From 4f3ee057180c3458502e1119d3035ebfa18ca9d7 Mon Sep 17 00:00:00 2001 From: Adrian Riobo Date: Thu, 11 Dec 2025 16:25:48 +0100 Subject: [PATCH] feat: IBM Cloud Support Signed-off-by: Adrian Riobo --- .claude/settings.local.json | 15 + .golangci.yml | 19 + Makefile | 6 +- README.md | 14 +- cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go | 93 + cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go | 93 + cmd/mapt/cmd/ibmcloud/ibmcloud.go | 35 + cmd/mapt/cmd/root.go | 4 +- docs/ibmcloud/ibm-power.md | 55 + docs/ibmcloud/ibm-z.md | 55 + go.mod | 29 + go.sum | 59 +- oci/Containerfile | 7 + .../ibmcloud/action/ibm-power/cloud-config | 11 + .../ibmcloud/action/ibm-power/ibm-power.go | 264 + pkg/provider/ibmcloud/action/ibm-z/ibm-z.go | 191 + pkg/provider/ibmcloud/constants/constants.go | 8 + pkg/provider/ibmcloud/data/piimages.go | 60 + pkg/provider/ibmcloud/data/vpcimages.go | 71 + pkg/provider/ibmcloud/ibmcloud.go | 88 + .../ibmcloud/modules/compute/compute.go | 167 + .../ibmcloud/modules/network/network.go | 133 + pkg/provider/ibmcloud/services/power/power.go | 92 + .../IBM-Cloud/power-go-client/LICENSE | 201 + .../clients/instance/Development.md | 34 + .../clients/instance/ibm-pi-clonevolumes.go | 141 + .../instance/ibm-pi-cloud-connection.go | 187 + .../clients/instance/ibm-pi-cloud-instance.go | 66 + .../clients/instance/ibm-pi-datacenters.go | 75 + .../clients/instance/ibm-pi-dhcp.go | 81 + .../clients/instance/ibm-pi-dr-location.go | 53 + .../clients/instance/ibm-pi-helper.go | 25 + .../clients/instance/ibm-pi-host-groups.go | 197 + .../clients/instance/ibm-pi-image.go | 225 + .../instance/ibm-pi-instance-networks.go | 57 + .../clients/instance/ibm-pi-instance.go | 315 + .../clients/instance/ibm-pi-job.go | 66 + .../clients/instance/ibm-pi-key.go | 88 + .../instance/ibm-pi-network-address-group.go | 142 + .../clients/instance/ibm-pi-network-peers.go | 164 + .../instance/ibm-pi-network-security-group.go | 184 + .../clients/instance/ibm-pi-network.go | 276 + .../instance/ibm-pi-placement-groups.go | 113 + .../clients/instance/ibm-pi-routes.go | 116 + .../clients/instance/ibm-pi-sap-instance.go | 107 + .../instance/ibm-pi-shared-processor-pool.go | 100 + .../clients/instance/ibm-pi-snapshot.go | 155 + .../instance/ibm-pi-spp-placement-groups.go | 113 + .../clients/instance/ibm-pi-ssh-key.go | 98 + .../instance/ibm-pi-storage-capacity.go | 83 + .../clients/instance/ibm-pi-storage-tiers.go | 39 + .../clients/instance/ibm-pi-system-pools.go | 55 + .../clients/instance/ibm-pi-tasks.go | 47 + .../clients/instance/ibm-pi-tenant.go | 53 + .../instance/ibm-pi-virtual-serial-number.go | 141 + .../clients/instance/ibm-pi-volume-group.go | 174 + .../instance/ibm-pi-volume-onboarding.go | 69 + .../clients/instance/ibm-pi-volume.go | 301 + .../clients/instance/ibm-pi-vpmem.go | 77 + .../clients/instance/ibm-pi-vpn-policy.go | 202 + .../clients/instance/ibm-pi-vpn.go | 214 + .../clients/instance/ibm-pi-workspaces.go | 151 + .../power-go-client/errors/errors.go | 218 + .../power-go-client/helpers/constants.go | 254 + .../IBM-Cloud/power-go-client/helpers/env.go | 18 + .../power-go-client/ibmpisession/logger.go | 81 + .../power-go-client/ibmpisession/session.go | 142 + .../power-go-client/ibmpisession/utils.go | 124 + .../authentication/authentication_client.go | 518 + ...service_broker_auth_callback_parameters.go | 128 + .../service_broker_auth_callback_responses.go | 487 + ...broker_auth_device_code_post_parameters.go | 128 + ..._broker_auth_device_code_post_responses.go | 487 + ...roker_auth_device_token_post_parameters.go | 149 + ...broker_auth_device_token_post_responses.go | 603 + ...rvice_broker_auth_info_token_parameters.go | 128 + ...ervice_broker_auth_info_token_responses.go | 487 + ...ervice_broker_auth_info_user_parameters.go | 128 + ...service_broker_auth_info_user_responses.go | 487 + .../service_broker_auth_login_parameters.go | 244 + .../service_broker_auth_login_responses.go | 487 + .../service_broker_auth_logout_parameters.go | 128 + .../service_broker_auth_logout_responses.go | 485 + ...r_auth_registration_callback_parameters.go | 128 + ...er_auth_registration_callback_responses.go | 487 + ...ice_broker_auth_registration_parameters.go | 317 + ...vice_broker_auth_registration_responses.go | 487 + ...rvice_broker_auth_token_post_parameters.go | 153 + ...ervice_broker_auth_token_post_responses.go | 563 + ...bluemix_service_instance_get_parameters.go | 151 + .../bluemix_service_instance_get_responses.go | 411 + ...bluemix_service_instance_put_parameters.go | 175 + .../bluemix_service_instance_put_responses.go | 411 + .../bluemix_service_instances_client.go | 157 + .../power/client/catalog/catalog_client.go | 111 + .../client/catalog/catalog_get_parameters.go | 151 + .../client/catalog/catalog_get_responses.go | 411 + .../client/datacenters/datacenters_client.go | 247 + .../v1_datacenters_get_parameters.go | 151 + .../v1_datacenters_get_responses.go | 411 + .../v1_datacenters_getall_parameters.go | 128 + .../v1_datacenters_getall_responses.go | 411 + .../v1_datacenters_private_get_parameters.go | 151 + .../v1_datacenters_private_get_responses.go | 411 + ...1_datacenters_private_getall_parameters.go | 128 + ...v1_datacenters_private_getall_responses.go | 411 + .../hardware_platforms_client.go | 110 + ...broker_hardwareplatforms_get_parameters.go | 163 + ..._broker_hardwareplatforms_get_responses.go | 485 + .../client/host_groups/host_groups_client.go | 525 + .../v1_available_hosts_parameters.go | 128 + .../v1_available_hosts_responses.go | 485 + .../v1_host_groups_get_parameters.go | 128 + .../v1_host_groups_get_responses.go | 485 + .../v1_host_groups_id_get_parameters.go | 151 + .../v1_host_groups_id_get_responses.go | 563 + .../v1_host_groups_id_put_parameters.go | 175 + .../v1_host_groups_id_put_responses.go | 639 + .../v1_host_groups_post_parameters.go | 153 + .../v1_host_groups_post_responses.go | 639 + .../host_groups/v1_hosts_get_parameters.go | 161 + .../host_groups/v1_hosts_get_responses.go | 485 + .../v1_hosts_id_delete_parameters.go | 151 + .../v1_hosts_id_delete_responses.go | 561 + .../host_groups/v1_hosts_id_get_parameters.go | 183 + .../host_groups/v1_hosts_id_get_responses.go | 563 + .../host_groups/v1_hosts_id_put_parameters.go | 175 + .../host_groups/v1_hosts_id_put_responses.go | 639 + .../host_groups/v1_hosts_post_parameters.go | 153 + .../host_groups/v1_hosts_post_responses.go | 561 + .../iaas_service_broker_client.go | 246 + .../service_broker_health_head_parameters.go | 128 + .../service_broker_health_head_responses.go | 411 + .../service_broker_health_parameters.go | 128 + .../service_broker_health_responses.go | 411 + .../service_broker_test_timeout_parameters.go | 157 + .../service_broker_test_timeout_responses.go | 409 + .../service_broker_version_parameters.go | 128 + .../service_broker_version_responses.go | 411 + .../internal_capacity_management_client.go | 111 + ...l_v1_capacity_management_put_parameters.go | 153 + ...al_v1_capacity_management_put_responses.go | 411 + ...ernal_operations_dedicated_hosts_client.go | 157 + ...ations_dedicatedhosts_delete_parameters.go | 217 + ...rations_dedicatedhosts_delete_responses.go | 625 + ...erations_dedicatedhosts_post_parameters.go | 219 + ...perations_dedicatedhosts_post_responses.go | 487 + .../internal_operations_images_client.go | 157 + ..._v1_operations_images_delete_parameters.go | 217 + ...l_v1_operations_images_delete_responses.go | 625 + ...al_v1_operations_images_post_parameters.go | 219 + ...nal_v1_operations_images_post_responses.go | 487 + ...perations_network_address_groups_client.go | 157 + ..._networkaddressgroups_delete_parameters.go | 217 + ...s_networkaddressgroups_delete_responses.go | 625 + ...ns_networkaddressgroups_post_parameters.go | 219 + ...ons_networkaddressgroups_post_responses.go | 487 + ...al_operations_network_interfaces_client.go | 157 + ...ons_networkinterfaces_delete_parameters.go | 217 + ...ions_networkinterfaces_delete_responses.go | 625 + ...tions_networkinterfaces_post_parameters.go | 219 + ...ations_networkinterfaces_post_responses.go | 487 + ...erations_network_security_groups_client.go | 157 + ...networksecuritygroups_delete_parameters.go | 217 + ..._networksecuritygroups_delete_responses.go | 625 + ...s_networksecuritygroups_post_parameters.go | 219 + ...ns_networksecuritygroups_post_responses.go | 487 + .../internal_operations_networks_client.go | 157 + ...1_operations_networks_delete_parameters.go | 217 + ...v1_operations_networks_delete_responses.go | 625 + ..._v1_operations_networks_post_parameters.go | 219 + ...l_v1_operations_networks_post_responses.go | 487 + ...nternal_operations_pvm_instances_client.go | 157 + ...erations_pvminstances_delete_parameters.go | 217 + ...perations_pvminstances_delete_responses.go | 625 + ...operations_pvminstances_post_parameters.go | 219 + ..._operations_pvminstances_post_responses.go | 487 + ...perations_shared_processor_pools_client.go | 157 + ..._sharedprocessorpools_delete_parameters.go | 217 + ...s_sharedprocessorpools_delete_responses.go | 625 + ...ns_sharedprocessorpools_post_parameters.go | 219 + ...ons_sharedprocessorpools_post_responses.go | 487 + .../internal_operations_snapshots_client.go | 157 + ..._operations_snapshots_delete_parameters.go | 217 + ...1_operations_snapshots_delete_responses.go | 625 + ...v1_operations_snapshots_post_parameters.go | 219 + ..._v1_operations_snapshots_post_responses.go | 487 + ...nternal_operationsvp_mem_volumes_client.go | 157 + ...rations_vpmem_volumes_delete_parameters.go | 217 + ...erations_vpmem_volumes_delete_responses.go | 625 + ...perations_vpmem_volumes_post_parameters.go | 219 + ...operations_vpmem_volumes_post_responses.go | 487 + .../internal_operations_volumes_client.go | 157 + ...v1_operations_volumes_delete_parameters.go | 217 + ..._v1_operations_volumes_delete_responses.go | 625 + ...l_v1_operations_volumes_post_parameters.go | 219 + ...al_v1_operations_volumes_post_responses.go | 487 + .../internal_powervs_instances_client.go | 111 + ...nal_v1_powervs_instances_get_parameters.go | 163 + ...rnal_v1_powervs_instances_get_responses.go | 259 + .../internal_powervs_locations_client.go | 249 + ...wervs_locations_activate_put_parameters.go | 153 + ...owervs_locations_activate_put_responses.go | 411 + ...powervs_locations_tag_delete_parameters.go | 153 + ..._powervs_locations_tag_delete_responses.go | 397 + ...1_powervs_locations_tag_post_parameters.go | 153 + ...v1_powervs_locations_tag_post_responses.go | 397 + ...locations_transitgateway_get_parameters.go | 128 + ..._locations_transitgateway_get_responses.go | 259 + .../internal_storage_regions_client.go | 295 + ...ge_regions_storage_pools_get_parameters.go | 173 + ...age_regions_storage_pools_get_responses.go | 409 + ...regions_storage_pools_getall_parameters.go | 151 + ..._regions_storage_pools_getall_responses.go | 409 + ...ge_regions_storage_pools_put_parameters.go | 197 + ...age_regions_storage_pools_put_responses.go | 487 + ...orage_regions_thresholds_get_parameters.go | 151 + ...torage_regions_thresholds_get_responses.go | 411 + ...orage_regions_thresholds_put_parameters.go | 175 + ...torage_regions_thresholds_put_responses.go | 563 + .../internal_transit_gateway_client.go | 111 + ...ternal_v1_transitgateway_get_parameters.go | 173 + ...nternal_v1_transitgateway_get_responses.go | 183 + .../network_address_groups_client.go | 387 + ...1_network_address_groups_get_parameters.go | 128 + ...v1_network_address_groups_get_responses.go | 487 + ...ork_address_groups_id_delete_parameters.go | 151 + ...work_address_groups_id_delete_responses.go | 561 + ...etwork_address_groups_id_get_parameters.go | 151 + ...network_address_groups_id_get_responses.go | 487 + ...etwork_address_groups_id_put_parameters.go | 175 + ...network_address_groups_id_put_responses.go | 487 + ...ddress_groups_members_delete_parameters.go | 173 + ...address_groups_members_delete_responses.go | 561 + ..._address_groups_members_post_parameters.go | 175 + ...k_address_groups_members_post_responses.go | 639 + ..._network_address_groups_post_parameters.go | 153 + ...1_network_address_groups_post_responses.go | 715 + .../network_peers/network_peers_client.go | 479 + .../v1_network_peers_getall_parameters.go | 128 + .../v1_network_peers_getall_responses.go | 563 + .../v1_network_peers_id_delete_parameters.go | 151 + .../v1_network_peers_id_delete_responses.go | 561 + .../v1_network_peers_id_get_parameters.go | 151 + .../v1_network_peers_id_get_responses.go | 563 + .../v1_network_peers_id_put_parameters.go | 175 + .../v1_network_peers_id_put_responses.go | 563 + ...work_peers_interfaces_getall_parameters.go | 128 + ...twork_peers_interfaces_getall_responses.go | 561 + .../v1_network_peers_post_parameters.go | 153 + .../v1_network_peers_post_responses.go | 563 + ...peers_route_filter_id_delete_parameters.go | 173 + ..._peers_route_filter_id_delete_responses.go | 561 + ...rk_peers_route_filter_id_get_parameters.go | 173 + ...ork_peers_route_filter_id_get_responses.go | 563 + ...ork_peers_route_filters_post_parameters.go | 175 + ...work_peers_route_filters_post_responses.go | 563 + .../network_security_groups_client.go | 617 + ..._security_groups_action_post_parameters.go | 153 + ...k_security_groups_action_post_responses.go | 711 + ...rk_security_groups_id_delete_parameters.go | 151 + ...ork_security_groups_id_delete_responses.go | 561 + ...twork_security_groups_id_get_parameters.go | 151 + ...etwork_security_groups_id_get_responses.go | 487 + ...work_security_groups_id_post_parameters.go | 175 + ...twork_security_groups_id_post_responses.go | 487 + ...twork_security_groups_id_put_parameters.go | 175 + ...etwork_security_groups_id_put_responses.go | 487 + ...network_security_groups_list_parameters.go | 161 + ..._network_security_groups_list_responses.go | 487 + ...curity_groups_members_delete_parameters.go | 173 + ...ecurity_groups_members_delete_responses.go | 561 + ...security_groups_members_post_parameters.go | 175 + ..._security_groups_members_post_responses.go | 639 + ...rity_groups_move_member_post_parameters.go | 175 + ...urity_groups_move_member_post_responses.go | 487 + ...network_security_groups_post_parameters.go | 153 + ..._network_security_groups_post_responses.go | 715 + ...security_groups_rules_delete_parameters.go | 173 + ..._security_groups_rules_delete_responses.go | 561 + ...k_security_groups_rules_post_parameters.go | 175 + ...rk_security_groups_rules_post_responses.go | 639 + .../power/client/networks/networks_client.go | 295 + ...ks_network_interfaces_delete_parameters.go | 173 + ...rks_network_interfaces_delete_responses.go | 561 + ...works_network_interfaces_get_parameters.go | 173 + ...tworks_network_interfaces_get_responses.go | 487 + ...ks_network_interfaces_getall_parameters.go | 151 + ...rks_network_interfaces_getall_responses.go | 487 + ...orks_network_interfaces_post_parameters.go | 175 + ...works_network_interfaces_post_responses.go | 639 + ...works_network_interfaces_put_parameters.go | 197 + ...tworks_network_interfaces_put_responses.go | 563 + .../client/open_stacks/open_stacks_client.go | 295 + ...ervice_broker_openstacks_get_parameters.go | 128 + ...service_broker_openstacks_get_responses.go | 487 + ..._broker_openstacks_hosts_get_parameters.go | 173 + ...e_broker_openstacks_hosts_get_responses.go | 335 + ...ker_openstacks_openstack_get_parameters.go | 151 + ...oker_openstacks_openstack_get_responses.go | 487 + ...rvice_broker_openstacks_post_parameters.go | 153 + ...ervice_broker_openstacks_post_responses.go | 715 + ...roker_openstacks_servers_get_parameters.go | 173 + ...broker_openstacks_servers_get_responses.go | 487 + .../p_cloud_cloud_connections_client.go | 435 + ...loud_cloudconnections_delete_parameters.go | 173 + ...cloud_cloudconnections_delete_responses.go | 713 + .../pcloud_cloudconnections_get_parameters.go | 173 + .../pcloud_cloudconnections_get_responses.go | 563 + ...loud_cloudconnections_getall_parameters.go | 151 + ...cloud_cloudconnections_getall_responses.go | 563 + ...dconnections_networks_delete_parameters.go | 195 + ...udconnections_networks_delete_responses.go | 713 + ...loudconnections_networks_put_parameters.go | 195 + ...cloudconnections_networks_put_responses.go | 713 + ...pcloud_cloudconnections_post_parameters.go | 175 + .../pcloud_cloudconnections_post_responses.go | 1095 + .../pcloud_cloudconnections_put_parameters.go | 197 + .../pcloud_cloudconnections_put_responses.go | 943 + ..._virtualprivateclouds_getall_parameters.go | 151 + ...s_virtualprivateclouds_getall_responses.go | 715 + .../p_cloud_disaster_recovery_client.go | 157 + ...cations_disasterrecovery_get_parameters.go | 151 + ...ocations_disasterrecovery_get_responses.go | 487 + ...ions_disasterrecovery_getall_parameters.go | 128 + ...tions_disasterrecovery_getall_responses.go | 487 + .../p_cloud_events/p_cloud_events_client.go | 157 + .../pcloud_events_get_parameters.go | 198 + .../pcloud_events_get_responses.go | 487 + .../pcloud_events_getquery_parameters.go | 278 + .../pcloud_events_getquery_responses.go | 487 + .../p_cloud_images/p_cloud_images_client.go | 675 + ...cloudinstances_images_delete_parameters.go | 173 + ..._cloudinstances_images_delete_responses.go | 561 + ...instances_images_export_post_parameters.go | 197 + ...dinstances_images_export_post_responses.go | 561 + ...ud_cloudinstances_images_get_parameters.go | 173 + ...oud_cloudinstances_images_get_responses.go | 487 + ...cloudinstances_images_getall_parameters.go | 151 + ..._cloudinstances_images_getall_responses.go | 487 + ...d_cloudinstances_images_post_parameters.go | 175 + ...ud_cloudinstances_images_post_responses.go | 715 + ...oudinstances_stockimages_get_parameters.go | 173 + ...loudinstances_stockimages_get_responses.go | 487 + ...instances_stockimages_getall_parameters.go | 220 + ...dinstances_stockimages_getall_responses.go | 487 + .../pcloud_images_get_parameters.go | 151 + .../pcloud_images_get_responses.go | 487 + .../pcloud_images_getall_parameters.go | 198 + .../pcloud_images_getall_responses.go | 487 + ...cloudinstances_cosimages_get_parameters.go | 151 + ..._cloudinstances_cosimages_get_responses.go | 487 + ...loudinstances_cosimages_post_parameters.go | 175 + ...cloudinstances_cosimages_post_responses.go | 639 + .../pcloud_v2_images_export_get_parameters.go | 173 + .../pcloud_v2_images_export_get_responses.go | 487 + ...pcloud_v2_images_export_post_parameters.go | 197 + .../pcloud_v2_images_export_post_responses.go | 639 + .../p_cloud_instances_client.go | 249 + ...pcloud_cloudinstances_delete_parameters.go | 151 + .../pcloud_cloudinstances_delete_responses.go | 561 + .../pcloud_cloudinstances_get_parameters.go | 151 + .../pcloud_cloudinstances_get_responses.go | 487 + .../pcloud_cloudinstances_put_parameters.go | 175 + .../pcloud_cloudinstances_put_responses.go | 563 + ...dinstances_shared_images_put_parameters.go | 175 + ...udinstances_shared_images_put_responses.go | 639 + .../p_cloud_jobs/p_cloud_jobs_client.go | 203 + ...d_cloudinstances_jobs_delete_parameters.go | 173 + ...ud_cloudinstances_jobs_delete_responses.go | 561 + ...loud_cloudinstances_jobs_get_parameters.go | 173 + ...cloud_cloudinstances_jobs_get_responses.go | 487 + ...d_cloudinstances_jobs_getall_parameters.go | 253 + ...ud_cloudinstances_jobs_getall_responses.go | 487 + .../p_cloud_networks_client.go | 535 + .../pcloud_networks_delete_parameters.go | 173 + .../pcloud_networks_delete_responses.go | 637 + .../pcloud_networks_get_parameters.go | 173 + .../pcloud_networks_get_responses.go | 487 + .../pcloud_networks_getall_parameters.go | 185 + .../pcloud_networks_getall_responses.go | 487 + ...pcloud_networks_ports_delete_parameters.go | 195 + .../pcloud_networks_ports_delete_responses.go | 561 + .../pcloud_networks_ports_get_parameters.go | 195 + .../pcloud_networks_ports_get_responses.go | 487 + ...pcloud_networks_ports_getall_parameters.go | 173 + .../pcloud_networks_ports_getall_responses.go | 487 + .../pcloud_networks_ports_post_parameters.go | 197 + .../pcloud_networks_ports_post_responses.go | 639 + .../pcloud_networks_ports_put_parameters.go | 219 + .../pcloud_networks_ports_put_responses.go | 563 + .../pcloud_networks_post_parameters.go | 175 + .../pcloud_networks_post_responses.go | 791 + .../pcloud_networks_put_parameters.go | 197 + .../pcloud_networks_put_responses.go | 563 + .../p_cloudp_vm_instances_client.go | 1085 + ...oud_pvminstances_action_post_parameters.go | 197 + ...loud_pvminstances_action_post_responses.go | 561 + ...ud_pvminstances_capture_post_parameters.go | 197 + ...oud_pvminstances_capture_post_responses.go | 711 + ...loud_pvminstances_clone_post_parameters.go | 197 + ...cloud_pvminstances_clone_post_responses.go | 715 + ...oud_pvminstances_console_get_parameters.go | 173 + ...loud_pvminstances_console_get_responses.go | 487 + ...ud_pvminstances_console_post_parameters.go | 173 + ...oud_pvminstances_console_post_responses.go | 639 + ...oud_pvminstances_console_put_parameters.go | 197 + ...loud_pvminstances_console_put_responses.go | 563 + .../pcloud_pvminstances_delete_parameters.go | 232 + .../pcloud_pvminstances_delete_responses.go | 637 + .../pcloud_pvminstances_get_parameters.go | 173 + .../pcloud_pvminstances_get_responses.go | 487 + .../pcloud_pvminstances_getall_parameters.go | 151 + .../pcloud_pvminstances_getall_responses.go | 563 + ...pvminstances_networks_delete_parameters.go | 219 + ..._pvminstances_networks_delete_responses.go | 637 + ...ud_pvminstances_networks_get_parameters.go | 195 + ...oud_pvminstances_networks_get_responses.go | 487 + ...pvminstances_networks_getall_parameters.go | 173 + ..._pvminstances_networks_getall_responses.go | 487 + ...d_pvminstances_networks_post_parameters.go | 197 + ...ud_pvminstances_networks_post_responses.go | 639 + ...pvminstances_operations_post_parameters.go | 197 + ..._pvminstances_operations_post_responses.go | 637 + .../pcloud_pvminstances_post_parameters.go | 210 + .../pcloud_pvminstances_post_responses.go | 861 + .../pcloud_pvminstances_put_parameters.go | 197 + .../pcloud_pvminstances_put_responses.go | 639 + ...vminstances_snapshots_getall_parameters.go | 173 + ...pvminstances_snapshots_getall_responses.go | 487 + ..._pvminstances_snapshots_post_parameters.go | 197 + ...d_pvminstances_snapshots_post_responses.go | 639 + ...ances_snapshots_restore_post_parameters.go | 253 + ...tances_snapshots_restore_post_responses.go | 563 + ..._v2_pvminstances_capture_get_parameters.go | 173 + ...d_v2_pvminstances_capture_get_responses.go | 487 + ...v2_pvminstances_capture_post_parameters.go | 197 + ..._v2_pvminstances_capture_post_responses.go | 639 + ...cloud_v2_pvminstances_getall_parameters.go | 151 + ...pcloud_v2_pvminstances_getall_responses.go | 563 + .../p_cloud_placement_groups_client.go | 341 + ...cloud_placementgroups_delete_parameters.go | 173 + ...pcloud_placementgroups_delete_responses.go | 485 + .../pcloud_placementgroups_get_parameters.go | 173 + .../pcloud_placementgroups_get_responses.go | 487 + ...cloud_placementgroups_getall_parameters.go | 151 + ...pcloud_placementgroups_getall_responses.go | 487 + ...acementgroups_members_delete_parameters.go | 197 + ...lacementgroups_members_delete_responses.go | 639 + ...placementgroups_members_post_parameters.go | 197 + ..._placementgroups_members_post_responses.go | 639 + .../pcloud_placementgroups_post_parameters.go | 175 + .../pcloud_placementgroups_post_responses.go | 639 + .../p_cloud_pod_capacity_client.go | 113 + .../pcloud_podcapacity_get_parameters.go | 151 + .../pcloud_podcapacity_get_responses.go | 487 + .../client/p_cloud_s_a_p/p_cloudsap_client.go | 205 + .../pcloud_sap_get_parameters.go | 173 + .../p_cloud_s_a_p/pcloud_sap_get_responses.go | 487 + .../pcloud_sap_getall_parameters.go | 219 + .../pcloud_sap_getall_responses.go | 487 + .../pcloud_sap_post_parameters.go | 175 + .../pcloud_sap_post_responses.go | 785 + .../p_cloudspp_placement_groups_client.go | 341 + ...ud_sppplacementgroups_delete_parameters.go | 173 + ...oud_sppplacementgroups_delete_responses.go | 561 + ...cloud_sppplacementgroups_get_parameters.go | 173 + ...pcloud_sppplacementgroups_get_responses.go | 487 + ...ud_sppplacementgroups_getall_parameters.go | 151 + ...oud_sppplacementgroups_getall_responses.go | 487 + ...acementgroups_members_delete_parameters.go | 195 + ...lacementgroups_members_delete_responses.go | 563 + ...placementgroups_members_post_parameters.go | 195 + ...pplacementgroups_members_post_responses.go | 639 + ...loud_sppplacementgroups_post_parameters.go | 175 + ...cloud_sppplacementgroups_post_responses.go | 639 + .../p_cloud_servicedhcp_client.go | 249 + .../pcloud_dhcp_delete_parameters.go | 173 + .../pcloud_dhcp_delete_responses.go | 409 + .../pcloud_dhcp_get_parameters.go | 173 + .../pcloud_dhcp_get_responses.go | 487 + .../pcloud_dhcp_getall_parameters.go | 151 + .../pcloud_dhcp_getall_responses.go | 485 + .../pcloud_dhcp_post_parameters.go | 175 + .../pcloud_dhcp_post_responses.go | 487 + .../p_cloud_shared_processor_pools_client.go | 295 + ..._sharedprocessorpools_delete_parameters.go | 173 + ...d_sharedprocessorpools_delete_responses.go | 561 + ...oud_sharedprocessorpools_get_parameters.go | 173 + ...loud_sharedprocessorpools_get_responses.go | 487 + ..._sharedprocessorpools_getall_parameters.go | 151 + ...d_sharedprocessorpools_getall_responses.go | 487 + ...ud_sharedprocessorpools_post_parameters.go | 175 + ...oud_sharedprocessorpools_post_responses.go | 639 + ...oud_sharedprocessorpools_put_parameters.go | 197 + ...loud_sharedprocessorpools_put_responses.go | 487 + .../p_cloud_snapshots_client.go | 249 + ...udinstances_snapshots_delete_parameters.go | 173 + ...oudinstances_snapshots_delete_responses.go | 561 + ...cloudinstances_snapshots_get_parameters.go | 173 + ..._cloudinstances_snapshots_get_responses.go | 487 + ...udinstances_snapshots_getall_parameters.go | 151 + ...oudinstances_snapshots_getall_responses.go | 487 + ...cloudinstances_snapshots_put_parameters.go | 197 + ..._cloudinstances_snapshots_put_responses.go | 487 + .../p_cloud_storage_capacity_client.go | 249 + ...ud_storagecapacity_pools_get_parameters.go | 173 + ...oud_storagecapacity_pools_get_responses.go | 487 + ...storagecapacity_pools_getall_parameters.go | 151 + ..._storagecapacity_pools_getall_responses.go | 487 + ...ud_storagecapacity_types_get_parameters.go | 173 + ...oud_storagecapacity_types_get_responses.go | 487 + ...storagecapacity_types_getall_parameters.go | 151 + ..._storagecapacity_types_getall_responses.go | 487 + .../p_cloud_storage_tiers_client.go | 111 + ...nstances_storagetiers_getall_parameters.go | 151 + ...instances_storagetiers_getall_responses.go | 485 + .../p_cloud_system_pools_client.go | 111 + .../pcloud_systempools_get_parameters.go | 151 + .../pcloud_systempools_get_responses.go | 485 + .../p_cloud_tasks/p_cloud_tasks_client.go | 157 + .../pcloud_tasks_delete_parameters.go | 151 + .../pcloud_tasks_delete_responses.go | 561 + .../pcloud_tasks_get_parameters.go | 151 + .../pcloud_tasks_get_responses.go | 487 + .../p_cloud_tenants/p_cloud_tenants_client.go | 157 + .../pcloud_tenants_get_parameters.go | 151 + .../pcloud_tenants_get_responses.go | 487 + .../pcloud_tenants_put_parameters.go | 175 + .../pcloud_tenants_put_responses.go | 563 + .../p_cloud_tenants_ssh_keys_client.go | 295 + ...cloud_tenants_sshkeys_delete_parameters.go | 173 + ...pcloud_tenants_sshkeys_delete_responses.go | 561 + .../pcloud_tenants_sshkeys_get_parameters.go | 173 + .../pcloud_tenants_sshkeys_get_responses.go | 487 + ...cloud_tenants_sshkeys_getall_parameters.go | 151 + ...pcloud_tenants_sshkeys_getall_responses.go | 487 + .../pcloud_tenants_sshkeys_post_parameters.go | 175 + .../pcloud_tenants_sshkeys_post_responses.go | 715 + .../pcloud_tenants_sshkeys_put_parameters.go | 197 + .../pcloud_tenants_sshkeys_put_responses.go | 563 + .../p_cloudvp_mem_volumes_client.go | 253 + ...stances_vpmem_volumes_delete_parameters.go | 195 + ...nstances_vpmem_volumes_delete_responses.go | 561 + ...minstances_vpmem_volumes_get_parameters.go | 195 + ...vminstances_vpmem_volumes_get_responses.go | 487 + ...stances_vpmem_volumes_getall_parameters.go | 173 + ...nstances_vpmem_volumes_getall_responses.go | 487 + ...instances_vpmem_volumes_post_parameters.go | 197 + ...minstances_vpmem_volumes_post_responses.go | 639 + .../p_cloudvpn_connections_client.go | 593 + ...pcloud_vpnconnections_delete_parameters.go | 173 + .../pcloud_vpnconnections_delete_responses.go | 487 + .../pcloud_vpnconnections_get_parameters.go | 173 + .../pcloud_vpnconnections_get_responses.go | 563 + ...pcloud_vpnconnections_getall_parameters.go | 151 + .../pcloud_vpnconnections_getall_responses.go | 487 + ...nconnections_networks_delete_parameters.go | 197 + ...pnconnections_networks_delete_responses.go | 563 + ..._vpnconnections_networks_get_parameters.go | 173 + ...d_vpnconnections_networks_get_responses.go | 487 + ..._vpnconnections_networks_put_parameters.go | 197 + ...d_vpnconnections_networks_put_responses.go | 563 + ...nnections_peersubnets_delete_parameters.go | 197 + ...onnections_peersubnets_delete_responses.go | 563 + ...nconnections_peersubnets_get_parameters.go | 173 + ...pnconnections_peersubnets_get_responses.go | 487 + ...nconnections_peersubnets_put_parameters.go | 197 + ...pnconnections_peersubnets_put_responses.go | 563 + .../pcloud_vpnconnections_post_parameters.go | 175 + .../pcloud_vpnconnections_post_responses.go | 715 + .../pcloud_vpnconnections_put_parameters.go | 197 + .../pcloud_vpnconnections_put_responses.go | 563 + .../p_cloudvpn_policies_client.go | 545 + .../pcloud_ikepolicies_delete_parameters.go | 173 + .../pcloud_ikepolicies_delete_responses.go | 485 + .../pcloud_ikepolicies_get_parameters.go | 173 + .../pcloud_ikepolicies_get_responses.go | 563 + .../pcloud_ikepolicies_getall_parameters.go | 151 + .../pcloud_ikepolicies_getall_responses.go | 487 + .../pcloud_ikepolicies_post_parameters.go | 175 + .../pcloud_ikepolicies_post_responses.go | 563 + .../pcloud_ikepolicies_put_parameters.go | 197 + .../pcloud_ikepolicies_put_responses.go | 563 + .../pcloud_ipsecpolicies_delete_parameters.go | 173 + .../pcloud_ipsecpolicies_delete_responses.go | 485 + .../pcloud_ipsecpolicies_get_parameters.go | 173 + .../pcloud_ipsecpolicies_get_responses.go | 563 + .../pcloud_ipsecpolicies_getall_parameters.go | 151 + .../pcloud_ipsecpolicies_getall_responses.go | 487 + .../pcloud_ipsecpolicies_post_parameters.go | 175 + .../pcloud_ipsecpolicies_post_responses.go | 639 + .../pcloud_ipsecpolicies_put_parameters.go | 197 + .../pcloud_ipsecpolicies_put_responses.go | 639 + .../p_cloud_virtual_serial_number_client.go | 435 + ...s_virtualserialnumber_delete_parameters.go | 197 + ...es_virtualserialnumber_delete_responses.go | 561 + ...nces_virtualserialnumber_get_parameters.go | 173 + ...ances_virtualserialnumber_get_responses.go | 487 + ...ces_virtualserialnumber_post_parameters.go | 197 + ...nces_virtualserialnumber_post_responses.go | 639 + ...nces_virtualserialnumber_put_parameters.go | 197 + ...ances_virtualserialnumber_put_responses.go | 639 + ...d_virtualserialnumber_delete_parameters.go | 151 + ...ud_virtualserialnumber_delete_responses.go | 561 + ...loud_virtualserialnumber_get_parameters.go | 151 + ...cloud_virtualserialnumber_get_responses.go | 487 + ...d_virtualserialnumber_getall_parameters.go | 163 + ...ud_virtualserialnumber_getall_responses.go | 485 + ...loud_virtualserialnumber_put_parameters.go | 175 + ...cloud_virtualserialnumber_put_responses.go | 563 + ...lnumber_softwaretiers_getall_parameters.go | 128 + ...alnumber_softwaretiers_getall_responses.go | 409 + .../p_cloud_volume_groups_client.go | 527 + ...oud_volumegroups_action_post_parameters.go | 197 + ...loud_volumegroups_action_post_responses.go | 561 + .../pcloud_volumegroups_delete_parameters.go | 173 + .../pcloud_volumegroups_delete_responses.go | 485 + ...oud_volumegroups_get_details_parameters.go | 173 + ...loud_volumegroups_get_details_responses.go | 487 + .../pcloud_volumegroups_get_parameters.go | 173 + .../pcloud_volumegroups_get_responses.go | 487 + ..._volumegroups_getall_details_parameters.go | 151 + ...d_volumegroups_getall_details_responses.go | 487 + .../pcloud_volumegroups_getall_parameters.go | 151 + .../pcloud_volumegroups_getall_responses.go | 487 + .../pcloud_volumegroups_post_parameters.go | 175 + .../pcloud_volumegroups_post_responses.go | 791 + .../pcloud_volumegroups_put_parameters.go | 197 + .../pcloud_volumegroups_put_responses.go | 637 + ...emote_copy_relationships_get_parameters.go | 173 + ...remote_copy_relationships_get_responses.go | 563 + ...megroups_storage_details_get_parameters.go | 173 + ...umegroups_storage_details_get_responses.go | 563 + .../p_cloud_volume_onboarding_client.go | 203 + ...pcloud_volume_onboarding_get_parameters.go | 173 + .../pcloud_volume_onboarding_get_responses.go | 487 + ...oud_volume_onboarding_getall_parameters.go | 151 + ...loud_volume_onboarding_getall_responses.go | 487 + ...cloud_volume_onboarding_post_parameters.go | 175 + ...pcloud_volume_onboarding_post_responses.go | 563 + .../p_cloud_volumes/p_cloud_volumes_client.go | 1428 + ...nstances_volumes_action_post_parameters.go | 197 + ...instances_volumes_action_post_responses.go | 561 + ...loudinstances_volumes_delete_parameters.go | 173 + ...cloudinstances_volumes_delete_responses.go | 561 + ...umes_flash_copy_mappings_get_parameters.go | 173 + ...lumes_flash_copy_mappings_get_responses.go | 561 + ...d_cloudinstances_volumes_get_parameters.go | 173 + ...ud_cloudinstances_volumes_get_responses.go | 487 + ...loudinstances_volumes_getall_parameters.go | 254 + ...cloudinstances_volumes_getall_responses.go | 487 + ..._cloudinstances_volumes_post_parameters.go | 175 + ...d_cloudinstances_volumes_post_responses.go | 639 + ...d_cloudinstances_volumes_put_parameters.go | 197 + ...ud_cloudinstances_volumes_put_responses.go | 639 + ...remote_copy_relationship_get_parameters.go | 173 + ..._remote_copy_relationship_get_responses.go | 563 + ..._pvminstances_volumes_delete_parameters.go | 195 + ...d_pvminstances_volumes_delete_responses.go | 561 + ...oud_pvminstances_volumes_get_parameters.go | 195 + ...loud_pvminstances_volumes_get_responses.go | 487 + ..._pvminstances_volumes_getall_parameters.go | 173 + ...d_pvminstances_volumes_getall_responses.go | 487 + ...ud_pvminstances_volumes_post_parameters.go | 195 + ...oud_pvminstances_volumes_post_responses.go | 561 + ...oud_pvminstances_volumes_put_parameters.go | 219 + ...loud_pvminstances_volumes_put_responses.go | 561 + ...nstances_volumes_setboot_put_parameters.go | 195 + ...instances_volumes_setboot_put_responses.go | 561 + ..._pvminstances_volumes_delete_parameters.go | 197 + ...2_pvminstances_volumes_delete_responses.go | 563 + ...v2_pvminstances_volumes_post_parameters.go | 197 + ..._v2_pvminstances_volumes_post_responses.go | 563 + ...pcloud_v2_volumes_clone_post_parameters.go | 175 + .../pcloud_v2_volumes_clone_post_responses.go | 563 + ...ud_v2_volumes_clonetasks_get_parameters.go | 173 + ...oud_v2_volumes_clonetasks_get_responses.go | 563 + .../pcloud_v2_volumes_delete_parameters.go | 175 + .../pcloud_v2_volumes_delete_responses.go | 639 + .../pcloud_v2_volumes_getall_parameters.go | 175 + .../pcloud_v2_volumes_getall_responses.go | 487 + .../pcloud_v2_volumes_post_parameters.go | 175 + .../pcloud_v2_volumes_post_responses.go | 639 + ..._v2_volumesclone_cancel_post_parameters.go | 197 + ...d_v2_volumesclone_cancel_post_responses.go | 487 + ...cloud_v2_volumesclone_delete_parameters.go | 173 + ...pcloud_v2_volumesclone_delete_responses.go | 485 + ...v2_volumesclone_execute_post_parameters.go | 197 + ..._v2_volumesclone_execute_post_responses.go | 487 + .../pcloud_v2_volumesclone_get_parameters.go | 173 + .../pcloud_v2_volumesclone_get_responses.go | 487 + ...cloud_v2_volumesclone_getall_parameters.go | 194 + ...pcloud_v2_volumesclone_getall_responses.go | 487 + .../pcloud_v2_volumesclone_post_parameters.go | 175 + .../pcloud_v2_volumesclone_post_responses.go | 563 + ...d_v2_volumesclone_start_post_parameters.go | 173 + ...ud_v2_volumesclone_start_post_responses.go | 487 + .../pcloud_volumes_clone_post_parameters.go | 175 + .../pcloud_volumes_clone_post_responses.go | 563 + .../power_edge_router_client.go | 111 + ..._poweredgerouter_action_post_parameters.go | 175 + ...1_poweredgerouter_action_post_responses.go | 561 + .../power/client/power_iaas_api_client.go | 432 + .../power/client/routes/routes_client.go | 341 + .../routes/v1_routes_delete_parameters.go | 151 + .../routes/v1_routes_delete_responses.go | 561 + .../client/routes/v1_routes_get_parameters.go | 151 + .../client/routes/v1_routes_get_responses.go | 487 + .../routes/v1_routes_getall_parameters.go | 128 + .../routes/v1_routes_getall_responses.go | 487 + .../routes/v1_routes_post_parameters.go | 153 + .../client/routes/v1_routes_post_responses.go | 639 + .../client/routes/v1_routes_put_parameters.go | 175 + .../client/routes/v1_routes_put_responses.go | 563 + .../routes/v1_routes_report_get_parameters.go | 128 + .../routes/v1_routes_report_get_responses.go | 487 + .../service_binding_binding_parameters.go | 279 + .../service_binding_binding_responses.go | 715 + .../service_binding_get_parameters.go | 220 + .../service_binding_get_responses.go | 411 + ...e_binding_last_operation_get_parameters.go | 297 + ...ce_binding_last_operation_get_responses.go | 487 + .../service_binding_unbinding_parameters.go | 309 + .../service_binding_unbinding_responses.go | 561 + .../service_bindings_client.go | 251 + ...service_instance_deprovision_parameters.go | 287 + .../service_instance_deprovision_responses.go | 637 + .../service_instance_get_parameters.go | 198 + .../service_instance_get_responses.go | 411 + ..._instance_last_operation_get_parameters.go | 275 + ...e_instance_last_operation_get_responses.go | 487 + .../service_instance_provision_parameters.go | 257 + .../service_instance_provision_responses.go | 715 + .../service_instance_update_parameters.go | 257 + .../service_instance_update_responses.go | 563 + .../service_instances_client.go | 297 + .../client/snapshots/snapshots_client.go | 265 + .../snapshots/v1_snapshots_get_parameters.go | 151 + .../snapshots/v1_snapshots_get_responses.go | 563 + .../v1_snapshots_getall_parameters.go | 128 + .../v1_snapshots_getall_responses.go | 487 + .../v1_volume_snapshots_get_parameters.go | 151 + .../v1_volume_snapshots_get_responses.go | 563 + .../v1_volume_snapshots_getall_parameters.go | 128 + .../v1_volume_snapshots_getall_responses.go | 487 + .../power/client/ssh_keys/ssh_keys_client.go | 295 + .../ssh_keys/v1_sshkeys_delete_parameters.go | 151 + .../ssh_keys/v1_sshkeys_delete_responses.go | 561 + .../ssh_keys/v1_sshkeys_get_parameters.go | 151 + .../ssh_keys/v1_sshkeys_get_responses.go | 487 + .../ssh_keys/v1_sshkeys_getall_parameters.go | 128 + .../ssh_keys/v1_sshkeys_getall_responses.go | 487 + .../ssh_keys/v1_sshkeys_post_parameters.go | 153 + .../ssh_keys/v1_sshkeys_post_responses.go | 639 + .../ssh_keys/v1_sshkeys_put_parameters.go | 175 + .../ssh_keys/v1_sshkeys_put_responses.go | 639 + ...vice_broker_storagetypes_get_parameters.go | 128 + ...rvice_broker_storagetypes_get_responses.go | 561 + .../storage_types/storage_types_client.go | 114 + .../service_broker_swaggerspec_parameters.go | 128 + .../service_broker_swaggerspec_responses.go | 409 + .../swagger_spec/swagger_spec_client.go | 110 + .../v1_workspaces_get_parameters.go | 151 + .../workspaces/v1_workspaces_get_responses.go | 563 + .../v1_workspaces_getall_parameters.go | 164 + .../v1_workspaces_getall_responses.go | 411 + .../client/workspaces/workspaces_client.go | 157 + .../power/models/access_config.go | 93 + .../power/models/access_role.go | 120 + .../power/models/access_token.go | 71 + .../power-go-client/power/models/add_host.go | 159 + .../add_server_virtual_serial_number.go | 74 + .../power/models/async_operation.go | 50 + .../models/auxiliary_volume_for_onboarding.go | 96 + .../auxiliary_volumes_for_onboarding.go | 150 + .../power/models/available_host.go | 124 + .../power/models/available_host_capacity.go | 177 + .../power/models/available_host_list.go | 72 + .../available_host_resource_capacity.go | 71 + .../power/models/available_stock_images.go | 78 + .../power-go-client/power/models/c_r_n.go | 27 + .../power/models/capabilities_details.go | 174 + .../power-go-client/power/models/catalog.go | 130 + .../power/models/clone_task_reference.go | 88 + .../power/models/clone_task_status.go | 210 + .../power/models/cloned_volume.go | 53 + .../power/models/cloned_volume_detail.go | 174 + .../power/models/cloud_connection.go | 427 + .../power/models/cloud_connection_create.go | 251 + .../cloud_connection_create_response.go | 174 + .../cloud_connection_endpoint_classic.go | 121 + ...loud_connection_endpoint_classic_update.go | 121 + .../models/cloud_connection_endpoint_v_p_c.go | 133 + .../models/cloud_connection_g_r_e_tunnel.go | 88 + .../cloud_connection_g_r_e_tunnel_create.go | 88 + .../power/models/cloud_connection_update.go | 229 + .../power/models/cloud_connection_v_p_c.go | 74 + ...cloud_connection_virtual_private_clouds.go | 240 + .../power/models/cloud_connections.go | 133 + .../power/models/cloud_initialization.go | 105 + .../power/models/cloud_instance.go | 369 + .../power/models/cloud_instance_create.go | 145 + .../power/models/cloud_instance_reference.go | 222 + .../models/cloud_instance_shared_images.go | 50 + .../power/models/cloud_instance_update.go | 62 + .../models/cloud_instance_usage_limits.go | 157 + .../power/models/console_language.go | 74 + .../power/models/console_languages.go | 133 + .../power-go-client/power/models/context.go | 11 + .../models/create_cos_image_import_job.go | 418 + .../power/models/create_data_volume.go | 222 + .../power/models/create_image.go | 310 + .../create_server_virtual_serial_number.go | 134 + .../power/models/create_workspace_ssh_key.go | 152 + .../power/models/d_h_c_p_server.go | 151 + .../power/models/d_h_c_p_server_create.go | 65 + .../power/models/d_h_c_p_server_detail.go | 222 + .../power/models/d_h_c_p_server_leases.go | 88 + .../power/models/d_h_c_p_server_network.go | 94 + .../power/models/d_h_c_p_servers.go | 87 + .../power/models/dashboard_client.go | 56 + .../power/models/datacenter.go | 304 + .../power/models/datacenter_location.go | 122 + .../power/models/datacenters.go | 133 + .../power/models/dead_peer_detection.go | 160 + .../delete_server_virtual_serial_number.go | 50 + .../power/models/deployment_target.go | 124 + .../power/models/device_code.go | 139 + .../power/models/disaster_recovery.go | 176 + .../models/disaster_recovery_location.go | 112 + .../models/disaster_recovery_locations.go | 133 + .../power-go-client/power/models/error.go | 59 + .../power-go-client/power/models/event.go | 288 + .../power/models/event_user.go | 77 + .../power-go-client/power/models/events.go | 133 + .../power/models/export_image.go | 97 + .../power/models/flash_copy_mapping.go | 106 + .../power/models/flash_copy_mappings.go | 87 + .../power/models/get_bulk_volume.go | 71 + .../get_server_virtual_serial_number.go | 148 + .../power/models/hardware_platform.go | 148 + .../power/models/hardware_platforms.go | 72 + .../power-go-client/power/models/health.go | 71 + .../power-go-client/power/models/host.go | 266 + .../power/models/host_capacity.go | 177 + .../power/models/host_create.go | 150 + .../power/models/host_group.go | 155 + .../power/models/host_group_create.go | 220 + .../power/models/host_group_list.go | 87 + .../power/models/host_group_share_op.go | 133 + .../power/models/host_group_summary.go | 56 + .../power-go-client/power/models/host_href.go | 27 + .../power-go-client/power/models/host_info.go | 281 + .../power-go-client/power/models/host_list.go | 87 + .../power/models/host_p_vm_instance.go | 202 + .../power-go-client/power/models/host_put.go | 86 + .../power/models/host_resource.go | 105 + .../power/models/host_resource_capacity.go | 122 + .../power/models/host_resources.go | 105 + .../power/models/i_k_e_policies.go | 133 + .../power/models/i_k_e_policy.go | 372 + .../models/i_k_e_policy_authentication.go | 85 + .../power/models/i_k_e_policy_create.go | 374 + .../power/models/i_k_e_policy_ref.go | 90 + .../power/models/i_k_e_policy_update.go | 517 + .../power-go-client/power/models/image.go | 508 + .../power/models/image_import_details.go | 205 + .../power/models/image_reference.go | 334 + .../power/models/image_specifications.go | 74 + .../power/models/image_volume.go | 122 + .../power-go-client/power/models/images.go | 133 + .../power/models/instance_capabilities.go | 69 + .../power/models/instance_capability.go | 27 + .../internal_capacity_management_request.go | 141 + .../internal_capacity_management_response.go | 74 + .../models/internal_operations_request.go | 106 + .../models/internal_operations_response.go | 113 + .../power/models/ip_address_range.go | 88 + .../models/ip_s_e_c_policy_authentication.go | 82 + .../power/models/ip_sec_policies.go | 133 + .../power/models/ip_sec_policy.go | 349 + .../power/models/ip_sec_policy_create.go | 334 + .../power/models/ip_sec_policy_ref.go | 90 + .../power/models/ip_sec_policy_update.go | 468 + .../power-go-client/power/models/job.go | 211 + .../power/models/job_reference.go | 88 + .../power-go-client/power/models/jobs.go | 133 + .../power/models/json_schema_object.go | 11 + .../power/models/key_lifetime.go | 43 + .../power/models/last_operation_resource.go | 116 + .../models/maximum_storage_allocation.go | 105 + .../power-go-client/power/models/metadata.go | 11 + .../power/models/min_max_default.go | 105 + .../power/models/multi_volumes_create.go | 225 + .../power-go-client/power/models/network.go | 972 + .../power/models/network_address_group.go | 232 + .../network_address_group_add_member.go | 71 + .../models/network_address_group_create.go | 127 + .../models/network_address_group_member.go | 88 + .../models/network_address_group_update.go | 50 + .../power/models/network_address_groups.go | 130 + .../models/network_address_translation.go | 53 + .../power/models/network_create.go | 480 + .../power/models/network_create_peer.go | 175 + .../power/models/network_i_ds.go | 51 + .../power/models/network_id.go | 72 + .../power/models/network_interface.go | 317 + .../power/models/network_interface_create.go | 56 + .../power/models/network_interface_update.go | 53 + .../power/models/network_interfaces.go | 133 + .../power/models/network_peer.go | 627 + .../power/models/network_peer_create.go | 339 + .../power/models/network_peer_type.go | 81 + .../power/models/network_peer_update.go | 241 + .../power/models/network_peers.go | 133 + .../power/models/network_port.go | 250 + .../power/models/network_port_create.go | 115 + .../power/models/network_port_update.go | 53 + .../power/models/network_ports.go | 133 + .../power/models/network_reference.go | 409 + .../power/models/network_security_group.go | 305 + .../network_security_group_add_member.go | 124 + .../models/network_security_group_add_rule.go | 463 + .../models/network_security_group_clone.go | 71 + .../models/network_security_group_create.go | 127 + .../models/network_security_group_member.go | 147 + .../network_security_group_move_member.go | 88 + .../models/network_security_group_rule.go | 362 + .../network_security_group_rule_port.go | 94 + .../network_security_group_rule_protocol.go | 250 + ...k_security_group_rule_protocol_tcp_flag.go | 111 + .../network_security_group_rule_remote.go | 111 + .../models/network_security_group_update.go | 50 + .../power/models/network_security_groups.go | 130 + .../models/network_security_groups_action.go | 107 + .../power/models/network_update.go | 244 + .../power-go-client/power/models/networks.go | 133 + .../power-go-client/power/models/object.go | 11 + .../power/models/open_stack.go | 139 + .../power/models/open_stack_create.go | 105 + .../power/models/open_stack_info.go | 150 + .../power/models/open_stacks.go | 133 + .../power-go-client/power/models/operation.go | 105 + .../power/models/operations.go | 229 + .../power/models/owner_info.go | 255 + .../power/models/p_vm_instance.go | 1218 + .../power/models/p_vm_instance_action.go | 125 + .../power/models/p_vm_instance_add_network.go | 77 + .../power/models/p_vm_instance_capture.go | 201 + .../power/models/p_vm_instance_clone.go | 275 + .../models/p_vm_instance_configuration.go | 318 + .../power/models/p_vm_instance_console.go | 71 + .../power/models/p_vm_instance_cores.go | 77 + .../power/models/p_vm_instance_create.go | 995 + .../power/models/p_vm_instance_delete.go | 50 + .../power/models/p_vm_instance_fault.go | 83 + .../power/models/p_vm_instance_health.go | 56 + .../power/models/p_vm_instance_list.go | 87 + .../power/models/p_vm_instance_memory.go | 77 + .../models/p_vm_instance_multi_create.go | 161 + .../power/models/p_vm_instance_network.go | 83 + .../power/models/p_vm_instance_networks.go | 133 + .../models/p_vm_instance_operating_system.go | 74 + .../power/models/p_vm_instance_operation.go | 170 + .../power/models/p_vm_instance_reference.go | 1128 + .../models/p_vm_instance_reference_v2.go | 927 + .../models/p_vm_instance_remove_network.go | 50 + .../power/models/p_vm_instance_update.go | 369 + .../models/p_vm_instance_update_response.go | 248 + .../power/models/p_vm_instance_v2_health.go | 71 + .../models/p_vm_instance_v2_network_port.go | 164 + .../models/p_vm_instance_virtual_cores.go | 82 + .../models/p_vm_instance_volume_update.go | 71 + .../power/models/p_vm_instances.go | 133 + .../power/models/p_vm_instances_v2.go | 133 + .../power/models/peer_gateway_address.go | 39 + .../power/models/peer_interface.go | 180 + .../power/models/peer_interfaces.go | 87 + .../power/models/peer_subnet_update.go | 72 + .../power/models/peer_subnets.go | 51 + .../power/models/peering_network.go | 91 + .../power/models/permissions.go | 105 + .../power/models/pin_policy.go | 81 + .../power/models/placement_group.go | 268 + .../power/models/placement_group_create.go | 180 + .../power/models/placement_group_server.go | 71 + .../power/models/placement_groups.go | 133 + .../power-go-client/power/models/plan.go | 179 + .../power/models/pod_capacity.go | 230 + .../power-go-client/power/models/pod_data.go | 224 + .../power/models/power_edge_router_action.go | 107 + .../power/models/power_v_s_instance.go | 280 + .../power/models/power_v_s_instances.go | 133 + .../power/models/pvm_instance_deployment.go | 119 + .../power/models/pvm_instance_host.go | 53 + .../models/pvm_instance_placement_group.go | 71 + .../power/models/region_storage_tiers.go | 87 + .../power/models/region_storage_types.go | 87 + .../power/models/remote_copy_relationship.go | 141 + .../models/remove_virtual_serial_number.go | 71 + .../power/models/replication_service.go | 150 + .../power/models/replication_sites.go | 87 + .../models/replication_target_location.go | 108 + .../power/models/resource_access.go | 72 + .../power/models/resource_target_info.go | 56 + .../power-go-client/power/models/route.go | 463 + .../power/models/route_create.go | 366 + .../power/models/route_filter.go | 367 + .../power/models/route_filter_create.go | 261 + .../power/models/route_report.go | 133 + .../power/models/route_report_route.go | 121 + .../power/models/route_update.go | 280 + .../power-go-client/power/models/routes.go | 133 + .../power/models/s_a_p_create.go | 576 + .../power/models/s_a_p_profile.go | 351 + .../power/models/s_a_p_profile_reference.go | 88 + .../power/models/s_a_p_profiles.go | 133 + .../power/models/s_p_p_placement_group.go | 218 + .../models/s_p_p_placement_group_create.go | 195 + .../power/models/s_p_p_placement_groups.go | 130 + .../power-go-client/power/models/s_r_c.go | 53 + .../power/models/satellite_order.go | 71 + .../power/models/satellite_registration.go | 108 + .../power/models/satellite_tag.go | 71 + .../power/models/schema_parameters.go | 50 + .../power/models/schemas_object.go | 177 + .../power-go-client/power/models/secondary.go | 74 + .../power-go-client/power/models/service.go | 325 + .../models/service_authentication_info.go | 207 + .../power/models/service_binding.go | 139 + .../power/models/service_binding_request.go | 162 + .../power/models/service_binding_resource.go | 142 + .../models/service_binding_resource_object.go | 53 + .../models/service_binding_schema_object.go | 118 + .../models/service_binding_volume_mount.go | 253 + .../service_binding_volume_mount_device.go | 74 + .../power/models/service_instance.go | 105 + .../service_instance_async_operation.go | 56 + .../service_instance_previous_values.go | 59 + .../models/service_instance_provision.go | 50 + .../service_instance_provision_request.go | 100 + .../power/models/service_instance_request.go | 77 + .../power/models/service_instance_resource.go | 59 + .../models/service_instance_schema_object.go | 177 + .../power/models/service_instance_update.go | 53 + .../models/service_instance_update_request.go | 145 + .../power/models/shared_processor_pool.go | 330 + .../models/shared_processor_pool_create.go | 167 + .../models/shared_processor_pool_detail.go | 190 + .../shared_processor_pool_placement_group.go | 105 + .../models/shared_processor_pool_server.go | 71 + .../models/shared_processor_pool_update.go | 53 + .../power/models/shared_processor_pools.go | 130 + .../power-go-client/power/models/site.go | 136 + .../power-go-client/power/models/snapshot.go | 237 + .../power/models/snapshot_create.go | 160 + .../power/models/snapshot_create_response.go | 181 + .../power/models/snapshot_list.go | 133 + .../power/models/snapshot_restore.go | 50 + .../power/models/snapshot_update.go | 99 + .../power/models/snapshot_v1.go | 239 + .../power-go-client/power/models/snapshots.go | 133 + .../power/models/softlayer_subscription.go | 88 + .../power/models/software_licenses.go | 62 + .../power/models/software_tier.go | 84 + .../power-go-client/power/models/ssh_key.go | 108 + .../power-go-client/power/models/ssh_keys.go | 133 + .../power-go-client/power/models/status.go | 91 + .../power/models/status_description.go | 130 + .../power/models/status_description_error.go | 56 + .../power/models/stock_image.go | 56 + .../power/models/stock_images.go | 87 + .../power/models/storage_affinity.go | 117 + .../power/models/storage_controller.go | 190 + .../power/models/storage_controllers.go | 72 + .../power/models/storage_entities.go | 53 + .../power/models/storage_pool.go | 240 + .../power/models/storage_pool_capacity.go | 89 + .../power/models/storage_pool_combined.go | 105 + .../power/models/storage_pool_map.go | 53 + .../power/models/storage_pools.go | 87 + .../power/models/storage_pools_capacity.go | 189 + .../power/models/storage_tier.go | 111 + .../power/models/storage_type.go | 114 + .../power/models/storage_type_capacity.go | 192 + .../power/models/storage_types.go | 78 + .../power/models/storage_types_capacity.go | 189 + .../power/models/supported_software_tier.go | 116 + .../models/supported_software_tier_list.go | 87 + .../power/models/supported_systems.go | 88 + .../power-go-client/power/models/system.go | 112 + .../power/models/system_pool.go | 434 + .../power/models/system_pool_capacity.go | 233 + .../power/models/system_pools.go | 72 + .../power/models/system_pools_capacity.go | 72 + .../power/models/system_resources.go | 176 + .../power-go-client/power/models/tags.go | 53 + .../power/models/target_object.go | 88 + .../power-go-client/power/models/task.go | 217 + .../power/models/task_reference.go | 88 + .../power-go-client/power/models/tenant.go | 332 + .../power/models/tenant_update.go | 133 + .../power/models/thresholds.go | 354 + .../power-go-client/power/models/token.go | 127 + .../power/models/token_extra.go | 173 + .../power/models/token_request.go | 124 + .../models/transit_connection_error_item.go | 153 + .../power/models/transit_gateway_instance.go | 153 + .../power/models/transit_gateway_location.go | 147 + .../power/models/transit_gateway_locations.go | 133 + .../update_server_virtual_serial_number.go | 116 + .../power/models/update_storage_pool.go | 176 + .../models/update_virtual_serial_number.go | 71 + .../power/models/update_volume.go | 59 + .../power/models/update_workspace_ssh_key.go | 136 + .../power/models/user_authentication_info.go | 303 + .../power-go-client/power/models/user_info.go | 111 + .../power/models/v_p_mem_volume_attach.go | 183 + .../power/models/v_p_mem_volume_create.go | 108 + .../power/models/v_p_mem_volume_reference.go | 264 + .../power/models/v_p_mem_volumes.go | 133 + .../power/models/v_p_n_connection.go | 509 + .../power/models/v_p_n_connection_create.go | 266 + .../v_p_n_connection_create_response.go | 174 + .../power/models/v_p_n_connection_update.go | 262 + .../power/models/v_p_n_connections.go | 131 + .../power-go-client/power/models/version.go | 59 + .../power/models/virtual_cores.go | 82 + .../power/models/virtual_serial_number.go | 165 + .../models/virtual_serial_number_list.go | 87 + .../power-go-client/power/models/volume.go | 399 + .../power/models/volume_action.go | 53 + .../power/models/volume_group.go | 171 + .../power/models/volume_group_action.go | 361 + .../power/models/volume_group_action_reset.go | 104 + .../power/models/volume_group_action_start.go | 107 + .../power/models/volume_group_action_stop.go | 71 + .../power/models/volume_group_create.go | 102 + .../models/volume_group_create_response.go | 108 + .../power/models/volume_group_details.go | 177 + .../volume_group_remote_copy_relationships.go | 133 + .../models/volume_group_storage_details.go | 95 + .../power/models/volume_group_update.go | 56 + .../power/models/volume_groups.go | 133 + .../power/models/volume_groups_details.go | 133 + .../power/models/volume_info.go | 119 + .../power/models/volume_onboarding.go | 332 + .../power/models/volume_onboarding_common.go | 80 + .../power/models/volume_onboarding_create.go | 186 + .../volume_onboarding_create_response.go | 53 + .../power/models/volume_onboarding_failure.go | 53 + .../power/models/volume_onboardings.go | 133 + .../power/models/volume_reference.go | 486 + .../models/volume_remote_copy_relationship.go | 128 + .../power/models/volume_snapshot_list.go | 130 + .../power-go-client/power/models/volumes.go | 133 + .../power/models/volumes_attach.go | 74 + .../models/volumes_attachment_response.go | 71 + .../power/models/volumes_clone.go | 126 + .../models/volumes_clone_async_request.go | 161 + .../power/models/volumes_clone_cancel.go | 52 + .../power/models/volumes_clone_create.go | 90 + .../power/models/volumes_clone_detail.go | 203 + .../power/models/volumes_clone_execute.go | 149 + .../power/models/volumes_clone_request.go | 95 + .../power/models/volumes_clone_response.go | 53 + .../power/models/volumes_clones.go | 130 + .../power/models/volumes_delete.go | 71 + .../power/models/volumes_delete_response.go | 50 + .../power/models/volumes_detach.go | 56 + .../models/volumes_detachment_response.go | 71 + .../power-go-client/power/models/workspace.go | 295 + .../power/models/workspace_details.go | 220 + .../power/models/workspace_location.go | 77 + ...rkspace_network_security_groups_details.go | 119 + .../workspace_power_edge_router_details.go | 233 + .../power/models/workspace_ssh_key.go | 206 + .../power/models/workspace_ssh_keys.go | 133 + .../power/models/workspaces.go | 133 + vendor/github.com/IBM/go-sdk-core/v5/LICENSE | 201 + .../v5/core/authentication_error.go | 57 + .../IBM/go-sdk-core/v5/core/authenticator.go | 26 + .../v5/core/authenticator_factory.go | 84 + .../IBM/go-sdk-core/v5/core/base_service.go | 958 + .../v5/core/basic_authenticator.go | 100 + .../v5/core/bearer_token_authenticator.go | 79 + .../IBM/go-sdk-core/v5/core/config_utils.go | 265 + .../IBM/go-sdk-core/v5/core/constants.go | 101 + .../v5/core/container_authenticator.go | 551 + .../go-sdk-core/v5/core/cp4d_authenticator.go | 461 + .../IBM/go-sdk-core/v5/core/datetime.go | 99 + .../go-sdk-core/v5/core/detailed_response.go | 95 + .../github.com/IBM/go-sdk-core/v5/core/doc.go | 40 + .../go-sdk-core/v5/core/file_with_metadata.go | 77 + .../IBM/go-sdk-core/v5/core/gzip.go | 60 + .../IBM/go-sdk-core/v5/core/http_problem.go | 181 + .../v5/core/iam_assume_authenticator.go | 520 + .../go-sdk-core/v5/core/iam_authenticator.go | 595 + .../IBM/go-sdk-core/v5/core/ibm_problem.go | 174 + .../IBM/go-sdk-core/v5/core/jwt_utils.go | 72 + .../github.com/IBM/go-sdk-core/v5/core/log.go | 179 + .../v5/core/mcsp_v1_authenticator.go | 444 + .../v5/core/mcsp_v2_authenticator.go | 619 + .../v5/core/noauth_authenticator.go | 41 + .../IBM/go-sdk-core/v5/core/ordered_maps.go | 49 + .../go-sdk-core/v5/core/parameterized_url.go | 76 + .../IBM/go-sdk-core/v5/core/problem.go | 47 + .../IBM/go-sdk-core/v5/core/problem_utils.go | 67 + .../go-sdk-core/v5/core/request_builder.go | 542 + .../IBM/go-sdk-core/v5/core/sdk_problem.go | 188 + .../go-sdk-core/v5/core/sdk_problem_utils.go | 124 + .../IBM/go-sdk-core/v5/core/unmarshal_v2.go | 796 + .../IBM/go-sdk-core/v5/core/utils.go | 423 + .../IBM/go-sdk-core/v5/core/version.go | 18 + .../v5/core/vpc_instance_authenticator.go | 526 + .../IBM/platform-services-go-sdk/LICENSE | 201 + .../common/headers.go | 73 + .../platform-services-go-sdk/common/utils.go | 30 + .../common/version.go | 20 + .../resource_controller_v2.go | 6286 + vendor/github.com/IBM/vpc-go-sdk/LICENSE | 201 + .../IBM/vpc-go-sdk/common/headers.go | 66 + .../IBM/vpc-go-sdk/common/version.go | 4 + .../github.com/IBM/vpc-go-sdk/vpcv1/vpc_v1.go | 164129 +++++++++++++++ vendor/github.com/go-logr/logr/.golangci.yaml | 28 + vendor/github.com/go-logr/logr/CHANGELOG.md | 6 + .../github.com/go-logr/logr/CONTRIBUTING.md | 17 + vendor/github.com/go-logr/logr/LICENSE | 201 + vendor/github.com/go-logr/logr/README.md | 407 + vendor/github.com/go-logr/logr/SECURITY.md | 18 + vendor/github.com/go-logr/logr/context.go | 33 + .../github.com/go-logr/logr/context_noslog.go | 49 + .../github.com/go-logr/logr/context_slog.go | 83 + vendor/github.com/go-logr/logr/discard.go | 24 + vendor/github.com/go-logr/logr/funcr/funcr.go | 914 + .../github.com/go-logr/logr/funcr/slogsink.go | 105 + vendor/github.com/go-logr/logr/logr.go | 520 + vendor/github.com/go-logr/logr/sloghandler.go | 192 + vendor/github.com/go-logr/logr/slogr.go | 100 + vendor/github.com/go-logr/logr/slogsink.go | 120 + vendor/github.com/go-logr/stdr/LICENSE | 201 + vendor/github.com/go-logr/stdr/README.md | 6 + vendor/github.com/go-logr/stdr/stdr.go | 170 + .../go-openapi/analysis/.codecov.yml | 5 + .../go-openapi/analysis/.gitattributes | 2 + .../github.com/go-openapi/analysis/.gitignore | 5 + .../go-openapi/analysis/.golangci.yml | 61 + .../go-openapi/analysis/CODE_OF_CONDUCT.md | 74 + vendor/github.com/go-openapi/analysis/LICENSE | 202 + .../github.com/go-openapi/analysis/README.md | 27 + .../go-openapi/analysis/analyzer.go | 1064 + .../github.com/go-openapi/analysis/debug.go | 23 + vendor/github.com/go-openapi/analysis/doc.go | 43 + .../github.com/go-openapi/analysis/fixer.go | 79 + .../github.com/go-openapi/analysis/flatten.go | 814 + .../go-openapi/analysis/flatten_name.go | 308 + .../go-openapi/analysis/flatten_options.go | 79 + .../analysis/internal/debug/debug.go | 41 + .../internal/flatten/normalize/normalize.go | 87 + .../internal/flatten/operations/operations.go | 90 + .../internal/flatten/replace/replace.go | 458 + .../flatten/schutils/flatten_schema.go | 29 + .../analysis/internal/flatten/sortref/keys.go | 201 + .../internal/flatten/sortref/sort_ref.go | 141 + .../github.com/go-openapi/analysis/mixin.go | 515 + .../github.com/go-openapi/analysis/schema.go | 256 + .../go-openapi/errors/.gitattributes | 1 + .../github.com/go-openapi/errors/.gitignore | 2 + .../go-openapi/errors/.golangci.yml | 75 + .../go-openapi/errors/CODE_OF_CONDUCT.md | 74 + vendor/github.com/go-openapi/errors/LICENSE | 202 + vendor/github.com/go-openapi/errors/README.md | 12 + vendor/github.com/go-openapi/errors/api.go | 181 + vendor/github.com/go-openapi/errors/auth.go | 11 + vendor/github.com/go-openapi/errors/doc.go | 15 + .../github.com/go-openapi/errors/headers.go | 92 + .../go-openapi/errors/middleware.go | 39 + .../github.com/go-openapi/errors/parsing.go | 68 + vendor/github.com/go-openapi/errors/schema.go | 608 + .../go-openapi/jsonpointer/.editorconfig | 26 + .../go-openapi/jsonpointer/.gitignore | 1 + .../go-openapi/jsonpointer/.golangci.yml | 56 + .../go-openapi/jsonpointer/CODE_OF_CONDUCT.md | 74 + .../github.com/go-openapi/jsonpointer/LICENSE | 202 + .../go-openapi/jsonpointer/README.md | 19 + .../go-openapi/jsonpointer/errors.go | 18 + .../go-openapi/jsonpointer/pointer.go | 530 + .../go-openapi/jsonreference/.gitignore | 1 + .../go-openapi/jsonreference/.golangci.yml | 61 + .../jsonreference/CODE_OF_CONDUCT.md | 74 + .../go-openapi/jsonreference/LICENSE | 202 + .../go-openapi/jsonreference/README.md | 19 + .../jsonreference/internal/normalize_url.go | 69 + .../go-openapi/jsonreference/reference.go | 158 + .../github.com/go-openapi/loads/.editorconfig | 26 + vendor/github.com/go-openapi/loads/.gitignore | 4 + .../github.com/go-openapi/loads/.golangci.yml | 61 + .../github.com/go-openapi/loads/.travis.yml | 25 + .../go-openapi/loads/CODE_OF_CONDUCT.md | 74 + vendor/github.com/go-openapi/loads/LICENSE | 202 + vendor/github.com/go-openapi/loads/README.md | 6 + vendor/github.com/go-openapi/loads/doc.go | 18 + vendor/github.com/go-openapi/loads/loaders.go | 133 + vendor/github.com/go-openapi/loads/options.go | 61 + vendor/github.com/go-openapi/loads/spec.go | 275 + .../go-openapi/runtime/.editorconfig | 26 + .../go-openapi/runtime/.gitattributes | 1 + .../github.com/go-openapi/runtime/.gitignore | 5 + .../go-openapi/runtime/.golangci.yml | 62 + .../go-openapi/runtime/CODE_OF_CONDUCT.md | 74 + vendor/github.com/go-openapi/runtime/LICENSE | 202 + .../github.com/go-openapi/runtime/README.md | 10 + .../go-openapi/runtime/bytestream.go | 222 + .../go-openapi/runtime/client/auth_info.go | 77 + .../go-openapi/runtime/client/keepalive.go | 54 + .../runtime/client/opentelemetry.go | 211 + .../go-openapi/runtime/client/opentracing.go | 99 + .../go-openapi/runtime/client/request.go | 482 + .../go-openapi/runtime/client/response.go | 50 + .../go-openapi/runtime/client/runtime.go | 552 + .../go-openapi/runtime/client_auth_info.go | 30 + .../go-openapi/runtime/client_operation.go | 41 + .../go-openapi/runtime/client_request.go | 152 + .../go-openapi/runtime/client_response.go | 110 + .../go-openapi/runtime/constants.go | 49 + vendor/github.com/go-openapi/runtime/csv.go | 350 + .../go-openapi/runtime/csv_options.go | 121 + .../github.com/go-openapi/runtime/discard.go | 9 + vendor/github.com/go-openapi/runtime/file.go | 19 + .../github.com/go-openapi/runtime/headers.go | 45 + .../go-openapi/runtime/interfaces.go | 112 + vendor/github.com/go-openapi/runtime/json.go | 38 + .../go-openapi/runtime/logger/logger.go | 20 + .../go-openapi/runtime/logger/standard.go | 24 + .../go-openapi/runtime/middleware/context.go | 722 + .../runtime/middleware/denco/LICENSE | 19 + .../runtime/middleware/denco/README.md | 180 + .../runtime/middleware/denco/router.go | 467 + .../runtime/middleware/denco/server.go | 106 + .../runtime/middleware/denco/util.go | 12 + .../go-openapi/runtime/middleware/doc.go | 63 + .../runtime/middleware/header/header.go | 332 + .../runtime/middleware/negotiate.go | 98 + .../runtime/middleware/not_implemented.go | 67 + .../runtime/middleware/operation.go | 30 + .../runtime/middleware/parameter.go | 491 + .../go-openapi/runtime/middleware/rapidoc.go | 80 + .../go-openapi/runtime/middleware/redoc.go | 94 + .../go-openapi/runtime/middleware/request.go | 117 + .../go-openapi/runtime/middleware/router.go | 531 + .../go-openapi/runtime/middleware/security.go | 39 + .../go-openapi/runtime/middleware/spec.go | 102 + .../runtime/middleware/swaggerui.go | 175 + .../runtime/middleware/swaggerui_oauth2.go | 105 + .../runtime/middleware/ui_options.go | 173 + .../runtime/middleware/untyped/api.go | 287 + .../runtime/middleware/validation.go | 130 + .../github.com/go-openapi/runtime/request.go | 149 + .../runtime/security/authenticator.go | 277 + .../go-openapi/runtime/security/authorizer.go | 27 + .../github.com/go-openapi/runtime/statuses.go | 90 + vendor/github.com/go-openapi/runtime/text.go | 116 + .../github.com/go-openapi/runtime/values.go | 19 + vendor/github.com/go-openapi/runtime/xml.go | 36 + .../go-openapi/runtime/yamlpc/yaml.go | 39 + .../github.com/go-openapi/spec/.editorconfig | 26 + vendor/github.com/go-openapi/spec/.gitignore | 1 + .../github.com/go-openapi/spec/.golangci.yml | 61 + .../go-openapi/spec/CODE_OF_CONDUCT.md | 74 + vendor/github.com/go-openapi/spec/LICENSE | 202 + vendor/github.com/go-openapi/spec/README.md | 54 + vendor/github.com/go-openapi/spec/cache.go | 98 + .../go-openapi/spec/contact_info.go | 57 + vendor/github.com/go-openapi/spec/debug.go | 49 + vendor/github.com/go-openapi/spec/embed.go | 17 + vendor/github.com/go-openapi/spec/errors.go | 19 + vendor/github.com/go-openapi/spec/expander.go | 607 + .../go-openapi/spec/external_docs.go | 24 + vendor/github.com/go-openapi/spec/header.go | 203 + vendor/github.com/go-openapi/spec/info.go | 184 + vendor/github.com/go-openapi/spec/items.go | 234 + vendor/github.com/go-openapi/spec/license.go | 56 + .../github.com/go-openapi/spec/normalizer.go | 202 + .../go-openapi/spec/normalizer_nonwindows.go | 44 + .../go-openapi/spec/normalizer_windows.go | 154 + .../github.com/go-openapi/spec/operation.go | 400 + .../github.com/go-openapi/spec/parameter.go | 326 + .../github.com/go-openapi/spec/path_item.go | 87 + vendor/github.com/go-openapi/spec/paths.go | 97 + .../github.com/go-openapi/spec/properties.go | 91 + vendor/github.com/go-openapi/spec/ref.go | 193 + vendor/github.com/go-openapi/spec/resolver.go | 127 + vendor/github.com/go-openapi/spec/response.go | 152 + .../github.com/go-openapi/spec/responses.go | 140 + vendor/github.com/go-openapi/spec/schema.go | 645 + .../go-openapi/spec/schema_loader.go | 331 + .../spec/schemas/jsonschema-draft-04.json | 149 + .../go-openapi/spec/schemas/v2/schema.json | 1607 + .../go-openapi/spec/security_scheme.go | 170 + vendor/github.com/go-openapi/spec/spec.go | 78 + vendor/github.com/go-openapi/spec/swagger.go | 448 + vendor/github.com/go-openapi/spec/tag.go | 75 + vendor/github.com/go-openapi/spec/url_go19.go | 11 + .../github.com/go-openapi/spec/validations.go | 215 + .../github.com/go-openapi/spec/xml_object.go | 68 + .../go-openapi/strfmt/.editorconfig | 26 + .../go-openapi/strfmt/.gitattributes | 2 + .../github.com/go-openapi/strfmt/.gitignore | 2 + .../go-openapi/strfmt/.golangci.yml | 75 + .../go-openapi/strfmt/CODE_OF_CONDUCT.md | 74 + vendor/github.com/go-openapi/strfmt/LICENSE | 202 + vendor/github.com/go-openapi/strfmt/README.md | 92 + vendor/github.com/go-openapi/strfmt/bson.go | 115 + vendor/github.com/go-openapi/strfmt/date.go | 151 + .../github.com/go-openapi/strfmt/default.go | 2110 + vendor/github.com/go-openapi/strfmt/doc.go | 7 + .../github.com/go-openapi/strfmt/duration.go | 206 + vendor/github.com/go-openapi/strfmt/errors.go | 13 + vendor/github.com/go-openapi/strfmt/format.go | 297 + vendor/github.com/go-openapi/strfmt/ifaces.go | 32 + vendor/github.com/go-openapi/strfmt/mongo.go | 646 + vendor/github.com/go-openapi/strfmt/time.go | 258 + vendor/github.com/go-openapi/strfmt/ulid.go | 208 + .../github.com/go-openapi/swag/.editorconfig | 26 + .../github.com/go-openapi/swag/.gitattributes | 2 + vendor/github.com/go-openapi/swag/.gitignore | 5 + .../github.com/go-openapi/swag/.golangci.yml | 56 + .../github.com/go-openapi/swag/BENCHMARK.md | 52 + .../go-openapi/swag/CODE_OF_CONDUCT.md | 74 + vendor/github.com/go-openapi/swag/LICENSE | 202 + vendor/github.com/go-openapi/swag/README.md | 23 + vendor/github.com/go-openapi/swag/convert.go | 208 + .../go-openapi/swag/convert_types.go | 730 + vendor/github.com/go-openapi/swag/doc.go | 31 + vendor/github.com/go-openapi/swag/errors.go | 15 + vendor/github.com/go-openapi/swag/file.go | 33 + .../go-openapi/swag/initialism_index.go | 202 + vendor/github.com/go-openapi/swag/json.go | 313 + vendor/github.com/go-openapi/swag/loading.go | 176 + .../github.com/go-openapi/swag/name_lexem.go | 93 + vendor/github.com/go-openapi/swag/net.go | 38 + vendor/github.com/go-openapi/swag/path.go | 59 + vendor/github.com/go-openapi/swag/split.go | 508 + .../go-openapi/swag/string_bytes.go | 8 + vendor/github.com/go-openapi/swag/util.go | 364 + vendor/github.com/go-openapi/swag/yaml.go | 481 + .../go-openapi/validate/.editorconfig | 26 + .../go-openapi/validate/.gitattributes | 2 + .../github.com/go-openapi/validate/.gitignore | 5 + .../go-openapi/validate/.golangci.yml | 61 + .../go-openapi/validate/BENCHMARK.md | 31 + .../go-openapi/validate/CODE_OF_CONDUCT.md | 74 + vendor/github.com/go-openapi/validate/LICENSE | 202 + .../github.com/go-openapi/validate/README.md | 36 + .../github.com/go-openapi/validate/context.go | 56 + .../github.com/go-openapi/validate/debug.go | 47 + .../go-openapi/validate/default_validator.go | 304 + vendor/github.com/go-openapi/validate/doc.go | 87 + .../go-openapi/validate/example_validator.go | 299 + .../github.com/go-openapi/validate/formats.go | 99 + .../github.com/go-openapi/validate/helpers.go | 333 + .../go-openapi/validate/object_validator.go | 431 + .../github.com/go-openapi/validate/options.go | 62 + .../github.com/go-openapi/validate/pools.go | 366 + .../go-openapi/validate/pools_debug.go | 1012 + .../github.com/go-openapi/validate/result.go | 563 + vendor/github.com/go-openapi/validate/rexp.go | 71 + .../github.com/go-openapi/validate/schema.go | 354 + .../go-openapi/validate/schema_messages.go | 78 + .../go-openapi/validate/schema_option.go | 83 + .../go-openapi/validate/schema_props.go | 356 + .../go-openapi/validate/slice_validator.go | 150 + vendor/github.com/go-openapi/validate/spec.go | 852 + .../go-openapi/validate/spec_messages.go | 366 + vendor/github.com/go-openapi/validate/type.go | 213 + .../go-openapi/validate/update-fixtures.sh | 15 + .../go-openapi/validate/validator.go | 1051 + .../github.com/go-openapi/validate/values.go | 450 + .../github.com/hashicorp/go-cleanhttp/LICENSE | 363 + .../hashicorp/go-cleanhttp/README.md | 30 + .../hashicorp/go-cleanhttp/cleanhttp.go | 58 + .../github.com/hashicorp/go-cleanhttp/doc.go | 20 + .../hashicorp/go-cleanhttp/handlers.go | 48 + .../hashicorp/go-retryablehttp/.gitignore | 4 + .../hashicorp/go-retryablehttp/.go-version | 1 + .../hashicorp/go-retryablehttp/.golangci.yml | 11 + .../hashicorp/go-retryablehttp/CHANGELOG.md | 33 + .../hashicorp/go-retryablehttp/CODEOWNERS | 13 + .../hashicorp/go-retryablehttp/LICENSE | 365 + .../hashicorp/go-retryablehttp/Makefile | 11 + .../hashicorp/go-retryablehttp/README.md | 62 + .../go-retryablehttp/cert_error_go119.go | 14 + .../go-retryablehttp/cert_error_go120.go | 14 + .../hashicorp/go-retryablehttp/client.go | 938 + .../go-retryablehttp/roundtripper.go | 55 + vendor/github.com/josharian/intern/README.md | 5 + vendor/github.com/josharian/intern/intern.go | 44 + vendor/github.com/josharian/intern/license.md | 21 + vendor/github.com/mailru/easyjson/LICENSE | 7 + .../github.com/mailru/easyjson/buffer/pool.go | 278 + .../mailru/easyjson/jlexer/bytestostr.go | 21 + .../easyjson/jlexer/bytestostr_nounsafe.go | 13 + .../mailru/easyjson/jlexer/error.go | 15 + .../mailru/easyjson/jlexer/lexer.go | 1257 + .../mailru/easyjson/jwriter/writer.go | 417 + .../mapt-oss/pulumi-ibmcloud/sdk/LICENSE | 202 + .../sdk/go/ibmcloud/computeAutoscaleGroup.go | 300 + .../sdk/go/ibmcloud/computeAutoscalePolicy.go | 214 + .../sdk/go/ibmcloud/computeBareMetal.go | 625 + .../sdk/go/ibmcloud/computeDedicatedHost.go | 259 + .../sdk/go/ibmcloud/computeMonitor.go | 220 + .../sdk/go/ibmcloud/computePlacementGroup.go | 187 + .../go/ibmcloud/computeProvisioningHook.go | 154 + .../go/ibmcloud/computeReservedCapacity.go | 223 + .../sdk/go/ibmcloud/computeSshKey.go | 183 + .../sdk/go/ibmcloud/computeSslCertificate.go | 267 + .../sdk/go/ibmcloud/computeUser.go | 410 + .../sdk/go/ibmcloud/computeVmInstance.go | 688 + .../sdk/go/ibmcloud/cosBackupPolicy.go | 207 + .../sdk/go/ibmcloud/cosBackupVault.go | 216 + .../sdk/go/ibmcloud/cosBucket.go | 524 + .../cosBucketLifecycleConfiguration.go | 171 + .../sdk/go/ibmcloud/cosBucketObject.go | 372 + .../cosBucketObjectLockConfiguration.go | 177 + .../go/ibmcloud/cosBucketReplicationRule.go | 177 + .../ibmcloud/cosBucketWebsiteConfiguration.go | 184 + .../pulumi-ibmcloud/sdk/go/ibmcloud/doc.go | 2 + .../sdk/go/ibmcloud/getComputeBareMetal.go | 241 + .../go/ibmcloud/getComputeImageTemplate.go | 78 + .../go/ibmcloud/getComputePlacementGroup.go | 102 + .../go/ibmcloud/getComputeReservedCapacity.go | 114 + .../sdk/go/ibmcloud/getComputeSshKey.go | 102 + .../sdk/go/ibmcloud/getComputeVmInstance.go | 189 + .../sdk/go/ibmcloud/getCosBackupPolicy.go | 107 + .../sdk/go/ibmcloud/getCosBackupVault.go | 109 + .../sdk/go/ibmcloud/getCosBucket.go | 251 + .../sdk/go/ibmcloud/getCosBucketObject.go | 156 + .../sdk/go/ibmcloud/getIamAccessGroup.go | 85 + .../go/ibmcloud/getIamAccessGroupPolicy.go | 99 + .../getIamAccessGroupTemplateAssignment.go | 149 + .../getIamAccessGroupTemplateVersions.go | 108 + .../sdk/go/ibmcloud/getIamAccessTag.go | 85 + .../sdk/go/ibmcloud/getIamAccountSettings.go | 164 + ...etIamAccountSettingsExternalInteraction.go | 94 + .../ibmcloud/getIamAccountSettingsTemplate.go | 156 + ...getIamAccountSettingsTemplateAssignment.go | 174 + .../ibmcloud/getIamActionControlAssignment.go | 139 + .../getIamActionControlAssignments.go | 94 + .../ibmcloud/getIamActionControlTemplate.go | 66 + .../getIamActionControlTemplateVersion.go | 144 + .../sdk/go/ibmcloud/getIamApiKey.go | 130 + .../sdk/go/ibmcloud/getIamAuthToken.go | 79 + .../ibmcloud/getIamAuthorizationPolicies.go | 99 + .../getIamEffectiveAccountSettings.go | 115 + .../sdk/go/ibmcloud/getIamPolicyAssignment.go | 135 + .../go/ibmcloud/getIamPolicyAssignments.go | 106 + .../sdk/go/ibmcloud/getIamPolicyTemplate.go | 64 + .../ibmcloud/getIamPolicyTemplateVersion.go | 110 + .../sdk/go/ibmcloud/getIamRoleActions.go | 105 + .../sdk/go/ibmcloud/getIamRoles.go | 85 + .../sdk/go/ibmcloud/getIamServiceId.go | 85 + .../sdk/go/ibmcloud/getIamServicePolicy.go | 110 + .../sdk/go/ibmcloud/getIamTrustedProfile.go | 145 + .../ibmcloud/getIamTrustedProfileClaimRule.go | 134 + .../getIamTrustedProfileClaimRules.go | 85 + .../getIamTrustedProfileIdentities.go | 92 + .../ibmcloud/getIamTrustedProfileIdentity.go | 119 + .../go/ibmcloud/getIamTrustedProfileLink.go | 117 + .../go/ibmcloud/getIamTrustedProfileLinks.go | 85 + .../go/ibmcloud/getIamTrustedProfilePolicy.go | 110 + .../ibmcloud/getIamTrustedProfileTemplate.go | 161 + .../getIamTrustedProfileTemplateAssignment.go | 166 + .../sdk/go/ibmcloud/getIamTrustedProfiles.go | 99 + .../go/ibmcloud/getIamUserMfaEnrollments.go | 104 + .../sdk/go/ibmcloud/getIamUserPolicy.go | 99 + .../sdk/go/ibmcloud/getIamUserProfile.go | 130 + .../sdk/go/ibmcloud/getIamUsers.go | 64 + .../sdk/go/ibmcloud/getIsBackupPolicies.go | 99 + .../sdk/go/ibmcloud/getIsBackupPolicy.go | 162 + .../sdk/go/ibmcloud/getIsBackupPolicyJob.go | 157 + .../sdk/go/ibmcloud/getIsBackupPolicyJobs.go | 120 + .../sdk/go/ibmcloud/getIsBackupPolicyPlan.go | 153 + .../sdk/go/ibmcloud/getIsBackupPolicyPlans.go | 92 + .../sdk/go/ibmcloud/getIsBareMetalServer.go | 254 + .../go/ibmcloud/getIsBareMetalServerDisk.go | 115 + .../go/ibmcloud/getIsBareMetalServerDisks.go | 85 + .../getIsBareMetalServerInitialization.go | 123 + .../getIsBareMetalServerNetworkAttachment.go | 170 + .../getIsBareMetalServerNetworkAttachments.go | 87 + .../getIsBareMetalServerNetworkInterface.go | 176 + ...reMetalServerNetworkInterfaceFloatingIp.go | 124 + ...eMetalServerNetworkInterfaceFloatingIps.go | 94 + ...reMetalServerNetworkInterfaceReservedIp.go | 134 + ...eMetalServerNetworkInterfaceReservedIps.go | 99 + .../getIsBareMetalServerNetworkInterfaces.go | 87 + .../ibmcloud/getIsBareMetalServerProfile.go | 180 + .../ibmcloud/getIsBareMetalServerProfiles.go | 64 + .../sdk/go/ibmcloud/getIsBareMetalServers.go | 134 + .../sdk/go/ibmcloud/getIsClusterNetwork.go | 140 + .../ibmcloud/getIsClusterNetworkInterface.go | 166 + .../ibmcloud/getIsClusterNetworkInterfaces.go | 101 + .../go/ibmcloud/getIsClusterNetworkProfile.go | 107 + .../ibmcloud/getIsClusterNetworkProfiles.go | 64 + .../go/ibmcloud/getIsClusterNetworkSubnet.go | 139 + .../getIsClusterNetworkSubnetReservedIp.go | 148 + .../getIsClusterNetworkSubnetReservedIps.go | 108 + .../go/ibmcloud/getIsClusterNetworkSubnets.go | 99 + .../sdk/go/ibmcloud/getIsClusterNetworks.go | 120 + .../sdk/go/ibmcloud/getIsDedicatedHost.go | 196 + .../sdk/go/ibmcloud/getIsDedicatedHostDisk.go | 142 + .../go/ibmcloud/getIsDedicatedHostDisks.go | 85 + .../go/ibmcloud/getIsDedicatedHostGroup.go | 134 + .../go/ibmcloud/getIsDedicatedHostGroups.go | 104 + .../go/ibmcloud/getIsDedicatedHostProfile.go | 143 + .../go/ibmcloud/getIsDedicatedHostProfiles.go | 69 + .../sdk/go/ibmcloud/getIsDedicatedHosts.go | 111 + .../ibmcloud/getIsEndpointGatewayTargets.go | 64 + .../sdk/go/ibmcloud/getIsFloatingIp.go | 120 + .../sdk/go/ibmcloud/getIsFloatingIps.go | 92 + .../sdk/go/ibmcloud/getIsFlowLog.go | 142 + .../sdk/go/ibmcloud/getIsFlowLogs.go | 127 + .../sdk/go/ibmcloud/getIsIkePolicies.go | 64 + .../sdk/go/ibmcloud/getIsIkePolicy.go | 142 + .../sdk/go/ibmcloud/getIsImage.go | 189 + .../getIsImageBareMetalServerProfiles.go | 87 + .../sdk/go/ibmcloud/getIsImageExportJob.go | 152 + .../sdk/go/ibmcloud/getIsImageExportJobs.go | 85 + .../go/ibmcloud/getIsImageInstanceProfiles.go | 87 + .../sdk/go/ibmcloud/getIsImages.go | 127 + .../sdk/go/ibmcloud/getIsInstance.go | 340 + .../getIsInstanceClusterNetworkAttachment.go | 130 + .../getIsInstanceClusterNetworkAttachments.go | 87 + .../sdk/go/ibmcloud/getIsInstanceDisk.go | 117 + .../sdk/go/ibmcloud/getIsInstanceDisks.go | 85 + .../sdk/go/ibmcloud/getIsInstanceGroup.go | 135 + .../go/ibmcloud/getIsInstanceGroupManager.go | 127 + .../getIsInstanceGroupManagerAction.go | 179 + .../getIsInstanceGroupManagerActions.go | 94 + .../getIsInstanceGroupManagerPolicies.go | 94 + .../getIsInstanceGroupManagerPolicy.go | 114 + .../go/ibmcloud/getIsInstanceGroupManagers.go | 87 + .../ibmcloud/getIsInstanceGroupMembership.go | 121 + .../ibmcloud/getIsInstanceGroupMemberships.go | 87 + .../sdk/go/ibmcloud/getIsInstanceGroups.go | 64 + .../getIsInstanceNetworkAttachment.go | 143 + .../getIsInstanceNetworkAttachments.go | 87 + .../ibmcloud/getIsInstanceNetworkInterface.go | 158 + ...getIsInstanceNetworkInterfaceReservedIp.go | 134 + ...etIsInstanceNetworkInterfaceReservedIps.go | 99 + .../getIsInstanceNetworkInterfaces.go | 92 + .../sdk/go/ibmcloud/getIsInstanceProfile.go | 229 + .../sdk/go/ibmcloud/getIsInstanceProfiles.go | 64 + .../sdk/go/ibmcloud/getIsInstanceTemplate.go | 249 + .../sdk/go/ibmcloud/getIsInstanceTemplates.go | 64 + .../ibmcloud/getIsInstanceVolumeAttachment.go | 129 + .../getIsInstanceVolumeAttachments.go | 87 + .../sdk/go/ibmcloud/getIsInstances.go | 169 + .../sdk/go/ibmcloud/getIsIpsecPolicies.go | 64 + .../sdk/go/ibmcloud/getIsIpsecPolicy.go | 142 + .../sdk/go/ibmcloud/getIsLb.go | 232 + .../sdk/go/ibmcloud/getIsLbListener.go | 157 + .../go/ibmcloud/getIsLbListenerPolicies.go | 92 + .../sdk/go/ibmcloud/getIsLbListenerPolicy.go | 134 + .../go/ibmcloud/getIsLbListenerPolicyRule.go | 136 + .../go/ibmcloud/getIsLbListenerPolicyRules.go | 99 + .../sdk/go/ibmcloud/getIsLbListeners.go | 85 + .../sdk/go/ibmcloud/getIsLbPool.go | 149 + .../sdk/go/ibmcloud/getIsLbPoolMember.go | 129 + .../sdk/go/ibmcloud/getIsLbPoolMembers.go | 92 + .../sdk/go/ibmcloud/getIsLbPools.go | 85 + .../sdk/go/ibmcloud/getIsLbProfile.go | 132 + .../sdk/go/ibmcloud/getIsLbProfiles.go | 85 + .../sdk/go/ibmcloud/getIsLbs.go | 64 + .../sdk/go/ibmcloud/getIsNetworkAcl.go | 134 + .../sdk/go/ibmcloud/getIsNetworkAclRule.go | 147 + .../sdk/go/ibmcloud/getIsNetworkAclRules.go | 92 + .../sdk/go/ibmcloud/getIsNetworkAcls.go | 85 + .../sdk/go/ibmcloud/getIsOperatingSystem.go | 125 + .../sdk/go/ibmcloud/getIsOperatingSystems.go | 64 + .../sdk/go/ibmcloud/getIsPlacementGroup.go | 125 + .../sdk/go/ibmcloud/getIsPlacementGroups.go | 69 + .../getIsPrivatePathServiceGateway.go | 178 + ...rivatePathServiceGatewayAccountPolicies.go | 94 + ...sPrivatePathServiceGatewayAccountPolicy.go | 121 + ...athServiceGatewayEndpointGatewayBinding.go | 133 + ...thServiceGatewayEndpointGatewayBindings.go | 103 + .../getIsPrivatePathServiceGateways.go | 66 + .../go/ibmcloud/getIsPublicAddressRange.go | 144 + .../go/ibmcloud/getIsPublicAddressRanges.go | 87 + .../sdk/go/ibmcloud/getIsPublicGateway.go | 147 + .../sdk/go/ibmcloud/getIsPublicGateways.go | 85 + .../sdk/go/ibmcloud/getIsRegion.go | 90 + .../sdk/go/ibmcloud/getIsRegions.go | 64 + .../sdk/go/ibmcloud/getIsReservation.go | 154 + .../sdk/go/ibmcloud/getIsReservations.go | 99 + .../sdk/go/ibmcloud/getIsSecurityGroup.go | 141 + .../sdk/go/ibmcloud/getIsSecurityGroupRule.go | 137 + .../go/ibmcloud/getIsSecurityGroupRules.go | 85 + .../go/ibmcloud/getIsSecurityGroupTarget.go | 107 + .../go/ibmcloud/getIsSecurityGroupTargets.go | 85 + .../sdk/go/ibmcloud/getIsSecurityGroups.go | 106 + .../sdk/go/ibmcloud/getIsShare.go | 267 + .../go/ibmcloud/getIsShareAccessorBinding.go | 112 + .../go/ibmcloud/getIsShareAccessorBindings.go | 87 + .../sdk/go/ibmcloud/getIsShareMountTarget.go | 168 + .../sdk/go/ibmcloud/getIsShareMountTargets.go | 92 + .../sdk/go/ibmcloud/getIsShareProfile.go | 129 + .../sdk/go/ibmcloud/getIsShareProfiles.go | 69 + .../sdk/go/ibmcloud/getIsShareSnapshot.go | 167 + .../sdk/go/ibmcloud/getIsShareSnapshots.go | 99 + .../sdk/go/ibmcloud/getIsShares.go | 97 + .../sdk/go/ibmcloud/getIsSnapshot.go | 211 + .../sdk/go/ibmcloud/getIsSnapshotClone.go | 97 + .../sdk/go/ibmcloud/getIsSnapshotClones.go | 85 + .../ibmcloud/getIsSnapshotConsistencyGroup.go | 157 + .../getIsSnapshotConsistencyGroups.go | 101 + .../ibmcloud/getIsSnapshotInstanceProfiles.go | 87 + .../sdk/go/ibmcloud/getIsSnapshots.go | 183 + .../sdk/go/ibmcloud/getIsSourceShare.go | 100 + .../sdk/go/ibmcloud/getIsSshKey.go | 152 + .../sdk/go/ibmcloud/getIsSshKeys.go | 64 + .../sdk/go/ibmcloud/getIsSubnet.go | 184 + .../sdk/go/ibmcloud/getIsSubnetReservedIp.go | 144 + .../sdk/go/ibmcloud/getIsSubnetReservedIps.go | 90 + .../sdk/go/ibmcloud/getIsSubnets.go | 127 + .../ibmcloud/getIsVirtualEndpointGateway.go | 157 + .../getIsVirtualEndpointGatewayIps.go | 85 + .../ibmcloud/getIsVirtualEndpointGateways.go | 94 + .../ibmcloud/getIsVirtualNetworkInterface.go | 191 + .../getIsVirtualNetworkInterfaceFloatingIp.go | 116 + ...getIsVirtualNetworkInterfaceFloatingIps.go | 87 + .../getIsVirtualNetworkInterfaceIp.go | 105 + .../getIsVirtualNetworkInterfaceIps.go | 87 + .../ibmcloud/getIsVirtualNetworkInterfaces.go | 87 + .../sdk/go/ibmcloud/getIsVolume.go | 244 + .../ibmcloud/getIsVolumeInstanceProfiles.go | 87 + .../sdk/go/ibmcloud/getIsVolumeProfile.go | 119 + .../sdk/go/ibmcloud/getIsVolumeProfiles.go | 64 + .../sdk/go/ibmcloud/getIsVolumes.go | 120 + .../sdk/go/ibmcloud/getIsVpc.go | 224 + .../sdk/go/ibmcloud/getIsVpcAddressPrefix.go | 136 + .../go/ibmcloud/getIsVpcAddressPrefixes.go | 92 + .../ibmcloud/getIsVpcDefaultRoutingTable.go | 167 + .../ibmcloud/getIsVpcDnsResolutionBinding.go | 136 + .../ibmcloud/getIsVpcDnsResolutionBindings.go | 87 + .../sdk/go/ibmcloud/getIsVpcRoutingTable.go | 181 + .../go/ibmcloud/getIsVpcRoutingTableRoute.go | 156 + .../go/ibmcloud/getIsVpcRoutingTableRoutes.go | 92 + .../sdk/go/ibmcloud/getIsVpcRoutingTables.go | 92 + .../sdk/go/ibmcloud/getIsVpcs.go | 92 + .../sdk/go/ibmcloud/getIsVpnGateway.go | 177 + .../go/ibmcloud/getIsVpnGatewayConnection.go | 223 + .../getIsVpnGatewayConnectionLocalCidrs.go | 92 + .../getIsVpnGatewayConnectionPeerCidrs.go | 92 + .../go/ibmcloud/getIsVpnGatewayConnections.go | 92 + .../sdk/go/ibmcloud/getIsVpnGateways.go | 92 + .../sdk/go/ibmcloud/getIsVpnServer.go | 212 + .../sdk/go/ibmcloud/getIsVpnServerClient.go | 137 + .../getIsVpnServerClientConfiguration.go | 92 + .../sdk/go/ibmcloud/getIsVpnServerClients.go | 85 + .../sdk/go/ibmcloud/getIsVpnServerRoute.go | 139 + .../sdk/go/ibmcloud/getIsVpnServerRoutes.go | 85 + .../sdk/go/ibmcloud/getIsVpnServers.go | 85 + .../sdk/go/ibmcloud/getIsZone.go | 102 + .../sdk/go/ibmcloud/getIsZones.go | 97 + .../sdk/go/ibmcloud/getPiAvailableHosts.go | 85 + .../sdk/go/ibmcloud/getPiCatalogImages.go | 99 + .../sdk/go/ibmcloud/getPiCloudConnection.go | 157 + .../sdk/go/ibmcloud/getPiCloudConnections.go | 85 + .../sdk/go/ibmcloud/getPiCloudInstance.go | 130 + .../sdk/go/ibmcloud/getPiConsoleLanguages.go | 92 + .../sdk/go/ibmcloud/getPiDatacenter.go | 117 + .../sdk/go/ibmcloud/getPiDatacenters.go | 85 + .../sdk/go/ibmcloud/getPiDhcp.go | 114 + .../sdk/go/ibmcloud/getPiDhcps.go | 85 + .../ibmcloud/getPiDisasterRecoveryLocation.go | 92 + .../getPiDisasterRecoveryLocations.go | 66 + .../sdk/go/ibmcloud/getPiHost.go | 132 + .../sdk/go/ibmcloud/getPiHostGroup.go | 112 + .../sdk/go/ibmcloud/getPiHostGroups.go | 85 + .../sdk/go/ibmcloud/getPiHosts.go | 85 + .../sdk/go/ibmcloud/getPiImage.go | 142 + .../sdk/go/ibmcloud/getPiImages.go | 85 + .../sdk/go/ibmcloud/getPiInstance.go | 267 + .../sdk/go/ibmcloud/getPiInstanceIp.go | 146 + .../sdk/go/ibmcloud/getPiInstanceSnapshot.go | 142 + .../sdk/go/ibmcloud/getPiInstanceSnapshots.go | 87 + .../sdk/go/ibmcloud/getPiInstanceVolumes.go | 97 + .../sdk/go/ibmcloud/getPiInstances.go | 85 + .../sdk/go/ibmcloud/getPiKey.go | 133 + .../sdk/go/ibmcloud/getPiKeys.go | 85 + .../sdk/go/ibmcloud/getPiNetwork.go | 182 + .../go/ibmcloud/getPiNetworkAddressGroup.go | 107 + .../go/ibmcloud/getPiNetworkAddressGroups.go | 87 + .../sdk/go/ibmcloud/getPiNetworkInterface.go | 146 + .../sdk/go/ibmcloud/getPiNetworkInterfaces.go | 92 + .../sdk/go/ibmcloud/getPiNetworkPeer.go | 167 + .../go/ibmcloud/getPiNetworkPeerInterfaces.go | 87 + .../ibmcloud/getPiNetworkPeerRouteFilter.go | 144 + .../sdk/go/ibmcloud/getPiNetworkPeers.go | 85 + .../sdk/go/ibmcloud/getPiNetworkPort.go | 103 + .../go/ibmcloud/getPiNetworkSecurityGroup.go | 117 + .../go/ibmcloud/getPiNetworkSecurityGroups.go | 87 + .../sdk/go/ibmcloud/getPiNetworks.go | 85 + .../sdk/go/ibmcloud/getPiPlacementGroup.go | 123 + .../sdk/go/ibmcloud/getPiPlacementGroups.go | 85 + .../sdk/go/ibmcloud/getPiPublicNetwork.go | 100 + .../sdk/go/ibmcloud/getPiPvmSnapshots.go | 92 + .../sdk/go/ibmcloud/getPiRoute.go | 142 + .../sdk/go/ibmcloud/getPiRouteReport.go | 85 + .../sdk/go/ibmcloud/getPiRoutes.go | 85 + .../sdk/go/ibmcloud/getPiSapProfile.go | 132 + .../sdk/go/ibmcloud/getPiSapProfiles.go | 99 + .../go/ibmcloud/getPiSharedProcessorPool.go | 147 + .../go/ibmcloud/getPiSharedProcessorPools.go | 87 + .../sdk/go/ibmcloud/getPiSoftwareTiers.go | 87 + .../sdk/go/ibmcloud/getPiSppPlacementGroup.go | 112 + .../go/ibmcloud/getPiSppPlacementGroups.go | 87 + .../go/ibmcloud/getPiStoragePoolCapacity.go | 107 + .../go/ibmcloud/getPiStoragePoolsCapacity.go | 92 + .../sdk/go/ibmcloud/getPiStorageTiers.go | 85 + .../go/ibmcloud/getPiStorageTypeCapacity.go | 99 + .../go/ibmcloud/getPiStorageTypesCapacity.go | 92 + .../sdk/go/ibmcloud/getPiSystemPools.go | 85 + .../sdk/go/ibmcloud/getPiTenant.go | 100 + .../go/ibmcloud/getPiVirtualSerialNumber.go | 102 + .../go/ibmcloud/getPiVirtualSerialNumbers.go | 94 + .../sdk/go/ibmcloud/getPiVolume.go | 233 + .../sdk/go/ibmcloud/getPiVolumeClone.go | 107 + .../ibmcloud/getPiVolumeFlashCopyMappings.go | 94 + .../sdk/go/ibmcloud/getPiVolumeGroup.go | 129 + .../go/ibmcloud/getPiVolumeGroupDetails.go | 134 + ...getPiVolumeGroupRemoteCopyRelationships.go | 94 + .../getPiVolumeGroupStorageDetails.go | 132 + .../sdk/go/ibmcloud/getPiVolumeGroups.go | 85 + .../go/ibmcloud/getPiVolumeGroupsDetails.go | 85 + .../sdk/go/ibmcloud/getPiVolumeOnboarding.go | 124 + .../sdk/go/ibmcloud/getPiVolumeOnboardings.go | 85 + .../getPiVolumeRemoteCopyRelationship.go | 162 + .../sdk/go/ibmcloud/getPiVolumeSnapshot.go | 124 + .../sdk/go/ibmcloud/getPiVolumeSnapshots.go | 85 + .../sdk/go/ibmcloud/getPiVolumes.go | 85 + .../sdk/go/ibmcloud/getPiWorkspace.go | 110 + .../sdk/go/ibmcloud/getPiWorkspaces.go | 85 + .../sdk/go/ibmcloud/getResourceGroup.go | 137 + .../sdk/go/ibmcloud/getResourceInstance.go | 173 + .../sdk/go/ibmcloud/getResourceKey.go | 131 + .../sdk/go/ibmcloud/getResourceQuota.go | 115 + .../sdk/go/ibmcloud/getResourceTag.go | 99 + .../ibmcloud/getTgConnectionPrefixFilter.go | 129 + .../ibmcloud/getTgConnectionPrefixFilters.go | 94 + .../sdk/go/ibmcloud/getTgGateway.go | 125 + .../sdk/go/ibmcloud/getTgGateways.go | 64 + .../sdk/go/ibmcloud/getTgLocation.go | 95 + .../sdk/go/ibmcloud/getTgLocations.go | 64 + .../sdk/go/ibmcloud/getTgRouteReport.go | 112 + .../sdk/go/ibmcloud/getTgRouteReports.go | 85 + .../sdk/go/ibmcloud/iamAccessGroup.go | 162 + .../ibmcloud/iamAccessGroupAccountSettings.go | 135 + .../go/ibmcloud/iamAccessGroupDynamicRule.go | 204 + .../sdk/go/ibmcloud/iamAccessGroupMembers.go | 158 + .../sdk/go/ibmcloud/iamAccessGroupPolicy.go | 289 + .../sdk/go/ibmcloud/iamAccessGroupTemplate.go | 285 + .../iamAccessGroupTemplateAssignment.go | 288 + .../ibmcloud/iamAccessGroupTemplateVersion.go | 293 + .../sdk/go/ibmcloud/iamAccessTag.go | 131 + .../sdk/go/ibmcloud/iamAccountSettings.go | 358 + .../iamAccountSettingsExternalInteraction.go | 159 + .../go/ibmcloud/iamAccountSettingsTemplate.go | 279 + .../iamAccountSettingsTemplateAssignment.go | 305 + .../go/ibmcloud/iamActionControlAssignment.go | 256 + .../go/ibmcloud/iamActionControlTemplate.go | 255 + .../iamActionControlTemplateVersion.go | 263 + .../sdk/go/ibmcloud/iamApiKey.go | 301 + .../sdk/go/ibmcloud/iamAuthorizationPolicy.go | 330 + .../ibmcloud/iamAuthorizationPolicyDetach.go | 124 + .../sdk/go/ibmcloud/iamCustomRole.go | 234 + .../sdk/go/ibmcloud/iamPolicyAssignment.go | 289 + .../sdk/go/ibmcloud/iamPolicyTemplate.go | 198 + .../go/ibmcloud/iamPolicyTemplateVersion.go | 199 + .../sdk/go/ibmcloud/iamServiceApiKey.go | 287 + .../sdk/go/ibmcloud/iamServiceId.go | 184 + .../sdk/go/ibmcloud/iamServicePolicy.go | 304 + .../sdk/go/ibmcloud/iamTrustedProfile.go | 267 + .../go/ibmcloud/iamTrustedProfileClaimRule.go | 266 + .../ibmcloud/iamTrustedProfileIdentities.go | 152 + .../go/ibmcloud/iamTrustedProfileIdentity.go | 208 + .../sdk/go/ibmcloud/iamTrustedProfileLink.go | 219 + .../go/ibmcloud/iamTrustedProfilePolicy.go | 308 + .../go/ibmcloud/iamTrustedProfileTemplate.go | 300 + .../iamTrustedProfileTemplateAssignment.go | 305 + .../sdk/go/ibmcloud/iamUserInvite.go | 184 + .../sdk/go/ibmcloud/iamUserPolicy.go | 280 + .../sdk/go/ibmcloud/iamUserSettings.go | 139 + .../pulumi-ibmcloud/sdk/go/ibmcloud/init.go | 1438 + .../go/ibmcloud/internal/pulumiUtilities.go | 184 + .../sdk/go/ibmcloud/internal/pulumiVersion.go | 11 + .../sdk/go/ibmcloud/isBackupPolicy.go | 321 + .../sdk/go/ibmcloud/isBackupPolicyPlan.go | 303 + .../sdk/go/ibmcloud/isBareMetalServer.go | 577 + .../go/ibmcloud/isBareMetalServerAction.go | 177 + .../sdk/go/ibmcloud/isBareMetalServerDisk.go | 223 + .../isBareMetalServerInitialization.go | 192 + .../isBareMetalServerNetworkAttachment.go | 330 + .../isBareMetalServerNetworkInterface.go | 384 + ...reMetalServerNetworkInterfaceAllowFloat.go | 364 + ...reMetalServerNetworkInterfaceFloatingIp.go | 226 + .../sdk/go/ibmcloud/isClusterNetwork.go | 278 + .../go/ibmcloud/isClusterNetworkInterface.go | 321 + .../sdk/go/ibmcloud/isClusterNetworkSubnet.go | 270 + .../isClusterNetworkSubnetReservedIp.go | 288 + .../sdk/go/ibmcloud/isDedicatedHost.go | 391 + .../ibmcloud/isDedicatedHostDiskManagement.go | 142 + .../sdk/go/ibmcloud/isDedicatedHostGroup.go | 258 + .../sdk/go/ibmcloud/isFloatingIp.go | 294 + .../sdk/go/ibmcloud/isFlowLog.go | 338 + .../sdk/go/ibmcloud/isIkePolicy.go | 282 + .../sdk/go/ibmcloud/isImage.go | 469 + .../sdk/go/ibmcloud/isImageDeprecate.go | 333 + .../sdk/go/ibmcloud/isImageExportJob.go | 293 + .../sdk/go/ibmcloud/isImageObsolete.go | 333 + .../sdk/go/ibmcloud/isInstance.go | 910 + .../sdk/go/ibmcloud/isInstanceAction.go | 175 + .../isInstanceClusterNetworkAttachment.go | 235 + .../go/ibmcloud/isInstanceDiskManagement.go | 142 + .../sdk/go/ibmcloud/isInstanceGroup.go | 317 + .../sdk/go/ibmcloud/isInstanceGroupManager.go | 258 + .../ibmcloud/isInstanceGroupManagerAction.go | 360 + .../ibmcloud/isInstanceGroupManagerPolicy.go | 222 + .../go/ibmcloud/isInstanceGroupMembership.go | 221 + .../ibmcloud/isInstanceNetworkAttachment.go | 233 + .../go/ibmcloud/isInstanceNetworkInterface.go | 328 + .../isInstanceNetworkInterfaceFloatingIp.go | 226 + .../sdk/go/ibmcloud/isInstanceTemplate.go | 573 + .../go/ibmcloud/isInstanceVolumeAttachment.go | 429 + .../sdk/go/ibmcloud/isIpsecPolicy.go | 278 + .../pulumi-ibmcloud/sdk/go/ibmcloud/isLb.go | 447 + .../sdk/go/ibmcloud/isLbListener.go | 387 + .../sdk/go/ibmcloud/isLbListenerPolicy.go | 418 + .../sdk/go/ibmcloud/isLbListenerPolicyRule.go | 248 + .../sdk/go/ibmcloud/isLbPool.go | 381 + .../sdk/go/ibmcloud/isLbPoolMember.go | 249 + .../sdk/go/ibmcloud/isNetworkAcl.go | 244 + .../sdk/go/ibmcloud/isNetworkAclRule.go | 297 + .../sdk/go/ibmcloud/isPlacementGroup.go | 239 + .../ibmcloud/isPrivatePathServiceGateway.go | 336 + ...sPrivatePathServiceGatewayAccountPolicy.go | 217 + ...GatewayEndpointGatewayBindingOperations.go | 166 + .../isPrivatePathServiceGatewayOperations.go | 142 + ...sPrivatePathServiceGatewayRevokeAccount.go | 144 + .../sdk/go/ibmcloud/isPublicAddressRange.go | 265 + .../sdk/go/ibmcloud/isPublicGateway.go | 288 + .../sdk/go/ibmcloud/isReservation.go | 300 + .../sdk/go/ibmcloud/isReservationActivate.go | 282 + .../sdk/go/ibmcloud/isSecurityGroup.go | 250 + .../sdk/go/ibmcloud/isSecurityGroupRule.go | 265 + .../sdk/go/ibmcloud/isSecurityGroupTarget.go | 175 + .../sdk/go/ibmcloud/isShare.go | 629 + .../ibmcloud/isShareDeleteAccessorBinding.go | 142 + .../sdk/go/ibmcloud/isShareMountTarget.go | 278 + .../go/ibmcloud/isShareReplicaOperations.go | 169 + .../sdk/go/ibmcloud/isShareSnapshot.go | 323 + .../sdk/go/ibmcloud/isSnapshot.go | 416 + .../go/ibmcloud/isSnapshotConsistencyGroup.go | 291 + .../sdk/go/ibmcloud/isSshKey.go | 298 + .../sdk/go/ibmcloud/isSubnet.go | 395 + .../ibmcloud/isSubnetNetworkAclAttachment.go | 193 + .../isSubnetPublicGatewayAttachment.go | 237 + .../sdk/go/ibmcloud/isSubnetReservedIp.go | 265 + .../go/ibmcloud/isSubnetReservedIpPatch.go | 272 + .../isSubnetRoutingTableAttachment.go | 262 + .../go/ibmcloud/isVirtualEndpointGateway.go | 326 + .../go/ibmcloud/isVirtualEndpointGatewayIp.go | 208 + .../go/ibmcloud/isVirtualNetworkInterface.go | 384 + .../isVirtualNetworkInterfaceFloatingIp.go | 199 + .../ibmcloud/isVirtualNetworkInterfaceIp.go | 186 + .../sdk/go/ibmcloud/isVolume.go | 490 + .../pulumi-ibmcloud/sdk/go/ibmcloud/isVpc.go | 490 + .../sdk/go/ibmcloud/isVpcAddressPrefix.go | 223 + .../go/ibmcloud/isVpcDnsResolutionBinding.go | 238 + .../sdk/go/ibmcloud/isVpcRoutingTable.go | 354 + .../sdk/go/ibmcloud/isVpcRoutingTableRoute.go | 322 + .../sdk/go/ibmcloud/isVpnGateway.go | 393 + .../sdk/go/ibmcloud/isVpnGatewayConnection.go | 497 + .../sdk/go/ibmcloud/isVpnServer.go | 482 + .../sdk/go/ibmcloud/isVpnServerClient.go | 179 + .../sdk/go/ibmcloud/isVpnServerRoute.go | 256 + .../sdk/go/ibmcloud/piCapture.go | 301 + .../sdk/go/ibmcloud/piCloudConnection.go | 372 + .../piCloudConnectionNetworkAttach.go | 160 + .../sdk/go/ibmcloud/piConsoleLanguage.go | 160 + .../pulumi-ibmcloud/sdk/go/ibmcloud/piDhcp.go | 254 + .../pulumi-ibmcloud/sdk/go/ibmcloud/piHost.go | 255 + .../sdk/go/ibmcloud/piHostGroup.go | 256 + .../sdk/go/ibmcloud/piIkePolicy.go | 258 + .../sdk/go/ibmcloud/piImage.go | 406 + .../sdk/go/ibmcloud/piImageExport.go | 225 + .../sdk/go/ibmcloud/piInstance.go | 972 + .../sdk/go/ibmcloud/piInstanceAction.go | 208 + .../sdk/go/ibmcloud/piInstanceSnapshot.go | 282 + .../sdk/go/ibmcloud/piIpsecPolicy.go | 240 + .../pulumi-ibmcloud/sdk/go/ibmcloud/piKey.go | 261 + .../sdk/go/ibmcloud/piNetwork.go | 378 + .../sdk/go/ibmcloud/piNetworkAddressGroup.go | 194 + .../ibmcloud/piNetworkAddressGroupMember.go | 216 + .../sdk/go/ibmcloud/piNetworkInterface.go | 313 + .../sdk/go/ibmcloud/piNetworkPeer.go | 372 + .../go/ibmcloud/piNetworkPeerRouteFilter.go | 285 + .../sdk/go/ibmcloud/piNetworkPortAttach.go | 268 + .../sdk/go/ibmcloud/piNetworkSecurityGroup.go | 212 + .../ibmcloud/piNetworkSecurityGroupAction.go | 153 + .../ibmcloud/piNetworkSecurityGroupMember.go | 268 + .../go/ibmcloud/piNetworkSecurityGroupRule.go | 371 + .../sdk/go/ibmcloud/piPlacementGroup.go | 208 + .../sdk/go/ibmcloud/piRoute.go | 301 + .../sdk/go/ibmcloud/piSharedProcessorPool.go | 387 + .../sdk/go/ibmcloud/piSnapshot.go | 271 + .../sdk/go/ibmcloud/piSppPlacementGroup.go | 208 + .../sdk/go/ibmcloud/piVirtualSerialNumber.go | 202 + .../sdk/go/ibmcloud/piVolume.go | 512 + .../sdk/go/ibmcloud/piVolumeAttach.go | 171 + .../sdk/go/ibmcloud/piVolumeClone.go | 260 + .../sdk/go/ibmcloud/piVolumeGroup.go | 240 + .../sdk/go/ibmcloud/piVolumeGroupAction.go | 195 + .../sdk/go/ibmcloud/piVolumeOnboarding.go | 238 + .../sdk/go/ibmcloud/piVpnConnection.go | 305 + .../sdk/go/ibmcloud/piWorkspace.go | 220 + .../sdk/go/ibmcloud/provider.go | 425 + .../sdk/go/ibmcloud/pulumi-plugin.json | 6 + .../sdk/go/ibmcloud/pulumiTypes.go | 74138 +++++++ .../sdk/go/ibmcloud/pulumiTypes1.go | 65149 ++++++ .../sdk/go/ibmcloud/pulumiTypes2.go | 66213 ++++++ .../sdk/go/ibmcloud/pulumiTypes3.go | 66257 ++++++ .../sdk/go/ibmcloud/pulumiTypes4.go | 911 + .../sdk/go/ibmcloud/resourceGroup.go | 239 + .../sdk/go/ibmcloud/resourceInstance.go | 656 + .../sdk/go/ibmcloud/resourceKey.go | 415 + .../sdk/go/ibmcloud/resourceTag.go | 195 + .../sdk/go/ibmcloud/tgConnection.go | 403 + .../sdk/go/ibmcloud/tgConnectionAction.go | 160 + .../go/ibmcloud/tgConnectionPrefixFilter.go | 256 + .../sdk/go/ibmcloud/tgConnectionRgreTunnel.go | 377 + .../sdk/go/ibmcloud/tgGateway.go | 292 + .../sdk/go/ibmcloud/tgRouteReport.go | 178 + vendor/github.com/oklog/ulid/.gitignore | 29 + vendor/github.com/oklog/ulid/.travis.yml | 16 + vendor/github.com/oklog/ulid/AUTHORS.md | 2 + vendor/github.com/oklog/ulid/CHANGELOG.md | 33 + vendor/github.com/oklog/ulid/CONTRIBUTING.md | 17 + vendor/github.com/oklog/ulid/Gopkg.lock | 15 + vendor/github.com/oklog/ulid/Gopkg.toml | 26 + vendor/github.com/oklog/ulid/LICENSE | 201 + vendor/github.com/oklog/ulid/README.md | 150 + vendor/github.com/oklog/ulid/ulid.go | 614 + vendor/go.mongodb.org/mongo-driver/LICENSE | 201 + .../go.mongodb.org/mongo-driver/bson/bson.go | 50 + .../bson/bsoncodec/array_codec.go | 55 + .../mongo-driver/bson/bsoncodec/bsoncodec.go | 382 + .../bson/bsoncodec/byte_slice_codec.go | 138 + .../bson/bsoncodec/codec_cache.go | 166 + .../bson/bsoncodec/cond_addr_codec.go | 63 + .../bson/bsoncodec/default_value_decoders.go | 1819 + .../bson/bsoncodec/default_value_encoders.go | 856 + .../mongo-driver/bson/bsoncodec/doc.go | 95 + .../bson/bsoncodec/empty_interface_codec.go | 173 + .../mongo-driver/bson/bsoncodec/map_codec.go | 343 + .../mongo-driver/bson/bsoncodec/mode.go | 65 + .../bson/bsoncodec/pointer_codec.go | 108 + .../mongo-driver/bson/bsoncodec/proxy.go | 14 + .../mongo-driver/bson/bsoncodec/registry.go | 524 + .../bson/bsoncodec/slice_codec.go | 214 + .../bson/bsoncodec/string_codec.go | 140 + .../bson/bsoncodec/struct_codec.go | 736 + .../bson/bsoncodec/struct_tag_parser.go | 148 + .../mongo-driver/bson/bsoncodec/time_codec.go | 151 + .../mongo-driver/bson/bsoncodec/types.go | 58 + .../mongo-driver/bson/bsoncodec/uint_codec.go | 202 + .../bsonoptions/byte_slice_codec_options.go | 49 + .../mongo-driver/bson/bsonoptions/doc.go | 8 + .../empty_interface_codec_options.go | 49 + .../bson/bsonoptions/map_codec_options.go | 82 + .../bson/bsonoptions/slice_codec_options.go | 49 + .../bson/bsonoptions/string_codec_options.go | 52 + .../bson/bsonoptions/struct_codec_options.go | 107 + .../bson/bsonoptions/time_codec_options.go | 49 + .../bson/bsonoptions/uint_codec_options.go | 49 + .../mongo-driver/bson/bsonrw/copier.go | 489 + .../mongo-driver/bson/bsonrw/doc.go | 9 + .../bson/bsonrw/extjson_parser.go | 806 + .../bson/bsonrw/extjson_reader.go | 653 + .../bson/bsonrw/extjson_tables.go | 223 + .../bson/bsonrw/extjson_wrappers.go | 492 + .../bson/bsonrw/extjson_writer.go | 751 + .../mongo-driver/bson/bsonrw/json_scanner.go | 533 + .../mongo-driver/bson/bsonrw/mode.go | 108 + .../mongo-driver/bson/bsonrw/reader.go | 65 + .../mongo-driver/bson/bsonrw/value_reader.go | 888 + .../mongo-driver/bson/bsonrw/value_writer.go | 640 + .../mongo-driver/bson/bsonrw/writer.go | 87 + .../mongo-driver/bson/bsontype/bsontype.go | 116 + .../mongo-driver/bson/decoder.go | 208 + .../go.mongodb.org/mongo-driver/bson/doc.go | 142 + .../mongo-driver/bson/encoder.go | 199 + .../mongo-driver/bson/marshal.go | 453 + .../mongo-driver/bson/primitive/decimal.go | 432 + .../mongo-driver/bson/primitive/objectid.go | 206 + .../mongo-driver/bson/primitive/primitive.go | 231 + .../mongo-driver/bson/primitive_codecs.go | 122 + .../go.mongodb.org/mongo-driver/bson/raw.go | 101 + .../mongo-driver/bson/raw_element.go | 48 + .../mongo-driver/bson/raw_value.go | 324 + .../mongo-driver/bson/registry.go | 47 + .../go.mongodb.org/mongo-driver/bson/types.go | 50 + .../mongo-driver/bson/unmarshal.go | 180 + .../mongo-driver/x/bsonx/bsoncore/array.go | 164 + .../x/bsonx/bsoncore/bson_arraybuilder.go | 201 + .../x/bsonx/bsoncore/bson_documentbuilder.go | 189 + .../mongo-driver/x/bsonx/bsoncore/bsoncore.go | 842 + .../mongo-driver/x/bsonx/bsoncore/doc.go | 34 + .../mongo-driver/x/bsonx/bsoncore/document.go | 386 + .../x/bsonx/bsoncore/document_sequence.go | 189 + .../mongo-driver/x/bsonx/bsoncore/element.go | 152 + .../mongo-driver/x/bsonx/bsoncore/tables.go | 223 + .../mongo-driver/x/bsonx/bsoncore/value.go | 964 + .../auto/sdk/CONTRIBUTING.md | 27 + vendor/go.opentelemetry.io/auto/sdk/LICENSE | 201 + .../auto/sdk/VERSIONING.md | 15 + vendor/go.opentelemetry.io/auto/sdk/doc.go | 14 + .../auto/sdk/internal/telemetry/attr.go | 58 + .../auto/sdk/internal/telemetry/doc.go | 8 + .../auto/sdk/internal/telemetry/id.go | 103 + .../auto/sdk/internal/telemetry/number.go | 67 + .../auto/sdk/internal/telemetry/resource.go | 66 + .../auto/sdk/internal/telemetry/scope.go | 67 + .../auto/sdk/internal/telemetry/span.go | 472 + .../auto/sdk/internal/telemetry/status.go | 42 + .../auto/sdk/internal/telemetry/traces.go | 189 + .../auto/sdk/internal/telemetry/value.go | 450 + vendor/go.opentelemetry.io/auto/sdk/limit.go | 94 + vendor/go.opentelemetry.io/auto/sdk/span.go | 447 + vendor/go.opentelemetry.io/auto/sdk/tracer.go | 141 + .../auto/sdk/tracer_provider.go | 33 + .../go.opentelemetry.io/otel/.clomonitor.yml | 3 + .../go.opentelemetry.io/otel/.codespellignore | 10 + vendor/go.opentelemetry.io/otel/.codespellrc | 10 + .../go.opentelemetry.io/otel/.gitattributes | 3 + vendor/go.opentelemetry.io/otel/.gitignore | 15 + vendor/go.opentelemetry.io/otel/.golangci.yml | 260 + vendor/go.opentelemetry.io/otel/.lycheeignore | 9 + .../otel/.markdownlint.yaml | 29 + vendor/go.opentelemetry.io/otel/CHANGELOG.md | 3543 + vendor/go.opentelemetry.io/otel/CODEOWNERS | 17 + .../go.opentelemetry.io/otel/CONTRIBUTING.md | 723 + vendor/go.opentelemetry.io/otel/LICENSE | 231 + vendor/go.opentelemetry.io/otel/Makefile | 326 + vendor/go.opentelemetry.io/otel/README.md | 122 + vendor/go.opentelemetry.io/otel/RELEASING.md | 173 + .../otel/SECURITY-INSIGHTS.yml | 203 + vendor/go.opentelemetry.io/otel/VERSIONING.md | 224 + .../otel/attribute/README.md | 3 + .../go.opentelemetry.io/otel/attribute/doc.go | 5 + .../otel/attribute/encoder.go | 135 + .../otel/attribute/filter.go | 49 + .../otel/attribute/internal/attribute.go | 96 + .../otel/attribute/iterator.go | 151 + .../go.opentelemetry.io/otel/attribute/key.go | 123 + .../go.opentelemetry.io/otel/attribute/kv.go | 75 + .../otel/attribute/rawhelpers.go | 37 + .../go.opentelemetry.io/otel/attribute/set.go | 411 + .../otel/attribute/type_string.go | 31 + .../otel/attribute/value.go | 270 + .../otel/baggage/README.md | 3 + .../otel/baggage/baggage.go | 1018 + .../otel/baggage/context.go | 28 + .../go.opentelemetry.io/otel/baggage/doc.go | 9 + .../go.opentelemetry.io/otel/codes/README.md | 3 + .../go.opentelemetry.io/otel/codes/codes.go | 106 + vendor/go.opentelemetry.io/otel/codes/doc.go | 10 + .../otel/dependencies.Dockerfile | 4 + vendor/go.opentelemetry.io/otel/doc.go | 25 + .../go.opentelemetry.io/otel/error_handler.go | 27 + vendor/go.opentelemetry.io/otel/handler.go | 33 + .../otel/internal/baggage/baggage.go | 32 + .../otel/internal/baggage/context.go | 81 + .../otel/internal/global/handler.go | 37 + .../otel/internal/global/instruments.go | 412 + .../otel/internal/global/internal_logging.go | 62 + .../otel/internal/global/meter.go | 625 + .../otel/internal/global/propagator.go | 71 + .../otel/internal/global/state.go | 199 + .../otel/internal/global/trace.go | 232 + .../otel/internal_logging.go | 15 + vendor/go.opentelemetry.io/otel/metric.go | 42 + .../go.opentelemetry.io/otel/metric/LICENSE | 231 + .../go.opentelemetry.io/otel/metric/README.md | 3 + .../otel/metric/asyncfloat64.go | 266 + .../otel/metric/asyncint64.go | 262 + .../go.opentelemetry.io/otel/metric/config.go | 81 + vendor/go.opentelemetry.io/otel/metric/doc.go | 177 + .../otel/metric/embedded/README.md | 3 + .../otel/metric/embedded/embedded.go | 243 + .../otel/metric/instrument.go | 376 + .../go.opentelemetry.io/otel/metric/meter.go | 284 + .../otel/metric/syncfloat64.go | 226 + .../otel/metric/syncint64.go | 226 + .../go.opentelemetry.io/otel/propagation.go | 20 + .../otel/propagation/README.md | 3 + .../otel/propagation/baggage.go | 77 + .../otel/propagation/doc.go | 13 + .../otel/propagation/propagation.go | 168 + .../otel/propagation/trace_context.go | 156 + vendor/go.opentelemetry.io/otel/renovate.json | 35 + .../go.opentelemetry.io/otel/requirements.txt | 1 + .../otel/semconv/internal/v2/http.go | 398 + .../otel/semconv/internal/v2/net.go | 313 + .../otel/semconv/v1.17.0/README.md | 3 + .../otel/semconv/v1.17.0/doc.go | 9 + .../otel/semconv/v1.17.0/event.go | 188 + .../otel/semconv/v1.17.0/exception.go | 9 + .../otel/semconv/v1.17.0/http.go | 10 + .../otel/semconv/v1.17.0/httpconv/README.md | 3 + .../otel/semconv/v1.17.0/httpconv/http.go | 141 + .../otel/semconv/v1.17.0/resource.go | 1999 + .../otel/semconv/v1.17.0/schema.go | 9 + .../otel/semconv/v1.17.0/trace.go | 3364 + .../otel/semconv/v1.37.0/MIGRATION.md | 41 + .../otel/semconv/v1.37.0/README.md | 3 + .../otel/semconv/v1.37.0/attribute_group.go | 15193 ++ .../otel/semconv/v1.37.0/doc.go | 9 + .../otel/semconv/v1.37.0/error_type.go | 31 + .../otel/semconv/v1.37.0/exception.go | 9 + .../otel/semconv/v1.37.0/schema.go | 9 + vendor/go.opentelemetry.io/otel/trace.go | 36 + vendor/go.opentelemetry.io/otel/trace/LICENSE | 231 + .../go.opentelemetry.io/otel/trace/README.md | 3 + vendor/go.opentelemetry.io/otel/trace/auto.go | 662 + .../go.opentelemetry.io/otel/trace/config.go | 323 + .../go.opentelemetry.io/otel/trace/context.go | 50 + vendor/go.opentelemetry.io/otel/trace/doc.go | 119 + .../otel/trace/embedded/README.md | 3 + .../otel/trace/embedded/embedded.go | 45 + vendor/go.opentelemetry.io/otel/trace/hex.go | 38 + .../otel/trace/internal/telemetry/attr.go | 58 + .../otel/trace/internal/telemetry/doc.go | 8 + .../otel/trace/internal/telemetry/id.go | 103 + .../otel/trace/internal/telemetry/number.go | 67 + .../otel/trace/internal/telemetry/resource.go | 66 + .../otel/trace/internal/telemetry/scope.go | 67 + .../otel/trace/internal/telemetry/span.go | 472 + .../otel/trace/internal/telemetry/status.go | 42 + .../otel/trace/internal/telemetry/traces.go | 189 + .../otel/trace/internal/telemetry/value.go | 453 + .../otel/trace/nonrecording.go | 16 + vendor/go.opentelemetry.io/otel/trace/noop.go | 105 + .../otel/trace/noop/README.md | 3 + .../otel/trace/noop/noop.go | 112 + .../otel/trace/provider.go | 59 + vendor/go.opentelemetry.io/otel/trace/span.go | 177 + .../go.opentelemetry.io/otel/trace/trace.go | 365 + .../go.opentelemetry.io/otel/trace/tracer.go | 37 + .../otel/trace/tracestate.go | 330 + .../otel/verify_released_changelog.sh | 42 + vendor/go.opentelemetry.io/otel/version.go | 9 + vendor/go.opentelemetry.io/otel/versions.yaml | 44 + vendor/go.yaml.in/yaml/v2/.travis.yml | 17 + vendor/go.yaml.in/yaml/v2/LICENSE | 201 + vendor/go.yaml.in/yaml/v2/LICENSE.libyaml | 31 + vendor/go.yaml.in/yaml/v2/NOTICE | 13 + vendor/go.yaml.in/yaml/v2/README.md | 131 + vendor/go.yaml.in/yaml/v2/apic.go | 744 + vendor/go.yaml.in/yaml/v2/decode.go | 815 + vendor/go.yaml.in/yaml/v2/emitterc.go | 1685 + vendor/go.yaml.in/yaml/v2/encode.go | 390 + vendor/go.yaml.in/yaml/v2/parserc.go | 1095 + vendor/go.yaml.in/yaml/v2/readerc.go | 412 + vendor/go.yaml.in/yaml/v2/resolve.go | 258 + vendor/go.yaml.in/yaml/v2/scannerc.go | 2711 + vendor/go.yaml.in/yaml/v2/sorter.go | 113 + vendor/go.yaml.in/yaml/v2/writerc.go | 26 + vendor/go.yaml.in/yaml/v2/yaml.go | 478 + vendor/go.yaml.in/yaml/v2/yamlh.go | 739 + vendor/go.yaml.in/yaml/v2/yamlprivateh.go | 173 + vendor/modules.txt | 200 + vendor/sigs.k8s.io/yaml/LICENSE | 306 + vendor/sigs.k8s.io/yaml/goyaml.v2/README.md | 71 + .../yaml/goyaml.v2/yaml_aliases.go | 85 + 2287 files changed, 991195 insertions(+), 7 deletions(-) create mode 100644 .claude/settings.local.json create mode 100644 .golangci.yml create mode 100644 cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go create mode 100644 cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go create mode 100644 cmd/mapt/cmd/ibmcloud/ibmcloud.go create mode 100644 docs/ibmcloud/ibm-power.md create mode 100644 docs/ibmcloud/ibm-z.md create mode 100644 pkg/provider/ibmcloud/action/ibm-power/cloud-config create mode 100644 pkg/provider/ibmcloud/action/ibm-power/ibm-power.go create mode 100644 pkg/provider/ibmcloud/action/ibm-z/ibm-z.go create mode 100644 pkg/provider/ibmcloud/constants/constants.go create mode 100644 pkg/provider/ibmcloud/data/piimages.go create mode 100644 pkg/provider/ibmcloud/data/vpcimages.go create mode 100644 pkg/provider/ibmcloud/ibmcloud.go create mode 100644 pkg/provider/ibmcloud/modules/compute/compute.go create mode 100644 pkg/provider/ibmcloud/modules/network/network.go create mode 100644 pkg/provider/ibmcloud/services/power/power.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/LICENSE create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/Development.md create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-clonevolumes.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-cloud-connection.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-cloud-instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-datacenters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-dhcp.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-dr-location.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-helper.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-host-groups.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-image.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-instance-networks.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-job.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-key.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-address-group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-peers.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-security-group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-placement-groups.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-routes.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-sap-instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-shared-processor-pool.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-snapshot.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-spp-placement-groups.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-ssh-key.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-storage-capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-storage-tiers.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-system-pools.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-tasks.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-tenant.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-virtual-serial-number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume-group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume-onboarding.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpmem.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpn-policy.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpn.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-workspaces.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/errors/errors.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/helpers/constants.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/helpers/env.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/logger.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/session.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/utils.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/authentication_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_callback_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_callback_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_code_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_code_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_token_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_token_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_token_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_token_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_user_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_user_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_login_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_login_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_logout_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_logout_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_callback_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_callback_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_token_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_token_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instances_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/datacenters_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/hardware_platforms_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/service_broker_hardwareplatforms_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/service_broker_hardwareplatforms_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/host_groups_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_available_hosts_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_available_hosts_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/iaas_service_broker_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_head_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_head_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_test_timeout_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_test_timeout_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_version_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_version_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_capacity_management_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_v1_capacity_management_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_v1_capacity_management_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_operations_dedicated_hosts_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_operations_images_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_operations_network_address_groups_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_operations_network_interfaces_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_operations_network_security_groups_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_operations_networks_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_operations_pvm_instances_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_operations_shared_processor_pools_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_operations_snapshots_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_operationsvp_mem_volumes_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_operations_volumes_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_powervs_instances_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_v1_powervs_instances_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_v1_powervs_instances_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_powervs_locations_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_activate_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_activate_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_transitgateway_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_transitgateway_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_storage_regions_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_transit_gateway_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_v1_transitgateway_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_v1_transitgateway_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/network_address_groups_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/network_peers_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_interfaces_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_interfaces_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filters_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filters_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/network_security_groups_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_action_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_action_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_list_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_list_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_move_member_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_move_member_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/networks_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/open_stacks_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_hosts_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_hosts_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_openstack_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_openstack_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_servers_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_servers_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/p_cloud_cloud_connections_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_virtualprivateclouds_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_virtualprivateclouds_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/p_cloud_disaster_recovery_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/p_cloud_events_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_getquery_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_getquery_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/p_cloud_images_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_export_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_export_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/p_cloud_instances_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_shared_images_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_shared_images_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/p_cloud_jobs_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/p_cloud_networks_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/p_cloudp_vm_instances_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_action_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_action_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_capture_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_capture_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_clone_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_clone_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_operations_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_operations_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_restore_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_restore_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/p_cloud_placement_groups_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/p_cloud_pod_capacity_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/pcloud_podcapacity_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/pcloud_podcapacity_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/p_cloudsap_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/p_cloudspp_placement_groups_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/p_cloud_servicedhcp_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/p_cloud_shared_processor_pools_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/p_cloud_snapshots_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/p_cloud_storage_capacity_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/p_cloud_storage_tiers_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/pcloud_cloudinstances_storagetiers_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/pcloud_cloudinstances_storagetiers_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/p_cloud_system_pools_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/pcloud_systempools_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/pcloud_systempools_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/p_cloud_tasks_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/p_cloud_tenants_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/p_cloud_tenants_ssh_keys_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/p_cloudvp_mem_volumes_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/p_cloudvpn_connections_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/p_cloudvpn_policies_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/p_cloud_virtual_serial_number_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_softwaretiers_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_softwaretiers_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/p_cloud_volume_groups_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_action_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_action_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_details_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_details_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_details_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_details_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_remote_copy_relationships_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_remote_copy_relationships_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_storage_details_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_storage_details_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/p_cloud_volume_onboarding_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/p_cloud_volumes_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_action_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_action_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_flash_copy_mappings_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_flash_copy_mappings_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_remote_copy_relationship_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_remote_copy_relationship_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_setboot_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_setboot_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clone_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clone_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clonetasks_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clonetasks_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_cancel_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_cancel_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_execute_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_execute_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_start_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_start_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_volumes_clone_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_volumes_clone_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/power_edge_router_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/v1_poweredgerouter_action_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/v1_poweredgerouter_action_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/power_iaas_api_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/routes_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_report_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_report_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_binding_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_binding_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_last_operation_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_last_operation_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_unbinding_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_unbinding_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_bindings_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_deprovision_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_deprovision_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_last_operation_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_last_operation_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_provision_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_provision_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_update_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_update_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instances_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/snapshots_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/ssh_keys_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_delete_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_delete_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_post_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_post_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_put_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_put_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/service_broker_storagetypes_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/service_broker_storagetypes_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/storage_types_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/service_broker_swaggerspec_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/service_broker_swaggerspec_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/swagger_spec_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_get_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_get_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_getall_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_getall_responses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/workspaces_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/access_config.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/access_role.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/access_token.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/add_host.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/add_server_virtual_serial_number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/async_operation.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/auxiliary_volume_for_onboarding.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/auxiliary_volumes_for_onboarding.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_list.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_resource_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/available_stock_images.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/c_r_n.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/capabilities_details.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/catalog.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/clone_task_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/clone_task_status.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloned_volume.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloned_volume_detail.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_create_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_classic.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_classic_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_v_p_c.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_g_r_e_tunnel.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_g_r_e_tunnel_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_v_p_c.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_virtual_private_clouds.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connections.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_initialization.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_shared_images.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_usage_limits.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/console_language.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/console_languages.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/context.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/create_cos_image_import_job.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/create_data_volume.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/create_image.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/create_server_virtual_serial_number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/create_workspace_ssh_key.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_detail.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_leases.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_network.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_servers.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/dashboard_client.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenter.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenter_location.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/dead_peer_detection.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/delete_server_virtual_serial_number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/deployment_target.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/device_code.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery_location.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery_locations.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/error.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/event.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/event_user.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/events.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/export_image.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/flash_copy_mapping.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/flash_copy_mappings.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/get_bulk_volume.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/get_server_virtual_serial_number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/hardware_platform.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/hardware_platforms.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/health.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_list.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_share_op.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_summary.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_href.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_info.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_list.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_p_vm_instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_put.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resource.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resource_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resources.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policies.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_authentication.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_ref.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/image.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/image_import_details.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/image_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/image_specifications.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/image_volume.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/images.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/instance_capabilities.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/instance_capability.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_capacity_management_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_capacity_management_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_operations_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_operations_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_address_range.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_s_e_c_policy_authentication.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policies.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_ref.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/job.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/job_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/jobs.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/json_schema_object.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/key_lifetime.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/last_operation_resource.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/maximum_storage_allocation.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/metadata.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/min_max_default.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/multi_volumes_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_add_member.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_member.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_groups.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_translation.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_create_peer.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_i_ds.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_id.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interfaces.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_type.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peers.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_ports.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_add_member.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_add_rule.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_clone.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_member.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_move_member.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_port.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_protocol.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_protocol_tcp_flag.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_remote.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_groups.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_groups_action.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/network_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/networks.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/object.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack_info.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stacks.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/operation.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/operations.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/owner_info.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_action.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_add_network.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_capture.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_clone.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_configuration.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_console.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_cores.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_delete.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_fault.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_health.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_list.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_memory.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_multi_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_network.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_networks.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_operating_system.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_operation.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_reference_v2.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_remove_network.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_update_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_v2_health.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_v2_network_port.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_virtual_cores.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_volume_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instances.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instances_v2.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_gateway_address.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_interface.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_interfaces.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_subnet_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_subnets.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/peering_network.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/permissions.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/pin_policy.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group_server.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_groups.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/plan.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/pod_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/pod_data.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/power_edge_router_action.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/power_v_s_instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/power_v_s_instances.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_deployment.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_host.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_placement_group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/region_storage_tiers.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/region_storage_types.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/remote_copy_relationship.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/remove_virtual_serial_number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_service.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_sites.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_target_location.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/resource_access.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/resource_target_info.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/route.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/route_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/route_filter.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/route_filter_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/route_report.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/route_report_route.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/route_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/routes.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profile.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profile_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profiles.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_group_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_groups.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/s_r_c.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_order.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_registration.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_tag.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/schema_parameters.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/schemas_object.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/secondary.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_authentication_info.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_resource.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_resource_object.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_schema_object.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_volume_mount.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_volume_mount_device.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_async_operation.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_previous_values.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_provision.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_provision_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_resource.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_schema_object.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_update_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_detail.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_placement_group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_server.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pools.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/site.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_create_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_list.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_restore.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_v1.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshots.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/softlayer_subscription.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/software_licenses.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/software_tier.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ssh_key.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/ssh_keys.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/status.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/status_description.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/status_description_error.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/stock_image.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/stock_images.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_affinity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_controller.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_controllers.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_entities.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_combined.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_map.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pools.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pools_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_tier.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_type.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_type_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_types.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_types_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_software_tier.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_software_tier_list.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_systems.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/system.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pool.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pool_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pools.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pools_capacity.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/system_resources.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/tags.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/target_object.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/task.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/task_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/tenant.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/tenant_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/thresholds.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/token.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/token_extra.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/token_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_connection_error_item.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_instance.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_location.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_locations.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/update_server_virtual_serial_number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/update_storage_pool.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/update_virtual_serial_number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/update_volume.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/update_workspace_ssh_key.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/user_authentication_info.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/user_info.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_attach.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volumes.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_create_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connections.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/version.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_cores.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_serial_number.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_serial_number_list.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_action.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_reset.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_start.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_stop.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_create_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_details.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_remote_copy_relationships.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_storage_details.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_update.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_groups.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_groups_details.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_info.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_common.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_create_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_failure.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboardings.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_reference.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_remote_copy_relationship.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_snapshot_list.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_attach.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_attachment_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_async_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_cancel.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_create.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_detail.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_execute.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_request.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clones.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_delete.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_delete_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_detach.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_detachment_response.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_details.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_location.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_network_security_groups_details.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_power_edge_router_details.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_ssh_key.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_ssh_keys.go create mode 100644 vendor/github.com/IBM-Cloud/power-go-client/power/models/workspaces.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/LICENSE create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/authentication_error.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/authenticator_factory.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/base_service.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/basic_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/bearer_token_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/config_utils.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/constants.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/container_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/cp4d_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/datetime.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/detailed_response.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/doc.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/file_with_metadata.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/gzip.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/http_problem.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/iam_assume_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/iam_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/ibm_problem.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/jwt_utils.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/log.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/mcsp_v1_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/mcsp_v2_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/noauth_authenticator.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/ordered_maps.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/parameterized_url.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/problem.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/problem_utils.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/request_builder.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/sdk_problem.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/sdk_problem_utils.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/unmarshal_v2.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/utils.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/version.go create mode 100644 vendor/github.com/IBM/go-sdk-core/v5/core/vpc_instance_authenticator.go create mode 100644 vendor/github.com/IBM/platform-services-go-sdk/LICENSE create mode 100644 vendor/github.com/IBM/platform-services-go-sdk/common/headers.go create mode 100644 vendor/github.com/IBM/platform-services-go-sdk/common/utils.go create mode 100644 vendor/github.com/IBM/platform-services-go-sdk/common/version.go create mode 100644 vendor/github.com/IBM/platform-services-go-sdk/resourcecontrollerv2/resource_controller_v2.go create mode 100644 vendor/github.com/IBM/vpc-go-sdk/LICENSE create mode 100644 vendor/github.com/IBM/vpc-go-sdk/common/headers.go create mode 100644 vendor/github.com/IBM/vpc-go-sdk/common/version.go create mode 100644 vendor/github.com/IBM/vpc-go-sdk/vpcv1/vpc_v1.go create mode 100644 vendor/github.com/go-logr/logr/.golangci.yaml create mode 100644 vendor/github.com/go-logr/logr/CHANGELOG.md create mode 100644 vendor/github.com/go-logr/logr/CONTRIBUTING.md create mode 100644 vendor/github.com/go-logr/logr/LICENSE create mode 100644 vendor/github.com/go-logr/logr/README.md create mode 100644 vendor/github.com/go-logr/logr/SECURITY.md create mode 100644 vendor/github.com/go-logr/logr/context.go create mode 100644 vendor/github.com/go-logr/logr/context_noslog.go create mode 100644 vendor/github.com/go-logr/logr/context_slog.go create mode 100644 vendor/github.com/go-logr/logr/discard.go create mode 100644 vendor/github.com/go-logr/logr/funcr/funcr.go create mode 100644 vendor/github.com/go-logr/logr/funcr/slogsink.go create mode 100644 vendor/github.com/go-logr/logr/logr.go create mode 100644 vendor/github.com/go-logr/logr/sloghandler.go create mode 100644 vendor/github.com/go-logr/logr/slogr.go create mode 100644 vendor/github.com/go-logr/logr/slogsink.go create mode 100644 vendor/github.com/go-logr/stdr/LICENSE create mode 100644 vendor/github.com/go-logr/stdr/README.md create mode 100644 vendor/github.com/go-logr/stdr/stdr.go create mode 100644 vendor/github.com/go-openapi/analysis/.codecov.yml create mode 100644 vendor/github.com/go-openapi/analysis/.gitattributes create mode 100644 vendor/github.com/go-openapi/analysis/.gitignore create mode 100644 vendor/github.com/go-openapi/analysis/.golangci.yml create mode 100644 vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/analysis/LICENSE create mode 100644 vendor/github.com/go-openapi/analysis/README.md create mode 100644 vendor/github.com/go-openapi/analysis/analyzer.go create mode 100644 vendor/github.com/go-openapi/analysis/debug.go create mode 100644 vendor/github.com/go-openapi/analysis/doc.go create mode 100644 vendor/github.com/go-openapi/analysis/fixer.go create mode 100644 vendor/github.com/go-openapi/analysis/flatten.go create mode 100644 vendor/github.com/go-openapi/analysis/flatten_name.go create mode 100644 vendor/github.com/go-openapi/analysis/flatten_options.go create mode 100644 vendor/github.com/go-openapi/analysis/internal/debug/debug.go create mode 100644 vendor/github.com/go-openapi/analysis/internal/flatten/normalize/normalize.go create mode 100644 vendor/github.com/go-openapi/analysis/internal/flatten/operations/operations.go create mode 100644 vendor/github.com/go-openapi/analysis/internal/flatten/replace/replace.go create mode 100644 vendor/github.com/go-openapi/analysis/internal/flatten/schutils/flatten_schema.go create mode 100644 vendor/github.com/go-openapi/analysis/internal/flatten/sortref/keys.go create mode 100644 vendor/github.com/go-openapi/analysis/internal/flatten/sortref/sort_ref.go create mode 100644 vendor/github.com/go-openapi/analysis/mixin.go create mode 100644 vendor/github.com/go-openapi/analysis/schema.go create mode 100644 vendor/github.com/go-openapi/errors/.gitattributes create mode 100644 vendor/github.com/go-openapi/errors/.gitignore create mode 100644 vendor/github.com/go-openapi/errors/.golangci.yml create mode 100644 vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/errors/LICENSE create mode 100644 vendor/github.com/go-openapi/errors/README.md create mode 100644 vendor/github.com/go-openapi/errors/api.go create mode 100644 vendor/github.com/go-openapi/errors/auth.go create mode 100644 vendor/github.com/go-openapi/errors/doc.go create mode 100644 vendor/github.com/go-openapi/errors/headers.go create mode 100644 vendor/github.com/go-openapi/errors/middleware.go create mode 100644 vendor/github.com/go-openapi/errors/parsing.go create mode 100644 vendor/github.com/go-openapi/errors/schema.go create mode 100644 vendor/github.com/go-openapi/jsonpointer/.editorconfig create mode 100644 vendor/github.com/go-openapi/jsonpointer/.gitignore create mode 100644 vendor/github.com/go-openapi/jsonpointer/.golangci.yml create mode 100644 vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/jsonpointer/LICENSE create mode 100644 vendor/github.com/go-openapi/jsonpointer/README.md create mode 100644 vendor/github.com/go-openapi/jsonpointer/errors.go create mode 100644 vendor/github.com/go-openapi/jsonpointer/pointer.go create mode 100644 vendor/github.com/go-openapi/jsonreference/.gitignore create mode 100644 vendor/github.com/go-openapi/jsonreference/.golangci.yml create mode 100644 vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/jsonreference/LICENSE create mode 100644 vendor/github.com/go-openapi/jsonreference/README.md create mode 100644 vendor/github.com/go-openapi/jsonreference/internal/normalize_url.go create mode 100644 vendor/github.com/go-openapi/jsonreference/reference.go create mode 100644 vendor/github.com/go-openapi/loads/.editorconfig create mode 100644 vendor/github.com/go-openapi/loads/.gitignore create mode 100644 vendor/github.com/go-openapi/loads/.golangci.yml create mode 100644 vendor/github.com/go-openapi/loads/.travis.yml create mode 100644 vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/loads/LICENSE create mode 100644 vendor/github.com/go-openapi/loads/README.md create mode 100644 vendor/github.com/go-openapi/loads/doc.go create mode 100644 vendor/github.com/go-openapi/loads/loaders.go create mode 100644 vendor/github.com/go-openapi/loads/options.go create mode 100644 vendor/github.com/go-openapi/loads/spec.go create mode 100644 vendor/github.com/go-openapi/runtime/.editorconfig create mode 100644 vendor/github.com/go-openapi/runtime/.gitattributes create mode 100644 vendor/github.com/go-openapi/runtime/.gitignore create mode 100644 vendor/github.com/go-openapi/runtime/.golangci.yml create mode 100644 vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/runtime/LICENSE create mode 100644 vendor/github.com/go-openapi/runtime/README.md create mode 100644 vendor/github.com/go-openapi/runtime/bytestream.go create mode 100644 vendor/github.com/go-openapi/runtime/client/auth_info.go create mode 100644 vendor/github.com/go-openapi/runtime/client/keepalive.go create mode 100644 vendor/github.com/go-openapi/runtime/client/opentelemetry.go create mode 100644 vendor/github.com/go-openapi/runtime/client/opentracing.go create mode 100644 vendor/github.com/go-openapi/runtime/client/request.go create mode 100644 vendor/github.com/go-openapi/runtime/client/response.go create mode 100644 vendor/github.com/go-openapi/runtime/client/runtime.go create mode 100644 vendor/github.com/go-openapi/runtime/client_auth_info.go create mode 100644 vendor/github.com/go-openapi/runtime/client_operation.go create mode 100644 vendor/github.com/go-openapi/runtime/client_request.go create mode 100644 vendor/github.com/go-openapi/runtime/client_response.go create mode 100644 vendor/github.com/go-openapi/runtime/constants.go create mode 100644 vendor/github.com/go-openapi/runtime/csv.go create mode 100644 vendor/github.com/go-openapi/runtime/csv_options.go create mode 100644 vendor/github.com/go-openapi/runtime/discard.go create mode 100644 vendor/github.com/go-openapi/runtime/file.go create mode 100644 vendor/github.com/go-openapi/runtime/headers.go create mode 100644 vendor/github.com/go-openapi/runtime/interfaces.go create mode 100644 vendor/github.com/go-openapi/runtime/json.go create mode 100644 vendor/github.com/go-openapi/runtime/logger/logger.go create mode 100644 vendor/github.com/go-openapi/runtime/logger/standard.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/context.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/denco/LICENSE create mode 100644 vendor/github.com/go-openapi/runtime/middleware/denco/README.md create mode 100644 vendor/github.com/go-openapi/runtime/middleware/denco/router.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/denco/server.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/denco/util.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/doc.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/header/header.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/negotiate.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/not_implemented.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/operation.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/parameter.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/rapidoc.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/redoc.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/request.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/router.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/security.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/spec.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/swaggerui.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/swaggerui_oauth2.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/ui_options.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/untyped/api.go create mode 100644 vendor/github.com/go-openapi/runtime/middleware/validation.go create mode 100644 vendor/github.com/go-openapi/runtime/request.go create mode 100644 vendor/github.com/go-openapi/runtime/security/authenticator.go create mode 100644 vendor/github.com/go-openapi/runtime/security/authorizer.go create mode 100644 vendor/github.com/go-openapi/runtime/statuses.go create mode 100644 vendor/github.com/go-openapi/runtime/text.go create mode 100644 vendor/github.com/go-openapi/runtime/values.go create mode 100644 vendor/github.com/go-openapi/runtime/xml.go create mode 100644 vendor/github.com/go-openapi/runtime/yamlpc/yaml.go create mode 100644 vendor/github.com/go-openapi/spec/.editorconfig create mode 100644 vendor/github.com/go-openapi/spec/.gitignore create mode 100644 vendor/github.com/go-openapi/spec/.golangci.yml create mode 100644 vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/spec/LICENSE create mode 100644 vendor/github.com/go-openapi/spec/README.md create mode 100644 vendor/github.com/go-openapi/spec/cache.go create mode 100644 vendor/github.com/go-openapi/spec/contact_info.go create mode 100644 vendor/github.com/go-openapi/spec/debug.go create mode 100644 vendor/github.com/go-openapi/spec/embed.go create mode 100644 vendor/github.com/go-openapi/spec/errors.go create mode 100644 vendor/github.com/go-openapi/spec/expander.go create mode 100644 vendor/github.com/go-openapi/spec/external_docs.go create mode 100644 vendor/github.com/go-openapi/spec/header.go create mode 100644 vendor/github.com/go-openapi/spec/info.go create mode 100644 vendor/github.com/go-openapi/spec/items.go create mode 100644 vendor/github.com/go-openapi/spec/license.go create mode 100644 vendor/github.com/go-openapi/spec/normalizer.go create mode 100644 vendor/github.com/go-openapi/spec/normalizer_nonwindows.go create mode 100644 vendor/github.com/go-openapi/spec/normalizer_windows.go create mode 100644 vendor/github.com/go-openapi/spec/operation.go create mode 100644 vendor/github.com/go-openapi/spec/parameter.go create mode 100644 vendor/github.com/go-openapi/spec/path_item.go create mode 100644 vendor/github.com/go-openapi/spec/paths.go create mode 100644 vendor/github.com/go-openapi/spec/properties.go create mode 100644 vendor/github.com/go-openapi/spec/ref.go create mode 100644 vendor/github.com/go-openapi/spec/resolver.go create mode 100644 vendor/github.com/go-openapi/spec/response.go create mode 100644 vendor/github.com/go-openapi/spec/responses.go create mode 100644 vendor/github.com/go-openapi/spec/schema.go create mode 100644 vendor/github.com/go-openapi/spec/schema_loader.go create mode 100644 vendor/github.com/go-openapi/spec/schemas/jsonschema-draft-04.json create mode 100644 vendor/github.com/go-openapi/spec/schemas/v2/schema.json create mode 100644 vendor/github.com/go-openapi/spec/security_scheme.go create mode 100644 vendor/github.com/go-openapi/spec/spec.go create mode 100644 vendor/github.com/go-openapi/spec/swagger.go create mode 100644 vendor/github.com/go-openapi/spec/tag.go create mode 100644 vendor/github.com/go-openapi/spec/url_go19.go create mode 100644 vendor/github.com/go-openapi/spec/validations.go create mode 100644 vendor/github.com/go-openapi/spec/xml_object.go create mode 100644 vendor/github.com/go-openapi/strfmt/.editorconfig create mode 100644 vendor/github.com/go-openapi/strfmt/.gitattributes create mode 100644 vendor/github.com/go-openapi/strfmt/.gitignore create mode 100644 vendor/github.com/go-openapi/strfmt/.golangci.yml create mode 100644 vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/strfmt/LICENSE create mode 100644 vendor/github.com/go-openapi/strfmt/README.md create mode 100644 vendor/github.com/go-openapi/strfmt/bson.go create mode 100644 vendor/github.com/go-openapi/strfmt/date.go create mode 100644 vendor/github.com/go-openapi/strfmt/default.go create mode 100644 vendor/github.com/go-openapi/strfmt/doc.go create mode 100644 vendor/github.com/go-openapi/strfmt/duration.go create mode 100644 vendor/github.com/go-openapi/strfmt/errors.go create mode 100644 vendor/github.com/go-openapi/strfmt/format.go create mode 100644 vendor/github.com/go-openapi/strfmt/ifaces.go create mode 100644 vendor/github.com/go-openapi/strfmt/mongo.go create mode 100644 vendor/github.com/go-openapi/strfmt/time.go create mode 100644 vendor/github.com/go-openapi/strfmt/ulid.go create mode 100644 vendor/github.com/go-openapi/swag/.editorconfig create mode 100644 vendor/github.com/go-openapi/swag/.gitattributes create mode 100644 vendor/github.com/go-openapi/swag/.gitignore create mode 100644 vendor/github.com/go-openapi/swag/.golangci.yml create mode 100644 vendor/github.com/go-openapi/swag/BENCHMARK.md create mode 100644 vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/swag/LICENSE create mode 100644 vendor/github.com/go-openapi/swag/README.md create mode 100644 vendor/github.com/go-openapi/swag/convert.go create mode 100644 vendor/github.com/go-openapi/swag/convert_types.go create mode 100644 vendor/github.com/go-openapi/swag/doc.go create mode 100644 vendor/github.com/go-openapi/swag/errors.go create mode 100644 vendor/github.com/go-openapi/swag/file.go create mode 100644 vendor/github.com/go-openapi/swag/initialism_index.go create mode 100644 vendor/github.com/go-openapi/swag/json.go create mode 100644 vendor/github.com/go-openapi/swag/loading.go create mode 100644 vendor/github.com/go-openapi/swag/name_lexem.go create mode 100644 vendor/github.com/go-openapi/swag/net.go create mode 100644 vendor/github.com/go-openapi/swag/path.go create mode 100644 vendor/github.com/go-openapi/swag/split.go create mode 100644 vendor/github.com/go-openapi/swag/string_bytes.go create mode 100644 vendor/github.com/go-openapi/swag/util.go create mode 100644 vendor/github.com/go-openapi/swag/yaml.go create mode 100644 vendor/github.com/go-openapi/validate/.editorconfig create mode 100644 vendor/github.com/go-openapi/validate/.gitattributes create mode 100644 vendor/github.com/go-openapi/validate/.gitignore create mode 100644 vendor/github.com/go-openapi/validate/.golangci.yml create mode 100644 vendor/github.com/go-openapi/validate/BENCHMARK.md create mode 100644 vendor/github.com/go-openapi/validate/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/go-openapi/validate/LICENSE create mode 100644 vendor/github.com/go-openapi/validate/README.md create mode 100644 vendor/github.com/go-openapi/validate/context.go create mode 100644 vendor/github.com/go-openapi/validate/debug.go create mode 100644 vendor/github.com/go-openapi/validate/default_validator.go create mode 100644 vendor/github.com/go-openapi/validate/doc.go create mode 100644 vendor/github.com/go-openapi/validate/example_validator.go create mode 100644 vendor/github.com/go-openapi/validate/formats.go create mode 100644 vendor/github.com/go-openapi/validate/helpers.go create mode 100644 vendor/github.com/go-openapi/validate/object_validator.go create mode 100644 vendor/github.com/go-openapi/validate/options.go create mode 100644 vendor/github.com/go-openapi/validate/pools.go create mode 100644 vendor/github.com/go-openapi/validate/pools_debug.go create mode 100644 vendor/github.com/go-openapi/validate/result.go create mode 100644 vendor/github.com/go-openapi/validate/rexp.go create mode 100644 vendor/github.com/go-openapi/validate/schema.go create mode 100644 vendor/github.com/go-openapi/validate/schema_messages.go create mode 100644 vendor/github.com/go-openapi/validate/schema_option.go create mode 100644 vendor/github.com/go-openapi/validate/schema_props.go create mode 100644 vendor/github.com/go-openapi/validate/slice_validator.go create mode 100644 vendor/github.com/go-openapi/validate/spec.go create mode 100644 vendor/github.com/go-openapi/validate/spec_messages.go create mode 100644 vendor/github.com/go-openapi/validate/type.go create mode 100644 vendor/github.com/go-openapi/validate/update-fixtures.sh create mode 100644 vendor/github.com/go-openapi/validate/validator.go create mode 100644 vendor/github.com/go-openapi/validate/values.go create mode 100644 vendor/github.com/hashicorp/go-cleanhttp/LICENSE create mode 100644 vendor/github.com/hashicorp/go-cleanhttp/README.md create mode 100644 vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go create mode 100644 vendor/github.com/hashicorp/go-cleanhttp/doc.go create mode 100644 vendor/github.com/hashicorp/go-cleanhttp/handlers.go create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/.gitignore create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/.go-version create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/.golangci.yml create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/CHANGELOG.md create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/CODEOWNERS create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/LICENSE create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/Makefile create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/README.md create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/cert_error_go119.go create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/cert_error_go120.go create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/client.go create mode 100644 vendor/github.com/hashicorp/go-retryablehttp/roundtripper.go create mode 100644 vendor/github.com/josharian/intern/README.md create mode 100644 vendor/github.com/josharian/intern/intern.go create mode 100644 vendor/github.com/josharian/intern/license.md create mode 100644 vendor/github.com/mailru/easyjson/LICENSE create mode 100644 vendor/github.com/mailru/easyjson/buffer/pool.go create mode 100644 vendor/github.com/mailru/easyjson/jlexer/bytestostr.go create mode 100644 vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go create mode 100644 vendor/github.com/mailru/easyjson/jlexer/error.go create mode 100644 vendor/github.com/mailru/easyjson/jlexer/lexer.go create mode 100644 vendor/github.com/mailru/easyjson/jwriter/writer.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/LICENSE create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeAutoscaleGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeAutoscalePolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeBareMetal.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeDedicatedHost.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeMonitor.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computePlacementGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeProvisioningHook.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeReservedCapacity.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeSshKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeSslCertificate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeUser.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeVmInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBackupPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBackupVault.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucket.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketLifecycleConfiguration.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketObject.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketObjectLockConfiguration.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketReplicationRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketWebsiteConfiguration.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/doc.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeBareMetal.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeImageTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputePlacementGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeReservedCapacity.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeSshKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeVmInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBackupPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBackupVault.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBucket.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBucketObject.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupTemplateAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupTemplateVersions.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessTag.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsExternalInteraction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsTemplateAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlAssignments.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlTemplateVersion.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamApiKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAuthToken.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAuthorizationPolicies.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamEffectiveAccountSettings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyAssignments.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyTemplateVersion.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamRoleActions.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamRoles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamServiceId.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamServicePolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileClaimRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileClaimRules.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileIdentities.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileIdentity.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileLink.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileLinks.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfilePolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileTemplateAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserMfaEnrollments.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUsers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicies.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyJob.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyJobs.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyPlan.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyPlans.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServer.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerDisk.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerDisks.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerInitialization.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkAttachments.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceFloatingIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceFloatingIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceReservedIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceReservedIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaces.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetwork.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkInterfaces.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnet.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnetReservedIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnetReservedIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnets.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworks.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHost.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostDisk.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostDisks.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHosts.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsEndpointGatewayTargets.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFloatingIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFloatingIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFlowLog.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFlowLogs.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIkePolicies.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIkePolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImage.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageBareMetalServerProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageExportJob.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageExportJobs.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageInstanceProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImages.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceClusterNetworkAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceClusterNetworkAttachments.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceDisk.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceDisks.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManager.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerAction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerActions.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerPolicies.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupMembership.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupMemberships.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkAttachments.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaceReservedIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaceReservedIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaces.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceTemplates.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceVolumeAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceVolumeAttachments.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstances.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIpsecPolicies.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIpsecPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLb.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListener.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicies.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicyRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicyRules.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListeners.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPool.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPoolMember.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPoolMembers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPools.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbs.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAcl.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAclRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAclRules.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAcls.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsOperatingSystem.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsOperatingSystems.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPlacementGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPlacementGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayAccountPolicies.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayAccountPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayEndpointGatewayBinding.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayEndpointGatewayBindings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGateways.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicAddressRange.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicAddressRanges.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicGateways.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsRegion.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsRegions.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsReservation.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsReservations.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupRules.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupTarget.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupTargets.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShare.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareAccessorBinding.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareAccessorBindings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareMountTarget.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareMountTargets.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareSnapshot.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareSnapshots.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShares.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshot.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotClone.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotClones.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotConsistencyGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotConsistencyGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotInstanceProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshots.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSourceShare.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSshKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSshKeys.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnet.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnetReservedIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnetReservedIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnets.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGatewayIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGateways.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceFloatingIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceFloatingIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceIps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaces.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolume.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeInstanceProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumes.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpc.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcAddressPrefix.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcAddressPrefixes.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDefaultRoutingTable.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDnsResolutionBinding.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDnsResolutionBindings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTable.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTableRoute.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTableRoutes.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTables.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcs.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnection.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnectionLocalCidrs.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnectionPeerCidrs.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnections.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGateways.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServer.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClient.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClientConfiguration.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClients.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerRoute.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerRoutes.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsZone.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsZones.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiAvailableHosts.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCatalogImages.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudConnection.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudConnections.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiConsoleLanguages.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDatacenter.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDatacenters.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDhcp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDhcps.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDisasterRecoveryLocation.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDisasterRecoveryLocations.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHost.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHostGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHostGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHosts.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiImage.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiImages.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceSnapshot.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceSnapshots.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceVolumes.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstances.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiKeys.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetwork.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkAddressGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkAddressGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkInterfaces.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeer.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeerInterfaces.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeerRouteFilter.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPort.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkSecurityGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkSecurityGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworks.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPlacementGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPlacementGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPublicNetwork.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPvmSnapshots.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRoute.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRouteReport.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRoutes.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSapProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSapProfiles.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSharedProcessorPool.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSharedProcessorPools.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSoftwareTiers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSppPlacementGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSppPlacementGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStoragePoolCapacity.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStoragePoolsCapacity.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTiers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTypeCapacity.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTypesCapacity.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSystemPools.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiTenant.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVirtualSerialNumber.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVirtualSerialNumbers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolume.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeClone.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeFlashCopyMappings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupDetails.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupRemoteCopyRelationships.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupStorageDetails.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroups.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupsDetails.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeOnboarding.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeOnboardings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeRemoteCopyRelationship.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeSnapshot.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeSnapshots.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumes.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiWorkspace.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiWorkspaces.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceQuota.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceTag.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgConnectionPrefixFilter.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgConnectionPrefixFilters.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgGateways.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgLocation.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgLocations.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgRouteReport.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgRouteReports.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupAccountSettings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupDynamicRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupMembers.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplateAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplateVersion.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessTag.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsExternalInteraction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsTemplateAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlTemplateVersion.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamApiKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAuthorizationPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAuthorizationPolicyDetach.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamCustomRole.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyTemplateVersion.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServiceApiKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServiceId.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServicePolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfile.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileClaimRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileIdentities.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileIdentity.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileLink.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfilePolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileTemplateAssignment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserInvite.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserSettings.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/init.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal/pulumiUtilities.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal/pulumiVersion.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBackupPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBackupPolicyPlan.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServer.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerAction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerDisk.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerInitialization.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterfaceAllowFloat.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterfaceFloatingIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetwork.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkSubnet.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkSubnetReservedIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHost.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHostDiskManagement.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHostGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isFloatingIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isFlowLog.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isIkePolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImage.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageDeprecate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageExportJob.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageObsolete.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceAction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceClusterNetworkAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceDiskManagement.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManager.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManagerAction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManagerPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupMembership.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkInterfaceFloatingIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceTemplate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceVolumeAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isIpsecPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLb.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListener.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListenerPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListenerPolicyRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbPool.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbPoolMember.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isNetworkAcl.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isNetworkAclRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPlacementGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayAccountPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayEndpointGatewayBindingOperations.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayOperations.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayRevokeAccount.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPublicAddressRange.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPublicGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isReservation.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isReservationActivate.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroupRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroupTarget.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShare.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareDeleteAccessorBinding.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareMountTarget.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareReplicaOperations.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareSnapshot.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSnapshot.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSnapshotConsistencyGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSshKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnet.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetNetworkAclAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetPublicGatewayAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetReservedIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetReservedIpPatch.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetRoutingTableAttachment.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualEndpointGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualEndpointGatewayIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterfaceFloatingIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterfaceIp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVolume.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpc.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcAddressPrefix.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcDnsResolutionBinding.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcRoutingTable.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcRoutingTableRoute.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnGatewayConnection.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServer.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServerClient.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServerRoute.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCapture.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCloudConnection.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCloudConnectionNetworkAttach.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piConsoleLanguage.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piDhcp.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piHost.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piHostGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piIkePolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piImage.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piImageExport.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstanceAction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstanceSnapshot.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piIpsecPolicy.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetwork.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkAddressGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkAddressGroupMember.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkInterface.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPeer.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPeerRouteFilter.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPortAttach.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupAction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupMember.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupRule.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piPlacementGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piRoute.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSharedProcessorPool.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSnapshot.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSppPlacementGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVirtualSerialNumber.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolume.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeAttach.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeClone.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeGroupAction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeOnboarding.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVpnConnection.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piWorkspace.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/provider.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumi-plugin.json create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes1.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes2.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes3.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes4.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceGroup.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceInstance.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceKey.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceTag.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnection.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionAction.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionPrefixFilter.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionRgreTunnel.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgGateway.go create mode 100644 vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgRouteReport.go create mode 100644 vendor/github.com/oklog/ulid/.gitignore create mode 100644 vendor/github.com/oklog/ulid/.travis.yml create mode 100644 vendor/github.com/oklog/ulid/AUTHORS.md create mode 100644 vendor/github.com/oklog/ulid/CHANGELOG.md create mode 100644 vendor/github.com/oklog/ulid/CONTRIBUTING.md create mode 100644 vendor/github.com/oklog/ulid/Gopkg.lock create mode 100644 vendor/github.com/oklog/ulid/Gopkg.toml create mode 100644 vendor/github.com/oklog/ulid/LICENSE create mode 100644 vendor/github.com/oklog/ulid/README.md create mode 100644 vendor/github.com/oklog/ulid/ulid.go create mode 100644 vendor/go.mongodb.org/mongo-driver/LICENSE create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bson.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/array_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/byte_slice_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/codec_cache.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/cond_addr_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/mode.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/pointer_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/proxy.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/slice_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_tag_parser.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/time_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/uint_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/byte_slice_codec_options.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/empty_interface_codec_options.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/map_codec_options.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/slice_codec_options.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/string_codec_options.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/struct_codec_options.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/time_codec_options.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/uint_codec_options.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/copier.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_reader.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_tables.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/json_scanner.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/mode.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/reader.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_writer.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/decoder.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/encoder.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/marshal.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/primitive/decimal.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/raw.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/raw_element.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/raw_value.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/registry.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/types.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/array.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_arraybuilder.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_documentbuilder.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/element.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/tables.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/CONTRIBUTING.md create mode 100644 vendor/go.opentelemetry.io/auto/sdk/LICENSE create mode 100644 vendor/go.opentelemetry.io/auto/sdk/VERSIONING.md create mode 100644 vendor/go.opentelemetry.io/auto/sdk/doc.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/attr.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/doc.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/id.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/number.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/resource.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/scope.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/span.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/status.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/traces.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/internal/telemetry/value.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/limit.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/span.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/tracer.go create mode 100644 vendor/go.opentelemetry.io/auto/sdk/tracer_provider.go create mode 100644 vendor/go.opentelemetry.io/otel/.clomonitor.yml create mode 100644 vendor/go.opentelemetry.io/otel/.codespellignore create mode 100644 vendor/go.opentelemetry.io/otel/.codespellrc create mode 100644 vendor/go.opentelemetry.io/otel/.gitattributes create mode 100644 vendor/go.opentelemetry.io/otel/.gitignore create mode 100644 vendor/go.opentelemetry.io/otel/.golangci.yml create mode 100644 vendor/go.opentelemetry.io/otel/.lycheeignore create mode 100644 vendor/go.opentelemetry.io/otel/.markdownlint.yaml create mode 100644 vendor/go.opentelemetry.io/otel/CHANGELOG.md create mode 100644 vendor/go.opentelemetry.io/otel/CODEOWNERS create mode 100644 vendor/go.opentelemetry.io/otel/CONTRIBUTING.md create mode 100644 vendor/go.opentelemetry.io/otel/LICENSE create mode 100644 vendor/go.opentelemetry.io/otel/Makefile create mode 100644 vendor/go.opentelemetry.io/otel/README.md create mode 100644 vendor/go.opentelemetry.io/otel/RELEASING.md create mode 100644 vendor/go.opentelemetry.io/otel/SECURITY-INSIGHTS.yml create mode 100644 vendor/go.opentelemetry.io/otel/VERSIONING.md create mode 100644 vendor/go.opentelemetry.io/otel/attribute/README.md create mode 100644 vendor/go.opentelemetry.io/otel/attribute/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/encoder.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/filter.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/iterator.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/key.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/kv.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/rawhelpers.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/set.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/type_string.go create mode 100644 vendor/go.opentelemetry.io/otel/attribute/value.go create mode 100644 vendor/go.opentelemetry.io/otel/baggage/README.md create mode 100644 vendor/go.opentelemetry.io/otel/baggage/baggage.go create mode 100644 vendor/go.opentelemetry.io/otel/baggage/context.go create mode 100644 vendor/go.opentelemetry.io/otel/baggage/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/codes/README.md create mode 100644 vendor/go.opentelemetry.io/otel/codes/codes.go create mode 100644 vendor/go.opentelemetry.io/otel/codes/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/dependencies.Dockerfile create mode 100644 vendor/go.opentelemetry.io/otel/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/error_handler.go create mode 100644 vendor/go.opentelemetry.io/otel/handler.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/baggage/context.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/global/handler.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/global/instruments.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/global/meter.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/global/propagator.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/global/state.go create mode 100644 vendor/go.opentelemetry.io/otel/internal/global/trace.go create mode 100644 vendor/go.opentelemetry.io/otel/internal_logging.go create mode 100644 vendor/go.opentelemetry.io/otel/metric.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/LICENSE create mode 100644 vendor/go.opentelemetry.io/otel/metric/README.md create mode 100644 vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/asyncint64.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/config.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/embedded/README.md create mode 100644 vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/instrument.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/meter.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/syncfloat64.go create mode 100644 vendor/go.opentelemetry.io/otel/metric/syncint64.go create mode 100644 vendor/go.opentelemetry.io/otel/propagation.go create mode 100644 vendor/go.opentelemetry.io/otel/propagation/README.md create mode 100644 vendor/go.opentelemetry.io/otel/propagation/baggage.go create mode 100644 vendor/go.opentelemetry.io/otel/propagation/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/propagation/propagation.go create mode 100644 vendor/go.opentelemetry.io/otel/propagation/trace_context.go create mode 100644 vendor/go.opentelemetry.io/otel/renovate.json create mode 100644 vendor/go.opentelemetry.io/otel/requirements.txt create mode 100644 vendor/go.opentelemetry.io/otel/semconv/internal/v2/http.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/internal/v2/net.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/README.md create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/event.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/exception.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/http.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/httpconv/README.md create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/httpconv/http.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/resource.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/schema.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.17.0/trace.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.37.0/MIGRATION.md create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.37.0/README.md create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go create mode 100644 vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go create mode 100644 vendor/go.opentelemetry.io/otel/trace.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/LICENSE create mode 100644 vendor/go.opentelemetry.io/otel/trace/README.md create mode 100644 vendor/go.opentelemetry.io/otel/trace/auto.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/config.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/context.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/embedded/README.md create mode 100644 vendor/go.opentelemetry.io/otel/trace/embedded/embedded.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/hex.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/doc.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/resource.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/scope.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/span.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/status.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/traces.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/nonrecording.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/noop.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/noop/README.md create mode 100644 vendor/go.opentelemetry.io/otel/trace/noop/noop.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/provider.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/span.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/trace.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/tracer.go create mode 100644 vendor/go.opentelemetry.io/otel/trace/tracestate.go create mode 100644 vendor/go.opentelemetry.io/otel/verify_released_changelog.sh create mode 100644 vendor/go.opentelemetry.io/otel/version.go create mode 100644 vendor/go.opentelemetry.io/otel/versions.yaml create mode 100644 vendor/go.yaml.in/yaml/v2/.travis.yml create mode 100644 vendor/go.yaml.in/yaml/v2/LICENSE create mode 100644 vendor/go.yaml.in/yaml/v2/LICENSE.libyaml create mode 100644 vendor/go.yaml.in/yaml/v2/NOTICE create mode 100644 vendor/go.yaml.in/yaml/v2/README.md create mode 100644 vendor/go.yaml.in/yaml/v2/apic.go create mode 100644 vendor/go.yaml.in/yaml/v2/decode.go create mode 100644 vendor/go.yaml.in/yaml/v2/emitterc.go create mode 100644 vendor/go.yaml.in/yaml/v2/encode.go create mode 100644 vendor/go.yaml.in/yaml/v2/parserc.go create mode 100644 vendor/go.yaml.in/yaml/v2/readerc.go create mode 100644 vendor/go.yaml.in/yaml/v2/resolve.go create mode 100644 vendor/go.yaml.in/yaml/v2/scannerc.go create mode 100644 vendor/go.yaml.in/yaml/v2/sorter.go create mode 100644 vendor/go.yaml.in/yaml/v2/writerc.go create mode 100644 vendor/go.yaml.in/yaml/v2/yaml.go create mode 100644 vendor/go.yaml.in/yaml/v2/yamlh.go create mode 100644 vendor/go.yaml.in/yaml/v2/yamlprivateh.go create mode 100644 vendor/sigs.k8s.io/yaml/LICENSE create mode 100644 vendor/sigs.k8s.io/yaml/goyaml.v2/README.md create mode 100644 vendor/sigs.k8s.io/yaml/goyaml.v2/yaml_aliases.go diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 000000000..e247f1e8b --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,15 @@ +{ + "permissions": { + "allow": [ + "Bash(go list:*)", + "Bash(curl:*)", + "Bash(find:*)", + "Bash(go mod:*)", + "Bash(go env:*)", + "Bash(make:*)", + "Bash(go build:*)" + ], + "deny": [], + "ask": [] + } +} diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 000000000..47f308f43 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,19 @@ +version: 2 + +run: + timeout: 20m + skip-dirs: + - vendor + - tools/vendor + skip-files: + - pkg/provider/ibmcloud/action/powervs/powervs.go + concurrency: 1 + +linters-settings: + govet: + enable-all: true + +issues: + exclude-dirs: + - vendor + - tools/vendor diff --git a/Makefile b/Makefile index 4aff22e60..1d0dc2ac3 100644 --- a/Makefile +++ b/Makefile @@ -75,6 +75,10 @@ build: $(BUILD_DIR)/mapt .PHONY: test test: + GOMAXPROCS=1 CGO_ENABLED=1 go test -p 1 --tags build -v -ldflags="$(VERSION_VARIABLES)" ./pkg/... ./cmd/... -skip github.com/mapt-oss/pulumi-ibmcloud/sdk/go/... + +.PHONY: test-race +test-race: CGO_ENABLED=1 go test -race --tags build -v -ldflags="$(VERSION_VARIABLES)" ./pkg/... ./cmd/... .PHONY: clean ## Remove all build artifacts @@ -89,7 +93,7 @@ fmt: # Run golangci-lint against code .PHONY: lint lint: $(TOOLS_BINDIR)/golangci-lint - "$(TOOLS_BINDIR)"/golangci-lint run -v --timeout 10m + "$(TOOLS_BINDIR)"/golangci-lint run -v --timeout 20m --skip-dirs vendor # Build the container image .PHONY: oci-build diff --git a/README.md b/README.md index c2f4c4f4c..2a92dc36d 100644 --- a/README.md +++ b/README.md @@ -16,18 +16,26 @@ Instances can be wrapped on specific topologies like airgap, in this case mapt w Instances can also define a timeout to avoid leftovers in case destoy operation is missing. Using this approach mapt will be execute as an unateneded execution using servless technologies. -[MacOS](docs/aws/mac.md)-[Windows Server](docs/aws/windows.md)-[Windows Desktop](docs/azure/windows.md)-[RHEL](docs/aws/rhel.md)-[Fedora](docs/azure/fedora.md)-[Ubuntu](docs/azure/ubuntu.md) +[MacOS](docs/aws/mac.md) - [Windows Server](docs/aws/windows.md) - [Windows Desktop](docs/azure/windows.md) - [RHEL](docs/aws/rhel.md) - [Fedora](docs/azure/fedora.md) - [Ubuntu](docs/azure/ubuntu.md) ### Services Mapt offers some managed services boosted with some of the features from the instances offerings (i.e spot) and also create some ad hoc services on top the instances offerings to improve reutilization of instances when there is no easy way to do it (i.e. Mac-Pool). -[AKS](docs/azure/aks.md)-[EKS](docs/aws/eks.md)-[Mac-Pool](docs/aws/mac-pool.md) - [OpenShift-SNC](docs/aws/openshift-snc.md) - [Kind](docs/aws/openshift-snc.md) +[AKS](docs/azure/aks.md) - [EKS](docs/aws/eks.md) - [Mac-Pool](docs/aws/mac-pool.md) - [OpenShift-SNC](docs/aws/openshift-snc.md) - [Kind](docs/aws/openshift-snc.md) + +### Architectures + +x86 and arm64 archs can be provisioned through any of the previous targets based on parameters. + +In addition we can provision + +[s390x](docs/ibmcloud/ibm-z.md) - [ppc64](docs/ibmcloud/ibm-power.mdS) ### Integrations -Currently each target offered by Mapt can be added as: +The integrations allow to provision the machine and link to different CI/CD systems based on their native integrations. * [Github Self Hosted Runner](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners) * [Cirrus Persistent Worker](https://cirrus-ci.org/guide/persistent-workers/) diff --git a/cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go b/cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go new file mode 100644 index 000000000..5126daf5a --- /dev/null +++ b/cmd/mapt/cmd/ibmcloud/hosts/ibm-power.go @@ -0,0 +1,93 @@ +package hosts + +import ( + "github.com/redhat-developer/mapt/cmd/mapt/cmd/params" + maptContext "github.com/redhat-developer/mapt/pkg/manager/context" + ibmpower "github.com/redhat-developer/mapt/pkg/provider/ibmcloud/action/ibm-power" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + "github.com/spf13/viper" +) + +const ( + cmdIBMPower = "ibm-power" + cmdIBMPowerDesc = "manage ibm-power machines (ppc64)" +) + +func IBMPowerCmd() *cobra.Command { + c := &cobra.Command{ + Use: cmdIBMPower, + Short: cmdIBMPowerDesc, + RunE: func(cmd *cobra.Command, args []string) error { + if err := viper.BindPFlags(cmd.Flags()); err != nil { + return err + } + return nil + }, + } + + flagSet := pflag.NewFlagSet(cmdIBMPower, pflag.ExitOnError) + params.AddCommonFlags(flagSet) + c.PersistentFlags().AddFlagSet(flagSet) + + c.AddCommand(ibmPowerCreate(), ibmPowerDestroy()) + return c +} + +func ibmPowerCreate() *cobra.Command { + c := &cobra.Command{ + Use: params.CreateCmdName, + Short: params.CreateCmdName, + RunE: func(cmd *cobra.Command, args []string) error { + if err := viper.BindPFlags(cmd.Flags()); err != nil { + return err + } + return ibmpower.New( + &maptContext.ContextArgs{ + Context: cmd.Context(), + ProjectName: viper.GetString(params.ProjectName), + BackedURL: viper.GetString(params.BackedURL), + ResultsOutput: viper.GetString(params.ConnectionDetailsOutput), + Debug: viper.IsSet(params.Debug), + DebugLevel: viper.GetUint(params.DebugLevel), + CirrusPWArgs: params.CirrusPersistentWorkerArgs(), + GHRunnerArgs: params.GithubRunnerArgs(), + Tags: viper.GetStringMapString(params.Tags), + }, + &ibmpower.PWArgs{}) + }, + } + flagSet := pflag.NewFlagSet(params.CreateCmdName, pflag.ExitOnError) + flagSet.StringP(params.ConnectionDetailsOutput, "", "", params.ConnectionDetailsOutputDesc) + flagSet.StringToStringP(params.Tags, "", nil, params.TagsDesc) + params.AddGHActionsFlags(flagSet) + params.AddCirrusFlags(flagSet) + c.PersistentFlags().AddFlagSet(flagSet) + return c +} + +func ibmPowerDestroy() *cobra.Command { + c := &cobra.Command{ + Use: params.DestroyCmdName, + Short: params.DestroyCmdName, + RunE: func(cmd *cobra.Command, args []string) error { + if err := viper.BindPFlags(cmd.Flags()); err != nil { + return err + } + return ibmpower.Destroy(&maptContext.ContextArgs{ + Context: cmd.Context(), + ProjectName: viper.GetString(params.ProjectName), + BackedURL: viper.GetString(params.BackedURL), + Debug: viper.IsSet(params.Debug), + DebugLevel: viper.GetUint(params.DebugLevel), + Serverless: viper.IsSet(params.Serverless), + ForceDestroy: viper.IsSet(params.ForceDestroy), + }) + }, + } + flagSet := pflag.NewFlagSet(params.DestroyCmdName, pflag.ExitOnError) + flagSet.Bool(params.Serverless, false, params.ServerlessDesc) + flagSet.Bool(params.ForceDestroy, false, params.ForceDestroyDesc) + c.PersistentFlags().AddFlagSet(flagSet) + return c +} diff --git a/cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go b/cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go new file mode 100644 index 000000000..22bd948dc --- /dev/null +++ b/cmd/mapt/cmd/ibmcloud/hosts/ibm-z.go @@ -0,0 +1,93 @@ +package hosts + +import ( + "github.com/redhat-developer/mapt/cmd/mapt/cmd/params" + maptContext "github.com/redhat-developer/mapt/pkg/manager/context" + ibmz "github.com/redhat-developer/mapt/pkg/provider/ibmcloud/action/ibm-z" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + "github.com/spf13/viper" +) + +const ( + cmdIBMZ = "ibm-z" + cmdIBMZDesc = "manage ibm-power machines (s390x)" +) + +func IBMZCmd() *cobra.Command { + c := &cobra.Command{ + Use: cmdIBMZ, + Short: cmdIBMZDesc, + RunE: func(cmd *cobra.Command, args []string) error { + if err := viper.BindPFlags(cmd.Flags()); err != nil { + return err + } + return nil + }, + } + + flagSet := pflag.NewFlagSet(cmdIBMZ, pflag.ExitOnError) + params.AddCommonFlags(flagSet) + c.PersistentFlags().AddFlagSet(flagSet) + + c.AddCommand(ibmZCreate(), ibmZDestroy()) + return c +} + +func ibmZCreate() *cobra.Command { + c := &cobra.Command{ + Use: params.CreateCmdName, + Short: params.CreateCmdName, + RunE: func(cmd *cobra.Command, args []string) error { + if err := viper.BindPFlags(cmd.Flags()); err != nil { + return err + } + return ibmz.New( + &maptContext.ContextArgs{ + Context: cmd.Context(), + ProjectName: viper.GetString(params.ProjectName), + BackedURL: viper.GetString(params.BackedURL), + ResultsOutput: viper.GetString(params.ConnectionDetailsOutput), + Debug: viper.IsSet(params.Debug), + DebugLevel: viper.GetUint(params.DebugLevel), + CirrusPWArgs: params.CirrusPersistentWorkerArgs(), + GHRunnerArgs: params.GithubRunnerArgs(), + Tags: viper.GetStringMapString(params.Tags), + }, + &ibmz.ZArgs{}) + }, + } + flagSet := pflag.NewFlagSet(params.CreateCmdName, pflag.ExitOnError) + flagSet.StringP(params.ConnectionDetailsOutput, "", "", params.ConnectionDetailsOutputDesc) + flagSet.StringToStringP(params.Tags, "", nil, params.TagsDesc) + params.AddGHActionsFlags(flagSet) + params.AddCirrusFlags(flagSet) + c.PersistentFlags().AddFlagSet(flagSet) + return c +} + +func ibmZDestroy() *cobra.Command { + c := &cobra.Command{ + Use: params.DestroyCmdName, + Short: params.DestroyCmdName, + RunE: func(cmd *cobra.Command, args []string) error { + if err := viper.BindPFlags(cmd.Flags()); err != nil { + return err + } + return ibmz.Destroy(&maptContext.ContextArgs{ + Context: cmd.Context(), + ProjectName: viper.GetString(params.ProjectName), + BackedURL: viper.GetString(params.BackedURL), + Debug: viper.IsSet(params.Debug), + DebugLevel: viper.GetUint(params.DebugLevel), + Serverless: viper.IsSet(params.Serverless), + ForceDestroy: viper.IsSet(params.ForceDestroy), + }) + }, + } + flagSet := pflag.NewFlagSet(params.DestroyCmdName, pflag.ExitOnError) + flagSet.Bool(params.Serverless, false, params.ServerlessDesc) + flagSet.Bool(params.ForceDestroy, false, params.ForceDestroyDesc) + c.PersistentFlags().AddFlagSet(flagSet) + return c +} diff --git a/cmd/mapt/cmd/ibmcloud/ibmcloud.go b/cmd/mapt/cmd/ibmcloud/ibmcloud.go new file mode 100644 index 000000000..dcda64c84 --- /dev/null +++ b/cmd/mapt/cmd/ibmcloud/ibmcloud.go @@ -0,0 +1,35 @@ +package ibmcloud + +import ( + "github.com/redhat-developer/mapt/cmd/mapt/cmd/ibmcloud/hosts" + params "github.com/redhat-developer/mapt/cmd/mapt/cmd/params" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + "github.com/spf13/viper" +) + +const ( + cmd = "ibmcloud" + cmdDesc = "ibmcloud operations" +) + +func GetCmd() *cobra.Command { + c := &cobra.Command{ + Use: cmd, + Short: cmdDesc, + RunE: func(cmd *cobra.Command, args []string) error { + if err := viper.BindPFlags(cmd.Flags()); err != nil { + return err + } + return nil + }, + } + + flagSet := pflag.NewFlagSet(cmd, pflag.ExitOnError) + params.AddCommonFlags(flagSet) + c.PersistentFlags().AddFlagSet(flagSet) + c.AddCommand( + hosts.IBMPowerCmd(), + hosts.IBMZCmd()) + return c +} diff --git a/cmd/mapt/cmd/root.go b/cmd/mapt/cmd/root.go index df90a8f91..5bdb0b914 100644 --- a/cmd/mapt/cmd/root.go +++ b/cmd/mapt/cmd/root.go @@ -10,6 +10,7 @@ import ( "syscall" "github.com/redhat-developer/mapt/cmd/mapt/cmd/aws" "github.com/redhat-developer/mapt/cmd/mapt/cmd/azure" + "github.com/redhat-developer/mapt/cmd/mapt/cmd/ibmcloud" "github.com/redhat-developer/mapt/cmd/mapt/cmd/params" "github.com/redhat-developer/mapt/pkg/util/logging" "github.com/spf13/cobra" @@ -61,7 +62,8 @@ func init() { // Subcommands rootCmd.AddCommand( aws.GetCmd(), - azure.GetCmd()) + azure.GetCmd(), + ibmcloud.GetCmd()) } func Execute() { diff --git a/docs/ibmcloud/ibm-power.md b/docs/ibmcloud/ibm-power.md new file mode 100644 index 000000000..5548b6c88 --- /dev/null +++ b/docs/ibmcloud/ibm-power.md @@ -0,0 +1,55 @@ +# Overview + +This actions will handle provision Ubuntu ppc64 machines on ibm cloud power vs. + + +## Create + +```bash +mapt ibmcloud ibm-power z create -h +create + +Usage: + mapt ibmcloud ibm-power create [flags] + +Flags: + --conn-details-output string path to export host connection information (host, username and privateKey) + --ghactions-runner-labels strings List of labels separated by comma to be added to the self-hosted runner + --ghactions-runner-repo string Full URL of the repository where the Github Actions Runner should be registered + --ghactions-runner-token string Token needed for registering the Github Actions Runner token + -h, --help help for create + --it-cirrus-pw-labels stringToString additional labels to use on the persistent worker (--it-cirrus-pw-labels key1=value1,key2=value2) (default []) + --it-cirrus-pw-token string Add mapt target as a cirrus persistent worker. The value will hold a valid token to be used by cirrus cli to join the project. + --tags stringToString tags to add on each resource (--tags name1=value1,name2=value2) (default []) + +Global Flags: + --backed-url string backed for stack state. (local) file:///path/subpath (s3) s3://existing-bucket, (azure) azblob://existing-blobcontainer. See more https://www.pulumi.com/docs/iac/concepts/state-and-backends/#using-a-self-managed-backend + --debug Enable debug traces and set verbosity to max. Typically to get information to troubleshooting an issue. + --debug-level uint Set the level of verbosity on debug. You can set from minimum 1 to max 9. (default 3) + --project-name string project name to identify the instance of the stack +``` + +### Outputs + +* It will crete an instance and will give as result several files located at path defined by `--conn-details-output`: + + * **host**: host for the Windows machine (lb if spot) + * **username**: username to connect to the machine + * **id_rsa**: private key to connect to machine + +* Also, it will create a state folder holding the state for the created resources at azure, the path for this folder is defined within `--backed-url`, the content from that folder it is required with the same project name (`--project-name`) in order to destroy the resources. + +### Container + +```bash +podman run -d --name ibm-power \ + -v ${PWD}:/workspace:z \ + -e IBMCLOUD_ACCOUNT=XXX \ + -e IBMCLOUD_API_KEY=XXX \ + -e IC_REGION=us-south \ + -e IC_ZONE=dal12 \ # power vs use this notation + quay.io/redhat-developer/mapt:1.0.0 ibm-power create \ + --project-name ibm-power \ + --backed-url file:///workspace \ + --conn-details-output /workspace +``` \ No newline at end of file diff --git a/docs/ibmcloud/ibm-z.md b/docs/ibmcloud/ibm-z.md new file mode 100644 index 000000000..4f7f37172 --- /dev/null +++ b/docs/ibmcloud/ibm-z.md @@ -0,0 +1,55 @@ +# Overview + +This actions will handle provision Ubuntu s390x machines on ibm cloud VPC. + + +## Create + +```bash +mapt ibmcloud ibm-z create -h +create + +Usage: + mapt ibmcloud ibm-z create [flags] + +Flags: + --conn-details-output string path to export host connection information (host, username and privateKey) + --ghactions-runner-labels strings List of labels separated by comma to be added to the self-hosted runner + --ghactions-runner-repo string Full URL of the repository where the Github Actions Runner should be registered + --ghactions-runner-token string Token needed for registering the Github Actions Runner token + -h, --help help for create + --it-cirrus-pw-labels stringToString additional labels to use on the persistent worker (--it-cirrus-pw-labels key1=value1,key2=value2) (default []) + --it-cirrus-pw-token string Add mapt target as a cirrus persistent worker. The value will hold a valid token to be used by cirrus cli to join the project. + --tags stringToString tags to add on each resource (--tags name1=value1,name2=value2) (default []) + +Global Flags: + --backed-url string backed for stack state. (local) file:///path/subpath (s3) s3://existing-bucket, (azure) azblob://existing-blobcontainer. See more https://www.pulumi.com/docs/iac/concepts/state-and-backends/#using-a-self-managed-backend + --debug Enable debug traces and set verbosity to max. Typically to get information to troubleshooting an issue. + --debug-level uint Set the level of verbosity on debug. You can set from minimum 1 to max 9. (default 3) + --project-name string project name to identify the instance of the stack +``` + +### Outputs + +* It will crete an instance and will give as result several files located at path defined by `--conn-details-output`: + + * **host**: host for the Windows machine (lb if spot) + * **username**: username to connect to the machine + * **id_rsa**: private key to connect to machine + +* Also, it will create a state folder holding the state for the created resources at azure, the path for this folder is defined within `--backed-url`, the content from that folder it is required with the same project name (`--project-name`) in order to destroy the resources. + +### Container + +```bash +podman run -d --name mapt-rhel \ + -v ${PWD}:/workspace:z \ + -e IBMCLOUD_ACCOUNT=XXX \ + -e IBMCLOUD_API_KEY=XXX \ + -e IC_REGION=us-south \ + -e IC_ZONE=us-south-2 \ + quay.io/redhat-developer/mapt:1.0.0 ibm-z create \ + --project-name ibm-z \ + --backed-url file:///workspace \ + --conn-details-output /workspace +``` diff --git a/go.mod b/go.mod index d0cfefe8a..d38781283 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.24.7 require ( github.com/coocood/freecache v1.2.4 + github.com/mapt-oss/pulumi-ibmcloud/sdk v0.0.9 github.com/pulumi/pulumi-command/sdk v1.1.3 github.com/pulumi/pulumi-random/sdk/v4 v4.18.4 github.com/pulumi/pulumi/sdk/v3 v3.212.0 @@ -17,6 +18,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v7 v7.2.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 + github.com/IBM/go-sdk-core/v5 v5.21.2 github.com/aws/amazon-ec2-instance-selector/v3 v3.1.2 github.com/aws/aws-sdk-go-v2 v1.41.0 github.com/aws/aws-sdk-go-v2/config v1.32.5 @@ -70,6 +72,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups v1.2.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 // indirect + github.com/IBM/platform-services-go-sdk v0.81.0 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect @@ -100,20 +103,37 @@ require ( github.com/cyphar/filepath-securejoin v0.6.1 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect + github.com/go-logr/logr v1.4.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-openapi/analysis v0.23.0 // indirect + github.com/go-openapi/errors v0.22.4 // indirect + github.com/go-openapi/jsonpointer v0.21.1 // indirect + github.com/go-openapi/jsonreference v0.21.0 // indirect + github.com/go-openapi/loads v0.22.0 // indirect + github.com/go-openapi/runtime v0.28.0 // indirect + github.com/go-openapi/spec v0.21.0 // indirect + github.com/go-openapi/strfmt v0.25.0 // indirect + github.com/go-openapi/swag v0.23.1 // indirect + github.com/go-openapi/validate v0.24.0 // indirect github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/golang-jwt/jwt/v5 v5.3.0 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-retryablehttp v0.7.8 // indirect github.com/iwdgo/sigintwindows v0.2.2 // indirect + github.com/josharian/intern v1.0.0 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/lucasb-eyer/go-colorful v1.3.0 // indirect + github.com/mailru/easyjson v0.9.0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-localereader v0.0.1 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect github.com/muesli/termenv v0.16.0 // indirect + github.com/oklog/ulid v1.3.1 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/pgavlin/fx v0.1.6 // indirect github.com/pjbgf/sha1cd v0.5.0 // indirect @@ -129,15 +149,24 @@ require ( github.com/subosito/gotenv v1.6.0 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/zclconf/go-cty v1.17.0 // indirect + go.mongodb.org/mongo-driver v1.17.6 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/otel v1.38.0 // indirect + go.opentelemetry.io/otel/metric v1.38.0 // indirect + go.opentelemetry.io/otel/trace v1.38.0 // indirect go.uber.org/multierr v1.11.0 // indirect + go.yaml.in/yaml/v2 v2.4.3 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/sync v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + sigs.k8s.io/yaml v1.6.0 // indirect ) require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.3.0 + github.com/IBM-Cloud/power-go-client v1.14.3 + github.com/IBM/vpc-go-sdk v0.76.1 github.com/Microsoft/go-winio v0.6.2 // indirect github.com/ProtonMail/go-crypto v1.3.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.69.5 diff --git a/go.sum b/go.sum index 5b29dbeff..efee90771 100644 --- a/go.sum +++ b/go.sum @@ -30,6 +30,14 @@ github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/IBM-Cloud/power-go-client v1.14.3 h1:qRA+DnqKSRfcgCeJRDUQXlqipYd6nWtNblubDeRYmhY= +github.com/IBM-Cloud/power-go-client v1.14.3/go.mod h1:SpTK1ttW8bfMNUVQS8qOEuWn2KOkzaCLyzfze8MG1JE= +github.com/IBM/go-sdk-core/v5 v5.21.2 h1:mJ5QbLPOm4g5qhZiVB6wbSllfpeUExftGoyPek2hk4M= +github.com/IBM/go-sdk-core/v5 v5.21.2/go.mod h1:ngpMgwkjur1VNUjqn11LPk3o5eCyOCRbcfg/0YAY7Hc= +github.com/IBM/platform-services-go-sdk v0.81.0 h1:jyVQYobEeC+l770YmKVtETFwPpD8DoapZfKY005f/jQ= +github.com/IBM/platform-services-go-sdk v0.81.0/go.mod h1:XOowH+JnIih3FA7uilLVM/9VH7XgCmJ4T/i6eZi7gkw= +github.com/IBM/vpc-go-sdk v0.76.1 h1:4xFM4vE98n/h0Z49l1pE1AYSbzzvaVuQsSd1SToqCEE= +github.com/IBM/vpc-go-sdk v0.76.1/go.mod h1:hhgE1EQZRq1Cngdh4A6+LLUaA0kKWW/rgfHpISM+AKg= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= @@ -39,6 +47,8 @@ github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7l github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= +github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= @@ -169,10 +179,33 @@ github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMj github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.16.4 h1:7ajIEZHZJULcyJebDLo99bGgS0jRrOxzZG4uCk2Yb2Y= github.com/go-git/go-git/v5 v5.16.4/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU= +github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo= +github.com/go-openapi/errors v0.22.4 h1:oi2K9mHTOb5DPW2Zjdzs/NIvwi2N3fARKaTJLdNabaM= +github.com/go-openapi/errors v0.22.4/go.mod h1:z9S8ASTUqx7+CP1Q8dD8ewGH/1JWFFLX/2PmAYNQLgk= +github.com/go-openapi/jsonpointer v0.21.1 h1:whnzv/pNXtK2FbX/W9yJfRmE2gsmkfahjMKB0fZvcic= +github.com/go-openapi/jsonpointer v0.21.1/go.mod h1:50I1STOfbY1ycR8jGz8DaMeLCdXiI6aDteEdRNNzpdk= +github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= +github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= +github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco= +github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs= +github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ= +github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc= +github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY= +github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk= +github.com/go-openapi/strfmt v0.25.0 h1:7R0RX7mbKLa9EYCTHRcCuIPcaqlyQiWNPTXwClK0saQ= +github.com/go-openapi/strfmt v0.25.0/go.mod h1:nNXct7OzbwrMY9+5tLX4I21pzcmE6ccMGXl3jFdPfn8= +github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZU= +github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0= +github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls= +github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= +github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58= +github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -203,8 +236,14 @@ github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.7.8 h1:ylXZWnqa7Lhqpk0L1P1LzDtGcCR0rPVUrx/c8Unxc48= +github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw= github.com/hashicorp/hcl/v2 v2.24.0 h1:2QJdZ454DSsYGoaE6QheQZjtKZSUs9Nh2izTWiwQxvE= github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= @@ -213,6 +252,8 @@ github.com/iwdgo/sigintwindows v0.2.2 h1:P6oWzpvV7MrEAmhUgs+zmarrWkyL77ycZz4v7+1 github.com/iwdgo/sigintwindows v0.2.2/go.mod h1:70wPb8oz8OnxPvsj2QMUjgIVhb8hMu5TUgX8KfFl7QY= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PWkxoFkQ= github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= github.com/keybase/go-keychain v0.0.1 h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU= @@ -235,6 +276,10 @@ github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag= github.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= +github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= +github.com/mapt-oss/pulumi-ibmcloud/sdk v0.0.9 h1:Y4tjIEtdpWWfJ9L2/ztQtn96+xYrNMz3yvXKicrWNkE= +github.com/mapt-oss/pulumi-ibmcloud/sdk v0.0.9/go.mod h1:U30V8lnPz4X/KybXyAOlz2vHXYcN4ZY/BwgE1XDPt2g= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= @@ -264,10 +309,14 @@ github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852 h1:Yl0tPBa8QPjGmesFh1D0rDy+q1Twx6FyU7VWHi8wZbI= github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852/go.mod h1:eqOVx5Vwu4gd2mmMZvVZsgIqNSaW3xxRThUJ0k/TPk4= -github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= -github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= +github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -391,6 +440,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/zclconf/go-cty v1.17.0 h1:seZvECve6XX4tmnvRzWtJNHdscMtYEx5R7bnnVyd/d0= github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U= +go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= +go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= @@ -407,6 +458,8 @@ go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= +go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -501,3 +554,5 @@ lukechampine.com/frand v1.5.1 h1:fg0eRtdmGFIxhP5zQJzM1lFDbD6CUfu/f+7WgAZd5/w= lukechampine.com/frand v1.5.1/go.mod h1:4VstaWc2plN4Mjr10chUD46RAVGWhpkZ5Nja8+Azp0Q= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= +sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= diff --git a/oci/Containerfile b/oci/Containerfile index e8d14e11a..fcf388621 100644 --- a/oci/Containerfile +++ b/oci/Containerfile @@ -45,11 +45,18 @@ ARG PULUMI_TLS_VERSION=v5.2.3 ARG PULUMI_RANDOM_VERSION=v4.18.4 # renovate: datasource=github-releases depName=pulumi/pulumi-aws-native ARG PULUMI_AWS_NATIVE_VERSION=v1.40.0 +# renovate: datasource=github-releases depName=mapt-oss/pulumi-ibmcloud +ARG PULUMI_IBMCLOUD_VERSION=v0.0.6 +ENV IBMCLOUD_PLUGIN_URL https://github.com/mapt-oss/pulumi-ibmcloud/releases/download/${PULUMI_IBMCLOUD_VERSION}/pulumi-resource-ibmcloud-${PULUMI_IBMCLOUD_VERSION}-linux-${TARGETARCH}.tar.gz ENV PULUMI_HOME "/opt/mapt/run" WORKDIR ${PULUMI_HOME} RUN mkdir -p /opt/mapt/run \ + && curl -L ${IBMCLOUD_PLUGIN_URL} -o pulumi-resource-ibmcloud.tar.gz \ + && tar -xzvf pulumi-resource-ibmcloud.tar.gz \ + && pulumi plugin install resource ibmcloud ${PULUMI_IBMCLOUD_VERSION} --file pulumi-resource-ibmcloud \ + && rm pulumi-resource-ibmcloud pulumi-resource-ibmcloud.tar.gz \ && pulumi plugin install resource aws ${PULUMI_AWS_VERSION} \ && pulumi plugin install resource azure-native ${PULUMI_AZURE_NATIVE_VERSION} \ && pulumi plugin install resource command ${PULUMI_COMMAND_VERSION} \ diff --git a/pkg/provider/ibmcloud/action/ibm-power/cloud-config b/pkg/provider/ibmcloud/action/ibm-power/cloud-config new file mode 100644 index 000000000..e4d29607f --- /dev/null +++ b/pkg/provider/ibmcloud/action/ibm-power/cloud-config @@ -0,0 +1,11 @@ +#cloud-config +write_files: + - path: /etc/resolv.conf + content: | + search redhat.com + nameserver 161.26.0.10 + nameserver 161.26.0.11 + +runcmd: + - ip route add 10.0.0.0/8 via ${local.powervs_gateway} dev eth0 + - echo "10.0.0.0/8 via ${local.powervs_gateway} dev eth0" >> /etc/sysconfig/network-scripts/route-eth0 \ No newline at end of file diff --git a/pkg/provider/ibmcloud/action/ibm-power/ibm-power.go b/pkg/provider/ibmcloud/action/ibm-power/ibm-power.go new file mode 100644 index 000000000..3440d690e --- /dev/null +++ b/pkg/provider/ibmcloud/action/ibm-power/ibm-power.go @@ -0,0 +1,264 @@ +package ibmpower + +import ( + "fmt" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud" + "github.com/pulumi/pulumi-tls/sdk/v5/go/tls" + "github.com/pulumi/pulumi/sdk/v3/go/auto" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/redhat-developer/mapt/pkg/manager" + mc "github.com/redhat-developer/mapt/pkg/manager/context" + ibmcloudp "github.com/redhat-developer/mapt/pkg/provider/ibmcloud" + icdata "github.com/redhat-developer/mapt/pkg/provider/ibmcloud/data" + + "github.com/redhat-developer/mapt/pkg/provider/util/output" + "github.com/redhat-developer/mapt/pkg/util" + "github.com/redhat-developer/mapt/pkg/util/logging" + resourcesUtil "github.com/redhat-developer/mapt/pkg/util/resources" +) + +const ( + stackIBMPowerVS = "icpw" + outputHost = "alsHost" + outputUsername = "alsUsername" + outputUserPrivateKey = "alsUserPrivatekey" + + NCidr = "10.0.2.0/24" + NGW = "10.0.2.1" +) + +type PWArgs struct { + Prefix string +} + +type pwRequest struct { + mCtx *mc.Context + prefix *string + zone *string +} + +func New(ctx *mc.ContextArgs, args *PWArgs) error { + ibmcloudProvider := ibmcloudp.Provider() + mCtx, err := mc.Init(ctx, ibmcloudProvider) + if err != nil { + return err + } + + prefix := util.If(len(args.Prefix) > 0, args.Prefix, "main") + zone, err := ibmcloudProvider.Zone() + if err != nil { + return err + } + r := &pwRequest{ + mCtx: mCtx, + prefix: &prefix, + zone: zone} + cs := manager.Stack{ + StackName: mCtx.StackNameByProject(stackIBMPowerVS), + ProjectName: mCtx.ProjectName(), + BackedURL: mCtx.BackedURL(), + ProviderCredentials: ibmcloudp.DefaultCredentials, + DeployFunc: r.deploy, + } + sr, err := manager.UpStack(r.mCtx, cs) + if err != nil { + return fmt.Errorf("stack creation failed: %w", err) + } + return manageResults(mCtx, sr, prefix) +} + +func Destroy(mCtxArgs *mc.ContextArgs) (err error) { + mCtx, err := mc.Init(mCtxArgs, ibmcloudp.Provider()) + if err != nil { + return err + } + return ibmcloudp.Destroy(mCtx, stackIBMPowerVS) +} + +func (r *pwRequest) deploy(ctx *pulumi.Context) (err error) { + rg, err := ibmcloud.NewResourceGroup( + ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMPowerVS, "rg"), + &ibmcloud.ResourceGroupArgs{ + Name: pulumi.String(r.mCtx.ProjectName()), + }) + if err != nil { + return err + } + w, err := ibmcloud.NewPiWorkspace(ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMPowerVS, "piw"), + &ibmcloud.PiWorkspaceArgs{ + PiName: pulumi.String(r.mCtx.ProjectName()), + PiDatacenter: pulumi.String(*r.zone), + PiResourceGroupId: rg.ID(), + }) + if err != nil { + return err + } + n, err := ibmcloud.NewPiNetwork(ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMPowerVS, "pin"), + &ibmcloud.PiNetworkArgs{ + PiNetworkName: pulumi.String(r.mCtx.ProjectName()), + PiCloudInstanceId: w.ID(), + PiNetworkType: pulumi.String("vlan"), + PiCidr: pulumi.String(NCidr), + PiGateway: pulumi.String(NGW), + // PiDnsServers: pulumi.StringArray{ + // pulumi.String("9.9.9.9"), + // pulumi.String("1.1.1.1"), + // }, + }) + if err != nil { + return err + } + pk, pki, err := piKey(ctx, r.mCtx, *r.prefix, stackIBMPowerVS, w) + if err != nil { + return err + } + ctx.Export(fmt.Sprintf("%s-%s", *r.prefix, outputUserPrivateKey), + pk.PrivateKeyPem) + + w.ID().ApplyT(func(workspaceId string) error { + imageId, err := icdata.GetImage(r.mCtx, + &icdata.PiImageArgs{ + CloudInstanceId: workspaceId, + Name: "RHEL9-SP6", + }) + if err != nil { + return err + } + + _, err = ibmcloud.NewPiInstance(ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMPowerVS, "pii"), + &ibmcloud.PiInstanceArgs{ + PiInstanceName: pulumi.String(r.mCtx.ProjectName()), + PiMemory: pulumi.Float64(256), + PiProcessors: pulumi.Float64(8), + PiProcType: pulumi.String("shared"), + PiSysType: pulumi.String("s922"), + PiImageId: pulumi.String(*imageId), + PiHealthStatus: pulumi.String("WARNING"), + PiCloudInstanceId: pulumi.String(workspaceId), + PiStorageType: pulumi.String("tier1"), + PiKeyPairName: pki.PiKeyName, + PiNetworks: ibmcloud.PiInstancePiNetworkArray{ + &ibmcloud.PiInstancePiNetworkArgs{ + NetworkId: n.NetworkId, + }, + }, + }) + if err != nil { + return err + } + return nil + }) + + // return o.ApplyT(func(v GetIsVpcsVpcDn) []GetIsVpcsVpcDnResolver { return v.Resolvers }).(GetIsVpcsVpcDnResolverArrayOutput) + + // if err != nil { + // return err + // } + + // _, err = ibmcloud.NewTgGateway( + // ctx, + // resourcesUtil.GetResourceName(*r.prefix, stackIBMPowerVS, "tg"), + // &ibmcloud.TgGatewayArgs{ + // Location: pulumi.String(*r.location), + // }) + + // return err + return +} + +// func powerArgs(cloudInstanceId, serverName, networkId, pkiName string) *power.PowerArgs { +// var memory float64 = 4 +// processors := 0.25 +// procType := "shared" +// imageId := "f7961557-7fe9-480a-b26a-0a62f8eaa4b7" +// return &power.PowerArgs{ +// CloudInstanceId: cloudInstanceId, +// InstanceArgs: models.PVMInstanceCreate{ +// ServerName: &serverName, +// Memory: &memory, +// Processors: &processors, +// ProcType: &procType, +// SysType: "s922", +// ImageID: &imageId, +// KeyPairName: pkiName, +// NetworkIDs: []string{networkId}, +// }, +// } +// } + +// // Create a Pi Key +func piKey(ctx *pulumi.Context, mCtx *mc.Context, prefix, cId string, w *ibmcloud.PiWorkspace) (*tls.PrivateKey, *ibmcloud.PiKey, error) { + pk, err := tls.NewPrivateKey( + ctx, + resourcesUtil.GetResourceName(prefix, cId, "pk"), + &tls.PrivateKeyArgs{ + Algorithm: pulumi.String("RSA"), + RsaBits: pulumi.Int(4096), + }) + if err != nil { + return nil, nil, err + } + if mCtx.Debug() { + pk.PrivateKeyPem.ApplyT( + func(privateKey string) error { + logging.Debugf("%s", privateKey) + return nil + }) + } + pik, err := ibmcloud.NewPiKey(ctx, + resourcesUtil.GetResourceName(prefix, cId, "pik"), + &ibmcloud.PiKeyArgs{ + PiKeyName: pulumi.String(mCtx.ProjectName()), + PiCloudInstanceId: w.ID(), + PiSshKey: pk.PublicKeyOpenssh, + }) + return pk, pik, err +} + +// func publicAccess(ctx *pulumi.Context, prefix, cId string) error { +// vpc, err := ibmcloud.NewIsVpc(ctx, +// resourcesUtil.GetResourceName(prefix, cId, "isvpc"), +// &ibmcloud.IsVpcArgs{ +// // Name: pulumi.String(args.Name), +// // ResourceGroup: args.RG.ID(), +// }) +// if err != nil { +// return err +// } + +// // resource "ibm_is_vpc" "main_vpc" { +// // name = "demo-vpc" +// // } + +// } + +// func convert(s *power.PowerArgs) *ibmcloud.PiInstanceArgs { +// return &ibmcloud.PiInstanceArgs{ +// PiInstanceName: pulumi.String(*s.InstanceArgs.ServerName), +// PiMemory: pulumi.Float64(*s.InstanceArgs.Memory), +// PiProcessors: pulumi.Float64(*s.InstanceArgs.Processors), +// PiProcType: pulumi.String(*s.InstanceArgs.ProcType), +// PiSysType: pulumi.String(s.InstanceArgs.SysType), +// PiImageId: pulumi.String(*s.InstanceArgs.ImageID), +// PiCloudInstanceId: pulumi.String(s.CloudInstanceId), +// PiKeyPairName: pulumi.String(s.InstanceArgs.KeyPairName), +// PiNetworks: ibmcloud.PiInstancePiNetworkArray{ +// &ibmcloud.PiInstancePiNetworkArgs{ +// NetworkId: pulumi.String(s.InstanceArgs.NetworkIDs[0]), +// }, +// }, +// } +// } + +func manageResults(mCtx *mc.Context, stackResult auto.UpResult, prefix string) error { + return output.Write(stackResult, mCtx.GetResultsOutputPath(), map[string]string{ + fmt.Sprintf("%s-%s", prefix, outputUsername): "username", + fmt.Sprintf("%s-%s", prefix, outputUserPrivateKey): "id_rsa", + fmt.Sprintf("%s-%s", prefix, outputHost): "host", + }) +} diff --git a/pkg/provider/ibmcloud/action/ibm-z/ibm-z.go b/pkg/provider/ibmcloud/action/ibm-z/ibm-z.go new file mode 100644 index 000000000..1e5d1c248 --- /dev/null +++ b/pkg/provider/ibmcloud/action/ibm-z/ibm-z.go @@ -0,0 +1,191 @@ +package ibmz + +import ( + "fmt" + "os" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud" + "github.com/pulumi/pulumi-tls/sdk/v5/go/tls" + "github.com/pulumi/pulumi/sdk/v3/go/auto" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/redhat-developer/mapt/pkg/manager" + mc "github.com/redhat-developer/mapt/pkg/manager/context" + ibmcloudp "github.com/redhat-developer/mapt/pkg/provider/ibmcloud" + icdata "github.com/redhat-developer/mapt/pkg/provider/ibmcloud/data" + "github.com/redhat-developer/mapt/pkg/provider/ibmcloud/modules/network" + "github.com/redhat-developer/mapt/pkg/provider/util/output" + "github.com/redhat-developer/mapt/pkg/util" + "github.com/redhat-developer/mapt/pkg/util/logging" + resourcesUtil "github.com/redhat-developer/mapt/pkg/util/resources" +) + +const ( + stackIBMS390 = "ics390" + outputHost = "alsHost" + outputUsername = "alsUsername" + outputUserPrivateKey = "alsUserPrivatekey" + + NCidr = "10.0.2.0/24" + + defaultUser = "ubuntu" +) + +type ZArgs struct { + Prefix string +} + +type zRequest struct { + mCtx *mc.Context + prefix *string + zone *string +} + +func New(ctx *mc.ContextArgs, args *ZArgs) error { + ibmcloudProvider := ibmcloudp.Provider() + mCtx, err := mc.Init(ctx, ibmcloudProvider) + if err != nil { + return err + } + + prefix := util.If(len(args.Prefix) > 0, args.Prefix, "main") + zone, err := ibmcloudProvider.Zone() + if err != nil { + return err + } + r := &zRequest{ + mCtx: mCtx, + prefix: &prefix, + zone: zone} + cs := manager.Stack{ + StackName: mCtx.StackNameByProject(stackIBMS390), + ProjectName: mCtx.ProjectName(), + BackedURL: mCtx.BackedURL(), + ProviderCredentials: ibmcloudp.DefaultCredentials, + DeployFunc: r.deploy, + } + sr, err := manager.UpStack(r.mCtx, cs) + if err != nil { + return fmt.Errorf("stack creation failed: %w", err) + } + return manageResults(mCtx, sr, prefix) +} + +func Destroy(mCtxArgs *mc.ContextArgs) (err error) { + mCtx, err := mc.Init(mCtxArgs, ibmcloudp.Provider()) + if err != nil { + return err + } + return ibmcloudp.Destroy(mCtx, stackIBMS390) +} + +func (r *zRequest) deploy(ctx *pulumi.Context) error { + zone := os.Getenv("IC_ZONE") + rg, err := ibmcloud.NewResourceGroup( + ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMS390, "rg"), + &ibmcloud.ResourceGroupArgs{ + Name: pulumi.String(r.mCtx.ProjectName()), + }) + if err != nil { + return err + } + n, err := network.New(ctx, + &network.NetworkArgs{ + Prefix: *r.prefix, + Zone: &zone, + RG: rg, + ComponentID: stackIBMS390, + Name: fmt.Sprintf("%s-%s", *r.prefix, r.mCtx.ProjectName()), + }) + if err != nil { + return err + } + pk, pik, err := isKey(ctx, r.mCtx, *r.prefix, stackIBMS390, rg) + if err != nil { + return err + } + ctx.Export(fmt.Sprintf("%s-%s", *r.prefix, outputUserPrivateKey), + pk.PrivateKeyPem) + imageId, err := icdata.GetVPCImage(&icdata.VPCImageArgs{ + Name: "ibm-ubuntu-22-04", + Arch: icdata.VPC_ARCH_IBMZ, + }) + if err != nil { + return err + } + i, err := ibmcloud.NewIsInstance(ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMS390, "is"), + &ibmcloud.IsInstanceArgs{ + Name: pulumi.String(r.mCtx.ProjectName()), + Image: pulumi.String(*imageId), + // https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=ui&q=arm64&tags=vpc#gpu + Profile: pulumi.String("bz2-16x64"), // + Vpc: n.VPC.ID(), + Zone: pulumi.String(zone), + ResourceGroup: rg.ID(), + Keys: pulumi.StringArray{pik.ID()}, + PrimaryNetworkInterface: &ibmcloud.IsInstancePrimaryNetworkInterfaceArgs{ + Subnet: n.Subnet.ID(), + SecurityGroups: pulumi.StringArray{ + n.SecurityGroup.ID(), + }, + }, + }) + if err != nil { + return err + } + ctx.Export(fmt.Sprintf("%s-%s", *r.prefix, outputUsername), + pulumi.String(defaultUser)) + _, err = ibmcloud.NewIsInstanceNetworkInterfaceFloatingIp(ctx, + resourcesUtil.GetResourceName(*r.prefix, stackIBMS390, "fip"), + &ibmcloud.IsInstanceNetworkInterfaceFloatingIpArgs{ + FloatingIp: n.Floatingip.ID(), + Instance: i.ID(), + NetworkInterface: i.PrimaryNetworkInterface.ApplyT( + func(pni ibmcloud.IsInstancePrimaryNetworkInterface) string { + return *pni.Id + }, + ).(pulumi.StringOutput), + }) + if err != nil { + return err + } + ctx.Export(fmt.Sprintf("%s-%s", *r.prefix, outputHost), n.Floatingip.Address) + return nil +} + +func manageResults(mCtx *mc.Context, stackResult auto.UpResult, prefix string) error { + return output.Write(stackResult, mCtx.GetResultsOutputPath(), map[string]string{ + fmt.Sprintf("%s-%s", prefix, outputUsername): "username", + fmt.Sprintf("%s-%s", prefix, outputUserPrivateKey): "id_rsa", + fmt.Sprintf("%s-%s", prefix, outputHost): "host", + }) +} + +func isKey(ctx *pulumi.Context, mCtx *mc.Context, prefix, cId string, rg *ibmcloud.ResourceGroup) (*tls.PrivateKey, *ibmcloud.IsSshKey, error) { + pk, err := tls.NewPrivateKey( + ctx, + resourcesUtil.GetResourceName(prefix, cId, "pk"), + &tls.PrivateKeyArgs{ + Algorithm: pulumi.String("RSA"), + RsaBits: pulumi.Int(4096), + }) + if err != nil { + return nil, nil, err + } + if mCtx.Debug() { + pk.PrivateKeyPem.ApplyT( + func(privateKey string) error { + logging.Debugf("%s", privateKey) + return nil + }) + } + pik, err := ibmcloud.NewIsSshKey(ctx, + resourcesUtil.GetResourceName(prefix, cId, "pik"), + &ibmcloud.IsSshKeyArgs{ + Name: pulumi.String(mCtx.ProjectName()), + ResourceGroup: rg.ID(), + PublicKey: pk.PublicKeyOpenssh, + }) + return pk, pik, err +} diff --git a/pkg/provider/ibmcloud/constants/constants.go b/pkg/provider/ibmcloud/constants/constants.go new file mode 100644 index 000000000..49571ba4d --- /dev/null +++ b/pkg/provider/ibmcloud/constants/constants.go @@ -0,0 +1,8 @@ +package constants + +const ( + VPC_ARCH_X86_64 VPCArch = "amd64" + VPC_ARCH_IBMZ VPCArch = "s390x" +) + +type VPCArch string diff --git a/pkg/provider/ibmcloud/data/piimages.go b/pkg/provider/ibmcloud/data/piimages.go new file mode 100644 index 000000000..b72257ccf --- /dev/null +++ b/pkg/provider/ibmcloud/data/piimages.go @@ -0,0 +1,60 @@ +package data + +import ( + "fmt" + "os" + "slices" + + v "github.com/IBM-Cloud/power-go-client/clients/instance" + ps "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/models" + + "github.com/IBM/go-sdk-core/v5/core" + mc "github.com/redhat-developer/mapt/pkg/manager/context" +) + +const powerURLRegex = "%s.power-iaas.cloud.ibm.com" + +func powerURL(region string) string { return fmt.Sprintf(powerURLRegex, region) } + +type PiImageArgs struct { + CloudInstanceId string + Name string +} + +func GetImage(mCtx *mc.Context, args *PiImageArgs) (*string, error) { + pc, err := piImagesClient(mCtx, args.CloudInstanceId) + if err != nil { + return nil, err + } + sis, err := pc.GetAllStockImages(false, false) + if err != nil { + return nil, err + } + idx := slices.IndexFunc(sis.Images, + func(si *models.ImageReference) bool { + return *si.Name == args.Name + }) + if idx != -1 { + return sis.Images[idx].ImageID, nil + } + return nil, fmt.Errorf("no stock image %s available", args.Name) + +} + +func piImagesClient(mCtx *mc.Context, cloudInstanceId string) (*v.IBMPIImageClient, error) { + options := &ps.IBMPIOptions{ + Authenticator: &core.IamAuthenticator{ + ApiKey: os.Getenv("IBMCLOUD_API_KEY"), + }, + UserAccount: os.Getenv("IBMCLOUD_ACCOUNT"), + Zone: os.Getenv("IC_ZONE"), + URL: powerURL(os.Getenv("IC_REGION")), + Debug: mCtx.Debug(), + } + session, err := ps.NewIBMPISession(options) + if err != nil { + return nil, err + } + return v.NewIBMPIImageClient(mCtx.Context(), session, cloudInstanceId), nil +} diff --git a/pkg/provider/ibmcloud/data/vpcimages.go b/pkg/provider/ibmcloud/data/vpcimages.go new file mode 100644 index 000000000..745e6cb9c --- /dev/null +++ b/pkg/provider/ibmcloud/data/vpcimages.go @@ -0,0 +1,71 @@ +package data + +import ( + "fmt" + "os" + "slices" + "strings" + + "github.com/IBM/vpc-go-sdk/vpcv1" + + "github.com/IBM/go-sdk-core/v5/core" +) + +const ( + VPC_ARCH_X86_64 vpcArch = "amd64" + VPC_ARCH_IBMZ vpcArch = "s390x" +) + +type vpcArch string + +type VPCImageArgs struct { + Name string + Arch vpcArch +} + +func GetVPCImage(args *VPCImageArgs) (*string, error) { + return getVPCImage(nil, args) +} + +func getVPCImage(next *string, args *VPCImageArgs) (*string, error) { + vpcService, err := vpcService() + if err != nil { + return nil, err + } + images, _, err := vpcService.ListImages( + &vpcv1.ListImagesOptions{ + Start: next, + }) + if err != nil { + return nil, err + } + idx := slices.IndexFunc(images.Images, + func(i vpcv1.Image) bool { + return *i.OperatingSystem.Architecture == string(args.Arch) && + strings.Contains(*i.Name, args.Name) + }) + if idx != -1 { + return images.Images[idx].ID, nil + } + if images.Next != nil { + next, err := images.GetNextStart() + if err != nil { + return nil, err + } + return getVPCImage(next, args) + } + return nil, fmt.Errorf("no image %s available", args.Name) +} + +func vpcService() (*vpcv1.VpcV1, error) { + serviceURL, err := vpcv1.GetServiceURLForRegion(os.Getenv("IC_REGION")) + if err != nil { + return nil, err + } + return vpcv1.NewVpcV1(&vpcv1.VpcV1Options{ + Authenticator: &core.IamAuthenticator{ + ApiKey: os.Getenv("IBMCLOUD_API_KEY"), + }, + URL: serviceURL, + }) +} diff --git a/pkg/provider/ibmcloud/ibmcloud.go b/pkg/provider/ibmcloud/ibmcloud.go new file mode 100644 index 000000000..a001805ad --- /dev/null +++ b/pkg/provider/ibmcloud/ibmcloud.go @@ -0,0 +1,88 @@ +package ibmcloud + +import ( + "context" + "fmt" + "os" + + "github.com/redhat-developer/mapt/pkg/manager" + mc "github.com/redhat-developer/mapt/pkg/manager/context" + "github.com/redhat-developer/mapt/pkg/manager/credentials" +) + +const ( + LOCATION_ENV = "IC_REGION" +) + +type IBMCloud struct{} + +func (i *IBMCloud) Init(ctx context.Context, backedURL string) error { + return nil +} + +func (a *IBMCloud) DefaultHostingPlace() (*string, error) { + hp := os.Getenv("IC_REGION") + if len(hp) > 0 { + return &hp, nil + } + return nil, fmt.Errorf("missing default value for IBM Cloud Region: IC_REGION") +} + +func (a *IBMCloud) Zone() (*string, error) { + hp := os.Getenv("IC_ZONE") + if len(hp) > 0 { + return &hp, nil + } + return nil, fmt.Errorf("missing default value for IBM Cloud Region: IC_ZONE") +} + +func Provider() *IBMCloud { + return &IBMCloud{} +} + +func GetClouProviderCredentials(fixedCredentials map[string]string) credentials.ProviderCredentials { + return credentials.ProviderCredentials{ + SetCredentialFunc: nil, + FixedCredentials: fixedCredentials} +} + +var ( + DefaultCredentials = GetClouProviderCredentials(nil) +) + +func Destroy(mCtx *mc.Context, stackName string) error { + stack := manager.Stack{ + StackName: mCtx.StackNameByProject(stackName), + ProjectName: mCtx.ProjectName(), + BackedURL: mCtx.BackedURL(), + ProviderCredentials: DefaultCredentials} + return manager.DestroyStack(mCtx, stack) +} + +type gen2Location struct { + region, zone string +} + +type classicLocation string + +var LocationMapping = map[classicLocation]gen2Location{ + "dal10": {region: "us-south", zone: "us-south-1"}, + "dal12": {region: "us-south", zone: "us-south-2"}, + "dal13": {region: "us-south", zone: "us-south-3"}, + "wdc06": {region: "us-east", zone: "us-east-1"}, + "tor01": {region: "ca-tor", zone: "ca-tor-1"}, + "mon01": {region: "ca-mon", zone: "us-south-2"}, + "lon04": {region: "eu-gb", zone: "eu-gb-1"}, + "fra04": {region: "eu-de", zone: "eu-de-1"}, + "fra05": {region: "eu-de", zone: "eu-de-2"}, + "syd04": {region: "au-syd", zone: "au-syd-1"}, + "tok04": {region: "jp-tok", zone: "jp-tok-1"}} + +func ClassicLocation() *classicLocation { + for k, v := range LocationMapping { + if v.region == os.Getenv("IC_REGION") && v.zone == os.Getenv("IC_ZONE") { + return &k + } + } + return nil +} diff --git a/pkg/provider/ibmcloud/modules/compute/compute.go b/pkg/provider/ibmcloud/modules/compute/compute.go new file mode 100644 index 000000000..172435dae --- /dev/null +++ b/pkg/provider/ibmcloud/modules/compute/compute.go @@ -0,0 +1,167 @@ +package compute + +// import ( +// "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud" +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// mc "github.com/redhat-developer/mapt/pkg/manager/context" +// ) + +// type ComputeArgs struct { +// MCtx *mc.Context +// Prefix string +// ID string +// VPC *ibmcloud.IsVpc +// // Subnet *ec2.Subnet +// // Eip *ec2.Eip +// LB *ibmcloud.IsLb +// // Array of TCP ports to be +// // created as tg for the LB +// LBTargetGroups []int +// // AMI *ec2.LookupAmiResult + +// Key *ibmcloud.PiKey +// // SecurityGroups pulumi.StringArray +// // InstaceTypes []string +// // InstanceProfile *iam.InstanceProfile +// // DiskSize *int +// // Airgap bool +// // Spot bool +// // Only required if Spot is true +// // SpotPrice float64 +// // Only required if we need to set userdata +// UserDataAsBase64 pulumi.StringPtrInput +// // If we need to add explicit dependecies +// DependsOn []pulumi.Resource +// } + +// func Create() { +// sshKey, err := ibmcloud.NewPiKey(ctx, "power11-ssh-key", &ibmcloud.PiKeyArgs{ +// PiKeyName: pulumi.String("power11-access-key"), +// PiSshKey: pulumi.String(sshPublicKey), +// PiCloudInstanceId: powerVsWorkspace.Guid, +// }) + +// power11Instance, err := ibmcloud.NewPiInstance(ctx, +// "power11-instance", +// &ibmcloud.PiInstanceArgs{ +// PiInstanceName: pulumi.String(instanceName), +// PiCloudInstanceId: powerVsWorkspace.Guid, + +// // Power11 Specifications +// PiMemory: pulumi.Float64(16), // 16 GB RAM +// PiProcessors: pulumi.Float64(2), // 2 cores +// PiProcType: pulumi.String("dedicated"), // dedicated or shared +// PiSysType: pulumi.String("s1022"), // Power10/11 system type + +// // Operating System - RHEL 9 for Power11 +// PiImageId: pulumi.String("rhel-9-2"), // Replace with actual image ID + +// // Network Configuration +// PiNetworks: ibmcloud.PiInstancePiNetworkArray{ +// &ibmcloud.PiInstancePiNetworkArgs{ +// NetworkId: powerVsNetwork.NetworkId, +// }, +// }, + +// // SSH Access +// PiKeyPairName: sshKey.PiKeyName, + +// // Storage - tier1 (NVMe) for best performance +// PiStorageType: pulumi.String("tier1"), +// PiStoragePool: pulumi.String("Tier1-Flash"), + +// // Health +// PiHealthStatus: pulumi.String("OK"), +// }, pulumi.Timeouts(&pulumi.CustomTimeouts{ +// Create: "30m", +// Update: "30m", +// Delete: "30m", +// })) +// if err != nil { +// return err +// } +// } + +// func s390x(ctx *pulumi.Context, vpc *ibmcloud.IsVpc) (*ibmcloud.IsInstance, error) { +// instanceS390x, err := ibmcloud.NewIsInstance(ctx, +// "gitlab-runner-s390x", +// &ibmcloud.IsInstanceArgs{ +// Name: pulumi.String("gitlab-runner-s390x"), +// // Image: imageS390x, +// Profile: pulumi.String("bz2-2x8"), // s390x profile: 2 vCPU, 8 GB RAM +// Vpc: vpc.ID(), +// Zone: pulumi.String("us-east-1"), +// ResourceGroup: rg.ID(), +// Keys: pulumi.StringArray{sshKey.ID()}, +// PrimaryNetworkInterface: &ibmcloud.IsInstancePrimaryNetworkInterfaceArgs{ +// Subnet: subnetS390x.ID(), +// SecurityGroups: pulumi.StringArray{ +// securityGroup.ID(), +// }, +// }, +// UserData: pulumi.String(fedoraUserData), +// Tags: pulumi.StringArray{ +// pulumi.String("gitlab-runner"), +// pulumi.String("s390x"), +// pulumi.String("ibm-z"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// } + +// func createForwardTargetGRoups(ctx *pulumi.Context, port int) (*lb.TargetGroup, error) { +// // tg, err := lb.NewTargetGroup(ctx, +// // resourcesUtil.GetResourceName(r.Prefix, r.ID, fmt.Sprintf("tg-%d", port)), +// // &lb.TargetGroupArgs{ +// // Port: pulumi.Int(port), +// // Protocol: pulumi.String("TCP"), +// // VpcId: r.VPC.ID(), +// // }) +// // if err != nil { +// // return nil, err +// // } +// // if _, err := lb.NewListener(ctx, +// // resourcesUtil.GetResourceName(r.Prefix, r.ID, fmt.Sprintf("listener-%d", port)), +// // &lb.ListenerArgs{ +// // LoadBalancerArn: r.LB.Arn, +// // Port: pulumi.Int(port), +// // Protocol: pulumi.String("TCP"), +// // DefaultActions: lb.ListenerDefaultActionArray{ +// // &lb.ListenerDefaultActionArgs{ +// // Type: pulumi.String("forward"), +// // TargetGroupArn: tg.Arn, +// // }, +// // }, +// // }); err != nil { +// // return nil, err +// // } +// // return tg, nil +// _, err = ibmcloud.NewIsLbPoolMember(ctx, +// "power11-member", +// &ibmcloud.IsLbPoolMemberArgs{ +// Lb: loadBalancer.ID(), +// Pool: backendPool.ID(), +// Port: pulumi.Int(80), +// TargetAddress: power11Instance.PiNetworks.Index(pulumi.Int(0)).IpAddress(), +// Weight: pulumi.Int(100), +// }) +// if err != nil { +// return err +// } + +// // Step 13: Create HTTP Listener +// _, err = ibmcloud.NewIsLbListener(ctx, "http-listener", &ibmcloud.IsLbListenerArgs{ +// Lb: loadBalancer.ID(), +// DefaultPool: backendPool.ID(), +// Port: pulumi.Int(80), +// Protocol: pulumi.String("http"), +// ConnectionLimit: pulumi.Int(2000), +// }) +// if err != nil { +// return err +// } +// } diff --git a/pkg/provider/ibmcloud/modules/network/network.go b/pkg/provider/ibmcloud/modules/network/network.go new file mode 100644 index 000000000..d33d1f05c --- /dev/null +++ b/pkg/provider/ibmcloud/modules/network/network.go @@ -0,0 +1,133 @@ +package network + +import ( + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + resourcesUtil "github.com/redhat-developer/mapt/pkg/util/resources" +) + +const ( + cidrVN = "10.0.0.0/16" + cidrSN = "10.0.2.0/24" +) + +type NetworkArgs struct { + Prefix string + ComponentID string + Name string + RG *ibmcloud.ResourceGroup + Zone *string +} + +type Network struct { + VPC *ibmcloud.IsVpc + Subnet *ibmcloud.IsSubnet + SecurityGroup *ibmcloud.IsSecurityGroup + Floatingip *ibmcloud.IsFloatingIp +} + +func New(ctx *pulumi.Context, args *NetworkArgs) (*Network, error) { + vpc, err := ibmcloud.NewIsVpc(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "isvpc"), + &ibmcloud.IsVpcArgs{ + Name: pulumi.String(args.Name), + ResourceGroup: args.RG.ID(), + }) + if err != nil { + return nil, err + } + vpcap, err := ibmcloud.NewIsVpcAddressPrefix(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "isvpcaddpre"), + &ibmcloud.IsVpcAddressPrefixArgs{ + Vpc: vpc.ID(), + Zone: pulumi.String(*args.Zone), + Cidr: pulumi.String(cidrVN), + Name: pulumi.String(args.Name), + }) + if err != nil { + return nil, err + } + subnet, err := ibmcloud.NewIsSubnet(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "issubnet"), + &ibmcloud.IsSubnetArgs{ + Name: pulumi.String(args.Name), + Vpc: vpc.ID(), + Zone: pulumi.String(*args.Zone), + Ipv4CidrBlock: pulumi.String(cidrSN), + ResourceGroup: args.RG.ID(), + }, pulumi.DependsOn([]pulumi.Resource{vpcap})) + if err != nil { + return nil, err + } + publicGateway, err := ibmcloud.NewIsPublicGateway(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "pgw"), + &ibmcloud.IsPublicGatewayArgs{ + Name: pulumi.String(args.Name), + Vpc: vpc.ID(), + Zone: pulumi.String(*args.Zone), + ResourceGroup: args.RG.ID(), + }) + if err != nil { + return nil, err + } + _, err = ibmcloud.NewIsSubnetPublicGatewayAttachment(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "pgwa"), + &ibmcloud.IsSubnetPublicGatewayAttachmentArgs{ + Subnet: subnet.ID(), + PublicGateway: publicGateway.ID(), + }) + if err != nil { + return nil, err + } + securityGroup, err := ibmcloud.NewIsSecurityGroup(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "sg"), + &ibmcloud.IsSecurityGroupArgs{ + Name: pulumi.String(args.Name), + Vpc: vpc.ID(), + ResourceGroup: args.RG.ID(), + }) + if err != nil { + return nil, err + } + _, err = ibmcloud.NewIsSecurityGroupRule(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "ssh"), + &ibmcloud.IsSecurityGroupRuleArgs{ + Group: securityGroup.ID(), + Direction: pulumi.String("inbound"), + Remote: pulumi.String("0.0.0.0/0"), + Tcp: &ibmcloud.IsSecurityGroupRuleTcpArgs{ + PortMin: pulumi.Int(22), + PortMax: pulumi.Int(22), + }, + }) + if err != nil { + return nil, err + } + _, err = ibmcloud.NewIsSecurityGroupRule(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "outb"), + &ibmcloud.IsSecurityGroupRuleArgs{ + Group: securityGroup.ID(), + Direction: pulumi.String("outbound"), + Remote: pulumi.String("0.0.0.0/0"), + }, + ) + if err != nil { + return nil, err + } + fip, err := ibmcloud.NewIsFloatingIp(ctx, + resourcesUtil.GetResourceName(args.Prefix, args.ComponentID, "fip"), + &ibmcloud.IsFloatingIpArgs{ + Name: pulumi.String(args.Name), + Zone: pulumi.String(*args.Zone), + ResourceGroup: args.RG.ID(), + }, + ) + if err != nil { + return nil, err + } + return &Network{ + VPC: vpc, + Subnet: subnet, + SecurityGroup: securityGroup, + Floatingip: fip}, nil +} diff --git a/pkg/provider/ibmcloud/services/power/power.go b/pkg/provider/ibmcloud/services/power/power.go new file mode 100644 index 000000000..8bec75630 --- /dev/null +++ b/pkg/provider/ibmcloud/services/power/power.go @@ -0,0 +1,92 @@ +package power + +import ( + "context" + "fmt" + "os" + "time" + + v "github.com/IBM-Cloud/power-go-client/clients/instance" + ps "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/models" + "github.com/IBM/go-sdk-core/v5/core" + mc "github.com/redhat-developer/mapt/pkg/manager/context" +) + +const powerURLRegex = "%s.power-iaas.cloud.ibm.com" + +func powerURL(region string) string { return fmt.Sprintf(powerURLRegex, region) } + +type PowerArgs struct { + InstanceArgs models.PVMInstanceCreate + CloudInstanceId string +} + +func New(mCtx *mc.Context, args *PowerArgs) (*string, error) { + pc, err := client(mCtx, args.CloudInstanceId) + if err != nil { + return nil, err + } + allInstances, err := pc.GetAll() + if err != nil { + return nil, err + } + for _, in := range allInstances.PvmInstances { + if *in.ServerName == *args.InstanceArgs.ServerName { + return in.PvmInstanceID, nil + } + } + createRespOk, err := pc.Create(convertToPVMInstanceCreate(args)) + if err != nil { + return nil, err + } + for _, in := range *createRespOk { + pInstanceId := *in.PvmInstanceID + waitForInstance(pc, pInstanceId) + return &pInstanceId, nil + } + return nil, fmt.Errorf("create response is empty") +} + +func waitForInstance(pc *v.IBMPIInstanceClient, instanceId string) { + for i := 0; i < 30; i++ { // retry up to ~5 minutes + i, err := pc.Get(instanceId) + if err == nil && i.Health.Status == "warning" { + fmt.Println("Instance ready") + break + } + fmt.Println("Instance not ready, retrying in 10s...") + time.Sleep(10 * time.Second) + } + +} + +func client(mCtx *mc.Context, cloudInstanceId string) (*v.IBMPIInstanceClient, error) { + options := &ps.IBMPIOptions{ + Authenticator: &core.IamAuthenticator{ + ApiKey: os.Getenv("IBMCLOUD_API_KEY"), + }, + UserAccount: os.Getenv("IBMCLOUD_ACCOUNT"), + Zone: os.Getenv("IC_ZONE"), + URL: powerURL(os.Getenv("IC_REGION")), + Debug: mCtx.Debug(), + } + session, err := ps.NewIBMPISession(options) + if err != nil { + return nil, err + } + return v.NewIBMPIInstanceClient(context.Background(), session, cloudInstanceId), nil +} + +func convertToPVMInstanceCreate(s *PowerArgs) *models.PVMInstanceCreate { + return &models.PVMInstanceCreate{ + ServerName: s.InstanceArgs.ServerName, + Memory: s.InstanceArgs.Memory, + Processors: s.InstanceArgs.Processors, + ProcType: s.InstanceArgs.ProcType, + SysType: s.InstanceArgs.SysType, + ImageID: s.InstanceArgs.ImageID, + KeyPairName: s.InstanceArgs.KeyPairName, + NetworkIDs: s.InstanceArgs.NetworkIDs, + } +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/LICENSE b/vendor/github.com/IBM-Cloud/power-go-client/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/Development.md b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/Development.md new file mode 100644 index 000000000..1cdd6c3bc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/Development.md @@ -0,0 +1,34 @@ +## Integration Tests +Runnning integration tests will create real IBM Power Cloud resources. + + - `internal/testutils/integration_utils.go`: Defines commonly used test functions + - `internal/testutils/integration_variables.go`: Lists default values for all test variables + - `internal/testutils/example.env`: An example .env which is used when overriding default test variables + - `internal/testutils/launch.json`: An example test configuration + - `client/instance/*_integration_test.go`: Defines tests for an individual resource type + +### Setup +To setup the integration tests, you will neet to create a `.vscode` directory in the project root. Copy `.env` and `launch.json` into `.vscode`. Default integration test values are provided, however, you can define custom variables in `.env`. You can also create additional `.env` files (`staging.env`, `production.env`, `dal12.env`, ...) for different environments, regions, resources, etc. If you create a different `.env` file, modify `launch.json` to include a testing configuration for that file. + +Every Integration Test requires these variables: + - `API_KEY` or `BEARER_TOKEN` (deprecated but currently working) + - `CRN` +A default `CRN` is provided, but you will need to define your own `API_KEY` or `BEARER_TOKEN`. It is recomended that you do this in `.env`. +### Test Steps +Each integration test runs through these steps: + - `init()` in `integration_utils.go` is called. This first checks to see any environment variables are defined in `.env`. If an environment variable isn't defined, the default value in `integration_variables.go` is used. + - A precheck function (ex. `ImagePreCheck()`) is called. This verifies that all required variables for the preCheck's test are defined and loaded properly. + - The test runs + +### Run a test +To run a test: + - Set `DisableTesting = False` in `integration_variables.go`. + - Double click the test function name to select the text. + - Click `Run and Debug` on the VScode sidebar, and then click `Run a test`. Output will be visible in the VScode Debug Console. + - `launch.json` runs tests by using this selected text. Feel free to create your own `launch.json` configuration. + +### Updating +When updating or creating new integration tests: + - Add test variable definitions to `integration_variables.go`. + - Update `init()` and relevant `PreCheck()` functions in `integration_utils.go` + - Make sure to add a way for newly provisioned resources to be deleted at the end of the test \ No newline at end of file diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-clonevolumes.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-clonevolumes.go new file mode 100644 index 000000000..e2002648c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-clonevolumes.go @@ -0,0 +1,141 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPICloneVolumeClient +type IBMPICloneVolumeClient struct { + IBMPIClient +} + +// NewIBMPICloneVolumeClient +func NewIBMPICloneVolumeClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPICloneVolumeClient { + return &IBMPICloneVolumeClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Create a Clone Volume (V2) - This creates a clone +func (f *IBMPICloneVolumeClient) Create(body *models.VolumesCloneAsyncRequest) (*models.CloneTaskReference, error) { + params := p_cloud_volumes.NewPcloudV2VolumesClonePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + resp, err := f.session.Power.PCloudVolumes.PcloudV2VolumesClonePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateCloneOperationFailed, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform the create clone operation") + } + return resp.Payload, nil +} + +// Get Status of a Clone Request +func (f *IBMPICloneVolumeClient) Get(cloneTaskID string) (*models.CloneTaskStatus, error) { + params := p_cloud_volumes.NewPcloudV2VolumesClonetasksGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithCloneTaskID(cloneTaskID) + resp, err := f.session.Power.PCloudVolumes.PcloudV2VolumesClonetasksGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get the clone task %s status for the cloud instance %s with error %w", cloneTaskID, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get the clone task %s status for the cloud instance %s", cloneTaskID, f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create a Clone Volume (V2) - This is the prepare operation +func (f *IBMPICloneVolumeClient) CreateV2Clone(body *models.VolumesCloneCreate) (*models.VolumesClone, error) { + params := p_cloud_volumes.NewPcloudV2VolumesclonePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + resp, err := f.session.Power.PCloudVolumes.PcloudV2VolumesclonePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.PrepareCloneOperationFailed, *body.Name, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to prepare the clone operation") + } + return resp.Payload, nil +} + +// Get a list of Volume Clones +func (f *IBMPICloneVolumeClient) GetV2Clones(queryFilter string) (*models.VolumesClones, error) { + params := p_cloud_volumes.NewPcloudV2VolumescloneGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithFilter(&queryFilter) + resp, err := f.session.Power.PCloudVolumes.PcloudV2VolumescloneGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get the volumes-clones for the cloud instance %s with error %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get the volumes-clones for the cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Delete a Volume Clone +func (f *IBMPICloneVolumeClient) DeleteClone(id string) error { + params := p_cloud_volumes.NewPcloudV2VolumescloneDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumesCloneID(id) + _, err := f.session.Power.PCloudVolumes.PcloudV2VolumescloneDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteCloneOperationFailed, err) + } + return nil +} + +// Initiate a Start Clone Request +func (f *IBMPICloneVolumeClient) StartClone(volumesCloneID string) (*models.VolumesClone, error) { + params := p_cloud_volumes.NewPcloudV2VolumescloneStartPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumesCloneID(volumesCloneID) + resp, err := f.session.Power.PCloudVolumes.PcloudV2VolumescloneStartPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.StartCloneOperationFailed, volumesCloneID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to start the clone operation for volume-clone %s", volumesCloneID) + } + return resp.Payload, nil +} + +// Initiate an Execute Action for a Clone +func (f *IBMPICloneVolumeClient) PrepareClone(volumesCloneID string) (*models.VolumesClone, error) { + params := p_cloud_volumes.NewPcloudV2VolumescloneExecutePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumesCloneID(volumesCloneID) + resp, err := f.session.Power.PCloudVolumes.PcloudV2VolumescloneExecutePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.PrepareCloneOperationFailed, volumesCloneID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to prepare the clone operation for %s", volumesCloneID) + } + return resp.Payload, nil +} + +// Get a V2Clone Task Status +func (f *IBMPICloneVolumeClient) GetV2CloneStatus(cloneName string) (*models.VolumesCloneDetail, error) { + params := p_cloud_volumes.NewPcloudV2VolumescloneGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumesCloneID(cloneName) + resp, err := f.session.Power.PCloudVolumes.PcloudV2VolumescloneGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetCloneOperationFailed, cloneName, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get the volumes-clone %s for the cloud instance %s", cloneName, f.cloudInstanceID) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-cloud-connection.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-cloud-connection.go new file mode 100644 index 000000000..b00ff6043 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-cloud-connection.go @@ -0,0 +1,187 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPICloudConnectionClient +type IBMPICloudConnectionClient struct { + IBMPIClient +} + +// NewIBMPICloudConnectionClient +func NewIBMPICloudConnectionClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPICloudConnectionClient { + return &IBMPICloudConnectionClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Create a Cloud Connection +func (f *IBMPICloudConnectionClient) Create(body *models.CloudConnectionCreate) (*models.CloudConnection, *models.CloudConnectionCreateResponse, error) { + if f.session.IsOnPrem() { + return nil, nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_cloud_connections.NewPcloudCloudconnectionsPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, postcreated, postaccepted, err := f.session.Power.PCloudCloudConnections.PcloudCloudconnectionsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateCloudConnectionOperationFailed, f.cloudInstanceID, err)) + } + if postok != nil && postok.Payload != nil { + return postok.Payload, nil, nil + } + if postcreated != nil && postcreated.Payload != nil { + return postcreated.Payload, nil, nil + } + if postaccepted != nil && postaccepted.Payload != nil { + return nil, postaccepted.Payload, nil + } + return nil, nil, fmt.Errorf("failed to Create Cloud Connection") +} + +// Get a Cloud Connection +func (f *IBMPICloudConnectionClient) Get(id string) (*models.CloudConnection, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_cloud_connections.NewPcloudCloudconnectionsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithCloudConnectionID(id) + resp, err := f.session.Power.PCloudCloudConnections.PcloudCloudconnectionsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetCloudConnectionOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform Get Cloud Connections Operation for cloudconnectionid %s", id) + } + return resp.Payload, nil +} + +// Get All Cloud Connections +func (f *IBMPICloudConnectionClient) GetAll() (*models.CloudConnections, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_cloud_connections.NewPcloudCloudconnectionsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudCloudConnections.PcloudCloudconnectionsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Cloud Connections: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Cloud Connections") + } + return resp.Payload, nil +} + +// Update a Cloud Connection +func (f *IBMPICloudConnectionClient) Update(id string, body *models.CloudConnectionUpdate) (*models.CloudConnection, *models.JobReference, error) { + if f.session.IsOnPrem() { + return nil, nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_cloud_connections.NewPcloudCloudconnectionsPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithCloudConnectionID(id). + WithBody(body) + putok, putaccepted, err := f.session.Power.PCloudCloudConnections.PcloudCloudconnectionsPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.UpdateCloudConnectionOperationFailed, id, err)) + } + if putok != nil && putok.Payload != nil { + return putok.Payload, nil, nil + } + if putaccepted != nil && putaccepted.Payload != nil { + return nil, putaccepted.Payload, nil + } + return nil, nil, fmt.Errorf("failed to Update Cloud Connection %s", id) +} + +// Delete a Cloud Connection +func (f *IBMPICloudConnectionClient) Delete(id string) (*models.JobReference, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_cloud_connections.NewPcloudCloudconnectionsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithCloudConnectionID(id) + _, delaccepted, err := f.session.Power.PCloudCloudConnections.PcloudCloudconnectionsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.DeleteCloudConnectionOperationFailed, id, err)) + } + if delaccepted != nil && delaccepted.Payload != nil { + return delaccepted.Payload, nil + } + return nil, nil +} + +// Add a Network to a Cloud Connection +func (f *IBMPICloudConnectionClient) AddNetwork(id, networkID string) (models.Object, *models.JobReference, error) { + if f.session.IsOnPrem() { + return nil, nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_cloud_connections.NewPcloudCloudconnectionsNetworksPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithCloudConnectionID(id). + WithNetworkID(networkID) + respok, respAccepted, err := f.session.Power.PCloudCloudConnections.PcloudCloudconnectionsNetworksPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Add Network %s to Cloud Connection %s: %w", networkID, id, err)) + } + if respok != nil && respok.Payload != nil { + return respok.Payload, nil, nil + } + if respAccepted != nil && respAccepted.Payload != nil { + return nil, respAccepted.Payload, nil + } + return nil, nil, nil +} + +// Delete a Network from a Cloud Connection +func (f *IBMPICloudConnectionClient) DeleteNetwork(id, networkID string) (models.Object, *models.JobReference, error) { + if f.session.IsOnPrem() { + return nil, nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_cloud_connections.NewPcloudCloudconnectionsNetworksDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithCloudConnectionID(id). + WithNetworkID(networkID) + respok, respAccepted, err := f.session.Power.PCloudCloudConnections.PcloudCloudconnectionsNetworksDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Delete Network %s from Cloud Connection %s: %w", networkID, id, err)) + } + if respok != nil && respok.Payload != nil { + return respok.Payload, nil, nil + } + if respAccepted != nil && respAccepted.Payload != nil { + return nil, respAccepted.Payload, nil + } + return nil, nil, nil +} + +// Get all VPCs for a Cloud Instance +func (f *IBMPICloudConnectionClient) GetVPC() (*models.CloudConnectionVirtualPrivateClouds, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_cloud_connections.NewPcloudCloudconnectionsVirtualprivatecloudsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + + resp, err := f.session.Power.PCloudCloudConnections.PcloudCloudconnectionsVirtualprivatecloudsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to perform the get vpc operation: %w", err)) + } + if resp.Payload == nil { + return nil, fmt.Errorf("failed to perform the get vpc operation") + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-cloud-instance.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-cloud-instance.go new file mode 100644 index 000000000..3f902edd0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-cloud-instance.go @@ -0,0 +1,66 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPICloudInstanceClient +type IBMPICloudInstanceClient struct { + IBMPIClient +} + +// NewIBMPICloudInstanceClient +func NewIBMPICloudInstanceClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPICloudInstanceClient { + return &IBMPICloudInstanceClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a Cloud Instance +func (f *IBMPICloudInstanceClient) Get(id string) (*models.CloudInstance, error) { + params := p_cloud_instances.NewPcloudCloudinstancesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(id) + resp, err := f.session.Power.PCloudInstances.PcloudCloudinstancesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetCloudInstanceOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Cloud Instance %s", id) + } + return resp.Payload, nil +} + +// Update a Cloud Instance +func (f *IBMPICloudInstanceClient) Update(id string, body *models.CloudInstanceUpdate) (*models.CloudInstance, error) { + params := p_cloud_instances.NewPcloudCloudinstancesPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(id).WithBody(body) + resp, err := f.session.Power.PCloudInstances.PcloudCloudinstancesPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.UpdateCloudInstanceOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update the Cloud instance %s", id) + } + return resp.Payload, nil +} + +// Delete a Cloud Instance +func (f *IBMPICloudInstanceClient) Delete(id string) error { + params := p_cloud_instances.NewPcloudCloudinstancesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(id) + _, err := f.session.Power.PCloudInstances.PcloudCloudinstancesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteCloudInstanceOperationFailed, id, err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-datacenters.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-datacenters.go new file mode 100644 index 000000000..a4d8c4ff6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-datacenters.go @@ -0,0 +1,75 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/datacenters" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIDatacentersClient +type IBMPIDatacentersClient struct { + IBMPIClient +} + +// NewIBMPIDatacenterClient +func NewIBMPIDatacenterClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIDatacentersClient { + return &IBMPIDatacentersClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} +func (f *IBMPIDatacentersClient) Get(datacenterRegion string) (*models.Datacenter, error) { + if !f.session.IsOnPrem() { + params := datacenters.NewV1DatacentersGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithDatacenterRegion(datacenterRegion) + resp, err := f.session.Power.Datacenters.V1DatacentersGet(params) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetDatacenterOperationFailed, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Datacenter %s", datacenterRegion) + } + return resp.Payload, nil + } else { + params := datacenters.NewV1DatacentersPrivateGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithDatacenterRegion(datacenterRegion) + resp, err := f.session.Power.Datacenters.V1DatacentersPrivateGet(params, f.session.AuthInfo(f.cloudInstanceID)) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetDatacenterOperationFailed, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Private Datacenter %s", datacenterRegion) + } + return resp.Payload, nil + } +} + +func (f *IBMPIDatacentersClient) GetAll() (*models.Datacenters, error) { + if !f.session.IsOnPrem() { + params := datacenters.NewV1DatacentersGetallParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut) + resp, err := f.session.Power.Datacenters.V1DatacentersGetall(params) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Datacenters: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Datacenters") + } + return resp.Payload, nil + } else { + params := datacenters.NewV1DatacentersPrivateGetallParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut) + resp, err := f.session.Power.Datacenters.V1DatacentersPrivateGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Datacenters: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all private Datacenters") + } + return resp.Payload, nil + } +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-dhcp.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-dhcp.go new file mode 100644 index 000000000..17de96dd1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-dhcp.go @@ -0,0 +1,81 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewIBMPIDhcpClient +type IBMPIDhcpClient struct { + IBMPIClient +} + +// NewIBMPIDhcpClient +func NewIBMPIDhcpClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIDhcpClient { + return &IBMPIDhcpClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Create a DHCP server +func (f *IBMPIDhcpClient) Create(body *models.DHCPServerCreate) (*models.DHCPServer, error) { + params := p_cloud_service_d_h_c_p.NewPcloudDhcpPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postaccepted, err := f.session.Power.PCloudServicedhcp.PcloudDhcpPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateDchpOperationFailed, f.cloudInstanceID, err)) + } + if postaccepted != nil && postaccepted.Payload != nil { + return postaccepted.Payload, nil + } + return nil, fmt.Errorf("failed to Create DHCP") +} + +// Get a DHCP server +func (f *IBMPIDhcpClient) Get(id string) (*models.DHCPServerDetail, error) { + params := p_cloud_service_d_h_c_p.NewPcloudDhcpGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithDhcpID(id) + resp, err := f.session.Power.PCloudServicedhcp.PcloudDhcpGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetDhcpOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get DHCP %s", id) + } + return resp.Payload, nil +} + +// Get All DHCP servers +func (f *IBMPIDhcpClient) GetAll() (models.DHCPServers, error) { + params := p_cloud_service_d_h_c_p.NewPcloudDhcpGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudServicedhcp.PcloudDhcpGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all DHCP servers: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all DHCP servers") + } + return resp.Payload, nil +} + +// Delete a DHCP server +func (f *IBMPIDhcpClient) Delete(id string) error { + params := p_cloud_service_d_h_c_p.NewPcloudDhcpDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithDhcpID(id) + _, err := f.session.Power.PCloudServicedhcp.PcloudDhcpDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteDhcpOperationFailed, id, err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-dr-location.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-dr-location.go new file mode 100644 index 000000000..7e95ba792 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-dr-location.go @@ -0,0 +1,53 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIDisasterRecoveryLocationClient +type IBMPIDisasterRecoveryLocationClient struct { + IBMPIClient +} + +// NewIBMPIDisasterRecoveryLocationClient +func NewIBMPIDisasterRecoveryLocationClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIDisasterRecoveryLocationClient { + return &IBMPIDisasterRecoveryLocationClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get the disaster recovery site details for the current location +func (f *IBMPIDisasterRecoveryLocationClient) Get() (*models.DisasterRecoveryLocation, error) { + params := p_cloud_disaster_recovery.NewPcloudLocationsDisasterrecoveryGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudDisasterRecovery.PcloudLocationsDisasterrecoveryGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetDisasterRecoveryLocationOperationFailed, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform the Get Disaster Recovery Location for the cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Get all disaster recovery locations supported by Power Virtual Server +func (f *IBMPIDisasterRecoveryLocationClient) GetAll() (*models.DisasterRecoveryLocations, error) { + params := p_cloud_disaster_recovery.NewPcloudLocationsDisasterrecoveryGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.PCloudDisasterRecovery.PcloudLocationsDisasterrecoveryGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetAllDisasterRecoveryLocationOperationFailed, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get All Disaster Recovery Location of Power Virtual Server") + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-helper.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-helper.go new file mode 100644 index 000000000..35fb48439 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-helper.go @@ -0,0 +1,25 @@ +package instance + +import ( + "context" + + "github.com/IBM-Cloud/power-go-client/ibmpisession" +) + +// Helper methods that will be used by the client classes + +// IBMPIHelperClient +type IBMPIClient struct { + session *ibmpisession.IBMPISession + cloudInstanceID string + ctx context.Context +} + +// NewIBMPIClient +func NewIBMPIClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIClient { + return &IBMPIClient{ + session: sess, + cloudInstanceID: cloudInstanceID, + ctx: ctx, + } +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-host-groups.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-host-groups.go new file mode 100644 index 000000000..3c697f4db --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-host-groups.go @@ -0,0 +1,197 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/host_groups" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIHostGroupsClient +type IBMPIHostGroupsClient struct { + IBMPIClient +} + +// NewIBMPIHostGroupsClient +func NewIBMPIHostGroupsClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIHostGroupsClient { + return &IBMPIHostGroupsClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get All available hosts +func (f *IBMPIHostGroupsClient) GetAvailableHosts() (models.AvailableHostList, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := host_groups.NewV1AvailableHostsParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.HostGroups.V1AvailableHosts(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get available hosts for %s: %w", f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get available hosts") + } + return resp.Payload, nil +} + +// Get all host groups +func (f *IBMPIHostGroupsClient) GetHostGroups() (models.HostGroupList, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := host_groups.NewV1HostGroupsGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.HostGroups.V1HostGroupsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get Host groups for %s: %w", f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get host groups") + } + return resp.Payload, nil +} + +// Create a host group +func (f *IBMPIHostGroupsClient) CreateHostGroup(body *models.HostGroupCreate) (*models.HostGroup, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := host_groups.NewV1HostGroupsPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithBody(body) + resp, err := f.session.Power.HostGroups.V1HostGroupsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to create host group for %s: %w", f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to create host groups") + } + return resp.Payload, nil +} + +// Update a host group +func (f *IBMPIHostGroupsClient) UpdateHostGroup(body *models.HostGroupShareOp, id string) (*models.HostGroup, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := host_groups.NewV1HostGroupsIDPutParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithBody(body).WithHostGroupID(id) + resp, err := f.session.Power.HostGroups.V1HostGroupsIDPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update host group for %s: %w", f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update host groups") + } + return resp.Payload, nil +} + +// Get a host group +func (f *IBMPIHostGroupsClient) GetHostGroup(id string) (*models.HostGroup, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := host_groups.NewV1HostGroupsIDGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithHostGroupID(id) + resp, err := f.session.Power.HostGroups.V1HostGroupsIDGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get host group %s for %s: %w", id, f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get host group %s", id) + } + return resp.Payload, nil +} + +// Get all hosts +func (f *IBMPIHostGroupsClient) GetHosts() (models.HostList, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + hostReference := true + params := host_groups.NewV1HostsGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + params.HostReference = &hostReference + resp, err := f.session.Power.HostGroups.V1HostsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get hosts for %s: %w", f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get hosts") + } + return resp.Payload, nil +} + +// Create a host +func (f *IBMPIHostGroupsClient) CreateHost(body *models.HostCreate) (models.HostList, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := host_groups.NewV1HostsPostParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithBody(body) + resp, err := f.session.Power.HostGroups.V1HostsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to create a host for %s: %w", f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to create a host") + } + return resp.Payload, nil +} + +// Get a host +func (f *IBMPIHostGroupsClient) GetHost(id string) (*models.Host, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + hostReference := true + params := host_groups.NewV1HostsIDGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithHostID(id) + params.HostReference = &hostReference + resp, err := f.session.Power.HostGroups.V1HostsIDGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get host %s for %s: %w", id, f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get host %s", id) + } + return resp.Payload, nil +} + +// Update a host +func (f *IBMPIHostGroupsClient) UpdateHost(body *models.HostPut, id string) (*models.Host, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := host_groups.NewV1HostsIDPutParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithHostID(id).WithBody(body) + resp, err := f.session.Power.HostGroups.V1HostsIDPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update host %s for %s: %w", id, f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update host %s", id) + } + return resp.Payload, nil +} + +// Delete a host +func (f *IBMPIHostGroupsClient) DeleteHost(id string) error { + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := host_groups.NewV1HostsIDDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithHostID(id) + resp, err := f.session.Power.HostGroups.V1HostsIDDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to delete host %s for %s: %w", id, f.cloudInstanceID, err)) + } + + if resp == nil || resp.Payload == nil { + return fmt.Errorf("failed to delete host %s", id) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-image.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-image.go new file mode 100644 index 000000000..f6b91e2aa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-image.go @@ -0,0 +1,225 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images" + "github.com/IBM-Cloud/power-go-client/power/models" + "github.com/IBM/go-sdk-core/v5/core" +) + +// IBMPIImageClient +type IBMPIImageClient struct { + IBMPIClient +} + +// NewIBMPIImageClient +func NewIBMPIImageClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIImageClient { + return &IBMPIImageClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get an Image +func (f *IBMPIImageClient) Get(id string) (*models.Image, error) { + params := p_cloud_images.NewPcloudCloudinstancesImagesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithImageID(id) + resp, err := f.session.Power.PCloudImages.PcloudCloudinstancesImagesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetImageOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform Get Image Operation for image %s", id) + } + return resp.Payload, nil +} + +// Get All Images that are imported into Power Instance +func (f *IBMPIImageClient) GetAll() (*models.Images, error) { + params := p_cloud_images.NewPcloudCloudinstancesImagesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudImages.PcloudCloudinstancesImagesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all PI Images of the PVM instance %s : %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all PI Images of the PVM instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create a Stock Image +func (f *IBMPIImageClient) Create(body *models.CreateImage) (*models.Image, error) { + if body.Source == nil || len(*body.Source) == 0 { + body.Source = core.StringPtr("root-project") + } + params := p_cloud_images.NewPcloudCloudinstancesImagesPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + respok, respcreated, err := f.session.Power.PCloudImages.PcloudCloudinstancesImagesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateImageOperationFailed, f.cloudInstanceID, err)) + } + if respok != nil && respok.Payload != nil { + return respok.Payload, nil + } + if respcreated != nil && respcreated.Payload != nil { + return respcreated.Payload, nil + } + return nil, fmt.Errorf("failed to perform Create Image Operation for cloud instance %s", f.cloudInstanceID) +} + +// Import an Image +func (f *IBMPIImageClient) CreateCosImage(body *models.CreateCosImageImportJob) (imageJob *models.JobReference, err error) { + // Check for satellite differences in this endpoint + if !f.session.IsOnPrem() && body.Checksum { + return nil, fmt.Errorf("checksum parameter is not supported in off-prem location") + } + params := p_cloud_images.NewPcloudV1CloudinstancesCosimagesPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + resp, err := f.session.Power.PCloudImages.PcloudV1CloudinstancesCosimagesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to perform Create COS Image Operation for cloud instance %s with error %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform Create COS Image Operation for cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Export an Image +func (f *IBMPIImageClient) ExportImage(id string, body *models.ExportImage) (*models.JobReference, error) { + // Check for satellite differences in this endpoint + if !f.session.IsOnPrem() && body.Checksum { + return nil, fmt.Errorf("checksum parameter is not supported in off-prem location") + } + params := p_cloud_images.NewPcloudV2ImagesExportPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithImageID(id).WithBody(body) + resp, err := f.session.Power.PCloudImages.PcloudV2ImagesExportPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Export COS Image for image id %s with error %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Export COS Image for image id %s", id) + } + return resp.Payload, nil +} + +// Delete an Image +func (f *IBMPIImageClient) Delete(id string) error { + params := p_cloud_images.NewPcloudCloudinstancesImagesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithImageID(id) + _, err := f.session.Power.PCloudImages.PcloudCloudinstancesImagesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to Delete PI Image %s: %w", id, err) + } + return nil +} + +// Get a Stock Image +func (f *IBMPIImageClient) GetStockImage(id string) (*models.Image, error) { + params := p_cloud_images.NewPcloudCloudinstancesStockimagesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithImageID(id) + resp, err := f.session.Power.PCloudImages.PcloudCloudinstancesStockimagesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get PI Stock Image %s for cloud instance %s: %w", id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get PI Stock Image %s for cloud instance %s", id, f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Get All Stock Images +func (f *IBMPIImageClient) GetAllStockImages(includeSAP bool, includeVTl bool) (*models.Images, error) { + params := p_cloud_images.NewPcloudCloudinstancesStockimagesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID). + WithSap(&includeSAP). + WithVtl(&includeVTl) + resp, err := f.session.Power.PCloudImages.PcloudCloudinstancesStockimagesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get Stock Images with (SAP=%t, VTL=%t) for cloud instance %s: %w", includeSAP, includeVTl, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get Stock Images with (SAP=%t, VTL=%t) for cloud instance %s", includeSAP, includeVTl, f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Get All Stock SAP Images +func (f *IBMPIImageClient) GetAllStockSAPImages() (*models.Images, error) { + // get stock images. include all available SAP images + images, err := f.GetAllStockImages(true, false) + if err != nil { + return nil, err + } + + // select SAP images + sapImages := new(models.Images) + for _, image := range images.Images { + if image.Specifications.ImageType == "stock-sap" { + sapImages.Images = append(sapImages.Images, image) + } + } + return sapImages, nil +} + +// Get All Stock VTL Images +func (f *IBMPIImageClient) GetAllStockVTLImages() (*models.Images, error) { + // get stock images. include all available stock VTL images + images, err := f.GetAllStockImages(false, true) + if err != nil { + return nil, err + } + + // select VTL images + vtlImages := new(models.Images) + for _, image := range images.Images { + if image.Specifications.ImageType == "stock-vtl" { + vtlImages.Images = append(vtlImages.Images, image) + } + } + return vtlImages, nil +} + +// Return true if Image is a VTL Image +func (f *IBMPIImageClient) IsVTLImage(imageId string) (bool, error) { + images := new(models.Images) + + // get all stock vtl images + stockVTLImages, err := f.GetAllStockVTLImages() + if err != nil { + return false, err + } + images.Images = append(images.Images, stockVTLImages.Images...) + + // get all images + cloudInstanceImages, err := f.GetAll() + if err != nil { + return false, err + } + images.Images = append(images.Images, cloudInstanceImages.Images...) + + // search for image in list of all images + for _, image := range images.Images { + if imageId == *image.ImageID { + if image.Specifications.ImageType == "stock-vtl" { + return true, nil + } else { + return false, fmt.Errorf("image with id: %s is not a VTL image", imageId) + } + } + } + return false, fmt.Errorf("image with id: %s is not a VTL image", imageId) +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-instance-networks.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-instance-networks.go new file mode 100644 index 000000000..f24834c41 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-instance-networks.go @@ -0,0 +1,57 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + pvmclient "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// Instance-scoped networks under a PVM: +type IBMPIInstanceNetworksClient struct { + IBMPIClient +} + +func NewIBMPIInstanceNetworksClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIInstanceNetworksClient { + return &IBMPIInstanceNetworksClient{*NewIBMPIClient(ctx, sess, cloudInstanceID)} +} + +// GetAll returns the wrapper that contains all networks on a PVM instance. +func (c *IBMPIInstanceNetworksClient) GetAll(pvmInstanceID string) (*models.PVMInstanceNetworks, error) { + params := pvmclient.NewPcloudPvminstancesNetworksGetallParams(). + WithContext(c.ctx). + WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(c.cloudInstanceID). + WithPvmInstanceID(pvmInstanceID) + + resp, err := c.session.Power.PCloudpVMInstances.PcloudPvminstancesNetworksGetall(params, c.session.AuthInfo(c.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get networks for pvm instance %s: %w", pvmInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get networks for pvm instance %s", pvmInstanceID) + } + return resp.Payload, nil +} + +// Get returns the wrapper for a specific network on a PVM instance. +func (c *IBMPIInstanceNetworksClient) Get(pvmInstanceID, networkID string) (*models.PVMInstanceNetworks, error) { + params := pvmclient.NewPcloudPvminstancesNetworksGetParams(). + WithContext(c.ctx). + WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(c.cloudInstanceID). + WithPvmInstanceID(pvmInstanceID). + WithNetworkID(networkID) + + resp, err := c.session.Power.PCloudpVMInstances.PcloudPvminstancesNetworksGet(params, c.session.AuthInfo(c.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get network %s for pvm instance %s: %w", networkID, pvmInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get network %s for pvm instance %s", networkID, pvmInstanceID) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-instance.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-instance.go new file mode 100644 index 000000000..e6222e7a1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-instance.go @@ -0,0 +1,315 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIInstanceClient +type IBMPIInstanceClient struct { + IBMPIClient +} + +// NewIBMPIInstanceClient +func NewIBMPIInstanceClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIInstanceClient { + return &IBMPIInstanceClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get an Instance +func (f *IBMPIInstanceClient) Get(id string) (*models.PVMInstance, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get PVM Instance %s :%w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get PVM Instance %s", id) + } + return resp.Payload, nil +} + +// Get All Instances +func (f *IBMPIInstanceClient) GetAll() (*models.PVMInstances, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all PVM Instances of Power Instance %s :%w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all PVM Instances of Power Instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create an Instance +func (f *IBMPIInstanceClient) Create(body *models.PVMInstanceCreate) (*models.PVMInstanceList, error) { + // Check for satellite differences in this endpoint + if f.session.IsOnPrem() && (body.DeploymentTarget != nil || body.DeploymentType != "") { + return nil, fmt.Errorf("deployment target and deployment type parameters are not supported in on-prem location") + } + params := p_cloud_p_vm_instances.NewPcloudPvminstancesPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, postcreated, postAccepted, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Create PVM Instance :%w", err)) + } + if postok != nil && len(postok.Payload) > 0 { + return &postok.Payload, nil + } + if postcreated != nil && len(postcreated.Payload) > 0 { + return &postcreated.Payload, nil + } + if postAccepted != nil && len(postAccepted.Payload) > 0 { + return &postAccepted.Payload, nil + } + return nil, fmt.Errorf("failed to Create PVM Instance") +} + +// Delete an Instance +func (f *IBMPIInstanceClient) Delete(id string) error { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id) + _, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to Delete PVM Instance %s :%w", id, err) + } + return nil +} + +// Delete an Instance with body +func (f *IBMPIInstanceClient) DeleteWithBody(id string, body *models.PVMInstanceDelete) error { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id).WithBody(body) + _, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to Delete PVM Instance %s :%w", id, err) + } + return nil +} + +// Update an Instance +func (f *IBMPIInstanceClient) Update(id string, body *models.PVMInstanceUpdate) (*models.PVMInstanceUpdateResponse, error) { + // Check for satellite differences in this endpoint + if f.session.IsOnPrem() && body.SapProfileID != "" { + return nil, fmt.Errorf("sap profile id parameter is not supported in on-prem location") + } + params := p_cloud_p_vm_instances.NewPcloudPvminstancesPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id).WithBody(body) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Update PVM Instance %s :%w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Update PVM Instance %s", id) + } + return resp.Payload, nil +} + +// Action Operation for an Instance +func (f *IBMPIInstanceClient) Action(id string, body *models.PVMInstanceAction) error { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesActionPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithBody(body) + _, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesActionPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to perform Action on PVM Instance %s :%w", id, err) + } + return nil + +} + +// Generate the Console URL for an Instance +func (f *IBMPIInstanceClient) PostConsoleURL(id string) (*models.PVMInstanceConsole, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesConsolePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id) + postok, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesConsolePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Generate the Console URL PVM Instance %s :%w", id, err)) + } + if postok == nil || postok.Payload == nil { + return nil, fmt.Errorf("failed to Generate the Console URL PVM Instance %s", id) + } + return postok.Payload, nil +} + +// List the available Console Languages for an Instance +func (f *IBMPIInstanceClient) GetConsoleLanguages(id string) (*models.ConsoleLanguages, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_p_vm_instances.NewPcloudPvminstancesConsoleGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesConsoleGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get Console Languages for PVM Instance %s :%w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Console Languages for PVM Instance %s", id) + } + return resp.Payload, nil +} + +// Update the available Console Languages for an Instance +func (f *IBMPIInstanceClient) UpdateConsoleLanguage(id string, body *models.ConsoleLanguage) (*models.ConsoleLanguage, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_p_vm_instances.NewPcloudPvminstancesConsolePutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithBody(body) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesConsolePut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Update Console Language for PVM Instance %s :%w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Update Console Language for PVM Instance %s", id) + } + return resp.Payload, nil +} + +// Capture an Instance +func (f *IBMPIInstanceClient) CaptureInstanceToImageCatalog(id string, body *models.PVMInstanceCapture) error { + // Check for satellite differences in this endpoint + if !f.session.IsOnPrem() && body.Checksum { + return fmt.Errorf("checksum parameter is not supported in off-prem location") + } + params := p_cloud_p_vm_instances.NewPcloudPvminstancesCapturePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithBody(body) + _, _, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesCapturePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to Capture the PVM Instance %s: %w", id, err) + } + return nil + +} + +// Capture an Instance (V2) +func (f *IBMPIInstanceClient) CaptureInstanceToImageCatalogV2(id string, body *models.PVMInstanceCapture) (*models.JobReference, error) { + params := p_cloud_p_vm_instances.NewPcloudV2PvminstancesCapturePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithBody(body) + resp, err := f.session.Power.PCloudpVMInstances.PcloudV2PvminstancesCapturePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Capture the PVM Instance %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Capture the PVM Instance %s", id) + } + return resp.Payload, nil +} + +// Create a snapshot of an Instance +func (f *IBMPIInstanceClient) CreatePvmSnapShot(id string, body *models.SnapshotCreate) (*models.SnapshotCreateResponse, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesSnapshotsPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithBody(body) + snapshotpostaccepted, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesSnapshotsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Create the snapshot for the pvminstance %s: %w", id, err)) + } + if snapshotpostaccepted == nil || snapshotpostaccepted.Payload == nil { + return nil, fmt.Errorf("failed to Create the snapshot for the pvminstance %s", id) + } + return snapshotpostaccepted.Payload, nil +} + +// Create a Clone of an Instance +func (f *IBMPIInstanceClient) CreateClone(id string, body *models.PVMInstanceClone) (*models.PVMInstance, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesClonePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithBody(body) + clonePost, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesClonePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to create the clone of the pvm instance %s: %w", id, err)) + } + if clonePost == nil || clonePost.Payload == nil { + return nil, fmt.Errorf("failed to create the clone of the pvm instance %s", id) + } + return clonePost.Payload, nil +} + +// Get an Instance's Snapshots +func (f *IBMPIInstanceClient) GetSnapShotVM(id string) (*models.Snapshots, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesSnapshotsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesSnapshotsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get the snapshot for the pvminstance %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get the snapshot for the pvminstance %s", id) + } + return resp.Payload, nil + +} + +// Restore a Snapshot of an Instance +func (f *IBMPIInstanceClient) RestoreSnapShotVM(id, snapshotid, restoreAction string, body *models.SnapshotRestore) (*models.Snapshot, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesSnapshotsRestorePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithSnapshotID(snapshotid).WithRestoreFailAction(&restoreAction). + WithBody(body) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesSnapshotsRestorePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to restrore the snapshot for the pvminstance %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to restrore the snapshot for the pvminstance %s", id) + } + return resp.Payload, nil +} + +// Add a Network to an Instance +func (f *IBMPIInstanceClient) AddNetwork(id string, body *models.PVMInstanceAddNetwork) (*models.PVMInstanceNetwork, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesNetworksPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithBody(body) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesNetworksPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to attach the network to the pvminstanceid %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to attach the network to the pvminstanceid %s", id) + } + return resp.Payload, nil +} + +// Delete a Network from an Instance +func (f *IBMPIInstanceClient) DeleteNetwork(id, networkID string, body *models.PVMInstanceRemoveNetwork) error { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesNetworksDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id).WithNetworkID(networkID). + WithBody(body) + _, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesNetworksDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to delete the network to the pvminstanceid %s: %w", id, err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-job.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-job.go new file mode 100644 index 000000000..b9caaebab --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-job.go @@ -0,0 +1,66 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIJobClient +type IBMPIJobClient struct { + IBMPIClient +} + +// NewIBMPIJobClient +func NewIBMPIJobClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIJobClient { + return &IBMPIJobClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a Job +func (f *IBMPIJobClient) Get(id string) (*models.Job, error) { + params := p_cloud_jobs.NewPcloudCloudinstancesJobsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithJobID(id) + resp, err := f.session.Power.PCloudJobs.PcloudCloudinstancesJobsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetJobOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform get Job operation for job id %s", id) + } + return resp.Payload, nil +} + +// Get All Jobs +func (f *IBMPIJobClient) GetAll() (*models.Jobs, error) { + params := p_cloud_jobs.NewPcloudCloudinstancesJobsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudJobs.PcloudCloudinstancesJobsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetAllJobsOperationFailed, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform get all jobs") + } + return resp.Payload, nil +} + +// Delete a Job +func (f *IBMPIJobClient) Delete(id string) error { + params := p_cloud_jobs.NewPcloudCloudinstancesJobsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithJobID(id) + _, err := f.session.Power.PCloudJobs.PcloudCloudinstancesJobsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteJobsOperationFailed, id, err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-key.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-key.go new file mode 100644 index 000000000..770c5ee64 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-key.go @@ -0,0 +1,88 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIKeyClient +type IBMPIKeyClient struct { + IBMPIClient +} + +// NewIBMPIKeyClient +func NewIBMPIKeyClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIKeyClient { + return &IBMPIKeyClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a SSH Key +func (f *IBMPIKeyClient) Get(id string) (*models.SSHKey, error) { + var tenantid = f.session.Options.UserAccount + params := p_cloud_tenants_ssh_keys.NewPcloudTenantsSshkeysGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithTenantID(tenantid).WithSshkeyName(id) + resp, err := f.session.Power.PCloudTenantsSSHKeys.PcloudTenantsSshkeysGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetPIKeyOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get PI Key %s", id) + } + return resp.Payload, nil +} + +// Get All SSH Keys +func (f *IBMPIKeyClient) GetAll() (*models.SSHKeys, error) { + var tenantid = f.session.Options.UserAccount + params := p_cloud_tenants_ssh_keys.NewPcloudTenantsSshkeysGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithTenantID(tenantid) + resp, err := f.session.Power.PCloudTenantsSSHKeys.PcloudTenantsSshkeysGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all PI Keys: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all PI Keys") + } + return resp.Payload, nil +} + +// Create a SSH Key +func (f *IBMPIKeyClient) Create(body *models.SSHKey) (*models.SSHKey, error) { + var tenantid = f.session.Options.UserAccount + params := p_cloud_tenants_ssh_keys.NewPcloudTenantsSshkeysPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithTenantID(tenantid).WithBody(body) + postok, postcreated, err := f.session.Power.PCloudTenantsSSHKeys.PcloudTenantsSshkeysPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreatePIKeyOperationFailed, err)) + } + if postok != nil && postok.Payload != nil { + return postok.Payload, nil + } + if postcreated != nil && postcreated.Payload != nil { + return postcreated.Payload, nil + } + return nil, fmt.Errorf("failed to Create PI Key") +} + +// Delete a SSH Key +func (f *IBMPIKeyClient) Delete(id string) error { + var tenantid = f.session.Options.UserAccount + params := p_cloud_tenants_ssh_keys.NewPcloudTenantsSshkeysDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithTenantID(tenantid).WithSshkeyName(id) + _, err := f.session.Power.PCloudTenantsSSHKeys.PcloudTenantsSshkeysDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeletePIKeyOperationFailed, id, err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-address-group.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-address-group.go new file mode 100644 index 000000000..2a6df77aa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-address-group.go @@ -0,0 +1,142 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/network_address_groups" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPINetworkAddressGroupClient +type IBMPINetworkAddressGroupClient struct { + IBMPIClient +} + +// NewIBMPINetworkAddressGroupClient +func NewIBMPINetworkAddressGroupClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPINetworkAddressGroupClient { + return &IBMPINetworkAddressGroupClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Create a new Network Address Group +func (f *IBMPINetworkAddressGroupClient) Create(body *models.NetworkAddressGroupCreate) (*models.NetworkAddressGroup, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_address_groups.NewV1NetworkAddressGroupsPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithBody(body) + postok, postcreated, err := f.session.Power.NetworkAddressGroups.V1NetworkAddressGroupsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to create a network address group %s", err)) + } + if postok != nil && postok.Payload != nil { + return postok.Payload, nil + } + if postcreated != nil && postcreated.Payload != nil { + return postcreated.Payload, nil + } + return nil, fmt.Errorf("failed to create a network address group") +} + +// Get the list of Network Address Groups for a workspace +func (f *IBMPINetworkAddressGroupClient) GetAll() (*models.NetworkAddressGroups, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_address_groups.NewV1NetworkAddressGroupsGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.NetworkAddressGroups.V1NetworkAddressGroupsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get network address groups %s", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get network address groups") + } + return resp.Payload, nil + +} + +// Get the detail of a Network Address Group +func (f *IBMPINetworkAddressGroupClient) Get(id string) (*models.NetworkAddressGroup, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_address_groups.NewV1NetworkAddressGroupsIDGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithNetworkAddressGroupID(id) + resp, err := f.session.Power.NetworkAddressGroups.V1NetworkAddressGroupsIDGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get network address group %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get network address group %s", id) + } + return resp.Payload, nil + +} + +// Update a Network Address Group +func (f *IBMPINetworkAddressGroupClient) Update(id string, body *models.NetworkAddressGroupUpdate) (*models.NetworkAddressGroup, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_address_groups.NewV1NetworkAddressGroupsIDPutParams().WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut).WithNetworkAddressGroupID(id).WithBody(body) + resp, err := f.session.Power.NetworkAddressGroups.V1NetworkAddressGroupsIDPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update network address group %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update network address group %s", id) + } + return resp.Payload, nil +} + +// Delete a Network Address Group from a workspace +func (f *IBMPINetworkAddressGroupClient) Delete(id string) error { + // Add check for on-prem location + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_address_groups.NewV1NetworkAddressGroupsIDDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkAddressGroupID(id) + _, err := f.session.Power.NetworkAddressGroups.V1NetworkAddressGroupsIDDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to delete network address group %s: %w", id, err) + } + return nil +} + +// Add a member to a Network Address Group +func (f *IBMPINetworkAddressGroupClient) AddMember(id string, body *models.NetworkAddressGroupAddMember) (*models.NetworkAddressGroupMember, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_address_groups.NewV1NetworkAddressGroupsMembersPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithNetworkAddressGroupID(id).WithBody(body) + resp, err := f.session.Power.NetworkAddressGroups.V1NetworkAddressGroupsMembersPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to add member to network address group %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to add member to network address group %s", id) + } + return resp.Payload, nil +} + +// Delete the member from a Network Address Group +func (f *IBMPINetworkAddressGroupClient) DeleteMember(id, memberId string) error { + // Add check for on-prem location + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_address_groups.NewV1NetworkAddressGroupsMembersDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkAddressGroupID(id).WithNetworkAddressGroupMemberID(memberId) + _, err := f.session.Power.NetworkAddressGroups.V1NetworkAddressGroupsMembersDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to delete member %s from network address group %s: %w", memberId, id, err)) + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-peers.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-peers.go new file mode 100644 index 000000000..71fdc3670 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-peers.go @@ -0,0 +1,164 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/network_peers" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPINetworkPeerClient +type IBMPINetworkPeerClient struct { + IBMPIClient +} + +// NewIBMPINetworkPeerClient +func NewIBMPINetworkPeerClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPINetworkPeerClient { + return &IBMPINetworkPeerClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get network peers +func (f *IBMPINetworkPeerClient) GetNetworkPeers() (*models.NetworkPeers, error) { + if !f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersGetallParams().WithContext(f.ctx). + WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.NetworkPeers.V1NetworkPeersGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get network peers for cloud instance %s with error %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get network peers for cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Delete a network peer +func (f *IBMPINetworkPeerClient) DeleteNetworkPeer(id string) error { + if !f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersIDDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkPeerID(id) + _, err := f.session.Power.NetworkPeers.V1NetworkPeersIDDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Delete network peer %s for cloud instance %s with error %w", id, f.cloudInstanceID, err)) + } + return nil + +} + +// Get a network peer +func (f *IBMPINetworkPeerClient) GetNetworkPeer(id string) (*models.NetworkPeer, error) { + if !f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersIDGetParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkPeerID(id) + resp, err := f.session.Power.NetworkPeers.V1NetworkPeersIDGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get network peer %s for cloud instance %s with error %w", id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get network peer %s for cloud instance %s", id, f.cloudInstanceID) + } + return resp.Payload, nil + +} + +// Update a network peer +func (f *IBMPINetworkPeerClient) UpdateNetworkPeer(id string, body *models.NetworkPeerUpdate) (*models.NetworkPeer, error) { + if !f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersIDPutParams().WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut).WithNetworkPeerID(id).WithBody(body) + resp, err := f.session.Power.NetworkPeers.V1NetworkPeersIDPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Update network peer %s for cloud instance %s with error %w", id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Update network peer %s", id) + } + return resp.Payload, nil +} + +// Get all network peers interfaces +func (f *IBMPINetworkPeerClient) GetAllNetworkPeersInterfaces() (models.PeerInterfaces, error) { + if !f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersInterfacesGetallParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.NetworkPeers.V1NetworkPeersInterfacesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get network peers interfaces for cloud instance %s with error %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get network peers interfaces for cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create a network peer +func (f *IBMPINetworkPeerClient) CreateNetworkPeer(body *models.NetworkPeerCreate) (*models.NetworkPeer, error) { + if !f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithBody(body) + resp, err := f.session.Power.NetworkPeers.V1NetworkPeersPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Create network peer for cloud instance %s with error %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Create network peer for cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Delete network peer's route filter +func (f *IBMPINetworkPeerClient) DeleteNetworkPeersRouteFilter(id, routeFilterID string) error { + if !f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersRouteFilterIDDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkPeerID(id).WithRouteFilterID(routeFilterID) + _, err := f.session.Power.NetworkPeers.V1NetworkPeersRouteFilterIDDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Delete network peer's %s route filter %s for cloud instance %s with error %w", id, routeFilterID, f.cloudInstanceID, err)) + } + return nil +} + +// Get network peer's route filter +func (f *IBMPINetworkPeerClient) GetNetworkPeersRouteFilter(id, routeFilterID string) (*models.RouteFilter, error) { + if !f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersRouteFilterIDGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithNetworkPeerID(id).WithRouteFilterID(routeFilterID) + resp, err := f.session.Power.NetworkPeers.V1NetworkPeersRouteFilterIDGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get network peer's %s route filter %s for cloud instance %s with error %w", id, routeFilterID, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get network peer's %s route filter %s for cloud instance %s", id, routeFilterID, f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create network peer's route filter +func (f *IBMPINetworkPeerClient) CreateNetworkPeersRouteFilters(id string, body *models.RouteFilterCreate) (*models.RouteFilter, error) { + if !f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOffPremSupported) + } + params := network_peers.NewV1NetworkPeersRouteFiltersPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithNetworkPeerID(id).WithBody(body) + resp, err := f.session.Power.NetworkPeers.V1NetworkPeersRouteFiltersPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Create network peer's %s route filter for cloud instance %s with error %w", id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Create network peer's %s route filter for cloud instance %s", id, f.cloudInstanceID) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-security-group.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-security-group.go new file mode 100644 index 000000000..ba48b5da3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network-security-group.go @@ -0,0 +1,184 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/network_security_groups" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPINetworkSecurityGroupClient +type IBMPINetworkSecurityGroupClient struct { + IBMPIClient +} + +// NewIBMIPINetworkSecurityGroupClient +func NewIBMIPINetworkSecurityGroupClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPINetworkSecurityGroupClient { + return &IBMPINetworkSecurityGroupClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a network security group +func (f *IBMPINetworkSecurityGroupClient) Get(id string) (*models.NetworkSecurityGroup, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsIDGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithNetworkSecurityGroupID(id) + resp, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsIDGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get network security group %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get network security group %s", id) + } + return resp.Payload, nil +} + +// Get all network security groups +func (f *IBMPINetworkSecurityGroupClient) GetAll() (*models.NetworkSecurityGroups, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsListParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsList(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get network security groups %s", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get network security groups") + } + return resp.Payload, nil +} + +// Create a network security group +func (f *IBMPINetworkSecurityGroupClient) Create(body *models.NetworkSecurityGroupCreate) (*models.NetworkSecurityGroup, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithBody(body) + postok, postcreated, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to create a network security group %s", err)) + } + if postok != nil && postok.Payload != nil { + return postok.Payload, nil + } + if postcreated != nil && postcreated.Payload != nil { + return postcreated.Payload, nil + } + return nil, fmt.Errorf("failed to create a network security group") +} + +// Update a network security group +func (f *IBMPINetworkSecurityGroupClient) Update(id string, body *models.NetworkSecurityGroupUpdate) (*models.NetworkSecurityGroup, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsIDPutParams().WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut).WithNetworkSecurityGroupID(id).WithBody(body) + resp, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsIDPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update network security group %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update network security group %s", id) + } + return resp.Payload, nil +} + +// Delete a network security group +func (f *IBMPINetworkSecurityGroupClient) Delete(id string) error { + // Add check for on-prem location + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsIDDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkSecurityGroupID(id) + _, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsIDDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to delete network security group %s: %w", id, err) + } + return nil +} + +// Add a member to a network security group +func (f *IBMPINetworkSecurityGroupClient) AddMember(id string, body *models.NetworkSecurityGroupAddMember) (*models.NetworkSecurityGroupMember, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsMembersPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithNetworkSecurityGroupID(id).WithBody(body) + resp, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsMembersPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to add member to network security group %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to add member to network security group %s", id) + } + return resp.Payload, nil +} + +// Deleta a member from a network securti group +func (f *IBMPINetworkSecurityGroupClient) DeleteMember(id, memberId string) error { + // Add check for on-prem location + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsMembersDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkSecurityGroupID(id).WithNetworkSecurityGroupMemberID(memberId) + _, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsMembersDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to delete member %s from network security group %s: %w", memberId, id, err)) + } + return nil +} + +// Add a rule to a network security group +func (f *IBMPINetworkSecurityGroupClient) AddRule(id string, body *models.NetworkSecurityGroupAddRule) (*models.NetworkSecurityGroupRule, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsRulesPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithNetworkSecurityGroupID(id).WithBody(body) + resp, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsRulesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to add rule to network security group %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to add rule to network security group %s", id) + } + return resp.Payload, nil +} + +// Delete a rule from a network security group +func (f *IBMPINetworkSecurityGroupClient) DeleteRule(id, ruleId string) error { + // Add check for on-prem location + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsRulesDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkSecurityGroupID(id).WithNetworkSecurityGroupRuleID(ruleId) + _, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsRulesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to delete rule %s from network security group %s: %w", ruleId, id, err)) + } + return nil +} + +// Action on a network security group +func (f *IBMPINetworkSecurityGroupClient) Action(body *models.NetworkSecurityGroupsAction) error { + // Add check for on-prem location + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := network_security_groups.NewV1NetworkSecurityGroupsActionPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithBody(body) + _, _, err := f.session.Power.NetworkSecurityGroups.V1NetworkSecurityGroupsActionPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to perform action :%w", err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network.go new file mode 100644 index 000000000..86122fbfd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-network.go @@ -0,0 +1,276 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/networks" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPINetworkClient +type IBMPINetworkClient struct { + IBMPIClient +} + +// NewIBMPINetworkClient +func NewIBMPINetworkClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPINetworkClient { + return &IBMPINetworkClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a Network +func (f *IBMPINetworkClient) Get(id string) (*models.Network, error) { + params := p_cloud_networks.NewPcloudNetworksGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithNetworkID(id) + resp, err := f.session.Power.PCloudNetworks.PcloudNetworksGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetNetworkOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Network %s", id) + } + return resp.Payload, nil +} + +// Get All Networks +func (f *IBMPINetworkClient) GetAll() (*models.Networks, error) { + params := p_cloud_networks.NewPcloudNetworksGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudNetworks.PcloudNetworksGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get Network for cloud instance %s with error %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Network for cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create a Network +func (f *IBMPINetworkClient) Create(body *models.NetworkCreate) (*models.Network, error) { + params := p_cloud_networks.NewPcloudNetworksPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, postcreated, err := f.session.Power.PCloudNetworks.PcloudNetworksPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateNetworkOperationFailed, body.Name, err)) + } + if postok != nil && postok.Payload != nil { + return postok.Payload, nil + } + if postcreated != nil && postcreated.Payload != nil { + return postcreated.Payload, nil + } + return nil, fmt.Errorf("failed to perform Create Network Operation for Network %s", body.Name) +} + +// Update a Network +func (f *IBMPINetworkClient) Update(id string, body *models.NetworkUpdate) (*models.Network, error) { + params := p_cloud_networks.NewPcloudNetworksPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithNetworkID(id). + WithBody(body) + resp, err := f.session.Power.PCloudNetworks.PcloudNetworksPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to perform Update Network Operation for Network %s with error %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform Update Network Operation for Network %s", id) + } + return resp.Payload, nil +} + +// Get All Public Networks +func (f *IBMPINetworkClient) GetAllPublic() (*models.Networks, error) { + filterQuery := "type=\"pub-vlan\"" + params := p_cloud_networks.NewPcloudNetworksGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithFilter(&filterQuery) + resp, err := f.session.Power.PCloudNetworks.PcloudNetworksGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Public Networks for cloud instance %s: %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Public Networks for cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Delete a Network +func (f *IBMPINetworkClient) Delete(id string) error { + params := p_cloud_networks.NewPcloudNetworksDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithNetworkID(id) + _, err := f.session.Power.PCloudNetworks.PcloudNetworksDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to Delete PI Network %s: %w", id, err) + } + return nil +} + +// Get All Ports on a Network +func (f *IBMPINetworkClient) GetAllPorts(id string) (*models.NetworkPorts, error) { + params := p_cloud_networks.NewPcloudNetworksPortsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithNetworkID(id) + resp, err := f.session.Power.PCloudNetworks.PcloudNetworksPortsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Network Ports for Network %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Network Ports for Network %s", id) + } + return resp.Payload, nil +} + +// Get a Port on a Network +func (f *IBMPINetworkClient) GetPort(id string, networkPortID string) (*models.NetworkPort, error) { + params := p_cloud_networks.NewPcloudNetworksPortsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithNetworkID(id). + WithPortID(networkPortID) + resp, err := f.session.Power.PCloudNetworks.PcloudNetworksPortsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get PI Network Port %s for Network %s: %w", networkPortID, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get PI Network Port %s for Network %s", networkPortID, id) + } + return resp.Payload, nil +} + +// Create a Port on a Network +func (f *IBMPINetworkClient) CreatePort(id string, body *models.NetworkPortCreate) (*models.NetworkPort, error) { + params := p_cloud_networks.NewPcloudNetworksPortsPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithNetworkID(id). + WithBody(body) + resp, err := f.session.Power.PCloudNetworks.PcloudNetworksPortsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateNetworkPortOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform Create Network Port Operation for Network %s", id) + } + return resp.Payload, nil +} + +// Delete a Port on a Network +func (f *IBMPINetworkClient) DeletePort(id string, networkPortID string) error { + params := p_cloud_networks.NewPcloudNetworksPortsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithNetworkID(id). + WithPortID(networkPortID) + _, err := f.session.Power.PCloudNetworks.PcloudNetworksPortsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to delete the network port %s for network %s with error %w", networkPortID, id, err) + } + return nil +} + +// Update a Port on a Network +func (f *IBMPINetworkClient) UpdatePort(id, networkPortID string, body *models.NetworkPortUpdate) (*models.NetworkPort, error) { + params := p_cloud_networks.NewPcloudNetworksPortsPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithNetworkID(id). + WithPortID(networkPortID).WithBody(body) + resp, err := f.session.Power.PCloudNetworks.PcloudNetworksPortsPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update the port %s and Network %s with error %w", networkPortID, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update the port %s and Network %s", networkPortID, id) + } + return resp.Payload, nil +} + +// Create a network interface +func (f *IBMPINetworkClient) CreateNetworkInterface(id string, body *models.NetworkInterfaceCreate) (*models.NetworkInterface, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := networks.NewV1NetworksNetworkInterfacesPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithNetworkID(id).WithBody(body) + resp, err := f.session.Power.Networks.V1NetworksNetworkInterfacesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to create network interface for network %s with %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to create network interface for network %s", id) + } + return resp.Payload, nil +} + +// Get all Create a network interface +func (f *IBMPINetworkClient) GetAllNetworkInterfaces(id string) (*models.NetworkInterfaces, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := networks.NewV1NetworksNetworkInterfacesGetallParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithNetworkID(id) + resp, err := f.session.Power.Networks.V1NetworksNetworkInterfacesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get all network interfaces for network %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all network interfaces for network %s", id) + } + return resp.Payload, nil +} + +// Get a network interface +func (f *IBMPINetworkClient) GetNetworkInterface(id, netIntID string) (*models.NetworkInterface, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := networks.NewV1NetworksNetworkInterfacesGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithNetworkID(id).WithNetworkInterfaceID(netIntID) + resp, err := f.session.Power.Networks.V1NetworksNetworkInterfacesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get network interace %s for network %s: %w", netIntID, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get network interface %s for network %s", netIntID, id) + } + return resp.Payload, nil +} + +// Update a network interface +func (f *IBMPINetworkClient) UpdateNetworkInterface(id, netIntID string, body *models.NetworkInterfaceUpdate) (*models.NetworkInterface, error) { + // Add check for on-prem location + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := networks.NewV1NetworksNetworkInterfacesPutParams().WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut).WithNetworkID(id).WithNetworkInterfaceID(netIntID).WithBody(body) + resp, err := f.session.Power.Networks.V1NetworksNetworkInterfacesPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update network interface %s and network %s with error %w", netIntID, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update network interface %s and network %s", netIntID, id) + } + return resp.Payload, nil +} + +// Delete a network interface +func (f *IBMPINetworkClient) DeleteNetworkInterface(id, netIntID string) error { + // Add check for on-prem location + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := networks.NewV1NetworksNetworkInterfacesDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithNetworkID(id).WithNetworkInterfaceID(netIntID) + _, err := f.session.Power.Networks.V1NetworksNetworkInterfacesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to delete network interface %s for network %s with error %w", netIntID, id, err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-placement-groups.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-placement-groups.go new file mode 100644 index 000000000..e334d784d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-placement-groups.go @@ -0,0 +1,113 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIPlacementGroupClient +type IBMPIPlacementGroupClient struct { + IBMPIClient +} + +// NewIBMPIPlacementGroupClient +func NewIBMPIPlacementGroupClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIPlacementGroupClient { + return &IBMPIPlacementGroupClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a PI Placement Group +func (f *IBMPIPlacementGroupClient) Get(id string) (*models.PlacementGroup, error) { + params := p_cloud_placement_groups.NewPcloudPlacementgroupsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPlacementGroupID(id) + resp, err := f.session.Power.PCloudPlacementGroups.PcloudPlacementgroupsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetPlacementGroupOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Placement Group %s", id) + } + return resp.Payload, nil +} + +// Get All Placement Groups +func (f *IBMPIPlacementGroupClient) GetAll() (*models.PlacementGroups, error) { + params := p_cloud_placement_groups.NewPcloudPlacementgroupsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudPlacementGroups.PcloudPlacementgroupsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get All Placement Groups: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Placement Groups") + } + return resp.Payload, nil +} + +// Create a Placement Group +func (f *IBMPIPlacementGroupClient) Create(body *models.PlacementGroupCreate) (*models.PlacementGroup, error) { + params := p_cloud_placement_groups.NewPcloudPlacementgroupsPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, err := f.session.Power.PCloudPlacementGroups.PcloudPlacementgroupsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreatePlacementGroupOperationFailed, f.cloudInstanceID, err)) + } + if postok == nil || postok.Payload == nil { + return nil, fmt.Errorf("failed to Create Placement Group") + } + return postok.Payload, nil +} + +// Delete a Placement Group +func (f *IBMPIPlacementGroupClient) Delete(id string) error { + params := p_cloud_placement_groups.NewPcloudPlacementgroupsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPlacementGroupID(id) + _, err := f.session.Power.PCloudPlacementGroups.PcloudPlacementgroupsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeletePlacementGroupOperationFailed, id, err) + } + return nil +} + +// Add an Instance to a Placement Group +func (f *IBMPIPlacementGroupClient) AddMember(id string, body *models.PlacementGroupServer) (*models.PlacementGroup, error) { + params := p_cloud_placement_groups.NewPcloudPlacementgroupsMembersPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPlacementGroupID(id). + WithBody(body) + postok, err := f.session.Power.PCloudPlacementGroups.PcloudPlacementgroupsMembersPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.AddMemberPlacementGroupOperationFailed, *body.ID, id, err)) + } + if postok == nil || postok.Payload == nil { + return nil, fmt.Errorf("failed to Add Member for instance %s and placement group %s", *body.ID, id) + } + return postok.Payload, nil +} + +// Remove an Instance to a Placement Group +func (f *IBMPIPlacementGroupClient) DeleteMember(id string, body *models.PlacementGroupServer) (*models.PlacementGroup, error) { + params := p_cloud_placement_groups.NewPcloudPlacementgroupsMembersDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPlacementGroupID(id). + WithBody(body) + delok, err := f.session.Power.PCloudPlacementGroups.PcloudPlacementgroupsMembersDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.DeleteMemberPlacementGroupOperationFailed, *body.ID, id, err)) + } + if delok == nil || delok.Payload == nil { + return nil, fmt.Errorf("failed to Delete Member for instance %s and placement group %s", *body.ID, id) + } + return delok.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-routes.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-routes.go new file mode 100644 index 000000000..811007fb2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-routes.go @@ -0,0 +1,116 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/routes" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIRouteClient +type IBMPIRouteClient struct { + IBMPIClient +} + +// NewIBMPIRouteClient +func NewIBMPIRouteClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIRouteClient { + return &IBMPIRouteClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a routing rule +func (f *IBMPIRouteClient) Get(id string) (*models.Route, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := routes.NewV1RoutesGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithRouteID(id) + resp, err := f.session.Power.Routes.V1RoutesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get route %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get route %s", id) + } + return resp.Payload, nil +} + +// Get all routes +func (f *IBMPIRouteClient) GetAll() (*models.Routes, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := routes.NewV1RoutesGetallParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.Routes.V1RoutesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get all routes for cloud instance %s with: %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all routes for cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Get route report +func (f *IBMPIRouteClient) GetRouteReport() (*models.RouteReport, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := routes.NewV1RoutesReportGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.Routes.V1RoutesReportGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get route report: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get route report for cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create a routing rule +func (f *IBMPIRouteClient) Create(body *models.RouteCreate) (*models.Route, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := routes.NewV1RoutesPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithBody(body) + resp, err := f.session.Power.Routes.V1RoutesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to create route: %s", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to create route") + } + return resp.Payload, nil +} + +// Update routing rule +func (f *IBMPIRouteClient) Update(id string, body *models.RouteUpdate) (*models.Route, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := routes.NewV1RoutesPutParams().WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut).WithRouteID(id).WithBody(body) + resp, err := f.session.Power.Routes.V1RoutesPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update route %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update route %s", id) + } + return resp.Payload, nil +} + +// Delete routing rule +func (f *IBMPIRouteClient) Delete(id string) error { + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := routes.NewV1RoutesDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithRouteID(id) + _, err := f.session.Power.Routes.V1RoutesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to delete route %s: %w", id, err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-sap-instance.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-sap-instance.go new file mode 100644 index 000000000..5f12548a6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-sap-instance.go @@ -0,0 +1,107 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPISAPInstanceClient +type IBMPISAPInstanceClient struct { + IBMPIClient +} + +// NewIBMPISAPInstanceClient +func NewIBMPISAPInstanceClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPISAPInstanceClient { + return &IBMPISAPInstanceClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Create a SAP Instance +func (f *IBMPISAPInstanceClient) Create(body *models.SAPCreate) (*models.PVMInstanceList, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_s_a_p.NewPcloudSapPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, postcreated, postAccepted, err := f.session.Power.PCloudsap.PcloudSapPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Create SAP Instance: %w", err)) + } + if postok != nil && len(postok.Payload) > 0 { + return &postok.Payload, nil + } + if postcreated != nil && len(postcreated.Payload) > 0 { + return &postcreated.Payload, nil + } + if postAccepted != nil && len(postAccepted.Payload) > 0 { + return &postAccepted.Payload, nil + } + return nil, fmt.Errorf("failed to Create SAP Instance") +} + +// Get a SAP Profile +func (f *IBMPISAPInstanceClient) GetSAPProfile(id string) (*models.SAPProfile, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_s_a_p.NewPcloudSapGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSapProfileID(id) + resp, err := f.session.Power.PCloudsap.PcloudSapGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get sap profile %s : %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get sap profile %s", id) + } + return resp.Payload, nil +} + +// Get All SAP Profiles +func (f *IBMPISAPInstanceClient) GetAllSAPProfiles(cloudInstanceID string) (*models.SAPProfiles, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_s_a_p.NewPcloudSapGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudsap.PcloudSapGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get all sap profiles for power instance %s: %w", cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all sap profiles for power instance %s", cloudInstanceID) + } + return resp.Payload, nil +} + +// Get All SAP Profiles with filters +func (f *IBMPISAPInstanceClient) GetAllSAPProfilesWithFilters(cloudInstanceID string, filterMap map[string]string) (*models.SAPProfiles, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + + familyFilter := filterMap[helpers.PISAPProfileFamilyFilterMapKey] + prefixFilter := filterMap[helpers.PISAPProfilePrefixFilterMapKey] + + params := p_cloud_s_a_p.NewPcloudSapGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithProfilePrefix(&prefixFilter). + WithProfileFamily(&familyFilter) + + resp, err := f.session.Power.PCloudsap.PcloudSapGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get all sap profiles for power instance %s: %w", cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all sap profiles for power instance %s", cloudInstanceID) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-shared-processor-pool.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-shared-processor-pool.go new file mode 100644 index 000000000..df5ee1db3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-shared-processor-pool.go @@ -0,0 +1,100 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPISharedProcessorPoolClient +type IBMPISharedProcessorPoolClient struct { + IBMPIClient +} + +// NewIBMPISharedProcessorPoolClient +func NewIBMPISharedProcessorPoolClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPISharedProcessorPoolClient { + return &IBMPISharedProcessorPoolClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a PI Shared Processor Pool +func (f *IBMPISharedProcessorPoolClient) Get(id string) (*models.SharedProcessorPoolDetail, error) { + params := p_cloud_shared_processor_pools.NewPcloudSharedprocessorpoolsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSharedProcessorPoolID(id) + resp, err := f.session.Power.PCloudSharedProcessorPools.PcloudSharedprocessorpoolsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetSharedProcessorPoolOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Shared Processor Pool %s", id) + } + return resp.Payload, nil +} + +// Get All Shared Processor Pools +func (f *IBMPISharedProcessorPoolClient) GetAll() (*models.SharedProcessorPools, error) { + params := p_cloud_shared_processor_pools.NewPcloudSharedprocessorpoolsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudSharedProcessorPools.PcloudSharedprocessorpoolsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get All Shared Processor Pools: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Shared Processor Pools") + } + return resp.Payload, nil +} + +// Create a Shared Processor Pool +func (f *IBMPISharedProcessorPoolClient) Create(body *models.SharedProcessorPoolCreate) (*models.SharedProcessorPool, error) { + // Check for satellite differences in this endpoint + if f.session.IsOnPrem() && body.HostID != "" { + return nil, fmt.Errorf("host id parameter is not supported in on-prem location") + } + params := p_cloud_shared_processor_pools.NewPcloudSharedprocessorpoolsPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, err := f.session.Power.PCloudSharedProcessorPools.PcloudSharedprocessorpoolsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateSharedProcessorPoolOperationFailed, f.cloudInstanceID, err)) + } + if postok == nil || postok.Payload == nil { + return nil, fmt.Errorf("failed to Create a Shared Processor Pool") + } + return postok.Payload, nil +} + +// Delete a Shared Processor Pool +func (f *IBMPISharedProcessorPoolClient) Delete(id string) error { + params := p_cloud_shared_processor_pools.NewPcloudSharedprocessorpoolsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSharedProcessorPoolID(id) + _, err := f.session.Power.PCloudSharedProcessorPools.PcloudSharedprocessorpoolsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteSharedProcessorPoolOperationFailed, id, err) + } + return nil +} + +// Update a PI Shared Processor Pool +func (f *IBMPISharedProcessorPoolClient) Update(id string, body *models.SharedProcessorPoolUpdate) (*models.SharedProcessorPool, error) { + params := p_cloud_shared_processor_pools.NewPcloudSharedprocessorpoolsPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body).WithSharedProcessorPoolID(id) + resp, err := f.session.Power.PCloudSharedProcessorPools.PcloudSharedprocessorpoolsPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.UpdateSharedProcessorPoolOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Update Shared Processor Pool %s", id) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-snapshot.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-snapshot.go new file mode 100644 index 000000000..3cd5f7328 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-snapshot.go @@ -0,0 +1,155 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots" + "github.com/IBM-Cloud/power-go-client/power/client/snapshots" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPISnapshotClient +type IBMPISnapshotClient struct { + IBMPIClient +} + +// NewIBMPISnapshotClient +func NewIBMPISnapshotClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPISnapshotClient { + return &IBMPISnapshotClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a Snapshot +func (f *IBMPISnapshotClient) Get(id string) (*models.Snapshot, error) { + params := p_cloud_snapshots.NewPcloudCloudinstancesSnapshotsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSnapshotID(id) + resp, err := f.session.Power.PCloudSnapshots.PcloudCloudinstancesSnapshotsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get PI Snapshot %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get PI Snapshot %s", id) + } + return resp.Payload, nil +} + +// Delete a Snapshot +func (f *IBMPISnapshotClient) Delete(id string) error { + params := p_cloud_snapshots.NewPcloudCloudinstancesSnapshotsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSnapshotID(id) + _, err := f.session.Power.PCloudSnapshots.PcloudCloudinstancesSnapshotsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to Delete PI Snapshot %s: %w", id, err) + } + return nil +} + +// Update a Snapshot +func (f *IBMPISnapshotClient) Update(id string, body *models.SnapshotUpdate) (models.Object, error) { + params := p_cloud_snapshots.NewPcloudCloudinstancesSnapshotsPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSnapshotID(id). + WithBody(body) + resp, err := f.session.Power.PCloudSnapshots.PcloudCloudinstancesSnapshotsPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Update PI Snapshot %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Update PI Snapshot %s", id) + } + return resp.Payload, nil +} + +// Get All Snapshots +func (f *IBMPISnapshotClient) GetAll() (*models.Snapshots, error) { + params := p_cloud_snapshots.NewPcloudCloudinstancesSnapshotsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudSnapshots.PcloudCloudinstancesSnapshotsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all PI Snapshots: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all PI Snapshots") + } + return resp.Payload, nil +} + +// Create or Restore a Snapshot +func (f *IBMPISnapshotClient) Create(instanceID, snapshotID, restoreFailAction string) (*models.Snapshot, error) { + params := p_cloud_p_vm_instances.NewPcloudPvminstancesSnapshotsRestorePostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(instanceID). + WithSnapshotID(snapshotID).WithRestoreFailAction(&restoreFailAction) + resp, err := f.session.Power.PCloudpVMInstances.PcloudPvminstancesSnapshotsRestorePost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to restore PI Snapshot %s of the instance %s: %w", snapshotID, instanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to restore PI Snapshot %s of the instance %s", snapshotID, instanceID) + } + return resp.Payload, nil +} + +// Get a Volume SnapshotV1 +func (f *IBMPISnapshotClient) V1VolumeSnapshotsGet(id string) (*models.SnapshotV1, error) { + params := snapshots.NewV1VolumeSnapshotsGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithVolumeSnapshotUUID(id) + resp, err := f.session.Power.Snapshots.V1VolumeSnapshotsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get volume snapshot %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get PI Snapshot %s", id) + } + return resp.Payload, nil +} + +// Get Volume All SnapshotsV1 +func (f *IBMPISnapshotClient) V1VolumeSnapshotsGetall() (*models.VolumeSnapshotList, error) { + params := snapshots.NewV1VolumeSnapshotsGetallParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.Snapshots.V1VolumeSnapshotsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all volume snapshots: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all volume Snapshots") + } + return resp.Payload, nil +} + +// Deprecated Get a SnapshotV1 +func (f *IBMPISnapshotClient) V1SnapshotsGet(id string) (*models.SnapshotV1, error) { + params := snapshots.NewV1SnapshotsGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithSnapshotID(id) + resp, err := f.session.Power.Snapshots.V1SnapshotsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get PI Snapshot %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get PI Snapshot %s", id) + } + return resp.Payload, nil +} + +// Deprecated Get All SnapshotsV1 +func (f *IBMPISnapshotClient) V1SnapshotsGetall() (*models.SnapshotList, error) { + params := snapshots.NewV1SnapshotsGetallParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.Snapshots.V1SnapshotsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all PI Snapshots: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all PI Snapshots") + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-spp-placement-groups.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-spp-placement-groups.go new file mode 100644 index 000000000..2fe1ed1f5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-spp-placement-groups.go @@ -0,0 +1,113 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPISPPPlacementGroupClient +type IBMPISPPPlacementGroupClient struct { + IBMPIClient +} + +// NewIBMPISPPPlacementGroupClient +func NewIBMPISPPPlacementGroupClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPISPPPlacementGroupClient { + return &IBMPISPPPlacementGroupClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a PI SPP Placement Group +func (f *IBMPISPPPlacementGroupClient) Get(id string) (*models.SPPPlacementGroup, error) { + params := p_cloud_s_p_p_placement_groups.NewPcloudSppplacementgroupsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSppPlacementGroupID(id) + resp, err := f.session.Power.PCloudsppPlacementGroups.PcloudSppplacementgroupsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetSPPPlacementGroupOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Shared Processor Pool Placement Group %s", id) + } + return resp.Payload, nil +} + +// Get All SPP Placement Groups +func (f *IBMPISPPPlacementGroupClient) GetAll() (*models.SPPPlacementGroups, error) { + params := p_cloud_s_p_p_placement_groups.NewPcloudSppplacementgroupsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudsppPlacementGroups.PcloudSppplacementgroupsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get All Shared Processor Pool Placement Groups: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Shared Processor Pool Placement Groups") + } + return resp.Payload, nil +} + +// Create a SPP Placement Group +func (f *IBMPISPPPlacementGroupClient) Create(body *models.SPPPlacementGroupCreate) (*models.SPPPlacementGroup, error) { + params := p_cloud_s_p_p_placement_groups.NewPcloudSppplacementgroupsPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, err := f.session.Power.PCloudsppPlacementGroups.PcloudSppplacementgroupsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateSPPPlacementGroupOperationFailed, f.cloudInstanceID, err)) + } + if postok == nil || postok.Payload == nil { + return nil, fmt.Errorf("failed to Create Shared Processor Pool Placement Group") + } + return postok.Payload, nil +} + +// Delete a SPP Placement Group +func (f *IBMPISPPPlacementGroupClient) Delete(id string) error { + params := p_cloud_s_p_p_placement_groups.NewPcloudSppplacementgroupsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSppPlacementGroupID(id) + _, err := f.session.Power.PCloudsppPlacementGroups.PcloudSppplacementgroupsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteSPPPlacementGroupOperationFailed, id, err) + } + return nil +} + +// Add an Instance to a SPP Placement Group +func (f *IBMPISPPPlacementGroupClient) AddMember(id string, sppID string) (*models.SPPPlacementGroup, error) { + params := p_cloud_s_p_p_placement_groups.NewPcloudSppplacementgroupsMembersPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSppPlacementGroupID(id). + WithSharedProcessorPoolID(sppID) + postok, err := f.session.Power.PCloudsppPlacementGroups.PcloudSppplacementgroupsMembersPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.AddMemberSPPPlacementGroupOperationFailed, sppID, id, err)) + } + if postok == nil || postok.Payload == nil { + return nil, fmt.Errorf("failed to Add Member for pool %s and shared processor pool placement group %s", sppID, id) + } + return postok.Payload, nil +} + +// Remove an Instance to a SPP Placement Group +func (f *IBMPISPPPlacementGroupClient) DeleteMember(id string, sppID string) (*models.SPPPlacementGroup, error) { + params := p_cloud_s_p_p_placement_groups.NewPcloudSppplacementgroupsMembersDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithSppPlacementGroupID(id). + WithSharedProcessorPoolID(sppID) + delok, err := f.session.Power.PCloudsppPlacementGroups.PcloudSppplacementgroupsMembersDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.DeleteMemberSPPPlacementGroupOperationFailed, sppID, id, err)) + } + if delok == nil || delok.Payload == nil { + return nil, fmt.Errorf("failed to Delete Member for pool %s and shared processor pool placement group %s", sppID, id) + } + return delok.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-ssh-key.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-ssh-key.go new file mode 100644 index 000000000..5fad9e4b6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-ssh-key.go @@ -0,0 +1,98 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/ssh_keys" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPISSHKeyClient +type IBMPISSHKeyClient struct { + IBMPIClient +} + +// NewIBMPISSHKeyClient +func NewIBMPISSHKeyClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPISSHKeyClient { + return &IBMPISSHKeyClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a SSH Key +func (f *IBMPISSHKeyClient) Get(id string) (*models.WorkspaceSSHKey, error) { + params := ssh_keys.NewV1SshkeysGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithSshkeyID(id) + + resp, err := f.session.Power.SSHKeys.V1SshkeysGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetPISSHKeyOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get PI SSH Key %s", id) + } + return resp.Payload, nil +} + +// Get All SSH Keys +func (f *IBMPISSHKeyClient) GetAll() (*models.WorkspaceSSHKeys, error) { + params := ssh_keys.NewV1SshkeysGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + + resp, err := f.session.Power.SSHKeys.V1SshkeysGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetAllPISSHKeyOperationFailed, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all PI SSH Keys") + } + return resp.Payload, nil +} + +// Create a SSH Key +func (f *IBMPISSHKeyClient) Create(body *models.CreateWorkspaceSSHKey) (*models.WorkspaceSSHKey, error) { + params := ssh_keys.NewV1SshkeysPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithBody(body) + resp, err := f.session.Power.SSHKeys.V1SshkeysPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreatePISSHKeyOperationFailed, err)) + } + if resp != nil && resp.Payload != nil { + return resp.Payload, nil + } + return nil, fmt.Errorf("failed to Create PI SSH Key") +} + +// Delete a SSH Key +func (f *IBMPISSHKeyClient) Delete(id string) error { + params := ssh_keys.NewV1SshkeysDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithSshkeyID(id) + _, err := f.session.Power.SSHKeys.V1SshkeysDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeletePISSHKeyOperationFailed, id, err) + } + return nil +} + +// Update an SSH Key +func (f *IBMPISSHKeyClient) Update(id string, body *models.UpdateWorkspaceSSHKey) (*models.WorkspaceSSHKey, error) { + params := ssh_keys.NewV1SshkeysPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithSshkeyID(id).WithBody(body) + + resp, err := f.session.Power.SSHKeys.V1SshkeysPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.UpdatePISSHKeyOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to update ssh key %s", id) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-storage-capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-storage-capacity.go new file mode 100644 index 000000000..d7c52707e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-storage-capacity.go @@ -0,0 +1,83 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIStorageCapacityClient +type IBMPIStorageCapacityClient struct { + IBMPIClient +} + +// NewIBMPIStorageCapacityClient +func NewIBMPIStorageCapacityClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIStorageCapacityClient { + return &IBMPIStorageCapacityClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get All Storage Capacities for all available Storage Pools in a Region +func (f *IBMPIStorageCapacityClient) GetAllStoragePoolsCapacity() (*models.StoragePoolsCapacity, error) { + params := p_cloud_storage_capacity.NewPcloudStoragecapacityPoolsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudStorageCapacity.PcloudStoragecapacityPoolsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get the capacity for all storage pools: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get the capacity for all storage pools") + } + return resp.Payload, nil +} + +// Get Storage Capacity for a Storage Pool in a Region +func (f *IBMPIStorageCapacityClient) GetStoragePoolCapacity(storagePool string) (*models.StoragePoolCapacity, error) { + params := p_cloud_storage_capacity.NewPcloudStoragecapacityPoolsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithStoragePoolName(storagePool) + resp, err := f.session.Power.PCloudStorageCapacity.PcloudStoragecapacityPoolsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get the capacity for storage pool %s: %w", storagePool, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get the capacity for storage pool %s", storagePool) + } + return resp.Payload, nil +} + +// Get Storage capacity for a Storage Type in a Region +func (f *IBMPIStorageCapacityClient) GetStorageTypeCapacity(storageType string) (*models.StorageTypeCapacity, error) { + params := p_cloud_storage_capacity.NewPcloudStoragecapacityTypesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithStorageTypeName(storageType) + resp, err := f.session.Power.PCloudStorageCapacity.PcloudStoragecapacityTypesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get the capacity for storage type %s: %w", storageType, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get the capacity for storage type %s", storageType) + } + return resp.Payload, nil +} + +// Get Storage Capacity for all available Storage Types in a Region +func (f *IBMPIStorageCapacityClient) GetAllStorageTypesCapacity() (*models.StorageTypesCapacity, error) { + params := p_cloud_storage_capacity.NewPcloudStoragecapacityTypesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudStorageCapacity.PcloudStoragecapacityTypesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get the capacity for all storage types %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get the capacity for all storage types") + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-storage-tiers.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-storage-tiers.go new file mode 100644 index 000000000..a0734bfb5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-storage-tiers.go @@ -0,0 +1,39 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIStorageTierClient +type IBMPIStorageTierClient struct { + IBMPIClient +} + +// NewIBMPIStorageTierClient +func NewIBMPIStorageTierClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIStorageTierClient { + return &IBMPIStorageTierClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Gets all the storage tiers associated to the cloud instance. +func (f *IBMPIStorageTierClient) GetAll() (models.RegionStorageTiers, error) { + params := p_cloud_storage_tiers.NewPcloudCloudinstancesStoragetiersGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudStorageTiers.PcloudCloudinstancesStoragetiersGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetAllStorageTiersOperationFailed, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all storage tiers") + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-system-pools.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-system-pools.go new file mode 100644 index 000000000..c60c00f04 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-system-pools.go @@ -0,0 +1,55 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPISystemPoolClient +type IBMPISystemPoolClient struct { + IBMPIClient +} + +// NewIBMPISystemPoolClient +func NewIBMPISystemPoolClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPISystemPoolClient { + return &IBMPISystemPoolClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get the System Pools +// Deprecated: Use GetSystemPools() +func (f *IBMPISystemPoolClient) Get(id string) (models.SystemPools, error) { + params := p_cloud_system_pools.NewPcloudSystempoolsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(id) + resp, err := f.session.Power.PCloudSystemPools.PcloudSystempoolsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetSystemPoolsOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform Get System Pools Operation for cloud instance id %s", id) + } + return resp.Payload, nil +} + +// Get the System Pools +func (f *IBMPISystemPoolClient) GetSystemPools() (models.SystemPools, error) { + params := p_cloud_system_pools.NewPcloudSystempoolsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudSystemPools.PcloudSystempoolsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetSystemPoolsOperationFailed, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform Get System Pools Operation for cloud instance id %s", f.cloudInstanceID) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-tasks.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-tasks.go new file mode 100644 index 000000000..042f28c9d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-tasks.go @@ -0,0 +1,47 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPITaskClient +type IBMPITaskClient struct { + IBMPIClient +} + +// NewIBMPITaskClient +func NewIBMPITaskClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPITaskClient { + return &IBMPITaskClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a Task +func (f *IBMPITaskClient) Get(id string) (*models.Task, error) { + params := p_cloud_tasks.NewPcloudTasksGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithTaskID(id) + resp, err := f.session.Power.PCloudTasks.PcloudTasksGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get the task %s: %w", id, err) + } + return resp.Payload, nil +} + +// Delete a Task +func (f *IBMPITaskClient) Delete(id string) error { + params := p_cloud_tasks.NewPcloudTasksDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithTaskID(id) + _, err := f.session.Power.PCloudTasks.PcloudTasksDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to delete the task id ... %w", err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-tenant.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-tenant.go new file mode 100644 index 000000000..0ab407f16 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-tenant.go @@ -0,0 +1,53 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPITenantClient +type IBMPITenantClient struct { + IBMPIClient +} + +// NewIBMPITenantClient +func NewIBMPITenantClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPITenantClient { + return &IBMPITenantClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a Tenant +func (f *IBMPITenantClient) Get(tenantid string) (*models.Tenant, error) { + params := p_cloud_tenants.NewPcloudTenantsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithTenantID(tenantid) + resp, err := f.session.Power.PCloudTenants.PcloudTenantsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get tenant %s with error %w", tenantid, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get tenant %s", tenantid) + } + return resp.Payload, nil +} + +// Get own Tenant +func (f *IBMPITenantClient) GetSelfTenant() (*models.Tenant, error) { + params := p_cloud_tenants.NewPcloudTenantsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithTenantID(f.session.Options.UserAccount) + resp, err := f.session.Power.PCloudTenants.PcloudTenantsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get self tenant with error %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get self tenant") + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-virtual-serial-number.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-virtual-serial-number.go new file mode 100644 index 000000000..c4b4fdd29 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-virtual-serial-number.go @@ -0,0 +1,141 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIVSNClient + +type IBMPIVSNClient struct { + IBMPIClient +} + +// NewIBMPIVSNClient +func NewIBMPIVSNClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIVSNClient { + return &IBMPIVSNClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get Virtual Serial Number +func (f *IBMPIVSNClient) Get(id string) (*models.VirtualSerialNumber, error) { + params := p_cloud_virtual_serial_number.NewPcloudVirtualserialnumberGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithVirtualSerialNumber(id) + resp, err := f.session.Power.PCloudVirtualSerialNumber.PcloudVirtualserialnumberGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get virtual serial number %s :%w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get virtual serial number %s", id) + } + return resp.Payload, nil +} + +// Get All Virtual Serial Numbers +func (f *IBMPIVSNClient) GetAll(pvmInstanceID *string) (models.VirtualSerialNumberList, error) { + params := p_cloud_virtual_serial_number.NewPcloudVirtualserialnumberGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + if pvmInstanceID != nil { + params.SetPvmInstanceID(pvmInstanceID) + } + resp, err := f.session.Power.PCloudVirtualSerialNumber.PcloudVirtualserialnumberGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get all virtual serial numbers in %s :%w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all virtual serial numbers in %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Get All Supported IBMi Software Tiers +func (f *IBMPIVSNClient) GetAllSoftwareTiers() (models.SupportedSoftwareTierList, error) { + params := p_cloud_virtual_serial_number.NewPcloudVirtualserialnumberSoftwaretiersGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.PCloudVirtualSerialNumber.PcloudVirtualserialnumberSoftwaretiersGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get all supported IBMi software tiers in %s :%w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all supported IBMi software tiers in %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Update Virtual Serial Number +func (f *IBMPIVSNClient) Update(id string, body *models.UpdateVirtualSerialNumber) (*models.GetServerVirtualSerialNumber, error) { + params := p_cloud_virtual_serial_number.NewPcloudVirtualserialnumberPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut).WithVirtualSerialNumber(id). + WithBody(body) + resp, err := f.session.Power.PCloudVirtualSerialNumber.PcloudVirtualserialnumberPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update virtual serial number %s :%w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Update virtual serial number %s", id) + } + return resp.Payload, nil +} + +// Delete Virtual Serial Number +func (f *IBMPIVSNClient) Delete(id string) error { + params := p_cloud_virtual_serial_number.NewPcloudVirtualserialnumberDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithVirtualSerialNumber(id) + _, err := f.session.Power.PCloudVirtualSerialNumber.PcloudVirtualserialnumberDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to delete virtual serial number %s :%w", id, err)) + } + return nil +} + +// PVM Instance Delete VSN +func (f *IBMPIVSNClient) PVMInstanceDeleteVSN(pvmInstanceID string, body *models.DeleteServerVirtualSerialNumber) error { + params := p_cloud_virtual_serial_number.NewPcloudPvminstancesVirtualserialnumberDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(pvmInstanceID). + WithBody(body) + _, err := f.session.Power.PCloudVirtualSerialNumber.PcloudPvminstancesVirtualserialnumberDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to delete virtual serial number for pvm instance %s :%w", pvmInstanceID, err)) + } + return nil +} + +// PVM Instance Update VSN +func (f *IBMPIVSNClient) PVMInstanceUpdateVSN(pvmInstanceID string, body *models.UpdateServerVirtualSerialNumber) (*models.VirtualSerialNumber, error) { + params := p_cloud_virtual_serial_number.NewPcloudPvminstancesVirtualserialnumberPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithCloudInstanceID(f.cloudInstanceID). + WithPvmInstanceID(pvmInstanceID).WithBody(body) + respOk, respAccepted, err := f.session.Power.PCloudVirtualSerialNumber.PcloudPvminstancesVirtualserialnumberPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to update virtual serial number for pvm instance %s :%w", pvmInstanceID, err)) + } + if respOk != nil && respOk.Payload != nil { + return respOk.Payload, nil + } + if respAccepted != nil && respAccepted.Payload != nil { + return respAccepted.Payload, nil + } + return nil, fmt.Errorf("failed to update virtual serial number for pvm instance %s", pvmInstanceID) +} + +// PVM Attach VSN +func (f *IBMPIVSNClient) PVMInstanceAttachVSN(pvmInstanceID string, body *models.AddServerVirtualSerialNumber) (*models.VirtualSerialNumber, error) { + params := p_cloud_virtual_serial_number.NewPcloudPvminstancesVirtualserialnumberPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut).WithCloudInstanceID(f.cloudInstanceID). + WithPvmInstanceID(pvmInstanceID).WithBody(body) + resp, err := f.session.Power.PCloudVirtualSerialNumber.PcloudPvminstancesVirtualserialnumberPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to attach virtual serial number for pvm instance %s :%w", pvmInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to attach virtual serial number for pvm instance %s", pvmInstanceID) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume-group.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume-group.go new file mode 100644 index 000000000..0714ee910 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume-group.go @@ -0,0 +1,174 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIVolumeGroupClient +type IBMPIVolumeGroupClient struct { + IBMPIClient +} + +// NewIBMPIVolumeGroupClient +func NewIBMPIVolumeGroupClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIVolumeGroupClient { + return &IBMPIVolumeGroupClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a Volume-Group +func (f *IBMPIVolumeGroupClient) Get(id string) (*models.VolumeGroup, error) { + params := p_cloud_volume_groups.NewPcloudVolumegroupsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeGroupID(id) + resp, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVolumeGroupOperationFailed, id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get volume-group %s", id) + } + return resp.Payload, nil +} + +// GetAll Volume-Group +func (f *IBMPIVolumeGroupClient) GetAll() (*models.VolumeGroups, error) { + params := p_cloud_volume_groups.NewPcloudVolumegroupsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all volume-groups for Cloud Instance %s: %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all volume-groups for Cloud Instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Get a Volume-Group with Details +func (f *IBMPIVolumeGroupClient) GetDetails(id string) (*models.VolumeGroupDetails, error) { + params := p_cloud_volume_groups.NewPcloudVolumegroupsGetDetailsParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeGroupID(id) + resp, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsGetDetails(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVolumeGroupDetailsOperationFailed, id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get volume-group %s details", id) + } + return resp.Payload, nil +} + +// GetAll Volume-Group with Details +func (f *IBMPIVolumeGroupClient) GetAllDetails() (*models.VolumeGroupsDetails, error) { + params := p_cloud_volume_groups.NewPcloudVolumegroupsGetallDetailsParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsGetallDetails(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all volume-groups details for Cloud Instance %s: %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all volume-groups details for Cloud Instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create a Volume Group +func (f *IBMPIVolumeGroupClient) CreateVolumeGroup(body *models.VolumeGroupCreate) (*models.VolumeGroupCreateResponse, error) { + params := p_cloud_volume_groups.NewPcloudVolumegroupsPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + respOk, respPartial, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateVolumeGroupOperationFailed, f.cloudInstanceID, err)) + } + if respOk != nil && respOk.Payload != nil { + return respOk.Payload, nil + } + if respPartial != nil && respPartial.Payload != nil { + return respPartial.Payload, nil + } + return nil, fmt.Errorf("failed to create volume-group") +} + +// Update a Volume Group +func (f *IBMPIVolumeGroupClient) UpdateVolumeGroup(id string, body *models.VolumeGroupUpdate) error { + params := p_cloud_volume_groups.NewPcloudVolumegroupsPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeGroupID(id).WithBody(body) + resp, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.CreateVolumeGroupOperationFailed, f.cloudInstanceID, err) + } + if resp == nil || resp.Payload == nil { + return fmt.Errorf("failed to update volume-group %s", id) + } + return nil +} + +// Delete a Volume Group +func (f *IBMPIVolumeGroupClient) DeleteVolumeGroup(id string) error { + params := p_cloud_volume_groups.NewPcloudVolumegroupsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeGroupID(id) + _, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteVolumeGroupOperationFailed, id, err) + } + return nil +} + +// Get live details of a Volume Group +func (f *IBMPIVolumeGroupClient) GetVolumeGroupLiveDetails(id string) (*models.VolumeGroupStorageDetails, error) { + params := p_cloud_volume_groups.NewPcloudVolumegroupsStorageDetailsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeGroupID(id) + resp, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsStorageDetailsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetLiveVolumeGroupDetailsOperationFailed, id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get live details of volume-group %s", id) + } + return resp.Payload, nil +} + +// Performs action on Volume Group +func (f *IBMPIVolumeGroupClient) VolumeGroupAction(id string, body *models.VolumeGroupAction) (models.Object, error) { + params := p_cloud_volume_groups.NewPcloudVolumegroupsActionPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeGroupID(id).WithBody(body) + resp, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsActionPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.VolumeGroupActionOperationFailed, id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to perform action on volume-group %s", id) + } + return resp.Payload, nil +} + +// Get remote copy relationships of the volume belonging to volume group +func (f *IBMPIVolumeGroupClient) GetVolumeGroupRemoteCopyRelationships(id string) (*models.VolumeGroupRemoteCopyRelationships, error) { + params := p_cloud_volume_groups.NewPcloudVolumegroupsRemoteCopyRelationshipsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeGroupID(id) + resp, err := f.session.Power.PCloudVolumeGroups.PcloudVolumegroupsRemoteCopyRelationshipsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVolumeGroupRemoteCopyRelationshipsOperationFailed, id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get remote copy relationships of the volumes belonging to volume group %s", id) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume-onboarding.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume-onboarding.go new file mode 100644 index 000000000..aaa8a27ed --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume-onboarding.go @@ -0,0 +1,69 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIVolumeOnboardingClient +type IBMPIVolumeOnboardingClient struct { + IBMPIClient +} + +// NewIBMPIVolumeOnboardingClient +func NewIBMPIVolumeOnboardingClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIVolumeOnboardingClient { + return &IBMPIVolumeOnboardingClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get the information of volume onboarding operation +func (f *IBMPIVolumeOnboardingClient) Get(id string) (*models.VolumeOnboarding, error) { + params := p_cloud_volume_onboarding.NewPcloudVolumeOnboardingGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeOnboardingID(id) + resp, err := f.session.Power.PCloudVolumeOnboarding.PcloudVolumeOnboardingGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVolumeOnboardingOperationFailed, id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Volume Onboarding for volume-onboarding ID:%s", id) + } + return resp.Payload, nil +} + +// Get All volume onboardings for this cloud instance +func (f *IBMPIVolumeOnboardingClient) GetAll() (*models.VolumeOnboardings, error) { + params := p_cloud_volume_onboarding.NewPcloudVolumeOnboardingGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudVolumeOnboarding.PcloudVolumeOnboardingGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetAllVolumeOnboardingsOperationFailed, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get All Volume Onboardings for the cloud instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Onboard auxiliary volumes to target site +func (f *IBMPIVolumeOnboardingClient) CreateVolumeOnboarding(body *models.VolumeOnboardingCreate) (*models.VolumeOnboardingCreateResponse, error) { + params := p_cloud_volume_onboarding.NewPcloudVolumeOnboardingPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + resp, err := f.session.Power.PCloudVolumeOnboarding.PcloudVolumeOnboardingPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateVolumeOnboardingsOperationFailed, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Create Volume Onboarding") + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume.go new file mode 100644 index 000000000..a69292010 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-volume.go @@ -0,0 +1,301 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIVolumeClient +type IBMPIVolumeClient struct { + IBMPIClient +} + +// NewIBMPIVolumeClient +func NewIBMPIVolumeClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIVolumeClient { + return &IBMPIVolumeClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a Volume +func (f *IBMPIVolumeClient) Get(id string) (*models.Volume, error) { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeID(id) + resp, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVolumeOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Volume %s", id) + } + return resp.Payload, nil +} + +// Get All Volumes +func (f *IBMPIVolumeClient) GetAll() (*models.Volumes, error) { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Volumes for Cloud Instance %s: %w", f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Volumes for Cloud Instance %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Get All Affinity Volumes +func (f *IBMPIVolumeClient) GetAllAffinityVolumes(affinity string) (*models.Volumes, error) { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithAffinity(&affinity) + resp, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Volumes with affinity %s for Cloud Instance %s: %w", affinity, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Volumes with affinity %s for Cloud Instance %s", affinity, f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Create a VolumeV2 +func (f *IBMPIVolumeClient) CreateVolumeV2(body *models.MultiVolumesCreate) (*models.Volumes, error) { + params := p_cloud_volumes.NewPcloudV2VolumesPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + resp, err := f.session.Power.PCloudVolumes.PcloudV2VolumesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateVolumeV2OperationFailed, *body.Name, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Create Volume v2") + } + return resp.Payload, nil +} + +// Create a Volume +func (f *IBMPIVolumeClient) CreateVolume(body *models.CreateDataVolume) (*models.Volume, error) { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + resp, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateVolumeOperationFailed, *body.Name, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Create Volume") + } + return resp.Payload, nil +} + +// Update a Volume +func (f *IBMPIVolumeClient) UpdateVolume(id string, body *models.UpdateVolume) (*models.Volume, error) { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeID(id). + WithBody(body) + resp, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.UpdateVolumeOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Update Volume %s", id) + } + return resp.Payload, nil +} + +// Delete a Volume +func (f *IBMPIVolumeClient) DeleteVolume(id string) error { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeID(id) + _, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteVolumeOperationFailed, id, err) + } + return nil +} + +// Attach a Volume to an Instance +func (f *IBMPIVolumeClient) Attach(id, volumename string) error { + params := p_cloud_volumes.NewPcloudPvminstancesVolumesPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithVolumeID(volumename) + _, err := f.session.Power.PCloudVolumes.PcloudPvminstancesVolumesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.AttachVolumeOperationFailed, volumename, err) + } + return nil +} + +// Detach a Volume from an Instance +func (f *IBMPIVolumeClient) Detach(id, volumename string) error { + params := p_cloud_volumes.NewPcloudPvminstancesVolumesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithVolumeID(volumename) + _, err := f.session.Power.PCloudVolumes.PcloudPvminstancesVolumesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DetachVolumeOperationFailed, volumename, err) + } + return nil +} + +// Get All Volumes attached to an Instance +func (f *IBMPIVolumeClient) GetAllInstanceVolumes(id string) (*models.Volumes, error) { + params := p_cloud_volumes.NewPcloudPvminstancesVolumesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id) + resp, err := f.session.Power.PCloudVolumes.PcloudPvminstancesVolumesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Volumes for PI Instance %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Volumes for PI Instance %s", id) + } + return resp.Payload, nil +} + +// Set a Volume as the Boot Volume for an Instance +func (f *IBMPIVolumeClient) SetBootVolume(id, volumename string) error { + params := p_cloud_volumes.NewPcloudPvminstancesVolumesSetbootPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithVolumeID(volumename) + _, err := f.session.Power.PCloudVolumes.PcloudPvminstancesVolumesSetbootPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to set the boot volume %s for instance %s", volumename, id) + } + return nil +} + +// Check if a Volume is attached to an Instance +func (f *IBMPIVolumeClient) CheckVolumeAttach(id, volumeID string) (*models.Volume, error) { + params := p_cloud_volumes.NewPcloudPvminstancesVolumesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithVolumeID(volumeID) + resp, err := f.session.Power.PCloudVolumes.PcloudPvminstancesVolumesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to validate that the volume %s is attached to the pvminstance %s: %w", volumeID, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to validate that the volume %s is attached to the pvminstance %s", volumeID, id) + } + return resp.Payload, nil +} + +// Update a Volume attached to an Instance +func (f *IBMPIVolumeClient) UpdateVolumeAttach(id, volumeID string, body *models.PVMInstanceVolumeUpdate) error { + params := p_cloud_volumes.NewPcloudPvminstancesVolumesPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(id). + WithVolumeID(volumeID).WithBody(body) + resp, err := f.session.Power.PCloudVolumes.PcloudPvminstancesVolumesPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to validate that the volume %s is attached to the pvminstance %s: %w", volumeID, id, err) + } + if resp == nil || resp.Payload == nil { + return fmt.Errorf("failed to validate that the volume %s is attached to the pvminstance %s", volumeID, id) + } + return nil +} + +// Performs action on volume +func (f *IBMPIVolumeClient) VolumeAction(id string, body *models.VolumeAction) error { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesActionPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeID(id).WithBody(body) + _, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesActionPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to perform action on volume %s with error %w", id, err) + } + return nil +} + +// Get remote copy relationship of a volume +func (f *IBMPIVolumeClient) GetVolumeRemoteCopyRelationships(id string) (*models.VolumeRemoteCopyRelationship, error) { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeID(id) + resp, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesRemoteCopyRelationshipGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVolumeRemoteCopyRelationshipsOperationFailed, id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get remote copy relationships of a volume %s", id) + } + return resp.Payload, nil +} + +// Get a list of flashcopy mappings of a given volume +func (f *IBMPIVolumeClient) GetVolumeFlashCopyMappings(id string) (models.FlashCopyMappings, error) { + params := p_cloud_volumes.NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVolumeID(id) + resp, err := f.session.Power.PCloudVolumes.PcloudCloudinstancesVolumesFlashCopyMappingsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVolumeFlashCopyMappingOperationFailed, id, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get flash copy mapping of a volume %s", id) + } + return resp.Payload, nil +} + +// Bulk volume detach +func (f *IBMPIVolumeClient) BulkVolumeDetach(pvmID string, body *models.VolumesDetach) (*models.VolumesDetachmentResponse, error) { + params := p_cloud_volumes.NewPcloudV2PvminstancesVolumesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut).WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(pvmID). + WithBody(body) + resp, err := f.session.Power.PCloudVolumes.PcloudV2PvminstancesVolumesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.DetachVolumesOperationFailed, pvmID, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed detaching volumes for %s", pvmID) + } + return resp.Payload, nil +} + +// Bulk volume delete +func (f *IBMPIVolumeClient) BulkVolumeDelete(body *models.VolumesDelete) (*models.VolumesDeleteResponse, error) { + params := p_cloud_volumes.NewPcloudV2VolumesDeleteParams().WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + respOk, respPartial, err := f.session.Power.PCloudVolumes.PcloudV2VolumesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.DeleteVolumeOperationFailed, body.VolumeIDs, err)) + } + if respOk != nil && respOk.Payload != nil { + return respOk.Payload, nil + } + if respPartial != nil && respPartial.Payload != nil { + return respPartial.Payload, nil + } + return nil, fmt.Errorf("failed Deleting volumes : %s", body.VolumeIDs) +} + +// Bulk volutme attach +func (f *IBMPIVolumeClient) BulkVolumeAttach(pvmID string, body *models.VolumesAttach) (*models.VolumesAttachmentResponse, error) { + params := p_cloud_volumes.NewPcloudV2PvminstancesVolumesPostParams().WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(pvmID).WithBody(body) + resp, err := f.session.Power.PCloudVolumes.PcloudV2PvminstancesVolumesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.AttachVolumesOperationFailed, body.VolumeIDs, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Attach volumes %s to server %s", body.VolumeIDs, pvmID) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpmem.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpmem.go new file mode 100644 index 000000000..01d4c8c0b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpmem.go @@ -0,0 +1,77 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIVPMEMClient +type IBMPIVPMEMClient struct { + IBMPIClient +} + +// NewIBMPIVPMEMClient +func NewIBMPIVPMEMClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIVPMEMClient { + return &IBMPIVPMEMClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// PvmInstance create VPMEM volumes +func (f *IBMPIVPMEMClient) CreatePvmVpmemVolumes(pvminstanceID string, body *models.VPMemVolumeAttach) (*models.VPMemVolumes, error) { + params := p_cloud_v_p_mem_volumes.NewPcloudPvminstancesVpmemVolumesPostParams().WithContext(f.ctx). + WithTimeout(helpers.PICreateTimeOut).WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(pvminstanceID). + WithBody(body) + resp, err := f.session.Power.PCloudvpMemVolumes.PcloudPvminstancesVpmemVolumesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to create a VPMEM volumes for pvminstance %s in %s with %w", pvminstanceID, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to create a VPMEM volumes for pvminstance %s in %s", pvminstanceID, f.cloudInstanceID) + } + return resp.Payload, nil +} + +// PvmInstance get VPMEM volume +func (f *IBMPIVPMEMClient) GetPvmVpmemVolume(pvminstanceID, vpmemVolumeID string) (*models.VPMemVolumeReference, error) { + params := p_cloud_v_p_mem_volumes.NewPcloudPvminstancesVpmemVolumesGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(pvminstanceID).WithVpmemVolumeID(vpmemVolumeID) + resp, err := f.session.Power.PCloudvpMemVolumes.PcloudPvminstancesVpmemVolumesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get VPMEM volume %s for pvminstance %s in %s with %w", vpmemVolumeID, pvminstanceID, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get VPMEM volume %s for pvminstance %s in %s", vpmemVolumeID, pvminstanceID, f.cloudInstanceID) + } + return resp.Payload, nil +} + +// PvmInstance delete VPMEM volume +func (f *IBMPIVPMEMClient) DeletePvmVpmemVolume(pvminstanceID, vpmemVolumeID string) error { + params := p_cloud_v_p_mem_volumes.NewPcloudPvminstancesVpmemVolumesDeleteParams().WithContext(f.ctx). + WithTimeout(helpers.PIDeleteTimeOut).WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(pvminstanceID).WithVpmemVolumeID(vpmemVolumeID) + _, err := f.session.Power.PCloudvpMemVolumes.PcloudPvminstancesVpmemVolumesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf("failed to delete VPMEM volume %s for pvminstance %s in %s :%w", vpmemVolumeID, pvminstanceID, f.cloudInstanceID, err) + } + return nil +} + +// PvmInstance get all VPMEM volumes +func (f *IBMPIVPMEMClient) GetAllPvmVpmemVolumes(pvminstanceID string) (*models.VPMemVolumes, error) { + params := p_cloud_v_p_mem_volumes.NewPcloudPvminstancesVpmemVolumesGetallParams().WithContext(f.ctx). + WithTimeout(helpers.PIGetTimeOut).WithCloudInstanceID(f.cloudInstanceID).WithPvmInstanceID(pvminstanceID) + resp, err := f.session.Power.PCloudvpMemVolumes.PcloudPvminstancesVpmemVolumesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get VPMEM volumes for pvminstance %s in %s with %w", pvminstanceID, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get VPMEM volumes for pvminstance %s in %s", pvminstanceID, f.cloudInstanceID) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpn-policy.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpn-policy.go new file mode 100644 index 000000000..9013b3e55 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpn-policy.go @@ -0,0 +1,202 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIVpnPolicyClient +type IBMPIVpnPolicyClient struct { + IBMPIClient +} + +// IBMPIVpnPolicyClient +func NewIBMPIVpnPolicyClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIVpnPolicyClient { + return &IBMPIVpnPolicyClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// IKE Policies +// Deprecated Get an IKE Policy +func (f *IBMPIVpnPolicyClient) GetIKEPolicy(id string) (*models.IKEPolicy, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIkepoliciesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithIkePolicyID(id) + resp, err := f.session.Power.PCloudvpnPolicies.PcloudIkepoliciesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVPNPolicyOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get ike policy for policy id %s", id) + } + return resp.Payload, nil +} + +// Deprecated Create an IKE Policy +func (f *IBMPIVpnPolicyClient) CreateIKEPolicy(body *models.IKEPolicyCreate) (*models.IKEPolicy, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIkepoliciesPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, err := f.session.Power.PCloudvpnPolicies.PcloudIkepoliciesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateVPNPolicyOperationFailed, f.cloudInstanceID, err)) + } + if postok != nil && postok.Payload != nil { + return postok.Payload, nil + } + return nil, fmt.Errorf("failed to Create VPN Policy") +} + +// Deprecated Update an IKE Policy +func (f *IBMPIVpnPolicyClient) UpdateIKEPolicy(id string, body *models.IKEPolicyUpdate) (*models.IKEPolicy, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIkepoliciesPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithIkePolicyID(id). + WithBody(body) + putok, err := f.session.Power.PCloudvpnPolicies.PcloudIkepoliciesPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.UpdateVPNPolicyOperationFailed, id, err)) + } + if putok != nil && putok.Payload != nil { + return putok.Payload, nil + } + return nil, fmt.Errorf("failed to Update VPN Policy") +} + +// Deprecated Get All IKE Policies +func (f *IBMPIVpnPolicyClient) GetAllIKEPolicies() (*models.IKEPolicies, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIkepoliciesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudvpnPolicies.PcloudIkepoliciesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get all ike policies: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all ike policies") + } + return resp.Payload, nil +} + +// Deprecated Delete an IKE Policy +func (f *IBMPIVpnPolicyClient) DeleteIKEPolicy(id string) error { + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIkepoliciesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithIkePolicyID(id) + _, err := f.session.Power.PCloudvpnPolicies.PcloudIkepoliciesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteVPNPolicyOperationFailed, id, err) + } + return nil +} + +// IPSec Policies +// Deprecated Get an IPSec Policy +func (f *IBMPIVpnPolicyClient) GetIPSecPolicy(id string) (*models.IPSecPolicy, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIpsecpoliciesGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithIpsecPolicyID(id) + resp, err := f.session.Power.PCloudvpnPolicies.PcloudIpsecpoliciesGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVPNPolicyOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get ipsec policy for policy id %s", id) + } + return resp.Payload, nil +} + +// Deprecated Create an IPSec Policy +func (f *IBMPIVpnPolicyClient) CreateIPSecPolicy(body *models.IPSecPolicyCreate) (*models.IPSecPolicy, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIpsecpoliciesPostParams(). + WithContext(f.ctx).WithTimeout(helpers.PICreateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithBody(body) + postok, err := f.session.Power.PCloudvpnPolicies.PcloudIpsecpoliciesPost(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.CreateVPNPolicyOperationFailed, f.cloudInstanceID, err)) + } + if postok != nil && postok.Payload != nil { + return postok.Payload, nil + } + return nil, fmt.Errorf("failed to Create VPN Policy") +} + +// Deprecated Update an IPSec Policy +func (f *IBMPIVpnPolicyClient) UpdateIPSecPolicy(id string, body *models.IPSecPolicyUpdate) (*models.IPSecPolicy, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIpsecpoliciesPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithIpsecPolicyID(id). + WithBody(body) + putok, err := f.session.Power.PCloudvpnPolicies.PcloudIpsecpoliciesPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.UpdateVPNPolicyOperationFailed, id, err)) + } + if putok != nil && putok.Payload != nil { + return putok.Payload, nil + } + return nil, fmt.Errorf("failed to Update VPN Policy") +} + +// Deprecated Get All IPSec Policies +func (f *IBMPIVpnPolicyClient) GetAllIPSecPolicies() (*models.IPSecPolicies, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIpsecpoliciesGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudvpnPolicies.PcloudIpsecpoliciesGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to get all ipsec policies: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to get all ipsec policies") + } + return resp.Payload, nil +} + +// Deprecated Delete an IPSec Policy +func (f *IBMPIVpnPolicyClient) DeleteIPSecPolicy(id string) error { + if f.session.IsOnPrem() { + return fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_policies.NewPcloudIpsecpoliciesDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithIpsecPolicyID(id) + _, err := f.session.Power.PCloudvpnPolicies.PcloudIpsecpoliciesDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return fmt.Errorf(errors.DeleteVPNPolicyOperationFailed, id, err) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpn.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpn.go new file mode 100644 index 000000000..f9b2a9c36 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-vpn.go @@ -0,0 +1,214 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections" + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// IBMPIVpnConnectionClient +type IBMPIVpnConnectionClient struct { + IBMPIClient +} + +// NewIBMPIVpnConnectionClient +func NewIBMPIVpnConnectionClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIVpnConnectionClient { + return &IBMPIVpnConnectionClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Deprecated Get a VPN Connection +func (f *IBMPIVpnConnectionClient) Get(id string) (*models.VPNConnection, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id) + resp, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetVPNConnectionOperationFailed, id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get VPN Connection %s", id) + } + return resp.Payload, nil +} + +// Deprecated Create a VPN Connection +func (f *IBMPIVpnConnectionClient) Create(body *models.VPNConnectionCreate) (*models.VPNConnectionCreateResponse, error) { + return nil, fmt.Errorf("Create VPN Connection is no longer supported") +} + +// Deprecated Update a VPN Connection +func (f *IBMPIVpnConnectionClient) Update(id string, body *models.VPNConnectionUpdate) (*models.VPNConnection, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id). + WithBody(body) + putok, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.UpdateVPNConnectionOperationFailed, id, err)) + } + if putok != nil && putok.Payload != nil { + return putok.Payload, nil + } + return nil, fmt.Errorf("failed to Update VPN Connection %s", id) +} + +// Deprecated Get All VPN Connections +func (f *IBMPIVpnConnectionClient) GetAll() (*models.VPNConnections, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsGetallParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID) + resp, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsGetall(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all VPN Connections: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all VPN Connections") + } + return resp.Payload, nil +} + +// Deprecated Delete a VPN Connection +func (f *IBMPIVpnConnectionClient) Delete(id string) (*models.JobReference, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id) + delaccepted, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.DeleteVPNConnectionOperationFailed, id, err)) + } + if delaccepted != nil && delaccepted.Payload != nil { + return delaccepted.Payload, nil + } + return nil, nil +} + +// Deprecated Get a VPN Connection's Network +func (f *IBMPIVpnConnectionClient) GetNetwork(id string) (*models.NetworkIDs, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsNetworksGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id) + resp, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsNetworksGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get Networks for VPN Connection %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Networks for VPN Connection %s", id) + } + return resp.Payload, nil +} + +// Deprecated Attach a Network to a VPN Connection +func (f *IBMPIVpnConnectionClient) AddNetwork(id, networkID string) (*models.JobReference, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsNetworksPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id). + WithBody(&models.NetworkID{NetworkID: &networkID}) + resp, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsNetworksPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Add Network %s to VPN Connection %s: %w", networkID, id, err)) + } + if resp != nil && resp.Payload != nil { + return resp.Payload, nil + } + return nil, nil +} + +// Deprecated Detach a Network from a VPN Connection +func (f *IBMPIVpnConnectionClient) DeleteNetwork(id, networkID string) (*models.JobReference, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsNetworksDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id). + WithBody(&models.NetworkID{NetworkID: &networkID}) + resp, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsNetworksDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Delete Network %s from VPN Connection %s: %w", networkID, id, err)) + } + if resp != nil && resp.Payload != nil { + return resp.Payload, nil + } + return nil, nil +} + +// Deprecated Get a VPN Connection's Subnet +func (f *IBMPIVpnConnectionClient) GetSubnet(id string) (*models.PeerSubnets, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsPeersubnetsGetParams(). + WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id) + resp, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsPeersubnetsGet(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get Subnets from VPN Connection %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Subnets from VPN Connection %s", id) + } + return resp.Payload, nil +} + +// Deprecated Attach a Subnet to a VPN Connection +func (f *IBMPIVpnConnectionClient) AddSubnet(id, subnet string) (*models.PeerSubnets, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsPeersubnetsPutParams(). + WithContext(f.ctx).WithTimeout(helpers.PIUpdateTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id). + WithBody(&models.PeerSubnetUpdate{Cidr: &subnet}) + resp, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsPeersubnetsPut(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Add Subnets to VPN Connection %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Add Subnets to VPN Connection %s", id) + } + return resp.Payload, nil +} + +// Deprecated Detach a Subnet from a VPN Connection +func (f *IBMPIVpnConnectionClient) DeleteSubnet(id, subnet string) (*models.PeerSubnets, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := p_cloud_v_p_n_connections.NewPcloudVpnconnectionsPeersubnetsDeleteParams(). + WithContext(f.ctx).WithTimeout(helpers.PIDeleteTimeOut). + WithCloudInstanceID(f.cloudInstanceID).WithVpnConnectionID(id). + WithBody(&models.PeerSubnetUpdate{Cidr: &subnet}) + resp, err := f.session.Power.PCloudvpnConnections.PcloudVpnconnectionsPeersubnetsDelete(params, f.session.AuthInfo(f.cloudInstanceID)) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Delete Subnet from VPN Connection %s: %w", id, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Delete Subnet from VPN Connection %s", id) + } + return resp.Payload, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-workspaces.go b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-workspaces.go new file mode 100644 index 000000000..7563fe44f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/clients/instance/ibm-pi-workspaces.go @@ -0,0 +1,151 @@ +package instance + +import ( + "context" + "fmt" + + "github.com/IBM-Cloud/power-go-client/errors" + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/ibmpisession" + "github.com/IBM-Cloud/power-go-client/power/client/workspaces" + "github.com/IBM-Cloud/power-go-client/power/models" + "github.com/IBM/go-sdk-core/v5/core" + "github.com/IBM/platform-services-go-sdk/resourcecontrollerv2" +) + +// IBMPIWorkspacesClient +type IBMPIWorkspacesClient struct { + IBMPIClient +} + +// Convert into valid plan or return empty (resulting in error) +func translatePlan(plan string) string { + planID := "" + switch plan { + case "public": + planID = "f165dd34-3a40-423b-9d95-e90a23f724dd" + case "private": + planID = "1112d6a9-71d6-4968-956b-eb3edbf0225b" + default: + planID = "" + } + return planID +} + +// NewIBMPIWorkspacesClient +func NewIBMPIWorkspacesClient(ctx context.Context, sess *ibmpisession.IBMPISession, cloudInstanceID string) *IBMPIWorkspacesClient { + return &IBMPIWorkspacesClient{ + *NewIBMPIClient(ctx, sess, cloudInstanceID), + } +} + +// Get a workspace +func (f *IBMPIWorkspacesClient) Get(cloudInstanceID string) (*models.Workspace, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := workspaces.NewV1WorkspacesGetParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut).WithWorkspaceID(cloudInstanceID) + resp, err := f.session.Power.Workspaces.V1WorkspacesGet(params, f.session.AuthInfoV2()) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf(errors.GetWorkspaceOperationFailed, f.cloudInstanceID, err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get Workspace %s", f.cloudInstanceID) + } + return resp.Payload, nil +} + +// Get all workspaces +func (f *IBMPIWorkspacesClient) GetAll() (*models.Workspaces, error) { + if f.session.IsOnPrem() { + return nil, fmt.Errorf(helpers.NotOnPremSupported) + } + params := workspaces.NewV1WorkspacesGetallParams().WithContext(f.ctx).WithTimeout(helpers.PIGetTimeOut) + resp, err := f.session.Power.Workspaces.V1WorkspacesGetall(params, f.session.AuthInfoV2()) + if err != nil { + return nil, ibmpisession.SDKFailWithAPIError(err, fmt.Errorf("failed to Get all Workspaces: %w", err)) + } + if resp == nil || resp.Payload == nil { + return nil, fmt.Errorf("failed to Get all Workspaces") + } + return resp.Payload, nil +} + +// Create a workspace +func (f *IBMPIWorkspacesClient) Create(name, location, groupID, plan string) (*resourcecontrollerv2.ResourceInstance, *core.DetailedResponse, error) { + resourceController, err := ibmpisession.CreateResourceControllerV2(f.session.Options.URL, f.session.Options.Authenticator) + if err != nil { + return nil, nil, fmt.Errorf("error creating Resource Controller client: %v", err) + } + planID := translatePlan(plan) + if planID == "" { + return nil, nil, fmt.Errorf("workspace creation error, incorrect plan value; either \"public\" or \"private\" is allowed") + } + params := resourceController.NewCreateResourceInstanceOptions(name, location, groupID, planID) + workspace, response, err := resourceController.CreateResourceInstance(params) + if err != nil { + return nil, response, fmt.Errorf("error creating workspace: workspace %v response %v err %v", workspace, response, err) + } + if response.StatusCode >= 400 { + return nil, response, fmt.Errorf("error creating resource instance. Status code: %d", response.StatusCode) + } + return workspace, response, nil +} + +// Create a workspace with parameters +func (f *IBMPIWorkspacesClient) CreateV2(name, location, groupID, plan string, parameters map[string]interface{}) (*resourcecontrollerv2.ResourceInstance, *core.DetailedResponse, error) { + resourceController, err := ibmpisession.CreateResourceControllerV2(f.session.Options.URL, f.session.Options.Authenticator) + if err != nil { + return nil, nil, fmt.Errorf("error creating Resource Controller client: %v", err) + } + planID := translatePlan(plan) + if planID == "" { + return nil, nil, fmt.Errorf("workspace creation error, incorrect plan value; either \"public\" or \"private\" is allowed") + } + params := resourceController.NewCreateResourceInstanceOptions(name, location, groupID, planID) + if len(parameters) > 0 { + params.SetParameters(parameters) + } + workspace, response, err := resourceController.CreateResourceInstance(params) + if err != nil { + return nil, response, fmt.Errorf("error creating workspace: workspace %v response %v err %v", workspace, response, err) + } + if response.StatusCode >= 400 { + return nil, response, fmt.Errorf("error creating resource instance. Status code: %d", response.StatusCode) + } + return workspace, response, nil +} + +// Delete a workspace +func (f *IBMPIWorkspacesClient) Delete(workspaceID string) (*core.DetailedResponse, error) { + resourceController, err := ibmpisession.CreateResourceControllerV2(f.session.Options.URL, f.session.Options.Authenticator) + if err != nil { + return nil, fmt.Errorf("error creating Resource Controller client: %v", err) + } + params := resourceController.NewDeleteResourceInstanceOptions(workspaceID) + response, err := resourceController.DeleteResourceInstance(params) + if err != nil { + return response, fmt.Errorf("error deleting workspace: response %v, err %v", response, err) + } + if response.StatusCode >= 400 { + return response, fmt.Errorf("error deleting resource instance. Status code: %d", response.StatusCode) + } + return response, nil +} + +// Get a resourceController +func (f *IBMPIWorkspacesClient) GetRC(rcWorkspaceID string) (*resourcecontrollerv2.ResourceInstance, *core.DetailedResponse, error) { + resourceController, err := ibmpisession.CreateResourceControllerV2(f.session.Options.URL, f.session.Options.Authenticator) + if err != nil { + return nil, nil, fmt.Errorf("error creating Resource Controller client: %v", err) + } + params := resourceController.NewGetResourceInstanceOptions(rcWorkspaceID) + workspace, response, err := resourceController.GetResourceInstance(params) + if err != nil { + return nil, response, fmt.Errorf("error creating workspace: workspace %v response %v err %v", workspace, response, err) + } + if response.StatusCode >= 400 { + return nil, response, fmt.Errorf("error getting resource instance. Status code: %d", response.StatusCode) + } + return workspace, response, nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/errors/errors.go b/vendor/github.com/IBM-Cloud/power-go-client/errors/errors.go new file mode 100644 index 000000000..815685256 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/errors/errors.go @@ -0,0 +1,218 @@ +package errors + +import ( + "encoding/json" + "errors" + "reflect" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// start of Placementgroup Messages + +const GetPlacementGroupOperationFailed = "failed to perform Get Placement Group Operation for placement group %s with error %w" +const CreatePlacementGroupOperationFailed = "failed to perform Create Placement Group Operation for cloud instance %s with error %w" +const DeletePlacementGroupOperationFailed = "failed to perform Delete Placement Group Operation for placement group %s with error %w" +const AddMemberPlacementGroupOperationFailed = "failed to perform Add Member Operation for instance %s and placement group %s with error %w" +const DeleteMemberPlacementGroupOperationFailed = "failed to perform Delete Member Operation for instance %s and placement group %s with error %w" + +// start of Cloud Connection Messages + +const GetCloudConnectionOperationFailed = "failed to perform Get Cloud Connections Operation for cloudconnectionid %s with error %w" +const CreateCloudConnectionOperationFailed = "failed to perform Create Cloud Connection Operation for cloud instance %s with error %w" +const UpdateCloudConnectionOperationFailed = "failed to perform Update Cloud Connection Operation for cloudconnectionid %s with error %w" +const DeleteCloudConnectionOperationFailed = "failed to perform Delete Cloud Connection Operation for cloudconnectionid %s with error %w" + +// start of VPN Connection Messages + +const GetVPNConnectionOperationFailed = "failed to perform Get VPN Connection Operation for id %s with error %w" +const CreateVPNConnectionOperationFailed = "failed to perform Create VPN Connection Operation for cloud instance %s with error %w" +const UpdateVPNConnectionOperationFailed = "failed to perform Update VPN Connection Operation for id %s with error %w" +const DeleteVPNConnectionOperationFailed = "failed to perform Delete VPN Connection Operation for id %s with error %w" + +// start of VPN Policy Messages + +const GetVPNPolicyOperationFailed = "failed to perform Get VPN Policy Operation for Policy id %s with error %w" +const CreateVPNPolicyOperationFailed = "failed to perform Create VPN Policy Operation for cloud instance %s with error %w" +const UpdateVPNPolicyOperationFailed = "failed to perform Update VPN Policy Operation for Policy id %s with error %w" +const DeleteVPNPolicyOperationFailed = "failed to perform Delete VPN Policy Operation for Policy id %s with error %w" + +// start of Job Messages +const GetJobOperationFailed = "failed to perform get Job operation for job id %s with error %w" +const GetAllJobsOperationFailed = "failed to perform get all jobs operation with error %w" +const DeleteJobsOperationFailed = "failed to perform delete Job operation for job id %s with error %w" + +// start of DHCP Messages +const GetDhcpOperationFailed = "failed to perform Get DHCP Operation for dhcp id %s with error %w" +const CreateDchpOperationFailed = "failed to perform Create DHCP Operation for cloud instance %s with error %w" +const DeleteDhcpOperationFailed = "failed to perform Delete DHCP Operation for dhcp id %s with error %w" + +// start of System-Pools Messages +const GetSystemPoolsOperationFailed = "failed to perform Get System Pools Operation for cloud instance %s with error %w" + +// start of Image Messages + +const GetImageOperationFailed = "failed to perform Get Image Operation for image %s with error %w" +const CreateImageOperationFailed = "failed to perform Create Image Operation for cloud instance %s with error %w" + +// Start of Network Messages +const GetNetworkOperationFailed = "failed to perform Get Network Operation for Network id %s with error %w" +const CreateNetworkOperationFailed = "failed to perform Create Network Operation for Network %s with error %w" +const CreateNetworkPortOperationFailed = "failed to perform Create Network Port Operation for Network %s with error %w" + +// start of Volume Messages +const DeleteVolumeOperationFailed = "failed to perform Delete Volume Operation for volume %s with error %w" +const UpdateVolumeOperationFailed = "failed to perform Update Volume Operation for volume %s with error %w" +const GetVolumeOperationFailed = "failed to perform the Get Volume Operation for volume %s with error %w" +const CreateVolumeOperationFailed = "failed to perform the Create volume Operation for volume %s with error %w" +const CreateVolumeV2OperationFailed = "failed to perform the Create volume Operation V2 for volume %s with error %w" +const AttachVolumeOperationFailed = "failed to perform the Attach volume Operation for volume %s with error %w" +const DetachVolumeOperationFailed = "failed to perform the Detach volume Operation for volume %s with error %w" +const GetVolumeRemoteCopyRelationshipsOperationFailed = "failed to Get remote copy relationships of a volume %s for the cloud instance %s with error %w" +const GetVolumeFlashCopyMappingOperationFailed = "failed to Get flash copy mapping of a volume %s for the cloud instance %s with error %w" +const DetachVolumesOperationFailed = "failed to perfome the Detach volumes Operation V2 for pvminstance %s in cloud instance %s with error %w" +const AttachVolumesOperationFailed = "failed to perform the Attach volume Operation for volumes %s with error %w" + +// start of volume onboarding +const GetVolumeOnboardingOperationFailed = "failed to perform the Get Volume Onboarding Operation for volume-onboarding ID:%s for the cloud instance %s with error %w" +const GetAllVolumeOnboardingsOperationFailed = "failed to perform the Get All Volume Onboardings Operation for the cloud instance %s with error %w" +const CreateVolumeOnboardingsOperationFailed = "failed to perform the Create Volume Onboarding Operation for the cloud instance %s with error %w" + +// start of disaster recovery +const GetDisasterRecoveryLocationOperationFailed = "failed to perform the Get Disaster Recovery Location Operation for the cloud instance %s with error %w" +const GetAllDisasterRecoveryLocationOperationFailed = "failed to perform the Get All Disaster Recovery Location Operation of power virtual server with error %w" + +// start of Clone Messages +const StartCloneOperationFailed = "failed to start the clone operation for volumes-clone %s with error %w" +const PrepareCloneOperationFailed = "failed to prepare the clone operation for volumes-clone %s with error %w" +const DeleteCloneOperationFailed = "failed to perform delete clone operation %w" +const GetCloneOperationFailed = "failed to get the volumes-clone %s for the cloud instance %s with error %w" +const CreateCloneOperationFailed = "failed to perform the create clone operation %w" + +// start of Cloud Instance Messages +const GetCloudInstanceOperationFailed = "failed to Get Cloud Instance %s with error %w" +const UpdateCloudInstanceOperationFailed = "failed to update the Cloud instance %s with error %w" +const DeleteCloudInstanceOperationFailed = "failed to delete the Cloud instance %s with error %w" + +// start of PI Key Messages +const GetPIKeyOperationFailed = "failed to Get PI Key %s with error %w" +const CreatePIKeyOperationFailed = "failed to Create PI Key with error %w" +const DeletePIKeyOperationFailed = "failed to Delete PI Key %s with error %w" + +// start of PI ssh Key Messages +const GetAllPISSHKeyOperationFailed = "failed to Get PI SSH Keys with error %w" +const GetPISSHKeyOperationFailed = "failed to Get PI SSH Key %s with error %w" +const CreatePISSHKeyOperationFailed = "failed to Create PI SSH Key with error %w" +const DeletePISSHKeyOperationFailed = "failed to Delete PI SSH Key %s with error %w" +const UpdatePISSHKeyOperationFailed = "failed to Update PI SSH Key %s with error %w" + +// start of Volume Groups +const GetVolumeGroupOperationFailed = "failed to Get volume-group %s for the cloud instance %s with error %w" +const GetVolumeGroupDetailsOperationFailed = "failed to Get volume-group %s details for the cloud instance %s with error %w" +const CreateVolumeGroupOperationFailed = "failed to perform the Create volume-group Operation for the cloud instance %s with error %w" +const DeleteVolumeGroupOperationFailed = "failed to perform Delete volume-group Operation for volume-group %s with error %w" +const GetLiveVolumeGroupDetailsOperationFailed = "failed to Get live details of volume-group %s for the cloud instance %s with error %w" +const VolumeGroupActionOperationFailed = "failed to perform action on volume-group %s for the cloud instance %s with error %w" +const GetVolumeGroupRemoteCopyRelationshipsOperationFailed = "failed to Get remote copy relationships of the volumes belonging to volume group %s for the cloud instance %s with error %w" + +// start of Shared processor pool Messages +const GetSharedProcessorPoolOperationFailed = "failed to perform Get Shared Processor Pool Operation for pool %s with error %w" +const CreateSharedProcessorPoolOperationFailed = "failed to perform Create Shared Processor Pool Operation for cloud instance %s with error %w" +const DeleteSharedProcessorPoolOperationFailed = "failed to perform Delete Shared Processor Pool Operation for pool %s with error %w" +const UpdateSharedProcessorPoolOperationFailed = "failed to perform Update Shared Processor Pool Operation for pool %s with error %w" + +// start of Shared processor pool placement group Messages +const GetSPPPlacementGroupOperationFailed = "failed to perform Get Shared Processor Pool Placement Group Operation for placement group %s with error %w" +const CreateSPPPlacementGroupOperationFailed = "failed to perform Create Shared Processor Pool Placement Group Operation for cloud instance %s with error %w" +const DeleteSPPPlacementGroupOperationFailed = "failed to perform Delete Shared Processor Pool Placement Group Operation for placement group %s with error %w" +const AddMemberSPPPlacementGroupOperationFailed = "failed to perform Add Member Operation for pool %s and shared processor pool placement group %s with error %w" +const DeleteMemberSPPPlacementGroupOperationFailed = "failed to perform Delete Member Operation for pool %s and shared processor pool placement group %s with error %w" + +// start of Workspaces Messages +const GetWorkspaceOperationFailed = "failed to perform Get Workspace Operation for id %s with error %w" + +// start of Datacenter Messages +const GetDatacenterOperationFailed = "failed to perform Get Datacenter Operation for id %s with error %w" + +// start of StorageTier Messages +const GetAllStorageTiersOperationFailed = "failed to perform get all Storage Tiers Operation for id %s with error %w" + +// ErrorTarget ... +type ErrorTarget struct { + Name string + Type string +} + +// SingleError ... +type SingleError struct { + Code string + Message string + MoreInfo string + Target ErrorTarget +} + +// PowerError ... +type Error struct { + Payload *models.Error +} + +func (e Error) Error() string { + b, _ := json.Marshal(e.Payload) + return string(b) +} + +// ToError ... +func ToError(err error) error { + if err == nil { + return nil + } + + // check if its ours + kind := reflect.TypeOf(err).Kind() + if kind != reflect.Ptr { + return err + } + + // next follow pointer + errstruct := reflect.TypeOf(err).Elem() + if errstruct.Kind() != reflect.Struct { + return err + } + + n := errstruct.NumField() + found := false + for i := 0; i < n; i++ { + if errstruct.Field(i).Name == "Payload" { + found = true + break + } + } + + if !found { + return err + } + + // check if a payload field exists + payloadValue := reflect.ValueOf(err).Elem().FieldByName("Payload") + if payloadValue.Interface() == nil { + return err + } + + payloadIntf := payloadValue.Elem().Interface() + payload, parsed := payloadIntf.(models.Error) + if !parsed { + return err + } + + var reterr = Error{ + Payload: &payload, + } + + return reterr +} + +// Retrieve wrapped error from err. +// When does not contain wrapped error returns nil. +func Unwrap(err error) error { + return errors.Unwrap(err) +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/helpers/constants.go b/vendor/github.com/IBM-Cloud/power-go-client/helpers/constants.go new file mode 100644 index 000000000..cd242fd8e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/helpers/constants.go @@ -0,0 +1,254 @@ +package helpers + +import "time" + +const ( + // IBM PI Instance + PIInstanceName = "pi_instance_name" + PIInstanceDate = "pi_creation_date" + PIInstanceSSHKeyName = "pi_key_pair_name" + PIInstanceImageId = "pi_image_id" + PIInstanceProcessors = "pi_processors" + PIInstanceProcType = "pi_proc_type" + PIInstanceMemory = "pi_memory" + PIInstanceSystemType = "pi_sys_type" + PIInstanceId = "pi_instance_id" + PIInstanceDiskSize = "pi_disk_size" + PIInstanceStatus = "pi_instance_status" + PIInstanceMinProc = "pi_minproc" + PIInstanceVolumeIds = "pi_volume_ids" + PIInstanceNetworkIds = "pi_network_ids" + PIInstancePublicNetwork = "pi_public_network" + PIInstanceMigratable = "pi_migratable" + PICloudInstanceId = "pi_cloud_instance_id" + PICloudInstanceSubnetName = "pi_cloud_instance_subnet_name" + PIInstanceMimMem = "pi_minmem" + PIInstanceMaxProc = "pi_maxproc" + PIInstanceMaxMem = "pi_maxmem" + PIInstanceReboot = "pi_reboot" + PITenantId = "pi_tenant_id" + PIVirtualCoresAssigned = "pi_virtual_cores_assigned" + PIVirtualCoresMax = "pi_virtual_cores_max" + PIVirtualCoresMin = "pi_virtual_cores_min" + PIInstancePVMNetwork = "pi_instance_pvm_network" + PIInstanceStorageType = "pi_storage_type" + PIInstanceStorageConnection = "pi_storage_connection" + PIInstanceStoragePool = "pi_instance_storage_pool" + PIInstanceStorageAffinityPool = "pi_instance_storage_affinity_pool" + PIInstanceLicenseRepositoryCapacity = "pi_license_repository_capacity" + PIInstanceHealthStatus = "pi_health_status" + PIInstanceReplicants = "pi_replicants" + PIInstanceReplicationPolicy = "pi_replication_policy" + PIInstanceReplicationScheme = "pi_replication_scheme" + PIInstanceProgress = "pi_progress" + PIInstanceUserData = "pi_user_data" + PIInstancePinPolicy = "pi_pin_policy" + + // IBM PI Volume + PIVolumeName = "pi_volume_name" + PIVolumeSize = "pi_volume_size" + PIVolumeType = "pi_volume_type" + PIVolumeShareable = "pi_volume_shareable" + PIVolumeId = "pi_volume_id" + PIVolumeStatus = "pi_volume_status" + PIVolumeWWN = "pi_volume_wwn" + PIVolumeDeleteOnTerminate = "pi_volume_delete_on_terminate" + PIVolumeCreateDate = "pi_volume_create_date" + PIVolumeLastUpdate = "pi_last_updated_date" + PIVolumePool = "pi_volume_pool" + PIAffinityPolicy = "pi_volume_affinity_policy" + PIAffinityVolume = "pi_volume_affinity" + PIAffinityInstance = "pi_volume_affinity_instance" + PIAffinityDiskCount = "pi_volume_disk_count" + PIStoragePoolValue = "pi_storage_pool_type" + PIStoragePoolName = "pi_storage_pool_name" + PIReplicationEnabled = "pi_replication_enabled" + + // IBM PI Snapshots + PISnapshot = "pi_snap_shot_id" + PISnapshotName = "pi_snap_shot_name" + PISnapshotStatus = "pi_snap_shot_status" + PISnapshotAction = "pi_snap_shot_action" + PISnapshotComplete = "pi_snap_shot_complete" + + // IBM PI SAP Profile + PISAPProfileID = "pi_sap_profile_id" + PISAPProfile = "pi_sap_profile" + PISAPProfileMemory = "pi_sap_profile_memory" + //#nosec G101 + PISAPProfileCertified = "pi_sap_profile_certified" + PISAPProfileType = "pi_sap_profile_type" + PISAPProfileCores = "pi_sap_profile_cores" + PISAPProfileFamilyFilterMapKey = "pi_family_filter" + PISAPProfilePrefixFilterMapKey = "pi_prefix_filter" + + // IBM PI Clone Volume + PIVolumeCloneStatus = "pi_volume_clone_status" + PIVolumeClonePercent = "pi_volume_clone_percent" + PIVolumeCloneFailure = "pi_volume_clone_failure" + + // IBM PI Image + PIImageName = "pi_image_name" + PIImageId = "pi_image_id" + PIImageAccessKey = "pi_image_access_key" + PIImageSecretKey = "pi_image_secret_key" + PIImageSource = "pi_image_source" + PIImageBucketName = "pi_image_bucket_name" + PIImageBucketAccess = "pi_image_bucket_access" + PIImageBucketFileName = "pi_image_bucket_file_name" + PIImageBucketRegion = "pi_image_bucket_region" + PIImageStorageAffinity = "pi_image_storage_affinity" + PIImageStoragePool = "pi_image_storage_pool" + PIImageStorageType = "pi_image_storage_type" + PIImageCopyID = "pi_image_copy_id" + PIImagePath = "pi_image_path" + PIImageOsType = "pi_image_os_type" + + // IBM PI Key + PIKeyName = "pi_key_name" + PIKey = "pi_ssh_key" + PIKeyDate = "pi_creation_date" + PIKeyId = "pi_key_id" + + // IBM PI Network + PINetworkReady = "ready" + PINetworkID = "pi_networkid" + PINetworkName = "pi_network_name" + PINetworkCidr = "pi_cidr" + PINetworkDNS = "pi_dns" + PINetworkType = "pi_network_type" + PINetworkGateway = "pi_gateway" + PINetworkIPAddressRange = "pi_ipaddress_range" + PINetworkVlanId = "pi_vlan_id" + PINetworkProvisioning = "build" + PINetworkJumbo = "pi_network_jumbo" + PINetworkMtu = "pi_network_mtu" + //#nosec G101 + PINetworkAccessConfig = "pi_network_access_config" + PINetworkPortDescription = "pi_network_port_description" + PINetworkPortIPAddress = "pi_network_port_ipaddress" + PINetworkPortMacAddress = "pi_network_port_macaddress" + PINetworkPortStatus = "pi_network_port_status" + PINetworkPortPortID = "pi_network_port_portid" + + // IBM PI Operations + PIInstanceOperationType = "pi_operation" + PIInstanceOperationProgress = "pi_progress" + PIInstanceOperationStatus = "pi_status" + PIInstanceOperationServerName = "pi_instance_name" + + // IBM PI Volume Attach + PIVolumeAttachName = "pi_volume_attach_name" + PIVolumeAllowableAttachStatus = "in-use" + PIVolumeAttachStatus = "status" + PowerVolumeAttachDeleting = "deleting" + PowerVolumeAttachProvisioning = "creating" + PowerVolumeAttachProvisioningDone = "available" + + // IBM PI Instance Capture + PIInstanceCaptureName = "pi_capture_name" + PIInstanceCaptureDestination = "pi_capture_destination" + PIInstanceCaptureVolumeIds = "pi_capture_volume_ids" + PIInstanceCaptureCloudStorageImagePath = "pi_capture_storage_image_path" + PIInstanceCaptureCloudStorageRegion = "pi_capture_cloud_storage_region" + PIInstanceCaptureCloudStorageAccessKey = "pi_capture_cloud_storage_access_key" + PIInstanceCaptureCloudStorageSecretKey = "pi_capture_cloud_storage_secret_key" + + // IBM PI Cloud Connections + PICloudConnectionName = "pi_cloud_connection_name" + PICloudConnectionStatus = "pi_cloud_connection_status" + PICloudConnectionMetered = "pi_cloud_connection_metered" + PICloudConnectionUserIPAddress = "pi_cloud_connection_user_ip_address" + PICloudConnectionIBMIPAddress = "pi_cloud_connection_ibm_ip_address" + PICloudConnectionSpeed = "pi_cloud_connection_speed" + PICloudConnectionPort = "pi_cloud_connection_port" + PICloudConnectionGlobalRouting = "pi_cloud_connection_global_routing" + PICloudConnectionId = "pi_cloud_connection_id" + //PICloudConnectionClassic = "pi_cloud_connection_classic" + PICloudConnectionClassicEnabled = "pi_cloud_connection_classic_enabled" + PICloudConnectionClassicGreCidr = "pi_cloud_connection_gre_cidr" + PICloudConnectionClassicGreDest = "pi_cloud_connection_gre_destination_address" + PICloudConnectionClassicGreSource = "pi_cloud_connection_gre_source_address" + PICloudConnectionNetworks = "pi_cloud_connection_networks" + //PICloudConnectionVPC = "pi_cloud_connection_vpc" + PICloudConnectionVPCEnabled = "pi_cloud_connection_vpc_enabled" + PICloudConnectionVPCCRNs = "pi_cloud_connection_vpc_crns" + PICloudConnectionVPCName = "pi_cloud_connection_vpc_name" + + // IBM PI VPN Connections + PIVPNConnectionName = "pi_vpn_connection_name" + PIVPNConnectionId = "pi_vpn_connection_id" + PIVPNIKEPolicyId = "pi_ike_policy_id" + PIVPNIPSecPolicyId = "pi_ipsec_policy_id" + PIVPNConnectionLocalGatewayAddress = "pi_local_gateway_address" + PIVPNConnectionMode = "pi_vpn_connection_mode" + PIVPNConnectionNetworks = "pi_networks" + PIVPNConnectionPeerGatewayAddress = "pi_peer_gateway_address" + PIVPNConnectionPeerSubnets = "pi_peer_subnets" + //#nosec G101 + PIVPNConnectionStatus = "pi_vpn_connection_status" + PIVPNConnectionVpnGatewayAddress = "pi_gateway_address" + PIVPNConnectionDeadPeerDetection = "pi_dead_peer_detections" + PIVPNConnectionDeadPeerDetectionAction = "pi_dead_peer_detections_action" + PIVPNConnectionDeadPeerDetectionInterval = "pi_dead_peer_detections_interval" + PIVPNConnectionDeadPeerDetectionThreshold = "pi_dead_peer_detections_threshold" + + // IBM PI VPN Policy + PIVPNPolicyId = "pi_policy_id" + PIVPNPolicyName = "pi_policy_name" + PIVPNPolicyDhGroup = "pi_policy_dh_group" + PIVPNPolicyEncryption = "pi_policy_encryption" + PIVPNPolicyKeyLifetime = "pi_policy_key_lifetime" + PIVPNPolicyPresharedKey = "pi_policy_preshared_key" + PIVPNPolicyVersion = "pi_policy_version" + PIVPNPolicyAuthentication = "pi_policy_authentication" + PIVPNPolicyPFS = "pi_policy_pfs" + + JobStatusQueued = "queued" + JobStatusReadyForProcessing = "readyForProcessing" + JobStatusInProgress = "inProgress" + JobStatusCompleted = "completed" + JobStatusFailed = "failed" + JobStatusRunning = "running" + JobStatusWaiting = "waiting" + + // IBM PI DHCP + PIDhcpId = "pi_dhcp_id" + PIDhcpStatus = "pi_dhcp_status" + PIDhcpNetwork = "pi_dhcp_network" + PIDhcpLeases = "pi_dhcp_leases" + PIDhcpInstanceIp = "pi_dhcp_instance_ip" + PIDhcpInstanceMac = "pi_dhcp_instance_mac" + + // IBM PI Placement Groups + PIPlacementGroupName = "pi_placement_group_name" + PIPlacementGroupPolicy = "pi_placement_group_policy" + PIPlacementGroupID = "pi_placement_group_id" + + // Status For all the resources + PIVolumeDeleting = "deleting" + PIVolumeDeleted = "done" + PIVolumeProvisioning = "creating" + PIVolumeProvisioningDone = "available" + PIInstanceAvailable = "ACTIVE" + PIInstanceHealthOk = "OK" + PIInstanceHealthWarning = "WARNING" + PIInstanceBuilding = "BUILD" + PIInstanceDeleting = "DELETING" + PIInstanceNotFound = "Not Found" + PIImageQueStatus = "queued" + PIImageActiveStatus = "active" + + // Timeout values for Power VS - + PICreateTimeOut = 5 * time.Minute + PIUpdateTimeOut = 5 * time.Minute + PIDeleteTimeOut = 3 * time.Minute + PIGetTimeOut = 2 * time.Minute + + // Stratos region prefix + PIStratosRegionPrefix = "satloc" + + // Standard "not supported" messages + NotOnPremSupported = "operation not supported in on-prem location" + NotOffPremSupported = "operation not supported in off-prem location" +) diff --git a/vendor/github.com/IBM-Cloud/power-go-client/helpers/env.go b/vendor/github.com/IBM-Cloud/power-go-client/helpers/env.go new file mode 100644 index 000000000..fee94e8b0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/helpers/env.go @@ -0,0 +1,18 @@ +package helpers + +import "os" + +// EnvFallBack ... +func EnvFallBack(envs []string, defaultValue string) string { + for _, k := range envs { + if v := os.Getenv(k); v != "" { + return v + } + } + return defaultValue +} + +// GetPowerEndPoint +func GetPowerEndPoint() string { + return EnvFallBack([]string{"IBMCLOUD_POWER_API_ENDPOINT"}, "") +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/logger.go b/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/logger.go new file mode 100644 index 000000000..454d456a3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/logger.go @@ -0,0 +1,81 @@ +package ibmpisession + +import ( + "fmt" + "os" + "reflect" + "regexp" + + "github.com/go-openapi/runtime/logger" +) + +var _ logger.Logger = &IBMPILogger{} + +type IBMPILogger struct{} + +func (IBMPILogger) Printf(format string, args ...interface{}) { + if len(format) == 0 || format[len(format)-1] != '\n' { + format += "\n" + } + fmt.Fprintf(os.Stderr, format, args...) +} + +func (IBMPILogger) Debugf(format string, args ...interface{}) { + if len(format) == 0 || format[len(format)-1] != '\n' { + format += "\n" + } + fmt.Fprintf(os.Stderr, format, sanatizeArgs(args)...) +} + +func sanatizeArgs(args []interface{}) (out []interface{}) { + for _, arg := range args { + if reflect.TypeOf(arg).String() == "string" { + arg = sanitize(fmt.Sprintf("%s", arg)) + } + out = append(out, arg) + } + return +} + +func sanitize(input string) string { + re := regexp.MustCompile(`(?m)^Authorization: .*`) + sanitized := re.ReplaceAllString(input, "Authorization: "+privateDataPlaceholder()) + + re = regexp.MustCompile(`(?m)^X-Auth-Token: .*`) + sanitized = re.ReplaceAllString(sanitized, "X-Auth-Token: "+privateDataPlaceholder()) + + re = regexp.MustCompile(`(?m)^X-Auth-Refresh-Token: .*`) + sanitized = re.ReplaceAllString(sanitized, "X-Auth-Refresh-Token: "+privateDataPlaceholder()) + + re = regexp.MustCompile(`(?m)^X-Auth-Uaa-Token: .*`) + sanitized = re.ReplaceAllString(sanitized, "X-Auth-Uaa-Token: "+privateDataPlaceholder()) + + re = regexp.MustCompile(`(?m)^X-Auth-User-Token: .*`) + sanitized = re.ReplaceAllString(sanitized, "X-Auth-User-Token: "+privateDataPlaceholder()) + + re = regexp.MustCompile(`password=[^&]*&`) + sanitized = re.ReplaceAllString(sanitized, "password="+privateDataPlaceholder()+"&") + + re = regexp.MustCompile(`refresh_token=[^&]*&`) + sanitized = re.ReplaceAllString(sanitized, "refresh_token="+privateDataPlaceholder()+"&") + + re = regexp.MustCompile(`apikey=[^&]*&`) + sanitized = re.ReplaceAllString(sanitized, "apikey="+privateDataPlaceholder()+"&") + + sanitized = sanitizeJSON("token", sanitized) + sanitized = sanitizeJSON("password", sanitized) + sanitized = sanitizeJSON("apikey", sanitized) + sanitized = sanitizeJSON("passcode", sanitized) + + return sanitized +} + +func sanitizeJSON(propertySubstring string, json string) string { + regex := regexp.MustCompile(fmt.Sprintf(`(?i)"([^"]*%s[^"]*)":\s*"[^\,]*"`, propertySubstring)) + return regex.ReplaceAllString(json, fmt.Sprintf(`"$1":"%s"`, privateDataPlaceholder())) +} + +// privateDataPlaceholder returns the text to replace the sentive data. +func privateDataPlaceholder() string { + return "[PRIVATE DATA HIDDEN]" +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/session.go b/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/session.go new file mode 100644 index 000000000..8e1f30042 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/session.go @@ -0,0 +1,142 @@ +package ibmpisession + +import ( + "fmt" + "strings" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/helpers" + "github.com/IBM-Cloud/power-go-client/power/client" + "github.com/IBM/go-sdk-core/v5/core" +) + +// IBMPISession ... +type IBMPISession struct { + CRNFormat string + Power *client.PowerIaasAPI + Options *IBMPIOptions +} + +// PIOptions +type IBMPIOptions struct { + // The authenticator implementation to be used by the + // service instance to authenticate outbound requests + // Required + Authenticator core.Authenticator + + // Enable/Disable http transport debugging log + Debug bool + + // Region of the Power Cloud Service Instance + // For generating the default endpoint + // Deprecated: Region is deprecated, the URL is auto generated based on Zone when not provided. + Region string + + // Power Virtual Server host or URL endpoint + // This will be used instead of generating the default host + // eg: dal.power-iaas.cloud.ibm.com + URL string + + // Account id of the Power Cloud Service Instance + // It will be part of the CRN string + // Required + UserAccount string + + // Zone of the Power Cloud Service Instance + // It will be part of the CRN string + // Required + Zone string +} + +// Create a IBMPISession +func NewIBMPISession(o *IBMPIOptions) (*IBMPISession, error) { + if core.IsNil(o) { + return nil, fmt.Errorf("options is required") + } + + if core.IsNil(o.Authenticator) { + return nil, fmt.Errorf("option Authenticator is required") + } + + if o.UserAccount == "" { + return nil, fmt.Errorf("option UserAccount is required") + } + + if o.Zone == "" { + return nil, fmt.Errorf("option Zone is required") + } + + region := o.Region + if region == "" { + region = costructRegionFromZone(o.Zone) + } + + var serviceURL string + if o.URL != "" { + serviceURL = o.URL + } else { + // Check in env + serviceURL = helpers.GetPowerEndPoint() + // If not set in env use prod endpoint + if serviceURL == "" { + serviceURL = "power-iaas.cloud.ibm.com" + } + } + + // Prepend region to endpoint if not present + if strings.HasPrefix(serviceURL, "power-iaas.") { + serviceURL = region + "." + serviceURL + } + + // We need just the server host from the URL + var host, scheme string + if strings.HasPrefix(serviceURL, "https://") { + scheme = SCHEME_HTTPS + host = strings.TrimPrefix(serviceURL, "https://") + } else if strings.HasPrefix(serviceURL, "http://") { + scheme = SCHEME_HTTP + host = strings.TrimPrefix(serviceURL, "http://") + } else { + // by default we use "https" + scheme = SCHEME_HTTPS + host = serviceURL + } + + return &IBMPISession{ + CRNFormat: crnBuilder(o.UserAccount, o.Zone, host), + Options: o, + Power: getPIClient(o.Debug, host, scheme), + }, nil +} + +// authInfo ... +func (s *IBMPISession) AuthInfo(cloudInstanceID string) runtime.ClientAuthInfoWriter { + return runtime.ClientAuthInfoWriterFunc(func(r runtime.ClientRequest, _ strfmt.Registry) error { + auth, err := fetchAuthorizationData(s.Options.Authenticator) + if err != nil { + return err + } + if err := r.SetHeaderParam("Authorization", auth); err != nil { + return err + } + return r.SetHeaderParam("CRN", fmt.Sprintf(s.CRNFormat, cloudInstanceID)) + }) +} + +// AuthInfoV2 only set Authorization since some apis do not require CRN in the header +func (s *IBMPISession) AuthInfoV2() runtime.ClientAuthInfoWriter { + return runtime.ClientAuthInfoWriterFunc(func(r runtime.ClientRequest, _ strfmt.Registry) error { + auth, err := fetchAuthorizationData(s.Options.Authenticator) + if err != nil { + return err + } + return r.SetHeaderParam("Authorization", auth) + }) +} + +// IsOnPrem returns true if the operation is being done on premise (at a satellite region) +func (s *IBMPISession) IsOnPrem() bool { + return strings.Contains(s.Options.Zone, helpers.PIStratosRegionPrefix) +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/utils.go b/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/utils.go new file mode 100644 index 000000000..d0c33e2c5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/ibmpisession/utils.go @@ -0,0 +1,124 @@ +package ibmpisession + +import ( + "bytes" + "crypto/tls" + "encoding/json" + "fmt" + "io" + "net/http" + "regexp" + "strings" + + "github.com/IBM-Cloud/power-go-client/power/client" + "github.com/IBM/go-sdk-core/v5/core" + rc "github.com/IBM/platform-services-go-sdk/resourcecontrollerv2" + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" +) + +const ( + SCHEME_HTTPS = "https" + SCHEME_HTTP = "http" +) + +// fetchAuthorizationData Fetch Authorization token using the Authenticator +func fetchAuthorizationData(a core.Authenticator) (string, error) { + req := &http.Request{ + Header: make(http.Header), + } + if err := a.Authenticate(req); err != nil { + return "", err + } + return req.Header.Get("Authorization"), nil +} + +// crnBuilder Return string format to create CRN using the cloud instance id +// The result string will have crn data with a string placeholder to set the cloud instance id +// Usage: +// `crn := fmt.Sprintf(crnBuilder(useraccount, regionZone, host), )` +func crnBuilder(useraccount, zone, host string) string { + // TODO: after combined services, review this code to remove ppc-aas references + var service string + if strings.Contains(host, ".power-iaas.cloud.ibm.com") || strings.Contains(host, ".ppc-aas.cloud.ibm.com") { + service = "bluemix" + } else { + service = "staging" + } + + // Return crn + if strings.Contains(host, "ppc-aas") { + return fmt.Sprintf("crn:v1:%s:public:ppc-aas:%s:a/%s:", service, zone, useraccount) + "%s::" + } + return fmt.Sprintf("crn:v1:%s:public:power-iaas:%s:a/%s:", service, zone, useraccount) + "%s::" +} + +func powerJSONConsumer() runtime.Consumer { + return runtime.ConsumerFunc(func(reader io.Reader, data interface{}) error { + buf := new(bytes.Buffer) + _, err := buf.ReadFrom(reader) + if err != nil { + return err + } + b := buf.Bytes() + dec := json.NewDecoder(bytes.NewReader(b)) + dec.UseNumber() // preserve number formats + return dec.Decode(data) + }) +} + +// getPIClient generates a PowerIaas client +func getPIClient(debug bool, host string, scheme string) *client.PowerIaasAPI { + http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{ + InsecureSkipVerify: false, + MinVersion: tls.VersionTLS12, + } + if scheme == "" { + scheme = SCHEME_HTTPS + } + transport := httptransport.New(host, "/", []string{scheme}) + transport.Debug = debug + transport.SetLogger(IBMPILogger{}) + transport.Consumers[runtime.JSONMime] = powerJSONConsumer() + return client.New(transport, nil) +} + +// costructRegionFromZone Calculate region based on location/zone +func costructRegionFromZone(zone string) string { + var regex string + if strings.Contains(zone, "-") { + // it's a region or AZ + regex = "-[0-9]+$" + } else { + // it's a datacenter + regex = "[0-9]+$" + } + + reg, _ := regexp.Compile(regex) + return reg.ReplaceAllString(zone, "") +} + +// SDKFailWithAPIError returns a custom error message if a HTTP error response 500 or greater is found +func SDKFailWithAPIError(err error, origErr error) error { + if apierr, ok := err.(*runtime.APIError); ok { + if apierr.Code >= 500 { + return fmt.Errorf("error: %w The server has encountered an unexpected error and is unable to fulfill the request", err) + } + } + return origErr +} + +// CreateResourceControllerV2 returns a resourceControllerV2 +func CreateResourceControllerV2(url string, authenticator core.Authenticator) (service *rc.ResourceControllerV2, err error) { + env := "" + if strings.Contains(url, "test") { + env = ".test" + } + rcUrl := "https://resource-controller" + env + ".cloud.ibm.com" + + resourceController, err := rc.NewResourceControllerV2(&rc.ResourceControllerV2Options{ + Authenticator: authenticator, + URL: rcUrl, + }) + return resourceController, err +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/authentication_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/authentication_client.go new file mode 100644 index 000000000..0884ce2a8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/authentication_client.go @@ -0,0 +1,518 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new authentication API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new authentication API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new authentication API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for authentication API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + ServiceBrokerAuthCallback(params *ServiceBrokerAuthCallbackParams, opts ...ClientOption) (*ServiceBrokerAuthCallbackOK, error) + + ServiceBrokerAuthDeviceCodePost(params *ServiceBrokerAuthDeviceCodePostParams, opts ...ClientOption) (*ServiceBrokerAuthDeviceCodePostOK, error) + + ServiceBrokerAuthDeviceTokenPost(params *ServiceBrokerAuthDeviceTokenPostParams, opts ...ClientOption) (*ServiceBrokerAuthDeviceTokenPostOK, error) + + ServiceBrokerAuthInfoToken(params *ServiceBrokerAuthInfoTokenParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerAuthInfoTokenOK, error) + + ServiceBrokerAuthInfoUser(params *ServiceBrokerAuthInfoUserParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerAuthInfoUserOK, error) + + ServiceBrokerAuthLogin(params *ServiceBrokerAuthLoginParams, opts ...ClientOption) (*ServiceBrokerAuthLoginOK, error) + + ServiceBrokerAuthLogout(params *ServiceBrokerAuthLogoutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerAuthLogoutOK, error) + + ServiceBrokerAuthRegistration(params *ServiceBrokerAuthRegistrationParams, opts ...ClientOption) (*ServiceBrokerAuthRegistrationOK, error) + + ServiceBrokerAuthRegistrationCallback(params *ServiceBrokerAuthRegistrationCallbackParams, opts ...ClientOption) (*ServiceBrokerAuthRegistrationCallbackOK, error) + + ServiceBrokerAuthTokenPost(params *ServiceBrokerAuthTokenPostParams, opts ...ClientOption) (*ServiceBrokerAuthTokenPostOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +ServiceBrokerAuthCallback returns an access token and set cookie +*/ +func (a *Client) ServiceBrokerAuthCallback(params *ServiceBrokerAuthCallbackParams, opts ...ClientOption) (*ServiceBrokerAuthCallbackOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthCallbackParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.callback", + Method: "GET", + PathPattern: "/auth/v1/callback", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthCallbackReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthCallbackOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.callback: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthDeviceCodePost requests a authorization device code +*/ +func (a *Client) ServiceBrokerAuthDeviceCodePost(params *ServiceBrokerAuthDeviceCodePostParams, opts ...ClientOption) (*ServiceBrokerAuthDeviceCodePostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthDeviceCodePostParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.device.code.post", + Method: "POST", + PathPattern: "/auth/v1/device/code", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthDeviceCodePostReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthDeviceCodePostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.device.code.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthDeviceTokenPost polls for authorization device token +*/ +func (a *Client) ServiceBrokerAuthDeviceTokenPost(params *ServiceBrokerAuthDeviceTokenPostParams, opts ...ClientOption) (*ServiceBrokerAuthDeviceTokenPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthDeviceTokenPostParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.device.token.post", + Method: "POST", + PathPattern: "/auth/v1/device/token", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthDeviceTokenPostReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthDeviceTokenPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.device.token.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthInfoToken information about current access token +*/ +func (a *Client) ServiceBrokerAuthInfoToken(params *ServiceBrokerAuthInfoTokenParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerAuthInfoTokenOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthInfoTokenParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.info.token", + Method: "GET", + PathPattern: "/auth/v1/info/token", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthInfoTokenReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthInfoTokenOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.info.token: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthInfoUser information about current user +*/ +func (a *Client) ServiceBrokerAuthInfoUser(params *ServiceBrokerAuthInfoUserParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerAuthInfoUserOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthInfoUserParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.info.user", + Method: "GET", + PathPattern: "/auth/v1/info/user", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthInfoUserReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthInfoUserOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.info.user: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthLogin logins +*/ +func (a *Client) ServiceBrokerAuthLogin(params *ServiceBrokerAuthLoginParams, opts ...ClientOption) (*ServiceBrokerAuthLoginOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthLoginParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.login", + Method: "GET", + PathPattern: "/auth/v1/login", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthLoginReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthLoginOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.login: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthLogout logouts +*/ +func (a *Client) ServiceBrokerAuthLogout(params *ServiceBrokerAuthLogoutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerAuthLogoutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthLogoutParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.logout", + Method: "GET", + PathPattern: "/auth/v1/logout", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthLogoutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthLogoutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.logout: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthRegistration registrations of a new tenant and login +*/ +func (a *Client) ServiceBrokerAuthRegistration(params *ServiceBrokerAuthRegistrationParams, opts ...ClientOption) (*ServiceBrokerAuthRegistrationOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthRegistrationParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.registration", + Method: "GET", + PathPattern: "/auth/v1/registration", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthRegistrationReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthRegistrationOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.registration: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthRegistrationCallback associates the user with a tenant and returns an access token +*/ +func (a *Client) ServiceBrokerAuthRegistrationCallback(params *ServiceBrokerAuthRegistrationCallbackParams, opts ...ClientOption) (*ServiceBrokerAuthRegistrationCallbackOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthRegistrationCallbackParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.registration.callback", + Method: "GET", + PathPattern: "/auth/v1/callback-registration", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthRegistrationCallbackReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthRegistrationCallbackOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.registration.callback: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerAuthTokenPost requests a new token from a refresh token +*/ +func (a *Client) ServiceBrokerAuthTokenPost(params *ServiceBrokerAuthTokenPostParams, opts ...ClientOption) (*ServiceBrokerAuthTokenPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerAuthTokenPostParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.auth.token.post", + Method: "POST", + PathPattern: "/auth/v1/token", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerAuthTokenPostReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerAuthTokenPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.auth.token.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_callback_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_callback_parameters.go new file mode 100644 index 000000000..3e884e286 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_callback_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerAuthCallbackParams creates a new ServiceBrokerAuthCallbackParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthCallbackParams() *ServiceBrokerAuthCallbackParams { + return &ServiceBrokerAuthCallbackParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthCallbackParamsWithTimeout creates a new ServiceBrokerAuthCallbackParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthCallbackParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthCallbackParams { + return &ServiceBrokerAuthCallbackParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthCallbackParamsWithContext creates a new ServiceBrokerAuthCallbackParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthCallbackParamsWithContext(ctx context.Context) *ServiceBrokerAuthCallbackParams { + return &ServiceBrokerAuthCallbackParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthCallbackParamsWithHTTPClient creates a new ServiceBrokerAuthCallbackParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthCallbackParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthCallbackParams { + return &ServiceBrokerAuthCallbackParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthCallbackParams contains all the parameters to send to the API endpoint + + for the service broker auth callback operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthCallbackParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth callback params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthCallbackParams) WithDefaults() *ServiceBrokerAuthCallbackParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth callback params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthCallbackParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth callback params +func (o *ServiceBrokerAuthCallbackParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthCallbackParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth callback params +func (o *ServiceBrokerAuthCallbackParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth callback params +func (o *ServiceBrokerAuthCallbackParams) WithContext(ctx context.Context) *ServiceBrokerAuthCallbackParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth callback params +func (o *ServiceBrokerAuthCallbackParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth callback params +func (o *ServiceBrokerAuthCallbackParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthCallbackParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth callback params +func (o *ServiceBrokerAuthCallbackParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthCallbackParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_callback_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_callback_responses.go new file mode 100644 index 000000000..1d46121a8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_callback_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthCallbackReader is a Reader for the ServiceBrokerAuthCallback structure. +type ServiceBrokerAuthCallbackReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthCallbackReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthCallbackOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthCallbackBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthCallbackUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthCallbackForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthCallbackNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthCallbackInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /auth/v1/callback] serviceBroker.auth.callback", response, response.Code()) + } +} + +// NewServiceBrokerAuthCallbackOK creates a ServiceBrokerAuthCallbackOK with default headers values +func NewServiceBrokerAuthCallbackOK() *ServiceBrokerAuthCallbackOK { + return &ServiceBrokerAuthCallbackOK{} +} + +/* +ServiceBrokerAuthCallbackOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthCallbackOK struct { + Payload *models.AccessToken +} + +// IsSuccess returns true when this service broker auth callback o k response has a 2xx status code +func (o *ServiceBrokerAuthCallbackOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth callback o k response has a 3xx status code +func (o *ServiceBrokerAuthCallbackOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth callback o k response has a 4xx status code +func (o *ServiceBrokerAuthCallbackOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth callback o k response has a 5xx status code +func (o *ServiceBrokerAuthCallbackOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth callback o k response a status code equal to that given +func (o *ServiceBrokerAuthCallbackOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth callback o k response +func (o *ServiceBrokerAuthCallbackOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthCallbackOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthCallbackOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthCallbackOK) GetPayload() *models.AccessToken { + return o.Payload +} + +func (o *ServiceBrokerAuthCallbackOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.AccessToken) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthCallbackBadRequest creates a ServiceBrokerAuthCallbackBadRequest with default headers values +func NewServiceBrokerAuthCallbackBadRequest() *ServiceBrokerAuthCallbackBadRequest { + return &ServiceBrokerAuthCallbackBadRequest{} +} + +/* +ServiceBrokerAuthCallbackBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthCallbackBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth callback bad request response has a 2xx status code +func (o *ServiceBrokerAuthCallbackBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth callback bad request response has a 3xx status code +func (o *ServiceBrokerAuthCallbackBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth callback bad request response has a 4xx status code +func (o *ServiceBrokerAuthCallbackBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth callback bad request response has a 5xx status code +func (o *ServiceBrokerAuthCallbackBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth callback bad request response a status code equal to that given +func (o *ServiceBrokerAuthCallbackBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth callback bad request response +func (o *ServiceBrokerAuthCallbackBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthCallbackBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthCallbackBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthCallbackBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthCallbackBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthCallbackUnauthorized creates a ServiceBrokerAuthCallbackUnauthorized with default headers values +func NewServiceBrokerAuthCallbackUnauthorized() *ServiceBrokerAuthCallbackUnauthorized { + return &ServiceBrokerAuthCallbackUnauthorized{} +} + +/* +ServiceBrokerAuthCallbackUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthCallbackUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth callback unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthCallbackUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth callback unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthCallbackUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth callback unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthCallbackUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth callback unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthCallbackUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth callback unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthCallbackUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth callback unauthorized response +func (o *ServiceBrokerAuthCallbackUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthCallbackUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthCallbackUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthCallbackUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthCallbackUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthCallbackForbidden creates a ServiceBrokerAuthCallbackForbidden with default headers values +func NewServiceBrokerAuthCallbackForbidden() *ServiceBrokerAuthCallbackForbidden { + return &ServiceBrokerAuthCallbackForbidden{} +} + +/* +ServiceBrokerAuthCallbackForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthCallbackForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth callback forbidden response has a 2xx status code +func (o *ServiceBrokerAuthCallbackForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth callback forbidden response has a 3xx status code +func (o *ServiceBrokerAuthCallbackForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth callback forbidden response has a 4xx status code +func (o *ServiceBrokerAuthCallbackForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth callback forbidden response has a 5xx status code +func (o *ServiceBrokerAuthCallbackForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth callback forbidden response a status code equal to that given +func (o *ServiceBrokerAuthCallbackForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth callback forbidden response +func (o *ServiceBrokerAuthCallbackForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthCallbackForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthCallbackForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthCallbackForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthCallbackForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthCallbackNotFound creates a ServiceBrokerAuthCallbackNotFound with default headers values +func NewServiceBrokerAuthCallbackNotFound() *ServiceBrokerAuthCallbackNotFound { + return &ServiceBrokerAuthCallbackNotFound{} +} + +/* +ServiceBrokerAuthCallbackNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthCallbackNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth callback not found response has a 2xx status code +func (o *ServiceBrokerAuthCallbackNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth callback not found response has a 3xx status code +func (o *ServiceBrokerAuthCallbackNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth callback not found response has a 4xx status code +func (o *ServiceBrokerAuthCallbackNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth callback not found response has a 5xx status code +func (o *ServiceBrokerAuthCallbackNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth callback not found response a status code equal to that given +func (o *ServiceBrokerAuthCallbackNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth callback not found response +func (o *ServiceBrokerAuthCallbackNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthCallbackNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthCallbackNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthCallbackNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthCallbackNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthCallbackInternalServerError creates a ServiceBrokerAuthCallbackInternalServerError with default headers values +func NewServiceBrokerAuthCallbackInternalServerError() *ServiceBrokerAuthCallbackInternalServerError { + return &ServiceBrokerAuthCallbackInternalServerError{} +} + +/* +ServiceBrokerAuthCallbackInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthCallbackInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth callback internal server error response has a 2xx status code +func (o *ServiceBrokerAuthCallbackInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth callback internal server error response has a 3xx status code +func (o *ServiceBrokerAuthCallbackInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth callback internal server error response has a 4xx status code +func (o *ServiceBrokerAuthCallbackInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth callback internal server error response has a 5xx status code +func (o *ServiceBrokerAuthCallbackInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth callback internal server error response a status code equal to that given +func (o *ServiceBrokerAuthCallbackInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth callback internal server error response +func (o *ServiceBrokerAuthCallbackInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthCallbackInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthCallbackInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback][%d] serviceBrokerAuthCallbackInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthCallbackInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthCallbackInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_code_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_code_post_parameters.go new file mode 100644 index 000000000..a6046d34c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_code_post_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerAuthDeviceCodePostParams creates a new ServiceBrokerAuthDeviceCodePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthDeviceCodePostParams() *ServiceBrokerAuthDeviceCodePostParams { + return &ServiceBrokerAuthDeviceCodePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthDeviceCodePostParamsWithTimeout creates a new ServiceBrokerAuthDeviceCodePostParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthDeviceCodePostParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthDeviceCodePostParams { + return &ServiceBrokerAuthDeviceCodePostParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthDeviceCodePostParamsWithContext creates a new ServiceBrokerAuthDeviceCodePostParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthDeviceCodePostParamsWithContext(ctx context.Context) *ServiceBrokerAuthDeviceCodePostParams { + return &ServiceBrokerAuthDeviceCodePostParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthDeviceCodePostParamsWithHTTPClient creates a new ServiceBrokerAuthDeviceCodePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthDeviceCodePostParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthDeviceCodePostParams { + return &ServiceBrokerAuthDeviceCodePostParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthDeviceCodePostParams contains all the parameters to send to the API endpoint + + for the service broker auth device code post operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthDeviceCodePostParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth device code post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthDeviceCodePostParams) WithDefaults() *ServiceBrokerAuthDeviceCodePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth device code post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthDeviceCodePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth device code post params +func (o *ServiceBrokerAuthDeviceCodePostParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthDeviceCodePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth device code post params +func (o *ServiceBrokerAuthDeviceCodePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth device code post params +func (o *ServiceBrokerAuthDeviceCodePostParams) WithContext(ctx context.Context) *ServiceBrokerAuthDeviceCodePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth device code post params +func (o *ServiceBrokerAuthDeviceCodePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth device code post params +func (o *ServiceBrokerAuthDeviceCodePostParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthDeviceCodePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth device code post params +func (o *ServiceBrokerAuthDeviceCodePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthDeviceCodePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_code_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_code_post_responses.go new file mode 100644 index 000000000..fd8b25086 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_code_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthDeviceCodePostReader is a Reader for the ServiceBrokerAuthDeviceCodePost structure. +type ServiceBrokerAuthDeviceCodePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthDeviceCodePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthDeviceCodePostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthDeviceCodePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthDeviceCodePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthDeviceCodePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthDeviceCodePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthDeviceCodePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /auth/v1/device/code] serviceBroker.auth.device.code.post", response, response.Code()) + } +} + +// NewServiceBrokerAuthDeviceCodePostOK creates a ServiceBrokerAuthDeviceCodePostOK with default headers values +func NewServiceBrokerAuthDeviceCodePostOK() *ServiceBrokerAuthDeviceCodePostOK { + return &ServiceBrokerAuthDeviceCodePostOK{} +} + +/* +ServiceBrokerAuthDeviceCodePostOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthDeviceCodePostOK struct { + Payload *models.DeviceCode +} + +// IsSuccess returns true when this service broker auth device code post o k response has a 2xx status code +func (o *ServiceBrokerAuthDeviceCodePostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth device code post o k response has a 3xx status code +func (o *ServiceBrokerAuthDeviceCodePostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device code post o k response has a 4xx status code +func (o *ServiceBrokerAuthDeviceCodePostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth device code post o k response has a 5xx status code +func (o *ServiceBrokerAuthDeviceCodePostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device code post o k response a status code equal to that given +func (o *ServiceBrokerAuthDeviceCodePostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth device code post o k response +func (o *ServiceBrokerAuthDeviceCodePostOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthDeviceCodePostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostOK) GetPayload() *models.DeviceCode { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceCodePostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.DeviceCode) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceCodePostBadRequest creates a ServiceBrokerAuthDeviceCodePostBadRequest with default headers values +func NewServiceBrokerAuthDeviceCodePostBadRequest() *ServiceBrokerAuthDeviceCodePostBadRequest { + return &ServiceBrokerAuthDeviceCodePostBadRequest{} +} + +/* +ServiceBrokerAuthDeviceCodePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthDeviceCodePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device code post bad request response has a 2xx status code +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device code post bad request response has a 3xx status code +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device code post bad request response has a 4xx status code +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device code post bad request response has a 5xx status code +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device code post bad request response a status code equal to that given +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth device code post bad request response +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceCodePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceCodePostUnauthorized creates a ServiceBrokerAuthDeviceCodePostUnauthorized with default headers values +func NewServiceBrokerAuthDeviceCodePostUnauthorized() *ServiceBrokerAuthDeviceCodePostUnauthorized { + return &ServiceBrokerAuthDeviceCodePostUnauthorized{} +} + +/* +ServiceBrokerAuthDeviceCodePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthDeviceCodePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device code post unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device code post unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device code post unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device code post unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device code post unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth device code post unauthorized response +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceCodePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceCodePostForbidden creates a ServiceBrokerAuthDeviceCodePostForbidden with default headers values +func NewServiceBrokerAuthDeviceCodePostForbidden() *ServiceBrokerAuthDeviceCodePostForbidden { + return &ServiceBrokerAuthDeviceCodePostForbidden{} +} + +/* +ServiceBrokerAuthDeviceCodePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthDeviceCodePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device code post forbidden response has a 2xx status code +func (o *ServiceBrokerAuthDeviceCodePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device code post forbidden response has a 3xx status code +func (o *ServiceBrokerAuthDeviceCodePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device code post forbidden response has a 4xx status code +func (o *ServiceBrokerAuthDeviceCodePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device code post forbidden response has a 5xx status code +func (o *ServiceBrokerAuthDeviceCodePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device code post forbidden response a status code equal to that given +func (o *ServiceBrokerAuthDeviceCodePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth device code post forbidden response +func (o *ServiceBrokerAuthDeviceCodePostForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthDeviceCodePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceCodePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceCodePostNotFound creates a ServiceBrokerAuthDeviceCodePostNotFound with default headers values +func NewServiceBrokerAuthDeviceCodePostNotFound() *ServiceBrokerAuthDeviceCodePostNotFound { + return &ServiceBrokerAuthDeviceCodePostNotFound{} +} + +/* +ServiceBrokerAuthDeviceCodePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthDeviceCodePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device code post not found response has a 2xx status code +func (o *ServiceBrokerAuthDeviceCodePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device code post not found response has a 3xx status code +func (o *ServiceBrokerAuthDeviceCodePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device code post not found response has a 4xx status code +func (o *ServiceBrokerAuthDeviceCodePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device code post not found response has a 5xx status code +func (o *ServiceBrokerAuthDeviceCodePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device code post not found response a status code equal to that given +func (o *ServiceBrokerAuthDeviceCodePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth device code post not found response +func (o *ServiceBrokerAuthDeviceCodePostNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthDeviceCodePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceCodePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceCodePostInternalServerError creates a ServiceBrokerAuthDeviceCodePostInternalServerError with default headers values +func NewServiceBrokerAuthDeviceCodePostInternalServerError() *ServiceBrokerAuthDeviceCodePostInternalServerError { + return &ServiceBrokerAuthDeviceCodePostInternalServerError{} +} + +/* +ServiceBrokerAuthDeviceCodePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthDeviceCodePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device code post internal server error response has a 2xx status code +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device code post internal server error response has a 3xx status code +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device code post internal server error response has a 4xx status code +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth device code post internal server error response has a 5xx status code +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth device code post internal server error response a status code equal to that given +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth device code post internal server error response +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/code][%d] serviceBrokerAuthDeviceCodePostInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceCodePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_token_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_token_post_parameters.go new file mode 100644 index 000000000..0d9bc3eac --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_token_post_parameters.go @@ -0,0 +1,149 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerAuthDeviceTokenPostParams creates a new ServiceBrokerAuthDeviceTokenPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthDeviceTokenPostParams() *ServiceBrokerAuthDeviceTokenPostParams { + return &ServiceBrokerAuthDeviceTokenPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthDeviceTokenPostParamsWithTimeout creates a new ServiceBrokerAuthDeviceTokenPostParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthDeviceTokenPostParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthDeviceTokenPostParams { + return &ServiceBrokerAuthDeviceTokenPostParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthDeviceTokenPostParamsWithContext creates a new ServiceBrokerAuthDeviceTokenPostParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthDeviceTokenPostParamsWithContext(ctx context.Context) *ServiceBrokerAuthDeviceTokenPostParams { + return &ServiceBrokerAuthDeviceTokenPostParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthDeviceTokenPostParamsWithHTTPClient creates a new ServiceBrokerAuthDeviceTokenPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthDeviceTokenPostParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthDeviceTokenPostParams { + return &ServiceBrokerAuthDeviceTokenPostParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthDeviceTokenPostParams contains all the parameters to send to the API endpoint + + for the service broker auth device token post operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthDeviceTokenPostParams struct { + + /* Body. + + Parameters for polling authorization device code + */ + Body ServiceBrokerAuthDeviceTokenPostBody + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth device token post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthDeviceTokenPostParams) WithDefaults() *ServiceBrokerAuthDeviceTokenPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth device token post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthDeviceTokenPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth device token post params +func (o *ServiceBrokerAuthDeviceTokenPostParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthDeviceTokenPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth device token post params +func (o *ServiceBrokerAuthDeviceTokenPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth device token post params +func (o *ServiceBrokerAuthDeviceTokenPostParams) WithContext(ctx context.Context) *ServiceBrokerAuthDeviceTokenPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth device token post params +func (o *ServiceBrokerAuthDeviceTokenPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth device token post params +func (o *ServiceBrokerAuthDeviceTokenPostParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthDeviceTokenPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth device token post params +func (o *ServiceBrokerAuthDeviceTokenPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the service broker auth device token post params +func (o *ServiceBrokerAuthDeviceTokenPostParams) WithBody(body ServiceBrokerAuthDeviceTokenPostBody) *ServiceBrokerAuthDeviceTokenPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the service broker auth device token post params +func (o *ServiceBrokerAuthDeviceTokenPostParams) SetBody(body ServiceBrokerAuthDeviceTokenPostBody) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthDeviceTokenPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_token_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_token_post_responses.go new file mode 100644 index 000000000..89c7e5da4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_device_token_post_responses.go @@ -0,0 +1,603 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthDeviceTokenPostReader is a Reader for the ServiceBrokerAuthDeviceTokenPost structure. +type ServiceBrokerAuthDeviceTokenPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthDeviceTokenPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthDeviceTokenPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthDeviceTokenPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthDeviceTokenPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthDeviceTokenPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthDeviceTokenPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewServiceBrokerAuthDeviceTokenPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthDeviceTokenPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /auth/v1/device/token] serviceBroker.auth.device.token.post", response, response.Code()) + } +} + +// NewServiceBrokerAuthDeviceTokenPostOK creates a ServiceBrokerAuthDeviceTokenPostOK with default headers values +func NewServiceBrokerAuthDeviceTokenPostOK() *ServiceBrokerAuthDeviceTokenPostOK { + return &ServiceBrokerAuthDeviceTokenPostOK{} +} + +/* +ServiceBrokerAuthDeviceTokenPostOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthDeviceTokenPostOK struct { + Payload *models.Token +} + +// IsSuccess returns true when this service broker auth device token post o k response has a 2xx status code +func (o *ServiceBrokerAuthDeviceTokenPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth device token post o k response has a 3xx status code +func (o *ServiceBrokerAuthDeviceTokenPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device token post o k response has a 4xx status code +func (o *ServiceBrokerAuthDeviceTokenPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth device token post o k response has a 5xx status code +func (o *ServiceBrokerAuthDeviceTokenPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device token post o k response a status code equal to that given +func (o *ServiceBrokerAuthDeviceTokenPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth device token post o k response +func (o *ServiceBrokerAuthDeviceTokenPostOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthDeviceTokenPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostOK) GetPayload() *models.Token { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceTokenPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Token) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceTokenPostBadRequest creates a ServiceBrokerAuthDeviceTokenPostBadRequest with default headers values +func NewServiceBrokerAuthDeviceTokenPostBadRequest() *ServiceBrokerAuthDeviceTokenPostBadRequest { + return &ServiceBrokerAuthDeviceTokenPostBadRequest{} +} + +/* +ServiceBrokerAuthDeviceTokenPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthDeviceTokenPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device token post bad request response has a 2xx status code +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device token post bad request response has a 3xx status code +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device token post bad request response has a 4xx status code +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device token post bad request response has a 5xx status code +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device token post bad request response a status code equal to that given +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth device token post bad request response +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceTokenPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceTokenPostUnauthorized creates a ServiceBrokerAuthDeviceTokenPostUnauthorized with default headers values +func NewServiceBrokerAuthDeviceTokenPostUnauthorized() *ServiceBrokerAuthDeviceTokenPostUnauthorized { + return &ServiceBrokerAuthDeviceTokenPostUnauthorized{} +} + +/* +ServiceBrokerAuthDeviceTokenPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthDeviceTokenPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device token post unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device token post unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device token post unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device token post unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device token post unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth device token post unauthorized response +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceTokenPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceTokenPostForbidden creates a ServiceBrokerAuthDeviceTokenPostForbidden with default headers values +func NewServiceBrokerAuthDeviceTokenPostForbidden() *ServiceBrokerAuthDeviceTokenPostForbidden { + return &ServiceBrokerAuthDeviceTokenPostForbidden{} +} + +/* +ServiceBrokerAuthDeviceTokenPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthDeviceTokenPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device token post forbidden response has a 2xx status code +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device token post forbidden response has a 3xx status code +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device token post forbidden response has a 4xx status code +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device token post forbidden response has a 5xx status code +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device token post forbidden response a status code equal to that given +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth device token post forbidden response +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceTokenPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceTokenPostNotFound creates a ServiceBrokerAuthDeviceTokenPostNotFound with default headers values +func NewServiceBrokerAuthDeviceTokenPostNotFound() *ServiceBrokerAuthDeviceTokenPostNotFound { + return &ServiceBrokerAuthDeviceTokenPostNotFound{} +} + +/* +ServiceBrokerAuthDeviceTokenPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthDeviceTokenPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device token post not found response has a 2xx status code +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device token post not found response has a 3xx status code +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device token post not found response has a 4xx status code +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device token post not found response has a 5xx status code +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device token post not found response a status code equal to that given +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth device token post not found response +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceTokenPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceTokenPostTooManyRequests creates a ServiceBrokerAuthDeviceTokenPostTooManyRequests with default headers values +func NewServiceBrokerAuthDeviceTokenPostTooManyRequests() *ServiceBrokerAuthDeviceTokenPostTooManyRequests { + return &ServiceBrokerAuthDeviceTokenPostTooManyRequests{} +} + +/* +ServiceBrokerAuthDeviceTokenPostTooManyRequests describes a response with status code 429, with default header values. + +Polling too frequently +*/ +type ServiceBrokerAuthDeviceTokenPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device token post too many requests response has a 2xx status code +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device token post too many requests response has a 3xx status code +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device token post too many requests response has a 4xx status code +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth device token post too many requests response has a 5xx status code +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth device token post too many requests response a status code equal to that given +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the service broker auth device token post too many requests response +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) Code() int { + return 429 +} + +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostTooManyRequests %s", 429, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostTooManyRequests %s", 429, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceTokenPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthDeviceTokenPostInternalServerError creates a ServiceBrokerAuthDeviceTokenPostInternalServerError with default headers values +func NewServiceBrokerAuthDeviceTokenPostInternalServerError() *ServiceBrokerAuthDeviceTokenPostInternalServerError { + return &ServiceBrokerAuthDeviceTokenPostInternalServerError{} +} + +/* +ServiceBrokerAuthDeviceTokenPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthDeviceTokenPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth device token post internal server error response has a 2xx status code +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth device token post internal server error response has a 3xx status code +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth device token post internal server error response has a 4xx status code +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth device token post internal server error response has a 5xx status code +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth device token post internal server error response a status code equal to that given +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth device token post internal server error response +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/device/token][%d] serviceBrokerAuthDeviceTokenPostInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthDeviceTokenPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +/* +ServiceBrokerAuthDeviceTokenPostBody service broker auth device token post body +swagger:model ServiceBrokerAuthDeviceTokenPostBody +*/ +type ServiceBrokerAuthDeviceTokenPostBody struct { + + // The deviceCode that the authorization server returned + DeviceCode string `json:"deviceCode,omitempty"` +} + +// Validate validates this service broker auth device token post body +func (o *ServiceBrokerAuthDeviceTokenPostBody) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this service broker auth device token post body based on context it is used +func (o *ServiceBrokerAuthDeviceTokenPostBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (o *ServiceBrokerAuthDeviceTokenPostBody) MarshalBinary() ([]byte, error) { + if o == nil { + return nil, nil + } + return swag.WriteJSON(o) +} + +// UnmarshalBinary interface implementation +func (o *ServiceBrokerAuthDeviceTokenPostBody) UnmarshalBinary(b []byte) error { + var res ServiceBrokerAuthDeviceTokenPostBody + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *o = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_token_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_token_parameters.go new file mode 100644 index 000000000..33c025cea --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_token_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerAuthInfoTokenParams creates a new ServiceBrokerAuthInfoTokenParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthInfoTokenParams() *ServiceBrokerAuthInfoTokenParams { + return &ServiceBrokerAuthInfoTokenParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthInfoTokenParamsWithTimeout creates a new ServiceBrokerAuthInfoTokenParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthInfoTokenParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthInfoTokenParams { + return &ServiceBrokerAuthInfoTokenParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthInfoTokenParamsWithContext creates a new ServiceBrokerAuthInfoTokenParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthInfoTokenParamsWithContext(ctx context.Context) *ServiceBrokerAuthInfoTokenParams { + return &ServiceBrokerAuthInfoTokenParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthInfoTokenParamsWithHTTPClient creates a new ServiceBrokerAuthInfoTokenParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthInfoTokenParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthInfoTokenParams { + return &ServiceBrokerAuthInfoTokenParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthInfoTokenParams contains all the parameters to send to the API endpoint + + for the service broker auth info token operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthInfoTokenParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth info token params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthInfoTokenParams) WithDefaults() *ServiceBrokerAuthInfoTokenParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth info token params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthInfoTokenParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth info token params +func (o *ServiceBrokerAuthInfoTokenParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthInfoTokenParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth info token params +func (o *ServiceBrokerAuthInfoTokenParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth info token params +func (o *ServiceBrokerAuthInfoTokenParams) WithContext(ctx context.Context) *ServiceBrokerAuthInfoTokenParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth info token params +func (o *ServiceBrokerAuthInfoTokenParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth info token params +func (o *ServiceBrokerAuthInfoTokenParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthInfoTokenParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth info token params +func (o *ServiceBrokerAuthInfoTokenParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthInfoTokenParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_token_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_token_responses.go new file mode 100644 index 000000000..9ea15536a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_token_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthInfoTokenReader is a Reader for the ServiceBrokerAuthInfoToken structure. +type ServiceBrokerAuthInfoTokenReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthInfoTokenReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthInfoTokenOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthInfoTokenBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthInfoTokenUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthInfoTokenForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthInfoTokenNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthInfoTokenInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /auth/v1/info/token] serviceBroker.auth.info.token", response, response.Code()) + } +} + +// NewServiceBrokerAuthInfoTokenOK creates a ServiceBrokerAuthInfoTokenOK with default headers values +func NewServiceBrokerAuthInfoTokenOK() *ServiceBrokerAuthInfoTokenOK { + return &ServiceBrokerAuthInfoTokenOK{} +} + +/* +ServiceBrokerAuthInfoTokenOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthInfoTokenOK struct { + Payload *models.TokenExtra +} + +// IsSuccess returns true when this service broker auth info token o k response has a 2xx status code +func (o *ServiceBrokerAuthInfoTokenOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth info token o k response has a 3xx status code +func (o *ServiceBrokerAuthInfoTokenOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info token o k response has a 4xx status code +func (o *ServiceBrokerAuthInfoTokenOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth info token o k response has a 5xx status code +func (o *ServiceBrokerAuthInfoTokenOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info token o k response a status code equal to that given +func (o *ServiceBrokerAuthInfoTokenOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth info token o k response +func (o *ServiceBrokerAuthInfoTokenOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthInfoTokenOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthInfoTokenOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthInfoTokenOK) GetPayload() *models.TokenExtra { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoTokenOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.TokenExtra) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoTokenBadRequest creates a ServiceBrokerAuthInfoTokenBadRequest with default headers values +func NewServiceBrokerAuthInfoTokenBadRequest() *ServiceBrokerAuthInfoTokenBadRequest { + return &ServiceBrokerAuthInfoTokenBadRequest{} +} + +/* +ServiceBrokerAuthInfoTokenBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthInfoTokenBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info token bad request response has a 2xx status code +func (o *ServiceBrokerAuthInfoTokenBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info token bad request response has a 3xx status code +func (o *ServiceBrokerAuthInfoTokenBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info token bad request response has a 4xx status code +func (o *ServiceBrokerAuthInfoTokenBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth info token bad request response has a 5xx status code +func (o *ServiceBrokerAuthInfoTokenBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info token bad request response a status code equal to that given +func (o *ServiceBrokerAuthInfoTokenBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth info token bad request response +func (o *ServiceBrokerAuthInfoTokenBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthInfoTokenBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthInfoTokenBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthInfoTokenBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoTokenBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoTokenUnauthorized creates a ServiceBrokerAuthInfoTokenUnauthorized with default headers values +func NewServiceBrokerAuthInfoTokenUnauthorized() *ServiceBrokerAuthInfoTokenUnauthorized { + return &ServiceBrokerAuthInfoTokenUnauthorized{} +} + +/* +ServiceBrokerAuthInfoTokenUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthInfoTokenUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info token unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthInfoTokenUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info token unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthInfoTokenUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info token unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthInfoTokenUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth info token unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthInfoTokenUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info token unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthInfoTokenUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth info token unauthorized response +func (o *ServiceBrokerAuthInfoTokenUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthInfoTokenUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthInfoTokenUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthInfoTokenUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoTokenUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoTokenForbidden creates a ServiceBrokerAuthInfoTokenForbidden with default headers values +func NewServiceBrokerAuthInfoTokenForbidden() *ServiceBrokerAuthInfoTokenForbidden { + return &ServiceBrokerAuthInfoTokenForbidden{} +} + +/* +ServiceBrokerAuthInfoTokenForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthInfoTokenForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info token forbidden response has a 2xx status code +func (o *ServiceBrokerAuthInfoTokenForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info token forbidden response has a 3xx status code +func (o *ServiceBrokerAuthInfoTokenForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info token forbidden response has a 4xx status code +func (o *ServiceBrokerAuthInfoTokenForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth info token forbidden response has a 5xx status code +func (o *ServiceBrokerAuthInfoTokenForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info token forbidden response a status code equal to that given +func (o *ServiceBrokerAuthInfoTokenForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth info token forbidden response +func (o *ServiceBrokerAuthInfoTokenForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthInfoTokenForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthInfoTokenForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthInfoTokenForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoTokenForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoTokenNotFound creates a ServiceBrokerAuthInfoTokenNotFound with default headers values +func NewServiceBrokerAuthInfoTokenNotFound() *ServiceBrokerAuthInfoTokenNotFound { + return &ServiceBrokerAuthInfoTokenNotFound{} +} + +/* +ServiceBrokerAuthInfoTokenNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthInfoTokenNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info token not found response has a 2xx status code +func (o *ServiceBrokerAuthInfoTokenNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info token not found response has a 3xx status code +func (o *ServiceBrokerAuthInfoTokenNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info token not found response has a 4xx status code +func (o *ServiceBrokerAuthInfoTokenNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth info token not found response has a 5xx status code +func (o *ServiceBrokerAuthInfoTokenNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info token not found response a status code equal to that given +func (o *ServiceBrokerAuthInfoTokenNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth info token not found response +func (o *ServiceBrokerAuthInfoTokenNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthInfoTokenNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthInfoTokenNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthInfoTokenNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoTokenNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoTokenInternalServerError creates a ServiceBrokerAuthInfoTokenInternalServerError with default headers values +func NewServiceBrokerAuthInfoTokenInternalServerError() *ServiceBrokerAuthInfoTokenInternalServerError { + return &ServiceBrokerAuthInfoTokenInternalServerError{} +} + +/* +ServiceBrokerAuthInfoTokenInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthInfoTokenInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info token internal server error response has a 2xx status code +func (o *ServiceBrokerAuthInfoTokenInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info token internal server error response has a 3xx status code +func (o *ServiceBrokerAuthInfoTokenInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info token internal server error response has a 4xx status code +func (o *ServiceBrokerAuthInfoTokenInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth info token internal server error response has a 5xx status code +func (o *ServiceBrokerAuthInfoTokenInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth info token internal server error response a status code equal to that given +func (o *ServiceBrokerAuthInfoTokenInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth info token internal server error response +func (o *ServiceBrokerAuthInfoTokenInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthInfoTokenInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthInfoTokenInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/token][%d] serviceBrokerAuthInfoTokenInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthInfoTokenInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoTokenInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_user_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_user_parameters.go new file mode 100644 index 000000000..ce2d0697d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_user_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerAuthInfoUserParams creates a new ServiceBrokerAuthInfoUserParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthInfoUserParams() *ServiceBrokerAuthInfoUserParams { + return &ServiceBrokerAuthInfoUserParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthInfoUserParamsWithTimeout creates a new ServiceBrokerAuthInfoUserParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthInfoUserParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthInfoUserParams { + return &ServiceBrokerAuthInfoUserParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthInfoUserParamsWithContext creates a new ServiceBrokerAuthInfoUserParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthInfoUserParamsWithContext(ctx context.Context) *ServiceBrokerAuthInfoUserParams { + return &ServiceBrokerAuthInfoUserParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthInfoUserParamsWithHTTPClient creates a new ServiceBrokerAuthInfoUserParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthInfoUserParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthInfoUserParams { + return &ServiceBrokerAuthInfoUserParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthInfoUserParams contains all the parameters to send to the API endpoint + + for the service broker auth info user operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthInfoUserParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth info user params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthInfoUserParams) WithDefaults() *ServiceBrokerAuthInfoUserParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth info user params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthInfoUserParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth info user params +func (o *ServiceBrokerAuthInfoUserParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthInfoUserParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth info user params +func (o *ServiceBrokerAuthInfoUserParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth info user params +func (o *ServiceBrokerAuthInfoUserParams) WithContext(ctx context.Context) *ServiceBrokerAuthInfoUserParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth info user params +func (o *ServiceBrokerAuthInfoUserParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth info user params +func (o *ServiceBrokerAuthInfoUserParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthInfoUserParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth info user params +func (o *ServiceBrokerAuthInfoUserParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthInfoUserParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_user_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_user_responses.go new file mode 100644 index 000000000..c5a39d26d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_info_user_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthInfoUserReader is a Reader for the ServiceBrokerAuthInfoUser structure. +type ServiceBrokerAuthInfoUserReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthInfoUserReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthInfoUserOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthInfoUserBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthInfoUserUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthInfoUserForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthInfoUserNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthInfoUserInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /auth/v1/info/user] serviceBroker.auth.info.user", response, response.Code()) + } +} + +// NewServiceBrokerAuthInfoUserOK creates a ServiceBrokerAuthInfoUserOK with default headers values +func NewServiceBrokerAuthInfoUserOK() *ServiceBrokerAuthInfoUserOK { + return &ServiceBrokerAuthInfoUserOK{} +} + +/* +ServiceBrokerAuthInfoUserOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthInfoUserOK struct { + Payload *models.UserInfo +} + +// IsSuccess returns true when this service broker auth info user o k response has a 2xx status code +func (o *ServiceBrokerAuthInfoUserOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth info user o k response has a 3xx status code +func (o *ServiceBrokerAuthInfoUserOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info user o k response has a 4xx status code +func (o *ServiceBrokerAuthInfoUserOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth info user o k response has a 5xx status code +func (o *ServiceBrokerAuthInfoUserOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info user o k response a status code equal to that given +func (o *ServiceBrokerAuthInfoUserOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth info user o k response +func (o *ServiceBrokerAuthInfoUserOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthInfoUserOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthInfoUserOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthInfoUserOK) GetPayload() *models.UserInfo { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoUserOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.UserInfo) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoUserBadRequest creates a ServiceBrokerAuthInfoUserBadRequest with default headers values +func NewServiceBrokerAuthInfoUserBadRequest() *ServiceBrokerAuthInfoUserBadRequest { + return &ServiceBrokerAuthInfoUserBadRequest{} +} + +/* +ServiceBrokerAuthInfoUserBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthInfoUserBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info user bad request response has a 2xx status code +func (o *ServiceBrokerAuthInfoUserBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info user bad request response has a 3xx status code +func (o *ServiceBrokerAuthInfoUserBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info user bad request response has a 4xx status code +func (o *ServiceBrokerAuthInfoUserBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth info user bad request response has a 5xx status code +func (o *ServiceBrokerAuthInfoUserBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info user bad request response a status code equal to that given +func (o *ServiceBrokerAuthInfoUserBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth info user bad request response +func (o *ServiceBrokerAuthInfoUserBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthInfoUserBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthInfoUserBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthInfoUserBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoUserBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoUserUnauthorized creates a ServiceBrokerAuthInfoUserUnauthorized with default headers values +func NewServiceBrokerAuthInfoUserUnauthorized() *ServiceBrokerAuthInfoUserUnauthorized { + return &ServiceBrokerAuthInfoUserUnauthorized{} +} + +/* +ServiceBrokerAuthInfoUserUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthInfoUserUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info user unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthInfoUserUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info user unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthInfoUserUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info user unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthInfoUserUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth info user unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthInfoUserUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info user unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthInfoUserUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth info user unauthorized response +func (o *ServiceBrokerAuthInfoUserUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthInfoUserUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthInfoUserUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthInfoUserUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoUserUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoUserForbidden creates a ServiceBrokerAuthInfoUserForbidden with default headers values +func NewServiceBrokerAuthInfoUserForbidden() *ServiceBrokerAuthInfoUserForbidden { + return &ServiceBrokerAuthInfoUserForbidden{} +} + +/* +ServiceBrokerAuthInfoUserForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthInfoUserForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info user forbidden response has a 2xx status code +func (o *ServiceBrokerAuthInfoUserForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info user forbidden response has a 3xx status code +func (o *ServiceBrokerAuthInfoUserForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info user forbidden response has a 4xx status code +func (o *ServiceBrokerAuthInfoUserForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth info user forbidden response has a 5xx status code +func (o *ServiceBrokerAuthInfoUserForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info user forbidden response a status code equal to that given +func (o *ServiceBrokerAuthInfoUserForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth info user forbidden response +func (o *ServiceBrokerAuthInfoUserForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthInfoUserForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthInfoUserForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthInfoUserForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoUserForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoUserNotFound creates a ServiceBrokerAuthInfoUserNotFound with default headers values +func NewServiceBrokerAuthInfoUserNotFound() *ServiceBrokerAuthInfoUserNotFound { + return &ServiceBrokerAuthInfoUserNotFound{} +} + +/* +ServiceBrokerAuthInfoUserNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthInfoUserNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info user not found response has a 2xx status code +func (o *ServiceBrokerAuthInfoUserNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info user not found response has a 3xx status code +func (o *ServiceBrokerAuthInfoUserNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info user not found response has a 4xx status code +func (o *ServiceBrokerAuthInfoUserNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth info user not found response has a 5xx status code +func (o *ServiceBrokerAuthInfoUserNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth info user not found response a status code equal to that given +func (o *ServiceBrokerAuthInfoUserNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth info user not found response +func (o *ServiceBrokerAuthInfoUserNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthInfoUserNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthInfoUserNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthInfoUserNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoUserNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthInfoUserInternalServerError creates a ServiceBrokerAuthInfoUserInternalServerError with default headers values +func NewServiceBrokerAuthInfoUserInternalServerError() *ServiceBrokerAuthInfoUserInternalServerError { + return &ServiceBrokerAuthInfoUserInternalServerError{} +} + +/* +ServiceBrokerAuthInfoUserInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthInfoUserInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth info user internal server error response has a 2xx status code +func (o *ServiceBrokerAuthInfoUserInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth info user internal server error response has a 3xx status code +func (o *ServiceBrokerAuthInfoUserInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth info user internal server error response has a 4xx status code +func (o *ServiceBrokerAuthInfoUserInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth info user internal server error response has a 5xx status code +func (o *ServiceBrokerAuthInfoUserInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth info user internal server error response a status code equal to that given +func (o *ServiceBrokerAuthInfoUserInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth info user internal server error response +func (o *ServiceBrokerAuthInfoUserInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthInfoUserInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthInfoUserInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/info/user][%d] serviceBrokerAuthInfoUserInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthInfoUserInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthInfoUserInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_login_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_login_parameters.go new file mode 100644 index 000000000..9d582be1c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_login_parameters.go @@ -0,0 +1,244 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerAuthLoginParams creates a new ServiceBrokerAuthLoginParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthLoginParams() *ServiceBrokerAuthLoginParams { + return &ServiceBrokerAuthLoginParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthLoginParamsWithTimeout creates a new ServiceBrokerAuthLoginParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthLoginParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthLoginParams { + return &ServiceBrokerAuthLoginParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthLoginParamsWithContext creates a new ServiceBrokerAuthLoginParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthLoginParamsWithContext(ctx context.Context) *ServiceBrokerAuthLoginParams { + return &ServiceBrokerAuthLoginParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthLoginParamsWithHTTPClient creates a new ServiceBrokerAuthLoginParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthLoginParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthLoginParams { + return &ServiceBrokerAuthLoginParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthLoginParams contains all the parameters to send to the API endpoint + + for the service broker auth login operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthLoginParams struct { + + /* AccessType. + + Determines if a refresh token is returned + + Default: "online" + */ + AccessType *string + + /* RedirectURL. + + The URL to redirect to after login/registration + */ + RedirectURL *string + + /* UserID. + + The user id of the user + */ + UserID *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth login params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthLoginParams) WithDefaults() *ServiceBrokerAuthLoginParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth login params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthLoginParams) SetDefaults() { + var ( + accessTypeDefault = string("online") + ) + + val := ServiceBrokerAuthLoginParams{ + AccessType: &accessTypeDefault, + } + + val.timeout = o.timeout + val.Context = o.Context + val.HTTPClient = o.HTTPClient + *o = val +} + +// WithTimeout adds the timeout to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthLoginParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) WithContext(ctx context.Context) *ServiceBrokerAuthLoginParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthLoginParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAccessType adds the accessType to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) WithAccessType(accessType *string) *ServiceBrokerAuthLoginParams { + o.SetAccessType(accessType) + return o +} + +// SetAccessType adds the accessType to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) SetAccessType(accessType *string) { + o.AccessType = accessType +} + +// WithRedirectURL adds the redirectURL to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) WithRedirectURL(redirectURL *string) *ServiceBrokerAuthLoginParams { + o.SetRedirectURL(redirectURL) + return o +} + +// SetRedirectURL adds the redirectUrl to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) SetRedirectURL(redirectURL *string) { + o.RedirectURL = redirectURL +} + +// WithUserID adds the userID to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) WithUserID(userID *string) *ServiceBrokerAuthLoginParams { + o.SetUserID(userID) + return o +} + +// SetUserID adds the userId to the service broker auth login params +func (o *ServiceBrokerAuthLoginParams) SetUserID(userID *string) { + o.UserID = userID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthLoginParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.AccessType != nil { + + // query param access_type + var qrAccessType string + + if o.AccessType != nil { + qrAccessType = *o.AccessType + } + qAccessType := qrAccessType + if qAccessType != "" { + + if err := r.SetQueryParam("access_type", qAccessType); err != nil { + return err + } + } + } + + if o.RedirectURL != nil { + + // query param redirect_url + var qrRedirectURL string + + if o.RedirectURL != nil { + qrRedirectURL = *o.RedirectURL + } + qRedirectURL := qrRedirectURL + if qRedirectURL != "" { + + if err := r.SetQueryParam("redirect_url", qRedirectURL); err != nil { + return err + } + } + } + + if o.UserID != nil { + + // query param user_id + var qrUserID string + + if o.UserID != nil { + qrUserID = *o.UserID + } + qUserID := qrUserID + if qUserID != "" { + + if err := r.SetQueryParam("user_id", qUserID); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_login_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_login_responses.go new file mode 100644 index 000000000..48f0ba14c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_login_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthLoginReader is a Reader for the ServiceBrokerAuthLogin structure. +type ServiceBrokerAuthLoginReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthLoginReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthLoginOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthLoginBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthLoginUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthLoginForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthLoginNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthLoginInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /auth/v1/login] serviceBroker.auth.login", response, response.Code()) + } +} + +// NewServiceBrokerAuthLoginOK creates a ServiceBrokerAuthLoginOK with default headers values +func NewServiceBrokerAuthLoginOK() *ServiceBrokerAuthLoginOK { + return &ServiceBrokerAuthLoginOK{} +} + +/* +ServiceBrokerAuthLoginOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthLoginOK struct { + Payload *models.AccessToken +} + +// IsSuccess returns true when this service broker auth login o k response has a 2xx status code +func (o *ServiceBrokerAuthLoginOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth login o k response has a 3xx status code +func (o *ServiceBrokerAuthLoginOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth login o k response has a 4xx status code +func (o *ServiceBrokerAuthLoginOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth login o k response has a 5xx status code +func (o *ServiceBrokerAuthLoginOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth login o k response a status code equal to that given +func (o *ServiceBrokerAuthLoginOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth login o k response +func (o *ServiceBrokerAuthLoginOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthLoginOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthLoginOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthLoginOK) GetPayload() *models.AccessToken { + return o.Payload +} + +func (o *ServiceBrokerAuthLoginOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.AccessToken) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLoginBadRequest creates a ServiceBrokerAuthLoginBadRequest with default headers values +func NewServiceBrokerAuthLoginBadRequest() *ServiceBrokerAuthLoginBadRequest { + return &ServiceBrokerAuthLoginBadRequest{} +} + +/* +ServiceBrokerAuthLoginBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthLoginBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth login bad request response has a 2xx status code +func (o *ServiceBrokerAuthLoginBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth login bad request response has a 3xx status code +func (o *ServiceBrokerAuthLoginBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth login bad request response has a 4xx status code +func (o *ServiceBrokerAuthLoginBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth login bad request response has a 5xx status code +func (o *ServiceBrokerAuthLoginBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth login bad request response a status code equal to that given +func (o *ServiceBrokerAuthLoginBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth login bad request response +func (o *ServiceBrokerAuthLoginBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthLoginBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthLoginBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthLoginBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLoginBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLoginUnauthorized creates a ServiceBrokerAuthLoginUnauthorized with default headers values +func NewServiceBrokerAuthLoginUnauthorized() *ServiceBrokerAuthLoginUnauthorized { + return &ServiceBrokerAuthLoginUnauthorized{} +} + +/* +ServiceBrokerAuthLoginUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthLoginUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth login unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthLoginUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth login unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthLoginUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth login unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthLoginUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth login unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthLoginUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth login unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthLoginUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth login unauthorized response +func (o *ServiceBrokerAuthLoginUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthLoginUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthLoginUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthLoginUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLoginUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLoginForbidden creates a ServiceBrokerAuthLoginForbidden with default headers values +func NewServiceBrokerAuthLoginForbidden() *ServiceBrokerAuthLoginForbidden { + return &ServiceBrokerAuthLoginForbidden{} +} + +/* +ServiceBrokerAuthLoginForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthLoginForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth login forbidden response has a 2xx status code +func (o *ServiceBrokerAuthLoginForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth login forbidden response has a 3xx status code +func (o *ServiceBrokerAuthLoginForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth login forbidden response has a 4xx status code +func (o *ServiceBrokerAuthLoginForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth login forbidden response has a 5xx status code +func (o *ServiceBrokerAuthLoginForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth login forbidden response a status code equal to that given +func (o *ServiceBrokerAuthLoginForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth login forbidden response +func (o *ServiceBrokerAuthLoginForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthLoginForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthLoginForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthLoginForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLoginForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLoginNotFound creates a ServiceBrokerAuthLoginNotFound with default headers values +func NewServiceBrokerAuthLoginNotFound() *ServiceBrokerAuthLoginNotFound { + return &ServiceBrokerAuthLoginNotFound{} +} + +/* +ServiceBrokerAuthLoginNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthLoginNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth login not found response has a 2xx status code +func (o *ServiceBrokerAuthLoginNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth login not found response has a 3xx status code +func (o *ServiceBrokerAuthLoginNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth login not found response has a 4xx status code +func (o *ServiceBrokerAuthLoginNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth login not found response has a 5xx status code +func (o *ServiceBrokerAuthLoginNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth login not found response a status code equal to that given +func (o *ServiceBrokerAuthLoginNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth login not found response +func (o *ServiceBrokerAuthLoginNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthLoginNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthLoginNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthLoginNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLoginNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLoginInternalServerError creates a ServiceBrokerAuthLoginInternalServerError with default headers values +func NewServiceBrokerAuthLoginInternalServerError() *ServiceBrokerAuthLoginInternalServerError { + return &ServiceBrokerAuthLoginInternalServerError{} +} + +/* +ServiceBrokerAuthLoginInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthLoginInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth login internal server error response has a 2xx status code +func (o *ServiceBrokerAuthLoginInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth login internal server error response has a 3xx status code +func (o *ServiceBrokerAuthLoginInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth login internal server error response has a 4xx status code +func (o *ServiceBrokerAuthLoginInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth login internal server error response has a 5xx status code +func (o *ServiceBrokerAuthLoginInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth login internal server error response a status code equal to that given +func (o *ServiceBrokerAuthLoginInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth login internal server error response +func (o *ServiceBrokerAuthLoginInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthLoginInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthLoginInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/login][%d] serviceBrokerAuthLoginInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthLoginInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLoginInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_logout_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_logout_parameters.go new file mode 100644 index 000000000..ba95ff8be --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_logout_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerAuthLogoutParams creates a new ServiceBrokerAuthLogoutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthLogoutParams() *ServiceBrokerAuthLogoutParams { + return &ServiceBrokerAuthLogoutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthLogoutParamsWithTimeout creates a new ServiceBrokerAuthLogoutParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthLogoutParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthLogoutParams { + return &ServiceBrokerAuthLogoutParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthLogoutParamsWithContext creates a new ServiceBrokerAuthLogoutParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthLogoutParamsWithContext(ctx context.Context) *ServiceBrokerAuthLogoutParams { + return &ServiceBrokerAuthLogoutParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthLogoutParamsWithHTTPClient creates a new ServiceBrokerAuthLogoutParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthLogoutParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthLogoutParams { + return &ServiceBrokerAuthLogoutParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthLogoutParams contains all the parameters to send to the API endpoint + + for the service broker auth logout operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthLogoutParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth logout params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthLogoutParams) WithDefaults() *ServiceBrokerAuthLogoutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth logout params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthLogoutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth logout params +func (o *ServiceBrokerAuthLogoutParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthLogoutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth logout params +func (o *ServiceBrokerAuthLogoutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth logout params +func (o *ServiceBrokerAuthLogoutParams) WithContext(ctx context.Context) *ServiceBrokerAuthLogoutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth logout params +func (o *ServiceBrokerAuthLogoutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth logout params +func (o *ServiceBrokerAuthLogoutParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthLogoutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth logout params +func (o *ServiceBrokerAuthLogoutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthLogoutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_logout_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_logout_responses.go new file mode 100644 index 000000000..46e41a57e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_logout_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthLogoutReader is a Reader for the ServiceBrokerAuthLogout structure. +type ServiceBrokerAuthLogoutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthLogoutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthLogoutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthLogoutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthLogoutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthLogoutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthLogoutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthLogoutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /auth/v1/logout] serviceBroker.auth.logout", response, response.Code()) + } +} + +// NewServiceBrokerAuthLogoutOK creates a ServiceBrokerAuthLogoutOK with default headers values +func NewServiceBrokerAuthLogoutOK() *ServiceBrokerAuthLogoutOK { + return &ServiceBrokerAuthLogoutOK{} +} + +/* +ServiceBrokerAuthLogoutOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthLogoutOK struct { + Payload models.Object +} + +// IsSuccess returns true when this service broker auth logout o k response has a 2xx status code +func (o *ServiceBrokerAuthLogoutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth logout o k response has a 3xx status code +func (o *ServiceBrokerAuthLogoutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth logout o k response has a 4xx status code +func (o *ServiceBrokerAuthLogoutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth logout o k response has a 5xx status code +func (o *ServiceBrokerAuthLogoutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth logout o k response a status code equal to that given +func (o *ServiceBrokerAuthLogoutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth logout o k response +func (o *ServiceBrokerAuthLogoutOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthLogoutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthLogoutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthLogoutOK) GetPayload() models.Object { + return o.Payload +} + +func (o *ServiceBrokerAuthLogoutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLogoutBadRequest creates a ServiceBrokerAuthLogoutBadRequest with default headers values +func NewServiceBrokerAuthLogoutBadRequest() *ServiceBrokerAuthLogoutBadRequest { + return &ServiceBrokerAuthLogoutBadRequest{} +} + +/* +ServiceBrokerAuthLogoutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthLogoutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth logout bad request response has a 2xx status code +func (o *ServiceBrokerAuthLogoutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth logout bad request response has a 3xx status code +func (o *ServiceBrokerAuthLogoutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth logout bad request response has a 4xx status code +func (o *ServiceBrokerAuthLogoutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth logout bad request response has a 5xx status code +func (o *ServiceBrokerAuthLogoutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth logout bad request response a status code equal to that given +func (o *ServiceBrokerAuthLogoutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth logout bad request response +func (o *ServiceBrokerAuthLogoutBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthLogoutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthLogoutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthLogoutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLogoutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLogoutUnauthorized creates a ServiceBrokerAuthLogoutUnauthorized with default headers values +func NewServiceBrokerAuthLogoutUnauthorized() *ServiceBrokerAuthLogoutUnauthorized { + return &ServiceBrokerAuthLogoutUnauthorized{} +} + +/* +ServiceBrokerAuthLogoutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthLogoutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth logout unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthLogoutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth logout unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthLogoutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth logout unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthLogoutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth logout unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthLogoutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth logout unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthLogoutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth logout unauthorized response +func (o *ServiceBrokerAuthLogoutUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthLogoutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthLogoutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthLogoutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLogoutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLogoutForbidden creates a ServiceBrokerAuthLogoutForbidden with default headers values +func NewServiceBrokerAuthLogoutForbidden() *ServiceBrokerAuthLogoutForbidden { + return &ServiceBrokerAuthLogoutForbidden{} +} + +/* +ServiceBrokerAuthLogoutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthLogoutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth logout forbidden response has a 2xx status code +func (o *ServiceBrokerAuthLogoutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth logout forbidden response has a 3xx status code +func (o *ServiceBrokerAuthLogoutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth logout forbidden response has a 4xx status code +func (o *ServiceBrokerAuthLogoutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth logout forbidden response has a 5xx status code +func (o *ServiceBrokerAuthLogoutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth logout forbidden response a status code equal to that given +func (o *ServiceBrokerAuthLogoutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth logout forbidden response +func (o *ServiceBrokerAuthLogoutForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthLogoutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthLogoutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthLogoutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLogoutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLogoutNotFound creates a ServiceBrokerAuthLogoutNotFound with default headers values +func NewServiceBrokerAuthLogoutNotFound() *ServiceBrokerAuthLogoutNotFound { + return &ServiceBrokerAuthLogoutNotFound{} +} + +/* +ServiceBrokerAuthLogoutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthLogoutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth logout not found response has a 2xx status code +func (o *ServiceBrokerAuthLogoutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth logout not found response has a 3xx status code +func (o *ServiceBrokerAuthLogoutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth logout not found response has a 4xx status code +func (o *ServiceBrokerAuthLogoutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth logout not found response has a 5xx status code +func (o *ServiceBrokerAuthLogoutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth logout not found response a status code equal to that given +func (o *ServiceBrokerAuthLogoutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth logout not found response +func (o *ServiceBrokerAuthLogoutNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthLogoutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthLogoutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthLogoutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLogoutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthLogoutInternalServerError creates a ServiceBrokerAuthLogoutInternalServerError with default headers values +func NewServiceBrokerAuthLogoutInternalServerError() *ServiceBrokerAuthLogoutInternalServerError { + return &ServiceBrokerAuthLogoutInternalServerError{} +} + +/* +ServiceBrokerAuthLogoutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthLogoutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth logout internal server error response has a 2xx status code +func (o *ServiceBrokerAuthLogoutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth logout internal server error response has a 3xx status code +func (o *ServiceBrokerAuthLogoutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth logout internal server error response has a 4xx status code +func (o *ServiceBrokerAuthLogoutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth logout internal server error response has a 5xx status code +func (o *ServiceBrokerAuthLogoutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth logout internal server error response a status code equal to that given +func (o *ServiceBrokerAuthLogoutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth logout internal server error response +func (o *ServiceBrokerAuthLogoutInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthLogoutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthLogoutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/logout][%d] serviceBrokerAuthLogoutInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthLogoutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthLogoutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_callback_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_callback_parameters.go new file mode 100644 index 000000000..4f53dcbc6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_callback_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerAuthRegistrationCallbackParams creates a new ServiceBrokerAuthRegistrationCallbackParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthRegistrationCallbackParams() *ServiceBrokerAuthRegistrationCallbackParams { + return &ServiceBrokerAuthRegistrationCallbackParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthRegistrationCallbackParamsWithTimeout creates a new ServiceBrokerAuthRegistrationCallbackParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthRegistrationCallbackParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthRegistrationCallbackParams { + return &ServiceBrokerAuthRegistrationCallbackParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthRegistrationCallbackParamsWithContext creates a new ServiceBrokerAuthRegistrationCallbackParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthRegistrationCallbackParamsWithContext(ctx context.Context) *ServiceBrokerAuthRegistrationCallbackParams { + return &ServiceBrokerAuthRegistrationCallbackParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthRegistrationCallbackParamsWithHTTPClient creates a new ServiceBrokerAuthRegistrationCallbackParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthRegistrationCallbackParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthRegistrationCallbackParams { + return &ServiceBrokerAuthRegistrationCallbackParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthRegistrationCallbackParams contains all the parameters to send to the API endpoint + + for the service broker auth registration callback operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthRegistrationCallbackParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth registration callback params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthRegistrationCallbackParams) WithDefaults() *ServiceBrokerAuthRegistrationCallbackParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth registration callback params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthRegistrationCallbackParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth registration callback params +func (o *ServiceBrokerAuthRegistrationCallbackParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthRegistrationCallbackParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth registration callback params +func (o *ServiceBrokerAuthRegistrationCallbackParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth registration callback params +func (o *ServiceBrokerAuthRegistrationCallbackParams) WithContext(ctx context.Context) *ServiceBrokerAuthRegistrationCallbackParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth registration callback params +func (o *ServiceBrokerAuthRegistrationCallbackParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth registration callback params +func (o *ServiceBrokerAuthRegistrationCallbackParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthRegistrationCallbackParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth registration callback params +func (o *ServiceBrokerAuthRegistrationCallbackParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthRegistrationCallbackParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_callback_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_callback_responses.go new file mode 100644 index 000000000..01fa8bc41 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_callback_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthRegistrationCallbackReader is a Reader for the ServiceBrokerAuthRegistrationCallback structure. +type ServiceBrokerAuthRegistrationCallbackReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthRegistrationCallbackReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthRegistrationCallbackOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthRegistrationCallbackBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthRegistrationCallbackUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthRegistrationCallbackForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthRegistrationCallbackNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthRegistrationCallbackInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /auth/v1/callback-registration] serviceBroker.auth.registration.callback", response, response.Code()) + } +} + +// NewServiceBrokerAuthRegistrationCallbackOK creates a ServiceBrokerAuthRegistrationCallbackOK with default headers values +func NewServiceBrokerAuthRegistrationCallbackOK() *ServiceBrokerAuthRegistrationCallbackOK { + return &ServiceBrokerAuthRegistrationCallbackOK{} +} + +/* +ServiceBrokerAuthRegistrationCallbackOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthRegistrationCallbackOK struct { + Payload *models.AccessToken +} + +// IsSuccess returns true when this service broker auth registration callback o k response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationCallbackOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth registration callback o k response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationCallbackOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration callback o k response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationCallbackOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth registration callback o k response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationCallbackOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration callback o k response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationCallbackOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth registration callback o k response +func (o *ServiceBrokerAuthRegistrationCallbackOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthRegistrationCallbackOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackOK) GetPayload() *models.AccessToken { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationCallbackOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.AccessToken) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationCallbackBadRequest creates a ServiceBrokerAuthRegistrationCallbackBadRequest with default headers values +func NewServiceBrokerAuthRegistrationCallbackBadRequest() *ServiceBrokerAuthRegistrationCallbackBadRequest { + return &ServiceBrokerAuthRegistrationCallbackBadRequest{} +} + +/* +ServiceBrokerAuthRegistrationCallbackBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthRegistrationCallbackBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration callback bad request response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration callback bad request response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration callback bad request response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth registration callback bad request response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration callback bad request response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth registration callback bad request response +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationCallbackBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationCallbackUnauthorized creates a ServiceBrokerAuthRegistrationCallbackUnauthorized with default headers values +func NewServiceBrokerAuthRegistrationCallbackUnauthorized() *ServiceBrokerAuthRegistrationCallbackUnauthorized { + return &ServiceBrokerAuthRegistrationCallbackUnauthorized{} +} + +/* +ServiceBrokerAuthRegistrationCallbackUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthRegistrationCallbackUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration callback unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration callback unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration callback unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth registration callback unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration callback unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth registration callback unauthorized response +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationCallbackUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationCallbackForbidden creates a ServiceBrokerAuthRegistrationCallbackForbidden with default headers values +func NewServiceBrokerAuthRegistrationCallbackForbidden() *ServiceBrokerAuthRegistrationCallbackForbidden { + return &ServiceBrokerAuthRegistrationCallbackForbidden{} +} + +/* +ServiceBrokerAuthRegistrationCallbackForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthRegistrationCallbackForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration callback forbidden response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration callback forbidden response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration callback forbidden response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth registration callback forbidden response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration callback forbidden response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth registration callback forbidden response +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationCallbackForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationCallbackNotFound creates a ServiceBrokerAuthRegistrationCallbackNotFound with default headers values +func NewServiceBrokerAuthRegistrationCallbackNotFound() *ServiceBrokerAuthRegistrationCallbackNotFound { + return &ServiceBrokerAuthRegistrationCallbackNotFound{} +} + +/* +ServiceBrokerAuthRegistrationCallbackNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthRegistrationCallbackNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration callback not found response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration callback not found response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration callback not found response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth registration callback not found response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration callback not found response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth registration callback not found response +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationCallbackNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationCallbackInternalServerError creates a ServiceBrokerAuthRegistrationCallbackInternalServerError with default headers values +func NewServiceBrokerAuthRegistrationCallbackInternalServerError() *ServiceBrokerAuthRegistrationCallbackInternalServerError { + return &ServiceBrokerAuthRegistrationCallbackInternalServerError{} +} + +/* +ServiceBrokerAuthRegistrationCallbackInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthRegistrationCallbackInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration callback internal server error response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration callback internal server error response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration callback internal server error response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth registration callback internal server error response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth registration callback internal server error response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth registration callback internal server error response +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/callback-registration][%d] serviceBrokerAuthRegistrationCallbackInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationCallbackInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_parameters.go new file mode 100644 index 000000000..0324385e2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_parameters.go @@ -0,0 +1,317 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewServiceBrokerAuthRegistrationParams creates a new ServiceBrokerAuthRegistrationParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthRegistrationParams() *ServiceBrokerAuthRegistrationParams { + return &ServiceBrokerAuthRegistrationParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthRegistrationParamsWithTimeout creates a new ServiceBrokerAuthRegistrationParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthRegistrationParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthRegistrationParams { + return &ServiceBrokerAuthRegistrationParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthRegistrationParamsWithContext creates a new ServiceBrokerAuthRegistrationParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthRegistrationParamsWithContext(ctx context.Context) *ServiceBrokerAuthRegistrationParams { + return &ServiceBrokerAuthRegistrationParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthRegistrationParamsWithHTTPClient creates a new ServiceBrokerAuthRegistrationParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthRegistrationParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthRegistrationParams { + return &ServiceBrokerAuthRegistrationParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthRegistrationParams contains all the parameters to send to the API endpoint + + for the service broker auth registration operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthRegistrationParams struct { + + /* EntitlementID. + + Entitlement ID of for this tenant + */ + EntitlementID string + + /* Icn. + + IBM Customer Number (ICN) for this tenant + */ + Icn string + + /* Plan. + + Plan for this tenant and entitlement + */ + Plan string + + /* RedirectURL. + + The URL to redirect to after login/registration + */ + RedirectURL *string + + /* Regions. + + An array of regions matching the number of cloud-instances in the plan + */ + Regions []string + + /* TenantID. + + Tenant ID of a pcloud tenant + */ + TenantID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth registration params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthRegistrationParams) WithDefaults() *ServiceBrokerAuthRegistrationParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth registration params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthRegistrationParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthRegistrationParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithContext(ctx context.Context) *ServiceBrokerAuthRegistrationParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthRegistrationParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithEntitlementID adds the entitlementID to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithEntitlementID(entitlementID string) *ServiceBrokerAuthRegistrationParams { + o.SetEntitlementID(entitlementID) + return o +} + +// SetEntitlementID adds the entitlementId to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetEntitlementID(entitlementID string) { + o.EntitlementID = entitlementID +} + +// WithIcn adds the icn to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithIcn(icn string) *ServiceBrokerAuthRegistrationParams { + o.SetIcn(icn) + return o +} + +// SetIcn adds the icn to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetIcn(icn string) { + o.Icn = icn +} + +// WithPlan adds the plan to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithPlan(plan string) *ServiceBrokerAuthRegistrationParams { + o.SetPlan(plan) + return o +} + +// SetPlan adds the plan to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetPlan(plan string) { + o.Plan = plan +} + +// WithRedirectURL adds the redirectURL to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithRedirectURL(redirectURL *string) *ServiceBrokerAuthRegistrationParams { + o.SetRedirectURL(redirectURL) + return o +} + +// SetRedirectURL adds the redirectUrl to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetRedirectURL(redirectURL *string) { + o.RedirectURL = redirectURL +} + +// WithRegions adds the regions to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithRegions(regions []string) *ServiceBrokerAuthRegistrationParams { + o.SetRegions(regions) + return o +} + +// SetRegions adds the regions to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetRegions(regions []string) { + o.Regions = regions +} + +// WithTenantID adds the tenantID to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) WithTenantID(tenantID string) *ServiceBrokerAuthRegistrationParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the service broker auth registration params +func (o *ServiceBrokerAuthRegistrationParams) SetTenantID(tenantID string) { + o.TenantID = tenantID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthRegistrationParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // query param entitlement_id + qrEntitlementID := o.EntitlementID + qEntitlementID := qrEntitlementID + if qEntitlementID != "" { + + if err := r.SetQueryParam("entitlement_id", qEntitlementID); err != nil { + return err + } + } + + // query param icn + qrIcn := o.Icn + qIcn := qrIcn + if qIcn != "" { + + if err := r.SetQueryParam("icn", qIcn); err != nil { + return err + } + } + + // query param plan + qrPlan := o.Plan + qPlan := qrPlan + if qPlan != "" { + + if err := r.SetQueryParam("plan", qPlan); err != nil { + return err + } + } + + if o.RedirectURL != nil { + + // query param redirect_url + var qrRedirectURL string + + if o.RedirectURL != nil { + qrRedirectURL = *o.RedirectURL + } + qRedirectURL := qrRedirectURL + if qRedirectURL != "" { + + if err := r.SetQueryParam("redirect_url", qRedirectURL); err != nil { + return err + } + } + } + + if o.Regions != nil { + + // binding items for regions + joinedRegions := o.bindParamRegions(reg) + + // query array param regions + if err := r.SetQueryParam("regions", joinedRegions...); err != nil { + return err + } + } + + // query param tenant_id + qrTenantID := o.TenantID + qTenantID := qrTenantID + if qTenantID != "" { + + if err := r.SetQueryParam("tenant_id", qTenantID); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindParamServiceBrokerAuthRegistration binds the parameter regions +func (o *ServiceBrokerAuthRegistrationParams) bindParamRegions(formats strfmt.Registry) []string { + regionsIR := o.Regions + + var regionsIC []string + for _, regionsIIR := range regionsIR { // explode []string + + regionsIIV := regionsIIR // string as string + regionsIC = append(regionsIC, regionsIIV) + } + + // items.CollectionFormat: "" + regionsIS := swag.JoinByFormat(regionsIC, "") + + return regionsIS +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_responses.go new file mode 100644 index 000000000..4be96dcc8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_registration_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthRegistrationReader is a Reader for the ServiceBrokerAuthRegistration structure. +type ServiceBrokerAuthRegistrationReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthRegistrationReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthRegistrationOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthRegistrationBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthRegistrationUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthRegistrationForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthRegistrationNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthRegistrationInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /auth/v1/registration] serviceBroker.auth.registration", response, response.Code()) + } +} + +// NewServiceBrokerAuthRegistrationOK creates a ServiceBrokerAuthRegistrationOK with default headers values +func NewServiceBrokerAuthRegistrationOK() *ServiceBrokerAuthRegistrationOK { + return &ServiceBrokerAuthRegistrationOK{} +} + +/* +ServiceBrokerAuthRegistrationOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthRegistrationOK struct { + Payload *models.AccessToken +} + +// IsSuccess returns true when this service broker auth registration o k response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth registration o k response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration o k response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth registration o k response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration o k response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth registration o k response +func (o *ServiceBrokerAuthRegistrationOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthRegistrationOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthRegistrationOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthRegistrationOK) GetPayload() *models.AccessToken { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.AccessToken) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationBadRequest creates a ServiceBrokerAuthRegistrationBadRequest with default headers values +func NewServiceBrokerAuthRegistrationBadRequest() *ServiceBrokerAuthRegistrationBadRequest { + return &ServiceBrokerAuthRegistrationBadRequest{} +} + +/* +ServiceBrokerAuthRegistrationBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthRegistrationBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration bad request response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration bad request response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration bad request response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth registration bad request response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration bad request response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth registration bad request response +func (o *ServiceBrokerAuthRegistrationBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthRegistrationBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthRegistrationBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthRegistrationBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationUnauthorized creates a ServiceBrokerAuthRegistrationUnauthorized with default headers values +func NewServiceBrokerAuthRegistrationUnauthorized() *ServiceBrokerAuthRegistrationUnauthorized { + return &ServiceBrokerAuthRegistrationUnauthorized{} +} + +/* +ServiceBrokerAuthRegistrationUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthRegistrationUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth registration unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth registration unauthorized response +func (o *ServiceBrokerAuthRegistrationUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthRegistrationUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthRegistrationUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthRegistrationUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationForbidden creates a ServiceBrokerAuthRegistrationForbidden with default headers values +func NewServiceBrokerAuthRegistrationForbidden() *ServiceBrokerAuthRegistrationForbidden { + return &ServiceBrokerAuthRegistrationForbidden{} +} + +/* +ServiceBrokerAuthRegistrationForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthRegistrationForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration forbidden response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration forbidden response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration forbidden response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth registration forbidden response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration forbidden response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth registration forbidden response +func (o *ServiceBrokerAuthRegistrationForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthRegistrationForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthRegistrationForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthRegistrationForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationNotFound creates a ServiceBrokerAuthRegistrationNotFound with default headers values +func NewServiceBrokerAuthRegistrationNotFound() *ServiceBrokerAuthRegistrationNotFound { + return &ServiceBrokerAuthRegistrationNotFound{} +} + +/* +ServiceBrokerAuthRegistrationNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthRegistrationNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration not found response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration not found response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration not found response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth registration not found response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth registration not found response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth registration not found response +func (o *ServiceBrokerAuthRegistrationNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthRegistrationNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthRegistrationNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthRegistrationNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthRegistrationInternalServerError creates a ServiceBrokerAuthRegistrationInternalServerError with default headers values +func NewServiceBrokerAuthRegistrationInternalServerError() *ServiceBrokerAuthRegistrationInternalServerError { + return &ServiceBrokerAuthRegistrationInternalServerError{} +} + +/* +ServiceBrokerAuthRegistrationInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthRegistrationInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth registration internal server error response has a 2xx status code +func (o *ServiceBrokerAuthRegistrationInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth registration internal server error response has a 3xx status code +func (o *ServiceBrokerAuthRegistrationInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth registration internal server error response has a 4xx status code +func (o *ServiceBrokerAuthRegistrationInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth registration internal server error response has a 5xx status code +func (o *ServiceBrokerAuthRegistrationInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth registration internal server error response a status code equal to that given +func (o *ServiceBrokerAuthRegistrationInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth registration internal server error response +func (o *ServiceBrokerAuthRegistrationInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthRegistrationInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthRegistrationInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /auth/v1/registration][%d] serviceBrokerAuthRegistrationInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthRegistrationInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthRegistrationInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_token_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_token_post_parameters.go new file mode 100644 index 000000000..d057427c7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_token_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewServiceBrokerAuthTokenPostParams creates a new ServiceBrokerAuthTokenPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerAuthTokenPostParams() *ServiceBrokerAuthTokenPostParams { + return &ServiceBrokerAuthTokenPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerAuthTokenPostParamsWithTimeout creates a new ServiceBrokerAuthTokenPostParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerAuthTokenPostParamsWithTimeout(timeout time.Duration) *ServiceBrokerAuthTokenPostParams { + return &ServiceBrokerAuthTokenPostParams{ + timeout: timeout, + } +} + +// NewServiceBrokerAuthTokenPostParamsWithContext creates a new ServiceBrokerAuthTokenPostParams object +// with the ability to set a context for a request. +func NewServiceBrokerAuthTokenPostParamsWithContext(ctx context.Context) *ServiceBrokerAuthTokenPostParams { + return &ServiceBrokerAuthTokenPostParams{ + Context: ctx, + } +} + +// NewServiceBrokerAuthTokenPostParamsWithHTTPClient creates a new ServiceBrokerAuthTokenPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerAuthTokenPostParamsWithHTTPClient(client *http.Client) *ServiceBrokerAuthTokenPostParams { + return &ServiceBrokerAuthTokenPostParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerAuthTokenPostParams contains all the parameters to send to the API endpoint + + for the service broker auth token post operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerAuthTokenPostParams struct { + + /* Body. + + Parameters for requesting a new Token from a Refresh Token + */ + Body *models.TokenRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker auth token post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthTokenPostParams) WithDefaults() *ServiceBrokerAuthTokenPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker auth token post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerAuthTokenPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker auth token post params +func (o *ServiceBrokerAuthTokenPostParams) WithTimeout(timeout time.Duration) *ServiceBrokerAuthTokenPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker auth token post params +func (o *ServiceBrokerAuthTokenPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker auth token post params +func (o *ServiceBrokerAuthTokenPostParams) WithContext(ctx context.Context) *ServiceBrokerAuthTokenPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker auth token post params +func (o *ServiceBrokerAuthTokenPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker auth token post params +func (o *ServiceBrokerAuthTokenPostParams) WithHTTPClient(client *http.Client) *ServiceBrokerAuthTokenPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker auth token post params +func (o *ServiceBrokerAuthTokenPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the service broker auth token post params +func (o *ServiceBrokerAuthTokenPostParams) WithBody(body *models.TokenRequest) *ServiceBrokerAuthTokenPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the service broker auth token post params +func (o *ServiceBrokerAuthTokenPostParams) SetBody(body *models.TokenRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerAuthTokenPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_token_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_token_post_responses.go new file mode 100644 index 000000000..e17701fc7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/authentication/service_broker_auth_token_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package authentication + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerAuthTokenPostReader is a Reader for the ServiceBrokerAuthTokenPost structure. +type ServiceBrokerAuthTokenPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerAuthTokenPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerAuthTokenPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerAuthTokenPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerAuthTokenPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerAuthTokenPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerAuthTokenPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewServiceBrokerAuthTokenPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerAuthTokenPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /auth/v1/token] serviceBroker.auth.token.post", response, response.Code()) + } +} + +// NewServiceBrokerAuthTokenPostOK creates a ServiceBrokerAuthTokenPostOK with default headers values +func NewServiceBrokerAuthTokenPostOK() *ServiceBrokerAuthTokenPostOK { + return &ServiceBrokerAuthTokenPostOK{} +} + +/* +ServiceBrokerAuthTokenPostOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerAuthTokenPostOK struct { + Payload *models.Token +} + +// IsSuccess returns true when this service broker auth token post o k response has a 2xx status code +func (o *ServiceBrokerAuthTokenPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker auth token post o k response has a 3xx status code +func (o *ServiceBrokerAuthTokenPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth token post o k response has a 4xx status code +func (o *ServiceBrokerAuthTokenPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth token post o k response has a 5xx status code +func (o *ServiceBrokerAuthTokenPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth token post o k response a status code equal to that given +func (o *ServiceBrokerAuthTokenPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker auth token post o k response +func (o *ServiceBrokerAuthTokenPostOK) Code() int { + return 200 +} + +func (o *ServiceBrokerAuthTokenPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthTokenPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostOK %s", 200, payload) +} + +func (o *ServiceBrokerAuthTokenPostOK) GetPayload() *models.Token { + return o.Payload +} + +func (o *ServiceBrokerAuthTokenPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Token) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthTokenPostBadRequest creates a ServiceBrokerAuthTokenPostBadRequest with default headers values +func NewServiceBrokerAuthTokenPostBadRequest() *ServiceBrokerAuthTokenPostBadRequest { + return &ServiceBrokerAuthTokenPostBadRequest{} +} + +/* +ServiceBrokerAuthTokenPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerAuthTokenPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth token post bad request response has a 2xx status code +func (o *ServiceBrokerAuthTokenPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth token post bad request response has a 3xx status code +func (o *ServiceBrokerAuthTokenPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth token post bad request response has a 4xx status code +func (o *ServiceBrokerAuthTokenPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth token post bad request response has a 5xx status code +func (o *ServiceBrokerAuthTokenPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth token post bad request response a status code equal to that given +func (o *ServiceBrokerAuthTokenPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker auth token post bad request response +func (o *ServiceBrokerAuthTokenPostBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerAuthTokenPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthTokenPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerAuthTokenPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthTokenPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthTokenPostUnauthorized creates a ServiceBrokerAuthTokenPostUnauthorized with default headers values +func NewServiceBrokerAuthTokenPostUnauthorized() *ServiceBrokerAuthTokenPostUnauthorized { + return &ServiceBrokerAuthTokenPostUnauthorized{} +} + +/* +ServiceBrokerAuthTokenPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerAuthTokenPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth token post unauthorized response has a 2xx status code +func (o *ServiceBrokerAuthTokenPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth token post unauthorized response has a 3xx status code +func (o *ServiceBrokerAuthTokenPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth token post unauthorized response has a 4xx status code +func (o *ServiceBrokerAuthTokenPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth token post unauthorized response has a 5xx status code +func (o *ServiceBrokerAuthTokenPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth token post unauthorized response a status code equal to that given +func (o *ServiceBrokerAuthTokenPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker auth token post unauthorized response +func (o *ServiceBrokerAuthTokenPostUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerAuthTokenPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthTokenPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerAuthTokenPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthTokenPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthTokenPostForbidden creates a ServiceBrokerAuthTokenPostForbidden with default headers values +func NewServiceBrokerAuthTokenPostForbidden() *ServiceBrokerAuthTokenPostForbidden { + return &ServiceBrokerAuthTokenPostForbidden{} +} + +/* +ServiceBrokerAuthTokenPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerAuthTokenPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth token post forbidden response has a 2xx status code +func (o *ServiceBrokerAuthTokenPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth token post forbidden response has a 3xx status code +func (o *ServiceBrokerAuthTokenPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth token post forbidden response has a 4xx status code +func (o *ServiceBrokerAuthTokenPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth token post forbidden response has a 5xx status code +func (o *ServiceBrokerAuthTokenPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth token post forbidden response a status code equal to that given +func (o *ServiceBrokerAuthTokenPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker auth token post forbidden response +func (o *ServiceBrokerAuthTokenPostForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerAuthTokenPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthTokenPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostForbidden %s", 403, payload) +} + +func (o *ServiceBrokerAuthTokenPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthTokenPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthTokenPostNotFound creates a ServiceBrokerAuthTokenPostNotFound with default headers values +func NewServiceBrokerAuthTokenPostNotFound() *ServiceBrokerAuthTokenPostNotFound { + return &ServiceBrokerAuthTokenPostNotFound{} +} + +/* +ServiceBrokerAuthTokenPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerAuthTokenPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth token post not found response has a 2xx status code +func (o *ServiceBrokerAuthTokenPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth token post not found response has a 3xx status code +func (o *ServiceBrokerAuthTokenPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth token post not found response has a 4xx status code +func (o *ServiceBrokerAuthTokenPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth token post not found response has a 5xx status code +func (o *ServiceBrokerAuthTokenPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth token post not found response a status code equal to that given +func (o *ServiceBrokerAuthTokenPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker auth token post not found response +func (o *ServiceBrokerAuthTokenPostNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerAuthTokenPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthTokenPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostNotFound %s", 404, payload) +} + +func (o *ServiceBrokerAuthTokenPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthTokenPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthTokenPostTooManyRequests creates a ServiceBrokerAuthTokenPostTooManyRequests with default headers values +func NewServiceBrokerAuthTokenPostTooManyRequests() *ServiceBrokerAuthTokenPostTooManyRequests { + return &ServiceBrokerAuthTokenPostTooManyRequests{} +} + +/* +ServiceBrokerAuthTokenPostTooManyRequests describes a response with status code 429, with default header values. + +Polling too frequently +*/ +type ServiceBrokerAuthTokenPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth token post too many requests response has a 2xx status code +func (o *ServiceBrokerAuthTokenPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth token post too many requests response has a 3xx status code +func (o *ServiceBrokerAuthTokenPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth token post too many requests response has a 4xx status code +func (o *ServiceBrokerAuthTokenPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker auth token post too many requests response has a 5xx status code +func (o *ServiceBrokerAuthTokenPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker auth token post too many requests response a status code equal to that given +func (o *ServiceBrokerAuthTokenPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the service broker auth token post too many requests response +func (o *ServiceBrokerAuthTokenPostTooManyRequests) Code() int { + return 429 +} + +func (o *ServiceBrokerAuthTokenPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostTooManyRequests %s", 429, payload) +} + +func (o *ServiceBrokerAuthTokenPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostTooManyRequests %s", 429, payload) +} + +func (o *ServiceBrokerAuthTokenPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthTokenPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerAuthTokenPostInternalServerError creates a ServiceBrokerAuthTokenPostInternalServerError with default headers values +func NewServiceBrokerAuthTokenPostInternalServerError() *ServiceBrokerAuthTokenPostInternalServerError { + return &ServiceBrokerAuthTokenPostInternalServerError{} +} + +/* +ServiceBrokerAuthTokenPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerAuthTokenPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker auth token post internal server error response has a 2xx status code +func (o *ServiceBrokerAuthTokenPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker auth token post internal server error response has a 3xx status code +func (o *ServiceBrokerAuthTokenPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker auth token post internal server error response has a 4xx status code +func (o *ServiceBrokerAuthTokenPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker auth token post internal server error response has a 5xx status code +func (o *ServiceBrokerAuthTokenPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker auth token post internal server error response a status code equal to that given +func (o *ServiceBrokerAuthTokenPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker auth token post internal server error response +func (o *ServiceBrokerAuthTokenPostInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerAuthTokenPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthTokenPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /auth/v1/token][%d] serviceBrokerAuthTokenPostInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerAuthTokenPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerAuthTokenPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_get_parameters.go new file mode 100644 index 000000000..c1250167e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package bluemix_service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewBluemixServiceInstanceGetParams creates a new BluemixServiceInstanceGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewBluemixServiceInstanceGetParams() *BluemixServiceInstanceGetParams { + return &BluemixServiceInstanceGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewBluemixServiceInstanceGetParamsWithTimeout creates a new BluemixServiceInstanceGetParams object +// with the ability to set a timeout on a request. +func NewBluemixServiceInstanceGetParamsWithTimeout(timeout time.Duration) *BluemixServiceInstanceGetParams { + return &BluemixServiceInstanceGetParams{ + timeout: timeout, + } +} + +// NewBluemixServiceInstanceGetParamsWithContext creates a new BluemixServiceInstanceGetParams object +// with the ability to set a context for a request. +func NewBluemixServiceInstanceGetParamsWithContext(ctx context.Context) *BluemixServiceInstanceGetParams { + return &BluemixServiceInstanceGetParams{ + Context: ctx, + } +} + +// NewBluemixServiceInstanceGetParamsWithHTTPClient creates a new BluemixServiceInstanceGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewBluemixServiceInstanceGetParamsWithHTTPClient(client *http.Client) *BluemixServiceInstanceGetParams { + return &BluemixServiceInstanceGetParams{ + HTTPClient: client, + } +} + +/* +BluemixServiceInstanceGetParams contains all the parameters to send to the API endpoint + + for the bluemix service instance get operation. + + Typically these are written to a http.Request. +*/ +type BluemixServiceInstanceGetParams struct { + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the bluemix service instance get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *BluemixServiceInstanceGetParams) WithDefaults() *BluemixServiceInstanceGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the bluemix service instance get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *BluemixServiceInstanceGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the bluemix service instance get params +func (o *BluemixServiceInstanceGetParams) WithTimeout(timeout time.Duration) *BluemixServiceInstanceGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the bluemix service instance get params +func (o *BluemixServiceInstanceGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the bluemix service instance get params +func (o *BluemixServiceInstanceGetParams) WithContext(ctx context.Context) *BluemixServiceInstanceGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the bluemix service instance get params +func (o *BluemixServiceInstanceGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the bluemix service instance get params +func (o *BluemixServiceInstanceGetParams) WithHTTPClient(client *http.Client) *BluemixServiceInstanceGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the bluemix service instance get params +func (o *BluemixServiceInstanceGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithInstanceID adds the instanceID to the bluemix service instance get params +func (o *BluemixServiceInstanceGetParams) WithInstanceID(instanceID string) *BluemixServiceInstanceGetParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the bluemix service instance get params +func (o *BluemixServiceInstanceGetParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *BluemixServiceInstanceGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_get_responses.go new file mode 100644 index 000000000..923208056 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_get_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package bluemix_service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// BluemixServiceInstanceGetReader is a Reader for the BluemixServiceInstanceGet structure. +type BluemixServiceInstanceGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *BluemixServiceInstanceGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewBluemixServiceInstanceGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewBluemixServiceInstanceGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewBluemixServiceInstanceGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewBluemixServiceInstanceGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewBluemixServiceInstanceGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /bluemix_v1/service_instances/{instance_id}] bluemix.serviceInstance.get", response, response.Code()) + } +} + +// NewBluemixServiceInstanceGetOK creates a BluemixServiceInstanceGetOK with default headers values +func NewBluemixServiceInstanceGetOK() *BluemixServiceInstanceGetOK { + return &BluemixServiceInstanceGetOK{} +} + +/* +BluemixServiceInstanceGetOK describes a response with status code 200, with default header values. + +OK +*/ +type BluemixServiceInstanceGetOK struct { + Payload *models.ServiceInstance +} + +// IsSuccess returns true when this bluemix service instance get o k response has a 2xx status code +func (o *BluemixServiceInstanceGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this bluemix service instance get o k response has a 3xx status code +func (o *BluemixServiceInstanceGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance get o k response has a 4xx status code +func (o *BluemixServiceInstanceGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this bluemix service instance get o k response has a 5xx status code +func (o *BluemixServiceInstanceGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance get o k response a status code equal to that given +func (o *BluemixServiceInstanceGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the bluemix service instance get o k response +func (o *BluemixServiceInstanceGetOK) Code() int { + return 200 +} + +func (o *BluemixServiceInstanceGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetOK %s", 200, payload) +} + +func (o *BluemixServiceInstanceGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetOK %s", 200, payload) +} + +func (o *BluemixServiceInstanceGetOK) GetPayload() *models.ServiceInstance { + return o.Payload +} + +func (o *BluemixServiceInstanceGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceInstance) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewBluemixServiceInstanceGetBadRequest creates a BluemixServiceInstanceGetBadRequest with default headers values +func NewBluemixServiceInstanceGetBadRequest() *BluemixServiceInstanceGetBadRequest { + return &BluemixServiceInstanceGetBadRequest{} +} + +/* +BluemixServiceInstanceGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type BluemixServiceInstanceGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this bluemix service instance get bad request response has a 2xx status code +func (o *BluemixServiceInstanceGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this bluemix service instance get bad request response has a 3xx status code +func (o *BluemixServiceInstanceGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance get bad request response has a 4xx status code +func (o *BluemixServiceInstanceGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this bluemix service instance get bad request response has a 5xx status code +func (o *BluemixServiceInstanceGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance get bad request response a status code equal to that given +func (o *BluemixServiceInstanceGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the bluemix service instance get bad request response +func (o *BluemixServiceInstanceGetBadRequest) Code() int { + return 400 +} + +func (o *BluemixServiceInstanceGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetBadRequest %s", 400, payload) +} + +func (o *BluemixServiceInstanceGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetBadRequest %s", 400, payload) +} + +func (o *BluemixServiceInstanceGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *BluemixServiceInstanceGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewBluemixServiceInstanceGetUnauthorized creates a BluemixServiceInstanceGetUnauthorized with default headers values +func NewBluemixServiceInstanceGetUnauthorized() *BluemixServiceInstanceGetUnauthorized { + return &BluemixServiceInstanceGetUnauthorized{} +} + +/* +BluemixServiceInstanceGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type BluemixServiceInstanceGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this bluemix service instance get unauthorized response has a 2xx status code +func (o *BluemixServiceInstanceGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this bluemix service instance get unauthorized response has a 3xx status code +func (o *BluemixServiceInstanceGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance get unauthorized response has a 4xx status code +func (o *BluemixServiceInstanceGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this bluemix service instance get unauthorized response has a 5xx status code +func (o *BluemixServiceInstanceGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance get unauthorized response a status code equal to that given +func (o *BluemixServiceInstanceGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the bluemix service instance get unauthorized response +func (o *BluemixServiceInstanceGetUnauthorized) Code() int { + return 401 +} + +func (o *BluemixServiceInstanceGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetUnauthorized %s", 401, payload) +} + +func (o *BluemixServiceInstanceGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetUnauthorized %s", 401, payload) +} + +func (o *BluemixServiceInstanceGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *BluemixServiceInstanceGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewBluemixServiceInstanceGetForbidden creates a BluemixServiceInstanceGetForbidden with default headers values +func NewBluemixServiceInstanceGetForbidden() *BluemixServiceInstanceGetForbidden { + return &BluemixServiceInstanceGetForbidden{} +} + +/* +BluemixServiceInstanceGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type BluemixServiceInstanceGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this bluemix service instance get forbidden response has a 2xx status code +func (o *BluemixServiceInstanceGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this bluemix service instance get forbidden response has a 3xx status code +func (o *BluemixServiceInstanceGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance get forbidden response has a 4xx status code +func (o *BluemixServiceInstanceGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this bluemix service instance get forbidden response has a 5xx status code +func (o *BluemixServiceInstanceGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance get forbidden response a status code equal to that given +func (o *BluemixServiceInstanceGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the bluemix service instance get forbidden response +func (o *BluemixServiceInstanceGetForbidden) Code() int { + return 403 +} + +func (o *BluemixServiceInstanceGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetForbidden %s", 403, payload) +} + +func (o *BluemixServiceInstanceGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetForbidden %s", 403, payload) +} + +func (o *BluemixServiceInstanceGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *BluemixServiceInstanceGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewBluemixServiceInstanceGetNotFound creates a BluemixServiceInstanceGetNotFound with default headers values +func NewBluemixServiceInstanceGetNotFound() *BluemixServiceInstanceGetNotFound { + return &BluemixServiceInstanceGetNotFound{} +} + +/* +BluemixServiceInstanceGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type BluemixServiceInstanceGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this bluemix service instance get not found response has a 2xx status code +func (o *BluemixServiceInstanceGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this bluemix service instance get not found response has a 3xx status code +func (o *BluemixServiceInstanceGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance get not found response has a 4xx status code +func (o *BluemixServiceInstanceGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this bluemix service instance get not found response has a 5xx status code +func (o *BluemixServiceInstanceGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance get not found response a status code equal to that given +func (o *BluemixServiceInstanceGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the bluemix service instance get not found response +func (o *BluemixServiceInstanceGetNotFound) Code() int { + return 404 +} + +func (o *BluemixServiceInstanceGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetNotFound %s", 404, payload) +} + +func (o *BluemixServiceInstanceGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstanceGetNotFound %s", 404, payload) +} + +func (o *BluemixServiceInstanceGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *BluemixServiceInstanceGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_put_parameters.go new file mode 100644 index 000000000..e366c432d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package bluemix_service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewBluemixServiceInstancePutParams creates a new BluemixServiceInstancePutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewBluemixServiceInstancePutParams() *BluemixServiceInstancePutParams { + return &BluemixServiceInstancePutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewBluemixServiceInstancePutParamsWithTimeout creates a new BluemixServiceInstancePutParams object +// with the ability to set a timeout on a request. +func NewBluemixServiceInstancePutParamsWithTimeout(timeout time.Duration) *BluemixServiceInstancePutParams { + return &BluemixServiceInstancePutParams{ + timeout: timeout, + } +} + +// NewBluemixServiceInstancePutParamsWithContext creates a new BluemixServiceInstancePutParams object +// with the ability to set a context for a request. +func NewBluemixServiceInstancePutParamsWithContext(ctx context.Context) *BluemixServiceInstancePutParams { + return &BluemixServiceInstancePutParams{ + Context: ctx, + } +} + +// NewBluemixServiceInstancePutParamsWithHTTPClient creates a new BluemixServiceInstancePutParams object +// with the ability to set a custom HTTPClient for a request. +func NewBluemixServiceInstancePutParamsWithHTTPClient(client *http.Client) *BluemixServiceInstancePutParams { + return &BluemixServiceInstancePutParams{ + HTTPClient: client, + } +} + +/* +BluemixServiceInstancePutParams contains all the parameters to send to the API endpoint + + for the bluemix service instance put operation. + + Typically these are written to a http.Request. +*/ +type BluemixServiceInstancePutParams struct { + + /* Body. + + parameters for the requested state of a provisioned service + */ + Body *models.ServiceInstanceRequest + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the bluemix service instance put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *BluemixServiceInstancePutParams) WithDefaults() *BluemixServiceInstancePutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the bluemix service instance put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *BluemixServiceInstancePutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) WithTimeout(timeout time.Duration) *BluemixServiceInstancePutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) WithContext(ctx context.Context) *BluemixServiceInstancePutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) WithHTTPClient(client *http.Client) *BluemixServiceInstancePutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) WithBody(body *models.ServiceInstanceRequest) *BluemixServiceInstancePutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) SetBody(body *models.ServiceInstanceRequest) { + o.Body = body +} + +// WithInstanceID adds the instanceID to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) WithInstanceID(instanceID string) *BluemixServiceInstancePutParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the bluemix service instance put params +func (o *BluemixServiceInstancePutParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *BluemixServiceInstancePutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_put_responses.go new file mode 100644 index 000000000..eadb97181 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instance_put_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package bluemix_service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// BluemixServiceInstancePutReader is a Reader for the BluemixServiceInstancePut structure. +type BluemixServiceInstancePutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *BluemixServiceInstancePutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewBluemixServiceInstancePutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewBluemixServiceInstancePutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewBluemixServiceInstancePutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewBluemixServiceInstancePutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewBluemixServiceInstancePutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /bluemix_v1/service_instances/{instance_id}] bluemix.serviceInstance.put", response, response.Code()) + } +} + +// NewBluemixServiceInstancePutOK creates a BluemixServiceInstancePutOK with default headers values +func NewBluemixServiceInstancePutOK() *BluemixServiceInstancePutOK { + return &BluemixServiceInstancePutOK{} +} + +/* +BluemixServiceInstancePutOK describes a response with status code 200, with default header values. + +OK +*/ +type BluemixServiceInstancePutOK struct { + Payload *models.ServiceInstance +} + +// IsSuccess returns true when this bluemix service instance put o k response has a 2xx status code +func (o *BluemixServiceInstancePutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this bluemix service instance put o k response has a 3xx status code +func (o *BluemixServiceInstancePutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance put o k response has a 4xx status code +func (o *BluemixServiceInstancePutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this bluemix service instance put o k response has a 5xx status code +func (o *BluemixServiceInstancePutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance put o k response a status code equal to that given +func (o *BluemixServiceInstancePutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the bluemix service instance put o k response +func (o *BluemixServiceInstancePutOK) Code() int { + return 200 +} + +func (o *BluemixServiceInstancePutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutOK %s", 200, payload) +} + +func (o *BluemixServiceInstancePutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutOK %s", 200, payload) +} + +func (o *BluemixServiceInstancePutOK) GetPayload() *models.ServiceInstance { + return o.Payload +} + +func (o *BluemixServiceInstancePutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceInstance) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewBluemixServiceInstancePutBadRequest creates a BluemixServiceInstancePutBadRequest with default headers values +func NewBluemixServiceInstancePutBadRequest() *BluemixServiceInstancePutBadRequest { + return &BluemixServiceInstancePutBadRequest{} +} + +/* +BluemixServiceInstancePutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type BluemixServiceInstancePutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this bluemix service instance put bad request response has a 2xx status code +func (o *BluemixServiceInstancePutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this bluemix service instance put bad request response has a 3xx status code +func (o *BluemixServiceInstancePutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance put bad request response has a 4xx status code +func (o *BluemixServiceInstancePutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this bluemix service instance put bad request response has a 5xx status code +func (o *BluemixServiceInstancePutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance put bad request response a status code equal to that given +func (o *BluemixServiceInstancePutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the bluemix service instance put bad request response +func (o *BluemixServiceInstancePutBadRequest) Code() int { + return 400 +} + +func (o *BluemixServiceInstancePutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutBadRequest %s", 400, payload) +} + +func (o *BluemixServiceInstancePutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutBadRequest %s", 400, payload) +} + +func (o *BluemixServiceInstancePutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *BluemixServiceInstancePutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewBluemixServiceInstancePutUnauthorized creates a BluemixServiceInstancePutUnauthorized with default headers values +func NewBluemixServiceInstancePutUnauthorized() *BluemixServiceInstancePutUnauthorized { + return &BluemixServiceInstancePutUnauthorized{} +} + +/* +BluemixServiceInstancePutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type BluemixServiceInstancePutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this bluemix service instance put unauthorized response has a 2xx status code +func (o *BluemixServiceInstancePutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this bluemix service instance put unauthorized response has a 3xx status code +func (o *BluemixServiceInstancePutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance put unauthorized response has a 4xx status code +func (o *BluemixServiceInstancePutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this bluemix service instance put unauthorized response has a 5xx status code +func (o *BluemixServiceInstancePutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance put unauthorized response a status code equal to that given +func (o *BluemixServiceInstancePutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the bluemix service instance put unauthorized response +func (o *BluemixServiceInstancePutUnauthorized) Code() int { + return 401 +} + +func (o *BluemixServiceInstancePutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutUnauthorized %s", 401, payload) +} + +func (o *BluemixServiceInstancePutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutUnauthorized %s", 401, payload) +} + +func (o *BluemixServiceInstancePutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *BluemixServiceInstancePutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewBluemixServiceInstancePutForbidden creates a BluemixServiceInstancePutForbidden with default headers values +func NewBluemixServiceInstancePutForbidden() *BluemixServiceInstancePutForbidden { + return &BluemixServiceInstancePutForbidden{} +} + +/* +BluemixServiceInstancePutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type BluemixServiceInstancePutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this bluemix service instance put forbidden response has a 2xx status code +func (o *BluemixServiceInstancePutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this bluemix service instance put forbidden response has a 3xx status code +func (o *BluemixServiceInstancePutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance put forbidden response has a 4xx status code +func (o *BluemixServiceInstancePutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this bluemix service instance put forbidden response has a 5xx status code +func (o *BluemixServiceInstancePutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance put forbidden response a status code equal to that given +func (o *BluemixServiceInstancePutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the bluemix service instance put forbidden response +func (o *BluemixServiceInstancePutForbidden) Code() int { + return 403 +} + +func (o *BluemixServiceInstancePutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutForbidden %s", 403, payload) +} + +func (o *BluemixServiceInstancePutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutForbidden %s", 403, payload) +} + +func (o *BluemixServiceInstancePutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *BluemixServiceInstancePutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewBluemixServiceInstancePutNotFound creates a BluemixServiceInstancePutNotFound with default headers values +func NewBluemixServiceInstancePutNotFound() *BluemixServiceInstancePutNotFound { + return &BluemixServiceInstancePutNotFound{} +} + +/* +BluemixServiceInstancePutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type BluemixServiceInstancePutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this bluemix service instance put not found response has a 2xx status code +func (o *BluemixServiceInstancePutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this bluemix service instance put not found response has a 3xx status code +func (o *BluemixServiceInstancePutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this bluemix service instance put not found response has a 4xx status code +func (o *BluemixServiceInstancePutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this bluemix service instance put not found response has a 5xx status code +func (o *BluemixServiceInstancePutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this bluemix service instance put not found response a status code equal to that given +func (o *BluemixServiceInstancePutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the bluemix service instance put not found response +func (o *BluemixServiceInstancePutNotFound) Code() int { + return 404 +} + +func (o *BluemixServiceInstancePutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutNotFound %s", 404, payload) +} + +func (o *BluemixServiceInstancePutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /bluemix_v1/service_instances/{instance_id}][%d] bluemixServiceInstancePutNotFound %s", 404, payload) +} + +func (o *BluemixServiceInstancePutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *BluemixServiceInstancePutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instances_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instances_client.go new file mode 100644 index 000000000..2a7f25167 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances/bluemix_service_instances_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package bluemix_service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new bluemix service instances API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new bluemix service instances API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new bluemix service instances API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for bluemix service instances API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + BluemixServiceInstanceGet(params *BluemixServiceInstanceGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BluemixServiceInstanceGetOK, error) + + BluemixServiceInstancePut(params *BluemixServiceInstancePutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BluemixServiceInstancePutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +BluemixServiceInstanceGet gets the current state information associated with the service instance +*/ +func (a *Client) BluemixServiceInstanceGet(params *BluemixServiceInstanceGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BluemixServiceInstanceGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewBluemixServiceInstanceGetParams() + } + op := &runtime.ClientOperation{ + ID: "bluemix.serviceInstance.get", + Method: "GET", + PathPattern: "/bluemix_v1/service_instances/{instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &BluemixServiceInstanceGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*BluemixServiceInstanceGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for bluemix.serviceInstance.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +BluemixServiceInstancePut updates disable or enable the state of a provisioned service instance +*/ +func (a *Client) BluemixServiceInstancePut(params *BluemixServiceInstancePutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BluemixServiceInstancePutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewBluemixServiceInstancePutParams() + } + op := &runtime.ClientOperation{ + ID: "bluemix.serviceInstance.put", + Method: "PUT", + PathPattern: "/bluemix_v1/service_instances/{instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &BluemixServiceInstancePutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*BluemixServiceInstancePutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for bluemix.serviceInstance.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_client.go new file mode 100644 index 000000000..1b8ac58d1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_client.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package catalog + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new catalog API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new catalog API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new catalog API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for catalog API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + CatalogGet(params *CatalogGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*CatalogGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +CatalogGet gets the catalog of services that the service broker offers +*/ +func (a *Client) CatalogGet(params *CatalogGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*CatalogGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewCatalogGetParams() + } + op := &runtime.ClientOperation{ + ID: "catalog.get", + Method: "GET", + PathPattern: "/v2/catalog", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &CatalogGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*CatalogGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for catalog.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_get_parameters.go new file mode 100644 index 000000000..b525e3808 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package catalog + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewCatalogGetParams creates a new CatalogGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewCatalogGetParams() *CatalogGetParams { + return &CatalogGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewCatalogGetParamsWithTimeout creates a new CatalogGetParams object +// with the ability to set a timeout on a request. +func NewCatalogGetParamsWithTimeout(timeout time.Duration) *CatalogGetParams { + return &CatalogGetParams{ + timeout: timeout, + } +} + +// NewCatalogGetParamsWithContext creates a new CatalogGetParams object +// with the ability to set a context for a request. +func NewCatalogGetParamsWithContext(ctx context.Context) *CatalogGetParams { + return &CatalogGetParams{ + Context: ctx, + } +} + +// NewCatalogGetParamsWithHTTPClient creates a new CatalogGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewCatalogGetParamsWithHTTPClient(client *http.Client) *CatalogGetParams { + return &CatalogGetParams{ + HTTPClient: client, + } +} + +/* +CatalogGetParams contains all the parameters to send to the API endpoint + + for the catalog get operation. + + Typically these are written to a http.Request. +*/ +type CatalogGetParams struct { + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the catalog get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *CatalogGetParams) WithDefaults() *CatalogGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the catalog get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *CatalogGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the catalog get params +func (o *CatalogGetParams) WithTimeout(timeout time.Duration) *CatalogGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the catalog get params +func (o *CatalogGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the catalog get params +func (o *CatalogGetParams) WithContext(ctx context.Context) *CatalogGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the catalog get params +func (o *CatalogGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the catalog get params +func (o *CatalogGetParams) WithHTTPClient(client *http.Client) *CatalogGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the catalog get params +func (o *CatalogGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the catalog get params +func (o *CatalogGetParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *CatalogGetParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the catalog get params +func (o *CatalogGetParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WriteToRequest writes these params to a swagger request +func (o *CatalogGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_get_responses.go new file mode 100644 index 000000000..db925bd70 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/catalog/catalog_get_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package catalog + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// CatalogGetReader is a Reader for the CatalogGet structure. +type CatalogGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *CatalogGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewCatalogGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewCatalogGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewCatalogGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewCatalogGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewCatalogGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v2/catalog] catalog.get", response, response.Code()) + } +} + +// NewCatalogGetOK creates a CatalogGetOK with default headers values +func NewCatalogGetOK() *CatalogGetOK { + return &CatalogGetOK{} +} + +/* +CatalogGetOK describes a response with status code 200, with default header values. + +catalog response +*/ +type CatalogGetOK struct { + Payload *models.Catalog +} + +// IsSuccess returns true when this catalog get o k response has a 2xx status code +func (o *CatalogGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this catalog get o k response has a 3xx status code +func (o *CatalogGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this catalog get o k response has a 4xx status code +func (o *CatalogGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this catalog get o k response has a 5xx status code +func (o *CatalogGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this catalog get o k response a status code equal to that given +func (o *CatalogGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the catalog get o k response +func (o *CatalogGetOK) Code() int { + return 200 +} + +func (o *CatalogGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetOK %s", 200, payload) +} + +func (o *CatalogGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetOK %s", 200, payload) +} + +func (o *CatalogGetOK) GetPayload() *models.Catalog { + return o.Payload +} + +func (o *CatalogGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Catalog) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewCatalogGetBadRequest creates a CatalogGetBadRequest with default headers values +func NewCatalogGetBadRequest() *CatalogGetBadRequest { + return &CatalogGetBadRequest{} +} + +/* +CatalogGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type CatalogGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this catalog get bad request response has a 2xx status code +func (o *CatalogGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this catalog get bad request response has a 3xx status code +func (o *CatalogGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this catalog get bad request response has a 4xx status code +func (o *CatalogGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this catalog get bad request response has a 5xx status code +func (o *CatalogGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this catalog get bad request response a status code equal to that given +func (o *CatalogGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the catalog get bad request response +func (o *CatalogGetBadRequest) Code() int { + return 400 +} + +func (o *CatalogGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetBadRequest %s", 400, payload) +} + +func (o *CatalogGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetBadRequest %s", 400, payload) +} + +func (o *CatalogGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *CatalogGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewCatalogGetUnauthorized creates a CatalogGetUnauthorized with default headers values +func NewCatalogGetUnauthorized() *CatalogGetUnauthorized { + return &CatalogGetUnauthorized{} +} + +/* +CatalogGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type CatalogGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this catalog get unauthorized response has a 2xx status code +func (o *CatalogGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this catalog get unauthorized response has a 3xx status code +func (o *CatalogGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this catalog get unauthorized response has a 4xx status code +func (o *CatalogGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this catalog get unauthorized response has a 5xx status code +func (o *CatalogGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this catalog get unauthorized response a status code equal to that given +func (o *CatalogGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the catalog get unauthorized response +func (o *CatalogGetUnauthorized) Code() int { + return 401 +} + +func (o *CatalogGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetUnauthorized %s", 401, payload) +} + +func (o *CatalogGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetUnauthorized %s", 401, payload) +} + +func (o *CatalogGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *CatalogGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewCatalogGetForbidden creates a CatalogGetForbidden with default headers values +func NewCatalogGetForbidden() *CatalogGetForbidden { + return &CatalogGetForbidden{} +} + +/* +CatalogGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type CatalogGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this catalog get forbidden response has a 2xx status code +func (o *CatalogGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this catalog get forbidden response has a 3xx status code +func (o *CatalogGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this catalog get forbidden response has a 4xx status code +func (o *CatalogGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this catalog get forbidden response has a 5xx status code +func (o *CatalogGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this catalog get forbidden response a status code equal to that given +func (o *CatalogGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the catalog get forbidden response +func (o *CatalogGetForbidden) Code() int { + return 403 +} + +func (o *CatalogGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetForbidden %s", 403, payload) +} + +func (o *CatalogGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetForbidden %s", 403, payload) +} + +func (o *CatalogGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *CatalogGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewCatalogGetNotFound creates a CatalogGetNotFound with default headers values +func NewCatalogGetNotFound() *CatalogGetNotFound { + return &CatalogGetNotFound{} +} + +/* +CatalogGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type CatalogGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this catalog get not found response has a 2xx status code +func (o *CatalogGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this catalog get not found response has a 3xx status code +func (o *CatalogGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this catalog get not found response has a 4xx status code +func (o *CatalogGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this catalog get not found response has a 5xx status code +func (o *CatalogGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this catalog get not found response a status code equal to that given +func (o *CatalogGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the catalog get not found response +func (o *CatalogGetNotFound) Code() int { + return 404 +} + +func (o *CatalogGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetNotFound %s", 404, payload) +} + +func (o *CatalogGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/catalog][%d] catalogGetNotFound %s", 404, payload) +} + +func (o *CatalogGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *CatalogGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/datacenters_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/datacenters_client.go new file mode 100644 index 000000000..13c8bb37b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/datacenters_client.go @@ -0,0 +1,247 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new datacenters API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new datacenters API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new datacenters API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for datacenters API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1DatacentersGet(params *V1DatacentersGetParams, opts ...ClientOption) (*V1DatacentersGetOK, error) + + V1DatacentersGetall(params *V1DatacentersGetallParams, opts ...ClientOption) (*V1DatacentersGetallOK, error) + + V1DatacentersPrivateGet(params *V1DatacentersPrivateGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1DatacentersPrivateGetOK, error) + + V1DatacentersPrivateGetall(params *V1DatacentersPrivateGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1DatacentersPrivateGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1DatacentersGet gets a datacenter s information and capabilities +*/ +func (a *Client) V1DatacentersGet(params *V1DatacentersGetParams, opts ...ClientOption) (*V1DatacentersGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1DatacentersGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.datacenters.get", + Method: "GET", + PathPattern: "/v1/datacenters/{datacenter_region}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1DatacentersGetReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1DatacentersGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.datacenters.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1DatacentersGetall gets all datacenters information and capabilities +*/ +func (a *Client) V1DatacentersGetall(params *V1DatacentersGetallParams, opts ...ClientOption) (*V1DatacentersGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1DatacentersGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.datacenters.getall", + Method: "GET", + PathPattern: "/v1/datacenters", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1DatacentersGetallReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1DatacentersGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.datacenters.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1DatacentersPrivateGet gets a private datacenter s information and capabilities +*/ +func (a *Client) V1DatacentersPrivateGet(params *V1DatacentersPrivateGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1DatacentersPrivateGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1DatacentersPrivateGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.datacentersPrivate.get", + Method: "GET", + PathPattern: "/v1/datacenters/private/{datacenter_region}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1DatacentersPrivateGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1DatacentersPrivateGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.datacentersPrivate.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1DatacentersPrivateGetall gets private datacenter information and capabilities +*/ +func (a *Client) V1DatacentersPrivateGetall(params *V1DatacentersPrivateGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1DatacentersPrivateGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1DatacentersPrivateGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.datacentersPrivate.getall", + Method: "GET", + PathPattern: "/v1/datacenters/private", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1DatacentersPrivateGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1DatacentersPrivateGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.datacentersPrivate.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_get_parameters.go new file mode 100644 index 000000000..36a52edbf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1DatacentersGetParams creates a new V1DatacentersGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1DatacentersGetParams() *V1DatacentersGetParams { + return &V1DatacentersGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1DatacentersGetParamsWithTimeout creates a new V1DatacentersGetParams object +// with the ability to set a timeout on a request. +func NewV1DatacentersGetParamsWithTimeout(timeout time.Duration) *V1DatacentersGetParams { + return &V1DatacentersGetParams{ + timeout: timeout, + } +} + +// NewV1DatacentersGetParamsWithContext creates a new V1DatacentersGetParams object +// with the ability to set a context for a request. +func NewV1DatacentersGetParamsWithContext(ctx context.Context) *V1DatacentersGetParams { + return &V1DatacentersGetParams{ + Context: ctx, + } +} + +// NewV1DatacentersGetParamsWithHTTPClient creates a new V1DatacentersGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1DatacentersGetParamsWithHTTPClient(client *http.Client) *V1DatacentersGetParams { + return &V1DatacentersGetParams{ + HTTPClient: client, + } +} + +/* +V1DatacentersGetParams contains all the parameters to send to the API endpoint + + for the v1 datacenters get operation. + + Typically these are written to a http.Request. +*/ +type V1DatacentersGetParams struct { + + /* DatacenterRegion. + + Datacenter Region + */ + DatacenterRegion string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 datacenters get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1DatacentersGetParams) WithDefaults() *V1DatacentersGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 datacenters get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1DatacentersGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 datacenters get params +func (o *V1DatacentersGetParams) WithTimeout(timeout time.Duration) *V1DatacentersGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 datacenters get params +func (o *V1DatacentersGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 datacenters get params +func (o *V1DatacentersGetParams) WithContext(ctx context.Context) *V1DatacentersGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 datacenters get params +func (o *V1DatacentersGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 datacenters get params +func (o *V1DatacentersGetParams) WithHTTPClient(client *http.Client) *V1DatacentersGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 datacenters get params +func (o *V1DatacentersGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithDatacenterRegion adds the datacenterRegion to the v1 datacenters get params +func (o *V1DatacentersGetParams) WithDatacenterRegion(datacenterRegion string) *V1DatacentersGetParams { + o.SetDatacenterRegion(datacenterRegion) + return o +} + +// SetDatacenterRegion adds the datacenterRegion to the v1 datacenters get params +func (o *V1DatacentersGetParams) SetDatacenterRegion(datacenterRegion string) { + o.DatacenterRegion = datacenterRegion +} + +// WriteToRequest writes these params to a swagger request +func (o *V1DatacentersGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param datacenter_region + if err := r.SetPathParam("datacenter_region", o.DatacenterRegion); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_get_responses.go new file mode 100644 index 000000000..689283969 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_get_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1DatacentersGetReader is a Reader for the V1DatacentersGet structure. +type V1DatacentersGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1DatacentersGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1DatacentersGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1DatacentersGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1DatacentersGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1DatacentersGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1DatacentersGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/datacenters/{datacenter_region}] v1.datacenters.get", response, response.Code()) + } +} + +// NewV1DatacentersGetOK creates a V1DatacentersGetOK with default headers values +func NewV1DatacentersGetOK() *V1DatacentersGetOK { + return &V1DatacentersGetOK{} +} + +/* +V1DatacentersGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1DatacentersGetOK struct { + Payload *models.Datacenter +} + +// IsSuccess returns true when this v1 datacenters get o k response has a 2xx status code +func (o *V1DatacentersGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 datacenters get o k response has a 3xx status code +func (o *V1DatacentersGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters get o k response has a 4xx status code +func (o *V1DatacentersGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 datacenters get o k response has a 5xx status code +func (o *V1DatacentersGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters get o k response a status code equal to that given +func (o *V1DatacentersGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 datacenters get o k response +func (o *V1DatacentersGetOK) Code() int { + return 200 +} + +func (o *V1DatacentersGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetOK %s", 200, payload) +} + +func (o *V1DatacentersGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetOK %s", 200, payload) +} + +func (o *V1DatacentersGetOK) GetPayload() *models.Datacenter { + return o.Payload +} + +func (o *V1DatacentersGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Datacenter) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersGetBadRequest creates a V1DatacentersGetBadRequest with default headers values +func NewV1DatacentersGetBadRequest() *V1DatacentersGetBadRequest { + return &V1DatacentersGetBadRequest{} +} + +/* +V1DatacentersGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1DatacentersGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters get bad request response has a 2xx status code +func (o *V1DatacentersGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters get bad request response has a 3xx status code +func (o *V1DatacentersGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters get bad request response has a 4xx status code +func (o *V1DatacentersGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters get bad request response has a 5xx status code +func (o *V1DatacentersGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters get bad request response a status code equal to that given +func (o *V1DatacentersGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 datacenters get bad request response +func (o *V1DatacentersGetBadRequest) Code() int { + return 400 +} + +func (o *V1DatacentersGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetBadRequest %s", 400, payload) +} + +func (o *V1DatacentersGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetBadRequest %s", 400, payload) +} + +func (o *V1DatacentersGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersGetUnauthorized creates a V1DatacentersGetUnauthorized with default headers values +func NewV1DatacentersGetUnauthorized() *V1DatacentersGetUnauthorized { + return &V1DatacentersGetUnauthorized{} +} + +/* +V1DatacentersGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1DatacentersGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters get unauthorized response has a 2xx status code +func (o *V1DatacentersGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters get unauthorized response has a 3xx status code +func (o *V1DatacentersGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters get unauthorized response has a 4xx status code +func (o *V1DatacentersGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters get unauthorized response has a 5xx status code +func (o *V1DatacentersGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters get unauthorized response a status code equal to that given +func (o *V1DatacentersGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 datacenters get unauthorized response +func (o *V1DatacentersGetUnauthorized) Code() int { + return 401 +} + +func (o *V1DatacentersGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetUnauthorized %s", 401, payload) +} + +func (o *V1DatacentersGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetUnauthorized %s", 401, payload) +} + +func (o *V1DatacentersGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersGetForbidden creates a V1DatacentersGetForbidden with default headers values +func NewV1DatacentersGetForbidden() *V1DatacentersGetForbidden { + return &V1DatacentersGetForbidden{} +} + +/* +V1DatacentersGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1DatacentersGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters get forbidden response has a 2xx status code +func (o *V1DatacentersGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters get forbidden response has a 3xx status code +func (o *V1DatacentersGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters get forbidden response has a 4xx status code +func (o *V1DatacentersGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters get forbidden response has a 5xx status code +func (o *V1DatacentersGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters get forbidden response a status code equal to that given +func (o *V1DatacentersGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 datacenters get forbidden response +func (o *V1DatacentersGetForbidden) Code() int { + return 403 +} + +func (o *V1DatacentersGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetForbidden %s", 403, payload) +} + +func (o *V1DatacentersGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetForbidden %s", 403, payload) +} + +func (o *V1DatacentersGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersGetInternalServerError creates a V1DatacentersGetInternalServerError with default headers values +func NewV1DatacentersGetInternalServerError() *V1DatacentersGetInternalServerError { + return &V1DatacentersGetInternalServerError{} +} + +/* +V1DatacentersGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1DatacentersGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters get internal server error response has a 2xx status code +func (o *V1DatacentersGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters get internal server error response has a 3xx status code +func (o *V1DatacentersGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters get internal server error response has a 4xx status code +func (o *V1DatacentersGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 datacenters get internal server error response has a 5xx status code +func (o *V1DatacentersGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 datacenters get internal server error response a status code equal to that given +func (o *V1DatacentersGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 datacenters get internal server error response +func (o *V1DatacentersGetInternalServerError) Code() int { + return 500 +} + +func (o *V1DatacentersGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetInternalServerError %s", 500, payload) +} + +func (o *V1DatacentersGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/{datacenter_region}][%d] v1DatacentersGetInternalServerError %s", 500, payload) +} + +func (o *V1DatacentersGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_getall_parameters.go new file mode 100644 index 000000000..73e30e792 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1DatacentersGetallParams creates a new V1DatacentersGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1DatacentersGetallParams() *V1DatacentersGetallParams { + return &V1DatacentersGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1DatacentersGetallParamsWithTimeout creates a new V1DatacentersGetallParams object +// with the ability to set a timeout on a request. +func NewV1DatacentersGetallParamsWithTimeout(timeout time.Duration) *V1DatacentersGetallParams { + return &V1DatacentersGetallParams{ + timeout: timeout, + } +} + +// NewV1DatacentersGetallParamsWithContext creates a new V1DatacentersGetallParams object +// with the ability to set a context for a request. +func NewV1DatacentersGetallParamsWithContext(ctx context.Context) *V1DatacentersGetallParams { + return &V1DatacentersGetallParams{ + Context: ctx, + } +} + +// NewV1DatacentersGetallParamsWithHTTPClient creates a new V1DatacentersGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1DatacentersGetallParamsWithHTTPClient(client *http.Client) *V1DatacentersGetallParams { + return &V1DatacentersGetallParams{ + HTTPClient: client, + } +} + +/* +V1DatacentersGetallParams contains all the parameters to send to the API endpoint + + for the v1 datacenters getall operation. + + Typically these are written to a http.Request. +*/ +type V1DatacentersGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 datacenters getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1DatacentersGetallParams) WithDefaults() *V1DatacentersGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 datacenters getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1DatacentersGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 datacenters getall params +func (o *V1DatacentersGetallParams) WithTimeout(timeout time.Duration) *V1DatacentersGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 datacenters getall params +func (o *V1DatacentersGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 datacenters getall params +func (o *V1DatacentersGetallParams) WithContext(ctx context.Context) *V1DatacentersGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 datacenters getall params +func (o *V1DatacentersGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 datacenters getall params +func (o *V1DatacentersGetallParams) WithHTTPClient(client *http.Client) *V1DatacentersGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 datacenters getall params +func (o *V1DatacentersGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1DatacentersGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_getall_responses.go new file mode 100644 index 000000000..142ee9f3c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_getall_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1DatacentersGetallReader is a Reader for the V1DatacentersGetall structure. +type V1DatacentersGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1DatacentersGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1DatacentersGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1DatacentersGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1DatacentersGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1DatacentersGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1DatacentersGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/datacenters] v1.datacenters.getall", response, response.Code()) + } +} + +// NewV1DatacentersGetallOK creates a V1DatacentersGetallOK with default headers values +func NewV1DatacentersGetallOK() *V1DatacentersGetallOK { + return &V1DatacentersGetallOK{} +} + +/* +V1DatacentersGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1DatacentersGetallOK struct { + Payload *models.Datacenters +} + +// IsSuccess returns true when this v1 datacenters getall o k response has a 2xx status code +func (o *V1DatacentersGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 datacenters getall o k response has a 3xx status code +func (o *V1DatacentersGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters getall o k response has a 4xx status code +func (o *V1DatacentersGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 datacenters getall o k response has a 5xx status code +func (o *V1DatacentersGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters getall o k response a status code equal to that given +func (o *V1DatacentersGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 datacenters getall o k response +func (o *V1DatacentersGetallOK) Code() int { + return 200 +} + +func (o *V1DatacentersGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallOK %s", 200, payload) +} + +func (o *V1DatacentersGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallOK %s", 200, payload) +} + +func (o *V1DatacentersGetallOK) GetPayload() *models.Datacenters { + return o.Payload +} + +func (o *V1DatacentersGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Datacenters) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersGetallBadRequest creates a V1DatacentersGetallBadRequest with default headers values +func NewV1DatacentersGetallBadRequest() *V1DatacentersGetallBadRequest { + return &V1DatacentersGetallBadRequest{} +} + +/* +V1DatacentersGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1DatacentersGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters getall bad request response has a 2xx status code +func (o *V1DatacentersGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters getall bad request response has a 3xx status code +func (o *V1DatacentersGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters getall bad request response has a 4xx status code +func (o *V1DatacentersGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters getall bad request response has a 5xx status code +func (o *V1DatacentersGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters getall bad request response a status code equal to that given +func (o *V1DatacentersGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 datacenters getall bad request response +func (o *V1DatacentersGetallBadRequest) Code() int { + return 400 +} + +func (o *V1DatacentersGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallBadRequest %s", 400, payload) +} + +func (o *V1DatacentersGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallBadRequest %s", 400, payload) +} + +func (o *V1DatacentersGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersGetallUnauthorized creates a V1DatacentersGetallUnauthorized with default headers values +func NewV1DatacentersGetallUnauthorized() *V1DatacentersGetallUnauthorized { + return &V1DatacentersGetallUnauthorized{} +} + +/* +V1DatacentersGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1DatacentersGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters getall unauthorized response has a 2xx status code +func (o *V1DatacentersGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters getall unauthorized response has a 3xx status code +func (o *V1DatacentersGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters getall unauthorized response has a 4xx status code +func (o *V1DatacentersGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters getall unauthorized response has a 5xx status code +func (o *V1DatacentersGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters getall unauthorized response a status code equal to that given +func (o *V1DatacentersGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 datacenters getall unauthorized response +func (o *V1DatacentersGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1DatacentersGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallUnauthorized %s", 401, payload) +} + +func (o *V1DatacentersGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallUnauthorized %s", 401, payload) +} + +func (o *V1DatacentersGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersGetallForbidden creates a V1DatacentersGetallForbidden with default headers values +func NewV1DatacentersGetallForbidden() *V1DatacentersGetallForbidden { + return &V1DatacentersGetallForbidden{} +} + +/* +V1DatacentersGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1DatacentersGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters getall forbidden response has a 2xx status code +func (o *V1DatacentersGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters getall forbidden response has a 3xx status code +func (o *V1DatacentersGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters getall forbidden response has a 4xx status code +func (o *V1DatacentersGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters getall forbidden response has a 5xx status code +func (o *V1DatacentersGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters getall forbidden response a status code equal to that given +func (o *V1DatacentersGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 datacenters getall forbidden response +func (o *V1DatacentersGetallForbidden) Code() int { + return 403 +} + +func (o *V1DatacentersGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallForbidden %s", 403, payload) +} + +func (o *V1DatacentersGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallForbidden %s", 403, payload) +} + +func (o *V1DatacentersGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersGetallInternalServerError creates a V1DatacentersGetallInternalServerError with default headers values +func NewV1DatacentersGetallInternalServerError() *V1DatacentersGetallInternalServerError { + return &V1DatacentersGetallInternalServerError{} +} + +/* +V1DatacentersGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1DatacentersGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters getall internal server error response has a 2xx status code +func (o *V1DatacentersGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters getall internal server error response has a 3xx status code +func (o *V1DatacentersGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters getall internal server error response has a 4xx status code +func (o *V1DatacentersGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 datacenters getall internal server error response has a 5xx status code +func (o *V1DatacentersGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 datacenters getall internal server error response a status code equal to that given +func (o *V1DatacentersGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 datacenters getall internal server error response +func (o *V1DatacentersGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1DatacentersGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallInternalServerError %s", 500, payload) +} + +func (o *V1DatacentersGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters][%d] v1DatacentersGetallInternalServerError %s", 500, payload) +} + +func (o *V1DatacentersGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_get_parameters.go new file mode 100644 index 000000000..df6f8e68a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1DatacentersPrivateGetParams creates a new V1DatacentersPrivateGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1DatacentersPrivateGetParams() *V1DatacentersPrivateGetParams { + return &V1DatacentersPrivateGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1DatacentersPrivateGetParamsWithTimeout creates a new V1DatacentersPrivateGetParams object +// with the ability to set a timeout on a request. +func NewV1DatacentersPrivateGetParamsWithTimeout(timeout time.Duration) *V1DatacentersPrivateGetParams { + return &V1DatacentersPrivateGetParams{ + timeout: timeout, + } +} + +// NewV1DatacentersPrivateGetParamsWithContext creates a new V1DatacentersPrivateGetParams object +// with the ability to set a context for a request. +func NewV1DatacentersPrivateGetParamsWithContext(ctx context.Context) *V1DatacentersPrivateGetParams { + return &V1DatacentersPrivateGetParams{ + Context: ctx, + } +} + +// NewV1DatacentersPrivateGetParamsWithHTTPClient creates a new V1DatacentersPrivateGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1DatacentersPrivateGetParamsWithHTTPClient(client *http.Client) *V1DatacentersPrivateGetParams { + return &V1DatacentersPrivateGetParams{ + HTTPClient: client, + } +} + +/* +V1DatacentersPrivateGetParams contains all the parameters to send to the API endpoint + + for the v1 datacenters private get operation. + + Typically these are written to a http.Request. +*/ +type V1DatacentersPrivateGetParams struct { + + /* DatacenterRegion. + + Datacenter Region + */ + DatacenterRegion string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 datacenters private get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1DatacentersPrivateGetParams) WithDefaults() *V1DatacentersPrivateGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 datacenters private get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1DatacentersPrivateGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 datacenters private get params +func (o *V1DatacentersPrivateGetParams) WithTimeout(timeout time.Duration) *V1DatacentersPrivateGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 datacenters private get params +func (o *V1DatacentersPrivateGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 datacenters private get params +func (o *V1DatacentersPrivateGetParams) WithContext(ctx context.Context) *V1DatacentersPrivateGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 datacenters private get params +func (o *V1DatacentersPrivateGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 datacenters private get params +func (o *V1DatacentersPrivateGetParams) WithHTTPClient(client *http.Client) *V1DatacentersPrivateGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 datacenters private get params +func (o *V1DatacentersPrivateGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithDatacenterRegion adds the datacenterRegion to the v1 datacenters private get params +func (o *V1DatacentersPrivateGetParams) WithDatacenterRegion(datacenterRegion string) *V1DatacentersPrivateGetParams { + o.SetDatacenterRegion(datacenterRegion) + return o +} + +// SetDatacenterRegion adds the datacenterRegion to the v1 datacenters private get params +func (o *V1DatacentersPrivateGetParams) SetDatacenterRegion(datacenterRegion string) { + o.DatacenterRegion = datacenterRegion +} + +// WriteToRequest writes these params to a swagger request +func (o *V1DatacentersPrivateGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param datacenter_region + if err := r.SetPathParam("datacenter_region", o.DatacenterRegion); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_get_responses.go new file mode 100644 index 000000000..9fcf2745e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_get_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1DatacentersPrivateGetReader is a Reader for the V1DatacentersPrivateGet structure. +type V1DatacentersPrivateGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1DatacentersPrivateGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1DatacentersPrivateGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1DatacentersPrivateGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1DatacentersPrivateGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1DatacentersPrivateGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1DatacentersPrivateGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/datacenters/private/{datacenter_region}] v1.datacentersPrivate.get", response, response.Code()) + } +} + +// NewV1DatacentersPrivateGetOK creates a V1DatacentersPrivateGetOK with default headers values +func NewV1DatacentersPrivateGetOK() *V1DatacentersPrivateGetOK { + return &V1DatacentersPrivateGetOK{} +} + +/* +V1DatacentersPrivateGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1DatacentersPrivateGetOK struct { + Payload *models.Datacenter +} + +// IsSuccess returns true when this v1 datacenters private get o k response has a 2xx status code +func (o *V1DatacentersPrivateGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 datacenters private get o k response has a 3xx status code +func (o *V1DatacentersPrivateGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private get o k response has a 4xx status code +func (o *V1DatacentersPrivateGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 datacenters private get o k response has a 5xx status code +func (o *V1DatacentersPrivateGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters private get o k response a status code equal to that given +func (o *V1DatacentersPrivateGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 datacenters private get o k response +func (o *V1DatacentersPrivateGetOK) Code() int { + return 200 +} + +func (o *V1DatacentersPrivateGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetOK %s", 200, payload) +} + +func (o *V1DatacentersPrivateGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetOK %s", 200, payload) +} + +func (o *V1DatacentersPrivateGetOK) GetPayload() *models.Datacenter { + return o.Payload +} + +func (o *V1DatacentersPrivateGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Datacenter) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersPrivateGetBadRequest creates a V1DatacentersPrivateGetBadRequest with default headers values +func NewV1DatacentersPrivateGetBadRequest() *V1DatacentersPrivateGetBadRequest { + return &V1DatacentersPrivateGetBadRequest{} +} + +/* +V1DatacentersPrivateGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1DatacentersPrivateGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters private get bad request response has a 2xx status code +func (o *V1DatacentersPrivateGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters private get bad request response has a 3xx status code +func (o *V1DatacentersPrivateGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private get bad request response has a 4xx status code +func (o *V1DatacentersPrivateGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters private get bad request response has a 5xx status code +func (o *V1DatacentersPrivateGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters private get bad request response a status code equal to that given +func (o *V1DatacentersPrivateGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 datacenters private get bad request response +func (o *V1DatacentersPrivateGetBadRequest) Code() int { + return 400 +} + +func (o *V1DatacentersPrivateGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetBadRequest %s", 400, payload) +} + +func (o *V1DatacentersPrivateGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetBadRequest %s", 400, payload) +} + +func (o *V1DatacentersPrivateGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersPrivateGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersPrivateGetUnauthorized creates a V1DatacentersPrivateGetUnauthorized with default headers values +func NewV1DatacentersPrivateGetUnauthorized() *V1DatacentersPrivateGetUnauthorized { + return &V1DatacentersPrivateGetUnauthorized{} +} + +/* +V1DatacentersPrivateGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1DatacentersPrivateGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters private get unauthorized response has a 2xx status code +func (o *V1DatacentersPrivateGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters private get unauthorized response has a 3xx status code +func (o *V1DatacentersPrivateGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private get unauthorized response has a 4xx status code +func (o *V1DatacentersPrivateGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters private get unauthorized response has a 5xx status code +func (o *V1DatacentersPrivateGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters private get unauthorized response a status code equal to that given +func (o *V1DatacentersPrivateGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 datacenters private get unauthorized response +func (o *V1DatacentersPrivateGetUnauthorized) Code() int { + return 401 +} + +func (o *V1DatacentersPrivateGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetUnauthorized %s", 401, payload) +} + +func (o *V1DatacentersPrivateGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetUnauthorized %s", 401, payload) +} + +func (o *V1DatacentersPrivateGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersPrivateGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersPrivateGetForbidden creates a V1DatacentersPrivateGetForbidden with default headers values +func NewV1DatacentersPrivateGetForbidden() *V1DatacentersPrivateGetForbidden { + return &V1DatacentersPrivateGetForbidden{} +} + +/* +V1DatacentersPrivateGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1DatacentersPrivateGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters private get forbidden response has a 2xx status code +func (o *V1DatacentersPrivateGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters private get forbidden response has a 3xx status code +func (o *V1DatacentersPrivateGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private get forbidden response has a 4xx status code +func (o *V1DatacentersPrivateGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters private get forbidden response has a 5xx status code +func (o *V1DatacentersPrivateGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters private get forbidden response a status code equal to that given +func (o *V1DatacentersPrivateGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 datacenters private get forbidden response +func (o *V1DatacentersPrivateGetForbidden) Code() int { + return 403 +} + +func (o *V1DatacentersPrivateGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetForbidden %s", 403, payload) +} + +func (o *V1DatacentersPrivateGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetForbidden %s", 403, payload) +} + +func (o *V1DatacentersPrivateGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersPrivateGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersPrivateGetInternalServerError creates a V1DatacentersPrivateGetInternalServerError with default headers values +func NewV1DatacentersPrivateGetInternalServerError() *V1DatacentersPrivateGetInternalServerError { + return &V1DatacentersPrivateGetInternalServerError{} +} + +/* +V1DatacentersPrivateGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1DatacentersPrivateGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters private get internal server error response has a 2xx status code +func (o *V1DatacentersPrivateGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters private get internal server error response has a 3xx status code +func (o *V1DatacentersPrivateGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private get internal server error response has a 4xx status code +func (o *V1DatacentersPrivateGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 datacenters private get internal server error response has a 5xx status code +func (o *V1DatacentersPrivateGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 datacenters private get internal server error response a status code equal to that given +func (o *V1DatacentersPrivateGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 datacenters private get internal server error response +func (o *V1DatacentersPrivateGetInternalServerError) Code() int { + return 500 +} + +func (o *V1DatacentersPrivateGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetInternalServerError %s", 500, payload) +} + +func (o *V1DatacentersPrivateGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private/{datacenter_region}][%d] v1DatacentersPrivateGetInternalServerError %s", 500, payload) +} + +func (o *V1DatacentersPrivateGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersPrivateGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_getall_parameters.go new file mode 100644 index 000000000..81fa3ae87 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1DatacentersPrivateGetallParams creates a new V1DatacentersPrivateGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1DatacentersPrivateGetallParams() *V1DatacentersPrivateGetallParams { + return &V1DatacentersPrivateGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1DatacentersPrivateGetallParamsWithTimeout creates a new V1DatacentersPrivateGetallParams object +// with the ability to set a timeout on a request. +func NewV1DatacentersPrivateGetallParamsWithTimeout(timeout time.Duration) *V1DatacentersPrivateGetallParams { + return &V1DatacentersPrivateGetallParams{ + timeout: timeout, + } +} + +// NewV1DatacentersPrivateGetallParamsWithContext creates a new V1DatacentersPrivateGetallParams object +// with the ability to set a context for a request. +func NewV1DatacentersPrivateGetallParamsWithContext(ctx context.Context) *V1DatacentersPrivateGetallParams { + return &V1DatacentersPrivateGetallParams{ + Context: ctx, + } +} + +// NewV1DatacentersPrivateGetallParamsWithHTTPClient creates a new V1DatacentersPrivateGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1DatacentersPrivateGetallParamsWithHTTPClient(client *http.Client) *V1DatacentersPrivateGetallParams { + return &V1DatacentersPrivateGetallParams{ + HTTPClient: client, + } +} + +/* +V1DatacentersPrivateGetallParams contains all the parameters to send to the API endpoint + + for the v1 datacenters private getall operation. + + Typically these are written to a http.Request. +*/ +type V1DatacentersPrivateGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 datacenters private getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1DatacentersPrivateGetallParams) WithDefaults() *V1DatacentersPrivateGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 datacenters private getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1DatacentersPrivateGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 datacenters private getall params +func (o *V1DatacentersPrivateGetallParams) WithTimeout(timeout time.Duration) *V1DatacentersPrivateGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 datacenters private getall params +func (o *V1DatacentersPrivateGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 datacenters private getall params +func (o *V1DatacentersPrivateGetallParams) WithContext(ctx context.Context) *V1DatacentersPrivateGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 datacenters private getall params +func (o *V1DatacentersPrivateGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 datacenters private getall params +func (o *V1DatacentersPrivateGetallParams) WithHTTPClient(client *http.Client) *V1DatacentersPrivateGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 datacenters private getall params +func (o *V1DatacentersPrivateGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1DatacentersPrivateGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_getall_responses.go new file mode 100644 index 000000000..7c1b77e0b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/datacenters/v1_datacenters_private_getall_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package datacenters + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1DatacentersPrivateGetallReader is a Reader for the V1DatacentersPrivateGetall structure. +type V1DatacentersPrivateGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1DatacentersPrivateGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1DatacentersPrivateGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1DatacentersPrivateGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1DatacentersPrivateGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1DatacentersPrivateGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1DatacentersPrivateGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/datacenters/private] v1.datacentersPrivate.getall", response, response.Code()) + } +} + +// NewV1DatacentersPrivateGetallOK creates a V1DatacentersPrivateGetallOK with default headers values +func NewV1DatacentersPrivateGetallOK() *V1DatacentersPrivateGetallOK { + return &V1DatacentersPrivateGetallOK{} +} + +/* +V1DatacentersPrivateGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1DatacentersPrivateGetallOK struct { + Payload *models.Datacenters +} + +// IsSuccess returns true when this v1 datacenters private getall o k response has a 2xx status code +func (o *V1DatacentersPrivateGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 datacenters private getall o k response has a 3xx status code +func (o *V1DatacentersPrivateGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private getall o k response has a 4xx status code +func (o *V1DatacentersPrivateGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 datacenters private getall o k response has a 5xx status code +func (o *V1DatacentersPrivateGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters private getall o k response a status code equal to that given +func (o *V1DatacentersPrivateGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 datacenters private getall o k response +func (o *V1DatacentersPrivateGetallOK) Code() int { + return 200 +} + +func (o *V1DatacentersPrivateGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallOK %s", 200, payload) +} + +func (o *V1DatacentersPrivateGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallOK %s", 200, payload) +} + +func (o *V1DatacentersPrivateGetallOK) GetPayload() *models.Datacenters { + return o.Payload +} + +func (o *V1DatacentersPrivateGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Datacenters) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersPrivateGetallBadRequest creates a V1DatacentersPrivateGetallBadRequest with default headers values +func NewV1DatacentersPrivateGetallBadRequest() *V1DatacentersPrivateGetallBadRequest { + return &V1DatacentersPrivateGetallBadRequest{} +} + +/* +V1DatacentersPrivateGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1DatacentersPrivateGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters private getall bad request response has a 2xx status code +func (o *V1DatacentersPrivateGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters private getall bad request response has a 3xx status code +func (o *V1DatacentersPrivateGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private getall bad request response has a 4xx status code +func (o *V1DatacentersPrivateGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters private getall bad request response has a 5xx status code +func (o *V1DatacentersPrivateGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters private getall bad request response a status code equal to that given +func (o *V1DatacentersPrivateGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 datacenters private getall bad request response +func (o *V1DatacentersPrivateGetallBadRequest) Code() int { + return 400 +} + +func (o *V1DatacentersPrivateGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallBadRequest %s", 400, payload) +} + +func (o *V1DatacentersPrivateGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallBadRequest %s", 400, payload) +} + +func (o *V1DatacentersPrivateGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersPrivateGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersPrivateGetallUnauthorized creates a V1DatacentersPrivateGetallUnauthorized with default headers values +func NewV1DatacentersPrivateGetallUnauthorized() *V1DatacentersPrivateGetallUnauthorized { + return &V1DatacentersPrivateGetallUnauthorized{} +} + +/* +V1DatacentersPrivateGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1DatacentersPrivateGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters private getall unauthorized response has a 2xx status code +func (o *V1DatacentersPrivateGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters private getall unauthorized response has a 3xx status code +func (o *V1DatacentersPrivateGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private getall unauthorized response has a 4xx status code +func (o *V1DatacentersPrivateGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters private getall unauthorized response has a 5xx status code +func (o *V1DatacentersPrivateGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters private getall unauthorized response a status code equal to that given +func (o *V1DatacentersPrivateGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 datacenters private getall unauthorized response +func (o *V1DatacentersPrivateGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1DatacentersPrivateGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallUnauthorized %s", 401, payload) +} + +func (o *V1DatacentersPrivateGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallUnauthorized %s", 401, payload) +} + +func (o *V1DatacentersPrivateGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersPrivateGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersPrivateGetallForbidden creates a V1DatacentersPrivateGetallForbidden with default headers values +func NewV1DatacentersPrivateGetallForbidden() *V1DatacentersPrivateGetallForbidden { + return &V1DatacentersPrivateGetallForbidden{} +} + +/* +V1DatacentersPrivateGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1DatacentersPrivateGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters private getall forbidden response has a 2xx status code +func (o *V1DatacentersPrivateGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters private getall forbidden response has a 3xx status code +func (o *V1DatacentersPrivateGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private getall forbidden response has a 4xx status code +func (o *V1DatacentersPrivateGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 datacenters private getall forbidden response has a 5xx status code +func (o *V1DatacentersPrivateGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 datacenters private getall forbidden response a status code equal to that given +func (o *V1DatacentersPrivateGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 datacenters private getall forbidden response +func (o *V1DatacentersPrivateGetallForbidden) Code() int { + return 403 +} + +func (o *V1DatacentersPrivateGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallForbidden %s", 403, payload) +} + +func (o *V1DatacentersPrivateGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallForbidden %s", 403, payload) +} + +func (o *V1DatacentersPrivateGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersPrivateGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1DatacentersPrivateGetallInternalServerError creates a V1DatacentersPrivateGetallInternalServerError with default headers values +func NewV1DatacentersPrivateGetallInternalServerError() *V1DatacentersPrivateGetallInternalServerError { + return &V1DatacentersPrivateGetallInternalServerError{} +} + +/* +V1DatacentersPrivateGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1DatacentersPrivateGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 datacenters private getall internal server error response has a 2xx status code +func (o *V1DatacentersPrivateGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 datacenters private getall internal server error response has a 3xx status code +func (o *V1DatacentersPrivateGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 datacenters private getall internal server error response has a 4xx status code +func (o *V1DatacentersPrivateGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 datacenters private getall internal server error response has a 5xx status code +func (o *V1DatacentersPrivateGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 datacenters private getall internal server error response a status code equal to that given +func (o *V1DatacentersPrivateGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 datacenters private getall internal server error response +func (o *V1DatacentersPrivateGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1DatacentersPrivateGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallInternalServerError %s", 500, payload) +} + +func (o *V1DatacentersPrivateGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/datacenters/private][%d] v1DatacentersPrivateGetallInternalServerError %s", 500, payload) +} + +func (o *V1DatacentersPrivateGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1DatacentersPrivateGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/hardware_platforms_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/hardware_platforms_client.go new file mode 100644 index 000000000..ad8aaf87e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/hardware_platforms_client.go @@ -0,0 +1,110 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package hardware_platforms + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new hardware platforms API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new hardware platforms API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new hardware platforms API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for hardware platforms API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + ServiceBrokerHardwareplatformsGet(params *ServiceBrokerHardwareplatformsGetParams, opts ...ClientOption) (*ServiceBrokerHardwareplatformsGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +ServiceBrokerHardwareplatformsGet availables hardware statistics and limits +*/ +func (a *Client) ServiceBrokerHardwareplatformsGet(params *ServiceBrokerHardwareplatformsGetParams, opts ...ClientOption) (*ServiceBrokerHardwareplatformsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerHardwareplatformsGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.hardwareplatforms.get", + Method: "GET", + PathPattern: "/broker/v1/hardware-platforms", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerHardwareplatformsGetReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerHardwareplatformsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.hardwareplatforms.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/service_broker_hardwareplatforms_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/service_broker_hardwareplatforms_get_parameters.go new file mode 100644 index 000000000..693d196b8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/service_broker_hardwareplatforms_get_parameters.go @@ -0,0 +1,163 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package hardware_platforms + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerHardwareplatformsGetParams creates a new ServiceBrokerHardwareplatformsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerHardwareplatformsGetParams() *ServiceBrokerHardwareplatformsGetParams { + return &ServiceBrokerHardwareplatformsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerHardwareplatformsGetParamsWithTimeout creates a new ServiceBrokerHardwareplatformsGetParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerHardwareplatformsGetParamsWithTimeout(timeout time.Duration) *ServiceBrokerHardwareplatformsGetParams { + return &ServiceBrokerHardwareplatformsGetParams{ + timeout: timeout, + } +} + +// NewServiceBrokerHardwareplatformsGetParamsWithContext creates a new ServiceBrokerHardwareplatformsGetParams object +// with the ability to set a context for a request. +func NewServiceBrokerHardwareplatformsGetParamsWithContext(ctx context.Context) *ServiceBrokerHardwareplatformsGetParams { + return &ServiceBrokerHardwareplatformsGetParams{ + Context: ctx, + } +} + +// NewServiceBrokerHardwareplatformsGetParamsWithHTTPClient creates a new ServiceBrokerHardwareplatformsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerHardwareplatformsGetParamsWithHTTPClient(client *http.Client) *ServiceBrokerHardwareplatformsGetParams { + return &ServiceBrokerHardwareplatformsGetParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerHardwareplatformsGetParams contains all the parameters to send to the API endpoint + + for the service broker hardwareplatforms get operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerHardwareplatformsGetParams struct { + + /* RegionZone. + + The region zone of the cloud instance + */ + RegionZone *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker hardwareplatforms get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerHardwareplatformsGetParams) WithDefaults() *ServiceBrokerHardwareplatformsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker hardwareplatforms get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerHardwareplatformsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker hardwareplatforms get params +func (o *ServiceBrokerHardwareplatformsGetParams) WithTimeout(timeout time.Duration) *ServiceBrokerHardwareplatformsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker hardwareplatforms get params +func (o *ServiceBrokerHardwareplatformsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker hardwareplatforms get params +func (o *ServiceBrokerHardwareplatformsGetParams) WithContext(ctx context.Context) *ServiceBrokerHardwareplatformsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker hardwareplatforms get params +func (o *ServiceBrokerHardwareplatformsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker hardwareplatforms get params +func (o *ServiceBrokerHardwareplatformsGetParams) WithHTTPClient(client *http.Client) *ServiceBrokerHardwareplatformsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker hardwareplatforms get params +func (o *ServiceBrokerHardwareplatformsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithRegionZone adds the regionZone to the service broker hardwareplatforms get params +func (o *ServiceBrokerHardwareplatformsGetParams) WithRegionZone(regionZone *string) *ServiceBrokerHardwareplatformsGetParams { + o.SetRegionZone(regionZone) + return o +} + +// SetRegionZone adds the regionZone to the service broker hardwareplatforms get params +func (o *ServiceBrokerHardwareplatformsGetParams) SetRegionZone(regionZone *string) { + o.RegionZone = regionZone +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerHardwareplatformsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.RegionZone != nil { + + // query param regionZone + var qrRegionZone string + + if o.RegionZone != nil { + qrRegionZone = *o.RegionZone + } + qRegionZone := qrRegionZone + if qRegionZone != "" { + + if err := r.SetQueryParam("regionZone", qRegionZone); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/service_broker_hardwareplatforms_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/service_broker_hardwareplatforms_get_responses.go new file mode 100644 index 000000000..9fb60984e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms/service_broker_hardwareplatforms_get_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package hardware_platforms + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerHardwareplatformsGetReader is a Reader for the ServiceBrokerHardwareplatformsGet structure. +type ServiceBrokerHardwareplatformsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerHardwareplatformsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerHardwareplatformsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerHardwareplatformsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerHardwareplatformsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerHardwareplatformsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerHardwareplatformsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerHardwareplatformsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/hardware-platforms] serviceBroker.hardwareplatforms.get", response, response.Code()) + } +} + +// NewServiceBrokerHardwareplatformsGetOK creates a ServiceBrokerHardwareplatformsGetOK with default headers values +func NewServiceBrokerHardwareplatformsGetOK() *ServiceBrokerHardwareplatformsGetOK { + return &ServiceBrokerHardwareplatformsGetOK{} +} + +/* +ServiceBrokerHardwareplatformsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerHardwareplatformsGetOK struct { + Payload models.HardwarePlatforms +} + +// IsSuccess returns true when this service broker hardwareplatforms get o k response has a 2xx status code +func (o *ServiceBrokerHardwareplatformsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker hardwareplatforms get o k response has a 3xx status code +func (o *ServiceBrokerHardwareplatformsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker hardwareplatforms get o k response has a 4xx status code +func (o *ServiceBrokerHardwareplatformsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker hardwareplatforms get o k response has a 5xx status code +func (o *ServiceBrokerHardwareplatformsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker hardwareplatforms get o k response a status code equal to that given +func (o *ServiceBrokerHardwareplatformsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker hardwareplatforms get o k response +func (o *ServiceBrokerHardwareplatformsGetOK) Code() int { + return 200 +} + +func (o *ServiceBrokerHardwareplatformsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetOK %s", 200, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetOK %s", 200, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetOK) GetPayload() models.HardwarePlatforms { + return o.Payload +} + +func (o *ServiceBrokerHardwareplatformsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHardwareplatformsGetBadRequest creates a ServiceBrokerHardwareplatformsGetBadRequest with default headers values +func NewServiceBrokerHardwareplatformsGetBadRequest() *ServiceBrokerHardwareplatformsGetBadRequest { + return &ServiceBrokerHardwareplatformsGetBadRequest{} +} + +/* +ServiceBrokerHardwareplatformsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerHardwareplatformsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker hardwareplatforms get bad request response has a 2xx status code +func (o *ServiceBrokerHardwareplatformsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker hardwareplatforms get bad request response has a 3xx status code +func (o *ServiceBrokerHardwareplatformsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker hardwareplatforms get bad request response has a 4xx status code +func (o *ServiceBrokerHardwareplatformsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker hardwareplatforms get bad request response has a 5xx status code +func (o *ServiceBrokerHardwareplatformsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker hardwareplatforms get bad request response a status code equal to that given +func (o *ServiceBrokerHardwareplatformsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker hardwareplatforms get bad request response +func (o *ServiceBrokerHardwareplatformsGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerHardwareplatformsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHardwareplatformsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHardwareplatformsGetUnauthorized creates a ServiceBrokerHardwareplatformsGetUnauthorized with default headers values +func NewServiceBrokerHardwareplatformsGetUnauthorized() *ServiceBrokerHardwareplatformsGetUnauthorized { + return &ServiceBrokerHardwareplatformsGetUnauthorized{} +} + +/* +ServiceBrokerHardwareplatformsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerHardwareplatformsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker hardwareplatforms get unauthorized response has a 2xx status code +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker hardwareplatforms get unauthorized response has a 3xx status code +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker hardwareplatforms get unauthorized response has a 4xx status code +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker hardwareplatforms get unauthorized response has a 5xx status code +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker hardwareplatforms get unauthorized response a status code equal to that given +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker hardwareplatforms get unauthorized response +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHardwareplatformsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHardwareplatformsGetForbidden creates a ServiceBrokerHardwareplatformsGetForbidden with default headers values +func NewServiceBrokerHardwareplatformsGetForbidden() *ServiceBrokerHardwareplatformsGetForbidden { + return &ServiceBrokerHardwareplatformsGetForbidden{} +} + +/* +ServiceBrokerHardwareplatformsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerHardwareplatformsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker hardwareplatforms get forbidden response has a 2xx status code +func (o *ServiceBrokerHardwareplatformsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker hardwareplatforms get forbidden response has a 3xx status code +func (o *ServiceBrokerHardwareplatformsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker hardwareplatforms get forbidden response has a 4xx status code +func (o *ServiceBrokerHardwareplatformsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker hardwareplatforms get forbidden response has a 5xx status code +func (o *ServiceBrokerHardwareplatformsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker hardwareplatforms get forbidden response a status code equal to that given +func (o *ServiceBrokerHardwareplatformsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker hardwareplatforms get forbidden response +func (o *ServiceBrokerHardwareplatformsGetForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerHardwareplatformsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHardwareplatformsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHardwareplatformsGetNotFound creates a ServiceBrokerHardwareplatformsGetNotFound with default headers values +func NewServiceBrokerHardwareplatformsGetNotFound() *ServiceBrokerHardwareplatformsGetNotFound { + return &ServiceBrokerHardwareplatformsGetNotFound{} +} + +/* +ServiceBrokerHardwareplatformsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerHardwareplatformsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker hardwareplatforms get not found response has a 2xx status code +func (o *ServiceBrokerHardwareplatformsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker hardwareplatforms get not found response has a 3xx status code +func (o *ServiceBrokerHardwareplatformsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker hardwareplatforms get not found response has a 4xx status code +func (o *ServiceBrokerHardwareplatformsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker hardwareplatforms get not found response has a 5xx status code +func (o *ServiceBrokerHardwareplatformsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker hardwareplatforms get not found response a status code equal to that given +func (o *ServiceBrokerHardwareplatformsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker hardwareplatforms get not found response +func (o *ServiceBrokerHardwareplatformsGetNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerHardwareplatformsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHardwareplatformsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHardwareplatformsGetInternalServerError creates a ServiceBrokerHardwareplatformsGetInternalServerError with default headers values +func NewServiceBrokerHardwareplatformsGetInternalServerError() *ServiceBrokerHardwareplatformsGetInternalServerError { + return &ServiceBrokerHardwareplatformsGetInternalServerError{} +} + +/* +ServiceBrokerHardwareplatformsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerHardwareplatformsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker hardwareplatforms get internal server error response has a 2xx status code +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker hardwareplatforms get internal server error response has a 3xx status code +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker hardwareplatforms get internal server error response has a 4xx status code +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker hardwareplatforms get internal server error response has a 5xx status code +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker hardwareplatforms get internal server error response a status code equal to that given +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker hardwareplatforms get internal server error response +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/hardware-platforms][%d] serviceBrokerHardwareplatformsGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHardwareplatformsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/host_groups_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/host_groups_client.go new file mode 100644 index 000000000..6ee71ff1e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/host_groups_client.go @@ -0,0 +1,525 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new host groups API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new host groups API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new host groups API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for host groups API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1AvailableHosts(params *V1AvailableHostsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1AvailableHostsOK, error) + + V1HostGroupsGet(params *V1HostGroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostGroupsGetOK, error) + + V1HostGroupsIDGet(params *V1HostGroupsIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostGroupsIDGetOK, error) + + V1HostGroupsIDPut(params *V1HostGroupsIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostGroupsIDPutOK, error) + + V1HostGroupsPost(params *V1HostGroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostGroupsPostCreated, error) + + V1HostsGet(params *V1HostsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsGetOK, error) + + V1HostsIDDelete(params *V1HostsIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsIDDeleteAccepted, error) + + V1HostsIDGet(params *V1HostsIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsIDGetOK, error) + + V1HostsIDPut(params *V1HostsIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsIDPutOK, error) + + V1HostsPost(params *V1HostsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1AvailableHosts lists all the hosts that can be reserved +*/ +func (a *Client) V1AvailableHosts(params *V1AvailableHostsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1AvailableHostsOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1AvailableHostsParams() + } + op := &runtime.ClientOperation{ + ID: "v1.availableHosts", + Method: "GET", + PathPattern: "/v1/available-hosts", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1AvailableHostsReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1AvailableHostsOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.availableHosts: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostGroupsGet gets the list of host groups for the workspace +*/ +func (a *Client) V1HostGroupsGet(params *V1HostGroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostGroupsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostGroupsGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hostGroups.get", + Method: "GET", + PathPattern: "/v1/host-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostGroupsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostGroupsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hostGroups.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostGroupsIDGet gets the details of a host group +*/ +func (a *Client) V1HostGroupsIDGet(params *V1HostGroupsIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostGroupsIDGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostGroupsIDGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hostGroups.id.get", + Method: "GET", + PathPattern: "/v1/host-groups/{host_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostGroupsIDGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostGroupsIDGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hostGroups.id.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostGroupsIDPut shares unshare a host group with another workspace +*/ +func (a *Client) V1HostGroupsIDPut(params *V1HostGroupsIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostGroupsIDPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostGroupsIDPutParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hostGroups.id.put", + Method: "PUT", + PathPattern: "/v1/host-groups/{host_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostGroupsIDPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostGroupsIDPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hostGroups.id.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostGroupsPost creates a host group with one or more host +*/ +func (a *Client) V1HostGroupsPost(params *V1HostGroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostGroupsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostGroupsPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hostGroups.post", + Method: "POST", + PathPattern: "/v1/host-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostGroupsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostGroupsPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hostGroups.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostsGet gets the list of all the hosts the workspace has access to +*/ +func (a *Client) V1HostsGet(params *V1HostsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostsGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hosts.get", + Method: "GET", + PathPattern: "/v1/hosts", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hosts.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostsIDDelete releases a host from its host group +*/ +func (a *Client) V1HostsIDDelete(params *V1HostsIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsIDDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostsIDDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hosts.id.delete", + Method: "DELETE", + PathPattern: "/v1/hosts/{host_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostsIDDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostsIDDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hosts.id.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostsIDGet gets the details about a host +*/ +func (a *Client) V1HostsIDGet(params *V1HostsIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsIDGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostsIDGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hosts.id.get", + Method: "GET", + PathPattern: "/v1/hosts/{host_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostsIDGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostsIDGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hosts.id.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostsIDPut modifies the display name of a host +*/ +func (a *Client) V1HostsIDPut(params *V1HostsIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsIDPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostsIDPutParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hosts.id.put", + Method: "PUT", + PathPattern: "/v1/hosts/{host_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostsIDPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostsIDPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hosts.id.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1HostsPost adds new host s to an existing host group +*/ +func (a *Client) V1HostsPost(params *V1HostsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1HostsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1HostsPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.hosts.post", + Method: "POST", + PathPattern: "/v1/hosts", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1HostsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1HostsPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.hosts.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_available_hosts_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_available_hosts_parameters.go new file mode 100644 index 000000000..8a26b9cd6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_available_hosts_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1AvailableHostsParams creates a new V1AvailableHostsParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1AvailableHostsParams() *V1AvailableHostsParams { + return &V1AvailableHostsParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1AvailableHostsParamsWithTimeout creates a new V1AvailableHostsParams object +// with the ability to set a timeout on a request. +func NewV1AvailableHostsParamsWithTimeout(timeout time.Duration) *V1AvailableHostsParams { + return &V1AvailableHostsParams{ + timeout: timeout, + } +} + +// NewV1AvailableHostsParamsWithContext creates a new V1AvailableHostsParams object +// with the ability to set a context for a request. +func NewV1AvailableHostsParamsWithContext(ctx context.Context) *V1AvailableHostsParams { + return &V1AvailableHostsParams{ + Context: ctx, + } +} + +// NewV1AvailableHostsParamsWithHTTPClient creates a new V1AvailableHostsParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1AvailableHostsParamsWithHTTPClient(client *http.Client) *V1AvailableHostsParams { + return &V1AvailableHostsParams{ + HTTPClient: client, + } +} + +/* +V1AvailableHostsParams contains all the parameters to send to the API endpoint + + for the v1 available hosts operation. + + Typically these are written to a http.Request. +*/ +type V1AvailableHostsParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 available hosts params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1AvailableHostsParams) WithDefaults() *V1AvailableHostsParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 available hosts params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1AvailableHostsParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 available hosts params +func (o *V1AvailableHostsParams) WithTimeout(timeout time.Duration) *V1AvailableHostsParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 available hosts params +func (o *V1AvailableHostsParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 available hosts params +func (o *V1AvailableHostsParams) WithContext(ctx context.Context) *V1AvailableHostsParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 available hosts params +func (o *V1AvailableHostsParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 available hosts params +func (o *V1AvailableHostsParams) WithHTTPClient(client *http.Client) *V1AvailableHostsParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 available hosts params +func (o *V1AvailableHostsParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1AvailableHostsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_available_hosts_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_available_hosts_responses.go new file mode 100644 index 000000000..56b1723f7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_available_hosts_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1AvailableHostsReader is a Reader for the V1AvailableHosts structure. +type V1AvailableHostsReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1AvailableHostsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1AvailableHostsOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1AvailableHostsBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1AvailableHostsUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1AvailableHostsForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1AvailableHostsInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1AvailableHostsGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/available-hosts] v1.availableHosts", response, response.Code()) + } +} + +// NewV1AvailableHostsOK creates a V1AvailableHostsOK with default headers values +func NewV1AvailableHostsOK() *V1AvailableHostsOK { + return &V1AvailableHostsOK{} +} + +/* +V1AvailableHostsOK describes a response with status code 200, with default header values. + +OK +*/ +type V1AvailableHostsOK struct { + Payload models.AvailableHostList +} + +// IsSuccess returns true when this v1 available hosts o k response has a 2xx status code +func (o *V1AvailableHostsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 available hosts o k response has a 3xx status code +func (o *V1AvailableHostsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 available hosts o k response has a 4xx status code +func (o *V1AvailableHostsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 available hosts o k response has a 5xx status code +func (o *V1AvailableHostsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 available hosts o k response a status code equal to that given +func (o *V1AvailableHostsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 available hosts o k response +func (o *V1AvailableHostsOK) Code() int { + return 200 +} + +func (o *V1AvailableHostsOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsOK %s", 200, payload) +} + +func (o *V1AvailableHostsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsOK %s", 200, payload) +} + +func (o *V1AvailableHostsOK) GetPayload() models.AvailableHostList { + return o.Payload +} + +func (o *V1AvailableHostsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1AvailableHostsBadRequest creates a V1AvailableHostsBadRequest with default headers values +func NewV1AvailableHostsBadRequest() *V1AvailableHostsBadRequest { + return &V1AvailableHostsBadRequest{} +} + +/* +V1AvailableHostsBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1AvailableHostsBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 available hosts bad request response has a 2xx status code +func (o *V1AvailableHostsBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 available hosts bad request response has a 3xx status code +func (o *V1AvailableHostsBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 available hosts bad request response has a 4xx status code +func (o *V1AvailableHostsBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 available hosts bad request response has a 5xx status code +func (o *V1AvailableHostsBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 available hosts bad request response a status code equal to that given +func (o *V1AvailableHostsBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 available hosts bad request response +func (o *V1AvailableHostsBadRequest) Code() int { + return 400 +} + +func (o *V1AvailableHostsBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsBadRequest %s", 400, payload) +} + +func (o *V1AvailableHostsBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsBadRequest %s", 400, payload) +} + +func (o *V1AvailableHostsBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1AvailableHostsBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1AvailableHostsUnauthorized creates a V1AvailableHostsUnauthorized with default headers values +func NewV1AvailableHostsUnauthorized() *V1AvailableHostsUnauthorized { + return &V1AvailableHostsUnauthorized{} +} + +/* +V1AvailableHostsUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1AvailableHostsUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 available hosts unauthorized response has a 2xx status code +func (o *V1AvailableHostsUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 available hosts unauthorized response has a 3xx status code +func (o *V1AvailableHostsUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 available hosts unauthorized response has a 4xx status code +func (o *V1AvailableHostsUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 available hosts unauthorized response has a 5xx status code +func (o *V1AvailableHostsUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 available hosts unauthorized response a status code equal to that given +func (o *V1AvailableHostsUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 available hosts unauthorized response +func (o *V1AvailableHostsUnauthorized) Code() int { + return 401 +} + +func (o *V1AvailableHostsUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsUnauthorized %s", 401, payload) +} + +func (o *V1AvailableHostsUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsUnauthorized %s", 401, payload) +} + +func (o *V1AvailableHostsUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1AvailableHostsUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1AvailableHostsForbidden creates a V1AvailableHostsForbidden with default headers values +func NewV1AvailableHostsForbidden() *V1AvailableHostsForbidden { + return &V1AvailableHostsForbidden{} +} + +/* +V1AvailableHostsForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1AvailableHostsForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 available hosts forbidden response has a 2xx status code +func (o *V1AvailableHostsForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 available hosts forbidden response has a 3xx status code +func (o *V1AvailableHostsForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 available hosts forbidden response has a 4xx status code +func (o *V1AvailableHostsForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 available hosts forbidden response has a 5xx status code +func (o *V1AvailableHostsForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 available hosts forbidden response a status code equal to that given +func (o *V1AvailableHostsForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 available hosts forbidden response +func (o *V1AvailableHostsForbidden) Code() int { + return 403 +} + +func (o *V1AvailableHostsForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsForbidden %s", 403, payload) +} + +func (o *V1AvailableHostsForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsForbidden %s", 403, payload) +} + +func (o *V1AvailableHostsForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1AvailableHostsForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1AvailableHostsInternalServerError creates a V1AvailableHostsInternalServerError with default headers values +func NewV1AvailableHostsInternalServerError() *V1AvailableHostsInternalServerError { + return &V1AvailableHostsInternalServerError{} +} + +/* +V1AvailableHostsInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1AvailableHostsInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 available hosts internal server error response has a 2xx status code +func (o *V1AvailableHostsInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 available hosts internal server error response has a 3xx status code +func (o *V1AvailableHostsInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 available hosts internal server error response has a 4xx status code +func (o *V1AvailableHostsInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 available hosts internal server error response has a 5xx status code +func (o *V1AvailableHostsInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 available hosts internal server error response a status code equal to that given +func (o *V1AvailableHostsInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 available hosts internal server error response +func (o *V1AvailableHostsInternalServerError) Code() int { + return 500 +} + +func (o *V1AvailableHostsInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsInternalServerError %s", 500, payload) +} + +func (o *V1AvailableHostsInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsInternalServerError %s", 500, payload) +} + +func (o *V1AvailableHostsInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1AvailableHostsInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1AvailableHostsGatewayTimeout creates a V1AvailableHostsGatewayTimeout with default headers values +func NewV1AvailableHostsGatewayTimeout() *V1AvailableHostsGatewayTimeout { + return &V1AvailableHostsGatewayTimeout{} +} + +/* +V1AvailableHostsGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1AvailableHostsGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 available hosts gateway timeout response has a 2xx status code +func (o *V1AvailableHostsGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 available hosts gateway timeout response has a 3xx status code +func (o *V1AvailableHostsGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 available hosts gateway timeout response has a 4xx status code +func (o *V1AvailableHostsGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 available hosts gateway timeout response has a 5xx status code +func (o *V1AvailableHostsGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 available hosts gateway timeout response a status code equal to that given +func (o *V1AvailableHostsGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 available hosts gateway timeout response +func (o *V1AvailableHostsGatewayTimeout) Code() int { + return 504 +} + +func (o *V1AvailableHostsGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsGatewayTimeout %s", 504, payload) +} + +func (o *V1AvailableHostsGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/available-hosts][%d] v1AvailableHostsGatewayTimeout %s", 504, payload) +} + +func (o *V1AvailableHostsGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1AvailableHostsGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_get_parameters.go new file mode 100644 index 000000000..91bf33dee --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_get_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1HostGroupsGetParams creates a new V1HostGroupsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostGroupsGetParams() *V1HostGroupsGetParams { + return &V1HostGroupsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostGroupsGetParamsWithTimeout creates a new V1HostGroupsGetParams object +// with the ability to set a timeout on a request. +func NewV1HostGroupsGetParamsWithTimeout(timeout time.Duration) *V1HostGroupsGetParams { + return &V1HostGroupsGetParams{ + timeout: timeout, + } +} + +// NewV1HostGroupsGetParamsWithContext creates a new V1HostGroupsGetParams object +// with the ability to set a context for a request. +func NewV1HostGroupsGetParamsWithContext(ctx context.Context) *V1HostGroupsGetParams { + return &V1HostGroupsGetParams{ + Context: ctx, + } +} + +// NewV1HostGroupsGetParamsWithHTTPClient creates a new V1HostGroupsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostGroupsGetParamsWithHTTPClient(client *http.Client) *V1HostGroupsGetParams { + return &V1HostGroupsGetParams{ + HTTPClient: client, + } +} + +/* +V1HostGroupsGetParams contains all the parameters to send to the API endpoint + + for the v1 host groups get operation. + + Typically these are written to a http.Request. +*/ +type V1HostGroupsGetParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 host groups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostGroupsGetParams) WithDefaults() *V1HostGroupsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 host groups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostGroupsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 host groups get params +func (o *V1HostGroupsGetParams) WithTimeout(timeout time.Duration) *V1HostGroupsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 host groups get params +func (o *V1HostGroupsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 host groups get params +func (o *V1HostGroupsGetParams) WithContext(ctx context.Context) *V1HostGroupsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 host groups get params +func (o *V1HostGroupsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 host groups get params +func (o *V1HostGroupsGetParams) WithHTTPClient(client *http.Client) *V1HostGroupsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 host groups get params +func (o *V1HostGroupsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostGroupsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_get_responses.go new file mode 100644 index 000000000..1b93cce91 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_get_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostGroupsGetReader is a Reader for the V1HostGroupsGet structure. +type V1HostGroupsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostGroupsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1HostGroupsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostGroupsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostGroupsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostGroupsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostGroupsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostGroupsGetGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/host-groups] v1.hostGroups.get", response, response.Code()) + } +} + +// NewV1HostGroupsGetOK creates a V1HostGroupsGetOK with default headers values +func NewV1HostGroupsGetOK() *V1HostGroupsGetOK { + return &V1HostGroupsGetOK{} +} + +/* +V1HostGroupsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1HostGroupsGetOK struct { + Payload models.HostGroupList +} + +// IsSuccess returns true when this v1 host groups get o k response has a 2xx status code +func (o *V1HostGroupsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 host groups get o k response has a 3xx status code +func (o *V1HostGroupsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups get o k response has a 4xx status code +func (o *V1HostGroupsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups get o k response has a 5xx status code +func (o *V1HostGroupsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups get o k response a status code equal to that given +func (o *V1HostGroupsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 host groups get o k response +func (o *V1HostGroupsGetOK) Code() int { + return 200 +} + +func (o *V1HostGroupsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetOK %s", 200, payload) +} + +func (o *V1HostGroupsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetOK %s", 200, payload) +} + +func (o *V1HostGroupsGetOK) GetPayload() models.HostGroupList { + return o.Payload +} + +func (o *V1HostGroupsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsGetBadRequest creates a V1HostGroupsGetBadRequest with default headers values +func NewV1HostGroupsGetBadRequest() *V1HostGroupsGetBadRequest { + return &V1HostGroupsGetBadRequest{} +} + +/* +V1HostGroupsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostGroupsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups get bad request response has a 2xx status code +func (o *V1HostGroupsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups get bad request response has a 3xx status code +func (o *V1HostGroupsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups get bad request response has a 4xx status code +func (o *V1HostGroupsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups get bad request response has a 5xx status code +func (o *V1HostGroupsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups get bad request response a status code equal to that given +func (o *V1HostGroupsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 host groups get bad request response +func (o *V1HostGroupsGetBadRequest) Code() int { + return 400 +} + +func (o *V1HostGroupsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetBadRequest %s", 400, payload) +} + +func (o *V1HostGroupsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetBadRequest %s", 400, payload) +} + +func (o *V1HostGroupsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsGetUnauthorized creates a V1HostGroupsGetUnauthorized with default headers values +func NewV1HostGroupsGetUnauthorized() *V1HostGroupsGetUnauthorized { + return &V1HostGroupsGetUnauthorized{} +} + +/* +V1HostGroupsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostGroupsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups get unauthorized response has a 2xx status code +func (o *V1HostGroupsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups get unauthorized response has a 3xx status code +func (o *V1HostGroupsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups get unauthorized response has a 4xx status code +func (o *V1HostGroupsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups get unauthorized response has a 5xx status code +func (o *V1HostGroupsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups get unauthorized response a status code equal to that given +func (o *V1HostGroupsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 host groups get unauthorized response +func (o *V1HostGroupsGetUnauthorized) Code() int { + return 401 +} + +func (o *V1HostGroupsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetUnauthorized %s", 401, payload) +} + +func (o *V1HostGroupsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetUnauthorized %s", 401, payload) +} + +func (o *V1HostGroupsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsGetForbidden creates a V1HostGroupsGetForbidden with default headers values +func NewV1HostGroupsGetForbidden() *V1HostGroupsGetForbidden { + return &V1HostGroupsGetForbidden{} +} + +/* +V1HostGroupsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostGroupsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups get forbidden response has a 2xx status code +func (o *V1HostGroupsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups get forbidden response has a 3xx status code +func (o *V1HostGroupsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups get forbidden response has a 4xx status code +func (o *V1HostGroupsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups get forbidden response has a 5xx status code +func (o *V1HostGroupsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups get forbidden response a status code equal to that given +func (o *V1HostGroupsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 host groups get forbidden response +func (o *V1HostGroupsGetForbidden) Code() int { + return 403 +} + +func (o *V1HostGroupsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetForbidden %s", 403, payload) +} + +func (o *V1HostGroupsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetForbidden %s", 403, payload) +} + +func (o *V1HostGroupsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsGetInternalServerError creates a V1HostGroupsGetInternalServerError with default headers values +func NewV1HostGroupsGetInternalServerError() *V1HostGroupsGetInternalServerError { + return &V1HostGroupsGetInternalServerError{} +} + +/* +V1HostGroupsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostGroupsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups get internal server error response has a 2xx status code +func (o *V1HostGroupsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups get internal server error response has a 3xx status code +func (o *V1HostGroupsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups get internal server error response has a 4xx status code +func (o *V1HostGroupsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups get internal server error response has a 5xx status code +func (o *V1HostGroupsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 host groups get internal server error response a status code equal to that given +func (o *V1HostGroupsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 host groups get internal server error response +func (o *V1HostGroupsGetInternalServerError) Code() int { + return 500 +} + +func (o *V1HostGroupsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetInternalServerError %s", 500, payload) +} + +func (o *V1HostGroupsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetInternalServerError %s", 500, payload) +} + +func (o *V1HostGroupsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsGetGatewayTimeout creates a V1HostGroupsGetGatewayTimeout with default headers values +func NewV1HostGroupsGetGatewayTimeout() *V1HostGroupsGetGatewayTimeout { + return &V1HostGroupsGetGatewayTimeout{} +} + +/* +V1HostGroupsGetGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostGroupsGetGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups get gateway timeout response has a 2xx status code +func (o *V1HostGroupsGetGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups get gateway timeout response has a 3xx status code +func (o *V1HostGroupsGetGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups get gateway timeout response has a 4xx status code +func (o *V1HostGroupsGetGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups get gateway timeout response has a 5xx status code +func (o *V1HostGroupsGetGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 host groups get gateway timeout response a status code equal to that given +func (o *V1HostGroupsGetGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 host groups get gateway timeout response +func (o *V1HostGroupsGetGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostGroupsGetGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetGatewayTimeout %s", 504, payload) +} + +func (o *V1HostGroupsGetGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups][%d] v1HostGroupsGetGatewayTimeout %s", 504, payload) +} + +func (o *V1HostGroupsGetGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsGetGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_get_parameters.go new file mode 100644 index 000000000..2952b90a0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1HostGroupsIDGetParams creates a new V1HostGroupsIDGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostGroupsIDGetParams() *V1HostGroupsIDGetParams { + return &V1HostGroupsIDGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostGroupsIDGetParamsWithTimeout creates a new V1HostGroupsIDGetParams object +// with the ability to set a timeout on a request. +func NewV1HostGroupsIDGetParamsWithTimeout(timeout time.Duration) *V1HostGroupsIDGetParams { + return &V1HostGroupsIDGetParams{ + timeout: timeout, + } +} + +// NewV1HostGroupsIDGetParamsWithContext creates a new V1HostGroupsIDGetParams object +// with the ability to set a context for a request. +func NewV1HostGroupsIDGetParamsWithContext(ctx context.Context) *V1HostGroupsIDGetParams { + return &V1HostGroupsIDGetParams{ + Context: ctx, + } +} + +// NewV1HostGroupsIDGetParamsWithHTTPClient creates a new V1HostGroupsIDGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostGroupsIDGetParamsWithHTTPClient(client *http.Client) *V1HostGroupsIDGetParams { + return &V1HostGroupsIDGetParams{ + HTTPClient: client, + } +} + +/* +V1HostGroupsIDGetParams contains all the parameters to send to the API endpoint + + for the v1 host groups id get operation. + + Typically these are written to a http.Request. +*/ +type V1HostGroupsIDGetParams struct { + + /* HostGroupID. + + Hostgroup ID + */ + HostGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 host groups id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostGroupsIDGetParams) WithDefaults() *V1HostGroupsIDGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 host groups id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostGroupsIDGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 host groups id get params +func (o *V1HostGroupsIDGetParams) WithTimeout(timeout time.Duration) *V1HostGroupsIDGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 host groups id get params +func (o *V1HostGroupsIDGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 host groups id get params +func (o *V1HostGroupsIDGetParams) WithContext(ctx context.Context) *V1HostGroupsIDGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 host groups id get params +func (o *V1HostGroupsIDGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 host groups id get params +func (o *V1HostGroupsIDGetParams) WithHTTPClient(client *http.Client) *V1HostGroupsIDGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 host groups id get params +func (o *V1HostGroupsIDGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithHostGroupID adds the hostGroupID to the v1 host groups id get params +func (o *V1HostGroupsIDGetParams) WithHostGroupID(hostGroupID string) *V1HostGroupsIDGetParams { + o.SetHostGroupID(hostGroupID) + return o +} + +// SetHostGroupID adds the hostGroupId to the v1 host groups id get params +func (o *V1HostGroupsIDGetParams) SetHostGroupID(hostGroupID string) { + o.HostGroupID = hostGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostGroupsIDGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param host_group_id + if err := r.SetPathParam("host_group_id", o.HostGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_get_responses.go new file mode 100644 index 000000000..dd2002d19 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostGroupsIDGetReader is a Reader for the V1HostGroupsIDGet structure. +type V1HostGroupsIDGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostGroupsIDGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1HostGroupsIDGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostGroupsIDGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostGroupsIDGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostGroupsIDGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1HostGroupsIDGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostGroupsIDGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostGroupsIDGetGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/host-groups/{host_group_id}] v1.hostGroups.id.get", response, response.Code()) + } +} + +// NewV1HostGroupsIDGetOK creates a V1HostGroupsIDGetOK with default headers values +func NewV1HostGroupsIDGetOK() *V1HostGroupsIDGetOK { + return &V1HostGroupsIDGetOK{} +} + +/* +V1HostGroupsIDGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1HostGroupsIDGetOK struct { + Payload *models.HostGroup +} + +// IsSuccess returns true when this v1 host groups Id get o k response has a 2xx status code +func (o *V1HostGroupsIDGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 host groups Id get o k response has a 3xx status code +func (o *V1HostGroupsIDGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id get o k response has a 4xx status code +func (o *V1HostGroupsIDGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups Id get o k response has a 5xx status code +func (o *V1HostGroupsIDGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id get o k response a status code equal to that given +func (o *V1HostGroupsIDGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 host groups Id get o k response +func (o *V1HostGroupsIDGetOK) Code() int { + return 200 +} + +func (o *V1HostGroupsIDGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetOK %s", 200, payload) +} + +func (o *V1HostGroupsIDGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetOK %s", 200, payload) +} + +func (o *V1HostGroupsIDGetOK) GetPayload() *models.HostGroup { + return o.Payload +} + +func (o *V1HostGroupsIDGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.HostGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDGetBadRequest creates a V1HostGroupsIDGetBadRequest with default headers values +func NewV1HostGroupsIDGetBadRequest() *V1HostGroupsIDGetBadRequest { + return &V1HostGroupsIDGetBadRequest{} +} + +/* +V1HostGroupsIDGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostGroupsIDGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id get bad request response has a 2xx status code +func (o *V1HostGroupsIDGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id get bad request response has a 3xx status code +func (o *V1HostGroupsIDGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id get bad request response has a 4xx status code +func (o *V1HostGroupsIDGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id get bad request response has a 5xx status code +func (o *V1HostGroupsIDGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id get bad request response a status code equal to that given +func (o *V1HostGroupsIDGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 host groups Id get bad request response +func (o *V1HostGroupsIDGetBadRequest) Code() int { + return 400 +} + +func (o *V1HostGroupsIDGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetBadRequest %s", 400, payload) +} + +func (o *V1HostGroupsIDGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetBadRequest %s", 400, payload) +} + +func (o *V1HostGroupsIDGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDGetUnauthorized creates a V1HostGroupsIDGetUnauthorized with default headers values +func NewV1HostGroupsIDGetUnauthorized() *V1HostGroupsIDGetUnauthorized { + return &V1HostGroupsIDGetUnauthorized{} +} + +/* +V1HostGroupsIDGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostGroupsIDGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id get unauthorized response has a 2xx status code +func (o *V1HostGroupsIDGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id get unauthorized response has a 3xx status code +func (o *V1HostGroupsIDGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id get unauthorized response has a 4xx status code +func (o *V1HostGroupsIDGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id get unauthorized response has a 5xx status code +func (o *V1HostGroupsIDGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id get unauthorized response a status code equal to that given +func (o *V1HostGroupsIDGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 host groups Id get unauthorized response +func (o *V1HostGroupsIDGetUnauthorized) Code() int { + return 401 +} + +func (o *V1HostGroupsIDGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetUnauthorized %s", 401, payload) +} + +func (o *V1HostGroupsIDGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetUnauthorized %s", 401, payload) +} + +func (o *V1HostGroupsIDGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDGetForbidden creates a V1HostGroupsIDGetForbidden with default headers values +func NewV1HostGroupsIDGetForbidden() *V1HostGroupsIDGetForbidden { + return &V1HostGroupsIDGetForbidden{} +} + +/* +V1HostGroupsIDGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostGroupsIDGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id get forbidden response has a 2xx status code +func (o *V1HostGroupsIDGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id get forbidden response has a 3xx status code +func (o *V1HostGroupsIDGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id get forbidden response has a 4xx status code +func (o *V1HostGroupsIDGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id get forbidden response has a 5xx status code +func (o *V1HostGroupsIDGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id get forbidden response a status code equal to that given +func (o *V1HostGroupsIDGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 host groups Id get forbidden response +func (o *V1HostGroupsIDGetForbidden) Code() int { + return 403 +} + +func (o *V1HostGroupsIDGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetForbidden %s", 403, payload) +} + +func (o *V1HostGroupsIDGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetForbidden %s", 403, payload) +} + +func (o *V1HostGroupsIDGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDGetNotFound creates a V1HostGroupsIDGetNotFound with default headers values +func NewV1HostGroupsIDGetNotFound() *V1HostGroupsIDGetNotFound { + return &V1HostGroupsIDGetNotFound{} +} + +/* +V1HostGroupsIDGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1HostGroupsIDGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id get not found response has a 2xx status code +func (o *V1HostGroupsIDGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id get not found response has a 3xx status code +func (o *V1HostGroupsIDGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id get not found response has a 4xx status code +func (o *V1HostGroupsIDGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id get not found response has a 5xx status code +func (o *V1HostGroupsIDGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id get not found response a status code equal to that given +func (o *V1HostGroupsIDGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 host groups Id get not found response +func (o *V1HostGroupsIDGetNotFound) Code() int { + return 404 +} + +func (o *V1HostGroupsIDGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetNotFound %s", 404, payload) +} + +func (o *V1HostGroupsIDGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetNotFound %s", 404, payload) +} + +func (o *V1HostGroupsIDGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDGetInternalServerError creates a V1HostGroupsIDGetInternalServerError with default headers values +func NewV1HostGroupsIDGetInternalServerError() *V1HostGroupsIDGetInternalServerError { + return &V1HostGroupsIDGetInternalServerError{} +} + +/* +V1HostGroupsIDGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostGroupsIDGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id get internal server error response has a 2xx status code +func (o *V1HostGroupsIDGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id get internal server error response has a 3xx status code +func (o *V1HostGroupsIDGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id get internal server error response has a 4xx status code +func (o *V1HostGroupsIDGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups Id get internal server error response has a 5xx status code +func (o *V1HostGroupsIDGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 host groups Id get internal server error response a status code equal to that given +func (o *V1HostGroupsIDGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 host groups Id get internal server error response +func (o *V1HostGroupsIDGetInternalServerError) Code() int { + return 500 +} + +func (o *V1HostGroupsIDGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetInternalServerError %s", 500, payload) +} + +func (o *V1HostGroupsIDGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetInternalServerError %s", 500, payload) +} + +func (o *V1HostGroupsIDGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDGetGatewayTimeout creates a V1HostGroupsIDGetGatewayTimeout with default headers values +func NewV1HostGroupsIDGetGatewayTimeout() *V1HostGroupsIDGetGatewayTimeout { + return &V1HostGroupsIDGetGatewayTimeout{} +} + +/* +V1HostGroupsIDGetGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostGroupsIDGetGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id get gateway timeout response has a 2xx status code +func (o *V1HostGroupsIDGetGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id get gateway timeout response has a 3xx status code +func (o *V1HostGroupsIDGetGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id get gateway timeout response has a 4xx status code +func (o *V1HostGroupsIDGetGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups Id get gateway timeout response has a 5xx status code +func (o *V1HostGroupsIDGetGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 host groups Id get gateway timeout response a status code equal to that given +func (o *V1HostGroupsIDGetGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 host groups Id get gateway timeout response +func (o *V1HostGroupsIDGetGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostGroupsIDGetGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetGatewayTimeout %s", 504, payload) +} + +func (o *V1HostGroupsIDGetGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdGetGatewayTimeout %s", 504, payload) +} + +func (o *V1HostGroupsIDGetGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDGetGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_put_parameters.go new file mode 100644 index 000000000..02a106c17 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1HostGroupsIDPutParams creates a new V1HostGroupsIDPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostGroupsIDPutParams() *V1HostGroupsIDPutParams { + return &V1HostGroupsIDPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostGroupsIDPutParamsWithTimeout creates a new V1HostGroupsIDPutParams object +// with the ability to set a timeout on a request. +func NewV1HostGroupsIDPutParamsWithTimeout(timeout time.Duration) *V1HostGroupsIDPutParams { + return &V1HostGroupsIDPutParams{ + timeout: timeout, + } +} + +// NewV1HostGroupsIDPutParamsWithContext creates a new V1HostGroupsIDPutParams object +// with the ability to set a context for a request. +func NewV1HostGroupsIDPutParamsWithContext(ctx context.Context) *V1HostGroupsIDPutParams { + return &V1HostGroupsIDPutParams{ + Context: ctx, + } +} + +// NewV1HostGroupsIDPutParamsWithHTTPClient creates a new V1HostGroupsIDPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostGroupsIDPutParamsWithHTTPClient(client *http.Client) *V1HostGroupsIDPutParams { + return &V1HostGroupsIDPutParams{ + HTTPClient: client, + } +} + +/* +V1HostGroupsIDPutParams contains all the parameters to send to the API endpoint + + for the v1 host groups id put operation. + + Typically these are written to a http.Request. +*/ +type V1HostGroupsIDPutParams struct { + + /* Body. + + Parameters to set the sharing status of the host group + */ + Body *models.HostGroupShareOp + + /* HostGroupID. + + Hostgroup ID + */ + HostGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 host groups id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostGroupsIDPutParams) WithDefaults() *V1HostGroupsIDPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 host groups id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostGroupsIDPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) WithTimeout(timeout time.Duration) *V1HostGroupsIDPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) WithContext(ctx context.Context) *V1HostGroupsIDPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) WithHTTPClient(client *http.Client) *V1HostGroupsIDPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) WithBody(body *models.HostGroupShareOp) *V1HostGroupsIDPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) SetBody(body *models.HostGroupShareOp) { + o.Body = body +} + +// WithHostGroupID adds the hostGroupID to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) WithHostGroupID(hostGroupID string) *V1HostGroupsIDPutParams { + o.SetHostGroupID(hostGroupID) + return o +} + +// SetHostGroupID adds the hostGroupId to the v1 host groups id put params +func (o *V1HostGroupsIDPutParams) SetHostGroupID(hostGroupID string) { + o.HostGroupID = hostGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostGroupsIDPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param host_group_id + if err := r.SetPathParam("host_group_id", o.HostGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_put_responses.go new file mode 100644 index 000000000..104fc66ef --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_id_put_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostGroupsIDPutReader is a Reader for the V1HostGroupsIDPut structure. +type V1HostGroupsIDPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostGroupsIDPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1HostGroupsIDPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostGroupsIDPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostGroupsIDPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostGroupsIDPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1HostGroupsIDPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1HostGroupsIDPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostGroupsIDPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostGroupsIDPutGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/host-groups/{host_group_id}] v1.hostGroups.id.put", response, response.Code()) + } +} + +// NewV1HostGroupsIDPutOK creates a V1HostGroupsIDPutOK with default headers values +func NewV1HostGroupsIDPutOK() *V1HostGroupsIDPutOK { + return &V1HostGroupsIDPutOK{} +} + +/* +V1HostGroupsIDPutOK describes a response with status code 200, with default header values. + +OK +*/ +type V1HostGroupsIDPutOK struct { + Payload *models.HostGroup +} + +// IsSuccess returns true when this v1 host groups Id put o k response has a 2xx status code +func (o *V1HostGroupsIDPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 host groups Id put o k response has a 3xx status code +func (o *V1HostGroupsIDPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id put o k response has a 4xx status code +func (o *V1HostGroupsIDPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups Id put o k response has a 5xx status code +func (o *V1HostGroupsIDPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id put o k response a status code equal to that given +func (o *V1HostGroupsIDPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 host groups Id put o k response +func (o *V1HostGroupsIDPutOK) Code() int { + return 200 +} + +func (o *V1HostGroupsIDPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutOK %s", 200, payload) +} + +func (o *V1HostGroupsIDPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutOK %s", 200, payload) +} + +func (o *V1HostGroupsIDPutOK) GetPayload() *models.HostGroup { + return o.Payload +} + +func (o *V1HostGroupsIDPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.HostGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDPutBadRequest creates a V1HostGroupsIDPutBadRequest with default headers values +func NewV1HostGroupsIDPutBadRequest() *V1HostGroupsIDPutBadRequest { + return &V1HostGroupsIDPutBadRequest{} +} + +/* +V1HostGroupsIDPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostGroupsIDPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id put bad request response has a 2xx status code +func (o *V1HostGroupsIDPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id put bad request response has a 3xx status code +func (o *V1HostGroupsIDPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id put bad request response has a 4xx status code +func (o *V1HostGroupsIDPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id put bad request response has a 5xx status code +func (o *V1HostGroupsIDPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id put bad request response a status code equal to that given +func (o *V1HostGroupsIDPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 host groups Id put bad request response +func (o *V1HostGroupsIDPutBadRequest) Code() int { + return 400 +} + +func (o *V1HostGroupsIDPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutBadRequest %s", 400, payload) +} + +func (o *V1HostGroupsIDPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutBadRequest %s", 400, payload) +} + +func (o *V1HostGroupsIDPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDPutUnauthorized creates a V1HostGroupsIDPutUnauthorized with default headers values +func NewV1HostGroupsIDPutUnauthorized() *V1HostGroupsIDPutUnauthorized { + return &V1HostGroupsIDPutUnauthorized{} +} + +/* +V1HostGroupsIDPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostGroupsIDPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id put unauthorized response has a 2xx status code +func (o *V1HostGroupsIDPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id put unauthorized response has a 3xx status code +func (o *V1HostGroupsIDPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id put unauthorized response has a 4xx status code +func (o *V1HostGroupsIDPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id put unauthorized response has a 5xx status code +func (o *V1HostGroupsIDPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id put unauthorized response a status code equal to that given +func (o *V1HostGroupsIDPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 host groups Id put unauthorized response +func (o *V1HostGroupsIDPutUnauthorized) Code() int { + return 401 +} + +func (o *V1HostGroupsIDPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutUnauthorized %s", 401, payload) +} + +func (o *V1HostGroupsIDPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutUnauthorized %s", 401, payload) +} + +func (o *V1HostGroupsIDPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDPutForbidden creates a V1HostGroupsIDPutForbidden with default headers values +func NewV1HostGroupsIDPutForbidden() *V1HostGroupsIDPutForbidden { + return &V1HostGroupsIDPutForbidden{} +} + +/* +V1HostGroupsIDPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostGroupsIDPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id put forbidden response has a 2xx status code +func (o *V1HostGroupsIDPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id put forbidden response has a 3xx status code +func (o *V1HostGroupsIDPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id put forbidden response has a 4xx status code +func (o *V1HostGroupsIDPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id put forbidden response has a 5xx status code +func (o *V1HostGroupsIDPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id put forbidden response a status code equal to that given +func (o *V1HostGroupsIDPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 host groups Id put forbidden response +func (o *V1HostGroupsIDPutForbidden) Code() int { + return 403 +} + +func (o *V1HostGroupsIDPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutForbidden %s", 403, payload) +} + +func (o *V1HostGroupsIDPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutForbidden %s", 403, payload) +} + +func (o *V1HostGroupsIDPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDPutNotFound creates a V1HostGroupsIDPutNotFound with default headers values +func NewV1HostGroupsIDPutNotFound() *V1HostGroupsIDPutNotFound { + return &V1HostGroupsIDPutNotFound{} +} + +/* +V1HostGroupsIDPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1HostGroupsIDPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id put not found response has a 2xx status code +func (o *V1HostGroupsIDPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id put not found response has a 3xx status code +func (o *V1HostGroupsIDPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id put not found response has a 4xx status code +func (o *V1HostGroupsIDPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id put not found response has a 5xx status code +func (o *V1HostGroupsIDPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id put not found response a status code equal to that given +func (o *V1HostGroupsIDPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 host groups Id put not found response +func (o *V1HostGroupsIDPutNotFound) Code() int { + return 404 +} + +func (o *V1HostGroupsIDPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutNotFound %s", 404, payload) +} + +func (o *V1HostGroupsIDPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutNotFound %s", 404, payload) +} + +func (o *V1HostGroupsIDPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDPutConflict creates a V1HostGroupsIDPutConflict with default headers values +func NewV1HostGroupsIDPutConflict() *V1HostGroupsIDPutConflict { + return &V1HostGroupsIDPutConflict{} +} + +/* +V1HostGroupsIDPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1HostGroupsIDPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id put conflict response has a 2xx status code +func (o *V1HostGroupsIDPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id put conflict response has a 3xx status code +func (o *V1HostGroupsIDPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id put conflict response has a 4xx status code +func (o *V1HostGroupsIDPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups Id put conflict response has a 5xx status code +func (o *V1HostGroupsIDPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups Id put conflict response a status code equal to that given +func (o *V1HostGroupsIDPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 host groups Id put conflict response +func (o *V1HostGroupsIDPutConflict) Code() int { + return 409 +} + +func (o *V1HostGroupsIDPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutConflict %s", 409, payload) +} + +func (o *V1HostGroupsIDPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutConflict %s", 409, payload) +} + +func (o *V1HostGroupsIDPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDPutInternalServerError creates a V1HostGroupsIDPutInternalServerError with default headers values +func NewV1HostGroupsIDPutInternalServerError() *V1HostGroupsIDPutInternalServerError { + return &V1HostGroupsIDPutInternalServerError{} +} + +/* +V1HostGroupsIDPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostGroupsIDPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id put internal server error response has a 2xx status code +func (o *V1HostGroupsIDPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id put internal server error response has a 3xx status code +func (o *V1HostGroupsIDPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id put internal server error response has a 4xx status code +func (o *V1HostGroupsIDPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups Id put internal server error response has a 5xx status code +func (o *V1HostGroupsIDPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 host groups Id put internal server error response a status code equal to that given +func (o *V1HostGroupsIDPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 host groups Id put internal server error response +func (o *V1HostGroupsIDPutInternalServerError) Code() int { + return 500 +} + +func (o *V1HostGroupsIDPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutInternalServerError %s", 500, payload) +} + +func (o *V1HostGroupsIDPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutInternalServerError %s", 500, payload) +} + +func (o *V1HostGroupsIDPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsIDPutGatewayTimeout creates a V1HostGroupsIDPutGatewayTimeout with default headers values +func NewV1HostGroupsIDPutGatewayTimeout() *V1HostGroupsIDPutGatewayTimeout { + return &V1HostGroupsIDPutGatewayTimeout{} +} + +/* +V1HostGroupsIDPutGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostGroupsIDPutGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups Id put gateway timeout response has a 2xx status code +func (o *V1HostGroupsIDPutGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups Id put gateway timeout response has a 3xx status code +func (o *V1HostGroupsIDPutGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups Id put gateway timeout response has a 4xx status code +func (o *V1HostGroupsIDPutGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups Id put gateway timeout response has a 5xx status code +func (o *V1HostGroupsIDPutGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 host groups Id put gateway timeout response a status code equal to that given +func (o *V1HostGroupsIDPutGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 host groups Id put gateway timeout response +func (o *V1HostGroupsIDPutGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostGroupsIDPutGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutGatewayTimeout %s", 504, payload) +} + +func (o *V1HostGroupsIDPutGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/host-groups/{host_group_id}][%d] v1HostGroupsIdPutGatewayTimeout %s", 504, payload) +} + +func (o *V1HostGroupsIDPutGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsIDPutGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_post_parameters.go new file mode 100644 index 000000000..f75d2a3a8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1HostGroupsPostParams creates a new V1HostGroupsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostGroupsPostParams() *V1HostGroupsPostParams { + return &V1HostGroupsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostGroupsPostParamsWithTimeout creates a new V1HostGroupsPostParams object +// with the ability to set a timeout on a request. +func NewV1HostGroupsPostParamsWithTimeout(timeout time.Duration) *V1HostGroupsPostParams { + return &V1HostGroupsPostParams{ + timeout: timeout, + } +} + +// NewV1HostGroupsPostParamsWithContext creates a new V1HostGroupsPostParams object +// with the ability to set a context for a request. +func NewV1HostGroupsPostParamsWithContext(ctx context.Context) *V1HostGroupsPostParams { + return &V1HostGroupsPostParams{ + Context: ctx, + } +} + +// NewV1HostGroupsPostParamsWithHTTPClient creates a new V1HostGroupsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostGroupsPostParamsWithHTTPClient(client *http.Client) *V1HostGroupsPostParams { + return &V1HostGroupsPostParams{ + HTTPClient: client, + } +} + +/* +V1HostGroupsPostParams contains all the parameters to send to the API endpoint + + for the v1 host groups post operation. + + Typically these are written to a http.Request. +*/ +type V1HostGroupsPostParams struct { + + /* Body. + + Parameters for the creation of a new host group + */ + Body *models.HostGroupCreate + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 host groups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostGroupsPostParams) WithDefaults() *V1HostGroupsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 host groups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostGroupsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 host groups post params +func (o *V1HostGroupsPostParams) WithTimeout(timeout time.Duration) *V1HostGroupsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 host groups post params +func (o *V1HostGroupsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 host groups post params +func (o *V1HostGroupsPostParams) WithContext(ctx context.Context) *V1HostGroupsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 host groups post params +func (o *V1HostGroupsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 host groups post params +func (o *V1HostGroupsPostParams) WithHTTPClient(client *http.Client) *V1HostGroupsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 host groups post params +func (o *V1HostGroupsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 host groups post params +func (o *V1HostGroupsPostParams) WithBody(body *models.HostGroupCreate) *V1HostGroupsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 host groups post params +func (o *V1HostGroupsPostParams) SetBody(body *models.HostGroupCreate) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostGroupsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_post_responses.go new file mode 100644 index 000000000..7553595fe --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_host_groups_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostGroupsPostReader is a Reader for the V1HostGroupsPost structure. +type V1HostGroupsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostGroupsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewV1HostGroupsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostGroupsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostGroupsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostGroupsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1HostGroupsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1HostGroupsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostGroupsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostGroupsPostGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/host-groups] v1.hostGroups.post", response, response.Code()) + } +} + +// NewV1HostGroupsPostCreated creates a V1HostGroupsPostCreated with default headers values +func NewV1HostGroupsPostCreated() *V1HostGroupsPostCreated { + return &V1HostGroupsPostCreated{} +} + +/* +V1HostGroupsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type V1HostGroupsPostCreated struct { + Payload *models.HostGroup +} + +// IsSuccess returns true when this v1 host groups post created response has a 2xx status code +func (o *V1HostGroupsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 host groups post created response has a 3xx status code +func (o *V1HostGroupsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups post created response has a 4xx status code +func (o *V1HostGroupsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups post created response has a 5xx status code +func (o *V1HostGroupsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups post created response a status code equal to that given +func (o *V1HostGroupsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the v1 host groups post created response +func (o *V1HostGroupsPostCreated) Code() int { + return 201 +} + +func (o *V1HostGroupsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostCreated %s", 201, payload) +} + +func (o *V1HostGroupsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostCreated %s", 201, payload) +} + +func (o *V1HostGroupsPostCreated) GetPayload() *models.HostGroup { + return o.Payload +} + +func (o *V1HostGroupsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.HostGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsPostBadRequest creates a V1HostGroupsPostBadRequest with default headers values +func NewV1HostGroupsPostBadRequest() *V1HostGroupsPostBadRequest { + return &V1HostGroupsPostBadRequest{} +} + +/* +V1HostGroupsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostGroupsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups post bad request response has a 2xx status code +func (o *V1HostGroupsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups post bad request response has a 3xx status code +func (o *V1HostGroupsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups post bad request response has a 4xx status code +func (o *V1HostGroupsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups post bad request response has a 5xx status code +func (o *V1HostGroupsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups post bad request response a status code equal to that given +func (o *V1HostGroupsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 host groups post bad request response +func (o *V1HostGroupsPostBadRequest) Code() int { + return 400 +} + +func (o *V1HostGroupsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostBadRequest %s", 400, payload) +} + +func (o *V1HostGroupsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostBadRequest %s", 400, payload) +} + +func (o *V1HostGroupsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsPostUnauthorized creates a V1HostGroupsPostUnauthorized with default headers values +func NewV1HostGroupsPostUnauthorized() *V1HostGroupsPostUnauthorized { + return &V1HostGroupsPostUnauthorized{} +} + +/* +V1HostGroupsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostGroupsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups post unauthorized response has a 2xx status code +func (o *V1HostGroupsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups post unauthorized response has a 3xx status code +func (o *V1HostGroupsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups post unauthorized response has a 4xx status code +func (o *V1HostGroupsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups post unauthorized response has a 5xx status code +func (o *V1HostGroupsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups post unauthorized response a status code equal to that given +func (o *V1HostGroupsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 host groups post unauthorized response +func (o *V1HostGroupsPostUnauthorized) Code() int { + return 401 +} + +func (o *V1HostGroupsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostUnauthorized %s", 401, payload) +} + +func (o *V1HostGroupsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostUnauthorized %s", 401, payload) +} + +func (o *V1HostGroupsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsPostForbidden creates a V1HostGroupsPostForbidden with default headers values +func NewV1HostGroupsPostForbidden() *V1HostGroupsPostForbidden { + return &V1HostGroupsPostForbidden{} +} + +/* +V1HostGroupsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostGroupsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups post forbidden response has a 2xx status code +func (o *V1HostGroupsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups post forbidden response has a 3xx status code +func (o *V1HostGroupsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups post forbidden response has a 4xx status code +func (o *V1HostGroupsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups post forbidden response has a 5xx status code +func (o *V1HostGroupsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups post forbidden response a status code equal to that given +func (o *V1HostGroupsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 host groups post forbidden response +func (o *V1HostGroupsPostForbidden) Code() int { + return 403 +} + +func (o *V1HostGroupsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostForbidden %s", 403, payload) +} + +func (o *V1HostGroupsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostForbidden %s", 403, payload) +} + +func (o *V1HostGroupsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsPostConflict creates a V1HostGroupsPostConflict with default headers values +func NewV1HostGroupsPostConflict() *V1HostGroupsPostConflict { + return &V1HostGroupsPostConflict{} +} + +/* +V1HostGroupsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1HostGroupsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups post conflict response has a 2xx status code +func (o *V1HostGroupsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups post conflict response has a 3xx status code +func (o *V1HostGroupsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups post conflict response has a 4xx status code +func (o *V1HostGroupsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups post conflict response has a 5xx status code +func (o *V1HostGroupsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups post conflict response a status code equal to that given +func (o *V1HostGroupsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 host groups post conflict response +func (o *V1HostGroupsPostConflict) Code() int { + return 409 +} + +func (o *V1HostGroupsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostConflict %s", 409, payload) +} + +func (o *V1HostGroupsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostConflict %s", 409, payload) +} + +func (o *V1HostGroupsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsPostUnprocessableEntity creates a V1HostGroupsPostUnprocessableEntity with default headers values +func NewV1HostGroupsPostUnprocessableEntity() *V1HostGroupsPostUnprocessableEntity { + return &V1HostGroupsPostUnprocessableEntity{} +} + +/* +V1HostGroupsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1HostGroupsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups post unprocessable entity response has a 2xx status code +func (o *V1HostGroupsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups post unprocessable entity response has a 3xx status code +func (o *V1HostGroupsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups post unprocessable entity response has a 4xx status code +func (o *V1HostGroupsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 host groups post unprocessable entity response has a 5xx status code +func (o *V1HostGroupsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 host groups post unprocessable entity response a status code equal to that given +func (o *V1HostGroupsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 host groups post unprocessable entity response +func (o *V1HostGroupsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1HostGroupsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1HostGroupsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1HostGroupsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsPostInternalServerError creates a V1HostGroupsPostInternalServerError with default headers values +func NewV1HostGroupsPostInternalServerError() *V1HostGroupsPostInternalServerError { + return &V1HostGroupsPostInternalServerError{} +} + +/* +V1HostGroupsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostGroupsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups post internal server error response has a 2xx status code +func (o *V1HostGroupsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups post internal server error response has a 3xx status code +func (o *V1HostGroupsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups post internal server error response has a 4xx status code +func (o *V1HostGroupsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups post internal server error response has a 5xx status code +func (o *V1HostGroupsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 host groups post internal server error response a status code equal to that given +func (o *V1HostGroupsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 host groups post internal server error response +func (o *V1HostGroupsPostInternalServerError) Code() int { + return 500 +} + +func (o *V1HostGroupsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostInternalServerError %s", 500, payload) +} + +func (o *V1HostGroupsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostInternalServerError %s", 500, payload) +} + +func (o *V1HostGroupsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostGroupsPostGatewayTimeout creates a V1HostGroupsPostGatewayTimeout with default headers values +func NewV1HostGroupsPostGatewayTimeout() *V1HostGroupsPostGatewayTimeout { + return &V1HostGroupsPostGatewayTimeout{} +} + +/* +V1HostGroupsPostGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostGroupsPostGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 host groups post gateway timeout response has a 2xx status code +func (o *V1HostGroupsPostGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 host groups post gateway timeout response has a 3xx status code +func (o *V1HostGroupsPostGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 host groups post gateway timeout response has a 4xx status code +func (o *V1HostGroupsPostGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 host groups post gateway timeout response has a 5xx status code +func (o *V1HostGroupsPostGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 host groups post gateway timeout response a status code equal to that given +func (o *V1HostGroupsPostGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 host groups post gateway timeout response +func (o *V1HostGroupsPostGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostGroupsPostGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostGatewayTimeout %s", 504, payload) +} + +func (o *V1HostGroupsPostGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/host-groups][%d] v1HostGroupsPostGatewayTimeout %s", 504, payload) +} + +func (o *V1HostGroupsPostGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostGroupsPostGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_get_parameters.go new file mode 100644 index 000000000..d38611fc6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_get_parameters.go @@ -0,0 +1,161 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewV1HostsGetParams creates a new V1HostsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostsGetParams() *V1HostsGetParams { + return &V1HostsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostsGetParamsWithTimeout creates a new V1HostsGetParams object +// with the ability to set a timeout on a request. +func NewV1HostsGetParamsWithTimeout(timeout time.Duration) *V1HostsGetParams { + return &V1HostsGetParams{ + timeout: timeout, + } +} + +// NewV1HostsGetParamsWithContext creates a new V1HostsGetParams object +// with the ability to set a context for a request. +func NewV1HostsGetParamsWithContext(ctx context.Context) *V1HostsGetParams { + return &V1HostsGetParams{ + Context: ctx, + } +} + +// NewV1HostsGetParamsWithHTTPClient creates a new V1HostsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostsGetParamsWithHTTPClient(client *http.Client) *V1HostsGetParams { + return &V1HostsGetParams{ + HTTPClient: client, + } +} + +/* +V1HostsGetParams contains all the parameters to send to the API endpoint + + for the v1 hosts get operation. + + Typically these are written to a http.Request. +*/ +type V1HostsGetParams struct { + + // HostReference. + HostReference *bool + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 hosts get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsGetParams) WithDefaults() *V1HostsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 hosts get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 hosts get params +func (o *V1HostsGetParams) WithTimeout(timeout time.Duration) *V1HostsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 hosts get params +func (o *V1HostsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 hosts get params +func (o *V1HostsGetParams) WithContext(ctx context.Context) *V1HostsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 hosts get params +func (o *V1HostsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 hosts get params +func (o *V1HostsGetParams) WithHTTPClient(client *http.Client) *V1HostsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 hosts get params +func (o *V1HostsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithHostReference adds the hostReference to the v1 hosts get params +func (o *V1HostsGetParams) WithHostReference(hostReference *bool) *V1HostsGetParams { + o.SetHostReference(hostReference) + return o +} + +// SetHostReference adds the hostReference to the v1 hosts get params +func (o *V1HostsGetParams) SetHostReference(hostReference *bool) { + o.HostReference = hostReference +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.HostReference != nil { + + // query param host_reference + var qrHostReference bool + + if o.HostReference != nil { + qrHostReference = *o.HostReference + } + qHostReference := swag.FormatBool(qrHostReference) + if qHostReference != "" { + + if err := r.SetQueryParam("host_reference", qHostReference); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_get_responses.go new file mode 100644 index 000000000..4306d0983 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_get_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostsGetReader is a Reader for the V1HostsGet structure. +type V1HostsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1HostsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostsGetGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/hosts] v1.hosts.get", response, response.Code()) + } +} + +// NewV1HostsGetOK creates a V1HostsGetOK with default headers values +func NewV1HostsGetOK() *V1HostsGetOK { + return &V1HostsGetOK{} +} + +/* +V1HostsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1HostsGetOK struct { + Payload models.HostList +} + +// IsSuccess returns true when this v1 hosts get o k response has a 2xx status code +func (o *V1HostsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 hosts get o k response has a 3xx status code +func (o *V1HostsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts get o k response has a 4xx status code +func (o *V1HostsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts get o k response has a 5xx status code +func (o *V1HostsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts get o k response a status code equal to that given +func (o *V1HostsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 hosts get o k response +func (o *V1HostsGetOK) Code() int { + return 200 +} + +func (o *V1HostsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetOK %s", 200, payload) +} + +func (o *V1HostsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetOK %s", 200, payload) +} + +func (o *V1HostsGetOK) GetPayload() models.HostList { + return o.Payload +} + +func (o *V1HostsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsGetBadRequest creates a V1HostsGetBadRequest with default headers values +func NewV1HostsGetBadRequest() *V1HostsGetBadRequest { + return &V1HostsGetBadRequest{} +} + +/* +V1HostsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts get bad request response has a 2xx status code +func (o *V1HostsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts get bad request response has a 3xx status code +func (o *V1HostsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts get bad request response has a 4xx status code +func (o *V1HostsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts get bad request response has a 5xx status code +func (o *V1HostsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts get bad request response a status code equal to that given +func (o *V1HostsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 hosts get bad request response +func (o *V1HostsGetBadRequest) Code() int { + return 400 +} + +func (o *V1HostsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetBadRequest %s", 400, payload) +} + +func (o *V1HostsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetBadRequest %s", 400, payload) +} + +func (o *V1HostsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsGetUnauthorized creates a V1HostsGetUnauthorized with default headers values +func NewV1HostsGetUnauthorized() *V1HostsGetUnauthorized { + return &V1HostsGetUnauthorized{} +} + +/* +V1HostsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts get unauthorized response has a 2xx status code +func (o *V1HostsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts get unauthorized response has a 3xx status code +func (o *V1HostsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts get unauthorized response has a 4xx status code +func (o *V1HostsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts get unauthorized response has a 5xx status code +func (o *V1HostsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts get unauthorized response a status code equal to that given +func (o *V1HostsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 hosts get unauthorized response +func (o *V1HostsGetUnauthorized) Code() int { + return 401 +} + +func (o *V1HostsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetUnauthorized %s", 401, payload) +} + +func (o *V1HostsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetUnauthorized %s", 401, payload) +} + +func (o *V1HostsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsGetForbidden creates a V1HostsGetForbidden with default headers values +func NewV1HostsGetForbidden() *V1HostsGetForbidden { + return &V1HostsGetForbidden{} +} + +/* +V1HostsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts get forbidden response has a 2xx status code +func (o *V1HostsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts get forbidden response has a 3xx status code +func (o *V1HostsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts get forbidden response has a 4xx status code +func (o *V1HostsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts get forbidden response has a 5xx status code +func (o *V1HostsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts get forbidden response a status code equal to that given +func (o *V1HostsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 hosts get forbidden response +func (o *V1HostsGetForbidden) Code() int { + return 403 +} + +func (o *V1HostsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetForbidden %s", 403, payload) +} + +func (o *V1HostsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetForbidden %s", 403, payload) +} + +func (o *V1HostsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsGetInternalServerError creates a V1HostsGetInternalServerError with default headers values +func NewV1HostsGetInternalServerError() *V1HostsGetInternalServerError { + return &V1HostsGetInternalServerError{} +} + +/* +V1HostsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts get internal server error response has a 2xx status code +func (o *V1HostsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts get internal server error response has a 3xx status code +func (o *V1HostsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts get internal server error response has a 4xx status code +func (o *V1HostsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts get internal server error response has a 5xx status code +func (o *V1HostsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts get internal server error response a status code equal to that given +func (o *V1HostsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 hosts get internal server error response +func (o *V1HostsGetInternalServerError) Code() int { + return 500 +} + +func (o *V1HostsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetInternalServerError %s", 500, payload) +} + +func (o *V1HostsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetInternalServerError %s", 500, payload) +} + +func (o *V1HostsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsGetGatewayTimeout creates a V1HostsGetGatewayTimeout with default headers values +func NewV1HostsGetGatewayTimeout() *V1HostsGetGatewayTimeout { + return &V1HostsGetGatewayTimeout{} +} + +/* +V1HostsGetGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostsGetGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts get gateway timeout response has a 2xx status code +func (o *V1HostsGetGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts get gateway timeout response has a 3xx status code +func (o *V1HostsGetGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts get gateway timeout response has a 4xx status code +func (o *V1HostsGetGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts get gateway timeout response has a 5xx status code +func (o *V1HostsGetGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts get gateway timeout response a status code equal to that given +func (o *V1HostsGetGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 hosts get gateway timeout response +func (o *V1HostsGetGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostsGetGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsGetGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts][%d] v1HostsGetGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsGetGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsGetGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_delete_parameters.go new file mode 100644 index 000000000..412fe32c3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1HostsIDDeleteParams creates a new V1HostsIDDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostsIDDeleteParams() *V1HostsIDDeleteParams { + return &V1HostsIDDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostsIDDeleteParamsWithTimeout creates a new V1HostsIDDeleteParams object +// with the ability to set a timeout on a request. +func NewV1HostsIDDeleteParamsWithTimeout(timeout time.Duration) *V1HostsIDDeleteParams { + return &V1HostsIDDeleteParams{ + timeout: timeout, + } +} + +// NewV1HostsIDDeleteParamsWithContext creates a new V1HostsIDDeleteParams object +// with the ability to set a context for a request. +func NewV1HostsIDDeleteParamsWithContext(ctx context.Context) *V1HostsIDDeleteParams { + return &V1HostsIDDeleteParams{ + Context: ctx, + } +} + +// NewV1HostsIDDeleteParamsWithHTTPClient creates a new V1HostsIDDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostsIDDeleteParamsWithHTTPClient(client *http.Client) *V1HostsIDDeleteParams { + return &V1HostsIDDeleteParams{ + HTTPClient: client, + } +} + +/* +V1HostsIDDeleteParams contains all the parameters to send to the API endpoint + + for the v1 hosts id delete operation. + + Typically these are written to a http.Request. +*/ +type V1HostsIDDeleteParams struct { + + /* HostID. + + Host ID + */ + HostID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 hosts id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsIDDeleteParams) WithDefaults() *V1HostsIDDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 hosts id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsIDDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 hosts id delete params +func (o *V1HostsIDDeleteParams) WithTimeout(timeout time.Duration) *V1HostsIDDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 hosts id delete params +func (o *V1HostsIDDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 hosts id delete params +func (o *V1HostsIDDeleteParams) WithContext(ctx context.Context) *V1HostsIDDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 hosts id delete params +func (o *V1HostsIDDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 hosts id delete params +func (o *V1HostsIDDeleteParams) WithHTTPClient(client *http.Client) *V1HostsIDDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 hosts id delete params +func (o *V1HostsIDDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithHostID adds the hostID to the v1 hosts id delete params +func (o *V1HostsIDDeleteParams) WithHostID(hostID string) *V1HostsIDDeleteParams { + o.SetHostID(hostID) + return o +} + +// SetHostID adds the hostId to the v1 hosts id delete params +func (o *V1HostsIDDeleteParams) SetHostID(hostID string) { + o.HostID = hostID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostsIDDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param host_id + if err := r.SetPathParam("host_id", o.HostID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_delete_responses.go new file mode 100644 index 000000000..9ba787191 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostsIDDeleteReader is a Reader for the V1HostsIDDelete structure. +type V1HostsIDDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostsIDDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewV1HostsIDDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostsIDDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostsIDDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostsIDDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1HostsIDDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostsIDDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostsIDDeleteGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/hosts/{host_id}] v1.hosts.id.delete", response, response.Code()) + } +} + +// NewV1HostsIDDeleteAccepted creates a V1HostsIDDeleteAccepted with default headers values +func NewV1HostsIDDeleteAccepted() *V1HostsIDDeleteAccepted { + return &V1HostsIDDeleteAccepted{} +} + +/* +V1HostsIDDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type V1HostsIDDeleteAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 hosts Id delete accepted response has a 2xx status code +func (o *V1HostsIDDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 hosts Id delete accepted response has a 3xx status code +func (o *V1HostsIDDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id delete accepted response has a 4xx status code +func (o *V1HostsIDDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id delete accepted response has a 5xx status code +func (o *V1HostsIDDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id delete accepted response a status code equal to that given +func (o *V1HostsIDDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the v1 hosts Id delete accepted response +func (o *V1HostsIDDeleteAccepted) Code() int { + return 202 +} + +func (o *V1HostsIDDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteAccepted %s", 202, payload) +} + +func (o *V1HostsIDDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteAccepted %s", 202, payload) +} + +func (o *V1HostsIDDeleteAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *V1HostsIDDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDDeleteBadRequest creates a V1HostsIDDeleteBadRequest with default headers values +func NewV1HostsIDDeleteBadRequest() *V1HostsIDDeleteBadRequest { + return &V1HostsIDDeleteBadRequest{} +} + +/* +V1HostsIDDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostsIDDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id delete bad request response has a 2xx status code +func (o *V1HostsIDDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id delete bad request response has a 3xx status code +func (o *V1HostsIDDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id delete bad request response has a 4xx status code +func (o *V1HostsIDDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id delete bad request response has a 5xx status code +func (o *V1HostsIDDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id delete bad request response a status code equal to that given +func (o *V1HostsIDDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 hosts Id delete bad request response +func (o *V1HostsIDDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1HostsIDDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1HostsIDDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1HostsIDDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDDeleteUnauthorized creates a V1HostsIDDeleteUnauthorized with default headers values +func NewV1HostsIDDeleteUnauthorized() *V1HostsIDDeleteUnauthorized { + return &V1HostsIDDeleteUnauthorized{} +} + +/* +V1HostsIDDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostsIDDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id delete unauthorized response has a 2xx status code +func (o *V1HostsIDDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id delete unauthorized response has a 3xx status code +func (o *V1HostsIDDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id delete unauthorized response has a 4xx status code +func (o *V1HostsIDDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id delete unauthorized response has a 5xx status code +func (o *V1HostsIDDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id delete unauthorized response a status code equal to that given +func (o *V1HostsIDDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 hosts Id delete unauthorized response +func (o *V1HostsIDDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1HostsIDDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1HostsIDDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1HostsIDDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDDeleteForbidden creates a V1HostsIDDeleteForbidden with default headers values +func NewV1HostsIDDeleteForbidden() *V1HostsIDDeleteForbidden { + return &V1HostsIDDeleteForbidden{} +} + +/* +V1HostsIDDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostsIDDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id delete forbidden response has a 2xx status code +func (o *V1HostsIDDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id delete forbidden response has a 3xx status code +func (o *V1HostsIDDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id delete forbidden response has a 4xx status code +func (o *V1HostsIDDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id delete forbidden response has a 5xx status code +func (o *V1HostsIDDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id delete forbidden response a status code equal to that given +func (o *V1HostsIDDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 hosts Id delete forbidden response +func (o *V1HostsIDDeleteForbidden) Code() int { + return 403 +} + +func (o *V1HostsIDDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteForbidden %s", 403, payload) +} + +func (o *V1HostsIDDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteForbidden %s", 403, payload) +} + +func (o *V1HostsIDDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDDeleteNotFound creates a V1HostsIDDeleteNotFound with default headers values +func NewV1HostsIDDeleteNotFound() *V1HostsIDDeleteNotFound { + return &V1HostsIDDeleteNotFound{} +} + +/* +V1HostsIDDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1HostsIDDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id delete not found response has a 2xx status code +func (o *V1HostsIDDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id delete not found response has a 3xx status code +func (o *V1HostsIDDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id delete not found response has a 4xx status code +func (o *V1HostsIDDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id delete not found response has a 5xx status code +func (o *V1HostsIDDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id delete not found response a status code equal to that given +func (o *V1HostsIDDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 hosts Id delete not found response +func (o *V1HostsIDDeleteNotFound) Code() int { + return 404 +} + +func (o *V1HostsIDDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteNotFound %s", 404, payload) +} + +func (o *V1HostsIDDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteNotFound %s", 404, payload) +} + +func (o *V1HostsIDDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDDeleteInternalServerError creates a V1HostsIDDeleteInternalServerError with default headers values +func NewV1HostsIDDeleteInternalServerError() *V1HostsIDDeleteInternalServerError { + return &V1HostsIDDeleteInternalServerError{} +} + +/* +V1HostsIDDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostsIDDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id delete internal server error response has a 2xx status code +func (o *V1HostsIDDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id delete internal server error response has a 3xx status code +func (o *V1HostsIDDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id delete internal server error response has a 4xx status code +func (o *V1HostsIDDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id delete internal server error response has a 5xx status code +func (o *V1HostsIDDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts Id delete internal server error response a status code equal to that given +func (o *V1HostsIDDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 hosts Id delete internal server error response +func (o *V1HostsIDDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1HostsIDDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1HostsIDDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1HostsIDDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDDeleteGatewayTimeout creates a V1HostsIDDeleteGatewayTimeout with default headers values +func NewV1HostsIDDeleteGatewayTimeout() *V1HostsIDDeleteGatewayTimeout { + return &V1HostsIDDeleteGatewayTimeout{} +} + +/* +V1HostsIDDeleteGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostsIDDeleteGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id delete gateway timeout response has a 2xx status code +func (o *V1HostsIDDeleteGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id delete gateway timeout response has a 3xx status code +func (o *V1HostsIDDeleteGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id delete gateway timeout response has a 4xx status code +func (o *V1HostsIDDeleteGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id delete gateway timeout response has a 5xx status code +func (o *V1HostsIDDeleteGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts Id delete gateway timeout response a status code equal to that given +func (o *V1HostsIDDeleteGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 hosts Id delete gateway timeout response +func (o *V1HostsIDDeleteGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostsIDDeleteGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsIDDeleteGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/hosts/{host_id}][%d] v1HostsIdDeleteGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsIDDeleteGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDDeleteGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_get_parameters.go new file mode 100644 index 000000000..ab0e789f6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_get_parameters.go @@ -0,0 +1,183 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewV1HostsIDGetParams creates a new V1HostsIDGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostsIDGetParams() *V1HostsIDGetParams { + return &V1HostsIDGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostsIDGetParamsWithTimeout creates a new V1HostsIDGetParams object +// with the ability to set a timeout on a request. +func NewV1HostsIDGetParamsWithTimeout(timeout time.Duration) *V1HostsIDGetParams { + return &V1HostsIDGetParams{ + timeout: timeout, + } +} + +// NewV1HostsIDGetParamsWithContext creates a new V1HostsIDGetParams object +// with the ability to set a context for a request. +func NewV1HostsIDGetParamsWithContext(ctx context.Context) *V1HostsIDGetParams { + return &V1HostsIDGetParams{ + Context: ctx, + } +} + +// NewV1HostsIDGetParamsWithHTTPClient creates a new V1HostsIDGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostsIDGetParamsWithHTTPClient(client *http.Client) *V1HostsIDGetParams { + return &V1HostsIDGetParams{ + HTTPClient: client, + } +} + +/* +V1HostsIDGetParams contains all the parameters to send to the API endpoint + + for the v1 hosts id get operation. + + Typically these are written to a http.Request. +*/ +type V1HostsIDGetParams struct { + + /* HostID. + + Host ID + */ + HostID string + + // HostReference. + HostReference *bool + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 hosts id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsIDGetParams) WithDefaults() *V1HostsIDGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 hosts id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsIDGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 hosts id get params +func (o *V1HostsIDGetParams) WithTimeout(timeout time.Duration) *V1HostsIDGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 hosts id get params +func (o *V1HostsIDGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 hosts id get params +func (o *V1HostsIDGetParams) WithContext(ctx context.Context) *V1HostsIDGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 hosts id get params +func (o *V1HostsIDGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 hosts id get params +func (o *V1HostsIDGetParams) WithHTTPClient(client *http.Client) *V1HostsIDGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 hosts id get params +func (o *V1HostsIDGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithHostID adds the hostID to the v1 hosts id get params +func (o *V1HostsIDGetParams) WithHostID(hostID string) *V1HostsIDGetParams { + o.SetHostID(hostID) + return o +} + +// SetHostID adds the hostId to the v1 hosts id get params +func (o *V1HostsIDGetParams) SetHostID(hostID string) { + o.HostID = hostID +} + +// WithHostReference adds the hostReference to the v1 hosts id get params +func (o *V1HostsIDGetParams) WithHostReference(hostReference *bool) *V1HostsIDGetParams { + o.SetHostReference(hostReference) + return o +} + +// SetHostReference adds the hostReference to the v1 hosts id get params +func (o *V1HostsIDGetParams) SetHostReference(hostReference *bool) { + o.HostReference = hostReference +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostsIDGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param host_id + if err := r.SetPathParam("host_id", o.HostID); err != nil { + return err + } + + if o.HostReference != nil { + + // query param host_reference + var qrHostReference bool + + if o.HostReference != nil { + qrHostReference = *o.HostReference + } + qHostReference := swag.FormatBool(qrHostReference) + if qHostReference != "" { + + if err := r.SetQueryParam("host_reference", qHostReference); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_get_responses.go new file mode 100644 index 000000000..75a78e2f8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostsIDGetReader is a Reader for the V1HostsIDGet structure. +type V1HostsIDGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostsIDGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1HostsIDGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostsIDGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostsIDGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostsIDGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1HostsIDGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostsIDGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostsIDGetGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/hosts/{host_id}] v1.hosts.id.get", response, response.Code()) + } +} + +// NewV1HostsIDGetOK creates a V1HostsIDGetOK with default headers values +func NewV1HostsIDGetOK() *V1HostsIDGetOK { + return &V1HostsIDGetOK{} +} + +/* +V1HostsIDGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1HostsIDGetOK struct { + Payload *models.Host +} + +// IsSuccess returns true when this v1 hosts Id get o k response has a 2xx status code +func (o *V1HostsIDGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 hosts Id get o k response has a 3xx status code +func (o *V1HostsIDGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id get o k response has a 4xx status code +func (o *V1HostsIDGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id get o k response has a 5xx status code +func (o *V1HostsIDGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id get o k response a status code equal to that given +func (o *V1HostsIDGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 hosts Id get o k response +func (o *V1HostsIDGetOK) Code() int { + return 200 +} + +func (o *V1HostsIDGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetOK %s", 200, payload) +} + +func (o *V1HostsIDGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetOK %s", 200, payload) +} + +func (o *V1HostsIDGetOK) GetPayload() *models.Host { + return o.Payload +} + +func (o *V1HostsIDGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Host) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDGetBadRequest creates a V1HostsIDGetBadRequest with default headers values +func NewV1HostsIDGetBadRequest() *V1HostsIDGetBadRequest { + return &V1HostsIDGetBadRequest{} +} + +/* +V1HostsIDGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostsIDGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id get bad request response has a 2xx status code +func (o *V1HostsIDGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id get bad request response has a 3xx status code +func (o *V1HostsIDGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id get bad request response has a 4xx status code +func (o *V1HostsIDGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id get bad request response has a 5xx status code +func (o *V1HostsIDGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id get bad request response a status code equal to that given +func (o *V1HostsIDGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 hosts Id get bad request response +func (o *V1HostsIDGetBadRequest) Code() int { + return 400 +} + +func (o *V1HostsIDGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetBadRequest %s", 400, payload) +} + +func (o *V1HostsIDGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetBadRequest %s", 400, payload) +} + +func (o *V1HostsIDGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDGetUnauthorized creates a V1HostsIDGetUnauthorized with default headers values +func NewV1HostsIDGetUnauthorized() *V1HostsIDGetUnauthorized { + return &V1HostsIDGetUnauthorized{} +} + +/* +V1HostsIDGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostsIDGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id get unauthorized response has a 2xx status code +func (o *V1HostsIDGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id get unauthorized response has a 3xx status code +func (o *V1HostsIDGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id get unauthorized response has a 4xx status code +func (o *V1HostsIDGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id get unauthorized response has a 5xx status code +func (o *V1HostsIDGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id get unauthorized response a status code equal to that given +func (o *V1HostsIDGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 hosts Id get unauthorized response +func (o *V1HostsIDGetUnauthorized) Code() int { + return 401 +} + +func (o *V1HostsIDGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetUnauthorized %s", 401, payload) +} + +func (o *V1HostsIDGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetUnauthorized %s", 401, payload) +} + +func (o *V1HostsIDGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDGetForbidden creates a V1HostsIDGetForbidden with default headers values +func NewV1HostsIDGetForbidden() *V1HostsIDGetForbidden { + return &V1HostsIDGetForbidden{} +} + +/* +V1HostsIDGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostsIDGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id get forbidden response has a 2xx status code +func (o *V1HostsIDGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id get forbidden response has a 3xx status code +func (o *V1HostsIDGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id get forbidden response has a 4xx status code +func (o *V1HostsIDGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id get forbidden response has a 5xx status code +func (o *V1HostsIDGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id get forbidden response a status code equal to that given +func (o *V1HostsIDGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 hosts Id get forbidden response +func (o *V1HostsIDGetForbidden) Code() int { + return 403 +} + +func (o *V1HostsIDGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetForbidden %s", 403, payload) +} + +func (o *V1HostsIDGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetForbidden %s", 403, payload) +} + +func (o *V1HostsIDGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDGetNotFound creates a V1HostsIDGetNotFound with default headers values +func NewV1HostsIDGetNotFound() *V1HostsIDGetNotFound { + return &V1HostsIDGetNotFound{} +} + +/* +V1HostsIDGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1HostsIDGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id get not found response has a 2xx status code +func (o *V1HostsIDGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id get not found response has a 3xx status code +func (o *V1HostsIDGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id get not found response has a 4xx status code +func (o *V1HostsIDGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id get not found response has a 5xx status code +func (o *V1HostsIDGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id get not found response a status code equal to that given +func (o *V1HostsIDGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 hosts Id get not found response +func (o *V1HostsIDGetNotFound) Code() int { + return 404 +} + +func (o *V1HostsIDGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetNotFound %s", 404, payload) +} + +func (o *V1HostsIDGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetNotFound %s", 404, payload) +} + +func (o *V1HostsIDGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDGetInternalServerError creates a V1HostsIDGetInternalServerError with default headers values +func NewV1HostsIDGetInternalServerError() *V1HostsIDGetInternalServerError { + return &V1HostsIDGetInternalServerError{} +} + +/* +V1HostsIDGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostsIDGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id get internal server error response has a 2xx status code +func (o *V1HostsIDGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id get internal server error response has a 3xx status code +func (o *V1HostsIDGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id get internal server error response has a 4xx status code +func (o *V1HostsIDGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id get internal server error response has a 5xx status code +func (o *V1HostsIDGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts Id get internal server error response a status code equal to that given +func (o *V1HostsIDGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 hosts Id get internal server error response +func (o *V1HostsIDGetInternalServerError) Code() int { + return 500 +} + +func (o *V1HostsIDGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetInternalServerError %s", 500, payload) +} + +func (o *V1HostsIDGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetInternalServerError %s", 500, payload) +} + +func (o *V1HostsIDGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDGetGatewayTimeout creates a V1HostsIDGetGatewayTimeout with default headers values +func NewV1HostsIDGetGatewayTimeout() *V1HostsIDGetGatewayTimeout { + return &V1HostsIDGetGatewayTimeout{} +} + +/* +V1HostsIDGetGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostsIDGetGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id get gateway timeout response has a 2xx status code +func (o *V1HostsIDGetGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id get gateway timeout response has a 3xx status code +func (o *V1HostsIDGetGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id get gateway timeout response has a 4xx status code +func (o *V1HostsIDGetGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id get gateway timeout response has a 5xx status code +func (o *V1HostsIDGetGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts Id get gateway timeout response a status code equal to that given +func (o *V1HostsIDGetGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 hosts Id get gateway timeout response +func (o *V1HostsIDGetGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostsIDGetGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsIDGetGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/hosts/{host_id}][%d] v1HostsIdGetGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsIDGetGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDGetGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_put_parameters.go new file mode 100644 index 000000000..557c18a4d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1HostsIDPutParams creates a new V1HostsIDPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostsIDPutParams() *V1HostsIDPutParams { + return &V1HostsIDPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostsIDPutParamsWithTimeout creates a new V1HostsIDPutParams object +// with the ability to set a timeout on a request. +func NewV1HostsIDPutParamsWithTimeout(timeout time.Duration) *V1HostsIDPutParams { + return &V1HostsIDPutParams{ + timeout: timeout, + } +} + +// NewV1HostsIDPutParamsWithContext creates a new V1HostsIDPutParams object +// with the ability to set a context for a request. +func NewV1HostsIDPutParamsWithContext(ctx context.Context) *V1HostsIDPutParams { + return &V1HostsIDPutParams{ + Context: ctx, + } +} + +// NewV1HostsIDPutParamsWithHTTPClient creates a new V1HostsIDPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostsIDPutParamsWithHTTPClient(client *http.Client) *V1HostsIDPutParams { + return &V1HostsIDPutParams{ + HTTPClient: client, + } +} + +/* +V1HostsIDPutParams contains all the parameters to send to the API endpoint + + for the v1 hosts id put operation. + + Typically these are written to a http.Request. +*/ +type V1HostsIDPutParams struct { + + /* Body. + + Parameters to modify a host + */ + Body *models.HostPut + + /* HostID. + + Host ID + */ + HostID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 hosts id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsIDPutParams) WithDefaults() *V1HostsIDPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 hosts id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsIDPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 hosts id put params +func (o *V1HostsIDPutParams) WithTimeout(timeout time.Duration) *V1HostsIDPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 hosts id put params +func (o *V1HostsIDPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 hosts id put params +func (o *V1HostsIDPutParams) WithContext(ctx context.Context) *V1HostsIDPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 hosts id put params +func (o *V1HostsIDPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 hosts id put params +func (o *V1HostsIDPutParams) WithHTTPClient(client *http.Client) *V1HostsIDPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 hosts id put params +func (o *V1HostsIDPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 hosts id put params +func (o *V1HostsIDPutParams) WithBody(body *models.HostPut) *V1HostsIDPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 hosts id put params +func (o *V1HostsIDPutParams) SetBody(body *models.HostPut) { + o.Body = body +} + +// WithHostID adds the hostID to the v1 hosts id put params +func (o *V1HostsIDPutParams) WithHostID(hostID string) *V1HostsIDPutParams { + o.SetHostID(hostID) + return o +} + +// SetHostID adds the hostId to the v1 hosts id put params +func (o *V1HostsIDPutParams) SetHostID(hostID string) { + o.HostID = hostID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostsIDPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param host_id + if err := r.SetPathParam("host_id", o.HostID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_put_responses.go new file mode 100644 index 000000000..3f089e0a5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_id_put_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostsIDPutReader is a Reader for the V1HostsIDPut structure. +type V1HostsIDPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostsIDPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1HostsIDPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostsIDPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostsIDPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostsIDPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1HostsIDPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1HostsIDPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostsIDPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostsIDPutGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/hosts/{host_id}] v1.hosts.id.put", response, response.Code()) + } +} + +// NewV1HostsIDPutOK creates a V1HostsIDPutOK with default headers values +func NewV1HostsIDPutOK() *V1HostsIDPutOK { + return &V1HostsIDPutOK{} +} + +/* +V1HostsIDPutOK describes a response with status code 200, with default header values. + +OK +*/ +type V1HostsIDPutOK struct { + Payload *models.Host +} + +// IsSuccess returns true when this v1 hosts Id put o k response has a 2xx status code +func (o *V1HostsIDPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 hosts Id put o k response has a 3xx status code +func (o *V1HostsIDPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id put o k response has a 4xx status code +func (o *V1HostsIDPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id put o k response has a 5xx status code +func (o *V1HostsIDPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id put o k response a status code equal to that given +func (o *V1HostsIDPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 hosts Id put o k response +func (o *V1HostsIDPutOK) Code() int { + return 200 +} + +func (o *V1HostsIDPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutOK %s", 200, payload) +} + +func (o *V1HostsIDPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutOK %s", 200, payload) +} + +func (o *V1HostsIDPutOK) GetPayload() *models.Host { + return o.Payload +} + +func (o *V1HostsIDPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Host) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDPutBadRequest creates a V1HostsIDPutBadRequest with default headers values +func NewV1HostsIDPutBadRequest() *V1HostsIDPutBadRequest { + return &V1HostsIDPutBadRequest{} +} + +/* +V1HostsIDPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostsIDPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id put bad request response has a 2xx status code +func (o *V1HostsIDPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id put bad request response has a 3xx status code +func (o *V1HostsIDPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id put bad request response has a 4xx status code +func (o *V1HostsIDPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id put bad request response has a 5xx status code +func (o *V1HostsIDPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id put bad request response a status code equal to that given +func (o *V1HostsIDPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 hosts Id put bad request response +func (o *V1HostsIDPutBadRequest) Code() int { + return 400 +} + +func (o *V1HostsIDPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutBadRequest %s", 400, payload) +} + +func (o *V1HostsIDPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutBadRequest %s", 400, payload) +} + +func (o *V1HostsIDPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDPutUnauthorized creates a V1HostsIDPutUnauthorized with default headers values +func NewV1HostsIDPutUnauthorized() *V1HostsIDPutUnauthorized { + return &V1HostsIDPutUnauthorized{} +} + +/* +V1HostsIDPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostsIDPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id put unauthorized response has a 2xx status code +func (o *V1HostsIDPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id put unauthorized response has a 3xx status code +func (o *V1HostsIDPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id put unauthorized response has a 4xx status code +func (o *V1HostsIDPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id put unauthorized response has a 5xx status code +func (o *V1HostsIDPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id put unauthorized response a status code equal to that given +func (o *V1HostsIDPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 hosts Id put unauthorized response +func (o *V1HostsIDPutUnauthorized) Code() int { + return 401 +} + +func (o *V1HostsIDPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutUnauthorized %s", 401, payload) +} + +func (o *V1HostsIDPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutUnauthorized %s", 401, payload) +} + +func (o *V1HostsIDPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDPutForbidden creates a V1HostsIDPutForbidden with default headers values +func NewV1HostsIDPutForbidden() *V1HostsIDPutForbidden { + return &V1HostsIDPutForbidden{} +} + +/* +V1HostsIDPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostsIDPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id put forbidden response has a 2xx status code +func (o *V1HostsIDPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id put forbidden response has a 3xx status code +func (o *V1HostsIDPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id put forbidden response has a 4xx status code +func (o *V1HostsIDPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id put forbidden response has a 5xx status code +func (o *V1HostsIDPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id put forbidden response a status code equal to that given +func (o *V1HostsIDPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 hosts Id put forbidden response +func (o *V1HostsIDPutForbidden) Code() int { + return 403 +} + +func (o *V1HostsIDPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutForbidden %s", 403, payload) +} + +func (o *V1HostsIDPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutForbidden %s", 403, payload) +} + +func (o *V1HostsIDPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDPutNotFound creates a V1HostsIDPutNotFound with default headers values +func NewV1HostsIDPutNotFound() *V1HostsIDPutNotFound { + return &V1HostsIDPutNotFound{} +} + +/* +V1HostsIDPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1HostsIDPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id put not found response has a 2xx status code +func (o *V1HostsIDPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id put not found response has a 3xx status code +func (o *V1HostsIDPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id put not found response has a 4xx status code +func (o *V1HostsIDPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id put not found response has a 5xx status code +func (o *V1HostsIDPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id put not found response a status code equal to that given +func (o *V1HostsIDPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 hosts Id put not found response +func (o *V1HostsIDPutNotFound) Code() int { + return 404 +} + +func (o *V1HostsIDPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutNotFound %s", 404, payload) +} + +func (o *V1HostsIDPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutNotFound %s", 404, payload) +} + +func (o *V1HostsIDPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDPutUnprocessableEntity creates a V1HostsIDPutUnprocessableEntity with default headers values +func NewV1HostsIDPutUnprocessableEntity() *V1HostsIDPutUnprocessableEntity { + return &V1HostsIDPutUnprocessableEntity{} +} + +/* +V1HostsIDPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1HostsIDPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id put unprocessable entity response has a 2xx status code +func (o *V1HostsIDPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id put unprocessable entity response has a 3xx status code +func (o *V1HostsIDPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id put unprocessable entity response has a 4xx status code +func (o *V1HostsIDPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts Id put unprocessable entity response has a 5xx status code +func (o *V1HostsIDPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts Id put unprocessable entity response a status code equal to that given +func (o *V1HostsIDPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 hosts Id put unprocessable entity response +func (o *V1HostsIDPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1HostsIDPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutUnprocessableEntity %s", 422, payload) +} + +func (o *V1HostsIDPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutUnprocessableEntity %s", 422, payload) +} + +func (o *V1HostsIDPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDPutInternalServerError creates a V1HostsIDPutInternalServerError with default headers values +func NewV1HostsIDPutInternalServerError() *V1HostsIDPutInternalServerError { + return &V1HostsIDPutInternalServerError{} +} + +/* +V1HostsIDPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostsIDPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id put internal server error response has a 2xx status code +func (o *V1HostsIDPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id put internal server error response has a 3xx status code +func (o *V1HostsIDPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id put internal server error response has a 4xx status code +func (o *V1HostsIDPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id put internal server error response has a 5xx status code +func (o *V1HostsIDPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts Id put internal server error response a status code equal to that given +func (o *V1HostsIDPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 hosts Id put internal server error response +func (o *V1HostsIDPutInternalServerError) Code() int { + return 500 +} + +func (o *V1HostsIDPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutInternalServerError %s", 500, payload) +} + +func (o *V1HostsIDPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutInternalServerError %s", 500, payload) +} + +func (o *V1HostsIDPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsIDPutGatewayTimeout creates a V1HostsIDPutGatewayTimeout with default headers values +func NewV1HostsIDPutGatewayTimeout() *V1HostsIDPutGatewayTimeout { + return &V1HostsIDPutGatewayTimeout{} +} + +/* +V1HostsIDPutGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostsIDPutGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts Id put gateway timeout response has a 2xx status code +func (o *V1HostsIDPutGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts Id put gateway timeout response has a 3xx status code +func (o *V1HostsIDPutGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts Id put gateway timeout response has a 4xx status code +func (o *V1HostsIDPutGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts Id put gateway timeout response has a 5xx status code +func (o *V1HostsIDPutGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts Id put gateway timeout response a status code equal to that given +func (o *V1HostsIDPutGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 hosts Id put gateway timeout response +func (o *V1HostsIDPutGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostsIDPutGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsIDPutGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/hosts/{host_id}][%d] v1HostsIdPutGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsIDPutGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsIDPutGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_post_parameters.go new file mode 100644 index 000000000..21437e7aa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1HostsPostParams creates a new V1HostsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1HostsPostParams() *V1HostsPostParams { + return &V1HostsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1HostsPostParamsWithTimeout creates a new V1HostsPostParams object +// with the ability to set a timeout on a request. +func NewV1HostsPostParamsWithTimeout(timeout time.Duration) *V1HostsPostParams { + return &V1HostsPostParams{ + timeout: timeout, + } +} + +// NewV1HostsPostParamsWithContext creates a new V1HostsPostParams object +// with the ability to set a context for a request. +func NewV1HostsPostParamsWithContext(ctx context.Context) *V1HostsPostParams { + return &V1HostsPostParams{ + Context: ctx, + } +} + +// NewV1HostsPostParamsWithHTTPClient creates a new V1HostsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1HostsPostParamsWithHTTPClient(client *http.Client) *V1HostsPostParams { + return &V1HostsPostParams{ + HTTPClient: client, + } +} + +/* +V1HostsPostParams contains all the parameters to send to the API endpoint + + for the v1 hosts post operation. + + Typically these are written to a http.Request. +*/ +type V1HostsPostParams struct { + + /* Body. + + Parameters to add a host to an existing host group + */ + Body *models.HostCreate + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 hosts post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsPostParams) WithDefaults() *V1HostsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 hosts post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1HostsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 hosts post params +func (o *V1HostsPostParams) WithTimeout(timeout time.Duration) *V1HostsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 hosts post params +func (o *V1HostsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 hosts post params +func (o *V1HostsPostParams) WithContext(ctx context.Context) *V1HostsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 hosts post params +func (o *V1HostsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 hosts post params +func (o *V1HostsPostParams) WithHTTPClient(client *http.Client) *V1HostsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 hosts post params +func (o *V1HostsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 hosts post params +func (o *V1HostsPostParams) WithBody(body *models.HostCreate) *V1HostsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 hosts post params +func (o *V1HostsPostParams) SetBody(body *models.HostCreate) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *V1HostsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_post_responses.go new file mode 100644 index 000000000..2c935319d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/host_groups/v1_hosts_post_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package host_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1HostsPostReader is a Reader for the V1HostsPost structure. +type V1HostsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1HostsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewV1HostsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1HostsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1HostsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1HostsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1HostsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1HostsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewV1HostsPostGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/hosts] v1.hosts.post", response, response.Code()) + } +} + +// NewV1HostsPostCreated creates a V1HostsPostCreated with default headers values +func NewV1HostsPostCreated() *V1HostsPostCreated { + return &V1HostsPostCreated{} +} + +/* +V1HostsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type V1HostsPostCreated struct { + Payload models.HostList +} + +// IsSuccess returns true when this v1 hosts post created response has a 2xx status code +func (o *V1HostsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 hosts post created response has a 3xx status code +func (o *V1HostsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts post created response has a 4xx status code +func (o *V1HostsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts post created response has a 5xx status code +func (o *V1HostsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts post created response a status code equal to that given +func (o *V1HostsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the v1 hosts post created response +func (o *V1HostsPostCreated) Code() int { + return 201 +} + +func (o *V1HostsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostCreated %s", 201, payload) +} + +func (o *V1HostsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostCreated %s", 201, payload) +} + +func (o *V1HostsPostCreated) GetPayload() models.HostList { + return o.Payload +} + +func (o *V1HostsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsPostBadRequest creates a V1HostsPostBadRequest with default headers values +func NewV1HostsPostBadRequest() *V1HostsPostBadRequest { + return &V1HostsPostBadRequest{} +} + +/* +V1HostsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1HostsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts post bad request response has a 2xx status code +func (o *V1HostsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts post bad request response has a 3xx status code +func (o *V1HostsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts post bad request response has a 4xx status code +func (o *V1HostsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts post bad request response has a 5xx status code +func (o *V1HostsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts post bad request response a status code equal to that given +func (o *V1HostsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 hosts post bad request response +func (o *V1HostsPostBadRequest) Code() int { + return 400 +} + +func (o *V1HostsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostBadRequest %s", 400, payload) +} + +func (o *V1HostsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostBadRequest %s", 400, payload) +} + +func (o *V1HostsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsPostUnauthorized creates a V1HostsPostUnauthorized with default headers values +func NewV1HostsPostUnauthorized() *V1HostsPostUnauthorized { + return &V1HostsPostUnauthorized{} +} + +/* +V1HostsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1HostsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts post unauthorized response has a 2xx status code +func (o *V1HostsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts post unauthorized response has a 3xx status code +func (o *V1HostsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts post unauthorized response has a 4xx status code +func (o *V1HostsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts post unauthorized response has a 5xx status code +func (o *V1HostsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts post unauthorized response a status code equal to that given +func (o *V1HostsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 hosts post unauthorized response +func (o *V1HostsPostUnauthorized) Code() int { + return 401 +} + +func (o *V1HostsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostUnauthorized %s", 401, payload) +} + +func (o *V1HostsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostUnauthorized %s", 401, payload) +} + +func (o *V1HostsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsPostForbidden creates a V1HostsPostForbidden with default headers values +func NewV1HostsPostForbidden() *V1HostsPostForbidden { + return &V1HostsPostForbidden{} +} + +/* +V1HostsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1HostsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts post forbidden response has a 2xx status code +func (o *V1HostsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts post forbidden response has a 3xx status code +func (o *V1HostsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts post forbidden response has a 4xx status code +func (o *V1HostsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts post forbidden response has a 5xx status code +func (o *V1HostsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts post forbidden response a status code equal to that given +func (o *V1HostsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 hosts post forbidden response +func (o *V1HostsPostForbidden) Code() int { + return 403 +} + +func (o *V1HostsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostForbidden %s", 403, payload) +} + +func (o *V1HostsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostForbidden %s", 403, payload) +} + +func (o *V1HostsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsPostUnprocessableEntity creates a V1HostsPostUnprocessableEntity with default headers values +func NewV1HostsPostUnprocessableEntity() *V1HostsPostUnprocessableEntity { + return &V1HostsPostUnprocessableEntity{} +} + +/* +V1HostsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1HostsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts post unprocessable entity response has a 2xx status code +func (o *V1HostsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts post unprocessable entity response has a 3xx status code +func (o *V1HostsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts post unprocessable entity response has a 4xx status code +func (o *V1HostsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 hosts post unprocessable entity response has a 5xx status code +func (o *V1HostsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 hosts post unprocessable entity response a status code equal to that given +func (o *V1HostsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 hosts post unprocessable entity response +func (o *V1HostsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1HostsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1HostsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1HostsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsPostInternalServerError creates a V1HostsPostInternalServerError with default headers values +func NewV1HostsPostInternalServerError() *V1HostsPostInternalServerError { + return &V1HostsPostInternalServerError{} +} + +/* +V1HostsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1HostsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts post internal server error response has a 2xx status code +func (o *V1HostsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts post internal server error response has a 3xx status code +func (o *V1HostsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts post internal server error response has a 4xx status code +func (o *V1HostsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts post internal server error response has a 5xx status code +func (o *V1HostsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts post internal server error response a status code equal to that given +func (o *V1HostsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 hosts post internal server error response +func (o *V1HostsPostInternalServerError) Code() int { + return 500 +} + +func (o *V1HostsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostInternalServerError %s", 500, payload) +} + +func (o *V1HostsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostInternalServerError %s", 500, payload) +} + +func (o *V1HostsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1HostsPostGatewayTimeout creates a V1HostsPostGatewayTimeout with default headers values +func NewV1HostsPostGatewayTimeout() *V1HostsPostGatewayTimeout { + return &V1HostsPostGatewayTimeout{} +} + +/* +V1HostsPostGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type V1HostsPostGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 hosts post gateway timeout response has a 2xx status code +func (o *V1HostsPostGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 hosts post gateway timeout response has a 3xx status code +func (o *V1HostsPostGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 hosts post gateway timeout response has a 4xx status code +func (o *V1HostsPostGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 hosts post gateway timeout response has a 5xx status code +func (o *V1HostsPostGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 hosts post gateway timeout response a status code equal to that given +func (o *V1HostsPostGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the v1 hosts post gateway timeout response +func (o *V1HostsPostGatewayTimeout) Code() int { + return 504 +} + +func (o *V1HostsPostGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsPostGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/hosts][%d] v1HostsPostGatewayTimeout %s", 504, payload) +} + +func (o *V1HostsPostGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1HostsPostGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/iaas_service_broker_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/iaas_service_broker_client.go new file mode 100644 index 000000000..243392344 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/iaas_service_broker_client.go @@ -0,0 +1,246 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new iaas service broker API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new iaas service broker API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new iaas service broker API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for iaas service broker API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + ServiceBrokerHealth(params *ServiceBrokerHealthParams, opts ...ClientOption) (*ServiceBrokerHealthOK, error) + + ServiceBrokerHealthHead(params *ServiceBrokerHealthHeadParams, opts ...ClientOption) (*ServiceBrokerHealthHeadOK, error) + + ServiceBrokerTestTimeout(params *ServiceBrokerTestTimeoutParams, opts ...ClientOption) (*ServiceBrokerTestTimeoutOK, error) + + ServiceBrokerVersion(params *ServiceBrokerVersionParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerVersionOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +ServiceBrokerHealth gets current server health +*/ +func (a *Client) ServiceBrokerHealth(params *ServiceBrokerHealthParams, opts ...ClientOption) (*ServiceBrokerHealthOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerHealthParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.health", + Method: "GET", + PathPattern: "/broker/v1/health", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerHealthReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerHealthOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.health: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerHealthHead gets current server health +*/ +func (a *Client) ServiceBrokerHealthHead(params *ServiceBrokerHealthHeadParams, opts ...ClientOption) (*ServiceBrokerHealthHeadOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerHealthHeadParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.health.head", + Method: "HEAD", + PathPattern: "/broker/v1/health", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerHealthHeadReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerHealthHeadOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.health.head: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerTestTimeout gets current server version +*/ +func (a *Client) ServiceBrokerTestTimeout(params *ServiceBrokerTestTimeoutParams, opts ...ClientOption) (*ServiceBrokerTestTimeoutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerTestTimeoutParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.test.timeout", + Method: "GET", + PathPattern: "/broker/v1/test/timeout", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerTestTimeoutReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerTestTimeoutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.test.timeout: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerVersion gets current server version +*/ +func (a *Client) ServiceBrokerVersion(params *ServiceBrokerVersionParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerVersionOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerVersionParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.version", + Method: "GET", + PathPattern: "/broker/v1/version", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerVersionReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerVersionOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.version: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_head_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_head_parameters.go new file mode 100644 index 000000000..a5be36900 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_head_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerHealthHeadParams creates a new ServiceBrokerHealthHeadParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerHealthHeadParams() *ServiceBrokerHealthHeadParams { + return &ServiceBrokerHealthHeadParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerHealthHeadParamsWithTimeout creates a new ServiceBrokerHealthHeadParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerHealthHeadParamsWithTimeout(timeout time.Duration) *ServiceBrokerHealthHeadParams { + return &ServiceBrokerHealthHeadParams{ + timeout: timeout, + } +} + +// NewServiceBrokerHealthHeadParamsWithContext creates a new ServiceBrokerHealthHeadParams object +// with the ability to set a context for a request. +func NewServiceBrokerHealthHeadParamsWithContext(ctx context.Context) *ServiceBrokerHealthHeadParams { + return &ServiceBrokerHealthHeadParams{ + Context: ctx, + } +} + +// NewServiceBrokerHealthHeadParamsWithHTTPClient creates a new ServiceBrokerHealthHeadParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerHealthHeadParamsWithHTTPClient(client *http.Client) *ServiceBrokerHealthHeadParams { + return &ServiceBrokerHealthHeadParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerHealthHeadParams contains all the parameters to send to the API endpoint + + for the service broker health head operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerHealthHeadParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker health head params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerHealthHeadParams) WithDefaults() *ServiceBrokerHealthHeadParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker health head params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerHealthHeadParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker health head params +func (o *ServiceBrokerHealthHeadParams) WithTimeout(timeout time.Duration) *ServiceBrokerHealthHeadParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker health head params +func (o *ServiceBrokerHealthHeadParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker health head params +func (o *ServiceBrokerHealthHeadParams) WithContext(ctx context.Context) *ServiceBrokerHealthHeadParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker health head params +func (o *ServiceBrokerHealthHeadParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker health head params +func (o *ServiceBrokerHealthHeadParams) WithHTTPClient(client *http.Client) *ServiceBrokerHealthHeadParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker health head params +func (o *ServiceBrokerHealthHeadParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerHealthHeadParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_head_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_head_responses.go new file mode 100644 index 000000000..f379331f7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_head_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerHealthHeadReader is a Reader for the ServiceBrokerHealthHead structure. +type ServiceBrokerHealthHeadReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerHealthHeadReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerHealthHeadOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerHealthHeadBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerHealthHeadUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerHealthHeadForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerHealthHeadNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[HEAD /broker/v1/health] serviceBroker.health.head", response, response.Code()) + } +} + +// NewServiceBrokerHealthHeadOK creates a ServiceBrokerHealthHeadOK with default headers values +func NewServiceBrokerHealthHeadOK() *ServiceBrokerHealthHeadOK { + return &ServiceBrokerHealthHeadOK{} +} + +/* +ServiceBrokerHealthHeadOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerHealthHeadOK struct { + Payload *models.Health +} + +// IsSuccess returns true when this service broker health head o k response has a 2xx status code +func (o *ServiceBrokerHealthHeadOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker health head o k response has a 3xx status code +func (o *ServiceBrokerHealthHeadOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health head o k response has a 4xx status code +func (o *ServiceBrokerHealthHeadOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker health head o k response has a 5xx status code +func (o *ServiceBrokerHealthHeadOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health head o k response a status code equal to that given +func (o *ServiceBrokerHealthHeadOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker health head o k response +func (o *ServiceBrokerHealthHeadOK) Code() int { + return 200 +} + +func (o *ServiceBrokerHealthHeadOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadOK %s", 200, payload) +} + +func (o *ServiceBrokerHealthHeadOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadOK %s", 200, payload) +} + +func (o *ServiceBrokerHealthHeadOK) GetPayload() *models.Health { + return o.Payload +} + +func (o *ServiceBrokerHealthHeadOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Health) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHealthHeadBadRequest creates a ServiceBrokerHealthHeadBadRequest with default headers values +func NewServiceBrokerHealthHeadBadRequest() *ServiceBrokerHealthHeadBadRequest { + return &ServiceBrokerHealthHeadBadRequest{} +} + +/* +ServiceBrokerHealthHeadBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerHealthHeadBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker health head bad request response has a 2xx status code +func (o *ServiceBrokerHealthHeadBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker health head bad request response has a 3xx status code +func (o *ServiceBrokerHealthHeadBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health head bad request response has a 4xx status code +func (o *ServiceBrokerHealthHeadBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker health head bad request response has a 5xx status code +func (o *ServiceBrokerHealthHeadBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health head bad request response a status code equal to that given +func (o *ServiceBrokerHealthHeadBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker health head bad request response +func (o *ServiceBrokerHealthHeadBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerHealthHeadBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerHealthHeadBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerHealthHeadBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHealthHeadBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHealthHeadUnauthorized creates a ServiceBrokerHealthHeadUnauthorized with default headers values +func NewServiceBrokerHealthHeadUnauthorized() *ServiceBrokerHealthHeadUnauthorized { + return &ServiceBrokerHealthHeadUnauthorized{} +} + +/* +ServiceBrokerHealthHeadUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerHealthHeadUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker health head unauthorized response has a 2xx status code +func (o *ServiceBrokerHealthHeadUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker health head unauthorized response has a 3xx status code +func (o *ServiceBrokerHealthHeadUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health head unauthorized response has a 4xx status code +func (o *ServiceBrokerHealthHeadUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker health head unauthorized response has a 5xx status code +func (o *ServiceBrokerHealthHeadUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health head unauthorized response a status code equal to that given +func (o *ServiceBrokerHealthHeadUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker health head unauthorized response +func (o *ServiceBrokerHealthHeadUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerHealthHeadUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerHealthHeadUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerHealthHeadUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHealthHeadUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHealthHeadForbidden creates a ServiceBrokerHealthHeadForbidden with default headers values +func NewServiceBrokerHealthHeadForbidden() *ServiceBrokerHealthHeadForbidden { + return &ServiceBrokerHealthHeadForbidden{} +} + +/* +ServiceBrokerHealthHeadForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerHealthHeadForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker health head forbidden response has a 2xx status code +func (o *ServiceBrokerHealthHeadForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker health head forbidden response has a 3xx status code +func (o *ServiceBrokerHealthHeadForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health head forbidden response has a 4xx status code +func (o *ServiceBrokerHealthHeadForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker health head forbidden response has a 5xx status code +func (o *ServiceBrokerHealthHeadForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health head forbidden response a status code equal to that given +func (o *ServiceBrokerHealthHeadForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker health head forbidden response +func (o *ServiceBrokerHealthHeadForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerHealthHeadForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadForbidden %s", 403, payload) +} + +func (o *ServiceBrokerHealthHeadForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadForbidden %s", 403, payload) +} + +func (o *ServiceBrokerHealthHeadForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHealthHeadForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHealthHeadNotFound creates a ServiceBrokerHealthHeadNotFound with default headers values +func NewServiceBrokerHealthHeadNotFound() *ServiceBrokerHealthHeadNotFound { + return &ServiceBrokerHealthHeadNotFound{} +} + +/* +ServiceBrokerHealthHeadNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerHealthHeadNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker health head not found response has a 2xx status code +func (o *ServiceBrokerHealthHeadNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker health head not found response has a 3xx status code +func (o *ServiceBrokerHealthHeadNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health head not found response has a 4xx status code +func (o *ServiceBrokerHealthHeadNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker health head not found response has a 5xx status code +func (o *ServiceBrokerHealthHeadNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health head not found response a status code equal to that given +func (o *ServiceBrokerHealthHeadNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker health head not found response +func (o *ServiceBrokerHealthHeadNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerHealthHeadNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadNotFound %s", 404, payload) +} + +func (o *ServiceBrokerHealthHeadNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[HEAD /broker/v1/health][%d] serviceBrokerHealthHeadNotFound %s", 404, payload) +} + +func (o *ServiceBrokerHealthHeadNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHealthHeadNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_parameters.go new file mode 100644 index 000000000..6f9e20103 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerHealthParams creates a new ServiceBrokerHealthParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerHealthParams() *ServiceBrokerHealthParams { + return &ServiceBrokerHealthParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerHealthParamsWithTimeout creates a new ServiceBrokerHealthParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerHealthParamsWithTimeout(timeout time.Duration) *ServiceBrokerHealthParams { + return &ServiceBrokerHealthParams{ + timeout: timeout, + } +} + +// NewServiceBrokerHealthParamsWithContext creates a new ServiceBrokerHealthParams object +// with the ability to set a context for a request. +func NewServiceBrokerHealthParamsWithContext(ctx context.Context) *ServiceBrokerHealthParams { + return &ServiceBrokerHealthParams{ + Context: ctx, + } +} + +// NewServiceBrokerHealthParamsWithHTTPClient creates a new ServiceBrokerHealthParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerHealthParamsWithHTTPClient(client *http.Client) *ServiceBrokerHealthParams { + return &ServiceBrokerHealthParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerHealthParams contains all the parameters to send to the API endpoint + + for the service broker health operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerHealthParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker health params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerHealthParams) WithDefaults() *ServiceBrokerHealthParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker health params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerHealthParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker health params +func (o *ServiceBrokerHealthParams) WithTimeout(timeout time.Duration) *ServiceBrokerHealthParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker health params +func (o *ServiceBrokerHealthParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker health params +func (o *ServiceBrokerHealthParams) WithContext(ctx context.Context) *ServiceBrokerHealthParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker health params +func (o *ServiceBrokerHealthParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker health params +func (o *ServiceBrokerHealthParams) WithHTTPClient(client *http.Client) *ServiceBrokerHealthParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker health params +func (o *ServiceBrokerHealthParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerHealthParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_responses.go new file mode 100644 index 000000000..c989f8589 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_health_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerHealthReader is a Reader for the ServiceBrokerHealth structure. +type ServiceBrokerHealthReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerHealthReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerHealthOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerHealthBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerHealthUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerHealthForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerHealthNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/health] serviceBroker.health", response, response.Code()) + } +} + +// NewServiceBrokerHealthOK creates a ServiceBrokerHealthOK with default headers values +func NewServiceBrokerHealthOK() *ServiceBrokerHealthOK { + return &ServiceBrokerHealthOK{} +} + +/* +ServiceBrokerHealthOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerHealthOK struct { + Payload *models.Health +} + +// IsSuccess returns true when this service broker health o k response has a 2xx status code +func (o *ServiceBrokerHealthOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker health o k response has a 3xx status code +func (o *ServiceBrokerHealthOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health o k response has a 4xx status code +func (o *ServiceBrokerHealthOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker health o k response has a 5xx status code +func (o *ServiceBrokerHealthOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health o k response a status code equal to that given +func (o *ServiceBrokerHealthOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker health o k response +func (o *ServiceBrokerHealthOK) Code() int { + return 200 +} + +func (o *ServiceBrokerHealthOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthOK %s", 200, payload) +} + +func (o *ServiceBrokerHealthOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthOK %s", 200, payload) +} + +func (o *ServiceBrokerHealthOK) GetPayload() *models.Health { + return o.Payload +} + +func (o *ServiceBrokerHealthOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Health) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHealthBadRequest creates a ServiceBrokerHealthBadRequest with default headers values +func NewServiceBrokerHealthBadRequest() *ServiceBrokerHealthBadRequest { + return &ServiceBrokerHealthBadRequest{} +} + +/* +ServiceBrokerHealthBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerHealthBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker health bad request response has a 2xx status code +func (o *ServiceBrokerHealthBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker health bad request response has a 3xx status code +func (o *ServiceBrokerHealthBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health bad request response has a 4xx status code +func (o *ServiceBrokerHealthBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker health bad request response has a 5xx status code +func (o *ServiceBrokerHealthBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health bad request response a status code equal to that given +func (o *ServiceBrokerHealthBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker health bad request response +func (o *ServiceBrokerHealthBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerHealthBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerHealthBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerHealthBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHealthBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHealthUnauthorized creates a ServiceBrokerHealthUnauthorized with default headers values +func NewServiceBrokerHealthUnauthorized() *ServiceBrokerHealthUnauthorized { + return &ServiceBrokerHealthUnauthorized{} +} + +/* +ServiceBrokerHealthUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerHealthUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker health unauthorized response has a 2xx status code +func (o *ServiceBrokerHealthUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker health unauthorized response has a 3xx status code +func (o *ServiceBrokerHealthUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health unauthorized response has a 4xx status code +func (o *ServiceBrokerHealthUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker health unauthorized response has a 5xx status code +func (o *ServiceBrokerHealthUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health unauthorized response a status code equal to that given +func (o *ServiceBrokerHealthUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker health unauthorized response +func (o *ServiceBrokerHealthUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerHealthUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerHealthUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerHealthUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHealthUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHealthForbidden creates a ServiceBrokerHealthForbidden with default headers values +func NewServiceBrokerHealthForbidden() *ServiceBrokerHealthForbidden { + return &ServiceBrokerHealthForbidden{} +} + +/* +ServiceBrokerHealthForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerHealthForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker health forbidden response has a 2xx status code +func (o *ServiceBrokerHealthForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker health forbidden response has a 3xx status code +func (o *ServiceBrokerHealthForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health forbidden response has a 4xx status code +func (o *ServiceBrokerHealthForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker health forbidden response has a 5xx status code +func (o *ServiceBrokerHealthForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health forbidden response a status code equal to that given +func (o *ServiceBrokerHealthForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker health forbidden response +func (o *ServiceBrokerHealthForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerHealthForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthForbidden %s", 403, payload) +} + +func (o *ServiceBrokerHealthForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthForbidden %s", 403, payload) +} + +func (o *ServiceBrokerHealthForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHealthForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerHealthNotFound creates a ServiceBrokerHealthNotFound with default headers values +func NewServiceBrokerHealthNotFound() *ServiceBrokerHealthNotFound { + return &ServiceBrokerHealthNotFound{} +} + +/* +ServiceBrokerHealthNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerHealthNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker health not found response has a 2xx status code +func (o *ServiceBrokerHealthNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker health not found response has a 3xx status code +func (o *ServiceBrokerHealthNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker health not found response has a 4xx status code +func (o *ServiceBrokerHealthNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker health not found response has a 5xx status code +func (o *ServiceBrokerHealthNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker health not found response a status code equal to that given +func (o *ServiceBrokerHealthNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker health not found response +func (o *ServiceBrokerHealthNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerHealthNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthNotFound %s", 404, payload) +} + +func (o *ServiceBrokerHealthNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/health][%d] serviceBrokerHealthNotFound %s", 404, payload) +} + +func (o *ServiceBrokerHealthNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerHealthNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_test_timeout_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_test_timeout_parameters.go new file mode 100644 index 000000000..f401a8bd6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_test_timeout_parameters.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewServiceBrokerTestTimeoutParams creates a new ServiceBrokerTestTimeoutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerTestTimeoutParams() *ServiceBrokerTestTimeoutParams { + return &ServiceBrokerTestTimeoutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerTestTimeoutParamsWithTimeout creates a new ServiceBrokerTestTimeoutParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerTestTimeoutParamsWithTimeout(timeout time.Duration) *ServiceBrokerTestTimeoutParams { + return &ServiceBrokerTestTimeoutParams{ + timeout: timeout, + } +} + +// NewServiceBrokerTestTimeoutParamsWithContext creates a new ServiceBrokerTestTimeoutParams object +// with the ability to set a context for a request. +func NewServiceBrokerTestTimeoutParamsWithContext(ctx context.Context) *ServiceBrokerTestTimeoutParams { + return &ServiceBrokerTestTimeoutParams{ + Context: ctx, + } +} + +// NewServiceBrokerTestTimeoutParamsWithHTTPClient creates a new ServiceBrokerTestTimeoutParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerTestTimeoutParamsWithHTTPClient(client *http.Client) *ServiceBrokerTestTimeoutParams { + return &ServiceBrokerTestTimeoutParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerTestTimeoutParams contains all the parameters to send to the API endpoint + + for the service broker test timeout operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerTestTimeoutParams struct { + + /* T. + + seconds + */ + T int64 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker test timeout params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerTestTimeoutParams) WithDefaults() *ServiceBrokerTestTimeoutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker test timeout params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerTestTimeoutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker test timeout params +func (o *ServiceBrokerTestTimeoutParams) WithTimeout(timeout time.Duration) *ServiceBrokerTestTimeoutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker test timeout params +func (o *ServiceBrokerTestTimeoutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker test timeout params +func (o *ServiceBrokerTestTimeoutParams) WithContext(ctx context.Context) *ServiceBrokerTestTimeoutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker test timeout params +func (o *ServiceBrokerTestTimeoutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker test timeout params +func (o *ServiceBrokerTestTimeoutParams) WithHTTPClient(client *http.Client) *ServiceBrokerTestTimeoutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker test timeout params +func (o *ServiceBrokerTestTimeoutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithT adds the t to the service broker test timeout params +func (o *ServiceBrokerTestTimeoutParams) WithT(t int64) *ServiceBrokerTestTimeoutParams { + o.SetT(t) + return o +} + +// SetT adds the t to the service broker test timeout params +func (o *ServiceBrokerTestTimeoutParams) SetT(t int64) { + o.T = t +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerTestTimeoutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // query param t + qrT := o.T + qT := swag.FormatInt64(qrT) + if qT != "" { + + if err := r.SetQueryParam("t", qT); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_test_timeout_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_test_timeout_responses.go new file mode 100644 index 000000000..060b56440 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_test_timeout_responses.go @@ -0,0 +1,409 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerTestTimeoutReader is a Reader for the ServiceBrokerTestTimeout structure. +type ServiceBrokerTestTimeoutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerTestTimeoutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerTestTimeoutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerTestTimeoutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerTestTimeoutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerTestTimeoutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerTestTimeoutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/test/timeout] serviceBroker.test.timeout", response, response.Code()) + } +} + +// NewServiceBrokerTestTimeoutOK creates a ServiceBrokerTestTimeoutOK with default headers values +func NewServiceBrokerTestTimeoutOK() *ServiceBrokerTestTimeoutOK { + return &ServiceBrokerTestTimeoutOK{} +} + +/* +ServiceBrokerTestTimeoutOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerTestTimeoutOK struct { + Payload models.Object +} + +// IsSuccess returns true when this service broker test timeout o k response has a 2xx status code +func (o *ServiceBrokerTestTimeoutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker test timeout o k response has a 3xx status code +func (o *ServiceBrokerTestTimeoutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker test timeout o k response has a 4xx status code +func (o *ServiceBrokerTestTimeoutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker test timeout o k response has a 5xx status code +func (o *ServiceBrokerTestTimeoutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker test timeout o k response a status code equal to that given +func (o *ServiceBrokerTestTimeoutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker test timeout o k response +func (o *ServiceBrokerTestTimeoutOK) Code() int { + return 200 +} + +func (o *ServiceBrokerTestTimeoutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutOK %s", 200, payload) +} + +func (o *ServiceBrokerTestTimeoutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutOK %s", 200, payload) +} + +func (o *ServiceBrokerTestTimeoutOK) GetPayload() models.Object { + return o.Payload +} + +func (o *ServiceBrokerTestTimeoutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerTestTimeoutBadRequest creates a ServiceBrokerTestTimeoutBadRequest with default headers values +func NewServiceBrokerTestTimeoutBadRequest() *ServiceBrokerTestTimeoutBadRequest { + return &ServiceBrokerTestTimeoutBadRequest{} +} + +/* +ServiceBrokerTestTimeoutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerTestTimeoutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker test timeout bad request response has a 2xx status code +func (o *ServiceBrokerTestTimeoutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker test timeout bad request response has a 3xx status code +func (o *ServiceBrokerTestTimeoutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker test timeout bad request response has a 4xx status code +func (o *ServiceBrokerTestTimeoutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker test timeout bad request response has a 5xx status code +func (o *ServiceBrokerTestTimeoutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker test timeout bad request response a status code equal to that given +func (o *ServiceBrokerTestTimeoutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker test timeout bad request response +func (o *ServiceBrokerTestTimeoutBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerTestTimeoutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerTestTimeoutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerTestTimeoutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerTestTimeoutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerTestTimeoutUnauthorized creates a ServiceBrokerTestTimeoutUnauthorized with default headers values +func NewServiceBrokerTestTimeoutUnauthorized() *ServiceBrokerTestTimeoutUnauthorized { + return &ServiceBrokerTestTimeoutUnauthorized{} +} + +/* +ServiceBrokerTestTimeoutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerTestTimeoutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker test timeout unauthorized response has a 2xx status code +func (o *ServiceBrokerTestTimeoutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker test timeout unauthorized response has a 3xx status code +func (o *ServiceBrokerTestTimeoutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker test timeout unauthorized response has a 4xx status code +func (o *ServiceBrokerTestTimeoutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker test timeout unauthorized response has a 5xx status code +func (o *ServiceBrokerTestTimeoutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker test timeout unauthorized response a status code equal to that given +func (o *ServiceBrokerTestTimeoutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker test timeout unauthorized response +func (o *ServiceBrokerTestTimeoutUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerTestTimeoutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerTestTimeoutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerTestTimeoutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerTestTimeoutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerTestTimeoutForbidden creates a ServiceBrokerTestTimeoutForbidden with default headers values +func NewServiceBrokerTestTimeoutForbidden() *ServiceBrokerTestTimeoutForbidden { + return &ServiceBrokerTestTimeoutForbidden{} +} + +/* +ServiceBrokerTestTimeoutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerTestTimeoutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker test timeout forbidden response has a 2xx status code +func (o *ServiceBrokerTestTimeoutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker test timeout forbidden response has a 3xx status code +func (o *ServiceBrokerTestTimeoutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker test timeout forbidden response has a 4xx status code +func (o *ServiceBrokerTestTimeoutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker test timeout forbidden response has a 5xx status code +func (o *ServiceBrokerTestTimeoutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker test timeout forbidden response a status code equal to that given +func (o *ServiceBrokerTestTimeoutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker test timeout forbidden response +func (o *ServiceBrokerTestTimeoutForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerTestTimeoutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutForbidden %s", 403, payload) +} + +func (o *ServiceBrokerTestTimeoutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutForbidden %s", 403, payload) +} + +func (o *ServiceBrokerTestTimeoutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerTestTimeoutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerTestTimeoutNotFound creates a ServiceBrokerTestTimeoutNotFound with default headers values +func NewServiceBrokerTestTimeoutNotFound() *ServiceBrokerTestTimeoutNotFound { + return &ServiceBrokerTestTimeoutNotFound{} +} + +/* +ServiceBrokerTestTimeoutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerTestTimeoutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker test timeout not found response has a 2xx status code +func (o *ServiceBrokerTestTimeoutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker test timeout not found response has a 3xx status code +func (o *ServiceBrokerTestTimeoutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker test timeout not found response has a 4xx status code +func (o *ServiceBrokerTestTimeoutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker test timeout not found response has a 5xx status code +func (o *ServiceBrokerTestTimeoutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker test timeout not found response a status code equal to that given +func (o *ServiceBrokerTestTimeoutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker test timeout not found response +func (o *ServiceBrokerTestTimeoutNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerTestTimeoutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutNotFound %s", 404, payload) +} + +func (o *ServiceBrokerTestTimeoutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/test/timeout][%d] serviceBrokerTestTimeoutNotFound %s", 404, payload) +} + +func (o *ServiceBrokerTestTimeoutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerTestTimeoutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_version_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_version_parameters.go new file mode 100644 index 000000000..99b839db2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_version_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerVersionParams creates a new ServiceBrokerVersionParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerVersionParams() *ServiceBrokerVersionParams { + return &ServiceBrokerVersionParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerVersionParamsWithTimeout creates a new ServiceBrokerVersionParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerVersionParamsWithTimeout(timeout time.Duration) *ServiceBrokerVersionParams { + return &ServiceBrokerVersionParams{ + timeout: timeout, + } +} + +// NewServiceBrokerVersionParamsWithContext creates a new ServiceBrokerVersionParams object +// with the ability to set a context for a request. +func NewServiceBrokerVersionParamsWithContext(ctx context.Context) *ServiceBrokerVersionParams { + return &ServiceBrokerVersionParams{ + Context: ctx, + } +} + +// NewServiceBrokerVersionParamsWithHTTPClient creates a new ServiceBrokerVersionParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerVersionParamsWithHTTPClient(client *http.Client) *ServiceBrokerVersionParams { + return &ServiceBrokerVersionParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerVersionParams contains all the parameters to send to the API endpoint + + for the service broker version operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerVersionParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker version params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerVersionParams) WithDefaults() *ServiceBrokerVersionParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker version params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerVersionParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker version params +func (o *ServiceBrokerVersionParams) WithTimeout(timeout time.Duration) *ServiceBrokerVersionParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker version params +func (o *ServiceBrokerVersionParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker version params +func (o *ServiceBrokerVersionParams) WithContext(ctx context.Context) *ServiceBrokerVersionParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker version params +func (o *ServiceBrokerVersionParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker version params +func (o *ServiceBrokerVersionParams) WithHTTPClient(client *http.Client) *ServiceBrokerVersionParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker version params +func (o *ServiceBrokerVersionParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerVersionParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_version_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_version_responses.go new file mode 100644 index 000000000..baa7ecddc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker/service_broker_version_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package iaas_service_broker + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerVersionReader is a Reader for the ServiceBrokerVersion structure. +type ServiceBrokerVersionReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerVersionReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerVersionOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerVersionBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerVersionUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerVersionForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerVersionNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/version] serviceBroker.version", response, response.Code()) + } +} + +// NewServiceBrokerVersionOK creates a ServiceBrokerVersionOK with default headers values +func NewServiceBrokerVersionOK() *ServiceBrokerVersionOK { + return &ServiceBrokerVersionOK{} +} + +/* +ServiceBrokerVersionOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerVersionOK struct { + Payload *models.Version +} + +// IsSuccess returns true when this service broker version o k response has a 2xx status code +func (o *ServiceBrokerVersionOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker version o k response has a 3xx status code +func (o *ServiceBrokerVersionOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker version o k response has a 4xx status code +func (o *ServiceBrokerVersionOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker version o k response has a 5xx status code +func (o *ServiceBrokerVersionOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker version o k response a status code equal to that given +func (o *ServiceBrokerVersionOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker version o k response +func (o *ServiceBrokerVersionOK) Code() int { + return 200 +} + +func (o *ServiceBrokerVersionOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionOK %s", 200, payload) +} + +func (o *ServiceBrokerVersionOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionOK %s", 200, payload) +} + +func (o *ServiceBrokerVersionOK) GetPayload() *models.Version { + return o.Payload +} + +func (o *ServiceBrokerVersionOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Version) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerVersionBadRequest creates a ServiceBrokerVersionBadRequest with default headers values +func NewServiceBrokerVersionBadRequest() *ServiceBrokerVersionBadRequest { + return &ServiceBrokerVersionBadRequest{} +} + +/* +ServiceBrokerVersionBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerVersionBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker version bad request response has a 2xx status code +func (o *ServiceBrokerVersionBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker version bad request response has a 3xx status code +func (o *ServiceBrokerVersionBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker version bad request response has a 4xx status code +func (o *ServiceBrokerVersionBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker version bad request response has a 5xx status code +func (o *ServiceBrokerVersionBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker version bad request response a status code equal to that given +func (o *ServiceBrokerVersionBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker version bad request response +func (o *ServiceBrokerVersionBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerVersionBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerVersionBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerVersionBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerVersionBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerVersionUnauthorized creates a ServiceBrokerVersionUnauthorized with default headers values +func NewServiceBrokerVersionUnauthorized() *ServiceBrokerVersionUnauthorized { + return &ServiceBrokerVersionUnauthorized{} +} + +/* +ServiceBrokerVersionUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerVersionUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker version unauthorized response has a 2xx status code +func (o *ServiceBrokerVersionUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker version unauthorized response has a 3xx status code +func (o *ServiceBrokerVersionUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker version unauthorized response has a 4xx status code +func (o *ServiceBrokerVersionUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker version unauthorized response has a 5xx status code +func (o *ServiceBrokerVersionUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker version unauthorized response a status code equal to that given +func (o *ServiceBrokerVersionUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker version unauthorized response +func (o *ServiceBrokerVersionUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerVersionUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerVersionUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerVersionUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerVersionUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerVersionForbidden creates a ServiceBrokerVersionForbidden with default headers values +func NewServiceBrokerVersionForbidden() *ServiceBrokerVersionForbidden { + return &ServiceBrokerVersionForbidden{} +} + +/* +ServiceBrokerVersionForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerVersionForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker version forbidden response has a 2xx status code +func (o *ServiceBrokerVersionForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker version forbidden response has a 3xx status code +func (o *ServiceBrokerVersionForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker version forbidden response has a 4xx status code +func (o *ServiceBrokerVersionForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker version forbidden response has a 5xx status code +func (o *ServiceBrokerVersionForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker version forbidden response a status code equal to that given +func (o *ServiceBrokerVersionForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker version forbidden response +func (o *ServiceBrokerVersionForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerVersionForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionForbidden %s", 403, payload) +} + +func (o *ServiceBrokerVersionForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionForbidden %s", 403, payload) +} + +func (o *ServiceBrokerVersionForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerVersionForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerVersionNotFound creates a ServiceBrokerVersionNotFound with default headers values +func NewServiceBrokerVersionNotFound() *ServiceBrokerVersionNotFound { + return &ServiceBrokerVersionNotFound{} +} + +/* +ServiceBrokerVersionNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerVersionNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker version not found response has a 2xx status code +func (o *ServiceBrokerVersionNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker version not found response has a 3xx status code +func (o *ServiceBrokerVersionNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker version not found response has a 4xx status code +func (o *ServiceBrokerVersionNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker version not found response has a 5xx status code +func (o *ServiceBrokerVersionNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker version not found response a status code equal to that given +func (o *ServiceBrokerVersionNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker version not found response +func (o *ServiceBrokerVersionNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerVersionNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionNotFound %s", 404, payload) +} + +func (o *ServiceBrokerVersionNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/version][%d] serviceBrokerVersionNotFound %s", 404, payload) +} + +func (o *ServiceBrokerVersionNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerVersionNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_capacity_management_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_capacity_management_client.go new file mode 100644 index 000000000..e78ded4b8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_capacity_management_client.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_capacity_management + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal capacity management API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal capacity management API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal capacity management API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal capacity management API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1CapacityManagementPut(params *InternalV1CapacityManagementPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1CapacityManagementPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1CapacityManagementPut enables or disable capacity on a system type +*/ +func (a *Client) InternalV1CapacityManagementPut(params *InternalV1CapacityManagementPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1CapacityManagementPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1CapacityManagementPutParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.capacity-management.put", + Method: "PUT", + PathPattern: "/internal/v1/capacity-management", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1CapacityManagementPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1CapacityManagementPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.capacity-management.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_v1_capacity_management_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_v1_capacity_management_put_parameters.go new file mode 100644 index 000000000..8a3f0e04e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_v1_capacity_management_put_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_capacity_management + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1CapacityManagementPutParams creates a new InternalV1CapacityManagementPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1CapacityManagementPutParams() *InternalV1CapacityManagementPutParams { + return &InternalV1CapacityManagementPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1CapacityManagementPutParamsWithTimeout creates a new InternalV1CapacityManagementPutParams object +// with the ability to set a timeout on a request. +func NewInternalV1CapacityManagementPutParamsWithTimeout(timeout time.Duration) *InternalV1CapacityManagementPutParams { + return &InternalV1CapacityManagementPutParams{ + timeout: timeout, + } +} + +// NewInternalV1CapacityManagementPutParamsWithContext creates a new InternalV1CapacityManagementPutParams object +// with the ability to set a context for a request. +func NewInternalV1CapacityManagementPutParamsWithContext(ctx context.Context) *InternalV1CapacityManagementPutParams { + return &InternalV1CapacityManagementPutParams{ + Context: ctx, + } +} + +// NewInternalV1CapacityManagementPutParamsWithHTTPClient creates a new InternalV1CapacityManagementPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1CapacityManagementPutParamsWithHTTPClient(client *http.Client) *InternalV1CapacityManagementPutParams { + return &InternalV1CapacityManagementPutParams{ + HTTPClient: client, + } +} + +/* +InternalV1CapacityManagementPutParams contains all the parameters to send to the API endpoint + + for the internal v1 capacity management put operation. + + Typically these are written to a http.Request. +*/ +type InternalV1CapacityManagementPutParams struct { + + /* Body. + + Parameters for enabling and disabling capacity + */ + Body *models.InternalCapacityManagementRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 capacity management put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1CapacityManagementPutParams) WithDefaults() *InternalV1CapacityManagementPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 capacity management put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1CapacityManagementPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 capacity management put params +func (o *InternalV1CapacityManagementPutParams) WithTimeout(timeout time.Duration) *InternalV1CapacityManagementPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 capacity management put params +func (o *InternalV1CapacityManagementPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 capacity management put params +func (o *InternalV1CapacityManagementPutParams) WithContext(ctx context.Context) *InternalV1CapacityManagementPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 capacity management put params +func (o *InternalV1CapacityManagementPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 capacity management put params +func (o *InternalV1CapacityManagementPutParams) WithHTTPClient(client *http.Client) *InternalV1CapacityManagementPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 capacity management put params +func (o *InternalV1CapacityManagementPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the internal v1 capacity management put params +func (o *InternalV1CapacityManagementPutParams) WithBody(body *models.InternalCapacityManagementRequest) *InternalV1CapacityManagementPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 capacity management put params +func (o *InternalV1CapacityManagementPutParams) SetBody(body *models.InternalCapacityManagementRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1CapacityManagementPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_v1_capacity_management_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_v1_capacity_management_put_responses.go new file mode 100644 index 000000000..74c5ec8a2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management/internal_v1_capacity_management_put_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_capacity_management + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1CapacityManagementPutReader is a Reader for the InternalV1CapacityManagementPut structure. +type InternalV1CapacityManagementPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1CapacityManagementPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1CapacityManagementPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1CapacityManagementPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1CapacityManagementPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1CapacityManagementPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1CapacityManagementPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /internal/v1/capacity-management] internal.v1.capacity-management.put", response, response.Code()) + } +} + +// NewInternalV1CapacityManagementPutOK creates a InternalV1CapacityManagementPutOK with default headers values +func NewInternalV1CapacityManagementPutOK() *InternalV1CapacityManagementPutOK { + return &InternalV1CapacityManagementPutOK{} +} + +/* +InternalV1CapacityManagementPutOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1CapacityManagementPutOK struct { + Payload *models.InternalCapacityManagementResponse +} + +// IsSuccess returns true when this internal v1 capacity management put o k response has a 2xx status code +func (o *InternalV1CapacityManagementPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 capacity management put o k response has a 3xx status code +func (o *InternalV1CapacityManagementPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 capacity management put o k response has a 4xx status code +func (o *InternalV1CapacityManagementPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 capacity management put o k response has a 5xx status code +func (o *InternalV1CapacityManagementPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 capacity management put o k response a status code equal to that given +func (o *InternalV1CapacityManagementPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 capacity management put o k response +func (o *InternalV1CapacityManagementPutOK) Code() int { + return 200 +} + +func (o *InternalV1CapacityManagementPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutOK %s", 200, payload) +} + +func (o *InternalV1CapacityManagementPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutOK %s", 200, payload) +} + +func (o *InternalV1CapacityManagementPutOK) GetPayload() *models.InternalCapacityManagementResponse { + return o.Payload +} + +func (o *InternalV1CapacityManagementPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalCapacityManagementResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1CapacityManagementPutBadRequest creates a InternalV1CapacityManagementPutBadRequest with default headers values +func NewInternalV1CapacityManagementPutBadRequest() *InternalV1CapacityManagementPutBadRequest { + return &InternalV1CapacityManagementPutBadRequest{} +} + +/* +InternalV1CapacityManagementPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1CapacityManagementPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 capacity management put bad request response has a 2xx status code +func (o *InternalV1CapacityManagementPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 capacity management put bad request response has a 3xx status code +func (o *InternalV1CapacityManagementPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 capacity management put bad request response has a 4xx status code +func (o *InternalV1CapacityManagementPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 capacity management put bad request response has a 5xx status code +func (o *InternalV1CapacityManagementPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 capacity management put bad request response a status code equal to that given +func (o *InternalV1CapacityManagementPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 capacity management put bad request response +func (o *InternalV1CapacityManagementPutBadRequest) Code() int { + return 400 +} + +func (o *InternalV1CapacityManagementPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutBadRequest %s", 400, payload) +} + +func (o *InternalV1CapacityManagementPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutBadRequest %s", 400, payload) +} + +func (o *InternalV1CapacityManagementPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1CapacityManagementPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1CapacityManagementPutUnauthorized creates a InternalV1CapacityManagementPutUnauthorized with default headers values +func NewInternalV1CapacityManagementPutUnauthorized() *InternalV1CapacityManagementPutUnauthorized { + return &InternalV1CapacityManagementPutUnauthorized{} +} + +/* +InternalV1CapacityManagementPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1CapacityManagementPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 capacity management put unauthorized response has a 2xx status code +func (o *InternalV1CapacityManagementPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 capacity management put unauthorized response has a 3xx status code +func (o *InternalV1CapacityManagementPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 capacity management put unauthorized response has a 4xx status code +func (o *InternalV1CapacityManagementPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 capacity management put unauthorized response has a 5xx status code +func (o *InternalV1CapacityManagementPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 capacity management put unauthorized response a status code equal to that given +func (o *InternalV1CapacityManagementPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 capacity management put unauthorized response +func (o *InternalV1CapacityManagementPutUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1CapacityManagementPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutUnauthorized %s", 401, payload) +} + +func (o *InternalV1CapacityManagementPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutUnauthorized %s", 401, payload) +} + +func (o *InternalV1CapacityManagementPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1CapacityManagementPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1CapacityManagementPutForbidden creates a InternalV1CapacityManagementPutForbidden with default headers values +func NewInternalV1CapacityManagementPutForbidden() *InternalV1CapacityManagementPutForbidden { + return &InternalV1CapacityManagementPutForbidden{} +} + +/* +InternalV1CapacityManagementPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1CapacityManagementPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 capacity management put forbidden response has a 2xx status code +func (o *InternalV1CapacityManagementPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 capacity management put forbidden response has a 3xx status code +func (o *InternalV1CapacityManagementPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 capacity management put forbidden response has a 4xx status code +func (o *InternalV1CapacityManagementPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 capacity management put forbidden response has a 5xx status code +func (o *InternalV1CapacityManagementPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 capacity management put forbidden response a status code equal to that given +func (o *InternalV1CapacityManagementPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 capacity management put forbidden response +func (o *InternalV1CapacityManagementPutForbidden) Code() int { + return 403 +} + +func (o *InternalV1CapacityManagementPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutForbidden %s", 403, payload) +} + +func (o *InternalV1CapacityManagementPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutForbidden %s", 403, payload) +} + +func (o *InternalV1CapacityManagementPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1CapacityManagementPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1CapacityManagementPutInternalServerError creates a InternalV1CapacityManagementPutInternalServerError with default headers values +func NewInternalV1CapacityManagementPutInternalServerError() *InternalV1CapacityManagementPutInternalServerError { + return &InternalV1CapacityManagementPutInternalServerError{} +} + +/* +InternalV1CapacityManagementPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1CapacityManagementPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 capacity management put internal server error response has a 2xx status code +func (o *InternalV1CapacityManagementPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 capacity management put internal server error response has a 3xx status code +func (o *InternalV1CapacityManagementPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 capacity management put internal server error response has a 4xx status code +func (o *InternalV1CapacityManagementPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 capacity management put internal server error response has a 5xx status code +func (o *InternalV1CapacityManagementPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 capacity management put internal server error response a status code equal to that given +func (o *InternalV1CapacityManagementPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 capacity management put internal server error response +func (o *InternalV1CapacityManagementPutInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1CapacityManagementPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutInternalServerError %s", 500, payload) +} + +func (o *InternalV1CapacityManagementPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/capacity-management][%d] internalV1CapacityManagementPutInternalServerError %s", 500, payload) +} + +func (o *InternalV1CapacityManagementPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1CapacityManagementPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_operations_dedicated_hosts_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_operations_dedicated_hosts_client.go new file mode 100644 index 000000000..634e292cd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_operations_dedicated_hosts_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_dedicated_hosts + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations dedicated hosts API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations dedicated hosts API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations dedicated hosts API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations dedicated hosts API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsDedicatedhostsDelete(params *InternalV1OperationsDedicatedhostsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsDedicatedhostsDeleteNoContent, error) + + InternalV1OperationsDedicatedhostsPost(params *InternalV1OperationsDedicatedhostsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsDedicatedhostsPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsDedicatedhostsDelete deletes a dedicated host c r n +*/ +func (a *Client) InternalV1OperationsDedicatedhostsDelete(params *InternalV1OperationsDedicatedhostsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsDedicatedhostsDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsDedicatedhostsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.dedicatedhosts.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/dedicated-hosts/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsDedicatedhostsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsDedicatedhostsDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.dedicatedhosts.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsDedicatedhostsPost creates a c r n for a dedicated host +*/ +func (a *Client) InternalV1OperationsDedicatedhostsPost(params *InternalV1OperationsDedicatedhostsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsDedicatedhostsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsDedicatedhostsPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.dedicatedhosts.post", + Method: "POST", + PathPattern: "/internal/v1/operations/dedicated-hosts", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsDedicatedhostsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsDedicatedhostsPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.dedicatedhosts.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_delete_parameters.go new file mode 100644 index 000000000..e12009c70 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_dedicated_hosts + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsDedicatedhostsDeleteParams creates a new InternalV1OperationsDedicatedhostsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsDedicatedhostsDeleteParams() *InternalV1OperationsDedicatedhostsDeleteParams { + return &InternalV1OperationsDedicatedhostsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsDedicatedhostsDeleteParamsWithTimeout creates a new InternalV1OperationsDedicatedhostsDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsDedicatedhostsDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsDedicatedhostsDeleteParams { + return &InternalV1OperationsDedicatedhostsDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsDedicatedhostsDeleteParamsWithContext creates a new InternalV1OperationsDedicatedhostsDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsDedicatedhostsDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsDedicatedhostsDeleteParams { + return &InternalV1OperationsDedicatedhostsDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsDedicatedhostsDeleteParamsWithHTTPClient creates a new InternalV1OperationsDedicatedhostsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsDedicatedhostsDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsDedicatedhostsDeleteParams { + return &InternalV1OperationsDedicatedhostsDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsDedicatedhostsDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations dedicatedhosts delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsDedicatedhostsDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations dedicatedhosts delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WithDefaults() *InternalV1OperationsDedicatedhostsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations dedicatedhosts delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsDedicatedhostsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsDedicatedhostsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsDedicatedhostsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsDedicatedhostsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsDedicatedhostsDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WithCRN(cRN string) *InternalV1OperationsDedicatedhostsDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsDedicatedhostsDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsDedicatedhostsDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations dedicatedhosts delete params +func (o *InternalV1OperationsDedicatedhostsDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsDedicatedhostsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_delete_responses.go new file mode 100644 index 000000000..b5ef01cb5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_dedicated_hosts + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsDedicatedhostsDeleteReader is a Reader for the InternalV1OperationsDedicatedhostsDelete structure. +type InternalV1OperationsDedicatedhostsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsDedicatedhostsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsDedicatedhostsDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsDedicatedhostsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsDedicatedhostsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsDedicatedhostsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsDedicatedhostsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsDedicatedhostsDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsDedicatedhostsDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsDedicatedhostsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}] internal.v1.operations.dedicatedhosts.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsDedicatedhostsDeleteNoContent creates a InternalV1OperationsDedicatedhostsDeleteNoContent with default headers values +func NewInternalV1OperationsDedicatedhostsDeleteNoContent() *InternalV1OperationsDedicatedhostsDeleteNoContent { + return &InternalV1OperationsDedicatedhostsDeleteNoContent{} +} + +/* +InternalV1OperationsDedicatedhostsDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsDedicatedhostsDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts delete no content response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts delete no content response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts delete no content response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts delete no content response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts delete no content response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts delete no content response +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsDedicatedhostsDeleteBadRequest creates a InternalV1OperationsDedicatedhostsDeleteBadRequest with default headers values +func NewInternalV1OperationsDedicatedhostsDeleteBadRequest() *InternalV1OperationsDedicatedhostsDeleteBadRequest { + return &InternalV1OperationsDedicatedhostsDeleteBadRequest{} +} + +/* +InternalV1OperationsDedicatedhostsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsDedicatedhostsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts delete bad request response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts delete bad request response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts delete bad request response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts delete bad request response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts delete bad request response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts delete bad request response +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsDeleteUnauthorized creates a InternalV1OperationsDedicatedhostsDeleteUnauthorized with default headers values +func NewInternalV1OperationsDedicatedhostsDeleteUnauthorized() *InternalV1OperationsDedicatedhostsDeleteUnauthorized { + return &InternalV1OperationsDedicatedhostsDeleteUnauthorized{} +} + +/* +InternalV1OperationsDedicatedhostsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsDedicatedhostsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts delete unauthorized response +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsDeleteForbidden creates a InternalV1OperationsDedicatedhostsDeleteForbidden with default headers values +func NewInternalV1OperationsDedicatedhostsDeleteForbidden() *InternalV1OperationsDedicatedhostsDeleteForbidden { + return &InternalV1OperationsDedicatedhostsDeleteForbidden{} +} + +/* +InternalV1OperationsDedicatedhostsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsDedicatedhostsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts delete forbidden response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts delete forbidden response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts delete forbidden response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts delete forbidden response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts delete forbidden response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts delete forbidden response +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsDeleteNotFound creates a InternalV1OperationsDedicatedhostsDeleteNotFound with default headers values +func NewInternalV1OperationsDedicatedhostsDeleteNotFound() *InternalV1OperationsDedicatedhostsDeleteNotFound { + return &InternalV1OperationsDedicatedhostsDeleteNotFound{} +} + +/* +InternalV1OperationsDedicatedhostsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsDedicatedhostsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts delete not found response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts delete not found response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts delete not found response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts delete not found response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts delete not found response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts delete not found response +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsDeleteGone creates a InternalV1OperationsDedicatedhostsDeleteGone with default headers values +func NewInternalV1OperationsDedicatedhostsDeleteGone() *InternalV1OperationsDedicatedhostsDeleteGone { + return &InternalV1OperationsDedicatedhostsDeleteGone{} +} + +/* +InternalV1OperationsDedicatedhostsDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsDedicatedhostsDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts delete gone response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts delete gone response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts delete gone response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts delete gone response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts delete gone response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts delete gone response +func (o *InternalV1OperationsDedicatedhostsDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsDedicatedhostsDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsDeleteTooManyRequests creates a InternalV1OperationsDedicatedhostsDeleteTooManyRequests with default headers values +func NewInternalV1OperationsDedicatedhostsDeleteTooManyRequests() *InternalV1OperationsDedicatedhostsDeleteTooManyRequests { + return &InternalV1OperationsDedicatedhostsDeleteTooManyRequests{} +} + +/* +InternalV1OperationsDedicatedhostsDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsDedicatedhostsDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts delete too many requests response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts delete too many requests response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts delete too many requests response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts delete too many requests response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts delete too many requests response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts delete too many requests response +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsDeleteInternalServerError creates a InternalV1OperationsDedicatedhostsDeleteInternalServerError with default headers values +func NewInternalV1OperationsDedicatedhostsDeleteInternalServerError() *InternalV1OperationsDedicatedhostsDeleteInternalServerError { + return &InternalV1OperationsDedicatedhostsDeleteInternalServerError{} +} + +/* +InternalV1OperationsDedicatedhostsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsDedicatedhostsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts delete internal server error response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts delete internal server error response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts delete internal server error response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts delete internal server error response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations dedicatedhosts delete internal server error response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts delete internal server error response +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/dedicated-hosts/{resource_crn}][%d] internalV1OperationsDedicatedhostsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_post_parameters.go new file mode 100644 index 000000000..4f9d766f9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_dedicated_hosts + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsDedicatedhostsPostParams creates a new InternalV1OperationsDedicatedhostsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsDedicatedhostsPostParams() *InternalV1OperationsDedicatedhostsPostParams { + return &InternalV1OperationsDedicatedhostsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsDedicatedhostsPostParamsWithTimeout creates a new InternalV1OperationsDedicatedhostsPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsDedicatedhostsPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsDedicatedhostsPostParams { + return &InternalV1OperationsDedicatedhostsPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsDedicatedhostsPostParamsWithContext creates a new InternalV1OperationsDedicatedhostsPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsDedicatedhostsPostParamsWithContext(ctx context.Context) *InternalV1OperationsDedicatedhostsPostParams { + return &InternalV1OperationsDedicatedhostsPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsDedicatedhostsPostParamsWithHTTPClient creates a new InternalV1OperationsDedicatedhostsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsDedicatedhostsPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsDedicatedhostsPostParams { + return &InternalV1OperationsDedicatedhostsPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsDedicatedhostsPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations dedicatedhosts post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsDedicatedhostsPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating a Dedicated Host CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations dedicatedhosts post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsDedicatedhostsPostParams) WithDefaults() *InternalV1OperationsDedicatedhostsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations dedicatedhosts post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsDedicatedhostsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsDedicatedhostsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) WithContext(ctx context.Context) *InternalV1OperationsDedicatedhostsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsDedicatedhostsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) WithAuthorization(authorization string) *InternalV1OperationsDedicatedhostsPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) WithCRN(cRN string) *InternalV1OperationsDedicatedhostsPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsDedicatedhostsPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsDedicatedhostsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations dedicatedhosts post params +func (o *InternalV1OperationsDedicatedhostsPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsDedicatedhostsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_post_responses.go new file mode 100644 index 000000000..c8510a443 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts/internal_v1_operations_dedicatedhosts_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_dedicated_hosts + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsDedicatedhostsPostReader is a Reader for the InternalV1OperationsDedicatedhostsPost structure. +type InternalV1OperationsDedicatedhostsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsDedicatedhostsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsDedicatedhostsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsDedicatedhostsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsDedicatedhostsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsDedicatedhostsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsDedicatedhostsPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsDedicatedhostsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/dedicated-hosts] internal.v1.operations.dedicatedhosts.post", response, response.Code()) + } +} + +// NewInternalV1OperationsDedicatedhostsPostCreated creates a InternalV1OperationsDedicatedhostsPostCreated with default headers values +func NewInternalV1OperationsDedicatedhostsPostCreated() *InternalV1OperationsDedicatedhostsPostCreated { + return &InternalV1OperationsDedicatedhostsPostCreated{} +} + +/* +InternalV1OperationsDedicatedhostsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsDedicatedhostsPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts post created response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts post created response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts post created response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts post created response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts post created response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts post created response +func (o *InternalV1OperationsDedicatedhostsPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsDedicatedhostsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsPostBadRequest creates a InternalV1OperationsDedicatedhostsPostBadRequest with default headers values +func NewInternalV1OperationsDedicatedhostsPostBadRequest() *InternalV1OperationsDedicatedhostsPostBadRequest { + return &InternalV1OperationsDedicatedhostsPostBadRequest{} +} + +/* +InternalV1OperationsDedicatedhostsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsDedicatedhostsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts post bad request response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts post bad request response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts post bad request response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts post bad request response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts post bad request response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts post bad request response +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsPostUnauthorized creates a InternalV1OperationsDedicatedhostsPostUnauthorized with default headers values +func NewInternalV1OperationsDedicatedhostsPostUnauthorized() *InternalV1OperationsDedicatedhostsPostUnauthorized { + return &InternalV1OperationsDedicatedhostsPostUnauthorized{} +} + +/* +InternalV1OperationsDedicatedhostsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsDedicatedhostsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts post unauthorized response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts post unauthorized response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts post unauthorized response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts post unauthorized response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts post unauthorized response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts post unauthorized response +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsPostForbidden creates a InternalV1OperationsDedicatedhostsPostForbidden with default headers values +func NewInternalV1OperationsDedicatedhostsPostForbidden() *InternalV1OperationsDedicatedhostsPostForbidden { + return &InternalV1OperationsDedicatedhostsPostForbidden{} +} + +/* +InternalV1OperationsDedicatedhostsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsDedicatedhostsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts post forbidden response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts post forbidden response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts post forbidden response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts post forbidden response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts post forbidden response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts post forbidden response +func (o *InternalV1OperationsDedicatedhostsPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsDedicatedhostsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsPostTooManyRequests creates a InternalV1OperationsDedicatedhostsPostTooManyRequests with default headers values +func NewInternalV1OperationsDedicatedhostsPostTooManyRequests() *InternalV1OperationsDedicatedhostsPostTooManyRequests { + return &InternalV1OperationsDedicatedhostsPostTooManyRequests{} +} + +/* +InternalV1OperationsDedicatedhostsPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsDedicatedhostsPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts post too many requests response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts post too many requests response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts post too many requests response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts post too many requests response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations dedicatedhosts post too many requests response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts post too many requests response +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsDedicatedhostsPostInternalServerError creates a InternalV1OperationsDedicatedhostsPostInternalServerError with default headers values +func NewInternalV1OperationsDedicatedhostsPostInternalServerError() *InternalV1OperationsDedicatedhostsPostInternalServerError { + return &InternalV1OperationsDedicatedhostsPostInternalServerError{} +} + +/* +InternalV1OperationsDedicatedhostsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsDedicatedhostsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations dedicatedhosts post internal server error response has a 2xx status code +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations dedicatedhosts post internal server error response has a 3xx status code +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations dedicatedhosts post internal server error response has a 4xx status code +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations dedicatedhosts post internal server error response has a 5xx status code +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations dedicatedhosts post internal server error response a status code equal to that given +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations dedicatedhosts post internal server error response +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/dedicated-hosts][%d] internalV1OperationsDedicatedhostsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsDedicatedhostsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_operations_images_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_operations_images_client.go new file mode 100644 index 000000000..7426d5dfa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_operations_images_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations images API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations images API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations images API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations images API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsImagesDelete(params *InternalV1OperationsImagesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsImagesDeleteNoContent, error) + + InternalV1OperationsImagesPost(params *InternalV1OperationsImagesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsImagesPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsImagesDelete deletes an image c r n +*/ +func (a *Client) InternalV1OperationsImagesDelete(params *InternalV1OperationsImagesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsImagesDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsImagesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.images.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/images/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsImagesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsImagesDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.images.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsImagesPost creates a c r n for an image +*/ +func (a *Client) InternalV1OperationsImagesPost(params *InternalV1OperationsImagesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsImagesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsImagesPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.images.post", + Method: "POST", + PathPattern: "/internal/v1/operations/images", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsImagesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsImagesPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.images.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_delete_parameters.go new file mode 100644 index 000000000..0e16fc3b0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsImagesDeleteParams creates a new InternalV1OperationsImagesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsImagesDeleteParams() *InternalV1OperationsImagesDeleteParams { + return &InternalV1OperationsImagesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsImagesDeleteParamsWithTimeout creates a new InternalV1OperationsImagesDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsImagesDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsImagesDeleteParams { + return &InternalV1OperationsImagesDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsImagesDeleteParamsWithContext creates a new InternalV1OperationsImagesDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsImagesDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsImagesDeleteParams { + return &InternalV1OperationsImagesDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsImagesDeleteParamsWithHTTPClient creates a new InternalV1OperationsImagesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsImagesDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsImagesDeleteParams { + return &InternalV1OperationsImagesDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsImagesDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations images delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsImagesDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations images delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsImagesDeleteParams) WithDefaults() *InternalV1OperationsImagesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations images delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsImagesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsImagesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsImagesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsImagesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsImagesDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) WithCRN(cRN string) *InternalV1OperationsImagesDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsImagesDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsImagesDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations images delete params +func (o *InternalV1OperationsImagesDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsImagesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_delete_responses.go new file mode 100644 index 000000000..2ea0d0c13 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsImagesDeleteReader is a Reader for the InternalV1OperationsImagesDelete structure. +type InternalV1OperationsImagesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsImagesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsImagesDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsImagesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsImagesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsImagesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsImagesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsImagesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsImagesDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsImagesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/images/{resource_crn}] internal.v1.operations.images.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsImagesDeleteNoContent creates a InternalV1OperationsImagesDeleteNoContent with default headers values +func NewInternalV1OperationsImagesDeleteNoContent() *InternalV1OperationsImagesDeleteNoContent { + return &InternalV1OperationsImagesDeleteNoContent{} +} + +/* +InternalV1OperationsImagesDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsImagesDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations images delete no content response has a 2xx status code +func (o *InternalV1OperationsImagesDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations images delete no content response has a 3xx status code +func (o *InternalV1OperationsImagesDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images delete no content response has a 4xx status code +func (o *InternalV1OperationsImagesDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations images delete no content response has a 5xx status code +func (o *InternalV1OperationsImagesDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images delete no content response a status code equal to that given +func (o *InternalV1OperationsImagesDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations images delete no content response +func (o *InternalV1OperationsImagesDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsImagesDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsImagesDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsImagesDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsImagesDeleteBadRequest creates a InternalV1OperationsImagesDeleteBadRequest with default headers values +func NewInternalV1OperationsImagesDeleteBadRequest() *InternalV1OperationsImagesDeleteBadRequest { + return &InternalV1OperationsImagesDeleteBadRequest{} +} + +/* +InternalV1OperationsImagesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsImagesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images delete bad request response has a 2xx status code +func (o *InternalV1OperationsImagesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images delete bad request response has a 3xx status code +func (o *InternalV1OperationsImagesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images delete bad request response has a 4xx status code +func (o *InternalV1OperationsImagesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images delete bad request response has a 5xx status code +func (o *InternalV1OperationsImagesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images delete bad request response a status code equal to that given +func (o *InternalV1OperationsImagesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations images delete bad request response +func (o *InternalV1OperationsImagesDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsImagesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsImagesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsImagesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesDeleteUnauthorized creates a InternalV1OperationsImagesDeleteUnauthorized with default headers values +func NewInternalV1OperationsImagesDeleteUnauthorized() *InternalV1OperationsImagesDeleteUnauthorized { + return &InternalV1OperationsImagesDeleteUnauthorized{} +} + +/* +InternalV1OperationsImagesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsImagesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsImagesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsImagesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsImagesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsImagesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsImagesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations images delete unauthorized response +func (o *InternalV1OperationsImagesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsImagesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsImagesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsImagesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesDeleteForbidden creates a InternalV1OperationsImagesDeleteForbidden with default headers values +func NewInternalV1OperationsImagesDeleteForbidden() *InternalV1OperationsImagesDeleteForbidden { + return &InternalV1OperationsImagesDeleteForbidden{} +} + +/* +InternalV1OperationsImagesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsImagesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images delete forbidden response has a 2xx status code +func (o *InternalV1OperationsImagesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images delete forbidden response has a 3xx status code +func (o *InternalV1OperationsImagesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images delete forbidden response has a 4xx status code +func (o *InternalV1OperationsImagesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images delete forbidden response has a 5xx status code +func (o *InternalV1OperationsImagesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images delete forbidden response a status code equal to that given +func (o *InternalV1OperationsImagesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations images delete forbidden response +func (o *InternalV1OperationsImagesDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsImagesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsImagesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsImagesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesDeleteNotFound creates a InternalV1OperationsImagesDeleteNotFound with default headers values +func NewInternalV1OperationsImagesDeleteNotFound() *InternalV1OperationsImagesDeleteNotFound { + return &InternalV1OperationsImagesDeleteNotFound{} +} + +/* +InternalV1OperationsImagesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsImagesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images delete not found response has a 2xx status code +func (o *InternalV1OperationsImagesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images delete not found response has a 3xx status code +func (o *InternalV1OperationsImagesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images delete not found response has a 4xx status code +func (o *InternalV1OperationsImagesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images delete not found response has a 5xx status code +func (o *InternalV1OperationsImagesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images delete not found response a status code equal to that given +func (o *InternalV1OperationsImagesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations images delete not found response +func (o *InternalV1OperationsImagesDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsImagesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsImagesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsImagesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesDeleteGone creates a InternalV1OperationsImagesDeleteGone with default headers values +func NewInternalV1OperationsImagesDeleteGone() *InternalV1OperationsImagesDeleteGone { + return &InternalV1OperationsImagesDeleteGone{} +} + +/* +InternalV1OperationsImagesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsImagesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images delete gone response has a 2xx status code +func (o *InternalV1OperationsImagesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images delete gone response has a 3xx status code +func (o *InternalV1OperationsImagesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images delete gone response has a 4xx status code +func (o *InternalV1OperationsImagesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images delete gone response has a 5xx status code +func (o *InternalV1OperationsImagesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images delete gone response a status code equal to that given +func (o *InternalV1OperationsImagesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations images delete gone response +func (o *InternalV1OperationsImagesDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsImagesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsImagesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsImagesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesDeleteTooManyRequests creates a InternalV1OperationsImagesDeleteTooManyRequests with default headers values +func NewInternalV1OperationsImagesDeleteTooManyRequests() *InternalV1OperationsImagesDeleteTooManyRequests { + return &InternalV1OperationsImagesDeleteTooManyRequests{} +} + +/* +InternalV1OperationsImagesDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsImagesDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images delete too many requests response has a 2xx status code +func (o *InternalV1OperationsImagesDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images delete too many requests response has a 3xx status code +func (o *InternalV1OperationsImagesDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images delete too many requests response has a 4xx status code +func (o *InternalV1OperationsImagesDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images delete too many requests response has a 5xx status code +func (o *InternalV1OperationsImagesDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images delete too many requests response a status code equal to that given +func (o *InternalV1OperationsImagesDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations images delete too many requests response +func (o *InternalV1OperationsImagesDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsImagesDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsImagesDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsImagesDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesDeleteInternalServerError creates a InternalV1OperationsImagesDeleteInternalServerError with default headers values +func NewInternalV1OperationsImagesDeleteInternalServerError() *InternalV1OperationsImagesDeleteInternalServerError { + return &InternalV1OperationsImagesDeleteInternalServerError{} +} + +/* +InternalV1OperationsImagesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsImagesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images delete internal server error response has a 2xx status code +func (o *InternalV1OperationsImagesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images delete internal server error response has a 3xx status code +func (o *InternalV1OperationsImagesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images delete internal server error response has a 4xx status code +func (o *InternalV1OperationsImagesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations images delete internal server error response has a 5xx status code +func (o *InternalV1OperationsImagesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations images delete internal server error response a status code equal to that given +func (o *InternalV1OperationsImagesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations images delete internal server error response +func (o *InternalV1OperationsImagesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsImagesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsImagesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/images/{resource_crn}][%d] internalV1OperationsImagesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsImagesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_post_parameters.go new file mode 100644 index 000000000..a306eec49 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsImagesPostParams creates a new InternalV1OperationsImagesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsImagesPostParams() *InternalV1OperationsImagesPostParams { + return &InternalV1OperationsImagesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsImagesPostParamsWithTimeout creates a new InternalV1OperationsImagesPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsImagesPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsImagesPostParams { + return &InternalV1OperationsImagesPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsImagesPostParamsWithContext creates a new InternalV1OperationsImagesPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsImagesPostParamsWithContext(ctx context.Context) *InternalV1OperationsImagesPostParams { + return &InternalV1OperationsImagesPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsImagesPostParamsWithHTTPClient creates a new InternalV1OperationsImagesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsImagesPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsImagesPostParams { + return &InternalV1OperationsImagesPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsImagesPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations images post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsImagesPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating an Image CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations images post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsImagesPostParams) WithDefaults() *InternalV1OperationsImagesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations images post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsImagesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsImagesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) WithContext(ctx context.Context) *InternalV1OperationsImagesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsImagesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) WithAuthorization(authorization string) *InternalV1OperationsImagesPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) WithCRN(cRN string) *InternalV1OperationsImagesPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsImagesPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsImagesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations images post params +func (o *InternalV1OperationsImagesPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsImagesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_post_responses.go new file mode 100644 index 000000000..090860746 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images/internal_v1_operations_images_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsImagesPostReader is a Reader for the InternalV1OperationsImagesPost structure. +type InternalV1OperationsImagesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsImagesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsImagesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsImagesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsImagesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsImagesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsImagesPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsImagesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/images] internal.v1.operations.images.post", response, response.Code()) + } +} + +// NewInternalV1OperationsImagesPostCreated creates a InternalV1OperationsImagesPostCreated with default headers values +func NewInternalV1OperationsImagesPostCreated() *InternalV1OperationsImagesPostCreated { + return &InternalV1OperationsImagesPostCreated{} +} + +/* +InternalV1OperationsImagesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsImagesPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations images post created response has a 2xx status code +func (o *InternalV1OperationsImagesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations images post created response has a 3xx status code +func (o *InternalV1OperationsImagesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images post created response has a 4xx status code +func (o *InternalV1OperationsImagesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations images post created response has a 5xx status code +func (o *InternalV1OperationsImagesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images post created response a status code equal to that given +func (o *InternalV1OperationsImagesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations images post created response +func (o *InternalV1OperationsImagesPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsImagesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsImagesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsImagesPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsImagesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesPostBadRequest creates a InternalV1OperationsImagesPostBadRequest with default headers values +func NewInternalV1OperationsImagesPostBadRequest() *InternalV1OperationsImagesPostBadRequest { + return &InternalV1OperationsImagesPostBadRequest{} +} + +/* +InternalV1OperationsImagesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsImagesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images post bad request response has a 2xx status code +func (o *InternalV1OperationsImagesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images post bad request response has a 3xx status code +func (o *InternalV1OperationsImagesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images post bad request response has a 4xx status code +func (o *InternalV1OperationsImagesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images post bad request response has a 5xx status code +func (o *InternalV1OperationsImagesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images post bad request response a status code equal to that given +func (o *InternalV1OperationsImagesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations images post bad request response +func (o *InternalV1OperationsImagesPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsImagesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsImagesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsImagesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesPostUnauthorized creates a InternalV1OperationsImagesPostUnauthorized with default headers values +func NewInternalV1OperationsImagesPostUnauthorized() *InternalV1OperationsImagesPostUnauthorized { + return &InternalV1OperationsImagesPostUnauthorized{} +} + +/* +InternalV1OperationsImagesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsImagesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images post unauthorized response has a 2xx status code +func (o *InternalV1OperationsImagesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images post unauthorized response has a 3xx status code +func (o *InternalV1OperationsImagesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images post unauthorized response has a 4xx status code +func (o *InternalV1OperationsImagesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images post unauthorized response has a 5xx status code +func (o *InternalV1OperationsImagesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images post unauthorized response a status code equal to that given +func (o *InternalV1OperationsImagesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations images post unauthorized response +func (o *InternalV1OperationsImagesPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsImagesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsImagesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsImagesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesPostForbidden creates a InternalV1OperationsImagesPostForbidden with default headers values +func NewInternalV1OperationsImagesPostForbidden() *InternalV1OperationsImagesPostForbidden { + return &InternalV1OperationsImagesPostForbidden{} +} + +/* +InternalV1OperationsImagesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsImagesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images post forbidden response has a 2xx status code +func (o *InternalV1OperationsImagesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images post forbidden response has a 3xx status code +func (o *InternalV1OperationsImagesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images post forbidden response has a 4xx status code +func (o *InternalV1OperationsImagesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images post forbidden response has a 5xx status code +func (o *InternalV1OperationsImagesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images post forbidden response a status code equal to that given +func (o *InternalV1OperationsImagesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations images post forbidden response +func (o *InternalV1OperationsImagesPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsImagesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsImagesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsImagesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesPostTooManyRequests creates a InternalV1OperationsImagesPostTooManyRequests with default headers values +func NewInternalV1OperationsImagesPostTooManyRequests() *InternalV1OperationsImagesPostTooManyRequests { + return &InternalV1OperationsImagesPostTooManyRequests{} +} + +/* +InternalV1OperationsImagesPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsImagesPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images post too many requests response has a 2xx status code +func (o *InternalV1OperationsImagesPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images post too many requests response has a 3xx status code +func (o *InternalV1OperationsImagesPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images post too many requests response has a 4xx status code +func (o *InternalV1OperationsImagesPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations images post too many requests response has a 5xx status code +func (o *InternalV1OperationsImagesPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations images post too many requests response a status code equal to that given +func (o *InternalV1OperationsImagesPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations images post too many requests response +func (o *InternalV1OperationsImagesPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsImagesPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsImagesPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsImagesPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsImagesPostInternalServerError creates a InternalV1OperationsImagesPostInternalServerError with default headers values +func NewInternalV1OperationsImagesPostInternalServerError() *InternalV1OperationsImagesPostInternalServerError { + return &InternalV1OperationsImagesPostInternalServerError{} +} + +/* +InternalV1OperationsImagesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsImagesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations images post internal server error response has a 2xx status code +func (o *InternalV1OperationsImagesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations images post internal server error response has a 3xx status code +func (o *InternalV1OperationsImagesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations images post internal server error response has a 4xx status code +func (o *InternalV1OperationsImagesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations images post internal server error response has a 5xx status code +func (o *InternalV1OperationsImagesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations images post internal server error response a status code equal to that given +func (o *InternalV1OperationsImagesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations images post internal server error response +func (o *InternalV1OperationsImagesPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsImagesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsImagesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/images][%d] internalV1OperationsImagesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsImagesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsImagesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_operations_network_address_groups_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_operations_network_address_groups_client.go new file mode 100644 index 000000000..fdcedd751 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_operations_network_address_groups_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations network address groups API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations network address groups API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations network address groups API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations network address groups API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsNetworkaddressgroupsDelete(params *InternalV1OperationsNetworkaddressgroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworkaddressgroupsDeleteNoContent, error) + + InternalV1OperationsNetworkaddressgroupsPost(params *InternalV1OperationsNetworkaddressgroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworkaddressgroupsPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsNetworkaddressgroupsDelete deletes a network address group c r n +*/ +func (a *Client) InternalV1OperationsNetworkaddressgroupsDelete(params *InternalV1OperationsNetworkaddressgroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworkaddressgroupsDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsNetworkaddressgroupsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.networkaddressgroups.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/network-address-groups/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsNetworkaddressgroupsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsNetworkaddressgroupsDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.networkaddressgroups.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsNetworkaddressgroupsPost creates a c r n for a network address group +*/ +func (a *Client) InternalV1OperationsNetworkaddressgroupsPost(params *InternalV1OperationsNetworkaddressgroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworkaddressgroupsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsNetworkaddressgroupsPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.networkaddressgroups.post", + Method: "POST", + PathPattern: "/internal/v1/operations/network-address-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsNetworkaddressgroupsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsNetworkaddressgroupsPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.networkaddressgroups.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_delete_parameters.go new file mode 100644 index 000000000..236f6e0a6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsNetworkaddressgroupsDeleteParams creates a new InternalV1OperationsNetworkaddressgroupsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsNetworkaddressgroupsDeleteParams() *InternalV1OperationsNetworkaddressgroupsDeleteParams { + return &InternalV1OperationsNetworkaddressgroupsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteParamsWithTimeout creates a new InternalV1OperationsNetworkaddressgroupsDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsNetworkaddressgroupsDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + return &InternalV1OperationsNetworkaddressgroupsDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteParamsWithContext creates a new InternalV1OperationsNetworkaddressgroupsDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsNetworkaddressgroupsDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + return &InternalV1OperationsNetworkaddressgroupsDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteParamsWithHTTPClient creates a new InternalV1OperationsNetworkaddressgroupsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsNetworkaddressgroupsDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + return &InternalV1OperationsNetworkaddressgroupsDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations networkaddressgroups delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations networkaddressgroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WithDefaults() *InternalV1OperationsNetworkaddressgroupsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations networkaddressgroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WithCRN(cRN string) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsNetworkaddressgroupsDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations networkaddressgroups delete params +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsNetworkaddressgroupsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_delete_responses.go new file mode 100644 index 000000000..07c04fa3e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsNetworkaddressgroupsDeleteReader is a Reader for the InternalV1OperationsNetworkaddressgroupsDelete structure. +type InternalV1OperationsNetworkaddressgroupsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsNetworkaddressgroupsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsNetworkaddressgroupsDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsNetworkaddressgroupsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsNetworkaddressgroupsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsNetworkaddressgroupsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsNetworkaddressgroupsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsNetworkaddressgroupsDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsNetworkaddressgroupsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}] internal.v1.operations.networkaddressgroups.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteNoContent creates a InternalV1OperationsNetworkaddressgroupsDeleteNoContent with default headers values +func NewInternalV1OperationsNetworkaddressgroupsDeleteNoContent() *InternalV1OperationsNetworkaddressgroupsDeleteNoContent { + return &InternalV1OperationsNetworkaddressgroupsDeleteNoContent{} +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups delete no content response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups delete no content response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups delete no content response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups delete no content response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups delete no content response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups delete no content response +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteBadRequest creates a InternalV1OperationsNetworkaddressgroupsDeleteBadRequest with default headers values +func NewInternalV1OperationsNetworkaddressgroupsDeleteBadRequest() *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest { + return &InternalV1OperationsNetworkaddressgroupsDeleteBadRequest{} +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups delete bad request response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups delete bad request response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups delete bad request response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups delete bad request response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups delete bad request response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups delete bad request response +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteUnauthorized creates a InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized with default headers values +func NewInternalV1OperationsNetworkaddressgroupsDeleteUnauthorized() *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized { + return &InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized{} +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups delete unauthorized response +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteForbidden creates a InternalV1OperationsNetworkaddressgroupsDeleteForbidden with default headers values +func NewInternalV1OperationsNetworkaddressgroupsDeleteForbidden() *InternalV1OperationsNetworkaddressgroupsDeleteForbidden { + return &InternalV1OperationsNetworkaddressgroupsDeleteForbidden{} +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups delete forbidden response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups delete forbidden response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups delete forbidden response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups delete forbidden response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups delete forbidden response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups delete forbidden response +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteNotFound creates a InternalV1OperationsNetworkaddressgroupsDeleteNotFound with default headers values +func NewInternalV1OperationsNetworkaddressgroupsDeleteNotFound() *InternalV1OperationsNetworkaddressgroupsDeleteNotFound { + return &InternalV1OperationsNetworkaddressgroupsDeleteNotFound{} +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups delete not found response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups delete not found response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups delete not found response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups delete not found response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups delete not found response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups delete not found response +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteGone creates a InternalV1OperationsNetworkaddressgroupsDeleteGone with default headers values +func NewInternalV1OperationsNetworkaddressgroupsDeleteGone() *InternalV1OperationsNetworkaddressgroupsDeleteGone { + return &InternalV1OperationsNetworkaddressgroupsDeleteGone{} +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups delete gone response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups delete gone response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups delete gone response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups delete gone response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups delete gone response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups delete gone response +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests creates a InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests with default headers values +func NewInternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests() *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests { + return &InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests{} +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups delete too many requests response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups delete too many requests response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups delete too many requests response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups delete too many requests response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups delete too many requests response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups delete too many requests response +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsDeleteInternalServerError creates a InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError with default headers values +func NewInternalV1OperationsNetworkaddressgroupsDeleteInternalServerError() *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError { + return &InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError{} +} + +/* +InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups delete internal server error response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups delete internal server error response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups delete internal server error response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups delete internal server error response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations networkaddressgroups delete internal server error response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups delete internal server error response +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-address-groups/{resource_crn}][%d] internalV1OperationsNetworkaddressgroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_post_parameters.go new file mode 100644 index 000000000..c2f155747 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsNetworkaddressgroupsPostParams creates a new InternalV1OperationsNetworkaddressgroupsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsNetworkaddressgroupsPostParams() *InternalV1OperationsNetworkaddressgroupsPostParams { + return &InternalV1OperationsNetworkaddressgroupsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsNetworkaddressgroupsPostParamsWithTimeout creates a new InternalV1OperationsNetworkaddressgroupsPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsNetworkaddressgroupsPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsNetworkaddressgroupsPostParams { + return &InternalV1OperationsNetworkaddressgroupsPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsNetworkaddressgroupsPostParamsWithContext creates a new InternalV1OperationsNetworkaddressgroupsPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsNetworkaddressgroupsPostParamsWithContext(ctx context.Context) *InternalV1OperationsNetworkaddressgroupsPostParams { + return &InternalV1OperationsNetworkaddressgroupsPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsNetworkaddressgroupsPostParamsWithHTTPClient creates a new InternalV1OperationsNetworkaddressgroupsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsNetworkaddressgroupsPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsNetworkaddressgroupsPostParams { + return &InternalV1OperationsNetworkaddressgroupsPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsNetworkaddressgroupsPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations networkaddressgroups post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsNetworkaddressgroupsPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating a Network Address Group CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations networkaddressgroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WithDefaults() *InternalV1OperationsNetworkaddressgroupsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations networkaddressgroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsNetworkaddressgroupsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WithContext(ctx context.Context) *InternalV1OperationsNetworkaddressgroupsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsNetworkaddressgroupsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WithAuthorization(authorization string) *InternalV1OperationsNetworkaddressgroupsPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WithCRN(cRN string) *InternalV1OperationsNetworkaddressgroupsPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsNetworkaddressgroupsPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsNetworkaddressgroupsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations networkaddressgroups post params +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsNetworkaddressgroupsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_post_responses.go new file mode 100644 index 000000000..a00ab984e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups/internal_v1_operations_networkaddressgroups_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsNetworkaddressgroupsPostReader is a Reader for the InternalV1OperationsNetworkaddressgroupsPost structure. +type InternalV1OperationsNetworkaddressgroupsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsNetworkaddressgroupsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsNetworkaddressgroupsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsNetworkaddressgroupsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsNetworkaddressgroupsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsNetworkaddressgroupsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsNetworkaddressgroupsPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsNetworkaddressgroupsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/network-address-groups] internal.v1.operations.networkaddressgroups.post", response, response.Code()) + } +} + +// NewInternalV1OperationsNetworkaddressgroupsPostCreated creates a InternalV1OperationsNetworkaddressgroupsPostCreated with default headers values +func NewInternalV1OperationsNetworkaddressgroupsPostCreated() *InternalV1OperationsNetworkaddressgroupsPostCreated { + return &InternalV1OperationsNetworkaddressgroupsPostCreated{} +} + +/* +InternalV1OperationsNetworkaddressgroupsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsNetworkaddressgroupsPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups post created response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups post created response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups post created response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups post created response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups post created response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups post created response +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsPostBadRequest creates a InternalV1OperationsNetworkaddressgroupsPostBadRequest with default headers values +func NewInternalV1OperationsNetworkaddressgroupsPostBadRequest() *InternalV1OperationsNetworkaddressgroupsPostBadRequest { + return &InternalV1OperationsNetworkaddressgroupsPostBadRequest{} +} + +/* +InternalV1OperationsNetworkaddressgroupsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsNetworkaddressgroupsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups post bad request response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups post bad request response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups post bad request response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups post bad request response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups post bad request response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups post bad request response +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsPostUnauthorized creates a InternalV1OperationsNetworkaddressgroupsPostUnauthorized with default headers values +func NewInternalV1OperationsNetworkaddressgroupsPostUnauthorized() *InternalV1OperationsNetworkaddressgroupsPostUnauthorized { + return &InternalV1OperationsNetworkaddressgroupsPostUnauthorized{} +} + +/* +InternalV1OperationsNetworkaddressgroupsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsNetworkaddressgroupsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups post unauthorized response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups post unauthorized response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups post unauthorized response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups post unauthorized response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups post unauthorized response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups post unauthorized response +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsPostForbidden creates a InternalV1OperationsNetworkaddressgroupsPostForbidden with default headers values +func NewInternalV1OperationsNetworkaddressgroupsPostForbidden() *InternalV1OperationsNetworkaddressgroupsPostForbidden { + return &InternalV1OperationsNetworkaddressgroupsPostForbidden{} +} + +/* +InternalV1OperationsNetworkaddressgroupsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsNetworkaddressgroupsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups post forbidden response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups post forbidden response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups post forbidden response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups post forbidden response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups post forbidden response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups post forbidden response +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsPostTooManyRequests creates a InternalV1OperationsNetworkaddressgroupsPostTooManyRequests with default headers values +func NewInternalV1OperationsNetworkaddressgroupsPostTooManyRequests() *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests { + return &InternalV1OperationsNetworkaddressgroupsPostTooManyRequests{} +} + +/* +InternalV1OperationsNetworkaddressgroupsPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsNetworkaddressgroupsPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups post too many requests response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups post too many requests response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups post too many requests response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups post too many requests response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkaddressgroups post too many requests response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups post too many requests response +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkaddressgroupsPostInternalServerError creates a InternalV1OperationsNetworkaddressgroupsPostInternalServerError with default headers values +func NewInternalV1OperationsNetworkaddressgroupsPostInternalServerError() *InternalV1OperationsNetworkaddressgroupsPostInternalServerError { + return &InternalV1OperationsNetworkaddressgroupsPostInternalServerError{} +} + +/* +InternalV1OperationsNetworkaddressgroupsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsNetworkaddressgroupsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkaddressgroups post internal server error response has a 2xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkaddressgroups post internal server error response has a 3xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkaddressgroups post internal server error response has a 4xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networkaddressgroups post internal server error response has a 5xx status code +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations networkaddressgroups post internal server error response a status code equal to that given +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations networkaddressgroups post internal server error response +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-address-groups][%d] internalV1OperationsNetworkaddressgroupsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkaddressgroupsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_operations_network_interfaces_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_operations_network_interfaces_client.go new file mode 100644 index 000000000..258e1e72e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_operations_network_interfaces_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_interfaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations network interfaces API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations network interfaces API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations network interfaces API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations network interfaces API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsNetworkinterfacesDelete(params *InternalV1OperationsNetworkinterfacesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworkinterfacesDeleteNoContent, error) + + InternalV1OperationsNetworkinterfacesPost(params *InternalV1OperationsNetworkinterfacesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworkinterfacesPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsNetworkinterfacesDelete deletes a network interfaces c r n +*/ +func (a *Client) InternalV1OperationsNetworkinterfacesDelete(params *InternalV1OperationsNetworkinterfacesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworkinterfacesDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsNetworkinterfacesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.networkinterfaces.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/network-interfaces/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsNetworkinterfacesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsNetworkinterfacesDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.networkinterfaces.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsNetworkinterfacesPost creates a c r n for a network interface +*/ +func (a *Client) InternalV1OperationsNetworkinterfacesPost(params *InternalV1OperationsNetworkinterfacesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworkinterfacesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsNetworkinterfacesPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.networkinterfaces.post", + Method: "POST", + PathPattern: "/internal/v1/operations/network-interfaces", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsNetworkinterfacesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsNetworkinterfacesPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.networkinterfaces.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_delete_parameters.go new file mode 100644 index 000000000..16931cdb9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_interfaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsNetworkinterfacesDeleteParams creates a new InternalV1OperationsNetworkinterfacesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsNetworkinterfacesDeleteParams() *InternalV1OperationsNetworkinterfacesDeleteParams { + return &InternalV1OperationsNetworkinterfacesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsNetworkinterfacesDeleteParamsWithTimeout creates a new InternalV1OperationsNetworkinterfacesDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsNetworkinterfacesDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsNetworkinterfacesDeleteParams { + return &InternalV1OperationsNetworkinterfacesDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsNetworkinterfacesDeleteParamsWithContext creates a new InternalV1OperationsNetworkinterfacesDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsNetworkinterfacesDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsNetworkinterfacesDeleteParams { + return &InternalV1OperationsNetworkinterfacesDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsNetworkinterfacesDeleteParamsWithHTTPClient creates a new InternalV1OperationsNetworkinterfacesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsNetworkinterfacesDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsNetworkinterfacesDeleteParams { + return &InternalV1OperationsNetworkinterfacesDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsNetworkinterfacesDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations networkinterfaces delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsNetworkinterfacesDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations networkinterfaces delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WithDefaults() *InternalV1OperationsNetworkinterfacesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations networkinterfaces delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsNetworkinterfacesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsNetworkinterfacesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsNetworkinterfacesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsNetworkinterfacesDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WithCRN(cRN string) *InternalV1OperationsNetworkinterfacesDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsNetworkinterfacesDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsNetworkinterfacesDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations networkinterfaces delete params +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsNetworkinterfacesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_delete_responses.go new file mode 100644 index 000000000..3f48e17f6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_interfaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsNetworkinterfacesDeleteReader is a Reader for the InternalV1OperationsNetworkinterfacesDelete structure. +type InternalV1OperationsNetworkinterfacesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsNetworkinterfacesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsNetworkinterfacesDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsNetworkinterfacesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsNetworkinterfacesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsNetworkinterfacesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsNetworkinterfacesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsNetworkinterfacesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsNetworkinterfacesDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsNetworkinterfacesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}] internal.v1.operations.networkinterfaces.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsNetworkinterfacesDeleteNoContent creates a InternalV1OperationsNetworkinterfacesDeleteNoContent with default headers values +func NewInternalV1OperationsNetworkinterfacesDeleteNoContent() *InternalV1OperationsNetworkinterfacesDeleteNoContent { + return &InternalV1OperationsNetworkinterfacesDeleteNoContent{} +} + +/* +InternalV1OperationsNetworkinterfacesDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsNetworkinterfacesDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces delete no content response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces delete no content response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces delete no content response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networkinterfaces delete no content response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces delete no content response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations networkinterfaces delete no content response +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesDeleteBadRequest creates a InternalV1OperationsNetworkinterfacesDeleteBadRequest with default headers values +func NewInternalV1OperationsNetworkinterfacesDeleteBadRequest() *InternalV1OperationsNetworkinterfacesDeleteBadRequest { + return &InternalV1OperationsNetworkinterfacesDeleteBadRequest{} +} + +/* +InternalV1OperationsNetworkinterfacesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsNetworkinterfacesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces delete bad request response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces delete bad request response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces delete bad request response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces delete bad request response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces delete bad request response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations networkinterfaces delete bad request response +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesDeleteUnauthorized creates a InternalV1OperationsNetworkinterfacesDeleteUnauthorized with default headers values +func NewInternalV1OperationsNetworkinterfacesDeleteUnauthorized() *InternalV1OperationsNetworkinterfacesDeleteUnauthorized { + return &InternalV1OperationsNetworkinterfacesDeleteUnauthorized{} +} + +/* +InternalV1OperationsNetworkinterfacesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsNetworkinterfacesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations networkinterfaces delete unauthorized response +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesDeleteForbidden creates a InternalV1OperationsNetworkinterfacesDeleteForbidden with default headers values +func NewInternalV1OperationsNetworkinterfacesDeleteForbidden() *InternalV1OperationsNetworkinterfacesDeleteForbidden { + return &InternalV1OperationsNetworkinterfacesDeleteForbidden{} +} + +/* +InternalV1OperationsNetworkinterfacesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsNetworkinterfacesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces delete forbidden response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces delete forbidden response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces delete forbidden response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces delete forbidden response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces delete forbidden response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations networkinterfaces delete forbidden response +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesDeleteNotFound creates a InternalV1OperationsNetworkinterfacesDeleteNotFound with default headers values +func NewInternalV1OperationsNetworkinterfacesDeleteNotFound() *InternalV1OperationsNetworkinterfacesDeleteNotFound { + return &InternalV1OperationsNetworkinterfacesDeleteNotFound{} +} + +/* +InternalV1OperationsNetworkinterfacesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsNetworkinterfacesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces delete not found response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces delete not found response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces delete not found response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces delete not found response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces delete not found response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations networkinterfaces delete not found response +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesDeleteGone creates a InternalV1OperationsNetworkinterfacesDeleteGone with default headers values +func NewInternalV1OperationsNetworkinterfacesDeleteGone() *InternalV1OperationsNetworkinterfacesDeleteGone { + return &InternalV1OperationsNetworkinterfacesDeleteGone{} +} + +/* +InternalV1OperationsNetworkinterfacesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsNetworkinterfacesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces delete gone response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces delete gone response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces delete gone response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces delete gone response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces delete gone response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations networkinterfaces delete gone response +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesDeleteTooManyRequests creates a InternalV1OperationsNetworkinterfacesDeleteTooManyRequests with default headers values +func NewInternalV1OperationsNetworkinterfacesDeleteTooManyRequests() *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests { + return &InternalV1OperationsNetworkinterfacesDeleteTooManyRequests{} +} + +/* +InternalV1OperationsNetworkinterfacesDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsNetworkinterfacesDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces delete too many requests response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces delete too many requests response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces delete too many requests response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces delete too many requests response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces delete too many requests response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations networkinterfaces delete too many requests response +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesDeleteInternalServerError creates a InternalV1OperationsNetworkinterfacesDeleteInternalServerError with default headers values +func NewInternalV1OperationsNetworkinterfacesDeleteInternalServerError() *InternalV1OperationsNetworkinterfacesDeleteInternalServerError { + return &InternalV1OperationsNetworkinterfacesDeleteInternalServerError{} +} + +/* +InternalV1OperationsNetworkinterfacesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsNetworkinterfacesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces delete internal server error response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces delete internal server error response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces delete internal server error response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networkinterfaces delete internal server error response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations networkinterfaces delete internal server error response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations networkinterfaces delete internal server error response +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-interfaces/{resource_crn}][%d] internalV1OperationsNetworkinterfacesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_post_parameters.go new file mode 100644 index 000000000..2360fa96c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_interfaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsNetworkinterfacesPostParams creates a new InternalV1OperationsNetworkinterfacesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsNetworkinterfacesPostParams() *InternalV1OperationsNetworkinterfacesPostParams { + return &InternalV1OperationsNetworkinterfacesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsNetworkinterfacesPostParamsWithTimeout creates a new InternalV1OperationsNetworkinterfacesPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsNetworkinterfacesPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsNetworkinterfacesPostParams { + return &InternalV1OperationsNetworkinterfacesPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsNetworkinterfacesPostParamsWithContext creates a new InternalV1OperationsNetworkinterfacesPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsNetworkinterfacesPostParamsWithContext(ctx context.Context) *InternalV1OperationsNetworkinterfacesPostParams { + return &InternalV1OperationsNetworkinterfacesPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsNetworkinterfacesPostParamsWithHTTPClient creates a new InternalV1OperationsNetworkinterfacesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsNetworkinterfacesPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsNetworkinterfacesPostParams { + return &InternalV1OperationsNetworkinterfacesPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsNetworkinterfacesPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations networkinterfaces post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsNetworkinterfacesPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating a Network Interface CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations networkinterfaces post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworkinterfacesPostParams) WithDefaults() *InternalV1OperationsNetworkinterfacesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations networkinterfaces post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworkinterfacesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsNetworkinterfacesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) WithContext(ctx context.Context) *InternalV1OperationsNetworkinterfacesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsNetworkinterfacesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) WithAuthorization(authorization string) *InternalV1OperationsNetworkinterfacesPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) WithCRN(cRN string) *InternalV1OperationsNetworkinterfacesPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsNetworkinterfacesPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsNetworkinterfacesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations networkinterfaces post params +func (o *InternalV1OperationsNetworkinterfacesPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsNetworkinterfacesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_post_responses.go new file mode 100644 index 000000000..092b8c82c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces/internal_v1_operations_networkinterfaces_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_interfaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsNetworkinterfacesPostReader is a Reader for the InternalV1OperationsNetworkinterfacesPost structure. +type InternalV1OperationsNetworkinterfacesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsNetworkinterfacesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsNetworkinterfacesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsNetworkinterfacesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsNetworkinterfacesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsNetworkinterfacesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsNetworkinterfacesPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsNetworkinterfacesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/network-interfaces] internal.v1.operations.networkinterfaces.post", response, response.Code()) + } +} + +// NewInternalV1OperationsNetworkinterfacesPostCreated creates a InternalV1OperationsNetworkinterfacesPostCreated with default headers values +func NewInternalV1OperationsNetworkinterfacesPostCreated() *InternalV1OperationsNetworkinterfacesPostCreated { + return &InternalV1OperationsNetworkinterfacesPostCreated{} +} + +/* +InternalV1OperationsNetworkinterfacesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsNetworkinterfacesPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces post created response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces post created response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces post created response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networkinterfaces post created response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces post created response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations networkinterfaces post created response +func (o *InternalV1OperationsNetworkinterfacesPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsNetworkinterfacesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesPostBadRequest creates a InternalV1OperationsNetworkinterfacesPostBadRequest with default headers values +func NewInternalV1OperationsNetworkinterfacesPostBadRequest() *InternalV1OperationsNetworkinterfacesPostBadRequest { + return &InternalV1OperationsNetworkinterfacesPostBadRequest{} +} + +/* +InternalV1OperationsNetworkinterfacesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsNetworkinterfacesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces post bad request response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces post bad request response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces post bad request response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces post bad request response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces post bad request response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations networkinterfaces post bad request response +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesPostUnauthorized creates a InternalV1OperationsNetworkinterfacesPostUnauthorized with default headers values +func NewInternalV1OperationsNetworkinterfacesPostUnauthorized() *InternalV1OperationsNetworkinterfacesPostUnauthorized { + return &InternalV1OperationsNetworkinterfacesPostUnauthorized{} +} + +/* +InternalV1OperationsNetworkinterfacesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsNetworkinterfacesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces post unauthorized response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces post unauthorized response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces post unauthorized response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces post unauthorized response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces post unauthorized response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations networkinterfaces post unauthorized response +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesPostForbidden creates a InternalV1OperationsNetworkinterfacesPostForbidden with default headers values +func NewInternalV1OperationsNetworkinterfacesPostForbidden() *InternalV1OperationsNetworkinterfacesPostForbidden { + return &InternalV1OperationsNetworkinterfacesPostForbidden{} +} + +/* +InternalV1OperationsNetworkinterfacesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsNetworkinterfacesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces post forbidden response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces post forbidden response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces post forbidden response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces post forbidden response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces post forbidden response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations networkinterfaces post forbidden response +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesPostTooManyRequests creates a InternalV1OperationsNetworkinterfacesPostTooManyRequests with default headers values +func NewInternalV1OperationsNetworkinterfacesPostTooManyRequests() *InternalV1OperationsNetworkinterfacesPostTooManyRequests { + return &InternalV1OperationsNetworkinterfacesPostTooManyRequests{} +} + +/* +InternalV1OperationsNetworkinterfacesPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsNetworkinterfacesPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces post too many requests response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces post too many requests response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces post too many requests response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networkinterfaces post too many requests response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networkinterfaces post too many requests response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations networkinterfaces post too many requests response +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworkinterfacesPostInternalServerError creates a InternalV1OperationsNetworkinterfacesPostInternalServerError with default headers values +func NewInternalV1OperationsNetworkinterfacesPostInternalServerError() *InternalV1OperationsNetworkinterfacesPostInternalServerError { + return &InternalV1OperationsNetworkinterfacesPostInternalServerError{} +} + +/* +InternalV1OperationsNetworkinterfacesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsNetworkinterfacesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networkinterfaces post internal server error response has a 2xx status code +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networkinterfaces post internal server error response has a 3xx status code +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networkinterfaces post internal server error response has a 4xx status code +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networkinterfaces post internal server error response has a 5xx status code +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations networkinterfaces post internal server error response a status code equal to that given +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations networkinterfaces post internal server error response +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-interfaces][%d] internalV1OperationsNetworkinterfacesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworkinterfacesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_operations_network_security_groups_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_operations_network_security_groups_client.go new file mode 100644 index 000000000..3aaa7f22f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_operations_network_security_groups_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations network security groups API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations network security groups API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations network security groups API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations network security groups API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsNetworksecuritygroupsDelete(params *InternalV1OperationsNetworksecuritygroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworksecuritygroupsDeleteNoContent, error) + + InternalV1OperationsNetworksecuritygroupsPost(params *InternalV1OperationsNetworksecuritygroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworksecuritygroupsPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsNetworksecuritygroupsDelete deletes a network security group c r n +*/ +func (a *Client) InternalV1OperationsNetworksecuritygroupsDelete(params *InternalV1OperationsNetworksecuritygroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworksecuritygroupsDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsNetworksecuritygroupsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.networksecuritygroups.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/network-security-groups/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsNetworksecuritygroupsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsNetworksecuritygroupsDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.networksecuritygroups.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsNetworksecuritygroupsPost creates a c r n for a network security group +*/ +func (a *Client) InternalV1OperationsNetworksecuritygroupsPost(params *InternalV1OperationsNetworksecuritygroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworksecuritygroupsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsNetworksecuritygroupsPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.networksecuritygroups.post", + Method: "POST", + PathPattern: "/internal/v1/operations/network-security-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsNetworksecuritygroupsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsNetworksecuritygroupsPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.networksecuritygroups.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_delete_parameters.go new file mode 100644 index 000000000..43bc0ff7e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsNetworksecuritygroupsDeleteParams creates a new InternalV1OperationsNetworksecuritygroupsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsNetworksecuritygroupsDeleteParams() *InternalV1OperationsNetworksecuritygroupsDeleteParams { + return &InternalV1OperationsNetworksecuritygroupsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteParamsWithTimeout creates a new InternalV1OperationsNetworksecuritygroupsDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsNetworksecuritygroupsDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + return &InternalV1OperationsNetworksecuritygroupsDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteParamsWithContext creates a new InternalV1OperationsNetworksecuritygroupsDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsNetworksecuritygroupsDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + return &InternalV1OperationsNetworksecuritygroupsDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteParamsWithHTTPClient creates a new InternalV1OperationsNetworksecuritygroupsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsNetworksecuritygroupsDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + return &InternalV1OperationsNetworksecuritygroupsDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations networksecuritygroups delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations networksecuritygroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WithDefaults() *InternalV1OperationsNetworksecuritygroupsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations networksecuritygroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WithCRN(cRN string) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsNetworksecuritygroupsDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations networksecuritygroups delete params +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsNetworksecuritygroupsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_delete_responses.go new file mode 100644 index 000000000..952962458 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsNetworksecuritygroupsDeleteReader is a Reader for the InternalV1OperationsNetworksecuritygroupsDelete structure. +type InternalV1OperationsNetworksecuritygroupsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsNetworksecuritygroupsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsNetworksecuritygroupsDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsNetworksecuritygroupsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsNetworksecuritygroupsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsNetworksecuritygroupsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsNetworksecuritygroupsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsNetworksecuritygroupsDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsNetworksecuritygroupsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}] internal.v1.operations.networksecuritygroups.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteNoContent creates a InternalV1OperationsNetworksecuritygroupsDeleteNoContent with default headers values +func NewInternalV1OperationsNetworksecuritygroupsDeleteNoContent() *InternalV1OperationsNetworksecuritygroupsDeleteNoContent { + return &InternalV1OperationsNetworksecuritygroupsDeleteNoContent{} +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups delete no content response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups delete no content response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups delete no content response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups delete no content response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups delete no content response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups delete no content response +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteBadRequest creates a InternalV1OperationsNetworksecuritygroupsDeleteBadRequest with default headers values +func NewInternalV1OperationsNetworksecuritygroupsDeleteBadRequest() *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest { + return &InternalV1OperationsNetworksecuritygroupsDeleteBadRequest{} +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups delete bad request response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups delete bad request response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups delete bad request response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups delete bad request response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups delete bad request response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups delete bad request response +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteUnauthorized creates a InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized with default headers values +func NewInternalV1OperationsNetworksecuritygroupsDeleteUnauthorized() *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized { + return &InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized{} +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups delete unauthorized response +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteForbidden creates a InternalV1OperationsNetworksecuritygroupsDeleteForbidden with default headers values +func NewInternalV1OperationsNetworksecuritygroupsDeleteForbidden() *InternalV1OperationsNetworksecuritygroupsDeleteForbidden { + return &InternalV1OperationsNetworksecuritygroupsDeleteForbidden{} +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups delete forbidden response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups delete forbidden response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups delete forbidden response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups delete forbidden response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups delete forbidden response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups delete forbidden response +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteNotFound creates a InternalV1OperationsNetworksecuritygroupsDeleteNotFound with default headers values +func NewInternalV1OperationsNetworksecuritygroupsDeleteNotFound() *InternalV1OperationsNetworksecuritygroupsDeleteNotFound { + return &InternalV1OperationsNetworksecuritygroupsDeleteNotFound{} +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups delete not found response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups delete not found response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups delete not found response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups delete not found response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups delete not found response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups delete not found response +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteGone creates a InternalV1OperationsNetworksecuritygroupsDeleteGone with default headers values +func NewInternalV1OperationsNetworksecuritygroupsDeleteGone() *InternalV1OperationsNetworksecuritygroupsDeleteGone { + return &InternalV1OperationsNetworksecuritygroupsDeleteGone{} +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups delete gone response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups delete gone response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups delete gone response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups delete gone response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups delete gone response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups delete gone response +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests creates a InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests with default headers values +func NewInternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests() *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests { + return &InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests{} +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups delete too many requests response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups delete too many requests response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups delete too many requests response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups delete too many requests response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups delete too many requests response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups delete too many requests response +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsDeleteInternalServerError creates a InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError with default headers values +func NewInternalV1OperationsNetworksecuritygroupsDeleteInternalServerError() *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError { + return &InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError{} +} + +/* +InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups delete internal server error response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups delete internal server error response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups delete internal server error response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups delete internal server error response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations networksecuritygroups delete internal server error response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups delete internal server error response +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/network-security-groups/{resource_crn}][%d] internalV1OperationsNetworksecuritygroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_post_parameters.go new file mode 100644 index 000000000..b020f612f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsNetworksecuritygroupsPostParams creates a new InternalV1OperationsNetworksecuritygroupsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsNetworksecuritygroupsPostParams() *InternalV1OperationsNetworksecuritygroupsPostParams { + return &InternalV1OperationsNetworksecuritygroupsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsNetworksecuritygroupsPostParamsWithTimeout creates a new InternalV1OperationsNetworksecuritygroupsPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsNetworksecuritygroupsPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsNetworksecuritygroupsPostParams { + return &InternalV1OperationsNetworksecuritygroupsPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsNetworksecuritygroupsPostParamsWithContext creates a new InternalV1OperationsNetworksecuritygroupsPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsNetworksecuritygroupsPostParamsWithContext(ctx context.Context) *InternalV1OperationsNetworksecuritygroupsPostParams { + return &InternalV1OperationsNetworksecuritygroupsPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsNetworksecuritygroupsPostParamsWithHTTPClient creates a new InternalV1OperationsNetworksecuritygroupsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsNetworksecuritygroupsPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsNetworksecuritygroupsPostParams { + return &InternalV1OperationsNetworksecuritygroupsPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsNetworksecuritygroupsPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations networksecuritygroups post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsNetworksecuritygroupsPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating a Network Security Group CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations networksecuritygroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WithDefaults() *InternalV1OperationsNetworksecuritygroupsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations networksecuritygroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsNetworksecuritygroupsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WithContext(ctx context.Context) *InternalV1OperationsNetworksecuritygroupsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsNetworksecuritygroupsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WithAuthorization(authorization string) *InternalV1OperationsNetworksecuritygroupsPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WithCRN(cRN string) *InternalV1OperationsNetworksecuritygroupsPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsNetworksecuritygroupsPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsNetworksecuritygroupsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations networksecuritygroups post params +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsNetworksecuritygroupsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_post_responses.go new file mode 100644 index 000000000..bf86b6779 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups/internal_v1_operations_networksecuritygroups_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsNetworksecuritygroupsPostReader is a Reader for the InternalV1OperationsNetworksecuritygroupsPost structure. +type InternalV1OperationsNetworksecuritygroupsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsNetworksecuritygroupsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsNetworksecuritygroupsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsNetworksecuritygroupsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsNetworksecuritygroupsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsNetworksecuritygroupsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsNetworksecuritygroupsPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsNetworksecuritygroupsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/network-security-groups] internal.v1.operations.networksecuritygroups.post", response, response.Code()) + } +} + +// NewInternalV1OperationsNetworksecuritygroupsPostCreated creates a InternalV1OperationsNetworksecuritygroupsPostCreated with default headers values +func NewInternalV1OperationsNetworksecuritygroupsPostCreated() *InternalV1OperationsNetworksecuritygroupsPostCreated { + return &InternalV1OperationsNetworksecuritygroupsPostCreated{} +} + +/* +InternalV1OperationsNetworksecuritygroupsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsNetworksecuritygroupsPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups post created response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups post created response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups post created response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups post created response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups post created response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups post created response +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsPostBadRequest creates a InternalV1OperationsNetworksecuritygroupsPostBadRequest with default headers values +func NewInternalV1OperationsNetworksecuritygroupsPostBadRequest() *InternalV1OperationsNetworksecuritygroupsPostBadRequest { + return &InternalV1OperationsNetworksecuritygroupsPostBadRequest{} +} + +/* +InternalV1OperationsNetworksecuritygroupsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsNetworksecuritygroupsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups post bad request response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups post bad request response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups post bad request response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups post bad request response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups post bad request response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups post bad request response +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsPostUnauthorized creates a InternalV1OperationsNetworksecuritygroupsPostUnauthorized with default headers values +func NewInternalV1OperationsNetworksecuritygroupsPostUnauthorized() *InternalV1OperationsNetworksecuritygroupsPostUnauthorized { + return &InternalV1OperationsNetworksecuritygroupsPostUnauthorized{} +} + +/* +InternalV1OperationsNetworksecuritygroupsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsNetworksecuritygroupsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups post unauthorized response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups post unauthorized response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups post unauthorized response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups post unauthorized response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups post unauthorized response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups post unauthorized response +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsPostForbidden creates a InternalV1OperationsNetworksecuritygroupsPostForbidden with default headers values +func NewInternalV1OperationsNetworksecuritygroupsPostForbidden() *InternalV1OperationsNetworksecuritygroupsPostForbidden { + return &InternalV1OperationsNetworksecuritygroupsPostForbidden{} +} + +/* +InternalV1OperationsNetworksecuritygroupsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsNetworksecuritygroupsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups post forbidden response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups post forbidden response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups post forbidden response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups post forbidden response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups post forbidden response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups post forbidden response +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsPostTooManyRequests creates a InternalV1OperationsNetworksecuritygroupsPostTooManyRequests with default headers values +func NewInternalV1OperationsNetworksecuritygroupsPostTooManyRequests() *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests { + return &InternalV1OperationsNetworksecuritygroupsPostTooManyRequests{} +} + +/* +InternalV1OperationsNetworksecuritygroupsPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsNetworksecuritygroupsPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups post too many requests response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups post too many requests response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups post too many requests response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups post too many requests response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networksecuritygroups post too many requests response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups post too many requests response +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksecuritygroupsPostInternalServerError creates a InternalV1OperationsNetworksecuritygroupsPostInternalServerError with default headers values +func NewInternalV1OperationsNetworksecuritygroupsPostInternalServerError() *InternalV1OperationsNetworksecuritygroupsPostInternalServerError { + return &InternalV1OperationsNetworksecuritygroupsPostInternalServerError{} +} + +/* +InternalV1OperationsNetworksecuritygroupsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsNetworksecuritygroupsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networksecuritygroups post internal server error response has a 2xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networksecuritygroups post internal server error response has a 3xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networksecuritygroups post internal server error response has a 4xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networksecuritygroups post internal server error response has a 5xx status code +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations networksecuritygroups post internal server error response a status code equal to that given +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations networksecuritygroups post internal server error response +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/network-security-groups][%d] internalV1OperationsNetworksecuritygroupsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksecuritygroupsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_operations_networks_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_operations_networks_client.go new file mode 100644 index 000000000..d1c7690d7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_operations_networks_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations networks API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations networks API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations networks API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations networks API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsNetworksDelete(params *InternalV1OperationsNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworksDeleteNoContent, error) + + InternalV1OperationsNetworksPost(params *InternalV1OperationsNetworksPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworksPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsNetworksDelete deletes a network c r n +*/ +func (a *Client) InternalV1OperationsNetworksDelete(params *InternalV1OperationsNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworksDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsNetworksDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.networks.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/networks/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsNetworksDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsNetworksDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.networks.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsNetworksPost creates a c r n for a network +*/ +func (a *Client) InternalV1OperationsNetworksPost(params *InternalV1OperationsNetworksPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsNetworksPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsNetworksPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.networks.post", + Method: "POST", + PathPattern: "/internal/v1/operations/networks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsNetworksPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsNetworksPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.networks.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_delete_parameters.go new file mode 100644 index 000000000..cf17cc8d8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsNetworksDeleteParams creates a new InternalV1OperationsNetworksDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsNetworksDeleteParams() *InternalV1OperationsNetworksDeleteParams { + return &InternalV1OperationsNetworksDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsNetworksDeleteParamsWithTimeout creates a new InternalV1OperationsNetworksDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsNetworksDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsNetworksDeleteParams { + return &InternalV1OperationsNetworksDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsNetworksDeleteParamsWithContext creates a new InternalV1OperationsNetworksDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsNetworksDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsNetworksDeleteParams { + return &InternalV1OperationsNetworksDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsNetworksDeleteParamsWithHTTPClient creates a new InternalV1OperationsNetworksDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsNetworksDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsNetworksDeleteParams { + return &InternalV1OperationsNetworksDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsNetworksDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations networks delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsNetworksDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworksDeleteParams) WithDefaults() *InternalV1OperationsNetworksDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworksDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsNetworksDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsNetworksDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsNetworksDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsNetworksDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) WithCRN(cRN string) *InternalV1OperationsNetworksDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsNetworksDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsNetworksDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations networks delete params +func (o *InternalV1OperationsNetworksDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsNetworksDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_delete_responses.go new file mode 100644 index 000000000..730c14146 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsNetworksDeleteReader is a Reader for the InternalV1OperationsNetworksDelete structure. +type InternalV1OperationsNetworksDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsNetworksDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsNetworksDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsNetworksDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsNetworksDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsNetworksDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsNetworksDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsNetworksDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsNetworksDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsNetworksDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/networks/{resource_crn}] internal.v1.operations.networks.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsNetworksDeleteNoContent creates a InternalV1OperationsNetworksDeleteNoContent with default headers values +func NewInternalV1OperationsNetworksDeleteNoContent() *InternalV1OperationsNetworksDeleteNoContent { + return &InternalV1OperationsNetworksDeleteNoContent{} +} + +/* +InternalV1OperationsNetworksDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsNetworksDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations networks delete no content response has a 2xx status code +func (o *InternalV1OperationsNetworksDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations networks delete no content response has a 3xx status code +func (o *InternalV1OperationsNetworksDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks delete no content response has a 4xx status code +func (o *InternalV1OperationsNetworksDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networks delete no content response has a 5xx status code +func (o *InternalV1OperationsNetworksDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks delete no content response a status code equal to that given +func (o *InternalV1OperationsNetworksDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations networks delete no content response +func (o *InternalV1OperationsNetworksDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsNetworksDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteNoContent", 204) +} + +func (o *InternalV1OperationsNetworksDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteNoContent", 204) +} + +func (o *InternalV1OperationsNetworksDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsNetworksDeleteBadRequest creates a InternalV1OperationsNetworksDeleteBadRequest with default headers values +func NewInternalV1OperationsNetworksDeleteBadRequest() *InternalV1OperationsNetworksDeleteBadRequest { + return &InternalV1OperationsNetworksDeleteBadRequest{} +} + +/* +InternalV1OperationsNetworksDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsNetworksDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks delete bad request response has a 2xx status code +func (o *InternalV1OperationsNetworksDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks delete bad request response has a 3xx status code +func (o *InternalV1OperationsNetworksDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks delete bad request response has a 4xx status code +func (o *InternalV1OperationsNetworksDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks delete bad request response has a 5xx status code +func (o *InternalV1OperationsNetworksDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks delete bad request response a status code equal to that given +func (o *InternalV1OperationsNetworksDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations networks delete bad request response +func (o *InternalV1OperationsNetworksDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsNetworksDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworksDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworksDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksDeleteUnauthorized creates a InternalV1OperationsNetworksDeleteUnauthorized with default headers values +func NewInternalV1OperationsNetworksDeleteUnauthorized() *InternalV1OperationsNetworksDeleteUnauthorized { + return &InternalV1OperationsNetworksDeleteUnauthorized{} +} + +/* +InternalV1OperationsNetworksDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsNetworksDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsNetworksDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsNetworksDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsNetworksDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsNetworksDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsNetworksDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations networks delete unauthorized response +func (o *InternalV1OperationsNetworksDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsNetworksDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworksDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworksDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksDeleteForbidden creates a InternalV1OperationsNetworksDeleteForbidden with default headers values +func NewInternalV1OperationsNetworksDeleteForbidden() *InternalV1OperationsNetworksDeleteForbidden { + return &InternalV1OperationsNetworksDeleteForbidden{} +} + +/* +InternalV1OperationsNetworksDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsNetworksDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks delete forbidden response has a 2xx status code +func (o *InternalV1OperationsNetworksDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks delete forbidden response has a 3xx status code +func (o *InternalV1OperationsNetworksDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks delete forbidden response has a 4xx status code +func (o *InternalV1OperationsNetworksDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks delete forbidden response has a 5xx status code +func (o *InternalV1OperationsNetworksDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks delete forbidden response a status code equal to that given +func (o *InternalV1OperationsNetworksDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations networks delete forbidden response +func (o *InternalV1OperationsNetworksDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsNetworksDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworksDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworksDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksDeleteNotFound creates a InternalV1OperationsNetworksDeleteNotFound with default headers values +func NewInternalV1OperationsNetworksDeleteNotFound() *InternalV1OperationsNetworksDeleteNotFound { + return &InternalV1OperationsNetworksDeleteNotFound{} +} + +/* +InternalV1OperationsNetworksDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsNetworksDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks delete not found response has a 2xx status code +func (o *InternalV1OperationsNetworksDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks delete not found response has a 3xx status code +func (o *InternalV1OperationsNetworksDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks delete not found response has a 4xx status code +func (o *InternalV1OperationsNetworksDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks delete not found response has a 5xx status code +func (o *InternalV1OperationsNetworksDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks delete not found response a status code equal to that given +func (o *InternalV1OperationsNetworksDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations networks delete not found response +func (o *InternalV1OperationsNetworksDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsNetworksDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsNetworksDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsNetworksDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksDeleteGone creates a InternalV1OperationsNetworksDeleteGone with default headers values +func NewInternalV1OperationsNetworksDeleteGone() *InternalV1OperationsNetworksDeleteGone { + return &InternalV1OperationsNetworksDeleteGone{} +} + +/* +InternalV1OperationsNetworksDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsNetworksDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks delete gone response has a 2xx status code +func (o *InternalV1OperationsNetworksDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks delete gone response has a 3xx status code +func (o *InternalV1OperationsNetworksDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks delete gone response has a 4xx status code +func (o *InternalV1OperationsNetworksDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks delete gone response has a 5xx status code +func (o *InternalV1OperationsNetworksDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks delete gone response a status code equal to that given +func (o *InternalV1OperationsNetworksDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations networks delete gone response +func (o *InternalV1OperationsNetworksDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsNetworksDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsNetworksDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsNetworksDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksDeleteTooManyRequests creates a InternalV1OperationsNetworksDeleteTooManyRequests with default headers values +func NewInternalV1OperationsNetworksDeleteTooManyRequests() *InternalV1OperationsNetworksDeleteTooManyRequests { + return &InternalV1OperationsNetworksDeleteTooManyRequests{} +} + +/* +InternalV1OperationsNetworksDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsNetworksDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks delete too many requests response has a 2xx status code +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks delete too many requests response has a 3xx status code +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks delete too many requests response has a 4xx status code +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks delete too many requests response has a 5xx status code +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks delete too many requests response a status code equal to that given +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations networks delete too many requests response +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksDeleteInternalServerError creates a InternalV1OperationsNetworksDeleteInternalServerError with default headers values +func NewInternalV1OperationsNetworksDeleteInternalServerError() *InternalV1OperationsNetworksDeleteInternalServerError { + return &InternalV1OperationsNetworksDeleteInternalServerError{} +} + +/* +InternalV1OperationsNetworksDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsNetworksDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks delete internal server error response has a 2xx status code +func (o *InternalV1OperationsNetworksDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks delete internal server error response has a 3xx status code +func (o *InternalV1OperationsNetworksDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks delete internal server error response has a 4xx status code +func (o *InternalV1OperationsNetworksDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networks delete internal server error response has a 5xx status code +func (o *InternalV1OperationsNetworksDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations networks delete internal server error response a status code equal to that given +func (o *InternalV1OperationsNetworksDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations networks delete internal server error response +func (o *InternalV1OperationsNetworksDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsNetworksDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworksDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/networks/{resource_crn}][%d] internalV1OperationsNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworksDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_post_parameters.go new file mode 100644 index 000000000..6596e4a31 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsNetworksPostParams creates a new InternalV1OperationsNetworksPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsNetworksPostParams() *InternalV1OperationsNetworksPostParams { + return &InternalV1OperationsNetworksPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsNetworksPostParamsWithTimeout creates a new InternalV1OperationsNetworksPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsNetworksPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsNetworksPostParams { + return &InternalV1OperationsNetworksPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsNetworksPostParamsWithContext creates a new InternalV1OperationsNetworksPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsNetworksPostParamsWithContext(ctx context.Context) *InternalV1OperationsNetworksPostParams { + return &InternalV1OperationsNetworksPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsNetworksPostParamsWithHTTPClient creates a new InternalV1OperationsNetworksPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsNetworksPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsNetworksPostParams { + return &InternalV1OperationsNetworksPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsNetworksPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations networks post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsNetworksPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating a Network CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations networks post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworksPostParams) WithDefaults() *InternalV1OperationsNetworksPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations networks post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsNetworksPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsNetworksPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) WithContext(ctx context.Context) *InternalV1OperationsNetworksPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsNetworksPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) WithAuthorization(authorization string) *InternalV1OperationsNetworksPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) WithCRN(cRN string) *InternalV1OperationsNetworksPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsNetworksPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsNetworksPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations networks post params +func (o *InternalV1OperationsNetworksPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsNetworksPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_post_responses.go new file mode 100644 index 000000000..a951b55d2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks/internal_v1_operations_networks_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsNetworksPostReader is a Reader for the InternalV1OperationsNetworksPost structure. +type InternalV1OperationsNetworksPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsNetworksPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsNetworksPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsNetworksPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsNetworksPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsNetworksPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsNetworksPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsNetworksPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/networks] internal.v1.operations.networks.post", response, response.Code()) + } +} + +// NewInternalV1OperationsNetworksPostCreated creates a InternalV1OperationsNetworksPostCreated with default headers values +func NewInternalV1OperationsNetworksPostCreated() *InternalV1OperationsNetworksPostCreated { + return &InternalV1OperationsNetworksPostCreated{} +} + +/* +InternalV1OperationsNetworksPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsNetworksPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations networks post created response has a 2xx status code +func (o *InternalV1OperationsNetworksPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations networks post created response has a 3xx status code +func (o *InternalV1OperationsNetworksPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks post created response has a 4xx status code +func (o *InternalV1OperationsNetworksPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networks post created response has a 5xx status code +func (o *InternalV1OperationsNetworksPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks post created response a status code equal to that given +func (o *InternalV1OperationsNetworksPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations networks post created response +func (o *InternalV1OperationsNetworksPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsNetworksPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsNetworksPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsNetworksPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsNetworksPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksPostBadRequest creates a InternalV1OperationsNetworksPostBadRequest with default headers values +func NewInternalV1OperationsNetworksPostBadRequest() *InternalV1OperationsNetworksPostBadRequest { + return &InternalV1OperationsNetworksPostBadRequest{} +} + +/* +InternalV1OperationsNetworksPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsNetworksPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks post bad request response has a 2xx status code +func (o *InternalV1OperationsNetworksPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks post bad request response has a 3xx status code +func (o *InternalV1OperationsNetworksPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks post bad request response has a 4xx status code +func (o *InternalV1OperationsNetworksPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks post bad request response has a 5xx status code +func (o *InternalV1OperationsNetworksPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks post bad request response a status code equal to that given +func (o *InternalV1OperationsNetworksPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations networks post bad request response +func (o *InternalV1OperationsNetworksPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsNetworksPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworksPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsNetworksPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksPostUnauthorized creates a InternalV1OperationsNetworksPostUnauthorized with default headers values +func NewInternalV1OperationsNetworksPostUnauthorized() *InternalV1OperationsNetworksPostUnauthorized { + return &InternalV1OperationsNetworksPostUnauthorized{} +} + +/* +InternalV1OperationsNetworksPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsNetworksPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks post unauthorized response has a 2xx status code +func (o *InternalV1OperationsNetworksPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks post unauthorized response has a 3xx status code +func (o *InternalV1OperationsNetworksPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks post unauthorized response has a 4xx status code +func (o *InternalV1OperationsNetworksPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks post unauthorized response has a 5xx status code +func (o *InternalV1OperationsNetworksPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks post unauthorized response a status code equal to that given +func (o *InternalV1OperationsNetworksPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations networks post unauthorized response +func (o *InternalV1OperationsNetworksPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsNetworksPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworksPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsNetworksPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksPostForbidden creates a InternalV1OperationsNetworksPostForbidden with default headers values +func NewInternalV1OperationsNetworksPostForbidden() *InternalV1OperationsNetworksPostForbidden { + return &InternalV1OperationsNetworksPostForbidden{} +} + +/* +InternalV1OperationsNetworksPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsNetworksPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks post forbidden response has a 2xx status code +func (o *InternalV1OperationsNetworksPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks post forbidden response has a 3xx status code +func (o *InternalV1OperationsNetworksPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks post forbidden response has a 4xx status code +func (o *InternalV1OperationsNetworksPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks post forbidden response has a 5xx status code +func (o *InternalV1OperationsNetworksPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks post forbidden response a status code equal to that given +func (o *InternalV1OperationsNetworksPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations networks post forbidden response +func (o *InternalV1OperationsNetworksPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsNetworksPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworksPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsNetworksPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksPostTooManyRequests creates a InternalV1OperationsNetworksPostTooManyRequests with default headers values +func NewInternalV1OperationsNetworksPostTooManyRequests() *InternalV1OperationsNetworksPostTooManyRequests { + return &InternalV1OperationsNetworksPostTooManyRequests{} +} + +/* +InternalV1OperationsNetworksPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsNetworksPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks post too many requests response has a 2xx status code +func (o *InternalV1OperationsNetworksPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks post too many requests response has a 3xx status code +func (o *InternalV1OperationsNetworksPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks post too many requests response has a 4xx status code +func (o *InternalV1OperationsNetworksPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations networks post too many requests response has a 5xx status code +func (o *InternalV1OperationsNetworksPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations networks post too many requests response a status code equal to that given +func (o *InternalV1OperationsNetworksPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations networks post too many requests response +func (o *InternalV1OperationsNetworksPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsNetworksPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworksPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsNetworksPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsNetworksPostInternalServerError creates a InternalV1OperationsNetworksPostInternalServerError with default headers values +func NewInternalV1OperationsNetworksPostInternalServerError() *InternalV1OperationsNetworksPostInternalServerError { + return &InternalV1OperationsNetworksPostInternalServerError{} +} + +/* +InternalV1OperationsNetworksPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsNetworksPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations networks post internal server error response has a 2xx status code +func (o *InternalV1OperationsNetworksPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations networks post internal server error response has a 3xx status code +func (o *InternalV1OperationsNetworksPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations networks post internal server error response has a 4xx status code +func (o *InternalV1OperationsNetworksPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations networks post internal server error response has a 5xx status code +func (o *InternalV1OperationsNetworksPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations networks post internal server error response a status code equal to that given +func (o *InternalV1OperationsNetworksPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations networks post internal server error response +func (o *InternalV1OperationsNetworksPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsNetworksPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworksPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/networks][%d] internalV1OperationsNetworksPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsNetworksPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsNetworksPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_operations_pvm_instances_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_operations_pvm_instances_client.go new file mode 100644 index 000000000..6c5ba4a0a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_operations_pvm_instances_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_pvm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations pvm instances API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations pvm instances API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations pvm instances API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations pvm instances API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsPvminstancesDelete(params *InternalV1OperationsPvminstancesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsPvminstancesDeleteNoContent, error) + + InternalV1OperationsPvminstancesPost(params *InternalV1OperationsPvminstancesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsPvminstancesPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsPvminstancesDelete deletes a p VM instance c r n +*/ +func (a *Client) InternalV1OperationsPvminstancesDelete(params *InternalV1OperationsPvminstancesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsPvminstancesDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsPvminstancesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.pvminstances.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/pvm-instances/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsPvminstancesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsPvminstancesDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.pvminstances.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsPvminstancesPost creates a c r n for a p VM instance +*/ +func (a *Client) InternalV1OperationsPvminstancesPost(params *InternalV1OperationsPvminstancesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsPvminstancesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsPvminstancesPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.pvminstances.post", + Method: "POST", + PathPattern: "/internal/v1/operations/pvm-instances", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsPvminstancesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsPvminstancesPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.pvminstances.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_delete_parameters.go new file mode 100644 index 000000000..00381aad7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_pvm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsPvminstancesDeleteParams creates a new InternalV1OperationsPvminstancesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsPvminstancesDeleteParams() *InternalV1OperationsPvminstancesDeleteParams { + return &InternalV1OperationsPvminstancesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsPvminstancesDeleteParamsWithTimeout creates a new InternalV1OperationsPvminstancesDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsPvminstancesDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsPvminstancesDeleteParams { + return &InternalV1OperationsPvminstancesDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsPvminstancesDeleteParamsWithContext creates a new InternalV1OperationsPvminstancesDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsPvminstancesDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsPvminstancesDeleteParams { + return &InternalV1OperationsPvminstancesDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsPvminstancesDeleteParamsWithHTTPClient creates a new InternalV1OperationsPvminstancesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsPvminstancesDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsPvminstancesDeleteParams { + return &InternalV1OperationsPvminstancesDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsPvminstancesDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations pvminstances delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsPvminstancesDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations pvminstances delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsPvminstancesDeleteParams) WithDefaults() *InternalV1OperationsPvminstancesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations pvminstances delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsPvminstancesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsPvminstancesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsPvminstancesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsPvminstancesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsPvminstancesDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) WithCRN(cRN string) *InternalV1OperationsPvminstancesDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsPvminstancesDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsPvminstancesDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations pvminstances delete params +func (o *InternalV1OperationsPvminstancesDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsPvminstancesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_delete_responses.go new file mode 100644 index 000000000..8b6ce4098 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_pvm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsPvminstancesDeleteReader is a Reader for the InternalV1OperationsPvminstancesDelete structure. +type InternalV1OperationsPvminstancesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsPvminstancesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsPvminstancesDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsPvminstancesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsPvminstancesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsPvminstancesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsPvminstancesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsPvminstancesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsPvminstancesDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsPvminstancesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}] internal.v1.operations.pvminstances.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsPvminstancesDeleteNoContent creates a InternalV1OperationsPvminstancesDeleteNoContent with default headers values +func NewInternalV1OperationsPvminstancesDeleteNoContent() *InternalV1OperationsPvminstancesDeleteNoContent { + return &InternalV1OperationsPvminstancesDeleteNoContent{} +} + +/* +InternalV1OperationsPvminstancesDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsPvminstancesDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations pvminstances delete no content response has a 2xx status code +func (o *InternalV1OperationsPvminstancesDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations pvminstances delete no content response has a 3xx status code +func (o *InternalV1OperationsPvminstancesDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances delete no content response has a 4xx status code +func (o *InternalV1OperationsPvminstancesDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations pvminstances delete no content response has a 5xx status code +func (o *InternalV1OperationsPvminstancesDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances delete no content response a status code equal to that given +func (o *InternalV1OperationsPvminstancesDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations pvminstances delete no content response +func (o *InternalV1OperationsPvminstancesDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsPvminstancesDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsPvminstancesDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsPvminstancesDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsPvminstancesDeleteBadRequest creates a InternalV1OperationsPvminstancesDeleteBadRequest with default headers values +func NewInternalV1OperationsPvminstancesDeleteBadRequest() *InternalV1OperationsPvminstancesDeleteBadRequest { + return &InternalV1OperationsPvminstancesDeleteBadRequest{} +} + +/* +InternalV1OperationsPvminstancesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsPvminstancesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances delete bad request response has a 2xx status code +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances delete bad request response has a 3xx status code +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances delete bad request response has a 4xx status code +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances delete bad request response has a 5xx status code +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances delete bad request response a status code equal to that given +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations pvminstances delete bad request response +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesDeleteUnauthorized creates a InternalV1OperationsPvminstancesDeleteUnauthorized with default headers values +func NewInternalV1OperationsPvminstancesDeleteUnauthorized() *InternalV1OperationsPvminstancesDeleteUnauthorized { + return &InternalV1OperationsPvminstancesDeleteUnauthorized{} +} + +/* +InternalV1OperationsPvminstancesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsPvminstancesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations pvminstances delete unauthorized response +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesDeleteForbidden creates a InternalV1OperationsPvminstancesDeleteForbidden with default headers values +func NewInternalV1OperationsPvminstancesDeleteForbidden() *InternalV1OperationsPvminstancesDeleteForbidden { + return &InternalV1OperationsPvminstancesDeleteForbidden{} +} + +/* +InternalV1OperationsPvminstancesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsPvminstancesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances delete forbidden response has a 2xx status code +func (o *InternalV1OperationsPvminstancesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances delete forbidden response has a 3xx status code +func (o *InternalV1OperationsPvminstancesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances delete forbidden response has a 4xx status code +func (o *InternalV1OperationsPvminstancesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances delete forbidden response has a 5xx status code +func (o *InternalV1OperationsPvminstancesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances delete forbidden response a status code equal to that given +func (o *InternalV1OperationsPvminstancesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations pvminstances delete forbidden response +func (o *InternalV1OperationsPvminstancesDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsPvminstancesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesDeleteNotFound creates a InternalV1OperationsPvminstancesDeleteNotFound with default headers values +func NewInternalV1OperationsPvminstancesDeleteNotFound() *InternalV1OperationsPvminstancesDeleteNotFound { + return &InternalV1OperationsPvminstancesDeleteNotFound{} +} + +/* +InternalV1OperationsPvminstancesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsPvminstancesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances delete not found response has a 2xx status code +func (o *InternalV1OperationsPvminstancesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances delete not found response has a 3xx status code +func (o *InternalV1OperationsPvminstancesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances delete not found response has a 4xx status code +func (o *InternalV1OperationsPvminstancesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances delete not found response has a 5xx status code +func (o *InternalV1OperationsPvminstancesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances delete not found response a status code equal to that given +func (o *InternalV1OperationsPvminstancesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations pvminstances delete not found response +func (o *InternalV1OperationsPvminstancesDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsPvminstancesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesDeleteGone creates a InternalV1OperationsPvminstancesDeleteGone with default headers values +func NewInternalV1OperationsPvminstancesDeleteGone() *InternalV1OperationsPvminstancesDeleteGone { + return &InternalV1OperationsPvminstancesDeleteGone{} +} + +/* +InternalV1OperationsPvminstancesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsPvminstancesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances delete gone response has a 2xx status code +func (o *InternalV1OperationsPvminstancesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances delete gone response has a 3xx status code +func (o *InternalV1OperationsPvminstancesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances delete gone response has a 4xx status code +func (o *InternalV1OperationsPvminstancesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances delete gone response has a 5xx status code +func (o *InternalV1OperationsPvminstancesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances delete gone response a status code equal to that given +func (o *InternalV1OperationsPvminstancesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations pvminstances delete gone response +func (o *InternalV1OperationsPvminstancesDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsPvminstancesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesDeleteTooManyRequests creates a InternalV1OperationsPvminstancesDeleteTooManyRequests with default headers values +func NewInternalV1OperationsPvminstancesDeleteTooManyRequests() *InternalV1OperationsPvminstancesDeleteTooManyRequests { + return &InternalV1OperationsPvminstancesDeleteTooManyRequests{} +} + +/* +InternalV1OperationsPvminstancesDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsPvminstancesDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances delete too many requests response has a 2xx status code +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances delete too many requests response has a 3xx status code +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances delete too many requests response has a 4xx status code +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances delete too many requests response has a 5xx status code +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances delete too many requests response a status code equal to that given +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations pvminstances delete too many requests response +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesDeleteInternalServerError creates a InternalV1OperationsPvminstancesDeleteInternalServerError with default headers values +func NewInternalV1OperationsPvminstancesDeleteInternalServerError() *InternalV1OperationsPvminstancesDeleteInternalServerError { + return &InternalV1OperationsPvminstancesDeleteInternalServerError{} +} + +/* +InternalV1OperationsPvminstancesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsPvminstancesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances delete internal server error response has a 2xx status code +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances delete internal server error response has a 3xx status code +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances delete internal server error response has a 4xx status code +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations pvminstances delete internal server error response has a 5xx status code +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations pvminstances delete internal server error response a status code equal to that given +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations pvminstances delete internal server error response +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/pvm-instances/{resource_crn}][%d] internalV1OperationsPvminstancesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_post_parameters.go new file mode 100644 index 000000000..81ea4fa5e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_pvm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsPvminstancesPostParams creates a new InternalV1OperationsPvminstancesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsPvminstancesPostParams() *InternalV1OperationsPvminstancesPostParams { + return &InternalV1OperationsPvminstancesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsPvminstancesPostParamsWithTimeout creates a new InternalV1OperationsPvminstancesPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsPvminstancesPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsPvminstancesPostParams { + return &InternalV1OperationsPvminstancesPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsPvminstancesPostParamsWithContext creates a new InternalV1OperationsPvminstancesPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsPvminstancesPostParamsWithContext(ctx context.Context) *InternalV1OperationsPvminstancesPostParams { + return &InternalV1OperationsPvminstancesPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsPvminstancesPostParamsWithHTTPClient creates a new InternalV1OperationsPvminstancesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsPvminstancesPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsPvminstancesPostParams { + return &InternalV1OperationsPvminstancesPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsPvminstancesPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations pvminstances post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsPvminstancesPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating a PVM Instance CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations pvminstances post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsPvminstancesPostParams) WithDefaults() *InternalV1OperationsPvminstancesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations pvminstances post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsPvminstancesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsPvminstancesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) WithContext(ctx context.Context) *InternalV1OperationsPvminstancesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsPvminstancesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) WithAuthorization(authorization string) *InternalV1OperationsPvminstancesPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) WithCRN(cRN string) *InternalV1OperationsPvminstancesPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsPvminstancesPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsPvminstancesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations pvminstances post params +func (o *InternalV1OperationsPvminstancesPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsPvminstancesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_post_responses.go new file mode 100644 index 000000000..6345aafc1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances/internal_v1_operations_pvminstances_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_pvm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsPvminstancesPostReader is a Reader for the InternalV1OperationsPvminstancesPost structure. +type InternalV1OperationsPvminstancesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsPvminstancesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsPvminstancesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsPvminstancesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsPvminstancesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsPvminstancesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsPvminstancesPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsPvminstancesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/pvm-instances] internal.v1.operations.pvminstances.post", response, response.Code()) + } +} + +// NewInternalV1OperationsPvminstancesPostCreated creates a InternalV1OperationsPvminstancesPostCreated with default headers values +func NewInternalV1OperationsPvminstancesPostCreated() *InternalV1OperationsPvminstancesPostCreated { + return &InternalV1OperationsPvminstancesPostCreated{} +} + +/* +InternalV1OperationsPvminstancesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsPvminstancesPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations pvminstances post created response has a 2xx status code +func (o *InternalV1OperationsPvminstancesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations pvminstances post created response has a 3xx status code +func (o *InternalV1OperationsPvminstancesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances post created response has a 4xx status code +func (o *InternalV1OperationsPvminstancesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations pvminstances post created response has a 5xx status code +func (o *InternalV1OperationsPvminstancesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances post created response a status code equal to that given +func (o *InternalV1OperationsPvminstancesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations pvminstances post created response +func (o *InternalV1OperationsPvminstancesPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsPvminstancesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsPvminstancesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsPvminstancesPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesPostBadRequest creates a InternalV1OperationsPvminstancesPostBadRequest with default headers values +func NewInternalV1OperationsPvminstancesPostBadRequest() *InternalV1OperationsPvminstancesPostBadRequest { + return &InternalV1OperationsPvminstancesPostBadRequest{} +} + +/* +InternalV1OperationsPvminstancesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsPvminstancesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances post bad request response has a 2xx status code +func (o *InternalV1OperationsPvminstancesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances post bad request response has a 3xx status code +func (o *InternalV1OperationsPvminstancesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances post bad request response has a 4xx status code +func (o *InternalV1OperationsPvminstancesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances post bad request response has a 5xx status code +func (o *InternalV1OperationsPvminstancesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances post bad request response a status code equal to that given +func (o *InternalV1OperationsPvminstancesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations pvminstances post bad request response +func (o *InternalV1OperationsPvminstancesPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsPvminstancesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsPvminstancesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsPvminstancesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesPostUnauthorized creates a InternalV1OperationsPvminstancesPostUnauthorized with default headers values +func NewInternalV1OperationsPvminstancesPostUnauthorized() *InternalV1OperationsPvminstancesPostUnauthorized { + return &InternalV1OperationsPvminstancesPostUnauthorized{} +} + +/* +InternalV1OperationsPvminstancesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsPvminstancesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances post unauthorized response has a 2xx status code +func (o *InternalV1OperationsPvminstancesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances post unauthorized response has a 3xx status code +func (o *InternalV1OperationsPvminstancesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances post unauthorized response has a 4xx status code +func (o *InternalV1OperationsPvminstancesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances post unauthorized response has a 5xx status code +func (o *InternalV1OperationsPvminstancesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances post unauthorized response a status code equal to that given +func (o *InternalV1OperationsPvminstancesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations pvminstances post unauthorized response +func (o *InternalV1OperationsPvminstancesPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsPvminstancesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsPvminstancesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsPvminstancesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesPostForbidden creates a InternalV1OperationsPvminstancesPostForbidden with default headers values +func NewInternalV1OperationsPvminstancesPostForbidden() *InternalV1OperationsPvminstancesPostForbidden { + return &InternalV1OperationsPvminstancesPostForbidden{} +} + +/* +InternalV1OperationsPvminstancesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsPvminstancesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances post forbidden response has a 2xx status code +func (o *InternalV1OperationsPvminstancesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances post forbidden response has a 3xx status code +func (o *InternalV1OperationsPvminstancesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances post forbidden response has a 4xx status code +func (o *InternalV1OperationsPvminstancesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances post forbidden response has a 5xx status code +func (o *InternalV1OperationsPvminstancesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances post forbidden response a status code equal to that given +func (o *InternalV1OperationsPvminstancesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations pvminstances post forbidden response +func (o *InternalV1OperationsPvminstancesPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsPvminstancesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsPvminstancesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsPvminstancesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesPostTooManyRequests creates a InternalV1OperationsPvminstancesPostTooManyRequests with default headers values +func NewInternalV1OperationsPvminstancesPostTooManyRequests() *InternalV1OperationsPvminstancesPostTooManyRequests { + return &InternalV1OperationsPvminstancesPostTooManyRequests{} +} + +/* +InternalV1OperationsPvminstancesPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsPvminstancesPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances post too many requests response has a 2xx status code +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances post too many requests response has a 3xx status code +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances post too many requests response has a 4xx status code +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations pvminstances post too many requests response has a 5xx status code +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations pvminstances post too many requests response a status code equal to that given +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations pvminstances post too many requests response +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsPvminstancesPostInternalServerError creates a InternalV1OperationsPvminstancesPostInternalServerError with default headers values +func NewInternalV1OperationsPvminstancesPostInternalServerError() *InternalV1OperationsPvminstancesPostInternalServerError { + return &InternalV1OperationsPvminstancesPostInternalServerError{} +} + +/* +InternalV1OperationsPvminstancesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsPvminstancesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations pvminstances post internal server error response has a 2xx status code +func (o *InternalV1OperationsPvminstancesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations pvminstances post internal server error response has a 3xx status code +func (o *InternalV1OperationsPvminstancesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations pvminstances post internal server error response has a 4xx status code +func (o *InternalV1OperationsPvminstancesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations pvminstances post internal server error response has a 5xx status code +func (o *InternalV1OperationsPvminstancesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations pvminstances post internal server error response a status code equal to that given +func (o *InternalV1OperationsPvminstancesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations pvminstances post internal server error response +func (o *InternalV1OperationsPvminstancesPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsPvminstancesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsPvminstancesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/pvm-instances][%d] internalV1OperationsPvminstancesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsPvminstancesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsPvminstancesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_operations_shared_processor_pools_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_operations_shared_processor_pools_client.go new file mode 100644 index 000000000..5294fed2d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_operations_shared_processor_pools_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations shared processor pools API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations shared processor pools API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations shared processor pools API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations shared processor pools API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsSharedprocessorpoolsDelete(params *InternalV1OperationsSharedprocessorpoolsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsSharedprocessorpoolsDeleteNoContent, error) + + InternalV1OperationsSharedprocessorpoolsPost(params *InternalV1OperationsSharedprocessorpoolsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsSharedprocessorpoolsPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsSharedprocessorpoolsDelete deletes a shared processor pool c r n +*/ +func (a *Client) InternalV1OperationsSharedprocessorpoolsDelete(params *InternalV1OperationsSharedprocessorpoolsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsSharedprocessorpoolsDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsSharedprocessorpoolsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.sharedprocessorpools.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/shared-processor-pools/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsSharedprocessorpoolsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsSharedprocessorpoolsDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.sharedprocessorpools.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsSharedprocessorpoolsPost creates a c r n for a shared processor pool +*/ +func (a *Client) InternalV1OperationsSharedprocessorpoolsPost(params *InternalV1OperationsSharedprocessorpoolsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsSharedprocessorpoolsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsSharedprocessorpoolsPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.sharedprocessorpools.post", + Method: "POST", + PathPattern: "/internal/v1/operations/shared-processor-pools", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsSharedprocessorpoolsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsSharedprocessorpoolsPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.sharedprocessorpools.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_delete_parameters.go new file mode 100644 index 000000000..8c3aa68f1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsSharedprocessorpoolsDeleteParams creates a new InternalV1OperationsSharedprocessorpoolsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsSharedprocessorpoolsDeleteParams() *InternalV1OperationsSharedprocessorpoolsDeleteParams { + return &InternalV1OperationsSharedprocessorpoolsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteParamsWithTimeout creates a new InternalV1OperationsSharedprocessorpoolsDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsSharedprocessorpoolsDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + return &InternalV1OperationsSharedprocessorpoolsDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteParamsWithContext creates a new InternalV1OperationsSharedprocessorpoolsDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsSharedprocessorpoolsDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + return &InternalV1OperationsSharedprocessorpoolsDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteParamsWithHTTPClient creates a new InternalV1OperationsSharedprocessorpoolsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsSharedprocessorpoolsDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + return &InternalV1OperationsSharedprocessorpoolsDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations sharedprocessorpools delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations sharedprocessorpools delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WithDefaults() *InternalV1OperationsSharedprocessorpoolsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations sharedprocessorpools delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WithCRN(cRN string) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsSharedprocessorpoolsDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations sharedprocessorpools delete params +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsSharedprocessorpoolsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_delete_responses.go new file mode 100644 index 000000000..251c82598 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsSharedprocessorpoolsDeleteReader is a Reader for the InternalV1OperationsSharedprocessorpoolsDelete structure. +type InternalV1OperationsSharedprocessorpoolsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsSharedprocessorpoolsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsSharedprocessorpoolsDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsSharedprocessorpoolsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsSharedprocessorpoolsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsSharedprocessorpoolsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsSharedprocessorpoolsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsSharedprocessorpoolsDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsSharedprocessorpoolsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}] internal.v1.operations.sharedprocessorpools.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteNoContent creates a InternalV1OperationsSharedprocessorpoolsDeleteNoContent with default headers values +func NewInternalV1OperationsSharedprocessorpoolsDeleteNoContent() *InternalV1OperationsSharedprocessorpoolsDeleteNoContent { + return &InternalV1OperationsSharedprocessorpoolsDeleteNoContent{} +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools delete no content response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools delete no content response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools delete no content response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools delete no content response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools delete no content response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools delete no content response +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteBadRequest creates a InternalV1OperationsSharedprocessorpoolsDeleteBadRequest with default headers values +func NewInternalV1OperationsSharedprocessorpoolsDeleteBadRequest() *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest { + return &InternalV1OperationsSharedprocessorpoolsDeleteBadRequest{} +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools delete bad request response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools delete bad request response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools delete bad request response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools delete bad request response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools delete bad request response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools delete bad request response +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteUnauthorized creates a InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized with default headers values +func NewInternalV1OperationsSharedprocessorpoolsDeleteUnauthorized() *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized { + return &InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized{} +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools delete unauthorized response +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteForbidden creates a InternalV1OperationsSharedprocessorpoolsDeleteForbidden with default headers values +func NewInternalV1OperationsSharedprocessorpoolsDeleteForbidden() *InternalV1OperationsSharedprocessorpoolsDeleteForbidden { + return &InternalV1OperationsSharedprocessorpoolsDeleteForbidden{} +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools delete forbidden response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools delete forbidden response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools delete forbidden response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools delete forbidden response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools delete forbidden response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools delete forbidden response +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteNotFound creates a InternalV1OperationsSharedprocessorpoolsDeleteNotFound with default headers values +func NewInternalV1OperationsSharedprocessorpoolsDeleteNotFound() *InternalV1OperationsSharedprocessorpoolsDeleteNotFound { + return &InternalV1OperationsSharedprocessorpoolsDeleteNotFound{} +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools delete not found response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools delete not found response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools delete not found response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools delete not found response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools delete not found response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools delete not found response +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteGone creates a InternalV1OperationsSharedprocessorpoolsDeleteGone with default headers values +func NewInternalV1OperationsSharedprocessorpoolsDeleteGone() *InternalV1OperationsSharedprocessorpoolsDeleteGone { + return &InternalV1OperationsSharedprocessorpoolsDeleteGone{} +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools delete gone response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools delete gone response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools delete gone response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools delete gone response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools delete gone response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools delete gone response +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests creates a InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests with default headers values +func NewInternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests() *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests { + return &InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests{} +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools delete too many requests response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools delete too many requests response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools delete too many requests response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools delete too many requests response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools delete too many requests response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools delete too many requests response +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsDeleteInternalServerError creates a InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError with default headers values +func NewInternalV1OperationsSharedprocessorpoolsDeleteInternalServerError() *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError { + return &InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError{} +} + +/* +InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools delete internal server error response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools delete internal server error response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools delete internal server error response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools delete internal server error response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools delete internal server error response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools delete internal server error response +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/shared-processor-pools/{resource_crn}][%d] internalV1OperationsSharedprocessorpoolsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_post_parameters.go new file mode 100644 index 000000000..d2024a19e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsSharedprocessorpoolsPostParams creates a new InternalV1OperationsSharedprocessorpoolsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsSharedprocessorpoolsPostParams() *InternalV1OperationsSharedprocessorpoolsPostParams { + return &InternalV1OperationsSharedprocessorpoolsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsSharedprocessorpoolsPostParamsWithTimeout creates a new InternalV1OperationsSharedprocessorpoolsPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsSharedprocessorpoolsPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsSharedprocessorpoolsPostParams { + return &InternalV1OperationsSharedprocessorpoolsPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsSharedprocessorpoolsPostParamsWithContext creates a new InternalV1OperationsSharedprocessorpoolsPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsSharedprocessorpoolsPostParamsWithContext(ctx context.Context) *InternalV1OperationsSharedprocessorpoolsPostParams { + return &InternalV1OperationsSharedprocessorpoolsPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsSharedprocessorpoolsPostParamsWithHTTPClient creates a new InternalV1OperationsSharedprocessorpoolsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsSharedprocessorpoolsPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsSharedprocessorpoolsPostParams { + return &InternalV1OperationsSharedprocessorpoolsPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsSharedprocessorpoolsPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations sharedprocessorpools post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsSharedprocessorpoolsPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating a Shared Processor Pool CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations sharedprocessorpools post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WithDefaults() *InternalV1OperationsSharedprocessorpoolsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations sharedprocessorpools post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsSharedprocessorpoolsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WithContext(ctx context.Context) *InternalV1OperationsSharedprocessorpoolsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsSharedprocessorpoolsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WithAuthorization(authorization string) *InternalV1OperationsSharedprocessorpoolsPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WithCRN(cRN string) *InternalV1OperationsSharedprocessorpoolsPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsSharedprocessorpoolsPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsSharedprocessorpoolsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations sharedprocessorpools post params +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsSharedprocessorpoolsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_post_responses.go new file mode 100644 index 000000000..8bef93c68 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools/internal_v1_operations_sharedprocessorpools_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsSharedprocessorpoolsPostReader is a Reader for the InternalV1OperationsSharedprocessorpoolsPost structure. +type InternalV1OperationsSharedprocessorpoolsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsSharedprocessorpoolsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsSharedprocessorpoolsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsSharedprocessorpoolsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsSharedprocessorpoolsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsSharedprocessorpoolsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsSharedprocessorpoolsPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsSharedprocessorpoolsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/shared-processor-pools] internal.v1.operations.sharedprocessorpools.post", response, response.Code()) + } +} + +// NewInternalV1OperationsSharedprocessorpoolsPostCreated creates a InternalV1OperationsSharedprocessorpoolsPostCreated with default headers values +func NewInternalV1OperationsSharedprocessorpoolsPostCreated() *InternalV1OperationsSharedprocessorpoolsPostCreated { + return &InternalV1OperationsSharedprocessorpoolsPostCreated{} +} + +/* +InternalV1OperationsSharedprocessorpoolsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsSharedprocessorpoolsPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools post created response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools post created response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools post created response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools post created response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools post created response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools post created response +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsPostBadRequest creates a InternalV1OperationsSharedprocessorpoolsPostBadRequest with default headers values +func NewInternalV1OperationsSharedprocessorpoolsPostBadRequest() *InternalV1OperationsSharedprocessorpoolsPostBadRequest { + return &InternalV1OperationsSharedprocessorpoolsPostBadRequest{} +} + +/* +InternalV1OperationsSharedprocessorpoolsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsSharedprocessorpoolsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools post bad request response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools post bad request response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools post bad request response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools post bad request response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools post bad request response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools post bad request response +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsPostUnauthorized creates a InternalV1OperationsSharedprocessorpoolsPostUnauthorized with default headers values +func NewInternalV1OperationsSharedprocessorpoolsPostUnauthorized() *InternalV1OperationsSharedprocessorpoolsPostUnauthorized { + return &InternalV1OperationsSharedprocessorpoolsPostUnauthorized{} +} + +/* +InternalV1OperationsSharedprocessorpoolsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsSharedprocessorpoolsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools post unauthorized response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools post unauthorized response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools post unauthorized response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools post unauthorized response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools post unauthorized response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools post unauthorized response +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsPostForbidden creates a InternalV1OperationsSharedprocessorpoolsPostForbidden with default headers values +func NewInternalV1OperationsSharedprocessorpoolsPostForbidden() *InternalV1OperationsSharedprocessorpoolsPostForbidden { + return &InternalV1OperationsSharedprocessorpoolsPostForbidden{} +} + +/* +InternalV1OperationsSharedprocessorpoolsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsSharedprocessorpoolsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools post forbidden response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools post forbidden response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools post forbidden response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools post forbidden response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools post forbidden response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools post forbidden response +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsPostTooManyRequests creates a InternalV1OperationsSharedprocessorpoolsPostTooManyRequests with default headers values +func NewInternalV1OperationsSharedprocessorpoolsPostTooManyRequests() *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests { + return &InternalV1OperationsSharedprocessorpoolsPostTooManyRequests{} +} + +/* +InternalV1OperationsSharedprocessorpoolsPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsSharedprocessorpoolsPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools post too many requests response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools post too many requests response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools post too many requests response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools post too many requests response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools post too many requests response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools post too many requests response +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSharedprocessorpoolsPostInternalServerError creates a InternalV1OperationsSharedprocessorpoolsPostInternalServerError with default headers values +func NewInternalV1OperationsSharedprocessorpoolsPostInternalServerError() *InternalV1OperationsSharedprocessorpoolsPostInternalServerError { + return &InternalV1OperationsSharedprocessorpoolsPostInternalServerError{} +} + +/* +InternalV1OperationsSharedprocessorpoolsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsSharedprocessorpoolsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations sharedprocessorpools post internal server error response has a 2xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations sharedprocessorpools post internal server error response has a 3xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations sharedprocessorpools post internal server error response has a 4xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations sharedprocessorpools post internal server error response has a 5xx status code +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations sharedprocessorpools post internal server error response a status code equal to that given +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations sharedprocessorpools post internal server error response +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/shared-processor-pools][%d] internalV1OperationsSharedprocessorpoolsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSharedprocessorpoolsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_operations_snapshots_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_operations_snapshots_client.go new file mode 100644 index 000000000..cd4dc8c45 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_operations_snapshots_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations snapshots API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations snapshots API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations snapshots API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations snapshots API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsSnapshotsDelete(params *InternalV1OperationsSnapshotsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsSnapshotsDeleteNoContent, error) + + InternalV1OperationsSnapshotsPost(params *InternalV1OperationsSnapshotsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsSnapshotsPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsSnapshotsDelete deletes a snapshot c r n +*/ +func (a *Client) InternalV1OperationsSnapshotsDelete(params *InternalV1OperationsSnapshotsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsSnapshotsDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsSnapshotsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.snapshots.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/snapshots/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsSnapshotsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsSnapshotsDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.snapshots.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsSnapshotsPost creates a c r n for a snapshot +*/ +func (a *Client) InternalV1OperationsSnapshotsPost(params *InternalV1OperationsSnapshotsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsSnapshotsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsSnapshotsPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.snapshots.post", + Method: "POST", + PathPattern: "/internal/v1/operations/snapshots", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsSnapshotsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsSnapshotsPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.snapshots.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_delete_parameters.go new file mode 100644 index 000000000..a6d6aa02e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsSnapshotsDeleteParams creates a new InternalV1OperationsSnapshotsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsSnapshotsDeleteParams() *InternalV1OperationsSnapshotsDeleteParams { + return &InternalV1OperationsSnapshotsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsSnapshotsDeleteParamsWithTimeout creates a new InternalV1OperationsSnapshotsDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsSnapshotsDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsSnapshotsDeleteParams { + return &InternalV1OperationsSnapshotsDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsSnapshotsDeleteParamsWithContext creates a new InternalV1OperationsSnapshotsDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsSnapshotsDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsSnapshotsDeleteParams { + return &InternalV1OperationsSnapshotsDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsSnapshotsDeleteParamsWithHTTPClient creates a new InternalV1OperationsSnapshotsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsSnapshotsDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsSnapshotsDeleteParams { + return &InternalV1OperationsSnapshotsDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsSnapshotsDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations snapshots delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsSnapshotsDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations snapshots delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsSnapshotsDeleteParams) WithDefaults() *InternalV1OperationsSnapshotsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations snapshots delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsSnapshotsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsSnapshotsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsSnapshotsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsSnapshotsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsSnapshotsDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) WithCRN(cRN string) *InternalV1OperationsSnapshotsDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsSnapshotsDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsSnapshotsDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations snapshots delete params +func (o *InternalV1OperationsSnapshotsDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsSnapshotsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_delete_responses.go new file mode 100644 index 000000000..e07bff00d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsSnapshotsDeleteReader is a Reader for the InternalV1OperationsSnapshotsDelete structure. +type InternalV1OperationsSnapshotsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsSnapshotsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsSnapshotsDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsSnapshotsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsSnapshotsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsSnapshotsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsSnapshotsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsSnapshotsDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsSnapshotsDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsSnapshotsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/snapshots/{resource_crn}] internal.v1.operations.snapshots.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsSnapshotsDeleteNoContent creates a InternalV1OperationsSnapshotsDeleteNoContent with default headers values +func NewInternalV1OperationsSnapshotsDeleteNoContent() *InternalV1OperationsSnapshotsDeleteNoContent { + return &InternalV1OperationsSnapshotsDeleteNoContent{} +} + +/* +InternalV1OperationsSnapshotsDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsSnapshotsDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations snapshots delete no content response has a 2xx status code +func (o *InternalV1OperationsSnapshotsDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations snapshots delete no content response has a 3xx status code +func (o *InternalV1OperationsSnapshotsDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots delete no content response has a 4xx status code +func (o *InternalV1OperationsSnapshotsDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations snapshots delete no content response has a 5xx status code +func (o *InternalV1OperationsSnapshotsDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots delete no content response a status code equal to that given +func (o *InternalV1OperationsSnapshotsDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations snapshots delete no content response +func (o *InternalV1OperationsSnapshotsDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsSnapshotsDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsSnapshotsDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteNoContent", 204) +} + +func (o *InternalV1OperationsSnapshotsDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsSnapshotsDeleteBadRequest creates a InternalV1OperationsSnapshotsDeleteBadRequest with default headers values +func NewInternalV1OperationsSnapshotsDeleteBadRequest() *InternalV1OperationsSnapshotsDeleteBadRequest { + return &InternalV1OperationsSnapshotsDeleteBadRequest{} +} + +/* +InternalV1OperationsSnapshotsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsSnapshotsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots delete bad request response has a 2xx status code +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots delete bad request response has a 3xx status code +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots delete bad request response has a 4xx status code +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots delete bad request response has a 5xx status code +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots delete bad request response a status code equal to that given +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations snapshots delete bad request response +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsDeleteUnauthorized creates a InternalV1OperationsSnapshotsDeleteUnauthorized with default headers values +func NewInternalV1OperationsSnapshotsDeleteUnauthorized() *InternalV1OperationsSnapshotsDeleteUnauthorized { + return &InternalV1OperationsSnapshotsDeleteUnauthorized{} +} + +/* +InternalV1OperationsSnapshotsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsSnapshotsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations snapshots delete unauthorized response +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsDeleteForbidden creates a InternalV1OperationsSnapshotsDeleteForbidden with default headers values +func NewInternalV1OperationsSnapshotsDeleteForbidden() *InternalV1OperationsSnapshotsDeleteForbidden { + return &InternalV1OperationsSnapshotsDeleteForbidden{} +} + +/* +InternalV1OperationsSnapshotsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsSnapshotsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots delete forbidden response has a 2xx status code +func (o *InternalV1OperationsSnapshotsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots delete forbidden response has a 3xx status code +func (o *InternalV1OperationsSnapshotsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots delete forbidden response has a 4xx status code +func (o *InternalV1OperationsSnapshotsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots delete forbidden response has a 5xx status code +func (o *InternalV1OperationsSnapshotsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots delete forbidden response a status code equal to that given +func (o *InternalV1OperationsSnapshotsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations snapshots delete forbidden response +func (o *InternalV1OperationsSnapshotsDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsSnapshotsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsDeleteNotFound creates a InternalV1OperationsSnapshotsDeleteNotFound with default headers values +func NewInternalV1OperationsSnapshotsDeleteNotFound() *InternalV1OperationsSnapshotsDeleteNotFound { + return &InternalV1OperationsSnapshotsDeleteNotFound{} +} + +/* +InternalV1OperationsSnapshotsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsSnapshotsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots delete not found response has a 2xx status code +func (o *InternalV1OperationsSnapshotsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots delete not found response has a 3xx status code +func (o *InternalV1OperationsSnapshotsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots delete not found response has a 4xx status code +func (o *InternalV1OperationsSnapshotsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots delete not found response has a 5xx status code +func (o *InternalV1OperationsSnapshotsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots delete not found response a status code equal to that given +func (o *InternalV1OperationsSnapshotsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations snapshots delete not found response +func (o *InternalV1OperationsSnapshotsDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsSnapshotsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsDeleteGone creates a InternalV1OperationsSnapshotsDeleteGone with default headers values +func NewInternalV1OperationsSnapshotsDeleteGone() *InternalV1OperationsSnapshotsDeleteGone { + return &InternalV1OperationsSnapshotsDeleteGone{} +} + +/* +InternalV1OperationsSnapshotsDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsSnapshotsDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots delete gone response has a 2xx status code +func (o *InternalV1OperationsSnapshotsDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots delete gone response has a 3xx status code +func (o *InternalV1OperationsSnapshotsDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots delete gone response has a 4xx status code +func (o *InternalV1OperationsSnapshotsDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots delete gone response has a 5xx status code +func (o *InternalV1OperationsSnapshotsDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots delete gone response a status code equal to that given +func (o *InternalV1OperationsSnapshotsDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations snapshots delete gone response +func (o *InternalV1OperationsSnapshotsDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsSnapshotsDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsDeleteTooManyRequests creates a InternalV1OperationsSnapshotsDeleteTooManyRequests with default headers values +func NewInternalV1OperationsSnapshotsDeleteTooManyRequests() *InternalV1OperationsSnapshotsDeleteTooManyRequests { + return &InternalV1OperationsSnapshotsDeleteTooManyRequests{} +} + +/* +InternalV1OperationsSnapshotsDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsSnapshotsDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots delete too many requests response has a 2xx status code +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots delete too many requests response has a 3xx status code +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots delete too many requests response has a 4xx status code +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots delete too many requests response has a 5xx status code +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots delete too many requests response a status code equal to that given +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations snapshots delete too many requests response +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsDeleteInternalServerError creates a InternalV1OperationsSnapshotsDeleteInternalServerError with default headers values +func NewInternalV1OperationsSnapshotsDeleteInternalServerError() *InternalV1OperationsSnapshotsDeleteInternalServerError { + return &InternalV1OperationsSnapshotsDeleteInternalServerError{} +} + +/* +InternalV1OperationsSnapshotsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsSnapshotsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots delete internal server error response has a 2xx status code +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots delete internal server error response has a 3xx status code +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots delete internal server error response has a 4xx status code +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations snapshots delete internal server error response has a 5xx status code +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations snapshots delete internal server error response a status code equal to that given +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations snapshots delete internal server error response +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/snapshots/{resource_crn}][%d] internalV1OperationsSnapshotsDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_post_parameters.go new file mode 100644 index 000000000..f83e38490 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsSnapshotsPostParams creates a new InternalV1OperationsSnapshotsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsSnapshotsPostParams() *InternalV1OperationsSnapshotsPostParams { + return &InternalV1OperationsSnapshotsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsSnapshotsPostParamsWithTimeout creates a new InternalV1OperationsSnapshotsPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsSnapshotsPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsSnapshotsPostParams { + return &InternalV1OperationsSnapshotsPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsSnapshotsPostParamsWithContext creates a new InternalV1OperationsSnapshotsPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsSnapshotsPostParamsWithContext(ctx context.Context) *InternalV1OperationsSnapshotsPostParams { + return &InternalV1OperationsSnapshotsPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsSnapshotsPostParamsWithHTTPClient creates a new InternalV1OperationsSnapshotsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsSnapshotsPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsSnapshotsPostParams { + return &InternalV1OperationsSnapshotsPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsSnapshotsPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations snapshots post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsSnapshotsPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating snapshot CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations snapshots post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsSnapshotsPostParams) WithDefaults() *InternalV1OperationsSnapshotsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations snapshots post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsSnapshotsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsSnapshotsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) WithContext(ctx context.Context) *InternalV1OperationsSnapshotsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsSnapshotsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) WithAuthorization(authorization string) *InternalV1OperationsSnapshotsPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) WithCRN(cRN string) *InternalV1OperationsSnapshotsPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsSnapshotsPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsSnapshotsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations snapshots post params +func (o *InternalV1OperationsSnapshotsPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsSnapshotsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_post_responses.go new file mode 100644 index 000000000..bff26c91f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots/internal_v1_operations_snapshots_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsSnapshotsPostReader is a Reader for the InternalV1OperationsSnapshotsPost structure. +type InternalV1OperationsSnapshotsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsSnapshotsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsSnapshotsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsSnapshotsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsSnapshotsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsSnapshotsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsSnapshotsPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsSnapshotsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/snapshots] internal.v1.operations.snapshots.post", response, response.Code()) + } +} + +// NewInternalV1OperationsSnapshotsPostCreated creates a InternalV1OperationsSnapshotsPostCreated with default headers values +func NewInternalV1OperationsSnapshotsPostCreated() *InternalV1OperationsSnapshotsPostCreated { + return &InternalV1OperationsSnapshotsPostCreated{} +} + +/* +InternalV1OperationsSnapshotsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsSnapshotsPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations snapshots post created response has a 2xx status code +func (o *InternalV1OperationsSnapshotsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations snapshots post created response has a 3xx status code +func (o *InternalV1OperationsSnapshotsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots post created response has a 4xx status code +func (o *InternalV1OperationsSnapshotsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations snapshots post created response has a 5xx status code +func (o *InternalV1OperationsSnapshotsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots post created response a status code equal to that given +func (o *InternalV1OperationsSnapshotsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations snapshots post created response +func (o *InternalV1OperationsSnapshotsPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsSnapshotsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsSnapshotsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsSnapshotsPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsPostBadRequest creates a InternalV1OperationsSnapshotsPostBadRequest with default headers values +func NewInternalV1OperationsSnapshotsPostBadRequest() *InternalV1OperationsSnapshotsPostBadRequest { + return &InternalV1OperationsSnapshotsPostBadRequest{} +} + +/* +InternalV1OperationsSnapshotsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsSnapshotsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots post bad request response has a 2xx status code +func (o *InternalV1OperationsSnapshotsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots post bad request response has a 3xx status code +func (o *InternalV1OperationsSnapshotsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots post bad request response has a 4xx status code +func (o *InternalV1OperationsSnapshotsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots post bad request response has a 5xx status code +func (o *InternalV1OperationsSnapshotsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots post bad request response a status code equal to that given +func (o *InternalV1OperationsSnapshotsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations snapshots post bad request response +func (o *InternalV1OperationsSnapshotsPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsSnapshotsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsSnapshotsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsSnapshotsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsPostUnauthorized creates a InternalV1OperationsSnapshotsPostUnauthorized with default headers values +func NewInternalV1OperationsSnapshotsPostUnauthorized() *InternalV1OperationsSnapshotsPostUnauthorized { + return &InternalV1OperationsSnapshotsPostUnauthorized{} +} + +/* +InternalV1OperationsSnapshotsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsSnapshotsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots post unauthorized response has a 2xx status code +func (o *InternalV1OperationsSnapshotsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots post unauthorized response has a 3xx status code +func (o *InternalV1OperationsSnapshotsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots post unauthorized response has a 4xx status code +func (o *InternalV1OperationsSnapshotsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots post unauthorized response has a 5xx status code +func (o *InternalV1OperationsSnapshotsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots post unauthorized response a status code equal to that given +func (o *InternalV1OperationsSnapshotsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations snapshots post unauthorized response +func (o *InternalV1OperationsSnapshotsPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsSnapshotsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsSnapshotsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsSnapshotsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsPostForbidden creates a InternalV1OperationsSnapshotsPostForbidden with default headers values +func NewInternalV1OperationsSnapshotsPostForbidden() *InternalV1OperationsSnapshotsPostForbidden { + return &InternalV1OperationsSnapshotsPostForbidden{} +} + +/* +InternalV1OperationsSnapshotsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsSnapshotsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots post forbidden response has a 2xx status code +func (o *InternalV1OperationsSnapshotsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots post forbidden response has a 3xx status code +func (o *InternalV1OperationsSnapshotsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots post forbidden response has a 4xx status code +func (o *InternalV1OperationsSnapshotsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots post forbidden response has a 5xx status code +func (o *InternalV1OperationsSnapshotsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots post forbidden response a status code equal to that given +func (o *InternalV1OperationsSnapshotsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations snapshots post forbidden response +func (o *InternalV1OperationsSnapshotsPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsSnapshotsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsSnapshotsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsSnapshotsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsPostTooManyRequests creates a InternalV1OperationsSnapshotsPostTooManyRequests with default headers values +func NewInternalV1OperationsSnapshotsPostTooManyRequests() *InternalV1OperationsSnapshotsPostTooManyRequests { + return &InternalV1OperationsSnapshotsPostTooManyRequests{} +} + +/* +InternalV1OperationsSnapshotsPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsSnapshotsPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots post too many requests response has a 2xx status code +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots post too many requests response has a 3xx status code +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots post too many requests response has a 4xx status code +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations snapshots post too many requests response has a 5xx status code +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations snapshots post too many requests response a status code equal to that given +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations snapshots post too many requests response +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsSnapshotsPostInternalServerError creates a InternalV1OperationsSnapshotsPostInternalServerError with default headers values +func NewInternalV1OperationsSnapshotsPostInternalServerError() *InternalV1OperationsSnapshotsPostInternalServerError { + return &InternalV1OperationsSnapshotsPostInternalServerError{} +} + +/* +InternalV1OperationsSnapshotsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsSnapshotsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations snapshots post internal server error response has a 2xx status code +func (o *InternalV1OperationsSnapshotsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations snapshots post internal server error response has a 3xx status code +func (o *InternalV1OperationsSnapshotsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations snapshots post internal server error response has a 4xx status code +func (o *InternalV1OperationsSnapshotsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations snapshots post internal server error response has a 5xx status code +func (o *InternalV1OperationsSnapshotsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations snapshots post internal server error response a status code equal to that given +func (o *InternalV1OperationsSnapshotsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations snapshots post internal server error response +func (o *InternalV1OperationsSnapshotsPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsSnapshotsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsSnapshotsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/snapshots][%d] internalV1OperationsSnapshotsPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsSnapshotsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsSnapshotsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_operationsvp_mem_volumes_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_operationsvp_mem_volumes_client.go new file mode 100644 index 000000000..5f141221f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_operationsvp_mem_volumes_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations v p mem volumes API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations v p mem volumes API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations v p mem volumes API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations v p mem volumes API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsVpmemVolumesDelete(params *InternalV1OperationsVpmemVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsVpmemVolumesDeleteNoContent, error) + + InternalV1OperationsVpmemVolumesPost(params *InternalV1OperationsVpmemVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsVpmemVolumesPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsVpmemVolumesDelete deletes a v p m e m volume c r n +*/ +func (a *Client) InternalV1OperationsVpmemVolumesDelete(params *InternalV1OperationsVpmemVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsVpmemVolumesDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsVpmemVolumesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.vpmem-volumes.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/vpmem-volumes/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsVpmemVolumesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsVpmemVolumesDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.vpmem-volumes.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsVpmemVolumesPost creates a c r n for a v p m e m volume +*/ +func (a *Client) InternalV1OperationsVpmemVolumesPost(params *InternalV1OperationsVpmemVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsVpmemVolumesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsVpmemVolumesPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.vpmem-volumes.post", + Method: "POST", + PathPattern: "/internal/v1/operations/vpmem-volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsVpmemVolumesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsVpmemVolumesPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.vpmem-volumes.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_delete_parameters.go new file mode 100644 index 000000000..02abee0b3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsVpmemVolumesDeleteParams creates a new InternalV1OperationsVpmemVolumesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsVpmemVolumesDeleteParams() *InternalV1OperationsVpmemVolumesDeleteParams { + return &InternalV1OperationsVpmemVolumesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsVpmemVolumesDeleteParamsWithTimeout creates a new InternalV1OperationsVpmemVolumesDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsVpmemVolumesDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsVpmemVolumesDeleteParams { + return &InternalV1OperationsVpmemVolumesDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsVpmemVolumesDeleteParamsWithContext creates a new InternalV1OperationsVpmemVolumesDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsVpmemVolumesDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsVpmemVolumesDeleteParams { + return &InternalV1OperationsVpmemVolumesDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsVpmemVolumesDeleteParamsWithHTTPClient creates a new InternalV1OperationsVpmemVolumesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsVpmemVolumesDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsVpmemVolumesDeleteParams { + return &InternalV1OperationsVpmemVolumesDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsVpmemVolumesDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations vpmem volumes delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsVpmemVolumesDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations vpmem volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WithDefaults() *InternalV1OperationsVpmemVolumesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations vpmem volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsVpmemVolumesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsVpmemVolumesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsVpmemVolumesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsVpmemVolumesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsVpmemVolumesDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WithCRN(cRN string) *InternalV1OperationsVpmemVolumesDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsVpmemVolumesDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsVpmemVolumesDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations vpmem volumes delete params +func (o *InternalV1OperationsVpmemVolumesDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsVpmemVolumesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_delete_responses.go new file mode 100644 index 000000000..a33cc83df --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsVpmemVolumesDeleteReader is a Reader for the InternalV1OperationsVpmemVolumesDelete structure. +type InternalV1OperationsVpmemVolumesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsVpmemVolumesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsVpmemVolumesDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsVpmemVolumesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsVpmemVolumesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsVpmemVolumesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsVpmemVolumesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsVpmemVolumesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsVpmemVolumesDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsVpmemVolumesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}] internal.v1.operations.vpmem-volumes.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsVpmemVolumesDeleteNoContent creates a InternalV1OperationsVpmemVolumesDeleteNoContent with default headers values +func NewInternalV1OperationsVpmemVolumesDeleteNoContent() *InternalV1OperationsVpmemVolumesDeleteNoContent { + return &InternalV1OperationsVpmemVolumesDeleteNoContent{} +} + +/* +InternalV1OperationsVpmemVolumesDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsVpmemVolumesDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes delete no content response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes delete no content response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes delete no content response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations vpmem volumes delete no content response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes delete no content response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations vpmem volumes delete no content response +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsVpmemVolumesDeleteBadRequest creates a InternalV1OperationsVpmemVolumesDeleteBadRequest with default headers values +func NewInternalV1OperationsVpmemVolumesDeleteBadRequest() *InternalV1OperationsVpmemVolumesDeleteBadRequest { + return &InternalV1OperationsVpmemVolumesDeleteBadRequest{} +} + +/* +InternalV1OperationsVpmemVolumesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsVpmemVolumesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes delete bad request response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes delete bad request response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes delete bad request response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes delete bad request response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes delete bad request response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations vpmem volumes delete bad request response +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesDeleteUnauthorized creates a InternalV1OperationsVpmemVolumesDeleteUnauthorized with default headers values +func NewInternalV1OperationsVpmemVolumesDeleteUnauthorized() *InternalV1OperationsVpmemVolumesDeleteUnauthorized { + return &InternalV1OperationsVpmemVolumesDeleteUnauthorized{} +} + +/* +InternalV1OperationsVpmemVolumesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsVpmemVolumesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations vpmem volumes delete unauthorized response +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesDeleteForbidden creates a InternalV1OperationsVpmemVolumesDeleteForbidden with default headers values +func NewInternalV1OperationsVpmemVolumesDeleteForbidden() *InternalV1OperationsVpmemVolumesDeleteForbidden { + return &InternalV1OperationsVpmemVolumesDeleteForbidden{} +} + +/* +InternalV1OperationsVpmemVolumesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsVpmemVolumesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes delete forbidden response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes delete forbidden response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes delete forbidden response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes delete forbidden response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes delete forbidden response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations vpmem volumes delete forbidden response +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesDeleteNotFound creates a InternalV1OperationsVpmemVolumesDeleteNotFound with default headers values +func NewInternalV1OperationsVpmemVolumesDeleteNotFound() *InternalV1OperationsVpmemVolumesDeleteNotFound { + return &InternalV1OperationsVpmemVolumesDeleteNotFound{} +} + +/* +InternalV1OperationsVpmemVolumesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsVpmemVolumesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes delete not found response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes delete not found response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes delete not found response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes delete not found response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes delete not found response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations vpmem volumes delete not found response +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesDeleteGone creates a InternalV1OperationsVpmemVolumesDeleteGone with default headers values +func NewInternalV1OperationsVpmemVolumesDeleteGone() *InternalV1OperationsVpmemVolumesDeleteGone { + return &InternalV1OperationsVpmemVolumesDeleteGone{} +} + +/* +InternalV1OperationsVpmemVolumesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsVpmemVolumesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes delete gone response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes delete gone response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes delete gone response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes delete gone response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes delete gone response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations vpmem volumes delete gone response +func (o *InternalV1OperationsVpmemVolumesDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsVpmemVolumesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesDeleteTooManyRequests creates a InternalV1OperationsVpmemVolumesDeleteTooManyRequests with default headers values +func NewInternalV1OperationsVpmemVolumesDeleteTooManyRequests() *InternalV1OperationsVpmemVolumesDeleteTooManyRequests { + return &InternalV1OperationsVpmemVolumesDeleteTooManyRequests{} +} + +/* +InternalV1OperationsVpmemVolumesDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsVpmemVolumesDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes delete too many requests response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes delete too many requests response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes delete too many requests response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes delete too many requests response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes delete too many requests response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations vpmem volumes delete too many requests response +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesDeleteInternalServerError creates a InternalV1OperationsVpmemVolumesDeleteInternalServerError with default headers values +func NewInternalV1OperationsVpmemVolumesDeleteInternalServerError() *InternalV1OperationsVpmemVolumesDeleteInternalServerError { + return &InternalV1OperationsVpmemVolumesDeleteInternalServerError{} +} + +/* +InternalV1OperationsVpmemVolumesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsVpmemVolumesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes delete internal server error response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes delete internal server error response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes delete internal server error response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations vpmem volumes delete internal server error response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations vpmem volumes delete internal server error response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations vpmem volumes delete internal server error response +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/vpmem-volumes/{resource_crn}][%d] internalV1OperationsVpmemVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_post_parameters.go new file mode 100644 index 000000000..41099e911 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsVpmemVolumesPostParams creates a new InternalV1OperationsVpmemVolumesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsVpmemVolumesPostParams() *InternalV1OperationsVpmemVolumesPostParams { + return &InternalV1OperationsVpmemVolumesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsVpmemVolumesPostParamsWithTimeout creates a new InternalV1OperationsVpmemVolumesPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsVpmemVolumesPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsVpmemVolumesPostParams { + return &InternalV1OperationsVpmemVolumesPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsVpmemVolumesPostParamsWithContext creates a new InternalV1OperationsVpmemVolumesPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsVpmemVolumesPostParamsWithContext(ctx context.Context) *InternalV1OperationsVpmemVolumesPostParams { + return &InternalV1OperationsVpmemVolumesPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsVpmemVolumesPostParamsWithHTTPClient creates a new InternalV1OperationsVpmemVolumesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsVpmemVolumesPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsVpmemVolumesPostParams { + return &InternalV1OperationsVpmemVolumesPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsVpmemVolumesPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations vpmem volumes post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsVpmemVolumesPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating vPMEM volume CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations vpmem volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsVpmemVolumesPostParams) WithDefaults() *InternalV1OperationsVpmemVolumesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations vpmem volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsVpmemVolumesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsVpmemVolumesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) WithContext(ctx context.Context) *InternalV1OperationsVpmemVolumesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsVpmemVolumesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) WithAuthorization(authorization string) *InternalV1OperationsVpmemVolumesPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) WithCRN(cRN string) *InternalV1OperationsVpmemVolumesPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsVpmemVolumesPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsVpmemVolumesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations vpmem volumes post params +func (o *InternalV1OperationsVpmemVolumesPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsVpmemVolumesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_post_responses.go new file mode 100644 index 000000000..f3ac683fd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes/internal_v1_operations_vpmem_volumes_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsVpmemVolumesPostReader is a Reader for the InternalV1OperationsVpmemVolumesPost structure. +type InternalV1OperationsVpmemVolumesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsVpmemVolumesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsVpmemVolumesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsVpmemVolumesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsVpmemVolumesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsVpmemVolumesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsVpmemVolumesPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsVpmemVolumesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/vpmem-volumes] internal.v1.operations.vpmem-volumes.post", response, response.Code()) + } +} + +// NewInternalV1OperationsVpmemVolumesPostCreated creates a InternalV1OperationsVpmemVolumesPostCreated with default headers values +func NewInternalV1OperationsVpmemVolumesPostCreated() *InternalV1OperationsVpmemVolumesPostCreated { + return &InternalV1OperationsVpmemVolumesPostCreated{} +} + +/* +InternalV1OperationsVpmemVolumesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsVpmemVolumesPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes post created response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes post created response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes post created response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations vpmem volumes post created response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes post created response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations vpmem volumes post created response +func (o *InternalV1OperationsVpmemVolumesPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsVpmemVolumesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesPostBadRequest creates a InternalV1OperationsVpmemVolumesPostBadRequest with default headers values +func NewInternalV1OperationsVpmemVolumesPostBadRequest() *InternalV1OperationsVpmemVolumesPostBadRequest { + return &InternalV1OperationsVpmemVolumesPostBadRequest{} +} + +/* +InternalV1OperationsVpmemVolumesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsVpmemVolumesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes post bad request response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes post bad request response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes post bad request response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes post bad request response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes post bad request response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations vpmem volumes post bad request response +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesPostUnauthorized creates a InternalV1OperationsVpmemVolumesPostUnauthorized with default headers values +func NewInternalV1OperationsVpmemVolumesPostUnauthorized() *InternalV1OperationsVpmemVolumesPostUnauthorized { + return &InternalV1OperationsVpmemVolumesPostUnauthorized{} +} + +/* +InternalV1OperationsVpmemVolumesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsVpmemVolumesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes post unauthorized response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes post unauthorized response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes post unauthorized response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes post unauthorized response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes post unauthorized response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations vpmem volumes post unauthorized response +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesPostForbidden creates a InternalV1OperationsVpmemVolumesPostForbidden with default headers values +func NewInternalV1OperationsVpmemVolumesPostForbidden() *InternalV1OperationsVpmemVolumesPostForbidden { + return &InternalV1OperationsVpmemVolumesPostForbidden{} +} + +/* +InternalV1OperationsVpmemVolumesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsVpmemVolumesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes post forbidden response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes post forbidden response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes post forbidden response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes post forbidden response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes post forbidden response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations vpmem volumes post forbidden response +func (o *InternalV1OperationsVpmemVolumesPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsVpmemVolumesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesPostTooManyRequests creates a InternalV1OperationsVpmemVolumesPostTooManyRequests with default headers values +func NewInternalV1OperationsVpmemVolumesPostTooManyRequests() *InternalV1OperationsVpmemVolumesPostTooManyRequests { + return &InternalV1OperationsVpmemVolumesPostTooManyRequests{} +} + +/* +InternalV1OperationsVpmemVolumesPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsVpmemVolumesPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes post too many requests response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes post too many requests response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes post too many requests response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations vpmem volumes post too many requests response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations vpmem volumes post too many requests response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations vpmem volumes post too many requests response +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVpmemVolumesPostInternalServerError creates a InternalV1OperationsVpmemVolumesPostInternalServerError with default headers values +func NewInternalV1OperationsVpmemVolumesPostInternalServerError() *InternalV1OperationsVpmemVolumesPostInternalServerError { + return &InternalV1OperationsVpmemVolumesPostInternalServerError{} +} + +/* +InternalV1OperationsVpmemVolumesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsVpmemVolumesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations vpmem volumes post internal server error response has a 2xx status code +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations vpmem volumes post internal server error response has a 3xx status code +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations vpmem volumes post internal server error response has a 4xx status code +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations vpmem volumes post internal server error response has a 5xx status code +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations vpmem volumes post internal server error response a status code equal to that given +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations vpmem volumes post internal server error response +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/vpmem-volumes][%d] internalV1OperationsVpmemVolumesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVpmemVolumesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_operations_volumes_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_operations_volumes_client.go new file mode 100644 index 000000000..4b4c0a4d4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_operations_volumes_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal operations volumes API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal operations volumes API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal operations volumes API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal operations volumes API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1OperationsVolumesDelete(params *InternalV1OperationsVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsVolumesDeleteNoContent, error) + + InternalV1OperationsVolumesPost(params *InternalV1OperationsVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsVolumesPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1OperationsVolumesDelete deletes a volume c r n +*/ +func (a *Client) InternalV1OperationsVolumesDelete(params *InternalV1OperationsVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsVolumesDeleteNoContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsVolumesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.volumes.delete", + Method: "DELETE", + PathPattern: "/internal/v1/operations/volumes/{resource_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsVolumesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsVolumesDeleteNoContent) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.volumes.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1OperationsVolumesPost creates a c r n for a volume +*/ +func (a *Client) InternalV1OperationsVolumesPost(params *InternalV1OperationsVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1OperationsVolumesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1OperationsVolumesPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.operations.volumes.post", + Method: "POST", + PathPattern: "/internal/v1/operations/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1OperationsVolumesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1OperationsVolumesPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.operations.volumes.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_delete_parameters.go new file mode 100644 index 000000000..fc82015f5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_delete_parameters.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1OperationsVolumesDeleteParams creates a new InternalV1OperationsVolumesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsVolumesDeleteParams() *InternalV1OperationsVolumesDeleteParams { + return &InternalV1OperationsVolumesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsVolumesDeleteParamsWithTimeout creates a new InternalV1OperationsVolumesDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsVolumesDeleteParamsWithTimeout(timeout time.Duration) *InternalV1OperationsVolumesDeleteParams { + return &InternalV1OperationsVolumesDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsVolumesDeleteParamsWithContext creates a new InternalV1OperationsVolumesDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsVolumesDeleteParamsWithContext(ctx context.Context) *InternalV1OperationsVolumesDeleteParams { + return &InternalV1OperationsVolumesDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsVolumesDeleteParamsWithHTTPClient creates a new InternalV1OperationsVolumesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsVolumesDeleteParamsWithHTTPClient(client *http.Client) *InternalV1OperationsVolumesDeleteParams { + return &InternalV1OperationsVolumesDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsVolumesDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 operations volumes delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsVolumesDeleteParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* ResourceCrn. + + Encoded resource CRN, "/" to be encoded into "%2F", example 'crn:v1:staging:public:power-iaas:satloc_dal_clp2joc20ppo19876n50:a%2Fc7e6bd2517ad44eabbd61fcc25cf68d5:79bffc73-0035-4e7b-b34a-15da38927424:network:d8d51d44-053b-4df3-90b6-31fbe72ba600' + */ + ResourceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsVolumesDeleteParams) WithDefaults() *InternalV1OperationsVolumesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsVolumesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) WithTimeout(timeout time.Duration) *InternalV1OperationsVolumesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) WithContext(ctx context.Context) *InternalV1OperationsVolumesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) WithHTTPClient(client *http.Client) *InternalV1OperationsVolumesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) WithAuthorization(authorization string) *InternalV1OperationsVolumesDeleteParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) WithCRN(cRN string) *InternalV1OperationsVolumesDeleteParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsVolumesDeleteParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithResourceCrn adds the resourceCrn to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) WithResourceCrn(resourceCrn string) *InternalV1OperationsVolumesDeleteParams { + o.SetResourceCrn(resourceCrn) + return o +} + +// SetResourceCrn adds the resourceCrn to the internal v1 operations volumes delete params +func (o *InternalV1OperationsVolumesDeleteParams) SetResourceCrn(resourceCrn string) { + o.ResourceCrn = resourceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsVolumesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param resource_crn + if err := r.SetPathParam("resource_crn", o.ResourceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_delete_responses.go new file mode 100644 index 000000000..0ea9317e1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_delete_responses.go @@ -0,0 +1,625 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsVolumesDeleteReader is a Reader for the InternalV1OperationsVolumesDelete structure. +type InternalV1OperationsVolumesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsVolumesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 204: + result := NewInternalV1OperationsVolumesDeleteNoContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsVolumesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsVolumesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsVolumesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1OperationsVolumesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewInternalV1OperationsVolumesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsVolumesDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsVolumesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/operations/volumes/{resource_crn}] internal.v1.operations.volumes.delete", response, response.Code()) + } +} + +// NewInternalV1OperationsVolumesDeleteNoContent creates a InternalV1OperationsVolumesDeleteNoContent with default headers values +func NewInternalV1OperationsVolumesDeleteNoContent() *InternalV1OperationsVolumesDeleteNoContent { + return &InternalV1OperationsVolumesDeleteNoContent{} +} + +/* +InternalV1OperationsVolumesDeleteNoContent describes a response with status code 204, with default header values. + +Deleted +*/ +type InternalV1OperationsVolumesDeleteNoContent struct { +} + +// IsSuccess returns true when this internal v1 operations volumes delete no content response has a 2xx status code +func (o *InternalV1OperationsVolumesDeleteNoContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations volumes delete no content response has a 3xx status code +func (o *InternalV1OperationsVolumesDeleteNoContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes delete no content response has a 4xx status code +func (o *InternalV1OperationsVolumesDeleteNoContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations volumes delete no content response has a 5xx status code +func (o *InternalV1OperationsVolumesDeleteNoContent) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes delete no content response a status code equal to that given +func (o *InternalV1OperationsVolumesDeleteNoContent) IsCode(code int) bool { + return code == 204 +} + +// Code gets the status code for the internal v1 operations volumes delete no content response +func (o *InternalV1OperationsVolumesDeleteNoContent) Code() int { + return 204 +} + +func (o *InternalV1OperationsVolumesDeleteNoContent) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsVolumesDeleteNoContent) String() string { + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteNoContent", 204) +} + +func (o *InternalV1OperationsVolumesDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1OperationsVolumesDeleteBadRequest creates a InternalV1OperationsVolumesDeleteBadRequest with default headers values +func NewInternalV1OperationsVolumesDeleteBadRequest() *InternalV1OperationsVolumesDeleteBadRequest { + return &InternalV1OperationsVolumesDeleteBadRequest{} +} + +/* +InternalV1OperationsVolumesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsVolumesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes delete bad request response has a 2xx status code +func (o *InternalV1OperationsVolumesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes delete bad request response has a 3xx status code +func (o *InternalV1OperationsVolumesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes delete bad request response has a 4xx status code +func (o *InternalV1OperationsVolumesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes delete bad request response has a 5xx status code +func (o *InternalV1OperationsVolumesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes delete bad request response a status code equal to that given +func (o *InternalV1OperationsVolumesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations volumes delete bad request response +func (o *InternalV1OperationsVolumesDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsVolumesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsVolumesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsVolumesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesDeleteUnauthorized creates a InternalV1OperationsVolumesDeleteUnauthorized with default headers values +func NewInternalV1OperationsVolumesDeleteUnauthorized() *InternalV1OperationsVolumesDeleteUnauthorized { + return &InternalV1OperationsVolumesDeleteUnauthorized{} +} + +/* +InternalV1OperationsVolumesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsVolumesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes delete unauthorized response has a 2xx status code +func (o *InternalV1OperationsVolumesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes delete unauthorized response has a 3xx status code +func (o *InternalV1OperationsVolumesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes delete unauthorized response has a 4xx status code +func (o *InternalV1OperationsVolumesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes delete unauthorized response has a 5xx status code +func (o *InternalV1OperationsVolumesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes delete unauthorized response a status code equal to that given +func (o *InternalV1OperationsVolumesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations volumes delete unauthorized response +func (o *InternalV1OperationsVolumesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsVolumesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsVolumesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsVolumesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesDeleteForbidden creates a InternalV1OperationsVolumesDeleteForbidden with default headers values +func NewInternalV1OperationsVolumesDeleteForbidden() *InternalV1OperationsVolumesDeleteForbidden { + return &InternalV1OperationsVolumesDeleteForbidden{} +} + +/* +InternalV1OperationsVolumesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsVolumesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes delete forbidden response has a 2xx status code +func (o *InternalV1OperationsVolumesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes delete forbidden response has a 3xx status code +func (o *InternalV1OperationsVolumesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes delete forbidden response has a 4xx status code +func (o *InternalV1OperationsVolumesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes delete forbidden response has a 5xx status code +func (o *InternalV1OperationsVolumesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes delete forbidden response a status code equal to that given +func (o *InternalV1OperationsVolumesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations volumes delete forbidden response +func (o *InternalV1OperationsVolumesDeleteForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsVolumesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsVolumesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsVolumesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesDeleteNotFound creates a InternalV1OperationsVolumesDeleteNotFound with default headers values +func NewInternalV1OperationsVolumesDeleteNotFound() *InternalV1OperationsVolumesDeleteNotFound { + return &InternalV1OperationsVolumesDeleteNotFound{} +} + +/* +InternalV1OperationsVolumesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1OperationsVolumesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes delete not found response has a 2xx status code +func (o *InternalV1OperationsVolumesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes delete not found response has a 3xx status code +func (o *InternalV1OperationsVolumesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes delete not found response has a 4xx status code +func (o *InternalV1OperationsVolumesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes delete not found response has a 5xx status code +func (o *InternalV1OperationsVolumesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes delete not found response a status code equal to that given +func (o *InternalV1OperationsVolumesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 operations volumes delete not found response +func (o *InternalV1OperationsVolumesDeleteNotFound) Code() int { + return 404 +} + +func (o *InternalV1OperationsVolumesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsVolumesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteNotFound %s", 404, payload) +} + +func (o *InternalV1OperationsVolumesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesDeleteGone creates a InternalV1OperationsVolumesDeleteGone with default headers values +func NewInternalV1OperationsVolumesDeleteGone() *InternalV1OperationsVolumesDeleteGone { + return &InternalV1OperationsVolumesDeleteGone{} +} + +/* +InternalV1OperationsVolumesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type InternalV1OperationsVolumesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes delete gone response has a 2xx status code +func (o *InternalV1OperationsVolumesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes delete gone response has a 3xx status code +func (o *InternalV1OperationsVolumesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes delete gone response has a 4xx status code +func (o *InternalV1OperationsVolumesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes delete gone response has a 5xx status code +func (o *InternalV1OperationsVolumesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes delete gone response a status code equal to that given +func (o *InternalV1OperationsVolumesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the internal v1 operations volumes delete gone response +func (o *InternalV1OperationsVolumesDeleteGone) Code() int { + return 410 +} + +func (o *InternalV1OperationsVolumesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsVolumesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteGone %s", 410, payload) +} + +func (o *InternalV1OperationsVolumesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesDeleteTooManyRequests creates a InternalV1OperationsVolumesDeleteTooManyRequests with default headers values +func NewInternalV1OperationsVolumesDeleteTooManyRequests() *InternalV1OperationsVolumesDeleteTooManyRequests { + return &InternalV1OperationsVolumesDeleteTooManyRequests{} +} + +/* +InternalV1OperationsVolumesDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsVolumesDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes delete too many requests response has a 2xx status code +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes delete too many requests response has a 3xx status code +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes delete too many requests response has a 4xx status code +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes delete too many requests response has a 5xx status code +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes delete too many requests response a status code equal to that given +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations volumes delete too many requests response +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesDeleteInternalServerError creates a InternalV1OperationsVolumesDeleteInternalServerError with default headers values +func NewInternalV1OperationsVolumesDeleteInternalServerError() *InternalV1OperationsVolumesDeleteInternalServerError { + return &InternalV1OperationsVolumesDeleteInternalServerError{} +} + +/* +InternalV1OperationsVolumesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsVolumesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes delete internal server error response has a 2xx status code +func (o *InternalV1OperationsVolumesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes delete internal server error response has a 3xx status code +func (o *InternalV1OperationsVolumesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes delete internal server error response has a 4xx status code +func (o *InternalV1OperationsVolumesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations volumes delete internal server error response has a 5xx status code +func (o *InternalV1OperationsVolumesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations volumes delete internal server error response a status code equal to that given +func (o *InternalV1OperationsVolumesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations volumes delete internal server error response +func (o *InternalV1OperationsVolumesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsVolumesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsVolumesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/operations/volumes/{resource_crn}][%d] internalV1OperationsVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsVolumesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_post_parameters.go new file mode 100644 index 000000000..3eca0aefd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_post_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1OperationsVolumesPostParams creates a new InternalV1OperationsVolumesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1OperationsVolumesPostParams() *InternalV1OperationsVolumesPostParams { + return &InternalV1OperationsVolumesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1OperationsVolumesPostParamsWithTimeout creates a new InternalV1OperationsVolumesPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1OperationsVolumesPostParamsWithTimeout(timeout time.Duration) *InternalV1OperationsVolumesPostParams { + return &InternalV1OperationsVolumesPostParams{ + timeout: timeout, + } +} + +// NewInternalV1OperationsVolumesPostParamsWithContext creates a new InternalV1OperationsVolumesPostParams object +// with the ability to set a context for a request. +func NewInternalV1OperationsVolumesPostParamsWithContext(ctx context.Context) *InternalV1OperationsVolumesPostParams { + return &InternalV1OperationsVolumesPostParams{ + Context: ctx, + } +} + +// NewInternalV1OperationsVolumesPostParamsWithHTTPClient creates a new InternalV1OperationsVolumesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1OperationsVolumesPostParamsWithHTTPClient(client *http.Client) *InternalV1OperationsVolumesPostParams { + return &InternalV1OperationsVolumesPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1OperationsVolumesPostParams contains all the parameters to send to the API endpoint + + for the internal v1 operations volumes post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1OperationsVolumesPostParams struct { + + /* Authorization. + + Authentication of the service token + */ + Authorization string + + /* CRN. + + the CRN of the workspace + */ + CRN string + + /* IBMUserAuthorization. + + Authentication of the operation account user + */ + IBMUserAuthorization string + + /* Body. + + Parameters for creating Volume CRN + */ + Body *models.InternalOperationsRequest + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 operations volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsVolumesPostParams) WithDefaults() *InternalV1OperationsVolumesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 operations volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1OperationsVolumesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) WithTimeout(timeout time.Duration) *InternalV1OperationsVolumesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) WithContext(ctx context.Context) *InternalV1OperationsVolumesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) WithHTTPClient(client *http.Client) *InternalV1OperationsVolumesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAuthorization adds the authorization to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) WithAuthorization(authorization string) *InternalV1OperationsVolumesPostParams { + o.SetAuthorization(authorization) + return o +} + +// SetAuthorization adds the authorization to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) SetAuthorization(authorization string) { + o.Authorization = authorization +} + +// WithCRN adds the cRN to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) WithCRN(cRN string) *InternalV1OperationsVolumesPostParams { + o.SetCRN(cRN) + return o +} + +// SetCRN adds the cRN to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) SetCRN(cRN string) { + o.CRN = cRN +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1OperationsVolumesPostParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithBody adds the body to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) WithBody(body *models.InternalOperationsRequest) *InternalV1OperationsVolumesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 operations volumes post params +func (o *InternalV1OperationsVolumesPostParams) SetBody(body *models.InternalOperationsRequest) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1OperationsVolumesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param Authorization + if err := r.SetHeaderParam("Authorization", o.Authorization); err != nil { + return err + } + + // header param CRN + if err := r.SetHeaderParam("CRN", o.CRN); err != nil { + return err + } + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_post_responses.go new file mode 100644 index 000000000..04d0ee49d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes/internal_v1_operations_volumes_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_operations_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1OperationsVolumesPostReader is a Reader for the InternalV1OperationsVolumesPost structure. +type InternalV1OperationsVolumesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1OperationsVolumesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewInternalV1OperationsVolumesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1OperationsVolumesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1OperationsVolumesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1OperationsVolumesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewInternalV1OperationsVolumesPostTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1OperationsVolumesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/operations/volumes] internal.v1.operations.volumes.post", response, response.Code()) + } +} + +// NewInternalV1OperationsVolumesPostCreated creates a InternalV1OperationsVolumesPostCreated with default headers values +func NewInternalV1OperationsVolumesPostCreated() *InternalV1OperationsVolumesPostCreated { + return &InternalV1OperationsVolumesPostCreated{} +} + +/* +InternalV1OperationsVolumesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type InternalV1OperationsVolumesPostCreated struct { + Payload *models.InternalOperationsResponse +} + +// IsSuccess returns true when this internal v1 operations volumes post created response has a 2xx status code +func (o *InternalV1OperationsVolumesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 operations volumes post created response has a 3xx status code +func (o *InternalV1OperationsVolumesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes post created response has a 4xx status code +func (o *InternalV1OperationsVolumesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations volumes post created response has a 5xx status code +func (o *InternalV1OperationsVolumesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes post created response a status code equal to that given +func (o *InternalV1OperationsVolumesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the internal v1 operations volumes post created response +func (o *InternalV1OperationsVolumesPostCreated) Code() int { + return 201 +} + +func (o *InternalV1OperationsVolumesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsVolumesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostCreated %s", 201, payload) +} + +func (o *InternalV1OperationsVolumesPostCreated) GetPayload() *models.InternalOperationsResponse { + return o.Payload +} + +func (o *InternalV1OperationsVolumesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.InternalOperationsResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesPostBadRequest creates a InternalV1OperationsVolumesPostBadRequest with default headers values +func NewInternalV1OperationsVolumesPostBadRequest() *InternalV1OperationsVolumesPostBadRequest { + return &InternalV1OperationsVolumesPostBadRequest{} +} + +/* +InternalV1OperationsVolumesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1OperationsVolumesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes post bad request response has a 2xx status code +func (o *InternalV1OperationsVolumesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes post bad request response has a 3xx status code +func (o *InternalV1OperationsVolumesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes post bad request response has a 4xx status code +func (o *InternalV1OperationsVolumesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes post bad request response has a 5xx status code +func (o *InternalV1OperationsVolumesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes post bad request response a status code equal to that given +func (o *InternalV1OperationsVolumesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 operations volumes post bad request response +func (o *InternalV1OperationsVolumesPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1OperationsVolumesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsVolumesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostBadRequest %s", 400, payload) +} + +func (o *InternalV1OperationsVolumesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesPostUnauthorized creates a InternalV1OperationsVolumesPostUnauthorized with default headers values +func NewInternalV1OperationsVolumesPostUnauthorized() *InternalV1OperationsVolumesPostUnauthorized { + return &InternalV1OperationsVolumesPostUnauthorized{} +} + +/* +InternalV1OperationsVolumesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1OperationsVolumesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes post unauthorized response has a 2xx status code +func (o *InternalV1OperationsVolumesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes post unauthorized response has a 3xx status code +func (o *InternalV1OperationsVolumesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes post unauthorized response has a 4xx status code +func (o *InternalV1OperationsVolumesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes post unauthorized response has a 5xx status code +func (o *InternalV1OperationsVolumesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes post unauthorized response a status code equal to that given +func (o *InternalV1OperationsVolumesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 operations volumes post unauthorized response +func (o *InternalV1OperationsVolumesPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1OperationsVolumesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsVolumesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1OperationsVolumesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesPostForbidden creates a InternalV1OperationsVolumesPostForbidden with default headers values +func NewInternalV1OperationsVolumesPostForbidden() *InternalV1OperationsVolumesPostForbidden { + return &InternalV1OperationsVolumesPostForbidden{} +} + +/* +InternalV1OperationsVolumesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1OperationsVolumesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes post forbidden response has a 2xx status code +func (o *InternalV1OperationsVolumesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes post forbidden response has a 3xx status code +func (o *InternalV1OperationsVolumesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes post forbidden response has a 4xx status code +func (o *InternalV1OperationsVolumesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes post forbidden response has a 5xx status code +func (o *InternalV1OperationsVolumesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes post forbidden response a status code equal to that given +func (o *InternalV1OperationsVolumesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 operations volumes post forbidden response +func (o *InternalV1OperationsVolumesPostForbidden) Code() int { + return 403 +} + +func (o *InternalV1OperationsVolumesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsVolumesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostForbidden %s", 403, payload) +} + +func (o *InternalV1OperationsVolumesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesPostTooManyRequests creates a InternalV1OperationsVolumesPostTooManyRequests with default headers values +func NewInternalV1OperationsVolumesPostTooManyRequests() *InternalV1OperationsVolumesPostTooManyRequests { + return &InternalV1OperationsVolumesPostTooManyRequests{} +} + +/* +InternalV1OperationsVolumesPostTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type InternalV1OperationsVolumesPostTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes post too many requests response has a 2xx status code +func (o *InternalV1OperationsVolumesPostTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes post too many requests response has a 3xx status code +func (o *InternalV1OperationsVolumesPostTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes post too many requests response has a 4xx status code +func (o *InternalV1OperationsVolumesPostTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 operations volumes post too many requests response has a 5xx status code +func (o *InternalV1OperationsVolumesPostTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 operations volumes post too many requests response a status code equal to that given +func (o *InternalV1OperationsVolumesPostTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the internal v1 operations volumes post too many requests response +func (o *InternalV1OperationsVolumesPostTooManyRequests) Code() int { + return 429 +} + +func (o *InternalV1OperationsVolumesPostTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsVolumesPostTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostTooManyRequests %s", 429, payload) +} + +func (o *InternalV1OperationsVolumesPostTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesPostTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1OperationsVolumesPostInternalServerError creates a InternalV1OperationsVolumesPostInternalServerError with default headers values +func NewInternalV1OperationsVolumesPostInternalServerError() *InternalV1OperationsVolumesPostInternalServerError { + return &InternalV1OperationsVolumesPostInternalServerError{} +} + +/* +InternalV1OperationsVolumesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1OperationsVolumesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 operations volumes post internal server error response has a 2xx status code +func (o *InternalV1OperationsVolumesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 operations volumes post internal server error response has a 3xx status code +func (o *InternalV1OperationsVolumesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 operations volumes post internal server error response has a 4xx status code +func (o *InternalV1OperationsVolumesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 operations volumes post internal server error response has a 5xx status code +func (o *InternalV1OperationsVolumesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 operations volumes post internal server error response a status code equal to that given +func (o *InternalV1OperationsVolumesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 operations volumes post internal server error response +func (o *InternalV1OperationsVolumesPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1OperationsVolumesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsVolumesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/operations/volumes][%d] internalV1OperationsVolumesPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1OperationsVolumesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1OperationsVolumesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_powervs_instances_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_powervs_instances_client.go new file mode 100644 index 000000000..d4aaac553 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_powervs_instances_client.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal power v s instances API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal power v s instances API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal power v s instances API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal power v s instances API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1PowervsInstancesGet(params *InternalV1PowervsInstancesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsInstancesGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1PowervsInstancesGet gets list of power v s cloud instances +*/ +func (a *Client) InternalV1PowervsInstancesGet(params *InternalV1PowervsInstancesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsInstancesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1PowervsInstancesGetParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.powervs.instances.get", + Method: "GET", + PathPattern: "/internal/v1/powervs/instances", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1PowervsInstancesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1PowervsInstancesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.powervs.instances.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_v1_powervs_instances_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_v1_powervs_instances_get_parameters.go new file mode 100644 index 000000000..d70686db8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_v1_powervs_instances_get_parameters.go @@ -0,0 +1,163 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1PowervsInstancesGetParams creates a new InternalV1PowervsInstancesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1PowervsInstancesGetParams() *InternalV1PowervsInstancesGetParams { + return &InternalV1PowervsInstancesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1PowervsInstancesGetParamsWithTimeout creates a new InternalV1PowervsInstancesGetParams object +// with the ability to set a timeout on a request. +func NewInternalV1PowervsInstancesGetParamsWithTimeout(timeout time.Duration) *InternalV1PowervsInstancesGetParams { + return &InternalV1PowervsInstancesGetParams{ + timeout: timeout, + } +} + +// NewInternalV1PowervsInstancesGetParamsWithContext creates a new InternalV1PowervsInstancesGetParams object +// with the ability to set a context for a request. +func NewInternalV1PowervsInstancesGetParamsWithContext(ctx context.Context) *InternalV1PowervsInstancesGetParams { + return &InternalV1PowervsInstancesGetParams{ + Context: ctx, + } +} + +// NewInternalV1PowervsInstancesGetParamsWithHTTPClient creates a new InternalV1PowervsInstancesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1PowervsInstancesGetParamsWithHTTPClient(client *http.Client) *InternalV1PowervsInstancesGetParams { + return &InternalV1PowervsInstancesGetParams{ + HTTPClient: client, + } +} + +/* +InternalV1PowervsInstancesGetParams contains all the parameters to send to the API endpoint + + for the internal v1 powervs instances get operation. + + Typically these are written to a http.Request. +*/ +type InternalV1PowervsInstancesGetParams struct { + + /* PowervsLocation. + + The PowerVS Location + */ + PowervsLocation *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 powervs instances get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsInstancesGetParams) WithDefaults() *InternalV1PowervsInstancesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 powervs instances get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsInstancesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 powervs instances get params +func (o *InternalV1PowervsInstancesGetParams) WithTimeout(timeout time.Duration) *InternalV1PowervsInstancesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 powervs instances get params +func (o *InternalV1PowervsInstancesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 powervs instances get params +func (o *InternalV1PowervsInstancesGetParams) WithContext(ctx context.Context) *InternalV1PowervsInstancesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 powervs instances get params +func (o *InternalV1PowervsInstancesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 powervs instances get params +func (o *InternalV1PowervsInstancesGetParams) WithHTTPClient(client *http.Client) *InternalV1PowervsInstancesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 powervs instances get params +func (o *InternalV1PowervsInstancesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithPowervsLocation adds the powervsLocation to the internal v1 powervs instances get params +func (o *InternalV1PowervsInstancesGetParams) WithPowervsLocation(powervsLocation *string) *InternalV1PowervsInstancesGetParams { + o.SetPowervsLocation(powervsLocation) + return o +} + +// SetPowervsLocation adds the powervsLocation to the internal v1 powervs instances get params +func (o *InternalV1PowervsInstancesGetParams) SetPowervsLocation(powervsLocation *string) { + o.PowervsLocation = powervsLocation +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1PowervsInstancesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.PowervsLocation != nil { + + // query param powervs_location + var qrPowervsLocation string + + if o.PowervsLocation != nil { + qrPowervsLocation = *o.PowervsLocation + } + qPowervsLocation := qrPowervsLocation + if qPowervsLocation != "" { + + if err := r.SetQueryParam("powervs_location", qPowervsLocation); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_v1_powervs_instances_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_v1_powervs_instances_get_responses.go new file mode 100644 index 000000000..5730357c0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances/internal_v1_powervs_instances_get_responses.go @@ -0,0 +1,259 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1PowervsInstancesGetReader is a Reader for the InternalV1PowervsInstancesGet structure. +type InternalV1PowervsInstancesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1PowervsInstancesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1PowervsInstancesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 403: + result := NewInternalV1PowervsInstancesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1PowervsInstancesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /internal/v1/powervs/instances] internal.v1.powervs.instances.get", response, response.Code()) + } +} + +// NewInternalV1PowervsInstancesGetOK creates a InternalV1PowervsInstancesGetOK with default headers values +func NewInternalV1PowervsInstancesGetOK() *InternalV1PowervsInstancesGetOK { + return &InternalV1PowervsInstancesGetOK{} +} + +/* +InternalV1PowervsInstancesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1PowervsInstancesGetOK struct { + Payload *models.PowerVSInstances +} + +// IsSuccess returns true when this internal v1 powervs instances get o k response has a 2xx status code +func (o *InternalV1PowervsInstancesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 powervs instances get o k response has a 3xx status code +func (o *InternalV1PowervsInstancesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs instances get o k response has a 4xx status code +func (o *InternalV1PowervsInstancesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs instances get o k response has a 5xx status code +func (o *InternalV1PowervsInstancesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs instances get o k response a status code equal to that given +func (o *InternalV1PowervsInstancesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 powervs instances get o k response +func (o *InternalV1PowervsInstancesGetOK) Code() int { + return 200 +} + +func (o *InternalV1PowervsInstancesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/instances][%d] internalV1PowervsInstancesGetOK %s", 200, payload) +} + +func (o *InternalV1PowervsInstancesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/instances][%d] internalV1PowervsInstancesGetOK %s", 200, payload) +} + +func (o *InternalV1PowervsInstancesGetOK) GetPayload() *models.PowerVSInstances { + return o.Payload +} + +func (o *InternalV1PowervsInstancesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PowerVSInstances) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsInstancesGetForbidden creates a InternalV1PowervsInstancesGetForbidden with default headers values +func NewInternalV1PowervsInstancesGetForbidden() *InternalV1PowervsInstancesGetForbidden { + return &InternalV1PowervsInstancesGetForbidden{} +} + +/* +InternalV1PowervsInstancesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1PowervsInstancesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs instances get forbidden response has a 2xx status code +func (o *InternalV1PowervsInstancesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs instances get forbidden response has a 3xx status code +func (o *InternalV1PowervsInstancesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs instances get forbidden response has a 4xx status code +func (o *InternalV1PowervsInstancesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs instances get forbidden response has a 5xx status code +func (o *InternalV1PowervsInstancesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs instances get forbidden response a status code equal to that given +func (o *InternalV1PowervsInstancesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 powervs instances get forbidden response +func (o *InternalV1PowervsInstancesGetForbidden) Code() int { + return 403 +} + +func (o *InternalV1PowervsInstancesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/instances][%d] internalV1PowervsInstancesGetForbidden %s", 403, payload) +} + +func (o *InternalV1PowervsInstancesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/instances][%d] internalV1PowervsInstancesGetForbidden %s", 403, payload) +} + +func (o *InternalV1PowervsInstancesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsInstancesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsInstancesGetInternalServerError creates a InternalV1PowervsInstancesGetInternalServerError with default headers values +func NewInternalV1PowervsInstancesGetInternalServerError() *InternalV1PowervsInstancesGetInternalServerError { + return &InternalV1PowervsInstancesGetInternalServerError{} +} + +/* +InternalV1PowervsInstancesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1PowervsInstancesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs instances get internal server error response has a 2xx status code +func (o *InternalV1PowervsInstancesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs instances get internal server error response has a 3xx status code +func (o *InternalV1PowervsInstancesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs instances get internal server error response has a 4xx status code +func (o *InternalV1PowervsInstancesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs instances get internal server error response has a 5xx status code +func (o *InternalV1PowervsInstancesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 powervs instances get internal server error response a status code equal to that given +func (o *InternalV1PowervsInstancesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 powervs instances get internal server error response +func (o *InternalV1PowervsInstancesGetInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1PowervsInstancesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/instances][%d] internalV1PowervsInstancesGetInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsInstancesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/instances][%d] internalV1PowervsInstancesGetInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsInstancesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsInstancesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_powervs_locations_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_powervs_locations_client.go new file mode 100644 index 000000000..f60aee0ad --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_powervs_locations_client.go @@ -0,0 +1,249 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal power v s locations API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal power v s locations API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal power v s locations API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal power v s locations API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1PowervsLocationsActivatePut(params *InternalV1PowervsLocationsActivatePutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsLocationsActivatePutOK, error) + + InternalV1PowervsLocationsTagDelete(params *InternalV1PowervsLocationsTagDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsLocationsTagDeleteOK, error) + + InternalV1PowervsLocationsTagPost(params *InternalV1PowervsLocationsTagPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsLocationsTagPostOK, error) + + InternalV1PowervsLocationsTransitgatewayGet(params *InternalV1PowervsLocationsTransitgatewayGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsLocationsTransitgatewayGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1PowervsLocationsActivatePut activates a power v s on prem location +*/ +func (a *Client) InternalV1PowervsLocationsActivatePut(params *InternalV1PowervsLocationsActivatePutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsLocationsActivatePutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1PowervsLocationsActivatePutParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.powervs.locations.activate.put", + Method: "PUT", + PathPattern: "/internal/v1/powervs/locations/activate", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1PowervsLocationsActivatePutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1PowervsLocationsActivatePutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.powervs.locations.activate.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1PowervsLocationsTagDelete deletes a power satellite tag +*/ +func (a *Client) InternalV1PowervsLocationsTagDelete(params *InternalV1PowervsLocationsTagDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsLocationsTagDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1PowervsLocationsTagDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.powervs.locations.tag.delete", + Method: "DELETE", + PathPattern: "/internal/v1/powervs/locations/tag", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1PowervsLocationsTagDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1PowervsLocationsTagDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.powervs.locations.tag.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1PowervsLocationsTagPost adds a power satellite tag +*/ +func (a *Client) InternalV1PowervsLocationsTagPost(params *InternalV1PowervsLocationsTagPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsLocationsTagPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1PowervsLocationsTagPostParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.powervs.locations.tag.post", + Method: "POST", + PathPattern: "/internal/v1/powervs/locations/tag", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1PowervsLocationsTagPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1PowervsLocationsTagPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.powervs.locations.tag.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1PowervsLocationsTransitgatewayGet gets list of p e r enabled power v s locations +*/ +func (a *Client) InternalV1PowervsLocationsTransitgatewayGet(params *InternalV1PowervsLocationsTransitgatewayGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1PowervsLocationsTransitgatewayGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1PowervsLocationsTransitgatewayGetParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.powervs.locations.transitgateway.get", + Method: "GET", + PathPattern: "/internal/v1/powervs/locations/transit-gateway", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1PowervsLocationsTransitgatewayGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1PowervsLocationsTransitgatewayGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.powervs.locations.transitgateway.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_activate_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_activate_put_parameters.go new file mode 100644 index 000000000..3ab0388e1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_activate_put_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1PowervsLocationsActivatePutParams creates a new InternalV1PowervsLocationsActivatePutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1PowervsLocationsActivatePutParams() *InternalV1PowervsLocationsActivatePutParams { + return &InternalV1PowervsLocationsActivatePutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1PowervsLocationsActivatePutParamsWithTimeout creates a new InternalV1PowervsLocationsActivatePutParams object +// with the ability to set a timeout on a request. +func NewInternalV1PowervsLocationsActivatePutParamsWithTimeout(timeout time.Duration) *InternalV1PowervsLocationsActivatePutParams { + return &InternalV1PowervsLocationsActivatePutParams{ + timeout: timeout, + } +} + +// NewInternalV1PowervsLocationsActivatePutParamsWithContext creates a new InternalV1PowervsLocationsActivatePutParams object +// with the ability to set a context for a request. +func NewInternalV1PowervsLocationsActivatePutParamsWithContext(ctx context.Context) *InternalV1PowervsLocationsActivatePutParams { + return &InternalV1PowervsLocationsActivatePutParams{ + Context: ctx, + } +} + +// NewInternalV1PowervsLocationsActivatePutParamsWithHTTPClient creates a new InternalV1PowervsLocationsActivatePutParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1PowervsLocationsActivatePutParamsWithHTTPClient(client *http.Client) *InternalV1PowervsLocationsActivatePutParams { + return &InternalV1PowervsLocationsActivatePutParams{ + HTTPClient: client, + } +} + +/* +InternalV1PowervsLocationsActivatePutParams contains all the parameters to send to the API endpoint + + for the internal v1 powervs locations activate put operation. + + Typically these are written to a http.Request. +*/ +type InternalV1PowervsLocationsActivatePutParams struct { + + /* Body. + + Parameters for activating a satellite location + */ + Body *models.SatelliteRegistration + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 powervs locations activate put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsLocationsActivatePutParams) WithDefaults() *InternalV1PowervsLocationsActivatePutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 powervs locations activate put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsLocationsActivatePutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 powervs locations activate put params +func (o *InternalV1PowervsLocationsActivatePutParams) WithTimeout(timeout time.Duration) *InternalV1PowervsLocationsActivatePutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 powervs locations activate put params +func (o *InternalV1PowervsLocationsActivatePutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 powervs locations activate put params +func (o *InternalV1PowervsLocationsActivatePutParams) WithContext(ctx context.Context) *InternalV1PowervsLocationsActivatePutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 powervs locations activate put params +func (o *InternalV1PowervsLocationsActivatePutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 powervs locations activate put params +func (o *InternalV1PowervsLocationsActivatePutParams) WithHTTPClient(client *http.Client) *InternalV1PowervsLocationsActivatePutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 powervs locations activate put params +func (o *InternalV1PowervsLocationsActivatePutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the internal v1 powervs locations activate put params +func (o *InternalV1PowervsLocationsActivatePutParams) WithBody(body *models.SatelliteRegistration) *InternalV1PowervsLocationsActivatePutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 powervs locations activate put params +func (o *InternalV1PowervsLocationsActivatePutParams) SetBody(body *models.SatelliteRegistration) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1PowervsLocationsActivatePutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_activate_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_activate_put_responses.go new file mode 100644 index 000000000..b067adf88 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_activate_put_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1PowervsLocationsActivatePutReader is a Reader for the InternalV1PowervsLocationsActivatePut structure. +type InternalV1PowervsLocationsActivatePutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1PowervsLocationsActivatePutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1PowervsLocationsActivatePutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1PowervsLocationsActivatePutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1PowervsLocationsActivatePutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewInternalV1PowervsLocationsActivatePutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1PowervsLocationsActivatePutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /internal/v1/powervs/locations/activate] internal.v1.powervs.locations.activate.put", response, response.Code()) + } +} + +// NewInternalV1PowervsLocationsActivatePutOK creates a InternalV1PowervsLocationsActivatePutOK with default headers values +func NewInternalV1PowervsLocationsActivatePutOK() *InternalV1PowervsLocationsActivatePutOK { + return &InternalV1PowervsLocationsActivatePutOK{} +} + +/* +InternalV1PowervsLocationsActivatePutOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1PowervsLocationsActivatePutOK struct { + Payload *models.SatelliteOrder +} + +// IsSuccess returns true when this internal v1 powervs locations activate put o k response has a 2xx status code +func (o *InternalV1PowervsLocationsActivatePutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 powervs locations activate put o k response has a 3xx status code +func (o *InternalV1PowervsLocationsActivatePutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations activate put o k response has a 4xx status code +func (o *InternalV1PowervsLocationsActivatePutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs locations activate put o k response has a 5xx status code +func (o *InternalV1PowervsLocationsActivatePutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations activate put o k response a status code equal to that given +func (o *InternalV1PowervsLocationsActivatePutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 powervs locations activate put o k response +func (o *InternalV1PowervsLocationsActivatePutOK) Code() int { + return 200 +} + +func (o *InternalV1PowervsLocationsActivatePutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutOK %s", 200, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutOK %s", 200, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutOK) GetPayload() *models.SatelliteOrder { + return o.Payload +} + +func (o *InternalV1PowervsLocationsActivatePutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SatelliteOrder) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsActivatePutBadRequest creates a InternalV1PowervsLocationsActivatePutBadRequest with default headers values +func NewInternalV1PowervsLocationsActivatePutBadRequest() *InternalV1PowervsLocationsActivatePutBadRequest { + return &InternalV1PowervsLocationsActivatePutBadRequest{} +} + +/* +InternalV1PowervsLocationsActivatePutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1PowervsLocationsActivatePutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations activate put bad request response has a 2xx status code +func (o *InternalV1PowervsLocationsActivatePutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations activate put bad request response has a 3xx status code +func (o *InternalV1PowervsLocationsActivatePutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations activate put bad request response has a 4xx status code +func (o *InternalV1PowervsLocationsActivatePutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations activate put bad request response has a 5xx status code +func (o *InternalV1PowervsLocationsActivatePutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations activate put bad request response a status code equal to that given +func (o *InternalV1PowervsLocationsActivatePutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 powervs locations activate put bad request response +func (o *InternalV1PowervsLocationsActivatePutBadRequest) Code() int { + return 400 +} + +func (o *InternalV1PowervsLocationsActivatePutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutBadRequest %s", 400, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutBadRequest %s", 400, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsActivatePutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsActivatePutUnauthorized creates a InternalV1PowervsLocationsActivatePutUnauthorized with default headers values +func NewInternalV1PowervsLocationsActivatePutUnauthorized() *InternalV1PowervsLocationsActivatePutUnauthorized { + return &InternalV1PowervsLocationsActivatePutUnauthorized{} +} + +/* +InternalV1PowervsLocationsActivatePutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1PowervsLocationsActivatePutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations activate put unauthorized response has a 2xx status code +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations activate put unauthorized response has a 3xx status code +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations activate put unauthorized response has a 4xx status code +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations activate put unauthorized response has a 5xx status code +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations activate put unauthorized response a status code equal to that given +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 powervs locations activate put unauthorized response +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutUnauthorized %s", 401, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutUnauthorized %s", 401, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsActivatePutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsActivatePutUnprocessableEntity creates a InternalV1PowervsLocationsActivatePutUnprocessableEntity with default headers values +func NewInternalV1PowervsLocationsActivatePutUnprocessableEntity() *InternalV1PowervsLocationsActivatePutUnprocessableEntity { + return &InternalV1PowervsLocationsActivatePutUnprocessableEntity{} +} + +/* +InternalV1PowervsLocationsActivatePutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type InternalV1PowervsLocationsActivatePutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations activate put unprocessable entity response has a 2xx status code +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations activate put unprocessable entity response has a 3xx status code +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations activate put unprocessable entity response has a 4xx status code +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations activate put unprocessable entity response has a 5xx status code +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations activate put unprocessable entity response a status code equal to that given +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the internal v1 powervs locations activate put unprocessable entity response +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) Code() int { + return 422 +} + +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutUnprocessableEntity %s", 422, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutUnprocessableEntity %s", 422, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsActivatePutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsActivatePutInternalServerError creates a InternalV1PowervsLocationsActivatePutInternalServerError with default headers values +func NewInternalV1PowervsLocationsActivatePutInternalServerError() *InternalV1PowervsLocationsActivatePutInternalServerError { + return &InternalV1PowervsLocationsActivatePutInternalServerError{} +} + +/* +InternalV1PowervsLocationsActivatePutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1PowervsLocationsActivatePutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations activate put internal server error response has a 2xx status code +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations activate put internal server error response has a 3xx status code +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations activate put internal server error response has a 4xx status code +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs locations activate put internal server error response has a 5xx status code +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 powervs locations activate put internal server error response a status code equal to that given +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 powervs locations activate put internal server error response +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/powervs/locations/activate][%d] internalV1PowervsLocationsActivatePutInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsActivatePutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_delete_parameters.go new file mode 100644 index 000000000..f3f1f0d6d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_delete_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1PowervsLocationsTagDeleteParams creates a new InternalV1PowervsLocationsTagDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1PowervsLocationsTagDeleteParams() *InternalV1PowervsLocationsTagDeleteParams { + return &InternalV1PowervsLocationsTagDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1PowervsLocationsTagDeleteParamsWithTimeout creates a new InternalV1PowervsLocationsTagDeleteParams object +// with the ability to set a timeout on a request. +func NewInternalV1PowervsLocationsTagDeleteParamsWithTimeout(timeout time.Duration) *InternalV1PowervsLocationsTagDeleteParams { + return &InternalV1PowervsLocationsTagDeleteParams{ + timeout: timeout, + } +} + +// NewInternalV1PowervsLocationsTagDeleteParamsWithContext creates a new InternalV1PowervsLocationsTagDeleteParams object +// with the ability to set a context for a request. +func NewInternalV1PowervsLocationsTagDeleteParamsWithContext(ctx context.Context) *InternalV1PowervsLocationsTagDeleteParams { + return &InternalV1PowervsLocationsTagDeleteParams{ + Context: ctx, + } +} + +// NewInternalV1PowervsLocationsTagDeleteParamsWithHTTPClient creates a new InternalV1PowervsLocationsTagDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1PowervsLocationsTagDeleteParamsWithHTTPClient(client *http.Client) *InternalV1PowervsLocationsTagDeleteParams { + return &InternalV1PowervsLocationsTagDeleteParams{ + HTTPClient: client, + } +} + +/* +InternalV1PowervsLocationsTagDeleteParams contains all the parameters to send to the API endpoint + + for the internal v1 powervs locations tag delete operation. + + Typically these are written to a http.Request. +*/ +type InternalV1PowervsLocationsTagDeleteParams struct { + + /* Body. + + Parameters for tagging a satellite location + */ + Body *models.SatelliteTag + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 powervs locations tag delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsLocationsTagDeleteParams) WithDefaults() *InternalV1PowervsLocationsTagDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 powervs locations tag delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsLocationsTagDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 powervs locations tag delete params +func (o *InternalV1PowervsLocationsTagDeleteParams) WithTimeout(timeout time.Duration) *InternalV1PowervsLocationsTagDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 powervs locations tag delete params +func (o *InternalV1PowervsLocationsTagDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 powervs locations tag delete params +func (o *InternalV1PowervsLocationsTagDeleteParams) WithContext(ctx context.Context) *InternalV1PowervsLocationsTagDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 powervs locations tag delete params +func (o *InternalV1PowervsLocationsTagDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 powervs locations tag delete params +func (o *InternalV1PowervsLocationsTagDeleteParams) WithHTTPClient(client *http.Client) *InternalV1PowervsLocationsTagDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 powervs locations tag delete params +func (o *InternalV1PowervsLocationsTagDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the internal v1 powervs locations tag delete params +func (o *InternalV1PowervsLocationsTagDeleteParams) WithBody(body *models.SatelliteTag) *InternalV1PowervsLocationsTagDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 powervs locations tag delete params +func (o *InternalV1PowervsLocationsTagDeleteParams) SetBody(body *models.SatelliteTag) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1PowervsLocationsTagDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_delete_responses.go new file mode 100644 index 000000000..96a2f7039 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_delete_responses.go @@ -0,0 +1,397 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1PowervsLocationsTagDeleteReader is a Reader for the InternalV1PowervsLocationsTagDelete structure. +type InternalV1PowervsLocationsTagDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1PowervsLocationsTagDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1PowervsLocationsTagDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1PowervsLocationsTagDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1PowervsLocationsTagDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewInternalV1PowervsLocationsTagDeleteUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1PowervsLocationsTagDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /internal/v1/powervs/locations/tag] internal.v1.powervs.locations.tag.delete", response, response.Code()) + } +} + +// NewInternalV1PowervsLocationsTagDeleteOK creates a InternalV1PowervsLocationsTagDeleteOK with default headers values +func NewInternalV1PowervsLocationsTagDeleteOK() *InternalV1PowervsLocationsTagDeleteOK { + return &InternalV1PowervsLocationsTagDeleteOK{} +} + +/* +InternalV1PowervsLocationsTagDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1PowervsLocationsTagDeleteOK struct { +} + +// IsSuccess returns true when this internal v1 powervs locations tag delete o k response has a 2xx status code +func (o *InternalV1PowervsLocationsTagDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 powervs locations tag delete o k response has a 3xx status code +func (o *InternalV1PowervsLocationsTagDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag delete o k response has a 4xx status code +func (o *InternalV1PowervsLocationsTagDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs locations tag delete o k response has a 5xx status code +func (o *InternalV1PowervsLocationsTagDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations tag delete o k response a status code equal to that given +func (o *InternalV1PowervsLocationsTagDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 powervs locations tag delete o k response +func (o *InternalV1PowervsLocationsTagDeleteOK) Code() int { + return 200 +} + +func (o *InternalV1PowervsLocationsTagDeleteOK) Error() string { + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteOK", 200) +} + +func (o *InternalV1PowervsLocationsTagDeleteOK) String() string { + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteOK", 200) +} + +func (o *InternalV1PowervsLocationsTagDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1PowervsLocationsTagDeleteBadRequest creates a InternalV1PowervsLocationsTagDeleteBadRequest with default headers values +func NewInternalV1PowervsLocationsTagDeleteBadRequest() *InternalV1PowervsLocationsTagDeleteBadRequest { + return &InternalV1PowervsLocationsTagDeleteBadRequest{} +} + +/* +InternalV1PowervsLocationsTagDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1PowervsLocationsTagDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations tag delete bad request response has a 2xx status code +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations tag delete bad request response has a 3xx status code +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag delete bad request response has a 4xx status code +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations tag delete bad request response has a 5xx status code +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations tag delete bad request response a status code equal to that given +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 powervs locations tag delete bad request response +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) Code() int { + return 400 +} + +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteBadRequest %s", 400, payload) +} + +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTagDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsTagDeleteUnauthorized creates a InternalV1PowervsLocationsTagDeleteUnauthorized with default headers values +func NewInternalV1PowervsLocationsTagDeleteUnauthorized() *InternalV1PowervsLocationsTagDeleteUnauthorized { + return &InternalV1PowervsLocationsTagDeleteUnauthorized{} +} + +/* +InternalV1PowervsLocationsTagDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1PowervsLocationsTagDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations tag delete unauthorized response has a 2xx status code +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations tag delete unauthorized response has a 3xx status code +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag delete unauthorized response has a 4xx status code +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations tag delete unauthorized response has a 5xx status code +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations tag delete unauthorized response a status code equal to that given +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 powervs locations tag delete unauthorized response +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteUnauthorized %s", 401, payload) +} + +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTagDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsTagDeleteUnprocessableEntity creates a InternalV1PowervsLocationsTagDeleteUnprocessableEntity with default headers values +func NewInternalV1PowervsLocationsTagDeleteUnprocessableEntity() *InternalV1PowervsLocationsTagDeleteUnprocessableEntity { + return &InternalV1PowervsLocationsTagDeleteUnprocessableEntity{} +} + +/* +InternalV1PowervsLocationsTagDeleteUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type InternalV1PowervsLocationsTagDeleteUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations tag delete unprocessable entity response has a 2xx status code +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations tag delete unprocessable entity response has a 3xx status code +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag delete unprocessable entity response has a 4xx status code +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations tag delete unprocessable entity response has a 5xx status code +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations tag delete unprocessable entity response a status code equal to that given +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the internal v1 powervs locations tag delete unprocessable entity response +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) Code() int { + return 422 +} + +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteUnprocessableEntity %s", 422, payload) +} + +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteUnprocessableEntity %s", 422, payload) +} + +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTagDeleteUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsTagDeleteInternalServerError creates a InternalV1PowervsLocationsTagDeleteInternalServerError with default headers values +func NewInternalV1PowervsLocationsTagDeleteInternalServerError() *InternalV1PowervsLocationsTagDeleteInternalServerError { + return &InternalV1PowervsLocationsTagDeleteInternalServerError{} +} + +/* +InternalV1PowervsLocationsTagDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1PowervsLocationsTagDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations tag delete internal server error response has a 2xx status code +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations tag delete internal server error response has a 3xx status code +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag delete internal server error response has a 4xx status code +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs locations tag delete internal server error response has a 5xx status code +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 powervs locations tag delete internal server error response a status code equal to that given +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 powervs locations tag delete internal server error response +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagDeleteInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTagDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_post_parameters.go new file mode 100644 index 000000000..e1930f9cc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1PowervsLocationsTagPostParams creates a new InternalV1PowervsLocationsTagPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1PowervsLocationsTagPostParams() *InternalV1PowervsLocationsTagPostParams { + return &InternalV1PowervsLocationsTagPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1PowervsLocationsTagPostParamsWithTimeout creates a new InternalV1PowervsLocationsTagPostParams object +// with the ability to set a timeout on a request. +func NewInternalV1PowervsLocationsTagPostParamsWithTimeout(timeout time.Duration) *InternalV1PowervsLocationsTagPostParams { + return &InternalV1PowervsLocationsTagPostParams{ + timeout: timeout, + } +} + +// NewInternalV1PowervsLocationsTagPostParamsWithContext creates a new InternalV1PowervsLocationsTagPostParams object +// with the ability to set a context for a request. +func NewInternalV1PowervsLocationsTagPostParamsWithContext(ctx context.Context) *InternalV1PowervsLocationsTagPostParams { + return &InternalV1PowervsLocationsTagPostParams{ + Context: ctx, + } +} + +// NewInternalV1PowervsLocationsTagPostParamsWithHTTPClient creates a new InternalV1PowervsLocationsTagPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1PowervsLocationsTagPostParamsWithHTTPClient(client *http.Client) *InternalV1PowervsLocationsTagPostParams { + return &InternalV1PowervsLocationsTagPostParams{ + HTTPClient: client, + } +} + +/* +InternalV1PowervsLocationsTagPostParams contains all the parameters to send to the API endpoint + + for the internal v1 powervs locations tag post operation. + + Typically these are written to a http.Request. +*/ +type InternalV1PowervsLocationsTagPostParams struct { + + /* Body. + + Parameters for tagging a satellite location + */ + Body *models.SatelliteTag + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 powervs locations tag post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsLocationsTagPostParams) WithDefaults() *InternalV1PowervsLocationsTagPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 powervs locations tag post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsLocationsTagPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 powervs locations tag post params +func (o *InternalV1PowervsLocationsTagPostParams) WithTimeout(timeout time.Duration) *InternalV1PowervsLocationsTagPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 powervs locations tag post params +func (o *InternalV1PowervsLocationsTagPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 powervs locations tag post params +func (o *InternalV1PowervsLocationsTagPostParams) WithContext(ctx context.Context) *InternalV1PowervsLocationsTagPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 powervs locations tag post params +func (o *InternalV1PowervsLocationsTagPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 powervs locations tag post params +func (o *InternalV1PowervsLocationsTagPostParams) WithHTTPClient(client *http.Client) *InternalV1PowervsLocationsTagPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 powervs locations tag post params +func (o *InternalV1PowervsLocationsTagPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the internal v1 powervs locations tag post params +func (o *InternalV1PowervsLocationsTagPostParams) WithBody(body *models.SatelliteTag) *InternalV1PowervsLocationsTagPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 powervs locations tag post params +func (o *InternalV1PowervsLocationsTagPostParams) SetBody(body *models.SatelliteTag) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1PowervsLocationsTagPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_post_responses.go new file mode 100644 index 000000000..40e717a2c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_tag_post_responses.go @@ -0,0 +1,397 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1PowervsLocationsTagPostReader is a Reader for the InternalV1PowervsLocationsTagPost structure. +type InternalV1PowervsLocationsTagPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1PowervsLocationsTagPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1PowervsLocationsTagPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1PowervsLocationsTagPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1PowervsLocationsTagPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewInternalV1PowervsLocationsTagPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1PowervsLocationsTagPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /internal/v1/powervs/locations/tag] internal.v1.powervs.locations.tag.post", response, response.Code()) + } +} + +// NewInternalV1PowervsLocationsTagPostOK creates a InternalV1PowervsLocationsTagPostOK with default headers values +func NewInternalV1PowervsLocationsTagPostOK() *InternalV1PowervsLocationsTagPostOK { + return &InternalV1PowervsLocationsTagPostOK{} +} + +/* +InternalV1PowervsLocationsTagPostOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1PowervsLocationsTagPostOK struct { +} + +// IsSuccess returns true when this internal v1 powervs locations tag post o k response has a 2xx status code +func (o *InternalV1PowervsLocationsTagPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 powervs locations tag post o k response has a 3xx status code +func (o *InternalV1PowervsLocationsTagPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag post o k response has a 4xx status code +func (o *InternalV1PowervsLocationsTagPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs locations tag post o k response has a 5xx status code +func (o *InternalV1PowervsLocationsTagPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations tag post o k response a status code equal to that given +func (o *InternalV1PowervsLocationsTagPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 powervs locations tag post o k response +func (o *InternalV1PowervsLocationsTagPostOK) Code() int { + return 200 +} + +func (o *InternalV1PowervsLocationsTagPostOK) Error() string { + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostOK", 200) +} + +func (o *InternalV1PowervsLocationsTagPostOK) String() string { + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostOK", 200) +} + +func (o *InternalV1PowervsLocationsTagPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewInternalV1PowervsLocationsTagPostBadRequest creates a InternalV1PowervsLocationsTagPostBadRequest with default headers values +func NewInternalV1PowervsLocationsTagPostBadRequest() *InternalV1PowervsLocationsTagPostBadRequest { + return &InternalV1PowervsLocationsTagPostBadRequest{} +} + +/* +InternalV1PowervsLocationsTagPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1PowervsLocationsTagPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations tag post bad request response has a 2xx status code +func (o *InternalV1PowervsLocationsTagPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations tag post bad request response has a 3xx status code +func (o *InternalV1PowervsLocationsTagPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag post bad request response has a 4xx status code +func (o *InternalV1PowervsLocationsTagPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations tag post bad request response has a 5xx status code +func (o *InternalV1PowervsLocationsTagPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations tag post bad request response a status code equal to that given +func (o *InternalV1PowervsLocationsTagPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 powervs locations tag post bad request response +func (o *InternalV1PowervsLocationsTagPostBadRequest) Code() int { + return 400 +} + +func (o *InternalV1PowervsLocationsTagPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostBadRequest %s", 400, payload) +} + +func (o *InternalV1PowervsLocationsTagPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostBadRequest %s", 400, payload) +} + +func (o *InternalV1PowervsLocationsTagPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTagPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsTagPostUnauthorized creates a InternalV1PowervsLocationsTagPostUnauthorized with default headers values +func NewInternalV1PowervsLocationsTagPostUnauthorized() *InternalV1PowervsLocationsTagPostUnauthorized { + return &InternalV1PowervsLocationsTagPostUnauthorized{} +} + +/* +InternalV1PowervsLocationsTagPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1PowervsLocationsTagPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations tag post unauthorized response has a 2xx status code +func (o *InternalV1PowervsLocationsTagPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations tag post unauthorized response has a 3xx status code +func (o *InternalV1PowervsLocationsTagPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag post unauthorized response has a 4xx status code +func (o *InternalV1PowervsLocationsTagPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations tag post unauthorized response has a 5xx status code +func (o *InternalV1PowervsLocationsTagPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations tag post unauthorized response a status code equal to that given +func (o *InternalV1PowervsLocationsTagPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 powervs locations tag post unauthorized response +func (o *InternalV1PowervsLocationsTagPostUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1PowervsLocationsTagPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1PowervsLocationsTagPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostUnauthorized %s", 401, payload) +} + +func (o *InternalV1PowervsLocationsTagPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTagPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsTagPostUnprocessableEntity creates a InternalV1PowervsLocationsTagPostUnprocessableEntity with default headers values +func NewInternalV1PowervsLocationsTagPostUnprocessableEntity() *InternalV1PowervsLocationsTagPostUnprocessableEntity { + return &InternalV1PowervsLocationsTagPostUnprocessableEntity{} +} + +/* +InternalV1PowervsLocationsTagPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type InternalV1PowervsLocationsTagPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations tag post unprocessable entity response has a 2xx status code +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations tag post unprocessable entity response has a 3xx status code +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag post unprocessable entity response has a 4xx status code +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations tag post unprocessable entity response has a 5xx status code +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations tag post unprocessable entity response a status code equal to that given +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the internal v1 powervs locations tag post unprocessable entity response +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostUnprocessableEntity %s", 422, payload) +} + +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostUnprocessableEntity %s", 422, payload) +} + +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTagPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsTagPostInternalServerError creates a InternalV1PowervsLocationsTagPostInternalServerError with default headers values +func NewInternalV1PowervsLocationsTagPostInternalServerError() *InternalV1PowervsLocationsTagPostInternalServerError { + return &InternalV1PowervsLocationsTagPostInternalServerError{} +} + +/* +InternalV1PowervsLocationsTagPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1PowervsLocationsTagPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations tag post internal server error response has a 2xx status code +func (o *InternalV1PowervsLocationsTagPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations tag post internal server error response has a 3xx status code +func (o *InternalV1PowervsLocationsTagPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations tag post internal server error response has a 4xx status code +func (o *InternalV1PowervsLocationsTagPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs locations tag post internal server error response has a 5xx status code +func (o *InternalV1PowervsLocationsTagPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 powervs locations tag post internal server error response a status code equal to that given +func (o *InternalV1PowervsLocationsTagPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 powervs locations tag post internal server error response +func (o *InternalV1PowervsLocationsTagPostInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1PowervsLocationsTagPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsLocationsTagPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /internal/v1/powervs/locations/tag][%d] internalV1PowervsLocationsTagPostInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsLocationsTagPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTagPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_transitgateway_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_transitgateway_get_parameters.go new file mode 100644 index 000000000..1de5554bd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_transitgateway_get_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1PowervsLocationsTransitgatewayGetParams creates a new InternalV1PowervsLocationsTransitgatewayGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1PowervsLocationsTransitgatewayGetParams() *InternalV1PowervsLocationsTransitgatewayGetParams { + return &InternalV1PowervsLocationsTransitgatewayGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1PowervsLocationsTransitgatewayGetParamsWithTimeout creates a new InternalV1PowervsLocationsTransitgatewayGetParams object +// with the ability to set a timeout on a request. +func NewInternalV1PowervsLocationsTransitgatewayGetParamsWithTimeout(timeout time.Duration) *InternalV1PowervsLocationsTransitgatewayGetParams { + return &InternalV1PowervsLocationsTransitgatewayGetParams{ + timeout: timeout, + } +} + +// NewInternalV1PowervsLocationsTransitgatewayGetParamsWithContext creates a new InternalV1PowervsLocationsTransitgatewayGetParams object +// with the ability to set a context for a request. +func NewInternalV1PowervsLocationsTransitgatewayGetParamsWithContext(ctx context.Context) *InternalV1PowervsLocationsTransitgatewayGetParams { + return &InternalV1PowervsLocationsTransitgatewayGetParams{ + Context: ctx, + } +} + +// NewInternalV1PowervsLocationsTransitgatewayGetParamsWithHTTPClient creates a new InternalV1PowervsLocationsTransitgatewayGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1PowervsLocationsTransitgatewayGetParamsWithHTTPClient(client *http.Client) *InternalV1PowervsLocationsTransitgatewayGetParams { + return &InternalV1PowervsLocationsTransitgatewayGetParams{ + HTTPClient: client, + } +} + +/* +InternalV1PowervsLocationsTransitgatewayGetParams contains all the parameters to send to the API endpoint + + for the internal v1 powervs locations transitgateway get operation. + + Typically these are written to a http.Request. +*/ +type InternalV1PowervsLocationsTransitgatewayGetParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 powervs locations transitgateway get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) WithDefaults() *InternalV1PowervsLocationsTransitgatewayGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 powervs locations transitgateway get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 powervs locations transitgateway get params +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) WithTimeout(timeout time.Duration) *InternalV1PowervsLocationsTransitgatewayGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 powervs locations transitgateway get params +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 powervs locations transitgateway get params +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) WithContext(ctx context.Context) *InternalV1PowervsLocationsTransitgatewayGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 powervs locations transitgateway get params +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 powervs locations transitgateway get params +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) WithHTTPClient(client *http.Client) *InternalV1PowervsLocationsTransitgatewayGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 powervs locations transitgateway get params +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1PowervsLocationsTransitgatewayGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_transitgateway_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_transitgateway_get_responses.go new file mode 100644 index 000000000..e2a13cd7b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations/internal_v1_powervs_locations_transitgateway_get_responses.go @@ -0,0 +1,259 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_power_v_s_locations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1PowervsLocationsTransitgatewayGetReader is a Reader for the InternalV1PowervsLocationsTransitgatewayGet structure. +type InternalV1PowervsLocationsTransitgatewayGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1PowervsLocationsTransitgatewayGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1PowervsLocationsTransitgatewayGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 403: + result := NewInternalV1PowervsLocationsTransitgatewayGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1PowervsLocationsTransitgatewayGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /internal/v1/powervs/locations/transit-gateway] internal.v1.powervs.locations.transitgateway.get", response, response.Code()) + } +} + +// NewInternalV1PowervsLocationsTransitgatewayGetOK creates a InternalV1PowervsLocationsTransitgatewayGetOK with default headers values +func NewInternalV1PowervsLocationsTransitgatewayGetOK() *InternalV1PowervsLocationsTransitgatewayGetOK { + return &InternalV1PowervsLocationsTransitgatewayGetOK{} +} + +/* +InternalV1PowervsLocationsTransitgatewayGetOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1PowervsLocationsTransitgatewayGetOK struct { + Payload *models.TransitGatewayLocations +} + +// IsSuccess returns true when this internal v1 powervs locations transitgateway get o k response has a 2xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 powervs locations transitgateway get o k response has a 3xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations transitgateway get o k response has a 4xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs locations transitgateway get o k response has a 5xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations transitgateway get o k response a status code equal to that given +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 powervs locations transitgateway get o k response +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) Code() int { + return 200 +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/locations/transit-gateway][%d] internalV1PowervsLocationsTransitgatewayGetOK %s", 200, payload) +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/locations/transit-gateway][%d] internalV1PowervsLocationsTransitgatewayGetOK %s", 200, payload) +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) GetPayload() *models.TransitGatewayLocations { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.TransitGatewayLocations) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsTransitgatewayGetForbidden creates a InternalV1PowervsLocationsTransitgatewayGetForbidden with default headers values +func NewInternalV1PowervsLocationsTransitgatewayGetForbidden() *InternalV1PowervsLocationsTransitgatewayGetForbidden { + return &InternalV1PowervsLocationsTransitgatewayGetForbidden{} +} + +/* +InternalV1PowervsLocationsTransitgatewayGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1PowervsLocationsTransitgatewayGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations transitgateway get forbidden response has a 2xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations transitgateway get forbidden response has a 3xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations transitgateway get forbidden response has a 4xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 powervs locations transitgateway get forbidden response has a 5xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 powervs locations transitgateway get forbidden response a status code equal to that given +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 powervs locations transitgateway get forbidden response +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) Code() int { + return 403 +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/locations/transit-gateway][%d] internalV1PowervsLocationsTransitgatewayGetForbidden %s", 403, payload) +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/locations/transit-gateway][%d] internalV1PowervsLocationsTransitgatewayGetForbidden %s", 403, payload) +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1PowervsLocationsTransitgatewayGetInternalServerError creates a InternalV1PowervsLocationsTransitgatewayGetInternalServerError with default headers values +func NewInternalV1PowervsLocationsTransitgatewayGetInternalServerError() *InternalV1PowervsLocationsTransitgatewayGetInternalServerError { + return &InternalV1PowervsLocationsTransitgatewayGetInternalServerError{} +} + +/* +InternalV1PowervsLocationsTransitgatewayGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1PowervsLocationsTransitgatewayGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 powervs locations transitgateway get internal server error response has a 2xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 powervs locations transitgateway get internal server error response has a 3xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 powervs locations transitgateway get internal server error response has a 4xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 powervs locations transitgateway get internal server error response has a 5xx status code +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 powervs locations transitgateway get internal server error response a status code equal to that given +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 powervs locations transitgateway get internal server error response +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/locations/transit-gateway][%d] internalV1PowervsLocationsTransitgatewayGetInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/powervs/locations/transit-gateway][%d] internalV1PowervsLocationsTransitgatewayGetInternalServerError %s", 500, payload) +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1PowervsLocationsTransitgatewayGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_storage_regions_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_storage_regions_client.go new file mode 100644 index 000000000..35234de3e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_storage_regions_client.go @@ -0,0 +1,295 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal storage regions API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal storage regions API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal storage regions API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal storage regions API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1StorageRegionsStoragePoolsGet(params *InternalV1StorageRegionsStoragePoolsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsStoragePoolsGetOK, error) + + InternalV1StorageRegionsStoragePoolsGetall(params *InternalV1StorageRegionsStoragePoolsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsStoragePoolsGetallOK, error) + + InternalV1StorageRegionsStoragePoolsPut(params *InternalV1StorageRegionsStoragePoolsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsStoragePoolsPutOK, error) + + InternalV1StorageRegionsThresholdsGet(params *InternalV1StorageRegionsThresholdsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsThresholdsGetOK, error) + + InternalV1StorageRegionsThresholdsPut(params *InternalV1StorageRegionsThresholdsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsThresholdsPutAccepted, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1StorageRegionsStoragePoolsGet gets the settings for given pool name +*/ +func (a *Client) InternalV1StorageRegionsStoragePoolsGet(params *InternalV1StorageRegionsStoragePoolsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsStoragePoolsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1StorageRegionsStoragePoolsGetParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.storage.regions.storage-pools.get", + Method: "GET", + PathPattern: "/internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1StorageRegionsStoragePoolsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1StorageRegionsStoragePoolsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.storage.regions.storage-pools.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1StorageRegionsStoragePoolsGetall gets the current storage pools settings for a region zone +*/ +func (a *Client) InternalV1StorageRegionsStoragePoolsGetall(params *InternalV1StorageRegionsStoragePoolsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsStoragePoolsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1StorageRegionsStoragePoolsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.storage.regions.storage-pools.getall", + Method: "GET", + PathPattern: "/internal/v1/storage/regions/{region_zone_id}/storage-pools", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1StorageRegionsStoragePoolsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1StorageRegionsStoragePoolsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.storage.regions.storage-pools.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1StorageRegionsStoragePoolsPut updates the settings for given pool name +*/ +func (a *Client) InternalV1StorageRegionsStoragePoolsPut(params *InternalV1StorageRegionsStoragePoolsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsStoragePoolsPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1StorageRegionsStoragePoolsPutParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.storage.regions.storage-pools.put", + Method: "PUT", + PathPattern: "/internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1StorageRegionsStoragePoolsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1StorageRegionsStoragePoolsPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.storage.regions.storage-pools.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1StorageRegionsThresholdsGet gets the current default threshold settings for a region zone +*/ +func (a *Client) InternalV1StorageRegionsThresholdsGet(params *InternalV1StorageRegionsThresholdsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsThresholdsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1StorageRegionsThresholdsGetParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.storage.regions.thresholds.get", + Method: "GET", + PathPattern: "/internal/v1/storage/regions/{region_zone_id}/thresholds", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1StorageRegionsThresholdsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1StorageRegionsThresholdsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.storage.regions.thresholds.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +InternalV1StorageRegionsThresholdsPut updates a default threshold setting for a region zone +*/ +func (a *Client) InternalV1StorageRegionsThresholdsPut(params *InternalV1StorageRegionsThresholdsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1StorageRegionsThresholdsPutAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1StorageRegionsThresholdsPutParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.storage.regions.thresholds.put", + Method: "PUT", + PathPattern: "/internal/v1/storage/regions/{region_zone_id}/thresholds", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1StorageRegionsThresholdsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1StorageRegionsThresholdsPutAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.storage.regions.thresholds.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_get_parameters.go new file mode 100644 index 000000000..a3c88e2af --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1StorageRegionsStoragePoolsGetParams creates a new InternalV1StorageRegionsStoragePoolsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1StorageRegionsStoragePoolsGetParams() *InternalV1StorageRegionsStoragePoolsGetParams { + return &InternalV1StorageRegionsStoragePoolsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1StorageRegionsStoragePoolsGetParamsWithTimeout creates a new InternalV1StorageRegionsStoragePoolsGetParams object +// with the ability to set a timeout on a request. +func NewInternalV1StorageRegionsStoragePoolsGetParamsWithTimeout(timeout time.Duration) *InternalV1StorageRegionsStoragePoolsGetParams { + return &InternalV1StorageRegionsStoragePoolsGetParams{ + timeout: timeout, + } +} + +// NewInternalV1StorageRegionsStoragePoolsGetParamsWithContext creates a new InternalV1StorageRegionsStoragePoolsGetParams object +// with the ability to set a context for a request. +func NewInternalV1StorageRegionsStoragePoolsGetParamsWithContext(ctx context.Context) *InternalV1StorageRegionsStoragePoolsGetParams { + return &InternalV1StorageRegionsStoragePoolsGetParams{ + Context: ctx, + } +} + +// NewInternalV1StorageRegionsStoragePoolsGetParamsWithHTTPClient creates a new InternalV1StorageRegionsStoragePoolsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1StorageRegionsStoragePoolsGetParamsWithHTTPClient(client *http.Client) *InternalV1StorageRegionsStoragePoolsGetParams { + return &InternalV1StorageRegionsStoragePoolsGetParams{ + HTTPClient: client, + } +} + +/* +InternalV1StorageRegionsStoragePoolsGetParams contains all the parameters to send to the API endpoint + + for the internal v1 storage regions storage pools get operation. + + Typically these are written to a http.Request. +*/ +type InternalV1StorageRegionsStoragePoolsGetParams struct { + + /* RegionZoneID. + + ID of a Power Cloud Region Zone + */ + RegionZoneID string + + /* StoragePoolName. + + Storage pool name + */ + StoragePoolName string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 storage regions storage pools get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsStoragePoolsGetParams) WithDefaults() *InternalV1StorageRegionsStoragePoolsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 storage regions storage pools get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsStoragePoolsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) WithTimeout(timeout time.Duration) *InternalV1StorageRegionsStoragePoolsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) WithContext(ctx context.Context) *InternalV1StorageRegionsStoragePoolsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) WithHTTPClient(client *http.Client) *InternalV1StorageRegionsStoragePoolsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithRegionZoneID adds the regionZoneID to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) WithRegionZoneID(regionZoneID string) *InternalV1StorageRegionsStoragePoolsGetParams { + o.SetRegionZoneID(regionZoneID) + return o +} + +// SetRegionZoneID adds the regionZoneId to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) SetRegionZoneID(regionZoneID string) { + o.RegionZoneID = regionZoneID +} + +// WithStoragePoolName adds the storagePoolName to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) WithStoragePoolName(storagePoolName string) *InternalV1StorageRegionsStoragePoolsGetParams { + o.SetStoragePoolName(storagePoolName) + return o +} + +// SetStoragePoolName adds the storagePoolName to the internal v1 storage regions storage pools get params +func (o *InternalV1StorageRegionsStoragePoolsGetParams) SetStoragePoolName(storagePoolName string) { + o.StoragePoolName = storagePoolName +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1StorageRegionsStoragePoolsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param region_zone_id + if err := r.SetPathParam("region_zone_id", o.RegionZoneID); err != nil { + return err + } + + // path param storage_pool_name + if err := r.SetPathParam("storage_pool_name", o.StoragePoolName); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_get_responses.go new file mode 100644 index 000000000..14739ecfe --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_get_responses.go @@ -0,0 +1,409 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1StorageRegionsStoragePoolsGetReader is a Reader for the InternalV1StorageRegionsStoragePoolsGet structure. +type InternalV1StorageRegionsStoragePoolsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1StorageRegionsStoragePoolsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1StorageRegionsStoragePoolsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewInternalV1StorageRegionsStoragePoolsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1StorageRegionsStoragePoolsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1StorageRegionsStoragePoolsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1StorageRegionsStoragePoolsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}] internal.v1.storage.regions.storage-pools.get", response, response.Code()) + } +} + +// NewInternalV1StorageRegionsStoragePoolsGetOK creates a InternalV1StorageRegionsStoragePoolsGetOK with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetOK() *InternalV1StorageRegionsStoragePoolsGetOK { + return &InternalV1StorageRegionsStoragePoolsGetOK{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1StorageRegionsStoragePoolsGetOK struct { + Payload models.StoragePools +} + +// IsSuccess returns true when this internal v1 storage regions storage pools get o k response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 storage regions storage pools get o k response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools get o k response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions storage pools get o k response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools get o k response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 storage regions storage pools get o k response +func (o *InternalV1StorageRegionsStoragePoolsGetOK) Code() int { + return 200 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetOK %s", 200, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetOK %s", 200, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetOK) GetPayload() models.StoragePools { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsGetUnauthorized creates a InternalV1StorageRegionsStoragePoolsGetUnauthorized with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetUnauthorized() *InternalV1StorageRegionsStoragePoolsGetUnauthorized { + return &InternalV1StorageRegionsStoragePoolsGetUnauthorized{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1StorageRegionsStoragePoolsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools get unauthorized response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools get unauthorized response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools get unauthorized response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools get unauthorized response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools get unauthorized response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 storage regions storage pools get unauthorized response +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsGetForbidden creates a InternalV1StorageRegionsStoragePoolsGetForbidden with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetForbidden() *InternalV1StorageRegionsStoragePoolsGetForbidden { + return &InternalV1StorageRegionsStoragePoolsGetForbidden{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1StorageRegionsStoragePoolsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools get forbidden response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools get forbidden response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools get forbidden response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools get forbidden response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools get forbidden response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 storage regions storage pools get forbidden response +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) Code() int { + return 403 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsGetNotFound creates a InternalV1StorageRegionsStoragePoolsGetNotFound with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetNotFound() *InternalV1StorageRegionsStoragePoolsGetNotFound { + return &InternalV1StorageRegionsStoragePoolsGetNotFound{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1StorageRegionsStoragePoolsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools get not found response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools get not found response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools get not found response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools get not found response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools get not found response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 storage regions storage pools get not found response +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) Code() int { + return 404 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetNotFound %s", 404, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetNotFound %s", 404, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsGetInternalServerError creates a InternalV1StorageRegionsStoragePoolsGetInternalServerError with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetInternalServerError() *InternalV1StorageRegionsStoragePoolsGetInternalServerError { + return &InternalV1StorageRegionsStoragePoolsGetInternalServerError{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1StorageRegionsStoragePoolsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools get internal server error response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools get internal server error response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools get internal server error response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions storage pools get internal server error response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 storage regions storage pools get internal server error response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 storage regions storage pools get internal server error response +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsGetInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_getall_parameters.go new file mode 100644 index 000000000..a2535590d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1StorageRegionsStoragePoolsGetallParams creates a new InternalV1StorageRegionsStoragePoolsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1StorageRegionsStoragePoolsGetallParams() *InternalV1StorageRegionsStoragePoolsGetallParams { + return &InternalV1StorageRegionsStoragePoolsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1StorageRegionsStoragePoolsGetallParamsWithTimeout creates a new InternalV1StorageRegionsStoragePoolsGetallParams object +// with the ability to set a timeout on a request. +func NewInternalV1StorageRegionsStoragePoolsGetallParamsWithTimeout(timeout time.Duration) *InternalV1StorageRegionsStoragePoolsGetallParams { + return &InternalV1StorageRegionsStoragePoolsGetallParams{ + timeout: timeout, + } +} + +// NewInternalV1StorageRegionsStoragePoolsGetallParamsWithContext creates a new InternalV1StorageRegionsStoragePoolsGetallParams object +// with the ability to set a context for a request. +func NewInternalV1StorageRegionsStoragePoolsGetallParamsWithContext(ctx context.Context) *InternalV1StorageRegionsStoragePoolsGetallParams { + return &InternalV1StorageRegionsStoragePoolsGetallParams{ + Context: ctx, + } +} + +// NewInternalV1StorageRegionsStoragePoolsGetallParamsWithHTTPClient creates a new InternalV1StorageRegionsStoragePoolsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1StorageRegionsStoragePoolsGetallParamsWithHTTPClient(client *http.Client) *InternalV1StorageRegionsStoragePoolsGetallParams { + return &InternalV1StorageRegionsStoragePoolsGetallParams{ + HTTPClient: client, + } +} + +/* +InternalV1StorageRegionsStoragePoolsGetallParams contains all the parameters to send to the API endpoint + + for the internal v1 storage regions storage pools getall operation. + + Typically these are written to a http.Request. +*/ +type InternalV1StorageRegionsStoragePoolsGetallParams struct { + + /* RegionZoneID. + + ID of a Power Cloud Region Zone + */ + RegionZoneID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 storage regions storage pools getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) WithDefaults() *InternalV1StorageRegionsStoragePoolsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 storage regions storage pools getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 storage regions storage pools getall params +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) WithTimeout(timeout time.Duration) *InternalV1StorageRegionsStoragePoolsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 storage regions storage pools getall params +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 storage regions storage pools getall params +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) WithContext(ctx context.Context) *InternalV1StorageRegionsStoragePoolsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 storage regions storage pools getall params +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 storage regions storage pools getall params +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) WithHTTPClient(client *http.Client) *InternalV1StorageRegionsStoragePoolsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 storage regions storage pools getall params +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithRegionZoneID adds the regionZoneID to the internal v1 storage regions storage pools getall params +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) WithRegionZoneID(regionZoneID string) *InternalV1StorageRegionsStoragePoolsGetallParams { + o.SetRegionZoneID(regionZoneID) + return o +} + +// SetRegionZoneID adds the regionZoneId to the internal v1 storage regions storage pools getall params +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) SetRegionZoneID(regionZoneID string) { + o.RegionZoneID = regionZoneID +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1StorageRegionsStoragePoolsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param region_zone_id + if err := r.SetPathParam("region_zone_id", o.RegionZoneID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_getall_responses.go new file mode 100644 index 000000000..94fe01362 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_getall_responses.go @@ -0,0 +1,409 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1StorageRegionsStoragePoolsGetallReader is a Reader for the InternalV1StorageRegionsStoragePoolsGetall structure. +type InternalV1StorageRegionsStoragePoolsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1StorageRegionsStoragePoolsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1StorageRegionsStoragePoolsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewInternalV1StorageRegionsStoragePoolsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1StorageRegionsStoragePoolsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1StorageRegionsStoragePoolsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1StorageRegionsStoragePoolsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools] internal.v1.storage.regions.storage-pools.getall", response, response.Code()) + } +} + +// NewInternalV1StorageRegionsStoragePoolsGetallOK creates a InternalV1StorageRegionsStoragePoolsGetallOK with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetallOK() *InternalV1StorageRegionsStoragePoolsGetallOK { + return &InternalV1StorageRegionsStoragePoolsGetallOK{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1StorageRegionsStoragePoolsGetallOK struct { + Payload models.StoragePools +} + +// IsSuccess returns true when this internal v1 storage regions storage pools getall o k response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 storage regions storage pools getall o k response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools getall o k response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions storage pools getall o k response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools getall o k response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 storage regions storage pools getall o k response +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) Code() int { + return 200 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallOK %s", 200, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallOK %s", 200, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) GetPayload() models.StoragePools { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsGetallUnauthorized creates a InternalV1StorageRegionsStoragePoolsGetallUnauthorized with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetallUnauthorized() *InternalV1StorageRegionsStoragePoolsGetallUnauthorized { + return &InternalV1StorageRegionsStoragePoolsGetallUnauthorized{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1StorageRegionsStoragePoolsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools getall unauthorized response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools getall unauthorized response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools getall unauthorized response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools getall unauthorized response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools getall unauthorized response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 storage regions storage pools getall unauthorized response +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsGetallForbidden creates a InternalV1StorageRegionsStoragePoolsGetallForbidden with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetallForbidden() *InternalV1StorageRegionsStoragePoolsGetallForbidden { + return &InternalV1StorageRegionsStoragePoolsGetallForbidden{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1StorageRegionsStoragePoolsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools getall forbidden response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools getall forbidden response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools getall forbidden response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools getall forbidden response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools getall forbidden response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 storage regions storage pools getall forbidden response +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) Code() int { + return 403 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsGetallNotFound creates a InternalV1StorageRegionsStoragePoolsGetallNotFound with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetallNotFound() *InternalV1StorageRegionsStoragePoolsGetallNotFound { + return &InternalV1StorageRegionsStoragePoolsGetallNotFound{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1StorageRegionsStoragePoolsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools getall not found response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools getall not found response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools getall not found response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools getall not found response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools getall not found response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 storage regions storage pools getall not found response +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) Code() int { + return 404 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallNotFound %s", 404, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallNotFound %s", 404, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsGetallInternalServerError creates a InternalV1StorageRegionsStoragePoolsGetallInternalServerError with default headers values +func NewInternalV1StorageRegionsStoragePoolsGetallInternalServerError() *InternalV1StorageRegionsStoragePoolsGetallInternalServerError { + return &InternalV1StorageRegionsStoragePoolsGetallInternalServerError{} +} + +/* +InternalV1StorageRegionsStoragePoolsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1StorageRegionsStoragePoolsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools getall internal server error response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools getall internal server error response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools getall internal server error response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions storage pools getall internal server error response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 storage regions storage pools getall internal server error response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 storage regions storage pools getall internal server error response +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/storage-pools][%d] internalV1StorageRegionsStoragePoolsGetallInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_put_parameters.go new file mode 100644 index 000000000..675a4d07f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1StorageRegionsStoragePoolsPutParams creates a new InternalV1StorageRegionsStoragePoolsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1StorageRegionsStoragePoolsPutParams() *InternalV1StorageRegionsStoragePoolsPutParams { + return &InternalV1StorageRegionsStoragePoolsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1StorageRegionsStoragePoolsPutParamsWithTimeout creates a new InternalV1StorageRegionsStoragePoolsPutParams object +// with the ability to set a timeout on a request. +func NewInternalV1StorageRegionsStoragePoolsPutParamsWithTimeout(timeout time.Duration) *InternalV1StorageRegionsStoragePoolsPutParams { + return &InternalV1StorageRegionsStoragePoolsPutParams{ + timeout: timeout, + } +} + +// NewInternalV1StorageRegionsStoragePoolsPutParamsWithContext creates a new InternalV1StorageRegionsStoragePoolsPutParams object +// with the ability to set a context for a request. +func NewInternalV1StorageRegionsStoragePoolsPutParamsWithContext(ctx context.Context) *InternalV1StorageRegionsStoragePoolsPutParams { + return &InternalV1StorageRegionsStoragePoolsPutParams{ + Context: ctx, + } +} + +// NewInternalV1StorageRegionsStoragePoolsPutParamsWithHTTPClient creates a new InternalV1StorageRegionsStoragePoolsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1StorageRegionsStoragePoolsPutParamsWithHTTPClient(client *http.Client) *InternalV1StorageRegionsStoragePoolsPutParams { + return &InternalV1StorageRegionsStoragePoolsPutParams{ + HTTPClient: client, + } +} + +/* +InternalV1StorageRegionsStoragePoolsPutParams contains all the parameters to send to the API endpoint + + for the internal v1 storage regions storage pools put operation. + + Typically these are written to a http.Request. +*/ +type InternalV1StorageRegionsStoragePoolsPutParams struct { + + /* Body. + + Parameters for updating a storage pool + */ + Body *models.UpdateStoragePool + + /* RegionZoneID. + + ID of a Power Cloud Region Zone + */ + RegionZoneID string + + /* StoragePoolName. + + Storage pool name + */ + StoragePoolName string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 storage regions storage pools put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsStoragePoolsPutParams) WithDefaults() *InternalV1StorageRegionsStoragePoolsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 storage regions storage pools put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsStoragePoolsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) WithTimeout(timeout time.Duration) *InternalV1StorageRegionsStoragePoolsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) WithContext(ctx context.Context) *InternalV1StorageRegionsStoragePoolsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) WithHTTPClient(client *http.Client) *InternalV1StorageRegionsStoragePoolsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) WithBody(body *models.UpdateStoragePool) *InternalV1StorageRegionsStoragePoolsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) SetBody(body *models.UpdateStoragePool) { + o.Body = body +} + +// WithRegionZoneID adds the regionZoneID to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) WithRegionZoneID(regionZoneID string) *InternalV1StorageRegionsStoragePoolsPutParams { + o.SetRegionZoneID(regionZoneID) + return o +} + +// SetRegionZoneID adds the regionZoneId to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) SetRegionZoneID(regionZoneID string) { + o.RegionZoneID = regionZoneID +} + +// WithStoragePoolName adds the storagePoolName to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) WithStoragePoolName(storagePoolName string) *InternalV1StorageRegionsStoragePoolsPutParams { + o.SetStoragePoolName(storagePoolName) + return o +} + +// SetStoragePoolName adds the storagePoolName to the internal v1 storage regions storage pools put params +func (o *InternalV1StorageRegionsStoragePoolsPutParams) SetStoragePoolName(storagePoolName string) { + o.StoragePoolName = storagePoolName +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1StorageRegionsStoragePoolsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param region_zone_id + if err := r.SetPathParam("region_zone_id", o.RegionZoneID); err != nil { + return err + } + + // path param storage_pool_name + if err := r.SetPathParam("storage_pool_name", o.StoragePoolName); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_put_responses.go new file mode 100644 index 000000000..f15dd329c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_storage_pools_put_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1StorageRegionsStoragePoolsPutReader is a Reader for the InternalV1StorageRegionsStoragePoolsPut structure. +type InternalV1StorageRegionsStoragePoolsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1StorageRegionsStoragePoolsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1StorageRegionsStoragePoolsPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1StorageRegionsStoragePoolsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1StorageRegionsStoragePoolsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1StorageRegionsStoragePoolsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1StorageRegionsStoragePoolsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1StorageRegionsStoragePoolsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}] internal.v1.storage.regions.storage-pools.put", response, response.Code()) + } +} + +// NewInternalV1StorageRegionsStoragePoolsPutOK creates a InternalV1StorageRegionsStoragePoolsPutOK with default headers values +func NewInternalV1StorageRegionsStoragePoolsPutOK() *InternalV1StorageRegionsStoragePoolsPutOK { + return &InternalV1StorageRegionsStoragePoolsPutOK{} +} + +/* +InternalV1StorageRegionsStoragePoolsPutOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1StorageRegionsStoragePoolsPutOK struct { + Payload *models.StoragePool +} + +// IsSuccess returns true when this internal v1 storage regions storage pools put o k response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 storage regions storage pools put o k response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools put o k response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions storage pools put o k response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools put o k response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 storage regions storage pools put o k response +func (o *InternalV1StorageRegionsStoragePoolsPutOK) Code() int { + return 200 +} + +func (o *InternalV1StorageRegionsStoragePoolsPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutOK %s", 200, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutOK %s", 200, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutOK) GetPayload() *models.StoragePool { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.StoragePool) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsPutBadRequest creates a InternalV1StorageRegionsStoragePoolsPutBadRequest with default headers values +func NewInternalV1StorageRegionsStoragePoolsPutBadRequest() *InternalV1StorageRegionsStoragePoolsPutBadRequest { + return &InternalV1StorageRegionsStoragePoolsPutBadRequest{} +} + +/* +InternalV1StorageRegionsStoragePoolsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1StorageRegionsStoragePoolsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools put bad request response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools put bad request response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools put bad request response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools put bad request response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools put bad request response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 storage regions storage pools put bad request response +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) Code() int { + return 400 +} + +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutBadRequest %s", 400, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutBadRequest %s", 400, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsPutUnauthorized creates a InternalV1StorageRegionsStoragePoolsPutUnauthorized with default headers values +func NewInternalV1StorageRegionsStoragePoolsPutUnauthorized() *InternalV1StorageRegionsStoragePoolsPutUnauthorized { + return &InternalV1StorageRegionsStoragePoolsPutUnauthorized{} +} + +/* +InternalV1StorageRegionsStoragePoolsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1StorageRegionsStoragePoolsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools put unauthorized response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools put unauthorized response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools put unauthorized response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools put unauthorized response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools put unauthorized response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 storage regions storage pools put unauthorized response +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsPutForbidden creates a InternalV1StorageRegionsStoragePoolsPutForbidden with default headers values +func NewInternalV1StorageRegionsStoragePoolsPutForbidden() *InternalV1StorageRegionsStoragePoolsPutForbidden { + return &InternalV1StorageRegionsStoragePoolsPutForbidden{} +} + +/* +InternalV1StorageRegionsStoragePoolsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1StorageRegionsStoragePoolsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools put forbidden response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools put forbidden response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools put forbidden response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools put forbidden response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools put forbidden response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 storage regions storage pools put forbidden response +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) Code() int { + return 403 +} + +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsPutNotFound creates a InternalV1StorageRegionsStoragePoolsPutNotFound with default headers values +func NewInternalV1StorageRegionsStoragePoolsPutNotFound() *InternalV1StorageRegionsStoragePoolsPutNotFound { + return &InternalV1StorageRegionsStoragePoolsPutNotFound{} +} + +/* +InternalV1StorageRegionsStoragePoolsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1StorageRegionsStoragePoolsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools put not found response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools put not found response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools put not found response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions storage pools put not found response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions storage pools put not found response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 storage regions storage pools put not found response +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) Code() int { + return 404 +} + +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutNotFound %s", 404, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutNotFound %s", 404, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsStoragePoolsPutInternalServerError creates a InternalV1StorageRegionsStoragePoolsPutInternalServerError with default headers values +func NewInternalV1StorageRegionsStoragePoolsPutInternalServerError() *InternalV1StorageRegionsStoragePoolsPutInternalServerError { + return &InternalV1StorageRegionsStoragePoolsPutInternalServerError{} +} + +/* +InternalV1StorageRegionsStoragePoolsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1StorageRegionsStoragePoolsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions storage pools put internal server error response has a 2xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions storage pools put internal server error response has a 3xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions storage pools put internal server error response has a 4xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions storage pools put internal server error response has a 5xx status code +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 storage regions storage pools put internal server error response a status code equal to that given +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 storage regions storage pools put internal server error response +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/storage-pools/{storage_pool_name}][%d] internalV1StorageRegionsStoragePoolsPutInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsStoragePoolsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_get_parameters.go new file mode 100644 index 000000000..e7a53a597 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1StorageRegionsThresholdsGetParams creates a new InternalV1StorageRegionsThresholdsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1StorageRegionsThresholdsGetParams() *InternalV1StorageRegionsThresholdsGetParams { + return &InternalV1StorageRegionsThresholdsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1StorageRegionsThresholdsGetParamsWithTimeout creates a new InternalV1StorageRegionsThresholdsGetParams object +// with the ability to set a timeout on a request. +func NewInternalV1StorageRegionsThresholdsGetParamsWithTimeout(timeout time.Duration) *InternalV1StorageRegionsThresholdsGetParams { + return &InternalV1StorageRegionsThresholdsGetParams{ + timeout: timeout, + } +} + +// NewInternalV1StorageRegionsThresholdsGetParamsWithContext creates a new InternalV1StorageRegionsThresholdsGetParams object +// with the ability to set a context for a request. +func NewInternalV1StorageRegionsThresholdsGetParamsWithContext(ctx context.Context) *InternalV1StorageRegionsThresholdsGetParams { + return &InternalV1StorageRegionsThresholdsGetParams{ + Context: ctx, + } +} + +// NewInternalV1StorageRegionsThresholdsGetParamsWithHTTPClient creates a new InternalV1StorageRegionsThresholdsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1StorageRegionsThresholdsGetParamsWithHTTPClient(client *http.Client) *InternalV1StorageRegionsThresholdsGetParams { + return &InternalV1StorageRegionsThresholdsGetParams{ + HTTPClient: client, + } +} + +/* +InternalV1StorageRegionsThresholdsGetParams contains all the parameters to send to the API endpoint + + for the internal v1 storage regions thresholds get operation. + + Typically these are written to a http.Request. +*/ +type InternalV1StorageRegionsThresholdsGetParams struct { + + /* RegionZoneID. + + ID of a Power Cloud Region Zone + */ + RegionZoneID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 storage regions thresholds get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsThresholdsGetParams) WithDefaults() *InternalV1StorageRegionsThresholdsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 storage regions thresholds get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsThresholdsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 storage regions thresholds get params +func (o *InternalV1StorageRegionsThresholdsGetParams) WithTimeout(timeout time.Duration) *InternalV1StorageRegionsThresholdsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 storage regions thresholds get params +func (o *InternalV1StorageRegionsThresholdsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 storage regions thresholds get params +func (o *InternalV1StorageRegionsThresholdsGetParams) WithContext(ctx context.Context) *InternalV1StorageRegionsThresholdsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 storage regions thresholds get params +func (o *InternalV1StorageRegionsThresholdsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 storage regions thresholds get params +func (o *InternalV1StorageRegionsThresholdsGetParams) WithHTTPClient(client *http.Client) *InternalV1StorageRegionsThresholdsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 storage regions thresholds get params +func (o *InternalV1StorageRegionsThresholdsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithRegionZoneID adds the regionZoneID to the internal v1 storage regions thresholds get params +func (o *InternalV1StorageRegionsThresholdsGetParams) WithRegionZoneID(regionZoneID string) *InternalV1StorageRegionsThresholdsGetParams { + o.SetRegionZoneID(regionZoneID) + return o +} + +// SetRegionZoneID adds the regionZoneId to the internal v1 storage regions thresholds get params +func (o *InternalV1StorageRegionsThresholdsGetParams) SetRegionZoneID(regionZoneID string) { + o.RegionZoneID = regionZoneID +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1StorageRegionsThresholdsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param region_zone_id + if err := r.SetPathParam("region_zone_id", o.RegionZoneID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_get_responses.go new file mode 100644 index 000000000..cfd038ccf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_get_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1StorageRegionsThresholdsGetReader is a Reader for the InternalV1StorageRegionsThresholdsGet structure. +type InternalV1StorageRegionsThresholdsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1StorageRegionsThresholdsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1StorageRegionsThresholdsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewInternalV1StorageRegionsThresholdsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1StorageRegionsThresholdsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewInternalV1StorageRegionsThresholdsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1StorageRegionsThresholdsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds] internal.v1.storage.regions.thresholds.get", response, response.Code()) + } +} + +// NewInternalV1StorageRegionsThresholdsGetOK creates a InternalV1StorageRegionsThresholdsGetOK with default headers values +func NewInternalV1StorageRegionsThresholdsGetOK() *InternalV1StorageRegionsThresholdsGetOK { + return &InternalV1StorageRegionsThresholdsGetOK{} +} + +/* +InternalV1StorageRegionsThresholdsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1StorageRegionsThresholdsGetOK struct { + Payload *models.Thresholds +} + +// IsSuccess returns true when this internal v1 storage regions thresholds get o k response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 storage regions thresholds get o k response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds get o k response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions thresholds get o k response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds get o k response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 storage regions thresholds get o k response +func (o *InternalV1StorageRegionsThresholdsGetOK) Code() int { + return 200 +} + +func (o *InternalV1StorageRegionsThresholdsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetOK %s", 200, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetOK %s", 200, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetOK) GetPayload() *models.Thresholds { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Thresholds) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsGetUnauthorized creates a InternalV1StorageRegionsThresholdsGetUnauthorized with default headers values +func NewInternalV1StorageRegionsThresholdsGetUnauthorized() *InternalV1StorageRegionsThresholdsGetUnauthorized { + return &InternalV1StorageRegionsThresholdsGetUnauthorized{} +} + +/* +InternalV1StorageRegionsThresholdsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1StorageRegionsThresholdsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds get unauthorized response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds get unauthorized response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds get unauthorized response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions thresholds get unauthorized response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds get unauthorized response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 storage regions thresholds get unauthorized response +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsGetForbidden creates a InternalV1StorageRegionsThresholdsGetForbidden with default headers values +func NewInternalV1StorageRegionsThresholdsGetForbidden() *InternalV1StorageRegionsThresholdsGetForbidden { + return &InternalV1StorageRegionsThresholdsGetForbidden{} +} + +/* +InternalV1StorageRegionsThresholdsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1StorageRegionsThresholdsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds get forbidden response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds get forbidden response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds get forbidden response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions thresholds get forbidden response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds get forbidden response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 storage regions thresholds get forbidden response +func (o *InternalV1StorageRegionsThresholdsGetForbidden) Code() int { + return 403 +} + +func (o *InternalV1StorageRegionsThresholdsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsGetNotFound creates a InternalV1StorageRegionsThresholdsGetNotFound with default headers values +func NewInternalV1StorageRegionsThresholdsGetNotFound() *InternalV1StorageRegionsThresholdsGetNotFound { + return &InternalV1StorageRegionsThresholdsGetNotFound{} +} + +/* +InternalV1StorageRegionsThresholdsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type InternalV1StorageRegionsThresholdsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds get not found response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds get not found response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds get not found response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions thresholds get not found response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds get not found response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the internal v1 storage regions thresholds get not found response +func (o *InternalV1StorageRegionsThresholdsGetNotFound) Code() int { + return 404 +} + +func (o *InternalV1StorageRegionsThresholdsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetNotFound %s", 404, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetNotFound %s", 404, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsGetInternalServerError creates a InternalV1StorageRegionsThresholdsGetInternalServerError with default headers values +func NewInternalV1StorageRegionsThresholdsGetInternalServerError() *InternalV1StorageRegionsThresholdsGetInternalServerError { + return &InternalV1StorageRegionsThresholdsGetInternalServerError{} +} + +/* +InternalV1StorageRegionsThresholdsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1StorageRegionsThresholdsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds get internal server error response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds get internal server error response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds get internal server error response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions thresholds get internal server error response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 storage regions thresholds get internal server error response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 storage regions thresholds get internal server error response +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsGetInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_put_parameters.go new file mode 100644 index 000000000..46f354ddc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewInternalV1StorageRegionsThresholdsPutParams creates a new InternalV1StorageRegionsThresholdsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1StorageRegionsThresholdsPutParams() *InternalV1StorageRegionsThresholdsPutParams { + return &InternalV1StorageRegionsThresholdsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1StorageRegionsThresholdsPutParamsWithTimeout creates a new InternalV1StorageRegionsThresholdsPutParams object +// with the ability to set a timeout on a request. +func NewInternalV1StorageRegionsThresholdsPutParamsWithTimeout(timeout time.Duration) *InternalV1StorageRegionsThresholdsPutParams { + return &InternalV1StorageRegionsThresholdsPutParams{ + timeout: timeout, + } +} + +// NewInternalV1StorageRegionsThresholdsPutParamsWithContext creates a new InternalV1StorageRegionsThresholdsPutParams object +// with the ability to set a context for a request. +func NewInternalV1StorageRegionsThresholdsPutParamsWithContext(ctx context.Context) *InternalV1StorageRegionsThresholdsPutParams { + return &InternalV1StorageRegionsThresholdsPutParams{ + Context: ctx, + } +} + +// NewInternalV1StorageRegionsThresholdsPutParamsWithHTTPClient creates a new InternalV1StorageRegionsThresholdsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1StorageRegionsThresholdsPutParamsWithHTTPClient(client *http.Client) *InternalV1StorageRegionsThresholdsPutParams { + return &InternalV1StorageRegionsThresholdsPutParams{ + HTTPClient: client, + } +} + +/* +InternalV1StorageRegionsThresholdsPutParams contains all the parameters to send to the API endpoint + + for the internal v1 storage regions thresholds put operation. + + Typically these are written to a http.Request. +*/ +type InternalV1StorageRegionsThresholdsPutParams struct { + + /* Body. + + Parameters for updating default threshold settings for a region-zone + */ + Body *models.Thresholds + + /* RegionZoneID. + + ID of a Power Cloud Region Zone + */ + RegionZoneID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 storage regions thresholds put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsThresholdsPutParams) WithDefaults() *InternalV1StorageRegionsThresholdsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 storage regions thresholds put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1StorageRegionsThresholdsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) WithTimeout(timeout time.Duration) *InternalV1StorageRegionsThresholdsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) WithContext(ctx context.Context) *InternalV1StorageRegionsThresholdsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) WithHTTPClient(client *http.Client) *InternalV1StorageRegionsThresholdsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) WithBody(body *models.Thresholds) *InternalV1StorageRegionsThresholdsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) SetBody(body *models.Thresholds) { + o.Body = body +} + +// WithRegionZoneID adds the regionZoneID to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) WithRegionZoneID(regionZoneID string) *InternalV1StorageRegionsThresholdsPutParams { + o.SetRegionZoneID(regionZoneID) + return o +} + +// SetRegionZoneID adds the regionZoneId to the internal v1 storage regions thresholds put params +func (o *InternalV1StorageRegionsThresholdsPutParams) SetRegionZoneID(regionZoneID string) { + o.RegionZoneID = regionZoneID +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1StorageRegionsThresholdsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param region_zone_id + if err := r.SetPathParam("region_zone_id", o.RegionZoneID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_put_responses.go new file mode 100644 index 000000000..bd76e891c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions/internal_v1_storage_regions_thresholds_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_storage_regions + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1StorageRegionsThresholdsPutReader is a Reader for the InternalV1StorageRegionsThresholdsPut structure. +type InternalV1StorageRegionsThresholdsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1StorageRegionsThresholdsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewInternalV1StorageRegionsThresholdsPutAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewInternalV1StorageRegionsThresholdsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewInternalV1StorageRegionsThresholdsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewInternalV1StorageRegionsThresholdsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewInternalV1StorageRegionsThresholdsPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewInternalV1StorageRegionsThresholdsPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewInternalV1StorageRegionsThresholdsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds] internal.v1.storage.regions.thresholds.put", response, response.Code()) + } +} + +// NewInternalV1StorageRegionsThresholdsPutAccepted creates a InternalV1StorageRegionsThresholdsPutAccepted with default headers values +func NewInternalV1StorageRegionsThresholdsPutAccepted() *InternalV1StorageRegionsThresholdsPutAccepted { + return &InternalV1StorageRegionsThresholdsPutAccepted{} +} + +/* +InternalV1StorageRegionsThresholdsPutAccepted describes a response with status code 202, with default header values. + +Accepted, region-zone default threshold settings update +*/ +type InternalV1StorageRegionsThresholdsPutAccepted struct { + Payload *models.Thresholds +} + +// IsSuccess returns true when this internal v1 storage regions thresholds put accepted response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsPutAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 storage regions thresholds put accepted response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsPutAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds put accepted response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsPutAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions thresholds put accepted response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsPutAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds put accepted response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsPutAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the internal v1 storage regions thresholds put accepted response +func (o *InternalV1StorageRegionsThresholdsPutAccepted) Code() int { + return 202 +} + +func (o *InternalV1StorageRegionsThresholdsPutAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutAccepted %s", 202, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutAccepted %s", 202, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutAccepted) GetPayload() *models.Thresholds { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsPutAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Thresholds) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsPutBadRequest creates a InternalV1StorageRegionsThresholdsPutBadRequest with default headers values +func NewInternalV1StorageRegionsThresholdsPutBadRequest() *InternalV1StorageRegionsThresholdsPutBadRequest { + return &InternalV1StorageRegionsThresholdsPutBadRequest{} +} + +/* +InternalV1StorageRegionsThresholdsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type InternalV1StorageRegionsThresholdsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds put bad request response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds put bad request response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds put bad request response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions thresholds put bad request response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds put bad request response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the internal v1 storage regions thresholds put bad request response +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) Code() int { + return 400 +} + +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutBadRequest %s", 400, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutBadRequest %s", 400, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsPutUnauthorized creates a InternalV1StorageRegionsThresholdsPutUnauthorized with default headers values +func NewInternalV1StorageRegionsThresholdsPutUnauthorized() *InternalV1StorageRegionsThresholdsPutUnauthorized { + return &InternalV1StorageRegionsThresholdsPutUnauthorized{} +} + +/* +InternalV1StorageRegionsThresholdsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type InternalV1StorageRegionsThresholdsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds put unauthorized response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds put unauthorized response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds put unauthorized response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions thresholds put unauthorized response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds put unauthorized response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the internal v1 storage regions thresholds put unauthorized response +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) Code() int { + return 401 +} + +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutUnauthorized %s", 401, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsPutForbidden creates a InternalV1StorageRegionsThresholdsPutForbidden with default headers values +func NewInternalV1StorageRegionsThresholdsPutForbidden() *InternalV1StorageRegionsThresholdsPutForbidden { + return &InternalV1StorageRegionsThresholdsPutForbidden{} +} + +/* +InternalV1StorageRegionsThresholdsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1StorageRegionsThresholdsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds put forbidden response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds put forbidden response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds put forbidden response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions thresholds put forbidden response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds put forbidden response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 storage regions thresholds put forbidden response +func (o *InternalV1StorageRegionsThresholdsPutForbidden) Code() int { + return 403 +} + +func (o *InternalV1StorageRegionsThresholdsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutForbidden %s", 403, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsPutConflict creates a InternalV1StorageRegionsThresholdsPutConflict with default headers values +func NewInternalV1StorageRegionsThresholdsPutConflict() *InternalV1StorageRegionsThresholdsPutConflict { + return &InternalV1StorageRegionsThresholdsPutConflict{} +} + +/* +InternalV1StorageRegionsThresholdsPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type InternalV1StorageRegionsThresholdsPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds put conflict response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds put conflict response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds put conflict response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions thresholds put conflict response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds put conflict response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the internal v1 storage regions thresholds put conflict response +func (o *InternalV1StorageRegionsThresholdsPutConflict) Code() int { + return 409 +} + +func (o *InternalV1StorageRegionsThresholdsPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutConflict %s", 409, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutConflict %s", 409, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsPutUnprocessableEntity creates a InternalV1StorageRegionsThresholdsPutUnprocessableEntity with default headers values +func NewInternalV1StorageRegionsThresholdsPutUnprocessableEntity() *InternalV1StorageRegionsThresholdsPutUnprocessableEntity { + return &InternalV1StorageRegionsThresholdsPutUnprocessableEntity{} +} + +/* +InternalV1StorageRegionsThresholdsPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type InternalV1StorageRegionsThresholdsPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds put unprocessable entity response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds put unprocessable entity response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds put unprocessable entity response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 storage regions thresholds put unprocessable entity response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 storage regions thresholds put unprocessable entity response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the internal v1 storage regions thresholds put unprocessable entity response +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutUnprocessableEntity %s", 422, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutUnprocessableEntity %s", 422, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1StorageRegionsThresholdsPutInternalServerError creates a InternalV1StorageRegionsThresholdsPutInternalServerError with default headers values +func NewInternalV1StorageRegionsThresholdsPutInternalServerError() *InternalV1StorageRegionsThresholdsPutInternalServerError { + return &InternalV1StorageRegionsThresholdsPutInternalServerError{} +} + +/* +InternalV1StorageRegionsThresholdsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type InternalV1StorageRegionsThresholdsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 storage regions thresholds put internal server error response has a 2xx status code +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 storage regions thresholds put internal server error response has a 3xx status code +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 storage regions thresholds put internal server error response has a 4xx status code +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 storage regions thresholds put internal server error response has a 5xx status code +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this internal v1 storage regions thresholds put internal server error response a status code equal to that given +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the internal v1 storage regions thresholds put internal server error response +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) Code() int { + return 500 +} + +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /internal/v1/storage/regions/{region_zone_id}/thresholds][%d] internalV1StorageRegionsThresholdsPutInternalServerError %s", 500, payload) +} + +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1StorageRegionsThresholdsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_transit_gateway_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_transit_gateway_client.go new file mode 100644 index 000000000..3115a39f8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_transit_gateway_client.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_transit_gateway + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new internal transit gateway API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new internal transit gateway API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new internal transit gateway API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for internal transit gateway API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + InternalV1TransitgatewayGet(params *InternalV1TransitgatewayGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1TransitgatewayGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +InternalV1TransitgatewayGet gets the cloud instance transit gateway information +*/ +func (a *Client) InternalV1TransitgatewayGet(params *InternalV1TransitgatewayGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*InternalV1TransitgatewayGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewInternalV1TransitgatewayGetParams() + } + op := &runtime.ClientOperation{ + ID: "internal.v1.transitgateway.get", + Method: "GET", + PathPattern: "/internal/v1/transit-gateway/{powervs_service_crn}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &InternalV1TransitgatewayGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*InternalV1TransitgatewayGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for internal.v1.transitgateway.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_v1_transitgateway_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_v1_transitgateway_get_parameters.go new file mode 100644 index 000000000..123bbefcd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_v1_transitgateway_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_transit_gateway + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewInternalV1TransitgatewayGetParams creates a new InternalV1TransitgatewayGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewInternalV1TransitgatewayGetParams() *InternalV1TransitgatewayGetParams { + return &InternalV1TransitgatewayGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewInternalV1TransitgatewayGetParamsWithTimeout creates a new InternalV1TransitgatewayGetParams object +// with the ability to set a timeout on a request. +func NewInternalV1TransitgatewayGetParamsWithTimeout(timeout time.Duration) *InternalV1TransitgatewayGetParams { + return &InternalV1TransitgatewayGetParams{ + timeout: timeout, + } +} + +// NewInternalV1TransitgatewayGetParamsWithContext creates a new InternalV1TransitgatewayGetParams object +// with the ability to set a context for a request. +func NewInternalV1TransitgatewayGetParamsWithContext(ctx context.Context) *InternalV1TransitgatewayGetParams { + return &InternalV1TransitgatewayGetParams{ + Context: ctx, + } +} + +// NewInternalV1TransitgatewayGetParamsWithHTTPClient creates a new InternalV1TransitgatewayGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewInternalV1TransitgatewayGetParamsWithHTTPClient(client *http.Client) *InternalV1TransitgatewayGetParams { + return &InternalV1TransitgatewayGetParams{ + HTTPClient: client, + } +} + +/* +InternalV1TransitgatewayGetParams contains all the parameters to send to the API endpoint + + for the internal v1 transitgateway get operation. + + Typically these are written to a http.Request. +*/ +type InternalV1TransitgatewayGetParams struct { + + /* IBMUserAuthorization. + + Authentication of the user that initiated the request from the TGW Platform + */ + IBMUserAuthorization string + + /* PowervsServiceCrn. + + The PowerVS Service Instance CRN (Targeting) + */ + PowervsServiceCrn string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the internal v1 transitgateway get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1TransitgatewayGetParams) WithDefaults() *InternalV1TransitgatewayGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the internal v1 transitgateway get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *InternalV1TransitgatewayGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) WithTimeout(timeout time.Duration) *InternalV1TransitgatewayGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) WithContext(ctx context.Context) *InternalV1TransitgatewayGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) WithHTTPClient(client *http.Client) *InternalV1TransitgatewayGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) WithIBMUserAuthorization(iBMUserAuthorization string) *InternalV1TransitgatewayGetParams { + o.SetIBMUserAuthorization(iBMUserAuthorization) + return o +} + +// SetIBMUserAuthorization adds the iBMUserAuthorization to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) SetIBMUserAuthorization(iBMUserAuthorization string) { + o.IBMUserAuthorization = iBMUserAuthorization +} + +// WithPowervsServiceCrn adds the powervsServiceCrn to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) WithPowervsServiceCrn(powervsServiceCrn string) *InternalV1TransitgatewayGetParams { + o.SetPowervsServiceCrn(powervsServiceCrn) + return o +} + +// SetPowervsServiceCrn adds the powervsServiceCrn to the internal v1 transitgateway get params +func (o *InternalV1TransitgatewayGetParams) SetPowervsServiceCrn(powervsServiceCrn string) { + o.PowervsServiceCrn = powervsServiceCrn +} + +// WriteToRequest writes these params to a swagger request +func (o *InternalV1TransitgatewayGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param IBM-UserAuthorization + if err := r.SetHeaderParam("IBM-UserAuthorization", o.IBMUserAuthorization); err != nil { + return err + } + + // path param powervs_service_crn + if err := r.SetPathParam("powervs_service_crn", o.PowervsServiceCrn); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_v1_transitgateway_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_v1_transitgateway_get_responses.go new file mode 100644 index 000000000..94d1e0eaf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway/internal_v1_transitgateway_get_responses.go @@ -0,0 +1,183 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package internal_transit_gateway + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// InternalV1TransitgatewayGetReader is a Reader for the InternalV1TransitgatewayGet structure. +type InternalV1TransitgatewayGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *InternalV1TransitgatewayGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewInternalV1TransitgatewayGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 403: + result := NewInternalV1TransitgatewayGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /internal/v1/transit-gateway/{powervs_service_crn}] internal.v1.transitgateway.get", response, response.Code()) + } +} + +// NewInternalV1TransitgatewayGetOK creates a InternalV1TransitgatewayGetOK with default headers values +func NewInternalV1TransitgatewayGetOK() *InternalV1TransitgatewayGetOK { + return &InternalV1TransitgatewayGetOK{} +} + +/* +InternalV1TransitgatewayGetOK describes a response with status code 200, with default header values. + +OK +*/ +type InternalV1TransitgatewayGetOK struct { + Payload *models.TransitGatewayInstance +} + +// IsSuccess returns true when this internal v1 transitgateway get o k response has a 2xx status code +func (o *InternalV1TransitgatewayGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this internal v1 transitgateway get o k response has a 3xx status code +func (o *InternalV1TransitgatewayGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 transitgateway get o k response has a 4xx status code +func (o *InternalV1TransitgatewayGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this internal v1 transitgateway get o k response has a 5xx status code +func (o *InternalV1TransitgatewayGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 transitgateway get o k response a status code equal to that given +func (o *InternalV1TransitgatewayGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the internal v1 transitgateway get o k response +func (o *InternalV1TransitgatewayGetOK) Code() int { + return 200 +} + +func (o *InternalV1TransitgatewayGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/transit-gateway/{powervs_service_crn}][%d] internalV1TransitgatewayGetOK %s", 200, payload) +} + +func (o *InternalV1TransitgatewayGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/transit-gateway/{powervs_service_crn}][%d] internalV1TransitgatewayGetOK %s", 200, payload) +} + +func (o *InternalV1TransitgatewayGetOK) GetPayload() *models.TransitGatewayInstance { + return o.Payload +} + +func (o *InternalV1TransitgatewayGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.TransitGatewayInstance) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewInternalV1TransitgatewayGetForbidden creates a InternalV1TransitgatewayGetForbidden with default headers values +func NewInternalV1TransitgatewayGetForbidden() *InternalV1TransitgatewayGetForbidden { + return &InternalV1TransitgatewayGetForbidden{} +} + +/* +InternalV1TransitgatewayGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type InternalV1TransitgatewayGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this internal v1 transitgateway get forbidden response has a 2xx status code +func (o *InternalV1TransitgatewayGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this internal v1 transitgateway get forbidden response has a 3xx status code +func (o *InternalV1TransitgatewayGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this internal v1 transitgateway get forbidden response has a 4xx status code +func (o *InternalV1TransitgatewayGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this internal v1 transitgateway get forbidden response has a 5xx status code +func (o *InternalV1TransitgatewayGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this internal v1 transitgateway get forbidden response a status code equal to that given +func (o *InternalV1TransitgatewayGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the internal v1 transitgateway get forbidden response +func (o *InternalV1TransitgatewayGetForbidden) Code() int { + return 403 +} + +func (o *InternalV1TransitgatewayGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/transit-gateway/{powervs_service_crn}][%d] internalV1TransitgatewayGetForbidden %s", 403, payload) +} + +func (o *InternalV1TransitgatewayGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /internal/v1/transit-gateway/{powervs_service_crn}][%d] internalV1TransitgatewayGetForbidden %s", 403, payload) +} + +func (o *InternalV1TransitgatewayGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *InternalV1TransitgatewayGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/network_address_groups_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/network_address_groups_client.go new file mode 100644 index 000000000..0d293a581 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/network_address_groups_client.go @@ -0,0 +1,387 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new network address groups API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new network address groups API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new network address groups API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for network address groups API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1NetworkAddressGroupsGet(params *V1NetworkAddressGroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsGetOK, error) + + V1NetworkAddressGroupsIDDelete(params *V1NetworkAddressGroupsIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsIDDeleteOK, error) + + V1NetworkAddressGroupsIDGet(params *V1NetworkAddressGroupsIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsIDGetOK, error) + + V1NetworkAddressGroupsIDPut(params *V1NetworkAddressGroupsIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsIDPutOK, error) + + V1NetworkAddressGroupsMembersDelete(params *V1NetworkAddressGroupsMembersDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsMembersDeleteOK, error) + + V1NetworkAddressGroupsMembersPost(params *V1NetworkAddressGroupsMembersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsMembersPostOK, error) + + V1NetworkAddressGroupsPost(params *V1NetworkAddressGroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsPostOK, *V1NetworkAddressGroupsPostCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1NetworkAddressGroupsGet gets the list of network address groups for a workspace +*/ +func (a *Client) V1NetworkAddressGroupsGet(params *V1NetworkAddressGroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkAddressGroupsGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkAddressGroups.get", + Method: "GET", + PathPattern: "/v1/network-address-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkAddressGroupsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkAddressGroupsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkAddressGroups.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkAddressGroupsIDDelete deletes a network address group from a workspace +*/ +func (a *Client) V1NetworkAddressGroupsIDDelete(params *V1NetworkAddressGroupsIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsIDDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkAddressGroupsIDDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkAddressGroups.id.delete", + Method: "DELETE", + PathPattern: "/v1/network-address-groups/{network_address_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkAddressGroupsIDDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkAddressGroupsIDDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkAddressGroups.id.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkAddressGroupsIDGet gets the detail of a network address group +*/ +func (a *Client) V1NetworkAddressGroupsIDGet(params *V1NetworkAddressGroupsIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsIDGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkAddressGroupsIDGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkAddressGroups.id.get", + Method: "GET", + PathPattern: "/v1/network-address-groups/{network_address_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkAddressGroupsIDGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkAddressGroupsIDGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkAddressGroups.id.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkAddressGroupsIDPut updates a network address group +*/ +func (a *Client) V1NetworkAddressGroupsIDPut(params *V1NetworkAddressGroupsIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsIDPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkAddressGroupsIDPutParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkAddressGroups.id.put", + Method: "PUT", + PathPattern: "/v1/network-address-groups/{network_address_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkAddressGroupsIDPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkAddressGroupsIDPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkAddressGroups.id.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkAddressGroupsMembersDelete deletes the member from a network address group +*/ +func (a *Client) V1NetworkAddressGroupsMembersDelete(params *V1NetworkAddressGroupsMembersDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsMembersDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkAddressGroupsMembersDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkAddressGroups.members.delete", + Method: "DELETE", + PathPattern: "/v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkAddressGroupsMembersDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkAddressGroupsMembersDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkAddressGroups.members.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkAddressGroupsMembersPost adds a member to a network address group +*/ +func (a *Client) V1NetworkAddressGroupsMembersPost(params *V1NetworkAddressGroupsMembersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsMembersPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkAddressGroupsMembersPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkAddressGroups.members.post", + Method: "POST", + PathPattern: "/v1/network-address-groups/{network_address_group_id}/members", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkAddressGroupsMembersPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkAddressGroupsMembersPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkAddressGroups.members.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkAddressGroupsPost creates a new network address group +*/ +func (a *Client) V1NetworkAddressGroupsPost(params *V1NetworkAddressGroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkAddressGroupsPostOK, *V1NetworkAddressGroupsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkAddressGroupsPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkAddressGroups.post", + Method: "POST", + PathPattern: "/v1/network-address-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkAddressGroupsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *V1NetworkAddressGroupsPostOK: + return value, nil, nil + case *V1NetworkAddressGroupsPostCreated: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for network_address_groups: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_get_parameters.go new file mode 100644 index 000000000..6e230a352 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_get_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkAddressGroupsGetParams creates a new V1NetworkAddressGroupsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkAddressGroupsGetParams() *V1NetworkAddressGroupsGetParams { + return &V1NetworkAddressGroupsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkAddressGroupsGetParamsWithTimeout creates a new V1NetworkAddressGroupsGetParams object +// with the ability to set a timeout on a request. +func NewV1NetworkAddressGroupsGetParamsWithTimeout(timeout time.Duration) *V1NetworkAddressGroupsGetParams { + return &V1NetworkAddressGroupsGetParams{ + timeout: timeout, + } +} + +// NewV1NetworkAddressGroupsGetParamsWithContext creates a new V1NetworkAddressGroupsGetParams object +// with the ability to set a context for a request. +func NewV1NetworkAddressGroupsGetParamsWithContext(ctx context.Context) *V1NetworkAddressGroupsGetParams { + return &V1NetworkAddressGroupsGetParams{ + Context: ctx, + } +} + +// NewV1NetworkAddressGroupsGetParamsWithHTTPClient creates a new V1NetworkAddressGroupsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkAddressGroupsGetParamsWithHTTPClient(client *http.Client) *V1NetworkAddressGroupsGetParams { + return &V1NetworkAddressGroupsGetParams{ + HTTPClient: client, + } +} + +/* +V1NetworkAddressGroupsGetParams contains all the parameters to send to the API endpoint + + for the v1 network address groups get operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkAddressGroupsGetParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network address groups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsGetParams) WithDefaults() *V1NetworkAddressGroupsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network address groups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network address groups get params +func (o *V1NetworkAddressGroupsGetParams) WithTimeout(timeout time.Duration) *V1NetworkAddressGroupsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network address groups get params +func (o *V1NetworkAddressGroupsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network address groups get params +func (o *V1NetworkAddressGroupsGetParams) WithContext(ctx context.Context) *V1NetworkAddressGroupsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network address groups get params +func (o *V1NetworkAddressGroupsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network address groups get params +func (o *V1NetworkAddressGroupsGetParams) WithHTTPClient(client *http.Client) *V1NetworkAddressGroupsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network address groups get params +func (o *V1NetworkAddressGroupsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkAddressGroupsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_get_responses.go new file mode 100644 index 000000000..11b983210 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkAddressGroupsGetReader is a Reader for the V1NetworkAddressGroupsGet structure. +type V1NetworkAddressGroupsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkAddressGroupsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkAddressGroupsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkAddressGroupsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkAddressGroupsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkAddressGroupsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkAddressGroupsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkAddressGroupsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/network-address-groups] v1.networkAddressGroups.get", response, response.Code()) + } +} + +// NewV1NetworkAddressGroupsGetOK creates a V1NetworkAddressGroupsGetOK with default headers values +func NewV1NetworkAddressGroupsGetOK() *V1NetworkAddressGroupsGetOK { + return &V1NetworkAddressGroupsGetOK{} +} + +/* +V1NetworkAddressGroupsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkAddressGroupsGetOK struct { + Payload *models.NetworkAddressGroups +} + +// IsSuccess returns true when this v1 network address groups get o k response has a 2xx status code +func (o *V1NetworkAddressGroupsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network address groups get o k response has a 3xx status code +func (o *V1NetworkAddressGroupsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups get o k response has a 4xx status code +func (o *V1NetworkAddressGroupsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups get o k response has a 5xx status code +func (o *V1NetworkAddressGroupsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups get o k response a status code equal to that given +func (o *V1NetworkAddressGroupsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network address groups get o k response +func (o *V1NetworkAddressGroupsGetOK) Code() int { + return 200 +} + +func (o *V1NetworkAddressGroupsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsGetOK) GetPayload() *models.NetworkAddressGroups { + return o.Payload +} + +func (o *V1NetworkAddressGroupsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkAddressGroups) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsGetBadRequest creates a V1NetworkAddressGroupsGetBadRequest with default headers values +func NewV1NetworkAddressGroupsGetBadRequest() *V1NetworkAddressGroupsGetBadRequest { + return &V1NetworkAddressGroupsGetBadRequest{} +} + +/* +V1NetworkAddressGroupsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkAddressGroupsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups get bad request response has a 2xx status code +func (o *V1NetworkAddressGroupsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups get bad request response has a 3xx status code +func (o *V1NetworkAddressGroupsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups get bad request response has a 4xx status code +func (o *V1NetworkAddressGroupsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups get bad request response has a 5xx status code +func (o *V1NetworkAddressGroupsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups get bad request response a status code equal to that given +func (o *V1NetworkAddressGroupsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network address groups get bad request response +func (o *V1NetworkAddressGroupsGetBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkAddressGroupsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsGetUnauthorized creates a V1NetworkAddressGroupsGetUnauthorized with default headers values +func NewV1NetworkAddressGroupsGetUnauthorized() *V1NetworkAddressGroupsGetUnauthorized { + return &V1NetworkAddressGroupsGetUnauthorized{} +} + +/* +V1NetworkAddressGroupsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkAddressGroupsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups get unauthorized response has a 2xx status code +func (o *V1NetworkAddressGroupsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups get unauthorized response has a 3xx status code +func (o *V1NetworkAddressGroupsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups get unauthorized response has a 4xx status code +func (o *V1NetworkAddressGroupsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups get unauthorized response has a 5xx status code +func (o *V1NetworkAddressGroupsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups get unauthorized response a status code equal to that given +func (o *V1NetworkAddressGroupsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network address groups get unauthorized response +func (o *V1NetworkAddressGroupsGetUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkAddressGroupsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsGetForbidden creates a V1NetworkAddressGroupsGetForbidden with default headers values +func NewV1NetworkAddressGroupsGetForbidden() *V1NetworkAddressGroupsGetForbidden { + return &V1NetworkAddressGroupsGetForbidden{} +} + +/* +V1NetworkAddressGroupsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkAddressGroupsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups get forbidden response has a 2xx status code +func (o *V1NetworkAddressGroupsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups get forbidden response has a 3xx status code +func (o *V1NetworkAddressGroupsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups get forbidden response has a 4xx status code +func (o *V1NetworkAddressGroupsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups get forbidden response has a 5xx status code +func (o *V1NetworkAddressGroupsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups get forbidden response a status code equal to that given +func (o *V1NetworkAddressGroupsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network address groups get forbidden response +func (o *V1NetworkAddressGroupsGetForbidden) Code() int { + return 403 +} + +func (o *V1NetworkAddressGroupsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsGetNotFound creates a V1NetworkAddressGroupsGetNotFound with default headers values +func NewV1NetworkAddressGroupsGetNotFound() *V1NetworkAddressGroupsGetNotFound { + return &V1NetworkAddressGroupsGetNotFound{} +} + +/* +V1NetworkAddressGroupsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkAddressGroupsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups get not found response has a 2xx status code +func (o *V1NetworkAddressGroupsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups get not found response has a 3xx status code +func (o *V1NetworkAddressGroupsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups get not found response has a 4xx status code +func (o *V1NetworkAddressGroupsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups get not found response has a 5xx status code +func (o *V1NetworkAddressGroupsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups get not found response a status code equal to that given +func (o *V1NetworkAddressGroupsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network address groups get not found response +func (o *V1NetworkAddressGroupsGetNotFound) Code() int { + return 404 +} + +func (o *V1NetworkAddressGroupsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsGetInternalServerError creates a V1NetworkAddressGroupsGetInternalServerError with default headers values +func NewV1NetworkAddressGroupsGetInternalServerError() *V1NetworkAddressGroupsGetInternalServerError { + return &V1NetworkAddressGroupsGetInternalServerError{} +} + +/* +V1NetworkAddressGroupsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkAddressGroupsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups get internal server error response has a 2xx status code +func (o *V1NetworkAddressGroupsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups get internal server error response has a 3xx status code +func (o *V1NetworkAddressGroupsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups get internal server error response has a 4xx status code +func (o *V1NetworkAddressGroupsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups get internal server error response has a 5xx status code +func (o *V1NetworkAddressGroupsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network address groups get internal server error response a status code equal to that given +func (o *V1NetworkAddressGroupsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network address groups get internal server error response +func (o *V1NetworkAddressGroupsGetInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkAddressGroupsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups][%d] v1NetworkAddressGroupsGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_delete_parameters.go new file mode 100644 index 000000000..fb6028a1b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkAddressGroupsIDDeleteParams creates a new V1NetworkAddressGroupsIDDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkAddressGroupsIDDeleteParams() *V1NetworkAddressGroupsIDDeleteParams { + return &V1NetworkAddressGroupsIDDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkAddressGroupsIDDeleteParamsWithTimeout creates a new V1NetworkAddressGroupsIDDeleteParams object +// with the ability to set a timeout on a request. +func NewV1NetworkAddressGroupsIDDeleteParamsWithTimeout(timeout time.Duration) *V1NetworkAddressGroupsIDDeleteParams { + return &V1NetworkAddressGroupsIDDeleteParams{ + timeout: timeout, + } +} + +// NewV1NetworkAddressGroupsIDDeleteParamsWithContext creates a new V1NetworkAddressGroupsIDDeleteParams object +// with the ability to set a context for a request. +func NewV1NetworkAddressGroupsIDDeleteParamsWithContext(ctx context.Context) *V1NetworkAddressGroupsIDDeleteParams { + return &V1NetworkAddressGroupsIDDeleteParams{ + Context: ctx, + } +} + +// NewV1NetworkAddressGroupsIDDeleteParamsWithHTTPClient creates a new V1NetworkAddressGroupsIDDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkAddressGroupsIDDeleteParamsWithHTTPClient(client *http.Client) *V1NetworkAddressGroupsIDDeleteParams { + return &V1NetworkAddressGroupsIDDeleteParams{ + HTTPClient: client, + } +} + +/* +V1NetworkAddressGroupsIDDeleteParams contains all the parameters to send to the API endpoint + + for the v1 network address groups id delete operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkAddressGroupsIDDeleteParams struct { + + /* NetworkAddressGroupID. + + Network Address Group ID + */ + NetworkAddressGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network address groups id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsIDDeleteParams) WithDefaults() *V1NetworkAddressGroupsIDDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network address groups id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsIDDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network address groups id delete params +func (o *V1NetworkAddressGroupsIDDeleteParams) WithTimeout(timeout time.Duration) *V1NetworkAddressGroupsIDDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network address groups id delete params +func (o *V1NetworkAddressGroupsIDDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network address groups id delete params +func (o *V1NetworkAddressGroupsIDDeleteParams) WithContext(ctx context.Context) *V1NetworkAddressGroupsIDDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network address groups id delete params +func (o *V1NetworkAddressGroupsIDDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network address groups id delete params +func (o *V1NetworkAddressGroupsIDDeleteParams) WithHTTPClient(client *http.Client) *V1NetworkAddressGroupsIDDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network address groups id delete params +func (o *V1NetworkAddressGroupsIDDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkAddressGroupID adds the networkAddressGroupID to the v1 network address groups id delete params +func (o *V1NetworkAddressGroupsIDDeleteParams) WithNetworkAddressGroupID(networkAddressGroupID string) *V1NetworkAddressGroupsIDDeleteParams { + o.SetNetworkAddressGroupID(networkAddressGroupID) + return o +} + +// SetNetworkAddressGroupID adds the networkAddressGroupId to the v1 network address groups id delete params +func (o *V1NetworkAddressGroupsIDDeleteParams) SetNetworkAddressGroupID(networkAddressGroupID string) { + o.NetworkAddressGroupID = networkAddressGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkAddressGroupsIDDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_address_group_id + if err := r.SetPathParam("network_address_group_id", o.NetworkAddressGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_delete_responses.go new file mode 100644 index 000000000..e8c38c6cf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkAddressGroupsIDDeleteReader is a Reader for the V1NetworkAddressGroupsIDDelete structure. +type V1NetworkAddressGroupsIDDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkAddressGroupsIDDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkAddressGroupsIDDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkAddressGroupsIDDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkAddressGroupsIDDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkAddressGroupsIDDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkAddressGroupsIDDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkAddressGroupsIDDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkAddressGroupsIDDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/network-address-groups/{network_address_group_id}] v1.networkAddressGroups.id.delete", response, response.Code()) + } +} + +// NewV1NetworkAddressGroupsIDDeleteOK creates a V1NetworkAddressGroupsIDDeleteOK with default headers values +func NewV1NetworkAddressGroupsIDDeleteOK() *V1NetworkAddressGroupsIDDeleteOK { + return &V1NetworkAddressGroupsIDDeleteOK{} +} + +/* +V1NetworkAddressGroupsIDDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkAddressGroupsIDDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network address groups Id delete o k response has a 2xx status code +func (o *V1NetworkAddressGroupsIDDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network address groups Id delete o k response has a 3xx status code +func (o *V1NetworkAddressGroupsIDDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id delete o k response has a 4xx status code +func (o *V1NetworkAddressGroupsIDDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups Id delete o k response has a 5xx status code +func (o *V1NetworkAddressGroupsIDDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id delete o k response a status code equal to that given +func (o *V1NetworkAddressGroupsIDDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network address groups Id delete o k response +func (o *V1NetworkAddressGroupsIDDeleteOK) Code() int { + return 200 +} + +func (o *V1NetworkAddressGroupsIDDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDDeleteBadRequest creates a V1NetworkAddressGroupsIDDeleteBadRequest with default headers values +func NewV1NetworkAddressGroupsIDDeleteBadRequest() *V1NetworkAddressGroupsIDDeleteBadRequest { + return &V1NetworkAddressGroupsIDDeleteBadRequest{} +} + +/* +V1NetworkAddressGroupsIDDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkAddressGroupsIDDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id delete bad request response has a 2xx status code +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id delete bad request response has a 3xx status code +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id delete bad request response has a 4xx status code +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id delete bad request response has a 5xx status code +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id delete bad request response a status code equal to that given +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network address groups Id delete bad request response +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDDeleteUnauthorized creates a V1NetworkAddressGroupsIDDeleteUnauthorized with default headers values +func NewV1NetworkAddressGroupsIDDeleteUnauthorized() *V1NetworkAddressGroupsIDDeleteUnauthorized { + return &V1NetworkAddressGroupsIDDeleteUnauthorized{} +} + +/* +V1NetworkAddressGroupsIDDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkAddressGroupsIDDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id delete unauthorized response has a 2xx status code +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id delete unauthorized response has a 3xx status code +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id delete unauthorized response has a 4xx status code +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id delete unauthorized response has a 5xx status code +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id delete unauthorized response a status code equal to that given +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network address groups Id delete unauthorized response +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDDeleteForbidden creates a V1NetworkAddressGroupsIDDeleteForbidden with default headers values +func NewV1NetworkAddressGroupsIDDeleteForbidden() *V1NetworkAddressGroupsIDDeleteForbidden { + return &V1NetworkAddressGroupsIDDeleteForbidden{} +} + +/* +V1NetworkAddressGroupsIDDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkAddressGroupsIDDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id delete forbidden response has a 2xx status code +func (o *V1NetworkAddressGroupsIDDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id delete forbidden response has a 3xx status code +func (o *V1NetworkAddressGroupsIDDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id delete forbidden response has a 4xx status code +func (o *V1NetworkAddressGroupsIDDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id delete forbidden response has a 5xx status code +func (o *V1NetworkAddressGroupsIDDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id delete forbidden response a status code equal to that given +func (o *V1NetworkAddressGroupsIDDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network address groups Id delete forbidden response +func (o *V1NetworkAddressGroupsIDDeleteForbidden) Code() int { + return 403 +} + +func (o *V1NetworkAddressGroupsIDDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDDeleteNotFound creates a V1NetworkAddressGroupsIDDeleteNotFound with default headers values +func NewV1NetworkAddressGroupsIDDeleteNotFound() *V1NetworkAddressGroupsIDDeleteNotFound { + return &V1NetworkAddressGroupsIDDeleteNotFound{} +} + +/* +V1NetworkAddressGroupsIDDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkAddressGroupsIDDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id delete not found response has a 2xx status code +func (o *V1NetworkAddressGroupsIDDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id delete not found response has a 3xx status code +func (o *V1NetworkAddressGroupsIDDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id delete not found response has a 4xx status code +func (o *V1NetworkAddressGroupsIDDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id delete not found response has a 5xx status code +func (o *V1NetworkAddressGroupsIDDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id delete not found response a status code equal to that given +func (o *V1NetworkAddressGroupsIDDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network address groups Id delete not found response +func (o *V1NetworkAddressGroupsIDDeleteNotFound) Code() int { + return 404 +} + +func (o *V1NetworkAddressGroupsIDDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDDeleteConflict creates a V1NetworkAddressGroupsIDDeleteConflict with default headers values +func NewV1NetworkAddressGroupsIDDeleteConflict() *V1NetworkAddressGroupsIDDeleteConflict { + return &V1NetworkAddressGroupsIDDeleteConflict{} +} + +/* +V1NetworkAddressGroupsIDDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkAddressGroupsIDDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id delete conflict response has a 2xx status code +func (o *V1NetworkAddressGroupsIDDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id delete conflict response has a 3xx status code +func (o *V1NetworkAddressGroupsIDDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id delete conflict response has a 4xx status code +func (o *V1NetworkAddressGroupsIDDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id delete conflict response has a 5xx status code +func (o *V1NetworkAddressGroupsIDDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id delete conflict response a status code equal to that given +func (o *V1NetworkAddressGroupsIDDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network address groups Id delete conflict response +func (o *V1NetworkAddressGroupsIDDeleteConflict) Code() int { + return 409 +} + +func (o *V1NetworkAddressGroupsIDDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDDeleteInternalServerError creates a V1NetworkAddressGroupsIDDeleteInternalServerError with default headers values +func NewV1NetworkAddressGroupsIDDeleteInternalServerError() *V1NetworkAddressGroupsIDDeleteInternalServerError { + return &V1NetworkAddressGroupsIDDeleteInternalServerError{} +} + +/* +V1NetworkAddressGroupsIDDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkAddressGroupsIDDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id delete internal server error response has a 2xx status code +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id delete internal server error response has a 3xx status code +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id delete internal server error response has a 4xx status code +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups Id delete internal server error response has a 5xx status code +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network address groups Id delete internal server error response a status code equal to that given +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network address groups Id delete internal server error response +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_get_parameters.go new file mode 100644 index 000000000..0e9784c96 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkAddressGroupsIDGetParams creates a new V1NetworkAddressGroupsIDGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkAddressGroupsIDGetParams() *V1NetworkAddressGroupsIDGetParams { + return &V1NetworkAddressGroupsIDGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkAddressGroupsIDGetParamsWithTimeout creates a new V1NetworkAddressGroupsIDGetParams object +// with the ability to set a timeout on a request. +func NewV1NetworkAddressGroupsIDGetParamsWithTimeout(timeout time.Duration) *V1NetworkAddressGroupsIDGetParams { + return &V1NetworkAddressGroupsIDGetParams{ + timeout: timeout, + } +} + +// NewV1NetworkAddressGroupsIDGetParamsWithContext creates a new V1NetworkAddressGroupsIDGetParams object +// with the ability to set a context for a request. +func NewV1NetworkAddressGroupsIDGetParamsWithContext(ctx context.Context) *V1NetworkAddressGroupsIDGetParams { + return &V1NetworkAddressGroupsIDGetParams{ + Context: ctx, + } +} + +// NewV1NetworkAddressGroupsIDGetParamsWithHTTPClient creates a new V1NetworkAddressGroupsIDGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkAddressGroupsIDGetParamsWithHTTPClient(client *http.Client) *V1NetworkAddressGroupsIDGetParams { + return &V1NetworkAddressGroupsIDGetParams{ + HTTPClient: client, + } +} + +/* +V1NetworkAddressGroupsIDGetParams contains all the parameters to send to the API endpoint + + for the v1 network address groups id get operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkAddressGroupsIDGetParams struct { + + /* NetworkAddressGroupID. + + Network Address Group ID + */ + NetworkAddressGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network address groups id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsIDGetParams) WithDefaults() *V1NetworkAddressGroupsIDGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network address groups id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsIDGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network address groups id get params +func (o *V1NetworkAddressGroupsIDGetParams) WithTimeout(timeout time.Duration) *V1NetworkAddressGroupsIDGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network address groups id get params +func (o *V1NetworkAddressGroupsIDGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network address groups id get params +func (o *V1NetworkAddressGroupsIDGetParams) WithContext(ctx context.Context) *V1NetworkAddressGroupsIDGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network address groups id get params +func (o *V1NetworkAddressGroupsIDGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network address groups id get params +func (o *V1NetworkAddressGroupsIDGetParams) WithHTTPClient(client *http.Client) *V1NetworkAddressGroupsIDGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network address groups id get params +func (o *V1NetworkAddressGroupsIDGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkAddressGroupID adds the networkAddressGroupID to the v1 network address groups id get params +func (o *V1NetworkAddressGroupsIDGetParams) WithNetworkAddressGroupID(networkAddressGroupID string) *V1NetworkAddressGroupsIDGetParams { + o.SetNetworkAddressGroupID(networkAddressGroupID) + return o +} + +// SetNetworkAddressGroupID adds the networkAddressGroupId to the v1 network address groups id get params +func (o *V1NetworkAddressGroupsIDGetParams) SetNetworkAddressGroupID(networkAddressGroupID string) { + o.NetworkAddressGroupID = networkAddressGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkAddressGroupsIDGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_address_group_id + if err := r.SetPathParam("network_address_group_id", o.NetworkAddressGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_get_responses.go new file mode 100644 index 000000000..20bfa0ebe --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkAddressGroupsIDGetReader is a Reader for the V1NetworkAddressGroupsIDGet structure. +type V1NetworkAddressGroupsIDGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkAddressGroupsIDGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkAddressGroupsIDGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkAddressGroupsIDGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkAddressGroupsIDGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkAddressGroupsIDGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkAddressGroupsIDGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkAddressGroupsIDGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/network-address-groups/{network_address_group_id}] v1.networkAddressGroups.id.get", response, response.Code()) + } +} + +// NewV1NetworkAddressGroupsIDGetOK creates a V1NetworkAddressGroupsIDGetOK with default headers values +func NewV1NetworkAddressGroupsIDGetOK() *V1NetworkAddressGroupsIDGetOK { + return &V1NetworkAddressGroupsIDGetOK{} +} + +/* +V1NetworkAddressGroupsIDGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkAddressGroupsIDGetOK struct { + Payload *models.NetworkAddressGroup +} + +// IsSuccess returns true when this v1 network address groups Id get o k response has a 2xx status code +func (o *V1NetworkAddressGroupsIDGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network address groups Id get o k response has a 3xx status code +func (o *V1NetworkAddressGroupsIDGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id get o k response has a 4xx status code +func (o *V1NetworkAddressGroupsIDGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups Id get o k response has a 5xx status code +func (o *V1NetworkAddressGroupsIDGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id get o k response a status code equal to that given +func (o *V1NetworkAddressGroupsIDGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network address groups Id get o k response +func (o *V1NetworkAddressGroupsIDGetOK) Code() int { + return 200 +} + +func (o *V1NetworkAddressGroupsIDGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsIDGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsIDGetOK) GetPayload() *models.NetworkAddressGroup { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkAddressGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDGetBadRequest creates a V1NetworkAddressGroupsIDGetBadRequest with default headers values +func NewV1NetworkAddressGroupsIDGetBadRequest() *V1NetworkAddressGroupsIDGetBadRequest { + return &V1NetworkAddressGroupsIDGetBadRequest{} +} + +/* +V1NetworkAddressGroupsIDGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkAddressGroupsIDGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id get bad request response has a 2xx status code +func (o *V1NetworkAddressGroupsIDGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id get bad request response has a 3xx status code +func (o *V1NetworkAddressGroupsIDGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id get bad request response has a 4xx status code +func (o *V1NetworkAddressGroupsIDGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id get bad request response has a 5xx status code +func (o *V1NetworkAddressGroupsIDGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id get bad request response a status code equal to that given +func (o *V1NetworkAddressGroupsIDGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network address groups Id get bad request response +func (o *V1NetworkAddressGroupsIDGetBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkAddressGroupsIDGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsIDGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsIDGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDGetUnauthorized creates a V1NetworkAddressGroupsIDGetUnauthorized with default headers values +func NewV1NetworkAddressGroupsIDGetUnauthorized() *V1NetworkAddressGroupsIDGetUnauthorized { + return &V1NetworkAddressGroupsIDGetUnauthorized{} +} + +/* +V1NetworkAddressGroupsIDGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkAddressGroupsIDGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id get unauthorized response has a 2xx status code +func (o *V1NetworkAddressGroupsIDGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id get unauthorized response has a 3xx status code +func (o *V1NetworkAddressGroupsIDGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id get unauthorized response has a 4xx status code +func (o *V1NetworkAddressGroupsIDGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id get unauthorized response has a 5xx status code +func (o *V1NetworkAddressGroupsIDGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id get unauthorized response a status code equal to that given +func (o *V1NetworkAddressGroupsIDGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network address groups Id get unauthorized response +func (o *V1NetworkAddressGroupsIDGetUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkAddressGroupsIDGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsIDGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsIDGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDGetForbidden creates a V1NetworkAddressGroupsIDGetForbidden with default headers values +func NewV1NetworkAddressGroupsIDGetForbidden() *V1NetworkAddressGroupsIDGetForbidden { + return &V1NetworkAddressGroupsIDGetForbidden{} +} + +/* +V1NetworkAddressGroupsIDGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkAddressGroupsIDGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id get forbidden response has a 2xx status code +func (o *V1NetworkAddressGroupsIDGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id get forbidden response has a 3xx status code +func (o *V1NetworkAddressGroupsIDGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id get forbidden response has a 4xx status code +func (o *V1NetworkAddressGroupsIDGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id get forbidden response has a 5xx status code +func (o *V1NetworkAddressGroupsIDGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id get forbidden response a status code equal to that given +func (o *V1NetworkAddressGroupsIDGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network address groups Id get forbidden response +func (o *V1NetworkAddressGroupsIDGetForbidden) Code() int { + return 403 +} + +func (o *V1NetworkAddressGroupsIDGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsIDGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsIDGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDGetNotFound creates a V1NetworkAddressGroupsIDGetNotFound with default headers values +func NewV1NetworkAddressGroupsIDGetNotFound() *V1NetworkAddressGroupsIDGetNotFound { + return &V1NetworkAddressGroupsIDGetNotFound{} +} + +/* +V1NetworkAddressGroupsIDGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkAddressGroupsIDGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id get not found response has a 2xx status code +func (o *V1NetworkAddressGroupsIDGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id get not found response has a 3xx status code +func (o *V1NetworkAddressGroupsIDGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id get not found response has a 4xx status code +func (o *V1NetworkAddressGroupsIDGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id get not found response has a 5xx status code +func (o *V1NetworkAddressGroupsIDGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id get not found response a status code equal to that given +func (o *V1NetworkAddressGroupsIDGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network address groups Id get not found response +func (o *V1NetworkAddressGroupsIDGetNotFound) Code() int { + return 404 +} + +func (o *V1NetworkAddressGroupsIDGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsIDGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsIDGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDGetInternalServerError creates a V1NetworkAddressGroupsIDGetInternalServerError with default headers values +func NewV1NetworkAddressGroupsIDGetInternalServerError() *V1NetworkAddressGroupsIDGetInternalServerError { + return &V1NetworkAddressGroupsIDGetInternalServerError{} +} + +/* +V1NetworkAddressGroupsIDGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkAddressGroupsIDGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id get internal server error response has a 2xx status code +func (o *V1NetworkAddressGroupsIDGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id get internal server error response has a 3xx status code +func (o *V1NetworkAddressGroupsIDGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id get internal server error response has a 4xx status code +func (o *V1NetworkAddressGroupsIDGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups Id get internal server error response has a 5xx status code +func (o *V1NetworkAddressGroupsIDGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network address groups Id get internal server error response a status code equal to that given +func (o *V1NetworkAddressGroupsIDGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network address groups Id get internal server error response +func (o *V1NetworkAddressGroupsIDGetInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkAddressGroupsIDGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsIDGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsIDGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_put_parameters.go new file mode 100644 index 000000000..c09279ba5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkAddressGroupsIDPutParams creates a new V1NetworkAddressGroupsIDPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkAddressGroupsIDPutParams() *V1NetworkAddressGroupsIDPutParams { + return &V1NetworkAddressGroupsIDPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkAddressGroupsIDPutParamsWithTimeout creates a new V1NetworkAddressGroupsIDPutParams object +// with the ability to set a timeout on a request. +func NewV1NetworkAddressGroupsIDPutParamsWithTimeout(timeout time.Duration) *V1NetworkAddressGroupsIDPutParams { + return &V1NetworkAddressGroupsIDPutParams{ + timeout: timeout, + } +} + +// NewV1NetworkAddressGroupsIDPutParamsWithContext creates a new V1NetworkAddressGroupsIDPutParams object +// with the ability to set a context for a request. +func NewV1NetworkAddressGroupsIDPutParamsWithContext(ctx context.Context) *V1NetworkAddressGroupsIDPutParams { + return &V1NetworkAddressGroupsIDPutParams{ + Context: ctx, + } +} + +// NewV1NetworkAddressGroupsIDPutParamsWithHTTPClient creates a new V1NetworkAddressGroupsIDPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkAddressGroupsIDPutParamsWithHTTPClient(client *http.Client) *V1NetworkAddressGroupsIDPutParams { + return &V1NetworkAddressGroupsIDPutParams{ + HTTPClient: client, + } +} + +/* +V1NetworkAddressGroupsIDPutParams contains all the parameters to send to the API endpoint + + for the v1 network address groups id put operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkAddressGroupsIDPutParams struct { + + /* Body. + + Parameters for the update of a Network Address Group + */ + Body *models.NetworkAddressGroupUpdate + + /* NetworkAddressGroupID. + + Network Address Group ID + */ + NetworkAddressGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network address groups id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsIDPutParams) WithDefaults() *V1NetworkAddressGroupsIDPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network address groups id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsIDPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) WithTimeout(timeout time.Duration) *V1NetworkAddressGroupsIDPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) WithContext(ctx context.Context) *V1NetworkAddressGroupsIDPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) WithHTTPClient(client *http.Client) *V1NetworkAddressGroupsIDPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) WithBody(body *models.NetworkAddressGroupUpdate) *V1NetworkAddressGroupsIDPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) SetBody(body *models.NetworkAddressGroupUpdate) { + o.Body = body +} + +// WithNetworkAddressGroupID adds the networkAddressGroupID to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) WithNetworkAddressGroupID(networkAddressGroupID string) *V1NetworkAddressGroupsIDPutParams { + o.SetNetworkAddressGroupID(networkAddressGroupID) + return o +} + +// SetNetworkAddressGroupID adds the networkAddressGroupId to the v1 network address groups id put params +func (o *V1NetworkAddressGroupsIDPutParams) SetNetworkAddressGroupID(networkAddressGroupID string) { + o.NetworkAddressGroupID = networkAddressGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkAddressGroupsIDPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_address_group_id + if err := r.SetPathParam("network_address_group_id", o.NetworkAddressGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_put_responses.go new file mode 100644 index 000000000..0443b8bed --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_id_put_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkAddressGroupsIDPutReader is a Reader for the V1NetworkAddressGroupsIDPut structure. +type V1NetworkAddressGroupsIDPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkAddressGroupsIDPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkAddressGroupsIDPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkAddressGroupsIDPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkAddressGroupsIDPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkAddressGroupsIDPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkAddressGroupsIDPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkAddressGroupsIDPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/network-address-groups/{network_address_group_id}] v1.networkAddressGroups.id.put", response, response.Code()) + } +} + +// NewV1NetworkAddressGroupsIDPutOK creates a V1NetworkAddressGroupsIDPutOK with default headers values +func NewV1NetworkAddressGroupsIDPutOK() *V1NetworkAddressGroupsIDPutOK { + return &V1NetworkAddressGroupsIDPutOK{} +} + +/* +V1NetworkAddressGroupsIDPutOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkAddressGroupsIDPutOK struct { + Payload *models.NetworkAddressGroup +} + +// IsSuccess returns true when this v1 network address groups Id put o k response has a 2xx status code +func (o *V1NetworkAddressGroupsIDPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network address groups Id put o k response has a 3xx status code +func (o *V1NetworkAddressGroupsIDPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id put o k response has a 4xx status code +func (o *V1NetworkAddressGroupsIDPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups Id put o k response has a 5xx status code +func (o *V1NetworkAddressGroupsIDPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id put o k response a status code equal to that given +func (o *V1NetworkAddressGroupsIDPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network address groups Id put o k response +func (o *V1NetworkAddressGroupsIDPutOK) Code() int { + return 200 +} + +func (o *V1NetworkAddressGroupsIDPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsIDPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsIDPutOK) GetPayload() *models.NetworkAddressGroup { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkAddressGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDPutBadRequest creates a V1NetworkAddressGroupsIDPutBadRequest with default headers values +func NewV1NetworkAddressGroupsIDPutBadRequest() *V1NetworkAddressGroupsIDPutBadRequest { + return &V1NetworkAddressGroupsIDPutBadRequest{} +} + +/* +V1NetworkAddressGroupsIDPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkAddressGroupsIDPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id put bad request response has a 2xx status code +func (o *V1NetworkAddressGroupsIDPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id put bad request response has a 3xx status code +func (o *V1NetworkAddressGroupsIDPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id put bad request response has a 4xx status code +func (o *V1NetworkAddressGroupsIDPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id put bad request response has a 5xx status code +func (o *V1NetworkAddressGroupsIDPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id put bad request response a status code equal to that given +func (o *V1NetworkAddressGroupsIDPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network address groups Id put bad request response +func (o *V1NetworkAddressGroupsIDPutBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkAddressGroupsIDPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsIDPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsIDPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDPutUnauthorized creates a V1NetworkAddressGroupsIDPutUnauthorized with default headers values +func NewV1NetworkAddressGroupsIDPutUnauthorized() *V1NetworkAddressGroupsIDPutUnauthorized { + return &V1NetworkAddressGroupsIDPutUnauthorized{} +} + +/* +V1NetworkAddressGroupsIDPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkAddressGroupsIDPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id put unauthorized response has a 2xx status code +func (o *V1NetworkAddressGroupsIDPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id put unauthorized response has a 3xx status code +func (o *V1NetworkAddressGroupsIDPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id put unauthorized response has a 4xx status code +func (o *V1NetworkAddressGroupsIDPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id put unauthorized response has a 5xx status code +func (o *V1NetworkAddressGroupsIDPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id put unauthorized response a status code equal to that given +func (o *V1NetworkAddressGroupsIDPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network address groups Id put unauthorized response +func (o *V1NetworkAddressGroupsIDPutUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkAddressGroupsIDPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsIDPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsIDPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDPutForbidden creates a V1NetworkAddressGroupsIDPutForbidden with default headers values +func NewV1NetworkAddressGroupsIDPutForbidden() *V1NetworkAddressGroupsIDPutForbidden { + return &V1NetworkAddressGroupsIDPutForbidden{} +} + +/* +V1NetworkAddressGroupsIDPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkAddressGroupsIDPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id put forbidden response has a 2xx status code +func (o *V1NetworkAddressGroupsIDPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id put forbidden response has a 3xx status code +func (o *V1NetworkAddressGroupsIDPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id put forbidden response has a 4xx status code +func (o *V1NetworkAddressGroupsIDPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id put forbidden response has a 5xx status code +func (o *V1NetworkAddressGroupsIDPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id put forbidden response a status code equal to that given +func (o *V1NetworkAddressGroupsIDPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network address groups Id put forbidden response +func (o *V1NetworkAddressGroupsIDPutForbidden) Code() int { + return 403 +} + +func (o *V1NetworkAddressGroupsIDPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsIDPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsIDPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDPutNotFound creates a V1NetworkAddressGroupsIDPutNotFound with default headers values +func NewV1NetworkAddressGroupsIDPutNotFound() *V1NetworkAddressGroupsIDPutNotFound { + return &V1NetworkAddressGroupsIDPutNotFound{} +} + +/* +V1NetworkAddressGroupsIDPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkAddressGroupsIDPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id put not found response has a 2xx status code +func (o *V1NetworkAddressGroupsIDPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id put not found response has a 3xx status code +func (o *V1NetworkAddressGroupsIDPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id put not found response has a 4xx status code +func (o *V1NetworkAddressGroupsIDPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups Id put not found response has a 5xx status code +func (o *V1NetworkAddressGroupsIDPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups Id put not found response a status code equal to that given +func (o *V1NetworkAddressGroupsIDPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network address groups Id put not found response +func (o *V1NetworkAddressGroupsIDPutNotFound) Code() int { + return 404 +} + +func (o *V1NetworkAddressGroupsIDPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsIDPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsIDPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsIDPutInternalServerError creates a V1NetworkAddressGroupsIDPutInternalServerError with default headers values +func NewV1NetworkAddressGroupsIDPutInternalServerError() *V1NetworkAddressGroupsIDPutInternalServerError { + return &V1NetworkAddressGroupsIDPutInternalServerError{} +} + +/* +V1NetworkAddressGroupsIDPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkAddressGroupsIDPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups Id put internal server error response has a 2xx status code +func (o *V1NetworkAddressGroupsIDPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups Id put internal server error response has a 3xx status code +func (o *V1NetworkAddressGroupsIDPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups Id put internal server error response has a 4xx status code +func (o *V1NetworkAddressGroupsIDPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups Id put internal server error response has a 5xx status code +func (o *V1NetworkAddressGroupsIDPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network address groups Id put internal server error response a status code equal to that given +func (o *V1NetworkAddressGroupsIDPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network address groups Id put internal server error response +func (o *V1NetworkAddressGroupsIDPutInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkAddressGroupsIDPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsIDPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-address-groups/{network_address_group_id}][%d] v1NetworkAddressGroupsIdPutInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsIDPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsIDPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_delete_parameters.go new file mode 100644 index 000000000..9351b40f4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkAddressGroupsMembersDeleteParams creates a new V1NetworkAddressGroupsMembersDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkAddressGroupsMembersDeleteParams() *V1NetworkAddressGroupsMembersDeleteParams { + return &V1NetworkAddressGroupsMembersDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkAddressGroupsMembersDeleteParamsWithTimeout creates a new V1NetworkAddressGroupsMembersDeleteParams object +// with the ability to set a timeout on a request. +func NewV1NetworkAddressGroupsMembersDeleteParamsWithTimeout(timeout time.Duration) *V1NetworkAddressGroupsMembersDeleteParams { + return &V1NetworkAddressGroupsMembersDeleteParams{ + timeout: timeout, + } +} + +// NewV1NetworkAddressGroupsMembersDeleteParamsWithContext creates a new V1NetworkAddressGroupsMembersDeleteParams object +// with the ability to set a context for a request. +func NewV1NetworkAddressGroupsMembersDeleteParamsWithContext(ctx context.Context) *V1NetworkAddressGroupsMembersDeleteParams { + return &V1NetworkAddressGroupsMembersDeleteParams{ + Context: ctx, + } +} + +// NewV1NetworkAddressGroupsMembersDeleteParamsWithHTTPClient creates a new V1NetworkAddressGroupsMembersDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkAddressGroupsMembersDeleteParamsWithHTTPClient(client *http.Client) *V1NetworkAddressGroupsMembersDeleteParams { + return &V1NetworkAddressGroupsMembersDeleteParams{ + HTTPClient: client, + } +} + +/* +V1NetworkAddressGroupsMembersDeleteParams contains all the parameters to send to the API endpoint + + for the v1 network address groups members delete operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkAddressGroupsMembersDeleteParams struct { + + /* NetworkAddressGroupID. + + Network Address Group ID + */ + NetworkAddressGroupID string + + /* NetworkAddressGroupMemberID. + + The Network Address Group Member ID + */ + NetworkAddressGroupMemberID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network address groups members delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsMembersDeleteParams) WithDefaults() *V1NetworkAddressGroupsMembersDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network address groups members delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsMembersDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) WithTimeout(timeout time.Duration) *V1NetworkAddressGroupsMembersDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) WithContext(ctx context.Context) *V1NetworkAddressGroupsMembersDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) WithHTTPClient(client *http.Client) *V1NetworkAddressGroupsMembersDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkAddressGroupID adds the networkAddressGroupID to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) WithNetworkAddressGroupID(networkAddressGroupID string) *V1NetworkAddressGroupsMembersDeleteParams { + o.SetNetworkAddressGroupID(networkAddressGroupID) + return o +} + +// SetNetworkAddressGroupID adds the networkAddressGroupId to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) SetNetworkAddressGroupID(networkAddressGroupID string) { + o.NetworkAddressGroupID = networkAddressGroupID +} + +// WithNetworkAddressGroupMemberID adds the networkAddressGroupMemberID to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) WithNetworkAddressGroupMemberID(networkAddressGroupMemberID string) *V1NetworkAddressGroupsMembersDeleteParams { + o.SetNetworkAddressGroupMemberID(networkAddressGroupMemberID) + return o +} + +// SetNetworkAddressGroupMemberID adds the networkAddressGroupMemberId to the v1 network address groups members delete params +func (o *V1NetworkAddressGroupsMembersDeleteParams) SetNetworkAddressGroupMemberID(networkAddressGroupMemberID string) { + o.NetworkAddressGroupMemberID = networkAddressGroupMemberID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkAddressGroupsMembersDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_address_group_id + if err := r.SetPathParam("network_address_group_id", o.NetworkAddressGroupID); err != nil { + return err + } + + // path param network_address_group_member_id + if err := r.SetPathParam("network_address_group_member_id", o.NetworkAddressGroupMemberID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_delete_responses.go new file mode 100644 index 000000000..e5a2df0da --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkAddressGroupsMembersDeleteReader is a Reader for the V1NetworkAddressGroupsMembersDelete structure. +type V1NetworkAddressGroupsMembersDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkAddressGroupsMembersDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkAddressGroupsMembersDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkAddressGroupsMembersDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkAddressGroupsMembersDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkAddressGroupsMembersDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkAddressGroupsMembersDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkAddressGroupsMembersDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkAddressGroupsMembersDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}] v1.networkAddressGroups.members.delete", response, response.Code()) + } +} + +// NewV1NetworkAddressGroupsMembersDeleteOK creates a V1NetworkAddressGroupsMembersDeleteOK with default headers values +func NewV1NetworkAddressGroupsMembersDeleteOK() *V1NetworkAddressGroupsMembersDeleteOK { + return &V1NetworkAddressGroupsMembersDeleteOK{} +} + +/* +V1NetworkAddressGroupsMembersDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkAddressGroupsMembersDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network address groups members delete o k response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network address groups members delete o k response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members delete o k response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups members delete o k response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members delete o k response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network address groups members delete o k response +func (o *V1NetworkAddressGroupsMembersDeleteOK) Code() int { + return 200 +} + +func (o *V1NetworkAddressGroupsMembersDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersDeleteBadRequest creates a V1NetworkAddressGroupsMembersDeleteBadRequest with default headers values +func NewV1NetworkAddressGroupsMembersDeleteBadRequest() *V1NetworkAddressGroupsMembersDeleteBadRequest { + return &V1NetworkAddressGroupsMembersDeleteBadRequest{} +} + +/* +V1NetworkAddressGroupsMembersDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkAddressGroupsMembersDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members delete bad request response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members delete bad request response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members delete bad request response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members delete bad request response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members delete bad request response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network address groups members delete bad request response +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersDeleteUnauthorized creates a V1NetworkAddressGroupsMembersDeleteUnauthorized with default headers values +func NewV1NetworkAddressGroupsMembersDeleteUnauthorized() *V1NetworkAddressGroupsMembersDeleteUnauthorized { + return &V1NetworkAddressGroupsMembersDeleteUnauthorized{} +} + +/* +V1NetworkAddressGroupsMembersDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkAddressGroupsMembersDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members delete unauthorized response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members delete unauthorized response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members delete unauthorized response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members delete unauthorized response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members delete unauthorized response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network address groups members delete unauthorized response +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersDeleteForbidden creates a V1NetworkAddressGroupsMembersDeleteForbidden with default headers values +func NewV1NetworkAddressGroupsMembersDeleteForbidden() *V1NetworkAddressGroupsMembersDeleteForbidden { + return &V1NetworkAddressGroupsMembersDeleteForbidden{} +} + +/* +V1NetworkAddressGroupsMembersDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkAddressGroupsMembersDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members delete forbidden response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members delete forbidden response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members delete forbidden response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members delete forbidden response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members delete forbidden response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network address groups members delete forbidden response +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) Code() int { + return 403 +} + +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersDeleteNotFound creates a V1NetworkAddressGroupsMembersDeleteNotFound with default headers values +func NewV1NetworkAddressGroupsMembersDeleteNotFound() *V1NetworkAddressGroupsMembersDeleteNotFound { + return &V1NetworkAddressGroupsMembersDeleteNotFound{} +} + +/* +V1NetworkAddressGroupsMembersDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkAddressGroupsMembersDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members delete not found response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members delete not found response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members delete not found response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members delete not found response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members delete not found response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network address groups members delete not found response +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) Code() int { + return 404 +} + +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersDeleteConflict creates a V1NetworkAddressGroupsMembersDeleteConflict with default headers values +func NewV1NetworkAddressGroupsMembersDeleteConflict() *V1NetworkAddressGroupsMembersDeleteConflict { + return &V1NetworkAddressGroupsMembersDeleteConflict{} +} + +/* +V1NetworkAddressGroupsMembersDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkAddressGroupsMembersDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members delete conflict response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members delete conflict response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members delete conflict response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members delete conflict response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members delete conflict response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network address groups members delete conflict response +func (o *V1NetworkAddressGroupsMembersDeleteConflict) Code() int { + return 409 +} + +func (o *V1NetworkAddressGroupsMembersDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersDeleteInternalServerError creates a V1NetworkAddressGroupsMembersDeleteInternalServerError with default headers values +func NewV1NetworkAddressGroupsMembersDeleteInternalServerError() *V1NetworkAddressGroupsMembersDeleteInternalServerError { + return &V1NetworkAddressGroupsMembersDeleteInternalServerError{} +} + +/* +V1NetworkAddressGroupsMembersDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkAddressGroupsMembersDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members delete internal server error response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members delete internal server error response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members delete internal server error response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups members delete internal server error response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network address groups members delete internal server error response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network address groups members delete internal server error response +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-address-groups/{network_address_group_id}/members/{network_address_group_member_id}][%d] v1NetworkAddressGroupsMembersDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_post_parameters.go new file mode 100644 index 000000000..b178cd0f2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkAddressGroupsMembersPostParams creates a new V1NetworkAddressGroupsMembersPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkAddressGroupsMembersPostParams() *V1NetworkAddressGroupsMembersPostParams { + return &V1NetworkAddressGroupsMembersPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkAddressGroupsMembersPostParamsWithTimeout creates a new V1NetworkAddressGroupsMembersPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkAddressGroupsMembersPostParamsWithTimeout(timeout time.Duration) *V1NetworkAddressGroupsMembersPostParams { + return &V1NetworkAddressGroupsMembersPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkAddressGroupsMembersPostParamsWithContext creates a new V1NetworkAddressGroupsMembersPostParams object +// with the ability to set a context for a request. +func NewV1NetworkAddressGroupsMembersPostParamsWithContext(ctx context.Context) *V1NetworkAddressGroupsMembersPostParams { + return &V1NetworkAddressGroupsMembersPostParams{ + Context: ctx, + } +} + +// NewV1NetworkAddressGroupsMembersPostParamsWithHTTPClient creates a new V1NetworkAddressGroupsMembersPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkAddressGroupsMembersPostParamsWithHTTPClient(client *http.Client) *V1NetworkAddressGroupsMembersPostParams { + return &V1NetworkAddressGroupsMembersPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkAddressGroupsMembersPostParams contains all the parameters to send to the API endpoint + + for the v1 network address groups members post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkAddressGroupsMembersPostParams struct { + + /* Body. + + Parameters for adding a member to a Network Address Group + */ + Body *models.NetworkAddressGroupAddMember + + /* NetworkAddressGroupID. + + Network Address Group ID + */ + NetworkAddressGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network address groups members post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsMembersPostParams) WithDefaults() *V1NetworkAddressGroupsMembersPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network address groups members post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsMembersPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) WithTimeout(timeout time.Duration) *V1NetworkAddressGroupsMembersPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) WithContext(ctx context.Context) *V1NetworkAddressGroupsMembersPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) WithHTTPClient(client *http.Client) *V1NetworkAddressGroupsMembersPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) WithBody(body *models.NetworkAddressGroupAddMember) *V1NetworkAddressGroupsMembersPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) SetBody(body *models.NetworkAddressGroupAddMember) { + o.Body = body +} + +// WithNetworkAddressGroupID adds the networkAddressGroupID to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) WithNetworkAddressGroupID(networkAddressGroupID string) *V1NetworkAddressGroupsMembersPostParams { + o.SetNetworkAddressGroupID(networkAddressGroupID) + return o +} + +// SetNetworkAddressGroupID adds the networkAddressGroupId to the v1 network address groups members post params +func (o *V1NetworkAddressGroupsMembersPostParams) SetNetworkAddressGroupID(networkAddressGroupID string) { + o.NetworkAddressGroupID = networkAddressGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkAddressGroupsMembersPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_address_group_id + if err := r.SetPathParam("network_address_group_id", o.NetworkAddressGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_post_responses.go new file mode 100644 index 000000000..adfa15d2d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_members_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkAddressGroupsMembersPostReader is a Reader for the V1NetworkAddressGroupsMembersPost structure. +type V1NetworkAddressGroupsMembersPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkAddressGroupsMembersPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkAddressGroupsMembersPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkAddressGroupsMembersPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkAddressGroupsMembersPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkAddressGroupsMembersPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkAddressGroupsMembersPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkAddressGroupsMembersPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1NetworkAddressGroupsMembersPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkAddressGroupsMembersPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-address-groups/{network_address_group_id}/members] v1.networkAddressGroups.members.post", response, response.Code()) + } +} + +// NewV1NetworkAddressGroupsMembersPostOK creates a V1NetworkAddressGroupsMembersPostOK with default headers values +func NewV1NetworkAddressGroupsMembersPostOK() *V1NetworkAddressGroupsMembersPostOK { + return &V1NetworkAddressGroupsMembersPostOK{} +} + +/* +V1NetworkAddressGroupsMembersPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkAddressGroupsMembersPostOK struct { + Payload *models.NetworkAddressGroupMember +} + +// IsSuccess returns true when this v1 network address groups members post o k response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network address groups members post o k response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members post o k response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups members post o k response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members post o k response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network address groups members post o k response +func (o *V1NetworkAddressGroupsMembersPostOK) Code() int { + return 200 +} + +func (o *V1NetworkAddressGroupsMembersPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostOK) GetPayload() *models.NetworkAddressGroupMember { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkAddressGroupMember) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersPostBadRequest creates a V1NetworkAddressGroupsMembersPostBadRequest with default headers values +func NewV1NetworkAddressGroupsMembersPostBadRequest() *V1NetworkAddressGroupsMembersPostBadRequest { + return &V1NetworkAddressGroupsMembersPostBadRequest{} +} + +/* +V1NetworkAddressGroupsMembersPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkAddressGroupsMembersPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members post bad request response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members post bad request response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members post bad request response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members post bad request response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members post bad request response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network address groups members post bad request response +func (o *V1NetworkAddressGroupsMembersPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkAddressGroupsMembersPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersPostUnauthorized creates a V1NetworkAddressGroupsMembersPostUnauthorized with default headers values +func NewV1NetworkAddressGroupsMembersPostUnauthorized() *V1NetworkAddressGroupsMembersPostUnauthorized { + return &V1NetworkAddressGroupsMembersPostUnauthorized{} +} + +/* +V1NetworkAddressGroupsMembersPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkAddressGroupsMembersPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members post unauthorized response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members post unauthorized response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members post unauthorized response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members post unauthorized response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members post unauthorized response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network address groups members post unauthorized response +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersPostForbidden creates a V1NetworkAddressGroupsMembersPostForbidden with default headers values +func NewV1NetworkAddressGroupsMembersPostForbidden() *V1NetworkAddressGroupsMembersPostForbidden { + return &V1NetworkAddressGroupsMembersPostForbidden{} +} + +/* +V1NetworkAddressGroupsMembersPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkAddressGroupsMembersPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members post forbidden response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members post forbidden response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members post forbidden response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members post forbidden response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members post forbidden response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network address groups members post forbidden response +func (o *V1NetworkAddressGroupsMembersPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkAddressGroupsMembersPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersPostNotFound creates a V1NetworkAddressGroupsMembersPostNotFound with default headers values +func NewV1NetworkAddressGroupsMembersPostNotFound() *V1NetworkAddressGroupsMembersPostNotFound { + return &V1NetworkAddressGroupsMembersPostNotFound{} +} + +/* +V1NetworkAddressGroupsMembersPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkAddressGroupsMembersPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members post not found response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members post not found response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members post not found response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members post not found response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members post not found response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network address groups members post not found response +func (o *V1NetworkAddressGroupsMembersPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkAddressGroupsMembersPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersPostConflict creates a V1NetworkAddressGroupsMembersPostConflict with default headers values +func NewV1NetworkAddressGroupsMembersPostConflict() *V1NetworkAddressGroupsMembersPostConflict { + return &V1NetworkAddressGroupsMembersPostConflict{} +} + +/* +V1NetworkAddressGroupsMembersPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkAddressGroupsMembersPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members post conflict response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members post conflict response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members post conflict response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members post conflict response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members post conflict response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network address groups members post conflict response +func (o *V1NetworkAddressGroupsMembersPostConflict) Code() int { + return 409 +} + +func (o *V1NetworkAddressGroupsMembersPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostConflict %s", 409, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostConflict %s", 409, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersPostUnprocessableEntity creates a V1NetworkAddressGroupsMembersPostUnprocessableEntity with default headers values +func NewV1NetworkAddressGroupsMembersPostUnprocessableEntity() *V1NetworkAddressGroupsMembersPostUnprocessableEntity { + return &V1NetworkAddressGroupsMembersPostUnprocessableEntity{} +} + +/* +V1NetworkAddressGroupsMembersPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1NetworkAddressGroupsMembersPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members post unprocessable entity response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members post unprocessable entity response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members post unprocessable entity response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups members post unprocessable entity response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups members post unprocessable entity response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 network address groups members post unprocessable entity response +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsMembersPostInternalServerError creates a V1NetworkAddressGroupsMembersPostInternalServerError with default headers values +func NewV1NetworkAddressGroupsMembersPostInternalServerError() *V1NetworkAddressGroupsMembersPostInternalServerError { + return &V1NetworkAddressGroupsMembersPostInternalServerError{} +} + +/* +V1NetworkAddressGroupsMembersPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkAddressGroupsMembersPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups members post internal server error response has a 2xx status code +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups members post internal server error response has a 3xx status code +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups members post internal server error response has a 4xx status code +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups members post internal server error response has a 5xx status code +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network address groups members post internal server error response a status code equal to that given +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network address groups members post internal server error response +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups/{network_address_group_id}/members][%d] v1NetworkAddressGroupsMembersPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsMembersPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_post_parameters.go new file mode 100644 index 000000000..508919b2d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkAddressGroupsPostParams creates a new V1NetworkAddressGroupsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkAddressGroupsPostParams() *V1NetworkAddressGroupsPostParams { + return &V1NetworkAddressGroupsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkAddressGroupsPostParamsWithTimeout creates a new V1NetworkAddressGroupsPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkAddressGroupsPostParamsWithTimeout(timeout time.Duration) *V1NetworkAddressGroupsPostParams { + return &V1NetworkAddressGroupsPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkAddressGroupsPostParamsWithContext creates a new V1NetworkAddressGroupsPostParams object +// with the ability to set a context for a request. +func NewV1NetworkAddressGroupsPostParamsWithContext(ctx context.Context) *V1NetworkAddressGroupsPostParams { + return &V1NetworkAddressGroupsPostParams{ + Context: ctx, + } +} + +// NewV1NetworkAddressGroupsPostParamsWithHTTPClient creates a new V1NetworkAddressGroupsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkAddressGroupsPostParamsWithHTTPClient(client *http.Client) *V1NetworkAddressGroupsPostParams { + return &V1NetworkAddressGroupsPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkAddressGroupsPostParams contains all the parameters to send to the API endpoint + + for the v1 network address groups post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkAddressGroupsPostParams struct { + + /* Body. + + Parameters for the creation of a Network Address Group + */ + Body *models.NetworkAddressGroupCreate + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network address groups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsPostParams) WithDefaults() *V1NetworkAddressGroupsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network address groups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkAddressGroupsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network address groups post params +func (o *V1NetworkAddressGroupsPostParams) WithTimeout(timeout time.Duration) *V1NetworkAddressGroupsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network address groups post params +func (o *V1NetworkAddressGroupsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network address groups post params +func (o *V1NetworkAddressGroupsPostParams) WithContext(ctx context.Context) *V1NetworkAddressGroupsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network address groups post params +func (o *V1NetworkAddressGroupsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network address groups post params +func (o *V1NetworkAddressGroupsPostParams) WithHTTPClient(client *http.Client) *V1NetworkAddressGroupsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network address groups post params +func (o *V1NetworkAddressGroupsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network address groups post params +func (o *V1NetworkAddressGroupsPostParams) WithBody(body *models.NetworkAddressGroupCreate) *V1NetworkAddressGroupsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network address groups post params +func (o *V1NetworkAddressGroupsPostParams) SetBody(body *models.NetworkAddressGroupCreate) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkAddressGroupsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_post_responses.go new file mode 100644 index 000000000..5d041d879 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_address_groups/v1_network_address_groups_post_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_address_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkAddressGroupsPostReader is a Reader for the V1NetworkAddressGroupsPost structure. +type V1NetworkAddressGroupsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkAddressGroupsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkAddressGroupsPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewV1NetworkAddressGroupsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkAddressGroupsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkAddressGroupsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkAddressGroupsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkAddressGroupsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkAddressGroupsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1NetworkAddressGroupsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkAddressGroupsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-address-groups] v1.networkAddressGroups.post", response, response.Code()) + } +} + +// NewV1NetworkAddressGroupsPostOK creates a V1NetworkAddressGroupsPostOK with default headers values +func NewV1NetworkAddressGroupsPostOK() *V1NetworkAddressGroupsPostOK { + return &V1NetworkAddressGroupsPostOK{} +} + +/* +V1NetworkAddressGroupsPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkAddressGroupsPostOK struct { + Payload *models.NetworkAddressGroup +} + +// IsSuccess returns true when this v1 network address groups post o k response has a 2xx status code +func (o *V1NetworkAddressGroupsPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network address groups post o k response has a 3xx status code +func (o *V1NetworkAddressGroupsPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post o k response has a 4xx status code +func (o *V1NetworkAddressGroupsPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups post o k response has a 5xx status code +func (o *V1NetworkAddressGroupsPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups post o k response a status code equal to that given +func (o *V1NetworkAddressGroupsPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network address groups post o k response +func (o *V1NetworkAddressGroupsPostOK) Code() int { + return 200 +} + +func (o *V1NetworkAddressGroupsPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostOK %s", 200, payload) +} + +func (o *V1NetworkAddressGroupsPostOK) GetPayload() *models.NetworkAddressGroup { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkAddressGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsPostCreated creates a V1NetworkAddressGroupsPostCreated with default headers values +func NewV1NetworkAddressGroupsPostCreated() *V1NetworkAddressGroupsPostCreated { + return &V1NetworkAddressGroupsPostCreated{} +} + +/* +V1NetworkAddressGroupsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type V1NetworkAddressGroupsPostCreated struct { + Payload *models.NetworkAddressGroup +} + +// IsSuccess returns true when this v1 network address groups post created response has a 2xx status code +func (o *V1NetworkAddressGroupsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network address groups post created response has a 3xx status code +func (o *V1NetworkAddressGroupsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post created response has a 4xx status code +func (o *V1NetworkAddressGroupsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups post created response has a 5xx status code +func (o *V1NetworkAddressGroupsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups post created response a status code equal to that given +func (o *V1NetworkAddressGroupsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the v1 network address groups post created response +func (o *V1NetworkAddressGroupsPostCreated) Code() int { + return 201 +} + +func (o *V1NetworkAddressGroupsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostCreated %s", 201, payload) +} + +func (o *V1NetworkAddressGroupsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostCreated %s", 201, payload) +} + +func (o *V1NetworkAddressGroupsPostCreated) GetPayload() *models.NetworkAddressGroup { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkAddressGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsPostBadRequest creates a V1NetworkAddressGroupsPostBadRequest with default headers values +func NewV1NetworkAddressGroupsPostBadRequest() *V1NetworkAddressGroupsPostBadRequest { + return &V1NetworkAddressGroupsPostBadRequest{} +} + +/* +V1NetworkAddressGroupsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkAddressGroupsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups post bad request response has a 2xx status code +func (o *V1NetworkAddressGroupsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups post bad request response has a 3xx status code +func (o *V1NetworkAddressGroupsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post bad request response has a 4xx status code +func (o *V1NetworkAddressGroupsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups post bad request response has a 5xx status code +func (o *V1NetworkAddressGroupsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups post bad request response a status code equal to that given +func (o *V1NetworkAddressGroupsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network address groups post bad request response +func (o *V1NetworkAddressGroupsPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkAddressGroupsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkAddressGroupsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsPostUnauthorized creates a V1NetworkAddressGroupsPostUnauthorized with default headers values +func NewV1NetworkAddressGroupsPostUnauthorized() *V1NetworkAddressGroupsPostUnauthorized { + return &V1NetworkAddressGroupsPostUnauthorized{} +} + +/* +V1NetworkAddressGroupsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkAddressGroupsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups post unauthorized response has a 2xx status code +func (o *V1NetworkAddressGroupsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups post unauthorized response has a 3xx status code +func (o *V1NetworkAddressGroupsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post unauthorized response has a 4xx status code +func (o *V1NetworkAddressGroupsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups post unauthorized response has a 5xx status code +func (o *V1NetworkAddressGroupsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups post unauthorized response a status code equal to that given +func (o *V1NetworkAddressGroupsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network address groups post unauthorized response +func (o *V1NetworkAddressGroupsPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkAddressGroupsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkAddressGroupsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsPostForbidden creates a V1NetworkAddressGroupsPostForbidden with default headers values +func NewV1NetworkAddressGroupsPostForbidden() *V1NetworkAddressGroupsPostForbidden { + return &V1NetworkAddressGroupsPostForbidden{} +} + +/* +V1NetworkAddressGroupsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkAddressGroupsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups post forbidden response has a 2xx status code +func (o *V1NetworkAddressGroupsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups post forbidden response has a 3xx status code +func (o *V1NetworkAddressGroupsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post forbidden response has a 4xx status code +func (o *V1NetworkAddressGroupsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups post forbidden response has a 5xx status code +func (o *V1NetworkAddressGroupsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups post forbidden response a status code equal to that given +func (o *V1NetworkAddressGroupsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network address groups post forbidden response +func (o *V1NetworkAddressGroupsPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkAddressGroupsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostForbidden %s", 403, payload) +} + +func (o *V1NetworkAddressGroupsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsPostNotFound creates a V1NetworkAddressGroupsPostNotFound with default headers values +func NewV1NetworkAddressGroupsPostNotFound() *V1NetworkAddressGroupsPostNotFound { + return &V1NetworkAddressGroupsPostNotFound{} +} + +/* +V1NetworkAddressGroupsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkAddressGroupsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups post not found response has a 2xx status code +func (o *V1NetworkAddressGroupsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups post not found response has a 3xx status code +func (o *V1NetworkAddressGroupsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post not found response has a 4xx status code +func (o *V1NetworkAddressGroupsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups post not found response has a 5xx status code +func (o *V1NetworkAddressGroupsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups post not found response a status code equal to that given +func (o *V1NetworkAddressGroupsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network address groups post not found response +func (o *V1NetworkAddressGroupsPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkAddressGroupsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostNotFound %s", 404, payload) +} + +func (o *V1NetworkAddressGroupsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsPostConflict creates a V1NetworkAddressGroupsPostConflict with default headers values +func NewV1NetworkAddressGroupsPostConflict() *V1NetworkAddressGroupsPostConflict { + return &V1NetworkAddressGroupsPostConflict{} +} + +/* +V1NetworkAddressGroupsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkAddressGroupsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups post conflict response has a 2xx status code +func (o *V1NetworkAddressGroupsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups post conflict response has a 3xx status code +func (o *V1NetworkAddressGroupsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post conflict response has a 4xx status code +func (o *V1NetworkAddressGroupsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups post conflict response has a 5xx status code +func (o *V1NetworkAddressGroupsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups post conflict response a status code equal to that given +func (o *V1NetworkAddressGroupsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network address groups post conflict response +func (o *V1NetworkAddressGroupsPostConflict) Code() int { + return 409 +} + +func (o *V1NetworkAddressGroupsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostConflict %s", 409, payload) +} + +func (o *V1NetworkAddressGroupsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostConflict %s", 409, payload) +} + +func (o *V1NetworkAddressGroupsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsPostUnprocessableEntity creates a V1NetworkAddressGroupsPostUnprocessableEntity with default headers values +func NewV1NetworkAddressGroupsPostUnprocessableEntity() *V1NetworkAddressGroupsPostUnprocessableEntity { + return &V1NetworkAddressGroupsPostUnprocessableEntity{} +} + +/* +V1NetworkAddressGroupsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1NetworkAddressGroupsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups post unprocessable entity response has a 2xx status code +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups post unprocessable entity response has a 3xx status code +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post unprocessable entity response has a 4xx status code +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network address groups post unprocessable entity response has a 5xx status code +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network address groups post unprocessable entity response a status code equal to that given +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 network address groups post unprocessable entity response +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkAddressGroupsPostInternalServerError creates a V1NetworkAddressGroupsPostInternalServerError with default headers values +func NewV1NetworkAddressGroupsPostInternalServerError() *V1NetworkAddressGroupsPostInternalServerError { + return &V1NetworkAddressGroupsPostInternalServerError{} +} + +/* +V1NetworkAddressGroupsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkAddressGroupsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network address groups post internal server error response has a 2xx status code +func (o *V1NetworkAddressGroupsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network address groups post internal server error response has a 3xx status code +func (o *V1NetworkAddressGroupsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network address groups post internal server error response has a 4xx status code +func (o *V1NetworkAddressGroupsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network address groups post internal server error response has a 5xx status code +func (o *V1NetworkAddressGroupsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network address groups post internal server error response a status code equal to that given +func (o *V1NetworkAddressGroupsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network address groups post internal server error response +func (o *V1NetworkAddressGroupsPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkAddressGroupsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-address-groups][%d] v1NetworkAddressGroupsPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkAddressGroupsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkAddressGroupsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/network_peers_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/network_peers_client.go new file mode 100644 index 000000000..35322e32b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/network_peers_client.go @@ -0,0 +1,479 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new network peers API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new network peers API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new network peers API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for network peers API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1NetworkPeersGetall(params *V1NetworkPeersGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersGetallOK, error) + + V1NetworkPeersIDDelete(params *V1NetworkPeersIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersIDDeleteOK, error) + + V1NetworkPeersIDGet(params *V1NetworkPeersIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersIDGetOK, error) + + V1NetworkPeersIDPut(params *V1NetworkPeersIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersIDPutOK, error) + + V1NetworkPeersInterfacesGetall(params *V1NetworkPeersInterfacesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersInterfacesGetallOK, error) + + V1NetworkPeersPost(params *V1NetworkPeersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersPostOK, error) + + V1NetworkPeersRouteFilterIDDelete(params *V1NetworkPeersRouteFilterIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersRouteFilterIDDeleteOK, error) + + V1NetworkPeersRouteFilterIDGet(params *V1NetworkPeersRouteFilterIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersRouteFilterIDGetOK, error) + + V1NetworkPeersRouteFiltersPost(params *V1NetworkPeersRouteFiltersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersRouteFiltersPostOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1NetworkPeersGetall gets the list of network peers +*/ +func (a *Client) V1NetworkPeersGetall(params *V1NetworkPeersGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.getall", + Method: "GET", + PathPattern: "/v1/network-peers", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkPeersIDDelete deletes a network peer +*/ +func (a *Client) V1NetworkPeersIDDelete(params *V1NetworkPeersIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersIDDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersIDDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.id.delete", + Method: "DELETE", + PathPattern: "/v1/network-peers/{network_peer_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersIDDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersIDDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.id.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkPeersIDGet gets the details of a network peer +*/ +func (a *Client) V1NetworkPeersIDGet(params *V1NetworkPeersIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersIDGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersIDGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.id.get", + Method: "GET", + PathPattern: "/v1/network-peers/{network_peer_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersIDGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersIDGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.id.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkPeersIDPut updates a network peer +*/ +func (a *Client) V1NetworkPeersIDPut(params *V1NetworkPeersIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersIDPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersIDPutParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.id.put", + Method: "PUT", + PathPattern: "/v1/network-peers/{network_peer_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersIDPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersIDPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.id.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkPeersInterfacesGetall gets the list of interfaces for network peer +*/ +func (a *Client) V1NetworkPeersInterfacesGetall(params *V1NetworkPeersInterfacesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersInterfacesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersInterfacesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.interfaces.getall", + Method: "GET", + PathPattern: "/v1/network-peers/interfaces", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersInterfacesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersInterfacesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.interfaces.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkPeersPost creates a new network peer +*/ +func (a *Client) V1NetworkPeersPost(params *V1NetworkPeersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.post", + Method: "POST", + PathPattern: "/v1/network-peers", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkPeersRouteFilterIDDelete deletes a route filter +*/ +func (a *Client) V1NetworkPeersRouteFilterIDDelete(params *V1NetworkPeersRouteFilterIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersRouteFilterIDDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersRouteFilterIDDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.routeFilter.id.delete", + Method: "DELETE", + PathPattern: "/v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersRouteFilterIDDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersRouteFilterIDDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.routeFilter.id.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkPeersRouteFilterIDGet gets the details of a route filter +*/ +func (a *Client) V1NetworkPeersRouteFilterIDGet(params *V1NetworkPeersRouteFilterIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersRouteFilterIDGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersRouteFilterIDGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.routeFilter.id.get", + Method: "GET", + PathPattern: "/v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersRouteFilterIDGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersRouteFilterIDGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.routeFilter.id.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkPeersRouteFiltersPost creates a new route filter +*/ +func (a *Client) V1NetworkPeersRouteFiltersPost(params *V1NetworkPeersRouteFiltersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkPeersRouteFiltersPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkPeersRouteFiltersPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkPeers.routeFilters.post", + Method: "POST", + PathPattern: "/v1/network-peers/{network_peer_id}/route-filters", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkPeersRouteFiltersPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkPeersRouteFiltersPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkPeers.routeFilters.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_getall_parameters.go new file mode 100644 index 000000000..d8a589c63 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkPeersGetallParams creates a new V1NetworkPeersGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersGetallParams() *V1NetworkPeersGetallParams { + return &V1NetworkPeersGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersGetallParamsWithTimeout creates a new V1NetworkPeersGetallParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersGetallParamsWithTimeout(timeout time.Duration) *V1NetworkPeersGetallParams { + return &V1NetworkPeersGetallParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersGetallParamsWithContext creates a new V1NetworkPeersGetallParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersGetallParamsWithContext(ctx context.Context) *V1NetworkPeersGetallParams { + return &V1NetworkPeersGetallParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersGetallParamsWithHTTPClient creates a new V1NetworkPeersGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersGetallParamsWithHTTPClient(client *http.Client) *V1NetworkPeersGetallParams { + return &V1NetworkPeersGetallParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersGetallParams contains all the parameters to send to the API endpoint + + for the v1 network peers getall operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersGetallParams) WithDefaults() *V1NetworkPeersGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers getall params +func (o *V1NetworkPeersGetallParams) WithTimeout(timeout time.Duration) *V1NetworkPeersGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers getall params +func (o *V1NetworkPeersGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers getall params +func (o *V1NetworkPeersGetallParams) WithContext(ctx context.Context) *V1NetworkPeersGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers getall params +func (o *V1NetworkPeersGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers getall params +func (o *V1NetworkPeersGetallParams) WithHTTPClient(client *http.Client) *V1NetworkPeersGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers getall params +func (o *V1NetworkPeersGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_getall_responses.go new file mode 100644 index 000000000..2ac3cef68 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_getall_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersGetallReader is a Reader for the V1NetworkPeersGetall structure. +type V1NetworkPeersGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersGetallConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/network-peers] v1.networkPeers.getall", response, response.Code()) + } +} + +// NewV1NetworkPeersGetallOK creates a V1NetworkPeersGetallOK with default headers values +func NewV1NetworkPeersGetallOK() *V1NetworkPeersGetallOK { + return &V1NetworkPeersGetallOK{} +} + +/* +V1NetworkPeersGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersGetallOK struct { + Payload *models.NetworkPeers +} + +// IsSuccess returns true when this v1 network peers getall o k response has a 2xx status code +func (o *V1NetworkPeersGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers getall o k response has a 3xx status code +func (o *V1NetworkPeersGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers getall o k response has a 4xx status code +func (o *V1NetworkPeersGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers getall o k response has a 5xx status code +func (o *V1NetworkPeersGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers getall o k response a status code equal to that given +func (o *V1NetworkPeersGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers getall o k response +func (o *V1NetworkPeersGetallOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallOK %s", 200, payload) +} + +func (o *V1NetworkPeersGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallOK %s", 200, payload) +} + +func (o *V1NetworkPeersGetallOK) GetPayload() *models.NetworkPeers { + return o.Payload +} + +func (o *V1NetworkPeersGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkPeers) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersGetallBadRequest creates a V1NetworkPeersGetallBadRequest with default headers values +func NewV1NetworkPeersGetallBadRequest() *V1NetworkPeersGetallBadRequest { + return &V1NetworkPeersGetallBadRequest{} +} + +/* +V1NetworkPeersGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers getall bad request response has a 2xx status code +func (o *V1NetworkPeersGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers getall bad request response has a 3xx status code +func (o *V1NetworkPeersGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers getall bad request response has a 4xx status code +func (o *V1NetworkPeersGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers getall bad request response has a 5xx status code +func (o *V1NetworkPeersGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers getall bad request response a status code equal to that given +func (o *V1NetworkPeersGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers getall bad request response +func (o *V1NetworkPeersGetallBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersGetallUnauthorized creates a V1NetworkPeersGetallUnauthorized with default headers values +func NewV1NetworkPeersGetallUnauthorized() *V1NetworkPeersGetallUnauthorized { + return &V1NetworkPeersGetallUnauthorized{} +} + +/* +V1NetworkPeersGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers getall unauthorized response has a 2xx status code +func (o *V1NetworkPeersGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers getall unauthorized response has a 3xx status code +func (o *V1NetworkPeersGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers getall unauthorized response has a 4xx status code +func (o *V1NetworkPeersGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers getall unauthorized response has a 5xx status code +func (o *V1NetworkPeersGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers getall unauthorized response a status code equal to that given +func (o *V1NetworkPeersGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers getall unauthorized response +func (o *V1NetworkPeersGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersGetallForbidden creates a V1NetworkPeersGetallForbidden with default headers values +func NewV1NetworkPeersGetallForbidden() *V1NetworkPeersGetallForbidden { + return &V1NetworkPeersGetallForbidden{} +} + +/* +V1NetworkPeersGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers getall forbidden response has a 2xx status code +func (o *V1NetworkPeersGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers getall forbidden response has a 3xx status code +func (o *V1NetworkPeersGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers getall forbidden response has a 4xx status code +func (o *V1NetworkPeersGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers getall forbidden response has a 5xx status code +func (o *V1NetworkPeersGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers getall forbidden response a status code equal to that given +func (o *V1NetworkPeersGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers getall forbidden response +func (o *V1NetworkPeersGetallForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersGetallNotFound creates a V1NetworkPeersGetallNotFound with default headers values +func NewV1NetworkPeersGetallNotFound() *V1NetworkPeersGetallNotFound { + return &V1NetworkPeersGetallNotFound{} +} + +/* +V1NetworkPeersGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers getall not found response has a 2xx status code +func (o *V1NetworkPeersGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers getall not found response has a 3xx status code +func (o *V1NetworkPeersGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers getall not found response has a 4xx status code +func (o *V1NetworkPeersGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers getall not found response has a 5xx status code +func (o *V1NetworkPeersGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers getall not found response a status code equal to that given +func (o *V1NetworkPeersGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers getall not found response +func (o *V1NetworkPeersGetallNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersGetallConflict creates a V1NetworkPeersGetallConflict with default headers values +func NewV1NetworkPeersGetallConflict() *V1NetworkPeersGetallConflict { + return &V1NetworkPeersGetallConflict{} +} + +/* +V1NetworkPeersGetallConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersGetallConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers getall conflict response has a 2xx status code +func (o *V1NetworkPeersGetallConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers getall conflict response has a 3xx status code +func (o *V1NetworkPeersGetallConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers getall conflict response has a 4xx status code +func (o *V1NetworkPeersGetallConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers getall conflict response has a 5xx status code +func (o *V1NetworkPeersGetallConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers getall conflict response a status code equal to that given +func (o *V1NetworkPeersGetallConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers getall conflict response +func (o *V1NetworkPeersGetallConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersGetallConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallConflict %s", 409, payload) +} + +func (o *V1NetworkPeersGetallConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallConflict %s", 409, payload) +} + +func (o *V1NetworkPeersGetallConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersGetallConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersGetallInternalServerError creates a V1NetworkPeersGetallInternalServerError with default headers values +func NewV1NetworkPeersGetallInternalServerError() *V1NetworkPeersGetallInternalServerError { + return &V1NetworkPeersGetallInternalServerError{} +} + +/* +V1NetworkPeersGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers getall internal server error response has a 2xx status code +func (o *V1NetworkPeersGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers getall internal server error response has a 3xx status code +func (o *V1NetworkPeersGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers getall internal server error response has a 4xx status code +func (o *V1NetworkPeersGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers getall internal server error response has a 5xx status code +func (o *V1NetworkPeersGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers getall internal server error response a status code equal to that given +func (o *V1NetworkPeersGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers getall internal server error response +func (o *V1NetworkPeersGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers][%d] v1NetworkPeersGetallInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_delete_parameters.go new file mode 100644 index 000000000..cc61fd59c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkPeersIDDeleteParams creates a new V1NetworkPeersIDDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersIDDeleteParams() *V1NetworkPeersIDDeleteParams { + return &V1NetworkPeersIDDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersIDDeleteParamsWithTimeout creates a new V1NetworkPeersIDDeleteParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersIDDeleteParamsWithTimeout(timeout time.Duration) *V1NetworkPeersIDDeleteParams { + return &V1NetworkPeersIDDeleteParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersIDDeleteParamsWithContext creates a new V1NetworkPeersIDDeleteParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersIDDeleteParamsWithContext(ctx context.Context) *V1NetworkPeersIDDeleteParams { + return &V1NetworkPeersIDDeleteParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersIDDeleteParamsWithHTTPClient creates a new V1NetworkPeersIDDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersIDDeleteParamsWithHTTPClient(client *http.Client) *V1NetworkPeersIDDeleteParams { + return &V1NetworkPeersIDDeleteParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersIDDeleteParams contains all the parameters to send to the API endpoint + + for the v1 network peers id delete operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersIDDeleteParams struct { + + /* NetworkPeerID. + + network peer ID + */ + NetworkPeerID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersIDDeleteParams) WithDefaults() *V1NetworkPeersIDDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersIDDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers id delete params +func (o *V1NetworkPeersIDDeleteParams) WithTimeout(timeout time.Duration) *V1NetworkPeersIDDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers id delete params +func (o *V1NetworkPeersIDDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers id delete params +func (o *V1NetworkPeersIDDeleteParams) WithContext(ctx context.Context) *V1NetworkPeersIDDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers id delete params +func (o *V1NetworkPeersIDDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers id delete params +func (o *V1NetworkPeersIDDeleteParams) WithHTTPClient(client *http.Client) *V1NetworkPeersIDDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers id delete params +func (o *V1NetworkPeersIDDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkPeerID adds the networkPeerID to the v1 network peers id delete params +func (o *V1NetworkPeersIDDeleteParams) WithNetworkPeerID(networkPeerID string) *V1NetworkPeersIDDeleteParams { + o.SetNetworkPeerID(networkPeerID) + return o +} + +// SetNetworkPeerID adds the networkPeerId to the v1 network peers id delete params +func (o *V1NetworkPeersIDDeleteParams) SetNetworkPeerID(networkPeerID string) { + o.NetworkPeerID = networkPeerID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersIDDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_peer_id + if err := r.SetPathParam("network_peer_id", o.NetworkPeerID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_delete_responses.go new file mode 100644 index 000000000..5a0c5f23d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersIDDeleteReader is a Reader for the V1NetworkPeersIDDelete structure. +type V1NetworkPeersIDDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersIDDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersIDDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersIDDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersIDDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersIDDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersIDDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersIDDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersIDDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/network-peers/{network_peer_id}] v1.networkPeers.id.delete", response, response.Code()) + } +} + +// NewV1NetworkPeersIDDeleteOK creates a V1NetworkPeersIDDeleteOK with default headers values +func NewV1NetworkPeersIDDeleteOK() *V1NetworkPeersIDDeleteOK { + return &V1NetworkPeersIDDeleteOK{} +} + +/* +V1NetworkPeersIDDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersIDDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network peers Id delete o k response has a 2xx status code +func (o *V1NetworkPeersIDDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers Id delete o k response has a 3xx status code +func (o *V1NetworkPeersIDDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id delete o k response has a 4xx status code +func (o *V1NetworkPeersIDDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers Id delete o k response has a 5xx status code +func (o *V1NetworkPeersIDDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id delete o k response a status code equal to that given +func (o *V1NetworkPeersIDDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers Id delete o k response +func (o *V1NetworkPeersIDDeleteOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersIDDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteOK %s", 200, payload) +} + +func (o *V1NetworkPeersIDDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteOK %s", 200, payload) +} + +func (o *V1NetworkPeersIDDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkPeersIDDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDDeleteBadRequest creates a V1NetworkPeersIDDeleteBadRequest with default headers values +func NewV1NetworkPeersIDDeleteBadRequest() *V1NetworkPeersIDDeleteBadRequest { + return &V1NetworkPeersIDDeleteBadRequest{} +} + +/* +V1NetworkPeersIDDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersIDDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id delete bad request response has a 2xx status code +func (o *V1NetworkPeersIDDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id delete bad request response has a 3xx status code +func (o *V1NetworkPeersIDDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id delete bad request response has a 4xx status code +func (o *V1NetworkPeersIDDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id delete bad request response has a 5xx status code +func (o *V1NetworkPeersIDDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id delete bad request response a status code equal to that given +func (o *V1NetworkPeersIDDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers Id delete bad request response +func (o *V1NetworkPeersIDDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersIDDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersIDDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersIDDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDDeleteUnauthorized creates a V1NetworkPeersIDDeleteUnauthorized with default headers values +func NewV1NetworkPeersIDDeleteUnauthorized() *V1NetworkPeersIDDeleteUnauthorized { + return &V1NetworkPeersIDDeleteUnauthorized{} +} + +/* +V1NetworkPeersIDDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersIDDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id delete unauthorized response has a 2xx status code +func (o *V1NetworkPeersIDDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id delete unauthorized response has a 3xx status code +func (o *V1NetworkPeersIDDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id delete unauthorized response has a 4xx status code +func (o *V1NetworkPeersIDDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id delete unauthorized response has a 5xx status code +func (o *V1NetworkPeersIDDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id delete unauthorized response a status code equal to that given +func (o *V1NetworkPeersIDDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers Id delete unauthorized response +func (o *V1NetworkPeersIDDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersIDDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersIDDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersIDDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDDeleteForbidden creates a V1NetworkPeersIDDeleteForbidden with default headers values +func NewV1NetworkPeersIDDeleteForbidden() *V1NetworkPeersIDDeleteForbidden { + return &V1NetworkPeersIDDeleteForbidden{} +} + +/* +V1NetworkPeersIDDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersIDDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id delete forbidden response has a 2xx status code +func (o *V1NetworkPeersIDDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id delete forbidden response has a 3xx status code +func (o *V1NetworkPeersIDDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id delete forbidden response has a 4xx status code +func (o *V1NetworkPeersIDDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id delete forbidden response has a 5xx status code +func (o *V1NetworkPeersIDDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id delete forbidden response a status code equal to that given +func (o *V1NetworkPeersIDDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers Id delete forbidden response +func (o *V1NetworkPeersIDDeleteForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersIDDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersIDDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersIDDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDDeleteNotFound creates a V1NetworkPeersIDDeleteNotFound with default headers values +func NewV1NetworkPeersIDDeleteNotFound() *V1NetworkPeersIDDeleteNotFound { + return &V1NetworkPeersIDDeleteNotFound{} +} + +/* +V1NetworkPeersIDDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersIDDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id delete not found response has a 2xx status code +func (o *V1NetworkPeersIDDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id delete not found response has a 3xx status code +func (o *V1NetworkPeersIDDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id delete not found response has a 4xx status code +func (o *V1NetworkPeersIDDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id delete not found response has a 5xx status code +func (o *V1NetworkPeersIDDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id delete not found response a status code equal to that given +func (o *V1NetworkPeersIDDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers Id delete not found response +func (o *V1NetworkPeersIDDeleteNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersIDDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersIDDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersIDDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDDeleteConflict creates a V1NetworkPeersIDDeleteConflict with default headers values +func NewV1NetworkPeersIDDeleteConflict() *V1NetworkPeersIDDeleteConflict { + return &V1NetworkPeersIDDeleteConflict{} +} + +/* +V1NetworkPeersIDDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersIDDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id delete conflict response has a 2xx status code +func (o *V1NetworkPeersIDDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id delete conflict response has a 3xx status code +func (o *V1NetworkPeersIDDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id delete conflict response has a 4xx status code +func (o *V1NetworkPeersIDDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id delete conflict response has a 5xx status code +func (o *V1NetworkPeersIDDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id delete conflict response a status code equal to that given +func (o *V1NetworkPeersIDDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers Id delete conflict response +func (o *V1NetworkPeersIDDeleteConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersIDDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkPeersIDDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkPeersIDDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDDeleteInternalServerError creates a V1NetworkPeersIDDeleteInternalServerError with default headers values +func NewV1NetworkPeersIDDeleteInternalServerError() *V1NetworkPeersIDDeleteInternalServerError { + return &V1NetworkPeersIDDeleteInternalServerError{} +} + +/* +V1NetworkPeersIDDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersIDDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id delete internal server error response has a 2xx status code +func (o *V1NetworkPeersIDDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id delete internal server error response has a 3xx status code +func (o *V1NetworkPeersIDDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id delete internal server error response has a 4xx status code +func (o *V1NetworkPeersIDDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers Id delete internal server error response has a 5xx status code +func (o *V1NetworkPeersIDDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers Id delete internal server error response a status code equal to that given +func (o *V1NetworkPeersIDDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers Id delete internal server error response +func (o *V1NetworkPeersIDDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersIDDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersIDDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersIDDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_get_parameters.go new file mode 100644 index 000000000..c81b40cad --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkPeersIDGetParams creates a new V1NetworkPeersIDGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersIDGetParams() *V1NetworkPeersIDGetParams { + return &V1NetworkPeersIDGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersIDGetParamsWithTimeout creates a new V1NetworkPeersIDGetParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersIDGetParamsWithTimeout(timeout time.Duration) *V1NetworkPeersIDGetParams { + return &V1NetworkPeersIDGetParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersIDGetParamsWithContext creates a new V1NetworkPeersIDGetParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersIDGetParamsWithContext(ctx context.Context) *V1NetworkPeersIDGetParams { + return &V1NetworkPeersIDGetParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersIDGetParamsWithHTTPClient creates a new V1NetworkPeersIDGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersIDGetParamsWithHTTPClient(client *http.Client) *V1NetworkPeersIDGetParams { + return &V1NetworkPeersIDGetParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersIDGetParams contains all the parameters to send to the API endpoint + + for the v1 network peers id get operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersIDGetParams struct { + + /* NetworkPeerID. + + network peer ID + */ + NetworkPeerID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersIDGetParams) WithDefaults() *V1NetworkPeersIDGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersIDGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers id get params +func (o *V1NetworkPeersIDGetParams) WithTimeout(timeout time.Duration) *V1NetworkPeersIDGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers id get params +func (o *V1NetworkPeersIDGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers id get params +func (o *V1NetworkPeersIDGetParams) WithContext(ctx context.Context) *V1NetworkPeersIDGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers id get params +func (o *V1NetworkPeersIDGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers id get params +func (o *V1NetworkPeersIDGetParams) WithHTTPClient(client *http.Client) *V1NetworkPeersIDGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers id get params +func (o *V1NetworkPeersIDGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkPeerID adds the networkPeerID to the v1 network peers id get params +func (o *V1NetworkPeersIDGetParams) WithNetworkPeerID(networkPeerID string) *V1NetworkPeersIDGetParams { + o.SetNetworkPeerID(networkPeerID) + return o +} + +// SetNetworkPeerID adds the networkPeerId to the v1 network peers id get params +func (o *V1NetworkPeersIDGetParams) SetNetworkPeerID(networkPeerID string) { + o.NetworkPeerID = networkPeerID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersIDGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_peer_id + if err := r.SetPathParam("network_peer_id", o.NetworkPeerID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_get_responses.go new file mode 100644 index 000000000..22f3ee0e3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersIDGetReader is a Reader for the V1NetworkPeersIDGet structure. +type V1NetworkPeersIDGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersIDGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersIDGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersIDGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersIDGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersIDGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersIDGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersIDGetConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersIDGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/network-peers/{network_peer_id}] v1.networkPeers.id.get", response, response.Code()) + } +} + +// NewV1NetworkPeersIDGetOK creates a V1NetworkPeersIDGetOK with default headers values +func NewV1NetworkPeersIDGetOK() *V1NetworkPeersIDGetOK { + return &V1NetworkPeersIDGetOK{} +} + +/* +V1NetworkPeersIDGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersIDGetOK struct { + Payload *models.NetworkPeer +} + +// IsSuccess returns true when this v1 network peers Id get o k response has a 2xx status code +func (o *V1NetworkPeersIDGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers Id get o k response has a 3xx status code +func (o *V1NetworkPeersIDGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id get o k response has a 4xx status code +func (o *V1NetworkPeersIDGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers Id get o k response has a 5xx status code +func (o *V1NetworkPeersIDGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id get o k response a status code equal to that given +func (o *V1NetworkPeersIDGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers Id get o k response +func (o *V1NetworkPeersIDGetOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersIDGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetOK %s", 200, payload) +} + +func (o *V1NetworkPeersIDGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetOK %s", 200, payload) +} + +func (o *V1NetworkPeersIDGetOK) GetPayload() *models.NetworkPeer { + return o.Payload +} + +func (o *V1NetworkPeersIDGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkPeer) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDGetBadRequest creates a V1NetworkPeersIDGetBadRequest with default headers values +func NewV1NetworkPeersIDGetBadRequest() *V1NetworkPeersIDGetBadRequest { + return &V1NetworkPeersIDGetBadRequest{} +} + +/* +V1NetworkPeersIDGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersIDGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id get bad request response has a 2xx status code +func (o *V1NetworkPeersIDGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id get bad request response has a 3xx status code +func (o *V1NetworkPeersIDGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id get bad request response has a 4xx status code +func (o *V1NetworkPeersIDGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id get bad request response has a 5xx status code +func (o *V1NetworkPeersIDGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id get bad request response a status code equal to that given +func (o *V1NetworkPeersIDGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers Id get bad request response +func (o *V1NetworkPeersIDGetBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersIDGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersIDGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersIDGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDGetUnauthorized creates a V1NetworkPeersIDGetUnauthorized with default headers values +func NewV1NetworkPeersIDGetUnauthorized() *V1NetworkPeersIDGetUnauthorized { + return &V1NetworkPeersIDGetUnauthorized{} +} + +/* +V1NetworkPeersIDGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersIDGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id get unauthorized response has a 2xx status code +func (o *V1NetworkPeersIDGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id get unauthorized response has a 3xx status code +func (o *V1NetworkPeersIDGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id get unauthorized response has a 4xx status code +func (o *V1NetworkPeersIDGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id get unauthorized response has a 5xx status code +func (o *V1NetworkPeersIDGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id get unauthorized response a status code equal to that given +func (o *V1NetworkPeersIDGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers Id get unauthorized response +func (o *V1NetworkPeersIDGetUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersIDGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersIDGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersIDGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDGetForbidden creates a V1NetworkPeersIDGetForbidden with default headers values +func NewV1NetworkPeersIDGetForbidden() *V1NetworkPeersIDGetForbidden { + return &V1NetworkPeersIDGetForbidden{} +} + +/* +V1NetworkPeersIDGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersIDGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id get forbidden response has a 2xx status code +func (o *V1NetworkPeersIDGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id get forbidden response has a 3xx status code +func (o *V1NetworkPeersIDGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id get forbidden response has a 4xx status code +func (o *V1NetworkPeersIDGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id get forbidden response has a 5xx status code +func (o *V1NetworkPeersIDGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id get forbidden response a status code equal to that given +func (o *V1NetworkPeersIDGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers Id get forbidden response +func (o *V1NetworkPeersIDGetForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersIDGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersIDGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersIDGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDGetNotFound creates a V1NetworkPeersIDGetNotFound with default headers values +func NewV1NetworkPeersIDGetNotFound() *V1NetworkPeersIDGetNotFound { + return &V1NetworkPeersIDGetNotFound{} +} + +/* +V1NetworkPeersIDGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersIDGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id get not found response has a 2xx status code +func (o *V1NetworkPeersIDGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id get not found response has a 3xx status code +func (o *V1NetworkPeersIDGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id get not found response has a 4xx status code +func (o *V1NetworkPeersIDGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id get not found response has a 5xx status code +func (o *V1NetworkPeersIDGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id get not found response a status code equal to that given +func (o *V1NetworkPeersIDGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers Id get not found response +func (o *V1NetworkPeersIDGetNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersIDGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersIDGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersIDGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDGetConflict creates a V1NetworkPeersIDGetConflict with default headers values +func NewV1NetworkPeersIDGetConflict() *V1NetworkPeersIDGetConflict { + return &V1NetworkPeersIDGetConflict{} +} + +/* +V1NetworkPeersIDGetConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersIDGetConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id get conflict response has a 2xx status code +func (o *V1NetworkPeersIDGetConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id get conflict response has a 3xx status code +func (o *V1NetworkPeersIDGetConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id get conflict response has a 4xx status code +func (o *V1NetworkPeersIDGetConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id get conflict response has a 5xx status code +func (o *V1NetworkPeersIDGetConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id get conflict response a status code equal to that given +func (o *V1NetworkPeersIDGetConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers Id get conflict response +func (o *V1NetworkPeersIDGetConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersIDGetConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetConflict %s", 409, payload) +} + +func (o *V1NetworkPeersIDGetConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetConflict %s", 409, payload) +} + +func (o *V1NetworkPeersIDGetConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDGetConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDGetInternalServerError creates a V1NetworkPeersIDGetInternalServerError with default headers values +func NewV1NetworkPeersIDGetInternalServerError() *V1NetworkPeersIDGetInternalServerError { + return &V1NetworkPeersIDGetInternalServerError{} +} + +/* +V1NetworkPeersIDGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersIDGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id get internal server error response has a 2xx status code +func (o *V1NetworkPeersIDGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id get internal server error response has a 3xx status code +func (o *V1NetworkPeersIDGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id get internal server error response has a 4xx status code +func (o *V1NetworkPeersIDGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers Id get internal server error response has a 5xx status code +func (o *V1NetworkPeersIDGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers Id get internal server error response a status code equal to that given +func (o *V1NetworkPeersIDGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers Id get internal server error response +func (o *V1NetworkPeersIDGetInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersIDGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersIDGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersIDGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_put_parameters.go new file mode 100644 index 000000000..34ee818d2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkPeersIDPutParams creates a new V1NetworkPeersIDPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersIDPutParams() *V1NetworkPeersIDPutParams { + return &V1NetworkPeersIDPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersIDPutParamsWithTimeout creates a new V1NetworkPeersIDPutParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersIDPutParamsWithTimeout(timeout time.Duration) *V1NetworkPeersIDPutParams { + return &V1NetworkPeersIDPutParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersIDPutParamsWithContext creates a new V1NetworkPeersIDPutParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersIDPutParamsWithContext(ctx context.Context) *V1NetworkPeersIDPutParams { + return &V1NetworkPeersIDPutParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersIDPutParamsWithHTTPClient creates a new V1NetworkPeersIDPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersIDPutParamsWithHTTPClient(client *http.Client) *V1NetworkPeersIDPutParams { + return &V1NetworkPeersIDPutParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersIDPutParams contains all the parameters to send to the API endpoint + + for the v1 network peers id put operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersIDPutParams struct { + + /* Body. + + network peer update parameters + */ + Body *models.NetworkPeerUpdate + + /* NetworkPeerID. + + network peer ID + */ + NetworkPeerID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersIDPutParams) WithDefaults() *V1NetworkPeersIDPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersIDPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) WithTimeout(timeout time.Duration) *V1NetworkPeersIDPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) WithContext(ctx context.Context) *V1NetworkPeersIDPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) WithHTTPClient(client *http.Client) *V1NetworkPeersIDPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) WithBody(body *models.NetworkPeerUpdate) *V1NetworkPeersIDPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) SetBody(body *models.NetworkPeerUpdate) { + o.Body = body +} + +// WithNetworkPeerID adds the networkPeerID to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) WithNetworkPeerID(networkPeerID string) *V1NetworkPeersIDPutParams { + o.SetNetworkPeerID(networkPeerID) + return o +} + +// SetNetworkPeerID adds the networkPeerId to the v1 network peers id put params +func (o *V1NetworkPeersIDPutParams) SetNetworkPeerID(networkPeerID string) { + o.NetworkPeerID = networkPeerID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersIDPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_peer_id + if err := r.SetPathParam("network_peer_id", o.NetworkPeerID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_put_responses.go new file mode 100644 index 000000000..f0066a9d5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_id_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersIDPutReader is a Reader for the V1NetworkPeersIDPut structure. +type V1NetworkPeersIDPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersIDPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersIDPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersIDPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersIDPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersIDPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersIDPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersIDPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersIDPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/network-peers/{network_peer_id}] v1.networkPeers.id.put", response, response.Code()) + } +} + +// NewV1NetworkPeersIDPutOK creates a V1NetworkPeersIDPutOK with default headers values +func NewV1NetworkPeersIDPutOK() *V1NetworkPeersIDPutOK { + return &V1NetworkPeersIDPutOK{} +} + +/* +V1NetworkPeersIDPutOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersIDPutOK struct { + Payload *models.NetworkPeer +} + +// IsSuccess returns true when this v1 network peers Id put o k response has a 2xx status code +func (o *V1NetworkPeersIDPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers Id put o k response has a 3xx status code +func (o *V1NetworkPeersIDPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id put o k response has a 4xx status code +func (o *V1NetworkPeersIDPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers Id put o k response has a 5xx status code +func (o *V1NetworkPeersIDPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id put o k response a status code equal to that given +func (o *V1NetworkPeersIDPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers Id put o k response +func (o *V1NetworkPeersIDPutOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersIDPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutOK %s", 200, payload) +} + +func (o *V1NetworkPeersIDPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutOK %s", 200, payload) +} + +func (o *V1NetworkPeersIDPutOK) GetPayload() *models.NetworkPeer { + return o.Payload +} + +func (o *V1NetworkPeersIDPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkPeer) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDPutBadRequest creates a V1NetworkPeersIDPutBadRequest with default headers values +func NewV1NetworkPeersIDPutBadRequest() *V1NetworkPeersIDPutBadRequest { + return &V1NetworkPeersIDPutBadRequest{} +} + +/* +V1NetworkPeersIDPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersIDPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id put bad request response has a 2xx status code +func (o *V1NetworkPeersIDPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id put bad request response has a 3xx status code +func (o *V1NetworkPeersIDPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id put bad request response has a 4xx status code +func (o *V1NetworkPeersIDPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id put bad request response has a 5xx status code +func (o *V1NetworkPeersIDPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id put bad request response a status code equal to that given +func (o *V1NetworkPeersIDPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers Id put bad request response +func (o *V1NetworkPeersIDPutBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersIDPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersIDPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersIDPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDPutUnauthorized creates a V1NetworkPeersIDPutUnauthorized with default headers values +func NewV1NetworkPeersIDPutUnauthorized() *V1NetworkPeersIDPutUnauthorized { + return &V1NetworkPeersIDPutUnauthorized{} +} + +/* +V1NetworkPeersIDPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersIDPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id put unauthorized response has a 2xx status code +func (o *V1NetworkPeersIDPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id put unauthorized response has a 3xx status code +func (o *V1NetworkPeersIDPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id put unauthorized response has a 4xx status code +func (o *V1NetworkPeersIDPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id put unauthorized response has a 5xx status code +func (o *V1NetworkPeersIDPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id put unauthorized response a status code equal to that given +func (o *V1NetworkPeersIDPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers Id put unauthorized response +func (o *V1NetworkPeersIDPutUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersIDPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersIDPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersIDPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDPutForbidden creates a V1NetworkPeersIDPutForbidden with default headers values +func NewV1NetworkPeersIDPutForbidden() *V1NetworkPeersIDPutForbidden { + return &V1NetworkPeersIDPutForbidden{} +} + +/* +V1NetworkPeersIDPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersIDPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id put forbidden response has a 2xx status code +func (o *V1NetworkPeersIDPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id put forbidden response has a 3xx status code +func (o *V1NetworkPeersIDPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id put forbidden response has a 4xx status code +func (o *V1NetworkPeersIDPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id put forbidden response has a 5xx status code +func (o *V1NetworkPeersIDPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id put forbidden response a status code equal to that given +func (o *V1NetworkPeersIDPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers Id put forbidden response +func (o *V1NetworkPeersIDPutForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersIDPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersIDPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersIDPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDPutNotFound creates a V1NetworkPeersIDPutNotFound with default headers values +func NewV1NetworkPeersIDPutNotFound() *V1NetworkPeersIDPutNotFound { + return &V1NetworkPeersIDPutNotFound{} +} + +/* +V1NetworkPeersIDPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersIDPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id put not found response has a 2xx status code +func (o *V1NetworkPeersIDPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id put not found response has a 3xx status code +func (o *V1NetworkPeersIDPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id put not found response has a 4xx status code +func (o *V1NetworkPeersIDPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id put not found response has a 5xx status code +func (o *V1NetworkPeersIDPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id put not found response a status code equal to that given +func (o *V1NetworkPeersIDPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers Id put not found response +func (o *V1NetworkPeersIDPutNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersIDPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersIDPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersIDPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDPutConflict creates a V1NetworkPeersIDPutConflict with default headers values +func NewV1NetworkPeersIDPutConflict() *V1NetworkPeersIDPutConflict { + return &V1NetworkPeersIDPutConflict{} +} + +/* +V1NetworkPeersIDPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersIDPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id put conflict response has a 2xx status code +func (o *V1NetworkPeersIDPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id put conflict response has a 3xx status code +func (o *V1NetworkPeersIDPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id put conflict response has a 4xx status code +func (o *V1NetworkPeersIDPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers Id put conflict response has a 5xx status code +func (o *V1NetworkPeersIDPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers Id put conflict response a status code equal to that given +func (o *V1NetworkPeersIDPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers Id put conflict response +func (o *V1NetworkPeersIDPutConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersIDPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutConflict %s", 409, payload) +} + +func (o *V1NetworkPeersIDPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutConflict %s", 409, payload) +} + +func (o *V1NetworkPeersIDPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersIDPutInternalServerError creates a V1NetworkPeersIDPutInternalServerError with default headers values +func NewV1NetworkPeersIDPutInternalServerError() *V1NetworkPeersIDPutInternalServerError { + return &V1NetworkPeersIDPutInternalServerError{} +} + +/* +V1NetworkPeersIDPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersIDPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers Id put internal server error response has a 2xx status code +func (o *V1NetworkPeersIDPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers Id put internal server error response has a 3xx status code +func (o *V1NetworkPeersIDPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers Id put internal server error response has a 4xx status code +func (o *V1NetworkPeersIDPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers Id put internal server error response has a 5xx status code +func (o *V1NetworkPeersIDPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers Id put internal server error response a status code equal to that given +func (o *V1NetworkPeersIDPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers Id put internal server error response +func (o *V1NetworkPeersIDPutInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersIDPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersIDPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-peers/{network_peer_id}][%d] v1NetworkPeersIdPutInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersIDPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersIDPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_interfaces_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_interfaces_getall_parameters.go new file mode 100644 index 000000000..8b052c10a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_interfaces_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkPeersInterfacesGetallParams creates a new V1NetworkPeersInterfacesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersInterfacesGetallParams() *V1NetworkPeersInterfacesGetallParams { + return &V1NetworkPeersInterfacesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersInterfacesGetallParamsWithTimeout creates a new V1NetworkPeersInterfacesGetallParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersInterfacesGetallParamsWithTimeout(timeout time.Duration) *V1NetworkPeersInterfacesGetallParams { + return &V1NetworkPeersInterfacesGetallParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersInterfacesGetallParamsWithContext creates a new V1NetworkPeersInterfacesGetallParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersInterfacesGetallParamsWithContext(ctx context.Context) *V1NetworkPeersInterfacesGetallParams { + return &V1NetworkPeersInterfacesGetallParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersInterfacesGetallParamsWithHTTPClient creates a new V1NetworkPeersInterfacesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersInterfacesGetallParamsWithHTTPClient(client *http.Client) *V1NetworkPeersInterfacesGetallParams { + return &V1NetworkPeersInterfacesGetallParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersInterfacesGetallParams contains all the parameters to send to the API endpoint + + for the v1 network peers interfaces getall operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersInterfacesGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers interfaces getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersInterfacesGetallParams) WithDefaults() *V1NetworkPeersInterfacesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers interfaces getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersInterfacesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers interfaces getall params +func (o *V1NetworkPeersInterfacesGetallParams) WithTimeout(timeout time.Duration) *V1NetworkPeersInterfacesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers interfaces getall params +func (o *V1NetworkPeersInterfacesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers interfaces getall params +func (o *V1NetworkPeersInterfacesGetallParams) WithContext(ctx context.Context) *V1NetworkPeersInterfacesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers interfaces getall params +func (o *V1NetworkPeersInterfacesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers interfaces getall params +func (o *V1NetworkPeersInterfacesGetallParams) WithHTTPClient(client *http.Client) *V1NetworkPeersInterfacesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers interfaces getall params +func (o *V1NetworkPeersInterfacesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersInterfacesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_interfaces_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_interfaces_getall_responses.go new file mode 100644 index 000000000..7b2a0f4b2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_interfaces_getall_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersInterfacesGetallReader is a Reader for the V1NetworkPeersInterfacesGetall structure. +type V1NetworkPeersInterfacesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersInterfacesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersInterfacesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersInterfacesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersInterfacesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersInterfacesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersInterfacesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersInterfacesGetallConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersInterfacesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/network-peers/interfaces] v1.networkPeers.interfaces.getall", response, response.Code()) + } +} + +// NewV1NetworkPeersInterfacesGetallOK creates a V1NetworkPeersInterfacesGetallOK with default headers values +func NewV1NetworkPeersInterfacesGetallOK() *V1NetworkPeersInterfacesGetallOK { + return &V1NetworkPeersInterfacesGetallOK{} +} + +/* +V1NetworkPeersInterfacesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersInterfacesGetallOK struct { + Payload models.PeerInterfaces +} + +// IsSuccess returns true when this v1 network peers interfaces getall o k response has a 2xx status code +func (o *V1NetworkPeersInterfacesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers interfaces getall o k response has a 3xx status code +func (o *V1NetworkPeersInterfacesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers interfaces getall o k response has a 4xx status code +func (o *V1NetworkPeersInterfacesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers interfaces getall o k response has a 5xx status code +func (o *V1NetworkPeersInterfacesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers interfaces getall o k response a status code equal to that given +func (o *V1NetworkPeersInterfacesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers interfaces getall o k response +func (o *V1NetworkPeersInterfacesGetallOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersInterfacesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallOK %s", 200, payload) +} + +func (o *V1NetworkPeersInterfacesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallOK %s", 200, payload) +} + +func (o *V1NetworkPeersInterfacesGetallOK) GetPayload() models.PeerInterfaces { + return o.Payload +} + +func (o *V1NetworkPeersInterfacesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersInterfacesGetallBadRequest creates a V1NetworkPeersInterfacesGetallBadRequest with default headers values +func NewV1NetworkPeersInterfacesGetallBadRequest() *V1NetworkPeersInterfacesGetallBadRequest { + return &V1NetworkPeersInterfacesGetallBadRequest{} +} + +/* +V1NetworkPeersInterfacesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersInterfacesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers interfaces getall bad request response has a 2xx status code +func (o *V1NetworkPeersInterfacesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers interfaces getall bad request response has a 3xx status code +func (o *V1NetworkPeersInterfacesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers interfaces getall bad request response has a 4xx status code +func (o *V1NetworkPeersInterfacesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers interfaces getall bad request response has a 5xx status code +func (o *V1NetworkPeersInterfacesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers interfaces getall bad request response a status code equal to that given +func (o *V1NetworkPeersInterfacesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers interfaces getall bad request response +func (o *V1NetworkPeersInterfacesGetallBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersInterfacesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersInterfacesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersInterfacesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersInterfacesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersInterfacesGetallUnauthorized creates a V1NetworkPeersInterfacesGetallUnauthorized with default headers values +func NewV1NetworkPeersInterfacesGetallUnauthorized() *V1NetworkPeersInterfacesGetallUnauthorized { + return &V1NetworkPeersInterfacesGetallUnauthorized{} +} + +/* +V1NetworkPeersInterfacesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersInterfacesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers interfaces getall unauthorized response has a 2xx status code +func (o *V1NetworkPeersInterfacesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers interfaces getall unauthorized response has a 3xx status code +func (o *V1NetworkPeersInterfacesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers interfaces getall unauthorized response has a 4xx status code +func (o *V1NetworkPeersInterfacesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers interfaces getall unauthorized response has a 5xx status code +func (o *V1NetworkPeersInterfacesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers interfaces getall unauthorized response a status code equal to that given +func (o *V1NetworkPeersInterfacesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers interfaces getall unauthorized response +func (o *V1NetworkPeersInterfacesGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersInterfacesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersInterfacesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersInterfacesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersInterfacesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersInterfacesGetallForbidden creates a V1NetworkPeersInterfacesGetallForbidden with default headers values +func NewV1NetworkPeersInterfacesGetallForbidden() *V1NetworkPeersInterfacesGetallForbidden { + return &V1NetworkPeersInterfacesGetallForbidden{} +} + +/* +V1NetworkPeersInterfacesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersInterfacesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers interfaces getall forbidden response has a 2xx status code +func (o *V1NetworkPeersInterfacesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers interfaces getall forbidden response has a 3xx status code +func (o *V1NetworkPeersInterfacesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers interfaces getall forbidden response has a 4xx status code +func (o *V1NetworkPeersInterfacesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers interfaces getall forbidden response has a 5xx status code +func (o *V1NetworkPeersInterfacesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers interfaces getall forbidden response a status code equal to that given +func (o *V1NetworkPeersInterfacesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers interfaces getall forbidden response +func (o *V1NetworkPeersInterfacesGetallForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersInterfacesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersInterfacesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersInterfacesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersInterfacesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersInterfacesGetallNotFound creates a V1NetworkPeersInterfacesGetallNotFound with default headers values +func NewV1NetworkPeersInterfacesGetallNotFound() *V1NetworkPeersInterfacesGetallNotFound { + return &V1NetworkPeersInterfacesGetallNotFound{} +} + +/* +V1NetworkPeersInterfacesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersInterfacesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers interfaces getall not found response has a 2xx status code +func (o *V1NetworkPeersInterfacesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers interfaces getall not found response has a 3xx status code +func (o *V1NetworkPeersInterfacesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers interfaces getall not found response has a 4xx status code +func (o *V1NetworkPeersInterfacesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers interfaces getall not found response has a 5xx status code +func (o *V1NetworkPeersInterfacesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers interfaces getall not found response a status code equal to that given +func (o *V1NetworkPeersInterfacesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers interfaces getall not found response +func (o *V1NetworkPeersInterfacesGetallNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersInterfacesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersInterfacesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersInterfacesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersInterfacesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersInterfacesGetallConflict creates a V1NetworkPeersInterfacesGetallConflict with default headers values +func NewV1NetworkPeersInterfacesGetallConflict() *V1NetworkPeersInterfacesGetallConflict { + return &V1NetworkPeersInterfacesGetallConflict{} +} + +/* +V1NetworkPeersInterfacesGetallConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersInterfacesGetallConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers interfaces getall conflict response has a 2xx status code +func (o *V1NetworkPeersInterfacesGetallConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers interfaces getall conflict response has a 3xx status code +func (o *V1NetworkPeersInterfacesGetallConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers interfaces getall conflict response has a 4xx status code +func (o *V1NetworkPeersInterfacesGetallConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers interfaces getall conflict response has a 5xx status code +func (o *V1NetworkPeersInterfacesGetallConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers interfaces getall conflict response a status code equal to that given +func (o *V1NetworkPeersInterfacesGetallConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers interfaces getall conflict response +func (o *V1NetworkPeersInterfacesGetallConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersInterfacesGetallConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallConflict %s", 409, payload) +} + +func (o *V1NetworkPeersInterfacesGetallConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallConflict %s", 409, payload) +} + +func (o *V1NetworkPeersInterfacesGetallConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersInterfacesGetallConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersInterfacesGetallInternalServerError creates a V1NetworkPeersInterfacesGetallInternalServerError with default headers values +func NewV1NetworkPeersInterfacesGetallInternalServerError() *V1NetworkPeersInterfacesGetallInternalServerError { + return &V1NetworkPeersInterfacesGetallInternalServerError{} +} + +/* +V1NetworkPeersInterfacesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersInterfacesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers interfaces getall internal server error response has a 2xx status code +func (o *V1NetworkPeersInterfacesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers interfaces getall internal server error response has a 3xx status code +func (o *V1NetworkPeersInterfacesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers interfaces getall internal server error response has a 4xx status code +func (o *V1NetworkPeersInterfacesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers interfaces getall internal server error response has a 5xx status code +func (o *V1NetworkPeersInterfacesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers interfaces getall internal server error response a status code equal to that given +func (o *V1NetworkPeersInterfacesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers interfaces getall internal server error response +func (o *V1NetworkPeersInterfacesGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersInterfacesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersInterfacesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/interfaces][%d] v1NetworkPeersInterfacesGetallInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersInterfacesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersInterfacesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_post_parameters.go new file mode 100644 index 000000000..62591716b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkPeersPostParams creates a new V1NetworkPeersPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersPostParams() *V1NetworkPeersPostParams { + return &V1NetworkPeersPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersPostParamsWithTimeout creates a new V1NetworkPeersPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersPostParamsWithTimeout(timeout time.Duration) *V1NetworkPeersPostParams { + return &V1NetworkPeersPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersPostParamsWithContext creates a new V1NetworkPeersPostParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersPostParamsWithContext(ctx context.Context) *V1NetworkPeersPostParams { + return &V1NetworkPeersPostParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersPostParamsWithHTTPClient creates a new V1NetworkPeersPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersPostParamsWithHTTPClient(client *http.Client) *V1NetworkPeersPostParams { + return &V1NetworkPeersPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersPostParams contains all the parameters to send to the API endpoint + + for the v1 network peers post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersPostParams struct { + + /* Body. + + network peer create parameters + */ + Body *models.NetworkPeerCreate + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersPostParams) WithDefaults() *V1NetworkPeersPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers post params +func (o *V1NetworkPeersPostParams) WithTimeout(timeout time.Duration) *V1NetworkPeersPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers post params +func (o *V1NetworkPeersPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers post params +func (o *V1NetworkPeersPostParams) WithContext(ctx context.Context) *V1NetworkPeersPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers post params +func (o *V1NetworkPeersPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers post params +func (o *V1NetworkPeersPostParams) WithHTTPClient(client *http.Client) *V1NetworkPeersPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers post params +func (o *V1NetworkPeersPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network peers post params +func (o *V1NetworkPeersPostParams) WithBody(body *models.NetworkPeerCreate) *V1NetworkPeersPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network peers post params +func (o *V1NetworkPeersPostParams) SetBody(body *models.NetworkPeerCreate) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_post_responses.go new file mode 100644 index 000000000..4e4d6a576 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersPostReader is a Reader for the V1NetworkPeersPost structure. +type V1NetworkPeersPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-peers] v1.networkPeers.post", response, response.Code()) + } +} + +// NewV1NetworkPeersPostOK creates a V1NetworkPeersPostOK with default headers values +func NewV1NetworkPeersPostOK() *V1NetworkPeersPostOK { + return &V1NetworkPeersPostOK{} +} + +/* +V1NetworkPeersPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersPostOK struct { + Payload *models.NetworkPeer +} + +// IsSuccess returns true when this v1 network peers post o k response has a 2xx status code +func (o *V1NetworkPeersPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers post o k response has a 3xx status code +func (o *V1NetworkPeersPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers post o k response has a 4xx status code +func (o *V1NetworkPeersPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers post o k response has a 5xx status code +func (o *V1NetworkPeersPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers post o k response a status code equal to that given +func (o *V1NetworkPeersPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers post o k response +func (o *V1NetworkPeersPostOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostOK %s", 200, payload) +} + +func (o *V1NetworkPeersPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostOK %s", 200, payload) +} + +func (o *V1NetworkPeersPostOK) GetPayload() *models.NetworkPeer { + return o.Payload +} + +func (o *V1NetworkPeersPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkPeer) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersPostBadRequest creates a V1NetworkPeersPostBadRequest with default headers values +func NewV1NetworkPeersPostBadRequest() *V1NetworkPeersPostBadRequest { + return &V1NetworkPeersPostBadRequest{} +} + +/* +V1NetworkPeersPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers post bad request response has a 2xx status code +func (o *V1NetworkPeersPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers post bad request response has a 3xx status code +func (o *V1NetworkPeersPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers post bad request response has a 4xx status code +func (o *V1NetworkPeersPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers post bad request response has a 5xx status code +func (o *V1NetworkPeersPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers post bad request response a status code equal to that given +func (o *V1NetworkPeersPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers post bad request response +func (o *V1NetworkPeersPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersPostUnauthorized creates a V1NetworkPeersPostUnauthorized with default headers values +func NewV1NetworkPeersPostUnauthorized() *V1NetworkPeersPostUnauthorized { + return &V1NetworkPeersPostUnauthorized{} +} + +/* +V1NetworkPeersPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers post unauthorized response has a 2xx status code +func (o *V1NetworkPeersPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers post unauthorized response has a 3xx status code +func (o *V1NetworkPeersPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers post unauthorized response has a 4xx status code +func (o *V1NetworkPeersPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers post unauthorized response has a 5xx status code +func (o *V1NetworkPeersPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers post unauthorized response a status code equal to that given +func (o *V1NetworkPeersPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers post unauthorized response +func (o *V1NetworkPeersPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersPostForbidden creates a V1NetworkPeersPostForbidden with default headers values +func NewV1NetworkPeersPostForbidden() *V1NetworkPeersPostForbidden { + return &V1NetworkPeersPostForbidden{} +} + +/* +V1NetworkPeersPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers post forbidden response has a 2xx status code +func (o *V1NetworkPeersPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers post forbidden response has a 3xx status code +func (o *V1NetworkPeersPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers post forbidden response has a 4xx status code +func (o *V1NetworkPeersPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers post forbidden response has a 5xx status code +func (o *V1NetworkPeersPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers post forbidden response a status code equal to that given +func (o *V1NetworkPeersPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers post forbidden response +func (o *V1NetworkPeersPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersPostNotFound creates a V1NetworkPeersPostNotFound with default headers values +func NewV1NetworkPeersPostNotFound() *V1NetworkPeersPostNotFound { + return &V1NetworkPeersPostNotFound{} +} + +/* +V1NetworkPeersPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers post not found response has a 2xx status code +func (o *V1NetworkPeersPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers post not found response has a 3xx status code +func (o *V1NetworkPeersPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers post not found response has a 4xx status code +func (o *V1NetworkPeersPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers post not found response has a 5xx status code +func (o *V1NetworkPeersPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers post not found response a status code equal to that given +func (o *V1NetworkPeersPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers post not found response +func (o *V1NetworkPeersPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersPostConflict creates a V1NetworkPeersPostConflict with default headers values +func NewV1NetworkPeersPostConflict() *V1NetworkPeersPostConflict { + return &V1NetworkPeersPostConflict{} +} + +/* +V1NetworkPeersPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers post conflict response has a 2xx status code +func (o *V1NetworkPeersPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers post conflict response has a 3xx status code +func (o *V1NetworkPeersPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers post conflict response has a 4xx status code +func (o *V1NetworkPeersPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers post conflict response has a 5xx status code +func (o *V1NetworkPeersPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers post conflict response a status code equal to that given +func (o *V1NetworkPeersPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers post conflict response +func (o *V1NetworkPeersPostConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostConflict %s", 409, payload) +} + +func (o *V1NetworkPeersPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostConflict %s", 409, payload) +} + +func (o *V1NetworkPeersPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersPostInternalServerError creates a V1NetworkPeersPostInternalServerError with default headers values +func NewV1NetworkPeersPostInternalServerError() *V1NetworkPeersPostInternalServerError { + return &V1NetworkPeersPostInternalServerError{} +} + +/* +V1NetworkPeersPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers post internal server error response has a 2xx status code +func (o *V1NetworkPeersPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers post internal server error response has a 3xx status code +func (o *V1NetworkPeersPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers post internal server error response has a 4xx status code +func (o *V1NetworkPeersPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers post internal server error response has a 5xx status code +func (o *V1NetworkPeersPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers post internal server error response a status code equal to that given +func (o *V1NetworkPeersPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers post internal server error response +func (o *V1NetworkPeersPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers][%d] v1NetworkPeersPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_delete_parameters.go new file mode 100644 index 000000000..91b14d23c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkPeersRouteFilterIDDeleteParams creates a new V1NetworkPeersRouteFilterIDDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersRouteFilterIDDeleteParams() *V1NetworkPeersRouteFilterIDDeleteParams { + return &V1NetworkPeersRouteFilterIDDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersRouteFilterIDDeleteParamsWithTimeout creates a new V1NetworkPeersRouteFilterIDDeleteParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersRouteFilterIDDeleteParamsWithTimeout(timeout time.Duration) *V1NetworkPeersRouteFilterIDDeleteParams { + return &V1NetworkPeersRouteFilterIDDeleteParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersRouteFilterIDDeleteParamsWithContext creates a new V1NetworkPeersRouteFilterIDDeleteParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersRouteFilterIDDeleteParamsWithContext(ctx context.Context) *V1NetworkPeersRouteFilterIDDeleteParams { + return &V1NetworkPeersRouteFilterIDDeleteParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersRouteFilterIDDeleteParamsWithHTTPClient creates a new V1NetworkPeersRouteFilterIDDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersRouteFilterIDDeleteParamsWithHTTPClient(client *http.Client) *V1NetworkPeersRouteFilterIDDeleteParams { + return &V1NetworkPeersRouteFilterIDDeleteParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersRouteFilterIDDeleteParams contains all the parameters to send to the API endpoint + + for the v1 network peers route filter id delete operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersRouteFilterIDDeleteParams struct { + + /* NetworkPeerID. + + network peer ID + */ + NetworkPeerID string + + /* RouteFilterID. + + route filter ID + */ + RouteFilterID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers route filter id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersRouteFilterIDDeleteParams) WithDefaults() *V1NetworkPeersRouteFilterIDDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers route filter id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersRouteFilterIDDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) WithTimeout(timeout time.Duration) *V1NetworkPeersRouteFilterIDDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) WithContext(ctx context.Context) *V1NetworkPeersRouteFilterIDDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) WithHTTPClient(client *http.Client) *V1NetworkPeersRouteFilterIDDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkPeerID adds the networkPeerID to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) WithNetworkPeerID(networkPeerID string) *V1NetworkPeersRouteFilterIDDeleteParams { + o.SetNetworkPeerID(networkPeerID) + return o +} + +// SetNetworkPeerID adds the networkPeerId to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) SetNetworkPeerID(networkPeerID string) { + o.NetworkPeerID = networkPeerID +} + +// WithRouteFilterID adds the routeFilterID to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) WithRouteFilterID(routeFilterID string) *V1NetworkPeersRouteFilterIDDeleteParams { + o.SetRouteFilterID(routeFilterID) + return o +} + +// SetRouteFilterID adds the routeFilterId to the v1 network peers route filter id delete params +func (o *V1NetworkPeersRouteFilterIDDeleteParams) SetRouteFilterID(routeFilterID string) { + o.RouteFilterID = routeFilterID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersRouteFilterIDDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_peer_id + if err := r.SetPathParam("network_peer_id", o.NetworkPeerID); err != nil { + return err + } + + // path param route_filter_id + if err := r.SetPathParam("route_filter_id", o.RouteFilterID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_delete_responses.go new file mode 100644 index 000000000..b1798054f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersRouteFilterIDDeleteReader is a Reader for the V1NetworkPeersRouteFilterIDDelete structure. +type V1NetworkPeersRouteFilterIDDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersRouteFilterIDDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersRouteFilterIDDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersRouteFilterIDDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersRouteFilterIDDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersRouteFilterIDDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersRouteFilterIDDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersRouteFilterIDDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersRouteFilterIDDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}] v1.networkPeers.routeFilter.id.delete", response, response.Code()) + } +} + +// NewV1NetworkPeersRouteFilterIDDeleteOK creates a V1NetworkPeersRouteFilterIDDeleteOK with default headers values +func NewV1NetworkPeersRouteFilterIDDeleteOK() *V1NetworkPeersRouteFilterIDDeleteOK { + return &V1NetworkPeersRouteFilterIDDeleteOK{} +} + +/* +V1NetworkPeersRouteFilterIDDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersRouteFilterIDDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network peers route filter Id delete o k response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers route filter Id delete o k response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id delete o k response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers route filter Id delete o k response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id delete o k response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers route filter Id delete o k response +func (o *V1NetworkPeersRouteFilterIDDeleteOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersRouteFilterIDDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteOK %s", 200, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteOK %s", 200, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDDeleteBadRequest creates a V1NetworkPeersRouteFilterIDDeleteBadRequest with default headers values +func NewV1NetworkPeersRouteFilterIDDeleteBadRequest() *V1NetworkPeersRouteFilterIDDeleteBadRequest { + return &V1NetworkPeersRouteFilterIDDeleteBadRequest{} +} + +/* +V1NetworkPeersRouteFilterIDDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersRouteFilterIDDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id delete bad request response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id delete bad request response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id delete bad request response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id delete bad request response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id delete bad request response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers route filter Id delete bad request response +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDDeleteUnauthorized creates a V1NetworkPeersRouteFilterIDDeleteUnauthorized with default headers values +func NewV1NetworkPeersRouteFilterIDDeleteUnauthorized() *V1NetworkPeersRouteFilterIDDeleteUnauthorized { + return &V1NetworkPeersRouteFilterIDDeleteUnauthorized{} +} + +/* +V1NetworkPeersRouteFilterIDDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersRouteFilterIDDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id delete unauthorized response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id delete unauthorized response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id delete unauthorized response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id delete unauthorized response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id delete unauthorized response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers route filter Id delete unauthorized response +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDDeleteForbidden creates a V1NetworkPeersRouteFilterIDDeleteForbidden with default headers values +func NewV1NetworkPeersRouteFilterIDDeleteForbidden() *V1NetworkPeersRouteFilterIDDeleteForbidden { + return &V1NetworkPeersRouteFilterIDDeleteForbidden{} +} + +/* +V1NetworkPeersRouteFilterIDDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersRouteFilterIDDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id delete forbidden response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id delete forbidden response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id delete forbidden response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id delete forbidden response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id delete forbidden response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers route filter Id delete forbidden response +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDDeleteNotFound creates a V1NetworkPeersRouteFilterIDDeleteNotFound with default headers values +func NewV1NetworkPeersRouteFilterIDDeleteNotFound() *V1NetworkPeersRouteFilterIDDeleteNotFound { + return &V1NetworkPeersRouteFilterIDDeleteNotFound{} +} + +/* +V1NetworkPeersRouteFilterIDDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersRouteFilterIDDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id delete not found response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id delete not found response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id delete not found response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id delete not found response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id delete not found response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers route filter Id delete not found response +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDDeleteConflict creates a V1NetworkPeersRouteFilterIDDeleteConflict with default headers values +func NewV1NetworkPeersRouteFilterIDDeleteConflict() *V1NetworkPeersRouteFilterIDDeleteConflict { + return &V1NetworkPeersRouteFilterIDDeleteConflict{} +} + +/* +V1NetworkPeersRouteFilterIDDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersRouteFilterIDDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id delete conflict response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id delete conflict response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id delete conflict response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id delete conflict response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id delete conflict response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers route filter Id delete conflict response +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDDeleteInternalServerError creates a V1NetworkPeersRouteFilterIDDeleteInternalServerError with default headers values +func NewV1NetworkPeersRouteFilterIDDeleteInternalServerError() *V1NetworkPeersRouteFilterIDDeleteInternalServerError { + return &V1NetworkPeersRouteFilterIDDeleteInternalServerError{} +} + +/* +V1NetworkPeersRouteFilterIDDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersRouteFilterIDDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id delete internal server error response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id delete internal server error response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id delete internal server error response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers route filter Id delete internal server error response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers route filter Id delete internal server error response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers route filter Id delete internal server error response +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_get_parameters.go new file mode 100644 index 000000000..3f65fff91 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkPeersRouteFilterIDGetParams creates a new V1NetworkPeersRouteFilterIDGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersRouteFilterIDGetParams() *V1NetworkPeersRouteFilterIDGetParams { + return &V1NetworkPeersRouteFilterIDGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersRouteFilterIDGetParamsWithTimeout creates a new V1NetworkPeersRouteFilterIDGetParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersRouteFilterIDGetParamsWithTimeout(timeout time.Duration) *V1NetworkPeersRouteFilterIDGetParams { + return &V1NetworkPeersRouteFilterIDGetParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersRouteFilterIDGetParamsWithContext creates a new V1NetworkPeersRouteFilterIDGetParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersRouteFilterIDGetParamsWithContext(ctx context.Context) *V1NetworkPeersRouteFilterIDGetParams { + return &V1NetworkPeersRouteFilterIDGetParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersRouteFilterIDGetParamsWithHTTPClient creates a new V1NetworkPeersRouteFilterIDGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersRouteFilterIDGetParamsWithHTTPClient(client *http.Client) *V1NetworkPeersRouteFilterIDGetParams { + return &V1NetworkPeersRouteFilterIDGetParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersRouteFilterIDGetParams contains all the parameters to send to the API endpoint + + for the v1 network peers route filter id get operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersRouteFilterIDGetParams struct { + + /* NetworkPeerID. + + network peer ID + */ + NetworkPeerID string + + /* RouteFilterID. + + route filter ID + */ + RouteFilterID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers route filter id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersRouteFilterIDGetParams) WithDefaults() *V1NetworkPeersRouteFilterIDGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers route filter id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersRouteFilterIDGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) WithTimeout(timeout time.Duration) *V1NetworkPeersRouteFilterIDGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) WithContext(ctx context.Context) *V1NetworkPeersRouteFilterIDGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) WithHTTPClient(client *http.Client) *V1NetworkPeersRouteFilterIDGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkPeerID adds the networkPeerID to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) WithNetworkPeerID(networkPeerID string) *V1NetworkPeersRouteFilterIDGetParams { + o.SetNetworkPeerID(networkPeerID) + return o +} + +// SetNetworkPeerID adds the networkPeerId to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) SetNetworkPeerID(networkPeerID string) { + o.NetworkPeerID = networkPeerID +} + +// WithRouteFilterID adds the routeFilterID to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) WithRouteFilterID(routeFilterID string) *V1NetworkPeersRouteFilterIDGetParams { + o.SetRouteFilterID(routeFilterID) + return o +} + +// SetRouteFilterID adds the routeFilterId to the v1 network peers route filter id get params +func (o *V1NetworkPeersRouteFilterIDGetParams) SetRouteFilterID(routeFilterID string) { + o.RouteFilterID = routeFilterID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersRouteFilterIDGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_peer_id + if err := r.SetPathParam("network_peer_id", o.NetworkPeerID); err != nil { + return err + } + + // path param route_filter_id + if err := r.SetPathParam("route_filter_id", o.RouteFilterID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_get_responses.go new file mode 100644 index 000000000..6bc839653 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filter_id_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersRouteFilterIDGetReader is a Reader for the V1NetworkPeersRouteFilterIDGet structure. +type V1NetworkPeersRouteFilterIDGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersRouteFilterIDGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersRouteFilterIDGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersRouteFilterIDGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersRouteFilterIDGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersRouteFilterIDGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersRouteFilterIDGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersRouteFilterIDGetConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersRouteFilterIDGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}] v1.networkPeers.routeFilter.id.get", response, response.Code()) + } +} + +// NewV1NetworkPeersRouteFilterIDGetOK creates a V1NetworkPeersRouteFilterIDGetOK with default headers values +func NewV1NetworkPeersRouteFilterIDGetOK() *V1NetworkPeersRouteFilterIDGetOK { + return &V1NetworkPeersRouteFilterIDGetOK{} +} + +/* +V1NetworkPeersRouteFilterIDGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersRouteFilterIDGetOK struct { + Payload *models.RouteFilter +} + +// IsSuccess returns true when this v1 network peers route filter Id get o k response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers route filter Id get o k response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id get o k response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers route filter Id get o k response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id get o k response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers route filter Id get o k response +func (o *V1NetworkPeersRouteFilterIDGetOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersRouteFilterIDGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetOK %s", 200, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetOK %s", 200, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetOK) GetPayload() *models.RouteFilter { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.RouteFilter) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDGetBadRequest creates a V1NetworkPeersRouteFilterIDGetBadRequest with default headers values +func NewV1NetworkPeersRouteFilterIDGetBadRequest() *V1NetworkPeersRouteFilterIDGetBadRequest { + return &V1NetworkPeersRouteFilterIDGetBadRequest{} +} + +/* +V1NetworkPeersRouteFilterIDGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersRouteFilterIDGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id get bad request response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id get bad request response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id get bad request response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id get bad request response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id get bad request response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers route filter Id get bad request response +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDGetUnauthorized creates a V1NetworkPeersRouteFilterIDGetUnauthorized with default headers values +func NewV1NetworkPeersRouteFilterIDGetUnauthorized() *V1NetworkPeersRouteFilterIDGetUnauthorized { + return &V1NetworkPeersRouteFilterIDGetUnauthorized{} +} + +/* +V1NetworkPeersRouteFilterIDGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersRouteFilterIDGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id get unauthorized response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id get unauthorized response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id get unauthorized response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id get unauthorized response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id get unauthorized response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers route filter Id get unauthorized response +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDGetForbidden creates a V1NetworkPeersRouteFilterIDGetForbidden with default headers values +func NewV1NetworkPeersRouteFilterIDGetForbidden() *V1NetworkPeersRouteFilterIDGetForbidden { + return &V1NetworkPeersRouteFilterIDGetForbidden{} +} + +/* +V1NetworkPeersRouteFilterIDGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersRouteFilterIDGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id get forbidden response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id get forbidden response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id get forbidden response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id get forbidden response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id get forbidden response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers route filter Id get forbidden response +func (o *V1NetworkPeersRouteFilterIDGetForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersRouteFilterIDGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDGetNotFound creates a V1NetworkPeersRouteFilterIDGetNotFound with default headers values +func NewV1NetworkPeersRouteFilterIDGetNotFound() *V1NetworkPeersRouteFilterIDGetNotFound { + return &V1NetworkPeersRouteFilterIDGetNotFound{} +} + +/* +V1NetworkPeersRouteFilterIDGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersRouteFilterIDGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id get not found response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id get not found response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id get not found response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id get not found response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id get not found response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers route filter Id get not found response +func (o *V1NetworkPeersRouteFilterIDGetNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersRouteFilterIDGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDGetConflict creates a V1NetworkPeersRouteFilterIDGetConflict with default headers values +func NewV1NetworkPeersRouteFilterIDGetConflict() *V1NetworkPeersRouteFilterIDGetConflict { + return &V1NetworkPeersRouteFilterIDGetConflict{} +} + +/* +V1NetworkPeersRouteFilterIDGetConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersRouteFilterIDGetConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id get conflict response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDGetConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id get conflict response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDGetConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id get conflict response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDGetConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filter Id get conflict response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDGetConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filter Id get conflict response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDGetConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers route filter Id get conflict response +func (o *V1NetworkPeersRouteFilterIDGetConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersRouteFilterIDGetConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetConflict %s", 409, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetConflict %s", 409, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDGetConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFilterIDGetInternalServerError creates a V1NetworkPeersRouteFilterIDGetInternalServerError with default headers values +func NewV1NetworkPeersRouteFilterIDGetInternalServerError() *V1NetworkPeersRouteFilterIDGetInternalServerError { + return &V1NetworkPeersRouteFilterIDGetInternalServerError{} +} + +/* +V1NetworkPeersRouteFilterIDGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersRouteFilterIDGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filter Id get internal server error response has a 2xx status code +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filter Id get internal server error response has a 3xx status code +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filter Id get internal server error response has a 4xx status code +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers route filter Id get internal server error response has a 5xx status code +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers route filter Id get internal server error response a status code equal to that given +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers route filter Id get internal server error response +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-peers/{network_peer_id}/route-filters/{route_filter_id}][%d] v1NetworkPeersRouteFilterIdGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFilterIDGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filters_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filters_post_parameters.go new file mode 100644 index 000000000..011440a26 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filters_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkPeersRouteFiltersPostParams creates a new V1NetworkPeersRouteFiltersPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkPeersRouteFiltersPostParams() *V1NetworkPeersRouteFiltersPostParams { + return &V1NetworkPeersRouteFiltersPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkPeersRouteFiltersPostParamsWithTimeout creates a new V1NetworkPeersRouteFiltersPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkPeersRouteFiltersPostParamsWithTimeout(timeout time.Duration) *V1NetworkPeersRouteFiltersPostParams { + return &V1NetworkPeersRouteFiltersPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkPeersRouteFiltersPostParamsWithContext creates a new V1NetworkPeersRouteFiltersPostParams object +// with the ability to set a context for a request. +func NewV1NetworkPeersRouteFiltersPostParamsWithContext(ctx context.Context) *V1NetworkPeersRouteFiltersPostParams { + return &V1NetworkPeersRouteFiltersPostParams{ + Context: ctx, + } +} + +// NewV1NetworkPeersRouteFiltersPostParamsWithHTTPClient creates a new V1NetworkPeersRouteFiltersPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkPeersRouteFiltersPostParamsWithHTTPClient(client *http.Client) *V1NetworkPeersRouteFiltersPostParams { + return &V1NetworkPeersRouteFiltersPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkPeersRouteFiltersPostParams contains all the parameters to send to the API endpoint + + for the v1 network peers route filters post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkPeersRouteFiltersPostParams struct { + + /* Body. + + route filter create parameters. + */ + Body *models.RouteFilterCreate + + /* NetworkPeerID. + + network peer ID + */ + NetworkPeerID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network peers route filters post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersRouteFiltersPostParams) WithDefaults() *V1NetworkPeersRouteFiltersPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network peers route filters post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkPeersRouteFiltersPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) WithTimeout(timeout time.Duration) *V1NetworkPeersRouteFiltersPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) WithContext(ctx context.Context) *V1NetworkPeersRouteFiltersPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) WithHTTPClient(client *http.Client) *V1NetworkPeersRouteFiltersPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) WithBody(body *models.RouteFilterCreate) *V1NetworkPeersRouteFiltersPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) SetBody(body *models.RouteFilterCreate) { + o.Body = body +} + +// WithNetworkPeerID adds the networkPeerID to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) WithNetworkPeerID(networkPeerID string) *V1NetworkPeersRouteFiltersPostParams { + o.SetNetworkPeerID(networkPeerID) + return o +} + +// SetNetworkPeerID adds the networkPeerId to the v1 network peers route filters post params +func (o *V1NetworkPeersRouteFiltersPostParams) SetNetworkPeerID(networkPeerID string) { + o.NetworkPeerID = networkPeerID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkPeersRouteFiltersPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_peer_id + if err := r.SetPathParam("network_peer_id", o.NetworkPeerID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filters_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filters_post_responses.go new file mode 100644 index 000000000..db282303f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_peers/v1_network_peers_route_filters_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_peers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkPeersRouteFiltersPostReader is a Reader for the V1NetworkPeersRouteFiltersPost structure. +type V1NetworkPeersRouteFiltersPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkPeersRouteFiltersPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkPeersRouteFiltersPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkPeersRouteFiltersPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkPeersRouteFiltersPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkPeersRouteFiltersPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkPeersRouteFiltersPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkPeersRouteFiltersPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkPeersRouteFiltersPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-peers/{network_peer_id}/route-filters] v1.networkPeers.routeFilters.post", response, response.Code()) + } +} + +// NewV1NetworkPeersRouteFiltersPostOK creates a V1NetworkPeersRouteFiltersPostOK with default headers values +func NewV1NetworkPeersRouteFiltersPostOK() *V1NetworkPeersRouteFiltersPostOK { + return &V1NetworkPeersRouteFiltersPostOK{} +} + +/* +V1NetworkPeersRouteFiltersPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkPeersRouteFiltersPostOK struct { + Payload *models.RouteFilter +} + +// IsSuccess returns true when this v1 network peers route filters post o k response has a 2xx status code +func (o *V1NetworkPeersRouteFiltersPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network peers route filters post o k response has a 3xx status code +func (o *V1NetworkPeersRouteFiltersPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filters post o k response has a 4xx status code +func (o *V1NetworkPeersRouteFiltersPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers route filters post o k response has a 5xx status code +func (o *V1NetworkPeersRouteFiltersPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filters post o k response a status code equal to that given +func (o *V1NetworkPeersRouteFiltersPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network peers route filters post o k response +func (o *V1NetworkPeersRouteFiltersPostOK) Code() int { + return 200 +} + +func (o *V1NetworkPeersRouteFiltersPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostOK %s", 200, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostOK %s", 200, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostOK) GetPayload() *models.RouteFilter { + return o.Payload +} + +func (o *V1NetworkPeersRouteFiltersPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.RouteFilter) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFiltersPostBadRequest creates a V1NetworkPeersRouteFiltersPostBadRequest with default headers values +func NewV1NetworkPeersRouteFiltersPostBadRequest() *V1NetworkPeersRouteFiltersPostBadRequest { + return &V1NetworkPeersRouteFiltersPostBadRequest{} +} + +/* +V1NetworkPeersRouteFiltersPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkPeersRouteFiltersPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filters post bad request response has a 2xx status code +func (o *V1NetworkPeersRouteFiltersPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filters post bad request response has a 3xx status code +func (o *V1NetworkPeersRouteFiltersPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filters post bad request response has a 4xx status code +func (o *V1NetworkPeersRouteFiltersPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filters post bad request response has a 5xx status code +func (o *V1NetworkPeersRouteFiltersPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filters post bad request response a status code equal to that given +func (o *V1NetworkPeersRouteFiltersPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network peers route filters post bad request response +func (o *V1NetworkPeersRouteFiltersPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkPeersRouteFiltersPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFiltersPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFiltersPostUnauthorized creates a V1NetworkPeersRouteFiltersPostUnauthorized with default headers values +func NewV1NetworkPeersRouteFiltersPostUnauthorized() *V1NetworkPeersRouteFiltersPostUnauthorized { + return &V1NetworkPeersRouteFiltersPostUnauthorized{} +} + +/* +V1NetworkPeersRouteFiltersPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkPeersRouteFiltersPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filters post unauthorized response has a 2xx status code +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filters post unauthorized response has a 3xx status code +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filters post unauthorized response has a 4xx status code +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filters post unauthorized response has a 5xx status code +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filters post unauthorized response a status code equal to that given +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network peers route filters post unauthorized response +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFiltersPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFiltersPostForbidden creates a V1NetworkPeersRouteFiltersPostForbidden with default headers values +func NewV1NetworkPeersRouteFiltersPostForbidden() *V1NetworkPeersRouteFiltersPostForbidden { + return &V1NetworkPeersRouteFiltersPostForbidden{} +} + +/* +V1NetworkPeersRouteFiltersPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkPeersRouteFiltersPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filters post forbidden response has a 2xx status code +func (o *V1NetworkPeersRouteFiltersPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filters post forbidden response has a 3xx status code +func (o *V1NetworkPeersRouteFiltersPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filters post forbidden response has a 4xx status code +func (o *V1NetworkPeersRouteFiltersPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filters post forbidden response has a 5xx status code +func (o *V1NetworkPeersRouteFiltersPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filters post forbidden response a status code equal to that given +func (o *V1NetworkPeersRouteFiltersPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network peers route filters post forbidden response +func (o *V1NetworkPeersRouteFiltersPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkPeersRouteFiltersPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostForbidden %s", 403, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFiltersPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFiltersPostNotFound creates a V1NetworkPeersRouteFiltersPostNotFound with default headers values +func NewV1NetworkPeersRouteFiltersPostNotFound() *V1NetworkPeersRouteFiltersPostNotFound { + return &V1NetworkPeersRouteFiltersPostNotFound{} +} + +/* +V1NetworkPeersRouteFiltersPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkPeersRouteFiltersPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filters post not found response has a 2xx status code +func (o *V1NetworkPeersRouteFiltersPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filters post not found response has a 3xx status code +func (o *V1NetworkPeersRouteFiltersPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filters post not found response has a 4xx status code +func (o *V1NetworkPeersRouteFiltersPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filters post not found response has a 5xx status code +func (o *V1NetworkPeersRouteFiltersPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filters post not found response a status code equal to that given +func (o *V1NetworkPeersRouteFiltersPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network peers route filters post not found response +func (o *V1NetworkPeersRouteFiltersPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkPeersRouteFiltersPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostNotFound %s", 404, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFiltersPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFiltersPostConflict creates a V1NetworkPeersRouteFiltersPostConflict with default headers values +func NewV1NetworkPeersRouteFiltersPostConflict() *V1NetworkPeersRouteFiltersPostConflict { + return &V1NetworkPeersRouteFiltersPostConflict{} +} + +/* +V1NetworkPeersRouteFiltersPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkPeersRouteFiltersPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filters post conflict response has a 2xx status code +func (o *V1NetworkPeersRouteFiltersPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filters post conflict response has a 3xx status code +func (o *V1NetworkPeersRouteFiltersPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filters post conflict response has a 4xx status code +func (o *V1NetworkPeersRouteFiltersPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network peers route filters post conflict response has a 5xx status code +func (o *V1NetworkPeersRouteFiltersPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network peers route filters post conflict response a status code equal to that given +func (o *V1NetworkPeersRouteFiltersPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network peers route filters post conflict response +func (o *V1NetworkPeersRouteFiltersPostConflict) Code() int { + return 409 +} + +func (o *V1NetworkPeersRouteFiltersPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostConflict %s", 409, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostConflict %s", 409, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFiltersPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkPeersRouteFiltersPostInternalServerError creates a V1NetworkPeersRouteFiltersPostInternalServerError with default headers values +func NewV1NetworkPeersRouteFiltersPostInternalServerError() *V1NetworkPeersRouteFiltersPostInternalServerError { + return &V1NetworkPeersRouteFiltersPostInternalServerError{} +} + +/* +V1NetworkPeersRouteFiltersPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkPeersRouteFiltersPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network peers route filters post internal server error response has a 2xx status code +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network peers route filters post internal server error response has a 3xx status code +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network peers route filters post internal server error response has a 4xx status code +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network peers route filters post internal server error response has a 5xx status code +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network peers route filters post internal server error response a status code equal to that given +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network peers route filters post internal server error response +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-peers/{network_peer_id}/route-filters][%d] v1NetworkPeersRouteFiltersPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkPeersRouteFiltersPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/network_security_groups_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/network_security_groups_client.go new file mode 100644 index 000000000..865e10ffd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/network_security_groups_client.go @@ -0,0 +1,617 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new network security groups API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new network security groups API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new network security groups API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for network security groups API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1NetworkSecurityGroupsActionPost(params *V1NetworkSecurityGroupsActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsActionPostOK, *V1NetworkSecurityGroupsActionPostAccepted, error) + + V1NetworkSecurityGroupsIDDelete(params *V1NetworkSecurityGroupsIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsIDDeleteOK, error) + + V1NetworkSecurityGroupsIDGet(params *V1NetworkSecurityGroupsIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsIDGetOK, error) + + V1NetworkSecurityGroupsIDPost(params *V1NetworkSecurityGroupsIDPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsIDPostCreated, error) + + V1NetworkSecurityGroupsIDPut(params *V1NetworkSecurityGroupsIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsIDPutOK, error) + + V1NetworkSecurityGroupsList(params *V1NetworkSecurityGroupsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsListOK, error) + + V1NetworkSecurityGroupsMembersDelete(params *V1NetworkSecurityGroupsMembersDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsMembersDeleteOK, error) + + V1NetworkSecurityGroupsMembersPost(params *V1NetworkSecurityGroupsMembersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsMembersPostOK, error) + + V1NetworkSecurityGroupsMoveMemberPost(params *V1NetworkSecurityGroupsMoveMemberPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsMoveMemberPostOK, error) + + V1NetworkSecurityGroupsPost(params *V1NetworkSecurityGroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsPostOK, *V1NetworkSecurityGroupsPostCreated, error) + + V1NetworkSecurityGroupsRulesDelete(params *V1NetworkSecurityGroupsRulesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsRulesDeleteOK, error) + + V1NetworkSecurityGroupsRulesPost(params *V1NetworkSecurityGroupsRulesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsRulesPostOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1NetworkSecurityGroupsActionPost performs a network security groups action enable disable on a workspace on enablement a default network security group is created to allow all traffic for all active network iterfaces +*/ +func (a *Client) V1NetworkSecurityGroupsActionPost(params *V1NetworkSecurityGroupsActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsActionPostOK, *V1NetworkSecurityGroupsActionPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsActionPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.action.post", + Method: "POST", + PathPattern: "/v1/network-security-groups/action", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsActionPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *V1NetworkSecurityGroupsActionPostOK: + return value, nil, nil + case *V1NetworkSecurityGroupsActionPostAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for network_security_groups: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsIDDelete deletes a network security group from a workspace +*/ +func (a *Client) V1NetworkSecurityGroupsIDDelete(params *V1NetworkSecurityGroupsIDDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsIDDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsIDDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.id.delete", + Method: "DELETE", + PathPattern: "/v1/network-security-groups/{network_security_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsIDDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsIDDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.id.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsIDGet gets the detail of a network security group +*/ +func (a *Client) V1NetworkSecurityGroupsIDGet(params *V1NetworkSecurityGroupsIDGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsIDGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsIDGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.id.get", + Method: "GET", + PathPattern: "/v1/network-security-groups/{network_security_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsIDGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsIDGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.id.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsIDPost clones a network security group +*/ +func (a *Client) V1NetworkSecurityGroupsIDPost(params *V1NetworkSecurityGroupsIDPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsIDPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsIDPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.id.post", + Method: "POST", + PathPattern: "/v1/network-security-groups/{network_security_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsIDPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsIDPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.id.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsIDPut updates a network security group +*/ +func (a *Client) V1NetworkSecurityGroupsIDPut(params *V1NetworkSecurityGroupsIDPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsIDPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsIDPutParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.id.put", + Method: "PUT", + PathPattern: "/v1/network-security-groups/{network_security_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsIDPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsIDPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.id.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsList gets the list of network security groups for a workspace +*/ +func (a *Client) V1NetworkSecurityGroupsList(params *V1NetworkSecurityGroupsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsListOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsListParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.list", + Method: "GET", + PathPattern: "/v1/network-security-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsListReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsListOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.list: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsMembersDelete deletes the member from a network security group +*/ +func (a *Client) V1NetworkSecurityGroupsMembersDelete(params *V1NetworkSecurityGroupsMembersDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsMembersDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsMembersDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.members.delete", + Method: "DELETE", + PathPattern: "/v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsMembersDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsMembersDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.members.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsMembersPost adds a member to a network security group +*/ +func (a *Client) V1NetworkSecurityGroupsMembersPost(params *V1NetworkSecurityGroupsMembersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsMembersPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsMembersPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.members.post", + Method: "POST", + PathPattern: "/v1/network-security-groups/{network_security_group_id}/members", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsMembersPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsMembersPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.members.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsMoveMemberPost moves a network security group member to another network security group +*/ +func (a *Client) V1NetworkSecurityGroupsMoveMemberPost(params *V1NetworkSecurityGroupsMoveMemberPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsMoveMemberPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsMoveMemberPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.move_member.post", + Method: "POST", + PathPattern: "/v1/network-security-groups/{network_security_group_id}/move_member", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsMoveMemberPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsMoveMemberPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.move_member.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsPost creates a new network security group +*/ +func (a *Client) V1NetworkSecurityGroupsPost(params *V1NetworkSecurityGroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsPostOK, *V1NetworkSecurityGroupsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.post", + Method: "POST", + PathPattern: "/v1/network-security-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *V1NetworkSecurityGroupsPostOK: + return value, nil, nil + case *V1NetworkSecurityGroupsPostCreated: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for network_security_groups: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsRulesDelete deletes the rule from a network security group +*/ +func (a *Client) V1NetworkSecurityGroupsRulesDelete(params *V1NetworkSecurityGroupsRulesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsRulesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsRulesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.rules.delete", + Method: "DELETE", + PathPattern: "/v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsRulesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsRulesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.rules.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworkSecurityGroupsRulesPost adds a rule to a network security group +*/ +func (a *Client) V1NetworkSecurityGroupsRulesPost(params *V1NetworkSecurityGroupsRulesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworkSecurityGroupsRulesPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworkSecurityGroupsRulesPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networkSecurityGroups.rules.post", + Method: "POST", + PathPattern: "/v1/network-security-groups/{network_security_group_id}/rules", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworkSecurityGroupsRulesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworkSecurityGroupsRulesPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networkSecurityGroups.rules.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_action_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_action_post_parameters.go new file mode 100644 index 000000000..7481ad9c3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_action_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkSecurityGroupsActionPostParams creates a new V1NetworkSecurityGroupsActionPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsActionPostParams() *V1NetworkSecurityGroupsActionPostParams { + return &V1NetworkSecurityGroupsActionPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsActionPostParamsWithTimeout creates a new V1NetworkSecurityGroupsActionPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsActionPostParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsActionPostParams { + return &V1NetworkSecurityGroupsActionPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsActionPostParamsWithContext creates a new V1NetworkSecurityGroupsActionPostParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsActionPostParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsActionPostParams { + return &V1NetworkSecurityGroupsActionPostParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsActionPostParamsWithHTTPClient creates a new V1NetworkSecurityGroupsActionPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsActionPostParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsActionPostParams { + return &V1NetworkSecurityGroupsActionPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsActionPostParams contains all the parameters to send to the API endpoint + + for the v1 network security groups action post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsActionPostParams struct { + + /* Body. + + Parameters for the desired action + */ + Body *models.NetworkSecurityGroupsAction + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsActionPostParams) WithDefaults() *V1NetworkSecurityGroupsActionPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsActionPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups action post params +func (o *V1NetworkSecurityGroupsActionPostParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsActionPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups action post params +func (o *V1NetworkSecurityGroupsActionPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups action post params +func (o *V1NetworkSecurityGroupsActionPostParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsActionPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups action post params +func (o *V1NetworkSecurityGroupsActionPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups action post params +func (o *V1NetworkSecurityGroupsActionPostParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsActionPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups action post params +func (o *V1NetworkSecurityGroupsActionPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network security groups action post params +func (o *V1NetworkSecurityGroupsActionPostParams) WithBody(body *models.NetworkSecurityGroupsAction) *V1NetworkSecurityGroupsActionPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network security groups action post params +func (o *V1NetworkSecurityGroupsActionPostParams) SetBody(body *models.NetworkSecurityGroupsAction) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsActionPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_action_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_action_post_responses.go new file mode 100644 index 000000000..01b6afa27 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_action_post_responses.go @@ -0,0 +1,711 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsActionPostReader is a Reader for the V1NetworkSecurityGroupsActionPost structure. +type V1NetworkSecurityGroupsActionPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsActionPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsActionPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewV1NetworkSecurityGroupsActionPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsActionPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsActionPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsActionPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsActionPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkSecurityGroupsActionPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsActionPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 550: + result := NewV1NetworkSecurityGroupsActionPostStatus550() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-security-groups/action] v1.networkSecurityGroups.action.post", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsActionPostOK creates a V1NetworkSecurityGroupsActionPostOK with default headers values +func NewV1NetworkSecurityGroupsActionPostOK() *V1NetworkSecurityGroupsActionPostOK { + return &V1NetworkSecurityGroupsActionPostOK{} +} + +/* +V1NetworkSecurityGroupsActionPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsActionPostOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network security groups action post o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups action post o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups action post o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups action post o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups action post o k response +func (o *V1NetworkSecurityGroupsActionPostOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsActionPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsActionPostAccepted creates a V1NetworkSecurityGroupsActionPostAccepted with default headers values +func NewV1NetworkSecurityGroupsActionPostAccepted() *V1NetworkSecurityGroupsActionPostAccepted { + return &V1NetworkSecurityGroupsActionPostAccepted{} +} + +/* +V1NetworkSecurityGroupsActionPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type V1NetworkSecurityGroupsActionPostAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network security groups action post accepted response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups action post accepted response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post accepted response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups action post accepted response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups action post accepted response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the v1 network security groups action post accepted response +func (o *V1NetworkSecurityGroupsActionPostAccepted) Code() int { + return 202 +} + +func (o *V1NetworkSecurityGroupsActionPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostAccepted %s", 202, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostAccepted %s", 202, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsActionPostBadRequest creates a V1NetworkSecurityGroupsActionPostBadRequest with default headers values +func NewV1NetworkSecurityGroupsActionPostBadRequest() *V1NetworkSecurityGroupsActionPostBadRequest { + return &V1NetworkSecurityGroupsActionPostBadRequest{} +} + +/* +V1NetworkSecurityGroupsActionPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsActionPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups action post bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups action post bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups action post bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups action post bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups action post bad request response +func (o *V1NetworkSecurityGroupsActionPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsActionPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsActionPostUnauthorized creates a V1NetworkSecurityGroupsActionPostUnauthorized with default headers values +func NewV1NetworkSecurityGroupsActionPostUnauthorized() *V1NetworkSecurityGroupsActionPostUnauthorized { + return &V1NetworkSecurityGroupsActionPostUnauthorized{} +} + +/* +V1NetworkSecurityGroupsActionPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsActionPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups action post unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups action post unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups action post unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups action post unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups action post unauthorized response +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsActionPostForbidden creates a V1NetworkSecurityGroupsActionPostForbidden with default headers values +func NewV1NetworkSecurityGroupsActionPostForbidden() *V1NetworkSecurityGroupsActionPostForbidden { + return &V1NetworkSecurityGroupsActionPostForbidden{} +} + +/* +V1NetworkSecurityGroupsActionPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsActionPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups action post forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups action post forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups action post forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups action post forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups action post forbidden response +func (o *V1NetworkSecurityGroupsActionPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsActionPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsActionPostNotFound creates a V1NetworkSecurityGroupsActionPostNotFound with default headers values +func NewV1NetworkSecurityGroupsActionPostNotFound() *V1NetworkSecurityGroupsActionPostNotFound { + return &V1NetworkSecurityGroupsActionPostNotFound{} +} + +/* +V1NetworkSecurityGroupsActionPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsActionPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups action post not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups action post not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups action post not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups action post not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups action post not found response +func (o *V1NetworkSecurityGroupsActionPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsActionPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsActionPostConflict creates a V1NetworkSecurityGroupsActionPostConflict with default headers values +func NewV1NetworkSecurityGroupsActionPostConflict() *V1NetworkSecurityGroupsActionPostConflict { + return &V1NetworkSecurityGroupsActionPostConflict{} +} + +/* +V1NetworkSecurityGroupsActionPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkSecurityGroupsActionPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups action post conflict response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups action post conflict response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post conflict response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups action post conflict response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups action post conflict response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network security groups action post conflict response +func (o *V1NetworkSecurityGroupsActionPostConflict) Code() int { + return 409 +} + +func (o *V1NetworkSecurityGroupsActionPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsActionPostInternalServerError creates a V1NetworkSecurityGroupsActionPostInternalServerError with default headers values +func NewV1NetworkSecurityGroupsActionPostInternalServerError() *V1NetworkSecurityGroupsActionPostInternalServerError { + return &V1NetworkSecurityGroupsActionPostInternalServerError{} +} + +/* +V1NetworkSecurityGroupsActionPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsActionPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups action post internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups action post internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups action post internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups action post internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups action post internal server error response +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsActionPostStatus550 creates a V1NetworkSecurityGroupsActionPostStatus550 with default headers values +func NewV1NetworkSecurityGroupsActionPostStatus550() *V1NetworkSecurityGroupsActionPostStatus550 { + return &V1NetworkSecurityGroupsActionPostStatus550{} +} + +/* +V1NetworkSecurityGroupsActionPostStatus550 describes a response with status code 550, with default header values. + +Workspace Status Error +*/ +type V1NetworkSecurityGroupsActionPostStatus550 struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups action post status550 response has a 2xx status code +func (o *V1NetworkSecurityGroupsActionPostStatus550) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups action post status550 response has a 3xx status code +func (o *V1NetworkSecurityGroupsActionPostStatus550) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups action post status550 response has a 4xx status code +func (o *V1NetworkSecurityGroupsActionPostStatus550) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups action post status550 response has a 5xx status code +func (o *V1NetworkSecurityGroupsActionPostStatus550) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups action post status550 response a status code equal to that given +func (o *V1NetworkSecurityGroupsActionPostStatus550) IsCode(code int) bool { + return code == 550 +} + +// Code gets the status code for the v1 network security groups action post status550 response +func (o *V1NetworkSecurityGroupsActionPostStatus550) Code() int { + return 550 +} + +func (o *V1NetworkSecurityGroupsActionPostStatus550) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostStatus550 %s", 550, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostStatus550) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/action][%d] v1NetworkSecurityGroupsActionPostStatus550 %s", 550, payload) +} + +func (o *V1NetworkSecurityGroupsActionPostStatus550) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsActionPostStatus550) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_delete_parameters.go new file mode 100644 index 000000000..b0f6b1f8e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkSecurityGroupsIDDeleteParams creates a new V1NetworkSecurityGroupsIDDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsIDDeleteParams() *V1NetworkSecurityGroupsIDDeleteParams { + return &V1NetworkSecurityGroupsIDDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsIDDeleteParamsWithTimeout creates a new V1NetworkSecurityGroupsIDDeleteParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsIDDeleteParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsIDDeleteParams { + return &V1NetworkSecurityGroupsIDDeleteParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsIDDeleteParamsWithContext creates a new V1NetworkSecurityGroupsIDDeleteParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsIDDeleteParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsIDDeleteParams { + return &V1NetworkSecurityGroupsIDDeleteParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsIDDeleteParamsWithHTTPClient creates a new V1NetworkSecurityGroupsIDDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsIDDeleteParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsIDDeleteParams { + return &V1NetworkSecurityGroupsIDDeleteParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsIDDeleteParams contains all the parameters to send to the API endpoint + + for the v1 network security groups id delete operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsIDDeleteParams struct { + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsIDDeleteParams) WithDefaults() *V1NetworkSecurityGroupsIDDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups id delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsIDDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups id delete params +func (o *V1NetworkSecurityGroupsIDDeleteParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsIDDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups id delete params +func (o *V1NetworkSecurityGroupsIDDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups id delete params +func (o *V1NetworkSecurityGroupsIDDeleteParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsIDDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups id delete params +func (o *V1NetworkSecurityGroupsIDDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups id delete params +func (o *V1NetworkSecurityGroupsIDDeleteParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsIDDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups id delete params +func (o *V1NetworkSecurityGroupsIDDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups id delete params +func (o *V1NetworkSecurityGroupsIDDeleteParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsIDDeleteParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups id delete params +func (o *V1NetworkSecurityGroupsIDDeleteParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsIDDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_delete_responses.go new file mode 100644 index 000000000..e3d1e201e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsIDDeleteReader is a Reader for the V1NetworkSecurityGroupsIDDelete structure. +type V1NetworkSecurityGroupsIDDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsIDDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsIDDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsIDDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsIDDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsIDDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsIDDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkSecurityGroupsIDDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsIDDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/network-security-groups/{network_security_group_id}] v1.networkSecurityGroups.id.delete", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsIDDeleteOK creates a V1NetworkSecurityGroupsIDDeleteOK with default headers values +func NewV1NetworkSecurityGroupsIDDeleteOK() *V1NetworkSecurityGroupsIDDeleteOK { + return &V1NetworkSecurityGroupsIDDeleteOK{} +} + +/* +V1NetworkSecurityGroupsIDDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsIDDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network security groups Id delete o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups Id delete o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id delete o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups Id delete o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id delete o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups Id delete o k response +func (o *V1NetworkSecurityGroupsIDDeleteOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsIDDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDDeleteBadRequest creates a V1NetworkSecurityGroupsIDDeleteBadRequest with default headers values +func NewV1NetworkSecurityGroupsIDDeleteBadRequest() *V1NetworkSecurityGroupsIDDeleteBadRequest { + return &V1NetworkSecurityGroupsIDDeleteBadRequest{} +} + +/* +V1NetworkSecurityGroupsIDDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsIDDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id delete bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id delete bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id delete bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id delete bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id delete bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups Id delete bad request response +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDDeleteUnauthorized creates a V1NetworkSecurityGroupsIDDeleteUnauthorized with default headers values +func NewV1NetworkSecurityGroupsIDDeleteUnauthorized() *V1NetworkSecurityGroupsIDDeleteUnauthorized { + return &V1NetworkSecurityGroupsIDDeleteUnauthorized{} +} + +/* +V1NetworkSecurityGroupsIDDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsIDDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id delete unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id delete unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id delete unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id delete unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id delete unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups Id delete unauthorized response +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDDeleteForbidden creates a V1NetworkSecurityGroupsIDDeleteForbidden with default headers values +func NewV1NetworkSecurityGroupsIDDeleteForbidden() *V1NetworkSecurityGroupsIDDeleteForbidden { + return &V1NetworkSecurityGroupsIDDeleteForbidden{} +} + +/* +V1NetworkSecurityGroupsIDDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsIDDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id delete forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id delete forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id delete forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id delete forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id delete forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups Id delete forbidden response +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDDeleteNotFound creates a V1NetworkSecurityGroupsIDDeleteNotFound with default headers values +func NewV1NetworkSecurityGroupsIDDeleteNotFound() *V1NetworkSecurityGroupsIDDeleteNotFound { + return &V1NetworkSecurityGroupsIDDeleteNotFound{} +} + +/* +V1NetworkSecurityGroupsIDDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsIDDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id delete not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id delete not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id delete not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id delete not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id delete not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups Id delete not found response +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDDeleteConflict creates a V1NetworkSecurityGroupsIDDeleteConflict with default headers values +func NewV1NetworkSecurityGroupsIDDeleteConflict() *V1NetworkSecurityGroupsIDDeleteConflict { + return &V1NetworkSecurityGroupsIDDeleteConflict{} +} + +/* +V1NetworkSecurityGroupsIDDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkSecurityGroupsIDDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id delete conflict response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id delete conflict response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id delete conflict response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id delete conflict response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id delete conflict response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network security groups Id delete conflict response +func (o *V1NetworkSecurityGroupsIDDeleteConflict) Code() int { + return 409 +} + +func (o *V1NetworkSecurityGroupsIDDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDDeleteInternalServerError creates a V1NetworkSecurityGroupsIDDeleteInternalServerError with default headers values +func NewV1NetworkSecurityGroupsIDDeleteInternalServerError() *V1NetworkSecurityGroupsIDDeleteInternalServerError { + return &V1NetworkSecurityGroupsIDDeleteInternalServerError{} +} + +/* +V1NetworkSecurityGroupsIDDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsIDDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id delete internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id delete internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id delete internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups Id delete internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups Id delete internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups Id delete internal server error response +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_get_parameters.go new file mode 100644 index 000000000..fe003a1ad --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkSecurityGroupsIDGetParams creates a new V1NetworkSecurityGroupsIDGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsIDGetParams() *V1NetworkSecurityGroupsIDGetParams { + return &V1NetworkSecurityGroupsIDGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsIDGetParamsWithTimeout creates a new V1NetworkSecurityGroupsIDGetParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsIDGetParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsIDGetParams { + return &V1NetworkSecurityGroupsIDGetParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsIDGetParamsWithContext creates a new V1NetworkSecurityGroupsIDGetParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsIDGetParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsIDGetParams { + return &V1NetworkSecurityGroupsIDGetParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsIDGetParamsWithHTTPClient creates a new V1NetworkSecurityGroupsIDGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsIDGetParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsIDGetParams { + return &V1NetworkSecurityGroupsIDGetParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsIDGetParams contains all the parameters to send to the API endpoint + + for the v1 network security groups id get operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsIDGetParams struct { + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsIDGetParams) WithDefaults() *V1NetworkSecurityGroupsIDGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups id get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsIDGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups id get params +func (o *V1NetworkSecurityGroupsIDGetParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsIDGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups id get params +func (o *V1NetworkSecurityGroupsIDGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups id get params +func (o *V1NetworkSecurityGroupsIDGetParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsIDGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups id get params +func (o *V1NetworkSecurityGroupsIDGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups id get params +func (o *V1NetworkSecurityGroupsIDGetParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsIDGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups id get params +func (o *V1NetworkSecurityGroupsIDGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups id get params +func (o *V1NetworkSecurityGroupsIDGetParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsIDGetParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups id get params +func (o *V1NetworkSecurityGroupsIDGetParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsIDGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_get_responses.go new file mode 100644 index 000000000..76e92f2fc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsIDGetReader is a Reader for the V1NetworkSecurityGroupsIDGet structure. +type V1NetworkSecurityGroupsIDGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsIDGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsIDGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsIDGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsIDGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsIDGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsIDGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsIDGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/network-security-groups/{network_security_group_id}] v1.networkSecurityGroups.id.get", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsIDGetOK creates a V1NetworkSecurityGroupsIDGetOK with default headers values +func NewV1NetworkSecurityGroupsIDGetOK() *V1NetworkSecurityGroupsIDGetOK { + return &V1NetworkSecurityGroupsIDGetOK{} +} + +/* +V1NetworkSecurityGroupsIDGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsIDGetOK struct { + Payload *models.NetworkSecurityGroup +} + +// IsSuccess returns true when this v1 network security groups Id get o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups Id get o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id get o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups Id get o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id get o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups Id get o k response +func (o *V1NetworkSecurityGroupsIDGetOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsIDGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetOK) GetPayload() *models.NetworkSecurityGroup { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDGetBadRequest creates a V1NetworkSecurityGroupsIDGetBadRequest with default headers values +func NewV1NetworkSecurityGroupsIDGetBadRequest() *V1NetworkSecurityGroupsIDGetBadRequest { + return &V1NetworkSecurityGroupsIDGetBadRequest{} +} + +/* +V1NetworkSecurityGroupsIDGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsIDGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id get bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id get bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id get bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id get bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id get bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups Id get bad request response +func (o *V1NetworkSecurityGroupsIDGetBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsIDGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDGetUnauthorized creates a V1NetworkSecurityGroupsIDGetUnauthorized with default headers values +func NewV1NetworkSecurityGroupsIDGetUnauthorized() *V1NetworkSecurityGroupsIDGetUnauthorized { + return &V1NetworkSecurityGroupsIDGetUnauthorized{} +} + +/* +V1NetworkSecurityGroupsIDGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsIDGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id get unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id get unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id get unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id get unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id get unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups Id get unauthorized response +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDGetForbidden creates a V1NetworkSecurityGroupsIDGetForbidden with default headers values +func NewV1NetworkSecurityGroupsIDGetForbidden() *V1NetworkSecurityGroupsIDGetForbidden { + return &V1NetworkSecurityGroupsIDGetForbidden{} +} + +/* +V1NetworkSecurityGroupsIDGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsIDGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id get forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id get forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id get forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id get forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id get forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups Id get forbidden response +func (o *V1NetworkSecurityGroupsIDGetForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsIDGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDGetNotFound creates a V1NetworkSecurityGroupsIDGetNotFound with default headers values +func NewV1NetworkSecurityGroupsIDGetNotFound() *V1NetworkSecurityGroupsIDGetNotFound { + return &V1NetworkSecurityGroupsIDGetNotFound{} +} + +/* +V1NetworkSecurityGroupsIDGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsIDGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id get not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id get not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id get not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id get not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id get not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups Id get not found response +func (o *V1NetworkSecurityGroupsIDGetNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsIDGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDGetInternalServerError creates a V1NetworkSecurityGroupsIDGetInternalServerError with default headers values +func NewV1NetworkSecurityGroupsIDGetInternalServerError() *V1NetworkSecurityGroupsIDGetInternalServerError { + return &V1NetworkSecurityGroupsIDGetInternalServerError{} +} + +/* +V1NetworkSecurityGroupsIDGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsIDGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id get internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id get internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id get internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups Id get internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups Id get internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups Id get internal server error response +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_post_parameters.go new file mode 100644 index 000000000..085534766 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkSecurityGroupsIDPostParams creates a new V1NetworkSecurityGroupsIDPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsIDPostParams() *V1NetworkSecurityGroupsIDPostParams { + return &V1NetworkSecurityGroupsIDPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsIDPostParamsWithTimeout creates a new V1NetworkSecurityGroupsIDPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsIDPostParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsIDPostParams { + return &V1NetworkSecurityGroupsIDPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsIDPostParamsWithContext creates a new V1NetworkSecurityGroupsIDPostParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsIDPostParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsIDPostParams { + return &V1NetworkSecurityGroupsIDPostParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsIDPostParamsWithHTTPClient creates a new V1NetworkSecurityGroupsIDPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsIDPostParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsIDPostParams { + return &V1NetworkSecurityGroupsIDPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsIDPostParams contains all the parameters to send to the API endpoint + + for the v1 network security groups id post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsIDPostParams struct { + + /* Body. + + Parameters for the clone of a Network Security Group + */ + Body *models.NetworkSecurityGroupClone + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups id post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsIDPostParams) WithDefaults() *V1NetworkSecurityGroupsIDPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups id post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsIDPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsIDPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsIDPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsIDPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) WithBody(body *models.NetworkSecurityGroupClone) *V1NetworkSecurityGroupsIDPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) SetBody(body *models.NetworkSecurityGroupClone) { + o.Body = body +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsIDPostParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups id post params +func (o *V1NetworkSecurityGroupsIDPostParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsIDPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_post_responses.go new file mode 100644 index 000000000..09c6011fb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsIDPostReader is a Reader for the V1NetworkSecurityGroupsIDPost structure. +type V1NetworkSecurityGroupsIDPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsIDPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewV1NetworkSecurityGroupsIDPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsIDPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsIDPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsIDPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsIDPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsIDPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-security-groups/{network_security_group_id}] v1.networkSecurityGroups.id.post", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsIDPostCreated creates a V1NetworkSecurityGroupsIDPostCreated with default headers values +func NewV1NetworkSecurityGroupsIDPostCreated() *V1NetworkSecurityGroupsIDPostCreated { + return &V1NetworkSecurityGroupsIDPostCreated{} +} + +/* +V1NetworkSecurityGroupsIDPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type V1NetworkSecurityGroupsIDPostCreated struct { + Payload *models.NetworkSecurityGroup +} + +// IsSuccess returns true when this v1 network security groups Id post created response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups Id post created response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id post created response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups Id post created response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id post created response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the v1 network security groups Id post created response +func (o *V1NetworkSecurityGroupsIDPostCreated) Code() int { + return 201 +} + +func (o *V1NetworkSecurityGroupsIDPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostCreated %s", 201, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostCreated %s", 201, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostCreated) GetPayload() *models.NetworkSecurityGroup { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPostBadRequest creates a V1NetworkSecurityGroupsIDPostBadRequest with default headers values +func NewV1NetworkSecurityGroupsIDPostBadRequest() *V1NetworkSecurityGroupsIDPostBadRequest { + return &V1NetworkSecurityGroupsIDPostBadRequest{} +} + +/* +V1NetworkSecurityGroupsIDPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsIDPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id post bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id post bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id post bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id post bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id post bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups Id post bad request response +func (o *V1NetworkSecurityGroupsIDPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsIDPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPostUnauthorized creates a V1NetworkSecurityGroupsIDPostUnauthorized with default headers values +func NewV1NetworkSecurityGroupsIDPostUnauthorized() *V1NetworkSecurityGroupsIDPostUnauthorized { + return &V1NetworkSecurityGroupsIDPostUnauthorized{} +} + +/* +V1NetworkSecurityGroupsIDPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsIDPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id post unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id post unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id post unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id post unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id post unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups Id post unauthorized response +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPostForbidden creates a V1NetworkSecurityGroupsIDPostForbidden with default headers values +func NewV1NetworkSecurityGroupsIDPostForbidden() *V1NetworkSecurityGroupsIDPostForbidden { + return &V1NetworkSecurityGroupsIDPostForbidden{} +} + +/* +V1NetworkSecurityGroupsIDPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsIDPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id post forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id post forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id post forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id post forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id post forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups Id post forbidden response +func (o *V1NetworkSecurityGroupsIDPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsIDPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPostNotFound creates a V1NetworkSecurityGroupsIDPostNotFound with default headers values +func NewV1NetworkSecurityGroupsIDPostNotFound() *V1NetworkSecurityGroupsIDPostNotFound { + return &V1NetworkSecurityGroupsIDPostNotFound{} +} + +/* +V1NetworkSecurityGroupsIDPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsIDPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id post not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id post not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id post not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id post not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id post not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups Id post not found response +func (o *V1NetworkSecurityGroupsIDPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsIDPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPostInternalServerError creates a V1NetworkSecurityGroupsIDPostInternalServerError with default headers values +func NewV1NetworkSecurityGroupsIDPostInternalServerError() *V1NetworkSecurityGroupsIDPostInternalServerError { + return &V1NetworkSecurityGroupsIDPostInternalServerError{} +} + +/* +V1NetworkSecurityGroupsIDPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsIDPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id post internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id post internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id post internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups Id post internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups Id post internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups Id post internal server error response +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_put_parameters.go new file mode 100644 index 000000000..be90c89be --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkSecurityGroupsIDPutParams creates a new V1NetworkSecurityGroupsIDPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsIDPutParams() *V1NetworkSecurityGroupsIDPutParams { + return &V1NetworkSecurityGroupsIDPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsIDPutParamsWithTimeout creates a new V1NetworkSecurityGroupsIDPutParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsIDPutParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsIDPutParams { + return &V1NetworkSecurityGroupsIDPutParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsIDPutParamsWithContext creates a new V1NetworkSecurityGroupsIDPutParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsIDPutParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsIDPutParams { + return &V1NetworkSecurityGroupsIDPutParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsIDPutParamsWithHTTPClient creates a new V1NetworkSecurityGroupsIDPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsIDPutParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsIDPutParams { + return &V1NetworkSecurityGroupsIDPutParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsIDPutParams contains all the parameters to send to the API endpoint + + for the v1 network security groups id put operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsIDPutParams struct { + + /* Body. + + Parameters for the update of a Network Security Group + */ + Body *models.NetworkSecurityGroupUpdate + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsIDPutParams) WithDefaults() *V1NetworkSecurityGroupsIDPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups id put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsIDPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsIDPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsIDPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsIDPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) WithBody(body *models.NetworkSecurityGroupUpdate) *V1NetworkSecurityGroupsIDPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) SetBody(body *models.NetworkSecurityGroupUpdate) { + o.Body = body +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsIDPutParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups id put params +func (o *V1NetworkSecurityGroupsIDPutParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsIDPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_put_responses.go new file mode 100644 index 000000000..6e7529db6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_id_put_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsIDPutReader is a Reader for the V1NetworkSecurityGroupsIDPut structure. +type V1NetworkSecurityGroupsIDPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsIDPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsIDPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsIDPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsIDPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsIDPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsIDPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsIDPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/network-security-groups/{network_security_group_id}] v1.networkSecurityGroups.id.put", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsIDPutOK creates a V1NetworkSecurityGroupsIDPutOK with default headers values +func NewV1NetworkSecurityGroupsIDPutOK() *V1NetworkSecurityGroupsIDPutOK { + return &V1NetworkSecurityGroupsIDPutOK{} +} + +/* +V1NetworkSecurityGroupsIDPutOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsIDPutOK struct { + Payload *models.NetworkSecurityGroup +} + +// IsSuccess returns true when this v1 network security groups Id put o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups Id put o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id put o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups Id put o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id put o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups Id put o k response +func (o *V1NetworkSecurityGroupsIDPutOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsIDPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutOK) GetPayload() *models.NetworkSecurityGroup { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPutBadRequest creates a V1NetworkSecurityGroupsIDPutBadRequest with default headers values +func NewV1NetworkSecurityGroupsIDPutBadRequest() *V1NetworkSecurityGroupsIDPutBadRequest { + return &V1NetworkSecurityGroupsIDPutBadRequest{} +} + +/* +V1NetworkSecurityGroupsIDPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsIDPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id put bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id put bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id put bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id put bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id put bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups Id put bad request response +func (o *V1NetworkSecurityGroupsIDPutBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsIDPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPutUnauthorized creates a V1NetworkSecurityGroupsIDPutUnauthorized with default headers values +func NewV1NetworkSecurityGroupsIDPutUnauthorized() *V1NetworkSecurityGroupsIDPutUnauthorized { + return &V1NetworkSecurityGroupsIDPutUnauthorized{} +} + +/* +V1NetworkSecurityGroupsIDPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsIDPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id put unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id put unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id put unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id put unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id put unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups Id put unauthorized response +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPutForbidden creates a V1NetworkSecurityGroupsIDPutForbidden with default headers values +func NewV1NetworkSecurityGroupsIDPutForbidden() *V1NetworkSecurityGroupsIDPutForbidden { + return &V1NetworkSecurityGroupsIDPutForbidden{} +} + +/* +V1NetworkSecurityGroupsIDPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsIDPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id put forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id put forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id put forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id put forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id put forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups Id put forbidden response +func (o *V1NetworkSecurityGroupsIDPutForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsIDPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPutNotFound creates a V1NetworkSecurityGroupsIDPutNotFound with default headers values +func NewV1NetworkSecurityGroupsIDPutNotFound() *V1NetworkSecurityGroupsIDPutNotFound { + return &V1NetworkSecurityGroupsIDPutNotFound{} +} + +/* +V1NetworkSecurityGroupsIDPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsIDPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id put not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id put not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id put not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups Id put not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups Id put not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups Id put not found response +func (o *V1NetworkSecurityGroupsIDPutNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsIDPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsIDPutInternalServerError creates a V1NetworkSecurityGroupsIDPutInternalServerError with default headers values +func NewV1NetworkSecurityGroupsIDPutInternalServerError() *V1NetworkSecurityGroupsIDPutInternalServerError { + return &V1NetworkSecurityGroupsIDPutInternalServerError{} +} + +/* +V1NetworkSecurityGroupsIDPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsIDPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups Id put internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups Id put internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups Id put internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups Id put internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups Id put internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups Id put internal server error response +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/network-security-groups/{network_security_group_id}][%d] v1NetworkSecurityGroupsIdPutInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsIDPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_list_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_list_parameters.go new file mode 100644 index 000000000..fb5a6ef84 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_list_parameters.go @@ -0,0 +1,161 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewV1NetworkSecurityGroupsListParams creates a new V1NetworkSecurityGroupsListParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsListParams() *V1NetworkSecurityGroupsListParams { + return &V1NetworkSecurityGroupsListParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsListParamsWithTimeout creates a new V1NetworkSecurityGroupsListParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsListParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsListParams { + return &V1NetworkSecurityGroupsListParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsListParamsWithContext creates a new V1NetworkSecurityGroupsListParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsListParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsListParams { + return &V1NetworkSecurityGroupsListParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsListParamsWithHTTPClient creates a new V1NetworkSecurityGroupsListParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsListParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsListParams { + return &V1NetworkSecurityGroupsListParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsListParams contains all the parameters to send to the API endpoint + + for the v1 network security groups list operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsListParams struct { + + // DefaultNsg. + DefaultNsg *bool + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups list params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsListParams) WithDefaults() *V1NetworkSecurityGroupsListParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups list params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsListParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups list params +func (o *V1NetworkSecurityGroupsListParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsListParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups list params +func (o *V1NetworkSecurityGroupsListParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups list params +func (o *V1NetworkSecurityGroupsListParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsListParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups list params +func (o *V1NetworkSecurityGroupsListParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups list params +func (o *V1NetworkSecurityGroupsListParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsListParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups list params +func (o *V1NetworkSecurityGroupsListParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithDefaultNsg adds the defaultNsg to the v1 network security groups list params +func (o *V1NetworkSecurityGroupsListParams) WithDefaultNsg(defaultNsg *bool) *V1NetworkSecurityGroupsListParams { + o.SetDefaultNsg(defaultNsg) + return o +} + +// SetDefaultNsg adds the defaultNsg to the v1 network security groups list params +func (o *V1NetworkSecurityGroupsListParams) SetDefaultNsg(defaultNsg *bool) { + o.DefaultNsg = defaultNsg +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.DefaultNsg != nil { + + // query param default_nsg + var qrDefaultNsg bool + + if o.DefaultNsg != nil { + qrDefaultNsg = *o.DefaultNsg + } + qDefaultNsg := swag.FormatBool(qrDefaultNsg) + if qDefaultNsg != "" { + + if err := r.SetQueryParam("default_nsg", qDefaultNsg); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_list_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_list_responses.go new file mode 100644 index 000000000..29cacf1f9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_list_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsListReader is a Reader for the V1NetworkSecurityGroupsList structure. +type V1NetworkSecurityGroupsListReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsListOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsListBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsListUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsListForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsListNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsListInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/network-security-groups] v1.networkSecurityGroups.list", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsListOK creates a V1NetworkSecurityGroupsListOK with default headers values +func NewV1NetworkSecurityGroupsListOK() *V1NetworkSecurityGroupsListOK { + return &V1NetworkSecurityGroupsListOK{} +} + +/* +V1NetworkSecurityGroupsListOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsListOK struct { + Payload *models.NetworkSecurityGroups +} + +// IsSuccess returns true when this v1 network security groups list o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsListOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups list o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsListOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups list o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsListOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups list o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsListOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups list o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsListOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups list o k response +func (o *V1NetworkSecurityGroupsListOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsListOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsListOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsListOK) GetPayload() *models.NetworkSecurityGroups { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroups) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsListBadRequest creates a V1NetworkSecurityGroupsListBadRequest with default headers values +func NewV1NetworkSecurityGroupsListBadRequest() *V1NetworkSecurityGroupsListBadRequest { + return &V1NetworkSecurityGroupsListBadRequest{} +} + +/* +V1NetworkSecurityGroupsListBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsListBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups list bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsListBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups list bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsListBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups list bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsListBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups list bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsListBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups list bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsListBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups list bad request response +func (o *V1NetworkSecurityGroupsListBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsListBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsListBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsListBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsListBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsListUnauthorized creates a V1NetworkSecurityGroupsListUnauthorized with default headers values +func NewV1NetworkSecurityGroupsListUnauthorized() *V1NetworkSecurityGroupsListUnauthorized { + return &V1NetworkSecurityGroupsListUnauthorized{} +} + +/* +V1NetworkSecurityGroupsListUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsListUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups list unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsListUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups list unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsListUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups list unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsListUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups list unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsListUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups list unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsListUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups list unauthorized response +func (o *V1NetworkSecurityGroupsListUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsListUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsListUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsListUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsListUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsListForbidden creates a V1NetworkSecurityGroupsListForbidden with default headers values +func NewV1NetworkSecurityGroupsListForbidden() *V1NetworkSecurityGroupsListForbidden { + return &V1NetworkSecurityGroupsListForbidden{} +} + +/* +V1NetworkSecurityGroupsListForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsListForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups list forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsListForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups list forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsListForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups list forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsListForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups list forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsListForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups list forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsListForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups list forbidden response +func (o *V1NetworkSecurityGroupsListForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsListForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsListForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsListForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsListForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsListNotFound creates a V1NetworkSecurityGroupsListNotFound with default headers values +func NewV1NetworkSecurityGroupsListNotFound() *V1NetworkSecurityGroupsListNotFound { + return &V1NetworkSecurityGroupsListNotFound{} +} + +/* +V1NetworkSecurityGroupsListNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsListNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups list not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsListNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups list not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsListNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups list not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsListNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups list not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsListNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups list not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsListNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups list not found response +func (o *V1NetworkSecurityGroupsListNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsListNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsListNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsListNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsListNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsListInternalServerError creates a V1NetworkSecurityGroupsListInternalServerError with default headers values +func NewV1NetworkSecurityGroupsListInternalServerError() *V1NetworkSecurityGroupsListInternalServerError { + return &V1NetworkSecurityGroupsListInternalServerError{} +} + +/* +V1NetworkSecurityGroupsListInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsListInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups list internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsListInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups list internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsListInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups list internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsListInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups list internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsListInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups list internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsListInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups list internal server error response +func (o *V1NetworkSecurityGroupsListInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsListInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsListInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/network-security-groups][%d] v1NetworkSecurityGroupsListInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsListInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsListInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_delete_parameters.go new file mode 100644 index 000000000..1fce6b31c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkSecurityGroupsMembersDeleteParams creates a new V1NetworkSecurityGroupsMembersDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsMembersDeleteParams() *V1NetworkSecurityGroupsMembersDeleteParams { + return &V1NetworkSecurityGroupsMembersDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsMembersDeleteParamsWithTimeout creates a new V1NetworkSecurityGroupsMembersDeleteParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsMembersDeleteParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsMembersDeleteParams { + return &V1NetworkSecurityGroupsMembersDeleteParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsMembersDeleteParamsWithContext creates a new V1NetworkSecurityGroupsMembersDeleteParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsMembersDeleteParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsMembersDeleteParams { + return &V1NetworkSecurityGroupsMembersDeleteParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsMembersDeleteParamsWithHTTPClient creates a new V1NetworkSecurityGroupsMembersDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsMembersDeleteParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsMembersDeleteParams { + return &V1NetworkSecurityGroupsMembersDeleteParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsMembersDeleteParams contains all the parameters to send to the API endpoint + + for the v1 network security groups members delete operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsMembersDeleteParams struct { + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + /* NetworkSecurityGroupMemberID. + + Network Security Group Member ID + */ + NetworkSecurityGroupMemberID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups members delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsMembersDeleteParams) WithDefaults() *V1NetworkSecurityGroupsMembersDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups members delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsMembersDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsMembersDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsMembersDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsMembersDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsMembersDeleteParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WithNetworkSecurityGroupMemberID adds the networkSecurityGroupMemberID to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) WithNetworkSecurityGroupMemberID(networkSecurityGroupMemberID string) *V1NetworkSecurityGroupsMembersDeleteParams { + o.SetNetworkSecurityGroupMemberID(networkSecurityGroupMemberID) + return o +} + +// SetNetworkSecurityGroupMemberID adds the networkSecurityGroupMemberId to the v1 network security groups members delete params +func (o *V1NetworkSecurityGroupsMembersDeleteParams) SetNetworkSecurityGroupMemberID(networkSecurityGroupMemberID string) { + o.NetworkSecurityGroupMemberID = networkSecurityGroupMemberID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsMembersDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + // path param network_security_group_member_id + if err := r.SetPathParam("network_security_group_member_id", o.NetworkSecurityGroupMemberID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_delete_responses.go new file mode 100644 index 000000000..a82c0c35b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsMembersDeleteReader is a Reader for the V1NetworkSecurityGroupsMembersDelete structure. +type V1NetworkSecurityGroupsMembersDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsMembersDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsMembersDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsMembersDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsMembersDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsMembersDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsMembersDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkSecurityGroupsMembersDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsMembersDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}] v1.networkSecurityGroups.members.delete", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsMembersDeleteOK creates a V1NetworkSecurityGroupsMembersDeleteOK with default headers values +func NewV1NetworkSecurityGroupsMembersDeleteOK() *V1NetworkSecurityGroupsMembersDeleteOK { + return &V1NetworkSecurityGroupsMembersDeleteOK{} +} + +/* +V1NetworkSecurityGroupsMembersDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsMembersDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network security groups members delete o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups members delete o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members delete o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups members delete o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members delete o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups members delete o k response +func (o *V1NetworkSecurityGroupsMembersDeleteOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsMembersDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersDeleteBadRequest creates a V1NetworkSecurityGroupsMembersDeleteBadRequest with default headers values +func NewV1NetworkSecurityGroupsMembersDeleteBadRequest() *V1NetworkSecurityGroupsMembersDeleteBadRequest { + return &V1NetworkSecurityGroupsMembersDeleteBadRequest{} +} + +/* +V1NetworkSecurityGroupsMembersDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsMembersDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members delete bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members delete bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members delete bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members delete bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members delete bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups members delete bad request response +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersDeleteUnauthorized creates a V1NetworkSecurityGroupsMembersDeleteUnauthorized with default headers values +func NewV1NetworkSecurityGroupsMembersDeleteUnauthorized() *V1NetworkSecurityGroupsMembersDeleteUnauthorized { + return &V1NetworkSecurityGroupsMembersDeleteUnauthorized{} +} + +/* +V1NetworkSecurityGroupsMembersDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsMembersDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members delete unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members delete unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members delete unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members delete unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members delete unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups members delete unauthorized response +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersDeleteForbidden creates a V1NetworkSecurityGroupsMembersDeleteForbidden with default headers values +func NewV1NetworkSecurityGroupsMembersDeleteForbidden() *V1NetworkSecurityGroupsMembersDeleteForbidden { + return &V1NetworkSecurityGroupsMembersDeleteForbidden{} +} + +/* +V1NetworkSecurityGroupsMembersDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsMembersDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members delete forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members delete forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members delete forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members delete forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members delete forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups members delete forbidden response +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersDeleteNotFound creates a V1NetworkSecurityGroupsMembersDeleteNotFound with default headers values +func NewV1NetworkSecurityGroupsMembersDeleteNotFound() *V1NetworkSecurityGroupsMembersDeleteNotFound { + return &V1NetworkSecurityGroupsMembersDeleteNotFound{} +} + +/* +V1NetworkSecurityGroupsMembersDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsMembersDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members delete not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members delete not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members delete not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members delete not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members delete not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups members delete not found response +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersDeleteConflict creates a V1NetworkSecurityGroupsMembersDeleteConflict with default headers values +func NewV1NetworkSecurityGroupsMembersDeleteConflict() *V1NetworkSecurityGroupsMembersDeleteConflict { + return &V1NetworkSecurityGroupsMembersDeleteConflict{} +} + +/* +V1NetworkSecurityGroupsMembersDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkSecurityGroupsMembersDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members delete conflict response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members delete conflict response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members delete conflict response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members delete conflict response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members delete conflict response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network security groups members delete conflict response +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) Code() int { + return 409 +} + +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersDeleteInternalServerError creates a V1NetworkSecurityGroupsMembersDeleteInternalServerError with default headers values +func NewV1NetworkSecurityGroupsMembersDeleteInternalServerError() *V1NetworkSecurityGroupsMembersDeleteInternalServerError { + return &V1NetworkSecurityGroupsMembersDeleteInternalServerError{} +} + +/* +V1NetworkSecurityGroupsMembersDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsMembersDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members delete internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members delete internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members delete internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups members delete internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups members delete internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups members delete internal server error response +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}][%d] v1NetworkSecurityGroupsMembersDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_post_parameters.go new file mode 100644 index 000000000..52edfdc8f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkSecurityGroupsMembersPostParams creates a new V1NetworkSecurityGroupsMembersPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsMembersPostParams() *V1NetworkSecurityGroupsMembersPostParams { + return &V1NetworkSecurityGroupsMembersPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsMembersPostParamsWithTimeout creates a new V1NetworkSecurityGroupsMembersPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsMembersPostParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsMembersPostParams { + return &V1NetworkSecurityGroupsMembersPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsMembersPostParamsWithContext creates a new V1NetworkSecurityGroupsMembersPostParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsMembersPostParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsMembersPostParams { + return &V1NetworkSecurityGroupsMembersPostParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsMembersPostParamsWithHTTPClient creates a new V1NetworkSecurityGroupsMembersPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsMembersPostParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsMembersPostParams { + return &V1NetworkSecurityGroupsMembersPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsMembersPostParams contains all the parameters to send to the API endpoint + + for the v1 network security groups members post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsMembersPostParams struct { + + /* Body. + + Parameters for adding a member to a Network Security Group + */ + Body *models.NetworkSecurityGroupAddMember + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups members post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsMembersPostParams) WithDefaults() *V1NetworkSecurityGroupsMembersPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups members post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsMembersPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsMembersPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsMembersPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsMembersPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) WithBody(body *models.NetworkSecurityGroupAddMember) *V1NetworkSecurityGroupsMembersPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) SetBody(body *models.NetworkSecurityGroupAddMember) { + o.Body = body +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsMembersPostParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups members post params +func (o *V1NetworkSecurityGroupsMembersPostParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsMembersPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_post_responses.go new file mode 100644 index 000000000..b1139afd3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_members_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsMembersPostReader is a Reader for the V1NetworkSecurityGroupsMembersPost structure. +type V1NetworkSecurityGroupsMembersPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsMembersPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsMembersPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsMembersPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsMembersPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsMembersPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsMembersPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkSecurityGroupsMembersPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1NetworkSecurityGroupsMembersPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsMembersPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-security-groups/{network_security_group_id}/members] v1.networkSecurityGroups.members.post", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsMembersPostOK creates a V1NetworkSecurityGroupsMembersPostOK with default headers values +func NewV1NetworkSecurityGroupsMembersPostOK() *V1NetworkSecurityGroupsMembersPostOK { + return &V1NetworkSecurityGroupsMembersPostOK{} +} + +/* +V1NetworkSecurityGroupsMembersPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsMembersPostOK struct { + Payload *models.NetworkSecurityGroupMember +} + +// IsSuccess returns true when this v1 network security groups members post o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups members post o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members post o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups members post o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members post o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups members post o k response +func (o *V1NetworkSecurityGroupsMembersPostOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsMembersPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostOK) GetPayload() *models.NetworkSecurityGroupMember { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroupMember) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersPostBadRequest creates a V1NetworkSecurityGroupsMembersPostBadRequest with default headers values +func NewV1NetworkSecurityGroupsMembersPostBadRequest() *V1NetworkSecurityGroupsMembersPostBadRequest { + return &V1NetworkSecurityGroupsMembersPostBadRequest{} +} + +/* +V1NetworkSecurityGroupsMembersPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsMembersPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members post bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members post bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members post bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members post bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members post bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups members post bad request response +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersPostUnauthorized creates a V1NetworkSecurityGroupsMembersPostUnauthorized with default headers values +func NewV1NetworkSecurityGroupsMembersPostUnauthorized() *V1NetworkSecurityGroupsMembersPostUnauthorized { + return &V1NetworkSecurityGroupsMembersPostUnauthorized{} +} + +/* +V1NetworkSecurityGroupsMembersPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsMembersPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members post unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members post unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members post unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members post unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members post unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups members post unauthorized response +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersPostForbidden creates a V1NetworkSecurityGroupsMembersPostForbidden with default headers values +func NewV1NetworkSecurityGroupsMembersPostForbidden() *V1NetworkSecurityGroupsMembersPostForbidden { + return &V1NetworkSecurityGroupsMembersPostForbidden{} +} + +/* +V1NetworkSecurityGroupsMembersPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsMembersPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members post forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members post forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members post forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members post forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members post forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups members post forbidden response +func (o *V1NetworkSecurityGroupsMembersPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsMembersPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersPostNotFound creates a V1NetworkSecurityGroupsMembersPostNotFound with default headers values +func NewV1NetworkSecurityGroupsMembersPostNotFound() *V1NetworkSecurityGroupsMembersPostNotFound { + return &V1NetworkSecurityGroupsMembersPostNotFound{} +} + +/* +V1NetworkSecurityGroupsMembersPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsMembersPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members post not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members post not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members post not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members post not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members post not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups members post not found response +func (o *V1NetworkSecurityGroupsMembersPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsMembersPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersPostConflict creates a V1NetworkSecurityGroupsMembersPostConflict with default headers values +func NewV1NetworkSecurityGroupsMembersPostConflict() *V1NetworkSecurityGroupsMembersPostConflict { + return &V1NetworkSecurityGroupsMembersPostConflict{} +} + +/* +V1NetworkSecurityGroupsMembersPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkSecurityGroupsMembersPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members post conflict response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members post conflict response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members post conflict response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members post conflict response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members post conflict response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network security groups members post conflict response +func (o *V1NetworkSecurityGroupsMembersPostConflict) Code() int { + return 409 +} + +func (o *V1NetworkSecurityGroupsMembersPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersPostUnprocessableEntity creates a V1NetworkSecurityGroupsMembersPostUnprocessableEntity with default headers values +func NewV1NetworkSecurityGroupsMembersPostUnprocessableEntity() *V1NetworkSecurityGroupsMembersPostUnprocessableEntity { + return &V1NetworkSecurityGroupsMembersPostUnprocessableEntity{} +} + +/* +V1NetworkSecurityGroupsMembersPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1NetworkSecurityGroupsMembersPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members post unprocessable entity response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members post unprocessable entity response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members post unprocessable entity response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups members post unprocessable entity response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups members post unprocessable entity response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 network security groups members post unprocessable entity response +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMembersPostInternalServerError creates a V1NetworkSecurityGroupsMembersPostInternalServerError with default headers values +func NewV1NetworkSecurityGroupsMembersPostInternalServerError() *V1NetworkSecurityGroupsMembersPostInternalServerError { + return &V1NetworkSecurityGroupsMembersPostInternalServerError{} +} + +/* +V1NetworkSecurityGroupsMembersPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsMembersPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups members post internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups members post internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups members post internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups members post internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups members post internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups members post internal server error response +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/members][%d] v1NetworkSecurityGroupsMembersPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMembersPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_move_member_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_move_member_post_parameters.go new file mode 100644 index 000000000..405977909 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_move_member_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkSecurityGroupsMoveMemberPostParams creates a new V1NetworkSecurityGroupsMoveMemberPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsMoveMemberPostParams() *V1NetworkSecurityGroupsMoveMemberPostParams { + return &V1NetworkSecurityGroupsMoveMemberPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsMoveMemberPostParamsWithTimeout creates a new V1NetworkSecurityGroupsMoveMemberPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsMoveMemberPostParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsMoveMemberPostParams { + return &V1NetworkSecurityGroupsMoveMemberPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsMoveMemberPostParamsWithContext creates a new V1NetworkSecurityGroupsMoveMemberPostParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsMoveMemberPostParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsMoveMemberPostParams { + return &V1NetworkSecurityGroupsMoveMemberPostParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsMoveMemberPostParamsWithHTTPClient creates a new V1NetworkSecurityGroupsMoveMemberPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsMoveMemberPostParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsMoveMemberPostParams { + return &V1NetworkSecurityGroupsMoveMemberPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsMoveMemberPostParams contains all the parameters to send to the API endpoint + + for the v1 network security groups move member post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsMoveMemberPostParams struct { + + /* Body. + + Parameters for moving a Network Security Group member to another Network Security Group + */ + Body *models.NetworkSecurityGroupMoveMember + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups move member post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) WithDefaults() *V1NetworkSecurityGroupsMoveMemberPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups move member post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsMoveMemberPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsMoveMemberPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsMoveMemberPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) WithBody(body *models.NetworkSecurityGroupMoveMember) *V1NetworkSecurityGroupsMoveMemberPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) SetBody(body *models.NetworkSecurityGroupMoveMember) { + o.Body = body +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsMoveMemberPostParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups move member post params +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsMoveMemberPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_move_member_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_move_member_post_responses.go new file mode 100644 index 000000000..c79cba325 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_move_member_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsMoveMemberPostReader is a Reader for the V1NetworkSecurityGroupsMoveMemberPost structure. +type V1NetworkSecurityGroupsMoveMemberPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsMoveMemberPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsMoveMemberPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsMoveMemberPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsMoveMemberPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsMoveMemberPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsMoveMemberPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsMoveMemberPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-security-groups/{network_security_group_id}/move_member] v1.networkSecurityGroups.move_member.post", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsMoveMemberPostOK creates a V1NetworkSecurityGroupsMoveMemberPostOK with default headers values +func NewV1NetworkSecurityGroupsMoveMemberPostOK() *V1NetworkSecurityGroupsMoveMemberPostOK { + return &V1NetworkSecurityGroupsMoveMemberPostOK{} +} + +/* +V1NetworkSecurityGroupsMoveMemberPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsMoveMemberPostOK struct { + Payload *models.NetworkSecurityGroupMember +} + +// IsSuccess returns true when this v1 network security groups move member post o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups move member post o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups move member post o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups move member post o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups move member post o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups move member post o k response +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) GetPayload() *models.NetworkSecurityGroupMember { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroupMember) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMoveMemberPostBadRequest creates a V1NetworkSecurityGroupsMoveMemberPostBadRequest with default headers values +func NewV1NetworkSecurityGroupsMoveMemberPostBadRequest() *V1NetworkSecurityGroupsMoveMemberPostBadRequest { + return &V1NetworkSecurityGroupsMoveMemberPostBadRequest{} +} + +/* +V1NetworkSecurityGroupsMoveMemberPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsMoveMemberPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups move member post bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups move member post bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups move member post bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups move member post bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups move member post bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups move member post bad request response +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMoveMemberPostUnauthorized creates a V1NetworkSecurityGroupsMoveMemberPostUnauthorized with default headers values +func NewV1NetworkSecurityGroupsMoveMemberPostUnauthorized() *V1NetworkSecurityGroupsMoveMemberPostUnauthorized { + return &V1NetworkSecurityGroupsMoveMemberPostUnauthorized{} +} + +/* +V1NetworkSecurityGroupsMoveMemberPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsMoveMemberPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups move member post unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups move member post unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups move member post unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups move member post unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups move member post unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups move member post unauthorized response +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMoveMemberPostForbidden creates a V1NetworkSecurityGroupsMoveMemberPostForbidden with default headers values +func NewV1NetworkSecurityGroupsMoveMemberPostForbidden() *V1NetworkSecurityGroupsMoveMemberPostForbidden { + return &V1NetworkSecurityGroupsMoveMemberPostForbidden{} +} + +/* +V1NetworkSecurityGroupsMoveMemberPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsMoveMemberPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups move member post forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups move member post forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups move member post forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups move member post forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups move member post forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups move member post forbidden response +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMoveMemberPostNotFound creates a V1NetworkSecurityGroupsMoveMemberPostNotFound with default headers values +func NewV1NetworkSecurityGroupsMoveMemberPostNotFound() *V1NetworkSecurityGroupsMoveMemberPostNotFound { + return &V1NetworkSecurityGroupsMoveMemberPostNotFound{} +} + +/* +V1NetworkSecurityGroupsMoveMemberPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsMoveMemberPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups move member post not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups move member post not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups move member post not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups move member post not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups move member post not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups move member post not found response +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsMoveMemberPostInternalServerError creates a V1NetworkSecurityGroupsMoveMemberPostInternalServerError with default headers values +func NewV1NetworkSecurityGroupsMoveMemberPostInternalServerError() *V1NetworkSecurityGroupsMoveMemberPostInternalServerError { + return &V1NetworkSecurityGroupsMoveMemberPostInternalServerError{} +} + +/* +V1NetworkSecurityGroupsMoveMemberPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsMoveMemberPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups move member post internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups move member post internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups move member post internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups move member post internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups move member post internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups move member post internal server error response +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/move_member][%d] v1NetworkSecurityGroupsMoveMemberPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsMoveMemberPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_post_parameters.go new file mode 100644 index 000000000..d827078a6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkSecurityGroupsPostParams creates a new V1NetworkSecurityGroupsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsPostParams() *V1NetworkSecurityGroupsPostParams { + return &V1NetworkSecurityGroupsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsPostParamsWithTimeout creates a new V1NetworkSecurityGroupsPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsPostParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsPostParams { + return &V1NetworkSecurityGroupsPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsPostParamsWithContext creates a new V1NetworkSecurityGroupsPostParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsPostParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsPostParams { + return &V1NetworkSecurityGroupsPostParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsPostParamsWithHTTPClient creates a new V1NetworkSecurityGroupsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsPostParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsPostParams { + return &V1NetworkSecurityGroupsPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsPostParams contains all the parameters to send to the API endpoint + + for the v1 network security groups post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsPostParams struct { + + /* Body. + + Parameters for the creation of a Network Security Group + */ + Body *models.NetworkSecurityGroupCreate + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsPostParams) WithDefaults() *V1NetworkSecurityGroupsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups post params +func (o *V1NetworkSecurityGroupsPostParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups post params +func (o *V1NetworkSecurityGroupsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups post params +func (o *V1NetworkSecurityGroupsPostParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups post params +func (o *V1NetworkSecurityGroupsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups post params +func (o *V1NetworkSecurityGroupsPostParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups post params +func (o *V1NetworkSecurityGroupsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network security groups post params +func (o *V1NetworkSecurityGroupsPostParams) WithBody(body *models.NetworkSecurityGroupCreate) *V1NetworkSecurityGroupsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network security groups post params +func (o *V1NetworkSecurityGroupsPostParams) SetBody(body *models.NetworkSecurityGroupCreate) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_post_responses.go new file mode 100644 index 000000000..6154fca69 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_post_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsPostReader is a Reader for the V1NetworkSecurityGroupsPost structure. +type V1NetworkSecurityGroupsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewV1NetworkSecurityGroupsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkSecurityGroupsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1NetworkSecurityGroupsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-security-groups] v1.networkSecurityGroups.post", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsPostOK creates a V1NetworkSecurityGroupsPostOK with default headers values +func NewV1NetworkSecurityGroupsPostOK() *V1NetworkSecurityGroupsPostOK { + return &V1NetworkSecurityGroupsPostOK{} +} + +/* +V1NetworkSecurityGroupsPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsPostOK struct { + Payload *models.NetworkSecurityGroup +} + +// IsSuccess returns true when this v1 network security groups post o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups post o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups post o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups post o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups post o k response +func (o *V1NetworkSecurityGroupsPostOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsPostOK) GetPayload() *models.NetworkSecurityGroup { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsPostCreated creates a V1NetworkSecurityGroupsPostCreated with default headers values +func NewV1NetworkSecurityGroupsPostCreated() *V1NetworkSecurityGroupsPostCreated { + return &V1NetworkSecurityGroupsPostCreated{} +} + +/* +V1NetworkSecurityGroupsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type V1NetworkSecurityGroupsPostCreated struct { + Payload *models.NetworkSecurityGroup +} + +// IsSuccess returns true when this v1 network security groups post created response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups post created response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post created response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups post created response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups post created response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the v1 network security groups post created response +func (o *V1NetworkSecurityGroupsPostCreated) Code() int { + return 201 +} + +func (o *V1NetworkSecurityGroupsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostCreated %s", 201, payload) +} + +func (o *V1NetworkSecurityGroupsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostCreated %s", 201, payload) +} + +func (o *V1NetworkSecurityGroupsPostCreated) GetPayload() *models.NetworkSecurityGroup { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsPostBadRequest creates a V1NetworkSecurityGroupsPostBadRequest with default headers values +func NewV1NetworkSecurityGroupsPostBadRequest() *V1NetworkSecurityGroupsPostBadRequest { + return &V1NetworkSecurityGroupsPostBadRequest{} +} + +/* +V1NetworkSecurityGroupsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups post bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups post bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups post bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups post bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups post bad request response +func (o *V1NetworkSecurityGroupsPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsPostUnauthorized creates a V1NetworkSecurityGroupsPostUnauthorized with default headers values +func NewV1NetworkSecurityGroupsPostUnauthorized() *V1NetworkSecurityGroupsPostUnauthorized { + return &V1NetworkSecurityGroupsPostUnauthorized{} +} + +/* +V1NetworkSecurityGroupsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups post unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups post unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups post unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups post unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups post unauthorized response +func (o *V1NetworkSecurityGroupsPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsPostForbidden creates a V1NetworkSecurityGroupsPostForbidden with default headers values +func NewV1NetworkSecurityGroupsPostForbidden() *V1NetworkSecurityGroupsPostForbidden { + return &V1NetworkSecurityGroupsPostForbidden{} +} + +/* +V1NetworkSecurityGroupsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups post forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups post forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups post forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups post forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups post forbidden response +func (o *V1NetworkSecurityGroupsPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsPostNotFound creates a V1NetworkSecurityGroupsPostNotFound with default headers values +func NewV1NetworkSecurityGroupsPostNotFound() *V1NetworkSecurityGroupsPostNotFound { + return &V1NetworkSecurityGroupsPostNotFound{} +} + +/* +V1NetworkSecurityGroupsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups post not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups post not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups post not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups post not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups post not found response +func (o *V1NetworkSecurityGroupsPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsPostConflict creates a V1NetworkSecurityGroupsPostConflict with default headers values +func NewV1NetworkSecurityGroupsPostConflict() *V1NetworkSecurityGroupsPostConflict { + return &V1NetworkSecurityGroupsPostConflict{} +} + +/* +V1NetworkSecurityGroupsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkSecurityGroupsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups post conflict response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups post conflict response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post conflict response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups post conflict response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups post conflict response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network security groups post conflict response +func (o *V1NetworkSecurityGroupsPostConflict) Code() int { + return 409 +} + +func (o *V1NetworkSecurityGroupsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsPostUnprocessableEntity creates a V1NetworkSecurityGroupsPostUnprocessableEntity with default headers values +func NewV1NetworkSecurityGroupsPostUnprocessableEntity() *V1NetworkSecurityGroupsPostUnprocessableEntity { + return &V1NetworkSecurityGroupsPostUnprocessableEntity{} +} + +/* +V1NetworkSecurityGroupsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1NetworkSecurityGroupsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups post unprocessable entity response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups post unprocessable entity response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post unprocessable entity response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups post unprocessable entity response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups post unprocessable entity response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 network security groups post unprocessable entity response +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsPostInternalServerError creates a V1NetworkSecurityGroupsPostInternalServerError with default headers values +func NewV1NetworkSecurityGroupsPostInternalServerError() *V1NetworkSecurityGroupsPostInternalServerError { + return &V1NetworkSecurityGroupsPostInternalServerError{} +} + +/* +V1NetworkSecurityGroupsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups post internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups post internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups post internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups post internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups post internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups post internal server error response +func (o *V1NetworkSecurityGroupsPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups][%d] v1NetworkSecurityGroupsPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_delete_parameters.go new file mode 100644 index 000000000..c83eb86bd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworkSecurityGroupsRulesDeleteParams creates a new V1NetworkSecurityGroupsRulesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsRulesDeleteParams() *V1NetworkSecurityGroupsRulesDeleteParams { + return &V1NetworkSecurityGroupsRulesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsRulesDeleteParamsWithTimeout creates a new V1NetworkSecurityGroupsRulesDeleteParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsRulesDeleteParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsRulesDeleteParams { + return &V1NetworkSecurityGroupsRulesDeleteParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsRulesDeleteParamsWithContext creates a new V1NetworkSecurityGroupsRulesDeleteParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsRulesDeleteParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsRulesDeleteParams { + return &V1NetworkSecurityGroupsRulesDeleteParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsRulesDeleteParamsWithHTTPClient creates a new V1NetworkSecurityGroupsRulesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsRulesDeleteParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsRulesDeleteParams { + return &V1NetworkSecurityGroupsRulesDeleteParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsRulesDeleteParams contains all the parameters to send to the API endpoint + + for the v1 network security groups rules delete operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsRulesDeleteParams struct { + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + /* NetworkSecurityGroupRuleID. + + Network Security Group Rule ID + */ + NetworkSecurityGroupRuleID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups rules delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsRulesDeleteParams) WithDefaults() *V1NetworkSecurityGroupsRulesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups rules delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsRulesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsRulesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsRulesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsRulesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsRulesDeleteParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WithNetworkSecurityGroupRuleID adds the networkSecurityGroupRuleID to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) WithNetworkSecurityGroupRuleID(networkSecurityGroupRuleID string) *V1NetworkSecurityGroupsRulesDeleteParams { + o.SetNetworkSecurityGroupRuleID(networkSecurityGroupRuleID) + return o +} + +// SetNetworkSecurityGroupRuleID adds the networkSecurityGroupRuleId to the v1 network security groups rules delete params +func (o *V1NetworkSecurityGroupsRulesDeleteParams) SetNetworkSecurityGroupRuleID(networkSecurityGroupRuleID string) { + o.NetworkSecurityGroupRuleID = networkSecurityGroupRuleID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsRulesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + // path param network_security_group_rule_id + if err := r.SetPathParam("network_security_group_rule_id", o.NetworkSecurityGroupRuleID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_delete_responses.go new file mode 100644 index 000000000..f48102a1f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsRulesDeleteReader is a Reader for the V1NetworkSecurityGroupsRulesDelete structure. +type V1NetworkSecurityGroupsRulesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsRulesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsRulesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsRulesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsRulesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsRulesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsRulesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkSecurityGroupsRulesDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsRulesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}] v1.networkSecurityGroups.rules.delete", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsRulesDeleteOK creates a V1NetworkSecurityGroupsRulesDeleteOK with default headers values +func NewV1NetworkSecurityGroupsRulesDeleteOK() *V1NetworkSecurityGroupsRulesDeleteOK { + return &V1NetworkSecurityGroupsRulesDeleteOK{} +} + +/* +V1NetworkSecurityGroupsRulesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsRulesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 network security groups rules delete o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups rules delete o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules delete o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups rules delete o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules delete o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups rules delete o k response +func (o *V1NetworkSecurityGroupsRulesDeleteOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsRulesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesDeleteBadRequest creates a V1NetworkSecurityGroupsRulesDeleteBadRequest with default headers values +func NewV1NetworkSecurityGroupsRulesDeleteBadRequest() *V1NetworkSecurityGroupsRulesDeleteBadRequest { + return &V1NetworkSecurityGroupsRulesDeleteBadRequest{} +} + +/* +V1NetworkSecurityGroupsRulesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsRulesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules delete bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules delete bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules delete bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules delete bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules delete bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups rules delete bad request response +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesDeleteUnauthorized creates a V1NetworkSecurityGroupsRulesDeleteUnauthorized with default headers values +func NewV1NetworkSecurityGroupsRulesDeleteUnauthorized() *V1NetworkSecurityGroupsRulesDeleteUnauthorized { + return &V1NetworkSecurityGroupsRulesDeleteUnauthorized{} +} + +/* +V1NetworkSecurityGroupsRulesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsRulesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules delete unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules delete unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules delete unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules delete unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules delete unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups rules delete unauthorized response +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesDeleteForbidden creates a V1NetworkSecurityGroupsRulesDeleteForbidden with default headers values +func NewV1NetworkSecurityGroupsRulesDeleteForbidden() *V1NetworkSecurityGroupsRulesDeleteForbidden { + return &V1NetworkSecurityGroupsRulesDeleteForbidden{} +} + +/* +V1NetworkSecurityGroupsRulesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsRulesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules delete forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules delete forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules delete forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules delete forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules delete forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups rules delete forbidden response +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesDeleteNotFound creates a V1NetworkSecurityGroupsRulesDeleteNotFound with default headers values +func NewV1NetworkSecurityGroupsRulesDeleteNotFound() *V1NetworkSecurityGroupsRulesDeleteNotFound { + return &V1NetworkSecurityGroupsRulesDeleteNotFound{} +} + +/* +V1NetworkSecurityGroupsRulesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsRulesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules delete not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules delete not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules delete not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules delete not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules delete not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups rules delete not found response +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesDeleteConflict creates a V1NetworkSecurityGroupsRulesDeleteConflict with default headers values +func NewV1NetworkSecurityGroupsRulesDeleteConflict() *V1NetworkSecurityGroupsRulesDeleteConflict { + return &V1NetworkSecurityGroupsRulesDeleteConflict{} +} + +/* +V1NetworkSecurityGroupsRulesDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkSecurityGroupsRulesDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules delete conflict response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules delete conflict response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules delete conflict response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules delete conflict response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules delete conflict response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network security groups rules delete conflict response +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) Code() int { + return 409 +} + +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesDeleteInternalServerError creates a V1NetworkSecurityGroupsRulesDeleteInternalServerError with default headers values +func NewV1NetworkSecurityGroupsRulesDeleteInternalServerError() *V1NetworkSecurityGroupsRulesDeleteInternalServerError { + return &V1NetworkSecurityGroupsRulesDeleteInternalServerError{} +} + +/* +V1NetworkSecurityGroupsRulesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsRulesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules delete internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules delete internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules delete internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups rules delete internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups rules delete internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups rules delete internal server error response +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}][%d] v1NetworkSecurityGroupsRulesDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_post_parameters.go new file mode 100644 index 000000000..c5ba29236 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworkSecurityGroupsRulesPostParams creates a new V1NetworkSecurityGroupsRulesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworkSecurityGroupsRulesPostParams() *V1NetworkSecurityGroupsRulesPostParams { + return &V1NetworkSecurityGroupsRulesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworkSecurityGroupsRulesPostParamsWithTimeout creates a new V1NetworkSecurityGroupsRulesPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworkSecurityGroupsRulesPostParamsWithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsRulesPostParams { + return &V1NetworkSecurityGroupsRulesPostParams{ + timeout: timeout, + } +} + +// NewV1NetworkSecurityGroupsRulesPostParamsWithContext creates a new V1NetworkSecurityGroupsRulesPostParams object +// with the ability to set a context for a request. +func NewV1NetworkSecurityGroupsRulesPostParamsWithContext(ctx context.Context) *V1NetworkSecurityGroupsRulesPostParams { + return &V1NetworkSecurityGroupsRulesPostParams{ + Context: ctx, + } +} + +// NewV1NetworkSecurityGroupsRulesPostParamsWithHTTPClient creates a new V1NetworkSecurityGroupsRulesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworkSecurityGroupsRulesPostParamsWithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsRulesPostParams { + return &V1NetworkSecurityGroupsRulesPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworkSecurityGroupsRulesPostParams contains all the parameters to send to the API endpoint + + for the v1 network security groups rules post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworkSecurityGroupsRulesPostParams struct { + + /* Body. + + Parameters for adding a rule to a Network Security Group + */ + Body *models.NetworkSecurityGroupAddRule + + /* NetworkSecurityGroupID. + + Network Security Group ID + */ + NetworkSecurityGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 network security groups rules post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsRulesPostParams) WithDefaults() *V1NetworkSecurityGroupsRulesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 network security groups rules post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworkSecurityGroupsRulesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) WithTimeout(timeout time.Duration) *V1NetworkSecurityGroupsRulesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) WithContext(ctx context.Context) *V1NetworkSecurityGroupsRulesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) WithHTTPClient(client *http.Client) *V1NetworkSecurityGroupsRulesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) WithBody(body *models.NetworkSecurityGroupAddRule) *V1NetworkSecurityGroupsRulesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) SetBody(body *models.NetworkSecurityGroupAddRule) { + o.Body = body +} + +// WithNetworkSecurityGroupID adds the networkSecurityGroupID to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) WithNetworkSecurityGroupID(networkSecurityGroupID string) *V1NetworkSecurityGroupsRulesPostParams { + o.SetNetworkSecurityGroupID(networkSecurityGroupID) + return o +} + +// SetNetworkSecurityGroupID adds the networkSecurityGroupId to the v1 network security groups rules post params +func (o *V1NetworkSecurityGroupsRulesPostParams) SetNetworkSecurityGroupID(networkSecurityGroupID string) { + o.NetworkSecurityGroupID = networkSecurityGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworkSecurityGroupsRulesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_security_group_id + if err := r.SetPathParam("network_security_group_id", o.NetworkSecurityGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_post_responses.go new file mode 100644 index 000000000..1fbc17a8b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/network_security_groups/v1_network_security_groups_rules_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package network_security_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworkSecurityGroupsRulesPostReader is a Reader for the V1NetworkSecurityGroupsRulesPost structure. +type V1NetworkSecurityGroupsRulesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworkSecurityGroupsRulesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworkSecurityGroupsRulesPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworkSecurityGroupsRulesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworkSecurityGroupsRulesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworkSecurityGroupsRulesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworkSecurityGroupsRulesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworkSecurityGroupsRulesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1NetworkSecurityGroupsRulesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworkSecurityGroupsRulesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/network-security-groups/{network_security_group_id}/rules] v1.networkSecurityGroups.rules.post", response, response.Code()) + } +} + +// NewV1NetworkSecurityGroupsRulesPostOK creates a V1NetworkSecurityGroupsRulesPostOK with default headers values +func NewV1NetworkSecurityGroupsRulesPostOK() *V1NetworkSecurityGroupsRulesPostOK { + return &V1NetworkSecurityGroupsRulesPostOK{} +} + +/* +V1NetworkSecurityGroupsRulesPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworkSecurityGroupsRulesPostOK struct { + Payload *models.NetworkSecurityGroupRule +} + +// IsSuccess returns true when this v1 network security groups rules post o k response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 network security groups rules post o k response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules post o k response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups rules post o k response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules post o k response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 network security groups rules post o k response +func (o *V1NetworkSecurityGroupsRulesPostOK) Code() int { + return 200 +} + +func (o *V1NetworkSecurityGroupsRulesPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostOK %s", 200, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostOK) GetPayload() *models.NetworkSecurityGroupRule { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkSecurityGroupRule) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesPostBadRequest creates a V1NetworkSecurityGroupsRulesPostBadRequest with default headers values +func NewV1NetworkSecurityGroupsRulesPostBadRequest() *V1NetworkSecurityGroupsRulesPostBadRequest { + return &V1NetworkSecurityGroupsRulesPostBadRequest{} +} + +/* +V1NetworkSecurityGroupsRulesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworkSecurityGroupsRulesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules post bad request response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules post bad request response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules post bad request response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules post bad request response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules post bad request response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 network security groups rules post bad request response +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostBadRequest %s", 400, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesPostUnauthorized creates a V1NetworkSecurityGroupsRulesPostUnauthorized with default headers values +func NewV1NetworkSecurityGroupsRulesPostUnauthorized() *V1NetworkSecurityGroupsRulesPostUnauthorized { + return &V1NetworkSecurityGroupsRulesPostUnauthorized{} +} + +/* +V1NetworkSecurityGroupsRulesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworkSecurityGroupsRulesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules post unauthorized response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules post unauthorized response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules post unauthorized response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules post unauthorized response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules post unauthorized response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 network security groups rules post unauthorized response +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesPostForbidden creates a V1NetworkSecurityGroupsRulesPostForbidden with default headers values +func NewV1NetworkSecurityGroupsRulesPostForbidden() *V1NetworkSecurityGroupsRulesPostForbidden { + return &V1NetworkSecurityGroupsRulesPostForbidden{} +} + +/* +V1NetworkSecurityGroupsRulesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworkSecurityGroupsRulesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules post forbidden response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules post forbidden response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules post forbidden response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules post forbidden response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules post forbidden response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 network security groups rules post forbidden response +func (o *V1NetworkSecurityGroupsRulesPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworkSecurityGroupsRulesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostForbidden %s", 403, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesPostNotFound creates a V1NetworkSecurityGroupsRulesPostNotFound with default headers values +func NewV1NetworkSecurityGroupsRulesPostNotFound() *V1NetworkSecurityGroupsRulesPostNotFound { + return &V1NetworkSecurityGroupsRulesPostNotFound{} +} + +/* +V1NetworkSecurityGroupsRulesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworkSecurityGroupsRulesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules post not found response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules post not found response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules post not found response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules post not found response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules post not found response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 network security groups rules post not found response +func (o *V1NetworkSecurityGroupsRulesPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworkSecurityGroupsRulesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostNotFound %s", 404, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesPostConflict creates a V1NetworkSecurityGroupsRulesPostConflict with default headers values +func NewV1NetworkSecurityGroupsRulesPostConflict() *V1NetworkSecurityGroupsRulesPostConflict { + return &V1NetworkSecurityGroupsRulesPostConflict{} +} + +/* +V1NetworkSecurityGroupsRulesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworkSecurityGroupsRulesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules post conflict response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules post conflict response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules post conflict response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules post conflict response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules post conflict response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 network security groups rules post conflict response +func (o *V1NetworkSecurityGroupsRulesPostConflict) Code() int { + return 409 +} + +func (o *V1NetworkSecurityGroupsRulesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostConflict %s", 409, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesPostUnprocessableEntity creates a V1NetworkSecurityGroupsRulesPostUnprocessableEntity with default headers values +func NewV1NetworkSecurityGroupsRulesPostUnprocessableEntity() *V1NetworkSecurityGroupsRulesPostUnprocessableEntity { + return &V1NetworkSecurityGroupsRulesPostUnprocessableEntity{} +} + +/* +V1NetworkSecurityGroupsRulesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1NetworkSecurityGroupsRulesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules post unprocessable entity response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules post unprocessable entity response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules post unprocessable entity response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 network security groups rules post unprocessable entity response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 network security groups rules post unprocessable entity response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 network security groups rules post unprocessable entity response +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworkSecurityGroupsRulesPostInternalServerError creates a V1NetworkSecurityGroupsRulesPostInternalServerError with default headers values +func NewV1NetworkSecurityGroupsRulesPostInternalServerError() *V1NetworkSecurityGroupsRulesPostInternalServerError { + return &V1NetworkSecurityGroupsRulesPostInternalServerError{} +} + +/* +V1NetworkSecurityGroupsRulesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworkSecurityGroupsRulesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 network security groups rules post internal server error response has a 2xx status code +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 network security groups rules post internal server error response has a 3xx status code +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 network security groups rules post internal server error response has a 4xx status code +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 network security groups rules post internal server error response has a 5xx status code +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 network security groups rules post internal server error response a status code equal to that given +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 network security groups rules post internal server error response +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/network-security-groups/{network_security_group_id}/rules][%d] v1NetworkSecurityGroupsRulesPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworkSecurityGroupsRulesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/networks_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/networks_client.go new file mode 100644 index 000000000..b1291ca1f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/networks_client.go @@ -0,0 +1,295 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new networks API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new networks API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new networks API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for networks API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1NetworksNetworkInterfacesDelete(params *V1NetworksNetworkInterfacesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesDeleteOK, error) + + V1NetworksNetworkInterfacesGet(params *V1NetworksNetworkInterfacesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesGetOK, error) + + V1NetworksNetworkInterfacesGetall(params *V1NetworksNetworkInterfacesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesGetallOK, error) + + V1NetworksNetworkInterfacesPost(params *V1NetworksNetworkInterfacesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesPostCreated, error) + + V1NetworksNetworkInterfacesPut(params *V1NetworksNetworkInterfacesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1NetworksNetworkInterfacesDelete deletes a network interface +*/ +func (a *Client) V1NetworksNetworkInterfacesDelete(params *V1NetworksNetworkInterfacesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworksNetworkInterfacesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networks.network-interfaces.delete", + Method: "DELETE", + PathPattern: "/v1/networks/{network_id}/network-interfaces/{network_interface_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworksNetworkInterfacesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworksNetworkInterfacesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networks.network-interfaces.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworksNetworkInterfacesGet gets a network interface s information +*/ +func (a *Client) V1NetworksNetworkInterfacesGet(params *V1NetworksNetworkInterfacesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworksNetworkInterfacesGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networks.network-interfaces.get", + Method: "GET", + PathPattern: "/v1/networks/{network_id}/network-interfaces/{network_interface_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworksNetworkInterfacesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworksNetworkInterfacesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networks.network-interfaces.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworksNetworkInterfacesGetall gets all network interfaces for this network +*/ +func (a *Client) V1NetworksNetworkInterfacesGetall(params *V1NetworksNetworkInterfacesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworksNetworkInterfacesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networks.network-interfaces.getall", + Method: "GET", + PathPattern: "/v1/networks/{network_id}/network-interfaces", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworksNetworkInterfacesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworksNetworkInterfacesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networks.network-interfaces.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworksNetworkInterfacesPost creates a network interface +*/ +func (a *Client) V1NetworksNetworkInterfacesPost(params *V1NetworksNetworkInterfacesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworksNetworkInterfacesPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networks.network-interfaces.post", + Method: "POST", + PathPattern: "/v1/networks/{network_id}/network-interfaces", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworksNetworkInterfacesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworksNetworkInterfacesPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networks.network-interfaces.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1NetworksNetworkInterfacesPut updates a network interface s information +*/ +func (a *Client) V1NetworksNetworkInterfacesPut(params *V1NetworksNetworkInterfacesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1NetworksNetworkInterfacesPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1NetworksNetworkInterfacesPutParams() + } + op := &runtime.ClientOperation{ + ID: "v1.networks.network-interfaces.put", + Method: "PUT", + PathPattern: "/v1/networks/{network_id}/network-interfaces/{network_interface_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1NetworksNetworkInterfacesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1NetworksNetworkInterfacesPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.networks.network-interfaces.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_delete_parameters.go new file mode 100644 index 000000000..e68d59eec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworksNetworkInterfacesDeleteParams creates a new V1NetworksNetworkInterfacesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworksNetworkInterfacesDeleteParams() *V1NetworksNetworkInterfacesDeleteParams { + return &V1NetworksNetworkInterfacesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworksNetworkInterfacesDeleteParamsWithTimeout creates a new V1NetworksNetworkInterfacesDeleteParams object +// with the ability to set a timeout on a request. +func NewV1NetworksNetworkInterfacesDeleteParamsWithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesDeleteParams { + return &V1NetworksNetworkInterfacesDeleteParams{ + timeout: timeout, + } +} + +// NewV1NetworksNetworkInterfacesDeleteParamsWithContext creates a new V1NetworksNetworkInterfacesDeleteParams object +// with the ability to set a context for a request. +func NewV1NetworksNetworkInterfacesDeleteParamsWithContext(ctx context.Context) *V1NetworksNetworkInterfacesDeleteParams { + return &V1NetworksNetworkInterfacesDeleteParams{ + Context: ctx, + } +} + +// NewV1NetworksNetworkInterfacesDeleteParamsWithHTTPClient creates a new V1NetworksNetworkInterfacesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworksNetworkInterfacesDeleteParamsWithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesDeleteParams { + return &V1NetworksNetworkInterfacesDeleteParams{ + HTTPClient: client, + } +} + +/* +V1NetworksNetworkInterfacesDeleteParams contains all the parameters to send to the API endpoint + + for the v1 networks network interfaces delete operation. + + Typically these are written to a http.Request. +*/ +type V1NetworksNetworkInterfacesDeleteParams struct { + + /* NetworkID. + + Network ID + */ + NetworkID string + + /* NetworkInterfaceID. + + Network Interface ID + */ + NetworkInterfaceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 networks network interfaces delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesDeleteParams) WithDefaults() *V1NetworksNetworkInterfacesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 networks network interfaces delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) WithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) WithContext(ctx context.Context) *V1NetworksNetworkInterfacesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) WithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkID adds the networkID to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) WithNetworkID(networkID string) *V1NetworksNetworkInterfacesDeleteParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WithNetworkInterfaceID adds the networkInterfaceID to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) WithNetworkInterfaceID(networkInterfaceID string) *V1NetworksNetworkInterfacesDeleteParams { + o.SetNetworkInterfaceID(networkInterfaceID) + return o +} + +// SetNetworkInterfaceID adds the networkInterfaceId to the v1 networks network interfaces delete params +func (o *V1NetworksNetworkInterfacesDeleteParams) SetNetworkInterfaceID(networkInterfaceID string) { + o.NetworkInterfaceID = networkInterfaceID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworksNetworkInterfacesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + // path param network_interface_id + if err := r.SetPathParam("network_interface_id", o.NetworkInterfaceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_delete_responses.go new file mode 100644 index 000000000..0ab2e7fba --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworksNetworkInterfacesDeleteReader is a Reader for the V1NetworksNetworkInterfacesDelete structure. +type V1NetworksNetworkInterfacesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworksNetworkInterfacesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworksNetworkInterfacesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworksNetworkInterfacesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworksNetworkInterfacesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworksNetworkInterfacesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworksNetworkInterfacesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewV1NetworksNetworkInterfacesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworksNetworkInterfacesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}] v1.networks.network-interfaces.delete", response, response.Code()) + } +} + +// NewV1NetworksNetworkInterfacesDeleteOK creates a V1NetworksNetworkInterfacesDeleteOK with default headers values +func NewV1NetworksNetworkInterfacesDeleteOK() *V1NetworksNetworkInterfacesDeleteOK { + return &V1NetworksNetworkInterfacesDeleteOK{} +} + +/* +V1NetworksNetworkInterfacesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworksNetworkInterfacesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 networks network interfaces delete o k response has a 2xx status code +func (o *V1NetworksNetworkInterfacesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 networks network interfaces delete o k response has a 3xx status code +func (o *V1NetworksNetworkInterfacesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces delete o k response has a 4xx status code +func (o *V1NetworksNetworkInterfacesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces delete o k response has a 5xx status code +func (o *V1NetworksNetworkInterfacesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces delete o k response a status code equal to that given +func (o *V1NetworksNetworkInterfacesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 networks network interfaces delete o k response +func (o *V1NetworksNetworkInterfacesDeleteOK) Code() int { + return 200 +} + +func (o *V1NetworksNetworkInterfacesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteOK %s", 200, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteOK %s", 200, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesDeleteBadRequest creates a V1NetworksNetworkInterfacesDeleteBadRequest with default headers values +func NewV1NetworksNetworkInterfacesDeleteBadRequest() *V1NetworksNetworkInterfacesDeleteBadRequest { + return &V1NetworksNetworkInterfacesDeleteBadRequest{} +} + +/* +V1NetworksNetworkInterfacesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworksNetworkInterfacesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces delete bad request response has a 2xx status code +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces delete bad request response has a 3xx status code +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces delete bad request response has a 4xx status code +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces delete bad request response has a 5xx status code +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces delete bad request response a status code equal to that given +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 networks network interfaces delete bad request response +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesDeleteUnauthorized creates a V1NetworksNetworkInterfacesDeleteUnauthorized with default headers values +func NewV1NetworksNetworkInterfacesDeleteUnauthorized() *V1NetworksNetworkInterfacesDeleteUnauthorized { + return &V1NetworksNetworkInterfacesDeleteUnauthorized{} +} + +/* +V1NetworksNetworkInterfacesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworksNetworkInterfacesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces delete unauthorized response has a 2xx status code +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces delete unauthorized response has a 3xx status code +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces delete unauthorized response has a 4xx status code +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces delete unauthorized response has a 5xx status code +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces delete unauthorized response a status code equal to that given +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 networks network interfaces delete unauthorized response +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesDeleteForbidden creates a V1NetworksNetworkInterfacesDeleteForbidden with default headers values +func NewV1NetworksNetworkInterfacesDeleteForbidden() *V1NetworksNetworkInterfacesDeleteForbidden { + return &V1NetworksNetworkInterfacesDeleteForbidden{} +} + +/* +V1NetworksNetworkInterfacesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworksNetworkInterfacesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces delete forbidden response has a 2xx status code +func (o *V1NetworksNetworkInterfacesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces delete forbidden response has a 3xx status code +func (o *V1NetworksNetworkInterfacesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces delete forbidden response has a 4xx status code +func (o *V1NetworksNetworkInterfacesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces delete forbidden response has a 5xx status code +func (o *V1NetworksNetworkInterfacesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces delete forbidden response a status code equal to that given +func (o *V1NetworksNetworkInterfacesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 networks network interfaces delete forbidden response +func (o *V1NetworksNetworkInterfacesDeleteForbidden) Code() int { + return 403 +} + +func (o *V1NetworksNetworkInterfacesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesDeleteNotFound creates a V1NetworksNetworkInterfacesDeleteNotFound with default headers values +func NewV1NetworksNetworkInterfacesDeleteNotFound() *V1NetworksNetworkInterfacesDeleteNotFound { + return &V1NetworksNetworkInterfacesDeleteNotFound{} +} + +/* +V1NetworksNetworkInterfacesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworksNetworkInterfacesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces delete not found response has a 2xx status code +func (o *V1NetworksNetworkInterfacesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces delete not found response has a 3xx status code +func (o *V1NetworksNetworkInterfacesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces delete not found response has a 4xx status code +func (o *V1NetworksNetworkInterfacesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces delete not found response has a 5xx status code +func (o *V1NetworksNetworkInterfacesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces delete not found response a status code equal to that given +func (o *V1NetworksNetworkInterfacesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 networks network interfaces delete not found response +func (o *V1NetworksNetworkInterfacesDeleteNotFound) Code() int { + return 404 +} + +func (o *V1NetworksNetworkInterfacesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesDeleteGone creates a V1NetworksNetworkInterfacesDeleteGone with default headers values +func NewV1NetworksNetworkInterfacesDeleteGone() *V1NetworksNetworkInterfacesDeleteGone { + return &V1NetworksNetworkInterfacesDeleteGone{} +} + +/* +V1NetworksNetworkInterfacesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type V1NetworksNetworkInterfacesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces delete gone response has a 2xx status code +func (o *V1NetworksNetworkInterfacesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces delete gone response has a 3xx status code +func (o *V1NetworksNetworkInterfacesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces delete gone response has a 4xx status code +func (o *V1NetworksNetworkInterfacesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces delete gone response has a 5xx status code +func (o *V1NetworksNetworkInterfacesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces delete gone response a status code equal to that given +func (o *V1NetworksNetworkInterfacesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the v1 networks network interfaces delete gone response +func (o *V1NetworksNetworkInterfacesDeleteGone) Code() int { + return 410 +} + +func (o *V1NetworksNetworkInterfacesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteGone %s", 410, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteGone %s", 410, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesDeleteInternalServerError creates a V1NetworksNetworkInterfacesDeleteInternalServerError with default headers values +func NewV1NetworksNetworkInterfacesDeleteInternalServerError() *V1NetworksNetworkInterfacesDeleteInternalServerError { + return &V1NetworksNetworkInterfacesDeleteInternalServerError{} +} + +/* +V1NetworksNetworkInterfacesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworksNetworkInterfacesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces delete internal server error response has a 2xx status code +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces delete internal server error response has a 3xx status code +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces delete internal server error response has a 4xx status code +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces delete internal server error response has a 5xx status code +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 networks network interfaces delete internal server error response a status code equal to that given +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 networks network interfaces delete internal server error response +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesDeleteInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_get_parameters.go new file mode 100644 index 000000000..431fd1920 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworksNetworkInterfacesGetParams creates a new V1NetworksNetworkInterfacesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworksNetworkInterfacesGetParams() *V1NetworksNetworkInterfacesGetParams { + return &V1NetworksNetworkInterfacesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworksNetworkInterfacesGetParamsWithTimeout creates a new V1NetworksNetworkInterfacesGetParams object +// with the ability to set a timeout on a request. +func NewV1NetworksNetworkInterfacesGetParamsWithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesGetParams { + return &V1NetworksNetworkInterfacesGetParams{ + timeout: timeout, + } +} + +// NewV1NetworksNetworkInterfacesGetParamsWithContext creates a new V1NetworksNetworkInterfacesGetParams object +// with the ability to set a context for a request. +func NewV1NetworksNetworkInterfacesGetParamsWithContext(ctx context.Context) *V1NetworksNetworkInterfacesGetParams { + return &V1NetworksNetworkInterfacesGetParams{ + Context: ctx, + } +} + +// NewV1NetworksNetworkInterfacesGetParamsWithHTTPClient creates a new V1NetworksNetworkInterfacesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworksNetworkInterfacesGetParamsWithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesGetParams { + return &V1NetworksNetworkInterfacesGetParams{ + HTTPClient: client, + } +} + +/* +V1NetworksNetworkInterfacesGetParams contains all the parameters to send to the API endpoint + + for the v1 networks network interfaces get operation. + + Typically these are written to a http.Request. +*/ +type V1NetworksNetworkInterfacesGetParams struct { + + /* NetworkID. + + Network ID + */ + NetworkID string + + /* NetworkInterfaceID. + + Network Interface ID + */ + NetworkInterfaceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 networks network interfaces get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesGetParams) WithDefaults() *V1NetworksNetworkInterfacesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 networks network interfaces get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) WithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) WithContext(ctx context.Context) *V1NetworksNetworkInterfacesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) WithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkID adds the networkID to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) WithNetworkID(networkID string) *V1NetworksNetworkInterfacesGetParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WithNetworkInterfaceID adds the networkInterfaceID to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) WithNetworkInterfaceID(networkInterfaceID string) *V1NetworksNetworkInterfacesGetParams { + o.SetNetworkInterfaceID(networkInterfaceID) + return o +} + +// SetNetworkInterfaceID adds the networkInterfaceId to the v1 networks network interfaces get params +func (o *V1NetworksNetworkInterfacesGetParams) SetNetworkInterfaceID(networkInterfaceID string) { + o.NetworkInterfaceID = networkInterfaceID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworksNetworkInterfacesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + // path param network_interface_id + if err := r.SetPathParam("network_interface_id", o.NetworkInterfaceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_get_responses.go new file mode 100644 index 000000000..9c9a16c52 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworksNetworkInterfacesGetReader is a Reader for the V1NetworksNetworkInterfacesGet structure. +type V1NetworksNetworkInterfacesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworksNetworkInterfacesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworksNetworkInterfacesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworksNetworkInterfacesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworksNetworkInterfacesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworksNetworkInterfacesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworksNetworkInterfacesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworksNetworkInterfacesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}] v1.networks.network-interfaces.get", response, response.Code()) + } +} + +// NewV1NetworksNetworkInterfacesGetOK creates a V1NetworksNetworkInterfacesGetOK with default headers values +func NewV1NetworksNetworkInterfacesGetOK() *V1NetworksNetworkInterfacesGetOK { + return &V1NetworksNetworkInterfacesGetOK{} +} + +/* +V1NetworksNetworkInterfacesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworksNetworkInterfacesGetOK struct { + Payload *models.NetworkInterface +} + +// IsSuccess returns true when this v1 networks network interfaces get o k response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 networks network interfaces get o k response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces get o k response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces get o k response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces get o k response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 networks network interfaces get o k response +func (o *V1NetworksNetworkInterfacesGetOK) Code() int { + return 200 +} + +func (o *V1NetworksNetworkInterfacesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetOK %s", 200, payload) +} + +func (o *V1NetworksNetworkInterfacesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetOK %s", 200, payload) +} + +func (o *V1NetworksNetworkInterfacesGetOK) GetPayload() *models.NetworkInterface { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkInterface) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetBadRequest creates a V1NetworksNetworkInterfacesGetBadRequest with default headers values +func NewV1NetworksNetworkInterfacesGetBadRequest() *V1NetworksNetworkInterfacesGetBadRequest { + return &V1NetworksNetworkInterfacesGetBadRequest{} +} + +/* +V1NetworksNetworkInterfacesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworksNetworkInterfacesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces get bad request response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces get bad request response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces get bad request response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces get bad request response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces get bad request response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 networks network interfaces get bad request response +func (o *V1NetworksNetworkInterfacesGetBadRequest) Code() int { + return 400 +} + +func (o *V1NetworksNetworkInterfacesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetUnauthorized creates a V1NetworksNetworkInterfacesGetUnauthorized with default headers values +func NewV1NetworksNetworkInterfacesGetUnauthorized() *V1NetworksNetworkInterfacesGetUnauthorized { + return &V1NetworksNetworkInterfacesGetUnauthorized{} +} + +/* +V1NetworksNetworkInterfacesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworksNetworkInterfacesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces get unauthorized response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces get unauthorized response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces get unauthorized response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces get unauthorized response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces get unauthorized response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 networks network interfaces get unauthorized response +func (o *V1NetworksNetworkInterfacesGetUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworksNetworkInterfacesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetForbidden creates a V1NetworksNetworkInterfacesGetForbidden with default headers values +func NewV1NetworksNetworkInterfacesGetForbidden() *V1NetworksNetworkInterfacesGetForbidden { + return &V1NetworksNetworkInterfacesGetForbidden{} +} + +/* +V1NetworksNetworkInterfacesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworksNetworkInterfacesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces get forbidden response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces get forbidden response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces get forbidden response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces get forbidden response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces get forbidden response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 networks network interfaces get forbidden response +func (o *V1NetworksNetworkInterfacesGetForbidden) Code() int { + return 403 +} + +func (o *V1NetworksNetworkInterfacesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetNotFound creates a V1NetworksNetworkInterfacesGetNotFound with default headers values +func NewV1NetworksNetworkInterfacesGetNotFound() *V1NetworksNetworkInterfacesGetNotFound { + return &V1NetworksNetworkInterfacesGetNotFound{} +} + +/* +V1NetworksNetworkInterfacesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworksNetworkInterfacesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces get not found response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces get not found response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces get not found response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces get not found response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces get not found response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 networks network interfaces get not found response +func (o *V1NetworksNetworkInterfacesGetNotFound) Code() int { + return 404 +} + +func (o *V1NetworksNetworkInterfacesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetInternalServerError creates a V1NetworksNetworkInterfacesGetInternalServerError with default headers values +func NewV1NetworksNetworkInterfacesGetInternalServerError() *V1NetworksNetworkInterfacesGetInternalServerError { + return &V1NetworksNetworkInterfacesGetInternalServerError{} +} + +/* +V1NetworksNetworkInterfacesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworksNetworkInterfacesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces get internal server error response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces get internal server error response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces get internal server error response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces get internal server error response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 networks network interfaces get internal server error response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 networks network interfaces get internal server error response +func (o *V1NetworksNetworkInterfacesGetInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworksNetworkInterfacesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesGetInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_getall_parameters.go new file mode 100644 index 000000000..2e7b75a2d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1NetworksNetworkInterfacesGetallParams creates a new V1NetworksNetworkInterfacesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworksNetworkInterfacesGetallParams() *V1NetworksNetworkInterfacesGetallParams { + return &V1NetworksNetworkInterfacesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworksNetworkInterfacesGetallParamsWithTimeout creates a new V1NetworksNetworkInterfacesGetallParams object +// with the ability to set a timeout on a request. +func NewV1NetworksNetworkInterfacesGetallParamsWithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesGetallParams { + return &V1NetworksNetworkInterfacesGetallParams{ + timeout: timeout, + } +} + +// NewV1NetworksNetworkInterfacesGetallParamsWithContext creates a new V1NetworksNetworkInterfacesGetallParams object +// with the ability to set a context for a request. +func NewV1NetworksNetworkInterfacesGetallParamsWithContext(ctx context.Context) *V1NetworksNetworkInterfacesGetallParams { + return &V1NetworksNetworkInterfacesGetallParams{ + Context: ctx, + } +} + +// NewV1NetworksNetworkInterfacesGetallParamsWithHTTPClient creates a new V1NetworksNetworkInterfacesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworksNetworkInterfacesGetallParamsWithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesGetallParams { + return &V1NetworksNetworkInterfacesGetallParams{ + HTTPClient: client, + } +} + +/* +V1NetworksNetworkInterfacesGetallParams contains all the parameters to send to the API endpoint + + for the v1 networks network interfaces getall operation. + + Typically these are written to a http.Request. +*/ +type V1NetworksNetworkInterfacesGetallParams struct { + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 networks network interfaces getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesGetallParams) WithDefaults() *V1NetworksNetworkInterfacesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 networks network interfaces getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 networks network interfaces getall params +func (o *V1NetworksNetworkInterfacesGetallParams) WithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 networks network interfaces getall params +func (o *V1NetworksNetworkInterfacesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 networks network interfaces getall params +func (o *V1NetworksNetworkInterfacesGetallParams) WithContext(ctx context.Context) *V1NetworksNetworkInterfacesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 networks network interfaces getall params +func (o *V1NetworksNetworkInterfacesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 networks network interfaces getall params +func (o *V1NetworksNetworkInterfacesGetallParams) WithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 networks network interfaces getall params +func (o *V1NetworksNetworkInterfacesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithNetworkID adds the networkID to the v1 networks network interfaces getall params +func (o *V1NetworksNetworkInterfacesGetallParams) WithNetworkID(networkID string) *V1NetworksNetworkInterfacesGetallParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the v1 networks network interfaces getall params +func (o *V1NetworksNetworkInterfacesGetallParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworksNetworkInterfacesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_getall_responses.go new file mode 100644 index 000000000..0140c776b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworksNetworkInterfacesGetallReader is a Reader for the V1NetworksNetworkInterfacesGetall structure. +type V1NetworksNetworkInterfacesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworksNetworkInterfacesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworksNetworkInterfacesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworksNetworkInterfacesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworksNetworkInterfacesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworksNetworkInterfacesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworksNetworkInterfacesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworksNetworkInterfacesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/networks/{network_id}/network-interfaces] v1.networks.network-interfaces.getall", response, response.Code()) + } +} + +// NewV1NetworksNetworkInterfacesGetallOK creates a V1NetworksNetworkInterfacesGetallOK with default headers values +func NewV1NetworksNetworkInterfacesGetallOK() *V1NetworksNetworkInterfacesGetallOK { + return &V1NetworksNetworkInterfacesGetallOK{} +} + +/* +V1NetworksNetworkInterfacesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworksNetworkInterfacesGetallOK struct { + Payload *models.NetworkInterfaces +} + +// IsSuccess returns true when this v1 networks network interfaces getall o k response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 networks network interfaces getall o k response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces getall o k response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces getall o k response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces getall o k response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 networks network interfaces getall o k response +func (o *V1NetworksNetworkInterfacesGetallOK) Code() int { + return 200 +} + +func (o *V1NetworksNetworkInterfacesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallOK %s", 200, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallOK %s", 200, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallOK) GetPayload() *models.NetworkInterfaces { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkInterfaces) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetallBadRequest creates a V1NetworksNetworkInterfacesGetallBadRequest with default headers values +func NewV1NetworksNetworkInterfacesGetallBadRequest() *V1NetworksNetworkInterfacesGetallBadRequest { + return &V1NetworksNetworkInterfacesGetallBadRequest{} +} + +/* +V1NetworksNetworkInterfacesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworksNetworkInterfacesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces getall bad request response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces getall bad request response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces getall bad request response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces getall bad request response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces getall bad request response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 networks network interfaces getall bad request response +func (o *V1NetworksNetworkInterfacesGetallBadRequest) Code() int { + return 400 +} + +func (o *V1NetworksNetworkInterfacesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetallUnauthorized creates a V1NetworksNetworkInterfacesGetallUnauthorized with default headers values +func NewV1NetworksNetworkInterfacesGetallUnauthorized() *V1NetworksNetworkInterfacesGetallUnauthorized { + return &V1NetworksNetworkInterfacesGetallUnauthorized{} +} + +/* +V1NetworksNetworkInterfacesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworksNetworkInterfacesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces getall unauthorized response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces getall unauthorized response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces getall unauthorized response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces getall unauthorized response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces getall unauthorized response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 networks network interfaces getall unauthorized response +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetallForbidden creates a V1NetworksNetworkInterfacesGetallForbidden with default headers values +func NewV1NetworksNetworkInterfacesGetallForbidden() *V1NetworksNetworkInterfacesGetallForbidden { + return &V1NetworksNetworkInterfacesGetallForbidden{} +} + +/* +V1NetworksNetworkInterfacesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworksNetworkInterfacesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces getall forbidden response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces getall forbidden response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces getall forbidden response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces getall forbidden response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces getall forbidden response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 networks network interfaces getall forbidden response +func (o *V1NetworksNetworkInterfacesGetallForbidden) Code() int { + return 403 +} + +func (o *V1NetworksNetworkInterfacesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetallNotFound creates a V1NetworksNetworkInterfacesGetallNotFound with default headers values +func NewV1NetworksNetworkInterfacesGetallNotFound() *V1NetworksNetworkInterfacesGetallNotFound { + return &V1NetworksNetworkInterfacesGetallNotFound{} +} + +/* +V1NetworksNetworkInterfacesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworksNetworkInterfacesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces getall not found response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces getall not found response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces getall not found response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces getall not found response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces getall not found response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 networks network interfaces getall not found response +func (o *V1NetworksNetworkInterfacesGetallNotFound) Code() int { + return 404 +} + +func (o *V1NetworksNetworkInterfacesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesGetallInternalServerError creates a V1NetworksNetworkInterfacesGetallInternalServerError with default headers values +func NewV1NetworksNetworkInterfacesGetallInternalServerError() *V1NetworksNetworkInterfacesGetallInternalServerError { + return &V1NetworksNetworkInterfacesGetallInternalServerError{} +} + +/* +V1NetworksNetworkInterfacesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworksNetworkInterfacesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces getall internal server error response has a 2xx status code +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces getall internal server error response has a 3xx status code +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces getall internal server error response has a 4xx status code +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces getall internal server error response has a 5xx status code +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 networks network interfaces getall internal server error response a status code equal to that given +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 networks network interfaces getall internal server error response +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesGetallInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_post_parameters.go new file mode 100644 index 000000000..46a628925 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworksNetworkInterfacesPostParams creates a new V1NetworksNetworkInterfacesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworksNetworkInterfacesPostParams() *V1NetworksNetworkInterfacesPostParams { + return &V1NetworksNetworkInterfacesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworksNetworkInterfacesPostParamsWithTimeout creates a new V1NetworksNetworkInterfacesPostParams object +// with the ability to set a timeout on a request. +func NewV1NetworksNetworkInterfacesPostParamsWithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesPostParams { + return &V1NetworksNetworkInterfacesPostParams{ + timeout: timeout, + } +} + +// NewV1NetworksNetworkInterfacesPostParamsWithContext creates a new V1NetworksNetworkInterfacesPostParams object +// with the ability to set a context for a request. +func NewV1NetworksNetworkInterfacesPostParamsWithContext(ctx context.Context) *V1NetworksNetworkInterfacesPostParams { + return &V1NetworksNetworkInterfacesPostParams{ + Context: ctx, + } +} + +// NewV1NetworksNetworkInterfacesPostParamsWithHTTPClient creates a new V1NetworksNetworkInterfacesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworksNetworkInterfacesPostParamsWithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesPostParams { + return &V1NetworksNetworkInterfacesPostParams{ + HTTPClient: client, + } +} + +/* +V1NetworksNetworkInterfacesPostParams contains all the parameters to send to the API endpoint + + for the v1 networks network interfaces post operation. + + Typically these are written to a http.Request. +*/ +type V1NetworksNetworkInterfacesPostParams struct { + + /* Body. + + Create a Network Interface + */ + Body *models.NetworkInterfaceCreate + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 networks network interfaces post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesPostParams) WithDefaults() *V1NetworksNetworkInterfacesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 networks network interfaces post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) WithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) WithContext(ctx context.Context) *V1NetworksNetworkInterfacesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) WithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) WithBody(body *models.NetworkInterfaceCreate) *V1NetworksNetworkInterfacesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) SetBody(body *models.NetworkInterfaceCreate) { + o.Body = body +} + +// WithNetworkID adds the networkID to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) WithNetworkID(networkID string) *V1NetworksNetworkInterfacesPostParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the v1 networks network interfaces post params +func (o *V1NetworksNetworkInterfacesPostParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworksNetworkInterfacesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_post_responses.go new file mode 100644 index 000000000..79822a42c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworksNetworkInterfacesPostReader is a Reader for the V1NetworksNetworkInterfacesPost structure. +type V1NetworksNetworkInterfacesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworksNetworkInterfacesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewV1NetworksNetworkInterfacesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworksNetworkInterfacesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworksNetworkInterfacesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworksNetworkInterfacesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworksNetworkInterfacesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1NetworksNetworkInterfacesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1NetworksNetworkInterfacesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworksNetworkInterfacesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/networks/{network_id}/network-interfaces] v1.networks.network-interfaces.post", response, response.Code()) + } +} + +// NewV1NetworksNetworkInterfacesPostCreated creates a V1NetworksNetworkInterfacesPostCreated with default headers values +func NewV1NetworksNetworkInterfacesPostCreated() *V1NetworksNetworkInterfacesPostCreated { + return &V1NetworksNetworkInterfacesPostCreated{} +} + +/* +V1NetworksNetworkInterfacesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type V1NetworksNetworkInterfacesPostCreated struct { + Payload *models.NetworkInterface +} + +// IsSuccess returns true when this v1 networks network interfaces post created response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 networks network interfaces post created response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces post created response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces post created response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces post created response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the v1 networks network interfaces post created response +func (o *V1NetworksNetworkInterfacesPostCreated) Code() int { + return 201 +} + +func (o *V1NetworksNetworkInterfacesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostCreated %s", 201, payload) +} + +func (o *V1NetworksNetworkInterfacesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostCreated %s", 201, payload) +} + +func (o *V1NetworksNetworkInterfacesPostCreated) GetPayload() *models.NetworkInterface { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkInterface) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPostBadRequest creates a V1NetworksNetworkInterfacesPostBadRequest with default headers values +func NewV1NetworksNetworkInterfacesPostBadRequest() *V1NetworksNetworkInterfacesPostBadRequest { + return &V1NetworksNetworkInterfacesPostBadRequest{} +} + +/* +V1NetworksNetworkInterfacesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworksNetworkInterfacesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces post bad request response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces post bad request response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces post bad request response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces post bad request response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces post bad request response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 networks network interfaces post bad request response +func (o *V1NetworksNetworkInterfacesPostBadRequest) Code() int { + return 400 +} + +func (o *V1NetworksNetworkInterfacesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPostUnauthorized creates a V1NetworksNetworkInterfacesPostUnauthorized with default headers values +func NewV1NetworksNetworkInterfacesPostUnauthorized() *V1NetworksNetworkInterfacesPostUnauthorized { + return &V1NetworksNetworkInterfacesPostUnauthorized{} +} + +/* +V1NetworksNetworkInterfacesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworksNetworkInterfacesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces post unauthorized response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces post unauthorized response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces post unauthorized response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces post unauthorized response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces post unauthorized response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 networks network interfaces post unauthorized response +func (o *V1NetworksNetworkInterfacesPostUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworksNetworkInterfacesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPostForbidden creates a V1NetworksNetworkInterfacesPostForbidden with default headers values +func NewV1NetworksNetworkInterfacesPostForbidden() *V1NetworksNetworkInterfacesPostForbidden { + return &V1NetworksNetworkInterfacesPostForbidden{} +} + +/* +V1NetworksNetworkInterfacesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworksNetworkInterfacesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces post forbidden response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces post forbidden response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces post forbidden response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces post forbidden response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces post forbidden response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 networks network interfaces post forbidden response +func (o *V1NetworksNetworkInterfacesPostForbidden) Code() int { + return 403 +} + +func (o *V1NetworksNetworkInterfacesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPostNotFound creates a V1NetworksNetworkInterfacesPostNotFound with default headers values +func NewV1NetworksNetworkInterfacesPostNotFound() *V1NetworksNetworkInterfacesPostNotFound { + return &V1NetworksNetworkInterfacesPostNotFound{} +} + +/* +V1NetworksNetworkInterfacesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworksNetworkInterfacesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces post not found response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces post not found response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces post not found response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces post not found response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces post not found response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 networks network interfaces post not found response +func (o *V1NetworksNetworkInterfacesPostNotFound) Code() int { + return 404 +} + +func (o *V1NetworksNetworkInterfacesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPostConflict creates a V1NetworksNetworkInterfacesPostConflict with default headers values +func NewV1NetworksNetworkInterfacesPostConflict() *V1NetworksNetworkInterfacesPostConflict { + return &V1NetworksNetworkInterfacesPostConflict{} +} + +/* +V1NetworksNetworkInterfacesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1NetworksNetworkInterfacesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces post conflict response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces post conflict response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces post conflict response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces post conflict response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces post conflict response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 networks network interfaces post conflict response +func (o *V1NetworksNetworkInterfacesPostConflict) Code() int { + return 409 +} + +func (o *V1NetworksNetworkInterfacesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostConflict %s", 409, payload) +} + +func (o *V1NetworksNetworkInterfacesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostConflict %s", 409, payload) +} + +func (o *V1NetworksNetworkInterfacesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPostUnprocessableEntity creates a V1NetworksNetworkInterfacesPostUnprocessableEntity with default headers values +func NewV1NetworksNetworkInterfacesPostUnprocessableEntity() *V1NetworksNetworkInterfacesPostUnprocessableEntity { + return &V1NetworksNetworkInterfacesPostUnprocessableEntity{} +} + +/* +V1NetworksNetworkInterfacesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1NetworksNetworkInterfacesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces post unprocessable entity response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces post unprocessable entity response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces post unprocessable entity response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces post unprocessable entity response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces post unprocessable entity response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 networks network interfaces post unprocessable entity response +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPostInternalServerError creates a V1NetworksNetworkInterfacesPostInternalServerError with default headers values +func NewV1NetworksNetworkInterfacesPostInternalServerError() *V1NetworksNetworkInterfacesPostInternalServerError { + return &V1NetworksNetworkInterfacesPostInternalServerError{} +} + +/* +V1NetworksNetworkInterfacesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworksNetworkInterfacesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces post internal server error response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces post internal server error response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces post internal server error response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces post internal server error response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 networks network interfaces post internal server error response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 networks network interfaces post internal server error response +func (o *V1NetworksNetworkInterfacesPostInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworksNetworkInterfacesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/networks/{network_id}/network-interfaces][%d] v1NetworksNetworkInterfacesPostInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_put_parameters.go new file mode 100644 index 000000000..77e8d3d25 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1NetworksNetworkInterfacesPutParams creates a new V1NetworksNetworkInterfacesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1NetworksNetworkInterfacesPutParams() *V1NetworksNetworkInterfacesPutParams { + return &V1NetworksNetworkInterfacesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1NetworksNetworkInterfacesPutParamsWithTimeout creates a new V1NetworksNetworkInterfacesPutParams object +// with the ability to set a timeout on a request. +func NewV1NetworksNetworkInterfacesPutParamsWithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesPutParams { + return &V1NetworksNetworkInterfacesPutParams{ + timeout: timeout, + } +} + +// NewV1NetworksNetworkInterfacesPutParamsWithContext creates a new V1NetworksNetworkInterfacesPutParams object +// with the ability to set a context for a request. +func NewV1NetworksNetworkInterfacesPutParamsWithContext(ctx context.Context) *V1NetworksNetworkInterfacesPutParams { + return &V1NetworksNetworkInterfacesPutParams{ + Context: ctx, + } +} + +// NewV1NetworksNetworkInterfacesPutParamsWithHTTPClient creates a new V1NetworksNetworkInterfacesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1NetworksNetworkInterfacesPutParamsWithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesPutParams { + return &V1NetworksNetworkInterfacesPutParams{ + HTTPClient: client, + } +} + +/* +V1NetworksNetworkInterfacesPutParams contains all the parameters to send to the API endpoint + + for the v1 networks network interfaces put operation. + + Typically these are written to a http.Request. +*/ +type V1NetworksNetworkInterfacesPutParams struct { + + /* Body. + + Parameters for updating a Network Interface + */ + Body *models.NetworkInterfaceUpdate + + /* NetworkID. + + Network ID + */ + NetworkID string + + /* NetworkInterfaceID. + + Network Interface ID + */ + NetworkInterfaceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 networks network interfaces put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesPutParams) WithDefaults() *V1NetworksNetworkInterfacesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 networks network interfaces put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1NetworksNetworkInterfacesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) WithTimeout(timeout time.Duration) *V1NetworksNetworkInterfacesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) WithContext(ctx context.Context) *V1NetworksNetworkInterfacesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) WithHTTPClient(client *http.Client) *V1NetworksNetworkInterfacesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) WithBody(body *models.NetworkInterfaceUpdate) *V1NetworksNetworkInterfacesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) SetBody(body *models.NetworkInterfaceUpdate) { + o.Body = body +} + +// WithNetworkID adds the networkID to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) WithNetworkID(networkID string) *V1NetworksNetworkInterfacesPutParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WithNetworkInterfaceID adds the networkInterfaceID to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) WithNetworkInterfaceID(networkInterfaceID string) *V1NetworksNetworkInterfacesPutParams { + o.SetNetworkInterfaceID(networkInterfaceID) + return o +} + +// SetNetworkInterfaceID adds the networkInterfaceId to the v1 networks network interfaces put params +func (o *V1NetworksNetworkInterfacesPutParams) SetNetworkInterfaceID(networkInterfaceID string) { + o.NetworkInterfaceID = networkInterfaceID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1NetworksNetworkInterfacesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + // path param network_interface_id + if err := r.SetPathParam("network_interface_id", o.NetworkInterfaceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_put_responses.go new file mode 100644 index 000000000..55d724fa5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/networks/v1_networks_network_interfaces_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1NetworksNetworkInterfacesPutReader is a Reader for the V1NetworksNetworkInterfacesPut structure. +type V1NetworksNetworkInterfacesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1NetworksNetworkInterfacesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1NetworksNetworkInterfacesPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1NetworksNetworkInterfacesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1NetworksNetworkInterfacesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1NetworksNetworkInterfacesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1NetworksNetworkInterfacesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1NetworksNetworkInterfacesPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1NetworksNetworkInterfacesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}] v1.networks.network-interfaces.put", response, response.Code()) + } +} + +// NewV1NetworksNetworkInterfacesPutOK creates a V1NetworksNetworkInterfacesPutOK with default headers values +func NewV1NetworksNetworkInterfacesPutOK() *V1NetworksNetworkInterfacesPutOK { + return &V1NetworksNetworkInterfacesPutOK{} +} + +/* +V1NetworksNetworkInterfacesPutOK describes a response with status code 200, with default header values. + +OK +*/ +type V1NetworksNetworkInterfacesPutOK struct { + Payload *models.NetworkInterface +} + +// IsSuccess returns true when this v1 networks network interfaces put o k response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 networks network interfaces put o k response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces put o k response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces put o k response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces put o k response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 networks network interfaces put o k response +func (o *V1NetworksNetworkInterfacesPutOK) Code() int { + return 200 +} + +func (o *V1NetworksNetworkInterfacesPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutOK %s", 200, payload) +} + +func (o *V1NetworksNetworkInterfacesPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutOK %s", 200, payload) +} + +func (o *V1NetworksNetworkInterfacesPutOK) GetPayload() *models.NetworkInterface { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkInterface) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPutBadRequest creates a V1NetworksNetworkInterfacesPutBadRequest with default headers values +func NewV1NetworksNetworkInterfacesPutBadRequest() *V1NetworksNetworkInterfacesPutBadRequest { + return &V1NetworksNetworkInterfacesPutBadRequest{} +} + +/* +V1NetworksNetworkInterfacesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1NetworksNetworkInterfacesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces put bad request response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces put bad request response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces put bad request response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces put bad request response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces put bad request response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 networks network interfaces put bad request response +func (o *V1NetworksNetworkInterfacesPutBadRequest) Code() int { + return 400 +} + +func (o *V1NetworksNetworkInterfacesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutBadRequest %s", 400, payload) +} + +func (o *V1NetworksNetworkInterfacesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPutUnauthorized creates a V1NetworksNetworkInterfacesPutUnauthorized with default headers values +func NewV1NetworksNetworkInterfacesPutUnauthorized() *V1NetworksNetworkInterfacesPutUnauthorized { + return &V1NetworksNetworkInterfacesPutUnauthorized{} +} + +/* +V1NetworksNetworkInterfacesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1NetworksNetworkInterfacesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces put unauthorized response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces put unauthorized response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces put unauthorized response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces put unauthorized response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces put unauthorized response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 networks network interfaces put unauthorized response +func (o *V1NetworksNetworkInterfacesPutUnauthorized) Code() int { + return 401 +} + +func (o *V1NetworksNetworkInterfacesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutUnauthorized %s", 401, payload) +} + +func (o *V1NetworksNetworkInterfacesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPutForbidden creates a V1NetworksNetworkInterfacesPutForbidden with default headers values +func NewV1NetworksNetworkInterfacesPutForbidden() *V1NetworksNetworkInterfacesPutForbidden { + return &V1NetworksNetworkInterfacesPutForbidden{} +} + +/* +V1NetworksNetworkInterfacesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1NetworksNetworkInterfacesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces put forbidden response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces put forbidden response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces put forbidden response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces put forbidden response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces put forbidden response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 networks network interfaces put forbidden response +func (o *V1NetworksNetworkInterfacesPutForbidden) Code() int { + return 403 +} + +func (o *V1NetworksNetworkInterfacesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutForbidden %s", 403, payload) +} + +func (o *V1NetworksNetworkInterfacesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPutNotFound creates a V1NetworksNetworkInterfacesPutNotFound with default headers values +func NewV1NetworksNetworkInterfacesPutNotFound() *V1NetworksNetworkInterfacesPutNotFound { + return &V1NetworksNetworkInterfacesPutNotFound{} +} + +/* +V1NetworksNetworkInterfacesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1NetworksNetworkInterfacesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces put not found response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces put not found response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces put not found response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces put not found response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces put not found response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 networks network interfaces put not found response +func (o *V1NetworksNetworkInterfacesPutNotFound) Code() int { + return 404 +} + +func (o *V1NetworksNetworkInterfacesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutNotFound %s", 404, payload) +} + +func (o *V1NetworksNetworkInterfacesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPutUnprocessableEntity creates a V1NetworksNetworkInterfacesPutUnprocessableEntity with default headers values +func NewV1NetworksNetworkInterfacesPutUnprocessableEntity() *V1NetworksNetworkInterfacesPutUnprocessableEntity { + return &V1NetworksNetworkInterfacesPutUnprocessableEntity{} +} + +/* +V1NetworksNetworkInterfacesPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1NetworksNetworkInterfacesPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces put unprocessable entity response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces put unprocessable entity response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces put unprocessable entity response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 networks network interfaces put unprocessable entity response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 networks network interfaces put unprocessable entity response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 networks network interfaces put unprocessable entity response +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutUnprocessableEntity %s", 422, payload) +} + +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1NetworksNetworkInterfacesPutInternalServerError creates a V1NetworksNetworkInterfacesPutInternalServerError with default headers values +func NewV1NetworksNetworkInterfacesPutInternalServerError() *V1NetworksNetworkInterfacesPutInternalServerError { + return &V1NetworksNetworkInterfacesPutInternalServerError{} +} + +/* +V1NetworksNetworkInterfacesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1NetworksNetworkInterfacesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 networks network interfaces put internal server error response has a 2xx status code +func (o *V1NetworksNetworkInterfacesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 networks network interfaces put internal server error response has a 3xx status code +func (o *V1NetworksNetworkInterfacesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 networks network interfaces put internal server error response has a 4xx status code +func (o *V1NetworksNetworkInterfacesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 networks network interfaces put internal server error response has a 5xx status code +func (o *V1NetworksNetworkInterfacesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 networks network interfaces put internal server error response a status code equal to that given +func (o *V1NetworksNetworkInterfacesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 networks network interfaces put internal server error response +func (o *V1NetworksNetworkInterfacesPutInternalServerError) Code() int { + return 500 +} + +func (o *V1NetworksNetworkInterfacesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/networks/{network_id}/network-interfaces/{network_interface_id}][%d] v1NetworksNetworkInterfacesPutInternalServerError %s", 500, payload) +} + +func (o *V1NetworksNetworkInterfacesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1NetworksNetworkInterfacesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/open_stacks_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/open_stacks_client.go new file mode 100644 index 000000000..96e612046 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/open_stacks_client.go @@ -0,0 +1,295 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new open stacks API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new open stacks API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new open stacks API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for open stacks API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + ServiceBrokerOpenstacksGet(params *ServiceBrokerOpenstacksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksGetOK, error) + + ServiceBrokerOpenstacksHostsGet(params *ServiceBrokerOpenstacksHostsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksHostsGetOK, error) + + ServiceBrokerOpenstacksOpenstackGet(params *ServiceBrokerOpenstacksOpenstackGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksOpenstackGetOK, error) + + ServiceBrokerOpenstacksPost(params *ServiceBrokerOpenstacksPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksPostOK, *ServiceBrokerOpenstacksPostCreated, error) + + ServiceBrokerOpenstacksServersGet(params *ServiceBrokerOpenstacksServersGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksServersGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +ServiceBrokerOpenstacksGet lists all open stack instances being managed +*/ +func (a *Client) ServiceBrokerOpenstacksGet(params *ServiceBrokerOpenstacksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerOpenstacksGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.openstacks.get", + Method: "GET", + PathPattern: "/broker/v1/openstacks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerOpenstacksGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerOpenstacksGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.openstacks.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerOpenstacksHostsGet lists account information for all pvm instances on hostname +*/ +func (a *Client) ServiceBrokerOpenstacksHostsGet(params *ServiceBrokerOpenstacksHostsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksHostsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerOpenstacksHostsGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.openstacks.hosts.get", + Method: "GET", + PathPattern: "/broker/v1/openstacks/{openstack_id}/hosts/{hostname}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerOpenstacksHostsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerOpenstacksHostsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.openstacks.hosts.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerOpenstacksOpenstackGet lists account information for all pvm instances on hostname +*/ +func (a *Client) ServiceBrokerOpenstacksOpenstackGet(params *ServiceBrokerOpenstacksOpenstackGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksOpenstackGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerOpenstacksOpenstackGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.openstacks.openstack.get", + Method: "GET", + PathPattern: "/broker/v1/openstacks/{openstack_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerOpenstacksOpenstackGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerOpenstacksOpenstackGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.openstacks.openstack.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerOpenstacksPost creates a new open stack instance to be managed +*/ +func (a *Client) ServiceBrokerOpenstacksPost(params *ServiceBrokerOpenstacksPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksPostOK, *ServiceBrokerOpenstacksPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerOpenstacksPostParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.openstacks.post", + Method: "POST", + PathPattern: "/broker/v1/openstacks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerOpenstacksPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *ServiceBrokerOpenstacksPostOK: + return value, nil, nil + case *ServiceBrokerOpenstacksPostCreated: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for open_stacks: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBrokerOpenstacksServersGet lists account information for a pvm instance +*/ +func (a *Client) ServiceBrokerOpenstacksServersGet(params *ServiceBrokerOpenstacksServersGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBrokerOpenstacksServersGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerOpenstacksServersGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.openstacks.servers.get", + Method: "GET", + PathPattern: "/broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerOpenstacksServersGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerOpenstacksServersGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.openstacks.servers.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_get_parameters.go new file mode 100644 index 000000000..9ea71faef --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_get_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerOpenstacksGetParams creates a new ServiceBrokerOpenstacksGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerOpenstacksGetParams() *ServiceBrokerOpenstacksGetParams { + return &ServiceBrokerOpenstacksGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerOpenstacksGetParamsWithTimeout creates a new ServiceBrokerOpenstacksGetParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerOpenstacksGetParamsWithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksGetParams { + return &ServiceBrokerOpenstacksGetParams{ + timeout: timeout, + } +} + +// NewServiceBrokerOpenstacksGetParamsWithContext creates a new ServiceBrokerOpenstacksGetParams object +// with the ability to set a context for a request. +func NewServiceBrokerOpenstacksGetParamsWithContext(ctx context.Context) *ServiceBrokerOpenstacksGetParams { + return &ServiceBrokerOpenstacksGetParams{ + Context: ctx, + } +} + +// NewServiceBrokerOpenstacksGetParamsWithHTTPClient creates a new ServiceBrokerOpenstacksGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerOpenstacksGetParamsWithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksGetParams { + return &ServiceBrokerOpenstacksGetParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerOpenstacksGetParams contains all the parameters to send to the API endpoint + + for the service broker openstacks get operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerOpenstacksGetParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker openstacks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksGetParams) WithDefaults() *ServiceBrokerOpenstacksGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker openstacks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker openstacks get params +func (o *ServiceBrokerOpenstacksGetParams) WithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker openstacks get params +func (o *ServiceBrokerOpenstacksGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker openstacks get params +func (o *ServiceBrokerOpenstacksGetParams) WithContext(ctx context.Context) *ServiceBrokerOpenstacksGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker openstacks get params +func (o *ServiceBrokerOpenstacksGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker openstacks get params +func (o *ServiceBrokerOpenstacksGetParams) WithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker openstacks get params +func (o *ServiceBrokerOpenstacksGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerOpenstacksGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_get_responses.go new file mode 100644 index 000000000..2752eddee --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerOpenstacksGetReader is a Reader for the ServiceBrokerOpenstacksGet structure. +type ServiceBrokerOpenstacksGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerOpenstacksGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerOpenstacksGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerOpenstacksGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerOpenstacksGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerOpenstacksGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerOpenstacksGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerOpenstacksGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/openstacks] serviceBroker.openstacks.get", response, response.Code()) + } +} + +// NewServiceBrokerOpenstacksGetOK creates a ServiceBrokerOpenstacksGetOK with default headers values +func NewServiceBrokerOpenstacksGetOK() *ServiceBrokerOpenstacksGetOK { + return &ServiceBrokerOpenstacksGetOK{} +} + +/* +ServiceBrokerOpenstacksGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerOpenstacksGetOK struct { + Payload *models.OpenStacks +} + +// IsSuccess returns true when this service broker openstacks get o k response has a 2xx status code +func (o *ServiceBrokerOpenstacksGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker openstacks get o k response has a 3xx status code +func (o *ServiceBrokerOpenstacksGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks get o k response has a 4xx status code +func (o *ServiceBrokerOpenstacksGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks get o k response has a 5xx status code +func (o *ServiceBrokerOpenstacksGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks get o k response a status code equal to that given +func (o *ServiceBrokerOpenstacksGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker openstacks get o k response +func (o *ServiceBrokerOpenstacksGetOK) Code() int { + return 200 +} + +func (o *ServiceBrokerOpenstacksGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksGetOK) GetPayload() *models.OpenStacks { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.OpenStacks) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksGetBadRequest creates a ServiceBrokerOpenstacksGetBadRequest with default headers values +func NewServiceBrokerOpenstacksGetBadRequest() *ServiceBrokerOpenstacksGetBadRequest { + return &ServiceBrokerOpenstacksGetBadRequest{} +} + +/* +ServiceBrokerOpenstacksGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerOpenstacksGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks get bad request response has a 2xx status code +func (o *ServiceBrokerOpenstacksGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks get bad request response has a 3xx status code +func (o *ServiceBrokerOpenstacksGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks get bad request response has a 4xx status code +func (o *ServiceBrokerOpenstacksGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks get bad request response has a 5xx status code +func (o *ServiceBrokerOpenstacksGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks get bad request response a status code equal to that given +func (o *ServiceBrokerOpenstacksGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker openstacks get bad request response +func (o *ServiceBrokerOpenstacksGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerOpenstacksGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksGetUnauthorized creates a ServiceBrokerOpenstacksGetUnauthorized with default headers values +func NewServiceBrokerOpenstacksGetUnauthorized() *ServiceBrokerOpenstacksGetUnauthorized { + return &ServiceBrokerOpenstacksGetUnauthorized{} +} + +/* +ServiceBrokerOpenstacksGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerOpenstacksGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks get unauthorized response has a 2xx status code +func (o *ServiceBrokerOpenstacksGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks get unauthorized response has a 3xx status code +func (o *ServiceBrokerOpenstacksGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks get unauthorized response has a 4xx status code +func (o *ServiceBrokerOpenstacksGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks get unauthorized response has a 5xx status code +func (o *ServiceBrokerOpenstacksGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks get unauthorized response a status code equal to that given +func (o *ServiceBrokerOpenstacksGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker openstacks get unauthorized response +func (o *ServiceBrokerOpenstacksGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerOpenstacksGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerOpenstacksGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerOpenstacksGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksGetForbidden creates a ServiceBrokerOpenstacksGetForbidden with default headers values +func NewServiceBrokerOpenstacksGetForbidden() *ServiceBrokerOpenstacksGetForbidden { + return &ServiceBrokerOpenstacksGetForbidden{} +} + +/* +ServiceBrokerOpenstacksGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerOpenstacksGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks get forbidden response has a 2xx status code +func (o *ServiceBrokerOpenstacksGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks get forbidden response has a 3xx status code +func (o *ServiceBrokerOpenstacksGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks get forbidden response has a 4xx status code +func (o *ServiceBrokerOpenstacksGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks get forbidden response has a 5xx status code +func (o *ServiceBrokerOpenstacksGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks get forbidden response a status code equal to that given +func (o *ServiceBrokerOpenstacksGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker openstacks get forbidden response +func (o *ServiceBrokerOpenstacksGetForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerOpenstacksGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerOpenstacksGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerOpenstacksGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksGetNotFound creates a ServiceBrokerOpenstacksGetNotFound with default headers values +func NewServiceBrokerOpenstacksGetNotFound() *ServiceBrokerOpenstacksGetNotFound { + return &ServiceBrokerOpenstacksGetNotFound{} +} + +/* +ServiceBrokerOpenstacksGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerOpenstacksGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks get not found response has a 2xx status code +func (o *ServiceBrokerOpenstacksGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks get not found response has a 3xx status code +func (o *ServiceBrokerOpenstacksGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks get not found response has a 4xx status code +func (o *ServiceBrokerOpenstacksGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks get not found response has a 5xx status code +func (o *ServiceBrokerOpenstacksGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks get not found response a status code equal to that given +func (o *ServiceBrokerOpenstacksGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker openstacks get not found response +func (o *ServiceBrokerOpenstacksGetNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerOpenstacksGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksGetInternalServerError creates a ServiceBrokerOpenstacksGetInternalServerError with default headers values +func NewServiceBrokerOpenstacksGetInternalServerError() *ServiceBrokerOpenstacksGetInternalServerError { + return &ServiceBrokerOpenstacksGetInternalServerError{} +} + +/* +ServiceBrokerOpenstacksGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerOpenstacksGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks get internal server error response has a 2xx status code +func (o *ServiceBrokerOpenstacksGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks get internal server error response has a 3xx status code +func (o *ServiceBrokerOpenstacksGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks get internal server error response has a 4xx status code +func (o *ServiceBrokerOpenstacksGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks get internal server error response has a 5xx status code +func (o *ServiceBrokerOpenstacksGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker openstacks get internal server error response a status code equal to that given +func (o *ServiceBrokerOpenstacksGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker openstacks get internal server error response +func (o *ServiceBrokerOpenstacksGetInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerOpenstacksGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks][%d] serviceBrokerOpenstacksGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_hosts_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_hosts_get_parameters.go new file mode 100644 index 000000000..0e25e3711 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_hosts_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerOpenstacksHostsGetParams creates a new ServiceBrokerOpenstacksHostsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerOpenstacksHostsGetParams() *ServiceBrokerOpenstacksHostsGetParams { + return &ServiceBrokerOpenstacksHostsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerOpenstacksHostsGetParamsWithTimeout creates a new ServiceBrokerOpenstacksHostsGetParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerOpenstacksHostsGetParamsWithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksHostsGetParams { + return &ServiceBrokerOpenstacksHostsGetParams{ + timeout: timeout, + } +} + +// NewServiceBrokerOpenstacksHostsGetParamsWithContext creates a new ServiceBrokerOpenstacksHostsGetParams object +// with the ability to set a context for a request. +func NewServiceBrokerOpenstacksHostsGetParamsWithContext(ctx context.Context) *ServiceBrokerOpenstacksHostsGetParams { + return &ServiceBrokerOpenstacksHostsGetParams{ + Context: ctx, + } +} + +// NewServiceBrokerOpenstacksHostsGetParamsWithHTTPClient creates a new ServiceBrokerOpenstacksHostsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerOpenstacksHostsGetParamsWithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksHostsGetParams { + return &ServiceBrokerOpenstacksHostsGetParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerOpenstacksHostsGetParams contains all the parameters to send to the API endpoint + + for the service broker openstacks hosts get operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerOpenstacksHostsGetParams struct { + + /* Hostname. + + Hostname + */ + Hostname string + + /* OpenstackID. + + Openstack ID + */ + OpenstackID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker openstacks hosts get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksHostsGetParams) WithDefaults() *ServiceBrokerOpenstacksHostsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker openstacks hosts get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksHostsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) WithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksHostsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) WithContext(ctx context.Context) *ServiceBrokerOpenstacksHostsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) WithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksHostsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithHostname adds the hostname to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) WithHostname(hostname string) *ServiceBrokerOpenstacksHostsGetParams { + o.SetHostname(hostname) + return o +} + +// SetHostname adds the hostname to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) SetHostname(hostname string) { + o.Hostname = hostname +} + +// WithOpenstackID adds the openstackID to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) WithOpenstackID(openstackID string) *ServiceBrokerOpenstacksHostsGetParams { + o.SetOpenstackID(openstackID) + return o +} + +// SetOpenstackID adds the openstackId to the service broker openstacks hosts get params +func (o *ServiceBrokerOpenstacksHostsGetParams) SetOpenstackID(openstackID string) { + o.OpenstackID = openstackID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerOpenstacksHostsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param hostname + if err := r.SetPathParam("hostname", o.Hostname); err != nil { + return err + } + + // path param openstack_id + if err := r.SetPathParam("openstack_id", o.OpenstackID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_hosts_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_hosts_get_responses.go new file mode 100644 index 000000000..468da71dc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_hosts_get_responses.go @@ -0,0 +1,335 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerOpenstacksHostsGetReader is a Reader for the ServiceBrokerOpenstacksHostsGet structure. +type ServiceBrokerOpenstacksHostsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerOpenstacksHostsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerOpenstacksHostsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerOpenstacksHostsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerOpenstacksHostsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerOpenstacksHostsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}] serviceBroker.openstacks.hosts.get", response, response.Code()) + } +} + +// NewServiceBrokerOpenstacksHostsGetOK creates a ServiceBrokerOpenstacksHostsGetOK with default headers values +func NewServiceBrokerOpenstacksHostsGetOK() *ServiceBrokerOpenstacksHostsGetOK { + return &ServiceBrokerOpenstacksHostsGetOK{} +} + +/* +ServiceBrokerOpenstacksHostsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerOpenstacksHostsGetOK struct { + Payload *models.HostInfo +} + +// IsSuccess returns true when this service broker openstacks hosts get o k response has a 2xx status code +func (o *ServiceBrokerOpenstacksHostsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker openstacks hosts get o k response has a 3xx status code +func (o *ServiceBrokerOpenstacksHostsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks hosts get o k response has a 4xx status code +func (o *ServiceBrokerOpenstacksHostsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks hosts get o k response has a 5xx status code +func (o *ServiceBrokerOpenstacksHostsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks hosts get o k response a status code equal to that given +func (o *ServiceBrokerOpenstacksHostsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker openstacks hosts get o k response +func (o *ServiceBrokerOpenstacksHostsGetOK) Code() int { + return 200 +} + +func (o *ServiceBrokerOpenstacksHostsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}][%d] serviceBrokerOpenstacksHostsGetOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksHostsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}][%d] serviceBrokerOpenstacksHostsGetOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksHostsGetOK) GetPayload() *models.HostInfo { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksHostsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.HostInfo) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksHostsGetBadRequest creates a ServiceBrokerOpenstacksHostsGetBadRequest with default headers values +func NewServiceBrokerOpenstacksHostsGetBadRequest() *ServiceBrokerOpenstacksHostsGetBadRequest { + return &ServiceBrokerOpenstacksHostsGetBadRequest{} +} + +/* +ServiceBrokerOpenstacksHostsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerOpenstacksHostsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks hosts get bad request response has a 2xx status code +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks hosts get bad request response has a 3xx status code +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks hosts get bad request response has a 4xx status code +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks hosts get bad request response has a 5xx status code +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks hosts get bad request response a status code equal to that given +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker openstacks hosts get bad request response +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}][%d] serviceBrokerOpenstacksHostsGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}][%d] serviceBrokerOpenstacksHostsGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksHostsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksHostsGetNotFound creates a ServiceBrokerOpenstacksHostsGetNotFound with default headers values +func NewServiceBrokerOpenstacksHostsGetNotFound() *ServiceBrokerOpenstacksHostsGetNotFound { + return &ServiceBrokerOpenstacksHostsGetNotFound{} +} + +/* +ServiceBrokerOpenstacksHostsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerOpenstacksHostsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks hosts get not found response has a 2xx status code +func (o *ServiceBrokerOpenstacksHostsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks hosts get not found response has a 3xx status code +func (o *ServiceBrokerOpenstacksHostsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks hosts get not found response has a 4xx status code +func (o *ServiceBrokerOpenstacksHostsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks hosts get not found response has a 5xx status code +func (o *ServiceBrokerOpenstacksHostsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks hosts get not found response a status code equal to that given +func (o *ServiceBrokerOpenstacksHostsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker openstacks hosts get not found response +func (o *ServiceBrokerOpenstacksHostsGetNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerOpenstacksHostsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}][%d] serviceBrokerOpenstacksHostsGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksHostsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}][%d] serviceBrokerOpenstacksHostsGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksHostsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksHostsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksHostsGetInternalServerError creates a ServiceBrokerOpenstacksHostsGetInternalServerError with default headers values +func NewServiceBrokerOpenstacksHostsGetInternalServerError() *ServiceBrokerOpenstacksHostsGetInternalServerError { + return &ServiceBrokerOpenstacksHostsGetInternalServerError{} +} + +/* +ServiceBrokerOpenstacksHostsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerOpenstacksHostsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks hosts get internal server error response has a 2xx status code +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks hosts get internal server error response has a 3xx status code +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks hosts get internal server error response has a 4xx status code +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks hosts get internal server error response has a 5xx status code +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker openstacks hosts get internal server error response a status code equal to that given +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker openstacks hosts get internal server error response +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}][%d] serviceBrokerOpenstacksHostsGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/hosts/{hostname}][%d] serviceBrokerOpenstacksHostsGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksHostsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_openstack_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_openstack_get_parameters.go new file mode 100644 index 000000000..e3b228af5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_openstack_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerOpenstacksOpenstackGetParams creates a new ServiceBrokerOpenstacksOpenstackGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerOpenstacksOpenstackGetParams() *ServiceBrokerOpenstacksOpenstackGetParams { + return &ServiceBrokerOpenstacksOpenstackGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerOpenstacksOpenstackGetParamsWithTimeout creates a new ServiceBrokerOpenstacksOpenstackGetParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerOpenstacksOpenstackGetParamsWithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksOpenstackGetParams { + return &ServiceBrokerOpenstacksOpenstackGetParams{ + timeout: timeout, + } +} + +// NewServiceBrokerOpenstacksOpenstackGetParamsWithContext creates a new ServiceBrokerOpenstacksOpenstackGetParams object +// with the ability to set a context for a request. +func NewServiceBrokerOpenstacksOpenstackGetParamsWithContext(ctx context.Context) *ServiceBrokerOpenstacksOpenstackGetParams { + return &ServiceBrokerOpenstacksOpenstackGetParams{ + Context: ctx, + } +} + +// NewServiceBrokerOpenstacksOpenstackGetParamsWithHTTPClient creates a new ServiceBrokerOpenstacksOpenstackGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerOpenstacksOpenstackGetParamsWithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksOpenstackGetParams { + return &ServiceBrokerOpenstacksOpenstackGetParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerOpenstacksOpenstackGetParams contains all the parameters to send to the API endpoint + + for the service broker openstacks openstack get operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerOpenstacksOpenstackGetParams struct { + + /* OpenstackID. + + Openstack ID + */ + OpenstackID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker openstacks openstack get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksOpenstackGetParams) WithDefaults() *ServiceBrokerOpenstacksOpenstackGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker openstacks openstack get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksOpenstackGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker openstacks openstack get params +func (o *ServiceBrokerOpenstacksOpenstackGetParams) WithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksOpenstackGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker openstacks openstack get params +func (o *ServiceBrokerOpenstacksOpenstackGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker openstacks openstack get params +func (o *ServiceBrokerOpenstacksOpenstackGetParams) WithContext(ctx context.Context) *ServiceBrokerOpenstacksOpenstackGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker openstacks openstack get params +func (o *ServiceBrokerOpenstacksOpenstackGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker openstacks openstack get params +func (o *ServiceBrokerOpenstacksOpenstackGetParams) WithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksOpenstackGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker openstacks openstack get params +func (o *ServiceBrokerOpenstacksOpenstackGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithOpenstackID adds the openstackID to the service broker openstacks openstack get params +func (o *ServiceBrokerOpenstacksOpenstackGetParams) WithOpenstackID(openstackID string) *ServiceBrokerOpenstacksOpenstackGetParams { + o.SetOpenstackID(openstackID) + return o +} + +// SetOpenstackID adds the openstackId to the service broker openstacks openstack get params +func (o *ServiceBrokerOpenstacksOpenstackGetParams) SetOpenstackID(openstackID string) { + o.OpenstackID = openstackID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerOpenstacksOpenstackGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param openstack_id + if err := r.SetPathParam("openstack_id", o.OpenstackID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_openstack_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_openstack_get_responses.go new file mode 100644 index 000000000..0aa97f3c0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_openstack_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerOpenstacksOpenstackGetReader is a Reader for the ServiceBrokerOpenstacksOpenstackGet structure. +type ServiceBrokerOpenstacksOpenstackGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerOpenstacksOpenstackGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerOpenstacksOpenstackGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerOpenstacksOpenstackGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerOpenstacksOpenstackGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerOpenstacksOpenstackGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerOpenstacksOpenstackGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerOpenstacksOpenstackGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/openstacks/{openstack_id}] serviceBroker.openstacks.openstack.get", response, response.Code()) + } +} + +// NewServiceBrokerOpenstacksOpenstackGetOK creates a ServiceBrokerOpenstacksOpenstackGetOK with default headers values +func NewServiceBrokerOpenstacksOpenstackGetOK() *ServiceBrokerOpenstacksOpenstackGetOK { + return &ServiceBrokerOpenstacksOpenstackGetOK{} +} + +/* +ServiceBrokerOpenstacksOpenstackGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerOpenstacksOpenstackGetOK struct { + Payload *models.OpenStackInfo +} + +// IsSuccess returns true when this service broker openstacks openstack get o k response has a 2xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker openstacks openstack get o k response has a 3xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks openstack get o k response has a 4xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks openstack get o k response has a 5xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks openstack get o k response a status code equal to that given +func (o *ServiceBrokerOpenstacksOpenstackGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker openstacks openstack get o k response +func (o *ServiceBrokerOpenstacksOpenstackGetOK) Code() int { + return 200 +} + +func (o *ServiceBrokerOpenstacksOpenstackGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetOK) GetPayload() *models.OpenStackInfo { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksOpenstackGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.OpenStackInfo) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksOpenstackGetBadRequest creates a ServiceBrokerOpenstacksOpenstackGetBadRequest with default headers values +func NewServiceBrokerOpenstacksOpenstackGetBadRequest() *ServiceBrokerOpenstacksOpenstackGetBadRequest { + return &ServiceBrokerOpenstacksOpenstackGetBadRequest{} +} + +/* +ServiceBrokerOpenstacksOpenstackGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerOpenstacksOpenstackGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks openstack get bad request response has a 2xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks openstack get bad request response has a 3xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks openstack get bad request response has a 4xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks openstack get bad request response has a 5xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks openstack get bad request response a status code equal to that given +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker openstacks openstack get bad request response +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksOpenstackGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksOpenstackGetUnauthorized creates a ServiceBrokerOpenstacksOpenstackGetUnauthorized with default headers values +func NewServiceBrokerOpenstacksOpenstackGetUnauthorized() *ServiceBrokerOpenstacksOpenstackGetUnauthorized { + return &ServiceBrokerOpenstacksOpenstackGetUnauthorized{} +} + +/* +ServiceBrokerOpenstacksOpenstackGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerOpenstacksOpenstackGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks openstack get unauthorized response has a 2xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks openstack get unauthorized response has a 3xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks openstack get unauthorized response has a 4xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks openstack get unauthorized response has a 5xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks openstack get unauthorized response a status code equal to that given +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker openstacks openstack get unauthorized response +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksOpenstackGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksOpenstackGetForbidden creates a ServiceBrokerOpenstacksOpenstackGetForbidden with default headers values +func NewServiceBrokerOpenstacksOpenstackGetForbidden() *ServiceBrokerOpenstacksOpenstackGetForbidden { + return &ServiceBrokerOpenstacksOpenstackGetForbidden{} +} + +/* +ServiceBrokerOpenstacksOpenstackGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerOpenstacksOpenstackGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks openstack get forbidden response has a 2xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks openstack get forbidden response has a 3xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks openstack get forbidden response has a 4xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks openstack get forbidden response has a 5xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks openstack get forbidden response a status code equal to that given +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker openstacks openstack get forbidden response +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksOpenstackGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksOpenstackGetNotFound creates a ServiceBrokerOpenstacksOpenstackGetNotFound with default headers values +func NewServiceBrokerOpenstacksOpenstackGetNotFound() *ServiceBrokerOpenstacksOpenstackGetNotFound { + return &ServiceBrokerOpenstacksOpenstackGetNotFound{} +} + +/* +ServiceBrokerOpenstacksOpenstackGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerOpenstacksOpenstackGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks openstack get not found response has a 2xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks openstack get not found response has a 3xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks openstack get not found response has a 4xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks openstack get not found response has a 5xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks openstack get not found response a status code equal to that given +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker openstacks openstack get not found response +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksOpenstackGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksOpenstackGetInternalServerError creates a ServiceBrokerOpenstacksOpenstackGetInternalServerError with default headers values +func NewServiceBrokerOpenstacksOpenstackGetInternalServerError() *ServiceBrokerOpenstacksOpenstackGetInternalServerError { + return &ServiceBrokerOpenstacksOpenstackGetInternalServerError{} +} + +/* +ServiceBrokerOpenstacksOpenstackGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerOpenstacksOpenstackGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks openstack get internal server error response has a 2xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks openstack get internal server error response has a 3xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks openstack get internal server error response has a 4xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks openstack get internal server error response has a 5xx status code +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker openstacks openstack get internal server error response a status code equal to that given +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker openstacks openstack get internal server error response +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}][%d] serviceBrokerOpenstacksOpenstackGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksOpenstackGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_post_parameters.go new file mode 100644 index 000000000..3b9a54f62 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewServiceBrokerOpenstacksPostParams creates a new ServiceBrokerOpenstacksPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerOpenstacksPostParams() *ServiceBrokerOpenstacksPostParams { + return &ServiceBrokerOpenstacksPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerOpenstacksPostParamsWithTimeout creates a new ServiceBrokerOpenstacksPostParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerOpenstacksPostParamsWithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksPostParams { + return &ServiceBrokerOpenstacksPostParams{ + timeout: timeout, + } +} + +// NewServiceBrokerOpenstacksPostParamsWithContext creates a new ServiceBrokerOpenstacksPostParams object +// with the ability to set a context for a request. +func NewServiceBrokerOpenstacksPostParamsWithContext(ctx context.Context) *ServiceBrokerOpenstacksPostParams { + return &ServiceBrokerOpenstacksPostParams{ + Context: ctx, + } +} + +// NewServiceBrokerOpenstacksPostParamsWithHTTPClient creates a new ServiceBrokerOpenstacksPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerOpenstacksPostParamsWithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksPostParams { + return &ServiceBrokerOpenstacksPostParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerOpenstacksPostParams contains all the parameters to send to the API endpoint + + for the service broker openstacks post operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerOpenstacksPostParams struct { + + /* Body. + + Parameters for the creation of a new Open Stack Instance + */ + Body *models.OpenStackCreate + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker openstacks post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksPostParams) WithDefaults() *ServiceBrokerOpenstacksPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker openstacks post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker openstacks post params +func (o *ServiceBrokerOpenstacksPostParams) WithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker openstacks post params +func (o *ServiceBrokerOpenstacksPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker openstacks post params +func (o *ServiceBrokerOpenstacksPostParams) WithContext(ctx context.Context) *ServiceBrokerOpenstacksPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker openstacks post params +func (o *ServiceBrokerOpenstacksPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker openstacks post params +func (o *ServiceBrokerOpenstacksPostParams) WithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker openstacks post params +func (o *ServiceBrokerOpenstacksPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the service broker openstacks post params +func (o *ServiceBrokerOpenstacksPostParams) WithBody(body *models.OpenStackCreate) *ServiceBrokerOpenstacksPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the service broker openstacks post params +func (o *ServiceBrokerOpenstacksPostParams) SetBody(body *models.OpenStackCreate) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerOpenstacksPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_post_responses.go new file mode 100644 index 000000000..f7d8c51fd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_post_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerOpenstacksPostReader is a Reader for the ServiceBrokerOpenstacksPost structure. +type ServiceBrokerOpenstacksPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerOpenstacksPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerOpenstacksPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewServiceBrokerOpenstacksPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerOpenstacksPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerOpenstacksPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerOpenstacksPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerOpenstacksPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewServiceBrokerOpenstacksPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewServiceBrokerOpenstacksPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerOpenstacksPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /broker/v1/openstacks] serviceBroker.openstacks.post", response, response.Code()) + } +} + +// NewServiceBrokerOpenstacksPostOK creates a ServiceBrokerOpenstacksPostOK with default headers values +func NewServiceBrokerOpenstacksPostOK() *ServiceBrokerOpenstacksPostOK { + return &ServiceBrokerOpenstacksPostOK{} +} + +/* +ServiceBrokerOpenstacksPostOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerOpenstacksPostOK struct { + Payload *models.OpenStack +} + +// IsSuccess returns true when this service broker openstacks post o k response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker openstacks post o k response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post o k response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks post o k response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks post o k response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker openstacks post o k response +func (o *ServiceBrokerOpenstacksPostOK) Code() int { + return 200 +} + +func (o *ServiceBrokerOpenstacksPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksPostOK) GetPayload() *models.OpenStack { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.OpenStack) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksPostCreated creates a ServiceBrokerOpenstacksPostCreated with default headers values +func NewServiceBrokerOpenstacksPostCreated() *ServiceBrokerOpenstacksPostCreated { + return &ServiceBrokerOpenstacksPostCreated{} +} + +/* +ServiceBrokerOpenstacksPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type ServiceBrokerOpenstacksPostCreated struct { + Payload *models.OpenStack +} + +// IsSuccess returns true when this service broker openstacks post created response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker openstacks post created response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post created response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks post created response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks post created response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the service broker openstacks post created response +func (o *ServiceBrokerOpenstacksPostCreated) Code() int { + return 201 +} + +func (o *ServiceBrokerOpenstacksPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostCreated %s", 201, payload) +} + +func (o *ServiceBrokerOpenstacksPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostCreated %s", 201, payload) +} + +func (o *ServiceBrokerOpenstacksPostCreated) GetPayload() *models.OpenStack { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.OpenStack) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksPostBadRequest creates a ServiceBrokerOpenstacksPostBadRequest with default headers values +func NewServiceBrokerOpenstacksPostBadRequest() *ServiceBrokerOpenstacksPostBadRequest { + return &ServiceBrokerOpenstacksPostBadRequest{} +} + +/* +ServiceBrokerOpenstacksPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerOpenstacksPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks post bad request response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks post bad request response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post bad request response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks post bad request response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks post bad request response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker openstacks post bad request response +func (o *ServiceBrokerOpenstacksPostBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerOpenstacksPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksPostUnauthorized creates a ServiceBrokerOpenstacksPostUnauthorized with default headers values +func NewServiceBrokerOpenstacksPostUnauthorized() *ServiceBrokerOpenstacksPostUnauthorized { + return &ServiceBrokerOpenstacksPostUnauthorized{} +} + +/* +ServiceBrokerOpenstacksPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerOpenstacksPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks post unauthorized response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks post unauthorized response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post unauthorized response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks post unauthorized response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks post unauthorized response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker openstacks post unauthorized response +func (o *ServiceBrokerOpenstacksPostUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerOpenstacksPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerOpenstacksPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerOpenstacksPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksPostForbidden creates a ServiceBrokerOpenstacksPostForbidden with default headers values +func NewServiceBrokerOpenstacksPostForbidden() *ServiceBrokerOpenstacksPostForbidden { + return &ServiceBrokerOpenstacksPostForbidden{} +} + +/* +ServiceBrokerOpenstacksPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerOpenstacksPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks post forbidden response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks post forbidden response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post forbidden response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks post forbidden response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks post forbidden response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker openstacks post forbidden response +func (o *ServiceBrokerOpenstacksPostForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerOpenstacksPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostForbidden %s", 403, payload) +} + +func (o *ServiceBrokerOpenstacksPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostForbidden %s", 403, payload) +} + +func (o *ServiceBrokerOpenstacksPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksPostNotFound creates a ServiceBrokerOpenstacksPostNotFound with default headers values +func NewServiceBrokerOpenstacksPostNotFound() *ServiceBrokerOpenstacksPostNotFound { + return &ServiceBrokerOpenstacksPostNotFound{} +} + +/* +ServiceBrokerOpenstacksPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerOpenstacksPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks post not found response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks post not found response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post not found response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks post not found response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks post not found response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker openstacks post not found response +func (o *ServiceBrokerOpenstacksPostNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerOpenstacksPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksPostConflict creates a ServiceBrokerOpenstacksPostConflict with default headers values +func NewServiceBrokerOpenstacksPostConflict() *ServiceBrokerOpenstacksPostConflict { + return &ServiceBrokerOpenstacksPostConflict{} +} + +/* +ServiceBrokerOpenstacksPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type ServiceBrokerOpenstacksPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks post conflict response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks post conflict response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post conflict response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks post conflict response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks post conflict response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the service broker openstacks post conflict response +func (o *ServiceBrokerOpenstacksPostConflict) Code() int { + return 409 +} + +func (o *ServiceBrokerOpenstacksPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostConflict %s", 409, payload) +} + +func (o *ServiceBrokerOpenstacksPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostConflict %s", 409, payload) +} + +func (o *ServiceBrokerOpenstacksPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksPostUnprocessableEntity creates a ServiceBrokerOpenstacksPostUnprocessableEntity with default headers values +func NewServiceBrokerOpenstacksPostUnprocessableEntity() *ServiceBrokerOpenstacksPostUnprocessableEntity { + return &ServiceBrokerOpenstacksPostUnprocessableEntity{} +} + +/* +ServiceBrokerOpenstacksPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type ServiceBrokerOpenstacksPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks post unprocessable entity response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks post unprocessable entity response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post unprocessable entity response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks post unprocessable entity response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks post unprocessable entity response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the service broker openstacks post unprocessable entity response +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksPostInternalServerError creates a ServiceBrokerOpenstacksPostInternalServerError with default headers values +func NewServiceBrokerOpenstacksPostInternalServerError() *ServiceBrokerOpenstacksPostInternalServerError { + return &ServiceBrokerOpenstacksPostInternalServerError{} +} + +/* +ServiceBrokerOpenstacksPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerOpenstacksPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks post internal server error response has a 2xx status code +func (o *ServiceBrokerOpenstacksPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks post internal server error response has a 3xx status code +func (o *ServiceBrokerOpenstacksPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks post internal server error response has a 4xx status code +func (o *ServiceBrokerOpenstacksPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks post internal server error response has a 5xx status code +func (o *ServiceBrokerOpenstacksPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker openstacks post internal server error response a status code equal to that given +func (o *ServiceBrokerOpenstacksPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker openstacks post internal server error response +func (o *ServiceBrokerOpenstacksPostInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerOpenstacksPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /broker/v1/openstacks][%d] serviceBrokerOpenstacksPostInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_servers_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_servers_get_parameters.go new file mode 100644 index 000000000..2ba42257c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_servers_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerOpenstacksServersGetParams creates a new ServiceBrokerOpenstacksServersGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerOpenstacksServersGetParams() *ServiceBrokerOpenstacksServersGetParams { + return &ServiceBrokerOpenstacksServersGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerOpenstacksServersGetParamsWithTimeout creates a new ServiceBrokerOpenstacksServersGetParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerOpenstacksServersGetParamsWithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksServersGetParams { + return &ServiceBrokerOpenstacksServersGetParams{ + timeout: timeout, + } +} + +// NewServiceBrokerOpenstacksServersGetParamsWithContext creates a new ServiceBrokerOpenstacksServersGetParams object +// with the ability to set a context for a request. +func NewServiceBrokerOpenstacksServersGetParamsWithContext(ctx context.Context) *ServiceBrokerOpenstacksServersGetParams { + return &ServiceBrokerOpenstacksServersGetParams{ + Context: ctx, + } +} + +// NewServiceBrokerOpenstacksServersGetParamsWithHTTPClient creates a new ServiceBrokerOpenstacksServersGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerOpenstacksServersGetParamsWithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksServersGetParams { + return &ServiceBrokerOpenstacksServersGetParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerOpenstacksServersGetParams contains all the parameters to send to the API endpoint + + for the service broker openstacks servers get operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerOpenstacksServersGetParams struct { + + /* OpenstackID. + + Openstack ID + */ + OpenstackID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker openstacks servers get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksServersGetParams) WithDefaults() *ServiceBrokerOpenstacksServersGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker openstacks servers get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerOpenstacksServersGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) WithTimeout(timeout time.Duration) *ServiceBrokerOpenstacksServersGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) WithContext(ctx context.Context) *ServiceBrokerOpenstacksServersGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) WithHTTPClient(client *http.Client) *ServiceBrokerOpenstacksServersGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithOpenstackID adds the openstackID to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) WithOpenstackID(openstackID string) *ServiceBrokerOpenstacksServersGetParams { + o.SetOpenstackID(openstackID) + return o +} + +// SetOpenstackID adds the openstackId to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) SetOpenstackID(openstackID string) { + o.OpenstackID = openstackID +} + +// WithPvmInstanceID adds the pvmInstanceID to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) WithPvmInstanceID(pvmInstanceID string) *ServiceBrokerOpenstacksServersGetParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the service broker openstacks servers get params +func (o *ServiceBrokerOpenstacksServersGetParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerOpenstacksServersGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param openstack_id + if err := r.SetPathParam("openstack_id", o.OpenstackID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_servers_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_servers_get_responses.go new file mode 100644 index 000000000..ea38fd049 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/open_stacks/service_broker_openstacks_servers_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package open_stacks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerOpenstacksServersGetReader is a Reader for the ServiceBrokerOpenstacksServersGet structure. +type ServiceBrokerOpenstacksServersGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerOpenstacksServersGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerOpenstacksServersGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerOpenstacksServersGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerOpenstacksServersGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerOpenstacksServersGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerOpenstacksServersGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerOpenstacksServersGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}] serviceBroker.openstacks.servers.get", response, response.Code()) + } +} + +// NewServiceBrokerOpenstacksServersGetOK creates a ServiceBrokerOpenstacksServersGetOK with default headers values +func NewServiceBrokerOpenstacksServersGetOK() *ServiceBrokerOpenstacksServersGetOK { + return &ServiceBrokerOpenstacksServersGetOK{} +} + +/* +ServiceBrokerOpenstacksServersGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerOpenstacksServersGetOK struct { + Payload *models.HostPVMInstance +} + +// IsSuccess returns true when this service broker openstacks servers get o k response has a 2xx status code +func (o *ServiceBrokerOpenstacksServersGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker openstacks servers get o k response has a 3xx status code +func (o *ServiceBrokerOpenstacksServersGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks servers get o k response has a 4xx status code +func (o *ServiceBrokerOpenstacksServersGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks servers get o k response has a 5xx status code +func (o *ServiceBrokerOpenstacksServersGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks servers get o k response a status code equal to that given +func (o *ServiceBrokerOpenstacksServersGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker openstacks servers get o k response +func (o *ServiceBrokerOpenstacksServersGetOK) Code() int { + return 200 +} + +func (o *ServiceBrokerOpenstacksServersGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetOK %s", 200, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetOK) GetPayload() *models.HostPVMInstance { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksServersGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.HostPVMInstance) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksServersGetBadRequest creates a ServiceBrokerOpenstacksServersGetBadRequest with default headers values +func NewServiceBrokerOpenstacksServersGetBadRequest() *ServiceBrokerOpenstacksServersGetBadRequest { + return &ServiceBrokerOpenstacksServersGetBadRequest{} +} + +/* +ServiceBrokerOpenstacksServersGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerOpenstacksServersGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks servers get bad request response has a 2xx status code +func (o *ServiceBrokerOpenstacksServersGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks servers get bad request response has a 3xx status code +func (o *ServiceBrokerOpenstacksServersGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks servers get bad request response has a 4xx status code +func (o *ServiceBrokerOpenstacksServersGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks servers get bad request response has a 5xx status code +func (o *ServiceBrokerOpenstacksServersGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks servers get bad request response a status code equal to that given +func (o *ServiceBrokerOpenstacksServersGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker openstacks servers get bad request response +func (o *ServiceBrokerOpenstacksServersGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerOpenstacksServersGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksServersGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksServersGetUnauthorized creates a ServiceBrokerOpenstacksServersGetUnauthorized with default headers values +func NewServiceBrokerOpenstacksServersGetUnauthorized() *ServiceBrokerOpenstacksServersGetUnauthorized { + return &ServiceBrokerOpenstacksServersGetUnauthorized{} +} + +/* +ServiceBrokerOpenstacksServersGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerOpenstacksServersGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks servers get unauthorized response has a 2xx status code +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks servers get unauthorized response has a 3xx status code +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks servers get unauthorized response has a 4xx status code +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks servers get unauthorized response has a 5xx status code +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks servers get unauthorized response a status code equal to that given +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker openstacks servers get unauthorized response +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksServersGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksServersGetForbidden creates a ServiceBrokerOpenstacksServersGetForbidden with default headers values +func NewServiceBrokerOpenstacksServersGetForbidden() *ServiceBrokerOpenstacksServersGetForbidden { + return &ServiceBrokerOpenstacksServersGetForbidden{} +} + +/* +ServiceBrokerOpenstacksServersGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerOpenstacksServersGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks servers get forbidden response has a 2xx status code +func (o *ServiceBrokerOpenstacksServersGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks servers get forbidden response has a 3xx status code +func (o *ServiceBrokerOpenstacksServersGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks servers get forbidden response has a 4xx status code +func (o *ServiceBrokerOpenstacksServersGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks servers get forbidden response has a 5xx status code +func (o *ServiceBrokerOpenstacksServersGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks servers get forbidden response a status code equal to that given +func (o *ServiceBrokerOpenstacksServersGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker openstacks servers get forbidden response +func (o *ServiceBrokerOpenstacksServersGetForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerOpenstacksServersGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksServersGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksServersGetNotFound creates a ServiceBrokerOpenstacksServersGetNotFound with default headers values +func NewServiceBrokerOpenstacksServersGetNotFound() *ServiceBrokerOpenstacksServersGetNotFound { + return &ServiceBrokerOpenstacksServersGetNotFound{} +} + +/* +ServiceBrokerOpenstacksServersGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerOpenstacksServersGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks servers get not found response has a 2xx status code +func (o *ServiceBrokerOpenstacksServersGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks servers get not found response has a 3xx status code +func (o *ServiceBrokerOpenstacksServersGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks servers get not found response has a 4xx status code +func (o *ServiceBrokerOpenstacksServersGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker openstacks servers get not found response has a 5xx status code +func (o *ServiceBrokerOpenstacksServersGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker openstacks servers get not found response a status code equal to that given +func (o *ServiceBrokerOpenstacksServersGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker openstacks servers get not found response +func (o *ServiceBrokerOpenstacksServersGetNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerOpenstacksServersGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksServersGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerOpenstacksServersGetInternalServerError creates a ServiceBrokerOpenstacksServersGetInternalServerError with default headers values +func NewServiceBrokerOpenstacksServersGetInternalServerError() *ServiceBrokerOpenstacksServersGetInternalServerError { + return &ServiceBrokerOpenstacksServersGetInternalServerError{} +} + +/* +ServiceBrokerOpenstacksServersGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerOpenstacksServersGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker openstacks servers get internal server error response has a 2xx status code +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker openstacks servers get internal server error response has a 3xx status code +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker openstacks servers get internal server error response has a 4xx status code +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker openstacks servers get internal server error response has a 5xx status code +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker openstacks servers get internal server error response a status code equal to that given +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker openstacks servers get internal server error response +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/openstacks/{openstack_id}/servers/{pvm_instance_id}][%d] serviceBrokerOpenstacksServersGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerOpenstacksServersGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/p_cloud_cloud_connections_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/p_cloud_cloud_connections_client.go new file mode 100644 index 000000000..278dc5f76 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/p_cloud_cloud_connections_client.go @@ -0,0 +1,435 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud cloud connections API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud cloud connections API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud cloud connections API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud cloud connections API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudCloudconnectionsDelete(params *PcloudCloudconnectionsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsDeleteOK, *PcloudCloudconnectionsDeleteAccepted, error) + + PcloudCloudconnectionsGet(params *PcloudCloudconnectionsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsGetOK, error) + + PcloudCloudconnectionsGetall(params *PcloudCloudconnectionsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsGetallOK, error) + + PcloudCloudconnectionsNetworksDelete(params *PcloudCloudconnectionsNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsNetworksDeleteOK, *PcloudCloudconnectionsNetworksDeleteAccepted, error) + + PcloudCloudconnectionsNetworksPut(params *PcloudCloudconnectionsNetworksPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsNetworksPutOK, *PcloudCloudconnectionsNetworksPutAccepted, error) + + PcloudCloudconnectionsPost(params *PcloudCloudconnectionsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsPostOK, *PcloudCloudconnectionsPostCreated, *PcloudCloudconnectionsPostAccepted, error) + + PcloudCloudconnectionsPut(params *PcloudCloudconnectionsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsPutOK, *PcloudCloudconnectionsPutAccepted, error) + + PcloudCloudconnectionsVirtualprivatecloudsGetall(params *PcloudCloudconnectionsVirtualprivatecloudsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsVirtualprivatecloudsGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudCloudconnectionsDelete deletes a cloud connection +*/ +func (a *Client) PcloudCloudconnectionsDelete(params *PcloudCloudconnectionsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsDeleteOK, *PcloudCloudconnectionsDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudconnectionsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudconnections.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudconnectionsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudCloudconnectionsDeleteOK: + return value, nil, nil + case *PcloudCloudconnectionsDeleteAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_cloud_connections: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudconnectionsGet gets a cloud connection s state information +*/ +func (a *Client) PcloudCloudconnectionsGet(params *PcloudCloudconnectionsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudconnectionsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudconnections.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudconnectionsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudconnectionsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudconnections.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudconnectionsGetall gets all cloud connections in this cloud instance +*/ +func (a *Client) PcloudCloudconnectionsGetall(params *PcloudCloudconnectionsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudconnectionsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudconnections.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudconnectionsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudconnectionsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudconnections.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudconnectionsNetworksDelete detaches a network from a cloud connection +*/ +func (a *Client) PcloudCloudconnectionsNetworksDelete(params *PcloudCloudconnectionsNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsNetworksDeleteOK, *PcloudCloudconnectionsNetworksDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudconnectionsNetworksDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudconnections.networks.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudconnectionsNetworksDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudCloudconnectionsNetworksDeleteOK: + return value, nil, nil + case *PcloudCloudconnectionsNetworksDeleteAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_cloud_connections: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudconnectionsNetworksPut attaches a network to the cloud connection +*/ +func (a *Client) PcloudCloudconnectionsNetworksPut(params *PcloudCloudconnectionsNetworksPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsNetworksPutOK, *PcloudCloudconnectionsNetworksPutAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudconnectionsNetworksPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudconnections.networks.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudconnectionsNetworksPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudCloudconnectionsNetworksPutOK: + return value, nil, nil + case *PcloudCloudconnectionsNetworksPutAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_cloud_connections: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudconnectionsPost creates a new cloud connection +*/ +func (a *Client) PcloudCloudconnectionsPost(params *PcloudCloudconnectionsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsPostOK, *PcloudCloudconnectionsPostCreated, *PcloudCloudconnectionsPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudconnectionsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudconnections.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudconnectionsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudCloudconnectionsPostOK: + return value, nil, nil, nil + case *PcloudCloudconnectionsPostCreated: + return nil, value, nil, nil + case *PcloudCloudconnectionsPostAccepted: + return nil, nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_cloud_connections: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudconnectionsPut updates a cloud connection +*/ +func (a *Client) PcloudCloudconnectionsPut(params *PcloudCloudconnectionsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsPutOK, *PcloudCloudconnectionsPutAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudconnectionsPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudconnections.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudconnectionsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudCloudconnectionsPutOK: + return value, nil, nil + case *PcloudCloudconnectionsPutAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_cloud_connections: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetall gets all virtual private cloud connections in this cloud instance +*/ +func (a *Client) PcloudCloudconnectionsVirtualprivatecloudsGetall(params *PcloudCloudconnectionsVirtualprivatecloudsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudconnectionsVirtualprivatecloudsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudconnectionsVirtualprivatecloudsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudconnections.virtualprivateclouds.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudconnectionsVirtualprivatecloudsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudconnectionsVirtualprivatecloudsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudconnections.virtualprivateclouds.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_delete_parameters.go new file mode 100644 index 000000000..f83100f69 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudconnectionsDeleteParams creates a new PcloudCloudconnectionsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudconnectionsDeleteParams() *PcloudCloudconnectionsDeleteParams { + return &PcloudCloudconnectionsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudconnectionsDeleteParamsWithTimeout creates a new PcloudCloudconnectionsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudconnectionsDeleteParamsWithTimeout(timeout time.Duration) *PcloudCloudconnectionsDeleteParams { + return &PcloudCloudconnectionsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudCloudconnectionsDeleteParamsWithContext creates a new PcloudCloudconnectionsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudCloudconnectionsDeleteParamsWithContext(ctx context.Context) *PcloudCloudconnectionsDeleteParams { + return &PcloudCloudconnectionsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudCloudconnectionsDeleteParamsWithHTTPClient creates a new PcloudCloudconnectionsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudconnectionsDeleteParamsWithHTTPClient(client *http.Client) *PcloudCloudconnectionsDeleteParams { + return &PcloudCloudconnectionsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudconnectionsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud cloudconnections delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudconnectionsDeleteParams struct { + + /* CloudConnectionID. + + Cloud Connection ID + */ + CloudConnectionID string + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudconnections delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsDeleteParams) WithDefaults() *PcloudCloudconnectionsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudconnections delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) WithTimeout(timeout time.Duration) *PcloudCloudconnectionsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) WithContext(ctx context.Context) *PcloudCloudconnectionsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) WithHTTPClient(client *http.Client) *PcloudCloudconnectionsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudConnectionID adds the cloudConnectionID to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) WithCloudConnectionID(cloudConnectionID string) *PcloudCloudconnectionsDeleteParams { + o.SetCloudConnectionID(cloudConnectionID) + return o +} + +// SetCloudConnectionID adds the cloudConnectionId to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) SetCloudConnectionID(cloudConnectionID string) { + o.CloudConnectionID = cloudConnectionID +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudconnectionsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudconnections delete params +func (o *PcloudCloudconnectionsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudconnectionsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_connection_id + if err := r.SetPathParam("cloud_connection_id", o.CloudConnectionID); err != nil { + return err + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_delete_responses.go new file mode 100644 index 000000000..399f34eb1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_delete_responses.go @@ -0,0 +1,713 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudconnectionsDeleteReader is a Reader for the PcloudCloudconnectionsDelete structure. +type PcloudCloudconnectionsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudconnectionsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudconnectionsDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudCloudconnectionsDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudconnectionsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudconnectionsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudconnectionsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudconnectionsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudCloudconnectionsDeleteRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudCloudconnectionsDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudconnectionsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}] pcloud.cloudconnections.delete", response, response.Code()) + } +} + +// NewPcloudCloudconnectionsDeleteOK creates a PcloudCloudconnectionsDeleteOK with default headers values +func NewPcloudCloudconnectionsDeleteOK() *PcloudCloudconnectionsDeleteOK { + return &PcloudCloudconnectionsDeleteOK{} +} + +/* +PcloudCloudconnectionsDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudconnectionsDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudconnections delete o k response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections delete o k response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete o k response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections delete o k response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections delete o k response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudconnections delete o k response +func (o *PcloudCloudconnectionsDeleteOK) Code() int { + return 200 +} + +func (o *PcloudCloudconnectionsDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsDeleteAccepted creates a PcloudCloudconnectionsDeleteAccepted with default headers values +func NewPcloudCloudconnectionsDeleteAccepted() *PcloudCloudconnectionsDeleteAccepted { + return &PcloudCloudconnectionsDeleteAccepted{} +} + +/* +PcloudCloudconnectionsDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudconnectionsDeleteAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud cloudconnections delete accepted response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections delete accepted response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete accepted response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections delete accepted response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections delete accepted response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudconnections delete accepted response +func (o *PcloudCloudconnectionsDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudconnectionsDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsDeleteAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsDeleteBadRequest creates a PcloudCloudconnectionsDeleteBadRequest with default headers values +func NewPcloudCloudconnectionsDeleteBadRequest() *PcloudCloudconnectionsDeleteBadRequest { + return &PcloudCloudconnectionsDeleteBadRequest{} +} + +/* +PcloudCloudconnectionsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudconnectionsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections delete bad request response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections delete bad request response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete bad request response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections delete bad request response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections delete bad request response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudconnections delete bad request response +func (o *PcloudCloudconnectionsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudconnectionsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsDeleteUnauthorized creates a PcloudCloudconnectionsDeleteUnauthorized with default headers values +func NewPcloudCloudconnectionsDeleteUnauthorized() *PcloudCloudconnectionsDeleteUnauthorized { + return &PcloudCloudconnectionsDeleteUnauthorized{} +} + +/* +PcloudCloudconnectionsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudconnectionsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections delete unauthorized response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections delete unauthorized response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete unauthorized response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections delete unauthorized response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections delete unauthorized response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudconnections delete unauthorized response +func (o *PcloudCloudconnectionsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudconnectionsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsDeleteForbidden creates a PcloudCloudconnectionsDeleteForbidden with default headers values +func NewPcloudCloudconnectionsDeleteForbidden() *PcloudCloudconnectionsDeleteForbidden { + return &PcloudCloudconnectionsDeleteForbidden{} +} + +/* +PcloudCloudconnectionsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudconnectionsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections delete forbidden response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections delete forbidden response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete forbidden response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections delete forbidden response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections delete forbidden response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudconnections delete forbidden response +func (o *PcloudCloudconnectionsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudconnectionsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsDeleteNotFound creates a PcloudCloudconnectionsDeleteNotFound with default headers values +func NewPcloudCloudconnectionsDeleteNotFound() *PcloudCloudconnectionsDeleteNotFound { + return &PcloudCloudconnectionsDeleteNotFound{} +} + +/* +PcloudCloudconnectionsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudconnectionsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections delete not found response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections delete not found response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete not found response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections delete not found response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections delete not found response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudconnections delete not found response +func (o *PcloudCloudconnectionsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudconnectionsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsDeleteRequestTimeout creates a PcloudCloudconnectionsDeleteRequestTimeout with default headers values +func NewPcloudCloudconnectionsDeleteRequestTimeout() *PcloudCloudconnectionsDeleteRequestTimeout { + return &PcloudCloudconnectionsDeleteRequestTimeout{} +} + +/* +PcloudCloudconnectionsDeleteRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudCloudconnectionsDeleteRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections delete request timeout response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections delete request timeout response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete request timeout response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections delete request timeout response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections delete request timeout response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud cloudconnections delete request timeout response +func (o *PcloudCloudconnectionsDeleteRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudCloudconnectionsDeleteRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsDeleteRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsDeleteRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsDeleteGone creates a PcloudCloudconnectionsDeleteGone with default headers values +func NewPcloudCloudconnectionsDeleteGone() *PcloudCloudconnectionsDeleteGone { + return &PcloudCloudconnectionsDeleteGone{} +} + +/* +PcloudCloudconnectionsDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudCloudconnectionsDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections delete gone response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections delete gone response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete gone response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections delete gone response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections delete gone response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud cloudconnections delete gone response +func (o *PcloudCloudconnectionsDeleteGone) Code() int { + return 410 +} + +func (o *PcloudCloudconnectionsDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudconnectionsDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudconnectionsDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsDeleteInternalServerError creates a PcloudCloudconnectionsDeleteInternalServerError with default headers values +func NewPcloudCloudconnectionsDeleteInternalServerError() *PcloudCloudconnectionsDeleteInternalServerError { + return &PcloudCloudconnectionsDeleteInternalServerError{} +} + +/* +PcloudCloudconnectionsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudconnectionsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections delete internal server error response has a 2xx status code +func (o *PcloudCloudconnectionsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections delete internal server error response has a 3xx status code +func (o *PcloudCloudconnectionsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections delete internal server error response has a 4xx status code +func (o *PcloudCloudconnectionsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections delete internal server error response has a 5xx status code +func (o *PcloudCloudconnectionsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections delete internal server error response a status code equal to that given +func (o *PcloudCloudconnectionsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudconnections delete internal server error response +func (o *PcloudCloudconnectionsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudconnectionsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_get_parameters.go new file mode 100644 index 000000000..58a85a958 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudconnectionsGetParams creates a new PcloudCloudconnectionsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudconnectionsGetParams() *PcloudCloudconnectionsGetParams { + return &PcloudCloudconnectionsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudconnectionsGetParamsWithTimeout creates a new PcloudCloudconnectionsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudconnectionsGetParamsWithTimeout(timeout time.Duration) *PcloudCloudconnectionsGetParams { + return &PcloudCloudconnectionsGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudconnectionsGetParamsWithContext creates a new PcloudCloudconnectionsGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudconnectionsGetParamsWithContext(ctx context.Context) *PcloudCloudconnectionsGetParams { + return &PcloudCloudconnectionsGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudconnectionsGetParamsWithHTTPClient creates a new PcloudCloudconnectionsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudconnectionsGetParamsWithHTTPClient(client *http.Client) *PcloudCloudconnectionsGetParams { + return &PcloudCloudconnectionsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudconnectionsGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudconnections get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudconnectionsGetParams struct { + + /* CloudConnectionID. + + Cloud Connection ID + */ + CloudConnectionID string + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudconnections get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsGetParams) WithDefaults() *PcloudCloudconnectionsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudconnections get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) WithTimeout(timeout time.Duration) *PcloudCloudconnectionsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) WithContext(ctx context.Context) *PcloudCloudconnectionsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) WithHTTPClient(client *http.Client) *PcloudCloudconnectionsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudConnectionID adds the cloudConnectionID to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) WithCloudConnectionID(cloudConnectionID string) *PcloudCloudconnectionsGetParams { + o.SetCloudConnectionID(cloudConnectionID) + return o +} + +// SetCloudConnectionID adds the cloudConnectionId to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) SetCloudConnectionID(cloudConnectionID string) { + o.CloudConnectionID = cloudConnectionID +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudconnectionsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudconnections get params +func (o *PcloudCloudconnectionsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudconnectionsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_connection_id + if err := r.SetPathParam("cloud_connection_id", o.CloudConnectionID); err != nil { + return err + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_get_responses.go new file mode 100644 index 000000000..0fd3cdb67 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudconnectionsGetReader is a Reader for the PcloudCloudconnectionsGet structure. +type PcloudCloudconnectionsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudconnectionsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudconnectionsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudconnectionsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudconnectionsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudconnectionsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudconnectionsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudCloudconnectionsGetRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudconnectionsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}] pcloud.cloudconnections.get", response, response.Code()) + } +} + +// NewPcloudCloudconnectionsGetOK creates a PcloudCloudconnectionsGetOK with default headers values +func NewPcloudCloudconnectionsGetOK() *PcloudCloudconnectionsGetOK { + return &PcloudCloudconnectionsGetOK{} +} + +/* +PcloudCloudconnectionsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudconnectionsGetOK struct { + Payload *models.CloudConnection +} + +// IsSuccess returns true when this pcloud cloudconnections get o k response has a 2xx status code +func (o *PcloudCloudconnectionsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections get o k response has a 3xx status code +func (o *PcloudCloudconnectionsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections get o k response has a 4xx status code +func (o *PcloudCloudconnectionsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections get o k response has a 5xx status code +func (o *PcloudCloudconnectionsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections get o k response a status code equal to that given +func (o *PcloudCloudconnectionsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudconnections get o k response +func (o *PcloudCloudconnectionsGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudconnectionsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsGetOK) GetPayload() *models.CloudConnection { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudConnection) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetBadRequest creates a PcloudCloudconnectionsGetBadRequest with default headers values +func NewPcloudCloudconnectionsGetBadRequest() *PcloudCloudconnectionsGetBadRequest { + return &PcloudCloudconnectionsGetBadRequest{} +} + +/* +PcloudCloudconnectionsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudconnectionsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections get bad request response has a 2xx status code +func (o *PcloudCloudconnectionsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections get bad request response has a 3xx status code +func (o *PcloudCloudconnectionsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections get bad request response has a 4xx status code +func (o *PcloudCloudconnectionsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections get bad request response has a 5xx status code +func (o *PcloudCloudconnectionsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections get bad request response a status code equal to that given +func (o *PcloudCloudconnectionsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudconnections get bad request response +func (o *PcloudCloudconnectionsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudconnectionsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetUnauthorized creates a PcloudCloudconnectionsGetUnauthorized with default headers values +func NewPcloudCloudconnectionsGetUnauthorized() *PcloudCloudconnectionsGetUnauthorized { + return &PcloudCloudconnectionsGetUnauthorized{} +} + +/* +PcloudCloudconnectionsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudconnectionsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections get unauthorized response has a 2xx status code +func (o *PcloudCloudconnectionsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections get unauthorized response has a 3xx status code +func (o *PcloudCloudconnectionsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections get unauthorized response has a 4xx status code +func (o *PcloudCloudconnectionsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections get unauthorized response has a 5xx status code +func (o *PcloudCloudconnectionsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections get unauthorized response a status code equal to that given +func (o *PcloudCloudconnectionsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudconnections get unauthorized response +func (o *PcloudCloudconnectionsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudconnectionsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetForbidden creates a PcloudCloudconnectionsGetForbidden with default headers values +func NewPcloudCloudconnectionsGetForbidden() *PcloudCloudconnectionsGetForbidden { + return &PcloudCloudconnectionsGetForbidden{} +} + +/* +PcloudCloudconnectionsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudconnectionsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections get forbidden response has a 2xx status code +func (o *PcloudCloudconnectionsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections get forbidden response has a 3xx status code +func (o *PcloudCloudconnectionsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections get forbidden response has a 4xx status code +func (o *PcloudCloudconnectionsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections get forbidden response has a 5xx status code +func (o *PcloudCloudconnectionsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections get forbidden response a status code equal to that given +func (o *PcloudCloudconnectionsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudconnections get forbidden response +func (o *PcloudCloudconnectionsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudconnectionsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetNotFound creates a PcloudCloudconnectionsGetNotFound with default headers values +func NewPcloudCloudconnectionsGetNotFound() *PcloudCloudconnectionsGetNotFound { + return &PcloudCloudconnectionsGetNotFound{} +} + +/* +PcloudCloudconnectionsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudconnectionsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections get not found response has a 2xx status code +func (o *PcloudCloudconnectionsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections get not found response has a 3xx status code +func (o *PcloudCloudconnectionsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections get not found response has a 4xx status code +func (o *PcloudCloudconnectionsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections get not found response has a 5xx status code +func (o *PcloudCloudconnectionsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections get not found response a status code equal to that given +func (o *PcloudCloudconnectionsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudconnections get not found response +func (o *PcloudCloudconnectionsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudconnectionsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetRequestTimeout creates a PcloudCloudconnectionsGetRequestTimeout with default headers values +func NewPcloudCloudconnectionsGetRequestTimeout() *PcloudCloudconnectionsGetRequestTimeout { + return &PcloudCloudconnectionsGetRequestTimeout{} +} + +/* +PcloudCloudconnectionsGetRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudCloudconnectionsGetRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections get request timeout response has a 2xx status code +func (o *PcloudCloudconnectionsGetRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections get request timeout response has a 3xx status code +func (o *PcloudCloudconnectionsGetRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections get request timeout response has a 4xx status code +func (o *PcloudCloudconnectionsGetRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections get request timeout response has a 5xx status code +func (o *PcloudCloudconnectionsGetRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections get request timeout response a status code equal to that given +func (o *PcloudCloudconnectionsGetRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud cloudconnections get request timeout response +func (o *PcloudCloudconnectionsGetRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudCloudconnectionsGetRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsGetRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsGetRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetInternalServerError creates a PcloudCloudconnectionsGetInternalServerError with default headers values +func NewPcloudCloudconnectionsGetInternalServerError() *PcloudCloudconnectionsGetInternalServerError { + return &PcloudCloudconnectionsGetInternalServerError{} +} + +/* +PcloudCloudconnectionsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudconnectionsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections get internal server error response has a 2xx status code +func (o *PcloudCloudconnectionsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections get internal server error response has a 3xx status code +func (o *PcloudCloudconnectionsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections get internal server error response has a 4xx status code +func (o *PcloudCloudconnectionsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections get internal server error response has a 5xx status code +func (o *PcloudCloudconnectionsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections get internal server error response a status code equal to that given +func (o *PcloudCloudconnectionsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudconnections get internal server error response +func (o *PcloudCloudconnectionsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudconnectionsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_getall_parameters.go new file mode 100644 index 000000000..a0969a7bd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudconnectionsGetallParams creates a new PcloudCloudconnectionsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudconnectionsGetallParams() *PcloudCloudconnectionsGetallParams { + return &PcloudCloudconnectionsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudconnectionsGetallParamsWithTimeout creates a new PcloudCloudconnectionsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudconnectionsGetallParamsWithTimeout(timeout time.Duration) *PcloudCloudconnectionsGetallParams { + return &PcloudCloudconnectionsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudCloudconnectionsGetallParamsWithContext creates a new PcloudCloudconnectionsGetallParams object +// with the ability to set a context for a request. +func NewPcloudCloudconnectionsGetallParamsWithContext(ctx context.Context) *PcloudCloudconnectionsGetallParams { + return &PcloudCloudconnectionsGetallParams{ + Context: ctx, + } +} + +// NewPcloudCloudconnectionsGetallParamsWithHTTPClient creates a new PcloudCloudconnectionsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudconnectionsGetallParamsWithHTTPClient(client *http.Client) *PcloudCloudconnectionsGetallParams { + return &PcloudCloudconnectionsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudconnectionsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud cloudconnections getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudconnectionsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudconnections getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsGetallParams) WithDefaults() *PcloudCloudconnectionsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudconnections getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudconnections getall params +func (o *PcloudCloudconnectionsGetallParams) WithTimeout(timeout time.Duration) *PcloudCloudconnectionsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudconnections getall params +func (o *PcloudCloudconnectionsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudconnections getall params +func (o *PcloudCloudconnectionsGetallParams) WithContext(ctx context.Context) *PcloudCloudconnectionsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudconnections getall params +func (o *PcloudCloudconnectionsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudconnections getall params +func (o *PcloudCloudconnectionsGetallParams) WithHTTPClient(client *http.Client) *PcloudCloudconnectionsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudconnections getall params +func (o *PcloudCloudconnectionsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudconnections getall params +func (o *PcloudCloudconnectionsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudconnectionsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudconnections getall params +func (o *PcloudCloudconnectionsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudconnectionsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_getall_responses.go new file mode 100644 index 000000000..6cfa8aac5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_getall_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudconnectionsGetallReader is a Reader for the PcloudCloudconnectionsGetall structure. +type PcloudCloudconnectionsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudconnectionsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudconnectionsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudconnectionsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudconnectionsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudconnectionsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudconnectionsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudCloudconnectionsGetallRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudconnectionsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections] pcloud.cloudconnections.getall", response, response.Code()) + } +} + +// NewPcloudCloudconnectionsGetallOK creates a PcloudCloudconnectionsGetallOK with default headers values +func NewPcloudCloudconnectionsGetallOK() *PcloudCloudconnectionsGetallOK { + return &PcloudCloudconnectionsGetallOK{} +} + +/* +PcloudCloudconnectionsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudconnectionsGetallOK struct { + Payload *models.CloudConnections +} + +// IsSuccess returns true when this pcloud cloudconnections getall o k response has a 2xx status code +func (o *PcloudCloudconnectionsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections getall o k response has a 3xx status code +func (o *PcloudCloudconnectionsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections getall o k response has a 4xx status code +func (o *PcloudCloudconnectionsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections getall o k response has a 5xx status code +func (o *PcloudCloudconnectionsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections getall o k response a status code equal to that given +func (o *PcloudCloudconnectionsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudconnections getall o k response +func (o *PcloudCloudconnectionsGetallOK) Code() int { + return 200 +} + +func (o *PcloudCloudconnectionsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsGetallOK) GetPayload() *models.CloudConnections { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudConnections) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetallBadRequest creates a PcloudCloudconnectionsGetallBadRequest with default headers values +func NewPcloudCloudconnectionsGetallBadRequest() *PcloudCloudconnectionsGetallBadRequest { + return &PcloudCloudconnectionsGetallBadRequest{} +} + +/* +PcloudCloudconnectionsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudconnectionsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections getall bad request response has a 2xx status code +func (o *PcloudCloudconnectionsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections getall bad request response has a 3xx status code +func (o *PcloudCloudconnectionsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections getall bad request response has a 4xx status code +func (o *PcloudCloudconnectionsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections getall bad request response has a 5xx status code +func (o *PcloudCloudconnectionsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections getall bad request response a status code equal to that given +func (o *PcloudCloudconnectionsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudconnections getall bad request response +func (o *PcloudCloudconnectionsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudconnectionsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetallUnauthorized creates a PcloudCloudconnectionsGetallUnauthorized with default headers values +func NewPcloudCloudconnectionsGetallUnauthorized() *PcloudCloudconnectionsGetallUnauthorized { + return &PcloudCloudconnectionsGetallUnauthorized{} +} + +/* +PcloudCloudconnectionsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudconnectionsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections getall unauthorized response has a 2xx status code +func (o *PcloudCloudconnectionsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections getall unauthorized response has a 3xx status code +func (o *PcloudCloudconnectionsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections getall unauthorized response has a 4xx status code +func (o *PcloudCloudconnectionsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections getall unauthorized response has a 5xx status code +func (o *PcloudCloudconnectionsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections getall unauthorized response a status code equal to that given +func (o *PcloudCloudconnectionsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudconnections getall unauthorized response +func (o *PcloudCloudconnectionsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudconnectionsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetallForbidden creates a PcloudCloudconnectionsGetallForbidden with default headers values +func NewPcloudCloudconnectionsGetallForbidden() *PcloudCloudconnectionsGetallForbidden { + return &PcloudCloudconnectionsGetallForbidden{} +} + +/* +PcloudCloudconnectionsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudconnectionsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections getall forbidden response has a 2xx status code +func (o *PcloudCloudconnectionsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections getall forbidden response has a 3xx status code +func (o *PcloudCloudconnectionsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections getall forbidden response has a 4xx status code +func (o *PcloudCloudconnectionsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections getall forbidden response has a 5xx status code +func (o *PcloudCloudconnectionsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections getall forbidden response a status code equal to that given +func (o *PcloudCloudconnectionsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudconnections getall forbidden response +func (o *PcloudCloudconnectionsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudconnectionsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetallNotFound creates a PcloudCloudconnectionsGetallNotFound with default headers values +func NewPcloudCloudconnectionsGetallNotFound() *PcloudCloudconnectionsGetallNotFound { + return &PcloudCloudconnectionsGetallNotFound{} +} + +/* +PcloudCloudconnectionsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudconnectionsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections getall not found response has a 2xx status code +func (o *PcloudCloudconnectionsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections getall not found response has a 3xx status code +func (o *PcloudCloudconnectionsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections getall not found response has a 4xx status code +func (o *PcloudCloudconnectionsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections getall not found response has a 5xx status code +func (o *PcloudCloudconnectionsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections getall not found response a status code equal to that given +func (o *PcloudCloudconnectionsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudconnections getall not found response +func (o *PcloudCloudconnectionsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudconnectionsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetallRequestTimeout creates a PcloudCloudconnectionsGetallRequestTimeout with default headers values +func NewPcloudCloudconnectionsGetallRequestTimeout() *PcloudCloudconnectionsGetallRequestTimeout { + return &PcloudCloudconnectionsGetallRequestTimeout{} +} + +/* +PcloudCloudconnectionsGetallRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudCloudconnectionsGetallRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections getall request timeout response has a 2xx status code +func (o *PcloudCloudconnectionsGetallRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections getall request timeout response has a 3xx status code +func (o *PcloudCloudconnectionsGetallRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections getall request timeout response has a 4xx status code +func (o *PcloudCloudconnectionsGetallRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections getall request timeout response has a 5xx status code +func (o *PcloudCloudconnectionsGetallRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections getall request timeout response a status code equal to that given +func (o *PcloudCloudconnectionsGetallRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud cloudconnections getall request timeout response +func (o *PcloudCloudconnectionsGetallRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudCloudconnectionsGetallRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsGetallRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsGetallRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetallRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsGetallInternalServerError creates a PcloudCloudconnectionsGetallInternalServerError with default headers values +func NewPcloudCloudconnectionsGetallInternalServerError() *PcloudCloudconnectionsGetallInternalServerError { + return &PcloudCloudconnectionsGetallInternalServerError{} +} + +/* +PcloudCloudconnectionsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudconnectionsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections getall internal server error response has a 2xx status code +func (o *PcloudCloudconnectionsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections getall internal server error response has a 3xx status code +func (o *PcloudCloudconnectionsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections getall internal server error response has a 4xx status code +func (o *PcloudCloudconnectionsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections getall internal server error response has a 5xx status code +func (o *PcloudCloudconnectionsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections getall internal server error response a status code equal to that given +func (o *PcloudCloudconnectionsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudconnections getall internal server error response +func (o *PcloudCloudconnectionsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudconnectionsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_delete_parameters.go new file mode 100644 index 000000000..b5227f7a7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_delete_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudconnectionsNetworksDeleteParams creates a new PcloudCloudconnectionsNetworksDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudconnectionsNetworksDeleteParams() *PcloudCloudconnectionsNetworksDeleteParams { + return &PcloudCloudconnectionsNetworksDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudconnectionsNetworksDeleteParamsWithTimeout creates a new PcloudCloudconnectionsNetworksDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudconnectionsNetworksDeleteParamsWithTimeout(timeout time.Duration) *PcloudCloudconnectionsNetworksDeleteParams { + return &PcloudCloudconnectionsNetworksDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudCloudconnectionsNetworksDeleteParamsWithContext creates a new PcloudCloudconnectionsNetworksDeleteParams object +// with the ability to set a context for a request. +func NewPcloudCloudconnectionsNetworksDeleteParamsWithContext(ctx context.Context) *PcloudCloudconnectionsNetworksDeleteParams { + return &PcloudCloudconnectionsNetworksDeleteParams{ + Context: ctx, + } +} + +// NewPcloudCloudconnectionsNetworksDeleteParamsWithHTTPClient creates a new PcloudCloudconnectionsNetworksDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudconnectionsNetworksDeleteParamsWithHTTPClient(client *http.Client) *PcloudCloudconnectionsNetworksDeleteParams { + return &PcloudCloudconnectionsNetworksDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudconnectionsNetworksDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud cloudconnections networks delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudconnectionsNetworksDeleteParams struct { + + /* CloudConnectionID. + + Cloud Connection ID + */ + CloudConnectionID string + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudconnections networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsNetworksDeleteParams) WithDefaults() *PcloudCloudconnectionsNetworksDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudconnections networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsNetworksDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) WithTimeout(timeout time.Duration) *PcloudCloudconnectionsNetworksDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) WithContext(ctx context.Context) *PcloudCloudconnectionsNetworksDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) WithHTTPClient(client *http.Client) *PcloudCloudconnectionsNetworksDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudConnectionID adds the cloudConnectionID to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) WithCloudConnectionID(cloudConnectionID string) *PcloudCloudconnectionsNetworksDeleteParams { + o.SetCloudConnectionID(cloudConnectionID) + return o +} + +// SetCloudConnectionID adds the cloudConnectionId to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) SetCloudConnectionID(cloudConnectionID string) { + o.CloudConnectionID = cloudConnectionID +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudconnectionsNetworksDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) WithNetworkID(networkID string) *PcloudCloudconnectionsNetworksDeleteParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud cloudconnections networks delete params +func (o *PcloudCloudconnectionsNetworksDeleteParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudconnectionsNetworksDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_connection_id + if err := r.SetPathParam("cloud_connection_id", o.CloudConnectionID); err != nil { + return err + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_delete_responses.go new file mode 100644 index 000000000..936b0ec6f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_delete_responses.go @@ -0,0 +1,713 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudconnectionsNetworksDeleteReader is a Reader for the PcloudCloudconnectionsNetworksDelete structure. +type PcloudCloudconnectionsNetworksDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudconnectionsNetworksDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudconnectionsNetworksDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudCloudconnectionsNetworksDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudconnectionsNetworksDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudconnectionsNetworksDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudconnectionsNetworksDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudconnectionsNetworksDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudCloudconnectionsNetworksDeleteRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudCloudconnectionsNetworksDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudconnectionsNetworksDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}] pcloud.cloudconnections.networks.delete", response, response.Code()) + } +} + +// NewPcloudCloudconnectionsNetworksDeleteOK creates a PcloudCloudconnectionsNetworksDeleteOK with default headers values +func NewPcloudCloudconnectionsNetworksDeleteOK() *PcloudCloudconnectionsNetworksDeleteOK { + return &PcloudCloudconnectionsNetworksDeleteOK{} +} + +/* +PcloudCloudconnectionsNetworksDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudconnectionsNetworksDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete o k response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete o k response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete o k response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections networks delete o k response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks delete o k response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudconnections networks delete o k response +func (o *PcloudCloudconnectionsNetworksDeleteOK) Code() int { + return 200 +} + +func (o *PcloudCloudconnectionsNetworksDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksDeleteAccepted creates a PcloudCloudconnectionsNetworksDeleteAccepted with default headers values +func NewPcloudCloudconnectionsNetworksDeleteAccepted() *PcloudCloudconnectionsNetworksDeleteAccepted { + return &PcloudCloudconnectionsNetworksDeleteAccepted{} +} + +/* +PcloudCloudconnectionsNetworksDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudconnectionsNetworksDeleteAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete accepted response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete accepted response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete accepted response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections networks delete accepted response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks delete accepted response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudconnections networks delete accepted response +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksDeleteBadRequest creates a PcloudCloudconnectionsNetworksDeleteBadRequest with default headers values +func NewPcloudCloudconnectionsNetworksDeleteBadRequest() *PcloudCloudconnectionsNetworksDeleteBadRequest { + return &PcloudCloudconnectionsNetworksDeleteBadRequest{} +} + +/* +PcloudCloudconnectionsNetworksDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudconnectionsNetworksDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete bad request response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete bad request response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete bad request response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks delete bad request response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks delete bad request response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudconnections networks delete bad request response +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksDeleteUnauthorized creates a PcloudCloudconnectionsNetworksDeleteUnauthorized with default headers values +func NewPcloudCloudconnectionsNetworksDeleteUnauthorized() *PcloudCloudconnectionsNetworksDeleteUnauthorized { + return &PcloudCloudconnectionsNetworksDeleteUnauthorized{} +} + +/* +PcloudCloudconnectionsNetworksDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudconnectionsNetworksDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete unauthorized response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete unauthorized response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete unauthorized response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks delete unauthorized response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks delete unauthorized response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudconnections networks delete unauthorized response +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksDeleteForbidden creates a PcloudCloudconnectionsNetworksDeleteForbidden with default headers values +func NewPcloudCloudconnectionsNetworksDeleteForbidden() *PcloudCloudconnectionsNetworksDeleteForbidden { + return &PcloudCloudconnectionsNetworksDeleteForbidden{} +} + +/* +PcloudCloudconnectionsNetworksDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudconnectionsNetworksDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete forbidden response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete forbidden response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete forbidden response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks delete forbidden response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks delete forbidden response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudconnections networks delete forbidden response +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksDeleteNotFound creates a PcloudCloudconnectionsNetworksDeleteNotFound with default headers values +func NewPcloudCloudconnectionsNetworksDeleteNotFound() *PcloudCloudconnectionsNetworksDeleteNotFound { + return &PcloudCloudconnectionsNetworksDeleteNotFound{} +} + +/* +PcloudCloudconnectionsNetworksDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudconnectionsNetworksDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete not found response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete not found response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete not found response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks delete not found response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks delete not found response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudconnections networks delete not found response +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksDeleteRequestTimeout creates a PcloudCloudconnectionsNetworksDeleteRequestTimeout with default headers values +func NewPcloudCloudconnectionsNetworksDeleteRequestTimeout() *PcloudCloudconnectionsNetworksDeleteRequestTimeout { + return &PcloudCloudconnectionsNetworksDeleteRequestTimeout{} +} + +/* +PcloudCloudconnectionsNetworksDeleteRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudCloudconnectionsNetworksDeleteRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete request timeout response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete request timeout response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete request timeout response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks delete request timeout response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks delete request timeout response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud cloudconnections networks delete request timeout response +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksDeleteGone creates a PcloudCloudconnectionsNetworksDeleteGone with default headers values +func NewPcloudCloudconnectionsNetworksDeleteGone() *PcloudCloudconnectionsNetworksDeleteGone { + return &PcloudCloudconnectionsNetworksDeleteGone{} +} + +/* +PcloudCloudconnectionsNetworksDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudCloudconnectionsNetworksDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete gone response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete gone response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete gone response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks delete gone response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks delete gone response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud cloudconnections networks delete gone response +func (o *PcloudCloudconnectionsNetworksDeleteGone) Code() int { + return 410 +} + +func (o *PcloudCloudconnectionsNetworksDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksDeleteInternalServerError creates a PcloudCloudconnectionsNetworksDeleteInternalServerError with default headers values +func NewPcloudCloudconnectionsNetworksDeleteInternalServerError() *PcloudCloudconnectionsNetworksDeleteInternalServerError { + return &PcloudCloudconnectionsNetworksDeleteInternalServerError{} +} + +/* +PcloudCloudconnectionsNetworksDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudconnectionsNetworksDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks delete internal server error response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks delete internal server error response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks delete internal server error response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections networks delete internal server error response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections networks delete internal server error response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudconnections networks delete internal server error response +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_put_parameters.go new file mode 100644 index 000000000..7fdcb871d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_put_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudconnectionsNetworksPutParams creates a new PcloudCloudconnectionsNetworksPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudconnectionsNetworksPutParams() *PcloudCloudconnectionsNetworksPutParams { + return &PcloudCloudconnectionsNetworksPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudconnectionsNetworksPutParamsWithTimeout creates a new PcloudCloudconnectionsNetworksPutParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudconnectionsNetworksPutParamsWithTimeout(timeout time.Duration) *PcloudCloudconnectionsNetworksPutParams { + return &PcloudCloudconnectionsNetworksPutParams{ + timeout: timeout, + } +} + +// NewPcloudCloudconnectionsNetworksPutParamsWithContext creates a new PcloudCloudconnectionsNetworksPutParams object +// with the ability to set a context for a request. +func NewPcloudCloudconnectionsNetworksPutParamsWithContext(ctx context.Context) *PcloudCloudconnectionsNetworksPutParams { + return &PcloudCloudconnectionsNetworksPutParams{ + Context: ctx, + } +} + +// NewPcloudCloudconnectionsNetworksPutParamsWithHTTPClient creates a new PcloudCloudconnectionsNetworksPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudconnectionsNetworksPutParamsWithHTTPClient(client *http.Client) *PcloudCloudconnectionsNetworksPutParams { + return &PcloudCloudconnectionsNetworksPutParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudconnectionsNetworksPutParams contains all the parameters to send to the API endpoint + + for the pcloud cloudconnections networks put operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudconnectionsNetworksPutParams struct { + + /* CloudConnectionID. + + Cloud Connection ID + */ + CloudConnectionID string + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudconnections networks put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsNetworksPutParams) WithDefaults() *PcloudCloudconnectionsNetworksPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudconnections networks put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsNetworksPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) WithTimeout(timeout time.Duration) *PcloudCloudconnectionsNetworksPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) WithContext(ctx context.Context) *PcloudCloudconnectionsNetworksPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) WithHTTPClient(client *http.Client) *PcloudCloudconnectionsNetworksPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudConnectionID adds the cloudConnectionID to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) WithCloudConnectionID(cloudConnectionID string) *PcloudCloudconnectionsNetworksPutParams { + o.SetCloudConnectionID(cloudConnectionID) + return o +} + +// SetCloudConnectionID adds the cloudConnectionId to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) SetCloudConnectionID(cloudConnectionID string) { + o.CloudConnectionID = cloudConnectionID +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudconnectionsNetworksPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) WithNetworkID(networkID string) *PcloudCloudconnectionsNetworksPutParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud cloudconnections networks put params +func (o *PcloudCloudconnectionsNetworksPutParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudconnectionsNetworksPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_connection_id + if err := r.SetPathParam("cloud_connection_id", o.CloudConnectionID); err != nil { + return err + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_put_responses.go new file mode 100644 index 000000000..c29f7751d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_networks_put_responses.go @@ -0,0 +1,713 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudconnectionsNetworksPutReader is a Reader for the PcloudCloudconnectionsNetworksPut structure. +type PcloudCloudconnectionsNetworksPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudconnectionsNetworksPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudconnectionsNetworksPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudCloudconnectionsNetworksPutAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudconnectionsNetworksPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudconnectionsNetworksPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudconnectionsNetworksPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudconnectionsNetworksPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudCloudconnectionsNetworksPutRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudconnectionsNetworksPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudconnectionsNetworksPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}] pcloud.cloudconnections.networks.put", response, response.Code()) + } +} + +// NewPcloudCloudconnectionsNetworksPutOK creates a PcloudCloudconnectionsNetworksPutOK with default headers values +func NewPcloudCloudconnectionsNetworksPutOK() *PcloudCloudconnectionsNetworksPutOK { + return &PcloudCloudconnectionsNetworksPutOK{} +} + +/* +PcloudCloudconnectionsNetworksPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudconnectionsNetworksPutOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudconnections networks put o k response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections networks put o k response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put o k response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections networks put o k response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks put o k response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudconnections networks put o k response +func (o *PcloudCloudconnectionsNetworksPutOK) Code() int { + return 200 +} + +func (o *PcloudCloudconnectionsNetworksPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksPutAccepted creates a PcloudCloudconnectionsNetworksPutAccepted with default headers values +func NewPcloudCloudconnectionsNetworksPutAccepted() *PcloudCloudconnectionsNetworksPutAccepted { + return &PcloudCloudconnectionsNetworksPutAccepted{} +} + +/* +PcloudCloudconnectionsNetworksPutAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudconnectionsNetworksPutAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud cloudconnections networks put accepted response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections networks put accepted response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put accepted response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections networks put accepted response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks put accepted response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudconnections networks put accepted response +func (o *PcloudCloudconnectionsNetworksPutAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudconnectionsNetworksPutAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksPutBadRequest creates a PcloudCloudconnectionsNetworksPutBadRequest with default headers values +func NewPcloudCloudconnectionsNetworksPutBadRequest() *PcloudCloudconnectionsNetworksPutBadRequest { + return &PcloudCloudconnectionsNetworksPutBadRequest{} +} + +/* +PcloudCloudconnectionsNetworksPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudconnectionsNetworksPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks put bad request response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks put bad request response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put bad request response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks put bad request response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks put bad request response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudconnections networks put bad request response +func (o *PcloudCloudconnectionsNetworksPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudconnectionsNetworksPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksPutUnauthorized creates a PcloudCloudconnectionsNetworksPutUnauthorized with default headers values +func NewPcloudCloudconnectionsNetworksPutUnauthorized() *PcloudCloudconnectionsNetworksPutUnauthorized { + return &PcloudCloudconnectionsNetworksPutUnauthorized{} +} + +/* +PcloudCloudconnectionsNetworksPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudconnectionsNetworksPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks put unauthorized response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks put unauthorized response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put unauthorized response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks put unauthorized response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks put unauthorized response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudconnections networks put unauthorized response +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksPutForbidden creates a PcloudCloudconnectionsNetworksPutForbidden with default headers values +func NewPcloudCloudconnectionsNetworksPutForbidden() *PcloudCloudconnectionsNetworksPutForbidden { + return &PcloudCloudconnectionsNetworksPutForbidden{} +} + +/* +PcloudCloudconnectionsNetworksPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudconnectionsNetworksPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks put forbidden response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks put forbidden response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put forbidden response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks put forbidden response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks put forbidden response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudconnections networks put forbidden response +func (o *PcloudCloudconnectionsNetworksPutForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudconnectionsNetworksPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksPutNotFound creates a PcloudCloudconnectionsNetworksPutNotFound with default headers values +func NewPcloudCloudconnectionsNetworksPutNotFound() *PcloudCloudconnectionsNetworksPutNotFound { + return &PcloudCloudconnectionsNetworksPutNotFound{} +} + +/* +PcloudCloudconnectionsNetworksPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudconnectionsNetworksPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks put not found response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks put not found response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put not found response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks put not found response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks put not found response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudconnections networks put not found response +func (o *PcloudCloudconnectionsNetworksPutNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudconnectionsNetworksPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksPutRequestTimeout creates a PcloudCloudconnectionsNetworksPutRequestTimeout with default headers values +func NewPcloudCloudconnectionsNetworksPutRequestTimeout() *PcloudCloudconnectionsNetworksPutRequestTimeout { + return &PcloudCloudconnectionsNetworksPutRequestTimeout{} +} + +/* +PcloudCloudconnectionsNetworksPutRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudCloudconnectionsNetworksPutRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks put request timeout response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks put request timeout response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put request timeout response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks put request timeout response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks put request timeout response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud cloudconnections networks put request timeout response +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksPutUnprocessableEntity creates a PcloudCloudconnectionsNetworksPutUnprocessableEntity with default headers values +func NewPcloudCloudconnectionsNetworksPutUnprocessableEntity() *PcloudCloudconnectionsNetworksPutUnprocessableEntity { + return &PcloudCloudconnectionsNetworksPutUnprocessableEntity{} +} + +/* +PcloudCloudconnectionsNetworksPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudconnectionsNetworksPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks put unprocessable entity response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks put unprocessable entity response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put unprocessable entity response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections networks put unprocessable entity response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections networks put unprocessable entity response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudconnections networks put unprocessable entity response +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsNetworksPutInternalServerError creates a PcloudCloudconnectionsNetworksPutInternalServerError with default headers values +func NewPcloudCloudconnectionsNetworksPutInternalServerError() *PcloudCloudconnectionsNetworksPutInternalServerError { + return &PcloudCloudconnectionsNetworksPutInternalServerError{} +} + +/* +PcloudCloudconnectionsNetworksPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudconnectionsNetworksPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections networks put internal server error response has a 2xx status code +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections networks put internal server error response has a 3xx status code +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections networks put internal server error response has a 4xx status code +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections networks put internal server error response has a 5xx status code +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections networks put internal server error response a status code equal to that given +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudconnections networks put internal server error response +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}/networks/{network_id}][%d] pcloudCloudconnectionsNetworksPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsNetworksPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_post_parameters.go new file mode 100644 index 000000000..b2bcf71f5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudconnectionsPostParams creates a new PcloudCloudconnectionsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudconnectionsPostParams() *PcloudCloudconnectionsPostParams { + return &PcloudCloudconnectionsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudconnectionsPostParamsWithTimeout creates a new PcloudCloudconnectionsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudconnectionsPostParamsWithTimeout(timeout time.Duration) *PcloudCloudconnectionsPostParams { + return &PcloudCloudconnectionsPostParams{ + timeout: timeout, + } +} + +// NewPcloudCloudconnectionsPostParamsWithContext creates a new PcloudCloudconnectionsPostParams object +// with the ability to set a context for a request. +func NewPcloudCloudconnectionsPostParamsWithContext(ctx context.Context) *PcloudCloudconnectionsPostParams { + return &PcloudCloudconnectionsPostParams{ + Context: ctx, + } +} + +// NewPcloudCloudconnectionsPostParamsWithHTTPClient creates a new PcloudCloudconnectionsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudconnectionsPostParamsWithHTTPClient(client *http.Client) *PcloudCloudconnectionsPostParams { + return &PcloudCloudconnectionsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudconnectionsPostParams contains all the parameters to send to the API endpoint + + for the pcloud cloudconnections post operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudconnectionsPostParams struct { + + /* Body. + + Parameters for the creation of a new cloud connection + */ + Body *models.CloudConnectionCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudconnections post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsPostParams) WithDefaults() *PcloudCloudconnectionsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudconnections post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) WithTimeout(timeout time.Duration) *PcloudCloudconnectionsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) WithContext(ctx context.Context) *PcloudCloudconnectionsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) WithHTTPClient(client *http.Client) *PcloudCloudconnectionsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) WithBody(body *models.CloudConnectionCreate) *PcloudCloudconnectionsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) SetBody(body *models.CloudConnectionCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudconnectionsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudconnections post params +func (o *PcloudCloudconnectionsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudconnectionsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_post_responses.go new file mode 100644 index 000000000..19bb74903 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_post_responses.go @@ -0,0 +1,1095 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudconnectionsPostReader is a Reader for the PcloudCloudconnectionsPost structure. +type PcloudCloudconnectionsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudconnectionsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudconnectionsPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewPcloudCloudconnectionsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudCloudconnectionsPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudconnectionsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudconnectionsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudconnectionsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudconnectionsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 405: + result := NewPcloudCloudconnectionsPostMethodNotAllowed() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudCloudconnectionsPostRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudCloudconnectionsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudconnectionsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudconnectionsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 503: + result := NewPcloudCloudconnectionsPostServiceUnavailable() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewPcloudCloudconnectionsPostGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections] pcloud.cloudconnections.post", response, response.Code()) + } +} + +// NewPcloudCloudconnectionsPostOK creates a PcloudCloudconnectionsPostOK with default headers values +func NewPcloudCloudconnectionsPostOK() *PcloudCloudconnectionsPostOK { + return &PcloudCloudconnectionsPostOK{} +} + +/* +PcloudCloudconnectionsPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudconnectionsPostOK struct { + Payload *models.CloudConnection +} + +// IsSuccess returns true when this pcloud cloudconnections post o k response has a 2xx status code +func (o *PcloudCloudconnectionsPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections post o k response has a 3xx status code +func (o *PcloudCloudconnectionsPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post o k response has a 4xx status code +func (o *PcloudCloudconnectionsPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections post o k response has a 5xx status code +func (o *PcloudCloudconnectionsPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post o k response a status code equal to that given +func (o *PcloudCloudconnectionsPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudconnections post o k response +func (o *PcloudCloudconnectionsPostOK) Code() int { + return 200 +} + +func (o *PcloudCloudconnectionsPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsPostOK) GetPayload() *models.CloudConnection { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudConnection) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostCreated creates a PcloudCloudconnectionsPostCreated with default headers values +func NewPcloudCloudconnectionsPostCreated() *PcloudCloudconnectionsPostCreated { + return &PcloudCloudconnectionsPostCreated{} +} + +/* +PcloudCloudconnectionsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudCloudconnectionsPostCreated struct { + Payload *models.CloudConnection +} + +// IsSuccess returns true when this pcloud cloudconnections post created response has a 2xx status code +func (o *PcloudCloudconnectionsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections post created response has a 3xx status code +func (o *PcloudCloudconnectionsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post created response has a 4xx status code +func (o *PcloudCloudconnectionsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections post created response has a 5xx status code +func (o *PcloudCloudconnectionsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post created response a status code equal to that given +func (o *PcloudCloudconnectionsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud cloudconnections post created response +func (o *PcloudCloudconnectionsPostCreated) Code() int { + return 201 +} + +func (o *PcloudCloudconnectionsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostCreated %s", 201, payload) +} + +func (o *PcloudCloudconnectionsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostCreated %s", 201, payload) +} + +func (o *PcloudCloudconnectionsPostCreated) GetPayload() *models.CloudConnection { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudConnection) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostAccepted creates a PcloudCloudconnectionsPostAccepted with default headers values +func NewPcloudCloudconnectionsPostAccepted() *PcloudCloudconnectionsPostAccepted { + return &PcloudCloudconnectionsPostAccepted{} +} + +/* +PcloudCloudconnectionsPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudconnectionsPostAccepted struct { + Payload *models.CloudConnectionCreateResponse +} + +// IsSuccess returns true when this pcloud cloudconnections post accepted response has a 2xx status code +func (o *PcloudCloudconnectionsPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections post accepted response has a 3xx status code +func (o *PcloudCloudconnectionsPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post accepted response has a 4xx status code +func (o *PcloudCloudconnectionsPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections post accepted response has a 5xx status code +func (o *PcloudCloudconnectionsPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post accepted response a status code equal to that given +func (o *PcloudCloudconnectionsPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudconnections post accepted response +func (o *PcloudCloudconnectionsPostAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudconnectionsPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsPostAccepted) GetPayload() *models.CloudConnectionCreateResponse { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudConnectionCreateResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostBadRequest creates a PcloudCloudconnectionsPostBadRequest with default headers values +func NewPcloudCloudconnectionsPostBadRequest() *PcloudCloudconnectionsPostBadRequest { + return &PcloudCloudconnectionsPostBadRequest{} +} + +/* +PcloudCloudconnectionsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudconnectionsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post bad request response has a 2xx status code +func (o *PcloudCloudconnectionsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post bad request response has a 3xx status code +func (o *PcloudCloudconnectionsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post bad request response has a 4xx status code +func (o *PcloudCloudconnectionsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections post bad request response has a 5xx status code +func (o *PcloudCloudconnectionsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post bad request response a status code equal to that given +func (o *PcloudCloudconnectionsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudconnections post bad request response +func (o *PcloudCloudconnectionsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudconnectionsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostUnauthorized creates a PcloudCloudconnectionsPostUnauthorized with default headers values +func NewPcloudCloudconnectionsPostUnauthorized() *PcloudCloudconnectionsPostUnauthorized { + return &PcloudCloudconnectionsPostUnauthorized{} +} + +/* +PcloudCloudconnectionsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudconnectionsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post unauthorized response has a 2xx status code +func (o *PcloudCloudconnectionsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post unauthorized response has a 3xx status code +func (o *PcloudCloudconnectionsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post unauthorized response has a 4xx status code +func (o *PcloudCloudconnectionsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections post unauthorized response has a 5xx status code +func (o *PcloudCloudconnectionsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post unauthorized response a status code equal to that given +func (o *PcloudCloudconnectionsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudconnections post unauthorized response +func (o *PcloudCloudconnectionsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudconnectionsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostForbidden creates a PcloudCloudconnectionsPostForbidden with default headers values +func NewPcloudCloudconnectionsPostForbidden() *PcloudCloudconnectionsPostForbidden { + return &PcloudCloudconnectionsPostForbidden{} +} + +/* +PcloudCloudconnectionsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudconnectionsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post forbidden response has a 2xx status code +func (o *PcloudCloudconnectionsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post forbidden response has a 3xx status code +func (o *PcloudCloudconnectionsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post forbidden response has a 4xx status code +func (o *PcloudCloudconnectionsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections post forbidden response has a 5xx status code +func (o *PcloudCloudconnectionsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post forbidden response a status code equal to that given +func (o *PcloudCloudconnectionsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudconnections post forbidden response +func (o *PcloudCloudconnectionsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudconnectionsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostNotFound creates a PcloudCloudconnectionsPostNotFound with default headers values +func NewPcloudCloudconnectionsPostNotFound() *PcloudCloudconnectionsPostNotFound { + return &PcloudCloudconnectionsPostNotFound{} +} + +/* +PcloudCloudconnectionsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudconnectionsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post not found response has a 2xx status code +func (o *PcloudCloudconnectionsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post not found response has a 3xx status code +func (o *PcloudCloudconnectionsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post not found response has a 4xx status code +func (o *PcloudCloudconnectionsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections post not found response has a 5xx status code +func (o *PcloudCloudconnectionsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post not found response a status code equal to that given +func (o *PcloudCloudconnectionsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudconnections post not found response +func (o *PcloudCloudconnectionsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudconnectionsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostMethodNotAllowed creates a PcloudCloudconnectionsPostMethodNotAllowed with default headers values +func NewPcloudCloudconnectionsPostMethodNotAllowed() *PcloudCloudconnectionsPostMethodNotAllowed { + return &PcloudCloudconnectionsPostMethodNotAllowed{} +} + +/* +PcloudCloudconnectionsPostMethodNotAllowed describes a response with status code 405, with default header values. + +Method Not Allowed +*/ +type PcloudCloudconnectionsPostMethodNotAllowed struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post method not allowed response has a 2xx status code +func (o *PcloudCloudconnectionsPostMethodNotAllowed) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post method not allowed response has a 3xx status code +func (o *PcloudCloudconnectionsPostMethodNotAllowed) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post method not allowed response has a 4xx status code +func (o *PcloudCloudconnectionsPostMethodNotAllowed) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections post method not allowed response has a 5xx status code +func (o *PcloudCloudconnectionsPostMethodNotAllowed) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post method not allowed response a status code equal to that given +func (o *PcloudCloudconnectionsPostMethodNotAllowed) IsCode(code int) bool { + return code == 405 +} + +// Code gets the status code for the pcloud cloudconnections post method not allowed response +func (o *PcloudCloudconnectionsPostMethodNotAllowed) Code() int { + return 405 +} + +func (o *PcloudCloudconnectionsPostMethodNotAllowed) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostMethodNotAllowed %s", 405, payload) +} + +func (o *PcloudCloudconnectionsPostMethodNotAllowed) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostMethodNotAllowed %s", 405, payload) +} + +func (o *PcloudCloudconnectionsPostMethodNotAllowed) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostMethodNotAllowed) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostRequestTimeout creates a PcloudCloudconnectionsPostRequestTimeout with default headers values +func NewPcloudCloudconnectionsPostRequestTimeout() *PcloudCloudconnectionsPostRequestTimeout { + return &PcloudCloudconnectionsPostRequestTimeout{} +} + +/* +PcloudCloudconnectionsPostRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudCloudconnectionsPostRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post request timeout response has a 2xx status code +func (o *PcloudCloudconnectionsPostRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post request timeout response has a 3xx status code +func (o *PcloudCloudconnectionsPostRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post request timeout response has a 4xx status code +func (o *PcloudCloudconnectionsPostRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections post request timeout response has a 5xx status code +func (o *PcloudCloudconnectionsPostRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post request timeout response a status code equal to that given +func (o *PcloudCloudconnectionsPostRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud cloudconnections post request timeout response +func (o *PcloudCloudconnectionsPostRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudCloudconnectionsPostRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsPostRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsPostRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostConflict creates a PcloudCloudconnectionsPostConflict with default headers values +func NewPcloudCloudconnectionsPostConflict() *PcloudCloudconnectionsPostConflict { + return &PcloudCloudconnectionsPostConflict{} +} + +/* +PcloudCloudconnectionsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudCloudconnectionsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post conflict response has a 2xx status code +func (o *PcloudCloudconnectionsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post conflict response has a 3xx status code +func (o *PcloudCloudconnectionsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post conflict response has a 4xx status code +func (o *PcloudCloudconnectionsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections post conflict response has a 5xx status code +func (o *PcloudCloudconnectionsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post conflict response a status code equal to that given +func (o *PcloudCloudconnectionsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud cloudconnections post conflict response +func (o *PcloudCloudconnectionsPostConflict) Code() int { + return 409 +} + +func (o *PcloudCloudconnectionsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostConflict %s", 409, payload) +} + +func (o *PcloudCloudconnectionsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostConflict %s", 409, payload) +} + +func (o *PcloudCloudconnectionsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostUnprocessableEntity creates a PcloudCloudconnectionsPostUnprocessableEntity with default headers values +func NewPcloudCloudconnectionsPostUnprocessableEntity() *PcloudCloudconnectionsPostUnprocessableEntity { + return &PcloudCloudconnectionsPostUnprocessableEntity{} +} + +/* +PcloudCloudconnectionsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudconnectionsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post unprocessable entity response has a 2xx status code +func (o *PcloudCloudconnectionsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post unprocessable entity response has a 3xx status code +func (o *PcloudCloudconnectionsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post unprocessable entity response has a 4xx status code +func (o *PcloudCloudconnectionsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections post unprocessable entity response has a 5xx status code +func (o *PcloudCloudconnectionsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections post unprocessable entity response a status code equal to that given +func (o *PcloudCloudconnectionsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudconnections post unprocessable entity response +func (o *PcloudCloudconnectionsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudconnectionsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudconnectionsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudconnectionsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostInternalServerError creates a PcloudCloudconnectionsPostInternalServerError with default headers values +func NewPcloudCloudconnectionsPostInternalServerError() *PcloudCloudconnectionsPostInternalServerError { + return &PcloudCloudconnectionsPostInternalServerError{} +} + +/* +PcloudCloudconnectionsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudconnectionsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post internal server error response has a 2xx status code +func (o *PcloudCloudconnectionsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post internal server error response has a 3xx status code +func (o *PcloudCloudconnectionsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post internal server error response has a 4xx status code +func (o *PcloudCloudconnectionsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections post internal server error response has a 5xx status code +func (o *PcloudCloudconnectionsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections post internal server error response a status code equal to that given +func (o *PcloudCloudconnectionsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudconnections post internal server error response +func (o *PcloudCloudconnectionsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudconnectionsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostServiceUnavailable creates a PcloudCloudconnectionsPostServiceUnavailable with default headers values +func NewPcloudCloudconnectionsPostServiceUnavailable() *PcloudCloudconnectionsPostServiceUnavailable { + return &PcloudCloudconnectionsPostServiceUnavailable{} +} + +/* +PcloudCloudconnectionsPostServiceUnavailable describes a response with status code 503, with default header values. + +Service Unavailable +*/ +type PcloudCloudconnectionsPostServiceUnavailable struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post service unavailable response has a 2xx status code +func (o *PcloudCloudconnectionsPostServiceUnavailable) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post service unavailable response has a 3xx status code +func (o *PcloudCloudconnectionsPostServiceUnavailable) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post service unavailable response has a 4xx status code +func (o *PcloudCloudconnectionsPostServiceUnavailable) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections post service unavailable response has a 5xx status code +func (o *PcloudCloudconnectionsPostServiceUnavailable) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections post service unavailable response a status code equal to that given +func (o *PcloudCloudconnectionsPostServiceUnavailable) IsCode(code int) bool { + return code == 503 +} + +// Code gets the status code for the pcloud cloudconnections post service unavailable response +func (o *PcloudCloudconnectionsPostServiceUnavailable) Code() int { + return 503 +} + +func (o *PcloudCloudconnectionsPostServiceUnavailable) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostServiceUnavailable %s", 503, payload) +} + +func (o *PcloudCloudconnectionsPostServiceUnavailable) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostServiceUnavailable %s", 503, payload) +} + +func (o *PcloudCloudconnectionsPostServiceUnavailable) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPostGatewayTimeout creates a PcloudCloudconnectionsPostGatewayTimeout with default headers values +func NewPcloudCloudconnectionsPostGatewayTimeout() *PcloudCloudconnectionsPostGatewayTimeout { + return &PcloudCloudconnectionsPostGatewayTimeout{} +} + +/* +PcloudCloudconnectionsPostGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout +*/ +type PcloudCloudconnectionsPostGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections post gateway timeout response has a 2xx status code +func (o *PcloudCloudconnectionsPostGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections post gateway timeout response has a 3xx status code +func (o *PcloudCloudconnectionsPostGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections post gateway timeout response has a 4xx status code +func (o *PcloudCloudconnectionsPostGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections post gateway timeout response has a 5xx status code +func (o *PcloudCloudconnectionsPostGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections post gateway timeout response a status code equal to that given +func (o *PcloudCloudconnectionsPostGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the pcloud cloudconnections post gateway timeout response +func (o *PcloudCloudconnectionsPostGatewayTimeout) Code() int { + return 504 +} + +func (o *PcloudCloudconnectionsPostGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudCloudconnectionsPostGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections][%d] pcloudCloudconnectionsPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudCloudconnectionsPostGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPostGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_put_parameters.go new file mode 100644 index 000000000..61ecb3bec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudconnectionsPutParams creates a new PcloudCloudconnectionsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudconnectionsPutParams() *PcloudCloudconnectionsPutParams { + return &PcloudCloudconnectionsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudconnectionsPutParamsWithTimeout creates a new PcloudCloudconnectionsPutParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudconnectionsPutParamsWithTimeout(timeout time.Duration) *PcloudCloudconnectionsPutParams { + return &PcloudCloudconnectionsPutParams{ + timeout: timeout, + } +} + +// NewPcloudCloudconnectionsPutParamsWithContext creates a new PcloudCloudconnectionsPutParams object +// with the ability to set a context for a request. +func NewPcloudCloudconnectionsPutParamsWithContext(ctx context.Context) *PcloudCloudconnectionsPutParams { + return &PcloudCloudconnectionsPutParams{ + Context: ctx, + } +} + +// NewPcloudCloudconnectionsPutParamsWithHTTPClient creates a new PcloudCloudconnectionsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudconnectionsPutParamsWithHTTPClient(client *http.Client) *PcloudCloudconnectionsPutParams { + return &PcloudCloudconnectionsPutParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudconnectionsPutParams contains all the parameters to send to the API endpoint + + for the pcloud cloudconnections put operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudconnectionsPutParams struct { + + /* Body. + + Parameters to update a Cloud Connection + */ + Body *models.CloudConnectionUpdate + + /* CloudConnectionID. + + Cloud Connection ID + */ + CloudConnectionID string + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudconnections put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsPutParams) WithDefaults() *PcloudCloudconnectionsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudconnections put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) WithTimeout(timeout time.Duration) *PcloudCloudconnectionsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) WithContext(ctx context.Context) *PcloudCloudconnectionsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) WithHTTPClient(client *http.Client) *PcloudCloudconnectionsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) WithBody(body *models.CloudConnectionUpdate) *PcloudCloudconnectionsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) SetBody(body *models.CloudConnectionUpdate) { + o.Body = body +} + +// WithCloudConnectionID adds the cloudConnectionID to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) WithCloudConnectionID(cloudConnectionID string) *PcloudCloudconnectionsPutParams { + o.SetCloudConnectionID(cloudConnectionID) + return o +} + +// SetCloudConnectionID adds the cloudConnectionId to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) SetCloudConnectionID(cloudConnectionID string) { + o.CloudConnectionID = cloudConnectionID +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudconnectionsPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudconnections put params +func (o *PcloudCloudconnectionsPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudconnectionsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_connection_id + if err := r.SetPathParam("cloud_connection_id", o.CloudConnectionID); err != nil { + return err + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_put_responses.go new file mode 100644 index 000000000..410933c6c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_put_responses.go @@ -0,0 +1,943 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudconnectionsPutReader is a Reader for the PcloudCloudconnectionsPut structure. +type PcloudCloudconnectionsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudconnectionsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudconnectionsPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudCloudconnectionsPutAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudconnectionsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudconnectionsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudconnectionsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudconnectionsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 405: + result := NewPcloudCloudconnectionsPutMethodNotAllowed() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudCloudconnectionsPutRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudCloudconnectionsPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudconnectionsPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudconnectionsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 503: + result := NewPcloudCloudconnectionsPutServiceUnavailable() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}] pcloud.cloudconnections.put", response, response.Code()) + } +} + +// NewPcloudCloudconnectionsPutOK creates a PcloudCloudconnectionsPutOK with default headers values +func NewPcloudCloudconnectionsPutOK() *PcloudCloudconnectionsPutOK { + return &PcloudCloudconnectionsPutOK{} +} + +/* +PcloudCloudconnectionsPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudconnectionsPutOK struct { + Payload *models.CloudConnection +} + +// IsSuccess returns true when this pcloud cloudconnections put o k response has a 2xx status code +func (o *PcloudCloudconnectionsPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections put o k response has a 3xx status code +func (o *PcloudCloudconnectionsPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put o k response has a 4xx status code +func (o *PcloudCloudconnectionsPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections put o k response has a 5xx status code +func (o *PcloudCloudconnectionsPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put o k response a status code equal to that given +func (o *PcloudCloudconnectionsPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudconnections put o k response +func (o *PcloudCloudconnectionsPutOK) Code() int { + return 200 +} + +func (o *PcloudCloudconnectionsPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsPutOK) GetPayload() *models.CloudConnection { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudConnection) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutAccepted creates a PcloudCloudconnectionsPutAccepted with default headers values +func NewPcloudCloudconnectionsPutAccepted() *PcloudCloudconnectionsPutAccepted { + return &PcloudCloudconnectionsPutAccepted{} +} + +/* +PcloudCloudconnectionsPutAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudconnectionsPutAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud cloudconnections put accepted response has a 2xx status code +func (o *PcloudCloudconnectionsPutAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections put accepted response has a 3xx status code +func (o *PcloudCloudconnectionsPutAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put accepted response has a 4xx status code +func (o *PcloudCloudconnectionsPutAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections put accepted response has a 5xx status code +func (o *PcloudCloudconnectionsPutAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put accepted response a status code equal to that given +func (o *PcloudCloudconnectionsPutAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudconnections put accepted response +func (o *PcloudCloudconnectionsPutAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudconnectionsPutAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsPutAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutAccepted %s", 202, payload) +} + +func (o *PcloudCloudconnectionsPutAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutBadRequest creates a PcloudCloudconnectionsPutBadRequest with default headers values +func NewPcloudCloudconnectionsPutBadRequest() *PcloudCloudconnectionsPutBadRequest { + return &PcloudCloudconnectionsPutBadRequest{} +} + +/* +PcloudCloudconnectionsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudconnectionsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put bad request response has a 2xx status code +func (o *PcloudCloudconnectionsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put bad request response has a 3xx status code +func (o *PcloudCloudconnectionsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put bad request response has a 4xx status code +func (o *PcloudCloudconnectionsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections put bad request response has a 5xx status code +func (o *PcloudCloudconnectionsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put bad request response a status code equal to that given +func (o *PcloudCloudconnectionsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudconnections put bad request response +func (o *PcloudCloudconnectionsPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudconnectionsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutUnauthorized creates a PcloudCloudconnectionsPutUnauthorized with default headers values +func NewPcloudCloudconnectionsPutUnauthorized() *PcloudCloudconnectionsPutUnauthorized { + return &PcloudCloudconnectionsPutUnauthorized{} +} + +/* +PcloudCloudconnectionsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudconnectionsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put unauthorized response has a 2xx status code +func (o *PcloudCloudconnectionsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put unauthorized response has a 3xx status code +func (o *PcloudCloudconnectionsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put unauthorized response has a 4xx status code +func (o *PcloudCloudconnectionsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections put unauthorized response has a 5xx status code +func (o *PcloudCloudconnectionsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put unauthorized response a status code equal to that given +func (o *PcloudCloudconnectionsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudconnections put unauthorized response +func (o *PcloudCloudconnectionsPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudconnectionsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutForbidden creates a PcloudCloudconnectionsPutForbidden with default headers values +func NewPcloudCloudconnectionsPutForbidden() *PcloudCloudconnectionsPutForbidden { + return &PcloudCloudconnectionsPutForbidden{} +} + +/* +PcloudCloudconnectionsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudconnectionsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put forbidden response has a 2xx status code +func (o *PcloudCloudconnectionsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put forbidden response has a 3xx status code +func (o *PcloudCloudconnectionsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put forbidden response has a 4xx status code +func (o *PcloudCloudconnectionsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections put forbidden response has a 5xx status code +func (o *PcloudCloudconnectionsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put forbidden response a status code equal to that given +func (o *PcloudCloudconnectionsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudconnections put forbidden response +func (o *PcloudCloudconnectionsPutForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudconnectionsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutNotFound creates a PcloudCloudconnectionsPutNotFound with default headers values +func NewPcloudCloudconnectionsPutNotFound() *PcloudCloudconnectionsPutNotFound { + return &PcloudCloudconnectionsPutNotFound{} +} + +/* +PcloudCloudconnectionsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudconnectionsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put not found response has a 2xx status code +func (o *PcloudCloudconnectionsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put not found response has a 3xx status code +func (o *PcloudCloudconnectionsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put not found response has a 4xx status code +func (o *PcloudCloudconnectionsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections put not found response has a 5xx status code +func (o *PcloudCloudconnectionsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put not found response a status code equal to that given +func (o *PcloudCloudconnectionsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudconnections put not found response +func (o *PcloudCloudconnectionsPutNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudconnectionsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutMethodNotAllowed creates a PcloudCloudconnectionsPutMethodNotAllowed with default headers values +func NewPcloudCloudconnectionsPutMethodNotAllowed() *PcloudCloudconnectionsPutMethodNotAllowed { + return &PcloudCloudconnectionsPutMethodNotAllowed{} +} + +/* +PcloudCloudconnectionsPutMethodNotAllowed describes a response with status code 405, with default header values. + +Method Not Allowed +*/ +type PcloudCloudconnectionsPutMethodNotAllowed struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put method not allowed response has a 2xx status code +func (o *PcloudCloudconnectionsPutMethodNotAllowed) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put method not allowed response has a 3xx status code +func (o *PcloudCloudconnectionsPutMethodNotAllowed) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put method not allowed response has a 4xx status code +func (o *PcloudCloudconnectionsPutMethodNotAllowed) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections put method not allowed response has a 5xx status code +func (o *PcloudCloudconnectionsPutMethodNotAllowed) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put method not allowed response a status code equal to that given +func (o *PcloudCloudconnectionsPutMethodNotAllowed) IsCode(code int) bool { + return code == 405 +} + +// Code gets the status code for the pcloud cloudconnections put method not allowed response +func (o *PcloudCloudconnectionsPutMethodNotAllowed) Code() int { + return 405 +} + +func (o *PcloudCloudconnectionsPutMethodNotAllowed) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutMethodNotAllowed %s", 405, payload) +} + +func (o *PcloudCloudconnectionsPutMethodNotAllowed) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutMethodNotAllowed %s", 405, payload) +} + +func (o *PcloudCloudconnectionsPutMethodNotAllowed) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutMethodNotAllowed) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutRequestTimeout creates a PcloudCloudconnectionsPutRequestTimeout with default headers values +func NewPcloudCloudconnectionsPutRequestTimeout() *PcloudCloudconnectionsPutRequestTimeout { + return &PcloudCloudconnectionsPutRequestTimeout{} +} + +/* +PcloudCloudconnectionsPutRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudCloudconnectionsPutRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put request timeout response has a 2xx status code +func (o *PcloudCloudconnectionsPutRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put request timeout response has a 3xx status code +func (o *PcloudCloudconnectionsPutRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put request timeout response has a 4xx status code +func (o *PcloudCloudconnectionsPutRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections put request timeout response has a 5xx status code +func (o *PcloudCloudconnectionsPutRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put request timeout response a status code equal to that given +func (o *PcloudCloudconnectionsPutRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud cloudconnections put request timeout response +func (o *PcloudCloudconnectionsPutRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudCloudconnectionsPutRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsPutRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsPutRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutConflict creates a PcloudCloudconnectionsPutConflict with default headers values +func NewPcloudCloudconnectionsPutConflict() *PcloudCloudconnectionsPutConflict { + return &PcloudCloudconnectionsPutConflict{} +} + +/* +PcloudCloudconnectionsPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudCloudconnectionsPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put conflict response has a 2xx status code +func (o *PcloudCloudconnectionsPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put conflict response has a 3xx status code +func (o *PcloudCloudconnectionsPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put conflict response has a 4xx status code +func (o *PcloudCloudconnectionsPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections put conflict response has a 5xx status code +func (o *PcloudCloudconnectionsPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put conflict response a status code equal to that given +func (o *PcloudCloudconnectionsPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud cloudconnections put conflict response +func (o *PcloudCloudconnectionsPutConflict) Code() int { + return 409 +} + +func (o *PcloudCloudconnectionsPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutConflict %s", 409, payload) +} + +func (o *PcloudCloudconnectionsPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutConflict %s", 409, payload) +} + +func (o *PcloudCloudconnectionsPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutUnprocessableEntity creates a PcloudCloudconnectionsPutUnprocessableEntity with default headers values +func NewPcloudCloudconnectionsPutUnprocessableEntity() *PcloudCloudconnectionsPutUnprocessableEntity { + return &PcloudCloudconnectionsPutUnprocessableEntity{} +} + +/* +PcloudCloudconnectionsPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudconnectionsPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put unprocessable entity response has a 2xx status code +func (o *PcloudCloudconnectionsPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put unprocessable entity response has a 3xx status code +func (o *PcloudCloudconnectionsPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put unprocessable entity response has a 4xx status code +func (o *PcloudCloudconnectionsPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections put unprocessable entity response has a 5xx status code +func (o *PcloudCloudconnectionsPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections put unprocessable entity response a status code equal to that given +func (o *PcloudCloudconnectionsPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudconnections put unprocessable entity response +func (o *PcloudCloudconnectionsPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudconnectionsPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudconnectionsPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudconnectionsPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutInternalServerError creates a PcloudCloudconnectionsPutInternalServerError with default headers values +func NewPcloudCloudconnectionsPutInternalServerError() *PcloudCloudconnectionsPutInternalServerError { + return &PcloudCloudconnectionsPutInternalServerError{} +} + +/* +PcloudCloudconnectionsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudconnectionsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put internal server error response has a 2xx status code +func (o *PcloudCloudconnectionsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put internal server error response has a 3xx status code +func (o *PcloudCloudconnectionsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put internal server error response has a 4xx status code +func (o *PcloudCloudconnectionsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections put internal server error response has a 5xx status code +func (o *PcloudCloudconnectionsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections put internal server error response a status code equal to that given +func (o *PcloudCloudconnectionsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudconnections put internal server error response +func (o *PcloudCloudconnectionsPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudconnectionsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsPutServiceUnavailable creates a PcloudCloudconnectionsPutServiceUnavailable with default headers values +func NewPcloudCloudconnectionsPutServiceUnavailable() *PcloudCloudconnectionsPutServiceUnavailable { + return &PcloudCloudconnectionsPutServiceUnavailable{} +} + +/* +PcloudCloudconnectionsPutServiceUnavailable describes a response with status code 503, with default header values. + +Service Unavailable +*/ +type PcloudCloudconnectionsPutServiceUnavailable struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections put service unavailable response has a 2xx status code +func (o *PcloudCloudconnectionsPutServiceUnavailable) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections put service unavailable response has a 3xx status code +func (o *PcloudCloudconnectionsPutServiceUnavailable) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections put service unavailable response has a 4xx status code +func (o *PcloudCloudconnectionsPutServiceUnavailable) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections put service unavailable response has a 5xx status code +func (o *PcloudCloudconnectionsPutServiceUnavailable) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections put service unavailable response a status code equal to that given +func (o *PcloudCloudconnectionsPutServiceUnavailable) IsCode(code int) bool { + return code == 503 +} + +// Code gets the status code for the pcloud cloudconnections put service unavailable response +func (o *PcloudCloudconnectionsPutServiceUnavailable) Code() int { + return 503 +} + +func (o *PcloudCloudconnectionsPutServiceUnavailable) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutServiceUnavailable %s", 503, payload) +} + +func (o *PcloudCloudconnectionsPutServiceUnavailable) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections/{cloud_connection_id}][%d] pcloudCloudconnectionsPutServiceUnavailable %s", 503, payload) +} + +func (o *PcloudCloudconnectionsPutServiceUnavailable) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsPutServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_virtualprivateclouds_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_virtualprivateclouds_getall_parameters.go new file mode 100644 index 000000000..64064893b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_virtualprivateclouds_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallParams creates a new PcloudCloudconnectionsVirtualprivatecloudsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallParams() *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallParamsWithTimeout creates a new PcloudCloudconnectionsVirtualprivatecloudsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallParamsWithTimeout(timeout time.Duration) *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallParamsWithContext creates a new PcloudCloudconnectionsVirtualprivatecloudsGetallParams object +// with the ability to set a context for a request. +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallParamsWithContext(ctx context.Context) *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallParams{ + Context: ctx, + } +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallParamsWithHTTPClient creates a new PcloudCloudconnectionsVirtualprivatecloudsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallParamsWithHTTPClient(client *http.Client) *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud cloudconnections virtualprivateclouds getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudconnections virtualprivateclouds getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) WithDefaults() *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudconnections virtualprivateclouds getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudconnections virtualprivateclouds getall params +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) WithTimeout(timeout time.Duration) *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudconnections virtualprivateclouds getall params +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudconnections virtualprivateclouds getall params +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) WithContext(ctx context.Context) *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudconnections virtualprivateclouds getall params +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudconnections virtualprivateclouds getall params +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) WithHTTPClient(client *http.Client) *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudconnections virtualprivateclouds getall params +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudconnections virtualprivateclouds getall params +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudconnectionsVirtualprivatecloudsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudconnections virtualprivateclouds getall params +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_virtualprivateclouds_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_virtualprivateclouds_getall_responses.go new file mode 100644 index 000000000..b85e713d5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections/pcloud_cloudconnections_virtualprivateclouds_getall_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_cloud_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudconnectionsVirtualprivatecloudsGetallReader is a Reader for the PcloudCloudconnectionsVirtualprivatecloudsGetall structure. +type PcloudCloudconnectionsVirtualprivatecloudsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 503: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewPcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds] pcloud.cloudconnections.virtualprivateclouds.getall", response, response.Code()) + } +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallOK creates a PcloudCloudconnectionsVirtualprivatecloudsGetallOK with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallOK() *PcloudCloudconnectionsVirtualprivatecloudsGetallOK { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallOK{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallOK struct { + Payload *models.CloudConnectionVirtualPrivateClouds +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall o k response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall o k response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall o k response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall o k response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall o k response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall o k response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) Code() int { + return 200 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallOK %s", 200, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) GetPayload() *models.CloudConnectionVirtualPrivateClouds { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudConnectionVirtualPrivateClouds) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest creates a PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest() *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall bad request response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall bad request response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall bad request response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall bad request response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall bad request response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall bad request response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized creates a PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized() *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall unauthorized response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall unauthorized response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall unauthorized response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall unauthorized response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall unauthorized response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall unauthorized response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallForbidden creates a PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallForbidden() *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall forbidden response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall forbidden response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall forbidden response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall forbidden response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall forbidden response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall forbidden response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallNotFound creates a PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallNotFound() *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall not found response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall not found response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall not found response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall not found response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall not found response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall not found response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout creates a PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout() *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall request timeout response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall request timeout response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall request timeout response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall request timeout response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall request timeout response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall request timeout response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout %s", 408, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError creates a PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError() *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall internal server error response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall internal server error response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall internal server error response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall internal server error response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall internal server error response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall internal server error response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable creates a PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable() *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable describes a response with status code 503, with default header values. + +Service Unavailable +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall service unavailable response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall service unavailable response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall service unavailable response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall service unavailable response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall service unavailable response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) IsCode(code int) bool { + return code == 503 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall service unavailable response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) Code() int { + return 503 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable %s", 503, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable %s", 503, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout creates a PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout with default headers values +func NewPcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout() *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout { + return &PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout{} +} + +/* +PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout +*/ +type PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudconnections virtualprivateclouds getall gateway timeout response has a 2xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudconnections virtualprivateclouds getall gateway timeout response has a 3xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudconnections virtualprivateclouds getall gateway timeout response has a 4xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudconnections virtualprivateclouds getall gateway timeout response has a 5xx status code +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudconnections virtualprivateclouds getall gateway timeout response a status code equal to that given +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the pcloud cloudconnections virtualprivateclouds getall gateway timeout response +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) Code() int { + return 504 +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout %s", 504, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cloud-connections-virtual-private-clouds][%d] pcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout %s", 504, payload) +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudconnectionsVirtualprivatecloudsGetallGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/p_cloud_disaster_recovery_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/p_cloud_disaster_recovery_client.go new file mode 100644 index 000000000..f3e9a0fe0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/p_cloud_disaster_recovery_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_disaster_recovery + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud disaster recovery API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud disaster recovery API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud disaster recovery API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud disaster recovery API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudLocationsDisasterrecoveryGet(params *PcloudLocationsDisasterrecoveryGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudLocationsDisasterrecoveryGetOK, error) + + PcloudLocationsDisasterrecoveryGetall(params *PcloudLocationsDisasterrecoveryGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudLocationsDisasterrecoveryGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudLocationsDisasterrecoveryGet gets the disaster recovery site details for the current location +*/ +func (a *Client) PcloudLocationsDisasterrecoveryGet(params *PcloudLocationsDisasterrecoveryGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudLocationsDisasterrecoveryGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudLocationsDisasterrecoveryGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.locations.disasterrecovery.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudLocationsDisasterrecoveryGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudLocationsDisasterrecoveryGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.locations.disasterrecovery.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudLocationsDisasterrecoveryGetall gets all disaster recovery locations supported by power virtual server +*/ +func (a *Client) PcloudLocationsDisasterrecoveryGetall(params *PcloudLocationsDisasterrecoveryGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudLocationsDisasterrecoveryGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudLocationsDisasterrecoveryGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.locations.disasterrecovery.getall", + Method: "GET", + PathPattern: "/pcloud/v1/locations/disaster-recovery", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudLocationsDisasterrecoveryGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudLocationsDisasterrecoveryGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.locations.disasterrecovery.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_get_parameters.go new file mode 100644 index 000000000..7bdf07a13 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_disaster_recovery + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudLocationsDisasterrecoveryGetParams creates a new PcloudLocationsDisasterrecoveryGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudLocationsDisasterrecoveryGetParams() *PcloudLocationsDisasterrecoveryGetParams { + return &PcloudLocationsDisasterrecoveryGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudLocationsDisasterrecoveryGetParamsWithTimeout creates a new PcloudLocationsDisasterrecoveryGetParams object +// with the ability to set a timeout on a request. +func NewPcloudLocationsDisasterrecoveryGetParamsWithTimeout(timeout time.Duration) *PcloudLocationsDisasterrecoveryGetParams { + return &PcloudLocationsDisasterrecoveryGetParams{ + timeout: timeout, + } +} + +// NewPcloudLocationsDisasterrecoveryGetParamsWithContext creates a new PcloudLocationsDisasterrecoveryGetParams object +// with the ability to set a context for a request. +func NewPcloudLocationsDisasterrecoveryGetParamsWithContext(ctx context.Context) *PcloudLocationsDisasterrecoveryGetParams { + return &PcloudLocationsDisasterrecoveryGetParams{ + Context: ctx, + } +} + +// NewPcloudLocationsDisasterrecoveryGetParamsWithHTTPClient creates a new PcloudLocationsDisasterrecoveryGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudLocationsDisasterrecoveryGetParamsWithHTTPClient(client *http.Client) *PcloudLocationsDisasterrecoveryGetParams { + return &PcloudLocationsDisasterrecoveryGetParams{ + HTTPClient: client, + } +} + +/* +PcloudLocationsDisasterrecoveryGetParams contains all the parameters to send to the API endpoint + + for the pcloud locations disasterrecovery get operation. + + Typically these are written to a http.Request. +*/ +type PcloudLocationsDisasterrecoveryGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud locations disasterrecovery get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudLocationsDisasterrecoveryGetParams) WithDefaults() *PcloudLocationsDisasterrecoveryGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud locations disasterrecovery get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudLocationsDisasterrecoveryGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud locations disasterrecovery get params +func (o *PcloudLocationsDisasterrecoveryGetParams) WithTimeout(timeout time.Duration) *PcloudLocationsDisasterrecoveryGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud locations disasterrecovery get params +func (o *PcloudLocationsDisasterrecoveryGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud locations disasterrecovery get params +func (o *PcloudLocationsDisasterrecoveryGetParams) WithContext(ctx context.Context) *PcloudLocationsDisasterrecoveryGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud locations disasterrecovery get params +func (o *PcloudLocationsDisasterrecoveryGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud locations disasterrecovery get params +func (o *PcloudLocationsDisasterrecoveryGetParams) WithHTTPClient(client *http.Client) *PcloudLocationsDisasterrecoveryGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud locations disasterrecovery get params +func (o *PcloudLocationsDisasterrecoveryGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud locations disasterrecovery get params +func (o *PcloudLocationsDisasterrecoveryGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudLocationsDisasterrecoveryGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud locations disasterrecovery get params +func (o *PcloudLocationsDisasterrecoveryGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudLocationsDisasterrecoveryGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_get_responses.go new file mode 100644 index 000000000..6b0733507 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_disaster_recovery + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudLocationsDisasterrecoveryGetReader is a Reader for the PcloudLocationsDisasterrecoveryGet structure. +type PcloudLocationsDisasterrecoveryGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudLocationsDisasterrecoveryGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudLocationsDisasterrecoveryGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudLocationsDisasterrecoveryGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudLocationsDisasterrecoveryGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudLocationsDisasterrecoveryGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudLocationsDisasterrecoveryGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudLocationsDisasterrecoveryGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery] pcloud.locations.disasterrecovery.get", response, response.Code()) + } +} + +// NewPcloudLocationsDisasterrecoveryGetOK creates a PcloudLocationsDisasterrecoveryGetOK with default headers values +func NewPcloudLocationsDisasterrecoveryGetOK() *PcloudLocationsDisasterrecoveryGetOK { + return &PcloudLocationsDisasterrecoveryGetOK{} +} + +/* +PcloudLocationsDisasterrecoveryGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudLocationsDisasterrecoveryGetOK struct { + Payload *models.DisasterRecoveryLocation +} + +// IsSuccess returns true when this pcloud locations disasterrecovery get o k response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud locations disasterrecovery get o k response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery get o k response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud locations disasterrecovery get o k response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery get o k response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud locations disasterrecovery get o k response +func (o *PcloudLocationsDisasterrecoveryGetOK) Code() int { + return 200 +} + +func (o *PcloudLocationsDisasterrecoveryGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetOK %s", 200, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetOK %s", 200, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetOK) GetPayload() *models.DisasterRecoveryLocation { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.DisasterRecoveryLocation) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetBadRequest creates a PcloudLocationsDisasterrecoveryGetBadRequest with default headers values +func NewPcloudLocationsDisasterrecoveryGetBadRequest() *PcloudLocationsDisasterrecoveryGetBadRequest { + return &PcloudLocationsDisasterrecoveryGetBadRequest{} +} + +/* +PcloudLocationsDisasterrecoveryGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudLocationsDisasterrecoveryGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery get bad request response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery get bad request response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery get bad request response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud locations disasterrecovery get bad request response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery get bad request response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud locations disasterrecovery get bad request response +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetBadRequest %s", 400, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetBadRequest %s", 400, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetUnauthorized creates a PcloudLocationsDisasterrecoveryGetUnauthorized with default headers values +func NewPcloudLocationsDisasterrecoveryGetUnauthorized() *PcloudLocationsDisasterrecoveryGetUnauthorized { + return &PcloudLocationsDisasterrecoveryGetUnauthorized{} +} + +/* +PcloudLocationsDisasterrecoveryGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudLocationsDisasterrecoveryGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery get unauthorized response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery get unauthorized response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery get unauthorized response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud locations disasterrecovery get unauthorized response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery get unauthorized response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud locations disasterrecovery get unauthorized response +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetUnauthorized %s", 401, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetUnauthorized %s", 401, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetForbidden creates a PcloudLocationsDisasterrecoveryGetForbidden with default headers values +func NewPcloudLocationsDisasterrecoveryGetForbidden() *PcloudLocationsDisasterrecoveryGetForbidden { + return &PcloudLocationsDisasterrecoveryGetForbidden{} +} + +/* +PcloudLocationsDisasterrecoveryGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudLocationsDisasterrecoveryGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery get forbidden response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery get forbidden response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery get forbidden response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud locations disasterrecovery get forbidden response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery get forbidden response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud locations disasterrecovery get forbidden response +func (o *PcloudLocationsDisasterrecoveryGetForbidden) Code() int { + return 403 +} + +func (o *PcloudLocationsDisasterrecoveryGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetForbidden %s", 403, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetForbidden %s", 403, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetNotFound creates a PcloudLocationsDisasterrecoveryGetNotFound with default headers values +func NewPcloudLocationsDisasterrecoveryGetNotFound() *PcloudLocationsDisasterrecoveryGetNotFound { + return &PcloudLocationsDisasterrecoveryGetNotFound{} +} + +/* +PcloudLocationsDisasterrecoveryGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudLocationsDisasterrecoveryGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery get not found response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery get not found response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery get not found response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud locations disasterrecovery get not found response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery get not found response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud locations disasterrecovery get not found response +func (o *PcloudLocationsDisasterrecoveryGetNotFound) Code() int { + return 404 +} + +func (o *PcloudLocationsDisasterrecoveryGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetNotFound %s", 404, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetNotFound %s", 404, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetInternalServerError creates a PcloudLocationsDisasterrecoveryGetInternalServerError with default headers values +func NewPcloudLocationsDisasterrecoveryGetInternalServerError() *PcloudLocationsDisasterrecoveryGetInternalServerError { + return &PcloudLocationsDisasterrecoveryGetInternalServerError{} +} + +/* +PcloudLocationsDisasterrecoveryGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudLocationsDisasterrecoveryGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery get internal server error response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery get internal server error response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery get internal server error response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud locations disasterrecovery get internal server error response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud locations disasterrecovery get internal server error response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud locations disasterrecovery get internal server error response +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetInternalServerError %s", 500, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetInternalServerError %s", 500, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_getall_parameters.go new file mode 100644 index 000000000..bee46c0c3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_disaster_recovery + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudLocationsDisasterrecoveryGetallParams creates a new PcloudLocationsDisasterrecoveryGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudLocationsDisasterrecoveryGetallParams() *PcloudLocationsDisasterrecoveryGetallParams { + return &PcloudLocationsDisasterrecoveryGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudLocationsDisasterrecoveryGetallParamsWithTimeout creates a new PcloudLocationsDisasterrecoveryGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudLocationsDisasterrecoveryGetallParamsWithTimeout(timeout time.Duration) *PcloudLocationsDisasterrecoveryGetallParams { + return &PcloudLocationsDisasterrecoveryGetallParams{ + timeout: timeout, + } +} + +// NewPcloudLocationsDisasterrecoveryGetallParamsWithContext creates a new PcloudLocationsDisasterrecoveryGetallParams object +// with the ability to set a context for a request. +func NewPcloudLocationsDisasterrecoveryGetallParamsWithContext(ctx context.Context) *PcloudLocationsDisasterrecoveryGetallParams { + return &PcloudLocationsDisasterrecoveryGetallParams{ + Context: ctx, + } +} + +// NewPcloudLocationsDisasterrecoveryGetallParamsWithHTTPClient creates a new PcloudLocationsDisasterrecoveryGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudLocationsDisasterrecoveryGetallParamsWithHTTPClient(client *http.Client) *PcloudLocationsDisasterrecoveryGetallParams { + return &PcloudLocationsDisasterrecoveryGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudLocationsDisasterrecoveryGetallParams contains all the parameters to send to the API endpoint + + for the pcloud locations disasterrecovery getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudLocationsDisasterrecoveryGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud locations disasterrecovery getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudLocationsDisasterrecoveryGetallParams) WithDefaults() *PcloudLocationsDisasterrecoveryGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud locations disasterrecovery getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudLocationsDisasterrecoveryGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud locations disasterrecovery getall params +func (o *PcloudLocationsDisasterrecoveryGetallParams) WithTimeout(timeout time.Duration) *PcloudLocationsDisasterrecoveryGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud locations disasterrecovery getall params +func (o *PcloudLocationsDisasterrecoveryGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud locations disasterrecovery getall params +func (o *PcloudLocationsDisasterrecoveryGetallParams) WithContext(ctx context.Context) *PcloudLocationsDisasterrecoveryGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud locations disasterrecovery getall params +func (o *PcloudLocationsDisasterrecoveryGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud locations disasterrecovery getall params +func (o *PcloudLocationsDisasterrecoveryGetallParams) WithHTTPClient(client *http.Client) *PcloudLocationsDisasterrecoveryGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud locations disasterrecovery getall params +func (o *PcloudLocationsDisasterrecoveryGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudLocationsDisasterrecoveryGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_getall_responses.go new file mode 100644 index 000000000..44459f78a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery/pcloud_locations_disasterrecovery_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_disaster_recovery + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudLocationsDisasterrecoveryGetallReader is a Reader for the PcloudLocationsDisasterrecoveryGetall structure. +type PcloudLocationsDisasterrecoveryGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudLocationsDisasterrecoveryGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudLocationsDisasterrecoveryGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudLocationsDisasterrecoveryGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudLocationsDisasterrecoveryGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudLocationsDisasterrecoveryGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudLocationsDisasterrecoveryGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudLocationsDisasterrecoveryGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/locations/disaster-recovery] pcloud.locations.disasterrecovery.getall", response, response.Code()) + } +} + +// NewPcloudLocationsDisasterrecoveryGetallOK creates a PcloudLocationsDisasterrecoveryGetallOK with default headers values +func NewPcloudLocationsDisasterrecoveryGetallOK() *PcloudLocationsDisasterrecoveryGetallOK { + return &PcloudLocationsDisasterrecoveryGetallOK{} +} + +/* +PcloudLocationsDisasterrecoveryGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudLocationsDisasterrecoveryGetallOK struct { + Payload *models.DisasterRecoveryLocations +} + +// IsSuccess returns true when this pcloud locations disasterrecovery getall o k response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud locations disasterrecovery getall o k response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery getall o k response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud locations disasterrecovery getall o k response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery getall o k response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud locations disasterrecovery getall o k response +func (o *PcloudLocationsDisasterrecoveryGetallOK) Code() int { + return 200 +} + +func (o *PcloudLocationsDisasterrecoveryGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallOK %s", 200, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallOK %s", 200, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallOK) GetPayload() *models.DisasterRecoveryLocations { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.DisasterRecoveryLocations) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetallBadRequest creates a PcloudLocationsDisasterrecoveryGetallBadRequest with default headers values +func NewPcloudLocationsDisasterrecoveryGetallBadRequest() *PcloudLocationsDisasterrecoveryGetallBadRequest { + return &PcloudLocationsDisasterrecoveryGetallBadRequest{} +} + +/* +PcloudLocationsDisasterrecoveryGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudLocationsDisasterrecoveryGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery getall bad request response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery getall bad request response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery getall bad request response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud locations disasterrecovery getall bad request response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery getall bad request response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud locations disasterrecovery getall bad request response +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallBadRequest %s", 400, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallBadRequest %s", 400, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetallUnauthorized creates a PcloudLocationsDisasterrecoveryGetallUnauthorized with default headers values +func NewPcloudLocationsDisasterrecoveryGetallUnauthorized() *PcloudLocationsDisasterrecoveryGetallUnauthorized { + return &PcloudLocationsDisasterrecoveryGetallUnauthorized{} +} + +/* +PcloudLocationsDisasterrecoveryGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudLocationsDisasterrecoveryGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery getall unauthorized response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery getall unauthorized response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery getall unauthorized response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud locations disasterrecovery getall unauthorized response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery getall unauthorized response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud locations disasterrecovery getall unauthorized response +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetallForbidden creates a PcloudLocationsDisasterrecoveryGetallForbidden with default headers values +func NewPcloudLocationsDisasterrecoveryGetallForbidden() *PcloudLocationsDisasterrecoveryGetallForbidden { + return &PcloudLocationsDisasterrecoveryGetallForbidden{} +} + +/* +PcloudLocationsDisasterrecoveryGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudLocationsDisasterrecoveryGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery getall forbidden response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery getall forbidden response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery getall forbidden response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud locations disasterrecovery getall forbidden response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery getall forbidden response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud locations disasterrecovery getall forbidden response +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallForbidden %s", 403, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallForbidden %s", 403, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetallNotFound creates a PcloudLocationsDisasterrecoveryGetallNotFound with default headers values +func NewPcloudLocationsDisasterrecoveryGetallNotFound() *PcloudLocationsDisasterrecoveryGetallNotFound { + return &PcloudLocationsDisasterrecoveryGetallNotFound{} +} + +/* +PcloudLocationsDisasterrecoveryGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudLocationsDisasterrecoveryGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery getall not found response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery getall not found response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery getall not found response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud locations disasterrecovery getall not found response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud locations disasterrecovery getall not found response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud locations disasterrecovery getall not found response +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallNotFound %s", 404, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallNotFound %s", 404, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudLocationsDisasterrecoveryGetallInternalServerError creates a PcloudLocationsDisasterrecoveryGetallInternalServerError with default headers values +func NewPcloudLocationsDisasterrecoveryGetallInternalServerError() *PcloudLocationsDisasterrecoveryGetallInternalServerError { + return &PcloudLocationsDisasterrecoveryGetallInternalServerError{} +} + +/* +PcloudLocationsDisasterrecoveryGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudLocationsDisasterrecoveryGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud locations disasterrecovery getall internal server error response has a 2xx status code +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud locations disasterrecovery getall internal server error response has a 3xx status code +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud locations disasterrecovery getall internal server error response has a 4xx status code +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud locations disasterrecovery getall internal server error response has a 5xx status code +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud locations disasterrecovery getall internal server error response a status code equal to that given +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud locations disasterrecovery getall internal server error response +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/locations/disaster-recovery][%d] pcloudLocationsDisasterrecoveryGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudLocationsDisasterrecoveryGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/p_cloud_events_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/p_cloud_events_client.go new file mode 100644 index 000000000..41fe971fd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/p_cloud_events_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_events + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud events API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud events API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud events API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud events API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudEventsGet(params *PcloudEventsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudEventsGetOK, error) + + PcloudEventsGetquery(params *PcloudEventsGetqueryParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudEventsGetqueryOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudEventsGet gets a single event +*/ +func (a *Client) PcloudEventsGet(params *PcloudEventsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudEventsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudEventsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.events.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudEventsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudEventsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.events.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudEventsGetquery gets events from this cloud instance since a specific timestamp +*/ +func (a *Client) PcloudEventsGetquery(params *PcloudEventsGetqueryParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudEventsGetqueryOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudEventsGetqueryParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.events.getquery", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/events", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudEventsGetqueryReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudEventsGetqueryOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.events.getquery: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_get_parameters.go new file mode 100644 index 000000000..86b441740 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_get_parameters.go @@ -0,0 +1,198 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_events + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudEventsGetParams creates a new PcloudEventsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudEventsGetParams() *PcloudEventsGetParams { + return &PcloudEventsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudEventsGetParamsWithTimeout creates a new PcloudEventsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudEventsGetParamsWithTimeout(timeout time.Duration) *PcloudEventsGetParams { + return &PcloudEventsGetParams{ + timeout: timeout, + } +} + +// NewPcloudEventsGetParamsWithContext creates a new PcloudEventsGetParams object +// with the ability to set a context for a request. +func NewPcloudEventsGetParamsWithContext(ctx context.Context) *PcloudEventsGetParams { + return &PcloudEventsGetParams{ + Context: ctx, + } +} + +// NewPcloudEventsGetParamsWithHTTPClient creates a new PcloudEventsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudEventsGetParamsWithHTTPClient(client *http.Client) *PcloudEventsGetParams { + return &PcloudEventsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudEventsGetParams contains all the parameters to send to the API endpoint + + for the pcloud events get operation. + + Typically these are written to a http.Request. +*/ +type PcloudEventsGetParams struct { + + /* AcceptLanguage. + + The language requested for the return document + */ + AcceptLanguage *string + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* EventID. + + Event ID + */ + EventID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud events get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudEventsGetParams) WithDefaults() *PcloudEventsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud events get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudEventsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud events get params +func (o *PcloudEventsGetParams) WithTimeout(timeout time.Duration) *PcloudEventsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud events get params +func (o *PcloudEventsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud events get params +func (o *PcloudEventsGetParams) WithContext(ctx context.Context) *PcloudEventsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud events get params +func (o *PcloudEventsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud events get params +func (o *PcloudEventsGetParams) WithHTTPClient(client *http.Client) *PcloudEventsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud events get params +func (o *PcloudEventsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAcceptLanguage adds the acceptLanguage to the pcloud events get params +func (o *PcloudEventsGetParams) WithAcceptLanguage(acceptLanguage *string) *PcloudEventsGetParams { + o.SetAcceptLanguage(acceptLanguage) + return o +} + +// SetAcceptLanguage adds the acceptLanguage to the pcloud events get params +func (o *PcloudEventsGetParams) SetAcceptLanguage(acceptLanguage *string) { + o.AcceptLanguage = acceptLanguage +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud events get params +func (o *PcloudEventsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudEventsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud events get params +func (o *PcloudEventsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithEventID adds the eventID to the pcloud events get params +func (o *PcloudEventsGetParams) WithEventID(eventID string) *PcloudEventsGetParams { + o.SetEventID(eventID) + return o +} + +// SetEventID adds the eventId to the pcloud events get params +func (o *PcloudEventsGetParams) SetEventID(eventID string) { + o.EventID = eventID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudEventsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.AcceptLanguage != nil { + + // header param Accept-Language + if err := r.SetHeaderParam("Accept-Language", *o.AcceptLanguage); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param event_id + if err := r.SetPathParam("event_id", o.EventID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_get_responses.go new file mode 100644 index 000000000..dff73e8d6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_events + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudEventsGetReader is a Reader for the PcloudEventsGet structure. +type PcloudEventsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudEventsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudEventsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudEventsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudEventsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudEventsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudEventsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudEventsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}] pcloud.events.get", response, response.Code()) + } +} + +// NewPcloudEventsGetOK creates a PcloudEventsGetOK with default headers values +func NewPcloudEventsGetOK() *PcloudEventsGetOK { + return &PcloudEventsGetOK{} +} + +/* +PcloudEventsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudEventsGetOK struct { + Payload *models.Event +} + +// IsSuccess returns true when this pcloud events get o k response has a 2xx status code +func (o *PcloudEventsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud events get o k response has a 3xx status code +func (o *PcloudEventsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events get o k response has a 4xx status code +func (o *PcloudEventsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud events get o k response has a 5xx status code +func (o *PcloudEventsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events get o k response a status code equal to that given +func (o *PcloudEventsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud events get o k response +func (o *PcloudEventsGetOK) Code() int { + return 200 +} + +func (o *PcloudEventsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetOK %s", 200, payload) +} + +func (o *PcloudEventsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetOK %s", 200, payload) +} + +func (o *PcloudEventsGetOK) GetPayload() *models.Event { + return o.Payload +} + +func (o *PcloudEventsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Event) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetBadRequest creates a PcloudEventsGetBadRequest with default headers values +func NewPcloudEventsGetBadRequest() *PcloudEventsGetBadRequest { + return &PcloudEventsGetBadRequest{} +} + +/* +PcloudEventsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudEventsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events get bad request response has a 2xx status code +func (o *PcloudEventsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events get bad request response has a 3xx status code +func (o *PcloudEventsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events get bad request response has a 4xx status code +func (o *PcloudEventsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud events get bad request response has a 5xx status code +func (o *PcloudEventsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events get bad request response a status code equal to that given +func (o *PcloudEventsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud events get bad request response +func (o *PcloudEventsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudEventsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetBadRequest %s", 400, payload) +} + +func (o *PcloudEventsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetBadRequest %s", 400, payload) +} + +func (o *PcloudEventsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetUnauthorized creates a PcloudEventsGetUnauthorized with default headers values +func NewPcloudEventsGetUnauthorized() *PcloudEventsGetUnauthorized { + return &PcloudEventsGetUnauthorized{} +} + +/* +PcloudEventsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudEventsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events get unauthorized response has a 2xx status code +func (o *PcloudEventsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events get unauthorized response has a 3xx status code +func (o *PcloudEventsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events get unauthorized response has a 4xx status code +func (o *PcloudEventsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud events get unauthorized response has a 5xx status code +func (o *PcloudEventsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events get unauthorized response a status code equal to that given +func (o *PcloudEventsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud events get unauthorized response +func (o *PcloudEventsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudEventsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudEventsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudEventsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetForbidden creates a PcloudEventsGetForbidden with default headers values +func NewPcloudEventsGetForbidden() *PcloudEventsGetForbidden { + return &PcloudEventsGetForbidden{} +} + +/* +PcloudEventsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudEventsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events get forbidden response has a 2xx status code +func (o *PcloudEventsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events get forbidden response has a 3xx status code +func (o *PcloudEventsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events get forbidden response has a 4xx status code +func (o *PcloudEventsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud events get forbidden response has a 5xx status code +func (o *PcloudEventsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events get forbidden response a status code equal to that given +func (o *PcloudEventsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud events get forbidden response +func (o *PcloudEventsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudEventsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetForbidden %s", 403, payload) +} + +func (o *PcloudEventsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetForbidden %s", 403, payload) +} + +func (o *PcloudEventsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetNotFound creates a PcloudEventsGetNotFound with default headers values +func NewPcloudEventsGetNotFound() *PcloudEventsGetNotFound { + return &PcloudEventsGetNotFound{} +} + +/* +PcloudEventsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudEventsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events get not found response has a 2xx status code +func (o *PcloudEventsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events get not found response has a 3xx status code +func (o *PcloudEventsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events get not found response has a 4xx status code +func (o *PcloudEventsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud events get not found response has a 5xx status code +func (o *PcloudEventsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events get not found response a status code equal to that given +func (o *PcloudEventsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud events get not found response +func (o *PcloudEventsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudEventsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetNotFound %s", 404, payload) +} + +func (o *PcloudEventsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetNotFound %s", 404, payload) +} + +func (o *PcloudEventsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetInternalServerError creates a PcloudEventsGetInternalServerError with default headers values +func NewPcloudEventsGetInternalServerError() *PcloudEventsGetInternalServerError { + return &PcloudEventsGetInternalServerError{} +} + +/* +PcloudEventsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudEventsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events get internal server error response has a 2xx status code +func (o *PcloudEventsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events get internal server error response has a 3xx status code +func (o *PcloudEventsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events get internal server error response has a 4xx status code +func (o *PcloudEventsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud events get internal server error response has a 5xx status code +func (o *PcloudEventsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud events get internal server error response a status code equal to that given +func (o *PcloudEventsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud events get internal server error response +func (o *PcloudEventsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudEventsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudEventsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events/{event_id}][%d] pcloudEventsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudEventsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_getquery_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_getquery_parameters.go new file mode 100644 index 000000000..8355be3e0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_getquery_parameters.go @@ -0,0 +1,278 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_events + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudEventsGetqueryParams creates a new PcloudEventsGetqueryParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudEventsGetqueryParams() *PcloudEventsGetqueryParams { + return &PcloudEventsGetqueryParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudEventsGetqueryParamsWithTimeout creates a new PcloudEventsGetqueryParams object +// with the ability to set a timeout on a request. +func NewPcloudEventsGetqueryParamsWithTimeout(timeout time.Duration) *PcloudEventsGetqueryParams { + return &PcloudEventsGetqueryParams{ + timeout: timeout, + } +} + +// NewPcloudEventsGetqueryParamsWithContext creates a new PcloudEventsGetqueryParams object +// with the ability to set a context for a request. +func NewPcloudEventsGetqueryParamsWithContext(ctx context.Context) *PcloudEventsGetqueryParams { + return &PcloudEventsGetqueryParams{ + Context: ctx, + } +} + +// NewPcloudEventsGetqueryParamsWithHTTPClient creates a new PcloudEventsGetqueryParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudEventsGetqueryParamsWithHTTPClient(client *http.Client) *PcloudEventsGetqueryParams { + return &PcloudEventsGetqueryParams{ + HTTPClient: client, + } +} + +/* +PcloudEventsGetqueryParams contains all the parameters to send to the API endpoint + + for the pcloud events getquery operation. + + Typically these are written to a http.Request. +*/ +type PcloudEventsGetqueryParams struct { + + /* AcceptLanguage. + + The language requested for the return document + */ + AcceptLanguage *string + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* FromTime. + + A from query time in either ISO 8601 or unix epoch format + */ + FromTime *string + + /* Time. + + (deprecated - use from_time) A time in either ISO 8601 or unix epoch format + */ + Time *string + + /* ToTime. + + A to query time in either ISO 8601 or unix epoch format + */ + ToTime *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud events getquery params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudEventsGetqueryParams) WithDefaults() *PcloudEventsGetqueryParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud events getquery params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudEventsGetqueryParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) WithTimeout(timeout time.Duration) *PcloudEventsGetqueryParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) WithContext(ctx context.Context) *PcloudEventsGetqueryParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) WithHTTPClient(client *http.Client) *PcloudEventsGetqueryParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAcceptLanguage adds the acceptLanguage to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) WithAcceptLanguage(acceptLanguage *string) *PcloudEventsGetqueryParams { + o.SetAcceptLanguage(acceptLanguage) + return o +} + +// SetAcceptLanguage adds the acceptLanguage to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) SetAcceptLanguage(acceptLanguage *string) { + o.AcceptLanguage = acceptLanguage +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) WithCloudInstanceID(cloudInstanceID string) *PcloudEventsGetqueryParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithFromTime adds the fromTime to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) WithFromTime(fromTime *string) *PcloudEventsGetqueryParams { + o.SetFromTime(fromTime) + return o +} + +// SetFromTime adds the fromTime to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) SetFromTime(fromTime *string) { + o.FromTime = fromTime +} + +// WithTime adds the time to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) WithTime(time *string) *PcloudEventsGetqueryParams { + o.SetTime(time) + return o +} + +// SetTime adds the time to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) SetTime(time *string) { + o.Time = time +} + +// WithToTime adds the toTime to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) WithToTime(toTime *string) *PcloudEventsGetqueryParams { + o.SetToTime(toTime) + return o +} + +// SetToTime adds the toTime to the pcloud events getquery params +func (o *PcloudEventsGetqueryParams) SetToTime(toTime *string) { + o.ToTime = toTime +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudEventsGetqueryParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.AcceptLanguage != nil { + + // header param Accept-Language + if err := r.SetHeaderParam("Accept-Language", *o.AcceptLanguage); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.FromTime != nil { + + // query param from_time + var qrFromTime string + + if o.FromTime != nil { + qrFromTime = *o.FromTime + } + qFromTime := qrFromTime + if qFromTime != "" { + + if err := r.SetQueryParam("from_time", qFromTime); err != nil { + return err + } + } + } + + if o.Time != nil { + + // query param time + var qrTime string + + if o.Time != nil { + qrTime = *o.Time + } + qTime := qrTime + if qTime != "" { + + if err := r.SetQueryParam("time", qTime); err != nil { + return err + } + } + } + + if o.ToTime != nil { + + // query param to_time + var qrToTime string + + if o.ToTime != nil { + qrToTime = *o.ToTime + } + qToTime := qrToTime + if qToTime != "" { + + if err := r.SetQueryParam("to_time", qToTime); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_getquery_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_getquery_responses.go new file mode 100644 index 000000000..8deeed27b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events/pcloud_events_getquery_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_events + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudEventsGetqueryReader is a Reader for the PcloudEventsGetquery structure. +type PcloudEventsGetqueryReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudEventsGetqueryReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudEventsGetqueryOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudEventsGetqueryBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudEventsGetqueryUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudEventsGetqueryForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudEventsGetqueryNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudEventsGetqueryInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events] pcloud.events.getquery", response, response.Code()) + } +} + +// NewPcloudEventsGetqueryOK creates a PcloudEventsGetqueryOK with default headers values +func NewPcloudEventsGetqueryOK() *PcloudEventsGetqueryOK { + return &PcloudEventsGetqueryOK{} +} + +/* +PcloudEventsGetqueryOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudEventsGetqueryOK struct { + Payload *models.Events +} + +// IsSuccess returns true when this pcloud events getquery o k response has a 2xx status code +func (o *PcloudEventsGetqueryOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud events getquery o k response has a 3xx status code +func (o *PcloudEventsGetqueryOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events getquery o k response has a 4xx status code +func (o *PcloudEventsGetqueryOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud events getquery o k response has a 5xx status code +func (o *PcloudEventsGetqueryOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events getquery o k response a status code equal to that given +func (o *PcloudEventsGetqueryOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud events getquery o k response +func (o *PcloudEventsGetqueryOK) Code() int { + return 200 +} + +func (o *PcloudEventsGetqueryOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryOK %s", 200, payload) +} + +func (o *PcloudEventsGetqueryOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryOK %s", 200, payload) +} + +func (o *PcloudEventsGetqueryOK) GetPayload() *models.Events { + return o.Payload +} + +func (o *PcloudEventsGetqueryOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Events) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetqueryBadRequest creates a PcloudEventsGetqueryBadRequest with default headers values +func NewPcloudEventsGetqueryBadRequest() *PcloudEventsGetqueryBadRequest { + return &PcloudEventsGetqueryBadRequest{} +} + +/* +PcloudEventsGetqueryBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudEventsGetqueryBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events getquery bad request response has a 2xx status code +func (o *PcloudEventsGetqueryBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events getquery bad request response has a 3xx status code +func (o *PcloudEventsGetqueryBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events getquery bad request response has a 4xx status code +func (o *PcloudEventsGetqueryBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud events getquery bad request response has a 5xx status code +func (o *PcloudEventsGetqueryBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events getquery bad request response a status code equal to that given +func (o *PcloudEventsGetqueryBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud events getquery bad request response +func (o *PcloudEventsGetqueryBadRequest) Code() int { + return 400 +} + +func (o *PcloudEventsGetqueryBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryBadRequest %s", 400, payload) +} + +func (o *PcloudEventsGetqueryBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryBadRequest %s", 400, payload) +} + +func (o *PcloudEventsGetqueryBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetqueryBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetqueryUnauthorized creates a PcloudEventsGetqueryUnauthorized with default headers values +func NewPcloudEventsGetqueryUnauthorized() *PcloudEventsGetqueryUnauthorized { + return &PcloudEventsGetqueryUnauthorized{} +} + +/* +PcloudEventsGetqueryUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudEventsGetqueryUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events getquery unauthorized response has a 2xx status code +func (o *PcloudEventsGetqueryUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events getquery unauthorized response has a 3xx status code +func (o *PcloudEventsGetqueryUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events getquery unauthorized response has a 4xx status code +func (o *PcloudEventsGetqueryUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud events getquery unauthorized response has a 5xx status code +func (o *PcloudEventsGetqueryUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events getquery unauthorized response a status code equal to that given +func (o *PcloudEventsGetqueryUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud events getquery unauthorized response +func (o *PcloudEventsGetqueryUnauthorized) Code() int { + return 401 +} + +func (o *PcloudEventsGetqueryUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryUnauthorized %s", 401, payload) +} + +func (o *PcloudEventsGetqueryUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryUnauthorized %s", 401, payload) +} + +func (o *PcloudEventsGetqueryUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetqueryUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetqueryForbidden creates a PcloudEventsGetqueryForbidden with default headers values +func NewPcloudEventsGetqueryForbidden() *PcloudEventsGetqueryForbidden { + return &PcloudEventsGetqueryForbidden{} +} + +/* +PcloudEventsGetqueryForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudEventsGetqueryForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events getquery forbidden response has a 2xx status code +func (o *PcloudEventsGetqueryForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events getquery forbidden response has a 3xx status code +func (o *PcloudEventsGetqueryForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events getquery forbidden response has a 4xx status code +func (o *PcloudEventsGetqueryForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud events getquery forbidden response has a 5xx status code +func (o *PcloudEventsGetqueryForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events getquery forbidden response a status code equal to that given +func (o *PcloudEventsGetqueryForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud events getquery forbidden response +func (o *PcloudEventsGetqueryForbidden) Code() int { + return 403 +} + +func (o *PcloudEventsGetqueryForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryForbidden %s", 403, payload) +} + +func (o *PcloudEventsGetqueryForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryForbidden %s", 403, payload) +} + +func (o *PcloudEventsGetqueryForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetqueryForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetqueryNotFound creates a PcloudEventsGetqueryNotFound with default headers values +func NewPcloudEventsGetqueryNotFound() *PcloudEventsGetqueryNotFound { + return &PcloudEventsGetqueryNotFound{} +} + +/* +PcloudEventsGetqueryNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudEventsGetqueryNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events getquery not found response has a 2xx status code +func (o *PcloudEventsGetqueryNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events getquery not found response has a 3xx status code +func (o *PcloudEventsGetqueryNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events getquery not found response has a 4xx status code +func (o *PcloudEventsGetqueryNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud events getquery not found response has a 5xx status code +func (o *PcloudEventsGetqueryNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud events getquery not found response a status code equal to that given +func (o *PcloudEventsGetqueryNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud events getquery not found response +func (o *PcloudEventsGetqueryNotFound) Code() int { + return 404 +} + +func (o *PcloudEventsGetqueryNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryNotFound %s", 404, payload) +} + +func (o *PcloudEventsGetqueryNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryNotFound %s", 404, payload) +} + +func (o *PcloudEventsGetqueryNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetqueryNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudEventsGetqueryInternalServerError creates a PcloudEventsGetqueryInternalServerError with default headers values +func NewPcloudEventsGetqueryInternalServerError() *PcloudEventsGetqueryInternalServerError { + return &PcloudEventsGetqueryInternalServerError{} +} + +/* +PcloudEventsGetqueryInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudEventsGetqueryInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud events getquery internal server error response has a 2xx status code +func (o *PcloudEventsGetqueryInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud events getquery internal server error response has a 3xx status code +func (o *PcloudEventsGetqueryInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud events getquery internal server error response has a 4xx status code +func (o *PcloudEventsGetqueryInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud events getquery internal server error response has a 5xx status code +func (o *PcloudEventsGetqueryInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud events getquery internal server error response a status code equal to that given +func (o *PcloudEventsGetqueryInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud events getquery internal server error response +func (o *PcloudEventsGetqueryInternalServerError) Code() int { + return 500 +} + +func (o *PcloudEventsGetqueryInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryInternalServerError %s", 500, payload) +} + +func (o *PcloudEventsGetqueryInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/events][%d] pcloudEventsGetqueryInternalServerError %s", 500, payload) +} + +func (o *PcloudEventsGetqueryInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudEventsGetqueryInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/p_cloud_images_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/p_cloud_images_client.go new file mode 100644 index 000000000..61ee5e5c0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/p_cloud_images_client.go @@ -0,0 +1,675 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud images API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud images API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud images API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud images API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudCloudinstancesImagesDelete(params *PcloudCloudinstancesImagesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesDeleteOK, error) + + PcloudCloudinstancesImagesExportPost(params *PcloudCloudinstancesImagesExportPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesExportPostAccepted, error) + + PcloudCloudinstancesImagesGet(params *PcloudCloudinstancesImagesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesGetOK, error) + + PcloudCloudinstancesImagesGetall(params *PcloudCloudinstancesImagesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesGetallOK, error) + + PcloudCloudinstancesImagesPost(params *PcloudCloudinstancesImagesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesPostOK, *PcloudCloudinstancesImagesPostCreated, error) + + PcloudCloudinstancesStockimagesGet(params *PcloudCloudinstancesStockimagesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesStockimagesGetOK, error) + + PcloudCloudinstancesStockimagesGetall(params *PcloudCloudinstancesStockimagesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesStockimagesGetallOK, error) + + PcloudImagesGet(params *PcloudImagesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudImagesGetOK, error) + + PcloudImagesGetall(params *PcloudImagesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudImagesGetallOK, error) + + PcloudV1CloudinstancesCosimagesGet(params *PcloudV1CloudinstancesCosimagesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV1CloudinstancesCosimagesGetOK, error) + + PcloudV1CloudinstancesCosimagesPost(params *PcloudV1CloudinstancesCosimagesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV1CloudinstancesCosimagesPostAccepted, error) + + PcloudV2ImagesExportGet(params *PcloudV2ImagesExportGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2ImagesExportGetOK, error) + + PcloudV2ImagesExportPost(params *PcloudV2ImagesExportPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2ImagesExportPostAccepted, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudCloudinstancesImagesDelete deletes an image from a cloud instance +*/ +func (a *Client) PcloudCloudinstancesImagesDelete(params *PcloudCloudinstancesImagesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesImagesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.images.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesImagesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesImagesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.images.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudCloudinstancesImagesExportPost exports an image + + This API is deprecated for /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export. + +>*Note*: Support for this API is available till Oct 2022. +*/ +func (a *Client) PcloudCloudinstancesImagesExportPost(params *PcloudCloudinstancesImagesExportPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesExportPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesImagesExportPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.images.export.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesImagesExportPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesImagesExportPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.images.export.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesImagesGet detaileds info of an image +*/ +func (a *Client) PcloudCloudinstancesImagesGet(params *PcloudCloudinstancesImagesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesImagesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.images.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesImagesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesImagesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.images.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesImagesGetall lists all images for this cloud instance +*/ +func (a *Client) PcloudCloudinstancesImagesGetall(params *PcloudCloudinstancesImagesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesImagesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.images.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/images", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesImagesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesImagesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.images.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesImagesPost creates a new image from available images +*/ +func (a *Client) PcloudCloudinstancesImagesPost(params *PcloudCloudinstancesImagesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesImagesPostOK, *PcloudCloudinstancesImagesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesImagesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.images.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/images", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesImagesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudCloudinstancesImagesPostOK: + return value, nil, nil + case *PcloudCloudinstancesImagesPostCreated: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_images: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesStockimagesGet detaileds info of an available stock image +*/ +func (a *Client) PcloudCloudinstancesStockimagesGet(params *PcloudCloudinstancesStockimagesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesStockimagesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesStockimagesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.stockimages.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesStockimagesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesStockimagesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.stockimages.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesStockimagesGetall lists all available stock images +*/ +func (a *Client) PcloudCloudinstancesStockimagesGetall(params *PcloudCloudinstancesStockimagesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesStockimagesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesStockimagesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.stockimages.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesStockimagesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesStockimagesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.stockimages.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudImagesGet detaileds info of an image in the image catalog + + This API is deprecated for /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}. + +>*Note*: Support for this API will be available till 31st March 2023. +*/ +func (a *Client) PcloudImagesGet(params *PcloudImagesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudImagesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudImagesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.images.get", + Method: "GET", + PathPattern: "/pcloud/v1/images/{image_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudImagesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudImagesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.images.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudImagesGetall lists all the images in the image catalog + + This API is deprecated for /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images. + +>*Note*: Support for this API will be available till 31st March 2023. +*/ +func (a *Client) PcloudImagesGetall(params *PcloudImagesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudImagesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudImagesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.images.getall", + Method: "GET", + PathPattern: "/pcloud/v1/images", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudImagesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudImagesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.images.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV1CloudinstancesCosimagesGet gets detail of last cos image import job +*/ +func (a *Client) PcloudV1CloudinstancesCosimagesGet(params *PcloudV1CloudinstancesCosimagesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV1CloudinstancesCosimagesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV1CloudinstancesCosimagesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v1.cloudinstances.cosimages.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV1CloudinstancesCosimagesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV1CloudinstancesCosimagesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v1.cloudinstances.cosimages.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV1CloudinstancesCosimagesPost creates an cos image import job +*/ +func (a *Client) PcloudV1CloudinstancesCosimagesPost(params *PcloudV1CloudinstancesCosimagesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV1CloudinstancesCosimagesPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV1CloudinstancesCosimagesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v1.cloudinstances.cosimages.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV1CloudinstancesCosimagesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV1CloudinstancesCosimagesPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v1.cloudinstances.cosimages.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2ImagesExportGet gets detail of last image export job +*/ +func (a *Client) PcloudV2ImagesExportGet(params *PcloudV2ImagesExportGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2ImagesExportGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2ImagesExportGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.images.export.get", + Method: "GET", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2ImagesExportGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2ImagesExportGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.images.export.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2ImagesExportPost adds image export job to the jobs queue +*/ +func (a *Client) PcloudV2ImagesExportPost(params *PcloudV2ImagesExportPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2ImagesExportPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2ImagesExportPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.images.export.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2ImagesExportPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2ImagesExportPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.images.export.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_delete_parameters.go new file mode 100644 index 000000000..385049943 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesImagesDeleteParams creates a new PcloudCloudinstancesImagesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesImagesDeleteParams() *PcloudCloudinstancesImagesDeleteParams { + return &PcloudCloudinstancesImagesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesImagesDeleteParamsWithTimeout creates a new PcloudCloudinstancesImagesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesImagesDeleteParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesDeleteParams { + return &PcloudCloudinstancesImagesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesImagesDeleteParamsWithContext creates a new PcloudCloudinstancesImagesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesImagesDeleteParamsWithContext(ctx context.Context) *PcloudCloudinstancesImagesDeleteParams { + return &PcloudCloudinstancesImagesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesImagesDeleteParamsWithHTTPClient creates a new PcloudCloudinstancesImagesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesImagesDeleteParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesDeleteParams { + return &PcloudCloudinstancesImagesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesImagesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances images delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesImagesDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* ImageID. + + Image ID of a image + */ + ImageID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances images delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesDeleteParams) WithDefaults() *PcloudCloudinstancesImagesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances images delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) WithContext(ctx context.Context) *PcloudCloudinstancesImagesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesImagesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithImageID adds the imageID to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) WithImageID(imageID string) *PcloudCloudinstancesImagesDeleteParams { + o.SetImageID(imageID) + return o +} + +// SetImageID adds the imageId to the pcloud cloudinstances images delete params +func (o *PcloudCloudinstancesImagesDeleteParams) SetImageID(imageID string) { + o.ImageID = imageID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesImagesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param image_id + if err := r.SetPathParam("image_id", o.ImageID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_delete_responses.go new file mode 100644 index 000000000..c5223e3ce --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesImagesDeleteReader is a Reader for the PcloudCloudinstancesImagesDelete structure. +type PcloudCloudinstancesImagesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesImagesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesImagesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesImagesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesImagesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesImagesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesImagesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudCloudinstancesImagesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesImagesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}] pcloud.cloudinstances.images.delete", response, response.Code()) + } +} + +// NewPcloudCloudinstancesImagesDeleteOK creates a PcloudCloudinstancesImagesDeleteOK with default headers values +func NewPcloudCloudinstancesImagesDeleteOK() *PcloudCloudinstancesImagesDeleteOK { + return &PcloudCloudinstancesImagesDeleteOK{} +} + +/* +PcloudCloudinstancesImagesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesImagesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudinstances images delete o k response has a 2xx status code +func (o *PcloudCloudinstancesImagesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances images delete o k response has a 3xx status code +func (o *PcloudCloudinstancesImagesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images delete o k response has a 4xx status code +func (o *PcloudCloudinstancesImagesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images delete o k response has a 5xx status code +func (o *PcloudCloudinstancesImagesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images delete o k response a status code equal to that given +func (o *PcloudCloudinstancesImagesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances images delete o k response +func (o *PcloudCloudinstancesImagesDeleteOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesImagesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesDeleteBadRequest creates a PcloudCloudinstancesImagesDeleteBadRequest with default headers values +func NewPcloudCloudinstancesImagesDeleteBadRequest() *PcloudCloudinstancesImagesDeleteBadRequest { + return &PcloudCloudinstancesImagesDeleteBadRequest{} +} + +/* +PcloudCloudinstancesImagesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesImagesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images delete bad request response has a 2xx status code +func (o *PcloudCloudinstancesImagesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images delete bad request response has a 3xx status code +func (o *PcloudCloudinstancesImagesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images delete bad request response has a 4xx status code +func (o *PcloudCloudinstancesImagesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images delete bad request response has a 5xx status code +func (o *PcloudCloudinstancesImagesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images delete bad request response a status code equal to that given +func (o *PcloudCloudinstancesImagesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances images delete bad request response +func (o *PcloudCloudinstancesImagesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesImagesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesDeleteUnauthorized creates a PcloudCloudinstancesImagesDeleteUnauthorized with default headers values +func NewPcloudCloudinstancesImagesDeleteUnauthorized() *PcloudCloudinstancesImagesDeleteUnauthorized { + return &PcloudCloudinstancesImagesDeleteUnauthorized{} +} + +/* +PcloudCloudinstancesImagesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesImagesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images delete unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images delete unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images delete unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images delete unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images delete unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances images delete unauthorized response +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesDeleteForbidden creates a PcloudCloudinstancesImagesDeleteForbidden with default headers values +func NewPcloudCloudinstancesImagesDeleteForbidden() *PcloudCloudinstancesImagesDeleteForbidden { + return &PcloudCloudinstancesImagesDeleteForbidden{} +} + +/* +PcloudCloudinstancesImagesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesImagesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images delete forbidden response has a 2xx status code +func (o *PcloudCloudinstancesImagesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images delete forbidden response has a 3xx status code +func (o *PcloudCloudinstancesImagesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images delete forbidden response has a 4xx status code +func (o *PcloudCloudinstancesImagesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images delete forbidden response has a 5xx status code +func (o *PcloudCloudinstancesImagesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images delete forbidden response a status code equal to that given +func (o *PcloudCloudinstancesImagesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances images delete forbidden response +func (o *PcloudCloudinstancesImagesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesImagesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesDeleteNotFound creates a PcloudCloudinstancesImagesDeleteNotFound with default headers values +func NewPcloudCloudinstancesImagesDeleteNotFound() *PcloudCloudinstancesImagesDeleteNotFound { + return &PcloudCloudinstancesImagesDeleteNotFound{} +} + +/* +PcloudCloudinstancesImagesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesImagesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images delete not found response has a 2xx status code +func (o *PcloudCloudinstancesImagesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images delete not found response has a 3xx status code +func (o *PcloudCloudinstancesImagesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images delete not found response has a 4xx status code +func (o *PcloudCloudinstancesImagesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images delete not found response has a 5xx status code +func (o *PcloudCloudinstancesImagesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images delete not found response a status code equal to that given +func (o *PcloudCloudinstancesImagesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances images delete not found response +func (o *PcloudCloudinstancesImagesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesImagesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesDeleteGone creates a PcloudCloudinstancesImagesDeleteGone with default headers values +func NewPcloudCloudinstancesImagesDeleteGone() *PcloudCloudinstancesImagesDeleteGone { + return &PcloudCloudinstancesImagesDeleteGone{} +} + +/* +PcloudCloudinstancesImagesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudCloudinstancesImagesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images delete gone response has a 2xx status code +func (o *PcloudCloudinstancesImagesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images delete gone response has a 3xx status code +func (o *PcloudCloudinstancesImagesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images delete gone response has a 4xx status code +func (o *PcloudCloudinstancesImagesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images delete gone response has a 5xx status code +func (o *PcloudCloudinstancesImagesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images delete gone response a status code equal to that given +func (o *PcloudCloudinstancesImagesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud cloudinstances images delete gone response +func (o *PcloudCloudinstancesImagesDeleteGone) Code() int { + return 410 +} + +func (o *PcloudCloudinstancesImagesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesDeleteInternalServerError creates a PcloudCloudinstancesImagesDeleteInternalServerError with default headers values +func NewPcloudCloudinstancesImagesDeleteInternalServerError() *PcloudCloudinstancesImagesDeleteInternalServerError { + return &PcloudCloudinstancesImagesDeleteInternalServerError{} +} + +/* +PcloudCloudinstancesImagesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesImagesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images delete internal server error response has a 2xx status code +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images delete internal server error response has a 3xx status code +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images delete internal server error response has a 4xx status code +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images delete internal server error response has a 5xx status code +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances images delete internal server error response a status code equal to that given +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances images delete internal server error response +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_export_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_export_post_parameters.go new file mode 100644 index 000000000..fa5916de7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_export_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudinstancesImagesExportPostParams creates a new PcloudCloudinstancesImagesExportPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesImagesExportPostParams() *PcloudCloudinstancesImagesExportPostParams { + return &PcloudCloudinstancesImagesExportPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesImagesExportPostParamsWithTimeout creates a new PcloudCloudinstancesImagesExportPostParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesImagesExportPostParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesExportPostParams { + return &PcloudCloudinstancesImagesExportPostParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesImagesExportPostParamsWithContext creates a new PcloudCloudinstancesImagesExportPostParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesImagesExportPostParamsWithContext(ctx context.Context) *PcloudCloudinstancesImagesExportPostParams { + return &PcloudCloudinstancesImagesExportPostParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesImagesExportPostParamsWithHTTPClient creates a new PcloudCloudinstancesImagesExportPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesImagesExportPostParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesExportPostParams { + return &PcloudCloudinstancesImagesExportPostParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesImagesExportPostParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances images export post operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesImagesExportPostParams struct { + + /* Body. + + Parameters for exporting an image + */ + Body *models.ExportImage + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* ImageID. + + Image ID of a image + */ + ImageID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances images export post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesExportPostParams) WithDefaults() *PcloudCloudinstancesImagesExportPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances images export post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesExportPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesExportPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) WithContext(ctx context.Context) *PcloudCloudinstancesImagesExportPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesExportPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) WithBody(body *models.ExportImage) *PcloudCloudinstancesImagesExportPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) SetBody(body *models.ExportImage) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesImagesExportPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithImageID adds the imageID to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) WithImageID(imageID string) *PcloudCloudinstancesImagesExportPostParams { + o.SetImageID(imageID) + return o +} + +// SetImageID adds the imageId to the pcloud cloudinstances images export post params +func (o *PcloudCloudinstancesImagesExportPostParams) SetImageID(imageID string) { + o.ImageID = imageID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesImagesExportPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param image_id + if err := r.SetPathParam("image_id", o.ImageID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_export_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_export_post_responses.go new file mode 100644 index 000000000..520e56c90 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_export_post_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesImagesExportPostReader is a Reader for the PcloudCloudinstancesImagesExportPost structure. +type PcloudCloudinstancesImagesExportPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesImagesExportPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudCloudinstancesImagesExportPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesImagesExportPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesImagesExportPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesImagesExportPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesImagesExportPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudinstancesImagesExportPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesImagesExportPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export] pcloud.cloudinstances.images.export.post", response, response.Code()) + } +} + +// NewPcloudCloudinstancesImagesExportPostAccepted creates a PcloudCloudinstancesImagesExportPostAccepted with default headers values +func NewPcloudCloudinstancesImagesExportPostAccepted() *PcloudCloudinstancesImagesExportPostAccepted { + return &PcloudCloudinstancesImagesExportPostAccepted{} +} + +/* +PcloudCloudinstancesImagesExportPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudinstancesImagesExportPostAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudinstances images export post accepted response has a 2xx status code +func (o *PcloudCloudinstancesImagesExportPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances images export post accepted response has a 3xx status code +func (o *PcloudCloudinstancesImagesExportPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images export post accepted response has a 4xx status code +func (o *PcloudCloudinstancesImagesExportPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images export post accepted response has a 5xx status code +func (o *PcloudCloudinstancesImagesExportPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images export post accepted response a status code equal to that given +func (o *PcloudCloudinstancesImagesExportPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudinstances images export post accepted response +func (o *PcloudCloudinstancesImagesExportPostAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudinstancesImagesExportPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostAccepted %s", 202, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostAccepted %s", 202, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesExportPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesExportPostBadRequest creates a PcloudCloudinstancesImagesExportPostBadRequest with default headers values +func NewPcloudCloudinstancesImagesExportPostBadRequest() *PcloudCloudinstancesImagesExportPostBadRequest { + return &PcloudCloudinstancesImagesExportPostBadRequest{} +} + +/* +PcloudCloudinstancesImagesExportPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesImagesExportPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images export post bad request response has a 2xx status code +func (o *PcloudCloudinstancesImagesExportPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images export post bad request response has a 3xx status code +func (o *PcloudCloudinstancesImagesExportPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images export post bad request response has a 4xx status code +func (o *PcloudCloudinstancesImagesExportPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images export post bad request response has a 5xx status code +func (o *PcloudCloudinstancesImagesExportPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images export post bad request response a status code equal to that given +func (o *PcloudCloudinstancesImagesExportPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances images export post bad request response +func (o *PcloudCloudinstancesImagesExportPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesImagesExportPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesExportPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesExportPostUnauthorized creates a PcloudCloudinstancesImagesExportPostUnauthorized with default headers values +func NewPcloudCloudinstancesImagesExportPostUnauthorized() *PcloudCloudinstancesImagesExportPostUnauthorized { + return &PcloudCloudinstancesImagesExportPostUnauthorized{} +} + +/* +PcloudCloudinstancesImagesExportPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesImagesExportPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images export post unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images export post unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images export post unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images export post unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images export post unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances images export post unauthorized response +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesExportPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesExportPostForbidden creates a PcloudCloudinstancesImagesExportPostForbidden with default headers values +func NewPcloudCloudinstancesImagesExportPostForbidden() *PcloudCloudinstancesImagesExportPostForbidden { + return &PcloudCloudinstancesImagesExportPostForbidden{} +} + +/* +PcloudCloudinstancesImagesExportPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesImagesExportPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images export post forbidden response has a 2xx status code +func (o *PcloudCloudinstancesImagesExportPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images export post forbidden response has a 3xx status code +func (o *PcloudCloudinstancesImagesExportPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images export post forbidden response has a 4xx status code +func (o *PcloudCloudinstancesImagesExportPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images export post forbidden response has a 5xx status code +func (o *PcloudCloudinstancesImagesExportPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images export post forbidden response a status code equal to that given +func (o *PcloudCloudinstancesImagesExportPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances images export post forbidden response +func (o *PcloudCloudinstancesImagesExportPostForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesImagesExportPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesExportPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesExportPostNotFound creates a PcloudCloudinstancesImagesExportPostNotFound with default headers values +func NewPcloudCloudinstancesImagesExportPostNotFound() *PcloudCloudinstancesImagesExportPostNotFound { + return &PcloudCloudinstancesImagesExportPostNotFound{} +} + +/* +PcloudCloudinstancesImagesExportPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesImagesExportPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images export post not found response has a 2xx status code +func (o *PcloudCloudinstancesImagesExportPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images export post not found response has a 3xx status code +func (o *PcloudCloudinstancesImagesExportPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images export post not found response has a 4xx status code +func (o *PcloudCloudinstancesImagesExportPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images export post not found response has a 5xx status code +func (o *PcloudCloudinstancesImagesExportPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images export post not found response a status code equal to that given +func (o *PcloudCloudinstancesImagesExportPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances images export post not found response +func (o *PcloudCloudinstancesImagesExportPostNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesImagesExportPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesExportPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesExportPostUnprocessableEntity creates a PcloudCloudinstancesImagesExportPostUnprocessableEntity with default headers values +func NewPcloudCloudinstancesImagesExportPostUnprocessableEntity() *PcloudCloudinstancesImagesExportPostUnprocessableEntity { + return &PcloudCloudinstancesImagesExportPostUnprocessableEntity{} +} + +/* +PcloudCloudinstancesImagesExportPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudinstancesImagesExportPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images export post unprocessable entity response has a 2xx status code +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images export post unprocessable entity response has a 3xx status code +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images export post unprocessable entity response has a 4xx status code +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images export post unprocessable entity response has a 5xx status code +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images export post unprocessable entity response a status code equal to that given +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudinstances images export post unprocessable entity response +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesExportPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesExportPostInternalServerError creates a PcloudCloudinstancesImagesExportPostInternalServerError with default headers values +func NewPcloudCloudinstancesImagesExportPostInternalServerError() *PcloudCloudinstancesImagesExportPostInternalServerError { + return &PcloudCloudinstancesImagesExportPostInternalServerError{} +} + +/* +PcloudCloudinstancesImagesExportPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesImagesExportPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images export post internal server error response has a 2xx status code +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images export post internal server error response has a 3xx status code +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images export post internal server error response has a 4xx status code +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images export post internal server error response has a 5xx status code +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances images export post internal server error response a status code equal to that given +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances images export post internal server error response +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudCloudinstancesImagesExportPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesExportPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_get_parameters.go new file mode 100644 index 000000000..f1f52276b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesImagesGetParams creates a new PcloudCloudinstancesImagesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesImagesGetParams() *PcloudCloudinstancesImagesGetParams { + return &PcloudCloudinstancesImagesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesImagesGetParamsWithTimeout creates a new PcloudCloudinstancesImagesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesImagesGetParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesGetParams { + return &PcloudCloudinstancesImagesGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesImagesGetParamsWithContext creates a new PcloudCloudinstancesImagesGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesImagesGetParamsWithContext(ctx context.Context) *PcloudCloudinstancesImagesGetParams { + return &PcloudCloudinstancesImagesGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesImagesGetParamsWithHTTPClient creates a new PcloudCloudinstancesImagesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesImagesGetParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesGetParams { + return &PcloudCloudinstancesImagesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesImagesGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances images get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesImagesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* ImageID. + + Image ID of a image + */ + ImageID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances images get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesGetParams) WithDefaults() *PcloudCloudinstancesImagesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances images get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) WithContext(ctx context.Context) *PcloudCloudinstancesImagesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesImagesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithImageID adds the imageID to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) WithImageID(imageID string) *PcloudCloudinstancesImagesGetParams { + o.SetImageID(imageID) + return o +} + +// SetImageID adds the imageId to the pcloud cloudinstances images get params +func (o *PcloudCloudinstancesImagesGetParams) SetImageID(imageID string) { + o.ImageID = imageID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesImagesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param image_id + if err := r.SetPathParam("image_id", o.ImageID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_get_responses.go new file mode 100644 index 000000000..64917b3a5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesImagesGetReader is a Reader for the PcloudCloudinstancesImagesGet structure. +type PcloudCloudinstancesImagesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesImagesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesImagesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesImagesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesImagesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesImagesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesImagesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesImagesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}] pcloud.cloudinstances.images.get", response, response.Code()) + } +} + +// NewPcloudCloudinstancesImagesGetOK creates a PcloudCloudinstancesImagesGetOK with default headers values +func NewPcloudCloudinstancesImagesGetOK() *PcloudCloudinstancesImagesGetOK { + return &PcloudCloudinstancesImagesGetOK{} +} + +/* +PcloudCloudinstancesImagesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesImagesGetOK struct { + Payload *models.Image +} + +// IsSuccess returns true when this pcloud cloudinstances images get o k response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances images get o k response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images get o k response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images get o k response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images get o k response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances images get o k response +func (o *PcloudCloudinstancesImagesGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesImagesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesImagesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesImagesGetOK) GetPayload() *models.Image { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Image) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetBadRequest creates a PcloudCloudinstancesImagesGetBadRequest with default headers values +func NewPcloudCloudinstancesImagesGetBadRequest() *PcloudCloudinstancesImagesGetBadRequest { + return &PcloudCloudinstancesImagesGetBadRequest{} +} + +/* +PcloudCloudinstancesImagesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesImagesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images get bad request response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images get bad request response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images get bad request response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images get bad request response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images get bad request response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances images get bad request response +func (o *PcloudCloudinstancesImagesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesImagesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetUnauthorized creates a PcloudCloudinstancesImagesGetUnauthorized with default headers values +func NewPcloudCloudinstancesImagesGetUnauthorized() *PcloudCloudinstancesImagesGetUnauthorized { + return &PcloudCloudinstancesImagesGetUnauthorized{} +} + +/* +PcloudCloudinstancesImagesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesImagesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images get unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images get unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images get unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images get unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images get unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances images get unauthorized response +func (o *PcloudCloudinstancesImagesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesImagesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetForbidden creates a PcloudCloudinstancesImagesGetForbidden with default headers values +func NewPcloudCloudinstancesImagesGetForbidden() *PcloudCloudinstancesImagesGetForbidden { + return &PcloudCloudinstancesImagesGetForbidden{} +} + +/* +PcloudCloudinstancesImagesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesImagesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images get forbidden response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images get forbidden response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images get forbidden response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images get forbidden response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images get forbidden response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances images get forbidden response +func (o *PcloudCloudinstancesImagesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesImagesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetNotFound creates a PcloudCloudinstancesImagesGetNotFound with default headers values +func NewPcloudCloudinstancesImagesGetNotFound() *PcloudCloudinstancesImagesGetNotFound { + return &PcloudCloudinstancesImagesGetNotFound{} +} + +/* +PcloudCloudinstancesImagesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesImagesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images get not found response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images get not found response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images get not found response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images get not found response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images get not found response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances images get not found response +func (o *PcloudCloudinstancesImagesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesImagesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetInternalServerError creates a PcloudCloudinstancesImagesGetInternalServerError with default headers values +func NewPcloudCloudinstancesImagesGetInternalServerError() *PcloudCloudinstancesImagesGetInternalServerError { + return &PcloudCloudinstancesImagesGetInternalServerError{} +} + +/* +PcloudCloudinstancesImagesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesImagesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images get internal server error response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images get internal server error response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images get internal server error response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images get internal server error response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances images get internal server error response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances images get internal server error response +func (o *PcloudCloudinstancesImagesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesImagesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images/{image_id}][%d] pcloudCloudinstancesImagesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_getall_parameters.go new file mode 100644 index 000000000..267edf759 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesImagesGetallParams creates a new PcloudCloudinstancesImagesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesImagesGetallParams() *PcloudCloudinstancesImagesGetallParams { + return &PcloudCloudinstancesImagesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesImagesGetallParamsWithTimeout creates a new PcloudCloudinstancesImagesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesImagesGetallParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesGetallParams { + return &PcloudCloudinstancesImagesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesImagesGetallParamsWithContext creates a new PcloudCloudinstancesImagesGetallParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesImagesGetallParamsWithContext(ctx context.Context) *PcloudCloudinstancesImagesGetallParams { + return &PcloudCloudinstancesImagesGetallParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesImagesGetallParamsWithHTTPClient creates a new PcloudCloudinstancesImagesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesImagesGetallParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesGetallParams { + return &PcloudCloudinstancesImagesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesImagesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances images getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesImagesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances images getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesGetallParams) WithDefaults() *PcloudCloudinstancesImagesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances images getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances images getall params +func (o *PcloudCloudinstancesImagesGetallParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances images getall params +func (o *PcloudCloudinstancesImagesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances images getall params +func (o *PcloudCloudinstancesImagesGetallParams) WithContext(ctx context.Context) *PcloudCloudinstancesImagesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances images getall params +func (o *PcloudCloudinstancesImagesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances images getall params +func (o *PcloudCloudinstancesImagesGetallParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances images getall params +func (o *PcloudCloudinstancesImagesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances images getall params +func (o *PcloudCloudinstancesImagesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesImagesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances images getall params +func (o *PcloudCloudinstancesImagesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesImagesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_getall_responses.go new file mode 100644 index 000000000..c41bbde81 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesImagesGetallReader is a Reader for the PcloudCloudinstancesImagesGetall structure. +type PcloudCloudinstancesImagesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesImagesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesImagesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesImagesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesImagesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesImagesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesImagesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesImagesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images] pcloud.cloudinstances.images.getall", response, response.Code()) + } +} + +// NewPcloudCloudinstancesImagesGetallOK creates a PcloudCloudinstancesImagesGetallOK with default headers values +func NewPcloudCloudinstancesImagesGetallOK() *PcloudCloudinstancesImagesGetallOK { + return &PcloudCloudinstancesImagesGetallOK{} +} + +/* +PcloudCloudinstancesImagesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesImagesGetallOK struct { + Payload *models.Images +} + +// IsSuccess returns true when this pcloud cloudinstances images getall o k response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances images getall o k response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images getall o k response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images getall o k response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images getall o k response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances images getall o k response +func (o *PcloudCloudinstancesImagesGetallOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesImagesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesImagesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesImagesGetallOK) GetPayload() *models.Images { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Images) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetallBadRequest creates a PcloudCloudinstancesImagesGetallBadRequest with default headers values +func NewPcloudCloudinstancesImagesGetallBadRequest() *PcloudCloudinstancesImagesGetallBadRequest { + return &PcloudCloudinstancesImagesGetallBadRequest{} +} + +/* +PcloudCloudinstancesImagesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesImagesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images getall bad request response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images getall bad request response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images getall bad request response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images getall bad request response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images getall bad request response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances images getall bad request response +func (o *PcloudCloudinstancesImagesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesImagesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetallUnauthorized creates a PcloudCloudinstancesImagesGetallUnauthorized with default headers values +func NewPcloudCloudinstancesImagesGetallUnauthorized() *PcloudCloudinstancesImagesGetallUnauthorized { + return &PcloudCloudinstancesImagesGetallUnauthorized{} +} + +/* +PcloudCloudinstancesImagesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesImagesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images getall unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images getall unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images getall unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images getall unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images getall unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances images getall unauthorized response +func (o *PcloudCloudinstancesImagesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesImagesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetallForbidden creates a PcloudCloudinstancesImagesGetallForbidden with default headers values +func NewPcloudCloudinstancesImagesGetallForbidden() *PcloudCloudinstancesImagesGetallForbidden { + return &PcloudCloudinstancesImagesGetallForbidden{} +} + +/* +PcloudCloudinstancesImagesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesImagesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images getall forbidden response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images getall forbidden response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images getall forbidden response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images getall forbidden response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images getall forbidden response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances images getall forbidden response +func (o *PcloudCloudinstancesImagesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesImagesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetallNotFound creates a PcloudCloudinstancesImagesGetallNotFound with default headers values +func NewPcloudCloudinstancesImagesGetallNotFound() *PcloudCloudinstancesImagesGetallNotFound { + return &PcloudCloudinstancesImagesGetallNotFound{} +} + +/* +PcloudCloudinstancesImagesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesImagesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images getall not found response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images getall not found response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images getall not found response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images getall not found response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images getall not found response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances images getall not found response +func (o *PcloudCloudinstancesImagesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesImagesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesGetallInternalServerError creates a PcloudCloudinstancesImagesGetallInternalServerError with default headers values +func NewPcloudCloudinstancesImagesGetallInternalServerError() *PcloudCloudinstancesImagesGetallInternalServerError { + return &PcloudCloudinstancesImagesGetallInternalServerError{} +} + +/* +PcloudCloudinstancesImagesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesImagesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images getall internal server error response has a 2xx status code +func (o *PcloudCloudinstancesImagesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images getall internal server error response has a 3xx status code +func (o *PcloudCloudinstancesImagesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images getall internal server error response has a 4xx status code +func (o *PcloudCloudinstancesImagesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images getall internal server error response has a 5xx status code +func (o *PcloudCloudinstancesImagesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances images getall internal server error response a status code equal to that given +func (o *PcloudCloudinstancesImagesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances images getall internal server error response +func (o *PcloudCloudinstancesImagesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesImagesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_post_parameters.go new file mode 100644 index 000000000..48b37be0e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudinstancesImagesPostParams creates a new PcloudCloudinstancesImagesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesImagesPostParams() *PcloudCloudinstancesImagesPostParams { + return &PcloudCloudinstancesImagesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesImagesPostParamsWithTimeout creates a new PcloudCloudinstancesImagesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesImagesPostParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesPostParams { + return &PcloudCloudinstancesImagesPostParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesImagesPostParamsWithContext creates a new PcloudCloudinstancesImagesPostParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesImagesPostParamsWithContext(ctx context.Context) *PcloudCloudinstancesImagesPostParams { + return &PcloudCloudinstancesImagesPostParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesImagesPostParamsWithHTTPClient creates a new PcloudCloudinstancesImagesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesImagesPostParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesPostParams { + return &PcloudCloudinstancesImagesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesImagesPostParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances images post operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesImagesPostParams struct { + + /* Body. + + Parameters for the creation of a new image from available images + */ + Body *models.CreateImage + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances images post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesPostParams) WithDefaults() *PcloudCloudinstancesImagesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances images post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesImagesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesImagesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) WithContext(ctx context.Context) *PcloudCloudinstancesImagesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesImagesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) WithBody(body *models.CreateImage) *PcloudCloudinstancesImagesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) SetBody(body *models.CreateImage) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesImagesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances images post params +func (o *PcloudCloudinstancesImagesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesImagesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_post_responses.go new file mode 100644 index 000000000..066989c0c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_images_post_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesImagesPostReader is a Reader for the PcloudCloudinstancesImagesPost structure. +type PcloudCloudinstancesImagesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesImagesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesImagesPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewPcloudCloudinstancesImagesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesImagesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesImagesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesImagesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesImagesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudCloudinstancesImagesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudinstancesImagesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesImagesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images] pcloud.cloudinstances.images.post", response, response.Code()) + } +} + +// NewPcloudCloudinstancesImagesPostOK creates a PcloudCloudinstancesImagesPostOK with default headers values +func NewPcloudCloudinstancesImagesPostOK() *PcloudCloudinstancesImagesPostOK { + return &PcloudCloudinstancesImagesPostOK{} +} + +/* +PcloudCloudinstancesImagesPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesImagesPostOK struct { + Payload *models.Image +} + +// IsSuccess returns true when this pcloud cloudinstances images post o k response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances images post o k response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post o k response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images post o k response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images post o k response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances images post o k response +func (o *PcloudCloudinstancesImagesPostOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesImagesPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesImagesPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesImagesPostOK) GetPayload() *models.Image { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Image) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesPostCreated creates a PcloudCloudinstancesImagesPostCreated with default headers values +func NewPcloudCloudinstancesImagesPostCreated() *PcloudCloudinstancesImagesPostCreated { + return &PcloudCloudinstancesImagesPostCreated{} +} + +/* +PcloudCloudinstancesImagesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudCloudinstancesImagesPostCreated struct { + Payload *models.Image +} + +// IsSuccess returns true when this pcloud cloudinstances images post created response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances images post created response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post created response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images post created response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images post created response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud cloudinstances images post created response +func (o *PcloudCloudinstancesImagesPostCreated) Code() int { + return 201 +} + +func (o *PcloudCloudinstancesImagesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostCreated %s", 201, payload) +} + +func (o *PcloudCloudinstancesImagesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostCreated %s", 201, payload) +} + +func (o *PcloudCloudinstancesImagesPostCreated) GetPayload() *models.Image { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Image) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesPostBadRequest creates a PcloudCloudinstancesImagesPostBadRequest with default headers values +func NewPcloudCloudinstancesImagesPostBadRequest() *PcloudCloudinstancesImagesPostBadRequest { + return &PcloudCloudinstancesImagesPostBadRequest{} +} + +/* +PcloudCloudinstancesImagesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesImagesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images post bad request response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images post bad request response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post bad request response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images post bad request response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images post bad request response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances images post bad request response +func (o *PcloudCloudinstancesImagesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesImagesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesImagesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesPostUnauthorized creates a PcloudCloudinstancesImagesPostUnauthorized with default headers values +func NewPcloudCloudinstancesImagesPostUnauthorized() *PcloudCloudinstancesImagesPostUnauthorized { + return &PcloudCloudinstancesImagesPostUnauthorized{} +} + +/* +PcloudCloudinstancesImagesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesImagesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images post unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images post unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images post unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images post unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances images post unauthorized response +func (o *PcloudCloudinstancesImagesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesImagesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesImagesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesPostForbidden creates a PcloudCloudinstancesImagesPostForbidden with default headers values +func NewPcloudCloudinstancesImagesPostForbidden() *PcloudCloudinstancesImagesPostForbidden { + return &PcloudCloudinstancesImagesPostForbidden{} +} + +/* +PcloudCloudinstancesImagesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesImagesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images post forbidden response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images post forbidden response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post forbidden response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images post forbidden response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images post forbidden response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances images post forbidden response +func (o *PcloudCloudinstancesImagesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesImagesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesImagesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesPostNotFound creates a PcloudCloudinstancesImagesPostNotFound with default headers values +func NewPcloudCloudinstancesImagesPostNotFound() *PcloudCloudinstancesImagesPostNotFound { + return &PcloudCloudinstancesImagesPostNotFound{} +} + +/* +PcloudCloudinstancesImagesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesImagesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images post not found response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images post not found response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post not found response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images post not found response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images post not found response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances images post not found response +func (o *PcloudCloudinstancesImagesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesImagesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesImagesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesPostConflict creates a PcloudCloudinstancesImagesPostConflict with default headers values +func NewPcloudCloudinstancesImagesPostConflict() *PcloudCloudinstancesImagesPostConflict { + return &PcloudCloudinstancesImagesPostConflict{} +} + +/* +PcloudCloudinstancesImagesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudCloudinstancesImagesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images post conflict response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images post conflict response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post conflict response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images post conflict response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images post conflict response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud cloudinstances images post conflict response +func (o *PcloudCloudinstancesImagesPostConflict) Code() int { + return 409 +} + +func (o *PcloudCloudinstancesImagesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesImagesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesImagesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesPostUnprocessableEntity creates a PcloudCloudinstancesImagesPostUnprocessableEntity with default headers values +func NewPcloudCloudinstancesImagesPostUnprocessableEntity() *PcloudCloudinstancesImagesPostUnprocessableEntity { + return &PcloudCloudinstancesImagesPostUnprocessableEntity{} +} + +/* +PcloudCloudinstancesImagesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudinstancesImagesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images post unprocessable entity response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images post unprocessable entity response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post unprocessable entity response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances images post unprocessable entity response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances images post unprocessable entity response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudinstances images post unprocessable entity response +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesImagesPostInternalServerError creates a PcloudCloudinstancesImagesPostInternalServerError with default headers values +func NewPcloudCloudinstancesImagesPostInternalServerError() *PcloudCloudinstancesImagesPostInternalServerError { + return &PcloudCloudinstancesImagesPostInternalServerError{} +} + +/* +PcloudCloudinstancesImagesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesImagesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances images post internal server error response has a 2xx status code +func (o *PcloudCloudinstancesImagesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances images post internal server error response has a 3xx status code +func (o *PcloudCloudinstancesImagesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances images post internal server error response has a 4xx status code +func (o *PcloudCloudinstancesImagesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances images post internal server error response has a 5xx status code +func (o *PcloudCloudinstancesImagesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances images post internal server error response a status code equal to that given +func (o *PcloudCloudinstancesImagesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances images post internal server error response +func (o *PcloudCloudinstancesImagesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesImagesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/images][%d] pcloudCloudinstancesImagesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesImagesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesImagesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_get_parameters.go new file mode 100644 index 000000000..b70b19f55 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesStockimagesGetParams creates a new PcloudCloudinstancesStockimagesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesStockimagesGetParams() *PcloudCloudinstancesStockimagesGetParams { + return &PcloudCloudinstancesStockimagesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesStockimagesGetParamsWithTimeout creates a new PcloudCloudinstancesStockimagesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesStockimagesGetParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesStockimagesGetParams { + return &PcloudCloudinstancesStockimagesGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesStockimagesGetParamsWithContext creates a new PcloudCloudinstancesStockimagesGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesStockimagesGetParamsWithContext(ctx context.Context) *PcloudCloudinstancesStockimagesGetParams { + return &PcloudCloudinstancesStockimagesGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesStockimagesGetParamsWithHTTPClient creates a new PcloudCloudinstancesStockimagesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesStockimagesGetParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesStockimagesGetParams { + return &PcloudCloudinstancesStockimagesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesStockimagesGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances stockimages get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesStockimagesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* ImageID. + + Image ID of a image + */ + ImageID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances stockimages get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesStockimagesGetParams) WithDefaults() *PcloudCloudinstancesStockimagesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances stockimages get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesStockimagesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesStockimagesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) WithContext(ctx context.Context) *PcloudCloudinstancesStockimagesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesStockimagesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesStockimagesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithImageID adds the imageID to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) WithImageID(imageID string) *PcloudCloudinstancesStockimagesGetParams { + o.SetImageID(imageID) + return o +} + +// SetImageID adds the imageId to the pcloud cloudinstances stockimages get params +func (o *PcloudCloudinstancesStockimagesGetParams) SetImageID(imageID string) { + o.ImageID = imageID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesStockimagesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param image_id + if err := r.SetPathParam("image_id", o.ImageID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_get_responses.go new file mode 100644 index 000000000..3a2630c8f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesStockimagesGetReader is a Reader for the PcloudCloudinstancesStockimagesGet structure. +type PcloudCloudinstancesStockimagesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesStockimagesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesStockimagesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesStockimagesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesStockimagesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesStockimagesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesStockimagesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesStockimagesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}] pcloud.cloudinstances.stockimages.get", response, response.Code()) + } +} + +// NewPcloudCloudinstancesStockimagesGetOK creates a PcloudCloudinstancesStockimagesGetOK with default headers values +func NewPcloudCloudinstancesStockimagesGetOK() *PcloudCloudinstancesStockimagesGetOK { + return &PcloudCloudinstancesStockimagesGetOK{} +} + +/* +PcloudCloudinstancesStockimagesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesStockimagesGetOK struct { + Payload *models.Image +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages get o k response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages get o k response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages get o k response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances stockimages get o k response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages get o k response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances stockimages get o k response +func (o *PcloudCloudinstancesStockimagesGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesStockimagesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetOK) GetPayload() *models.Image { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Image) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetBadRequest creates a PcloudCloudinstancesStockimagesGetBadRequest with default headers values +func NewPcloudCloudinstancesStockimagesGetBadRequest() *PcloudCloudinstancesStockimagesGetBadRequest { + return &PcloudCloudinstancesStockimagesGetBadRequest{} +} + +/* +PcloudCloudinstancesStockimagesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesStockimagesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages get bad request response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages get bad request response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages get bad request response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances stockimages get bad request response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages get bad request response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances stockimages get bad request response +func (o *PcloudCloudinstancesStockimagesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesStockimagesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetUnauthorized creates a PcloudCloudinstancesStockimagesGetUnauthorized with default headers values +func NewPcloudCloudinstancesStockimagesGetUnauthorized() *PcloudCloudinstancesStockimagesGetUnauthorized { + return &PcloudCloudinstancesStockimagesGetUnauthorized{} +} + +/* +PcloudCloudinstancesStockimagesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesStockimagesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages get unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages get unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages get unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances stockimages get unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages get unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances stockimages get unauthorized response +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetForbidden creates a PcloudCloudinstancesStockimagesGetForbidden with default headers values +func NewPcloudCloudinstancesStockimagesGetForbidden() *PcloudCloudinstancesStockimagesGetForbidden { + return &PcloudCloudinstancesStockimagesGetForbidden{} +} + +/* +PcloudCloudinstancesStockimagesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesStockimagesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages get forbidden response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages get forbidden response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages get forbidden response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances stockimages get forbidden response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages get forbidden response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances stockimages get forbidden response +func (o *PcloudCloudinstancesStockimagesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesStockimagesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetNotFound creates a PcloudCloudinstancesStockimagesGetNotFound with default headers values +func NewPcloudCloudinstancesStockimagesGetNotFound() *PcloudCloudinstancesStockimagesGetNotFound { + return &PcloudCloudinstancesStockimagesGetNotFound{} +} + +/* +PcloudCloudinstancesStockimagesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesStockimagesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages get not found response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages get not found response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages get not found response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances stockimages get not found response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages get not found response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances stockimages get not found response +func (o *PcloudCloudinstancesStockimagesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesStockimagesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetInternalServerError creates a PcloudCloudinstancesStockimagesGetInternalServerError with default headers values +func NewPcloudCloudinstancesStockimagesGetInternalServerError() *PcloudCloudinstancesStockimagesGetInternalServerError { + return &PcloudCloudinstancesStockimagesGetInternalServerError{} +} + +/* +PcloudCloudinstancesStockimagesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesStockimagesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages get internal server error response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages get internal server error response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages get internal server error response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances stockimages get internal server error response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances stockimages get internal server error response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances stockimages get internal server error response +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images/{image_id}][%d] pcloudCloudinstancesStockimagesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_getall_parameters.go new file mode 100644 index 000000000..8cc039055 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_getall_parameters.go @@ -0,0 +1,220 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewPcloudCloudinstancesStockimagesGetallParams creates a new PcloudCloudinstancesStockimagesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesStockimagesGetallParams() *PcloudCloudinstancesStockimagesGetallParams { + return &PcloudCloudinstancesStockimagesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesStockimagesGetallParamsWithTimeout creates a new PcloudCloudinstancesStockimagesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesStockimagesGetallParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesStockimagesGetallParams { + return &PcloudCloudinstancesStockimagesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesStockimagesGetallParamsWithContext creates a new PcloudCloudinstancesStockimagesGetallParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesStockimagesGetallParamsWithContext(ctx context.Context) *PcloudCloudinstancesStockimagesGetallParams { + return &PcloudCloudinstancesStockimagesGetallParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesStockimagesGetallParamsWithHTTPClient creates a new PcloudCloudinstancesStockimagesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesStockimagesGetallParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesStockimagesGetallParams { + return &PcloudCloudinstancesStockimagesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesStockimagesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances stockimages getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesStockimagesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* Sap. + + Include SAP images with get available stock images + */ + Sap *bool + + /* Vtl. + + Include VTL images with get available stock images + */ + Vtl *bool + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances stockimages getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesStockimagesGetallParams) WithDefaults() *PcloudCloudinstancesStockimagesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances stockimages getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesStockimagesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesStockimagesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) WithContext(ctx context.Context) *PcloudCloudinstancesStockimagesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesStockimagesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesStockimagesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSap adds the sap to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) WithSap(sap *bool) *PcloudCloudinstancesStockimagesGetallParams { + o.SetSap(sap) + return o +} + +// SetSap adds the sap to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) SetSap(sap *bool) { + o.Sap = sap +} + +// WithVtl adds the vtl to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) WithVtl(vtl *bool) *PcloudCloudinstancesStockimagesGetallParams { + o.SetVtl(vtl) + return o +} + +// SetVtl adds the vtl to the pcloud cloudinstances stockimages getall params +func (o *PcloudCloudinstancesStockimagesGetallParams) SetVtl(vtl *bool) { + o.Vtl = vtl +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesStockimagesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.Sap != nil { + + // query param sap + var qrSap bool + + if o.Sap != nil { + qrSap = *o.Sap + } + qSap := swag.FormatBool(qrSap) + if qSap != "" { + + if err := r.SetQueryParam("sap", qSap); err != nil { + return err + } + } + } + + if o.Vtl != nil { + + // query param vtl + var qrVtl bool + + if o.Vtl != nil { + qrVtl = *o.Vtl + } + qVtl := swag.FormatBool(qrVtl) + if qVtl != "" { + + if err := r.SetQueryParam("vtl", qVtl); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_getall_responses.go new file mode 100644 index 000000000..994dd1069 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_cloudinstances_stockimages_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesStockimagesGetallReader is a Reader for the PcloudCloudinstancesStockimagesGetall structure. +type PcloudCloudinstancesStockimagesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesStockimagesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesStockimagesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesStockimagesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesStockimagesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesStockimagesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesStockimagesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesStockimagesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images] pcloud.cloudinstances.stockimages.getall", response, response.Code()) + } +} + +// NewPcloudCloudinstancesStockimagesGetallOK creates a PcloudCloudinstancesStockimagesGetallOK with default headers values +func NewPcloudCloudinstancesStockimagesGetallOK() *PcloudCloudinstancesStockimagesGetallOK { + return &PcloudCloudinstancesStockimagesGetallOK{} +} + +/* +PcloudCloudinstancesStockimagesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesStockimagesGetallOK struct { + Payload *models.Images +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages getall o k response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages getall o k response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages getall o k response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances stockimages getall o k response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages getall o k response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances stockimages getall o k response +func (o *PcloudCloudinstancesStockimagesGetallOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesStockimagesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallOK) GetPayload() *models.Images { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Images) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetallBadRequest creates a PcloudCloudinstancesStockimagesGetallBadRequest with default headers values +func NewPcloudCloudinstancesStockimagesGetallBadRequest() *PcloudCloudinstancesStockimagesGetallBadRequest { + return &PcloudCloudinstancesStockimagesGetallBadRequest{} +} + +/* +PcloudCloudinstancesStockimagesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesStockimagesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages getall bad request response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages getall bad request response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages getall bad request response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances stockimages getall bad request response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages getall bad request response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances stockimages getall bad request response +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetallUnauthorized creates a PcloudCloudinstancesStockimagesGetallUnauthorized with default headers values +func NewPcloudCloudinstancesStockimagesGetallUnauthorized() *PcloudCloudinstancesStockimagesGetallUnauthorized { + return &PcloudCloudinstancesStockimagesGetallUnauthorized{} +} + +/* +PcloudCloudinstancesStockimagesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesStockimagesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages getall unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages getall unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages getall unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances stockimages getall unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages getall unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances stockimages getall unauthorized response +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetallForbidden creates a PcloudCloudinstancesStockimagesGetallForbidden with default headers values +func NewPcloudCloudinstancesStockimagesGetallForbidden() *PcloudCloudinstancesStockimagesGetallForbidden { + return &PcloudCloudinstancesStockimagesGetallForbidden{} +} + +/* +PcloudCloudinstancesStockimagesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesStockimagesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages getall forbidden response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages getall forbidden response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages getall forbidden response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances stockimages getall forbidden response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages getall forbidden response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances stockimages getall forbidden response +func (o *PcloudCloudinstancesStockimagesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesStockimagesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetallNotFound creates a PcloudCloudinstancesStockimagesGetallNotFound with default headers values +func NewPcloudCloudinstancesStockimagesGetallNotFound() *PcloudCloudinstancesStockimagesGetallNotFound { + return &PcloudCloudinstancesStockimagesGetallNotFound{} +} + +/* +PcloudCloudinstancesStockimagesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesStockimagesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages getall not found response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages getall not found response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages getall not found response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances stockimages getall not found response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances stockimages getall not found response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances stockimages getall not found response +func (o *PcloudCloudinstancesStockimagesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesStockimagesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStockimagesGetallInternalServerError creates a PcloudCloudinstancesStockimagesGetallInternalServerError with default headers values +func NewPcloudCloudinstancesStockimagesGetallInternalServerError() *PcloudCloudinstancesStockimagesGetallInternalServerError { + return &PcloudCloudinstancesStockimagesGetallInternalServerError{} +} + +/* +PcloudCloudinstancesStockimagesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesStockimagesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances stockimages getall internal server error response has a 2xx status code +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances stockimages getall internal server error response has a 3xx status code +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances stockimages getall internal server error response has a 4xx status code +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances stockimages getall internal server error response has a 5xx status code +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances stockimages getall internal server error response a status code equal to that given +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances stockimages getall internal server error response +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/stock-images][%d] pcloudCloudinstancesStockimagesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStockimagesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_get_parameters.go new file mode 100644 index 000000000..ce58fbc14 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudImagesGetParams creates a new PcloudImagesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudImagesGetParams() *PcloudImagesGetParams { + return &PcloudImagesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudImagesGetParamsWithTimeout creates a new PcloudImagesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudImagesGetParamsWithTimeout(timeout time.Duration) *PcloudImagesGetParams { + return &PcloudImagesGetParams{ + timeout: timeout, + } +} + +// NewPcloudImagesGetParamsWithContext creates a new PcloudImagesGetParams object +// with the ability to set a context for a request. +func NewPcloudImagesGetParamsWithContext(ctx context.Context) *PcloudImagesGetParams { + return &PcloudImagesGetParams{ + Context: ctx, + } +} + +// NewPcloudImagesGetParamsWithHTTPClient creates a new PcloudImagesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudImagesGetParamsWithHTTPClient(client *http.Client) *PcloudImagesGetParams { + return &PcloudImagesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudImagesGetParams contains all the parameters to send to the API endpoint + + for the pcloud images get operation. + + Typically these are written to a http.Request. +*/ +type PcloudImagesGetParams struct { + + /* ImageID. + + Image ID of a image + */ + ImageID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud images get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudImagesGetParams) WithDefaults() *PcloudImagesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud images get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudImagesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud images get params +func (o *PcloudImagesGetParams) WithTimeout(timeout time.Duration) *PcloudImagesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud images get params +func (o *PcloudImagesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud images get params +func (o *PcloudImagesGetParams) WithContext(ctx context.Context) *PcloudImagesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud images get params +func (o *PcloudImagesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud images get params +func (o *PcloudImagesGetParams) WithHTTPClient(client *http.Client) *PcloudImagesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud images get params +func (o *PcloudImagesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithImageID adds the imageID to the pcloud images get params +func (o *PcloudImagesGetParams) WithImageID(imageID string) *PcloudImagesGetParams { + o.SetImageID(imageID) + return o +} + +// SetImageID adds the imageId to the pcloud images get params +func (o *PcloudImagesGetParams) SetImageID(imageID string) { + o.ImageID = imageID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudImagesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param image_id + if err := r.SetPathParam("image_id", o.ImageID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_get_responses.go new file mode 100644 index 000000000..6a965e574 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudImagesGetReader is a Reader for the PcloudImagesGet structure. +type PcloudImagesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudImagesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudImagesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudImagesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudImagesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudImagesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudImagesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudImagesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/images/{image_id}] pcloud.images.get", response, response.Code()) + } +} + +// NewPcloudImagesGetOK creates a PcloudImagesGetOK with default headers values +func NewPcloudImagesGetOK() *PcloudImagesGetOK { + return &PcloudImagesGetOK{} +} + +/* +PcloudImagesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudImagesGetOK struct { + Payload *models.Image +} + +// IsSuccess returns true when this pcloud images get o k response has a 2xx status code +func (o *PcloudImagesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud images get o k response has a 3xx status code +func (o *PcloudImagesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images get o k response has a 4xx status code +func (o *PcloudImagesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud images get o k response has a 5xx status code +func (o *PcloudImagesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images get o k response a status code equal to that given +func (o *PcloudImagesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud images get o k response +func (o *PcloudImagesGetOK) Code() int { + return 200 +} + +func (o *PcloudImagesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetOK %s", 200, payload) +} + +func (o *PcloudImagesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetOK %s", 200, payload) +} + +func (o *PcloudImagesGetOK) GetPayload() *models.Image { + return o.Payload +} + +func (o *PcloudImagesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Image) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetBadRequest creates a PcloudImagesGetBadRequest with default headers values +func NewPcloudImagesGetBadRequest() *PcloudImagesGetBadRequest { + return &PcloudImagesGetBadRequest{} +} + +/* +PcloudImagesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudImagesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images get bad request response has a 2xx status code +func (o *PcloudImagesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images get bad request response has a 3xx status code +func (o *PcloudImagesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images get bad request response has a 4xx status code +func (o *PcloudImagesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud images get bad request response has a 5xx status code +func (o *PcloudImagesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images get bad request response a status code equal to that given +func (o *PcloudImagesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud images get bad request response +func (o *PcloudImagesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudImagesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetBadRequest %s", 400, payload) +} + +func (o *PcloudImagesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetBadRequest %s", 400, payload) +} + +func (o *PcloudImagesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetUnauthorized creates a PcloudImagesGetUnauthorized with default headers values +func NewPcloudImagesGetUnauthorized() *PcloudImagesGetUnauthorized { + return &PcloudImagesGetUnauthorized{} +} + +/* +PcloudImagesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudImagesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images get unauthorized response has a 2xx status code +func (o *PcloudImagesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images get unauthorized response has a 3xx status code +func (o *PcloudImagesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images get unauthorized response has a 4xx status code +func (o *PcloudImagesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud images get unauthorized response has a 5xx status code +func (o *PcloudImagesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images get unauthorized response a status code equal to that given +func (o *PcloudImagesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud images get unauthorized response +func (o *PcloudImagesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudImagesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudImagesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudImagesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetForbidden creates a PcloudImagesGetForbidden with default headers values +func NewPcloudImagesGetForbidden() *PcloudImagesGetForbidden { + return &PcloudImagesGetForbidden{} +} + +/* +PcloudImagesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudImagesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images get forbidden response has a 2xx status code +func (o *PcloudImagesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images get forbidden response has a 3xx status code +func (o *PcloudImagesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images get forbidden response has a 4xx status code +func (o *PcloudImagesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud images get forbidden response has a 5xx status code +func (o *PcloudImagesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images get forbidden response a status code equal to that given +func (o *PcloudImagesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud images get forbidden response +func (o *PcloudImagesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudImagesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetForbidden %s", 403, payload) +} + +func (o *PcloudImagesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetForbidden %s", 403, payload) +} + +func (o *PcloudImagesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetNotFound creates a PcloudImagesGetNotFound with default headers values +func NewPcloudImagesGetNotFound() *PcloudImagesGetNotFound { + return &PcloudImagesGetNotFound{} +} + +/* +PcloudImagesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudImagesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images get not found response has a 2xx status code +func (o *PcloudImagesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images get not found response has a 3xx status code +func (o *PcloudImagesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images get not found response has a 4xx status code +func (o *PcloudImagesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud images get not found response has a 5xx status code +func (o *PcloudImagesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images get not found response a status code equal to that given +func (o *PcloudImagesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud images get not found response +func (o *PcloudImagesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudImagesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetNotFound %s", 404, payload) +} + +func (o *PcloudImagesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetNotFound %s", 404, payload) +} + +func (o *PcloudImagesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetInternalServerError creates a PcloudImagesGetInternalServerError with default headers values +func NewPcloudImagesGetInternalServerError() *PcloudImagesGetInternalServerError { + return &PcloudImagesGetInternalServerError{} +} + +/* +PcloudImagesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudImagesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images get internal server error response has a 2xx status code +func (o *PcloudImagesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images get internal server error response has a 3xx status code +func (o *PcloudImagesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images get internal server error response has a 4xx status code +func (o *PcloudImagesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud images get internal server error response has a 5xx status code +func (o *PcloudImagesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud images get internal server error response a status code equal to that given +func (o *PcloudImagesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud images get internal server error response +func (o *PcloudImagesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudImagesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudImagesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images/{image_id}][%d] pcloudImagesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudImagesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_getall_parameters.go new file mode 100644 index 000000000..008b8284b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_getall_parameters.go @@ -0,0 +1,198 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewPcloudImagesGetallParams creates a new PcloudImagesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudImagesGetallParams() *PcloudImagesGetallParams { + return &PcloudImagesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudImagesGetallParamsWithTimeout creates a new PcloudImagesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudImagesGetallParamsWithTimeout(timeout time.Duration) *PcloudImagesGetallParams { + return &PcloudImagesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudImagesGetallParamsWithContext creates a new PcloudImagesGetallParams object +// with the ability to set a context for a request. +func NewPcloudImagesGetallParamsWithContext(ctx context.Context) *PcloudImagesGetallParams { + return &PcloudImagesGetallParams{ + Context: ctx, + } +} + +// NewPcloudImagesGetallParamsWithHTTPClient creates a new PcloudImagesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudImagesGetallParamsWithHTTPClient(client *http.Client) *PcloudImagesGetallParams { + return &PcloudImagesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudImagesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud images getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudImagesGetallParams struct { + + /* Sap. + + Include SAP images with get available stock images + */ + Sap *bool + + /* Vtl. + + Include VTL images with get available stock images + */ + Vtl *bool + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud images getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudImagesGetallParams) WithDefaults() *PcloudImagesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud images getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudImagesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud images getall params +func (o *PcloudImagesGetallParams) WithTimeout(timeout time.Duration) *PcloudImagesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud images getall params +func (o *PcloudImagesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud images getall params +func (o *PcloudImagesGetallParams) WithContext(ctx context.Context) *PcloudImagesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud images getall params +func (o *PcloudImagesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud images getall params +func (o *PcloudImagesGetallParams) WithHTTPClient(client *http.Client) *PcloudImagesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud images getall params +func (o *PcloudImagesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithSap adds the sap to the pcloud images getall params +func (o *PcloudImagesGetallParams) WithSap(sap *bool) *PcloudImagesGetallParams { + o.SetSap(sap) + return o +} + +// SetSap adds the sap to the pcloud images getall params +func (o *PcloudImagesGetallParams) SetSap(sap *bool) { + o.Sap = sap +} + +// WithVtl adds the vtl to the pcloud images getall params +func (o *PcloudImagesGetallParams) WithVtl(vtl *bool) *PcloudImagesGetallParams { + o.SetVtl(vtl) + return o +} + +// SetVtl adds the vtl to the pcloud images getall params +func (o *PcloudImagesGetallParams) SetVtl(vtl *bool) { + o.Vtl = vtl +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudImagesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.Sap != nil { + + // query param sap + var qrSap bool + + if o.Sap != nil { + qrSap = *o.Sap + } + qSap := swag.FormatBool(qrSap) + if qSap != "" { + + if err := r.SetQueryParam("sap", qSap); err != nil { + return err + } + } + } + + if o.Vtl != nil { + + // query param vtl + var qrVtl bool + + if o.Vtl != nil { + qrVtl = *o.Vtl + } + qVtl := swag.FormatBool(qrVtl) + if qVtl != "" { + + if err := r.SetQueryParam("vtl", qVtl); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_getall_responses.go new file mode 100644 index 000000000..04c505545 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_images_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudImagesGetallReader is a Reader for the PcloudImagesGetall structure. +type PcloudImagesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudImagesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudImagesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudImagesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudImagesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudImagesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudImagesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudImagesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/images] pcloud.images.getall", response, response.Code()) + } +} + +// NewPcloudImagesGetallOK creates a PcloudImagesGetallOK with default headers values +func NewPcloudImagesGetallOK() *PcloudImagesGetallOK { + return &PcloudImagesGetallOK{} +} + +/* +PcloudImagesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudImagesGetallOK struct { + Payload *models.Images +} + +// IsSuccess returns true when this pcloud images getall o k response has a 2xx status code +func (o *PcloudImagesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud images getall o k response has a 3xx status code +func (o *PcloudImagesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images getall o k response has a 4xx status code +func (o *PcloudImagesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud images getall o k response has a 5xx status code +func (o *PcloudImagesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images getall o k response a status code equal to that given +func (o *PcloudImagesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud images getall o k response +func (o *PcloudImagesGetallOK) Code() int { + return 200 +} + +func (o *PcloudImagesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallOK %s", 200, payload) +} + +func (o *PcloudImagesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallOK %s", 200, payload) +} + +func (o *PcloudImagesGetallOK) GetPayload() *models.Images { + return o.Payload +} + +func (o *PcloudImagesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Images) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetallBadRequest creates a PcloudImagesGetallBadRequest with default headers values +func NewPcloudImagesGetallBadRequest() *PcloudImagesGetallBadRequest { + return &PcloudImagesGetallBadRequest{} +} + +/* +PcloudImagesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudImagesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images getall bad request response has a 2xx status code +func (o *PcloudImagesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images getall bad request response has a 3xx status code +func (o *PcloudImagesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images getall bad request response has a 4xx status code +func (o *PcloudImagesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud images getall bad request response has a 5xx status code +func (o *PcloudImagesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images getall bad request response a status code equal to that given +func (o *PcloudImagesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud images getall bad request response +func (o *PcloudImagesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudImagesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudImagesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudImagesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetallUnauthorized creates a PcloudImagesGetallUnauthorized with default headers values +func NewPcloudImagesGetallUnauthorized() *PcloudImagesGetallUnauthorized { + return &PcloudImagesGetallUnauthorized{} +} + +/* +PcloudImagesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudImagesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images getall unauthorized response has a 2xx status code +func (o *PcloudImagesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images getall unauthorized response has a 3xx status code +func (o *PcloudImagesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images getall unauthorized response has a 4xx status code +func (o *PcloudImagesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud images getall unauthorized response has a 5xx status code +func (o *PcloudImagesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images getall unauthorized response a status code equal to that given +func (o *PcloudImagesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud images getall unauthorized response +func (o *PcloudImagesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudImagesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudImagesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudImagesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetallForbidden creates a PcloudImagesGetallForbidden with default headers values +func NewPcloudImagesGetallForbidden() *PcloudImagesGetallForbidden { + return &PcloudImagesGetallForbidden{} +} + +/* +PcloudImagesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudImagesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images getall forbidden response has a 2xx status code +func (o *PcloudImagesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images getall forbidden response has a 3xx status code +func (o *PcloudImagesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images getall forbidden response has a 4xx status code +func (o *PcloudImagesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud images getall forbidden response has a 5xx status code +func (o *PcloudImagesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images getall forbidden response a status code equal to that given +func (o *PcloudImagesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud images getall forbidden response +func (o *PcloudImagesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudImagesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallForbidden %s", 403, payload) +} + +func (o *PcloudImagesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallForbidden %s", 403, payload) +} + +func (o *PcloudImagesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetallNotFound creates a PcloudImagesGetallNotFound with default headers values +func NewPcloudImagesGetallNotFound() *PcloudImagesGetallNotFound { + return &PcloudImagesGetallNotFound{} +} + +/* +PcloudImagesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudImagesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images getall not found response has a 2xx status code +func (o *PcloudImagesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images getall not found response has a 3xx status code +func (o *PcloudImagesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images getall not found response has a 4xx status code +func (o *PcloudImagesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud images getall not found response has a 5xx status code +func (o *PcloudImagesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud images getall not found response a status code equal to that given +func (o *PcloudImagesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud images getall not found response +func (o *PcloudImagesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudImagesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallNotFound %s", 404, payload) +} + +func (o *PcloudImagesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallNotFound %s", 404, payload) +} + +func (o *PcloudImagesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudImagesGetallInternalServerError creates a PcloudImagesGetallInternalServerError with default headers values +func NewPcloudImagesGetallInternalServerError() *PcloudImagesGetallInternalServerError { + return &PcloudImagesGetallInternalServerError{} +} + +/* +PcloudImagesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudImagesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud images getall internal server error response has a 2xx status code +func (o *PcloudImagesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud images getall internal server error response has a 3xx status code +func (o *PcloudImagesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud images getall internal server error response has a 4xx status code +func (o *PcloudImagesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud images getall internal server error response has a 5xx status code +func (o *PcloudImagesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud images getall internal server error response a status code equal to that given +func (o *PcloudImagesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud images getall internal server error response +func (o *PcloudImagesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudImagesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudImagesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/images][%d] pcloudImagesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudImagesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudImagesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_get_parameters.go new file mode 100644 index 000000000..4a97024df --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV1CloudinstancesCosimagesGetParams creates a new PcloudV1CloudinstancesCosimagesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV1CloudinstancesCosimagesGetParams() *PcloudV1CloudinstancesCosimagesGetParams { + return &PcloudV1CloudinstancesCosimagesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV1CloudinstancesCosimagesGetParamsWithTimeout creates a new PcloudV1CloudinstancesCosimagesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudV1CloudinstancesCosimagesGetParamsWithTimeout(timeout time.Duration) *PcloudV1CloudinstancesCosimagesGetParams { + return &PcloudV1CloudinstancesCosimagesGetParams{ + timeout: timeout, + } +} + +// NewPcloudV1CloudinstancesCosimagesGetParamsWithContext creates a new PcloudV1CloudinstancesCosimagesGetParams object +// with the ability to set a context for a request. +func NewPcloudV1CloudinstancesCosimagesGetParamsWithContext(ctx context.Context) *PcloudV1CloudinstancesCosimagesGetParams { + return &PcloudV1CloudinstancesCosimagesGetParams{ + Context: ctx, + } +} + +// NewPcloudV1CloudinstancesCosimagesGetParamsWithHTTPClient creates a new PcloudV1CloudinstancesCosimagesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV1CloudinstancesCosimagesGetParamsWithHTTPClient(client *http.Client) *PcloudV1CloudinstancesCosimagesGetParams { + return &PcloudV1CloudinstancesCosimagesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudV1CloudinstancesCosimagesGetParams contains all the parameters to send to the API endpoint + + for the pcloud v1 cloudinstances cosimages get operation. + + Typically these are written to a http.Request. +*/ +type PcloudV1CloudinstancesCosimagesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v1 cloudinstances cosimages get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV1CloudinstancesCosimagesGetParams) WithDefaults() *PcloudV1CloudinstancesCosimagesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v1 cloudinstances cosimages get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV1CloudinstancesCosimagesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v1 cloudinstances cosimages get params +func (o *PcloudV1CloudinstancesCosimagesGetParams) WithTimeout(timeout time.Duration) *PcloudV1CloudinstancesCosimagesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v1 cloudinstances cosimages get params +func (o *PcloudV1CloudinstancesCosimagesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v1 cloudinstances cosimages get params +func (o *PcloudV1CloudinstancesCosimagesGetParams) WithContext(ctx context.Context) *PcloudV1CloudinstancesCosimagesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v1 cloudinstances cosimages get params +func (o *PcloudV1CloudinstancesCosimagesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v1 cloudinstances cosimages get params +func (o *PcloudV1CloudinstancesCosimagesGetParams) WithHTTPClient(client *http.Client) *PcloudV1CloudinstancesCosimagesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v1 cloudinstances cosimages get params +func (o *PcloudV1CloudinstancesCosimagesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v1 cloudinstances cosimages get params +func (o *PcloudV1CloudinstancesCosimagesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV1CloudinstancesCosimagesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v1 cloudinstances cosimages get params +func (o *PcloudV1CloudinstancesCosimagesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV1CloudinstancesCosimagesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_get_responses.go new file mode 100644 index 000000000..690b4505a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV1CloudinstancesCosimagesGetReader is a Reader for the PcloudV1CloudinstancesCosimagesGet structure. +type PcloudV1CloudinstancesCosimagesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV1CloudinstancesCosimagesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV1CloudinstancesCosimagesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV1CloudinstancesCosimagesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV1CloudinstancesCosimagesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV1CloudinstancesCosimagesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV1CloudinstancesCosimagesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV1CloudinstancesCosimagesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images] pcloud.v1.cloudinstances.cosimages.get", response, response.Code()) + } +} + +// NewPcloudV1CloudinstancesCosimagesGetOK creates a PcloudV1CloudinstancesCosimagesGetOK with default headers values +func NewPcloudV1CloudinstancesCosimagesGetOK() *PcloudV1CloudinstancesCosimagesGetOK { + return &PcloudV1CloudinstancesCosimagesGetOK{} +} + +/* +PcloudV1CloudinstancesCosimagesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV1CloudinstancesCosimagesGetOK struct { + Payload *models.Job +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages get o k response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages get o k response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages get o k response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages get o k response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages get o k response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages get o k response +func (o *PcloudV1CloudinstancesCosimagesGetOK) Code() int { + return 200 +} + +func (o *PcloudV1CloudinstancesCosimagesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetOK %s", 200, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetOK %s", 200, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetOK) GetPayload() *models.Job { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Job) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesGetBadRequest creates a PcloudV1CloudinstancesCosimagesGetBadRequest with default headers values +func NewPcloudV1CloudinstancesCosimagesGetBadRequest() *PcloudV1CloudinstancesCosimagesGetBadRequest { + return &PcloudV1CloudinstancesCosimagesGetBadRequest{} +} + +/* +PcloudV1CloudinstancesCosimagesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV1CloudinstancesCosimagesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages get bad request response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages get bad request response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages get bad request response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages get bad request response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages get bad request response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages get bad request response +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetBadRequest %s", 400, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetBadRequest %s", 400, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesGetUnauthorized creates a PcloudV1CloudinstancesCosimagesGetUnauthorized with default headers values +func NewPcloudV1CloudinstancesCosimagesGetUnauthorized() *PcloudV1CloudinstancesCosimagesGetUnauthorized { + return &PcloudV1CloudinstancesCosimagesGetUnauthorized{} +} + +/* +PcloudV1CloudinstancesCosimagesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV1CloudinstancesCosimagesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages get unauthorized response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages get unauthorized response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages get unauthorized response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages get unauthorized response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages get unauthorized response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages get unauthorized response +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesGetForbidden creates a PcloudV1CloudinstancesCosimagesGetForbidden with default headers values +func NewPcloudV1CloudinstancesCosimagesGetForbidden() *PcloudV1CloudinstancesCosimagesGetForbidden { + return &PcloudV1CloudinstancesCosimagesGetForbidden{} +} + +/* +PcloudV1CloudinstancesCosimagesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV1CloudinstancesCosimagesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages get forbidden response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages get forbidden response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages get forbidden response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages get forbidden response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages get forbidden response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages get forbidden response +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetForbidden %s", 403, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetForbidden %s", 403, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesGetNotFound creates a PcloudV1CloudinstancesCosimagesGetNotFound with default headers values +func NewPcloudV1CloudinstancesCosimagesGetNotFound() *PcloudV1CloudinstancesCosimagesGetNotFound { + return &PcloudV1CloudinstancesCosimagesGetNotFound{} +} + +/* +PcloudV1CloudinstancesCosimagesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV1CloudinstancesCosimagesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages get not found response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages get not found response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages get not found response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages get not found response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages get not found response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages get not found response +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetNotFound %s", 404, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetNotFound %s", 404, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesGetInternalServerError creates a PcloudV1CloudinstancesCosimagesGetInternalServerError with default headers values +func NewPcloudV1CloudinstancesCosimagesGetInternalServerError() *PcloudV1CloudinstancesCosimagesGetInternalServerError { + return &PcloudV1CloudinstancesCosimagesGetInternalServerError{} +} + +/* +PcloudV1CloudinstancesCosimagesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV1CloudinstancesCosimagesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages get internal server error response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages get internal server error response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages get internal server error response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages get internal server error response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages get internal server error response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages get internal server error response +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_post_parameters.go new file mode 100644 index 000000000..6a7952ce4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV1CloudinstancesCosimagesPostParams creates a new PcloudV1CloudinstancesCosimagesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV1CloudinstancesCosimagesPostParams() *PcloudV1CloudinstancesCosimagesPostParams { + return &PcloudV1CloudinstancesCosimagesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV1CloudinstancesCosimagesPostParamsWithTimeout creates a new PcloudV1CloudinstancesCosimagesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudV1CloudinstancesCosimagesPostParamsWithTimeout(timeout time.Duration) *PcloudV1CloudinstancesCosimagesPostParams { + return &PcloudV1CloudinstancesCosimagesPostParams{ + timeout: timeout, + } +} + +// NewPcloudV1CloudinstancesCosimagesPostParamsWithContext creates a new PcloudV1CloudinstancesCosimagesPostParams object +// with the ability to set a context for a request. +func NewPcloudV1CloudinstancesCosimagesPostParamsWithContext(ctx context.Context) *PcloudV1CloudinstancesCosimagesPostParams { + return &PcloudV1CloudinstancesCosimagesPostParams{ + Context: ctx, + } +} + +// NewPcloudV1CloudinstancesCosimagesPostParamsWithHTTPClient creates a new PcloudV1CloudinstancesCosimagesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV1CloudinstancesCosimagesPostParamsWithHTTPClient(client *http.Client) *PcloudV1CloudinstancesCosimagesPostParams { + return &PcloudV1CloudinstancesCosimagesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudV1CloudinstancesCosimagesPostParams contains all the parameters to send to the API endpoint + + for the pcloud v1 cloudinstances cosimages post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV1CloudinstancesCosimagesPostParams struct { + + /* Body. + + Parameters for the creation of a new cos-image import job + */ + Body *models.CreateCosImageImportJob + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v1 cloudinstances cosimages post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV1CloudinstancesCosimagesPostParams) WithDefaults() *PcloudV1CloudinstancesCosimagesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v1 cloudinstances cosimages post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV1CloudinstancesCosimagesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) WithTimeout(timeout time.Duration) *PcloudV1CloudinstancesCosimagesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) WithContext(ctx context.Context) *PcloudV1CloudinstancesCosimagesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) WithHTTPClient(client *http.Client) *PcloudV1CloudinstancesCosimagesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) WithBody(body *models.CreateCosImageImportJob) *PcloudV1CloudinstancesCosimagesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) SetBody(body *models.CreateCosImageImportJob) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV1CloudinstancesCosimagesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v1 cloudinstances cosimages post params +func (o *PcloudV1CloudinstancesCosimagesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV1CloudinstancesCosimagesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_post_responses.go new file mode 100644 index 000000000..bf70f84f4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v1_cloudinstances_cosimages_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV1CloudinstancesCosimagesPostReader is a Reader for the PcloudV1CloudinstancesCosimagesPost structure. +type PcloudV1CloudinstancesCosimagesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV1CloudinstancesCosimagesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV1CloudinstancesCosimagesPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV1CloudinstancesCosimagesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV1CloudinstancesCosimagesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV1CloudinstancesCosimagesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV1CloudinstancesCosimagesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV1CloudinstancesCosimagesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudV1CloudinstancesCosimagesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV1CloudinstancesCosimagesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images] pcloud.v1.cloudinstances.cosimages.post", response, response.Code()) + } +} + +// NewPcloudV1CloudinstancesCosimagesPostAccepted creates a PcloudV1CloudinstancesCosimagesPostAccepted with default headers values +func NewPcloudV1CloudinstancesCosimagesPostAccepted() *PcloudV1CloudinstancesCosimagesPostAccepted { + return &PcloudV1CloudinstancesCosimagesPostAccepted{} +} + +/* +PcloudV1CloudinstancesCosimagesPostAccepted describes a response with status code 202, with default header values. + +Accepted, cos-image import successfully added to the jobs queue +*/ +type PcloudV1CloudinstancesCosimagesPostAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages post accepted response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages post accepted response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages post accepted response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages post accepted response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages post accepted response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages post accepted response +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) Code() int { + return 202 +} + +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostAccepted %s", 202, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostAccepted %s", 202, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesPostBadRequest creates a PcloudV1CloudinstancesCosimagesPostBadRequest with default headers values +func NewPcloudV1CloudinstancesCosimagesPostBadRequest() *PcloudV1CloudinstancesCosimagesPostBadRequest { + return &PcloudV1CloudinstancesCosimagesPostBadRequest{} +} + +/* +PcloudV1CloudinstancesCosimagesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV1CloudinstancesCosimagesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages post bad request response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages post bad request response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages post bad request response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages post bad request response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages post bad request response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages post bad request response +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostBadRequest %s", 400, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostBadRequest %s", 400, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesPostUnauthorized creates a PcloudV1CloudinstancesCosimagesPostUnauthorized with default headers values +func NewPcloudV1CloudinstancesCosimagesPostUnauthorized() *PcloudV1CloudinstancesCosimagesPostUnauthorized { + return &PcloudV1CloudinstancesCosimagesPostUnauthorized{} +} + +/* +PcloudV1CloudinstancesCosimagesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV1CloudinstancesCosimagesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages post unauthorized response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages post unauthorized response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages post unauthorized response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages post unauthorized response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages post unauthorized response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages post unauthorized response +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesPostForbidden creates a PcloudV1CloudinstancesCosimagesPostForbidden with default headers values +func NewPcloudV1CloudinstancesCosimagesPostForbidden() *PcloudV1CloudinstancesCosimagesPostForbidden { + return &PcloudV1CloudinstancesCosimagesPostForbidden{} +} + +/* +PcloudV1CloudinstancesCosimagesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV1CloudinstancesCosimagesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages post forbidden response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages post forbidden response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages post forbidden response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages post forbidden response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages post forbidden response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages post forbidden response +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostForbidden %s", 403, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostForbidden %s", 403, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesPostNotFound creates a PcloudV1CloudinstancesCosimagesPostNotFound with default headers values +func NewPcloudV1CloudinstancesCosimagesPostNotFound() *PcloudV1CloudinstancesCosimagesPostNotFound { + return &PcloudV1CloudinstancesCosimagesPostNotFound{} +} + +/* +PcloudV1CloudinstancesCosimagesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV1CloudinstancesCosimagesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages post not found response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages post not found response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages post not found response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages post not found response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages post not found response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages post not found response +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostNotFound %s", 404, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostNotFound %s", 404, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesPostConflict creates a PcloudV1CloudinstancesCosimagesPostConflict with default headers values +func NewPcloudV1CloudinstancesCosimagesPostConflict() *PcloudV1CloudinstancesCosimagesPostConflict { + return &PcloudV1CloudinstancesCosimagesPostConflict{} +} + +/* +PcloudV1CloudinstancesCosimagesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudV1CloudinstancesCosimagesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages post conflict response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages post conflict response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages post conflict response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages post conflict response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages post conflict response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages post conflict response +func (o *PcloudV1CloudinstancesCosimagesPostConflict) Code() int { + return 409 +} + +func (o *PcloudV1CloudinstancesCosimagesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostConflict %s", 409, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostConflict %s", 409, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesPostUnprocessableEntity creates a PcloudV1CloudinstancesCosimagesPostUnprocessableEntity with default headers values +func NewPcloudV1CloudinstancesCosimagesPostUnprocessableEntity() *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity { + return &PcloudV1CloudinstancesCosimagesPostUnprocessableEntity{} +} + +/* +PcloudV1CloudinstancesCosimagesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudV1CloudinstancesCosimagesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages post unprocessable entity response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages post unprocessable entity response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages post unprocessable entity response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages post unprocessable entity response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages post unprocessable entity response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages post unprocessable entity response +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV1CloudinstancesCosimagesPostInternalServerError creates a PcloudV1CloudinstancesCosimagesPostInternalServerError with default headers values +func NewPcloudV1CloudinstancesCosimagesPostInternalServerError() *PcloudV1CloudinstancesCosimagesPostInternalServerError { + return &PcloudV1CloudinstancesCosimagesPostInternalServerError{} +} + +/* +PcloudV1CloudinstancesCosimagesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV1CloudinstancesCosimagesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v1 cloudinstances cosimages post internal server error response has a 2xx status code +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v1 cloudinstances cosimages post internal server error response has a 3xx status code +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v1 cloudinstances cosimages post internal server error response has a 4xx status code +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v1 cloudinstances cosimages post internal server error response has a 5xx status code +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v1 cloudinstances cosimages post internal server error response a status code equal to that given +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v1 cloudinstances cosimages post internal server error response +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/cos-images][%d] pcloudV1CloudinstancesCosimagesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV1CloudinstancesCosimagesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_get_parameters.go new file mode 100644 index 000000000..6758df1b6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV2ImagesExportGetParams creates a new PcloudV2ImagesExportGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2ImagesExportGetParams() *PcloudV2ImagesExportGetParams { + return &PcloudV2ImagesExportGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2ImagesExportGetParamsWithTimeout creates a new PcloudV2ImagesExportGetParams object +// with the ability to set a timeout on a request. +func NewPcloudV2ImagesExportGetParamsWithTimeout(timeout time.Duration) *PcloudV2ImagesExportGetParams { + return &PcloudV2ImagesExportGetParams{ + timeout: timeout, + } +} + +// NewPcloudV2ImagesExportGetParamsWithContext creates a new PcloudV2ImagesExportGetParams object +// with the ability to set a context for a request. +func NewPcloudV2ImagesExportGetParamsWithContext(ctx context.Context) *PcloudV2ImagesExportGetParams { + return &PcloudV2ImagesExportGetParams{ + Context: ctx, + } +} + +// NewPcloudV2ImagesExportGetParamsWithHTTPClient creates a new PcloudV2ImagesExportGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2ImagesExportGetParamsWithHTTPClient(client *http.Client) *PcloudV2ImagesExportGetParams { + return &PcloudV2ImagesExportGetParams{ + HTTPClient: client, + } +} + +/* +PcloudV2ImagesExportGetParams contains all the parameters to send to the API endpoint + + for the pcloud v2 images export get operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2ImagesExportGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* ImageID. + + Image ID of a image + */ + ImageID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 images export get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2ImagesExportGetParams) WithDefaults() *PcloudV2ImagesExportGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 images export get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2ImagesExportGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) WithTimeout(timeout time.Duration) *PcloudV2ImagesExportGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) WithContext(ctx context.Context) *PcloudV2ImagesExportGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) WithHTTPClient(client *http.Client) *PcloudV2ImagesExportGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2ImagesExportGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithImageID adds the imageID to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) WithImageID(imageID string) *PcloudV2ImagesExportGetParams { + o.SetImageID(imageID) + return o +} + +// SetImageID adds the imageId to the pcloud v2 images export get params +func (o *PcloudV2ImagesExportGetParams) SetImageID(imageID string) { + o.ImageID = imageID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2ImagesExportGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param image_id + if err := r.SetPathParam("image_id", o.ImageID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_get_responses.go new file mode 100644 index 000000000..d473e86b9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2ImagesExportGetReader is a Reader for the PcloudV2ImagesExportGet structure. +type PcloudV2ImagesExportGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2ImagesExportGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2ImagesExportGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2ImagesExportGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2ImagesExportGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2ImagesExportGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2ImagesExportGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2ImagesExportGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export] pcloud.v2.images.export.get", response, response.Code()) + } +} + +// NewPcloudV2ImagesExportGetOK creates a PcloudV2ImagesExportGetOK with default headers values +func NewPcloudV2ImagesExportGetOK() *PcloudV2ImagesExportGetOK { + return &PcloudV2ImagesExportGetOK{} +} + +/* +PcloudV2ImagesExportGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2ImagesExportGetOK struct { + Payload *models.Job +} + +// IsSuccess returns true when this pcloud v2 images export get o k response has a 2xx status code +func (o *PcloudV2ImagesExportGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 images export get o k response has a 3xx status code +func (o *PcloudV2ImagesExportGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export get o k response has a 4xx status code +func (o *PcloudV2ImagesExportGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 images export get o k response has a 5xx status code +func (o *PcloudV2ImagesExportGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export get o k response a status code equal to that given +func (o *PcloudV2ImagesExportGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 images export get o k response +func (o *PcloudV2ImagesExportGetOK) Code() int { + return 200 +} + +func (o *PcloudV2ImagesExportGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetOK %s", 200, payload) +} + +func (o *PcloudV2ImagesExportGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetOK %s", 200, payload) +} + +func (o *PcloudV2ImagesExportGetOK) GetPayload() *models.Job { + return o.Payload +} + +func (o *PcloudV2ImagesExportGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Job) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportGetBadRequest creates a PcloudV2ImagesExportGetBadRequest with default headers values +func NewPcloudV2ImagesExportGetBadRequest() *PcloudV2ImagesExportGetBadRequest { + return &PcloudV2ImagesExportGetBadRequest{} +} + +/* +PcloudV2ImagesExportGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2ImagesExportGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export get bad request response has a 2xx status code +func (o *PcloudV2ImagesExportGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export get bad request response has a 3xx status code +func (o *PcloudV2ImagesExportGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export get bad request response has a 4xx status code +func (o *PcloudV2ImagesExportGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export get bad request response has a 5xx status code +func (o *PcloudV2ImagesExportGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export get bad request response a status code equal to that given +func (o *PcloudV2ImagesExportGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 images export get bad request response +func (o *PcloudV2ImagesExportGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2ImagesExportGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetBadRequest %s", 400, payload) +} + +func (o *PcloudV2ImagesExportGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetBadRequest %s", 400, payload) +} + +func (o *PcloudV2ImagesExportGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportGetUnauthorized creates a PcloudV2ImagesExportGetUnauthorized with default headers values +func NewPcloudV2ImagesExportGetUnauthorized() *PcloudV2ImagesExportGetUnauthorized { + return &PcloudV2ImagesExportGetUnauthorized{} +} + +/* +PcloudV2ImagesExportGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2ImagesExportGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export get unauthorized response has a 2xx status code +func (o *PcloudV2ImagesExportGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export get unauthorized response has a 3xx status code +func (o *PcloudV2ImagesExportGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export get unauthorized response has a 4xx status code +func (o *PcloudV2ImagesExportGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export get unauthorized response has a 5xx status code +func (o *PcloudV2ImagesExportGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export get unauthorized response a status code equal to that given +func (o *PcloudV2ImagesExportGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 images export get unauthorized response +func (o *PcloudV2ImagesExportGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2ImagesExportGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV2ImagesExportGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV2ImagesExportGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportGetForbidden creates a PcloudV2ImagesExportGetForbidden with default headers values +func NewPcloudV2ImagesExportGetForbidden() *PcloudV2ImagesExportGetForbidden { + return &PcloudV2ImagesExportGetForbidden{} +} + +/* +PcloudV2ImagesExportGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2ImagesExportGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export get forbidden response has a 2xx status code +func (o *PcloudV2ImagesExportGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export get forbidden response has a 3xx status code +func (o *PcloudV2ImagesExportGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export get forbidden response has a 4xx status code +func (o *PcloudV2ImagesExportGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export get forbidden response has a 5xx status code +func (o *PcloudV2ImagesExportGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export get forbidden response a status code equal to that given +func (o *PcloudV2ImagesExportGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 images export get forbidden response +func (o *PcloudV2ImagesExportGetForbidden) Code() int { + return 403 +} + +func (o *PcloudV2ImagesExportGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetForbidden %s", 403, payload) +} + +func (o *PcloudV2ImagesExportGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetForbidden %s", 403, payload) +} + +func (o *PcloudV2ImagesExportGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportGetNotFound creates a PcloudV2ImagesExportGetNotFound with default headers values +func NewPcloudV2ImagesExportGetNotFound() *PcloudV2ImagesExportGetNotFound { + return &PcloudV2ImagesExportGetNotFound{} +} + +/* +PcloudV2ImagesExportGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2ImagesExportGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export get not found response has a 2xx status code +func (o *PcloudV2ImagesExportGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export get not found response has a 3xx status code +func (o *PcloudV2ImagesExportGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export get not found response has a 4xx status code +func (o *PcloudV2ImagesExportGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export get not found response has a 5xx status code +func (o *PcloudV2ImagesExportGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export get not found response a status code equal to that given +func (o *PcloudV2ImagesExportGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 images export get not found response +func (o *PcloudV2ImagesExportGetNotFound) Code() int { + return 404 +} + +func (o *PcloudV2ImagesExportGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetNotFound %s", 404, payload) +} + +func (o *PcloudV2ImagesExportGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetNotFound %s", 404, payload) +} + +func (o *PcloudV2ImagesExportGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportGetInternalServerError creates a PcloudV2ImagesExportGetInternalServerError with default headers values +func NewPcloudV2ImagesExportGetInternalServerError() *PcloudV2ImagesExportGetInternalServerError { + return &PcloudV2ImagesExportGetInternalServerError{} +} + +/* +PcloudV2ImagesExportGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2ImagesExportGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export get internal server error response has a 2xx status code +func (o *PcloudV2ImagesExportGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export get internal server error response has a 3xx status code +func (o *PcloudV2ImagesExportGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export get internal server error response has a 4xx status code +func (o *PcloudV2ImagesExportGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 images export get internal server error response has a 5xx status code +func (o *PcloudV2ImagesExportGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 images export get internal server error response a status code equal to that given +func (o *PcloudV2ImagesExportGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 images export get internal server error response +func (o *PcloudV2ImagesExportGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2ImagesExportGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV2ImagesExportGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV2ImagesExportGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_post_parameters.go new file mode 100644 index 000000000..d6b4ba26a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2ImagesExportPostParams creates a new PcloudV2ImagesExportPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2ImagesExportPostParams() *PcloudV2ImagesExportPostParams { + return &PcloudV2ImagesExportPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2ImagesExportPostParamsWithTimeout creates a new PcloudV2ImagesExportPostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2ImagesExportPostParamsWithTimeout(timeout time.Duration) *PcloudV2ImagesExportPostParams { + return &PcloudV2ImagesExportPostParams{ + timeout: timeout, + } +} + +// NewPcloudV2ImagesExportPostParamsWithContext creates a new PcloudV2ImagesExportPostParams object +// with the ability to set a context for a request. +func NewPcloudV2ImagesExportPostParamsWithContext(ctx context.Context) *PcloudV2ImagesExportPostParams { + return &PcloudV2ImagesExportPostParams{ + Context: ctx, + } +} + +// NewPcloudV2ImagesExportPostParamsWithHTTPClient creates a new PcloudV2ImagesExportPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2ImagesExportPostParamsWithHTTPClient(client *http.Client) *PcloudV2ImagesExportPostParams { + return &PcloudV2ImagesExportPostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2ImagesExportPostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 images export post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2ImagesExportPostParams struct { + + /* Body. + + Parameters for the export + */ + Body *models.ExportImage + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* ImageID. + + Image ID of a image + */ + ImageID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 images export post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2ImagesExportPostParams) WithDefaults() *PcloudV2ImagesExportPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 images export post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2ImagesExportPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) WithTimeout(timeout time.Duration) *PcloudV2ImagesExportPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) WithContext(ctx context.Context) *PcloudV2ImagesExportPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) WithHTTPClient(client *http.Client) *PcloudV2ImagesExportPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) WithBody(body *models.ExportImage) *PcloudV2ImagesExportPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) SetBody(body *models.ExportImage) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2ImagesExportPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithImageID adds the imageID to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) WithImageID(imageID string) *PcloudV2ImagesExportPostParams { + o.SetImageID(imageID) + return o +} + +// SetImageID adds the imageId to the pcloud v2 images export post params +func (o *PcloudV2ImagesExportPostParams) SetImageID(imageID string) { + o.ImageID = imageID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2ImagesExportPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param image_id + if err := r.SetPathParam("image_id", o.ImageID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_post_responses.go new file mode 100644 index 000000000..2762711bc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images/pcloud_v2_images_export_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_images + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2ImagesExportPostReader is a Reader for the PcloudV2ImagesExportPost structure. +type PcloudV2ImagesExportPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2ImagesExportPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2ImagesExportPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2ImagesExportPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2ImagesExportPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2ImagesExportPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2ImagesExportPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV2ImagesExportPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudV2ImagesExportPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2ImagesExportPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export] pcloud.v2.images.export.post", response, response.Code()) + } +} + +// NewPcloudV2ImagesExportPostAccepted creates a PcloudV2ImagesExportPostAccepted with default headers values +func NewPcloudV2ImagesExportPostAccepted() *PcloudV2ImagesExportPostAccepted { + return &PcloudV2ImagesExportPostAccepted{} +} + +/* +PcloudV2ImagesExportPostAccepted describes a response with status code 202, with default header values. + +Accepted, image export successfully added to the jobs queue +*/ +type PcloudV2ImagesExportPostAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud v2 images export post accepted response has a 2xx status code +func (o *PcloudV2ImagesExportPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 images export post accepted response has a 3xx status code +func (o *PcloudV2ImagesExportPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export post accepted response has a 4xx status code +func (o *PcloudV2ImagesExportPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 images export post accepted response has a 5xx status code +func (o *PcloudV2ImagesExportPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export post accepted response a status code equal to that given +func (o *PcloudV2ImagesExportPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 images export post accepted response +func (o *PcloudV2ImagesExportPostAccepted) Code() int { + return 202 +} + +func (o *PcloudV2ImagesExportPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostAccepted %s", 202, payload) +} + +func (o *PcloudV2ImagesExportPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostAccepted %s", 202, payload) +} + +func (o *PcloudV2ImagesExportPostAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudV2ImagesExportPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportPostBadRequest creates a PcloudV2ImagesExportPostBadRequest with default headers values +func NewPcloudV2ImagesExportPostBadRequest() *PcloudV2ImagesExportPostBadRequest { + return &PcloudV2ImagesExportPostBadRequest{} +} + +/* +PcloudV2ImagesExportPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2ImagesExportPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export post bad request response has a 2xx status code +func (o *PcloudV2ImagesExportPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export post bad request response has a 3xx status code +func (o *PcloudV2ImagesExportPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export post bad request response has a 4xx status code +func (o *PcloudV2ImagesExportPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export post bad request response has a 5xx status code +func (o *PcloudV2ImagesExportPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export post bad request response a status code equal to that given +func (o *PcloudV2ImagesExportPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 images export post bad request response +func (o *PcloudV2ImagesExportPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2ImagesExportPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2ImagesExportPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2ImagesExportPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportPostUnauthorized creates a PcloudV2ImagesExportPostUnauthorized with default headers values +func NewPcloudV2ImagesExportPostUnauthorized() *PcloudV2ImagesExportPostUnauthorized { + return &PcloudV2ImagesExportPostUnauthorized{} +} + +/* +PcloudV2ImagesExportPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2ImagesExportPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export post unauthorized response has a 2xx status code +func (o *PcloudV2ImagesExportPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export post unauthorized response has a 3xx status code +func (o *PcloudV2ImagesExportPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export post unauthorized response has a 4xx status code +func (o *PcloudV2ImagesExportPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export post unauthorized response has a 5xx status code +func (o *PcloudV2ImagesExportPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export post unauthorized response a status code equal to that given +func (o *PcloudV2ImagesExportPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 images export post unauthorized response +func (o *PcloudV2ImagesExportPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2ImagesExportPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2ImagesExportPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2ImagesExportPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportPostForbidden creates a PcloudV2ImagesExportPostForbidden with default headers values +func NewPcloudV2ImagesExportPostForbidden() *PcloudV2ImagesExportPostForbidden { + return &PcloudV2ImagesExportPostForbidden{} +} + +/* +PcloudV2ImagesExportPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2ImagesExportPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export post forbidden response has a 2xx status code +func (o *PcloudV2ImagesExportPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export post forbidden response has a 3xx status code +func (o *PcloudV2ImagesExportPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export post forbidden response has a 4xx status code +func (o *PcloudV2ImagesExportPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export post forbidden response has a 5xx status code +func (o *PcloudV2ImagesExportPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export post forbidden response a status code equal to that given +func (o *PcloudV2ImagesExportPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 images export post forbidden response +func (o *PcloudV2ImagesExportPostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2ImagesExportPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostForbidden %s", 403, payload) +} + +func (o *PcloudV2ImagesExportPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostForbidden %s", 403, payload) +} + +func (o *PcloudV2ImagesExportPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportPostNotFound creates a PcloudV2ImagesExportPostNotFound with default headers values +func NewPcloudV2ImagesExportPostNotFound() *PcloudV2ImagesExportPostNotFound { + return &PcloudV2ImagesExportPostNotFound{} +} + +/* +PcloudV2ImagesExportPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2ImagesExportPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export post not found response has a 2xx status code +func (o *PcloudV2ImagesExportPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export post not found response has a 3xx status code +func (o *PcloudV2ImagesExportPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export post not found response has a 4xx status code +func (o *PcloudV2ImagesExportPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export post not found response has a 5xx status code +func (o *PcloudV2ImagesExportPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export post not found response a status code equal to that given +func (o *PcloudV2ImagesExportPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 images export post not found response +func (o *PcloudV2ImagesExportPostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2ImagesExportPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostNotFound %s", 404, payload) +} + +func (o *PcloudV2ImagesExportPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostNotFound %s", 404, payload) +} + +func (o *PcloudV2ImagesExportPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportPostConflict creates a PcloudV2ImagesExportPostConflict with default headers values +func NewPcloudV2ImagesExportPostConflict() *PcloudV2ImagesExportPostConflict { + return &PcloudV2ImagesExportPostConflict{} +} + +/* +PcloudV2ImagesExportPostConflict describes a response with status code 409, with default header values. + +Conflict, a conflict has prevented adding image export job +*/ +type PcloudV2ImagesExportPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export post conflict response has a 2xx status code +func (o *PcloudV2ImagesExportPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export post conflict response has a 3xx status code +func (o *PcloudV2ImagesExportPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export post conflict response has a 4xx status code +func (o *PcloudV2ImagesExportPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export post conflict response has a 5xx status code +func (o *PcloudV2ImagesExportPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export post conflict response a status code equal to that given +func (o *PcloudV2ImagesExportPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v2 images export post conflict response +func (o *PcloudV2ImagesExportPostConflict) Code() int { + return 409 +} + +func (o *PcloudV2ImagesExportPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostConflict %s", 409, payload) +} + +func (o *PcloudV2ImagesExportPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostConflict %s", 409, payload) +} + +func (o *PcloudV2ImagesExportPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportPostUnprocessableEntity creates a PcloudV2ImagesExportPostUnprocessableEntity with default headers values +func NewPcloudV2ImagesExportPostUnprocessableEntity() *PcloudV2ImagesExportPostUnprocessableEntity { + return &PcloudV2ImagesExportPostUnprocessableEntity{} +} + +/* +PcloudV2ImagesExportPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudV2ImagesExportPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export post unprocessable entity response has a 2xx status code +func (o *PcloudV2ImagesExportPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export post unprocessable entity response has a 3xx status code +func (o *PcloudV2ImagesExportPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export post unprocessable entity response has a 4xx status code +func (o *PcloudV2ImagesExportPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 images export post unprocessable entity response has a 5xx status code +func (o *PcloudV2ImagesExportPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 images export post unprocessable entity response a status code equal to that given +func (o *PcloudV2ImagesExportPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud v2 images export post unprocessable entity response +func (o *PcloudV2ImagesExportPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudV2ImagesExportPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudV2ImagesExportPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudV2ImagesExportPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2ImagesExportPostInternalServerError creates a PcloudV2ImagesExportPostInternalServerError with default headers values +func NewPcloudV2ImagesExportPostInternalServerError() *PcloudV2ImagesExportPostInternalServerError { + return &PcloudV2ImagesExportPostInternalServerError{} +} + +/* +PcloudV2ImagesExportPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2ImagesExportPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 images export post internal server error response has a 2xx status code +func (o *PcloudV2ImagesExportPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 images export post internal server error response has a 3xx status code +func (o *PcloudV2ImagesExportPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 images export post internal server error response has a 4xx status code +func (o *PcloudV2ImagesExportPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 images export post internal server error response has a 5xx status code +func (o *PcloudV2ImagesExportPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 images export post internal server error response a status code equal to that given +func (o *PcloudV2ImagesExportPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 images export post internal server error response +func (o *PcloudV2ImagesExportPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2ImagesExportPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2ImagesExportPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/images/{image_id}/export][%d] pcloudV2ImagesExportPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2ImagesExportPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2ImagesExportPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/p_cloud_instances_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/p_cloud_instances_client.go new file mode 100644 index 000000000..3ba8e7d83 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/p_cloud_instances_client.go @@ -0,0 +1,249 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud instances API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud instances API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud instances API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud instances API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudCloudinstancesDelete(params *PcloudCloudinstancesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesDeleteOK, error) + + PcloudCloudinstancesGet(params *PcloudCloudinstancesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesGetOK, error) + + PcloudCloudinstancesPut(params *PcloudCloudinstancesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesPutOK, error) + + PcloudCloudinstancesSharedImagesPut(params *PcloudCloudinstancesSharedImagesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSharedImagesPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudCloudinstancesDelete deletes a power cloud instance +*/ +func (a *Client) PcloudCloudinstancesDelete(params *PcloudCloudinstancesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesGet gets a cloud instance s current state information +*/ +func (a *Client) PcloudCloudinstancesGet(params *PcloudCloudinstancesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesPut updates upgrade a cloud instance +*/ +func (a *Client) PcloudCloudinstancesPut(params *PcloudCloudinstancesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesSharedImagesPut updates shared image settings for a cloud instance +*/ +func (a *Client) PcloudCloudinstancesSharedImagesPut(params *PcloudCloudinstancesSharedImagesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSharedImagesPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesSharedImagesPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.shared-images.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesSharedImagesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesSharedImagesPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.shared-images.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_delete_parameters.go new file mode 100644 index 000000000..69237be9d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesDeleteParams creates a new PcloudCloudinstancesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesDeleteParams() *PcloudCloudinstancesDeleteParams { + return &PcloudCloudinstancesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesDeleteParamsWithTimeout creates a new PcloudCloudinstancesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesDeleteParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesDeleteParams { + return &PcloudCloudinstancesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesDeleteParamsWithContext creates a new PcloudCloudinstancesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesDeleteParamsWithContext(ctx context.Context) *PcloudCloudinstancesDeleteParams { + return &PcloudCloudinstancesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesDeleteParamsWithHTTPClient creates a new PcloudCloudinstancesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesDeleteParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesDeleteParams { + return &PcloudCloudinstancesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesDeleteParams) WithDefaults() *PcloudCloudinstancesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances delete params +func (o *PcloudCloudinstancesDeleteParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances delete params +func (o *PcloudCloudinstancesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances delete params +func (o *PcloudCloudinstancesDeleteParams) WithContext(ctx context.Context) *PcloudCloudinstancesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances delete params +func (o *PcloudCloudinstancesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances delete params +func (o *PcloudCloudinstancesDeleteParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances delete params +func (o *PcloudCloudinstancesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances delete params +func (o *PcloudCloudinstancesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances delete params +func (o *PcloudCloudinstancesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_delete_responses.go new file mode 100644 index 000000000..59971e251 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesDeleteReader is a Reader for the PcloudCloudinstancesDelete structure. +type PcloudCloudinstancesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudCloudinstancesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}] pcloud.cloudinstances.delete", response, response.Code()) + } +} + +// NewPcloudCloudinstancesDeleteOK creates a PcloudCloudinstancesDeleteOK with default headers values +func NewPcloudCloudinstancesDeleteOK() *PcloudCloudinstancesDeleteOK { + return &PcloudCloudinstancesDeleteOK{} +} + +/* +PcloudCloudinstancesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudinstances delete o k response has a 2xx status code +func (o *PcloudCloudinstancesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances delete o k response has a 3xx status code +func (o *PcloudCloudinstancesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances delete o k response has a 4xx status code +func (o *PcloudCloudinstancesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances delete o k response has a 5xx status code +func (o *PcloudCloudinstancesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances delete o k response a status code equal to that given +func (o *PcloudCloudinstancesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances delete o k response +func (o *PcloudCloudinstancesDeleteOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudinstancesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesDeleteBadRequest creates a PcloudCloudinstancesDeleteBadRequest with default headers values +func NewPcloudCloudinstancesDeleteBadRequest() *PcloudCloudinstancesDeleteBadRequest { + return &PcloudCloudinstancesDeleteBadRequest{} +} + +/* +PcloudCloudinstancesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances delete bad request response has a 2xx status code +func (o *PcloudCloudinstancesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances delete bad request response has a 3xx status code +func (o *PcloudCloudinstancesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances delete bad request response has a 4xx status code +func (o *PcloudCloudinstancesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances delete bad request response has a 5xx status code +func (o *PcloudCloudinstancesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances delete bad request response a status code equal to that given +func (o *PcloudCloudinstancesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances delete bad request response +func (o *PcloudCloudinstancesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesDeleteUnauthorized creates a PcloudCloudinstancesDeleteUnauthorized with default headers values +func NewPcloudCloudinstancesDeleteUnauthorized() *PcloudCloudinstancesDeleteUnauthorized { + return &PcloudCloudinstancesDeleteUnauthorized{} +} + +/* +PcloudCloudinstancesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances delete unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances delete unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances delete unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances delete unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances delete unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances delete unauthorized response +func (o *PcloudCloudinstancesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesDeleteForbidden creates a PcloudCloudinstancesDeleteForbidden with default headers values +func NewPcloudCloudinstancesDeleteForbidden() *PcloudCloudinstancesDeleteForbidden { + return &PcloudCloudinstancesDeleteForbidden{} +} + +/* +PcloudCloudinstancesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances delete forbidden response has a 2xx status code +func (o *PcloudCloudinstancesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances delete forbidden response has a 3xx status code +func (o *PcloudCloudinstancesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances delete forbidden response has a 4xx status code +func (o *PcloudCloudinstancesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances delete forbidden response has a 5xx status code +func (o *PcloudCloudinstancesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances delete forbidden response a status code equal to that given +func (o *PcloudCloudinstancesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances delete forbidden response +func (o *PcloudCloudinstancesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesDeleteNotFound creates a PcloudCloudinstancesDeleteNotFound with default headers values +func NewPcloudCloudinstancesDeleteNotFound() *PcloudCloudinstancesDeleteNotFound { + return &PcloudCloudinstancesDeleteNotFound{} +} + +/* +PcloudCloudinstancesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances delete not found response has a 2xx status code +func (o *PcloudCloudinstancesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances delete not found response has a 3xx status code +func (o *PcloudCloudinstancesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances delete not found response has a 4xx status code +func (o *PcloudCloudinstancesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances delete not found response has a 5xx status code +func (o *PcloudCloudinstancesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances delete not found response a status code equal to that given +func (o *PcloudCloudinstancesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances delete not found response +func (o *PcloudCloudinstancesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesDeleteGone creates a PcloudCloudinstancesDeleteGone with default headers values +func NewPcloudCloudinstancesDeleteGone() *PcloudCloudinstancesDeleteGone { + return &PcloudCloudinstancesDeleteGone{} +} + +/* +PcloudCloudinstancesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudCloudinstancesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances delete gone response has a 2xx status code +func (o *PcloudCloudinstancesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances delete gone response has a 3xx status code +func (o *PcloudCloudinstancesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances delete gone response has a 4xx status code +func (o *PcloudCloudinstancesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances delete gone response has a 5xx status code +func (o *PcloudCloudinstancesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances delete gone response a status code equal to that given +func (o *PcloudCloudinstancesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud cloudinstances delete gone response +func (o *PcloudCloudinstancesDeleteGone) Code() int { + return 410 +} + +func (o *PcloudCloudinstancesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudinstancesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudinstancesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesDeleteInternalServerError creates a PcloudCloudinstancesDeleteInternalServerError with default headers values +func NewPcloudCloudinstancesDeleteInternalServerError() *PcloudCloudinstancesDeleteInternalServerError { + return &PcloudCloudinstancesDeleteInternalServerError{} +} + +/* +PcloudCloudinstancesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances delete internal server error response has a 2xx status code +func (o *PcloudCloudinstancesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances delete internal server error response has a 3xx status code +func (o *PcloudCloudinstancesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances delete internal server error response has a 4xx status code +func (o *PcloudCloudinstancesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances delete internal server error response has a 5xx status code +func (o *PcloudCloudinstancesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances delete internal server error response a status code equal to that given +func (o *PcloudCloudinstancesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances delete internal server error response +func (o *PcloudCloudinstancesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_get_parameters.go new file mode 100644 index 000000000..225bf55dd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesGetParams creates a new PcloudCloudinstancesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesGetParams() *PcloudCloudinstancesGetParams { + return &PcloudCloudinstancesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesGetParamsWithTimeout creates a new PcloudCloudinstancesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesGetParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesGetParams { + return &PcloudCloudinstancesGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesGetParamsWithContext creates a new PcloudCloudinstancesGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesGetParamsWithContext(ctx context.Context) *PcloudCloudinstancesGetParams { + return &PcloudCloudinstancesGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesGetParamsWithHTTPClient creates a new PcloudCloudinstancesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesGetParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesGetParams { + return &PcloudCloudinstancesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesGetParams) WithDefaults() *PcloudCloudinstancesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances get params +func (o *PcloudCloudinstancesGetParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances get params +func (o *PcloudCloudinstancesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances get params +func (o *PcloudCloudinstancesGetParams) WithContext(ctx context.Context) *PcloudCloudinstancesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances get params +func (o *PcloudCloudinstancesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances get params +func (o *PcloudCloudinstancesGetParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances get params +func (o *PcloudCloudinstancesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances get params +func (o *PcloudCloudinstancesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances get params +func (o *PcloudCloudinstancesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_get_responses.go new file mode 100644 index 000000000..3074b0f62 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesGetReader is a Reader for the PcloudCloudinstancesGet structure. +type PcloudCloudinstancesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}] pcloud.cloudinstances.get", response, response.Code()) + } +} + +// NewPcloudCloudinstancesGetOK creates a PcloudCloudinstancesGetOK with default headers values +func NewPcloudCloudinstancesGetOK() *PcloudCloudinstancesGetOK { + return &PcloudCloudinstancesGetOK{} +} + +/* +PcloudCloudinstancesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesGetOK struct { + Payload *models.CloudInstance +} + +// IsSuccess returns true when this pcloud cloudinstances get o k response has a 2xx status code +func (o *PcloudCloudinstancesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances get o k response has a 3xx status code +func (o *PcloudCloudinstancesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances get o k response has a 4xx status code +func (o *PcloudCloudinstancesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances get o k response has a 5xx status code +func (o *PcloudCloudinstancesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances get o k response a status code equal to that given +func (o *PcloudCloudinstancesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances get o k response +func (o *PcloudCloudinstancesGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesGetOK) GetPayload() *models.CloudInstance { + return o.Payload +} + +func (o *PcloudCloudinstancesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudInstance) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesGetBadRequest creates a PcloudCloudinstancesGetBadRequest with default headers values +func NewPcloudCloudinstancesGetBadRequest() *PcloudCloudinstancesGetBadRequest { + return &PcloudCloudinstancesGetBadRequest{} +} + +/* +PcloudCloudinstancesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances get bad request response has a 2xx status code +func (o *PcloudCloudinstancesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances get bad request response has a 3xx status code +func (o *PcloudCloudinstancesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances get bad request response has a 4xx status code +func (o *PcloudCloudinstancesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances get bad request response has a 5xx status code +func (o *PcloudCloudinstancesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances get bad request response a status code equal to that given +func (o *PcloudCloudinstancesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances get bad request response +func (o *PcloudCloudinstancesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesGetUnauthorized creates a PcloudCloudinstancesGetUnauthorized with default headers values +func NewPcloudCloudinstancesGetUnauthorized() *PcloudCloudinstancesGetUnauthorized { + return &PcloudCloudinstancesGetUnauthorized{} +} + +/* +PcloudCloudinstancesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances get unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances get unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances get unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances get unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances get unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances get unauthorized response +func (o *PcloudCloudinstancesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesGetForbidden creates a PcloudCloudinstancesGetForbidden with default headers values +func NewPcloudCloudinstancesGetForbidden() *PcloudCloudinstancesGetForbidden { + return &PcloudCloudinstancesGetForbidden{} +} + +/* +PcloudCloudinstancesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances get forbidden response has a 2xx status code +func (o *PcloudCloudinstancesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances get forbidden response has a 3xx status code +func (o *PcloudCloudinstancesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances get forbidden response has a 4xx status code +func (o *PcloudCloudinstancesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances get forbidden response has a 5xx status code +func (o *PcloudCloudinstancesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances get forbidden response a status code equal to that given +func (o *PcloudCloudinstancesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances get forbidden response +func (o *PcloudCloudinstancesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesGetNotFound creates a PcloudCloudinstancesGetNotFound with default headers values +func NewPcloudCloudinstancesGetNotFound() *PcloudCloudinstancesGetNotFound { + return &PcloudCloudinstancesGetNotFound{} +} + +/* +PcloudCloudinstancesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances get not found response has a 2xx status code +func (o *PcloudCloudinstancesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances get not found response has a 3xx status code +func (o *PcloudCloudinstancesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances get not found response has a 4xx status code +func (o *PcloudCloudinstancesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances get not found response has a 5xx status code +func (o *PcloudCloudinstancesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances get not found response a status code equal to that given +func (o *PcloudCloudinstancesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances get not found response +func (o *PcloudCloudinstancesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesGetInternalServerError creates a PcloudCloudinstancesGetInternalServerError with default headers values +func NewPcloudCloudinstancesGetInternalServerError() *PcloudCloudinstancesGetInternalServerError { + return &PcloudCloudinstancesGetInternalServerError{} +} + +/* +PcloudCloudinstancesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances get internal server error response has a 2xx status code +func (o *PcloudCloudinstancesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances get internal server error response has a 3xx status code +func (o *PcloudCloudinstancesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances get internal server error response has a 4xx status code +func (o *PcloudCloudinstancesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances get internal server error response has a 5xx status code +func (o *PcloudCloudinstancesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances get internal server error response a status code equal to that given +func (o *PcloudCloudinstancesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances get internal server error response +func (o *PcloudCloudinstancesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_put_parameters.go new file mode 100644 index 000000000..91a04cdfc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudinstancesPutParams creates a new PcloudCloudinstancesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesPutParams() *PcloudCloudinstancesPutParams { + return &PcloudCloudinstancesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesPutParamsWithTimeout creates a new PcloudCloudinstancesPutParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesPutParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesPutParams { + return &PcloudCloudinstancesPutParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesPutParamsWithContext creates a new PcloudCloudinstancesPutParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesPutParamsWithContext(ctx context.Context) *PcloudCloudinstancesPutParams { + return &PcloudCloudinstancesPutParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesPutParamsWithHTTPClient creates a new PcloudCloudinstancesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesPutParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesPutParams { + return &PcloudCloudinstancesPutParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesPutParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances put operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesPutParams struct { + + /* Body. + + Parameters for updating a Power Cloud Instance + */ + Body *models.CloudInstanceUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesPutParams) WithDefaults() *PcloudCloudinstancesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) WithContext(ctx context.Context) *PcloudCloudinstancesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) WithBody(body *models.CloudInstanceUpdate) *PcloudCloudinstancesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) SetBody(body *models.CloudInstanceUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances put params +func (o *PcloudCloudinstancesPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_put_responses.go new file mode 100644 index 000000000..dadc4760a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesPutReader is a Reader for the PcloudCloudinstancesPut structure. +type PcloudCloudinstancesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudinstancesPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}] pcloud.cloudinstances.put", response, response.Code()) + } +} + +// NewPcloudCloudinstancesPutOK creates a PcloudCloudinstancesPutOK with default headers values +func NewPcloudCloudinstancesPutOK() *PcloudCloudinstancesPutOK { + return &PcloudCloudinstancesPutOK{} +} + +/* +PcloudCloudinstancesPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesPutOK struct { + Payload *models.CloudInstance +} + +// IsSuccess returns true when this pcloud cloudinstances put o k response has a 2xx status code +func (o *PcloudCloudinstancesPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances put o k response has a 3xx status code +func (o *PcloudCloudinstancesPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances put o k response has a 4xx status code +func (o *PcloudCloudinstancesPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances put o k response has a 5xx status code +func (o *PcloudCloudinstancesPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances put o k response a status code equal to that given +func (o *PcloudCloudinstancesPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances put o k response +func (o *PcloudCloudinstancesPutOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesPutOK) GetPayload() *models.CloudInstance { + return o.Payload +} + +func (o *PcloudCloudinstancesPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudInstance) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesPutBadRequest creates a PcloudCloudinstancesPutBadRequest with default headers values +func NewPcloudCloudinstancesPutBadRequest() *PcloudCloudinstancesPutBadRequest { + return &PcloudCloudinstancesPutBadRequest{} +} + +/* +PcloudCloudinstancesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances put bad request response has a 2xx status code +func (o *PcloudCloudinstancesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances put bad request response has a 3xx status code +func (o *PcloudCloudinstancesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances put bad request response has a 4xx status code +func (o *PcloudCloudinstancesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances put bad request response has a 5xx status code +func (o *PcloudCloudinstancesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances put bad request response a status code equal to that given +func (o *PcloudCloudinstancesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances put bad request response +func (o *PcloudCloudinstancesPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesPutUnauthorized creates a PcloudCloudinstancesPutUnauthorized with default headers values +func NewPcloudCloudinstancesPutUnauthorized() *PcloudCloudinstancesPutUnauthorized { + return &PcloudCloudinstancesPutUnauthorized{} +} + +/* +PcloudCloudinstancesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances put unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances put unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances put unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances put unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances put unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances put unauthorized response +func (o *PcloudCloudinstancesPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesPutForbidden creates a PcloudCloudinstancesPutForbidden with default headers values +func NewPcloudCloudinstancesPutForbidden() *PcloudCloudinstancesPutForbidden { + return &PcloudCloudinstancesPutForbidden{} +} + +/* +PcloudCloudinstancesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances put forbidden response has a 2xx status code +func (o *PcloudCloudinstancesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances put forbidden response has a 3xx status code +func (o *PcloudCloudinstancesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances put forbidden response has a 4xx status code +func (o *PcloudCloudinstancesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances put forbidden response has a 5xx status code +func (o *PcloudCloudinstancesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances put forbidden response a status code equal to that given +func (o *PcloudCloudinstancesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances put forbidden response +func (o *PcloudCloudinstancesPutForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesPutNotFound creates a PcloudCloudinstancesPutNotFound with default headers values +func NewPcloudCloudinstancesPutNotFound() *PcloudCloudinstancesPutNotFound { + return &PcloudCloudinstancesPutNotFound{} +} + +/* +PcloudCloudinstancesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances put not found response has a 2xx status code +func (o *PcloudCloudinstancesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances put not found response has a 3xx status code +func (o *PcloudCloudinstancesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances put not found response has a 4xx status code +func (o *PcloudCloudinstancesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances put not found response has a 5xx status code +func (o *PcloudCloudinstancesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances put not found response a status code equal to that given +func (o *PcloudCloudinstancesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances put not found response +func (o *PcloudCloudinstancesPutNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesPutUnprocessableEntity creates a PcloudCloudinstancesPutUnprocessableEntity with default headers values +func NewPcloudCloudinstancesPutUnprocessableEntity() *PcloudCloudinstancesPutUnprocessableEntity { + return &PcloudCloudinstancesPutUnprocessableEntity{} +} + +/* +PcloudCloudinstancesPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudinstancesPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances put unprocessable entity response has a 2xx status code +func (o *PcloudCloudinstancesPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances put unprocessable entity response has a 3xx status code +func (o *PcloudCloudinstancesPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances put unprocessable entity response has a 4xx status code +func (o *PcloudCloudinstancesPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances put unprocessable entity response has a 5xx status code +func (o *PcloudCloudinstancesPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances put unprocessable entity response a status code equal to that given +func (o *PcloudCloudinstancesPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudinstances put unprocessable entity response +func (o *PcloudCloudinstancesPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudinstancesPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesPutInternalServerError creates a PcloudCloudinstancesPutInternalServerError with default headers values +func NewPcloudCloudinstancesPutInternalServerError() *PcloudCloudinstancesPutInternalServerError { + return &PcloudCloudinstancesPutInternalServerError{} +} + +/* +PcloudCloudinstancesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances put internal server error response has a 2xx status code +func (o *PcloudCloudinstancesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances put internal server error response has a 3xx status code +func (o *PcloudCloudinstancesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances put internal server error response has a 4xx status code +func (o *PcloudCloudinstancesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances put internal server error response has a 5xx status code +func (o *PcloudCloudinstancesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances put internal server error response a status code equal to that given +func (o *PcloudCloudinstancesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances put internal server error response +func (o *PcloudCloudinstancesPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}][%d] pcloudCloudinstancesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_shared_images_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_shared_images_put_parameters.go new file mode 100644 index 000000000..0a8c6b350 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_shared_images_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudinstancesSharedImagesPutParams creates a new PcloudCloudinstancesSharedImagesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesSharedImagesPutParams() *PcloudCloudinstancesSharedImagesPutParams { + return &PcloudCloudinstancesSharedImagesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesSharedImagesPutParamsWithTimeout creates a new PcloudCloudinstancesSharedImagesPutParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesSharedImagesPutParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesSharedImagesPutParams { + return &PcloudCloudinstancesSharedImagesPutParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesSharedImagesPutParamsWithContext creates a new PcloudCloudinstancesSharedImagesPutParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesSharedImagesPutParamsWithContext(ctx context.Context) *PcloudCloudinstancesSharedImagesPutParams { + return &PcloudCloudinstancesSharedImagesPutParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesSharedImagesPutParamsWithHTTPClient creates a new PcloudCloudinstancesSharedImagesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesSharedImagesPutParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesSharedImagesPutParams { + return &PcloudCloudinstancesSharedImagesPutParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesSharedImagesPutParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances shared images put operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesSharedImagesPutParams struct { + + /* Body. + + Shared images settings for a Cloud Instance + */ + Body *models.CloudInstanceSharedImages + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances shared images put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSharedImagesPutParams) WithDefaults() *PcloudCloudinstancesSharedImagesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances shared images put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSharedImagesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesSharedImagesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) WithContext(ctx context.Context) *PcloudCloudinstancesSharedImagesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesSharedImagesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) WithBody(body *models.CloudInstanceSharedImages) *PcloudCloudinstancesSharedImagesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) SetBody(body *models.CloudInstanceSharedImages) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesSharedImagesPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances shared images put params +func (o *PcloudCloudinstancesSharedImagesPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesSharedImagesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_shared_images_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_shared_images_put_responses.go new file mode 100644 index 000000000..f571df228 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances/pcloud_cloudinstances_shared_images_put_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesSharedImagesPutReader is a Reader for the PcloudCloudinstancesSharedImagesPut structure. +type PcloudCloudinstancesSharedImagesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesSharedImagesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesSharedImagesPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesSharedImagesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesSharedImagesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesSharedImagesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesSharedImagesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudCloudinstancesSharedImagesPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudinstancesSharedImagesPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesSharedImagesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images] pcloud.cloudinstances.shared-images.put", response, response.Code()) + } +} + +// NewPcloudCloudinstancesSharedImagesPutOK creates a PcloudCloudinstancesSharedImagesPutOK with default headers values +func NewPcloudCloudinstancesSharedImagesPutOK() *PcloudCloudinstancesSharedImagesPutOK { + return &PcloudCloudinstancesSharedImagesPutOK{} +} + +/* +PcloudCloudinstancesSharedImagesPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesSharedImagesPutOK struct { + Payload *models.CloudInstanceSharedImages +} + +// IsSuccess returns true when this pcloud cloudinstances shared images put o k response has a 2xx status code +func (o *PcloudCloudinstancesSharedImagesPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances shared images put o k response has a 3xx status code +func (o *PcloudCloudinstancesSharedImagesPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances shared images put o k response has a 4xx status code +func (o *PcloudCloudinstancesSharedImagesPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances shared images put o k response has a 5xx status code +func (o *PcloudCloudinstancesSharedImagesPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances shared images put o k response a status code equal to that given +func (o *PcloudCloudinstancesSharedImagesPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances shared images put o k response +func (o *PcloudCloudinstancesSharedImagesPutOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesSharedImagesPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutOK) GetPayload() *models.CloudInstanceSharedImages { + return o.Payload +} + +func (o *PcloudCloudinstancesSharedImagesPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloudInstanceSharedImages) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSharedImagesPutBadRequest creates a PcloudCloudinstancesSharedImagesPutBadRequest with default headers values +func NewPcloudCloudinstancesSharedImagesPutBadRequest() *PcloudCloudinstancesSharedImagesPutBadRequest { + return &PcloudCloudinstancesSharedImagesPutBadRequest{} +} + +/* +PcloudCloudinstancesSharedImagesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesSharedImagesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances shared images put bad request response has a 2xx status code +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances shared images put bad request response has a 3xx status code +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances shared images put bad request response has a 4xx status code +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances shared images put bad request response has a 5xx status code +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances shared images put bad request response a status code equal to that given +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances shared images put bad request response +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSharedImagesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSharedImagesPutUnauthorized creates a PcloudCloudinstancesSharedImagesPutUnauthorized with default headers values +func NewPcloudCloudinstancesSharedImagesPutUnauthorized() *PcloudCloudinstancesSharedImagesPutUnauthorized { + return &PcloudCloudinstancesSharedImagesPutUnauthorized{} +} + +/* +PcloudCloudinstancesSharedImagesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesSharedImagesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances shared images put unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances shared images put unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances shared images put unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances shared images put unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances shared images put unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances shared images put unauthorized response +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSharedImagesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSharedImagesPutForbidden creates a PcloudCloudinstancesSharedImagesPutForbidden with default headers values +func NewPcloudCloudinstancesSharedImagesPutForbidden() *PcloudCloudinstancesSharedImagesPutForbidden { + return &PcloudCloudinstancesSharedImagesPutForbidden{} +} + +/* +PcloudCloudinstancesSharedImagesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesSharedImagesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances shared images put forbidden response has a 2xx status code +func (o *PcloudCloudinstancesSharedImagesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances shared images put forbidden response has a 3xx status code +func (o *PcloudCloudinstancesSharedImagesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances shared images put forbidden response has a 4xx status code +func (o *PcloudCloudinstancesSharedImagesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances shared images put forbidden response has a 5xx status code +func (o *PcloudCloudinstancesSharedImagesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances shared images put forbidden response a status code equal to that given +func (o *PcloudCloudinstancesSharedImagesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances shared images put forbidden response +func (o *PcloudCloudinstancesSharedImagesPutForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesSharedImagesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSharedImagesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSharedImagesPutNotFound creates a PcloudCloudinstancesSharedImagesPutNotFound with default headers values +func NewPcloudCloudinstancesSharedImagesPutNotFound() *PcloudCloudinstancesSharedImagesPutNotFound { + return &PcloudCloudinstancesSharedImagesPutNotFound{} +} + +/* +PcloudCloudinstancesSharedImagesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesSharedImagesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances shared images put not found response has a 2xx status code +func (o *PcloudCloudinstancesSharedImagesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances shared images put not found response has a 3xx status code +func (o *PcloudCloudinstancesSharedImagesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances shared images put not found response has a 4xx status code +func (o *PcloudCloudinstancesSharedImagesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances shared images put not found response has a 5xx status code +func (o *PcloudCloudinstancesSharedImagesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances shared images put not found response a status code equal to that given +func (o *PcloudCloudinstancesSharedImagesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances shared images put not found response +func (o *PcloudCloudinstancesSharedImagesPutNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesSharedImagesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSharedImagesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSharedImagesPutConflict creates a PcloudCloudinstancesSharedImagesPutConflict with default headers values +func NewPcloudCloudinstancesSharedImagesPutConflict() *PcloudCloudinstancesSharedImagesPutConflict { + return &PcloudCloudinstancesSharedImagesPutConflict{} +} + +/* +PcloudCloudinstancesSharedImagesPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudCloudinstancesSharedImagesPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances shared images put conflict response has a 2xx status code +func (o *PcloudCloudinstancesSharedImagesPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances shared images put conflict response has a 3xx status code +func (o *PcloudCloudinstancesSharedImagesPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances shared images put conflict response has a 4xx status code +func (o *PcloudCloudinstancesSharedImagesPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances shared images put conflict response has a 5xx status code +func (o *PcloudCloudinstancesSharedImagesPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances shared images put conflict response a status code equal to that given +func (o *PcloudCloudinstancesSharedImagesPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud cloudinstances shared images put conflict response +func (o *PcloudCloudinstancesSharedImagesPutConflict) Code() int { + return 409 +} + +func (o *PcloudCloudinstancesSharedImagesPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSharedImagesPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSharedImagesPutUnprocessableEntity creates a PcloudCloudinstancesSharedImagesPutUnprocessableEntity with default headers values +func NewPcloudCloudinstancesSharedImagesPutUnprocessableEntity() *PcloudCloudinstancesSharedImagesPutUnprocessableEntity { + return &PcloudCloudinstancesSharedImagesPutUnprocessableEntity{} +} + +/* +PcloudCloudinstancesSharedImagesPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudinstancesSharedImagesPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances shared images put unprocessable entity response has a 2xx status code +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances shared images put unprocessable entity response has a 3xx status code +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances shared images put unprocessable entity response has a 4xx status code +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances shared images put unprocessable entity response has a 5xx status code +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances shared images put unprocessable entity response a status code equal to that given +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudinstances shared images put unprocessable entity response +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSharedImagesPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSharedImagesPutInternalServerError creates a PcloudCloudinstancesSharedImagesPutInternalServerError with default headers values +func NewPcloudCloudinstancesSharedImagesPutInternalServerError() *PcloudCloudinstancesSharedImagesPutInternalServerError { + return &PcloudCloudinstancesSharedImagesPutInternalServerError{} +} + +/* +PcloudCloudinstancesSharedImagesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesSharedImagesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances shared images put internal server error response has a 2xx status code +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances shared images put internal server error response has a 3xx status code +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances shared images put internal server error response has a 4xx status code +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances shared images put internal server error response has a 5xx status code +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances shared images put internal server error response a status code equal to that given +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances shared images put internal server error response +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-images][%d] pcloudCloudinstancesSharedImagesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSharedImagesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/p_cloud_jobs_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/p_cloud_jobs_client.go new file mode 100644 index 000000000..d2c320b17 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/p_cloud_jobs_client.go @@ -0,0 +1,203 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_jobs + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud jobs API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud jobs API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud jobs API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud jobs API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudCloudinstancesJobsDelete(params *PcloudCloudinstancesJobsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesJobsDeleteOK, error) + + PcloudCloudinstancesJobsGet(params *PcloudCloudinstancesJobsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesJobsGetOK, error) + + PcloudCloudinstancesJobsGetall(params *PcloudCloudinstancesJobsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesJobsGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudCloudinstancesJobsDelete deletes a cloud instance job +*/ +func (a *Client) PcloudCloudinstancesJobsDelete(params *PcloudCloudinstancesJobsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesJobsDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesJobsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.jobs.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesJobsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesJobsDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.jobs.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesJobsGet lists the detail of a job +*/ +func (a *Client) PcloudCloudinstancesJobsGet(params *PcloudCloudinstancesJobsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesJobsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesJobsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.jobs.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesJobsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesJobsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.jobs.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesJobsGetall lists up to the last 5 jobs initiated by the cloud instance +*/ +func (a *Client) PcloudCloudinstancesJobsGetall(params *PcloudCloudinstancesJobsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesJobsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesJobsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.jobs.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/jobs", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesJobsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesJobsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.jobs.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_delete_parameters.go new file mode 100644 index 000000000..0adff4054 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_jobs + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesJobsDeleteParams creates a new PcloudCloudinstancesJobsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesJobsDeleteParams() *PcloudCloudinstancesJobsDeleteParams { + return &PcloudCloudinstancesJobsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesJobsDeleteParamsWithTimeout creates a new PcloudCloudinstancesJobsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesJobsDeleteParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesJobsDeleteParams { + return &PcloudCloudinstancesJobsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesJobsDeleteParamsWithContext creates a new PcloudCloudinstancesJobsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesJobsDeleteParamsWithContext(ctx context.Context) *PcloudCloudinstancesJobsDeleteParams { + return &PcloudCloudinstancesJobsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesJobsDeleteParamsWithHTTPClient creates a new PcloudCloudinstancesJobsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesJobsDeleteParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesJobsDeleteParams { + return &PcloudCloudinstancesJobsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesJobsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances jobs delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesJobsDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* JobID. + + PCloud Job ID + */ + JobID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances jobs delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesJobsDeleteParams) WithDefaults() *PcloudCloudinstancesJobsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances jobs delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesJobsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesJobsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) WithContext(ctx context.Context) *PcloudCloudinstancesJobsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesJobsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesJobsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithJobID adds the jobID to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) WithJobID(jobID string) *PcloudCloudinstancesJobsDeleteParams { + o.SetJobID(jobID) + return o +} + +// SetJobID adds the jobId to the pcloud cloudinstances jobs delete params +func (o *PcloudCloudinstancesJobsDeleteParams) SetJobID(jobID string) { + o.JobID = jobID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesJobsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param job_id + if err := r.SetPathParam("job_id", o.JobID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_delete_responses.go new file mode 100644 index 000000000..c8f8b3995 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_jobs + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesJobsDeleteReader is a Reader for the PcloudCloudinstancesJobsDelete structure. +type PcloudCloudinstancesJobsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesJobsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesJobsDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesJobsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesJobsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesJobsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesJobsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudCloudinstancesJobsDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesJobsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}] pcloud.cloudinstances.jobs.delete", response, response.Code()) + } +} + +// NewPcloudCloudinstancesJobsDeleteOK creates a PcloudCloudinstancesJobsDeleteOK with default headers values +func NewPcloudCloudinstancesJobsDeleteOK() *PcloudCloudinstancesJobsDeleteOK { + return &PcloudCloudinstancesJobsDeleteOK{} +} + +/* +PcloudCloudinstancesJobsDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesJobsDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudinstances jobs delete o k response has a 2xx status code +func (o *PcloudCloudinstancesJobsDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances jobs delete o k response has a 3xx status code +func (o *PcloudCloudinstancesJobsDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs delete o k response has a 4xx status code +func (o *PcloudCloudinstancesJobsDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances jobs delete o k response has a 5xx status code +func (o *PcloudCloudinstancesJobsDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs delete o k response a status code equal to that given +func (o *PcloudCloudinstancesJobsDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances jobs delete o k response +func (o *PcloudCloudinstancesJobsDeleteOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesJobsDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsDeleteBadRequest creates a PcloudCloudinstancesJobsDeleteBadRequest with default headers values +func NewPcloudCloudinstancesJobsDeleteBadRequest() *PcloudCloudinstancesJobsDeleteBadRequest { + return &PcloudCloudinstancesJobsDeleteBadRequest{} +} + +/* +PcloudCloudinstancesJobsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesJobsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs delete bad request response has a 2xx status code +func (o *PcloudCloudinstancesJobsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs delete bad request response has a 3xx status code +func (o *PcloudCloudinstancesJobsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs delete bad request response has a 4xx status code +func (o *PcloudCloudinstancesJobsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs delete bad request response has a 5xx status code +func (o *PcloudCloudinstancesJobsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs delete bad request response a status code equal to that given +func (o *PcloudCloudinstancesJobsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances jobs delete bad request response +func (o *PcloudCloudinstancesJobsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesJobsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsDeleteUnauthorized creates a PcloudCloudinstancesJobsDeleteUnauthorized with default headers values +func NewPcloudCloudinstancesJobsDeleteUnauthorized() *PcloudCloudinstancesJobsDeleteUnauthorized { + return &PcloudCloudinstancesJobsDeleteUnauthorized{} +} + +/* +PcloudCloudinstancesJobsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesJobsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs delete unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs delete unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs delete unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs delete unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs delete unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances jobs delete unauthorized response +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsDeleteForbidden creates a PcloudCloudinstancesJobsDeleteForbidden with default headers values +func NewPcloudCloudinstancesJobsDeleteForbidden() *PcloudCloudinstancesJobsDeleteForbidden { + return &PcloudCloudinstancesJobsDeleteForbidden{} +} + +/* +PcloudCloudinstancesJobsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesJobsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs delete forbidden response has a 2xx status code +func (o *PcloudCloudinstancesJobsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs delete forbidden response has a 3xx status code +func (o *PcloudCloudinstancesJobsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs delete forbidden response has a 4xx status code +func (o *PcloudCloudinstancesJobsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs delete forbidden response has a 5xx status code +func (o *PcloudCloudinstancesJobsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs delete forbidden response a status code equal to that given +func (o *PcloudCloudinstancesJobsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances jobs delete forbidden response +func (o *PcloudCloudinstancesJobsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesJobsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsDeleteNotFound creates a PcloudCloudinstancesJobsDeleteNotFound with default headers values +func NewPcloudCloudinstancesJobsDeleteNotFound() *PcloudCloudinstancesJobsDeleteNotFound { + return &PcloudCloudinstancesJobsDeleteNotFound{} +} + +/* +PcloudCloudinstancesJobsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesJobsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs delete not found response has a 2xx status code +func (o *PcloudCloudinstancesJobsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs delete not found response has a 3xx status code +func (o *PcloudCloudinstancesJobsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs delete not found response has a 4xx status code +func (o *PcloudCloudinstancesJobsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs delete not found response has a 5xx status code +func (o *PcloudCloudinstancesJobsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs delete not found response a status code equal to that given +func (o *PcloudCloudinstancesJobsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances jobs delete not found response +func (o *PcloudCloudinstancesJobsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesJobsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsDeleteConflict creates a PcloudCloudinstancesJobsDeleteConflict with default headers values +func NewPcloudCloudinstancesJobsDeleteConflict() *PcloudCloudinstancesJobsDeleteConflict { + return &PcloudCloudinstancesJobsDeleteConflict{} +} + +/* +PcloudCloudinstancesJobsDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudCloudinstancesJobsDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs delete conflict response has a 2xx status code +func (o *PcloudCloudinstancesJobsDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs delete conflict response has a 3xx status code +func (o *PcloudCloudinstancesJobsDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs delete conflict response has a 4xx status code +func (o *PcloudCloudinstancesJobsDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs delete conflict response has a 5xx status code +func (o *PcloudCloudinstancesJobsDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs delete conflict response a status code equal to that given +func (o *PcloudCloudinstancesJobsDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud cloudinstances jobs delete conflict response +func (o *PcloudCloudinstancesJobsDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudCloudinstancesJobsDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsDeleteInternalServerError creates a PcloudCloudinstancesJobsDeleteInternalServerError with default headers values +func NewPcloudCloudinstancesJobsDeleteInternalServerError() *PcloudCloudinstancesJobsDeleteInternalServerError { + return &PcloudCloudinstancesJobsDeleteInternalServerError{} +} + +/* +PcloudCloudinstancesJobsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesJobsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs delete internal server error response has a 2xx status code +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs delete internal server error response has a 3xx status code +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs delete internal server error response has a 4xx status code +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances jobs delete internal server error response has a 5xx status code +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances jobs delete internal server error response a status code equal to that given +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances jobs delete internal server error response +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_get_parameters.go new file mode 100644 index 000000000..8ed6f789a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_jobs + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesJobsGetParams creates a new PcloudCloudinstancesJobsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesJobsGetParams() *PcloudCloudinstancesJobsGetParams { + return &PcloudCloudinstancesJobsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesJobsGetParamsWithTimeout creates a new PcloudCloudinstancesJobsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesJobsGetParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesJobsGetParams { + return &PcloudCloudinstancesJobsGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesJobsGetParamsWithContext creates a new PcloudCloudinstancesJobsGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesJobsGetParamsWithContext(ctx context.Context) *PcloudCloudinstancesJobsGetParams { + return &PcloudCloudinstancesJobsGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesJobsGetParamsWithHTTPClient creates a new PcloudCloudinstancesJobsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesJobsGetParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesJobsGetParams { + return &PcloudCloudinstancesJobsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesJobsGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances jobs get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesJobsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* JobID. + + PCloud Job ID + */ + JobID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances jobs get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesJobsGetParams) WithDefaults() *PcloudCloudinstancesJobsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances jobs get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesJobsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesJobsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) WithContext(ctx context.Context) *PcloudCloudinstancesJobsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesJobsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesJobsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithJobID adds the jobID to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) WithJobID(jobID string) *PcloudCloudinstancesJobsGetParams { + o.SetJobID(jobID) + return o +} + +// SetJobID adds the jobId to the pcloud cloudinstances jobs get params +func (o *PcloudCloudinstancesJobsGetParams) SetJobID(jobID string) { + o.JobID = jobID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesJobsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param job_id + if err := r.SetPathParam("job_id", o.JobID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_get_responses.go new file mode 100644 index 000000000..c48ae107e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_jobs + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesJobsGetReader is a Reader for the PcloudCloudinstancesJobsGet structure. +type PcloudCloudinstancesJobsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesJobsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesJobsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesJobsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesJobsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesJobsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesJobsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesJobsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}] pcloud.cloudinstances.jobs.get", response, response.Code()) + } +} + +// NewPcloudCloudinstancesJobsGetOK creates a PcloudCloudinstancesJobsGetOK with default headers values +func NewPcloudCloudinstancesJobsGetOK() *PcloudCloudinstancesJobsGetOK { + return &PcloudCloudinstancesJobsGetOK{} +} + +/* +PcloudCloudinstancesJobsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesJobsGetOK struct { + Payload *models.Job +} + +// IsSuccess returns true when this pcloud cloudinstances jobs get o k response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances jobs get o k response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs get o k response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances jobs get o k response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs get o k response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances jobs get o k response +func (o *PcloudCloudinstancesJobsGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesJobsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesJobsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesJobsGetOK) GetPayload() *models.Job { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Job) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetBadRequest creates a PcloudCloudinstancesJobsGetBadRequest with default headers values +func NewPcloudCloudinstancesJobsGetBadRequest() *PcloudCloudinstancesJobsGetBadRequest { + return &PcloudCloudinstancesJobsGetBadRequest{} +} + +/* +PcloudCloudinstancesJobsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesJobsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs get bad request response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs get bad request response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs get bad request response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs get bad request response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs get bad request response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances jobs get bad request response +func (o *PcloudCloudinstancesJobsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesJobsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesJobsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesJobsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetUnauthorized creates a PcloudCloudinstancesJobsGetUnauthorized with default headers values +func NewPcloudCloudinstancesJobsGetUnauthorized() *PcloudCloudinstancesJobsGetUnauthorized { + return &PcloudCloudinstancesJobsGetUnauthorized{} +} + +/* +PcloudCloudinstancesJobsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesJobsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs get unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs get unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs get unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs get unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs get unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances jobs get unauthorized response +func (o *PcloudCloudinstancesJobsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesJobsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesJobsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesJobsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetForbidden creates a PcloudCloudinstancesJobsGetForbidden with default headers values +func NewPcloudCloudinstancesJobsGetForbidden() *PcloudCloudinstancesJobsGetForbidden { + return &PcloudCloudinstancesJobsGetForbidden{} +} + +/* +PcloudCloudinstancesJobsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesJobsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs get forbidden response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs get forbidden response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs get forbidden response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs get forbidden response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs get forbidden response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances jobs get forbidden response +func (o *PcloudCloudinstancesJobsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesJobsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesJobsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesJobsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetNotFound creates a PcloudCloudinstancesJobsGetNotFound with default headers values +func NewPcloudCloudinstancesJobsGetNotFound() *PcloudCloudinstancesJobsGetNotFound { + return &PcloudCloudinstancesJobsGetNotFound{} +} + +/* +PcloudCloudinstancesJobsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesJobsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs get not found response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs get not found response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs get not found response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs get not found response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs get not found response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances jobs get not found response +func (o *PcloudCloudinstancesJobsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesJobsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesJobsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesJobsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetInternalServerError creates a PcloudCloudinstancesJobsGetInternalServerError with default headers values +func NewPcloudCloudinstancesJobsGetInternalServerError() *PcloudCloudinstancesJobsGetInternalServerError { + return &PcloudCloudinstancesJobsGetInternalServerError{} +} + +/* +PcloudCloudinstancesJobsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesJobsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs get internal server error response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs get internal server error response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs get internal server error response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances jobs get internal server error response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances jobs get internal server error response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances jobs get internal server error response +func (o *PcloudCloudinstancesJobsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesJobsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesJobsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs/{job_id}][%d] pcloudCloudinstancesJobsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesJobsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_getall_parameters.go new file mode 100644 index 000000000..6a3305119 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_getall_parameters.go @@ -0,0 +1,253 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_jobs + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesJobsGetallParams creates a new PcloudCloudinstancesJobsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesJobsGetallParams() *PcloudCloudinstancesJobsGetallParams { + return &PcloudCloudinstancesJobsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesJobsGetallParamsWithTimeout creates a new PcloudCloudinstancesJobsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesJobsGetallParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesJobsGetallParams { + return &PcloudCloudinstancesJobsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesJobsGetallParamsWithContext creates a new PcloudCloudinstancesJobsGetallParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesJobsGetallParamsWithContext(ctx context.Context) *PcloudCloudinstancesJobsGetallParams { + return &PcloudCloudinstancesJobsGetallParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesJobsGetallParamsWithHTTPClient creates a new PcloudCloudinstancesJobsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesJobsGetallParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesJobsGetallParams { + return &PcloudCloudinstancesJobsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesJobsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances jobs getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesJobsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* OperationAction. + + Operation action to filter jobs (optional) vmCapture - includes operation action value (vmCapture) imageExport - includes operation action value (imageExport) imageImport - includes operation action value (imageImport) storage - includes operation action values (vmCapture,imageExport,imageImport) + */ + OperationAction *string + + /* OperationID. + + Operation ID to filter jobs (optional) + */ + OperationID *string + + /* OperationTarget. + + Operation target to filter jobs (optional) + */ + OperationTarget *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances jobs getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesJobsGetallParams) WithDefaults() *PcloudCloudinstancesJobsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances jobs getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesJobsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesJobsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) WithContext(ctx context.Context) *PcloudCloudinstancesJobsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesJobsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesJobsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithOperationAction adds the operationAction to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) WithOperationAction(operationAction *string) *PcloudCloudinstancesJobsGetallParams { + o.SetOperationAction(operationAction) + return o +} + +// SetOperationAction adds the operationAction to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) SetOperationAction(operationAction *string) { + o.OperationAction = operationAction +} + +// WithOperationID adds the operationID to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) WithOperationID(operationID *string) *PcloudCloudinstancesJobsGetallParams { + o.SetOperationID(operationID) + return o +} + +// SetOperationID adds the operationId to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) SetOperationID(operationID *string) { + o.OperationID = operationID +} + +// WithOperationTarget adds the operationTarget to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) WithOperationTarget(operationTarget *string) *PcloudCloudinstancesJobsGetallParams { + o.SetOperationTarget(operationTarget) + return o +} + +// SetOperationTarget adds the operationTarget to the pcloud cloudinstances jobs getall params +func (o *PcloudCloudinstancesJobsGetallParams) SetOperationTarget(operationTarget *string) { + o.OperationTarget = operationTarget +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesJobsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.OperationAction != nil { + + // query param operation.action + var qrOperationAction string + + if o.OperationAction != nil { + qrOperationAction = *o.OperationAction + } + qOperationAction := qrOperationAction + if qOperationAction != "" { + + if err := r.SetQueryParam("operation.action", qOperationAction); err != nil { + return err + } + } + } + + if o.OperationID != nil { + + // query param operation.id + var qrOperationID string + + if o.OperationID != nil { + qrOperationID = *o.OperationID + } + qOperationID := qrOperationID + if qOperationID != "" { + + if err := r.SetQueryParam("operation.id", qOperationID); err != nil { + return err + } + } + } + + if o.OperationTarget != nil { + + // query param operation.target + var qrOperationTarget string + + if o.OperationTarget != nil { + qrOperationTarget = *o.OperationTarget + } + qOperationTarget := qrOperationTarget + if qOperationTarget != "" { + + if err := r.SetQueryParam("operation.target", qOperationTarget); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_getall_responses.go new file mode 100644 index 000000000..dd08eb0b0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs/pcloud_cloudinstances_jobs_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_jobs + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesJobsGetallReader is a Reader for the PcloudCloudinstancesJobsGetall structure. +type PcloudCloudinstancesJobsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesJobsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesJobsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesJobsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesJobsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesJobsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesJobsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesJobsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs] pcloud.cloudinstances.jobs.getall", response, response.Code()) + } +} + +// NewPcloudCloudinstancesJobsGetallOK creates a PcloudCloudinstancesJobsGetallOK with default headers values +func NewPcloudCloudinstancesJobsGetallOK() *PcloudCloudinstancesJobsGetallOK { + return &PcloudCloudinstancesJobsGetallOK{} +} + +/* +PcloudCloudinstancesJobsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesJobsGetallOK struct { + Payload *models.Jobs +} + +// IsSuccess returns true when this pcloud cloudinstances jobs getall o k response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances jobs getall o k response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs getall o k response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances jobs getall o k response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs getall o k response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances jobs getall o k response +func (o *PcloudCloudinstancesJobsGetallOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesJobsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesJobsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesJobsGetallOK) GetPayload() *models.Jobs { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Jobs) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetallBadRequest creates a PcloudCloudinstancesJobsGetallBadRequest with default headers values +func NewPcloudCloudinstancesJobsGetallBadRequest() *PcloudCloudinstancesJobsGetallBadRequest { + return &PcloudCloudinstancesJobsGetallBadRequest{} +} + +/* +PcloudCloudinstancesJobsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesJobsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs getall bad request response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs getall bad request response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs getall bad request response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs getall bad request response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs getall bad request response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances jobs getall bad request response +func (o *PcloudCloudinstancesJobsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesJobsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesJobsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesJobsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetallUnauthorized creates a PcloudCloudinstancesJobsGetallUnauthorized with default headers values +func NewPcloudCloudinstancesJobsGetallUnauthorized() *PcloudCloudinstancesJobsGetallUnauthorized { + return &PcloudCloudinstancesJobsGetallUnauthorized{} +} + +/* +PcloudCloudinstancesJobsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesJobsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs getall unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs getall unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs getall unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs getall unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs getall unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances jobs getall unauthorized response +func (o *PcloudCloudinstancesJobsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesJobsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesJobsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesJobsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetallForbidden creates a PcloudCloudinstancesJobsGetallForbidden with default headers values +func NewPcloudCloudinstancesJobsGetallForbidden() *PcloudCloudinstancesJobsGetallForbidden { + return &PcloudCloudinstancesJobsGetallForbidden{} +} + +/* +PcloudCloudinstancesJobsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesJobsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs getall forbidden response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs getall forbidden response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs getall forbidden response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs getall forbidden response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs getall forbidden response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances jobs getall forbidden response +func (o *PcloudCloudinstancesJobsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesJobsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesJobsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesJobsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetallNotFound creates a PcloudCloudinstancesJobsGetallNotFound with default headers values +func NewPcloudCloudinstancesJobsGetallNotFound() *PcloudCloudinstancesJobsGetallNotFound { + return &PcloudCloudinstancesJobsGetallNotFound{} +} + +/* +PcloudCloudinstancesJobsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesJobsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs getall not found response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs getall not found response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs getall not found response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances jobs getall not found response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances jobs getall not found response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances jobs getall not found response +func (o *PcloudCloudinstancesJobsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesJobsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesJobsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesJobsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesJobsGetallInternalServerError creates a PcloudCloudinstancesJobsGetallInternalServerError with default headers values +func NewPcloudCloudinstancesJobsGetallInternalServerError() *PcloudCloudinstancesJobsGetallInternalServerError { + return &PcloudCloudinstancesJobsGetallInternalServerError{} +} + +/* +PcloudCloudinstancesJobsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesJobsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances jobs getall internal server error response has a 2xx status code +func (o *PcloudCloudinstancesJobsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances jobs getall internal server error response has a 3xx status code +func (o *PcloudCloudinstancesJobsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances jobs getall internal server error response has a 4xx status code +func (o *PcloudCloudinstancesJobsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances jobs getall internal server error response has a 5xx status code +func (o *PcloudCloudinstancesJobsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances jobs getall internal server error response a status code equal to that given +func (o *PcloudCloudinstancesJobsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances jobs getall internal server error response +func (o *PcloudCloudinstancesJobsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesJobsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesJobsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/jobs][%d] pcloudCloudinstancesJobsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesJobsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesJobsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/p_cloud_networks_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/p_cloud_networks_client.go new file mode 100644 index 000000000..813a3da98 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/p_cloud_networks_client.go @@ -0,0 +1,535 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud networks API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud networks API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud networks API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud networks API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudNetworksDelete(params *PcloudNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksDeleteOK, error) + + PcloudNetworksGet(params *PcloudNetworksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksGetOK, error) + + PcloudNetworksGetall(params *PcloudNetworksGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksGetallOK, error) + + PcloudNetworksPortsDelete(params *PcloudNetworksPortsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsDeleteOK, error) + + PcloudNetworksPortsGet(params *PcloudNetworksPortsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsGetOK, error) + + PcloudNetworksPortsGetall(params *PcloudNetworksPortsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsGetallOK, error) + + PcloudNetworksPortsPost(params *PcloudNetworksPortsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsPostCreated, error) + + PcloudNetworksPortsPut(params *PcloudNetworksPortsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsPutOK, error) + + PcloudNetworksPost(params *PcloudNetworksPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPostOK, *PcloudNetworksPostCreated, error) + + PcloudNetworksPut(params *PcloudNetworksPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudNetworksDelete deletes a network +*/ +func (a *Client) PcloudNetworksDelete(params *PcloudNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksGet gets a network s current state information +*/ +func (a *Client) PcloudNetworksGet(params *PcloudNetworksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksGetall gets all networks in this cloud instance +*/ +func (a *Client) PcloudNetworksGetall(params *PcloudNetworksGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksPortsDelete deletes a network port + +This API is deprecated for /v1/networks/{network_id}/network-interfaces/{network_interface_id}. +*/ +func (a *Client) PcloudNetworksPortsDelete(params *PcloudNetworksPortsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksPortsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.ports.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksPortsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksPortsDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.ports.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksPortsGet gets a port s information + +This API is deprecated for /v1/networks/{network_id}/network-interfaces/{network_interface_id}. +*/ +func (a *Client) PcloudNetworksPortsGet(params *PcloudNetworksPortsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksPortsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.ports.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksPortsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksPortsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.ports.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksPortsGetall gets all ports for this network + +This API is deprecated for /v1/networks/{network_id}/network-interfaces. +*/ +func (a *Client) PcloudNetworksPortsGetall(params *PcloudNetworksPortsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksPortsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.ports.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksPortsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksPortsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.ports.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksPortsPost performs port addition deletion and listing + +This API is deprecated for /v1/networks/{network_id}/network-interfaces. +*/ +func (a *Client) PcloudNetworksPortsPost(params *PcloudNetworksPortsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksPortsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.ports.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksPortsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksPortsPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.ports.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksPortsPut updates a port s information + +This API is deprecated for /v1/networks/{network_id}/network-interfaces/{network_interface_id}. +*/ +func (a *Client) PcloudNetworksPortsPut(params *PcloudNetworksPortsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPortsPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksPortsPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.ports.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksPortsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksPortsPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.ports.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksPost creates a new network +*/ +func (a *Client) PcloudNetworksPost(params *PcloudNetworksPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPostOK, *PcloudNetworksPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudNetworksPostOK: + return value, nil, nil + case *PcloudNetworksPostCreated: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_networks: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudNetworksPut updates a network +*/ +func (a *Client) PcloudNetworksPut(params *PcloudNetworksPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudNetworksPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudNetworksPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.networks.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudNetworksPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudNetworksPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.networks.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_delete_parameters.go new file mode 100644 index 000000000..22bce1a98 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudNetworksDeleteParams creates a new PcloudNetworksDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksDeleteParams() *PcloudNetworksDeleteParams { + return &PcloudNetworksDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksDeleteParamsWithTimeout creates a new PcloudNetworksDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksDeleteParamsWithTimeout(timeout time.Duration) *PcloudNetworksDeleteParams { + return &PcloudNetworksDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksDeleteParamsWithContext creates a new PcloudNetworksDeleteParams object +// with the ability to set a context for a request. +func NewPcloudNetworksDeleteParamsWithContext(ctx context.Context) *PcloudNetworksDeleteParams { + return &PcloudNetworksDeleteParams{ + Context: ctx, + } +} + +// NewPcloudNetworksDeleteParamsWithHTTPClient creates a new PcloudNetworksDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksDeleteParamsWithHTTPClient(client *http.Client) *PcloudNetworksDeleteParams { + return &PcloudNetworksDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud networks delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksDeleteParams) WithDefaults() *PcloudNetworksDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) WithTimeout(timeout time.Duration) *PcloudNetworksDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) WithContext(ctx context.Context) *PcloudNetworksDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) WithHTTPClient(client *http.Client) *PcloudNetworksDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) WithNetworkID(networkID string) *PcloudNetworksDeleteParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud networks delete params +func (o *PcloudNetworksDeleteParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_delete_responses.go new file mode 100644 index 000000000..698d19fb9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_delete_responses.go @@ -0,0 +1,637 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksDeleteReader is a Reader for the PcloudNetworksDelete structure. +type PcloudNetworksDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudNetworksDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudNetworksDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}] pcloud.networks.delete", response, response.Code()) + } +} + +// NewPcloudNetworksDeleteOK creates a PcloudNetworksDeleteOK with default headers values +func NewPcloudNetworksDeleteOK() *PcloudNetworksDeleteOK { + return &PcloudNetworksDeleteOK{} +} + +/* +PcloudNetworksDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud networks delete o k response has a 2xx status code +func (o *PcloudNetworksDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks delete o k response has a 3xx status code +func (o *PcloudNetworksDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks delete o k response has a 4xx status code +func (o *PcloudNetworksDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks delete o k response has a 5xx status code +func (o *PcloudNetworksDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks delete o k response a status code equal to that given +func (o *PcloudNetworksDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks delete o k response +func (o *PcloudNetworksDeleteOK) Code() int { + return 200 +} + +func (o *PcloudNetworksDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteOK %s", 200, payload) +} + +func (o *PcloudNetworksDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteOK %s", 200, payload) +} + +func (o *PcloudNetworksDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudNetworksDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksDeleteBadRequest creates a PcloudNetworksDeleteBadRequest with default headers values +func NewPcloudNetworksDeleteBadRequest() *PcloudNetworksDeleteBadRequest { + return &PcloudNetworksDeleteBadRequest{} +} + +/* +PcloudNetworksDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks delete bad request response has a 2xx status code +func (o *PcloudNetworksDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks delete bad request response has a 3xx status code +func (o *PcloudNetworksDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks delete bad request response has a 4xx status code +func (o *PcloudNetworksDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks delete bad request response has a 5xx status code +func (o *PcloudNetworksDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks delete bad request response a status code equal to that given +func (o *PcloudNetworksDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks delete bad request response +func (o *PcloudNetworksDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksDeleteUnauthorized creates a PcloudNetworksDeleteUnauthorized with default headers values +func NewPcloudNetworksDeleteUnauthorized() *PcloudNetworksDeleteUnauthorized { + return &PcloudNetworksDeleteUnauthorized{} +} + +/* +PcloudNetworksDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks delete unauthorized response has a 2xx status code +func (o *PcloudNetworksDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks delete unauthorized response has a 3xx status code +func (o *PcloudNetworksDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks delete unauthorized response has a 4xx status code +func (o *PcloudNetworksDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks delete unauthorized response has a 5xx status code +func (o *PcloudNetworksDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks delete unauthorized response a status code equal to that given +func (o *PcloudNetworksDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks delete unauthorized response +func (o *PcloudNetworksDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksDeleteForbidden creates a PcloudNetworksDeleteForbidden with default headers values +func NewPcloudNetworksDeleteForbidden() *PcloudNetworksDeleteForbidden { + return &PcloudNetworksDeleteForbidden{} +} + +/* +PcloudNetworksDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks delete forbidden response has a 2xx status code +func (o *PcloudNetworksDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks delete forbidden response has a 3xx status code +func (o *PcloudNetworksDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks delete forbidden response has a 4xx status code +func (o *PcloudNetworksDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks delete forbidden response has a 5xx status code +func (o *PcloudNetworksDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks delete forbidden response a status code equal to that given +func (o *PcloudNetworksDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks delete forbidden response +func (o *PcloudNetworksDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudNetworksDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudNetworksDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksDeleteNotFound creates a PcloudNetworksDeleteNotFound with default headers values +func NewPcloudNetworksDeleteNotFound() *PcloudNetworksDeleteNotFound { + return &PcloudNetworksDeleteNotFound{} +} + +/* +PcloudNetworksDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks delete not found response has a 2xx status code +func (o *PcloudNetworksDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks delete not found response has a 3xx status code +func (o *PcloudNetworksDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks delete not found response has a 4xx status code +func (o *PcloudNetworksDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks delete not found response has a 5xx status code +func (o *PcloudNetworksDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks delete not found response a status code equal to that given +func (o *PcloudNetworksDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks delete not found response +func (o *PcloudNetworksDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudNetworksDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudNetworksDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksDeleteConflict creates a PcloudNetworksDeleteConflict with default headers values +func NewPcloudNetworksDeleteConflict() *PcloudNetworksDeleteConflict { + return &PcloudNetworksDeleteConflict{} +} + +/* +PcloudNetworksDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudNetworksDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks delete conflict response has a 2xx status code +func (o *PcloudNetworksDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks delete conflict response has a 3xx status code +func (o *PcloudNetworksDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks delete conflict response has a 4xx status code +func (o *PcloudNetworksDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks delete conflict response has a 5xx status code +func (o *PcloudNetworksDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks delete conflict response a status code equal to that given +func (o *PcloudNetworksDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud networks delete conflict response +func (o *PcloudNetworksDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudNetworksDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteConflict %s", 409, payload) +} + +func (o *PcloudNetworksDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteConflict %s", 409, payload) +} + +func (o *PcloudNetworksDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksDeleteGone creates a PcloudNetworksDeleteGone with default headers values +func NewPcloudNetworksDeleteGone() *PcloudNetworksDeleteGone { + return &PcloudNetworksDeleteGone{} +} + +/* +PcloudNetworksDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudNetworksDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks delete gone response has a 2xx status code +func (o *PcloudNetworksDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks delete gone response has a 3xx status code +func (o *PcloudNetworksDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks delete gone response has a 4xx status code +func (o *PcloudNetworksDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks delete gone response has a 5xx status code +func (o *PcloudNetworksDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks delete gone response a status code equal to that given +func (o *PcloudNetworksDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud networks delete gone response +func (o *PcloudNetworksDeleteGone) Code() int { + return 410 +} + +func (o *PcloudNetworksDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteGone %s", 410, payload) +} + +func (o *PcloudNetworksDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteGone %s", 410, payload) +} + +func (o *PcloudNetworksDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksDeleteInternalServerError creates a PcloudNetworksDeleteInternalServerError with default headers values +func NewPcloudNetworksDeleteInternalServerError() *PcloudNetworksDeleteInternalServerError { + return &PcloudNetworksDeleteInternalServerError{} +} + +/* +PcloudNetworksDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks delete internal server error response has a 2xx status code +func (o *PcloudNetworksDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks delete internal server error response has a 3xx status code +func (o *PcloudNetworksDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks delete internal server error response has a 4xx status code +func (o *PcloudNetworksDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks delete internal server error response has a 5xx status code +func (o *PcloudNetworksDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks delete internal server error response a status code equal to that given +func (o *PcloudNetworksDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks delete internal server error response +func (o *PcloudNetworksDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_get_parameters.go new file mode 100644 index 000000000..f5ce21af4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudNetworksGetParams creates a new PcloudNetworksGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksGetParams() *PcloudNetworksGetParams { + return &PcloudNetworksGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksGetParamsWithTimeout creates a new PcloudNetworksGetParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksGetParamsWithTimeout(timeout time.Duration) *PcloudNetworksGetParams { + return &PcloudNetworksGetParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksGetParamsWithContext creates a new PcloudNetworksGetParams object +// with the ability to set a context for a request. +func NewPcloudNetworksGetParamsWithContext(ctx context.Context) *PcloudNetworksGetParams { + return &PcloudNetworksGetParams{ + Context: ctx, + } +} + +// NewPcloudNetworksGetParamsWithHTTPClient creates a new PcloudNetworksGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksGetParamsWithHTTPClient(client *http.Client) *PcloudNetworksGetParams { + return &PcloudNetworksGetParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksGetParams contains all the parameters to send to the API endpoint + + for the pcloud networks get operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksGetParams) WithDefaults() *PcloudNetworksGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks get params +func (o *PcloudNetworksGetParams) WithTimeout(timeout time.Duration) *PcloudNetworksGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks get params +func (o *PcloudNetworksGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks get params +func (o *PcloudNetworksGetParams) WithContext(ctx context.Context) *PcloudNetworksGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks get params +func (o *PcloudNetworksGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks get params +func (o *PcloudNetworksGetParams) WithHTTPClient(client *http.Client) *PcloudNetworksGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks get params +func (o *PcloudNetworksGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks get params +func (o *PcloudNetworksGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks get params +func (o *PcloudNetworksGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud networks get params +func (o *PcloudNetworksGetParams) WithNetworkID(networkID string) *PcloudNetworksGetParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud networks get params +func (o *PcloudNetworksGetParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_get_responses.go new file mode 100644 index 000000000..ee328cce7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksGetReader is a Reader for the PcloudNetworksGet structure. +type PcloudNetworksGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}] pcloud.networks.get", response, response.Code()) + } +} + +// NewPcloudNetworksGetOK creates a PcloudNetworksGetOK with default headers values +func NewPcloudNetworksGetOK() *PcloudNetworksGetOK { + return &PcloudNetworksGetOK{} +} + +/* +PcloudNetworksGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksGetOK struct { + Payload *models.Network +} + +// IsSuccess returns true when this pcloud networks get o k response has a 2xx status code +func (o *PcloudNetworksGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks get o k response has a 3xx status code +func (o *PcloudNetworksGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks get o k response has a 4xx status code +func (o *PcloudNetworksGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks get o k response has a 5xx status code +func (o *PcloudNetworksGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks get o k response a status code equal to that given +func (o *PcloudNetworksGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks get o k response +func (o *PcloudNetworksGetOK) Code() int { + return 200 +} + +func (o *PcloudNetworksGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetOK %s", 200, payload) +} + +func (o *PcloudNetworksGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetOK %s", 200, payload) +} + +func (o *PcloudNetworksGetOK) GetPayload() *models.Network { + return o.Payload +} + +func (o *PcloudNetworksGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Network) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetBadRequest creates a PcloudNetworksGetBadRequest with default headers values +func NewPcloudNetworksGetBadRequest() *PcloudNetworksGetBadRequest { + return &PcloudNetworksGetBadRequest{} +} + +/* +PcloudNetworksGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks get bad request response has a 2xx status code +func (o *PcloudNetworksGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks get bad request response has a 3xx status code +func (o *PcloudNetworksGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks get bad request response has a 4xx status code +func (o *PcloudNetworksGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks get bad request response has a 5xx status code +func (o *PcloudNetworksGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks get bad request response a status code equal to that given +func (o *PcloudNetworksGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks get bad request response +func (o *PcloudNetworksGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetUnauthorized creates a PcloudNetworksGetUnauthorized with default headers values +func NewPcloudNetworksGetUnauthorized() *PcloudNetworksGetUnauthorized { + return &PcloudNetworksGetUnauthorized{} +} + +/* +PcloudNetworksGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks get unauthorized response has a 2xx status code +func (o *PcloudNetworksGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks get unauthorized response has a 3xx status code +func (o *PcloudNetworksGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks get unauthorized response has a 4xx status code +func (o *PcloudNetworksGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks get unauthorized response has a 5xx status code +func (o *PcloudNetworksGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks get unauthorized response a status code equal to that given +func (o *PcloudNetworksGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks get unauthorized response +func (o *PcloudNetworksGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetForbidden creates a PcloudNetworksGetForbidden with default headers values +func NewPcloudNetworksGetForbidden() *PcloudNetworksGetForbidden { + return &PcloudNetworksGetForbidden{} +} + +/* +PcloudNetworksGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks get forbidden response has a 2xx status code +func (o *PcloudNetworksGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks get forbidden response has a 3xx status code +func (o *PcloudNetworksGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks get forbidden response has a 4xx status code +func (o *PcloudNetworksGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks get forbidden response has a 5xx status code +func (o *PcloudNetworksGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks get forbidden response a status code equal to that given +func (o *PcloudNetworksGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks get forbidden response +func (o *PcloudNetworksGetForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetForbidden %s", 403, payload) +} + +func (o *PcloudNetworksGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetForbidden %s", 403, payload) +} + +func (o *PcloudNetworksGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetNotFound creates a PcloudNetworksGetNotFound with default headers values +func NewPcloudNetworksGetNotFound() *PcloudNetworksGetNotFound { + return &PcloudNetworksGetNotFound{} +} + +/* +PcloudNetworksGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks get not found response has a 2xx status code +func (o *PcloudNetworksGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks get not found response has a 3xx status code +func (o *PcloudNetworksGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks get not found response has a 4xx status code +func (o *PcloudNetworksGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks get not found response has a 5xx status code +func (o *PcloudNetworksGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks get not found response a status code equal to that given +func (o *PcloudNetworksGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks get not found response +func (o *PcloudNetworksGetNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetNotFound %s", 404, payload) +} + +func (o *PcloudNetworksGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetNotFound %s", 404, payload) +} + +func (o *PcloudNetworksGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetInternalServerError creates a PcloudNetworksGetInternalServerError with default headers values +func NewPcloudNetworksGetInternalServerError() *PcloudNetworksGetInternalServerError { + return &PcloudNetworksGetInternalServerError{} +} + +/* +PcloudNetworksGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks get internal server error response has a 2xx status code +func (o *PcloudNetworksGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks get internal server error response has a 3xx status code +func (o *PcloudNetworksGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks get internal server error response has a 4xx status code +func (o *PcloudNetworksGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks get internal server error response has a 5xx status code +func (o *PcloudNetworksGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks get internal server error response a status code equal to that given +func (o *PcloudNetworksGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks get internal server error response +func (o *PcloudNetworksGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_getall_parameters.go new file mode 100644 index 000000000..a1d644b55 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_getall_parameters.go @@ -0,0 +1,185 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudNetworksGetallParams creates a new PcloudNetworksGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksGetallParams() *PcloudNetworksGetallParams { + return &PcloudNetworksGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksGetallParamsWithTimeout creates a new PcloudNetworksGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksGetallParamsWithTimeout(timeout time.Duration) *PcloudNetworksGetallParams { + return &PcloudNetworksGetallParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksGetallParamsWithContext creates a new PcloudNetworksGetallParams object +// with the ability to set a context for a request. +func NewPcloudNetworksGetallParamsWithContext(ctx context.Context) *PcloudNetworksGetallParams { + return &PcloudNetworksGetallParams{ + Context: ctx, + } +} + +// NewPcloudNetworksGetallParamsWithHTTPClient creates a new PcloudNetworksGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksGetallParamsWithHTTPClient(client *http.Client) *PcloudNetworksGetallParams { + return &PcloudNetworksGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksGetallParams contains all the parameters to send to the API endpoint + + for the pcloud networks getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* Filter. + + A filter expression that filters resources listed in the response + */ + Filter *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksGetallParams) WithDefaults() *PcloudNetworksGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) WithTimeout(timeout time.Duration) *PcloudNetworksGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) WithContext(ctx context.Context) *PcloudNetworksGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) WithHTTPClient(client *http.Client) *PcloudNetworksGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithFilter adds the filter to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) WithFilter(filter *string) *PcloudNetworksGetallParams { + o.SetFilter(filter) + return o +} + +// SetFilter adds the filter to the pcloud networks getall params +func (o *PcloudNetworksGetallParams) SetFilter(filter *string) { + o.Filter = filter +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.Filter != nil { + + // query param filter + var qrFilter string + + if o.Filter != nil { + qrFilter = *o.Filter + } + qFilter := qrFilter + if qFilter != "" { + + if err := r.SetQueryParam("filter", qFilter); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_getall_responses.go new file mode 100644 index 000000000..3cc9cfd8c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksGetallReader is a Reader for the PcloudNetworksGetall structure. +type PcloudNetworksGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks] pcloud.networks.getall", response, response.Code()) + } +} + +// NewPcloudNetworksGetallOK creates a PcloudNetworksGetallOK with default headers values +func NewPcloudNetworksGetallOK() *PcloudNetworksGetallOK { + return &PcloudNetworksGetallOK{} +} + +/* +PcloudNetworksGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksGetallOK struct { + Payload *models.Networks +} + +// IsSuccess returns true when this pcloud networks getall o k response has a 2xx status code +func (o *PcloudNetworksGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks getall o k response has a 3xx status code +func (o *PcloudNetworksGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks getall o k response has a 4xx status code +func (o *PcloudNetworksGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks getall o k response has a 5xx status code +func (o *PcloudNetworksGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks getall o k response a status code equal to that given +func (o *PcloudNetworksGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks getall o k response +func (o *PcloudNetworksGetallOK) Code() int { + return 200 +} + +func (o *PcloudNetworksGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallOK %s", 200, payload) +} + +func (o *PcloudNetworksGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallOK %s", 200, payload) +} + +func (o *PcloudNetworksGetallOK) GetPayload() *models.Networks { + return o.Payload +} + +func (o *PcloudNetworksGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Networks) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetallBadRequest creates a PcloudNetworksGetallBadRequest with default headers values +func NewPcloudNetworksGetallBadRequest() *PcloudNetworksGetallBadRequest { + return &PcloudNetworksGetallBadRequest{} +} + +/* +PcloudNetworksGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks getall bad request response has a 2xx status code +func (o *PcloudNetworksGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks getall bad request response has a 3xx status code +func (o *PcloudNetworksGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks getall bad request response has a 4xx status code +func (o *PcloudNetworksGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks getall bad request response has a 5xx status code +func (o *PcloudNetworksGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks getall bad request response a status code equal to that given +func (o *PcloudNetworksGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks getall bad request response +func (o *PcloudNetworksGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetallUnauthorized creates a PcloudNetworksGetallUnauthorized with default headers values +func NewPcloudNetworksGetallUnauthorized() *PcloudNetworksGetallUnauthorized { + return &PcloudNetworksGetallUnauthorized{} +} + +/* +PcloudNetworksGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks getall unauthorized response has a 2xx status code +func (o *PcloudNetworksGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks getall unauthorized response has a 3xx status code +func (o *PcloudNetworksGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks getall unauthorized response has a 4xx status code +func (o *PcloudNetworksGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks getall unauthorized response has a 5xx status code +func (o *PcloudNetworksGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks getall unauthorized response a status code equal to that given +func (o *PcloudNetworksGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks getall unauthorized response +func (o *PcloudNetworksGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetallForbidden creates a PcloudNetworksGetallForbidden with default headers values +func NewPcloudNetworksGetallForbidden() *PcloudNetworksGetallForbidden { + return &PcloudNetworksGetallForbidden{} +} + +/* +PcloudNetworksGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks getall forbidden response has a 2xx status code +func (o *PcloudNetworksGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks getall forbidden response has a 3xx status code +func (o *PcloudNetworksGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks getall forbidden response has a 4xx status code +func (o *PcloudNetworksGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks getall forbidden response has a 5xx status code +func (o *PcloudNetworksGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks getall forbidden response a status code equal to that given +func (o *PcloudNetworksGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks getall forbidden response +func (o *PcloudNetworksGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallForbidden %s", 403, payload) +} + +func (o *PcloudNetworksGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallForbidden %s", 403, payload) +} + +func (o *PcloudNetworksGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetallNotFound creates a PcloudNetworksGetallNotFound with default headers values +func NewPcloudNetworksGetallNotFound() *PcloudNetworksGetallNotFound { + return &PcloudNetworksGetallNotFound{} +} + +/* +PcloudNetworksGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks getall not found response has a 2xx status code +func (o *PcloudNetworksGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks getall not found response has a 3xx status code +func (o *PcloudNetworksGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks getall not found response has a 4xx status code +func (o *PcloudNetworksGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks getall not found response has a 5xx status code +func (o *PcloudNetworksGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks getall not found response a status code equal to that given +func (o *PcloudNetworksGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks getall not found response +func (o *PcloudNetworksGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallNotFound %s", 404, payload) +} + +func (o *PcloudNetworksGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallNotFound %s", 404, payload) +} + +func (o *PcloudNetworksGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksGetallInternalServerError creates a PcloudNetworksGetallInternalServerError with default headers values +func NewPcloudNetworksGetallInternalServerError() *PcloudNetworksGetallInternalServerError { + return &PcloudNetworksGetallInternalServerError{} +} + +/* +PcloudNetworksGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks getall internal server error response has a 2xx status code +func (o *PcloudNetworksGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks getall internal server error response has a 3xx status code +func (o *PcloudNetworksGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks getall internal server error response has a 4xx status code +func (o *PcloudNetworksGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks getall internal server error response has a 5xx status code +func (o *PcloudNetworksGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks getall internal server error response a status code equal to that given +func (o *PcloudNetworksGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks getall internal server error response +func (o *PcloudNetworksGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_delete_parameters.go new file mode 100644 index 000000000..89b04912c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_delete_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudNetworksPortsDeleteParams creates a new PcloudNetworksPortsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksPortsDeleteParams() *PcloudNetworksPortsDeleteParams { + return &PcloudNetworksPortsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksPortsDeleteParamsWithTimeout creates a new PcloudNetworksPortsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksPortsDeleteParamsWithTimeout(timeout time.Duration) *PcloudNetworksPortsDeleteParams { + return &PcloudNetworksPortsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksPortsDeleteParamsWithContext creates a new PcloudNetworksPortsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudNetworksPortsDeleteParamsWithContext(ctx context.Context) *PcloudNetworksPortsDeleteParams { + return &PcloudNetworksPortsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudNetworksPortsDeleteParamsWithHTTPClient creates a new PcloudNetworksPortsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksPortsDeleteParamsWithHTTPClient(client *http.Client) *PcloudNetworksPortsDeleteParams { + return &PcloudNetworksPortsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksPortsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud networks ports delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksPortsDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + /* PortID. + + Port ID + */ + PortID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks ports delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsDeleteParams) WithDefaults() *PcloudNetworksPortsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks ports delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) WithTimeout(timeout time.Duration) *PcloudNetworksPortsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) WithContext(ctx context.Context) *PcloudNetworksPortsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) WithHTTPClient(client *http.Client) *PcloudNetworksPortsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksPortsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) WithNetworkID(networkID string) *PcloudNetworksPortsDeleteParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WithPortID adds the portID to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) WithPortID(portID string) *PcloudNetworksPortsDeleteParams { + o.SetPortID(portID) + return o +} + +// SetPortID adds the portId to the pcloud networks ports delete params +func (o *PcloudNetworksPortsDeleteParams) SetPortID(portID string) { + o.PortID = portID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksPortsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + // path param port_id + if err := r.SetPathParam("port_id", o.PortID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_delete_responses.go new file mode 100644 index 000000000..cca8a3fae --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksPortsDeleteReader is a Reader for the PcloudNetworksPortsDelete structure. +type PcloudNetworksPortsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksPortsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksPortsDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksPortsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksPortsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksPortsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksPortsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudNetworksPortsDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksPortsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}] pcloud.networks.ports.delete", response, response.Code()) + } +} + +// NewPcloudNetworksPortsDeleteOK creates a PcloudNetworksPortsDeleteOK with default headers values +func NewPcloudNetworksPortsDeleteOK() *PcloudNetworksPortsDeleteOK { + return &PcloudNetworksPortsDeleteOK{} +} + +/* +PcloudNetworksPortsDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksPortsDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud networks ports delete o k response has a 2xx status code +func (o *PcloudNetworksPortsDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks ports delete o k response has a 3xx status code +func (o *PcloudNetworksPortsDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports delete o k response has a 4xx status code +func (o *PcloudNetworksPortsDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports delete o k response has a 5xx status code +func (o *PcloudNetworksPortsDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports delete o k response a status code equal to that given +func (o *PcloudNetworksPortsDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks ports delete o k response +func (o *PcloudNetworksPortsDeleteOK) Code() int { + return 200 +} + +func (o *PcloudNetworksPortsDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteOK %s", 200, payload) +} + +func (o *PcloudNetworksPortsDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteOK %s", 200, payload) +} + +func (o *PcloudNetworksPortsDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudNetworksPortsDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsDeleteBadRequest creates a PcloudNetworksPortsDeleteBadRequest with default headers values +func NewPcloudNetworksPortsDeleteBadRequest() *PcloudNetworksPortsDeleteBadRequest { + return &PcloudNetworksPortsDeleteBadRequest{} +} + +/* +PcloudNetworksPortsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksPortsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports delete bad request response has a 2xx status code +func (o *PcloudNetworksPortsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports delete bad request response has a 3xx status code +func (o *PcloudNetworksPortsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports delete bad request response has a 4xx status code +func (o *PcloudNetworksPortsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports delete bad request response has a 5xx status code +func (o *PcloudNetworksPortsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports delete bad request response a status code equal to that given +func (o *PcloudNetworksPortsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks ports delete bad request response +func (o *PcloudNetworksPortsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksPortsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsDeleteUnauthorized creates a PcloudNetworksPortsDeleteUnauthorized with default headers values +func NewPcloudNetworksPortsDeleteUnauthorized() *PcloudNetworksPortsDeleteUnauthorized { + return &PcloudNetworksPortsDeleteUnauthorized{} +} + +/* +PcloudNetworksPortsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksPortsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports delete unauthorized response has a 2xx status code +func (o *PcloudNetworksPortsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports delete unauthorized response has a 3xx status code +func (o *PcloudNetworksPortsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports delete unauthorized response has a 4xx status code +func (o *PcloudNetworksPortsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports delete unauthorized response has a 5xx status code +func (o *PcloudNetworksPortsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports delete unauthorized response a status code equal to that given +func (o *PcloudNetworksPortsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks ports delete unauthorized response +func (o *PcloudNetworksPortsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksPortsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsDeleteForbidden creates a PcloudNetworksPortsDeleteForbidden with default headers values +func NewPcloudNetworksPortsDeleteForbidden() *PcloudNetworksPortsDeleteForbidden { + return &PcloudNetworksPortsDeleteForbidden{} +} + +/* +PcloudNetworksPortsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksPortsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports delete forbidden response has a 2xx status code +func (o *PcloudNetworksPortsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports delete forbidden response has a 3xx status code +func (o *PcloudNetworksPortsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports delete forbidden response has a 4xx status code +func (o *PcloudNetworksPortsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports delete forbidden response has a 5xx status code +func (o *PcloudNetworksPortsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports delete forbidden response a status code equal to that given +func (o *PcloudNetworksPortsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks ports delete forbidden response +func (o *PcloudNetworksPortsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksPortsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsDeleteNotFound creates a PcloudNetworksPortsDeleteNotFound with default headers values +func NewPcloudNetworksPortsDeleteNotFound() *PcloudNetworksPortsDeleteNotFound { + return &PcloudNetworksPortsDeleteNotFound{} +} + +/* +PcloudNetworksPortsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksPortsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports delete not found response has a 2xx status code +func (o *PcloudNetworksPortsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports delete not found response has a 3xx status code +func (o *PcloudNetworksPortsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports delete not found response has a 4xx status code +func (o *PcloudNetworksPortsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports delete not found response has a 5xx status code +func (o *PcloudNetworksPortsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports delete not found response a status code equal to that given +func (o *PcloudNetworksPortsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks ports delete not found response +func (o *PcloudNetworksPortsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksPortsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsDeleteGone creates a PcloudNetworksPortsDeleteGone with default headers values +func NewPcloudNetworksPortsDeleteGone() *PcloudNetworksPortsDeleteGone { + return &PcloudNetworksPortsDeleteGone{} +} + +/* +PcloudNetworksPortsDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudNetworksPortsDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports delete gone response has a 2xx status code +func (o *PcloudNetworksPortsDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports delete gone response has a 3xx status code +func (o *PcloudNetworksPortsDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports delete gone response has a 4xx status code +func (o *PcloudNetworksPortsDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports delete gone response has a 5xx status code +func (o *PcloudNetworksPortsDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports delete gone response a status code equal to that given +func (o *PcloudNetworksPortsDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud networks ports delete gone response +func (o *PcloudNetworksPortsDeleteGone) Code() int { + return 410 +} + +func (o *PcloudNetworksPortsDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteGone %s", 410, payload) +} + +func (o *PcloudNetworksPortsDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteGone %s", 410, payload) +} + +func (o *PcloudNetworksPortsDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsDeleteInternalServerError creates a PcloudNetworksPortsDeleteInternalServerError with default headers values +func NewPcloudNetworksPortsDeleteInternalServerError() *PcloudNetworksPortsDeleteInternalServerError { + return &PcloudNetworksPortsDeleteInternalServerError{} +} + +/* +PcloudNetworksPortsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksPortsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports delete internal server error response has a 2xx status code +func (o *PcloudNetworksPortsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports delete internal server error response has a 3xx status code +func (o *PcloudNetworksPortsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports delete internal server error response has a 4xx status code +func (o *PcloudNetworksPortsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports delete internal server error response has a 5xx status code +func (o *PcloudNetworksPortsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks ports delete internal server error response a status code equal to that given +func (o *PcloudNetworksPortsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks ports delete internal server error response +func (o *PcloudNetworksPortsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksPortsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_get_parameters.go new file mode 100644 index 000000000..032ff418a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_get_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudNetworksPortsGetParams creates a new PcloudNetworksPortsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksPortsGetParams() *PcloudNetworksPortsGetParams { + return &PcloudNetworksPortsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksPortsGetParamsWithTimeout creates a new PcloudNetworksPortsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksPortsGetParamsWithTimeout(timeout time.Duration) *PcloudNetworksPortsGetParams { + return &PcloudNetworksPortsGetParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksPortsGetParamsWithContext creates a new PcloudNetworksPortsGetParams object +// with the ability to set a context for a request. +func NewPcloudNetworksPortsGetParamsWithContext(ctx context.Context) *PcloudNetworksPortsGetParams { + return &PcloudNetworksPortsGetParams{ + Context: ctx, + } +} + +// NewPcloudNetworksPortsGetParamsWithHTTPClient creates a new PcloudNetworksPortsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksPortsGetParamsWithHTTPClient(client *http.Client) *PcloudNetworksPortsGetParams { + return &PcloudNetworksPortsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksPortsGetParams contains all the parameters to send to the API endpoint + + for the pcloud networks ports get operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksPortsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + /* PortID. + + Port ID + */ + PortID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks ports get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsGetParams) WithDefaults() *PcloudNetworksPortsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks ports get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) WithTimeout(timeout time.Duration) *PcloudNetworksPortsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) WithContext(ctx context.Context) *PcloudNetworksPortsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) WithHTTPClient(client *http.Client) *PcloudNetworksPortsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksPortsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) WithNetworkID(networkID string) *PcloudNetworksPortsGetParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WithPortID adds the portID to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) WithPortID(portID string) *PcloudNetworksPortsGetParams { + o.SetPortID(portID) + return o +} + +// SetPortID adds the portId to the pcloud networks ports get params +func (o *PcloudNetworksPortsGetParams) SetPortID(portID string) { + o.PortID = portID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksPortsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + // path param port_id + if err := r.SetPathParam("port_id", o.PortID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_get_responses.go new file mode 100644 index 000000000..7f5d16553 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksPortsGetReader is a Reader for the PcloudNetworksPortsGet structure. +type PcloudNetworksPortsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksPortsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksPortsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksPortsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksPortsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksPortsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksPortsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksPortsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}] pcloud.networks.ports.get", response, response.Code()) + } +} + +// NewPcloudNetworksPortsGetOK creates a PcloudNetworksPortsGetOK with default headers values +func NewPcloudNetworksPortsGetOK() *PcloudNetworksPortsGetOK { + return &PcloudNetworksPortsGetOK{} +} + +/* +PcloudNetworksPortsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksPortsGetOK struct { + Payload *models.NetworkPort +} + +// IsSuccess returns true when this pcloud networks ports get o k response has a 2xx status code +func (o *PcloudNetworksPortsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks ports get o k response has a 3xx status code +func (o *PcloudNetworksPortsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports get o k response has a 4xx status code +func (o *PcloudNetworksPortsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports get o k response has a 5xx status code +func (o *PcloudNetworksPortsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports get o k response a status code equal to that given +func (o *PcloudNetworksPortsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks ports get o k response +func (o *PcloudNetworksPortsGetOK) Code() int { + return 200 +} + +func (o *PcloudNetworksPortsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetOK %s", 200, payload) +} + +func (o *PcloudNetworksPortsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetOK %s", 200, payload) +} + +func (o *PcloudNetworksPortsGetOK) GetPayload() *models.NetworkPort { + return o.Payload +} + +func (o *PcloudNetworksPortsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkPort) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetBadRequest creates a PcloudNetworksPortsGetBadRequest with default headers values +func NewPcloudNetworksPortsGetBadRequest() *PcloudNetworksPortsGetBadRequest { + return &PcloudNetworksPortsGetBadRequest{} +} + +/* +PcloudNetworksPortsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksPortsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports get bad request response has a 2xx status code +func (o *PcloudNetworksPortsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports get bad request response has a 3xx status code +func (o *PcloudNetworksPortsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports get bad request response has a 4xx status code +func (o *PcloudNetworksPortsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports get bad request response has a 5xx status code +func (o *PcloudNetworksPortsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports get bad request response a status code equal to that given +func (o *PcloudNetworksPortsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks ports get bad request response +func (o *PcloudNetworksPortsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksPortsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetUnauthorized creates a PcloudNetworksPortsGetUnauthorized with default headers values +func NewPcloudNetworksPortsGetUnauthorized() *PcloudNetworksPortsGetUnauthorized { + return &PcloudNetworksPortsGetUnauthorized{} +} + +/* +PcloudNetworksPortsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksPortsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports get unauthorized response has a 2xx status code +func (o *PcloudNetworksPortsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports get unauthorized response has a 3xx status code +func (o *PcloudNetworksPortsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports get unauthorized response has a 4xx status code +func (o *PcloudNetworksPortsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports get unauthorized response has a 5xx status code +func (o *PcloudNetworksPortsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports get unauthorized response a status code equal to that given +func (o *PcloudNetworksPortsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks ports get unauthorized response +func (o *PcloudNetworksPortsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksPortsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetForbidden creates a PcloudNetworksPortsGetForbidden with default headers values +func NewPcloudNetworksPortsGetForbidden() *PcloudNetworksPortsGetForbidden { + return &PcloudNetworksPortsGetForbidden{} +} + +/* +PcloudNetworksPortsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksPortsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports get forbidden response has a 2xx status code +func (o *PcloudNetworksPortsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports get forbidden response has a 3xx status code +func (o *PcloudNetworksPortsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports get forbidden response has a 4xx status code +func (o *PcloudNetworksPortsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports get forbidden response has a 5xx status code +func (o *PcloudNetworksPortsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports get forbidden response a status code equal to that given +func (o *PcloudNetworksPortsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks ports get forbidden response +func (o *PcloudNetworksPortsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksPortsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetNotFound creates a PcloudNetworksPortsGetNotFound with default headers values +func NewPcloudNetworksPortsGetNotFound() *PcloudNetworksPortsGetNotFound { + return &PcloudNetworksPortsGetNotFound{} +} + +/* +PcloudNetworksPortsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksPortsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports get not found response has a 2xx status code +func (o *PcloudNetworksPortsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports get not found response has a 3xx status code +func (o *PcloudNetworksPortsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports get not found response has a 4xx status code +func (o *PcloudNetworksPortsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports get not found response has a 5xx status code +func (o *PcloudNetworksPortsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports get not found response a status code equal to that given +func (o *PcloudNetworksPortsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks ports get not found response +func (o *PcloudNetworksPortsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksPortsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetInternalServerError creates a PcloudNetworksPortsGetInternalServerError with default headers values +func NewPcloudNetworksPortsGetInternalServerError() *PcloudNetworksPortsGetInternalServerError { + return &PcloudNetworksPortsGetInternalServerError{} +} + +/* +PcloudNetworksPortsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksPortsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports get internal server error response has a 2xx status code +func (o *PcloudNetworksPortsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports get internal server error response has a 3xx status code +func (o *PcloudNetworksPortsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports get internal server error response has a 4xx status code +func (o *PcloudNetworksPortsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports get internal server error response has a 5xx status code +func (o *PcloudNetworksPortsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks ports get internal server error response a status code equal to that given +func (o *PcloudNetworksPortsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks ports get internal server error response +func (o *PcloudNetworksPortsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksPortsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_getall_parameters.go new file mode 100644 index 000000000..6197e3c6c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_getall_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudNetworksPortsGetallParams creates a new PcloudNetworksPortsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksPortsGetallParams() *PcloudNetworksPortsGetallParams { + return &PcloudNetworksPortsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksPortsGetallParamsWithTimeout creates a new PcloudNetworksPortsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksPortsGetallParamsWithTimeout(timeout time.Duration) *PcloudNetworksPortsGetallParams { + return &PcloudNetworksPortsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksPortsGetallParamsWithContext creates a new PcloudNetworksPortsGetallParams object +// with the ability to set a context for a request. +func NewPcloudNetworksPortsGetallParamsWithContext(ctx context.Context) *PcloudNetworksPortsGetallParams { + return &PcloudNetworksPortsGetallParams{ + Context: ctx, + } +} + +// NewPcloudNetworksPortsGetallParamsWithHTTPClient creates a new PcloudNetworksPortsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksPortsGetallParamsWithHTTPClient(client *http.Client) *PcloudNetworksPortsGetallParams { + return &PcloudNetworksPortsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksPortsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud networks ports getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksPortsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks ports getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsGetallParams) WithDefaults() *PcloudNetworksPortsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks ports getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) WithTimeout(timeout time.Duration) *PcloudNetworksPortsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) WithContext(ctx context.Context) *PcloudNetworksPortsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) WithHTTPClient(client *http.Client) *PcloudNetworksPortsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksPortsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) WithNetworkID(networkID string) *PcloudNetworksPortsGetallParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud networks ports getall params +func (o *PcloudNetworksPortsGetallParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksPortsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_getall_responses.go new file mode 100644 index 000000000..e92d4e1ea --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksPortsGetallReader is a Reader for the PcloudNetworksPortsGetall structure. +type PcloudNetworksPortsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksPortsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksPortsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksPortsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksPortsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksPortsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksPortsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksPortsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports] pcloud.networks.ports.getall", response, response.Code()) + } +} + +// NewPcloudNetworksPortsGetallOK creates a PcloudNetworksPortsGetallOK with default headers values +func NewPcloudNetworksPortsGetallOK() *PcloudNetworksPortsGetallOK { + return &PcloudNetworksPortsGetallOK{} +} + +/* +PcloudNetworksPortsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksPortsGetallOK struct { + Payload *models.NetworkPorts +} + +// IsSuccess returns true when this pcloud networks ports getall o k response has a 2xx status code +func (o *PcloudNetworksPortsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks ports getall o k response has a 3xx status code +func (o *PcloudNetworksPortsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports getall o k response has a 4xx status code +func (o *PcloudNetworksPortsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports getall o k response has a 5xx status code +func (o *PcloudNetworksPortsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports getall o k response a status code equal to that given +func (o *PcloudNetworksPortsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks ports getall o k response +func (o *PcloudNetworksPortsGetallOK) Code() int { + return 200 +} + +func (o *PcloudNetworksPortsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallOK %s", 200, payload) +} + +func (o *PcloudNetworksPortsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallOK %s", 200, payload) +} + +func (o *PcloudNetworksPortsGetallOK) GetPayload() *models.NetworkPorts { + return o.Payload +} + +func (o *PcloudNetworksPortsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkPorts) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetallBadRequest creates a PcloudNetworksPortsGetallBadRequest with default headers values +func NewPcloudNetworksPortsGetallBadRequest() *PcloudNetworksPortsGetallBadRequest { + return &PcloudNetworksPortsGetallBadRequest{} +} + +/* +PcloudNetworksPortsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksPortsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports getall bad request response has a 2xx status code +func (o *PcloudNetworksPortsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports getall bad request response has a 3xx status code +func (o *PcloudNetworksPortsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports getall bad request response has a 4xx status code +func (o *PcloudNetworksPortsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports getall bad request response has a 5xx status code +func (o *PcloudNetworksPortsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports getall bad request response a status code equal to that given +func (o *PcloudNetworksPortsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks ports getall bad request response +func (o *PcloudNetworksPortsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksPortsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetallUnauthorized creates a PcloudNetworksPortsGetallUnauthorized with default headers values +func NewPcloudNetworksPortsGetallUnauthorized() *PcloudNetworksPortsGetallUnauthorized { + return &PcloudNetworksPortsGetallUnauthorized{} +} + +/* +PcloudNetworksPortsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksPortsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports getall unauthorized response has a 2xx status code +func (o *PcloudNetworksPortsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports getall unauthorized response has a 3xx status code +func (o *PcloudNetworksPortsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports getall unauthorized response has a 4xx status code +func (o *PcloudNetworksPortsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports getall unauthorized response has a 5xx status code +func (o *PcloudNetworksPortsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports getall unauthorized response a status code equal to that given +func (o *PcloudNetworksPortsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks ports getall unauthorized response +func (o *PcloudNetworksPortsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksPortsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetallForbidden creates a PcloudNetworksPortsGetallForbidden with default headers values +func NewPcloudNetworksPortsGetallForbidden() *PcloudNetworksPortsGetallForbidden { + return &PcloudNetworksPortsGetallForbidden{} +} + +/* +PcloudNetworksPortsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksPortsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports getall forbidden response has a 2xx status code +func (o *PcloudNetworksPortsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports getall forbidden response has a 3xx status code +func (o *PcloudNetworksPortsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports getall forbidden response has a 4xx status code +func (o *PcloudNetworksPortsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports getall forbidden response has a 5xx status code +func (o *PcloudNetworksPortsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports getall forbidden response a status code equal to that given +func (o *PcloudNetworksPortsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks ports getall forbidden response +func (o *PcloudNetworksPortsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksPortsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetallNotFound creates a PcloudNetworksPortsGetallNotFound with default headers values +func NewPcloudNetworksPortsGetallNotFound() *PcloudNetworksPortsGetallNotFound { + return &PcloudNetworksPortsGetallNotFound{} +} + +/* +PcloudNetworksPortsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksPortsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports getall not found response has a 2xx status code +func (o *PcloudNetworksPortsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports getall not found response has a 3xx status code +func (o *PcloudNetworksPortsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports getall not found response has a 4xx status code +func (o *PcloudNetworksPortsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports getall not found response has a 5xx status code +func (o *PcloudNetworksPortsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports getall not found response a status code equal to that given +func (o *PcloudNetworksPortsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks ports getall not found response +func (o *PcloudNetworksPortsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksPortsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsGetallInternalServerError creates a PcloudNetworksPortsGetallInternalServerError with default headers values +func NewPcloudNetworksPortsGetallInternalServerError() *PcloudNetworksPortsGetallInternalServerError { + return &PcloudNetworksPortsGetallInternalServerError{} +} + +/* +PcloudNetworksPortsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksPortsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports getall internal server error response has a 2xx status code +func (o *PcloudNetworksPortsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports getall internal server error response has a 3xx status code +func (o *PcloudNetworksPortsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports getall internal server error response has a 4xx status code +func (o *PcloudNetworksPortsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports getall internal server error response has a 5xx status code +func (o *PcloudNetworksPortsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks ports getall internal server error response a status code equal to that given +func (o *PcloudNetworksPortsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks ports getall internal server error response +func (o *PcloudNetworksPortsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksPortsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_post_parameters.go new file mode 100644 index 000000000..886acd02f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudNetworksPortsPostParams creates a new PcloudNetworksPortsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksPortsPostParams() *PcloudNetworksPortsPostParams { + return &PcloudNetworksPortsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksPortsPostParamsWithTimeout creates a new PcloudNetworksPortsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksPortsPostParamsWithTimeout(timeout time.Duration) *PcloudNetworksPortsPostParams { + return &PcloudNetworksPortsPostParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksPortsPostParamsWithContext creates a new PcloudNetworksPortsPostParams object +// with the ability to set a context for a request. +func NewPcloudNetworksPortsPostParamsWithContext(ctx context.Context) *PcloudNetworksPortsPostParams { + return &PcloudNetworksPortsPostParams{ + Context: ctx, + } +} + +// NewPcloudNetworksPortsPostParamsWithHTTPClient creates a new PcloudNetworksPortsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksPortsPostParamsWithHTTPClient(client *http.Client) *PcloudNetworksPortsPostParams { + return &PcloudNetworksPortsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksPortsPostParams contains all the parameters to send to the API endpoint + + for the pcloud networks ports post operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksPortsPostParams struct { + + /* Body. + + Create a Network Port + */ + Body *models.NetworkPortCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks ports post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsPostParams) WithDefaults() *PcloudNetworksPortsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks ports post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) WithTimeout(timeout time.Duration) *PcloudNetworksPortsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) WithContext(ctx context.Context) *PcloudNetworksPortsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) WithHTTPClient(client *http.Client) *PcloudNetworksPortsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) WithBody(body *models.NetworkPortCreate) *PcloudNetworksPortsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) SetBody(body *models.NetworkPortCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksPortsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) WithNetworkID(networkID string) *PcloudNetworksPortsPostParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud networks ports post params +func (o *PcloudNetworksPortsPostParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksPortsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_post_responses.go new file mode 100644 index 000000000..acb70ec27 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksPortsPostReader is a Reader for the PcloudNetworksPortsPost structure. +type PcloudNetworksPortsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksPortsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewPcloudNetworksPortsPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksPortsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksPortsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksPortsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksPortsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudNetworksPortsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudNetworksPortsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksPortsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports] pcloud.networks.ports.post", response, response.Code()) + } +} + +// NewPcloudNetworksPortsPostCreated creates a PcloudNetworksPortsPostCreated with default headers values +func NewPcloudNetworksPortsPostCreated() *PcloudNetworksPortsPostCreated { + return &PcloudNetworksPortsPostCreated{} +} + +/* +PcloudNetworksPortsPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudNetworksPortsPostCreated struct { + Payload *models.NetworkPort +} + +// IsSuccess returns true when this pcloud networks ports post created response has a 2xx status code +func (o *PcloudNetworksPortsPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks ports post created response has a 3xx status code +func (o *PcloudNetworksPortsPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports post created response has a 4xx status code +func (o *PcloudNetworksPortsPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports post created response has a 5xx status code +func (o *PcloudNetworksPortsPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports post created response a status code equal to that given +func (o *PcloudNetworksPortsPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud networks ports post created response +func (o *PcloudNetworksPortsPostCreated) Code() int { + return 201 +} + +func (o *PcloudNetworksPortsPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostCreated %s", 201, payload) +} + +func (o *PcloudNetworksPortsPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostCreated %s", 201, payload) +} + +func (o *PcloudNetworksPortsPostCreated) GetPayload() *models.NetworkPort { + return o.Payload +} + +func (o *PcloudNetworksPortsPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkPort) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPostBadRequest creates a PcloudNetworksPortsPostBadRequest with default headers values +func NewPcloudNetworksPortsPostBadRequest() *PcloudNetworksPortsPostBadRequest { + return &PcloudNetworksPortsPostBadRequest{} +} + +/* +PcloudNetworksPortsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksPortsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports post bad request response has a 2xx status code +func (o *PcloudNetworksPortsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports post bad request response has a 3xx status code +func (o *PcloudNetworksPortsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports post bad request response has a 4xx status code +func (o *PcloudNetworksPortsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports post bad request response has a 5xx status code +func (o *PcloudNetworksPortsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports post bad request response a status code equal to that given +func (o *PcloudNetworksPortsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks ports post bad request response +func (o *PcloudNetworksPortsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksPortsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPostUnauthorized creates a PcloudNetworksPortsPostUnauthorized with default headers values +func NewPcloudNetworksPortsPostUnauthorized() *PcloudNetworksPortsPostUnauthorized { + return &PcloudNetworksPortsPostUnauthorized{} +} + +/* +PcloudNetworksPortsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksPortsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports post unauthorized response has a 2xx status code +func (o *PcloudNetworksPortsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports post unauthorized response has a 3xx status code +func (o *PcloudNetworksPortsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports post unauthorized response has a 4xx status code +func (o *PcloudNetworksPortsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports post unauthorized response has a 5xx status code +func (o *PcloudNetworksPortsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports post unauthorized response a status code equal to that given +func (o *PcloudNetworksPortsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks ports post unauthorized response +func (o *PcloudNetworksPortsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksPortsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPostForbidden creates a PcloudNetworksPortsPostForbidden with default headers values +func NewPcloudNetworksPortsPostForbidden() *PcloudNetworksPortsPostForbidden { + return &PcloudNetworksPortsPostForbidden{} +} + +/* +PcloudNetworksPortsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksPortsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports post forbidden response has a 2xx status code +func (o *PcloudNetworksPortsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports post forbidden response has a 3xx status code +func (o *PcloudNetworksPortsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports post forbidden response has a 4xx status code +func (o *PcloudNetworksPortsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports post forbidden response has a 5xx status code +func (o *PcloudNetworksPortsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports post forbidden response a status code equal to that given +func (o *PcloudNetworksPortsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks ports post forbidden response +func (o *PcloudNetworksPortsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksPortsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPostNotFound creates a PcloudNetworksPortsPostNotFound with default headers values +func NewPcloudNetworksPortsPostNotFound() *PcloudNetworksPortsPostNotFound { + return &PcloudNetworksPortsPostNotFound{} +} + +/* +PcloudNetworksPortsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksPortsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports post not found response has a 2xx status code +func (o *PcloudNetworksPortsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports post not found response has a 3xx status code +func (o *PcloudNetworksPortsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports post not found response has a 4xx status code +func (o *PcloudNetworksPortsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports post not found response has a 5xx status code +func (o *PcloudNetworksPortsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports post not found response a status code equal to that given +func (o *PcloudNetworksPortsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks ports post not found response +func (o *PcloudNetworksPortsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksPortsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPostConflict creates a PcloudNetworksPortsPostConflict with default headers values +func NewPcloudNetworksPortsPostConflict() *PcloudNetworksPortsPostConflict { + return &PcloudNetworksPortsPostConflict{} +} + +/* +PcloudNetworksPortsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudNetworksPortsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports post conflict response has a 2xx status code +func (o *PcloudNetworksPortsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports post conflict response has a 3xx status code +func (o *PcloudNetworksPortsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports post conflict response has a 4xx status code +func (o *PcloudNetworksPortsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports post conflict response has a 5xx status code +func (o *PcloudNetworksPortsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports post conflict response a status code equal to that given +func (o *PcloudNetworksPortsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud networks ports post conflict response +func (o *PcloudNetworksPortsPostConflict) Code() int { + return 409 +} + +func (o *PcloudNetworksPortsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostConflict %s", 409, payload) +} + +func (o *PcloudNetworksPortsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostConflict %s", 409, payload) +} + +func (o *PcloudNetworksPortsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPostUnprocessableEntity creates a PcloudNetworksPortsPostUnprocessableEntity with default headers values +func NewPcloudNetworksPortsPostUnprocessableEntity() *PcloudNetworksPortsPostUnprocessableEntity { + return &PcloudNetworksPortsPostUnprocessableEntity{} +} + +/* +PcloudNetworksPortsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudNetworksPortsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports post unprocessable entity response has a 2xx status code +func (o *PcloudNetworksPortsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports post unprocessable entity response has a 3xx status code +func (o *PcloudNetworksPortsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports post unprocessable entity response has a 4xx status code +func (o *PcloudNetworksPortsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports post unprocessable entity response has a 5xx status code +func (o *PcloudNetworksPortsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports post unprocessable entity response a status code equal to that given +func (o *PcloudNetworksPortsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud networks ports post unprocessable entity response +func (o *PcloudNetworksPortsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudNetworksPortsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudNetworksPortsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudNetworksPortsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPostInternalServerError creates a PcloudNetworksPortsPostInternalServerError with default headers values +func NewPcloudNetworksPortsPostInternalServerError() *PcloudNetworksPortsPostInternalServerError { + return &PcloudNetworksPortsPostInternalServerError{} +} + +/* +PcloudNetworksPortsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksPortsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports post internal server error response has a 2xx status code +func (o *PcloudNetworksPortsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports post internal server error response has a 3xx status code +func (o *PcloudNetworksPortsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports post internal server error response has a 4xx status code +func (o *PcloudNetworksPortsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports post internal server error response has a 5xx status code +func (o *PcloudNetworksPortsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks ports post internal server error response a status code equal to that given +func (o *PcloudNetworksPortsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks ports post internal server error response +func (o *PcloudNetworksPortsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksPortsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports][%d] pcloudNetworksPortsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_put_parameters.go new file mode 100644 index 000000000..d29caefc3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_put_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudNetworksPortsPutParams creates a new PcloudNetworksPortsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksPortsPutParams() *PcloudNetworksPortsPutParams { + return &PcloudNetworksPortsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksPortsPutParamsWithTimeout creates a new PcloudNetworksPortsPutParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksPortsPutParamsWithTimeout(timeout time.Duration) *PcloudNetworksPortsPutParams { + return &PcloudNetworksPortsPutParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksPortsPutParamsWithContext creates a new PcloudNetworksPortsPutParams object +// with the ability to set a context for a request. +func NewPcloudNetworksPortsPutParamsWithContext(ctx context.Context) *PcloudNetworksPortsPutParams { + return &PcloudNetworksPortsPutParams{ + Context: ctx, + } +} + +// NewPcloudNetworksPortsPutParamsWithHTTPClient creates a new PcloudNetworksPortsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksPortsPutParamsWithHTTPClient(client *http.Client) *PcloudNetworksPortsPutParams { + return &PcloudNetworksPortsPutParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksPortsPutParams contains all the parameters to send to the API endpoint + + for the pcloud networks ports put operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksPortsPutParams struct { + + /* Body. + + Parameters for updating a Port + */ + Body *models.NetworkPortUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + /* PortID. + + Port ID + */ + PortID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks ports put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsPutParams) WithDefaults() *PcloudNetworksPortsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks ports put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPortsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) WithTimeout(timeout time.Duration) *PcloudNetworksPortsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) WithContext(ctx context.Context) *PcloudNetworksPortsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) WithHTTPClient(client *http.Client) *PcloudNetworksPortsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) WithBody(body *models.NetworkPortUpdate) *PcloudNetworksPortsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) SetBody(body *models.NetworkPortUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksPortsPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) WithNetworkID(networkID string) *PcloudNetworksPortsPutParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WithPortID adds the portID to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) WithPortID(portID string) *PcloudNetworksPortsPutParams { + o.SetPortID(portID) + return o +} + +// SetPortID adds the portId to the pcloud networks ports put params +func (o *PcloudNetworksPortsPutParams) SetPortID(portID string) { + o.PortID = portID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksPortsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + // path param port_id + if err := r.SetPathParam("port_id", o.PortID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_put_responses.go new file mode 100644 index 000000000..24e242486 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_ports_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksPortsPutReader is a Reader for the PcloudNetworksPortsPut structure. +type PcloudNetworksPortsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksPortsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksPortsPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksPortsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksPortsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksPortsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksPortsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudNetworksPortsPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksPortsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}] pcloud.networks.ports.put", response, response.Code()) + } +} + +// NewPcloudNetworksPortsPutOK creates a PcloudNetworksPortsPutOK with default headers values +func NewPcloudNetworksPortsPutOK() *PcloudNetworksPortsPutOK { + return &PcloudNetworksPortsPutOK{} +} + +/* +PcloudNetworksPortsPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksPortsPutOK struct { + Payload *models.NetworkPort +} + +// IsSuccess returns true when this pcloud networks ports put o k response has a 2xx status code +func (o *PcloudNetworksPortsPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks ports put o k response has a 3xx status code +func (o *PcloudNetworksPortsPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports put o k response has a 4xx status code +func (o *PcloudNetworksPortsPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports put o k response has a 5xx status code +func (o *PcloudNetworksPortsPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports put o k response a status code equal to that given +func (o *PcloudNetworksPortsPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks ports put o k response +func (o *PcloudNetworksPortsPutOK) Code() int { + return 200 +} + +func (o *PcloudNetworksPortsPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutOK %s", 200, payload) +} + +func (o *PcloudNetworksPortsPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutOK %s", 200, payload) +} + +func (o *PcloudNetworksPortsPutOK) GetPayload() *models.NetworkPort { + return o.Payload +} + +func (o *PcloudNetworksPortsPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkPort) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPutBadRequest creates a PcloudNetworksPortsPutBadRequest with default headers values +func NewPcloudNetworksPortsPutBadRequest() *PcloudNetworksPortsPutBadRequest { + return &PcloudNetworksPortsPutBadRequest{} +} + +/* +PcloudNetworksPortsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksPortsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports put bad request response has a 2xx status code +func (o *PcloudNetworksPortsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports put bad request response has a 3xx status code +func (o *PcloudNetworksPortsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports put bad request response has a 4xx status code +func (o *PcloudNetworksPortsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports put bad request response has a 5xx status code +func (o *PcloudNetworksPortsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports put bad request response a status code equal to that given +func (o *PcloudNetworksPortsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks ports put bad request response +func (o *PcloudNetworksPortsPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksPortsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPortsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPutUnauthorized creates a PcloudNetworksPortsPutUnauthorized with default headers values +func NewPcloudNetworksPortsPutUnauthorized() *PcloudNetworksPortsPutUnauthorized { + return &PcloudNetworksPortsPutUnauthorized{} +} + +/* +PcloudNetworksPortsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksPortsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports put unauthorized response has a 2xx status code +func (o *PcloudNetworksPortsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports put unauthorized response has a 3xx status code +func (o *PcloudNetworksPortsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports put unauthorized response has a 4xx status code +func (o *PcloudNetworksPortsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports put unauthorized response has a 5xx status code +func (o *PcloudNetworksPortsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports put unauthorized response a status code equal to that given +func (o *PcloudNetworksPortsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks ports put unauthorized response +func (o *PcloudNetworksPortsPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksPortsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPortsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPutForbidden creates a PcloudNetworksPortsPutForbidden with default headers values +func NewPcloudNetworksPortsPutForbidden() *PcloudNetworksPortsPutForbidden { + return &PcloudNetworksPortsPutForbidden{} +} + +/* +PcloudNetworksPortsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksPortsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports put forbidden response has a 2xx status code +func (o *PcloudNetworksPortsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports put forbidden response has a 3xx status code +func (o *PcloudNetworksPortsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports put forbidden response has a 4xx status code +func (o *PcloudNetworksPortsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports put forbidden response has a 5xx status code +func (o *PcloudNetworksPortsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports put forbidden response a status code equal to that given +func (o *PcloudNetworksPortsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks ports put forbidden response +func (o *PcloudNetworksPortsPutForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksPortsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPortsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPutNotFound creates a PcloudNetworksPortsPutNotFound with default headers values +func NewPcloudNetworksPortsPutNotFound() *PcloudNetworksPortsPutNotFound { + return &PcloudNetworksPortsPutNotFound{} +} + +/* +PcloudNetworksPortsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksPortsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports put not found response has a 2xx status code +func (o *PcloudNetworksPortsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports put not found response has a 3xx status code +func (o *PcloudNetworksPortsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports put not found response has a 4xx status code +func (o *PcloudNetworksPortsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports put not found response has a 5xx status code +func (o *PcloudNetworksPortsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports put not found response a status code equal to that given +func (o *PcloudNetworksPortsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks ports put not found response +func (o *PcloudNetworksPortsPutNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksPortsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPortsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPutUnprocessableEntity creates a PcloudNetworksPortsPutUnprocessableEntity with default headers values +func NewPcloudNetworksPortsPutUnprocessableEntity() *PcloudNetworksPortsPutUnprocessableEntity { + return &PcloudNetworksPortsPutUnprocessableEntity{} +} + +/* +PcloudNetworksPortsPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudNetworksPortsPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports put unprocessable entity response has a 2xx status code +func (o *PcloudNetworksPortsPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports put unprocessable entity response has a 3xx status code +func (o *PcloudNetworksPortsPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports put unprocessable entity response has a 4xx status code +func (o *PcloudNetworksPortsPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks ports put unprocessable entity response has a 5xx status code +func (o *PcloudNetworksPortsPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks ports put unprocessable entity response a status code equal to that given +func (o *PcloudNetworksPortsPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud networks ports put unprocessable entity response +func (o *PcloudNetworksPortsPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudNetworksPortsPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudNetworksPortsPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudNetworksPortsPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPortsPutInternalServerError creates a PcloudNetworksPortsPutInternalServerError with default headers values +func NewPcloudNetworksPortsPutInternalServerError() *PcloudNetworksPortsPutInternalServerError { + return &PcloudNetworksPortsPutInternalServerError{} +} + +/* +PcloudNetworksPortsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksPortsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks ports put internal server error response has a 2xx status code +func (o *PcloudNetworksPortsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks ports put internal server error response has a 3xx status code +func (o *PcloudNetworksPortsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks ports put internal server error response has a 4xx status code +func (o *PcloudNetworksPortsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks ports put internal server error response has a 5xx status code +func (o *PcloudNetworksPortsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks ports put internal server error response a status code equal to that given +func (o *PcloudNetworksPortsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks ports put internal server error response +func (o *PcloudNetworksPortsPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksPortsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}][%d] pcloudNetworksPortsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPortsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPortsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_post_parameters.go new file mode 100644 index 000000000..aca2c9753 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudNetworksPostParams creates a new PcloudNetworksPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksPostParams() *PcloudNetworksPostParams { + return &PcloudNetworksPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksPostParamsWithTimeout creates a new PcloudNetworksPostParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksPostParamsWithTimeout(timeout time.Duration) *PcloudNetworksPostParams { + return &PcloudNetworksPostParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksPostParamsWithContext creates a new PcloudNetworksPostParams object +// with the ability to set a context for a request. +func NewPcloudNetworksPostParamsWithContext(ctx context.Context) *PcloudNetworksPostParams { + return &PcloudNetworksPostParams{ + Context: ctx, + } +} + +// NewPcloudNetworksPostParamsWithHTTPClient creates a new PcloudNetworksPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksPostParamsWithHTTPClient(client *http.Client) *PcloudNetworksPostParams { + return &PcloudNetworksPostParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksPostParams contains all the parameters to send to the API endpoint + + for the pcloud networks post operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksPostParams struct { + + /* Body. + + Parameters for the creation of a new network + */ + Body *models.NetworkCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPostParams) WithDefaults() *PcloudNetworksPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks post params +func (o *PcloudNetworksPostParams) WithTimeout(timeout time.Duration) *PcloudNetworksPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks post params +func (o *PcloudNetworksPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks post params +func (o *PcloudNetworksPostParams) WithContext(ctx context.Context) *PcloudNetworksPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks post params +func (o *PcloudNetworksPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks post params +func (o *PcloudNetworksPostParams) WithHTTPClient(client *http.Client) *PcloudNetworksPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks post params +func (o *PcloudNetworksPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud networks post params +func (o *PcloudNetworksPostParams) WithBody(body *models.NetworkCreate) *PcloudNetworksPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud networks post params +func (o *PcloudNetworksPostParams) SetBody(body *models.NetworkCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks post params +func (o *PcloudNetworksPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks post params +func (o *PcloudNetworksPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_post_responses.go new file mode 100644 index 000000000..cf8f139c3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_post_responses.go @@ -0,0 +1,791 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksPostReader is a Reader for the PcloudNetworksPost structure. +type PcloudNetworksPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewPcloudNetworksPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudNetworksPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudNetworksPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 550: + result := NewPcloudNetworksPostStatus550() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks] pcloud.networks.post", response, response.Code()) + } +} + +// NewPcloudNetworksPostOK creates a PcloudNetworksPostOK with default headers values +func NewPcloudNetworksPostOK() *PcloudNetworksPostOK { + return &PcloudNetworksPostOK{} +} + +/* +PcloudNetworksPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksPostOK struct { + Payload *models.Network +} + +// IsSuccess returns true when this pcloud networks post o k response has a 2xx status code +func (o *PcloudNetworksPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks post o k response has a 3xx status code +func (o *PcloudNetworksPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post o k response has a 4xx status code +func (o *PcloudNetworksPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks post o k response has a 5xx status code +func (o *PcloudNetworksPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks post o k response a status code equal to that given +func (o *PcloudNetworksPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks post o k response +func (o *PcloudNetworksPostOK) Code() int { + return 200 +} + +func (o *PcloudNetworksPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostOK %s", 200, payload) +} + +func (o *PcloudNetworksPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostOK %s", 200, payload) +} + +func (o *PcloudNetworksPostOK) GetPayload() *models.Network { + return o.Payload +} + +func (o *PcloudNetworksPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Network) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostCreated creates a PcloudNetworksPostCreated with default headers values +func NewPcloudNetworksPostCreated() *PcloudNetworksPostCreated { + return &PcloudNetworksPostCreated{} +} + +/* +PcloudNetworksPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudNetworksPostCreated struct { + Payload *models.Network +} + +// IsSuccess returns true when this pcloud networks post created response has a 2xx status code +func (o *PcloudNetworksPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks post created response has a 3xx status code +func (o *PcloudNetworksPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post created response has a 4xx status code +func (o *PcloudNetworksPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks post created response has a 5xx status code +func (o *PcloudNetworksPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks post created response a status code equal to that given +func (o *PcloudNetworksPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud networks post created response +func (o *PcloudNetworksPostCreated) Code() int { + return 201 +} + +func (o *PcloudNetworksPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostCreated %s", 201, payload) +} + +func (o *PcloudNetworksPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostCreated %s", 201, payload) +} + +func (o *PcloudNetworksPostCreated) GetPayload() *models.Network { + return o.Payload +} + +func (o *PcloudNetworksPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Network) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostBadRequest creates a PcloudNetworksPostBadRequest with default headers values +func NewPcloudNetworksPostBadRequest() *PcloudNetworksPostBadRequest { + return &PcloudNetworksPostBadRequest{} +} + +/* +PcloudNetworksPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks post bad request response has a 2xx status code +func (o *PcloudNetworksPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks post bad request response has a 3xx status code +func (o *PcloudNetworksPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post bad request response has a 4xx status code +func (o *PcloudNetworksPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks post bad request response has a 5xx status code +func (o *PcloudNetworksPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks post bad request response a status code equal to that given +func (o *PcloudNetworksPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks post bad request response +func (o *PcloudNetworksPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostUnauthorized creates a PcloudNetworksPostUnauthorized with default headers values +func NewPcloudNetworksPostUnauthorized() *PcloudNetworksPostUnauthorized { + return &PcloudNetworksPostUnauthorized{} +} + +/* +PcloudNetworksPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks post unauthorized response has a 2xx status code +func (o *PcloudNetworksPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks post unauthorized response has a 3xx status code +func (o *PcloudNetworksPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post unauthorized response has a 4xx status code +func (o *PcloudNetworksPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks post unauthorized response has a 5xx status code +func (o *PcloudNetworksPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks post unauthorized response a status code equal to that given +func (o *PcloudNetworksPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks post unauthorized response +func (o *PcloudNetworksPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostForbidden creates a PcloudNetworksPostForbidden with default headers values +func NewPcloudNetworksPostForbidden() *PcloudNetworksPostForbidden { + return &PcloudNetworksPostForbidden{} +} + +/* +PcloudNetworksPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks post forbidden response has a 2xx status code +func (o *PcloudNetworksPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks post forbidden response has a 3xx status code +func (o *PcloudNetworksPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post forbidden response has a 4xx status code +func (o *PcloudNetworksPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks post forbidden response has a 5xx status code +func (o *PcloudNetworksPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks post forbidden response a status code equal to that given +func (o *PcloudNetworksPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks post forbidden response +func (o *PcloudNetworksPostForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostNotFound creates a PcloudNetworksPostNotFound with default headers values +func NewPcloudNetworksPostNotFound() *PcloudNetworksPostNotFound { + return &PcloudNetworksPostNotFound{} +} + +/* +PcloudNetworksPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks post not found response has a 2xx status code +func (o *PcloudNetworksPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks post not found response has a 3xx status code +func (o *PcloudNetworksPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post not found response has a 4xx status code +func (o *PcloudNetworksPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks post not found response has a 5xx status code +func (o *PcloudNetworksPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks post not found response a status code equal to that given +func (o *PcloudNetworksPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks post not found response +func (o *PcloudNetworksPostNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostConflict creates a PcloudNetworksPostConflict with default headers values +func NewPcloudNetworksPostConflict() *PcloudNetworksPostConflict { + return &PcloudNetworksPostConflict{} +} + +/* +PcloudNetworksPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudNetworksPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks post conflict response has a 2xx status code +func (o *PcloudNetworksPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks post conflict response has a 3xx status code +func (o *PcloudNetworksPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post conflict response has a 4xx status code +func (o *PcloudNetworksPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks post conflict response has a 5xx status code +func (o *PcloudNetworksPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks post conflict response a status code equal to that given +func (o *PcloudNetworksPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud networks post conflict response +func (o *PcloudNetworksPostConflict) Code() int { + return 409 +} + +func (o *PcloudNetworksPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostConflict %s", 409, payload) +} + +func (o *PcloudNetworksPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostConflict %s", 409, payload) +} + +func (o *PcloudNetworksPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostUnprocessableEntity creates a PcloudNetworksPostUnprocessableEntity with default headers values +func NewPcloudNetworksPostUnprocessableEntity() *PcloudNetworksPostUnprocessableEntity { + return &PcloudNetworksPostUnprocessableEntity{} +} + +/* +PcloudNetworksPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudNetworksPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks post unprocessable entity response has a 2xx status code +func (o *PcloudNetworksPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks post unprocessable entity response has a 3xx status code +func (o *PcloudNetworksPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post unprocessable entity response has a 4xx status code +func (o *PcloudNetworksPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks post unprocessable entity response has a 5xx status code +func (o *PcloudNetworksPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks post unprocessable entity response a status code equal to that given +func (o *PcloudNetworksPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud networks post unprocessable entity response +func (o *PcloudNetworksPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudNetworksPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudNetworksPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudNetworksPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostInternalServerError creates a PcloudNetworksPostInternalServerError with default headers values +func NewPcloudNetworksPostInternalServerError() *PcloudNetworksPostInternalServerError { + return &PcloudNetworksPostInternalServerError{} +} + +/* +PcloudNetworksPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks post internal server error response has a 2xx status code +func (o *PcloudNetworksPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks post internal server error response has a 3xx status code +func (o *PcloudNetworksPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post internal server error response has a 4xx status code +func (o *PcloudNetworksPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks post internal server error response has a 5xx status code +func (o *PcloudNetworksPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks post internal server error response a status code equal to that given +func (o *PcloudNetworksPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks post internal server error response +func (o *PcloudNetworksPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPostStatus550 creates a PcloudNetworksPostStatus550 with default headers values +func NewPcloudNetworksPostStatus550() *PcloudNetworksPostStatus550 { + return &PcloudNetworksPostStatus550{} +} + +/* +PcloudNetworksPostStatus550 describes a response with status code 550, with default header values. + +Workspace Status Error +*/ +type PcloudNetworksPostStatus550 struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks post status550 response has a 2xx status code +func (o *PcloudNetworksPostStatus550) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks post status550 response has a 3xx status code +func (o *PcloudNetworksPostStatus550) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks post status550 response has a 4xx status code +func (o *PcloudNetworksPostStatus550) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks post status550 response has a 5xx status code +func (o *PcloudNetworksPostStatus550) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks post status550 response a status code equal to that given +func (o *PcloudNetworksPostStatus550) IsCode(code int) bool { + return code == 550 +} + +// Code gets the status code for the pcloud networks post status550 response +func (o *PcloudNetworksPostStatus550) Code() int { + return 550 +} + +func (o *PcloudNetworksPostStatus550) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostStatus550 %s", 550, payload) +} + +func (o *PcloudNetworksPostStatus550) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/networks][%d] pcloudNetworksPostStatus550 %s", 550, payload) +} + +func (o *PcloudNetworksPostStatus550) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPostStatus550) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_put_parameters.go new file mode 100644 index 000000000..7bf87fc4e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudNetworksPutParams creates a new PcloudNetworksPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudNetworksPutParams() *PcloudNetworksPutParams { + return &PcloudNetworksPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudNetworksPutParamsWithTimeout creates a new PcloudNetworksPutParams object +// with the ability to set a timeout on a request. +func NewPcloudNetworksPutParamsWithTimeout(timeout time.Duration) *PcloudNetworksPutParams { + return &PcloudNetworksPutParams{ + timeout: timeout, + } +} + +// NewPcloudNetworksPutParamsWithContext creates a new PcloudNetworksPutParams object +// with the ability to set a context for a request. +func NewPcloudNetworksPutParamsWithContext(ctx context.Context) *PcloudNetworksPutParams { + return &PcloudNetworksPutParams{ + Context: ctx, + } +} + +// NewPcloudNetworksPutParamsWithHTTPClient creates a new PcloudNetworksPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudNetworksPutParamsWithHTTPClient(client *http.Client) *PcloudNetworksPutParams { + return &PcloudNetworksPutParams{ + HTTPClient: client, + } +} + +/* +PcloudNetworksPutParams contains all the parameters to send to the API endpoint + + for the pcloud networks put operation. + + Typically these are written to a http.Request. +*/ +type PcloudNetworksPutParams struct { + + /* Body. + + Parameters to update a Network + */ + Body *models.NetworkUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud networks put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPutParams) WithDefaults() *PcloudNetworksPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud networks put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudNetworksPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud networks put params +func (o *PcloudNetworksPutParams) WithTimeout(timeout time.Duration) *PcloudNetworksPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud networks put params +func (o *PcloudNetworksPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud networks put params +func (o *PcloudNetworksPutParams) WithContext(ctx context.Context) *PcloudNetworksPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud networks put params +func (o *PcloudNetworksPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud networks put params +func (o *PcloudNetworksPutParams) WithHTTPClient(client *http.Client) *PcloudNetworksPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud networks put params +func (o *PcloudNetworksPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud networks put params +func (o *PcloudNetworksPutParams) WithBody(body *models.NetworkUpdate) *PcloudNetworksPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud networks put params +func (o *PcloudNetworksPutParams) SetBody(body *models.NetworkUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud networks put params +func (o *PcloudNetworksPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudNetworksPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud networks put params +func (o *PcloudNetworksPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud networks put params +func (o *PcloudNetworksPutParams) WithNetworkID(networkID string) *PcloudNetworksPutParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud networks put params +func (o *PcloudNetworksPutParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudNetworksPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_put_responses.go new file mode 100644 index 000000000..bae9405a2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks/pcloud_networks_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_networks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudNetworksPutReader is a Reader for the PcloudNetworksPut structure. +type PcloudNetworksPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudNetworksPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudNetworksPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudNetworksPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudNetworksPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudNetworksPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudNetworksPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudNetworksPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudNetworksPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}] pcloud.networks.put", response, response.Code()) + } +} + +// NewPcloudNetworksPutOK creates a PcloudNetworksPutOK with default headers values +func NewPcloudNetworksPutOK() *PcloudNetworksPutOK { + return &PcloudNetworksPutOK{} +} + +/* +PcloudNetworksPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudNetworksPutOK struct { + Payload *models.Network +} + +// IsSuccess returns true when this pcloud networks put o k response has a 2xx status code +func (o *PcloudNetworksPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud networks put o k response has a 3xx status code +func (o *PcloudNetworksPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks put o k response has a 4xx status code +func (o *PcloudNetworksPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks put o k response has a 5xx status code +func (o *PcloudNetworksPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks put o k response a status code equal to that given +func (o *PcloudNetworksPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud networks put o k response +func (o *PcloudNetworksPutOK) Code() int { + return 200 +} + +func (o *PcloudNetworksPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutOK %s", 200, payload) +} + +func (o *PcloudNetworksPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutOK %s", 200, payload) +} + +func (o *PcloudNetworksPutOK) GetPayload() *models.Network { + return o.Payload +} + +func (o *PcloudNetworksPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Network) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPutBadRequest creates a PcloudNetworksPutBadRequest with default headers values +func NewPcloudNetworksPutBadRequest() *PcloudNetworksPutBadRequest { + return &PcloudNetworksPutBadRequest{} +} + +/* +PcloudNetworksPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudNetworksPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks put bad request response has a 2xx status code +func (o *PcloudNetworksPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks put bad request response has a 3xx status code +func (o *PcloudNetworksPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks put bad request response has a 4xx status code +func (o *PcloudNetworksPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks put bad request response has a 5xx status code +func (o *PcloudNetworksPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks put bad request response a status code equal to that given +func (o *PcloudNetworksPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud networks put bad request response +func (o *PcloudNetworksPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudNetworksPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutBadRequest %s", 400, payload) +} + +func (o *PcloudNetworksPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPutUnauthorized creates a PcloudNetworksPutUnauthorized with default headers values +func NewPcloudNetworksPutUnauthorized() *PcloudNetworksPutUnauthorized { + return &PcloudNetworksPutUnauthorized{} +} + +/* +PcloudNetworksPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudNetworksPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks put unauthorized response has a 2xx status code +func (o *PcloudNetworksPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks put unauthorized response has a 3xx status code +func (o *PcloudNetworksPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks put unauthorized response has a 4xx status code +func (o *PcloudNetworksPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks put unauthorized response has a 5xx status code +func (o *PcloudNetworksPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks put unauthorized response a status code equal to that given +func (o *PcloudNetworksPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud networks put unauthorized response +func (o *PcloudNetworksPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudNetworksPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutUnauthorized %s", 401, payload) +} + +func (o *PcloudNetworksPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPutForbidden creates a PcloudNetworksPutForbidden with default headers values +func NewPcloudNetworksPutForbidden() *PcloudNetworksPutForbidden { + return &PcloudNetworksPutForbidden{} +} + +/* +PcloudNetworksPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudNetworksPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks put forbidden response has a 2xx status code +func (o *PcloudNetworksPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks put forbidden response has a 3xx status code +func (o *PcloudNetworksPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks put forbidden response has a 4xx status code +func (o *PcloudNetworksPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks put forbidden response has a 5xx status code +func (o *PcloudNetworksPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks put forbidden response a status code equal to that given +func (o *PcloudNetworksPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud networks put forbidden response +func (o *PcloudNetworksPutForbidden) Code() int { + return 403 +} + +func (o *PcloudNetworksPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutForbidden %s", 403, payload) +} + +func (o *PcloudNetworksPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPutNotFound creates a PcloudNetworksPutNotFound with default headers values +func NewPcloudNetworksPutNotFound() *PcloudNetworksPutNotFound { + return &PcloudNetworksPutNotFound{} +} + +/* +PcloudNetworksPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudNetworksPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks put not found response has a 2xx status code +func (o *PcloudNetworksPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks put not found response has a 3xx status code +func (o *PcloudNetworksPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks put not found response has a 4xx status code +func (o *PcloudNetworksPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks put not found response has a 5xx status code +func (o *PcloudNetworksPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks put not found response a status code equal to that given +func (o *PcloudNetworksPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud networks put not found response +func (o *PcloudNetworksPutNotFound) Code() int { + return 404 +} + +func (o *PcloudNetworksPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutNotFound %s", 404, payload) +} + +func (o *PcloudNetworksPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPutUnprocessableEntity creates a PcloudNetworksPutUnprocessableEntity with default headers values +func NewPcloudNetworksPutUnprocessableEntity() *PcloudNetworksPutUnprocessableEntity { + return &PcloudNetworksPutUnprocessableEntity{} +} + +/* +PcloudNetworksPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudNetworksPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks put unprocessable entity response has a 2xx status code +func (o *PcloudNetworksPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks put unprocessable entity response has a 3xx status code +func (o *PcloudNetworksPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks put unprocessable entity response has a 4xx status code +func (o *PcloudNetworksPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud networks put unprocessable entity response has a 5xx status code +func (o *PcloudNetworksPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud networks put unprocessable entity response a status code equal to that given +func (o *PcloudNetworksPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud networks put unprocessable entity response +func (o *PcloudNetworksPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudNetworksPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudNetworksPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudNetworksPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudNetworksPutInternalServerError creates a PcloudNetworksPutInternalServerError with default headers values +func NewPcloudNetworksPutInternalServerError() *PcloudNetworksPutInternalServerError { + return &PcloudNetworksPutInternalServerError{} +} + +/* +PcloudNetworksPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudNetworksPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud networks put internal server error response has a 2xx status code +func (o *PcloudNetworksPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud networks put internal server error response has a 3xx status code +func (o *PcloudNetworksPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud networks put internal server error response has a 4xx status code +func (o *PcloudNetworksPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud networks put internal server error response has a 5xx status code +func (o *PcloudNetworksPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud networks put internal server error response a status code equal to that given +func (o *PcloudNetworksPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud networks put internal server error response +func (o *PcloudNetworksPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudNetworksPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}][%d] pcloudNetworksPutInternalServerError %s", 500, payload) +} + +func (o *PcloudNetworksPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudNetworksPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/p_cloudp_vm_instances_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/p_cloudp_vm_instances_client.go new file mode 100644 index 000000000..11dbd38e4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/p_cloudp_vm_instances_client.go @@ -0,0 +1,1085 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud p vm instances API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud p vm instances API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud p vm instances API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud p vm instances API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudPvminstancesActionPost(params *PcloudPvminstancesActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesActionPostOK, error) + + PcloudPvminstancesCapturePost(params *PcloudPvminstancesCapturePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesCapturePostOK, *PcloudPvminstancesCapturePostAccepted, error) + + PcloudPvminstancesClonePost(params *PcloudPvminstancesClonePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesClonePostAccepted, error) + + PcloudPvminstancesConsoleGet(params *PcloudPvminstancesConsoleGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesConsoleGetOK, error) + + PcloudPvminstancesConsolePost(params *PcloudPvminstancesConsolePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesConsolePostCreated, error) + + PcloudPvminstancesConsolePut(params *PcloudPvminstancesConsolePutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesConsolePutOK, error) + + PcloudPvminstancesDelete(params *PcloudPvminstancesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesDeleteOK, error) + + PcloudPvminstancesGet(params *PcloudPvminstancesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesGetOK, error) + + PcloudPvminstancesGetall(params *PcloudPvminstancesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesGetallOK, error) + + PcloudPvminstancesNetworksDelete(params *PcloudPvminstancesNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesNetworksDeleteOK, error) + + PcloudPvminstancesNetworksGet(params *PcloudPvminstancesNetworksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesNetworksGetOK, error) + + PcloudPvminstancesNetworksGetall(params *PcloudPvminstancesNetworksGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesNetworksGetallOK, error) + + PcloudPvminstancesNetworksPost(params *PcloudPvminstancesNetworksPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesNetworksPostCreated, error) + + PcloudPvminstancesOperationsPost(params *PcloudPvminstancesOperationsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesOperationsPostOK, error) + + PcloudPvminstancesPost(params *PcloudPvminstancesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesPostOK, *PcloudPvminstancesPostCreated, *PcloudPvminstancesPostAccepted, error) + + PcloudPvminstancesPut(params *PcloudPvminstancesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesPutAccepted, error) + + PcloudPvminstancesSnapshotsGetall(params *PcloudPvminstancesSnapshotsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesSnapshotsGetallOK, error) + + PcloudPvminstancesSnapshotsPost(params *PcloudPvminstancesSnapshotsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesSnapshotsPostAccepted, error) + + PcloudPvminstancesSnapshotsRestorePost(params *PcloudPvminstancesSnapshotsRestorePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesSnapshotsRestorePostAccepted, error) + + PcloudV2PvminstancesCaptureGet(params *PcloudV2PvminstancesCaptureGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesCaptureGetOK, error) + + PcloudV2PvminstancesCapturePost(params *PcloudV2PvminstancesCapturePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesCapturePostAccepted, error) + + PcloudV2PvminstancesGetall(params *PcloudV2PvminstancesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudPvminstancesActionPost performs an action on a p VM instance + +Corresponding actions are 'start', 'stop', 'reboot', 'immediate-shutdown', 'reset' +*/ +func (a *Client) PcloudPvminstancesActionPost(params *PcloudPvminstancesActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesActionPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesActionPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.action.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesActionPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesActionPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.action.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudPvminstancesCapturePost captures a p VM instance and create a deployable image + + This API is deprecated for /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture. + +>*Note*: Support for this API is available till Oct 2022. +*/ +func (a *Client) PcloudPvminstancesCapturePost(params *PcloudPvminstancesCapturePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesCapturePostOK, *PcloudPvminstancesCapturePostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesCapturePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.capture.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesCapturePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudPvminstancesCapturePostOK: + return value, nil, nil + case *PcloudPvminstancesCapturePostAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_p_vm_instances: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesClonePost clones a p VM instance +*/ +func (a *Client) PcloudPvminstancesClonePost(params *PcloudPvminstancesClonePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesClonePostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesClonePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.clone.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesClonePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesClonePostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.clone.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesConsoleGet lists all console languages +*/ +func (a *Client) PcloudPvminstancesConsoleGet(params *PcloudPvminstancesConsoleGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesConsoleGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesConsoleGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.console.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesConsoleGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesConsoleGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.console.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesConsolePost generates the no v n c console URL +*/ +func (a *Client) PcloudPvminstancesConsolePost(params *PcloudPvminstancesConsolePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesConsolePostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesConsolePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.console.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesConsolePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesConsolePostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.console.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesConsolePut updates p VM instance console language code +*/ +func (a *Client) PcloudPvminstancesConsolePut(params *PcloudPvminstancesConsolePutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesConsolePutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesConsolePutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.console.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesConsolePutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesConsolePutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.console.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesDelete deletes a p cloud p VM instance +*/ +func (a *Client) PcloudPvminstancesDelete(params *PcloudPvminstancesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesGet gets a p VM instance s current state or information +*/ +func (a *Client) PcloudPvminstancesGet(params *PcloudPvminstancesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesGetall gets all the pvm instances for this cloud instance +*/ +func (a *Client) PcloudPvminstancesGetall(params *PcloudPvminstancesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesNetworksDelete removes all address of network from a p VM instance +*/ +func (a *Client) PcloudPvminstancesNetworksDelete(params *PcloudPvminstancesNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesNetworksDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesNetworksDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.networks.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesNetworksDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesNetworksDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.networks.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesNetworksGet gets a p VM instance s network information +*/ +func (a *Client) PcloudPvminstancesNetworksGet(params *PcloudPvminstancesNetworksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesNetworksGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesNetworksGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.networks.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesNetworksGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesNetworksGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.networks.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesNetworksGetall gets all networks for this p VM instance +*/ +func (a *Client) PcloudPvminstancesNetworksGetall(params *PcloudPvminstancesNetworksGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesNetworksGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesNetworksGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.networks.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesNetworksGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesNetworksGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.networks.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesNetworksPost performs network addition +*/ +func (a *Client) PcloudPvminstancesNetworksPost(params *PcloudPvminstancesNetworksPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesNetworksPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesNetworksPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.networks.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesNetworksPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesNetworksPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.networks.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesOperationsPost performs an operation on a p VM instance +*/ +func (a *Client) PcloudPvminstancesOperationsPost(params *PcloudPvminstancesOperationsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesOperationsPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesOperationsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.operations.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesOperationsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesOperationsPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.operations.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesPost creates a new power VM instance +*/ +func (a *Client) PcloudPvminstancesPost(params *PcloudPvminstancesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesPostOK, *PcloudPvminstancesPostCreated, *PcloudPvminstancesPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudPvminstancesPostOK: + return value, nil, nil, nil + case *PcloudPvminstancesPostCreated: + return nil, value, nil, nil + case *PcloudPvminstancesPostAccepted: + return nil, nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_p_vm_instances: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesPut updates a p cloud p VM instance +*/ +func (a *Client) PcloudPvminstancesPut(params *PcloudPvminstancesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesPutAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesPutAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesSnapshotsGetall gets all snapshots for this p VM instance +*/ +func (a *Client) PcloudPvminstancesSnapshotsGetall(params *PcloudPvminstancesSnapshotsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesSnapshotsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesSnapshotsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.snapshots.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesSnapshotsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesSnapshotsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.snapshots.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesSnapshotsPost creates a p VM instance snapshot +*/ +func (a *Client) PcloudPvminstancesSnapshotsPost(params *PcloudPvminstancesSnapshotsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesSnapshotsPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesSnapshotsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.snapshots.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesSnapshotsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesSnapshotsPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.snapshots.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesSnapshotsRestorePost restores a p VM instance snapshot +*/ +func (a *Client) PcloudPvminstancesSnapshotsRestorePost(params *PcloudPvminstancesSnapshotsRestorePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesSnapshotsRestorePostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesSnapshotsRestorePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.snapshots.restore.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesSnapshotsRestorePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesSnapshotsRestorePostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.snapshots.restore.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2PvminstancesCaptureGet gets detail of last capture job +*/ +func (a *Client) PcloudV2PvminstancesCaptureGet(params *PcloudV2PvminstancesCaptureGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesCaptureGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2PvminstancesCaptureGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.pvminstances.capture.get", + Method: "GET", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2PvminstancesCaptureGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2PvminstancesCaptureGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.pvminstances.capture.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2PvminstancesCapturePost adds a capture pvm instance to the jobs queue +*/ +func (a *Client) PcloudV2PvminstancesCapturePost(params *PcloudV2PvminstancesCapturePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesCapturePostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2PvminstancesCapturePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.pvminstances.capture.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2PvminstancesCapturePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2PvminstancesCapturePostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.pvminstances.capture.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2PvminstancesGetall gets all the pvm instances for this cloud instance +*/ +func (a *Client) PcloudV2PvminstancesGetall(params *PcloudV2PvminstancesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2PvminstancesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.pvminstances.getall", + Method: "GET", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2PvminstancesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2PvminstancesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.pvminstances.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_action_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_action_post_parameters.go new file mode 100644 index 000000000..9aed1ab01 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_action_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesActionPostParams creates a new PcloudPvminstancesActionPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesActionPostParams() *PcloudPvminstancesActionPostParams { + return &PcloudPvminstancesActionPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesActionPostParamsWithTimeout creates a new PcloudPvminstancesActionPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesActionPostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesActionPostParams { + return &PcloudPvminstancesActionPostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesActionPostParamsWithContext creates a new PcloudPvminstancesActionPostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesActionPostParamsWithContext(ctx context.Context) *PcloudPvminstancesActionPostParams { + return &PcloudPvminstancesActionPostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesActionPostParamsWithHTTPClient creates a new PcloudPvminstancesActionPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesActionPostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesActionPostParams { + return &PcloudPvminstancesActionPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesActionPostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances action post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesActionPostParams struct { + + /* Body. + + Parameters for the desired action + */ + Body *models.PVMInstanceAction + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesActionPostParams) WithDefaults() *PcloudPvminstancesActionPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesActionPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesActionPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) WithContext(ctx context.Context) *PcloudPvminstancesActionPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesActionPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) WithBody(body *models.PVMInstanceAction) *PcloudPvminstancesActionPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) SetBody(body *models.PVMInstanceAction) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesActionPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesActionPostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances action post params +func (o *PcloudPvminstancesActionPostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesActionPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_action_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_action_post_responses.go new file mode 100644 index 000000000..64bd276f4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_action_post_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesActionPostReader is a Reader for the PcloudPvminstancesActionPost structure. +type PcloudPvminstancesActionPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesActionPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesActionPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesActionPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesActionPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesActionPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesActionPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesActionPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesActionPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action] pcloud.pvminstances.action.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesActionPostOK creates a PcloudPvminstancesActionPostOK with default headers values +func NewPcloudPvminstancesActionPostOK() *PcloudPvminstancesActionPostOK { + return &PcloudPvminstancesActionPostOK{} +} + +/* +PcloudPvminstancesActionPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesActionPostOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances action post o k response has a 2xx status code +func (o *PcloudPvminstancesActionPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances action post o k response has a 3xx status code +func (o *PcloudPvminstancesActionPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances action post o k response has a 4xx status code +func (o *PcloudPvminstancesActionPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances action post o k response has a 5xx status code +func (o *PcloudPvminstancesActionPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances action post o k response a status code equal to that given +func (o *PcloudPvminstancesActionPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances action post o k response +func (o *PcloudPvminstancesActionPostOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesActionPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesActionPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesActionPostOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesActionPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesActionPostBadRequest creates a PcloudPvminstancesActionPostBadRequest with default headers values +func NewPcloudPvminstancesActionPostBadRequest() *PcloudPvminstancesActionPostBadRequest { + return &PcloudPvminstancesActionPostBadRequest{} +} + +/* +PcloudPvminstancesActionPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesActionPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances action post bad request response has a 2xx status code +func (o *PcloudPvminstancesActionPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances action post bad request response has a 3xx status code +func (o *PcloudPvminstancesActionPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances action post bad request response has a 4xx status code +func (o *PcloudPvminstancesActionPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances action post bad request response has a 5xx status code +func (o *PcloudPvminstancesActionPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances action post bad request response a status code equal to that given +func (o *PcloudPvminstancesActionPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances action post bad request response +func (o *PcloudPvminstancesActionPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesActionPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesActionPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesActionPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesActionPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesActionPostUnauthorized creates a PcloudPvminstancesActionPostUnauthorized with default headers values +func NewPcloudPvminstancesActionPostUnauthorized() *PcloudPvminstancesActionPostUnauthorized { + return &PcloudPvminstancesActionPostUnauthorized{} +} + +/* +PcloudPvminstancesActionPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesActionPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances action post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesActionPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances action post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesActionPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances action post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesActionPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances action post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesActionPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances action post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesActionPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances action post unauthorized response +func (o *PcloudPvminstancesActionPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesActionPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesActionPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesActionPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesActionPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesActionPostForbidden creates a PcloudPvminstancesActionPostForbidden with default headers values +func NewPcloudPvminstancesActionPostForbidden() *PcloudPvminstancesActionPostForbidden { + return &PcloudPvminstancesActionPostForbidden{} +} + +/* +PcloudPvminstancesActionPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesActionPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances action post forbidden response has a 2xx status code +func (o *PcloudPvminstancesActionPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances action post forbidden response has a 3xx status code +func (o *PcloudPvminstancesActionPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances action post forbidden response has a 4xx status code +func (o *PcloudPvminstancesActionPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances action post forbidden response has a 5xx status code +func (o *PcloudPvminstancesActionPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances action post forbidden response a status code equal to that given +func (o *PcloudPvminstancesActionPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances action post forbidden response +func (o *PcloudPvminstancesActionPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesActionPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesActionPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesActionPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesActionPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesActionPostNotFound creates a PcloudPvminstancesActionPostNotFound with default headers values +func NewPcloudPvminstancesActionPostNotFound() *PcloudPvminstancesActionPostNotFound { + return &PcloudPvminstancesActionPostNotFound{} +} + +/* +PcloudPvminstancesActionPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesActionPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances action post not found response has a 2xx status code +func (o *PcloudPvminstancesActionPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances action post not found response has a 3xx status code +func (o *PcloudPvminstancesActionPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances action post not found response has a 4xx status code +func (o *PcloudPvminstancesActionPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances action post not found response has a 5xx status code +func (o *PcloudPvminstancesActionPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances action post not found response a status code equal to that given +func (o *PcloudPvminstancesActionPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances action post not found response +func (o *PcloudPvminstancesActionPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesActionPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesActionPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesActionPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesActionPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesActionPostConflict creates a PcloudPvminstancesActionPostConflict with default headers values +func NewPcloudPvminstancesActionPostConflict() *PcloudPvminstancesActionPostConflict { + return &PcloudPvminstancesActionPostConflict{} +} + +/* +PcloudPvminstancesActionPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesActionPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances action post conflict response has a 2xx status code +func (o *PcloudPvminstancesActionPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances action post conflict response has a 3xx status code +func (o *PcloudPvminstancesActionPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances action post conflict response has a 4xx status code +func (o *PcloudPvminstancesActionPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances action post conflict response has a 5xx status code +func (o *PcloudPvminstancesActionPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances action post conflict response a status code equal to that given +func (o *PcloudPvminstancesActionPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances action post conflict response +func (o *PcloudPvminstancesActionPostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesActionPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesActionPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesActionPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesActionPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesActionPostInternalServerError creates a PcloudPvminstancesActionPostInternalServerError with default headers values +func NewPcloudPvminstancesActionPostInternalServerError() *PcloudPvminstancesActionPostInternalServerError { + return &PcloudPvminstancesActionPostInternalServerError{} +} + +/* +PcloudPvminstancesActionPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesActionPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances action post internal server error response has a 2xx status code +func (o *PcloudPvminstancesActionPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances action post internal server error response has a 3xx status code +func (o *PcloudPvminstancesActionPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances action post internal server error response has a 4xx status code +func (o *PcloudPvminstancesActionPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances action post internal server error response has a 5xx status code +func (o *PcloudPvminstancesActionPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances action post internal server error response a status code equal to that given +func (o *PcloudPvminstancesActionPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances action post internal server error response +func (o *PcloudPvminstancesActionPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesActionPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesActionPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action][%d] pcloudPvminstancesActionPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesActionPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesActionPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_capture_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_capture_post_parameters.go new file mode 100644 index 000000000..84668e1b9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_capture_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesCapturePostParams creates a new PcloudPvminstancesCapturePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesCapturePostParams() *PcloudPvminstancesCapturePostParams { + return &PcloudPvminstancesCapturePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesCapturePostParamsWithTimeout creates a new PcloudPvminstancesCapturePostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesCapturePostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesCapturePostParams { + return &PcloudPvminstancesCapturePostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesCapturePostParamsWithContext creates a new PcloudPvminstancesCapturePostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesCapturePostParamsWithContext(ctx context.Context) *PcloudPvminstancesCapturePostParams { + return &PcloudPvminstancesCapturePostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesCapturePostParamsWithHTTPClient creates a new PcloudPvminstancesCapturePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesCapturePostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesCapturePostParams { + return &PcloudPvminstancesCapturePostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesCapturePostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances capture post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesCapturePostParams struct { + + /* Body. + + Parameters for the capture PVMInstance + */ + Body *models.PVMInstanceCapture + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances capture post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesCapturePostParams) WithDefaults() *PcloudPvminstancesCapturePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances capture post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesCapturePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesCapturePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) WithContext(ctx context.Context) *PcloudPvminstancesCapturePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesCapturePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) WithBody(body *models.PVMInstanceCapture) *PcloudPvminstancesCapturePostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) SetBody(body *models.PVMInstanceCapture) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesCapturePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesCapturePostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances capture post params +func (o *PcloudPvminstancesCapturePostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesCapturePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_capture_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_capture_post_responses.go new file mode 100644 index 000000000..b5029ab08 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_capture_post_responses.go @@ -0,0 +1,711 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesCapturePostReader is a Reader for the PcloudPvminstancesCapturePost structure. +type PcloudPvminstancesCapturePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesCapturePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesCapturePostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudPvminstancesCapturePostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesCapturePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesCapturePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesCapturePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesCapturePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesCapturePostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesCapturePostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesCapturePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture] pcloud.pvminstances.capture.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesCapturePostOK creates a PcloudPvminstancesCapturePostOK with default headers values +func NewPcloudPvminstancesCapturePostOK() *PcloudPvminstancesCapturePostOK { + return &PcloudPvminstancesCapturePostOK{} +} + +/* +PcloudPvminstancesCapturePostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesCapturePostOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances capture post o k response has a 2xx status code +func (o *PcloudPvminstancesCapturePostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances capture post o k response has a 3xx status code +func (o *PcloudPvminstancesCapturePostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post o k response has a 4xx status code +func (o *PcloudPvminstancesCapturePostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances capture post o k response has a 5xx status code +func (o *PcloudPvminstancesCapturePostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances capture post o k response a status code equal to that given +func (o *PcloudPvminstancesCapturePostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances capture post o k response +func (o *PcloudPvminstancesCapturePostOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesCapturePostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesCapturePostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesCapturePostOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesCapturePostAccepted creates a PcloudPvminstancesCapturePostAccepted with default headers values +func NewPcloudPvminstancesCapturePostAccepted() *PcloudPvminstancesCapturePostAccepted { + return &PcloudPvminstancesCapturePostAccepted{} +} + +/* +PcloudPvminstancesCapturePostAccepted describes a response with status code 202, with default header values. + +Accepted, upload to cloud storage in progress +*/ +type PcloudPvminstancesCapturePostAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances capture post accepted response has a 2xx status code +func (o *PcloudPvminstancesCapturePostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances capture post accepted response has a 3xx status code +func (o *PcloudPvminstancesCapturePostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post accepted response has a 4xx status code +func (o *PcloudPvminstancesCapturePostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances capture post accepted response has a 5xx status code +func (o *PcloudPvminstancesCapturePostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances capture post accepted response a status code equal to that given +func (o *PcloudPvminstancesCapturePostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances capture post accepted response +func (o *PcloudPvminstancesCapturePostAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesCapturePostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesCapturePostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesCapturePostAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesCapturePostBadRequest creates a PcloudPvminstancesCapturePostBadRequest with default headers values +func NewPcloudPvminstancesCapturePostBadRequest() *PcloudPvminstancesCapturePostBadRequest { + return &PcloudPvminstancesCapturePostBadRequest{} +} + +/* +PcloudPvminstancesCapturePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesCapturePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances capture post bad request response has a 2xx status code +func (o *PcloudPvminstancesCapturePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances capture post bad request response has a 3xx status code +func (o *PcloudPvminstancesCapturePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post bad request response has a 4xx status code +func (o *PcloudPvminstancesCapturePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances capture post bad request response has a 5xx status code +func (o *PcloudPvminstancesCapturePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances capture post bad request response a status code equal to that given +func (o *PcloudPvminstancesCapturePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances capture post bad request response +func (o *PcloudPvminstancesCapturePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesCapturePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesCapturePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesCapturePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesCapturePostUnauthorized creates a PcloudPvminstancesCapturePostUnauthorized with default headers values +func NewPcloudPvminstancesCapturePostUnauthorized() *PcloudPvminstancesCapturePostUnauthorized { + return &PcloudPvminstancesCapturePostUnauthorized{} +} + +/* +PcloudPvminstancesCapturePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesCapturePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances capture post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesCapturePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances capture post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesCapturePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesCapturePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances capture post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesCapturePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances capture post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesCapturePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances capture post unauthorized response +func (o *PcloudPvminstancesCapturePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesCapturePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesCapturePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesCapturePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesCapturePostForbidden creates a PcloudPvminstancesCapturePostForbidden with default headers values +func NewPcloudPvminstancesCapturePostForbidden() *PcloudPvminstancesCapturePostForbidden { + return &PcloudPvminstancesCapturePostForbidden{} +} + +/* +PcloudPvminstancesCapturePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesCapturePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances capture post forbidden response has a 2xx status code +func (o *PcloudPvminstancesCapturePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances capture post forbidden response has a 3xx status code +func (o *PcloudPvminstancesCapturePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post forbidden response has a 4xx status code +func (o *PcloudPvminstancesCapturePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances capture post forbidden response has a 5xx status code +func (o *PcloudPvminstancesCapturePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances capture post forbidden response a status code equal to that given +func (o *PcloudPvminstancesCapturePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances capture post forbidden response +func (o *PcloudPvminstancesCapturePostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesCapturePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesCapturePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesCapturePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesCapturePostNotFound creates a PcloudPvminstancesCapturePostNotFound with default headers values +func NewPcloudPvminstancesCapturePostNotFound() *PcloudPvminstancesCapturePostNotFound { + return &PcloudPvminstancesCapturePostNotFound{} +} + +/* +PcloudPvminstancesCapturePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesCapturePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances capture post not found response has a 2xx status code +func (o *PcloudPvminstancesCapturePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances capture post not found response has a 3xx status code +func (o *PcloudPvminstancesCapturePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post not found response has a 4xx status code +func (o *PcloudPvminstancesCapturePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances capture post not found response has a 5xx status code +func (o *PcloudPvminstancesCapturePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances capture post not found response a status code equal to that given +func (o *PcloudPvminstancesCapturePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances capture post not found response +func (o *PcloudPvminstancesCapturePostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesCapturePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesCapturePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesCapturePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesCapturePostConflict creates a PcloudPvminstancesCapturePostConflict with default headers values +func NewPcloudPvminstancesCapturePostConflict() *PcloudPvminstancesCapturePostConflict { + return &PcloudPvminstancesCapturePostConflict{} +} + +/* +PcloudPvminstancesCapturePostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesCapturePostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances capture post conflict response has a 2xx status code +func (o *PcloudPvminstancesCapturePostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances capture post conflict response has a 3xx status code +func (o *PcloudPvminstancesCapturePostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post conflict response has a 4xx status code +func (o *PcloudPvminstancesCapturePostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances capture post conflict response has a 5xx status code +func (o *PcloudPvminstancesCapturePostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances capture post conflict response a status code equal to that given +func (o *PcloudPvminstancesCapturePostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances capture post conflict response +func (o *PcloudPvminstancesCapturePostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesCapturePostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesCapturePostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesCapturePostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesCapturePostUnprocessableEntity creates a PcloudPvminstancesCapturePostUnprocessableEntity with default headers values +func NewPcloudPvminstancesCapturePostUnprocessableEntity() *PcloudPvminstancesCapturePostUnprocessableEntity { + return &PcloudPvminstancesCapturePostUnprocessableEntity{} +} + +/* +PcloudPvminstancesCapturePostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesCapturePostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances capture post unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances capture post unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances capture post unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances capture post unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances capture post unprocessable entity response +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesCapturePostInternalServerError creates a PcloudPvminstancesCapturePostInternalServerError with default headers values +func NewPcloudPvminstancesCapturePostInternalServerError() *PcloudPvminstancesCapturePostInternalServerError { + return &PcloudPvminstancesCapturePostInternalServerError{} +} + +/* +PcloudPvminstancesCapturePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesCapturePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances capture post internal server error response has a 2xx status code +func (o *PcloudPvminstancesCapturePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances capture post internal server error response has a 3xx status code +func (o *PcloudPvminstancesCapturePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances capture post internal server error response has a 4xx status code +func (o *PcloudPvminstancesCapturePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances capture post internal server error response has a 5xx status code +func (o *PcloudPvminstancesCapturePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances capture post internal server error response a status code equal to that given +func (o *PcloudPvminstancesCapturePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances capture post internal server error response +func (o *PcloudPvminstancesCapturePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesCapturePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesCapturePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudPvminstancesCapturePostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesCapturePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesCapturePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_clone_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_clone_post_parameters.go new file mode 100644 index 000000000..021f4c399 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_clone_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesClonePostParams creates a new PcloudPvminstancesClonePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesClonePostParams() *PcloudPvminstancesClonePostParams { + return &PcloudPvminstancesClonePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesClonePostParamsWithTimeout creates a new PcloudPvminstancesClonePostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesClonePostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesClonePostParams { + return &PcloudPvminstancesClonePostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesClonePostParamsWithContext creates a new PcloudPvminstancesClonePostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesClonePostParamsWithContext(ctx context.Context) *PcloudPvminstancesClonePostParams { + return &PcloudPvminstancesClonePostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesClonePostParamsWithHTTPClient creates a new PcloudPvminstancesClonePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesClonePostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesClonePostParams { + return &PcloudPvminstancesClonePostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesClonePostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances clone post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesClonePostParams struct { + + /* Body. + + Clone PVM Instance parameters + */ + Body *models.PVMInstanceClone + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances clone post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesClonePostParams) WithDefaults() *PcloudPvminstancesClonePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances clone post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesClonePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesClonePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) WithContext(ctx context.Context) *PcloudPvminstancesClonePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesClonePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) WithBody(body *models.PVMInstanceClone) *PcloudPvminstancesClonePostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) SetBody(body *models.PVMInstanceClone) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesClonePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesClonePostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances clone post params +func (o *PcloudPvminstancesClonePostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesClonePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_clone_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_clone_post_responses.go new file mode 100644 index 000000000..ffd895e4e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_clone_post_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesClonePostReader is a Reader for the PcloudPvminstancesClonePost structure. +type PcloudPvminstancesClonePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesClonePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesClonePostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesClonePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesClonePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesClonePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesClonePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesClonePostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudPvminstancesClonePostGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesClonePostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesClonePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone] pcloud.pvminstances.clone.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesClonePostAccepted creates a PcloudPvminstancesClonePostAccepted with default headers values +func NewPcloudPvminstancesClonePostAccepted() *PcloudPvminstancesClonePostAccepted { + return &PcloudPvminstancesClonePostAccepted{} +} + +/* +PcloudPvminstancesClonePostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesClonePostAccepted struct { + Payload *models.PVMInstance +} + +// IsSuccess returns true when this pcloud pvminstances clone post accepted response has a 2xx status code +func (o *PcloudPvminstancesClonePostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances clone post accepted response has a 3xx status code +func (o *PcloudPvminstancesClonePostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post accepted response has a 4xx status code +func (o *PcloudPvminstancesClonePostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances clone post accepted response has a 5xx status code +func (o *PcloudPvminstancesClonePostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances clone post accepted response a status code equal to that given +func (o *PcloudPvminstancesClonePostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances clone post accepted response +func (o *PcloudPvminstancesClonePostAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesClonePostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesClonePostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesClonePostAccepted) GetPayload() *models.PVMInstance { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstance) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesClonePostBadRequest creates a PcloudPvminstancesClonePostBadRequest with default headers values +func NewPcloudPvminstancesClonePostBadRequest() *PcloudPvminstancesClonePostBadRequest { + return &PcloudPvminstancesClonePostBadRequest{} +} + +/* +PcloudPvminstancesClonePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesClonePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances clone post bad request response has a 2xx status code +func (o *PcloudPvminstancesClonePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances clone post bad request response has a 3xx status code +func (o *PcloudPvminstancesClonePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post bad request response has a 4xx status code +func (o *PcloudPvminstancesClonePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances clone post bad request response has a 5xx status code +func (o *PcloudPvminstancesClonePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances clone post bad request response a status code equal to that given +func (o *PcloudPvminstancesClonePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances clone post bad request response +func (o *PcloudPvminstancesClonePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesClonePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesClonePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesClonePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesClonePostUnauthorized creates a PcloudPvminstancesClonePostUnauthorized with default headers values +func NewPcloudPvminstancesClonePostUnauthorized() *PcloudPvminstancesClonePostUnauthorized { + return &PcloudPvminstancesClonePostUnauthorized{} +} + +/* +PcloudPvminstancesClonePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesClonePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances clone post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesClonePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances clone post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesClonePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesClonePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances clone post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesClonePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances clone post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesClonePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances clone post unauthorized response +func (o *PcloudPvminstancesClonePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesClonePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesClonePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesClonePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesClonePostForbidden creates a PcloudPvminstancesClonePostForbidden with default headers values +func NewPcloudPvminstancesClonePostForbidden() *PcloudPvminstancesClonePostForbidden { + return &PcloudPvminstancesClonePostForbidden{} +} + +/* +PcloudPvminstancesClonePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesClonePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances clone post forbidden response has a 2xx status code +func (o *PcloudPvminstancesClonePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances clone post forbidden response has a 3xx status code +func (o *PcloudPvminstancesClonePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post forbidden response has a 4xx status code +func (o *PcloudPvminstancesClonePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances clone post forbidden response has a 5xx status code +func (o *PcloudPvminstancesClonePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances clone post forbidden response a status code equal to that given +func (o *PcloudPvminstancesClonePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances clone post forbidden response +func (o *PcloudPvminstancesClonePostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesClonePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesClonePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesClonePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesClonePostNotFound creates a PcloudPvminstancesClonePostNotFound with default headers values +func NewPcloudPvminstancesClonePostNotFound() *PcloudPvminstancesClonePostNotFound { + return &PcloudPvminstancesClonePostNotFound{} +} + +/* +PcloudPvminstancesClonePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesClonePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances clone post not found response has a 2xx status code +func (o *PcloudPvminstancesClonePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances clone post not found response has a 3xx status code +func (o *PcloudPvminstancesClonePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post not found response has a 4xx status code +func (o *PcloudPvminstancesClonePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances clone post not found response has a 5xx status code +func (o *PcloudPvminstancesClonePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances clone post not found response a status code equal to that given +func (o *PcloudPvminstancesClonePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances clone post not found response +func (o *PcloudPvminstancesClonePostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesClonePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesClonePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesClonePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesClonePostConflict creates a PcloudPvminstancesClonePostConflict with default headers values +func NewPcloudPvminstancesClonePostConflict() *PcloudPvminstancesClonePostConflict { + return &PcloudPvminstancesClonePostConflict{} +} + +/* +PcloudPvminstancesClonePostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesClonePostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances clone post conflict response has a 2xx status code +func (o *PcloudPvminstancesClonePostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances clone post conflict response has a 3xx status code +func (o *PcloudPvminstancesClonePostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post conflict response has a 4xx status code +func (o *PcloudPvminstancesClonePostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances clone post conflict response has a 5xx status code +func (o *PcloudPvminstancesClonePostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances clone post conflict response a status code equal to that given +func (o *PcloudPvminstancesClonePostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances clone post conflict response +func (o *PcloudPvminstancesClonePostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesClonePostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesClonePostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesClonePostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesClonePostGone creates a PcloudPvminstancesClonePostGone with default headers values +func NewPcloudPvminstancesClonePostGone() *PcloudPvminstancesClonePostGone { + return &PcloudPvminstancesClonePostGone{} +} + +/* +PcloudPvminstancesClonePostGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudPvminstancesClonePostGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances clone post gone response has a 2xx status code +func (o *PcloudPvminstancesClonePostGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances clone post gone response has a 3xx status code +func (o *PcloudPvminstancesClonePostGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post gone response has a 4xx status code +func (o *PcloudPvminstancesClonePostGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances clone post gone response has a 5xx status code +func (o *PcloudPvminstancesClonePostGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances clone post gone response a status code equal to that given +func (o *PcloudPvminstancesClonePostGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud pvminstances clone post gone response +func (o *PcloudPvminstancesClonePostGone) Code() int { + return 410 +} + +func (o *PcloudPvminstancesClonePostGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostGone %s", 410, payload) +} + +func (o *PcloudPvminstancesClonePostGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostGone %s", 410, payload) +} + +func (o *PcloudPvminstancesClonePostGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesClonePostUnprocessableEntity creates a PcloudPvminstancesClonePostUnprocessableEntity with default headers values +func NewPcloudPvminstancesClonePostUnprocessableEntity() *PcloudPvminstancesClonePostUnprocessableEntity { + return &PcloudPvminstancesClonePostUnprocessableEntity{} +} + +/* +PcloudPvminstancesClonePostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesClonePostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances clone post unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesClonePostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances clone post unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesClonePostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesClonePostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances clone post unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesClonePostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances clone post unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesClonePostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances clone post unprocessable entity response +func (o *PcloudPvminstancesClonePostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesClonePostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesClonePostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesClonePostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesClonePostInternalServerError creates a PcloudPvminstancesClonePostInternalServerError with default headers values +func NewPcloudPvminstancesClonePostInternalServerError() *PcloudPvminstancesClonePostInternalServerError { + return &PcloudPvminstancesClonePostInternalServerError{} +} + +/* +PcloudPvminstancesClonePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesClonePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances clone post internal server error response has a 2xx status code +func (o *PcloudPvminstancesClonePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances clone post internal server error response has a 3xx status code +func (o *PcloudPvminstancesClonePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances clone post internal server error response has a 4xx status code +func (o *PcloudPvminstancesClonePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances clone post internal server error response has a 5xx status code +func (o *PcloudPvminstancesClonePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances clone post internal server error response a status code equal to that given +func (o *PcloudPvminstancesClonePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances clone post internal server error response +func (o *PcloudPvminstancesClonePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesClonePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesClonePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/clone][%d] pcloudPvminstancesClonePostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesClonePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesClonePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_get_parameters.go new file mode 100644 index 000000000..a0c8cc639 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesConsoleGetParams creates a new PcloudPvminstancesConsoleGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesConsoleGetParams() *PcloudPvminstancesConsoleGetParams { + return &PcloudPvminstancesConsoleGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesConsoleGetParamsWithTimeout creates a new PcloudPvminstancesConsoleGetParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesConsoleGetParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesConsoleGetParams { + return &PcloudPvminstancesConsoleGetParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesConsoleGetParamsWithContext creates a new PcloudPvminstancesConsoleGetParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesConsoleGetParamsWithContext(ctx context.Context) *PcloudPvminstancesConsoleGetParams { + return &PcloudPvminstancesConsoleGetParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesConsoleGetParamsWithHTTPClient creates a new PcloudPvminstancesConsoleGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesConsoleGetParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesConsoleGetParams { + return &PcloudPvminstancesConsoleGetParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesConsoleGetParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances console get operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesConsoleGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances console get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesConsoleGetParams) WithDefaults() *PcloudPvminstancesConsoleGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances console get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesConsoleGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesConsoleGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) WithContext(ctx context.Context) *PcloudPvminstancesConsoleGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesConsoleGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesConsoleGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesConsoleGetParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances console get params +func (o *PcloudPvminstancesConsoleGetParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesConsoleGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_get_responses.go new file mode 100644 index 000000000..8ca5a2ad6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesConsoleGetReader is a Reader for the PcloudPvminstancesConsoleGet structure. +type PcloudPvminstancesConsoleGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesConsoleGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesConsoleGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesConsoleGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesConsoleGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesConsoleGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesConsoleGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesConsoleGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console] pcloud.pvminstances.console.get", response, response.Code()) + } +} + +// NewPcloudPvminstancesConsoleGetOK creates a PcloudPvminstancesConsoleGetOK with default headers values +func NewPcloudPvminstancesConsoleGetOK() *PcloudPvminstancesConsoleGetOK { + return &PcloudPvminstancesConsoleGetOK{} +} + +/* +PcloudPvminstancesConsoleGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesConsoleGetOK struct { + Payload *models.ConsoleLanguages +} + +// IsSuccess returns true when this pcloud pvminstances console get o k response has a 2xx status code +func (o *PcloudPvminstancesConsoleGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances console get o k response has a 3xx status code +func (o *PcloudPvminstancesConsoleGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console get o k response has a 4xx status code +func (o *PcloudPvminstancesConsoleGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances console get o k response has a 5xx status code +func (o *PcloudPvminstancesConsoleGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console get o k response a status code equal to that given +func (o *PcloudPvminstancesConsoleGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances console get o k response +func (o *PcloudPvminstancesConsoleGetOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesConsoleGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesConsoleGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesConsoleGetOK) GetPayload() *models.ConsoleLanguages { + return o.Payload +} + +func (o *PcloudPvminstancesConsoleGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ConsoleLanguages) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsoleGetBadRequest creates a PcloudPvminstancesConsoleGetBadRequest with default headers values +func NewPcloudPvminstancesConsoleGetBadRequest() *PcloudPvminstancesConsoleGetBadRequest { + return &PcloudPvminstancesConsoleGetBadRequest{} +} + +/* +PcloudPvminstancesConsoleGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesConsoleGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console get bad request response has a 2xx status code +func (o *PcloudPvminstancesConsoleGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console get bad request response has a 3xx status code +func (o *PcloudPvminstancesConsoleGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console get bad request response has a 4xx status code +func (o *PcloudPvminstancesConsoleGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console get bad request response has a 5xx status code +func (o *PcloudPvminstancesConsoleGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console get bad request response a status code equal to that given +func (o *PcloudPvminstancesConsoleGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances console get bad request response +func (o *PcloudPvminstancesConsoleGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesConsoleGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesConsoleGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesConsoleGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsoleGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsoleGetUnauthorized creates a PcloudPvminstancesConsoleGetUnauthorized with default headers values +func NewPcloudPvminstancesConsoleGetUnauthorized() *PcloudPvminstancesConsoleGetUnauthorized { + return &PcloudPvminstancesConsoleGetUnauthorized{} +} + +/* +PcloudPvminstancesConsoleGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesConsoleGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console get unauthorized response has a 2xx status code +func (o *PcloudPvminstancesConsoleGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console get unauthorized response has a 3xx status code +func (o *PcloudPvminstancesConsoleGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console get unauthorized response has a 4xx status code +func (o *PcloudPvminstancesConsoleGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console get unauthorized response has a 5xx status code +func (o *PcloudPvminstancesConsoleGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console get unauthorized response a status code equal to that given +func (o *PcloudPvminstancesConsoleGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances console get unauthorized response +func (o *PcloudPvminstancesConsoleGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesConsoleGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesConsoleGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesConsoleGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsoleGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsoleGetForbidden creates a PcloudPvminstancesConsoleGetForbidden with default headers values +func NewPcloudPvminstancesConsoleGetForbidden() *PcloudPvminstancesConsoleGetForbidden { + return &PcloudPvminstancesConsoleGetForbidden{} +} + +/* +PcloudPvminstancesConsoleGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesConsoleGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console get forbidden response has a 2xx status code +func (o *PcloudPvminstancesConsoleGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console get forbidden response has a 3xx status code +func (o *PcloudPvminstancesConsoleGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console get forbidden response has a 4xx status code +func (o *PcloudPvminstancesConsoleGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console get forbidden response has a 5xx status code +func (o *PcloudPvminstancesConsoleGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console get forbidden response a status code equal to that given +func (o *PcloudPvminstancesConsoleGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances console get forbidden response +func (o *PcloudPvminstancesConsoleGetForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesConsoleGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesConsoleGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesConsoleGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsoleGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsoleGetNotFound creates a PcloudPvminstancesConsoleGetNotFound with default headers values +func NewPcloudPvminstancesConsoleGetNotFound() *PcloudPvminstancesConsoleGetNotFound { + return &PcloudPvminstancesConsoleGetNotFound{} +} + +/* +PcloudPvminstancesConsoleGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesConsoleGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console get not found response has a 2xx status code +func (o *PcloudPvminstancesConsoleGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console get not found response has a 3xx status code +func (o *PcloudPvminstancesConsoleGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console get not found response has a 4xx status code +func (o *PcloudPvminstancesConsoleGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console get not found response has a 5xx status code +func (o *PcloudPvminstancesConsoleGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console get not found response a status code equal to that given +func (o *PcloudPvminstancesConsoleGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances console get not found response +func (o *PcloudPvminstancesConsoleGetNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesConsoleGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesConsoleGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesConsoleGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsoleGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsoleGetInternalServerError creates a PcloudPvminstancesConsoleGetInternalServerError with default headers values +func NewPcloudPvminstancesConsoleGetInternalServerError() *PcloudPvminstancesConsoleGetInternalServerError { + return &PcloudPvminstancesConsoleGetInternalServerError{} +} + +/* +PcloudPvminstancesConsoleGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesConsoleGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console get internal server error response has a 2xx status code +func (o *PcloudPvminstancesConsoleGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console get internal server error response has a 3xx status code +func (o *PcloudPvminstancesConsoleGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console get internal server error response has a 4xx status code +func (o *PcloudPvminstancesConsoleGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances console get internal server error response has a 5xx status code +func (o *PcloudPvminstancesConsoleGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances console get internal server error response a status code equal to that given +func (o *PcloudPvminstancesConsoleGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances console get internal server error response +func (o *PcloudPvminstancesConsoleGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesConsoleGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesConsoleGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsoleGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesConsoleGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsoleGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_post_parameters.go new file mode 100644 index 000000000..3566f8bd1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_post_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesConsolePostParams creates a new PcloudPvminstancesConsolePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesConsolePostParams() *PcloudPvminstancesConsolePostParams { + return &PcloudPvminstancesConsolePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesConsolePostParamsWithTimeout creates a new PcloudPvminstancesConsolePostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesConsolePostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesConsolePostParams { + return &PcloudPvminstancesConsolePostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesConsolePostParamsWithContext creates a new PcloudPvminstancesConsolePostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesConsolePostParamsWithContext(ctx context.Context) *PcloudPvminstancesConsolePostParams { + return &PcloudPvminstancesConsolePostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesConsolePostParamsWithHTTPClient creates a new PcloudPvminstancesConsolePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesConsolePostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesConsolePostParams { + return &PcloudPvminstancesConsolePostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesConsolePostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances console post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesConsolePostParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances console post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesConsolePostParams) WithDefaults() *PcloudPvminstancesConsolePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances console post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesConsolePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesConsolePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) WithContext(ctx context.Context) *PcloudPvminstancesConsolePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesConsolePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesConsolePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesConsolePostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances console post params +func (o *PcloudPvminstancesConsolePostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesConsolePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_post_responses.go new file mode 100644 index 000000000..c785c3df7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesConsolePostReader is a Reader for the PcloudPvminstancesConsolePost structure. +type PcloudPvminstancesConsolePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesConsolePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewPcloudPvminstancesConsolePostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesConsolePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesConsolePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesConsolePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesConsolePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesConsolePostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesConsolePostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesConsolePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console] pcloud.pvminstances.console.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesConsolePostCreated creates a PcloudPvminstancesConsolePostCreated with default headers values +func NewPcloudPvminstancesConsolePostCreated() *PcloudPvminstancesConsolePostCreated { + return &PcloudPvminstancesConsolePostCreated{} +} + +/* +PcloudPvminstancesConsolePostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudPvminstancesConsolePostCreated struct { + Payload *models.PVMInstanceConsole +} + +// IsSuccess returns true when this pcloud pvminstances console post created response has a 2xx status code +func (o *PcloudPvminstancesConsolePostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances console post created response has a 3xx status code +func (o *PcloudPvminstancesConsolePostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console post created response has a 4xx status code +func (o *PcloudPvminstancesConsolePostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances console post created response has a 5xx status code +func (o *PcloudPvminstancesConsolePostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console post created response a status code equal to that given +func (o *PcloudPvminstancesConsolePostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud pvminstances console post created response +func (o *PcloudPvminstancesConsolePostCreated) Code() int { + return 201 +} + +func (o *PcloudPvminstancesConsolePostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostCreated %s", 201, payload) +} + +func (o *PcloudPvminstancesConsolePostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostCreated %s", 201, payload) +} + +func (o *PcloudPvminstancesConsolePostCreated) GetPayload() *models.PVMInstanceConsole { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstanceConsole) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePostBadRequest creates a PcloudPvminstancesConsolePostBadRequest with default headers values +func NewPcloudPvminstancesConsolePostBadRequest() *PcloudPvminstancesConsolePostBadRequest { + return &PcloudPvminstancesConsolePostBadRequest{} +} + +/* +PcloudPvminstancesConsolePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesConsolePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console post bad request response has a 2xx status code +func (o *PcloudPvminstancesConsolePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console post bad request response has a 3xx status code +func (o *PcloudPvminstancesConsolePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console post bad request response has a 4xx status code +func (o *PcloudPvminstancesConsolePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console post bad request response has a 5xx status code +func (o *PcloudPvminstancesConsolePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console post bad request response a status code equal to that given +func (o *PcloudPvminstancesConsolePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances console post bad request response +func (o *PcloudPvminstancesConsolePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesConsolePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesConsolePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesConsolePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePostUnauthorized creates a PcloudPvminstancesConsolePostUnauthorized with default headers values +func NewPcloudPvminstancesConsolePostUnauthorized() *PcloudPvminstancesConsolePostUnauthorized { + return &PcloudPvminstancesConsolePostUnauthorized{} +} + +/* +PcloudPvminstancesConsolePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesConsolePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesConsolePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesConsolePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesConsolePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesConsolePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesConsolePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances console post unauthorized response +func (o *PcloudPvminstancesConsolePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesConsolePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesConsolePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesConsolePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePostForbidden creates a PcloudPvminstancesConsolePostForbidden with default headers values +func NewPcloudPvminstancesConsolePostForbidden() *PcloudPvminstancesConsolePostForbidden { + return &PcloudPvminstancesConsolePostForbidden{} +} + +/* +PcloudPvminstancesConsolePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesConsolePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console post forbidden response has a 2xx status code +func (o *PcloudPvminstancesConsolePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console post forbidden response has a 3xx status code +func (o *PcloudPvminstancesConsolePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console post forbidden response has a 4xx status code +func (o *PcloudPvminstancesConsolePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console post forbidden response has a 5xx status code +func (o *PcloudPvminstancesConsolePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console post forbidden response a status code equal to that given +func (o *PcloudPvminstancesConsolePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances console post forbidden response +func (o *PcloudPvminstancesConsolePostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesConsolePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesConsolePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesConsolePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePostNotFound creates a PcloudPvminstancesConsolePostNotFound with default headers values +func NewPcloudPvminstancesConsolePostNotFound() *PcloudPvminstancesConsolePostNotFound { + return &PcloudPvminstancesConsolePostNotFound{} +} + +/* +PcloudPvminstancesConsolePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesConsolePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console post not found response has a 2xx status code +func (o *PcloudPvminstancesConsolePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console post not found response has a 3xx status code +func (o *PcloudPvminstancesConsolePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console post not found response has a 4xx status code +func (o *PcloudPvminstancesConsolePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console post not found response has a 5xx status code +func (o *PcloudPvminstancesConsolePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console post not found response a status code equal to that given +func (o *PcloudPvminstancesConsolePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances console post not found response +func (o *PcloudPvminstancesConsolePostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesConsolePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesConsolePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesConsolePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePostConflict creates a PcloudPvminstancesConsolePostConflict with default headers values +func NewPcloudPvminstancesConsolePostConflict() *PcloudPvminstancesConsolePostConflict { + return &PcloudPvminstancesConsolePostConflict{} +} + +/* +PcloudPvminstancesConsolePostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesConsolePostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console post conflict response has a 2xx status code +func (o *PcloudPvminstancesConsolePostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console post conflict response has a 3xx status code +func (o *PcloudPvminstancesConsolePostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console post conflict response has a 4xx status code +func (o *PcloudPvminstancesConsolePostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console post conflict response has a 5xx status code +func (o *PcloudPvminstancesConsolePostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console post conflict response a status code equal to that given +func (o *PcloudPvminstancesConsolePostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances console post conflict response +func (o *PcloudPvminstancesConsolePostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesConsolePostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesConsolePostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesConsolePostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePostUnprocessableEntity creates a PcloudPvminstancesConsolePostUnprocessableEntity with default headers values +func NewPcloudPvminstancesConsolePostUnprocessableEntity() *PcloudPvminstancesConsolePostUnprocessableEntity { + return &PcloudPvminstancesConsolePostUnprocessableEntity{} +} + +/* +PcloudPvminstancesConsolePostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesConsolePostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console post unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console post unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console post unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console post unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console post unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances console post unprocessable entity response +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePostInternalServerError creates a PcloudPvminstancesConsolePostInternalServerError with default headers values +func NewPcloudPvminstancesConsolePostInternalServerError() *PcloudPvminstancesConsolePostInternalServerError { + return &PcloudPvminstancesConsolePostInternalServerError{} +} + +/* +PcloudPvminstancesConsolePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesConsolePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console post internal server error response has a 2xx status code +func (o *PcloudPvminstancesConsolePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console post internal server error response has a 3xx status code +func (o *PcloudPvminstancesConsolePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console post internal server error response has a 4xx status code +func (o *PcloudPvminstancesConsolePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances console post internal server error response has a 5xx status code +func (o *PcloudPvminstancesConsolePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances console post internal server error response a status code equal to that given +func (o *PcloudPvminstancesConsolePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances console post internal server error response +func (o *PcloudPvminstancesConsolePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesConsolePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesConsolePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesConsolePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_put_parameters.go new file mode 100644 index 000000000..bffe725ee --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesConsolePutParams creates a new PcloudPvminstancesConsolePutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesConsolePutParams() *PcloudPvminstancesConsolePutParams { + return &PcloudPvminstancesConsolePutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesConsolePutParamsWithTimeout creates a new PcloudPvminstancesConsolePutParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesConsolePutParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesConsolePutParams { + return &PcloudPvminstancesConsolePutParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesConsolePutParamsWithContext creates a new PcloudPvminstancesConsolePutParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesConsolePutParamsWithContext(ctx context.Context) *PcloudPvminstancesConsolePutParams { + return &PcloudPvminstancesConsolePutParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesConsolePutParamsWithHTTPClient creates a new PcloudPvminstancesConsolePutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesConsolePutParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesConsolePutParams { + return &PcloudPvminstancesConsolePutParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesConsolePutParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances console put operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesConsolePutParams struct { + + /* Body. + + Parameters to update a PVMInstance console required codepage + */ + Body *models.ConsoleLanguage + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances console put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesConsolePutParams) WithDefaults() *PcloudPvminstancesConsolePutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances console put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesConsolePutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesConsolePutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) WithContext(ctx context.Context) *PcloudPvminstancesConsolePutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesConsolePutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) WithBody(body *models.ConsoleLanguage) *PcloudPvminstancesConsolePutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) SetBody(body *models.ConsoleLanguage) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesConsolePutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesConsolePutParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances console put params +func (o *PcloudPvminstancesConsolePutParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesConsolePutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_put_responses.go new file mode 100644 index 000000000..fd1d1dbc2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_console_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesConsolePutReader is a Reader for the PcloudPvminstancesConsolePut structure. +type PcloudPvminstancesConsolePutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesConsolePutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesConsolePutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesConsolePutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesConsolePutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesConsolePutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesConsolePutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesConsolePutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesConsolePutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console] pcloud.pvminstances.console.put", response, response.Code()) + } +} + +// NewPcloudPvminstancesConsolePutOK creates a PcloudPvminstancesConsolePutOK with default headers values +func NewPcloudPvminstancesConsolePutOK() *PcloudPvminstancesConsolePutOK { + return &PcloudPvminstancesConsolePutOK{} +} + +/* +PcloudPvminstancesConsolePutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesConsolePutOK struct { + Payload *models.ConsoleLanguage +} + +// IsSuccess returns true when this pcloud pvminstances console put o k response has a 2xx status code +func (o *PcloudPvminstancesConsolePutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances console put o k response has a 3xx status code +func (o *PcloudPvminstancesConsolePutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console put o k response has a 4xx status code +func (o *PcloudPvminstancesConsolePutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances console put o k response has a 5xx status code +func (o *PcloudPvminstancesConsolePutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console put o k response a status code equal to that given +func (o *PcloudPvminstancesConsolePutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances console put o k response +func (o *PcloudPvminstancesConsolePutOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesConsolePutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutOK %s", 200, payload) +} + +func (o *PcloudPvminstancesConsolePutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutOK %s", 200, payload) +} + +func (o *PcloudPvminstancesConsolePutOK) GetPayload() *models.ConsoleLanguage { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ConsoleLanguage) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePutBadRequest creates a PcloudPvminstancesConsolePutBadRequest with default headers values +func NewPcloudPvminstancesConsolePutBadRequest() *PcloudPvminstancesConsolePutBadRequest { + return &PcloudPvminstancesConsolePutBadRequest{} +} + +/* +PcloudPvminstancesConsolePutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesConsolePutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console put bad request response has a 2xx status code +func (o *PcloudPvminstancesConsolePutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console put bad request response has a 3xx status code +func (o *PcloudPvminstancesConsolePutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console put bad request response has a 4xx status code +func (o *PcloudPvminstancesConsolePutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console put bad request response has a 5xx status code +func (o *PcloudPvminstancesConsolePutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console put bad request response a status code equal to that given +func (o *PcloudPvminstancesConsolePutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances console put bad request response +func (o *PcloudPvminstancesConsolePutBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesConsolePutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesConsolePutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesConsolePutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePutUnauthorized creates a PcloudPvminstancesConsolePutUnauthorized with default headers values +func NewPcloudPvminstancesConsolePutUnauthorized() *PcloudPvminstancesConsolePutUnauthorized { + return &PcloudPvminstancesConsolePutUnauthorized{} +} + +/* +PcloudPvminstancesConsolePutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesConsolePutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console put unauthorized response has a 2xx status code +func (o *PcloudPvminstancesConsolePutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console put unauthorized response has a 3xx status code +func (o *PcloudPvminstancesConsolePutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console put unauthorized response has a 4xx status code +func (o *PcloudPvminstancesConsolePutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console put unauthorized response has a 5xx status code +func (o *PcloudPvminstancesConsolePutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console put unauthorized response a status code equal to that given +func (o *PcloudPvminstancesConsolePutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances console put unauthorized response +func (o *PcloudPvminstancesConsolePutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesConsolePutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesConsolePutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesConsolePutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePutForbidden creates a PcloudPvminstancesConsolePutForbidden with default headers values +func NewPcloudPvminstancesConsolePutForbidden() *PcloudPvminstancesConsolePutForbidden { + return &PcloudPvminstancesConsolePutForbidden{} +} + +/* +PcloudPvminstancesConsolePutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesConsolePutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console put forbidden response has a 2xx status code +func (o *PcloudPvminstancesConsolePutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console put forbidden response has a 3xx status code +func (o *PcloudPvminstancesConsolePutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console put forbidden response has a 4xx status code +func (o *PcloudPvminstancesConsolePutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console put forbidden response has a 5xx status code +func (o *PcloudPvminstancesConsolePutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console put forbidden response a status code equal to that given +func (o *PcloudPvminstancesConsolePutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances console put forbidden response +func (o *PcloudPvminstancesConsolePutForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesConsolePutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesConsolePutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesConsolePutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePutNotFound creates a PcloudPvminstancesConsolePutNotFound with default headers values +func NewPcloudPvminstancesConsolePutNotFound() *PcloudPvminstancesConsolePutNotFound { + return &PcloudPvminstancesConsolePutNotFound{} +} + +/* +PcloudPvminstancesConsolePutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesConsolePutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console put not found response has a 2xx status code +func (o *PcloudPvminstancesConsolePutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console put not found response has a 3xx status code +func (o *PcloudPvminstancesConsolePutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console put not found response has a 4xx status code +func (o *PcloudPvminstancesConsolePutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console put not found response has a 5xx status code +func (o *PcloudPvminstancesConsolePutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console put not found response a status code equal to that given +func (o *PcloudPvminstancesConsolePutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances console put not found response +func (o *PcloudPvminstancesConsolePutNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesConsolePutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesConsolePutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesConsolePutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePutConflict creates a PcloudPvminstancesConsolePutConflict with default headers values +func NewPcloudPvminstancesConsolePutConflict() *PcloudPvminstancesConsolePutConflict { + return &PcloudPvminstancesConsolePutConflict{} +} + +/* +PcloudPvminstancesConsolePutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesConsolePutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console put conflict response has a 2xx status code +func (o *PcloudPvminstancesConsolePutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console put conflict response has a 3xx status code +func (o *PcloudPvminstancesConsolePutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console put conflict response has a 4xx status code +func (o *PcloudPvminstancesConsolePutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances console put conflict response has a 5xx status code +func (o *PcloudPvminstancesConsolePutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances console put conflict response a status code equal to that given +func (o *PcloudPvminstancesConsolePutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances console put conflict response +func (o *PcloudPvminstancesConsolePutConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesConsolePutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesConsolePutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesConsolePutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesConsolePutInternalServerError creates a PcloudPvminstancesConsolePutInternalServerError with default headers values +func NewPcloudPvminstancesConsolePutInternalServerError() *PcloudPvminstancesConsolePutInternalServerError { + return &PcloudPvminstancesConsolePutInternalServerError{} +} + +/* +PcloudPvminstancesConsolePutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesConsolePutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances console put internal server error response has a 2xx status code +func (o *PcloudPvminstancesConsolePutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances console put internal server error response has a 3xx status code +func (o *PcloudPvminstancesConsolePutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances console put internal server error response has a 4xx status code +func (o *PcloudPvminstancesConsolePutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances console put internal server error response has a 5xx status code +func (o *PcloudPvminstancesConsolePutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances console put internal server error response a status code equal to that given +func (o *PcloudPvminstancesConsolePutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances console put internal server error response +func (o *PcloudPvminstancesConsolePutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesConsolePutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesConsolePutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console][%d] pcloudPvminstancesConsolePutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesConsolePutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesConsolePutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_delete_parameters.go new file mode 100644 index 000000000..77401f52c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_delete_parameters.go @@ -0,0 +1,232 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesDeleteParams creates a new PcloudPvminstancesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesDeleteParams() *PcloudPvminstancesDeleteParams { + return &PcloudPvminstancesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesDeleteParamsWithTimeout creates a new PcloudPvminstancesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesDeleteParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesDeleteParams { + return &PcloudPvminstancesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesDeleteParamsWithContext creates a new PcloudPvminstancesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesDeleteParamsWithContext(ctx context.Context) *PcloudPvminstancesDeleteParams { + return &PcloudPvminstancesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesDeleteParamsWithHTTPClient creates a new PcloudPvminstancesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesDeleteParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesDeleteParams { + return &PcloudPvminstancesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesDeleteParams struct { + + /* Body. + + Parameters to delete a PVM Instance + */ + Body *models.PVMInstanceDelete + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* DeleteDataVolumes. + + Indicates if all data volumes attached to the PVMInstance should be deleted when deleting the PVMInstance. Shared data volumes will be deleted if there are no other PVMInstances attached. + */ + DeleteDataVolumes *bool + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesDeleteParams) WithDefaults() *PcloudPvminstancesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) WithContext(ctx context.Context) *PcloudPvminstancesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) WithBody(body *models.PVMInstanceDelete) *PcloudPvminstancesDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) SetBody(body *models.PVMInstanceDelete) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithDeleteDataVolumes adds the deleteDataVolumes to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) WithDeleteDataVolumes(deleteDataVolumes *bool) *PcloudPvminstancesDeleteParams { + o.SetDeleteDataVolumes(deleteDataVolumes) + return o +} + +// SetDeleteDataVolumes adds the deleteDataVolumes to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) SetDeleteDataVolumes(deleteDataVolumes *bool) { + o.DeleteDataVolumes = deleteDataVolumes +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesDeleteParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances delete params +func (o *PcloudPvminstancesDeleteParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.DeleteDataVolumes != nil { + + // query param delete_data_volumes + var qrDeleteDataVolumes bool + + if o.DeleteDataVolumes != nil { + qrDeleteDataVolumes = *o.DeleteDataVolumes + } + qDeleteDataVolumes := swag.FormatBool(qrDeleteDataVolumes) + if qDeleteDataVolumes != "" { + + if err := r.SetQueryParam("delete_data_volumes", qDeleteDataVolumes); err != nil { + return err + } + } + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_delete_responses.go new file mode 100644 index 000000000..286b75891 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_delete_responses.go @@ -0,0 +1,637 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesDeleteReader is a Reader for the PcloudPvminstancesDelete structure. +type PcloudPvminstancesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudPvminstancesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}] pcloud.pvminstances.delete", response, response.Code()) + } +} + +// NewPcloudPvminstancesDeleteOK creates a PcloudPvminstancesDeleteOK with default headers values +func NewPcloudPvminstancesDeleteOK() *PcloudPvminstancesDeleteOK { + return &PcloudPvminstancesDeleteOK{} +} + +/* +PcloudPvminstancesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances delete o k response has a 2xx status code +func (o *PcloudPvminstancesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances delete o k response has a 3xx status code +func (o *PcloudPvminstancesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances delete o k response has a 4xx status code +func (o *PcloudPvminstancesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances delete o k response has a 5xx status code +func (o *PcloudPvminstancesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances delete o k response a status code equal to that given +func (o *PcloudPvminstancesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances delete o k response +func (o *PcloudPvminstancesDeleteOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteOK %s", 200, payload) +} + +func (o *PcloudPvminstancesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteOK %s", 200, payload) +} + +func (o *PcloudPvminstancesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesDeleteBadRequest creates a PcloudPvminstancesDeleteBadRequest with default headers values +func NewPcloudPvminstancesDeleteBadRequest() *PcloudPvminstancesDeleteBadRequest { + return &PcloudPvminstancesDeleteBadRequest{} +} + +/* +PcloudPvminstancesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances delete bad request response has a 2xx status code +func (o *PcloudPvminstancesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances delete bad request response has a 3xx status code +func (o *PcloudPvminstancesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances delete bad request response has a 4xx status code +func (o *PcloudPvminstancesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances delete bad request response has a 5xx status code +func (o *PcloudPvminstancesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances delete bad request response a status code equal to that given +func (o *PcloudPvminstancesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances delete bad request response +func (o *PcloudPvminstancesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesDeleteUnauthorized creates a PcloudPvminstancesDeleteUnauthorized with default headers values +func NewPcloudPvminstancesDeleteUnauthorized() *PcloudPvminstancesDeleteUnauthorized { + return &PcloudPvminstancesDeleteUnauthorized{} +} + +/* +PcloudPvminstancesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances delete unauthorized response has a 2xx status code +func (o *PcloudPvminstancesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances delete unauthorized response has a 3xx status code +func (o *PcloudPvminstancesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances delete unauthorized response has a 4xx status code +func (o *PcloudPvminstancesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances delete unauthorized response has a 5xx status code +func (o *PcloudPvminstancesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances delete unauthorized response a status code equal to that given +func (o *PcloudPvminstancesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances delete unauthorized response +func (o *PcloudPvminstancesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesDeleteForbidden creates a PcloudPvminstancesDeleteForbidden with default headers values +func NewPcloudPvminstancesDeleteForbidden() *PcloudPvminstancesDeleteForbidden { + return &PcloudPvminstancesDeleteForbidden{} +} + +/* +PcloudPvminstancesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances delete forbidden response has a 2xx status code +func (o *PcloudPvminstancesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances delete forbidden response has a 3xx status code +func (o *PcloudPvminstancesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances delete forbidden response has a 4xx status code +func (o *PcloudPvminstancesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances delete forbidden response has a 5xx status code +func (o *PcloudPvminstancesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances delete forbidden response a status code equal to that given +func (o *PcloudPvminstancesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances delete forbidden response +func (o *PcloudPvminstancesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesDeleteNotFound creates a PcloudPvminstancesDeleteNotFound with default headers values +func NewPcloudPvminstancesDeleteNotFound() *PcloudPvminstancesDeleteNotFound { + return &PcloudPvminstancesDeleteNotFound{} +} + +/* +PcloudPvminstancesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances delete not found response has a 2xx status code +func (o *PcloudPvminstancesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances delete not found response has a 3xx status code +func (o *PcloudPvminstancesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances delete not found response has a 4xx status code +func (o *PcloudPvminstancesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances delete not found response has a 5xx status code +func (o *PcloudPvminstancesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances delete not found response a status code equal to that given +func (o *PcloudPvminstancesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances delete not found response +func (o *PcloudPvminstancesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesDeleteConflict creates a PcloudPvminstancesDeleteConflict with default headers values +func NewPcloudPvminstancesDeleteConflict() *PcloudPvminstancesDeleteConflict { + return &PcloudPvminstancesDeleteConflict{} +} + +/* +PcloudPvminstancesDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances delete conflict response has a 2xx status code +func (o *PcloudPvminstancesDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances delete conflict response has a 3xx status code +func (o *PcloudPvminstancesDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances delete conflict response has a 4xx status code +func (o *PcloudPvminstancesDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances delete conflict response has a 5xx status code +func (o *PcloudPvminstancesDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances delete conflict response a status code equal to that given +func (o *PcloudPvminstancesDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances delete conflict response +func (o *PcloudPvminstancesDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesDeleteGone creates a PcloudPvminstancesDeleteGone with default headers values +func NewPcloudPvminstancesDeleteGone() *PcloudPvminstancesDeleteGone { + return &PcloudPvminstancesDeleteGone{} +} + +/* +PcloudPvminstancesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudPvminstancesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances delete gone response has a 2xx status code +func (o *PcloudPvminstancesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances delete gone response has a 3xx status code +func (o *PcloudPvminstancesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances delete gone response has a 4xx status code +func (o *PcloudPvminstancesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances delete gone response has a 5xx status code +func (o *PcloudPvminstancesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances delete gone response a status code equal to that given +func (o *PcloudPvminstancesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud pvminstances delete gone response +func (o *PcloudPvminstancesDeleteGone) Code() int { + return 410 +} + +func (o *PcloudPvminstancesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteGone %s", 410, payload) +} + +func (o *PcloudPvminstancesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteGone %s", 410, payload) +} + +func (o *PcloudPvminstancesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesDeleteInternalServerError creates a PcloudPvminstancesDeleteInternalServerError with default headers values +func NewPcloudPvminstancesDeleteInternalServerError() *PcloudPvminstancesDeleteInternalServerError { + return &PcloudPvminstancesDeleteInternalServerError{} +} + +/* +PcloudPvminstancesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances delete internal server error response has a 2xx status code +func (o *PcloudPvminstancesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances delete internal server error response has a 3xx status code +func (o *PcloudPvminstancesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances delete internal server error response has a 4xx status code +func (o *PcloudPvminstancesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances delete internal server error response has a 5xx status code +func (o *PcloudPvminstancesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances delete internal server error response a status code equal to that given +func (o *PcloudPvminstancesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances delete internal server error response +func (o *PcloudPvminstancesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_get_parameters.go new file mode 100644 index 000000000..da6e9ea37 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesGetParams creates a new PcloudPvminstancesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesGetParams() *PcloudPvminstancesGetParams { + return &PcloudPvminstancesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesGetParamsWithTimeout creates a new PcloudPvminstancesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesGetParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesGetParams { + return &PcloudPvminstancesGetParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesGetParamsWithContext creates a new PcloudPvminstancesGetParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesGetParamsWithContext(ctx context.Context) *PcloudPvminstancesGetParams { + return &PcloudPvminstancesGetParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesGetParamsWithHTTPClient creates a new PcloudPvminstancesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesGetParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesGetParams { + return &PcloudPvminstancesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesGetParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances get operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesGetParams) WithDefaults() *PcloudPvminstancesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) WithContext(ctx context.Context) *PcloudPvminstancesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesGetParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances get params +func (o *PcloudPvminstancesGetParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_get_responses.go new file mode 100644 index 000000000..31988f4de --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesGetReader is a Reader for the PcloudPvminstancesGet structure. +type PcloudPvminstancesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}] pcloud.pvminstances.get", response, response.Code()) + } +} + +// NewPcloudPvminstancesGetOK creates a PcloudPvminstancesGetOK with default headers values +func NewPcloudPvminstancesGetOK() *PcloudPvminstancesGetOK { + return &PcloudPvminstancesGetOK{} +} + +/* +PcloudPvminstancesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesGetOK struct { + Payload *models.PVMInstance +} + +// IsSuccess returns true when this pcloud pvminstances get o k response has a 2xx status code +func (o *PcloudPvminstancesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances get o k response has a 3xx status code +func (o *PcloudPvminstancesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances get o k response has a 4xx status code +func (o *PcloudPvminstancesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances get o k response has a 5xx status code +func (o *PcloudPvminstancesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances get o k response a status code equal to that given +func (o *PcloudPvminstancesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances get o k response +func (o *PcloudPvminstancesGetOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesGetOK) GetPayload() *models.PVMInstance { + return o.Payload +} + +func (o *PcloudPvminstancesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstance) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetBadRequest creates a PcloudPvminstancesGetBadRequest with default headers values +func NewPcloudPvminstancesGetBadRequest() *PcloudPvminstancesGetBadRequest { + return &PcloudPvminstancesGetBadRequest{} +} + +/* +PcloudPvminstancesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances get bad request response has a 2xx status code +func (o *PcloudPvminstancesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances get bad request response has a 3xx status code +func (o *PcloudPvminstancesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances get bad request response has a 4xx status code +func (o *PcloudPvminstancesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances get bad request response has a 5xx status code +func (o *PcloudPvminstancesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances get bad request response a status code equal to that given +func (o *PcloudPvminstancesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances get bad request response +func (o *PcloudPvminstancesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetUnauthorized creates a PcloudPvminstancesGetUnauthorized with default headers values +func NewPcloudPvminstancesGetUnauthorized() *PcloudPvminstancesGetUnauthorized { + return &PcloudPvminstancesGetUnauthorized{} +} + +/* +PcloudPvminstancesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances get unauthorized response has a 2xx status code +func (o *PcloudPvminstancesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances get unauthorized response has a 3xx status code +func (o *PcloudPvminstancesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances get unauthorized response has a 4xx status code +func (o *PcloudPvminstancesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances get unauthorized response has a 5xx status code +func (o *PcloudPvminstancesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances get unauthorized response a status code equal to that given +func (o *PcloudPvminstancesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances get unauthorized response +func (o *PcloudPvminstancesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetForbidden creates a PcloudPvminstancesGetForbidden with default headers values +func NewPcloudPvminstancesGetForbidden() *PcloudPvminstancesGetForbidden { + return &PcloudPvminstancesGetForbidden{} +} + +/* +PcloudPvminstancesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances get forbidden response has a 2xx status code +func (o *PcloudPvminstancesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances get forbidden response has a 3xx status code +func (o *PcloudPvminstancesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances get forbidden response has a 4xx status code +func (o *PcloudPvminstancesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances get forbidden response has a 5xx status code +func (o *PcloudPvminstancesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances get forbidden response a status code equal to that given +func (o *PcloudPvminstancesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances get forbidden response +func (o *PcloudPvminstancesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetNotFound creates a PcloudPvminstancesGetNotFound with default headers values +func NewPcloudPvminstancesGetNotFound() *PcloudPvminstancesGetNotFound { + return &PcloudPvminstancesGetNotFound{} +} + +/* +PcloudPvminstancesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances get not found response has a 2xx status code +func (o *PcloudPvminstancesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances get not found response has a 3xx status code +func (o *PcloudPvminstancesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances get not found response has a 4xx status code +func (o *PcloudPvminstancesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances get not found response has a 5xx status code +func (o *PcloudPvminstancesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances get not found response a status code equal to that given +func (o *PcloudPvminstancesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances get not found response +func (o *PcloudPvminstancesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetInternalServerError creates a PcloudPvminstancesGetInternalServerError with default headers values +func NewPcloudPvminstancesGetInternalServerError() *PcloudPvminstancesGetInternalServerError { + return &PcloudPvminstancesGetInternalServerError{} +} + +/* +PcloudPvminstancesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances get internal server error response has a 2xx status code +func (o *PcloudPvminstancesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances get internal server error response has a 3xx status code +func (o *PcloudPvminstancesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances get internal server error response has a 4xx status code +func (o *PcloudPvminstancesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances get internal server error response has a 5xx status code +func (o *PcloudPvminstancesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances get internal server error response a status code equal to that given +func (o *PcloudPvminstancesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances get internal server error response +func (o *PcloudPvminstancesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_getall_parameters.go new file mode 100644 index 000000000..9aea7e829 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesGetallParams creates a new PcloudPvminstancesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesGetallParams() *PcloudPvminstancesGetallParams { + return &PcloudPvminstancesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesGetallParamsWithTimeout creates a new PcloudPvminstancesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesGetallParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesGetallParams { + return &PcloudPvminstancesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesGetallParamsWithContext creates a new PcloudPvminstancesGetallParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesGetallParamsWithContext(ctx context.Context) *PcloudPvminstancesGetallParams { + return &PcloudPvminstancesGetallParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesGetallParamsWithHTTPClient creates a new PcloudPvminstancesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesGetallParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesGetallParams { + return &PcloudPvminstancesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesGetallParams) WithDefaults() *PcloudPvminstancesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances getall params +func (o *PcloudPvminstancesGetallParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances getall params +func (o *PcloudPvminstancesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances getall params +func (o *PcloudPvminstancesGetallParams) WithContext(ctx context.Context) *PcloudPvminstancesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances getall params +func (o *PcloudPvminstancesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances getall params +func (o *PcloudPvminstancesGetallParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances getall params +func (o *PcloudPvminstancesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances getall params +func (o *PcloudPvminstancesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances getall params +func (o *PcloudPvminstancesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_getall_responses.go new file mode 100644 index 000000000..beb4cea75 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_getall_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesGetallReader is a Reader for the PcloudPvminstancesGetall structure. +type PcloudPvminstancesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudPvminstancesGetallRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances] pcloud.pvminstances.getall", response, response.Code()) + } +} + +// NewPcloudPvminstancesGetallOK creates a PcloudPvminstancesGetallOK with default headers values +func NewPcloudPvminstancesGetallOK() *PcloudPvminstancesGetallOK { + return &PcloudPvminstancesGetallOK{} +} + +/* +PcloudPvminstancesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesGetallOK struct { + Payload *models.PVMInstances +} + +// IsSuccess returns true when this pcloud pvminstances getall o k response has a 2xx status code +func (o *PcloudPvminstancesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances getall o k response has a 3xx status code +func (o *PcloudPvminstancesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances getall o k response has a 4xx status code +func (o *PcloudPvminstancesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances getall o k response has a 5xx status code +func (o *PcloudPvminstancesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances getall o k response a status code equal to that given +func (o *PcloudPvminstancesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances getall o k response +func (o *PcloudPvminstancesGetallOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesGetallOK) GetPayload() *models.PVMInstances { + return o.Payload +} + +func (o *PcloudPvminstancesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstances) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetallBadRequest creates a PcloudPvminstancesGetallBadRequest with default headers values +func NewPcloudPvminstancesGetallBadRequest() *PcloudPvminstancesGetallBadRequest { + return &PcloudPvminstancesGetallBadRequest{} +} + +/* +PcloudPvminstancesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances getall bad request response has a 2xx status code +func (o *PcloudPvminstancesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances getall bad request response has a 3xx status code +func (o *PcloudPvminstancesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances getall bad request response has a 4xx status code +func (o *PcloudPvminstancesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances getall bad request response has a 5xx status code +func (o *PcloudPvminstancesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances getall bad request response a status code equal to that given +func (o *PcloudPvminstancesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances getall bad request response +func (o *PcloudPvminstancesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetallUnauthorized creates a PcloudPvminstancesGetallUnauthorized with default headers values +func NewPcloudPvminstancesGetallUnauthorized() *PcloudPvminstancesGetallUnauthorized { + return &PcloudPvminstancesGetallUnauthorized{} +} + +/* +PcloudPvminstancesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances getall unauthorized response has a 2xx status code +func (o *PcloudPvminstancesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances getall unauthorized response has a 3xx status code +func (o *PcloudPvminstancesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances getall unauthorized response has a 4xx status code +func (o *PcloudPvminstancesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances getall unauthorized response has a 5xx status code +func (o *PcloudPvminstancesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances getall unauthorized response a status code equal to that given +func (o *PcloudPvminstancesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances getall unauthorized response +func (o *PcloudPvminstancesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetallForbidden creates a PcloudPvminstancesGetallForbidden with default headers values +func NewPcloudPvminstancesGetallForbidden() *PcloudPvminstancesGetallForbidden { + return &PcloudPvminstancesGetallForbidden{} +} + +/* +PcloudPvminstancesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances getall forbidden response has a 2xx status code +func (o *PcloudPvminstancesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances getall forbidden response has a 3xx status code +func (o *PcloudPvminstancesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances getall forbidden response has a 4xx status code +func (o *PcloudPvminstancesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances getall forbidden response has a 5xx status code +func (o *PcloudPvminstancesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances getall forbidden response a status code equal to that given +func (o *PcloudPvminstancesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances getall forbidden response +func (o *PcloudPvminstancesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetallNotFound creates a PcloudPvminstancesGetallNotFound with default headers values +func NewPcloudPvminstancesGetallNotFound() *PcloudPvminstancesGetallNotFound { + return &PcloudPvminstancesGetallNotFound{} +} + +/* +PcloudPvminstancesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances getall not found response has a 2xx status code +func (o *PcloudPvminstancesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances getall not found response has a 3xx status code +func (o *PcloudPvminstancesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances getall not found response has a 4xx status code +func (o *PcloudPvminstancesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances getall not found response has a 5xx status code +func (o *PcloudPvminstancesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances getall not found response a status code equal to that given +func (o *PcloudPvminstancesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances getall not found response +func (o *PcloudPvminstancesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetallRequestTimeout creates a PcloudPvminstancesGetallRequestTimeout with default headers values +func NewPcloudPvminstancesGetallRequestTimeout() *PcloudPvminstancesGetallRequestTimeout { + return &PcloudPvminstancesGetallRequestTimeout{} +} + +/* +PcloudPvminstancesGetallRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudPvminstancesGetallRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances getall request timeout response has a 2xx status code +func (o *PcloudPvminstancesGetallRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances getall request timeout response has a 3xx status code +func (o *PcloudPvminstancesGetallRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances getall request timeout response has a 4xx status code +func (o *PcloudPvminstancesGetallRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances getall request timeout response has a 5xx status code +func (o *PcloudPvminstancesGetallRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances getall request timeout response a status code equal to that given +func (o *PcloudPvminstancesGetallRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud pvminstances getall request timeout response +func (o *PcloudPvminstancesGetallRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudPvminstancesGetallRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallRequestTimeout %s", 408, payload) +} + +func (o *PcloudPvminstancesGetallRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallRequestTimeout %s", 408, payload) +} + +func (o *PcloudPvminstancesGetallRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetallRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesGetallInternalServerError creates a PcloudPvminstancesGetallInternalServerError with default headers values +func NewPcloudPvminstancesGetallInternalServerError() *PcloudPvminstancesGetallInternalServerError { + return &PcloudPvminstancesGetallInternalServerError{} +} + +/* +PcloudPvminstancesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances getall internal server error response has a 2xx status code +func (o *PcloudPvminstancesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances getall internal server error response has a 3xx status code +func (o *PcloudPvminstancesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances getall internal server error response has a 4xx status code +func (o *PcloudPvminstancesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances getall internal server error response has a 5xx status code +func (o *PcloudPvminstancesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances getall internal server error response a status code equal to that given +func (o *PcloudPvminstancesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances getall internal server error response +func (o *PcloudPvminstancesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_delete_parameters.go new file mode 100644 index 000000000..cb8531804 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_delete_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesNetworksDeleteParams creates a new PcloudPvminstancesNetworksDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesNetworksDeleteParams() *PcloudPvminstancesNetworksDeleteParams { + return &PcloudPvminstancesNetworksDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesNetworksDeleteParamsWithTimeout creates a new PcloudPvminstancesNetworksDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesNetworksDeleteParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesNetworksDeleteParams { + return &PcloudPvminstancesNetworksDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesNetworksDeleteParamsWithContext creates a new PcloudPvminstancesNetworksDeleteParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesNetworksDeleteParamsWithContext(ctx context.Context) *PcloudPvminstancesNetworksDeleteParams { + return &PcloudPvminstancesNetworksDeleteParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesNetworksDeleteParamsWithHTTPClient creates a new PcloudPvminstancesNetworksDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesNetworksDeleteParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesNetworksDeleteParams { + return &PcloudPvminstancesNetworksDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesNetworksDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances networks delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesNetworksDeleteParams struct { + + /* Body. + + Remove a network from PVM Instance parameters + */ + Body *models.PVMInstanceRemoveNetwork + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesNetworksDeleteParams) WithDefaults() *PcloudPvminstancesNetworksDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesNetworksDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesNetworksDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) WithContext(ctx context.Context) *PcloudPvminstancesNetworksDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesNetworksDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) WithBody(body *models.PVMInstanceRemoveNetwork) *PcloudPvminstancesNetworksDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) SetBody(body *models.PVMInstanceRemoveNetwork) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesNetworksDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) WithNetworkID(networkID string) *PcloudPvminstancesNetworksDeleteParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesNetworksDeleteParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances networks delete params +func (o *PcloudPvminstancesNetworksDeleteParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesNetworksDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_delete_responses.go new file mode 100644 index 000000000..b08fd400e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_delete_responses.go @@ -0,0 +1,637 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesNetworksDeleteReader is a Reader for the PcloudPvminstancesNetworksDelete structure. +type PcloudPvminstancesNetworksDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesNetworksDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesNetworksDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesNetworksDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesNetworksDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesNetworksDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesNetworksDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesNetworksDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudPvminstancesNetworksDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesNetworksDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}] pcloud.pvminstances.networks.delete", response, response.Code()) + } +} + +// NewPcloudPvminstancesNetworksDeleteOK creates a PcloudPvminstancesNetworksDeleteOK with default headers values +func NewPcloudPvminstancesNetworksDeleteOK() *PcloudPvminstancesNetworksDeleteOK { + return &PcloudPvminstancesNetworksDeleteOK{} +} + +/* +PcloudPvminstancesNetworksDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesNetworksDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances networks delete o k response has a 2xx status code +func (o *PcloudPvminstancesNetworksDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances networks delete o k response has a 3xx status code +func (o *PcloudPvminstancesNetworksDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks delete o k response has a 4xx status code +func (o *PcloudPvminstancesNetworksDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances networks delete o k response has a 5xx status code +func (o *PcloudPvminstancesNetworksDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks delete o k response a status code equal to that given +func (o *PcloudPvminstancesNetworksDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances networks delete o k response +func (o *PcloudPvminstancesNetworksDeleteOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesNetworksDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteOK %s", 200, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteOK %s", 200, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksDeleteBadRequest creates a PcloudPvminstancesNetworksDeleteBadRequest with default headers values +func NewPcloudPvminstancesNetworksDeleteBadRequest() *PcloudPvminstancesNetworksDeleteBadRequest { + return &PcloudPvminstancesNetworksDeleteBadRequest{} +} + +/* +PcloudPvminstancesNetworksDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesNetworksDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks delete bad request response has a 2xx status code +func (o *PcloudPvminstancesNetworksDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks delete bad request response has a 3xx status code +func (o *PcloudPvminstancesNetworksDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks delete bad request response has a 4xx status code +func (o *PcloudPvminstancesNetworksDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks delete bad request response has a 5xx status code +func (o *PcloudPvminstancesNetworksDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks delete bad request response a status code equal to that given +func (o *PcloudPvminstancesNetworksDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances networks delete bad request response +func (o *PcloudPvminstancesNetworksDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesNetworksDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksDeleteUnauthorized creates a PcloudPvminstancesNetworksDeleteUnauthorized with default headers values +func NewPcloudPvminstancesNetworksDeleteUnauthorized() *PcloudPvminstancesNetworksDeleteUnauthorized { + return &PcloudPvminstancesNetworksDeleteUnauthorized{} +} + +/* +PcloudPvminstancesNetworksDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesNetworksDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks delete unauthorized response has a 2xx status code +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks delete unauthorized response has a 3xx status code +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks delete unauthorized response has a 4xx status code +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks delete unauthorized response has a 5xx status code +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks delete unauthorized response a status code equal to that given +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances networks delete unauthorized response +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksDeleteForbidden creates a PcloudPvminstancesNetworksDeleteForbidden with default headers values +func NewPcloudPvminstancesNetworksDeleteForbidden() *PcloudPvminstancesNetworksDeleteForbidden { + return &PcloudPvminstancesNetworksDeleteForbidden{} +} + +/* +PcloudPvminstancesNetworksDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesNetworksDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks delete forbidden response has a 2xx status code +func (o *PcloudPvminstancesNetworksDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks delete forbidden response has a 3xx status code +func (o *PcloudPvminstancesNetworksDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks delete forbidden response has a 4xx status code +func (o *PcloudPvminstancesNetworksDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks delete forbidden response has a 5xx status code +func (o *PcloudPvminstancesNetworksDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks delete forbidden response a status code equal to that given +func (o *PcloudPvminstancesNetworksDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances networks delete forbidden response +func (o *PcloudPvminstancesNetworksDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesNetworksDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksDeleteNotFound creates a PcloudPvminstancesNetworksDeleteNotFound with default headers values +func NewPcloudPvminstancesNetworksDeleteNotFound() *PcloudPvminstancesNetworksDeleteNotFound { + return &PcloudPvminstancesNetworksDeleteNotFound{} +} + +/* +PcloudPvminstancesNetworksDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesNetworksDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks delete not found response has a 2xx status code +func (o *PcloudPvminstancesNetworksDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks delete not found response has a 3xx status code +func (o *PcloudPvminstancesNetworksDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks delete not found response has a 4xx status code +func (o *PcloudPvminstancesNetworksDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks delete not found response has a 5xx status code +func (o *PcloudPvminstancesNetworksDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks delete not found response a status code equal to that given +func (o *PcloudPvminstancesNetworksDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances networks delete not found response +func (o *PcloudPvminstancesNetworksDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesNetworksDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksDeleteConflict creates a PcloudPvminstancesNetworksDeleteConflict with default headers values +func NewPcloudPvminstancesNetworksDeleteConflict() *PcloudPvminstancesNetworksDeleteConflict { + return &PcloudPvminstancesNetworksDeleteConflict{} +} + +/* +PcloudPvminstancesNetworksDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesNetworksDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks delete conflict response has a 2xx status code +func (o *PcloudPvminstancesNetworksDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks delete conflict response has a 3xx status code +func (o *PcloudPvminstancesNetworksDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks delete conflict response has a 4xx status code +func (o *PcloudPvminstancesNetworksDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks delete conflict response has a 5xx status code +func (o *PcloudPvminstancesNetworksDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks delete conflict response a status code equal to that given +func (o *PcloudPvminstancesNetworksDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances networks delete conflict response +func (o *PcloudPvminstancesNetworksDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesNetworksDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksDeleteGone creates a PcloudPvminstancesNetworksDeleteGone with default headers values +func NewPcloudPvminstancesNetworksDeleteGone() *PcloudPvminstancesNetworksDeleteGone { + return &PcloudPvminstancesNetworksDeleteGone{} +} + +/* +PcloudPvminstancesNetworksDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudPvminstancesNetworksDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks delete gone response has a 2xx status code +func (o *PcloudPvminstancesNetworksDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks delete gone response has a 3xx status code +func (o *PcloudPvminstancesNetworksDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks delete gone response has a 4xx status code +func (o *PcloudPvminstancesNetworksDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks delete gone response has a 5xx status code +func (o *PcloudPvminstancesNetworksDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks delete gone response a status code equal to that given +func (o *PcloudPvminstancesNetworksDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud pvminstances networks delete gone response +func (o *PcloudPvminstancesNetworksDeleteGone) Code() int { + return 410 +} + +func (o *PcloudPvminstancesNetworksDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteGone %s", 410, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteGone %s", 410, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksDeleteInternalServerError creates a PcloudPvminstancesNetworksDeleteInternalServerError with default headers values +func NewPcloudPvminstancesNetworksDeleteInternalServerError() *PcloudPvminstancesNetworksDeleteInternalServerError { + return &PcloudPvminstancesNetworksDeleteInternalServerError{} +} + +/* +PcloudPvminstancesNetworksDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesNetworksDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks delete internal server error response has a 2xx status code +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks delete internal server error response has a 3xx status code +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks delete internal server error response has a 4xx status code +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances networks delete internal server error response has a 5xx status code +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances networks delete internal server error response a status code equal to that given +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances networks delete internal server error response +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_get_parameters.go new file mode 100644 index 000000000..c99032229 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_get_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesNetworksGetParams creates a new PcloudPvminstancesNetworksGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesNetworksGetParams() *PcloudPvminstancesNetworksGetParams { + return &PcloudPvminstancesNetworksGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesNetworksGetParamsWithTimeout creates a new PcloudPvminstancesNetworksGetParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesNetworksGetParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesNetworksGetParams { + return &PcloudPvminstancesNetworksGetParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesNetworksGetParamsWithContext creates a new PcloudPvminstancesNetworksGetParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesNetworksGetParamsWithContext(ctx context.Context) *PcloudPvminstancesNetworksGetParams { + return &PcloudPvminstancesNetworksGetParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesNetworksGetParamsWithHTTPClient creates a new PcloudPvminstancesNetworksGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesNetworksGetParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesNetworksGetParams { + return &PcloudPvminstancesNetworksGetParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesNetworksGetParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances networks get operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesNetworksGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* NetworkID. + + Network ID + */ + NetworkID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances networks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesNetworksGetParams) WithDefaults() *PcloudPvminstancesNetworksGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances networks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesNetworksGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesNetworksGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) WithContext(ctx context.Context) *PcloudPvminstancesNetworksGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesNetworksGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesNetworksGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithNetworkID adds the networkID to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) WithNetworkID(networkID string) *PcloudPvminstancesNetworksGetParams { + o.SetNetworkID(networkID) + return o +} + +// SetNetworkID adds the networkId to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) SetNetworkID(networkID string) { + o.NetworkID = networkID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesNetworksGetParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances networks get params +func (o *PcloudPvminstancesNetworksGetParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesNetworksGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param network_id + if err := r.SetPathParam("network_id", o.NetworkID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_get_responses.go new file mode 100644 index 000000000..cea8703c1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesNetworksGetReader is a Reader for the PcloudPvminstancesNetworksGet structure. +type PcloudPvminstancesNetworksGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesNetworksGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesNetworksGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesNetworksGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesNetworksGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesNetworksGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesNetworksGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesNetworksGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}] pcloud.pvminstances.networks.get", response, response.Code()) + } +} + +// NewPcloudPvminstancesNetworksGetOK creates a PcloudPvminstancesNetworksGetOK with default headers values +func NewPcloudPvminstancesNetworksGetOK() *PcloudPvminstancesNetworksGetOK { + return &PcloudPvminstancesNetworksGetOK{} +} + +/* +PcloudPvminstancesNetworksGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesNetworksGetOK struct { + Payload *models.PVMInstanceNetworks +} + +// IsSuccess returns true when this pcloud pvminstances networks get o k response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances networks get o k response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks get o k response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances networks get o k response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks get o k response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances networks get o k response +func (o *PcloudPvminstancesNetworksGetOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesNetworksGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesNetworksGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesNetworksGetOK) GetPayload() *models.PVMInstanceNetworks { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstanceNetworks) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetBadRequest creates a PcloudPvminstancesNetworksGetBadRequest with default headers values +func NewPcloudPvminstancesNetworksGetBadRequest() *PcloudPvminstancesNetworksGetBadRequest { + return &PcloudPvminstancesNetworksGetBadRequest{} +} + +/* +PcloudPvminstancesNetworksGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesNetworksGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks get bad request response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks get bad request response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks get bad request response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks get bad request response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks get bad request response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances networks get bad request response +func (o *PcloudPvminstancesNetworksGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesNetworksGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesNetworksGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesNetworksGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetUnauthorized creates a PcloudPvminstancesNetworksGetUnauthorized with default headers values +func NewPcloudPvminstancesNetworksGetUnauthorized() *PcloudPvminstancesNetworksGetUnauthorized { + return &PcloudPvminstancesNetworksGetUnauthorized{} +} + +/* +PcloudPvminstancesNetworksGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesNetworksGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks get unauthorized response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks get unauthorized response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks get unauthorized response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks get unauthorized response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks get unauthorized response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances networks get unauthorized response +func (o *PcloudPvminstancesNetworksGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesNetworksGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesNetworksGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesNetworksGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetForbidden creates a PcloudPvminstancesNetworksGetForbidden with default headers values +func NewPcloudPvminstancesNetworksGetForbidden() *PcloudPvminstancesNetworksGetForbidden { + return &PcloudPvminstancesNetworksGetForbidden{} +} + +/* +PcloudPvminstancesNetworksGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesNetworksGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks get forbidden response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks get forbidden response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks get forbidden response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks get forbidden response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks get forbidden response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances networks get forbidden response +func (o *PcloudPvminstancesNetworksGetForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesNetworksGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesNetworksGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesNetworksGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetNotFound creates a PcloudPvminstancesNetworksGetNotFound with default headers values +func NewPcloudPvminstancesNetworksGetNotFound() *PcloudPvminstancesNetworksGetNotFound { + return &PcloudPvminstancesNetworksGetNotFound{} +} + +/* +PcloudPvminstancesNetworksGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesNetworksGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks get not found response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks get not found response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks get not found response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks get not found response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks get not found response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances networks get not found response +func (o *PcloudPvminstancesNetworksGetNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesNetworksGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesNetworksGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesNetworksGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetInternalServerError creates a PcloudPvminstancesNetworksGetInternalServerError with default headers values +func NewPcloudPvminstancesNetworksGetInternalServerError() *PcloudPvminstancesNetworksGetInternalServerError { + return &PcloudPvminstancesNetworksGetInternalServerError{} +} + +/* +PcloudPvminstancesNetworksGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesNetworksGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks get internal server error response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks get internal server error response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks get internal server error response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances networks get internal server error response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances networks get internal server error response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances networks get internal server error response +func (o *PcloudPvminstancesNetworksGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesNetworksGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesNetworksGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}][%d] pcloudPvminstancesNetworksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesNetworksGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_getall_parameters.go new file mode 100644 index 000000000..6871438eb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_getall_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesNetworksGetallParams creates a new PcloudPvminstancesNetworksGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesNetworksGetallParams() *PcloudPvminstancesNetworksGetallParams { + return &PcloudPvminstancesNetworksGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesNetworksGetallParamsWithTimeout creates a new PcloudPvminstancesNetworksGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesNetworksGetallParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesNetworksGetallParams { + return &PcloudPvminstancesNetworksGetallParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesNetworksGetallParamsWithContext creates a new PcloudPvminstancesNetworksGetallParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesNetworksGetallParamsWithContext(ctx context.Context) *PcloudPvminstancesNetworksGetallParams { + return &PcloudPvminstancesNetworksGetallParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesNetworksGetallParamsWithHTTPClient creates a new PcloudPvminstancesNetworksGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesNetworksGetallParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesNetworksGetallParams { + return &PcloudPvminstancesNetworksGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesNetworksGetallParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances networks getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesNetworksGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances networks getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesNetworksGetallParams) WithDefaults() *PcloudPvminstancesNetworksGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances networks getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesNetworksGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesNetworksGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) WithContext(ctx context.Context) *PcloudPvminstancesNetworksGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesNetworksGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesNetworksGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesNetworksGetallParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances networks getall params +func (o *PcloudPvminstancesNetworksGetallParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesNetworksGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_getall_responses.go new file mode 100644 index 000000000..e75d513cb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesNetworksGetallReader is a Reader for the PcloudPvminstancesNetworksGetall structure. +type PcloudPvminstancesNetworksGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesNetworksGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesNetworksGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesNetworksGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesNetworksGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesNetworksGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesNetworksGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesNetworksGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks] pcloud.pvminstances.networks.getall", response, response.Code()) + } +} + +// NewPcloudPvminstancesNetworksGetallOK creates a PcloudPvminstancesNetworksGetallOK with default headers values +func NewPcloudPvminstancesNetworksGetallOK() *PcloudPvminstancesNetworksGetallOK { + return &PcloudPvminstancesNetworksGetallOK{} +} + +/* +PcloudPvminstancesNetworksGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesNetworksGetallOK struct { + Payload *models.PVMInstanceNetworks +} + +// IsSuccess returns true when this pcloud pvminstances networks getall o k response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances networks getall o k response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks getall o k response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances networks getall o k response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks getall o k response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances networks getall o k response +func (o *PcloudPvminstancesNetworksGetallOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesNetworksGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesNetworksGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesNetworksGetallOK) GetPayload() *models.PVMInstanceNetworks { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstanceNetworks) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetallBadRequest creates a PcloudPvminstancesNetworksGetallBadRequest with default headers values +func NewPcloudPvminstancesNetworksGetallBadRequest() *PcloudPvminstancesNetworksGetallBadRequest { + return &PcloudPvminstancesNetworksGetallBadRequest{} +} + +/* +PcloudPvminstancesNetworksGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesNetworksGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks getall bad request response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks getall bad request response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks getall bad request response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks getall bad request response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks getall bad request response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances networks getall bad request response +func (o *PcloudPvminstancesNetworksGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesNetworksGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesNetworksGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesNetworksGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetallUnauthorized creates a PcloudPvminstancesNetworksGetallUnauthorized with default headers values +func NewPcloudPvminstancesNetworksGetallUnauthorized() *PcloudPvminstancesNetworksGetallUnauthorized { + return &PcloudPvminstancesNetworksGetallUnauthorized{} +} + +/* +PcloudPvminstancesNetworksGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesNetworksGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks getall unauthorized response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks getall unauthorized response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks getall unauthorized response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks getall unauthorized response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks getall unauthorized response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances networks getall unauthorized response +func (o *PcloudPvminstancesNetworksGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesNetworksGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesNetworksGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesNetworksGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetallForbidden creates a PcloudPvminstancesNetworksGetallForbidden with default headers values +func NewPcloudPvminstancesNetworksGetallForbidden() *PcloudPvminstancesNetworksGetallForbidden { + return &PcloudPvminstancesNetworksGetallForbidden{} +} + +/* +PcloudPvminstancesNetworksGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesNetworksGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks getall forbidden response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks getall forbidden response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks getall forbidden response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks getall forbidden response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks getall forbidden response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances networks getall forbidden response +func (o *PcloudPvminstancesNetworksGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesNetworksGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesNetworksGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesNetworksGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetallNotFound creates a PcloudPvminstancesNetworksGetallNotFound with default headers values +func NewPcloudPvminstancesNetworksGetallNotFound() *PcloudPvminstancesNetworksGetallNotFound { + return &PcloudPvminstancesNetworksGetallNotFound{} +} + +/* +PcloudPvminstancesNetworksGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesNetworksGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks getall not found response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks getall not found response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks getall not found response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks getall not found response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks getall not found response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances networks getall not found response +func (o *PcloudPvminstancesNetworksGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesNetworksGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesNetworksGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesNetworksGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksGetallInternalServerError creates a PcloudPvminstancesNetworksGetallInternalServerError with default headers values +func NewPcloudPvminstancesNetworksGetallInternalServerError() *PcloudPvminstancesNetworksGetallInternalServerError { + return &PcloudPvminstancesNetworksGetallInternalServerError{} +} + +/* +PcloudPvminstancesNetworksGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesNetworksGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks getall internal server error response has a 2xx status code +func (o *PcloudPvminstancesNetworksGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks getall internal server error response has a 3xx status code +func (o *PcloudPvminstancesNetworksGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks getall internal server error response has a 4xx status code +func (o *PcloudPvminstancesNetworksGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances networks getall internal server error response has a 5xx status code +func (o *PcloudPvminstancesNetworksGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances networks getall internal server error response a status code equal to that given +func (o *PcloudPvminstancesNetworksGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances networks getall internal server error response +func (o *PcloudPvminstancesNetworksGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesNetworksGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesNetworksGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesNetworksGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_post_parameters.go new file mode 100644 index 000000000..70a2d29c6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesNetworksPostParams creates a new PcloudPvminstancesNetworksPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesNetworksPostParams() *PcloudPvminstancesNetworksPostParams { + return &PcloudPvminstancesNetworksPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesNetworksPostParamsWithTimeout creates a new PcloudPvminstancesNetworksPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesNetworksPostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesNetworksPostParams { + return &PcloudPvminstancesNetworksPostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesNetworksPostParamsWithContext creates a new PcloudPvminstancesNetworksPostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesNetworksPostParamsWithContext(ctx context.Context) *PcloudPvminstancesNetworksPostParams { + return &PcloudPvminstancesNetworksPostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesNetworksPostParamsWithHTTPClient creates a new PcloudPvminstancesNetworksPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesNetworksPostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesNetworksPostParams { + return &PcloudPvminstancesNetworksPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesNetworksPostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances networks post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesNetworksPostParams struct { + + /* Body. + + Add network to PVM Instance parameters + */ + Body *models.PVMInstanceAddNetwork + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances networks post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesNetworksPostParams) WithDefaults() *PcloudPvminstancesNetworksPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances networks post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesNetworksPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesNetworksPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) WithContext(ctx context.Context) *PcloudPvminstancesNetworksPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesNetworksPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) WithBody(body *models.PVMInstanceAddNetwork) *PcloudPvminstancesNetworksPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) SetBody(body *models.PVMInstanceAddNetwork) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesNetworksPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesNetworksPostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances networks post params +func (o *PcloudPvminstancesNetworksPostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesNetworksPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_post_responses.go new file mode 100644 index 000000000..05bd41d23 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_networks_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesNetworksPostReader is a Reader for the PcloudPvminstancesNetworksPost structure. +type PcloudPvminstancesNetworksPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesNetworksPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewPcloudPvminstancesNetworksPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesNetworksPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesNetworksPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesNetworksPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesNetworksPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesNetworksPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesNetworksPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesNetworksPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks] pcloud.pvminstances.networks.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesNetworksPostCreated creates a PcloudPvminstancesNetworksPostCreated with default headers values +func NewPcloudPvminstancesNetworksPostCreated() *PcloudPvminstancesNetworksPostCreated { + return &PcloudPvminstancesNetworksPostCreated{} +} + +/* +PcloudPvminstancesNetworksPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudPvminstancesNetworksPostCreated struct { + Payload *models.PVMInstanceNetwork +} + +// IsSuccess returns true when this pcloud pvminstances networks post created response has a 2xx status code +func (o *PcloudPvminstancesNetworksPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances networks post created response has a 3xx status code +func (o *PcloudPvminstancesNetworksPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks post created response has a 4xx status code +func (o *PcloudPvminstancesNetworksPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances networks post created response has a 5xx status code +func (o *PcloudPvminstancesNetworksPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks post created response a status code equal to that given +func (o *PcloudPvminstancesNetworksPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud pvminstances networks post created response +func (o *PcloudPvminstancesNetworksPostCreated) Code() int { + return 201 +} + +func (o *PcloudPvminstancesNetworksPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostCreated %s", 201, payload) +} + +func (o *PcloudPvminstancesNetworksPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostCreated %s", 201, payload) +} + +func (o *PcloudPvminstancesNetworksPostCreated) GetPayload() *models.PVMInstanceNetwork { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstanceNetwork) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksPostBadRequest creates a PcloudPvminstancesNetworksPostBadRequest with default headers values +func NewPcloudPvminstancesNetworksPostBadRequest() *PcloudPvminstancesNetworksPostBadRequest { + return &PcloudPvminstancesNetworksPostBadRequest{} +} + +/* +PcloudPvminstancesNetworksPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesNetworksPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks post bad request response has a 2xx status code +func (o *PcloudPvminstancesNetworksPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks post bad request response has a 3xx status code +func (o *PcloudPvminstancesNetworksPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks post bad request response has a 4xx status code +func (o *PcloudPvminstancesNetworksPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks post bad request response has a 5xx status code +func (o *PcloudPvminstancesNetworksPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks post bad request response a status code equal to that given +func (o *PcloudPvminstancesNetworksPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances networks post bad request response +func (o *PcloudPvminstancesNetworksPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesNetworksPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesNetworksPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesNetworksPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksPostUnauthorized creates a PcloudPvminstancesNetworksPostUnauthorized with default headers values +func NewPcloudPvminstancesNetworksPostUnauthorized() *PcloudPvminstancesNetworksPostUnauthorized { + return &PcloudPvminstancesNetworksPostUnauthorized{} +} + +/* +PcloudPvminstancesNetworksPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesNetworksPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesNetworksPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesNetworksPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesNetworksPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesNetworksPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesNetworksPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances networks post unauthorized response +func (o *PcloudPvminstancesNetworksPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesNetworksPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesNetworksPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesNetworksPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksPostForbidden creates a PcloudPvminstancesNetworksPostForbidden with default headers values +func NewPcloudPvminstancesNetworksPostForbidden() *PcloudPvminstancesNetworksPostForbidden { + return &PcloudPvminstancesNetworksPostForbidden{} +} + +/* +PcloudPvminstancesNetworksPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesNetworksPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks post forbidden response has a 2xx status code +func (o *PcloudPvminstancesNetworksPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks post forbidden response has a 3xx status code +func (o *PcloudPvminstancesNetworksPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks post forbidden response has a 4xx status code +func (o *PcloudPvminstancesNetworksPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks post forbidden response has a 5xx status code +func (o *PcloudPvminstancesNetworksPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks post forbidden response a status code equal to that given +func (o *PcloudPvminstancesNetworksPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances networks post forbidden response +func (o *PcloudPvminstancesNetworksPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesNetworksPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesNetworksPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesNetworksPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksPostNotFound creates a PcloudPvminstancesNetworksPostNotFound with default headers values +func NewPcloudPvminstancesNetworksPostNotFound() *PcloudPvminstancesNetworksPostNotFound { + return &PcloudPvminstancesNetworksPostNotFound{} +} + +/* +PcloudPvminstancesNetworksPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesNetworksPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks post not found response has a 2xx status code +func (o *PcloudPvminstancesNetworksPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks post not found response has a 3xx status code +func (o *PcloudPvminstancesNetworksPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks post not found response has a 4xx status code +func (o *PcloudPvminstancesNetworksPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks post not found response has a 5xx status code +func (o *PcloudPvminstancesNetworksPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks post not found response a status code equal to that given +func (o *PcloudPvminstancesNetworksPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances networks post not found response +func (o *PcloudPvminstancesNetworksPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesNetworksPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesNetworksPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesNetworksPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksPostConflict creates a PcloudPvminstancesNetworksPostConflict with default headers values +func NewPcloudPvminstancesNetworksPostConflict() *PcloudPvminstancesNetworksPostConflict { + return &PcloudPvminstancesNetworksPostConflict{} +} + +/* +PcloudPvminstancesNetworksPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesNetworksPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks post conflict response has a 2xx status code +func (o *PcloudPvminstancesNetworksPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks post conflict response has a 3xx status code +func (o *PcloudPvminstancesNetworksPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks post conflict response has a 4xx status code +func (o *PcloudPvminstancesNetworksPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks post conflict response has a 5xx status code +func (o *PcloudPvminstancesNetworksPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks post conflict response a status code equal to that given +func (o *PcloudPvminstancesNetworksPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances networks post conflict response +func (o *PcloudPvminstancesNetworksPostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesNetworksPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesNetworksPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesNetworksPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksPostUnprocessableEntity creates a PcloudPvminstancesNetworksPostUnprocessableEntity with default headers values +func NewPcloudPvminstancesNetworksPostUnprocessableEntity() *PcloudPvminstancesNetworksPostUnprocessableEntity { + return &PcloudPvminstancesNetworksPostUnprocessableEntity{} +} + +/* +PcloudPvminstancesNetworksPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesNetworksPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks post unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks post unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks post unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances networks post unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances networks post unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances networks post unprocessable entity response +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesNetworksPostInternalServerError creates a PcloudPvminstancesNetworksPostInternalServerError with default headers values +func NewPcloudPvminstancesNetworksPostInternalServerError() *PcloudPvminstancesNetworksPostInternalServerError { + return &PcloudPvminstancesNetworksPostInternalServerError{} +} + +/* +PcloudPvminstancesNetworksPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesNetworksPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances networks post internal server error response has a 2xx status code +func (o *PcloudPvminstancesNetworksPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances networks post internal server error response has a 3xx status code +func (o *PcloudPvminstancesNetworksPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances networks post internal server error response has a 4xx status code +func (o *PcloudPvminstancesNetworksPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances networks post internal server error response has a 5xx status code +func (o *PcloudPvminstancesNetworksPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances networks post internal server error response a status code equal to that given +func (o *PcloudPvminstancesNetworksPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances networks post internal server error response +func (o *PcloudPvminstancesNetworksPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesNetworksPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesNetworksPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks][%d] pcloudPvminstancesNetworksPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesNetworksPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesNetworksPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_operations_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_operations_post_parameters.go new file mode 100644 index 000000000..d21988dd2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_operations_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesOperationsPostParams creates a new PcloudPvminstancesOperationsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesOperationsPostParams() *PcloudPvminstancesOperationsPostParams { + return &PcloudPvminstancesOperationsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesOperationsPostParamsWithTimeout creates a new PcloudPvminstancesOperationsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesOperationsPostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesOperationsPostParams { + return &PcloudPvminstancesOperationsPostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesOperationsPostParamsWithContext creates a new PcloudPvminstancesOperationsPostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesOperationsPostParamsWithContext(ctx context.Context) *PcloudPvminstancesOperationsPostParams { + return &PcloudPvminstancesOperationsPostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesOperationsPostParamsWithHTTPClient creates a new PcloudPvminstancesOperationsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesOperationsPostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesOperationsPostParams { + return &PcloudPvminstancesOperationsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesOperationsPostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances operations post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesOperationsPostParams struct { + + /* Body. + + Parameters for the desired operations + */ + Body *models.PVMInstanceOperation + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances operations post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesOperationsPostParams) WithDefaults() *PcloudPvminstancesOperationsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances operations post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesOperationsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesOperationsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) WithContext(ctx context.Context) *PcloudPvminstancesOperationsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesOperationsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) WithBody(body *models.PVMInstanceOperation) *PcloudPvminstancesOperationsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) SetBody(body *models.PVMInstanceOperation) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesOperationsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesOperationsPostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances operations post params +func (o *PcloudPvminstancesOperationsPostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesOperationsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_operations_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_operations_post_responses.go new file mode 100644 index 000000000..ce1f55703 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_operations_post_responses.go @@ -0,0 +1,637 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesOperationsPostReader is a Reader for the PcloudPvminstancesOperationsPost structure. +type PcloudPvminstancesOperationsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesOperationsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesOperationsPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesOperationsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesOperationsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesOperationsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesOperationsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesOperationsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesOperationsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesOperationsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations] pcloud.pvminstances.operations.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesOperationsPostOK creates a PcloudPvminstancesOperationsPostOK with default headers values +func NewPcloudPvminstancesOperationsPostOK() *PcloudPvminstancesOperationsPostOK { + return &PcloudPvminstancesOperationsPostOK{} +} + +/* +PcloudPvminstancesOperationsPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesOperationsPostOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances operations post o k response has a 2xx status code +func (o *PcloudPvminstancesOperationsPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances operations post o k response has a 3xx status code +func (o *PcloudPvminstancesOperationsPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances operations post o k response has a 4xx status code +func (o *PcloudPvminstancesOperationsPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances operations post o k response has a 5xx status code +func (o *PcloudPvminstancesOperationsPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances operations post o k response a status code equal to that given +func (o *PcloudPvminstancesOperationsPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances operations post o k response +func (o *PcloudPvminstancesOperationsPostOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesOperationsPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesOperationsPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesOperationsPostOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesOperationsPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesOperationsPostBadRequest creates a PcloudPvminstancesOperationsPostBadRequest with default headers values +func NewPcloudPvminstancesOperationsPostBadRequest() *PcloudPvminstancesOperationsPostBadRequest { + return &PcloudPvminstancesOperationsPostBadRequest{} +} + +/* +PcloudPvminstancesOperationsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesOperationsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances operations post bad request response has a 2xx status code +func (o *PcloudPvminstancesOperationsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances operations post bad request response has a 3xx status code +func (o *PcloudPvminstancesOperationsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances operations post bad request response has a 4xx status code +func (o *PcloudPvminstancesOperationsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances operations post bad request response has a 5xx status code +func (o *PcloudPvminstancesOperationsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances operations post bad request response a status code equal to that given +func (o *PcloudPvminstancesOperationsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances operations post bad request response +func (o *PcloudPvminstancesOperationsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesOperationsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesOperationsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesOperationsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesOperationsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesOperationsPostUnauthorized creates a PcloudPvminstancesOperationsPostUnauthorized with default headers values +func NewPcloudPvminstancesOperationsPostUnauthorized() *PcloudPvminstancesOperationsPostUnauthorized { + return &PcloudPvminstancesOperationsPostUnauthorized{} +} + +/* +PcloudPvminstancesOperationsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesOperationsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances operations post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesOperationsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances operations post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesOperationsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances operations post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesOperationsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances operations post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesOperationsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances operations post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesOperationsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances operations post unauthorized response +func (o *PcloudPvminstancesOperationsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesOperationsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesOperationsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesOperationsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesOperationsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesOperationsPostForbidden creates a PcloudPvminstancesOperationsPostForbidden with default headers values +func NewPcloudPvminstancesOperationsPostForbidden() *PcloudPvminstancesOperationsPostForbidden { + return &PcloudPvminstancesOperationsPostForbidden{} +} + +/* +PcloudPvminstancesOperationsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesOperationsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances operations post forbidden response has a 2xx status code +func (o *PcloudPvminstancesOperationsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances operations post forbidden response has a 3xx status code +func (o *PcloudPvminstancesOperationsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances operations post forbidden response has a 4xx status code +func (o *PcloudPvminstancesOperationsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances operations post forbidden response has a 5xx status code +func (o *PcloudPvminstancesOperationsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances operations post forbidden response a status code equal to that given +func (o *PcloudPvminstancesOperationsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances operations post forbidden response +func (o *PcloudPvminstancesOperationsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesOperationsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesOperationsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesOperationsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesOperationsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesOperationsPostNotFound creates a PcloudPvminstancesOperationsPostNotFound with default headers values +func NewPcloudPvminstancesOperationsPostNotFound() *PcloudPvminstancesOperationsPostNotFound { + return &PcloudPvminstancesOperationsPostNotFound{} +} + +/* +PcloudPvminstancesOperationsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesOperationsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances operations post not found response has a 2xx status code +func (o *PcloudPvminstancesOperationsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances operations post not found response has a 3xx status code +func (o *PcloudPvminstancesOperationsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances operations post not found response has a 4xx status code +func (o *PcloudPvminstancesOperationsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances operations post not found response has a 5xx status code +func (o *PcloudPvminstancesOperationsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances operations post not found response a status code equal to that given +func (o *PcloudPvminstancesOperationsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances operations post not found response +func (o *PcloudPvminstancesOperationsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesOperationsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesOperationsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesOperationsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesOperationsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesOperationsPostConflict creates a PcloudPvminstancesOperationsPostConflict with default headers values +func NewPcloudPvminstancesOperationsPostConflict() *PcloudPvminstancesOperationsPostConflict { + return &PcloudPvminstancesOperationsPostConflict{} +} + +/* +PcloudPvminstancesOperationsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesOperationsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances operations post conflict response has a 2xx status code +func (o *PcloudPvminstancesOperationsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances operations post conflict response has a 3xx status code +func (o *PcloudPvminstancesOperationsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances operations post conflict response has a 4xx status code +func (o *PcloudPvminstancesOperationsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances operations post conflict response has a 5xx status code +func (o *PcloudPvminstancesOperationsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances operations post conflict response a status code equal to that given +func (o *PcloudPvminstancesOperationsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances operations post conflict response +func (o *PcloudPvminstancesOperationsPostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesOperationsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesOperationsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesOperationsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesOperationsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesOperationsPostUnprocessableEntity creates a PcloudPvminstancesOperationsPostUnprocessableEntity with default headers values +func NewPcloudPvminstancesOperationsPostUnprocessableEntity() *PcloudPvminstancesOperationsPostUnprocessableEntity { + return &PcloudPvminstancesOperationsPostUnprocessableEntity{} +} + +/* +PcloudPvminstancesOperationsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesOperationsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances operations post unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances operations post unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances operations post unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances operations post unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances operations post unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances operations post unprocessable entity response +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesOperationsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesOperationsPostInternalServerError creates a PcloudPvminstancesOperationsPostInternalServerError with default headers values +func NewPcloudPvminstancesOperationsPostInternalServerError() *PcloudPvminstancesOperationsPostInternalServerError { + return &PcloudPvminstancesOperationsPostInternalServerError{} +} + +/* +PcloudPvminstancesOperationsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesOperationsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances operations post internal server error response has a 2xx status code +func (o *PcloudPvminstancesOperationsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances operations post internal server error response has a 3xx status code +func (o *PcloudPvminstancesOperationsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances operations post internal server error response has a 4xx status code +func (o *PcloudPvminstancesOperationsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances operations post internal server error response has a 5xx status code +func (o *PcloudPvminstancesOperationsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances operations post internal server error response a status code equal to that given +func (o *PcloudPvminstancesOperationsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances operations post internal server error response +func (o *PcloudPvminstancesOperationsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesOperationsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesOperationsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations][%d] pcloudPvminstancesOperationsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesOperationsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesOperationsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_post_parameters.go new file mode 100644 index 000000000..b4982b92c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_post_parameters.go @@ -0,0 +1,210 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesPostParams creates a new PcloudPvminstancesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesPostParams() *PcloudPvminstancesPostParams { + return &PcloudPvminstancesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesPostParamsWithTimeout creates a new PcloudPvminstancesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesPostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesPostParams { + return &PcloudPvminstancesPostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesPostParamsWithContext creates a new PcloudPvminstancesPostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesPostParamsWithContext(ctx context.Context) *PcloudPvminstancesPostParams { + return &PcloudPvminstancesPostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesPostParamsWithHTTPClient creates a new PcloudPvminstancesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesPostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesPostParams { + return &PcloudPvminstancesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesPostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesPostParams struct { + + /* Body. + + Parameters for the creation of a new Power VM Instance + */ + Body *models.PVMInstanceCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SkipHostValidation. + + Option to skip host validation on PVMInstance Create API + */ + SkipHostValidation *bool + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesPostParams) WithDefaults() *PcloudPvminstancesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) WithContext(ctx context.Context) *PcloudPvminstancesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) WithBody(body *models.PVMInstanceCreate) *PcloudPvminstancesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) SetBody(body *models.PVMInstanceCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSkipHostValidation adds the skipHostValidation to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) WithSkipHostValidation(skipHostValidation *bool) *PcloudPvminstancesPostParams { + o.SetSkipHostValidation(skipHostValidation) + return o +} + +// SetSkipHostValidation adds the skipHostValidation to the pcloud pvminstances post params +func (o *PcloudPvminstancesPostParams) SetSkipHostValidation(skipHostValidation *bool) { + o.SkipHostValidation = skipHostValidation +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.SkipHostValidation != nil { + + // query param skipHostValidation + var qrSkipHostValidation bool + + if o.SkipHostValidation != nil { + qrSkipHostValidation = *o.SkipHostValidation + } + qSkipHostValidation := swag.FormatBool(qrSkipHostValidation) + if qSkipHostValidation != "" { + + if err := r.SetQueryParam("skipHostValidation", qSkipHostValidation); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_post_responses.go new file mode 100644 index 000000000..164f7d42b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_post_responses.go @@ -0,0 +1,861 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesPostReader is a Reader for the PcloudPvminstancesPost structure. +type PcloudPvminstancesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewPcloudPvminstancesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudPvminstancesPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewPcloudPvminstancesPostGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances] pcloud.pvminstances.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesPostOK creates a PcloudPvminstancesPostOK with default headers values +func NewPcloudPvminstancesPostOK() *PcloudPvminstancesPostOK { + return &PcloudPvminstancesPostOK{} +} + +/* +PcloudPvminstancesPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesPostOK struct { + Payload models.PVMInstanceList +} + +// IsSuccess returns true when this pcloud pvminstances post o k response has a 2xx status code +func (o *PcloudPvminstancesPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances post o k response has a 3xx status code +func (o *PcloudPvminstancesPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post o k response has a 4xx status code +func (o *PcloudPvminstancesPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances post o k response has a 5xx status code +func (o *PcloudPvminstancesPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post o k response a status code equal to that given +func (o *PcloudPvminstancesPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances post o k response +func (o *PcloudPvminstancesPostOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesPostOK) GetPayload() models.PVMInstanceList { + return o.Payload +} + +func (o *PcloudPvminstancesPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostCreated creates a PcloudPvminstancesPostCreated with default headers values +func NewPcloudPvminstancesPostCreated() *PcloudPvminstancesPostCreated { + return &PcloudPvminstancesPostCreated{} +} + +/* +PcloudPvminstancesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudPvminstancesPostCreated struct { + Payload models.PVMInstanceList +} + +// IsSuccess returns true when this pcloud pvminstances post created response has a 2xx status code +func (o *PcloudPvminstancesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances post created response has a 3xx status code +func (o *PcloudPvminstancesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post created response has a 4xx status code +func (o *PcloudPvminstancesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances post created response has a 5xx status code +func (o *PcloudPvminstancesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post created response a status code equal to that given +func (o *PcloudPvminstancesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud pvminstances post created response +func (o *PcloudPvminstancesPostCreated) Code() int { + return 201 +} + +func (o *PcloudPvminstancesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostCreated %s", 201, payload) +} + +func (o *PcloudPvminstancesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostCreated %s", 201, payload) +} + +func (o *PcloudPvminstancesPostCreated) GetPayload() models.PVMInstanceList { + return o.Payload +} + +func (o *PcloudPvminstancesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostAccepted creates a PcloudPvminstancesPostAccepted with default headers values +func NewPcloudPvminstancesPostAccepted() *PcloudPvminstancesPostAccepted { + return &PcloudPvminstancesPostAccepted{} +} + +/* +PcloudPvminstancesPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesPostAccepted struct { + Payload models.PVMInstanceList +} + +// IsSuccess returns true when this pcloud pvminstances post accepted response has a 2xx status code +func (o *PcloudPvminstancesPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances post accepted response has a 3xx status code +func (o *PcloudPvminstancesPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post accepted response has a 4xx status code +func (o *PcloudPvminstancesPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances post accepted response has a 5xx status code +func (o *PcloudPvminstancesPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post accepted response a status code equal to that given +func (o *PcloudPvminstancesPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances post accepted response +func (o *PcloudPvminstancesPostAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesPostAccepted) GetPayload() models.PVMInstanceList { + return o.Payload +} + +func (o *PcloudPvminstancesPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostBadRequest creates a PcloudPvminstancesPostBadRequest with default headers values +func NewPcloudPvminstancesPostBadRequest() *PcloudPvminstancesPostBadRequest { + return &PcloudPvminstancesPostBadRequest{} +} + +/* +PcloudPvminstancesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances post bad request response has a 2xx status code +func (o *PcloudPvminstancesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances post bad request response has a 3xx status code +func (o *PcloudPvminstancesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post bad request response has a 4xx status code +func (o *PcloudPvminstancesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances post bad request response has a 5xx status code +func (o *PcloudPvminstancesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post bad request response a status code equal to that given +func (o *PcloudPvminstancesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances post bad request response +func (o *PcloudPvminstancesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostUnauthorized creates a PcloudPvminstancesPostUnauthorized with default headers values +func NewPcloudPvminstancesPostUnauthorized() *PcloudPvminstancesPostUnauthorized { + return &PcloudPvminstancesPostUnauthorized{} +} + +/* +PcloudPvminstancesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances post unauthorized response +func (o *PcloudPvminstancesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostForbidden creates a PcloudPvminstancesPostForbidden with default headers values +func NewPcloudPvminstancesPostForbidden() *PcloudPvminstancesPostForbidden { + return &PcloudPvminstancesPostForbidden{} +} + +/* +PcloudPvminstancesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances post forbidden response has a 2xx status code +func (o *PcloudPvminstancesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances post forbidden response has a 3xx status code +func (o *PcloudPvminstancesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post forbidden response has a 4xx status code +func (o *PcloudPvminstancesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances post forbidden response has a 5xx status code +func (o *PcloudPvminstancesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post forbidden response a status code equal to that given +func (o *PcloudPvminstancesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances post forbidden response +func (o *PcloudPvminstancesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostNotFound creates a PcloudPvminstancesPostNotFound with default headers values +func NewPcloudPvminstancesPostNotFound() *PcloudPvminstancesPostNotFound { + return &PcloudPvminstancesPostNotFound{} +} + +/* +PcloudPvminstancesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances post not found response has a 2xx status code +func (o *PcloudPvminstancesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances post not found response has a 3xx status code +func (o *PcloudPvminstancesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post not found response has a 4xx status code +func (o *PcloudPvminstancesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances post not found response has a 5xx status code +func (o *PcloudPvminstancesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post not found response a status code equal to that given +func (o *PcloudPvminstancesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances post not found response +func (o *PcloudPvminstancesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostConflict creates a PcloudPvminstancesPostConflict with default headers values +func NewPcloudPvminstancesPostConflict() *PcloudPvminstancesPostConflict { + return &PcloudPvminstancesPostConflict{} +} + +/* +PcloudPvminstancesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances post conflict response has a 2xx status code +func (o *PcloudPvminstancesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances post conflict response has a 3xx status code +func (o *PcloudPvminstancesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post conflict response has a 4xx status code +func (o *PcloudPvminstancesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances post conflict response has a 5xx status code +func (o *PcloudPvminstancesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post conflict response a status code equal to that given +func (o *PcloudPvminstancesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances post conflict response +func (o *PcloudPvminstancesPostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostUnprocessableEntity creates a PcloudPvminstancesPostUnprocessableEntity with default headers values +func NewPcloudPvminstancesPostUnprocessableEntity() *PcloudPvminstancesPostUnprocessableEntity { + return &PcloudPvminstancesPostUnprocessableEntity{} +} + +/* +PcloudPvminstancesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances post unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances post unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances post unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances post unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances post unprocessable entity response +func (o *PcloudPvminstancesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostInternalServerError creates a PcloudPvminstancesPostInternalServerError with default headers values +func NewPcloudPvminstancesPostInternalServerError() *PcloudPvminstancesPostInternalServerError { + return &PcloudPvminstancesPostInternalServerError{} +} + +/* +PcloudPvminstancesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances post internal server error response has a 2xx status code +func (o *PcloudPvminstancesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances post internal server error response has a 3xx status code +func (o *PcloudPvminstancesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post internal server error response has a 4xx status code +func (o *PcloudPvminstancesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances post internal server error response has a 5xx status code +func (o *PcloudPvminstancesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances post internal server error response a status code equal to that given +func (o *PcloudPvminstancesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances post internal server error response +func (o *PcloudPvminstancesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPostGatewayTimeout creates a PcloudPvminstancesPostGatewayTimeout with default headers values +func NewPcloudPvminstancesPostGatewayTimeout() *PcloudPvminstancesPostGatewayTimeout { + return &PcloudPvminstancesPostGatewayTimeout{} +} + +/* +PcloudPvminstancesPostGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type PcloudPvminstancesPostGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances post gateway timeout response has a 2xx status code +func (o *PcloudPvminstancesPostGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances post gateway timeout response has a 3xx status code +func (o *PcloudPvminstancesPostGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances post gateway timeout response has a 4xx status code +func (o *PcloudPvminstancesPostGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances post gateway timeout response has a 5xx status code +func (o *PcloudPvminstancesPostGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances post gateway timeout response a status code equal to that given +func (o *PcloudPvminstancesPostGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the pcloud pvminstances post gateway timeout response +func (o *PcloudPvminstancesPostGatewayTimeout) Code() int { + return 504 +} + +func (o *PcloudPvminstancesPostGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudPvminstancesPostGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudPvminstancesPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudPvminstancesPostGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPostGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_put_parameters.go new file mode 100644 index 000000000..761025746 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesPutParams creates a new PcloudPvminstancesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesPutParams() *PcloudPvminstancesPutParams { + return &PcloudPvminstancesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesPutParamsWithTimeout creates a new PcloudPvminstancesPutParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesPutParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesPutParams { + return &PcloudPvminstancesPutParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesPutParamsWithContext creates a new PcloudPvminstancesPutParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesPutParamsWithContext(ctx context.Context) *PcloudPvminstancesPutParams { + return &PcloudPvminstancesPutParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesPutParamsWithHTTPClient creates a new PcloudPvminstancesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesPutParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesPutParams { + return &PcloudPvminstancesPutParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesPutParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances put operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesPutParams struct { + + /* Body. + + Parameters to update a PCloud PVM Instance + */ + Body *models.PVMInstanceUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesPutParams) WithDefaults() *PcloudPvminstancesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) WithContext(ctx context.Context) *PcloudPvminstancesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) WithBody(body *models.PVMInstanceUpdate) *PcloudPvminstancesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) SetBody(body *models.PVMInstanceUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesPutParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances put params +func (o *PcloudPvminstancesPutParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_put_responses.go new file mode 100644 index 000000000..66037ef2d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_put_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesPutReader is a Reader for the PcloudPvminstancesPut structure. +type PcloudPvminstancesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesPutAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}] pcloud.pvminstances.put", response, response.Code()) + } +} + +// NewPcloudPvminstancesPutAccepted creates a PcloudPvminstancesPutAccepted with default headers values +func NewPcloudPvminstancesPutAccepted() *PcloudPvminstancesPutAccepted { + return &PcloudPvminstancesPutAccepted{} +} + +/* +PcloudPvminstancesPutAccepted describes a response with status code 202, with default header values. + +Accepted (this is a long running operation) +*/ +type PcloudPvminstancesPutAccepted struct { + Payload *models.PVMInstanceUpdateResponse +} + +// IsSuccess returns true when this pcloud pvminstances put accepted response has a 2xx status code +func (o *PcloudPvminstancesPutAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances put accepted response has a 3xx status code +func (o *PcloudPvminstancesPutAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances put accepted response has a 4xx status code +func (o *PcloudPvminstancesPutAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances put accepted response has a 5xx status code +func (o *PcloudPvminstancesPutAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances put accepted response a status code equal to that given +func (o *PcloudPvminstancesPutAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances put accepted response +func (o *PcloudPvminstancesPutAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesPutAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesPutAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesPutAccepted) GetPayload() *models.PVMInstanceUpdateResponse { + return o.Payload +} + +func (o *PcloudPvminstancesPutAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstanceUpdateResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPutBadRequest creates a PcloudPvminstancesPutBadRequest with default headers values +func NewPcloudPvminstancesPutBadRequest() *PcloudPvminstancesPutBadRequest { + return &PcloudPvminstancesPutBadRequest{} +} + +/* +PcloudPvminstancesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances put bad request response has a 2xx status code +func (o *PcloudPvminstancesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances put bad request response has a 3xx status code +func (o *PcloudPvminstancesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances put bad request response has a 4xx status code +func (o *PcloudPvminstancesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances put bad request response has a 5xx status code +func (o *PcloudPvminstancesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances put bad request response a status code equal to that given +func (o *PcloudPvminstancesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances put bad request response +func (o *PcloudPvminstancesPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPutUnauthorized creates a PcloudPvminstancesPutUnauthorized with default headers values +func NewPcloudPvminstancesPutUnauthorized() *PcloudPvminstancesPutUnauthorized { + return &PcloudPvminstancesPutUnauthorized{} +} + +/* +PcloudPvminstancesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances put unauthorized response has a 2xx status code +func (o *PcloudPvminstancesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances put unauthorized response has a 3xx status code +func (o *PcloudPvminstancesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances put unauthorized response has a 4xx status code +func (o *PcloudPvminstancesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances put unauthorized response has a 5xx status code +func (o *PcloudPvminstancesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances put unauthorized response a status code equal to that given +func (o *PcloudPvminstancesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances put unauthorized response +func (o *PcloudPvminstancesPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPutForbidden creates a PcloudPvminstancesPutForbidden with default headers values +func NewPcloudPvminstancesPutForbidden() *PcloudPvminstancesPutForbidden { + return &PcloudPvminstancesPutForbidden{} +} + +/* +PcloudPvminstancesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances put forbidden response has a 2xx status code +func (o *PcloudPvminstancesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances put forbidden response has a 3xx status code +func (o *PcloudPvminstancesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances put forbidden response has a 4xx status code +func (o *PcloudPvminstancesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances put forbidden response has a 5xx status code +func (o *PcloudPvminstancesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances put forbidden response a status code equal to that given +func (o *PcloudPvminstancesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances put forbidden response +func (o *PcloudPvminstancesPutForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPutNotFound creates a PcloudPvminstancesPutNotFound with default headers values +func NewPcloudPvminstancesPutNotFound() *PcloudPvminstancesPutNotFound { + return &PcloudPvminstancesPutNotFound{} +} + +/* +PcloudPvminstancesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances put not found response has a 2xx status code +func (o *PcloudPvminstancesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances put not found response has a 3xx status code +func (o *PcloudPvminstancesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances put not found response has a 4xx status code +func (o *PcloudPvminstancesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances put not found response has a 5xx status code +func (o *PcloudPvminstancesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances put not found response a status code equal to that given +func (o *PcloudPvminstancesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances put not found response +func (o *PcloudPvminstancesPutNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPutConflict creates a PcloudPvminstancesPutConflict with default headers values +func NewPcloudPvminstancesPutConflict() *PcloudPvminstancesPutConflict { + return &PcloudPvminstancesPutConflict{} +} + +/* +PcloudPvminstancesPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances put conflict response has a 2xx status code +func (o *PcloudPvminstancesPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances put conflict response has a 3xx status code +func (o *PcloudPvminstancesPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances put conflict response has a 4xx status code +func (o *PcloudPvminstancesPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances put conflict response has a 5xx status code +func (o *PcloudPvminstancesPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances put conflict response a status code equal to that given +func (o *PcloudPvminstancesPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances put conflict response +func (o *PcloudPvminstancesPutConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPutUnprocessableEntity creates a PcloudPvminstancesPutUnprocessableEntity with default headers values +func NewPcloudPvminstancesPutUnprocessableEntity() *PcloudPvminstancesPutUnprocessableEntity { + return &PcloudPvminstancesPutUnprocessableEntity{} +} + +/* +PcloudPvminstancesPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances put unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances put unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances put unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances put unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances put unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances put unprocessable entity response +func (o *PcloudPvminstancesPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesPutInternalServerError creates a PcloudPvminstancesPutInternalServerError with default headers values +func NewPcloudPvminstancesPutInternalServerError() *PcloudPvminstancesPutInternalServerError { + return &PcloudPvminstancesPutInternalServerError{} +} + +/* +PcloudPvminstancesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances put internal server error response has a 2xx status code +func (o *PcloudPvminstancesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances put internal server error response has a 3xx status code +func (o *PcloudPvminstancesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances put internal server error response has a 4xx status code +func (o *PcloudPvminstancesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances put internal server error response has a 5xx status code +func (o *PcloudPvminstancesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances put internal server error response a status code equal to that given +func (o *PcloudPvminstancesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances put internal server error response +func (o *PcloudPvminstancesPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][%d] pcloudPvminstancesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_getall_parameters.go new file mode 100644 index 000000000..c4b49ce02 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_getall_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesSnapshotsGetallParams creates a new PcloudPvminstancesSnapshotsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesSnapshotsGetallParams() *PcloudPvminstancesSnapshotsGetallParams { + return &PcloudPvminstancesSnapshotsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesSnapshotsGetallParamsWithTimeout creates a new PcloudPvminstancesSnapshotsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesSnapshotsGetallParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesSnapshotsGetallParams { + return &PcloudPvminstancesSnapshotsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesSnapshotsGetallParamsWithContext creates a new PcloudPvminstancesSnapshotsGetallParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesSnapshotsGetallParamsWithContext(ctx context.Context) *PcloudPvminstancesSnapshotsGetallParams { + return &PcloudPvminstancesSnapshotsGetallParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesSnapshotsGetallParamsWithHTTPClient creates a new PcloudPvminstancesSnapshotsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesSnapshotsGetallParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesSnapshotsGetallParams { + return &PcloudPvminstancesSnapshotsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesSnapshotsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances snapshots getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesSnapshotsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances snapshots getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesSnapshotsGetallParams) WithDefaults() *PcloudPvminstancesSnapshotsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances snapshots getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesSnapshotsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesSnapshotsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) WithContext(ctx context.Context) *PcloudPvminstancesSnapshotsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesSnapshotsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesSnapshotsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesSnapshotsGetallParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances snapshots getall params +func (o *PcloudPvminstancesSnapshotsGetallParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesSnapshotsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_getall_responses.go new file mode 100644 index 000000000..ff0da6017 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesSnapshotsGetallReader is a Reader for the PcloudPvminstancesSnapshotsGetall structure. +type PcloudPvminstancesSnapshotsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesSnapshotsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesSnapshotsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesSnapshotsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesSnapshotsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesSnapshotsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesSnapshotsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesSnapshotsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots] pcloud.pvminstances.snapshots.getall", response, response.Code()) + } +} + +// NewPcloudPvminstancesSnapshotsGetallOK creates a PcloudPvminstancesSnapshotsGetallOK with default headers values +func NewPcloudPvminstancesSnapshotsGetallOK() *PcloudPvminstancesSnapshotsGetallOK { + return &PcloudPvminstancesSnapshotsGetallOK{} +} + +/* +PcloudPvminstancesSnapshotsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesSnapshotsGetallOK struct { + Payload *models.Snapshots +} + +// IsSuccess returns true when this pcloud pvminstances snapshots getall o k response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances snapshots getall o k response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots getall o k response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances snapshots getall o k response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots getall o k response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances snapshots getall o k response +func (o *PcloudPvminstancesSnapshotsGetallOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesSnapshotsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallOK) GetPayload() *models.Snapshots { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Snapshots) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsGetallBadRequest creates a PcloudPvminstancesSnapshotsGetallBadRequest with default headers values +func NewPcloudPvminstancesSnapshotsGetallBadRequest() *PcloudPvminstancesSnapshotsGetallBadRequest { + return &PcloudPvminstancesSnapshotsGetallBadRequest{} +} + +/* +PcloudPvminstancesSnapshotsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesSnapshotsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots getall bad request response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots getall bad request response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots getall bad request response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots getall bad request response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots getall bad request response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances snapshots getall bad request response +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsGetallUnauthorized creates a PcloudPvminstancesSnapshotsGetallUnauthorized with default headers values +func NewPcloudPvminstancesSnapshotsGetallUnauthorized() *PcloudPvminstancesSnapshotsGetallUnauthorized { + return &PcloudPvminstancesSnapshotsGetallUnauthorized{} +} + +/* +PcloudPvminstancesSnapshotsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesSnapshotsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots getall unauthorized response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots getall unauthorized response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots getall unauthorized response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots getall unauthorized response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots getall unauthorized response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances snapshots getall unauthorized response +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsGetallForbidden creates a PcloudPvminstancesSnapshotsGetallForbidden with default headers values +func NewPcloudPvminstancesSnapshotsGetallForbidden() *PcloudPvminstancesSnapshotsGetallForbidden { + return &PcloudPvminstancesSnapshotsGetallForbidden{} +} + +/* +PcloudPvminstancesSnapshotsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesSnapshotsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots getall forbidden response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots getall forbidden response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots getall forbidden response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots getall forbidden response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots getall forbidden response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances snapshots getall forbidden response +func (o *PcloudPvminstancesSnapshotsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesSnapshotsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsGetallNotFound creates a PcloudPvminstancesSnapshotsGetallNotFound with default headers values +func NewPcloudPvminstancesSnapshotsGetallNotFound() *PcloudPvminstancesSnapshotsGetallNotFound { + return &PcloudPvminstancesSnapshotsGetallNotFound{} +} + +/* +PcloudPvminstancesSnapshotsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesSnapshotsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots getall not found response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots getall not found response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots getall not found response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots getall not found response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots getall not found response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances snapshots getall not found response +func (o *PcloudPvminstancesSnapshotsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesSnapshotsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsGetallInternalServerError creates a PcloudPvminstancesSnapshotsGetallInternalServerError with default headers values +func NewPcloudPvminstancesSnapshotsGetallInternalServerError() *PcloudPvminstancesSnapshotsGetallInternalServerError { + return &PcloudPvminstancesSnapshotsGetallInternalServerError{} +} + +/* +PcloudPvminstancesSnapshotsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesSnapshotsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots getall internal server error response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots getall internal server error response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots getall internal server error response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances snapshots getall internal server error response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances snapshots getall internal server error response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances snapshots getall internal server error response +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_post_parameters.go new file mode 100644 index 000000000..f2e944835 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesSnapshotsPostParams creates a new PcloudPvminstancesSnapshotsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesSnapshotsPostParams() *PcloudPvminstancesSnapshotsPostParams { + return &PcloudPvminstancesSnapshotsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesSnapshotsPostParamsWithTimeout creates a new PcloudPvminstancesSnapshotsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesSnapshotsPostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesSnapshotsPostParams { + return &PcloudPvminstancesSnapshotsPostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesSnapshotsPostParamsWithContext creates a new PcloudPvminstancesSnapshotsPostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesSnapshotsPostParamsWithContext(ctx context.Context) *PcloudPvminstancesSnapshotsPostParams { + return &PcloudPvminstancesSnapshotsPostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesSnapshotsPostParamsWithHTTPClient creates a new PcloudPvminstancesSnapshotsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesSnapshotsPostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesSnapshotsPostParams { + return &PcloudPvminstancesSnapshotsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesSnapshotsPostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances snapshots post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesSnapshotsPostParams struct { + + /* Body. + + PVM Instance snapshot create parameters + */ + Body *models.SnapshotCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances snapshots post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesSnapshotsPostParams) WithDefaults() *PcloudPvminstancesSnapshotsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances snapshots post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesSnapshotsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesSnapshotsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) WithContext(ctx context.Context) *PcloudPvminstancesSnapshotsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesSnapshotsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) WithBody(body *models.SnapshotCreate) *PcloudPvminstancesSnapshotsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) SetBody(body *models.SnapshotCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesSnapshotsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesSnapshotsPostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances snapshots post params +func (o *PcloudPvminstancesSnapshotsPostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesSnapshotsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_post_responses.go new file mode 100644 index 000000000..b48da0936 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesSnapshotsPostReader is a Reader for the PcloudPvminstancesSnapshotsPost structure. +type PcloudPvminstancesSnapshotsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesSnapshotsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesSnapshotsPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesSnapshotsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesSnapshotsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesSnapshotsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesSnapshotsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesSnapshotsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesSnapshotsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewPcloudPvminstancesSnapshotsPostGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots] pcloud.pvminstances.snapshots.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesSnapshotsPostAccepted creates a PcloudPvminstancesSnapshotsPostAccepted with default headers values +func NewPcloudPvminstancesSnapshotsPostAccepted() *PcloudPvminstancesSnapshotsPostAccepted { + return &PcloudPvminstancesSnapshotsPostAccepted{} +} + +/* +PcloudPvminstancesSnapshotsPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesSnapshotsPostAccepted struct { + Payload *models.SnapshotCreateResponse +} + +// IsSuccess returns true when this pcloud pvminstances snapshots post accepted response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances snapshots post accepted response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots post accepted response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances snapshots post accepted response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots post accepted response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances snapshots post accepted response +func (o *PcloudPvminstancesSnapshotsPostAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesSnapshotsPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostAccepted) GetPayload() *models.SnapshotCreateResponse { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SnapshotCreateResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsPostBadRequest creates a PcloudPvminstancesSnapshotsPostBadRequest with default headers values +func NewPcloudPvminstancesSnapshotsPostBadRequest() *PcloudPvminstancesSnapshotsPostBadRequest { + return &PcloudPvminstancesSnapshotsPostBadRequest{} +} + +/* +PcloudPvminstancesSnapshotsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesSnapshotsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots post bad request response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots post bad request response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots post bad request response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots post bad request response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots post bad request response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances snapshots post bad request response +func (o *PcloudPvminstancesSnapshotsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesSnapshotsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsPostUnauthorized creates a PcloudPvminstancesSnapshotsPostUnauthorized with default headers values +func NewPcloudPvminstancesSnapshotsPostUnauthorized() *PcloudPvminstancesSnapshotsPostUnauthorized { + return &PcloudPvminstancesSnapshotsPostUnauthorized{} +} + +/* +PcloudPvminstancesSnapshotsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesSnapshotsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances snapshots post unauthorized response +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsPostForbidden creates a PcloudPvminstancesSnapshotsPostForbidden with default headers values +func NewPcloudPvminstancesSnapshotsPostForbidden() *PcloudPvminstancesSnapshotsPostForbidden { + return &PcloudPvminstancesSnapshotsPostForbidden{} +} + +/* +PcloudPvminstancesSnapshotsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesSnapshotsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots post forbidden response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots post forbidden response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots post forbidden response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots post forbidden response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots post forbidden response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances snapshots post forbidden response +func (o *PcloudPvminstancesSnapshotsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesSnapshotsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsPostNotFound creates a PcloudPvminstancesSnapshotsPostNotFound with default headers values +func NewPcloudPvminstancesSnapshotsPostNotFound() *PcloudPvminstancesSnapshotsPostNotFound { + return &PcloudPvminstancesSnapshotsPostNotFound{} +} + +/* +PcloudPvminstancesSnapshotsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesSnapshotsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots post not found response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots post not found response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots post not found response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots post not found response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots post not found response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances snapshots post not found response +func (o *PcloudPvminstancesSnapshotsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesSnapshotsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsPostConflict creates a PcloudPvminstancesSnapshotsPostConflict with default headers values +func NewPcloudPvminstancesSnapshotsPostConflict() *PcloudPvminstancesSnapshotsPostConflict { + return &PcloudPvminstancesSnapshotsPostConflict{} +} + +/* +PcloudPvminstancesSnapshotsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesSnapshotsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots post conflict response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots post conflict response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots post conflict response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots post conflict response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots post conflict response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances snapshots post conflict response +func (o *PcloudPvminstancesSnapshotsPostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesSnapshotsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsPostInternalServerError creates a PcloudPvminstancesSnapshotsPostInternalServerError with default headers values +func NewPcloudPvminstancesSnapshotsPostInternalServerError() *PcloudPvminstancesSnapshotsPostInternalServerError { + return &PcloudPvminstancesSnapshotsPostInternalServerError{} +} + +/* +PcloudPvminstancesSnapshotsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesSnapshotsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots post internal server error response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots post internal server error response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots post internal server error response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances snapshots post internal server error response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances snapshots post internal server error response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances snapshots post internal server error response +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsPostGatewayTimeout creates a PcloudPvminstancesSnapshotsPostGatewayTimeout with default headers values +func NewPcloudPvminstancesSnapshotsPostGatewayTimeout() *PcloudPvminstancesSnapshotsPostGatewayTimeout { + return &PcloudPvminstancesSnapshotsPostGatewayTimeout{} +} + +/* +PcloudPvminstancesSnapshotsPostGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout +*/ +type PcloudPvminstancesSnapshotsPostGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots post gateway timeout response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots post gateway timeout response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots post gateway timeout response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances snapshots post gateway timeout response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances snapshots post gateway timeout response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the pcloud pvminstances snapshots post gateway timeout response +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) Code() int { + return 504 +} + +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots][%d] pcloudPvminstancesSnapshotsPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsPostGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_restore_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_restore_post_parameters.go new file mode 100644 index 000000000..608c6d514 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_restore_post_parameters.go @@ -0,0 +1,253 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesSnapshotsRestorePostParams creates a new PcloudPvminstancesSnapshotsRestorePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesSnapshotsRestorePostParams() *PcloudPvminstancesSnapshotsRestorePostParams { + return &PcloudPvminstancesSnapshotsRestorePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesSnapshotsRestorePostParamsWithTimeout creates a new PcloudPvminstancesSnapshotsRestorePostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesSnapshotsRestorePostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesSnapshotsRestorePostParams { + return &PcloudPvminstancesSnapshotsRestorePostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesSnapshotsRestorePostParamsWithContext creates a new PcloudPvminstancesSnapshotsRestorePostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesSnapshotsRestorePostParamsWithContext(ctx context.Context) *PcloudPvminstancesSnapshotsRestorePostParams { + return &PcloudPvminstancesSnapshotsRestorePostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesSnapshotsRestorePostParamsWithHTTPClient creates a new PcloudPvminstancesSnapshotsRestorePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesSnapshotsRestorePostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesSnapshotsRestorePostParams { + return &PcloudPvminstancesSnapshotsRestorePostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesSnapshotsRestorePostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances snapshots restore post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesSnapshotsRestorePostParams struct { + + /* Body. + + PVM Instance snapshot restore parameters + */ + Body *models.SnapshotRestore + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + /* RestoreFailAction. + + Action to take on a failed snapshot restore + */ + RestoreFailAction *string + + /* SnapshotID. + + PVM Instance snapshot id + */ + SnapshotID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances snapshots restore post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithDefaults() *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances snapshots restore post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithContext(ctx context.Context) *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithBody(body *models.SnapshotRestore) *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetBody(body *models.SnapshotRestore) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WithRestoreFailAction adds the restoreFailAction to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithRestoreFailAction(restoreFailAction *string) *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetRestoreFailAction(restoreFailAction) + return o +} + +// SetRestoreFailAction adds the restoreFailAction to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetRestoreFailAction(restoreFailAction *string) { + o.RestoreFailAction = restoreFailAction +} + +// WithSnapshotID adds the snapshotID to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WithSnapshotID(snapshotID string) *PcloudPvminstancesSnapshotsRestorePostParams { + o.SetSnapshotID(snapshotID) + return o +} + +// SetSnapshotID adds the snapshotId to the pcloud pvminstances snapshots restore post params +func (o *PcloudPvminstancesSnapshotsRestorePostParams) SetSnapshotID(snapshotID string) { + o.SnapshotID = snapshotID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesSnapshotsRestorePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if o.RestoreFailAction != nil { + + // query param restore_fail_action + var qrRestoreFailAction string + + if o.RestoreFailAction != nil { + qrRestoreFailAction = *o.RestoreFailAction + } + qRestoreFailAction := qrRestoreFailAction + if qRestoreFailAction != "" { + + if err := r.SetQueryParam("restore_fail_action", qRestoreFailAction); err != nil { + return err + } + } + } + + // path param snapshot_id + if err := r.SetPathParam("snapshot_id", o.SnapshotID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_restore_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_restore_post_responses.go new file mode 100644 index 000000000..f07d612ef --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_pvminstances_snapshots_restore_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesSnapshotsRestorePostReader is a Reader for the PcloudPvminstancesSnapshotsRestorePost structure. +type PcloudPvminstancesSnapshotsRestorePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesSnapshotsRestorePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesSnapshotsRestorePostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesSnapshotsRestorePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesSnapshotsRestorePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesSnapshotsRestorePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesSnapshotsRestorePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesSnapshotsRestorePostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesSnapshotsRestorePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore] pcloud.pvminstances.snapshots.restore.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesSnapshotsRestorePostAccepted creates a PcloudPvminstancesSnapshotsRestorePostAccepted with default headers values +func NewPcloudPvminstancesSnapshotsRestorePostAccepted() *PcloudPvminstancesSnapshotsRestorePostAccepted { + return &PcloudPvminstancesSnapshotsRestorePostAccepted{} +} + +/* +PcloudPvminstancesSnapshotsRestorePostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesSnapshotsRestorePostAccepted struct { + Payload *models.Snapshot +} + +// IsSuccess returns true when this pcloud pvminstances snapshots restore post accepted response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances snapshots restore post accepted response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots restore post accepted response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances snapshots restore post accepted response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots restore post accepted response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances snapshots restore post accepted response +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) GetPayload() *models.Snapshot { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsRestorePostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Snapshot) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsRestorePostBadRequest creates a PcloudPvminstancesSnapshotsRestorePostBadRequest with default headers values +func NewPcloudPvminstancesSnapshotsRestorePostBadRequest() *PcloudPvminstancesSnapshotsRestorePostBadRequest { + return &PcloudPvminstancesSnapshotsRestorePostBadRequest{} +} + +/* +PcloudPvminstancesSnapshotsRestorePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesSnapshotsRestorePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots restore post bad request response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots restore post bad request response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots restore post bad request response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots restore post bad request response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots restore post bad request response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances snapshots restore post bad request response +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsRestorePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsRestorePostUnauthorized creates a PcloudPvminstancesSnapshotsRestorePostUnauthorized with default headers values +func NewPcloudPvminstancesSnapshotsRestorePostUnauthorized() *PcloudPvminstancesSnapshotsRestorePostUnauthorized { + return &PcloudPvminstancesSnapshotsRestorePostUnauthorized{} +} + +/* +PcloudPvminstancesSnapshotsRestorePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesSnapshotsRestorePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots restore post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots restore post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots restore post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots restore post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots restore post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances snapshots restore post unauthorized response +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsRestorePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsRestorePostForbidden creates a PcloudPvminstancesSnapshotsRestorePostForbidden with default headers values +func NewPcloudPvminstancesSnapshotsRestorePostForbidden() *PcloudPvminstancesSnapshotsRestorePostForbidden { + return &PcloudPvminstancesSnapshotsRestorePostForbidden{} +} + +/* +PcloudPvminstancesSnapshotsRestorePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesSnapshotsRestorePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots restore post forbidden response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots restore post forbidden response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots restore post forbidden response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots restore post forbidden response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots restore post forbidden response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances snapshots restore post forbidden response +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsRestorePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsRestorePostNotFound creates a PcloudPvminstancesSnapshotsRestorePostNotFound with default headers values +func NewPcloudPvminstancesSnapshotsRestorePostNotFound() *PcloudPvminstancesSnapshotsRestorePostNotFound { + return &PcloudPvminstancesSnapshotsRestorePostNotFound{} +} + +/* +PcloudPvminstancesSnapshotsRestorePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesSnapshotsRestorePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots restore post not found response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots restore post not found response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots restore post not found response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots restore post not found response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots restore post not found response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances snapshots restore post not found response +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsRestorePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsRestorePostConflict creates a PcloudPvminstancesSnapshotsRestorePostConflict with default headers values +func NewPcloudPvminstancesSnapshotsRestorePostConflict() *PcloudPvminstancesSnapshotsRestorePostConflict { + return &PcloudPvminstancesSnapshotsRestorePostConflict{} +} + +/* +PcloudPvminstancesSnapshotsRestorePostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesSnapshotsRestorePostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots restore post conflict response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots restore post conflict response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots restore post conflict response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances snapshots restore post conflict response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances snapshots restore post conflict response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances snapshots restore post conflict response +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsRestorePostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesSnapshotsRestorePostInternalServerError creates a PcloudPvminstancesSnapshotsRestorePostInternalServerError with default headers values +func NewPcloudPvminstancesSnapshotsRestorePostInternalServerError() *PcloudPvminstancesSnapshotsRestorePostInternalServerError { + return &PcloudPvminstancesSnapshotsRestorePostInternalServerError{} +} + +/* +PcloudPvminstancesSnapshotsRestorePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesSnapshotsRestorePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances snapshots restore post internal server error response has a 2xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances snapshots restore post internal server error response has a 3xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances snapshots restore post internal server error response has a 4xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances snapshots restore post internal server error response has a 5xx status code +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances snapshots restore post internal server error response a status code equal to that given +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances snapshots restore post internal server error response +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore][%d] pcloudPvminstancesSnapshotsRestorePostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesSnapshotsRestorePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_get_parameters.go new file mode 100644 index 000000000..caa2694f1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV2PvminstancesCaptureGetParams creates a new PcloudV2PvminstancesCaptureGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2PvminstancesCaptureGetParams() *PcloudV2PvminstancesCaptureGetParams { + return &PcloudV2PvminstancesCaptureGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2PvminstancesCaptureGetParamsWithTimeout creates a new PcloudV2PvminstancesCaptureGetParams object +// with the ability to set a timeout on a request. +func NewPcloudV2PvminstancesCaptureGetParamsWithTimeout(timeout time.Duration) *PcloudV2PvminstancesCaptureGetParams { + return &PcloudV2PvminstancesCaptureGetParams{ + timeout: timeout, + } +} + +// NewPcloudV2PvminstancesCaptureGetParamsWithContext creates a new PcloudV2PvminstancesCaptureGetParams object +// with the ability to set a context for a request. +func NewPcloudV2PvminstancesCaptureGetParamsWithContext(ctx context.Context) *PcloudV2PvminstancesCaptureGetParams { + return &PcloudV2PvminstancesCaptureGetParams{ + Context: ctx, + } +} + +// NewPcloudV2PvminstancesCaptureGetParamsWithHTTPClient creates a new PcloudV2PvminstancesCaptureGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2PvminstancesCaptureGetParamsWithHTTPClient(client *http.Client) *PcloudV2PvminstancesCaptureGetParams { + return &PcloudV2PvminstancesCaptureGetParams{ + HTTPClient: client, + } +} + +/* +PcloudV2PvminstancesCaptureGetParams contains all the parameters to send to the API endpoint + + for the pcloud v2 pvminstances capture get operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2PvminstancesCaptureGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 pvminstances capture get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesCaptureGetParams) WithDefaults() *PcloudV2PvminstancesCaptureGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 pvminstances capture get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesCaptureGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) WithTimeout(timeout time.Duration) *PcloudV2PvminstancesCaptureGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) WithContext(ctx context.Context) *PcloudV2PvminstancesCaptureGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) WithHTTPClient(client *http.Client) *PcloudV2PvminstancesCaptureGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2PvminstancesCaptureGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) WithPvmInstanceID(pvmInstanceID string) *PcloudV2PvminstancesCaptureGetParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud v2 pvminstances capture get params +func (o *PcloudV2PvminstancesCaptureGetParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2PvminstancesCaptureGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_get_responses.go new file mode 100644 index 000000000..87c4fa65c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2PvminstancesCaptureGetReader is a Reader for the PcloudV2PvminstancesCaptureGet structure. +type PcloudV2PvminstancesCaptureGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2PvminstancesCaptureGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2PvminstancesCaptureGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2PvminstancesCaptureGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2PvminstancesCaptureGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2PvminstancesCaptureGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2PvminstancesCaptureGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2PvminstancesCaptureGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture] pcloud.v2.pvminstances.capture.get", response, response.Code()) + } +} + +// NewPcloudV2PvminstancesCaptureGetOK creates a PcloudV2PvminstancesCaptureGetOK with default headers values +func NewPcloudV2PvminstancesCaptureGetOK() *PcloudV2PvminstancesCaptureGetOK { + return &PcloudV2PvminstancesCaptureGetOK{} +} + +/* +PcloudV2PvminstancesCaptureGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2PvminstancesCaptureGetOK struct { + Payload *models.Job +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture get o k response has a 2xx status code +func (o *PcloudV2PvminstancesCaptureGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture get o k response has a 3xx status code +func (o *PcloudV2PvminstancesCaptureGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture get o k response has a 4xx status code +func (o *PcloudV2PvminstancesCaptureGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances capture get o k response has a 5xx status code +func (o *PcloudV2PvminstancesCaptureGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture get o k response a status code equal to that given +func (o *PcloudV2PvminstancesCaptureGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 pvminstances capture get o k response +func (o *PcloudV2PvminstancesCaptureGetOK) Code() int { + return 200 +} + +func (o *PcloudV2PvminstancesCaptureGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetOK %s", 200, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetOK %s", 200, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetOK) GetPayload() *models.Job { + return o.Payload +} + +func (o *PcloudV2PvminstancesCaptureGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Job) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCaptureGetBadRequest creates a PcloudV2PvminstancesCaptureGetBadRequest with default headers values +func NewPcloudV2PvminstancesCaptureGetBadRequest() *PcloudV2PvminstancesCaptureGetBadRequest { + return &PcloudV2PvminstancesCaptureGetBadRequest{} +} + +/* +PcloudV2PvminstancesCaptureGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2PvminstancesCaptureGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture get bad request response has a 2xx status code +func (o *PcloudV2PvminstancesCaptureGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture get bad request response has a 3xx status code +func (o *PcloudV2PvminstancesCaptureGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture get bad request response has a 4xx status code +func (o *PcloudV2PvminstancesCaptureGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture get bad request response has a 5xx status code +func (o *PcloudV2PvminstancesCaptureGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture get bad request response a status code equal to that given +func (o *PcloudV2PvminstancesCaptureGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 pvminstances capture get bad request response +func (o *PcloudV2PvminstancesCaptureGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2PvminstancesCaptureGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCaptureGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCaptureGetUnauthorized creates a PcloudV2PvminstancesCaptureGetUnauthorized with default headers values +func NewPcloudV2PvminstancesCaptureGetUnauthorized() *PcloudV2PvminstancesCaptureGetUnauthorized { + return &PcloudV2PvminstancesCaptureGetUnauthorized{} +} + +/* +PcloudV2PvminstancesCaptureGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2PvminstancesCaptureGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture get unauthorized response has a 2xx status code +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture get unauthorized response has a 3xx status code +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture get unauthorized response has a 4xx status code +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture get unauthorized response has a 5xx status code +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture get unauthorized response a status code equal to that given +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 pvminstances capture get unauthorized response +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCaptureGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCaptureGetForbidden creates a PcloudV2PvminstancesCaptureGetForbidden with default headers values +func NewPcloudV2PvminstancesCaptureGetForbidden() *PcloudV2PvminstancesCaptureGetForbidden { + return &PcloudV2PvminstancesCaptureGetForbidden{} +} + +/* +PcloudV2PvminstancesCaptureGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2PvminstancesCaptureGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture get forbidden response has a 2xx status code +func (o *PcloudV2PvminstancesCaptureGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture get forbidden response has a 3xx status code +func (o *PcloudV2PvminstancesCaptureGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture get forbidden response has a 4xx status code +func (o *PcloudV2PvminstancesCaptureGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture get forbidden response has a 5xx status code +func (o *PcloudV2PvminstancesCaptureGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture get forbidden response a status code equal to that given +func (o *PcloudV2PvminstancesCaptureGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 pvminstances capture get forbidden response +func (o *PcloudV2PvminstancesCaptureGetForbidden) Code() int { + return 403 +} + +func (o *PcloudV2PvminstancesCaptureGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCaptureGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCaptureGetNotFound creates a PcloudV2PvminstancesCaptureGetNotFound with default headers values +func NewPcloudV2PvminstancesCaptureGetNotFound() *PcloudV2PvminstancesCaptureGetNotFound { + return &PcloudV2PvminstancesCaptureGetNotFound{} +} + +/* +PcloudV2PvminstancesCaptureGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2PvminstancesCaptureGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture get not found response has a 2xx status code +func (o *PcloudV2PvminstancesCaptureGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture get not found response has a 3xx status code +func (o *PcloudV2PvminstancesCaptureGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture get not found response has a 4xx status code +func (o *PcloudV2PvminstancesCaptureGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture get not found response has a 5xx status code +func (o *PcloudV2PvminstancesCaptureGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture get not found response a status code equal to that given +func (o *PcloudV2PvminstancesCaptureGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 pvminstances capture get not found response +func (o *PcloudV2PvminstancesCaptureGetNotFound) Code() int { + return 404 +} + +func (o *PcloudV2PvminstancesCaptureGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCaptureGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCaptureGetInternalServerError creates a PcloudV2PvminstancesCaptureGetInternalServerError with default headers values +func NewPcloudV2PvminstancesCaptureGetInternalServerError() *PcloudV2PvminstancesCaptureGetInternalServerError { + return &PcloudV2PvminstancesCaptureGetInternalServerError{} +} + +/* +PcloudV2PvminstancesCaptureGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2PvminstancesCaptureGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture get internal server error response has a 2xx status code +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture get internal server error response has a 3xx status code +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture get internal server error response has a 4xx status code +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances capture get internal server error response has a 5xx status code +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 pvminstances capture get internal server error response a status code equal to that given +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 pvminstances capture get internal server error response +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCaptureGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCaptureGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_post_parameters.go new file mode 100644 index 000000000..37804b37b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2PvminstancesCapturePostParams creates a new PcloudV2PvminstancesCapturePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2PvminstancesCapturePostParams() *PcloudV2PvminstancesCapturePostParams { + return &PcloudV2PvminstancesCapturePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2PvminstancesCapturePostParamsWithTimeout creates a new PcloudV2PvminstancesCapturePostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2PvminstancesCapturePostParamsWithTimeout(timeout time.Duration) *PcloudV2PvminstancesCapturePostParams { + return &PcloudV2PvminstancesCapturePostParams{ + timeout: timeout, + } +} + +// NewPcloudV2PvminstancesCapturePostParamsWithContext creates a new PcloudV2PvminstancesCapturePostParams object +// with the ability to set a context for a request. +func NewPcloudV2PvminstancesCapturePostParamsWithContext(ctx context.Context) *PcloudV2PvminstancesCapturePostParams { + return &PcloudV2PvminstancesCapturePostParams{ + Context: ctx, + } +} + +// NewPcloudV2PvminstancesCapturePostParamsWithHTTPClient creates a new PcloudV2PvminstancesCapturePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2PvminstancesCapturePostParamsWithHTTPClient(client *http.Client) *PcloudV2PvminstancesCapturePostParams { + return &PcloudV2PvminstancesCapturePostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2PvminstancesCapturePostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 pvminstances capture post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2PvminstancesCapturePostParams struct { + + /* Body. + + Parameters for the capture + */ + Body *models.PVMInstanceCapture + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 pvminstances capture post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesCapturePostParams) WithDefaults() *PcloudV2PvminstancesCapturePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 pvminstances capture post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesCapturePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) WithTimeout(timeout time.Duration) *PcloudV2PvminstancesCapturePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) WithContext(ctx context.Context) *PcloudV2PvminstancesCapturePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) WithHTTPClient(client *http.Client) *PcloudV2PvminstancesCapturePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) WithBody(body *models.PVMInstanceCapture) *PcloudV2PvminstancesCapturePostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) SetBody(body *models.PVMInstanceCapture) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2PvminstancesCapturePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudV2PvminstancesCapturePostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud v2 pvminstances capture post params +func (o *PcloudV2PvminstancesCapturePostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2PvminstancesCapturePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_post_responses.go new file mode 100644 index 000000000..3533cd295 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_capture_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2PvminstancesCapturePostReader is a Reader for the PcloudV2PvminstancesCapturePost structure. +type PcloudV2PvminstancesCapturePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2PvminstancesCapturePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2PvminstancesCapturePostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2PvminstancesCapturePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2PvminstancesCapturePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2PvminstancesCapturePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2PvminstancesCapturePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV2PvminstancesCapturePostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudV2PvminstancesCapturePostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2PvminstancesCapturePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture] pcloud.v2.pvminstances.capture.post", response, response.Code()) + } +} + +// NewPcloudV2PvminstancesCapturePostAccepted creates a PcloudV2PvminstancesCapturePostAccepted with default headers values +func NewPcloudV2PvminstancesCapturePostAccepted() *PcloudV2PvminstancesCapturePostAccepted { + return &PcloudV2PvminstancesCapturePostAccepted{} +} + +/* +PcloudV2PvminstancesCapturePostAccepted describes a response with status code 202, with default header values. + +Accepted, pvm-instance capture successfully added to the jobs queue +*/ +type PcloudV2PvminstancesCapturePostAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture post accepted response has a 2xx status code +func (o *PcloudV2PvminstancesCapturePostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture post accepted response has a 3xx status code +func (o *PcloudV2PvminstancesCapturePostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture post accepted response has a 4xx status code +func (o *PcloudV2PvminstancesCapturePostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances capture post accepted response has a 5xx status code +func (o *PcloudV2PvminstancesCapturePostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture post accepted response a status code equal to that given +func (o *PcloudV2PvminstancesCapturePostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 pvminstances capture post accepted response +func (o *PcloudV2PvminstancesCapturePostAccepted) Code() int { + return 202 +} + +func (o *PcloudV2PvminstancesCapturePostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostAccepted %s", 202, payload) +} + +func (o *PcloudV2PvminstancesCapturePostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostAccepted %s", 202, payload) +} + +func (o *PcloudV2PvminstancesCapturePostAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudV2PvminstancesCapturePostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCapturePostBadRequest creates a PcloudV2PvminstancesCapturePostBadRequest with default headers values +func NewPcloudV2PvminstancesCapturePostBadRequest() *PcloudV2PvminstancesCapturePostBadRequest { + return &PcloudV2PvminstancesCapturePostBadRequest{} +} + +/* +PcloudV2PvminstancesCapturePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2PvminstancesCapturePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture post bad request response has a 2xx status code +func (o *PcloudV2PvminstancesCapturePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture post bad request response has a 3xx status code +func (o *PcloudV2PvminstancesCapturePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture post bad request response has a 4xx status code +func (o *PcloudV2PvminstancesCapturePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture post bad request response has a 5xx status code +func (o *PcloudV2PvminstancesCapturePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture post bad request response a status code equal to that given +func (o *PcloudV2PvminstancesCapturePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 pvminstances capture post bad request response +func (o *PcloudV2PvminstancesCapturePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2PvminstancesCapturePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesCapturePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesCapturePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCapturePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCapturePostUnauthorized creates a PcloudV2PvminstancesCapturePostUnauthorized with default headers values +func NewPcloudV2PvminstancesCapturePostUnauthorized() *PcloudV2PvminstancesCapturePostUnauthorized { + return &PcloudV2PvminstancesCapturePostUnauthorized{} +} + +/* +PcloudV2PvminstancesCapturePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2PvminstancesCapturePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture post unauthorized response has a 2xx status code +func (o *PcloudV2PvminstancesCapturePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture post unauthorized response has a 3xx status code +func (o *PcloudV2PvminstancesCapturePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture post unauthorized response has a 4xx status code +func (o *PcloudV2PvminstancesCapturePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture post unauthorized response has a 5xx status code +func (o *PcloudV2PvminstancesCapturePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture post unauthorized response a status code equal to that given +func (o *PcloudV2PvminstancesCapturePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 pvminstances capture post unauthorized response +func (o *PcloudV2PvminstancesCapturePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2PvminstancesCapturePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesCapturePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesCapturePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCapturePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCapturePostForbidden creates a PcloudV2PvminstancesCapturePostForbidden with default headers values +func NewPcloudV2PvminstancesCapturePostForbidden() *PcloudV2PvminstancesCapturePostForbidden { + return &PcloudV2PvminstancesCapturePostForbidden{} +} + +/* +PcloudV2PvminstancesCapturePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2PvminstancesCapturePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture post forbidden response has a 2xx status code +func (o *PcloudV2PvminstancesCapturePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture post forbidden response has a 3xx status code +func (o *PcloudV2PvminstancesCapturePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture post forbidden response has a 4xx status code +func (o *PcloudV2PvminstancesCapturePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture post forbidden response has a 5xx status code +func (o *PcloudV2PvminstancesCapturePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture post forbidden response a status code equal to that given +func (o *PcloudV2PvminstancesCapturePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 pvminstances capture post forbidden response +func (o *PcloudV2PvminstancesCapturePostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2PvminstancesCapturePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesCapturePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesCapturePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCapturePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCapturePostNotFound creates a PcloudV2PvminstancesCapturePostNotFound with default headers values +func NewPcloudV2PvminstancesCapturePostNotFound() *PcloudV2PvminstancesCapturePostNotFound { + return &PcloudV2PvminstancesCapturePostNotFound{} +} + +/* +PcloudV2PvminstancesCapturePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2PvminstancesCapturePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture post not found response has a 2xx status code +func (o *PcloudV2PvminstancesCapturePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture post not found response has a 3xx status code +func (o *PcloudV2PvminstancesCapturePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture post not found response has a 4xx status code +func (o *PcloudV2PvminstancesCapturePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture post not found response has a 5xx status code +func (o *PcloudV2PvminstancesCapturePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture post not found response a status code equal to that given +func (o *PcloudV2PvminstancesCapturePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 pvminstances capture post not found response +func (o *PcloudV2PvminstancesCapturePostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2PvminstancesCapturePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesCapturePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesCapturePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCapturePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCapturePostConflict creates a PcloudV2PvminstancesCapturePostConflict with default headers values +func NewPcloudV2PvminstancesCapturePostConflict() *PcloudV2PvminstancesCapturePostConflict { + return &PcloudV2PvminstancesCapturePostConflict{} +} + +/* +PcloudV2PvminstancesCapturePostConflict describes a response with status code 409, with default header values. + +Conflict, a conflict has prevented adding the pvm-instance capture job +*/ +type PcloudV2PvminstancesCapturePostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture post conflict response has a 2xx status code +func (o *PcloudV2PvminstancesCapturePostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture post conflict response has a 3xx status code +func (o *PcloudV2PvminstancesCapturePostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture post conflict response has a 4xx status code +func (o *PcloudV2PvminstancesCapturePostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture post conflict response has a 5xx status code +func (o *PcloudV2PvminstancesCapturePostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture post conflict response a status code equal to that given +func (o *PcloudV2PvminstancesCapturePostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v2 pvminstances capture post conflict response +func (o *PcloudV2PvminstancesCapturePostConflict) Code() int { + return 409 +} + +func (o *PcloudV2PvminstancesCapturePostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostConflict %s", 409, payload) +} + +func (o *PcloudV2PvminstancesCapturePostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostConflict %s", 409, payload) +} + +func (o *PcloudV2PvminstancesCapturePostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCapturePostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCapturePostUnprocessableEntity creates a PcloudV2PvminstancesCapturePostUnprocessableEntity with default headers values +func NewPcloudV2PvminstancesCapturePostUnprocessableEntity() *PcloudV2PvminstancesCapturePostUnprocessableEntity { + return &PcloudV2PvminstancesCapturePostUnprocessableEntity{} +} + +/* +PcloudV2PvminstancesCapturePostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudV2PvminstancesCapturePostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture post unprocessable entity response has a 2xx status code +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture post unprocessable entity response has a 3xx status code +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture post unprocessable entity response has a 4xx status code +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances capture post unprocessable entity response has a 5xx status code +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances capture post unprocessable entity response a status code equal to that given +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud v2 pvminstances capture post unprocessable entity response +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCapturePostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesCapturePostInternalServerError creates a PcloudV2PvminstancesCapturePostInternalServerError with default headers values +func NewPcloudV2PvminstancesCapturePostInternalServerError() *PcloudV2PvminstancesCapturePostInternalServerError { + return &PcloudV2PvminstancesCapturePostInternalServerError{} +} + +/* +PcloudV2PvminstancesCapturePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2PvminstancesCapturePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances capture post internal server error response has a 2xx status code +func (o *PcloudV2PvminstancesCapturePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances capture post internal server error response has a 3xx status code +func (o *PcloudV2PvminstancesCapturePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances capture post internal server error response has a 4xx status code +func (o *PcloudV2PvminstancesCapturePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances capture post internal server error response has a 5xx status code +func (o *PcloudV2PvminstancesCapturePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 pvminstances capture post internal server error response a status code equal to that given +func (o *PcloudV2PvminstancesCapturePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 pvminstances capture post internal server error response +func (o *PcloudV2PvminstancesCapturePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2PvminstancesCapturePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesCapturePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture][%d] pcloudV2PvminstancesCapturePostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesCapturePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesCapturePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_getall_parameters.go new file mode 100644 index 000000000..c26688cd0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV2PvminstancesGetallParams creates a new PcloudV2PvminstancesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2PvminstancesGetallParams() *PcloudV2PvminstancesGetallParams { + return &PcloudV2PvminstancesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2PvminstancesGetallParamsWithTimeout creates a new PcloudV2PvminstancesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudV2PvminstancesGetallParamsWithTimeout(timeout time.Duration) *PcloudV2PvminstancesGetallParams { + return &PcloudV2PvminstancesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudV2PvminstancesGetallParamsWithContext creates a new PcloudV2PvminstancesGetallParams object +// with the ability to set a context for a request. +func NewPcloudV2PvminstancesGetallParamsWithContext(ctx context.Context) *PcloudV2PvminstancesGetallParams { + return &PcloudV2PvminstancesGetallParams{ + Context: ctx, + } +} + +// NewPcloudV2PvminstancesGetallParamsWithHTTPClient creates a new PcloudV2PvminstancesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2PvminstancesGetallParamsWithHTTPClient(client *http.Client) *PcloudV2PvminstancesGetallParams { + return &PcloudV2PvminstancesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudV2PvminstancesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud v2 pvminstances getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2PvminstancesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 pvminstances getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesGetallParams) WithDefaults() *PcloudV2PvminstancesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 pvminstances getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 pvminstances getall params +func (o *PcloudV2PvminstancesGetallParams) WithTimeout(timeout time.Duration) *PcloudV2PvminstancesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 pvminstances getall params +func (o *PcloudV2PvminstancesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 pvminstances getall params +func (o *PcloudV2PvminstancesGetallParams) WithContext(ctx context.Context) *PcloudV2PvminstancesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 pvminstances getall params +func (o *PcloudV2PvminstancesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 pvminstances getall params +func (o *PcloudV2PvminstancesGetallParams) WithHTTPClient(client *http.Client) *PcloudV2PvminstancesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 pvminstances getall params +func (o *PcloudV2PvminstancesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 pvminstances getall params +func (o *PcloudV2PvminstancesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2PvminstancesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 pvminstances getall params +func (o *PcloudV2PvminstancesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2PvminstancesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_getall_responses.go new file mode 100644 index 000000000..61712a2f6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances/pcloud_v2_pvminstances_getall_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_p_vm_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2PvminstancesGetallReader is a Reader for the PcloudV2PvminstancesGetall structure. +type PcloudV2PvminstancesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2PvminstancesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2PvminstancesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2PvminstancesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2PvminstancesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2PvminstancesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2PvminstancesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudV2PvminstancesGetallRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2PvminstancesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances] pcloud.v2.pvminstances.getall", response, response.Code()) + } +} + +// NewPcloudV2PvminstancesGetallOK creates a PcloudV2PvminstancesGetallOK with default headers values +func NewPcloudV2PvminstancesGetallOK() *PcloudV2PvminstancesGetallOK { + return &PcloudV2PvminstancesGetallOK{} +} + +/* +PcloudV2PvminstancesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2PvminstancesGetallOK struct { + Payload *models.PVMInstancesV2 +} + +// IsSuccess returns true when this pcloud v2 pvminstances getall o k response has a 2xx status code +func (o *PcloudV2PvminstancesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 pvminstances getall o k response has a 3xx status code +func (o *PcloudV2PvminstancesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances getall o k response has a 4xx status code +func (o *PcloudV2PvminstancesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances getall o k response has a 5xx status code +func (o *PcloudV2PvminstancesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances getall o k response a status code equal to that given +func (o *PcloudV2PvminstancesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 pvminstances getall o k response +func (o *PcloudV2PvminstancesGetallOK) Code() int { + return 200 +} + +func (o *PcloudV2PvminstancesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallOK %s", 200, payload) +} + +func (o *PcloudV2PvminstancesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallOK %s", 200, payload) +} + +func (o *PcloudV2PvminstancesGetallOK) GetPayload() *models.PVMInstancesV2 { + return o.Payload +} + +func (o *PcloudV2PvminstancesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PVMInstancesV2) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesGetallBadRequest creates a PcloudV2PvminstancesGetallBadRequest with default headers values +func NewPcloudV2PvminstancesGetallBadRequest() *PcloudV2PvminstancesGetallBadRequest { + return &PcloudV2PvminstancesGetallBadRequest{} +} + +/* +PcloudV2PvminstancesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2PvminstancesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances getall bad request response has a 2xx status code +func (o *PcloudV2PvminstancesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances getall bad request response has a 3xx status code +func (o *PcloudV2PvminstancesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances getall bad request response has a 4xx status code +func (o *PcloudV2PvminstancesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances getall bad request response has a 5xx status code +func (o *PcloudV2PvminstancesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances getall bad request response a status code equal to that given +func (o *PcloudV2PvminstancesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 pvminstances getall bad request response +func (o *PcloudV2PvminstancesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2PvminstancesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesGetallUnauthorized creates a PcloudV2PvminstancesGetallUnauthorized with default headers values +func NewPcloudV2PvminstancesGetallUnauthorized() *PcloudV2PvminstancesGetallUnauthorized { + return &PcloudV2PvminstancesGetallUnauthorized{} +} + +/* +PcloudV2PvminstancesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2PvminstancesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances getall unauthorized response has a 2xx status code +func (o *PcloudV2PvminstancesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances getall unauthorized response has a 3xx status code +func (o *PcloudV2PvminstancesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances getall unauthorized response has a 4xx status code +func (o *PcloudV2PvminstancesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances getall unauthorized response has a 5xx status code +func (o *PcloudV2PvminstancesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances getall unauthorized response a status code equal to that given +func (o *PcloudV2PvminstancesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 pvminstances getall unauthorized response +func (o *PcloudV2PvminstancesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2PvminstancesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesGetallForbidden creates a PcloudV2PvminstancesGetallForbidden with default headers values +func NewPcloudV2PvminstancesGetallForbidden() *PcloudV2PvminstancesGetallForbidden { + return &PcloudV2PvminstancesGetallForbidden{} +} + +/* +PcloudV2PvminstancesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2PvminstancesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances getall forbidden response has a 2xx status code +func (o *PcloudV2PvminstancesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances getall forbidden response has a 3xx status code +func (o *PcloudV2PvminstancesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances getall forbidden response has a 4xx status code +func (o *PcloudV2PvminstancesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances getall forbidden response has a 5xx status code +func (o *PcloudV2PvminstancesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances getall forbidden response a status code equal to that given +func (o *PcloudV2PvminstancesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 pvminstances getall forbidden response +func (o *PcloudV2PvminstancesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudV2PvminstancesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesGetallNotFound creates a PcloudV2PvminstancesGetallNotFound with default headers values +func NewPcloudV2PvminstancesGetallNotFound() *PcloudV2PvminstancesGetallNotFound { + return &PcloudV2PvminstancesGetallNotFound{} +} + +/* +PcloudV2PvminstancesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2PvminstancesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances getall not found response has a 2xx status code +func (o *PcloudV2PvminstancesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances getall not found response has a 3xx status code +func (o *PcloudV2PvminstancesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances getall not found response has a 4xx status code +func (o *PcloudV2PvminstancesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances getall not found response has a 5xx status code +func (o *PcloudV2PvminstancesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances getall not found response a status code equal to that given +func (o *PcloudV2PvminstancesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 pvminstances getall not found response +func (o *PcloudV2PvminstancesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudV2PvminstancesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesGetallRequestTimeout creates a PcloudV2PvminstancesGetallRequestTimeout with default headers values +func NewPcloudV2PvminstancesGetallRequestTimeout() *PcloudV2PvminstancesGetallRequestTimeout { + return &PcloudV2PvminstancesGetallRequestTimeout{} +} + +/* +PcloudV2PvminstancesGetallRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudV2PvminstancesGetallRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances getall request timeout response has a 2xx status code +func (o *PcloudV2PvminstancesGetallRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances getall request timeout response has a 3xx status code +func (o *PcloudV2PvminstancesGetallRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances getall request timeout response has a 4xx status code +func (o *PcloudV2PvminstancesGetallRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances getall request timeout response has a 5xx status code +func (o *PcloudV2PvminstancesGetallRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances getall request timeout response a status code equal to that given +func (o *PcloudV2PvminstancesGetallRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud v2 pvminstances getall request timeout response +func (o *PcloudV2PvminstancesGetallRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudV2PvminstancesGetallRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallRequestTimeout %s", 408, payload) +} + +func (o *PcloudV2PvminstancesGetallRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallRequestTimeout %s", 408, payload) +} + +func (o *PcloudV2PvminstancesGetallRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesGetallRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesGetallInternalServerError creates a PcloudV2PvminstancesGetallInternalServerError with default headers values +func NewPcloudV2PvminstancesGetallInternalServerError() *PcloudV2PvminstancesGetallInternalServerError { + return &PcloudV2PvminstancesGetallInternalServerError{} +} + +/* +PcloudV2PvminstancesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2PvminstancesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances getall internal server error response has a 2xx status code +func (o *PcloudV2PvminstancesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances getall internal server error response has a 3xx status code +func (o *PcloudV2PvminstancesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances getall internal server error response has a 4xx status code +func (o *PcloudV2PvminstancesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances getall internal server error response has a 5xx status code +func (o *PcloudV2PvminstancesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 pvminstances getall internal server error response a status code equal to that given +func (o *PcloudV2PvminstancesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 pvminstances getall internal server error response +func (o *PcloudV2PvminstancesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2PvminstancesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances][%d] pcloudV2PvminstancesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/p_cloud_placement_groups_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/p_cloud_placement_groups_client.go new file mode 100644 index 000000000..d141a5712 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/p_cloud_placement_groups_client.go @@ -0,0 +1,341 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud placement groups API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud placement groups API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud placement groups API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud placement groups API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudPlacementgroupsDelete(params *PcloudPlacementgroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsDeleteOK, error) + + PcloudPlacementgroupsGet(params *PcloudPlacementgroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsGetOK, error) + + PcloudPlacementgroupsGetall(params *PcloudPlacementgroupsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsGetallOK, error) + + PcloudPlacementgroupsMembersDelete(params *PcloudPlacementgroupsMembersDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsMembersDeleteOK, error) + + PcloudPlacementgroupsMembersPost(params *PcloudPlacementgroupsMembersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsMembersPostOK, error) + + PcloudPlacementgroupsPost(params *PcloudPlacementgroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsPostOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudPlacementgroupsDelete deletes server placement group +*/ +func (a *Client) PcloudPlacementgroupsDelete(params *PcloudPlacementgroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPlacementgroupsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.placementgroups.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPlacementgroupsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPlacementgroupsDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.placementgroups.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPlacementgroupsGet gets server placement group detail +*/ +func (a *Client) PcloudPlacementgroupsGet(params *PcloudPlacementgroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPlacementgroupsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.placementgroups.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPlacementgroupsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPlacementgroupsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.placementgroups.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPlacementgroupsGetall gets all server placement groups +*/ +func (a *Client) PcloudPlacementgroupsGetall(params *PcloudPlacementgroupsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPlacementgroupsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.placementgroups.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPlacementgroupsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPlacementgroupsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.placementgroups.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPlacementgroupsMembersDelete removes server from placement group +*/ +func (a *Client) PcloudPlacementgroupsMembersDelete(params *PcloudPlacementgroupsMembersDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsMembersDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPlacementgroupsMembersDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.placementgroups.members.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPlacementgroupsMembersDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPlacementgroupsMembersDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.placementgroups.members.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPlacementgroupsMembersPost adds server to placement group +*/ +func (a *Client) PcloudPlacementgroupsMembersPost(params *PcloudPlacementgroupsMembersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsMembersPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPlacementgroupsMembersPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.placementgroups.members.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPlacementgroupsMembersPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPlacementgroupsMembersPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.placementgroups.members.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPlacementgroupsPost creates a new server placement group +*/ +func (a *Client) PcloudPlacementgroupsPost(params *PcloudPlacementgroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPlacementgroupsPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPlacementgroupsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.placementgroups.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPlacementgroupsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPlacementgroupsPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.placementgroups.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_delete_parameters.go new file mode 100644 index 000000000..c028be24f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPlacementgroupsDeleteParams creates a new PcloudPlacementgroupsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPlacementgroupsDeleteParams() *PcloudPlacementgroupsDeleteParams { + return &PcloudPlacementgroupsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPlacementgroupsDeleteParamsWithTimeout creates a new PcloudPlacementgroupsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudPlacementgroupsDeleteParamsWithTimeout(timeout time.Duration) *PcloudPlacementgroupsDeleteParams { + return &PcloudPlacementgroupsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudPlacementgroupsDeleteParamsWithContext creates a new PcloudPlacementgroupsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudPlacementgroupsDeleteParamsWithContext(ctx context.Context) *PcloudPlacementgroupsDeleteParams { + return &PcloudPlacementgroupsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudPlacementgroupsDeleteParamsWithHTTPClient creates a new PcloudPlacementgroupsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPlacementgroupsDeleteParamsWithHTTPClient(client *http.Client) *PcloudPlacementgroupsDeleteParams { + return &PcloudPlacementgroupsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudPlacementgroupsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud placementgroups delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudPlacementgroupsDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PlacementGroupID. + + Placement Group ID + */ + PlacementGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud placementgroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsDeleteParams) WithDefaults() *PcloudPlacementgroupsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud placementgroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) WithTimeout(timeout time.Duration) *PcloudPlacementgroupsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) WithContext(ctx context.Context) *PcloudPlacementgroupsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) WithHTTPClient(client *http.Client) *PcloudPlacementgroupsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPlacementgroupsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPlacementGroupID adds the placementGroupID to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) WithPlacementGroupID(placementGroupID string) *PcloudPlacementgroupsDeleteParams { + o.SetPlacementGroupID(placementGroupID) + return o +} + +// SetPlacementGroupID adds the placementGroupId to the pcloud placementgroups delete params +func (o *PcloudPlacementgroupsDeleteParams) SetPlacementGroupID(placementGroupID string) { + o.PlacementGroupID = placementGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPlacementgroupsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param placement_group_id + if err := r.SetPathParam("placement_group_id", o.PlacementGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_delete_responses.go new file mode 100644 index 000000000..8999c4089 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_delete_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPlacementgroupsDeleteReader is a Reader for the PcloudPlacementgroupsDelete structure. +type PcloudPlacementgroupsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPlacementgroupsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPlacementgroupsDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPlacementgroupsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPlacementgroupsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPlacementgroupsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPlacementgroupsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPlacementgroupsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}] pcloud.placementgroups.delete", response, response.Code()) + } +} + +// NewPcloudPlacementgroupsDeleteOK creates a PcloudPlacementgroupsDeleteOK with default headers values +func NewPcloudPlacementgroupsDeleteOK() *PcloudPlacementgroupsDeleteOK { + return &PcloudPlacementgroupsDeleteOK{} +} + +/* +PcloudPlacementgroupsDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPlacementgroupsDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud placementgroups delete o k response has a 2xx status code +func (o *PcloudPlacementgroupsDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud placementgroups delete o k response has a 3xx status code +func (o *PcloudPlacementgroupsDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups delete o k response has a 4xx status code +func (o *PcloudPlacementgroupsDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups delete o k response has a 5xx status code +func (o *PcloudPlacementgroupsDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups delete o k response a status code equal to that given +func (o *PcloudPlacementgroupsDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud placementgroups delete o k response +func (o *PcloudPlacementgroupsDeleteOK) Code() int { + return 200 +} + +func (o *PcloudPlacementgroupsDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPlacementgroupsDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsDeleteBadRequest creates a PcloudPlacementgroupsDeleteBadRequest with default headers values +func NewPcloudPlacementgroupsDeleteBadRequest() *PcloudPlacementgroupsDeleteBadRequest { + return &PcloudPlacementgroupsDeleteBadRequest{} +} + +/* +PcloudPlacementgroupsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPlacementgroupsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups delete bad request response has a 2xx status code +func (o *PcloudPlacementgroupsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups delete bad request response has a 3xx status code +func (o *PcloudPlacementgroupsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups delete bad request response has a 4xx status code +func (o *PcloudPlacementgroupsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups delete bad request response has a 5xx status code +func (o *PcloudPlacementgroupsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups delete bad request response a status code equal to that given +func (o *PcloudPlacementgroupsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud placementgroups delete bad request response +func (o *PcloudPlacementgroupsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudPlacementgroupsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsDeleteUnauthorized creates a PcloudPlacementgroupsDeleteUnauthorized with default headers values +func NewPcloudPlacementgroupsDeleteUnauthorized() *PcloudPlacementgroupsDeleteUnauthorized { + return &PcloudPlacementgroupsDeleteUnauthorized{} +} + +/* +PcloudPlacementgroupsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPlacementgroupsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups delete unauthorized response has a 2xx status code +func (o *PcloudPlacementgroupsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups delete unauthorized response has a 3xx status code +func (o *PcloudPlacementgroupsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups delete unauthorized response has a 4xx status code +func (o *PcloudPlacementgroupsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups delete unauthorized response has a 5xx status code +func (o *PcloudPlacementgroupsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups delete unauthorized response a status code equal to that given +func (o *PcloudPlacementgroupsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud placementgroups delete unauthorized response +func (o *PcloudPlacementgroupsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPlacementgroupsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsDeleteForbidden creates a PcloudPlacementgroupsDeleteForbidden with default headers values +func NewPcloudPlacementgroupsDeleteForbidden() *PcloudPlacementgroupsDeleteForbidden { + return &PcloudPlacementgroupsDeleteForbidden{} +} + +/* +PcloudPlacementgroupsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPlacementgroupsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups delete forbidden response has a 2xx status code +func (o *PcloudPlacementgroupsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups delete forbidden response has a 3xx status code +func (o *PcloudPlacementgroupsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups delete forbidden response has a 4xx status code +func (o *PcloudPlacementgroupsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups delete forbidden response has a 5xx status code +func (o *PcloudPlacementgroupsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups delete forbidden response a status code equal to that given +func (o *PcloudPlacementgroupsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud placementgroups delete forbidden response +func (o *PcloudPlacementgroupsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudPlacementgroupsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsDeleteNotFound creates a PcloudPlacementgroupsDeleteNotFound with default headers values +func NewPcloudPlacementgroupsDeleteNotFound() *PcloudPlacementgroupsDeleteNotFound { + return &PcloudPlacementgroupsDeleteNotFound{} +} + +/* +PcloudPlacementgroupsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPlacementgroupsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups delete not found response has a 2xx status code +func (o *PcloudPlacementgroupsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups delete not found response has a 3xx status code +func (o *PcloudPlacementgroupsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups delete not found response has a 4xx status code +func (o *PcloudPlacementgroupsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups delete not found response has a 5xx status code +func (o *PcloudPlacementgroupsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups delete not found response a status code equal to that given +func (o *PcloudPlacementgroupsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud placementgroups delete not found response +func (o *PcloudPlacementgroupsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudPlacementgroupsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsDeleteInternalServerError creates a PcloudPlacementgroupsDeleteInternalServerError with default headers values +func NewPcloudPlacementgroupsDeleteInternalServerError() *PcloudPlacementgroupsDeleteInternalServerError { + return &PcloudPlacementgroupsDeleteInternalServerError{} +} + +/* +PcloudPlacementgroupsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPlacementgroupsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups delete internal server error response has a 2xx status code +func (o *PcloudPlacementgroupsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups delete internal server error response has a 3xx status code +func (o *PcloudPlacementgroupsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups delete internal server error response has a 4xx status code +func (o *PcloudPlacementgroupsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups delete internal server error response has a 5xx status code +func (o *PcloudPlacementgroupsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud placementgroups delete internal server error response a status code equal to that given +func (o *PcloudPlacementgroupsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud placementgroups delete internal server error response +func (o *PcloudPlacementgroupsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPlacementgroupsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_get_parameters.go new file mode 100644 index 000000000..f93349423 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPlacementgroupsGetParams creates a new PcloudPlacementgroupsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPlacementgroupsGetParams() *PcloudPlacementgroupsGetParams { + return &PcloudPlacementgroupsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPlacementgroupsGetParamsWithTimeout creates a new PcloudPlacementgroupsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudPlacementgroupsGetParamsWithTimeout(timeout time.Duration) *PcloudPlacementgroupsGetParams { + return &PcloudPlacementgroupsGetParams{ + timeout: timeout, + } +} + +// NewPcloudPlacementgroupsGetParamsWithContext creates a new PcloudPlacementgroupsGetParams object +// with the ability to set a context for a request. +func NewPcloudPlacementgroupsGetParamsWithContext(ctx context.Context) *PcloudPlacementgroupsGetParams { + return &PcloudPlacementgroupsGetParams{ + Context: ctx, + } +} + +// NewPcloudPlacementgroupsGetParamsWithHTTPClient creates a new PcloudPlacementgroupsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPlacementgroupsGetParamsWithHTTPClient(client *http.Client) *PcloudPlacementgroupsGetParams { + return &PcloudPlacementgroupsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudPlacementgroupsGetParams contains all the parameters to send to the API endpoint + + for the pcloud placementgroups get operation. + + Typically these are written to a http.Request. +*/ +type PcloudPlacementgroupsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PlacementGroupID. + + Placement Group ID + */ + PlacementGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud placementgroups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsGetParams) WithDefaults() *PcloudPlacementgroupsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud placementgroups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) WithTimeout(timeout time.Duration) *PcloudPlacementgroupsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) WithContext(ctx context.Context) *PcloudPlacementgroupsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) WithHTTPClient(client *http.Client) *PcloudPlacementgroupsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPlacementgroupsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPlacementGroupID adds the placementGroupID to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) WithPlacementGroupID(placementGroupID string) *PcloudPlacementgroupsGetParams { + o.SetPlacementGroupID(placementGroupID) + return o +} + +// SetPlacementGroupID adds the placementGroupId to the pcloud placementgroups get params +func (o *PcloudPlacementgroupsGetParams) SetPlacementGroupID(placementGroupID string) { + o.PlacementGroupID = placementGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPlacementgroupsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param placement_group_id + if err := r.SetPathParam("placement_group_id", o.PlacementGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_get_responses.go new file mode 100644 index 000000000..9705ab144 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPlacementgroupsGetReader is a Reader for the PcloudPlacementgroupsGet structure. +type PcloudPlacementgroupsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPlacementgroupsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPlacementgroupsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPlacementgroupsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPlacementgroupsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPlacementgroupsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPlacementgroupsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPlacementgroupsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}] pcloud.placementgroups.get", response, response.Code()) + } +} + +// NewPcloudPlacementgroupsGetOK creates a PcloudPlacementgroupsGetOK with default headers values +func NewPcloudPlacementgroupsGetOK() *PcloudPlacementgroupsGetOK { + return &PcloudPlacementgroupsGetOK{} +} + +/* +PcloudPlacementgroupsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPlacementgroupsGetOK struct { + Payload *models.PlacementGroup +} + +// IsSuccess returns true when this pcloud placementgroups get o k response has a 2xx status code +func (o *PcloudPlacementgroupsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud placementgroups get o k response has a 3xx status code +func (o *PcloudPlacementgroupsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups get o k response has a 4xx status code +func (o *PcloudPlacementgroupsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups get o k response has a 5xx status code +func (o *PcloudPlacementgroupsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups get o k response a status code equal to that given +func (o *PcloudPlacementgroupsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud placementgroups get o k response +func (o *PcloudPlacementgroupsGetOK) Code() int { + return 200 +} + +func (o *PcloudPlacementgroupsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsGetOK) GetPayload() *models.PlacementGroup { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PlacementGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetBadRequest creates a PcloudPlacementgroupsGetBadRequest with default headers values +func NewPcloudPlacementgroupsGetBadRequest() *PcloudPlacementgroupsGetBadRequest { + return &PcloudPlacementgroupsGetBadRequest{} +} + +/* +PcloudPlacementgroupsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPlacementgroupsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups get bad request response has a 2xx status code +func (o *PcloudPlacementgroupsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups get bad request response has a 3xx status code +func (o *PcloudPlacementgroupsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups get bad request response has a 4xx status code +func (o *PcloudPlacementgroupsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups get bad request response has a 5xx status code +func (o *PcloudPlacementgroupsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups get bad request response a status code equal to that given +func (o *PcloudPlacementgroupsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud placementgroups get bad request response +func (o *PcloudPlacementgroupsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudPlacementgroupsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetUnauthorized creates a PcloudPlacementgroupsGetUnauthorized with default headers values +func NewPcloudPlacementgroupsGetUnauthorized() *PcloudPlacementgroupsGetUnauthorized { + return &PcloudPlacementgroupsGetUnauthorized{} +} + +/* +PcloudPlacementgroupsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPlacementgroupsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups get unauthorized response has a 2xx status code +func (o *PcloudPlacementgroupsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups get unauthorized response has a 3xx status code +func (o *PcloudPlacementgroupsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups get unauthorized response has a 4xx status code +func (o *PcloudPlacementgroupsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups get unauthorized response has a 5xx status code +func (o *PcloudPlacementgroupsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups get unauthorized response a status code equal to that given +func (o *PcloudPlacementgroupsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud placementgroups get unauthorized response +func (o *PcloudPlacementgroupsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPlacementgroupsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetForbidden creates a PcloudPlacementgroupsGetForbidden with default headers values +func NewPcloudPlacementgroupsGetForbidden() *PcloudPlacementgroupsGetForbidden { + return &PcloudPlacementgroupsGetForbidden{} +} + +/* +PcloudPlacementgroupsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPlacementgroupsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups get forbidden response has a 2xx status code +func (o *PcloudPlacementgroupsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups get forbidden response has a 3xx status code +func (o *PcloudPlacementgroupsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups get forbidden response has a 4xx status code +func (o *PcloudPlacementgroupsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups get forbidden response has a 5xx status code +func (o *PcloudPlacementgroupsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups get forbidden response a status code equal to that given +func (o *PcloudPlacementgroupsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud placementgroups get forbidden response +func (o *PcloudPlacementgroupsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudPlacementgroupsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetNotFound creates a PcloudPlacementgroupsGetNotFound with default headers values +func NewPcloudPlacementgroupsGetNotFound() *PcloudPlacementgroupsGetNotFound { + return &PcloudPlacementgroupsGetNotFound{} +} + +/* +PcloudPlacementgroupsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPlacementgroupsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups get not found response has a 2xx status code +func (o *PcloudPlacementgroupsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups get not found response has a 3xx status code +func (o *PcloudPlacementgroupsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups get not found response has a 4xx status code +func (o *PcloudPlacementgroupsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups get not found response has a 5xx status code +func (o *PcloudPlacementgroupsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups get not found response a status code equal to that given +func (o *PcloudPlacementgroupsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud placementgroups get not found response +func (o *PcloudPlacementgroupsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudPlacementgroupsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetInternalServerError creates a PcloudPlacementgroupsGetInternalServerError with default headers values +func NewPcloudPlacementgroupsGetInternalServerError() *PcloudPlacementgroupsGetInternalServerError { + return &PcloudPlacementgroupsGetInternalServerError{} +} + +/* +PcloudPlacementgroupsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPlacementgroupsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups get internal server error response has a 2xx status code +func (o *PcloudPlacementgroupsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups get internal server error response has a 3xx status code +func (o *PcloudPlacementgroupsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups get internal server error response has a 4xx status code +func (o *PcloudPlacementgroupsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups get internal server error response has a 5xx status code +func (o *PcloudPlacementgroupsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud placementgroups get internal server error response a status code equal to that given +func (o *PcloudPlacementgroupsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud placementgroups get internal server error response +func (o *PcloudPlacementgroupsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPlacementgroupsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}][%d] pcloudPlacementgroupsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_getall_parameters.go new file mode 100644 index 000000000..a4fb1188b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPlacementgroupsGetallParams creates a new PcloudPlacementgroupsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPlacementgroupsGetallParams() *PcloudPlacementgroupsGetallParams { + return &PcloudPlacementgroupsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPlacementgroupsGetallParamsWithTimeout creates a new PcloudPlacementgroupsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudPlacementgroupsGetallParamsWithTimeout(timeout time.Duration) *PcloudPlacementgroupsGetallParams { + return &PcloudPlacementgroupsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudPlacementgroupsGetallParamsWithContext creates a new PcloudPlacementgroupsGetallParams object +// with the ability to set a context for a request. +func NewPcloudPlacementgroupsGetallParamsWithContext(ctx context.Context) *PcloudPlacementgroupsGetallParams { + return &PcloudPlacementgroupsGetallParams{ + Context: ctx, + } +} + +// NewPcloudPlacementgroupsGetallParamsWithHTTPClient creates a new PcloudPlacementgroupsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPlacementgroupsGetallParamsWithHTTPClient(client *http.Client) *PcloudPlacementgroupsGetallParams { + return &PcloudPlacementgroupsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudPlacementgroupsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud placementgroups getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudPlacementgroupsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud placementgroups getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsGetallParams) WithDefaults() *PcloudPlacementgroupsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud placementgroups getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud placementgroups getall params +func (o *PcloudPlacementgroupsGetallParams) WithTimeout(timeout time.Duration) *PcloudPlacementgroupsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud placementgroups getall params +func (o *PcloudPlacementgroupsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud placementgroups getall params +func (o *PcloudPlacementgroupsGetallParams) WithContext(ctx context.Context) *PcloudPlacementgroupsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud placementgroups getall params +func (o *PcloudPlacementgroupsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud placementgroups getall params +func (o *PcloudPlacementgroupsGetallParams) WithHTTPClient(client *http.Client) *PcloudPlacementgroupsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud placementgroups getall params +func (o *PcloudPlacementgroupsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud placementgroups getall params +func (o *PcloudPlacementgroupsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPlacementgroupsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud placementgroups getall params +func (o *PcloudPlacementgroupsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPlacementgroupsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_getall_responses.go new file mode 100644 index 000000000..7153470a3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPlacementgroupsGetallReader is a Reader for the PcloudPlacementgroupsGetall structure. +type PcloudPlacementgroupsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPlacementgroupsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPlacementgroupsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPlacementgroupsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPlacementgroupsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPlacementgroupsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPlacementgroupsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPlacementgroupsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups] pcloud.placementgroups.getall", response, response.Code()) + } +} + +// NewPcloudPlacementgroupsGetallOK creates a PcloudPlacementgroupsGetallOK with default headers values +func NewPcloudPlacementgroupsGetallOK() *PcloudPlacementgroupsGetallOK { + return &PcloudPlacementgroupsGetallOK{} +} + +/* +PcloudPlacementgroupsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPlacementgroupsGetallOK struct { + Payload *models.PlacementGroups +} + +// IsSuccess returns true when this pcloud placementgroups getall o k response has a 2xx status code +func (o *PcloudPlacementgroupsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud placementgroups getall o k response has a 3xx status code +func (o *PcloudPlacementgroupsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups getall o k response has a 4xx status code +func (o *PcloudPlacementgroupsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups getall o k response has a 5xx status code +func (o *PcloudPlacementgroupsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups getall o k response a status code equal to that given +func (o *PcloudPlacementgroupsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud placementgroups getall o k response +func (o *PcloudPlacementgroupsGetallOK) Code() int { + return 200 +} + +func (o *PcloudPlacementgroupsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsGetallOK) GetPayload() *models.PlacementGroups { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PlacementGroups) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetallBadRequest creates a PcloudPlacementgroupsGetallBadRequest with default headers values +func NewPcloudPlacementgroupsGetallBadRequest() *PcloudPlacementgroupsGetallBadRequest { + return &PcloudPlacementgroupsGetallBadRequest{} +} + +/* +PcloudPlacementgroupsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPlacementgroupsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups getall bad request response has a 2xx status code +func (o *PcloudPlacementgroupsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups getall bad request response has a 3xx status code +func (o *PcloudPlacementgroupsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups getall bad request response has a 4xx status code +func (o *PcloudPlacementgroupsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups getall bad request response has a 5xx status code +func (o *PcloudPlacementgroupsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups getall bad request response a status code equal to that given +func (o *PcloudPlacementgroupsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud placementgroups getall bad request response +func (o *PcloudPlacementgroupsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudPlacementgroupsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetallUnauthorized creates a PcloudPlacementgroupsGetallUnauthorized with default headers values +func NewPcloudPlacementgroupsGetallUnauthorized() *PcloudPlacementgroupsGetallUnauthorized { + return &PcloudPlacementgroupsGetallUnauthorized{} +} + +/* +PcloudPlacementgroupsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPlacementgroupsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups getall unauthorized response has a 2xx status code +func (o *PcloudPlacementgroupsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups getall unauthorized response has a 3xx status code +func (o *PcloudPlacementgroupsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups getall unauthorized response has a 4xx status code +func (o *PcloudPlacementgroupsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups getall unauthorized response has a 5xx status code +func (o *PcloudPlacementgroupsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups getall unauthorized response a status code equal to that given +func (o *PcloudPlacementgroupsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud placementgroups getall unauthorized response +func (o *PcloudPlacementgroupsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPlacementgroupsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetallForbidden creates a PcloudPlacementgroupsGetallForbidden with default headers values +func NewPcloudPlacementgroupsGetallForbidden() *PcloudPlacementgroupsGetallForbidden { + return &PcloudPlacementgroupsGetallForbidden{} +} + +/* +PcloudPlacementgroupsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPlacementgroupsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups getall forbidden response has a 2xx status code +func (o *PcloudPlacementgroupsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups getall forbidden response has a 3xx status code +func (o *PcloudPlacementgroupsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups getall forbidden response has a 4xx status code +func (o *PcloudPlacementgroupsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups getall forbidden response has a 5xx status code +func (o *PcloudPlacementgroupsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups getall forbidden response a status code equal to that given +func (o *PcloudPlacementgroupsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud placementgroups getall forbidden response +func (o *PcloudPlacementgroupsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudPlacementgroupsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetallNotFound creates a PcloudPlacementgroupsGetallNotFound with default headers values +func NewPcloudPlacementgroupsGetallNotFound() *PcloudPlacementgroupsGetallNotFound { + return &PcloudPlacementgroupsGetallNotFound{} +} + +/* +PcloudPlacementgroupsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPlacementgroupsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups getall not found response has a 2xx status code +func (o *PcloudPlacementgroupsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups getall not found response has a 3xx status code +func (o *PcloudPlacementgroupsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups getall not found response has a 4xx status code +func (o *PcloudPlacementgroupsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups getall not found response has a 5xx status code +func (o *PcloudPlacementgroupsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups getall not found response a status code equal to that given +func (o *PcloudPlacementgroupsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud placementgroups getall not found response +func (o *PcloudPlacementgroupsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudPlacementgroupsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsGetallInternalServerError creates a PcloudPlacementgroupsGetallInternalServerError with default headers values +func NewPcloudPlacementgroupsGetallInternalServerError() *PcloudPlacementgroupsGetallInternalServerError { + return &PcloudPlacementgroupsGetallInternalServerError{} +} + +/* +PcloudPlacementgroupsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPlacementgroupsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups getall internal server error response has a 2xx status code +func (o *PcloudPlacementgroupsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups getall internal server error response has a 3xx status code +func (o *PcloudPlacementgroupsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups getall internal server error response has a 4xx status code +func (o *PcloudPlacementgroupsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups getall internal server error response has a 5xx status code +func (o *PcloudPlacementgroupsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud placementgroups getall internal server error response a status code equal to that given +func (o *PcloudPlacementgroupsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud placementgroups getall internal server error response +func (o *PcloudPlacementgroupsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPlacementgroupsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_delete_parameters.go new file mode 100644 index 000000000..5c7fd4019 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_delete_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPlacementgroupsMembersDeleteParams creates a new PcloudPlacementgroupsMembersDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPlacementgroupsMembersDeleteParams() *PcloudPlacementgroupsMembersDeleteParams { + return &PcloudPlacementgroupsMembersDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPlacementgroupsMembersDeleteParamsWithTimeout creates a new PcloudPlacementgroupsMembersDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudPlacementgroupsMembersDeleteParamsWithTimeout(timeout time.Duration) *PcloudPlacementgroupsMembersDeleteParams { + return &PcloudPlacementgroupsMembersDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudPlacementgroupsMembersDeleteParamsWithContext creates a new PcloudPlacementgroupsMembersDeleteParams object +// with the ability to set a context for a request. +func NewPcloudPlacementgroupsMembersDeleteParamsWithContext(ctx context.Context) *PcloudPlacementgroupsMembersDeleteParams { + return &PcloudPlacementgroupsMembersDeleteParams{ + Context: ctx, + } +} + +// NewPcloudPlacementgroupsMembersDeleteParamsWithHTTPClient creates a new PcloudPlacementgroupsMembersDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPlacementgroupsMembersDeleteParamsWithHTTPClient(client *http.Client) *PcloudPlacementgroupsMembersDeleteParams { + return &PcloudPlacementgroupsMembersDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudPlacementgroupsMembersDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud placementgroups members delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudPlacementgroupsMembersDeleteParams struct { + + /* Body. + + Parameters for removing a Server in a Placement Group + */ + Body *models.PlacementGroupServer + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PlacementGroupID. + + Placement Group ID + */ + PlacementGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud placementgroups members delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsMembersDeleteParams) WithDefaults() *PcloudPlacementgroupsMembersDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud placementgroups members delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsMembersDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) WithTimeout(timeout time.Duration) *PcloudPlacementgroupsMembersDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) WithContext(ctx context.Context) *PcloudPlacementgroupsMembersDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) WithHTTPClient(client *http.Client) *PcloudPlacementgroupsMembersDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) WithBody(body *models.PlacementGroupServer) *PcloudPlacementgroupsMembersDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) SetBody(body *models.PlacementGroupServer) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPlacementgroupsMembersDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPlacementGroupID adds the placementGroupID to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) WithPlacementGroupID(placementGroupID string) *PcloudPlacementgroupsMembersDeleteParams { + o.SetPlacementGroupID(placementGroupID) + return o +} + +// SetPlacementGroupID adds the placementGroupId to the pcloud placementgroups members delete params +func (o *PcloudPlacementgroupsMembersDeleteParams) SetPlacementGroupID(placementGroupID string) { + o.PlacementGroupID = placementGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPlacementgroupsMembersDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param placement_group_id + if err := r.SetPathParam("placement_group_id", o.PlacementGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_delete_responses.go new file mode 100644 index 000000000..6c2121f2c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_delete_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPlacementgroupsMembersDeleteReader is a Reader for the PcloudPlacementgroupsMembersDelete structure. +type PcloudPlacementgroupsMembersDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPlacementgroupsMembersDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPlacementgroupsMembersDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPlacementgroupsMembersDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPlacementgroupsMembersDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPlacementgroupsMembersDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPlacementgroupsMembersDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPlacementgroupsMembersDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPlacementgroupsMembersDeleteUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPlacementgroupsMembersDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members] pcloud.placementgroups.members.delete", response, response.Code()) + } +} + +// NewPcloudPlacementgroupsMembersDeleteOK creates a PcloudPlacementgroupsMembersDeleteOK with default headers values +func NewPcloudPlacementgroupsMembersDeleteOK() *PcloudPlacementgroupsMembersDeleteOK { + return &PcloudPlacementgroupsMembersDeleteOK{} +} + +/* +PcloudPlacementgroupsMembersDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPlacementgroupsMembersDeleteOK struct { + Payload *models.PlacementGroup +} + +// IsSuccess returns true when this pcloud placementgroups members delete o k response has a 2xx status code +func (o *PcloudPlacementgroupsMembersDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud placementgroups members delete o k response has a 3xx status code +func (o *PcloudPlacementgroupsMembersDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members delete o k response has a 4xx status code +func (o *PcloudPlacementgroupsMembersDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups members delete o k response has a 5xx status code +func (o *PcloudPlacementgroupsMembersDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members delete o k response a status code equal to that given +func (o *PcloudPlacementgroupsMembersDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud placementgroups members delete o k response +func (o *PcloudPlacementgroupsMembersDeleteOK) Code() int { + return 200 +} + +func (o *PcloudPlacementgroupsMembersDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteOK) GetPayload() *models.PlacementGroup { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PlacementGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersDeleteBadRequest creates a PcloudPlacementgroupsMembersDeleteBadRequest with default headers values +func NewPcloudPlacementgroupsMembersDeleteBadRequest() *PcloudPlacementgroupsMembersDeleteBadRequest { + return &PcloudPlacementgroupsMembersDeleteBadRequest{} +} + +/* +PcloudPlacementgroupsMembersDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPlacementgroupsMembersDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members delete bad request response has a 2xx status code +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members delete bad request response has a 3xx status code +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members delete bad request response has a 4xx status code +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members delete bad request response has a 5xx status code +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members delete bad request response a status code equal to that given +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud placementgroups members delete bad request response +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersDeleteUnauthorized creates a PcloudPlacementgroupsMembersDeleteUnauthorized with default headers values +func NewPcloudPlacementgroupsMembersDeleteUnauthorized() *PcloudPlacementgroupsMembersDeleteUnauthorized { + return &PcloudPlacementgroupsMembersDeleteUnauthorized{} +} + +/* +PcloudPlacementgroupsMembersDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPlacementgroupsMembersDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members delete unauthorized response has a 2xx status code +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members delete unauthorized response has a 3xx status code +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members delete unauthorized response has a 4xx status code +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members delete unauthorized response has a 5xx status code +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members delete unauthorized response a status code equal to that given +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud placementgroups members delete unauthorized response +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersDeleteForbidden creates a PcloudPlacementgroupsMembersDeleteForbidden with default headers values +func NewPcloudPlacementgroupsMembersDeleteForbidden() *PcloudPlacementgroupsMembersDeleteForbidden { + return &PcloudPlacementgroupsMembersDeleteForbidden{} +} + +/* +PcloudPlacementgroupsMembersDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPlacementgroupsMembersDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members delete forbidden response has a 2xx status code +func (o *PcloudPlacementgroupsMembersDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members delete forbidden response has a 3xx status code +func (o *PcloudPlacementgroupsMembersDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members delete forbidden response has a 4xx status code +func (o *PcloudPlacementgroupsMembersDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members delete forbidden response has a 5xx status code +func (o *PcloudPlacementgroupsMembersDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members delete forbidden response a status code equal to that given +func (o *PcloudPlacementgroupsMembersDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud placementgroups members delete forbidden response +func (o *PcloudPlacementgroupsMembersDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudPlacementgroupsMembersDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersDeleteNotFound creates a PcloudPlacementgroupsMembersDeleteNotFound with default headers values +func NewPcloudPlacementgroupsMembersDeleteNotFound() *PcloudPlacementgroupsMembersDeleteNotFound { + return &PcloudPlacementgroupsMembersDeleteNotFound{} +} + +/* +PcloudPlacementgroupsMembersDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPlacementgroupsMembersDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members delete not found response has a 2xx status code +func (o *PcloudPlacementgroupsMembersDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members delete not found response has a 3xx status code +func (o *PcloudPlacementgroupsMembersDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members delete not found response has a 4xx status code +func (o *PcloudPlacementgroupsMembersDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members delete not found response has a 5xx status code +func (o *PcloudPlacementgroupsMembersDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members delete not found response a status code equal to that given +func (o *PcloudPlacementgroupsMembersDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud placementgroups members delete not found response +func (o *PcloudPlacementgroupsMembersDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudPlacementgroupsMembersDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersDeleteConflict creates a PcloudPlacementgroupsMembersDeleteConflict with default headers values +func NewPcloudPlacementgroupsMembersDeleteConflict() *PcloudPlacementgroupsMembersDeleteConflict { + return &PcloudPlacementgroupsMembersDeleteConflict{} +} + +/* +PcloudPlacementgroupsMembersDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPlacementgroupsMembersDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members delete conflict response has a 2xx status code +func (o *PcloudPlacementgroupsMembersDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members delete conflict response has a 3xx status code +func (o *PcloudPlacementgroupsMembersDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members delete conflict response has a 4xx status code +func (o *PcloudPlacementgroupsMembersDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members delete conflict response has a 5xx status code +func (o *PcloudPlacementgroupsMembersDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members delete conflict response a status code equal to that given +func (o *PcloudPlacementgroupsMembersDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud placementgroups members delete conflict response +func (o *PcloudPlacementgroupsMembersDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudPlacementgroupsMembersDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteConflict %s", 409, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteConflict %s", 409, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersDeleteUnprocessableEntity creates a PcloudPlacementgroupsMembersDeleteUnprocessableEntity with default headers values +func NewPcloudPlacementgroupsMembersDeleteUnprocessableEntity() *PcloudPlacementgroupsMembersDeleteUnprocessableEntity { + return &PcloudPlacementgroupsMembersDeleteUnprocessableEntity{} +} + +/* +PcloudPlacementgroupsMembersDeleteUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPlacementgroupsMembersDeleteUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members delete unprocessable entity response has a 2xx status code +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members delete unprocessable entity response has a 3xx status code +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members delete unprocessable entity response has a 4xx status code +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members delete unprocessable entity response has a 5xx status code +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members delete unprocessable entity response a status code equal to that given +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud placementgroups members delete unprocessable entity response +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersDeleteUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersDeleteInternalServerError creates a PcloudPlacementgroupsMembersDeleteInternalServerError with default headers values +func NewPcloudPlacementgroupsMembersDeleteInternalServerError() *PcloudPlacementgroupsMembersDeleteInternalServerError { + return &PcloudPlacementgroupsMembersDeleteInternalServerError{} +} + +/* +PcloudPlacementgroupsMembersDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPlacementgroupsMembersDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members delete internal server error response has a 2xx status code +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members delete internal server error response has a 3xx status code +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members delete internal server error response has a 4xx status code +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups members delete internal server error response has a 5xx status code +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud placementgroups members delete internal server error response a status code equal to that given +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud placementgroups members delete internal server error response +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_post_parameters.go new file mode 100644 index 000000000..cdbaa913a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPlacementgroupsMembersPostParams creates a new PcloudPlacementgroupsMembersPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPlacementgroupsMembersPostParams() *PcloudPlacementgroupsMembersPostParams { + return &PcloudPlacementgroupsMembersPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPlacementgroupsMembersPostParamsWithTimeout creates a new PcloudPlacementgroupsMembersPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPlacementgroupsMembersPostParamsWithTimeout(timeout time.Duration) *PcloudPlacementgroupsMembersPostParams { + return &PcloudPlacementgroupsMembersPostParams{ + timeout: timeout, + } +} + +// NewPcloudPlacementgroupsMembersPostParamsWithContext creates a new PcloudPlacementgroupsMembersPostParams object +// with the ability to set a context for a request. +func NewPcloudPlacementgroupsMembersPostParamsWithContext(ctx context.Context) *PcloudPlacementgroupsMembersPostParams { + return &PcloudPlacementgroupsMembersPostParams{ + Context: ctx, + } +} + +// NewPcloudPlacementgroupsMembersPostParamsWithHTTPClient creates a new PcloudPlacementgroupsMembersPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPlacementgroupsMembersPostParamsWithHTTPClient(client *http.Client) *PcloudPlacementgroupsMembersPostParams { + return &PcloudPlacementgroupsMembersPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPlacementgroupsMembersPostParams contains all the parameters to send to the API endpoint + + for the pcloud placementgroups members post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPlacementgroupsMembersPostParams struct { + + /* Body. + + Parameters for adding a server to a Server Placement Group + */ + Body *models.PlacementGroupServer + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PlacementGroupID. + + Placement Group ID + */ + PlacementGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud placementgroups members post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsMembersPostParams) WithDefaults() *PcloudPlacementgroupsMembersPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud placementgroups members post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsMembersPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) WithTimeout(timeout time.Duration) *PcloudPlacementgroupsMembersPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) WithContext(ctx context.Context) *PcloudPlacementgroupsMembersPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) WithHTTPClient(client *http.Client) *PcloudPlacementgroupsMembersPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) WithBody(body *models.PlacementGroupServer) *PcloudPlacementgroupsMembersPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) SetBody(body *models.PlacementGroupServer) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPlacementgroupsMembersPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPlacementGroupID adds the placementGroupID to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) WithPlacementGroupID(placementGroupID string) *PcloudPlacementgroupsMembersPostParams { + o.SetPlacementGroupID(placementGroupID) + return o +} + +// SetPlacementGroupID adds the placementGroupId to the pcloud placementgroups members post params +func (o *PcloudPlacementgroupsMembersPostParams) SetPlacementGroupID(placementGroupID string) { + o.PlacementGroupID = placementGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPlacementgroupsMembersPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param placement_group_id + if err := r.SetPathParam("placement_group_id", o.PlacementGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_post_responses.go new file mode 100644 index 000000000..7972b4e49 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_members_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPlacementgroupsMembersPostReader is a Reader for the PcloudPlacementgroupsMembersPost structure. +type PcloudPlacementgroupsMembersPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPlacementgroupsMembersPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPlacementgroupsMembersPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPlacementgroupsMembersPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPlacementgroupsMembersPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPlacementgroupsMembersPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPlacementgroupsMembersPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPlacementgroupsMembersPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPlacementgroupsMembersPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPlacementgroupsMembersPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members] pcloud.placementgroups.members.post", response, response.Code()) + } +} + +// NewPcloudPlacementgroupsMembersPostOK creates a PcloudPlacementgroupsMembersPostOK with default headers values +func NewPcloudPlacementgroupsMembersPostOK() *PcloudPlacementgroupsMembersPostOK { + return &PcloudPlacementgroupsMembersPostOK{} +} + +/* +PcloudPlacementgroupsMembersPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPlacementgroupsMembersPostOK struct { + Payload *models.PlacementGroup +} + +// IsSuccess returns true when this pcloud placementgroups members post o k response has a 2xx status code +func (o *PcloudPlacementgroupsMembersPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud placementgroups members post o k response has a 3xx status code +func (o *PcloudPlacementgroupsMembersPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members post o k response has a 4xx status code +func (o *PcloudPlacementgroupsMembersPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups members post o k response has a 5xx status code +func (o *PcloudPlacementgroupsMembersPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members post o k response a status code equal to that given +func (o *PcloudPlacementgroupsMembersPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud placementgroups members post o k response +func (o *PcloudPlacementgroupsMembersPostOK) Code() int { + return 200 +} + +func (o *PcloudPlacementgroupsMembersPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsMembersPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsMembersPostOK) GetPayload() *models.PlacementGroup { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PlacementGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersPostBadRequest creates a PcloudPlacementgroupsMembersPostBadRequest with default headers values +func NewPcloudPlacementgroupsMembersPostBadRequest() *PcloudPlacementgroupsMembersPostBadRequest { + return &PcloudPlacementgroupsMembersPostBadRequest{} +} + +/* +PcloudPlacementgroupsMembersPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPlacementgroupsMembersPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members post bad request response has a 2xx status code +func (o *PcloudPlacementgroupsMembersPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members post bad request response has a 3xx status code +func (o *PcloudPlacementgroupsMembersPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members post bad request response has a 4xx status code +func (o *PcloudPlacementgroupsMembersPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members post bad request response has a 5xx status code +func (o *PcloudPlacementgroupsMembersPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members post bad request response a status code equal to that given +func (o *PcloudPlacementgroupsMembersPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud placementgroups members post bad request response +func (o *PcloudPlacementgroupsMembersPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPlacementgroupsMembersPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsMembersPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsMembersPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersPostUnauthorized creates a PcloudPlacementgroupsMembersPostUnauthorized with default headers values +func NewPcloudPlacementgroupsMembersPostUnauthorized() *PcloudPlacementgroupsMembersPostUnauthorized { + return &PcloudPlacementgroupsMembersPostUnauthorized{} +} + +/* +PcloudPlacementgroupsMembersPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPlacementgroupsMembersPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members post unauthorized response has a 2xx status code +func (o *PcloudPlacementgroupsMembersPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members post unauthorized response has a 3xx status code +func (o *PcloudPlacementgroupsMembersPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members post unauthorized response has a 4xx status code +func (o *PcloudPlacementgroupsMembersPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members post unauthorized response has a 5xx status code +func (o *PcloudPlacementgroupsMembersPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members post unauthorized response a status code equal to that given +func (o *PcloudPlacementgroupsMembersPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud placementgroups members post unauthorized response +func (o *PcloudPlacementgroupsMembersPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPlacementgroupsMembersPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsMembersPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsMembersPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersPostForbidden creates a PcloudPlacementgroupsMembersPostForbidden with default headers values +func NewPcloudPlacementgroupsMembersPostForbidden() *PcloudPlacementgroupsMembersPostForbidden { + return &PcloudPlacementgroupsMembersPostForbidden{} +} + +/* +PcloudPlacementgroupsMembersPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPlacementgroupsMembersPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members post forbidden response has a 2xx status code +func (o *PcloudPlacementgroupsMembersPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members post forbidden response has a 3xx status code +func (o *PcloudPlacementgroupsMembersPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members post forbidden response has a 4xx status code +func (o *PcloudPlacementgroupsMembersPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members post forbidden response has a 5xx status code +func (o *PcloudPlacementgroupsMembersPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members post forbidden response a status code equal to that given +func (o *PcloudPlacementgroupsMembersPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud placementgroups members post forbidden response +func (o *PcloudPlacementgroupsMembersPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPlacementgroupsMembersPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsMembersPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsMembersPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersPostNotFound creates a PcloudPlacementgroupsMembersPostNotFound with default headers values +func NewPcloudPlacementgroupsMembersPostNotFound() *PcloudPlacementgroupsMembersPostNotFound { + return &PcloudPlacementgroupsMembersPostNotFound{} +} + +/* +PcloudPlacementgroupsMembersPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPlacementgroupsMembersPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members post not found response has a 2xx status code +func (o *PcloudPlacementgroupsMembersPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members post not found response has a 3xx status code +func (o *PcloudPlacementgroupsMembersPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members post not found response has a 4xx status code +func (o *PcloudPlacementgroupsMembersPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members post not found response has a 5xx status code +func (o *PcloudPlacementgroupsMembersPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members post not found response a status code equal to that given +func (o *PcloudPlacementgroupsMembersPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud placementgroups members post not found response +func (o *PcloudPlacementgroupsMembersPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPlacementgroupsMembersPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsMembersPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsMembersPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersPostConflict creates a PcloudPlacementgroupsMembersPostConflict with default headers values +func NewPcloudPlacementgroupsMembersPostConflict() *PcloudPlacementgroupsMembersPostConflict { + return &PcloudPlacementgroupsMembersPostConflict{} +} + +/* +PcloudPlacementgroupsMembersPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPlacementgroupsMembersPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members post conflict response has a 2xx status code +func (o *PcloudPlacementgroupsMembersPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members post conflict response has a 3xx status code +func (o *PcloudPlacementgroupsMembersPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members post conflict response has a 4xx status code +func (o *PcloudPlacementgroupsMembersPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members post conflict response has a 5xx status code +func (o *PcloudPlacementgroupsMembersPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members post conflict response a status code equal to that given +func (o *PcloudPlacementgroupsMembersPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud placementgroups members post conflict response +func (o *PcloudPlacementgroupsMembersPostConflict) Code() int { + return 409 +} + +func (o *PcloudPlacementgroupsMembersPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostConflict %s", 409, payload) +} + +func (o *PcloudPlacementgroupsMembersPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostConflict %s", 409, payload) +} + +func (o *PcloudPlacementgroupsMembersPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersPostUnprocessableEntity creates a PcloudPlacementgroupsMembersPostUnprocessableEntity with default headers values +func NewPcloudPlacementgroupsMembersPostUnprocessableEntity() *PcloudPlacementgroupsMembersPostUnprocessableEntity { + return &PcloudPlacementgroupsMembersPostUnprocessableEntity{} +} + +/* +PcloudPlacementgroupsMembersPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPlacementgroupsMembersPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members post unprocessable entity response has a 2xx status code +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members post unprocessable entity response has a 3xx status code +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members post unprocessable entity response has a 4xx status code +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups members post unprocessable entity response has a 5xx status code +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups members post unprocessable entity response a status code equal to that given +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud placementgroups members post unprocessable entity response +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsMembersPostInternalServerError creates a PcloudPlacementgroupsMembersPostInternalServerError with default headers values +func NewPcloudPlacementgroupsMembersPostInternalServerError() *PcloudPlacementgroupsMembersPostInternalServerError { + return &PcloudPlacementgroupsMembersPostInternalServerError{} +} + +/* +PcloudPlacementgroupsMembersPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPlacementgroupsMembersPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups members post internal server error response has a 2xx status code +func (o *PcloudPlacementgroupsMembersPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups members post internal server error response has a 3xx status code +func (o *PcloudPlacementgroupsMembersPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups members post internal server error response has a 4xx status code +func (o *PcloudPlacementgroupsMembersPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups members post internal server error response has a 5xx status code +func (o *PcloudPlacementgroupsMembersPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud placementgroups members post internal server error response a status code equal to that given +func (o *PcloudPlacementgroupsMembersPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud placementgroups members post internal server error response +func (o *PcloudPlacementgroupsMembersPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPlacementgroupsMembersPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsMembersPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups/{placement_group_id}/members][%d] pcloudPlacementgroupsMembersPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsMembersPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsMembersPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_post_parameters.go new file mode 100644 index 000000000..abdf68442 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPlacementgroupsPostParams creates a new PcloudPlacementgroupsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPlacementgroupsPostParams() *PcloudPlacementgroupsPostParams { + return &PcloudPlacementgroupsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPlacementgroupsPostParamsWithTimeout creates a new PcloudPlacementgroupsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPlacementgroupsPostParamsWithTimeout(timeout time.Duration) *PcloudPlacementgroupsPostParams { + return &PcloudPlacementgroupsPostParams{ + timeout: timeout, + } +} + +// NewPcloudPlacementgroupsPostParamsWithContext creates a new PcloudPlacementgroupsPostParams object +// with the ability to set a context for a request. +func NewPcloudPlacementgroupsPostParamsWithContext(ctx context.Context) *PcloudPlacementgroupsPostParams { + return &PcloudPlacementgroupsPostParams{ + Context: ctx, + } +} + +// NewPcloudPlacementgroupsPostParamsWithHTTPClient creates a new PcloudPlacementgroupsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPlacementgroupsPostParamsWithHTTPClient(client *http.Client) *PcloudPlacementgroupsPostParams { + return &PcloudPlacementgroupsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPlacementgroupsPostParams contains all the parameters to send to the API endpoint + + for the pcloud placementgroups post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPlacementgroupsPostParams struct { + + /* Body. + + Parameters for the creation of a new Server Placement Group + */ + Body *models.PlacementGroupCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud placementgroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsPostParams) WithDefaults() *PcloudPlacementgroupsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud placementgroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPlacementgroupsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) WithTimeout(timeout time.Duration) *PcloudPlacementgroupsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) WithContext(ctx context.Context) *PcloudPlacementgroupsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) WithHTTPClient(client *http.Client) *PcloudPlacementgroupsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) WithBody(body *models.PlacementGroupCreate) *PcloudPlacementgroupsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) SetBody(body *models.PlacementGroupCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPlacementgroupsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud placementgroups post params +func (o *PcloudPlacementgroupsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPlacementgroupsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_post_responses.go new file mode 100644 index 000000000..cb7c98eb3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups/pcloud_placementgroups_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPlacementgroupsPostReader is a Reader for the PcloudPlacementgroupsPost structure. +type PcloudPlacementgroupsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPlacementgroupsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPlacementgroupsPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPlacementgroupsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPlacementgroupsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPlacementgroupsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPlacementgroupsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPlacementgroupsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPlacementgroupsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPlacementgroupsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups] pcloud.placementgroups.post", response, response.Code()) + } +} + +// NewPcloudPlacementgroupsPostOK creates a PcloudPlacementgroupsPostOK with default headers values +func NewPcloudPlacementgroupsPostOK() *PcloudPlacementgroupsPostOK { + return &PcloudPlacementgroupsPostOK{} +} + +/* +PcloudPlacementgroupsPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPlacementgroupsPostOK struct { + Payload *models.PlacementGroup +} + +// IsSuccess returns true when this pcloud placementgroups post o k response has a 2xx status code +func (o *PcloudPlacementgroupsPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud placementgroups post o k response has a 3xx status code +func (o *PcloudPlacementgroupsPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups post o k response has a 4xx status code +func (o *PcloudPlacementgroupsPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups post o k response has a 5xx status code +func (o *PcloudPlacementgroupsPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups post o k response a status code equal to that given +func (o *PcloudPlacementgroupsPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud placementgroups post o k response +func (o *PcloudPlacementgroupsPostOK) Code() int { + return 200 +} + +func (o *PcloudPlacementgroupsPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostOK %s", 200, payload) +} + +func (o *PcloudPlacementgroupsPostOK) GetPayload() *models.PlacementGroup { + return o.Payload +} + +func (o *PcloudPlacementgroupsPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PlacementGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsPostBadRequest creates a PcloudPlacementgroupsPostBadRequest with default headers values +func NewPcloudPlacementgroupsPostBadRequest() *PcloudPlacementgroupsPostBadRequest { + return &PcloudPlacementgroupsPostBadRequest{} +} + +/* +PcloudPlacementgroupsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPlacementgroupsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups post bad request response has a 2xx status code +func (o *PcloudPlacementgroupsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups post bad request response has a 3xx status code +func (o *PcloudPlacementgroupsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups post bad request response has a 4xx status code +func (o *PcloudPlacementgroupsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups post bad request response has a 5xx status code +func (o *PcloudPlacementgroupsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups post bad request response a status code equal to that given +func (o *PcloudPlacementgroupsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud placementgroups post bad request response +func (o *PcloudPlacementgroupsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPlacementgroupsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostBadRequest %s", 400, payload) +} + +func (o *PcloudPlacementgroupsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsPostUnauthorized creates a PcloudPlacementgroupsPostUnauthorized with default headers values +func NewPcloudPlacementgroupsPostUnauthorized() *PcloudPlacementgroupsPostUnauthorized { + return &PcloudPlacementgroupsPostUnauthorized{} +} + +/* +PcloudPlacementgroupsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPlacementgroupsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups post unauthorized response has a 2xx status code +func (o *PcloudPlacementgroupsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups post unauthorized response has a 3xx status code +func (o *PcloudPlacementgroupsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups post unauthorized response has a 4xx status code +func (o *PcloudPlacementgroupsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups post unauthorized response has a 5xx status code +func (o *PcloudPlacementgroupsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups post unauthorized response a status code equal to that given +func (o *PcloudPlacementgroupsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud placementgroups post unauthorized response +func (o *PcloudPlacementgroupsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPlacementgroupsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPlacementgroupsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsPostForbidden creates a PcloudPlacementgroupsPostForbidden with default headers values +func NewPcloudPlacementgroupsPostForbidden() *PcloudPlacementgroupsPostForbidden { + return &PcloudPlacementgroupsPostForbidden{} +} + +/* +PcloudPlacementgroupsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPlacementgroupsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups post forbidden response has a 2xx status code +func (o *PcloudPlacementgroupsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups post forbidden response has a 3xx status code +func (o *PcloudPlacementgroupsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups post forbidden response has a 4xx status code +func (o *PcloudPlacementgroupsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups post forbidden response has a 5xx status code +func (o *PcloudPlacementgroupsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups post forbidden response a status code equal to that given +func (o *PcloudPlacementgroupsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud placementgroups post forbidden response +func (o *PcloudPlacementgroupsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPlacementgroupsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostForbidden %s", 403, payload) +} + +func (o *PcloudPlacementgroupsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsPostNotFound creates a PcloudPlacementgroupsPostNotFound with default headers values +func NewPcloudPlacementgroupsPostNotFound() *PcloudPlacementgroupsPostNotFound { + return &PcloudPlacementgroupsPostNotFound{} +} + +/* +PcloudPlacementgroupsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPlacementgroupsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups post not found response has a 2xx status code +func (o *PcloudPlacementgroupsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups post not found response has a 3xx status code +func (o *PcloudPlacementgroupsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups post not found response has a 4xx status code +func (o *PcloudPlacementgroupsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups post not found response has a 5xx status code +func (o *PcloudPlacementgroupsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups post not found response a status code equal to that given +func (o *PcloudPlacementgroupsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud placementgroups post not found response +func (o *PcloudPlacementgroupsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPlacementgroupsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostNotFound %s", 404, payload) +} + +func (o *PcloudPlacementgroupsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsPostConflict creates a PcloudPlacementgroupsPostConflict with default headers values +func NewPcloudPlacementgroupsPostConflict() *PcloudPlacementgroupsPostConflict { + return &PcloudPlacementgroupsPostConflict{} +} + +/* +PcloudPlacementgroupsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPlacementgroupsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups post conflict response has a 2xx status code +func (o *PcloudPlacementgroupsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups post conflict response has a 3xx status code +func (o *PcloudPlacementgroupsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups post conflict response has a 4xx status code +func (o *PcloudPlacementgroupsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups post conflict response has a 5xx status code +func (o *PcloudPlacementgroupsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups post conflict response a status code equal to that given +func (o *PcloudPlacementgroupsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud placementgroups post conflict response +func (o *PcloudPlacementgroupsPostConflict) Code() int { + return 409 +} + +func (o *PcloudPlacementgroupsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostConflict %s", 409, payload) +} + +func (o *PcloudPlacementgroupsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostConflict %s", 409, payload) +} + +func (o *PcloudPlacementgroupsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsPostUnprocessableEntity creates a PcloudPlacementgroupsPostUnprocessableEntity with default headers values +func NewPcloudPlacementgroupsPostUnprocessableEntity() *PcloudPlacementgroupsPostUnprocessableEntity { + return &PcloudPlacementgroupsPostUnprocessableEntity{} +} + +/* +PcloudPlacementgroupsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPlacementgroupsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups post unprocessable entity response has a 2xx status code +func (o *PcloudPlacementgroupsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups post unprocessable entity response has a 3xx status code +func (o *PcloudPlacementgroupsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups post unprocessable entity response has a 4xx status code +func (o *PcloudPlacementgroupsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud placementgroups post unprocessable entity response has a 5xx status code +func (o *PcloudPlacementgroupsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud placementgroups post unprocessable entity response a status code equal to that given +func (o *PcloudPlacementgroupsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud placementgroups post unprocessable entity response +func (o *PcloudPlacementgroupsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPlacementgroupsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPlacementgroupsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPlacementgroupsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPlacementgroupsPostInternalServerError creates a PcloudPlacementgroupsPostInternalServerError with default headers values +func NewPcloudPlacementgroupsPostInternalServerError() *PcloudPlacementgroupsPostInternalServerError { + return &PcloudPlacementgroupsPostInternalServerError{} +} + +/* +PcloudPlacementgroupsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPlacementgroupsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud placementgroups post internal server error response has a 2xx status code +func (o *PcloudPlacementgroupsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud placementgroups post internal server error response has a 3xx status code +func (o *PcloudPlacementgroupsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud placementgroups post internal server error response has a 4xx status code +func (o *PcloudPlacementgroupsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud placementgroups post internal server error response has a 5xx status code +func (o *PcloudPlacementgroupsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud placementgroups post internal server error response a status code equal to that given +func (o *PcloudPlacementgroupsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud placementgroups post internal server error response +func (o *PcloudPlacementgroupsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPlacementgroupsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/placement-groups][%d] pcloudPlacementgroupsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPlacementgroupsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPlacementgroupsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/p_cloud_pod_capacity_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/p_cloud_pod_capacity_client.go new file mode 100644 index 000000000..0a14d3a0f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/p_cloud_pod_capacity_client.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_pod_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud pod capacity API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud pod capacity API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud pod capacity API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud pod capacity API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudPodcapacityGet(params *PcloudPodcapacityGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPodcapacityGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudPodcapacityGet lists of available resources within a particular pod + +Applicable to satellite locations only. +*/ +func (a *Client) PcloudPodcapacityGet(params *PcloudPodcapacityGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPodcapacityGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPodcapacityGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.podcapacity.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPodcapacityGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPodcapacityGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.podcapacity.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/pcloud_podcapacity_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/pcloud_podcapacity_get_parameters.go new file mode 100644 index 000000000..897441dad --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/pcloud_podcapacity_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_pod_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPodcapacityGetParams creates a new PcloudPodcapacityGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPodcapacityGetParams() *PcloudPodcapacityGetParams { + return &PcloudPodcapacityGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPodcapacityGetParamsWithTimeout creates a new PcloudPodcapacityGetParams object +// with the ability to set a timeout on a request. +func NewPcloudPodcapacityGetParamsWithTimeout(timeout time.Duration) *PcloudPodcapacityGetParams { + return &PcloudPodcapacityGetParams{ + timeout: timeout, + } +} + +// NewPcloudPodcapacityGetParamsWithContext creates a new PcloudPodcapacityGetParams object +// with the ability to set a context for a request. +func NewPcloudPodcapacityGetParamsWithContext(ctx context.Context) *PcloudPodcapacityGetParams { + return &PcloudPodcapacityGetParams{ + Context: ctx, + } +} + +// NewPcloudPodcapacityGetParamsWithHTTPClient creates a new PcloudPodcapacityGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPodcapacityGetParamsWithHTTPClient(client *http.Client) *PcloudPodcapacityGetParams { + return &PcloudPodcapacityGetParams{ + HTTPClient: client, + } +} + +/* +PcloudPodcapacityGetParams contains all the parameters to send to the API endpoint + + for the pcloud podcapacity get operation. + + Typically these are written to a http.Request. +*/ +type PcloudPodcapacityGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud podcapacity get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPodcapacityGetParams) WithDefaults() *PcloudPodcapacityGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud podcapacity get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPodcapacityGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud podcapacity get params +func (o *PcloudPodcapacityGetParams) WithTimeout(timeout time.Duration) *PcloudPodcapacityGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud podcapacity get params +func (o *PcloudPodcapacityGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud podcapacity get params +func (o *PcloudPodcapacityGetParams) WithContext(ctx context.Context) *PcloudPodcapacityGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud podcapacity get params +func (o *PcloudPodcapacityGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud podcapacity get params +func (o *PcloudPodcapacityGetParams) WithHTTPClient(client *http.Client) *PcloudPodcapacityGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud podcapacity get params +func (o *PcloudPodcapacityGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud podcapacity get params +func (o *PcloudPodcapacityGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPodcapacityGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud podcapacity get params +func (o *PcloudPodcapacityGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPodcapacityGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/pcloud_podcapacity_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/pcloud_podcapacity_get_responses.go new file mode 100644 index 000000000..01e70185b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity/pcloud_podcapacity_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_pod_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPodcapacityGetReader is a Reader for the PcloudPodcapacityGet structure. +type PcloudPodcapacityGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPodcapacityGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPodcapacityGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPodcapacityGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPodcapacityGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPodcapacityGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPodcapacityGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPodcapacityGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity] pcloud.podcapacity.get", response, response.Code()) + } +} + +// NewPcloudPodcapacityGetOK creates a PcloudPodcapacityGetOK with default headers values +func NewPcloudPodcapacityGetOK() *PcloudPodcapacityGetOK { + return &PcloudPodcapacityGetOK{} +} + +/* +PcloudPodcapacityGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPodcapacityGetOK struct { + Payload *models.PodCapacity +} + +// IsSuccess returns true when this pcloud podcapacity get o k response has a 2xx status code +func (o *PcloudPodcapacityGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud podcapacity get o k response has a 3xx status code +func (o *PcloudPodcapacityGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud podcapacity get o k response has a 4xx status code +func (o *PcloudPodcapacityGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud podcapacity get o k response has a 5xx status code +func (o *PcloudPodcapacityGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud podcapacity get o k response a status code equal to that given +func (o *PcloudPodcapacityGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud podcapacity get o k response +func (o *PcloudPodcapacityGetOK) Code() int { + return 200 +} + +func (o *PcloudPodcapacityGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetOK %s", 200, payload) +} + +func (o *PcloudPodcapacityGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetOK %s", 200, payload) +} + +func (o *PcloudPodcapacityGetOK) GetPayload() *models.PodCapacity { + return o.Payload +} + +func (o *PcloudPodcapacityGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PodCapacity) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPodcapacityGetBadRequest creates a PcloudPodcapacityGetBadRequest with default headers values +func NewPcloudPodcapacityGetBadRequest() *PcloudPodcapacityGetBadRequest { + return &PcloudPodcapacityGetBadRequest{} +} + +/* +PcloudPodcapacityGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPodcapacityGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud podcapacity get bad request response has a 2xx status code +func (o *PcloudPodcapacityGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud podcapacity get bad request response has a 3xx status code +func (o *PcloudPodcapacityGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud podcapacity get bad request response has a 4xx status code +func (o *PcloudPodcapacityGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud podcapacity get bad request response has a 5xx status code +func (o *PcloudPodcapacityGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud podcapacity get bad request response a status code equal to that given +func (o *PcloudPodcapacityGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud podcapacity get bad request response +func (o *PcloudPodcapacityGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudPodcapacityGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetBadRequest %s", 400, payload) +} + +func (o *PcloudPodcapacityGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetBadRequest %s", 400, payload) +} + +func (o *PcloudPodcapacityGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPodcapacityGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPodcapacityGetUnauthorized creates a PcloudPodcapacityGetUnauthorized with default headers values +func NewPcloudPodcapacityGetUnauthorized() *PcloudPodcapacityGetUnauthorized { + return &PcloudPodcapacityGetUnauthorized{} +} + +/* +PcloudPodcapacityGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPodcapacityGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud podcapacity get unauthorized response has a 2xx status code +func (o *PcloudPodcapacityGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud podcapacity get unauthorized response has a 3xx status code +func (o *PcloudPodcapacityGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud podcapacity get unauthorized response has a 4xx status code +func (o *PcloudPodcapacityGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud podcapacity get unauthorized response has a 5xx status code +func (o *PcloudPodcapacityGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud podcapacity get unauthorized response a status code equal to that given +func (o *PcloudPodcapacityGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud podcapacity get unauthorized response +func (o *PcloudPodcapacityGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPodcapacityGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPodcapacityGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPodcapacityGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPodcapacityGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPodcapacityGetForbidden creates a PcloudPodcapacityGetForbidden with default headers values +func NewPcloudPodcapacityGetForbidden() *PcloudPodcapacityGetForbidden { + return &PcloudPodcapacityGetForbidden{} +} + +/* +PcloudPodcapacityGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPodcapacityGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud podcapacity get forbidden response has a 2xx status code +func (o *PcloudPodcapacityGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud podcapacity get forbidden response has a 3xx status code +func (o *PcloudPodcapacityGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud podcapacity get forbidden response has a 4xx status code +func (o *PcloudPodcapacityGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud podcapacity get forbidden response has a 5xx status code +func (o *PcloudPodcapacityGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud podcapacity get forbidden response a status code equal to that given +func (o *PcloudPodcapacityGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud podcapacity get forbidden response +func (o *PcloudPodcapacityGetForbidden) Code() int { + return 403 +} + +func (o *PcloudPodcapacityGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetForbidden %s", 403, payload) +} + +func (o *PcloudPodcapacityGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetForbidden %s", 403, payload) +} + +func (o *PcloudPodcapacityGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPodcapacityGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPodcapacityGetNotFound creates a PcloudPodcapacityGetNotFound with default headers values +func NewPcloudPodcapacityGetNotFound() *PcloudPodcapacityGetNotFound { + return &PcloudPodcapacityGetNotFound{} +} + +/* +PcloudPodcapacityGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPodcapacityGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud podcapacity get not found response has a 2xx status code +func (o *PcloudPodcapacityGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud podcapacity get not found response has a 3xx status code +func (o *PcloudPodcapacityGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud podcapacity get not found response has a 4xx status code +func (o *PcloudPodcapacityGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud podcapacity get not found response has a 5xx status code +func (o *PcloudPodcapacityGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud podcapacity get not found response a status code equal to that given +func (o *PcloudPodcapacityGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud podcapacity get not found response +func (o *PcloudPodcapacityGetNotFound) Code() int { + return 404 +} + +func (o *PcloudPodcapacityGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetNotFound %s", 404, payload) +} + +func (o *PcloudPodcapacityGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetNotFound %s", 404, payload) +} + +func (o *PcloudPodcapacityGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPodcapacityGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPodcapacityGetInternalServerError creates a PcloudPodcapacityGetInternalServerError with default headers values +func NewPcloudPodcapacityGetInternalServerError() *PcloudPodcapacityGetInternalServerError { + return &PcloudPodcapacityGetInternalServerError{} +} + +/* +PcloudPodcapacityGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPodcapacityGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud podcapacity get internal server error response has a 2xx status code +func (o *PcloudPodcapacityGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud podcapacity get internal server error response has a 3xx status code +func (o *PcloudPodcapacityGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud podcapacity get internal server error response has a 4xx status code +func (o *PcloudPodcapacityGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud podcapacity get internal server error response has a 5xx status code +func (o *PcloudPodcapacityGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud podcapacity get internal server error response a status code equal to that given +func (o *PcloudPodcapacityGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud podcapacity get internal server error response +func (o *PcloudPodcapacityGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPodcapacityGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPodcapacityGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pod-capacity][%d] pcloudPodcapacityGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPodcapacityGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPodcapacityGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/p_cloudsap_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/p_cloudsap_client.go new file mode 100644 index 000000000..3739f74ed --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/p_cloudsap_client.go @@ -0,0 +1,205 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_a_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud s a p API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud s a p API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud s a p API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud s a p API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudSapGet(params *PcloudSapGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSapGetOK, error) + + PcloudSapGetall(params *PcloudSapGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSapGetallOK, error) + + PcloudSapPost(params *PcloudSapPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSapPostOK, *PcloudSapPostCreated, *PcloudSapPostAccepted, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudSapGet gets the information on an s a p profile +*/ +func (a *Client) PcloudSapGet(params *PcloudSapGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSapGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSapGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sap.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSapGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSapGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sap.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSapGetall gets list of s a p profiles +*/ +func (a *Client) PcloudSapGetall(params *PcloudSapGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSapGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSapGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sap.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/sap", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSapGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSapGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sap.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSapPost creates a new s a p p VM instance +*/ +func (a *Client) PcloudSapPost(params *PcloudSapPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSapPostOK, *PcloudSapPostCreated, *PcloudSapPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSapPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sap.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/sap", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSapPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudSapPostOK: + return value, nil, nil, nil + case *PcloudSapPostCreated: + return nil, value, nil, nil + case *PcloudSapPostAccepted: + return nil, nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_s_a_p: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_get_parameters.go new file mode 100644 index 000000000..b9d629fc6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_a_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSapGetParams creates a new PcloudSapGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSapGetParams() *PcloudSapGetParams { + return &PcloudSapGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSapGetParamsWithTimeout creates a new PcloudSapGetParams object +// with the ability to set a timeout on a request. +func NewPcloudSapGetParamsWithTimeout(timeout time.Duration) *PcloudSapGetParams { + return &PcloudSapGetParams{ + timeout: timeout, + } +} + +// NewPcloudSapGetParamsWithContext creates a new PcloudSapGetParams object +// with the ability to set a context for a request. +func NewPcloudSapGetParamsWithContext(ctx context.Context) *PcloudSapGetParams { + return &PcloudSapGetParams{ + Context: ctx, + } +} + +// NewPcloudSapGetParamsWithHTTPClient creates a new PcloudSapGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSapGetParamsWithHTTPClient(client *http.Client) *PcloudSapGetParams { + return &PcloudSapGetParams{ + HTTPClient: client, + } +} + +/* +PcloudSapGetParams contains all the parameters to send to the API endpoint + + for the pcloud sap get operation. + + Typically these are written to a http.Request. +*/ +type PcloudSapGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SapProfileID. + + SAP Profile ID + */ + SapProfileID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sap get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSapGetParams) WithDefaults() *PcloudSapGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sap get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSapGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sap get params +func (o *PcloudSapGetParams) WithTimeout(timeout time.Duration) *PcloudSapGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sap get params +func (o *PcloudSapGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sap get params +func (o *PcloudSapGetParams) WithContext(ctx context.Context) *PcloudSapGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sap get params +func (o *PcloudSapGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sap get params +func (o *PcloudSapGetParams) WithHTTPClient(client *http.Client) *PcloudSapGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sap get params +func (o *PcloudSapGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sap get params +func (o *PcloudSapGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSapGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sap get params +func (o *PcloudSapGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSapProfileID adds the sapProfileID to the pcloud sap get params +func (o *PcloudSapGetParams) WithSapProfileID(sapProfileID string) *PcloudSapGetParams { + o.SetSapProfileID(sapProfileID) + return o +} + +// SetSapProfileID adds the sapProfileId to the pcloud sap get params +func (o *PcloudSapGetParams) SetSapProfileID(sapProfileID string) { + o.SapProfileID = sapProfileID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSapGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param sap_profile_id + if err := r.SetPathParam("sap_profile_id", o.SapProfileID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_get_responses.go new file mode 100644 index 000000000..741cb5db3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_a_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSapGetReader is a Reader for the PcloudSapGet structure. +type PcloudSapGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSapGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSapGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSapGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSapGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSapGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSapGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSapGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}] pcloud.sap.get", response, response.Code()) + } +} + +// NewPcloudSapGetOK creates a PcloudSapGetOK with default headers values +func NewPcloudSapGetOK() *PcloudSapGetOK { + return &PcloudSapGetOK{} +} + +/* +PcloudSapGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSapGetOK struct { + Payload *models.SAPProfile +} + +// IsSuccess returns true when this pcloud sap get o k response has a 2xx status code +func (o *PcloudSapGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sap get o k response has a 3xx status code +func (o *PcloudSapGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap get o k response has a 4xx status code +func (o *PcloudSapGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sap get o k response has a 5xx status code +func (o *PcloudSapGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap get o k response a status code equal to that given +func (o *PcloudSapGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sap get o k response +func (o *PcloudSapGetOK) Code() int { + return 200 +} + +func (o *PcloudSapGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetOK %s", 200, payload) +} + +func (o *PcloudSapGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetOK %s", 200, payload) +} + +func (o *PcloudSapGetOK) GetPayload() *models.SAPProfile { + return o.Payload +} + +func (o *PcloudSapGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SAPProfile) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetBadRequest creates a PcloudSapGetBadRequest with default headers values +func NewPcloudSapGetBadRequest() *PcloudSapGetBadRequest { + return &PcloudSapGetBadRequest{} +} + +/* +PcloudSapGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSapGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap get bad request response has a 2xx status code +func (o *PcloudSapGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap get bad request response has a 3xx status code +func (o *PcloudSapGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap get bad request response has a 4xx status code +func (o *PcloudSapGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap get bad request response has a 5xx status code +func (o *PcloudSapGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap get bad request response a status code equal to that given +func (o *PcloudSapGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sap get bad request response +func (o *PcloudSapGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudSapGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetBadRequest %s", 400, payload) +} + +func (o *PcloudSapGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetBadRequest %s", 400, payload) +} + +func (o *PcloudSapGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetUnauthorized creates a PcloudSapGetUnauthorized with default headers values +func NewPcloudSapGetUnauthorized() *PcloudSapGetUnauthorized { + return &PcloudSapGetUnauthorized{} +} + +/* +PcloudSapGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSapGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap get unauthorized response has a 2xx status code +func (o *PcloudSapGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap get unauthorized response has a 3xx status code +func (o *PcloudSapGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap get unauthorized response has a 4xx status code +func (o *PcloudSapGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap get unauthorized response has a 5xx status code +func (o *PcloudSapGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap get unauthorized response a status code equal to that given +func (o *PcloudSapGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sap get unauthorized response +func (o *PcloudSapGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSapGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetUnauthorized %s", 401, payload) +} + +func (o *PcloudSapGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetUnauthorized %s", 401, payload) +} + +func (o *PcloudSapGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetForbidden creates a PcloudSapGetForbidden with default headers values +func NewPcloudSapGetForbidden() *PcloudSapGetForbidden { + return &PcloudSapGetForbidden{} +} + +/* +PcloudSapGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSapGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap get forbidden response has a 2xx status code +func (o *PcloudSapGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap get forbidden response has a 3xx status code +func (o *PcloudSapGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap get forbidden response has a 4xx status code +func (o *PcloudSapGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap get forbidden response has a 5xx status code +func (o *PcloudSapGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap get forbidden response a status code equal to that given +func (o *PcloudSapGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sap get forbidden response +func (o *PcloudSapGetForbidden) Code() int { + return 403 +} + +func (o *PcloudSapGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetForbidden %s", 403, payload) +} + +func (o *PcloudSapGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetForbidden %s", 403, payload) +} + +func (o *PcloudSapGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetNotFound creates a PcloudSapGetNotFound with default headers values +func NewPcloudSapGetNotFound() *PcloudSapGetNotFound { + return &PcloudSapGetNotFound{} +} + +/* +PcloudSapGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSapGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap get not found response has a 2xx status code +func (o *PcloudSapGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap get not found response has a 3xx status code +func (o *PcloudSapGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap get not found response has a 4xx status code +func (o *PcloudSapGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap get not found response has a 5xx status code +func (o *PcloudSapGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap get not found response a status code equal to that given +func (o *PcloudSapGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sap get not found response +func (o *PcloudSapGetNotFound) Code() int { + return 404 +} + +func (o *PcloudSapGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetNotFound %s", 404, payload) +} + +func (o *PcloudSapGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetNotFound %s", 404, payload) +} + +func (o *PcloudSapGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetInternalServerError creates a PcloudSapGetInternalServerError with default headers values +func NewPcloudSapGetInternalServerError() *PcloudSapGetInternalServerError { + return &PcloudSapGetInternalServerError{} +} + +/* +PcloudSapGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSapGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap get internal server error response has a 2xx status code +func (o *PcloudSapGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap get internal server error response has a 3xx status code +func (o *PcloudSapGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap get internal server error response has a 4xx status code +func (o *PcloudSapGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sap get internal server error response has a 5xx status code +func (o *PcloudSapGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sap get internal server error response a status code equal to that given +func (o *PcloudSapGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sap get internal server error response +func (o *PcloudSapGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSapGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetInternalServerError %s", 500, payload) +} + +func (o *PcloudSapGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap/{sap_profile_id}][%d] pcloudSapGetInternalServerError %s", 500, payload) +} + +func (o *PcloudSapGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_getall_parameters.go new file mode 100644 index 000000000..473e62687 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_getall_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_a_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSapGetallParams creates a new PcloudSapGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSapGetallParams() *PcloudSapGetallParams { + return &PcloudSapGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSapGetallParamsWithTimeout creates a new PcloudSapGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudSapGetallParamsWithTimeout(timeout time.Duration) *PcloudSapGetallParams { + return &PcloudSapGetallParams{ + timeout: timeout, + } +} + +// NewPcloudSapGetallParamsWithContext creates a new PcloudSapGetallParams object +// with the ability to set a context for a request. +func NewPcloudSapGetallParamsWithContext(ctx context.Context) *PcloudSapGetallParams { + return &PcloudSapGetallParams{ + Context: ctx, + } +} + +// NewPcloudSapGetallParamsWithHTTPClient creates a new PcloudSapGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSapGetallParamsWithHTTPClient(client *http.Client) *PcloudSapGetallParams { + return &PcloudSapGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudSapGetallParams contains all the parameters to send to the API endpoint + + for the pcloud sap getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudSapGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* ProfileFamily. + + SAP profile family to filter by + */ + ProfileFamily *string + + /* ProfilePrefix. + + SAP profile prefix to filter by + */ + ProfilePrefix *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sap getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSapGetallParams) WithDefaults() *PcloudSapGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sap getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSapGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sap getall params +func (o *PcloudSapGetallParams) WithTimeout(timeout time.Duration) *PcloudSapGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sap getall params +func (o *PcloudSapGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sap getall params +func (o *PcloudSapGetallParams) WithContext(ctx context.Context) *PcloudSapGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sap getall params +func (o *PcloudSapGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sap getall params +func (o *PcloudSapGetallParams) WithHTTPClient(client *http.Client) *PcloudSapGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sap getall params +func (o *PcloudSapGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sap getall params +func (o *PcloudSapGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSapGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sap getall params +func (o *PcloudSapGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithProfileFamily adds the profileFamily to the pcloud sap getall params +func (o *PcloudSapGetallParams) WithProfileFamily(profileFamily *string) *PcloudSapGetallParams { + o.SetProfileFamily(profileFamily) + return o +} + +// SetProfileFamily adds the profileFamily to the pcloud sap getall params +func (o *PcloudSapGetallParams) SetProfileFamily(profileFamily *string) { + o.ProfileFamily = profileFamily +} + +// WithProfilePrefix adds the profilePrefix to the pcloud sap getall params +func (o *PcloudSapGetallParams) WithProfilePrefix(profilePrefix *string) *PcloudSapGetallParams { + o.SetProfilePrefix(profilePrefix) + return o +} + +// SetProfilePrefix adds the profilePrefix to the pcloud sap getall params +func (o *PcloudSapGetallParams) SetProfilePrefix(profilePrefix *string) { + o.ProfilePrefix = profilePrefix +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSapGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.ProfileFamily != nil { + + // query param profile_family + var qrProfileFamily string + + if o.ProfileFamily != nil { + qrProfileFamily = *o.ProfileFamily + } + qProfileFamily := qrProfileFamily + if qProfileFamily != "" { + + if err := r.SetQueryParam("profile_family", qProfileFamily); err != nil { + return err + } + } + } + + if o.ProfilePrefix != nil { + + // query param profile_prefix + var qrProfilePrefix string + + if o.ProfilePrefix != nil { + qrProfilePrefix = *o.ProfilePrefix + } + qProfilePrefix := qrProfilePrefix + if qProfilePrefix != "" { + + if err := r.SetQueryParam("profile_prefix", qProfilePrefix); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_getall_responses.go new file mode 100644 index 000000000..6879a2327 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_a_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSapGetallReader is a Reader for the PcloudSapGetall structure. +type PcloudSapGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSapGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSapGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSapGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSapGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSapGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSapGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSapGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap] pcloud.sap.getall", response, response.Code()) + } +} + +// NewPcloudSapGetallOK creates a PcloudSapGetallOK with default headers values +func NewPcloudSapGetallOK() *PcloudSapGetallOK { + return &PcloudSapGetallOK{} +} + +/* +PcloudSapGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSapGetallOK struct { + Payload *models.SAPProfiles +} + +// IsSuccess returns true when this pcloud sap getall o k response has a 2xx status code +func (o *PcloudSapGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sap getall o k response has a 3xx status code +func (o *PcloudSapGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap getall o k response has a 4xx status code +func (o *PcloudSapGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sap getall o k response has a 5xx status code +func (o *PcloudSapGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap getall o k response a status code equal to that given +func (o *PcloudSapGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sap getall o k response +func (o *PcloudSapGetallOK) Code() int { + return 200 +} + +func (o *PcloudSapGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallOK %s", 200, payload) +} + +func (o *PcloudSapGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallOK %s", 200, payload) +} + +func (o *PcloudSapGetallOK) GetPayload() *models.SAPProfiles { + return o.Payload +} + +func (o *PcloudSapGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SAPProfiles) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetallBadRequest creates a PcloudSapGetallBadRequest with default headers values +func NewPcloudSapGetallBadRequest() *PcloudSapGetallBadRequest { + return &PcloudSapGetallBadRequest{} +} + +/* +PcloudSapGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSapGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap getall bad request response has a 2xx status code +func (o *PcloudSapGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap getall bad request response has a 3xx status code +func (o *PcloudSapGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap getall bad request response has a 4xx status code +func (o *PcloudSapGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap getall bad request response has a 5xx status code +func (o *PcloudSapGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap getall bad request response a status code equal to that given +func (o *PcloudSapGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sap getall bad request response +func (o *PcloudSapGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudSapGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallBadRequest %s", 400, payload) +} + +func (o *PcloudSapGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallBadRequest %s", 400, payload) +} + +func (o *PcloudSapGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetallUnauthorized creates a PcloudSapGetallUnauthorized with default headers values +func NewPcloudSapGetallUnauthorized() *PcloudSapGetallUnauthorized { + return &PcloudSapGetallUnauthorized{} +} + +/* +PcloudSapGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSapGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap getall unauthorized response has a 2xx status code +func (o *PcloudSapGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap getall unauthorized response has a 3xx status code +func (o *PcloudSapGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap getall unauthorized response has a 4xx status code +func (o *PcloudSapGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap getall unauthorized response has a 5xx status code +func (o *PcloudSapGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap getall unauthorized response a status code equal to that given +func (o *PcloudSapGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sap getall unauthorized response +func (o *PcloudSapGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSapGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudSapGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudSapGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetallForbidden creates a PcloudSapGetallForbidden with default headers values +func NewPcloudSapGetallForbidden() *PcloudSapGetallForbidden { + return &PcloudSapGetallForbidden{} +} + +/* +PcloudSapGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSapGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap getall forbidden response has a 2xx status code +func (o *PcloudSapGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap getall forbidden response has a 3xx status code +func (o *PcloudSapGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap getall forbidden response has a 4xx status code +func (o *PcloudSapGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap getall forbidden response has a 5xx status code +func (o *PcloudSapGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap getall forbidden response a status code equal to that given +func (o *PcloudSapGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sap getall forbidden response +func (o *PcloudSapGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudSapGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallForbidden %s", 403, payload) +} + +func (o *PcloudSapGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallForbidden %s", 403, payload) +} + +func (o *PcloudSapGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetallNotFound creates a PcloudSapGetallNotFound with default headers values +func NewPcloudSapGetallNotFound() *PcloudSapGetallNotFound { + return &PcloudSapGetallNotFound{} +} + +/* +PcloudSapGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSapGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap getall not found response has a 2xx status code +func (o *PcloudSapGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap getall not found response has a 3xx status code +func (o *PcloudSapGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap getall not found response has a 4xx status code +func (o *PcloudSapGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap getall not found response has a 5xx status code +func (o *PcloudSapGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap getall not found response a status code equal to that given +func (o *PcloudSapGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sap getall not found response +func (o *PcloudSapGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudSapGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallNotFound %s", 404, payload) +} + +func (o *PcloudSapGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallNotFound %s", 404, payload) +} + +func (o *PcloudSapGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapGetallInternalServerError creates a PcloudSapGetallInternalServerError with default headers values +func NewPcloudSapGetallInternalServerError() *PcloudSapGetallInternalServerError { + return &PcloudSapGetallInternalServerError{} +} + +/* +PcloudSapGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSapGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap getall internal server error response has a 2xx status code +func (o *PcloudSapGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap getall internal server error response has a 3xx status code +func (o *PcloudSapGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap getall internal server error response has a 4xx status code +func (o *PcloudSapGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sap getall internal server error response has a 5xx status code +func (o *PcloudSapGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sap getall internal server error response a status code equal to that given +func (o *PcloudSapGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sap getall internal server error response +func (o *PcloudSapGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSapGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudSapGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudSapGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_post_parameters.go new file mode 100644 index 000000000..fd17be921 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_a_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudSapPostParams creates a new PcloudSapPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSapPostParams() *PcloudSapPostParams { + return &PcloudSapPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSapPostParamsWithTimeout creates a new PcloudSapPostParams object +// with the ability to set a timeout on a request. +func NewPcloudSapPostParamsWithTimeout(timeout time.Duration) *PcloudSapPostParams { + return &PcloudSapPostParams{ + timeout: timeout, + } +} + +// NewPcloudSapPostParamsWithContext creates a new PcloudSapPostParams object +// with the ability to set a context for a request. +func NewPcloudSapPostParamsWithContext(ctx context.Context) *PcloudSapPostParams { + return &PcloudSapPostParams{ + Context: ctx, + } +} + +// NewPcloudSapPostParamsWithHTTPClient creates a new PcloudSapPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSapPostParamsWithHTTPClient(client *http.Client) *PcloudSapPostParams { + return &PcloudSapPostParams{ + HTTPClient: client, + } +} + +/* +PcloudSapPostParams contains all the parameters to send to the API endpoint + + for the pcloud sap post operation. + + Typically these are written to a http.Request. +*/ +type PcloudSapPostParams struct { + + /* Body. + + Parameters for the creation of a new SAP PVM Instance + */ + Body *models.SAPCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sap post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSapPostParams) WithDefaults() *PcloudSapPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sap post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSapPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sap post params +func (o *PcloudSapPostParams) WithTimeout(timeout time.Duration) *PcloudSapPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sap post params +func (o *PcloudSapPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sap post params +func (o *PcloudSapPostParams) WithContext(ctx context.Context) *PcloudSapPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sap post params +func (o *PcloudSapPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sap post params +func (o *PcloudSapPostParams) WithHTTPClient(client *http.Client) *PcloudSapPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sap post params +func (o *PcloudSapPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud sap post params +func (o *PcloudSapPostParams) WithBody(body *models.SAPCreate) *PcloudSapPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud sap post params +func (o *PcloudSapPostParams) SetBody(body *models.SAPCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sap post params +func (o *PcloudSapPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSapPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sap post params +func (o *PcloudSapPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSapPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_post_responses.go new file mode 100644 index 000000000..5aa404f73 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p/pcloud_sap_post_responses.go @@ -0,0 +1,785 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_a_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSapPostReader is a Reader for the PcloudSapPost structure. +type PcloudSapPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSapPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSapPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewPcloudSapPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudSapPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSapPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSapPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSapPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSapPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudSapPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudSapPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSapPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap] pcloud.sap.post", response, response.Code()) + } +} + +// NewPcloudSapPostOK creates a PcloudSapPostOK with default headers values +func NewPcloudSapPostOK() *PcloudSapPostOK { + return &PcloudSapPostOK{} +} + +/* +PcloudSapPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSapPostOK struct { + Payload models.PVMInstanceList +} + +// IsSuccess returns true when this pcloud sap post o k response has a 2xx status code +func (o *PcloudSapPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sap post o k response has a 3xx status code +func (o *PcloudSapPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post o k response has a 4xx status code +func (o *PcloudSapPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sap post o k response has a 5xx status code +func (o *PcloudSapPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post o k response a status code equal to that given +func (o *PcloudSapPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sap post o k response +func (o *PcloudSapPostOK) Code() int { + return 200 +} + +func (o *PcloudSapPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostOK %s", 200, payload) +} + +func (o *PcloudSapPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostOK %s", 200, payload) +} + +func (o *PcloudSapPostOK) GetPayload() models.PVMInstanceList { + return o.Payload +} + +func (o *PcloudSapPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostCreated creates a PcloudSapPostCreated with default headers values +func NewPcloudSapPostCreated() *PcloudSapPostCreated { + return &PcloudSapPostCreated{} +} + +/* +PcloudSapPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudSapPostCreated struct { + Payload models.PVMInstanceList +} + +// IsSuccess returns true when this pcloud sap post created response has a 2xx status code +func (o *PcloudSapPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sap post created response has a 3xx status code +func (o *PcloudSapPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post created response has a 4xx status code +func (o *PcloudSapPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sap post created response has a 5xx status code +func (o *PcloudSapPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post created response a status code equal to that given +func (o *PcloudSapPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud sap post created response +func (o *PcloudSapPostCreated) Code() int { + return 201 +} + +func (o *PcloudSapPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostCreated %s", 201, payload) +} + +func (o *PcloudSapPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostCreated %s", 201, payload) +} + +func (o *PcloudSapPostCreated) GetPayload() models.PVMInstanceList { + return o.Payload +} + +func (o *PcloudSapPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostAccepted creates a PcloudSapPostAccepted with default headers values +func NewPcloudSapPostAccepted() *PcloudSapPostAccepted { + return &PcloudSapPostAccepted{} +} + +/* +PcloudSapPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudSapPostAccepted struct { + Payload models.PVMInstanceList +} + +// IsSuccess returns true when this pcloud sap post accepted response has a 2xx status code +func (o *PcloudSapPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sap post accepted response has a 3xx status code +func (o *PcloudSapPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post accepted response has a 4xx status code +func (o *PcloudSapPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sap post accepted response has a 5xx status code +func (o *PcloudSapPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post accepted response a status code equal to that given +func (o *PcloudSapPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud sap post accepted response +func (o *PcloudSapPostAccepted) Code() int { + return 202 +} + +func (o *PcloudSapPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostAccepted %s", 202, payload) +} + +func (o *PcloudSapPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostAccepted %s", 202, payload) +} + +func (o *PcloudSapPostAccepted) GetPayload() models.PVMInstanceList { + return o.Payload +} + +func (o *PcloudSapPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostBadRequest creates a PcloudSapPostBadRequest with default headers values +func NewPcloudSapPostBadRequest() *PcloudSapPostBadRequest { + return &PcloudSapPostBadRequest{} +} + +/* +PcloudSapPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSapPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap post bad request response has a 2xx status code +func (o *PcloudSapPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap post bad request response has a 3xx status code +func (o *PcloudSapPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post bad request response has a 4xx status code +func (o *PcloudSapPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap post bad request response has a 5xx status code +func (o *PcloudSapPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post bad request response a status code equal to that given +func (o *PcloudSapPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sap post bad request response +func (o *PcloudSapPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudSapPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostBadRequest %s", 400, payload) +} + +func (o *PcloudSapPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostBadRequest %s", 400, payload) +} + +func (o *PcloudSapPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostUnauthorized creates a PcloudSapPostUnauthorized with default headers values +func NewPcloudSapPostUnauthorized() *PcloudSapPostUnauthorized { + return &PcloudSapPostUnauthorized{} +} + +/* +PcloudSapPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSapPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap post unauthorized response has a 2xx status code +func (o *PcloudSapPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap post unauthorized response has a 3xx status code +func (o *PcloudSapPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post unauthorized response has a 4xx status code +func (o *PcloudSapPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap post unauthorized response has a 5xx status code +func (o *PcloudSapPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post unauthorized response a status code equal to that given +func (o *PcloudSapPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sap post unauthorized response +func (o *PcloudSapPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSapPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostUnauthorized %s", 401, payload) +} + +func (o *PcloudSapPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostUnauthorized %s", 401, payload) +} + +func (o *PcloudSapPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostForbidden creates a PcloudSapPostForbidden with default headers values +func NewPcloudSapPostForbidden() *PcloudSapPostForbidden { + return &PcloudSapPostForbidden{} +} + +/* +PcloudSapPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSapPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap post forbidden response has a 2xx status code +func (o *PcloudSapPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap post forbidden response has a 3xx status code +func (o *PcloudSapPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post forbidden response has a 4xx status code +func (o *PcloudSapPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap post forbidden response has a 5xx status code +func (o *PcloudSapPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post forbidden response a status code equal to that given +func (o *PcloudSapPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sap post forbidden response +func (o *PcloudSapPostForbidden) Code() int { + return 403 +} + +func (o *PcloudSapPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostForbidden %s", 403, payload) +} + +func (o *PcloudSapPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostForbidden %s", 403, payload) +} + +func (o *PcloudSapPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostNotFound creates a PcloudSapPostNotFound with default headers values +func NewPcloudSapPostNotFound() *PcloudSapPostNotFound { + return &PcloudSapPostNotFound{} +} + +/* +PcloudSapPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSapPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap post not found response has a 2xx status code +func (o *PcloudSapPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap post not found response has a 3xx status code +func (o *PcloudSapPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post not found response has a 4xx status code +func (o *PcloudSapPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap post not found response has a 5xx status code +func (o *PcloudSapPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post not found response a status code equal to that given +func (o *PcloudSapPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sap post not found response +func (o *PcloudSapPostNotFound) Code() int { + return 404 +} + +func (o *PcloudSapPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostNotFound %s", 404, payload) +} + +func (o *PcloudSapPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostNotFound %s", 404, payload) +} + +func (o *PcloudSapPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostConflict creates a PcloudSapPostConflict with default headers values +func NewPcloudSapPostConflict() *PcloudSapPostConflict { + return &PcloudSapPostConflict{} +} + +/* +PcloudSapPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudSapPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap post conflict response has a 2xx status code +func (o *PcloudSapPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap post conflict response has a 3xx status code +func (o *PcloudSapPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post conflict response has a 4xx status code +func (o *PcloudSapPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap post conflict response has a 5xx status code +func (o *PcloudSapPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post conflict response a status code equal to that given +func (o *PcloudSapPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud sap post conflict response +func (o *PcloudSapPostConflict) Code() int { + return 409 +} + +func (o *PcloudSapPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostConflict %s", 409, payload) +} + +func (o *PcloudSapPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostConflict %s", 409, payload) +} + +func (o *PcloudSapPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostUnprocessableEntity creates a PcloudSapPostUnprocessableEntity with default headers values +func NewPcloudSapPostUnprocessableEntity() *PcloudSapPostUnprocessableEntity { + return &PcloudSapPostUnprocessableEntity{} +} + +/* +PcloudSapPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudSapPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap post unprocessable entity response has a 2xx status code +func (o *PcloudSapPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap post unprocessable entity response has a 3xx status code +func (o *PcloudSapPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post unprocessable entity response has a 4xx status code +func (o *PcloudSapPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sap post unprocessable entity response has a 5xx status code +func (o *PcloudSapPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sap post unprocessable entity response a status code equal to that given +func (o *PcloudSapPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud sap post unprocessable entity response +func (o *PcloudSapPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudSapPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudSapPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudSapPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSapPostInternalServerError creates a PcloudSapPostInternalServerError with default headers values +func NewPcloudSapPostInternalServerError() *PcloudSapPostInternalServerError { + return &PcloudSapPostInternalServerError{} +} + +/* +PcloudSapPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSapPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sap post internal server error response has a 2xx status code +func (o *PcloudSapPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sap post internal server error response has a 3xx status code +func (o *PcloudSapPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sap post internal server error response has a 4xx status code +func (o *PcloudSapPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sap post internal server error response has a 5xx status code +func (o *PcloudSapPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sap post internal server error response a status code equal to that given +func (o *PcloudSapPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sap post internal server error response +func (o *PcloudSapPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSapPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostInternalServerError %s", 500, payload) +} + +func (o *PcloudSapPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/sap][%d] pcloudSapPostInternalServerError %s", 500, payload) +} + +func (o *PcloudSapPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSapPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/p_cloudspp_placement_groups_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/p_cloudspp_placement_groups_client.go new file mode 100644 index 000000000..a71114725 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/p_cloudspp_placement_groups_client.go @@ -0,0 +1,341 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud s p p placement groups API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud s p p placement groups API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud s p p placement groups API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud s p p placement groups API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudSppplacementgroupsDelete(params *PcloudSppplacementgroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsDeleteOK, error) + + PcloudSppplacementgroupsGet(params *PcloudSppplacementgroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsGetOK, error) + + PcloudSppplacementgroupsGetall(params *PcloudSppplacementgroupsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsGetallOK, error) + + PcloudSppplacementgroupsMembersDelete(params *PcloudSppplacementgroupsMembersDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsMembersDeleteOK, error) + + PcloudSppplacementgroupsMembersPost(params *PcloudSppplacementgroupsMembersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsMembersPostOK, error) + + PcloudSppplacementgroupsPost(params *PcloudSppplacementgroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsPostOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudSppplacementgroupsDelete deletes a shared processor pool placement group from a cloud instance +*/ +func (a *Client) PcloudSppplacementgroupsDelete(params *PcloudSppplacementgroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSppplacementgroupsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sppplacementgroups.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSppplacementgroupsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSppplacementgroupsDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sppplacementgroups.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSppplacementgroupsGet gets the detail of a shared processor pool placement group for a cloud instance +*/ +func (a *Client) PcloudSppplacementgroupsGet(params *PcloudSppplacementgroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSppplacementgroupsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sppplacementgroups.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSppplacementgroupsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSppplacementgroupsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sppplacementgroups.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSppplacementgroupsGetall gets the list of shared processor pool placement groups for a cloud instance +*/ +func (a *Client) PcloudSppplacementgroupsGetall(params *PcloudSppplacementgroupsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSppplacementgroupsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sppplacementgroups.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSppplacementgroupsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSppplacementgroupsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sppplacementgroups.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSppplacementgroupsMembersDelete deletes shared processor pool member from a shared processor pool placement group +*/ +func (a *Client) PcloudSppplacementgroupsMembersDelete(params *PcloudSppplacementgroupsMembersDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsMembersDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSppplacementgroupsMembersDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sppplacementgroups.members.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSppplacementgroupsMembersDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSppplacementgroupsMembersDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sppplacementgroups.members.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSppplacementgroupsMembersPost adds shared processor pool as a member of a shared processor pool placement group +*/ +func (a *Client) PcloudSppplacementgroupsMembersPost(params *PcloudSppplacementgroupsMembersPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsMembersPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSppplacementgroupsMembersPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sppplacementgroups.members.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSppplacementgroupsMembersPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSppplacementgroupsMembersPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sppplacementgroups.members.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSppplacementgroupsPost creates a new shared processor pool placement group +*/ +func (a *Client) PcloudSppplacementgroupsPost(params *PcloudSppplacementgroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSppplacementgroupsPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSppplacementgroupsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sppplacementgroups.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSppplacementgroupsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSppplacementgroupsPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sppplacementgroups.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_delete_parameters.go new file mode 100644 index 000000000..5854efdd4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSppplacementgroupsDeleteParams creates a new PcloudSppplacementgroupsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSppplacementgroupsDeleteParams() *PcloudSppplacementgroupsDeleteParams { + return &PcloudSppplacementgroupsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSppplacementgroupsDeleteParamsWithTimeout creates a new PcloudSppplacementgroupsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudSppplacementgroupsDeleteParamsWithTimeout(timeout time.Duration) *PcloudSppplacementgroupsDeleteParams { + return &PcloudSppplacementgroupsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudSppplacementgroupsDeleteParamsWithContext creates a new PcloudSppplacementgroupsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudSppplacementgroupsDeleteParamsWithContext(ctx context.Context) *PcloudSppplacementgroupsDeleteParams { + return &PcloudSppplacementgroupsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudSppplacementgroupsDeleteParamsWithHTTPClient creates a new PcloudSppplacementgroupsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSppplacementgroupsDeleteParamsWithHTTPClient(client *http.Client) *PcloudSppplacementgroupsDeleteParams { + return &PcloudSppplacementgroupsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudSppplacementgroupsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud sppplacementgroups delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudSppplacementgroupsDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SppPlacementGroupID. + + Shared Processor Pool Placement Group ID or Name + */ + SppPlacementGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sppplacementgroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsDeleteParams) WithDefaults() *PcloudSppplacementgroupsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sppplacementgroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) WithTimeout(timeout time.Duration) *PcloudSppplacementgroupsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) WithContext(ctx context.Context) *PcloudSppplacementgroupsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) WithHTTPClient(client *http.Client) *PcloudSppplacementgroupsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSppplacementgroupsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSppPlacementGroupID adds the sppPlacementGroupID to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) WithSppPlacementGroupID(sppPlacementGroupID string) *PcloudSppplacementgroupsDeleteParams { + o.SetSppPlacementGroupID(sppPlacementGroupID) + return o +} + +// SetSppPlacementGroupID adds the sppPlacementGroupId to the pcloud sppplacementgroups delete params +func (o *PcloudSppplacementgroupsDeleteParams) SetSppPlacementGroupID(sppPlacementGroupID string) { + o.SppPlacementGroupID = sppPlacementGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSppplacementgroupsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param spp_placement_group_id + if err := r.SetPathParam("spp_placement_group_id", o.SppPlacementGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_delete_responses.go new file mode 100644 index 000000000..52f886f8e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSppplacementgroupsDeleteReader is a Reader for the PcloudSppplacementgroupsDelete structure. +type PcloudSppplacementgroupsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSppplacementgroupsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSppplacementgroupsDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSppplacementgroupsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSppplacementgroupsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSppplacementgroupsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSppplacementgroupsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudSppplacementgroupsDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSppplacementgroupsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}] pcloud.sppplacementgroups.delete", response, response.Code()) + } +} + +// NewPcloudSppplacementgroupsDeleteOK creates a PcloudSppplacementgroupsDeleteOK with default headers values +func NewPcloudSppplacementgroupsDeleteOK() *PcloudSppplacementgroupsDeleteOK { + return &PcloudSppplacementgroupsDeleteOK{} +} + +/* +PcloudSppplacementgroupsDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSppplacementgroupsDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud sppplacementgroups delete o k response has a 2xx status code +func (o *PcloudSppplacementgroupsDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sppplacementgroups delete o k response has a 3xx status code +func (o *PcloudSppplacementgroupsDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups delete o k response has a 4xx status code +func (o *PcloudSppplacementgroupsDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups delete o k response has a 5xx status code +func (o *PcloudSppplacementgroupsDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups delete o k response a status code equal to that given +func (o *PcloudSppplacementgroupsDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sppplacementgroups delete o k response +func (o *PcloudSppplacementgroupsDeleteOK) Code() int { + return 200 +} + +func (o *PcloudSppplacementgroupsDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudSppplacementgroupsDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsDeleteBadRequest creates a PcloudSppplacementgroupsDeleteBadRequest with default headers values +func NewPcloudSppplacementgroupsDeleteBadRequest() *PcloudSppplacementgroupsDeleteBadRequest { + return &PcloudSppplacementgroupsDeleteBadRequest{} +} + +/* +PcloudSppplacementgroupsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSppplacementgroupsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups delete bad request response has a 2xx status code +func (o *PcloudSppplacementgroupsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups delete bad request response has a 3xx status code +func (o *PcloudSppplacementgroupsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups delete bad request response has a 4xx status code +func (o *PcloudSppplacementgroupsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups delete bad request response has a 5xx status code +func (o *PcloudSppplacementgroupsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups delete bad request response a status code equal to that given +func (o *PcloudSppplacementgroupsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sppplacementgroups delete bad request response +func (o *PcloudSppplacementgroupsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudSppplacementgroupsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsDeleteUnauthorized creates a PcloudSppplacementgroupsDeleteUnauthorized with default headers values +func NewPcloudSppplacementgroupsDeleteUnauthorized() *PcloudSppplacementgroupsDeleteUnauthorized { + return &PcloudSppplacementgroupsDeleteUnauthorized{} +} + +/* +PcloudSppplacementgroupsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSppplacementgroupsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups delete unauthorized response has a 2xx status code +func (o *PcloudSppplacementgroupsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups delete unauthorized response has a 3xx status code +func (o *PcloudSppplacementgroupsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups delete unauthorized response has a 4xx status code +func (o *PcloudSppplacementgroupsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups delete unauthorized response has a 5xx status code +func (o *PcloudSppplacementgroupsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups delete unauthorized response a status code equal to that given +func (o *PcloudSppplacementgroupsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sppplacementgroups delete unauthorized response +func (o *PcloudSppplacementgroupsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSppplacementgroupsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsDeleteForbidden creates a PcloudSppplacementgroupsDeleteForbidden with default headers values +func NewPcloudSppplacementgroupsDeleteForbidden() *PcloudSppplacementgroupsDeleteForbidden { + return &PcloudSppplacementgroupsDeleteForbidden{} +} + +/* +PcloudSppplacementgroupsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSppplacementgroupsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups delete forbidden response has a 2xx status code +func (o *PcloudSppplacementgroupsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups delete forbidden response has a 3xx status code +func (o *PcloudSppplacementgroupsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups delete forbidden response has a 4xx status code +func (o *PcloudSppplacementgroupsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups delete forbidden response has a 5xx status code +func (o *PcloudSppplacementgroupsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups delete forbidden response a status code equal to that given +func (o *PcloudSppplacementgroupsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sppplacementgroups delete forbidden response +func (o *PcloudSppplacementgroupsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudSppplacementgroupsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsDeleteNotFound creates a PcloudSppplacementgroupsDeleteNotFound with default headers values +func NewPcloudSppplacementgroupsDeleteNotFound() *PcloudSppplacementgroupsDeleteNotFound { + return &PcloudSppplacementgroupsDeleteNotFound{} +} + +/* +PcloudSppplacementgroupsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSppplacementgroupsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups delete not found response has a 2xx status code +func (o *PcloudSppplacementgroupsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups delete not found response has a 3xx status code +func (o *PcloudSppplacementgroupsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups delete not found response has a 4xx status code +func (o *PcloudSppplacementgroupsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups delete not found response has a 5xx status code +func (o *PcloudSppplacementgroupsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups delete not found response a status code equal to that given +func (o *PcloudSppplacementgroupsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sppplacementgroups delete not found response +func (o *PcloudSppplacementgroupsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudSppplacementgroupsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsDeleteConflict creates a PcloudSppplacementgroupsDeleteConflict with default headers values +func NewPcloudSppplacementgroupsDeleteConflict() *PcloudSppplacementgroupsDeleteConflict { + return &PcloudSppplacementgroupsDeleteConflict{} +} + +/* +PcloudSppplacementgroupsDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudSppplacementgroupsDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups delete conflict response has a 2xx status code +func (o *PcloudSppplacementgroupsDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups delete conflict response has a 3xx status code +func (o *PcloudSppplacementgroupsDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups delete conflict response has a 4xx status code +func (o *PcloudSppplacementgroupsDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups delete conflict response has a 5xx status code +func (o *PcloudSppplacementgroupsDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups delete conflict response a status code equal to that given +func (o *PcloudSppplacementgroupsDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud sppplacementgroups delete conflict response +func (o *PcloudSppplacementgroupsDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudSppplacementgroupsDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteConflict %s", 409, payload) +} + +func (o *PcloudSppplacementgroupsDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteConflict %s", 409, payload) +} + +func (o *PcloudSppplacementgroupsDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsDeleteInternalServerError creates a PcloudSppplacementgroupsDeleteInternalServerError with default headers values +func NewPcloudSppplacementgroupsDeleteInternalServerError() *PcloudSppplacementgroupsDeleteInternalServerError { + return &PcloudSppplacementgroupsDeleteInternalServerError{} +} + +/* +PcloudSppplacementgroupsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSppplacementgroupsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups delete internal server error response has a 2xx status code +func (o *PcloudSppplacementgroupsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups delete internal server error response has a 3xx status code +func (o *PcloudSppplacementgroupsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups delete internal server error response has a 4xx status code +func (o *PcloudSppplacementgroupsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups delete internal server error response has a 5xx status code +func (o *PcloudSppplacementgroupsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sppplacementgroups delete internal server error response a status code equal to that given +func (o *PcloudSppplacementgroupsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sppplacementgroups delete internal server error response +func (o *PcloudSppplacementgroupsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSppplacementgroupsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_get_parameters.go new file mode 100644 index 000000000..01e7b181f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSppplacementgroupsGetParams creates a new PcloudSppplacementgroupsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSppplacementgroupsGetParams() *PcloudSppplacementgroupsGetParams { + return &PcloudSppplacementgroupsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSppplacementgroupsGetParamsWithTimeout creates a new PcloudSppplacementgroupsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudSppplacementgroupsGetParamsWithTimeout(timeout time.Duration) *PcloudSppplacementgroupsGetParams { + return &PcloudSppplacementgroupsGetParams{ + timeout: timeout, + } +} + +// NewPcloudSppplacementgroupsGetParamsWithContext creates a new PcloudSppplacementgroupsGetParams object +// with the ability to set a context for a request. +func NewPcloudSppplacementgroupsGetParamsWithContext(ctx context.Context) *PcloudSppplacementgroupsGetParams { + return &PcloudSppplacementgroupsGetParams{ + Context: ctx, + } +} + +// NewPcloudSppplacementgroupsGetParamsWithHTTPClient creates a new PcloudSppplacementgroupsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSppplacementgroupsGetParamsWithHTTPClient(client *http.Client) *PcloudSppplacementgroupsGetParams { + return &PcloudSppplacementgroupsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudSppplacementgroupsGetParams contains all the parameters to send to the API endpoint + + for the pcloud sppplacementgroups get operation. + + Typically these are written to a http.Request. +*/ +type PcloudSppplacementgroupsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SppPlacementGroupID. + + Shared Processor Pool Placement Group ID or Name + */ + SppPlacementGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sppplacementgroups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsGetParams) WithDefaults() *PcloudSppplacementgroupsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sppplacementgroups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) WithTimeout(timeout time.Duration) *PcloudSppplacementgroupsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) WithContext(ctx context.Context) *PcloudSppplacementgroupsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) WithHTTPClient(client *http.Client) *PcloudSppplacementgroupsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSppplacementgroupsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSppPlacementGroupID adds the sppPlacementGroupID to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) WithSppPlacementGroupID(sppPlacementGroupID string) *PcloudSppplacementgroupsGetParams { + o.SetSppPlacementGroupID(sppPlacementGroupID) + return o +} + +// SetSppPlacementGroupID adds the sppPlacementGroupId to the pcloud sppplacementgroups get params +func (o *PcloudSppplacementgroupsGetParams) SetSppPlacementGroupID(sppPlacementGroupID string) { + o.SppPlacementGroupID = sppPlacementGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSppplacementgroupsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param spp_placement_group_id + if err := r.SetPathParam("spp_placement_group_id", o.SppPlacementGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_get_responses.go new file mode 100644 index 000000000..36549830d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSppplacementgroupsGetReader is a Reader for the PcloudSppplacementgroupsGet structure. +type PcloudSppplacementgroupsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSppplacementgroupsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSppplacementgroupsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSppplacementgroupsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSppplacementgroupsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSppplacementgroupsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSppplacementgroupsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSppplacementgroupsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}] pcloud.sppplacementgroups.get", response, response.Code()) + } +} + +// NewPcloudSppplacementgroupsGetOK creates a PcloudSppplacementgroupsGetOK with default headers values +func NewPcloudSppplacementgroupsGetOK() *PcloudSppplacementgroupsGetOK { + return &PcloudSppplacementgroupsGetOK{} +} + +/* +PcloudSppplacementgroupsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSppplacementgroupsGetOK struct { + Payload *models.SPPPlacementGroup +} + +// IsSuccess returns true when this pcloud sppplacementgroups get o k response has a 2xx status code +func (o *PcloudSppplacementgroupsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sppplacementgroups get o k response has a 3xx status code +func (o *PcloudSppplacementgroupsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups get o k response has a 4xx status code +func (o *PcloudSppplacementgroupsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups get o k response has a 5xx status code +func (o *PcloudSppplacementgroupsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups get o k response a status code equal to that given +func (o *PcloudSppplacementgroupsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sppplacementgroups get o k response +func (o *PcloudSppplacementgroupsGetOK) Code() int { + return 200 +} + +func (o *PcloudSppplacementgroupsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsGetOK) GetPayload() *models.SPPPlacementGroup { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SPPPlacementGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetBadRequest creates a PcloudSppplacementgroupsGetBadRequest with default headers values +func NewPcloudSppplacementgroupsGetBadRequest() *PcloudSppplacementgroupsGetBadRequest { + return &PcloudSppplacementgroupsGetBadRequest{} +} + +/* +PcloudSppplacementgroupsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSppplacementgroupsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups get bad request response has a 2xx status code +func (o *PcloudSppplacementgroupsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups get bad request response has a 3xx status code +func (o *PcloudSppplacementgroupsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups get bad request response has a 4xx status code +func (o *PcloudSppplacementgroupsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups get bad request response has a 5xx status code +func (o *PcloudSppplacementgroupsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups get bad request response a status code equal to that given +func (o *PcloudSppplacementgroupsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sppplacementgroups get bad request response +func (o *PcloudSppplacementgroupsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudSppplacementgroupsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetUnauthorized creates a PcloudSppplacementgroupsGetUnauthorized with default headers values +func NewPcloudSppplacementgroupsGetUnauthorized() *PcloudSppplacementgroupsGetUnauthorized { + return &PcloudSppplacementgroupsGetUnauthorized{} +} + +/* +PcloudSppplacementgroupsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSppplacementgroupsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups get unauthorized response has a 2xx status code +func (o *PcloudSppplacementgroupsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups get unauthorized response has a 3xx status code +func (o *PcloudSppplacementgroupsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups get unauthorized response has a 4xx status code +func (o *PcloudSppplacementgroupsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups get unauthorized response has a 5xx status code +func (o *PcloudSppplacementgroupsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups get unauthorized response a status code equal to that given +func (o *PcloudSppplacementgroupsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sppplacementgroups get unauthorized response +func (o *PcloudSppplacementgroupsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSppplacementgroupsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetForbidden creates a PcloudSppplacementgroupsGetForbidden with default headers values +func NewPcloudSppplacementgroupsGetForbidden() *PcloudSppplacementgroupsGetForbidden { + return &PcloudSppplacementgroupsGetForbidden{} +} + +/* +PcloudSppplacementgroupsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSppplacementgroupsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups get forbidden response has a 2xx status code +func (o *PcloudSppplacementgroupsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups get forbidden response has a 3xx status code +func (o *PcloudSppplacementgroupsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups get forbidden response has a 4xx status code +func (o *PcloudSppplacementgroupsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups get forbidden response has a 5xx status code +func (o *PcloudSppplacementgroupsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups get forbidden response a status code equal to that given +func (o *PcloudSppplacementgroupsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sppplacementgroups get forbidden response +func (o *PcloudSppplacementgroupsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudSppplacementgroupsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetNotFound creates a PcloudSppplacementgroupsGetNotFound with default headers values +func NewPcloudSppplacementgroupsGetNotFound() *PcloudSppplacementgroupsGetNotFound { + return &PcloudSppplacementgroupsGetNotFound{} +} + +/* +PcloudSppplacementgroupsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSppplacementgroupsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups get not found response has a 2xx status code +func (o *PcloudSppplacementgroupsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups get not found response has a 3xx status code +func (o *PcloudSppplacementgroupsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups get not found response has a 4xx status code +func (o *PcloudSppplacementgroupsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups get not found response has a 5xx status code +func (o *PcloudSppplacementgroupsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups get not found response a status code equal to that given +func (o *PcloudSppplacementgroupsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sppplacementgroups get not found response +func (o *PcloudSppplacementgroupsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudSppplacementgroupsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetInternalServerError creates a PcloudSppplacementgroupsGetInternalServerError with default headers values +func NewPcloudSppplacementgroupsGetInternalServerError() *PcloudSppplacementgroupsGetInternalServerError { + return &PcloudSppplacementgroupsGetInternalServerError{} +} + +/* +PcloudSppplacementgroupsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSppplacementgroupsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups get internal server error response has a 2xx status code +func (o *PcloudSppplacementgroupsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups get internal server error response has a 3xx status code +func (o *PcloudSppplacementgroupsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups get internal server error response has a 4xx status code +func (o *PcloudSppplacementgroupsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups get internal server error response has a 5xx status code +func (o *PcloudSppplacementgroupsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sppplacementgroups get internal server error response a status code equal to that given +func (o *PcloudSppplacementgroupsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sppplacementgroups get internal server error response +func (o *PcloudSppplacementgroupsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSppplacementgroupsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}][%d] pcloudSppplacementgroupsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_getall_parameters.go new file mode 100644 index 000000000..7a88075dc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSppplacementgroupsGetallParams creates a new PcloudSppplacementgroupsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSppplacementgroupsGetallParams() *PcloudSppplacementgroupsGetallParams { + return &PcloudSppplacementgroupsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSppplacementgroupsGetallParamsWithTimeout creates a new PcloudSppplacementgroupsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudSppplacementgroupsGetallParamsWithTimeout(timeout time.Duration) *PcloudSppplacementgroupsGetallParams { + return &PcloudSppplacementgroupsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudSppplacementgroupsGetallParamsWithContext creates a new PcloudSppplacementgroupsGetallParams object +// with the ability to set a context for a request. +func NewPcloudSppplacementgroupsGetallParamsWithContext(ctx context.Context) *PcloudSppplacementgroupsGetallParams { + return &PcloudSppplacementgroupsGetallParams{ + Context: ctx, + } +} + +// NewPcloudSppplacementgroupsGetallParamsWithHTTPClient creates a new PcloudSppplacementgroupsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSppplacementgroupsGetallParamsWithHTTPClient(client *http.Client) *PcloudSppplacementgroupsGetallParams { + return &PcloudSppplacementgroupsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudSppplacementgroupsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud sppplacementgroups getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudSppplacementgroupsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sppplacementgroups getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsGetallParams) WithDefaults() *PcloudSppplacementgroupsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sppplacementgroups getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sppplacementgroups getall params +func (o *PcloudSppplacementgroupsGetallParams) WithTimeout(timeout time.Duration) *PcloudSppplacementgroupsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sppplacementgroups getall params +func (o *PcloudSppplacementgroupsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sppplacementgroups getall params +func (o *PcloudSppplacementgroupsGetallParams) WithContext(ctx context.Context) *PcloudSppplacementgroupsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sppplacementgroups getall params +func (o *PcloudSppplacementgroupsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sppplacementgroups getall params +func (o *PcloudSppplacementgroupsGetallParams) WithHTTPClient(client *http.Client) *PcloudSppplacementgroupsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sppplacementgroups getall params +func (o *PcloudSppplacementgroupsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sppplacementgroups getall params +func (o *PcloudSppplacementgroupsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSppplacementgroupsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sppplacementgroups getall params +func (o *PcloudSppplacementgroupsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSppplacementgroupsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_getall_responses.go new file mode 100644 index 000000000..369811075 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSppplacementgroupsGetallReader is a Reader for the PcloudSppplacementgroupsGetall structure. +type PcloudSppplacementgroupsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSppplacementgroupsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSppplacementgroupsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSppplacementgroupsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSppplacementgroupsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSppplacementgroupsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSppplacementgroupsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSppplacementgroupsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups] pcloud.sppplacementgroups.getall", response, response.Code()) + } +} + +// NewPcloudSppplacementgroupsGetallOK creates a PcloudSppplacementgroupsGetallOK with default headers values +func NewPcloudSppplacementgroupsGetallOK() *PcloudSppplacementgroupsGetallOK { + return &PcloudSppplacementgroupsGetallOK{} +} + +/* +PcloudSppplacementgroupsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSppplacementgroupsGetallOK struct { + Payload *models.SPPPlacementGroups +} + +// IsSuccess returns true when this pcloud sppplacementgroups getall o k response has a 2xx status code +func (o *PcloudSppplacementgroupsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sppplacementgroups getall o k response has a 3xx status code +func (o *PcloudSppplacementgroupsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups getall o k response has a 4xx status code +func (o *PcloudSppplacementgroupsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups getall o k response has a 5xx status code +func (o *PcloudSppplacementgroupsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups getall o k response a status code equal to that given +func (o *PcloudSppplacementgroupsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sppplacementgroups getall o k response +func (o *PcloudSppplacementgroupsGetallOK) Code() int { + return 200 +} + +func (o *PcloudSppplacementgroupsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsGetallOK) GetPayload() *models.SPPPlacementGroups { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SPPPlacementGroups) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetallBadRequest creates a PcloudSppplacementgroupsGetallBadRequest with default headers values +func NewPcloudSppplacementgroupsGetallBadRequest() *PcloudSppplacementgroupsGetallBadRequest { + return &PcloudSppplacementgroupsGetallBadRequest{} +} + +/* +PcloudSppplacementgroupsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSppplacementgroupsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups getall bad request response has a 2xx status code +func (o *PcloudSppplacementgroupsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups getall bad request response has a 3xx status code +func (o *PcloudSppplacementgroupsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups getall bad request response has a 4xx status code +func (o *PcloudSppplacementgroupsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups getall bad request response has a 5xx status code +func (o *PcloudSppplacementgroupsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups getall bad request response a status code equal to that given +func (o *PcloudSppplacementgroupsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sppplacementgroups getall bad request response +func (o *PcloudSppplacementgroupsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudSppplacementgroupsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetallUnauthorized creates a PcloudSppplacementgroupsGetallUnauthorized with default headers values +func NewPcloudSppplacementgroupsGetallUnauthorized() *PcloudSppplacementgroupsGetallUnauthorized { + return &PcloudSppplacementgroupsGetallUnauthorized{} +} + +/* +PcloudSppplacementgroupsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSppplacementgroupsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups getall unauthorized response has a 2xx status code +func (o *PcloudSppplacementgroupsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups getall unauthorized response has a 3xx status code +func (o *PcloudSppplacementgroupsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups getall unauthorized response has a 4xx status code +func (o *PcloudSppplacementgroupsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups getall unauthorized response has a 5xx status code +func (o *PcloudSppplacementgroupsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups getall unauthorized response a status code equal to that given +func (o *PcloudSppplacementgroupsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sppplacementgroups getall unauthorized response +func (o *PcloudSppplacementgroupsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSppplacementgroupsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetallForbidden creates a PcloudSppplacementgroupsGetallForbidden with default headers values +func NewPcloudSppplacementgroupsGetallForbidden() *PcloudSppplacementgroupsGetallForbidden { + return &PcloudSppplacementgroupsGetallForbidden{} +} + +/* +PcloudSppplacementgroupsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSppplacementgroupsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups getall forbidden response has a 2xx status code +func (o *PcloudSppplacementgroupsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups getall forbidden response has a 3xx status code +func (o *PcloudSppplacementgroupsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups getall forbidden response has a 4xx status code +func (o *PcloudSppplacementgroupsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups getall forbidden response has a 5xx status code +func (o *PcloudSppplacementgroupsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups getall forbidden response a status code equal to that given +func (o *PcloudSppplacementgroupsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sppplacementgroups getall forbidden response +func (o *PcloudSppplacementgroupsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudSppplacementgroupsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetallNotFound creates a PcloudSppplacementgroupsGetallNotFound with default headers values +func NewPcloudSppplacementgroupsGetallNotFound() *PcloudSppplacementgroupsGetallNotFound { + return &PcloudSppplacementgroupsGetallNotFound{} +} + +/* +PcloudSppplacementgroupsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSppplacementgroupsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups getall not found response has a 2xx status code +func (o *PcloudSppplacementgroupsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups getall not found response has a 3xx status code +func (o *PcloudSppplacementgroupsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups getall not found response has a 4xx status code +func (o *PcloudSppplacementgroupsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups getall not found response has a 5xx status code +func (o *PcloudSppplacementgroupsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups getall not found response a status code equal to that given +func (o *PcloudSppplacementgroupsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sppplacementgroups getall not found response +func (o *PcloudSppplacementgroupsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudSppplacementgroupsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsGetallInternalServerError creates a PcloudSppplacementgroupsGetallInternalServerError with default headers values +func NewPcloudSppplacementgroupsGetallInternalServerError() *PcloudSppplacementgroupsGetallInternalServerError { + return &PcloudSppplacementgroupsGetallInternalServerError{} +} + +/* +PcloudSppplacementgroupsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSppplacementgroupsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups getall internal server error response has a 2xx status code +func (o *PcloudSppplacementgroupsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups getall internal server error response has a 3xx status code +func (o *PcloudSppplacementgroupsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups getall internal server error response has a 4xx status code +func (o *PcloudSppplacementgroupsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups getall internal server error response has a 5xx status code +func (o *PcloudSppplacementgroupsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sppplacementgroups getall internal server error response a status code equal to that given +func (o *PcloudSppplacementgroupsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sppplacementgroups getall internal server error response +func (o *PcloudSppplacementgroupsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSppplacementgroupsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_delete_parameters.go new file mode 100644 index 000000000..f6eda86ec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_delete_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSppplacementgroupsMembersDeleteParams creates a new PcloudSppplacementgroupsMembersDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSppplacementgroupsMembersDeleteParams() *PcloudSppplacementgroupsMembersDeleteParams { + return &PcloudSppplacementgroupsMembersDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSppplacementgroupsMembersDeleteParamsWithTimeout creates a new PcloudSppplacementgroupsMembersDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudSppplacementgroupsMembersDeleteParamsWithTimeout(timeout time.Duration) *PcloudSppplacementgroupsMembersDeleteParams { + return &PcloudSppplacementgroupsMembersDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudSppplacementgroupsMembersDeleteParamsWithContext creates a new PcloudSppplacementgroupsMembersDeleteParams object +// with the ability to set a context for a request. +func NewPcloudSppplacementgroupsMembersDeleteParamsWithContext(ctx context.Context) *PcloudSppplacementgroupsMembersDeleteParams { + return &PcloudSppplacementgroupsMembersDeleteParams{ + Context: ctx, + } +} + +// NewPcloudSppplacementgroupsMembersDeleteParamsWithHTTPClient creates a new PcloudSppplacementgroupsMembersDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSppplacementgroupsMembersDeleteParamsWithHTTPClient(client *http.Client) *PcloudSppplacementgroupsMembersDeleteParams { + return &PcloudSppplacementgroupsMembersDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudSppplacementgroupsMembersDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud sppplacementgroups members delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudSppplacementgroupsMembersDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SharedProcessorPoolID. + + Shared Processor Pool ID or Name + */ + SharedProcessorPoolID string + + /* SppPlacementGroupID. + + Shared Processor Pool Placement Group ID or Name + */ + SppPlacementGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sppplacementgroups members delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsMembersDeleteParams) WithDefaults() *PcloudSppplacementgroupsMembersDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sppplacementgroups members delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsMembersDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) WithTimeout(timeout time.Duration) *PcloudSppplacementgroupsMembersDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) WithContext(ctx context.Context) *PcloudSppplacementgroupsMembersDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) WithHTTPClient(client *http.Client) *PcloudSppplacementgroupsMembersDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSppplacementgroupsMembersDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSharedProcessorPoolID adds the sharedProcessorPoolID to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) WithSharedProcessorPoolID(sharedProcessorPoolID string) *PcloudSppplacementgroupsMembersDeleteParams { + o.SetSharedProcessorPoolID(sharedProcessorPoolID) + return o +} + +// SetSharedProcessorPoolID adds the sharedProcessorPoolId to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) SetSharedProcessorPoolID(sharedProcessorPoolID string) { + o.SharedProcessorPoolID = sharedProcessorPoolID +} + +// WithSppPlacementGroupID adds the sppPlacementGroupID to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) WithSppPlacementGroupID(sppPlacementGroupID string) *PcloudSppplacementgroupsMembersDeleteParams { + o.SetSppPlacementGroupID(sppPlacementGroupID) + return o +} + +// SetSppPlacementGroupID adds the sppPlacementGroupId to the pcloud sppplacementgroups members delete params +func (o *PcloudSppplacementgroupsMembersDeleteParams) SetSppPlacementGroupID(sppPlacementGroupID string) { + o.SppPlacementGroupID = sppPlacementGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSppplacementgroupsMembersDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param shared_processor_pool_id + if err := r.SetPathParam("shared_processor_pool_id", o.SharedProcessorPoolID); err != nil { + return err + } + + // path param spp_placement_group_id + if err := r.SetPathParam("spp_placement_group_id", o.SppPlacementGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_delete_responses.go new file mode 100644 index 000000000..691e9161d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_delete_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSppplacementgroupsMembersDeleteReader is a Reader for the PcloudSppplacementgroupsMembersDelete structure. +type PcloudSppplacementgroupsMembersDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSppplacementgroupsMembersDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSppplacementgroupsMembersDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSppplacementgroupsMembersDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSppplacementgroupsMembersDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSppplacementgroupsMembersDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSppplacementgroupsMembersDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudSppplacementgroupsMembersDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSppplacementgroupsMembersDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}] pcloud.sppplacementgroups.members.delete", response, response.Code()) + } +} + +// NewPcloudSppplacementgroupsMembersDeleteOK creates a PcloudSppplacementgroupsMembersDeleteOK with default headers values +func NewPcloudSppplacementgroupsMembersDeleteOK() *PcloudSppplacementgroupsMembersDeleteOK { + return &PcloudSppplacementgroupsMembersDeleteOK{} +} + +/* +PcloudSppplacementgroupsMembersDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSppplacementgroupsMembersDeleteOK struct { + Payload *models.SPPPlacementGroup +} + +// IsSuccess returns true when this pcloud sppplacementgroups members delete o k response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sppplacementgroups members delete o k response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members delete o k response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups members delete o k response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members delete o k response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sppplacementgroups members delete o k response +func (o *PcloudSppplacementgroupsMembersDeleteOK) Code() int { + return 200 +} + +func (o *PcloudSppplacementgroupsMembersDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteOK) GetPayload() *models.SPPPlacementGroup { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SPPPlacementGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersDeleteBadRequest creates a PcloudSppplacementgroupsMembersDeleteBadRequest with default headers values +func NewPcloudSppplacementgroupsMembersDeleteBadRequest() *PcloudSppplacementgroupsMembersDeleteBadRequest { + return &PcloudSppplacementgroupsMembersDeleteBadRequest{} +} + +/* +PcloudSppplacementgroupsMembersDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSppplacementgroupsMembersDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members delete bad request response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members delete bad request response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members delete bad request response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members delete bad request response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members delete bad request response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sppplacementgroups members delete bad request response +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersDeleteUnauthorized creates a PcloudSppplacementgroupsMembersDeleteUnauthorized with default headers values +func NewPcloudSppplacementgroupsMembersDeleteUnauthorized() *PcloudSppplacementgroupsMembersDeleteUnauthorized { + return &PcloudSppplacementgroupsMembersDeleteUnauthorized{} +} + +/* +PcloudSppplacementgroupsMembersDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSppplacementgroupsMembersDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members delete unauthorized response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members delete unauthorized response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members delete unauthorized response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members delete unauthorized response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members delete unauthorized response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sppplacementgroups members delete unauthorized response +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersDeleteForbidden creates a PcloudSppplacementgroupsMembersDeleteForbidden with default headers values +func NewPcloudSppplacementgroupsMembersDeleteForbidden() *PcloudSppplacementgroupsMembersDeleteForbidden { + return &PcloudSppplacementgroupsMembersDeleteForbidden{} +} + +/* +PcloudSppplacementgroupsMembersDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSppplacementgroupsMembersDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members delete forbidden response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members delete forbidden response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members delete forbidden response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members delete forbidden response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members delete forbidden response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sppplacementgroups members delete forbidden response +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersDeleteNotFound creates a PcloudSppplacementgroupsMembersDeleteNotFound with default headers values +func NewPcloudSppplacementgroupsMembersDeleteNotFound() *PcloudSppplacementgroupsMembersDeleteNotFound { + return &PcloudSppplacementgroupsMembersDeleteNotFound{} +} + +/* +PcloudSppplacementgroupsMembersDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSppplacementgroupsMembersDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members delete not found response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members delete not found response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members delete not found response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members delete not found response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members delete not found response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sppplacementgroups members delete not found response +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersDeleteConflict creates a PcloudSppplacementgroupsMembersDeleteConflict with default headers values +func NewPcloudSppplacementgroupsMembersDeleteConflict() *PcloudSppplacementgroupsMembersDeleteConflict { + return &PcloudSppplacementgroupsMembersDeleteConflict{} +} + +/* +PcloudSppplacementgroupsMembersDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudSppplacementgroupsMembersDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members delete conflict response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members delete conflict response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members delete conflict response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members delete conflict response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members delete conflict response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud sppplacementgroups members delete conflict response +func (o *PcloudSppplacementgroupsMembersDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudSppplacementgroupsMembersDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteConflict %s", 409, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteConflict %s", 409, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersDeleteInternalServerError creates a PcloudSppplacementgroupsMembersDeleteInternalServerError with default headers values +func NewPcloudSppplacementgroupsMembersDeleteInternalServerError() *PcloudSppplacementgroupsMembersDeleteInternalServerError { + return &PcloudSppplacementgroupsMembersDeleteInternalServerError{} +} + +/* +PcloudSppplacementgroupsMembersDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSppplacementgroupsMembersDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members delete internal server error response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members delete internal server error response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members delete internal server error response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups members delete internal server error response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sppplacementgroups members delete internal server error response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sppplacementgroups members delete internal server error response +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_post_parameters.go new file mode 100644 index 000000000..8db44d08c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_post_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSppplacementgroupsMembersPostParams creates a new PcloudSppplacementgroupsMembersPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSppplacementgroupsMembersPostParams() *PcloudSppplacementgroupsMembersPostParams { + return &PcloudSppplacementgroupsMembersPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSppplacementgroupsMembersPostParamsWithTimeout creates a new PcloudSppplacementgroupsMembersPostParams object +// with the ability to set a timeout on a request. +func NewPcloudSppplacementgroupsMembersPostParamsWithTimeout(timeout time.Duration) *PcloudSppplacementgroupsMembersPostParams { + return &PcloudSppplacementgroupsMembersPostParams{ + timeout: timeout, + } +} + +// NewPcloudSppplacementgroupsMembersPostParamsWithContext creates a new PcloudSppplacementgroupsMembersPostParams object +// with the ability to set a context for a request. +func NewPcloudSppplacementgroupsMembersPostParamsWithContext(ctx context.Context) *PcloudSppplacementgroupsMembersPostParams { + return &PcloudSppplacementgroupsMembersPostParams{ + Context: ctx, + } +} + +// NewPcloudSppplacementgroupsMembersPostParamsWithHTTPClient creates a new PcloudSppplacementgroupsMembersPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSppplacementgroupsMembersPostParamsWithHTTPClient(client *http.Client) *PcloudSppplacementgroupsMembersPostParams { + return &PcloudSppplacementgroupsMembersPostParams{ + HTTPClient: client, + } +} + +/* +PcloudSppplacementgroupsMembersPostParams contains all the parameters to send to the API endpoint + + for the pcloud sppplacementgroups members post operation. + + Typically these are written to a http.Request. +*/ +type PcloudSppplacementgroupsMembersPostParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SharedProcessorPoolID. + + Shared Processor Pool ID or Name + */ + SharedProcessorPoolID string + + /* SppPlacementGroupID. + + Shared Processor Pool Placement Group ID or Name + */ + SppPlacementGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sppplacementgroups members post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsMembersPostParams) WithDefaults() *PcloudSppplacementgroupsMembersPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sppplacementgroups members post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsMembersPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) WithTimeout(timeout time.Duration) *PcloudSppplacementgroupsMembersPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) WithContext(ctx context.Context) *PcloudSppplacementgroupsMembersPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) WithHTTPClient(client *http.Client) *PcloudSppplacementgroupsMembersPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSppplacementgroupsMembersPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSharedProcessorPoolID adds the sharedProcessorPoolID to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) WithSharedProcessorPoolID(sharedProcessorPoolID string) *PcloudSppplacementgroupsMembersPostParams { + o.SetSharedProcessorPoolID(sharedProcessorPoolID) + return o +} + +// SetSharedProcessorPoolID adds the sharedProcessorPoolId to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) SetSharedProcessorPoolID(sharedProcessorPoolID string) { + o.SharedProcessorPoolID = sharedProcessorPoolID +} + +// WithSppPlacementGroupID adds the sppPlacementGroupID to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) WithSppPlacementGroupID(sppPlacementGroupID string) *PcloudSppplacementgroupsMembersPostParams { + o.SetSppPlacementGroupID(sppPlacementGroupID) + return o +} + +// SetSppPlacementGroupID adds the sppPlacementGroupId to the pcloud sppplacementgroups members post params +func (o *PcloudSppplacementgroupsMembersPostParams) SetSppPlacementGroupID(sppPlacementGroupID string) { + o.SppPlacementGroupID = sppPlacementGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSppplacementgroupsMembersPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param shared_processor_pool_id + if err := r.SetPathParam("shared_processor_pool_id", o.SharedProcessorPoolID); err != nil { + return err + } + + // path param spp_placement_group_id + if err := r.SetPathParam("spp_placement_group_id", o.SppPlacementGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_post_responses.go new file mode 100644 index 000000000..e4328801b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_members_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSppplacementgroupsMembersPostReader is a Reader for the PcloudSppplacementgroupsMembersPost structure. +type PcloudSppplacementgroupsMembersPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSppplacementgroupsMembersPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSppplacementgroupsMembersPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSppplacementgroupsMembersPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSppplacementgroupsMembersPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSppplacementgroupsMembersPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSppplacementgroupsMembersPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudSppplacementgroupsMembersPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudSppplacementgroupsMembersPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSppplacementgroupsMembersPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}] pcloud.sppplacementgroups.members.post", response, response.Code()) + } +} + +// NewPcloudSppplacementgroupsMembersPostOK creates a PcloudSppplacementgroupsMembersPostOK with default headers values +func NewPcloudSppplacementgroupsMembersPostOK() *PcloudSppplacementgroupsMembersPostOK { + return &PcloudSppplacementgroupsMembersPostOK{} +} + +/* +PcloudSppplacementgroupsMembersPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSppplacementgroupsMembersPostOK struct { + Payload *models.SPPPlacementGroup +} + +// IsSuccess returns true when this pcloud sppplacementgroups members post o k response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sppplacementgroups members post o k response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members post o k response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups members post o k response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members post o k response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sppplacementgroups members post o k response +func (o *PcloudSppplacementgroupsMembersPostOK) Code() int { + return 200 +} + +func (o *PcloudSppplacementgroupsMembersPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostOK) GetPayload() *models.SPPPlacementGroup { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SPPPlacementGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersPostBadRequest creates a PcloudSppplacementgroupsMembersPostBadRequest with default headers values +func NewPcloudSppplacementgroupsMembersPostBadRequest() *PcloudSppplacementgroupsMembersPostBadRequest { + return &PcloudSppplacementgroupsMembersPostBadRequest{} +} + +/* +PcloudSppplacementgroupsMembersPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSppplacementgroupsMembersPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members post bad request response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members post bad request response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members post bad request response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members post bad request response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members post bad request response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sppplacementgroups members post bad request response +func (o *PcloudSppplacementgroupsMembersPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudSppplacementgroupsMembersPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersPostUnauthorized creates a PcloudSppplacementgroupsMembersPostUnauthorized with default headers values +func NewPcloudSppplacementgroupsMembersPostUnauthorized() *PcloudSppplacementgroupsMembersPostUnauthorized { + return &PcloudSppplacementgroupsMembersPostUnauthorized{} +} + +/* +PcloudSppplacementgroupsMembersPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSppplacementgroupsMembersPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members post unauthorized response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members post unauthorized response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members post unauthorized response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members post unauthorized response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members post unauthorized response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sppplacementgroups members post unauthorized response +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersPostForbidden creates a PcloudSppplacementgroupsMembersPostForbidden with default headers values +func NewPcloudSppplacementgroupsMembersPostForbidden() *PcloudSppplacementgroupsMembersPostForbidden { + return &PcloudSppplacementgroupsMembersPostForbidden{} +} + +/* +PcloudSppplacementgroupsMembersPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSppplacementgroupsMembersPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members post forbidden response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members post forbidden response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members post forbidden response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members post forbidden response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members post forbidden response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sppplacementgroups members post forbidden response +func (o *PcloudSppplacementgroupsMembersPostForbidden) Code() int { + return 403 +} + +func (o *PcloudSppplacementgroupsMembersPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersPostNotFound creates a PcloudSppplacementgroupsMembersPostNotFound with default headers values +func NewPcloudSppplacementgroupsMembersPostNotFound() *PcloudSppplacementgroupsMembersPostNotFound { + return &PcloudSppplacementgroupsMembersPostNotFound{} +} + +/* +PcloudSppplacementgroupsMembersPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSppplacementgroupsMembersPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members post not found response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members post not found response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members post not found response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members post not found response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members post not found response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sppplacementgroups members post not found response +func (o *PcloudSppplacementgroupsMembersPostNotFound) Code() int { + return 404 +} + +func (o *PcloudSppplacementgroupsMembersPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersPostConflict creates a PcloudSppplacementgroupsMembersPostConflict with default headers values +func NewPcloudSppplacementgroupsMembersPostConflict() *PcloudSppplacementgroupsMembersPostConflict { + return &PcloudSppplacementgroupsMembersPostConflict{} +} + +/* +PcloudSppplacementgroupsMembersPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudSppplacementgroupsMembersPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members post conflict response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members post conflict response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members post conflict response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members post conflict response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members post conflict response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud sppplacementgroups members post conflict response +func (o *PcloudSppplacementgroupsMembersPostConflict) Code() int { + return 409 +} + +func (o *PcloudSppplacementgroupsMembersPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostConflict %s", 409, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostConflict %s", 409, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersPostUnprocessableEntity creates a PcloudSppplacementgroupsMembersPostUnprocessableEntity with default headers values +func NewPcloudSppplacementgroupsMembersPostUnprocessableEntity() *PcloudSppplacementgroupsMembersPostUnprocessableEntity { + return &PcloudSppplacementgroupsMembersPostUnprocessableEntity{} +} + +/* +PcloudSppplacementgroupsMembersPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudSppplacementgroupsMembersPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members post unprocessable entity response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members post unprocessable entity response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members post unprocessable entity response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups members post unprocessable entity response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups members post unprocessable entity response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud sppplacementgroups members post unprocessable entity response +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsMembersPostInternalServerError creates a PcloudSppplacementgroupsMembersPostInternalServerError with default headers values +func NewPcloudSppplacementgroupsMembersPostInternalServerError() *PcloudSppplacementgroupsMembersPostInternalServerError { + return &PcloudSppplacementgroupsMembersPostInternalServerError{} +} + +/* +PcloudSppplacementgroupsMembersPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSppplacementgroupsMembersPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups members post internal server error response has a 2xx status code +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups members post internal server error response has a 3xx status code +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups members post internal server error response has a 4xx status code +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups members post internal server error response has a 5xx status code +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sppplacementgroups members post internal server error response a status code equal to that given +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sppplacementgroups members post internal server error response +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups/{spp_placement_group_id}/members/{shared_processor_pool_id}][%d] pcloudSppplacementgroupsMembersPostInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsMembersPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_post_parameters.go new file mode 100644 index 000000000..614dec0a2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudSppplacementgroupsPostParams creates a new PcloudSppplacementgroupsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSppplacementgroupsPostParams() *PcloudSppplacementgroupsPostParams { + return &PcloudSppplacementgroupsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSppplacementgroupsPostParamsWithTimeout creates a new PcloudSppplacementgroupsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudSppplacementgroupsPostParamsWithTimeout(timeout time.Duration) *PcloudSppplacementgroupsPostParams { + return &PcloudSppplacementgroupsPostParams{ + timeout: timeout, + } +} + +// NewPcloudSppplacementgroupsPostParamsWithContext creates a new PcloudSppplacementgroupsPostParams object +// with the ability to set a context for a request. +func NewPcloudSppplacementgroupsPostParamsWithContext(ctx context.Context) *PcloudSppplacementgroupsPostParams { + return &PcloudSppplacementgroupsPostParams{ + Context: ctx, + } +} + +// NewPcloudSppplacementgroupsPostParamsWithHTTPClient creates a new PcloudSppplacementgroupsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSppplacementgroupsPostParamsWithHTTPClient(client *http.Client) *PcloudSppplacementgroupsPostParams { + return &PcloudSppplacementgroupsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudSppplacementgroupsPostParams contains all the parameters to send to the API endpoint + + for the pcloud sppplacementgroups post operation. + + Typically these are written to a http.Request. +*/ +type PcloudSppplacementgroupsPostParams struct { + + /* Body. + + Parameters for the creation of a Shared Processor Pool Placement Group + */ + Body *models.SPPPlacementGroupCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sppplacementgroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsPostParams) WithDefaults() *PcloudSppplacementgroupsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sppplacementgroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSppplacementgroupsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) WithTimeout(timeout time.Duration) *PcloudSppplacementgroupsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) WithContext(ctx context.Context) *PcloudSppplacementgroupsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) WithHTTPClient(client *http.Client) *PcloudSppplacementgroupsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) WithBody(body *models.SPPPlacementGroupCreate) *PcloudSppplacementgroupsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) SetBody(body *models.SPPPlacementGroupCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSppplacementgroupsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sppplacementgroups post params +func (o *PcloudSppplacementgroupsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSppplacementgroupsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_post_responses.go new file mode 100644 index 000000000..2863161d7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups/pcloud_sppplacementgroups_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_s_p_p_placement_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSppplacementgroupsPostReader is a Reader for the PcloudSppplacementgroupsPost structure. +type PcloudSppplacementgroupsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSppplacementgroupsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSppplacementgroupsPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSppplacementgroupsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSppplacementgroupsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSppplacementgroupsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSppplacementgroupsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudSppplacementgroupsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudSppplacementgroupsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSppplacementgroupsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups] pcloud.sppplacementgroups.post", response, response.Code()) + } +} + +// NewPcloudSppplacementgroupsPostOK creates a PcloudSppplacementgroupsPostOK with default headers values +func NewPcloudSppplacementgroupsPostOK() *PcloudSppplacementgroupsPostOK { + return &PcloudSppplacementgroupsPostOK{} +} + +/* +PcloudSppplacementgroupsPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSppplacementgroupsPostOK struct { + Payload *models.SPPPlacementGroup +} + +// IsSuccess returns true when this pcloud sppplacementgroups post o k response has a 2xx status code +func (o *PcloudSppplacementgroupsPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sppplacementgroups post o k response has a 3xx status code +func (o *PcloudSppplacementgroupsPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups post o k response has a 4xx status code +func (o *PcloudSppplacementgroupsPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups post o k response has a 5xx status code +func (o *PcloudSppplacementgroupsPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups post o k response a status code equal to that given +func (o *PcloudSppplacementgroupsPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sppplacementgroups post o k response +func (o *PcloudSppplacementgroupsPostOK) Code() int { + return 200 +} + +func (o *PcloudSppplacementgroupsPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostOK %s", 200, payload) +} + +func (o *PcloudSppplacementgroupsPostOK) GetPayload() *models.SPPPlacementGroup { + return o.Payload +} + +func (o *PcloudSppplacementgroupsPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SPPPlacementGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsPostBadRequest creates a PcloudSppplacementgroupsPostBadRequest with default headers values +func NewPcloudSppplacementgroupsPostBadRequest() *PcloudSppplacementgroupsPostBadRequest { + return &PcloudSppplacementgroupsPostBadRequest{} +} + +/* +PcloudSppplacementgroupsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSppplacementgroupsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups post bad request response has a 2xx status code +func (o *PcloudSppplacementgroupsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups post bad request response has a 3xx status code +func (o *PcloudSppplacementgroupsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups post bad request response has a 4xx status code +func (o *PcloudSppplacementgroupsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups post bad request response has a 5xx status code +func (o *PcloudSppplacementgroupsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups post bad request response a status code equal to that given +func (o *PcloudSppplacementgroupsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sppplacementgroups post bad request response +func (o *PcloudSppplacementgroupsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudSppplacementgroupsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostBadRequest %s", 400, payload) +} + +func (o *PcloudSppplacementgroupsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsPostUnauthorized creates a PcloudSppplacementgroupsPostUnauthorized with default headers values +func NewPcloudSppplacementgroupsPostUnauthorized() *PcloudSppplacementgroupsPostUnauthorized { + return &PcloudSppplacementgroupsPostUnauthorized{} +} + +/* +PcloudSppplacementgroupsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSppplacementgroupsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups post unauthorized response has a 2xx status code +func (o *PcloudSppplacementgroupsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups post unauthorized response has a 3xx status code +func (o *PcloudSppplacementgroupsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups post unauthorized response has a 4xx status code +func (o *PcloudSppplacementgroupsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups post unauthorized response has a 5xx status code +func (o *PcloudSppplacementgroupsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups post unauthorized response a status code equal to that given +func (o *PcloudSppplacementgroupsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sppplacementgroups post unauthorized response +func (o *PcloudSppplacementgroupsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSppplacementgroupsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudSppplacementgroupsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsPostForbidden creates a PcloudSppplacementgroupsPostForbidden with default headers values +func NewPcloudSppplacementgroupsPostForbidden() *PcloudSppplacementgroupsPostForbidden { + return &PcloudSppplacementgroupsPostForbidden{} +} + +/* +PcloudSppplacementgroupsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSppplacementgroupsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups post forbidden response has a 2xx status code +func (o *PcloudSppplacementgroupsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups post forbidden response has a 3xx status code +func (o *PcloudSppplacementgroupsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups post forbidden response has a 4xx status code +func (o *PcloudSppplacementgroupsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups post forbidden response has a 5xx status code +func (o *PcloudSppplacementgroupsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups post forbidden response a status code equal to that given +func (o *PcloudSppplacementgroupsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sppplacementgroups post forbidden response +func (o *PcloudSppplacementgroupsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudSppplacementgroupsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostForbidden %s", 403, payload) +} + +func (o *PcloudSppplacementgroupsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsPostNotFound creates a PcloudSppplacementgroupsPostNotFound with default headers values +func NewPcloudSppplacementgroupsPostNotFound() *PcloudSppplacementgroupsPostNotFound { + return &PcloudSppplacementgroupsPostNotFound{} +} + +/* +PcloudSppplacementgroupsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSppplacementgroupsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups post not found response has a 2xx status code +func (o *PcloudSppplacementgroupsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups post not found response has a 3xx status code +func (o *PcloudSppplacementgroupsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups post not found response has a 4xx status code +func (o *PcloudSppplacementgroupsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups post not found response has a 5xx status code +func (o *PcloudSppplacementgroupsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups post not found response a status code equal to that given +func (o *PcloudSppplacementgroupsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sppplacementgroups post not found response +func (o *PcloudSppplacementgroupsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudSppplacementgroupsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostNotFound %s", 404, payload) +} + +func (o *PcloudSppplacementgroupsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsPostConflict creates a PcloudSppplacementgroupsPostConflict with default headers values +func NewPcloudSppplacementgroupsPostConflict() *PcloudSppplacementgroupsPostConflict { + return &PcloudSppplacementgroupsPostConflict{} +} + +/* +PcloudSppplacementgroupsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudSppplacementgroupsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups post conflict response has a 2xx status code +func (o *PcloudSppplacementgroupsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups post conflict response has a 3xx status code +func (o *PcloudSppplacementgroupsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups post conflict response has a 4xx status code +func (o *PcloudSppplacementgroupsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups post conflict response has a 5xx status code +func (o *PcloudSppplacementgroupsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups post conflict response a status code equal to that given +func (o *PcloudSppplacementgroupsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud sppplacementgroups post conflict response +func (o *PcloudSppplacementgroupsPostConflict) Code() int { + return 409 +} + +func (o *PcloudSppplacementgroupsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostConflict %s", 409, payload) +} + +func (o *PcloudSppplacementgroupsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostConflict %s", 409, payload) +} + +func (o *PcloudSppplacementgroupsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsPostUnprocessableEntity creates a PcloudSppplacementgroupsPostUnprocessableEntity with default headers values +func NewPcloudSppplacementgroupsPostUnprocessableEntity() *PcloudSppplacementgroupsPostUnprocessableEntity { + return &PcloudSppplacementgroupsPostUnprocessableEntity{} +} + +/* +PcloudSppplacementgroupsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudSppplacementgroupsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups post unprocessable entity response has a 2xx status code +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups post unprocessable entity response has a 3xx status code +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups post unprocessable entity response has a 4xx status code +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sppplacementgroups post unprocessable entity response has a 5xx status code +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sppplacementgroups post unprocessable entity response a status code equal to that given +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud sppplacementgroups post unprocessable entity response +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSppplacementgroupsPostInternalServerError creates a PcloudSppplacementgroupsPostInternalServerError with default headers values +func NewPcloudSppplacementgroupsPostInternalServerError() *PcloudSppplacementgroupsPostInternalServerError { + return &PcloudSppplacementgroupsPostInternalServerError{} +} + +/* +PcloudSppplacementgroupsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSppplacementgroupsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sppplacementgroups post internal server error response has a 2xx status code +func (o *PcloudSppplacementgroupsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sppplacementgroups post internal server error response has a 3xx status code +func (o *PcloudSppplacementgroupsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sppplacementgroups post internal server error response has a 4xx status code +func (o *PcloudSppplacementgroupsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sppplacementgroups post internal server error response has a 5xx status code +func (o *PcloudSppplacementgroupsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sppplacementgroups post internal server error response a status code equal to that given +func (o *PcloudSppplacementgroupsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sppplacementgroups post internal server error response +func (o *PcloudSppplacementgroupsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSppplacementgroupsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/spp-placement-groups][%d] pcloudSppplacementgroupsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudSppplacementgroupsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSppplacementgroupsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/p_cloud_servicedhcp_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/p_cloud_servicedhcp_client.go new file mode 100644 index 000000000..0e69f5b15 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/p_cloud_servicedhcp_client.go @@ -0,0 +1,249 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud service d h c p API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud service d h c p API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud service d h c p API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud service d h c p API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudDhcpDelete(params *PcloudDhcpDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudDhcpDeleteAccepted, error) + + PcloudDhcpGet(params *PcloudDhcpGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudDhcpGetOK, error) + + PcloudDhcpGetall(params *PcloudDhcpGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudDhcpGetallOK, error) + + PcloudDhcpPost(params *PcloudDhcpPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudDhcpPostAccepted, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudDhcpDelete deletes d h c p server open shift internal use only +*/ +func (a *Client) PcloudDhcpDelete(params *PcloudDhcpDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudDhcpDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudDhcpDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.dhcp.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudDhcpDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudDhcpDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.dhcp.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudDhcpGet gets d h c p server information open shift internal use only +*/ +func (a *Client) PcloudDhcpGet(params *PcloudDhcpGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudDhcpGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudDhcpGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.dhcp.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudDhcpGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudDhcpGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.dhcp.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudDhcpGetall gets all d h c p servers information open shift internal use only +*/ +func (a *Client) PcloudDhcpGetall(params *PcloudDhcpGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudDhcpGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudDhcpGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.dhcp.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudDhcpGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudDhcpGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.dhcp.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudDhcpPost creates a d h c p server open shift internal use only +*/ +func (a *Client) PcloudDhcpPost(params *PcloudDhcpPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudDhcpPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudDhcpPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.dhcp.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudDhcpPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudDhcpPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.dhcp.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_delete_parameters.go new file mode 100644 index 000000000..9cfd2aa2b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudDhcpDeleteParams creates a new PcloudDhcpDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudDhcpDeleteParams() *PcloudDhcpDeleteParams { + return &PcloudDhcpDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudDhcpDeleteParamsWithTimeout creates a new PcloudDhcpDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudDhcpDeleteParamsWithTimeout(timeout time.Duration) *PcloudDhcpDeleteParams { + return &PcloudDhcpDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudDhcpDeleteParamsWithContext creates a new PcloudDhcpDeleteParams object +// with the ability to set a context for a request. +func NewPcloudDhcpDeleteParamsWithContext(ctx context.Context) *PcloudDhcpDeleteParams { + return &PcloudDhcpDeleteParams{ + Context: ctx, + } +} + +// NewPcloudDhcpDeleteParamsWithHTTPClient creates a new PcloudDhcpDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudDhcpDeleteParamsWithHTTPClient(client *http.Client) *PcloudDhcpDeleteParams { + return &PcloudDhcpDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudDhcpDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud dhcp delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudDhcpDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* DhcpID. + + The ID of the DHCP Server + */ + DhcpID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud dhcp delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudDhcpDeleteParams) WithDefaults() *PcloudDhcpDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud dhcp delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudDhcpDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) WithTimeout(timeout time.Duration) *PcloudDhcpDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) WithContext(ctx context.Context) *PcloudDhcpDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) WithHTTPClient(client *http.Client) *PcloudDhcpDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudDhcpDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithDhcpID adds the dhcpID to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) WithDhcpID(dhcpID string) *PcloudDhcpDeleteParams { + o.SetDhcpID(dhcpID) + return o +} + +// SetDhcpID adds the dhcpId to the pcloud dhcp delete params +func (o *PcloudDhcpDeleteParams) SetDhcpID(dhcpID string) { + o.DhcpID = dhcpID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudDhcpDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param dhcp_id + if err := r.SetPathParam("dhcp_id", o.DhcpID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_delete_responses.go new file mode 100644 index 000000000..02999fcd1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_delete_responses.go @@ -0,0 +1,409 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudDhcpDeleteReader is a Reader for the PcloudDhcpDelete structure. +type PcloudDhcpDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudDhcpDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudDhcpDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudDhcpDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudDhcpDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudDhcpDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudDhcpDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}] pcloud.dhcp.delete", response, response.Code()) + } +} + +// NewPcloudDhcpDeleteAccepted creates a PcloudDhcpDeleteAccepted with default headers values +func NewPcloudDhcpDeleteAccepted() *PcloudDhcpDeleteAccepted { + return &PcloudDhcpDeleteAccepted{} +} + +/* +PcloudDhcpDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudDhcpDeleteAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud dhcp delete accepted response has a 2xx status code +func (o *PcloudDhcpDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud dhcp delete accepted response has a 3xx status code +func (o *PcloudDhcpDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp delete accepted response has a 4xx status code +func (o *PcloudDhcpDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud dhcp delete accepted response has a 5xx status code +func (o *PcloudDhcpDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp delete accepted response a status code equal to that given +func (o *PcloudDhcpDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud dhcp delete accepted response +func (o *PcloudDhcpDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudDhcpDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteAccepted %s", 202, payload) +} + +func (o *PcloudDhcpDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteAccepted %s", 202, payload) +} + +func (o *PcloudDhcpDeleteAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudDhcpDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpDeleteBadRequest creates a PcloudDhcpDeleteBadRequest with default headers values +func NewPcloudDhcpDeleteBadRequest() *PcloudDhcpDeleteBadRequest { + return &PcloudDhcpDeleteBadRequest{} +} + +/* +PcloudDhcpDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudDhcpDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp delete bad request response has a 2xx status code +func (o *PcloudDhcpDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp delete bad request response has a 3xx status code +func (o *PcloudDhcpDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp delete bad request response has a 4xx status code +func (o *PcloudDhcpDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp delete bad request response has a 5xx status code +func (o *PcloudDhcpDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp delete bad request response a status code equal to that given +func (o *PcloudDhcpDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud dhcp delete bad request response +func (o *PcloudDhcpDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudDhcpDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudDhcpDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudDhcpDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpDeleteForbidden creates a PcloudDhcpDeleteForbidden with default headers values +func NewPcloudDhcpDeleteForbidden() *PcloudDhcpDeleteForbidden { + return &PcloudDhcpDeleteForbidden{} +} + +/* +PcloudDhcpDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudDhcpDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp delete forbidden response has a 2xx status code +func (o *PcloudDhcpDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp delete forbidden response has a 3xx status code +func (o *PcloudDhcpDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp delete forbidden response has a 4xx status code +func (o *PcloudDhcpDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp delete forbidden response has a 5xx status code +func (o *PcloudDhcpDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp delete forbidden response a status code equal to that given +func (o *PcloudDhcpDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud dhcp delete forbidden response +func (o *PcloudDhcpDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudDhcpDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteForbidden %s", 403, payload) +} + +func (o *PcloudDhcpDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteForbidden %s", 403, payload) +} + +func (o *PcloudDhcpDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpDeleteNotFound creates a PcloudDhcpDeleteNotFound with default headers values +func NewPcloudDhcpDeleteNotFound() *PcloudDhcpDeleteNotFound { + return &PcloudDhcpDeleteNotFound{} +} + +/* +PcloudDhcpDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudDhcpDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp delete not found response has a 2xx status code +func (o *PcloudDhcpDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp delete not found response has a 3xx status code +func (o *PcloudDhcpDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp delete not found response has a 4xx status code +func (o *PcloudDhcpDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp delete not found response has a 5xx status code +func (o *PcloudDhcpDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp delete not found response a status code equal to that given +func (o *PcloudDhcpDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud dhcp delete not found response +func (o *PcloudDhcpDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudDhcpDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteNotFound %s", 404, payload) +} + +func (o *PcloudDhcpDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteNotFound %s", 404, payload) +} + +func (o *PcloudDhcpDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpDeleteInternalServerError creates a PcloudDhcpDeleteInternalServerError with default headers values +func NewPcloudDhcpDeleteInternalServerError() *PcloudDhcpDeleteInternalServerError { + return &PcloudDhcpDeleteInternalServerError{} +} + +/* +PcloudDhcpDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudDhcpDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp delete internal server error response has a 2xx status code +func (o *PcloudDhcpDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp delete internal server error response has a 3xx status code +func (o *PcloudDhcpDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp delete internal server error response has a 4xx status code +func (o *PcloudDhcpDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud dhcp delete internal server error response has a 5xx status code +func (o *PcloudDhcpDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud dhcp delete internal server error response a status code equal to that given +func (o *PcloudDhcpDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud dhcp delete internal server error response +func (o *PcloudDhcpDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudDhcpDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudDhcpDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudDhcpDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_get_parameters.go new file mode 100644 index 000000000..2b581e4fd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudDhcpGetParams creates a new PcloudDhcpGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudDhcpGetParams() *PcloudDhcpGetParams { + return &PcloudDhcpGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudDhcpGetParamsWithTimeout creates a new PcloudDhcpGetParams object +// with the ability to set a timeout on a request. +func NewPcloudDhcpGetParamsWithTimeout(timeout time.Duration) *PcloudDhcpGetParams { + return &PcloudDhcpGetParams{ + timeout: timeout, + } +} + +// NewPcloudDhcpGetParamsWithContext creates a new PcloudDhcpGetParams object +// with the ability to set a context for a request. +func NewPcloudDhcpGetParamsWithContext(ctx context.Context) *PcloudDhcpGetParams { + return &PcloudDhcpGetParams{ + Context: ctx, + } +} + +// NewPcloudDhcpGetParamsWithHTTPClient creates a new PcloudDhcpGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudDhcpGetParamsWithHTTPClient(client *http.Client) *PcloudDhcpGetParams { + return &PcloudDhcpGetParams{ + HTTPClient: client, + } +} + +/* +PcloudDhcpGetParams contains all the parameters to send to the API endpoint + + for the pcloud dhcp get operation. + + Typically these are written to a http.Request. +*/ +type PcloudDhcpGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* DhcpID. + + The ID of the DHCP Server + */ + DhcpID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud dhcp get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudDhcpGetParams) WithDefaults() *PcloudDhcpGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud dhcp get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudDhcpGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) WithTimeout(timeout time.Duration) *PcloudDhcpGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) WithContext(ctx context.Context) *PcloudDhcpGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) WithHTTPClient(client *http.Client) *PcloudDhcpGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudDhcpGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithDhcpID adds the dhcpID to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) WithDhcpID(dhcpID string) *PcloudDhcpGetParams { + o.SetDhcpID(dhcpID) + return o +} + +// SetDhcpID adds the dhcpId to the pcloud dhcp get params +func (o *PcloudDhcpGetParams) SetDhcpID(dhcpID string) { + o.DhcpID = dhcpID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudDhcpGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param dhcp_id + if err := r.SetPathParam("dhcp_id", o.DhcpID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_get_responses.go new file mode 100644 index 000000000..6439488dc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudDhcpGetReader is a Reader for the PcloudDhcpGet structure. +type PcloudDhcpGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudDhcpGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudDhcpGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudDhcpGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudDhcpGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudDhcpGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudDhcpGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudDhcpGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}] pcloud.dhcp.get", response, response.Code()) + } +} + +// NewPcloudDhcpGetOK creates a PcloudDhcpGetOK with default headers values +func NewPcloudDhcpGetOK() *PcloudDhcpGetOK { + return &PcloudDhcpGetOK{} +} + +/* +PcloudDhcpGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudDhcpGetOK struct { + Payload *models.DHCPServerDetail +} + +// IsSuccess returns true when this pcloud dhcp get o k response has a 2xx status code +func (o *PcloudDhcpGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud dhcp get o k response has a 3xx status code +func (o *PcloudDhcpGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp get o k response has a 4xx status code +func (o *PcloudDhcpGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud dhcp get o k response has a 5xx status code +func (o *PcloudDhcpGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp get o k response a status code equal to that given +func (o *PcloudDhcpGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud dhcp get o k response +func (o *PcloudDhcpGetOK) Code() int { + return 200 +} + +func (o *PcloudDhcpGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetOK %s", 200, payload) +} + +func (o *PcloudDhcpGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetOK %s", 200, payload) +} + +func (o *PcloudDhcpGetOK) GetPayload() *models.DHCPServerDetail { + return o.Payload +} + +func (o *PcloudDhcpGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.DHCPServerDetail) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetBadRequest creates a PcloudDhcpGetBadRequest with default headers values +func NewPcloudDhcpGetBadRequest() *PcloudDhcpGetBadRequest { + return &PcloudDhcpGetBadRequest{} +} + +/* +PcloudDhcpGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudDhcpGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp get bad request response has a 2xx status code +func (o *PcloudDhcpGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp get bad request response has a 3xx status code +func (o *PcloudDhcpGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp get bad request response has a 4xx status code +func (o *PcloudDhcpGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp get bad request response has a 5xx status code +func (o *PcloudDhcpGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp get bad request response a status code equal to that given +func (o *PcloudDhcpGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud dhcp get bad request response +func (o *PcloudDhcpGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudDhcpGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetBadRequest %s", 400, payload) +} + +func (o *PcloudDhcpGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetBadRequest %s", 400, payload) +} + +func (o *PcloudDhcpGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetUnauthorized creates a PcloudDhcpGetUnauthorized with default headers values +func NewPcloudDhcpGetUnauthorized() *PcloudDhcpGetUnauthorized { + return &PcloudDhcpGetUnauthorized{} +} + +/* +PcloudDhcpGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudDhcpGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp get unauthorized response has a 2xx status code +func (o *PcloudDhcpGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp get unauthorized response has a 3xx status code +func (o *PcloudDhcpGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp get unauthorized response has a 4xx status code +func (o *PcloudDhcpGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp get unauthorized response has a 5xx status code +func (o *PcloudDhcpGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp get unauthorized response a status code equal to that given +func (o *PcloudDhcpGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud dhcp get unauthorized response +func (o *PcloudDhcpGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudDhcpGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetUnauthorized %s", 401, payload) +} + +func (o *PcloudDhcpGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetUnauthorized %s", 401, payload) +} + +func (o *PcloudDhcpGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetForbidden creates a PcloudDhcpGetForbidden with default headers values +func NewPcloudDhcpGetForbidden() *PcloudDhcpGetForbidden { + return &PcloudDhcpGetForbidden{} +} + +/* +PcloudDhcpGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudDhcpGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp get forbidden response has a 2xx status code +func (o *PcloudDhcpGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp get forbidden response has a 3xx status code +func (o *PcloudDhcpGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp get forbidden response has a 4xx status code +func (o *PcloudDhcpGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp get forbidden response has a 5xx status code +func (o *PcloudDhcpGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp get forbidden response a status code equal to that given +func (o *PcloudDhcpGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud dhcp get forbidden response +func (o *PcloudDhcpGetForbidden) Code() int { + return 403 +} + +func (o *PcloudDhcpGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetForbidden %s", 403, payload) +} + +func (o *PcloudDhcpGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetForbidden %s", 403, payload) +} + +func (o *PcloudDhcpGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetNotFound creates a PcloudDhcpGetNotFound with default headers values +func NewPcloudDhcpGetNotFound() *PcloudDhcpGetNotFound { + return &PcloudDhcpGetNotFound{} +} + +/* +PcloudDhcpGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudDhcpGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp get not found response has a 2xx status code +func (o *PcloudDhcpGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp get not found response has a 3xx status code +func (o *PcloudDhcpGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp get not found response has a 4xx status code +func (o *PcloudDhcpGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp get not found response has a 5xx status code +func (o *PcloudDhcpGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp get not found response a status code equal to that given +func (o *PcloudDhcpGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud dhcp get not found response +func (o *PcloudDhcpGetNotFound) Code() int { + return 404 +} + +func (o *PcloudDhcpGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetNotFound %s", 404, payload) +} + +func (o *PcloudDhcpGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetNotFound %s", 404, payload) +} + +func (o *PcloudDhcpGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetInternalServerError creates a PcloudDhcpGetInternalServerError with default headers values +func NewPcloudDhcpGetInternalServerError() *PcloudDhcpGetInternalServerError { + return &PcloudDhcpGetInternalServerError{} +} + +/* +PcloudDhcpGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudDhcpGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp get internal server error response has a 2xx status code +func (o *PcloudDhcpGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp get internal server error response has a 3xx status code +func (o *PcloudDhcpGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp get internal server error response has a 4xx status code +func (o *PcloudDhcpGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud dhcp get internal server error response has a 5xx status code +func (o *PcloudDhcpGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud dhcp get internal server error response a status code equal to that given +func (o *PcloudDhcpGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud dhcp get internal server error response +func (o *PcloudDhcpGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudDhcpGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetInternalServerError %s", 500, payload) +} + +func (o *PcloudDhcpGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp/{dhcp_id}][%d] pcloudDhcpGetInternalServerError %s", 500, payload) +} + +func (o *PcloudDhcpGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_getall_parameters.go new file mode 100644 index 000000000..723a3bdc1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudDhcpGetallParams creates a new PcloudDhcpGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudDhcpGetallParams() *PcloudDhcpGetallParams { + return &PcloudDhcpGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudDhcpGetallParamsWithTimeout creates a new PcloudDhcpGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudDhcpGetallParamsWithTimeout(timeout time.Duration) *PcloudDhcpGetallParams { + return &PcloudDhcpGetallParams{ + timeout: timeout, + } +} + +// NewPcloudDhcpGetallParamsWithContext creates a new PcloudDhcpGetallParams object +// with the ability to set a context for a request. +func NewPcloudDhcpGetallParamsWithContext(ctx context.Context) *PcloudDhcpGetallParams { + return &PcloudDhcpGetallParams{ + Context: ctx, + } +} + +// NewPcloudDhcpGetallParamsWithHTTPClient creates a new PcloudDhcpGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudDhcpGetallParamsWithHTTPClient(client *http.Client) *PcloudDhcpGetallParams { + return &PcloudDhcpGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudDhcpGetallParams contains all the parameters to send to the API endpoint + + for the pcloud dhcp getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudDhcpGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud dhcp getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudDhcpGetallParams) WithDefaults() *PcloudDhcpGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud dhcp getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudDhcpGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud dhcp getall params +func (o *PcloudDhcpGetallParams) WithTimeout(timeout time.Duration) *PcloudDhcpGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud dhcp getall params +func (o *PcloudDhcpGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud dhcp getall params +func (o *PcloudDhcpGetallParams) WithContext(ctx context.Context) *PcloudDhcpGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud dhcp getall params +func (o *PcloudDhcpGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud dhcp getall params +func (o *PcloudDhcpGetallParams) WithHTTPClient(client *http.Client) *PcloudDhcpGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud dhcp getall params +func (o *PcloudDhcpGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud dhcp getall params +func (o *PcloudDhcpGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudDhcpGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud dhcp getall params +func (o *PcloudDhcpGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudDhcpGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_getall_responses.go new file mode 100644 index 000000000..26f96eb3a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_getall_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudDhcpGetallReader is a Reader for the PcloudDhcpGetall structure. +type PcloudDhcpGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudDhcpGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudDhcpGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudDhcpGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudDhcpGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudDhcpGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudDhcpGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudDhcpGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp] pcloud.dhcp.getall", response, response.Code()) + } +} + +// NewPcloudDhcpGetallOK creates a PcloudDhcpGetallOK with default headers values +func NewPcloudDhcpGetallOK() *PcloudDhcpGetallOK { + return &PcloudDhcpGetallOK{} +} + +/* +PcloudDhcpGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudDhcpGetallOK struct { + Payload models.DHCPServers +} + +// IsSuccess returns true when this pcloud dhcp getall o k response has a 2xx status code +func (o *PcloudDhcpGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud dhcp getall o k response has a 3xx status code +func (o *PcloudDhcpGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp getall o k response has a 4xx status code +func (o *PcloudDhcpGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud dhcp getall o k response has a 5xx status code +func (o *PcloudDhcpGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp getall o k response a status code equal to that given +func (o *PcloudDhcpGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud dhcp getall o k response +func (o *PcloudDhcpGetallOK) Code() int { + return 200 +} + +func (o *PcloudDhcpGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallOK %s", 200, payload) +} + +func (o *PcloudDhcpGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallOK %s", 200, payload) +} + +func (o *PcloudDhcpGetallOK) GetPayload() models.DHCPServers { + return o.Payload +} + +func (o *PcloudDhcpGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetallBadRequest creates a PcloudDhcpGetallBadRequest with default headers values +func NewPcloudDhcpGetallBadRequest() *PcloudDhcpGetallBadRequest { + return &PcloudDhcpGetallBadRequest{} +} + +/* +PcloudDhcpGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudDhcpGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp getall bad request response has a 2xx status code +func (o *PcloudDhcpGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp getall bad request response has a 3xx status code +func (o *PcloudDhcpGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp getall bad request response has a 4xx status code +func (o *PcloudDhcpGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp getall bad request response has a 5xx status code +func (o *PcloudDhcpGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp getall bad request response a status code equal to that given +func (o *PcloudDhcpGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud dhcp getall bad request response +func (o *PcloudDhcpGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudDhcpGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallBadRequest %s", 400, payload) +} + +func (o *PcloudDhcpGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallBadRequest %s", 400, payload) +} + +func (o *PcloudDhcpGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetallUnauthorized creates a PcloudDhcpGetallUnauthorized with default headers values +func NewPcloudDhcpGetallUnauthorized() *PcloudDhcpGetallUnauthorized { + return &PcloudDhcpGetallUnauthorized{} +} + +/* +PcloudDhcpGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudDhcpGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp getall unauthorized response has a 2xx status code +func (o *PcloudDhcpGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp getall unauthorized response has a 3xx status code +func (o *PcloudDhcpGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp getall unauthorized response has a 4xx status code +func (o *PcloudDhcpGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp getall unauthorized response has a 5xx status code +func (o *PcloudDhcpGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp getall unauthorized response a status code equal to that given +func (o *PcloudDhcpGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud dhcp getall unauthorized response +func (o *PcloudDhcpGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudDhcpGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudDhcpGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudDhcpGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetallForbidden creates a PcloudDhcpGetallForbidden with default headers values +func NewPcloudDhcpGetallForbidden() *PcloudDhcpGetallForbidden { + return &PcloudDhcpGetallForbidden{} +} + +/* +PcloudDhcpGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudDhcpGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp getall forbidden response has a 2xx status code +func (o *PcloudDhcpGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp getall forbidden response has a 3xx status code +func (o *PcloudDhcpGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp getall forbidden response has a 4xx status code +func (o *PcloudDhcpGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp getall forbidden response has a 5xx status code +func (o *PcloudDhcpGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp getall forbidden response a status code equal to that given +func (o *PcloudDhcpGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud dhcp getall forbidden response +func (o *PcloudDhcpGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudDhcpGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallForbidden %s", 403, payload) +} + +func (o *PcloudDhcpGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallForbidden %s", 403, payload) +} + +func (o *PcloudDhcpGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetallNotFound creates a PcloudDhcpGetallNotFound with default headers values +func NewPcloudDhcpGetallNotFound() *PcloudDhcpGetallNotFound { + return &PcloudDhcpGetallNotFound{} +} + +/* +PcloudDhcpGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudDhcpGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp getall not found response has a 2xx status code +func (o *PcloudDhcpGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp getall not found response has a 3xx status code +func (o *PcloudDhcpGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp getall not found response has a 4xx status code +func (o *PcloudDhcpGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp getall not found response has a 5xx status code +func (o *PcloudDhcpGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp getall not found response a status code equal to that given +func (o *PcloudDhcpGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud dhcp getall not found response +func (o *PcloudDhcpGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudDhcpGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallNotFound %s", 404, payload) +} + +func (o *PcloudDhcpGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallNotFound %s", 404, payload) +} + +func (o *PcloudDhcpGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpGetallInternalServerError creates a PcloudDhcpGetallInternalServerError with default headers values +func NewPcloudDhcpGetallInternalServerError() *PcloudDhcpGetallInternalServerError { + return &PcloudDhcpGetallInternalServerError{} +} + +/* +PcloudDhcpGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudDhcpGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp getall internal server error response has a 2xx status code +func (o *PcloudDhcpGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp getall internal server error response has a 3xx status code +func (o *PcloudDhcpGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp getall internal server error response has a 4xx status code +func (o *PcloudDhcpGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud dhcp getall internal server error response has a 5xx status code +func (o *PcloudDhcpGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud dhcp getall internal server error response a status code equal to that given +func (o *PcloudDhcpGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud dhcp getall internal server error response +func (o *PcloudDhcpGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudDhcpGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudDhcpGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudDhcpGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_post_parameters.go new file mode 100644 index 000000000..decad4409 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudDhcpPostParams creates a new PcloudDhcpPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudDhcpPostParams() *PcloudDhcpPostParams { + return &PcloudDhcpPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudDhcpPostParamsWithTimeout creates a new PcloudDhcpPostParams object +// with the ability to set a timeout on a request. +func NewPcloudDhcpPostParamsWithTimeout(timeout time.Duration) *PcloudDhcpPostParams { + return &PcloudDhcpPostParams{ + timeout: timeout, + } +} + +// NewPcloudDhcpPostParamsWithContext creates a new PcloudDhcpPostParams object +// with the ability to set a context for a request. +func NewPcloudDhcpPostParamsWithContext(ctx context.Context) *PcloudDhcpPostParams { + return &PcloudDhcpPostParams{ + Context: ctx, + } +} + +// NewPcloudDhcpPostParamsWithHTTPClient creates a new PcloudDhcpPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudDhcpPostParamsWithHTTPClient(client *http.Client) *PcloudDhcpPostParams { + return &PcloudDhcpPostParams{ + HTTPClient: client, + } +} + +/* +PcloudDhcpPostParams contains all the parameters to send to the API endpoint + + for the pcloud dhcp post operation. + + Typically these are written to a http.Request. +*/ +type PcloudDhcpPostParams struct { + + /* Body. + + Parameters used during creation of DHCP service + */ + Body *models.DHCPServerCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud dhcp post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudDhcpPostParams) WithDefaults() *PcloudDhcpPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud dhcp post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudDhcpPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) WithTimeout(timeout time.Duration) *PcloudDhcpPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) WithContext(ctx context.Context) *PcloudDhcpPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) WithHTTPClient(client *http.Client) *PcloudDhcpPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) WithBody(body *models.DHCPServerCreate) *PcloudDhcpPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) SetBody(body *models.DHCPServerCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudDhcpPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud dhcp post params +func (o *PcloudDhcpPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudDhcpPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_post_responses.go new file mode 100644 index 000000000..a1a5cb917 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p/pcloud_dhcp_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_service_d_h_c_p + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudDhcpPostReader is a Reader for the PcloudDhcpPost structure. +type PcloudDhcpPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudDhcpPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudDhcpPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudDhcpPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudDhcpPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudDhcpPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudDhcpPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudDhcpPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp] pcloud.dhcp.post", response, response.Code()) + } +} + +// NewPcloudDhcpPostAccepted creates a PcloudDhcpPostAccepted with default headers values +func NewPcloudDhcpPostAccepted() *PcloudDhcpPostAccepted { + return &PcloudDhcpPostAccepted{} +} + +/* +PcloudDhcpPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudDhcpPostAccepted struct { + Payload *models.DHCPServer +} + +// IsSuccess returns true when this pcloud dhcp post accepted response has a 2xx status code +func (o *PcloudDhcpPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud dhcp post accepted response has a 3xx status code +func (o *PcloudDhcpPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp post accepted response has a 4xx status code +func (o *PcloudDhcpPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud dhcp post accepted response has a 5xx status code +func (o *PcloudDhcpPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp post accepted response a status code equal to that given +func (o *PcloudDhcpPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud dhcp post accepted response +func (o *PcloudDhcpPostAccepted) Code() int { + return 202 +} + +func (o *PcloudDhcpPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostAccepted %s", 202, payload) +} + +func (o *PcloudDhcpPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostAccepted %s", 202, payload) +} + +func (o *PcloudDhcpPostAccepted) GetPayload() *models.DHCPServer { + return o.Payload +} + +func (o *PcloudDhcpPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.DHCPServer) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpPostBadRequest creates a PcloudDhcpPostBadRequest with default headers values +func NewPcloudDhcpPostBadRequest() *PcloudDhcpPostBadRequest { + return &PcloudDhcpPostBadRequest{} +} + +/* +PcloudDhcpPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudDhcpPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp post bad request response has a 2xx status code +func (o *PcloudDhcpPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp post bad request response has a 3xx status code +func (o *PcloudDhcpPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp post bad request response has a 4xx status code +func (o *PcloudDhcpPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp post bad request response has a 5xx status code +func (o *PcloudDhcpPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp post bad request response a status code equal to that given +func (o *PcloudDhcpPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud dhcp post bad request response +func (o *PcloudDhcpPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudDhcpPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostBadRequest %s", 400, payload) +} + +func (o *PcloudDhcpPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostBadRequest %s", 400, payload) +} + +func (o *PcloudDhcpPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpPostUnauthorized creates a PcloudDhcpPostUnauthorized with default headers values +func NewPcloudDhcpPostUnauthorized() *PcloudDhcpPostUnauthorized { + return &PcloudDhcpPostUnauthorized{} +} + +/* +PcloudDhcpPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudDhcpPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp post unauthorized response has a 2xx status code +func (o *PcloudDhcpPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp post unauthorized response has a 3xx status code +func (o *PcloudDhcpPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp post unauthorized response has a 4xx status code +func (o *PcloudDhcpPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp post unauthorized response has a 5xx status code +func (o *PcloudDhcpPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp post unauthorized response a status code equal to that given +func (o *PcloudDhcpPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud dhcp post unauthorized response +func (o *PcloudDhcpPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudDhcpPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostUnauthorized %s", 401, payload) +} + +func (o *PcloudDhcpPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostUnauthorized %s", 401, payload) +} + +func (o *PcloudDhcpPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpPostForbidden creates a PcloudDhcpPostForbidden with default headers values +func NewPcloudDhcpPostForbidden() *PcloudDhcpPostForbidden { + return &PcloudDhcpPostForbidden{} +} + +/* +PcloudDhcpPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudDhcpPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp post forbidden response has a 2xx status code +func (o *PcloudDhcpPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp post forbidden response has a 3xx status code +func (o *PcloudDhcpPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp post forbidden response has a 4xx status code +func (o *PcloudDhcpPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp post forbidden response has a 5xx status code +func (o *PcloudDhcpPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp post forbidden response a status code equal to that given +func (o *PcloudDhcpPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud dhcp post forbidden response +func (o *PcloudDhcpPostForbidden) Code() int { + return 403 +} + +func (o *PcloudDhcpPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostForbidden %s", 403, payload) +} + +func (o *PcloudDhcpPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostForbidden %s", 403, payload) +} + +func (o *PcloudDhcpPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpPostNotFound creates a PcloudDhcpPostNotFound with default headers values +func NewPcloudDhcpPostNotFound() *PcloudDhcpPostNotFound { + return &PcloudDhcpPostNotFound{} +} + +/* +PcloudDhcpPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudDhcpPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp post not found response has a 2xx status code +func (o *PcloudDhcpPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp post not found response has a 3xx status code +func (o *PcloudDhcpPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp post not found response has a 4xx status code +func (o *PcloudDhcpPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud dhcp post not found response has a 5xx status code +func (o *PcloudDhcpPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud dhcp post not found response a status code equal to that given +func (o *PcloudDhcpPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud dhcp post not found response +func (o *PcloudDhcpPostNotFound) Code() int { + return 404 +} + +func (o *PcloudDhcpPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostNotFound %s", 404, payload) +} + +func (o *PcloudDhcpPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostNotFound %s", 404, payload) +} + +func (o *PcloudDhcpPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudDhcpPostInternalServerError creates a PcloudDhcpPostInternalServerError with default headers values +func NewPcloudDhcpPostInternalServerError() *PcloudDhcpPostInternalServerError { + return &PcloudDhcpPostInternalServerError{} +} + +/* +PcloudDhcpPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudDhcpPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud dhcp post internal server error response has a 2xx status code +func (o *PcloudDhcpPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud dhcp post internal server error response has a 3xx status code +func (o *PcloudDhcpPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud dhcp post internal server error response has a 4xx status code +func (o *PcloudDhcpPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud dhcp post internal server error response has a 5xx status code +func (o *PcloudDhcpPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud dhcp post internal server error response a status code equal to that given +func (o *PcloudDhcpPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud dhcp post internal server error response +func (o *PcloudDhcpPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudDhcpPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostInternalServerError %s", 500, payload) +} + +func (o *PcloudDhcpPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/services/dhcp][%d] pcloudDhcpPostInternalServerError %s", 500, payload) +} + +func (o *PcloudDhcpPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudDhcpPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/p_cloud_shared_processor_pools_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/p_cloud_shared_processor_pools_client.go new file mode 100644 index 000000000..5992a4d23 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/p_cloud_shared_processor_pools_client.go @@ -0,0 +1,295 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud shared processor pools API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud shared processor pools API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud shared processor pools API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud shared processor pools API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudSharedprocessorpoolsDelete(params *PcloudSharedprocessorpoolsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsDeleteOK, error) + + PcloudSharedprocessorpoolsGet(params *PcloudSharedprocessorpoolsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsGetOK, error) + + PcloudSharedprocessorpoolsGetall(params *PcloudSharedprocessorpoolsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsGetallOK, error) + + PcloudSharedprocessorpoolsPost(params *PcloudSharedprocessorpoolsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsPostAccepted, error) + + PcloudSharedprocessorpoolsPut(params *PcloudSharedprocessorpoolsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudSharedprocessorpoolsDelete deletes a shared processor pool from a cloud instance +*/ +func (a *Client) PcloudSharedprocessorpoolsDelete(params *PcloudSharedprocessorpoolsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSharedprocessorpoolsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sharedprocessorpools.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSharedprocessorpoolsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSharedprocessorpoolsDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sharedprocessorpools.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSharedprocessorpoolsGet gets the detail of a shared processor pool for a cloud instance +*/ +func (a *Client) PcloudSharedprocessorpoolsGet(params *PcloudSharedprocessorpoolsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSharedprocessorpoolsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sharedprocessorpools.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSharedprocessorpoolsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSharedprocessorpoolsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sharedprocessorpools.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSharedprocessorpoolsGetall gets the list of shared processor pools for a cloud instance +*/ +func (a *Client) PcloudSharedprocessorpoolsGetall(params *PcloudSharedprocessorpoolsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSharedprocessorpoolsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sharedprocessorpools.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSharedprocessorpoolsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSharedprocessorpoolsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sharedprocessorpools.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSharedprocessorpoolsPost creates a new shared processor pool +*/ +func (a *Client) PcloudSharedprocessorpoolsPost(params *PcloudSharedprocessorpoolsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSharedprocessorpoolsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sharedprocessorpools.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSharedprocessorpoolsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSharedprocessorpoolsPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sharedprocessorpools.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudSharedprocessorpoolsPut updates a shared processor pool for a cloud instance +*/ +func (a *Client) PcloudSharedprocessorpoolsPut(params *PcloudSharedprocessorpoolsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSharedprocessorpoolsPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSharedprocessorpoolsPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.sharedprocessorpools.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSharedprocessorpoolsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSharedprocessorpoolsPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.sharedprocessorpools.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_delete_parameters.go new file mode 100644 index 000000000..3f18e084e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSharedprocessorpoolsDeleteParams creates a new PcloudSharedprocessorpoolsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSharedprocessorpoolsDeleteParams() *PcloudSharedprocessorpoolsDeleteParams { + return &PcloudSharedprocessorpoolsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSharedprocessorpoolsDeleteParamsWithTimeout creates a new PcloudSharedprocessorpoolsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudSharedprocessorpoolsDeleteParamsWithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsDeleteParams { + return &PcloudSharedprocessorpoolsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudSharedprocessorpoolsDeleteParamsWithContext creates a new PcloudSharedprocessorpoolsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudSharedprocessorpoolsDeleteParamsWithContext(ctx context.Context) *PcloudSharedprocessorpoolsDeleteParams { + return &PcloudSharedprocessorpoolsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudSharedprocessorpoolsDeleteParamsWithHTTPClient creates a new PcloudSharedprocessorpoolsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSharedprocessorpoolsDeleteParamsWithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsDeleteParams { + return &PcloudSharedprocessorpoolsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudSharedprocessorpoolsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud sharedprocessorpools delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudSharedprocessorpoolsDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SharedProcessorPoolID. + + Shared Processor Pool ID or Name + */ + SharedProcessorPoolID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sharedprocessorpools delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsDeleteParams) WithDefaults() *PcloudSharedprocessorpoolsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sharedprocessorpools delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) WithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) WithContext(ctx context.Context) *PcloudSharedprocessorpoolsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) WithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSharedprocessorpoolsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSharedProcessorPoolID adds the sharedProcessorPoolID to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) WithSharedProcessorPoolID(sharedProcessorPoolID string) *PcloudSharedprocessorpoolsDeleteParams { + o.SetSharedProcessorPoolID(sharedProcessorPoolID) + return o +} + +// SetSharedProcessorPoolID adds the sharedProcessorPoolId to the pcloud sharedprocessorpools delete params +func (o *PcloudSharedprocessorpoolsDeleteParams) SetSharedProcessorPoolID(sharedProcessorPoolID string) { + o.SharedProcessorPoolID = sharedProcessorPoolID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSharedprocessorpoolsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param shared_processor_pool_id + if err := r.SetPathParam("shared_processor_pool_id", o.SharedProcessorPoolID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_delete_responses.go new file mode 100644 index 000000000..5eca4f318 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSharedprocessorpoolsDeleteReader is a Reader for the PcloudSharedprocessorpoolsDelete structure. +type PcloudSharedprocessorpoolsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSharedprocessorpoolsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSharedprocessorpoolsDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSharedprocessorpoolsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSharedprocessorpoolsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSharedprocessorpoolsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSharedprocessorpoolsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudSharedprocessorpoolsDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSharedprocessorpoolsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}] pcloud.sharedprocessorpools.delete", response, response.Code()) + } +} + +// NewPcloudSharedprocessorpoolsDeleteOK creates a PcloudSharedprocessorpoolsDeleteOK with default headers values +func NewPcloudSharedprocessorpoolsDeleteOK() *PcloudSharedprocessorpoolsDeleteOK { + return &PcloudSharedprocessorpoolsDeleteOK{} +} + +/* +PcloudSharedprocessorpoolsDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSharedprocessorpoolsDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud sharedprocessorpools delete o k response has a 2xx status code +func (o *PcloudSharedprocessorpoolsDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sharedprocessorpools delete o k response has a 3xx status code +func (o *PcloudSharedprocessorpoolsDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools delete o k response has a 4xx status code +func (o *PcloudSharedprocessorpoolsDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools delete o k response has a 5xx status code +func (o *PcloudSharedprocessorpoolsDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools delete o k response a status code equal to that given +func (o *PcloudSharedprocessorpoolsDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sharedprocessorpools delete o k response +func (o *PcloudSharedprocessorpoolsDeleteOK) Code() int { + return 200 +} + +func (o *PcloudSharedprocessorpoolsDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteOK %s", 200, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteOK %s", 200, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsDeleteBadRequest creates a PcloudSharedprocessorpoolsDeleteBadRequest with default headers values +func NewPcloudSharedprocessorpoolsDeleteBadRequest() *PcloudSharedprocessorpoolsDeleteBadRequest { + return &PcloudSharedprocessorpoolsDeleteBadRequest{} +} + +/* +PcloudSharedprocessorpoolsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSharedprocessorpoolsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools delete bad request response has a 2xx status code +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools delete bad request response has a 3xx status code +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools delete bad request response has a 4xx status code +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools delete bad request response has a 5xx status code +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools delete bad request response a status code equal to that given +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sharedprocessorpools delete bad request response +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsDeleteUnauthorized creates a PcloudSharedprocessorpoolsDeleteUnauthorized with default headers values +func NewPcloudSharedprocessorpoolsDeleteUnauthorized() *PcloudSharedprocessorpoolsDeleteUnauthorized { + return &PcloudSharedprocessorpoolsDeleteUnauthorized{} +} + +/* +PcloudSharedprocessorpoolsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSharedprocessorpoolsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools delete unauthorized response has a 2xx status code +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools delete unauthorized response has a 3xx status code +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools delete unauthorized response has a 4xx status code +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools delete unauthorized response has a 5xx status code +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools delete unauthorized response a status code equal to that given +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sharedprocessorpools delete unauthorized response +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsDeleteForbidden creates a PcloudSharedprocessorpoolsDeleteForbidden with default headers values +func NewPcloudSharedprocessorpoolsDeleteForbidden() *PcloudSharedprocessorpoolsDeleteForbidden { + return &PcloudSharedprocessorpoolsDeleteForbidden{} +} + +/* +PcloudSharedprocessorpoolsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSharedprocessorpoolsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools delete forbidden response has a 2xx status code +func (o *PcloudSharedprocessorpoolsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools delete forbidden response has a 3xx status code +func (o *PcloudSharedprocessorpoolsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools delete forbidden response has a 4xx status code +func (o *PcloudSharedprocessorpoolsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools delete forbidden response has a 5xx status code +func (o *PcloudSharedprocessorpoolsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools delete forbidden response a status code equal to that given +func (o *PcloudSharedprocessorpoolsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sharedprocessorpools delete forbidden response +func (o *PcloudSharedprocessorpoolsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudSharedprocessorpoolsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsDeleteNotFound creates a PcloudSharedprocessorpoolsDeleteNotFound with default headers values +func NewPcloudSharedprocessorpoolsDeleteNotFound() *PcloudSharedprocessorpoolsDeleteNotFound { + return &PcloudSharedprocessorpoolsDeleteNotFound{} +} + +/* +PcloudSharedprocessorpoolsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSharedprocessorpoolsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools delete not found response has a 2xx status code +func (o *PcloudSharedprocessorpoolsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools delete not found response has a 3xx status code +func (o *PcloudSharedprocessorpoolsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools delete not found response has a 4xx status code +func (o *PcloudSharedprocessorpoolsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools delete not found response has a 5xx status code +func (o *PcloudSharedprocessorpoolsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools delete not found response a status code equal to that given +func (o *PcloudSharedprocessorpoolsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sharedprocessorpools delete not found response +func (o *PcloudSharedprocessorpoolsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudSharedprocessorpoolsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsDeleteConflict creates a PcloudSharedprocessorpoolsDeleteConflict with default headers values +func NewPcloudSharedprocessorpoolsDeleteConflict() *PcloudSharedprocessorpoolsDeleteConflict { + return &PcloudSharedprocessorpoolsDeleteConflict{} +} + +/* +PcloudSharedprocessorpoolsDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudSharedprocessorpoolsDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools delete conflict response has a 2xx status code +func (o *PcloudSharedprocessorpoolsDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools delete conflict response has a 3xx status code +func (o *PcloudSharedprocessorpoolsDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools delete conflict response has a 4xx status code +func (o *PcloudSharedprocessorpoolsDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools delete conflict response has a 5xx status code +func (o *PcloudSharedprocessorpoolsDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools delete conflict response a status code equal to that given +func (o *PcloudSharedprocessorpoolsDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud sharedprocessorpools delete conflict response +func (o *PcloudSharedprocessorpoolsDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudSharedprocessorpoolsDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteConflict %s", 409, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteConflict %s", 409, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsDeleteInternalServerError creates a PcloudSharedprocessorpoolsDeleteInternalServerError with default headers values +func NewPcloudSharedprocessorpoolsDeleteInternalServerError() *PcloudSharedprocessorpoolsDeleteInternalServerError { + return &PcloudSharedprocessorpoolsDeleteInternalServerError{} +} + +/* +PcloudSharedprocessorpoolsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSharedprocessorpoolsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools delete internal server error response has a 2xx status code +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools delete internal server error response has a 3xx status code +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools delete internal server error response has a 4xx status code +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools delete internal server error response has a 5xx status code +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sharedprocessorpools delete internal server error response a status code equal to that given +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sharedprocessorpools delete internal server error response +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_get_parameters.go new file mode 100644 index 000000000..d98083fec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSharedprocessorpoolsGetParams creates a new PcloudSharedprocessorpoolsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSharedprocessorpoolsGetParams() *PcloudSharedprocessorpoolsGetParams { + return &PcloudSharedprocessorpoolsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSharedprocessorpoolsGetParamsWithTimeout creates a new PcloudSharedprocessorpoolsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudSharedprocessorpoolsGetParamsWithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsGetParams { + return &PcloudSharedprocessorpoolsGetParams{ + timeout: timeout, + } +} + +// NewPcloudSharedprocessorpoolsGetParamsWithContext creates a new PcloudSharedprocessorpoolsGetParams object +// with the ability to set a context for a request. +func NewPcloudSharedprocessorpoolsGetParamsWithContext(ctx context.Context) *PcloudSharedprocessorpoolsGetParams { + return &PcloudSharedprocessorpoolsGetParams{ + Context: ctx, + } +} + +// NewPcloudSharedprocessorpoolsGetParamsWithHTTPClient creates a new PcloudSharedprocessorpoolsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSharedprocessorpoolsGetParamsWithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsGetParams { + return &PcloudSharedprocessorpoolsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudSharedprocessorpoolsGetParams contains all the parameters to send to the API endpoint + + for the pcloud sharedprocessorpools get operation. + + Typically these are written to a http.Request. +*/ +type PcloudSharedprocessorpoolsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SharedProcessorPoolID. + + Shared Processor Pool ID or Name + */ + SharedProcessorPoolID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sharedprocessorpools get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsGetParams) WithDefaults() *PcloudSharedprocessorpoolsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sharedprocessorpools get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) WithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) WithContext(ctx context.Context) *PcloudSharedprocessorpoolsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) WithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSharedprocessorpoolsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSharedProcessorPoolID adds the sharedProcessorPoolID to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) WithSharedProcessorPoolID(sharedProcessorPoolID string) *PcloudSharedprocessorpoolsGetParams { + o.SetSharedProcessorPoolID(sharedProcessorPoolID) + return o +} + +// SetSharedProcessorPoolID adds the sharedProcessorPoolId to the pcloud sharedprocessorpools get params +func (o *PcloudSharedprocessorpoolsGetParams) SetSharedProcessorPoolID(sharedProcessorPoolID string) { + o.SharedProcessorPoolID = sharedProcessorPoolID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSharedprocessorpoolsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param shared_processor_pool_id + if err := r.SetPathParam("shared_processor_pool_id", o.SharedProcessorPoolID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_get_responses.go new file mode 100644 index 000000000..a3c622f93 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSharedprocessorpoolsGetReader is a Reader for the PcloudSharedprocessorpoolsGet structure. +type PcloudSharedprocessorpoolsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSharedprocessorpoolsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSharedprocessorpoolsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSharedprocessorpoolsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSharedprocessorpoolsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSharedprocessorpoolsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSharedprocessorpoolsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSharedprocessorpoolsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}] pcloud.sharedprocessorpools.get", response, response.Code()) + } +} + +// NewPcloudSharedprocessorpoolsGetOK creates a PcloudSharedprocessorpoolsGetOK with default headers values +func NewPcloudSharedprocessorpoolsGetOK() *PcloudSharedprocessorpoolsGetOK { + return &PcloudSharedprocessorpoolsGetOK{} +} + +/* +PcloudSharedprocessorpoolsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSharedprocessorpoolsGetOK struct { + Payload *models.SharedProcessorPoolDetail +} + +// IsSuccess returns true when this pcloud sharedprocessorpools get o k response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sharedprocessorpools get o k response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools get o k response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools get o k response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools get o k response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sharedprocessorpools get o k response +func (o *PcloudSharedprocessorpoolsGetOK) Code() int { + return 200 +} + +func (o *PcloudSharedprocessorpoolsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetOK %s", 200, payload) +} + +func (o *PcloudSharedprocessorpoolsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetOK %s", 200, payload) +} + +func (o *PcloudSharedprocessorpoolsGetOK) GetPayload() *models.SharedProcessorPoolDetail { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SharedProcessorPoolDetail) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetBadRequest creates a PcloudSharedprocessorpoolsGetBadRequest with default headers values +func NewPcloudSharedprocessorpoolsGetBadRequest() *PcloudSharedprocessorpoolsGetBadRequest { + return &PcloudSharedprocessorpoolsGetBadRequest{} +} + +/* +PcloudSharedprocessorpoolsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSharedprocessorpoolsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools get bad request response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools get bad request response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools get bad request response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools get bad request response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools get bad request response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sharedprocessorpools get bad request response +func (o *PcloudSharedprocessorpoolsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudSharedprocessorpoolsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetUnauthorized creates a PcloudSharedprocessorpoolsGetUnauthorized with default headers values +func NewPcloudSharedprocessorpoolsGetUnauthorized() *PcloudSharedprocessorpoolsGetUnauthorized { + return &PcloudSharedprocessorpoolsGetUnauthorized{} +} + +/* +PcloudSharedprocessorpoolsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSharedprocessorpoolsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools get unauthorized response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools get unauthorized response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools get unauthorized response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools get unauthorized response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools get unauthorized response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sharedprocessorpools get unauthorized response +func (o *PcloudSharedprocessorpoolsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSharedprocessorpoolsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetForbidden creates a PcloudSharedprocessorpoolsGetForbidden with default headers values +func NewPcloudSharedprocessorpoolsGetForbidden() *PcloudSharedprocessorpoolsGetForbidden { + return &PcloudSharedprocessorpoolsGetForbidden{} +} + +/* +PcloudSharedprocessorpoolsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSharedprocessorpoolsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools get forbidden response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools get forbidden response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools get forbidden response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools get forbidden response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools get forbidden response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sharedprocessorpools get forbidden response +func (o *PcloudSharedprocessorpoolsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudSharedprocessorpoolsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetNotFound creates a PcloudSharedprocessorpoolsGetNotFound with default headers values +func NewPcloudSharedprocessorpoolsGetNotFound() *PcloudSharedprocessorpoolsGetNotFound { + return &PcloudSharedprocessorpoolsGetNotFound{} +} + +/* +PcloudSharedprocessorpoolsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSharedprocessorpoolsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools get not found response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools get not found response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools get not found response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools get not found response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools get not found response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sharedprocessorpools get not found response +func (o *PcloudSharedprocessorpoolsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudSharedprocessorpoolsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetInternalServerError creates a PcloudSharedprocessorpoolsGetInternalServerError with default headers values +func NewPcloudSharedprocessorpoolsGetInternalServerError() *PcloudSharedprocessorpoolsGetInternalServerError { + return &PcloudSharedprocessorpoolsGetInternalServerError{} +} + +/* +PcloudSharedprocessorpoolsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSharedprocessorpoolsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools get internal server error response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools get internal server error response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools get internal server error response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools get internal server error response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sharedprocessorpools get internal server error response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sharedprocessorpools get internal server error response +func (o *PcloudSharedprocessorpoolsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSharedprocessorpoolsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_getall_parameters.go new file mode 100644 index 000000000..3a2744c2b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSharedprocessorpoolsGetallParams creates a new PcloudSharedprocessorpoolsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSharedprocessorpoolsGetallParams() *PcloudSharedprocessorpoolsGetallParams { + return &PcloudSharedprocessorpoolsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSharedprocessorpoolsGetallParamsWithTimeout creates a new PcloudSharedprocessorpoolsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudSharedprocessorpoolsGetallParamsWithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsGetallParams { + return &PcloudSharedprocessorpoolsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudSharedprocessorpoolsGetallParamsWithContext creates a new PcloudSharedprocessorpoolsGetallParams object +// with the ability to set a context for a request. +func NewPcloudSharedprocessorpoolsGetallParamsWithContext(ctx context.Context) *PcloudSharedprocessorpoolsGetallParams { + return &PcloudSharedprocessorpoolsGetallParams{ + Context: ctx, + } +} + +// NewPcloudSharedprocessorpoolsGetallParamsWithHTTPClient creates a new PcloudSharedprocessorpoolsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSharedprocessorpoolsGetallParamsWithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsGetallParams { + return &PcloudSharedprocessorpoolsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudSharedprocessorpoolsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud sharedprocessorpools getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudSharedprocessorpoolsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sharedprocessorpools getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsGetallParams) WithDefaults() *PcloudSharedprocessorpoolsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sharedprocessorpools getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sharedprocessorpools getall params +func (o *PcloudSharedprocessorpoolsGetallParams) WithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sharedprocessorpools getall params +func (o *PcloudSharedprocessorpoolsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sharedprocessorpools getall params +func (o *PcloudSharedprocessorpoolsGetallParams) WithContext(ctx context.Context) *PcloudSharedprocessorpoolsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sharedprocessorpools getall params +func (o *PcloudSharedprocessorpoolsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools getall params +func (o *PcloudSharedprocessorpoolsGetallParams) WithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools getall params +func (o *PcloudSharedprocessorpoolsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sharedprocessorpools getall params +func (o *PcloudSharedprocessorpoolsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSharedprocessorpoolsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sharedprocessorpools getall params +func (o *PcloudSharedprocessorpoolsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSharedprocessorpoolsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_getall_responses.go new file mode 100644 index 000000000..1bbc79a38 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSharedprocessorpoolsGetallReader is a Reader for the PcloudSharedprocessorpoolsGetall structure. +type PcloudSharedprocessorpoolsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSharedprocessorpoolsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSharedprocessorpoolsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSharedprocessorpoolsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSharedprocessorpoolsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSharedprocessorpoolsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSharedprocessorpoolsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSharedprocessorpoolsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools] pcloud.sharedprocessorpools.getall", response, response.Code()) + } +} + +// NewPcloudSharedprocessorpoolsGetallOK creates a PcloudSharedprocessorpoolsGetallOK with default headers values +func NewPcloudSharedprocessorpoolsGetallOK() *PcloudSharedprocessorpoolsGetallOK { + return &PcloudSharedprocessorpoolsGetallOK{} +} + +/* +PcloudSharedprocessorpoolsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSharedprocessorpoolsGetallOK struct { + Payload *models.SharedProcessorPools +} + +// IsSuccess returns true when this pcloud sharedprocessorpools getall o k response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sharedprocessorpools getall o k response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools getall o k response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools getall o k response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools getall o k response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sharedprocessorpools getall o k response +func (o *PcloudSharedprocessorpoolsGetallOK) Code() int { + return 200 +} + +func (o *PcloudSharedprocessorpoolsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallOK %s", 200, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallOK %s", 200, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallOK) GetPayload() *models.SharedProcessorPools { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SharedProcessorPools) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetallBadRequest creates a PcloudSharedprocessorpoolsGetallBadRequest with default headers values +func NewPcloudSharedprocessorpoolsGetallBadRequest() *PcloudSharedprocessorpoolsGetallBadRequest { + return &PcloudSharedprocessorpoolsGetallBadRequest{} +} + +/* +PcloudSharedprocessorpoolsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSharedprocessorpoolsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools getall bad request response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools getall bad request response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools getall bad request response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools getall bad request response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools getall bad request response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sharedprocessorpools getall bad request response +func (o *PcloudSharedprocessorpoolsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudSharedprocessorpoolsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetallUnauthorized creates a PcloudSharedprocessorpoolsGetallUnauthorized with default headers values +func NewPcloudSharedprocessorpoolsGetallUnauthorized() *PcloudSharedprocessorpoolsGetallUnauthorized { + return &PcloudSharedprocessorpoolsGetallUnauthorized{} +} + +/* +PcloudSharedprocessorpoolsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSharedprocessorpoolsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools getall unauthorized response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools getall unauthorized response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools getall unauthorized response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools getall unauthorized response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools getall unauthorized response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sharedprocessorpools getall unauthorized response +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetallForbidden creates a PcloudSharedprocessorpoolsGetallForbidden with default headers values +func NewPcloudSharedprocessorpoolsGetallForbidden() *PcloudSharedprocessorpoolsGetallForbidden { + return &PcloudSharedprocessorpoolsGetallForbidden{} +} + +/* +PcloudSharedprocessorpoolsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSharedprocessorpoolsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools getall forbidden response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools getall forbidden response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools getall forbidden response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools getall forbidden response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools getall forbidden response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sharedprocessorpools getall forbidden response +func (o *PcloudSharedprocessorpoolsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudSharedprocessorpoolsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetallNotFound creates a PcloudSharedprocessorpoolsGetallNotFound with default headers values +func NewPcloudSharedprocessorpoolsGetallNotFound() *PcloudSharedprocessorpoolsGetallNotFound { + return &PcloudSharedprocessorpoolsGetallNotFound{} +} + +/* +PcloudSharedprocessorpoolsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSharedprocessorpoolsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools getall not found response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools getall not found response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools getall not found response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools getall not found response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools getall not found response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sharedprocessorpools getall not found response +func (o *PcloudSharedprocessorpoolsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudSharedprocessorpoolsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsGetallInternalServerError creates a PcloudSharedprocessorpoolsGetallInternalServerError with default headers values +func NewPcloudSharedprocessorpoolsGetallInternalServerError() *PcloudSharedprocessorpoolsGetallInternalServerError { + return &PcloudSharedprocessorpoolsGetallInternalServerError{} +} + +/* +PcloudSharedprocessorpoolsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSharedprocessorpoolsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools getall internal server error response has a 2xx status code +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools getall internal server error response has a 3xx status code +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools getall internal server error response has a 4xx status code +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools getall internal server error response has a 5xx status code +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sharedprocessorpools getall internal server error response a status code equal to that given +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sharedprocessorpools getall internal server error response +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_post_parameters.go new file mode 100644 index 000000000..0a8865f49 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudSharedprocessorpoolsPostParams creates a new PcloudSharedprocessorpoolsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSharedprocessorpoolsPostParams() *PcloudSharedprocessorpoolsPostParams { + return &PcloudSharedprocessorpoolsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSharedprocessorpoolsPostParamsWithTimeout creates a new PcloudSharedprocessorpoolsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudSharedprocessorpoolsPostParamsWithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsPostParams { + return &PcloudSharedprocessorpoolsPostParams{ + timeout: timeout, + } +} + +// NewPcloudSharedprocessorpoolsPostParamsWithContext creates a new PcloudSharedprocessorpoolsPostParams object +// with the ability to set a context for a request. +func NewPcloudSharedprocessorpoolsPostParamsWithContext(ctx context.Context) *PcloudSharedprocessorpoolsPostParams { + return &PcloudSharedprocessorpoolsPostParams{ + Context: ctx, + } +} + +// NewPcloudSharedprocessorpoolsPostParamsWithHTTPClient creates a new PcloudSharedprocessorpoolsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSharedprocessorpoolsPostParamsWithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsPostParams { + return &PcloudSharedprocessorpoolsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudSharedprocessorpoolsPostParams contains all the parameters to send to the API endpoint + + for the pcloud sharedprocessorpools post operation. + + Typically these are written to a http.Request. +*/ +type PcloudSharedprocessorpoolsPostParams struct { + + /* Body. + + Parameters for the creation of a new Shared Processor Pool + */ + Body *models.SharedProcessorPoolCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sharedprocessorpools post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsPostParams) WithDefaults() *PcloudSharedprocessorpoolsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sharedprocessorpools post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) WithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) WithContext(ctx context.Context) *PcloudSharedprocessorpoolsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) WithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) WithBody(body *models.SharedProcessorPoolCreate) *PcloudSharedprocessorpoolsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) SetBody(body *models.SharedProcessorPoolCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSharedprocessorpoolsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sharedprocessorpools post params +func (o *PcloudSharedprocessorpoolsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSharedprocessorpoolsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_post_responses.go new file mode 100644 index 000000000..d0ce92479 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSharedprocessorpoolsPostReader is a Reader for the PcloudSharedprocessorpoolsPost structure. +type PcloudSharedprocessorpoolsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSharedprocessorpoolsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudSharedprocessorpoolsPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSharedprocessorpoolsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSharedprocessorpoolsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSharedprocessorpoolsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSharedprocessorpoolsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudSharedprocessorpoolsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudSharedprocessorpoolsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSharedprocessorpoolsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools] pcloud.sharedprocessorpools.post", response, response.Code()) + } +} + +// NewPcloudSharedprocessorpoolsPostAccepted creates a PcloudSharedprocessorpoolsPostAccepted with default headers values +func NewPcloudSharedprocessorpoolsPostAccepted() *PcloudSharedprocessorpoolsPostAccepted { + return &PcloudSharedprocessorpoolsPostAccepted{} +} + +/* +PcloudSharedprocessorpoolsPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudSharedprocessorpoolsPostAccepted struct { + Payload *models.SharedProcessorPool +} + +// IsSuccess returns true when this pcloud sharedprocessorpools post accepted response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sharedprocessorpools post accepted response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools post accepted response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools post accepted response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools post accepted response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud sharedprocessorpools post accepted response +func (o *PcloudSharedprocessorpoolsPostAccepted) Code() int { + return 202 +} + +func (o *PcloudSharedprocessorpoolsPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostAccepted %s", 202, payload) +} + +func (o *PcloudSharedprocessorpoolsPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostAccepted %s", 202, payload) +} + +func (o *PcloudSharedprocessorpoolsPostAccepted) GetPayload() *models.SharedProcessorPool { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SharedProcessorPool) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPostBadRequest creates a PcloudSharedprocessorpoolsPostBadRequest with default headers values +func NewPcloudSharedprocessorpoolsPostBadRequest() *PcloudSharedprocessorpoolsPostBadRequest { + return &PcloudSharedprocessorpoolsPostBadRequest{} +} + +/* +PcloudSharedprocessorpoolsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSharedprocessorpoolsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools post bad request response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools post bad request response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools post bad request response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools post bad request response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools post bad request response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sharedprocessorpools post bad request response +func (o *PcloudSharedprocessorpoolsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudSharedprocessorpoolsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPostUnauthorized creates a PcloudSharedprocessorpoolsPostUnauthorized with default headers values +func NewPcloudSharedprocessorpoolsPostUnauthorized() *PcloudSharedprocessorpoolsPostUnauthorized { + return &PcloudSharedprocessorpoolsPostUnauthorized{} +} + +/* +PcloudSharedprocessorpoolsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSharedprocessorpoolsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools post unauthorized response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools post unauthorized response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools post unauthorized response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools post unauthorized response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools post unauthorized response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sharedprocessorpools post unauthorized response +func (o *PcloudSharedprocessorpoolsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSharedprocessorpoolsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPostForbidden creates a PcloudSharedprocessorpoolsPostForbidden with default headers values +func NewPcloudSharedprocessorpoolsPostForbidden() *PcloudSharedprocessorpoolsPostForbidden { + return &PcloudSharedprocessorpoolsPostForbidden{} +} + +/* +PcloudSharedprocessorpoolsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSharedprocessorpoolsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools post forbidden response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools post forbidden response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools post forbidden response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools post forbidden response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools post forbidden response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sharedprocessorpools post forbidden response +func (o *PcloudSharedprocessorpoolsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudSharedprocessorpoolsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPostNotFound creates a PcloudSharedprocessorpoolsPostNotFound with default headers values +func NewPcloudSharedprocessorpoolsPostNotFound() *PcloudSharedprocessorpoolsPostNotFound { + return &PcloudSharedprocessorpoolsPostNotFound{} +} + +/* +PcloudSharedprocessorpoolsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSharedprocessorpoolsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools post not found response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools post not found response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools post not found response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools post not found response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools post not found response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sharedprocessorpools post not found response +func (o *PcloudSharedprocessorpoolsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudSharedprocessorpoolsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPostConflict creates a PcloudSharedprocessorpoolsPostConflict with default headers values +func NewPcloudSharedprocessorpoolsPostConflict() *PcloudSharedprocessorpoolsPostConflict { + return &PcloudSharedprocessorpoolsPostConflict{} +} + +/* +PcloudSharedprocessorpoolsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudSharedprocessorpoolsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools post conflict response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools post conflict response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools post conflict response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools post conflict response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools post conflict response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud sharedprocessorpools post conflict response +func (o *PcloudSharedprocessorpoolsPostConflict) Code() int { + return 409 +} + +func (o *PcloudSharedprocessorpoolsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostConflict %s", 409, payload) +} + +func (o *PcloudSharedprocessorpoolsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostConflict %s", 409, payload) +} + +func (o *PcloudSharedprocessorpoolsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPostUnprocessableEntity creates a PcloudSharedprocessorpoolsPostUnprocessableEntity with default headers values +func NewPcloudSharedprocessorpoolsPostUnprocessableEntity() *PcloudSharedprocessorpoolsPostUnprocessableEntity { + return &PcloudSharedprocessorpoolsPostUnprocessableEntity{} +} + +/* +PcloudSharedprocessorpoolsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudSharedprocessorpoolsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools post unprocessable entity response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools post unprocessable entity response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools post unprocessable entity response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools post unprocessable entity response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools post unprocessable entity response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud sharedprocessorpools post unprocessable entity response +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPostInternalServerError creates a PcloudSharedprocessorpoolsPostInternalServerError with default headers values +func NewPcloudSharedprocessorpoolsPostInternalServerError() *PcloudSharedprocessorpoolsPostInternalServerError { + return &PcloudSharedprocessorpoolsPostInternalServerError{} +} + +/* +PcloudSharedprocessorpoolsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSharedprocessorpoolsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools post internal server error response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools post internal server error response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools post internal server error response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools post internal server error response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sharedprocessorpools post internal server error response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sharedprocessorpools post internal server error response +func (o *PcloudSharedprocessorpoolsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSharedprocessorpoolsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools][%d] pcloudSharedprocessorpoolsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_put_parameters.go new file mode 100644 index 000000000..b464b9079 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudSharedprocessorpoolsPutParams creates a new PcloudSharedprocessorpoolsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSharedprocessorpoolsPutParams() *PcloudSharedprocessorpoolsPutParams { + return &PcloudSharedprocessorpoolsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSharedprocessorpoolsPutParamsWithTimeout creates a new PcloudSharedprocessorpoolsPutParams object +// with the ability to set a timeout on a request. +func NewPcloudSharedprocessorpoolsPutParamsWithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsPutParams { + return &PcloudSharedprocessorpoolsPutParams{ + timeout: timeout, + } +} + +// NewPcloudSharedprocessorpoolsPutParamsWithContext creates a new PcloudSharedprocessorpoolsPutParams object +// with the ability to set a context for a request. +func NewPcloudSharedprocessorpoolsPutParamsWithContext(ctx context.Context) *PcloudSharedprocessorpoolsPutParams { + return &PcloudSharedprocessorpoolsPutParams{ + Context: ctx, + } +} + +// NewPcloudSharedprocessorpoolsPutParamsWithHTTPClient creates a new PcloudSharedprocessorpoolsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSharedprocessorpoolsPutParamsWithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsPutParams { + return &PcloudSharedprocessorpoolsPutParams{ + HTTPClient: client, + } +} + +/* +PcloudSharedprocessorpoolsPutParams contains all the parameters to send to the API endpoint + + for the pcloud sharedprocessorpools put operation. + + Typically these are written to a http.Request. +*/ +type PcloudSharedprocessorpoolsPutParams struct { + + /* Body. + + Parameters for the update of a Shared Processor Pool + */ + Body *models.SharedProcessorPoolUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SharedProcessorPoolID. + + Shared Processor Pool ID or Name + */ + SharedProcessorPoolID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud sharedprocessorpools put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsPutParams) WithDefaults() *PcloudSharedprocessorpoolsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud sharedprocessorpools put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSharedprocessorpoolsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) WithTimeout(timeout time.Duration) *PcloudSharedprocessorpoolsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) WithContext(ctx context.Context) *PcloudSharedprocessorpoolsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) WithHTTPClient(client *http.Client) *PcloudSharedprocessorpoolsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) WithBody(body *models.SharedProcessorPoolUpdate) *PcloudSharedprocessorpoolsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) SetBody(body *models.SharedProcessorPoolUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSharedprocessorpoolsPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSharedProcessorPoolID adds the sharedProcessorPoolID to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) WithSharedProcessorPoolID(sharedProcessorPoolID string) *PcloudSharedprocessorpoolsPutParams { + o.SetSharedProcessorPoolID(sharedProcessorPoolID) + return o +} + +// SetSharedProcessorPoolID adds the sharedProcessorPoolId to the pcloud sharedprocessorpools put params +func (o *PcloudSharedprocessorpoolsPutParams) SetSharedProcessorPoolID(sharedProcessorPoolID string) { + o.SharedProcessorPoolID = sharedProcessorPoolID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSharedprocessorpoolsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param shared_processor_pool_id + if err := r.SetPathParam("shared_processor_pool_id", o.SharedProcessorPoolID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_put_responses.go new file mode 100644 index 000000000..7a7c69b69 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools/pcloud_sharedprocessorpools_put_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_shared_processor_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSharedprocessorpoolsPutReader is a Reader for the PcloudSharedprocessorpoolsPut structure. +type PcloudSharedprocessorpoolsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSharedprocessorpoolsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSharedprocessorpoolsPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSharedprocessorpoolsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSharedprocessorpoolsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSharedprocessorpoolsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSharedprocessorpoolsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSharedprocessorpoolsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}] pcloud.sharedprocessorpools.put", response, response.Code()) + } +} + +// NewPcloudSharedprocessorpoolsPutOK creates a PcloudSharedprocessorpoolsPutOK with default headers values +func NewPcloudSharedprocessorpoolsPutOK() *PcloudSharedprocessorpoolsPutOK { + return &PcloudSharedprocessorpoolsPutOK{} +} + +/* +PcloudSharedprocessorpoolsPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSharedprocessorpoolsPutOK struct { + Payload *models.SharedProcessorPool +} + +// IsSuccess returns true when this pcloud sharedprocessorpools put o k response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud sharedprocessorpools put o k response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools put o k response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools put o k response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools put o k response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud sharedprocessorpools put o k response +func (o *PcloudSharedprocessorpoolsPutOK) Code() int { + return 200 +} + +func (o *PcloudSharedprocessorpoolsPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutOK %s", 200, payload) +} + +func (o *PcloudSharedprocessorpoolsPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutOK %s", 200, payload) +} + +func (o *PcloudSharedprocessorpoolsPutOK) GetPayload() *models.SharedProcessorPool { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SharedProcessorPool) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPutBadRequest creates a PcloudSharedprocessorpoolsPutBadRequest with default headers values +func NewPcloudSharedprocessorpoolsPutBadRequest() *PcloudSharedprocessorpoolsPutBadRequest { + return &PcloudSharedprocessorpoolsPutBadRequest{} +} + +/* +PcloudSharedprocessorpoolsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSharedprocessorpoolsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools put bad request response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools put bad request response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools put bad request response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools put bad request response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools put bad request response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud sharedprocessorpools put bad request response +func (o *PcloudSharedprocessorpoolsPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudSharedprocessorpoolsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutBadRequest %s", 400, payload) +} + +func (o *PcloudSharedprocessorpoolsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPutUnauthorized creates a PcloudSharedprocessorpoolsPutUnauthorized with default headers values +func NewPcloudSharedprocessorpoolsPutUnauthorized() *PcloudSharedprocessorpoolsPutUnauthorized { + return &PcloudSharedprocessorpoolsPutUnauthorized{} +} + +/* +PcloudSharedprocessorpoolsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSharedprocessorpoolsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools put unauthorized response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools put unauthorized response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools put unauthorized response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools put unauthorized response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools put unauthorized response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud sharedprocessorpools put unauthorized response +func (o *PcloudSharedprocessorpoolsPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSharedprocessorpoolsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudSharedprocessorpoolsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPutForbidden creates a PcloudSharedprocessorpoolsPutForbidden with default headers values +func NewPcloudSharedprocessorpoolsPutForbidden() *PcloudSharedprocessorpoolsPutForbidden { + return &PcloudSharedprocessorpoolsPutForbidden{} +} + +/* +PcloudSharedprocessorpoolsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSharedprocessorpoolsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools put forbidden response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools put forbidden response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools put forbidden response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools put forbidden response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools put forbidden response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud sharedprocessorpools put forbidden response +func (o *PcloudSharedprocessorpoolsPutForbidden) Code() int { + return 403 +} + +func (o *PcloudSharedprocessorpoolsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutForbidden %s", 403, payload) +} + +func (o *PcloudSharedprocessorpoolsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPutNotFound creates a PcloudSharedprocessorpoolsPutNotFound with default headers values +func NewPcloudSharedprocessorpoolsPutNotFound() *PcloudSharedprocessorpoolsPutNotFound { + return &PcloudSharedprocessorpoolsPutNotFound{} +} + +/* +PcloudSharedprocessorpoolsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSharedprocessorpoolsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools put not found response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools put not found response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools put not found response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud sharedprocessorpools put not found response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud sharedprocessorpools put not found response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud sharedprocessorpools put not found response +func (o *PcloudSharedprocessorpoolsPutNotFound) Code() int { + return 404 +} + +func (o *PcloudSharedprocessorpoolsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutNotFound %s", 404, payload) +} + +func (o *PcloudSharedprocessorpoolsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSharedprocessorpoolsPutInternalServerError creates a PcloudSharedprocessorpoolsPutInternalServerError with default headers values +func NewPcloudSharedprocessorpoolsPutInternalServerError() *PcloudSharedprocessorpoolsPutInternalServerError { + return &PcloudSharedprocessorpoolsPutInternalServerError{} +} + +/* +PcloudSharedprocessorpoolsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSharedprocessorpoolsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud sharedprocessorpools put internal server error response has a 2xx status code +func (o *PcloudSharedprocessorpoolsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud sharedprocessorpools put internal server error response has a 3xx status code +func (o *PcloudSharedprocessorpoolsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud sharedprocessorpools put internal server error response has a 4xx status code +func (o *PcloudSharedprocessorpoolsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud sharedprocessorpools put internal server error response has a 5xx status code +func (o *PcloudSharedprocessorpoolsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud sharedprocessorpools put internal server error response a status code equal to that given +func (o *PcloudSharedprocessorpoolsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud sharedprocessorpools put internal server error response +func (o *PcloudSharedprocessorpoolsPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSharedprocessorpoolsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/shared-processor-pools/{shared_processor_pool_id}][%d] pcloudSharedprocessorpoolsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudSharedprocessorpoolsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSharedprocessorpoolsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/p_cloud_snapshots_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/p_cloud_snapshots_client.go new file mode 100644 index 000000000..873e700ec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/p_cloud_snapshots_client.go @@ -0,0 +1,249 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud snapshots API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud snapshots API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud snapshots API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud snapshots API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudCloudinstancesSnapshotsDelete(params *PcloudCloudinstancesSnapshotsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSnapshotsDeleteAccepted, error) + + PcloudCloudinstancesSnapshotsGet(params *PcloudCloudinstancesSnapshotsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSnapshotsGetOK, error) + + PcloudCloudinstancesSnapshotsGetall(params *PcloudCloudinstancesSnapshotsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSnapshotsGetallOK, error) + + PcloudCloudinstancesSnapshotsPut(params *PcloudCloudinstancesSnapshotsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSnapshotsPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudCloudinstancesSnapshotsDelete deletes a p VM instance snapshot of a cloud instance +*/ +func (a *Client) PcloudCloudinstancesSnapshotsDelete(params *PcloudCloudinstancesSnapshotsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSnapshotsDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesSnapshotsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.snapshots.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesSnapshotsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesSnapshotsDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.snapshots.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesSnapshotsGet gets the detail of a snapshot +*/ +func (a *Client) PcloudCloudinstancesSnapshotsGet(params *PcloudCloudinstancesSnapshotsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSnapshotsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesSnapshotsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.snapshots.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesSnapshotsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesSnapshotsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.snapshots.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesSnapshotsGetall lists all p VM instance snapshots for this cloud instance +*/ +func (a *Client) PcloudCloudinstancesSnapshotsGetall(params *PcloudCloudinstancesSnapshotsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSnapshotsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesSnapshotsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.snapshots.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesSnapshotsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesSnapshotsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.snapshots.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesSnapshotsPut updates a p VM instance snapshot +*/ +func (a *Client) PcloudCloudinstancesSnapshotsPut(params *PcloudCloudinstancesSnapshotsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesSnapshotsPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesSnapshotsPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.snapshots.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesSnapshotsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesSnapshotsPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.snapshots.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_delete_parameters.go new file mode 100644 index 000000000..b054bf637 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesSnapshotsDeleteParams creates a new PcloudCloudinstancesSnapshotsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesSnapshotsDeleteParams() *PcloudCloudinstancesSnapshotsDeleteParams { + return &PcloudCloudinstancesSnapshotsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesSnapshotsDeleteParamsWithTimeout creates a new PcloudCloudinstancesSnapshotsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesSnapshotsDeleteParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesSnapshotsDeleteParams { + return &PcloudCloudinstancesSnapshotsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesSnapshotsDeleteParamsWithContext creates a new PcloudCloudinstancesSnapshotsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesSnapshotsDeleteParamsWithContext(ctx context.Context) *PcloudCloudinstancesSnapshotsDeleteParams { + return &PcloudCloudinstancesSnapshotsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesSnapshotsDeleteParamsWithHTTPClient creates a new PcloudCloudinstancesSnapshotsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesSnapshotsDeleteParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesSnapshotsDeleteParams { + return &PcloudCloudinstancesSnapshotsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesSnapshotsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances snapshots delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesSnapshotsDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SnapshotID. + + PVM Instance snapshot id + */ + SnapshotID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances snapshots delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSnapshotsDeleteParams) WithDefaults() *PcloudCloudinstancesSnapshotsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances snapshots delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSnapshotsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesSnapshotsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) WithContext(ctx context.Context) *PcloudCloudinstancesSnapshotsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesSnapshotsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesSnapshotsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSnapshotID adds the snapshotID to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) WithSnapshotID(snapshotID string) *PcloudCloudinstancesSnapshotsDeleteParams { + o.SetSnapshotID(snapshotID) + return o +} + +// SetSnapshotID adds the snapshotId to the pcloud cloudinstances snapshots delete params +func (o *PcloudCloudinstancesSnapshotsDeleteParams) SetSnapshotID(snapshotID string) { + o.SnapshotID = snapshotID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesSnapshotsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param snapshot_id + if err := r.SetPathParam("snapshot_id", o.SnapshotID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_delete_responses.go new file mode 100644 index 000000000..69efbf3a5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesSnapshotsDeleteReader is a Reader for the PcloudCloudinstancesSnapshotsDelete structure. +type PcloudCloudinstancesSnapshotsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesSnapshotsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudCloudinstancesSnapshotsDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesSnapshotsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesSnapshotsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesSnapshotsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesSnapshotsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudCloudinstancesSnapshotsDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesSnapshotsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}] pcloud.cloudinstances.snapshots.delete", response, response.Code()) + } +} + +// NewPcloudCloudinstancesSnapshotsDeleteAccepted creates a PcloudCloudinstancesSnapshotsDeleteAccepted with default headers values +func NewPcloudCloudinstancesSnapshotsDeleteAccepted() *PcloudCloudinstancesSnapshotsDeleteAccepted { + return &PcloudCloudinstancesSnapshotsDeleteAccepted{} +} + +/* +PcloudCloudinstancesSnapshotsDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudinstancesSnapshotsDeleteAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots delete accepted response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots delete accepted response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots delete accepted response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances snapshots delete accepted response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots delete accepted response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudinstances snapshots delete accepted response +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteAccepted %s", 202, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteAccepted %s", 202, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsDeleteBadRequest creates a PcloudCloudinstancesSnapshotsDeleteBadRequest with default headers values +func NewPcloudCloudinstancesSnapshotsDeleteBadRequest() *PcloudCloudinstancesSnapshotsDeleteBadRequest { + return &PcloudCloudinstancesSnapshotsDeleteBadRequest{} +} + +/* +PcloudCloudinstancesSnapshotsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesSnapshotsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots delete bad request response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots delete bad request response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots delete bad request response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots delete bad request response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots delete bad request response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances snapshots delete bad request response +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsDeleteUnauthorized creates a PcloudCloudinstancesSnapshotsDeleteUnauthorized with default headers values +func NewPcloudCloudinstancesSnapshotsDeleteUnauthorized() *PcloudCloudinstancesSnapshotsDeleteUnauthorized { + return &PcloudCloudinstancesSnapshotsDeleteUnauthorized{} +} + +/* +PcloudCloudinstancesSnapshotsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesSnapshotsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots delete unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots delete unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots delete unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots delete unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots delete unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances snapshots delete unauthorized response +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsDeleteForbidden creates a PcloudCloudinstancesSnapshotsDeleteForbidden with default headers values +func NewPcloudCloudinstancesSnapshotsDeleteForbidden() *PcloudCloudinstancesSnapshotsDeleteForbidden { + return &PcloudCloudinstancesSnapshotsDeleteForbidden{} +} + +/* +PcloudCloudinstancesSnapshotsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesSnapshotsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots delete forbidden response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots delete forbidden response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots delete forbidden response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots delete forbidden response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots delete forbidden response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances snapshots delete forbidden response +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsDeleteNotFound creates a PcloudCloudinstancesSnapshotsDeleteNotFound with default headers values +func NewPcloudCloudinstancesSnapshotsDeleteNotFound() *PcloudCloudinstancesSnapshotsDeleteNotFound { + return &PcloudCloudinstancesSnapshotsDeleteNotFound{} +} + +/* +PcloudCloudinstancesSnapshotsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesSnapshotsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots delete not found response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots delete not found response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots delete not found response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots delete not found response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots delete not found response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances snapshots delete not found response +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsDeleteGone creates a PcloudCloudinstancesSnapshotsDeleteGone with default headers values +func NewPcloudCloudinstancesSnapshotsDeleteGone() *PcloudCloudinstancesSnapshotsDeleteGone { + return &PcloudCloudinstancesSnapshotsDeleteGone{} +} + +/* +PcloudCloudinstancesSnapshotsDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudCloudinstancesSnapshotsDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots delete gone response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots delete gone response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots delete gone response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots delete gone response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots delete gone response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud cloudinstances snapshots delete gone response +func (o *PcloudCloudinstancesSnapshotsDeleteGone) Code() int { + return 410 +} + +func (o *PcloudCloudinstancesSnapshotsDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsDeleteInternalServerError creates a PcloudCloudinstancesSnapshotsDeleteInternalServerError with default headers values +func NewPcloudCloudinstancesSnapshotsDeleteInternalServerError() *PcloudCloudinstancesSnapshotsDeleteInternalServerError { + return &PcloudCloudinstancesSnapshotsDeleteInternalServerError{} +} + +/* +PcloudCloudinstancesSnapshotsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesSnapshotsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots delete internal server error response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots delete internal server error response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots delete internal server error response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances snapshots delete internal server error response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances snapshots delete internal server error response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances snapshots delete internal server error response +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_get_parameters.go new file mode 100644 index 000000000..d7c7a54ea --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesSnapshotsGetParams creates a new PcloudCloudinstancesSnapshotsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesSnapshotsGetParams() *PcloudCloudinstancesSnapshotsGetParams { + return &PcloudCloudinstancesSnapshotsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesSnapshotsGetParamsWithTimeout creates a new PcloudCloudinstancesSnapshotsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesSnapshotsGetParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesSnapshotsGetParams { + return &PcloudCloudinstancesSnapshotsGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesSnapshotsGetParamsWithContext creates a new PcloudCloudinstancesSnapshotsGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesSnapshotsGetParamsWithContext(ctx context.Context) *PcloudCloudinstancesSnapshotsGetParams { + return &PcloudCloudinstancesSnapshotsGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesSnapshotsGetParamsWithHTTPClient creates a new PcloudCloudinstancesSnapshotsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesSnapshotsGetParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesSnapshotsGetParams { + return &PcloudCloudinstancesSnapshotsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesSnapshotsGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances snapshots get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesSnapshotsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SnapshotID. + + PVM Instance snapshot id + */ + SnapshotID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances snapshots get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSnapshotsGetParams) WithDefaults() *PcloudCloudinstancesSnapshotsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances snapshots get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSnapshotsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesSnapshotsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) WithContext(ctx context.Context) *PcloudCloudinstancesSnapshotsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesSnapshotsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesSnapshotsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSnapshotID adds the snapshotID to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) WithSnapshotID(snapshotID string) *PcloudCloudinstancesSnapshotsGetParams { + o.SetSnapshotID(snapshotID) + return o +} + +// SetSnapshotID adds the snapshotId to the pcloud cloudinstances snapshots get params +func (o *PcloudCloudinstancesSnapshotsGetParams) SetSnapshotID(snapshotID string) { + o.SnapshotID = snapshotID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesSnapshotsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param snapshot_id + if err := r.SetPathParam("snapshot_id", o.SnapshotID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_get_responses.go new file mode 100644 index 000000000..560c2ba91 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesSnapshotsGetReader is a Reader for the PcloudCloudinstancesSnapshotsGet structure. +type PcloudCloudinstancesSnapshotsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesSnapshotsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesSnapshotsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesSnapshotsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesSnapshotsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesSnapshotsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesSnapshotsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesSnapshotsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}] pcloud.cloudinstances.snapshots.get", response, response.Code()) + } +} + +// NewPcloudCloudinstancesSnapshotsGetOK creates a PcloudCloudinstancesSnapshotsGetOK with default headers values +func NewPcloudCloudinstancesSnapshotsGetOK() *PcloudCloudinstancesSnapshotsGetOK { + return &PcloudCloudinstancesSnapshotsGetOK{} +} + +/* +PcloudCloudinstancesSnapshotsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesSnapshotsGetOK struct { + Payload *models.Snapshot +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots get o k response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots get o k response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots get o k response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances snapshots get o k response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots get o k response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances snapshots get o k response +func (o *PcloudCloudinstancesSnapshotsGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesSnapshotsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetOK) GetPayload() *models.Snapshot { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Snapshot) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetBadRequest creates a PcloudCloudinstancesSnapshotsGetBadRequest with default headers values +func NewPcloudCloudinstancesSnapshotsGetBadRequest() *PcloudCloudinstancesSnapshotsGetBadRequest { + return &PcloudCloudinstancesSnapshotsGetBadRequest{} +} + +/* +PcloudCloudinstancesSnapshotsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesSnapshotsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots get bad request response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots get bad request response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots get bad request response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots get bad request response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots get bad request response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances snapshots get bad request response +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetUnauthorized creates a PcloudCloudinstancesSnapshotsGetUnauthorized with default headers values +func NewPcloudCloudinstancesSnapshotsGetUnauthorized() *PcloudCloudinstancesSnapshotsGetUnauthorized { + return &PcloudCloudinstancesSnapshotsGetUnauthorized{} +} + +/* +PcloudCloudinstancesSnapshotsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesSnapshotsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots get unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots get unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots get unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots get unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots get unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances snapshots get unauthorized response +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetForbidden creates a PcloudCloudinstancesSnapshotsGetForbidden with default headers values +func NewPcloudCloudinstancesSnapshotsGetForbidden() *PcloudCloudinstancesSnapshotsGetForbidden { + return &PcloudCloudinstancesSnapshotsGetForbidden{} +} + +/* +PcloudCloudinstancesSnapshotsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesSnapshotsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots get forbidden response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots get forbidden response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots get forbidden response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots get forbidden response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots get forbidden response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances snapshots get forbidden response +func (o *PcloudCloudinstancesSnapshotsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesSnapshotsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetNotFound creates a PcloudCloudinstancesSnapshotsGetNotFound with default headers values +func NewPcloudCloudinstancesSnapshotsGetNotFound() *PcloudCloudinstancesSnapshotsGetNotFound { + return &PcloudCloudinstancesSnapshotsGetNotFound{} +} + +/* +PcloudCloudinstancesSnapshotsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesSnapshotsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots get not found response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots get not found response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots get not found response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots get not found response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots get not found response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances snapshots get not found response +func (o *PcloudCloudinstancesSnapshotsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesSnapshotsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetInternalServerError creates a PcloudCloudinstancesSnapshotsGetInternalServerError with default headers values +func NewPcloudCloudinstancesSnapshotsGetInternalServerError() *PcloudCloudinstancesSnapshotsGetInternalServerError { + return &PcloudCloudinstancesSnapshotsGetInternalServerError{} +} + +/* +PcloudCloudinstancesSnapshotsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesSnapshotsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots get internal server error response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots get internal server error response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots get internal server error response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances snapshots get internal server error response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances snapshots get internal server error response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances snapshots get internal server error response +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_getall_parameters.go new file mode 100644 index 000000000..dcb111dc0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesSnapshotsGetallParams creates a new PcloudCloudinstancesSnapshotsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesSnapshotsGetallParams() *PcloudCloudinstancesSnapshotsGetallParams { + return &PcloudCloudinstancesSnapshotsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesSnapshotsGetallParamsWithTimeout creates a new PcloudCloudinstancesSnapshotsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesSnapshotsGetallParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesSnapshotsGetallParams { + return &PcloudCloudinstancesSnapshotsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesSnapshotsGetallParamsWithContext creates a new PcloudCloudinstancesSnapshotsGetallParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesSnapshotsGetallParamsWithContext(ctx context.Context) *PcloudCloudinstancesSnapshotsGetallParams { + return &PcloudCloudinstancesSnapshotsGetallParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesSnapshotsGetallParamsWithHTTPClient creates a new PcloudCloudinstancesSnapshotsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesSnapshotsGetallParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesSnapshotsGetallParams { + return &PcloudCloudinstancesSnapshotsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesSnapshotsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances snapshots getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesSnapshotsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances snapshots getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSnapshotsGetallParams) WithDefaults() *PcloudCloudinstancesSnapshotsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances snapshots getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSnapshotsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances snapshots getall params +func (o *PcloudCloudinstancesSnapshotsGetallParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesSnapshotsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances snapshots getall params +func (o *PcloudCloudinstancesSnapshotsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances snapshots getall params +func (o *PcloudCloudinstancesSnapshotsGetallParams) WithContext(ctx context.Context) *PcloudCloudinstancesSnapshotsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances snapshots getall params +func (o *PcloudCloudinstancesSnapshotsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances snapshots getall params +func (o *PcloudCloudinstancesSnapshotsGetallParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesSnapshotsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances snapshots getall params +func (o *PcloudCloudinstancesSnapshotsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances snapshots getall params +func (o *PcloudCloudinstancesSnapshotsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesSnapshotsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances snapshots getall params +func (o *PcloudCloudinstancesSnapshotsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesSnapshotsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_getall_responses.go new file mode 100644 index 000000000..6174ccec4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesSnapshotsGetallReader is a Reader for the PcloudCloudinstancesSnapshotsGetall structure. +type PcloudCloudinstancesSnapshotsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesSnapshotsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesSnapshotsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesSnapshotsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesSnapshotsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesSnapshotsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesSnapshotsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesSnapshotsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots] pcloud.cloudinstances.snapshots.getall", response, response.Code()) + } +} + +// NewPcloudCloudinstancesSnapshotsGetallOK creates a PcloudCloudinstancesSnapshotsGetallOK with default headers values +func NewPcloudCloudinstancesSnapshotsGetallOK() *PcloudCloudinstancesSnapshotsGetallOK { + return &PcloudCloudinstancesSnapshotsGetallOK{} +} + +/* +PcloudCloudinstancesSnapshotsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesSnapshotsGetallOK struct { + Payload *models.Snapshots +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots getall o k response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots getall o k response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots getall o k response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances snapshots getall o k response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots getall o k response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances snapshots getall o k response +func (o *PcloudCloudinstancesSnapshotsGetallOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesSnapshotsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallOK) GetPayload() *models.Snapshots { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Snapshots) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetallBadRequest creates a PcloudCloudinstancesSnapshotsGetallBadRequest with default headers values +func NewPcloudCloudinstancesSnapshotsGetallBadRequest() *PcloudCloudinstancesSnapshotsGetallBadRequest { + return &PcloudCloudinstancesSnapshotsGetallBadRequest{} +} + +/* +PcloudCloudinstancesSnapshotsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesSnapshotsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots getall bad request response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots getall bad request response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots getall bad request response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots getall bad request response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots getall bad request response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances snapshots getall bad request response +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetallUnauthorized creates a PcloudCloudinstancesSnapshotsGetallUnauthorized with default headers values +func NewPcloudCloudinstancesSnapshotsGetallUnauthorized() *PcloudCloudinstancesSnapshotsGetallUnauthorized { + return &PcloudCloudinstancesSnapshotsGetallUnauthorized{} +} + +/* +PcloudCloudinstancesSnapshotsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesSnapshotsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots getall unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots getall unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots getall unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots getall unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots getall unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances snapshots getall unauthorized response +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetallForbidden creates a PcloudCloudinstancesSnapshotsGetallForbidden with default headers values +func NewPcloudCloudinstancesSnapshotsGetallForbidden() *PcloudCloudinstancesSnapshotsGetallForbidden { + return &PcloudCloudinstancesSnapshotsGetallForbidden{} +} + +/* +PcloudCloudinstancesSnapshotsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesSnapshotsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots getall forbidden response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots getall forbidden response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots getall forbidden response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots getall forbidden response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots getall forbidden response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances snapshots getall forbidden response +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetallNotFound creates a PcloudCloudinstancesSnapshotsGetallNotFound with default headers values +func NewPcloudCloudinstancesSnapshotsGetallNotFound() *PcloudCloudinstancesSnapshotsGetallNotFound { + return &PcloudCloudinstancesSnapshotsGetallNotFound{} +} + +/* +PcloudCloudinstancesSnapshotsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesSnapshotsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots getall not found response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots getall not found response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots getall not found response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots getall not found response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots getall not found response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances snapshots getall not found response +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsGetallInternalServerError creates a PcloudCloudinstancesSnapshotsGetallInternalServerError with default headers values +func NewPcloudCloudinstancesSnapshotsGetallInternalServerError() *PcloudCloudinstancesSnapshotsGetallInternalServerError { + return &PcloudCloudinstancesSnapshotsGetallInternalServerError{} +} + +/* +PcloudCloudinstancesSnapshotsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesSnapshotsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots getall internal server error response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots getall internal server error response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots getall internal server error response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances snapshots getall internal server error response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances snapshots getall internal server error response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances snapshots getall internal server error response +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots][%d] pcloudCloudinstancesSnapshotsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_put_parameters.go new file mode 100644 index 000000000..8692b1103 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudinstancesSnapshotsPutParams creates a new PcloudCloudinstancesSnapshotsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesSnapshotsPutParams() *PcloudCloudinstancesSnapshotsPutParams { + return &PcloudCloudinstancesSnapshotsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesSnapshotsPutParamsWithTimeout creates a new PcloudCloudinstancesSnapshotsPutParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesSnapshotsPutParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesSnapshotsPutParams { + return &PcloudCloudinstancesSnapshotsPutParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesSnapshotsPutParamsWithContext creates a new PcloudCloudinstancesSnapshotsPutParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesSnapshotsPutParamsWithContext(ctx context.Context) *PcloudCloudinstancesSnapshotsPutParams { + return &PcloudCloudinstancesSnapshotsPutParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesSnapshotsPutParamsWithHTTPClient creates a new PcloudCloudinstancesSnapshotsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesSnapshotsPutParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesSnapshotsPutParams { + return &PcloudCloudinstancesSnapshotsPutParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesSnapshotsPutParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances snapshots put operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesSnapshotsPutParams struct { + + /* Body. + + Parameters for the update of a PVM instance snapshot + */ + Body *models.SnapshotUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* SnapshotID. + + PVM Instance snapshot id + */ + SnapshotID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances snapshots put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSnapshotsPutParams) WithDefaults() *PcloudCloudinstancesSnapshotsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances snapshots put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesSnapshotsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesSnapshotsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) WithContext(ctx context.Context) *PcloudCloudinstancesSnapshotsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesSnapshotsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) WithBody(body *models.SnapshotUpdate) *PcloudCloudinstancesSnapshotsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) SetBody(body *models.SnapshotUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesSnapshotsPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithSnapshotID adds the snapshotID to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) WithSnapshotID(snapshotID string) *PcloudCloudinstancesSnapshotsPutParams { + o.SetSnapshotID(snapshotID) + return o +} + +// SetSnapshotID adds the snapshotId to the pcloud cloudinstances snapshots put params +func (o *PcloudCloudinstancesSnapshotsPutParams) SetSnapshotID(snapshotID string) { + o.SnapshotID = snapshotID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesSnapshotsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param snapshot_id + if err := r.SetPathParam("snapshot_id", o.SnapshotID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_put_responses.go new file mode 100644 index 000000000..a49c092f7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots/pcloud_cloudinstances_snapshots_put_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesSnapshotsPutReader is a Reader for the PcloudCloudinstancesSnapshotsPut structure. +type PcloudCloudinstancesSnapshotsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesSnapshotsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesSnapshotsPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesSnapshotsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesSnapshotsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesSnapshotsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesSnapshotsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesSnapshotsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}] pcloud.cloudinstances.snapshots.put", response, response.Code()) + } +} + +// NewPcloudCloudinstancesSnapshotsPutOK creates a PcloudCloudinstancesSnapshotsPutOK with default headers values +func NewPcloudCloudinstancesSnapshotsPutOK() *PcloudCloudinstancesSnapshotsPutOK { + return &PcloudCloudinstancesSnapshotsPutOK{} +} + +/* +PcloudCloudinstancesSnapshotsPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesSnapshotsPutOK struct { + Payload *models.Snapshot +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots put o k response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots put o k response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots put o k response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances snapshots put o k response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots put o k response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances snapshots put o k response +func (o *PcloudCloudinstancesSnapshotsPutOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesSnapshotsPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutOK) GetPayload() *models.Snapshot { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Snapshot) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsPutBadRequest creates a PcloudCloudinstancesSnapshotsPutBadRequest with default headers values +func NewPcloudCloudinstancesSnapshotsPutBadRequest() *PcloudCloudinstancesSnapshotsPutBadRequest { + return &PcloudCloudinstancesSnapshotsPutBadRequest{} +} + +/* +PcloudCloudinstancesSnapshotsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesSnapshotsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots put bad request response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots put bad request response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots put bad request response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots put bad request response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots put bad request response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances snapshots put bad request response +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsPutUnauthorized creates a PcloudCloudinstancesSnapshotsPutUnauthorized with default headers values +func NewPcloudCloudinstancesSnapshotsPutUnauthorized() *PcloudCloudinstancesSnapshotsPutUnauthorized { + return &PcloudCloudinstancesSnapshotsPutUnauthorized{} +} + +/* +PcloudCloudinstancesSnapshotsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesSnapshotsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots put unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots put unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots put unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots put unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots put unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances snapshots put unauthorized response +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsPutForbidden creates a PcloudCloudinstancesSnapshotsPutForbidden with default headers values +func NewPcloudCloudinstancesSnapshotsPutForbidden() *PcloudCloudinstancesSnapshotsPutForbidden { + return &PcloudCloudinstancesSnapshotsPutForbidden{} +} + +/* +PcloudCloudinstancesSnapshotsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesSnapshotsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots put forbidden response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots put forbidden response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots put forbidden response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots put forbidden response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots put forbidden response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances snapshots put forbidden response +func (o *PcloudCloudinstancesSnapshotsPutForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesSnapshotsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsPutNotFound creates a PcloudCloudinstancesSnapshotsPutNotFound with default headers values +func NewPcloudCloudinstancesSnapshotsPutNotFound() *PcloudCloudinstancesSnapshotsPutNotFound { + return &PcloudCloudinstancesSnapshotsPutNotFound{} +} + +/* +PcloudCloudinstancesSnapshotsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesSnapshotsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots put not found response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots put not found response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots put not found response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances snapshots put not found response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances snapshots put not found response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances snapshots put not found response +func (o *PcloudCloudinstancesSnapshotsPutNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesSnapshotsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesSnapshotsPutInternalServerError creates a PcloudCloudinstancesSnapshotsPutInternalServerError with default headers values +func NewPcloudCloudinstancesSnapshotsPutInternalServerError() *PcloudCloudinstancesSnapshotsPutInternalServerError { + return &PcloudCloudinstancesSnapshotsPutInternalServerError{} +} + +/* +PcloudCloudinstancesSnapshotsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesSnapshotsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances snapshots put internal server error response has a 2xx status code +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances snapshots put internal server error response has a 3xx status code +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances snapshots put internal server error response has a 4xx status code +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances snapshots put internal server error response has a 5xx status code +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances snapshots put internal server error response a status code equal to that given +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances snapshots put internal server error response +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/snapshots/{snapshot_id}][%d] pcloudCloudinstancesSnapshotsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesSnapshotsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/p_cloud_storage_capacity_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/p_cloud_storage_capacity_client.go new file mode 100644 index 000000000..32f896767 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/p_cloud_storage_capacity_client.go @@ -0,0 +1,249 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud storage capacity API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud storage capacity API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud storage capacity API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud storage capacity API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudStoragecapacityPoolsGet(params *PcloudStoragecapacityPoolsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudStoragecapacityPoolsGetOK, error) + + PcloudStoragecapacityPoolsGetall(params *PcloudStoragecapacityPoolsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudStoragecapacityPoolsGetallOK, error) + + PcloudStoragecapacityTypesGet(params *PcloudStoragecapacityTypesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudStoragecapacityTypesGetOK, error) + + PcloudStoragecapacityTypesGetall(params *PcloudStoragecapacityTypesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudStoragecapacityTypesGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudStoragecapacityPoolsGet storages capacity for a storage pool in a region +*/ +func (a *Client) PcloudStoragecapacityPoolsGet(params *PcloudStoragecapacityPoolsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudStoragecapacityPoolsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudStoragecapacityPoolsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.storagecapacity.pools.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudStoragecapacityPoolsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudStoragecapacityPoolsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.storagecapacity.pools.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudStoragecapacityPoolsGetall storages capacity for all available storage pools in a region +*/ +func (a *Client) PcloudStoragecapacityPoolsGetall(params *PcloudStoragecapacityPoolsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudStoragecapacityPoolsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudStoragecapacityPoolsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.storagecapacity.pools.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudStoragecapacityPoolsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudStoragecapacityPoolsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.storagecapacity.pools.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudStoragecapacityTypesGet storages capacity for a storage type in a region +*/ +func (a *Client) PcloudStoragecapacityTypesGet(params *PcloudStoragecapacityTypesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudStoragecapacityTypesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudStoragecapacityTypesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.storagecapacity.types.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudStoragecapacityTypesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudStoragecapacityTypesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.storagecapacity.types.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudStoragecapacityTypesGetall storages capacity for all available storage types in a region +*/ +func (a *Client) PcloudStoragecapacityTypesGetall(params *PcloudStoragecapacityTypesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudStoragecapacityTypesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudStoragecapacityTypesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.storagecapacity.types.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudStoragecapacityTypesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudStoragecapacityTypesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.storagecapacity.types.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_get_parameters.go new file mode 100644 index 000000000..685a5b57f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudStoragecapacityPoolsGetParams creates a new PcloudStoragecapacityPoolsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudStoragecapacityPoolsGetParams() *PcloudStoragecapacityPoolsGetParams { + return &PcloudStoragecapacityPoolsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudStoragecapacityPoolsGetParamsWithTimeout creates a new PcloudStoragecapacityPoolsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudStoragecapacityPoolsGetParamsWithTimeout(timeout time.Duration) *PcloudStoragecapacityPoolsGetParams { + return &PcloudStoragecapacityPoolsGetParams{ + timeout: timeout, + } +} + +// NewPcloudStoragecapacityPoolsGetParamsWithContext creates a new PcloudStoragecapacityPoolsGetParams object +// with the ability to set a context for a request. +func NewPcloudStoragecapacityPoolsGetParamsWithContext(ctx context.Context) *PcloudStoragecapacityPoolsGetParams { + return &PcloudStoragecapacityPoolsGetParams{ + Context: ctx, + } +} + +// NewPcloudStoragecapacityPoolsGetParamsWithHTTPClient creates a new PcloudStoragecapacityPoolsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudStoragecapacityPoolsGetParamsWithHTTPClient(client *http.Client) *PcloudStoragecapacityPoolsGetParams { + return &PcloudStoragecapacityPoolsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudStoragecapacityPoolsGetParams contains all the parameters to send to the API endpoint + + for the pcloud storagecapacity pools get operation. + + Typically these are written to a http.Request. +*/ +type PcloudStoragecapacityPoolsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* StoragePoolName. + + Storage pool name + */ + StoragePoolName string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud storagecapacity pools get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudStoragecapacityPoolsGetParams) WithDefaults() *PcloudStoragecapacityPoolsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud storagecapacity pools get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudStoragecapacityPoolsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) WithTimeout(timeout time.Duration) *PcloudStoragecapacityPoolsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) WithContext(ctx context.Context) *PcloudStoragecapacityPoolsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) WithHTTPClient(client *http.Client) *PcloudStoragecapacityPoolsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudStoragecapacityPoolsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithStoragePoolName adds the storagePoolName to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) WithStoragePoolName(storagePoolName string) *PcloudStoragecapacityPoolsGetParams { + o.SetStoragePoolName(storagePoolName) + return o +} + +// SetStoragePoolName adds the storagePoolName to the pcloud storagecapacity pools get params +func (o *PcloudStoragecapacityPoolsGetParams) SetStoragePoolName(storagePoolName string) { + o.StoragePoolName = storagePoolName +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudStoragecapacityPoolsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param storage_pool_name + if err := r.SetPathParam("storage_pool_name", o.StoragePoolName); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_get_responses.go new file mode 100644 index 000000000..57d8b9657 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudStoragecapacityPoolsGetReader is a Reader for the PcloudStoragecapacityPoolsGet structure. +type PcloudStoragecapacityPoolsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudStoragecapacityPoolsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudStoragecapacityPoolsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudStoragecapacityPoolsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudStoragecapacityPoolsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudStoragecapacityPoolsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudStoragecapacityPoolsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudStoragecapacityPoolsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}] pcloud.storagecapacity.pools.get", response, response.Code()) + } +} + +// NewPcloudStoragecapacityPoolsGetOK creates a PcloudStoragecapacityPoolsGetOK with default headers values +func NewPcloudStoragecapacityPoolsGetOK() *PcloudStoragecapacityPoolsGetOK { + return &PcloudStoragecapacityPoolsGetOK{} +} + +/* +PcloudStoragecapacityPoolsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudStoragecapacityPoolsGetOK struct { + Payload *models.StoragePoolCapacity +} + +// IsSuccess returns true when this pcloud storagecapacity pools get o k response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud storagecapacity pools get o k response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools get o k response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud storagecapacity pools get o k response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools get o k response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud storagecapacity pools get o k response +func (o *PcloudStoragecapacityPoolsGetOK) Code() int { + return 200 +} + +func (o *PcloudStoragecapacityPoolsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetOK %s", 200, payload) +} + +func (o *PcloudStoragecapacityPoolsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetOK %s", 200, payload) +} + +func (o *PcloudStoragecapacityPoolsGetOK) GetPayload() *models.StoragePoolCapacity { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.StoragePoolCapacity) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetBadRequest creates a PcloudStoragecapacityPoolsGetBadRequest with default headers values +func NewPcloudStoragecapacityPoolsGetBadRequest() *PcloudStoragecapacityPoolsGetBadRequest { + return &PcloudStoragecapacityPoolsGetBadRequest{} +} + +/* +PcloudStoragecapacityPoolsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudStoragecapacityPoolsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools get bad request response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools get bad request response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools get bad request response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity pools get bad request response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools get bad request response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud storagecapacity pools get bad request response +func (o *PcloudStoragecapacityPoolsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudStoragecapacityPoolsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetBadRequest %s", 400, payload) +} + +func (o *PcloudStoragecapacityPoolsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetBadRequest %s", 400, payload) +} + +func (o *PcloudStoragecapacityPoolsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetUnauthorized creates a PcloudStoragecapacityPoolsGetUnauthorized with default headers values +func NewPcloudStoragecapacityPoolsGetUnauthorized() *PcloudStoragecapacityPoolsGetUnauthorized { + return &PcloudStoragecapacityPoolsGetUnauthorized{} +} + +/* +PcloudStoragecapacityPoolsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudStoragecapacityPoolsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools get unauthorized response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools get unauthorized response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools get unauthorized response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity pools get unauthorized response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools get unauthorized response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud storagecapacity pools get unauthorized response +func (o *PcloudStoragecapacityPoolsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudStoragecapacityPoolsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudStoragecapacityPoolsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudStoragecapacityPoolsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetForbidden creates a PcloudStoragecapacityPoolsGetForbidden with default headers values +func NewPcloudStoragecapacityPoolsGetForbidden() *PcloudStoragecapacityPoolsGetForbidden { + return &PcloudStoragecapacityPoolsGetForbidden{} +} + +/* +PcloudStoragecapacityPoolsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudStoragecapacityPoolsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools get forbidden response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools get forbidden response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools get forbidden response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity pools get forbidden response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools get forbidden response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud storagecapacity pools get forbidden response +func (o *PcloudStoragecapacityPoolsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudStoragecapacityPoolsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetForbidden %s", 403, payload) +} + +func (o *PcloudStoragecapacityPoolsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetForbidden %s", 403, payload) +} + +func (o *PcloudStoragecapacityPoolsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetNotFound creates a PcloudStoragecapacityPoolsGetNotFound with default headers values +func NewPcloudStoragecapacityPoolsGetNotFound() *PcloudStoragecapacityPoolsGetNotFound { + return &PcloudStoragecapacityPoolsGetNotFound{} +} + +/* +PcloudStoragecapacityPoolsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudStoragecapacityPoolsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools get not found response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools get not found response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools get not found response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity pools get not found response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools get not found response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud storagecapacity pools get not found response +func (o *PcloudStoragecapacityPoolsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudStoragecapacityPoolsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetNotFound %s", 404, payload) +} + +func (o *PcloudStoragecapacityPoolsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetNotFound %s", 404, payload) +} + +func (o *PcloudStoragecapacityPoolsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetInternalServerError creates a PcloudStoragecapacityPoolsGetInternalServerError with default headers values +func NewPcloudStoragecapacityPoolsGetInternalServerError() *PcloudStoragecapacityPoolsGetInternalServerError { + return &PcloudStoragecapacityPoolsGetInternalServerError{} +} + +/* +PcloudStoragecapacityPoolsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudStoragecapacityPoolsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools get internal server error response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools get internal server error response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools get internal server error response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud storagecapacity pools get internal server error response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud storagecapacity pools get internal server error response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud storagecapacity pools get internal server error response +func (o *PcloudStoragecapacityPoolsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudStoragecapacityPoolsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudStoragecapacityPoolsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools/{storage_pool_name}][%d] pcloudStoragecapacityPoolsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudStoragecapacityPoolsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_getall_parameters.go new file mode 100644 index 000000000..4b3075cde --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudStoragecapacityPoolsGetallParams creates a new PcloudStoragecapacityPoolsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudStoragecapacityPoolsGetallParams() *PcloudStoragecapacityPoolsGetallParams { + return &PcloudStoragecapacityPoolsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudStoragecapacityPoolsGetallParamsWithTimeout creates a new PcloudStoragecapacityPoolsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudStoragecapacityPoolsGetallParamsWithTimeout(timeout time.Duration) *PcloudStoragecapacityPoolsGetallParams { + return &PcloudStoragecapacityPoolsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudStoragecapacityPoolsGetallParamsWithContext creates a new PcloudStoragecapacityPoolsGetallParams object +// with the ability to set a context for a request. +func NewPcloudStoragecapacityPoolsGetallParamsWithContext(ctx context.Context) *PcloudStoragecapacityPoolsGetallParams { + return &PcloudStoragecapacityPoolsGetallParams{ + Context: ctx, + } +} + +// NewPcloudStoragecapacityPoolsGetallParamsWithHTTPClient creates a new PcloudStoragecapacityPoolsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudStoragecapacityPoolsGetallParamsWithHTTPClient(client *http.Client) *PcloudStoragecapacityPoolsGetallParams { + return &PcloudStoragecapacityPoolsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudStoragecapacityPoolsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud storagecapacity pools getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudStoragecapacityPoolsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud storagecapacity pools getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudStoragecapacityPoolsGetallParams) WithDefaults() *PcloudStoragecapacityPoolsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud storagecapacity pools getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudStoragecapacityPoolsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud storagecapacity pools getall params +func (o *PcloudStoragecapacityPoolsGetallParams) WithTimeout(timeout time.Duration) *PcloudStoragecapacityPoolsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud storagecapacity pools getall params +func (o *PcloudStoragecapacityPoolsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud storagecapacity pools getall params +func (o *PcloudStoragecapacityPoolsGetallParams) WithContext(ctx context.Context) *PcloudStoragecapacityPoolsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud storagecapacity pools getall params +func (o *PcloudStoragecapacityPoolsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud storagecapacity pools getall params +func (o *PcloudStoragecapacityPoolsGetallParams) WithHTTPClient(client *http.Client) *PcloudStoragecapacityPoolsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud storagecapacity pools getall params +func (o *PcloudStoragecapacityPoolsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud storagecapacity pools getall params +func (o *PcloudStoragecapacityPoolsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudStoragecapacityPoolsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud storagecapacity pools getall params +func (o *PcloudStoragecapacityPoolsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudStoragecapacityPoolsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_getall_responses.go new file mode 100644 index 000000000..c0f201416 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_pools_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudStoragecapacityPoolsGetallReader is a Reader for the PcloudStoragecapacityPoolsGetall structure. +type PcloudStoragecapacityPoolsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudStoragecapacityPoolsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudStoragecapacityPoolsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudStoragecapacityPoolsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudStoragecapacityPoolsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudStoragecapacityPoolsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudStoragecapacityPoolsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudStoragecapacityPoolsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools] pcloud.storagecapacity.pools.getall", response, response.Code()) + } +} + +// NewPcloudStoragecapacityPoolsGetallOK creates a PcloudStoragecapacityPoolsGetallOK with default headers values +func NewPcloudStoragecapacityPoolsGetallOK() *PcloudStoragecapacityPoolsGetallOK { + return &PcloudStoragecapacityPoolsGetallOK{} +} + +/* +PcloudStoragecapacityPoolsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudStoragecapacityPoolsGetallOK struct { + Payload *models.StoragePoolsCapacity +} + +// IsSuccess returns true when this pcloud storagecapacity pools getall o k response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud storagecapacity pools getall o k response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools getall o k response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud storagecapacity pools getall o k response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools getall o k response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud storagecapacity pools getall o k response +func (o *PcloudStoragecapacityPoolsGetallOK) Code() int { + return 200 +} + +func (o *PcloudStoragecapacityPoolsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallOK %s", 200, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallOK %s", 200, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallOK) GetPayload() *models.StoragePoolsCapacity { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.StoragePoolsCapacity) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetallBadRequest creates a PcloudStoragecapacityPoolsGetallBadRequest with default headers values +func NewPcloudStoragecapacityPoolsGetallBadRequest() *PcloudStoragecapacityPoolsGetallBadRequest { + return &PcloudStoragecapacityPoolsGetallBadRequest{} +} + +/* +PcloudStoragecapacityPoolsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudStoragecapacityPoolsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools getall bad request response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools getall bad request response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools getall bad request response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity pools getall bad request response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools getall bad request response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud storagecapacity pools getall bad request response +func (o *PcloudStoragecapacityPoolsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudStoragecapacityPoolsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetallUnauthorized creates a PcloudStoragecapacityPoolsGetallUnauthorized with default headers values +func NewPcloudStoragecapacityPoolsGetallUnauthorized() *PcloudStoragecapacityPoolsGetallUnauthorized { + return &PcloudStoragecapacityPoolsGetallUnauthorized{} +} + +/* +PcloudStoragecapacityPoolsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudStoragecapacityPoolsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools getall unauthorized response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools getall unauthorized response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools getall unauthorized response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity pools getall unauthorized response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools getall unauthorized response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud storagecapacity pools getall unauthorized response +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetallForbidden creates a PcloudStoragecapacityPoolsGetallForbidden with default headers values +func NewPcloudStoragecapacityPoolsGetallForbidden() *PcloudStoragecapacityPoolsGetallForbidden { + return &PcloudStoragecapacityPoolsGetallForbidden{} +} + +/* +PcloudStoragecapacityPoolsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudStoragecapacityPoolsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools getall forbidden response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools getall forbidden response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools getall forbidden response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity pools getall forbidden response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools getall forbidden response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud storagecapacity pools getall forbidden response +func (o *PcloudStoragecapacityPoolsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudStoragecapacityPoolsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallForbidden %s", 403, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallForbidden %s", 403, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetallNotFound creates a PcloudStoragecapacityPoolsGetallNotFound with default headers values +func NewPcloudStoragecapacityPoolsGetallNotFound() *PcloudStoragecapacityPoolsGetallNotFound { + return &PcloudStoragecapacityPoolsGetallNotFound{} +} + +/* +PcloudStoragecapacityPoolsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudStoragecapacityPoolsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools getall not found response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools getall not found response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools getall not found response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity pools getall not found response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity pools getall not found response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud storagecapacity pools getall not found response +func (o *PcloudStoragecapacityPoolsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudStoragecapacityPoolsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallNotFound %s", 404, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallNotFound %s", 404, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityPoolsGetallInternalServerError creates a PcloudStoragecapacityPoolsGetallInternalServerError with default headers values +func NewPcloudStoragecapacityPoolsGetallInternalServerError() *PcloudStoragecapacityPoolsGetallInternalServerError { + return &PcloudStoragecapacityPoolsGetallInternalServerError{} +} + +/* +PcloudStoragecapacityPoolsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudStoragecapacityPoolsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity pools getall internal server error response has a 2xx status code +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity pools getall internal server error response has a 3xx status code +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity pools getall internal server error response has a 4xx status code +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud storagecapacity pools getall internal server error response has a 5xx status code +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud storagecapacity pools getall internal server error response a status code equal to that given +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud storagecapacity pools getall internal server error response +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-pools][%d] pcloudStoragecapacityPoolsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityPoolsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_get_parameters.go new file mode 100644 index 000000000..a39e232a3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudStoragecapacityTypesGetParams creates a new PcloudStoragecapacityTypesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudStoragecapacityTypesGetParams() *PcloudStoragecapacityTypesGetParams { + return &PcloudStoragecapacityTypesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudStoragecapacityTypesGetParamsWithTimeout creates a new PcloudStoragecapacityTypesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudStoragecapacityTypesGetParamsWithTimeout(timeout time.Duration) *PcloudStoragecapacityTypesGetParams { + return &PcloudStoragecapacityTypesGetParams{ + timeout: timeout, + } +} + +// NewPcloudStoragecapacityTypesGetParamsWithContext creates a new PcloudStoragecapacityTypesGetParams object +// with the ability to set a context for a request. +func NewPcloudStoragecapacityTypesGetParamsWithContext(ctx context.Context) *PcloudStoragecapacityTypesGetParams { + return &PcloudStoragecapacityTypesGetParams{ + Context: ctx, + } +} + +// NewPcloudStoragecapacityTypesGetParamsWithHTTPClient creates a new PcloudStoragecapacityTypesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudStoragecapacityTypesGetParamsWithHTTPClient(client *http.Client) *PcloudStoragecapacityTypesGetParams { + return &PcloudStoragecapacityTypesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudStoragecapacityTypesGetParams contains all the parameters to send to the API endpoint + + for the pcloud storagecapacity types get operation. + + Typically these are written to a http.Request. +*/ +type PcloudStoragecapacityTypesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* StorageTypeName. + + Storage type name + */ + StorageTypeName string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud storagecapacity types get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudStoragecapacityTypesGetParams) WithDefaults() *PcloudStoragecapacityTypesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud storagecapacity types get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudStoragecapacityTypesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) WithTimeout(timeout time.Duration) *PcloudStoragecapacityTypesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) WithContext(ctx context.Context) *PcloudStoragecapacityTypesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) WithHTTPClient(client *http.Client) *PcloudStoragecapacityTypesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudStoragecapacityTypesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithStorageTypeName adds the storageTypeName to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) WithStorageTypeName(storageTypeName string) *PcloudStoragecapacityTypesGetParams { + o.SetStorageTypeName(storageTypeName) + return o +} + +// SetStorageTypeName adds the storageTypeName to the pcloud storagecapacity types get params +func (o *PcloudStoragecapacityTypesGetParams) SetStorageTypeName(storageTypeName string) { + o.StorageTypeName = storageTypeName +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudStoragecapacityTypesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param storage_type_name + if err := r.SetPathParam("storage_type_name", o.StorageTypeName); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_get_responses.go new file mode 100644 index 000000000..d3d8ef664 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudStoragecapacityTypesGetReader is a Reader for the PcloudStoragecapacityTypesGet structure. +type PcloudStoragecapacityTypesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudStoragecapacityTypesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudStoragecapacityTypesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudStoragecapacityTypesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudStoragecapacityTypesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudStoragecapacityTypesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudStoragecapacityTypesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudStoragecapacityTypesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}] pcloud.storagecapacity.types.get", response, response.Code()) + } +} + +// NewPcloudStoragecapacityTypesGetOK creates a PcloudStoragecapacityTypesGetOK with default headers values +func NewPcloudStoragecapacityTypesGetOK() *PcloudStoragecapacityTypesGetOK { + return &PcloudStoragecapacityTypesGetOK{} +} + +/* +PcloudStoragecapacityTypesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudStoragecapacityTypesGetOK struct { + Payload *models.StorageTypeCapacity +} + +// IsSuccess returns true when this pcloud storagecapacity types get o k response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud storagecapacity types get o k response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types get o k response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud storagecapacity types get o k response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types get o k response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud storagecapacity types get o k response +func (o *PcloudStoragecapacityTypesGetOK) Code() int { + return 200 +} + +func (o *PcloudStoragecapacityTypesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetOK %s", 200, payload) +} + +func (o *PcloudStoragecapacityTypesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetOK %s", 200, payload) +} + +func (o *PcloudStoragecapacityTypesGetOK) GetPayload() *models.StorageTypeCapacity { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.StorageTypeCapacity) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetBadRequest creates a PcloudStoragecapacityTypesGetBadRequest with default headers values +func NewPcloudStoragecapacityTypesGetBadRequest() *PcloudStoragecapacityTypesGetBadRequest { + return &PcloudStoragecapacityTypesGetBadRequest{} +} + +/* +PcloudStoragecapacityTypesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudStoragecapacityTypesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types get bad request response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types get bad request response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types get bad request response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity types get bad request response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types get bad request response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud storagecapacity types get bad request response +func (o *PcloudStoragecapacityTypesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudStoragecapacityTypesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetBadRequest %s", 400, payload) +} + +func (o *PcloudStoragecapacityTypesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetBadRequest %s", 400, payload) +} + +func (o *PcloudStoragecapacityTypesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetUnauthorized creates a PcloudStoragecapacityTypesGetUnauthorized with default headers values +func NewPcloudStoragecapacityTypesGetUnauthorized() *PcloudStoragecapacityTypesGetUnauthorized { + return &PcloudStoragecapacityTypesGetUnauthorized{} +} + +/* +PcloudStoragecapacityTypesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudStoragecapacityTypesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types get unauthorized response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types get unauthorized response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types get unauthorized response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity types get unauthorized response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types get unauthorized response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud storagecapacity types get unauthorized response +func (o *PcloudStoragecapacityTypesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudStoragecapacityTypesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudStoragecapacityTypesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudStoragecapacityTypesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetForbidden creates a PcloudStoragecapacityTypesGetForbidden with default headers values +func NewPcloudStoragecapacityTypesGetForbidden() *PcloudStoragecapacityTypesGetForbidden { + return &PcloudStoragecapacityTypesGetForbidden{} +} + +/* +PcloudStoragecapacityTypesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudStoragecapacityTypesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types get forbidden response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types get forbidden response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types get forbidden response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity types get forbidden response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types get forbidden response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud storagecapacity types get forbidden response +func (o *PcloudStoragecapacityTypesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudStoragecapacityTypesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetForbidden %s", 403, payload) +} + +func (o *PcloudStoragecapacityTypesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetForbidden %s", 403, payload) +} + +func (o *PcloudStoragecapacityTypesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetNotFound creates a PcloudStoragecapacityTypesGetNotFound with default headers values +func NewPcloudStoragecapacityTypesGetNotFound() *PcloudStoragecapacityTypesGetNotFound { + return &PcloudStoragecapacityTypesGetNotFound{} +} + +/* +PcloudStoragecapacityTypesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudStoragecapacityTypesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types get not found response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types get not found response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types get not found response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity types get not found response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types get not found response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud storagecapacity types get not found response +func (o *PcloudStoragecapacityTypesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudStoragecapacityTypesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetNotFound %s", 404, payload) +} + +func (o *PcloudStoragecapacityTypesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetNotFound %s", 404, payload) +} + +func (o *PcloudStoragecapacityTypesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetInternalServerError creates a PcloudStoragecapacityTypesGetInternalServerError with default headers values +func NewPcloudStoragecapacityTypesGetInternalServerError() *PcloudStoragecapacityTypesGetInternalServerError { + return &PcloudStoragecapacityTypesGetInternalServerError{} +} + +/* +PcloudStoragecapacityTypesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudStoragecapacityTypesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types get internal server error response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types get internal server error response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types get internal server error response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud storagecapacity types get internal server error response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud storagecapacity types get internal server error response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud storagecapacity types get internal server error response +func (o *PcloudStoragecapacityTypesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudStoragecapacityTypesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudStoragecapacityTypesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types/{storage_type_name}][%d] pcloudStoragecapacityTypesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudStoragecapacityTypesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_getall_parameters.go new file mode 100644 index 000000000..62a3922f4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudStoragecapacityTypesGetallParams creates a new PcloudStoragecapacityTypesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudStoragecapacityTypesGetallParams() *PcloudStoragecapacityTypesGetallParams { + return &PcloudStoragecapacityTypesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudStoragecapacityTypesGetallParamsWithTimeout creates a new PcloudStoragecapacityTypesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudStoragecapacityTypesGetallParamsWithTimeout(timeout time.Duration) *PcloudStoragecapacityTypesGetallParams { + return &PcloudStoragecapacityTypesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudStoragecapacityTypesGetallParamsWithContext creates a new PcloudStoragecapacityTypesGetallParams object +// with the ability to set a context for a request. +func NewPcloudStoragecapacityTypesGetallParamsWithContext(ctx context.Context) *PcloudStoragecapacityTypesGetallParams { + return &PcloudStoragecapacityTypesGetallParams{ + Context: ctx, + } +} + +// NewPcloudStoragecapacityTypesGetallParamsWithHTTPClient creates a new PcloudStoragecapacityTypesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudStoragecapacityTypesGetallParamsWithHTTPClient(client *http.Client) *PcloudStoragecapacityTypesGetallParams { + return &PcloudStoragecapacityTypesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudStoragecapacityTypesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud storagecapacity types getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudStoragecapacityTypesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud storagecapacity types getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudStoragecapacityTypesGetallParams) WithDefaults() *PcloudStoragecapacityTypesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud storagecapacity types getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudStoragecapacityTypesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud storagecapacity types getall params +func (o *PcloudStoragecapacityTypesGetallParams) WithTimeout(timeout time.Duration) *PcloudStoragecapacityTypesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud storagecapacity types getall params +func (o *PcloudStoragecapacityTypesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud storagecapacity types getall params +func (o *PcloudStoragecapacityTypesGetallParams) WithContext(ctx context.Context) *PcloudStoragecapacityTypesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud storagecapacity types getall params +func (o *PcloudStoragecapacityTypesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud storagecapacity types getall params +func (o *PcloudStoragecapacityTypesGetallParams) WithHTTPClient(client *http.Client) *PcloudStoragecapacityTypesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud storagecapacity types getall params +func (o *PcloudStoragecapacityTypesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud storagecapacity types getall params +func (o *PcloudStoragecapacityTypesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudStoragecapacityTypesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud storagecapacity types getall params +func (o *PcloudStoragecapacityTypesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudStoragecapacityTypesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_getall_responses.go new file mode 100644 index 000000000..2771d016f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity/pcloud_storagecapacity_types_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_capacity + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudStoragecapacityTypesGetallReader is a Reader for the PcloudStoragecapacityTypesGetall structure. +type PcloudStoragecapacityTypesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudStoragecapacityTypesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudStoragecapacityTypesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudStoragecapacityTypesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudStoragecapacityTypesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudStoragecapacityTypesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudStoragecapacityTypesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudStoragecapacityTypesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types] pcloud.storagecapacity.types.getall", response, response.Code()) + } +} + +// NewPcloudStoragecapacityTypesGetallOK creates a PcloudStoragecapacityTypesGetallOK with default headers values +func NewPcloudStoragecapacityTypesGetallOK() *PcloudStoragecapacityTypesGetallOK { + return &PcloudStoragecapacityTypesGetallOK{} +} + +/* +PcloudStoragecapacityTypesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudStoragecapacityTypesGetallOK struct { + Payload *models.StorageTypesCapacity +} + +// IsSuccess returns true when this pcloud storagecapacity types getall o k response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud storagecapacity types getall o k response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types getall o k response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud storagecapacity types getall o k response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types getall o k response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud storagecapacity types getall o k response +func (o *PcloudStoragecapacityTypesGetallOK) Code() int { + return 200 +} + +func (o *PcloudStoragecapacityTypesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallOK %s", 200, payload) +} + +func (o *PcloudStoragecapacityTypesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallOK %s", 200, payload) +} + +func (o *PcloudStoragecapacityTypesGetallOK) GetPayload() *models.StorageTypesCapacity { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.StorageTypesCapacity) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetallBadRequest creates a PcloudStoragecapacityTypesGetallBadRequest with default headers values +func NewPcloudStoragecapacityTypesGetallBadRequest() *PcloudStoragecapacityTypesGetallBadRequest { + return &PcloudStoragecapacityTypesGetallBadRequest{} +} + +/* +PcloudStoragecapacityTypesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudStoragecapacityTypesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types getall bad request response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types getall bad request response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types getall bad request response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity types getall bad request response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types getall bad request response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud storagecapacity types getall bad request response +func (o *PcloudStoragecapacityTypesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudStoragecapacityTypesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudStoragecapacityTypesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudStoragecapacityTypesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetallUnauthorized creates a PcloudStoragecapacityTypesGetallUnauthorized with default headers values +func NewPcloudStoragecapacityTypesGetallUnauthorized() *PcloudStoragecapacityTypesGetallUnauthorized { + return &PcloudStoragecapacityTypesGetallUnauthorized{} +} + +/* +PcloudStoragecapacityTypesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudStoragecapacityTypesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types getall unauthorized response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types getall unauthorized response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types getall unauthorized response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity types getall unauthorized response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types getall unauthorized response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud storagecapacity types getall unauthorized response +func (o *PcloudStoragecapacityTypesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudStoragecapacityTypesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudStoragecapacityTypesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudStoragecapacityTypesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetallForbidden creates a PcloudStoragecapacityTypesGetallForbidden with default headers values +func NewPcloudStoragecapacityTypesGetallForbidden() *PcloudStoragecapacityTypesGetallForbidden { + return &PcloudStoragecapacityTypesGetallForbidden{} +} + +/* +PcloudStoragecapacityTypesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudStoragecapacityTypesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types getall forbidden response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types getall forbidden response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types getall forbidden response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity types getall forbidden response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types getall forbidden response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud storagecapacity types getall forbidden response +func (o *PcloudStoragecapacityTypesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudStoragecapacityTypesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallForbidden %s", 403, payload) +} + +func (o *PcloudStoragecapacityTypesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallForbidden %s", 403, payload) +} + +func (o *PcloudStoragecapacityTypesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetallNotFound creates a PcloudStoragecapacityTypesGetallNotFound with default headers values +func NewPcloudStoragecapacityTypesGetallNotFound() *PcloudStoragecapacityTypesGetallNotFound { + return &PcloudStoragecapacityTypesGetallNotFound{} +} + +/* +PcloudStoragecapacityTypesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudStoragecapacityTypesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types getall not found response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types getall not found response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types getall not found response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud storagecapacity types getall not found response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud storagecapacity types getall not found response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud storagecapacity types getall not found response +func (o *PcloudStoragecapacityTypesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudStoragecapacityTypesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallNotFound %s", 404, payload) +} + +func (o *PcloudStoragecapacityTypesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallNotFound %s", 404, payload) +} + +func (o *PcloudStoragecapacityTypesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudStoragecapacityTypesGetallInternalServerError creates a PcloudStoragecapacityTypesGetallInternalServerError with default headers values +func NewPcloudStoragecapacityTypesGetallInternalServerError() *PcloudStoragecapacityTypesGetallInternalServerError { + return &PcloudStoragecapacityTypesGetallInternalServerError{} +} + +/* +PcloudStoragecapacityTypesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudStoragecapacityTypesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud storagecapacity types getall internal server error response has a 2xx status code +func (o *PcloudStoragecapacityTypesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud storagecapacity types getall internal server error response has a 3xx status code +func (o *PcloudStoragecapacityTypesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud storagecapacity types getall internal server error response has a 4xx status code +func (o *PcloudStoragecapacityTypesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud storagecapacity types getall internal server error response has a 5xx status code +func (o *PcloudStoragecapacityTypesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud storagecapacity types getall internal server error response a status code equal to that given +func (o *PcloudStoragecapacityTypesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud storagecapacity types getall internal server error response +func (o *PcloudStoragecapacityTypesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudStoragecapacityTypesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudStoragecapacityTypesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-capacity/storage-types][%d] pcloudStoragecapacityTypesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudStoragecapacityTypesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudStoragecapacityTypesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/p_cloud_storage_tiers_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/p_cloud_storage_tiers_client.go new file mode 100644 index 000000000..2d005b2f1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/p_cloud_storage_tiers_client.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_tiers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud storage tiers API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud storage tiers API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud storage tiers API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud storage tiers API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudCloudinstancesStoragetiersGetall(params *PcloudCloudinstancesStoragetiersGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesStoragetiersGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudCloudinstancesStoragetiersGetall lists all supported storage tiers for this cloud instance +*/ +func (a *Client) PcloudCloudinstancesStoragetiersGetall(params *PcloudCloudinstancesStoragetiersGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesStoragetiersGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesStoragetiersGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.storagetiers.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesStoragetiersGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesStoragetiersGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.storagetiers.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/pcloud_cloudinstances_storagetiers_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/pcloud_cloudinstances_storagetiers_getall_parameters.go new file mode 100644 index 000000000..9dd210611 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/pcloud_cloudinstances_storagetiers_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_tiers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesStoragetiersGetallParams creates a new PcloudCloudinstancesStoragetiersGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesStoragetiersGetallParams() *PcloudCloudinstancesStoragetiersGetallParams { + return &PcloudCloudinstancesStoragetiersGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesStoragetiersGetallParamsWithTimeout creates a new PcloudCloudinstancesStoragetiersGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesStoragetiersGetallParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesStoragetiersGetallParams { + return &PcloudCloudinstancesStoragetiersGetallParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesStoragetiersGetallParamsWithContext creates a new PcloudCloudinstancesStoragetiersGetallParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesStoragetiersGetallParamsWithContext(ctx context.Context) *PcloudCloudinstancesStoragetiersGetallParams { + return &PcloudCloudinstancesStoragetiersGetallParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesStoragetiersGetallParamsWithHTTPClient creates a new PcloudCloudinstancesStoragetiersGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesStoragetiersGetallParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesStoragetiersGetallParams { + return &PcloudCloudinstancesStoragetiersGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesStoragetiersGetallParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances storagetiers getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesStoragetiersGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances storagetiers getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesStoragetiersGetallParams) WithDefaults() *PcloudCloudinstancesStoragetiersGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances storagetiers getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesStoragetiersGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances storagetiers getall params +func (o *PcloudCloudinstancesStoragetiersGetallParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesStoragetiersGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances storagetiers getall params +func (o *PcloudCloudinstancesStoragetiersGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances storagetiers getall params +func (o *PcloudCloudinstancesStoragetiersGetallParams) WithContext(ctx context.Context) *PcloudCloudinstancesStoragetiersGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances storagetiers getall params +func (o *PcloudCloudinstancesStoragetiersGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances storagetiers getall params +func (o *PcloudCloudinstancesStoragetiersGetallParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesStoragetiersGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances storagetiers getall params +func (o *PcloudCloudinstancesStoragetiersGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances storagetiers getall params +func (o *PcloudCloudinstancesStoragetiersGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesStoragetiersGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances storagetiers getall params +func (o *PcloudCloudinstancesStoragetiersGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesStoragetiersGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/pcloud_cloudinstances_storagetiers_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/pcloud_cloudinstances_storagetiers_getall_responses.go new file mode 100644 index 000000000..9306aea70 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers/pcloud_cloudinstances_storagetiers_getall_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_storage_tiers + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesStoragetiersGetallReader is a Reader for the PcloudCloudinstancesStoragetiersGetall structure. +type PcloudCloudinstancesStoragetiersGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesStoragetiersGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesStoragetiersGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesStoragetiersGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesStoragetiersGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesStoragetiersGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesStoragetiersGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesStoragetiersGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers] pcloud.cloudinstances.storagetiers.getall", response, response.Code()) + } +} + +// NewPcloudCloudinstancesStoragetiersGetallOK creates a PcloudCloudinstancesStoragetiersGetallOK with default headers values +func NewPcloudCloudinstancesStoragetiersGetallOK() *PcloudCloudinstancesStoragetiersGetallOK { + return &PcloudCloudinstancesStoragetiersGetallOK{} +} + +/* +PcloudCloudinstancesStoragetiersGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesStoragetiersGetallOK struct { + Payload models.RegionStorageTiers +} + +// IsSuccess returns true when this pcloud cloudinstances storagetiers getall o k response has a 2xx status code +func (o *PcloudCloudinstancesStoragetiersGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances storagetiers getall o k response has a 3xx status code +func (o *PcloudCloudinstancesStoragetiersGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances storagetiers getall o k response has a 4xx status code +func (o *PcloudCloudinstancesStoragetiersGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances storagetiers getall o k response has a 5xx status code +func (o *PcloudCloudinstancesStoragetiersGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances storagetiers getall o k response a status code equal to that given +func (o *PcloudCloudinstancesStoragetiersGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances storagetiers getall o k response +func (o *PcloudCloudinstancesStoragetiersGetallOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesStoragetiersGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallOK) GetPayload() models.RegionStorageTiers { + return o.Payload +} + +func (o *PcloudCloudinstancesStoragetiersGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStoragetiersGetallBadRequest creates a PcloudCloudinstancesStoragetiersGetallBadRequest with default headers values +func NewPcloudCloudinstancesStoragetiersGetallBadRequest() *PcloudCloudinstancesStoragetiersGetallBadRequest { + return &PcloudCloudinstancesStoragetiersGetallBadRequest{} +} + +/* +PcloudCloudinstancesStoragetiersGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesStoragetiersGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances storagetiers getall bad request response has a 2xx status code +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances storagetiers getall bad request response has a 3xx status code +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances storagetiers getall bad request response has a 4xx status code +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances storagetiers getall bad request response has a 5xx status code +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances storagetiers getall bad request response a status code equal to that given +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances storagetiers getall bad request response +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStoragetiersGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStoragetiersGetallUnauthorized creates a PcloudCloudinstancesStoragetiersGetallUnauthorized with default headers values +func NewPcloudCloudinstancesStoragetiersGetallUnauthorized() *PcloudCloudinstancesStoragetiersGetallUnauthorized { + return &PcloudCloudinstancesStoragetiersGetallUnauthorized{} +} + +/* +PcloudCloudinstancesStoragetiersGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesStoragetiersGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances storagetiers getall unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances storagetiers getall unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances storagetiers getall unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances storagetiers getall unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances storagetiers getall unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances storagetiers getall unauthorized response +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStoragetiersGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStoragetiersGetallForbidden creates a PcloudCloudinstancesStoragetiersGetallForbidden with default headers values +func NewPcloudCloudinstancesStoragetiersGetallForbidden() *PcloudCloudinstancesStoragetiersGetallForbidden { + return &PcloudCloudinstancesStoragetiersGetallForbidden{} +} + +/* +PcloudCloudinstancesStoragetiersGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesStoragetiersGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances storagetiers getall forbidden response has a 2xx status code +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances storagetiers getall forbidden response has a 3xx status code +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances storagetiers getall forbidden response has a 4xx status code +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances storagetiers getall forbidden response has a 5xx status code +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances storagetiers getall forbidden response a status code equal to that given +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances storagetiers getall forbidden response +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStoragetiersGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStoragetiersGetallNotFound creates a PcloudCloudinstancesStoragetiersGetallNotFound with default headers values +func NewPcloudCloudinstancesStoragetiersGetallNotFound() *PcloudCloudinstancesStoragetiersGetallNotFound { + return &PcloudCloudinstancesStoragetiersGetallNotFound{} +} + +/* +PcloudCloudinstancesStoragetiersGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesStoragetiersGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances storagetiers getall not found response has a 2xx status code +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances storagetiers getall not found response has a 3xx status code +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances storagetiers getall not found response has a 4xx status code +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances storagetiers getall not found response has a 5xx status code +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances storagetiers getall not found response a status code equal to that given +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances storagetiers getall not found response +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStoragetiersGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesStoragetiersGetallInternalServerError creates a PcloudCloudinstancesStoragetiersGetallInternalServerError with default headers values +func NewPcloudCloudinstancesStoragetiersGetallInternalServerError() *PcloudCloudinstancesStoragetiersGetallInternalServerError { + return &PcloudCloudinstancesStoragetiersGetallInternalServerError{} +} + +/* +PcloudCloudinstancesStoragetiersGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesStoragetiersGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances storagetiers getall internal server error response has a 2xx status code +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances storagetiers getall internal server error response has a 3xx status code +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances storagetiers getall internal server error response has a 4xx status code +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances storagetiers getall internal server error response has a 5xx status code +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances storagetiers getall internal server error response a status code equal to that given +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances storagetiers getall internal server error response +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers][%d] pcloudCloudinstancesStoragetiersGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesStoragetiersGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/p_cloud_system_pools_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/p_cloud_system_pools_client.go new file mode 100644 index 000000000..505090dd8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/p_cloud_system_pools_client.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_system_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud system pools API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud system pools API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud system pools API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud system pools API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudSystempoolsGet(params *PcloudSystempoolsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSystempoolsGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudSystempoolsGet lists of available system pools within a particular data center +*/ +func (a *Client) PcloudSystempoolsGet(params *PcloudSystempoolsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudSystempoolsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudSystempoolsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.systempools.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudSystempoolsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudSystempoolsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.systempools.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/pcloud_systempools_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/pcloud_systempools_get_parameters.go new file mode 100644 index 000000000..136174739 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/pcloud_systempools_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_system_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudSystempoolsGetParams creates a new PcloudSystempoolsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudSystempoolsGetParams() *PcloudSystempoolsGetParams { + return &PcloudSystempoolsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudSystempoolsGetParamsWithTimeout creates a new PcloudSystempoolsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudSystempoolsGetParamsWithTimeout(timeout time.Duration) *PcloudSystempoolsGetParams { + return &PcloudSystempoolsGetParams{ + timeout: timeout, + } +} + +// NewPcloudSystempoolsGetParamsWithContext creates a new PcloudSystempoolsGetParams object +// with the ability to set a context for a request. +func NewPcloudSystempoolsGetParamsWithContext(ctx context.Context) *PcloudSystempoolsGetParams { + return &PcloudSystempoolsGetParams{ + Context: ctx, + } +} + +// NewPcloudSystempoolsGetParamsWithHTTPClient creates a new PcloudSystempoolsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudSystempoolsGetParamsWithHTTPClient(client *http.Client) *PcloudSystempoolsGetParams { + return &PcloudSystempoolsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudSystempoolsGetParams contains all the parameters to send to the API endpoint + + for the pcloud systempools get operation. + + Typically these are written to a http.Request. +*/ +type PcloudSystempoolsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud systempools get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSystempoolsGetParams) WithDefaults() *PcloudSystempoolsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud systempools get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudSystempoolsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud systempools get params +func (o *PcloudSystempoolsGetParams) WithTimeout(timeout time.Duration) *PcloudSystempoolsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud systempools get params +func (o *PcloudSystempoolsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud systempools get params +func (o *PcloudSystempoolsGetParams) WithContext(ctx context.Context) *PcloudSystempoolsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud systempools get params +func (o *PcloudSystempoolsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud systempools get params +func (o *PcloudSystempoolsGetParams) WithHTTPClient(client *http.Client) *PcloudSystempoolsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud systempools get params +func (o *PcloudSystempoolsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud systempools get params +func (o *PcloudSystempoolsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudSystempoolsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud systempools get params +func (o *PcloudSystempoolsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudSystempoolsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/pcloud_systempools_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/pcloud_systempools_get_responses.go new file mode 100644 index 000000000..64db5760d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools/pcloud_systempools_get_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_system_pools + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudSystempoolsGetReader is a Reader for the PcloudSystempoolsGet structure. +type PcloudSystempoolsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudSystempoolsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudSystempoolsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudSystempoolsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudSystempoolsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudSystempoolsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudSystempoolsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudSystempoolsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools] pcloud.systempools.get", response, response.Code()) + } +} + +// NewPcloudSystempoolsGetOK creates a PcloudSystempoolsGetOK with default headers values +func NewPcloudSystempoolsGetOK() *PcloudSystempoolsGetOK { + return &PcloudSystempoolsGetOK{} +} + +/* +PcloudSystempoolsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudSystempoolsGetOK struct { + Payload models.SystemPools +} + +// IsSuccess returns true when this pcloud systempools get o k response has a 2xx status code +func (o *PcloudSystempoolsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud systempools get o k response has a 3xx status code +func (o *PcloudSystempoolsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud systempools get o k response has a 4xx status code +func (o *PcloudSystempoolsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud systempools get o k response has a 5xx status code +func (o *PcloudSystempoolsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud systempools get o k response a status code equal to that given +func (o *PcloudSystempoolsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud systempools get o k response +func (o *PcloudSystempoolsGetOK) Code() int { + return 200 +} + +func (o *PcloudSystempoolsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetOK %s", 200, payload) +} + +func (o *PcloudSystempoolsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetOK %s", 200, payload) +} + +func (o *PcloudSystempoolsGetOK) GetPayload() models.SystemPools { + return o.Payload +} + +func (o *PcloudSystempoolsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSystempoolsGetBadRequest creates a PcloudSystempoolsGetBadRequest with default headers values +func NewPcloudSystempoolsGetBadRequest() *PcloudSystempoolsGetBadRequest { + return &PcloudSystempoolsGetBadRequest{} +} + +/* +PcloudSystempoolsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudSystempoolsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud systempools get bad request response has a 2xx status code +func (o *PcloudSystempoolsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud systempools get bad request response has a 3xx status code +func (o *PcloudSystempoolsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud systempools get bad request response has a 4xx status code +func (o *PcloudSystempoolsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud systempools get bad request response has a 5xx status code +func (o *PcloudSystempoolsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud systempools get bad request response a status code equal to that given +func (o *PcloudSystempoolsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud systempools get bad request response +func (o *PcloudSystempoolsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudSystempoolsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetBadRequest %s", 400, payload) +} + +func (o *PcloudSystempoolsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetBadRequest %s", 400, payload) +} + +func (o *PcloudSystempoolsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSystempoolsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSystempoolsGetUnauthorized creates a PcloudSystempoolsGetUnauthorized with default headers values +func NewPcloudSystempoolsGetUnauthorized() *PcloudSystempoolsGetUnauthorized { + return &PcloudSystempoolsGetUnauthorized{} +} + +/* +PcloudSystempoolsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudSystempoolsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud systempools get unauthorized response has a 2xx status code +func (o *PcloudSystempoolsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud systempools get unauthorized response has a 3xx status code +func (o *PcloudSystempoolsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud systempools get unauthorized response has a 4xx status code +func (o *PcloudSystempoolsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud systempools get unauthorized response has a 5xx status code +func (o *PcloudSystempoolsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud systempools get unauthorized response a status code equal to that given +func (o *PcloudSystempoolsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud systempools get unauthorized response +func (o *PcloudSystempoolsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudSystempoolsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudSystempoolsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudSystempoolsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSystempoolsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSystempoolsGetForbidden creates a PcloudSystempoolsGetForbidden with default headers values +func NewPcloudSystempoolsGetForbidden() *PcloudSystempoolsGetForbidden { + return &PcloudSystempoolsGetForbidden{} +} + +/* +PcloudSystempoolsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudSystempoolsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud systempools get forbidden response has a 2xx status code +func (o *PcloudSystempoolsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud systempools get forbidden response has a 3xx status code +func (o *PcloudSystempoolsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud systempools get forbidden response has a 4xx status code +func (o *PcloudSystempoolsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud systempools get forbidden response has a 5xx status code +func (o *PcloudSystempoolsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud systempools get forbidden response a status code equal to that given +func (o *PcloudSystempoolsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud systempools get forbidden response +func (o *PcloudSystempoolsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudSystempoolsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetForbidden %s", 403, payload) +} + +func (o *PcloudSystempoolsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetForbidden %s", 403, payload) +} + +func (o *PcloudSystempoolsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSystempoolsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSystempoolsGetNotFound creates a PcloudSystempoolsGetNotFound with default headers values +func NewPcloudSystempoolsGetNotFound() *PcloudSystempoolsGetNotFound { + return &PcloudSystempoolsGetNotFound{} +} + +/* +PcloudSystempoolsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudSystempoolsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud systempools get not found response has a 2xx status code +func (o *PcloudSystempoolsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud systempools get not found response has a 3xx status code +func (o *PcloudSystempoolsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud systempools get not found response has a 4xx status code +func (o *PcloudSystempoolsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud systempools get not found response has a 5xx status code +func (o *PcloudSystempoolsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud systempools get not found response a status code equal to that given +func (o *PcloudSystempoolsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud systempools get not found response +func (o *PcloudSystempoolsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudSystempoolsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetNotFound %s", 404, payload) +} + +func (o *PcloudSystempoolsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetNotFound %s", 404, payload) +} + +func (o *PcloudSystempoolsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSystempoolsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudSystempoolsGetInternalServerError creates a PcloudSystempoolsGetInternalServerError with default headers values +func NewPcloudSystempoolsGetInternalServerError() *PcloudSystempoolsGetInternalServerError { + return &PcloudSystempoolsGetInternalServerError{} +} + +/* +PcloudSystempoolsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudSystempoolsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud systempools get internal server error response has a 2xx status code +func (o *PcloudSystempoolsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud systempools get internal server error response has a 3xx status code +func (o *PcloudSystempoolsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud systempools get internal server error response has a 4xx status code +func (o *PcloudSystempoolsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud systempools get internal server error response has a 5xx status code +func (o *PcloudSystempoolsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud systempools get internal server error response a status code equal to that given +func (o *PcloudSystempoolsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud systempools get internal server error response +func (o *PcloudSystempoolsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudSystempoolsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudSystempoolsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/system-pools][%d] pcloudSystempoolsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudSystempoolsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudSystempoolsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/p_cloud_tasks_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/p_cloud_tasks_client.go new file mode 100644 index 000000000..32ee79806 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/p_cloud_tasks_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tasks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud tasks API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud tasks API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud tasks API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud tasks API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudTasksDelete(params *PcloudTasksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTasksDeleteOK, error) + + PcloudTasksGet(params *PcloudTasksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTasksGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudTasksDelete deletes a task +*/ +func (a *Client) PcloudTasksDelete(params *PcloudTasksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTasksDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTasksDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tasks.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/tasks/{task_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTasksDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudTasksDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.tasks.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudTasksGet gets a task +*/ +func (a *Client) PcloudTasksGet(params *PcloudTasksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTasksGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTasksGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tasks.get", + Method: "GET", + PathPattern: "/pcloud/v1/tasks/{task_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTasksGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudTasksGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.tasks.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_delete_parameters.go new file mode 100644 index 000000000..ad07c23e9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tasks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudTasksDeleteParams creates a new PcloudTasksDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTasksDeleteParams() *PcloudTasksDeleteParams { + return &PcloudTasksDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTasksDeleteParamsWithTimeout creates a new PcloudTasksDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudTasksDeleteParamsWithTimeout(timeout time.Duration) *PcloudTasksDeleteParams { + return &PcloudTasksDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudTasksDeleteParamsWithContext creates a new PcloudTasksDeleteParams object +// with the ability to set a context for a request. +func NewPcloudTasksDeleteParamsWithContext(ctx context.Context) *PcloudTasksDeleteParams { + return &PcloudTasksDeleteParams{ + Context: ctx, + } +} + +// NewPcloudTasksDeleteParamsWithHTTPClient creates a new PcloudTasksDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTasksDeleteParamsWithHTTPClient(client *http.Client) *PcloudTasksDeleteParams { + return &PcloudTasksDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudTasksDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud tasks delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudTasksDeleteParams struct { + + /* TaskID. + + PCloud Task ID + */ + TaskID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tasks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTasksDeleteParams) WithDefaults() *PcloudTasksDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tasks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTasksDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tasks delete params +func (o *PcloudTasksDeleteParams) WithTimeout(timeout time.Duration) *PcloudTasksDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tasks delete params +func (o *PcloudTasksDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tasks delete params +func (o *PcloudTasksDeleteParams) WithContext(ctx context.Context) *PcloudTasksDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tasks delete params +func (o *PcloudTasksDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tasks delete params +func (o *PcloudTasksDeleteParams) WithHTTPClient(client *http.Client) *PcloudTasksDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tasks delete params +func (o *PcloudTasksDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithTaskID adds the taskID to the pcloud tasks delete params +func (o *PcloudTasksDeleteParams) WithTaskID(taskID string) *PcloudTasksDeleteParams { + o.SetTaskID(taskID) + return o +} + +// SetTaskID adds the taskId to the pcloud tasks delete params +func (o *PcloudTasksDeleteParams) SetTaskID(taskID string) { + o.TaskID = taskID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTasksDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param task_id + if err := r.SetPathParam("task_id", o.TaskID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_delete_responses.go new file mode 100644 index 000000000..f258415c1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tasks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTasksDeleteReader is a Reader for the PcloudTasksDelete structure. +type PcloudTasksDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTasksDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTasksDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTasksDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTasksDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTasksDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTasksDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudTasksDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTasksDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/tasks/{task_id}] pcloud.tasks.delete", response, response.Code()) + } +} + +// NewPcloudTasksDeleteOK creates a PcloudTasksDeleteOK with default headers values +func NewPcloudTasksDeleteOK() *PcloudTasksDeleteOK { + return &PcloudTasksDeleteOK{} +} + +/* +PcloudTasksDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTasksDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud tasks delete o k response has a 2xx status code +func (o *PcloudTasksDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tasks delete o k response has a 3xx status code +func (o *PcloudTasksDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks delete o k response has a 4xx status code +func (o *PcloudTasksDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tasks delete o k response has a 5xx status code +func (o *PcloudTasksDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks delete o k response a status code equal to that given +func (o *PcloudTasksDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tasks delete o k response +func (o *PcloudTasksDeleteOK) Code() int { + return 200 +} + +func (o *PcloudTasksDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteOK %s", 200, payload) +} + +func (o *PcloudTasksDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteOK %s", 200, payload) +} + +func (o *PcloudTasksDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudTasksDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksDeleteBadRequest creates a PcloudTasksDeleteBadRequest with default headers values +func NewPcloudTasksDeleteBadRequest() *PcloudTasksDeleteBadRequest { + return &PcloudTasksDeleteBadRequest{} +} + +/* +PcloudTasksDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTasksDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks delete bad request response has a 2xx status code +func (o *PcloudTasksDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks delete bad request response has a 3xx status code +func (o *PcloudTasksDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks delete bad request response has a 4xx status code +func (o *PcloudTasksDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks delete bad request response has a 5xx status code +func (o *PcloudTasksDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks delete bad request response a status code equal to that given +func (o *PcloudTasksDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tasks delete bad request response +func (o *PcloudTasksDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudTasksDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudTasksDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudTasksDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksDeleteUnauthorized creates a PcloudTasksDeleteUnauthorized with default headers values +func NewPcloudTasksDeleteUnauthorized() *PcloudTasksDeleteUnauthorized { + return &PcloudTasksDeleteUnauthorized{} +} + +/* +PcloudTasksDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTasksDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks delete unauthorized response has a 2xx status code +func (o *PcloudTasksDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks delete unauthorized response has a 3xx status code +func (o *PcloudTasksDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks delete unauthorized response has a 4xx status code +func (o *PcloudTasksDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks delete unauthorized response has a 5xx status code +func (o *PcloudTasksDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks delete unauthorized response a status code equal to that given +func (o *PcloudTasksDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tasks delete unauthorized response +func (o *PcloudTasksDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTasksDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudTasksDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudTasksDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksDeleteForbidden creates a PcloudTasksDeleteForbidden with default headers values +func NewPcloudTasksDeleteForbidden() *PcloudTasksDeleteForbidden { + return &PcloudTasksDeleteForbidden{} +} + +/* +PcloudTasksDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTasksDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks delete forbidden response has a 2xx status code +func (o *PcloudTasksDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks delete forbidden response has a 3xx status code +func (o *PcloudTasksDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks delete forbidden response has a 4xx status code +func (o *PcloudTasksDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks delete forbidden response has a 5xx status code +func (o *PcloudTasksDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks delete forbidden response a status code equal to that given +func (o *PcloudTasksDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tasks delete forbidden response +func (o *PcloudTasksDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudTasksDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudTasksDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudTasksDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksDeleteNotFound creates a PcloudTasksDeleteNotFound with default headers values +func NewPcloudTasksDeleteNotFound() *PcloudTasksDeleteNotFound { + return &PcloudTasksDeleteNotFound{} +} + +/* +PcloudTasksDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTasksDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks delete not found response has a 2xx status code +func (o *PcloudTasksDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks delete not found response has a 3xx status code +func (o *PcloudTasksDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks delete not found response has a 4xx status code +func (o *PcloudTasksDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks delete not found response has a 5xx status code +func (o *PcloudTasksDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks delete not found response a status code equal to that given +func (o *PcloudTasksDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tasks delete not found response +func (o *PcloudTasksDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudTasksDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudTasksDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudTasksDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksDeleteGone creates a PcloudTasksDeleteGone with default headers values +func NewPcloudTasksDeleteGone() *PcloudTasksDeleteGone { + return &PcloudTasksDeleteGone{} +} + +/* +PcloudTasksDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudTasksDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks delete gone response has a 2xx status code +func (o *PcloudTasksDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks delete gone response has a 3xx status code +func (o *PcloudTasksDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks delete gone response has a 4xx status code +func (o *PcloudTasksDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks delete gone response has a 5xx status code +func (o *PcloudTasksDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks delete gone response a status code equal to that given +func (o *PcloudTasksDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud tasks delete gone response +func (o *PcloudTasksDeleteGone) Code() int { + return 410 +} + +func (o *PcloudTasksDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteGone %s", 410, payload) +} + +func (o *PcloudTasksDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteGone %s", 410, payload) +} + +func (o *PcloudTasksDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksDeleteInternalServerError creates a PcloudTasksDeleteInternalServerError with default headers values +func NewPcloudTasksDeleteInternalServerError() *PcloudTasksDeleteInternalServerError { + return &PcloudTasksDeleteInternalServerError{} +} + +/* +PcloudTasksDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTasksDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks delete internal server error response has a 2xx status code +func (o *PcloudTasksDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks delete internal server error response has a 3xx status code +func (o *PcloudTasksDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks delete internal server error response has a 4xx status code +func (o *PcloudTasksDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tasks delete internal server error response has a 5xx status code +func (o *PcloudTasksDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tasks delete internal server error response a status code equal to that given +func (o *PcloudTasksDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tasks delete internal server error response +func (o *PcloudTasksDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTasksDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudTasksDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tasks/{task_id}][%d] pcloudTasksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudTasksDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_get_parameters.go new file mode 100644 index 000000000..5fd5d905f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tasks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudTasksGetParams creates a new PcloudTasksGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTasksGetParams() *PcloudTasksGetParams { + return &PcloudTasksGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTasksGetParamsWithTimeout creates a new PcloudTasksGetParams object +// with the ability to set a timeout on a request. +func NewPcloudTasksGetParamsWithTimeout(timeout time.Duration) *PcloudTasksGetParams { + return &PcloudTasksGetParams{ + timeout: timeout, + } +} + +// NewPcloudTasksGetParamsWithContext creates a new PcloudTasksGetParams object +// with the ability to set a context for a request. +func NewPcloudTasksGetParamsWithContext(ctx context.Context) *PcloudTasksGetParams { + return &PcloudTasksGetParams{ + Context: ctx, + } +} + +// NewPcloudTasksGetParamsWithHTTPClient creates a new PcloudTasksGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTasksGetParamsWithHTTPClient(client *http.Client) *PcloudTasksGetParams { + return &PcloudTasksGetParams{ + HTTPClient: client, + } +} + +/* +PcloudTasksGetParams contains all the parameters to send to the API endpoint + + for the pcloud tasks get operation. + + Typically these are written to a http.Request. +*/ +type PcloudTasksGetParams struct { + + /* TaskID. + + PCloud Task ID + */ + TaskID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tasks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTasksGetParams) WithDefaults() *PcloudTasksGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tasks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTasksGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tasks get params +func (o *PcloudTasksGetParams) WithTimeout(timeout time.Duration) *PcloudTasksGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tasks get params +func (o *PcloudTasksGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tasks get params +func (o *PcloudTasksGetParams) WithContext(ctx context.Context) *PcloudTasksGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tasks get params +func (o *PcloudTasksGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tasks get params +func (o *PcloudTasksGetParams) WithHTTPClient(client *http.Client) *PcloudTasksGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tasks get params +func (o *PcloudTasksGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithTaskID adds the taskID to the pcloud tasks get params +func (o *PcloudTasksGetParams) WithTaskID(taskID string) *PcloudTasksGetParams { + o.SetTaskID(taskID) + return o +} + +// SetTaskID adds the taskId to the pcloud tasks get params +func (o *PcloudTasksGetParams) SetTaskID(taskID string) { + o.TaskID = taskID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTasksGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param task_id + if err := r.SetPathParam("task_id", o.TaskID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_get_responses.go new file mode 100644 index 000000000..5076ffe88 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks/pcloud_tasks_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tasks + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTasksGetReader is a Reader for the PcloudTasksGet structure. +type PcloudTasksGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTasksGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTasksGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTasksGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTasksGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTasksGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTasksGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTasksGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/tasks/{task_id}] pcloud.tasks.get", response, response.Code()) + } +} + +// NewPcloudTasksGetOK creates a PcloudTasksGetOK with default headers values +func NewPcloudTasksGetOK() *PcloudTasksGetOK { + return &PcloudTasksGetOK{} +} + +/* +PcloudTasksGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTasksGetOK struct { + Payload *models.Task +} + +// IsSuccess returns true when this pcloud tasks get o k response has a 2xx status code +func (o *PcloudTasksGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tasks get o k response has a 3xx status code +func (o *PcloudTasksGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks get o k response has a 4xx status code +func (o *PcloudTasksGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tasks get o k response has a 5xx status code +func (o *PcloudTasksGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks get o k response a status code equal to that given +func (o *PcloudTasksGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tasks get o k response +func (o *PcloudTasksGetOK) Code() int { + return 200 +} + +func (o *PcloudTasksGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetOK %s", 200, payload) +} + +func (o *PcloudTasksGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetOK %s", 200, payload) +} + +func (o *PcloudTasksGetOK) GetPayload() *models.Task { + return o.Payload +} + +func (o *PcloudTasksGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Task) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksGetBadRequest creates a PcloudTasksGetBadRequest with default headers values +func NewPcloudTasksGetBadRequest() *PcloudTasksGetBadRequest { + return &PcloudTasksGetBadRequest{} +} + +/* +PcloudTasksGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTasksGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks get bad request response has a 2xx status code +func (o *PcloudTasksGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks get bad request response has a 3xx status code +func (o *PcloudTasksGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks get bad request response has a 4xx status code +func (o *PcloudTasksGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks get bad request response has a 5xx status code +func (o *PcloudTasksGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks get bad request response a status code equal to that given +func (o *PcloudTasksGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tasks get bad request response +func (o *PcloudTasksGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudTasksGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetBadRequest %s", 400, payload) +} + +func (o *PcloudTasksGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetBadRequest %s", 400, payload) +} + +func (o *PcloudTasksGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksGetUnauthorized creates a PcloudTasksGetUnauthorized with default headers values +func NewPcloudTasksGetUnauthorized() *PcloudTasksGetUnauthorized { + return &PcloudTasksGetUnauthorized{} +} + +/* +PcloudTasksGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTasksGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks get unauthorized response has a 2xx status code +func (o *PcloudTasksGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks get unauthorized response has a 3xx status code +func (o *PcloudTasksGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks get unauthorized response has a 4xx status code +func (o *PcloudTasksGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks get unauthorized response has a 5xx status code +func (o *PcloudTasksGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks get unauthorized response a status code equal to that given +func (o *PcloudTasksGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tasks get unauthorized response +func (o *PcloudTasksGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTasksGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudTasksGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudTasksGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksGetForbidden creates a PcloudTasksGetForbidden with default headers values +func NewPcloudTasksGetForbidden() *PcloudTasksGetForbidden { + return &PcloudTasksGetForbidden{} +} + +/* +PcloudTasksGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTasksGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks get forbidden response has a 2xx status code +func (o *PcloudTasksGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks get forbidden response has a 3xx status code +func (o *PcloudTasksGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks get forbidden response has a 4xx status code +func (o *PcloudTasksGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks get forbidden response has a 5xx status code +func (o *PcloudTasksGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks get forbidden response a status code equal to that given +func (o *PcloudTasksGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tasks get forbidden response +func (o *PcloudTasksGetForbidden) Code() int { + return 403 +} + +func (o *PcloudTasksGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetForbidden %s", 403, payload) +} + +func (o *PcloudTasksGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetForbidden %s", 403, payload) +} + +func (o *PcloudTasksGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksGetNotFound creates a PcloudTasksGetNotFound with default headers values +func NewPcloudTasksGetNotFound() *PcloudTasksGetNotFound { + return &PcloudTasksGetNotFound{} +} + +/* +PcloudTasksGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTasksGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks get not found response has a 2xx status code +func (o *PcloudTasksGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks get not found response has a 3xx status code +func (o *PcloudTasksGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks get not found response has a 4xx status code +func (o *PcloudTasksGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tasks get not found response has a 5xx status code +func (o *PcloudTasksGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tasks get not found response a status code equal to that given +func (o *PcloudTasksGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tasks get not found response +func (o *PcloudTasksGetNotFound) Code() int { + return 404 +} + +func (o *PcloudTasksGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetNotFound %s", 404, payload) +} + +func (o *PcloudTasksGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetNotFound %s", 404, payload) +} + +func (o *PcloudTasksGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTasksGetInternalServerError creates a PcloudTasksGetInternalServerError with default headers values +func NewPcloudTasksGetInternalServerError() *PcloudTasksGetInternalServerError { + return &PcloudTasksGetInternalServerError{} +} + +/* +PcloudTasksGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTasksGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tasks get internal server error response has a 2xx status code +func (o *PcloudTasksGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tasks get internal server error response has a 3xx status code +func (o *PcloudTasksGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tasks get internal server error response has a 4xx status code +func (o *PcloudTasksGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tasks get internal server error response has a 5xx status code +func (o *PcloudTasksGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tasks get internal server error response a status code equal to that given +func (o *PcloudTasksGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tasks get internal server error response +func (o *PcloudTasksGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTasksGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudTasksGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tasks/{task_id}][%d] pcloudTasksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudTasksGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTasksGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/p_cloud_tenants_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/p_cloud_tenants_client.go new file mode 100644 index 000000000..a7bf06489 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/p_cloud_tenants_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud tenants API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud tenants API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud tenants API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud tenants API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudTenantsGet(params *PcloudTenantsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsGetOK, error) + + PcloudTenantsPut(params *PcloudTenantsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudTenantsGet gets a tenant s current state information +*/ +func (a *Client) PcloudTenantsGet(params *PcloudTenantsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTenantsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tenants.get", + Method: "GET", + PathPattern: "/pcloud/v1/tenants/{tenant_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTenantsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudTenantsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.tenants.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudTenantsPut updates a tenant +*/ +func (a *Client) PcloudTenantsPut(params *PcloudTenantsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTenantsPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tenants.put", + Method: "PUT", + PathPattern: "/pcloud/v1/tenants/{tenant_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTenantsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudTenantsPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.tenants.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_get_parameters.go new file mode 100644 index 000000000..43c00134d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudTenantsGetParams creates a new PcloudTenantsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTenantsGetParams() *PcloudTenantsGetParams { + return &PcloudTenantsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTenantsGetParamsWithTimeout creates a new PcloudTenantsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudTenantsGetParamsWithTimeout(timeout time.Duration) *PcloudTenantsGetParams { + return &PcloudTenantsGetParams{ + timeout: timeout, + } +} + +// NewPcloudTenantsGetParamsWithContext creates a new PcloudTenantsGetParams object +// with the ability to set a context for a request. +func NewPcloudTenantsGetParamsWithContext(ctx context.Context) *PcloudTenantsGetParams { + return &PcloudTenantsGetParams{ + Context: ctx, + } +} + +// NewPcloudTenantsGetParamsWithHTTPClient creates a new PcloudTenantsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTenantsGetParamsWithHTTPClient(client *http.Client) *PcloudTenantsGetParams { + return &PcloudTenantsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudTenantsGetParams contains all the parameters to send to the API endpoint + + for the pcloud tenants get operation. + + Typically these are written to a http.Request. +*/ +type PcloudTenantsGetParams struct { + + /* TenantID. + + Tenant ID of a pcloud tenant + */ + TenantID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tenants get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsGetParams) WithDefaults() *PcloudTenantsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tenants get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tenants get params +func (o *PcloudTenantsGetParams) WithTimeout(timeout time.Duration) *PcloudTenantsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tenants get params +func (o *PcloudTenantsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tenants get params +func (o *PcloudTenantsGetParams) WithContext(ctx context.Context) *PcloudTenantsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tenants get params +func (o *PcloudTenantsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tenants get params +func (o *PcloudTenantsGetParams) WithHTTPClient(client *http.Client) *PcloudTenantsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tenants get params +func (o *PcloudTenantsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithTenantID adds the tenantID to the pcloud tenants get params +func (o *PcloudTenantsGetParams) WithTenantID(tenantID string) *PcloudTenantsGetParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the pcloud tenants get params +func (o *PcloudTenantsGetParams) SetTenantID(tenantID string) { + o.TenantID = tenantID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTenantsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param tenant_id + if err := r.SetPathParam("tenant_id", o.TenantID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_get_responses.go new file mode 100644 index 000000000..c86e29f30 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTenantsGetReader is a Reader for the PcloudTenantsGet structure. +type PcloudTenantsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTenantsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTenantsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTenantsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTenantsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTenantsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTenantsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTenantsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/tenants/{tenant_id}] pcloud.tenants.get", response, response.Code()) + } +} + +// NewPcloudTenantsGetOK creates a PcloudTenantsGetOK with default headers values +func NewPcloudTenantsGetOK() *PcloudTenantsGetOK { + return &PcloudTenantsGetOK{} +} + +/* +PcloudTenantsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTenantsGetOK struct { + Payload *models.Tenant +} + +// IsSuccess returns true when this pcloud tenants get o k response has a 2xx status code +func (o *PcloudTenantsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tenants get o k response has a 3xx status code +func (o *PcloudTenantsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants get o k response has a 4xx status code +func (o *PcloudTenantsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants get o k response has a 5xx status code +func (o *PcloudTenantsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants get o k response a status code equal to that given +func (o *PcloudTenantsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tenants get o k response +func (o *PcloudTenantsGetOK) Code() int { + return 200 +} + +func (o *PcloudTenantsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetOK %s", 200, payload) +} + +func (o *PcloudTenantsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetOK %s", 200, payload) +} + +func (o *PcloudTenantsGetOK) GetPayload() *models.Tenant { + return o.Payload +} + +func (o *PcloudTenantsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Tenant) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsGetBadRequest creates a PcloudTenantsGetBadRequest with default headers values +func NewPcloudTenantsGetBadRequest() *PcloudTenantsGetBadRequest { + return &PcloudTenantsGetBadRequest{} +} + +/* +PcloudTenantsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTenantsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants get bad request response has a 2xx status code +func (o *PcloudTenantsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants get bad request response has a 3xx status code +func (o *PcloudTenantsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants get bad request response has a 4xx status code +func (o *PcloudTenantsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants get bad request response has a 5xx status code +func (o *PcloudTenantsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants get bad request response a status code equal to that given +func (o *PcloudTenantsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tenants get bad request response +func (o *PcloudTenantsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudTenantsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsGetUnauthorized creates a PcloudTenantsGetUnauthorized with default headers values +func NewPcloudTenantsGetUnauthorized() *PcloudTenantsGetUnauthorized { + return &PcloudTenantsGetUnauthorized{} +} + +/* +PcloudTenantsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTenantsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants get unauthorized response has a 2xx status code +func (o *PcloudTenantsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants get unauthorized response has a 3xx status code +func (o *PcloudTenantsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants get unauthorized response has a 4xx status code +func (o *PcloudTenantsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants get unauthorized response has a 5xx status code +func (o *PcloudTenantsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants get unauthorized response a status code equal to that given +func (o *PcloudTenantsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tenants get unauthorized response +func (o *PcloudTenantsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTenantsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsGetForbidden creates a PcloudTenantsGetForbidden with default headers values +func NewPcloudTenantsGetForbidden() *PcloudTenantsGetForbidden { + return &PcloudTenantsGetForbidden{} +} + +/* +PcloudTenantsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTenantsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants get forbidden response has a 2xx status code +func (o *PcloudTenantsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants get forbidden response has a 3xx status code +func (o *PcloudTenantsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants get forbidden response has a 4xx status code +func (o *PcloudTenantsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants get forbidden response has a 5xx status code +func (o *PcloudTenantsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants get forbidden response a status code equal to that given +func (o *PcloudTenantsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tenants get forbidden response +func (o *PcloudTenantsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudTenantsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetForbidden %s", 403, payload) +} + +func (o *PcloudTenantsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetForbidden %s", 403, payload) +} + +func (o *PcloudTenantsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsGetNotFound creates a PcloudTenantsGetNotFound with default headers values +func NewPcloudTenantsGetNotFound() *PcloudTenantsGetNotFound { + return &PcloudTenantsGetNotFound{} +} + +/* +PcloudTenantsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTenantsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants get not found response has a 2xx status code +func (o *PcloudTenantsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants get not found response has a 3xx status code +func (o *PcloudTenantsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants get not found response has a 4xx status code +func (o *PcloudTenantsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants get not found response has a 5xx status code +func (o *PcloudTenantsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants get not found response a status code equal to that given +func (o *PcloudTenantsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tenants get not found response +func (o *PcloudTenantsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudTenantsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetNotFound %s", 404, payload) +} + +func (o *PcloudTenantsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetNotFound %s", 404, payload) +} + +func (o *PcloudTenantsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsGetInternalServerError creates a PcloudTenantsGetInternalServerError with default headers values +func NewPcloudTenantsGetInternalServerError() *PcloudTenantsGetInternalServerError { + return &PcloudTenantsGetInternalServerError{} +} + +/* +PcloudTenantsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTenantsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants get internal server error response has a 2xx status code +func (o *PcloudTenantsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants get internal server error response has a 3xx status code +func (o *PcloudTenantsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants get internal server error response has a 4xx status code +func (o *PcloudTenantsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants get internal server error response has a 5xx status code +func (o *PcloudTenantsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tenants get internal server error response a status code equal to that given +func (o *PcloudTenantsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tenants get internal server error response +func (o *PcloudTenantsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTenantsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_put_parameters.go new file mode 100644 index 000000000..a6a09a269 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudTenantsPutParams creates a new PcloudTenantsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTenantsPutParams() *PcloudTenantsPutParams { + return &PcloudTenantsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTenantsPutParamsWithTimeout creates a new PcloudTenantsPutParams object +// with the ability to set a timeout on a request. +func NewPcloudTenantsPutParamsWithTimeout(timeout time.Duration) *PcloudTenantsPutParams { + return &PcloudTenantsPutParams{ + timeout: timeout, + } +} + +// NewPcloudTenantsPutParamsWithContext creates a new PcloudTenantsPutParams object +// with the ability to set a context for a request. +func NewPcloudTenantsPutParamsWithContext(ctx context.Context) *PcloudTenantsPutParams { + return &PcloudTenantsPutParams{ + Context: ctx, + } +} + +// NewPcloudTenantsPutParamsWithHTTPClient creates a new PcloudTenantsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTenantsPutParamsWithHTTPClient(client *http.Client) *PcloudTenantsPutParams { + return &PcloudTenantsPutParams{ + HTTPClient: client, + } +} + +/* +PcloudTenantsPutParams contains all the parameters to send to the API endpoint + + for the pcloud tenants put operation. + + Typically these are written to a http.Request. +*/ +type PcloudTenantsPutParams struct { + + /* Body. + + Parameters for updating a Tenant + */ + Body *models.TenantUpdate + + /* TenantID. + + Tenant ID of a pcloud tenant + */ + TenantID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tenants put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsPutParams) WithDefaults() *PcloudTenantsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tenants put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tenants put params +func (o *PcloudTenantsPutParams) WithTimeout(timeout time.Duration) *PcloudTenantsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tenants put params +func (o *PcloudTenantsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tenants put params +func (o *PcloudTenantsPutParams) WithContext(ctx context.Context) *PcloudTenantsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tenants put params +func (o *PcloudTenantsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tenants put params +func (o *PcloudTenantsPutParams) WithHTTPClient(client *http.Client) *PcloudTenantsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tenants put params +func (o *PcloudTenantsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud tenants put params +func (o *PcloudTenantsPutParams) WithBody(body *models.TenantUpdate) *PcloudTenantsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud tenants put params +func (o *PcloudTenantsPutParams) SetBody(body *models.TenantUpdate) { + o.Body = body +} + +// WithTenantID adds the tenantID to the pcloud tenants put params +func (o *PcloudTenantsPutParams) WithTenantID(tenantID string) *PcloudTenantsPutParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the pcloud tenants put params +func (o *PcloudTenantsPutParams) SetTenantID(tenantID string) { + o.TenantID = tenantID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTenantsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param tenant_id + if err := r.SetPathParam("tenant_id", o.TenantID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_put_responses.go new file mode 100644 index 000000000..97b59e7ba --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants/pcloud_tenants_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTenantsPutReader is a Reader for the PcloudTenantsPut structure. +type PcloudTenantsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTenantsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTenantsPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTenantsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTenantsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTenantsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTenantsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudTenantsPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTenantsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/tenants/{tenant_id}] pcloud.tenants.put", response, response.Code()) + } +} + +// NewPcloudTenantsPutOK creates a PcloudTenantsPutOK with default headers values +func NewPcloudTenantsPutOK() *PcloudTenantsPutOK { + return &PcloudTenantsPutOK{} +} + +/* +PcloudTenantsPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTenantsPutOK struct { + Payload *models.Tenant +} + +// IsSuccess returns true when this pcloud tenants put o k response has a 2xx status code +func (o *PcloudTenantsPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tenants put o k response has a 3xx status code +func (o *PcloudTenantsPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants put o k response has a 4xx status code +func (o *PcloudTenantsPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants put o k response has a 5xx status code +func (o *PcloudTenantsPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants put o k response a status code equal to that given +func (o *PcloudTenantsPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tenants put o k response +func (o *PcloudTenantsPutOK) Code() int { + return 200 +} + +func (o *PcloudTenantsPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutOK %s", 200, payload) +} + +func (o *PcloudTenantsPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutOK %s", 200, payload) +} + +func (o *PcloudTenantsPutOK) GetPayload() *models.Tenant { + return o.Payload +} + +func (o *PcloudTenantsPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Tenant) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsPutBadRequest creates a PcloudTenantsPutBadRequest with default headers values +func NewPcloudTenantsPutBadRequest() *PcloudTenantsPutBadRequest { + return &PcloudTenantsPutBadRequest{} +} + +/* +PcloudTenantsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTenantsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants put bad request response has a 2xx status code +func (o *PcloudTenantsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants put bad request response has a 3xx status code +func (o *PcloudTenantsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants put bad request response has a 4xx status code +func (o *PcloudTenantsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants put bad request response has a 5xx status code +func (o *PcloudTenantsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants put bad request response a status code equal to that given +func (o *PcloudTenantsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tenants put bad request response +func (o *PcloudTenantsPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudTenantsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsPutUnauthorized creates a PcloudTenantsPutUnauthorized with default headers values +func NewPcloudTenantsPutUnauthorized() *PcloudTenantsPutUnauthorized { + return &PcloudTenantsPutUnauthorized{} +} + +/* +PcloudTenantsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTenantsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants put unauthorized response has a 2xx status code +func (o *PcloudTenantsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants put unauthorized response has a 3xx status code +func (o *PcloudTenantsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants put unauthorized response has a 4xx status code +func (o *PcloudTenantsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants put unauthorized response has a 5xx status code +func (o *PcloudTenantsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants put unauthorized response a status code equal to that given +func (o *PcloudTenantsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tenants put unauthorized response +func (o *PcloudTenantsPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTenantsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsPutForbidden creates a PcloudTenantsPutForbidden with default headers values +func NewPcloudTenantsPutForbidden() *PcloudTenantsPutForbidden { + return &PcloudTenantsPutForbidden{} +} + +/* +PcloudTenantsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTenantsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants put forbidden response has a 2xx status code +func (o *PcloudTenantsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants put forbidden response has a 3xx status code +func (o *PcloudTenantsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants put forbidden response has a 4xx status code +func (o *PcloudTenantsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants put forbidden response has a 5xx status code +func (o *PcloudTenantsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants put forbidden response a status code equal to that given +func (o *PcloudTenantsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tenants put forbidden response +func (o *PcloudTenantsPutForbidden) Code() int { + return 403 +} + +func (o *PcloudTenantsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutForbidden %s", 403, payload) +} + +func (o *PcloudTenantsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutForbidden %s", 403, payload) +} + +func (o *PcloudTenantsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsPutNotFound creates a PcloudTenantsPutNotFound with default headers values +func NewPcloudTenantsPutNotFound() *PcloudTenantsPutNotFound { + return &PcloudTenantsPutNotFound{} +} + +/* +PcloudTenantsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTenantsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants put not found response has a 2xx status code +func (o *PcloudTenantsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants put not found response has a 3xx status code +func (o *PcloudTenantsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants put not found response has a 4xx status code +func (o *PcloudTenantsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants put not found response has a 5xx status code +func (o *PcloudTenantsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants put not found response a status code equal to that given +func (o *PcloudTenantsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tenants put not found response +func (o *PcloudTenantsPutNotFound) Code() int { + return 404 +} + +func (o *PcloudTenantsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutNotFound %s", 404, payload) +} + +func (o *PcloudTenantsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutNotFound %s", 404, payload) +} + +func (o *PcloudTenantsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsPutUnprocessableEntity creates a PcloudTenantsPutUnprocessableEntity with default headers values +func NewPcloudTenantsPutUnprocessableEntity() *PcloudTenantsPutUnprocessableEntity { + return &PcloudTenantsPutUnprocessableEntity{} +} + +/* +PcloudTenantsPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudTenantsPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants put unprocessable entity response has a 2xx status code +func (o *PcloudTenantsPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants put unprocessable entity response has a 3xx status code +func (o *PcloudTenantsPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants put unprocessable entity response has a 4xx status code +func (o *PcloudTenantsPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants put unprocessable entity response has a 5xx status code +func (o *PcloudTenantsPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants put unprocessable entity response a status code equal to that given +func (o *PcloudTenantsPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud tenants put unprocessable entity response +func (o *PcloudTenantsPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudTenantsPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudTenantsPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudTenantsPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsPutInternalServerError creates a PcloudTenantsPutInternalServerError with default headers values +func NewPcloudTenantsPutInternalServerError() *PcloudTenantsPutInternalServerError { + return &PcloudTenantsPutInternalServerError{} +} + +/* +PcloudTenantsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTenantsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants put internal server error response has a 2xx status code +func (o *PcloudTenantsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants put internal server error response has a 3xx status code +func (o *PcloudTenantsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants put internal server error response has a 4xx status code +func (o *PcloudTenantsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants put internal server error response has a 5xx status code +func (o *PcloudTenantsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tenants put internal server error response a status code equal to that given +func (o *PcloudTenantsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tenants put internal server error response +func (o *PcloudTenantsPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTenantsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}][%d] pcloudTenantsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/p_cloud_tenants_ssh_keys_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/p_cloud_tenants_ssh_keys_client.go new file mode 100644 index 000000000..263d96cb9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/p_cloud_tenants_ssh_keys_client.go @@ -0,0 +1,295 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud tenants ssh keys API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud tenants ssh keys API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud tenants ssh keys API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud tenants ssh keys API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudTenantsSshkeysDelete(params *PcloudTenantsSshkeysDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysDeleteOK, error) + + PcloudTenantsSshkeysGet(params *PcloudTenantsSshkeysGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysGetOK, error) + + PcloudTenantsSshkeysGetall(params *PcloudTenantsSshkeysGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysGetallOK, error) + + PcloudTenantsSshkeysPost(params *PcloudTenantsSshkeysPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysPostOK, *PcloudTenantsSshkeysPostCreated, error) + + PcloudTenantsSshkeysPut(params *PcloudTenantsSshkeysPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudTenantsSshkeysDelete deletes a tenant s SSH key +*/ +func (a *Client) PcloudTenantsSshkeysDelete(params *PcloudTenantsSshkeysDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTenantsSshkeysDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tenants.sshkeys.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTenantsSshkeysDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudTenantsSshkeysDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.tenants.sshkeys.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudTenantsSshkeysGet gets a tenant s SSH key by name +*/ +func (a *Client) PcloudTenantsSshkeysGet(params *PcloudTenantsSshkeysGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTenantsSshkeysGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tenants.sshkeys.get", + Method: "GET", + PathPattern: "/pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTenantsSshkeysGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudTenantsSshkeysGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.tenants.sshkeys.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudTenantsSshkeysGetall lists a tenant s SSH keys +*/ +func (a *Client) PcloudTenantsSshkeysGetall(params *PcloudTenantsSshkeysGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTenantsSshkeysGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tenants.sshkeys.getall", + Method: "GET", + PathPattern: "/pcloud/v1/tenants/{tenant_id}/sshkeys", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTenantsSshkeysGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudTenantsSshkeysGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.tenants.sshkeys.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudTenantsSshkeysPost adds a new SSH key to the tenant +*/ +func (a *Client) PcloudTenantsSshkeysPost(params *PcloudTenantsSshkeysPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysPostOK, *PcloudTenantsSshkeysPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTenantsSshkeysPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tenants.sshkeys.post", + Method: "POST", + PathPattern: "/pcloud/v1/tenants/{tenant_id}/sshkeys", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTenantsSshkeysPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudTenantsSshkeysPostOK: + return value, nil, nil + case *PcloudTenantsSshkeysPostCreated: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_tenants_ssh_keys: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudTenantsSshkeysPut updates an SSH key +*/ +func (a *Client) PcloudTenantsSshkeysPut(params *PcloudTenantsSshkeysPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudTenantsSshkeysPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudTenantsSshkeysPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.tenants.sshkeys.put", + Method: "PUT", + PathPattern: "/pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudTenantsSshkeysPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudTenantsSshkeysPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.tenants.sshkeys.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_delete_parameters.go new file mode 100644 index 000000000..0e02e65bd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudTenantsSshkeysDeleteParams creates a new PcloudTenantsSshkeysDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTenantsSshkeysDeleteParams() *PcloudTenantsSshkeysDeleteParams { + return &PcloudTenantsSshkeysDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTenantsSshkeysDeleteParamsWithTimeout creates a new PcloudTenantsSshkeysDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudTenantsSshkeysDeleteParamsWithTimeout(timeout time.Duration) *PcloudTenantsSshkeysDeleteParams { + return &PcloudTenantsSshkeysDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudTenantsSshkeysDeleteParamsWithContext creates a new PcloudTenantsSshkeysDeleteParams object +// with the ability to set a context for a request. +func NewPcloudTenantsSshkeysDeleteParamsWithContext(ctx context.Context) *PcloudTenantsSshkeysDeleteParams { + return &PcloudTenantsSshkeysDeleteParams{ + Context: ctx, + } +} + +// NewPcloudTenantsSshkeysDeleteParamsWithHTTPClient creates a new PcloudTenantsSshkeysDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTenantsSshkeysDeleteParamsWithHTTPClient(client *http.Client) *PcloudTenantsSshkeysDeleteParams { + return &PcloudTenantsSshkeysDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudTenantsSshkeysDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud tenants sshkeys delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudTenantsSshkeysDeleteParams struct { + + /* SshkeyName. + + SSH key name for a pcloud tenant + */ + SshkeyName string + + /* TenantID. + + Tenant ID of a pcloud tenant + */ + TenantID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tenants sshkeys delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysDeleteParams) WithDefaults() *PcloudTenantsSshkeysDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tenants sshkeys delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) WithTimeout(timeout time.Duration) *PcloudTenantsSshkeysDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) WithContext(ctx context.Context) *PcloudTenantsSshkeysDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) WithHTTPClient(client *http.Client) *PcloudTenantsSshkeysDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithSshkeyName adds the sshkeyName to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) WithSshkeyName(sshkeyName string) *PcloudTenantsSshkeysDeleteParams { + o.SetSshkeyName(sshkeyName) + return o +} + +// SetSshkeyName adds the sshkeyName to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) SetSshkeyName(sshkeyName string) { + o.SshkeyName = sshkeyName +} + +// WithTenantID adds the tenantID to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) WithTenantID(tenantID string) *PcloudTenantsSshkeysDeleteParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the pcloud tenants sshkeys delete params +func (o *PcloudTenantsSshkeysDeleteParams) SetTenantID(tenantID string) { + o.TenantID = tenantID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTenantsSshkeysDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param sshkey_name + if err := r.SetPathParam("sshkey_name", o.SshkeyName); err != nil { + return err + } + + // path param tenant_id + if err := r.SetPathParam("tenant_id", o.TenantID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_delete_responses.go new file mode 100644 index 000000000..0c2bb182b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTenantsSshkeysDeleteReader is a Reader for the PcloudTenantsSshkeysDelete structure. +type PcloudTenantsSshkeysDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTenantsSshkeysDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTenantsSshkeysDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTenantsSshkeysDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTenantsSshkeysDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTenantsSshkeysDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTenantsSshkeysDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudTenantsSshkeysDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTenantsSshkeysDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}] pcloud.tenants.sshkeys.delete", response, response.Code()) + } +} + +// NewPcloudTenantsSshkeysDeleteOK creates a PcloudTenantsSshkeysDeleteOK with default headers values +func NewPcloudTenantsSshkeysDeleteOK() *PcloudTenantsSshkeysDeleteOK { + return &PcloudTenantsSshkeysDeleteOK{} +} + +/* +PcloudTenantsSshkeysDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTenantsSshkeysDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud tenants sshkeys delete o k response has a 2xx status code +func (o *PcloudTenantsSshkeysDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tenants sshkeys delete o k response has a 3xx status code +func (o *PcloudTenantsSshkeysDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys delete o k response has a 4xx status code +func (o *PcloudTenantsSshkeysDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys delete o k response has a 5xx status code +func (o *PcloudTenantsSshkeysDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys delete o k response a status code equal to that given +func (o *PcloudTenantsSshkeysDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tenants sshkeys delete o k response +func (o *PcloudTenantsSshkeysDeleteOK) Code() int { + return 200 +} + +func (o *PcloudTenantsSshkeysDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudTenantsSshkeysDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysDeleteBadRequest creates a PcloudTenantsSshkeysDeleteBadRequest with default headers values +func NewPcloudTenantsSshkeysDeleteBadRequest() *PcloudTenantsSshkeysDeleteBadRequest { + return &PcloudTenantsSshkeysDeleteBadRequest{} +} + +/* +PcloudTenantsSshkeysDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTenantsSshkeysDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys delete bad request response has a 2xx status code +func (o *PcloudTenantsSshkeysDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys delete bad request response has a 3xx status code +func (o *PcloudTenantsSshkeysDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys delete bad request response has a 4xx status code +func (o *PcloudTenantsSshkeysDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys delete bad request response has a 5xx status code +func (o *PcloudTenantsSshkeysDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys delete bad request response a status code equal to that given +func (o *PcloudTenantsSshkeysDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tenants sshkeys delete bad request response +func (o *PcloudTenantsSshkeysDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudTenantsSshkeysDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysDeleteUnauthorized creates a PcloudTenantsSshkeysDeleteUnauthorized with default headers values +func NewPcloudTenantsSshkeysDeleteUnauthorized() *PcloudTenantsSshkeysDeleteUnauthorized { + return &PcloudTenantsSshkeysDeleteUnauthorized{} +} + +/* +PcloudTenantsSshkeysDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTenantsSshkeysDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys delete unauthorized response has a 2xx status code +func (o *PcloudTenantsSshkeysDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys delete unauthorized response has a 3xx status code +func (o *PcloudTenantsSshkeysDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys delete unauthorized response has a 4xx status code +func (o *PcloudTenantsSshkeysDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys delete unauthorized response has a 5xx status code +func (o *PcloudTenantsSshkeysDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys delete unauthorized response a status code equal to that given +func (o *PcloudTenantsSshkeysDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tenants sshkeys delete unauthorized response +func (o *PcloudTenantsSshkeysDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTenantsSshkeysDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysDeleteForbidden creates a PcloudTenantsSshkeysDeleteForbidden with default headers values +func NewPcloudTenantsSshkeysDeleteForbidden() *PcloudTenantsSshkeysDeleteForbidden { + return &PcloudTenantsSshkeysDeleteForbidden{} +} + +/* +PcloudTenantsSshkeysDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTenantsSshkeysDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys delete forbidden response has a 2xx status code +func (o *PcloudTenantsSshkeysDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys delete forbidden response has a 3xx status code +func (o *PcloudTenantsSshkeysDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys delete forbidden response has a 4xx status code +func (o *PcloudTenantsSshkeysDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys delete forbidden response has a 5xx status code +func (o *PcloudTenantsSshkeysDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys delete forbidden response a status code equal to that given +func (o *PcloudTenantsSshkeysDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tenants sshkeys delete forbidden response +func (o *PcloudTenantsSshkeysDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudTenantsSshkeysDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysDeleteNotFound creates a PcloudTenantsSshkeysDeleteNotFound with default headers values +func NewPcloudTenantsSshkeysDeleteNotFound() *PcloudTenantsSshkeysDeleteNotFound { + return &PcloudTenantsSshkeysDeleteNotFound{} +} + +/* +PcloudTenantsSshkeysDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTenantsSshkeysDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys delete not found response has a 2xx status code +func (o *PcloudTenantsSshkeysDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys delete not found response has a 3xx status code +func (o *PcloudTenantsSshkeysDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys delete not found response has a 4xx status code +func (o *PcloudTenantsSshkeysDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys delete not found response has a 5xx status code +func (o *PcloudTenantsSshkeysDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys delete not found response a status code equal to that given +func (o *PcloudTenantsSshkeysDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tenants sshkeys delete not found response +func (o *PcloudTenantsSshkeysDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudTenantsSshkeysDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysDeleteGone creates a PcloudTenantsSshkeysDeleteGone with default headers values +func NewPcloudTenantsSshkeysDeleteGone() *PcloudTenantsSshkeysDeleteGone { + return &PcloudTenantsSshkeysDeleteGone{} +} + +/* +PcloudTenantsSshkeysDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudTenantsSshkeysDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys delete gone response has a 2xx status code +func (o *PcloudTenantsSshkeysDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys delete gone response has a 3xx status code +func (o *PcloudTenantsSshkeysDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys delete gone response has a 4xx status code +func (o *PcloudTenantsSshkeysDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys delete gone response has a 5xx status code +func (o *PcloudTenantsSshkeysDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys delete gone response a status code equal to that given +func (o *PcloudTenantsSshkeysDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud tenants sshkeys delete gone response +func (o *PcloudTenantsSshkeysDeleteGone) Code() int { + return 410 +} + +func (o *PcloudTenantsSshkeysDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteGone %s", 410, payload) +} + +func (o *PcloudTenantsSshkeysDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteGone %s", 410, payload) +} + +func (o *PcloudTenantsSshkeysDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysDeleteInternalServerError creates a PcloudTenantsSshkeysDeleteInternalServerError with default headers values +func NewPcloudTenantsSshkeysDeleteInternalServerError() *PcloudTenantsSshkeysDeleteInternalServerError { + return &PcloudTenantsSshkeysDeleteInternalServerError{} +} + +/* +PcloudTenantsSshkeysDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTenantsSshkeysDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys delete internal server error response has a 2xx status code +func (o *PcloudTenantsSshkeysDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys delete internal server error response has a 3xx status code +func (o *PcloudTenantsSshkeysDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys delete internal server error response has a 4xx status code +func (o *PcloudTenantsSshkeysDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys delete internal server error response has a 5xx status code +func (o *PcloudTenantsSshkeysDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tenants sshkeys delete internal server error response a status code equal to that given +func (o *PcloudTenantsSshkeysDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tenants sshkeys delete internal server error response +func (o *PcloudTenantsSshkeysDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTenantsSshkeysDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_get_parameters.go new file mode 100644 index 000000000..d6eb58184 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudTenantsSshkeysGetParams creates a new PcloudTenantsSshkeysGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTenantsSshkeysGetParams() *PcloudTenantsSshkeysGetParams { + return &PcloudTenantsSshkeysGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTenantsSshkeysGetParamsWithTimeout creates a new PcloudTenantsSshkeysGetParams object +// with the ability to set a timeout on a request. +func NewPcloudTenantsSshkeysGetParamsWithTimeout(timeout time.Duration) *PcloudTenantsSshkeysGetParams { + return &PcloudTenantsSshkeysGetParams{ + timeout: timeout, + } +} + +// NewPcloudTenantsSshkeysGetParamsWithContext creates a new PcloudTenantsSshkeysGetParams object +// with the ability to set a context for a request. +func NewPcloudTenantsSshkeysGetParamsWithContext(ctx context.Context) *PcloudTenantsSshkeysGetParams { + return &PcloudTenantsSshkeysGetParams{ + Context: ctx, + } +} + +// NewPcloudTenantsSshkeysGetParamsWithHTTPClient creates a new PcloudTenantsSshkeysGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTenantsSshkeysGetParamsWithHTTPClient(client *http.Client) *PcloudTenantsSshkeysGetParams { + return &PcloudTenantsSshkeysGetParams{ + HTTPClient: client, + } +} + +/* +PcloudTenantsSshkeysGetParams contains all the parameters to send to the API endpoint + + for the pcloud tenants sshkeys get operation. + + Typically these are written to a http.Request. +*/ +type PcloudTenantsSshkeysGetParams struct { + + /* SshkeyName. + + SSH key name for a pcloud tenant + */ + SshkeyName string + + /* TenantID. + + Tenant ID of a pcloud tenant + */ + TenantID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tenants sshkeys get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysGetParams) WithDefaults() *PcloudTenantsSshkeysGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tenants sshkeys get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) WithTimeout(timeout time.Duration) *PcloudTenantsSshkeysGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) WithContext(ctx context.Context) *PcloudTenantsSshkeysGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) WithHTTPClient(client *http.Client) *PcloudTenantsSshkeysGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithSshkeyName adds the sshkeyName to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) WithSshkeyName(sshkeyName string) *PcloudTenantsSshkeysGetParams { + o.SetSshkeyName(sshkeyName) + return o +} + +// SetSshkeyName adds the sshkeyName to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) SetSshkeyName(sshkeyName string) { + o.SshkeyName = sshkeyName +} + +// WithTenantID adds the tenantID to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) WithTenantID(tenantID string) *PcloudTenantsSshkeysGetParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the pcloud tenants sshkeys get params +func (o *PcloudTenantsSshkeysGetParams) SetTenantID(tenantID string) { + o.TenantID = tenantID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTenantsSshkeysGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param sshkey_name + if err := r.SetPathParam("sshkey_name", o.SshkeyName); err != nil { + return err + } + + // path param tenant_id + if err := r.SetPathParam("tenant_id", o.TenantID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_get_responses.go new file mode 100644 index 000000000..d3c8d3ae5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTenantsSshkeysGetReader is a Reader for the PcloudTenantsSshkeysGet structure. +type PcloudTenantsSshkeysGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTenantsSshkeysGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTenantsSshkeysGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTenantsSshkeysGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTenantsSshkeysGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTenantsSshkeysGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTenantsSshkeysGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTenantsSshkeysGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}] pcloud.tenants.sshkeys.get", response, response.Code()) + } +} + +// NewPcloudTenantsSshkeysGetOK creates a PcloudTenantsSshkeysGetOK with default headers values +func NewPcloudTenantsSshkeysGetOK() *PcloudTenantsSshkeysGetOK { + return &PcloudTenantsSshkeysGetOK{} +} + +/* +PcloudTenantsSshkeysGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTenantsSshkeysGetOK struct { + Payload *models.SSHKey +} + +// IsSuccess returns true when this pcloud tenants sshkeys get o k response has a 2xx status code +func (o *PcloudTenantsSshkeysGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tenants sshkeys get o k response has a 3xx status code +func (o *PcloudTenantsSshkeysGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys get o k response has a 4xx status code +func (o *PcloudTenantsSshkeysGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys get o k response has a 5xx status code +func (o *PcloudTenantsSshkeysGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys get o k response a status code equal to that given +func (o *PcloudTenantsSshkeysGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tenants sshkeys get o k response +func (o *PcloudTenantsSshkeysGetOK) Code() int { + return 200 +} + +func (o *PcloudTenantsSshkeysGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysGetOK) GetPayload() *models.SSHKey { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SSHKey) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetBadRequest creates a PcloudTenantsSshkeysGetBadRequest with default headers values +func NewPcloudTenantsSshkeysGetBadRequest() *PcloudTenantsSshkeysGetBadRequest { + return &PcloudTenantsSshkeysGetBadRequest{} +} + +/* +PcloudTenantsSshkeysGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTenantsSshkeysGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys get bad request response has a 2xx status code +func (o *PcloudTenantsSshkeysGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys get bad request response has a 3xx status code +func (o *PcloudTenantsSshkeysGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys get bad request response has a 4xx status code +func (o *PcloudTenantsSshkeysGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys get bad request response has a 5xx status code +func (o *PcloudTenantsSshkeysGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys get bad request response a status code equal to that given +func (o *PcloudTenantsSshkeysGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tenants sshkeys get bad request response +func (o *PcloudTenantsSshkeysGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudTenantsSshkeysGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetUnauthorized creates a PcloudTenantsSshkeysGetUnauthorized with default headers values +func NewPcloudTenantsSshkeysGetUnauthorized() *PcloudTenantsSshkeysGetUnauthorized { + return &PcloudTenantsSshkeysGetUnauthorized{} +} + +/* +PcloudTenantsSshkeysGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTenantsSshkeysGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys get unauthorized response has a 2xx status code +func (o *PcloudTenantsSshkeysGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys get unauthorized response has a 3xx status code +func (o *PcloudTenantsSshkeysGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys get unauthorized response has a 4xx status code +func (o *PcloudTenantsSshkeysGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys get unauthorized response has a 5xx status code +func (o *PcloudTenantsSshkeysGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys get unauthorized response a status code equal to that given +func (o *PcloudTenantsSshkeysGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tenants sshkeys get unauthorized response +func (o *PcloudTenantsSshkeysGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTenantsSshkeysGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetForbidden creates a PcloudTenantsSshkeysGetForbidden with default headers values +func NewPcloudTenantsSshkeysGetForbidden() *PcloudTenantsSshkeysGetForbidden { + return &PcloudTenantsSshkeysGetForbidden{} +} + +/* +PcloudTenantsSshkeysGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTenantsSshkeysGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys get forbidden response has a 2xx status code +func (o *PcloudTenantsSshkeysGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys get forbidden response has a 3xx status code +func (o *PcloudTenantsSshkeysGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys get forbidden response has a 4xx status code +func (o *PcloudTenantsSshkeysGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys get forbidden response has a 5xx status code +func (o *PcloudTenantsSshkeysGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys get forbidden response a status code equal to that given +func (o *PcloudTenantsSshkeysGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tenants sshkeys get forbidden response +func (o *PcloudTenantsSshkeysGetForbidden) Code() int { + return 403 +} + +func (o *PcloudTenantsSshkeysGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetNotFound creates a PcloudTenantsSshkeysGetNotFound with default headers values +func NewPcloudTenantsSshkeysGetNotFound() *PcloudTenantsSshkeysGetNotFound { + return &PcloudTenantsSshkeysGetNotFound{} +} + +/* +PcloudTenantsSshkeysGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTenantsSshkeysGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys get not found response has a 2xx status code +func (o *PcloudTenantsSshkeysGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys get not found response has a 3xx status code +func (o *PcloudTenantsSshkeysGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys get not found response has a 4xx status code +func (o *PcloudTenantsSshkeysGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys get not found response has a 5xx status code +func (o *PcloudTenantsSshkeysGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys get not found response a status code equal to that given +func (o *PcloudTenantsSshkeysGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tenants sshkeys get not found response +func (o *PcloudTenantsSshkeysGetNotFound) Code() int { + return 404 +} + +func (o *PcloudTenantsSshkeysGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetInternalServerError creates a PcloudTenantsSshkeysGetInternalServerError with default headers values +func NewPcloudTenantsSshkeysGetInternalServerError() *PcloudTenantsSshkeysGetInternalServerError { + return &PcloudTenantsSshkeysGetInternalServerError{} +} + +/* +PcloudTenantsSshkeysGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTenantsSshkeysGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys get internal server error response has a 2xx status code +func (o *PcloudTenantsSshkeysGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys get internal server error response has a 3xx status code +func (o *PcloudTenantsSshkeysGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys get internal server error response has a 4xx status code +func (o *PcloudTenantsSshkeysGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys get internal server error response has a 5xx status code +func (o *PcloudTenantsSshkeysGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tenants sshkeys get internal server error response a status code equal to that given +func (o *PcloudTenantsSshkeysGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tenants sshkeys get internal server error response +func (o *PcloudTenantsSshkeysGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTenantsSshkeysGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysGetInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_getall_parameters.go new file mode 100644 index 000000000..ce7cb34d5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudTenantsSshkeysGetallParams creates a new PcloudTenantsSshkeysGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTenantsSshkeysGetallParams() *PcloudTenantsSshkeysGetallParams { + return &PcloudTenantsSshkeysGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTenantsSshkeysGetallParamsWithTimeout creates a new PcloudTenantsSshkeysGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudTenantsSshkeysGetallParamsWithTimeout(timeout time.Duration) *PcloudTenantsSshkeysGetallParams { + return &PcloudTenantsSshkeysGetallParams{ + timeout: timeout, + } +} + +// NewPcloudTenantsSshkeysGetallParamsWithContext creates a new PcloudTenantsSshkeysGetallParams object +// with the ability to set a context for a request. +func NewPcloudTenantsSshkeysGetallParamsWithContext(ctx context.Context) *PcloudTenantsSshkeysGetallParams { + return &PcloudTenantsSshkeysGetallParams{ + Context: ctx, + } +} + +// NewPcloudTenantsSshkeysGetallParamsWithHTTPClient creates a new PcloudTenantsSshkeysGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTenantsSshkeysGetallParamsWithHTTPClient(client *http.Client) *PcloudTenantsSshkeysGetallParams { + return &PcloudTenantsSshkeysGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudTenantsSshkeysGetallParams contains all the parameters to send to the API endpoint + + for the pcloud tenants sshkeys getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudTenantsSshkeysGetallParams struct { + + /* TenantID. + + Tenant ID of a pcloud tenant + */ + TenantID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tenants sshkeys getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysGetallParams) WithDefaults() *PcloudTenantsSshkeysGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tenants sshkeys getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tenants sshkeys getall params +func (o *PcloudTenantsSshkeysGetallParams) WithTimeout(timeout time.Duration) *PcloudTenantsSshkeysGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tenants sshkeys getall params +func (o *PcloudTenantsSshkeysGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tenants sshkeys getall params +func (o *PcloudTenantsSshkeysGetallParams) WithContext(ctx context.Context) *PcloudTenantsSshkeysGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tenants sshkeys getall params +func (o *PcloudTenantsSshkeysGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tenants sshkeys getall params +func (o *PcloudTenantsSshkeysGetallParams) WithHTTPClient(client *http.Client) *PcloudTenantsSshkeysGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tenants sshkeys getall params +func (o *PcloudTenantsSshkeysGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithTenantID adds the tenantID to the pcloud tenants sshkeys getall params +func (o *PcloudTenantsSshkeysGetallParams) WithTenantID(tenantID string) *PcloudTenantsSshkeysGetallParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the pcloud tenants sshkeys getall params +func (o *PcloudTenantsSshkeysGetallParams) SetTenantID(tenantID string) { + o.TenantID = tenantID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTenantsSshkeysGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param tenant_id + if err := r.SetPathParam("tenant_id", o.TenantID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_getall_responses.go new file mode 100644 index 000000000..fa8883528 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTenantsSshkeysGetallReader is a Reader for the PcloudTenantsSshkeysGetall structure. +type PcloudTenantsSshkeysGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTenantsSshkeysGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTenantsSshkeysGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTenantsSshkeysGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTenantsSshkeysGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTenantsSshkeysGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTenantsSshkeysGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTenantsSshkeysGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys] pcloud.tenants.sshkeys.getall", response, response.Code()) + } +} + +// NewPcloudTenantsSshkeysGetallOK creates a PcloudTenantsSshkeysGetallOK with default headers values +func NewPcloudTenantsSshkeysGetallOK() *PcloudTenantsSshkeysGetallOK { + return &PcloudTenantsSshkeysGetallOK{} +} + +/* +PcloudTenantsSshkeysGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTenantsSshkeysGetallOK struct { + Payload *models.SSHKeys +} + +// IsSuccess returns true when this pcloud tenants sshkeys getall o k response has a 2xx status code +func (o *PcloudTenantsSshkeysGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tenants sshkeys getall o k response has a 3xx status code +func (o *PcloudTenantsSshkeysGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys getall o k response has a 4xx status code +func (o *PcloudTenantsSshkeysGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys getall o k response has a 5xx status code +func (o *PcloudTenantsSshkeysGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys getall o k response a status code equal to that given +func (o *PcloudTenantsSshkeysGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tenants sshkeys getall o k response +func (o *PcloudTenantsSshkeysGetallOK) Code() int { + return 200 +} + +func (o *PcloudTenantsSshkeysGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysGetallOK) GetPayload() *models.SSHKeys { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SSHKeys) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetallBadRequest creates a PcloudTenantsSshkeysGetallBadRequest with default headers values +func NewPcloudTenantsSshkeysGetallBadRequest() *PcloudTenantsSshkeysGetallBadRequest { + return &PcloudTenantsSshkeysGetallBadRequest{} +} + +/* +PcloudTenantsSshkeysGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTenantsSshkeysGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys getall bad request response has a 2xx status code +func (o *PcloudTenantsSshkeysGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys getall bad request response has a 3xx status code +func (o *PcloudTenantsSshkeysGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys getall bad request response has a 4xx status code +func (o *PcloudTenantsSshkeysGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys getall bad request response has a 5xx status code +func (o *PcloudTenantsSshkeysGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys getall bad request response a status code equal to that given +func (o *PcloudTenantsSshkeysGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tenants sshkeys getall bad request response +func (o *PcloudTenantsSshkeysGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudTenantsSshkeysGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetallUnauthorized creates a PcloudTenantsSshkeysGetallUnauthorized with default headers values +func NewPcloudTenantsSshkeysGetallUnauthorized() *PcloudTenantsSshkeysGetallUnauthorized { + return &PcloudTenantsSshkeysGetallUnauthorized{} +} + +/* +PcloudTenantsSshkeysGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTenantsSshkeysGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys getall unauthorized response has a 2xx status code +func (o *PcloudTenantsSshkeysGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys getall unauthorized response has a 3xx status code +func (o *PcloudTenantsSshkeysGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys getall unauthorized response has a 4xx status code +func (o *PcloudTenantsSshkeysGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys getall unauthorized response has a 5xx status code +func (o *PcloudTenantsSshkeysGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys getall unauthorized response a status code equal to that given +func (o *PcloudTenantsSshkeysGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tenants sshkeys getall unauthorized response +func (o *PcloudTenantsSshkeysGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTenantsSshkeysGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetallForbidden creates a PcloudTenantsSshkeysGetallForbidden with default headers values +func NewPcloudTenantsSshkeysGetallForbidden() *PcloudTenantsSshkeysGetallForbidden { + return &PcloudTenantsSshkeysGetallForbidden{} +} + +/* +PcloudTenantsSshkeysGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTenantsSshkeysGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys getall forbidden response has a 2xx status code +func (o *PcloudTenantsSshkeysGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys getall forbidden response has a 3xx status code +func (o *PcloudTenantsSshkeysGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys getall forbidden response has a 4xx status code +func (o *PcloudTenantsSshkeysGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys getall forbidden response has a 5xx status code +func (o *PcloudTenantsSshkeysGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys getall forbidden response a status code equal to that given +func (o *PcloudTenantsSshkeysGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tenants sshkeys getall forbidden response +func (o *PcloudTenantsSshkeysGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudTenantsSshkeysGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetallNotFound creates a PcloudTenantsSshkeysGetallNotFound with default headers values +func NewPcloudTenantsSshkeysGetallNotFound() *PcloudTenantsSshkeysGetallNotFound { + return &PcloudTenantsSshkeysGetallNotFound{} +} + +/* +PcloudTenantsSshkeysGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTenantsSshkeysGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys getall not found response has a 2xx status code +func (o *PcloudTenantsSshkeysGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys getall not found response has a 3xx status code +func (o *PcloudTenantsSshkeysGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys getall not found response has a 4xx status code +func (o *PcloudTenantsSshkeysGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys getall not found response has a 5xx status code +func (o *PcloudTenantsSshkeysGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys getall not found response a status code equal to that given +func (o *PcloudTenantsSshkeysGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tenants sshkeys getall not found response +func (o *PcloudTenantsSshkeysGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudTenantsSshkeysGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysGetallInternalServerError creates a PcloudTenantsSshkeysGetallInternalServerError with default headers values +func NewPcloudTenantsSshkeysGetallInternalServerError() *PcloudTenantsSshkeysGetallInternalServerError { + return &PcloudTenantsSshkeysGetallInternalServerError{} +} + +/* +PcloudTenantsSshkeysGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTenantsSshkeysGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys getall internal server error response has a 2xx status code +func (o *PcloudTenantsSshkeysGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys getall internal server error response has a 3xx status code +func (o *PcloudTenantsSshkeysGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys getall internal server error response has a 4xx status code +func (o *PcloudTenantsSshkeysGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys getall internal server error response has a 5xx status code +func (o *PcloudTenantsSshkeysGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tenants sshkeys getall internal server error response a status code equal to that given +func (o *PcloudTenantsSshkeysGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tenants sshkeys getall internal server error response +func (o *PcloudTenantsSshkeysGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTenantsSshkeysGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_post_parameters.go new file mode 100644 index 000000000..1db66eb58 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudTenantsSshkeysPostParams creates a new PcloudTenantsSshkeysPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTenantsSshkeysPostParams() *PcloudTenantsSshkeysPostParams { + return &PcloudTenantsSshkeysPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTenantsSshkeysPostParamsWithTimeout creates a new PcloudTenantsSshkeysPostParams object +// with the ability to set a timeout on a request. +func NewPcloudTenantsSshkeysPostParamsWithTimeout(timeout time.Duration) *PcloudTenantsSshkeysPostParams { + return &PcloudTenantsSshkeysPostParams{ + timeout: timeout, + } +} + +// NewPcloudTenantsSshkeysPostParamsWithContext creates a new PcloudTenantsSshkeysPostParams object +// with the ability to set a context for a request. +func NewPcloudTenantsSshkeysPostParamsWithContext(ctx context.Context) *PcloudTenantsSshkeysPostParams { + return &PcloudTenantsSshkeysPostParams{ + Context: ctx, + } +} + +// NewPcloudTenantsSshkeysPostParamsWithHTTPClient creates a new PcloudTenantsSshkeysPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTenantsSshkeysPostParamsWithHTTPClient(client *http.Client) *PcloudTenantsSshkeysPostParams { + return &PcloudTenantsSshkeysPostParams{ + HTTPClient: client, + } +} + +/* +PcloudTenantsSshkeysPostParams contains all the parameters to send to the API endpoint + + for the pcloud tenants sshkeys post operation. + + Typically these are written to a http.Request. +*/ +type PcloudTenantsSshkeysPostParams struct { + + /* Body. + + Parameters for the creation of a new SSH key + */ + Body *models.SSHKey + + /* TenantID. + + Tenant ID of a pcloud tenant + */ + TenantID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tenants sshkeys post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysPostParams) WithDefaults() *PcloudTenantsSshkeysPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tenants sshkeys post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) WithTimeout(timeout time.Duration) *PcloudTenantsSshkeysPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) WithContext(ctx context.Context) *PcloudTenantsSshkeysPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) WithHTTPClient(client *http.Client) *PcloudTenantsSshkeysPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) WithBody(body *models.SSHKey) *PcloudTenantsSshkeysPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) SetBody(body *models.SSHKey) { + o.Body = body +} + +// WithTenantID adds the tenantID to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) WithTenantID(tenantID string) *PcloudTenantsSshkeysPostParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the pcloud tenants sshkeys post params +func (o *PcloudTenantsSshkeysPostParams) SetTenantID(tenantID string) { + o.TenantID = tenantID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTenantsSshkeysPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param tenant_id + if err := r.SetPathParam("tenant_id", o.TenantID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_post_responses.go new file mode 100644 index 000000000..83c3ade4e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_post_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTenantsSshkeysPostReader is a Reader for the PcloudTenantsSshkeysPost structure. +type PcloudTenantsSshkeysPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTenantsSshkeysPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTenantsSshkeysPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewPcloudTenantsSshkeysPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTenantsSshkeysPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTenantsSshkeysPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTenantsSshkeysPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTenantsSshkeysPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudTenantsSshkeysPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudTenantsSshkeysPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTenantsSshkeysPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys] pcloud.tenants.sshkeys.post", response, response.Code()) + } +} + +// NewPcloudTenantsSshkeysPostOK creates a PcloudTenantsSshkeysPostOK with default headers values +func NewPcloudTenantsSshkeysPostOK() *PcloudTenantsSshkeysPostOK { + return &PcloudTenantsSshkeysPostOK{} +} + +/* +PcloudTenantsSshkeysPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTenantsSshkeysPostOK struct { + Payload *models.SSHKey +} + +// IsSuccess returns true when this pcloud tenants sshkeys post o k response has a 2xx status code +func (o *PcloudTenantsSshkeysPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tenants sshkeys post o k response has a 3xx status code +func (o *PcloudTenantsSshkeysPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post o k response has a 4xx status code +func (o *PcloudTenantsSshkeysPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys post o k response has a 5xx status code +func (o *PcloudTenantsSshkeysPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys post o k response a status code equal to that given +func (o *PcloudTenantsSshkeysPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tenants sshkeys post o k response +func (o *PcloudTenantsSshkeysPostOK) Code() int { + return 200 +} + +func (o *PcloudTenantsSshkeysPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysPostOK) GetPayload() *models.SSHKey { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SSHKey) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPostCreated creates a PcloudTenantsSshkeysPostCreated with default headers values +func NewPcloudTenantsSshkeysPostCreated() *PcloudTenantsSshkeysPostCreated { + return &PcloudTenantsSshkeysPostCreated{} +} + +/* +PcloudTenantsSshkeysPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudTenantsSshkeysPostCreated struct { + Payload *models.SSHKey +} + +// IsSuccess returns true when this pcloud tenants sshkeys post created response has a 2xx status code +func (o *PcloudTenantsSshkeysPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tenants sshkeys post created response has a 3xx status code +func (o *PcloudTenantsSshkeysPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post created response has a 4xx status code +func (o *PcloudTenantsSshkeysPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys post created response has a 5xx status code +func (o *PcloudTenantsSshkeysPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys post created response a status code equal to that given +func (o *PcloudTenantsSshkeysPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud tenants sshkeys post created response +func (o *PcloudTenantsSshkeysPostCreated) Code() int { + return 201 +} + +func (o *PcloudTenantsSshkeysPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostCreated %s", 201, payload) +} + +func (o *PcloudTenantsSshkeysPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostCreated %s", 201, payload) +} + +func (o *PcloudTenantsSshkeysPostCreated) GetPayload() *models.SSHKey { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SSHKey) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPostBadRequest creates a PcloudTenantsSshkeysPostBadRequest with default headers values +func NewPcloudTenantsSshkeysPostBadRequest() *PcloudTenantsSshkeysPostBadRequest { + return &PcloudTenantsSshkeysPostBadRequest{} +} + +/* +PcloudTenantsSshkeysPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTenantsSshkeysPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys post bad request response has a 2xx status code +func (o *PcloudTenantsSshkeysPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys post bad request response has a 3xx status code +func (o *PcloudTenantsSshkeysPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post bad request response has a 4xx status code +func (o *PcloudTenantsSshkeysPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys post bad request response has a 5xx status code +func (o *PcloudTenantsSshkeysPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys post bad request response a status code equal to that given +func (o *PcloudTenantsSshkeysPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tenants sshkeys post bad request response +func (o *PcloudTenantsSshkeysPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudTenantsSshkeysPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPostUnauthorized creates a PcloudTenantsSshkeysPostUnauthorized with default headers values +func NewPcloudTenantsSshkeysPostUnauthorized() *PcloudTenantsSshkeysPostUnauthorized { + return &PcloudTenantsSshkeysPostUnauthorized{} +} + +/* +PcloudTenantsSshkeysPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTenantsSshkeysPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys post unauthorized response has a 2xx status code +func (o *PcloudTenantsSshkeysPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys post unauthorized response has a 3xx status code +func (o *PcloudTenantsSshkeysPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post unauthorized response has a 4xx status code +func (o *PcloudTenantsSshkeysPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys post unauthorized response has a 5xx status code +func (o *PcloudTenantsSshkeysPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys post unauthorized response a status code equal to that given +func (o *PcloudTenantsSshkeysPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tenants sshkeys post unauthorized response +func (o *PcloudTenantsSshkeysPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTenantsSshkeysPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPostForbidden creates a PcloudTenantsSshkeysPostForbidden with default headers values +func NewPcloudTenantsSshkeysPostForbidden() *PcloudTenantsSshkeysPostForbidden { + return &PcloudTenantsSshkeysPostForbidden{} +} + +/* +PcloudTenantsSshkeysPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTenantsSshkeysPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys post forbidden response has a 2xx status code +func (o *PcloudTenantsSshkeysPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys post forbidden response has a 3xx status code +func (o *PcloudTenantsSshkeysPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post forbidden response has a 4xx status code +func (o *PcloudTenantsSshkeysPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys post forbidden response has a 5xx status code +func (o *PcloudTenantsSshkeysPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys post forbidden response a status code equal to that given +func (o *PcloudTenantsSshkeysPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tenants sshkeys post forbidden response +func (o *PcloudTenantsSshkeysPostForbidden) Code() int { + return 403 +} + +func (o *PcloudTenantsSshkeysPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPostNotFound creates a PcloudTenantsSshkeysPostNotFound with default headers values +func NewPcloudTenantsSshkeysPostNotFound() *PcloudTenantsSshkeysPostNotFound { + return &PcloudTenantsSshkeysPostNotFound{} +} + +/* +PcloudTenantsSshkeysPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTenantsSshkeysPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys post not found response has a 2xx status code +func (o *PcloudTenantsSshkeysPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys post not found response has a 3xx status code +func (o *PcloudTenantsSshkeysPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post not found response has a 4xx status code +func (o *PcloudTenantsSshkeysPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys post not found response has a 5xx status code +func (o *PcloudTenantsSshkeysPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys post not found response a status code equal to that given +func (o *PcloudTenantsSshkeysPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tenants sshkeys post not found response +func (o *PcloudTenantsSshkeysPostNotFound) Code() int { + return 404 +} + +func (o *PcloudTenantsSshkeysPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPostConflict creates a PcloudTenantsSshkeysPostConflict with default headers values +func NewPcloudTenantsSshkeysPostConflict() *PcloudTenantsSshkeysPostConflict { + return &PcloudTenantsSshkeysPostConflict{} +} + +/* +PcloudTenantsSshkeysPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudTenantsSshkeysPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys post conflict response has a 2xx status code +func (o *PcloudTenantsSshkeysPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys post conflict response has a 3xx status code +func (o *PcloudTenantsSshkeysPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post conflict response has a 4xx status code +func (o *PcloudTenantsSshkeysPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys post conflict response has a 5xx status code +func (o *PcloudTenantsSshkeysPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys post conflict response a status code equal to that given +func (o *PcloudTenantsSshkeysPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud tenants sshkeys post conflict response +func (o *PcloudTenantsSshkeysPostConflict) Code() int { + return 409 +} + +func (o *PcloudTenantsSshkeysPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostConflict %s", 409, payload) +} + +func (o *PcloudTenantsSshkeysPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostConflict %s", 409, payload) +} + +func (o *PcloudTenantsSshkeysPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPostUnprocessableEntity creates a PcloudTenantsSshkeysPostUnprocessableEntity with default headers values +func NewPcloudTenantsSshkeysPostUnprocessableEntity() *PcloudTenantsSshkeysPostUnprocessableEntity { + return &PcloudTenantsSshkeysPostUnprocessableEntity{} +} + +/* +PcloudTenantsSshkeysPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudTenantsSshkeysPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys post unprocessable entity response has a 2xx status code +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys post unprocessable entity response has a 3xx status code +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post unprocessable entity response has a 4xx status code +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys post unprocessable entity response has a 5xx status code +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys post unprocessable entity response a status code equal to that given +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud tenants sshkeys post unprocessable entity response +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPostInternalServerError creates a PcloudTenantsSshkeysPostInternalServerError with default headers values +func NewPcloudTenantsSshkeysPostInternalServerError() *PcloudTenantsSshkeysPostInternalServerError { + return &PcloudTenantsSshkeysPostInternalServerError{} +} + +/* +PcloudTenantsSshkeysPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTenantsSshkeysPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys post internal server error response has a 2xx status code +func (o *PcloudTenantsSshkeysPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys post internal server error response has a 3xx status code +func (o *PcloudTenantsSshkeysPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys post internal server error response has a 4xx status code +func (o *PcloudTenantsSshkeysPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys post internal server error response has a 5xx status code +func (o *PcloudTenantsSshkeysPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tenants sshkeys post internal server error response a status code equal to that given +func (o *PcloudTenantsSshkeysPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tenants sshkeys post internal server error response +func (o *PcloudTenantsSshkeysPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTenantsSshkeysPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/tenants/{tenant_id}/sshkeys][%d] pcloudTenantsSshkeysPostInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_put_parameters.go new file mode 100644 index 000000000..dec8247f1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudTenantsSshkeysPutParams creates a new PcloudTenantsSshkeysPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudTenantsSshkeysPutParams() *PcloudTenantsSshkeysPutParams { + return &PcloudTenantsSshkeysPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudTenantsSshkeysPutParamsWithTimeout creates a new PcloudTenantsSshkeysPutParams object +// with the ability to set a timeout on a request. +func NewPcloudTenantsSshkeysPutParamsWithTimeout(timeout time.Duration) *PcloudTenantsSshkeysPutParams { + return &PcloudTenantsSshkeysPutParams{ + timeout: timeout, + } +} + +// NewPcloudTenantsSshkeysPutParamsWithContext creates a new PcloudTenantsSshkeysPutParams object +// with the ability to set a context for a request. +func NewPcloudTenantsSshkeysPutParamsWithContext(ctx context.Context) *PcloudTenantsSshkeysPutParams { + return &PcloudTenantsSshkeysPutParams{ + Context: ctx, + } +} + +// NewPcloudTenantsSshkeysPutParamsWithHTTPClient creates a new PcloudTenantsSshkeysPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudTenantsSshkeysPutParamsWithHTTPClient(client *http.Client) *PcloudTenantsSshkeysPutParams { + return &PcloudTenantsSshkeysPutParams{ + HTTPClient: client, + } +} + +/* +PcloudTenantsSshkeysPutParams contains all the parameters to send to the API endpoint + + for the pcloud tenants sshkeys put operation. + + Typically these are written to a http.Request. +*/ +type PcloudTenantsSshkeysPutParams struct { + + /* Body. + + Parameters for updating a Tenant's SSH Key + */ + Body *models.SSHKey + + /* SshkeyName. + + SSH key name for a pcloud tenant + */ + SshkeyName string + + /* TenantID. + + Tenant ID of a pcloud tenant + */ + TenantID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud tenants sshkeys put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysPutParams) WithDefaults() *PcloudTenantsSshkeysPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud tenants sshkeys put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudTenantsSshkeysPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) WithTimeout(timeout time.Duration) *PcloudTenantsSshkeysPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) WithContext(ctx context.Context) *PcloudTenantsSshkeysPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) WithHTTPClient(client *http.Client) *PcloudTenantsSshkeysPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) WithBody(body *models.SSHKey) *PcloudTenantsSshkeysPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) SetBody(body *models.SSHKey) { + o.Body = body +} + +// WithSshkeyName adds the sshkeyName to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) WithSshkeyName(sshkeyName string) *PcloudTenantsSshkeysPutParams { + o.SetSshkeyName(sshkeyName) + return o +} + +// SetSshkeyName adds the sshkeyName to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) SetSshkeyName(sshkeyName string) { + o.SshkeyName = sshkeyName +} + +// WithTenantID adds the tenantID to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) WithTenantID(tenantID string) *PcloudTenantsSshkeysPutParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the pcloud tenants sshkeys put params +func (o *PcloudTenantsSshkeysPutParams) SetTenantID(tenantID string) { + o.TenantID = tenantID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudTenantsSshkeysPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param sshkey_name + if err := r.SetPathParam("sshkey_name", o.SshkeyName); err != nil { + return err + } + + // path param tenant_id + if err := r.SetPathParam("tenant_id", o.TenantID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_put_responses.go new file mode 100644 index 000000000..5e2a4fb52 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys/pcloud_tenants_sshkeys_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_tenants_ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudTenantsSshkeysPutReader is a Reader for the PcloudTenantsSshkeysPut structure. +type PcloudTenantsSshkeysPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudTenantsSshkeysPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudTenantsSshkeysPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudTenantsSshkeysPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudTenantsSshkeysPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudTenantsSshkeysPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudTenantsSshkeysPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudTenantsSshkeysPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudTenantsSshkeysPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}] pcloud.tenants.sshkeys.put", response, response.Code()) + } +} + +// NewPcloudTenantsSshkeysPutOK creates a PcloudTenantsSshkeysPutOK with default headers values +func NewPcloudTenantsSshkeysPutOK() *PcloudTenantsSshkeysPutOK { + return &PcloudTenantsSshkeysPutOK{} +} + +/* +PcloudTenantsSshkeysPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudTenantsSshkeysPutOK struct { + Payload *models.SSHKey +} + +// IsSuccess returns true when this pcloud tenants sshkeys put o k response has a 2xx status code +func (o *PcloudTenantsSshkeysPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud tenants sshkeys put o k response has a 3xx status code +func (o *PcloudTenantsSshkeysPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys put o k response has a 4xx status code +func (o *PcloudTenantsSshkeysPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys put o k response has a 5xx status code +func (o *PcloudTenantsSshkeysPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys put o k response a status code equal to that given +func (o *PcloudTenantsSshkeysPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud tenants sshkeys put o k response +func (o *PcloudTenantsSshkeysPutOK) Code() int { + return 200 +} + +func (o *PcloudTenantsSshkeysPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutOK %s", 200, payload) +} + +func (o *PcloudTenantsSshkeysPutOK) GetPayload() *models.SSHKey { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SSHKey) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPutBadRequest creates a PcloudTenantsSshkeysPutBadRequest with default headers values +func NewPcloudTenantsSshkeysPutBadRequest() *PcloudTenantsSshkeysPutBadRequest { + return &PcloudTenantsSshkeysPutBadRequest{} +} + +/* +PcloudTenantsSshkeysPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudTenantsSshkeysPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys put bad request response has a 2xx status code +func (o *PcloudTenantsSshkeysPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys put bad request response has a 3xx status code +func (o *PcloudTenantsSshkeysPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys put bad request response has a 4xx status code +func (o *PcloudTenantsSshkeysPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys put bad request response has a 5xx status code +func (o *PcloudTenantsSshkeysPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys put bad request response a status code equal to that given +func (o *PcloudTenantsSshkeysPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud tenants sshkeys put bad request response +func (o *PcloudTenantsSshkeysPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudTenantsSshkeysPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutBadRequest %s", 400, payload) +} + +func (o *PcloudTenantsSshkeysPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPutUnauthorized creates a PcloudTenantsSshkeysPutUnauthorized with default headers values +func NewPcloudTenantsSshkeysPutUnauthorized() *PcloudTenantsSshkeysPutUnauthorized { + return &PcloudTenantsSshkeysPutUnauthorized{} +} + +/* +PcloudTenantsSshkeysPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudTenantsSshkeysPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys put unauthorized response has a 2xx status code +func (o *PcloudTenantsSshkeysPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys put unauthorized response has a 3xx status code +func (o *PcloudTenantsSshkeysPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys put unauthorized response has a 4xx status code +func (o *PcloudTenantsSshkeysPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys put unauthorized response has a 5xx status code +func (o *PcloudTenantsSshkeysPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys put unauthorized response a status code equal to that given +func (o *PcloudTenantsSshkeysPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud tenants sshkeys put unauthorized response +func (o *PcloudTenantsSshkeysPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudTenantsSshkeysPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutUnauthorized %s", 401, payload) +} + +func (o *PcloudTenantsSshkeysPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPutForbidden creates a PcloudTenantsSshkeysPutForbidden with default headers values +func NewPcloudTenantsSshkeysPutForbidden() *PcloudTenantsSshkeysPutForbidden { + return &PcloudTenantsSshkeysPutForbidden{} +} + +/* +PcloudTenantsSshkeysPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudTenantsSshkeysPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys put forbidden response has a 2xx status code +func (o *PcloudTenantsSshkeysPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys put forbidden response has a 3xx status code +func (o *PcloudTenantsSshkeysPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys put forbidden response has a 4xx status code +func (o *PcloudTenantsSshkeysPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys put forbidden response has a 5xx status code +func (o *PcloudTenantsSshkeysPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys put forbidden response a status code equal to that given +func (o *PcloudTenantsSshkeysPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud tenants sshkeys put forbidden response +func (o *PcloudTenantsSshkeysPutForbidden) Code() int { + return 403 +} + +func (o *PcloudTenantsSshkeysPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutForbidden %s", 403, payload) +} + +func (o *PcloudTenantsSshkeysPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPutNotFound creates a PcloudTenantsSshkeysPutNotFound with default headers values +func NewPcloudTenantsSshkeysPutNotFound() *PcloudTenantsSshkeysPutNotFound { + return &PcloudTenantsSshkeysPutNotFound{} +} + +/* +PcloudTenantsSshkeysPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudTenantsSshkeysPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys put not found response has a 2xx status code +func (o *PcloudTenantsSshkeysPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys put not found response has a 3xx status code +func (o *PcloudTenantsSshkeysPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys put not found response has a 4xx status code +func (o *PcloudTenantsSshkeysPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys put not found response has a 5xx status code +func (o *PcloudTenantsSshkeysPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys put not found response a status code equal to that given +func (o *PcloudTenantsSshkeysPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud tenants sshkeys put not found response +func (o *PcloudTenantsSshkeysPutNotFound) Code() int { + return 404 +} + +func (o *PcloudTenantsSshkeysPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutNotFound %s", 404, payload) +} + +func (o *PcloudTenantsSshkeysPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPutUnprocessableEntity creates a PcloudTenantsSshkeysPutUnprocessableEntity with default headers values +func NewPcloudTenantsSshkeysPutUnprocessableEntity() *PcloudTenantsSshkeysPutUnprocessableEntity { + return &PcloudTenantsSshkeysPutUnprocessableEntity{} +} + +/* +PcloudTenantsSshkeysPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudTenantsSshkeysPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys put unprocessable entity response has a 2xx status code +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys put unprocessable entity response has a 3xx status code +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys put unprocessable entity response has a 4xx status code +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud tenants sshkeys put unprocessable entity response has a 5xx status code +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud tenants sshkeys put unprocessable entity response a status code equal to that given +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud tenants sshkeys put unprocessable entity response +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudTenantsSshkeysPutInternalServerError creates a PcloudTenantsSshkeysPutInternalServerError with default headers values +func NewPcloudTenantsSshkeysPutInternalServerError() *PcloudTenantsSshkeysPutInternalServerError { + return &PcloudTenantsSshkeysPutInternalServerError{} +} + +/* +PcloudTenantsSshkeysPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudTenantsSshkeysPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud tenants sshkeys put internal server error response has a 2xx status code +func (o *PcloudTenantsSshkeysPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud tenants sshkeys put internal server error response has a 3xx status code +func (o *PcloudTenantsSshkeysPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud tenants sshkeys put internal server error response has a 4xx status code +func (o *PcloudTenantsSshkeysPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud tenants sshkeys put internal server error response has a 5xx status code +func (o *PcloudTenantsSshkeysPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud tenants sshkeys put internal server error response a status code equal to that given +func (o *PcloudTenantsSshkeysPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud tenants sshkeys put internal server error response +func (o *PcloudTenantsSshkeysPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudTenantsSshkeysPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/tenants/{tenant_id}/sshkeys/{sshkey_name}][%d] pcloudTenantsSshkeysPutInternalServerError %s", 500, payload) +} + +func (o *PcloudTenantsSshkeysPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudTenantsSshkeysPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/p_cloudvp_mem_volumes_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/p_cloudvp_mem_volumes_client.go new file mode 100644 index 000000000..175ddc014 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/p_cloudvp_mem_volumes_client.go @@ -0,0 +1,253 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud v p mem volumes API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud v p mem volumes API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud v p mem volumes API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud v p mem volumes API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudPvminstancesVpmemVolumesDelete(params *PcloudPvminstancesVpmemVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVpmemVolumesDeleteAccepted, error) + + PcloudPvminstancesVpmemVolumesGet(params *PcloudPvminstancesVpmemVolumesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVpmemVolumesGetOK, error) + + PcloudPvminstancesVpmemVolumesGetall(params *PcloudPvminstancesVpmemVolumesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVpmemVolumesGetallOK, error) + + PcloudPvminstancesVpmemVolumesPost(params *PcloudPvminstancesVpmemVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVpmemVolumesPostAccepted, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudPvminstancesVpmemVolumesDelete deletes a v p m e m volume attached to this p VM instance + +vPMEM volumes of PVM Instances using SAP profiles will return carved out memory. Other cases are a reduction from total memory. +*/ +func (a *Client) PcloudPvminstancesVpmemVolumesDelete(params *PcloudPvminstancesVpmemVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVpmemVolumesDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVpmemVolumesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.vpmem-volumes.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVpmemVolumesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVpmemVolumesDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.vpmem-volumes.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVpmemVolumesGet gets information about a v p m e m volume +*/ +func (a *Client) PcloudPvminstancesVpmemVolumesGet(params *PcloudPvminstancesVpmemVolumesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVpmemVolumesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVpmemVolumesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.vpmem-volumes.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVpmemVolumesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVpmemVolumesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.vpmem-volumes.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVpmemVolumesGetall lists all v p m e m volumes attached to this p VM instance +*/ +func (a *Client) PcloudPvminstancesVpmemVolumesGetall(params *PcloudPvminstancesVpmemVolumesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVpmemVolumesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVpmemVolumesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.vpmem-volumes.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVpmemVolumesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVpmemVolumesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.vpmem-volumes.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVpmemVolumesPost creates a v p m e m volume to be attached to this p VM instance + +vPMEM volumes of PVM Instances using SAP profiles will be carved out of profile total memory. Other cases are in addition to total memory. +*/ +func (a *Client) PcloudPvminstancesVpmemVolumesPost(params *PcloudPvminstancesVpmemVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVpmemVolumesPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVpmemVolumesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.vpmem-volumes.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVpmemVolumesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVpmemVolumesPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.vpmem-volumes.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_delete_parameters.go new file mode 100644 index 000000000..fede6ddc3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_delete_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVpmemVolumesDeleteParams creates a new PcloudPvminstancesVpmemVolumesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVpmemVolumesDeleteParams() *PcloudPvminstancesVpmemVolumesDeleteParams { + return &PcloudPvminstancesVpmemVolumesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVpmemVolumesDeleteParamsWithTimeout creates a new PcloudPvminstancesVpmemVolumesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVpmemVolumesDeleteParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVpmemVolumesDeleteParams { + return &PcloudPvminstancesVpmemVolumesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVpmemVolumesDeleteParamsWithContext creates a new PcloudPvminstancesVpmemVolumesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVpmemVolumesDeleteParamsWithContext(ctx context.Context) *PcloudPvminstancesVpmemVolumesDeleteParams { + return &PcloudPvminstancesVpmemVolumesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVpmemVolumesDeleteParamsWithHTTPClient creates a new PcloudPvminstancesVpmemVolumesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVpmemVolumesDeleteParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVpmemVolumesDeleteParams { + return &PcloudPvminstancesVpmemVolumesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVpmemVolumesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances vpmem volumes delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVpmemVolumesDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + /* VpmemVolumeID. + + vPMEM Volume ID + */ + VpmemVolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances vpmem volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) WithDefaults() *PcloudPvminstancesVpmemVolumesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances vpmem volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVpmemVolumesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) WithContext(ctx context.Context) *PcloudPvminstancesVpmemVolumesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVpmemVolumesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVpmemVolumesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVpmemVolumesDeleteParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WithVpmemVolumeID adds the vpmemVolumeID to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) WithVpmemVolumeID(vpmemVolumeID string) *PcloudPvminstancesVpmemVolumesDeleteParams { + o.SetVpmemVolumeID(vpmemVolumeID) + return o +} + +// SetVpmemVolumeID adds the vpmemVolumeId to the pcloud pvminstances vpmem volumes delete params +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) SetVpmemVolumeID(vpmemVolumeID string) { + o.VpmemVolumeID = vpmemVolumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVpmemVolumesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + // path param vpmem_volume_id + if err := r.SetPathParam("vpmem_volume_id", o.VpmemVolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_delete_responses.go new file mode 100644 index 000000000..ae819b457 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVpmemVolumesDeleteReader is a Reader for the PcloudPvminstancesVpmemVolumesDelete structure. +type PcloudPvminstancesVpmemVolumesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVpmemVolumesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesVpmemVolumesDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVpmemVolumesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVpmemVolumesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVpmemVolumesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVpmemVolumesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesVpmemVolumesDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVpmemVolumesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}] pcloud.pvminstances.vpmem-volumes.delete", response, response.Code()) + } +} + +// NewPcloudPvminstancesVpmemVolumesDeleteAccepted creates a PcloudPvminstancesVpmemVolumesDeleteAccepted with default headers values +func NewPcloudPvminstancesVpmemVolumesDeleteAccepted() *PcloudPvminstancesVpmemVolumesDeleteAccepted { + return &PcloudPvminstancesVpmemVolumesDeleteAccepted{} +} + +/* +PcloudPvminstancesVpmemVolumesDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesVpmemVolumesDeleteAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes delete accepted response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes delete accepted response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes delete accepted response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes delete accepted response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes delete accepted response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes delete accepted response +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesDeleteBadRequest creates a PcloudPvminstancesVpmemVolumesDeleteBadRequest with default headers values +func NewPcloudPvminstancesVpmemVolumesDeleteBadRequest() *PcloudPvminstancesVpmemVolumesDeleteBadRequest { + return &PcloudPvminstancesVpmemVolumesDeleteBadRequest{} +} + +/* +PcloudPvminstancesVpmemVolumesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVpmemVolumesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes delete bad request response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes delete bad request response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes delete bad request response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes delete bad request response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes delete bad request response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes delete bad request response +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesDeleteUnauthorized creates a PcloudPvminstancesVpmemVolumesDeleteUnauthorized with default headers values +func NewPcloudPvminstancesVpmemVolumesDeleteUnauthorized() *PcloudPvminstancesVpmemVolumesDeleteUnauthorized { + return &PcloudPvminstancesVpmemVolumesDeleteUnauthorized{} +} + +/* +PcloudPvminstancesVpmemVolumesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVpmemVolumesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes delete unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes delete unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes delete unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes delete unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes delete unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes delete unauthorized response +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesDeleteForbidden creates a PcloudPvminstancesVpmemVolumesDeleteForbidden with default headers values +func NewPcloudPvminstancesVpmemVolumesDeleteForbidden() *PcloudPvminstancesVpmemVolumesDeleteForbidden { + return &PcloudPvminstancesVpmemVolumesDeleteForbidden{} +} + +/* +PcloudPvminstancesVpmemVolumesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVpmemVolumesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes delete forbidden response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes delete forbidden response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes delete forbidden response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes delete forbidden response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes delete forbidden response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes delete forbidden response +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesDeleteNotFound creates a PcloudPvminstancesVpmemVolumesDeleteNotFound with default headers values +func NewPcloudPvminstancesVpmemVolumesDeleteNotFound() *PcloudPvminstancesVpmemVolumesDeleteNotFound { + return &PcloudPvminstancesVpmemVolumesDeleteNotFound{} +} + +/* +PcloudPvminstancesVpmemVolumesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVpmemVolumesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes delete not found response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes delete not found response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes delete not found response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes delete not found response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes delete not found response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes delete not found response +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesDeleteConflict creates a PcloudPvminstancesVpmemVolumesDeleteConflict with default headers values +func NewPcloudPvminstancesVpmemVolumesDeleteConflict() *PcloudPvminstancesVpmemVolumesDeleteConflict { + return &PcloudPvminstancesVpmemVolumesDeleteConflict{} +} + +/* +PcloudPvminstancesVpmemVolumesDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesVpmemVolumesDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes delete conflict response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes delete conflict response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes delete conflict response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes delete conflict response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes delete conflict response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes delete conflict response +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesDeleteInternalServerError creates a PcloudPvminstancesVpmemVolumesDeleteInternalServerError with default headers values +func NewPcloudPvminstancesVpmemVolumesDeleteInternalServerError() *PcloudPvminstancesVpmemVolumesDeleteInternalServerError { + return &PcloudPvminstancesVpmemVolumesDeleteInternalServerError{} +} + +/* +PcloudPvminstancesVpmemVolumesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVpmemVolumesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes delete internal server error response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes delete internal server error response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes delete internal server error response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes delete internal server error response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes delete internal server error response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes delete internal server error response +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_get_parameters.go new file mode 100644 index 000000000..75c8d70df --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_get_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVpmemVolumesGetParams creates a new PcloudPvminstancesVpmemVolumesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVpmemVolumesGetParams() *PcloudPvminstancesVpmemVolumesGetParams { + return &PcloudPvminstancesVpmemVolumesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVpmemVolumesGetParamsWithTimeout creates a new PcloudPvminstancesVpmemVolumesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVpmemVolumesGetParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVpmemVolumesGetParams { + return &PcloudPvminstancesVpmemVolumesGetParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVpmemVolumesGetParamsWithContext creates a new PcloudPvminstancesVpmemVolumesGetParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVpmemVolumesGetParamsWithContext(ctx context.Context) *PcloudPvminstancesVpmemVolumesGetParams { + return &PcloudPvminstancesVpmemVolumesGetParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVpmemVolumesGetParamsWithHTTPClient creates a new PcloudPvminstancesVpmemVolumesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVpmemVolumesGetParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVpmemVolumesGetParams { + return &PcloudPvminstancesVpmemVolumesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVpmemVolumesGetParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances vpmem volumes get operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVpmemVolumesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + /* VpmemVolumeID. + + vPMEM Volume ID + */ + VpmemVolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances vpmem volumes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVpmemVolumesGetParams) WithDefaults() *PcloudPvminstancesVpmemVolumesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances vpmem volumes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVpmemVolumesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVpmemVolumesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) WithContext(ctx context.Context) *PcloudPvminstancesVpmemVolumesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVpmemVolumesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVpmemVolumesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVpmemVolumesGetParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WithVpmemVolumeID adds the vpmemVolumeID to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) WithVpmemVolumeID(vpmemVolumeID string) *PcloudPvminstancesVpmemVolumesGetParams { + o.SetVpmemVolumeID(vpmemVolumeID) + return o +} + +// SetVpmemVolumeID adds the vpmemVolumeId to the pcloud pvminstances vpmem volumes get params +func (o *PcloudPvminstancesVpmemVolumesGetParams) SetVpmemVolumeID(vpmemVolumeID string) { + o.VpmemVolumeID = vpmemVolumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVpmemVolumesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + // path param vpmem_volume_id + if err := r.SetPathParam("vpmem_volume_id", o.VpmemVolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_get_responses.go new file mode 100644 index 000000000..565948897 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVpmemVolumesGetReader is a Reader for the PcloudPvminstancesVpmemVolumesGet structure. +type PcloudPvminstancesVpmemVolumesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVpmemVolumesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVpmemVolumesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVpmemVolumesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVpmemVolumesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVpmemVolumesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVpmemVolumesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVpmemVolumesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}] pcloud.pvminstances.vpmem-volumes.get", response, response.Code()) + } +} + +// NewPcloudPvminstancesVpmemVolumesGetOK creates a PcloudPvminstancesVpmemVolumesGetOK with default headers values +func NewPcloudPvminstancesVpmemVolumesGetOK() *PcloudPvminstancesVpmemVolumesGetOK { + return &PcloudPvminstancesVpmemVolumesGetOK{} +} + +/* +PcloudPvminstancesVpmemVolumesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVpmemVolumesGetOK struct { + Payload *models.VPMemVolumeReference +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes get o k response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes get o k response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes get o k response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes get o k response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes get o k response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes get o k response +func (o *PcloudPvminstancesVpmemVolumesGetOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVpmemVolumesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetOK) GetPayload() *models.VPMemVolumeReference { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VPMemVolumeReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetBadRequest creates a PcloudPvminstancesVpmemVolumesGetBadRequest with default headers values +func NewPcloudPvminstancesVpmemVolumesGetBadRequest() *PcloudPvminstancesVpmemVolumesGetBadRequest { + return &PcloudPvminstancesVpmemVolumesGetBadRequest{} +} + +/* +PcloudPvminstancesVpmemVolumesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVpmemVolumesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes get bad request response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes get bad request response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes get bad request response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes get bad request response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes get bad request response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes get bad request response +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetUnauthorized creates a PcloudPvminstancesVpmemVolumesGetUnauthorized with default headers values +func NewPcloudPvminstancesVpmemVolumesGetUnauthorized() *PcloudPvminstancesVpmemVolumesGetUnauthorized { + return &PcloudPvminstancesVpmemVolumesGetUnauthorized{} +} + +/* +PcloudPvminstancesVpmemVolumesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVpmemVolumesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes get unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes get unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes get unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes get unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes get unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes get unauthorized response +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetForbidden creates a PcloudPvminstancesVpmemVolumesGetForbidden with default headers values +func NewPcloudPvminstancesVpmemVolumesGetForbidden() *PcloudPvminstancesVpmemVolumesGetForbidden { + return &PcloudPvminstancesVpmemVolumesGetForbidden{} +} + +/* +PcloudPvminstancesVpmemVolumesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVpmemVolumesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes get forbidden response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes get forbidden response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes get forbidden response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes get forbidden response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes get forbidden response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes get forbidden response +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetNotFound creates a PcloudPvminstancesVpmemVolumesGetNotFound with default headers values +func NewPcloudPvminstancesVpmemVolumesGetNotFound() *PcloudPvminstancesVpmemVolumesGetNotFound { + return &PcloudPvminstancesVpmemVolumesGetNotFound{} +} + +/* +PcloudPvminstancesVpmemVolumesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVpmemVolumesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes get not found response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes get not found response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes get not found response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes get not found response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes get not found response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes get not found response +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetInternalServerError creates a PcloudPvminstancesVpmemVolumesGetInternalServerError with default headers values +func NewPcloudPvminstancesVpmemVolumesGetInternalServerError() *PcloudPvminstancesVpmemVolumesGetInternalServerError { + return &PcloudPvminstancesVpmemVolumesGetInternalServerError{} +} + +/* +PcloudPvminstancesVpmemVolumesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVpmemVolumesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes get internal server error response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes get internal server error response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes get internal server error response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes get internal server error response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes get internal server error response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes get internal server error response +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes/{vpmem_volume_id}][%d] pcloudPvminstancesVpmemVolumesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_getall_parameters.go new file mode 100644 index 000000000..baceb9c5a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_getall_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVpmemVolumesGetallParams creates a new PcloudPvminstancesVpmemVolumesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVpmemVolumesGetallParams() *PcloudPvminstancesVpmemVolumesGetallParams { + return &PcloudPvminstancesVpmemVolumesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVpmemVolumesGetallParamsWithTimeout creates a new PcloudPvminstancesVpmemVolumesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVpmemVolumesGetallParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVpmemVolumesGetallParams { + return &PcloudPvminstancesVpmemVolumesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVpmemVolumesGetallParamsWithContext creates a new PcloudPvminstancesVpmemVolumesGetallParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVpmemVolumesGetallParamsWithContext(ctx context.Context) *PcloudPvminstancesVpmemVolumesGetallParams { + return &PcloudPvminstancesVpmemVolumesGetallParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVpmemVolumesGetallParamsWithHTTPClient creates a new PcloudPvminstancesVpmemVolumesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVpmemVolumesGetallParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVpmemVolumesGetallParams { + return &PcloudPvminstancesVpmemVolumesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVpmemVolumesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances vpmem volumes getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVpmemVolumesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances vpmem volumes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVpmemVolumesGetallParams) WithDefaults() *PcloudPvminstancesVpmemVolumesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances vpmem volumes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVpmemVolumesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVpmemVolumesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) WithContext(ctx context.Context) *PcloudPvminstancesVpmemVolumesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVpmemVolumesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVpmemVolumesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVpmemVolumesGetallParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances vpmem volumes getall params +func (o *PcloudPvminstancesVpmemVolumesGetallParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVpmemVolumesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_getall_responses.go new file mode 100644 index 000000000..ea2447a02 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVpmemVolumesGetallReader is a Reader for the PcloudPvminstancesVpmemVolumesGetall structure. +type PcloudPvminstancesVpmemVolumesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVpmemVolumesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVpmemVolumesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVpmemVolumesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVpmemVolumesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVpmemVolumesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVpmemVolumesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVpmemVolumesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes] pcloud.pvminstances.vpmem-volumes.getall", response, response.Code()) + } +} + +// NewPcloudPvminstancesVpmemVolumesGetallOK creates a PcloudPvminstancesVpmemVolumesGetallOK with default headers values +func NewPcloudPvminstancesVpmemVolumesGetallOK() *PcloudPvminstancesVpmemVolumesGetallOK { + return &PcloudPvminstancesVpmemVolumesGetallOK{} +} + +/* +PcloudPvminstancesVpmemVolumesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVpmemVolumesGetallOK struct { + Payload *models.VPMemVolumes +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes getall o k response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes getall o k response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes getall o k response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes getall o k response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes getall o k response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes getall o k response +func (o *PcloudPvminstancesVpmemVolumesGetallOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVpmemVolumesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallOK) GetPayload() *models.VPMemVolumes { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VPMemVolumes) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetallBadRequest creates a PcloudPvminstancesVpmemVolumesGetallBadRequest with default headers values +func NewPcloudPvminstancesVpmemVolumesGetallBadRequest() *PcloudPvminstancesVpmemVolumesGetallBadRequest { + return &PcloudPvminstancesVpmemVolumesGetallBadRequest{} +} + +/* +PcloudPvminstancesVpmemVolumesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVpmemVolumesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes getall bad request response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes getall bad request response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes getall bad request response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes getall bad request response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes getall bad request response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes getall bad request response +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetallUnauthorized creates a PcloudPvminstancesVpmemVolumesGetallUnauthorized with default headers values +func NewPcloudPvminstancesVpmemVolumesGetallUnauthorized() *PcloudPvminstancesVpmemVolumesGetallUnauthorized { + return &PcloudPvminstancesVpmemVolumesGetallUnauthorized{} +} + +/* +PcloudPvminstancesVpmemVolumesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVpmemVolumesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes getall unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes getall unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes getall unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes getall unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes getall unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes getall unauthorized response +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetallForbidden creates a PcloudPvminstancesVpmemVolumesGetallForbidden with default headers values +func NewPcloudPvminstancesVpmemVolumesGetallForbidden() *PcloudPvminstancesVpmemVolumesGetallForbidden { + return &PcloudPvminstancesVpmemVolumesGetallForbidden{} +} + +/* +PcloudPvminstancesVpmemVolumesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVpmemVolumesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes getall forbidden response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes getall forbidden response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes getall forbidden response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes getall forbidden response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes getall forbidden response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes getall forbidden response +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetallNotFound creates a PcloudPvminstancesVpmemVolumesGetallNotFound with default headers values +func NewPcloudPvminstancesVpmemVolumesGetallNotFound() *PcloudPvminstancesVpmemVolumesGetallNotFound { + return &PcloudPvminstancesVpmemVolumesGetallNotFound{} +} + +/* +PcloudPvminstancesVpmemVolumesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVpmemVolumesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes getall not found response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes getall not found response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes getall not found response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes getall not found response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes getall not found response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes getall not found response +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesGetallInternalServerError creates a PcloudPvminstancesVpmemVolumesGetallInternalServerError with default headers values +func NewPcloudPvminstancesVpmemVolumesGetallInternalServerError() *PcloudPvminstancesVpmemVolumesGetallInternalServerError { + return &PcloudPvminstancesVpmemVolumesGetallInternalServerError{} +} + +/* +PcloudPvminstancesVpmemVolumesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVpmemVolumesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes getall internal server error response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes getall internal server error response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes getall internal server error response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes getall internal server error response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes getall internal server error response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes getall internal server error response +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_post_parameters.go new file mode 100644 index 000000000..0aa898ed0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesVpmemVolumesPostParams creates a new PcloudPvminstancesVpmemVolumesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVpmemVolumesPostParams() *PcloudPvminstancesVpmemVolumesPostParams { + return &PcloudPvminstancesVpmemVolumesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVpmemVolumesPostParamsWithTimeout creates a new PcloudPvminstancesVpmemVolumesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVpmemVolumesPostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVpmemVolumesPostParams { + return &PcloudPvminstancesVpmemVolumesPostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVpmemVolumesPostParamsWithContext creates a new PcloudPvminstancesVpmemVolumesPostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVpmemVolumesPostParamsWithContext(ctx context.Context) *PcloudPvminstancesVpmemVolumesPostParams { + return &PcloudPvminstancesVpmemVolumesPostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVpmemVolumesPostParamsWithHTTPClient creates a new PcloudPvminstancesVpmemVolumesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVpmemVolumesPostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVpmemVolumesPostParams { + return &PcloudPvminstancesVpmemVolumesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVpmemVolumesPostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances vpmem volumes post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVpmemVolumesPostParams struct { + + /* Body. + + PVM Instance vPMEM volume create parameters + */ + Body *models.VPMemVolumeAttach + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances vpmem volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVpmemVolumesPostParams) WithDefaults() *PcloudPvminstancesVpmemVolumesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances vpmem volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVpmemVolumesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVpmemVolumesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) WithContext(ctx context.Context) *PcloudPvminstancesVpmemVolumesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVpmemVolumesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) WithBody(body *models.VPMemVolumeAttach) *PcloudPvminstancesVpmemVolumesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) SetBody(body *models.VPMemVolumeAttach) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVpmemVolumesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVpmemVolumesPostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances vpmem volumes post params +func (o *PcloudPvminstancesVpmemVolumesPostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVpmemVolumesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_post_responses.go new file mode 100644 index 000000000..7030e49e2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes/pcloud_pvminstances_vpmem_volumes_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_mem_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVpmemVolumesPostReader is a Reader for the PcloudPvminstancesVpmemVolumesPost structure. +type PcloudPvminstancesVpmemVolumesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVpmemVolumesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesVpmemVolumesPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVpmemVolumesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVpmemVolumesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVpmemVolumesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVpmemVolumesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesVpmemVolumesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesVpmemVolumesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVpmemVolumesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes] pcloud.pvminstances.vpmem-volumes.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesVpmemVolumesPostAccepted creates a PcloudPvminstancesVpmemVolumesPostAccepted with default headers values +func NewPcloudPvminstancesVpmemVolumesPostAccepted() *PcloudPvminstancesVpmemVolumesPostAccepted { + return &PcloudPvminstancesVpmemVolumesPostAccepted{} +} + +/* +PcloudPvminstancesVpmemVolumesPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesVpmemVolumesPostAccepted struct { + Payload *models.VPMemVolumes +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes post accepted response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes post accepted response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes post accepted response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes post accepted response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes post accepted response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes post accepted response +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) GetPayload() *models.VPMemVolumes { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VPMemVolumes) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesPostBadRequest creates a PcloudPvminstancesVpmemVolumesPostBadRequest with default headers values +func NewPcloudPvminstancesVpmemVolumesPostBadRequest() *PcloudPvminstancesVpmemVolumesPostBadRequest { + return &PcloudPvminstancesVpmemVolumesPostBadRequest{} +} + +/* +PcloudPvminstancesVpmemVolumesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVpmemVolumesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes post bad request response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes post bad request response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes post bad request response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes post bad request response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes post bad request response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes post bad request response +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesPostUnauthorized creates a PcloudPvminstancesVpmemVolumesPostUnauthorized with default headers values +func NewPcloudPvminstancesVpmemVolumesPostUnauthorized() *PcloudPvminstancesVpmemVolumesPostUnauthorized { + return &PcloudPvminstancesVpmemVolumesPostUnauthorized{} +} + +/* +PcloudPvminstancesVpmemVolumesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVpmemVolumesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes post unauthorized response +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesPostForbidden creates a PcloudPvminstancesVpmemVolumesPostForbidden with default headers values +func NewPcloudPvminstancesVpmemVolumesPostForbidden() *PcloudPvminstancesVpmemVolumesPostForbidden { + return &PcloudPvminstancesVpmemVolumesPostForbidden{} +} + +/* +PcloudPvminstancesVpmemVolumesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVpmemVolumesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes post forbidden response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes post forbidden response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes post forbidden response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes post forbidden response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes post forbidden response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes post forbidden response +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesPostNotFound creates a PcloudPvminstancesVpmemVolumesPostNotFound with default headers values +func NewPcloudPvminstancesVpmemVolumesPostNotFound() *PcloudPvminstancesVpmemVolumesPostNotFound { + return &PcloudPvminstancesVpmemVolumesPostNotFound{} +} + +/* +PcloudPvminstancesVpmemVolumesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVpmemVolumesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes post not found response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes post not found response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes post not found response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes post not found response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes post not found response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes post not found response +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesPostConflict creates a PcloudPvminstancesVpmemVolumesPostConflict with default headers values +func NewPcloudPvminstancesVpmemVolumesPostConflict() *PcloudPvminstancesVpmemVolumesPostConflict { + return &PcloudPvminstancesVpmemVolumesPostConflict{} +} + +/* +PcloudPvminstancesVpmemVolumesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesVpmemVolumesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes post conflict response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes post conflict response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes post conflict response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes post conflict response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes post conflict response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes post conflict response +func (o *PcloudPvminstancesVpmemVolumesPostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesVpmemVolumesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesPostUnprocessableEntity creates a PcloudPvminstancesVpmemVolumesPostUnprocessableEntity with default headers values +func NewPcloudPvminstancesVpmemVolumesPostUnprocessableEntity() *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity { + return &PcloudPvminstancesVpmemVolumesPostUnprocessableEntity{} +} + +/* +PcloudPvminstancesVpmemVolumesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesVpmemVolumesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes post unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes post unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes post unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes post unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes post unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes post unprocessable entity response +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVpmemVolumesPostInternalServerError creates a PcloudPvminstancesVpmemVolumesPostInternalServerError with default headers values +func NewPcloudPvminstancesVpmemVolumesPostInternalServerError() *PcloudPvminstancesVpmemVolumesPostInternalServerError { + return &PcloudPvminstancesVpmemVolumesPostInternalServerError{} +} + +/* +PcloudPvminstancesVpmemVolumesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVpmemVolumesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances vpmem volumes post internal server error response has a 2xx status code +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances vpmem volumes post internal server error response has a 3xx status code +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances vpmem volumes post internal server error response has a 4xx status code +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances vpmem volumes post internal server error response has a 5xx status code +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances vpmem volumes post internal server error response a status code equal to that given +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances vpmem volumes post internal server error response +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/vpmem-volumes][%d] pcloudPvminstancesVpmemVolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVpmemVolumesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/p_cloudvpn_connections_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/p_cloudvpn_connections_client.go new file mode 100644 index 000000000..2611e36f8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/p_cloudvpn_connections_client.go @@ -0,0 +1,593 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud v p n connections API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud v p n connections API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud v p n connections API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud v p n connections API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudVpnconnectionsDelete(params *PcloudVpnconnectionsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsDeleteAccepted, error) + + PcloudVpnconnectionsGet(params *PcloudVpnconnectionsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsGetOK, error) + + PcloudVpnconnectionsGetall(params *PcloudVpnconnectionsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsGetallOK, error) + + PcloudVpnconnectionsNetworksDelete(params *PcloudVpnconnectionsNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsNetworksDeleteAccepted, error) + + PcloudVpnconnectionsNetworksGet(params *PcloudVpnconnectionsNetworksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsNetworksGetOK, error) + + PcloudVpnconnectionsNetworksPut(params *PcloudVpnconnectionsNetworksPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsNetworksPutAccepted, error) + + PcloudVpnconnectionsPeersubnetsDelete(params *PcloudVpnconnectionsPeersubnetsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPeersubnetsDeleteOK, error) + + PcloudVpnconnectionsPeersubnetsGet(params *PcloudVpnconnectionsPeersubnetsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPeersubnetsGetOK, error) + + PcloudVpnconnectionsPeersubnetsPut(params *PcloudVpnconnectionsPeersubnetsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPeersubnetsPutOK, error) + + PcloudVpnconnectionsPost(params *PcloudVpnconnectionsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPostAccepted, error) + + PcloudVpnconnectionsPut(params *PcloudVpnconnectionsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudVpnconnectionsDelete deletes v p n connection + +Delete VPN Connection (by its identifier) +*/ +func (a *Client) PcloudVpnconnectionsDelete(params *PcloudVpnconnectionsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsGet gets v p n connection + +Get a VPN Connection +*/ +func (a *Client) PcloudVpnconnectionsGet(params *PcloudVpnconnectionsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsGetall gets all v p n connections + +Get all VPN Connections +*/ +func (a *Client) PcloudVpnconnectionsGetall(params *PcloudVpnconnectionsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsNetworksDelete detaches network + +Detach network from a specific VPN Connection +*/ +func (a *Client) PcloudVpnconnectionsNetworksDelete(params *PcloudVpnconnectionsNetworksDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsNetworksDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsNetworksDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.networks.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsNetworksDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsNetworksDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.networks.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsNetworksGet gets attached networks + +Get a list of network IDs attached to a VPN Connection +*/ +func (a *Client) PcloudVpnconnectionsNetworksGet(params *PcloudVpnconnectionsNetworksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsNetworksGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsNetworksGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.networks.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsNetworksGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsNetworksGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.networks.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsNetworksPut attaches network + +Attach a network to a VPN Connection +*/ +func (a *Client) PcloudVpnconnectionsNetworksPut(params *PcloudVpnconnectionsNetworksPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsNetworksPutAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsNetworksPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.networks.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsNetworksPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsNetworksPutAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.networks.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsPeersubnetsDelete detaches peer subnet + +Detach peer subnet from a VPN Connection +*/ +func (a *Client) PcloudVpnconnectionsPeersubnetsDelete(params *PcloudVpnconnectionsPeersubnetsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPeersubnetsDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsPeersubnetsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.peersubnets.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsPeersubnetsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsPeersubnetsDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.peersubnets.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsPeersubnetsGet gets peer subnets + +Get a list of peer subnets attached to a specific VPN Connection +*/ +func (a *Client) PcloudVpnconnectionsPeersubnetsGet(params *PcloudVpnconnectionsPeersubnetsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPeersubnetsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsPeersubnetsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.peersubnets.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsPeersubnetsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsPeersubnetsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.peersubnets.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsPeersubnetsPut attaches peer subnet + +Attach peer subnet to a VPN Connection +*/ +func (a *Client) PcloudVpnconnectionsPeersubnetsPut(params *PcloudVpnconnectionsPeersubnetsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPeersubnetsPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsPeersubnetsPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.peersubnets.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsPeersubnetsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsPeersubnetsPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.peersubnets.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsPost creates v p n connection + +Create a new VPN Connection +*/ +func (a *Client) PcloudVpnconnectionsPost(params *PcloudVpnconnectionsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVpnconnectionsPut updates v p n connection + +update a VPN Connection (by its identifier) +*/ +func (a *Client) PcloudVpnconnectionsPut(params *PcloudVpnconnectionsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVpnconnectionsPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVpnconnectionsPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.vpnconnections.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVpnconnectionsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVpnconnectionsPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.vpnconnections.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_delete_parameters.go new file mode 100644 index 000000000..17957da78 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVpnconnectionsDeleteParams creates a new PcloudVpnconnectionsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsDeleteParams() *PcloudVpnconnectionsDeleteParams { + return &PcloudVpnconnectionsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsDeleteParamsWithTimeout creates a new PcloudVpnconnectionsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsDeleteParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsDeleteParams { + return &PcloudVpnconnectionsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsDeleteParamsWithContext creates a new PcloudVpnconnectionsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsDeleteParamsWithContext(ctx context.Context) *PcloudVpnconnectionsDeleteParams { + return &PcloudVpnconnectionsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsDeleteParamsWithHTTPClient creates a new PcloudVpnconnectionsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsDeleteParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsDeleteParams { + return &PcloudVpnconnectionsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsDeleteParams) WithDefaults() *PcloudVpnconnectionsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) WithContext(ctx context.Context) *PcloudVpnconnectionsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsDeleteParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections delete params +func (o *PcloudVpnconnectionsDeleteParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_delete_responses.go new file mode 100644 index 000000000..149ace4c0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_delete_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsDeleteReader is a Reader for the PcloudVpnconnectionsDelete structure. +type PcloudVpnconnectionsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVpnconnectionsDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}] pcloud.vpnconnections.delete", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsDeleteAccepted creates a PcloudVpnconnectionsDeleteAccepted with default headers values +func NewPcloudVpnconnectionsDeleteAccepted() *PcloudVpnconnectionsDeleteAccepted { + return &PcloudVpnconnectionsDeleteAccepted{} +} + +/* +PcloudVpnconnectionsDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVpnconnectionsDeleteAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud vpnconnections delete accepted response has a 2xx status code +func (o *PcloudVpnconnectionsDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections delete accepted response has a 3xx status code +func (o *PcloudVpnconnectionsDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections delete accepted response has a 4xx status code +func (o *PcloudVpnconnectionsDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections delete accepted response has a 5xx status code +func (o *PcloudVpnconnectionsDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections delete accepted response a status code equal to that given +func (o *PcloudVpnconnectionsDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud vpnconnections delete accepted response +func (o *PcloudVpnconnectionsDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudVpnconnectionsDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteAccepted %s", 202, payload) +} + +func (o *PcloudVpnconnectionsDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteAccepted %s", 202, payload) +} + +func (o *PcloudVpnconnectionsDeleteAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudVpnconnectionsDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsDeleteBadRequest creates a PcloudVpnconnectionsDeleteBadRequest with default headers values +func NewPcloudVpnconnectionsDeleteBadRequest() *PcloudVpnconnectionsDeleteBadRequest { + return &PcloudVpnconnectionsDeleteBadRequest{} +} + +/* +PcloudVpnconnectionsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections delete bad request response has a 2xx status code +func (o *PcloudVpnconnectionsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections delete bad request response has a 3xx status code +func (o *PcloudVpnconnectionsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections delete bad request response has a 4xx status code +func (o *PcloudVpnconnectionsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections delete bad request response has a 5xx status code +func (o *PcloudVpnconnectionsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections delete bad request response a status code equal to that given +func (o *PcloudVpnconnectionsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections delete bad request response +func (o *PcloudVpnconnectionsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsDeleteUnauthorized creates a PcloudVpnconnectionsDeleteUnauthorized with default headers values +func NewPcloudVpnconnectionsDeleteUnauthorized() *PcloudVpnconnectionsDeleteUnauthorized { + return &PcloudVpnconnectionsDeleteUnauthorized{} +} + +/* +PcloudVpnconnectionsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections delete unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections delete unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections delete unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections delete unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections delete unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections delete unauthorized response +func (o *PcloudVpnconnectionsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsDeleteForbidden creates a PcloudVpnconnectionsDeleteForbidden with default headers values +func NewPcloudVpnconnectionsDeleteForbidden() *PcloudVpnconnectionsDeleteForbidden { + return &PcloudVpnconnectionsDeleteForbidden{} +} + +/* +PcloudVpnconnectionsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections delete forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections delete forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections delete forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections delete forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections delete forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections delete forbidden response +func (o *PcloudVpnconnectionsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsDeleteNotFound creates a PcloudVpnconnectionsDeleteNotFound with default headers values +func NewPcloudVpnconnectionsDeleteNotFound() *PcloudVpnconnectionsDeleteNotFound { + return &PcloudVpnconnectionsDeleteNotFound{} +} + +/* +PcloudVpnconnectionsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections delete not found response has a 2xx status code +func (o *PcloudVpnconnectionsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections delete not found response has a 3xx status code +func (o *PcloudVpnconnectionsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections delete not found response has a 4xx status code +func (o *PcloudVpnconnectionsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections delete not found response has a 5xx status code +func (o *PcloudVpnconnectionsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections delete not found response a status code equal to that given +func (o *PcloudVpnconnectionsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections delete not found response +func (o *PcloudVpnconnectionsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsDeleteInternalServerError creates a PcloudVpnconnectionsDeleteInternalServerError with default headers values +func NewPcloudVpnconnectionsDeleteInternalServerError() *PcloudVpnconnectionsDeleteInternalServerError { + return &PcloudVpnconnectionsDeleteInternalServerError{} +} + +/* +PcloudVpnconnectionsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections delete internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections delete internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections delete internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections delete internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections delete internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections delete internal server error response +func (o *PcloudVpnconnectionsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_get_parameters.go new file mode 100644 index 000000000..a9a6cc5a7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVpnconnectionsGetParams creates a new PcloudVpnconnectionsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsGetParams() *PcloudVpnconnectionsGetParams { + return &PcloudVpnconnectionsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsGetParamsWithTimeout creates a new PcloudVpnconnectionsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsGetParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsGetParams { + return &PcloudVpnconnectionsGetParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsGetParamsWithContext creates a new PcloudVpnconnectionsGetParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsGetParamsWithContext(ctx context.Context) *PcloudVpnconnectionsGetParams { + return &PcloudVpnconnectionsGetParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsGetParamsWithHTTPClient creates a new PcloudVpnconnectionsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsGetParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsGetParams { + return &PcloudVpnconnectionsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsGetParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections get operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsGetParams) WithDefaults() *PcloudVpnconnectionsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) WithContext(ctx context.Context) *PcloudVpnconnectionsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsGetParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections get params +func (o *PcloudVpnconnectionsGetParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_get_responses.go new file mode 100644 index 000000000..360985cd6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsGetReader is a Reader for the PcloudVpnconnectionsGet structure. +type PcloudVpnconnectionsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVpnconnectionsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVpnconnectionsGetUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}] pcloud.vpnconnections.get", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsGetOK creates a PcloudVpnconnectionsGetOK with default headers values +func NewPcloudVpnconnectionsGetOK() *PcloudVpnconnectionsGetOK { + return &PcloudVpnconnectionsGetOK{} +} + +/* +PcloudVpnconnectionsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVpnconnectionsGetOK struct { + Payload *models.VPNConnection +} + +// IsSuccess returns true when this pcloud vpnconnections get o k response has a 2xx status code +func (o *PcloudVpnconnectionsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections get o k response has a 3xx status code +func (o *PcloudVpnconnectionsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections get o k response has a 4xx status code +func (o *PcloudVpnconnectionsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections get o k response has a 5xx status code +func (o *PcloudVpnconnectionsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections get o k response a status code equal to that given +func (o *PcloudVpnconnectionsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud vpnconnections get o k response +func (o *PcloudVpnconnectionsGetOK) Code() int { + return 200 +} + +func (o *PcloudVpnconnectionsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsGetOK) GetPayload() *models.VPNConnection { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VPNConnection) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetBadRequest creates a PcloudVpnconnectionsGetBadRequest with default headers values +func NewPcloudVpnconnectionsGetBadRequest() *PcloudVpnconnectionsGetBadRequest { + return &PcloudVpnconnectionsGetBadRequest{} +} + +/* +PcloudVpnconnectionsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections get bad request response has a 2xx status code +func (o *PcloudVpnconnectionsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections get bad request response has a 3xx status code +func (o *PcloudVpnconnectionsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections get bad request response has a 4xx status code +func (o *PcloudVpnconnectionsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections get bad request response has a 5xx status code +func (o *PcloudVpnconnectionsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections get bad request response a status code equal to that given +func (o *PcloudVpnconnectionsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections get bad request response +func (o *PcloudVpnconnectionsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetUnauthorized creates a PcloudVpnconnectionsGetUnauthorized with default headers values +func NewPcloudVpnconnectionsGetUnauthorized() *PcloudVpnconnectionsGetUnauthorized { + return &PcloudVpnconnectionsGetUnauthorized{} +} + +/* +PcloudVpnconnectionsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections get unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections get unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections get unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections get unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections get unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections get unauthorized response +func (o *PcloudVpnconnectionsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetForbidden creates a PcloudVpnconnectionsGetForbidden with default headers values +func NewPcloudVpnconnectionsGetForbidden() *PcloudVpnconnectionsGetForbidden { + return &PcloudVpnconnectionsGetForbidden{} +} + +/* +PcloudVpnconnectionsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections get forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections get forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections get forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections get forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections get forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections get forbidden response +func (o *PcloudVpnconnectionsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetNotFound creates a PcloudVpnconnectionsGetNotFound with default headers values +func NewPcloudVpnconnectionsGetNotFound() *PcloudVpnconnectionsGetNotFound { + return &PcloudVpnconnectionsGetNotFound{} +} + +/* +PcloudVpnconnectionsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections get not found response has a 2xx status code +func (o *PcloudVpnconnectionsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections get not found response has a 3xx status code +func (o *PcloudVpnconnectionsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections get not found response has a 4xx status code +func (o *PcloudVpnconnectionsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections get not found response has a 5xx status code +func (o *PcloudVpnconnectionsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections get not found response a status code equal to that given +func (o *PcloudVpnconnectionsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections get not found response +func (o *PcloudVpnconnectionsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetUnprocessableEntity creates a PcloudVpnconnectionsGetUnprocessableEntity with default headers values +func NewPcloudVpnconnectionsGetUnprocessableEntity() *PcloudVpnconnectionsGetUnprocessableEntity { + return &PcloudVpnconnectionsGetUnprocessableEntity{} +} + +/* +PcloudVpnconnectionsGetUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVpnconnectionsGetUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections get unprocessable entity response has a 2xx status code +func (o *PcloudVpnconnectionsGetUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections get unprocessable entity response has a 3xx status code +func (o *PcloudVpnconnectionsGetUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections get unprocessable entity response has a 4xx status code +func (o *PcloudVpnconnectionsGetUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections get unprocessable entity response has a 5xx status code +func (o *PcloudVpnconnectionsGetUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections get unprocessable entity response a status code equal to that given +func (o *PcloudVpnconnectionsGetUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud vpnconnections get unprocessable entity response +func (o *PcloudVpnconnectionsGetUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVpnconnectionsGetUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsGetUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsGetUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetInternalServerError creates a PcloudVpnconnectionsGetInternalServerError with default headers values +func NewPcloudVpnconnectionsGetInternalServerError() *PcloudVpnconnectionsGetInternalServerError { + return &PcloudVpnconnectionsGetInternalServerError{} +} + +/* +PcloudVpnconnectionsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections get internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections get internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections get internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections get internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections get internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections get internal server error response +func (o *PcloudVpnconnectionsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_getall_parameters.go new file mode 100644 index 000000000..d5e20f44f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVpnconnectionsGetallParams creates a new PcloudVpnconnectionsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsGetallParams() *PcloudVpnconnectionsGetallParams { + return &PcloudVpnconnectionsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsGetallParamsWithTimeout creates a new PcloudVpnconnectionsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsGetallParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsGetallParams { + return &PcloudVpnconnectionsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsGetallParamsWithContext creates a new PcloudVpnconnectionsGetallParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsGetallParamsWithContext(ctx context.Context) *PcloudVpnconnectionsGetallParams { + return &PcloudVpnconnectionsGetallParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsGetallParamsWithHTTPClient creates a new PcloudVpnconnectionsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsGetallParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsGetallParams { + return &PcloudVpnconnectionsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsGetallParams) WithDefaults() *PcloudVpnconnectionsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections getall params +func (o *PcloudVpnconnectionsGetallParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections getall params +func (o *PcloudVpnconnectionsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections getall params +func (o *PcloudVpnconnectionsGetallParams) WithContext(ctx context.Context) *PcloudVpnconnectionsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections getall params +func (o *PcloudVpnconnectionsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections getall params +func (o *PcloudVpnconnectionsGetallParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections getall params +func (o *PcloudVpnconnectionsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections getall params +func (o *PcloudVpnconnectionsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections getall params +func (o *PcloudVpnconnectionsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_getall_responses.go new file mode 100644 index 000000000..833312061 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsGetallReader is a Reader for the PcloudVpnconnectionsGetall structure. +type PcloudVpnconnectionsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVpnconnectionsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections] pcloud.vpnconnections.getall", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsGetallOK creates a PcloudVpnconnectionsGetallOK with default headers values +func NewPcloudVpnconnectionsGetallOK() *PcloudVpnconnectionsGetallOK { + return &PcloudVpnconnectionsGetallOK{} +} + +/* +PcloudVpnconnectionsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVpnconnectionsGetallOK struct { + Payload *models.VPNConnections +} + +// IsSuccess returns true when this pcloud vpnconnections getall o k response has a 2xx status code +func (o *PcloudVpnconnectionsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections getall o k response has a 3xx status code +func (o *PcloudVpnconnectionsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections getall o k response has a 4xx status code +func (o *PcloudVpnconnectionsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections getall o k response has a 5xx status code +func (o *PcloudVpnconnectionsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections getall o k response a status code equal to that given +func (o *PcloudVpnconnectionsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud vpnconnections getall o k response +func (o *PcloudVpnconnectionsGetallOK) Code() int { + return 200 +} + +func (o *PcloudVpnconnectionsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsGetallOK) GetPayload() *models.VPNConnections { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VPNConnections) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetallBadRequest creates a PcloudVpnconnectionsGetallBadRequest with default headers values +func NewPcloudVpnconnectionsGetallBadRequest() *PcloudVpnconnectionsGetallBadRequest { + return &PcloudVpnconnectionsGetallBadRequest{} +} + +/* +PcloudVpnconnectionsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections getall bad request response has a 2xx status code +func (o *PcloudVpnconnectionsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections getall bad request response has a 3xx status code +func (o *PcloudVpnconnectionsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections getall bad request response has a 4xx status code +func (o *PcloudVpnconnectionsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections getall bad request response has a 5xx status code +func (o *PcloudVpnconnectionsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections getall bad request response a status code equal to that given +func (o *PcloudVpnconnectionsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections getall bad request response +func (o *PcloudVpnconnectionsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetallUnauthorized creates a PcloudVpnconnectionsGetallUnauthorized with default headers values +func NewPcloudVpnconnectionsGetallUnauthorized() *PcloudVpnconnectionsGetallUnauthorized { + return &PcloudVpnconnectionsGetallUnauthorized{} +} + +/* +PcloudVpnconnectionsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections getall unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections getall unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections getall unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections getall unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections getall unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections getall unauthorized response +func (o *PcloudVpnconnectionsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetallForbidden creates a PcloudVpnconnectionsGetallForbidden with default headers values +func NewPcloudVpnconnectionsGetallForbidden() *PcloudVpnconnectionsGetallForbidden { + return &PcloudVpnconnectionsGetallForbidden{} +} + +/* +PcloudVpnconnectionsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections getall forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections getall forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections getall forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections getall forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections getall forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections getall forbidden response +func (o *PcloudVpnconnectionsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetallNotFound creates a PcloudVpnconnectionsGetallNotFound with default headers values +func NewPcloudVpnconnectionsGetallNotFound() *PcloudVpnconnectionsGetallNotFound { + return &PcloudVpnconnectionsGetallNotFound{} +} + +/* +PcloudVpnconnectionsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections getall not found response has a 2xx status code +func (o *PcloudVpnconnectionsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections getall not found response has a 3xx status code +func (o *PcloudVpnconnectionsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections getall not found response has a 4xx status code +func (o *PcloudVpnconnectionsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections getall not found response has a 5xx status code +func (o *PcloudVpnconnectionsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections getall not found response a status code equal to that given +func (o *PcloudVpnconnectionsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections getall not found response +func (o *PcloudVpnconnectionsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsGetallInternalServerError creates a PcloudVpnconnectionsGetallInternalServerError with default headers values +func NewPcloudVpnconnectionsGetallInternalServerError() *PcloudVpnconnectionsGetallInternalServerError { + return &PcloudVpnconnectionsGetallInternalServerError{} +} + +/* +PcloudVpnconnectionsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections getall internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections getall internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections getall internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections getall internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections getall internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections getall internal server error response +func (o *PcloudVpnconnectionsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_delete_parameters.go new file mode 100644 index 000000000..30362f815 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_delete_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVpnconnectionsNetworksDeleteParams creates a new PcloudVpnconnectionsNetworksDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsNetworksDeleteParams() *PcloudVpnconnectionsNetworksDeleteParams { + return &PcloudVpnconnectionsNetworksDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsNetworksDeleteParamsWithTimeout creates a new PcloudVpnconnectionsNetworksDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsNetworksDeleteParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsNetworksDeleteParams { + return &PcloudVpnconnectionsNetworksDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsNetworksDeleteParamsWithContext creates a new PcloudVpnconnectionsNetworksDeleteParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsNetworksDeleteParamsWithContext(ctx context.Context) *PcloudVpnconnectionsNetworksDeleteParams { + return &PcloudVpnconnectionsNetworksDeleteParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsNetworksDeleteParamsWithHTTPClient creates a new PcloudVpnconnectionsNetworksDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsNetworksDeleteParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsNetworksDeleteParams { + return &PcloudVpnconnectionsNetworksDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsNetworksDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections networks delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsNetworksDeleteParams struct { + + /* Body. + + network to detach + */ + Body *models.NetworkID + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsNetworksDeleteParams) WithDefaults() *PcloudVpnconnectionsNetworksDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections networks delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsNetworksDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsNetworksDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) WithContext(ctx context.Context) *PcloudVpnconnectionsNetworksDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsNetworksDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) WithBody(body *models.NetworkID) *PcloudVpnconnectionsNetworksDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) SetBody(body *models.NetworkID) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsNetworksDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsNetworksDeleteParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections networks delete params +func (o *PcloudVpnconnectionsNetworksDeleteParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsNetworksDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_delete_responses.go new file mode 100644 index 000000000..e4c4379c9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_delete_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsNetworksDeleteReader is a Reader for the PcloudVpnconnectionsNetworksDelete structure. +type PcloudVpnconnectionsNetworksDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsNetworksDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVpnconnectionsNetworksDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsNetworksDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsNetworksDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsNetworksDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsNetworksDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVpnconnectionsNetworksDeleteUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsNetworksDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks] pcloud.vpnconnections.networks.delete", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsNetworksDeleteAccepted creates a PcloudVpnconnectionsNetworksDeleteAccepted with default headers values +func NewPcloudVpnconnectionsNetworksDeleteAccepted() *PcloudVpnconnectionsNetworksDeleteAccepted { + return &PcloudVpnconnectionsNetworksDeleteAccepted{} +} + +/* +PcloudVpnconnectionsNetworksDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVpnconnectionsNetworksDeleteAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud vpnconnections networks delete accepted response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections networks delete accepted response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks delete accepted response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections networks delete accepted response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks delete accepted response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud vpnconnections networks delete accepted response +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteAccepted %s", 202, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteAccepted %s", 202, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksDeleteBadRequest creates a PcloudVpnconnectionsNetworksDeleteBadRequest with default headers values +func NewPcloudVpnconnectionsNetworksDeleteBadRequest() *PcloudVpnconnectionsNetworksDeleteBadRequest { + return &PcloudVpnconnectionsNetworksDeleteBadRequest{} +} + +/* +PcloudVpnconnectionsNetworksDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsNetworksDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks delete bad request response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks delete bad request response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks delete bad request response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks delete bad request response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks delete bad request response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections networks delete bad request response +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksDeleteUnauthorized creates a PcloudVpnconnectionsNetworksDeleteUnauthorized with default headers values +func NewPcloudVpnconnectionsNetworksDeleteUnauthorized() *PcloudVpnconnectionsNetworksDeleteUnauthorized { + return &PcloudVpnconnectionsNetworksDeleteUnauthorized{} +} + +/* +PcloudVpnconnectionsNetworksDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsNetworksDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks delete unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks delete unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks delete unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks delete unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks delete unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections networks delete unauthorized response +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksDeleteForbidden creates a PcloudVpnconnectionsNetworksDeleteForbidden with default headers values +func NewPcloudVpnconnectionsNetworksDeleteForbidden() *PcloudVpnconnectionsNetworksDeleteForbidden { + return &PcloudVpnconnectionsNetworksDeleteForbidden{} +} + +/* +PcloudVpnconnectionsNetworksDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsNetworksDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks delete forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks delete forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks delete forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks delete forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks delete forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections networks delete forbidden response +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksDeleteNotFound creates a PcloudVpnconnectionsNetworksDeleteNotFound with default headers values +func NewPcloudVpnconnectionsNetworksDeleteNotFound() *PcloudVpnconnectionsNetworksDeleteNotFound { + return &PcloudVpnconnectionsNetworksDeleteNotFound{} +} + +/* +PcloudVpnconnectionsNetworksDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsNetworksDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks delete not found response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks delete not found response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks delete not found response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks delete not found response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks delete not found response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections networks delete not found response +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksDeleteUnprocessableEntity creates a PcloudVpnconnectionsNetworksDeleteUnprocessableEntity with default headers values +func NewPcloudVpnconnectionsNetworksDeleteUnprocessableEntity() *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity { + return &PcloudVpnconnectionsNetworksDeleteUnprocessableEntity{} +} + +/* +PcloudVpnconnectionsNetworksDeleteUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVpnconnectionsNetworksDeleteUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks delete unprocessable entity response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks delete unprocessable entity response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks delete unprocessable entity response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks delete unprocessable entity response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks delete unprocessable entity response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud vpnconnections networks delete unprocessable entity response +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksDeleteUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksDeleteInternalServerError creates a PcloudVpnconnectionsNetworksDeleteInternalServerError with default headers values +func NewPcloudVpnconnectionsNetworksDeleteInternalServerError() *PcloudVpnconnectionsNetworksDeleteInternalServerError { + return &PcloudVpnconnectionsNetworksDeleteInternalServerError{} +} + +/* +PcloudVpnconnectionsNetworksDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsNetworksDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks delete internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks delete internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks delete internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections networks delete internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections networks delete internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections networks delete internal server error response +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_get_parameters.go new file mode 100644 index 000000000..10be75f09 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVpnconnectionsNetworksGetParams creates a new PcloudVpnconnectionsNetworksGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsNetworksGetParams() *PcloudVpnconnectionsNetworksGetParams { + return &PcloudVpnconnectionsNetworksGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsNetworksGetParamsWithTimeout creates a new PcloudVpnconnectionsNetworksGetParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsNetworksGetParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsNetworksGetParams { + return &PcloudVpnconnectionsNetworksGetParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsNetworksGetParamsWithContext creates a new PcloudVpnconnectionsNetworksGetParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsNetworksGetParamsWithContext(ctx context.Context) *PcloudVpnconnectionsNetworksGetParams { + return &PcloudVpnconnectionsNetworksGetParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsNetworksGetParamsWithHTTPClient creates a new PcloudVpnconnectionsNetworksGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsNetworksGetParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsNetworksGetParams { + return &PcloudVpnconnectionsNetworksGetParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsNetworksGetParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections networks get operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsNetworksGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections networks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsNetworksGetParams) WithDefaults() *PcloudVpnconnectionsNetworksGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections networks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsNetworksGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsNetworksGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) WithContext(ctx context.Context) *PcloudVpnconnectionsNetworksGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsNetworksGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsNetworksGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsNetworksGetParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections networks get params +func (o *PcloudVpnconnectionsNetworksGetParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsNetworksGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_get_responses.go new file mode 100644 index 000000000..81f9d01af --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsNetworksGetReader is a Reader for the PcloudVpnconnectionsNetworksGet structure. +type PcloudVpnconnectionsNetworksGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsNetworksGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVpnconnectionsNetworksGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsNetworksGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsNetworksGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsNetworksGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsNetworksGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsNetworksGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks] pcloud.vpnconnections.networks.get", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsNetworksGetOK creates a PcloudVpnconnectionsNetworksGetOK with default headers values +func NewPcloudVpnconnectionsNetworksGetOK() *PcloudVpnconnectionsNetworksGetOK { + return &PcloudVpnconnectionsNetworksGetOK{} +} + +/* +PcloudVpnconnectionsNetworksGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVpnconnectionsNetworksGetOK struct { + Payload *models.NetworkIDs +} + +// IsSuccess returns true when this pcloud vpnconnections networks get o k response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections networks get o k response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks get o k response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections networks get o k response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks get o k response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud vpnconnections networks get o k response +func (o *PcloudVpnconnectionsNetworksGetOK) Code() int { + return 200 +} + +func (o *PcloudVpnconnectionsNetworksGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetOK) GetPayload() *models.NetworkIDs { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.NetworkIDs) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksGetBadRequest creates a PcloudVpnconnectionsNetworksGetBadRequest with default headers values +func NewPcloudVpnconnectionsNetworksGetBadRequest() *PcloudVpnconnectionsNetworksGetBadRequest { + return &PcloudVpnconnectionsNetworksGetBadRequest{} +} + +/* +PcloudVpnconnectionsNetworksGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsNetworksGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks get bad request response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks get bad request response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks get bad request response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks get bad request response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks get bad request response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections networks get bad request response +func (o *PcloudVpnconnectionsNetworksGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsNetworksGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksGetUnauthorized creates a PcloudVpnconnectionsNetworksGetUnauthorized with default headers values +func NewPcloudVpnconnectionsNetworksGetUnauthorized() *PcloudVpnconnectionsNetworksGetUnauthorized { + return &PcloudVpnconnectionsNetworksGetUnauthorized{} +} + +/* +PcloudVpnconnectionsNetworksGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsNetworksGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks get unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks get unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks get unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks get unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks get unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections networks get unauthorized response +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksGetForbidden creates a PcloudVpnconnectionsNetworksGetForbidden with default headers values +func NewPcloudVpnconnectionsNetworksGetForbidden() *PcloudVpnconnectionsNetworksGetForbidden { + return &PcloudVpnconnectionsNetworksGetForbidden{} +} + +/* +PcloudVpnconnectionsNetworksGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsNetworksGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks get forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks get forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks get forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks get forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks get forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections networks get forbidden response +func (o *PcloudVpnconnectionsNetworksGetForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsNetworksGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksGetNotFound creates a PcloudVpnconnectionsNetworksGetNotFound with default headers values +func NewPcloudVpnconnectionsNetworksGetNotFound() *PcloudVpnconnectionsNetworksGetNotFound { + return &PcloudVpnconnectionsNetworksGetNotFound{} +} + +/* +PcloudVpnconnectionsNetworksGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsNetworksGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks get not found response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks get not found response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks get not found response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks get not found response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks get not found response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections networks get not found response +func (o *PcloudVpnconnectionsNetworksGetNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsNetworksGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksGetInternalServerError creates a PcloudVpnconnectionsNetworksGetInternalServerError with default headers values +func NewPcloudVpnconnectionsNetworksGetInternalServerError() *PcloudVpnconnectionsNetworksGetInternalServerError { + return &PcloudVpnconnectionsNetworksGetInternalServerError{} +} + +/* +PcloudVpnconnectionsNetworksGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsNetworksGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks get internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks get internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks get internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections networks get internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections networks get internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections networks get internal server error response +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_put_parameters.go new file mode 100644 index 000000000..9d7258f97 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVpnconnectionsNetworksPutParams creates a new PcloudVpnconnectionsNetworksPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsNetworksPutParams() *PcloudVpnconnectionsNetworksPutParams { + return &PcloudVpnconnectionsNetworksPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsNetworksPutParamsWithTimeout creates a new PcloudVpnconnectionsNetworksPutParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsNetworksPutParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsNetworksPutParams { + return &PcloudVpnconnectionsNetworksPutParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsNetworksPutParamsWithContext creates a new PcloudVpnconnectionsNetworksPutParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsNetworksPutParamsWithContext(ctx context.Context) *PcloudVpnconnectionsNetworksPutParams { + return &PcloudVpnconnectionsNetworksPutParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsNetworksPutParamsWithHTTPClient creates a new PcloudVpnconnectionsNetworksPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsNetworksPutParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsNetworksPutParams { + return &PcloudVpnconnectionsNetworksPutParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsNetworksPutParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections networks put operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsNetworksPutParams struct { + + /* Body. + + network to attach + */ + Body *models.NetworkID + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections networks put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsNetworksPutParams) WithDefaults() *PcloudVpnconnectionsNetworksPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections networks put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsNetworksPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsNetworksPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) WithContext(ctx context.Context) *PcloudVpnconnectionsNetworksPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsNetworksPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) WithBody(body *models.NetworkID) *PcloudVpnconnectionsNetworksPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) SetBody(body *models.NetworkID) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsNetworksPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsNetworksPutParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections networks put params +func (o *PcloudVpnconnectionsNetworksPutParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsNetworksPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_put_responses.go new file mode 100644 index 000000000..4c2d31311 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_networks_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsNetworksPutReader is a Reader for the PcloudVpnconnectionsNetworksPut structure. +type PcloudVpnconnectionsNetworksPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsNetworksPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVpnconnectionsNetworksPutAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsNetworksPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsNetworksPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsNetworksPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsNetworksPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVpnconnectionsNetworksPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsNetworksPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks] pcloud.vpnconnections.networks.put", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsNetworksPutAccepted creates a PcloudVpnconnectionsNetworksPutAccepted with default headers values +func NewPcloudVpnconnectionsNetworksPutAccepted() *PcloudVpnconnectionsNetworksPutAccepted { + return &PcloudVpnconnectionsNetworksPutAccepted{} +} + +/* +PcloudVpnconnectionsNetworksPutAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVpnconnectionsNetworksPutAccepted struct { + Payload *models.JobReference +} + +// IsSuccess returns true when this pcloud vpnconnections networks put accepted response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksPutAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections networks put accepted response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksPutAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks put accepted response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksPutAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections networks put accepted response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksPutAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks put accepted response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksPutAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud vpnconnections networks put accepted response +func (o *PcloudVpnconnectionsNetworksPutAccepted) Code() int { + return 202 +} + +func (o *PcloudVpnconnectionsNetworksPutAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutAccepted %s", 202, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutAccepted %s", 202, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutAccepted) GetPayload() *models.JobReference { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksPutAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.JobReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksPutBadRequest creates a PcloudVpnconnectionsNetworksPutBadRequest with default headers values +func NewPcloudVpnconnectionsNetworksPutBadRequest() *PcloudVpnconnectionsNetworksPutBadRequest { + return &PcloudVpnconnectionsNetworksPutBadRequest{} +} + +/* +PcloudVpnconnectionsNetworksPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsNetworksPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks put bad request response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks put bad request response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks put bad request response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks put bad request response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks put bad request response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections networks put bad request response +func (o *PcloudVpnconnectionsNetworksPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsNetworksPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksPutUnauthorized creates a PcloudVpnconnectionsNetworksPutUnauthorized with default headers values +func NewPcloudVpnconnectionsNetworksPutUnauthorized() *PcloudVpnconnectionsNetworksPutUnauthorized { + return &PcloudVpnconnectionsNetworksPutUnauthorized{} +} + +/* +PcloudVpnconnectionsNetworksPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsNetworksPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks put unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks put unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks put unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks put unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks put unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections networks put unauthorized response +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksPutForbidden creates a PcloudVpnconnectionsNetworksPutForbidden with default headers values +func NewPcloudVpnconnectionsNetworksPutForbidden() *PcloudVpnconnectionsNetworksPutForbidden { + return &PcloudVpnconnectionsNetworksPutForbidden{} +} + +/* +PcloudVpnconnectionsNetworksPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsNetworksPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks put forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks put forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks put forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks put forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks put forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections networks put forbidden response +func (o *PcloudVpnconnectionsNetworksPutForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsNetworksPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksPutNotFound creates a PcloudVpnconnectionsNetworksPutNotFound with default headers values +func NewPcloudVpnconnectionsNetworksPutNotFound() *PcloudVpnconnectionsNetworksPutNotFound { + return &PcloudVpnconnectionsNetworksPutNotFound{} +} + +/* +PcloudVpnconnectionsNetworksPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsNetworksPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks put not found response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks put not found response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks put not found response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks put not found response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks put not found response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections networks put not found response +func (o *PcloudVpnconnectionsNetworksPutNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsNetworksPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksPutUnprocessableEntity creates a PcloudVpnconnectionsNetworksPutUnprocessableEntity with default headers values +func NewPcloudVpnconnectionsNetworksPutUnprocessableEntity() *PcloudVpnconnectionsNetworksPutUnprocessableEntity { + return &PcloudVpnconnectionsNetworksPutUnprocessableEntity{} +} + +/* +PcloudVpnconnectionsNetworksPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVpnconnectionsNetworksPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks put unprocessable entity response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks put unprocessable entity response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks put unprocessable entity response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections networks put unprocessable entity response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections networks put unprocessable entity response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud vpnconnections networks put unprocessable entity response +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsNetworksPutInternalServerError creates a PcloudVpnconnectionsNetworksPutInternalServerError with default headers values +func NewPcloudVpnconnectionsNetworksPutInternalServerError() *PcloudVpnconnectionsNetworksPutInternalServerError { + return &PcloudVpnconnectionsNetworksPutInternalServerError{} +} + +/* +PcloudVpnconnectionsNetworksPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsNetworksPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections networks put internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections networks put internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections networks put internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections networks put internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections networks put internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections networks put internal server error response +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/networks][%d] pcloudVpnconnectionsNetworksPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsNetworksPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_delete_parameters.go new file mode 100644 index 000000000..998b56730 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_delete_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVpnconnectionsPeersubnetsDeleteParams creates a new PcloudVpnconnectionsPeersubnetsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsPeersubnetsDeleteParams() *PcloudVpnconnectionsPeersubnetsDeleteParams { + return &PcloudVpnconnectionsPeersubnetsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteParamsWithTimeout creates a new PcloudVpnconnectionsPeersubnetsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsPeersubnetsDeleteParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsPeersubnetsDeleteParams { + return &PcloudVpnconnectionsPeersubnetsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteParamsWithContext creates a new PcloudVpnconnectionsPeersubnetsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsPeersubnetsDeleteParamsWithContext(ctx context.Context) *PcloudVpnconnectionsPeersubnetsDeleteParams { + return &PcloudVpnconnectionsPeersubnetsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteParamsWithHTTPClient creates a new PcloudVpnconnectionsPeersubnetsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsPeersubnetsDeleteParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsPeersubnetsDeleteParams { + return &PcloudVpnconnectionsPeersubnetsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsPeersubnetsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections peersubnets delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsPeersubnetsDeleteParams struct { + + /* Body. + + Peer subnet to detach + */ + Body *models.PeerSubnetUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections peersubnets delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) WithDefaults() *PcloudVpnconnectionsPeersubnetsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections peersubnets delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsPeersubnetsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) WithContext(ctx context.Context) *PcloudVpnconnectionsPeersubnetsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsPeersubnetsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) WithBody(body *models.PeerSubnetUpdate) *PcloudVpnconnectionsPeersubnetsDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) SetBody(body *models.PeerSubnetUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsPeersubnetsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsPeersubnetsDeleteParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections peersubnets delete params +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsPeersubnetsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_delete_responses.go new file mode 100644 index 000000000..66d2a867e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_delete_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsPeersubnetsDeleteReader is a Reader for the PcloudVpnconnectionsPeersubnetsDelete structure. +type PcloudVpnconnectionsPeersubnetsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsPeersubnetsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVpnconnectionsPeersubnetsDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsPeersubnetsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsPeersubnetsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsPeersubnetsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsPeersubnetsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsPeersubnetsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets] pcloud.vpnconnections.peersubnets.delete", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteOK creates a PcloudVpnconnectionsPeersubnetsDeleteOK with default headers values +func NewPcloudVpnconnectionsPeersubnetsDeleteOK() *PcloudVpnconnectionsPeersubnetsDeleteOK { + return &PcloudVpnconnectionsPeersubnetsDeleteOK{} +} + +/* +PcloudVpnconnectionsPeersubnetsDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVpnconnectionsPeersubnetsDeleteOK struct { + Payload *models.PeerSubnets +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets delete o k response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets delete o k response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets delete o k response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets delete o k response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets delete o k response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets delete o k response +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) Code() int { + return 200 +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) GetPayload() *models.PeerSubnets { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PeerSubnets) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteBadRequest creates a PcloudVpnconnectionsPeersubnetsDeleteBadRequest with default headers values +func NewPcloudVpnconnectionsPeersubnetsDeleteBadRequest() *PcloudVpnconnectionsPeersubnetsDeleteBadRequest { + return &PcloudVpnconnectionsPeersubnetsDeleteBadRequest{} +} + +/* +PcloudVpnconnectionsPeersubnetsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsPeersubnetsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets delete bad request response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets delete bad request response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets delete bad request response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets delete bad request response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets delete bad request response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets delete bad request response +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteUnauthorized creates a PcloudVpnconnectionsPeersubnetsDeleteUnauthorized with default headers values +func NewPcloudVpnconnectionsPeersubnetsDeleteUnauthorized() *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized { + return &PcloudVpnconnectionsPeersubnetsDeleteUnauthorized{} +} + +/* +PcloudVpnconnectionsPeersubnetsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsPeersubnetsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets delete unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets delete unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets delete unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets delete unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets delete unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets delete unauthorized response +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteForbidden creates a PcloudVpnconnectionsPeersubnetsDeleteForbidden with default headers values +func NewPcloudVpnconnectionsPeersubnetsDeleteForbidden() *PcloudVpnconnectionsPeersubnetsDeleteForbidden { + return &PcloudVpnconnectionsPeersubnetsDeleteForbidden{} +} + +/* +PcloudVpnconnectionsPeersubnetsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsPeersubnetsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets delete forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets delete forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets delete forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets delete forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets delete forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets delete forbidden response +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteNotFound creates a PcloudVpnconnectionsPeersubnetsDeleteNotFound with default headers values +func NewPcloudVpnconnectionsPeersubnetsDeleteNotFound() *PcloudVpnconnectionsPeersubnetsDeleteNotFound { + return &PcloudVpnconnectionsPeersubnetsDeleteNotFound{} +} + +/* +PcloudVpnconnectionsPeersubnetsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsPeersubnetsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets delete not found response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets delete not found response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets delete not found response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets delete not found response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets delete not found response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets delete not found response +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity creates a PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity with default headers values +func NewPcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity() *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity { + return &PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity{} +} + +/* +PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets delete unprocessable entity response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets delete unprocessable entity response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets delete unprocessable entity response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets delete unprocessable entity response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets delete unprocessable entity response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets delete unprocessable entity response +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsDeleteInternalServerError creates a PcloudVpnconnectionsPeersubnetsDeleteInternalServerError with default headers values +func NewPcloudVpnconnectionsPeersubnetsDeleteInternalServerError() *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError { + return &PcloudVpnconnectionsPeersubnetsDeleteInternalServerError{} +} + +/* +PcloudVpnconnectionsPeersubnetsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsPeersubnetsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets delete internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets delete internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets delete internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets delete internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections peersubnets delete internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets delete internal server error response +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_get_parameters.go new file mode 100644 index 000000000..8e05c88f1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVpnconnectionsPeersubnetsGetParams creates a new PcloudVpnconnectionsPeersubnetsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsPeersubnetsGetParams() *PcloudVpnconnectionsPeersubnetsGetParams { + return &PcloudVpnconnectionsPeersubnetsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsPeersubnetsGetParamsWithTimeout creates a new PcloudVpnconnectionsPeersubnetsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsPeersubnetsGetParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsPeersubnetsGetParams { + return &PcloudVpnconnectionsPeersubnetsGetParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsPeersubnetsGetParamsWithContext creates a new PcloudVpnconnectionsPeersubnetsGetParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsPeersubnetsGetParamsWithContext(ctx context.Context) *PcloudVpnconnectionsPeersubnetsGetParams { + return &PcloudVpnconnectionsPeersubnetsGetParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsPeersubnetsGetParamsWithHTTPClient creates a new PcloudVpnconnectionsPeersubnetsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsPeersubnetsGetParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsPeersubnetsGetParams { + return &PcloudVpnconnectionsPeersubnetsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsPeersubnetsGetParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections peersubnets get operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsPeersubnetsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections peersubnets get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPeersubnetsGetParams) WithDefaults() *PcloudVpnconnectionsPeersubnetsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections peersubnets get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPeersubnetsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsPeersubnetsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) WithContext(ctx context.Context) *PcloudVpnconnectionsPeersubnetsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsPeersubnetsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsPeersubnetsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsPeersubnetsGetParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections peersubnets get params +func (o *PcloudVpnconnectionsPeersubnetsGetParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsPeersubnetsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_get_responses.go new file mode 100644 index 000000000..abe3bb131 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsPeersubnetsGetReader is a Reader for the PcloudVpnconnectionsPeersubnetsGet structure. +type PcloudVpnconnectionsPeersubnetsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsPeersubnetsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVpnconnectionsPeersubnetsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsPeersubnetsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsPeersubnetsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsPeersubnetsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsPeersubnetsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsPeersubnetsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets] pcloud.vpnconnections.peersubnets.get", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsPeersubnetsGetOK creates a PcloudVpnconnectionsPeersubnetsGetOK with default headers values +func NewPcloudVpnconnectionsPeersubnetsGetOK() *PcloudVpnconnectionsPeersubnetsGetOK { + return &PcloudVpnconnectionsPeersubnetsGetOK{} +} + +/* +PcloudVpnconnectionsPeersubnetsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVpnconnectionsPeersubnetsGetOK struct { + Payload *models.PeerSubnets +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets get o k response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets get o k response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets get o k response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets get o k response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets get o k response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets get o k response +func (o *PcloudVpnconnectionsPeersubnetsGetOK) Code() int { + return 200 +} + +func (o *PcloudVpnconnectionsPeersubnetsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetOK) GetPayload() *models.PeerSubnets { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PeerSubnets) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsGetBadRequest creates a PcloudVpnconnectionsPeersubnetsGetBadRequest with default headers values +func NewPcloudVpnconnectionsPeersubnetsGetBadRequest() *PcloudVpnconnectionsPeersubnetsGetBadRequest { + return &PcloudVpnconnectionsPeersubnetsGetBadRequest{} +} + +/* +PcloudVpnconnectionsPeersubnetsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsPeersubnetsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets get bad request response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets get bad request response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets get bad request response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets get bad request response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets get bad request response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets get bad request response +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsGetUnauthorized creates a PcloudVpnconnectionsPeersubnetsGetUnauthorized with default headers values +func NewPcloudVpnconnectionsPeersubnetsGetUnauthorized() *PcloudVpnconnectionsPeersubnetsGetUnauthorized { + return &PcloudVpnconnectionsPeersubnetsGetUnauthorized{} +} + +/* +PcloudVpnconnectionsPeersubnetsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsPeersubnetsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets get unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets get unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets get unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets get unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets get unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets get unauthorized response +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsGetForbidden creates a PcloudVpnconnectionsPeersubnetsGetForbidden with default headers values +func NewPcloudVpnconnectionsPeersubnetsGetForbidden() *PcloudVpnconnectionsPeersubnetsGetForbidden { + return &PcloudVpnconnectionsPeersubnetsGetForbidden{} +} + +/* +PcloudVpnconnectionsPeersubnetsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsPeersubnetsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets get forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets get forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets get forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets get forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets get forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets get forbidden response +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsGetNotFound creates a PcloudVpnconnectionsPeersubnetsGetNotFound with default headers values +func NewPcloudVpnconnectionsPeersubnetsGetNotFound() *PcloudVpnconnectionsPeersubnetsGetNotFound { + return &PcloudVpnconnectionsPeersubnetsGetNotFound{} +} + +/* +PcloudVpnconnectionsPeersubnetsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsPeersubnetsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets get not found response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets get not found response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets get not found response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets get not found response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets get not found response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets get not found response +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsGetInternalServerError creates a PcloudVpnconnectionsPeersubnetsGetInternalServerError with default headers values +func NewPcloudVpnconnectionsPeersubnetsGetInternalServerError() *PcloudVpnconnectionsPeersubnetsGetInternalServerError { + return &PcloudVpnconnectionsPeersubnetsGetInternalServerError{} +} + +/* +PcloudVpnconnectionsPeersubnetsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsPeersubnetsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets get internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets get internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets get internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets get internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections peersubnets get internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets get internal server error response +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_put_parameters.go new file mode 100644 index 000000000..4d15c6d5c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVpnconnectionsPeersubnetsPutParams creates a new PcloudVpnconnectionsPeersubnetsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsPeersubnetsPutParams() *PcloudVpnconnectionsPeersubnetsPutParams { + return &PcloudVpnconnectionsPeersubnetsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsPeersubnetsPutParamsWithTimeout creates a new PcloudVpnconnectionsPeersubnetsPutParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsPeersubnetsPutParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsPeersubnetsPutParams { + return &PcloudVpnconnectionsPeersubnetsPutParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsPeersubnetsPutParamsWithContext creates a new PcloudVpnconnectionsPeersubnetsPutParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsPeersubnetsPutParamsWithContext(ctx context.Context) *PcloudVpnconnectionsPeersubnetsPutParams { + return &PcloudVpnconnectionsPeersubnetsPutParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsPeersubnetsPutParamsWithHTTPClient creates a new PcloudVpnconnectionsPeersubnetsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsPeersubnetsPutParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsPeersubnetsPutParams { + return &PcloudVpnconnectionsPeersubnetsPutParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsPeersubnetsPutParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections peersubnets put operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsPeersubnetsPutParams struct { + + /* Body. + + peer subnet to attach + */ + Body *models.PeerSubnetUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections peersubnets put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPeersubnetsPutParams) WithDefaults() *PcloudVpnconnectionsPeersubnetsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections peersubnets put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPeersubnetsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsPeersubnetsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) WithContext(ctx context.Context) *PcloudVpnconnectionsPeersubnetsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsPeersubnetsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) WithBody(body *models.PeerSubnetUpdate) *PcloudVpnconnectionsPeersubnetsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) SetBody(body *models.PeerSubnetUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsPeersubnetsPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsPeersubnetsPutParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections peersubnets put params +func (o *PcloudVpnconnectionsPeersubnetsPutParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsPeersubnetsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_put_responses.go new file mode 100644 index 000000000..4b0aadd45 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_peersubnets_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsPeersubnetsPutReader is a Reader for the PcloudVpnconnectionsPeersubnetsPut structure. +type PcloudVpnconnectionsPeersubnetsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsPeersubnetsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVpnconnectionsPeersubnetsPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsPeersubnetsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsPeersubnetsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsPeersubnetsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsPeersubnetsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVpnconnectionsPeersubnetsPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsPeersubnetsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets] pcloud.vpnconnections.peersubnets.put", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsPeersubnetsPutOK creates a PcloudVpnconnectionsPeersubnetsPutOK with default headers values +func NewPcloudVpnconnectionsPeersubnetsPutOK() *PcloudVpnconnectionsPeersubnetsPutOK { + return &PcloudVpnconnectionsPeersubnetsPutOK{} +} + +/* +PcloudVpnconnectionsPeersubnetsPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVpnconnectionsPeersubnetsPutOK struct { + Payload *models.PeerSubnets +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets put o k response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets put o k response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets put o k response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets put o k response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets put o k response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets put o k response +func (o *PcloudVpnconnectionsPeersubnetsPutOK) Code() int { + return 200 +} + +func (o *PcloudVpnconnectionsPeersubnetsPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutOK) GetPayload() *models.PeerSubnets { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.PeerSubnets) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsPutBadRequest creates a PcloudVpnconnectionsPeersubnetsPutBadRequest with default headers values +func NewPcloudVpnconnectionsPeersubnetsPutBadRequest() *PcloudVpnconnectionsPeersubnetsPutBadRequest { + return &PcloudVpnconnectionsPeersubnetsPutBadRequest{} +} + +/* +PcloudVpnconnectionsPeersubnetsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsPeersubnetsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets put bad request response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets put bad request response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets put bad request response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets put bad request response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets put bad request response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets put bad request response +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsPutUnauthorized creates a PcloudVpnconnectionsPeersubnetsPutUnauthorized with default headers values +func NewPcloudVpnconnectionsPeersubnetsPutUnauthorized() *PcloudVpnconnectionsPeersubnetsPutUnauthorized { + return &PcloudVpnconnectionsPeersubnetsPutUnauthorized{} +} + +/* +PcloudVpnconnectionsPeersubnetsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsPeersubnetsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets put unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets put unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets put unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets put unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets put unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets put unauthorized response +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsPutForbidden creates a PcloudVpnconnectionsPeersubnetsPutForbidden with default headers values +func NewPcloudVpnconnectionsPeersubnetsPutForbidden() *PcloudVpnconnectionsPeersubnetsPutForbidden { + return &PcloudVpnconnectionsPeersubnetsPutForbidden{} +} + +/* +PcloudVpnconnectionsPeersubnetsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsPeersubnetsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets put forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets put forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets put forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets put forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets put forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets put forbidden response +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsPutNotFound creates a PcloudVpnconnectionsPeersubnetsPutNotFound with default headers values +func NewPcloudVpnconnectionsPeersubnetsPutNotFound() *PcloudVpnconnectionsPeersubnetsPutNotFound { + return &PcloudVpnconnectionsPeersubnetsPutNotFound{} +} + +/* +PcloudVpnconnectionsPeersubnetsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsPeersubnetsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets put not found response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets put not found response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets put not found response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets put not found response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets put not found response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets put not found response +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsPutUnprocessableEntity creates a PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity with default headers values +func NewPcloudVpnconnectionsPeersubnetsPutUnprocessableEntity() *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity { + return &PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity{} +} + +/* +PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets put unprocessable entity response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets put unprocessable entity response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets put unprocessable entity response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets put unprocessable entity response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections peersubnets put unprocessable entity response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets put unprocessable entity response +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPeersubnetsPutInternalServerError creates a PcloudVpnconnectionsPeersubnetsPutInternalServerError with default headers values +func NewPcloudVpnconnectionsPeersubnetsPutInternalServerError() *PcloudVpnconnectionsPeersubnetsPutInternalServerError { + return &PcloudVpnconnectionsPeersubnetsPutInternalServerError{} +} + +/* +PcloudVpnconnectionsPeersubnetsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsPeersubnetsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections peersubnets put internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections peersubnets put internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections peersubnets put internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections peersubnets put internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections peersubnets put internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections peersubnets put internal server error response +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}/peer-subnets][%d] pcloudVpnconnectionsPeersubnetsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPeersubnetsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_post_parameters.go new file mode 100644 index 000000000..ae5b64237 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVpnconnectionsPostParams creates a new PcloudVpnconnectionsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsPostParams() *PcloudVpnconnectionsPostParams { + return &PcloudVpnconnectionsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsPostParamsWithTimeout creates a new PcloudVpnconnectionsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsPostParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsPostParams { + return &PcloudVpnconnectionsPostParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsPostParamsWithContext creates a new PcloudVpnconnectionsPostParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsPostParamsWithContext(ctx context.Context) *PcloudVpnconnectionsPostParams { + return &PcloudVpnconnectionsPostParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsPostParamsWithHTTPClient creates a new PcloudVpnconnectionsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsPostParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsPostParams { + return &PcloudVpnconnectionsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsPostParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections post operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsPostParams struct { + + /* Body. + + VPN Connection object used for creation + */ + Body *models.VPNConnectionCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPostParams) WithDefaults() *PcloudVpnconnectionsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) WithContext(ctx context.Context) *PcloudVpnconnectionsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) WithBody(body *models.VPNConnectionCreate) *PcloudVpnconnectionsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) SetBody(body *models.VPNConnectionCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections post params +func (o *PcloudVpnconnectionsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_post_responses.go new file mode 100644 index 000000000..e2375f96e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_post_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsPostReader is a Reader for the PcloudVpnconnectionsPost structure. +type PcloudVpnconnectionsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVpnconnectionsPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 405: + result := NewPcloudVpnconnectionsPostMethodNotAllowed() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudVpnconnectionsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVpnconnectionsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections] pcloud.vpnconnections.post", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsPostAccepted creates a PcloudVpnconnectionsPostAccepted with default headers values +func NewPcloudVpnconnectionsPostAccepted() *PcloudVpnconnectionsPostAccepted { + return &PcloudVpnconnectionsPostAccepted{} +} + +/* +PcloudVpnconnectionsPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVpnconnectionsPostAccepted struct { + Payload *models.VPNConnectionCreateResponse +} + +// IsSuccess returns true when this pcloud vpnconnections post accepted response has a 2xx status code +func (o *PcloudVpnconnectionsPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections post accepted response has a 3xx status code +func (o *PcloudVpnconnectionsPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post accepted response has a 4xx status code +func (o *PcloudVpnconnectionsPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections post accepted response has a 5xx status code +func (o *PcloudVpnconnectionsPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections post accepted response a status code equal to that given +func (o *PcloudVpnconnectionsPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud vpnconnections post accepted response +func (o *PcloudVpnconnectionsPostAccepted) Code() int { + return 202 +} + +func (o *PcloudVpnconnectionsPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostAccepted %s", 202, payload) +} + +func (o *PcloudVpnconnectionsPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostAccepted %s", 202, payload) +} + +func (o *PcloudVpnconnectionsPostAccepted) GetPayload() *models.VPNConnectionCreateResponse { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VPNConnectionCreateResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPostBadRequest creates a PcloudVpnconnectionsPostBadRequest with default headers values +func NewPcloudVpnconnectionsPostBadRequest() *PcloudVpnconnectionsPostBadRequest { + return &PcloudVpnconnectionsPostBadRequest{} +} + +/* +PcloudVpnconnectionsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections post bad request response has a 2xx status code +func (o *PcloudVpnconnectionsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections post bad request response has a 3xx status code +func (o *PcloudVpnconnectionsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post bad request response has a 4xx status code +func (o *PcloudVpnconnectionsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections post bad request response has a 5xx status code +func (o *PcloudVpnconnectionsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections post bad request response a status code equal to that given +func (o *PcloudVpnconnectionsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections post bad request response +func (o *PcloudVpnconnectionsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPostUnauthorized creates a PcloudVpnconnectionsPostUnauthorized with default headers values +func NewPcloudVpnconnectionsPostUnauthorized() *PcloudVpnconnectionsPostUnauthorized { + return &PcloudVpnconnectionsPostUnauthorized{} +} + +/* +PcloudVpnconnectionsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections post unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections post unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections post unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections post unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections post unauthorized response +func (o *PcloudVpnconnectionsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPostForbidden creates a PcloudVpnconnectionsPostForbidden with default headers values +func NewPcloudVpnconnectionsPostForbidden() *PcloudVpnconnectionsPostForbidden { + return &PcloudVpnconnectionsPostForbidden{} +} + +/* +PcloudVpnconnectionsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections post forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections post forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections post forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections post forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections post forbidden response +func (o *PcloudVpnconnectionsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPostNotFound creates a PcloudVpnconnectionsPostNotFound with default headers values +func NewPcloudVpnconnectionsPostNotFound() *PcloudVpnconnectionsPostNotFound { + return &PcloudVpnconnectionsPostNotFound{} +} + +/* +PcloudVpnconnectionsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections post not found response has a 2xx status code +func (o *PcloudVpnconnectionsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections post not found response has a 3xx status code +func (o *PcloudVpnconnectionsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post not found response has a 4xx status code +func (o *PcloudVpnconnectionsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections post not found response has a 5xx status code +func (o *PcloudVpnconnectionsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections post not found response a status code equal to that given +func (o *PcloudVpnconnectionsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections post not found response +func (o *PcloudVpnconnectionsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPostMethodNotAllowed creates a PcloudVpnconnectionsPostMethodNotAllowed with default headers values +func NewPcloudVpnconnectionsPostMethodNotAllowed() *PcloudVpnconnectionsPostMethodNotAllowed { + return &PcloudVpnconnectionsPostMethodNotAllowed{} +} + +/* +PcloudVpnconnectionsPostMethodNotAllowed describes a response with status code 405, with default header values. + +Method Not Allowed +*/ +type PcloudVpnconnectionsPostMethodNotAllowed struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections post method not allowed response has a 2xx status code +func (o *PcloudVpnconnectionsPostMethodNotAllowed) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections post method not allowed response has a 3xx status code +func (o *PcloudVpnconnectionsPostMethodNotAllowed) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post method not allowed response has a 4xx status code +func (o *PcloudVpnconnectionsPostMethodNotAllowed) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections post method not allowed response has a 5xx status code +func (o *PcloudVpnconnectionsPostMethodNotAllowed) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections post method not allowed response a status code equal to that given +func (o *PcloudVpnconnectionsPostMethodNotAllowed) IsCode(code int) bool { + return code == 405 +} + +// Code gets the status code for the pcloud vpnconnections post method not allowed response +func (o *PcloudVpnconnectionsPostMethodNotAllowed) Code() int { + return 405 +} + +func (o *PcloudVpnconnectionsPostMethodNotAllowed) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostMethodNotAllowed %s", 405, payload) +} + +func (o *PcloudVpnconnectionsPostMethodNotAllowed) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostMethodNotAllowed %s", 405, payload) +} + +func (o *PcloudVpnconnectionsPostMethodNotAllowed) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostMethodNotAllowed) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPostConflict creates a PcloudVpnconnectionsPostConflict with default headers values +func NewPcloudVpnconnectionsPostConflict() *PcloudVpnconnectionsPostConflict { + return &PcloudVpnconnectionsPostConflict{} +} + +/* +PcloudVpnconnectionsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudVpnconnectionsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections post conflict response has a 2xx status code +func (o *PcloudVpnconnectionsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections post conflict response has a 3xx status code +func (o *PcloudVpnconnectionsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post conflict response has a 4xx status code +func (o *PcloudVpnconnectionsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections post conflict response has a 5xx status code +func (o *PcloudVpnconnectionsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections post conflict response a status code equal to that given +func (o *PcloudVpnconnectionsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud vpnconnections post conflict response +func (o *PcloudVpnconnectionsPostConflict) Code() int { + return 409 +} + +func (o *PcloudVpnconnectionsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostConflict %s", 409, payload) +} + +func (o *PcloudVpnconnectionsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostConflict %s", 409, payload) +} + +func (o *PcloudVpnconnectionsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPostUnprocessableEntity creates a PcloudVpnconnectionsPostUnprocessableEntity with default headers values +func NewPcloudVpnconnectionsPostUnprocessableEntity() *PcloudVpnconnectionsPostUnprocessableEntity { + return &PcloudVpnconnectionsPostUnprocessableEntity{} +} + +/* +PcloudVpnconnectionsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVpnconnectionsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections post unprocessable entity response has a 2xx status code +func (o *PcloudVpnconnectionsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections post unprocessable entity response has a 3xx status code +func (o *PcloudVpnconnectionsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post unprocessable entity response has a 4xx status code +func (o *PcloudVpnconnectionsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections post unprocessable entity response has a 5xx status code +func (o *PcloudVpnconnectionsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections post unprocessable entity response a status code equal to that given +func (o *PcloudVpnconnectionsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud vpnconnections post unprocessable entity response +func (o *PcloudVpnconnectionsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVpnconnectionsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPostInternalServerError creates a PcloudVpnconnectionsPostInternalServerError with default headers values +func NewPcloudVpnconnectionsPostInternalServerError() *PcloudVpnconnectionsPostInternalServerError { + return &PcloudVpnconnectionsPostInternalServerError{} +} + +/* +PcloudVpnconnectionsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections post internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections post internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections post internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections post internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections post internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections post internal server error response +func (o *PcloudVpnconnectionsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections][%d] pcloudVpnconnectionsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_put_parameters.go new file mode 100644 index 000000000..55b6b90cb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVpnconnectionsPutParams creates a new PcloudVpnconnectionsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVpnconnectionsPutParams() *PcloudVpnconnectionsPutParams { + return &PcloudVpnconnectionsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVpnconnectionsPutParamsWithTimeout creates a new PcloudVpnconnectionsPutParams object +// with the ability to set a timeout on a request. +func NewPcloudVpnconnectionsPutParamsWithTimeout(timeout time.Duration) *PcloudVpnconnectionsPutParams { + return &PcloudVpnconnectionsPutParams{ + timeout: timeout, + } +} + +// NewPcloudVpnconnectionsPutParamsWithContext creates a new PcloudVpnconnectionsPutParams object +// with the ability to set a context for a request. +func NewPcloudVpnconnectionsPutParamsWithContext(ctx context.Context) *PcloudVpnconnectionsPutParams { + return &PcloudVpnconnectionsPutParams{ + Context: ctx, + } +} + +// NewPcloudVpnconnectionsPutParamsWithHTTPClient creates a new PcloudVpnconnectionsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVpnconnectionsPutParamsWithHTTPClient(client *http.Client) *PcloudVpnconnectionsPutParams { + return &PcloudVpnconnectionsPutParams{ + HTTPClient: client, + } +} + +/* +PcloudVpnconnectionsPutParams contains all the parameters to send to the API endpoint + + for the pcloud vpnconnections put operation. + + Typically these are written to a http.Request. +*/ +type PcloudVpnconnectionsPutParams struct { + + /* Body. + + VPN Connection object used for update + */ + Body *models.VPNConnectionUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VpnConnectionID. + + ID of a VPN connection + */ + VpnConnectionID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud vpnconnections put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPutParams) WithDefaults() *PcloudVpnconnectionsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud vpnconnections put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVpnconnectionsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) WithTimeout(timeout time.Duration) *PcloudVpnconnectionsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) WithContext(ctx context.Context) *PcloudVpnconnectionsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) WithHTTPClient(client *http.Client) *PcloudVpnconnectionsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) WithBody(body *models.VPNConnectionUpdate) *PcloudVpnconnectionsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) SetBody(body *models.VPNConnectionUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVpnconnectionsPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVpnConnectionID adds the vpnConnectionID to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) WithVpnConnectionID(vpnConnectionID string) *PcloudVpnconnectionsPutParams { + o.SetVpnConnectionID(vpnConnectionID) + return o +} + +// SetVpnConnectionID adds the vpnConnectionId to the pcloud vpnconnections put params +func (o *PcloudVpnconnectionsPutParams) SetVpnConnectionID(vpnConnectionID string) { + o.VpnConnectionID = vpnConnectionID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVpnconnectionsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param vpn_connection_id + if err := r.SetPathParam("vpn_connection_id", o.VpnConnectionID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_put_responses.go new file mode 100644 index 000000000..0b26b557f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections/pcloud_vpnconnections_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_connections + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVpnconnectionsPutReader is a Reader for the PcloudVpnconnectionsPut structure. +type PcloudVpnconnectionsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVpnconnectionsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVpnconnectionsPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVpnconnectionsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVpnconnectionsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVpnconnectionsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVpnconnectionsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVpnconnectionsPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVpnconnectionsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}] pcloud.vpnconnections.put", response, response.Code()) + } +} + +// NewPcloudVpnconnectionsPutOK creates a PcloudVpnconnectionsPutOK with default headers values +func NewPcloudVpnconnectionsPutOK() *PcloudVpnconnectionsPutOK { + return &PcloudVpnconnectionsPutOK{} +} + +/* +PcloudVpnconnectionsPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVpnconnectionsPutOK struct { + Payload *models.VPNConnection +} + +// IsSuccess returns true when this pcloud vpnconnections put o k response has a 2xx status code +func (o *PcloudVpnconnectionsPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud vpnconnections put o k response has a 3xx status code +func (o *PcloudVpnconnectionsPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections put o k response has a 4xx status code +func (o *PcloudVpnconnectionsPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections put o k response has a 5xx status code +func (o *PcloudVpnconnectionsPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections put o k response a status code equal to that given +func (o *PcloudVpnconnectionsPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud vpnconnections put o k response +func (o *PcloudVpnconnectionsPutOK) Code() int { + return 200 +} + +func (o *PcloudVpnconnectionsPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutOK %s", 200, payload) +} + +func (o *PcloudVpnconnectionsPutOK) GetPayload() *models.VPNConnection { + return o.Payload +} + +func (o *PcloudVpnconnectionsPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VPNConnection) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPutBadRequest creates a PcloudVpnconnectionsPutBadRequest with default headers values +func NewPcloudVpnconnectionsPutBadRequest() *PcloudVpnconnectionsPutBadRequest { + return &PcloudVpnconnectionsPutBadRequest{} +} + +/* +PcloudVpnconnectionsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVpnconnectionsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections put bad request response has a 2xx status code +func (o *PcloudVpnconnectionsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections put bad request response has a 3xx status code +func (o *PcloudVpnconnectionsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections put bad request response has a 4xx status code +func (o *PcloudVpnconnectionsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections put bad request response has a 5xx status code +func (o *PcloudVpnconnectionsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections put bad request response a status code equal to that given +func (o *PcloudVpnconnectionsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud vpnconnections put bad request response +func (o *PcloudVpnconnectionsPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudVpnconnectionsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutBadRequest %s", 400, payload) +} + +func (o *PcloudVpnconnectionsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPutUnauthorized creates a PcloudVpnconnectionsPutUnauthorized with default headers values +func NewPcloudVpnconnectionsPutUnauthorized() *PcloudVpnconnectionsPutUnauthorized { + return &PcloudVpnconnectionsPutUnauthorized{} +} + +/* +PcloudVpnconnectionsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVpnconnectionsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections put unauthorized response has a 2xx status code +func (o *PcloudVpnconnectionsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections put unauthorized response has a 3xx status code +func (o *PcloudVpnconnectionsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections put unauthorized response has a 4xx status code +func (o *PcloudVpnconnectionsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections put unauthorized response has a 5xx status code +func (o *PcloudVpnconnectionsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections put unauthorized response a status code equal to that given +func (o *PcloudVpnconnectionsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud vpnconnections put unauthorized response +func (o *PcloudVpnconnectionsPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVpnconnectionsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVpnconnectionsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPutForbidden creates a PcloudVpnconnectionsPutForbidden with default headers values +func NewPcloudVpnconnectionsPutForbidden() *PcloudVpnconnectionsPutForbidden { + return &PcloudVpnconnectionsPutForbidden{} +} + +/* +PcloudVpnconnectionsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVpnconnectionsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections put forbidden response has a 2xx status code +func (o *PcloudVpnconnectionsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections put forbidden response has a 3xx status code +func (o *PcloudVpnconnectionsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections put forbidden response has a 4xx status code +func (o *PcloudVpnconnectionsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections put forbidden response has a 5xx status code +func (o *PcloudVpnconnectionsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections put forbidden response a status code equal to that given +func (o *PcloudVpnconnectionsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud vpnconnections put forbidden response +func (o *PcloudVpnconnectionsPutForbidden) Code() int { + return 403 +} + +func (o *PcloudVpnconnectionsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutForbidden %s", 403, payload) +} + +func (o *PcloudVpnconnectionsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPutNotFound creates a PcloudVpnconnectionsPutNotFound with default headers values +func NewPcloudVpnconnectionsPutNotFound() *PcloudVpnconnectionsPutNotFound { + return &PcloudVpnconnectionsPutNotFound{} +} + +/* +PcloudVpnconnectionsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVpnconnectionsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections put not found response has a 2xx status code +func (o *PcloudVpnconnectionsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections put not found response has a 3xx status code +func (o *PcloudVpnconnectionsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections put not found response has a 4xx status code +func (o *PcloudVpnconnectionsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections put not found response has a 5xx status code +func (o *PcloudVpnconnectionsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections put not found response a status code equal to that given +func (o *PcloudVpnconnectionsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud vpnconnections put not found response +func (o *PcloudVpnconnectionsPutNotFound) Code() int { + return 404 +} + +func (o *PcloudVpnconnectionsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutNotFound %s", 404, payload) +} + +func (o *PcloudVpnconnectionsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPutUnprocessableEntity creates a PcloudVpnconnectionsPutUnprocessableEntity with default headers values +func NewPcloudVpnconnectionsPutUnprocessableEntity() *PcloudVpnconnectionsPutUnprocessableEntity { + return &PcloudVpnconnectionsPutUnprocessableEntity{} +} + +/* +PcloudVpnconnectionsPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVpnconnectionsPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections put unprocessable entity response has a 2xx status code +func (o *PcloudVpnconnectionsPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections put unprocessable entity response has a 3xx status code +func (o *PcloudVpnconnectionsPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections put unprocessable entity response has a 4xx status code +func (o *PcloudVpnconnectionsPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud vpnconnections put unprocessable entity response has a 5xx status code +func (o *PcloudVpnconnectionsPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud vpnconnections put unprocessable entity response a status code equal to that given +func (o *PcloudVpnconnectionsPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud vpnconnections put unprocessable entity response +func (o *PcloudVpnconnectionsPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVpnconnectionsPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVpnconnectionsPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVpnconnectionsPutInternalServerError creates a PcloudVpnconnectionsPutInternalServerError with default headers values +func NewPcloudVpnconnectionsPutInternalServerError() *PcloudVpnconnectionsPutInternalServerError { + return &PcloudVpnconnectionsPutInternalServerError{} +} + +/* +PcloudVpnconnectionsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVpnconnectionsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud vpnconnections put internal server error response has a 2xx status code +func (o *PcloudVpnconnectionsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud vpnconnections put internal server error response has a 3xx status code +func (o *PcloudVpnconnectionsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud vpnconnections put internal server error response has a 4xx status code +func (o *PcloudVpnconnectionsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud vpnconnections put internal server error response has a 5xx status code +func (o *PcloudVpnconnectionsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud vpnconnections put internal server error response a status code equal to that given +func (o *PcloudVpnconnectionsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud vpnconnections put internal server error response +func (o *PcloudVpnconnectionsPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVpnconnectionsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/vpn-connections/{vpn_connection_id}][%d] pcloudVpnconnectionsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVpnconnectionsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVpnconnectionsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/p_cloudvpn_policies_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/p_cloudvpn_policies_client.go new file mode 100644 index 000000000..8173da36d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/p_cloudvpn_policies_client.go @@ -0,0 +1,545 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud v p n policies API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud v p n policies API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud v p n policies API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud v p n policies API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudIkepoliciesDelete(params *PcloudIkepoliciesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesDeleteOK, error) + + PcloudIkepoliciesGet(params *PcloudIkepoliciesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesGetOK, error) + + PcloudIkepoliciesGetall(params *PcloudIkepoliciesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesGetallOK, error) + + PcloudIkepoliciesPost(params *PcloudIkepoliciesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesPostOK, error) + + PcloudIkepoliciesPut(params *PcloudIkepoliciesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesPutOK, error) + + PcloudIpsecpoliciesDelete(params *PcloudIpsecpoliciesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesDeleteOK, error) + + PcloudIpsecpoliciesGet(params *PcloudIpsecpoliciesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesGetOK, error) + + PcloudIpsecpoliciesGetall(params *PcloudIpsecpoliciesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesGetallOK, error) + + PcloudIpsecpoliciesPost(params *PcloudIpsecpoliciesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesPostOK, error) + + PcloudIpsecpoliciesPut(params *PcloudIpsecpoliciesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudIkepoliciesDelete deletes i k e policy + +Delete an IKE Policy (by its unique identifier) +*/ +func (a *Client) PcloudIkepoliciesDelete(params *PcloudIkepoliciesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIkepoliciesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ikepolicies.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIkepoliciesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIkepoliciesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ikepolicies.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIkepoliciesGet gets the specified i k e policy + +Get an IKE Policy (by its unique identifier) +*/ +func (a *Client) PcloudIkepoliciesGet(params *PcloudIkepoliciesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIkepoliciesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ikepolicies.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIkepoliciesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIkepoliciesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ikepolicies.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIkepoliciesGetall gets all i k e policies + +List all IKE Policies with all attributes +*/ +func (a *Client) PcloudIkepoliciesGetall(params *PcloudIkepoliciesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIkepoliciesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ikepolicies.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIkepoliciesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIkepoliciesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ikepolicies.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIkepoliciesPost adds i k e policy + +Add a new IKE Policy +*/ +func (a *Client) PcloudIkepoliciesPost(params *PcloudIkepoliciesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIkepoliciesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ikepolicies.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIkepoliciesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIkepoliciesPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ikepolicies.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIkepoliciesPut updates i k e policy + +update an IKE Policy (by its unique identifier) +*/ +func (a *Client) PcloudIkepoliciesPut(params *PcloudIkepoliciesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIkepoliciesPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIkepoliciesPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ikepolicies.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIkepoliciesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIkepoliciesPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ikepolicies.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIpsecpoliciesDelete deletes IP sec policy + +Delete an IPSec Policy (by its unique identifier) +*/ +func (a *Client) PcloudIpsecpoliciesDelete(params *PcloudIpsecpoliciesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIpsecpoliciesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ipsecpolicies.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIpsecpoliciesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIpsecpoliciesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ipsecpolicies.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIpsecpoliciesGet gets the specified IP sec policy + +Get an IPSec Policy (by its unique identifier) +*/ +func (a *Client) PcloudIpsecpoliciesGet(params *PcloudIpsecpoliciesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIpsecpoliciesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ipsecpolicies.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIpsecpoliciesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIpsecpoliciesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ipsecpolicies.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIpsecpoliciesGetall gets all IP sec policies + +Get all IPSec Policies with all their attributes +*/ +func (a *Client) PcloudIpsecpoliciesGetall(params *PcloudIpsecpoliciesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIpsecpoliciesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ipsecpolicies.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIpsecpoliciesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIpsecpoliciesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ipsecpolicies.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIpsecpoliciesPost adds IP sec policy + +Add a new IPSec Policy +*/ +func (a *Client) PcloudIpsecpoliciesPost(params *PcloudIpsecpoliciesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIpsecpoliciesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ipsecpolicies.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIpsecpoliciesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIpsecpoliciesPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ipsecpolicies.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudIpsecpoliciesPut updates IP sec policy + +update an IPSec Policy +*/ +func (a *Client) PcloudIpsecpoliciesPut(params *PcloudIpsecpoliciesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudIpsecpoliciesPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudIpsecpoliciesPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.ipsecpolicies.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudIpsecpoliciesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudIpsecpoliciesPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.ipsecpolicies.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_delete_parameters.go new file mode 100644 index 000000000..cebd8de70 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudIkepoliciesDeleteParams creates a new PcloudIkepoliciesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIkepoliciesDeleteParams() *PcloudIkepoliciesDeleteParams { + return &PcloudIkepoliciesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIkepoliciesDeleteParamsWithTimeout creates a new PcloudIkepoliciesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudIkepoliciesDeleteParamsWithTimeout(timeout time.Duration) *PcloudIkepoliciesDeleteParams { + return &PcloudIkepoliciesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudIkepoliciesDeleteParamsWithContext creates a new PcloudIkepoliciesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudIkepoliciesDeleteParamsWithContext(ctx context.Context) *PcloudIkepoliciesDeleteParams { + return &PcloudIkepoliciesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudIkepoliciesDeleteParamsWithHTTPClient creates a new PcloudIkepoliciesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIkepoliciesDeleteParamsWithHTTPClient(client *http.Client) *PcloudIkepoliciesDeleteParams { + return &PcloudIkepoliciesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudIkepoliciesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud ikepolicies delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudIkepoliciesDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* IkePolicyID. + + ID of a IKE Policy + */ + IkePolicyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ikepolicies delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesDeleteParams) WithDefaults() *PcloudIkepoliciesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ikepolicies delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) WithTimeout(timeout time.Duration) *PcloudIkepoliciesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) WithContext(ctx context.Context) *PcloudIkepoliciesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) WithHTTPClient(client *http.Client) *PcloudIkepoliciesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIkepoliciesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithIkePolicyID adds the ikePolicyID to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) WithIkePolicyID(ikePolicyID string) *PcloudIkepoliciesDeleteParams { + o.SetIkePolicyID(ikePolicyID) + return o +} + +// SetIkePolicyID adds the ikePolicyId to the pcloud ikepolicies delete params +func (o *PcloudIkepoliciesDeleteParams) SetIkePolicyID(ikePolicyID string) { + o.IkePolicyID = ikePolicyID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIkepoliciesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param ike_policy_id + if err := r.SetPathParam("ike_policy_id", o.IkePolicyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_delete_responses.go new file mode 100644 index 000000000..6337e2243 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_delete_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIkepoliciesDeleteReader is a Reader for the PcloudIkepoliciesDelete structure. +type PcloudIkepoliciesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIkepoliciesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIkepoliciesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIkepoliciesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIkepoliciesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIkepoliciesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIkepoliciesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIkepoliciesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}] pcloud.ikepolicies.delete", response, response.Code()) + } +} + +// NewPcloudIkepoliciesDeleteOK creates a PcloudIkepoliciesDeleteOK with default headers values +func NewPcloudIkepoliciesDeleteOK() *PcloudIkepoliciesDeleteOK { + return &PcloudIkepoliciesDeleteOK{} +} + +/* +PcloudIkepoliciesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIkepoliciesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud ikepolicies delete o k response has a 2xx status code +func (o *PcloudIkepoliciesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ikepolicies delete o k response has a 3xx status code +func (o *PcloudIkepoliciesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies delete o k response has a 4xx status code +func (o *PcloudIkepoliciesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies delete o k response has a 5xx status code +func (o *PcloudIkepoliciesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies delete o k response a status code equal to that given +func (o *PcloudIkepoliciesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ikepolicies delete o k response +func (o *PcloudIkepoliciesDeleteOK) Code() int { + return 200 +} + +func (o *PcloudIkepoliciesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudIkepoliciesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesDeleteBadRequest creates a PcloudIkepoliciesDeleteBadRequest with default headers values +func NewPcloudIkepoliciesDeleteBadRequest() *PcloudIkepoliciesDeleteBadRequest { + return &PcloudIkepoliciesDeleteBadRequest{} +} + +/* +PcloudIkepoliciesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIkepoliciesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies delete bad request response has a 2xx status code +func (o *PcloudIkepoliciesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies delete bad request response has a 3xx status code +func (o *PcloudIkepoliciesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies delete bad request response has a 4xx status code +func (o *PcloudIkepoliciesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies delete bad request response has a 5xx status code +func (o *PcloudIkepoliciesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies delete bad request response a status code equal to that given +func (o *PcloudIkepoliciesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ikepolicies delete bad request response +func (o *PcloudIkepoliciesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudIkepoliciesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesDeleteUnauthorized creates a PcloudIkepoliciesDeleteUnauthorized with default headers values +func NewPcloudIkepoliciesDeleteUnauthorized() *PcloudIkepoliciesDeleteUnauthorized { + return &PcloudIkepoliciesDeleteUnauthorized{} +} + +/* +PcloudIkepoliciesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIkepoliciesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies delete unauthorized response has a 2xx status code +func (o *PcloudIkepoliciesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies delete unauthorized response has a 3xx status code +func (o *PcloudIkepoliciesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies delete unauthorized response has a 4xx status code +func (o *PcloudIkepoliciesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies delete unauthorized response has a 5xx status code +func (o *PcloudIkepoliciesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies delete unauthorized response a status code equal to that given +func (o *PcloudIkepoliciesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ikepolicies delete unauthorized response +func (o *PcloudIkepoliciesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIkepoliciesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesDeleteForbidden creates a PcloudIkepoliciesDeleteForbidden with default headers values +func NewPcloudIkepoliciesDeleteForbidden() *PcloudIkepoliciesDeleteForbidden { + return &PcloudIkepoliciesDeleteForbidden{} +} + +/* +PcloudIkepoliciesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIkepoliciesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies delete forbidden response has a 2xx status code +func (o *PcloudIkepoliciesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies delete forbidden response has a 3xx status code +func (o *PcloudIkepoliciesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies delete forbidden response has a 4xx status code +func (o *PcloudIkepoliciesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies delete forbidden response has a 5xx status code +func (o *PcloudIkepoliciesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies delete forbidden response a status code equal to that given +func (o *PcloudIkepoliciesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ikepolicies delete forbidden response +func (o *PcloudIkepoliciesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudIkepoliciesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesDeleteNotFound creates a PcloudIkepoliciesDeleteNotFound with default headers values +func NewPcloudIkepoliciesDeleteNotFound() *PcloudIkepoliciesDeleteNotFound { + return &PcloudIkepoliciesDeleteNotFound{} +} + +/* +PcloudIkepoliciesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIkepoliciesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies delete not found response has a 2xx status code +func (o *PcloudIkepoliciesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies delete not found response has a 3xx status code +func (o *PcloudIkepoliciesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies delete not found response has a 4xx status code +func (o *PcloudIkepoliciesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies delete not found response has a 5xx status code +func (o *PcloudIkepoliciesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies delete not found response a status code equal to that given +func (o *PcloudIkepoliciesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ikepolicies delete not found response +func (o *PcloudIkepoliciesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudIkepoliciesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudIkepoliciesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudIkepoliciesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesDeleteInternalServerError creates a PcloudIkepoliciesDeleteInternalServerError with default headers values +func NewPcloudIkepoliciesDeleteInternalServerError() *PcloudIkepoliciesDeleteInternalServerError { + return &PcloudIkepoliciesDeleteInternalServerError{} +} + +/* +PcloudIkepoliciesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIkepoliciesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies delete internal server error response has a 2xx status code +func (o *PcloudIkepoliciesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies delete internal server error response has a 3xx status code +func (o *PcloudIkepoliciesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies delete internal server error response has a 4xx status code +func (o *PcloudIkepoliciesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies delete internal server error response has a 5xx status code +func (o *PcloudIkepoliciesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ikepolicies delete internal server error response a status code equal to that given +func (o *PcloudIkepoliciesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ikepolicies delete internal server error response +func (o *PcloudIkepoliciesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIkepoliciesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_get_parameters.go new file mode 100644 index 000000000..7c6ac1e81 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudIkepoliciesGetParams creates a new PcloudIkepoliciesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIkepoliciesGetParams() *PcloudIkepoliciesGetParams { + return &PcloudIkepoliciesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIkepoliciesGetParamsWithTimeout creates a new PcloudIkepoliciesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudIkepoliciesGetParamsWithTimeout(timeout time.Duration) *PcloudIkepoliciesGetParams { + return &PcloudIkepoliciesGetParams{ + timeout: timeout, + } +} + +// NewPcloudIkepoliciesGetParamsWithContext creates a new PcloudIkepoliciesGetParams object +// with the ability to set a context for a request. +func NewPcloudIkepoliciesGetParamsWithContext(ctx context.Context) *PcloudIkepoliciesGetParams { + return &PcloudIkepoliciesGetParams{ + Context: ctx, + } +} + +// NewPcloudIkepoliciesGetParamsWithHTTPClient creates a new PcloudIkepoliciesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIkepoliciesGetParamsWithHTTPClient(client *http.Client) *PcloudIkepoliciesGetParams { + return &PcloudIkepoliciesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudIkepoliciesGetParams contains all the parameters to send to the API endpoint + + for the pcloud ikepolicies get operation. + + Typically these are written to a http.Request. +*/ +type PcloudIkepoliciesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* IkePolicyID. + + ID of a IKE Policy + */ + IkePolicyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ikepolicies get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesGetParams) WithDefaults() *PcloudIkepoliciesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ikepolicies get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) WithTimeout(timeout time.Duration) *PcloudIkepoliciesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) WithContext(ctx context.Context) *PcloudIkepoliciesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) WithHTTPClient(client *http.Client) *PcloudIkepoliciesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIkepoliciesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithIkePolicyID adds the ikePolicyID to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) WithIkePolicyID(ikePolicyID string) *PcloudIkepoliciesGetParams { + o.SetIkePolicyID(ikePolicyID) + return o +} + +// SetIkePolicyID adds the ikePolicyId to the pcloud ikepolicies get params +func (o *PcloudIkepoliciesGetParams) SetIkePolicyID(ikePolicyID string) { + o.IkePolicyID = ikePolicyID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIkepoliciesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param ike_policy_id + if err := r.SetPathParam("ike_policy_id", o.IkePolicyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_get_responses.go new file mode 100644 index 000000000..a7dc6e2a8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIkepoliciesGetReader is a Reader for the PcloudIkepoliciesGet structure. +type PcloudIkepoliciesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIkepoliciesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIkepoliciesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIkepoliciesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIkepoliciesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIkepoliciesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIkepoliciesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudIkepoliciesGetUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIkepoliciesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}] pcloud.ikepolicies.get", response, response.Code()) + } +} + +// NewPcloudIkepoliciesGetOK creates a PcloudIkepoliciesGetOK with default headers values +func NewPcloudIkepoliciesGetOK() *PcloudIkepoliciesGetOK { + return &PcloudIkepoliciesGetOK{} +} + +/* +PcloudIkepoliciesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIkepoliciesGetOK struct { + Payload *models.IKEPolicy +} + +// IsSuccess returns true when this pcloud ikepolicies get o k response has a 2xx status code +func (o *PcloudIkepoliciesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ikepolicies get o k response has a 3xx status code +func (o *PcloudIkepoliciesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies get o k response has a 4xx status code +func (o *PcloudIkepoliciesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies get o k response has a 5xx status code +func (o *PcloudIkepoliciesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies get o k response a status code equal to that given +func (o *PcloudIkepoliciesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ikepolicies get o k response +func (o *PcloudIkepoliciesGetOK) Code() int { + return 200 +} + +func (o *PcloudIkepoliciesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesGetOK) GetPayload() *models.IKEPolicy { + return o.Payload +} + +func (o *PcloudIkepoliciesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.IKEPolicy) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetBadRequest creates a PcloudIkepoliciesGetBadRequest with default headers values +func NewPcloudIkepoliciesGetBadRequest() *PcloudIkepoliciesGetBadRequest { + return &PcloudIkepoliciesGetBadRequest{} +} + +/* +PcloudIkepoliciesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIkepoliciesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies get bad request response has a 2xx status code +func (o *PcloudIkepoliciesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies get bad request response has a 3xx status code +func (o *PcloudIkepoliciesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies get bad request response has a 4xx status code +func (o *PcloudIkepoliciesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies get bad request response has a 5xx status code +func (o *PcloudIkepoliciesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies get bad request response a status code equal to that given +func (o *PcloudIkepoliciesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ikepolicies get bad request response +func (o *PcloudIkepoliciesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudIkepoliciesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetUnauthorized creates a PcloudIkepoliciesGetUnauthorized with default headers values +func NewPcloudIkepoliciesGetUnauthorized() *PcloudIkepoliciesGetUnauthorized { + return &PcloudIkepoliciesGetUnauthorized{} +} + +/* +PcloudIkepoliciesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIkepoliciesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies get unauthorized response has a 2xx status code +func (o *PcloudIkepoliciesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies get unauthorized response has a 3xx status code +func (o *PcloudIkepoliciesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies get unauthorized response has a 4xx status code +func (o *PcloudIkepoliciesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies get unauthorized response has a 5xx status code +func (o *PcloudIkepoliciesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies get unauthorized response a status code equal to that given +func (o *PcloudIkepoliciesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ikepolicies get unauthorized response +func (o *PcloudIkepoliciesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIkepoliciesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetForbidden creates a PcloudIkepoliciesGetForbidden with default headers values +func NewPcloudIkepoliciesGetForbidden() *PcloudIkepoliciesGetForbidden { + return &PcloudIkepoliciesGetForbidden{} +} + +/* +PcloudIkepoliciesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIkepoliciesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies get forbidden response has a 2xx status code +func (o *PcloudIkepoliciesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies get forbidden response has a 3xx status code +func (o *PcloudIkepoliciesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies get forbidden response has a 4xx status code +func (o *PcloudIkepoliciesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies get forbidden response has a 5xx status code +func (o *PcloudIkepoliciesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies get forbidden response a status code equal to that given +func (o *PcloudIkepoliciesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ikepolicies get forbidden response +func (o *PcloudIkepoliciesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudIkepoliciesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetNotFound creates a PcloudIkepoliciesGetNotFound with default headers values +func NewPcloudIkepoliciesGetNotFound() *PcloudIkepoliciesGetNotFound { + return &PcloudIkepoliciesGetNotFound{} +} + +/* +PcloudIkepoliciesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIkepoliciesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies get not found response has a 2xx status code +func (o *PcloudIkepoliciesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies get not found response has a 3xx status code +func (o *PcloudIkepoliciesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies get not found response has a 4xx status code +func (o *PcloudIkepoliciesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies get not found response has a 5xx status code +func (o *PcloudIkepoliciesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies get not found response a status code equal to that given +func (o *PcloudIkepoliciesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ikepolicies get not found response +func (o *PcloudIkepoliciesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudIkepoliciesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetNotFound %s", 404, payload) +} + +func (o *PcloudIkepoliciesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetNotFound %s", 404, payload) +} + +func (o *PcloudIkepoliciesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetUnprocessableEntity creates a PcloudIkepoliciesGetUnprocessableEntity with default headers values +func NewPcloudIkepoliciesGetUnprocessableEntity() *PcloudIkepoliciesGetUnprocessableEntity { + return &PcloudIkepoliciesGetUnprocessableEntity{} +} + +/* +PcloudIkepoliciesGetUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudIkepoliciesGetUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies get unprocessable entity response has a 2xx status code +func (o *PcloudIkepoliciesGetUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies get unprocessable entity response has a 3xx status code +func (o *PcloudIkepoliciesGetUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies get unprocessable entity response has a 4xx status code +func (o *PcloudIkepoliciesGetUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies get unprocessable entity response has a 5xx status code +func (o *PcloudIkepoliciesGetUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies get unprocessable entity response a status code equal to that given +func (o *PcloudIkepoliciesGetUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud ikepolicies get unprocessable entity response +func (o *PcloudIkepoliciesGetUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudIkepoliciesGetUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIkepoliciesGetUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIkepoliciesGetUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetInternalServerError creates a PcloudIkepoliciesGetInternalServerError with default headers values +func NewPcloudIkepoliciesGetInternalServerError() *PcloudIkepoliciesGetInternalServerError { + return &PcloudIkepoliciesGetInternalServerError{} +} + +/* +PcloudIkepoliciesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIkepoliciesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies get internal server error response has a 2xx status code +func (o *PcloudIkepoliciesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies get internal server error response has a 3xx status code +func (o *PcloudIkepoliciesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies get internal server error response has a 4xx status code +func (o *PcloudIkepoliciesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies get internal server error response has a 5xx status code +func (o *PcloudIkepoliciesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ikepolicies get internal server error response a status code equal to that given +func (o *PcloudIkepoliciesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ikepolicies get internal server error response +func (o *PcloudIkepoliciesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIkepoliciesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_getall_parameters.go new file mode 100644 index 000000000..a72e0935e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudIkepoliciesGetallParams creates a new PcloudIkepoliciesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIkepoliciesGetallParams() *PcloudIkepoliciesGetallParams { + return &PcloudIkepoliciesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIkepoliciesGetallParamsWithTimeout creates a new PcloudIkepoliciesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudIkepoliciesGetallParamsWithTimeout(timeout time.Duration) *PcloudIkepoliciesGetallParams { + return &PcloudIkepoliciesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudIkepoliciesGetallParamsWithContext creates a new PcloudIkepoliciesGetallParams object +// with the ability to set a context for a request. +func NewPcloudIkepoliciesGetallParamsWithContext(ctx context.Context) *PcloudIkepoliciesGetallParams { + return &PcloudIkepoliciesGetallParams{ + Context: ctx, + } +} + +// NewPcloudIkepoliciesGetallParamsWithHTTPClient creates a new PcloudIkepoliciesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIkepoliciesGetallParamsWithHTTPClient(client *http.Client) *PcloudIkepoliciesGetallParams { + return &PcloudIkepoliciesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudIkepoliciesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud ikepolicies getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudIkepoliciesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ikepolicies getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesGetallParams) WithDefaults() *PcloudIkepoliciesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ikepolicies getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ikepolicies getall params +func (o *PcloudIkepoliciesGetallParams) WithTimeout(timeout time.Duration) *PcloudIkepoliciesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ikepolicies getall params +func (o *PcloudIkepoliciesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ikepolicies getall params +func (o *PcloudIkepoliciesGetallParams) WithContext(ctx context.Context) *PcloudIkepoliciesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ikepolicies getall params +func (o *PcloudIkepoliciesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ikepolicies getall params +func (o *PcloudIkepoliciesGetallParams) WithHTTPClient(client *http.Client) *PcloudIkepoliciesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ikepolicies getall params +func (o *PcloudIkepoliciesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ikepolicies getall params +func (o *PcloudIkepoliciesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIkepoliciesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ikepolicies getall params +func (o *PcloudIkepoliciesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIkepoliciesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_getall_responses.go new file mode 100644 index 000000000..bcf30d9f8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIkepoliciesGetallReader is a Reader for the PcloudIkepoliciesGetall structure. +type PcloudIkepoliciesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIkepoliciesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIkepoliciesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIkepoliciesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIkepoliciesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIkepoliciesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIkepoliciesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIkepoliciesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies] pcloud.ikepolicies.getall", response, response.Code()) + } +} + +// NewPcloudIkepoliciesGetallOK creates a PcloudIkepoliciesGetallOK with default headers values +func NewPcloudIkepoliciesGetallOK() *PcloudIkepoliciesGetallOK { + return &PcloudIkepoliciesGetallOK{} +} + +/* +PcloudIkepoliciesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIkepoliciesGetallOK struct { + Payload *models.IKEPolicies +} + +// IsSuccess returns true when this pcloud ikepolicies getall o k response has a 2xx status code +func (o *PcloudIkepoliciesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ikepolicies getall o k response has a 3xx status code +func (o *PcloudIkepoliciesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies getall o k response has a 4xx status code +func (o *PcloudIkepoliciesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies getall o k response has a 5xx status code +func (o *PcloudIkepoliciesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies getall o k response a status code equal to that given +func (o *PcloudIkepoliciesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ikepolicies getall o k response +func (o *PcloudIkepoliciesGetallOK) Code() int { + return 200 +} + +func (o *PcloudIkepoliciesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesGetallOK) GetPayload() *models.IKEPolicies { + return o.Payload +} + +func (o *PcloudIkepoliciesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.IKEPolicies) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetallBadRequest creates a PcloudIkepoliciesGetallBadRequest with default headers values +func NewPcloudIkepoliciesGetallBadRequest() *PcloudIkepoliciesGetallBadRequest { + return &PcloudIkepoliciesGetallBadRequest{} +} + +/* +PcloudIkepoliciesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIkepoliciesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies getall bad request response has a 2xx status code +func (o *PcloudIkepoliciesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies getall bad request response has a 3xx status code +func (o *PcloudIkepoliciesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies getall bad request response has a 4xx status code +func (o *PcloudIkepoliciesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies getall bad request response has a 5xx status code +func (o *PcloudIkepoliciesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies getall bad request response a status code equal to that given +func (o *PcloudIkepoliciesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ikepolicies getall bad request response +func (o *PcloudIkepoliciesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudIkepoliciesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetallUnauthorized creates a PcloudIkepoliciesGetallUnauthorized with default headers values +func NewPcloudIkepoliciesGetallUnauthorized() *PcloudIkepoliciesGetallUnauthorized { + return &PcloudIkepoliciesGetallUnauthorized{} +} + +/* +PcloudIkepoliciesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIkepoliciesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies getall unauthorized response has a 2xx status code +func (o *PcloudIkepoliciesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies getall unauthorized response has a 3xx status code +func (o *PcloudIkepoliciesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies getall unauthorized response has a 4xx status code +func (o *PcloudIkepoliciesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies getall unauthorized response has a 5xx status code +func (o *PcloudIkepoliciesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies getall unauthorized response a status code equal to that given +func (o *PcloudIkepoliciesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ikepolicies getall unauthorized response +func (o *PcloudIkepoliciesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIkepoliciesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetallForbidden creates a PcloudIkepoliciesGetallForbidden with default headers values +func NewPcloudIkepoliciesGetallForbidden() *PcloudIkepoliciesGetallForbidden { + return &PcloudIkepoliciesGetallForbidden{} +} + +/* +PcloudIkepoliciesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIkepoliciesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies getall forbidden response has a 2xx status code +func (o *PcloudIkepoliciesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies getall forbidden response has a 3xx status code +func (o *PcloudIkepoliciesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies getall forbidden response has a 4xx status code +func (o *PcloudIkepoliciesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies getall forbidden response has a 5xx status code +func (o *PcloudIkepoliciesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies getall forbidden response a status code equal to that given +func (o *PcloudIkepoliciesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ikepolicies getall forbidden response +func (o *PcloudIkepoliciesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudIkepoliciesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetallNotFound creates a PcloudIkepoliciesGetallNotFound with default headers values +func NewPcloudIkepoliciesGetallNotFound() *PcloudIkepoliciesGetallNotFound { + return &PcloudIkepoliciesGetallNotFound{} +} + +/* +PcloudIkepoliciesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIkepoliciesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies getall not found response has a 2xx status code +func (o *PcloudIkepoliciesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies getall not found response has a 3xx status code +func (o *PcloudIkepoliciesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies getall not found response has a 4xx status code +func (o *PcloudIkepoliciesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies getall not found response has a 5xx status code +func (o *PcloudIkepoliciesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies getall not found response a status code equal to that given +func (o *PcloudIkepoliciesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ikepolicies getall not found response +func (o *PcloudIkepoliciesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudIkepoliciesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallNotFound %s", 404, payload) +} + +func (o *PcloudIkepoliciesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallNotFound %s", 404, payload) +} + +func (o *PcloudIkepoliciesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesGetallInternalServerError creates a PcloudIkepoliciesGetallInternalServerError with default headers values +func NewPcloudIkepoliciesGetallInternalServerError() *PcloudIkepoliciesGetallInternalServerError { + return &PcloudIkepoliciesGetallInternalServerError{} +} + +/* +PcloudIkepoliciesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIkepoliciesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies getall internal server error response has a 2xx status code +func (o *PcloudIkepoliciesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies getall internal server error response has a 3xx status code +func (o *PcloudIkepoliciesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies getall internal server error response has a 4xx status code +func (o *PcloudIkepoliciesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies getall internal server error response has a 5xx status code +func (o *PcloudIkepoliciesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ikepolicies getall internal server error response a status code equal to that given +func (o *PcloudIkepoliciesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ikepolicies getall internal server error response +func (o *PcloudIkepoliciesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIkepoliciesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_post_parameters.go new file mode 100644 index 000000000..5fdca2430 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudIkepoliciesPostParams creates a new PcloudIkepoliciesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIkepoliciesPostParams() *PcloudIkepoliciesPostParams { + return &PcloudIkepoliciesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIkepoliciesPostParamsWithTimeout creates a new PcloudIkepoliciesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudIkepoliciesPostParamsWithTimeout(timeout time.Duration) *PcloudIkepoliciesPostParams { + return &PcloudIkepoliciesPostParams{ + timeout: timeout, + } +} + +// NewPcloudIkepoliciesPostParamsWithContext creates a new PcloudIkepoliciesPostParams object +// with the ability to set a context for a request. +func NewPcloudIkepoliciesPostParamsWithContext(ctx context.Context) *PcloudIkepoliciesPostParams { + return &PcloudIkepoliciesPostParams{ + Context: ctx, + } +} + +// NewPcloudIkepoliciesPostParamsWithHTTPClient creates a new PcloudIkepoliciesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIkepoliciesPostParamsWithHTTPClient(client *http.Client) *PcloudIkepoliciesPostParams { + return &PcloudIkepoliciesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudIkepoliciesPostParams contains all the parameters to send to the API endpoint + + for the pcloud ikepolicies post operation. + + Typically these are written to a http.Request. +*/ +type PcloudIkepoliciesPostParams struct { + + /* Body. + + Parameters for the creation of a new IKE Policy + */ + Body *models.IKEPolicyCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ikepolicies post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesPostParams) WithDefaults() *PcloudIkepoliciesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ikepolicies post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) WithTimeout(timeout time.Duration) *PcloudIkepoliciesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) WithContext(ctx context.Context) *PcloudIkepoliciesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) WithHTTPClient(client *http.Client) *PcloudIkepoliciesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) WithBody(body *models.IKEPolicyCreate) *PcloudIkepoliciesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) SetBody(body *models.IKEPolicyCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIkepoliciesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ikepolicies post params +func (o *PcloudIkepoliciesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIkepoliciesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_post_responses.go new file mode 100644 index 000000000..61222c13e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIkepoliciesPostReader is a Reader for the PcloudIkepoliciesPost structure. +type PcloudIkepoliciesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIkepoliciesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIkepoliciesPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIkepoliciesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIkepoliciesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIkepoliciesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudIkepoliciesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudIkepoliciesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIkepoliciesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies] pcloud.ikepolicies.post", response, response.Code()) + } +} + +// NewPcloudIkepoliciesPostOK creates a PcloudIkepoliciesPostOK with default headers values +func NewPcloudIkepoliciesPostOK() *PcloudIkepoliciesPostOK { + return &PcloudIkepoliciesPostOK{} +} + +/* +PcloudIkepoliciesPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIkepoliciesPostOK struct { + Payload *models.IKEPolicy +} + +// IsSuccess returns true when this pcloud ikepolicies post o k response has a 2xx status code +func (o *PcloudIkepoliciesPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ikepolicies post o k response has a 3xx status code +func (o *PcloudIkepoliciesPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies post o k response has a 4xx status code +func (o *PcloudIkepoliciesPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies post o k response has a 5xx status code +func (o *PcloudIkepoliciesPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies post o k response a status code equal to that given +func (o *PcloudIkepoliciesPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ikepolicies post o k response +func (o *PcloudIkepoliciesPostOK) Code() int { + return 200 +} + +func (o *PcloudIkepoliciesPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesPostOK) GetPayload() *models.IKEPolicy { + return o.Payload +} + +func (o *PcloudIkepoliciesPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.IKEPolicy) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPostBadRequest creates a PcloudIkepoliciesPostBadRequest with default headers values +func NewPcloudIkepoliciesPostBadRequest() *PcloudIkepoliciesPostBadRequest { + return &PcloudIkepoliciesPostBadRequest{} +} + +/* +PcloudIkepoliciesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIkepoliciesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies post bad request response has a 2xx status code +func (o *PcloudIkepoliciesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies post bad request response has a 3xx status code +func (o *PcloudIkepoliciesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies post bad request response has a 4xx status code +func (o *PcloudIkepoliciesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies post bad request response has a 5xx status code +func (o *PcloudIkepoliciesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies post bad request response a status code equal to that given +func (o *PcloudIkepoliciesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ikepolicies post bad request response +func (o *PcloudIkepoliciesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudIkepoliciesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPostUnauthorized creates a PcloudIkepoliciesPostUnauthorized with default headers values +func NewPcloudIkepoliciesPostUnauthorized() *PcloudIkepoliciesPostUnauthorized { + return &PcloudIkepoliciesPostUnauthorized{} +} + +/* +PcloudIkepoliciesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIkepoliciesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies post unauthorized response has a 2xx status code +func (o *PcloudIkepoliciesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies post unauthorized response has a 3xx status code +func (o *PcloudIkepoliciesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies post unauthorized response has a 4xx status code +func (o *PcloudIkepoliciesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies post unauthorized response has a 5xx status code +func (o *PcloudIkepoliciesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies post unauthorized response a status code equal to that given +func (o *PcloudIkepoliciesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ikepolicies post unauthorized response +func (o *PcloudIkepoliciesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIkepoliciesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPostForbidden creates a PcloudIkepoliciesPostForbidden with default headers values +func NewPcloudIkepoliciesPostForbidden() *PcloudIkepoliciesPostForbidden { + return &PcloudIkepoliciesPostForbidden{} +} + +/* +PcloudIkepoliciesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIkepoliciesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies post forbidden response has a 2xx status code +func (o *PcloudIkepoliciesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies post forbidden response has a 3xx status code +func (o *PcloudIkepoliciesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies post forbidden response has a 4xx status code +func (o *PcloudIkepoliciesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies post forbidden response has a 5xx status code +func (o *PcloudIkepoliciesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies post forbidden response a status code equal to that given +func (o *PcloudIkepoliciesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ikepolicies post forbidden response +func (o *PcloudIkepoliciesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudIkepoliciesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPostConflict creates a PcloudIkepoliciesPostConflict with default headers values +func NewPcloudIkepoliciesPostConflict() *PcloudIkepoliciesPostConflict { + return &PcloudIkepoliciesPostConflict{} +} + +/* +PcloudIkepoliciesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudIkepoliciesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies post conflict response has a 2xx status code +func (o *PcloudIkepoliciesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies post conflict response has a 3xx status code +func (o *PcloudIkepoliciesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies post conflict response has a 4xx status code +func (o *PcloudIkepoliciesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies post conflict response has a 5xx status code +func (o *PcloudIkepoliciesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies post conflict response a status code equal to that given +func (o *PcloudIkepoliciesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud ikepolicies post conflict response +func (o *PcloudIkepoliciesPostConflict) Code() int { + return 409 +} + +func (o *PcloudIkepoliciesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostConflict %s", 409, payload) +} + +func (o *PcloudIkepoliciesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostConflict %s", 409, payload) +} + +func (o *PcloudIkepoliciesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPostUnprocessableEntity creates a PcloudIkepoliciesPostUnprocessableEntity with default headers values +func NewPcloudIkepoliciesPostUnprocessableEntity() *PcloudIkepoliciesPostUnprocessableEntity { + return &PcloudIkepoliciesPostUnprocessableEntity{} +} + +/* +PcloudIkepoliciesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudIkepoliciesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies post unprocessable entity response has a 2xx status code +func (o *PcloudIkepoliciesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies post unprocessable entity response has a 3xx status code +func (o *PcloudIkepoliciesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies post unprocessable entity response has a 4xx status code +func (o *PcloudIkepoliciesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies post unprocessable entity response has a 5xx status code +func (o *PcloudIkepoliciesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies post unprocessable entity response a status code equal to that given +func (o *PcloudIkepoliciesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud ikepolicies post unprocessable entity response +func (o *PcloudIkepoliciesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudIkepoliciesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIkepoliciesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIkepoliciesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPostInternalServerError creates a PcloudIkepoliciesPostInternalServerError with default headers values +func NewPcloudIkepoliciesPostInternalServerError() *PcloudIkepoliciesPostInternalServerError { + return &PcloudIkepoliciesPostInternalServerError{} +} + +/* +PcloudIkepoliciesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIkepoliciesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies post internal server error response has a 2xx status code +func (o *PcloudIkepoliciesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies post internal server error response has a 3xx status code +func (o *PcloudIkepoliciesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies post internal server error response has a 4xx status code +func (o *PcloudIkepoliciesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies post internal server error response has a 5xx status code +func (o *PcloudIkepoliciesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ikepolicies post internal server error response a status code equal to that given +func (o *PcloudIkepoliciesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ikepolicies post internal server error response +func (o *PcloudIkepoliciesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIkepoliciesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies][%d] pcloudIkepoliciesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_put_parameters.go new file mode 100644 index 000000000..3301ab28f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudIkepoliciesPutParams creates a new PcloudIkepoliciesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIkepoliciesPutParams() *PcloudIkepoliciesPutParams { + return &PcloudIkepoliciesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIkepoliciesPutParamsWithTimeout creates a new PcloudIkepoliciesPutParams object +// with the ability to set a timeout on a request. +func NewPcloudIkepoliciesPutParamsWithTimeout(timeout time.Duration) *PcloudIkepoliciesPutParams { + return &PcloudIkepoliciesPutParams{ + timeout: timeout, + } +} + +// NewPcloudIkepoliciesPutParamsWithContext creates a new PcloudIkepoliciesPutParams object +// with the ability to set a context for a request. +func NewPcloudIkepoliciesPutParamsWithContext(ctx context.Context) *PcloudIkepoliciesPutParams { + return &PcloudIkepoliciesPutParams{ + Context: ctx, + } +} + +// NewPcloudIkepoliciesPutParamsWithHTTPClient creates a new PcloudIkepoliciesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIkepoliciesPutParamsWithHTTPClient(client *http.Client) *PcloudIkepoliciesPutParams { + return &PcloudIkepoliciesPutParams{ + HTTPClient: client, + } +} + +/* +PcloudIkepoliciesPutParams contains all the parameters to send to the API endpoint + + for the pcloud ikepolicies put operation. + + Typically these are written to a http.Request. +*/ +type PcloudIkepoliciesPutParams struct { + + /* Body. + + Parameters for updating IKE Policy + */ + Body *models.IKEPolicyUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* IkePolicyID. + + ID of a IKE Policy + */ + IkePolicyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ikepolicies put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesPutParams) WithDefaults() *PcloudIkepoliciesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ikepolicies put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIkepoliciesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) WithTimeout(timeout time.Duration) *PcloudIkepoliciesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) WithContext(ctx context.Context) *PcloudIkepoliciesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) WithHTTPClient(client *http.Client) *PcloudIkepoliciesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) WithBody(body *models.IKEPolicyUpdate) *PcloudIkepoliciesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) SetBody(body *models.IKEPolicyUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIkepoliciesPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithIkePolicyID adds the ikePolicyID to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) WithIkePolicyID(ikePolicyID string) *PcloudIkepoliciesPutParams { + o.SetIkePolicyID(ikePolicyID) + return o +} + +// SetIkePolicyID adds the ikePolicyId to the pcloud ikepolicies put params +func (o *PcloudIkepoliciesPutParams) SetIkePolicyID(ikePolicyID string) { + o.IkePolicyID = ikePolicyID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIkepoliciesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param ike_policy_id + if err := r.SetPathParam("ike_policy_id", o.IkePolicyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_put_responses.go new file mode 100644 index 000000000..80b1a1fec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ikepolicies_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIkepoliciesPutReader is a Reader for the PcloudIkepoliciesPut structure. +type PcloudIkepoliciesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIkepoliciesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIkepoliciesPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIkepoliciesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIkepoliciesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIkepoliciesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIkepoliciesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudIkepoliciesPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIkepoliciesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}] pcloud.ikepolicies.put", response, response.Code()) + } +} + +// NewPcloudIkepoliciesPutOK creates a PcloudIkepoliciesPutOK with default headers values +func NewPcloudIkepoliciesPutOK() *PcloudIkepoliciesPutOK { + return &PcloudIkepoliciesPutOK{} +} + +/* +PcloudIkepoliciesPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIkepoliciesPutOK struct { + Payload *models.IKEPolicy +} + +// IsSuccess returns true when this pcloud ikepolicies put o k response has a 2xx status code +func (o *PcloudIkepoliciesPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ikepolicies put o k response has a 3xx status code +func (o *PcloudIkepoliciesPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies put o k response has a 4xx status code +func (o *PcloudIkepoliciesPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies put o k response has a 5xx status code +func (o *PcloudIkepoliciesPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies put o k response a status code equal to that given +func (o *PcloudIkepoliciesPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ikepolicies put o k response +func (o *PcloudIkepoliciesPutOK) Code() int { + return 200 +} + +func (o *PcloudIkepoliciesPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutOK %s", 200, payload) +} + +func (o *PcloudIkepoliciesPutOK) GetPayload() *models.IKEPolicy { + return o.Payload +} + +func (o *PcloudIkepoliciesPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.IKEPolicy) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPutBadRequest creates a PcloudIkepoliciesPutBadRequest with default headers values +func NewPcloudIkepoliciesPutBadRequest() *PcloudIkepoliciesPutBadRequest { + return &PcloudIkepoliciesPutBadRequest{} +} + +/* +PcloudIkepoliciesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIkepoliciesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies put bad request response has a 2xx status code +func (o *PcloudIkepoliciesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies put bad request response has a 3xx status code +func (o *PcloudIkepoliciesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies put bad request response has a 4xx status code +func (o *PcloudIkepoliciesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies put bad request response has a 5xx status code +func (o *PcloudIkepoliciesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies put bad request response a status code equal to that given +func (o *PcloudIkepoliciesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ikepolicies put bad request response +func (o *PcloudIkepoliciesPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudIkepoliciesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutBadRequest %s", 400, payload) +} + +func (o *PcloudIkepoliciesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPutUnauthorized creates a PcloudIkepoliciesPutUnauthorized with default headers values +func NewPcloudIkepoliciesPutUnauthorized() *PcloudIkepoliciesPutUnauthorized { + return &PcloudIkepoliciesPutUnauthorized{} +} + +/* +PcloudIkepoliciesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIkepoliciesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies put unauthorized response has a 2xx status code +func (o *PcloudIkepoliciesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies put unauthorized response has a 3xx status code +func (o *PcloudIkepoliciesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies put unauthorized response has a 4xx status code +func (o *PcloudIkepoliciesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies put unauthorized response has a 5xx status code +func (o *PcloudIkepoliciesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies put unauthorized response a status code equal to that given +func (o *PcloudIkepoliciesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ikepolicies put unauthorized response +func (o *PcloudIkepoliciesPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIkepoliciesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudIkepoliciesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPutForbidden creates a PcloudIkepoliciesPutForbidden with default headers values +func NewPcloudIkepoliciesPutForbidden() *PcloudIkepoliciesPutForbidden { + return &PcloudIkepoliciesPutForbidden{} +} + +/* +PcloudIkepoliciesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIkepoliciesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies put forbidden response has a 2xx status code +func (o *PcloudIkepoliciesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies put forbidden response has a 3xx status code +func (o *PcloudIkepoliciesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies put forbidden response has a 4xx status code +func (o *PcloudIkepoliciesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies put forbidden response has a 5xx status code +func (o *PcloudIkepoliciesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies put forbidden response a status code equal to that given +func (o *PcloudIkepoliciesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ikepolicies put forbidden response +func (o *PcloudIkepoliciesPutForbidden) Code() int { + return 403 +} + +func (o *PcloudIkepoliciesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutForbidden %s", 403, payload) +} + +func (o *PcloudIkepoliciesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPutNotFound creates a PcloudIkepoliciesPutNotFound with default headers values +func NewPcloudIkepoliciesPutNotFound() *PcloudIkepoliciesPutNotFound { + return &PcloudIkepoliciesPutNotFound{} +} + +/* +PcloudIkepoliciesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIkepoliciesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies put not found response has a 2xx status code +func (o *PcloudIkepoliciesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies put not found response has a 3xx status code +func (o *PcloudIkepoliciesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies put not found response has a 4xx status code +func (o *PcloudIkepoliciesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies put not found response has a 5xx status code +func (o *PcloudIkepoliciesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies put not found response a status code equal to that given +func (o *PcloudIkepoliciesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ikepolicies put not found response +func (o *PcloudIkepoliciesPutNotFound) Code() int { + return 404 +} + +func (o *PcloudIkepoliciesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutNotFound %s", 404, payload) +} + +func (o *PcloudIkepoliciesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutNotFound %s", 404, payload) +} + +func (o *PcloudIkepoliciesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPutUnprocessableEntity creates a PcloudIkepoliciesPutUnprocessableEntity with default headers values +func NewPcloudIkepoliciesPutUnprocessableEntity() *PcloudIkepoliciesPutUnprocessableEntity { + return &PcloudIkepoliciesPutUnprocessableEntity{} +} + +/* +PcloudIkepoliciesPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudIkepoliciesPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies put unprocessable entity response has a 2xx status code +func (o *PcloudIkepoliciesPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies put unprocessable entity response has a 3xx status code +func (o *PcloudIkepoliciesPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies put unprocessable entity response has a 4xx status code +func (o *PcloudIkepoliciesPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ikepolicies put unprocessable entity response has a 5xx status code +func (o *PcloudIkepoliciesPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ikepolicies put unprocessable entity response a status code equal to that given +func (o *PcloudIkepoliciesPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud ikepolicies put unprocessable entity response +func (o *PcloudIkepoliciesPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudIkepoliciesPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIkepoliciesPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIkepoliciesPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIkepoliciesPutInternalServerError creates a PcloudIkepoliciesPutInternalServerError with default headers values +func NewPcloudIkepoliciesPutInternalServerError() *PcloudIkepoliciesPutInternalServerError { + return &PcloudIkepoliciesPutInternalServerError{} +} + +/* +PcloudIkepoliciesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIkepoliciesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ikepolicies put internal server error response has a 2xx status code +func (o *PcloudIkepoliciesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ikepolicies put internal server error response has a 3xx status code +func (o *PcloudIkepoliciesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ikepolicies put internal server error response has a 4xx status code +func (o *PcloudIkepoliciesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ikepolicies put internal server error response has a 5xx status code +func (o *PcloudIkepoliciesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ikepolicies put internal server error response a status code equal to that given +func (o *PcloudIkepoliciesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ikepolicies put internal server error response +func (o *PcloudIkepoliciesPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIkepoliciesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}][%d] pcloudIkepoliciesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudIkepoliciesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIkepoliciesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_delete_parameters.go new file mode 100644 index 000000000..00f4b2ec9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudIpsecpoliciesDeleteParams creates a new PcloudIpsecpoliciesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIpsecpoliciesDeleteParams() *PcloudIpsecpoliciesDeleteParams { + return &PcloudIpsecpoliciesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIpsecpoliciesDeleteParamsWithTimeout creates a new PcloudIpsecpoliciesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudIpsecpoliciesDeleteParamsWithTimeout(timeout time.Duration) *PcloudIpsecpoliciesDeleteParams { + return &PcloudIpsecpoliciesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudIpsecpoliciesDeleteParamsWithContext creates a new PcloudIpsecpoliciesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudIpsecpoliciesDeleteParamsWithContext(ctx context.Context) *PcloudIpsecpoliciesDeleteParams { + return &PcloudIpsecpoliciesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudIpsecpoliciesDeleteParamsWithHTTPClient creates a new PcloudIpsecpoliciesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIpsecpoliciesDeleteParamsWithHTTPClient(client *http.Client) *PcloudIpsecpoliciesDeleteParams { + return &PcloudIpsecpoliciesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudIpsecpoliciesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud ipsecpolicies delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudIpsecpoliciesDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* IpsecPolicyID. + + ID of a IPSec Policy + */ + IpsecPolicyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ipsecpolicies delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesDeleteParams) WithDefaults() *PcloudIpsecpoliciesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ipsecpolicies delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) WithTimeout(timeout time.Duration) *PcloudIpsecpoliciesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) WithContext(ctx context.Context) *PcloudIpsecpoliciesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) WithHTTPClient(client *http.Client) *PcloudIpsecpoliciesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIpsecpoliciesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithIpsecPolicyID adds the ipsecPolicyID to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) WithIpsecPolicyID(ipsecPolicyID string) *PcloudIpsecpoliciesDeleteParams { + o.SetIpsecPolicyID(ipsecPolicyID) + return o +} + +// SetIpsecPolicyID adds the ipsecPolicyId to the pcloud ipsecpolicies delete params +func (o *PcloudIpsecpoliciesDeleteParams) SetIpsecPolicyID(ipsecPolicyID string) { + o.IpsecPolicyID = ipsecPolicyID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIpsecpoliciesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param ipsec_policy_id + if err := r.SetPathParam("ipsec_policy_id", o.IpsecPolicyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_delete_responses.go new file mode 100644 index 000000000..5ede2140a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_delete_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIpsecpoliciesDeleteReader is a Reader for the PcloudIpsecpoliciesDelete structure. +type PcloudIpsecpoliciesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIpsecpoliciesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIpsecpoliciesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIpsecpoliciesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIpsecpoliciesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIpsecpoliciesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIpsecpoliciesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIpsecpoliciesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}] pcloud.ipsecpolicies.delete", response, response.Code()) + } +} + +// NewPcloudIpsecpoliciesDeleteOK creates a PcloudIpsecpoliciesDeleteOK with default headers values +func NewPcloudIpsecpoliciesDeleteOK() *PcloudIpsecpoliciesDeleteOK { + return &PcloudIpsecpoliciesDeleteOK{} +} + +/* +PcloudIpsecpoliciesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIpsecpoliciesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud ipsecpolicies delete o k response has a 2xx status code +func (o *PcloudIpsecpoliciesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ipsecpolicies delete o k response has a 3xx status code +func (o *PcloudIpsecpoliciesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies delete o k response has a 4xx status code +func (o *PcloudIpsecpoliciesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies delete o k response has a 5xx status code +func (o *PcloudIpsecpoliciesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies delete o k response a status code equal to that given +func (o *PcloudIpsecpoliciesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ipsecpolicies delete o k response +func (o *PcloudIpsecpoliciesDeleteOK) Code() int { + return 200 +} + +func (o *PcloudIpsecpoliciesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudIpsecpoliciesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesDeleteBadRequest creates a PcloudIpsecpoliciesDeleteBadRequest with default headers values +func NewPcloudIpsecpoliciesDeleteBadRequest() *PcloudIpsecpoliciesDeleteBadRequest { + return &PcloudIpsecpoliciesDeleteBadRequest{} +} + +/* +PcloudIpsecpoliciesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIpsecpoliciesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies delete bad request response has a 2xx status code +func (o *PcloudIpsecpoliciesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies delete bad request response has a 3xx status code +func (o *PcloudIpsecpoliciesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies delete bad request response has a 4xx status code +func (o *PcloudIpsecpoliciesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies delete bad request response has a 5xx status code +func (o *PcloudIpsecpoliciesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies delete bad request response a status code equal to that given +func (o *PcloudIpsecpoliciesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ipsecpolicies delete bad request response +func (o *PcloudIpsecpoliciesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudIpsecpoliciesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesDeleteUnauthorized creates a PcloudIpsecpoliciesDeleteUnauthorized with default headers values +func NewPcloudIpsecpoliciesDeleteUnauthorized() *PcloudIpsecpoliciesDeleteUnauthorized { + return &PcloudIpsecpoliciesDeleteUnauthorized{} +} + +/* +PcloudIpsecpoliciesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIpsecpoliciesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies delete unauthorized response has a 2xx status code +func (o *PcloudIpsecpoliciesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies delete unauthorized response has a 3xx status code +func (o *PcloudIpsecpoliciesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies delete unauthorized response has a 4xx status code +func (o *PcloudIpsecpoliciesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies delete unauthorized response has a 5xx status code +func (o *PcloudIpsecpoliciesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies delete unauthorized response a status code equal to that given +func (o *PcloudIpsecpoliciesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ipsecpolicies delete unauthorized response +func (o *PcloudIpsecpoliciesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIpsecpoliciesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesDeleteForbidden creates a PcloudIpsecpoliciesDeleteForbidden with default headers values +func NewPcloudIpsecpoliciesDeleteForbidden() *PcloudIpsecpoliciesDeleteForbidden { + return &PcloudIpsecpoliciesDeleteForbidden{} +} + +/* +PcloudIpsecpoliciesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIpsecpoliciesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies delete forbidden response has a 2xx status code +func (o *PcloudIpsecpoliciesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies delete forbidden response has a 3xx status code +func (o *PcloudIpsecpoliciesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies delete forbidden response has a 4xx status code +func (o *PcloudIpsecpoliciesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies delete forbidden response has a 5xx status code +func (o *PcloudIpsecpoliciesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies delete forbidden response a status code equal to that given +func (o *PcloudIpsecpoliciesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ipsecpolicies delete forbidden response +func (o *PcloudIpsecpoliciesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudIpsecpoliciesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesDeleteNotFound creates a PcloudIpsecpoliciesDeleteNotFound with default headers values +func NewPcloudIpsecpoliciesDeleteNotFound() *PcloudIpsecpoliciesDeleteNotFound { + return &PcloudIpsecpoliciesDeleteNotFound{} +} + +/* +PcloudIpsecpoliciesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIpsecpoliciesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies delete not found response has a 2xx status code +func (o *PcloudIpsecpoliciesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies delete not found response has a 3xx status code +func (o *PcloudIpsecpoliciesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies delete not found response has a 4xx status code +func (o *PcloudIpsecpoliciesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies delete not found response has a 5xx status code +func (o *PcloudIpsecpoliciesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies delete not found response a status code equal to that given +func (o *PcloudIpsecpoliciesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ipsecpolicies delete not found response +func (o *PcloudIpsecpoliciesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudIpsecpoliciesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesDeleteInternalServerError creates a PcloudIpsecpoliciesDeleteInternalServerError with default headers values +func NewPcloudIpsecpoliciesDeleteInternalServerError() *PcloudIpsecpoliciesDeleteInternalServerError { + return &PcloudIpsecpoliciesDeleteInternalServerError{} +} + +/* +PcloudIpsecpoliciesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIpsecpoliciesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies delete internal server error response has a 2xx status code +func (o *PcloudIpsecpoliciesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies delete internal server error response has a 3xx status code +func (o *PcloudIpsecpoliciesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies delete internal server error response has a 4xx status code +func (o *PcloudIpsecpoliciesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies delete internal server error response has a 5xx status code +func (o *PcloudIpsecpoliciesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ipsecpolicies delete internal server error response a status code equal to that given +func (o *PcloudIpsecpoliciesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ipsecpolicies delete internal server error response +func (o *PcloudIpsecpoliciesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIpsecpoliciesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_get_parameters.go new file mode 100644 index 000000000..c1aee0b14 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudIpsecpoliciesGetParams creates a new PcloudIpsecpoliciesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIpsecpoliciesGetParams() *PcloudIpsecpoliciesGetParams { + return &PcloudIpsecpoliciesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIpsecpoliciesGetParamsWithTimeout creates a new PcloudIpsecpoliciesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudIpsecpoliciesGetParamsWithTimeout(timeout time.Duration) *PcloudIpsecpoliciesGetParams { + return &PcloudIpsecpoliciesGetParams{ + timeout: timeout, + } +} + +// NewPcloudIpsecpoliciesGetParamsWithContext creates a new PcloudIpsecpoliciesGetParams object +// with the ability to set a context for a request. +func NewPcloudIpsecpoliciesGetParamsWithContext(ctx context.Context) *PcloudIpsecpoliciesGetParams { + return &PcloudIpsecpoliciesGetParams{ + Context: ctx, + } +} + +// NewPcloudIpsecpoliciesGetParamsWithHTTPClient creates a new PcloudIpsecpoliciesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIpsecpoliciesGetParamsWithHTTPClient(client *http.Client) *PcloudIpsecpoliciesGetParams { + return &PcloudIpsecpoliciesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudIpsecpoliciesGetParams contains all the parameters to send to the API endpoint + + for the pcloud ipsecpolicies get operation. + + Typically these are written to a http.Request. +*/ +type PcloudIpsecpoliciesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* IpsecPolicyID. + + ID of a IPSec Policy + */ + IpsecPolicyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ipsecpolicies get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesGetParams) WithDefaults() *PcloudIpsecpoliciesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ipsecpolicies get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) WithTimeout(timeout time.Duration) *PcloudIpsecpoliciesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) WithContext(ctx context.Context) *PcloudIpsecpoliciesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) WithHTTPClient(client *http.Client) *PcloudIpsecpoliciesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIpsecpoliciesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithIpsecPolicyID adds the ipsecPolicyID to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) WithIpsecPolicyID(ipsecPolicyID string) *PcloudIpsecpoliciesGetParams { + o.SetIpsecPolicyID(ipsecPolicyID) + return o +} + +// SetIpsecPolicyID adds the ipsecPolicyId to the pcloud ipsecpolicies get params +func (o *PcloudIpsecpoliciesGetParams) SetIpsecPolicyID(ipsecPolicyID string) { + o.IpsecPolicyID = ipsecPolicyID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIpsecpoliciesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param ipsec_policy_id + if err := r.SetPathParam("ipsec_policy_id", o.IpsecPolicyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_get_responses.go new file mode 100644 index 000000000..3ef2c3333 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIpsecpoliciesGetReader is a Reader for the PcloudIpsecpoliciesGet structure. +type PcloudIpsecpoliciesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIpsecpoliciesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIpsecpoliciesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIpsecpoliciesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIpsecpoliciesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIpsecpoliciesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIpsecpoliciesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudIpsecpoliciesGetUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIpsecpoliciesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}] pcloud.ipsecpolicies.get", response, response.Code()) + } +} + +// NewPcloudIpsecpoliciesGetOK creates a PcloudIpsecpoliciesGetOK with default headers values +func NewPcloudIpsecpoliciesGetOK() *PcloudIpsecpoliciesGetOK { + return &PcloudIpsecpoliciesGetOK{} +} + +/* +PcloudIpsecpoliciesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIpsecpoliciesGetOK struct { + Payload *models.IPSecPolicy +} + +// IsSuccess returns true when this pcloud ipsecpolicies get o k response has a 2xx status code +func (o *PcloudIpsecpoliciesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ipsecpolicies get o k response has a 3xx status code +func (o *PcloudIpsecpoliciesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies get o k response has a 4xx status code +func (o *PcloudIpsecpoliciesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies get o k response has a 5xx status code +func (o *PcloudIpsecpoliciesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies get o k response a status code equal to that given +func (o *PcloudIpsecpoliciesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ipsecpolicies get o k response +func (o *PcloudIpsecpoliciesGetOK) Code() int { + return 200 +} + +func (o *PcloudIpsecpoliciesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesGetOK) GetPayload() *models.IPSecPolicy { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.IPSecPolicy) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetBadRequest creates a PcloudIpsecpoliciesGetBadRequest with default headers values +func NewPcloudIpsecpoliciesGetBadRequest() *PcloudIpsecpoliciesGetBadRequest { + return &PcloudIpsecpoliciesGetBadRequest{} +} + +/* +PcloudIpsecpoliciesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIpsecpoliciesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies get bad request response has a 2xx status code +func (o *PcloudIpsecpoliciesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies get bad request response has a 3xx status code +func (o *PcloudIpsecpoliciesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies get bad request response has a 4xx status code +func (o *PcloudIpsecpoliciesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies get bad request response has a 5xx status code +func (o *PcloudIpsecpoliciesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies get bad request response a status code equal to that given +func (o *PcloudIpsecpoliciesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ipsecpolicies get bad request response +func (o *PcloudIpsecpoliciesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudIpsecpoliciesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetUnauthorized creates a PcloudIpsecpoliciesGetUnauthorized with default headers values +func NewPcloudIpsecpoliciesGetUnauthorized() *PcloudIpsecpoliciesGetUnauthorized { + return &PcloudIpsecpoliciesGetUnauthorized{} +} + +/* +PcloudIpsecpoliciesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIpsecpoliciesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies get unauthorized response has a 2xx status code +func (o *PcloudIpsecpoliciesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies get unauthorized response has a 3xx status code +func (o *PcloudIpsecpoliciesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies get unauthorized response has a 4xx status code +func (o *PcloudIpsecpoliciesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies get unauthorized response has a 5xx status code +func (o *PcloudIpsecpoliciesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies get unauthorized response a status code equal to that given +func (o *PcloudIpsecpoliciesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ipsecpolicies get unauthorized response +func (o *PcloudIpsecpoliciesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIpsecpoliciesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetForbidden creates a PcloudIpsecpoliciesGetForbidden with default headers values +func NewPcloudIpsecpoliciesGetForbidden() *PcloudIpsecpoliciesGetForbidden { + return &PcloudIpsecpoliciesGetForbidden{} +} + +/* +PcloudIpsecpoliciesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIpsecpoliciesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies get forbidden response has a 2xx status code +func (o *PcloudIpsecpoliciesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies get forbidden response has a 3xx status code +func (o *PcloudIpsecpoliciesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies get forbidden response has a 4xx status code +func (o *PcloudIpsecpoliciesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies get forbidden response has a 5xx status code +func (o *PcloudIpsecpoliciesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies get forbidden response a status code equal to that given +func (o *PcloudIpsecpoliciesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ipsecpolicies get forbidden response +func (o *PcloudIpsecpoliciesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudIpsecpoliciesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetNotFound creates a PcloudIpsecpoliciesGetNotFound with default headers values +func NewPcloudIpsecpoliciesGetNotFound() *PcloudIpsecpoliciesGetNotFound { + return &PcloudIpsecpoliciesGetNotFound{} +} + +/* +PcloudIpsecpoliciesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIpsecpoliciesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies get not found response has a 2xx status code +func (o *PcloudIpsecpoliciesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies get not found response has a 3xx status code +func (o *PcloudIpsecpoliciesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies get not found response has a 4xx status code +func (o *PcloudIpsecpoliciesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies get not found response has a 5xx status code +func (o *PcloudIpsecpoliciesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies get not found response a status code equal to that given +func (o *PcloudIpsecpoliciesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ipsecpolicies get not found response +func (o *PcloudIpsecpoliciesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudIpsecpoliciesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetUnprocessableEntity creates a PcloudIpsecpoliciesGetUnprocessableEntity with default headers values +func NewPcloudIpsecpoliciesGetUnprocessableEntity() *PcloudIpsecpoliciesGetUnprocessableEntity { + return &PcloudIpsecpoliciesGetUnprocessableEntity{} +} + +/* +PcloudIpsecpoliciesGetUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudIpsecpoliciesGetUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies get unprocessable entity response has a 2xx status code +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies get unprocessable entity response has a 3xx status code +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies get unprocessable entity response has a 4xx status code +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies get unprocessable entity response has a 5xx status code +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies get unprocessable entity response a status code equal to that given +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud ipsecpolicies get unprocessable entity response +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetInternalServerError creates a PcloudIpsecpoliciesGetInternalServerError with default headers values +func NewPcloudIpsecpoliciesGetInternalServerError() *PcloudIpsecpoliciesGetInternalServerError { + return &PcloudIpsecpoliciesGetInternalServerError{} +} + +/* +PcloudIpsecpoliciesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIpsecpoliciesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies get internal server error response has a 2xx status code +func (o *PcloudIpsecpoliciesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies get internal server error response has a 3xx status code +func (o *PcloudIpsecpoliciesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies get internal server error response has a 4xx status code +func (o *PcloudIpsecpoliciesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies get internal server error response has a 5xx status code +func (o *PcloudIpsecpoliciesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ipsecpolicies get internal server error response a status code equal to that given +func (o *PcloudIpsecpoliciesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ipsecpolicies get internal server error response +func (o *PcloudIpsecpoliciesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIpsecpoliciesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_getall_parameters.go new file mode 100644 index 000000000..8b0929891 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudIpsecpoliciesGetallParams creates a new PcloudIpsecpoliciesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIpsecpoliciesGetallParams() *PcloudIpsecpoliciesGetallParams { + return &PcloudIpsecpoliciesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIpsecpoliciesGetallParamsWithTimeout creates a new PcloudIpsecpoliciesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudIpsecpoliciesGetallParamsWithTimeout(timeout time.Duration) *PcloudIpsecpoliciesGetallParams { + return &PcloudIpsecpoliciesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudIpsecpoliciesGetallParamsWithContext creates a new PcloudIpsecpoliciesGetallParams object +// with the ability to set a context for a request. +func NewPcloudIpsecpoliciesGetallParamsWithContext(ctx context.Context) *PcloudIpsecpoliciesGetallParams { + return &PcloudIpsecpoliciesGetallParams{ + Context: ctx, + } +} + +// NewPcloudIpsecpoliciesGetallParamsWithHTTPClient creates a new PcloudIpsecpoliciesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIpsecpoliciesGetallParamsWithHTTPClient(client *http.Client) *PcloudIpsecpoliciesGetallParams { + return &PcloudIpsecpoliciesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudIpsecpoliciesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud ipsecpolicies getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudIpsecpoliciesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ipsecpolicies getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesGetallParams) WithDefaults() *PcloudIpsecpoliciesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ipsecpolicies getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ipsecpolicies getall params +func (o *PcloudIpsecpoliciesGetallParams) WithTimeout(timeout time.Duration) *PcloudIpsecpoliciesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ipsecpolicies getall params +func (o *PcloudIpsecpoliciesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ipsecpolicies getall params +func (o *PcloudIpsecpoliciesGetallParams) WithContext(ctx context.Context) *PcloudIpsecpoliciesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ipsecpolicies getall params +func (o *PcloudIpsecpoliciesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ipsecpolicies getall params +func (o *PcloudIpsecpoliciesGetallParams) WithHTTPClient(client *http.Client) *PcloudIpsecpoliciesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ipsecpolicies getall params +func (o *PcloudIpsecpoliciesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ipsecpolicies getall params +func (o *PcloudIpsecpoliciesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIpsecpoliciesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ipsecpolicies getall params +func (o *PcloudIpsecpoliciesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIpsecpoliciesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_getall_responses.go new file mode 100644 index 000000000..5bd5c10f0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIpsecpoliciesGetallReader is a Reader for the PcloudIpsecpoliciesGetall structure. +type PcloudIpsecpoliciesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIpsecpoliciesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIpsecpoliciesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIpsecpoliciesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIpsecpoliciesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIpsecpoliciesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIpsecpoliciesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIpsecpoliciesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies] pcloud.ipsecpolicies.getall", response, response.Code()) + } +} + +// NewPcloudIpsecpoliciesGetallOK creates a PcloudIpsecpoliciesGetallOK with default headers values +func NewPcloudIpsecpoliciesGetallOK() *PcloudIpsecpoliciesGetallOK { + return &PcloudIpsecpoliciesGetallOK{} +} + +/* +PcloudIpsecpoliciesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIpsecpoliciesGetallOK struct { + Payload *models.IPSecPolicies +} + +// IsSuccess returns true when this pcloud ipsecpolicies getall o k response has a 2xx status code +func (o *PcloudIpsecpoliciesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ipsecpolicies getall o k response has a 3xx status code +func (o *PcloudIpsecpoliciesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies getall o k response has a 4xx status code +func (o *PcloudIpsecpoliciesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies getall o k response has a 5xx status code +func (o *PcloudIpsecpoliciesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies getall o k response a status code equal to that given +func (o *PcloudIpsecpoliciesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ipsecpolicies getall o k response +func (o *PcloudIpsecpoliciesGetallOK) Code() int { + return 200 +} + +func (o *PcloudIpsecpoliciesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesGetallOK) GetPayload() *models.IPSecPolicies { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.IPSecPolicies) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetallBadRequest creates a PcloudIpsecpoliciesGetallBadRequest with default headers values +func NewPcloudIpsecpoliciesGetallBadRequest() *PcloudIpsecpoliciesGetallBadRequest { + return &PcloudIpsecpoliciesGetallBadRequest{} +} + +/* +PcloudIpsecpoliciesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIpsecpoliciesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies getall bad request response has a 2xx status code +func (o *PcloudIpsecpoliciesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies getall bad request response has a 3xx status code +func (o *PcloudIpsecpoliciesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies getall bad request response has a 4xx status code +func (o *PcloudIpsecpoliciesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies getall bad request response has a 5xx status code +func (o *PcloudIpsecpoliciesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies getall bad request response a status code equal to that given +func (o *PcloudIpsecpoliciesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ipsecpolicies getall bad request response +func (o *PcloudIpsecpoliciesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudIpsecpoliciesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetallUnauthorized creates a PcloudIpsecpoliciesGetallUnauthorized with default headers values +func NewPcloudIpsecpoliciesGetallUnauthorized() *PcloudIpsecpoliciesGetallUnauthorized { + return &PcloudIpsecpoliciesGetallUnauthorized{} +} + +/* +PcloudIpsecpoliciesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIpsecpoliciesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies getall unauthorized response has a 2xx status code +func (o *PcloudIpsecpoliciesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies getall unauthorized response has a 3xx status code +func (o *PcloudIpsecpoliciesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies getall unauthorized response has a 4xx status code +func (o *PcloudIpsecpoliciesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies getall unauthorized response has a 5xx status code +func (o *PcloudIpsecpoliciesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies getall unauthorized response a status code equal to that given +func (o *PcloudIpsecpoliciesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ipsecpolicies getall unauthorized response +func (o *PcloudIpsecpoliciesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIpsecpoliciesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetallForbidden creates a PcloudIpsecpoliciesGetallForbidden with default headers values +func NewPcloudIpsecpoliciesGetallForbidden() *PcloudIpsecpoliciesGetallForbidden { + return &PcloudIpsecpoliciesGetallForbidden{} +} + +/* +PcloudIpsecpoliciesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIpsecpoliciesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies getall forbidden response has a 2xx status code +func (o *PcloudIpsecpoliciesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies getall forbidden response has a 3xx status code +func (o *PcloudIpsecpoliciesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies getall forbidden response has a 4xx status code +func (o *PcloudIpsecpoliciesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies getall forbidden response has a 5xx status code +func (o *PcloudIpsecpoliciesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies getall forbidden response a status code equal to that given +func (o *PcloudIpsecpoliciesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ipsecpolicies getall forbidden response +func (o *PcloudIpsecpoliciesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudIpsecpoliciesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetallNotFound creates a PcloudIpsecpoliciesGetallNotFound with default headers values +func NewPcloudIpsecpoliciesGetallNotFound() *PcloudIpsecpoliciesGetallNotFound { + return &PcloudIpsecpoliciesGetallNotFound{} +} + +/* +PcloudIpsecpoliciesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIpsecpoliciesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies getall not found response has a 2xx status code +func (o *PcloudIpsecpoliciesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies getall not found response has a 3xx status code +func (o *PcloudIpsecpoliciesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies getall not found response has a 4xx status code +func (o *PcloudIpsecpoliciesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies getall not found response has a 5xx status code +func (o *PcloudIpsecpoliciesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies getall not found response a status code equal to that given +func (o *PcloudIpsecpoliciesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ipsecpolicies getall not found response +func (o *PcloudIpsecpoliciesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudIpsecpoliciesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesGetallInternalServerError creates a PcloudIpsecpoliciesGetallInternalServerError with default headers values +func NewPcloudIpsecpoliciesGetallInternalServerError() *PcloudIpsecpoliciesGetallInternalServerError { + return &PcloudIpsecpoliciesGetallInternalServerError{} +} + +/* +PcloudIpsecpoliciesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIpsecpoliciesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies getall internal server error response has a 2xx status code +func (o *PcloudIpsecpoliciesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies getall internal server error response has a 3xx status code +func (o *PcloudIpsecpoliciesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies getall internal server error response has a 4xx status code +func (o *PcloudIpsecpoliciesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies getall internal server error response has a 5xx status code +func (o *PcloudIpsecpoliciesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ipsecpolicies getall internal server error response a status code equal to that given +func (o *PcloudIpsecpoliciesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ipsecpolicies getall internal server error response +func (o *PcloudIpsecpoliciesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIpsecpoliciesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_post_parameters.go new file mode 100644 index 000000000..2d95ce87e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudIpsecpoliciesPostParams creates a new PcloudIpsecpoliciesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIpsecpoliciesPostParams() *PcloudIpsecpoliciesPostParams { + return &PcloudIpsecpoliciesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIpsecpoliciesPostParamsWithTimeout creates a new PcloudIpsecpoliciesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudIpsecpoliciesPostParamsWithTimeout(timeout time.Duration) *PcloudIpsecpoliciesPostParams { + return &PcloudIpsecpoliciesPostParams{ + timeout: timeout, + } +} + +// NewPcloudIpsecpoliciesPostParamsWithContext creates a new PcloudIpsecpoliciesPostParams object +// with the ability to set a context for a request. +func NewPcloudIpsecpoliciesPostParamsWithContext(ctx context.Context) *PcloudIpsecpoliciesPostParams { + return &PcloudIpsecpoliciesPostParams{ + Context: ctx, + } +} + +// NewPcloudIpsecpoliciesPostParamsWithHTTPClient creates a new PcloudIpsecpoliciesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIpsecpoliciesPostParamsWithHTTPClient(client *http.Client) *PcloudIpsecpoliciesPostParams { + return &PcloudIpsecpoliciesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudIpsecpoliciesPostParams contains all the parameters to send to the API endpoint + + for the pcloud ipsecpolicies post operation. + + Typically these are written to a http.Request. +*/ +type PcloudIpsecpoliciesPostParams struct { + + /* Body. + + Parameters for the creation of a new IPSec Policy + */ + Body *models.IPSecPolicyCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ipsecpolicies post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesPostParams) WithDefaults() *PcloudIpsecpoliciesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ipsecpolicies post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) WithTimeout(timeout time.Duration) *PcloudIpsecpoliciesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) WithContext(ctx context.Context) *PcloudIpsecpoliciesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) WithHTTPClient(client *http.Client) *PcloudIpsecpoliciesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) WithBody(body *models.IPSecPolicyCreate) *PcloudIpsecpoliciesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) SetBody(body *models.IPSecPolicyCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIpsecpoliciesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ipsecpolicies post params +func (o *PcloudIpsecpoliciesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIpsecpoliciesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_post_responses.go new file mode 100644 index 000000000..6e5160760 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIpsecpoliciesPostReader is a Reader for the PcloudIpsecpoliciesPost structure. +type PcloudIpsecpoliciesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIpsecpoliciesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIpsecpoliciesPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIpsecpoliciesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIpsecpoliciesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIpsecpoliciesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIpsecpoliciesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudIpsecpoliciesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudIpsecpoliciesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIpsecpoliciesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies] pcloud.ipsecpolicies.post", response, response.Code()) + } +} + +// NewPcloudIpsecpoliciesPostOK creates a PcloudIpsecpoliciesPostOK with default headers values +func NewPcloudIpsecpoliciesPostOK() *PcloudIpsecpoliciesPostOK { + return &PcloudIpsecpoliciesPostOK{} +} + +/* +PcloudIpsecpoliciesPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIpsecpoliciesPostOK struct { + Payload *models.IPSecPolicy +} + +// IsSuccess returns true when this pcloud ipsecpolicies post o k response has a 2xx status code +func (o *PcloudIpsecpoliciesPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ipsecpolicies post o k response has a 3xx status code +func (o *PcloudIpsecpoliciesPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies post o k response has a 4xx status code +func (o *PcloudIpsecpoliciesPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies post o k response has a 5xx status code +func (o *PcloudIpsecpoliciesPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies post o k response a status code equal to that given +func (o *PcloudIpsecpoliciesPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ipsecpolicies post o k response +func (o *PcloudIpsecpoliciesPostOK) Code() int { + return 200 +} + +func (o *PcloudIpsecpoliciesPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesPostOK) GetPayload() *models.IPSecPolicy { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.IPSecPolicy) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPostBadRequest creates a PcloudIpsecpoliciesPostBadRequest with default headers values +func NewPcloudIpsecpoliciesPostBadRequest() *PcloudIpsecpoliciesPostBadRequest { + return &PcloudIpsecpoliciesPostBadRequest{} +} + +/* +PcloudIpsecpoliciesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIpsecpoliciesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies post bad request response has a 2xx status code +func (o *PcloudIpsecpoliciesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies post bad request response has a 3xx status code +func (o *PcloudIpsecpoliciesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies post bad request response has a 4xx status code +func (o *PcloudIpsecpoliciesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies post bad request response has a 5xx status code +func (o *PcloudIpsecpoliciesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies post bad request response a status code equal to that given +func (o *PcloudIpsecpoliciesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ipsecpolicies post bad request response +func (o *PcloudIpsecpoliciesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudIpsecpoliciesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPostUnauthorized creates a PcloudIpsecpoliciesPostUnauthorized with default headers values +func NewPcloudIpsecpoliciesPostUnauthorized() *PcloudIpsecpoliciesPostUnauthorized { + return &PcloudIpsecpoliciesPostUnauthorized{} +} + +/* +PcloudIpsecpoliciesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIpsecpoliciesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies post unauthorized response has a 2xx status code +func (o *PcloudIpsecpoliciesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies post unauthorized response has a 3xx status code +func (o *PcloudIpsecpoliciesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies post unauthorized response has a 4xx status code +func (o *PcloudIpsecpoliciesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies post unauthorized response has a 5xx status code +func (o *PcloudIpsecpoliciesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies post unauthorized response a status code equal to that given +func (o *PcloudIpsecpoliciesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ipsecpolicies post unauthorized response +func (o *PcloudIpsecpoliciesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIpsecpoliciesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPostForbidden creates a PcloudIpsecpoliciesPostForbidden with default headers values +func NewPcloudIpsecpoliciesPostForbidden() *PcloudIpsecpoliciesPostForbidden { + return &PcloudIpsecpoliciesPostForbidden{} +} + +/* +PcloudIpsecpoliciesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIpsecpoliciesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies post forbidden response has a 2xx status code +func (o *PcloudIpsecpoliciesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies post forbidden response has a 3xx status code +func (o *PcloudIpsecpoliciesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies post forbidden response has a 4xx status code +func (o *PcloudIpsecpoliciesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies post forbidden response has a 5xx status code +func (o *PcloudIpsecpoliciesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies post forbidden response a status code equal to that given +func (o *PcloudIpsecpoliciesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ipsecpolicies post forbidden response +func (o *PcloudIpsecpoliciesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudIpsecpoliciesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPostNotFound creates a PcloudIpsecpoliciesPostNotFound with default headers values +func NewPcloudIpsecpoliciesPostNotFound() *PcloudIpsecpoliciesPostNotFound { + return &PcloudIpsecpoliciesPostNotFound{} +} + +/* +PcloudIpsecpoliciesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIpsecpoliciesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies post not found response has a 2xx status code +func (o *PcloudIpsecpoliciesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies post not found response has a 3xx status code +func (o *PcloudIpsecpoliciesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies post not found response has a 4xx status code +func (o *PcloudIpsecpoliciesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies post not found response has a 5xx status code +func (o *PcloudIpsecpoliciesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies post not found response a status code equal to that given +func (o *PcloudIpsecpoliciesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ipsecpolicies post not found response +func (o *PcloudIpsecpoliciesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudIpsecpoliciesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPostConflict creates a PcloudIpsecpoliciesPostConflict with default headers values +func NewPcloudIpsecpoliciesPostConflict() *PcloudIpsecpoliciesPostConflict { + return &PcloudIpsecpoliciesPostConflict{} +} + +/* +PcloudIpsecpoliciesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudIpsecpoliciesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies post conflict response has a 2xx status code +func (o *PcloudIpsecpoliciesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies post conflict response has a 3xx status code +func (o *PcloudIpsecpoliciesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies post conflict response has a 4xx status code +func (o *PcloudIpsecpoliciesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies post conflict response has a 5xx status code +func (o *PcloudIpsecpoliciesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies post conflict response a status code equal to that given +func (o *PcloudIpsecpoliciesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud ipsecpolicies post conflict response +func (o *PcloudIpsecpoliciesPostConflict) Code() int { + return 409 +} + +func (o *PcloudIpsecpoliciesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostConflict %s", 409, payload) +} + +func (o *PcloudIpsecpoliciesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostConflict %s", 409, payload) +} + +func (o *PcloudIpsecpoliciesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPostUnprocessableEntity creates a PcloudIpsecpoliciesPostUnprocessableEntity with default headers values +func NewPcloudIpsecpoliciesPostUnprocessableEntity() *PcloudIpsecpoliciesPostUnprocessableEntity { + return &PcloudIpsecpoliciesPostUnprocessableEntity{} +} + +/* +PcloudIpsecpoliciesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudIpsecpoliciesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies post unprocessable entity response has a 2xx status code +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies post unprocessable entity response has a 3xx status code +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies post unprocessable entity response has a 4xx status code +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies post unprocessable entity response has a 5xx status code +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies post unprocessable entity response a status code equal to that given +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud ipsecpolicies post unprocessable entity response +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPostInternalServerError creates a PcloudIpsecpoliciesPostInternalServerError with default headers values +func NewPcloudIpsecpoliciesPostInternalServerError() *PcloudIpsecpoliciesPostInternalServerError { + return &PcloudIpsecpoliciesPostInternalServerError{} +} + +/* +PcloudIpsecpoliciesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIpsecpoliciesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies post internal server error response has a 2xx status code +func (o *PcloudIpsecpoliciesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies post internal server error response has a 3xx status code +func (o *PcloudIpsecpoliciesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies post internal server error response has a 4xx status code +func (o *PcloudIpsecpoliciesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies post internal server error response has a 5xx status code +func (o *PcloudIpsecpoliciesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ipsecpolicies post internal server error response a status code equal to that given +func (o *PcloudIpsecpoliciesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ipsecpolicies post internal server error response +func (o *PcloudIpsecpoliciesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIpsecpoliciesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies][%d] pcloudIpsecpoliciesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_put_parameters.go new file mode 100644 index 000000000..fa5acb3e3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudIpsecpoliciesPutParams creates a new PcloudIpsecpoliciesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudIpsecpoliciesPutParams() *PcloudIpsecpoliciesPutParams { + return &PcloudIpsecpoliciesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudIpsecpoliciesPutParamsWithTimeout creates a new PcloudIpsecpoliciesPutParams object +// with the ability to set a timeout on a request. +func NewPcloudIpsecpoliciesPutParamsWithTimeout(timeout time.Duration) *PcloudIpsecpoliciesPutParams { + return &PcloudIpsecpoliciesPutParams{ + timeout: timeout, + } +} + +// NewPcloudIpsecpoliciesPutParamsWithContext creates a new PcloudIpsecpoliciesPutParams object +// with the ability to set a context for a request. +func NewPcloudIpsecpoliciesPutParamsWithContext(ctx context.Context) *PcloudIpsecpoliciesPutParams { + return &PcloudIpsecpoliciesPutParams{ + Context: ctx, + } +} + +// NewPcloudIpsecpoliciesPutParamsWithHTTPClient creates a new PcloudIpsecpoliciesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudIpsecpoliciesPutParamsWithHTTPClient(client *http.Client) *PcloudIpsecpoliciesPutParams { + return &PcloudIpsecpoliciesPutParams{ + HTTPClient: client, + } +} + +/* +PcloudIpsecpoliciesPutParams contains all the parameters to send to the API endpoint + + for the pcloud ipsecpolicies put operation. + + Typically these are written to a http.Request. +*/ +type PcloudIpsecpoliciesPutParams struct { + + /* Body. + + Parameters for the update of an IPSec Policy + */ + Body *models.IPSecPolicyUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* IpsecPolicyID. + + ID of a IPSec Policy + */ + IpsecPolicyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud ipsecpolicies put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesPutParams) WithDefaults() *PcloudIpsecpoliciesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud ipsecpolicies put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudIpsecpoliciesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) WithTimeout(timeout time.Duration) *PcloudIpsecpoliciesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) WithContext(ctx context.Context) *PcloudIpsecpoliciesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) WithHTTPClient(client *http.Client) *PcloudIpsecpoliciesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) WithBody(body *models.IPSecPolicyUpdate) *PcloudIpsecpoliciesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) SetBody(body *models.IPSecPolicyUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudIpsecpoliciesPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithIpsecPolicyID adds the ipsecPolicyID to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) WithIpsecPolicyID(ipsecPolicyID string) *PcloudIpsecpoliciesPutParams { + o.SetIpsecPolicyID(ipsecPolicyID) + return o +} + +// SetIpsecPolicyID adds the ipsecPolicyId to the pcloud ipsecpolicies put params +func (o *PcloudIpsecpoliciesPutParams) SetIpsecPolicyID(ipsecPolicyID string) { + o.IpsecPolicyID = ipsecPolicyID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudIpsecpoliciesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param ipsec_policy_id + if err := r.SetPathParam("ipsec_policy_id", o.IpsecPolicyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_put_responses.go new file mode 100644 index 000000000..3cfcf4743 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies/pcloud_ipsecpolicies_put_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_v_p_n_policies + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudIpsecpoliciesPutReader is a Reader for the PcloudIpsecpoliciesPut structure. +type PcloudIpsecpoliciesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudIpsecpoliciesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudIpsecpoliciesPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudIpsecpoliciesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudIpsecpoliciesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudIpsecpoliciesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudIpsecpoliciesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudIpsecpoliciesPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudIpsecpoliciesPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudIpsecpoliciesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}] pcloud.ipsecpolicies.put", response, response.Code()) + } +} + +// NewPcloudIpsecpoliciesPutOK creates a PcloudIpsecpoliciesPutOK with default headers values +func NewPcloudIpsecpoliciesPutOK() *PcloudIpsecpoliciesPutOK { + return &PcloudIpsecpoliciesPutOK{} +} + +/* +PcloudIpsecpoliciesPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudIpsecpoliciesPutOK struct { + Payload *models.IPSecPolicy +} + +// IsSuccess returns true when this pcloud ipsecpolicies put o k response has a 2xx status code +func (o *PcloudIpsecpoliciesPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud ipsecpolicies put o k response has a 3xx status code +func (o *PcloudIpsecpoliciesPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies put o k response has a 4xx status code +func (o *PcloudIpsecpoliciesPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies put o k response has a 5xx status code +func (o *PcloudIpsecpoliciesPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies put o k response a status code equal to that given +func (o *PcloudIpsecpoliciesPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud ipsecpolicies put o k response +func (o *PcloudIpsecpoliciesPutOK) Code() int { + return 200 +} + +func (o *PcloudIpsecpoliciesPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutOK %s", 200, payload) +} + +func (o *PcloudIpsecpoliciesPutOK) GetPayload() *models.IPSecPolicy { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.IPSecPolicy) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPutBadRequest creates a PcloudIpsecpoliciesPutBadRequest with default headers values +func NewPcloudIpsecpoliciesPutBadRequest() *PcloudIpsecpoliciesPutBadRequest { + return &PcloudIpsecpoliciesPutBadRequest{} +} + +/* +PcloudIpsecpoliciesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudIpsecpoliciesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies put bad request response has a 2xx status code +func (o *PcloudIpsecpoliciesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies put bad request response has a 3xx status code +func (o *PcloudIpsecpoliciesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies put bad request response has a 4xx status code +func (o *PcloudIpsecpoliciesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies put bad request response has a 5xx status code +func (o *PcloudIpsecpoliciesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies put bad request response a status code equal to that given +func (o *PcloudIpsecpoliciesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud ipsecpolicies put bad request response +func (o *PcloudIpsecpoliciesPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudIpsecpoliciesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutBadRequest %s", 400, payload) +} + +func (o *PcloudIpsecpoliciesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPutUnauthorized creates a PcloudIpsecpoliciesPutUnauthorized with default headers values +func NewPcloudIpsecpoliciesPutUnauthorized() *PcloudIpsecpoliciesPutUnauthorized { + return &PcloudIpsecpoliciesPutUnauthorized{} +} + +/* +PcloudIpsecpoliciesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudIpsecpoliciesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies put unauthorized response has a 2xx status code +func (o *PcloudIpsecpoliciesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies put unauthorized response has a 3xx status code +func (o *PcloudIpsecpoliciesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies put unauthorized response has a 4xx status code +func (o *PcloudIpsecpoliciesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies put unauthorized response has a 5xx status code +func (o *PcloudIpsecpoliciesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies put unauthorized response a status code equal to that given +func (o *PcloudIpsecpoliciesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud ipsecpolicies put unauthorized response +func (o *PcloudIpsecpoliciesPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudIpsecpoliciesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudIpsecpoliciesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPutForbidden creates a PcloudIpsecpoliciesPutForbidden with default headers values +func NewPcloudIpsecpoliciesPutForbidden() *PcloudIpsecpoliciesPutForbidden { + return &PcloudIpsecpoliciesPutForbidden{} +} + +/* +PcloudIpsecpoliciesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudIpsecpoliciesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies put forbidden response has a 2xx status code +func (o *PcloudIpsecpoliciesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies put forbidden response has a 3xx status code +func (o *PcloudIpsecpoliciesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies put forbidden response has a 4xx status code +func (o *PcloudIpsecpoliciesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies put forbidden response has a 5xx status code +func (o *PcloudIpsecpoliciesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies put forbidden response a status code equal to that given +func (o *PcloudIpsecpoliciesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud ipsecpolicies put forbidden response +func (o *PcloudIpsecpoliciesPutForbidden) Code() int { + return 403 +} + +func (o *PcloudIpsecpoliciesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutForbidden %s", 403, payload) +} + +func (o *PcloudIpsecpoliciesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPutNotFound creates a PcloudIpsecpoliciesPutNotFound with default headers values +func NewPcloudIpsecpoliciesPutNotFound() *PcloudIpsecpoliciesPutNotFound { + return &PcloudIpsecpoliciesPutNotFound{} +} + +/* +PcloudIpsecpoliciesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudIpsecpoliciesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies put not found response has a 2xx status code +func (o *PcloudIpsecpoliciesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies put not found response has a 3xx status code +func (o *PcloudIpsecpoliciesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies put not found response has a 4xx status code +func (o *PcloudIpsecpoliciesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies put not found response has a 5xx status code +func (o *PcloudIpsecpoliciesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies put not found response a status code equal to that given +func (o *PcloudIpsecpoliciesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud ipsecpolicies put not found response +func (o *PcloudIpsecpoliciesPutNotFound) Code() int { + return 404 +} + +func (o *PcloudIpsecpoliciesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutNotFound %s", 404, payload) +} + +func (o *PcloudIpsecpoliciesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPutConflict creates a PcloudIpsecpoliciesPutConflict with default headers values +func NewPcloudIpsecpoliciesPutConflict() *PcloudIpsecpoliciesPutConflict { + return &PcloudIpsecpoliciesPutConflict{} +} + +/* +PcloudIpsecpoliciesPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudIpsecpoliciesPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies put conflict response has a 2xx status code +func (o *PcloudIpsecpoliciesPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies put conflict response has a 3xx status code +func (o *PcloudIpsecpoliciesPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies put conflict response has a 4xx status code +func (o *PcloudIpsecpoliciesPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies put conflict response has a 5xx status code +func (o *PcloudIpsecpoliciesPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies put conflict response a status code equal to that given +func (o *PcloudIpsecpoliciesPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud ipsecpolicies put conflict response +func (o *PcloudIpsecpoliciesPutConflict) Code() int { + return 409 +} + +func (o *PcloudIpsecpoliciesPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutConflict %s", 409, payload) +} + +func (o *PcloudIpsecpoliciesPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutConflict %s", 409, payload) +} + +func (o *PcloudIpsecpoliciesPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPutUnprocessableEntity creates a PcloudIpsecpoliciesPutUnprocessableEntity with default headers values +func NewPcloudIpsecpoliciesPutUnprocessableEntity() *PcloudIpsecpoliciesPutUnprocessableEntity { + return &PcloudIpsecpoliciesPutUnprocessableEntity{} +} + +/* +PcloudIpsecpoliciesPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudIpsecpoliciesPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies put unprocessable entity response has a 2xx status code +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies put unprocessable entity response has a 3xx status code +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies put unprocessable entity response has a 4xx status code +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud ipsecpolicies put unprocessable entity response has a 5xx status code +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud ipsecpolicies put unprocessable entity response a status code equal to that given +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud ipsecpolicies put unprocessable entity response +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudIpsecpoliciesPutInternalServerError creates a PcloudIpsecpoliciesPutInternalServerError with default headers values +func NewPcloudIpsecpoliciesPutInternalServerError() *PcloudIpsecpoliciesPutInternalServerError { + return &PcloudIpsecpoliciesPutInternalServerError{} +} + +/* +PcloudIpsecpoliciesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudIpsecpoliciesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud ipsecpolicies put internal server error response has a 2xx status code +func (o *PcloudIpsecpoliciesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud ipsecpolicies put internal server error response has a 3xx status code +func (o *PcloudIpsecpoliciesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud ipsecpolicies put internal server error response has a 4xx status code +func (o *PcloudIpsecpoliciesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud ipsecpolicies put internal server error response has a 5xx status code +func (o *PcloudIpsecpoliciesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud ipsecpolicies put internal server error response a status code equal to that given +func (o *PcloudIpsecpoliciesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud ipsecpolicies put internal server error response +func (o *PcloudIpsecpoliciesPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudIpsecpoliciesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}][%d] pcloudIpsecpoliciesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudIpsecpoliciesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudIpsecpoliciesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/p_cloud_virtual_serial_number_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/p_cloud_virtual_serial_number_client.go new file mode 100644 index 000000000..95dc5cfec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/p_cloud_virtual_serial_number_client.go @@ -0,0 +1,435 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud virtual serial number API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud virtual serial number API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud virtual serial number API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud virtual serial number API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudPvminstancesVirtualserialnumberDelete(params *PcloudPvminstancesVirtualserialnumberDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVirtualserialnumberDeleteAccepted, error) + + PcloudPvminstancesVirtualserialnumberGet(params *PcloudPvminstancesVirtualserialnumberGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVirtualserialnumberGetOK, error) + + PcloudPvminstancesVirtualserialnumberPost(params *PcloudPvminstancesVirtualserialnumberPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVirtualserialnumberPostAccepted, error) + + PcloudPvminstancesVirtualserialnumberPut(params *PcloudPvminstancesVirtualserialnumberPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVirtualserialnumberPutOK, *PcloudPvminstancesVirtualserialnumberPutAccepted, error) + + PcloudVirtualserialnumberDelete(params *PcloudVirtualserialnumberDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberDeleteOK, error) + + PcloudVirtualserialnumberGet(params *PcloudVirtualserialnumberGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberGetOK, error) + + PcloudVirtualserialnumberGetall(params *PcloudVirtualserialnumberGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberGetallOK, error) + + PcloudVirtualserialnumberPut(params *PcloudVirtualserialnumberPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberPutOK, error) + + PcloudVirtualserialnumberSoftwaretiersGetall(params *PcloudVirtualserialnumberSoftwaretiersGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberSoftwaretiersGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudPvminstancesVirtualserialnumberDelete unassigns virtual serial number from a p VM instance +*/ +func (a *Client) PcloudPvminstancesVirtualserialnumberDelete(params *PcloudPvminstancesVirtualserialnumberDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVirtualserialnumberDeleteAccepted, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudPvminstancesVirtualserialnumberDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.virtualserialnumber.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVirtualserialnumberDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PcloudPvminstancesVirtualserialnumberDeleteAccepted) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.virtualserialnumber.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVirtualserialnumberGet gets a p VM instance s virtual serial number information +*/ +func (a *Client) PcloudPvminstancesVirtualserialnumberGet(params *PcloudPvminstancesVirtualserialnumberGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVirtualserialnumberGetOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudPvminstancesVirtualserialnumberGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.virtualserialnumber.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVirtualserialnumberGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PcloudPvminstancesVirtualserialnumberGetOK) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.virtualserialnumber.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVirtualserialnumberPost assigns virtual serial number to a p VM instance +*/ +func (a *Client) PcloudPvminstancesVirtualserialnumberPost(params *PcloudPvminstancesVirtualserialnumberPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVirtualserialnumberPostAccepted, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudPvminstancesVirtualserialnumberPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.virtualserialnumber.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVirtualserialnumberPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PcloudPvminstancesVirtualserialnumberPostAccepted) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.virtualserialnumber.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVirtualserialnumberPut updates a virtual serial number +*/ +func (a *Client) PcloudPvminstancesVirtualserialnumberPut(params *PcloudPvminstancesVirtualserialnumberPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVirtualserialnumberPutOK, *PcloudPvminstancesVirtualserialnumberPutAccepted, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudPvminstancesVirtualserialnumberPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.virtualserialnumber.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVirtualserialnumberPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + switch value := result.(type) { + case *PcloudPvminstancesVirtualserialnumberPutOK: + return value, nil, nil + case *PcloudPvminstancesVirtualserialnumberPutAccepted: + return nil, value, nil + } + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_virtual_serial_number: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVirtualserialnumberDelete unreserves a retained virtual serial number +*/ +func (a *Client) PcloudVirtualserialnumberDelete(params *PcloudVirtualserialnumberDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberDeleteOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudVirtualserialnumberDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.virtualserialnumber.delete", + Method: "DELETE", + PathPattern: "/v1/virtual-serial-number/{virtual_serial_number}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVirtualserialnumberDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PcloudVirtualserialnumberDeleteOK) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.virtualserialnumber.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVirtualserialnumberGet gets information for a virtual serial number +*/ +func (a *Client) PcloudVirtualserialnumberGet(params *PcloudVirtualserialnumberGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberGetOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudVirtualserialnumberGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.virtualserialnumber.get", + Method: "GET", + PathPattern: "/v1/virtual-serial-number/{virtual_serial_number}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVirtualserialnumberGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PcloudVirtualserialnumberGetOK) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.virtualserialnumber.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVirtualserialnumberGetall lists all utilized and retained v s ns +*/ +func (a *Client) PcloudVirtualserialnumberGetall(params *PcloudVirtualserialnumberGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberGetallOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudVirtualserialnumberGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.virtualserialnumber.getall", + Method: "GET", + PathPattern: "/v1/virtual-serial-number", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVirtualserialnumberGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PcloudVirtualserialnumberGetallOK) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.virtualserialnumber.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVirtualserialnumberPut updates description of a reserved virtual serial number +*/ +func (a *Client) PcloudVirtualserialnumberPut(params *PcloudVirtualserialnumberPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberPutOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudVirtualserialnumberPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.virtualserialnumber.put", + Method: "PUT", + PathPattern: "/v1/virtual-serial-number/{virtual_serial_number}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVirtualserialnumberPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PcloudVirtualserialnumberPutOK) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.virtualserialnumber.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVirtualserialnumberSoftwaretiersGetall lists supported software tiers i b mi licensing +*/ +func (a *Client) PcloudVirtualserialnumberSoftwaretiersGetall(params *PcloudVirtualserialnumberSoftwaretiersGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVirtualserialnumberSoftwaretiersGetallOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPcloudVirtualserialnumberSoftwaretiersGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.virtualserialnumber.softwaretiers.getall", + Method: "GET", + PathPattern: "/v1/virtual-serial-number/software-tiers", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVirtualserialnumberSoftwaretiersGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PcloudVirtualserialnumberSoftwaretiersGetallOK) + if ok { + return success, nil + } + // unexpected success response + // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.virtualserialnumber.softwaretiers.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_delete_parameters.go new file mode 100644 index 000000000..12f21bf29 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_delete_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesVirtualserialnumberDeleteParams creates a new PcloudPvminstancesVirtualserialnumberDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVirtualserialnumberDeleteParams() *PcloudPvminstancesVirtualserialnumberDeleteParams { + return &PcloudPvminstancesVirtualserialnumberDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteParamsWithTimeout creates a new PcloudPvminstancesVirtualserialnumberDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVirtualserialnumberDeleteParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVirtualserialnumberDeleteParams { + return &PcloudPvminstancesVirtualserialnumberDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteParamsWithContext creates a new PcloudPvminstancesVirtualserialnumberDeleteParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVirtualserialnumberDeleteParamsWithContext(ctx context.Context) *PcloudPvminstancesVirtualserialnumberDeleteParams { + return &PcloudPvminstancesVirtualserialnumberDeleteParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteParamsWithHTTPClient creates a new PcloudPvminstancesVirtualserialnumberDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVirtualserialnumberDeleteParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVirtualserialnumberDeleteParams { + return &PcloudPvminstancesVirtualserialnumberDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVirtualserialnumberDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances virtualserialnumber delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVirtualserialnumberDeleteParams struct { + + /* Body. + + Parameters to unassign a Virtual Serial Number attached to a PVM Instance + */ + Body *models.DeleteServerVirtualSerialNumber + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances virtualserialnumber delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) WithDefaults() *PcloudPvminstancesVirtualserialnumberDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances virtualserialnumber delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVirtualserialnumberDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) WithContext(ctx context.Context) *PcloudPvminstancesVirtualserialnumberDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVirtualserialnumberDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) WithBody(body *models.DeleteServerVirtualSerialNumber) *PcloudPvminstancesVirtualserialnumberDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) SetBody(body *models.DeleteServerVirtualSerialNumber) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVirtualserialnumberDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVirtualserialnumberDeleteParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances virtualserialnumber delete params +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVirtualserialnumberDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_delete_responses.go new file mode 100644 index 000000000..7c815b70d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVirtualserialnumberDeleteReader is a Reader for the PcloudPvminstancesVirtualserialnumberDelete structure. +type PcloudPvminstancesVirtualserialnumberDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVirtualserialnumberDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesVirtualserialnumberDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVirtualserialnumberDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVirtualserialnumberDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVirtualserialnumberDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVirtualserialnumberDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudPvminstancesVirtualserialnumberDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVirtualserialnumberDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number] pcloud.pvminstances.virtualserialnumber.delete", response, response.Code()) + } +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteAccepted creates a PcloudPvminstancesVirtualserialnumberDeleteAccepted with default headers values +func NewPcloudPvminstancesVirtualserialnumberDeleteAccepted() *PcloudPvminstancesVirtualserialnumberDeleteAccepted { + return &PcloudPvminstancesVirtualserialnumberDeleteAccepted{} +} + +/* +PcloudPvminstancesVirtualserialnumberDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesVirtualserialnumberDeleteAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber delete accepted response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber delete accepted response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber delete accepted response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber delete accepted response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber delete accepted response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber delete accepted response +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteBadRequest creates a PcloudPvminstancesVirtualserialnumberDeleteBadRequest with default headers values +func NewPcloudPvminstancesVirtualserialnumberDeleteBadRequest() *PcloudPvminstancesVirtualserialnumberDeleteBadRequest { + return &PcloudPvminstancesVirtualserialnumberDeleteBadRequest{} +} + +/* +PcloudPvminstancesVirtualserialnumberDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVirtualserialnumberDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber delete bad request response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber delete bad request response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber delete bad request response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber delete bad request response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber delete bad request response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber delete bad request response +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteUnauthorized creates a PcloudPvminstancesVirtualserialnumberDeleteUnauthorized with default headers values +func NewPcloudPvminstancesVirtualserialnumberDeleteUnauthorized() *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized { + return &PcloudPvminstancesVirtualserialnumberDeleteUnauthorized{} +} + +/* +PcloudPvminstancesVirtualserialnumberDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVirtualserialnumberDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber delete unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber delete unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber delete unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber delete unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber delete unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber delete unauthorized response +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteForbidden creates a PcloudPvminstancesVirtualserialnumberDeleteForbidden with default headers values +func NewPcloudPvminstancesVirtualserialnumberDeleteForbidden() *PcloudPvminstancesVirtualserialnumberDeleteForbidden { + return &PcloudPvminstancesVirtualserialnumberDeleteForbidden{} +} + +/* +PcloudPvminstancesVirtualserialnumberDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVirtualserialnumberDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber delete forbidden response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber delete forbidden response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber delete forbidden response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber delete forbidden response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber delete forbidden response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber delete forbidden response +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteNotFound creates a PcloudPvminstancesVirtualserialnumberDeleteNotFound with default headers values +func NewPcloudPvminstancesVirtualserialnumberDeleteNotFound() *PcloudPvminstancesVirtualserialnumberDeleteNotFound { + return &PcloudPvminstancesVirtualserialnumberDeleteNotFound{} +} + +/* +PcloudPvminstancesVirtualserialnumberDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVirtualserialnumberDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber delete not found response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber delete not found response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber delete not found response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber delete not found response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber delete not found response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber delete not found response +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteGone creates a PcloudPvminstancesVirtualserialnumberDeleteGone with default headers values +func NewPcloudPvminstancesVirtualserialnumberDeleteGone() *PcloudPvminstancesVirtualserialnumberDeleteGone { + return &PcloudPvminstancesVirtualserialnumberDeleteGone{} +} + +/* +PcloudPvminstancesVirtualserialnumberDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudPvminstancesVirtualserialnumberDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber delete gone response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber delete gone response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber delete gone response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber delete gone response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber delete gone response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber delete gone response +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) Code() int { + return 410 +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteGone %s", 410, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteGone %s", 410, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberDeleteInternalServerError creates a PcloudPvminstancesVirtualserialnumberDeleteInternalServerError with default headers values +func NewPcloudPvminstancesVirtualserialnumberDeleteInternalServerError() *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError { + return &PcloudPvminstancesVirtualserialnumberDeleteInternalServerError{} +} + +/* +PcloudPvminstancesVirtualserialnumberDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVirtualserialnumberDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber delete internal server error response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber delete internal server error response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber delete internal server error response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber delete internal server error response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber delete internal server error response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber delete internal server error response +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_get_parameters.go new file mode 100644 index 000000000..adf61cdab --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVirtualserialnumberGetParams creates a new PcloudPvminstancesVirtualserialnumberGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVirtualserialnumberGetParams() *PcloudPvminstancesVirtualserialnumberGetParams { + return &PcloudPvminstancesVirtualserialnumberGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVirtualserialnumberGetParamsWithTimeout creates a new PcloudPvminstancesVirtualserialnumberGetParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVirtualserialnumberGetParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVirtualserialnumberGetParams { + return &PcloudPvminstancesVirtualserialnumberGetParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVirtualserialnumberGetParamsWithContext creates a new PcloudPvminstancesVirtualserialnumberGetParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVirtualserialnumberGetParamsWithContext(ctx context.Context) *PcloudPvminstancesVirtualserialnumberGetParams { + return &PcloudPvminstancesVirtualserialnumberGetParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVirtualserialnumberGetParamsWithHTTPClient creates a new PcloudPvminstancesVirtualserialnumberGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVirtualserialnumberGetParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVirtualserialnumberGetParams { + return &PcloudPvminstancesVirtualserialnumberGetParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVirtualserialnumberGetParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances virtualserialnumber get operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVirtualserialnumberGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances virtualserialnumber get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVirtualserialnumberGetParams) WithDefaults() *PcloudPvminstancesVirtualserialnumberGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances virtualserialnumber get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVirtualserialnumberGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVirtualserialnumberGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) WithContext(ctx context.Context) *PcloudPvminstancesVirtualserialnumberGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVirtualserialnumberGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVirtualserialnumberGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVirtualserialnumberGetParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances virtualserialnumber get params +func (o *PcloudPvminstancesVirtualserialnumberGetParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVirtualserialnumberGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_get_responses.go new file mode 100644 index 000000000..17429f8ea --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVirtualserialnumberGetReader is a Reader for the PcloudPvminstancesVirtualserialnumberGet structure. +type PcloudPvminstancesVirtualserialnumberGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVirtualserialnumberGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVirtualserialnumberGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVirtualserialnumberGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVirtualserialnumberGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVirtualserialnumberGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVirtualserialnumberGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVirtualserialnumberGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number] pcloud.pvminstances.virtualserialnumber.get", response, response.Code()) + } +} + +// NewPcloudPvminstancesVirtualserialnumberGetOK creates a PcloudPvminstancesVirtualserialnumberGetOK with default headers values +func NewPcloudPvminstancesVirtualserialnumberGetOK() *PcloudPvminstancesVirtualserialnumberGetOK { + return &PcloudPvminstancesVirtualserialnumberGetOK{} +} + +/* +PcloudPvminstancesVirtualserialnumberGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVirtualserialnumberGetOK struct { + Payload *models.VirtualSerialNumber +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber get o k response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber get o k response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber get o k response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber get o k response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber get o k response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber get o k response +func (o *PcloudPvminstancesVirtualserialnumberGetOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVirtualserialnumberGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetOK) GetPayload() *models.VirtualSerialNumber { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VirtualSerialNumber) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberGetBadRequest creates a PcloudPvminstancesVirtualserialnumberGetBadRequest with default headers values +func NewPcloudPvminstancesVirtualserialnumberGetBadRequest() *PcloudPvminstancesVirtualserialnumberGetBadRequest { + return &PcloudPvminstancesVirtualserialnumberGetBadRequest{} +} + +/* +PcloudPvminstancesVirtualserialnumberGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVirtualserialnumberGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber get bad request response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber get bad request response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber get bad request response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber get bad request response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber get bad request response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber get bad request response +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberGetUnauthorized creates a PcloudPvminstancesVirtualserialnumberGetUnauthorized with default headers values +func NewPcloudPvminstancesVirtualserialnumberGetUnauthorized() *PcloudPvminstancesVirtualserialnumberGetUnauthorized { + return &PcloudPvminstancesVirtualserialnumberGetUnauthorized{} +} + +/* +PcloudPvminstancesVirtualserialnumberGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVirtualserialnumberGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber get unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber get unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber get unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber get unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber get unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber get unauthorized response +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberGetForbidden creates a PcloudPvminstancesVirtualserialnumberGetForbidden with default headers values +func NewPcloudPvminstancesVirtualserialnumberGetForbidden() *PcloudPvminstancesVirtualserialnumberGetForbidden { + return &PcloudPvminstancesVirtualserialnumberGetForbidden{} +} + +/* +PcloudPvminstancesVirtualserialnumberGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVirtualserialnumberGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber get forbidden response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber get forbidden response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber get forbidden response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber get forbidden response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber get forbidden response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber get forbidden response +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberGetNotFound creates a PcloudPvminstancesVirtualserialnumberGetNotFound with default headers values +func NewPcloudPvminstancesVirtualserialnumberGetNotFound() *PcloudPvminstancesVirtualserialnumberGetNotFound { + return &PcloudPvminstancesVirtualserialnumberGetNotFound{} +} + +/* +PcloudPvminstancesVirtualserialnumberGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVirtualserialnumberGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber get not found response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber get not found response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber get not found response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber get not found response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber get not found response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber get not found response +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberGetInternalServerError creates a PcloudPvminstancesVirtualserialnumberGetInternalServerError with default headers values +func NewPcloudPvminstancesVirtualserialnumberGetInternalServerError() *PcloudPvminstancesVirtualserialnumberGetInternalServerError { + return &PcloudPvminstancesVirtualserialnumberGetInternalServerError{} +} + +/* +PcloudPvminstancesVirtualserialnumberGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVirtualserialnumberGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber get internal server error response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber get internal server error response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber get internal server error response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber get internal server error response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber get internal server error response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber get internal server error response +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_post_parameters.go new file mode 100644 index 000000000..b155d081f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesVirtualserialnumberPostParams creates a new PcloudPvminstancesVirtualserialnumberPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVirtualserialnumberPostParams() *PcloudPvminstancesVirtualserialnumberPostParams { + return &PcloudPvminstancesVirtualserialnumberPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVirtualserialnumberPostParamsWithTimeout creates a new PcloudPvminstancesVirtualserialnumberPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVirtualserialnumberPostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVirtualserialnumberPostParams { + return &PcloudPvminstancesVirtualserialnumberPostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVirtualserialnumberPostParamsWithContext creates a new PcloudPvminstancesVirtualserialnumberPostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVirtualserialnumberPostParamsWithContext(ctx context.Context) *PcloudPvminstancesVirtualserialnumberPostParams { + return &PcloudPvminstancesVirtualserialnumberPostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVirtualserialnumberPostParamsWithHTTPClient creates a new PcloudPvminstancesVirtualserialnumberPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVirtualserialnumberPostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVirtualserialnumberPostParams { + return &PcloudPvminstancesVirtualserialnumberPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVirtualserialnumberPostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances virtualserialnumber post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVirtualserialnumberPostParams struct { + + /* Body. + + Parameters to assign Virtual Serial Number to a PVM Instance + */ + Body *models.AddServerVirtualSerialNumber + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances virtualserialnumber post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVirtualserialnumberPostParams) WithDefaults() *PcloudPvminstancesVirtualserialnumberPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances virtualserialnumber post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVirtualserialnumberPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVirtualserialnumberPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) WithContext(ctx context.Context) *PcloudPvminstancesVirtualserialnumberPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVirtualserialnumberPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) WithBody(body *models.AddServerVirtualSerialNumber) *PcloudPvminstancesVirtualserialnumberPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) SetBody(body *models.AddServerVirtualSerialNumber) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVirtualserialnumberPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVirtualserialnumberPostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances virtualserialnumber post params +func (o *PcloudPvminstancesVirtualserialnumberPostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVirtualserialnumberPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_post_responses.go new file mode 100644 index 000000000..176cc0eb8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVirtualserialnumberPostReader is a Reader for the PcloudPvminstancesVirtualserialnumberPost structure. +type PcloudPvminstancesVirtualserialnumberPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVirtualserialnumberPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesVirtualserialnumberPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVirtualserialnumberPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVirtualserialnumberPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVirtualserialnumberPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVirtualserialnumberPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesVirtualserialnumberPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVirtualserialnumberPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewPcloudPvminstancesVirtualserialnumberPostGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number] pcloud.pvminstances.virtualserialnumber.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesVirtualserialnumberPostAccepted creates a PcloudPvminstancesVirtualserialnumberPostAccepted with default headers values +func NewPcloudPvminstancesVirtualserialnumberPostAccepted() *PcloudPvminstancesVirtualserialnumberPostAccepted { + return &PcloudPvminstancesVirtualserialnumberPostAccepted{} +} + +/* +PcloudPvminstancesVirtualserialnumberPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesVirtualserialnumberPostAccepted struct { + Payload *models.VirtualSerialNumber +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber post accepted response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber post accepted response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber post accepted response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber post accepted response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber post accepted response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber post accepted response +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) GetPayload() *models.VirtualSerialNumber { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VirtualSerialNumber) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPostBadRequest creates a PcloudPvminstancesVirtualserialnumberPostBadRequest with default headers values +func NewPcloudPvminstancesVirtualserialnumberPostBadRequest() *PcloudPvminstancesVirtualserialnumberPostBadRequest { + return &PcloudPvminstancesVirtualserialnumberPostBadRequest{} +} + +/* +PcloudPvminstancesVirtualserialnumberPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVirtualserialnumberPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber post bad request response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber post bad request response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber post bad request response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber post bad request response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber post bad request response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber post bad request response +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPostUnauthorized creates a PcloudPvminstancesVirtualserialnumberPostUnauthorized with default headers values +func NewPcloudPvminstancesVirtualserialnumberPostUnauthorized() *PcloudPvminstancesVirtualserialnumberPostUnauthorized { + return &PcloudPvminstancesVirtualserialnumberPostUnauthorized{} +} + +/* +PcloudPvminstancesVirtualserialnumberPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVirtualserialnumberPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber post unauthorized response +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPostForbidden creates a PcloudPvminstancesVirtualserialnumberPostForbidden with default headers values +func NewPcloudPvminstancesVirtualserialnumberPostForbidden() *PcloudPvminstancesVirtualserialnumberPostForbidden { + return &PcloudPvminstancesVirtualserialnumberPostForbidden{} +} + +/* +PcloudPvminstancesVirtualserialnumberPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVirtualserialnumberPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber post forbidden response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber post forbidden response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber post forbidden response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber post forbidden response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber post forbidden response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber post forbidden response +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPostNotFound creates a PcloudPvminstancesVirtualserialnumberPostNotFound with default headers values +func NewPcloudPvminstancesVirtualserialnumberPostNotFound() *PcloudPvminstancesVirtualserialnumberPostNotFound { + return &PcloudPvminstancesVirtualserialnumberPostNotFound{} +} + +/* +PcloudPvminstancesVirtualserialnumberPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVirtualserialnumberPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber post not found response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber post not found response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber post not found response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber post not found response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber post not found response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber post not found response +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPostConflict creates a PcloudPvminstancesVirtualserialnumberPostConflict with default headers values +func NewPcloudPvminstancesVirtualserialnumberPostConflict() *PcloudPvminstancesVirtualserialnumberPostConflict { + return &PcloudPvminstancesVirtualserialnumberPostConflict{} +} + +/* +PcloudPvminstancesVirtualserialnumberPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesVirtualserialnumberPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber post conflict response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber post conflict response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber post conflict response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber post conflict response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber post conflict response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber post conflict response +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPostInternalServerError creates a PcloudPvminstancesVirtualserialnumberPostInternalServerError with default headers values +func NewPcloudPvminstancesVirtualserialnumberPostInternalServerError() *PcloudPvminstancesVirtualserialnumberPostInternalServerError { + return &PcloudPvminstancesVirtualserialnumberPostInternalServerError{} +} + +/* +PcloudPvminstancesVirtualserialnumberPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVirtualserialnumberPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber post internal server error response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber post internal server error response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber post internal server error response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber post internal server error response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber post internal server error response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber post internal server error response +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPostGatewayTimeout creates a PcloudPvminstancesVirtualserialnumberPostGatewayTimeout with default headers values +func NewPcloudPvminstancesVirtualserialnumberPostGatewayTimeout() *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout { + return &PcloudPvminstancesVirtualserialnumberPostGatewayTimeout{} +} + +/* +PcloudPvminstancesVirtualserialnumberPostGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout +*/ +type PcloudPvminstancesVirtualserialnumberPostGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber post gateway timeout response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber post gateway timeout response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber post gateway timeout response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber post gateway timeout response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber post gateway timeout response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber post gateway timeout response +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) Code() int { + return 504 +} + +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPostGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_put_parameters.go new file mode 100644 index 000000000..f5efc13da --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesVirtualserialnumberPutParams creates a new PcloudPvminstancesVirtualserialnumberPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVirtualserialnumberPutParams() *PcloudPvminstancesVirtualserialnumberPutParams { + return &PcloudPvminstancesVirtualserialnumberPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVirtualserialnumberPutParamsWithTimeout creates a new PcloudPvminstancesVirtualserialnumberPutParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVirtualserialnumberPutParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVirtualserialnumberPutParams { + return &PcloudPvminstancesVirtualserialnumberPutParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVirtualserialnumberPutParamsWithContext creates a new PcloudPvminstancesVirtualserialnumberPutParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVirtualserialnumberPutParamsWithContext(ctx context.Context) *PcloudPvminstancesVirtualserialnumberPutParams { + return &PcloudPvminstancesVirtualserialnumberPutParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVirtualserialnumberPutParamsWithHTTPClient creates a new PcloudPvminstancesVirtualserialnumberPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVirtualserialnumberPutParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVirtualserialnumberPutParams { + return &PcloudPvminstancesVirtualserialnumberPutParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVirtualserialnumberPutParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances virtualserialnumber put operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVirtualserialnumberPutParams struct { + + /* Body. + + Parameters to update a Virtual Serial Number description + */ + Body *models.UpdateServerVirtualSerialNumber + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances virtualserialnumber put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVirtualserialnumberPutParams) WithDefaults() *PcloudPvminstancesVirtualserialnumberPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances virtualserialnumber put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVirtualserialnumberPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVirtualserialnumberPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) WithContext(ctx context.Context) *PcloudPvminstancesVirtualserialnumberPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVirtualserialnumberPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) WithBody(body *models.UpdateServerVirtualSerialNumber) *PcloudPvminstancesVirtualserialnumberPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) SetBody(body *models.UpdateServerVirtualSerialNumber) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVirtualserialnumberPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVirtualserialnumberPutParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances virtualserialnumber put params +func (o *PcloudPvminstancesVirtualserialnumberPutParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVirtualserialnumberPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_put_responses.go new file mode 100644 index 000000000..dc4d65b30 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_pvminstances_virtualserialnumber_put_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVirtualserialnumberPutReader is a Reader for the PcloudPvminstancesVirtualserialnumberPut structure. +type PcloudPvminstancesVirtualserialnumberPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVirtualserialnumberPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVirtualserialnumberPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewPcloudPvminstancesVirtualserialnumberPutAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVirtualserialnumberPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVirtualserialnumberPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVirtualserialnumberPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVirtualserialnumberPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudPvminstancesVirtualserialnumberPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVirtualserialnumberPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number] pcloud.pvminstances.virtualserialnumber.put", response, response.Code()) + } +} + +// NewPcloudPvminstancesVirtualserialnumberPutOK creates a PcloudPvminstancesVirtualserialnumberPutOK with default headers values +func NewPcloudPvminstancesVirtualserialnumberPutOK() *PcloudPvminstancesVirtualserialnumberPutOK { + return &PcloudPvminstancesVirtualserialnumberPutOK{} +} + +/* +PcloudPvminstancesVirtualserialnumberPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVirtualserialnumberPutOK struct { + Payload *models.VirtualSerialNumber +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber put o k response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber put o k response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber put o k response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber put o k response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber put o k response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber put o k response +func (o *PcloudPvminstancesVirtualserialnumberPutOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVirtualserialnumberPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutOK) GetPayload() *models.VirtualSerialNumber { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VirtualSerialNumber) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPutAccepted creates a PcloudPvminstancesVirtualserialnumberPutAccepted with default headers values +func NewPcloudPvminstancesVirtualserialnumberPutAccepted() *PcloudPvminstancesVirtualserialnumberPutAccepted { + return &PcloudPvminstancesVirtualserialnumberPutAccepted{} +} + +/* +PcloudPvminstancesVirtualserialnumberPutAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesVirtualserialnumberPutAccepted struct { + Payload *models.VirtualSerialNumber +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber put accepted response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber put accepted response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber put accepted response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber put accepted response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber put accepted response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber put accepted response +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) GetPayload() *models.VirtualSerialNumber { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPutAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VirtualSerialNumber) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPutBadRequest creates a PcloudPvminstancesVirtualserialnumberPutBadRequest with default headers values +func NewPcloudPvminstancesVirtualserialnumberPutBadRequest() *PcloudPvminstancesVirtualserialnumberPutBadRequest { + return &PcloudPvminstancesVirtualserialnumberPutBadRequest{} +} + +/* +PcloudPvminstancesVirtualserialnumberPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVirtualserialnumberPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber put bad request response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber put bad request response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber put bad request response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber put bad request response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber put bad request response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber put bad request response +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPutUnauthorized creates a PcloudPvminstancesVirtualserialnumberPutUnauthorized with default headers values +func NewPcloudPvminstancesVirtualserialnumberPutUnauthorized() *PcloudPvminstancesVirtualserialnumberPutUnauthorized { + return &PcloudPvminstancesVirtualserialnumberPutUnauthorized{} +} + +/* +PcloudPvminstancesVirtualserialnumberPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVirtualserialnumberPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber put unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber put unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber put unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber put unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber put unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber put unauthorized response +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPutForbidden creates a PcloudPvminstancesVirtualserialnumberPutForbidden with default headers values +func NewPcloudPvminstancesVirtualserialnumberPutForbidden() *PcloudPvminstancesVirtualserialnumberPutForbidden { + return &PcloudPvminstancesVirtualserialnumberPutForbidden{} +} + +/* +PcloudPvminstancesVirtualserialnumberPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVirtualserialnumberPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber put forbidden response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber put forbidden response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber put forbidden response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber put forbidden response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber put forbidden response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber put forbidden response +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPutNotFound creates a PcloudPvminstancesVirtualserialnumberPutNotFound with default headers values +func NewPcloudPvminstancesVirtualserialnumberPutNotFound() *PcloudPvminstancesVirtualserialnumberPutNotFound { + return &PcloudPvminstancesVirtualserialnumberPutNotFound{} +} + +/* +PcloudPvminstancesVirtualserialnumberPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVirtualserialnumberPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber put not found response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber put not found response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber put not found response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber put not found response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber put not found response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber put not found response +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPutUnprocessableEntity creates a PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity with default headers values +func NewPcloudPvminstancesVirtualserialnumberPutUnprocessableEntity() *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity { + return &PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity{} +} + +/* +PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber put unprocessable entity response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber put unprocessable entity response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber put unprocessable entity response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber put unprocessable entity response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber put unprocessable entity response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber put unprocessable entity response +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVirtualserialnumberPutInternalServerError creates a PcloudPvminstancesVirtualserialnumberPutInternalServerError with default headers values +func NewPcloudPvminstancesVirtualserialnumberPutInternalServerError() *PcloudPvminstancesVirtualserialnumberPutInternalServerError { + return &PcloudPvminstancesVirtualserialnumberPutInternalServerError{} +} + +/* +PcloudPvminstancesVirtualserialnumberPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVirtualserialnumberPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances virtualserialnumber put internal server error response has a 2xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances virtualserialnumber put internal server error response has a 3xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances virtualserialnumber put internal server error response has a 4xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances virtualserialnumber put internal server error response has a 5xx status code +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances virtualserialnumber put internal server error response a status code equal to that given +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances virtualserialnumber put internal server error response +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/virtual-serial-number][%d] pcloudPvminstancesVirtualserialnumberPutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVirtualserialnumberPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_delete_parameters.go new file mode 100644 index 000000000..ae2e40f9e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVirtualserialnumberDeleteParams creates a new PcloudVirtualserialnumberDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVirtualserialnumberDeleteParams() *PcloudVirtualserialnumberDeleteParams { + return &PcloudVirtualserialnumberDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVirtualserialnumberDeleteParamsWithTimeout creates a new PcloudVirtualserialnumberDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudVirtualserialnumberDeleteParamsWithTimeout(timeout time.Duration) *PcloudVirtualserialnumberDeleteParams { + return &PcloudVirtualserialnumberDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudVirtualserialnumberDeleteParamsWithContext creates a new PcloudVirtualserialnumberDeleteParams object +// with the ability to set a context for a request. +func NewPcloudVirtualserialnumberDeleteParamsWithContext(ctx context.Context) *PcloudVirtualserialnumberDeleteParams { + return &PcloudVirtualserialnumberDeleteParams{ + Context: ctx, + } +} + +// NewPcloudVirtualserialnumberDeleteParamsWithHTTPClient creates a new PcloudVirtualserialnumberDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVirtualserialnumberDeleteParamsWithHTTPClient(client *http.Client) *PcloudVirtualserialnumberDeleteParams { + return &PcloudVirtualserialnumberDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudVirtualserialnumberDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud virtualserialnumber delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudVirtualserialnumberDeleteParams struct { + + /* VirtualSerialNumber. + + Virtual Serial Number + */ + VirtualSerialNumber string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud virtualserialnumber delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberDeleteParams) WithDefaults() *PcloudVirtualserialnumberDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud virtualserialnumber delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud virtualserialnumber delete params +func (o *PcloudVirtualserialnumberDeleteParams) WithTimeout(timeout time.Duration) *PcloudVirtualserialnumberDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud virtualserialnumber delete params +func (o *PcloudVirtualserialnumberDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud virtualserialnumber delete params +func (o *PcloudVirtualserialnumberDeleteParams) WithContext(ctx context.Context) *PcloudVirtualserialnumberDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud virtualserialnumber delete params +func (o *PcloudVirtualserialnumberDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud virtualserialnumber delete params +func (o *PcloudVirtualserialnumberDeleteParams) WithHTTPClient(client *http.Client) *PcloudVirtualserialnumberDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud virtualserialnumber delete params +func (o *PcloudVirtualserialnumberDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithVirtualSerialNumber adds the virtualSerialNumber to the pcloud virtualserialnumber delete params +func (o *PcloudVirtualserialnumberDeleteParams) WithVirtualSerialNumber(virtualSerialNumber string) *PcloudVirtualserialnumberDeleteParams { + o.SetVirtualSerialNumber(virtualSerialNumber) + return o +} + +// SetVirtualSerialNumber adds the virtualSerialNumber to the pcloud virtualserialnumber delete params +func (o *PcloudVirtualserialnumberDeleteParams) SetVirtualSerialNumber(virtualSerialNumber string) { + o.VirtualSerialNumber = virtualSerialNumber +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVirtualserialnumberDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param virtual_serial_number + if err := r.SetPathParam("virtual_serial_number", o.VirtualSerialNumber); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_delete_responses.go new file mode 100644 index 000000000..40b3c1945 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVirtualserialnumberDeleteReader is a Reader for the PcloudVirtualserialnumberDelete structure. +type PcloudVirtualserialnumberDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVirtualserialnumberDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVirtualserialnumberDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVirtualserialnumberDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVirtualserialnumberDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVirtualserialnumberDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVirtualserialnumberDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudVirtualserialnumberDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVirtualserialnumberDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/virtual-serial-number/{virtual_serial_number}] pcloud.virtualserialnumber.delete", response, response.Code()) + } +} + +// NewPcloudVirtualserialnumberDeleteOK creates a PcloudVirtualserialnumberDeleteOK with default headers values +func NewPcloudVirtualserialnumberDeleteOK() *PcloudVirtualserialnumberDeleteOK { + return &PcloudVirtualserialnumberDeleteOK{} +} + +/* +PcloudVirtualserialnumberDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVirtualserialnumberDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud virtualserialnumber delete o k response has a 2xx status code +func (o *PcloudVirtualserialnumberDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud virtualserialnumber delete o k response has a 3xx status code +func (o *PcloudVirtualserialnumberDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber delete o k response has a 4xx status code +func (o *PcloudVirtualserialnumberDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber delete o k response has a 5xx status code +func (o *PcloudVirtualserialnumberDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber delete o k response a status code equal to that given +func (o *PcloudVirtualserialnumberDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud virtualserialnumber delete o k response +func (o *PcloudVirtualserialnumberDeleteOK) Code() int { + return 200 +} + +func (o *PcloudVirtualserialnumberDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudVirtualserialnumberDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberDeleteBadRequest creates a PcloudVirtualserialnumberDeleteBadRequest with default headers values +func NewPcloudVirtualserialnumberDeleteBadRequest() *PcloudVirtualserialnumberDeleteBadRequest { + return &PcloudVirtualserialnumberDeleteBadRequest{} +} + +/* +PcloudVirtualserialnumberDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVirtualserialnumberDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber delete bad request response has a 2xx status code +func (o *PcloudVirtualserialnumberDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber delete bad request response has a 3xx status code +func (o *PcloudVirtualserialnumberDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber delete bad request response has a 4xx status code +func (o *PcloudVirtualserialnumberDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber delete bad request response has a 5xx status code +func (o *PcloudVirtualserialnumberDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber delete bad request response a status code equal to that given +func (o *PcloudVirtualserialnumberDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud virtualserialnumber delete bad request response +func (o *PcloudVirtualserialnumberDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudVirtualserialnumberDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberDeleteUnauthorized creates a PcloudVirtualserialnumberDeleteUnauthorized with default headers values +func NewPcloudVirtualserialnumberDeleteUnauthorized() *PcloudVirtualserialnumberDeleteUnauthorized { + return &PcloudVirtualserialnumberDeleteUnauthorized{} +} + +/* +PcloudVirtualserialnumberDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVirtualserialnumberDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber delete unauthorized response has a 2xx status code +func (o *PcloudVirtualserialnumberDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber delete unauthorized response has a 3xx status code +func (o *PcloudVirtualserialnumberDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber delete unauthorized response has a 4xx status code +func (o *PcloudVirtualserialnumberDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber delete unauthorized response has a 5xx status code +func (o *PcloudVirtualserialnumberDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber delete unauthorized response a status code equal to that given +func (o *PcloudVirtualserialnumberDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud virtualserialnumber delete unauthorized response +func (o *PcloudVirtualserialnumberDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVirtualserialnumberDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberDeleteForbidden creates a PcloudVirtualserialnumberDeleteForbidden with default headers values +func NewPcloudVirtualserialnumberDeleteForbidden() *PcloudVirtualserialnumberDeleteForbidden { + return &PcloudVirtualserialnumberDeleteForbidden{} +} + +/* +PcloudVirtualserialnumberDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVirtualserialnumberDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber delete forbidden response has a 2xx status code +func (o *PcloudVirtualserialnumberDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber delete forbidden response has a 3xx status code +func (o *PcloudVirtualserialnumberDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber delete forbidden response has a 4xx status code +func (o *PcloudVirtualserialnumberDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber delete forbidden response has a 5xx status code +func (o *PcloudVirtualserialnumberDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber delete forbidden response a status code equal to that given +func (o *PcloudVirtualserialnumberDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud virtualserialnumber delete forbidden response +func (o *PcloudVirtualserialnumberDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudVirtualserialnumberDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberDeleteNotFound creates a PcloudVirtualserialnumberDeleteNotFound with default headers values +func NewPcloudVirtualserialnumberDeleteNotFound() *PcloudVirtualserialnumberDeleteNotFound { + return &PcloudVirtualserialnumberDeleteNotFound{} +} + +/* +PcloudVirtualserialnumberDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVirtualserialnumberDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber delete not found response has a 2xx status code +func (o *PcloudVirtualserialnumberDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber delete not found response has a 3xx status code +func (o *PcloudVirtualserialnumberDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber delete not found response has a 4xx status code +func (o *PcloudVirtualserialnumberDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber delete not found response has a 5xx status code +func (o *PcloudVirtualserialnumberDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber delete not found response a status code equal to that given +func (o *PcloudVirtualserialnumberDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud virtualserialnumber delete not found response +func (o *PcloudVirtualserialnumberDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudVirtualserialnumberDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVirtualserialnumberDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVirtualserialnumberDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberDeleteGone creates a PcloudVirtualserialnumberDeleteGone with default headers values +func NewPcloudVirtualserialnumberDeleteGone() *PcloudVirtualserialnumberDeleteGone { + return &PcloudVirtualserialnumberDeleteGone{} +} + +/* +PcloudVirtualserialnumberDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudVirtualserialnumberDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber delete gone response has a 2xx status code +func (o *PcloudVirtualserialnumberDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber delete gone response has a 3xx status code +func (o *PcloudVirtualserialnumberDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber delete gone response has a 4xx status code +func (o *PcloudVirtualserialnumberDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber delete gone response has a 5xx status code +func (o *PcloudVirtualserialnumberDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber delete gone response a status code equal to that given +func (o *PcloudVirtualserialnumberDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud virtualserialnumber delete gone response +func (o *PcloudVirtualserialnumberDeleteGone) Code() int { + return 410 +} + +func (o *PcloudVirtualserialnumberDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteGone %s", 410, payload) +} + +func (o *PcloudVirtualserialnumberDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteGone %s", 410, payload) +} + +func (o *PcloudVirtualserialnumberDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberDeleteInternalServerError creates a PcloudVirtualserialnumberDeleteInternalServerError with default headers values +func NewPcloudVirtualserialnumberDeleteInternalServerError() *PcloudVirtualserialnumberDeleteInternalServerError { + return &PcloudVirtualserialnumberDeleteInternalServerError{} +} + +/* +PcloudVirtualserialnumberDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVirtualserialnumberDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber delete internal server error response has a 2xx status code +func (o *PcloudVirtualserialnumberDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber delete internal server error response has a 3xx status code +func (o *PcloudVirtualserialnumberDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber delete internal server error response has a 4xx status code +func (o *PcloudVirtualserialnumberDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber delete internal server error response has a 5xx status code +func (o *PcloudVirtualserialnumberDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud virtualserialnumber delete internal server error response a status code equal to that given +func (o *PcloudVirtualserialnumberDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud virtualserialnumber delete internal server error response +func (o *PcloudVirtualserialnumberDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVirtualserialnumberDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_get_parameters.go new file mode 100644 index 000000000..61743a76b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVirtualserialnumberGetParams creates a new PcloudVirtualserialnumberGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVirtualserialnumberGetParams() *PcloudVirtualserialnumberGetParams { + return &PcloudVirtualserialnumberGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVirtualserialnumberGetParamsWithTimeout creates a new PcloudVirtualserialnumberGetParams object +// with the ability to set a timeout on a request. +func NewPcloudVirtualserialnumberGetParamsWithTimeout(timeout time.Duration) *PcloudVirtualserialnumberGetParams { + return &PcloudVirtualserialnumberGetParams{ + timeout: timeout, + } +} + +// NewPcloudVirtualserialnumberGetParamsWithContext creates a new PcloudVirtualserialnumberGetParams object +// with the ability to set a context for a request. +func NewPcloudVirtualserialnumberGetParamsWithContext(ctx context.Context) *PcloudVirtualserialnumberGetParams { + return &PcloudVirtualserialnumberGetParams{ + Context: ctx, + } +} + +// NewPcloudVirtualserialnumberGetParamsWithHTTPClient creates a new PcloudVirtualserialnumberGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVirtualserialnumberGetParamsWithHTTPClient(client *http.Client) *PcloudVirtualserialnumberGetParams { + return &PcloudVirtualserialnumberGetParams{ + HTTPClient: client, + } +} + +/* +PcloudVirtualserialnumberGetParams contains all the parameters to send to the API endpoint + + for the pcloud virtualserialnumber get operation. + + Typically these are written to a http.Request. +*/ +type PcloudVirtualserialnumberGetParams struct { + + /* VirtualSerialNumber. + + Virtual Serial Number + */ + VirtualSerialNumber string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud virtualserialnumber get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberGetParams) WithDefaults() *PcloudVirtualserialnumberGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud virtualserialnumber get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud virtualserialnumber get params +func (o *PcloudVirtualserialnumberGetParams) WithTimeout(timeout time.Duration) *PcloudVirtualserialnumberGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud virtualserialnumber get params +func (o *PcloudVirtualserialnumberGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud virtualserialnumber get params +func (o *PcloudVirtualserialnumberGetParams) WithContext(ctx context.Context) *PcloudVirtualserialnumberGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud virtualserialnumber get params +func (o *PcloudVirtualserialnumberGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud virtualserialnumber get params +func (o *PcloudVirtualserialnumberGetParams) WithHTTPClient(client *http.Client) *PcloudVirtualserialnumberGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud virtualserialnumber get params +func (o *PcloudVirtualserialnumberGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithVirtualSerialNumber adds the virtualSerialNumber to the pcloud virtualserialnumber get params +func (o *PcloudVirtualserialnumberGetParams) WithVirtualSerialNumber(virtualSerialNumber string) *PcloudVirtualserialnumberGetParams { + o.SetVirtualSerialNumber(virtualSerialNumber) + return o +} + +// SetVirtualSerialNumber adds the virtualSerialNumber to the pcloud virtualserialnumber get params +func (o *PcloudVirtualserialnumberGetParams) SetVirtualSerialNumber(virtualSerialNumber string) { + o.VirtualSerialNumber = virtualSerialNumber +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVirtualserialnumberGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param virtual_serial_number + if err := r.SetPathParam("virtual_serial_number", o.VirtualSerialNumber); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_get_responses.go new file mode 100644 index 000000000..73d219bfc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVirtualserialnumberGetReader is a Reader for the PcloudVirtualserialnumberGet structure. +type PcloudVirtualserialnumberGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVirtualserialnumberGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVirtualserialnumberGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVirtualserialnumberGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVirtualserialnumberGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVirtualserialnumberGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVirtualserialnumberGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVirtualserialnumberGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/virtual-serial-number/{virtual_serial_number}] pcloud.virtualserialnumber.get", response, response.Code()) + } +} + +// NewPcloudVirtualserialnumberGetOK creates a PcloudVirtualserialnumberGetOK with default headers values +func NewPcloudVirtualserialnumberGetOK() *PcloudVirtualserialnumberGetOK { + return &PcloudVirtualserialnumberGetOK{} +} + +/* +PcloudVirtualserialnumberGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVirtualserialnumberGetOK struct { + Payload *models.VirtualSerialNumber +} + +// IsSuccess returns true when this pcloud virtualserialnumber get o k response has a 2xx status code +func (o *PcloudVirtualserialnumberGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud virtualserialnumber get o k response has a 3xx status code +func (o *PcloudVirtualserialnumberGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber get o k response has a 4xx status code +func (o *PcloudVirtualserialnumberGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber get o k response has a 5xx status code +func (o *PcloudVirtualserialnumberGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber get o k response a status code equal to that given +func (o *PcloudVirtualserialnumberGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud virtualserialnumber get o k response +func (o *PcloudVirtualserialnumberGetOK) Code() int { + return 200 +} + +func (o *PcloudVirtualserialnumberGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberGetOK) GetPayload() *models.VirtualSerialNumber { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VirtualSerialNumber) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetBadRequest creates a PcloudVirtualserialnumberGetBadRequest with default headers values +func NewPcloudVirtualserialnumberGetBadRequest() *PcloudVirtualserialnumberGetBadRequest { + return &PcloudVirtualserialnumberGetBadRequest{} +} + +/* +PcloudVirtualserialnumberGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVirtualserialnumberGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber get bad request response has a 2xx status code +func (o *PcloudVirtualserialnumberGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber get bad request response has a 3xx status code +func (o *PcloudVirtualserialnumberGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber get bad request response has a 4xx status code +func (o *PcloudVirtualserialnumberGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber get bad request response has a 5xx status code +func (o *PcloudVirtualserialnumberGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber get bad request response a status code equal to that given +func (o *PcloudVirtualserialnumberGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud virtualserialnumber get bad request response +func (o *PcloudVirtualserialnumberGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudVirtualserialnumberGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetUnauthorized creates a PcloudVirtualserialnumberGetUnauthorized with default headers values +func NewPcloudVirtualserialnumberGetUnauthorized() *PcloudVirtualserialnumberGetUnauthorized { + return &PcloudVirtualserialnumberGetUnauthorized{} +} + +/* +PcloudVirtualserialnumberGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVirtualserialnumberGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber get unauthorized response has a 2xx status code +func (o *PcloudVirtualserialnumberGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber get unauthorized response has a 3xx status code +func (o *PcloudVirtualserialnumberGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber get unauthorized response has a 4xx status code +func (o *PcloudVirtualserialnumberGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber get unauthorized response has a 5xx status code +func (o *PcloudVirtualserialnumberGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber get unauthorized response a status code equal to that given +func (o *PcloudVirtualserialnumberGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud virtualserialnumber get unauthorized response +func (o *PcloudVirtualserialnumberGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVirtualserialnumberGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetForbidden creates a PcloudVirtualserialnumberGetForbidden with default headers values +func NewPcloudVirtualserialnumberGetForbidden() *PcloudVirtualserialnumberGetForbidden { + return &PcloudVirtualserialnumberGetForbidden{} +} + +/* +PcloudVirtualserialnumberGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVirtualserialnumberGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber get forbidden response has a 2xx status code +func (o *PcloudVirtualserialnumberGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber get forbidden response has a 3xx status code +func (o *PcloudVirtualserialnumberGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber get forbidden response has a 4xx status code +func (o *PcloudVirtualserialnumberGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber get forbidden response has a 5xx status code +func (o *PcloudVirtualserialnumberGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber get forbidden response a status code equal to that given +func (o *PcloudVirtualserialnumberGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud virtualserialnumber get forbidden response +func (o *PcloudVirtualserialnumberGetForbidden) Code() int { + return 403 +} + +func (o *PcloudVirtualserialnumberGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetNotFound creates a PcloudVirtualserialnumberGetNotFound with default headers values +func NewPcloudVirtualserialnumberGetNotFound() *PcloudVirtualserialnumberGetNotFound { + return &PcloudVirtualserialnumberGetNotFound{} +} + +/* +PcloudVirtualserialnumberGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVirtualserialnumberGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber get not found response has a 2xx status code +func (o *PcloudVirtualserialnumberGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber get not found response has a 3xx status code +func (o *PcloudVirtualserialnumberGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber get not found response has a 4xx status code +func (o *PcloudVirtualserialnumberGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber get not found response has a 5xx status code +func (o *PcloudVirtualserialnumberGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber get not found response a status code equal to that given +func (o *PcloudVirtualserialnumberGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud virtualserialnumber get not found response +func (o *PcloudVirtualserialnumberGetNotFound) Code() int { + return 404 +} + +func (o *PcloudVirtualserialnumberGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetNotFound %s", 404, payload) +} + +func (o *PcloudVirtualserialnumberGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetNotFound %s", 404, payload) +} + +func (o *PcloudVirtualserialnumberGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetInternalServerError creates a PcloudVirtualserialnumberGetInternalServerError with default headers values +func NewPcloudVirtualserialnumberGetInternalServerError() *PcloudVirtualserialnumberGetInternalServerError { + return &PcloudVirtualserialnumberGetInternalServerError{} +} + +/* +PcloudVirtualserialnumberGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVirtualserialnumberGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber get internal server error response has a 2xx status code +func (o *PcloudVirtualserialnumberGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber get internal server error response has a 3xx status code +func (o *PcloudVirtualserialnumberGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber get internal server error response has a 4xx status code +func (o *PcloudVirtualserialnumberGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber get internal server error response has a 5xx status code +func (o *PcloudVirtualserialnumberGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud virtualserialnumber get internal server error response a status code equal to that given +func (o *PcloudVirtualserialnumberGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud virtualserialnumber get internal server error response +func (o *PcloudVirtualserialnumberGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVirtualserialnumberGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_getall_parameters.go new file mode 100644 index 000000000..72e191ada --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_getall_parameters.go @@ -0,0 +1,163 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVirtualserialnumberGetallParams creates a new PcloudVirtualserialnumberGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVirtualserialnumberGetallParams() *PcloudVirtualserialnumberGetallParams { + return &PcloudVirtualserialnumberGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVirtualserialnumberGetallParamsWithTimeout creates a new PcloudVirtualserialnumberGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudVirtualserialnumberGetallParamsWithTimeout(timeout time.Duration) *PcloudVirtualserialnumberGetallParams { + return &PcloudVirtualserialnumberGetallParams{ + timeout: timeout, + } +} + +// NewPcloudVirtualserialnumberGetallParamsWithContext creates a new PcloudVirtualserialnumberGetallParams object +// with the ability to set a context for a request. +func NewPcloudVirtualserialnumberGetallParamsWithContext(ctx context.Context) *PcloudVirtualserialnumberGetallParams { + return &PcloudVirtualserialnumberGetallParams{ + Context: ctx, + } +} + +// NewPcloudVirtualserialnumberGetallParamsWithHTTPClient creates a new PcloudVirtualserialnumberGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVirtualserialnumberGetallParamsWithHTTPClient(client *http.Client) *PcloudVirtualserialnumberGetallParams { + return &PcloudVirtualserialnumberGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudVirtualserialnumberGetallParams contains all the parameters to send to the API endpoint + + for the pcloud virtualserialnumber getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudVirtualserialnumberGetallParams struct { + + /* PvmInstanceID. + + PVM Instance ID + */ + PvmInstanceID *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud virtualserialnumber getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberGetallParams) WithDefaults() *PcloudVirtualserialnumberGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud virtualserialnumber getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud virtualserialnumber getall params +func (o *PcloudVirtualserialnumberGetallParams) WithTimeout(timeout time.Duration) *PcloudVirtualserialnumberGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud virtualserialnumber getall params +func (o *PcloudVirtualserialnumberGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud virtualserialnumber getall params +func (o *PcloudVirtualserialnumberGetallParams) WithContext(ctx context.Context) *PcloudVirtualserialnumberGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud virtualserialnumber getall params +func (o *PcloudVirtualserialnumberGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud virtualserialnumber getall params +func (o *PcloudVirtualserialnumberGetallParams) WithHTTPClient(client *http.Client) *PcloudVirtualserialnumberGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud virtualserialnumber getall params +func (o *PcloudVirtualserialnumberGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud virtualserialnumber getall params +func (o *PcloudVirtualserialnumberGetallParams) WithPvmInstanceID(pvmInstanceID *string) *PcloudVirtualserialnumberGetallParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud virtualserialnumber getall params +func (o *PcloudVirtualserialnumberGetallParams) SetPvmInstanceID(pvmInstanceID *string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVirtualserialnumberGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.PvmInstanceID != nil { + + // query param pvmInstanceID + var qrPvmInstanceID string + + if o.PvmInstanceID != nil { + qrPvmInstanceID = *o.PvmInstanceID + } + qPvmInstanceID := qrPvmInstanceID + if qPvmInstanceID != "" { + + if err := r.SetQueryParam("pvmInstanceID", qPvmInstanceID); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_getall_responses.go new file mode 100644 index 000000000..1f340956a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_getall_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVirtualserialnumberGetallReader is a Reader for the PcloudVirtualserialnumberGetall structure. +type PcloudVirtualserialnumberGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVirtualserialnumberGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVirtualserialnumberGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVirtualserialnumberGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVirtualserialnumberGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVirtualserialnumberGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVirtualserialnumberGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVirtualserialnumberGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/virtual-serial-number] pcloud.virtualserialnumber.getall", response, response.Code()) + } +} + +// NewPcloudVirtualserialnumberGetallOK creates a PcloudVirtualserialnumberGetallOK with default headers values +func NewPcloudVirtualserialnumberGetallOK() *PcloudVirtualserialnumberGetallOK { + return &PcloudVirtualserialnumberGetallOK{} +} + +/* +PcloudVirtualserialnumberGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVirtualserialnumberGetallOK struct { + Payload models.VirtualSerialNumberList +} + +// IsSuccess returns true when this pcloud virtualserialnumber getall o k response has a 2xx status code +func (o *PcloudVirtualserialnumberGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud virtualserialnumber getall o k response has a 3xx status code +func (o *PcloudVirtualserialnumberGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber getall o k response has a 4xx status code +func (o *PcloudVirtualserialnumberGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber getall o k response has a 5xx status code +func (o *PcloudVirtualserialnumberGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber getall o k response a status code equal to that given +func (o *PcloudVirtualserialnumberGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud virtualserialnumber getall o k response +func (o *PcloudVirtualserialnumberGetallOK) Code() int { + return 200 +} + +func (o *PcloudVirtualserialnumberGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberGetallOK) GetPayload() models.VirtualSerialNumberList { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetallBadRequest creates a PcloudVirtualserialnumberGetallBadRequest with default headers values +func NewPcloudVirtualserialnumberGetallBadRequest() *PcloudVirtualserialnumberGetallBadRequest { + return &PcloudVirtualserialnumberGetallBadRequest{} +} + +/* +PcloudVirtualserialnumberGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVirtualserialnumberGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber getall bad request response has a 2xx status code +func (o *PcloudVirtualserialnumberGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber getall bad request response has a 3xx status code +func (o *PcloudVirtualserialnumberGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber getall bad request response has a 4xx status code +func (o *PcloudVirtualserialnumberGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber getall bad request response has a 5xx status code +func (o *PcloudVirtualserialnumberGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber getall bad request response a status code equal to that given +func (o *PcloudVirtualserialnumberGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud virtualserialnumber getall bad request response +func (o *PcloudVirtualserialnumberGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudVirtualserialnumberGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetallUnauthorized creates a PcloudVirtualserialnumberGetallUnauthorized with default headers values +func NewPcloudVirtualserialnumberGetallUnauthorized() *PcloudVirtualserialnumberGetallUnauthorized { + return &PcloudVirtualserialnumberGetallUnauthorized{} +} + +/* +PcloudVirtualserialnumberGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVirtualserialnumberGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber getall unauthorized response has a 2xx status code +func (o *PcloudVirtualserialnumberGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber getall unauthorized response has a 3xx status code +func (o *PcloudVirtualserialnumberGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber getall unauthorized response has a 4xx status code +func (o *PcloudVirtualserialnumberGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber getall unauthorized response has a 5xx status code +func (o *PcloudVirtualserialnumberGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber getall unauthorized response a status code equal to that given +func (o *PcloudVirtualserialnumberGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud virtualserialnumber getall unauthorized response +func (o *PcloudVirtualserialnumberGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVirtualserialnumberGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetallForbidden creates a PcloudVirtualserialnumberGetallForbidden with default headers values +func NewPcloudVirtualserialnumberGetallForbidden() *PcloudVirtualserialnumberGetallForbidden { + return &PcloudVirtualserialnumberGetallForbidden{} +} + +/* +PcloudVirtualserialnumberGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVirtualserialnumberGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber getall forbidden response has a 2xx status code +func (o *PcloudVirtualserialnumberGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber getall forbidden response has a 3xx status code +func (o *PcloudVirtualserialnumberGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber getall forbidden response has a 4xx status code +func (o *PcloudVirtualserialnumberGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber getall forbidden response has a 5xx status code +func (o *PcloudVirtualserialnumberGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber getall forbidden response a status code equal to that given +func (o *PcloudVirtualserialnumberGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud virtualserialnumber getall forbidden response +func (o *PcloudVirtualserialnumberGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudVirtualserialnumberGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetallNotFound creates a PcloudVirtualserialnumberGetallNotFound with default headers values +func NewPcloudVirtualserialnumberGetallNotFound() *PcloudVirtualserialnumberGetallNotFound { + return &PcloudVirtualserialnumberGetallNotFound{} +} + +/* +PcloudVirtualserialnumberGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVirtualserialnumberGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber getall not found response has a 2xx status code +func (o *PcloudVirtualserialnumberGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber getall not found response has a 3xx status code +func (o *PcloudVirtualserialnumberGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber getall not found response has a 4xx status code +func (o *PcloudVirtualserialnumberGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber getall not found response has a 5xx status code +func (o *PcloudVirtualserialnumberGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber getall not found response a status code equal to that given +func (o *PcloudVirtualserialnumberGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud virtualserialnumber getall not found response +func (o *PcloudVirtualserialnumberGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudVirtualserialnumberGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallNotFound %s", 404, payload) +} + +func (o *PcloudVirtualserialnumberGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallNotFound %s", 404, payload) +} + +func (o *PcloudVirtualserialnumberGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberGetallInternalServerError creates a PcloudVirtualserialnumberGetallInternalServerError with default headers values +func NewPcloudVirtualserialnumberGetallInternalServerError() *PcloudVirtualserialnumberGetallInternalServerError { + return &PcloudVirtualserialnumberGetallInternalServerError{} +} + +/* +PcloudVirtualserialnumberGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVirtualserialnumberGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber getall internal server error response has a 2xx status code +func (o *PcloudVirtualserialnumberGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber getall internal server error response has a 3xx status code +func (o *PcloudVirtualserialnumberGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber getall internal server error response has a 4xx status code +func (o *PcloudVirtualserialnumberGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber getall internal server error response has a 5xx status code +func (o *PcloudVirtualserialnumberGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud virtualserialnumber getall internal server error response a status code equal to that given +func (o *PcloudVirtualserialnumberGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud virtualserialnumber getall internal server error response +func (o *PcloudVirtualserialnumberGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVirtualserialnumberGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number][%d] pcloudVirtualserialnumberGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_put_parameters.go new file mode 100644 index 000000000..0597c0ba5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVirtualserialnumberPutParams creates a new PcloudVirtualserialnumberPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVirtualserialnumberPutParams() *PcloudVirtualserialnumberPutParams { + return &PcloudVirtualserialnumberPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVirtualserialnumberPutParamsWithTimeout creates a new PcloudVirtualserialnumberPutParams object +// with the ability to set a timeout on a request. +func NewPcloudVirtualserialnumberPutParamsWithTimeout(timeout time.Duration) *PcloudVirtualserialnumberPutParams { + return &PcloudVirtualserialnumberPutParams{ + timeout: timeout, + } +} + +// NewPcloudVirtualserialnumberPutParamsWithContext creates a new PcloudVirtualserialnumberPutParams object +// with the ability to set a context for a request. +func NewPcloudVirtualserialnumberPutParamsWithContext(ctx context.Context) *PcloudVirtualserialnumberPutParams { + return &PcloudVirtualserialnumberPutParams{ + Context: ctx, + } +} + +// NewPcloudVirtualserialnumberPutParamsWithHTTPClient creates a new PcloudVirtualserialnumberPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVirtualserialnumberPutParamsWithHTTPClient(client *http.Client) *PcloudVirtualserialnumberPutParams { + return &PcloudVirtualserialnumberPutParams{ + HTTPClient: client, + } +} + +/* +PcloudVirtualserialnumberPutParams contains all the parameters to send to the API endpoint + + for the pcloud virtualserialnumber put operation. + + Typically these are written to a http.Request. +*/ +type PcloudVirtualserialnumberPutParams struct { + + /* Body. + + Parameters to edit description of a reserved Virtual Serial Number + */ + Body *models.UpdateVirtualSerialNumber + + /* VirtualSerialNumber. + + Virtual Serial Number + */ + VirtualSerialNumber string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud virtualserialnumber put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberPutParams) WithDefaults() *PcloudVirtualserialnumberPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud virtualserialnumber put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) WithTimeout(timeout time.Duration) *PcloudVirtualserialnumberPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) WithContext(ctx context.Context) *PcloudVirtualserialnumberPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) WithHTTPClient(client *http.Client) *PcloudVirtualserialnumberPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) WithBody(body *models.UpdateVirtualSerialNumber) *PcloudVirtualserialnumberPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) SetBody(body *models.UpdateVirtualSerialNumber) { + o.Body = body +} + +// WithVirtualSerialNumber adds the virtualSerialNumber to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) WithVirtualSerialNumber(virtualSerialNumber string) *PcloudVirtualserialnumberPutParams { + o.SetVirtualSerialNumber(virtualSerialNumber) + return o +} + +// SetVirtualSerialNumber adds the virtualSerialNumber to the pcloud virtualserialnumber put params +func (o *PcloudVirtualserialnumberPutParams) SetVirtualSerialNumber(virtualSerialNumber string) { + o.VirtualSerialNumber = virtualSerialNumber +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVirtualserialnumberPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param virtual_serial_number + if err := r.SetPathParam("virtual_serial_number", o.VirtualSerialNumber); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_put_responses.go new file mode 100644 index 000000000..1df5e8592 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVirtualserialnumberPutReader is a Reader for the PcloudVirtualserialnumberPut structure. +type PcloudVirtualserialnumberPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVirtualserialnumberPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVirtualserialnumberPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVirtualserialnumberPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVirtualserialnumberPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVirtualserialnumberPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVirtualserialnumberPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudVirtualserialnumberPutGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVirtualserialnumberPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/virtual-serial-number/{virtual_serial_number}] pcloud.virtualserialnumber.put", response, response.Code()) + } +} + +// NewPcloudVirtualserialnumberPutOK creates a PcloudVirtualserialnumberPutOK with default headers values +func NewPcloudVirtualserialnumberPutOK() *PcloudVirtualserialnumberPutOK { + return &PcloudVirtualserialnumberPutOK{} +} + +/* +PcloudVirtualserialnumberPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVirtualserialnumberPutOK struct { + Payload *models.GetServerVirtualSerialNumber +} + +// IsSuccess returns true when this pcloud virtualserialnumber put o k response has a 2xx status code +func (o *PcloudVirtualserialnumberPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud virtualserialnumber put o k response has a 3xx status code +func (o *PcloudVirtualserialnumberPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber put o k response has a 4xx status code +func (o *PcloudVirtualserialnumberPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber put o k response has a 5xx status code +func (o *PcloudVirtualserialnumberPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber put o k response a status code equal to that given +func (o *PcloudVirtualserialnumberPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud virtualserialnumber put o k response +func (o *PcloudVirtualserialnumberPutOK) Code() int { + return 200 +} + +func (o *PcloudVirtualserialnumberPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberPutOK) GetPayload() *models.GetServerVirtualSerialNumber { + return o.Payload +} + +func (o *PcloudVirtualserialnumberPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.GetServerVirtualSerialNumber) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberPutBadRequest creates a PcloudVirtualserialnumberPutBadRequest with default headers values +func NewPcloudVirtualserialnumberPutBadRequest() *PcloudVirtualserialnumberPutBadRequest { + return &PcloudVirtualserialnumberPutBadRequest{} +} + +/* +PcloudVirtualserialnumberPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVirtualserialnumberPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber put bad request response has a 2xx status code +func (o *PcloudVirtualserialnumberPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber put bad request response has a 3xx status code +func (o *PcloudVirtualserialnumberPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber put bad request response has a 4xx status code +func (o *PcloudVirtualserialnumberPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber put bad request response has a 5xx status code +func (o *PcloudVirtualserialnumberPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber put bad request response a status code equal to that given +func (o *PcloudVirtualserialnumberPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud virtualserialnumber put bad request response +func (o *PcloudVirtualserialnumberPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudVirtualserialnumberPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberPutUnauthorized creates a PcloudVirtualserialnumberPutUnauthorized with default headers values +func NewPcloudVirtualserialnumberPutUnauthorized() *PcloudVirtualserialnumberPutUnauthorized { + return &PcloudVirtualserialnumberPutUnauthorized{} +} + +/* +PcloudVirtualserialnumberPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVirtualserialnumberPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber put unauthorized response has a 2xx status code +func (o *PcloudVirtualserialnumberPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber put unauthorized response has a 3xx status code +func (o *PcloudVirtualserialnumberPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber put unauthorized response has a 4xx status code +func (o *PcloudVirtualserialnumberPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber put unauthorized response has a 5xx status code +func (o *PcloudVirtualserialnumberPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber put unauthorized response a status code equal to that given +func (o *PcloudVirtualserialnumberPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud virtualserialnumber put unauthorized response +func (o *PcloudVirtualserialnumberPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVirtualserialnumberPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberPutForbidden creates a PcloudVirtualserialnumberPutForbidden with default headers values +func NewPcloudVirtualserialnumberPutForbidden() *PcloudVirtualserialnumberPutForbidden { + return &PcloudVirtualserialnumberPutForbidden{} +} + +/* +PcloudVirtualserialnumberPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVirtualserialnumberPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber put forbidden response has a 2xx status code +func (o *PcloudVirtualserialnumberPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber put forbidden response has a 3xx status code +func (o *PcloudVirtualserialnumberPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber put forbidden response has a 4xx status code +func (o *PcloudVirtualserialnumberPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber put forbidden response has a 5xx status code +func (o *PcloudVirtualserialnumberPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber put forbidden response a status code equal to that given +func (o *PcloudVirtualserialnumberPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud virtualserialnumber put forbidden response +func (o *PcloudVirtualserialnumberPutForbidden) Code() int { + return 403 +} + +func (o *PcloudVirtualserialnumberPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberPutNotFound creates a PcloudVirtualserialnumberPutNotFound with default headers values +func NewPcloudVirtualserialnumberPutNotFound() *PcloudVirtualserialnumberPutNotFound { + return &PcloudVirtualserialnumberPutNotFound{} +} + +/* +PcloudVirtualserialnumberPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVirtualserialnumberPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber put not found response has a 2xx status code +func (o *PcloudVirtualserialnumberPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber put not found response has a 3xx status code +func (o *PcloudVirtualserialnumberPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber put not found response has a 4xx status code +func (o *PcloudVirtualserialnumberPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber put not found response has a 5xx status code +func (o *PcloudVirtualserialnumberPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber put not found response a status code equal to that given +func (o *PcloudVirtualserialnumberPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud virtualserialnumber put not found response +func (o *PcloudVirtualserialnumberPutNotFound) Code() int { + return 404 +} + +func (o *PcloudVirtualserialnumberPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutNotFound %s", 404, payload) +} + +func (o *PcloudVirtualserialnumberPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutNotFound %s", 404, payload) +} + +func (o *PcloudVirtualserialnumberPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberPutGone creates a PcloudVirtualserialnumberPutGone with default headers values +func NewPcloudVirtualserialnumberPutGone() *PcloudVirtualserialnumberPutGone { + return &PcloudVirtualserialnumberPutGone{} +} + +/* +PcloudVirtualserialnumberPutGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudVirtualserialnumberPutGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber put gone response has a 2xx status code +func (o *PcloudVirtualserialnumberPutGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber put gone response has a 3xx status code +func (o *PcloudVirtualserialnumberPutGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber put gone response has a 4xx status code +func (o *PcloudVirtualserialnumberPutGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber put gone response has a 5xx status code +func (o *PcloudVirtualserialnumberPutGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber put gone response a status code equal to that given +func (o *PcloudVirtualserialnumberPutGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud virtualserialnumber put gone response +func (o *PcloudVirtualserialnumberPutGone) Code() int { + return 410 +} + +func (o *PcloudVirtualserialnumberPutGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutGone %s", 410, payload) +} + +func (o *PcloudVirtualserialnumberPutGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutGone %s", 410, payload) +} + +func (o *PcloudVirtualserialnumberPutGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberPutGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberPutInternalServerError creates a PcloudVirtualserialnumberPutInternalServerError with default headers values +func NewPcloudVirtualserialnumberPutInternalServerError() *PcloudVirtualserialnumberPutInternalServerError { + return &PcloudVirtualserialnumberPutInternalServerError{} +} + +/* +PcloudVirtualserialnumberPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVirtualserialnumberPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber put internal server error response has a 2xx status code +func (o *PcloudVirtualserialnumberPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber put internal server error response has a 3xx status code +func (o *PcloudVirtualserialnumberPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber put internal server error response has a 4xx status code +func (o *PcloudVirtualserialnumberPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber put internal server error response has a 5xx status code +func (o *PcloudVirtualserialnumberPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud virtualserialnumber put internal server error response a status code equal to that given +func (o *PcloudVirtualserialnumberPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud virtualserialnumber put internal server error response +func (o *PcloudVirtualserialnumberPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVirtualserialnumberPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/virtual-serial-number/{virtual_serial_number}][%d] pcloudVirtualserialnumberPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_softwaretiers_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_softwaretiers_getall_parameters.go new file mode 100644 index 000000000..f90bfac6d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_softwaretiers_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVirtualserialnumberSoftwaretiersGetallParams creates a new PcloudVirtualserialnumberSoftwaretiersGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVirtualserialnumberSoftwaretiersGetallParams() *PcloudVirtualserialnumberSoftwaretiersGetallParams { + return &PcloudVirtualserialnumberSoftwaretiersGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVirtualserialnumberSoftwaretiersGetallParamsWithTimeout creates a new PcloudVirtualserialnumberSoftwaretiersGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudVirtualserialnumberSoftwaretiersGetallParamsWithTimeout(timeout time.Duration) *PcloudVirtualserialnumberSoftwaretiersGetallParams { + return &PcloudVirtualserialnumberSoftwaretiersGetallParams{ + timeout: timeout, + } +} + +// NewPcloudVirtualserialnumberSoftwaretiersGetallParamsWithContext creates a new PcloudVirtualserialnumberSoftwaretiersGetallParams object +// with the ability to set a context for a request. +func NewPcloudVirtualserialnumberSoftwaretiersGetallParamsWithContext(ctx context.Context) *PcloudVirtualserialnumberSoftwaretiersGetallParams { + return &PcloudVirtualserialnumberSoftwaretiersGetallParams{ + Context: ctx, + } +} + +// NewPcloudVirtualserialnumberSoftwaretiersGetallParamsWithHTTPClient creates a new PcloudVirtualserialnumberSoftwaretiersGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVirtualserialnumberSoftwaretiersGetallParamsWithHTTPClient(client *http.Client) *PcloudVirtualserialnumberSoftwaretiersGetallParams { + return &PcloudVirtualserialnumberSoftwaretiersGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudVirtualserialnumberSoftwaretiersGetallParams contains all the parameters to send to the API endpoint + + for the pcloud virtualserialnumber softwaretiers getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudVirtualserialnumberSoftwaretiersGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud virtualserialnumber softwaretiers getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) WithDefaults() *PcloudVirtualserialnumberSoftwaretiersGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud virtualserialnumber softwaretiers getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud virtualserialnumber softwaretiers getall params +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) WithTimeout(timeout time.Duration) *PcloudVirtualserialnumberSoftwaretiersGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud virtualserialnumber softwaretiers getall params +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud virtualserialnumber softwaretiers getall params +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) WithContext(ctx context.Context) *PcloudVirtualserialnumberSoftwaretiersGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud virtualserialnumber softwaretiers getall params +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud virtualserialnumber softwaretiers getall params +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) WithHTTPClient(client *http.Client) *PcloudVirtualserialnumberSoftwaretiersGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud virtualserialnumber softwaretiers getall params +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVirtualserialnumberSoftwaretiersGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_softwaretiers_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_softwaretiers_getall_responses.go new file mode 100644 index 000000000..7f202b8af --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number/pcloud_virtualserialnumber_softwaretiers_getall_responses.go @@ -0,0 +1,409 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_virtual_serial_number + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVirtualserialnumberSoftwaretiersGetallReader is a Reader for the PcloudVirtualserialnumberSoftwaretiersGetall structure. +type PcloudVirtualserialnumberSoftwaretiersGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVirtualserialnumberSoftwaretiersGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVirtualserialnumberSoftwaretiersGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVirtualserialnumberSoftwaretiersGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVirtualserialnumberSoftwaretiersGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVirtualserialnumberSoftwaretiersGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVirtualserialnumberSoftwaretiersGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/virtual-serial-number/software-tiers] pcloud.virtualserialnumber.softwaretiers.getall", response, response.Code()) + } +} + +// NewPcloudVirtualserialnumberSoftwaretiersGetallOK creates a PcloudVirtualserialnumberSoftwaretiersGetallOK with default headers values +func NewPcloudVirtualserialnumberSoftwaretiersGetallOK() *PcloudVirtualserialnumberSoftwaretiersGetallOK { + return &PcloudVirtualserialnumberSoftwaretiersGetallOK{} +} + +/* +PcloudVirtualserialnumberSoftwaretiersGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVirtualserialnumberSoftwaretiersGetallOK struct { + Payload models.SupportedSoftwareTierList +} + +// IsSuccess returns true when this pcloud virtualserialnumber softwaretiers getall o k response has a 2xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud virtualserialnumber softwaretiers getall o k response has a 3xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber softwaretiers getall o k response has a 4xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber softwaretiers getall o k response has a 5xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber softwaretiers getall o k response a status code equal to that given +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud virtualserialnumber softwaretiers getall o k response +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) Code() int { + return 200 +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallOK %s", 200, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) GetPayload() models.SupportedSoftwareTierList { + return o.Payload +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberSoftwaretiersGetallBadRequest creates a PcloudVirtualserialnumberSoftwaretiersGetallBadRequest with default headers values +func NewPcloudVirtualserialnumberSoftwaretiersGetallBadRequest() *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest { + return &PcloudVirtualserialnumberSoftwaretiersGetallBadRequest{} +} + +/* +PcloudVirtualserialnumberSoftwaretiersGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVirtualserialnumberSoftwaretiersGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber softwaretiers getall bad request response has a 2xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber softwaretiers getall bad request response has a 3xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber softwaretiers getall bad request response has a 4xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber softwaretiers getall bad request response has a 5xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber softwaretiers getall bad request response a status code equal to that given +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud virtualserialnumber softwaretiers getall bad request response +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberSoftwaretiersGetallUnauthorized creates a PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized with default headers values +func NewPcloudVirtualserialnumberSoftwaretiersGetallUnauthorized() *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized { + return &PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized{} +} + +/* +PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber softwaretiers getall unauthorized response has a 2xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber softwaretiers getall unauthorized response has a 3xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber softwaretiers getall unauthorized response has a 4xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber softwaretiers getall unauthorized response has a 5xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber softwaretiers getall unauthorized response a status code equal to that given +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud virtualserialnumber softwaretiers getall unauthorized response +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberSoftwaretiersGetallForbidden creates a PcloudVirtualserialnumberSoftwaretiersGetallForbidden with default headers values +func NewPcloudVirtualserialnumberSoftwaretiersGetallForbidden() *PcloudVirtualserialnumberSoftwaretiersGetallForbidden { + return &PcloudVirtualserialnumberSoftwaretiersGetallForbidden{} +} + +/* +PcloudVirtualserialnumberSoftwaretiersGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVirtualserialnumberSoftwaretiersGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber softwaretiers getall forbidden response has a 2xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber softwaretiers getall forbidden response has a 3xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber softwaretiers getall forbidden response has a 4xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud virtualserialnumber softwaretiers getall forbidden response has a 5xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud virtualserialnumber softwaretiers getall forbidden response a status code equal to that given +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud virtualserialnumber softwaretiers getall forbidden response +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallForbidden %s", 403, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVirtualserialnumberSoftwaretiersGetallInternalServerError creates a PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError with default headers values +func NewPcloudVirtualserialnumberSoftwaretiersGetallInternalServerError() *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError { + return &PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError{} +} + +/* +PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud virtualserialnumber softwaretiers getall internal server error response has a 2xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud virtualserialnumber softwaretiers getall internal server error response has a 3xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud virtualserialnumber softwaretiers getall internal server error response has a 4xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud virtualserialnumber softwaretiers getall internal server error response has a 5xx status code +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud virtualserialnumber softwaretiers getall internal server error response a status code equal to that given +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud virtualserialnumber softwaretiers getall internal server error response +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/virtual-serial-number/software-tiers][%d] pcloudVirtualserialnumberSoftwaretiersGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVirtualserialnumberSoftwaretiersGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/p_cloud_volume_groups_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/p_cloud_volume_groups_client.go new file mode 100644 index 000000000..73aa355fc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/p_cloud_volume_groups_client.go @@ -0,0 +1,527 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud volume groups API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud volume groups API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud volume groups API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud volume groups API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudVolumegroupsActionPost(params *PcloudVolumegroupsActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsActionPostAccepted, error) + + PcloudVolumegroupsDelete(params *PcloudVolumegroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsDeleteAccepted, error) + + PcloudVolumegroupsGet(params *PcloudVolumegroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsGetOK, error) + + PcloudVolumegroupsGetDetails(params *PcloudVolumegroupsGetDetailsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsGetDetailsOK, error) + + PcloudVolumegroupsGetall(params *PcloudVolumegroupsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsGetallOK, error) + + PcloudVolumegroupsGetallDetails(params *PcloudVolumegroupsGetallDetailsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsGetallDetailsOK, error) + + PcloudVolumegroupsPost(params *PcloudVolumegroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsPostAccepted, *PcloudVolumegroupsPostPartialContent, error) + + PcloudVolumegroupsPut(params *PcloudVolumegroupsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsPutAccepted, error) + + PcloudVolumegroupsRemoteCopyRelationshipsGet(params *PcloudVolumegroupsRemoteCopyRelationshipsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsRemoteCopyRelationshipsGetOK, error) + + PcloudVolumegroupsStorageDetailsGet(params *PcloudVolumegroupsStorageDetailsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsStorageDetailsGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudVolumegroupsActionPost performs an action on a volume group + +Corresponding actions are 'start', 'stop', 'reset' +*/ +func (a *Client) PcloudVolumegroupsActionPost(params *PcloudVolumegroupsActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsActionPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsActionPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.action.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsActionPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsActionPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.action.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsDelete deletes a cloud instance volume group +*/ +func (a *Client) PcloudVolumegroupsDelete(params *PcloudVolumegroupsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsGet gets volume group +*/ +func (a *Client) PcloudVolumegroupsGet(params *PcloudVolumegroupsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsGetDetails gets volume group details +*/ +func (a *Client) PcloudVolumegroupsGetDetails(params *PcloudVolumegroupsGetDetailsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsGetDetailsOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsGetDetailsParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.getDetails", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsGetDetailsReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsGetDetailsOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.getDetails: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsGetall gets all volume groups +*/ +func (a *Client) PcloudVolumegroupsGetall(params *PcloudVolumegroupsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsGetallDetails gets all volume groups with details +*/ +func (a *Client) PcloudVolumegroupsGetallDetails(params *PcloudVolumegroupsGetallDetailsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsGetallDetailsOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsGetallDetailsParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.getallDetails", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsGetallDetailsReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsGetallDetailsOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.getallDetails: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsPost creates a new volume group +*/ +func (a *Client) PcloudVolumegroupsPost(params *PcloudVolumegroupsPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsPostAccepted, *PcloudVolumegroupsPostPartialContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudVolumegroupsPostAccepted: + return value, nil, nil + case *PcloudVolumegroupsPostPartialContent: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_volume_groups: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsPut updates the volume group +*/ +func (a *Client) PcloudVolumegroupsPut(params *PcloudVolumegroupsPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsPutAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsPutAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGet gets remote copy relationships of the volume belonging to volume group +*/ +func (a *Client) PcloudVolumegroupsRemoteCopyRelationshipsGet(params *PcloudVolumegroupsRemoteCopyRelationshipsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsRemoteCopyRelationshipsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsRemoteCopyRelationshipsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.remoteCopyRelationships.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsRemoteCopyRelationshipsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsRemoteCopyRelationshipsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.remoteCopyRelationships.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumegroupsStorageDetailsGet gets storage details of volume group +*/ +func (a *Client) PcloudVolumegroupsStorageDetailsGet(params *PcloudVolumegroupsStorageDetailsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumegroupsStorageDetailsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumegroupsStorageDetailsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumegroups.storageDetails.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumegroupsStorageDetailsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumegroupsStorageDetailsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumegroups.storageDetails.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_action_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_action_post_parameters.go new file mode 100644 index 000000000..026ef99a0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_action_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVolumegroupsActionPostParams creates a new PcloudVolumegroupsActionPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsActionPostParams() *PcloudVolumegroupsActionPostParams { + return &PcloudVolumegroupsActionPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsActionPostParamsWithTimeout creates a new PcloudVolumegroupsActionPostParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsActionPostParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsActionPostParams { + return &PcloudVolumegroupsActionPostParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsActionPostParamsWithContext creates a new PcloudVolumegroupsActionPostParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsActionPostParamsWithContext(ctx context.Context) *PcloudVolumegroupsActionPostParams { + return &PcloudVolumegroupsActionPostParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsActionPostParamsWithHTTPClient creates a new PcloudVolumegroupsActionPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsActionPostParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsActionPostParams { + return &PcloudVolumegroupsActionPostParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsActionPostParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups action post operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsActionPostParams struct { + + /* Body. + + Parameters for the desire action. + */ + Body *models.VolumeGroupAction + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeGroupID. + + The ID of the volume group + */ + VolumeGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsActionPostParams) WithDefaults() *PcloudVolumegroupsActionPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsActionPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsActionPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) WithContext(ctx context.Context) *PcloudVolumegroupsActionPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsActionPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) WithBody(body *models.VolumeGroupAction) *PcloudVolumegroupsActionPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) SetBody(body *models.VolumeGroupAction) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsActionPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeGroupID adds the volumeGroupID to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) WithVolumeGroupID(volumeGroupID string) *PcloudVolumegroupsActionPostParams { + o.SetVolumeGroupID(volumeGroupID) + return o +} + +// SetVolumeGroupID adds the volumeGroupId to the pcloud volumegroups action post params +func (o *PcloudVolumegroupsActionPostParams) SetVolumeGroupID(volumeGroupID string) { + o.VolumeGroupID = volumeGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsActionPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_group_id + if err := r.SetPathParam("volume_group_id", o.VolumeGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_action_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_action_post_responses.go new file mode 100644 index 000000000..61c4e4692 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_action_post_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsActionPostReader is a Reader for the PcloudVolumegroupsActionPost structure. +type PcloudVolumegroupsActionPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsActionPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVolumegroupsActionPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsActionPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsActionPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsActionPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsActionPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVolumegroupsActionPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsActionPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action] pcloud.volumegroups.action.post", response, response.Code()) + } +} + +// NewPcloudVolumegroupsActionPostAccepted creates a PcloudVolumegroupsActionPostAccepted with default headers values +func NewPcloudVolumegroupsActionPostAccepted() *PcloudVolumegroupsActionPostAccepted { + return &PcloudVolumegroupsActionPostAccepted{} +} + +/* +PcloudVolumegroupsActionPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVolumegroupsActionPostAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud volumegroups action post accepted response has a 2xx status code +func (o *PcloudVolumegroupsActionPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups action post accepted response has a 3xx status code +func (o *PcloudVolumegroupsActionPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups action post accepted response has a 4xx status code +func (o *PcloudVolumegroupsActionPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups action post accepted response has a 5xx status code +func (o *PcloudVolumegroupsActionPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups action post accepted response a status code equal to that given +func (o *PcloudVolumegroupsActionPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud volumegroups action post accepted response +func (o *PcloudVolumegroupsActionPostAccepted) Code() int { + return 202 +} + +func (o *PcloudVolumegroupsActionPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostAccepted %s", 202, payload) +} + +func (o *PcloudVolumegroupsActionPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostAccepted %s", 202, payload) +} + +func (o *PcloudVolumegroupsActionPostAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudVolumegroupsActionPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsActionPostBadRequest creates a PcloudVolumegroupsActionPostBadRequest with default headers values +func NewPcloudVolumegroupsActionPostBadRequest() *PcloudVolumegroupsActionPostBadRequest { + return &PcloudVolumegroupsActionPostBadRequest{} +} + +/* +PcloudVolumegroupsActionPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsActionPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups action post bad request response has a 2xx status code +func (o *PcloudVolumegroupsActionPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups action post bad request response has a 3xx status code +func (o *PcloudVolumegroupsActionPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups action post bad request response has a 4xx status code +func (o *PcloudVolumegroupsActionPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups action post bad request response has a 5xx status code +func (o *PcloudVolumegroupsActionPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups action post bad request response a status code equal to that given +func (o *PcloudVolumegroupsActionPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups action post bad request response +func (o *PcloudVolumegroupsActionPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsActionPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsActionPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsActionPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsActionPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsActionPostUnauthorized creates a PcloudVolumegroupsActionPostUnauthorized with default headers values +func NewPcloudVolumegroupsActionPostUnauthorized() *PcloudVolumegroupsActionPostUnauthorized { + return &PcloudVolumegroupsActionPostUnauthorized{} +} + +/* +PcloudVolumegroupsActionPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsActionPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups action post unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsActionPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups action post unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsActionPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups action post unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsActionPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups action post unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsActionPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups action post unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsActionPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups action post unauthorized response +func (o *PcloudVolumegroupsActionPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsActionPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsActionPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsActionPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsActionPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsActionPostForbidden creates a PcloudVolumegroupsActionPostForbidden with default headers values +func NewPcloudVolumegroupsActionPostForbidden() *PcloudVolumegroupsActionPostForbidden { + return &PcloudVolumegroupsActionPostForbidden{} +} + +/* +PcloudVolumegroupsActionPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsActionPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups action post forbidden response has a 2xx status code +func (o *PcloudVolumegroupsActionPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups action post forbidden response has a 3xx status code +func (o *PcloudVolumegroupsActionPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups action post forbidden response has a 4xx status code +func (o *PcloudVolumegroupsActionPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups action post forbidden response has a 5xx status code +func (o *PcloudVolumegroupsActionPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups action post forbidden response a status code equal to that given +func (o *PcloudVolumegroupsActionPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups action post forbidden response +func (o *PcloudVolumegroupsActionPostForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsActionPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsActionPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsActionPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsActionPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsActionPostNotFound creates a PcloudVolumegroupsActionPostNotFound with default headers values +func NewPcloudVolumegroupsActionPostNotFound() *PcloudVolumegroupsActionPostNotFound { + return &PcloudVolumegroupsActionPostNotFound{} +} + +/* +PcloudVolumegroupsActionPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsActionPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups action post not found response has a 2xx status code +func (o *PcloudVolumegroupsActionPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups action post not found response has a 3xx status code +func (o *PcloudVolumegroupsActionPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups action post not found response has a 4xx status code +func (o *PcloudVolumegroupsActionPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups action post not found response has a 5xx status code +func (o *PcloudVolumegroupsActionPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups action post not found response a status code equal to that given +func (o *PcloudVolumegroupsActionPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups action post not found response +func (o *PcloudVolumegroupsActionPostNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsActionPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsActionPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsActionPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsActionPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsActionPostUnprocessableEntity creates a PcloudVolumegroupsActionPostUnprocessableEntity with default headers values +func NewPcloudVolumegroupsActionPostUnprocessableEntity() *PcloudVolumegroupsActionPostUnprocessableEntity { + return &PcloudVolumegroupsActionPostUnprocessableEntity{} +} + +/* +PcloudVolumegroupsActionPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVolumegroupsActionPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups action post unprocessable entity response has a 2xx status code +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups action post unprocessable entity response has a 3xx status code +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups action post unprocessable entity response has a 4xx status code +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups action post unprocessable entity response has a 5xx status code +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups action post unprocessable entity response a status code equal to that given +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud volumegroups action post unprocessable entity response +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsActionPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsActionPostInternalServerError creates a PcloudVolumegroupsActionPostInternalServerError with default headers values +func NewPcloudVolumegroupsActionPostInternalServerError() *PcloudVolumegroupsActionPostInternalServerError { + return &PcloudVolumegroupsActionPostInternalServerError{} +} + +/* +PcloudVolumegroupsActionPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsActionPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups action post internal server error response has a 2xx status code +func (o *PcloudVolumegroupsActionPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups action post internal server error response has a 3xx status code +func (o *PcloudVolumegroupsActionPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups action post internal server error response has a 4xx status code +func (o *PcloudVolumegroupsActionPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups action post internal server error response has a 5xx status code +func (o *PcloudVolumegroupsActionPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups action post internal server error response a status code equal to that given +func (o *PcloudVolumegroupsActionPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups action post internal server error response +func (o *PcloudVolumegroupsActionPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsActionPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsActionPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/action][%d] pcloudVolumegroupsActionPostInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsActionPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsActionPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_delete_parameters.go new file mode 100644 index 000000000..c7e1629b7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumegroupsDeleteParams creates a new PcloudVolumegroupsDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsDeleteParams() *PcloudVolumegroupsDeleteParams { + return &PcloudVolumegroupsDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsDeleteParamsWithTimeout creates a new PcloudVolumegroupsDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsDeleteParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsDeleteParams { + return &PcloudVolumegroupsDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsDeleteParamsWithContext creates a new PcloudVolumegroupsDeleteParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsDeleteParamsWithContext(ctx context.Context) *PcloudVolumegroupsDeleteParams { + return &PcloudVolumegroupsDeleteParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsDeleteParamsWithHTTPClient creates a new PcloudVolumegroupsDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsDeleteParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsDeleteParams { + return &PcloudVolumegroupsDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeGroupID. + + The ID of the volume group + */ + VolumeGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsDeleteParams) WithDefaults() *PcloudVolumegroupsDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) WithContext(ctx context.Context) *PcloudVolumegroupsDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeGroupID adds the volumeGroupID to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) WithVolumeGroupID(volumeGroupID string) *PcloudVolumegroupsDeleteParams { + o.SetVolumeGroupID(volumeGroupID) + return o +} + +// SetVolumeGroupID adds the volumeGroupId to the pcloud volumegroups delete params +func (o *PcloudVolumegroupsDeleteParams) SetVolumeGroupID(volumeGroupID string) { + o.VolumeGroupID = volumeGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_group_id + if err := r.SetPathParam("volume_group_id", o.VolumeGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_delete_responses.go new file mode 100644 index 000000000..9d689cec1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_delete_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsDeleteReader is a Reader for the PcloudVolumegroupsDelete structure. +type PcloudVolumegroupsDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVolumegroupsDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}] pcloud.volumegroups.delete", response, response.Code()) + } +} + +// NewPcloudVolumegroupsDeleteAccepted creates a PcloudVolumegroupsDeleteAccepted with default headers values +func NewPcloudVolumegroupsDeleteAccepted() *PcloudVolumegroupsDeleteAccepted { + return &PcloudVolumegroupsDeleteAccepted{} +} + +/* +PcloudVolumegroupsDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVolumegroupsDeleteAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud volumegroups delete accepted response has a 2xx status code +func (o *PcloudVolumegroupsDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups delete accepted response has a 3xx status code +func (o *PcloudVolumegroupsDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups delete accepted response has a 4xx status code +func (o *PcloudVolumegroupsDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups delete accepted response has a 5xx status code +func (o *PcloudVolumegroupsDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups delete accepted response a status code equal to that given +func (o *PcloudVolumegroupsDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud volumegroups delete accepted response +func (o *PcloudVolumegroupsDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudVolumegroupsDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteAccepted %s", 202, payload) +} + +func (o *PcloudVolumegroupsDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteAccepted %s", 202, payload) +} + +func (o *PcloudVolumegroupsDeleteAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudVolumegroupsDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsDeleteBadRequest creates a PcloudVolumegroupsDeleteBadRequest with default headers values +func NewPcloudVolumegroupsDeleteBadRequest() *PcloudVolumegroupsDeleteBadRequest { + return &PcloudVolumegroupsDeleteBadRequest{} +} + +/* +PcloudVolumegroupsDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups delete bad request response has a 2xx status code +func (o *PcloudVolumegroupsDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups delete bad request response has a 3xx status code +func (o *PcloudVolumegroupsDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups delete bad request response has a 4xx status code +func (o *PcloudVolumegroupsDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups delete bad request response has a 5xx status code +func (o *PcloudVolumegroupsDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups delete bad request response a status code equal to that given +func (o *PcloudVolumegroupsDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups delete bad request response +func (o *PcloudVolumegroupsDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsDeleteUnauthorized creates a PcloudVolumegroupsDeleteUnauthorized with default headers values +func NewPcloudVolumegroupsDeleteUnauthorized() *PcloudVolumegroupsDeleteUnauthorized { + return &PcloudVolumegroupsDeleteUnauthorized{} +} + +/* +PcloudVolumegroupsDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups delete unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups delete unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups delete unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups delete unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups delete unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups delete unauthorized response +func (o *PcloudVolumegroupsDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsDeleteForbidden creates a PcloudVolumegroupsDeleteForbidden with default headers values +func NewPcloudVolumegroupsDeleteForbidden() *PcloudVolumegroupsDeleteForbidden { + return &PcloudVolumegroupsDeleteForbidden{} +} + +/* +PcloudVolumegroupsDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups delete forbidden response has a 2xx status code +func (o *PcloudVolumegroupsDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups delete forbidden response has a 3xx status code +func (o *PcloudVolumegroupsDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups delete forbidden response has a 4xx status code +func (o *PcloudVolumegroupsDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups delete forbidden response has a 5xx status code +func (o *PcloudVolumegroupsDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups delete forbidden response a status code equal to that given +func (o *PcloudVolumegroupsDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups delete forbidden response +func (o *PcloudVolumegroupsDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsDeleteNotFound creates a PcloudVolumegroupsDeleteNotFound with default headers values +func NewPcloudVolumegroupsDeleteNotFound() *PcloudVolumegroupsDeleteNotFound { + return &PcloudVolumegroupsDeleteNotFound{} +} + +/* +PcloudVolumegroupsDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups delete not found response has a 2xx status code +func (o *PcloudVolumegroupsDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups delete not found response has a 3xx status code +func (o *PcloudVolumegroupsDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups delete not found response has a 4xx status code +func (o *PcloudVolumegroupsDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups delete not found response has a 5xx status code +func (o *PcloudVolumegroupsDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups delete not found response a status code equal to that given +func (o *PcloudVolumegroupsDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups delete not found response +func (o *PcloudVolumegroupsDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsDeleteInternalServerError creates a PcloudVolumegroupsDeleteInternalServerError with default headers values +func NewPcloudVolumegroupsDeleteInternalServerError() *PcloudVolumegroupsDeleteInternalServerError { + return &PcloudVolumegroupsDeleteInternalServerError{} +} + +/* +PcloudVolumegroupsDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups delete internal server error response has a 2xx status code +func (o *PcloudVolumegroupsDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups delete internal server error response has a 3xx status code +func (o *PcloudVolumegroupsDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups delete internal server error response has a 4xx status code +func (o *PcloudVolumegroupsDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups delete internal server error response has a 5xx status code +func (o *PcloudVolumegroupsDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups delete internal server error response a status code equal to that given +func (o *PcloudVolumegroupsDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups delete internal server error response +func (o *PcloudVolumegroupsDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_details_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_details_parameters.go new file mode 100644 index 000000000..de511e1a6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_details_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumegroupsGetDetailsParams creates a new PcloudVolumegroupsGetDetailsParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsGetDetailsParams() *PcloudVolumegroupsGetDetailsParams { + return &PcloudVolumegroupsGetDetailsParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsGetDetailsParamsWithTimeout creates a new PcloudVolumegroupsGetDetailsParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsGetDetailsParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsGetDetailsParams { + return &PcloudVolumegroupsGetDetailsParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsGetDetailsParamsWithContext creates a new PcloudVolumegroupsGetDetailsParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsGetDetailsParamsWithContext(ctx context.Context) *PcloudVolumegroupsGetDetailsParams { + return &PcloudVolumegroupsGetDetailsParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsGetDetailsParamsWithHTTPClient creates a new PcloudVolumegroupsGetDetailsParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsGetDetailsParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsGetDetailsParams { + return &PcloudVolumegroupsGetDetailsParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsGetDetailsParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups get details operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsGetDetailsParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeGroupID. + + The ID of the volume group + */ + VolumeGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups get details params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsGetDetailsParams) WithDefaults() *PcloudVolumegroupsGetDetailsParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups get details params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsGetDetailsParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsGetDetailsParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) WithContext(ctx context.Context) *PcloudVolumegroupsGetDetailsParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsGetDetailsParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsGetDetailsParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeGroupID adds the volumeGroupID to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) WithVolumeGroupID(volumeGroupID string) *PcloudVolumegroupsGetDetailsParams { + o.SetVolumeGroupID(volumeGroupID) + return o +} + +// SetVolumeGroupID adds the volumeGroupId to the pcloud volumegroups get details params +func (o *PcloudVolumegroupsGetDetailsParams) SetVolumeGroupID(volumeGroupID string) { + o.VolumeGroupID = volumeGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsGetDetailsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_group_id + if err := r.SetPathParam("volume_group_id", o.VolumeGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_details_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_details_responses.go new file mode 100644 index 000000000..77fef5398 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_details_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsGetDetailsReader is a Reader for the PcloudVolumegroupsGetDetails structure. +type PcloudVolumegroupsGetDetailsReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsGetDetailsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumegroupsGetDetailsOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsGetDetailsBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsGetDetailsUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsGetDetailsForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsGetDetailsNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsGetDetailsInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details] pcloud.volumegroups.getDetails", response, response.Code()) + } +} + +// NewPcloudVolumegroupsGetDetailsOK creates a PcloudVolumegroupsGetDetailsOK with default headers values +func NewPcloudVolumegroupsGetDetailsOK() *PcloudVolumegroupsGetDetailsOK { + return &PcloudVolumegroupsGetDetailsOK{} +} + +/* +PcloudVolumegroupsGetDetailsOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumegroupsGetDetailsOK struct { + Payload *models.VolumeGroupDetails +} + +// IsSuccess returns true when this pcloud volumegroups get details o k response has a 2xx status code +func (o *PcloudVolumegroupsGetDetailsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups get details o k response has a 3xx status code +func (o *PcloudVolumegroupsGetDetailsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get details o k response has a 4xx status code +func (o *PcloudVolumegroupsGetDetailsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups get details o k response has a 5xx status code +func (o *PcloudVolumegroupsGetDetailsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get details o k response a status code equal to that given +func (o *PcloudVolumegroupsGetDetailsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volumegroups get details o k response +func (o *PcloudVolumegroupsGetDetailsOK) Code() int { + return 200 +} + +func (o *PcloudVolumegroupsGetDetailsOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsGetDetailsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsGetDetailsOK) GetPayload() *models.VolumeGroupDetails { + return o.Payload +} + +func (o *PcloudVolumegroupsGetDetailsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeGroupDetails) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetDetailsBadRequest creates a PcloudVolumegroupsGetDetailsBadRequest with default headers values +func NewPcloudVolumegroupsGetDetailsBadRequest() *PcloudVolumegroupsGetDetailsBadRequest { + return &PcloudVolumegroupsGetDetailsBadRequest{} +} + +/* +PcloudVolumegroupsGetDetailsBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsGetDetailsBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get details bad request response has a 2xx status code +func (o *PcloudVolumegroupsGetDetailsBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get details bad request response has a 3xx status code +func (o *PcloudVolumegroupsGetDetailsBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get details bad request response has a 4xx status code +func (o *PcloudVolumegroupsGetDetailsBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups get details bad request response has a 5xx status code +func (o *PcloudVolumegroupsGetDetailsBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get details bad request response a status code equal to that given +func (o *PcloudVolumegroupsGetDetailsBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups get details bad request response +func (o *PcloudVolumegroupsGetDetailsBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsGetDetailsBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsGetDetailsBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsGetDetailsBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetDetailsBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetDetailsUnauthorized creates a PcloudVolumegroupsGetDetailsUnauthorized with default headers values +func NewPcloudVolumegroupsGetDetailsUnauthorized() *PcloudVolumegroupsGetDetailsUnauthorized { + return &PcloudVolumegroupsGetDetailsUnauthorized{} +} + +/* +PcloudVolumegroupsGetDetailsUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsGetDetailsUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get details unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsGetDetailsUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get details unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsGetDetailsUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get details unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsGetDetailsUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups get details unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsGetDetailsUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get details unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsGetDetailsUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups get details unauthorized response +func (o *PcloudVolumegroupsGetDetailsUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsGetDetailsUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsGetDetailsUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsGetDetailsUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetDetailsUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetDetailsForbidden creates a PcloudVolumegroupsGetDetailsForbidden with default headers values +func NewPcloudVolumegroupsGetDetailsForbidden() *PcloudVolumegroupsGetDetailsForbidden { + return &PcloudVolumegroupsGetDetailsForbidden{} +} + +/* +PcloudVolumegroupsGetDetailsForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsGetDetailsForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get details forbidden response has a 2xx status code +func (o *PcloudVolumegroupsGetDetailsForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get details forbidden response has a 3xx status code +func (o *PcloudVolumegroupsGetDetailsForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get details forbidden response has a 4xx status code +func (o *PcloudVolumegroupsGetDetailsForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups get details forbidden response has a 5xx status code +func (o *PcloudVolumegroupsGetDetailsForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get details forbidden response a status code equal to that given +func (o *PcloudVolumegroupsGetDetailsForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups get details forbidden response +func (o *PcloudVolumegroupsGetDetailsForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsGetDetailsForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsGetDetailsForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsGetDetailsForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetDetailsForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetDetailsNotFound creates a PcloudVolumegroupsGetDetailsNotFound with default headers values +func NewPcloudVolumegroupsGetDetailsNotFound() *PcloudVolumegroupsGetDetailsNotFound { + return &PcloudVolumegroupsGetDetailsNotFound{} +} + +/* +PcloudVolumegroupsGetDetailsNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsGetDetailsNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get details not found response has a 2xx status code +func (o *PcloudVolumegroupsGetDetailsNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get details not found response has a 3xx status code +func (o *PcloudVolumegroupsGetDetailsNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get details not found response has a 4xx status code +func (o *PcloudVolumegroupsGetDetailsNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups get details not found response has a 5xx status code +func (o *PcloudVolumegroupsGetDetailsNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get details not found response a status code equal to that given +func (o *PcloudVolumegroupsGetDetailsNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups get details not found response +func (o *PcloudVolumegroupsGetDetailsNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsGetDetailsNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsGetDetailsNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsGetDetailsNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetDetailsNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetDetailsInternalServerError creates a PcloudVolumegroupsGetDetailsInternalServerError with default headers values +func NewPcloudVolumegroupsGetDetailsInternalServerError() *PcloudVolumegroupsGetDetailsInternalServerError { + return &PcloudVolumegroupsGetDetailsInternalServerError{} +} + +/* +PcloudVolumegroupsGetDetailsInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsGetDetailsInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get details internal server error response has a 2xx status code +func (o *PcloudVolumegroupsGetDetailsInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get details internal server error response has a 3xx status code +func (o *PcloudVolumegroupsGetDetailsInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get details internal server error response has a 4xx status code +func (o *PcloudVolumegroupsGetDetailsInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups get details internal server error response has a 5xx status code +func (o *PcloudVolumegroupsGetDetailsInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups get details internal server error response a status code equal to that given +func (o *PcloudVolumegroupsGetDetailsInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups get details internal server error response +func (o *PcloudVolumegroupsGetDetailsInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsGetDetailsInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsGetDetailsInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/details][%d] pcloudVolumegroupsGetDetailsInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsGetDetailsInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetDetailsInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_parameters.go new file mode 100644 index 000000000..96ad516d2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumegroupsGetParams creates a new PcloudVolumegroupsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsGetParams() *PcloudVolumegroupsGetParams { + return &PcloudVolumegroupsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsGetParamsWithTimeout creates a new PcloudVolumegroupsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsGetParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsGetParams { + return &PcloudVolumegroupsGetParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsGetParamsWithContext creates a new PcloudVolumegroupsGetParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsGetParamsWithContext(ctx context.Context) *PcloudVolumegroupsGetParams { + return &PcloudVolumegroupsGetParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsGetParamsWithHTTPClient creates a new PcloudVolumegroupsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsGetParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsGetParams { + return &PcloudVolumegroupsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsGetParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups get operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeGroupID. + + The ID of the volume group + */ + VolumeGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsGetParams) WithDefaults() *PcloudVolumegroupsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) WithContext(ctx context.Context) *PcloudVolumegroupsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeGroupID adds the volumeGroupID to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) WithVolumeGroupID(volumeGroupID string) *PcloudVolumegroupsGetParams { + o.SetVolumeGroupID(volumeGroupID) + return o +} + +// SetVolumeGroupID adds the volumeGroupId to the pcloud volumegroups get params +func (o *PcloudVolumegroupsGetParams) SetVolumeGroupID(volumeGroupID string) { + o.VolumeGroupID = volumeGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_group_id + if err := r.SetPathParam("volume_group_id", o.VolumeGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_responses.go new file mode 100644 index 000000000..d0727fe08 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsGetReader is a Reader for the PcloudVolumegroupsGet structure. +type PcloudVolumegroupsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumegroupsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}] pcloud.volumegroups.get", response, response.Code()) + } +} + +// NewPcloudVolumegroupsGetOK creates a PcloudVolumegroupsGetOK with default headers values +func NewPcloudVolumegroupsGetOK() *PcloudVolumegroupsGetOK { + return &PcloudVolumegroupsGetOK{} +} + +/* +PcloudVolumegroupsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumegroupsGetOK struct { + Payload *models.VolumeGroup +} + +// IsSuccess returns true when this pcloud volumegroups get o k response has a 2xx status code +func (o *PcloudVolumegroupsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups get o k response has a 3xx status code +func (o *PcloudVolumegroupsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get o k response has a 4xx status code +func (o *PcloudVolumegroupsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups get o k response has a 5xx status code +func (o *PcloudVolumegroupsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get o k response a status code equal to that given +func (o *PcloudVolumegroupsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volumegroups get o k response +func (o *PcloudVolumegroupsGetOK) Code() int { + return 200 +} + +func (o *PcloudVolumegroupsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsGetOK) GetPayload() *models.VolumeGroup { + return o.Payload +} + +func (o *PcloudVolumegroupsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeGroup) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetBadRequest creates a PcloudVolumegroupsGetBadRequest with default headers values +func NewPcloudVolumegroupsGetBadRequest() *PcloudVolumegroupsGetBadRequest { + return &PcloudVolumegroupsGetBadRequest{} +} + +/* +PcloudVolumegroupsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get bad request response has a 2xx status code +func (o *PcloudVolumegroupsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get bad request response has a 3xx status code +func (o *PcloudVolumegroupsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get bad request response has a 4xx status code +func (o *PcloudVolumegroupsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups get bad request response has a 5xx status code +func (o *PcloudVolumegroupsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get bad request response a status code equal to that given +func (o *PcloudVolumegroupsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups get bad request response +func (o *PcloudVolumegroupsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetUnauthorized creates a PcloudVolumegroupsGetUnauthorized with default headers values +func NewPcloudVolumegroupsGetUnauthorized() *PcloudVolumegroupsGetUnauthorized { + return &PcloudVolumegroupsGetUnauthorized{} +} + +/* +PcloudVolumegroupsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups get unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups get unauthorized response +func (o *PcloudVolumegroupsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetForbidden creates a PcloudVolumegroupsGetForbidden with default headers values +func NewPcloudVolumegroupsGetForbidden() *PcloudVolumegroupsGetForbidden { + return &PcloudVolumegroupsGetForbidden{} +} + +/* +PcloudVolumegroupsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get forbidden response has a 2xx status code +func (o *PcloudVolumegroupsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get forbidden response has a 3xx status code +func (o *PcloudVolumegroupsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get forbidden response has a 4xx status code +func (o *PcloudVolumegroupsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups get forbidden response has a 5xx status code +func (o *PcloudVolumegroupsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get forbidden response a status code equal to that given +func (o *PcloudVolumegroupsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups get forbidden response +func (o *PcloudVolumegroupsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetNotFound creates a PcloudVolumegroupsGetNotFound with default headers values +func NewPcloudVolumegroupsGetNotFound() *PcloudVolumegroupsGetNotFound { + return &PcloudVolumegroupsGetNotFound{} +} + +/* +PcloudVolumegroupsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get not found response has a 2xx status code +func (o *PcloudVolumegroupsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get not found response has a 3xx status code +func (o *PcloudVolumegroupsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get not found response has a 4xx status code +func (o *PcloudVolumegroupsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups get not found response has a 5xx status code +func (o *PcloudVolumegroupsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups get not found response a status code equal to that given +func (o *PcloudVolumegroupsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups get not found response +func (o *PcloudVolumegroupsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetInternalServerError creates a PcloudVolumegroupsGetInternalServerError with default headers values +func NewPcloudVolumegroupsGetInternalServerError() *PcloudVolumegroupsGetInternalServerError { + return &PcloudVolumegroupsGetInternalServerError{} +} + +/* +PcloudVolumegroupsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups get internal server error response has a 2xx status code +func (o *PcloudVolumegroupsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups get internal server error response has a 3xx status code +func (o *PcloudVolumegroupsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups get internal server error response has a 4xx status code +func (o *PcloudVolumegroupsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups get internal server error response has a 5xx status code +func (o *PcloudVolumegroupsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups get internal server error response a status code equal to that given +func (o *PcloudVolumegroupsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups get internal server error response +func (o *PcloudVolumegroupsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_details_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_details_parameters.go new file mode 100644 index 000000000..a21f1220a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_details_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumegroupsGetallDetailsParams creates a new PcloudVolumegroupsGetallDetailsParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsGetallDetailsParams() *PcloudVolumegroupsGetallDetailsParams { + return &PcloudVolumegroupsGetallDetailsParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsGetallDetailsParamsWithTimeout creates a new PcloudVolumegroupsGetallDetailsParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsGetallDetailsParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsGetallDetailsParams { + return &PcloudVolumegroupsGetallDetailsParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsGetallDetailsParamsWithContext creates a new PcloudVolumegroupsGetallDetailsParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsGetallDetailsParamsWithContext(ctx context.Context) *PcloudVolumegroupsGetallDetailsParams { + return &PcloudVolumegroupsGetallDetailsParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsGetallDetailsParamsWithHTTPClient creates a new PcloudVolumegroupsGetallDetailsParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsGetallDetailsParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsGetallDetailsParams { + return &PcloudVolumegroupsGetallDetailsParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsGetallDetailsParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups getall details operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsGetallDetailsParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups getall details params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsGetallDetailsParams) WithDefaults() *PcloudVolumegroupsGetallDetailsParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups getall details params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsGetallDetailsParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups getall details params +func (o *PcloudVolumegroupsGetallDetailsParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsGetallDetailsParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups getall details params +func (o *PcloudVolumegroupsGetallDetailsParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups getall details params +func (o *PcloudVolumegroupsGetallDetailsParams) WithContext(ctx context.Context) *PcloudVolumegroupsGetallDetailsParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups getall details params +func (o *PcloudVolumegroupsGetallDetailsParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups getall details params +func (o *PcloudVolumegroupsGetallDetailsParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsGetallDetailsParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups getall details params +func (o *PcloudVolumegroupsGetallDetailsParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups getall details params +func (o *PcloudVolumegroupsGetallDetailsParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsGetallDetailsParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups getall details params +func (o *PcloudVolumegroupsGetallDetailsParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsGetallDetailsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_details_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_details_responses.go new file mode 100644 index 000000000..98f12849f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_details_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsGetallDetailsReader is a Reader for the PcloudVolumegroupsGetallDetails structure. +type PcloudVolumegroupsGetallDetailsReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsGetallDetailsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumegroupsGetallDetailsOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsGetallDetailsBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsGetallDetailsUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsGetallDetailsForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsGetallDetailsNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsGetallDetailsInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details] pcloud.volumegroups.getallDetails", response, response.Code()) + } +} + +// NewPcloudVolumegroupsGetallDetailsOK creates a PcloudVolumegroupsGetallDetailsOK with default headers values +func NewPcloudVolumegroupsGetallDetailsOK() *PcloudVolumegroupsGetallDetailsOK { + return &PcloudVolumegroupsGetallDetailsOK{} +} + +/* +PcloudVolumegroupsGetallDetailsOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumegroupsGetallDetailsOK struct { + Payload *models.VolumeGroupsDetails +} + +// IsSuccess returns true when this pcloud volumegroups getall details o k response has a 2xx status code +func (o *PcloudVolumegroupsGetallDetailsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups getall details o k response has a 3xx status code +func (o *PcloudVolumegroupsGetallDetailsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall details o k response has a 4xx status code +func (o *PcloudVolumegroupsGetallDetailsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups getall details o k response has a 5xx status code +func (o *PcloudVolumegroupsGetallDetailsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall details o k response a status code equal to that given +func (o *PcloudVolumegroupsGetallDetailsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volumegroups getall details o k response +func (o *PcloudVolumegroupsGetallDetailsOK) Code() int { + return 200 +} + +func (o *PcloudVolumegroupsGetallDetailsOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsOK) GetPayload() *models.VolumeGroupsDetails { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallDetailsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeGroupsDetails) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallDetailsBadRequest creates a PcloudVolumegroupsGetallDetailsBadRequest with default headers values +func NewPcloudVolumegroupsGetallDetailsBadRequest() *PcloudVolumegroupsGetallDetailsBadRequest { + return &PcloudVolumegroupsGetallDetailsBadRequest{} +} + +/* +PcloudVolumegroupsGetallDetailsBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsGetallDetailsBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall details bad request response has a 2xx status code +func (o *PcloudVolumegroupsGetallDetailsBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall details bad request response has a 3xx status code +func (o *PcloudVolumegroupsGetallDetailsBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall details bad request response has a 4xx status code +func (o *PcloudVolumegroupsGetallDetailsBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups getall details bad request response has a 5xx status code +func (o *PcloudVolumegroupsGetallDetailsBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall details bad request response a status code equal to that given +func (o *PcloudVolumegroupsGetallDetailsBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups getall details bad request response +func (o *PcloudVolumegroupsGetallDetailsBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsGetallDetailsBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallDetailsBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallDetailsUnauthorized creates a PcloudVolumegroupsGetallDetailsUnauthorized with default headers values +func NewPcloudVolumegroupsGetallDetailsUnauthorized() *PcloudVolumegroupsGetallDetailsUnauthorized { + return &PcloudVolumegroupsGetallDetailsUnauthorized{} +} + +/* +PcloudVolumegroupsGetallDetailsUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsGetallDetailsUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall details unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall details unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall details unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups getall details unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall details unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups getall details unauthorized response +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallDetailsUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallDetailsForbidden creates a PcloudVolumegroupsGetallDetailsForbidden with default headers values +func NewPcloudVolumegroupsGetallDetailsForbidden() *PcloudVolumegroupsGetallDetailsForbidden { + return &PcloudVolumegroupsGetallDetailsForbidden{} +} + +/* +PcloudVolumegroupsGetallDetailsForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsGetallDetailsForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall details forbidden response has a 2xx status code +func (o *PcloudVolumegroupsGetallDetailsForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall details forbidden response has a 3xx status code +func (o *PcloudVolumegroupsGetallDetailsForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall details forbidden response has a 4xx status code +func (o *PcloudVolumegroupsGetallDetailsForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups getall details forbidden response has a 5xx status code +func (o *PcloudVolumegroupsGetallDetailsForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall details forbidden response a status code equal to that given +func (o *PcloudVolumegroupsGetallDetailsForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups getall details forbidden response +func (o *PcloudVolumegroupsGetallDetailsForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsGetallDetailsForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallDetailsForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallDetailsNotFound creates a PcloudVolumegroupsGetallDetailsNotFound with default headers values +func NewPcloudVolumegroupsGetallDetailsNotFound() *PcloudVolumegroupsGetallDetailsNotFound { + return &PcloudVolumegroupsGetallDetailsNotFound{} +} + +/* +PcloudVolumegroupsGetallDetailsNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsGetallDetailsNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall details not found response has a 2xx status code +func (o *PcloudVolumegroupsGetallDetailsNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall details not found response has a 3xx status code +func (o *PcloudVolumegroupsGetallDetailsNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall details not found response has a 4xx status code +func (o *PcloudVolumegroupsGetallDetailsNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups getall details not found response has a 5xx status code +func (o *PcloudVolumegroupsGetallDetailsNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall details not found response a status code equal to that given +func (o *PcloudVolumegroupsGetallDetailsNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups getall details not found response +func (o *PcloudVolumegroupsGetallDetailsNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsGetallDetailsNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallDetailsNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallDetailsInternalServerError creates a PcloudVolumegroupsGetallDetailsInternalServerError with default headers values +func NewPcloudVolumegroupsGetallDetailsInternalServerError() *PcloudVolumegroupsGetallDetailsInternalServerError { + return &PcloudVolumegroupsGetallDetailsInternalServerError{} +} + +/* +PcloudVolumegroupsGetallDetailsInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsGetallDetailsInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall details internal server error response has a 2xx status code +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall details internal server error response has a 3xx status code +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall details internal server error response has a 4xx status code +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups getall details internal server error response has a 5xx status code +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups getall details internal server error response a status code equal to that given +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups getall details internal server error response +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/details][%d] pcloudVolumegroupsGetallDetailsInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallDetailsInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_parameters.go new file mode 100644 index 000000000..2c3e2a135 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumegroupsGetallParams creates a new PcloudVolumegroupsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsGetallParams() *PcloudVolumegroupsGetallParams { + return &PcloudVolumegroupsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsGetallParamsWithTimeout creates a new PcloudVolumegroupsGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsGetallParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsGetallParams { + return &PcloudVolumegroupsGetallParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsGetallParamsWithContext creates a new PcloudVolumegroupsGetallParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsGetallParamsWithContext(ctx context.Context) *PcloudVolumegroupsGetallParams { + return &PcloudVolumegroupsGetallParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsGetallParamsWithHTTPClient creates a new PcloudVolumegroupsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsGetallParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsGetallParams { + return &PcloudVolumegroupsGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsGetallParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsGetallParams) WithDefaults() *PcloudVolumegroupsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups getall params +func (o *PcloudVolumegroupsGetallParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups getall params +func (o *PcloudVolumegroupsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups getall params +func (o *PcloudVolumegroupsGetallParams) WithContext(ctx context.Context) *PcloudVolumegroupsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups getall params +func (o *PcloudVolumegroupsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups getall params +func (o *PcloudVolumegroupsGetallParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups getall params +func (o *PcloudVolumegroupsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups getall params +func (o *PcloudVolumegroupsGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups getall params +func (o *PcloudVolumegroupsGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_responses.go new file mode 100644 index 000000000..e26499375 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsGetallReader is a Reader for the PcloudVolumegroupsGetall structure. +type PcloudVolumegroupsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumegroupsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups] pcloud.volumegroups.getall", response, response.Code()) + } +} + +// NewPcloudVolumegroupsGetallOK creates a PcloudVolumegroupsGetallOK with default headers values +func NewPcloudVolumegroupsGetallOK() *PcloudVolumegroupsGetallOK { + return &PcloudVolumegroupsGetallOK{} +} + +/* +PcloudVolumegroupsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumegroupsGetallOK struct { + Payload *models.VolumeGroups +} + +// IsSuccess returns true when this pcloud volumegroups getall o k response has a 2xx status code +func (o *PcloudVolumegroupsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups getall o k response has a 3xx status code +func (o *PcloudVolumegroupsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall o k response has a 4xx status code +func (o *PcloudVolumegroupsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups getall o k response has a 5xx status code +func (o *PcloudVolumegroupsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall o k response a status code equal to that given +func (o *PcloudVolumegroupsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volumegroups getall o k response +func (o *PcloudVolumegroupsGetallOK) Code() int { + return 200 +} + +func (o *PcloudVolumegroupsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsGetallOK) GetPayload() *models.VolumeGroups { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeGroups) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallBadRequest creates a PcloudVolumegroupsGetallBadRequest with default headers values +func NewPcloudVolumegroupsGetallBadRequest() *PcloudVolumegroupsGetallBadRequest { + return &PcloudVolumegroupsGetallBadRequest{} +} + +/* +PcloudVolumegroupsGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall bad request response has a 2xx status code +func (o *PcloudVolumegroupsGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall bad request response has a 3xx status code +func (o *PcloudVolumegroupsGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall bad request response has a 4xx status code +func (o *PcloudVolumegroupsGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups getall bad request response has a 5xx status code +func (o *PcloudVolumegroupsGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall bad request response a status code equal to that given +func (o *PcloudVolumegroupsGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups getall bad request response +func (o *PcloudVolumegroupsGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallUnauthorized creates a PcloudVolumegroupsGetallUnauthorized with default headers values +func NewPcloudVolumegroupsGetallUnauthorized() *PcloudVolumegroupsGetallUnauthorized { + return &PcloudVolumegroupsGetallUnauthorized{} +} + +/* +PcloudVolumegroupsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups getall unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups getall unauthorized response +func (o *PcloudVolumegroupsGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallForbidden creates a PcloudVolumegroupsGetallForbidden with default headers values +func NewPcloudVolumegroupsGetallForbidden() *PcloudVolumegroupsGetallForbidden { + return &PcloudVolumegroupsGetallForbidden{} +} + +/* +PcloudVolumegroupsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall forbidden response has a 2xx status code +func (o *PcloudVolumegroupsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall forbidden response has a 3xx status code +func (o *PcloudVolumegroupsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall forbidden response has a 4xx status code +func (o *PcloudVolumegroupsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups getall forbidden response has a 5xx status code +func (o *PcloudVolumegroupsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall forbidden response a status code equal to that given +func (o *PcloudVolumegroupsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups getall forbidden response +func (o *PcloudVolumegroupsGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallNotFound creates a PcloudVolumegroupsGetallNotFound with default headers values +func NewPcloudVolumegroupsGetallNotFound() *PcloudVolumegroupsGetallNotFound { + return &PcloudVolumegroupsGetallNotFound{} +} + +/* +PcloudVolumegroupsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall not found response has a 2xx status code +func (o *PcloudVolumegroupsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall not found response has a 3xx status code +func (o *PcloudVolumegroupsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall not found response has a 4xx status code +func (o *PcloudVolumegroupsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups getall not found response has a 5xx status code +func (o *PcloudVolumegroupsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups getall not found response a status code equal to that given +func (o *PcloudVolumegroupsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups getall not found response +func (o *PcloudVolumegroupsGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsGetallInternalServerError creates a PcloudVolumegroupsGetallInternalServerError with default headers values +func NewPcloudVolumegroupsGetallInternalServerError() *PcloudVolumegroupsGetallInternalServerError { + return &PcloudVolumegroupsGetallInternalServerError{} +} + +/* +PcloudVolumegroupsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups getall internal server error response has a 2xx status code +func (o *PcloudVolumegroupsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups getall internal server error response has a 3xx status code +func (o *PcloudVolumegroupsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups getall internal server error response has a 4xx status code +func (o *PcloudVolumegroupsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups getall internal server error response has a 5xx status code +func (o *PcloudVolumegroupsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups getall internal server error response a status code equal to that given +func (o *PcloudVolumegroupsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups getall internal server error response +func (o *PcloudVolumegroupsGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_post_parameters.go new file mode 100644 index 000000000..706f7761e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVolumegroupsPostParams creates a new PcloudVolumegroupsPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsPostParams() *PcloudVolumegroupsPostParams { + return &PcloudVolumegroupsPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsPostParamsWithTimeout creates a new PcloudVolumegroupsPostParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsPostParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsPostParams { + return &PcloudVolumegroupsPostParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsPostParamsWithContext creates a new PcloudVolumegroupsPostParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsPostParamsWithContext(ctx context.Context) *PcloudVolumegroupsPostParams { + return &PcloudVolumegroupsPostParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsPostParamsWithHTTPClient creates a new PcloudVolumegroupsPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsPostParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsPostParams { + return &PcloudVolumegroupsPostParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsPostParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups post operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsPostParams struct { + + /* Body. + + Parameters for the creation of a new volume group + */ + Body *models.VolumeGroupCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsPostParams) WithDefaults() *PcloudVolumegroupsPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) WithContext(ctx context.Context) *PcloudVolumegroupsPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) WithBody(body *models.VolumeGroupCreate) *PcloudVolumegroupsPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) SetBody(body *models.VolumeGroupCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups post params +func (o *PcloudVolumegroupsPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_post_responses.go new file mode 100644 index 000000000..017b607f0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_post_responses.go @@ -0,0 +1,791 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsPostReader is a Reader for the PcloudVolumegroupsPost structure. +type PcloudVolumegroupsPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVolumegroupsPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 206: + result := NewPcloudVolumegroupsPostPartialContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudVolumegroupsPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVolumegroupsPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 504: + result := NewPcloudVolumegroupsPostGatewayTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups] pcloud.volumegroups.post", response, response.Code()) + } +} + +// NewPcloudVolumegroupsPostAccepted creates a PcloudVolumegroupsPostAccepted with default headers values +func NewPcloudVolumegroupsPostAccepted() *PcloudVolumegroupsPostAccepted { + return &PcloudVolumegroupsPostAccepted{} +} + +/* +PcloudVolumegroupsPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVolumegroupsPostAccepted struct { + Payload *models.VolumeGroupCreateResponse +} + +// IsSuccess returns true when this pcloud volumegroups post accepted response has a 2xx status code +func (o *PcloudVolumegroupsPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups post accepted response has a 3xx status code +func (o *PcloudVolumegroupsPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post accepted response has a 4xx status code +func (o *PcloudVolumegroupsPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups post accepted response has a 5xx status code +func (o *PcloudVolumegroupsPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups post accepted response a status code equal to that given +func (o *PcloudVolumegroupsPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud volumegroups post accepted response +func (o *PcloudVolumegroupsPostAccepted) Code() int { + return 202 +} + +func (o *PcloudVolumegroupsPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostAccepted %s", 202, payload) +} + +func (o *PcloudVolumegroupsPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostAccepted %s", 202, payload) +} + +func (o *PcloudVolumegroupsPostAccepted) GetPayload() *models.VolumeGroupCreateResponse { + return o.Payload +} + +func (o *PcloudVolumegroupsPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeGroupCreateResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostPartialContent creates a PcloudVolumegroupsPostPartialContent with default headers values +func NewPcloudVolumegroupsPostPartialContent() *PcloudVolumegroupsPostPartialContent { + return &PcloudVolumegroupsPostPartialContent{} +} + +/* +PcloudVolumegroupsPostPartialContent describes a response with status code 206, with default header values. + +Partial Content +*/ +type PcloudVolumegroupsPostPartialContent struct { + Payload *models.VolumeGroupCreateResponse +} + +// IsSuccess returns true when this pcloud volumegroups post partial content response has a 2xx status code +func (o *PcloudVolumegroupsPostPartialContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups post partial content response has a 3xx status code +func (o *PcloudVolumegroupsPostPartialContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post partial content response has a 4xx status code +func (o *PcloudVolumegroupsPostPartialContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups post partial content response has a 5xx status code +func (o *PcloudVolumegroupsPostPartialContent) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups post partial content response a status code equal to that given +func (o *PcloudVolumegroupsPostPartialContent) IsCode(code int) bool { + return code == 206 +} + +// Code gets the status code for the pcloud volumegroups post partial content response +func (o *PcloudVolumegroupsPostPartialContent) Code() int { + return 206 +} + +func (o *PcloudVolumegroupsPostPartialContent) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostPartialContent %s", 206, payload) +} + +func (o *PcloudVolumegroupsPostPartialContent) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostPartialContent %s", 206, payload) +} + +func (o *PcloudVolumegroupsPostPartialContent) GetPayload() *models.VolumeGroupCreateResponse { + return o.Payload +} + +func (o *PcloudVolumegroupsPostPartialContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeGroupCreateResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostBadRequest creates a PcloudVolumegroupsPostBadRequest with default headers values +func NewPcloudVolumegroupsPostBadRequest() *PcloudVolumegroupsPostBadRequest { + return &PcloudVolumegroupsPostBadRequest{} +} + +/* +PcloudVolumegroupsPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups post bad request response has a 2xx status code +func (o *PcloudVolumegroupsPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups post bad request response has a 3xx status code +func (o *PcloudVolumegroupsPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post bad request response has a 4xx status code +func (o *PcloudVolumegroupsPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups post bad request response has a 5xx status code +func (o *PcloudVolumegroupsPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups post bad request response a status code equal to that given +func (o *PcloudVolumegroupsPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups post bad request response +func (o *PcloudVolumegroupsPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostUnauthorized creates a PcloudVolumegroupsPostUnauthorized with default headers values +func NewPcloudVolumegroupsPostUnauthorized() *PcloudVolumegroupsPostUnauthorized { + return &PcloudVolumegroupsPostUnauthorized{} +} + +/* +PcloudVolumegroupsPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups post unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups post unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups post unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups post unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups post unauthorized response +func (o *PcloudVolumegroupsPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostForbidden creates a PcloudVolumegroupsPostForbidden with default headers values +func NewPcloudVolumegroupsPostForbidden() *PcloudVolumegroupsPostForbidden { + return &PcloudVolumegroupsPostForbidden{} +} + +/* +PcloudVolumegroupsPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups post forbidden response has a 2xx status code +func (o *PcloudVolumegroupsPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups post forbidden response has a 3xx status code +func (o *PcloudVolumegroupsPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post forbidden response has a 4xx status code +func (o *PcloudVolumegroupsPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups post forbidden response has a 5xx status code +func (o *PcloudVolumegroupsPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups post forbidden response a status code equal to that given +func (o *PcloudVolumegroupsPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups post forbidden response +func (o *PcloudVolumegroupsPostForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostNotFound creates a PcloudVolumegroupsPostNotFound with default headers values +func NewPcloudVolumegroupsPostNotFound() *PcloudVolumegroupsPostNotFound { + return &PcloudVolumegroupsPostNotFound{} +} + +/* +PcloudVolumegroupsPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups post not found response has a 2xx status code +func (o *PcloudVolumegroupsPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups post not found response has a 3xx status code +func (o *PcloudVolumegroupsPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post not found response has a 4xx status code +func (o *PcloudVolumegroupsPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups post not found response has a 5xx status code +func (o *PcloudVolumegroupsPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups post not found response a status code equal to that given +func (o *PcloudVolumegroupsPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups post not found response +func (o *PcloudVolumegroupsPostNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostConflict creates a PcloudVolumegroupsPostConflict with default headers values +func NewPcloudVolumegroupsPostConflict() *PcloudVolumegroupsPostConflict { + return &PcloudVolumegroupsPostConflict{} +} + +/* +PcloudVolumegroupsPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudVolumegroupsPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups post conflict response has a 2xx status code +func (o *PcloudVolumegroupsPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups post conflict response has a 3xx status code +func (o *PcloudVolumegroupsPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post conflict response has a 4xx status code +func (o *PcloudVolumegroupsPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups post conflict response has a 5xx status code +func (o *PcloudVolumegroupsPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups post conflict response a status code equal to that given +func (o *PcloudVolumegroupsPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud volumegroups post conflict response +func (o *PcloudVolumegroupsPostConflict) Code() int { + return 409 +} + +func (o *PcloudVolumegroupsPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostConflict %s", 409, payload) +} + +func (o *PcloudVolumegroupsPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostConflict %s", 409, payload) +} + +func (o *PcloudVolumegroupsPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostUnprocessableEntity creates a PcloudVolumegroupsPostUnprocessableEntity with default headers values +func NewPcloudVolumegroupsPostUnprocessableEntity() *PcloudVolumegroupsPostUnprocessableEntity { + return &PcloudVolumegroupsPostUnprocessableEntity{} +} + +/* +PcloudVolumegroupsPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVolumegroupsPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups post unprocessable entity response has a 2xx status code +func (o *PcloudVolumegroupsPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups post unprocessable entity response has a 3xx status code +func (o *PcloudVolumegroupsPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post unprocessable entity response has a 4xx status code +func (o *PcloudVolumegroupsPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups post unprocessable entity response has a 5xx status code +func (o *PcloudVolumegroupsPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups post unprocessable entity response a status code equal to that given +func (o *PcloudVolumegroupsPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud volumegroups post unprocessable entity response +func (o *PcloudVolumegroupsPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVolumegroupsPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVolumegroupsPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVolumegroupsPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostInternalServerError creates a PcloudVolumegroupsPostInternalServerError with default headers values +func NewPcloudVolumegroupsPostInternalServerError() *PcloudVolumegroupsPostInternalServerError { + return &PcloudVolumegroupsPostInternalServerError{} +} + +/* +PcloudVolumegroupsPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups post internal server error response has a 2xx status code +func (o *PcloudVolumegroupsPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups post internal server error response has a 3xx status code +func (o *PcloudVolumegroupsPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post internal server error response has a 4xx status code +func (o *PcloudVolumegroupsPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups post internal server error response has a 5xx status code +func (o *PcloudVolumegroupsPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups post internal server error response a status code equal to that given +func (o *PcloudVolumegroupsPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups post internal server error response +func (o *PcloudVolumegroupsPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPostGatewayTimeout creates a PcloudVolumegroupsPostGatewayTimeout with default headers values +func NewPcloudVolumegroupsPostGatewayTimeout() *PcloudVolumegroupsPostGatewayTimeout { + return &PcloudVolumegroupsPostGatewayTimeout{} +} + +/* +PcloudVolumegroupsPostGatewayTimeout describes a response with status code 504, with default header values. + +Gateway Timeout. Request is still processing and taking longer than expected. +*/ +type PcloudVolumegroupsPostGatewayTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups post gateway timeout response has a 2xx status code +func (o *PcloudVolumegroupsPostGatewayTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups post gateway timeout response has a 3xx status code +func (o *PcloudVolumegroupsPostGatewayTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups post gateway timeout response has a 4xx status code +func (o *PcloudVolumegroupsPostGatewayTimeout) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups post gateway timeout response has a 5xx status code +func (o *PcloudVolumegroupsPostGatewayTimeout) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups post gateway timeout response a status code equal to that given +func (o *PcloudVolumegroupsPostGatewayTimeout) IsCode(code int) bool { + return code == 504 +} + +// Code gets the status code for the pcloud volumegroups post gateway timeout response +func (o *PcloudVolumegroupsPostGatewayTimeout) Code() int { + return 504 +} + +func (o *PcloudVolumegroupsPostGatewayTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudVolumegroupsPostGatewayTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups][%d] pcloudVolumegroupsPostGatewayTimeout %s", 504, payload) +} + +func (o *PcloudVolumegroupsPostGatewayTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPostGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_put_parameters.go new file mode 100644 index 000000000..b97a3cc9b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVolumegroupsPutParams creates a new PcloudVolumegroupsPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsPutParams() *PcloudVolumegroupsPutParams { + return &PcloudVolumegroupsPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsPutParamsWithTimeout creates a new PcloudVolumegroupsPutParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsPutParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsPutParams { + return &PcloudVolumegroupsPutParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsPutParamsWithContext creates a new PcloudVolumegroupsPutParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsPutParamsWithContext(ctx context.Context) *PcloudVolumegroupsPutParams { + return &PcloudVolumegroupsPutParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsPutParamsWithHTTPClient creates a new PcloudVolumegroupsPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsPutParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsPutParams { + return &PcloudVolumegroupsPutParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsPutParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups put operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsPutParams struct { + + /* Body. + + Parameters for updating a volume-group + */ + Body *models.VolumeGroupUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeGroupID. + + The ID of the volume group + */ + VolumeGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsPutParams) WithDefaults() *PcloudVolumegroupsPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) WithContext(ctx context.Context) *PcloudVolumegroupsPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) WithBody(body *models.VolumeGroupUpdate) *PcloudVolumegroupsPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) SetBody(body *models.VolumeGroupUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeGroupID adds the volumeGroupID to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) WithVolumeGroupID(volumeGroupID string) *PcloudVolumegroupsPutParams { + o.SetVolumeGroupID(volumeGroupID) + return o +} + +// SetVolumeGroupID adds the volumeGroupId to the pcloud volumegroups put params +func (o *PcloudVolumegroupsPutParams) SetVolumeGroupID(volumeGroupID string) { + o.VolumeGroupID = volumeGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_group_id + if err := r.SetPathParam("volume_group_id", o.VolumeGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_put_responses.go new file mode 100644 index 000000000..194b18a91 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_put_responses.go @@ -0,0 +1,637 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsPutReader is a Reader for the PcloudVolumegroupsPut structure. +type PcloudVolumegroupsPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVolumegroupsPutAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudVolumegroupsPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudVolumegroupsPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}] pcloud.volumegroups.put", response, response.Code()) + } +} + +// NewPcloudVolumegroupsPutAccepted creates a PcloudVolumegroupsPutAccepted with default headers values +func NewPcloudVolumegroupsPutAccepted() *PcloudVolumegroupsPutAccepted { + return &PcloudVolumegroupsPutAccepted{} +} + +/* +PcloudVolumegroupsPutAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVolumegroupsPutAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud volumegroups put accepted response has a 2xx status code +func (o *PcloudVolumegroupsPutAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups put accepted response has a 3xx status code +func (o *PcloudVolumegroupsPutAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups put accepted response has a 4xx status code +func (o *PcloudVolumegroupsPutAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups put accepted response has a 5xx status code +func (o *PcloudVolumegroupsPutAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups put accepted response a status code equal to that given +func (o *PcloudVolumegroupsPutAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud volumegroups put accepted response +func (o *PcloudVolumegroupsPutAccepted) Code() int { + return 202 +} + +func (o *PcloudVolumegroupsPutAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutAccepted %s", 202, payload) +} + +func (o *PcloudVolumegroupsPutAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutAccepted %s", 202, payload) +} + +func (o *PcloudVolumegroupsPutAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudVolumegroupsPutAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPutBadRequest creates a PcloudVolumegroupsPutBadRequest with default headers values +func NewPcloudVolumegroupsPutBadRequest() *PcloudVolumegroupsPutBadRequest { + return &PcloudVolumegroupsPutBadRequest{} +} + +/* +PcloudVolumegroupsPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups put bad request response has a 2xx status code +func (o *PcloudVolumegroupsPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups put bad request response has a 3xx status code +func (o *PcloudVolumegroupsPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups put bad request response has a 4xx status code +func (o *PcloudVolumegroupsPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups put bad request response has a 5xx status code +func (o *PcloudVolumegroupsPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups put bad request response a status code equal to that given +func (o *PcloudVolumegroupsPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups put bad request response +func (o *PcloudVolumegroupsPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPutUnauthorized creates a PcloudVolumegroupsPutUnauthorized with default headers values +func NewPcloudVolumegroupsPutUnauthorized() *PcloudVolumegroupsPutUnauthorized { + return &PcloudVolumegroupsPutUnauthorized{} +} + +/* +PcloudVolumegroupsPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups put unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups put unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups put unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups put unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups put unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups put unauthorized response +func (o *PcloudVolumegroupsPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPutForbidden creates a PcloudVolumegroupsPutForbidden with default headers values +func NewPcloudVolumegroupsPutForbidden() *PcloudVolumegroupsPutForbidden { + return &PcloudVolumegroupsPutForbidden{} +} + +/* +PcloudVolumegroupsPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups put forbidden response has a 2xx status code +func (o *PcloudVolumegroupsPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups put forbidden response has a 3xx status code +func (o *PcloudVolumegroupsPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups put forbidden response has a 4xx status code +func (o *PcloudVolumegroupsPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups put forbidden response has a 5xx status code +func (o *PcloudVolumegroupsPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups put forbidden response a status code equal to that given +func (o *PcloudVolumegroupsPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups put forbidden response +func (o *PcloudVolumegroupsPutForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPutNotFound creates a PcloudVolumegroupsPutNotFound with default headers values +func NewPcloudVolumegroupsPutNotFound() *PcloudVolumegroupsPutNotFound { + return &PcloudVolumegroupsPutNotFound{} +} + +/* +PcloudVolumegroupsPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups put not found response has a 2xx status code +func (o *PcloudVolumegroupsPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups put not found response has a 3xx status code +func (o *PcloudVolumegroupsPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups put not found response has a 4xx status code +func (o *PcloudVolumegroupsPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups put not found response has a 5xx status code +func (o *PcloudVolumegroupsPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups put not found response a status code equal to that given +func (o *PcloudVolumegroupsPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups put not found response +func (o *PcloudVolumegroupsPutNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPutConflict creates a PcloudVolumegroupsPutConflict with default headers values +func NewPcloudVolumegroupsPutConflict() *PcloudVolumegroupsPutConflict { + return &PcloudVolumegroupsPutConflict{} +} + +/* +PcloudVolumegroupsPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudVolumegroupsPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups put conflict response has a 2xx status code +func (o *PcloudVolumegroupsPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups put conflict response has a 3xx status code +func (o *PcloudVolumegroupsPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups put conflict response has a 4xx status code +func (o *PcloudVolumegroupsPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups put conflict response has a 5xx status code +func (o *PcloudVolumegroupsPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups put conflict response a status code equal to that given +func (o *PcloudVolumegroupsPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud volumegroups put conflict response +func (o *PcloudVolumegroupsPutConflict) Code() int { + return 409 +} + +func (o *PcloudVolumegroupsPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutConflict %s", 409, payload) +} + +func (o *PcloudVolumegroupsPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutConflict %s", 409, payload) +} + +func (o *PcloudVolumegroupsPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPutUnprocessableEntity creates a PcloudVolumegroupsPutUnprocessableEntity with default headers values +func NewPcloudVolumegroupsPutUnprocessableEntity() *PcloudVolumegroupsPutUnprocessableEntity { + return &PcloudVolumegroupsPutUnprocessableEntity{} +} + +/* +PcloudVolumegroupsPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudVolumegroupsPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups put unprocessable entity response has a 2xx status code +func (o *PcloudVolumegroupsPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups put unprocessable entity response has a 3xx status code +func (o *PcloudVolumegroupsPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups put unprocessable entity response has a 4xx status code +func (o *PcloudVolumegroupsPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups put unprocessable entity response has a 5xx status code +func (o *PcloudVolumegroupsPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups put unprocessable entity response a status code equal to that given +func (o *PcloudVolumegroupsPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud volumegroups put unprocessable entity response +func (o *PcloudVolumegroupsPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudVolumegroupsPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVolumegroupsPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudVolumegroupsPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsPutInternalServerError creates a PcloudVolumegroupsPutInternalServerError with default headers values +func NewPcloudVolumegroupsPutInternalServerError() *PcloudVolumegroupsPutInternalServerError { + return &PcloudVolumegroupsPutInternalServerError{} +} + +/* +PcloudVolumegroupsPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups put internal server error response has a 2xx status code +func (o *PcloudVolumegroupsPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups put internal server error response has a 3xx status code +func (o *PcloudVolumegroupsPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups put internal server error response has a 4xx status code +func (o *PcloudVolumegroupsPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups put internal server error response has a 5xx status code +func (o *PcloudVolumegroupsPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups put internal server error response a status code equal to that given +func (o *PcloudVolumegroupsPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups put internal server error response +func (o *PcloudVolumegroupsPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}][%d] pcloudVolumegroupsPutInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_remote_copy_relationships_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_remote_copy_relationships_get_parameters.go new file mode 100644 index 000000000..7e4a5784c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_remote_copy_relationships_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetParams creates a new PcloudVolumegroupsRemoteCopyRelationshipsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetParams() *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetParamsWithTimeout creates a new PcloudVolumegroupsRemoteCopyRelationshipsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetParamsWithContext creates a new PcloudVolumegroupsRemoteCopyRelationshipsGetParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetParamsWithContext(ctx context.Context) *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetParamsWithHTTPClient creates a new PcloudVolumegroupsRemoteCopyRelationshipsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGetParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups remote copy relationships get operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsRemoteCopyRelationshipsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeGroupID. + + The ID of the volume group + */ + VolumeGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups remote copy relationships get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) WithDefaults() *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups remote copy relationships get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) WithContext(ctx context.Context) *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeGroupID adds the volumeGroupID to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) WithVolumeGroupID(volumeGroupID string) *PcloudVolumegroupsRemoteCopyRelationshipsGetParams { + o.SetVolumeGroupID(volumeGroupID) + return o +} + +// SetVolumeGroupID adds the volumeGroupId to the pcloud volumegroups remote copy relationships get params +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) SetVolumeGroupID(volumeGroupID string) { + o.VolumeGroupID = volumeGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_group_id + if err := r.SetPathParam("volume_group_id", o.VolumeGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_remote_copy_relationships_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_remote_copy_relationships_get_responses.go new file mode 100644 index 000000000..f08084189 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_remote_copy_relationships_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsRemoteCopyRelationshipsGetReader is a Reader for the PcloudVolumegroupsRemoteCopyRelationshipsGet structure. +type PcloudVolumegroupsRemoteCopyRelationshipsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumegroupsRemoteCopyRelationshipsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsRemoteCopyRelationshipsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsRemoteCopyRelationshipsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewPcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships] pcloud.volumegroups.remoteCopyRelationships.get", response, response.Code()) + } +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetOK creates a PcloudVolumegroupsRemoteCopyRelationshipsGetOK with default headers values +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetOK() *PcloudVolumegroupsRemoteCopyRelationshipsGetOK { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetOK{} +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumegroupsRemoteCopyRelationshipsGetOK struct { + Payload *models.VolumeGroupRemoteCopyRelationships +} + +// IsSuccess returns true when this pcloud volumegroups remote copy relationships get o k response has a 2xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups remote copy relationships get o k response has a 3xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups remote copy relationships get o k response has a 4xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups remote copy relationships get o k response has a 5xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups remote copy relationships get o k response a status code equal to that given +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volumegroups remote copy relationships get o k response +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) Code() int { + return 200 +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) GetPayload() *models.VolumeGroupRemoteCopyRelationships { + return o.Payload +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeGroupRemoteCopyRelationships) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest creates a PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest with default headers values +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest() *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest{} +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups remote copy relationships get bad request response has a 2xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups remote copy relationships get bad request response has a 3xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups remote copy relationships get bad request response has a 4xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups remote copy relationships get bad request response has a 5xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups remote copy relationships get bad request response a status code equal to that given +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups remote copy relationships get bad request response +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized creates a PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized with default headers values +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized() *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized{} +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups remote copy relationships get unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups remote copy relationships get unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups remote copy relationships get unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups remote copy relationships get unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups remote copy relationships get unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups remote copy relationships get unauthorized response +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetForbidden creates a PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden with default headers values +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetForbidden() *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden{} +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups remote copy relationships get forbidden response has a 2xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups remote copy relationships get forbidden response has a 3xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups remote copy relationships get forbidden response has a 4xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups remote copy relationships get forbidden response has a 5xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups remote copy relationships get forbidden response a status code equal to that given +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups remote copy relationships get forbidden response +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetNotFound creates a PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound with default headers values +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetNotFound() *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound{} +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups remote copy relationships get not found response has a 2xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups remote copy relationships get not found response has a 3xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups remote copy relationships get not found response has a 4xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups remote copy relationships get not found response has a 5xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups remote copy relationships get not found response a status code equal to that given +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups remote copy relationships get not found response +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests creates a PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests with default headers values +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests() *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests{} +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups remote copy relationships get too many requests response has a 2xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups remote copy relationships get too many requests response has a 3xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups remote copy relationships get too many requests response has a 4xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups remote copy relationships get too many requests response has a 5xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups remote copy relationships get too many requests response a status code equal to that given +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the pcloud volumegroups remote copy relationships get too many requests response +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) Code() int { + return 429 +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests %s", 429, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests %s", 429, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError creates a PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError with default headers values +func NewPcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError() *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError { + return &PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError{} +} + +/* +PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups remote copy relationships get internal server error response has a 2xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups remote copy relationships get internal server error response has a 3xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups remote copy relationships get internal server error response has a 4xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups remote copy relationships get internal server error response has a 5xx status code +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups remote copy relationships get internal server error response a status code equal to that given +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups remote copy relationships get internal server error response +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/remote-copy-relationships][%d] pcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsRemoteCopyRelationshipsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_storage_details_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_storage_details_get_parameters.go new file mode 100644 index 000000000..2ca4cb52d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_storage_details_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumegroupsStorageDetailsGetParams creates a new PcloudVolumegroupsStorageDetailsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumegroupsStorageDetailsGetParams() *PcloudVolumegroupsStorageDetailsGetParams { + return &PcloudVolumegroupsStorageDetailsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumegroupsStorageDetailsGetParamsWithTimeout creates a new PcloudVolumegroupsStorageDetailsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumegroupsStorageDetailsGetParamsWithTimeout(timeout time.Duration) *PcloudVolumegroupsStorageDetailsGetParams { + return &PcloudVolumegroupsStorageDetailsGetParams{ + timeout: timeout, + } +} + +// NewPcloudVolumegroupsStorageDetailsGetParamsWithContext creates a new PcloudVolumegroupsStorageDetailsGetParams object +// with the ability to set a context for a request. +func NewPcloudVolumegroupsStorageDetailsGetParamsWithContext(ctx context.Context) *PcloudVolumegroupsStorageDetailsGetParams { + return &PcloudVolumegroupsStorageDetailsGetParams{ + Context: ctx, + } +} + +// NewPcloudVolumegroupsStorageDetailsGetParamsWithHTTPClient creates a new PcloudVolumegroupsStorageDetailsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumegroupsStorageDetailsGetParamsWithHTTPClient(client *http.Client) *PcloudVolumegroupsStorageDetailsGetParams { + return &PcloudVolumegroupsStorageDetailsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumegroupsStorageDetailsGetParams contains all the parameters to send to the API endpoint + + for the pcloud volumegroups storage details get operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumegroupsStorageDetailsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeGroupID. + + The ID of the volume group + */ + VolumeGroupID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumegroups storage details get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsStorageDetailsGetParams) WithDefaults() *PcloudVolumegroupsStorageDetailsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumegroups storage details get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumegroupsStorageDetailsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) WithTimeout(timeout time.Duration) *PcloudVolumegroupsStorageDetailsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) WithContext(ctx context.Context) *PcloudVolumegroupsStorageDetailsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) WithHTTPClient(client *http.Client) *PcloudVolumegroupsStorageDetailsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumegroupsStorageDetailsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeGroupID adds the volumeGroupID to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) WithVolumeGroupID(volumeGroupID string) *PcloudVolumegroupsStorageDetailsGetParams { + o.SetVolumeGroupID(volumeGroupID) + return o +} + +// SetVolumeGroupID adds the volumeGroupId to the pcloud volumegroups storage details get params +func (o *PcloudVolumegroupsStorageDetailsGetParams) SetVolumeGroupID(volumeGroupID string) { + o.VolumeGroupID = volumeGroupID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumegroupsStorageDetailsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_group_id + if err := r.SetPathParam("volume_group_id", o.VolumeGroupID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_storage_details_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_storage_details_get_responses.go new file mode 100644 index 000000000..4863d5865 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups/pcloud_volumegroups_storage_details_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_groups + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumegroupsStorageDetailsGetReader is a Reader for the PcloudVolumegroupsStorageDetailsGet structure. +type PcloudVolumegroupsStorageDetailsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumegroupsStorageDetailsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumegroupsStorageDetailsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumegroupsStorageDetailsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumegroupsStorageDetailsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumegroupsStorageDetailsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumegroupsStorageDetailsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewPcloudVolumegroupsStorageDetailsGetTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumegroupsStorageDetailsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details] pcloud.volumegroups.storageDetails.get", response, response.Code()) + } +} + +// NewPcloudVolumegroupsStorageDetailsGetOK creates a PcloudVolumegroupsStorageDetailsGetOK with default headers values +func NewPcloudVolumegroupsStorageDetailsGetOK() *PcloudVolumegroupsStorageDetailsGetOK { + return &PcloudVolumegroupsStorageDetailsGetOK{} +} + +/* +PcloudVolumegroupsStorageDetailsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumegroupsStorageDetailsGetOK struct { + Payload *models.VolumeGroupStorageDetails +} + +// IsSuccess returns true when this pcloud volumegroups storage details get o k response has a 2xx status code +func (o *PcloudVolumegroupsStorageDetailsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumegroups storage details get o k response has a 3xx status code +func (o *PcloudVolumegroupsStorageDetailsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups storage details get o k response has a 4xx status code +func (o *PcloudVolumegroupsStorageDetailsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups storage details get o k response has a 5xx status code +func (o *PcloudVolumegroupsStorageDetailsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups storage details get o k response a status code equal to that given +func (o *PcloudVolumegroupsStorageDetailsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volumegroups storage details get o k response +func (o *PcloudVolumegroupsStorageDetailsGetOK) Code() int { + return 200 +} + +func (o *PcloudVolumegroupsStorageDetailsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetOK %s", 200, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetOK) GetPayload() *models.VolumeGroupStorageDetails { + return o.Payload +} + +func (o *PcloudVolumegroupsStorageDetailsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeGroupStorageDetails) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsStorageDetailsGetBadRequest creates a PcloudVolumegroupsStorageDetailsGetBadRequest with default headers values +func NewPcloudVolumegroupsStorageDetailsGetBadRequest() *PcloudVolumegroupsStorageDetailsGetBadRequest { + return &PcloudVolumegroupsStorageDetailsGetBadRequest{} +} + +/* +PcloudVolumegroupsStorageDetailsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumegroupsStorageDetailsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups storage details get bad request response has a 2xx status code +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups storage details get bad request response has a 3xx status code +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups storage details get bad request response has a 4xx status code +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups storage details get bad request response has a 5xx status code +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups storage details get bad request response a status code equal to that given +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumegroups storage details get bad request response +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetBadRequest %s", 400, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsStorageDetailsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsStorageDetailsGetUnauthorized creates a PcloudVolumegroupsStorageDetailsGetUnauthorized with default headers values +func NewPcloudVolumegroupsStorageDetailsGetUnauthorized() *PcloudVolumegroupsStorageDetailsGetUnauthorized { + return &PcloudVolumegroupsStorageDetailsGetUnauthorized{} +} + +/* +PcloudVolumegroupsStorageDetailsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumegroupsStorageDetailsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups storage details get unauthorized response has a 2xx status code +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups storage details get unauthorized response has a 3xx status code +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups storage details get unauthorized response has a 4xx status code +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups storage details get unauthorized response has a 5xx status code +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups storage details get unauthorized response a status code equal to that given +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumegroups storage details get unauthorized response +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsStorageDetailsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsStorageDetailsGetForbidden creates a PcloudVolumegroupsStorageDetailsGetForbidden with default headers values +func NewPcloudVolumegroupsStorageDetailsGetForbidden() *PcloudVolumegroupsStorageDetailsGetForbidden { + return &PcloudVolumegroupsStorageDetailsGetForbidden{} +} + +/* +PcloudVolumegroupsStorageDetailsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumegroupsStorageDetailsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups storage details get forbidden response has a 2xx status code +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups storage details get forbidden response has a 3xx status code +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups storage details get forbidden response has a 4xx status code +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups storage details get forbidden response has a 5xx status code +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups storage details get forbidden response a status code equal to that given +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumegroups storage details get forbidden response +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetForbidden %s", 403, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsStorageDetailsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsStorageDetailsGetNotFound creates a PcloudVolumegroupsStorageDetailsGetNotFound with default headers values +func NewPcloudVolumegroupsStorageDetailsGetNotFound() *PcloudVolumegroupsStorageDetailsGetNotFound { + return &PcloudVolumegroupsStorageDetailsGetNotFound{} +} + +/* +PcloudVolumegroupsStorageDetailsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumegroupsStorageDetailsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups storage details get not found response has a 2xx status code +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups storage details get not found response has a 3xx status code +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups storage details get not found response has a 4xx status code +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups storage details get not found response has a 5xx status code +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups storage details get not found response a status code equal to that given +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumegroups storage details get not found response +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetNotFound %s", 404, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsStorageDetailsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsStorageDetailsGetTooManyRequests creates a PcloudVolumegroupsStorageDetailsGetTooManyRequests with default headers values +func NewPcloudVolumegroupsStorageDetailsGetTooManyRequests() *PcloudVolumegroupsStorageDetailsGetTooManyRequests { + return &PcloudVolumegroupsStorageDetailsGetTooManyRequests{} +} + +/* +PcloudVolumegroupsStorageDetailsGetTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type PcloudVolumegroupsStorageDetailsGetTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups storage details get too many requests response has a 2xx status code +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups storage details get too many requests response has a 3xx status code +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups storage details get too many requests response has a 4xx status code +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumegroups storage details get too many requests response has a 5xx status code +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumegroups storage details get too many requests response a status code equal to that given +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the pcloud volumegroups storage details get too many requests response +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) Code() int { + return 429 +} + +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetTooManyRequests %s", 429, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetTooManyRequests %s", 429, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsStorageDetailsGetTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumegroupsStorageDetailsGetInternalServerError creates a PcloudVolumegroupsStorageDetailsGetInternalServerError with default headers values +func NewPcloudVolumegroupsStorageDetailsGetInternalServerError() *PcloudVolumegroupsStorageDetailsGetInternalServerError { + return &PcloudVolumegroupsStorageDetailsGetInternalServerError{} +} + +/* +PcloudVolumegroupsStorageDetailsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumegroupsStorageDetailsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumegroups storage details get internal server error response has a 2xx status code +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumegroups storage details get internal server error response has a 3xx status code +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumegroups storage details get internal server error response has a 4xx status code +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumegroups storage details get internal server error response has a 5xx status code +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumegroups storage details get internal server error response a status code equal to that given +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumegroups storage details get internal server error response +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volume-groups/{volume_group_id}/storage-details][%d] pcloudVolumegroupsStorageDetailsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumegroupsStorageDetailsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/p_cloud_volume_onboarding_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/p_cloud_volume_onboarding_client.go new file mode 100644 index 000000000..571fc84a6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/p_cloud_volume_onboarding_client.go @@ -0,0 +1,203 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_onboarding + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud volume onboarding API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud volume onboarding API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud volume onboarding API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud volume onboarding API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudVolumeOnboardingGet(params *PcloudVolumeOnboardingGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumeOnboardingGetOK, error) + + PcloudVolumeOnboardingGetall(params *PcloudVolumeOnboardingGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumeOnboardingGetallOK, error) + + PcloudVolumeOnboardingPost(params *PcloudVolumeOnboardingPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumeOnboardingPostAccepted, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudVolumeOnboardingGet gets the information of volume onboarding operation +*/ +func (a *Client) PcloudVolumeOnboardingGet(params *PcloudVolumeOnboardingGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumeOnboardingGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumeOnboardingGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volume.onboarding.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumeOnboardingGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumeOnboardingGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volume.onboarding.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumeOnboardingGetall lists all volume onboardings for this cloud instance +*/ +func (a *Client) PcloudVolumeOnboardingGetall(params *PcloudVolumeOnboardingGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumeOnboardingGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumeOnboardingGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volume.onboarding.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumeOnboardingGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumeOnboardingGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volume.onboarding.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudVolumeOnboardingPost onboards auxiliary volumes to target site +*/ +func (a *Client) PcloudVolumeOnboardingPost(params *PcloudVolumeOnboardingPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumeOnboardingPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumeOnboardingPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volume.onboarding.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumeOnboardingPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumeOnboardingPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volume.onboarding.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_get_parameters.go new file mode 100644 index 000000000..3fc2f3fdf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_onboarding + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumeOnboardingGetParams creates a new PcloudVolumeOnboardingGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumeOnboardingGetParams() *PcloudVolumeOnboardingGetParams { + return &PcloudVolumeOnboardingGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumeOnboardingGetParamsWithTimeout creates a new PcloudVolumeOnboardingGetParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumeOnboardingGetParamsWithTimeout(timeout time.Duration) *PcloudVolumeOnboardingGetParams { + return &PcloudVolumeOnboardingGetParams{ + timeout: timeout, + } +} + +// NewPcloudVolumeOnboardingGetParamsWithContext creates a new PcloudVolumeOnboardingGetParams object +// with the ability to set a context for a request. +func NewPcloudVolumeOnboardingGetParamsWithContext(ctx context.Context) *PcloudVolumeOnboardingGetParams { + return &PcloudVolumeOnboardingGetParams{ + Context: ctx, + } +} + +// NewPcloudVolumeOnboardingGetParamsWithHTTPClient creates a new PcloudVolumeOnboardingGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumeOnboardingGetParamsWithHTTPClient(client *http.Client) *PcloudVolumeOnboardingGetParams { + return &PcloudVolumeOnboardingGetParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumeOnboardingGetParams contains all the parameters to send to the API endpoint + + for the pcloud volume onboarding get operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumeOnboardingGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeOnboardingID. + + Indicates volume onboarding operation id + */ + VolumeOnboardingID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volume onboarding get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumeOnboardingGetParams) WithDefaults() *PcloudVolumeOnboardingGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volume onboarding get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumeOnboardingGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) WithTimeout(timeout time.Duration) *PcloudVolumeOnboardingGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) WithContext(ctx context.Context) *PcloudVolumeOnboardingGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) WithHTTPClient(client *http.Client) *PcloudVolumeOnboardingGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumeOnboardingGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeOnboardingID adds the volumeOnboardingID to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) WithVolumeOnboardingID(volumeOnboardingID string) *PcloudVolumeOnboardingGetParams { + o.SetVolumeOnboardingID(volumeOnboardingID) + return o +} + +// SetVolumeOnboardingID adds the volumeOnboardingId to the pcloud volume onboarding get params +func (o *PcloudVolumeOnboardingGetParams) SetVolumeOnboardingID(volumeOnboardingID string) { + o.VolumeOnboardingID = volumeOnboardingID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumeOnboardingGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_onboarding_id + if err := r.SetPathParam("volume_onboarding_id", o.VolumeOnboardingID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_get_responses.go new file mode 100644 index 000000000..901d6c8f5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_onboarding + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumeOnboardingGetReader is a Reader for the PcloudVolumeOnboardingGet structure. +type PcloudVolumeOnboardingGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumeOnboardingGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumeOnboardingGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumeOnboardingGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumeOnboardingGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumeOnboardingGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumeOnboardingGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumeOnboardingGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}] pcloud.volume.onboarding.get", response, response.Code()) + } +} + +// NewPcloudVolumeOnboardingGetOK creates a PcloudVolumeOnboardingGetOK with default headers values +func NewPcloudVolumeOnboardingGetOK() *PcloudVolumeOnboardingGetOK { + return &PcloudVolumeOnboardingGetOK{} +} + +/* +PcloudVolumeOnboardingGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumeOnboardingGetOK struct { + Payload *models.VolumeOnboarding +} + +// IsSuccess returns true when this pcloud volume onboarding get o k response has a 2xx status code +func (o *PcloudVolumeOnboardingGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volume onboarding get o k response has a 3xx status code +func (o *PcloudVolumeOnboardingGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding get o k response has a 4xx status code +func (o *PcloudVolumeOnboardingGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volume onboarding get o k response has a 5xx status code +func (o *PcloudVolumeOnboardingGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding get o k response a status code equal to that given +func (o *PcloudVolumeOnboardingGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volume onboarding get o k response +func (o *PcloudVolumeOnboardingGetOK) Code() int { + return 200 +} + +func (o *PcloudVolumeOnboardingGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetOK %s", 200, payload) +} + +func (o *PcloudVolumeOnboardingGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetOK %s", 200, payload) +} + +func (o *PcloudVolumeOnboardingGetOK) GetPayload() *models.VolumeOnboarding { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeOnboarding) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetBadRequest creates a PcloudVolumeOnboardingGetBadRequest with default headers values +func NewPcloudVolumeOnboardingGetBadRequest() *PcloudVolumeOnboardingGetBadRequest { + return &PcloudVolumeOnboardingGetBadRequest{} +} + +/* +PcloudVolumeOnboardingGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumeOnboardingGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding get bad request response has a 2xx status code +func (o *PcloudVolumeOnboardingGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding get bad request response has a 3xx status code +func (o *PcloudVolumeOnboardingGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding get bad request response has a 4xx status code +func (o *PcloudVolumeOnboardingGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding get bad request response has a 5xx status code +func (o *PcloudVolumeOnboardingGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding get bad request response a status code equal to that given +func (o *PcloudVolumeOnboardingGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volume onboarding get bad request response +func (o *PcloudVolumeOnboardingGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumeOnboardingGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetBadRequest %s", 400, payload) +} + +func (o *PcloudVolumeOnboardingGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetBadRequest %s", 400, payload) +} + +func (o *PcloudVolumeOnboardingGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetUnauthorized creates a PcloudVolumeOnboardingGetUnauthorized with default headers values +func NewPcloudVolumeOnboardingGetUnauthorized() *PcloudVolumeOnboardingGetUnauthorized { + return &PcloudVolumeOnboardingGetUnauthorized{} +} + +/* +PcloudVolumeOnboardingGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumeOnboardingGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding get unauthorized response has a 2xx status code +func (o *PcloudVolumeOnboardingGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding get unauthorized response has a 3xx status code +func (o *PcloudVolumeOnboardingGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding get unauthorized response has a 4xx status code +func (o *PcloudVolumeOnboardingGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding get unauthorized response has a 5xx status code +func (o *PcloudVolumeOnboardingGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding get unauthorized response a status code equal to that given +func (o *PcloudVolumeOnboardingGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volume onboarding get unauthorized response +func (o *PcloudVolumeOnboardingGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumeOnboardingGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumeOnboardingGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumeOnboardingGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetForbidden creates a PcloudVolumeOnboardingGetForbidden with default headers values +func NewPcloudVolumeOnboardingGetForbidden() *PcloudVolumeOnboardingGetForbidden { + return &PcloudVolumeOnboardingGetForbidden{} +} + +/* +PcloudVolumeOnboardingGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumeOnboardingGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding get forbidden response has a 2xx status code +func (o *PcloudVolumeOnboardingGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding get forbidden response has a 3xx status code +func (o *PcloudVolumeOnboardingGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding get forbidden response has a 4xx status code +func (o *PcloudVolumeOnboardingGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding get forbidden response has a 5xx status code +func (o *PcloudVolumeOnboardingGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding get forbidden response a status code equal to that given +func (o *PcloudVolumeOnboardingGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volume onboarding get forbidden response +func (o *PcloudVolumeOnboardingGetForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumeOnboardingGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetForbidden %s", 403, payload) +} + +func (o *PcloudVolumeOnboardingGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetForbidden %s", 403, payload) +} + +func (o *PcloudVolumeOnboardingGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetNotFound creates a PcloudVolumeOnboardingGetNotFound with default headers values +func NewPcloudVolumeOnboardingGetNotFound() *PcloudVolumeOnboardingGetNotFound { + return &PcloudVolumeOnboardingGetNotFound{} +} + +/* +PcloudVolumeOnboardingGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumeOnboardingGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding get not found response has a 2xx status code +func (o *PcloudVolumeOnboardingGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding get not found response has a 3xx status code +func (o *PcloudVolumeOnboardingGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding get not found response has a 4xx status code +func (o *PcloudVolumeOnboardingGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding get not found response has a 5xx status code +func (o *PcloudVolumeOnboardingGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding get not found response a status code equal to that given +func (o *PcloudVolumeOnboardingGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volume onboarding get not found response +func (o *PcloudVolumeOnboardingGetNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumeOnboardingGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetNotFound %s", 404, payload) +} + +func (o *PcloudVolumeOnboardingGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetNotFound %s", 404, payload) +} + +func (o *PcloudVolumeOnboardingGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetInternalServerError creates a PcloudVolumeOnboardingGetInternalServerError with default headers values +func NewPcloudVolumeOnboardingGetInternalServerError() *PcloudVolumeOnboardingGetInternalServerError { + return &PcloudVolumeOnboardingGetInternalServerError{} +} + +/* +PcloudVolumeOnboardingGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumeOnboardingGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding get internal server error response has a 2xx status code +func (o *PcloudVolumeOnboardingGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding get internal server error response has a 3xx status code +func (o *PcloudVolumeOnboardingGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding get internal server error response has a 4xx status code +func (o *PcloudVolumeOnboardingGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volume onboarding get internal server error response has a 5xx status code +func (o *PcloudVolumeOnboardingGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volume onboarding get internal server error response a status code equal to that given +func (o *PcloudVolumeOnboardingGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volume onboarding get internal server error response +func (o *PcloudVolumeOnboardingGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumeOnboardingGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumeOnboardingGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding/{volume_onboarding_id}][%d] pcloudVolumeOnboardingGetInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumeOnboardingGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_getall_parameters.go new file mode 100644 index 000000000..5cb9db5ed --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_getall_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_onboarding + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudVolumeOnboardingGetallParams creates a new PcloudVolumeOnboardingGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumeOnboardingGetallParams() *PcloudVolumeOnboardingGetallParams { + return &PcloudVolumeOnboardingGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumeOnboardingGetallParamsWithTimeout creates a new PcloudVolumeOnboardingGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumeOnboardingGetallParamsWithTimeout(timeout time.Duration) *PcloudVolumeOnboardingGetallParams { + return &PcloudVolumeOnboardingGetallParams{ + timeout: timeout, + } +} + +// NewPcloudVolumeOnboardingGetallParamsWithContext creates a new PcloudVolumeOnboardingGetallParams object +// with the ability to set a context for a request. +func NewPcloudVolumeOnboardingGetallParamsWithContext(ctx context.Context) *PcloudVolumeOnboardingGetallParams { + return &PcloudVolumeOnboardingGetallParams{ + Context: ctx, + } +} + +// NewPcloudVolumeOnboardingGetallParamsWithHTTPClient creates a new PcloudVolumeOnboardingGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumeOnboardingGetallParamsWithHTTPClient(client *http.Client) *PcloudVolumeOnboardingGetallParams { + return &PcloudVolumeOnboardingGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumeOnboardingGetallParams contains all the parameters to send to the API endpoint + + for the pcloud volume onboarding getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumeOnboardingGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volume onboarding getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumeOnboardingGetallParams) WithDefaults() *PcloudVolumeOnboardingGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volume onboarding getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumeOnboardingGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volume onboarding getall params +func (o *PcloudVolumeOnboardingGetallParams) WithTimeout(timeout time.Duration) *PcloudVolumeOnboardingGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volume onboarding getall params +func (o *PcloudVolumeOnboardingGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volume onboarding getall params +func (o *PcloudVolumeOnboardingGetallParams) WithContext(ctx context.Context) *PcloudVolumeOnboardingGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volume onboarding getall params +func (o *PcloudVolumeOnboardingGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volume onboarding getall params +func (o *PcloudVolumeOnboardingGetallParams) WithHTTPClient(client *http.Client) *PcloudVolumeOnboardingGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volume onboarding getall params +func (o *PcloudVolumeOnboardingGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volume onboarding getall params +func (o *PcloudVolumeOnboardingGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumeOnboardingGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volume onboarding getall params +func (o *PcloudVolumeOnboardingGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumeOnboardingGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_getall_responses.go new file mode 100644 index 000000000..12b40d283 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_onboarding + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumeOnboardingGetallReader is a Reader for the PcloudVolumeOnboardingGetall structure. +type PcloudVolumeOnboardingGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumeOnboardingGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumeOnboardingGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumeOnboardingGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumeOnboardingGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumeOnboardingGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumeOnboardingGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumeOnboardingGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding] pcloud.volume.onboarding.getall", response, response.Code()) + } +} + +// NewPcloudVolumeOnboardingGetallOK creates a PcloudVolumeOnboardingGetallOK with default headers values +func NewPcloudVolumeOnboardingGetallOK() *PcloudVolumeOnboardingGetallOK { + return &PcloudVolumeOnboardingGetallOK{} +} + +/* +PcloudVolumeOnboardingGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumeOnboardingGetallOK struct { + Payload *models.VolumeOnboardings +} + +// IsSuccess returns true when this pcloud volume onboarding getall o k response has a 2xx status code +func (o *PcloudVolumeOnboardingGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volume onboarding getall o k response has a 3xx status code +func (o *PcloudVolumeOnboardingGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding getall o k response has a 4xx status code +func (o *PcloudVolumeOnboardingGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volume onboarding getall o k response has a 5xx status code +func (o *PcloudVolumeOnboardingGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding getall o k response a status code equal to that given +func (o *PcloudVolumeOnboardingGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volume onboarding getall o k response +func (o *PcloudVolumeOnboardingGetallOK) Code() int { + return 200 +} + +func (o *PcloudVolumeOnboardingGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallOK %s", 200, payload) +} + +func (o *PcloudVolumeOnboardingGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallOK %s", 200, payload) +} + +func (o *PcloudVolumeOnboardingGetallOK) GetPayload() *models.VolumeOnboardings { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeOnboardings) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetallBadRequest creates a PcloudVolumeOnboardingGetallBadRequest with default headers values +func NewPcloudVolumeOnboardingGetallBadRequest() *PcloudVolumeOnboardingGetallBadRequest { + return &PcloudVolumeOnboardingGetallBadRequest{} +} + +/* +PcloudVolumeOnboardingGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumeOnboardingGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding getall bad request response has a 2xx status code +func (o *PcloudVolumeOnboardingGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding getall bad request response has a 3xx status code +func (o *PcloudVolumeOnboardingGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding getall bad request response has a 4xx status code +func (o *PcloudVolumeOnboardingGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding getall bad request response has a 5xx status code +func (o *PcloudVolumeOnboardingGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding getall bad request response a status code equal to that given +func (o *PcloudVolumeOnboardingGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volume onboarding getall bad request response +func (o *PcloudVolumeOnboardingGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumeOnboardingGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVolumeOnboardingGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallBadRequest %s", 400, payload) +} + +func (o *PcloudVolumeOnboardingGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetallUnauthorized creates a PcloudVolumeOnboardingGetallUnauthorized with default headers values +func NewPcloudVolumeOnboardingGetallUnauthorized() *PcloudVolumeOnboardingGetallUnauthorized { + return &PcloudVolumeOnboardingGetallUnauthorized{} +} + +/* +PcloudVolumeOnboardingGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumeOnboardingGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding getall unauthorized response has a 2xx status code +func (o *PcloudVolumeOnboardingGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding getall unauthorized response has a 3xx status code +func (o *PcloudVolumeOnboardingGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding getall unauthorized response has a 4xx status code +func (o *PcloudVolumeOnboardingGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding getall unauthorized response has a 5xx status code +func (o *PcloudVolumeOnboardingGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding getall unauthorized response a status code equal to that given +func (o *PcloudVolumeOnboardingGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volume onboarding getall unauthorized response +func (o *PcloudVolumeOnboardingGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumeOnboardingGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumeOnboardingGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumeOnboardingGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetallForbidden creates a PcloudVolumeOnboardingGetallForbidden with default headers values +func NewPcloudVolumeOnboardingGetallForbidden() *PcloudVolumeOnboardingGetallForbidden { + return &PcloudVolumeOnboardingGetallForbidden{} +} + +/* +PcloudVolumeOnboardingGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumeOnboardingGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding getall forbidden response has a 2xx status code +func (o *PcloudVolumeOnboardingGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding getall forbidden response has a 3xx status code +func (o *PcloudVolumeOnboardingGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding getall forbidden response has a 4xx status code +func (o *PcloudVolumeOnboardingGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding getall forbidden response has a 5xx status code +func (o *PcloudVolumeOnboardingGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding getall forbidden response a status code equal to that given +func (o *PcloudVolumeOnboardingGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volume onboarding getall forbidden response +func (o *PcloudVolumeOnboardingGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumeOnboardingGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallForbidden %s", 403, payload) +} + +func (o *PcloudVolumeOnboardingGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallForbidden %s", 403, payload) +} + +func (o *PcloudVolumeOnboardingGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetallNotFound creates a PcloudVolumeOnboardingGetallNotFound with default headers values +func NewPcloudVolumeOnboardingGetallNotFound() *PcloudVolumeOnboardingGetallNotFound { + return &PcloudVolumeOnboardingGetallNotFound{} +} + +/* +PcloudVolumeOnboardingGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumeOnboardingGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding getall not found response has a 2xx status code +func (o *PcloudVolumeOnboardingGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding getall not found response has a 3xx status code +func (o *PcloudVolumeOnboardingGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding getall not found response has a 4xx status code +func (o *PcloudVolumeOnboardingGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding getall not found response has a 5xx status code +func (o *PcloudVolumeOnboardingGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding getall not found response a status code equal to that given +func (o *PcloudVolumeOnboardingGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volume onboarding getall not found response +func (o *PcloudVolumeOnboardingGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumeOnboardingGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallNotFound %s", 404, payload) +} + +func (o *PcloudVolumeOnboardingGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallNotFound %s", 404, payload) +} + +func (o *PcloudVolumeOnboardingGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingGetallInternalServerError creates a PcloudVolumeOnboardingGetallInternalServerError with default headers values +func NewPcloudVolumeOnboardingGetallInternalServerError() *PcloudVolumeOnboardingGetallInternalServerError { + return &PcloudVolumeOnboardingGetallInternalServerError{} +} + +/* +PcloudVolumeOnboardingGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumeOnboardingGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding getall internal server error response has a 2xx status code +func (o *PcloudVolumeOnboardingGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding getall internal server error response has a 3xx status code +func (o *PcloudVolumeOnboardingGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding getall internal server error response has a 4xx status code +func (o *PcloudVolumeOnboardingGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volume onboarding getall internal server error response has a 5xx status code +func (o *PcloudVolumeOnboardingGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volume onboarding getall internal server error response a status code equal to that given +func (o *PcloudVolumeOnboardingGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volume onboarding getall internal server error response +func (o *PcloudVolumeOnboardingGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumeOnboardingGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumeOnboardingGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumeOnboardingGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_post_parameters.go new file mode 100644 index 000000000..5b0ae4503 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_onboarding + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVolumeOnboardingPostParams creates a new PcloudVolumeOnboardingPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumeOnboardingPostParams() *PcloudVolumeOnboardingPostParams { + return &PcloudVolumeOnboardingPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumeOnboardingPostParamsWithTimeout creates a new PcloudVolumeOnboardingPostParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumeOnboardingPostParamsWithTimeout(timeout time.Duration) *PcloudVolumeOnboardingPostParams { + return &PcloudVolumeOnboardingPostParams{ + timeout: timeout, + } +} + +// NewPcloudVolumeOnboardingPostParamsWithContext creates a new PcloudVolumeOnboardingPostParams object +// with the ability to set a context for a request. +func NewPcloudVolumeOnboardingPostParamsWithContext(ctx context.Context) *PcloudVolumeOnboardingPostParams { + return &PcloudVolumeOnboardingPostParams{ + Context: ctx, + } +} + +// NewPcloudVolumeOnboardingPostParamsWithHTTPClient creates a new PcloudVolumeOnboardingPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumeOnboardingPostParamsWithHTTPClient(client *http.Client) *PcloudVolumeOnboardingPostParams { + return &PcloudVolumeOnboardingPostParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumeOnboardingPostParams contains all the parameters to send to the API endpoint + + for the pcloud volume onboarding post operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumeOnboardingPostParams struct { + + /* Body. + + Parameters for the creation of volume onboarding + */ + Body *models.VolumeOnboardingCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volume onboarding post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumeOnboardingPostParams) WithDefaults() *PcloudVolumeOnboardingPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volume onboarding post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumeOnboardingPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) WithTimeout(timeout time.Duration) *PcloudVolumeOnboardingPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) WithContext(ctx context.Context) *PcloudVolumeOnboardingPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) WithHTTPClient(client *http.Client) *PcloudVolumeOnboardingPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) WithBody(body *models.VolumeOnboardingCreate) *PcloudVolumeOnboardingPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) SetBody(body *models.VolumeOnboardingCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumeOnboardingPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volume onboarding post params +func (o *PcloudVolumeOnboardingPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumeOnboardingPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_post_responses.go new file mode 100644 index 000000000..09f309918 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding/pcloud_volume_onboarding_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volume_onboarding + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumeOnboardingPostReader is a Reader for the PcloudVolumeOnboardingPost structure. +type PcloudVolumeOnboardingPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumeOnboardingPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudVolumeOnboardingPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumeOnboardingPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumeOnboardingPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumeOnboardingPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumeOnboardingPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudVolumeOnboardingPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumeOnboardingPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding] pcloud.volume.onboarding.post", response, response.Code()) + } +} + +// NewPcloudVolumeOnboardingPostAccepted creates a PcloudVolumeOnboardingPostAccepted with default headers values +func NewPcloudVolumeOnboardingPostAccepted() *PcloudVolumeOnboardingPostAccepted { + return &PcloudVolumeOnboardingPostAccepted{} +} + +/* +PcloudVolumeOnboardingPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudVolumeOnboardingPostAccepted struct { + Payload *models.VolumeOnboardingCreateResponse +} + +// IsSuccess returns true when this pcloud volume onboarding post accepted response has a 2xx status code +func (o *PcloudVolumeOnboardingPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volume onboarding post accepted response has a 3xx status code +func (o *PcloudVolumeOnboardingPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding post accepted response has a 4xx status code +func (o *PcloudVolumeOnboardingPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volume onboarding post accepted response has a 5xx status code +func (o *PcloudVolumeOnboardingPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding post accepted response a status code equal to that given +func (o *PcloudVolumeOnboardingPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud volume onboarding post accepted response +func (o *PcloudVolumeOnboardingPostAccepted) Code() int { + return 202 +} + +func (o *PcloudVolumeOnboardingPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostAccepted %s", 202, payload) +} + +func (o *PcloudVolumeOnboardingPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostAccepted %s", 202, payload) +} + +func (o *PcloudVolumeOnboardingPostAccepted) GetPayload() *models.VolumeOnboardingCreateResponse { + return o.Payload +} + +func (o *PcloudVolumeOnboardingPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeOnboardingCreateResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingPostBadRequest creates a PcloudVolumeOnboardingPostBadRequest with default headers values +func NewPcloudVolumeOnboardingPostBadRequest() *PcloudVolumeOnboardingPostBadRequest { + return &PcloudVolumeOnboardingPostBadRequest{} +} + +/* +PcloudVolumeOnboardingPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumeOnboardingPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding post bad request response has a 2xx status code +func (o *PcloudVolumeOnboardingPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding post bad request response has a 3xx status code +func (o *PcloudVolumeOnboardingPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding post bad request response has a 4xx status code +func (o *PcloudVolumeOnboardingPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding post bad request response has a 5xx status code +func (o *PcloudVolumeOnboardingPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding post bad request response a status code equal to that given +func (o *PcloudVolumeOnboardingPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volume onboarding post bad request response +func (o *PcloudVolumeOnboardingPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumeOnboardingPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostBadRequest %s", 400, payload) +} + +func (o *PcloudVolumeOnboardingPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostBadRequest %s", 400, payload) +} + +func (o *PcloudVolumeOnboardingPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingPostUnauthorized creates a PcloudVolumeOnboardingPostUnauthorized with default headers values +func NewPcloudVolumeOnboardingPostUnauthorized() *PcloudVolumeOnboardingPostUnauthorized { + return &PcloudVolumeOnboardingPostUnauthorized{} +} + +/* +PcloudVolumeOnboardingPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumeOnboardingPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding post unauthorized response has a 2xx status code +func (o *PcloudVolumeOnboardingPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding post unauthorized response has a 3xx status code +func (o *PcloudVolumeOnboardingPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding post unauthorized response has a 4xx status code +func (o *PcloudVolumeOnboardingPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding post unauthorized response has a 5xx status code +func (o *PcloudVolumeOnboardingPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding post unauthorized response a status code equal to that given +func (o *PcloudVolumeOnboardingPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volume onboarding post unauthorized response +func (o *PcloudVolumeOnboardingPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumeOnboardingPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumeOnboardingPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumeOnboardingPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingPostForbidden creates a PcloudVolumeOnboardingPostForbidden with default headers values +func NewPcloudVolumeOnboardingPostForbidden() *PcloudVolumeOnboardingPostForbidden { + return &PcloudVolumeOnboardingPostForbidden{} +} + +/* +PcloudVolumeOnboardingPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumeOnboardingPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding post forbidden response has a 2xx status code +func (o *PcloudVolumeOnboardingPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding post forbidden response has a 3xx status code +func (o *PcloudVolumeOnboardingPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding post forbidden response has a 4xx status code +func (o *PcloudVolumeOnboardingPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding post forbidden response has a 5xx status code +func (o *PcloudVolumeOnboardingPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding post forbidden response a status code equal to that given +func (o *PcloudVolumeOnboardingPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volume onboarding post forbidden response +func (o *PcloudVolumeOnboardingPostForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumeOnboardingPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostForbidden %s", 403, payload) +} + +func (o *PcloudVolumeOnboardingPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostForbidden %s", 403, payload) +} + +func (o *PcloudVolumeOnboardingPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingPostNotFound creates a PcloudVolumeOnboardingPostNotFound with default headers values +func NewPcloudVolumeOnboardingPostNotFound() *PcloudVolumeOnboardingPostNotFound { + return &PcloudVolumeOnboardingPostNotFound{} +} + +/* +PcloudVolumeOnboardingPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumeOnboardingPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding post not found response has a 2xx status code +func (o *PcloudVolumeOnboardingPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding post not found response has a 3xx status code +func (o *PcloudVolumeOnboardingPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding post not found response has a 4xx status code +func (o *PcloudVolumeOnboardingPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding post not found response has a 5xx status code +func (o *PcloudVolumeOnboardingPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding post not found response a status code equal to that given +func (o *PcloudVolumeOnboardingPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volume onboarding post not found response +func (o *PcloudVolumeOnboardingPostNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumeOnboardingPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostNotFound %s", 404, payload) +} + +func (o *PcloudVolumeOnboardingPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostNotFound %s", 404, payload) +} + +func (o *PcloudVolumeOnboardingPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingPostConflict creates a PcloudVolumeOnboardingPostConflict with default headers values +func NewPcloudVolumeOnboardingPostConflict() *PcloudVolumeOnboardingPostConflict { + return &PcloudVolumeOnboardingPostConflict{} +} + +/* +PcloudVolumeOnboardingPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudVolumeOnboardingPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding post conflict response has a 2xx status code +func (o *PcloudVolumeOnboardingPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding post conflict response has a 3xx status code +func (o *PcloudVolumeOnboardingPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding post conflict response has a 4xx status code +func (o *PcloudVolumeOnboardingPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volume onboarding post conflict response has a 5xx status code +func (o *PcloudVolumeOnboardingPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volume onboarding post conflict response a status code equal to that given +func (o *PcloudVolumeOnboardingPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud volume onboarding post conflict response +func (o *PcloudVolumeOnboardingPostConflict) Code() int { + return 409 +} + +func (o *PcloudVolumeOnboardingPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostConflict %s", 409, payload) +} + +func (o *PcloudVolumeOnboardingPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostConflict %s", 409, payload) +} + +func (o *PcloudVolumeOnboardingPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumeOnboardingPostInternalServerError creates a PcloudVolumeOnboardingPostInternalServerError with default headers values +func NewPcloudVolumeOnboardingPostInternalServerError() *PcloudVolumeOnboardingPostInternalServerError { + return &PcloudVolumeOnboardingPostInternalServerError{} +} + +/* +PcloudVolumeOnboardingPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumeOnboardingPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volume onboarding post internal server error response has a 2xx status code +func (o *PcloudVolumeOnboardingPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volume onboarding post internal server error response has a 3xx status code +func (o *PcloudVolumeOnboardingPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volume onboarding post internal server error response has a 4xx status code +func (o *PcloudVolumeOnboardingPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volume onboarding post internal server error response has a 5xx status code +func (o *PcloudVolumeOnboardingPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volume onboarding post internal server error response a status code equal to that given +func (o *PcloudVolumeOnboardingPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volume onboarding post internal server error response +func (o *PcloudVolumeOnboardingPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumeOnboardingPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumeOnboardingPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/onboarding][%d] pcloudVolumeOnboardingPostInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumeOnboardingPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumeOnboardingPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/p_cloud_volumes_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/p_cloud_volumes_client.go new file mode 100644 index 000000000..7528616f0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/p_cloud_volumes_client.go @@ -0,0 +1,1428 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new p cloud volumes API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new p cloud volumes API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new p cloud volumes API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for p cloud volumes API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + PcloudCloudinstancesVolumesFlashCopyMappingsGet(params *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesFlashCopyMappingsGetOK, error) + + PcloudCloudinstancesVolumesActionPost(params *PcloudCloudinstancesVolumesActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesActionPostAccepted, error) + + PcloudCloudinstancesVolumesDelete(params *PcloudCloudinstancesVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesDeleteOK, error) + + PcloudCloudinstancesVolumesGet(params *PcloudCloudinstancesVolumesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesGetOK, error) + + PcloudCloudinstancesVolumesGetall(params *PcloudCloudinstancesVolumesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesGetallOK, error) + + PcloudCloudinstancesVolumesPost(params *PcloudCloudinstancesVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesPostAccepted, error) + + PcloudCloudinstancesVolumesPut(params *PcloudCloudinstancesVolumesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesPutOK, error) + + PcloudCloudinstancesVolumesRemoteCopyRelationshipGet(params *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK, error) + + PcloudPvminstancesVolumesDelete(params *PcloudPvminstancesVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesDeleteAccepted, error) + + PcloudPvminstancesVolumesGet(params *PcloudPvminstancesVolumesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesGetOK, error) + + PcloudPvminstancesVolumesGetall(params *PcloudPvminstancesVolumesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesGetallOK, error) + + PcloudPvminstancesVolumesPost(params *PcloudPvminstancesVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesPostOK, error) + + PcloudPvminstancesVolumesPut(params *PcloudPvminstancesVolumesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesPutOK, error) + + PcloudPvminstancesVolumesSetbootPut(params *PcloudPvminstancesVolumesSetbootPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesSetbootPutOK, error) + + PcloudV2PvminstancesVolumesDelete(params *PcloudV2PvminstancesVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesVolumesDeleteAccepted, error) + + PcloudV2PvminstancesVolumesPost(params *PcloudV2PvminstancesVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesVolumesPostAccepted, error) + + PcloudV2VolumesClonePost(params *PcloudV2VolumesClonePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesClonePostAccepted, error) + + PcloudV2VolumesClonetasksGet(params *PcloudV2VolumesClonetasksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesClonetasksGetOK, error) + + PcloudV2VolumesDelete(params *PcloudV2VolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesDeleteAccepted, *PcloudV2VolumesDeletePartialContent, error) + + PcloudV2VolumesGetall(params *PcloudV2VolumesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesGetallOK, error) + + PcloudV2VolumesPost(params *PcloudV2VolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesPostCreated, error) + + PcloudV2VolumescloneCancelPost(params *PcloudV2VolumescloneCancelPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneCancelPostAccepted, error) + + PcloudV2VolumescloneDelete(params *PcloudV2VolumescloneDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneDeleteOK, error) + + PcloudV2VolumescloneExecutePost(params *PcloudV2VolumescloneExecutePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneExecutePostAccepted, error) + + PcloudV2VolumescloneGet(params *PcloudV2VolumescloneGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneGetOK, error) + + PcloudV2VolumescloneGetall(params *PcloudV2VolumescloneGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneGetallOK, error) + + PcloudV2VolumesclonePost(params *PcloudV2VolumesclonePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesclonePostAccepted, error) + + PcloudV2VolumescloneStartPost(params *PcloudV2VolumescloneStartPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneStartPostOK, error) + + PcloudVolumesClonePost(params *PcloudVolumesClonePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumesClonePostOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGet gets a list of flashcopy mappings of a given volume +*/ +func (a *Client) PcloudCloudinstancesVolumesFlashCopyMappingsGet(params *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesFlashCopyMappingsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.volumes.FlashCopyMappings.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesVolumesFlashCopyMappingsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.volumes.FlashCopyMappings.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesVolumesActionPost performs an action on a volume +*/ +func (a *Client) PcloudCloudinstancesVolumesActionPost(params *PcloudCloudinstancesVolumesActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesActionPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesVolumesActionPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.volumes.action.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesVolumesActionPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesVolumesActionPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.volumes.action.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesVolumesDelete deletes a cloud instance volume +*/ +func (a *Client) PcloudCloudinstancesVolumesDelete(params *PcloudCloudinstancesVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesVolumesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.volumes.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesVolumesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesVolumesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.volumes.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesVolumesGet detaileds info of a volume +*/ +func (a *Client) PcloudCloudinstancesVolumesGet(params *PcloudCloudinstancesVolumesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesVolumesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.volumes.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesVolumesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesVolumesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.volumes.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesVolumesGetall lists all volumes for this cloud instance +*/ +func (a *Client) PcloudCloudinstancesVolumesGetall(params *PcloudCloudinstancesVolumesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesVolumesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.volumes.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesVolumesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesVolumesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.volumes.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesVolumesPost creates a new data volume +*/ +func (a *Client) PcloudCloudinstancesVolumesPost(params *PcloudCloudinstancesVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesVolumesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.volumes.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesVolumesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesVolumesPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.volumes.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesVolumesPut updates a cloud instance volume +*/ +func (a *Client) PcloudCloudinstancesVolumesPut(params *PcloudCloudinstancesVolumesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesVolumesPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.volumes.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesVolumesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesVolumesPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.volumes.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGet gets remote copy relationship of a volume +*/ +func (a *Client) PcloudCloudinstancesVolumesRemoteCopyRelationshipGet(params *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.cloudinstances.volumes.remoteCopyRelationship.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.cloudinstances.volumes.remoteCopyRelationship.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVolumesDelete detaches a volume from a p VM instance +*/ +func (a *Client) PcloudPvminstancesVolumesDelete(params *PcloudPvminstancesVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVolumesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.volumes.delete", + Method: "DELETE", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVolumesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVolumesDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.volumes.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVolumesGet detaileds info of a volume attached to a p VM instance +*/ +func (a *Client) PcloudPvminstancesVolumesGet(params *PcloudPvminstancesVolumesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVolumesGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.volumes.get", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVolumesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVolumesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.volumes.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVolumesGetall lists all volumes attached to a p VM instance +*/ +func (a *Client) PcloudPvminstancesVolumesGetall(params *PcloudPvminstancesVolumesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVolumesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.volumes.getall", + Method: "GET", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVolumesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVolumesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.volumes.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudPvminstancesVolumesPost attaches a volume to a p VM instance + + Attach a volume to a PVMInstance. + +>**Note**: Recommended for attaching data volumes. In the case of VMRM, it is recommended to use the 'Attach all volumes to a PVM instance' API for attaching the first boot volume. +*/ +func (a *Client) PcloudPvminstancesVolumesPost(params *PcloudPvminstancesVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVolumesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.volumes.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVolumesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVolumesPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.volumes.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudPvminstancesVolumesPut updates a volume attached to a p VM instance +*/ +func (a *Client) PcloudPvminstancesVolumesPut(params *PcloudPvminstancesVolumesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVolumesPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.volumes.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVolumesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVolumesPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.volumes.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudPvminstancesVolumesSetbootPut sets the p VM instance volume as the boot volume + + Set the PVMInstance volume as the boot volume. + +>**Note**: If a non-bootable volume is provided, it will be converted to a bootable volume and then attached. +*/ +func (a *Client) PcloudPvminstancesVolumesSetbootPut(params *PcloudPvminstancesVolumesSetbootPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudPvminstancesVolumesSetbootPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudPvminstancesVolumesSetbootPutParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.pvminstances.volumes.setboot.put", + Method: "PUT", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudPvminstancesVolumesSetbootPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudPvminstancesVolumesSetbootPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.pvminstances.volumes.setboot.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2PvminstancesVolumesDelete detaches multiple volumes from a p VM instance +*/ +func (a *Client) PcloudV2PvminstancesVolumesDelete(params *PcloudV2PvminstancesVolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesVolumesDeleteAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2PvminstancesVolumesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.pvminstances.volumes.delete", + Method: "DELETE", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2PvminstancesVolumesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2PvminstancesVolumesDeleteAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.pvminstances.volumes.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudV2PvminstancesVolumesPost attaches all volumes to a p VM instance + + Attach all volumes to a PVMInstance. + +>**Note**: In the case of VMRM, if a single volume ID is provided in the 'volumeIDs' field, that volume will be converted to a bootable volume and then attached. +*/ +func (a *Client) PcloudV2PvminstancesVolumesPost(params *PcloudV2PvminstancesVolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2PvminstancesVolumesPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2PvminstancesVolumesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.pvminstances.volumes.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2PvminstancesVolumesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2PvminstancesVolumesPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.pvminstances.volumes.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumesClonePost creates a volume clone for specified volumes +*/ +func (a *Client) PcloudV2VolumesClonePost(params *PcloudV2VolumesClonePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesClonePostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumesClonePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumes.clone.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumesClonePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumesClonePostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumes.clone.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumesClonetasksGet gets the status of a volumes clone request for the specified clone task ID +*/ +func (a *Client) PcloudV2VolumesClonetasksGet(params *PcloudV2VolumesClonetasksGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesClonetasksGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumesClonetasksGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumes.clonetasks.get", + Method: "GET", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumesClonetasksGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumesClonetasksGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumes.clonetasks.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumesDelete deletes all volumes +*/ +func (a *Client) PcloudV2VolumesDelete(params *PcloudV2VolumesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesDeleteAccepted, *PcloudV2VolumesDeletePartialContent, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumes.delete", + Method: "DELETE", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *PcloudV2VolumesDeleteAccepted: + return value, nil, nil + case *PcloudV2VolumesDeletePartialContent: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for p_cloud_volumes: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumesGetall lists specified volumes for this cloud instance +*/ +func (a *Client) PcloudV2VolumesGetall(params *PcloudV2VolumesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumes.getall", + Method: "GET", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumes.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumesPost creates multiple data volumes from a single definition +*/ +func (a *Client) PcloudV2VolumesPost(params *PcloudV2VolumesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumesPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumes.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumesPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumes.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumescloneCancelPost cancels a volumes clone request + +Initiates the cleanup action that performs the cleanup of the preparatory clones and snapshot volumes. +*/ +func (a *Client) PcloudV2VolumescloneCancelPost(params *PcloudV2VolumescloneCancelPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneCancelPostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumescloneCancelPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumesclone.cancel.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumescloneCancelPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumescloneCancelPostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumesclone.cancel.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumescloneDelete deletes a volumes clone request +*/ +func (a *Client) PcloudV2VolumescloneDelete(params *PcloudV2VolumescloneDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumescloneDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumesclone.delete", + Method: "DELETE", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumescloneDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumescloneDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumesclone.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumescloneExecutePost initiates the execute action for a volumes clone request + +Execute action creates the cloned volumes using the volume snapshots. +*/ +func (a *Client) PcloudV2VolumescloneExecutePost(params *PcloudV2VolumescloneExecutePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneExecutePostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumescloneExecutePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumesclone.execute.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumescloneExecutePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumescloneExecutePostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumesclone.execute.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumescloneGet gets the details for a volumes clone request +*/ +func (a *Client) PcloudV2VolumescloneGet(params *PcloudV2VolumescloneGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumescloneGetParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumesclone.get", + Method: "GET", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumescloneGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumescloneGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumesclone.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumescloneGetall gets the list of volumes clone request for a cloud instance +*/ +func (a *Client) PcloudV2VolumescloneGetall(params *PcloudV2VolumescloneGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumescloneGetallParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumesclone.getall", + Method: "GET", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumescloneGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumescloneGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumesclone.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudV2VolumesclonePost creates a new volumes clone request and initiates the prepare action + + Requires a minimum of two volumes. + +Requires a minimum of one volume to be in the `in-use` state. +Requires a unique volumes clone name. +Prepare action does the preparatory work for creating the snapshot volumes. +>**Note**: If there is an existing prepare, user cannot trigger another prepare for the same set of volumes. Prepare should be followed by start and execute. If existing prepare does not have to be used then it should be first cancelled before the next prepare operation. +*/ +func (a *Client) PcloudV2VolumesclonePost(params *PcloudV2VolumesclonePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumesclonePostAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumesclonePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumesclone.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumesclonePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumesclonePostAccepted) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumesclone.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +PcloudV2VolumescloneStartPost initiates the start action for a volumes clone request + +Start action starts the consistency group to initiate the flash copy. +*/ +func (a *Client) PcloudV2VolumescloneStartPost(params *PcloudV2VolumescloneStartPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudV2VolumescloneStartPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudV2VolumescloneStartPostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.v2.volumesclone.start.post", + Method: "POST", + PathPattern: "/pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudV2VolumescloneStartPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudV2VolumescloneStartPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.v2.volumesclone.start.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + PcloudVolumesClonePost creates a volume clone for specified volumes + + This API is deprecated, use v2 clone API to perform the volume clone. + +>*Note*: Support for this API will be available till 31st March 2023. +*/ +func (a *Client) PcloudVolumesClonePost(params *PcloudVolumesClonePostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PcloudVolumesClonePostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPcloudVolumesClonePostParams() + } + op := &runtime.ClientOperation{ + ID: "pcloud.volumes.clone.post", + Method: "POST", + PathPattern: "/pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PcloudVolumesClonePostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PcloudVolumesClonePostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for pcloud.volumes.clone.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_action_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_action_post_parameters.go new file mode 100644 index 000000000..fbe61b97c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_action_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudinstancesVolumesActionPostParams creates a new PcloudCloudinstancesVolumesActionPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesVolumesActionPostParams() *PcloudCloudinstancesVolumesActionPostParams { + return &PcloudCloudinstancesVolumesActionPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesVolumesActionPostParamsWithTimeout creates a new PcloudCloudinstancesVolumesActionPostParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesVolumesActionPostParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesActionPostParams { + return &PcloudCloudinstancesVolumesActionPostParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesVolumesActionPostParamsWithContext creates a new PcloudCloudinstancesVolumesActionPostParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesVolumesActionPostParamsWithContext(ctx context.Context) *PcloudCloudinstancesVolumesActionPostParams { + return &PcloudCloudinstancesVolumesActionPostParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesVolumesActionPostParamsWithHTTPClient creates a new PcloudCloudinstancesVolumesActionPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesVolumesActionPostParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesActionPostParams { + return &PcloudCloudinstancesVolumesActionPostParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesVolumesActionPostParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances volumes action post operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesVolumesActionPostParams struct { + + /* Body. + + Parameters for the desired action + */ + Body *models.VolumeAction + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances volumes action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesActionPostParams) WithDefaults() *PcloudCloudinstancesVolumesActionPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances volumes action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesActionPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesActionPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) WithContext(ctx context.Context) *PcloudCloudinstancesVolumesActionPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesActionPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) WithBody(body *models.VolumeAction) *PcloudCloudinstancesVolumesActionPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) SetBody(body *models.VolumeAction) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesVolumesActionPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) WithVolumeID(volumeID string) *PcloudCloudinstancesVolumesActionPostParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud cloudinstances volumes action post params +func (o *PcloudCloudinstancesVolumesActionPostParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesVolumesActionPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_action_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_action_post_responses.go new file mode 100644 index 000000000..4f2489cc4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_action_post_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesVolumesActionPostReader is a Reader for the PcloudCloudinstancesVolumesActionPost structure. +type PcloudCloudinstancesVolumesActionPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesVolumesActionPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudCloudinstancesVolumesActionPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesVolumesActionPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesVolumesActionPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesVolumesActionPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesVolumesActionPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudCloudinstancesVolumesActionPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesVolumesActionPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action] pcloud.cloudinstances.volumes.action.post", response, response.Code()) + } +} + +// NewPcloudCloudinstancesVolumesActionPostAccepted creates a PcloudCloudinstancesVolumesActionPostAccepted with default headers values +func NewPcloudCloudinstancesVolumesActionPostAccepted() *PcloudCloudinstancesVolumesActionPostAccepted { + return &PcloudCloudinstancesVolumesActionPostAccepted{} +} + +/* +PcloudCloudinstancesVolumesActionPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudinstancesVolumesActionPostAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudinstances volumes action post accepted response has a 2xx status code +func (o *PcloudCloudinstancesVolumesActionPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances volumes action post accepted response has a 3xx status code +func (o *PcloudCloudinstancesVolumesActionPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes action post accepted response has a 4xx status code +func (o *PcloudCloudinstancesVolumesActionPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes action post accepted response has a 5xx status code +func (o *PcloudCloudinstancesVolumesActionPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes action post accepted response a status code equal to that given +func (o *PcloudCloudinstancesVolumesActionPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudinstances volumes action post accepted response +func (o *PcloudCloudinstancesVolumesActionPostAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudinstancesVolumesActionPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostAccepted %s", 202, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostAccepted %s", 202, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesActionPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesActionPostBadRequest creates a PcloudCloudinstancesVolumesActionPostBadRequest with default headers values +func NewPcloudCloudinstancesVolumesActionPostBadRequest() *PcloudCloudinstancesVolumesActionPostBadRequest { + return &PcloudCloudinstancesVolumesActionPostBadRequest{} +} + +/* +PcloudCloudinstancesVolumesActionPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesVolumesActionPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes action post bad request response has a 2xx status code +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes action post bad request response has a 3xx status code +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes action post bad request response has a 4xx status code +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes action post bad request response has a 5xx status code +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes action post bad request response a status code equal to that given +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances volumes action post bad request response +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesActionPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesActionPostUnauthorized creates a PcloudCloudinstancesVolumesActionPostUnauthorized with default headers values +func NewPcloudCloudinstancesVolumesActionPostUnauthorized() *PcloudCloudinstancesVolumesActionPostUnauthorized { + return &PcloudCloudinstancesVolumesActionPostUnauthorized{} +} + +/* +PcloudCloudinstancesVolumesActionPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesVolumesActionPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes action post unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes action post unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes action post unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes action post unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes action post unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances volumes action post unauthorized response +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesActionPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesActionPostForbidden creates a PcloudCloudinstancesVolumesActionPostForbidden with default headers values +func NewPcloudCloudinstancesVolumesActionPostForbidden() *PcloudCloudinstancesVolumesActionPostForbidden { + return &PcloudCloudinstancesVolumesActionPostForbidden{} +} + +/* +PcloudCloudinstancesVolumesActionPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesVolumesActionPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes action post forbidden response has a 2xx status code +func (o *PcloudCloudinstancesVolumesActionPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes action post forbidden response has a 3xx status code +func (o *PcloudCloudinstancesVolumesActionPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes action post forbidden response has a 4xx status code +func (o *PcloudCloudinstancesVolumesActionPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes action post forbidden response has a 5xx status code +func (o *PcloudCloudinstancesVolumesActionPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes action post forbidden response a status code equal to that given +func (o *PcloudCloudinstancesVolumesActionPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances volumes action post forbidden response +func (o *PcloudCloudinstancesVolumesActionPostForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesVolumesActionPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesActionPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesActionPostNotFound creates a PcloudCloudinstancesVolumesActionPostNotFound with default headers values +func NewPcloudCloudinstancesVolumesActionPostNotFound() *PcloudCloudinstancesVolumesActionPostNotFound { + return &PcloudCloudinstancesVolumesActionPostNotFound{} +} + +/* +PcloudCloudinstancesVolumesActionPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesVolumesActionPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes action post not found response has a 2xx status code +func (o *PcloudCloudinstancesVolumesActionPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes action post not found response has a 3xx status code +func (o *PcloudCloudinstancesVolumesActionPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes action post not found response has a 4xx status code +func (o *PcloudCloudinstancesVolumesActionPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes action post not found response has a 5xx status code +func (o *PcloudCloudinstancesVolumesActionPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes action post not found response a status code equal to that given +func (o *PcloudCloudinstancesVolumesActionPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances volumes action post not found response +func (o *PcloudCloudinstancesVolumesActionPostNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesVolumesActionPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesActionPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesActionPostConflict creates a PcloudCloudinstancesVolumesActionPostConflict with default headers values +func NewPcloudCloudinstancesVolumesActionPostConflict() *PcloudCloudinstancesVolumesActionPostConflict { + return &PcloudCloudinstancesVolumesActionPostConflict{} +} + +/* +PcloudCloudinstancesVolumesActionPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudCloudinstancesVolumesActionPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes action post conflict response has a 2xx status code +func (o *PcloudCloudinstancesVolumesActionPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes action post conflict response has a 3xx status code +func (o *PcloudCloudinstancesVolumesActionPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes action post conflict response has a 4xx status code +func (o *PcloudCloudinstancesVolumesActionPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes action post conflict response has a 5xx status code +func (o *PcloudCloudinstancesVolumesActionPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes action post conflict response a status code equal to that given +func (o *PcloudCloudinstancesVolumesActionPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud cloudinstances volumes action post conflict response +func (o *PcloudCloudinstancesVolumesActionPostConflict) Code() int { + return 409 +} + +func (o *PcloudCloudinstancesVolumesActionPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesActionPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesActionPostInternalServerError creates a PcloudCloudinstancesVolumesActionPostInternalServerError with default headers values +func NewPcloudCloudinstancesVolumesActionPostInternalServerError() *PcloudCloudinstancesVolumesActionPostInternalServerError { + return &PcloudCloudinstancesVolumesActionPostInternalServerError{} +} + +/* +PcloudCloudinstancesVolumesActionPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesVolumesActionPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes action post internal server error response has a 2xx status code +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes action post internal server error response has a 3xx status code +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes action post internal server error response has a 4xx status code +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes action post internal server error response has a 5xx status code +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances volumes action post internal server error response a status code equal to that given +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances volumes action post internal server error response +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/action][%d] pcloudCloudinstancesVolumesActionPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesActionPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_delete_parameters.go new file mode 100644 index 000000000..28c1c34e0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesVolumesDeleteParams creates a new PcloudCloudinstancesVolumesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesVolumesDeleteParams() *PcloudCloudinstancesVolumesDeleteParams { + return &PcloudCloudinstancesVolumesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesVolumesDeleteParamsWithTimeout creates a new PcloudCloudinstancesVolumesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesVolumesDeleteParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesDeleteParams { + return &PcloudCloudinstancesVolumesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesVolumesDeleteParamsWithContext creates a new PcloudCloudinstancesVolumesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesVolumesDeleteParamsWithContext(ctx context.Context) *PcloudCloudinstancesVolumesDeleteParams { + return &PcloudCloudinstancesVolumesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesVolumesDeleteParamsWithHTTPClient creates a new PcloudCloudinstancesVolumesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesVolumesDeleteParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesDeleteParams { + return &PcloudCloudinstancesVolumesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesVolumesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances volumes delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesVolumesDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesDeleteParams) WithDefaults() *PcloudCloudinstancesVolumesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) WithContext(ctx context.Context) *PcloudCloudinstancesVolumesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesVolumesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) WithVolumeID(volumeID string) *PcloudCloudinstancesVolumesDeleteParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud cloudinstances volumes delete params +func (o *PcloudCloudinstancesVolumesDeleteParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesVolumesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_delete_responses.go new file mode 100644 index 000000000..e10fa3cc4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesVolumesDeleteReader is a Reader for the PcloudCloudinstancesVolumesDelete structure. +type PcloudCloudinstancesVolumesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesVolumesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesVolumesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesVolumesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesVolumesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesVolumesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesVolumesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewPcloudCloudinstancesVolumesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesVolumesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}] pcloud.cloudinstances.volumes.delete", response, response.Code()) + } +} + +// NewPcloudCloudinstancesVolumesDeleteOK creates a PcloudCloudinstancesVolumesDeleteOK with default headers values +func NewPcloudCloudinstancesVolumesDeleteOK() *PcloudCloudinstancesVolumesDeleteOK { + return &PcloudCloudinstancesVolumesDeleteOK{} +} + +/* +PcloudCloudinstancesVolumesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesVolumesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud cloudinstances volumes delete o k response has a 2xx status code +func (o *PcloudCloudinstancesVolumesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances volumes delete o k response has a 3xx status code +func (o *PcloudCloudinstancesVolumesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes delete o k response has a 4xx status code +func (o *PcloudCloudinstancesVolumesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes delete o k response has a 5xx status code +func (o *PcloudCloudinstancesVolumesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes delete o k response a status code equal to that given +func (o *PcloudCloudinstancesVolumesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances volumes delete o k response +func (o *PcloudCloudinstancesVolumesDeleteOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesVolumesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesDeleteBadRequest creates a PcloudCloudinstancesVolumesDeleteBadRequest with default headers values +func NewPcloudCloudinstancesVolumesDeleteBadRequest() *PcloudCloudinstancesVolumesDeleteBadRequest { + return &PcloudCloudinstancesVolumesDeleteBadRequest{} +} + +/* +PcloudCloudinstancesVolumesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesVolumesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes delete bad request response has a 2xx status code +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes delete bad request response has a 3xx status code +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes delete bad request response has a 4xx status code +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes delete bad request response has a 5xx status code +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes delete bad request response a status code equal to that given +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances volumes delete bad request response +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesDeleteUnauthorized creates a PcloudCloudinstancesVolumesDeleteUnauthorized with default headers values +func NewPcloudCloudinstancesVolumesDeleteUnauthorized() *PcloudCloudinstancesVolumesDeleteUnauthorized { + return &PcloudCloudinstancesVolumesDeleteUnauthorized{} +} + +/* +PcloudCloudinstancesVolumesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesVolumesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes delete unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes delete unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes delete unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes delete unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes delete unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances volumes delete unauthorized response +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesDeleteForbidden creates a PcloudCloudinstancesVolumesDeleteForbidden with default headers values +func NewPcloudCloudinstancesVolumesDeleteForbidden() *PcloudCloudinstancesVolumesDeleteForbidden { + return &PcloudCloudinstancesVolumesDeleteForbidden{} +} + +/* +PcloudCloudinstancesVolumesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesVolumesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes delete forbidden response has a 2xx status code +func (o *PcloudCloudinstancesVolumesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes delete forbidden response has a 3xx status code +func (o *PcloudCloudinstancesVolumesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes delete forbidden response has a 4xx status code +func (o *PcloudCloudinstancesVolumesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes delete forbidden response has a 5xx status code +func (o *PcloudCloudinstancesVolumesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes delete forbidden response a status code equal to that given +func (o *PcloudCloudinstancesVolumesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances volumes delete forbidden response +func (o *PcloudCloudinstancesVolumesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesVolumesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesDeleteNotFound creates a PcloudCloudinstancesVolumesDeleteNotFound with default headers values +func NewPcloudCloudinstancesVolumesDeleteNotFound() *PcloudCloudinstancesVolumesDeleteNotFound { + return &PcloudCloudinstancesVolumesDeleteNotFound{} +} + +/* +PcloudCloudinstancesVolumesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesVolumesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes delete not found response has a 2xx status code +func (o *PcloudCloudinstancesVolumesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes delete not found response has a 3xx status code +func (o *PcloudCloudinstancesVolumesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes delete not found response has a 4xx status code +func (o *PcloudCloudinstancesVolumesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes delete not found response has a 5xx status code +func (o *PcloudCloudinstancesVolumesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes delete not found response a status code equal to that given +func (o *PcloudCloudinstancesVolumesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances volumes delete not found response +func (o *PcloudCloudinstancesVolumesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesVolumesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesDeleteGone creates a PcloudCloudinstancesVolumesDeleteGone with default headers values +func NewPcloudCloudinstancesVolumesDeleteGone() *PcloudCloudinstancesVolumesDeleteGone { + return &PcloudCloudinstancesVolumesDeleteGone{} +} + +/* +PcloudCloudinstancesVolumesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type PcloudCloudinstancesVolumesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes delete gone response has a 2xx status code +func (o *PcloudCloudinstancesVolumesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes delete gone response has a 3xx status code +func (o *PcloudCloudinstancesVolumesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes delete gone response has a 4xx status code +func (o *PcloudCloudinstancesVolumesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes delete gone response has a 5xx status code +func (o *PcloudCloudinstancesVolumesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes delete gone response a status code equal to that given +func (o *PcloudCloudinstancesVolumesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the pcloud cloudinstances volumes delete gone response +func (o *PcloudCloudinstancesVolumesDeleteGone) Code() int { + return 410 +} + +func (o *PcloudCloudinstancesVolumesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteGone %s", 410, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesDeleteInternalServerError creates a PcloudCloudinstancesVolumesDeleteInternalServerError with default headers values +func NewPcloudCloudinstancesVolumesDeleteInternalServerError() *PcloudCloudinstancesVolumesDeleteInternalServerError { + return &PcloudCloudinstancesVolumesDeleteInternalServerError{} +} + +/* +PcloudCloudinstancesVolumesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesVolumesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes delete internal server error response has a 2xx status code +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes delete internal server error response has a 3xx status code +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes delete internal server error response has a 4xx status code +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes delete internal server error response has a 5xx status code +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances volumes delete internal server error response a status code equal to that given +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances volumes delete internal server error response +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_flash_copy_mappings_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_flash_copy_mappings_get_parameters.go new file mode 100644 index 000000000..6e5828335 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_flash_copy_mappings_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParams creates a new PcloudCloudinstancesVolumesFlashCopyMappingsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParams() *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParamsWithTimeout creates a new PcloudCloudinstancesVolumesFlashCopyMappingsGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParamsWithContext creates a new PcloudCloudinstancesVolumesFlashCopyMappingsGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParamsWithContext(ctx context.Context) *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParamsWithHTTPClient creates a new PcloudCloudinstancesVolumesFlashCopyMappingsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances volumes flash copy mappings get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesVolumesFlashCopyMappingsGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances volumes flash copy mappings get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) WithDefaults() *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances volumes flash copy mappings get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) WithContext(ctx context.Context) *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) WithVolumeID(volumeID string) *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud cloudinstances volumes flash copy mappings get params +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_flash_copy_mappings_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_flash_copy_mappings_get_responses.go new file mode 100644 index 000000000..aa5bab2b9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_flash_copy_mappings_get_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesVolumesFlashCopyMappingsGetReader is a Reader for the PcloudCloudinstancesVolumesFlashCopyMappingsGet structure. +type PcloudCloudinstancesVolumesFlashCopyMappingsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesVolumesFlashCopyMappingsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewPcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings] pcloud.cloudinstances.volumes.FlashCopyMappings.get", response, response.Code()) + } +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetOK creates a PcloudCloudinstancesVolumesFlashCopyMappingsGetOK with default headers values +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetOK() *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetOK{} +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesVolumesFlashCopyMappingsGetOK struct { + Payload models.FlashCopyMappings +} + +// IsSuccess returns true when this pcloud cloudinstances volumes flash copy mappings get o k response has a 2xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances volumes flash copy mappings get o k response has a 3xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes flash copy mappings get o k response has a 4xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes flash copy mappings get o k response has a 5xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes flash copy mappings get o k response a status code equal to that given +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances volumes flash copy mappings get o k response +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) GetPayload() models.FlashCopyMappings { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest creates a PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest with default headers values +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest() *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest{} +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes flash copy mappings get bad request response has a 2xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes flash copy mappings get bad request response has a 3xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes flash copy mappings get bad request response has a 4xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes flash copy mappings get bad request response has a 5xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes flash copy mappings get bad request response a status code equal to that given +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances volumes flash copy mappings get bad request response +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized creates a PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized with default headers values +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized() *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized{} +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes flash copy mappings get unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes flash copy mappings get unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes flash copy mappings get unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes flash copy mappings get unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes flash copy mappings get unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances volumes flash copy mappings get unauthorized response +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden creates a PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden with default headers values +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden() *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden{} +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes flash copy mappings get forbidden response has a 2xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes flash copy mappings get forbidden response has a 3xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes flash copy mappings get forbidden response has a 4xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes flash copy mappings get forbidden response has a 5xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes flash copy mappings get forbidden response a status code equal to that given +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances volumes flash copy mappings get forbidden response +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound creates a PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound with default headers values +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound() *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound{} +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes flash copy mappings get not found response has a 2xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes flash copy mappings get not found response has a 3xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes flash copy mappings get not found response has a 4xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes flash copy mappings get not found response has a 5xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes flash copy mappings get not found response a status code equal to that given +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances volumes flash copy mappings get not found response +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests creates a PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests with default headers values +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests() *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests{} +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes flash copy mappings get too many requests response has a 2xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes flash copy mappings get too many requests response has a 3xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes flash copy mappings get too many requests response has a 4xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes flash copy mappings get too many requests response has a 5xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes flash copy mappings get too many requests response a status code equal to that given +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the pcloud cloudinstances volumes flash copy mappings get too many requests response +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) Code() int { + return 429 +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests %s", 429, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests %s", 429, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError creates a PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError with default headers values +func NewPcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError() *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError { + return &PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError{} +} + +/* +PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes flash copy mappings get internal server error response has a 2xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes flash copy mappings get internal server error response has a 3xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes flash copy mappings get internal server error response has a 4xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes flash copy mappings get internal server error response has a 5xx status code +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances volumes flash copy mappings get internal server error response a status code equal to that given +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances volumes flash copy mappings get internal server error response +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/flash-copy-mappings][%d] pcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesFlashCopyMappingsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_get_parameters.go new file mode 100644 index 000000000..5cefa5cf9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesVolumesGetParams creates a new PcloudCloudinstancesVolumesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesVolumesGetParams() *PcloudCloudinstancesVolumesGetParams { + return &PcloudCloudinstancesVolumesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesVolumesGetParamsWithTimeout creates a new PcloudCloudinstancesVolumesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesVolumesGetParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesGetParams { + return &PcloudCloudinstancesVolumesGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesVolumesGetParamsWithContext creates a new PcloudCloudinstancesVolumesGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesVolumesGetParamsWithContext(ctx context.Context) *PcloudCloudinstancesVolumesGetParams { + return &PcloudCloudinstancesVolumesGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesVolumesGetParamsWithHTTPClient creates a new PcloudCloudinstancesVolumesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesVolumesGetParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesGetParams { + return &PcloudCloudinstancesVolumesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesVolumesGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances volumes get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesVolumesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances volumes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesGetParams) WithDefaults() *PcloudCloudinstancesVolumesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances volumes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) WithContext(ctx context.Context) *PcloudCloudinstancesVolumesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesVolumesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) WithVolumeID(volumeID string) *PcloudCloudinstancesVolumesGetParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud cloudinstances volumes get params +func (o *PcloudCloudinstancesVolumesGetParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesVolumesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_get_responses.go new file mode 100644 index 000000000..de5be37b5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesVolumesGetReader is a Reader for the PcloudCloudinstancesVolumesGet structure. +type PcloudCloudinstancesVolumesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesVolumesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesVolumesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesVolumesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesVolumesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesVolumesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesVolumesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesVolumesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}] pcloud.cloudinstances.volumes.get", response, response.Code()) + } +} + +// NewPcloudCloudinstancesVolumesGetOK creates a PcloudCloudinstancesVolumesGetOK with default headers values +func NewPcloudCloudinstancesVolumesGetOK() *PcloudCloudinstancesVolumesGetOK { + return &PcloudCloudinstancesVolumesGetOK{} +} + +/* +PcloudCloudinstancesVolumesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesVolumesGetOK struct { + Payload *models.Volume +} + +// IsSuccess returns true when this pcloud cloudinstances volumes get o k response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances volumes get o k response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes get o k response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes get o k response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes get o k response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances volumes get o k response +func (o *PcloudCloudinstancesVolumesGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesVolumesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesGetOK) GetPayload() *models.Volume { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Volume) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetBadRequest creates a PcloudCloudinstancesVolumesGetBadRequest with default headers values +func NewPcloudCloudinstancesVolumesGetBadRequest() *PcloudCloudinstancesVolumesGetBadRequest { + return &PcloudCloudinstancesVolumesGetBadRequest{} +} + +/* +PcloudCloudinstancesVolumesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesVolumesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes get bad request response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes get bad request response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes get bad request response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes get bad request response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes get bad request response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances volumes get bad request response +func (o *PcloudCloudinstancesVolumesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesVolumesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetUnauthorized creates a PcloudCloudinstancesVolumesGetUnauthorized with default headers values +func NewPcloudCloudinstancesVolumesGetUnauthorized() *PcloudCloudinstancesVolumesGetUnauthorized { + return &PcloudCloudinstancesVolumesGetUnauthorized{} +} + +/* +PcloudCloudinstancesVolumesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesVolumesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes get unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes get unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes get unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes get unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes get unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances volumes get unauthorized response +func (o *PcloudCloudinstancesVolumesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesVolumesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetForbidden creates a PcloudCloudinstancesVolumesGetForbidden with default headers values +func NewPcloudCloudinstancesVolumesGetForbidden() *PcloudCloudinstancesVolumesGetForbidden { + return &PcloudCloudinstancesVolumesGetForbidden{} +} + +/* +PcloudCloudinstancesVolumesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesVolumesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes get forbidden response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes get forbidden response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes get forbidden response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes get forbidden response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes get forbidden response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances volumes get forbidden response +func (o *PcloudCloudinstancesVolumesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesVolumesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetNotFound creates a PcloudCloudinstancesVolumesGetNotFound with default headers values +func NewPcloudCloudinstancesVolumesGetNotFound() *PcloudCloudinstancesVolumesGetNotFound { + return &PcloudCloudinstancesVolumesGetNotFound{} +} + +/* +PcloudCloudinstancesVolumesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesVolumesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes get not found response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes get not found response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes get not found response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes get not found response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes get not found response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances volumes get not found response +func (o *PcloudCloudinstancesVolumesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesVolumesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetInternalServerError creates a PcloudCloudinstancesVolumesGetInternalServerError with default headers values +func NewPcloudCloudinstancesVolumesGetInternalServerError() *PcloudCloudinstancesVolumesGetInternalServerError { + return &PcloudCloudinstancesVolumesGetInternalServerError{} +} + +/* +PcloudCloudinstancesVolumesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesVolumesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes get internal server error response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes get internal server error response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes get internal server error response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes get internal server error response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances volumes get internal server error response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances volumes get internal server error response +func (o *PcloudCloudinstancesVolumesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesVolumesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_getall_parameters.go new file mode 100644 index 000000000..0c39df16f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_getall_parameters.go @@ -0,0 +1,254 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewPcloudCloudinstancesVolumesGetallParams creates a new PcloudCloudinstancesVolumesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesVolumesGetallParams() *PcloudCloudinstancesVolumesGetallParams { + return &PcloudCloudinstancesVolumesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesVolumesGetallParamsWithTimeout creates a new PcloudCloudinstancesVolumesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesVolumesGetallParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesGetallParams { + return &PcloudCloudinstancesVolumesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesVolumesGetallParamsWithContext creates a new PcloudCloudinstancesVolumesGetallParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesVolumesGetallParamsWithContext(ctx context.Context) *PcloudCloudinstancesVolumesGetallParams { + return &PcloudCloudinstancesVolumesGetallParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesVolumesGetallParamsWithHTTPClient creates a new PcloudCloudinstancesVolumesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesVolumesGetallParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesGetallParams { + return &PcloudCloudinstancesVolumesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesVolumesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances volumes getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesVolumesGetallParams struct { + + /* Affinity. + + A pvmInstance (id or name), limits a volumes list response to only volumes that have affinity to the pvmInstance + */ + Affinity *string + + /* Auxiliary. + + true or false, limits a volume list to auxiliary or non auxiliary volumes + */ + Auxiliary *bool + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* ReplicationEnabled. + + true or false, limits a volumes list to replication or non replication enabled volumes + */ + ReplicationEnabled *bool + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances volumes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesGetallParams) WithDefaults() *PcloudCloudinstancesVolumesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances volumes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) WithContext(ctx context.Context) *PcloudCloudinstancesVolumesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAffinity adds the affinity to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) WithAffinity(affinity *string) *PcloudCloudinstancesVolumesGetallParams { + o.SetAffinity(affinity) + return o +} + +// SetAffinity adds the affinity to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) SetAffinity(affinity *string) { + o.Affinity = affinity +} + +// WithAuxiliary adds the auxiliary to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) WithAuxiliary(auxiliary *bool) *PcloudCloudinstancesVolumesGetallParams { + o.SetAuxiliary(auxiliary) + return o +} + +// SetAuxiliary adds the auxiliary to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) SetAuxiliary(auxiliary *bool) { + o.Auxiliary = auxiliary +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesVolumesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithReplicationEnabled adds the replicationEnabled to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) WithReplicationEnabled(replicationEnabled *bool) *PcloudCloudinstancesVolumesGetallParams { + o.SetReplicationEnabled(replicationEnabled) + return o +} + +// SetReplicationEnabled adds the replicationEnabled to the pcloud cloudinstances volumes getall params +func (o *PcloudCloudinstancesVolumesGetallParams) SetReplicationEnabled(replicationEnabled *bool) { + o.ReplicationEnabled = replicationEnabled +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesVolumesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.Affinity != nil { + + // query param affinity + var qrAffinity string + + if o.Affinity != nil { + qrAffinity = *o.Affinity + } + qAffinity := qrAffinity + if qAffinity != "" { + + if err := r.SetQueryParam("affinity", qAffinity); err != nil { + return err + } + } + } + + if o.Auxiliary != nil { + + // query param auxiliary + var qrAuxiliary bool + + if o.Auxiliary != nil { + qrAuxiliary = *o.Auxiliary + } + qAuxiliary := swag.FormatBool(qrAuxiliary) + if qAuxiliary != "" { + + if err := r.SetQueryParam("auxiliary", qAuxiliary); err != nil { + return err + } + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.ReplicationEnabled != nil { + + // query param replicationEnabled + var qrReplicationEnabled bool + + if o.ReplicationEnabled != nil { + qrReplicationEnabled = *o.ReplicationEnabled + } + qReplicationEnabled := swag.FormatBool(qrReplicationEnabled) + if qReplicationEnabled != "" { + + if err := r.SetQueryParam("replicationEnabled", qReplicationEnabled); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_getall_responses.go new file mode 100644 index 000000000..9749ff725 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesVolumesGetallReader is a Reader for the PcloudCloudinstancesVolumesGetall structure. +type PcloudCloudinstancesVolumesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesVolumesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesVolumesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesVolumesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesVolumesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesVolumesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesVolumesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesVolumesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes] pcloud.cloudinstances.volumes.getall", response, response.Code()) + } +} + +// NewPcloudCloudinstancesVolumesGetallOK creates a PcloudCloudinstancesVolumesGetallOK with default headers values +func NewPcloudCloudinstancesVolumesGetallOK() *PcloudCloudinstancesVolumesGetallOK { + return &PcloudCloudinstancesVolumesGetallOK{} +} + +/* +PcloudCloudinstancesVolumesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesVolumesGetallOK struct { + Payload *models.Volumes +} + +// IsSuccess returns true when this pcloud cloudinstances volumes getall o k response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances volumes getall o k response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes getall o k response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes getall o k response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes getall o k response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances volumes getall o k response +func (o *PcloudCloudinstancesVolumesGetallOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesVolumesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallOK) GetPayload() *models.Volumes { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Volumes) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetallBadRequest creates a PcloudCloudinstancesVolumesGetallBadRequest with default headers values +func NewPcloudCloudinstancesVolumesGetallBadRequest() *PcloudCloudinstancesVolumesGetallBadRequest { + return &PcloudCloudinstancesVolumesGetallBadRequest{} +} + +/* +PcloudCloudinstancesVolumesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesVolumesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes getall bad request response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes getall bad request response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes getall bad request response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes getall bad request response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes getall bad request response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances volumes getall bad request response +func (o *PcloudCloudinstancesVolumesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesVolumesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetallUnauthorized creates a PcloudCloudinstancesVolumesGetallUnauthorized with default headers values +func NewPcloudCloudinstancesVolumesGetallUnauthorized() *PcloudCloudinstancesVolumesGetallUnauthorized { + return &PcloudCloudinstancesVolumesGetallUnauthorized{} +} + +/* +PcloudCloudinstancesVolumesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesVolumesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes getall unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes getall unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes getall unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes getall unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes getall unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances volumes getall unauthorized response +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetallForbidden creates a PcloudCloudinstancesVolumesGetallForbidden with default headers values +func NewPcloudCloudinstancesVolumesGetallForbidden() *PcloudCloudinstancesVolumesGetallForbidden { + return &PcloudCloudinstancesVolumesGetallForbidden{} +} + +/* +PcloudCloudinstancesVolumesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesVolumesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes getall forbidden response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes getall forbidden response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes getall forbidden response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes getall forbidden response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes getall forbidden response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances volumes getall forbidden response +func (o *PcloudCloudinstancesVolumesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesVolumesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetallNotFound creates a PcloudCloudinstancesVolumesGetallNotFound with default headers values +func NewPcloudCloudinstancesVolumesGetallNotFound() *PcloudCloudinstancesVolumesGetallNotFound { + return &PcloudCloudinstancesVolumesGetallNotFound{} +} + +/* +PcloudCloudinstancesVolumesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesVolumesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes getall not found response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes getall not found response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes getall not found response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes getall not found response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes getall not found response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances volumes getall not found response +func (o *PcloudCloudinstancesVolumesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesVolumesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesGetallInternalServerError creates a PcloudCloudinstancesVolumesGetallInternalServerError with default headers values +func NewPcloudCloudinstancesVolumesGetallInternalServerError() *PcloudCloudinstancesVolumesGetallInternalServerError { + return &PcloudCloudinstancesVolumesGetallInternalServerError{} +} + +/* +PcloudCloudinstancesVolumesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesVolumesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes getall internal server error response has a 2xx status code +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes getall internal server error response has a 3xx status code +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes getall internal server error response has a 4xx status code +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes getall internal server error response has a 5xx status code +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances volumes getall internal server error response a status code equal to that given +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances volumes getall internal server error response +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_post_parameters.go new file mode 100644 index 000000000..e0d7ac739 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudinstancesVolumesPostParams creates a new PcloudCloudinstancesVolumesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesVolumesPostParams() *PcloudCloudinstancesVolumesPostParams { + return &PcloudCloudinstancesVolumesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesVolumesPostParamsWithTimeout creates a new PcloudCloudinstancesVolumesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesVolumesPostParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesPostParams { + return &PcloudCloudinstancesVolumesPostParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesVolumesPostParamsWithContext creates a new PcloudCloudinstancesVolumesPostParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesVolumesPostParamsWithContext(ctx context.Context) *PcloudCloudinstancesVolumesPostParams { + return &PcloudCloudinstancesVolumesPostParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesVolumesPostParamsWithHTTPClient creates a new PcloudCloudinstancesVolumesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesVolumesPostParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesPostParams { + return &PcloudCloudinstancesVolumesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesVolumesPostParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances volumes post operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesVolumesPostParams struct { + + /* Body. + + Parameters for the creation of a new data volume + */ + Body *models.CreateDataVolume + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesPostParams) WithDefaults() *PcloudCloudinstancesVolumesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) WithContext(ctx context.Context) *PcloudCloudinstancesVolumesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) WithBody(body *models.CreateDataVolume) *PcloudCloudinstancesVolumesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) SetBody(body *models.CreateDataVolume) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesVolumesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances volumes post params +func (o *PcloudCloudinstancesVolumesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesVolumesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_post_responses.go new file mode 100644 index 000000000..bf322ffc3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesVolumesPostReader is a Reader for the PcloudCloudinstancesVolumesPost structure. +type PcloudCloudinstancesVolumesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesVolumesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudCloudinstancesVolumesPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesVolumesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesVolumesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesVolumesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesVolumesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudCloudinstancesVolumesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudinstancesVolumesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesVolumesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes] pcloud.cloudinstances.volumes.post", response, response.Code()) + } +} + +// NewPcloudCloudinstancesVolumesPostAccepted creates a PcloudCloudinstancesVolumesPostAccepted with default headers values +func NewPcloudCloudinstancesVolumesPostAccepted() *PcloudCloudinstancesVolumesPostAccepted { + return &PcloudCloudinstancesVolumesPostAccepted{} +} + +/* +PcloudCloudinstancesVolumesPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudCloudinstancesVolumesPostAccepted struct { + Payload *models.Volume +} + +// IsSuccess returns true when this pcloud cloudinstances volumes post accepted response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances volumes post accepted response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes post accepted response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes post accepted response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes post accepted response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud cloudinstances volumes post accepted response +func (o *PcloudCloudinstancesVolumesPostAccepted) Code() int { + return 202 +} + +func (o *PcloudCloudinstancesVolumesPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostAccepted %s", 202, payload) +} + +func (o *PcloudCloudinstancesVolumesPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostAccepted %s", 202, payload) +} + +func (o *PcloudCloudinstancesVolumesPostAccepted) GetPayload() *models.Volume { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Volume) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPostBadRequest creates a PcloudCloudinstancesVolumesPostBadRequest with default headers values +func NewPcloudCloudinstancesVolumesPostBadRequest() *PcloudCloudinstancesVolumesPostBadRequest { + return &PcloudCloudinstancesVolumesPostBadRequest{} +} + +/* +PcloudCloudinstancesVolumesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesVolumesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes post bad request response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes post bad request response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes post bad request response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes post bad request response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes post bad request response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances volumes post bad request response +func (o *PcloudCloudinstancesVolumesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesVolumesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPostUnauthorized creates a PcloudCloudinstancesVolumesPostUnauthorized with default headers values +func NewPcloudCloudinstancesVolumesPostUnauthorized() *PcloudCloudinstancesVolumesPostUnauthorized { + return &PcloudCloudinstancesVolumesPostUnauthorized{} +} + +/* +PcloudCloudinstancesVolumesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesVolumesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes post unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes post unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes post unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes post unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes post unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances volumes post unauthorized response +func (o *PcloudCloudinstancesVolumesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesVolumesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPostForbidden creates a PcloudCloudinstancesVolumesPostForbidden with default headers values +func NewPcloudCloudinstancesVolumesPostForbidden() *PcloudCloudinstancesVolumesPostForbidden { + return &PcloudCloudinstancesVolumesPostForbidden{} +} + +/* +PcloudCloudinstancesVolumesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesVolumesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes post forbidden response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes post forbidden response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes post forbidden response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes post forbidden response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes post forbidden response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances volumes post forbidden response +func (o *PcloudCloudinstancesVolumesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesVolumesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPostNotFound creates a PcloudCloudinstancesVolumesPostNotFound with default headers values +func NewPcloudCloudinstancesVolumesPostNotFound() *PcloudCloudinstancesVolumesPostNotFound { + return &PcloudCloudinstancesVolumesPostNotFound{} +} + +/* +PcloudCloudinstancesVolumesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesVolumesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes post not found response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes post not found response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes post not found response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes post not found response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes post not found response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances volumes post not found response +func (o *PcloudCloudinstancesVolumesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesVolumesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPostConflict creates a PcloudCloudinstancesVolumesPostConflict with default headers values +func NewPcloudCloudinstancesVolumesPostConflict() *PcloudCloudinstancesVolumesPostConflict { + return &PcloudCloudinstancesVolumesPostConflict{} +} + +/* +PcloudCloudinstancesVolumesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudCloudinstancesVolumesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes post conflict response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes post conflict response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes post conflict response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes post conflict response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes post conflict response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud cloudinstances volumes post conflict response +func (o *PcloudCloudinstancesVolumesPostConflict) Code() int { + return 409 +} + +func (o *PcloudCloudinstancesVolumesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesVolumesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesVolumesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPostUnprocessableEntity creates a PcloudCloudinstancesVolumesPostUnprocessableEntity with default headers values +func NewPcloudCloudinstancesVolumesPostUnprocessableEntity() *PcloudCloudinstancesVolumesPostUnprocessableEntity { + return &PcloudCloudinstancesVolumesPostUnprocessableEntity{} +} + +/* +PcloudCloudinstancesVolumesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudinstancesVolumesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes post unprocessable entity response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes post unprocessable entity response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes post unprocessable entity response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes post unprocessable entity response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes post unprocessable entity response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudinstances volumes post unprocessable entity response +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPostInternalServerError creates a PcloudCloudinstancesVolumesPostInternalServerError with default headers values +func NewPcloudCloudinstancesVolumesPostInternalServerError() *PcloudCloudinstancesVolumesPostInternalServerError { + return &PcloudCloudinstancesVolumesPostInternalServerError{} +} + +/* +PcloudCloudinstancesVolumesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesVolumesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes post internal server error response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes post internal server error response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes post internal server error response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes post internal server error response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances volumes post internal server error response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances volumes post internal server error response +func (o *PcloudCloudinstancesVolumesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesVolumesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudCloudinstancesVolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_put_parameters.go new file mode 100644 index 000000000..df41f14ec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_put_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudCloudinstancesVolumesPutParams creates a new PcloudCloudinstancesVolumesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesVolumesPutParams() *PcloudCloudinstancesVolumesPutParams { + return &PcloudCloudinstancesVolumesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesVolumesPutParamsWithTimeout creates a new PcloudCloudinstancesVolumesPutParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesVolumesPutParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesPutParams { + return &PcloudCloudinstancesVolumesPutParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesVolumesPutParamsWithContext creates a new PcloudCloudinstancesVolumesPutParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesVolumesPutParamsWithContext(ctx context.Context) *PcloudCloudinstancesVolumesPutParams { + return &PcloudCloudinstancesVolumesPutParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesVolumesPutParamsWithHTTPClient creates a new PcloudCloudinstancesVolumesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesVolumesPutParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesPutParams { + return &PcloudCloudinstancesVolumesPutParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesVolumesPutParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances volumes put operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesVolumesPutParams struct { + + /* Body. + + Parameters to update a cloud instance volume + */ + Body *models.UpdateVolume + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances volumes put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesPutParams) WithDefaults() *PcloudCloudinstancesVolumesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances volumes put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) WithContext(ctx context.Context) *PcloudCloudinstancesVolumesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) WithBody(body *models.UpdateVolume) *PcloudCloudinstancesVolumesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) SetBody(body *models.UpdateVolume) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesVolumesPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) WithVolumeID(volumeID string) *PcloudCloudinstancesVolumesPutParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud cloudinstances volumes put params +func (o *PcloudCloudinstancesVolumesPutParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesVolumesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_put_responses.go new file mode 100644 index 000000000..c584dfefa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_put_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesVolumesPutReader is a Reader for the PcloudCloudinstancesVolumesPut structure. +type PcloudCloudinstancesVolumesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesVolumesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesVolumesPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesVolumesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesVolumesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesVolumesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesVolumesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudCloudinstancesVolumesPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudCloudinstancesVolumesPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesVolumesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}] pcloud.cloudinstances.volumes.put", response, response.Code()) + } +} + +// NewPcloudCloudinstancesVolumesPutOK creates a PcloudCloudinstancesVolumesPutOK with default headers values +func NewPcloudCloudinstancesVolumesPutOK() *PcloudCloudinstancesVolumesPutOK { + return &PcloudCloudinstancesVolumesPutOK{} +} + +/* +PcloudCloudinstancesVolumesPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesVolumesPutOK struct { + Payload *models.Volume +} + +// IsSuccess returns true when this pcloud cloudinstances volumes put o k response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances volumes put o k response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes put o k response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes put o k response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes put o k response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances volumes put o k response +func (o *PcloudCloudinstancesVolumesPutOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesVolumesPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesPutOK) GetPayload() *models.Volume { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Volume) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPutBadRequest creates a PcloudCloudinstancesVolumesPutBadRequest with default headers values +func NewPcloudCloudinstancesVolumesPutBadRequest() *PcloudCloudinstancesVolumesPutBadRequest { + return &PcloudCloudinstancesVolumesPutBadRequest{} +} + +/* +PcloudCloudinstancesVolumesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesVolumesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes put bad request response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes put bad request response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes put bad request response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes put bad request response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes put bad request response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances volumes put bad request response +func (o *PcloudCloudinstancesVolumesPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesVolumesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPutUnauthorized creates a PcloudCloudinstancesVolumesPutUnauthorized with default headers values +func NewPcloudCloudinstancesVolumesPutUnauthorized() *PcloudCloudinstancesVolumesPutUnauthorized { + return &PcloudCloudinstancesVolumesPutUnauthorized{} +} + +/* +PcloudCloudinstancesVolumesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesVolumesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes put unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes put unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes put unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes put unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes put unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances volumes put unauthorized response +func (o *PcloudCloudinstancesVolumesPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesVolumesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPutForbidden creates a PcloudCloudinstancesVolumesPutForbidden with default headers values +func NewPcloudCloudinstancesVolumesPutForbidden() *PcloudCloudinstancesVolumesPutForbidden { + return &PcloudCloudinstancesVolumesPutForbidden{} +} + +/* +PcloudCloudinstancesVolumesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesVolumesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes put forbidden response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes put forbidden response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes put forbidden response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes put forbidden response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes put forbidden response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances volumes put forbidden response +func (o *PcloudCloudinstancesVolumesPutForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesVolumesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPutNotFound creates a PcloudCloudinstancesVolumesPutNotFound with default headers values +func NewPcloudCloudinstancesVolumesPutNotFound() *PcloudCloudinstancesVolumesPutNotFound { + return &PcloudCloudinstancesVolumesPutNotFound{} +} + +/* +PcloudCloudinstancesVolumesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesVolumesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes put not found response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes put not found response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes put not found response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes put not found response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes put not found response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances volumes put not found response +func (o *PcloudCloudinstancesVolumesPutNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesVolumesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPutConflict creates a PcloudCloudinstancesVolumesPutConflict with default headers values +func NewPcloudCloudinstancesVolumesPutConflict() *PcloudCloudinstancesVolumesPutConflict { + return &PcloudCloudinstancesVolumesPutConflict{} +} + +/* +PcloudCloudinstancesVolumesPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudCloudinstancesVolumesPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes put conflict response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes put conflict response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes put conflict response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes put conflict response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes put conflict response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud cloudinstances volumes put conflict response +func (o *PcloudCloudinstancesVolumesPutConflict) Code() int { + return 409 +} + +func (o *PcloudCloudinstancesVolumesPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesVolumesPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutConflict %s", 409, payload) +} + +func (o *PcloudCloudinstancesVolumesPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPutUnprocessableEntity creates a PcloudCloudinstancesVolumesPutUnprocessableEntity with default headers values +func NewPcloudCloudinstancesVolumesPutUnprocessableEntity() *PcloudCloudinstancesVolumesPutUnprocessableEntity { + return &PcloudCloudinstancesVolumesPutUnprocessableEntity{} +} + +/* +PcloudCloudinstancesVolumesPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudCloudinstancesVolumesPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes put unprocessable entity response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes put unprocessable entity response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes put unprocessable entity response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes put unprocessable entity response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes put unprocessable entity response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud cloudinstances volumes put unprocessable entity response +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesPutInternalServerError creates a PcloudCloudinstancesVolumesPutInternalServerError with default headers values +func NewPcloudCloudinstancesVolumesPutInternalServerError() *PcloudCloudinstancesVolumesPutInternalServerError { + return &PcloudCloudinstancesVolumesPutInternalServerError{} +} + +/* +PcloudCloudinstancesVolumesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesVolumesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes put internal server error response has a 2xx status code +func (o *PcloudCloudinstancesVolumesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes put internal server error response has a 3xx status code +func (o *PcloudCloudinstancesVolumesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes put internal server error response has a 4xx status code +func (o *PcloudCloudinstancesVolumesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes put internal server error response has a 5xx status code +func (o *PcloudCloudinstancesVolumesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances volumes put internal server error response a status code equal to that given +func (o *PcloudCloudinstancesVolumesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances volumes put internal server error response +func (o *PcloudCloudinstancesVolumesPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesVolumesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}][%d] pcloudCloudinstancesVolumesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_remote_copy_relationship_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_remote_copy_relationship_get_parameters.go new file mode 100644 index 000000000..6b20d7189 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_remote_copy_relationship_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams creates a new PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParamsWithTimeout creates a new PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams object +// with the ability to set a timeout on a request. +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParamsWithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams{ + timeout: timeout, + } +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParamsWithContext creates a new PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams object +// with the ability to set a context for a request. +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParamsWithContext(ctx context.Context) *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams{ + Context: ctx, + } +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParamsWithHTTPClient creates a new PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetParamsWithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams{ + HTTPClient: client, + } +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams contains all the parameters to send to the API endpoint + + for the pcloud cloudinstances volumes remote copy relationship get operation. + + Typically these are written to a http.Request. +*/ +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud cloudinstances volumes remote copy relationship get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) WithDefaults() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud cloudinstances volumes remote copy relationship get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) WithTimeout(timeout time.Duration) *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) WithContext(ctx context.Context) *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) WithHTTPClient(client *http.Client) *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) WithVolumeID(volumeID string) *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud cloudinstances volumes remote copy relationship get params +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_remote_copy_relationship_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_remote_copy_relationship_get_responses.go new file mode 100644 index 000000000..154388820 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_cloudinstances_volumes_remote_copy_relationship_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudCloudinstancesVolumesRemoteCopyRelationshipGetReader is a Reader for the PcloudCloudinstancesVolumesRemoteCopyRelationshipGet structure. +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy] pcloud.cloudinstances.volumes.remoteCopyRelationship.get", response, response.Code()) + } +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK creates a PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK with default headers values +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK{} +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK struct { + Payload *models.VolumeRemoteCopyRelationship +} + +// IsSuccess returns true when this pcloud cloudinstances volumes remote copy relationship get o k response has a 2xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud cloudinstances volumes remote copy relationship get o k response has a 3xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes remote copy relationship get o k response has a 4xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes remote copy relationship get o k response has a 5xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes remote copy relationship get o k response a status code equal to that given +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud cloudinstances volumes remote copy relationship get o k response +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) Code() int { + return 200 +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK %s", 200, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) GetPayload() *models.VolumeRemoteCopyRelationship { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeRemoteCopyRelationship) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest creates a PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest with default headers values +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest{} +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes remote copy relationship get bad request response has a 2xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes remote copy relationship get bad request response has a 3xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes remote copy relationship get bad request response has a 4xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes remote copy relationship get bad request response has a 5xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes remote copy relationship get bad request response a status code equal to that given +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud cloudinstances volumes remote copy relationship get bad request response +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest %s", 400, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized creates a PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized with default headers values +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized{} +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes remote copy relationship get unauthorized response has a 2xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes remote copy relationship get unauthorized response has a 3xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes remote copy relationship get unauthorized response has a 4xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes remote copy relationship get unauthorized response has a 5xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes remote copy relationship get unauthorized response a status code equal to that given +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud cloudinstances volumes remote copy relationship get unauthorized response +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized %s", 401, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden creates a PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden with default headers values +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden{} +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes remote copy relationship get forbidden response has a 2xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes remote copy relationship get forbidden response has a 3xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes remote copy relationship get forbidden response has a 4xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes remote copy relationship get forbidden response has a 5xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes remote copy relationship get forbidden response a status code equal to that given +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud cloudinstances volumes remote copy relationship get forbidden response +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) Code() int { + return 403 +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden %s", 403, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound creates a PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound with default headers values +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound{} +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes remote copy relationship get not found response has a 2xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes remote copy relationship get not found response has a 3xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes remote copy relationship get not found response has a 4xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes remote copy relationship get not found response has a 5xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes remote copy relationship get not found response a status code equal to that given +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud cloudinstances volumes remote copy relationship get not found response +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) Code() int { + return 404 +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound %s", 404, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests creates a PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests with default headers values +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests{} +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes remote copy relationship get too many requests response has a 2xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes remote copy relationship get too many requests response has a 3xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes remote copy relationship get too many requests response has a 4xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud cloudinstances volumes remote copy relationship get too many requests response has a 5xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud cloudinstances volumes remote copy relationship get too many requests response a status code equal to that given +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the pcloud cloudinstances volumes remote copy relationship get too many requests response +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) Code() int { + return 429 +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests %s", 429, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests %s", 429, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError creates a PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError with default headers values +func NewPcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError() *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError { + return &PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError{} +} + +/* +PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud cloudinstances volumes remote copy relationship get internal server error response has a 2xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud cloudinstances volumes remote copy relationship get internal server error response has a 3xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud cloudinstances volumes remote copy relationship get internal server error response has a 4xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud cloudinstances volumes remote copy relationship get internal server error response has a 5xx status code +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud cloudinstances volumes remote copy relationship get internal server error response a status code equal to that given +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud cloudinstances volumes remote copy relationship get internal server error response +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/{volume_id}/remote-copy][%d] pcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError %s", 500, payload) +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudCloudinstancesVolumesRemoteCopyRelationshipGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_delete_parameters.go new file mode 100644 index 000000000..94d56f069 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_delete_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVolumesDeleteParams creates a new PcloudPvminstancesVolumesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVolumesDeleteParams() *PcloudPvminstancesVolumesDeleteParams { + return &PcloudPvminstancesVolumesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVolumesDeleteParamsWithTimeout creates a new PcloudPvminstancesVolumesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVolumesDeleteParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesDeleteParams { + return &PcloudPvminstancesVolumesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVolumesDeleteParamsWithContext creates a new PcloudPvminstancesVolumesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVolumesDeleteParamsWithContext(ctx context.Context) *PcloudPvminstancesVolumesDeleteParams { + return &PcloudPvminstancesVolumesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVolumesDeleteParamsWithHTTPClient creates a new PcloudPvminstancesVolumesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVolumesDeleteParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesDeleteParams { + return &PcloudPvminstancesVolumesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVolumesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances volumes delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVolumesDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesDeleteParams) WithDefaults() *PcloudPvminstancesVolumesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) WithContext(ctx context.Context) *PcloudPvminstancesVolumesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVolumesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVolumesDeleteParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) WithVolumeID(volumeID string) *PcloudPvminstancesVolumesDeleteParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud pvminstances volumes delete params +func (o *PcloudPvminstancesVolumesDeleteParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVolumesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_delete_responses.go new file mode 100644 index 000000000..159e389bd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVolumesDeleteReader is a Reader for the PcloudPvminstancesVolumesDelete structure. +type PcloudPvminstancesVolumesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVolumesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudPvminstancesVolumesDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVolumesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVolumesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVolumesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVolumesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesVolumesDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVolumesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}] pcloud.pvminstances.volumes.delete", response, response.Code()) + } +} + +// NewPcloudPvminstancesVolumesDeleteAccepted creates a PcloudPvminstancesVolumesDeleteAccepted with default headers values +func NewPcloudPvminstancesVolumesDeleteAccepted() *PcloudPvminstancesVolumesDeleteAccepted { + return &PcloudPvminstancesVolumesDeleteAccepted{} +} + +/* +PcloudPvminstancesVolumesDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudPvminstancesVolumesDeleteAccepted struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances volumes delete accepted response has a 2xx status code +func (o *PcloudPvminstancesVolumesDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances volumes delete accepted response has a 3xx status code +func (o *PcloudPvminstancesVolumesDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes delete accepted response has a 4xx status code +func (o *PcloudPvminstancesVolumesDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes delete accepted response has a 5xx status code +func (o *PcloudPvminstancesVolumesDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes delete accepted response a status code equal to that given +func (o *PcloudPvminstancesVolumesDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud pvminstances volumes delete accepted response +func (o *PcloudPvminstancesVolumesDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudPvminstancesVolumesDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteAccepted %s", 202, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteAccepted) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesDeleteBadRequest creates a PcloudPvminstancesVolumesDeleteBadRequest with default headers values +func NewPcloudPvminstancesVolumesDeleteBadRequest() *PcloudPvminstancesVolumesDeleteBadRequest { + return &PcloudPvminstancesVolumesDeleteBadRequest{} +} + +/* +PcloudPvminstancesVolumesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVolumesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes delete bad request response has a 2xx status code +func (o *PcloudPvminstancesVolumesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes delete bad request response has a 3xx status code +func (o *PcloudPvminstancesVolumesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes delete bad request response has a 4xx status code +func (o *PcloudPvminstancesVolumesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes delete bad request response has a 5xx status code +func (o *PcloudPvminstancesVolumesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes delete bad request response a status code equal to that given +func (o *PcloudPvminstancesVolumesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances volumes delete bad request response +func (o *PcloudPvminstancesVolumesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVolumesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesDeleteUnauthorized creates a PcloudPvminstancesVolumesDeleteUnauthorized with default headers values +func NewPcloudPvminstancesVolumesDeleteUnauthorized() *PcloudPvminstancesVolumesDeleteUnauthorized { + return &PcloudPvminstancesVolumesDeleteUnauthorized{} +} + +/* +PcloudPvminstancesVolumesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVolumesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes delete unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes delete unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes delete unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes delete unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes delete unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances volumes delete unauthorized response +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesDeleteForbidden creates a PcloudPvminstancesVolumesDeleteForbidden with default headers values +func NewPcloudPvminstancesVolumesDeleteForbidden() *PcloudPvminstancesVolumesDeleteForbidden { + return &PcloudPvminstancesVolumesDeleteForbidden{} +} + +/* +PcloudPvminstancesVolumesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVolumesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes delete forbidden response has a 2xx status code +func (o *PcloudPvminstancesVolumesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes delete forbidden response has a 3xx status code +func (o *PcloudPvminstancesVolumesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes delete forbidden response has a 4xx status code +func (o *PcloudPvminstancesVolumesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes delete forbidden response has a 5xx status code +func (o *PcloudPvminstancesVolumesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes delete forbidden response a status code equal to that given +func (o *PcloudPvminstancesVolumesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances volumes delete forbidden response +func (o *PcloudPvminstancesVolumesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVolumesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesDeleteNotFound creates a PcloudPvminstancesVolumesDeleteNotFound with default headers values +func NewPcloudPvminstancesVolumesDeleteNotFound() *PcloudPvminstancesVolumesDeleteNotFound { + return &PcloudPvminstancesVolumesDeleteNotFound{} +} + +/* +PcloudPvminstancesVolumesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVolumesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes delete not found response has a 2xx status code +func (o *PcloudPvminstancesVolumesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes delete not found response has a 3xx status code +func (o *PcloudPvminstancesVolumesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes delete not found response has a 4xx status code +func (o *PcloudPvminstancesVolumesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes delete not found response has a 5xx status code +func (o *PcloudPvminstancesVolumesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes delete not found response a status code equal to that given +func (o *PcloudPvminstancesVolumesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances volumes delete not found response +func (o *PcloudPvminstancesVolumesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVolumesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesDeleteConflict creates a PcloudPvminstancesVolumesDeleteConflict with default headers values +func NewPcloudPvminstancesVolumesDeleteConflict() *PcloudPvminstancesVolumesDeleteConflict { + return &PcloudPvminstancesVolumesDeleteConflict{} +} + +/* +PcloudPvminstancesVolumesDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesVolumesDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes delete conflict response has a 2xx status code +func (o *PcloudPvminstancesVolumesDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes delete conflict response has a 3xx status code +func (o *PcloudPvminstancesVolumesDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes delete conflict response has a 4xx status code +func (o *PcloudPvminstancesVolumesDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes delete conflict response has a 5xx status code +func (o *PcloudPvminstancesVolumesDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes delete conflict response a status code equal to that given +func (o *PcloudPvminstancesVolumesDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances volumes delete conflict response +func (o *PcloudPvminstancesVolumesDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesVolumesDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesDeleteInternalServerError creates a PcloudPvminstancesVolumesDeleteInternalServerError with default headers values +func NewPcloudPvminstancesVolumesDeleteInternalServerError() *PcloudPvminstancesVolumesDeleteInternalServerError { + return &PcloudPvminstancesVolumesDeleteInternalServerError{} +} + +/* +PcloudPvminstancesVolumesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVolumesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes delete internal server error response has a 2xx status code +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes delete internal server error response has a 3xx status code +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes delete internal server error response has a 4xx status code +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes delete internal server error response has a 5xx status code +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances volumes delete internal server error response a status code equal to that given +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances volumes delete internal server error response +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_get_parameters.go new file mode 100644 index 000000000..ddd519328 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_get_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVolumesGetParams creates a new PcloudPvminstancesVolumesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVolumesGetParams() *PcloudPvminstancesVolumesGetParams { + return &PcloudPvminstancesVolumesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVolumesGetParamsWithTimeout creates a new PcloudPvminstancesVolumesGetParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVolumesGetParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesGetParams { + return &PcloudPvminstancesVolumesGetParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVolumesGetParamsWithContext creates a new PcloudPvminstancesVolumesGetParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVolumesGetParamsWithContext(ctx context.Context) *PcloudPvminstancesVolumesGetParams { + return &PcloudPvminstancesVolumesGetParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVolumesGetParamsWithHTTPClient creates a new PcloudPvminstancesVolumesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVolumesGetParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesGetParams { + return &PcloudPvminstancesVolumesGetParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVolumesGetParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances volumes get operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVolumesGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances volumes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesGetParams) WithDefaults() *PcloudPvminstancesVolumesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances volumes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) WithContext(ctx context.Context) *PcloudPvminstancesVolumesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVolumesGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVolumesGetParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) WithVolumeID(volumeID string) *PcloudPvminstancesVolumesGetParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud pvminstances volumes get params +func (o *PcloudPvminstancesVolumesGetParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVolumesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_get_responses.go new file mode 100644 index 000000000..234c36cfc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVolumesGetReader is a Reader for the PcloudPvminstancesVolumesGet structure. +type PcloudPvminstancesVolumesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVolumesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVolumesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVolumesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVolumesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVolumesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVolumesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVolumesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}] pcloud.pvminstances.volumes.get", response, response.Code()) + } +} + +// NewPcloudPvminstancesVolumesGetOK creates a PcloudPvminstancesVolumesGetOK with default headers values +func NewPcloudPvminstancesVolumesGetOK() *PcloudPvminstancesVolumesGetOK { + return &PcloudPvminstancesVolumesGetOK{} +} + +/* +PcloudPvminstancesVolumesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVolumesGetOK struct { + Payload *models.Volume +} + +// IsSuccess returns true when this pcloud pvminstances volumes get o k response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances volumes get o k response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes get o k response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes get o k response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes get o k response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances volumes get o k response +func (o *PcloudPvminstancesVolumesGetOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVolumesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesGetOK) GetPayload() *models.Volume { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Volume) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetBadRequest creates a PcloudPvminstancesVolumesGetBadRequest with default headers values +func NewPcloudPvminstancesVolumesGetBadRequest() *PcloudPvminstancesVolumesGetBadRequest { + return &PcloudPvminstancesVolumesGetBadRequest{} +} + +/* +PcloudPvminstancesVolumesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVolumesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes get bad request response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes get bad request response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes get bad request response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes get bad request response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes get bad request response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances volumes get bad request response +func (o *PcloudPvminstancesVolumesGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVolumesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetUnauthorized creates a PcloudPvminstancesVolumesGetUnauthorized with default headers values +func NewPcloudPvminstancesVolumesGetUnauthorized() *PcloudPvminstancesVolumesGetUnauthorized { + return &PcloudPvminstancesVolumesGetUnauthorized{} +} + +/* +PcloudPvminstancesVolumesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVolumesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes get unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes get unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes get unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes get unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes get unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances volumes get unauthorized response +func (o *PcloudPvminstancesVolumesGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVolumesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetForbidden creates a PcloudPvminstancesVolumesGetForbidden with default headers values +func NewPcloudPvminstancesVolumesGetForbidden() *PcloudPvminstancesVolumesGetForbidden { + return &PcloudPvminstancesVolumesGetForbidden{} +} + +/* +PcloudPvminstancesVolumesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVolumesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes get forbidden response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes get forbidden response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes get forbidden response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes get forbidden response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes get forbidden response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances volumes get forbidden response +func (o *PcloudPvminstancesVolumesGetForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVolumesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetNotFound creates a PcloudPvminstancesVolumesGetNotFound with default headers values +func NewPcloudPvminstancesVolumesGetNotFound() *PcloudPvminstancesVolumesGetNotFound { + return &PcloudPvminstancesVolumesGetNotFound{} +} + +/* +PcloudPvminstancesVolumesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVolumesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes get not found response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes get not found response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes get not found response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes get not found response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes get not found response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances volumes get not found response +func (o *PcloudPvminstancesVolumesGetNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVolumesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetInternalServerError creates a PcloudPvminstancesVolumesGetInternalServerError with default headers values +func NewPcloudPvminstancesVolumesGetInternalServerError() *PcloudPvminstancesVolumesGetInternalServerError { + return &PcloudPvminstancesVolumesGetInternalServerError{} +} + +/* +PcloudPvminstancesVolumesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVolumesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes get internal server error response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes get internal server error response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes get internal server error response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes get internal server error response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances volumes get internal server error response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances volumes get internal server error response +func (o *PcloudPvminstancesVolumesGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVolumesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesGetInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_getall_parameters.go new file mode 100644 index 000000000..f4f012b39 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_getall_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVolumesGetallParams creates a new PcloudPvminstancesVolumesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVolumesGetallParams() *PcloudPvminstancesVolumesGetallParams { + return &PcloudPvminstancesVolumesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVolumesGetallParamsWithTimeout creates a new PcloudPvminstancesVolumesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVolumesGetallParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesGetallParams { + return &PcloudPvminstancesVolumesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVolumesGetallParamsWithContext creates a new PcloudPvminstancesVolumesGetallParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVolumesGetallParamsWithContext(ctx context.Context) *PcloudPvminstancesVolumesGetallParams { + return &PcloudPvminstancesVolumesGetallParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVolumesGetallParamsWithHTTPClient creates a new PcloudPvminstancesVolumesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVolumesGetallParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesGetallParams { + return &PcloudPvminstancesVolumesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVolumesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances volumes getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVolumesGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances volumes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesGetallParams) WithDefaults() *PcloudPvminstancesVolumesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances volumes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) WithContext(ctx context.Context) *PcloudPvminstancesVolumesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVolumesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVolumesGetallParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances volumes getall params +func (o *PcloudPvminstancesVolumesGetallParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVolumesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_getall_responses.go new file mode 100644 index 000000000..65904726c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVolumesGetallReader is a Reader for the PcloudPvminstancesVolumesGetall structure. +type PcloudPvminstancesVolumesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVolumesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVolumesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVolumesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVolumesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVolumesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVolumesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVolumesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes] pcloud.pvminstances.volumes.getall", response, response.Code()) + } +} + +// NewPcloudPvminstancesVolumesGetallOK creates a PcloudPvminstancesVolumesGetallOK with default headers values +func NewPcloudPvminstancesVolumesGetallOK() *PcloudPvminstancesVolumesGetallOK { + return &PcloudPvminstancesVolumesGetallOK{} +} + +/* +PcloudPvminstancesVolumesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVolumesGetallOK struct { + Payload *models.Volumes +} + +// IsSuccess returns true when this pcloud pvminstances volumes getall o k response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances volumes getall o k response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes getall o k response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes getall o k response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes getall o k response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances volumes getall o k response +func (o *PcloudPvminstancesVolumesGetallOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVolumesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesGetallOK) GetPayload() *models.Volumes { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Volumes) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetallBadRequest creates a PcloudPvminstancesVolumesGetallBadRequest with default headers values +func NewPcloudPvminstancesVolumesGetallBadRequest() *PcloudPvminstancesVolumesGetallBadRequest { + return &PcloudPvminstancesVolumesGetallBadRequest{} +} + +/* +PcloudPvminstancesVolumesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVolumesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes getall bad request response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes getall bad request response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes getall bad request response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes getall bad request response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes getall bad request response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances volumes getall bad request response +func (o *PcloudPvminstancesVolumesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVolumesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetallUnauthorized creates a PcloudPvminstancesVolumesGetallUnauthorized with default headers values +func NewPcloudPvminstancesVolumesGetallUnauthorized() *PcloudPvminstancesVolumesGetallUnauthorized { + return &PcloudPvminstancesVolumesGetallUnauthorized{} +} + +/* +PcloudPvminstancesVolumesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVolumesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes getall unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes getall unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes getall unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes getall unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes getall unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances volumes getall unauthorized response +func (o *PcloudPvminstancesVolumesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVolumesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetallForbidden creates a PcloudPvminstancesVolumesGetallForbidden with default headers values +func NewPcloudPvminstancesVolumesGetallForbidden() *PcloudPvminstancesVolumesGetallForbidden { + return &PcloudPvminstancesVolumesGetallForbidden{} +} + +/* +PcloudPvminstancesVolumesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVolumesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes getall forbidden response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes getall forbidden response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes getall forbidden response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes getall forbidden response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes getall forbidden response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances volumes getall forbidden response +func (o *PcloudPvminstancesVolumesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVolumesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetallNotFound creates a PcloudPvminstancesVolumesGetallNotFound with default headers values +func NewPcloudPvminstancesVolumesGetallNotFound() *PcloudPvminstancesVolumesGetallNotFound { + return &PcloudPvminstancesVolumesGetallNotFound{} +} + +/* +PcloudPvminstancesVolumesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVolumesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes getall not found response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes getall not found response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes getall not found response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes getall not found response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes getall not found response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances volumes getall not found response +func (o *PcloudPvminstancesVolumesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVolumesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesGetallInternalServerError creates a PcloudPvminstancesVolumesGetallInternalServerError with default headers values +func NewPcloudPvminstancesVolumesGetallInternalServerError() *PcloudPvminstancesVolumesGetallInternalServerError { + return &PcloudPvminstancesVolumesGetallInternalServerError{} +} + +/* +PcloudPvminstancesVolumesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVolumesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes getall internal server error response has a 2xx status code +func (o *PcloudPvminstancesVolumesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes getall internal server error response has a 3xx status code +func (o *PcloudPvminstancesVolumesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes getall internal server error response has a 4xx status code +func (o *PcloudPvminstancesVolumesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes getall internal server error response has a 5xx status code +func (o *PcloudPvminstancesVolumesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances volumes getall internal server error response a status code equal to that given +func (o *PcloudPvminstancesVolumesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances volumes getall internal server error response +func (o *PcloudPvminstancesVolumesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVolumesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudPvminstancesVolumesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_post_parameters.go new file mode 100644 index 000000000..b76bf3cc1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_post_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVolumesPostParams creates a new PcloudPvminstancesVolumesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVolumesPostParams() *PcloudPvminstancesVolumesPostParams { + return &PcloudPvminstancesVolumesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVolumesPostParamsWithTimeout creates a new PcloudPvminstancesVolumesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVolumesPostParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesPostParams { + return &PcloudPvminstancesVolumesPostParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVolumesPostParamsWithContext creates a new PcloudPvminstancesVolumesPostParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVolumesPostParamsWithContext(ctx context.Context) *PcloudPvminstancesVolumesPostParams { + return &PcloudPvminstancesVolumesPostParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVolumesPostParamsWithHTTPClient creates a new PcloudPvminstancesVolumesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVolumesPostParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesPostParams { + return &PcloudPvminstancesVolumesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVolumesPostParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances volumes post operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVolumesPostParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesPostParams) WithDefaults() *PcloudPvminstancesVolumesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) WithContext(ctx context.Context) *PcloudPvminstancesVolumesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVolumesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVolumesPostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) WithVolumeID(volumeID string) *PcloudPvminstancesVolumesPostParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud pvminstances volumes post params +func (o *PcloudPvminstancesVolumesPostParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVolumesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_post_responses.go new file mode 100644 index 000000000..702a6c36c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_post_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVolumesPostReader is a Reader for the PcloudPvminstancesVolumesPost structure. +type PcloudPvminstancesVolumesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVolumesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVolumesPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVolumesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVolumesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVolumesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVolumesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesVolumesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVolumesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}] pcloud.pvminstances.volumes.post", response, response.Code()) + } +} + +// NewPcloudPvminstancesVolumesPostOK creates a PcloudPvminstancesVolumesPostOK with default headers values +func NewPcloudPvminstancesVolumesPostOK() *PcloudPvminstancesVolumesPostOK { + return &PcloudPvminstancesVolumesPostOK{} +} + +/* +PcloudPvminstancesVolumesPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVolumesPostOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances volumes post o k response has a 2xx status code +func (o *PcloudPvminstancesVolumesPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances volumes post o k response has a 3xx status code +func (o *PcloudPvminstancesVolumesPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes post o k response has a 4xx status code +func (o *PcloudPvminstancesVolumesPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes post o k response has a 5xx status code +func (o *PcloudPvminstancesVolumesPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes post o k response a status code equal to that given +func (o *PcloudPvminstancesVolumesPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances volumes post o k response +func (o *PcloudPvminstancesVolumesPostOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVolumesPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesPostOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPostBadRequest creates a PcloudPvminstancesVolumesPostBadRequest with default headers values +func NewPcloudPvminstancesVolumesPostBadRequest() *PcloudPvminstancesVolumesPostBadRequest { + return &PcloudPvminstancesVolumesPostBadRequest{} +} + +/* +PcloudPvminstancesVolumesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVolumesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes post bad request response has a 2xx status code +func (o *PcloudPvminstancesVolumesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes post bad request response has a 3xx status code +func (o *PcloudPvminstancesVolumesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes post bad request response has a 4xx status code +func (o *PcloudPvminstancesVolumesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes post bad request response has a 5xx status code +func (o *PcloudPvminstancesVolumesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes post bad request response a status code equal to that given +func (o *PcloudPvminstancesVolumesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances volumes post bad request response +func (o *PcloudPvminstancesVolumesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVolumesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPostUnauthorized creates a PcloudPvminstancesVolumesPostUnauthorized with default headers values +func NewPcloudPvminstancesVolumesPostUnauthorized() *PcloudPvminstancesVolumesPostUnauthorized { + return &PcloudPvminstancesVolumesPostUnauthorized{} +} + +/* +PcloudPvminstancesVolumesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVolumesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes post unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVolumesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes post unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVolumesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes post unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVolumesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes post unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVolumesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes post unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVolumesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances volumes post unauthorized response +func (o *PcloudPvminstancesVolumesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVolumesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPostForbidden creates a PcloudPvminstancesVolumesPostForbidden with default headers values +func NewPcloudPvminstancesVolumesPostForbidden() *PcloudPvminstancesVolumesPostForbidden { + return &PcloudPvminstancesVolumesPostForbidden{} +} + +/* +PcloudPvminstancesVolumesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVolumesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes post forbidden response has a 2xx status code +func (o *PcloudPvminstancesVolumesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes post forbidden response has a 3xx status code +func (o *PcloudPvminstancesVolumesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes post forbidden response has a 4xx status code +func (o *PcloudPvminstancesVolumesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes post forbidden response has a 5xx status code +func (o *PcloudPvminstancesVolumesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes post forbidden response a status code equal to that given +func (o *PcloudPvminstancesVolumesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances volumes post forbidden response +func (o *PcloudPvminstancesVolumesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVolumesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPostNotFound creates a PcloudPvminstancesVolumesPostNotFound with default headers values +func NewPcloudPvminstancesVolumesPostNotFound() *PcloudPvminstancesVolumesPostNotFound { + return &PcloudPvminstancesVolumesPostNotFound{} +} + +/* +PcloudPvminstancesVolumesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVolumesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes post not found response has a 2xx status code +func (o *PcloudPvminstancesVolumesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes post not found response has a 3xx status code +func (o *PcloudPvminstancesVolumesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes post not found response has a 4xx status code +func (o *PcloudPvminstancesVolumesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes post not found response has a 5xx status code +func (o *PcloudPvminstancesVolumesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes post not found response a status code equal to that given +func (o *PcloudPvminstancesVolumesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances volumes post not found response +func (o *PcloudPvminstancesVolumesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVolumesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPostConflict creates a PcloudPvminstancesVolumesPostConflict with default headers values +func NewPcloudPvminstancesVolumesPostConflict() *PcloudPvminstancesVolumesPostConflict { + return &PcloudPvminstancesVolumesPostConflict{} +} + +/* +PcloudPvminstancesVolumesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesVolumesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes post conflict response has a 2xx status code +func (o *PcloudPvminstancesVolumesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes post conflict response has a 3xx status code +func (o *PcloudPvminstancesVolumesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes post conflict response has a 4xx status code +func (o *PcloudPvminstancesVolumesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes post conflict response has a 5xx status code +func (o *PcloudPvminstancesVolumesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes post conflict response a status code equal to that given +func (o *PcloudPvminstancesVolumesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances volumes post conflict response +func (o *PcloudPvminstancesVolumesPostConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesVolumesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVolumesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVolumesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPostInternalServerError creates a PcloudPvminstancesVolumesPostInternalServerError with default headers values +func NewPcloudPvminstancesVolumesPostInternalServerError() *PcloudPvminstancesVolumesPostInternalServerError { + return &PcloudPvminstancesVolumesPostInternalServerError{} +} + +/* +PcloudPvminstancesVolumesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVolumesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes post internal server error response has a 2xx status code +func (o *PcloudPvminstancesVolumesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes post internal server error response has a 3xx status code +func (o *PcloudPvminstancesVolumesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes post internal server error response has a 4xx status code +func (o *PcloudPvminstancesVolumesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes post internal server error response has a 5xx status code +func (o *PcloudPvminstancesVolumesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances volumes post internal server error response a status code equal to that given +func (o *PcloudPvminstancesVolumesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances volumes post internal server error response +func (o *PcloudPvminstancesVolumesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVolumesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_put_parameters.go new file mode 100644 index 000000000..1d32c93ef --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_put_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudPvminstancesVolumesPutParams creates a new PcloudPvminstancesVolumesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVolumesPutParams() *PcloudPvminstancesVolumesPutParams { + return &PcloudPvminstancesVolumesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVolumesPutParamsWithTimeout creates a new PcloudPvminstancesVolumesPutParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVolumesPutParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesPutParams { + return &PcloudPvminstancesVolumesPutParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVolumesPutParamsWithContext creates a new PcloudPvminstancesVolumesPutParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVolumesPutParamsWithContext(ctx context.Context) *PcloudPvminstancesVolumesPutParams { + return &PcloudPvminstancesVolumesPutParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVolumesPutParamsWithHTTPClient creates a new PcloudPvminstancesVolumesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVolumesPutParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesPutParams { + return &PcloudPvminstancesVolumesPutParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVolumesPutParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances volumes put operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVolumesPutParams struct { + + /* Body. + + Parameters to update a volume attached to a PVMInstance + */ + Body *models.PVMInstanceVolumeUpdate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances volumes put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesPutParams) WithDefaults() *PcloudPvminstancesVolumesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances volumes put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) WithContext(ctx context.Context) *PcloudPvminstancesVolumesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) WithBody(body *models.PVMInstanceVolumeUpdate) *PcloudPvminstancesVolumesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) SetBody(body *models.PVMInstanceVolumeUpdate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVolumesPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVolumesPutParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) WithVolumeID(volumeID string) *PcloudPvminstancesVolumesPutParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud pvminstances volumes put params +func (o *PcloudPvminstancesVolumesPutParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVolumesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_put_responses.go new file mode 100644 index 000000000..288d200e1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_put_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVolumesPutReader is a Reader for the PcloudPvminstancesVolumesPut structure. +type PcloudPvminstancesVolumesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVolumesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVolumesPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVolumesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVolumesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVolumesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVolumesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesVolumesPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVolumesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}] pcloud.pvminstances.volumes.put", response, response.Code()) + } +} + +// NewPcloudPvminstancesVolumesPutOK creates a PcloudPvminstancesVolumesPutOK with default headers values +func NewPcloudPvminstancesVolumesPutOK() *PcloudPvminstancesVolumesPutOK { + return &PcloudPvminstancesVolumesPutOK{} +} + +/* +PcloudPvminstancesVolumesPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVolumesPutOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances volumes put o k response has a 2xx status code +func (o *PcloudPvminstancesVolumesPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances volumes put o k response has a 3xx status code +func (o *PcloudPvminstancesVolumesPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes put o k response has a 4xx status code +func (o *PcloudPvminstancesVolumesPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes put o k response has a 5xx status code +func (o *PcloudPvminstancesVolumesPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes put o k response a status code equal to that given +func (o *PcloudPvminstancesVolumesPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances volumes put o k response +func (o *PcloudPvminstancesVolumesPutOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVolumesPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesPutOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPutBadRequest creates a PcloudPvminstancesVolumesPutBadRequest with default headers values +func NewPcloudPvminstancesVolumesPutBadRequest() *PcloudPvminstancesVolumesPutBadRequest { + return &PcloudPvminstancesVolumesPutBadRequest{} +} + +/* +PcloudPvminstancesVolumesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVolumesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes put bad request response has a 2xx status code +func (o *PcloudPvminstancesVolumesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes put bad request response has a 3xx status code +func (o *PcloudPvminstancesVolumesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes put bad request response has a 4xx status code +func (o *PcloudPvminstancesVolumesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes put bad request response has a 5xx status code +func (o *PcloudPvminstancesVolumesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes put bad request response a status code equal to that given +func (o *PcloudPvminstancesVolumesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances volumes put bad request response +func (o *PcloudPvminstancesVolumesPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVolumesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPutUnauthorized creates a PcloudPvminstancesVolumesPutUnauthorized with default headers values +func NewPcloudPvminstancesVolumesPutUnauthorized() *PcloudPvminstancesVolumesPutUnauthorized { + return &PcloudPvminstancesVolumesPutUnauthorized{} +} + +/* +PcloudPvminstancesVolumesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVolumesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes put unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVolumesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes put unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVolumesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes put unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVolumesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes put unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVolumesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes put unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVolumesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances volumes put unauthorized response +func (o *PcloudPvminstancesVolumesPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVolumesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPutForbidden creates a PcloudPvminstancesVolumesPutForbidden with default headers values +func NewPcloudPvminstancesVolumesPutForbidden() *PcloudPvminstancesVolumesPutForbidden { + return &PcloudPvminstancesVolumesPutForbidden{} +} + +/* +PcloudPvminstancesVolumesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVolumesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes put forbidden response has a 2xx status code +func (o *PcloudPvminstancesVolumesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes put forbidden response has a 3xx status code +func (o *PcloudPvminstancesVolumesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes put forbidden response has a 4xx status code +func (o *PcloudPvminstancesVolumesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes put forbidden response has a 5xx status code +func (o *PcloudPvminstancesVolumesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes put forbidden response a status code equal to that given +func (o *PcloudPvminstancesVolumesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances volumes put forbidden response +func (o *PcloudPvminstancesVolumesPutForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVolumesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPutNotFound creates a PcloudPvminstancesVolumesPutNotFound with default headers values +func NewPcloudPvminstancesVolumesPutNotFound() *PcloudPvminstancesVolumesPutNotFound { + return &PcloudPvminstancesVolumesPutNotFound{} +} + +/* +PcloudPvminstancesVolumesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVolumesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes put not found response has a 2xx status code +func (o *PcloudPvminstancesVolumesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes put not found response has a 3xx status code +func (o *PcloudPvminstancesVolumesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes put not found response has a 4xx status code +func (o *PcloudPvminstancesVolumesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes put not found response has a 5xx status code +func (o *PcloudPvminstancesVolumesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes put not found response a status code equal to that given +func (o *PcloudPvminstancesVolumesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances volumes put not found response +func (o *PcloudPvminstancesVolumesPutNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVolumesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPutConflict creates a PcloudPvminstancesVolumesPutConflict with default headers values +func NewPcloudPvminstancesVolumesPutConflict() *PcloudPvminstancesVolumesPutConflict { + return &PcloudPvminstancesVolumesPutConflict{} +} + +/* +PcloudPvminstancesVolumesPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesVolumesPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes put conflict response has a 2xx status code +func (o *PcloudPvminstancesVolumesPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes put conflict response has a 3xx status code +func (o *PcloudPvminstancesVolumesPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes put conflict response has a 4xx status code +func (o *PcloudPvminstancesVolumesPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes put conflict response has a 5xx status code +func (o *PcloudPvminstancesVolumesPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes put conflict response a status code equal to that given +func (o *PcloudPvminstancesVolumesPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances volumes put conflict response +func (o *PcloudPvminstancesVolumesPutConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesVolumesPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVolumesPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVolumesPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesPutInternalServerError creates a PcloudPvminstancesVolumesPutInternalServerError with default headers values +func NewPcloudPvminstancesVolumesPutInternalServerError() *PcloudPvminstancesVolumesPutInternalServerError { + return &PcloudPvminstancesVolumesPutInternalServerError{} +} + +/* +PcloudPvminstancesVolumesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVolumesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes put internal server error response has a 2xx status code +func (o *PcloudPvminstancesVolumesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes put internal server error response has a 3xx status code +func (o *PcloudPvminstancesVolumesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes put internal server error response has a 4xx status code +func (o *PcloudPvminstancesVolumesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes put internal server error response has a 5xx status code +func (o *PcloudPvminstancesVolumesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances volumes put internal server error response a status code equal to that given +func (o *PcloudPvminstancesVolumesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances volumes put internal server error response +func (o *PcloudPvminstancesVolumesPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVolumesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}][%d] pcloudPvminstancesVolumesPutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_setboot_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_setboot_put_parameters.go new file mode 100644 index 000000000..2480b9617 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_setboot_put_parameters.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudPvminstancesVolumesSetbootPutParams creates a new PcloudPvminstancesVolumesSetbootPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudPvminstancesVolumesSetbootPutParams() *PcloudPvminstancesVolumesSetbootPutParams { + return &PcloudPvminstancesVolumesSetbootPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudPvminstancesVolumesSetbootPutParamsWithTimeout creates a new PcloudPvminstancesVolumesSetbootPutParams object +// with the ability to set a timeout on a request. +func NewPcloudPvminstancesVolumesSetbootPutParamsWithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesSetbootPutParams { + return &PcloudPvminstancesVolumesSetbootPutParams{ + timeout: timeout, + } +} + +// NewPcloudPvminstancesVolumesSetbootPutParamsWithContext creates a new PcloudPvminstancesVolumesSetbootPutParams object +// with the ability to set a context for a request. +func NewPcloudPvminstancesVolumesSetbootPutParamsWithContext(ctx context.Context) *PcloudPvminstancesVolumesSetbootPutParams { + return &PcloudPvminstancesVolumesSetbootPutParams{ + Context: ctx, + } +} + +// NewPcloudPvminstancesVolumesSetbootPutParamsWithHTTPClient creates a new PcloudPvminstancesVolumesSetbootPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudPvminstancesVolumesSetbootPutParamsWithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesSetbootPutParams { + return &PcloudPvminstancesVolumesSetbootPutParams{ + HTTPClient: client, + } +} + +/* +PcloudPvminstancesVolumesSetbootPutParams contains all the parameters to send to the API endpoint + + for the pcloud pvminstances volumes setboot put operation. + + Typically these are written to a http.Request. +*/ +type PcloudPvminstancesVolumesSetbootPutParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + /* VolumeID. + + Volume ID + */ + VolumeID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud pvminstances volumes setboot put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesSetbootPutParams) WithDefaults() *PcloudPvminstancesVolumesSetbootPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud pvminstances volumes setboot put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudPvminstancesVolumesSetbootPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) WithTimeout(timeout time.Duration) *PcloudPvminstancesVolumesSetbootPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) WithContext(ctx context.Context) *PcloudPvminstancesVolumesSetbootPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) WithHTTPClient(client *http.Client) *PcloudPvminstancesVolumesSetbootPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) WithCloudInstanceID(cloudInstanceID string) *PcloudPvminstancesVolumesSetbootPutParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) WithPvmInstanceID(pvmInstanceID string) *PcloudPvminstancesVolumesSetbootPutParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WithVolumeID adds the volumeID to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) WithVolumeID(volumeID string) *PcloudPvminstancesVolumesSetbootPutParams { + o.SetVolumeID(volumeID) + return o +} + +// SetVolumeID adds the volumeId to the pcloud pvminstances volumes setboot put params +func (o *PcloudPvminstancesVolumesSetbootPutParams) SetVolumeID(volumeID string) { + o.VolumeID = volumeID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudPvminstancesVolumesSetbootPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + // path param volume_id + if err := r.SetPathParam("volume_id", o.VolumeID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_setboot_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_setboot_put_responses.go new file mode 100644 index 000000000..5c5287ff7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_pvminstances_volumes_setboot_put_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudPvminstancesVolumesSetbootPutReader is a Reader for the PcloudPvminstancesVolumesSetbootPut structure. +type PcloudPvminstancesVolumesSetbootPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudPvminstancesVolumesSetbootPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudPvminstancesVolumesSetbootPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudPvminstancesVolumesSetbootPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudPvminstancesVolumesSetbootPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudPvminstancesVolumesSetbootPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudPvminstancesVolumesSetbootPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudPvminstancesVolumesSetbootPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudPvminstancesVolumesSetbootPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot] pcloud.pvminstances.volumes.setboot.put", response, response.Code()) + } +} + +// NewPcloudPvminstancesVolumesSetbootPutOK creates a PcloudPvminstancesVolumesSetbootPutOK with default headers values +func NewPcloudPvminstancesVolumesSetbootPutOK() *PcloudPvminstancesVolumesSetbootPutOK { + return &PcloudPvminstancesVolumesSetbootPutOK{} +} + +/* +PcloudPvminstancesVolumesSetbootPutOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudPvminstancesVolumesSetbootPutOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud pvminstances volumes setboot put o k response has a 2xx status code +func (o *PcloudPvminstancesVolumesSetbootPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud pvminstances volumes setboot put o k response has a 3xx status code +func (o *PcloudPvminstancesVolumesSetbootPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes setboot put o k response has a 4xx status code +func (o *PcloudPvminstancesVolumesSetbootPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes setboot put o k response has a 5xx status code +func (o *PcloudPvminstancesVolumesSetbootPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes setboot put o k response a status code equal to that given +func (o *PcloudPvminstancesVolumesSetbootPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud pvminstances volumes setboot put o k response +func (o *PcloudPvminstancesVolumesSetbootPutOK) Code() int { + return 200 +} + +func (o *PcloudPvminstancesVolumesSetbootPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutOK %s", 200, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesSetbootPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesSetbootPutBadRequest creates a PcloudPvminstancesVolumesSetbootPutBadRequest with default headers values +func NewPcloudPvminstancesVolumesSetbootPutBadRequest() *PcloudPvminstancesVolumesSetbootPutBadRequest { + return &PcloudPvminstancesVolumesSetbootPutBadRequest{} +} + +/* +PcloudPvminstancesVolumesSetbootPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudPvminstancesVolumesSetbootPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes setboot put bad request response has a 2xx status code +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes setboot put bad request response has a 3xx status code +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes setboot put bad request response has a 4xx status code +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes setboot put bad request response has a 5xx status code +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes setboot put bad request response a status code equal to that given +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud pvminstances volumes setboot put bad request response +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) Code() int { + return 400 +} + +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutBadRequest %s", 400, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesSetbootPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesSetbootPutUnauthorized creates a PcloudPvminstancesVolumesSetbootPutUnauthorized with default headers values +func NewPcloudPvminstancesVolumesSetbootPutUnauthorized() *PcloudPvminstancesVolumesSetbootPutUnauthorized { + return &PcloudPvminstancesVolumesSetbootPutUnauthorized{} +} + +/* +PcloudPvminstancesVolumesSetbootPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudPvminstancesVolumesSetbootPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes setboot put unauthorized response has a 2xx status code +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes setboot put unauthorized response has a 3xx status code +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes setboot put unauthorized response has a 4xx status code +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes setboot put unauthorized response has a 5xx status code +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes setboot put unauthorized response a status code equal to that given +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud pvminstances volumes setboot put unauthorized response +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) Code() int { + return 401 +} + +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutUnauthorized %s", 401, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesSetbootPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesSetbootPutForbidden creates a PcloudPvminstancesVolumesSetbootPutForbidden with default headers values +func NewPcloudPvminstancesVolumesSetbootPutForbidden() *PcloudPvminstancesVolumesSetbootPutForbidden { + return &PcloudPvminstancesVolumesSetbootPutForbidden{} +} + +/* +PcloudPvminstancesVolumesSetbootPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudPvminstancesVolumesSetbootPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes setboot put forbidden response has a 2xx status code +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes setboot put forbidden response has a 3xx status code +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes setboot put forbidden response has a 4xx status code +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes setboot put forbidden response has a 5xx status code +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes setboot put forbidden response a status code equal to that given +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud pvminstances volumes setboot put forbidden response +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) Code() int { + return 403 +} + +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutForbidden %s", 403, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesSetbootPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesSetbootPutNotFound creates a PcloudPvminstancesVolumesSetbootPutNotFound with default headers values +func NewPcloudPvminstancesVolumesSetbootPutNotFound() *PcloudPvminstancesVolumesSetbootPutNotFound { + return &PcloudPvminstancesVolumesSetbootPutNotFound{} +} + +/* +PcloudPvminstancesVolumesSetbootPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudPvminstancesVolumesSetbootPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes setboot put not found response has a 2xx status code +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes setboot put not found response has a 3xx status code +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes setboot put not found response has a 4xx status code +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes setboot put not found response has a 5xx status code +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes setboot put not found response a status code equal to that given +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud pvminstances volumes setboot put not found response +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) Code() int { + return 404 +} + +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutNotFound %s", 404, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesSetbootPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesSetbootPutConflict creates a PcloudPvminstancesVolumesSetbootPutConflict with default headers values +func NewPcloudPvminstancesVolumesSetbootPutConflict() *PcloudPvminstancesVolumesSetbootPutConflict { + return &PcloudPvminstancesVolumesSetbootPutConflict{} +} + +/* +PcloudPvminstancesVolumesSetbootPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudPvminstancesVolumesSetbootPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes setboot put conflict response has a 2xx status code +func (o *PcloudPvminstancesVolumesSetbootPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes setboot put conflict response has a 3xx status code +func (o *PcloudPvminstancesVolumesSetbootPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes setboot put conflict response has a 4xx status code +func (o *PcloudPvminstancesVolumesSetbootPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud pvminstances volumes setboot put conflict response has a 5xx status code +func (o *PcloudPvminstancesVolumesSetbootPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud pvminstances volumes setboot put conflict response a status code equal to that given +func (o *PcloudPvminstancesVolumesSetbootPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud pvminstances volumes setboot put conflict response +func (o *PcloudPvminstancesVolumesSetbootPutConflict) Code() int { + return 409 +} + +func (o *PcloudPvminstancesVolumesSetbootPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutConflict %s", 409, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesSetbootPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudPvminstancesVolumesSetbootPutInternalServerError creates a PcloudPvminstancesVolumesSetbootPutInternalServerError with default headers values +func NewPcloudPvminstancesVolumesSetbootPutInternalServerError() *PcloudPvminstancesVolumesSetbootPutInternalServerError { + return &PcloudPvminstancesVolumesSetbootPutInternalServerError{} +} + +/* +PcloudPvminstancesVolumesSetbootPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudPvminstancesVolumesSetbootPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud pvminstances volumes setboot put internal server error response has a 2xx status code +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud pvminstances volumes setboot put internal server error response has a 3xx status code +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud pvminstances volumes setboot put internal server error response has a 4xx status code +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud pvminstances volumes setboot put internal server error response has a 5xx status code +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud pvminstances volumes setboot put internal server error response a status code equal to that given +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud pvminstances volumes setboot put internal server error response +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) Code() int { + return 500 +} + +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes/{volume_id}/setboot][%d] pcloudPvminstancesVolumesSetbootPutInternalServerError %s", 500, payload) +} + +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudPvminstancesVolumesSetbootPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_delete_parameters.go new file mode 100644 index 000000000..fe0565165 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_delete_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2PvminstancesVolumesDeleteParams creates a new PcloudV2PvminstancesVolumesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2PvminstancesVolumesDeleteParams() *PcloudV2PvminstancesVolumesDeleteParams { + return &PcloudV2PvminstancesVolumesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2PvminstancesVolumesDeleteParamsWithTimeout creates a new PcloudV2PvminstancesVolumesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudV2PvminstancesVolumesDeleteParamsWithTimeout(timeout time.Duration) *PcloudV2PvminstancesVolumesDeleteParams { + return &PcloudV2PvminstancesVolumesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudV2PvminstancesVolumesDeleteParamsWithContext creates a new PcloudV2PvminstancesVolumesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudV2PvminstancesVolumesDeleteParamsWithContext(ctx context.Context) *PcloudV2PvminstancesVolumesDeleteParams { + return &PcloudV2PvminstancesVolumesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudV2PvminstancesVolumesDeleteParamsWithHTTPClient creates a new PcloudV2PvminstancesVolumesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2PvminstancesVolumesDeleteParamsWithHTTPClient(client *http.Client) *PcloudV2PvminstancesVolumesDeleteParams { + return &PcloudV2PvminstancesVolumesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudV2PvminstancesVolumesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud v2 pvminstances volumes delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2PvminstancesVolumesDeleteParams struct { + + /* Body. + + Parameter to detach multiple volumes from a PVMInstance + */ + Body *models.VolumesDetach + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 pvminstances volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesVolumesDeleteParams) WithDefaults() *PcloudV2PvminstancesVolumesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 pvminstances volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesVolumesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) WithTimeout(timeout time.Duration) *PcloudV2PvminstancesVolumesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) WithContext(ctx context.Context) *PcloudV2PvminstancesVolumesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) WithHTTPClient(client *http.Client) *PcloudV2PvminstancesVolumesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) WithBody(body *models.VolumesDetach) *PcloudV2PvminstancesVolumesDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) SetBody(body *models.VolumesDetach) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2PvminstancesVolumesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) WithPvmInstanceID(pvmInstanceID string) *PcloudV2PvminstancesVolumesDeleteParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud v2 pvminstances volumes delete params +func (o *PcloudV2PvminstancesVolumesDeleteParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2PvminstancesVolumesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_delete_responses.go new file mode 100644 index 000000000..7a772f6cf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_delete_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2PvminstancesVolumesDeleteReader is a Reader for the PcloudV2PvminstancesVolumesDelete structure. +type PcloudV2PvminstancesVolumesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2PvminstancesVolumesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2PvminstancesVolumesDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2PvminstancesVolumesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2PvminstancesVolumesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2PvminstancesVolumesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2PvminstancesVolumesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV2PvminstancesVolumesDeleteConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2PvminstancesVolumesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes] pcloud.v2.pvminstances.volumes.delete", response, response.Code()) + } +} + +// NewPcloudV2PvminstancesVolumesDeleteAccepted creates a PcloudV2PvminstancesVolumesDeleteAccepted with default headers values +func NewPcloudV2PvminstancesVolumesDeleteAccepted() *PcloudV2PvminstancesVolumesDeleteAccepted { + return &PcloudV2PvminstancesVolumesDeleteAccepted{} +} + +/* +PcloudV2PvminstancesVolumesDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudV2PvminstancesVolumesDeleteAccepted struct { + Payload *models.VolumesDetachmentResponse +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes delete accepted response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes delete accepted response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes delete accepted response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes delete accepted response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes delete accepted response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes delete accepted response +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteAccepted %s", 202, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteAccepted %s", 202, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) GetPayload() *models.VolumesDetachmentResponse { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesDetachmentResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesDeleteBadRequest creates a PcloudV2PvminstancesVolumesDeleteBadRequest with default headers values +func NewPcloudV2PvminstancesVolumesDeleteBadRequest() *PcloudV2PvminstancesVolumesDeleteBadRequest { + return &PcloudV2PvminstancesVolumesDeleteBadRequest{} +} + +/* +PcloudV2PvminstancesVolumesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2PvminstancesVolumesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes delete bad request response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes delete bad request response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes delete bad request response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes delete bad request response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes delete bad request response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes delete bad request response +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesDeleteUnauthorized creates a PcloudV2PvminstancesVolumesDeleteUnauthorized with default headers values +func NewPcloudV2PvminstancesVolumesDeleteUnauthorized() *PcloudV2PvminstancesVolumesDeleteUnauthorized { + return &PcloudV2PvminstancesVolumesDeleteUnauthorized{} +} + +/* +PcloudV2PvminstancesVolumesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2PvminstancesVolumesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes delete unauthorized response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes delete unauthorized response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes delete unauthorized response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes delete unauthorized response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes delete unauthorized response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes delete unauthorized response +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesDeleteForbidden creates a PcloudV2PvminstancesVolumesDeleteForbidden with default headers values +func NewPcloudV2PvminstancesVolumesDeleteForbidden() *PcloudV2PvminstancesVolumesDeleteForbidden { + return &PcloudV2PvminstancesVolumesDeleteForbidden{} +} + +/* +PcloudV2PvminstancesVolumesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2PvminstancesVolumesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes delete forbidden response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes delete forbidden response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes delete forbidden response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes delete forbidden response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes delete forbidden response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes delete forbidden response +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesDeleteNotFound creates a PcloudV2PvminstancesVolumesDeleteNotFound with default headers values +func NewPcloudV2PvminstancesVolumesDeleteNotFound() *PcloudV2PvminstancesVolumesDeleteNotFound { + return &PcloudV2PvminstancesVolumesDeleteNotFound{} +} + +/* +PcloudV2PvminstancesVolumesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2PvminstancesVolumesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes delete not found response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes delete not found response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes delete not found response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes delete not found response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes delete not found response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes delete not found response +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesDeleteConflict creates a PcloudV2PvminstancesVolumesDeleteConflict with default headers values +func NewPcloudV2PvminstancesVolumesDeleteConflict() *PcloudV2PvminstancesVolumesDeleteConflict { + return &PcloudV2PvminstancesVolumesDeleteConflict{} +} + +/* +PcloudV2PvminstancesVolumesDeleteConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudV2PvminstancesVolumesDeleteConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes delete conflict response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesDeleteConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes delete conflict response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesDeleteConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes delete conflict response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesDeleteConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes delete conflict response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesDeleteConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes delete conflict response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesDeleteConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes delete conflict response +func (o *PcloudV2PvminstancesVolumesDeleteConflict) Code() int { + return 409 +} + +func (o *PcloudV2PvminstancesVolumesDeleteConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteConflict %s", 409, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteConflict %s", 409, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesDeleteConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesDeleteInternalServerError creates a PcloudV2PvminstancesVolumesDeleteInternalServerError with default headers values +func NewPcloudV2PvminstancesVolumesDeleteInternalServerError() *PcloudV2PvminstancesVolumesDeleteInternalServerError { + return &PcloudV2PvminstancesVolumesDeleteInternalServerError{} +} + +/* +PcloudV2PvminstancesVolumesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2PvminstancesVolumesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes delete internal server error response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes delete internal server error response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes delete internal server error response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes delete internal server error response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 pvminstances volumes delete internal server error response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes delete internal server error response +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_post_parameters.go new file mode 100644 index 000000000..5a1b49df1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2PvminstancesVolumesPostParams creates a new PcloudV2PvminstancesVolumesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2PvminstancesVolumesPostParams() *PcloudV2PvminstancesVolumesPostParams { + return &PcloudV2PvminstancesVolumesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2PvminstancesVolumesPostParamsWithTimeout creates a new PcloudV2PvminstancesVolumesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2PvminstancesVolumesPostParamsWithTimeout(timeout time.Duration) *PcloudV2PvminstancesVolumesPostParams { + return &PcloudV2PvminstancesVolumesPostParams{ + timeout: timeout, + } +} + +// NewPcloudV2PvminstancesVolumesPostParamsWithContext creates a new PcloudV2PvminstancesVolumesPostParams object +// with the ability to set a context for a request. +func NewPcloudV2PvminstancesVolumesPostParamsWithContext(ctx context.Context) *PcloudV2PvminstancesVolumesPostParams { + return &PcloudV2PvminstancesVolumesPostParams{ + Context: ctx, + } +} + +// NewPcloudV2PvminstancesVolumesPostParamsWithHTTPClient creates a new PcloudV2PvminstancesVolumesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2PvminstancesVolumesPostParamsWithHTTPClient(client *http.Client) *PcloudV2PvminstancesVolumesPostParams { + return &PcloudV2PvminstancesVolumesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2PvminstancesVolumesPostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 pvminstances volumes post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2PvminstancesVolumesPostParams struct { + + /* Body. + + Parameter to attach volumes to a PVMInstance + */ + Body *models.VolumesAttach + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* PvmInstanceID. + + PCloud PVM Instance ID + */ + PvmInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 pvminstances volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesVolumesPostParams) WithDefaults() *PcloudV2PvminstancesVolumesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 pvminstances volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2PvminstancesVolumesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) WithTimeout(timeout time.Duration) *PcloudV2PvminstancesVolumesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) WithContext(ctx context.Context) *PcloudV2PvminstancesVolumesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) WithHTTPClient(client *http.Client) *PcloudV2PvminstancesVolumesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) WithBody(body *models.VolumesAttach) *PcloudV2PvminstancesVolumesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) SetBody(body *models.VolumesAttach) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2PvminstancesVolumesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithPvmInstanceID adds the pvmInstanceID to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) WithPvmInstanceID(pvmInstanceID string) *PcloudV2PvminstancesVolumesPostParams { + o.SetPvmInstanceID(pvmInstanceID) + return o +} + +// SetPvmInstanceID adds the pvmInstanceId to the pcloud v2 pvminstances volumes post params +func (o *PcloudV2PvminstancesVolumesPostParams) SetPvmInstanceID(pvmInstanceID string) { + o.PvmInstanceID = pvmInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2PvminstancesVolumesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param pvm_instance_id + if err := r.SetPathParam("pvm_instance_id", o.PvmInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_post_responses.go new file mode 100644 index 000000000..7e680e740 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_pvminstances_volumes_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2PvminstancesVolumesPostReader is a Reader for the PcloudV2PvminstancesVolumesPost structure. +type PcloudV2PvminstancesVolumesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2PvminstancesVolumesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2PvminstancesVolumesPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2PvminstancesVolumesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2PvminstancesVolumesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2PvminstancesVolumesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2PvminstancesVolumesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV2PvminstancesVolumesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2PvminstancesVolumesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes] pcloud.v2.pvminstances.volumes.post", response, response.Code()) + } +} + +// NewPcloudV2PvminstancesVolumesPostAccepted creates a PcloudV2PvminstancesVolumesPostAccepted with default headers values +func NewPcloudV2PvminstancesVolumesPostAccepted() *PcloudV2PvminstancesVolumesPostAccepted { + return &PcloudV2PvminstancesVolumesPostAccepted{} +} + +/* +PcloudV2PvminstancesVolumesPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudV2PvminstancesVolumesPostAccepted struct { + Payload *models.VolumesAttachmentResponse +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes post accepted response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes post accepted response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes post accepted response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes post accepted response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes post accepted response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes post accepted response +func (o *PcloudV2PvminstancesVolumesPostAccepted) Code() int { + return 202 +} + +func (o *PcloudV2PvminstancesVolumesPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostAccepted %s", 202, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostAccepted %s", 202, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostAccepted) GetPayload() *models.VolumesAttachmentResponse { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesAttachmentResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesPostBadRequest creates a PcloudV2PvminstancesVolumesPostBadRequest with default headers values +func NewPcloudV2PvminstancesVolumesPostBadRequest() *PcloudV2PvminstancesVolumesPostBadRequest { + return &PcloudV2PvminstancesVolumesPostBadRequest{} +} + +/* +PcloudV2PvminstancesVolumesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2PvminstancesVolumesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes post bad request response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes post bad request response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes post bad request response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes post bad request response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes post bad request response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes post bad request response +func (o *PcloudV2PvminstancesVolumesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2PvminstancesVolumesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesPostUnauthorized creates a PcloudV2PvminstancesVolumesPostUnauthorized with default headers values +func NewPcloudV2PvminstancesVolumesPostUnauthorized() *PcloudV2PvminstancesVolumesPostUnauthorized { + return &PcloudV2PvminstancesVolumesPostUnauthorized{} +} + +/* +PcloudV2PvminstancesVolumesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2PvminstancesVolumesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes post unauthorized response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes post unauthorized response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes post unauthorized response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes post unauthorized response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes post unauthorized response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes post unauthorized response +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesPostForbidden creates a PcloudV2PvminstancesVolumesPostForbidden with default headers values +func NewPcloudV2PvminstancesVolumesPostForbidden() *PcloudV2PvminstancesVolumesPostForbidden { + return &PcloudV2PvminstancesVolumesPostForbidden{} +} + +/* +PcloudV2PvminstancesVolumesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2PvminstancesVolumesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes post forbidden response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes post forbidden response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes post forbidden response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes post forbidden response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes post forbidden response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes post forbidden response +func (o *PcloudV2PvminstancesVolumesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2PvminstancesVolumesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesPostNotFound creates a PcloudV2PvminstancesVolumesPostNotFound with default headers values +func NewPcloudV2PvminstancesVolumesPostNotFound() *PcloudV2PvminstancesVolumesPostNotFound { + return &PcloudV2PvminstancesVolumesPostNotFound{} +} + +/* +PcloudV2PvminstancesVolumesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2PvminstancesVolumesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes post not found response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes post not found response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes post not found response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes post not found response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes post not found response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes post not found response +func (o *PcloudV2PvminstancesVolumesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2PvminstancesVolumesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesPostConflict creates a PcloudV2PvminstancesVolumesPostConflict with default headers values +func NewPcloudV2PvminstancesVolumesPostConflict() *PcloudV2PvminstancesVolumesPostConflict { + return &PcloudV2PvminstancesVolumesPostConflict{} +} + +/* +PcloudV2PvminstancesVolumesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudV2PvminstancesVolumesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes post conflict response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes post conflict response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes post conflict response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes post conflict response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 pvminstances volumes post conflict response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes post conflict response +func (o *PcloudV2PvminstancesVolumesPostConflict) Code() int { + return 409 +} + +func (o *PcloudV2PvminstancesVolumesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostConflict %s", 409, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostConflict %s", 409, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2PvminstancesVolumesPostInternalServerError creates a PcloudV2PvminstancesVolumesPostInternalServerError with default headers values +func NewPcloudV2PvminstancesVolumesPostInternalServerError() *PcloudV2PvminstancesVolumesPostInternalServerError { + return &PcloudV2PvminstancesVolumesPostInternalServerError{} +} + +/* +PcloudV2PvminstancesVolumesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2PvminstancesVolumesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 pvminstances volumes post internal server error response has a 2xx status code +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 pvminstances volumes post internal server error response has a 3xx status code +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 pvminstances volumes post internal server error response has a 4xx status code +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 pvminstances volumes post internal server error response has a 5xx status code +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 pvminstances volumes post internal server error response a status code equal to that given +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 pvminstances volumes post internal server error response +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/volumes][%d] pcloudV2PvminstancesVolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2PvminstancesVolumesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clone_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clone_post_parameters.go new file mode 100644 index 000000000..3f81a918e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clone_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2VolumesClonePostParams creates a new PcloudV2VolumesClonePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumesClonePostParams() *PcloudV2VolumesClonePostParams { + return &PcloudV2VolumesClonePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumesClonePostParamsWithTimeout creates a new PcloudV2VolumesClonePostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumesClonePostParamsWithTimeout(timeout time.Duration) *PcloudV2VolumesClonePostParams { + return &PcloudV2VolumesClonePostParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumesClonePostParamsWithContext creates a new PcloudV2VolumesClonePostParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumesClonePostParamsWithContext(ctx context.Context) *PcloudV2VolumesClonePostParams { + return &PcloudV2VolumesClonePostParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumesClonePostParamsWithHTTPClient creates a new PcloudV2VolumesClonePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumesClonePostParamsWithHTTPClient(client *http.Client) *PcloudV2VolumesClonePostParams { + return &PcloudV2VolumesClonePostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumesClonePostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumes clone post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumesClonePostParams struct { + + /* Body. + + Parameters for the cloning of volumes + */ + Body *models.VolumesCloneAsyncRequest + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumes clone post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesClonePostParams) WithDefaults() *PcloudV2VolumesClonePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumes clone post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesClonePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) WithTimeout(timeout time.Duration) *PcloudV2VolumesClonePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) WithContext(ctx context.Context) *PcloudV2VolumesClonePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) WithHTTPClient(client *http.Client) *PcloudV2VolumesClonePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) WithBody(body *models.VolumesCloneAsyncRequest) *PcloudV2VolumesClonePostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) SetBody(body *models.VolumesCloneAsyncRequest) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumesClonePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumes clone post params +func (o *PcloudV2VolumesClonePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumesClonePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clone_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clone_post_responses.go new file mode 100644 index 000000000..eddcd7a3d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clone_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumesClonePostReader is a Reader for the PcloudV2VolumesClonePost structure. +type PcloudV2VolumesClonePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumesClonePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2VolumesClonePostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumesClonePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumesClonePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumesClonePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumesClonePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV2VolumesClonePostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumesClonePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone] pcloud.v2.volumes.clone.post", response, response.Code()) + } +} + +// NewPcloudV2VolumesClonePostAccepted creates a PcloudV2VolumesClonePostAccepted with default headers values +func NewPcloudV2VolumesClonePostAccepted() *PcloudV2VolumesClonePostAccepted { + return &PcloudV2VolumesClonePostAccepted{} +} + +/* +PcloudV2VolumesClonePostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudV2VolumesClonePostAccepted struct { + Payload *models.CloneTaskReference +} + +// IsSuccess returns true when this pcloud v2 volumes clone post accepted response has a 2xx status code +func (o *PcloudV2VolumesClonePostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumes clone post accepted response has a 3xx status code +func (o *PcloudV2VolumesClonePostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clone post accepted response has a 4xx status code +func (o *PcloudV2VolumesClonePostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes clone post accepted response has a 5xx status code +func (o *PcloudV2VolumesClonePostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clone post accepted response a status code equal to that given +func (o *PcloudV2VolumesClonePostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 volumes clone post accepted response +func (o *PcloudV2VolumesClonePostAccepted) Code() int { + return 202 +} + +func (o *PcloudV2VolumesClonePostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumesClonePostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumesClonePostAccepted) GetPayload() *models.CloneTaskReference { + return o.Payload +} + +func (o *PcloudV2VolumesClonePostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloneTaskReference) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonePostBadRequest creates a PcloudV2VolumesClonePostBadRequest with default headers values +func NewPcloudV2VolumesClonePostBadRequest() *PcloudV2VolumesClonePostBadRequest { + return &PcloudV2VolumesClonePostBadRequest{} +} + +/* +PcloudV2VolumesClonePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumesClonePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clone post bad request response has a 2xx status code +func (o *PcloudV2VolumesClonePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clone post bad request response has a 3xx status code +func (o *PcloudV2VolumesClonePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clone post bad request response has a 4xx status code +func (o *PcloudV2VolumesClonePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clone post bad request response has a 5xx status code +func (o *PcloudV2VolumesClonePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clone post bad request response a status code equal to that given +func (o *PcloudV2VolumesClonePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumes clone post bad request response +func (o *PcloudV2VolumesClonePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumesClonePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesClonePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesClonePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonePostUnauthorized creates a PcloudV2VolumesClonePostUnauthorized with default headers values +func NewPcloudV2VolumesClonePostUnauthorized() *PcloudV2VolumesClonePostUnauthorized { + return &PcloudV2VolumesClonePostUnauthorized{} +} + +/* +PcloudV2VolumesClonePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumesClonePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clone post unauthorized response has a 2xx status code +func (o *PcloudV2VolumesClonePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clone post unauthorized response has a 3xx status code +func (o *PcloudV2VolumesClonePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clone post unauthorized response has a 4xx status code +func (o *PcloudV2VolumesClonePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clone post unauthorized response has a 5xx status code +func (o *PcloudV2VolumesClonePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clone post unauthorized response a status code equal to that given +func (o *PcloudV2VolumesClonePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumes clone post unauthorized response +func (o *PcloudV2VolumesClonePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumesClonePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesClonePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesClonePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonePostForbidden creates a PcloudV2VolumesClonePostForbidden with default headers values +func NewPcloudV2VolumesClonePostForbidden() *PcloudV2VolumesClonePostForbidden { + return &PcloudV2VolumesClonePostForbidden{} +} + +/* +PcloudV2VolumesClonePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumesClonePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clone post forbidden response has a 2xx status code +func (o *PcloudV2VolumesClonePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clone post forbidden response has a 3xx status code +func (o *PcloudV2VolumesClonePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clone post forbidden response has a 4xx status code +func (o *PcloudV2VolumesClonePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clone post forbidden response has a 5xx status code +func (o *PcloudV2VolumesClonePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clone post forbidden response a status code equal to that given +func (o *PcloudV2VolumesClonePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumes clone post forbidden response +func (o *PcloudV2VolumesClonePostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumesClonePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesClonePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesClonePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonePostNotFound creates a PcloudV2VolumesClonePostNotFound with default headers values +func NewPcloudV2VolumesClonePostNotFound() *PcloudV2VolumesClonePostNotFound { + return &PcloudV2VolumesClonePostNotFound{} +} + +/* +PcloudV2VolumesClonePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumesClonePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clone post not found response has a 2xx status code +func (o *PcloudV2VolumesClonePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clone post not found response has a 3xx status code +func (o *PcloudV2VolumesClonePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clone post not found response has a 4xx status code +func (o *PcloudV2VolumesClonePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clone post not found response has a 5xx status code +func (o *PcloudV2VolumesClonePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clone post not found response a status code equal to that given +func (o *PcloudV2VolumesClonePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumes clone post not found response +func (o *PcloudV2VolumesClonePostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumesClonePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesClonePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesClonePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonePostConflict creates a PcloudV2VolumesClonePostConflict with default headers values +func NewPcloudV2VolumesClonePostConflict() *PcloudV2VolumesClonePostConflict { + return &PcloudV2VolumesClonePostConflict{} +} + +/* +PcloudV2VolumesClonePostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudV2VolumesClonePostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clone post conflict response has a 2xx status code +func (o *PcloudV2VolumesClonePostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clone post conflict response has a 3xx status code +func (o *PcloudV2VolumesClonePostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clone post conflict response has a 4xx status code +func (o *PcloudV2VolumesClonePostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clone post conflict response has a 5xx status code +func (o *PcloudV2VolumesClonePostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clone post conflict response a status code equal to that given +func (o *PcloudV2VolumesClonePostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v2 volumes clone post conflict response +func (o *PcloudV2VolumesClonePostConflict) Code() int { + return 409 +} + +func (o *PcloudV2VolumesClonePostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostConflict %s", 409, payload) +} + +func (o *PcloudV2VolumesClonePostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostConflict %s", 409, payload) +} + +func (o *PcloudV2VolumesClonePostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonePostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonePostInternalServerError creates a PcloudV2VolumesClonePostInternalServerError with default headers values +func NewPcloudV2VolumesClonePostInternalServerError() *PcloudV2VolumesClonePostInternalServerError { + return &PcloudV2VolumesClonePostInternalServerError{} +} + +/* +PcloudV2VolumesClonePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumesClonePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clone post internal server error response has a 2xx status code +func (o *PcloudV2VolumesClonePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clone post internal server error response has a 3xx status code +func (o *PcloudV2VolumesClonePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clone post internal server error response has a 4xx status code +func (o *PcloudV2VolumesClonePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes clone post internal server error response has a 5xx status code +func (o *PcloudV2VolumesClonePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumes clone post internal server error response a status code equal to that given +func (o *PcloudV2VolumesClonePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumes clone post internal server error response +func (o *PcloudV2VolumesClonePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumesClonePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesClonePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudV2VolumesClonePostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesClonePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clonetasks_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clonetasks_get_parameters.go new file mode 100644 index 000000000..0143dd917 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clonetasks_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV2VolumesClonetasksGetParams creates a new PcloudV2VolumesClonetasksGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumesClonetasksGetParams() *PcloudV2VolumesClonetasksGetParams { + return &PcloudV2VolumesClonetasksGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumesClonetasksGetParamsWithTimeout creates a new PcloudV2VolumesClonetasksGetParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumesClonetasksGetParamsWithTimeout(timeout time.Duration) *PcloudV2VolumesClonetasksGetParams { + return &PcloudV2VolumesClonetasksGetParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumesClonetasksGetParamsWithContext creates a new PcloudV2VolumesClonetasksGetParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumesClonetasksGetParamsWithContext(ctx context.Context) *PcloudV2VolumesClonetasksGetParams { + return &PcloudV2VolumesClonetasksGetParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumesClonetasksGetParamsWithHTTPClient creates a new PcloudV2VolumesClonetasksGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumesClonetasksGetParamsWithHTTPClient(client *http.Client) *PcloudV2VolumesClonetasksGetParams { + return &PcloudV2VolumesClonetasksGetParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumesClonetasksGetParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumes clonetasks get operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumesClonetasksGetParams struct { + + /* CloneTaskID. + + Volumes Clone Task ID + */ + CloneTaskID string + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumes clonetasks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesClonetasksGetParams) WithDefaults() *PcloudV2VolumesClonetasksGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumes clonetasks get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesClonetasksGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) WithTimeout(timeout time.Duration) *PcloudV2VolumesClonetasksGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) WithContext(ctx context.Context) *PcloudV2VolumesClonetasksGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) WithHTTPClient(client *http.Client) *PcloudV2VolumesClonetasksGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloneTaskID adds the cloneTaskID to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) WithCloneTaskID(cloneTaskID string) *PcloudV2VolumesClonetasksGetParams { + o.SetCloneTaskID(cloneTaskID) + return o +} + +// SetCloneTaskID adds the cloneTaskId to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) SetCloneTaskID(cloneTaskID string) { + o.CloneTaskID = cloneTaskID +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumesClonetasksGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumes clonetasks get params +func (o *PcloudV2VolumesClonetasksGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumesClonetasksGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param clone_task_id + if err := r.SetPathParam("clone_task_id", o.CloneTaskID); err != nil { + return err + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clonetasks_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clonetasks_get_responses.go new file mode 100644 index 000000000..16d43dc3f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_clonetasks_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumesClonetasksGetReader is a Reader for the PcloudV2VolumesClonetasksGet structure. +type PcloudV2VolumesClonetasksGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumesClonetasksGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2VolumesClonetasksGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumesClonetasksGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumesClonetasksGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumesClonetasksGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumesClonetasksGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV2VolumesClonetasksGetConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumesClonetasksGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}] pcloud.v2.volumes.clonetasks.get", response, response.Code()) + } +} + +// NewPcloudV2VolumesClonetasksGetOK creates a PcloudV2VolumesClonetasksGetOK with default headers values +func NewPcloudV2VolumesClonetasksGetOK() *PcloudV2VolumesClonetasksGetOK { + return &PcloudV2VolumesClonetasksGetOK{} +} + +/* +PcloudV2VolumesClonetasksGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2VolumesClonetasksGetOK struct { + Payload *models.CloneTaskStatus +} + +// IsSuccess returns true when this pcloud v2 volumes clonetasks get o k response has a 2xx status code +func (o *PcloudV2VolumesClonetasksGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumes clonetasks get o k response has a 3xx status code +func (o *PcloudV2VolumesClonetasksGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clonetasks get o k response has a 4xx status code +func (o *PcloudV2VolumesClonetasksGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes clonetasks get o k response has a 5xx status code +func (o *PcloudV2VolumesClonetasksGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clonetasks get o k response a status code equal to that given +func (o *PcloudV2VolumesClonetasksGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 volumes clonetasks get o k response +func (o *PcloudV2VolumesClonetasksGetOK) Code() int { + return 200 +} + +func (o *PcloudV2VolumesClonetasksGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetOK %s", 200, payload) +} + +func (o *PcloudV2VolumesClonetasksGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetOK %s", 200, payload) +} + +func (o *PcloudV2VolumesClonetasksGetOK) GetPayload() *models.CloneTaskStatus { + return o.Payload +} + +func (o *PcloudV2VolumesClonetasksGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.CloneTaskStatus) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonetasksGetBadRequest creates a PcloudV2VolumesClonetasksGetBadRequest with default headers values +func NewPcloudV2VolumesClonetasksGetBadRequest() *PcloudV2VolumesClonetasksGetBadRequest { + return &PcloudV2VolumesClonetasksGetBadRequest{} +} + +/* +PcloudV2VolumesClonetasksGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumesClonetasksGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clonetasks get bad request response has a 2xx status code +func (o *PcloudV2VolumesClonetasksGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clonetasks get bad request response has a 3xx status code +func (o *PcloudV2VolumesClonetasksGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clonetasks get bad request response has a 4xx status code +func (o *PcloudV2VolumesClonetasksGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clonetasks get bad request response has a 5xx status code +func (o *PcloudV2VolumesClonetasksGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clonetasks get bad request response a status code equal to that given +func (o *PcloudV2VolumesClonetasksGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumes clonetasks get bad request response +func (o *PcloudV2VolumesClonetasksGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumesClonetasksGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesClonetasksGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesClonetasksGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonetasksGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonetasksGetUnauthorized creates a PcloudV2VolumesClonetasksGetUnauthorized with default headers values +func NewPcloudV2VolumesClonetasksGetUnauthorized() *PcloudV2VolumesClonetasksGetUnauthorized { + return &PcloudV2VolumesClonetasksGetUnauthorized{} +} + +/* +PcloudV2VolumesClonetasksGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumesClonetasksGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clonetasks get unauthorized response has a 2xx status code +func (o *PcloudV2VolumesClonetasksGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clonetasks get unauthorized response has a 3xx status code +func (o *PcloudV2VolumesClonetasksGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clonetasks get unauthorized response has a 4xx status code +func (o *PcloudV2VolumesClonetasksGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clonetasks get unauthorized response has a 5xx status code +func (o *PcloudV2VolumesClonetasksGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clonetasks get unauthorized response a status code equal to that given +func (o *PcloudV2VolumesClonetasksGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumes clonetasks get unauthorized response +func (o *PcloudV2VolumesClonetasksGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumesClonetasksGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesClonetasksGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesClonetasksGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonetasksGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonetasksGetForbidden creates a PcloudV2VolumesClonetasksGetForbidden with default headers values +func NewPcloudV2VolumesClonetasksGetForbidden() *PcloudV2VolumesClonetasksGetForbidden { + return &PcloudV2VolumesClonetasksGetForbidden{} +} + +/* +PcloudV2VolumesClonetasksGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumesClonetasksGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clonetasks get forbidden response has a 2xx status code +func (o *PcloudV2VolumesClonetasksGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clonetasks get forbidden response has a 3xx status code +func (o *PcloudV2VolumesClonetasksGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clonetasks get forbidden response has a 4xx status code +func (o *PcloudV2VolumesClonetasksGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clonetasks get forbidden response has a 5xx status code +func (o *PcloudV2VolumesClonetasksGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clonetasks get forbidden response a status code equal to that given +func (o *PcloudV2VolumesClonetasksGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumes clonetasks get forbidden response +func (o *PcloudV2VolumesClonetasksGetForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumesClonetasksGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesClonetasksGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesClonetasksGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonetasksGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonetasksGetNotFound creates a PcloudV2VolumesClonetasksGetNotFound with default headers values +func NewPcloudV2VolumesClonetasksGetNotFound() *PcloudV2VolumesClonetasksGetNotFound { + return &PcloudV2VolumesClonetasksGetNotFound{} +} + +/* +PcloudV2VolumesClonetasksGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumesClonetasksGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clonetasks get not found response has a 2xx status code +func (o *PcloudV2VolumesClonetasksGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clonetasks get not found response has a 3xx status code +func (o *PcloudV2VolumesClonetasksGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clonetasks get not found response has a 4xx status code +func (o *PcloudV2VolumesClonetasksGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clonetasks get not found response has a 5xx status code +func (o *PcloudV2VolumesClonetasksGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clonetasks get not found response a status code equal to that given +func (o *PcloudV2VolumesClonetasksGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumes clonetasks get not found response +func (o *PcloudV2VolumesClonetasksGetNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumesClonetasksGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesClonetasksGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesClonetasksGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonetasksGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonetasksGetConflict creates a PcloudV2VolumesClonetasksGetConflict with default headers values +func NewPcloudV2VolumesClonetasksGetConflict() *PcloudV2VolumesClonetasksGetConflict { + return &PcloudV2VolumesClonetasksGetConflict{} +} + +/* +PcloudV2VolumesClonetasksGetConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudV2VolumesClonetasksGetConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clonetasks get conflict response has a 2xx status code +func (o *PcloudV2VolumesClonetasksGetConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clonetasks get conflict response has a 3xx status code +func (o *PcloudV2VolumesClonetasksGetConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clonetasks get conflict response has a 4xx status code +func (o *PcloudV2VolumesClonetasksGetConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes clonetasks get conflict response has a 5xx status code +func (o *PcloudV2VolumesClonetasksGetConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes clonetasks get conflict response a status code equal to that given +func (o *PcloudV2VolumesClonetasksGetConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v2 volumes clonetasks get conflict response +func (o *PcloudV2VolumesClonetasksGetConflict) Code() int { + return 409 +} + +func (o *PcloudV2VolumesClonetasksGetConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetConflict %s", 409, payload) +} + +func (o *PcloudV2VolumesClonetasksGetConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetConflict %s", 409, payload) +} + +func (o *PcloudV2VolumesClonetasksGetConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonetasksGetConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesClonetasksGetInternalServerError creates a PcloudV2VolumesClonetasksGetInternalServerError with default headers values +func NewPcloudV2VolumesClonetasksGetInternalServerError() *PcloudV2VolumesClonetasksGetInternalServerError { + return &PcloudV2VolumesClonetasksGetInternalServerError{} +} + +/* +PcloudV2VolumesClonetasksGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumesClonetasksGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes clonetasks get internal server error response has a 2xx status code +func (o *PcloudV2VolumesClonetasksGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes clonetasks get internal server error response has a 3xx status code +func (o *PcloudV2VolumesClonetasksGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes clonetasks get internal server error response has a 4xx status code +func (o *PcloudV2VolumesClonetasksGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes clonetasks get internal server error response has a 5xx status code +func (o *PcloudV2VolumesClonetasksGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumes clonetasks get internal server error response a status code equal to that given +func (o *PcloudV2VolumesClonetasksGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumes clonetasks get internal server error response +func (o *PcloudV2VolumesClonetasksGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumesClonetasksGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesClonetasksGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes/clone-tasks/{clone_task_id}][%d] pcloudV2VolumesClonetasksGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesClonetasksGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesClonetasksGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_delete_parameters.go new file mode 100644 index 000000000..425332995 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_delete_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2VolumesDeleteParams creates a new PcloudV2VolumesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumesDeleteParams() *PcloudV2VolumesDeleteParams { + return &PcloudV2VolumesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumesDeleteParamsWithTimeout creates a new PcloudV2VolumesDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumesDeleteParamsWithTimeout(timeout time.Duration) *PcloudV2VolumesDeleteParams { + return &PcloudV2VolumesDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumesDeleteParamsWithContext creates a new PcloudV2VolumesDeleteParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumesDeleteParamsWithContext(ctx context.Context) *PcloudV2VolumesDeleteParams { + return &PcloudV2VolumesDeleteParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumesDeleteParamsWithHTTPClient creates a new PcloudV2VolumesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumesDeleteParamsWithHTTPClient(client *http.Client) *PcloudV2VolumesDeleteParams { + return &PcloudV2VolumesDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumesDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumes delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumesDeleteParams struct { + + /* Body. + + Parameters to delete volumes + */ + Body *models.VolumesDelete + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesDeleteParams) WithDefaults() *PcloudV2VolumesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) WithTimeout(timeout time.Duration) *PcloudV2VolumesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) WithContext(ctx context.Context) *PcloudV2VolumesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) WithHTTPClient(client *http.Client) *PcloudV2VolumesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) WithBody(body *models.VolumesDelete) *PcloudV2VolumesDeleteParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) SetBody(body *models.VolumesDelete) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumesDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumes delete params +func (o *PcloudV2VolumesDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_delete_responses.go new file mode 100644 index 000000000..f766ea00d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_delete_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumesDeleteReader is a Reader for the PcloudV2VolumesDelete structure. +type PcloudV2VolumesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2VolumesDeleteAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 206: + result := NewPcloudV2VolumesDeletePartialContent() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 408: + result := NewPcloudV2VolumesDeleteRequestTimeout() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewPcloudV2VolumesDeleteTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes] pcloud.v2.volumes.delete", response, response.Code()) + } +} + +// NewPcloudV2VolumesDeleteAccepted creates a PcloudV2VolumesDeleteAccepted with default headers values +func NewPcloudV2VolumesDeleteAccepted() *PcloudV2VolumesDeleteAccepted { + return &PcloudV2VolumesDeleteAccepted{} +} + +/* +PcloudV2VolumesDeleteAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudV2VolumesDeleteAccepted struct { + Payload *models.VolumesDeleteResponse +} + +// IsSuccess returns true when this pcloud v2 volumes delete accepted response has a 2xx status code +func (o *PcloudV2VolumesDeleteAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumes delete accepted response has a 3xx status code +func (o *PcloudV2VolumesDeleteAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes delete accepted response has a 4xx status code +func (o *PcloudV2VolumesDeleteAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes delete accepted response has a 5xx status code +func (o *PcloudV2VolumesDeleteAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes delete accepted response a status code equal to that given +func (o *PcloudV2VolumesDeleteAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 volumes delete accepted response +func (o *PcloudV2VolumesDeleteAccepted) Code() int { + return 202 +} + +func (o *PcloudV2VolumesDeleteAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumesDeleteAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumesDeleteAccepted) GetPayload() *models.VolumesDeleteResponse { + return o.Payload +} + +func (o *PcloudV2VolumesDeleteAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesDeleteResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesDeletePartialContent creates a PcloudV2VolumesDeletePartialContent with default headers values +func NewPcloudV2VolumesDeletePartialContent() *PcloudV2VolumesDeletePartialContent { + return &PcloudV2VolumesDeletePartialContent{} +} + +/* +PcloudV2VolumesDeletePartialContent describes a response with status code 206, with default header values. + +Partial Content +*/ +type PcloudV2VolumesDeletePartialContent struct { + Payload *models.VolumesDeleteResponse +} + +// IsSuccess returns true when this pcloud v2 volumes delete partial content response has a 2xx status code +func (o *PcloudV2VolumesDeletePartialContent) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumes delete partial content response has a 3xx status code +func (o *PcloudV2VolumesDeletePartialContent) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes delete partial content response has a 4xx status code +func (o *PcloudV2VolumesDeletePartialContent) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes delete partial content response has a 5xx status code +func (o *PcloudV2VolumesDeletePartialContent) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes delete partial content response a status code equal to that given +func (o *PcloudV2VolumesDeletePartialContent) IsCode(code int) bool { + return code == 206 +} + +// Code gets the status code for the pcloud v2 volumes delete partial content response +func (o *PcloudV2VolumesDeletePartialContent) Code() int { + return 206 +} + +func (o *PcloudV2VolumesDeletePartialContent) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeletePartialContent %s", 206, payload) +} + +func (o *PcloudV2VolumesDeletePartialContent) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeletePartialContent %s", 206, payload) +} + +func (o *PcloudV2VolumesDeletePartialContent) GetPayload() *models.VolumesDeleteResponse { + return o.Payload +} + +func (o *PcloudV2VolumesDeletePartialContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesDeleteResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesDeleteBadRequest creates a PcloudV2VolumesDeleteBadRequest with default headers values +func NewPcloudV2VolumesDeleteBadRequest() *PcloudV2VolumesDeleteBadRequest { + return &PcloudV2VolumesDeleteBadRequest{} +} + +/* +PcloudV2VolumesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes delete bad request response has a 2xx status code +func (o *PcloudV2VolumesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes delete bad request response has a 3xx status code +func (o *PcloudV2VolumesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes delete bad request response has a 4xx status code +func (o *PcloudV2VolumesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes delete bad request response has a 5xx status code +func (o *PcloudV2VolumesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes delete bad request response a status code equal to that given +func (o *PcloudV2VolumesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumes delete bad request response +func (o *PcloudV2VolumesDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesDeleteUnauthorized creates a PcloudV2VolumesDeleteUnauthorized with default headers values +func NewPcloudV2VolumesDeleteUnauthorized() *PcloudV2VolumesDeleteUnauthorized { + return &PcloudV2VolumesDeleteUnauthorized{} +} + +/* +PcloudV2VolumesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes delete unauthorized response has a 2xx status code +func (o *PcloudV2VolumesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes delete unauthorized response has a 3xx status code +func (o *PcloudV2VolumesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes delete unauthorized response has a 4xx status code +func (o *PcloudV2VolumesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes delete unauthorized response has a 5xx status code +func (o *PcloudV2VolumesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes delete unauthorized response a status code equal to that given +func (o *PcloudV2VolumesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumes delete unauthorized response +func (o *PcloudV2VolumesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesDeleteNotFound creates a PcloudV2VolumesDeleteNotFound with default headers values +func NewPcloudV2VolumesDeleteNotFound() *PcloudV2VolumesDeleteNotFound { + return &PcloudV2VolumesDeleteNotFound{} +} + +/* +PcloudV2VolumesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes delete not found response has a 2xx status code +func (o *PcloudV2VolumesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes delete not found response has a 3xx status code +func (o *PcloudV2VolumesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes delete not found response has a 4xx status code +func (o *PcloudV2VolumesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes delete not found response has a 5xx status code +func (o *PcloudV2VolumesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes delete not found response a status code equal to that given +func (o *PcloudV2VolumesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumes delete not found response +func (o *PcloudV2VolumesDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesDeleteRequestTimeout creates a PcloudV2VolumesDeleteRequestTimeout with default headers values +func NewPcloudV2VolumesDeleteRequestTimeout() *PcloudV2VolumesDeleteRequestTimeout { + return &PcloudV2VolumesDeleteRequestTimeout{} +} + +/* +PcloudV2VolumesDeleteRequestTimeout describes a response with status code 408, with default header values. + +Request Timeout +*/ +type PcloudV2VolumesDeleteRequestTimeout struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes delete request timeout response has a 2xx status code +func (o *PcloudV2VolumesDeleteRequestTimeout) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes delete request timeout response has a 3xx status code +func (o *PcloudV2VolumesDeleteRequestTimeout) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes delete request timeout response has a 4xx status code +func (o *PcloudV2VolumesDeleteRequestTimeout) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes delete request timeout response has a 5xx status code +func (o *PcloudV2VolumesDeleteRequestTimeout) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes delete request timeout response a status code equal to that given +func (o *PcloudV2VolumesDeleteRequestTimeout) IsCode(code int) bool { + return code == 408 +} + +// Code gets the status code for the pcloud v2 volumes delete request timeout response +func (o *PcloudV2VolumesDeleteRequestTimeout) Code() int { + return 408 +} + +func (o *PcloudV2VolumesDeleteRequestTimeout) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteRequestTimeout %s", 408, payload) +} + +func (o *PcloudV2VolumesDeleteRequestTimeout) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteRequestTimeout %s", 408, payload) +} + +func (o *PcloudV2VolumesDeleteRequestTimeout) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesDeleteRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesDeleteTooManyRequests creates a PcloudV2VolumesDeleteTooManyRequests with default headers values +func NewPcloudV2VolumesDeleteTooManyRequests() *PcloudV2VolumesDeleteTooManyRequests { + return &PcloudV2VolumesDeleteTooManyRequests{} +} + +/* +PcloudV2VolumesDeleteTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type PcloudV2VolumesDeleteTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes delete too many requests response has a 2xx status code +func (o *PcloudV2VolumesDeleteTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes delete too many requests response has a 3xx status code +func (o *PcloudV2VolumesDeleteTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes delete too many requests response has a 4xx status code +func (o *PcloudV2VolumesDeleteTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes delete too many requests response has a 5xx status code +func (o *PcloudV2VolumesDeleteTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes delete too many requests response a status code equal to that given +func (o *PcloudV2VolumesDeleteTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the pcloud v2 volumes delete too many requests response +func (o *PcloudV2VolumesDeleteTooManyRequests) Code() int { + return 429 +} + +func (o *PcloudV2VolumesDeleteTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteTooManyRequests %s", 429, payload) +} + +func (o *PcloudV2VolumesDeleteTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteTooManyRequests %s", 429, payload) +} + +func (o *PcloudV2VolumesDeleteTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesDeleteTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesDeleteInternalServerError creates a PcloudV2VolumesDeleteInternalServerError with default headers values +func NewPcloudV2VolumesDeleteInternalServerError() *PcloudV2VolumesDeleteInternalServerError { + return &PcloudV2VolumesDeleteInternalServerError{} +} + +/* +PcloudV2VolumesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes delete internal server error response has a 2xx status code +func (o *PcloudV2VolumesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes delete internal server error response has a 3xx status code +func (o *PcloudV2VolumesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes delete internal server error response has a 4xx status code +func (o *PcloudV2VolumesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes delete internal server error response has a 5xx status code +func (o *PcloudV2VolumesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumes delete internal server error response a status code equal to that given +func (o *PcloudV2VolumesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumes delete internal server error response +func (o *PcloudV2VolumesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_getall_parameters.go new file mode 100644 index 000000000..4c668aff3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_getall_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2VolumesGetallParams creates a new PcloudV2VolumesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumesGetallParams() *PcloudV2VolumesGetallParams { + return &PcloudV2VolumesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumesGetallParamsWithTimeout creates a new PcloudV2VolumesGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumesGetallParamsWithTimeout(timeout time.Duration) *PcloudV2VolumesGetallParams { + return &PcloudV2VolumesGetallParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumesGetallParamsWithContext creates a new PcloudV2VolumesGetallParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumesGetallParamsWithContext(ctx context.Context) *PcloudV2VolumesGetallParams { + return &PcloudV2VolumesGetallParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumesGetallParamsWithHTTPClient creates a new PcloudV2VolumesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumesGetallParamsWithHTTPClient(client *http.Client) *PcloudV2VolumesGetallParams { + return &PcloudV2VolumesGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumesGetallParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumes getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumesGetallParams struct { + + /* Body. + + Parameters for fetching list of specified volumes + */ + Body *models.GetBulkVolume + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesGetallParams) WithDefaults() *PcloudV2VolumesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) WithTimeout(timeout time.Duration) *PcloudV2VolumesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) WithContext(ctx context.Context) *PcloudV2VolumesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) WithHTTPClient(client *http.Client) *PcloudV2VolumesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) WithBody(body *models.GetBulkVolume) *PcloudV2VolumesGetallParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) SetBody(body *models.GetBulkVolume) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumesGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumes getall params +func (o *PcloudV2VolumesGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_getall_responses.go new file mode 100644 index 000000000..785cc8532 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumesGetallReader is a Reader for the PcloudV2VolumesGetall structure. +type PcloudV2VolumesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2VolumesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes] pcloud.v2.volumes.getall", response, response.Code()) + } +} + +// NewPcloudV2VolumesGetallOK creates a PcloudV2VolumesGetallOK with default headers values +func NewPcloudV2VolumesGetallOK() *PcloudV2VolumesGetallOK { + return &PcloudV2VolumesGetallOK{} +} + +/* +PcloudV2VolumesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2VolumesGetallOK struct { + Payload *models.Volumes +} + +// IsSuccess returns true when this pcloud v2 volumes getall o k response has a 2xx status code +func (o *PcloudV2VolumesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumes getall o k response has a 3xx status code +func (o *PcloudV2VolumesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes getall o k response has a 4xx status code +func (o *PcloudV2VolumesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes getall o k response has a 5xx status code +func (o *PcloudV2VolumesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes getall o k response a status code equal to that given +func (o *PcloudV2VolumesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 volumes getall o k response +func (o *PcloudV2VolumesGetallOK) Code() int { + return 200 +} + +func (o *PcloudV2VolumesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallOK %s", 200, payload) +} + +func (o *PcloudV2VolumesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallOK %s", 200, payload) +} + +func (o *PcloudV2VolumesGetallOK) GetPayload() *models.Volumes { + return o.Payload +} + +func (o *PcloudV2VolumesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Volumes) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesGetallBadRequest creates a PcloudV2VolumesGetallBadRequest with default headers values +func NewPcloudV2VolumesGetallBadRequest() *PcloudV2VolumesGetallBadRequest { + return &PcloudV2VolumesGetallBadRequest{} +} + +/* +PcloudV2VolumesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes getall bad request response has a 2xx status code +func (o *PcloudV2VolumesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes getall bad request response has a 3xx status code +func (o *PcloudV2VolumesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes getall bad request response has a 4xx status code +func (o *PcloudV2VolumesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes getall bad request response has a 5xx status code +func (o *PcloudV2VolumesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes getall bad request response a status code equal to that given +func (o *PcloudV2VolumesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumes getall bad request response +func (o *PcloudV2VolumesGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesGetallUnauthorized creates a PcloudV2VolumesGetallUnauthorized with default headers values +func NewPcloudV2VolumesGetallUnauthorized() *PcloudV2VolumesGetallUnauthorized { + return &PcloudV2VolumesGetallUnauthorized{} +} + +/* +PcloudV2VolumesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes getall unauthorized response has a 2xx status code +func (o *PcloudV2VolumesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes getall unauthorized response has a 3xx status code +func (o *PcloudV2VolumesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes getall unauthorized response has a 4xx status code +func (o *PcloudV2VolumesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes getall unauthorized response has a 5xx status code +func (o *PcloudV2VolumesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes getall unauthorized response a status code equal to that given +func (o *PcloudV2VolumesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumes getall unauthorized response +func (o *PcloudV2VolumesGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesGetallForbidden creates a PcloudV2VolumesGetallForbidden with default headers values +func NewPcloudV2VolumesGetallForbidden() *PcloudV2VolumesGetallForbidden { + return &PcloudV2VolumesGetallForbidden{} +} + +/* +PcloudV2VolumesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes getall forbidden response has a 2xx status code +func (o *PcloudV2VolumesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes getall forbidden response has a 3xx status code +func (o *PcloudV2VolumesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes getall forbidden response has a 4xx status code +func (o *PcloudV2VolumesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes getall forbidden response has a 5xx status code +func (o *PcloudV2VolumesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes getall forbidden response a status code equal to that given +func (o *PcloudV2VolumesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumes getall forbidden response +func (o *PcloudV2VolumesGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesGetallNotFound creates a PcloudV2VolumesGetallNotFound with default headers values +func NewPcloudV2VolumesGetallNotFound() *PcloudV2VolumesGetallNotFound { + return &PcloudV2VolumesGetallNotFound{} +} + +/* +PcloudV2VolumesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes getall not found response has a 2xx status code +func (o *PcloudV2VolumesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes getall not found response has a 3xx status code +func (o *PcloudV2VolumesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes getall not found response has a 4xx status code +func (o *PcloudV2VolumesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes getall not found response has a 5xx status code +func (o *PcloudV2VolumesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes getall not found response a status code equal to that given +func (o *PcloudV2VolumesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumes getall not found response +func (o *PcloudV2VolumesGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesGetallInternalServerError creates a PcloudV2VolumesGetallInternalServerError with default headers values +func NewPcloudV2VolumesGetallInternalServerError() *PcloudV2VolumesGetallInternalServerError { + return &PcloudV2VolumesGetallInternalServerError{} +} + +/* +PcloudV2VolumesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes getall internal server error response has a 2xx status code +func (o *PcloudV2VolumesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes getall internal server error response has a 3xx status code +func (o *PcloudV2VolumesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes getall internal server error response has a 4xx status code +func (o *PcloudV2VolumesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes getall internal server error response has a 5xx status code +func (o *PcloudV2VolumesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumes getall internal server error response a status code equal to that given +func (o *PcloudV2VolumesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumes getall internal server error response +func (o *PcloudV2VolumesGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_post_parameters.go new file mode 100644 index 000000000..ba3f0d541 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2VolumesPostParams creates a new PcloudV2VolumesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumesPostParams() *PcloudV2VolumesPostParams { + return &PcloudV2VolumesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumesPostParamsWithTimeout creates a new PcloudV2VolumesPostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumesPostParamsWithTimeout(timeout time.Duration) *PcloudV2VolumesPostParams { + return &PcloudV2VolumesPostParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumesPostParamsWithContext creates a new PcloudV2VolumesPostParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumesPostParamsWithContext(ctx context.Context) *PcloudV2VolumesPostParams { + return &PcloudV2VolumesPostParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumesPostParamsWithHTTPClient creates a new PcloudV2VolumesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumesPostParamsWithHTTPClient(client *http.Client) *PcloudV2VolumesPostParams { + return &PcloudV2VolumesPostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumesPostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumes post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumesPostParams struct { + + /* Body. + + Parameters for creating multiple volumes + */ + Body *models.MultiVolumesCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesPostParams) WithDefaults() *PcloudV2VolumesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) WithTimeout(timeout time.Duration) *PcloudV2VolumesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) WithContext(ctx context.Context) *PcloudV2VolumesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) WithHTTPClient(client *http.Client) *PcloudV2VolumesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) WithBody(body *models.MultiVolumesCreate) *PcloudV2VolumesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) SetBody(body *models.MultiVolumesCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumesPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumes post params +func (o *PcloudV2VolumesPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_post_responses.go new file mode 100644 index 000000000..1b2e4be24 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumes_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumesPostReader is a Reader for the PcloudV2VolumesPost structure. +type PcloudV2VolumesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewPcloudV2VolumesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV2VolumesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewPcloudV2VolumesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes] pcloud.v2.volumes.post", response, response.Code()) + } +} + +// NewPcloudV2VolumesPostCreated creates a PcloudV2VolumesPostCreated with default headers values +func NewPcloudV2VolumesPostCreated() *PcloudV2VolumesPostCreated { + return &PcloudV2VolumesPostCreated{} +} + +/* +PcloudV2VolumesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type PcloudV2VolumesPostCreated struct { + Payload *models.Volumes +} + +// IsSuccess returns true when this pcloud v2 volumes post created response has a 2xx status code +func (o *PcloudV2VolumesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumes post created response has a 3xx status code +func (o *PcloudV2VolumesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes post created response has a 4xx status code +func (o *PcloudV2VolumesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes post created response has a 5xx status code +func (o *PcloudV2VolumesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes post created response a status code equal to that given +func (o *PcloudV2VolumesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the pcloud v2 volumes post created response +func (o *PcloudV2VolumesPostCreated) Code() int { + return 201 +} + +func (o *PcloudV2VolumesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostCreated %s", 201, payload) +} + +func (o *PcloudV2VolumesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostCreated %s", 201, payload) +} + +func (o *PcloudV2VolumesPostCreated) GetPayload() *models.Volumes { + return o.Payload +} + +func (o *PcloudV2VolumesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Volumes) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesPostBadRequest creates a PcloudV2VolumesPostBadRequest with default headers values +func NewPcloudV2VolumesPostBadRequest() *PcloudV2VolumesPostBadRequest { + return &PcloudV2VolumesPostBadRequest{} +} + +/* +PcloudV2VolumesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes post bad request response has a 2xx status code +func (o *PcloudV2VolumesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes post bad request response has a 3xx status code +func (o *PcloudV2VolumesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes post bad request response has a 4xx status code +func (o *PcloudV2VolumesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes post bad request response has a 5xx status code +func (o *PcloudV2VolumesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes post bad request response a status code equal to that given +func (o *PcloudV2VolumesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumes post bad request response +func (o *PcloudV2VolumesPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesPostUnauthorized creates a PcloudV2VolumesPostUnauthorized with default headers values +func NewPcloudV2VolumesPostUnauthorized() *PcloudV2VolumesPostUnauthorized { + return &PcloudV2VolumesPostUnauthorized{} +} + +/* +PcloudV2VolumesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes post unauthorized response has a 2xx status code +func (o *PcloudV2VolumesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes post unauthorized response has a 3xx status code +func (o *PcloudV2VolumesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes post unauthorized response has a 4xx status code +func (o *PcloudV2VolumesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes post unauthorized response has a 5xx status code +func (o *PcloudV2VolumesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes post unauthorized response a status code equal to that given +func (o *PcloudV2VolumesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumes post unauthorized response +func (o *PcloudV2VolumesPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesPostForbidden creates a PcloudV2VolumesPostForbidden with default headers values +func NewPcloudV2VolumesPostForbidden() *PcloudV2VolumesPostForbidden { + return &PcloudV2VolumesPostForbidden{} +} + +/* +PcloudV2VolumesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes post forbidden response has a 2xx status code +func (o *PcloudV2VolumesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes post forbidden response has a 3xx status code +func (o *PcloudV2VolumesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes post forbidden response has a 4xx status code +func (o *PcloudV2VolumesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes post forbidden response has a 5xx status code +func (o *PcloudV2VolumesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes post forbidden response a status code equal to that given +func (o *PcloudV2VolumesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumes post forbidden response +func (o *PcloudV2VolumesPostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesPostNotFound creates a PcloudV2VolumesPostNotFound with default headers values +func NewPcloudV2VolumesPostNotFound() *PcloudV2VolumesPostNotFound { + return &PcloudV2VolumesPostNotFound{} +} + +/* +PcloudV2VolumesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes post not found response has a 2xx status code +func (o *PcloudV2VolumesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes post not found response has a 3xx status code +func (o *PcloudV2VolumesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes post not found response has a 4xx status code +func (o *PcloudV2VolumesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes post not found response has a 5xx status code +func (o *PcloudV2VolumesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes post not found response a status code equal to that given +func (o *PcloudV2VolumesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumes post not found response +func (o *PcloudV2VolumesPostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesPostConflict creates a PcloudV2VolumesPostConflict with default headers values +func NewPcloudV2VolumesPostConflict() *PcloudV2VolumesPostConflict { + return &PcloudV2VolumesPostConflict{} +} + +/* +PcloudV2VolumesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudV2VolumesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes post conflict response has a 2xx status code +func (o *PcloudV2VolumesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes post conflict response has a 3xx status code +func (o *PcloudV2VolumesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes post conflict response has a 4xx status code +func (o *PcloudV2VolumesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes post conflict response has a 5xx status code +func (o *PcloudV2VolumesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes post conflict response a status code equal to that given +func (o *PcloudV2VolumesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v2 volumes post conflict response +func (o *PcloudV2VolumesPostConflict) Code() int { + return 409 +} + +func (o *PcloudV2VolumesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostConflict %s", 409, payload) +} + +func (o *PcloudV2VolumesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostConflict %s", 409, payload) +} + +func (o *PcloudV2VolumesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesPostUnprocessableEntity creates a PcloudV2VolumesPostUnprocessableEntity with default headers values +func NewPcloudV2VolumesPostUnprocessableEntity() *PcloudV2VolumesPostUnprocessableEntity { + return &PcloudV2VolumesPostUnprocessableEntity{} +} + +/* +PcloudV2VolumesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type PcloudV2VolumesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes post unprocessable entity response has a 2xx status code +func (o *PcloudV2VolumesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes post unprocessable entity response has a 3xx status code +func (o *PcloudV2VolumesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes post unprocessable entity response has a 4xx status code +func (o *PcloudV2VolumesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumes post unprocessable entity response has a 5xx status code +func (o *PcloudV2VolumesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumes post unprocessable entity response a status code equal to that given +func (o *PcloudV2VolumesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the pcloud v2 volumes post unprocessable entity response +func (o *PcloudV2VolumesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *PcloudV2VolumesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudV2VolumesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostUnprocessableEntity %s", 422, payload) +} + +func (o *PcloudV2VolumesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesPostInternalServerError creates a PcloudV2VolumesPostInternalServerError with default headers values +func NewPcloudV2VolumesPostInternalServerError() *PcloudV2VolumesPostInternalServerError { + return &PcloudV2VolumesPostInternalServerError{} +} + +/* +PcloudV2VolumesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumes post internal server error response has a 2xx status code +func (o *PcloudV2VolumesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumes post internal server error response has a 3xx status code +func (o *PcloudV2VolumesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumes post internal server error response has a 4xx status code +func (o *PcloudV2VolumesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumes post internal server error response has a 5xx status code +func (o *PcloudV2VolumesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumes post internal server error response a status code equal to that given +func (o *PcloudV2VolumesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumes post internal server error response +func (o *PcloudV2VolumesPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes][%d] pcloudV2VolumesPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_cancel_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_cancel_post_parameters.go new file mode 100644 index 000000000..40b733749 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_cancel_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2VolumescloneCancelPostParams creates a new PcloudV2VolumescloneCancelPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumescloneCancelPostParams() *PcloudV2VolumescloneCancelPostParams { + return &PcloudV2VolumescloneCancelPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumescloneCancelPostParamsWithTimeout creates a new PcloudV2VolumescloneCancelPostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumescloneCancelPostParamsWithTimeout(timeout time.Duration) *PcloudV2VolumescloneCancelPostParams { + return &PcloudV2VolumescloneCancelPostParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumescloneCancelPostParamsWithContext creates a new PcloudV2VolumescloneCancelPostParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumescloneCancelPostParamsWithContext(ctx context.Context) *PcloudV2VolumescloneCancelPostParams { + return &PcloudV2VolumescloneCancelPostParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumescloneCancelPostParamsWithHTTPClient creates a new PcloudV2VolumescloneCancelPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumescloneCancelPostParamsWithHTTPClient(client *http.Client) *PcloudV2VolumescloneCancelPostParams { + return &PcloudV2VolumescloneCancelPostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumescloneCancelPostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumesclone cancel post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumescloneCancelPostParams struct { + + /* Body. + + Parameters for cancelling a volumes-clone request + */ + Body *models.VolumesCloneCancel + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumesCloneID. + + Volumes Clone ID + */ + VolumesCloneID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumesclone cancel post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneCancelPostParams) WithDefaults() *PcloudV2VolumescloneCancelPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumesclone cancel post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneCancelPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) WithTimeout(timeout time.Duration) *PcloudV2VolumescloneCancelPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) WithContext(ctx context.Context) *PcloudV2VolumescloneCancelPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) WithHTTPClient(client *http.Client) *PcloudV2VolumescloneCancelPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) WithBody(body *models.VolumesCloneCancel) *PcloudV2VolumescloneCancelPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) SetBody(body *models.VolumesCloneCancel) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumescloneCancelPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumesCloneID adds the volumesCloneID to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) WithVolumesCloneID(volumesCloneID string) *PcloudV2VolumescloneCancelPostParams { + o.SetVolumesCloneID(volumesCloneID) + return o +} + +// SetVolumesCloneID adds the volumesCloneId to the pcloud v2 volumesclone cancel post params +func (o *PcloudV2VolumescloneCancelPostParams) SetVolumesCloneID(volumesCloneID string) { + o.VolumesCloneID = volumesCloneID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumescloneCancelPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volumes_clone_id + if err := r.SetPathParam("volumes_clone_id", o.VolumesCloneID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_cancel_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_cancel_post_responses.go new file mode 100644 index 000000000..1569e873e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_cancel_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumescloneCancelPostReader is a Reader for the PcloudV2VolumescloneCancelPost structure. +type PcloudV2VolumescloneCancelPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumescloneCancelPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2VolumescloneCancelPostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumescloneCancelPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumescloneCancelPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumescloneCancelPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumescloneCancelPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumescloneCancelPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel] pcloud.v2.volumesclone.cancel.post", response, response.Code()) + } +} + +// NewPcloudV2VolumescloneCancelPostAccepted creates a PcloudV2VolumescloneCancelPostAccepted with default headers values +func NewPcloudV2VolumescloneCancelPostAccepted() *PcloudV2VolumescloneCancelPostAccepted { + return &PcloudV2VolumescloneCancelPostAccepted{} +} + +/* +PcloudV2VolumescloneCancelPostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudV2VolumescloneCancelPostAccepted struct { + Payload *models.VolumesClone +} + +// IsSuccess returns true when this pcloud v2 volumesclone cancel post accepted response has a 2xx status code +func (o *PcloudV2VolumescloneCancelPostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumesclone cancel post accepted response has a 3xx status code +func (o *PcloudV2VolumescloneCancelPostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone cancel post accepted response has a 4xx status code +func (o *PcloudV2VolumescloneCancelPostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone cancel post accepted response has a 5xx status code +func (o *PcloudV2VolumescloneCancelPostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone cancel post accepted response a status code equal to that given +func (o *PcloudV2VolumescloneCancelPostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 volumesclone cancel post accepted response +func (o *PcloudV2VolumescloneCancelPostAccepted) Code() int { + return 202 +} + +func (o *PcloudV2VolumescloneCancelPostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumescloneCancelPostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumescloneCancelPostAccepted) GetPayload() *models.VolumesClone { + return o.Payload +} + +func (o *PcloudV2VolumescloneCancelPostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesClone) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneCancelPostBadRequest creates a PcloudV2VolumescloneCancelPostBadRequest with default headers values +func NewPcloudV2VolumescloneCancelPostBadRequest() *PcloudV2VolumescloneCancelPostBadRequest { + return &PcloudV2VolumescloneCancelPostBadRequest{} +} + +/* +PcloudV2VolumescloneCancelPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumescloneCancelPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone cancel post bad request response has a 2xx status code +func (o *PcloudV2VolumescloneCancelPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone cancel post bad request response has a 3xx status code +func (o *PcloudV2VolumescloneCancelPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone cancel post bad request response has a 4xx status code +func (o *PcloudV2VolumescloneCancelPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone cancel post bad request response has a 5xx status code +func (o *PcloudV2VolumescloneCancelPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone cancel post bad request response a status code equal to that given +func (o *PcloudV2VolumescloneCancelPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumesclone cancel post bad request response +func (o *PcloudV2VolumescloneCancelPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumescloneCancelPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneCancelPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneCancelPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneCancelPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneCancelPostUnauthorized creates a PcloudV2VolumescloneCancelPostUnauthorized with default headers values +func NewPcloudV2VolumescloneCancelPostUnauthorized() *PcloudV2VolumescloneCancelPostUnauthorized { + return &PcloudV2VolumescloneCancelPostUnauthorized{} +} + +/* +PcloudV2VolumescloneCancelPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumescloneCancelPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone cancel post unauthorized response has a 2xx status code +func (o *PcloudV2VolumescloneCancelPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone cancel post unauthorized response has a 3xx status code +func (o *PcloudV2VolumescloneCancelPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone cancel post unauthorized response has a 4xx status code +func (o *PcloudV2VolumescloneCancelPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone cancel post unauthorized response has a 5xx status code +func (o *PcloudV2VolumescloneCancelPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone cancel post unauthorized response a status code equal to that given +func (o *PcloudV2VolumescloneCancelPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumesclone cancel post unauthorized response +func (o *PcloudV2VolumescloneCancelPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumescloneCancelPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneCancelPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneCancelPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneCancelPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneCancelPostForbidden creates a PcloudV2VolumescloneCancelPostForbidden with default headers values +func NewPcloudV2VolumescloneCancelPostForbidden() *PcloudV2VolumescloneCancelPostForbidden { + return &PcloudV2VolumescloneCancelPostForbidden{} +} + +/* +PcloudV2VolumescloneCancelPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumescloneCancelPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone cancel post forbidden response has a 2xx status code +func (o *PcloudV2VolumescloneCancelPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone cancel post forbidden response has a 3xx status code +func (o *PcloudV2VolumescloneCancelPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone cancel post forbidden response has a 4xx status code +func (o *PcloudV2VolumescloneCancelPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone cancel post forbidden response has a 5xx status code +func (o *PcloudV2VolumescloneCancelPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone cancel post forbidden response a status code equal to that given +func (o *PcloudV2VolumescloneCancelPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumesclone cancel post forbidden response +func (o *PcloudV2VolumescloneCancelPostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumescloneCancelPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneCancelPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneCancelPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneCancelPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneCancelPostNotFound creates a PcloudV2VolumescloneCancelPostNotFound with default headers values +func NewPcloudV2VolumescloneCancelPostNotFound() *PcloudV2VolumescloneCancelPostNotFound { + return &PcloudV2VolumescloneCancelPostNotFound{} +} + +/* +PcloudV2VolumescloneCancelPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumescloneCancelPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone cancel post not found response has a 2xx status code +func (o *PcloudV2VolumescloneCancelPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone cancel post not found response has a 3xx status code +func (o *PcloudV2VolumescloneCancelPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone cancel post not found response has a 4xx status code +func (o *PcloudV2VolumescloneCancelPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone cancel post not found response has a 5xx status code +func (o *PcloudV2VolumescloneCancelPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone cancel post not found response a status code equal to that given +func (o *PcloudV2VolumescloneCancelPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumesclone cancel post not found response +func (o *PcloudV2VolumescloneCancelPostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumescloneCancelPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneCancelPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneCancelPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneCancelPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneCancelPostInternalServerError creates a PcloudV2VolumescloneCancelPostInternalServerError with default headers values +func NewPcloudV2VolumescloneCancelPostInternalServerError() *PcloudV2VolumescloneCancelPostInternalServerError { + return &PcloudV2VolumescloneCancelPostInternalServerError{} +} + +/* +PcloudV2VolumescloneCancelPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumescloneCancelPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone cancel post internal server error response has a 2xx status code +func (o *PcloudV2VolumescloneCancelPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone cancel post internal server error response has a 3xx status code +func (o *PcloudV2VolumescloneCancelPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone cancel post internal server error response has a 4xx status code +func (o *PcloudV2VolumescloneCancelPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone cancel post internal server error response has a 5xx status code +func (o *PcloudV2VolumescloneCancelPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumesclone cancel post internal server error response a status code equal to that given +func (o *PcloudV2VolumescloneCancelPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumesclone cancel post internal server error response +func (o *PcloudV2VolumescloneCancelPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumescloneCancelPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneCancelPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/cancel][%d] pcloudV2VolumescloneCancelPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneCancelPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneCancelPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_delete_parameters.go new file mode 100644 index 000000000..bf3ea7fee --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_delete_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV2VolumescloneDeleteParams creates a new PcloudV2VolumescloneDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumescloneDeleteParams() *PcloudV2VolumescloneDeleteParams { + return &PcloudV2VolumescloneDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumescloneDeleteParamsWithTimeout creates a new PcloudV2VolumescloneDeleteParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumescloneDeleteParamsWithTimeout(timeout time.Duration) *PcloudV2VolumescloneDeleteParams { + return &PcloudV2VolumescloneDeleteParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumescloneDeleteParamsWithContext creates a new PcloudV2VolumescloneDeleteParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumescloneDeleteParamsWithContext(ctx context.Context) *PcloudV2VolumescloneDeleteParams { + return &PcloudV2VolumescloneDeleteParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumescloneDeleteParamsWithHTTPClient creates a new PcloudV2VolumescloneDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumescloneDeleteParamsWithHTTPClient(client *http.Client) *PcloudV2VolumescloneDeleteParams { + return &PcloudV2VolumescloneDeleteParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumescloneDeleteParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumesclone delete operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumescloneDeleteParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumesCloneID. + + Volumes Clone ID + */ + VolumesCloneID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumesclone delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneDeleteParams) WithDefaults() *PcloudV2VolumescloneDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumesclone delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) WithTimeout(timeout time.Duration) *PcloudV2VolumescloneDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) WithContext(ctx context.Context) *PcloudV2VolumescloneDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) WithHTTPClient(client *http.Client) *PcloudV2VolumescloneDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumescloneDeleteParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumesCloneID adds the volumesCloneID to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) WithVolumesCloneID(volumesCloneID string) *PcloudV2VolumescloneDeleteParams { + o.SetVolumesCloneID(volumesCloneID) + return o +} + +// SetVolumesCloneID adds the volumesCloneId to the pcloud v2 volumesclone delete params +func (o *PcloudV2VolumescloneDeleteParams) SetVolumesCloneID(volumesCloneID string) { + o.VolumesCloneID = volumesCloneID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumescloneDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volumes_clone_id + if err := r.SetPathParam("volumes_clone_id", o.VolumesCloneID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_delete_responses.go new file mode 100644 index 000000000..1b527e165 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_delete_responses.go @@ -0,0 +1,485 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumescloneDeleteReader is a Reader for the PcloudV2VolumescloneDelete structure. +type PcloudV2VolumescloneDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumescloneDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2VolumescloneDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumescloneDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumescloneDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumescloneDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumescloneDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumescloneDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}] pcloud.v2.volumesclone.delete", response, response.Code()) + } +} + +// NewPcloudV2VolumescloneDeleteOK creates a PcloudV2VolumescloneDeleteOK with default headers values +func NewPcloudV2VolumescloneDeleteOK() *PcloudV2VolumescloneDeleteOK { + return &PcloudV2VolumescloneDeleteOK{} +} + +/* +PcloudV2VolumescloneDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2VolumescloneDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this pcloud v2 volumesclone delete o k response has a 2xx status code +func (o *PcloudV2VolumescloneDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumesclone delete o k response has a 3xx status code +func (o *PcloudV2VolumescloneDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone delete o k response has a 4xx status code +func (o *PcloudV2VolumescloneDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone delete o k response has a 5xx status code +func (o *PcloudV2VolumescloneDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone delete o k response a status code equal to that given +func (o *PcloudV2VolumescloneDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 volumesclone delete o k response +func (o *PcloudV2VolumescloneDeleteOK) Code() int { + return 200 +} + +func (o *PcloudV2VolumescloneDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteOK %s", 200, payload) +} + +func (o *PcloudV2VolumescloneDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteOK %s", 200, payload) +} + +func (o *PcloudV2VolumescloneDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *PcloudV2VolumescloneDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneDeleteBadRequest creates a PcloudV2VolumescloneDeleteBadRequest with default headers values +func NewPcloudV2VolumescloneDeleteBadRequest() *PcloudV2VolumescloneDeleteBadRequest { + return &PcloudV2VolumescloneDeleteBadRequest{} +} + +/* +PcloudV2VolumescloneDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumescloneDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone delete bad request response has a 2xx status code +func (o *PcloudV2VolumescloneDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone delete bad request response has a 3xx status code +func (o *PcloudV2VolumescloneDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone delete bad request response has a 4xx status code +func (o *PcloudV2VolumescloneDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone delete bad request response has a 5xx status code +func (o *PcloudV2VolumescloneDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone delete bad request response a status code equal to that given +func (o *PcloudV2VolumescloneDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumesclone delete bad request response +func (o *PcloudV2VolumescloneDeleteBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumescloneDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneDeleteUnauthorized creates a PcloudV2VolumescloneDeleteUnauthorized with default headers values +func NewPcloudV2VolumescloneDeleteUnauthorized() *PcloudV2VolumescloneDeleteUnauthorized { + return &PcloudV2VolumescloneDeleteUnauthorized{} +} + +/* +PcloudV2VolumescloneDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumescloneDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone delete unauthorized response has a 2xx status code +func (o *PcloudV2VolumescloneDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone delete unauthorized response has a 3xx status code +func (o *PcloudV2VolumescloneDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone delete unauthorized response has a 4xx status code +func (o *PcloudV2VolumescloneDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone delete unauthorized response has a 5xx status code +func (o *PcloudV2VolumescloneDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone delete unauthorized response a status code equal to that given +func (o *PcloudV2VolumescloneDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumesclone delete unauthorized response +func (o *PcloudV2VolumescloneDeleteUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumescloneDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneDeleteForbidden creates a PcloudV2VolumescloneDeleteForbidden with default headers values +func NewPcloudV2VolumescloneDeleteForbidden() *PcloudV2VolumescloneDeleteForbidden { + return &PcloudV2VolumescloneDeleteForbidden{} +} + +/* +PcloudV2VolumescloneDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumescloneDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone delete forbidden response has a 2xx status code +func (o *PcloudV2VolumescloneDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone delete forbidden response has a 3xx status code +func (o *PcloudV2VolumescloneDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone delete forbidden response has a 4xx status code +func (o *PcloudV2VolumescloneDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone delete forbidden response has a 5xx status code +func (o *PcloudV2VolumescloneDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone delete forbidden response a status code equal to that given +func (o *PcloudV2VolumescloneDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumesclone delete forbidden response +func (o *PcloudV2VolumescloneDeleteForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumescloneDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneDeleteNotFound creates a PcloudV2VolumescloneDeleteNotFound with default headers values +func NewPcloudV2VolumescloneDeleteNotFound() *PcloudV2VolumescloneDeleteNotFound { + return &PcloudV2VolumescloneDeleteNotFound{} +} + +/* +PcloudV2VolumescloneDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumescloneDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone delete not found response has a 2xx status code +func (o *PcloudV2VolumescloneDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone delete not found response has a 3xx status code +func (o *PcloudV2VolumescloneDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone delete not found response has a 4xx status code +func (o *PcloudV2VolumescloneDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone delete not found response has a 5xx status code +func (o *PcloudV2VolumescloneDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone delete not found response a status code equal to that given +func (o *PcloudV2VolumescloneDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumesclone delete not found response +func (o *PcloudV2VolumescloneDeleteNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumescloneDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneDeleteInternalServerError creates a PcloudV2VolumescloneDeleteInternalServerError with default headers values +func NewPcloudV2VolumescloneDeleteInternalServerError() *PcloudV2VolumescloneDeleteInternalServerError { + return &PcloudV2VolumescloneDeleteInternalServerError{} +} + +/* +PcloudV2VolumescloneDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumescloneDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone delete internal server error response has a 2xx status code +func (o *PcloudV2VolumescloneDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone delete internal server error response has a 3xx status code +func (o *PcloudV2VolumescloneDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone delete internal server error response has a 4xx status code +func (o *PcloudV2VolumescloneDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone delete internal server error response has a 5xx status code +func (o *PcloudV2VolumescloneDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumesclone delete internal server error response a status code equal to that given +func (o *PcloudV2VolumescloneDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumesclone delete internal server error response +func (o *PcloudV2VolumescloneDeleteInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumescloneDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneDeleteInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_execute_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_execute_post_parameters.go new file mode 100644 index 000000000..d19d92057 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_execute_post_parameters.go @@ -0,0 +1,197 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2VolumescloneExecutePostParams creates a new PcloudV2VolumescloneExecutePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumescloneExecutePostParams() *PcloudV2VolumescloneExecutePostParams { + return &PcloudV2VolumescloneExecutePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumescloneExecutePostParamsWithTimeout creates a new PcloudV2VolumescloneExecutePostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumescloneExecutePostParamsWithTimeout(timeout time.Duration) *PcloudV2VolumescloneExecutePostParams { + return &PcloudV2VolumescloneExecutePostParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumescloneExecutePostParamsWithContext creates a new PcloudV2VolumescloneExecutePostParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumescloneExecutePostParamsWithContext(ctx context.Context) *PcloudV2VolumescloneExecutePostParams { + return &PcloudV2VolumescloneExecutePostParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumescloneExecutePostParamsWithHTTPClient creates a new PcloudV2VolumescloneExecutePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumescloneExecutePostParamsWithHTTPClient(client *http.Client) *PcloudV2VolumescloneExecutePostParams { + return &PcloudV2VolumescloneExecutePostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumescloneExecutePostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumesclone execute post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumescloneExecutePostParams struct { + + /* Body. + + Parameters for the cloning of volumes + */ + Body *models.VolumesCloneExecute + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumesCloneID. + + Volumes Clone ID + */ + VolumesCloneID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumesclone execute post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneExecutePostParams) WithDefaults() *PcloudV2VolumescloneExecutePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumesclone execute post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneExecutePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) WithTimeout(timeout time.Duration) *PcloudV2VolumescloneExecutePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) WithContext(ctx context.Context) *PcloudV2VolumescloneExecutePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) WithHTTPClient(client *http.Client) *PcloudV2VolumescloneExecutePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) WithBody(body *models.VolumesCloneExecute) *PcloudV2VolumescloneExecutePostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) SetBody(body *models.VolumesCloneExecute) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumescloneExecutePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumesCloneID adds the volumesCloneID to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) WithVolumesCloneID(volumesCloneID string) *PcloudV2VolumescloneExecutePostParams { + o.SetVolumesCloneID(volumesCloneID) + return o +} + +// SetVolumesCloneID adds the volumesCloneId to the pcloud v2 volumesclone execute post params +func (o *PcloudV2VolumescloneExecutePostParams) SetVolumesCloneID(volumesCloneID string) { + o.VolumesCloneID = volumesCloneID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumescloneExecutePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volumes_clone_id + if err := r.SetPathParam("volumes_clone_id", o.VolumesCloneID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_execute_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_execute_post_responses.go new file mode 100644 index 000000000..bd3463933 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_execute_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumescloneExecutePostReader is a Reader for the PcloudV2VolumescloneExecutePost structure. +type PcloudV2VolumescloneExecutePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumescloneExecutePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2VolumescloneExecutePostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumescloneExecutePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumescloneExecutePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumescloneExecutePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumescloneExecutePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumescloneExecutePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute] pcloud.v2.volumesclone.execute.post", response, response.Code()) + } +} + +// NewPcloudV2VolumescloneExecutePostAccepted creates a PcloudV2VolumescloneExecutePostAccepted with default headers values +func NewPcloudV2VolumescloneExecutePostAccepted() *PcloudV2VolumescloneExecutePostAccepted { + return &PcloudV2VolumescloneExecutePostAccepted{} +} + +/* +PcloudV2VolumescloneExecutePostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudV2VolumescloneExecutePostAccepted struct { + Payload *models.VolumesClone +} + +// IsSuccess returns true when this pcloud v2 volumesclone execute post accepted response has a 2xx status code +func (o *PcloudV2VolumescloneExecutePostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumesclone execute post accepted response has a 3xx status code +func (o *PcloudV2VolumescloneExecutePostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone execute post accepted response has a 4xx status code +func (o *PcloudV2VolumescloneExecutePostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone execute post accepted response has a 5xx status code +func (o *PcloudV2VolumescloneExecutePostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone execute post accepted response a status code equal to that given +func (o *PcloudV2VolumescloneExecutePostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 volumesclone execute post accepted response +func (o *PcloudV2VolumescloneExecutePostAccepted) Code() int { + return 202 +} + +func (o *PcloudV2VolumescloneExecutePostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumescloneExecutePostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumescloneExecutePostAccepted) GetPayload() *models.VolumesClone { + return o.Payload +} + +func (o *PcloudV2VolumescloneExecutePostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesClone) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneExecutePostBadRequest creates a PcloudV2VolumescloneExecutePostBadRequest with default headers values +func NewPcloudV2VolumescloneExecutePostBadRequest() *PcloudV2VolumescloneExecutePostBadRequest { + return &PcloudV2VolumescloneExecutePostBadRequest{} +} + +/* +PcloudV2VolumescloneExecutePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumescloneExecutePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone execute post bad request response has a 2xx status code +func (o *PcloudV2VolumescloneExecutePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone execute post bad request response has a 3xx status code +func (o *PcloudV2VolumescloneExecutePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone execute post bad request response has a 4xx status code +func (o *PcloudV2VolumescloneExecutePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone execute post bad request response has a 5xx status code +func (o *PcloudV2VolumescloneExecutePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone execute post bad request response a status code equal to that given +func (o *PcloudV2VolumescloneExecutePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumesclone execute post bad request response +func (o *PcloudV2VolumescloneExecutePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumescloneExecutePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneExecutePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneExecutePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneExecutePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneExecutePostUnauthorized creates a PcloudV2VolumescloneExecutePostUnauthorized with default headers values +func NewPcloudV2VolumescloneExecutePostUnauthorized() *PcloudV2VolumescloneExecutePostUnauthorized { + return &PcloudV2VolumescloneExecutePostUnauthorized{} +} + +/* +PcloudV2VolumescloneExecutePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumescloneExecutePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone execute post unauthorized response has a 2xx status code +func (o *PcloudV2VolumescloneExecutePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone execute post unauthorized response has a 3xx status code +func (o *PcloudV2VolumescloneExecutePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone execute post unauthorized response has a 4xx status code +func (o *PcloudV2VolumescloneExecutePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone execute post unauthorized response has a 5xx status code +func (o *PcloudV2VolumescloneExecutePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone execute post unauthorized response a status code equal to that given +func (o *PcloudV2VolumescloneExecutePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumesclone execute post unauthorized response +func (o *PcloudV2VolumescloneExecutePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumescloneExecutePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneExecutePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneExecutePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneExecutePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneExecutePostForbidden creates a PcloudV2VolumescloneExecutePostForbidden with default headers values +func NewPcloudV2VolumescloneExecutePostForbidden() *PcloudV2VolumescloneExecutePostForbidden { + return &PcloudV2VolumescloneExecutePostForbidden{} +} + +/* +PcloudV2VolumescloneExecutePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumescloneExecutePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone execute post forbidden response has a 2xx status code +func (o *PcloudV2VolumescloneExecutePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone execute post forbidden response has a 3xx status code +func (o *PcloudV2VolumescloneExecutePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone execute post forbidden response has a 4xx status code +func (o *PcloudV2VolumescloneExecutePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone execute post forbidden response has a 5xx status code +func (o *PcloudV2VolumescloneExecutePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone execute post forbidden response a status code equal to that given +func (o *PcloudV2VolumescloneExecutePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumesclone execute post forbidden response +func (o *PcloudV2VolumescloneExecutePostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumescloneExecutePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneExecutePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneExecutePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneExecutePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneExecutePostNotFound creates a PcloudV2VolumescloneExecutePostNotFound with default headers values +func NewPcloudV2VolumescloneExecutePostNotFound() *PcloudV2VolumescloneExecutePostNotFound { + return &PcloudV2VolumescloneExecutePostNotFound{} +} + +/* +PcloudV2VolumescloneExecutePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumescloneExecutePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone execute post not found response has a 2xx status code +func (o *PcloudV2VolumescloneExecutePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone execute post not found response has a 3xx status code +func (o *PcloudV2VolumescloneExecutePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone execute post not found response has a 4xx status code +func (o *PcloudV2VolumescloneExecutePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone execute post not found response has a 5xx status code +func (o *PcloudV2VolumescloneExecutePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone execute post not found response a status code equal to that given +func (o *PcloudV2VolumescloneExecutePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumesclone execute post not found response +func (o *PcloudV2VolumescloneExecutePostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumescloneExecutePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneExecutePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneExecutePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneExecutePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneExecutePostInternalServerError creates a PcloudV2VolumescloneExecutePostInternalServerError with default headers values +func NewPcloudV2VolumescloneExecutePostInternalServerError() *PcloudV2VolumescloneExecutePostInternalServerError { + return &PcloudV2VolumescloneExecutePostInternalServerError{} +} + +/* +PcloudV2VolumescloneExecutePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumescloneExecutePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone execute post internal server error response has a 2xx status code +func (o *PcloudV2VolumescloneExecutePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone execute post internal server error response has a 3xx status code +func (o *PcloudV2VolumescloneExecutePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone execute post internal server error response has a 4xx status code +func (o *PcloudV2VolumescloneExecutePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone execute post internal server error response has a 5xx status code +func (o *PcloudV2VolumescloneExecutePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumesclone execute post internal server error response a status code equal to that given +func (o *PcloudV2VolumescloneExecutePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumesclone execute post internal server error response +func (o *PcloudV2VolumescloneExecutePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumescloneExecutePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneExecutePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/execute][%d] pcloudV2VolumescloneExecutePostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneExecutePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneExecutePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_get_parameters.go new file mode 100644 index 000000000..aec6578e5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_get_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV2VolumescloneGetParams creates a new PcloudV2VolumescloneGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumescloneGetParams() *PcloudV2VolumescloneGetParams { + return &PcloudV2VolumescloneGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumescloneGetParamsWithTimeout creates a new PcloudV2VolumescloneGetParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumescloneGetParamsWithTimeout(timeout time.Duration) *PcloudV2VolumescloneGetParams { + return &PcloudV2VolumescloneGetParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumescloneGetParamsWithContext creates a new PcloudV2VolumescloneGetParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumescloneGetParamsWithContext(ctx context.Context) *PcloudV2VolumescloneGetParams { + return &PcloudV2VolumescloneGetParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumescloneGetParamsWithHTTPClient creates a new PcloudV2VolumescloneGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumescloneGetParamsWithHTTPClient(client *http.Client) *PcloudV2VolumescloneGetParams { + return &PcloudV2VolumescloneGetParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumescloneGetParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumesclone get operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumescloneGetParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumesCloneID. + + Volumes Clone ID + */ + VolumesCloneID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumesclone get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneGetParams) WithDefaults() *PcloudV2VolumescloneGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumesclone get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) WithTimeout(timeout time.Duration) *PcloudV2VolumescloneGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) WithContext(ctx context.Context) *PcloudV2VolumescloneGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) WithHTTPClient(client *http.Client) *PcloudV2VolumescloneGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumescloneGetParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumesCloneID adds the volumesCloneID to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) WithVolumesCloneID(volumesCloneID string) *PcloudV2VolumescloneGetParams { + o.SetVolumesCloneID(volumesCloneID) + return o +} + +// SetVolumesCloneID adds the volumesCloneId to the pcloud v2 volumesclone get params +func (o *PcloudV2VolumescloneGetParams) SetVolumesCloneID(volumesCloneID string) { + o.VolumesCloneID = volumesCloneID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumescloneGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volumes_clone_id + if err := r.SetPathParam("volumes_clone_id", o.VolumesCloneID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_get_responses.go new file mode 100644 index 000000000..2b2e42619 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumescloneGetReader is a Reader for the PcloudV2VolumescloneGet structure. +type PcloudV2VolumescloneGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumescloneGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2VolumescloneGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumescloneGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumescloneGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumescloneGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumescloneGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumescloneGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}] pcloud.v2.volumesclone.get", response, response.Code()) + } +} + +// NewPcloudV2VolumescloneGetOK creates a PcloudV2VolumescloneGetOK with default headers values +func NewPcloudV2VolumescloneGetOK() *PcloudV2VolumescloneGetOK { + return &PcloudV2VolumescloneGetOK{} +} + +/* +PcloudV2VolumescloneGetOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2VolumescloneGetOK struct { + Payload *models.VolumesCloneDetail +} + +// IsSuccess returns true when this pcloud v2 volumesclone get o k response has a 2xx status code +func (o *PcloudV2VolumescloneGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumesclone get o k response has a 3xx status code +func (o *PcloudV2VolumescloneGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone get o k response has a 4xx status code +func (o *PcloudV2VolumescloneGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone get o k response has a 5xx status code +func (o *PcloudV2VolumescloneGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone get o k response a status code equal to that given +func (o *PcloudV2VolumescloneGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 volumesclone get o k response +func (o *PcloudV2VolumescloneGetOK) Code() int { + return 200 +} + +func (o *PcloudV2VolumescloneGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetOK %s", 200, payload) +} + +func (o *PcloudV2VolumescloneGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetOK %s", 200, payload) +} + +func (o *PcloudV2VolumescloneGetOK) GetPayload() *models.VolumesCloneDetail { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesCloneDetail) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetBadRequest creates a PcloudV2VolumescloneGetBadRequest with default headers values +func NewPcloudV2VolumescloneGetBadRequest() *PcloudV2VolumescloneGetBadRequest { + return &PcloudV2VolumescloneGetBadRequest{} +} + +/* +PcloudV2VolumescloneGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumescloneGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone get bad request response has a 2xx status code +func (o *PcloudV2VolumescloneGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone get bad request response has a 3xx status code +func (o *PcloudV2VolumescloneGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone get bad request response has a 4xx status code +func (o *PcloudV2VolumescloneGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone get bad request response has a 5xx status code +func (o *PcloudV2VolumescloneGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone get bad request response a status code equal to that given +func (o *PcloudV2VolumescloneGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumesclone get bad request response +func (o *PcloudV2VolumescloneGetBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumescloneGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetUnauthorized creates a PcloudV2VolumescloneGetUnauthorized with default headers values +func NewPcloudV2VolumescloneGetUnauthorized() *PcloudV2VolumescloneGetUnauthorized { + return &PcloudV2VolumescloneGetUnauthorized{} +} + +/* +PcloudV2VolumescloneGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumescloneGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone get unauthorized response has a 2xx status code +func (o *PcloudV2VolumescloneGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone get unauthorized response has a 3xx status code +func (o *PcloudV2VolumescloneGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone get unauthorized response has a 4xx status code +func (o *PcloudV2VolumescloneGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone get unauthorized response has a 5xx status code +func (o *PcloudV2VolumescloneGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone get unauthorized response a status code equal to that given +func (o *PcloudV2VolumescloneGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumesclone get unauthorized response +func (o *PcloudV2VolumescloneGetUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumescloneGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetForbidden creates a PcloudV2VolumescloneGetForbidden with default headers values +func NewPcloudV2VolumescloneGetForbidden() *PcloudV2VolumescloneGetForbidden { + return &PcloudV2VolumescloneGetForbidden{} +} + +/* +PcloudV2VolumescloneGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumescloneGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone get forbidden response has a 2xx status code +func (o *PcloudV2VolumescloneGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone get forbidden response has a 3xx status code +func (o *PcloudV2VolumescloneGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone get forbidden response has a 4xx status code +func (o *PcloudV2VolumescloneGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone get forbidden response has a 5xx status code +func (o *PcloudV2VolumescloneGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone get forbidden response a status code equal to that given +func (o *PcloudV2VolumescloneGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumesclone get forbidden response +func (o *PcloudV2VolumescloneGetForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumescloneGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetNotFound creates a PcloudV2VolumescloneGetNotFound with default headers values +func NewPcloudV2VolumescloneGetNotFound() *PcloudV2VolumescloneGetNotFound { + return &PcloudV2VolumescloneGetNotFound{} +} + +/* +PcloudV2VolumescloneGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumescloneGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone get not found response has a 2xx status code +func (o *PcloudV2VolumescloneGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone get not found response has a 3xx status code +func (o *PcloudV2VolumescloneGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone get not found response has a 4xx status code +func (o *PcloudV2VolumescloneGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone get not found response has a 5xx status code +func (o *PcloudV2VolumescloneGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone get not found response a status code equal to that given +func (o *PcloudV2VolumescloneGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumesclone get not found response +func (o *PcloudV2VolumescloneGetNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumescloneGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetInternalServerError creates a PcloudV2VolumescloneGetInternalServerError with default headers values +func NewPcloudV2VolumescloneGetInternalServerError() *PcloudV2VolumescloneGetInternalServerError { + return &PcloudV2VolumescloneGetInternalServerError{} +} + +/* +PcloudV2VolumescloneGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumescloneGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone get internal server error response has a 2xx status code +func (o *PcloudV2VolumescloneGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone get internal server error response has a 3xx status code +func (o *PcloudV2VolumescloneGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone get internal server error response has a 4xx status code +func (o *PcloudV2VolumescloneGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone get internal server error response has a 5xx status code +func (o *PcloudV2VolumescloneGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumesclone get internal server error response a status code equal to that given +func (o *PcloudV2VolumescloneGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumesclone get internal server error response +func (o *PcloudV2VolumescloneGetInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumescloneGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}][%d] pcloudV2VolumescloneGetInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_getall_parameters.go new file mode 100644 index 000000000..5bd97558c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_getall_parameters.go @@ -0,0 +1,194 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV2VolumescloneGetallParams creates a new PcloudV2VolumescloneGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumescloneGetallParams() *PcloudV2VolumescloneGetallParams { + return &PcloudV2VolumescloneGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumescloneGetallParamsWithTimeout creates a new PcloudV2VolumescloneGetallParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumescloneGetallParamsWithTimeout(timeout time.Duration) *PcloudV2VolumescloneGetallParams { + return &PcloudV2VolumescloneGetallParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumescloneGetallParamsWithContext creates a new PcloudV2VolumescloneGetallParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumescloneGetallParamsWithContext(ctx context.Context) *PcloudV2VolumescloneGetallParams { + return &PcloudV2VolumescloneGetallParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumescloneGetallParamsWithHTTPClient creates a new PcloudV2VolumescloneGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumescloneGetallParamsWithHTTPClient(client *http.Client) *PcloudV2VolumescloneGetallParams { + return &PcloudV2VolumescloneGetallParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumescloneGetallParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumesclone getall operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumescloneGetallParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* Filter. + + volumes-clone filter to limit list items: + prepare - includes status values (preparing, prepared) + start - includes status values (starting, available) + execute - includes status values (executing, available-rollback) + cancel - includes status values (cancelling) + completed - includes status values (completed) + failed - includes status values (failed) + cancelled - includes status values (cancelled) + finalized - included status values (completed, failed, cancelled) + + */ + Filter *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumesclone getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneGetallParams) WithDefaults() *PcloudV2VolumescloneGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumesclone getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) WithTimeout(timeout time.Duration) *PcloudV2VolumescloneGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) WithContext(ctx context.Context) *PcloudV2VolumescloneGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) WithHTTPClient(client *http.Client) *PcloudV2VolumescloneGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumescloneGetallParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithFilter adds the filter to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) WithFilter(filter *string) *PcloudV2VolumescloneGetallParams { + o.SetFilter(filter) + return o +} + +// SetFilter adds the filter to the pcloud v2 volumesclone getall params +func (o *PcloudV2VolumescloneGetallParams) SetFilter(filter *string) { + o.Filter = filter +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumescloneGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if o.Filter != nil { + + // query param filter + var qrFilter string + + if o.Filter != nil { + qrFilter = *o.Filter + } + qFilter := qrFilter + if qFilter != "" { + + if err := r.SetQueryParam("filter", qFilter); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_getall_responses.go new file mode 100644 index 000000000..1b6d348d5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumescloneGetallReader is a Reader for the PcloudV2VolumescloneGetall structure. +type PcloudV2VolumescloneGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumescloneGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2VolumescloneGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumescloneGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumescloneGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumescloneGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumescloneGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumescloneGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone] pcloud.v2.volumesclone.getall", response, response.Code()) + } +} + +// NewPcloudV2VolumescloneGetallOK creates a PcloudV2VolumescloneGetallOK with default headers values +func NewPcloudV2VolumescloneGetallOK() *PcloudV2VolumescloneGetallOK { + return &PcloudV2VolumescloneGetallOK{} +} + +/* +PcloudV2VolumescloneGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2VolumescloneGetallOK struct { + Payload *models.VolumesClones +} + +// IsSuccess returns true when this pcloud v2 volumesclone getall o k response has a 2xx status code +func (o *PcloudV2VolumescloneGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumesclone getall o k response has a 3xx status code +func (o *PcloudV2VolumescloneGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone getall o k response has a 4xx status code +func (o *PcloudV2VolumescloneGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone getall o k response has a 5xx status code +func (o *PcloudV2VolumescloneGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone getall o k response a status code equal to that given +func (o *PcloudV2VolumescloneGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 volumesclone getall o k response +func (o *PcloudV2VolumescloneGetallOK) Code() int { + return 200 +} + +func (o *PcloudV2VolumescloneGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallOK %s", 200, payload) +} + +func (o *PcloudV2VolumescloneGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallOK %s", 200, payload) +} + +func (o *PcloudV2VolumescloneGetallOK) GetPayload() *models.VolumesClones { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesClones) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetallBadRequest creates a PcloudV2VolumescloneGetallBadRequest with default headers values +func NewPcloudV2VolumescloneGetallBadRequest() *PcloudV2VolumescloneGetallBadRequest { + return &PcloudV2VolumescloneGetallBadRequest{} +} + +/* +PcloudV2VolumescloneGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumescloneGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone getall bad request response has a 2xx status code +func (o *PcloudV2VolumescloneGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone getall bad request response has a 3xx status code +func (o *PcloudV2VolumescloneGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone getall bad request response has a 4xx status code +func (o *PcloudV2VolumescloneGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone getall bad request response has a 5xx status code +func (o *PcloudV2VolumescloneGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone getall bad request response a status code equal to that given +func (o *PcloudV2VolumescloneGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumesclone getall bad request response +func (o *PcloudV2VolumescloneGetallBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumescloneGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetallUnauthorized creates a PcloudV2VolumescloneGetallUnauthorized with default headers values +func NewPcloudV2VolumescloneGetallUnauthorized() *PcloudV2VolumescloneGetallUnauthorized { + return &PcloudV2VolumescloneGetallUnauthorized{} +} + +/* +PcloudV2VolumescloneGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumescloneGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone getall unauthorized response has a 2xx status code +func (o *PcloudV2VolumescloneGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone getall unauthorized response has a 3xx status code +func (o *PcloudV2VolumescloneGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone getall unauthorized response has a 4xx status code +func (o *PcloudV2VolumescloneGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone getall unauthorized response has a 5xx status code +func (o *PcloudV2VolumescloneGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone getall unauthorized response a status code equal to that given +func (o *PcloudV2VolumescloneGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumesclone getall unauthorized response +func (o *PcloudV2VolumescloneGetallUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumescloneGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetallForbidden creates a PcloudV2VolumescloneGetallForbidden with default headers values +func NewPcloudV2VolumescloneGetallForbidden() *PcloudV2VolumescloneGetallForbidden { + return &PcloudV2VolumescloneGetallForbidden{} +} + +/* +PcloudV2VolumescloneGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumescloneGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone getall forbidden response has a 2xx status code +func (o *PcloudV2VolumescloneGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone getall forbidden response has a 3xx status code +func (o *PcloudV2VolumescloneGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone getall forbidden response has a 4xx status code +func (o *PcloudV2VolumescloneGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone getall forbidden response has a 5xx status code +func (o *PcloudV2VolumescloneGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone getall forbidden response a status code equal to that given +func (o *PcloudV2VolumescloneGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumesclone getall forbidden response +func (o *PcloudV2VolumescloneGetallForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumescloneGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetallNotFound creates a PcloudV2VolumescloneGetallNotFound with default headers values +func NewPcloudV2VolumescloneGetallNotFound() *PcloudV2VolumescloneGetallNotFound { + return &PcloudV2VolumescloneGetallNotFound{} +} + +/* +PcloudV2VolumescloneGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumescloneGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone getall not found response has a 2xx status code +func (o *PcloudV2VolumescloneGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone getall not found response has a 3xx status code +func (o *PcloudV2VolumescloneGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone getall not found response has a 4xx status code +func (o *PcloudV2VolumescloneGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone getall not found response has a 5xx status code +func (o *PcloudV2VolumescloneGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone getall not found response a status code equal to that given +func (o *PcloudV2VolumescloneGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumesclone getall not found response +func (o *PcloudV2VolumescloneGetallNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumescloneGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneGetallInternalServerError creates a PcloudV2VolumescloneGetallInternalServerError with default headers values +func NewPcloudV2VolumescloneGetallInternalServerError() *PcloudV2VolumescloneGetallInternalServerError { + return &PcloudV2VolumescloneGetallInternalServerError{} +} + +/* +PcloudV2VolumescloneGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumescloneGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone getall internal server error response has a 2xx status code +func (o *PcloudV2VolumescloneGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone getall internal server error response has a 3xx status code +func (o *PcloudV2VolumescloneGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone getall internal server error response has a 4xx status code +func (o *PcloudV2VolumescloneGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone getall internal server error response has a 5xx status code +func (o *PcloudV2VolumescloneGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumesclone getall internal server error response a status code equal to that given +func (o *PcloudV2VolumescloneGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumesclone getall internal server error response +func (o *PcloudV2VolumescloneGetallInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumescloneGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumescloneGetallInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_post_parameters.go new file mode 100644 index 000000000..c31825878 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudV2VolumesclonePostParams creates a new PcloudV2VolumesclonePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumesclonePostParams() *PcloudV2VolumesclonePostParams { + return &PcloudV2VolumesclonePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumesclonePostParamsWithTimeout creates a new PcloudV2VolumesclonePostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumesclonePostParamsWithTimeout(timeout time.Duration) *PcloudV2VolumesclonePostParams { + return &PcloudV2VolumesclonePostParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumesclonePostParamsWithContext creates a new PcloudV2VolumesclonePostParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumesclonePostParamsWithContext(ctx context.Context) *PcloudV2VolumesclonePostParams { + return &PcloudV2VolumesclonePostParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumesclonePostParamsWithHTTPClient creates a new PcloudV2VolumesclonePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumesclonePostParamsWithHTTPClient(client *http.Client) *PcloudV2VolumesclonePostParams { + return &PcloudV2VolumesclonePostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumesclonePostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumesclone post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumesclonePostParams struct { + + /* Body. + + Parameters for preparing a set of volumes to be cloned + */ + Body *models.VolumesCloneCreate + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumesclone post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesclonePostParams) WithDefaults() *PcloudV2VolumesclonePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumesclone post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumesclonePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) WithTimeout(timeout time.Duration) *PcloudV2VolumesclonePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) WithContext(ctx context.Context) *PcloudV2VolumesclonePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) WithHTTPClient(client *http.Client) *PcloudV2VolumesclonePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) WithBody(body *models.VolumesCloneCreate) *PcloudV2VolumesclonePostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) SetBody(body *models.VolumesCloneCreate) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumesclonePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumesclone post params +func (o *PcloudV2VolumesclonePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumesclonePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_post_responses.go new file mode 100644 index 000000000..661321bd0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumesclonePostReader is a Reader for the PcloudV2VolumesclonePost structure. +type PcloudV2VolumesclonePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumesclonePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 202: + result := NewPcloudV2VolumesclonePostAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumesclonePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumesclonePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumesclonePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumesclonePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudV2VolumesclonePostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumesclonePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone] pcloud.v2.volumesclone.post", response, response.Code()) + } +} + +// NewPcloudV2VolumesclonePostAccepted creates a PcloudV2VolumesclonePostAccepted with default headers values +func NewPcloudV2VolumesclonePostAccepted() *PcloudV2VolumesclonePostAccepted { + return &PcloudV2VolumesclonePostAccepted{} +} + +/* +PcloudV2VolumesclonePostAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type PcloudV2VolumesclonePostAccepted struct { + Payload *models.VolumesClone +} + +// IsSuccess returns true when this pcloud v2 volumesclone post accepted response has a 2xx status code +func (o *PcloudV2VolumesclonePostAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumesclone post accepted response has a 3xx status code +func (o *PcloudV2VolumesclonePostAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone post accepted response has a 4xx status code +func (o *PcloudV2VolumesclonePostAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone post accepted response has a 5xx status code +func (o *PcloudV2VolumesclonePostAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone post accepted response a status code equal to that given +func (o *PcloudV2VolumesclonePostAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the pcloud v2 volumesclone post accepted response +func (o *PcloudV2VolumesclonePostAccepted) Code() int { + return 202 +} + +func (o *PcloudV2VolumesclonePostAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumesclonePostAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostAccepted %s", 202, payload) +} + +func (o *PcloudV2VolumesclonePostAccepted) GetPayload() *models.VolumesClone { + return o.Payload +} + +func (o *PcloudV2VolumesclonePostAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesClone) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesclonePostBadRequest creates a PcloudV2VolumesclonePostBadRequest with default headers values +func NewPcloudV2VolumesclonePostBadRequest() *PcloudV2VolumesclonePostBadRequest { + return &PcloudV2VolumesclonePostBadRequest{} +} + +/* +PcloudV2VolumesclonePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumesclonePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone post bad request response has a 2xx status code +func (o *PcloudV2VolumesclonePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone post bad request response has a 3xx status code +func (o *PcloudV2VolumesclonePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone post bad request response has a 4xx status code +func (o *PcloudV2VolumesclonePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone post bad request response has a 5xx status code +func (o *PcloudV2VolumesclonePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone post bad request response a status code equal to that given +func (o *PcloudV2VolumesclonePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumesclone post bad request response +func (o *PcloudV2VolumesclonePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumesclonePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesclonePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumesclonePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesclonePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesclonePostUnauthorized creates a PcloudV2VolumesclonePostUnauthorized with default headers values +func NewPcloudV2VolumesclonePostUnauthorized() *PcloudV2VolumesclonePostUnauthorized { + return &PcloudV2VolumesclonePostUnauthorized{} +} + +/* +PcloudV2VolumesclonePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumesclonePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone post unauthorized response has a 2xx status code +func (o *PcloudV2VolumesclonePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone post unauthorized response has a 3xx status code +func (o *PcloudV2VolumesclonePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone post unauthorized response has a 4xx status code +func (o *PcloudV2VolumesclonePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone post unauthorized response has a 5xx status code +func (o *PcloudV2VolumesclonePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone post unauthorized response a status code equal to that given +func (o *PcloudV2VolumesclonePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumesclone post unauthorized response +func (o *PcloudV2VolumesclonePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumesclonePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesclonePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumesclonePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesclonePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesclonePostForbidden creates a PcloudV2VolumesclonePostForbidden with default headers values +func NewPcloudV2VolumesclonePostForbidden() *PcloudV2VolumesclonePostForbidden { + return &PcloudV2VolumesclonePostForbidden{} +} + +/* +PcloudV2VolumesclonePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumesclonePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone post forbidden response has a 2xx status code +func (o *PcloudV2VolumesclonePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone post forbidden response has a 3xx status code +func (o *PcloudV2VolumesclonePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone post forbidden response has a 4xx status code +func (o *PcloudV2VolumesclonePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone post forbidden response has a 5xx status code +func (o *PcloudV2VolumesclonePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone post forbidden response a status code equal to that given +func (o *PcloudV2VolumesclonePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumesclone post forbidden response +func (o *PcloudV2VolumesclonePostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumesclonePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesclonePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumesclonePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesclonePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesclonePostNotFound creates a PcloudV2VolumesclonePostNotFound with default headers values +func NewPcloudV2VolumesclonePostNotFound() *PcloudV2VolumesclonePostNotFound { + return &PcloudV2VolumesclonePostNotFound{} +} + +/* +PcloudV2VolumesclonePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumesclonePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone post not found response has a 2xx status code +func (o *PcloudV2VolumesclonePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone post not found response has a 3xx status code +func (o *PcloudV2VolumesclonePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone post not found response has a 4xx status code +func (o *PcloudV2VolumesclonePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone post not found response has a 5xx status code +func (o *PcloudV2VolumesclonePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone post not found response a status code equal to that given +func (o *PcloudV2VolumesclonePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumesclone post not found response +func (o *PcloudV2VolumesclonePostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumesclonePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesclonePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumesclonePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesclonePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesclonePostConflict creates a PcloudV2VolumesclonePostConflict with default headers values +func NewPcloudV2VolumesclonePostConflict() *PcloudV2VolumesclonePostConflict { + return &PcloudV2VolumesclonePostConflict{} +} + +/* +PcloudV2VolumesclonePostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudV2VolumesclonePostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone post conflict response has a 2xx status code +func (o *PcloudV2VolumesclonePostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone post conflict response has a 3xx status code +func (o *PcloudV2VolumesclonePostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone post conflict response has a 4xx status code +func (o *PcloudV2VolumesclonePostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone post conflict response has a 5xx status code +func (o *PcloudV2VolumesclonePostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone post conflict response a status code equal to that given +func (o *PcloudV2VolumesclonePostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud v2 volumesclone post conflict response +func (o *PcloudV2VolumesclonePostConflict) Code() int { + return 409 +} + +func (o *PcloudV2VolumesclonePostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostConflict %s", 409, payload) +} + +func (o *PcloudV2VolumesclonePostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostConflict %s", 409, payload) +} + +func (o *PcloudV2VolumesclonePostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesclonePostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumesclonePostInternalServerError creates a PcloudV2VolumesclonePostInternalServerError with default headers values +func NewPcloudV2VolumesclonePostInternalServerError() *PcloudV2VolumesclonePostInternalServerError { + return &PcloudV2VolumesclonePostInternalServerError{} +} + +/* +PcloudV2VolumesclonePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumesclonePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone post internal server error response has a 2xx status code +func (o *PcloudV2VolumesclonePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone post internal server error response has a 3xx status code +func (o *PcloudV2VolumesclonePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone post internal server error response has a 4xx status code +func (o *PcloudV2VolumesclonePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone post internal server error response has a 5xx status code +func (o *PcloudV2VolumesclonePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumesclone post internal server error response a status code equal to that given +func (o *PcloudV2VolumesclonePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumesclone post internal server error response +func (o *PcloudV2VolumesclonePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumesclonePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesclonePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone][%d] pcloudV2VolumesclonePostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumesclonePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumesclonePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_start_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_start_post_parameters.go new file mode 100644 index 000000000..5eeac3cd3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_start_post_parameters.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPcloudV2VolumescloneStartPostParams creates a new PcloudV2VolumescloneStartPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudV2VolumescloneStartPostParams() *PcloudV2VolumescloneStartPostParams { + return &PcloudV2VolumescloneStartPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudV2VolumescloneStartPostParamsWithTimeout creates a new PcloudV2VolumescloneStartPostParams object +// with the ability to set a timeout on a request. +func NewPcloudV2VolumescloneStartPostParamsWithTimeout(timeout time.Duration) *PcloudV2VolumescloneStartPostParams { + return &PcloudV2VolumescloneStartPostParams{ + timeout: timeout, + } +} + +// NewPcloudV2VolumescloneStartPostParamsWithContext creates a new PcloudV2VolumescloneStartPostParams object +// with the ability to set a context for a request. +func NewPcloudV2VolumescloneStartPostParamsWithContext(ctx context.Context) *PcloudV2VolumescloneStartPostParams { + return &PcloudV2VolumescloneStartPostParams{ + Context: ctx, + } +} + +// NewPcloudV2VolumescloneStartPostParamsWithHTTPClient creates a new PcloudV2VolumescloneStartPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudV2VolumescloneStartPostParamsWithHTTPClient(client *http.Client) *PcloudV2VolumescloneStartPostParams { + return &PcloudV2VolumescloneStartPostParams{ + HTTPClient: client, + } +} + +/* +PcloudV2VolumescloneStartPostParams contains all the parameters to send to the API endpoint + + for the pcloud v2 volumesclone start post operation. + + Typically these are written to a http.Request. +*/ +type PcloudV2VolumescloneStartPostParams struct { + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + /* VolumesCloneID. + + Volumes Clone ID + */ + VolumesCloneID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud v2 volumesclone start post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneStartPostParams) WithDefaults() *PcloudV2VolumescloneStartPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud v2 volumesclone start post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudV2VolumescloneStartPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) WithTimeout(timeout time.Duration) *PcloudV2VolumescloneStartPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) WithContext(ctx context.Context) *PcloudV2VolumescloneStartPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) WithHTTPClient(client *http.Client) *PcloudV2VolumescloneStartPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudV2VolumescloneStartPostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WithVolumesCloneID adds the volumesCloneID to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) WithVolumesCloneID(volumesCloneID string) *PcloudV2VolumescloneStartPostParams { + o.SetVolumesCloneID(volumesCloneID) + return o +} + +// SetVolumesCloneID adds the volumesCloneId to the pcloud v2 volumesclone start post params +func (o *PcloudV2VolumescloneStartPostParams) SetVolumesCloneID(volumesCloneID string) { + o.VolumesCloneID = volumesCloneID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudV2VolumescloneStartPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + // path param volumes_clone_id + if err := r.SetPathParam("volumes_clone_id", o.VolumesCloneID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_start_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_start_post_responses.go new file mode 100644 index 000000000..a874d261c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_v2_volumesclone_start_post_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudV2VolumescloneStartPostReader is a Reader for the PcloudV2VolumescloneStartPost structure. +type PcloudV2VolumescloneStartPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudV2VolumescloneStartPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudV2VolumescloneStartPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudV2VolumescloneStartPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudV2VolumescloneStartPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudV2VolumescloneStartPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudV2VolumescloneStartPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudV2VolumescloneStartPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start] pcloud.v2.volumesclone.start.post", response, response.Code()) + } +} + +// NewPcloudV2VolumescloneStartPostOK creates a PcloudV2VolumescloneStartPostOK with default headers values +func NewPcloudV2VolumescloneStartPostOK() *PcloudV2VolumescloneStartPostOK { + return &PcloudV2VolumescloneStartPostOK{} +} + +/* +PcloudV2VolumescloneStartPostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudV2VolumescloneStartPostOK struct { + Payload *models.VolumesClone +} + +// IsSuccess returns true when this pcloud v2 volumesclone start post o k response has a 2xx status code +func (o *PcloudV2VolumescloneStartPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud v2 volumesclone start post o k response has a 3xx status code +func (o *PcloudV2VolumescloneStartPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone start post o k response has a 4xx status code +func (o *PcloudV2VolumescloneStartPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone start post o k response has a 5xx status code +func (o *PcloudV2VolumescloneStartPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone start post o k response a status code equal to that given +func (o *PcloudV2VolumescloneStartPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud v2 volumesclone start post o k response +func (o *PcloudV2VolumescloneStartPostOK) Code() int { + return 200 +} + +func (o *PcloudV2VolumescloneStartPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostOK %s", 200, payload) +} + +func (o *PcloudV2VolumescloneStartPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostOK %s", 200, payload) +} + +func (o *PcloudV2VolumescloneStartPostOK) GetPayload() *models.VolumesClone { + return o.Payload +} + +func (o *PcloudV2VolumescloneStartPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesClone) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneStartPostBadRequest creates a PcloudV2VolumescloneStartPostBadRequest with default headers values +func NewPcloudV2VolumescloneStartPostBadRequest() *PcloudV2VolumescloneStartPostBadRequest { + return &PcloudV2VolumescloneStartPostBadRequest{} +} + +/* +PcloudV2VolumescloneStartPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudV2VolumescloneStartPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone start post bad request response has a 2xx status code +func (o *PcloudV2VolumescloneStartPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone start post bad request response has a 3xx status code +func (o *PcloudV2VolumescloneStartPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone start post bad request response has a 4xx status code +func (o *PcloudV2VolumescloneStartPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone start post bad request response has a 5xx status code +func (o *PcloudV2VolumescloneStartPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone start post bad request response a status code equal to that given +func (o *PcloudV2VolumescloneStartPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud v2 volumesclone start post bad request response +func (o *PcloudV2VolumescloneStartPostBadRequest) Code() int { + return 400 +} + +func (o *PcloudV2VolumescloneStartPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneStartPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostBadRequest %s", 400, payload) +} + +func (o *PcloudV2VolumescloneStartPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneStartPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneStartPostUnauthorized creates a PcloudV2VolumescloneStartPostUnauthorized with default headers values +func NewPcloudV2VolumescloneStartPostUnauthorized() *PcloudV2VolumescloneStartPostUnauthorized { + return &PcloudV2VolumescloneStartPostUnauthorized{} +} + +/* +PcloudV2VolumescloneStartPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudV2VolumescloneStartPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone start post unauthorized response has a 2xx status code +func (o *PcloudV2VolumescloneStartPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone start post unauthorized response has a 3xx status code +func (o *PcloudV2VolumescloneStartPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone start post unauthorized response has a 4xx status code +func (o *PcloudV2VolumescloneStartPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone start post unauthorized response has a 5xx status code +func (o *PcloudV2VolumescloneStartPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone start post unauthorized response a status code equal to that given +func (o *PcloudV2VolumescloneStartPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud v2 volumesclone start post unauthorized response +func (o *PcloudV2VolumescloneStartPostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudV2VolumescloneStartPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneStartPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostUnauthorized %s", 401, payload) +} + +func (o *PcloudV2VolumescloneStartPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneStartPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneStartPostForbidden creates a PcloudV2VolumescloneStartPostForbidden with default headers values +func NewPcloudV2VolumescloneStartPostForbidden() *PcloudV2VolumescloneStartPostForbidden { + return &PcloudV2VolumescloneStartPostForbidden{} +} + +/* +PcloudV2VolumescloneStartPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudV2VolumescloneStartPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone start post forbidden response has a 2xx status code +func (o *PcloudV2VolumescloneStartPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone start post forbidden response has a 3xx status code +func (o *PcloudV2VolumescloneStartPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone start post forbidden response has a 4xx status code +func (o *PcloudV2VolumescloneStartPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone start post forbidden response has a 5xx status code +func (o *PcloudV2VolumescloneStartPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone start post forbidden response a status code equal to that given +func (o *PcloudV2VolumescloneStartPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud v2 volumesclone start post forbidden response +func (o *PcloudV2VolumescloneStartPostForbidden) Code() int { + return 403 +} + +func (o *PcloudV2VolumescloneStartPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneStartPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostForbidden %s", 403, payload) +} + +func (o *PcloudV2VolumescloneStartPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneStartPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneStartPostNotFound creates a PcloudV2VolumescloneStartPostNotFound with default headers values +func NewPcloudV2VolumescloneStartPostNotFound() *PcloudV2VolumescloneStartPostNotFound { + return &PcloudV2VolumescloneStartPostNotFound{} +} + +/* +PcloudV2VolumescloneStartPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudV2VolumescloneStartPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone start post not found response has a 2xx status code +func (o *PcloudV2VolumescloneStartPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone start post not found response has a 3xx status code +func (o *PcloudV2VolumescloneStartPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone start post not found response has a 4xx status code +func (o *PcloudV2VolumescloneStartPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud v2 volumesclone start post not found response has a 5xx status code +func (o *PcloudV2VolumescloneStartPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud v2 volumesclone start post not found response a status code equal to that given +func (o *PcloudV2VolumescloneStartPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud v2 volumesclone start post not found response +func (o *PcloudV2VolumescloneStartPostNotFound) Code() int { + return 404 +} + +func (o *PcloudV2VolumescloneStartPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneStartPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostNotFound %s", 404, payload) +} + +func (o *PcloudV2VolumescloneStartPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneStartPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudV2VolumescloneStartPostInternalServerError creates a PcloudV2VolumescloneStartPostInternalServerError with default headers values +func NewPcloudV2VolumescloneStartPostInternalServerError() *PcloudV2VolumescloneStartPostInternalServerError { + return &PcloudV2VolumescloneStartPostInternalServerError{} +} + +/* +PcloudV2VolumescloneStartPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudV2VolumescloneStartPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud v2 volumesclone start post internal server error response has a 2xx status code +func (o *PcloudV2VolumescloneStartPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud v2 volumesclone start post internal server error response has a 3xx status code +func (o *PcloudV2VolumescloneStartPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud v2 volumesclone start post internal server error response has a 4xx status code +func (o *PcloudV2VolumescloneStartPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud v2 volumesclone start post internal server error response has a 5xx status code +func (o *PcloudV2VolumescloneStartPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud v2 volumesclone start post internal server error response a status code equal to that given +func (o *PcloudV2VolumescloneStartPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud v2 volumesclone start post internal server error response +func (o *PcloudV2VolumescloneStartPostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudV2VolumescloneStartPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneStartPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v2/cloud-instances/{cloud_instance_id}/volumes-clone/{volumes_clone_id}/start][%d] pcloudV2VolumescloneStartPostInternalServerError %s", 500, payload) +} + +func (o *PcloudV2VolumescloneStartPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudV2VolumescloneStartPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_volumes_clone_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_volumes_clone_post_parameters.go new file mode 100644 index 000000000..4b44d5e24 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_volumes_clone_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewPcloudVolumesClonePostParams creates a new PcloudVolumesClonePostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPcloudVolumesClonePostParams() *PcloudVolumesClonePostParams { + return &PcloudVolumesClonePostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPcloudVolumesClonePostParamsWithTimeout creates a new PcloudVolumesClonePostParams object +// with the ability to set a timeout on a request. +func NewPcloudVolumesClonePostParamsWithTimeout(timeout time.Duration) *PcloudVolumesClonePostParams { + return &PcloudVolumesClonePostParams{ + timeout: timeout, + } +} + +// NewPcloudVolumesClonePostParamsWithContext creates a new PcloudVolumesClonePostParams object +// with the ability to set a context for a request. +func NewPcloudVolumesClonePostParamsWithContext(ctx context.Context) *PcloudVolumesClonePostParams { + return &PcloudVolumesClonePostParams{ + Context: ctx, + } +} + +// NewPcloudVolumesClonePostParamsWithHTTPClient creates a new PcloudVolumesClonePostParams object +// with the ability to set a custom HTTPClient for a request. +func NewPcloudVolumesClonePostParamsWithHTTPClient(client *http.Client) *PcloudVolumesClonePostParams { + return &PcloudVolumesClonePostParams{ + HTTPClient: client, + } +} + +/* +PcloudVolumesClonePostParams contains all the parameters to send to the API endpoint + + for the pcloud volumes clone post operation. + + Typically these are written to a http.Request. +*/ +type PcloudVolumesClonePostParams struct { + + /* Body. + + Parameters for the cloning of volumes + */ + Body *models.VolumesCloneRequest + + /* CloudInstanceID. + + Cloud Instance ID of a PCloud Instance + */ + CloudInstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the pcloud volumes clone post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumesClonePostParams) WithDefaults() *PcloudVolumesClonePostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the pcloud volumes clone post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PcloudVolumesClonePostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) WithTimeout(timeout time.Duration) *PcloudVolumesClonePostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) WithContext(ctx context.Context) *PcloudVolumesClonePostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) WithHTTPClient(client *http.Client) *PcloudVolumesClonePostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) WithBody(body *models.VolumesCloneRequest) *PcloudVolumesClonePostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) SetBody(body *models.VolumesCloneRequest) { + o.Body = body +} + +// WithCloudInstanceID adds the cloudInstanceID to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) WithCloudInstanceID(cloudInstanceID string) *PcloudVolumesClonePostParams { + o.SetCloudInstanceID(cloudInstanceID) + return o +} + +// SetCloudInstanceID adds the cloudInstanceId to the pcloud volumes clone post params +func (o *PcloudVolumesClonePostParams) SetCloudInstanceID(cloudInstanceID string) { + o.CloudInstanceID = cloudInstanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *PcloudVolumesClonePostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param cloud_instance_id + if err := r.SetPathParam("cloud_instance_id", o.CloudInstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_volumes_clone_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_volumes_clone_post_responses.go new file mode 100644 index 000000000..2de700fcf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes/pcloud_volumes_clone_post_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package p_cloud_volumes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// PcloudVolumesClonePostReader is a Reader for the PcloudVolumesClonePost structure. +type PcloudVolumesClonePostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PcloudVolumesClonePostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPcloudVolumesClonePostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPcloudVolumesClonePostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPcloudVolumesClonePostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewPcloudVolumesClonePostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPcloudVolumesClonePostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPcloudVolumesClonePostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPcloudVolumesClonePostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone] pcloud.volumes.clone.post", response, response.Code()) + } +} + +// NewPcloudVolumesClonePostOK creates a PcloudVolumesClonePostOK with default headers values +func NewPcloudVolumesClonePostOK() *PcloudVolumesClonePostOK { + return &PcloudVolumesClonePostOK{} +} + +/* +PcloudVolumesClonePostOK describes a response with status code 200, with default header values. + +OK +*/ +type PcloudVolumesClonePostOK struct { + Payload *models.VolumesCloneResponse +} + +// IsSuccess returns true when this pcloud volumes clone post o k response has a 2xx status code +func (o *PcloudVolumesClonePostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this pcloud volumes clone post o k response has a 3xx status code +func (o *PcloudVolumesClonePostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumes clone post o k response has a 4xx status code +func (o *PcloudVolumesClonePostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumes clone post o k response has a 5xx status code +func (o *PcloudVolumesClonePostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumes clone post o k response a status code equal to that given +func (o *PcloudVolumesClonePostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the pcloud volumes clone post o k response +func (o *PcloudVolumesClonePostOK) Code() int { + return 200 +} + +func (o *PcloudVolumesClonePostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostOK %s", 200, payload) +} + +func (o *PcloudVolumesClonePostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostOK %s", 200, payload) +} + +func (o *PcloudVolumesClonePostOK) GetPayload() *models.VolumesCloneResponse { + return o.Payload +} + +func (o *PcloudVolumesClonePostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumesCloneResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumesClonePostBadRequest creates a PcloudVolumesClonePostBadRequest with default headers values +func NewPcloudVolumesClonePostBadRequest() *PcloudVolumesClonePostBadRequest { + return &PcloudVolumesClonePostBadRequest{} +} + +/* +PcloudVolumesClonePostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type PcloudVolumesClonePostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumes clone post bad request response has a 2xx status code +func (o *PcloudVolumesClonePostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumes clone post bad request response has a 3xx status code +func (o *PcloudVolumesClonePostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumes clone post bad request response has a 4xx status code +func (o *PcloudVolumesClonePostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumes clone post bad request response has a 5xx status code +func (o *PcloudVolumesClonePostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumes clone post bad request response a status code equal to that given +func (o *PcloudVolumesClonePostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the pcloud volumes clone post bad request response +func (o *PcloudVolumesClonePostBadRequest) Code() int { + return 400 +} + +func (o *PcloudVolumesClonePostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostBadRequest %s", 400, payload) +} + +func (o *PcloudVolumesClonePostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostBadRequest %s", 400, payload) +} + +func (o *PcloudVolumesClonePostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumesClonePostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumesClonePostUnauthorized creates a PcloudVolumesClonePostUnauthorized with default headers values +func NewPcloudVolumesClonePostUnauthorized() *PcloudVolumesClonePostUnauthorized { + return &PcloudVolumesClonePostUnauthorized{} +} + +/* +PcloudVolumesClonePostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type PcloudVolumesClonePostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumes clone post unauthorized response has a 2xx status code +func (o *PcloudVolumesClonePostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumes clone post unauthorized response has a 3xx status code +func (o *PcloudVolumesClonePostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumes clone post unauthorized response has a 4xx status code +func (o *PcloudVolumesClonePostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumes clone post unauthorized response has a 5xx status code +func (o *PcloudVolumesClonePostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumes clone post unauthorized response a status code equal to that given +func (o *PcloudVolumesClonePostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the pcloud volumes clone post unauthorized response +func (o *PcloudVolumesClonePostUnauthorized) Code() int { + return 401 +} + +func (o *PcloudVolumesClonePostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumesClonePostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostUnauthorized %s", 401, payload) +} + +func (o *PcloudVolumesClonePostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumesClonePostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumesClonePostForbidden creates a PcloudVolumesClonePostForbidden with default headers values +func NewPcloudVolumesClonePostForbidden() *PcloudVolumesClonePostForbidden { + return &PcloudVolumesClonePostForbidden{} +} + +/* +PcloudVolumesClonePostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type PcloudVolumesClonePostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumes clone post forbidden response has a 2xx status code +func (o *PcloudVolumesClonePostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumes clone post forbidden response has a 3xx status code +func (o *PcloudVolumesClonePostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumes clone post forbidden response has a 4xx status code +func (o *PcloudVolumesClonePostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumes clone post forbidden response has a 5xx status code +func (o *PcloudVolumesClonePostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumes clone post forbidden response a status code equal to that given +func (o *PcloudVolumesClonePostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the pcloud volumes clone post forbidden response +func (o *PcloudVolumesClonePostForbidden) Code() int { + return 403 +} + +func (o *PcloudVolumesClonePostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostForbidden %s", 403, payload) +} + +func (o *PcloudVolumesClonePostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostForbidden %s", 403, payload) +} + +func (o *PcloudVolumesClonePostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumesClonePostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumesClonePostNotFound creates a PcloudVolumesClonePostNotFound with default headers values +func NewPcloudVolumesClonePostNotFound() *PcloudVolumesClonePostNotFound { + return &PcloudVolumesClonePostNotFound{} +} + +/* +PcloudVolumesClonePostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type PcloudVolumesClonePostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumes clone post not found response has a 2xx status code +func (o *PcloudVolumesClonePostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumes clone post not found response has a 3xx status code +func (o *PcloudVolumesClonePostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumes clone post not found response has a 4xx status code +func (o *PcloudVolumesClonePostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumes clone post not found response has a 5xx status code +func (o *PcloudVolumesClonePostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumes clone post not found response a status code equal to that given +func (o *PcloudVolumesClonePostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the pcloud volumes clone post not found response +func (o *PcloudVolumesClonePostNotFound) Code() int { + return 404 +} + +func (o *PcloudVolumesClonePostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostNotFound %s", 404, payload) +} + +func (o *PcloudVolumesClonePostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostNotFound %s", 404, payload) +} + +func (o *PcloudVolumesClonePostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumesClonePostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumesClonePostConflict creates a PcloudVolumesClonePostConflict with default headers values +func NewPcloudVolumesClonePostConflict() *PcloudVolumesClonePostConflict { + return &PcloudVolumesClonePostConflict{} +} + +/* +PcloudVolumesClonePostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type PcloudVolumesClonePostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumes clone post conflict response has a 2xx status code +func (o *PcloudVolumesClonePostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumes clone post conflict response has a 3xx status code +func (o *PcloudVolumesClonePostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumes clone post conflict response has a 4xx status code +func (o *PcloudVolumesClonePostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this pcloud volumes clone post conflict response has a 5xx status code +func (o *PcloudVolumesClonePostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this pcloud volumes clone post conflict response a status code equal to that given +func (o *PcloudVolumesClonePostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the pcloud volumes clone post conflict response +func (o *PcloudVolumesClonePostConflict) Code() int { + return 409 +} + +func (o *PcloudVolumesClonePostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostConflict %s", 409, payload) +} + +func (o *PcloudVolumesClonePostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostConflict %s", 409, payload) +} + +func (o *PcloudVolumesClonePostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumesClonePostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPcloudVolumesClonePostInternalServerError creates a PcloudVolumesClonePostInternalServerError with default headers values +func NewPcloudVolumesClonePostInternalServerError() *PcloudVolumesClonePostInternalServerError { + return &PcloudVolumesClonePostInternalServerError{} +} + +/* +PcloudVolumesClonePostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type PcloudVolumesClonePostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this pcloud volumes clone post internal server error response has a 2xx status code +func (o *PcloudVolumesClonePostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this pcloud volumes clone post internal server error response has a 3xx status code +func (o *PcloudVolumesClonePostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this pcloud volumes clone post internal server error response has a 4xx status code +func (o *PcloudVolumesClonePostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this pcloud volumes clone post internal server error response has a 5xx status code +func (o *PcloudVolumesClonePostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this pcloud volumes clone post internal server error response a status code equal to that given +func (o *PcloudVolumesClonePostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the pcloud volumes clone post internal server error response +func (o *PcloudVolumesClonePostInternalServerError) Code() int { + return 500 +} + +func (o *PcloudVolumesClonePostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumesClonePostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /pcloud/v1/cloud-instances/{cloud_instance_id}/volumes/clone][%d] pcloudVolumesClonePostInternalServerError %s", 500, payload) +} + +func (o *PcloudVolumesClonePostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *PcloudVolumesClonePostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/power_edge_router_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/power_edge_router_client.go new file mode 100644 index 000000000..f6db76360 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/power_edge_router_client.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package power_edge_router + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new power edge router API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new power edge router API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new power edge router API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for power edge router API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1PoweredgerouterActionPost(params *V1PoweredgerouterActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1PoweredgerouterActionPostOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1PoweredgerouterActionPost performs a power edge router action migrate start migrate validate on a workspace +*/ +func (a *Client) V1PoweredgerouterActionPost(params *V1PoweredgerouterActionPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1PoweredgerouterActionPostOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1PoweredgerouterActionPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.poweredgerouter.action.post", + Method: "POST", + PathPattern: "/v1/workspaces/{workspace_id}/power-edge-router/action", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1PoweredgerouterActionPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1PoweredgerouterActionPostOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.poweredgerouter.action.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/v1_poweredgerouter_action_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/v1_poweredgerouter_action_post_parameters.go new file mode 100644 index 000000000..3a945a3c7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/v1_poweredgerouter_action_post_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package power_edge_router + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1PoweredgerouterActionPostParams creates a new V1PoweredgerouterActionPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1PoweredgerouterActionPostParams() *V1PoweredgerouterActionPostParams { + return &V1PoweredgerouterActionPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1PoweredgerouterActionPostParamsWithTimeout creates a new V1PoweredgerouterActionPostParams object +// with the ability to set a timeout on a request. +func NewV1PoweredgerouterActionPostParamsWithTimeout(timeout time.Duration) *V1PoweredgerouterActionPostParams { + return &V1PoweredgerouterActionPostParams{ + timeout: timeout, + } +} + +// NewV1PoweredgerouterActionPostParamsWithContext creates a new V1PoweredgerouterActionPostParams object +// with the ability to set a context for a request. +func NewV1PoweredgerouterActionPostParamsWithContext(ctx context.Context) *V1PoweredgerouterActionPostParams { + return &V1PoweredgerouterActionPostParams{ + Context: ctx, + } +} + +// NewV1PoweredgerouterActionPostParamsWithHTTPClient creates a new V1PoweredgerouterActionPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1PoweredgerouterActionPostParamsWithHTTPClient(client *http.Client) *V1PoweredgerouterActionPostParams { + return &V1PoweredgerouterActionPostParams{ + HTTPClient: client, + } +} + +/* +V1PoweredgerouterActionPostParams contains all the parameters to send to the API endpoint + + for the v1 poweredgerouter action post operation. + + Typically these are written to a http.Request. +*/ +type V1PoweredgerouterActionPostParams struct { + + /* Body. + + Parameters for the desired action + */ + Body *models.PowerEdgeRouterAction + + /* WorkspaceID. + + Workspace ID + */ + WorkspaceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 poweredgerouter action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1PoweredgerouterActionPostParams) WithDefaults() *V1PoweredgerouterActionPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 poweredgerouter action post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1PoweredgerouterActionPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) WithTimeout(timeout time.Duration) *V1PoweredgerouterActionPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) WithContext(ctx context.Context) *V1PoweredgerouterActionPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) WithHTTPClient(client *http.Client) *V1PoweredgerouterActionPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) WithBody(body *models.PowerEdgeRouterAction) *V1PoweredgerouterActionPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) SetBody(body *models.PowerEdgeRouterAction) { + o.Body = body +} + +// WithWorkspaceID adds the workspaceID to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) WithWorkspaceID(workspaceID string) *V1PoweredgerouterActionPostParams { + o.SetWorkspaceID(workspaceID) + return o +} + +// SetWorkspaceID adds the workspaceId to the v1 poweredgerouter action post params +func (o *V1PoweredgerouterActionPostParams) SetWorkspaceID(workspaceID string) { + o.WorkspaceID = workspaceID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1PoweredgerouterActionPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param workspace_id + if err := r.SetPathParam("workspace_id", o.WorkspaceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/v1_poweredgerouter_action_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/v1_poweredgerouter_action_post_responses.go new file mode 100644 index 000000000..2b784462d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_edge_router/v1_poweredgerouter_action_post_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package power_edge_router + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1PoweredgerouterActionPostReader is a Reader for the V1PoweredgerouterActionPost structure. +type V1PoweredgerouterActionPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1PoweredgerouterActionPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1PoweredgerouterActionPostOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1PoweredgerouterActionPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1PoweredgerouterActionPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1PoweredgerouterActionPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1PoweredgerouterActionPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1PoweredgerouterActionPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1PoweredgerouterActionPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/workspaces/{workspace_id}/power-edge-router/action] v1.poweredgerouter.action.post", response, response.Code()) + } +} + +// NewV1PoweredgerouterActionPostOK creates a V1PoweredgerouterActionPostOK with default headers values +func NewV1PoweredgerouterActionPostOK() *V1PoweredgerouterActionPostOK { + return &V1PoweredgerouterActionPostOK{} +} + +/* +V1PoweredgerouterActionPostOK describes a response with status code 200, with default header values. + +OK +*/ +type V1PoweredgerouterActionPostOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 poweredgerouter action post o k response has a 2xx status code +func (o *V1PoweredgerouterActionPostOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 poweredgerouter action post o k response has a 3xx status code +func (o *V1PoweredgerouterActionPostOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 poweredgerouter action post o k response has a 4xx status code +func (o *V1PoweredgerouterActionPostOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 poweredgerouter action post o k response has a 5xx status code +func (o *V1PoweredgerouterActionPostOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 poweredgerouter action post o k response a status code equal to that given +func (o *V1PoweredgerouterActionPostOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 poweredgerouter action post o k response +func (o *V1PoweredgerouterActionPostOK) Code() int { + return 200 +} + +func (o *V1PoweredgerouterActionPostOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostOK %s", 200, payload) +} + +func (o *V1PoweredgerouterActionPostOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostOK %s", 200, payload) +} + +func (o *V1PoweredgerouterActionPostOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1PoweredgerouterActionPostOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1PoweredgerouterActionPostBadRequest creates a V1PoweredgerouterActionPostBadRequest with default headers values +func NewV1PoweredgerouterActionPostBadRequest() *V1PoweredgerouterActionPostBadRequest { + return &V1PoweredgerouterActionPostBadRequest{} +} + +/* +V1PoweredgerouterActionPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1PoweredgerouterActionPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 poweredgerouter action post bad request response has a 2xx status code +func (o *V1PoweredgerouterActionPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 poweredgerouter action post bad request response has a 3xx status code +func (o *V1PoweredgerouterActionPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 poweredgerouter action post bad request response has a 4xx status code +func (o *V1PoweredgerouterActionPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 poweredgerouter action post bad request response has a 5xx status code +func (o *V1PoweredgerouterActionPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 poweredgerouter action post bad request response a status code equal to that given +func (o *V1PoweredgerouterActionPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 poweredgerouter action post bad request response +func (o *V1PoweredgerouterActionPostBadRequest) Code() int { + return 400 +} + +func (o *V1PoweredgerouterActionPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostBadRequest %s", 400, payload) +} + +func (o *V1PoweredgerouterActionPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostBadRequest %s", 400, payload) +} + +func (o *V1PoweredgerouterActionPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1PoweredgerouterActionPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1PoweredgerouterActionPostUnauthorized creates a V1PoweredgerouterActionPostUnauthorized with default headers values +func NewV1PoweredgerouterActionPostUnauthorized() *V1PoweredgerouterActionPostUnauthorized { + return &V1PoweredgerouterActionPostUnauthorized{} +} + +/* +V1PoweredgerouterActionPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1PoweredgerouterActionPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 poweredgerouter action post unauthorized response has a 2xx status code +func (o *V1PoweredgerouterActionPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 poweredgerouter action post unauthorized response has a 3xx status code +func (o *V1PoweredgerouterActionPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 poweredgerouter action post unauthorized response has a 4xx status code +func (o *V1PoweredgerouterActionPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 poweredgerouter action post unauthorized response has a 5xx status code +func (o *V1PoweredgerouterActionPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 poweredgerouter action post unauthorized response a status code equal to that given +func (o *V1PoweredgerouterActionPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 poweredgerouter action post unauthorized response +func (o *V1PoweredgerouterActionPostUnauthorized) Code() int { + return 401 +} + +func (o *V1PoweredgerouterActionPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostUnauthorized %s", 401, payload) +} + +func (o *V1PoweredgerouterActionPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostUnauthorized %s", 401, payload) +} + +func (o *V1PoweredgerouterActionPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1PoweredgerouterActionPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1PoweredgerouterActionPostForbidden creates a V1PoweredgerouterActionPostForbidden with default headers values +func NewV1PoweredgerouterActionPostForbidden() *V1PoweredgerouterActionPostForbidden { + return &V1PoweredgerouterActionPostForbidden{} +} + +/* +V1PoweredgerouterActionPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1PoweredgerouterActionPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 poweredgerouter action post forbidden response has a 2xx status code +func (o *V1PoweredgerouterActionPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 poweredgerouter action post forbidden response has a 3xx status code +func (o *V1PoweredgerouterActionPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 poweredgerouter action post forbidden response has a 4xx status code +func (o *V1PoweredgerouterActionPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 poweredgerouter action post forbidden response has a 5xx status code +func (o *V1PoweredgerouterActionPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 poweredgerouter action post forbidden response a status code equal to that given +func (o *V1PoweredgerouterActionPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 poweredgerouter action post forbidden response +func (o *V1PoweredgerouterActionPostForbidden) Code() int { + return 403 +} + +func (o *V1PoweredgerouterActionPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostForbidden %s", 403, payload) +} + +func (o *V1PoweredgerouterActionPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostForbidden %s", 403, payload) +} + +func (o *V1PoweredgerouterActionPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1PoweredgerouterActionPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1PoweredgerouterActionPostNotFound creates a V1PoweredgerouterActionPostNotFound with default headers values +func NewV1PoweredgerouterActionPostNotFound() *V1PoweredgerouterActionPostNotFound { + return &V1PoweredgerouterActionPostNotFound{} +} + +/* +V1PoweredgerouterActionPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1PoweredgerouterActionPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 poweredgerouter action post not found response has a 2xx status code +func (o *V1PoweredgerouterActionPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 poweredgerouter action post not found response has a 3xx status code +func (o *V1PoweredgerouterActionPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 poweredgerouter action post not found response has a 4xx status code +func (o *V1PoweredgerouterActionPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 poweredgerouter action post not found response has a 5xx status code +func (o *V1PoweredgerouterActionPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 poweredgerouter action post not found response a status code equal to that given +func (o *V1PoweredgerouterActionPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 poweredgerouter action post not found response +func (o *V1PoweredgerouterActionPostNotFound) Code() int { + return 404 +} + +func (o *V1PoweredgerouterActionPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostNotFound %s", 404, payload) +} + +func (o *V1PoweredgerouterActionPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostNotFound %s", 404, payload) +} + +func (o *V1PoweredgerouterActionPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1PoweredgerouterActionPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1PoweredgerouterActionPostConflict creates a V1PoweredgerouterActionPostConflict with default headers values +func NewV1PoweredgerouterActionPostConflict() *V1PoweredgerouterActionPostConflict { + return &V1PoweredgerouterActionPostConflict{} +} + +/* +V1PoweredgerouterActionPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1PoweredgerouterActionPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 poweredgerouter action post conflict response has a 2xx status code +func (o *V1PoweredgerouterActionPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 poweredgerouter action post conflict response has a 3xx status code +func (o *V1PoweredgerouterActionPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 poweredgerouter action post conflict response has a 4xx status code +func (o *V1PoweredgerouterActionPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 poweredgerouter action post conflict response has a 5xx status code +func (o *V1PoweredgerouterActionPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 poweredgerouter action post conflict response a status code equal to that given +func (o *V1PoweredgerouterActionPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 poweredgerouter action post conflict response +func (o *V1PoweredgerouterActionPostConflict) Code() int { + return 409 +} + +func (o *V1PoweredgerouterActionPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostConflict %s", 409, payload) +} + +func (o *V1PoweredgerouterActionPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostConflict %s", 409, payload) +} + +func (o *V1PoweredgerouterActionPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1PoweredgerouterActionPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1PoweredgerouterActionPostInternalServerError creates a V1PoweredgerouterActionPostInternalServerError with default headers values +func NewV1PoweredgerouterActionPostInternalServerError() *V1PoweredgerouterActionPostInternalServerError { + return &V1PoweredgerouterActionPostInternalServerError{} +} + +/* +V1PoweredgerouterActionPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1PoweredgerouterActionPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 poweredgerouter action post internal server error response has a 2xx status code +func (o *V1PoweredgerouterActionPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 poweredgerouter action post internal server error response has a 3xx status code +func (o *V1PoweredgerouterActionPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 poweredgerouter action post internal server error response has a 4xx status code +func (o *V1PoweredgerouterActionPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 poweredgerouter action post internal server error response has a 5xx status code +func (o *V1PoweredgerouterActionPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 poweredgerouter action post internal server error response a status code equal to that given +func (o *V1PoweredgerouterActionPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 poweredgerouter action post internal server error response +func (o *V1PoweredgerouterActionPostInternalServerError) Code() int { + return 500 +} + +func (o *V1PoweredgerouterActionPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostInternalServerError %s", 500, payload) +} + +func (o *V1PoweredgerouterActionPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/workspaces/{workspace_id}/power-edge-router/action][%d] v1PoweredgerouterActionPostInternalServerError %s", 500, payload) +} + +func (o *V1PoweredgerouterActionPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1PoweredgerouterActionPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_iaas_api_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_iaas_api_client.go new file mode 100644 index 000000000..c0e1829eb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/power_iaas_api_client.go @@ -0,0 +1,432 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package client + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/client/authentication" + "github.com/IBM-Cloud/power-go-client/power/client/bluemix_service_instances" + "github.com/IBM-Cloud/power-go-client/power/client/catalog" + "github.com/IBM-Cloud/power-go-client/power/client/datacenters" + "github.com/IBM-Cloud/power-go-client/power/client/hardware_platforms" + "github.com/IBM-Cloud/power-go-client/power/client/host_groups" + "github.com/IBM-Cloud/power-go-client/power/client/iaas_service_broker" + "github.com/IBM-Cloud/power-go-client/power/client/internal_capacity_management" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_dedicated_hosts" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_images" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_address_groups" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_interfaces" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_network_security_groups" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_networks" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_pvm_instances" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_shared_processor_pools" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_snapshots" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_v_p_mem_volumes" + "github.com/IBM-Cloud/power-go-client/power/client/internal_operations_volumes" + "github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_instances" + "github.com/IBM-Cloud/power-go-client/power/client/internal_power_v_s_locations" + "github.com/IBM-Cloud/power-go-client/power/client/internal_storage_regions" + "github.com/IBM-Cloud/power-go-client/power/client/internal_transit_gateway" + "github.com/IBM-Cloud/power-go-client/power/client/network_address_groups" + "github.com/IBM-Cloud/power-go-client/power/client/network_peers" + "github.com/IBM-Cloud/power-go-client/power/client/network_security_groups" + "github.com/IBM-Cloud/power-go-client/power/client/networks" + "github.com/IBM-Cloud/power-go-client/power/client/open_stacks" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_cloud_connections" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_disaster_recovery" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_events" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_images" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_instances" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_jobs" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_networks" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_p_vm_instances" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_placement_groups" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_pod_capacity" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_a_p" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_s_p_p_placement_groups" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_service_d_h_c_p" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_shared_processor_pools" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_snapshots" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_capacity" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_storage_tiers" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_system_pools" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tasks" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_tenants_ssh_keys" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_mem_volumes" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_connections" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_v_p_n_policies" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_virtual_serial_number" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_groups" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volume_onboarding" + "github.com/IBM-Cloud/power-go-client/power/client/p_cloud_volumes" + "github.com/IBM-Cloud/power-go-client/power/client/power_edge_router" + "github.com/IBM-Cloud/power-go-client/power/client/routes" + "github.com/IBM-Cloud/power-go-client/power/client/service_bindings" + "github.com/IBM-Cloud/power-go-client/power/client/service_instances" + "github.com/IBM-Cloud/power-go-client/power/client/snapshots" + "github.com/IBM-Cloud/power-go-client/power/client/ssh_keys" + "github.com/IBM-Cloud/power-go-client/power/client/storage_types" + "github.com/IBM-Cloud/power-go-client/power/client/swagger_spec" + "github.com/IBM-Cloud/power-go-client/power/client/workspaces" +) + +// Default power iaas API HTTP client. +var Default = NewHTTPClient(nil) + +const ( + // DefaultHost is the default Host + // found in Meta (info) section of spec file + DefaultHost string = "localhost" + // DefaultBasePath is the default BasePath + // found in Meta (info) section of spec file + DefaultBasePath string = "/" +) + +// DefaultSchemes are the default schemes found in Meta (info) section of spec file +var DefaultSchemes = []string{"http"} + +// NewHTTPClient creates a new power iaas API HTTP client. +func NewHTTPClient(formats strfmt.Registry) *PowerIaasAPI { + return NewHTTPClientWithConfig(formats, nil) +} + +// NewHTTPClientWithConfig creates a new power iaas API HTTP client, +// using a customizable transport config. +func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *PowerIaasAPI { + // ensure nullable parameters have default + if cfg == nil { + cfg = DefaultTransportConfig() + } + + // create transport and client + transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes) + return New(transport, formats) +} + +// New creates a new power iaas API client +func New(transport runtime.ClientTransport, formats strfmt.Registry) *PowerIaasAPI { + // ensure nullable parameters have default + if formats == nil { + formats = strfmt.Default + } + + cli := new(PowerIaasAPI) + cli.Transport = transport + cli.Authentication = authentication.New(transport, formats) + cli.BluemixServiceInstances = bluemix_service_instances.New(transport, formats) + cli.Catalog = catalog.New(transport, formats) + cli.Datacenters = datacenters.New(transport, formats) + cli.HardwarePlatforms = hardware_platforms.New(transport, formats) + cli.HostGroups = host_groups.New(transport, formats) + cli.IaasServiceBroker = iaas_service_broker.New(transport, formats) + cli.InternalCapacityManagement = internal_capacity_management.New(transport, formats) + cli.InternalOperationsDedicatedHosts = internal_operations_dedicated_hosts.New(transport, formats) + cli.InternalOperationsImages = internal_operations_images.New(transport, formats) + cli.InternalOperationsNetworkAddressGroups = internal_operations_network_address_groups.New(transport, formats) + cli.InternalOperationsNetworkInterfaces = internal_operations_network_interfaces.New(transport, formats) + cli.InternalOperationsNetworkSecurityGroups = internal_operations_network_security_groups.New(transport, formats) + cli.InternalOperationsNetworks = internal_operations_networks.New(transport, formats) + cli.InternalOperationsPvmInstances = internal_operations_pvm_instances.New(transport, formats) + cli.InternalOperationsSharedProcessorPools = internal_operations_shared_processor_pools.New(transport, formats) + cli.InternalOperationsSnapshots = internal_operations_snapshots.New(transport, formats) + cli.InternalOperationsvpMemVolumes = internal_operations_v_p_mem_volumes.New(transport, formats) + cli.InternalOperationsVolumes = internal_operations_volumes.New(transport, formats) + cli.InternalPowervsInstances = internal_power_v_s_instances.New(transport, formats) + cli.InternalPowervsLocations = internal_power_v_s_locations.New(transport, formats) + cli.InternalStorageRegions = internal_storage_regions.New(transport, formats) + cli.InternalTransitGateway = internal_transit_gateway.New(transport, formats) + cli.NetworkAddressGroups = network_address_groups.New(transport, formats) + cli.NetworkPeers = network_peers.New(transport, formats) + cli.NetworkSecurityGroups = network_security_groups.New(transport, formats) + cli.Networks = networks.New(transport, formats) + cli.OpenStacks = open_stacks.New(transport, formats) + cli.PCloudCloudConnections = p_cloud_cloud_connections.New(transport, formats) + cli.PCloudDisasterRecovery = p_cloud_disaster_recovery.New(transport, formats) + cli.PCloudEvents = p_cloud_events.New(transport, formats) + cli.PCloudImages = p_cloud_images.New(transport, formats) + cli.PCloudInstances = p_cloud_instances.New(transport, formats) + cli.PCloudJobs = p_cloud_jobs.New(transport, formats) + cli.PCloudNetworks = p_cloud_networks.New(transport, formats) + cli.PCloudpVMInstances = p_cloud_p_vm_instances.New(transport, formats) + cli.PCloudPlacementGroups = p_cloud_placement_groups.New(transport, formats) + cli.PCloudPodCapacity = p_cloud_pod_capacity.New(transport, formats) + cli.PCloudsap = p_cloud_s_a_p.New(transport, formats) + cli.PCloudsppPlacementGroups = p_cloud_s_p_p_placement_groups.New(transport, formats) + cli.PCloudServicedhcp = p_cloud_service_d_h_c_p.New(transport, formats) + cli.PCloudSharedProcessorPools = p_cloud_shared_processor_pools.New(transport, formats) + cli.PCloudSnapshots = p_cloud_snapshots.New(transport, formats) + cli.PCloudStorageCapacity = p_cloud_storage_capacity.New(transport, formats) + cli.PCloudStorageTiers = p_cloud_storage_tiers.New(transport, formats) + cli.PCloudSystemPools = p_cloud_system_pools.New(transport, formats) + cli.PCloudTasks = p_cloud_tasks.New(transport, formats) + cli.PCloudTenants = p_cloud_tenants.New(transport, formats) + cli.PCloudTenantsSSHKeys = p_cloud_tenants_ssh_keys.New(transport, formats) + cli.PCloudvpMemVolumes = p_cloud_v_p_mem_volumes.New(transport, formats) + cli.PCloudvpnConnections = p_cloud_v_p_n_connections.New(transport, formats) + cli.PCloudvpnPolicies = p_cloud_v_p_n_policies.New(transport, formats) + cli.PCloudVirtualSerialNumber = p_cloud_virtual_serial_number.New(transport, formats) + cli.PCloudVolumeGroups = p_cloud_volume_groups.New(transport, formats) + cli.PCloudVolumeOnboarding = p_cloud_volume_onboarding.New(transport, formats) + cli.PCloudVolumes = p_cloud_volumes.New(transport, formats) + cli.PowerEdgeRouter = power_edge_router.New(transport, formats) + cli.Routes = routes.New(transport, formats) + cli.ServiceBindings = service_bindings.New(transport, formats) + cli.ServiceInstances = service_instances.New(transport, formats) + cli.Snapshots = snapshots.New(transport, formats) + cli.SSHKeys = ssh_keys.New(transport, formats) + cli.StorageTypes = storage_types.New(transport, formats) + cli.SwaggerSpec = swagger_spec.New(transport, formats) + cli.Workspaces = workspaces.New(transport, formats) + return cli +} + +// DefaultTransportConfig creates a TransportConfig with the +// default settings taken from the meta section of the spec file. +func DefaultTransportConfig() *TransportConfig { + return &TransportConfig{ + Host: DefaultHost, + BasePath: DefaultBasePath, + Schemes: DefaultSchemes, + } +} + +// TransportConfig contains the transport related info, +// found in the meta section of the spec file. +type TransportConfig struct { + Host string + BasePath string + Schemes []string +} + +// WithHost overrides the default host, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithHost(host string) *TransportConfig { + cfg.Host = host + return cfg +} + +// WithBasePath overrides the default basePath, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig { + cfg.BasePath = basePath + return cfg +} + +// WithSchemes overrides the default schemes, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig { + cfg.Schemes = schemes + return cfg +} + +// PowerIaasAPI is a client for power iaas API +type PowerIaasAPI struct { + Authentication authentication.ClientService + + BluemixServiceInstances bluemix_service_instances.ClientService + + Catalog catalog.ClientService + + Datacenters datacenters.ClientService + + HardwarePlatforms hardware_platforms.ClientService + + HostGroups host_groups.ClientService + + IaasServiceBroker iaas_service_broker.ClientService + + InternalCapacityManagement internal_capacity_management.ClientService + + InternalOperationsDedicatedHosts internal_operations_dedicated_hosts.ClientService + + InternalOperationsImages internal_operations_images.ClientService + + InternalOperationsNetworkAddressGroups internal_operations_network_address_groups.ClientService + + InternalOperationsNetworkInterfaces internal_operations_network_interfaces.ClientService + + InternalOperationsNetworkSecurityGroups internal_operations_network_security_groups.ClientService + + InternalOperationsNetworks internal_operations_networks.ClientService + + InternalOperationsPvmInstances internal_operations_pvm_instances.ClientService + + InternalOperationsSharedProcessorPools internal_operations_shared_processor_pools.ClientService + + InternalOperationsSnapshots internal_operations_snapshots.ClientService + + InternalOperationsvpMemVolumes internal_operations_v_p_mem_volumes.ClientService + + InternalOperationsVolumes internal_operations_volumes.ClientService + + InternalPowervsInstances internal_power_v_s_instances.ClientService + + InternalPowervsLocations internal_power_v_s_locations.ClientService + + InternalStorageRegions internal_storage_regions.ClientService + + InternalTransitGateway internal_transit_gateway.ClientService + + NetworkAddressGroups network_address_groups.ClientService + + NetworkPeers network_peers.ClientService + + NetworkSecurityGroups network_security_groups.ClientService + + Networks networks.ClientService + + OpenStacks open_stacks.ClientService + + PCloudCloudConnections p_cloud_cloud_connections.ClientService + + PCloudDisasterRecovery p_cloud_disaster_recovery.ClientService + + PCloudEvents p_cloud_events.ClientService + + PCloudImages p_cloud_images.ClientService + + PCloudInstances p_cloud_instances.ClientService + + PCloudJobs p_cloud_jobs.ClientService + + PCloudNetworks p_cloud_networks.ClientService + + PCloudpVMInstances p_cloud_p_vm_instances.ClientService + + PCloudPlacementGroups p_cloud_placement_groups.ClientService + + PCloudPodCapacity p_cloud_pod_capacity.ClientService + + PCloudsap p_cloud_s_a_p.ClientService + + PCloudsppPlacementGroups p_cloud_s_p_p_placement_groups.ClientService + + PCloudServicedhcp p_cloud_service_d_h_c_p.ClientService + + PCloudSharedProcessorPools p_cloud_shared_processor_pools.ClientService + + PCloudSnapshots p_cloud_snapshots.ClientService + + PCloudStorageCapacity p_cloud_storage_capacity.ClientService + + PCloudStorageTiers p_cloud_storage_tiers.ClientService + + PCloudSystemPools p_cloud_system_pools.ClientService + + PCloudTasks p_cloud_tasks.ClientService + + PCloudTenants p_cloud_tenants.ClientService + + PCloudTenantsSSHKeys p_cloud_tenants_ssh_keys.ClientService + + PCloudvpMemVolumes p_cloud_v_p_mem_volumes.ClientService + + PCloudvpnConnections p_cloud_v_p_n_connections.ClientService + + PCloudvpnPolicies p_cloud_v_p_n_policies.ClientService + + PCloudVirtualSerialNumber p_cloud_virtual_serial_number.ClientService + + PCloudVolumeGroups p_cloud_volume_groups.ClientService + + PCloudVolumeOnboarding p_cloud_volume_onboarding.ClientService + + PCloudVolumes p_cloud_volumes.ClientService + + PowerEdgeRouter power_edge_router.ClientService + + Routes routes.ClientService + + ServiceBindings service_bindings.ClientService + + ServiceInstances service_instances.ClientService + + Snapshots snapshots.ClientService + + SSHKeys ssh_keys.ClientService + + StorageTypes storage_types.ClientService + + SwaggerSpec swagger_spec.ClientService + + Workspaces workspaces.ClientService + + Transport runtime.ClientTransport +} + +// SetTransport changes the transport on the client and all its subresources +func (c *PowerIaasAPI) SetTransport(transport runtime.ClientTransport) { + c.Transport = transport + c.Authentication.SetTransport(transport) + c.BluemixServiceInstances.SetTransport(transport) + c.Catalog.SetTransport(transport) + c.Datacenters.SetTransport(transport) + c.HardwarePlatforms.SetTransport(transport) + c.HostGroups.SetTransport(transport) + c.IaasServiceBroker.SetTransport(transport) + c.InternalCapacityManagement.SetTransport(transport) + c.InternalOperationsDedicatedHosts.SetTransport(transport) + c.InternalOperationsImages.SetTransport(transport) + c.InternalOperationsNetworkAddressGroups.SetTransport(transport) + c.InternalOperationsNetworkInterfaces.SetTransport(transport) + c.InternalOperationsNetworkSecurityGroups.SetTransport(transport) + c.InternalOperationsNetworks.SetTransport(transport) + c.InternalOperationsPvmInstances.SetTransport(transport) + c.InternalOperationsSharedProcessorPools.SetTransport(transport) + c.InternalOperationsSnapshots.SetTransport(transport) + c.InternalOperationsvpMemVolumes.SetTransport(transport) + c.InternalOperationsVolumes.SetTransport(transport) + c.InternalPowervsInstances.SetTransport(transport) + c.InternalPowervsLocations.SetTransport(transport) + c.InternalStorageRegions.SetTransport(transport) + c.InternalTransitGateway.SetTransport(transport) + c.NetworkAddressGroups.SetTransport(transport) + c.NetworkPeers.SetTransport(transport) + c.NetworkSecurityGroups.SetTransport(transport) + c.Networks.SetTransport(transport) + c.OpenStacks.SetTransport(transport) + c.PCloudCloudConnections.SetTransport(transport) + c.PCloudDisasterRecovery.SetTransport(transport) + c.PCloudEvents.SetTransport(transport) + c.PCloudImages.SetTransport(transport) + c.PCloudInstances.SetTransport(transport) + c.PCloudJobs.SetTransport(transport) + c.PCloudNetworks.SetTransport(transport) + c.PCloudpVMInstances.SetTransport(transport) + c.PCloudPlacementGroups.SetTransport(transport) + c.PCloudPodCapacity.SetTransport(transport) + c.PCloudsap.SetTransport(transport) + c.PCloudsppPlacementGroups.SetTransport(transport) + c.PCloudServicedhcp.SetTransport(transport) + c.PCloudSharedProcessorPools.SetTransport(transport) + c.PCloudSnapshots.SetTransport(transport) + c.PCloudStorageCapacity.SetTransport(transport) + c.PCloudStorageTiers.SetTransport(transport) + c.PCloudSystemPools.SetTransport(transport) + c.PCloudTasks.SetTransport(transport) + c.PCloudTenants.SetTransport(transport) + c.PCloudTenantsSSHKeys.SetTransport(transport) + c.PCloudvpMemVolumes.SetTransport(transport) + c.PCloudvpnConnections.SetTransport(transport) + c.PCloudvpnPolicies.SetTransport(transport) + c.PCloudVirtualSerialNumber.SetTransport(transport) + c.PCloudVolumeGroups.SetTransport(transport) + c.PCloudVolumeOnboarding.SetTransport(transport) + c.PCloudVolumes.SetTransport(transport) + c.PowerEdgeRouter.SetTransport(transport) + c.Routes.SetTransport(transport) + c.ServiceBindings.SetTransport(transport) + c.ServiceInstances.SetTransport(transport) + c.Snapshots.SetTransport(transport) + c.SSHKeys.SetTransport(transport) + c.StorageTypes.SetTransport(transport) + c.SwaggerSpec.SetTransport(transport) + c.Workspaces.SetTransport(transport) +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/routes_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/routes_client.go new file mode 100644 index 000000000..9fd4a5789 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/routes_client.go @@ -0,0 +1,341 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new routes API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new routes API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new routes API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for routes API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1RoutesDelete(params *V1RoutesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesDeleteOK, error) + + V1RoutesGet(params *V1RoutesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesGetOK, error) + + V1RoutesGetall(params *V1RoutesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesGetallOK, error) + + V1RoutesPost(params *V1RoutesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesPostCreated, error) + + V1RoutesPut(params *V1RoutesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesPutOK, error) + + V1RoutesReportGet(params *V1RoutesReportGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesReportGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1RoutesDelete deletes a route +*/ +func (a *Client) V1RoutesDelete(params *V1RoutesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1RoutesDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.routes.delete", + Method: "DELETE", + PathPattern: "/v1/routes/{route_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1RoutesDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1RoutesDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.routes.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1RoutesGet gets a route s information +*/ +func (a *Client) V1RoutesGet(params *V1RoutesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1RoutesGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.routes.get", + Method: "GET", + PathPattern: "/v1/routes/{route_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1RoutesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1RoutesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.routes.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1RoutesGetall gets all routes in the workspace +*/ +func (a *Client) V1RoutesGetall(params *V1RoutesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1RoutesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.routes.getall", + Method: "GET", + PathPattern: "/v1/routes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1RoutesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1RoutesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.routes.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1RoutesPost performs a route creation +*/ +func (a *Client) V1RoutesPost(params *V1RoutesPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1RoutesPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.routes.post", + Method: "POST", + PathPattern: "/v1/routes", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1RoutesPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1RoutesPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.routes.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1RoutesPut updates a route s information +*/ +func (a *Client) V1RoutesPut(params *V1RoutesPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1RoutesPutParams() + } + op := &runtime.ClientOperation{ + ID: "v1.routes.put", + Method: "PUT", + PathPattern: "/v1/routes/{route_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1RoutesPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1RoutesPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.routes.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1RoutesReportGet gets the route report for a workspace +*/ +func (a *Client) V1RoutesReportGet(params *V1RoutesReportGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1RoutesReportGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1RoutesReportGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.routes.report.get", + Method: "GET", + PathPattern: "/v1/routes/report", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1RoutesReportGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1RoutesReportGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.routes.report.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_delete_parameters.go new file mode 100644 index 000000000..621cef0ed --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1RoutesDeleteParams creates a new V1RoutesDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1RoutesDeleteParams() *V1RoutesDeleteParams { + return &V1RoutesDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1RoutesDeleteParamsWithTimeout creates a new V1RoutesDeleteParams object +// with the ability to set a timeout on a request. +func NewV1RoutesDeleteParamsWithTimeout(timeout time.Duration) *V1RoutesDeleteParams { + return &V1RoutesDeleteParams{ + timeout: timeout, + } +} + +// NewV1RoutesDeleteParamsWithContext creates a new V1RoutesDeleteParams object +// with the ability to set a context for a request. +func NewV1RoutesDeleteParamsWithContext(ctx context.Context) *V1RoutesDeleteParams { + return &V1RoutesDeleteParams{ + Context: ctx, + } +} + +// NewV1RoutesDeleteParamsWithHTTPClient creates a new V1RoutesDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1RoutesDeleteParamsWithHTTPClient(client *http.Client) *V1RoutesDeleteParams { + return &V1RoutesDeleteParams{ + HTTPClient: client, + } +} + +/* +V1RoutesDeleteParams contains all the parameters to send to the API endpoint + + for the v1 routes delete operation. + + Typically these are written to a http.Request. +*/ +type V1RoutesDeleteParams struct { + + /* RouteID. + + Route ID + */ + RouteID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 routes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesDeleteParams) WithDefaults() *V1RoutesDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 routes delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 routes delete params +func (o *V1RoutesDeleteParams) WithTimeout(timeout time.Duration) *V1RoutesDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 routes delete params +func (o *V1RoutesDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 routes delete params +func (o *V1RoutesDeleteParams) WithContext(ctx context.Context) *V1RoutesDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 routes delete params +func (o *V1RoutesDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 routes delete params +func (o *V1RoutesDeleteParams) WithHTTPClient(client *http.Client) *V1RoutesDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 routes delete params +func (o *V1RoutesDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithRouteID adds the routeID to the v1 routes delete params +func (o *V1RoutesDeleteParams) WithRouteID(routeID string) *V1RoutesDeleteParams { + o.SetRouteID(routeID) + return o +} + +// SetRouteID adds the routeId to the v1 routes delete params +func (o *V1RoutesDeleteParams) SetRouteID(routeID string) { + o.RouteID = routeID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1RoutesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param route_id + if err := r.SetPathParam("route_id", o.RouteID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_delete_responses.go new file mode 100644 index 000000000..3ab2a9a5a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1RoutesDeleteReader is a Reader for the V1RoutesDelete structure. +type V1RoutesDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1RoutesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1RoutesDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1RoutesDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1RoutesDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1RoutesDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1RoutesDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewV1RoutesDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1RoutesDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/routes/{route_id}] v1.routes.delete", response, response.Code()) + } +} + +// NewV1RoutesDeleteOK creates a V1RoutesDeleteOK with default headers values +func NewV1RoutesDeleteOK() *V1RoutesDeleteOK { + return &V1RoutesDeleteOK{} +} + +/* +V1RoutesDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1RoutesDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 routes delete o k response has a 2xx status code +func (o *V1RoutesDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 routes delete o k response has a 3xx status code +func (o *V1RoutesDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes delete o k response has a 4xx status code +func (o *V1RoutesDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes delete o k response has a 5xx status code +func (o *V1RoutesDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes delete o k response a status code equal to that given +func (o *V1RoutesDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 routes delete o k response +func (o *V1RoutesDeleteOK) Code() int { + return 200 +} + +func (o *V1RoutesDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteOK %s", 200, payload) +} + +func (o *V1RoutesDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteOK %s", 200, payload) +} + +func (o *V1RoutesDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1RoutesDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesDeleteBadRequest creates a V1RoutesDeleteBadRequest with default headers values +func NewV1RoutesDeleteBadRequest() *V1RoutesDeleteBadRequest { + return &V1RoutesDeleteBadRequest{} +} + +/* +V1RoutesDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1RoutesDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes delete bad request response has a 2xx status code +func (o *V1RoutesDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes delete bad request response has a 3xx status code +func (o *V1RoutesDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes delete bad request response has a 4xx status code +func (o *V1RoutesDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes delete bad request response has a 5xx status code +func (o *V1RoutesDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes delete bad request response a status code equal to that given +func (o *V1RoutesDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 routes delete bad request response +func (o *V1RoutesDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1RoutesDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteBadRequest %s", 400, payload) +} + +func (o *V1RoutesDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteBadRequest %s", 400, payload) +} + +func (o *V1RoutesDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesDeleteUnauthorized creates a V1RoutesDeleteUnauthorized with default headers values +func NewV1RoutesDeleteUnauthorized() *V1RoutesDeleteUnauthorized { + return &V1RoutesDeleteUnauthorized{} +} + +/* +V1RoutesDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1RoutesDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes delete unauthorized response has a 2xx status code +func (o *V1RoutesDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes delete unauthorized response has a 3xx status code +func (o *V1RoutesDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes delete unauthorized response has a 4xx status code +func (o *V1RoutesDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes delete unauthorized response has a 5xx status code +func (o *V1RoutesDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes delete unauthorized response a status code equal to that given +func (o *V1RoutesDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 routes delete unauthorized response +func (o *V1RoutesDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1RoutesDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteUnauthorized %s", 401, payload) +} + +func (o *V1RoutesDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteUnauthorized %s", 401, payload) +} + +func (o *V1RoutesDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesDeleteForbidden creates a V1RoutesDeleteForbidden with default headers values +func NewV1RoutesDeleteForbidden() *V1RoutesDeleteForbidden { + return &V1RoutesDeleteForbidden{} +} + +/* +V1RoutesDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1RoutesDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes delete forbidden response has a 2xx status code +func (o *V1RoutesDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes delete forbidden response has a 3xx status code +func (o *V1RoutesDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes delete forbidden response has a 4xx status code +func (o *V1RoutesDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes delete forbidden response has a 5xx status code +func (o *V1RoutesDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes delete forbidden response a status code equal to that given +func (o *V1RoutesDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 routes delete forbidden response +func (o *V1RoutesDeleteForbidden) Code() int { + return 403 +} + +func (o *V1RoutesDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteForbidden %s", 403, payload) +} + +func (o *V1RoutesDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteForbidden %s", 403, payload) +} + +func (o *V1RoutesDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesDeleteNotFound creates a V1RoutesDeleteNotFound with default headers values +func NewV1RoutesDeleteNotFound() *V1RoutesDeleteNotFound { + return &V1RoutesDeleteNotFound{} +} + +/* +V1RoutesDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1RoutesDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes delete not found response has a 2xx status code +func (o *V1RoutesDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes delete not found response has a 3xx status code +func (o *V1RoutesDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes delete not found response has a 4xx status code +func (o *V1RoutesDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes delete not found response has a 5xx status code +func (o *V1RoutesDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes delete not found response a status code equal to that given +func (o *V1RoutesDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 routes delete not found response +func (o *V1RoutesDeleteNotFound) Code() int { + return 404 +} + +func (o *V1RoutesDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteNotFound %s", 404, payload) +} + +func (o *V1RoutesDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteNotFound %s", 404, payload) +} + +func (o *V1RoutesDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesDeleteGone creates a V1RoutesDeleteGone with default headers values +func NewV1RoutesDeleteGone() *V1RoutesDeleteGone { + return &V1RoutesDeleteGone{} +} + +/* +V1RoutesDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type V1RoutesDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes delete gone response has a 2xx status code +func (o *V1RoutesDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes delete gone response has a 3xx status code +func (o *V1RoutesDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes delete gone response has a 4xx status code +func (o *V1RoutesDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes delete gone response has a 5xx status code +func (o *V1RoutesDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes delete gone response a status code equal to that given +func (o *V1RoutesDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the v1 routes delete gone response +func (o *V1RoutesDeleteGone) Code() int { + return 410 +} + +func (o *V1RoutesDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteGone %s", 410, payload) +} + +func (o *V1RoutesDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteGone %s", 410, payload) +} + +func (o *V1RoutesDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesDeleteInternalServerError creates a V1RoutesDeleteInternalServerError with default headers values +func NewV1RoutesDeleteInternalServerError() *V1RoutesDeleteInternalServerError { + return &V1RoutesDeleteInternalServerError{} +} + +/* +V1RoutesDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1RoutesDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes delete internal server error response has a 2xx status code +func (o *V1RoutesDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes delete internal server error response has a 3xx status code +func (o *V1RoutesDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes delete internal server error response has a 4xx status code +func (o *V1RoutesDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes delete internal server error response has a 5xx status code +func (o *V1RoutesDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 routes delete internal server error response a status code equal to that given +func (o *V1RoutesDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 routes delete internal server error response +func (o *V1RoutesDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1RoutesDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteInternalServerError %s", 500, payload) +} + +func (o *V1RoutesDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/routes/{route_id}][%d] v1RoutesDeleteInternalServerError %s", 500, payload) +} + +func (o *V1RoutesDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_get_parameters.go new file mode 100644 index 000000000..2fda24e29 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1RoutesGetParams creates a new V1RoutesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1RoutesGetParams() *V1RoutesGetParams { + return &V1RoutesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1RoutesGetParamsWithTimeout creates a new V1RoutesGetParams object +// with the ability to set a timeout on a request. +func NewV1RoutesGetParamsWithTimeout(timeout time.Duration) *V1RoutesGetParams { + return &V1RoutesGetParams{ + timeout: timeout, + } +} + +// NewV1RoutesGetParamsWithContext creates a new V1RoutesGetParams object +// with the ability to set a context for a request. +func NewV1RoutesGetParamsWithContext(ctx context.Context) *V1RoutesGetParams { + return &V1RoutesGetParams{ + Context: ctx, + } +} + +// NewV1RoutesGetParamsWithHTTPClient creates a new V1RoutesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1RoutesGetParamsWithHTTPClient(client *http.Client) *V1RoutesGetParams { + return &V1RoutesGetParams{ + HTTPClient: client, + } +} + +/* +V1RoutesGetParams contains all the parameters to send to the API endpoint + + for the v1 routes get operation. + + Typically these are written to a http.Request. +*/ +type V1RoutesGetParams struct { + + /* RouteID. + + Route ID + */ + RouteID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 routes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesGetParams) WithDefaults() *V1RoutesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 routes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 routes get params +func (o *V1RoutesGetParams) WithTimeout(timeout time.Duration) *V1RoutesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 routes get params +func (o *V1RoutesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 routes get params +func (o *V1RoutesGetParams) WithContext(ctx context.Context) *V1RoutesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 routes get params +func (o *V1RoutesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 routes get params +func (o *V1RoutesGetParams) WithHTTPClient(client *http.Client) *V1RoutesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 routes get params +func (o *V1RoutesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithRouteID adds the routeID to the v1 routes get params +func (o *V1RoutesGetParams) WithRouteID(routeID string) *V1RoutesGetParams { + o.SetRouteID(routeID) + return o +} + +// SetRouteID adds the routeId to the v1 routes get params +func (o *V1RoutesGetParams) SetRouteID(routeID string) { + o.RouteID = routeID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1RoutesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param route_id + if err := r.SetPathParam("route_id", o.RouteID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_get_responses.go new file mode 100644 index 000000000..d3d1c831f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1RoutesGetReader is a Reader for the V1RoutesGet structure. +type V1RoutesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1RoutesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1RoutesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1RoutesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1RoutesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1RoutesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1RoutesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1RoutesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/routes/{route_id}] v1.routes.get", response, response.Code()) + } +} + +// NewV1RoutesGetOK creates a V1RoutesGetOK with default headers values +func NewV1RoutesGetOK() *V1RoutesGetOK { + return &V1RoutesGetOK{} +} + +/* +V1RoutesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1RoutesGetOK struct { + Payload *models.Route +} + +// IsSuccess returns true when this v1 routes get o k response has a 2xx status code +func (o *V1RoutesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 routes get o k response has a 3xx status code +func (o *V1RoutesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes get o k response has a 4xx status code +func (o *V1RoutesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes get o k response has a 5xx status code +func (o *V1RoutesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes get o k response a status code equal to that given +func (o *V1RoutesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 routes get o k response +func (o *V1RoutesGetOK) Code() int { + return 200 +} + +func (o *V1RoutesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetOK %s", 200, payload) +} + +func (o *V1RoutesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetOK %s", 200, payload) +} + +func (o *V1RoutesGetOK) GetPayload() *models.Route { + return o.Payload +} + +func (o *V1RoutesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Route) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetBadRequest creates a V1RoutesGetBadRequest with default headers values +func NewV1RoutesGetBadRequest() *V1RoutesGetBadRequest { + return &V1RoutesGetBadRequest{} +} + +/* +V1RoutesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1RoutesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes get bad request response has a 2xx status code +func (o *V1RoutesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes get bad request response has a 3xx status code +func (o *V1RoutesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes get bad request response has a 4xx status code +func (o *V1RoutesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes get bad request response has a 5xx status code +func (o *V1RoutesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes get bad request response a status code equal to that given +func (o *V1RoutesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 routes get bad request response +func (o *V1RoutesGetBadRequest) Code() int { + return 400 +} + +func (o *V1RoutesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetBadRequest %s", 400, payload) +} + +func (o *V1RoutesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetBadRequest %s", 400, payload) +} + +func (o *V1RoutesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetUnauthorized creates a V1RoutesGetUnauthorized with default headers values +func NewV1RoutesGetUnauthorized() *V1RoutesGetUnauthorized { + return &V1RoutesGetUnauthorized{} +} + +/* +V1RoutesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1RoutesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes get unauthorized response has a 2xx status code +func (o *V1RoutesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes get unauthorized response has a 3xx status code +func (o *V1RoutesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes get unauthorized response has a 4xx status code +func (o *V1RoutesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes get unauthorized response has a 5xx status code +func (o *V1RoutesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes get unauthorized response a status code equal to that given +func (o *V1RoutesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 routes get unauthorized response +func (o *V1RoutesGetUnauthorized) Code() int { + return 401 +} + +func (o *V1RoutesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetUnauthorized %s", 401, payload) +} + +func (o *V1RoutesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetUnauthorized %s", 401, payload) +} + +func (o *V1RoutesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetForbidden creates a V1RoutesGetForbidden with default headers values +func NewV1RoutesGetForbidden() *V1RoutesGetForbidden { + return &V1RoutesGetForbidden{} +} + +/* +V1RoutesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1RoutesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes get forbidden response has a 2xx status code +func (o *V1RoutesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes get forbidden response has a 3xx status code +func (o *V1RoutesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes get forbidden response has a 4xx status code +func (o *V1RoutesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes get forbidden response has a 5xx status code +func (o *V1RoutesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes get forbidden response a status code equal to that given +func (o *V1RoutesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 routes get forbidden response +func (o *V1RoutesGetForbidden) Code() int { + return 403 +} + +func (o *V1RoutesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetForbidden %s", 403, payload) +} + +func (o *V1RoutesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetForbidden %s", 403, payload) +} + +func (o *V1RoutesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetNotFound creates a V1RoutesGetNotFound with default headers values +func NewV1RoutesGetNotFound() *V1RoutesGetNotFound { + return &V1RoutesGetNotFound{} +} + +/* +V1RoutesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1RoutesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes get not found response has a 2xx status code +func (o *V1RoutesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes get not found response has a 3xx status code +func (o *V1RoutesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes get not found response has a 4xx status code +func (o *V1RoutesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes get not found response has a 5xx status code +func (o *V1RoutesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes get not found response a status code equal to that given +func (o *V1RoutesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 routes get not found response +func (o *V1RoutesGetNotFound) Code() int { + return 404 +} + +func (o *V1RoutesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetNotFound %s", 404, payload) +} + +func (o *V1RoutesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetNotFound %s", 404, payload) +} + +func (o *V1RoutesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetInternalServerError creates a V1RoutesGetInternalServerError with default headers values +func NewV1RoutesGetInternalServerError() *V1RoutesGetInternalServerError { + return &V1RoutesGetInternalServerError{} +} + +/* +V1RoutesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1RoutesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes get internal server error response has a 2xx status code +func (o *V1RoutesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes get internal server error response has a 3xx status code +func (o *V1RoutesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes get internal server error response has a 4xx status code +func (o *V1RoutesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes get internal server error response has a 5xx status code +func (o *V1RoutesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 routes get internal server error response a status code equal to that given +func (o *V1RoutesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 routes get internal server error response +func (o *V1RoutesGetInternalServerError) Code() int { + return 500 +} + +func (o *V1RoutesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetInternalServerError %s", 500, payload) +} + +func (o *V1RoutesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/{route_id}][%d] v1RoutesGetInternalServerError %s", 500, payload) +} + +func (o *V1RoutesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_getall_parameters.go new file mode 100644 index 000000000..e5073afc7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1RoutesGetallParams creates a new V1RoutesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1RoutesGetallParams() *V1RoutesGetallParams { + return &V1RoutesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1RoutesGetallParamsWithTimeout creates a new V1RoutesGetallParams object +// with the ability to set a timeout on a request. +func NewV1RoutesGetallParamsWithTimeout(timeout time.Duration) *V1RoutesGetallParams { + return &V1RoutesGetallParams{ + timeout: timeout, + } +} + +// NewV1RoutesGetallParamsWithContext creates a new V1RoutesGetallParams object +// with the ability to set a context for a request. +func NewV1RoutesGetallParamsWithContext(ctx context.Context) *V1RoutesGetallParams { + return &V1RoutesGetallParams{ + Context: ctx, + } +} + +// NewV1RoutesGetallParamsWithHTTPClient creates a new V1RoutesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1RoutesGetallParamsWithHTTPClient(client *http.Client) *V1RoutesGetallParams { + return &V1RoutesGetallParams{ + HTTPClient: client, + } +} + +/* +V1RoutesGetallParams contains all the parameters to send to the API endpoint + + for the v1 routes getall operation. + + Typically these are written to a http.Request. +*/ +type V1RoutesGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 routes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesGetallParams) WithDefaults() *V1RoutesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 routes getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 routes getall params +func (o *V1RoutesGetallParams) WithTimeout(timeout time.Duration) *V1RoutesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 routes getall params +func (o *V1RoutesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 routes getall params +func (o *V1RoutesGetallParams) WithContext(ctx context.Context) *V1RoutesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 routes getall params +func (o *V1RoutesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 routes getall params +func (o *V1RoutesGetallParams) WithHTTPClient(client *http.Client) *V1RoutesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 routes getall params +func (o *V1RoutesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1RoutesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_getall_responses.go new file mode 100644 index 000000000..179bb3f20 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1RoutesGetallReader is a Reader for the V1RoutesGetall structure. +type V1RoutesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1RoutesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1RoutesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1RoutesGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1RoutesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1RoutesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1RoutesGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1RoutesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/routes] v1.routes.getall", response, response.Code()) + } +} + +// NewV1RoutesGetallOK creates a V1RoutesGetallOK with default headers values +func NewV1RoutesGetallOK() *V1RoutesGetallOK { + return &V1RoutesGetallOK{} +} + +/* +V1RoutesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1RoutesGetallOK struct { + Payload *models.Routes +} + +// IsSuccess returns true when this v1 routes getall o k response has a 2xx status code +func (o *V1RoutesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 routes getall o k response has a 3xx status code +func (o *V1RoutesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes getall o k response has a 4xx status code +func (o *V1RoutesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes getall o k response has a 5xx status code +func (o *V1RoutesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes getall o k response a status code equal to that given +func (o *V1RoutesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 routes getall o k response +func (o *V1RoutesGetallOK) Code() int { + return 200 +} + +func (o *V1RoutesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallOK %s", 200, payload) +} + +func (o *V1RoutesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallOK %s", 200, payload) +} + +func (o *V1RoutesGetallOK) GetPayload() *models.Routes { + return o.Payload +} + +func (o *V1RoutesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Routes) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetallBadRequest creates a V1RoutesGetallBadRequest with default headers values +func NewV1RoutesGetallBadRequest() *V1RoutesGetallBadRequest { + return &V1RoutesGetallBadRequest{} +} + +/* +V1RoutesGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1RoutesGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes getall bad request response has a 2xx status code +func (o *V1RoutesGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes getall bad request response has a 3xx status code +func (o *V1RoutesGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes getall bad request response has a 4xx status code +func (o *V1RoutesGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes getall bad request response has a 5xx status code +func (o *V1RoutesGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes getall bad request response a status code equal to that given +func (o *V1RoutesGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 routes getall bad request response +func (o *V1RoutesGetallBadRequest) Code() int { + return 400 +} + +func (o *V1RoutesGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallBadRequest %s", 400, payload) +} + +func (o *V1RoutesGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallBadRequest %s", 400, payload) +} + +func (o *V1RoutesGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetallUnauthorized creates a V1RoutesGetallUnauthorized with default headers values +func NewV1RoutesGetallUnauthorized() *V1RoutesGetallUnauthorized { + return &V1RoutesGetallUnauthorized{} +} + +/* +V1RoutesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1RoutesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes getall unauthorized response has a 2xx status code +func (o *V1RoutesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes getall unauthorized response has a 3xx status code +func (o *V1RoutesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes getall unauthorized response has a 4xx status code +func (o *V1RoutesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes getall unauthorized response has a 5xx status code +func (o *V1RoutesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes getall unauthorized response a status code equal to that given +func (o *V1RoutesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 routes getall unauthorized response +func (o *V1RoutesGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1RoutesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallUnauthorized %s", 401, payload) +} + +func (o *V1RoutesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallUnauthorized %s", 401, payload) +} + +func (o *V1RoutesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetallForbidden creates a V1RoutesGetallForbidden with default headers values +func NewV1RoutesGetallForbidden() *V1RoutesGetallForbidden { + return &V1RoutesGetallForbidden{} +} + +/* +V1RoutesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1RoutesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes getall forbidden response has a 2xx status code +func (o *V1RoutesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes getall forbidden response has a 3xx status code +func (o *V1RoutesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes getall forbidden response has a 4xx status code +func (o *V1RoutesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes getall forbidden response has a 5xx status code +func (o *V1RoutesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes getall forbidden response a status code equal to that given +func (o *V1RoutesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 routes getall forbidden response +func (o *V1RoutesGetallForbidden) Code() int { + return 403 +} + +func (o *V1RoutesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallForbidden %s", 403, payload) +} + +func (o *V1RoutesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallForbidden %s", 403, payload) +} + +func (o *V1RoutesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetallNotFound creates a V1RoutesGetallNotFound with default headers values +func NewV1RoutesGetallNotFound() *V1RoutesGetallNotFound { + return &V1RoutesGetallNotFound{} +} + +/* +V1RoutesGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1RoutesGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes getall not found response has a 2xx status code +func (o *V1RoutesGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes getall not found response has a 3xx status code +func (o *V1RoutesGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes getall not found response has a 4xx status code +func (o *V1RoutesGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes getall not found response has a 5xx status code +func (o *V1RoutesGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes getall not found response a status code equal to that given +func (o *V1RoutesGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 routes getall not found response +func (o *V1RoutesGetallNotFound) Code() int { + return 404 +} + +func (o *V1RoutesGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallNotFound %s", 404, payload) +} + +func (o *V1RoutesGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallNotFound %s", 404, payload) +} + +func (o *V1RoutesGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesGetallInternalServerError creates a V1RoutesGetallInternalServerError with default headers values +func NewV1RoutesGetallInternalServerError() *V1RoutesGetallInternalServerError { + return &V1RoutesGetallInternalServerError{} +} + +/* +V1RoutesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1RoutesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes getall internal server error response has a 2xx status code +func (o *V1RoutesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes getall internal server error response has a 3xx status code +func (o *V1RoutesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes getall internal server error response has a 4xx status code +func (o *V1RoutesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes getall internal server error response has a 5xx status code +func (o *V1RoutesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 routes getall internal server error response a status code equal to that given +func (o *V1RoutesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 routes getall internal server error response +func (o *V1RoutesGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1RoutesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallInternalServerError %s", 500, payload) +} + +func (o *V1RoutesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes][%d] v1RoutesGetallInternalServerError %s", 500, payload) +} + +func (o *V1RoutesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_post_parameters.go new file mode 100644 index 000000000..076ab41b2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1RoutesPostParams creates a new V1RoutesPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1RoutesPostParams() *V1RoutesPostParams { + return &V1RoutesPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1RoutesPostParamsWithTimeout creates a new V1RoutesPostParams object +// with the ability to set a timeout on a request. +func NewV1RoutesPostParamsWithTimeout(timeout time.Duration) *V1RoutesPostParams { + return &V1RoutesPostParams{ + timeout: timeout, + } +} + +// NewV1RoutesPostParamsWithContext creates a new V1RoutesPostParams object +// with the ability to set a context for a request. +func NewV1RoutesPostParamsWithContext(ctx context.Context) *V1RoutesPostParams { + return &V1RoutesPostParams{ + Context: ctx, + } +} + +// NewV1RoutesPostParamsWithHTTPClient creates a new V1RoutesPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1RoutesPostParamsWithHTTPClient(client *http.Client) *V1RoutesPostParams { + return &V1RoutesPostParams{ + HTTPClient: client, + } +} + +/* +V1RoutesPostParams contains all the parameters to send to the API endpoint + + for the v1 routes post operation. + + Typically these are written to a http.Request. +*/ +type V1RoutesPostParams struct { + + /* Body. + + Create a route based on the inputs + */ + Body *models.RouteCreate + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 routes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesPostParams) WithDefaults() *V1RoutesPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 routes post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 routes post params +func (o *V1RoutesPostParams) WithTimeout(timeout time.Duration) *V1RoutesPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 routes post params +func (o *V1RoutesPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 routes post params +func (o *V1RoutesPostParams) WithContext(ctx context.Context) *V1RoutesPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 routes post params +func (o *V1RoutesPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 routes post params +func (o *V1RoutesPostParams) WithHTTPClient(client *http.Client) *V1RoutesPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 routes post params +func (o *V1RoutesPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 routes post params +func (o *V1RoutesPostParams) WithBody(body *models.RouteCreate) *V1RoutesPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 routes post params +func (o *V1RoutesPostParams) SetBody(body *models.RouteCreate) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *V1RoutesPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_post_responses.go new file mode 100644 index 000000000..c7e956376 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1RoutesPostReader is a Reader for the V1RoutesPost structure. +type V1RoutesPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1RoutesPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewV1RoutesPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1RoutesPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1RoutesPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1RoutesPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1RoutesPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1RoutesPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1RoutesPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1RoutesPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/routes] v1.routes.post", response, response.Code()) + } +} + +// NewV1RoutesPostCreated creates a V1RoutesPostCreated with default headers values +func NewV1RoutesPostCreated() *V1RoutesPostCreated { + return &V1RoutesPostCreated{} +} + +/* +V1RoutesPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type V1RoutesPostCreated struct { + Payload *models.Route +} + +// IsSuccess returns true when this v1 routes post created response has a 2xx status code +func (o *V1RoutesPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 routes post created response has a 3xx status code +func (o *V1RoutesPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes post created response has a 4xx status code +func (o *V1RoutesPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes post created response has a 5xx status code +func (o *V1RoutesPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes post created response a status code equal to that given +func (o *V1RoutesPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the v1 routes post created response +func (o *V1RoutesPostCreated) Code() int { + return 201 +} + +func (o *V1RoutesPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostCreated %s", 201, payload) +} + +func (o *V1RoutesPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostCreated %s", 201, payload) +} + +func (o *V1RoutesPostCreated) GetPayload() *models.Route { + return o.Payload +} + +func (o *V1RoutesPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Route) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPostBadRequest creates a V1RoutesPostBadRequest with default headers values +func NewV1RoutesPostBadRequest() *V1RoutesPostBadRequest { + return &V1RoutesPostBadRequest{} +} + +/* +V1RoutesPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1RoutesPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes post bad request response has a 2xx status code +func (o *V1RoutesPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes post bad request response has a 3xx status code +func (o *V1RoutesPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes post bad request response has a 4xx status code +func (o *V1RoutesPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes post bad request response has a 5xx status code +func (o *V1RoutesPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes post bad request response a status code equal to that given +func (o *V1RoutesPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 routes post bad request response +func (o *V1RoutesPostBadRequest) Code() int { + return 400 +} + +func (o *V1RoutesPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostBadRequest %s", 400, payload) +} + +func (o *V1RoutesPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostBadRequest %s", 400, payload) +} + +func (o *V1RoutesPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPostUnauthorized creates a V1RoutesPostUnauthorized with default headers values +func NewV1RoutesPostUnauthorized() *V1RoutesPostUnauthorized { + return &V1RoutesPostUnauthorized{} +} + +/* +V1RoutesPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1RoutesPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes post unauthorized response has a 2xx status code +func (o *V1RoutesPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes post unauthorized response has a 3xx status code +func (o *V1RoutesPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes post unauthorized response has a 4xx status code +func (o *V1RoutesPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes post unauthorized response has a 5xx status code +func (o *V1RoutesPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes post unauthorized response a status code equal to that given +func (o *V1RoutesPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 routes post unauthorized response +func (o *V1RoutesPostUnauthorized) Code() int { + return 401 +} + +func (o *V1RoutesPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostUnauthorized %s", 401, payload) +} + +func (o *V1RoutesPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostUnauthorized %s", 401, payload) +} + +func (o *V1RoutesPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPostForbidden creates a V1RoutesPostForbidden with default headers values +func NewV1RoutesPostForbidden() *V1RoutesPostForbidden { + return &V1RoutesPostForbidden{} +} + +/* +V1RoutesPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1RoutesPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes post forbidden response has a 2xx status code +func (o *V1RoutesPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes post forbidden response has a 3xx status code +func (o *V1RoutesPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes post forbidden response has a 4xx status code +func (o *V1RoutesPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes post forbidden response has a 5xx status code +func (o *V1RoutesPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes post forbidden response a status code equal to that given +func (o *V1RoutesPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 routes post forbidden response +func (o *V1RoutesPostForbidden) Code() int { + return 403 +} + +func (o *V1RoutesPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostForbidden %s", 403, payload) +} + +func (o *V1RoutesPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostForbidden %s", 403, payload) +} + +func (o *V1RoutesPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPostNotFound creates a V1RoutesPostNotFound with default headers values +func NewV1RoutesPostNotFound() *V1RoutesPostNotFound { + return &V1RoutesPostNotFound{} +} + +/* +V1RoutesPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1RoutesPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes post not found response has a 2xx status code +func (o *V1RoutesPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes post not found response has a 3xx status code +func (o *V1RoutesPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes post not found response has a 4xx status code +func (o *V1RoutesPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes post not found response has a 5xx status code +func (o *V1RoutesPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes post not found response a status code equal to that given +func (o *V1RoutesPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 routes post not found response +func (o *V1RoutesPostNotFound) Code() int { + return 404 +} + +func (o *V1RoutesPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostNotFound %s", 404, payload) +} + +func (o *V1RoutesPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostNotFound %s", 404, payload) +} + +func (o *V1RoutesPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPostConflict creates a V1RoutesPostConflict with default headers values +func NewV1RoutesPostConflict() *V1RoutesPostConflict { + return &V1RoutesPostConflict{} +} + +/* +V1RoutesPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1RoutesPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes post conflict response has a 2xx status code +func (o *V1RoutesPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes post conflict response has a 3xx status code +func (o *V1RoutesPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes post conflict response has a 4xx status code +func (o *V1RoutesPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes post conflict response has a 5xx status code +func (o *V1RoutesPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes post conflict response a status code equal to that given +func (o *V1RoutesPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 routes post conflict response +func (o *V1RoutesPostConflict) Code() int { + return 409 +} + +func (o *V1RoutesPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostConflict %s", 409, payload) +} + +func (o *V1RoutesPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostConflict %s", 409, payload) +} + +func (o *V1RoutesPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPostUnprocessableEntity creates a V1RoutesPostUnprocessableEntity with default headers values +func NewV1RoutesPostUnprocessableEntity() *V1RoutesPostUnprocessableEntity { + return &V1RoutesPostUnprocessableEntity{} +} + +/* +V1RoutesPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1RoutesPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes post unprocessable entity response has a 2xx status code +func (o *V1RoutesPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes post unprocessable entity response has a 3xx status code +func (o *V1RoutesPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes post unprocessable entity response has a 4xx status code +func (o *V1RoutesPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes post unprocessable entity response has a 5xx status code +func (o *V1RoutesPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes post unprocessable entity response a status code equal to that given +func (o *V1RoutesPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 routes post unprocessable entity response +func (o *V1RoutesPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1RoutesPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1RoutesPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1RoutesPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPostInternalServerError creates a V1RoutesPostInternalServerError with default headers values +func NewV1RoutesPostInternalServerError() *V1RoutesPostInternalServerError { + return &V1RoutesPostInternalServerError{} +} + +/* +V1RoutesPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1RoutesPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes post internal server error response has a 2xx status code +func (o *V1RoutesPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes post internal server error response has a 3xx status code +func (o *V1RoutesPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes post internal server error response has a 4xx status code +func (o *V1RoutesPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes post internal server error response has a 5xx status code +func (o *V1RoutesPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 routes post internal server error response a status code equal to that given +func (o *V1RoutesPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 routes post internal server error response +func (o *V1RoutesPostInternalServerError) Code() int { + return 500 +} + +func (o *V1RoutesPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostInternalServerError %s", 500, payload) +} + +func (o *V1RoutesPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/routes][%d] v1RoutesPostInternalServerError %s", 500, payload) +} + +func (o *V1RoutesPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_put_parameters.go new file mode 100644 index 000000000..34b98ba1e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1RoutesPutParams creates a new V1RoutesPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1RoutesPutParams() *V1RoutesPutParams { + return &V1RoutesPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1RoutesPutParamsWithTimeout creates a new V1RoutesPutParams object +// with the ability to set a timeout on a request. +func NewV1RoutesPutParamsWithTimeout(timeout time.Duration) *V1RoutesPutParams { + return &V1RoutesPutParams{ + timeout: timeout, + } +} + +// NewV1RoutesPutParamsWithContext creates a new V1RoutesPutParams object +// with the ability to set a context for a request. +func NewV1RoutesPutParamsWithContext(ctx context.Context) *V1RoutesPutParams { + return &V1RoutesPutParams{ + Context: ctx, + } +} + +// NewV1RoutesPutParamsWithHTTPClient creates a new V1RoutesPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1RoutesPutParamsWithHTTPClient(client *http.Client) *V1RoutesPutParams { + return &V1RoutesPutParams{ + HTTPClient: client, + } +} + +/* +V1RoutesPutParams contains all the parameters to send to the API endpoint + + for the v1 routes put operation. + + Typically these are written to a http.Request. +*/ +type V1RoutesPutParams struct { + + /* Body. + + Parameters for updating a route + */ + Body *models.RouteUpdate + + /* RouteID. + + Route ID + */ + RouteID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 routes put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesPutParams) WithDefaults() *V1RoutesPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 routes put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 routes put params +func (o *V1RoutesPutParams) WithTimeout(timeout time.Duration) *V1RoutesPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 routes put params +func (o *V1RoutesPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 routes put params +func (o *V1RoutesPutParams) WithContext(ctx context.Context) *V1RoutesPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 routes put params +func (o *V1RoutesPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 routes put params +func (o *V1RoutesPutParams) WithHTTPClient(client *http.Client) *V1RoutesPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 routes put params +func (o *V1RoutesPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 routes put params +func (o *V1RoutesPutParams) WithBody(body *models.RouteUpdate) *V1RoutesPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 routes put params +func (o *V1RoutesPutParams) SetBody(body *models.RouteUpdate) { + o.Body = body +} + +// WithRouteID adds the routeID to the v1 routes put params +func (o *V1RoutesPutParams) WithRouteID(routeID string) *V1RoutesPutParams { + o.SetRouteID(routeID) + return o +} + +// SetRouteID adds the routeId to the v1 routes put params +func (o *V1RoutesPutParams) SetRouteID(routeID string) { + o.RouteID = routeID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1RoutesPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param route_id + if err := r.SetPathParam("route_id", o.RouteID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_put_responses.go new file mode 100644 index 000000000..bd30b3d8a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_put_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1RoutesPutReader is a Reader for the V1RoutesPut structure. +type V1RoutesPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1RoutesPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1RoutesPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1RoutesPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1RoutesPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1RoutesPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1RoutesPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1RoutesPutUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1RoutesPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/routes/{route_id}] v1.routes.put", response, response.Code()) + } +} + +// NewV1RoutesPutOK creates a V1RoutesPutOK with default headers values +func NewV1RoutesPutOK() *V1RoutesPutOK { + return &V1RoutesPutOK{} +} + +/* +V1RoutesPutOK describes a response with status code 200, with default header values. + +OK +*/ +type V1RoutesPutOK struct { + Payload *models.Route +} + +// IsSuccess returns true when this v1 routes put o k response has a 2xx status code +func (o *V1RoutesPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 routes put o k response has a 3xx status code +func (o *V1RoutesPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes put o k response has a 4xx status code +func (o *V1RoutesPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes put o k response has a 5xx status code +func (o *V1RoutesPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes put o k response a status code equal to that given +func (o *V1RoutesPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 routes put o k response +func (o *V1RoutesPutOK) Code() int { + return 200 +} + +func (o *V1RoutesPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutOK %s", 200, payload) +} + +func (o *V1RoutesPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutOK %s", 200, payload) +} + +func (o *V1RoutesPutOK) GetPayload() *models.Route { + return o.Payload +} + +func (o *V1RoutesPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Route) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPutBadRequest creates a V1RoutesPutBadRequest with default headers values +func NewV1RoutesPutBadRequest() *V1RoutesPutBadRequest { + return &V1RoutesPutBadRequest{} +} + +/* +V1RoutesPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1RoutesPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes put bad request response has a 2xx status code +func (o *V1RoutesPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes put bad request response has a 3xx status code +func (o *V1RoutesPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes put bad request response has a 4xx status code +func (o *V1RoutesPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes put bad request response has a 5xx status code +func (o *V1RoutesPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes put bad request response a status code equal to that given +func (o *V1RoutesPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 routes put bad request response +func (o *V1RoutesPutBadRequest) Code() int { + return 400 +} + +func (o *V1RoutesPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutBadRequest %s", 400, payload) +} + +func (o *V1RoutesPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutBadRequest %s", 400, payload) +} + +func (o *V1RoutesPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPutUnauthorized creates a V1RoutesPutUnauthorized with default headers values +func NewV1RoutesPutUnauthorized() *V1RoutesPutUnauthorized { + return &V1RoutesPutUnauthorized{} +} + +/* +V1RoutesPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1RoutesPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes put unauthorized response has a 2xx status code +func (o *V1RoutesPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes put unauthorized response has a 3xx status code +func (o *V1RoutesPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes put unauthorized response has a 4xx status code +func (o *V1RoutesPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes put unauthorized response has a 5xx status code +func (o *V1RoutesPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes put unauthorized response a status code equal to that given +func (o *V1RoutesPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 routes put unauthorized response +func (o *V1RoutesPutUnauthorized) Code() int { + return 401 +} + +func (o *V1RoutesPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutUnauthorized %s", 401, payload) +} + +func (o *V1RoutesPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutUnauthorized %s", 401, payload) +} + +func (o *V1RoutesPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPutForbidden creates a V1RoutesPutForbidden with default headers values +func NewV1RoutesPutForbidden() *V1RoutesPutForbidden { + return &V1RoutesPutForbidden{} +} + +/* +V1RoutesPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1RoutesPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes put forbidden response has a 2xx status code +func (o *V1RoutesPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes put forbidden response has a 3xx status code +func (o *V1RoutesPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes put forbidden response has a 4xx status code +func (o *V1RoutesPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes put forbidden response has a 5xx status code +func (o *V1RoutesPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes put forbidden response a status code equal to that given +func (o *V1RoutesPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 routes put forbidden response +func (o *V1RoutesPutForbidden) Code() int { + return 403 +} + +func (o *V1RoutesPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutForbidden %s", 403, payload) +} + +func (o *V1RoutesPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutForbidden %s", 403, payload) +} + +func (o *V1RoutesPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPutNotFound creates a V1RoutesPutNotFound with default headers values +func NewV1RoutesPutNotFound() *V1RoutesPutNotFound { + return &V1RoutesPutNotFound{} +} + +/* +V1RoutesPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1RoutesPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes put not found response has a 2xx status code +func (o *V1RoutesPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes put not found response has a 3xx status code +func (o *V1RoutesPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes put not found response has a 4xx status code +func (o *V1RoutesPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes put not found response has a 5xx status code +func (o *V1RoutesPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes put not found response a status code equal to that given +func (o *V1RoutesPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 routes put not found response +func (o *V1RoutesPutNotFound) Code() int { + return 404 +} + +func (o *V1RoutesPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutNotFound %s", 404, payload) +} + +func (o *V1RoutesPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutNotFound %s", 404, payload) +} + +func (o *V1RoutesPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPutUnprocessableEntity creates a V1RoutesPutUnprocessableEntity with default headers values +func NewV1RoutesPutUnprocessableEntity() *V1RoutesPutUnprocessableEntity { + return &V1RoutesPutUnprocessableEntity{} +} + +/* +V1RoutesPutUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1RoutesPutUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes put unprocessable entity response has a 2xx status code +func (o *V1RoutesPutUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes put unprocessable entity response has a 3xx status code +func (o *V1RoutesPutUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes put unprocessable entity response has a 4xx status code +func (o *V1RoutesPutUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes put unprocessable entity response has a 5xx status code +func (o *V1RoutesPutUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes put unprocessable entity response a status code equal to that given +func (o *V1RoutesPutUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 routes put unprocessable entity response +func (o *V1RoutesPutUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1RoutesPutUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutUnprocessableEntity %s", 422, payload) +} + +func (o *V1RoutesPutUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutUnprocessableEntity %s", 422, payload) +} + +func (o *V1RoutesPutUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPutUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesPutInternalServerError creates a V1RoutesPutInternalServerError with default headers values +func NewV1RoutesPutInternalServerError() *V1RoutesPutInternalServerError { + return &V1RoutesPutInternalServerError{} +} + +/* +V1RoutesPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1RoutesPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes put internal server error response has a 2xx status code +func (o *V1RoutesPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes put internal server error response has a 3xx status code +func (o *V1RoutesPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes put internal server error response has a 4xx status code +func (o *V1RoutesPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes put internal server error response has a 5xx status code +func (o *V1RoutesPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 routes put internal server error response a status code equal to that given +func (o *V1RoutesPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 routes put internal server error response +func (o *V1RoutesPutInternalServerError) Code() int { + return 500 +} + +func (o *V1RoutesPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutInternalServerError %s", 500, payload) +} + +func (o *V1RoutesPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/routes/{route_id}][%d] v1RoutesPutInternalServerError %s", 500, payload) +} + +func (o *V1RoutesPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_report_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_report_get_parameters.go new file mode 100644 index 000000000..cab7a51b3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_report_get_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1RoutesReportGetParams creates a new V1RoutesReportGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1RoutesReportGetParams() *V1RoutesReportGetParams { + return &V1RoutesReportGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1RoutesReportGetParamsWithTimeout creates a new V1RoutesReportGetParams object +// with the ability to set a timeout on a request. +func NewV1RoutesReportGetParamsWithTimeout(timeout time.Duration) *V1RoutesReportGetParams { + return &V1RoutesReportGetParams{ + timeout: timeout, + } +} + +// NewV1RoutesReportGetParamsWithContext creates a new V1RoutesReportGetParams object +// with the ability to set a context for a request. +func NewV1RoutesReportGetParamsWithContext(ctx context.Context) *V1RoutesReportGetParams { + return &V1RoutesReportGetParams{ + Context: ctx, + } +} + +// NewV1RoutesReportGetParamsWithHTTPClient creates a new V1RoutesReportGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1RoutesReportGetParamsWithHTTPClient(client *http.Client) *V1RoutesReportGetParams { + return &V1RoutesReportGetParams{ + HTTPClient: client, + } +} + +/* +V1RoutesReportGetParams contains all the parameters to send to the API endpoint + + for the v1 routes report get operation. + + Typically these are written to a http.Request. +*/ +type V1RoutesReportGetParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 routes report get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesReportGetParams) WithDefaults() *V1RoutesReportGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 routes report get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1RoutesReportGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 routes report get params +func (o *V1RoutesReportGetParams) WithTimeout(timeout time.Duration) *V1RoutesReportGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 routes report get params +func (o *V1RoutesReportGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 routes report get params +func (o *V1RoutesReportGetParams) WithContext(ctx context.Context) *V1RoutesReportGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 routes report get params +func (o *V1RoutesReportGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 routes report get params +func (o *V1RoutesReportGetParams) WithHTTPClient(client *http.Client) *V1RoutesReportGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 routes report get params +func (o *V1RoutesReportGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1RoutesReportGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_report_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_report_get_responses.go new file mode 100644 index 000000000..f0d51082a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/routes/v1_routes_report_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package routes + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1RoutesReportGetReader is a Reader for the V1RoutesReportGet structure. +type V1RoutesReportGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1RoutesReportGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1RoutesReportGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1RoutesReportGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1RoutesReportGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1RoutesReportGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1RoutesReportGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1RoutesReportGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/routes/report] v1.routes.report.get", response, response.Code()) + } +} + +// NewV1RoutesReportGetOK creates a V1RoutesReportGetOK with default headers values +func NewV1RoutesReportGetOK() *V1RoutesReportGetOK { + return &V1RoutesReportGetOK{} +} + +/* +V1RoutesReportGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1RoutesReportGetOK struct { + Payload *models.RouteReport +} + +// IsSuccess returns true when this v1 routes report get o k response has a 2xx status code +func (o *V1RoutesReportGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 routes report get o k response has a 3xx status code +func (o *V1RoutesReportGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes report get o k response has a 4xx status code +func (o *V1RoutesReportGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes report get o k response has a 5xx status code +func (o *V1RoutesReportGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes report get o k response a status code equal to that given +func (o *V1RoutesReportGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 routes report get o k response +func (o *V1RoutesReportGetOK) Code() int { + return 200 +} + +func (o *V1RoutesReportGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetOK %s", 200, payload) +} + +func (o *V1RoutesReportGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetOK %s", 200, payload) +} + +func (o *V1RoutesReportGetOK) GetPayload() *models.RouteReport { + return o.Payload +} + +func (o *V1RoutesReportGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.RouteReport) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesReportGetBadRequest creates a V1RoutesReportGetBadRequest with default headers values +func NewV1RoutesReportGetBadRequest() *V1RoutesReportGetBadRequest { + return &V1RoutesReportGetBadRequest{} +} + +/* +V1RoutesReportGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1RoutesReportGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes report get bad request response has a 2xx status code +func (o *V1RoutesReportGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes report get bad request response has a 3xx status code +func (o *V1RoutesReportGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes report get bad request response has a 4xx status code +func (o *V1RoutesReportGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes report get bad request response has a 5xx status code +func (o *V1RoutesReportGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes report get bad request response a status code equal to that given +func (o *V1RoutesReportGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 routes report get bad request response +func (o *V1RoutesReportGetBadRequest) Code() int { + return 400 +} + +func (o *V1RoutesReportGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetBadRequest %s", 400, payload) +} + +func (o *V1RoutesReportGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetBadRequest %s", 400, payload) +} + +func (o *V1RoutesReportGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesReportGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesReportGetUnauthorized creates a V1RoutesReportGetUnauthorized with default headers values +func NewV1RoutesReportGetUnauthorized() *V1RoutesReportGetUnauthorized { + return &V1RoutesReportGetUnauthorized{} +} + +/* +V1RoutesReportGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1RoutesReportGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes report get unauthorized response has a 2xx status code +func (o *V1RoutesReportGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes report get unauthorized response has a 3xx status code +func (o *V1RoutesReportGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes report get unauthorized response has a 4xx status code +func (o *V1RoutesReportGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes report get unauthorized response has a 5xx status code +func (o *V1RoutesReportGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes report get unauthorized response a status code equal to that given +func (o *V1RoutesReportGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 routes report get unauthorized response +func (o *V1RoutesReportGetUnauthorized) Code() int { + return 401 +} + +func (o *V1RoutesReportGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetUnauthorized %s", 401, payload) +} + +func (o *V1RoutesReportGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetUnauthorized %s", 401, payload) +} + +func (o *V1RoutesReportGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesReportGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesReportGetForbidden creates a V1RoutesReportGetForbidden with default headers values +func NewV1RoutesReportGetForbidden() *V1RoutesReportGetForbidden { + return &V1RoutesReportGetForbidden{} +} + +/* +V1RoutesReportGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1RoutesReportGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes report get forbidden response has a 2xx status code +func (o *V1RoutesReportGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes report get forbidden response has a 3xx status code +func (o *V1RoutesReportGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes report get forbidden response has a 4xx status code +func (o *V1RoutesReportGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes report get forbidden response has a 5xx status code +func (o *V1RoutesReportGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes report get forbidden response a status code equal to that given +func (o *V1RoutesReportGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 routes report get forbidden response +func (o *V1RoutesReportGetForbidden) Code() int { + return 403 +} + +func (o *V1RoutesReportGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetForbidden %s", 403, payload) +} + +func (o *V1RoutesReportGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetForbidden %s", 403, payload) +} + +func (o *V1RoutesReportGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesReportGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesReportGetNotFound creates a V1RoutesReportGetNotFound with default headers values +func NewV1RoutesReportGetNotFound() *V1RoutesReportGetNotFound { + return &V1RoutesReportGetNotFound{} +} + +/* +V1RoutesReportGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1RoutesReportGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes report get not found response has a 2xx status code +func (o *V1RoutesReportGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes report get not found response has a 3xx status code +func (o *V1RoutesReportGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes report get not found response has a 4xx status code +func (o *V1RoutesReportGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 routes report get not found response has a 5xx status code +func (o *V1RoutesReportGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 routes report get not found response a status code equal to that given +func (o *V1RoutesReportGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 routes report get not found response +func (o *V1RoutesReportGetNotFound) Code() int { + return 404 +} + +func (o *V1RoutesReportGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetNotFound %s", 404, payload) +} + +func (o *V1RoutesReportGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetNotFound %s", 404, payload) +} + +func (o *V1RoutesReportGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesReportGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1RoutesReportGetInternalServerError creates a V1RoutesReportGetInternalServerError with default headers values +func NewV1RoutesReportGetInternalServerError() *V1RoutesReportGetInternalServerError { + return &V1RoutesReportGetInternalServerError{} +} + +/* +V1RoutesReportGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1RoutesReportGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 routes report get internal server error response has a 2xx status code +func (o *V1RoutesReportGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 routes report get internal server error response has a 3xx status code +func (o *V1RoutesReportGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 routes report get internal server error response has a 4xx status code +func (o *V1RoutesReportGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 routes report get internal server error response has a 5xx status code +func (o *V1RoutesReportGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 routes report get internal server error response a status code equal to that given +func (o *V1RoutesReportGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 routes report get internal server error response +func (o *V1RoutesReportGetInternalServerError) Code() int { + return 500 +} + +func (o *V1RoutesReportGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetInternalServerError %s", 500, payload) +} + +func (o *V1RoutesReportGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/routes/report][%d] v1RoutesReportGetInternalServerError %s", 500, payload) +} + +func (o *V1RoutesReportGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1RoutesReportGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_binding_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_binding_parameters.go new file mode 100644 index 000000000..61d9b2d34 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_binding_parameters.go @@ -0,0 +1,279 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewServiceBindingBindingParams creates a new ServiceBindingBindingParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBindingBindingParams() *ServiceBindingBindingParams { + return &ServiceBindingBindingParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBindingBindingParamsWithTimeout creates a new ServiceBindingBindingParams object +// with the ability to set a timeout on a request. +func NewServiceBindingBindingParamsWithTimeout(timeout time.Duration) *ServiceBindingBindingParams { + return &ServiceBindingBindingParams{ + timeout: timeout, + } +} + +// NewServiceBindingBindingParamsWithContext creates a new ServiceBindingBindingParams object +// with the ability to set a context for a request. +func NewServiceBindingBindingParamsWithContext(ctx context.Context) *ServiceBindingBindingParams { + return &ServiceBindingBindingParams{ + Context: ctx, + } +} + +// NewServiceBindingBindingParamsWithHTTPClient creates a new ServiceBindingBindingParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBindingBindingParamsWithHTTPClient(client *http.Client) *ServiceBindingBindingParams { + return &ServiceBindingBindingParams{ + HTTPClient: client, + } +} + +/* +ServiceBindingBindingParams contains all the parameters to send to the API endpoint + + for the service binding binding operation. + + Typically these are written to a http.Request. +*/ +type ServiceBindingBindingParams struct { + + /* XBrokerAPIOriginatingIdentity. + + identity of the user that initiated the request from the Platform + */ + XBrokerAPIOriginatingIdentity *string + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* AcceptsIncomplete. + + asynchronous operations supported + */ + AcceptsIncomplete *bool + + /* BindingID. + + binding id of binding to create + */ + BindingID string + + /* Body. + + parameters for the requested service binding + */ + Body *models.ServiceBindingRequest + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service binding binding params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBindingBindingParams) WithDefaults() *ServiceBindingBindingParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service binding binding params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBindingBindingParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service binding binding params +func (o *ServiceBindingBindingParams) WithTimeout(timeout time.Duration) *ServiceBindingBindingParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service binding binding params +func (o *ServiceBindingBindingParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service binding binding params +func (o *ServiceBindingBindingParams) WithContext(ctx context.Context) *ServiceBindingBindingParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service binding binding params +func (o *ServiceBindingBindingParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service binding binding params +func (o *ServiceBindingBindingParams) WithHTTPClient(client *http.Client) *ServiceBindingBindingParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service binding binding params +func (o *ServiceBindingBindingParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIOriginatingIdentity adds the xBrokerAPIOriginatingIdentity to the service binding binding params +func (o *ServiceBindingBindingParams) WithXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) *ServiceBindingBindingParams { + o.SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity) + return o +} + +// SetXBrokerAPIOriginatingIdentity adds the xBrokerApiOriginatingIdentity to the service binding binding params +func (o *ServiceBindingBindingParams) SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) { + o.XBrokerAPIOriginatingIdentity = xBrokerAPIOriginatingIdentity +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service binding binding params +func (o *ServiceBindingBindingParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceBindingBindingParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service binding binding params +func (o *ServiceBindingBindingParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithAcceptsIncomplete adds the acceptsIncomplete to the service binding binding params +func (o *ServiceBindingBindingParams) WithAcceptsIncomplete(acceptsIncomplete *bool) *ServiceBindingBindingParams { + o.SetAcceptsIncomplete(acceptsIncomplete) + return o +} + +// SetAcceptsIncomplete adds the acceptsIncomplete to the service binding binding params +func (o *ServiceBindingBindingParams) SetAcceptsIncomplete(acceptsIncomplete *bool) { + o.AcceptsIncomplete = acceptsIncomplete +} + +// WithBindingID adds the bindingID to the service binding binding params +func (o *ServiceBindingBindingParams) WithBindingID(bindingID string) *ServiceBindingBindingParams { + o.SetBindingID(bindingID) + return o +} + +// SetBindingID adds the bindingId to the service binding binding params +func (o *ServiceBindingBindingParams) SetBindingID(bindingID string) { + o.BindingID = bindingID +} + +// WithBody adds the body to the service binding binding params +func (o *ServiceBindingBindingParams) WithBody(body *models.ServiceBindingRequest) *ServiceBindingBindingParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the service binding binding params +func (o *ServiceBindingBindingParams) SetBody(body *models.ServiceBindingRequest) { + o.Body = body +} + +// WithInstanceID adds the instanceID to the service binding binding params +func (o *ServiceBindingBindingParams) WithInstanceID(instanceID string) *ServiceBindingBindingParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service binding binding params +func (o *ServiceBindingBindingParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBindingBindingParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.XBrokerAPIOriginatingIdentity != nil { + + // header param X-Broker-API-Originating-Identity + if err := r.SetHeaderParam("X-Broker-API-Originating-Identity", *o.XBrokerAPIOriginatingIdentity); err != nil { + return err + } + } + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + if o.AcceptsIncomplete != nil { + + // query param accepts_incomplete + var qrAcceptsIncomplete bool + + if o.AcceptsIncomplete != nil { + qrAcceptsIncomplete = *o.AcceptsIncomplete + } + qAcceptsIncomplete := swag.FormatBool(qrAcceptsIncomplete) + if qAcceptsIncomplete != "" { + + if err := r.SetQueryParam("accepts_incomplete", qAcceptsIncomplete); err != nil { + return err + } + } + } + + // path param binding_id + if err := r.SetPathParam("binding_id", o.BindingID); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_binding_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_binding_responses.go new file mode 100644 index 000000000..d1040b7b1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_binding_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBindingBindingReader is a Reader for the ServiceBindingBinding structure. +type ServiceBindingBindingReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBindingBindingReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBindingBindingOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewServiceBindingBindingCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewServiceBindingBindingAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBindingBindingBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBindingBindingUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBindingBindingForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBindingBindingNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewServiceBindingBindingConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewServiceBindingBindingUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}] serviceBinding.binding", response, response.Code()) + } +} + +// NewServiceBindingBindingOK creates a ServiceBindingBindingOK with default headers values +func NewServiceBindingBindingOK() *ServiceBindingBindingOK { + return &ServiceBindingBindingOK{} +} + +/* +ServiceBindingBindingOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBindingBindingOK struct { + Payload *models.ServiceBinding +} + +// IsSuccess returns true when this service binding binding o k response has a 2xx status code +func (o *ServiceBindingBindingOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service binding binding o k response has a 3xx status code +func (o *ServiceBindingBindingOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding o k response has a 4xx status code +func (o *ServiceBindingBindingOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service binding binding o k response has a 5xx status code +func (o *ServiceBindingBindingOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding o k response a status code equal to that given +func (o *ServiceBindingBindingOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service binding binding o k response +func (o *ServiceBindingBindingOK) Code() int { + return 200 +} + +func (o *ServiceBindingBindingOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingOK %s", 200, payload) +} + +func (o *ServiceBindingBindingOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingOK %s", 200, payload) +} + +func (o *ServiceBindingBindingOK) GetPayload() *models.ServiceBinding { + return o.Payload +} + +func (o *ServiceBindingBindingOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceBinding) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingBindingCreated creates a ServiceBindingBindingCreated with default headers values +func NewServiceBindingBindingCreated() *ServiceBindingBindingCreated { + return &ServiceBindingBindingCreated{} +} + +/* +ServiceBindingBindingCreated describes a response with status code 201, with default header values. + +Created +*/ +type ServiceBindingBindingCreated struct { + Payload *models.ServiceBinding +} + +// IsSuccess returns true when this service binding binding created response has a 2xx status code +func (o *ServiceBindingBindingCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service binding binding created response has a 3xx status code +func (o *ServiceBindingBindingCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding created response has a 4xx status code +func (o *ServiceBindingBindingCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this service binding binding created response has a 5xx status code +func (o *ServiceBindingBindingCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding created response a status code equal to that given +func (o *ServiceBindingBindingCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the service binding binding created response +func (o *ServiceBindingBindingCreated) Code() int { + return 201 +} + +func (o *ServiceBindingBindingCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingCreated %s", 201, payload) +} + +func (o *ServiceBindingBindingCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingCreated %s", 201, payload) +} + +func (o *ServiceBindingBindingCreated) GetPayload() *models.ServiceBinding { + return o.Payload +} + +func (o *ServiceBindingBindingCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceBinding) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingBindingAccepted creates a ServiceBindingBindingAccepted with default headers values +func NewServiceBindingBindingAccepted() *ServiceBindingBindingAccepted { + return &ServiceBindingBindingAccepted{} +} + +/* +ServiceBindingBindingAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type ServiceBindingBindingAccepted struct { + Payload *models.AsyncOperation +} + +// IsSuccess returns true when this service binding binding accepted response has a 2xx status code +func (o *ServiceBindingBindingAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service binding binding accepted response has a 3xx status code +func (o *ServiceBindingBindingAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding accepted response has a 4xx status code +func (o *ServiceBindingBindingAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this service binding binding accepted response has a 5xx status code +func (o *ServiceBindingBindingAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding accepted response a status code equal to that given +func (o *ServiceBindingBindingAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the service binding binding accepted response +func (o *ServiceBindingBindingAccepted) Code() int { + return 202 +} + +func (o *ServiceBindingBindingAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingAccepted %s", 202, payload) +} + +func (o *ServiceBindingBindingAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingAccepted %s", 202, payload) +} + +func (o *ServiceBindingBindingAccepted) GetPayload() *models.AsyncOperation { + return o.Payload +} + +func (o *ServiceBindingBindingAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.AsyncOperation) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingBindingBadRequest creates a ServiceBindingBindingBadRequest with default headers values +func NewServiceBindingBindingBadRequest() *ServiceBindingBindingBadRequest { + return &ServiceBindingBindingBadRequest{} +} + +/* +ServiceBindingBindingBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBindingBindingBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding binding bad request response has a 2xx status code +func (o *ServiceBindingBindingBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding binding bad request response has a 3xx status code +func (o *ServiceBindingBindingBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding bad request response has a 4xx status code +func (o *ServiceBindingBindingBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding binding bad request response has a 5xx status code +func (o *ServiceBindingBindingBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding bad request response a status code equal to that given +func (o *ServiceBindingBindingBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service binding binding bad request response +func (o *ServiceBindingBindingBadRequest) Code() int { + return 400 +} + +func (o *ServiceBindingBindingBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingBadRequest %s", 400, payload) +} + +func (o *ServiceBindingBindingBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingBadRequest %s", 400, payload) +} + +func (o *ServiceBindingBindingBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingBindingBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingBindingUnauthorized creates a ServiceBindingBindingUnauthorized with default headers values +func NewServiceBindingBindingUnauthorized() *ServiceBindingBindingUnauthorized { + return &ServiceBindingBindingUnauthorized{} +} + +/* +ServiceBindingBindingUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBindingBindingUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding binding unauthorized response has a 2xx status code +func (o *ServiceBindingBindingUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding binding unauthorized response has a 3xx status code +func (o *ServiceBindingBindingUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding unauthorized response has a 4xx status code +func (o *ServiceBindingBindingUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding binding unauthorized response has a 5xx status code +func (o *ServiceBindingBindingUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding unauthorized response a status code equal to that given +func (o *ServiceBindingBindingUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service binding binding unauthorized response +func (o *ServiceBindingBindingUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBindingBindingUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingUnauthorized %s", 401, payload) +} + +func (o *ServiceBindingBindingUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingUnauthorized %s", 401, payload) +} + +func (o *ServiceBindingBindingUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingBindingUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingBindingForbidden creates a ServiceBindingBindingForbidden with default headers values +func NewServiceBindingBindingForbidden() *ServiceBindingBindingForbidden { + return &ServiceBindingBindingForbidden{} +} + +/* +ServiceBindingBindingForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBindingBindingForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding binding forbidden response has a 2xx status code +func (o *ServiceBindingBindingForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding binding forbidden response has a 3xx status code +func (o *ServiceBindingBindingForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding forbidden response has a 4xx status code +func (o *ServiceBindingBindingForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding binding forbidden response has a 5xx status code +func (o *ServiceBindingBindingForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding forbidden response a status code equal to that given +func (o *ServiceBindingBindingForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service binding binding forbidden response +func (o *ServiceBindingBindingForbidden) Code() int { + return 403 +} + +func (o *ServiceBindingBindingForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingForbidden %s", 403, payload) +} + +func (o *ServiceBindingBindingForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingForbidden %s", 403, payload) +} + +func (o *ServiceBindingBindingForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingBindingForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingBindingNotFound creates a ServiceBindingBindingNotFound with default headers values +func NewServiceBindingBindingNotFound() *ServiceBindingBindingNotFound { + return &ServiceBindingBindingNotFound{} +} + +/* +ServiceBindingBindingNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBindingBindingNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding binding not found response has a 2xx status code +func (o *ServiceBindingBindingNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding binding not found response has a 3xx status code +func (o *ServiceBindingBindingNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding not found response has a 4xx status code +func (o *ServiceBindingBindingNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding binding not found response has a 5xx status code +func (o *ServiceBindingBindingNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding not found response a status code equal to that given +func (o *ServiceBindingBindingNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service binding binding not found response +func (o *ServiceBindingBindingNotFound) Code() int { + return 404 +} + +func (o *ServiceBindingBindingNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingNotFound %s", 404, payload) +} + +func (o *ServiceBindingBindingNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingNotFound %s", 404, payload) +} + +func (o *ServiceBindingBindingNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingBindingNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingBindingConflict creates a ServiceBindingBindingConflict with default headers values +func NewServiceBindingBindingConflict() *ServiceBindingBindingConflict { + return &ServiceBindingBindingConflict{} +} + +/* +ServiceBindingBindingConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type ServiceBindingBindingConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding binding conflict response has a 2xx status code +func (o *ServiceBindingBindingConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding binding conflict response has a 3xx status code +func (o *ServiceBindingBindingConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding conflict response has a 4xx status code +func (o *ServiceBindingBindingConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding binding conflict response has a 5xx status code +func (o *ServiceBindingBindingConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding conflict response a status code equal to that given +func (o *ServiceBindingBindingConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the service binding binding conflict response +func (o *ServiceBindingBindingConflict) Code() int { + return 409 +} + +func (o *ServiceBindingBindingConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingConflict %s", 409, payload) +} + +func (o *ServiceBindingBindingConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingConflict %s", 409, payload) +} + +func (o *ServiceBindingBindingConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingBindingConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingBindingUnprocessableEntity creates a ServiceBindingBindingUnprocessableEntity with default headers values +func NewServiceBindingBindingUnprocessableEntity() *ServiceBindingBindingUnprocessableEntity { + return &ServiceBindingBindingUnprocessableEntity{} +} + +/* +ServiceBindingBindingUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type ServiceBindingBindingUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding binding unprocessable entity response has a 2xx status code +func (o *ServiceBindingBindingUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding binding unprocessable entity response has a 3xx status code +func (o *ServiceBindingBindingUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding binding unprocessable entity response has a 4xx status code +func (o *ServiceBindingBindingUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding binding unprocessable entity response has a 5xx status code +func (o *ServiceBindingBindingUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding binding unprocessable entity response a status code equal to that given +func (o *ServiceBindingBindingUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the service binding binding unprocessable entity response +func (o *ServiceBindingBindingUnprocessableEntity) Code() int { + return 422 +} + +func (o *ServiceBindingBindingUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceBindingBindingUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingBindingUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceBindingBindingUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingBindingUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_get_parameters.go new file mode 100644 index 000000000..399963c80 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_get_parameters.go @@ -0,0 +1,220 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBindingGetParams creates a new ServiceBindingGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBindingGetParams() *ServiceBindingGetParams { + return &ServiceBindingGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBindingGetParamsWithTimeout creates a new ServiceBindingGetParams object +// with the ability to set a timeout on a request. +func NewServiceBindingGetParamsWithTimeout(timeout time.Duration) *ServiceBindingGetParams { + return &ServiceBindingGetParams{ + timeout: timeout, + } +} + +// NewServiceBindingGetParamsWithContext creates a new ServiceBindingGetParams object +// with the ability to set a context for a request. +func NewServiceBindingGetParamsWithContext(ctx context.Context) *ServiceBindingGetParams { + return &ServiceBindingGetParams{ + Context: ctx, + } +} + +// NewServiceBindingGetParamsWithHTTPClient creates a new ServiceBindingGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBindingGetParamsWithHTTPClient(client *http.Client) *ServiceBindingGetParams { + return &ServiceBindingGetParams{ + HTTPClient: client, + } +} + +/* +ServiceBindingGetParams contains all the parameters to send to the API endpoint + + for the service binding get operation. + + Typically these are written to a http.Request. +*/ +type ServiceBindingGetParams struct { + + /* XBrokerAPIOriginatingIdentity. + + identity of the user that initiated the request from the Platform + */ + XBrokerAPIOriginatingIdentity *string + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* BindingID. + + binding id of binding to create + */ + BindingID string + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service binding get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBindingGetParams) WithDefaults() *ServiceBindingGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service binding get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBindingGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service binding get params +func (o *ServiceBindingGetParams) WithTimeout(timeout time.Duration) *ServiceBindingGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service binding get params +func (o *ServiceBindingGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service binding get params +func (o *ServiceBindingGetParams) WithContext(ctx context.Context) *ServiceBindingGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service binding get params +func (o *ServiceBindingGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service binding get params +func (o *ServiceBindingGetParams) WithHTTPClient(client *http.Client) *ServiceBindingGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service binding get params +func (o *ServiceBindingGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIOriginatingIdentity adds the xBrokerAPIOriginatingIdentity to the service binding get params +func (o *ServiceBindingGetParams) WithXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) *ServiceBindingGetParams { + o.SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity) + return o +} + +// SetXBrokerAPIOriginatingIdentity adds the xBrokerApiOriginatingIdentity to the service binding get params +func (o *ServiceBindingGetParams) SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) { + o.XBrokerAPIOriginatingIdentity = xBrokerAPIOriginatingIdentity +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service binding get params +func (o *ServiceBindingGetParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceBindingGetParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service binding get params +func (o *ServiceBindingGetParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithBindingID adds the bindingID to the service binding get params +func (o *ServiceBindingGetParams) WithBindingID(bindingID string) *ServiceBindingGetParams { + o.SetBindingID(bindingID) + return o +} + +// SetBindingID adds the bindingId to the service binding get params +func (o *ServiceBindingGetParams) SetBindingID(bindingID string) { + o.BindingID = bindingID +} + +// WithInstanceID adds the instanceID to the service binding get params +func (o *ServiceBindingGetParams) WithInstanceID(instanceID string) *ServiceBindingGetParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service binding get params +func (o *ServiceBindingGetParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBindingGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.XBrokerAPIOriginatingIdentity != nil { + + // header param X-Broker-API-Originating-Identity + if err := r.SetHeaderParam("X-Broker-API-Originating-Identity", *o.XBrokerAPIOriginatingIdentity); err != nil { + return err + } + } + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + // path param binding_id + if err := r.SetPathParam("binding_id", o.BindingID); err != nil { + return err + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_get_responses.go new file mode 100644 index 000000000..a180e417a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_get_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBindingGetReader is a Reader for the ServiceBindingGet structure. +type ServiceBindingGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBindingGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBindingGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBindingGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBindingGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBindingGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBindingGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}] serviceBinding.get", response, response.Code()) + } +} + +// NewServiceBindingGetOK creates a ServiceBindingGetOK with default headers values +func NewServiceBindingGetOK() *ServiceBindingGetOK { + return &ServiceBindingGetOK{} +} + +/* +ServiceBindingGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBindingGetOK struct { + Payload *models.ServiceBindingResource +} + +// IsSuccess returns true when this service binding get o k response has a 2xx status code +func (o *ServiceBindingGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service binding get o k response has a 3xx status code +func (o *ServiceBindingGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding get o k response has a 4xx status code +func (o *ServiceBindingGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service binding get o k response has a 5xx status code +func (o *ServiceBindingGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding get o k response a status code equal to that given +func (o *ServiceBindingGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service binding get o k response +func (o *ServiceBindingGetOK) Code() int { + return 200 +} + +func (o *ServiceBindingGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetOK %s", 200, payload) +} + +func (o *ServiceBindingGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetOK %s", 200, payload) +} + +func (o *ServiceBindingGetOK) GetPayload() *models.ServiceBindingResource { + return o.Payload +} + +func (o *ServiceBindingGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceBindingResource) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingGetBadRequest creates a ServiceBindingGetBadRequest with default headers values +func NewServiceBindingGetBadRequest() *ServiceBindingGetBadRequest { + return &ServiceBindingGetBadRequest{} +} + +/* +ServiceBindingGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBindingGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding get bad request response has a 2xx status code +func (o *ServiceBindingGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding get bad request response has a 3xx status code +func (o *ServiceBindingGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding get bad request response has a 4xx status code +func (o *ServiceBindingGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding get bad request response has a 5xx status code +func (o *ServiceBindingGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding get bad request response a status code equal to that given +func (o *ServiceBindingGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service binding get bad request response +func (o *ServiceBindingGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceBindingGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetBadRequest %s", 400, payload) +} + +func (o *ServiceBindingGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetBadRequest %s", 400, payload) +} + +func (o *ServiceBindingGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingGetUnauthorized creates a ServiceBindingGetUnauthorized with default headers values +func NewServiceBindingGetUnauthorized() *ServiceBindingGetUnauthorized { + return &ServiceBindingGetUnauthorized{} +} + +/* +ServiceBindingGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBindingGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding get unauthorized response has a 2xx status code +func (o *ServiceBindingGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding get unauthorized response has a 3xx status code +func (o *ServiceBindingGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding get unauthorized response has a 4xx status code +func (o *ServiceBindingGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding get unauthorized response has a 5xx status code +func (o *ServiceBindingGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding get unauthorized response a status code equal to that given +func (o *ServiceBindingGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service binding get unauthorized response +func (o *ServiceBindingGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBindingGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBindingGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBindingGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingGetForbidden creates a ServiceBindingGetForbidden with default headers values +func NewServiceBindingGetForbidden() *ServiceBindingGetForbidden { + return &ServiceBindingGetForbidden{} +} + +/* +ServiceBindingGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBindingGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding get forbidden response has a 2xx status code +func (o *ServiceBindingGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding get forbidden response has a 3xx status code +func (o *ServiceBindingGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding get forbidden response has a 4xx status code +func (o *ServiceBindingGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding get forbidden response has a 5xx status code +func (o *ServiceBindingGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding get forbidden response a status code equal to that given +func (o *ServiceBindingGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service binding get forbidden response +func (o *ServiceBindingGetForbidden) Code() int { + return 403 +} + +func (o *ServiceBindingGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetForbidden %s", 403, payload) +} + +func (o *ServiceBindingGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetForbidden %s", 403, payload) +} + +func (o *ServiceBindingGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingGetNotFound creates a ServiceBindingGetNotFound with default headers values +func NewServiceBindingGetNotFound() *ServiceBindingGetNotFound { + return &ServiceBindingGetNotFound{} +} + +/* +ServiceBindingGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBindingGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding get not found response has a 2xx status code +func (o *ServiceBindingGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding get not found response has a 3xx status code +func (o *ServiceBindingGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding get not found response has a 4xx status code +func (o *ServiceBindingGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding get not found response has a 5xx status code +func (o *ServiceBindingGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding get not found response a status code equal to that given +func (o *ServiceBindingGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service binding get not found response +func (o *ServiceBindingGetNotFound) Code() int { + return 404 +} + +func (o *ServiceBindingGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetNotFound %s", 404, payload) +} + +func (o *ServiceBindingGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingGetNotFound %s", 404, payload) +} + +func (o *ServiceBindingGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_last_operation_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_last_operation_get_parameters.go new file mode 100644 index 000000000..061552784 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_last_operation_get_parameters.go @@ -0,0 +1,297 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBindingLastOperationGetParams creates a new ServiceBindingLastOperationGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBindingLastOperationGetParams() *ServiceBindingLastOperationGetParams { + return &ServiceBindingLastOperationGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBindingLastOperationGetParamsWithTimeout creates a new ServiceBindingLastOperationGetParams object +// with the ability to set a timeout on a request. +func NewServiceBindingLastOperationGetParamsWithTimeout(timeout time.Duration) *ServiceBindingLastOperationGetParams { + return &ServiceBindingLastOperationGetParams{ + timeout: timeout, + } +} + +// NewServiceBindingLastOperationGetParamsWithContext creates a new ServiceBindingLastOperationGetParams object +// with the ability to set a context for a request. +func NewServiceBindingLastOperationGetParamsWithContext(ctx context.Context) *ServiceBindingLastOperationGetParams { + return &ServiceBindingLastOperationGetParams{ + Context: ctx, + } +} + +// NewServiceBindingLastOperationGetParamsWithHTTPClient creates a new ServiceBindingLastOperationGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBindingLastOperationGetParamsWithHTTPClient(client *http.Client) *ServiceBindingLastOperationGetParams { + return &ServiceBindingLastOperationGetParams{ + HTTPClient: client, + } +} + +/* +ServiceBindingLastOperationGetParams contains all the parameters to send to the API endpoint + + for the service binding last operation get operation. + + Typically these are written to a http.Request. +*/ +type ServiceBindingLastOperationGetParams struct { + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* BindingID. + + binding id of binding to create + */ + BindingID string + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + /* Operation. + + a provided identifier for the operation + */ + Operation *string + + /* PlanID. + + id of the plan associated with the instance + */ + PlanID *string + + /* ServiceID. + + id of the service associated with the instance + */ + ServiceID *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service binding last operation get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBindingLastOperationGetParams) WithDefaults() *ServiceBindingLastOperationGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service binding last operation get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBindingLastOperationGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithTimeout(timeout time.Duration) *ServiceBindingLastOperationGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithContext(ctx context.Context) *ServiceBindingLastOperationGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithHTTPClient(client *http.Client) *ServiceBindingLastOperationGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceBindingLastOperationGetParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithBindingID adds the bindingID to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithBindingID(bindingID string) *ServiceBindingLastOperationGetParams { + o.SetBindingID(bindingID) + return o +} + +// SetBindingID adds the bindingId to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetBindingID(bindingID string) { + o.BindingID = bindingID +} + +// WithInstanceID adds the instanceID to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithInstanceID(instanceID string) *ServiceBindingLastOperationGetParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WithOperation adds the operation to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithOperation(operation *string) *ServiceBindingLastOperationGetParams { + o.SetOperation(operation) + return o +} + +// SetOperation adds the operation to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetOperation(operation *string) { + o.Operation = operation +} + +// WithPlanID adds the planID to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithPlanID(planID *string) *ServiceBindingLastOperationGetParams { + o.SetPlanID(planID) + return o +} + +// SetPlanID adds the planId to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetPlanID(planID *string) { + o.PlanID = planID +} + +// WithServiceID adds the serviceID to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) WithServiceID(serviceID *string) *ServiceBindingLastOperationGetParams { + o.SetServiceID(serviceID) + return o +} + +// SetServiceID adds the serviceId to the service binding last operation get params +func (o *ServiceBindingLastOperationGetParams) SetServiceID(serviceID *string) { + o.ServiceID = serviceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBindingLastOperationGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + // path param binding_id + if err := r.SetPathParam("binding_id", o.BindingID); err != nil { + return err + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if o.Operation != nil { + + // query param operation + var qrOperation string + + if o.Operation != nil { + qrOperation = *o.Operation + } + qOperation := qrOperation + if qOperation != "" { + + if err := r.SetQueryParam("operation", qOperation); err != nil { + return err + } + } + } + + if o.PlanID != nil { + + // query param plan_id + var qrPlanID string + + if o.PlanID != nil { + qrPlanID = *o.PlanID + } + qPlanID := qrPlanID + if qPlanID != "" { + + if err := r.SetQueryParam("plan_id", qPlanID); err != nil { + return err + } + } + } + + if o.ServiceID != nil { + + // query param service_id + var qrServiceID string + + if o.ServiceID != nil { + qrServiceID = *o.ServiceID + } + qServiceID := qrServiceID + if qServiceID != "" { + + if err := r.SetQueryParam("service_id", qServiceID); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_last_operation_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_last_operation_get_responses.go new file mode 100644 index 000000000..01e5ac47f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_last_operation_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBindingLastOperationGetReader is a Reader for the ServiceBindingLastOperationGet structure. +type ServiceBindingLastOperationGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBindingLastOperationGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBindingLastOperationGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBindingLastOperationGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBindingLastOperationGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBindingLastOperationGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBindingLastOperationGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewServiceBindingLastOperationGetGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation] serviceBinding.lastOperation.get", response, response.Code()) + } +} + +// NewServiceBindingLastOperationGetOK creates a ServiceBindingLastOperationGetOK with default headers values +func NewServiceBindingLastOperationGetOK() *ServiceBindingLastOperationGetOK { + return &ServiceBindingLastOperationGetOK{} +} + +/* +ServiceBindingLastOperationGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBindingLastOperationGetOK struct { + Payload *models.LastOperationResource +} + +// IsSuccess returns true when this service binding last operation get o k response has a 2xx status code +func (o *ServiceBindingLastOperationGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service binding last operation get o k response has a 3xx status code +func (o *ServiceBindingLastOperationGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding last operation get o k response has a 4xx status code +func (o *ServiceBindingLastOperationGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service binding last operation get o k response has a 5xx status code +func (o *ServiceBindingLastOperationGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding last operation get o k response a status code equal to that given +func (o *ServiceBindingLastOperationGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service binding last operation get o k response +func (o *ServiceBindingLastOperationGetOK) Code() int { + return 200 +} + +func (o *ServiceBindingLastOperationGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetOK %s", 200, payload) +} + +func (o *ServiceBindingLastOperationGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetOK %s", 200, payload) +} + +func (o *ServiceBindingLastOperationGetOK) GetPayload() *models.LastOperationResource { + return o.Payload +} + +func (o *ServiceBindingLastOperationGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.LastOperationResource) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingLastOperationGetBadRequest creates a ServiceBindingLastOperationGetBadRequest with default headers values +func NewServiceBindingLastOperationGetBadRequest() *ServiceBindingLastOperationGetBadRequest { + return &ServiceBindingLastOperationGetBadRequest{} +} + +/* +ServiceBindingLastOperationGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBindingLastOperationGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding last operation get bad request response has a 2xx status code +func (o *ServiceBindingLastOperationGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding last operation get bad request response has a 3xx status code +func (o *ServiceBindingLastOperationGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding last operation get bad request response has a 4xx status code +func (o *ServiceBindingLastOperationGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding last operation get bad request response has a 5xx status code +func (o *ServiceBindingLastOperationGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding last operation get bad request response a status code equal to that given +func (o *ServiceBindingLastOperationGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service binding last operation get bad request response +func (o *ServiceBindingLastOperationGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceBindingLastOperationGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetBadRequest %s", 400, payload) +} + +func (o *ServiceBindingLastOperationGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetBadRequest %s", 400, payload) +} + +func (o *ServiceBindingLastOperationGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingLastOperationGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingLastOperationGetUnauthorized creates a ServiceBindingLastOperationGetUnauthorized with default headers values +func NewServiceBindingLastOperationGetUnauthorized() *ServiceBindingLastOperationGetUnauthorized { + return &ServiceBindingLastOperationGetUnauthorized{} +} + +/* +ServiceBindingLastOperationGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBindingLastOperationGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding last operation get unauthorized response has a 2xx status code +func (o *ServiceBindingLastOperationGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding last operation get unauthorized response has a 3xx status code +func (o *ServiceBindingLastOperationGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding last operation get unauthorized response has a 4xx status code +func (o *ServiceBindingLastOperationGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding last operation get unauthorized response has a 5xx status code +func (o *ServiceBindingLastOperationGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding last operation get unauthorized response a status code equal to that given +func (o *ServiceBindingLastOperationGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service binding last operation get unauthorized response +func (o *ServiceBindingLastOperationGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBindingLastOperationGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBindingLastOperationGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBindingLastOperationGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingLastOperationGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingLastOperationGetForbidden creates a ServiceBindingLastOperationGetForbidden with default headers values +func NewServiceBindingLastOperationGetForbidden() *ServiceBindingLastOperationGetForbidden { + return &ServiceBindingLastOperationGetForbidden{} +} + +/* +ServiceBindingLastOperationGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBindingLastOperationGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding last operation get forbidden response has a 2xx status code +func (o *ServiceBindingLastOperationGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding last operation get forbidden response has a 3xx status code +func (o *ServiceBindingLastOperationGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding last operation get forbidden response has a 4xx status code +func (o *ServiceBindingLastOperationGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding last operation get forbidden response has a 5xx status code +func (o *ServiceBindingLastOperationGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding last operation get forbidden response a status code equal to that given +func (o *ServiceBindingLastOperationGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service binding last operation get forbidden response +func (o *ServiceBindingLastOperationGetForbidden) Code() int { + return 403 +} + +func (o *ServiceBindingLastOperationGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetForbidden %s", 403, payload) +} + +func (o *ServiceBindingLastOperationGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetForbidden %s", 403, payload) +} + +func (o *ServiceBindingLastOperationGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingLastOperationGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingLastOperationGetNotFound creates a ServiceBindingLastOperationGetNotFound with default headers values +func NewServiceBindingLastOperationGetNotFound() *ServiceBindingLastOperationGetNotFound { + return &ServiceBindingLastOperationGetNotFound{} +} + +/* +ServiceBindingLastOperationGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBindingLastOperationGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding last operation get not found response has a 2xx status code +func (o *ServiceBindingLastOperationGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding last operation get not found response has a 3xx status code +func (o *ServiceBindingLastOperationGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding last operation get not found response has a 4xx status code +func (o *ServiceBindingLastOperationGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding last operation get not found response has a 5xx status code +func (o *ServiceBindingLastOperationGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding last operation get not found response a status code equal to that given +func (o *ServiceBindingLastOperationGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service binding last operation get not found response +func (o *ServiceBindingLastOperationGetNotFound) Code() int { + return 404 +} + +func (o *ServiceBindingLastOperationGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetNotFound %s", 404, payload) +} + +func (o *ServiceBindingLastOperationGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetNotFound %s", 404, payload) +} + +func (o *ServiceBindingLastOperationGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingLastOperationGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingLastOperationGetGone creates a ServiceBindingLastOperationGetGone with default headers values +func NewServiceBindingLastOperationGetGone() *ServiceBindingLastOperationGetGone { + return &ServiceBindingLastOperationGetGone{} +} + +/* +ServiceBindingLastOperationGetGone describes a response with status code 410, with default header values. + +Gone +*/ +type ServiceBindingLastOperationGetGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding last operation get gone response has a 2xx status code +func (o *ServiceBindingLastOperationGetGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding last operation get gone response has a 3xx status code +func (o *ServiceBindingLastOperationGetGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding last operation get gone response has a 4xx status code +func (o *ServiceBindingLastOperationGetGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding last operation get gone response has a 5xx status code +func (o *ServiceBindingLastOperationGetGone) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding last operation get gone response a status code equal to that given +func (o *ServiceBindingLastOperationGetGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the service binding last operation get gone response +func (o *ServiceBindingLastOperationGetGone) Code() int { + return 410 +} + +func (o *ServiceBindingLastOperationGetGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetGone %s", 410, payload) +} + +func (o *ServiceBindingLastOperationGetGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation][%d] serviceBindingLastOperationGetGone %s", 410, payload) +} + +func (o *ServiceBindingLastOperationGetGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingLastOperationGetGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_unbinding_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_unbinding_parameters.go new file mode 100644 index 000000000..091881ba3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_unbinding_parameters.go @@ -0,0 +1,309 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewServiceBindingUnbindingParams creates a new ServiceBindingUnbindingParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBindingUnbindingParams() *ServiceBindingUnbindingParams { + return &ServiceBindingUnbindingParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBindingUnbindingParamsWithTimeout creates a new ServiceBindingUnbindingParams object +// with the ability to set a timeout on a request. +func NewServiceBindingUnbindingParamsWithTimeout(timeout time.Duration) *ServiceBindingUnbindingParams { + return &ServiceBindingUnbindingParams{ + timeout: timeout, + } +} + +// NewServiceBindingUnbindingParamsWithContext creates a new ServiceBindingUnbindingParams object +// with the ability to set a context for a request. +func NewServiceBindingUnbindingParamsWithContext(ctx context.Context) *ServiceBindingUnbindingParams { + return &ServiceBindingUnbindingParams{ + Context: ctx, + } +} + +// NewServiceBindingUnbindingParamsWithHTTPClient creates a new ServiceBindingUnbindingParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBindingUnbindingParamsWithHTTPClient(client *http.Client) *ServiceBindingUnbindingParams { + return &ServiceBindingUnbindingParams{ + HTTPClient: client, + } +} + +/* +ServiceBindingUnbindingParams contains all the parameters to send to the API endpoint + + for the service binding unbinding operation. + + Typically these are written to a http.Request. +*/ +type ServiceBindingUnbindingParams struct { + + /* XBrokerAPIOriginatingIdentity. + + identity of the user that initiated the request from the Platform + */ + XBrokerAPIOriginatingIdentity *string + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* AcceptsIncomplete. + + asynchronous operations supported + */ + AcceptsIncomplete *bool + + /* BindingID. + + binding id of binding to create + */ + BindingID string + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + /* PlanID. + + id of the plan associated with the instance being deleted + */ + PlanID string + + /* ServiceID. + + id of the service associated with the instance being deleted + */ + ServiceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service binding unbinding params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBindingUnbindingParams) WithDefaults() *ServiceBindingUnbindingParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service binding unbinding params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBindingUnbindingParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithTimeout(timeout time.Duration) *ServiceBindingUnbindingParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithContext(ctx context.Context) *ServiceBindingUnbindingParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithHTTPClient(client *http.Client) *ServiceBindingUnbindingParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIOriginatingIdentity adds the xBrokerAPIOriginatingIdentity to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) *ServiceBindingUnbindingParams { + o.SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity) + return o +} + +// SetXBrokerAPIOriginatingIdentity adds the xBrokerApiOriginatingIdentity to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) { + o.XBrokerAPIOriginatingIdentity = xBrokerAPIOriginatingIdentity +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceBindingUnbindingParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithAcceptsIncomplete adds the acceptsIncomplete to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithAcceptsIncomplete(acceptsIncomplete *bool) *ServiceBindingUnbindingParams { + o.SetAcceptsIncomplete(acceptsIncomplete) + return o +} + +// SetAcceptsIncomplete adds the acceptsIncomplete to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetAcceptsIncomplete(acceptsIncomplete *bool) { + o.AcceptsIncomplete = acceptsIncomplete +} + +// WithBindingID adds the bindingID to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithBindingID(bindingID string) *ServiceBindingUnbindingParams { + o.SetBindingID(bindingID) + return o +} + +// SetBindingID adds the bindingId to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetBindingID(bindingID string) { + o.BindingID = bindingID +} + +// WithInstanceID adds the instanceID to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithInstanceID(instanceID string) *ServiceBindingUnbindingParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WithPlanID adds the planID to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithPlanID(planID string) *ServiceBindingUnbindingParams { + o.SetPlanID(planID) + return o +} + +// SetPlanID adds the planId to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetPlanID(planID string) { + o.PlanID = planID +} + +// WithServiceID adds the serviceID to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) WithServiceID(serviceID string) *ServiceBindingUnbindingParams { + o.SetServiceID(serviceID) + return o +} + +// SetServiceID adds the serviceId to the service binding unbinding params +func (o *ServiceBindingUnbindingParams) SetServiceID(serviceID string) { + o.ServiceID = serviceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBindingUnbindingParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.XBrokerAPIOriginatingIdentity != nil { + + // header param X-Broker-API-Originating-Identity + if err := r.SetHeaderParam("X-Broker-API-Originating-Identity", *o.XBrokerAPIOriginatingIdentity); err != nil { + return err + } + } + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + if o.AcceptsIncomplete != nil { + + // query param accepts_incomplete + var qrAcceptsIncomplete bool + + if o.AcceptsIncomplete != nil { + qrAcceptsIncomplete = *o.AcceptsIncomplete + } + qAcceptsIncomplete := swag.FormatBool(qrAcceptsIncomplete) + if qAcceptsIncomplete != "" { + + if err := r.SetQueryParam("accepts_incomplete", qAcceptsIncomplete); err != nil { + return err + } + } + } + + // path param binding_id + if err := r.SetPathParam("binding_id", o.BindingID); err != nil { + return err + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + // query param plan_id + qrPlanID := o.PlanID + qPlanID := qrPlanID + if qPlanID != "" { + + if err := r.SetQueryParam("plan_id", qPlanID); err != nil { + return err + } + } + + // query param service_id + qrServiceID := o.ServiceID + qServiceID := qrServiceID + if qServiceID != "" { + + if err := r.SetQueryParam("service_id", qServiceID); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_unbinding_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_unbinding_responses.go new file mode 100644 index 000000000..c2a96c4bc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_binding_unbinding_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBindingUnbindingReader is a Reader for the ServiceBindingUnbinding structure. +type ServiceBindingUnbindingReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBindingUnbindingReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBindingUnbindingOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewServiceBindingUnbindingAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBindingUnbindingBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBindingUnbindingUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBindingUnbindingForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBindingUnbindingNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewServiceBindingUnbindingGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}] serviceBinding.unbinding", response, response.Code()) + } +} + +// NewServiceBindingUnbindingOK creates a ServiceBindingUnbindingOK with default headers values +func NewServiceBindingUnbindingOK() *ServiceBindingUnbindingOK { + return &ServiceBindingUnbindingOK{} +} + +/* +ServiceBindingUnbindingOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBindingUnbindingOK struct { + Payload models.Object +} + +// IsSuccess returns true when this service binding unbinding o k response has a 2xx status code +func (o *ServiceBindingUnbindingOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service binding unbinding o k response has a 3xx status code +func (o *ServiceBindingUnbindingOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding unbinding o k response has a 4xx status code +func (o *ServiceBindingUnbindingOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service binding unbinding o k response has a 5xx status code +func (o *ServiceBindingUnbindingOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding unbinding o k response a status code equal to that given +func (o *ServiceBindingUnbindingOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service binding unbinding o k response +func (o *ServiceBindingUnbindingOK) Code() int { + return 200 +} + +func (o *ServiceBindingUnbindingOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingOK %s", 200, payload) +} + +func (o *ServiceBindingUnbindingOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingOK %s", 200, payload) +} + +func (o *ServiceBindingUnbindingOK) GetPayload() models.Object { + return o.Payload +} + +func (o *ServiceBindingUnbindingOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingUnbindingAccepted creates a ServiceBindingUnbindingAccepted with default headers values +func NewServiceBindingUnbindingAccepted() *ServiceBindingUnbindingAccepted { + return &ServiceBindingUnbindingAccepted{} +} + +/* +ServiceBindingUnbindingAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type ServiceBindingUnbindingAccepted struct { + Payload *models.AsyncOperation +} + +// IsSuccess returns true when this service binding unbinding accepted response has a 2xx status code +func (o *ServiceBindingUnbindingAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service binding unbinding accepted response has a 3xx status code +func (o *ServiceBindingUnbindingAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding unbinding accepted response has a 4xx status code +func (o *ServiceBindingUnbindingAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this service binding unbinding accepted response has a 5xx status code +func (o *ServiceBindingUnbindingAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding unbinding accepted response a status code equal to that given +func (o *ServiceBindingUnbindingAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the service binding unbinding accepted response +func (o *ServiceBindingUnbindingAccepted) Code() int { + return 202 +} + +func (o *ServiceBindingUnbindingAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingAccepted %s", 202, payload) +} + +func (o *ServiceBindingUnbindingAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingAccepted %s", 202, payload) +} + +func (o *ServiceBindingUnbindingAccepted) GetPayload() *models.AsyncOperation { + return o.Payload +} + +func (o *ServiceBindingUnbindingAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.AsyncOperation) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingUnbindingBadRequest creates a ServiceBindingUnbindingBadRequest with default headers values +func NewServiceBindingUnbindingBadRequest() *ServiceBindingUnbindingBadRequest { + return &ServiceBindingUnbindingBadRequest{} +} + +/* +ServiceBindingUnbindingBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBindingUnbindingBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding unbinding bad request response has a 2xx status code +func (o *ServiceBindingUnbindingBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding unbinding bad request response has a 3xx status code +func (o *ServiceBindingUnbindingBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding unbinding bad request response has a 4xx status code +func (o *ServiceBindingUnbindingBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding unbinding bad request response has a 5xx status code +func (o *ServiceBindingUnbindingBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding unbinding bad request response a status code equal to that given +func (o *ServiceBindingUnbindingBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service binding unbinding bad request response +func (o *ServiceBindingUnbindingBadRequest) Code() int { + return 400 +} + +func (o *ServiceBindingUnbindingBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingBadRequest %s", 400, payload) +} + +func (o *ServiceBindingUnbindingBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingBadRequest %s", 400, payload) +} + +func (o *ServiceBindingUnbindingBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingUnbindingBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingUnbindingUnauthorized creates a ServiceBindingUnbindingUnauthorized with default headers values +func NewServiceBindingUnbindingUnauthorized() *ServiceBindingUnbindingUnauthorized { + return &ServiceBindingUnbindingUnauthorized{} +} + +/* +ServiceBindingUnbindingUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBindingUnbindingUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding unbinding unauthorized response has a 2xx status code +func (o *ServiceBindingUnbindingUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding unbinding unauthorized response has a 3xx status code +func (o *ServiceBindingUnbindingUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding unbinding unauthorized response has a 4xx status code +func (o *ServiceBindingUnbindingUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding unbinding unauthorized response has a 5xx status code +func (o *ServiceBindingUnbindingUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding unbinding unauthorized response a status code equal to that given +func (o *ServiceBindingUnbindingUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service binding unbinding unauthorized response +func (o *ServiceBindingUnbindingUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBindingUnbindingUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingUnauthorized %s", 401, payload) +} + +func (o *ServiceBindingUnbindingUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingUnauthorized %s", 401, payload) +} + +func (o *ServiceBindingUnbindingUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingUnbindingUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingUnbindingForbidden creates a ServiceBindingUnbindingForbidden with default headers values +func NewServiceBindingUnbindingForbidden() *ServiceBindingUnbindingForbidden { + return &ServiceBindingUnbindingForbidden{} +} + +/* +ServiceBindingUnbindingForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBindingUnbindingForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding unbinding forbidden response has a 2xx status code +func (o *ServiceBindingUnbindingForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding unbinding forbidden response has a 3xx status code +func (o *ServiceBindingUnbindingForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding unbinding forbidden response has a 4xx status code +func (o *ServiceBindingUnbindingForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding unbinding forbidden response has a 5xx status code +func (o *ServiceBindingUnbindingForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding unbinding forbidden response a status code equal to that given +func (o *ServiceBindingUnbindingForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service binding unbinding forbidden response +func (o *ServiceBindingUnbindingForbidden) Code() int { + return 403 +} + +func (o *ServiceBindingUnbindingForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingForbidden %s", 403, payload) +} + +func (o *ServiceBindingUnbindingForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingForbidden %s", 403, payload) +} + +func (o *ServiceBindingUnbindingForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingUnbindingForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingUnbindingNotFound creates a ServiceBindingUnbindingNotFound with default headers values +func NewServiceBindingUnbindingNotFound() *ServiceBindingUnbindingNotFound { + return &ServiceBindingUnbindingNotFound{} +} + +/* +ServiceBindingUnbindingNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBindingUnbindingNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding unbinding not found response has a 2xx status code +func (o *ServiceBindingUnbindingNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding unbinding not found response has a 3xx status code +func (o *ServiceBindingUnbindingNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding unbinding not found response has a 4xx status code +func (o *ServiceBindingUnbindingNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding unbinding not found response has a 5xx status code +func (o *ServiceBindingUnbindingNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding unbinding not found response a status code equal to that given +func (o *ServiceBindingUnbindingNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service binding unbinding not found response +func (o *ServiceBindingUnbindingNotFound) Code() int { + return 404 +} + +func (o *ServiceBindingUnbindingNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingNotFound %s", 404, payload) +} + +func (o *ServiceBindingUnbindingNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingNotFound %s", 404, payload) +} + +func (o *ServiceBindingUnbindingNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingUnbindingNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBindingUnbindingGone creates a ServiceBindingUnbindingGone with default headers values +func NewServiceBindingUnbindingGone() *ServiceBindingUnbindingGone { + return &ServiceBindingUnbindingGone{} +} + +/* +ServiceBindingUnbindingGone describes a response with status code 410, with default header values. + +Gone +*/ +type ServiceBindingUnbindingGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this service binding unbinding gone response has a 2xx status code +func (o *ServiceBindingUnbindingGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service binding unbinding gone response has a 3xx status code +func (o *ServiceBindingUnbindingGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service binding unbinding gone response has a 4xx status code +func (o *ServiceBindingUnbindingGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this service binding unbinding gone response has a 5xx status code +func (o *ServiceBindingUnbindingGone) IsServerError() bool { + return false +} + +// IsCode returns true when this service binding unbinding gone response a status code equal to that given +func (o *ServiceBindingUnbindingGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the service binding unbinding gone response +func (o *ServiceBindingUnbindingGone) Code() int { + return 410 +} + +func (o *ServiceBindingUnbindingGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingGone %s", 410, payload) +} + +func (o *ServiceBindingUnbindingGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}][%d] serviceBindingUnbindingGone %s", 410, payload) +} + +func (o *ServiceBindingUnbindingGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBindingUnbindingGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_bindings_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_bindings_client.go new file mode 100644 index 000000000..59b29aa6a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_bindings/service_bindings_client.go @@ -0,0 +1,251 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_bindings + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new service bindings API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new service bindings API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new service bindings API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for service bindings API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + ServiceBindingBinding(params *ServiceBindingBindingParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBindingBindingOK, *ServiceBindingBindingCreated, *ServiceBindingBindingAccepted, error) + + ServiceBindingGet(params *ServiceBindingGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBindingGetOK, error) + + ServiceBindingLastOperationGet(params *ServiceBindingLastOperationGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBindingLastOperationGetOK, error) + + ServiceBindingUnbinding(params *ServiceBindingUnbindingParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBindingUnbindingOK, *ServiceBindingUnbindingAccepted, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +ServiceBindingBinding generations of a service binding +*/ +func (a *Client) ServiceBindingBinding(params *ServiceBindingBindingParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBindingBindingOK, *ServiceBindingBindingCreated, *ServiceBindingBindingAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBindingBindingParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBinding.binding", + Method: "PUT", + PathPattern: "/v2/service_instances/{instance_id}/service_bindings/{binding_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBindingBindingReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *ServiceBindingBindingOK: + return value, nil, nil, nil + case *ServiceBindingBindingCreated: + return nil, value, nil, nil + case *ServiceBindingBindingAccepted: + return nil, nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for service_bindings: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBindingGet gets a service binding +*/ +func (a *Client) ServiceBindingGet(params *ServiceBindingGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBindingGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBindingGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBinding.get", + Method: "GET", + PathPattern: "/v2/service_instances/{instance_id}/service_bindings/{binding_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBindingGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBindingGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBinding.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBindingLastOperationGet lasts requested operation state for service binding +*/ +func (a *Client) ServiceBindingLastOperationGet(params *ServiceBindingLastOperationGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBindingLastOperationGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBindingLastOperationGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBinding.lastOperation.get", + Method: "GET", + PathPattern: "/v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBindingLastOperationGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBindingLastOperationGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBinding.lastOperation.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceBindingUnbinding deprovisions of a service binding +*/ +func (a *Client) ServiceBindingUnbinding(params *ServiceBindingUnbindingParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceBindingUnbindingOK, *ServiceBindingUnbindingAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBindingUnbindingParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBinding.unbinding", + Method: "DELETE", + PathPattern: "/v2/service_instances/{instance_id}/service_bindings/{binding_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBindingUnbindingReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *ServiceBindingUnbindingOK: + return value, nil, nil + case *ServiceBindingUnbindingAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for service_bindings: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_deprovision_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_deprovision_parameters.go new file mode 100644 index 000000000..45aa2dc2b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_deprovision_parameters.go @@ -0,0 +1,287 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewServiceInstanceDeprovisionParams creates a new ServiceInstanceDeprovisionParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceInstanceDeprovisionParams() *ServiceInstanceDeprovisionParams { + return &ServiceInstanceDeprovisionParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceInstanceDeprovisionParamsWithTimeout creates a new ServiceInstanceDeprovisionParams object +// with the ability to set a timeout on a request. +func NewServiceInstanceDeprovisionParamsWithTimeout(timeout time.Duration) *ServiceInstanceDeprovisionParams { + return &ServiceInstanceDeprovisionParams{ + timeout: timeout, + } +} + +// NewServiceInstanceDeprovisionParamsWithContext creates a new ServiceInstanceDeprovisionParams object +// with the ability to set a context for a request. +func NewServiceInstanceDeprovisionParamsWithContext(ctx context.Context) *ServiceInstanceDeprovisionParams { + return &ServiceInstanceDeprovisionParams{ + Context: ctx, + } +} + +// NewServiceInstanceDeprovisionParamsWithHTTPClient creates a new ServiceInstanceDeprovisionParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceInstanceDeprovisionParamsWithHTTPClient(client *http.Client) *ServiceInstanceDeprovisionParams { + return &ServiceInstanceDeprovisionParams{ + HTTPClient: client, + } +} + +/* +ServiceInstanceDeprovisionParams contains all the parameters to send to the API endpoint + + for the service instance deprovision operation. + + Typically these are written to a http.Request. +*/ +type ServiceInstanceDeprovisionParams struct { + + /* XBrokerAPIOriginatingIdentity. + + identity of the user that initiated the request from the Platform + */ + XBrokerAPIOriginatingIdentity *string + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* AcceptsIncomplete. + + asynchronous operations supported + */ + AcceptsIncomplete *bool + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + /* PlanID. + + id of the plan associated with the instance being deleted + */ + PlanID string + + /* ServiceID. + + id of the service associated with the instance being deleted + */ + ServiceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service instance deprovision params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceDeprovisionParams) WithDefaults() *ServiceInstanceDeprovisionParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service instance deprovision params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceDeprovisionParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithTimeout(timeout time.Duration) *ServiceInstanceDeprovisionParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithContext(ctx context.Context) *ServiceInstanceDeprovisionParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithHTTPClient(client *http.Client) *ServiceInstanceDeprovisionParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIOriginatingIdentity adds the xBrokerAPIOriginatingIdentity to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) *ServiceInstanceDeprovisionParams { + o.SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity) + return o +} + +// SetXBrokerAPIOriginatingIdentity adds the xBrokerApiOriginatingIdentity to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) { + o.XBrokerAPIOriginatingIdentity = xBrokerAPIOriginatingIdentity +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceInstanceDeprovisionParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithAcceptsIncomplete adds the acceptsIncomplete to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithAcceptsIncomplete(acceptsIncomplete *bool) *ServiceInstanceDeprovisionParams { + o.SetAcceptsIncomplete(acceptsIncomplete) + return o +} + +// SetAcceptsIncomplete adds the acceptsIncomplete to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetAcceptsIncomplete(acceptsIncomplete *bool) { + o.AcceptsIncomplete = acceptsIncomplete +} + +// WithInstanceID adds the instanceID to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithInstanceID(instanceID string) *ServiceInstanceDeprovisionParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WithPlanID adds the planID to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithPlanID(planID string) *ServiceInstanceDeprovisionParams { + o.SetPlanID(planID) + return o +} + +// SetPlanID adds the planId to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetPlanID(planID string) { + o.PlanID = planID +} + +// WithServiceID adds the serviceID to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) WithServiceID(serviceID string) *ServiceInstanceDeprovisionParams { + o.SetServiceID(serviceID) + return o +} + +// SetServiceID adds the serviceId to the service instance deprovision params +func (o *ServiceInstanceDeprovisionParams) SetServiceID(serviceID string) { + o.ServiceID = serviceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceInstanceDeprovisionParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.XBrokerAPIOriginatingIdentity != nil { + + // header param X-Broker-API-Originating-Identity + if err := r.SetHeaderParam("X-Broker-API-Originating-Identity", *o.XBrokerAPIOriginatingIdentity); err != nil { + return err + } + } + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + if o.AcceptsIncomplete != nil { + + // query param accepts_incomplete + var qrAcceptsIncomplete bool + + if o.AcceptsIncomplete != nil { + qrAcceptsIncomplete = *o.AcceptsIncomplete + } + qAcceptsIncomplete := swag.FormatBool(qrAcceptsIncomplete) + if qAcceptsIncomplete != "" { + + if err := r.SetQueryParam("accepts_incomplete", qAcceptsIncomplete); err != nil { + return err + } + } + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + // query param plan_id + qrPlanID := o.PlanID + qPlanID := qrPlanID + if qPlanID != "" { + + if err := r.SetQueryParam("plan_id", qPlanID); err != nil { + return err + } + } + + // query param service_id + qrServiceID := o.ServiceID + qServiceID := qrServiceID + if qServiceID != "" { + + if err := r.SetQueryParam("service_id", qServiceID); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_deprovision_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_deprovision_responses.go new file mode 100644 index 000000000..3afc8332d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_deprovision_responses.go @@ -0,0 +1,637 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceInstanceDeprovisionReader is a Reader for the ServiceInstanceDeprovision structure. +type ServiceInstanceDeprovisionReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceInstanceDeprovisionReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceInstanceDeprovisionOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewServiceInstanceDeprovisionAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceInstanceDeprovisionBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceInstanceDeprovisionUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceInstanceDeprovisionForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceInstanceDeprovisionNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewServiceInstanceDeprovisionGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewServiceInstanceDeprovisionUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v2/service_instances/{instance_id}] serviceInstance.deprovision", response, response.Code()) + } +} + +// NewServiceInstanceDeprovisionOK creates a ServiceInstanceDeprovisionOK with default headers values +func NewServiceInstanceDeprovisionOK() *ServiceInstanceDeprovisionOK { + return &ServiceInstanceDeprovisionOK{} +} + +/* +ServiceInstanceDeprovisionOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceInstanceDeprovisionOK struct { + Payload models.Object +} + +// IsSuccess returns true when this service instance deprovision o k response has a 2xx status code +func (o *ServiceInstanceDeprovisionOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance deprovision o k response has a 3xx status code +func (o *ServiceInstanceDeprovisionOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance deprovision o k response has a 4xx status code +func (o *ServiceInstanceDeprovisionOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance deprovision o k response has a 5xx status code +func (o *ServiceInstanceDeprovisionOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance deprovision o k response a status code equal to that given +func (o *ServiceInstanceDeprovisionOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service instance deprovision o k response +func (o *ServiceInstanceDeprovisionOK) Code() int { + return 200 +} + +func (o *ServiceInstanceDeprovisionOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionOK %s", 200, payload) +} + +func (o *ServiceInstanceDeprovisionOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionOK %s", 200, payload) +} + +func (o *ServiceInstanceDeprovisionOK) GetPayload() models.Object { + return o.Payload +} + +func (o *ServiceInstanceDeprovisionOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceDeprovisionAccepted creates a ServiceInstanceDeprovisionAccepted with default headers values +func NewServiceInstanceDeprovisionAccepted() *ServiceInstanceDeprovisionAccepted { + return &ServiceInstanceDeprovisionAccepted{} +} + +/* +ServiceInstanceDeprovisionAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type ServiceInstanceDeprovisionAccepted struct { + Payload *models.AsyncOperation +} + +// IsSuccess returns true when this service instance deprovision accepted response has a 2xx status code +func (o *ServiceInstanceDeprovisionAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance deprovision accepted response has a 3xx status code +func (o *ServiceInstanceDeprovisionAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance deprovision accepted response has a 4xx status code +func (o *ServiceInstanceDeprovisionAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance deprovision accepted response has a 5xx status code +func (o *ServiceInstanceDeprovisionAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance deprovision accepted response a status code equal to that given +func (o *ServiceInstanceDeprovisionAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the service instance deprovision accepted response +func (o *ServiceInstanceDeprovisionAccepted) Code() int { + return 202 +} + +func (o *ServiceInstanceDeprovisionAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionAccepted %s", 202, payload) +} + +func (o *ServiceInstanceDeprovisionAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionAccepted %s", 202, payload) +} + +func (o *ServiceInstanceDeprovisionAccepted) GetPayload() *models.AsyncOperation { + return o.Payload +} + +func (o *ServiceInstanceDeprovisionAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.AsyncOperation) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceDeprovisionBadRequest creates a ServiceInstanceDeprovisionBadRequest with default headers values +func NewServiceInstanceDeprovisionBadRequest() *ServiceInstanceDeprovisionBadRequest { + return &ServiceInstanceDeprovisionBadRequest{} +} + +/* +ServiceInstanceDeprovisionBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceInstanceDeprovisionBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance deprovision bad request response has a 2xx status code +func (o *ServiceInstanceDeprovisionBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance deprovision bad request response has a 3xx status code +func (o *ServiceInstanceDeprovisionBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance deprovision bad request response has a 4xx status code +func (o *ServiceInstanceDeprovisionBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance deprovision bad request response has a 5xx status code +func (o *ServiceInstanceDeprovisionBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance deprovision bad request response a status code equal to that given +func (o *ServiceInstanceDeprovisionBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service instance deprovision bad request response +func (o *ServiceInstanceDeprovisionBadRequest) Code() int { + return 400 +} + +func (o *ServiceInstanceDeprovisionBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceDeprovisionBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceDeprovisionBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceDeprovisionBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceDeprovisionUnauthorized creates a ServiceInstanceDeprovisionUnauthorized with default headers values +func NewServiceInstanceDeprovisionUnauthorized() *ServiceInstanceDeprovisionUnauthorized { + return &ServiceInstanceDeprovisionUnauthorized{} +} + +/* +ServiceInstanceDeprovisionUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceInstanceDeprovisionUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance deprovision unauthorized response has a 2xx status code +func (o *ServiceInstanceDeprovisionUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance deprovision unauthorized response has a 3xx status code +func (o *ServiceInstanceDeprovisionUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance deprovision unauthorized response has a 4xx status code +func (o *ServiceInstanceDeprovisionUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance deprovision unauthorized response has a 5xx status code +func (o *ServiceInstanceDeprovisionUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance deprovision unauthorized response a status code equal to that given +func (o *ServiceInstanceDeprovisionUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service instance deprovision unauthorized response +func (o *ServiceInstanceDeprovisionUnauthorized) Code() int { + return 401 +} + +func (o *ServiceInstanceDeprovisionUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceDeprovisionUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceDeprovisionUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceDeprovisionUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceDeprovisionForbidden creates a ServiceInstanceDeprovisionForbidden with default headers values +func NewServiceInstanceDeprovisionForbidden() *ServiceInstanceDeprovisionForbidden { + return &ServiceInstanceDeprovisionForbidden{} +} + +/* +ServiceInstanceDeprovisionForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceInstanceDeprovisionForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance deprovision forbidden response has a 2xx status code +func (o *ServiceInstanceDeprovisionForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance deprovision forbidden response has a 3xx status code +func (o *ServiceInstanceDeprovisionForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance deprovision forbidden response has a 4xx status code +func (o *ServiceInstanceDeprovisionForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance deprovision forbidden response has a 5xx status code +func (o *ServiceInstanceDeprovisionForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance deprovision forbidden response a status code equal to that given +func (o *ServiceInstanceDeprovisionForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service instance deprovision forbidden response +func (o *ServiceInstanceDeprovisionForbidden) Code() int { + return 403 +} + +func (o *ServiceInstanceDeprovisionForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionForbidden %s", 403, payload) +} + +func (o *ServiceInstanceDeprovisionForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionForbidden %s", 403, payload) +} + +func (o *ServiceInstanceDeprovisionForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceDeprovisionForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceDeprovisionNotFound creates a ServiceInstanceDeprovisionNotFound with default headers values +func NewServiceInstanceDeprovisionNotFound() *ServiceInstanceDeprovisionNotFound { + return &ServiceInstanceDeprovisionNotFound{} +} + +/* +ServiceInstanceDeprovisionNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceInstanceDeprovisionNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance deprovision not found response has a 2xx status code +func (o *ServiceInstanceDeprovisionNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance deprovision not found response has a 3xx status code +func (o *ServiceInstanceDeprovisionNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance deprovision not found response has a 4xx status code +func (o *ServiceInstanceDeprovisionNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance deprovision not found response has a 5xx status code +func (o *ServiceInstanceDeprovisionNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance deprovision not found response a status code equal to that given +func (o *ServiceInstanceDeprovisionNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service instance deprovision not found response +func (o *ServiceInstanceDeprovisionNotFound) Code() int { + return 404 +} + +func (o *ServiceInstanceDeprovisionNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionNotFound %s", 404, payload) +} + +func (o *ServiceInstanceDeprovisionNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionNotFound %s", 404, payload) +} + +func (o *ServiceInstanceDeprovisionNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceDeprovisionNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceDeprovisionGone creates a ServiceInstanceDeprovisionGone with default headers values +func NewServiceInstanceDeprovisionGone() *ServiceInstanceDeprovisionGone { + return &ServiceInstanceDeprovisionGone{} +} + +/* +ServiceInstanceDeprovisionGone describes a response with status code 410, with default header values. + +Gone +*/ +type ServiceInstanceDeprovisionGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance deprovision gone response has a 2xx status code +func (o *ServiceInstanceDeprovisionGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance deprovision gone response has a 3xx status code +func (o *ServiceInstanceDeprovisionGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance deprovision gone response has a 4xx status code +func (o *ServiceInstanceDeprovisionGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance deprovision gone response has a 5xx status code +func (o *ServiceInstanceDeprovisionGone) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance deprovision gone response a status code equal to that given +func (o *ServiceInstanceDeprovisionGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the service instance deprovision gone response +func (o *ServiceInstanceDeprovisionGone) Code() int { + return 410 +} + +func (o *ServiceInstanceDeprovisionGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionGone %s", 410, payload) +} + +func (o *ServiceInstanceDeprovisionGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionGone %s", 410, payload) +} + +func (o *ServiceInstanceDeprovisionGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceDeprovisionGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceDeprovisionUnprocessableEntity creates a ServiceInstanceDeprovisionUnprocessableEntity with default headers values +func NewServiceInstanceDeprovisionUnprocessableEntity() *ServiceInstanceDeprovisionUnprocessableEntity { + return &ServiceInstanceDeprovisionUnprocessableEntity{} +} + +/* +ServiceInstanceDeprovisionUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type ServiceInstanceDeprovisionUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance deprovision unprocessable entity response has a 2xx status code +func (o *ServiceInstanceDeprovisionUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance deprovision unprocessable entity response has a 3xx status code +func (o *ServiceInstanceDeprovisionUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance deprovision unprocessable entity response has a 4xx status code +func (o *ServiceInstanceDeprovisionUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance deprovision unprocessable entity response has a 5xx status code +func (o *ServiceInstanceDeprovisionUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance deprovision unprocessable entity response a status code equal to that given +func (o *ServiceInstanceDeprovisionUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the service instance deprovision unprocessable entity response +func (o *ServiceInstanceDeprovisionUnprocessableEntity) Code() int { + return 422 +} + +func (o *ServiceInstanceDeprovisionUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceInstanceDeprovisionUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v2/service_instances/{instance_id}][%d] serviceInstanceDeprovisionUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceInstanceDeprovisionUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceDeprovisionUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_get_parameters.go new file mode 100644 index 000000000..c931d3c17 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_get_parameters.go @@ -0,0 +1,198 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceInstanceGetParams creates a new ServiceInstanceGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceInstanceGetParams() *ServiceInstanceGetParams { + return &ServiceInstanceGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceInstanceGetParamsWithTimeout creates a new ServiceInstanceGetParams object +// with the ability to set a timeout on a request. +func NewServiceInstanceGetParamsWithTimeout(timeout time.Duration) *ServiceInstanceGetParams { + return &ServiceInstanceGetParams{ + timeout: timeout, + } +} + +// NewServiceInstanceGetParamsWithContext creates a new ServiceInstanceGetParams object +// with the ability to set a context for a request. +func NewServiceInstanceGetParamsWithContext(ctx context.Context) *ServiceInstanceGetParams { + return &ServiceInstanceGetParams{ + Context: ctx, + } +} + +// NewServiceInstanceGetParamsWithHTTPClient creates a new ServiceInstanceGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceInstanceGetParamsWithHTTPClient(client *http.Client) *ServiceInstanceGetParams { + return &ServiceInstanceGetParams{ + HTTPClient: client, + } +} + +/* +ServiceInstanceGetParams contains all the parameters to send to the API endpoint + + for the service instance get operation. + + Typically these are written to a http.Request. +*/ +type ServiceInstanceGetParams struct { + + /* XBrokerAPIOriginatingIdentity. + + identity of the user that initiated the request from the Platform + */ + XBrokerAPIOriginatingIdentity *string + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service instance get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceGetParams) WithDefaults() *ServiceInstanceGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service instance get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service instance get params +func (o *ServiceInstanceGetParams) WithTimeout(timeout time.Duration) *ServiceInstanceGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service instance get params +func (o *ServiceInstanceGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service instance get params +func (o *ServiceInstanceGetParams) WithContext(ctx context.Context) *ServiceInstanceGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service instance get params +func (o *ServiceInstanceGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service instance get params +func (o *ServiceInstanceGetParams) WithHTTPClient(client *http.Client) *ServiceInstanceGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service instance get params +func (o *ServiceInstanceGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIOriginatingIdentity adds the xBrokerAPIOriginatingIdentity to the service instance get params +func (o *ServiceInstanceGetParams) WithXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) *ServiceInstanceGetParams { + o.SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity) + return o +} + +// SetXBrokerAPIOriginatingIdentity adds the xBrokerApiOriginatingIdentity to the service instance get params +func (o *ServiceInstanceGetParams) SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) { + o.XBrokerAPIOriginatingIdentity = xBrokerAPIOriginatingIdentity +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service instance get params +func (o *ServiceInstanceGetParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceInstanceGetParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service instance get params +func (o *ServiceInstanceGetParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithInstanceID adds the instanceID to the service instance get params +func (o *ServiceInstanceGetParams) WithInstanceID(instanceID string) *ServiceInstanceGetParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service instance get params +func (o *ServiceInstanceGetParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceInstanceGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.XBrokerAPIOriginatingIdentity != nil { + + // header param X-Broker-API-Originating-Identity + if err := r.SetHeaderParam("X-Broker-API-Originating-Identity", *o.XBrokerAPIOriginatingIdentity); err != nil { + return err + } + } + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_get_responses.go new file mode 100644 index 000000000..1ce7ee66f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_get_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceInstanceGetReader is a Reader for the ServiceInstanceGet structure. +type ServiceInstanceGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceInstanceGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceInstanceGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceInstanceGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceInstanceGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceInstanceGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceInstanceGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v2/service_instances/{instance_id}] serviceInstance.get", response, response.Code()) + } +} + +// NewServiceInstanceGetOK creates a ServiceInstanceGetOK with default headers values +func NewServiceInstanceGetOK() *ServiceInstanceGetOK { + return &ServiceInstanceGetOK{} +} + +/* +ServiceInstanceGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceInstanceGetOK struct { + Payload *models.ServiceInstanceResource +} + +// IsSuccess returns true when this service instance get o k response has a 2xx status code +func (o *ServiceInstanceGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance get o k response has a 3xx status code +func (o *ServiceInstanceGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance get o k response has a 4xx status code +func (o *ServiceInstanceGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance get o k response has a 5xx status code +func (o *ServiceInstanceGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance get o k response a status code equal to that given +func (o *ServiceInstanceGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service instance get o k response +func (o *ServiceInstanceGetOK) Code() int { + return 200 +} + +func (o *ServiceInstanceGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetOK %s", 200, payload) +} + +func (o *ServiceInstanceGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetOK %s", 200, payload) +} + +func (o *ServiceInstanceGetOK) GetPayload() *models.ServiceInstanceResource { + return o.Payload +} + +func (o *ServiceInstanceGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceInstanceResource) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceGetBadRequest creates a ServiceInstanceGetBadRequest with default headers values +func NewServiceInstanceGetBadRequest() *ServiceInstanceGetBadRequest { + return &ServiceInstanceGetBadRequest{} +} + +/* +ServiceInstanceGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceInstanceGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance get bad request response has a 2xx status code +func (o *ServiceInstanceGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance get bad request response has a 3xx status code +func (o *ServiceInstanceGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance get bad request response has a 4xx status code +func (o *ServiceInstanceGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance get bad request response has a 5xx status code +func (o *ServiceInstanceGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance get bad request response a status code equal to that given +func (o *ServiceInstanceGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service instance get bad request response +func (o *ServiceInstanceGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceInstanceGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceGetUnauthorized creates a ServiceInstanceGetUnauthorized with default headers values +func NewServiceInstanceGetUnauthorized() *ServiceInstanceGetUnauthorized { + return &ServiceInstanceGetUnauthorized{} +} + +/* +ServiceInstanceGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceInstanceGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance get unauthorized response has a 2xx status code +func (o *ServiceInstanceGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance get unauthorized response has a 3xx status code +func (o *ServiceInstanceGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance get unauthorized response has a 4xx status code +func (o *ServiceInstanceGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance get unauthorized response has a 5xx status code +func (o *ServiceInstanceGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance get unauthorized response a status code equal to that given +func (o *ServiceInstanceGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service instance get unauthorized response +func (o *ServiceInstanceGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceInstanceGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceGetForbidden creates a ServiceInstanceGetForbidden with default headers values +func NewServiceInstanceGetForbidden() *ServiceInstanceGetForbidden { + return &ServiceInstanceGetForbidden{} +} + +/* +ServiceInstanceGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceInstanceGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance get forbidden response has a 2xx status code +func (o *ServiceInstanceGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance get forbidden response has a 3xx status code +func (o *ServiceInstanceGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance get forbidden response has a 4xx status code +func (o *ServiceInstanceGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance get forbidden response has a 5xx status code +func (o *ServiceInstanceGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance get forbidden response a status code equal to that given +func (o *ServiceInstanceGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service instance get forbidden response +func (o *ServiceInstanceGetForbidden) Code() int { + return 403 +} + +func (o *ServiceInstanceGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetForbidden %s", 403, payload) +} + +func (o *ServiceInstanceGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetForbidden %s", 403, payload) +} + +func (o *ServiceInstanceGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceGetNotFound creates a ServiceInstanceGetNotFound with default headers values +func NewServiceInstanceGetNotFound() *ServiceInstanceGetNotFound { + return &ServiceInstanceGetNotFound{} +} + +/* +ServiceInstanceGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceInstanceGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance get not found response has a 2xx status code +func (o *ServiceInstanceGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance get not found response has a 3xx status code +func (o *ServiceInstanceGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance get not found response has a 4xx status code +func (o *ServiceInstanceGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance get not found response has a 5xx status code +func (o *ServiceInstanceGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance get not found response a status code equal to that given +func (o *ServiceInstanceGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service instance get not found response +func (o *ServiceInstanceGetNotFound) Code() int { + return 404 +} + +func (o *ServiceInstanceGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetNotFound %s", 404, payload) +} + +func (o *ServiceInstanceGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}][%d] serviceInstanceGetNotFound %s", 404, payload) +} + +func (o *ServiceInstanceGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_last_operation_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_last_operation_get_parameters.go new file mode 100644 index 000000000..9a08b5212 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_last_operation_get_parameters.go @@ -0,0 +1,275 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceInstanceLastOperationGetParams creates a new ServiceInstanceLastOperationGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceInstanceLastOperationGetParams() *ServiceInstanceLastOperationGetParams { + return &ServiceInstanceLastOperationGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceInstanceLastOperationGetParamsWithTimeout creates a new ServiceInstanceLastOperationGetParams object +// with the ability to set a timeout on a request. +func NewServiceInstanceLastOperationGetParamsWithTimeout(timeout time.Duration) *ServiceInstanceLastOperationGetParams { + return &ServiceInstanceLastOperationGetParams{ + timeout: timeout, + } +} + +// NewServiceInstanceLastOperationGetParamsWithContext creates a new ServiceInstanceLastOperationGetParams object +// with the ability to set a context for a request. +func NewServiceInstanceLastOperationGetParamsWithContext(ctx context.Context) *ServiceInstanceLastOperationGetParams { + return &ServiceInstanceLastOperationGetParams{ + Context: ctx, + } +} + +// NewServiceInstanceLastOperationGetParamsWithHTTPClient creates a new ServiceInstanceLastOperationGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceInstanceLastOperationGetParamsWithHTTPClient(client *http.Client) *ServiceInstanceLastOperationGetParams { + return &ServiceInstanceLastOperationGetParams{ + HTTPClient: client, + } +} + +/* +ServiceInstanceLastOperationGetParams contains all the parameters to send to the API endpoint + + for the service instance last operation get operation. + + Typically these are written to a http.Request. +*/ +type ServiceInstanceLastOperationGetParams struct { + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + /* Operation. + + a provided identifier for the operation + */ + Operation *string + + /* PlanID. + + id of the plan associated with the instance + */ + PlanID *string + + /* ServiceID. + + id of the service associated with the instance + */ + ServiceID *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service instance last operation get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceLastOperationGetParams) WithDefaults() *ServiceInstanceLastOperationGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service instance last operation get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceLastOperationGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) WithTimeout(timeout time.Duration) *ServiceInstanceLastOperationGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) WithContext(ctx context.Context) *ServiceInstanceLastOperationGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) WithHTTPClient(client *http.Client) *ServiceInstanceLastOperationGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceInstanceLastOperationGetParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithInstanceID adds the instanceID to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) WithInstanceID(instanceID string) *ServiceInstanceLastOperationGetParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WithOperation adds the operation to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) WithOperation(operation *string) *ServiceInstanceLastOperationGetParams { + o.SetOperation(operation) + return o +} + +// SetOperation adds the operation to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) SetOperation(operation *string) { + o.Operation = operation +} + +// WithPlanID adds the planID to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) WithPlanID(planID *string) *ServiceInstanceLastOperationGetParams { + o.SetPlanID(planID) + return o +} + +// SetPlanID adds the planId to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) SetPlanID(planID *string) { + o.PlanID = planID +} + +// WithServiceID adds the serviceID to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) WithServiceID(serviceID *string) *ServiceInstanceLastOperationGetParams { + o.SetServiceID(serviceID) + return o +} + +// SetServiceID adds the serviceId to the service instance last operation get params +func (o *ServiceInstanceLastOperationGetParams) SetServiceID(serviceID *string) { + o.ServiceID = serviceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceInstanceLastOperationGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if o.Operation != nil { + + // query param operation + var qrOperation string + + if o.Operation != nil { + qrOperation = *o.Operation + } + qOperation := qrOperation + if qOperation != "" { + + if err := r.SetQueryParam("operation", qOperation); err != nil { + return err + } + } + } + + if o.PlanID != nil { + + // query param plan_id + var qrPlanID string + + if o.PlanID != nil { + qrPlanID = *o.PlanID + } + qPlanID := qrPlanID + if qPlanID != "" { + + if err := r.SetQueryParam("plan_id", qPlanID); err != nil { + return err + } + } + } + + if o.ServiceID != nil { + + // query param service_id + var qrServiceID string + + if o.ServiceID != nil { + qrServiceID = *o.ServiceID + } + qServiceID := qrServiceID + if qServiceID != "" { + + if err := r.SetQueryParam("service_id", qServiceID); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_last_operation_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_last_operation_get_responses.go new file mode 100644 index 000000000..1bce0dc2a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_last_operation_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceInstanceLastOperationGetReader is a Reader for the ServiceInstanceLastOperationGet structure. +type ServiceInstanceLastOperationGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceInstanceLastOperationGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceInstanceLastOperationGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceInstanceLastOperationGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceInstanceLastOperationGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceInstanceLastOperationGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceInstanceLastOperationGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewServiceInstanceLastOperationGetGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v2/service_instances/{instance_id}/last_operation] serviceInstance.lastOperation.get", response, response.Code()) + } +} + +// NewServiceInstanceLastOperationGetOK creates a ServiceInstanceLastOperationGetOK with default headers values +func NewServiceInstanceLastOperationGetOK() *ServiceInstanceLastOperationGetOK { + return &ServiceInstanceLastOperationGetOK{} +} + +/* +ServiceInstanceLastOperationGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceInstanceLastOperationGetOK struct { + Payload *models.LastOperationResource +} + +// IsSuccess returns true when this service instance last operation get o k response has a 2xx status code +func (o *ServiceInstanceLastOperationGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance last operation get o k response has a 3xx status code +func (o *ServiceInstanceLastOperationGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance last operation get o k response has a 4xx status code +func (o *ServiceInstanceLastOperationGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance last operation get o k response has a 5xx status code +func (o *ServiceInstanceLastOperationGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance last operation get o k response a status code equal to that given +func (o *ServiceInstanceLastOperationGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service instance last operation get o k response +func (o *ServiceInstanceLastOperationGetOK) Code() int { + return 200 +} + +func (o *ServiceInstanceLastOperationGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetOK %s", 200, payload) +} + +func (o *ServiceInstanceLastOperationGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetOK %s", 200, payload) +} + +func (o *ServiceInstanceLastOperationGetOK) GetPayload() *models.LastOperationResource { + return o.Payload +} + +func (o *ServiceInstanceLastOperationGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.LastOperationResource) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceLastOperationGetBadRequest creates a ServiceInstanceLastOperationGetBadRequest with default headers values +func NewServiceInstanceLastOperationGetBadRequest() *ServiceInstanceLastOperationGetBadRequest { + return &ServiceInstanceLastOperationGetBadRequest{} +} + +/* +ServiceInstanceLastOperationGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceInstanceLastOperationGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance last operation get bad request response has a 2xx status code +func (o *ServiceInstanceLastOperationGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance last operation get bad request response has a 3xx status code +func (o *ServiceInstanceLastOperationGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance last operation get bad request response has a 4xx status code +func (o *ServiceInstanceLastOperationGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance last operation get bad request response has a 5xx status code +func (o *ServiceInstanceLastOperationGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance last operation get bad request response a status code equal to that given +func (o *ServiceInstanceLastOperationGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service instance last operation get bad request response +func (o *ServiceInstanceLastOperationGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceInstanceLastOperationGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceLastOperationGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceLastOperationGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceLastOperationGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceLastOperationGetUnauthorized creates a ServiceInstanceLastOperationGetUnauthorized with default headers values +func NewServiceInstanceLastOperationGetUnauthorized() *ServiceInstanceLastOperationGetUnauthorized { + return &ServiceInstanceLastOperationGetUnauthorized{} +} + +/* +ServiceInstanceLastOperationGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceInstanceLastOperationGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance last operation get unauthorized response has a 2xx status code +func (o *ServiceInstanceLastOperationGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance last operation get unauthorized response has a 3xx status code +func (o *ServiceInstanceLastOperationGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance last operation get unauthorized response has a 4xx status code +func (o *ServiceInstanceLastOperationGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance last operation get unauthorized response has a 5xx status code +func (o *ServiceInstanceLastOperationGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance last operation get unauthorized response a status code equal to that given +func (o *ServiceInstanceLastOperationGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service instance last operation get unauthorized response +func (o *ServiceInstanceLastOperationGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceInstanceLastOperationGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceLastOperationGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceLastOperationGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceLastOperationGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceLastOperationGetForbidden creates a ServiceInstanceLastOperationGetForbidden with default headers values +func NewServiceInstanceLastOperationGetForbidden() *ServiceInstanceLastOperationGetForbidden { + return &ServiceInstanceLastOperationGetForbidden{} +} + +/* +ServiceInstanceLastOperationGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceInstanceLastOperationGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance last operation get forbidden response has a 2xx status code +func (o *ServiceInstanceLastOperationGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance last operation get forbidden response has a 3xx status code +func (o *ServiceInstanceLastOperationGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance last operation get forbidden response has a 4xx status code +func (o *ServiceInstanceLastOperationGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance last operation get forbidden response has a 5xx status code +func (o *ServiceInstanceLastOperationGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance last operation get forbidden response a status code equal to that given +func (o *ServiceInstanceLastOperationGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service instance last operation get forbidden response +func (o *ServiceInstanceLastOperationGetForbidden) Code() int { + return 403 +} + +func (o *ServiceInstanceLastOperationGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetForbidden %s", 403, payload) +} + +func (o *ServiceInstanceLastOperationGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetForbidden %s", 403, payload) +} + +func (o *ServiceInstanceLastOperationGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceLastOperationGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceLastOperationGetNotFound creates a ServiceInstanceLastOperationGetNotFound with default headers values +func NewServiceInstanceLastOperationGetNotFound() *ServiceInstanceLastOperationGetNotFound { + return &ServiceInstanceLastOperationGetNotFound{} +} + +/* +ServiceInstanceLastOperationGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceInstanceLastOperationGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance last operation get not found response has a 2xx status code +func (o *ServiceInstanceLastOperationGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance last operation get not found response has a 3xx status code +func (o *ServiceInstanceLastOperationGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance last operation get not found response has a 4xx status code +func (o *ServiceInstanceLastOperationGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance last operation get not found response has a 5xx status code +func (o *ServiceInstanceLastOperationGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance last operation get not found response a status code equal to that given +func (o *ServiceInstanceLastOperationGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service instance last operation get not found response +func (o *ServiceInstanceLastOperationGetNotFound) Code() int { + return 404 +} + +func (o *ServiceInstanceLastOperationGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetNotFound %s", 404, payload) +} + +func (o *ServiceInstanceLastOperationGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetNotFound %s", 404, payload) +} + +func (o *ServiceInstanceLastOperationGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceLastOperationGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceLastOperationGetGone creates a ServiceInstanceLastOperationGetGone with default headers values +func NewServiceInstanceLastOperationGetGone() *ServiceInstanceLastOperationGetGone { + return &ServiceInstanceLastOperationGetGone{} +} + +/* +ServiceInstanceLastOperationGetGone describes a response with status code 410, with default header values. + +Gone +*/ +type ServiceInstanceLastOperationGetGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance last operation get gone response has a 2xx status code +func (o *ServiceInstanceLastOperationGetGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance last operation get gone response has a 3xx status code +func (o *ServiceInstanceLastOperationGetGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance last operation get gone response has a 4xx status code +func (o *ServiceInstanceLastOperationGetGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance last operation get gone response has a 5xx status code +func (o *ServiceInstanceLastOperationGetGone) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance last operation get gone response a status code equal to that given +func (o *ServiceInstanceLastOperationGetGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the service instance last operation get gone response +func (o *ServiceInstanceLastOperationGetGone) Code() int { + return 410 +} + +func (o *ServiceInstanceLastOperationGetGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetGone %s", 410, payload) +} + +func (o *ServiceInstanceLastOperationGetGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v2/service_instances/{instance_id}/last_operation][%d] serviceInstanceLastOperationGetGone %s", 410, payload) +} + +func (o *ServiceInstanceLastOperationGetGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceLastOperationGetGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_provision_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_provision_parameters.go new file mode 100644 index 000000000..376915759 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_provision_parameters.go @@ -0,0 +1,257 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewServiceInstanceProvisionParams creates a new ServiceInstanceProvisionParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceInstanceProvisionParams() *ServiceInstanceProvisionParams { + return &ServiceInstanceProvisionParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceInstanceProvisionParamsWithTimeout creates a new ServiceInstanceProvisionParams object +// with the ability to set a timeout on a request. +func NewServiceInstanceProvisionParamsWithTimeout(timeout time.Duration) *ServiceInstanceProvisionParams { + return &ServiceInstanceProvisionParams{ + timeout: timeout, + } +} + +// NewServiceInstanceProvisionParamsWithContext creates a new ServiceInstanceProvisionParams object +// with the ability to set a context for a request. +func NewServiceInstanceProvisionParamsWithContext(ctx context.Context) *ServiceInstanceProvisionParams { + return &ServiceInstanceProvisionParams{ + Context: ctx, + } +} + +// NewServiceInstanceProvisionParamsWithHTTPClient creates a new ServiceInstanceProvisionParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceInstanceProvisionParamsWithHTTPClient(client *http.Client) *ServiceInstanceProvisionParams { + return &ServiceInstanceProvisionParams{ + HTTPClient: client, + } +} + +/* +ServiceInstanceProvisionParams contains all the parameters to send to the API endpoint + + for the service instance provision operation. + + Typically these are written to a http.Request. +*/ +type ServiceInstanceProvisionParams struct { + + /* XBrokerAPIOriginatingIdentity. + + identity of the user that initiated the request from the Platform + */ + XBrokerAPIOriginatingIdentity *string + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* AcceptsIncomplete. + + asynchronous operations supported + */ + AcceptsIncomplete *bool + + /* Body. + + parameters for the requested service instance provision + */ + Body *models.ServiceInstanceProvisionRequest + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service instance provision params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceProvisionParams) WithDefaults() *ServiceInstanceProvisionParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service instance provision params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceProvisionParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service instance provision params +func (o *ServiceInstanceProvisionParams) WithTimeout(timeout time.Duration) *ServiceInstanceProvisionParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service instance provision params +func (o *ServiceInstanceProvisionParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service instance provision params +func (o *ServiceInstanceProvisionParams) WithContext(ctx context.Context) *ServiceInstanceProvisionParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service instance provision params +func (o *ServiceInstanceProvisionParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service instance provision params +func (o *ServiceInstanceProvisionParams) WithHTTPClient(client *http.Client) *ServiceInstanceProvisionParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service instance provision params +func (o *ServiceInstanceProvisionParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIOriginatingIdentity adds the xBrokerAPIOriginatingIdentity to the service instance provision params +func (o *ServiceInstanceProvisionParams) WithXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) *ServiceInstanceProvisionParams { + o.SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity) + return o +} + +// SetXBrokerAPIOriginatingIdentity adds the xBrokerApiOriginatingIdentity to the service instance provision params +func (o *ServiceInstanceProvisionParams) SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) { + o.XBrokerAPIOriginatingIdentity = xBrokerAPIOriginatingIdentity +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service instance provision params +func (o *ServiceInstanceProvisionParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceInstanceProvisionParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service instance provision params +func (o *ServiceInstanceProvisionParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithAcceptsIncomplete adds the acceptsIncomplete to the service instance provision params +func (o *ServiceInstanceProvisionParams) WithAcceptsIncomplete(acceptsIncomplete *bool) *ServiceInstanceProvisionParams { + o.SetAcceptsIncomplete(acceptsIncomplete) + return o +} + +// SetAcceptsIncomplete adds the acceptsIncomplete to the service instance provision params +func (o *ServiceInstanceProvisionParams) SetAcceptsIncomplete(acceptsIncomplete *bool) { + o.AcceptsIncomplete = acceptsIncomplete +} + +// WithBody adds the body to the service instance provision params +func (o *ServiceInstanceProvisionParams) WithBody(body *models.ServiceInstanceProvisionRequest) *ServiceInstanceProvisionParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the service instance provision params +func (o *ServiceInstanceProvisionParams) SetBody(body *models.ServiceInstanceProvisionRequest) { + o.Body = body +} + +// WithInstanceID adds the instanceID to the service instance provision params +func (o *ServiceInstanceProvisionParams) WithInstanceID(instanceID string) *ServiceInstanceProvisionParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service instance provision params +func (o *ServiceInstanceProvisionParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceInstanceProvisionParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.XBrokerAPIOriginatingIdentity != nil { + + // header param X-Broker-API-Originating-Identity + if err := r.SetHeaderParam("X-Broker-API-Originating-Identity", *o.XBrokerAPIOriginatingIdentity); err != nil { + return err + } + } + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + if o.AcceptsIncomplete != nil { + + // query param accepts_incomplete + var qrAcceptsIncomplete bool + + if o.AcceptsIncomplete != nil { + qrAcceptsIncomplete = *o.AcceptsIncomplete + } + qAcceptsIncomplete := swag.FormatBool(qrAcceptsIncomplete) + if qAcceptsIncomplete != "" { + + if err := r.SetQueryParam("accepts_incomplete", qAcceptsIncomplete); err != nil { + return err + } + } + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_provision_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_provision_responses.go new file mode 100644 index 000000000..bcad0826f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_provision_responses.go @@ -0,0 +1,715 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceInstanceProvisionReader is a Reader for the ServiceInstanceProvision structure. +type ServiceInstanceProvisionReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceInstanceProvisionReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceInstanceProvisionOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 201: + result := NewServiceInstanceProvisionCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewServiceInstanceProvisionAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceInstanceProvisionBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceInstanceProvisionUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceInstanceProvisionForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceInstanceProvisionNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewServiceInstanceProvisionConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewServiceInstanceProvisionUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v2/service_instances/{instance_id}] serviceInstance.provision", response, response.Code()) + } +} + +// NewServiceInstanceProvisionOK creates a ServiceInstanceProvisionOK with default headers values +func NewServiceInstanceProvisionOK() *ServiceInstanceProvisionOK { + return &ServiceInstanceProvisionOK{} +} + +/* +ServiceInstanceProvisionOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceInstanceProvisionOK struct { + Payload *models.ServiceInstanceProvision +} + +// IsSuccess returns true when this service instance provision o k response has a 2xx status code +func (o *ServiceInstanceProvisionOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance provision o k response has a 3xx status code +func (o *ServiceInstanceProvisionOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision o k response has a 4xx status code +func (o *ServiceInstanceProvisionOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance provision o k response has a 5xx status code +func (o *ServiceInstanceProvisionOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision o k response a status code equal to that given +func (o *ServiceInstanceProvisionOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service instance provision o k response +func (o *ServiceInstanceProvisionOK) Code() int { + return 200 +} + +func (o *ServiceInstanceProvisionOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionOK %s", 200, payload) +} + +func (o *ServiceInstanceProvisionOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionOK %s", 200, payload) +} + +func (o *ServiceInstanceProvisionOK) GetPayload() *models.ServiceInstanceProvision { + return o.Payload +} + +func (o *ServiceInstanceProvisionOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceInstanceProvision) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceProvisionCreated creates a ServiceInstanceProvisionCreated with default headers values +func NewServiceInstanceProvisionCreated() *ServiceInstanceProvisionCreated { + return &ServiceInstanceProvisionCreated{} +} + +/* +ServiceInstanceProvisionCreated describes a response with status code 201, with default header values. + +Created +*/ +type ServiceInstanceProvisionCreated struct { + Payload *models.ServiceInstanceProvision +} + +// IsSuccess returns true when this service instance provision created response has a 2xx status code +func (o *ServiceInstanceProvisionCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance provision created response has a 3xx status code +func (o *ServiceInstanceProvisionCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision created response has a 4xx status code +func (o *ServiceInstanceProvisionCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance provision created response has a 5xx status code +func (o *ServiceInstanceProvisionCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision created response a status code equal to that given +func (o *ServiceInstanceProvisionCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the service instance provision created response +func (o *ServiceInstanceProvisionCreated) Code() int { + return 201 +} + +func (o *ServiceInstanceProvisionCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionCreated %s", 201, payload) +} + +func (o *ServiceInstanceProvisionCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionCreated %s", 201, payload) +} + +func (o *ServiceInstanceProvisionCreated) GetPayload() *models.ServiceInstanceProvision { + return o.Payload +} + +func (o *ServiceInstanceProvisionCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceInstanceProvision) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceProvisionAccepted creates a ServiceInstanceProvisionAccepted with default headers values +func NewServiceInstanceProvisionAccepted() *ServiceInstanceProvisionAccepted { + return &ServiceInstanceProvisionAccepted{} +} + +/* +ServiceInstanceProvisionAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type ServiceInstanceProvisionAccepted struct { + Payload *models.ServiceInstanceAsyncOperation +} + +// IsSuccess returns true when this service instance provision accepted response has a 2xx status code +func (o *ServiceInstanceProvisionAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance provision accepted response has a 3xx status code +func (o *ServiceInstanceProvisionAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision accepted response has a 4xx status code +func (o *ServiceInstanceProvisionAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance provision accepted response has a 5xx status code +func (o *ServiceInstanceProvisionAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision accepted response a status code equal to that given +func (o *ServiceInstanceProvisionAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the service instance provision accepted response +func (o *ServiceInstanceProvisionAccepted) Code() int { + return 202 +} + +func (o *ServiceInstanceProvisionAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionAccepted %s", 202, payload) +} + +func (o *ServiceInstanceProvisionAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionAccepted %s", 202, payload) +} + +func (o *ServiceInstanceProvisionAccepted) GetPayload() *models.ServiceInstanceAsyncOperation { + return o.Payload +} + +func (o *ServiceInstanceProvisionAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceInstanceAsyncOperation) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceProvisionBadRequest creates a ServiceInstanceProvisionBadRequest with default headers values +func NewServiceInstanceProvisionBadRequest() *ServiceInstanceProvisionBadRequest { + return &ServiceInstanceProvisionBadRequest{} +} + +/* +ServiceInstanceProvisionBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceInstanceProvisionBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance provision bad request response has a 2xx status code +func (o *ServiceInstanceProvisionBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance provision bad request response has a 3xx status code +func (o *ServiceInstanceProvisionBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision bad request response has a 4xx status code +func (o *ServiceInstanceProvisionBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance provision bad request response has a 5xx status code +func (o *ServiceInstanceProvisionBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision bad request response a status code equal to that given +func (o *ServiceInstanceProvisionBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service instance provision bad request response +func (o *ServiceInstanceProvisionBadRequest) Code() int { + return 400 +} + +func (o *ServiceInstanceProvisionBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceProvisionBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceProvisionBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceProvisionBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceProvisionUnauthorized creates a ServiceInstanceProvisionUnauthorized with default headers values +func NewServiceInstanceProvisionUnauthorized() *ServiceInstanceProvisionUnauthorized { + return &ServiceInstanceProvisionUnauthorized{} +} + +/* +ServiceInstanceProvisionUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceInstanceProvisionUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance provision unauthorized response has a 2xx status code +func (o *ServiceInstanceProvisionUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance provision unauthorized response has a 3xx status code +func (o *ServiceInstanceProvisionUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision unauthorized response has a 4xx status code +func (o *ServiceInstanceProvisionUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance provision unauthorized response has a 5xx status code +func (o *ServiceInstanceProvisionUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision unauthorized response a status code equal to that given +func (o *ServiceInstanceProvisionUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service instance provision unauthorized response +func (o *ServiceInstanceProvisionUnauthorized) Code() int { + return 401 +} + +func (o *ServiceInstanceProvisionUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceProvisionUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceProvisionUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceProvisionUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceProvisionForbidden creates a ServiceInstanceProvisionForbidden with default headers values +func NewServiceInstanceProvisionForbidden() *ServiceInstanceProvisionForbidden { + return &ServiceInstanceProvisionForbidden{} +} + +/* +ServiceInstanceProvisionForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceInstanceProvisionForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance provision forbidden response has a 2xx status code +func (o *ServiceInstanceProvisionForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance provision forbidden response has a 3xx status code +func (o *ServiceInstanceProvisionForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision forbidden response has a 4xx status code +func (o *ServiceInstanceProvisionForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance provision forbidden response has a 5xx status code +func (o *ServiceInstanceProvisionForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision forbidden response a status code equal to that given +func (o *ServiceInstanceProvisionForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service instance provision forbidden response +func (o *ServiceInstanceProvisionForbidden) Code() int { + return 403 +} + +func (o *ServiceInstanceProvisionForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionForbidden %s", 403, payload) +} + +func (o *ServiceInstanceProvisionForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionForbidden %s", 403, payload) +} + +func (o *ServiceInstanceProvisionForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceProvisionForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceProvisionNotFound creates a ServiceInstanceProvisionNotFound with default headers values +func NewServiceInstanceProvisionNotFound() *ServiceInstanceProvisionNotFound { + return &ServiceInstanceProvisionNotFound{} +} + +/* +ServiceInstanceProvisionNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceInstanceProvisionNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance provision not found response has a 2xx status code +func (o *ServiceInstanceProvisionNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance provision not found response has a 3xx status code +func (o *ServiceInstanceProvisionNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision not found response has a 4xx status code +func (o *ServiceInstanceProvisionNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance provision not found response has a 5xx status code +func (o *ServiceInstanceProvisionNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision not found response a status code equal to that given +func (o *ServiceInstanceProvisionNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service instance provision not found response +func (o *ServiceInstanceProvisionNotFound) Code() int { + return 404 +} + +func (o *ServiceInstanceProvisionNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionNotFound %s", 404, payload) +} + +func (o *ServiceInstanceProvisionNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionNotFound %s", 404, payload) +} + +func (o *ServiceInstanceProvisionNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceProvisionNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceProvisionConflict creates a ServiceInstanceProvisionConflict with default headers values +func NewServiceInstanceProvisionConflict() *ServiceInstanceProvisionConflict { + return &ServiceInstanceProvisionConflict{} +} + +/* +ServiceInstanceProvisionConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type ServiceInstanceProvisionConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance provision conflict response has a 2xx status code +func (o *ServiceInstanceProvisionConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance provision conflict response has a 3xx status code +func (o *ServiceInstanceProvisionConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision conflict response has a 4xx status code +func (o *ServiceInstanceProvisionConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance provision conflict response has a 5xx status code +func (o *ServiceInstanceProvisionConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision conflict response a status code equal to that given +func (o *ServiceInstanceProvisionConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the service instance provision conflict response +func (o *ServiceInstanceProvisionConflict) Code() int { + return 409 +} + +func (o *ServiceInstanceProvisionConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionConflict %s", 409, payload) +} + +func (o *ServiceInstanceProvisionConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionConflict %s", 409, payload) +} + +func (o *ServiceInstanceProvisionConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceProvisionConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceProvisionUnprocessableEntity creates a ServiceInstanceProvisionUnprocessableEntity with default headers values +func NewServiceInstanceProvisionUnprocessableEntity() *ServiceInstanceProvisionUnprocessableEntity { + return &ServiceInstanceProvisionUnprocessableEntity{} +} + +/* +ServiceInstanceProvisionUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type ServiceInstanceProvisionUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance provision unprocessable entity response has a 2xx status code +func (o *ServiceInstanceProvisionUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance provision unprocessable entity response has a 3xx status code +func (o *ServiceInstanceProvisionUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance provision unprocessable entity response has a 4xx status code +func (o *ServiceInstanceProvisionUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance provision unprocessable entity response has a 5xx status code +func (o *ServiceInstanceProvisionUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance provision unprocessable entity response a status code equal to that given +func (o *ServiceInstanceProvisionUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the service instance provision unprocessable entity response +func (o *ServiceInstanceProvisionUnprocessableEntity) Code() int { + return 422 +} + +func (o *ServiceInstanceProvisionUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceInstanceProvisionUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v2/service_instances/{instance_id}][%d] serviceInstanceProvisionUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceInstanceProvisionUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceProvisionUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_update_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_update_parameters.go new file mode 100644 index 000000000..669fdcff2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_update_parameters.go @@ -0,0 +1,257 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewServiceInstanceUpdateParams creates a new ServiceInstanceUpdateParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceInstanceUpdateParams() *ServiceInstanceUpdateParams { + return &ServiceInstanceUpdateParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceInstanceUpdateParamsWithTimeout creates a new ServiceInstanceUpdateParams object +// with the ability to set a timeout on a request. +func NewServiceInstanceUpdateParamsWithTimeout(timeout time.Duration) *ServiceInstanceUpdateParams { + return &ServiceInstanceUpdateParams{ + timeout: timeout, + } +} + +// NewServiceInstanceUpdateParamsWithContext creates a new ServiceInstanceUpdateParams object +// with the ability to set a context for a request. +func NewServiceInstanceUpdateParamsWithContext(ctx context.Context) *ServiceInstanceUpdateParams { + return &ServiceInstanceUpdateParams{ + Context: ctx, + } +} + +// NewServiceInstanceUpdateParamsWithHTTPClient creates a new ServiceInstanceUpdateParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceInstanceUpdateParamsWithHTTPClient(client *http.Client) *ServiceInstanceUpdateParams { + return &ServiceInstanceUpdateParams{ + HTTPClient: client, + } +} + +/* +ServiceInstanceUpdateParams contains all the parameters to send to the API endpoint + + for the service instance update operation. + + Typically these are written to a http.Request. +*/ +type ServiceInstanceUpdateParams struct { + + /* XBrokerAPIOriginatingIdentity. + + identity of the user that initiated the request from the Platform + */ + XBrokerAPIOriginatingIdentity *string + + /* XBrokerAPIVersion. + + version number of the Service Broker API that the Platform will use + */ + XBrokerAPIVersion string + + /* AcceptsIncomplete. + + asynchronous operations supported + */ + AcceptsIncomplete *bool + + /* Body. + + parameters for the requested service instance update + */ + Body *models.ServiceInstanceUpdateRequest + + /* InstanceID. + + instance id of instance to provision + */ + InstanceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service instance update params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceUpdateParams) WithDefaults() *ServiceInstanceUpdateParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service instance update params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceInstanceUpdateParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service instance update params +func (o *ServiceInstanceUpdateParams) WithTimeout(timeout time.Duration) *ServiceInstanceUpdateParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service instance update params +func (o *ServiceInstanceUpdateParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service instance update params +func (o *ServiceInstanceUpdateParams) WithContext(ctx context.Context) *ServiceInstanceUpdateParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service instance update params +func (o *ServiceInstanceUpdateParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service instance update params +func (o *ServiceInstanceUpdateParams) WithHTTPClient(client *http.Client) *ServiceInstanceUpdateParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service instance update params +func (o *ServiceInstanceUpdateParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXBrokerAPIOriginatingIdentity adds the xBrokerAPIOriginatingIdentity to the service instance update params +func (o *ServiceInstanceUpdateParams) WithXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) *ServiceInstanceUpdateParams { + o.SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity) + return o +} + +// SetXBrokerAPIOriginatingIdentity adds the xBrokerApiOriginatingIdentity to the service instance update params +func (o *ServiceInstanceUpdateParams) SetXBrokerAPIOriginatingIdentity(xBrokerAPIOriginatingIdentity *string) { + o.XBrokerAPIOriginatingIdentity = xBrokerAPIOriginatingIdentity +} + +// WithXBrokerAPIVersion adds the xBrokerAPIVersion to the service instance update params +func (o *ServiceInstanceUpdateParams) WithXBrokerAPIVersion(xBrokerAPIVersion string) *ServiceInstanceUpdateParams { + o.SetXBrokerAPIVersion(xBrokerAPIVersion) + return o +} + +// SetXBrokerAPIVersion adds the xBrokerApiVersion to the service instance update params +func (o *ServiceInstanceUpdateParams) SetXBrokerAPIVersion(xBrokerAPIVersion string) { + o.XBrokerAPIVersion = xBrokerAPIVersion +} + +// WithAcceptsIncomplete adds the acceptsIncomplete to the service instance update params +func (o *ServiceInstanceUpdateParams) WithAcceptsIncomplete(acceptsIncomplete *bool) *ServiceInstanceUpdateParams { + o.SetAcceptsIncomplete(acceptsIncomplete) + return o +} + +// SetAcceptsIncomplete adds the acceptsIncomplete to the service instance update params +func (o *ServiceInstanceUpdateParams) SetAcceptsIncomplete(acceptsIncomplete *bool) { + o.AcceptsIncomplete = acceptsIncomplete +} + +// WithBody adds the body to the service instance update params +func (o *ServiceInstanceUpdateParams) WithBody(body *models.ServiceInstanceUpdateRequest) *ServiceInstanceUpdateParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the service instance update params +func (o *ServiceInstanceUpdateParams) SetBody(body *models.ServiceInstanceUpdateRequest) { + o.Body = body +} + +// WithInstanceID adds the instanceID to the service instance update params +func (o *ServiceInstanceUpdateParams) WithInstanceID(instanceID string) *ServiceInstanceUpdateParams { + o.SetInstanceID(instanceID) + return o +} + +// SetInstanceID adds the instanceId to the service instance update params +func (o *ServiceInstanceUpdateParams) SetInstanceID(instanceID string) { + o.InstanceID = instanceID +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceInstanceUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.XBrokerAPIOriginatingIdentity != nil { + + // header param X-Broker-API-Originating-Identity + if err := r.SetHeaderParam("X-Broker-API-Originating-Identity", *o.XBrokerAPIOriginatingIdentity); err != nil { + return err + } + } + + // header param X-Broker-API-Version + if err := r.SetHeaderParam("X-Broker-API-Version", o.XBrokerAPIVersion); err != nil { + return err + } + + if o.AcceptsIncomplete != nil { + + // query param accepts_incomplete + var qrAcceptsIncomplete bool + + if o.AcceptsIncomplete != nil { + qrAcceptsIncomplete = *o.AcceptsIncomplete + } + qAcceptsIncomplete := swag.FormatBool(qrAcceptsIncomplete) + if qAcceptsIncomplete != "" { + + if err := r.SetQueryParam("accepts_incomplete", qAcceptsIncomplete); err != nil { + return err + } + } + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param instance_id + if err := r.SetPathParam("instance_id", o.InstanceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_update_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_update_responses.go new file mode 100644 index 000000000..921f84fd6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instance_update_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceInstanceUpdateReader is a Reader for the ServiceInstanceUpdate structure. +type ServiceInstanceUpdateReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceInstanceUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceInstanceUpdateOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 202: + result := NewServiceInstanceUpdateAccepted() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceInstanceUpdateBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceInstanceUpdateUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceInstanceUpdateForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceInstanceUpdateNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewServiceInstanceUpdateUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PATCH /v2/service_instances/{instance_id}] serviceInstance.update", response, response.Code()) + } +} + +// NewServiceInstanceUpdateOK creates a ServiceInstanceUpdateOK with default headers values +func NewServiceInstanceUpdateOK() *ServiceInstanceUpdateOK { + return &ServiceInstanceUpdateOK{} +} + +/* +ServiceInstanceUpdateOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceInstanceUpdateOK struct { + Payload *models.ServiceInstanceUpdate +} + +// IsSuccess returns true when this service instance update o k response has a 2xx status code +func (o *ServiceInstanceUpdateOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance update o k response has a 3xx status code +func (o *ServiceInstanceUpdateOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance update o k response has a 4xx status code +func (o *ServiceInstanceUpdateOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance update o k response has a 5xx status code +func (o *ServiceInstanceUpdateOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance update o k response a status code equal to that given +func (o *ServiceInstanceUpdateOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service instance update o k response +func (o *ServiceInstanceUpdateOK) Code() int { + return 200 +} + +func (o *ServiceInstanceUpdateOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateOK %s", 200, payload) +} + +func (o *ServiceInstanceUpdateOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateOK %s", 200, payload) +} + +func (o *ServiceInstanceUpdateOK) GetPayload() *models.ServiceInstanceUpdate { + return o.Payload +} + +func (o *ServiceInstanceUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceInstanceUpdate) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceUpdateAccepted creates a ServiceInstanceUpdateAccepted with default headers values +func NewServiceInstanceUpdateAccepted() *ServiceInstanceUpdateAccepted { + return &ServiceInstanceUpdateAccepted{} +} + +/* +ServiceInstanceUpdateAccepted describes a response with status code 202, with default header values. + +Accepted +*/ +type ServiceInstanceUpdateAccepted struct { + Payload *models.ServiceInstanceAsyncOperation +} + +// IsSuccess returns true when this service instance update accepted response has a 2xx status code +func (o *ServiceInstanceUpdateAccepted) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service instance update accepted response has a 3xx status code +func (o *ServiceInstanceUpdateAccepted) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance update accepted response has a 4xx status code +func (o *ServiceInstanceUpdateAccepted) IsClientError() bool { + return false +} + +// IsServerError returns true when this service instance update accepted response has a 5xx status code +func (o *ServiceInstanceUpdateAccepted) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance update accepted response a status code equal to that given +func (o *ServiceInstanceUpdateAccepted) IsCode(code int) bool { + return code == 202 +} + +// Code gets the status code for the service instance update accepted response +func (o *ServiceInstanceUpdateAccepted) Code() int { + return 202 +} + +func (o *ServiceInstanceUpdateAccepted) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateAccepted %s", 202, payload) +} + +func (o *ServiceInstanceUpdateAccepted) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateAccepted %s", 202, payload) +} + +func (o *ServiceInstanceUpdateAccepted) GetPayload() *models.ServiceInstanceAsyncOperation { + return o.Payload +} + +func (o *ServiceInstanceUpdateAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.ServiceInstanceAsyncOperation) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceUpdateBadRequest creates a ServiceInstanceUpdateBadRequest with default headers values +func NewServiceInstanceUpdateBadRequest() *ServiceInstanceUpdateBadRequest { + return &ServiceInstanceUpdateBadRequest{} +} + +/* +ServiceInstanceUpdateBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceInstanceUpdateBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance update bad request response has a 2xx status code +func (o *ServiceInstanceUpdateBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance update bad request response has a 3xx status code +func (o *ServiceInstanceUpdateBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance update bad request response has a 4xx status code +func (o *ServiceInstanceUpdateBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance update bad request response has a 5xx status code +func (o *ServiceInstanceUpdateBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance update bad request response a status code equal to that given +func (o *ServiceInstanceUpdateBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service instance update bad request response +func (o *ServiceInstanceUpdateBadRequest) Code() int { + return 400 +} + +func (o *ServiceInstanceUpdateBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceUpdateBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateBadRequest %s", 400, payload) +} + +func (o *ServiceInstanceUpdateBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceUpdateBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceUpdateUnauthorized creates a ServiceInstanceUpdateUnauthorized with default headers values +func NewServiceInstanceUpdateUnauthorized() *ServiceInstanceUpdateUnauthorized { + return &ServiceInstanceUpdateUnauthorized{} +} + +/* +ServiceInstanceUpdateUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceInstanceUpdateUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance update unauthorized response has a 2xx status code +func (o *ServiceInstanceUpdateUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance update unauthorized response has a 3xx status code +func (o *ServiceInstanceUpdateUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance update unauthorized response has a 4xx status code +func (o *ServiceInstanceUpdateUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance update unauthorized response has a 5xx status code +func (o *ServiceInstanceUpdateUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance update unauthorized response a status code equal to that given +func (o *ServiceInstanceUpdateUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service instance update unauthorized response +func (o *ServiceInstanceUpdateUnauthorized) Code() int { + return 401 +} + +func (o *ServiceInstanceUpdateUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceUpdateUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateUnauthorized %s", 401, payload) +} + +func (o *ServiceInstanceUpdateUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceUpdateUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceUpdateForbidden creates a ServiceInstanceUpdateForbidden with default headers values +func NewServiceInstanceUpdateForbidden() *ServiceInstanceUpdateForbidden { + return &ServiceInstanceUpdateForbidden{} +} + +/* +ServiceInstanceUpdateForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceInstanceUpdateForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance update forbidden response has a 2xx status code +func (o *ServiceInstanceUpdateForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance update forbidden response has a 3xx status code +func (o *ServiceInstanceUpdateForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance update forbidden response has a 4xx status code +func (o *ServiceInstanceUpdateForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance update forbidden response has a 5xx status code +func (o *ServiceInstanceUpdateForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance update forbidden response a status code equal to that given +func (o *ServiceInstanceUpdateForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service instance update forbidden response +func (o *ServiceInstanceUpdateForbidden) Code() int { + return 403 +} + +func (o *ServiceInstanceUpdateForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateForbidden %s", 403, payload) +} + +func (o *ServiceInstanceUpdateForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateForbidden %s", 403, payload) +} + +func (o *ServiceInstanceUpdateForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceUpdateForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceUpdateNotFound creates a ServiceInstanceUpdateNotFound with default headers values +func NewServiceInstanceUpdateNotFound() *ServiceInstanceUpdateNotFound { + return &ServiceInstanceUpdateNotFound{} +} + +/* +ServiceInstanceUpdateNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceInstanceUpdateNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance update not found response has a 2xx status code +func (o *ServiceInstanceUpdateNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance update not found response has a 3xx status code +func (o *ServiceInstanceUpdateNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance update not found response has a 4xx status code +func (o *ServiceInstanceUpdateNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance update not found response has a 5xx status code +func (o *ServiceInstanceUpdateNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance update not found response a status code equal to that given +func (o *ServiceInstanceUpdateNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service instance update not found response +func (o *ServiceInstanceUpdateNotFound) Code() int { + return 404 +} + +func (o *ServiceInstanceUpdateNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateNotFound %s", 404, payload) +} + +func (o *ServiceInstanceUpdateNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateNotFound %s", 404, payload) +} + +func (o *ServiceInstanceUpdateNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceUpdateNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceInstanceUpdateUnprocessableEntity creates a ServiceInstanceUpdateUnprocessableEntity with default headers values +func NewServiceInstanceUpdateUnprocessableEntity() *ServiceInstanceUpdateUnprocessableEntity { + return &ServiceInstanceUpdateUnprocessableEntity{} +} + +/* +ServiceInstanceUpdateUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable entity +*/ +type ServiceInstanceUpdateUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this service instance update unprocessable entity response has a 2xx status code +func (o *ServiceInstanceUpdateUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service instance update unprocessable entity response has a 3xx status code +func (o *ServiceInstanceUpdateUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service instance update unprocessable entity response has a 4xx status code +func (o *ServiceInstanceUpdateUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this service instance update unprocessable entity response has a 5xx status code +func (o *ServiceInstanceUpdateUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this service instance update unprocessable entity response a status code equal to that given +func (o *ServiceInstanceUpdateUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the service instance update unprocessable entity response +func (o *ServiceInstanceUpdateUnprocessableEntity) Code() int { + return 422 +} + +func (o *ServiceInstanceUpdateUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceInstanceUpdateUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PATCH /v2/service_instances/{instance_id}][%d] serviceInstanceUpdateUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceInstanceUpdateUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceInstanceUpdateUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instances_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instances_client.go new file mode 100644 index 000000000..3f7070f46 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/service_instances/service_instances_client.go @@ -0,0 +1,297 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package service_instances + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new service instances API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new service instances API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new service instances API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for service instances API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + ServiceInstanceDeprovision(params *ServiceInstanceDeprovisionParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceDeprovisionOK, *ServiceInstanceDeprovisionAccepted, error) + + ServiceInstanceGet(params *ServiceInstanceGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceGetOK, error) + + ServiceInstanceLastOperationGet(params *ServiceInstanceLastOperationGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceLastOperationGetOK, error) + + ServiceInstanceProvision(params *ServiceInstanceProvisionParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceProvisionOK, *ServiceInstanceProvisionCreated, *ServiceInstanceProvisionAccepted, error) + + ServiceInstanceUpdate(params *ServiceInstanceUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceUpdateOK, *ServiceInstanceUpdateAccepted, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +ServiceInstanceDeprovision deprovisions a service instance +*/ +func (a *Client) ServiceInstanceDeprovision(params *ServiceInstanceDeprovisionParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceDeprovisionOK, *ServiceInstanceDeprovisionAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceInstanceDeprovisionParams() + } + op := &runtime.ClientOperation{ + ID: "serviceInstance.deprovision", + Method: "DELETE", + PathPattern: "/v2/service_instances/{instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceInstanceDeprovisionReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *ServiceInstanceDeprovisionOK: + return value, nil, nil + case *ServiceInstanceDeprovisionAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for service_instances: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceInstanceGet gets a service instance +*/ +func (a *Client) ServiceInstanceGet(params *ServiceInstanceGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceInstanceGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceInstance.get", + Method: "GET", + PathPattern: "/v2/service_instances/{instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceInstanceGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceInstanceGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceInstance.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceInstanceLastOperationGet lasts requested operation state for service instance +*/ +func (a *Client) ServiceInstanceLastOperationGet(params *ServiceInstanceLastOperationGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceLastOperationGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceInstanceLastOperationGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceInstance.lastOperation.get", + Method: "GET", + PathPattern: "/v2/service_instances/{instance_id}/last_operation", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceInstanceLastOperationGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceInstanceLastOperationGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceInstance.lastOperation.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceInstanceProvision provisions a service instance +*/ +func (a *Client) ServiceInstanceProvision(params *ServiceInstanceProvisionParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceProvisionOK, *ServiceInstanceProvisionCreated, *ServiceInstanceProvisionAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceInstanceProvisionParams() + } + op := &runtime.ClientOperation{ + ID: "serviceInstance.provision", + Method: "PUT", + PathPattern: "/v2/service_instances/{instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceInstanceProvisionReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *ServiceInstanceProvisionOK: + return value, nil, nil, nil + case *ServiceInstanceProvisionCreated: + return nil, value, nil, nil + case *ServiceInstanceProvisionAccepted: + return nil, nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for service_instances: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +ServiceInstanceUpdate updates a service instance +*/ +func (a *Client) ServiceInstanceUpdate(params *ServiceInstanceUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ServiceInstanceUpdateOK, *ServiceInstanceUpdateAccepted, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceInstanceUpdateParams() + } + op := &runtime.ClientOperation{ + ID: "serviceInstance.update", + Method: "PATCH", + PathPattern: "/v2/service_instances/{instance_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceInstanceUpdateReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, nil, err + } + + // several success responses have to be checked + switch value := result.(type) { + case *ServiceInstanceUpdateOK: + return value, nil, nil + case *ServiceInstanceUpdateAccepted: + return nil, value, nil + } + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for service_instances: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/snapshots_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/snapshots_client.go new file mode 100644 index 000000000..633e5d5aa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/snapshots_client.go @@ -0,0 +1,265 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new snapshots API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new snapshots API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new snapshots API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for snapshots API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1SnapshotsGet(params *V1SnapshotsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SnapshotsGetOK, error) + + V1SnapshotsGetall(params *V1SnapshotsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SnapshotsGetallOK, error) + + V1VolumeSnapshotsGet(params *V1VolumeSnapshotsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1VolumeSnapshotsGetOK, error) + + V1VolumeSnapshotsGetall(params *V1VolumeSnapshotsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1VolumeSnapshotsGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* + V1SnapshotsGet gets the detail of a snapshot + + This API is deprecated for /v1/snapshots. + +The API v1/volume-snapshots has replaced this endpoint. + +View the usage of a snapshot. The snapshot may take time sync because the data is cached. +*/ +func (a *Client) V1SnapshotsGet(params *V1SnapshotsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SnapshotsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1SnapshotsGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.snapshots.get", + Method: "GET", + PathPattern: "/v1/snapshots/{snapshot_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1SnapshotsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1SnapshotsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.snapshots.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* + V1SnapshotsGetall gets a list of all the snapshots on a workspace + + This API is deprecated for /v1/snapshots. + +The API v1/volume-snapshots has replaced this endpoint. + +View the usage of snapshots on the workspace. The snapshots may take time sync because the data is cached. +*/ +func (a *Client) V1SnapshotsGetall(params *V1SnapshotsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SnapshotsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1SnapshotsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.snapshots.getall", + Method: "GET", + PathPattern: "/v1/snapshots", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1SnapshotsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1SnapshotsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.snapshots.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1VolumeSnapshotsGet gets the detail of a volume snapshot + +View the usage of a snapshot. The snapshot may take time sync because the data is cached. +*/ +func (a *Client) V1VolumeSnapshotsGet(params *V1VolumeSnapshotsGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1VolumeSnapshotsGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1VolumeSnapshotsGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.volume-snapshots.get", + Method: "GET", + PathPattern: "/v1/volume-snapshots/{volume_snapshot_uuid}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1VolumeSnapshotsGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1VolumeSnapshotsGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.volume-snapshots.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1VolumeSnapshotsGetall gets the list of volume snapshots on a workspace + +View the usage of volume snapshots on the workspace. The volume snapshots may take time sync because the data is cached. +*/ +func (a *Client) V1VolumeSnapshotsGetall(params *V1VolumeSnapshotsGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1VolumeSnapshotsGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1VolumeSnapshotsGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.volume-snapshots.getall", + Method: "GET", + PathPattern: "/v1/volume-snapshots", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1VolumeSnapshotsGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1VolumeSnapshotsGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.volume-snapshots.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_get_parameters.go new file mode 100644 index 000000000..9777373d4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1SnapshotsGetParams creates a new V1SnapshotsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1SnapshotsGetParams() *V1SnapshotsGetParams { + return &V1SnapshotsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1SnapshotsGetParamsWithTimeout creates a new V1SnapshotsGetParams object +// with the ability to set a timeout on a request. +func NewV1SnapshotsGetParamsWithTimeout(timeout time.Duration) *V1SnapshotsGetParams { + return &V1SnapshotsGetParams{ + timeout: timeout, + } +} + +// NewV1SnapshotsGetParamsWithContext creates a new V1SnapshotsGetParams object +// with the ability to set a context for a request. +func NewV1SnapshotsGetParamsWithContext(ctx context.Context) *V1SnapshotsGetParams { + return &V1SnapshotsGetParams{ + Context: ctx, + } +} + +// NewV1SnapshotsGetParamsWithHTTPClient creates a new V1SnapshotsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1SnapshotsGetParamsWithHTTPClient(client *http.Client) *V1SnapshotsGetParams { + return &V1SnapshotsGetParams{ + HTTPClient: client, + } +} + +/* +V1SnapshotsGetParams contains all the parameters to send to the API endpoint + + for the v1 snapshots get operation. + + Typically these are written to a http.Request. +*/ +type V1SnapshotsGetParams struct { + + /* SnapshotID. + + PVM Instance snapshot id + */ + SnapshotID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 snapshots get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SnapshotsGetParams) WithDefaults() *V1SnapshotsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 snapshots get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SnapshotsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 snapshots get params +func (o *V1SnapshotsGetParams) WithTimeout(timeout time.Duration) *V1SnapshotsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 snapshots get params +func (o *V1SnapshotsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 snapshots get params +func (o *V1SnapshotsGetParams) WithContext(ctx context.Context) *V1SnapshotsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 snapshots get params +func (o *V1SnapshotsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 snapshots get params +func (o *V1SnapshotsGetParams) WithHTTPClient(client *http.Client) *V1SnapshotsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 snapshots get params +func (o *V1SnapshotsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithSnapshotID adds the snapshotID to the v1 snapshots get params +func (o *V1SnapshotsGetParams) WithSnapshotID(snapshotID string) *V1SnapshotsGetParams { + o.SetSnapshotID(snapshotID) + return o +} + +// SetSnapshotID adds the snapshotId to the v1 snapshots get params +func (o *V1SnapshotsGetParams) SetSnapshotID(snapshotID string) { + o.SnapshotID = snapshotID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1SnapshotsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param snapshot_id + if err := r.SetPathParam("snapshot_id", o.SnapshotID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_get_responses.go new file mode 100644 index 000000000..9940927ea --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1SnapshotsGetReader is a Reader for the V1SnapshotsGet structure. +type V1SnapshotsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1SnapshotsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1SnapshotsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1SnapshotsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1SnapshotsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1SnapshotsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1SnapshotsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1SnapshotsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 503: + result := NewV1SnapshotsGetServiceUnavailable() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/snapshots/{snapshot_id}] v1.snapshots.get", response, response.Code()) + } +} + +// NewV1SnapshotsGetOK creates a V1SnapshotsGetOK with default headers values +func NewV1SnapshotsGetOK() *V1SnapshotsGetOK { + return &V1SnapshotsGetOK{} +} + +/* +V1SnapshotsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1SnapshotsGetOK struct { + Payload *models.SnapshotV1 +} + +// IsSuccess returns true when this v1 snapshots get o k response has a 2xx status code +func (o *V1SnapshotsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 snapshots get o k response has a 3xx status code +func (o *V1SnapshotsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots get o k response has a 4xx status code +func (o *V1SnapshotsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 snapshots get o k response has a 5xx status code +func (o *V1SnapshotsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots get o k response a status code equal to that given +func (o *V1SnapshotsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 snapshots get o k response +func (o *V1SnapshotsGetOK) Code() int { + return 200 +} + +func (o *V1SnapshotsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetOK %s", 200, payload) +} + +func (o *V1SnapshotsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetOK %s", 200, payload) +} + +func (o *V1SnapshotsGetOK) GetPayload() *models.SnapshotV1 { + return o.Payload +} + +func (o *V1SnapshotsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SnapshotV1) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetBadRequest creates a V1SnapshotsGetBadRequest with default headers values +func NewV1SnapshotsGetBadRequest() *V1SnapshotsGetBadRequest { + return &V1SnapshotsGetBadRequest{} +} + +/* +V1SnapshotsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1SnapshotsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots get bad request response has a 2xx status code +func (o *V1SnapshotsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots get bad request response has a 3xx status code +func (o *V1SnapshotsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots get bad request response has a 4xx status code +func (o *V1SnapshotsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 snapshots get bad request response has a 5xx status code +func (o *V1SnapshotsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots get bad request response a status code equal to that given +func (o *V1SnapshotsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 snapshots get bad request response +func (o *V1SnapshotsGetBadRequest) Code() int { + return 400 +} + +func (o *V1SnapshotsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetBadRequest %s", 400, payload) +} + +func (o *V1SnapshotsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetBadRequest %s", 400, payload) +} + +func (o *V1SnapshotsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetUnauthorized creates a V1SnapshotsGetUnauthorized with default headers values +func NewV1SnapshotsGetUnauthorized() *V1SnapshotsGetUnauthorized { + return &V1SnapshotsGetUnauthorized{} +} + +/* +V1SnapshotsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1SnapshotsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots get unauthorized response has a 2xx status code +func (o *V1SnapshotsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots get unauthorized response has a 3xx status code +func (o *V1SnapshotsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots get unauthorized response has a 4xx status code +func (o *V1SnapshotsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 snapshots get unauthorized response has a 5xx status code +func (o *V1SnapshotsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots get unauthorized response a status code equal to that given +func (o *V1SnapshotsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 snapshots get unauthorized response +func (o *V1SnapshotsGetUnauthorized) Code() int { + return 401 +} + +func (o *V1SnapshotsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetUnauthorized %s", 401, payload) +} + +func (o *V1SnapshotsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetUnauthorized %s", 401, payload) +} + +func (o *V1SnapshotsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetForbidden creates a V1SnapshotsGetForbidden with default headers values +func NewV1SnapshotsGetForbidden() *V1SnapshotsGetForbidden { + return &V1SnapshotsGetForbidden{} +} + +/* +V1SnapshotsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1SnapshotsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots get forbidden response has a 2xx status code +func (o *V1SnapshotsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots get forbidden response has a 3xx status code +func (o *V1SnapshotsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots get forbidden response has a 4xx status code +func (o *V1SnapshotsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 snapshots get forbidden response has a 5xx status code +func (o *V1SnapshotsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots get forbidden response a status code equal to that given +func (o *V1SnapshotsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 snapshots get forbidden response +func (o *V1SnapshotsGetForbidden) Code() int { + return 403 +} + +func (o *V1SnapshotsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetForbidden %s", 403, payload) +} + +func (o *V1SnapshotsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetForbidden %s", 403, payload) +} + +func (o *V1SnapshotsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetNotFound creates a V1SnapshotsGetNotFound with default headers values +func NewV1SnapshotsGetNotFound() *V1SnapshotsGetNotFound { + return &V1SnapshotsGetNotFound{} +} + +/* +V1SnapshotsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1SnapshotsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots get not found response has a 2xx status code +func (o *V1SnapshotsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots get not found response has a 3xx status code +func (o *V1SnapshotsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots get not found response has a 4xx status code +func (o *V1SnapshotsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 snapshots get not found response has a 5xx status code +func (o *V1SnapshotsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots get not found response a status code equal to that given +func (o *V1SnapshotsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 snapshots get not found response +func (o *V1SnapshotsGetNotFound) Code() int { + return 404 +} + +func (o *V1SnapshotsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetNotFound %s", 404, payload) +} + +func (o *V1SnapshotsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetNotFound %s", 404, payload) +} + +func (o *V1SnapshotsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetInternalServerError creates a V1SnapshotsGetInternalServerError with default headers values +func NewV1SnapshotsGetInternalServerError() *V1SnapshotsGetInternalServerError { + return &V1SnapshotsGetInternalServerError{} +} + +/* +V1SnapshotsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1SnapshotsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots get internal server error response has a 2xx status code +func (o *V1SnapshotsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots get internal server error response has a 3xx status code +func (o *V1SnapshotsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots get internal server error response has a 4xx status code +func (o *V1SnapshotsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 snapshots get internal server error response has a 5xx status code +func (o *V1SnapshotsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 snapshots get internal server error response a status code equal to that given +func (o *V1SnapshotsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 snapshots get internal server error response +func (o *V1SnapshotsGetInternalServerError) Code() int { + return 500 +} + +func (o *V1SnapshotsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetInternalServerError %s", 500, payload) +} + +func (o *V1SnapshotsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetInternalServerError %s", 500, payload) +} + +func (o *V1SnapshotsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetServiceUnavailable creates a V1SnapshotsGetServiceUnavailable with default headers values +func NewV1SnapshotsGetServiceUnavailable() *V1SnapshotsGetServiceUnavailable { + return &V1SnapshotsGetServiceUnavailable{} +} + +/* +V1SnapshotsGetServiceUnavailable describes a response with status code 503, with default header values. + +Service Unavailable +*/ +type V1SnapshotsGetServiceUnavailable struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots get service unavailable response has a 2xx status code +func (o *V1SnapshotsGetServiceUnavailable) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots get service unavailable response has a 3xx status code +func (o *V1SnapshotsGetServiceUnavailable) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots get service unavailable response has a 4xx status code +func (o *V1SnapshotsGetServiceUnavailable) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 snapshots get service unavailable response has a 5xx status code +func (o *V1SnapshotsGetServiceUnavailable) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 snapshots get service unavailable response a status code equal to that given +func (o *V1SnapshotsGetServiceUnavailable) IsCode(code int) bool { + return code == 503 +} + +// Code gets the status code for the v1 snapshots get service unavailable response +func (o *V1SnapshotsGetServiceUnavailable) Code() int { + return 503 +} + +func (o *V1SnapshotsGetServiceUnavailable) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetServiceUnavailable %s", 503, payload) +} + +func (o *V1SnapshotsGetServiceUnavailable) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots/{snapshot_id}][%d] v1SnapshotsGetServiceUnavailable %s", 503, payload) +} + +func (o *V1SnapshotsGetServiceUnavailable) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_getall_parameters.go new file mode 100644 index 000000000..99063ef1e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1SnapshotsGetallParams creates a new V1SnapshotsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1SnapshotsGetallParams() *V1SnapshotsGetallParams { + return &V1SnapshotsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1SnapshotsGetallParamsWithTimeout creates a new V1SnapshotsGetallParams object +// with the ability to set a timeout on a request. +func NewV1SnapshotsGetallParamsWithTimeout(timeout time.Duration) *V1SnapshotsGetallParams { + return &V1SnapshotsGetallParams{ + timeout: timeout, + } +} + +// NewV1SnapshotsGetallParamsWithContext creates a new V1SnapshotsGetallParams object +// with the ability to set a context for a request. +func NewV1SnapshotsGetallParamsWithContext(ctx context.Context) *V1SnapshotsGetallParams { + return &V1SnapshotsGetallParams{ + Context: ctx, + } +} + +// NewV1SnapshotsGetallParamsWithHTTPClient creates a new V1SnapshotsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1SnapshotsGetallParamsWithHTTPClient(client *http.Client) *V1SnapshotsGetallParams { + return &V1SnapshotsGetallParams{ + HTTPClient: client, + } +} + +/* +V1SnapshotsGetallParams contains all the parameters to send to the API endpoint + + for the v1 snapshots getall operation. + + Typically these are written to a http.Request. +*/ +type V1SnapshotsGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 snapshots getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SnapshotsGetallParams) WithDefaults() *V1SnapshotsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 snapshots getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SnapshotsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 snapshots getall params +func (o *V1SnapshotsGetallParams) WithTimeout(timeout time.Duration) *V1SnapshotsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 snapshots getall params +func (o *V1SnapshotsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 snapshots getall params +func (o *V1SnapshotsGetallParams) WithContext(ctx context.Context) *V1SnapshotsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 snapshots getall params +func (o *V1SnapshotsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 snapshots getall params +func (o *V1SnapshotsGetallParams) WithHTTPClient(client *http.Client) *V1SnapshotsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 snapshots getall params +func (o *V1SnapshotsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1SnapshotsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_getall_responses.go new file mode 100644 index 000000000..64b6ca76b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_snapshots_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1SnapshotsGetallReader is a Reader for the V1SnapshotsGetall structure. +type V1SnapshotsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1SnapshotsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1SnapshotsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewV1SnapshotsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1SnapshotsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1SnapshotsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1SnapshotsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 503: + result := NewV1SnapshotsGetallServiceUnavailable() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/snapshots] v1.snapshots.getall", response, response.Code()) + } +} + +// NewV1SnapshotsGetallOK creates a V1SnapshotsGetallOK with default headers values +func NewV1SnapshotsGetallOK() *V1SnapshotsGetallOK { + return &V1SnapshotsGetallOK{} +} + +/* +V1SnapshotsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1SnapshotsGetallOK struct { + Payload *models.SnapshotList +} + +// IsSuccess returns true when this v1 snapshots getall o k response has a 2xx status code +func (o *V1SnapshotsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 snapshots getall o k response has a 3xx status code +func (o *V1SnapshotsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots getall o k response has a 4xx status code +func (o *V1SnapshotsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 snapshots getall o k response has a 5xx status code +func (o *V1SnapshotsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots getall o k response a status code equal to that given +func (o *V1SnapshotsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 snapshots getall o k response +func (o *V1SnapshotsGetallOK) Code() int { + return 200 +} + +func (o *V1SnapshotsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallOK %s", 200, payload) +} + +func (o *V1SnapshotsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallOK %s", 200, payload) +} + +func (o *V1SnapshotsGetallOK) GetPayload() *models.SnapshotList { + return o.Payload +} + +func (o *V1SnapshotsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SnapshotList) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetallUnauthorized creates a V1SnapshotsGetallUnauthorized with default headers values +func NewV1SnapshotsGetallUnauthorized() *V1SnapshotsGetallUnauthorized { + return &V1SnapshotsGetallUnauthorized{} +} + +/* +V1SnapshotsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1SnapshotsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots getall unauthorized response has a 2xx status code +func (o *V1SnapshotsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots getall unauthorized response has a 3xx status code +func (o *V1SnapshotsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots getall unauthorized response has a 4xx status code +func (o *V1SnapshotsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 snapshots getall unauthorized response has a 5xx status code +func (o *V1SnapshotsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots getall unauthorized response a status code equal to that given +func (o *V1SnapshotsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 snapshots getall unauthorized response +func (o *V1SnapshotsGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1SnapshotsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallUnauthorized %s", 401, payload) +} + +func (o *V1SnapshotsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallUnauthorized %s", 401, payload) +} + +func (o *V1SnapshotsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetallForbidden creates a V1SnapshotsGetallForbidden with default headers values +func NewV1SnapshotsGetallForbidden() *V1SnapshotsGetallForbidden { + return &V1SnapshotsGetallForbidden{} +} + +/* +V1SnapshotsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1SnapshotsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots getall forbidden response has a 2xx status code +func (o *V1SnapshotsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots getall forbidden response has a 3xx status code +func (o *V1SnapshotsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots getall forbidden response has a 4xx status code +func (o *V1SnapshotsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 snapshots getall forbidden response has a 5xx status code +func (o *V1SnapshotsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots getall forbidden response a status code equal to that given +func (o *V1SnapshotsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 snapshots getall forbidden response +func (o *V1SnapshotsGetallForbidden) Code() int { + return 403 +} + +func (o *V1SnapshotsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallForbidden %s", 403, payload) +} + +func (o *V1SnapshotsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallForbidden %s", 403, payload) +} + +func (o *V1SnapshotsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetallNotFound creates a V1SnapshotsGetallNotFound with default headers values +func NewV1SnapshotsGetallNotFound() *V1SnapshotsGetallNotFound { + return &V1SnapshotsGetallNotFound{} +} + +/* +V1SnapshotsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1SnapshotsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots getall not found response has a 2xx status code +func (o *V1SnapshotsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots getall not found response has a 3xx status code +func (o *V1SnapshotsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots getall not found response has a 4xx status code +func (o *V1SnapshotsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 snapshots getall not found response has a 5xx status code +func (o *V1SnapshotsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 snapshots getall not found response a status code equal to that given +func (o *V1SnapshotsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 snapshots getall not found response +func (o *V1SnapshotsGetallNotFound) Code() int { + return 404 +} + +func (o *V1SnapshotsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallNotFound %s", 404, payload) +} + +func (o *V1SnapshotsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallNotFound %s", 404, payload) +} + +func (o *V1SnapshotsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetallInternalServerError creates a V1SnapshotsGetallInternalServerError with default headers values +func NewV1SnapshotsGetallInternalServerError() *V1SnapshotsGetallInternalServerError { + return &V1SnapshotsGetallInternalServerError{} +} + +/* +V1SnapshotsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1SnapshotsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots getall internal server error response has a 2xx status code +func (o *V1SnapshotsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots getall internal server error response has a 3xx status code +func (o *V1SnapshotsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots getall internal server error response has a 4xx status code +func (o *V1SnapshotsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 snapshots getall internal server error response has a 5xx status code +func (o *V1SnapshotsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 snapshots getall internal server error response a status code equal to that given +func (o *V1SnapshotsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 snapshots getall internal server error response +func (o *V1SnapshotsGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1SnapshotsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallInternalServerError %s", 500, payload) +} + +func (o *V1SnapshotsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallInternalServerError %s", 500, payload) +} + +func (o *V1SnapshotsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SnapshotsGetallServiceUnavailable creates a V1SnapshotsGetallServiceUnavailable with default headers values +func NewV1SnapshotsGetallServiceUnavailable() *V1SnapshotsGetallServiceUnavailable { + return &V1SnapshotsGetallServiceUnavailable{} +} + +/* +V1SnapshotsGetallServiceUnavailable describes a response with status code 503, with default header values. + +Service Unavailable +*/ +type V1SnapshotsGetallServiceUnavailable struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 snapshots getall service unavailable response has a 2xx status code +func (o *V1SnapshotsGetallServiceUnavailable) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 snapshots getall service unavailable response has a 3xx status code +func (o *V1SnapshotsGetallServiceUnavailable) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 snapshots getall service unavailable response has a 4xx status code +func (o *V1SnapshotsGetallServiceUnavailable) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 snapshots getall service unavailable response has a 5xx status code +func (o *V1SnapshotsGetallServiceUnavailable) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 snapshots getall service unavailable response a status code equal to that given +func (o *V1SnapshotsGetallServiceUnavailable) IsCode(code int) bool { + return code == 503 +} + +// Code gets the status code for the v1 snapshots getall service unavailable response +func (o *V1SnapshotsGetallServiceUnavailable) Code() int { + return 503 +} + +func (o *V1SnapshotsGetallServiceUnavailable) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallServiceUnavailable %s", 503, payload) +} + +func (o *V1SnapshotsGetallServiceUnavailable) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/snapshots][%d] v1SnapshotsGetallServiceUnavailable %s", 503, payload) +} + +func (o *V1SnapshotsGetallServiceUnavailable) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SnapshotsGetallServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_get_parameters.go new file mode 100644 index 000000000..2d739ce60 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1VolumeSnapshotsGetParams creates a new V1VolumeSnapshotsGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1VolumeSnapshotsGetParams() *V1VolumeSnapshotsGetParams { + return &V1VolumeSnapshotsGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1VolumeSnapshotsGetParamsWithTimeout creates a new V1VolumeSnapshotsGetParams object +// with the ability to set a timeout on a request. +func NewV1VolumeSnapshotsGetParamsWithTimeout(timeout time.Duration) *V1VolumeSnapshotsGetParams { + return &V1VolumeSnapshotsGetParams{ + timeout: timeout, + } +} + +// NewV1VolumeSnapshotsGetParamsWithContext creates a new V1VolumeSnapshotsGetParams object +// with the ability to set a context for a request. +func NewV1VolumeSnapshotsGetParamsWithContext(ctx context.Context) *V1VolumeSnapshotsGetParams { + return &V1VolumeSnapshotsGetParams{ + Context: ctx, + } +} + +// NewV1VolumeSnapshotsGetParamsWithHTTPClient creates a new V1VolumeSnapshotsGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1VolumeSnapshotsGetParamsWithHTTPClient(client *http.Client) *V1VolumeSnapshotsGetParams { + return &V1VolumeSnapshotsGetParams{ + HTTPClient: client, + } +} + +/* +V1VolumeSnapshotsGetParams contains all the parameters to send to the API endpoint + + for the v1 volume snapshots get operation. + + Typically these are written to a http.Request. +*/ +type V1VolumeSnapshotsGetParams struct { + + /* VolumeSnapshotUUID. + + The volume snapshot UUID + */ + VolumeSnapshotUUID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 volume snapshots get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1VolumeSnapshotsGetParams) WithDefaults() *V1VolumeSnapshotsGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 volume snapshots get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1VolumeSnapshotsGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 volume snapshots get params +func (o *V1VolumeSnapshotsGetParams) WithTimeout(timeout time.Duration) *V1VolumeSnapshotsGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 volume snapshots get params +func (o *V1VolumeSnapshotsGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 volume snapshots get params +func (o *V1VolumeSnapshotsGetParams) WithContext(ctx context.Context) *V1VolumeSnapshotsGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 volume snapshots get params +func (o *V1VolumeSnapshotsGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 volume snapshots get params +func (o *V1VolumeSnapshotsGetParams) WithHTTPClient(client *http.Client) *V1VolumeSnapshotsGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 volume snapshots get params +func (o *V1VolumeSnapshotsGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithVolumeSnapshotUUID adds the volumeSnapshotUUID to the v1 volume snapshots get params +func (o *V1VolumeSnapshotsGetParams) WithVolumeSnapshotUUID(volumeSnapshotUUID string) *V1VolumeSnapshotsGetParams { + o.SetVolumeSnapshotUUID(volumeSnapshotUUID) + return o +} + +// SetVolumeSnapshotUUID adds the volumeSnapshotUuid to the v1 volume snapshots get params +func (o *V1VolumeSnapshotsGetParams) SetVolumeSnapshotUUID(volumeSnapshotUUID string) { + o.VolumeSnapshotUUID = volumeSnapshotUUID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1VolumeSnapshotsGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param volume_snapshot_uuid + if err := r.SetPathParam("volume_snapshot_uuid", o.VolumeSnapshotUUID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_get_responses.go new file mode 100644 index 000000000..7974a666c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1VolumeSnapshotsGetReader is a Reader for the V1VolumeSnapshotsGet structure. +type V1VolumeSnapshotsGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1VolumeSnapshotsGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1VolumeSnapshotsGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1VolumeSnapshotsGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1VolumeSnapshotsGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1VolumeSnapshotsGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1VolumeSnapshotsGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1VolumeSnapshotsGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 503: + result := NewV1VolumeSnapshotsGetServiceUnavailable() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/volume-snapshots/{volume_snapshot_uuid}] v1.volume-snapshots.get", response, response.Code()) + } +} + +// NewV1VolumeSnapshotsGetOK creates a V1VolumeSnapshotsGetOK with default headers values +func NewV1VolumeSnapshotsGetOK() *V1VolumeSnapshotsGetOK { + return &V1VolumeSnapshotsGetOK{} +} + +/* +V1VolumeSnapshotsGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1VolumeSnapshotsGetOK struct { + Payload *models.SnapshotV1 +} + +// IsSuccess returns true when this v1 volume snapshots get o k response has a 2xx status code +func (o *V1VolumeSnapshotsGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 volume snapshots get o k response has a 3xx status code +func (o *V1VolumeSnapshotsGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots get o k response has a 4xx status code +func (o *V1VolumeSnapshotsGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 volume snapshots get o k response has a 5xx status code +func (o *V1VolumeSnapshotsGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots get o k response a status code equal to that given +func (o *V1VolumeSnapshotsGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 volume snapshots get o k response +func (o *V1VolumeSnapshotsGetOK) Code() int { + return 200 +} + +func (o *V1VolumeSnapshotsGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetOK %s", 200, payload) +} + +func (o *V1VolumeSnapshotsGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetOK %s", 200, payload) +} + +func (o *V1VolumeSnapshotsGetOK) GetPayload() *models.SnapshotV1 { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SnapshotV1) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetBadRequest creates a V1VolumeSnapshotsGetBadRequest with default headers values +func NewV1VolumeSnapshotsGetBadRequest() *V1VolumeSnapshotsGetBadRequest { + return &V1VolumeSnapshotsGetBadRequest{} +} + +/* +V1VolumeSnapshotsGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1VolumeSnapshotsGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots get bad request response has a 2xx status code +func (o *V1VolumeSnapshotsGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots get bad request response has a 3xx status code +func (o *V1VolumeSnapshotsGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots get bad request response has a 4xx status code +func (o *V1VolumeSnapshotsGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 volume snapshots get bad request response has a 5xx status code +func (o *V1VolumeSnapshotsGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots get bad request response a status code equal to that given +func (o *V1VolumeSnapshotsGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 volume snapshots get bad request response +func (o *V1VolumeSnapshotsGetBadRequest) Code() int { + return 400 +} + +func (o *V1VolumeSnapshotsGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetBadRequest %s", 400, payload) +} + +func (o *V1VolumeSnapshotsGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetBadRequest %s", 400, payload) +} + +func (o *V1VolumeSnapshotsGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetUnauthorized creates a V1VolumeSnapshotsGetUnauthorized with default headers values +func NewV1VolumeSnapshotsGetUnauthorized() *V1VolumeSnapshotsGetUnauthorized { + return &V1VolumeSnapshotsGetUnauthorized{} +} + +/* +V1VolumeSnapshotsGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1VolumeSnapshotsGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots get unauthorized response has a 2xx status code +func (o *V1VolumeSnapshotsGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots get unauthorized response has a 3xx status code +func (o *V1VolumeSnapshotsGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots get unauthorized response has a 4xx status code +func (o *V1VolumeSnapshotsGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 volume snapshots get unauthorized response has a 5xx status code +func (o *V1VolumeSnapshotsGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots get unauthorized response a status code equal to that given +func (o *V1VolumeSnapshotsGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 volume snapshots get unauthorized response +func (o *V1VolumeSnapshotsGetUnauthorized) Code() int { + return 401 +} + +func (o *V1VolumeSnapshotsGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetUnauthorized %s", 401, payload) +} + +func (o *V1VolumeSnapshotsGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetUnauthorized %s", 401, payload) +} + +func (o *V1VolumeSnapshotsGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetForbidden creates a V1VolumeSnapshotsGetForbidden with default headers values +func NewV1VolumeSnapshotsGetForbidden() *V1VolumeSnapshotsGetForbidden { + return &V1VolumeSnapshotsGetForbidden{} +} + +/* +V1VolumeSnapshotsGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1VolumeSnapshotsGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots get forbidden response has a 2xx status code +func (o *V1VolumeSnapshotsGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots get forbidden response has a 3xx status code +func (o *V1VolumeSnapshotsGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots get forbidden response has a 4xx status code +func (o *V1VolumeSnapshotsGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 volume snapshots get forbidden response has a 5xx status code +func (o *V1VolumeSnapshotsGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots get forbidden response a status code equal to that given +func (o *V1VolumeSnapshotsGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 volume snapshots get forbidden response +func (o *V1VolumeSnapshotsGetForbidden) Code() int { + return 403 +} + +func (o *V1VolumeSnapshotsGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetForbidden %s", 403, payload) +} + +func (o *V1VolumeSnapshotsGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetForbidden %s", 403, payload) +} + +func (o *V1VolumeSnapshotsGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetNotFound creates a V1VolumeSnapshotsGetNotFound with default headers values +func NewV1VolumeSnapshotsGetNotFound() *V1VolumeSnapshotsGetNotFound { + return &V1VolumeSnapshotsGetNotFound{} +} + +/* +V1VolumeSnapshotsGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1VolumeSnapshotsGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots get not found response has a 2xx status code +func (o *V1VolumeSnapshotsGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots get not found response has a 3xx status code +func (o *V1VolumeSnapshotsGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots get not found response has a 4xx status code +func (o *V1VolumeSnapshotsGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 volume snapshots get not found response has a 5xx status code +func (o *V1VolumeSnapshotsGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots get not found response a status code equal to that given +func (o *V1VolumeSnapshotsGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 volume snapshots get not found response +func (o *V1VolumeSnapshotsGetNotFound) Code() int { + return 404 +} + +func (o *V1VolumeSnapshotsGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetNotFound %s", 404, payload) +} + +func (o *V1VolumeSnapshotsGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetNotFound %s", 404, payload) +} + +func (o *V1VolumeSnapshotsGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetInternalServerError creates a V1VolumeSnapshotsGetInternalServerError with default headers values +func NewV1VolumeSnapshotsGetInternalServerError() *V1VolumeSnapshotsGetInternalServerError { + return &V1VolumeSnapshotsGetInternalServerError{} +} + +/* +V1VolumeSnapshotsGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1VolumeSnapshotsGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots get internal server error response has a 2xx status code +func (o *V1VolumeSnapshotsGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots get internal server error response has a 3xx status code +func (o *V1VolumeSnapshotsGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots get internal server error response has a 4xx status code +func (o *V1VolumeSnapshotsGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 volume snapshots get internal server error response has a 5xx status code +func (o *V1VolumeSnapshotsGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 volume snapshots get internal server error response a status code equal to that given +func (o *V1VolumeSnapshotsGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 volume snapshots get internal server error response +func (o *V1VolumeSnapshotsGetInternalServerError) Code() int { + return 500 +} + +func (o *V1VolumeSnapshotsGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetInternalServerError %s", 500, payload) +} + +func (o *V1VolumeSnapshotsGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetInternalServerError %s", 500, payload) +} + +func (o *V1VolumeSnapshotsGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetServiceUnavailable creates a V1VolumeSnapshotsGetServiceUnavailable with default headers values +func NewV1VolumeSnapshotsGetServiceUnavailable() *V1VolumeSnapshotsGetServiceUnavailable { + return &V1VolumeSnapshotsGetServiceUnavailable{} +} + +/* +V1VolumeSnapshotsGetServiceUnavailable describes a response with status code 503, with default header values. + +Service Unavailable +*/ +type V1VolumeSnapshotsGetServiceUnavailable struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots get service unavailable response has a 2xx status code +func (o *V1VolumeSnapshotsGetServiceUnavailable) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots get service unavailable response has a 3xx status code +func (o *V1VolumeSnapshotsGetServiceUnavailable) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots get service unavailable response has a 4xx status code +func (o *V1VolumeSnapshotsGetServiceUnavailable) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 volume snapshots get service unavailable response has a 5xx status code +func (o *V1VolumeSnapshotsGetServiceUnavailable) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 volume snapshots get service unavailable response a status code equal to that given +func (o *V1VolumeSnapshotsGetServiceUnavailable) IsCode(code int) bool { + return code == 503 +} + +// Code gets the status code for the v1 volume snapshots get service unavailable response +func (o *V1VolumeSnapshotsGetServiceUnavailable) Code() int { + return 503 +} + +func (o *V1VolumeSnapshotsGetServiceUnavailable) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetServiceUnavailable %s", 503, payload) +} + +func (o *V1VolumeSnapshotsGetServiceUnavailable) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots/{volume_snapshot_uuid}][%d] v1VolumeSnapshotsGetServiceUnavailable %s", 503, payload) +} + +func (o *V1VolumeSnapshotsGetServiceUnavailable) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_getall_parameters.go new file mode 100644 index 000000000..5b96fcd12 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1VolumeSnapshotsGetallParams creates a new V1VolumeSnapshotsGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1VolumeSnapshotsGetallParams() *V1VolumeSnapshotsGetallParams { + return &V1VolumeSnapshotsGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1VolumeSnapshotsGetallParamsWithTimeout creates a new V1VolumeSnapshotsGetallParams object +// with the ability to set a timeout on a request. +func NewV1VolumeSnapshotsGetallParamsWithTimeout(timeout time.Duration) *V1VolumeSnapshotsGetallParams { + return &V1VolumeSnapshotsGetallParams{ + timeout: timeout, + } +} + +// NewV1VolumeSnapshotsGetallParamsWithContext creates a new V1VolumeSnapshotsGetallParams object +// with the ability to set a context for a request. +func NewV1VolumeSnapshotsGetallParamsWithContext(ctx context.Context) *V1VolumeSnapshotsGetallParams { + return &V1VolumeSnapshotsGetallParams{ + Context: ctx, + } +} + +// NewV1VolumeSnapshotsGetallParamsWithHTTPClient creates a new V1VolumeSnapshotsGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1VolumeSnapshotsGetallParamsWithHTTPClient(client *http.Client) *V1VolumeSnapshotsGetallParams { + return &V1VolumeSnapshotsGetallParams{ + HTTPClient: client, + } +} + +/* +V1VolumeSnapshotsGetallParams contains all the parameters to send to the API endpoint + + for the v1 volume snapshots getall operation. + + Typically these are written to a http.Request. +*/ +type V1VolumeSnapshotsGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 volume snapshots getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1VolumeSnapshotsGetallParams) WithDefaults() *V1VolumeSnapshotsGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 volume snapshots getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1VolumeSnapshotsGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 volume snapshots getall params +func (o *V1VolumeSnapshotsGetallParams) WithTimeout(timeout time.Duration) *V1VolumeSnapshotsGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 volume snapshots getall params +func (o *V1VolumeSnapshotsGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 volume snapshots getall params +func (o *V1VolumeSnapshotsGetallParams) WithContext(ctx context.Context) *V1VolumeSnapshotsGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 volume snapshots getall params +func (o *V1VolumeSnapshotsGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 volume snapshots getall params +func (o *V1VolumeSnapshotsGetallParams) WithHTTPClient(client *http.Client) *V1VolumeSnapshotsGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 volume snapshots getall params +func (o *V1VolumeSnapshotsGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1VolumeSnapshotsGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_getall_responses.go new file mode 100644 index 000000000..624cb7d71 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/snapshots/v1_volume_snapshots_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package snapshots + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1VolumeSnapshotsGetallReader is a Reader for the V1VolumeSnapshotsGetall structure. +type V1VolumeSnapshotsGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1VolumeSnapshotsGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1VolumeSnapshotsGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewV1VolumeSnapshotsGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1VolumeSnapshotsGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1VolumeSnapshotsGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1VolumeSnapshotsGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 503: + result := NewV1VolumeSnapshotsGetallServiceUnavailable() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/volume-snapshots] v1.volume-snapshots.getall", response, response.Code()) + } +} + +// NewV1VolumeSnapshotsGetallOK creates a V1VolumeSnapshotsGetallOK with default headers values +func NewV1VolumeSnapshotsGetallOK() *V1VolumeSnapshotsGetallOK { + return &V1VolumeSnapshotsGetallOK{} +} + +/* +V1VolumeSnapshotsGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1VolumeSnapshotsGetallOK struct { + Payload *models.VolumeSnapshotList +} + +// IsSuccess returns true when this v1 volume snapshots getall o k response has a 2xx status code +func (o *V1VolumeSnapshotsGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 volume snapshots getall o k response has a 3xx status code +func (o *V1VolumeSnapshotsGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots getall o k response has a 4xx status code +func (o *V1VolumeSnapshotsGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 volume snapshots getall o k response has a 5xx status code +func (o *V1VolumeSnapshotsGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots getall o k response a status code equal to that given +func (o *V1VolumeSnapshotsGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 volume snapshots getall o k response +func (o *V1VolumeSnapshotsGetallOK) Code() int { + return 200 +} + +func (o *V1VolumeSnapshotsGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallOK %s", 200, payload) +} + +func (o *V1VolumeSnapshotsGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallOK %s", 200, payload) +} + +func (o *V1VolumeSnapshotsGetallOK) GetPayload() *models.VolumeSnapshotList { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.VolumeSnapshotList) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetallUnauthorized creates a V1VolumeSnapshotsGetallUnauthorized with default headers values +func NewV1VolumeSnapshotsGetallUnauthorized() *V1VolumeSnapshotsGetallUnauthorized { + return &V1VolumeSnapshotsGetallUnauthorized{} +} + +/* +V1VolumeSnapshotsGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1VolumeSnapshotsGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots getall unauthorized response has a 2xx status code +func (o *V1VolumeSnapshotsGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots getall unauthorized response has a 3xx status code +func (o *V1VolumeSnapshotsGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots getall unauthorized response has a 4xx status code +func (o *V1VolumeSnapshotsGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 volume snapshots getall unauthorized response has a 5xx status code +func (o *V1VolumeSnapshotsGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots getall unauthorized response a status code equal to that given +func (o *V1VolumeSnapshotsGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 volume snapshots getall unauthorized response +func (o *V1VolumeSnapshotsGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1VolumeSnapshotsGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallUnauthorized %s", 401, payload) +} + +func (o *V1VolumeSnapshotsGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallUnauthorized %s", 401, payload) +} + +func (o *V1VolumeSnapshotsGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetallForbidden creates a V1VolumeSnapshotsGetallForbidden with default headers values +func NewV1VolumeSnapshotsGetallForbidden() *V1VolumeSnapshotsGetallForbidden { + return &V1VolumeSnapshotsGetallForbidden{} +} + +/* +V1VolumeSnapshotsGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1VolumeSnapshotsGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots getall forbidden response has a 2xx status code +func (o *V1VolumeSnapshotsGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots getall forbidden response has a 3xx status code +func (o *V1VolumeSnapshotsGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots getall forbidden response has a 4xx status code +func (o *V1VolumeSnapshotsGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 volume snapshots getall forbidden response has a 5xx status code +func (o *V1VolumeSnapshotsGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots getall forbidden response a status code equal to that given +func (o *V1VolumeSnapshotsGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 volume snapshots getall forbidden response +func (o *V1VolumeSnapshotsGetallForbidden) Code() int { + return 403 +} + +func (o *V1VolumeSnapshotsGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallForbidden %s", 403, payload) +} + +func (o *V1VolumeSnapshotsGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallForbidden %s", 403, payload) +} + +func (o *V1VolumeSnapshotsGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetallNotFound creates a V1VolumeSnapshotsGetallNotFound with default headers values +func NewV1VolumeSnapshotsGetallNotFound() *V1VolumeSnapshotsGetallNotFound { + return &V1VolumeSnapshotsGetallNotFound{} +} + +/* +V1VolumeSnapshotsGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1VolumeSnapshotsGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots getall not found response has a 2xx status code +func (o *V1VolumeSnapshotsGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots getall not found response has a 3xx status code +func (o *V1VolumeSnapshotsGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots getall not found response has a 4xx status code +func (o *V1VolumeSnapshotsGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 volume snapshots getall not found response has a 5xx status code +func (o *V1VolumeSnapshotsGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 volume snapshots getall not found response a status code equal to that given +func (o *V1VolumeSnapshotsGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 volume snapshots getall not found response +func (o *V1VolumeSnapshotsGetallNotFound) Code() int { + return 404 +} + +func (o *V1VolumeSnapshotsGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallNotFound %s", 404, payload) +} + +func (o *V1VolumeSnapshotsGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallNotFound %s", 404, payload) +} + +func (o *V1VolumeSnapshotsGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetallInternalServerError creates a V1VolumeSnapshotsGetallInternalServerError with default headers values +func NewV1VolumeSnapshotsGetallInternalServerError() *V1VolumeSnapshotsGetallInternalServerError { + return &V1VolumeSnapshotsGetallInternalServerError{} +} + +/* +V1VolumeSnapshotsGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1VolumeSnapshotsGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots getall internal server error response has a 2xx status code +func (o *V1VolumeSnapshotsGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots getall internal server error response has a 3xx status code +func (o *V1VolumeSnapshotsGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots getall internal server error response has a 4xx status code +func (o *V1VolumeSnapshotsGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 volume snapshots getall internal server error response has a 5xx status code +func (o *V1VolumeSnapshotsGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 volume snapshots getall internal server error response a status code equal to that given +func (o *V1VolumeSnapshotsGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 volume snapshots getall internal server error response +func (o *V1VolumeSnapshotsGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1VolumeSnapshotsGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallInternalServerError %s", 500, payload) +} + +func (o *V1VolumeSnapshotsGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallInternalServerError %s", 500, payload) +} + +func (o *V1VolumeSnapshotsGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1VolumeSnapshotsGetallServiceUnavailable creates a V1VolumeSnapshotsGetallServiceUnavailable with default headers values +func NewV1VolumeSnapshotsGetallServiceUnavailable() *V1VolumeSnapshotsGetallServiceUnavailable { + return &V1VolumeSnapshotsGetallServiceUnavailable{} +} + +/* +V1VolumeSnapshotsGetallServiceUnavailable describes a response with status code 503, with default header values. + +Service Unavailable +*/ +type V1VolumeSnapshotsGetallServiceUnavailable struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 volume snapshots getall service unavailable response has a 2xx status code +func (o *V1VolumeSnapshotsGetallServiceUnavailable) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 volume snapshots getall service unavailable response has a 3xx status code +func (o *V1VolumeSnapshotsGetallServiceUnavailable) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 volume snapshots getall service unavailable response has a 4xx status code +func (o *V1VolumeSnapshotsGetallServiceUnavailable) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 volume snapshots getall service unavailable response has a 5xx status code +func (o *V1VolumeSnapshotsGetallServiceUnavailable) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 volume snapshots getall service unavailable response a status code equal to that given +func (o *V1VolumeSnapshotsGetallServiceUnavailable) IsCode(code int) bool { + return code == 503 +} + +// Code gets the status code for the v1 volume snapshots getall service unavailable response +func (o *V1VolumeSnapshotsGetallServiceUnavailable) Code() int { + return 503 +} + +func (o *V1VolumeSnapshotsGetallServiceUnavailable) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallServiceUnavailable %s", 503, payload) +} + +func (o *V1VolumeSnapshotsGetallServiceUnavailable) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/volume-snapshots][%d] v1VolumeSnapshotsGetallServiceUnavailable %s", 503, payload) +} + +func (o *V1VolumeSnapshotsGetallServiceUnavailable) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1VolumeSnapshotsGetallServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/ssh_keys_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/ssh_keys_client.go new file mode 100644 index 000000000..9342dac07 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/ssh_keys_client.go @@ -0,0 +1,295 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new ssh keys API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new ssh keys API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new ssh keys API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for ssh keys API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1SshkeysDelete(params *V1SshkeysDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysDeleteOK, error) + + V1SshkeysGet(params *V1SshkeysGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysGetOK, error) + + V1SshkeysGetall(params *V1SshkeysGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysGetallOK, error) + + V1SshkeysPost(params *V1SshkeysPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysPostCreated, error) + + V1SshkeysPut(params *V1SshkeysPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysPutOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1SshkeysDelete deletes ssh key +*/ +func (a *Client) V1SshkeysDelete(params *V1SshkeysDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysDeleteOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1SshkeysDeleteParams() + } + op := &runtime.ClientOperation{ + ID: "v1.sshkeys.delete", + Method: "DELETE", + PathPattern: "/v1/ssh-keys/{sshkey_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1SshkeysDeleteReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1SshkeysDeleteOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.sshkeys.delete: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1SshkeysGet gets ssh key information +*/ +func (a *Client) V1SshkeysGet(params *V1SshkeysGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1SshkeysGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.sshkeys.get", + Method: "GET", + PathPattern: "/v1/ssh-keys/{sshkey_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1SshkeysGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1SshkeysGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.sshkeys.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1SshkeysGetall lists SSH keys +*/ +func (a *Client) V1SshkeysGetall(params *V1SshkeysGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1SshkeysGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.sshkeys.getall", + Method: "GET", + PathPattern: "/v1/ssh-keys", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1SshkeysGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1SshkeysGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.sshkeys.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1SshkeysPost adds a new SSH key +*/ +func (a *Client) V1SshkeysPost(params *V1SshkeysPostParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysPostCreated, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1SshkeysPostParams() + } + op := &runtime.ClientOperation{ + ID: "v1.sshkeys.post", + Method: "POST", + PathPattern: "/v1/ssh-keys", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1SshkeysPostReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1SshkeysPostCreated) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.sshkeys.post: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1SshkeysPut updates the ssh key +*/ +func (a *Client) V1SshkeysPut(params *V1SshkeysPutParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1SshkeysPutOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1SshkeysPutParams() + } + op := &runtime.ClientOperation{ + ID: "v1.sshkeys.put", + Method: "PUT", + PathPattern: "/v1/ssh-keys/{sshkey_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1SshkeysPutReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1SshkeysPutOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.sshkeys.put: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_delete_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_delete_parameters.go new file mode 100644 index 000000000..67dc61113 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_delete_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1SshkeysDeleteParams creates a new V1SshkeysDeleteParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1SshkeysDeleteParams() *V1SshkeysDeleteParams { + return &V1SshkeysDeleteParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1SshkeysDeleteParamsWithTimeout creates a new V1SshkeysDeleteParams object +// with the ability to set a timeout on a request. +func NewV1SshkeysDeleteParamsWithTimeout(timeout time.Duration) *V1SshkeysDeleteParams { + return &V1SshkeysDeleteParams{ + timeout: timeout, + } +} + +// NewV1SshkeysDeleteParamsWithContext creates a new V1SshkeysDeleteParams object +// with the ability to set a context for a request. +func NewV1SshkeysDeleteParamsWithContext(ctx context.Context) *V1SshkeysDeleteParams { + return &V1SshkeysDeleteParams{ + Context: ctx, + } +} + +// NewV1SshkeysDeleteParamsWithHTTPClient creates a new V1SshkeysDeleteParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1SshkeysDeleteParamsWithHTTPClient(client *http.Client) *V1SshkeysDeleteParams { + return &V1SshkeysDeleteParams{ + HTTPClient: client, + } +} + +/* +V1SshkeysDeleteParams contains all the parameters to send to the API endpoint + + for the v1 sshkeys delete operation. + + Typically these are written to a http.Request. +*/ +type V1SshkeysDeleteParams struct { + + /* SshkeyID. + + SSH Key ID + */ + SshkeyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 sshkeys delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysDeleteParams) WithDefaults() *V1SshkeysDeleteParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 sshkeys delete params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysDeleteParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 sshkeys delete params +func (o *V1SshkeysDeleteParams) WithTimeout(timeout time.Duration) *V1SshkeysDeleteParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 sshkeys delete params +func (o *V1SshkeysDeleteParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 sshkeys delete params +func (o *V1SshkeysDeleteParams) WithContext(ctx context.Context) *V1SshkeysDeleteParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 sshkeys delete params +func (o *V1SshkeysDeleteParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 sshkeys delete params +func (o *V1SshkeysDeleteParams) WithHTTPClient(client *http.Client) *V1SshkeysDeleteParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 sshkeys delete params +func (o *V1SshkeysDeleteParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithSshkeyID adds the sshkeyID to the v1 sshkeys delete params +func (o *V1SshkeysDeleteParams) WithSshkeyID(sshkeyID string) *V1SshkeysDeleteParams { + o.SetSshkeyID(sshkeyID) + return o +} + +// SetSshkeyID adds the sshkeyId to the v1 sshkeys delete params +func (o *V1SshkeysDeleteParams) SetSshkeyID(sshkeyID string) { + o.SshkeyID = sshkeyID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1SshkeysDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param sshkey_id + if err := r.SetPathParam("sshkey_id", o.SshkeyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_delete_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_delete_responses.go new file mode 100644 index 000000000..3225444f7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_delete_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1SshkeysDeleteReader is a Reader for the V1SshkeysDelete structure. +type V1SshkeysDeleteReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1SshkeysDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1SshkeysDeleteOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1SshkeysDeleteBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1SshkeysDeleteUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1SshkeysDeleteForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1SshkeysDeleteNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewV1SshkeysDeleteGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1SshkeysDeleteInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /v1/ssh-keys/{sshkey_id}] v1.sshkeys.delete", response, response.Code()) + } +} + +// NewV1SshkeysDeleteOK creates a V1SshkeysDeleteOK with default headers values +func NewV1SshkeysDeleteOK() *V1SshkeysDeleteOK { + return &V1SshkeysDeleteOK{} +} + +/* +V1SshkeysDeleteOK describes a response with status code 200, with default header values. + +OK +*/ +type V1SshkeysDeleteOK struct { + Payload models.Object +} + +// IsSuccess returns true when this v1 sshkeys delete o k response has a 2xx status code +func (o *V1SshkeysDeleteOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 sshkeys delete o k response has a 3xx status code +func (o *V1SshkeysDeleteOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys delete o k response has a 4xx status code +func (o *V1SshkeysDeleteOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys delete o k response has a 5xx status code +func (o *V1SshkeysDeleteOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys delete o k response a status code equal to that given +func (o *V1SshkeysDeleteOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 sshkeys delete o k response +func (o *V1SshkeysDeleteOK) Code() int { + return 200 +} + +func (o *V1SshkeysDeleteOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteOK %s", 200, payload) +} + +func (o *V1SshkeysDeleteOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteOK %s", 200, payload) +} + +func (o *V1SshkeysDeleteOK) GetPayload() models.Object { + return o.Payload +} + +func (o *V1SshkeysDeleteOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysDeleteBadRequest creates a V1SshkeysDeleteBadRequest with default headers values +func NewV1SshkeysDeleteBadRequest() *V1SshkeysDeleteBadRequest { + return &V1SshkeysDeleteBadRequest{} +} + +/* +V1SshkeysDeleteBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1SshkeysDeleteBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys delete bad request response has a 2xx status code +func (o *V1SshkeysDeleteBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys delete bad request response has a 3xx status code +func (o *V1SshkeysDeleteBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys delete bad request response has a 4xx status code +func (o *V1SshkeysDeleteBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys delete bad request response has a 5xx status code +func (o *V1SshkeysDeleteBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys delete bad request response a status code equal to that given +func (o *V1SshkeysDeleteBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 sshkeys delete bad request response +func (o *V1SshkeysDeleteBadRequest) Code() int { + return 400 +} + +func (o *V1SshkeysDeleteBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteBadRequest %s", 400, payload) +} + +func (o *V1SshkeysDeleteBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteBadRequest %s", 400, payload) +} + +func (o *V1SshkeysDeleteBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysDeleteBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysDeleteUnauthorized creates a V1SshkeysDeleteUnauthorized with default headers values +func NewV1SshkeysDeleteUnauthorized() *V1SshkeysDeleteUnauthorized { + return &V1SshkeysDeleteUnauthorized{} +} + +/* +V1SshkeysDeleteUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1SshkeysDeleteUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys delete unauthorized response has a 2xx status code +func (o *V1SshkeysDeleteUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys delete unauthorized response has a 3xx status code +func (o *V1SshkeysDeleteUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys delete unauthorized response has a 4xx status code +func (o *V1SshkeysDeleteUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys delete unauthorized response has a 5xx status code +func (o *V1SshkeysDeleteUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys delete unauthorized response a status code equal to that given +func (o *V1SshkeysDeleteUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 sshkeys delete unauthorized response +func (o *V1SshkeysDeleteUnauthorized) Code() int { + return 401 +} + +func (o *V1SshkeysDeleteUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysDeleteUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysDeleteUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysDeleteUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysDeleteForbidden creates a V1SshkeysDeleteForbidden with default headers values +func NewV1SshkeysDeleteForbidden() *V1SshkeysDeleteForbidden { + return &V1SshkeysDeleteForbidden{} +} + +/* +V1SshkeysDeleteForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1SshkeysDeleteForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys delete forbidden response has a 2xx status code +func (o *V1SshkeysDeleteForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys delete forbidden response has a 3xx status code +func (o *V1SshkeysDeleteForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys delete forbidden response has a 4xx status code +func (o *V1SshkeysDeleteForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys delete forbidden response has a 5xx status code +func (o *V1SshkeysDeleteForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys delete forbidden response a status code equal to that given +func (o *V1SshkeysDeleteForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 sshkeys delete forbidden response +func (o *V1SshkeysDeleteForbidden) Code() int { + return 403 +} + +func (o *V1SshkeysDeleteForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteForbidden %s", 403, payload) +} + +func (o *V1SshkeysDeleteForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteForbidden %s", 403, payload) +} + +func (o *V1SshkeysDeleteForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysDeleteForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysDeleteNotFound creates a V1SshkeysDeleteNotFound with default headers values +func NewV1SshkeysDeleteNotFound() *V1SshkeysDeleteNotFound { + return &V1SshkeysDeleteNotFound{} +} + +/* +V1SshkeysDeleteNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1SshkeysDeleteNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys delete not found response has a 2xx status code +func (o *V1SshkeysDeleteNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys delete not found response has a 3xx status code +func (o *V1SshkeysDeleteNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys delete not found response has a 4xx status code +func (o *V1SshkeysDeleteNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys delete not found response has a 5xx status code +func (o *V1SshkeysDeleteNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys delete not found response a status code equal to that given +func (o *V1SshkeysDeleteNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 sshkeys delete not found response +func (o *V1SshkeysDeleteNotFound) Code() int { + return 404 +} + +func (o *V1SshkeysDeleteNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteNotFound %s", 404, payload) +} + +func (o *V1SshkeysDeleteNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteNotFound %s", 404, payload) +} + +func (o *V1SshkeysDeleteNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysDeleteNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysDeleteGone creates a V1SshkeysDeleteGone with default headers values +func NewV1SshkeysDeleteGone() *V1SshkeysDeleteGone { + return &V1SshkeysDeleteGone{} +} + +/* +V1SshkeysDeleteGone describes a response with status code 410, with default header values. + +Gone +*/ +type V1SshkeysDeleteGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys delete gone response has a 2xx status code +func (o *V1SshkeysDeleteGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys delete gone response has a 3xx status code +func (o *V1SshkeysDeleteGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys delete gone response has a 4xx status code +func (o *V1SshkeysDeleteGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys delete gone response has a 5xx status code +func (o *V1SshkeysDeleteGone) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys delete gone response a status code equal to that given +func (o *V1SshkeysDeleteGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the v1 sshkeys delete gone response +func (o *V1SshkeysDeleteGone) Code() int { + return 410 +} + +func (o *V1SshkeysDeleteGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteGone %s", 410, payload) +} + +func (o *V1SshkeysDeleteGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteGone %s", 410, payload) +} + +func (o *V1SshkeysDeleteGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysDeleteGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysDeleteInternalServerError creates a V1SshkeysDeleteInternalServerError with default headers values +func NewV1SshkeysDeleteInternalServerError() *V1SshkeysDeleteInternalServerError { + return &V1SshkeysDeleteInternalServerError{} +} + +/* +V1SshkeysDeleteInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1SshkeysDeleteInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys delete internal server error response has a 2xx status code +func (o *V1SshkeysDeleteInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys delete internal server error response has a 3xx status code +func (o *V1SshkeysDeleteInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys delete internal server error response has a 4xx status code +func (o *V1SshkeysDeleteInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys delete internal server error response has a 5xx status code +func (o *V1SshkeysDeleteInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 sshkeys delete internal server error response a status code equal to that given +func (o *V1SshkeysDeleteInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 sshkeys delete internal server error response +func (o *V1SshkeysDeleteInternalServerError) Code() int { + return 500 +} + +func (o *V1SshkeysDeleteInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysDeleteInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysDeleteInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysDeleteInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysDeleteInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_get_parameters.go new file mode 100644 index 000000000..fe512ee23 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1SshkeysGetParams creates a new V1SshkeysGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1SshkeysGetParams() *V1SshkeysGetParams { + return &V1SshkeysGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1SshkeysGetParamsWithTimeout creates a new V1SshkeysGetParams object +// with the ability to set a timeout on a request. +func NewV1SshkeysGetParamsWithTimeout(timeout time.Duration) *V1SshkeysGetParams { + return &V1SshkeysGetParams{ + timeout: timeout, + } +} + +// NewV1SshkeysGetParamsWithContext creates a new V1SshkeysGetParams object +// with the ability to set a context for a request. +func NewV1SshkeysGetParamsWithContext(ctx context.Context) *V1SshkeysGetParams { + return &V1SshkeysGetParams{ + Context: ctx, + } +} + +// NewV1SshkeysGetParamsWithHTTPClient creates a new V1SshkeysGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1SshkeysGetParamsWithHTTPClient(client *http.Client) *V1SshkeysGetParams { + return &V1SshkeysGetParams{ + HTTPClient: client, + } +} + +/* +V1SshkeysGetParams contains all the parameters to send to the API endpoint + + for the v1 sshkeys get operation. + + Typically these are written to a http.Request. +*/ +type V1SshkeysGetParams struct { + + /* SshkeyID. + + SSH Key ID + */ + SshkeyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 sshkeys get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysGetParams) WithDefaults() *V1SshkeysGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 sshkeys get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 sshkeys get params +func (o *V1SshkeysGetParams) WithTimeout(timeout time.Duration) *V1SshkeysGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 sshkeys get params +func (o *V1SshkeysGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 sshkeys get params +func (o *V1SshkeysGetParams) WithContext(ctx context.Context) *V1SshkeysGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 sshkeys get params +func (o *V1SshkeysGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 sshkeys get params +func (o *V1SshkeysGetParams) WithHTTPClient(client *http.Client) *V1SshkeysGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 sshkeys get params +func (o *V1SshkeysGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithSshkeyID adds the sshkeyID to the v1 sshkeys get params +func (o *V1SshkeysGetParams) WithSshkeyID(sshkeyID string) *V1SshkeysGetParams { + o.SetSshkeyID(sshkeyID) + return o +} + +// SetSshkeyID adds the sshkeyId to the v1 sshkeys get params +func (o *V1SshkeysGetParams) SetSshkeyID(sshkeyID string) { + o.SshkeyID = sshkeyID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1SshkeysGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param sshkey_id + if err := r.SetPathParam("sshkey_id", o.SshkeyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_get_responses.go new file mode 100644 index 000000000..826aa1fff --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_get_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1SshkeysGetReader is a Reader for the V1SshkeysGet structure. +type V1SshkeysGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1SshkeysGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1SshkeysGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1SshkeysGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1SshkeysGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1SshkeysGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1SshkeysGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1SshkeysGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/ssh-keys/{sshkey_id}] v1.sshkeys.get", response, response.Code()) + } +} + +// NewV1SshkeysGetOK creates a V1SshkeysGetOK with default headers values +func NewV1SshkeysGetOK() *V1SshkeysGetOK { + return &V1SshkeysGetOK{} +} + +/* +V1SshkeysGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1SshkeysGetOK struct { + Payload *models.WorkspaceSSHKey +} + +// IsSuccess returns true when this v1 sshkeys get o k response has a 2xx status code +func (o *V1SshkeysGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 sshkeys get o k response has a 3xx status code +func (o *V1SshkeysGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys get o k response has a 4xx status code +func (o *V1SshkeysGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys get o k response has a 5xx status code +func (o *V1SshkeysGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys get o k response a status code equal to that given +func (o *V1SshkeysGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 sshkeys get o k response +func (o *V1SshkeysGetOK) Code() int { + return 200 +} + +func (o *V1SshkeysGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetOK %s", 200, payload) +} + +func (o *V1SshkeysGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetOK %s", 200, payload) +} + +func (o *V1SshkeysGetOK) GetPayload() *models.WorkspaceSSHKey { + return o.Payload +} + +func (o *V1SshkeysGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.WorkspaceSSHKey) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetBadRequest creates a V1SshkeysGetBadRequest with default headers values +func NewV1SshkeysGetBadRequest() *V1SshkeysGetBadRequest { + return &V1SshkeysGetBadRequest{} +} + +/* +V1SshkeysGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1SshkeysGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys get bad request response has a 2xx status code +func (o *V1SshkeysGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys get bad request response has a 3xx status code +func (o *V1SshkeysGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys get bad request response has a 4xx status code +func (o *V1SshkeysGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys get bad request response has a 5xx status code +func (o *V1SshkeysGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys get bad request response a status code equal to that given +func (o *V1SshkeysGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 sshkeys get bad request response +func (o *V1SshkeysGetBadRequest) Code() int { + return 400 +} + +func (o *V1SshkeysGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetBadRequest %s", 400, payload) +} + +func (o *V1SshkeysGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetBadRequest %s", 400, payload) +} + +func (o *V1SshkeysGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetUnauthorized creates a V1SshkeysGetUnauthorized with default headers values +func NewV1SshkeysGetUnauthorized() *V1SshkeysGetUnauthorized { + return &V1SshkeysGetUnauthorized{} +} + +/* +V1SshkeysGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1SshkeysGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys get unauthorized response has a 2xx status code +func (o *V1SshkeysGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys get unauthorized response has a 3xx status code +func (o *V1SshkeysGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys get unauthorized response has a 4xx status code +func (o *V1SshkeysGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys get unauthorized response has a 5xx status code +func (o *V1SshkeysGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys get unauthorized response a status code equal to that given +func (o *V1SshkeysGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 sshkeys get unauthorized response +func (o *V1SshkeysGetUnauthorized) Code() int { + return 401 +} + +func (o *V1SshkeysGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetForbidden creates a V1SshkeysGetForbidden with default headers values +func NewV1SshkeysGetForbidden() *V1SshkeysGetForbidden { + return &V1SshkeysGetForbidden{} +} + +/* +V1SshkeysGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1SshkeysGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys get forbidden response has a 2xx status code +func (o *V1SshkeysGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys get forbidden response has a 3xx status code +func (o *V1SshkeysGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys get forbidden response has a 4xx status code +func (o *V1SshkeysGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys get forbidden response has a 5xx status code +func (o *V1SshkeysGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys get forbidden response a status code equal to that given +func (o *V1SshkeysGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 sshkeys get forbidden response +func (o *V1SshkeysGetForbidden) Code() int { + return 403 +} + +func (o *V1SshkeysGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetForbidden %s", 403, payload) +} + +func (o *V1SshkeysGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetForbidden %s", 403, payload) +} + +func (o *V1SshkeysGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetNotFound creates a V1SshkeysGetNotFound with default headers values +func NewV1SshkeysGetNotFound() *V1SshkeysGetNotFound { + return &V1SshkeysGetNotFound{} +} + +/* +V1SshkeysGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1SshkeysGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys get not found response has a 2xx status code +func (o *V1SshkeysGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys get not found response has a 3xx status code +func (o *V1SshkeysGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys get not found response has a 4xx status code +func (o *V1SshkeysGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys get not found response has a 5xx status code +func (o *V1SshkeysGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys get not found response a status code equal to that given +func (o *V1SshkeysGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 sshkeys get not found response +func (o *V1SshkeysGetNotFound) Code() int { + return 404 +} + +func (o *V1SshkeysGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetNotFound %s", 404, payload) +} + +func (o *V1SshkeysGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetNotFound %s", 404, payload) +} + +func (o *V1SshkeysGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetInternalServerError creates a V1SshkeysGetInternalServerError with default headers values +func NewV1SshkeysGetInternalServerError() *V1SshkeysGetInternalServerError { + return &V1SshkeysGetInternalServerError{} +} + +/* +V1SshkeysGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1SshkeysGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys get internal server error response has a 2xx status code +func (o *V1SshkeysGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys get internal server error response has a 3xx status code +func (o *V1SshkeysGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys get internal server error response has a 4xx status code +func (o *V1SshkeysGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys get internal server error response has a 5xx status code +func (o *V1SshkeysGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 sshkeys get internal server error response a status code equal to that given +func (o *V1SshkeysGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 sshkeys get internal server error response +func (o *V1SshkeysGetInternalServerError) Code() int { + return 500 +} + +func (o *V1SshkeysGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysGetInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_getall_parameters.go new file mode 100644 index 000000000..2962350c1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_getall_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1SshkeysGetallParams creates a new V1SshkeysGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1SshkeysGetallParams() *V1SshkeysGetallParams { + return &V1SshkeysGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1SshkeysGetallParamsWithTimeout creates a new V1SshkeysGetallParams object +// with the ability to set a timeout on a request. +func NewV1SshkeysGetallParamsWithTimeout(timeout time.Duration) *V1SshkeysGetallParams { + return &V1SshkeysGetallParams{ + timeout: timeout, + } +} + +// NewV1SshkeysGetallParamsWithContext creates a new V1SshkeysGetallParams object +// with the ability to set a context for a request. +func NewV1SshkeysGetallParamsWithContext(ctx context.Context) *V1SshkeysGetallParams { + return &V1SshkeysGetallParams{ + Context: ctx, + } +} + +// NewV1SshkeysGetallParamsWithHTTPClient creates a new V1SshkeysGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1SshkeysGetallParamsWithHTTPClient(client *http.Client) *V1SshkeysGetallParams { + return &V1SshkeysGetallParams{ + HTTPClient: client, + } +} + +/* +V1SshkeysGetallParams contains all the parameters to send to the API endpoint + + for the v1 sshkeys getall operation. + + Typically these are written to a http.Request. +*/ +type V1SshkeysGetallParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 sshkeys getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysGetallParams) WithDefaults() *V1SshkeysGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 sshkeys getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 sshkeys getall params +func (o *V1SshkeysGetallParams) WithTimeout(timeout time.Duration) *V1SshkeysGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 sshkeys getall params +func (o *V1SshkeysGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 sshkeys getall params +func (o *V1SshkeysGetallParams) WithContext(ctx context.Context) *V1SshkeysGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 sshkeys getall params +func (o *V1SshkeysGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 sshkeys getall params +func (o *V1SshkeysGetallParams) WithHTTPClient(client *http.Client) *V1SshkeysGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 sshkeys getall params +func (o *V1SshkeysGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *V1SshkeysGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_getall_responses.go new file mode 100644 index 000000000..4005777ca --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_getall_responses.go @@ -0,0 +1,487 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1SshkeysGetallReader is a Reader for the V1SshkeysGetall structure. +type V1SshkeysGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1SshkeysGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1SshkeysGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1SshkeysGetallBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1SshkeysGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1SshkeysGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1SshkeysGetallNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1SshkeysGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/ssh-keys] v1.sshkeys.getall", response, response.Code()) + } +} + +// NewV1SshkeysGetallOK creates a V1SshkeysGetallOK with default headers values +func NewV1SshkeysGetallOK() *V1SshkeysGetallOK { + return &V1SshkeysGetallOK{} +} + +/* +V1SshkeysGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1SshkeysGetallOK struct { + Payload *models.WorkspaceSSHKeys +} + +// IsSuccess returns true when this v1 sshkeys getall o k response has a 2xx status code +func (o *V1SshkeysGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 sshkeys getall o k response has a 3xx status code +func (o *V1SshkeysGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys getall o k response has a 4xx status code +func (o *V1SshkeysGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys getall o k response has a 5xx status code +func (o *V1SshkeysGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys getall o k response a status code equal to that given +func (o *V1SshkeysGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 sshkeys getall o k response +func (o *V1SshkeysGetallOK) Code() int { + return 200 +} + +func (o *V1SshkeysGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallOK %s", 200, payload) +} + +func (o *V1SshkeysGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallOK %s", 200, payload) +} + +func (o *V1SshkeysGetallOK) GetPayload() *models.WorkspaceSSHKeys { + return o.Payload +} + +func (o *V1SshkeysGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.WorkspaceSSHKeys) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetallBadRequest creates a V1SshkeysGetallBadRequest with default headers values +func NewV1SshkeysGetallBadRequest() *V1SshkeysGetallBadRequest { + return &V1SshkeysGetallBadRequest{} +} + +/* +V1SshkeysGetallBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1SshkeysGetallBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys getall bad request response has a 2xx status code +func (o *V1SshkeysGetallBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys getall bad request response has a 3xx status code +func (o *V1SshkeysGetallBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys getall bad request response has a 4xx status code +func (o *V1SshkeysGetallBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys getall bad request response has a 5xx status code +func (o *V1SshkeysGetallBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys getall bad request response a status code equal to that given +func (o *V1SshkeysGetallBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 sshkeys getall bad request response +func (o *V1SshkeysGetallBadRequest) Code() int { + return 400 +} + +func (o *V1SshkeysGetallBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallBadRequest %s", 400, payload) +} + +func (o *V1SshkeysGetallBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallBadRequest %s", 400, payload) +} + +func (o *V1SshkeysGetallBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetallBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetallUnauthorized creates a V1SshkeysGetallUnauthorized with default headers values +func NewV1SshkeysGetallUnauthorized() *V1SshkeysGetallUnauthorized { + return &V1SshkeysGetallUnauthorized{} +} + +/* +V1SshkeysGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1SshkeysGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys getall unauthorized response has a 2xx status code +func (o *V1SshkeysGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys getall unauthorized response has a 3xx status code +func (o *V1SshkeysGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys getall unauthorized response has a 4xx status code +func (o *V1SshkeysGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys getall unauthorized response has a 5xx status code +func (o *V1SshkeysGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys getall unauthorized response a status code equal to that given +func (o *V1SshkeysGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 sshkeys getall unauthorized response +func (o *V1SshkeysGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1SshkeysGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetallForbidden creates a V1SshkeysGetallForbidden with default headers values +func NewV1SshkeysGetallForbidden() *V1SshkeysGetallForbidden { + return &V1SshkeysGetallForbidden{} +} + +/* +V1SshkeysGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1SshkeysGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys getall forbidden response has a 2xx status code +func (o *V1SshkeysGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys getall forbidden response has a 3xx status code +func (o *V1SshkeysGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys getall forbidden response has a 4xx status code +func (o *V1SshkeysGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys getall forbidden response has a 5xx status code +func (o *V1SshkeysGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys getall forbidden response a status code equal to that given +func (o *V1SshkeysGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 sshkeys getall forbidden response +func (o *V1SshkeysGetallForbidden) Code() int { + return 403 +} + +func (o *V1SshkeysGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallForbidden %s", 403, payload) +} + +func (o *V1SshkeysGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallForbidden %s", 403, payload) +} + +func (o *V1SshkeysGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetallNotFound creates a V1SshkeysGetallNotFound with default headers values +func NewV1SshkeysGetallNotFound() *V1SshkeysGetallNotFound { + return &V1SshkeysGetallNotFound{} +} + +/* +V1SshkeysGetallNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1SshkeysGetallNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys getall not found response has a 2xx status code +func (o *V1SshkeysGetallNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys getall not found response has a 3xx status code +func (o *V1SshkeysGetallNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys getall not found response has a 4xx status code +func (o *V1SshkeysGetallNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys getall not found response has a 5xx status code +func (o *V1SshkeysGetallNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys getall not found response a status code equal to that given +func (o *V1SshkeysGetallNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 sshkeys getall not found response +func (o *V1SshkeysGetallNotFound) Code() int { + return 404 +} + +func (o *V1SshkeysGetallNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallNotFound %s", 404, payload) +} + +func (o *V1SshkeysGetallNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallNotFound %s", 404, payload) +} + +func (o *V1SshkeysGetallNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetallNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysGetallInternalServerError creates a V1SshkeysGetallInternalServerError with default headers values +func NewV1SshkeysGetallInternalServerError() *V1SshkeysGetallInternalServerError { + return &V1SshkeysGetallInternalServerError{} +} + +/* +V1SshkeysGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1SshkeysGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys getall internal server error response has a 2xx status code +func (o *V1SshkeysGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys getall internal server error response has a 3xx status code +func (o *V1SshkeysGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys getall internal server error response has a 4xx status code +func (o *V1SshkeysGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys getall internal server error response has a 5xx status code +func (o *V1SshkeysGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 sshkeys getall internal server error response a status code equal to that given +func (o *V1SshkeysGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 sshkeys getall internal server error response +func (o *V1SshkeysGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1SshkeysGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/ssh-keys][%d] v1SshkeysGetallInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_post_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_post_parameters.go new file mode 100644 index 000000000..73dc1eaf5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_post_parameters.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1SshkeysPostParams creates a new V1SshkeysPostParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1SshkeysPostParams() *V1SshkeysPostParams { + return &V1SshkeysPostParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1SshkeysPostParamsWithTimeout creates a new V1SshkeysPostParams object +// with the ability to set a timeout on a request. +func NewV1SshkeysPostParamsWithTimeout(timeout time.Duration) *V1SshkeysPostParams { + return &V1SshkeysPostParams{ + timeout: timeout, + } +} + +// NewV1SshkeysPostParamsWithContext creates a new V1SshkeysPostParams object +// with the ability to set a context for a request. +func NewV1SshkeysPostParamsWithContext(ctx context.Context) *V1SshkeysPostParams { + return &V1SshkeysPostParams{ + Context: ctx, + } +} + +// NewV1SshkeysPostParamsWithHTTPClient creates a new V1SshkeysPostParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1SshkeysPostParamsWithHTTPClient(client *http.Client) *V1SshkeysPostParams { + return &V1SshkeysPostParams{ + HTTPClient: client, + } +} + +/* +V1SshkeysPostParams contains all the parameters to send to the API endpoint + + for the v1 sshkeys post operation. + + Typically these are written to a http.Request. +*/ +type V1SshkeysPostParams struct { + + /* Body. + + Parameters for the creation of a new SSH key + */ + Body *models.CreateWorkspaceSSHKey + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 sshkeys post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysPostParams) WithDefaults() *V1SshkeysPostParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 sshkeys post params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysPostParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 sshkeys post params +func (o *V1SshkeysPostParams) WithTimeout(timeout time.Duration) *V1SshkeysPostParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 sshkeys post params +func (o *V1SshkeysPostParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 sshkeys post params +func (o *V1SshkeysPostParams) WithContext(ctx context.Context) *V1SshkeysPostParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 sshkeys post params +func (o *V1SshkeysPostParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 sshkeys post params +func (o *V1SshkeysPostParams) WithHTTPClient(client *http.Client) *V1SshkeysPostParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 sshkeys post params +func (o *V1SshkeysPostParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 sshkeys post params +func (o *V1SshkeysPostParams) WithBody(body *models.CreateWorkspaceSSHKey) *V1SshkeysPostParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 sshkeys post params +func (o *V1SshkeysPostParams) SetBody(body *models.CreateWorkspaceSSHKey) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *V1SshkeysPostParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_post_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_post_responses.go new file mode 100644 index 000000000..97ebfbef3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_post_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1SshkeysPostReader is a Reader for the V1SshkeysPost structure. +type V1SshkeysPostReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1SshkeysPostReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 201: + result := NewV1SshkeysPostCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1SshkeysPostBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1SshkeysPostUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1SshkeysPostForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1SshkeysPostNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1SshkeysPostConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewV1SshkeysPostUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1SshkeysPostInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /v1/ssh-keys] v1.sshkeys.post", response, response.Code()) + } +} + +// NewV1SshkeysPostCreated creates a V1SshkeysPostCreated with default headers values +func NewV1SshkeysPostCreated() *V1SshkeysPostCreated { + return &V1SshkeysPostCreated{} +} + +/* +V1SshkeysPostCreated describes a response with status code 201, with default header values. + +Created +*/ +type V1SshkeysPostCreated struct { + Payload *models.WorkspaceSSHKey +} + +// IsSuccess returns true when this v1 sshkeys post created response has a 2xx status code +func (o *V1SshkeysPostCreated) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 sshkeys post created response has a 3xx status code +func (o *V1SshkeysPostCreated) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys post created response has a 4xx status code +func (o *V1SshkeysPostCreated) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys post created response has a 5xx status code +func (o *V1SshkeysPostCreated) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys post created response a status code equal to that given +func (o *V1SshkeysPostCreated) IsCode(code int) bool { + return code == 201 +} + +// Code gets the status code for the v1 sshkeys post created response +func (o *V1SshkeysPostCreated) Code() int { + return 201 +} + +func (o *V1SshkeysPostCreated) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostCreated %s", 201, payload) +} + +func (o *V1SshkeysPostCreated) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostCreated %s", 201, payload) +} + +func (o *V1SshkeysPostCreated) GetPayload() *models.WorkspaceSSHKey { + return o.Payload +} + +func (o *V1SshkeysPostCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.WorkspaceSSHKey) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPostBadRequest creates a V1SshkeysPostBadRequest with default headers values +func NewV1SshkeysPostBadRequest() *V1SshkeysPostBadRequest { + return &V1SshkeysPostBadRequest{} +} + +/* +V1SshkeysPostBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1SshkeysPostBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys post bad request response has a 2xx status code +func (o *V1SshkeysPostBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys post bad request response has a 3xx status code +func (o *V1SshkeysPostBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys post bad request response has a 4xx status code +func (o *V1SshkeysPostBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys post bad request response has a 5xx status code +func (o *V1SshkeysPostBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys post bad request response a status code equal to that given +func (o *V1SshkeysPostBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 sshkeys post bad request response +func (o *V1SshkeysPostBadRequest) Code() int { + return 400 +} + +func (o *V1SshkeysPostBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostBadRequest %s", 400, payload) +} + +func (o *V1SshkeysPostBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostBadRequest %s", 400, payload) +} + +func (o *V1SshkeysPostBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPostBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPostUnauthorized creates a V1SshkeysPostUnauthorized with default headers values +func NewV1SshkeysPostUnauthorized() *V1SshkeysPostUnauthorized { + return &V1SshkeysPostUnauthorized{} +} + +/* +V1SshkeysPostUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1SshkeysPostUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys post unauthorized response has a 2xx status code +func (o *V1SshkeysPostUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys post unauthorized response has a 3xx status code +func (o *V1SshkeysPostUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys post unauthorized response has a 4xx status code +func (o *V1SshkeysPostUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys post unauthorized response has a 5xx status code +func (o *V1SshkeysPostUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys post unauthorized response a status code equal to that given +func (o *V1SshkeysPostUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 sshkeys post unauthorized response +func (o *V1SshkeysPostUnauthorized) Code() int { + return 401 +} + +func (o *V1SshkeysPostUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysPostUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysPostUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPostUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPostForbidden creates a V1SshkeysPostForbidden with default headers values +func NewV1SshkeysPostForbidden() *V1SshkeysPostForbidden { + return &V1SshkeysPostForbidden{} +} + +/* +V1SshkeysPostForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1SshkeysPostForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys post forbidden response has a 2xx status code +func (o *V1SshkeysPostForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys post forbidden response has a 3xx status code +func (o *V1SshkeysPostForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys post forbidden response has a 4xx status code +func (o *V1SshkeysPostForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys post forbidden response has a 5xx status code +func (o *V1SshkeysPostForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys post forbidden response a status code equal to that given +func (o *V1SshkeysPostForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 sshkeys post forbidden response +func (o *V1SshkeysPostForbidden) Code() int { + return 403 +} + +func (o *V1SshkeysPostForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostForbidden %s", 403, payload) +} + +func (o *V1SshkeysPostForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostForbidden %s", 403, payload) +} + +func (o *V1SshkeysPostForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPostForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPostNotFound creates a V1SshkeysPostNotFound with default headers values +func NewV1SshkeysPostNotFound() *V1SshkeysPostNotFound { + return &V1SshkeysPostNotFound{} +} + +/* +V1SshkeysPostNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1SshkeysPostNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys post not found response has a 2xx status code +func (o *V1SshkeysPostNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys post not found response has a 3xx status code +func (o *V1SshkeysPostNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys post not found response has a 4xx status code +func (o *V1SshkeysPostNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys post not found response has a 5xx status code +func (o *V1SshkeysPostNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys post not found response a status code equal to that given +func (o *V1SshkeysPostNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 sshkeys post not found response +func (o *V1SshkeysPostNotFound) Code() int { + return 404 +} + +func (o *V1SshkeysPostNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostNotFound %s", 404, payload) +} + +func (o *V1SshkeysPostNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostNotFound %s", 404, payload) +} + +func (o *V1SshkeysPostNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPostNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPostConflict creates a V1SshkeysPostConflict with default headers values +func NewV1SshkeysPostConflict() *V1SshkeysPostConflict { + return &V1SshkeysPostConflict{} +} + +/* +V1SshkeysPostConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1SshkeysPostConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys post conflict response has a 2xx status code +func (o *V1SshkeysPostConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys post conflict response has a 3xx status code +func (o *V1SshkeysPostConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys post conflict response has a 4xx status code +func (o *V1SshkeysPostConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys post conflict response has a 5xx status code +func (o *V1SshkeysPostConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys post conflict response a status code equal to that given +func (o *V1SshkeysPostConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 sshkeys post conflict response +func (o *V1SshkeysPostConflict) Code() int { + return 409 +} + +func (o *V1SshkeysPostConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostConflict %s", 409, payload) +} + +func (o *V1SshkeysPostConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostConflict %s", 409, payload) +} + +func (o *V1SshkeysPostConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPostConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPostUnprocessableEntity creates a V1SshkeysPostUnprocessableEntity with default headers values +func NewV1SshkeysPostUnprocessableEntity() *V1SshkeysPostUnprocessableEntity { + return &V1SshkeysPostUnprocessableEntity{} +} + +/* +V1SshkeysPostUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type V1SshkeysPostUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys post unprocessable entity response has a 2xx status code +func (o *V1SshkeysPostUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys post unprocessable entity response has a 3xx status code +func (o *V1SshkeysPostUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys post unprocessable entity response has a 4xx status code +func (o *V1SshkeysPostUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys post unprocessable entity response has a 5xx status code +func (o *V1SshkeysPostUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys post unprocessable entity response a status code equal to that given +func (o *V1SshkeysPostUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the v1 sshkeys post unprocessable entity response +func (o *V1SshkeysPostUnprocessableEntity) Code() int { + return 422 +} + +func (o *V1SshkeysPostUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1SshkeysPostUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostUnprocessableEntity %s", 422, payload) +} + +func (o *V1SshkeysPostUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPostUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPostInternalServerError creates a V1SshkeysPostInternalServerError with default headers values +func NewV1SshkeysPostInternalServerError() *V1SshkeysPostInternalServerError { + return &V1SshkeysPostInternalServerError{} +} + +/* +V1SshkeysPostInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1SshkeysPostInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys post internal server error response has a 2xx status code +func (o *V1SshkeysPostInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys post internal server error response has a 3xx status code +func (o *V1SshkeysPostInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys post internal server error response has a 4xx status code +func (o *V1SshkeysPostInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys post internal server error response has a 5xx status code +func (o *V1SshkeysPostInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 sshkeys post internal server error response a status code equal to that given +func (o *V1SshkeysPostInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 sshkeys post internal server error response +func (o *V1SshkeysPostInternalServerError) Code() int { + return 500 +} + +func (o *V1SshkeysPostInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysPostInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/ssh-keys][%d] v1SshkeysPostInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysPostInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPostInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_put_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_put_parameters.go new file mode 100644 index 000000000..7384b6911 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_put_parameters.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// NewV1SshkeysPutParams creates a new V1SshkeysPutParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1SshkeysPutParams() *V1SshkeysPutParams { + return &V1SshkeysPutParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1SshkeysPutParamsWithTimeout creates a new V1SshkeysPutParams object +// with the ability to set a timeout on a request. +func NewV1SshkeysPutParamsWithTimeout(timeout time.Duration) *V1SshkeysPutParams { + return &V1SshkeysPutParams{ + timeout: timeout, + } +} + +// NewV1SshkeysPutParamsWithContext creates a new V1SshkeysPutParams object +// with the ability to set a context for a request. +func NewV1SshkeysPutParamsWithContext(ctx context.Context) *V1SshkeysPutParams { + return &V1SshkeysPutParams{ + Context: ctx, + } +} + +// NewV1SshkeysPutParamsWithHTTPClient creates a new V1SshkeysPutParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1SshkeysPutParamsWithHTTPClient(client *http.Client) *V1SshkeysPutParams { + return &V1SshkeysPutParams{ + HTTPClient: client, + } +} + +/* +V1SshkeysPutParams contains all the parameters to send to the API endpoint + + for the v1 sshkeys put operation. + + Typically these are written to a http.Request. +*/ +type V1SshkeysPutParams struct { + + /* Body. + + Parameter for updating SSH key + */ + Body *models.UpdateWorkspaceSSHKey + + /* SshkeyID. + + SSH Key ID + */ + SshkeyID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 sshkeys put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysPutParams) WithDefaults() *V1SshkeysPutParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 sshkeys put params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1SshkeysPutParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 sshkeys put params +func (o *V1SshkeysPutParams) WithTimeout(timeout time.Duration) *V1SshkeysPutParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 sshkeys put params +func (o *V1SshkeysPutParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 sshkeys put params +func (o *V1SshkeysPutParams) WithContext(ctx context.Context) *V1SshkeysPutParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 sshkeys put params +func (o *V1SshkeysPutParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 sshkeys put params +func (o *V1SshkeysPutParams) WithHTTPClient(client *http.Client) *V1SshkeysPutParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 sshkeys put params +func (o *V1SshkeysPutParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the v1 sshkeys put params +func (o *V1SshkeysPutParams) WithBody(body *models.UpdateWorkspaceSSHKey) *V1SshkeysPutParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the v1 sshkeys put params +func (o *V1SshkeysPutParams) SetBody(body *models.UpdateWorkspaceSSHKey) { + o.Body = body +} + +// WithSshkeyID adds the sshkeyID to the v1 sshkeys put params +func (o *V1SshkeysPutParams) WithSshkeyID(sshkeyID string) *V1SshkeysPutParams { + o.SetSshkeyID(sshkeyID) + return o +} + +// SetSshkeyID adds the sshkeyId to the v1 sshkeys put params +func (o *V1SshkeysPutParams) SetSshkeyID(sshkeyID string) { + o.SshkeyID = sshkeyID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1SshkeysPutParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param sshkey_id + if err := r.SetPathParam("sshkey_id", o.SshkeyID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_put_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_put_responses.go new file mode 100644 index 000000000..eec32bcf6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/ssh_keys/v1_sshkeys_put_responses.go @@ -0,0 +1,639 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package ssh_keys + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1SshkeysPutReader is a Reader for the V1SshkeysPut structure. +type V1SshkeysPutReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1SshkeysPutReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1SshkeysPutOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1SshkeysPutBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1SshkeysPutUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1SshkeysPutForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1SshkeysPutNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewV1SshkeysPutConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 410: + result := NewV1SshkeysPutGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1SshkeysPutInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /v1/ssh-keys/{sshkey_id}] v1.sshkeys.put", response, response.Code()) + } +} + +// NewV1SshkeysPutOK creates a V1SshkeysPutOK with default headers values +func NewV1SshkeysPutOK() *V1SshkeysPutOK { + return &V1SshkeysPutOK{} +} + +/* +V1SshkeysPutOK describes a response with status code 200, with default header values. + +OK +*/ +type V1SshkeysPutOK struct { + Payload *models.WorkspaceSSHKey +} + +// IsSuccess returns true when this v1 sshkeys put o k response has a 2xx status code +func (o *V1SshkeysPutOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 sshkeys put o k response has a 3xx status code +func (o *V1SshkeysPutOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys put o k response has a 4xx status code +func (o *V1SshkeysPutOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys put o k response has a 5xx status code +func (o *V1SshkeysPutOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys put o k response a status code equal to that given +func (o *V1SshkeysPutOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 sshkeys put o k response +func (o *V1SshkeysPutOK) Code() int { + return 200 +} + +func (o *V1SshkeysPutOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutOK %s", 200, payload) +} + +func (o *V1SshkeysPutOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutOK %s", 200, payload) +} + +func (o *V1SshkeysPutOK) GetPayload() *models.WorkspaceSSHKey { + return o.Payload +} + +func (o *V1SshkeysPutOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.WorkspaceSSHKey) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPutBadRequest creates a V1SshkeysPutBadRequest with default headers values +func NewV1SshkeysPutBadRequest() *V1SshkeysPutBadRequest { + return &V1SshkeysPutBadRequest{} +} + +/* +V1SshkeysPutBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1SshkeysPutBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys put bad request response has a 2xx status code +func (o *V1SshkeysPutBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys put bad request response has a 3xx status code +func (o *V1SshkeysPutBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys put bad request response has a 4xx status code +func (o *V1SshkeysPutBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys put bad request response has a 5xx status code +func (o *V1SshkeysPutBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys put bad request response a status code equal to that given +func (o *V1SshkeysPutBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 sshkeys put bad request response +func (o *V1SshkeysPutBadRequest) Code() int { + return 400 +} + +func (o *V1SshkeysPutBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutBadRequest %s", 400, payload) +} + +func (o *V1SshkeysPutBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutBadRequest %s", 400, payload) +} + +func (o *V1SshkeysPutBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPutBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPutUnauthorized creates a V1SshkeysPutUnauthorized with default headers values +func NewV1SshkeysPutUnauthorized() *V1SshkeysPutUnauthorized { + return &V1SshkeysPutUnauthorized{} +} + +/* +V1SshkeysPutUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1SshkeysPutUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys put unauthorized response has a 2xx status code +func (o *V1SshkeysPutUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys put unauthorized response has a 3xx status code +func (o *V1SshkeysPutUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys put unauthorized response has a 4xx status code +func (o *V1SshkeysPutUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys put unauthorized response has a 5xx status code +func (o *V1SshkeysPutUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys put unauthorized response a status code equal to that given +func (o *V1SshkeysPutUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 sshkeys put unauthorized response +func (o *V1SshkeysPutUnauthorized) Code() int { + return 401 +} + +func (o *V1SshkeysPutUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysPutUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutUnauthorized %s", 401, payload) +} + +func (o *V1SshkeysPutUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPutUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPutForbidden creates a V1SshkeysPutForbidden with default headers values +func NewV1SshkeysPutForbidden() *V1SshkeysPutForbidden { + return &V1SshkeysPutForbidden{} +} + +/* +V1SshkeysPutForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1SshkeysPutForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys put forbidden response has a 2xx status code +func (o *V1SshkeysPutForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys put forbidden response has a 3xx status code +func (o *V1SshkeysPutForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys put forbidden response has a 4xx status code +func (o *V1SshkeysPutForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys put forbidden response has a 5xx status code +func (o *V1SshkeysPutForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys put forbidden response a status code equal to that given +func (o *V1SshkeysPutForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 sshkeys put forbidden response +func (o *V1SshkeysPutForbidden) Code() int { + return 403 +} + +func (o *V1SshkeysPutForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutForbidden %s", 403, payload) +} + +func (o *V1SshkeysPutForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutForbidden %s", 403, payload) +} + +func (o *V1SshkeysPutForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPutForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPutNotFound creates a V1SshkeysPutNotFound with default headers values +func NewV1SshkeysPutNotFound() *V1SshkeysPutNotFound { + return &V1SshkeysPutNotFound{} +} + +/* +V1SshkeysPutNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1SshkeysPutNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys put not found response has a 2xx status code +func (o *V1SshkeysPutNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys put not found response has a 3xx status code +func (o *V1SshkeysPutNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys put not found response has a 4xx status code +func (o *V1SshkeysPutNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys put not found response has a 5xx status code +func (o *V1SshkeysPutNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys put not found response a status code equal to that given +func (o *V1SshkeysPutNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 sshkeys put not found response +func (o *V1SshkeysPutNotFound) Code() int { + return 404 +} + +func (o *V1SshkeysPutNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutNotFound %s", 404, payload) +} + +func (o *V1SshkeysPutNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutNotFound %s", 404, payload) +} + +func (o *V1SshkeysPutNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPutNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPutConflict creates a V1SshkeysPutConflict with default headers values +func NewV1SshkeysPutConflict() *V1SshkeysPutConflict { + return &V1SshkeysPutConflict{} +} + +/* +V1SshkeysPutConflict describes a response with status code 409, with default header values. + +Conflict +*/ +type V1SshkeysPutConflict struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys put conflict response has a 2xx status code +func (o *V1SshkeysPutConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys put conflict response has a 3xx status code +func (o *V1SshkeysPutConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys put conflict response has a 4xx status code +func (o *V1SshkeysPutConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys put conflict response has a 5xx status code +func (o *V1SshkeysPutConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys put conflict response a status code equal to that given +func (o *V1SshkeysPutConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the v1 sshkeys put conflict response +func (o *V1SshkeysPutConflict) Code() int { + return 409 +} + +func (o *V1SshkeysPutConflict) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutConflict %s", 409, payload) +} + +func (o *V1SshkeysPutConflict) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutConflict %s", 409, payload) +} + +func (o *V1SshkeysPutConflict) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPutConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPutGone creates a V1SshkeysPutGone with default headers values +func NewV1SshkeysPutGone() *V1SshkeysPutGone { + return &V1SshkeysPutGone{} +} + +/* +V1SshkeysPutGone describes a response with status code 410, with default header values. + +Gone +*/ +type V1SshkeysPutGone struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys put gone response has a 2xx status code +func (o *V1SshkeysPutGone) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys put gone response has a 3xx status code +func (o *V1SshkeysPutGone) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys put gone response has a 4xx status code +func (o *V1SshkeysPutGone) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 sshkeys put gone response has a 5xx status code +func (o *V1SshkeysPutGone) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 sshkeys put gone response a status code equal to that given +func (o *V1SshkeysPutGone) IsCode(code int) bool { + return code == 410 +} + +// Code gets the status code for the v1 sshkeys put gone response +func (o *V1SshkeysPutGone) Code() int { + return 410 +} + +func (o *V1SshkeysPutGone) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutGone %s", 410, payload) +} + +func (o *V1SshkeysPutGone) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutGone %s", 410, payload) +} + +func (o *V1SshkeysPutGone) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPutGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1SshkeysPutInternalServerError creates a V1SshkeysPutInternalServerError with default headers values +func NewV1SshkeysPutInternalServerError() *V1SshkeysPutInternalServerError { + return &V1SshkeysPutInternalServerError{} +} + +/* +V1SshkeysPutInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1SshkeysPutInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 sshkeys put internal server error response has a 2xx status code +func (o *V1SshkeysPutInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 sshkeys put internal server error response has a 3xx status code +func (o *V1SshkeysPutInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 sshkeys put internal server error response has a 4xx status code +func (o *V1SshkeysPutInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 sshkeys put internal server error response has a 5xx status code +func (o *V1SshkeysPutInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 sshkeys put internal server error response a status code equal to that given +func (o *V1SshkeysPutInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 sshkeys put internal server error response +func (o *V1SshkeysPutInternalServerError) Code() int { + return 500 +} + +func (o *V1SshkeysPutInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysPutInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/ssh-keys/{sshkey_id}][%d] v1SshkeysPutInternalServerError %s", 500, payload) +} + +func (o *V1SshkeysPutInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1SshkeysPutInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/service_broker_storagetypes_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/service_broker_storagetypes_get_parameters.go new file mode 100644 index 000000000..81cd3a298 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/service_broker_storagetypes_get_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package storage_types + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerStoragetypesGetParams creates a new ServiceBrokerStoragetypesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerStoragetypesGetParams() *ServiceBrokerStoragetypesGetParams { + return &ServiceBrokerStoragetypesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerStoragetypesGetParamsWithTimeout creates a new ServiceBrokerStoragetypesGetParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerStoragetypesGetParamsWithTimeout(timeout time.Duration) *ServiceBrokerStoragetypesGetParams { + return &ServiceBrokerStoragetypesGetParams{ + timeout: timeout, + } +} + +// NewServiceBrokerStoragetypesGetParamsWithContext creates a new ServiceBrokerStoragetypesGetParams object +// with the ability to set a context for a request. +func NewServiceBrokerStoragetypesGetParamsWithContext(ctx context.Context) *ServiceBrokerStoragetypesGetParams { + return &ServiceBrokerStoragetypesGetParams{ + Context: ctx, + } +} + +// NewServiceBrokerStoragetypesGetParamsWithHTTPClient creates a new ServiceBrokerStoragetypesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerStoragetypesGetParamsWithHTTPClient(client *http.Client) *ServiceBrokerStoragetypesGetParams { + return &ServiceBrokerStoragetypesGetParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerStoragetypesGetParams contains all the parameters to send to the API endpoint + + for the service broker storagetypes get operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerStoragetypesGetParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker storagetypes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerStoragetypesGetParams) WithDefaults() *ServiceBrokerStoragetypesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker storagetypes get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerStoragetypesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker storagetypes get params +func (o *ServiceBrokerStoragetypesGetParams) WithTimeout(timeout time.Duration) *ServiceBrokerStoragetypesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker storagetypes get params +func (o *ServiceBrokerStoragetypesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker storagetypes get params +func (o *ServiceBrokerStoragetypesGetParams) WithContext(ctx context.Context) *ServiceBrokerStoragetypesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker storagetypes get params +func (o *ServiceBrokerStoragetypesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker storagetypes get params +func (o *ServiceBrokerStoragetypesGetParams) WithHTTPClient(client *http.Client) *ServiceBrokerStoragetypesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker storagetypes get params +func (o *ServiceBrokerStoragetypesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerStoragetypesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/service_broker_storagetypes_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/service_broker_storagetypes_get_responses.go new file mode 100644 index 000000000..1d246c26f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/service_broker_storagetypes_get_responses.go @@ -0,0 +1,561 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package storage_types + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerStoragetypesGetReader is a Reader for the ServiceBrokerStoragetypesGet structure. +type ServiceBrokerStoragetypesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerStoragetypesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerStoragetypesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerStoragetypesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerStoragetypesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerStoragetypesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerStoragetypesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 422: + result := NewServiceBrokerStoragetypesGetUnprocessableEntity() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewServiceBrokerStoragetypesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /broker/v1/storage-types] serviceBroker.storagetypes.get", response, response.Code()) + } +} + +// NewServiceBrokerStoragetypesGetOK creates a ServiceBrokerStoragetypesGetOK with default headers values +func NewServiceBrokerStoragetypesGetOK() *ServiceBrokerStoragetypesGetOK { + return &ServiceBrokerStoragetypesGetOK{} +} + +/* +ServiceBrokerStoragetypesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerStoragetypesGetOK struct { + Payload models.StorageTypes +} + +// IsSuccess returns true when this service broker storagetypes get o k response has a 2xx status code +func (o *ServiceBrokerStoragetypesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker storagetypes get o k response has a 3xx status code +func (o *ServiceBrokerStoragetypesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker storagetypes get o k response has a 4xx status code +func (o *ServiceBrokerStoragetypesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker storagetypes get o k response has a 5xx status code +func (o *ServiceBrokerStoragetypesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker storagetypes get o k response a status code equal to that given +func (o *ServiceBrokerStoragetypesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker storagetypes get o k response +func (o *ServiceBrokerStoragetypesGetOK) Code() int { + return 200 +} + +func (o *ServiceBrokerStoragetypesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetOK %s", 200, payload) +} + +func (o *ServiceBrokerStoragetypesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetOK %s", 200, payload) +} + +func (o *ServiceBrokerStoragetypesGetOK) GetPayload() models.StorageTypes { + return o.Payload +} + +func (o *ServiceBrokerStoragetypesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerStoragetypesGetBadRequest creates a ServiceBrokerStoragetypesGetBadRequest with default headers values +func NewServiceBrokerStoragetypesGetBadRequest() *ServiceBrokerStoragetypesGetBadRequest { + return &ServiceBrokerStoragetypesGetBadRequest{} +} + +/* +ServiceBrokerStoragetypesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerStoragetypesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker storagetypes get bad request response has a 2xx status code +func (o *ServiceBrokerStoragetypesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker storagetypes get bad request response has a 3xx status code +func (o *ServiceBrokerStoragetypesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker storagetypes get bad request response has a 4xx status code +func (o *ServiceBrokerStoragetypesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker storagetypes get bad request response has a 5xx status code +func (o *ServiceBrokerStoragetypesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker storagetypes get bad request response a status code equal to that given +func (o *ServiceBrokerStoragetypesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker storagetypes get bad request response +func (o *ServiceBrokerStoragetypesGetBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerStoragetypesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerStoragetypesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerStoragetypesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerStoragetypesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerStoragetypesGetUnauthorized creates a ServiceBrokerStoragetypesGetUnauthorized with default headers values +func NewServiceBrokerStoragetypesGetUnauthorized() *ServiceBrokerStoragetypesGetUnauthorized { + return &ServiceBrokerStoragetypesGetUnauthorized{} +} + +/* +ServiceBrokerStoragetypesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerStoragetypesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker storagetypes get unauthorized response has a 2xx status code +func (o *ServiceBrokerStoragetypesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker storagetypes get unauthorized response has a 3xx status code +func (o *ServiceBrokerStoragetypesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker storagetypes get unauthorized response has a 4xx status code +func (o *ServiceBrokerStoragetypesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker storagetypes get unauthorized response has a 5xx status code +func (o *ServiceBrokerStoragetypesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker storagetypes get unauthorized response a status code equal to that given +func (o *ServiceBrokerStoragetypesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker storagetypes get unauthorized response +func (o *ServiceBrokerStoragetypesGetUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerStoragetypesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerStoragetypesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerStoragetypesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerStoragetypesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerStoragetypesGetForbidden creates a ServiceBrokerStoragetypesGetForbidden with default headers values +func NewServiceBrokerStoragetypesGetForbidden() *ServiceBrokerStoragetypesGetForbidden { + return &ServiceBrokerStoragetypesGetForbidden{} +} + +/* +ServiceBrokerStoragetypesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerStoragetypesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker storagetypes get forbidden response has a 2xx status code +func (o *ServiceBrokerStoragetypesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker storagetypes get forbidden response has a 3xx status code +func (o *ServiceBrokerStoragetypesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker storagetypes get forbidden response has a 4xx status code +func (o *ServiceBrokerStoragetypesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker storagetypes get forbidden response has a 5xx status code +func (o *ServiceBrokerStoragetypesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker storagetypes get forbidden response a status code equal to that given +func (o *ServiceBrokerStoragetypesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker storagetypes get forbidden response +func (o *ServiceBrokerStoragetypesGetForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerStoragetypesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerStoragetypesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetForbidden %s", 403, payload) +} + +func (o *ServiceBrokerStoragetypesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerStoragetypesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerStoragetypesGetNotFound creates a ServiceBrokerStoragetypesGetNotFound with default headers values +func NewServiceBrokerStoragetypesGetNotFound() *ServiceBrokerStoragetypesGetNotFound { + return &ServiceBrokerStoragetypesGetNotFound{} +} + +/* +ServiceBrokerStoragetypesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerStoragetypesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker storagetypes get not found response has a 2xx status code +func (o *ServiceBrokerStoragetypesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker storagetypes get not found response has a 3xx status code +func (o *ServiceBrokerStoragetypesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker storagetypes get not found response has a 4xx status code +func (o *ServiceBrokerStoragetypesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker storagetypes get not found response has a 5xx status code +func (o *ServiceBrokerStoragetypesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker storagetypes get not found response a status code equal to that given +func (o *ServiceBrokerStoragetypesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker storagetypes get not found response +func (o *ServiceBrokerStoragetypesGetNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerStoragetypesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerStoragetypesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetNotFound %s", 404, payload) +} + +func (o *ServiceBrokerStoragetypesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerStoragetypesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerStoragetypesGetUnprocessableEntity creates a ServiceBrokerStoragetypesGetUnprocessableEntity with default headers values +func NewServiceBrokerStoragetypesGetUnprocessableEntity() *ServiceBrokerStoragetypesGetUnprocessableEntity { + return &ServiceBrokerStoragetypesGetUnprocessableEntity{} +} + +/* +ServiceBrokerStoragetypesGetUnprocessableEntity describes a response with status code 422, with default header values. + +Unprocessable Entity +*/ +type ServiceBrokerStoragetypesGetUnprocessableEntity struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker storagetypes get unprocessable entity response has a 2xx status code +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker storagetypes get unprocessable entity response has a 3xx status code +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker storagetypes get unprocessable entity response has a 4xx status code +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker storagetypes get unprocessable entity response has a 5xx status code +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker storagetypes get unprocessable entity response a status code equal to that given +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) IsCode(code int) bool { + return code == 422 +} + +// Code gets the status code for the service broker storagetypes get unprocessable entity response +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) Code() int { + return 422 +} + +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetUnprocessableEntity %s", 422, payload) +} + +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerStoragetypesGetUnprocessableEntity) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerStoragetypesGetInternalServerError creates a ServiceBrokerStoragetypesGetInternalServerError with default headers values +func NewServiceBrokerStoragetypesGetInternalServerError() *ServiceBrokerStoragetypesGetInternalServerError { + return &ServiceBrokerStoragetypesGetInternalServerError{} +} + +/* +ServiceBrokerStoragetypesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type ServiceBrokerStoragetypesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker storagetypes get internal server error response has a 2xx status code +func (o *ServiceBrokerStoragetypesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker storagetypes get internal server error response has a 3xx status code +func (o *ServiceBrokerStoragetypesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker storagetypes get internal server error response has a 4xx status code +func (o *ServiceBrokerStoragetypesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker storagetypes get internal server error response has a 5xx status code +func (o *ServiceBrokerStoragetypesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this service broker storagetypes get internal server error response a status code equal to that given +func (o *ServiceBrokerStoragetypesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the service broker storagetypes get internal server error response +func (o *ServiceBrokerStoragetypesGetInternalServerError) Code() int { + return 500 +} + +func (o *ServiceBrokerStoragetypesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerStoragetypesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /broker/v1/storage-types][%d] serviceBrokerStoragetypesGetInternalServerError %s", 500, payload) +} + +func (o *ServiceBrokerStoragetypesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerStoragetypesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/storage_types_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/storage_types_client.go new file mode 100644 index 000000000..8d0dc6fce --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/storage_types/storage_types_client.go @@ -0,0 +1,114 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package storage_types + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new storage types API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new storage types API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new storage types API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for storage types API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + ServiceBrokerStoragetypesGet(params *ServiceBrokerStoragetypesGetParams, opts ...ClientOption) (*ServiceBrokerStoragetypesGetOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* + ServiceBrokerStoragetypesGet availables storage types in a region + + This API is deprecated for /pcloud/v1/cloud-instances/{cloud_instance_id}/storage-tiers. + +>*Note*: Support for this API will be available till 31st October 2023. +*/ +func (a *Client) ServiceBrokerStoragetypesGet(params *ServiceBrokerStoragetypesGetParams, opts ...ClientOption) (*ServiceBrokerStoragetypesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerStoragetypesGetParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.storagetypes.get", + Method: "GET", + PathPattern: "/broker/v1/storage-types", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerStoragetypesGetReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerStoragetypesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.storagetypes.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/service_broker_swaggerspec_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/service_broker_swaggerspec_parameters.go new file mode 100644 index 000000000..42725e2a6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/service_broker_swaggerspec_parameters.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package swagger_spec + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewServiceBrokerSwaggerspecParams creates a new ServiceBrokerSwaggerspecParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewServiceBrokerSwaggerspecParams() *ServiceBrokerSwaggerspecParams { + return &ServiceBrokerSwaggerspecParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewServiceBrokerSwaggerspecParamsWithTimeout creates a new ServiceBrokerSwaggerspecParams object +// with the ability to set a timeout on a request. +func NewServiceBrokerSwaggerspecParamsWithTimeout(timeout time.Duration) *ServiceBrokerSwaggerspecParams { + return &ServiceBrokerSwaggerspecParams{ + timeout: timeout, + } +} + +// NewServiceBrokerSwaggerspecParamsWithContext creates a new ServiceBrokerSwaggerspecParams object +// with the ability to set a context for a request. +func NewServiceBrokerSwaggerspecParamsWithContext(ctx context.Context) *ServiceBrokerSwaggerspecParams { + return &ServiceBrokerSwaggerspecParams{ + Context: ctx, + } +} + +// NewServiceBrokerSwaggerspecParamsWithHTTPClient creates a new ServiceBrokerSwaggerspecParams object +// with the ability to set a custom HTTPClient for a request. +func NewServiceBrokerSwaggerspecParamsWithHTTPClient(client *http.Client) *ServiceBrokerSwaggerspecParams { + return &ServiceBrokerSwaggerspecParams{ + HTTPClient: client, + } +} + +/* +ServiceBrokerSwaggerspecParams contains all the parameters to send to the API endpoint + + for the service broker swaggerspec operation. + + Typically these are written to a http.Request. +*/ +type ServiceBrokerSwaggerspecParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the service broker swaggerspec params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerSwaggerspecParams) WithDefaults() *ServiceBrokerSwaggerspecParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the service broker swaggerspec params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *ServiceBrokerSwaggerspecParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the service broker swaggerspec params +func (o *ServiceBrokerSwaggerspecParams) WithTimeout(timeout time.Duration) *ServiceBrokerSwaggerspecParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the service broker swaggerspec params +func (o *ServiceBrokerSwaggerspecParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the service broker swaggerspec params +func (o *ServiceBrokerSwaggerspecParams) WithContext(ctx context.Context) *ServiceBrokerSwaggerspecParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the service broker swaggerspec params +func (o *ServiceBrokerSwaggerspecParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the service broker swaggerspec params +func (o *ServiceBrokerSwaggerspecParams) WithHTTPClient(client *http.Client) *ServiceBrokerSwaggerspecParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the service broker swaggerspec params +func (o *ServiceBrokerSwaggerspecParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *ServiceBrokerSwaggerspecParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/service_broker_swaggerspec_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/service_broker_swaggerspec_responses.go new file mode 100644 index 000000000..89697907f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/service_broker_swaggerspec_responses.go @@ -0,0 +1,409 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package swagger_spec + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// ServiceBrokerSwaggerspecReader is a Reader for the ServiceBrokerSwaggerspec structure. +type ServiceBrokerSwaggerspecReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *ServiceBrokerSwaggerspecReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewServiceBrokerSwaggerspecOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewServiceBrokerSwaggerspecBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewServiceBrokerSwaggerspecUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewServiceBrokerSwaggerspecForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewServiceBrokerSwaggerspecNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/swagger.json] serviceBroker.swaggerspec", response, response.Code()) + } +} + +// NewServiceBrokerSwaggerspecOK creates a ServiceBrokerSwaggerspecOK with default headers values +func NewServiceBrokerSwaggerspecOK() *ServiceBrokerSwaggerspecOK { + return &ServiceBrokerSwaggerspecOK{} +} + +/* +ServiceBrokerSwaggerspecOK describes a response with status code 200, with default header values. + +OK +*/ +type ServiceBrokerSwaggerspecOK struct { + Payload models.Object +} + +// IsSuccess returns true when this service broker swaggerspec o k response has a 2xx status code +func (o *ServiceBrokerSwaggerspecOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this service broker swaggerspec o k response has a 3xx status code +func (o *ServiceBrokerSwaggerspecOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker swaggerspec o k response has a 4xx status code +func (o *ServiceBrokerSwaggerspecOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this service broker swaggerspec o k response has a 5xx status code +func (o *ServiceBrokerSwaggerspecOK) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker swaggerspec o k response a status code equal to that given +func (o *ServiceBrokerSwaggerspecOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the service broker swaggerspec o k response +func (o *ServiceBrokerSwaggerspecOK) Code() int { + return 200 +} + +func (o *ServiceBrokerSwaggerspecOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecOK %s", 200, payload) +} + +func (o *ServiceBrokerSwaggerspecOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecOK %s", 200, payload) +} + +func (o *ServiceBrokerSwaggerspecOK) GetPayload() models.Object { + return o.Payload +} + +func (o *ServiceBrokerSwaggerspecOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerSwaggerspecBadRequest creates a ServiceBrokerSwaggerspecBadRequest with default headers values +func NewServiceBrokerSwaggerspecBadRequest() *ServiceBrokerSwaggerspecBadRequest { + return &ServiceBrokerSwaggerspecBadRequest{} +} + +/* +ServiceBrokerSwaggerspecBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type ServiceBrokerSwaggerspecBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker swaggerspec bad request response has a 2xx status code +func (o *ServiceBrokerSwaggerspecBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker swaggerspec bad request response has a 3xx status code +func (o *ServiceBrokerSwaggerspecBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker swaggerspec bad request response has a 4xx status code +func (o *ServiceBrokerSwaggerspecBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker swaggerspec bad request response has a 5xx status code +func (o *ServiceBrokerSwaggerspecBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker swaggerspec bad request response a status code equal to that given +func (o *ServiceBrokerSwaggerspecBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the service broker swaggerspec bad request response +func (o *ServiceBrokerSwaggerspecBadRequest) Code() int { + return 400 +} + +func (o *ServiceBrokerSwaggerspecBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerSwaggerspecBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecBadRequest %s", 400, payload) +} + +func (o *ServiceBrokerSwaggerspecBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerSwaggerspecBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerSwaggerspecUnauthorized creates a ServiceBrokerSwaggerspecUnauthorized with default headers values +func NewServiceBrokerSwaggerspecUnauthorized() *ServiceBrokerSwaggerspecUnauthorized { + return &ServiceBrokerSwaggerspecUnauthorized{} +} + +/* +ServiceBrokerSwaggerspecUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type ServiceBrokerSwaggerspecUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker swaggerspec unauthorized response has a 2xx status code +func (o *ServiceBrokerSwaggerspecUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker swaggerspec unauthorized response has a 3xx status code +func (o *ServiceBrokerSwaggerspecUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker swaggerspec unauthorized response has a 4xx status code +func (o *ServiceBrokerSwaggerspecUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker swaggerspec unauthorized response has a 5xx status code +func (o *ServiceBrokerSwaggerspecUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker swaggerspec unauthorized response a status code equal to that given +func (o *ServiceBrokerSwaggerspecUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the service broker swaggerspec unauthorized response +func (o *ServiceBrokerSwaggerspecUnauthorized) Code() int { + return 401 +} + +func (o *ServiceBrokerSwaggerspecUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerSwaggerspecUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecUnauthorized %s", 401, payload) +} + +func (o *ServiceBrokerSwaggerspecUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerSwaggerspecUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerSwaggerspecForbidden creates a ServiceBrokerSwaggerspecForbidden with default headers values +func NewServiceBrokerSwaggerspecForbidden() *ServiceBrokerSwaggerspecForbidden { + return &ServiceBrokerSwaggerspecForbidden{} +} + +/* +ServiceBrokerSwaggerspecForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type ServiceBrokerSwaggerspecForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker swaggerspec forbidden response has a 2xx status code +func (o *ServiceBrokerSwaggerspecForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker swaggerspec forbidden response has a 3xx status code +func (o *ServiceBrokerSwaggerspecForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker swaggerspec forbidden response has a 4xx status code +func (o *ServiceBrokerSwaggerspecForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker swaggerspec forbidden response has a 5xx status code +func (o *ServiceBrokerSwaggerspecForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker swaggerspec forbidden response a status code equal to that given +func (o *ServiceBrokerSwaggerspecForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the service broker swaggerspec forbidden response +func (o *ServiceBrokerSwaggerspecForbidden) Code() int { + return 403 +} + +func (o *ServiceBrokerSwaggerspecForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecForbidden %s", 403, payload) +} + +func (o *ServiceBrokerSwaggerspecForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecForbidden %s", 403, payload) +} + +func (o *ServiceBrokerSwaggerspecForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerSwaggerspecForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewServiceBrokerSwaggerspecNotFound creates a ServiceBrokerSwaggerspecNotFound with default headers values +func NewServiceBrokerSwaggerspecNotFound() *ServiceBrokerSwaggerspecNotFound { + return &ServiceBrokerSwaggerspecNotFound{} +} + +/* +ServiceBrokerSwaggerspecNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type ServiceBrokerSwaggerspecNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this service broker swaggerspec not found response has a 2xx status code +func (o *ServiceBrokerSwaggerspecNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this service broker swaggerspec not found response has a 3xx status code +func (o *ServiceBrokerSwaggerspecNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this service broker swaggerspec not found response has a 4xx status code +func (o *ServiceBrokerSwaggerspecNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this service broker swaggerspec not found response has a 5xx status code +func (o *ServiceBrokerSwaggerspecNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this service broker swaggerspec not found response a status code equal to that given +func (o *ServiceBrokerSwaggerspecNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the service broker swaggerspec not found response +func (o *ServiceBrokerSwaggerspecNotFound) Code() int { + return 404 +} + +func (o *ServiceBrokerSwaggerspecNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecNotFound %s", 404, payload) +} + +func (o *ServiceBrokerSwaggerspecNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/swagger.json][%d] serviceBrokerSwaggerspecNotFound %s", 404, payload) +} + +func (o *ServiceBrokerSwaggerspecNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *ServiceBrokerSwaggerspecNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/swagger_spec_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/swagger_spec_client.go new file mode 100644 index 000000000..eb010206c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/swagger_spec/swagger_spec_client.go @@ -0,0 +1,110 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package swagger_spec + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new swagger spec API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new swagger spec API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new swagger spec API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for swagger spec API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + ServiceBrokerSwaggerspec(params *ServiceBrokerSwaggerspecParams, opts ...ClientOption) (*ServiceBrokerSwaggerspecOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +ServiceBrokerSwaggerspec gets swagger json spec +*/ +func (a *Client) ServiceBrokerSwaggerspec(params *ServiceBrokerSwaggerspecParams, opts ...ClientOption) (*ServiceBrokerSwaggerspecOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewServiceBrokerSwaggerspecParams() + } + op := &runtime.ClientOperation{ + ID: "serviceBroker.swaggerspec", + Method: "GET", + PathPattern: "/v1/swagger.json", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &ServiceBrokerSwaggerspecReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*ServiceBrokerSwaggerspecOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for serviceBroker.swaggerspec: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_get_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_get_parameters.go new file mode 100644 index 000000000..9cf5760cd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_get_parameters.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package workspaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewV1WorkspacesGetParams creates a new V1WorkspacesGetParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1WorkspacesGetParams() *V1WorkspacesGetParams { + return &V1WorkspacesGetParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1WorkspacesGetParamsWithTimeout creates a new V1WorkspacesGetParams object +// with the ability to set a timeout on a request. +func NewV1WorkspacesGetParamsWithTimeout(timeout time.Duration) *V1WorkspacesGetParams { + return &V1WorkspacesGetParams{ + timeout: timeout, + } +} + +// NewV1WorkspacesGetParamsWithContext creates a new V1WorkspacesGetParams object +// with the ability to set a context for a request. +func NewV1WorkspacesGetParamsWithContext(ctx context.Context) *V1WorkspacesGetParams { + return &V1WorkspacesGetParams{ + Context: ctx, + } +} + +// NewV1WorkspacesGetParamsWithHTTPClient creates a new V1WorkspacesGetParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1WorkspacesGetParamsWithHTTPClient(client *http.Client) *V1WorkspacesGetParams { + return &V1WorkspacesGetParams{ + HTTPClient: client, + } +} + +/* +V1WorkspacesGetParams contains all the parameters to send to the API endpoint + + for the v1 workspaces get operation. + + Typically these are written to a http.Request. +*/ +type V1WorkspacesGetParams struct { + + /* WorkspaceID. + + Workspace ID + */ + WorkspaceID string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 workspaces get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1WorkspacesGetParams) WithDefaults() *V1WorkspacesGetParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 workspaces get params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1WorkspacesGetParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 workspaces get params +func (o *V1WorkspacesGetParams) WithTimeout(timeout time.Duration) *V1WorkspacesGetParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 workspaces get params +func (o *V1WorkspacesGetParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 workspaces get params +func (o *V1WorkspacesGetParams) WithContext(ctx context.Context) *V1WorkspacesGetParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 workspaces get params +func (o *V1WorkspacesGetParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 workspaces get params +func (o *V1WorkspacesGetParams) WithHTTPClient(client *http.Client) *V1WorkspacesGetParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 workspaces get params +func (o *V1WorkspacesGetParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithWorkspaceID adds the workspaceID to the v1 workspaces get params +func (o *V1WorkspacesGetParams) WithWorkspaceID(workspaceID string) *V1WorkspacesGetParams { + o.SetWorkspaceID(workspaceID) + return o +} + +// SetWorkspaceID adds the workspaceId to the v1 workspaces get params +func (o *V1WorkspacesGetParams) SetWorkspaceID(workspaceID string) { + o.WorkspaceID = workspaceID +} + +// WriteToRequest writes these params to a swagger request +func (o *V1WorkspacesGetParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param workspace_id + if err := r.SetPathParam("workspace_id", o.WorkspaceID); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_get_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_get_responses.go new file mode 100644 index 000000000..824e7994c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_get_responses.go @@ -0,0 +1,563 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package workspaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1WorkspacesGetReader is a Reader for the V1WorkspacesGet structure. +type V1WorkspacesGetReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1WorkspacesGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1WorkspacesGetOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewV1WorkspacesGetBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewV1WorkspacesGetUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1WorkspacesGetForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewV1WorkspacesGetNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewV1WorkspacesGetTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1WorkspacesGetInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/workspaces/{workspace_id}] v1.workspaces.get", response, response.Code()) + } +} + +// NewV1WorkspacesGetOK creates a V1WorkspacesGetOK with default headers values +func NewV1WorkspacesGetOK() *V1WorkspacesGetOK { + return &V1WorkspacesGetOK{} +} + +/* +V1WorkspacesGetOK describes a response with status code 200, with default header values. + +OK +*/ +type V1WorkspacesGetOK struct { + Payload *models.Workspace +} + +// IsSuccess returns true when this v1 workspaces get o k response has a 2xx status code +func (o *V1WorkspacesGetOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 workspaces get o k response has a 3xx status code +func (o *V1WorkspacesGetOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces get o k response has a 4xx status code +func (o *V1WorkspacesGetOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 workspaces get o k response has a 5xx status code +func (o *V1WorkspacesGetOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces get o k response a status code equal to that given +func (o *V1WorkspacesGetOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 workspaces get o k response +func (o *V1WorkspacesGetOK) Code() int { + return 200 +} + +func (o *V1WorkspacesGetOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetOK %s", 200, payload) +} + +func (o *V1WorkspacesGetOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetOK %s", 200, payload) +} + +func (o *V1WorkspacesGetOK) GetPayload() *models.Workspace { + return o.Payload +} + +func (o *V1WorkspacesGetOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Workspace) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetBadRequest creates a V1WorkspacesGetBadRequest with default headers values +func NewV1WorkspacesGetBadRequest() *V1WorkspacesGetBadRequest { + return &V1WorkspacesGetBadRequest{} +} + +/* +V1WorkspacesGetBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type V1WorkspacesGetBadRequest struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces get bad request response has a 2xx status code +func (o *V1WorkspacesGetBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces get bad request response has a 3xx status code +func (o *V1WorkspacesGetBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces get bad request response has a 4xx status code +func (o *V1WorkspacesGetBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 workspaces get bad request response has a 5xx status code +func (o *V1WorkspacesGetBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces get bad request response a status code equal to that given +func (o *V1WorkspacesGetBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the v1 workspaces get bad request response +func (o *V1WorkspacesGetBadRequest) Code() int { + return 400 +} + +func (o *V1WorkspacesGetBadRequest) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetBadRequest %s", 400, payload) +} + +func (o *V1WorkspacesGetBadRequest) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetBadRequest %s", 400, payload) +} + +func (o *V1WorkspacesGetBadRequest) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetUnauthorized creates a V1WorkspacesGetUnauthorized with default headers values +func NewV1WorkspacesGetUnauthorized() *V1WorkspacesGetUnauthorized { + return &V1WorkspacesGetUnauthorized{} +} + +/* +V1WorkspacesGetUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1WorkspacesGetUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces get unauthorized response has a 2xx status code +func (o *V1WorkspacesGetUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces get unauthorized response has a 3xx status code +func (o *V1WorkspacesGetUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces get unauthorized response has a 4xx status code +func (o *V1WorkspacesGetUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 workspaces get unauthorized response has a 5xx status code +func (o *V1WorkspacesGetUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces get unauthorized response a status code equal to that given +func (o *V1WorkspacesGetUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 workspaces get unauthorized response +func (o *V1WorkspacesGetUnauthorized) Code() int { + return 401 +} + +func (o *V1WorkspacesGetUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetUnauthorized %s", 401, payload) +} + +func (o *V1WorkspacesGetUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetUnauthorized %s", 401, payload) +} + +func (o *V1WorkspacesGetUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetForbidden creates a V1WorkspacesGetForbidden with default headers values +func NewV1WorkspacesGetForbidden() *V1WorkspacesGetForbidden { + return &V1WorkspacesGetForbidden{} +} + +/* +V1WorkspacesGetForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1WorkspacesGetForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces get forbidden response has a 2xx status code +func (o *V1WorkspacesGetForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces get forbidden response has a 3xx status code +func (o *V1WorkspacesGetForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces get forbidden response has a 4xx status code +func (o *V1WorkspacesGetForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 workspaces get forbidden response has a 5xx status code +func (o *V1WorkspacesGetForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces get forbidden response a status code equal to that given +func (o *V1WorkspacesGetForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 workspaces get forbidden response +func (o *V1WorkspacesGetForbidden) Code() int { + return 403 +} + +func (o *V1WorkspacesGetForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetForbidden %s", 403, payload) +} + +func (o *V1WorkspacesGetForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetForbidden %s", 403, payload) +} + +func (o *V1WorkspacesGetForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetNotFound creates a V1WorkspacesGetNotFound with default headers values +func NewV1WorkspacesGetNotFound() *V1WorkspacesGetNotFound { + return &V1WorkspacesGetNotFound{} +} + +/* +V1WorkspacesGetNotFound describes a response with status code 404, with default header values. + +Not Found +*/ +type V1WorkspacesGetNotFound struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces get not found response has a 2xx status code +func (o *V1WorkspacesGetNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces get not found response has a 3xx status code +func (o *V1WorkspacesGetNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces get not found response has a 4xx status code +func (o *V1WorkspacesGetNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 workspaces get not found response has a 5xx status code +func (o *V1WorkspacesGetNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces get not found response a status code equal to that given +func (o *V1WorkspacesGetNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the v1 workspaces get not found response +func (o *V1WorkspacesGetNotFound) Code() int { + return 404 +} + +func (o *V1WorkspacesGetNotFound) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetNotFound %s", 404, payload) +} + +func (o *V1WorkspacesGetNotFound) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetNotFound %s", 404, payload) +} + +func (o *V1WorkspacesGetNotFound) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetTooManyRequests creates a V1WorkspacesGetTooManyRequests with default headers values +func NewV1WorkspacesGetTooManyRequests() *V1WorkspacesGetTooManyRequests { + return &V1WorkspacesGetTooManyRequests{} +} + +/* +V1WorkspacesGetTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type V1WorkspacesGetTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces get too many requests response has a 2xx status code +func (o *V1WorkspacesGetTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces get too many requests response has a 3xx status code +func (o *V1WorkspacesGetTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces get too many requests response has a 4xx status code +func (o *V1WorkspacesGetTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 workspaces get too many requests response has a 5xx status code +func (o *V1WorkspacesGetTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces get too many requests response a status code equal to that given +func (o *V1WorkspacesGetTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the v1 workspaces get too many requests response +func (o *V1WorkspacesGetTooManyRequests) Code() int { + return 429 +} + +func (o *V1WorkspacesGetTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetTooManyRequests %s", 429, payload) +} + +func (o *V1WorkspacesGetTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetTooManyRequests %s", 429, payload) +} + +func (o *V1WorkspacesGetTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetInternalServerError creates a V1WorkspacesGetInternalServerError with default headers values +func NewV1WorkspacesGetInternalServerError() *V1WorkspacesGetInternalServerError { + return &V1WorkspacesGetInternalServerError{} +} + +/* +V1WorkspacesGetInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1WorkspacesGetInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces get internal server error response has a 2xx status code +func (o *V1WorkspacesGetInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces get internal server error response has a 3xx status code +func (o *V1WorkspacesGetInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces get internal server error response has a 4xx status code +func (o *V1WorkspacesGetInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 workspaces get internal server error response has a 5xx status code +func (o *V1WorkspacesGetInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 workspaces get internal server error response a status code equal to that given +func (o *V1WorkspacesGetInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 workspaces get internal server error response +func (o *V1WorkspacesGetInternalServerError) Code() int { + return 500 +} + +func (o *V1WorkspacesGetInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetInternalServerError %s", 500, payload) +} + +func (o *V1WorkspacesGetInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces/{workspace_id}][%d] v1WorkspacesGetInternalServerError %s", 500, payload) +} + +func (o *V1WorkspacesGetInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_getall_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_getall_parameters.go new file mode 100644 index 000000000..126c502f3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_getall_parameters.go @@ -0,0 +1,164 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package workspaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewV1WorkspacesGetallParams creates a new V1WorkspacesGetallParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewV1WorkspacesGetallParams() *V1WorkspacesGetallParams { + return &V1WorkspacesGetallParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewV1WorkspacesGetallParamsWithTimeout creates a new V1WorkspacesGetallParams object +// with the ability to set a timeout on a request. +func NewV1WorkspacesGetallParamsWithTimeout(timeout time.Duration) *V1WorkspacesGetallParams { + return &V1WorkspacesGetallParams{ + timeout: timeout, + } +} + +// NewV1WorkspacesGetallParamsWithContext creates a new V1WorkspacesGetallParams object +// with the ability to set a context for a request. +func NewV1WorkspacesGetallParamsWithContext(ctx context.Context) *V1WorkspacesGetallParams { + return &V1WorkspacesGetallParams{ + Context: ctx, + } +} + +// NewV1WorkspacesGetallParamsWithHTTPClient creates a new V1WorkspacesGetallParams object +// with the ability to set a custom HTTPClient for a request. +func NewV1WorkspacesGetallParamsWithHTTPClient(client *http.Client) *V1WorkspacesGetallParams { + return &V1WorkspacesGetallParams{ + HTTPClient: client, + } +} + +/* +V1WorkspacesGetallParams contains all the parameters to send to the API endpoint + + for the v1 workspaces getall operation. + + Typically these are written to a http.Request. +*/ +type V1WorkspacesGetallParams struct { + + /* TgwByPassEnabled. + + Enable transit gateway bypass for the workspace list (default=false) + */ + TgwByPassEnabled *bool + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the v1 workspaces getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1WorkspacesGetallParams) WithDefaults() *V1WorkspacesGetallParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the v1 workspaces getall params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *V1WorkspacesGetallParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the v1 workspaces getall params +func (o *V1WorkspacesGetallParams) WithTimeout(timeout time.Duration) *V1WorkspacesGetallParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the v1 workspaces getall params +func (o *V1WorkspacesGetallParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the v1 workspaces getall params +func (o *V1WorkspacesGetallParams) WithContext(ctx context.Context) *V1WorkspacesGetallParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the v1 workspaces getall params +func (o *V1WorkspacesGetallParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the v1 workspaces getall params +func (o *V1WorkspacesGetallParams) WithHTTPClient(client *http.Client) *V1WorkspacesGetallParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the v1 workspaces getall params +func (o *V1WorkspacesGetallParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithTgwByPassEnabled adds the tgwByPassEnabled to the v1 workspaces getall params +func (o *V1WorkspacesGetallParams) WithTgwByPassEnabled(tgwByPassEnabled *bool) *V1WorkspacesGetallParams { + o.SetTgwByPassEnabled(tgwByPassEnabled) + return o +} + +// SetTgwByPassEnabled adds the tgwByPassEnabled to the v1 workspaces getall params +func (o *V1WorkspacesGetallParams) SetTgwByPassEnabled(tgwByPassEnabled *bool) { + o.TgwByPassEnabled = tgwByPassEnabled +} + +// WriteToRequest writes these params to a swagger request +func (o *V1WorkspacesGetallParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.TgwByPassEnabled != nil { + + // query param tgwByPassEnabled + var qrTgwByPassEnabled bool + + if o.TgwByPassEnabled != nil { + qrTgwByPassEnabled = *o.TgwByPassEnabled + } + qTgwByPassEnabled := swag.FormatBool(qrTgwByPassEnabled) + if qTgwByPassEnabled != "" { + + if err := r.SetQueryParam("tgwByPassEnabled", qTgwByPassEnabled); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_getall_responses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_getall_responses.go new file mode 100644 index 000000000..2a08b56f7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/v1_workspaces_getall_responses.go @@ -0,0 +1,411 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package workspaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/IBM-Cloud/power-go-client/power/models" +) + +// V1WorkspacesGetallReader is a Reader for the V1WorkspacesGetall structure. +type V1WorkspacesGetallReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *V1WorkspacesGetallReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewV1WorkspacesGetallOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewV1WorkspacesGetallUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewV1WorkspacesGetallForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewV1WorkspacesGetallTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewV1WorkspacesGetallInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /v1/workspaces] v1.workspaces.getall", response, response.Code()) + } +} + +// NewV1WorkspacesGetallOK creates a V1WorkspacesGetallOK with default headers values +func NewV1WorkspacesGetallOK() *V1WorkspacesGetallOK { + return &V1WorkspacesGetallOK{} +} + +/* +V1WorkspacesGetallOK describes a response with status code 200, with default header values. + +OK +*/ +type V1WorkspacesGetallOK struct { + Payload *models.Workspaces +} + +// IsSuccess returns true when this v1 workspaces getall o k response has a 2xx status code +func (o *V1WorkspacesGetallOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this v1 workspaces getall o k response has a 3xx status code +func (o *V1WorkspacesGetallOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces getall o k response has a 4xx status code +func (o *V1WorkspacesGetallOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 workspaces getall o k response has a 5xx status code +func (o *V1WorkspacesGetallOK) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces getall o k response a status code equal to that given +func (o *V1WorkspacesGetallOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the v1 workspaces getall o k response +func (o *V1WorkspacesGetallOK) Code() int { + return 200 +} + +func (o *V1WorkspacesGetallOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallOK %s", 200, payload) +} + +func (o *V1WorkspacesGetallOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallOK %s", 200, payload) +} + +func (o *V1WorkspacesGetallOK) GetPayload() *models.Workspaces { + return o.Payload +} + +func (o *V1WorkspacesGetallOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Workspaces) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetallUnauthorized creates a V1WorkspacesGetallUnauthorized with default headers values +func NewV1WorkspacesGetallUnauthorized() *V1WorkspacesGetallUnauthorized { + return &V1WorkspacesGetallUnauthorized{} +} + +/* +V1WorkspacesGetallUnauthorized describes a response with status code 401, with default header values. + +Unauthorized +*/ +type V1WorkspacesGetallUnauthorized struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces getall unauthorized response has a 2xx status code +func (o *V1WorkspacesGetallUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces getall unauthorized response has a 3xx status code +func (o *V1WorkspacesGetallUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces getall unauthorized response has a 4xx status code +func (o *V1WorkspacesGetallUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 workspaces getall unauthorized response has a 5xx status code +func (o *V1WorkspacesGetallUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces getall unauthorized response a status code equal to that given +func (o *V1WorkspacesGetallUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the v1 workspaces getall unauthorized response +func (o *V1WorkspacesGetallUnauthorized) Code() int { + return 401 +} + +func (o *V1WorkspacesGetallUnauthorized) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallUnauthorized %s", 401, payload) +} + +func (o *V1WorkspacesGetallUnauthorized) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallUnauthorized %s", 401, payload) +} + +func (o *V1WorkspacesGetallUnauthorized) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetallUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetallForbidden creates a V1WorkspacesGetallForbidden with default headers values +func NewV1WorkspacesGetallForbidden() *V1WorkspacesGetallForbidden { + return &V1WorkspacesGetallForbidden{} +} + +/* +V1WorkspacesGetallForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type V1WorkspacesGetallForbidden struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces getall forbidden response has a 2xx status code +func (o *V1WorkspacesGetallForbidden) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces getall forbidden response has a 3xx status code +func (o *V1WorkspacesGetallForbidden) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces getall forbidden response has a 4xx status code +func (o *V1WorkspacesGetallForbidden) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 workspaces getall forbidden response has a 5xx status code +func (o *V1WorkspacesGetallForbidden) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces getall forbidden response a status code equal to that given +func (o *V1WorkspacesGetallForbidden) IsCode(code int) bool { + return code == 403 +} + +// Code gets the status code for the v1 workspaces getall forbidden response +func (o *V1WorkspacesGetallForbidden) Code() int { + return 403 +} + +func (o *V1WorkspacesGetallForbidden) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallForbidden %s", 403, payload) +} + +func (o *V1WorkspacesGetallForbidden) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallForbidden %s", 403, payload) +} + +func (o *V1WorkspacesGetallForbidden) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetallForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetallTooManyRequests creates a V1WorkspacesGetallTooManyRequests with default headers values +func NewV1WorkspacesGetallTooManyRequests() *V1WorkspacesGetallTooManyRequests { + return &V1WorkspacesGetallTooManyRequests{} +} + +/* +V1WorkspacesGetallTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type V1WorkspacesGetallTooManyRequests struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces getall too many requests response has a 2xx status code +func (o *V1WorkspacesGetallTooManyRequests) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces getall too many requests response has a 3xx status code +func (o *V1WorkspacesGetallTooManyRequests) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces getall too many requests response has a 4xx status code +func (o *V1WorkspacesGetallTooManyRequests) IsClientError() bool { + return true +} + +// IsServerError returns true when this v1 workspaces getall too many requests response has a 5xx status code +func (o *V1WorkspacesGetallTooManyRequests) IsServerError() bool { + return false +} + +// IsCode returns true when this v1 workspaces getall too many requests response a status code equal to that given +func (o *V1WorkspacesGetallTooManyRequests) IsCode(code int) bool { + return code == 429 +} + +// Code gets the status code for the v1 workspaces getall too many requests response +func (o *V1WorkspacesGetallTooManyRequests) Code() int { + return 429 +} + +func (o *V1WorkspacesGetallTooManyRequests) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallTooManyRequests %s", 429, payload) +} + +func (o *V1WorkspacesGetallTooManyRequests) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallTooManyRequests %s", 429, payload) +} + +func (o *V1WorkspacesGetallTooManyRequests) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetallTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewV1WorkspacesGetallInternalServerError creates a V1WorkspacesGetallInternalServerError with default headers values +func NewV1WorkspacesGetallInternalServerError() *V1WorkspacesGetallInternalServerError { + return &V1WorkspacesGetallInternalServerError{} +} + +/* +V1WorkspacesGetallInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type V1WorkspacesGetallInternalServerError struct { + Payload *models.Error +} + +// IsSuccess returns true when this v1 workspaces getall internal server error response has a 2xx status code +func (o *V1WorkspacesGetallInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this v1 workspaces getall internal server error response has a 3xx status code +func (o *V1WorkspacesGetallInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this v1 workspaces getall internal server error response has a 4xx status code +func (o *V1WorkspacesGetallInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this v1 workspaces getall internal server error response has a 5xx status code +func (o *V1WorkspacesGetallInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this v1 workspaces getall internal server error response a status code equal to that given +func (o *V1WorkspacesGetallInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the v1 workspaces getall internal server error response +func (o *V1WorkspacesGetallInternalServerError) Code() int { + return 500 +} + +func (o *V1WorkspacesGetallInternalServerError) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallInternalServerError %s", 500, payload) +} + +func (o *V1WorkspacesGetallInternalServerError) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/workspaces][%d] v1WorkspacesGetallInternalServerError %s", 500, payload) +} + +func (o *V1WorkspacesGetallInternalServerError) GetPayload() *models.Error { + return o.Payload +} + +func (o *V1WorkspacesGetallInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.Error) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/workspaces_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/workspaces_client.go new file mode 100644 index 000000000..d8eb73b97 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/client/workspaces/workspaces_client.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package workspaces + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new workspaces API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new workspaces API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new workspaces API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +/* +Client for workspaces API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + V1WorkspacesGet(params *V1WorkspacesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1WorkspacesGetOK, error) + + V1WorkspacesGetall(params *V1WorkspacesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1WorkspacesGetallOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* +V1WorkspacesGet gets a workspace s information and capabilities +*/ +func (a *Client) V1WorkspacesGet(params *V1WorkspacesGetParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1WorkspacesGetOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1WorkspacesGetParams() + } + op := &runtime.ClientOperation{ + ID: "v1.workspaces.get", + Method: "GET", + PathPattern: "/v1/workspaces/{workspace_id}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1WorkspacesGetReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1WorkspacesGetOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.workspaces.get: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +/* +V1WorkspacesGetall gets all workspaces information and capabilities for a tenant +*/ +func (a *Client) V1WorkspacesGetall(params *V1WorkspacesGetallParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*V1WorkspacesGetallOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewV1WorkspacesGetallParams() + } + op := &runtime.ClientOperation{ + ID: "v1.workspaces.getall", + Method: "GET", + PathPattern: "/v1/workspaces", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &V1WorkspacesGetallReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*V1WorkspacesGetallOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for v1.workspaces.getall: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_config.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_config.go new file mode 100644 index 000000000..4493985fc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_config.go @@ -0,0 +1,93 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// AccessConfig [DEPRECATED] +// Network communication configuration (for satellite locations only) +// - `internal-only` - network is only used for internal host communication +// - `outbound-only` - network will be capable of egress traffic +// - `bidirectional-static-route` - network will be capable of ingress and egress traffic via static routes +// - `bidirectional-bgp` - network will be capable of ingress and egress traffic via bgp configuration +// - `bidirectional-l2out` - network will be capable of ingress and egress traffic via l2out ACI configuration +// +// swagger:model AccessConfig +type AccessConfig string + +func NewAccessConfig(value AccessConfig) *AccessConfig { + return &value +} + +// Pointer returns a pointer to a freshly-allocated AccessConfig. +func (m AccessConfig) Pointer() *AccessConfig { + return &m +} + +const ( + + // AccessConfigInternalDashOnly captures enum value "internal-only" + AccessConfigInternalDashOnly AccessConfig = "internal-only" + + // AccessConfigOutboundDashOnly captures enum value "outbound-only" + AccessConfigOutboundDashOnly AccessConfig = "outbound-only" + + // AccessConfigBidirectionalDashStaticDashRoute captures enum value "bidirectional-static-route" + AccessConfigBidirectionalDashStaticDashRoute AccessConfig = "bidirectional-static-route" + + // AccessConfigBidirectionalDashBgp captures enum value "bidirectional-bgp" + AccessConfigBidirectionalDashBgp AccessConfig = "bidirectional-bgp" + + // AccessConfigBidirectionalDashL2out captures enum value "bidirectional-l2out" + AccessConfigBidirectionalDashL2out AccessConfig = "bidirectional-l2out" +) + +// for schema +var accessConfigEnum []any + +func init() { + var res []AccessConfig + if err := json.Unmarshal([]byte(`["internal-only","outbound-only","bidirectional-static-route","bidirectional-bgp","bidirectional-l2out"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + accessConfigEnum = append(accessConfigEnum, v) + } +} + +func (m AccessConfig) validateAccessConfigEnum(path, location string, value AccessConfig) error { + if err := validate.EnumCase(path, location, value, accessConfigEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this access config +func (m AccessConfig) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateAccessConfigEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this access config based on context it is used +func (m AccessConfig) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_role.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_role.go new file mode 100644 index 000000000..acb6955eb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_role.go @@ -0,0 +1,120 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AccessRole access role +// +// swagger:model AccessRole +type AccessRole struct { + + // Object containing what permissions are allowed + // Required: true + Permissions *Permissions `json:"permissions"` + + // String representation of an access role + Role string `json:"role,omitempty"` +} + +// Validate validates this access role +func (m *AccessRole) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePermissions(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AccessRole) validatePermissions(formats strfmt.Registry) error { + + if err := validate.Required("permissions", "body", m.Permissions); err != nil { + return err + } + + if m.Permissions != nil { + if err := m.Permissions.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("permissions") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("permissions") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this access role based on the context it is used +func (m *AccessRole) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePermissions(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AccessRole) contextValidatePermissions(ctx context.Context, formats strfmt.Registry) error { + + if m.Permissions != nil { + + if err := m.Permissions.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("permissions") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("permissions") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AccessRole) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AccessRole) UnmarshalBinary(b []byte) error { + var res AccessRole + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_token.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_token.go new file mode 100644 index 000000000..adc43d9e7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/access_token.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AccessToken access token +// +// swagger:model AccessToken +type AccessToken struct { + + // Access Token + // Required: true + AccessToken *string `json:"accessToken"` +} + +// Validate validates this access token +func (m *AccessToken) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccessToken(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AccessToken) validateAccessToken(formats strfmt.Registry) error { + + if err := validate.Required("accessToken", "body", m.AccessToken); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this access token based on context it is used +func (m *AccessToken) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *AccessToken) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AccessToken) UnmarshalBinary(b []byte) error { + var res AccessToken + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/add_host.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/add_host.go new file mode 100644 index 000000000..3820a95da --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/add_host.go @@ -0,0 +1,159 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AddHost Host to add to a host group +// +// swagger:model AddHost +type AddHost struct { + + // Name of the host chosen by the user + // Required: true + // Max Length: 32 + // Min Length: 2 + // Pattern: ^[A-Za-z0-9](?:[A-Za-z0-9_-]{0,30}[A-Za-z0-9])?$ + DisplayName *string `json:"displayName"` + + // System type + // Required: true + SysType *string `json:"sysType"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this add host +func (m *AddHost) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDisplayName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSysType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AddHost) validateDisplayName(formats strfmt.Registry) error { + + if err := validate.Required("displayName", "body", m.DisplayName); err != nil { + return err + } + + if err := validate.MinLength("displayName", "body", *m.DisplayName, 2); err != nil { + return err + } + + if err := validate.MaxLength("displayName", "body", *m.DisplayName, 32); err != nil { + return err + } + + if err := validate.Pattern("displayName", "body", *m.DisplayName, `^[A-Za-z0-9](?:[A-Za-z0-9_-]{0,30}[A-Za-z0-9])?$`); err != nil { + return err + } + + return nil +} + +func (m *AddHost) validateSysType(formats strfmt.Registry) error { + + if err := validate.Required("sysType", "body", m.SysType); err != nil { + return err + } + + return nil +} + +func (m *AddHost) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this add host based on the context it is used +func (m *AddHost) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AddHost) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AddHost) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AddHost) UnmarshalBinary(b []byte) error { + var res AddHost + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/add_server_virtual_serial_number.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/add_server_virtual_serial_number.go new file mode 100644 index 000000000..037069262 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/add_server_virtual_serial_number.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AddServerVirtualSerialNumber add server virtual serial number +// +// swagger:model AddServerVirtualSerialNumber +type AddServerVirtualSerialNumber struct { + + // Description of the Virtual Serial Number + Description string `json:"description,omitempty"` + + // Provide an existing reserved Virtual Serial Number or specify 'auto-assign' for auto generated Virtual Serial Number. + // Required: true + Serial *string `json:"serial"` +} + +// Validate validates this add server virtual serial number +func (m *AddServerVirtualSerialNumber) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSerial(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AddServerVirtualSerialNumber) validateSerial(formats strfmt.Registry) error { + + if err := validate.Required("serial", "body", m.Serial); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this add server virtual serial number based on context it is used +func (m *AddServerVirtualSerialNumber) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *AddServerVirtualSerialNumber) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AddServerVirtualSerialNumber) UnmarshalBinary(b []byte) error { + var res AddServerVirtualSerialNumber + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/async_operation.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/async_operation.go new file mode 100644 index 000000000..4fe925623 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/async_operation.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// AsyncOperation async operation +// +// swagger:model AsyncOperation +type AsyncOperation struct { + + // operation + Operation string `json:"operation,omitempty"` +} + +// Validate validates this async operation +func (m *AsyncOperation) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this async operation based on context it is used +func (m *AsyncOperation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *AsyncOperation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AsyncOperation) UnmarshalBinary(b []byte) error { + var res AsyncOperation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/auxiliary_volume_for_onboarding.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/auxiliary_volume_for_onboarding.go new file mode 100644 index 000000000..72eb6dbd8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/auxiliary_volume_for_onboarding.go @@ -0,0 +1,96 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AuxiliaryVolumeForOnboarding auxiliary volume for onboarding +// +// swagger:model AuxiliaryVolumeForOnboarding +type AuxiliaryVolumeForOnboarding struct { + + // auxiliary volume name at storage host level + // Required: true + AuxVolumeName *string `json:"auxVolumeName"` + + // display name of auxVolumeName once onboarded,auxVolumeName will be set to display name if not provided. + // Max Length: 120 + // Pattern: ^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$ + Name string `json:"name,omitempty"` +} + +// Validate validates this auxiliary volume for onboarding +func (m *AuxiliaryVolumeForOnboarding) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAuxVolumeName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AuxiliaryVolumeForOnboarding) validateAuxVolumeName(formats strfmt.Registry) error { + + if err := validate.Required("auxVolumeName", "body", m.AuxVolumeName); err != nil { + return err + } + + return nil +} + +func (m *AuxiliaryVolumeForOnboarding) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MaxLength("name", "body", m.Name, 120); err != nil { + return err + } + + if err := validate.Pattern("name", "body", m.Name, `^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$`); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this auxiliary volume for onboarding based on context it is used +func (m *AuxiliaryVolumeForOnboarding) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *AuxiliaryVolumeForOnboarding) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AuxiliaryVolumeForOnboarding) UnmarshalBinary(b []byte) error { + var res AuxiliaryVolumeForOnboarding + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/auxiliary_volumes_for_onboarding.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/auxiliary_volumes_for_onboarding.go new file mode 100644 index 000000000..150691b45 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/auxiliary_volumes_for_onboarding.go @@ -0,0 +1,150 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AuxiliaryVolumesForOnboarding auxiliary volumes for onboarding +// +// swagger:model AuxiliaryVolumesForOnboarding +type AuxiliaryVolumesForOnboarding struct { + + // auxiliary volumes + // Required: true + AuxiliaryVolumes []*AuxiliaryVolumeForOnboarding `json:"auxiliaryVolumes"` + + // CRN of source ServiceBroker instance from where auxiliary volumes need to be onboarded + // Required: true + SourceCRN *string `json:"sourceCRN"` +} + +// Validate validates this auxiliary volumes for onboarding +func (m *AuxiliaryVolumesForOnboarding) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAuxiliaryVolumes(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSourceCRN(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AuxiliaryVolumesForOnboarding) validateAuxiliaryVolumes(formats strfmt.Registry) error { + + if err := validate.Required("auxiliaryVolumes", "body", m.AuxiliaryVolumes); err != nil { + return err + } + + for i := 0; i < len(m.AuxiliaryVolumes); i++ { + if swag.IsZero(m.AuxiliaryVolumes[i]) { // not required + continue + } + + if m.AuxiliaryVolumes[i] != nil { + if err := m.AuxiliaryVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("auxiliaryVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("auxiliaryVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *AuxiliaryVolumesForOnboarding) validateSourceCRN(formats strfmt.Registry) error { + + if err := validate.Required("sourceCRN", "body", m.SourceCRN); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this auxiliary volumes for onboarding based on the context it is used +func (m *AuxiliaryVolumesForOnboarding) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAuxiliaryVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AuxiliaryVolumesForOnboarding) contextValidateAuxiliaryVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.AuxiliaryVolumes); i++ { + + if m.AuxiliaryVolumes[i] != nil { + + if swag.IsZero(m.AuxiliaryVolumes[i]) { // not required + return nil + } + + if err := m.AuxiliaryVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("auxiliaryVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("auxiliaryVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AuxiliaryVolumesForOnboarding) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AuxiliaryVolumesForOnboarding) UnmarshalBinary(b []byte) error { + var res AuxiliaryVolumesForOnboarding + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host.go new file mode 100644 index 000000000..911014695 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host.go @@ -0,0 +1,124 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// AvailableHost Reservable host description +// +// swagger:model AvailableHost +type AvailableHost struct { + + // Resource capacities for that system type and configuration + Capacity *AvailableHostCapacity `json:"capacity,omitempty"` + + // How many hosts of such type/capacities are available + Count int64 `json:"count,omitempty"` + + // System type + SysType string `json:"sysType,omitempty"` +} + +// Validate validates this available host +func (m *AvailableHost) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCapacity(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AvailableHost) validateCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.Capacity) { // not required + return nil + } + + if m.Capacity != nil { + if err := m.Capacity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capacity") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this available host based on the context it is used +func (m *AvailableHost) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AvailableHost) contextValidateCapacity(ctx context.Context, formats strfmt.Registry) error { + + if m.Capacity != nil { + + if swag.IsZero(m.Capacity) { // not required + return nil + } + + if err := m.Capacity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capacity") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AvailableHost) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AvailableHost) UnmarshalBinary(b []byte) error { + var res AvailableHost + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_capacity.go new file mode 100644 index 000000000..a07084098 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_capacity.go @@ -0,0 +1,177 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// AvailableHostCapacity available host capacity +// +// swagger:model AvailableHostCapacity +type AvailableHostCapacity struct { + + // Core capacity of the host + Cores *AvailableHostResourceCapacity `json:"cores,omitempty"` + + // Memory capacity of the host (in GB) + Memory *AvailableHostResourceCapacity `json:"memory,omitempty"` +} + +// Validate validates this available host capacity +func (m *AvailableHostCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AvailableHostCapacity) validateCores(formats strfmt.Registry) error { + if swag.IsZero(m.Cores) { // not required + return nil + } + + if m.Cores != nil { + if err := m.Cores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cores") + } + + return err + } + } + + return nil +} + +func (m *AvailableHostCapacity) validateMemory(formats strfmt.Registry) error { + if swag.IsZero(m.Memory) { // not required + return nil + } + + if m.Memory != nil { + if err := m.Memory.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("memory") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("memory") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this available host capacity based on the context it is used +func (m *AvailableHostCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCores(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMemory(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AvailableHostCapacity) contextValidateCores(ctx context.Context, formats strfmt.Registry) error { + + if m.Cores != nil { + + if swag.IsZero(m.Cores) { // not required + return nil + } + + if err := m.Cores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cores") + } + + return err + } + } + + return nil +} + +func (m *AvailableHostCapacity) contextValidateMemory(ctx context.Context, formats strfmt.Registry) error { + + if m.Memory != nil { + + if swag.IsZero(m.Memory) { // not required + return nil + } + + if err := m.Memory.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("memory") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("memory") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AvailableHostCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AvailableHostCapacity) UnmarshalBinary(b []byte) error { + var res AvailableHostCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_list.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_list.go new file mode 100644 index 000000000..0047fee25 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_list.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// AvailableHostList available host list +// +// swagger:model AvailableHostList +type AvailableHostList map[string]AvailableHost + +// Validate validates this available host list +func (m AvailableHostList) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := validate.Required(k, "body", m[k]); err != nil { + return err + } + if val, ok := m[k]; ok { + if err := val.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this available host list based on the context it is used +func (m AvailableHostList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if val, ok := m[k]; ok { + if err := val.ContextValidate(ctx, formats); err != nil { + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_resource_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_resource_capacity.go new file mode 100644 index 000000000..9f0f852d1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_host_resource_capacity.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AvailableHostResourceCapacity available host resource capacity +// +// swagger:model AvailableHostResourceCapacity +type AvailableHostResourceCapacity struct { + + // total + // Required: true + Total *float64 `json:"total"` +} + +// Validate validates this available host resource capacity +func (m *AvailableHostResourceCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateTotal(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AvailableHostResourceCapacity) validateTotal(formats strfmt.Registry) error { + + if err := validate.Required("total", "body", m.Total); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this available host resource capacity based on context it is used +func (m *AvailableHostResourceCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *AvailableHostResourceCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AvailableHostResourceCapacity) UnmarshalBinary(b []byte) error { + var res AvailableHostResourceCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_stock_images.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_stock_images.go new file mode 100644 index 000000000..eaaebc71e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/available_stock_images.go @@ -0,0 +1,78 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// AvailableStockImages A map of an array of stock images for each available storage type +// +// swagger:model AvailableStockImages +type AvailableStockImages map[string]StockImages + +// Validate validates this available stock images +func (m AvailableStockImages) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := validate.Required(k, "body", m[k]); err != nil { + return err + } + + if err := m[k].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this available stock images based on the context it is used +func (m AvailableStockImages) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := m[k].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/c_r_n.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/c_r_n.go new file mode 100644 index 000000000..5dbfb8273 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/c_r_n.go @@ -0,0 +1,27 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" +) + +// CRN The CRN for this resource +// +// swagger:model CRN +type CRN string + +// Validate validates this c r n +func (m CRN) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this c r n based on context it is used +func (m CRN) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/capabilities_details.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/capabilities_details.go new file mode 100644 index 000000000..099c607bd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/capabilities_details.go @@ -0,0 +1,174 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CapabilitiesDetails capabilities details +// +// swagger:model CapabilitiesDetails +type CapabilitiesDetails struct { + + // Disaster Recovery Information + // Required: true + DisasterRecovery *DisasterRecovery `json:"disasterRecovery"` + + // Datacenter System Types Information + // Required: true + SupportedSystems *SupportedSystems `json:"supportedSystems"` +} + +// Validate validates this capabilities details +func (m *CapabilitiesDetails) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDisasterRecovery(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSupportedSystems(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CapabilitiesDetails) validateDisasterRecovery(formats strfmt.Registry) error { + + if err := validate.Required("disasterRecovery", "body", m.DisasterRecovery); err != nil { + return err + } + + if m.DisasterRecovery != nil { + if err := m.DisasterRecovery.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("disasterRecovery") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("disasterRecovery") + } + + return err + } + } + + return nil +} + +func (m *CapabilitiesDetails) validateSupportedSystems(formats strfmt.Registry) error { + + if err := validate.Required("supportedSystems", "body", m.SupportedSystems); err != nil { + return err + } + + if m.SupportedSystems != nil { + if err := m.SupportedSystems.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("supportedSystems") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("supportedSystems") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this capabilities details based on the context it is used +func (m *CapabilitiesDetails) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDisasterRecovery(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSupportedSystems(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CapabilitiesDetails) contextValidateDisasterRecovery(ctx context.Context, formats strfmt.Registry) error { + + if m.DisasterRecovery != nil { + + if err := m.DisasterRecovery.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("disasterRecovery") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("disasterRecovery") + } + + return err + } + } + + return nil +} + +func (m *CapabilitiesDetails) contextValidateSupportedSystems(ctx context.Context, formats strfmt.Registry) error { + + if m.SupportedSystems != nil { + + if err := m.SupportedSystems.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("supportedSystems") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("supportedSystems") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CapabilitiesDetails) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CapabilitiesDetails) UnmarshalBinary(b []byte) error { + var res CapabilitiesDetails + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/catalog.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/catalog.go new file mode 100644 index 000000000..5351d9fb9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/catalog.go @@ -0,0 +1,130 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Catalog catalog +// +// swagger:model Catalog +type Catalog struct { + + // services + Services []*Service `json:"services"` +} + +// Validate validates this catalog +func (m *Catalog) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateServices(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Catalog) validateServices(formats strfmt.Registry) error { + if swag.IsZero(m.Services) { // not required + return nil + } + + for i := 0; i < len(m.Services); i++ { + if swag.IsZero(m.Services[i]) { // not required + continue + } + + if m.Services[i] != nil { + if err := m.Services[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("services" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("services" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this catalog based on the context it is used +func (m *Catalog) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateServices(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Catalog) contextValidateServices(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Services); i++ { + + if m.Services[i] != nil { + + if swag.IsZero(m.Services[i]) { // not required + return nil + } + + if err := m.Services[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("services" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("services" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Catalog) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Catalog) UnmarshalBinary(b []byte) error { + var res Catalog + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/clone_task_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/clone_task_reference.go new file mode 100644 index 000000000..80464044d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/clone_task_reference.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloneTaskReference clone task reference +// +// swagger:model CloneTaskReference +type CloneTaskReference struct { + + // ID of a long running PowerVC clone task + // Required: true + CloneTaskID *string `json:"cloneTaskID"` + + // Link to PowerVC clone task resource + // Required: true + Href *string `json:"href"` +} + +// Validate validates this clone task reference +func (m *CloneTaskReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCloneTaskID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloneTaskReference) validateCloneTaskID(formats strfmt.Registry) error { + + if err := validate.Required("cloneTaskID", "body", m.CloneTaskID); err != nil { + return err + } + + return nil +} + +func (m *CloneTaskReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this clone task reference based on context it is used +func (m *CloneTaskReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloneTaskReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloneTaskReference) UnmarshalBinary(b []byte) error { + var res CloneTaskReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/clone_task_status.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/clone_task_status.go new file mode 100644 index 000000000..f1cccd7b4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/clone_task_status.go @@ -0,0 +1,210 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloneTaskStatus clone task status +// +// swagger:model CloneTaskStatus +type CloneTaskStatus struct { + + // List of cloned volumes created from the clone volumes task + ClonedVolumes []*ClonedVolume `json:"clonedVolumes"` + + // The reason the clone volumes task has failed + FailedReason string `json:"failedReason,omitempty"` + + // Snapshot completion percentage + // Required: true + PercentComplete *int64 `json:"percentComplete"` + + // Status of the clone volumes task + // Required: true + // Enum: ["running","completed","failed","unknown"] + Status *string `json:"status"` +} + +// Validate validates this clone task status +func (m *CloneTaskStatus) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateClonedVolumes(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePercentComplete(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloneTaskStatus) validateClonedVolumes(formats strfmt.Registry) error { + if swag.IsZero(m.ClonedVolumes) { // not required + return nil + } + + for i := 0; i < len(m.ClonedVolumes); i++ { + if swag.IsZero(m.ClonedVolumes[i]) { // not required + continue + } + + if m.ClonedVolumes[i] != nil { + if err := m.ClonedVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("clonedVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("clonedVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *CloneTaskStatus) validatePercentComplete(formats strfmt.Registry) error { + + if err := validate.Required("percentComplete", "body", m.PercentComplete); err != nil { + return err + } + + return nil +} + +var cloneTaskStatusTypeStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["running","completed","failed","unknown"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + cloneTaskStatusTypeStatusPropEnum = append(cloneTaskStatusTypeStatusPropEnum, v) + } +} + +const ( + + // CloneTaskStatusStatusRunning captures enum value "running" + CloneTaskStatusStatusRunning string = "running" + + // CloneTaskStatusStatusCompleted captures enum value "completed" + CloneTaskStatusStatusCompleted string = "completed" + + // CloneTaskStatusStatusFailed captures enum value "failed" + CloneTaskStatusStatusFailed string = "failed" + + // CloneTaskStatusStatusUnknown captures enum value "unknown" + CloneTaskStatusStatusUnknown string = "unknown" +) + +// prop value enum +func (m *CloneTaskStatus) validateStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, cloneTaskStatusTypeStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CloneTaskStatus) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + // value enum + if err := m.validateStatusEnum("status", "body", *m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this clone task status based on the context it is used +func (m *CloneTaskStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateClonedVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloneTaskStatus) contextValidateClonedVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ClonedVolumes); i++ { + + if m.ClonedVolumes[i] != nil { + + if swag.IsZero(m.ClonedVolumes[i]) { // not required + return nil + } + + if err := m.ClonedVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("clonedVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("clonedVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloneTaskStatus) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloneTaskStatus) UnmarshalBinary(b []byte) error { + var res CloneTaskStatus + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloned_volume.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloned_volume.go new file mode 100644 index 000000000..0431ea990 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloned_volume.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ClonedVolume cloned volume +// +// swagger:model ClonedVolume +type ClonedVolume struct { + + // ID of the new cloned volume + ClonedVolumeID string `json:"clonedVolumeID,omitempty"` + + // ID of the source volume to be cloned + SourceVolumeID string `json:"sourceVolumeID,omitempty"` +} + +// Validate validates this cloned volume +func (m *ClonedVolume) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this cloned volume based on context it is used +func (m *ClonedVolume) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ClonedVolume) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ClonedVolume) UnmarshalBinary(b []byte) error { + var res ClonedVolume + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloned_volume_detail.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloned_volume_detail.go new file mode 100644 index 000000000..302b15e54 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloned_volume_detail.go @@ -0,0 +1,174 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ClonedVolumeDetail cloned volume detail +// +// swagger:model ClonedVolumeDetail +type ClonedVolumeDetail struct { + + // clone + // Required: true + Clone *VolumeInfo `json:"clone"` + + // source + // Required: true + Source *VolumeInfo `json:"source"` +} + +// Validate validates this cloned volume detail +func (m *ClonedVolumeDetail) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateClone(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSource(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ClonedVolumeDetail) validateClone(formats strfmt.Registry) error { + + if err := validate.Required("clone", "body", m.Clone); err != nil { + return err + } + + if m.Clone != nil { + if err := m.Clone.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("clone") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("clone") + } + + return err + } + } + + return nil +} + +func (m *ClonedVolumeDetail) validateSource(formats strfmt.Registry) error { + + if err := validate.Required("source", "body", m.Source); err != nil { + return err + } + + if m.Source != nil { + if err := m.Source.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("source") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("source") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this cloned volume detail based on the context it is used +func (m *ClonedVolumeDetail) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateClone(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSource(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ClonedVolumeDetail) contextValidateClone(ctx context.Context, formats strfmt.Registry) error { + + if m.Clone != nil { + + if err := m.Clone.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("clone") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("clone") + } + + return err + } + } + + return nil +} + +func (m *ClonedVolumeDetail) contextValidateSource(ctx context.Context, formats strfmt.Registry) error { + + if m.Source != nil { + + if err := m.Source.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("source") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("source") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ClonedVolumeDetail) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ClonedVolumeDetail) UnmarshalBinary(b []byte) error { + var res ClonedVolumeDetail + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection.go new file mode 100644 index 000000000..f263a74e4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection.go @@ -0,0 +1,427 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudConnection cloud connection +// +// swagger:model CloudConnection +type CloudConnection struct { + + // classic + Classic *CloudConnectionEndpointClassic `json:"classic,omitempty"` + + // cloud connection ID + // Required: true + CloudConnectionID *string `json:"cloudConnectionID"` + + // type of service the gateway is attached to + ConnectionMode string `json:"connectionMode,omitempty"` + + // creation date + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // enable global routing for this cloud connection (default=false) + // Required: true + GlobalRouting *bool `json:"globalRouting"` + + // IBM IP address + // Required: true + IbmIPAddress *string `json:"ibmIPAddress"` + + // link status + // Required: true + LinkStatus *string `json:"linkStatus"` + + // metered + // Required: true + Metered *bool `json:"metered"` + + // name of the cloud connection + // Required: true + Name *string `json:"name"` + + // Network References + Networks []*NetworkReference `json:"networks,omitempty"` + + // port + // Required: true + Port *string `json:"port"` + + // speed of the cloud connection (speed in megabits per second) + // Required: true + Speed *int64 `json:"speed"` + + // user IP address + // Required: true + UserIPAddress *string `json:"userIPAddress"` + + // vpc + Vpc *CloudConnectionEndpointVPC `json:"vpc,omitempty"` +} + +// Validate validates this cloud connection +func (m *CloudConnection) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateClassic(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCloudConnectionID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateGlobalRouting(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIbmIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLinkStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMetered(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePort(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSpeed(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpc(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnection) validateClassic(formats strfmt.Registry) error { + if swag.IsZero(m.Classic) { // not required + return nil + } + + if m.Classic != nil { + if err := m.Classic.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("classic") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("classic") + } + + return err + } + } + + return nil +} + +func (m *CloudConnection) validateCloudConnectionID(formats strfmt.Registry) error { + + if err := validate.Required("cloudConnectionID", "body", m.CloudConnectionID); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateGlobalRouting(formats strfmt.Registry) error { + + if err := validate.Required("globalRouting", "body", m.GlobalRouting); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateIbmIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("ibmIPAddress", "body", m.IbmIPAddress); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateLinkStatus(formats strfmt.Registry) error { + + if err := validate.Required("linkStatus", "body", m.LinkStatus); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateMetered(formats strfmt.Registry) error { + + if err := validate.Required("metered", "body", m.Metered); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateNetworks(formats strfmt.Registry) error { + if swag.IsZero(m.Networks) { // not required + return nil + } + + for i := 0; i < len(m.Networks); i++ { + if swag.IsZero(m.Networks[i]) { // not required + continue + } + + if m.Networks[i] != nil { + if err := m.Networks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *CloudConnection) validatePort(formats strfmt.Registry) error { + + if err := validate.Required("port", "body", m.Port); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateSpeed(formats strfmt.Registry) error { + + if err := validate.Required("speed", "body", m.Speed); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateUserIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("userIPAddress", "body", m.UserIPAddress); err != nil { + return err + } + + return nil +} + +func (m *CloudConnection) validateVpc(formats strfmt.Registry) error { + if swag.IsZero(m.Vpc) { // not required + return nil + } + + if m.Vpc != nil { + if err := m.Vpc.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpc") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpc") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this cloud connection based on the context it is used +func (m *CloudConnection) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateClassic(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpc(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnection) contextValidateClassic(ctx context.Context, formats strfmt.Registry) error { + + if m.Classic != nil { + + if swag.IsZero(m.Classic) { // not required + return nil + } + + if err := m.Classic.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("classic") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("classic") + } + + return err + } + } + + return nil +} + +func (m *CloudConnection) contextValidateNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Networks); i++ { + + if m.Networks[i] != nil { + + if swag.IsZero(m.Networks[i]) { // not required + return nil + } + + if err := m.Networks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *CloudConnection) contextValidateVpc(ctx context.Context, formats strfmt.Registry) error { + + if m.Vpc != nil { + + if swag.IsZero(m.Vpc) { // not required + return nil + } + + if err := m.Vpc.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpc") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpc") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnection) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnection) UnmarshalBinary(b []byte) error { + var res CloudConnection + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_create.go new file mode 100644 index 000000000..90d6969b8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_create.go @@ -0,0 +1,251 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudConnectionCreate cloud connection create +// +// swagger:model CloudConnectionCreate +type CloudConnectionCreate struct { + + // classic + Classic *CloudConnectionEndpointClassicUpdate `json:"classic,omitempty"` + + // enable global routing for this cloud connection (default=false) + GlobalRouting bool `json:"globalRouting,omitempty"` + + // enable metered for this cloud connection (default=false) + Metered bool `json:"metered,omitempty"` + + // name of the cloud connection + // Required: true + Name *string `json:"name"` + + // speed of the cloud connection (speed in megabits per second) + // Required: true + // Enum: [50,100,200,500,1000,2000,5000,10000] + Speed *int64 `json:"speed"` + + // list of subnets to attach to cloud connection + Subnets []string `json:"subnets"` + + // enable transit gateway for this cloud connection (default=false) + TransitEnabled bool `json:"transitEnabled,omitempty"` + + // vpc + Vpc *CloudConnectionEndpointVPC `json:"vpc,omitempty"` +} + +// Validate validates this cloud connection create +func (m *CloudConnectionCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateClassic(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSpeed(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpc(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionCreate) validateClassic(formats strfmt.Registry) error { + if swag.IsZero(m.Classic) { // not required + return nil + } + + if m.Classic != nil { + if err := m.Classic.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("classic") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("classic") + } + + return err + } + } + + return nil +} + +func (m *CloudConnectionCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +var cloudConnectionCreateTypeSpeedPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[50,100,200,500,1000,2000,5000,10000]`), &res); err != nil { + panic(err) + } + for _, v := range res { + cloudConnectionCreateTypeSpeedPropEnum = append(cloudConnectionCreateTypeSpeedPropEnum, v) + } +} + +// prop value enum +func (m *CloudConnectionCreate) validateSpeedEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, cloudConnectionCreateTypeSpeedPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CloudConnectionCreate) validateSpeed(formats strfmt.Registry) error { + + if err := validate.Required("speed", "body", m.Speed); err != nil { + return err + } + + // value enum + if err := m.validateSpeedEnum("speed", "body", *m.Speed); err != nil { + return err + } + + return nil +} + +func (m *CloudConnectionCreate) validateVpc(formats strfmt.Registry) error { + if swag.IsZero(m.Vpc) { // not required + return nil + } + + if m.Vpc != nil { + if err := m.Vpc.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpc") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpc") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this cloud connection create based on the context it is used +func (m *CloudConnectionCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateClassic(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpc(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionCreate) contextValidateClassic(ctx context.Context, formats strfmt.Registry) error { + + if m.Classic != nil { + + if swag.IsZero(m.Classic) { // not required + return nil + } + + if err := m.Classic.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("classic") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("classic") + } + + return err + } + } + + return nil +} + +func (m *CloudConnectionCreate) contextValidateVpc(ctx context.Context, formats strfmt.Registry) error { + + if m.Vpc != nil { + + if swag.IsZero(m.Vpc) { // not required + return nil + } + + if err := m.Vpc.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpc") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpc") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionCreate) UnmarshalBinary(b []byte) error { + var res CloudConnectionCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_create_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_create_response.go new file mode 100644 index 000000000..1125f3dfc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_create_response.go @@ -0,0 +1,174 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// CloudConnectionCreateResponse cloud connection create response +// +// swagger:model CloudConnectionCreateResponse +type CloudConnectionCreateResponse struct { + CloudConnection + + // job ref + JobRef *JobReference `json:"jobRef,omitempty"` +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *CloudConnectionCreateResponse) UnmarshalJSON(raw []byte) error { + // AO0 + var aO0 CloudConnection + if err := swag.ReadJSON(raw, &aO0); err != nil { + return err + } + m.CloudConnection = aO0 + + // now for regular properties + var propsCloudConnectionCreateResponse struct { + JobRef *JobReference `json:"jobRef,omitempty"` + } + if err := swag.ReadJSON(raw, &propsCloudConnectionCreateResponse); err != nil { + return err + } + m.JobRef = propsCloudConnectionCreateResponse.JobRef + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m CloudConnectionCreateResponse) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 1) + + aO0, err := swag.WriteJSON(m.CloudConnection) + if err != nil { + return nil, err + } + _parts = append(_parts, aO0) + + // now for regular properties + var propsCloudConnectionCreateResponse struct { + JobRef *JobReference `json:"jobRef,omitempty"` + } + propsCloudConnectionCreateResponse.JobRef = m.JobRef + + jsonDataPropsCloudConnectionCreateResponse, errCloudConnectionCreateResponse := swag.WriteJSON(propsCloudConnectionCreateResponse) + if errCloudConnectionCreateResponse != nil { + return nil, errCloudConnectionCreateResponse + } + _parts = append(_parts, jsonDataPropsCloudConnectionCreateResponse) + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this cloud connection create response +func (m *CloudConnectionCreateResponse) Validate(formats strfmt.Registry) error { + var res []error + + // validation for a type composition with CloudConnection + if err := m.CloudConnection.Validate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateJobRef(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionCreateResponse) validateJobRef(formats strfmt.Registry) error { + if swag.IsZero(m.JobRef) { // not required + return nil + } + + if m.JobRef != nil { + if err := m.JobRef.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("jobRef") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("jobRef") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this cloud connection create response based on the context it is used +func (m *CloudConnectionCreateResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + // validation for a type composition with CloudConnection + if err := m.CloudConnection.ContextValidate(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateJobRef(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionCreateResponse) contextValidateJobRef(ctx context.Context, formats strfmt.Registry) error { + + if m.JobRef != nil { + + if swag.IsZero(m.JobRef) { // not required + return nil + } + + if err := m.JobRef.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("jobRef") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("jobRef") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionCreateResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionCreateResponse) UnmarshalBinary(b []byte) error { + var res CloudConnectionCreateResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_classic.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_classic.go new file mode 100644 index 000000000..579da3bdb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_classic.go @@ -0,0 +1,121 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// CloudConnectionEndpointClassic cloud connection endpoint classic +// +// swagger:model CloudConnectionEndpointClassic +type CloudConnectionEndpointClassic struct { + + // enable classic endpoint destination (default=false) + Enabled bool `json:"enabled"` + + // gre + Gre *CloudConnectionGRETunnel `json:"gre,omitempty"` +} + +// Validate validates this cloud connection endpoint classic +func (m *CloudConnectionEndpointClassic) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateGre(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionEndpointClassic) validateGre(formats strfmt.Registry) error { + if swag.IsZero(m.Gre) { // not required + return nil + } + + if m.Gre != nil { + if err := m.Gre.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("gre") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("gre") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this cloud connection endpoint classic based on the context it is used +func (m *CloudConnectionEndpointClassic) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateGre(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionEndpointClassic) contextValidateGre(ctx context.Context, formats strfmt.Registry) error { + + if m.Gre != nil { + + if swag.IsZero(m.Gre) { // not required + return nil + } + + if err := m.Gre.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("gre") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("gre") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionEndpointClassic) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionEndpointClassic) UnmarshalBinary(b []byte) error { + var res CloudConnectionEndpointClassic + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_classic_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_classic_update.go new file mode 100644 index 000000000..6c1d3ca8b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_classic_update.go @@ -0,0 +1,121 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// CloudConnectionEndpointClassicUpdate cloud connection endpoint classic update +// +// swagger:model CloudConnectionEndpointClassicUpdate +type CloudConnectionEndpointClassicUpdate struct { + + // enable classic endpoint destination (default=false) + Enabled bool `json:"enabled"` + + // gre + Gre *CloudConnectionGRETunnelCreate `json:"gre,omitempty"` +} + +// Validate validates this cloud connection endpoint classic update +func (m *CloudConnectionEndpointClassicUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateGre(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionEndpointClassicUpdate) validateGre(formats strfmt.Registry) error { + if swag.IsZero(m.Gre) { // not required + return nil + } + + if m.Gre != nil { + if err := m.Gre.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("gre") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("gre") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this cloud connection endpoint classic update based on the context it is used +func (m *CloudConnectionEndpointClassicUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateGre(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionEndpointClassicUpdate) contextValidateGre(ctx context.Context, formats strfmt.Registry) error { + + if m.Gre != nil { + + if swag.IsZero(m.Gre) { // not required + return nil + } + + if err := m.Gre.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("gre") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("gre") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionEndpointClassicUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionEndpointClassicUpdate) UnmarshalBinary(b []byte) error { + var res CloudConnectionEndpointClassicUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_v_p_c.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_v_p_c.go new file mode 100644 index 000000000..dfd82bab8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_endpoint_v_p_c.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// CloudConnectionEndpointVPC cloud connection endpoint v p c +// +// swagger:model CloudConnectionEndpointVPC +type CloudConnectionEndpointVPC struct { + + // enable vpc for this cloud connection (default=false) + Enabled bool `json:"enabled"` + + // vpc connections + Vpcs []*CloudConnectionVPC `json:"vpcs,omitempty"` +} + +// Validate validates this cloud connection endpoint v p c +func (m *CloudConnectionEndpointVPC) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVpcs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionEndpointVPC) validateVpcs(formats strfmt.Registry) error { + if swag.IsZero(m.Vpcs) { // not required + return nil + } + + for i := 0; i < len(m.Vpcs); i++ { + if swag.IsZero(m.Vpcs[i]) { // not required + continue + } + + if m.Vpcs[i] != nil { + if err := m.Vpcs[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpcs" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpcs" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this cloud connection endpoint v p c based on the context it is used +func (m *CloudConnectionEndpointVPC) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVpcs(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionEndpointVPC) contextValidateVpcs(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Vpcs); i++ { + + if m.Vpcs[i] != nil { + + if swag.IsZero(m.Vpcs[i]) { // not required + return nil + } + + if err := m.Vpcs[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpcs" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpcs" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionEndpointVPC) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionEndpointVPC) UnmarshalBinary(b []byte) error { + var res CloudConnectionEndpointVPC + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_g_r_e_tunnel.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_g_r_e_tunnel.go new file mode 100644 index 000000000..df5066240 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_g_r_e_tunnel.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudConnectionGRETunnel cloud connection g r e tunnel +// +// swagger:model CloudConnectionGRETunnel +type CloudConnectionGRETunnel struct { + + // gre destination IP address + // Required: true + DestIPAddress *string `json:"destIPAddress"` + + // gre auto-assigned source IP address + // Required: true + SourceIPAddress *string `json:"sourceIPAddress"` +} + +// Validate validates this cloud connection g r e tunnel +func (m *CloudConnectionGRETunnel) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDestIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSourceIPAddress(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionGRETunnel) validateDestIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("destIPAddress", "body", m.DestIPAddress); err != nil { + return err + } + + return nil +} + +func (m *CloudConnectionGRETunnel) validateSourceIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("sourceIPAddress", "body", m.SourceIPAddress); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this cloud connection g r e tunnel based on context it is used +func (m *CloudConnectionGRETunnel) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionGRETunnel) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionGRETunnel) UnmarshalBinary(b []byte) error { + var res CloudConnectionGRETunnel + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_g_r_e_tunnel_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_g_r_e_tunnel_create.go new file mode 100644 index 000000000..3310bc056 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_g_r_e_tunnel_create.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudConnectionGRETunnelCreate cloud connection g r e tunnel create +// +// swagger:model CloudConnectionGRETunnelCreate +type CloudConnectionGRETunnelCreate struct { + + // gre network in CIDR notation (192.168.0.0/24) + // Required: true + Cidr *string `json:"cidr"` + + // gre destination IP address + // Required: true + DestIPAddress *string `json:"destIPAddress"` +} + +// Validate validates this cloud connection g r e tunnel create +func (m *CloudConnectionGRETunnelCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCidr(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestIPAddress(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionGRETunnelCreate) validateCidr(formats strfmt.Registry) error { + + if err := validate.Required("cidr", "body", m.Cidr); err != nil { + return err + } + + return nil +} + +func (m *CloudConnectionGRETunnelCreate) validateDestIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("destIPAddress", "body", m.DestIPAddress); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this cloud connection g r e tunnel create based on context it is used +func (m *CloudConnectionGRETunnelCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionGRETunnelCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionGRETunnelCreate) UnmarshalBinary(b []byte) error { + var res CloudConnectionGRETunnelCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_update.go new file mode 100644 index 000000000..c634b5333 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_update.go @@ -0,0 +1,229 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudConnectionUpdate cloud connection update +// +// swagger:model CloudConnectionUpdate +type CloudConnectionUpdate struct { + + // classic + Classic *CloudConnectionEndpointClassicUpdate `json:"classic,omitempty"` + + // enable global routing for this cloud connection (default=false) + GlobalRouting *bool `json:"globalRouting,omitempty"` + + // enable metered for this cloud connection (default=false) + Metered *bool `json:"metered,omitempty"` + + // name of the cloud connection + Name *string `json:"name,omitempty"` + + // speed of the cloud connection (speed in megabits per second) + // Enum: [50,100,200,500,1000,2000,5000,10000] + Speed *int64 `json:"speed,omitempty"` + + // vpc + Vpc *CloudConnectionEndpointVPC `json:"vpc,omitempty"` +} + +// Validate validates this cloud connection update +func (m *CloudConnectionUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateClassic(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSpeed(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpc(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionUpdate) validateClassic(formats strfmt.Registry) error { + if swag.IsZero(m.Classic) { // not required + return nil + } + + if m.Classic != nil { + if err := m.Classic.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("classic") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("classic") + } + + return err + } + } + + return nil +} + +var cloudConnectionUpdateTypeSpeedPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[50,100,200,500,1000,2000,5000,10000]`), &res); err != nil { + panic(err) + } + for _, v := range res { + cloudConnectionUpdateTypeSpeedPropEnum = append(cloudConnectionUpdateTypeSpeedPropEnum, v) + } +} + +// prop value enum +func (m *CloudConnectionUpdate) validateSpeedEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, cloudConnectionUpdateTypeSpeedPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CloudConnectionUpdate) validateSpeed(formats strfmt.Registry) error { + if swag.IsZero(m.Speed) { // not required + return nil + } + + // value enum + if err := m.validateSpeedEnum("speed", "body", *m.Speed); err != nil { + return err + } + + return nil +} + +func (m *CloudConnectionUpdate) validateVpc(formats strfmt.Registry) error { + if swag.IsZero(m.Vpc) { // not required + return nil + } + + if m.Vpc != nil { + if err := m.Vpc.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpc") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpc") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this cloud connection update based on the context it is used +func (m *CloudConnectionUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateClassic(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpc(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionUpdate) contextValidateClassic(ctx context.Context, formats strfmt.Registry) error { + + if m.Classic != nil { + + if swag.IsZero(m.Classic) { // not required + return nil + } + + if err := m.Classic.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("classic") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("classic") + } + + return err + } + } + + return nil +} + +func (m *CloudConnectionUpdate) contextValidateVpc(ctx context.Context, formats strfmt.Registry) error { + + if m.Vpc != nil { + + if swag.IsZero(m.Vpc) { // not required + return nil + } + + if err := m.Vpc.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpc") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpc") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionUpdate) UnmarshalBinary(b []byte) error { + var res CloudConnectionUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_v_p_c.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_v_p_c.go new file mode 100644 index 000000000..7aab62b3a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_v_p_c.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudConnectionVPC cloud connection v p c +// +// swagger:model CloudConnectionVPC +type CloudConnectionVPC struct { + + // vpc name + Name string `json:"name,omitempty"` + + // vpc id + // Required: true + VpcID *string `json:"vpcID"` +} + +// Validate validates this cloud connection v p c +func (m *CloudConnectionVPC) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVpcID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionVPC) validateVpcID(formats strfmt.Registry) error { + + if err := validate.Required("vpcID", "body", m.VpcID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this cloud connection v p c based on context it is used +func (m *CloudConnectionVPC) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionVPC) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionVPC) UnmarshalBinary(b []byte) error { + var res CloudConnectionVPC + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_virtual_private_clouds.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_virtual_private_clouds.go new file mode 100644 index 000000000..2e682afe4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connection_virtual_private_clouds.go @@ -0,0 +1,240 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudConnectionVirtualPrivateClouds cloud connection virtual private clouds +// +// swagger:model CloudConnectionVirtualPrivateClouds +type CloudConnectionVirtualPrivateClouds struct { + + // list of available virtual private clouds + // Required: true + VirtualPrivateClouds []*CloudConnectionVirtualPrivateCloud `json:"virtualPrivateClouds"` +} + +// Validate validates this cloud connection virtual private clouds +func (m *CloudConnectionVirtualPrivateClouds) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVirtualPrivateClouds(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionVirtualPrivateClouds) validateVirtualPrivateClouds(formats strfmt.Registry) error { + + if err := validate.Required("virtualPrivateClouds", "body", m.VirtualPrivateClouds); err != nil { + return err + } + + for i := 0; i < len(m.VirtualPrivateClouds); i++ { + if swag.IsZero(m.VirtualPrivateClouds[i]) { // not required + continue + } + + if m.VirtualPrivateClouds[i] != nil { + if err := m.VirtualPrivateClouds[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualPrivateClouds" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualPrivateClouds" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this cloud connection virtual private clouds based on the context it is used +func (m *CloudConnectionVirtualPrivateClouds) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVirtualPrivateClouds(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionVirtualPrivateClouds) contextValidateVirtualPrivateClouds(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VirtualPrivateClouds); i++ { + + if m.VirtualPrivateClouds[i] != nil { + + if swag.IsZero(m.VirtualPrivateClouds[i]) { // not required + return nil + } + + if err := m.VirtualPrivateClouds[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualPrivateClouds" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualPrivateClouds" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionVirtualPrivateClouds) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionVirtualPrivateClouds) UnmarshalBinary(b []byte) error { + var res CloudConnectionVirtualPrivateClouds + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} + +// CloudConnectionVirtualPrivateCloud cloud connection virtual private cloud +// +// swagger:model CloudConnectionVirtualPrivateCloud +type CloudConnectionVirtualPrivateCloud struct { + + // indicates if vpc uses classic architecture + // Required: true + ClassicAccess *bool `json:"classicAccess"` + + // name for the vpc + // Required: true + Name *string `json:"name"` + + // status of this vpc + // Required: true + Status *string `json:"status"` + + // virtual private cloud id + // Required: true + VpcID *string `json:"vpcID"` +} + +// Validate validates this cloud connection virtual private cloud +func (m *CloudConnectionVirtualPrivateCloud) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateClassicAccess(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpcID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnectionVirtualPrivateCloud) validateClassicAccess(formats strfmt.Registry) error { + + if err := validate.Required("classicAccess", "body", m.ClassicAccess); err != nil { + return err + } + + return nil +} + +func (m *CloudConnectionVirtualPrivateCloud) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *CloudConnectionVirtualPrivateCloud) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *CloudConnectionVirtualPrivateCloud) validateVpcID(formats strfmt.Registry) error { + + if err := validate.Required("vpcID", "body", m.VpcID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this cloud connection virtual private cloud based on context it is used +func (m *CloudConnectionVirtualPrivateCloud) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnectionVirtualPrivateCloud) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnectionVirtualPrivateCloud) UnmarshalBinary(b []byte) error { + var res CloudConnectionVirtualPrivateCloud + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connections.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connections.go new file mode 100644 index 000000000..1fe10cd3a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_connections.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudConnections cloud connections +// +// swagger:model CloudConnections +type CloudConnections struct { + + // Cloud Connections + // Required: true + CloudConnections []*CloudConnection `json:"cloudConnections"` +} + +// Validate validates this cloud connections +func (m *CloudConnections) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCloudConnections(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnections) validateCloudConnections(formats strfmt.Registry) error { + + if err := validate.Required("cloudConnections", "body", m.CloudConnections); err != nil { + return err + } + + for i := 0; i < len(m.CloudConnections); i++ { + if swag.IsZero(m.CloudConnections[i]) { // not required + continue + } + + if m.CloudConnections[i] != nil { + if err := m.CloudConnections[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cloudConnections" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cloudConnections" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this cloud connections based on the context it is used +func (m *CloudConnections) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCloudConnections(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudConnections) contextValidateCloudConnections(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.CloudConnections); i++ { + + if m.CloudConnections[i] != nil { + + if swag.IsZero(m.CloudConnections[i]) { // not required + return nil + } + + if err := m.CloudConnections[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cloudConnections" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cloudConnections" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudConnections) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudConnections) UnmarshalBinary(b []byte) error { + var res CloudConnections + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_initialization.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_initialization.go new file mode 100644 index 000000000..5bdc82517 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_initialization.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudInitialization cloud initialization +// +// swagger:model CloudInitialization +type CloudInitialization struct { + + // Virtual Machine's Cloud Initialization Virtual Optical Device + // Enum: ["attach","detach"] + VirtualOpticalDevice string `json:"virtualOpticalDevice,omitempty"` +} + +// Validate validates this cloud initialization +func (m *CloudInitialization) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVirtualOpticalDevice(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var cloudInitializationTypeVirtualOpticalDevicePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["attach","detach"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + cloudInitializationTypeVirtualOpticalDevicePropEnum = append(cloudInitializationTypeVirtualOpticalDevicePropEnum, v) + } +} + +const ( + + // CloudInitializationVirtualOpticalDeviceAttach captures enum value "attach" + CloudInitializationVirtualOpticalDeviceAttach string = "attach" + + // CloudInitializationVirtualOpticalDeviceDetach captures enum value "detach" + CloudInitializationVirtualOpticalDeviceDetach string = "detach" +) + +// prop value enum +func (m *CloudInitialization) validateVirtualOpticalDeviceEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, cloudInitializationTypeVirtualOpticalDevicePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CloudInitialization) validateVirtualOpticalDevice(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualOpticalDevice) { // not required + return nil + } + + // value enum + if err := m.validateVirtualOpticalDeviceEnum("virtualOpticalDevice", "body", m.VirtualOpticalDevice); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this cloud initialization based on context it is used +func (m *CloudInitialization) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudInitialization) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudInitialization) UnmarshalBinary(b []byte) error { + var res CloudInitialization + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance.go new file mode 100644 index 000000000..16f20a0fb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance.go @@ -0,0 +1,369 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudInstance cloud instance +// +// swagger:model CloudInstance +type CloudInstance struct { + + // Cloud Instance Capabilities + Capabilities []string `json:"capabilities"` + + // Cloud Instance ID + // Required: true + CloudInstanceID *string `json:"cloudInstanceID"` + + // Indicates if the cloud instance is enabled + // Required: true + Enabled *bool `json:"enabled"` + + // Indicates if the cloud instance is initialized and ready for use + // Required: true + Initialized *bool `json:"initialized"` + + // Limits on the cloud instance + // Required: true + Limits *CloudInstanceUsageLimits `json:"limits"` + + // Cloud Instance Name + // Required: true + Name *string `json:"name"` + + // The open stack ID that controls this cloud instance + // Required: true + OpenstackID *string `json:"openstackID"` + + // PVM instances owned by the Cloud Instance + // Required: true + PvmInstances []*PVMInstanceReference `json:"pvmInstances"` + + // The region the cloud instance lives + // Required: true + Region *string `json:"region"` + + // The tenant ID that owns this cloud instance + // Required: true + TenantID *string `json:"tenantID"` + + // Current usage on the cloud instance + // Required: true + Usage *CloudInstanceUsageLimits `json:"usage"` +} + +// Validate validates this cloud instance +func (m *CloudInstance) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCloudInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEnabled(formats); err != nil { + res = append(res, err) + } + + if err := m.validateInitialized(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLimits(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOpenstackID(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstances(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTenantID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUsage(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudInstance) validateCloudInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("cloudInstanceID", "body", m.CloudInstanceID); err != nil { + return err + } + + return nil +} + +func (m *CloudInstance) validateEnabled(formats strfmt.Registry) error { + + if err := validate.Required("enabled", "body", m.Enabled); err != nil { + return err + } + + return nil +} + +func (m *CloudInstance) validateInitialized(formats strfmt.Registry) error { + + if err := validate.Required("initialized", "body", m.Initialized); err != nil { + return err + } + + return nil +} + +func (m *CloudInstance) validateLimits(formats strfmt.Registry) error { + + if err := validate.Required("limits", "body", m.Limits); err != nil { + return err + } + + if m.Limits != nil { + if err := m.Limits.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("limits") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("limits") + } + + return err + } + } + + return nil +} + +func (m *CloudInstance) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *CloudInstance) validateOpenstackID(formats strfmt.Registry) error { + + if err := validate.Required("openstackID", "body", m.OpenstackID); err != nil { + return err + } + + return nil +} + +func (m *CloudInstance) validatePvmInstances(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstances", "body", m.PvmInstances); err != nil { + return err + } + + for i := 0; i < len(m.PvmInstances); i++ { + if swag.IsZero(m.PvmInstances[i]) { // not required + continue + } + + if m.PvmInstances[i] != nil { + if err := m.PvmInstances[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *CloudInstance) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +func (m *CloudInstance) validateTenantID(formats strfmt.Registry) error { + + if err := validate.Required("tenantID", "body", m.TenantID); err != nil { + return err + } + + return nil +} + +func (m *CloudInstance) validateUsage(formats strfmt.Registry) error { + + if err := validate.Required("usage", "body", m.Usage); err != nil { + return err + } + + if m.Usage != nil { + if err := m.Usage.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("usage") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("usage") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this cloud instance based on the context it is used +func (m *CloudInstance) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateLimits(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePvmInstances(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUsage(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudInstance) contextValidateLimits(ctx context.Context, formats strfmt.Registry) error { + + if m.Limits != nil { + + if err := m.Limits.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("limits") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("limits") + } + + return err + } + } + + return nil +} + +func (m *CloudInstance) contextValidatePvmInstances(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PvmInstances); i++ { + + if m.PvmInstances[i] != nil { + + if swag.IsZero(m.PvmInstances[i]) { // not required + return nil + } + + if err := m.PvmInstances[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *CloudInstance) contextValidateUsage(ctx context.Context, formats strfmt.Registry) error { + + if m.Usage != nil { + + if err := m.Usage.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("usage") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("usage") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudInstance) UnmarshalBinary(b []byte) error { + var res CloudInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_create.go new file mode 100644 index 000000000..a94ca580b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_create.go @@ -0,0 +1,145 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudInstanceCreate cloud instance create +// +// swagger:model CloudInstanceCreate +type CloudInstanceCreate struct { + + // Number of power instances allowed + Instances *float64 `json:"instances,omitempty"` + + // Amount of memory allowed + // Required: true + Memory *float64 `json:"memory"` + + // Number of processor units allowed + // Required: true + ProcUnits *float64 `json:"procUnits"` + + // Number of processors allowed + // Required: true + Processors *float64 `json:"processors"` + + // The region the cloud instance lives + // Required: true + Region *string `json:"region"` + + // Amount of storage allowed (TB) + Storage *float64 `json:"storage,omitempty"` + + // The tenant ID that owns this cloud instance + // Required: true + TenantID *string `json:"tenantID"` +} + +// Validate validates this cloud instance create +func (m *CloudInstanceCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcUnits(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcessors(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTenantID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudInstanceCreate) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceCreate) validateProcUnits(formats strfmt.Registry) error { + + if err := validate.Required("procUnits", "body", m.ProcUnits); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceCreate) validateProcessors(formats strfmt.Registry) error { + + if err := validate.Required("processors", "body", m.Processors); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceCreate) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceCreate) validateTenantID(formats strfmt.Registry) error { + + if err := validate.Required("tenantID", "body", m.TenantID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this cloud instance create based on context it is used +func (m *CloudInstanceCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudInstanceCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudInstanceCreate) UnmarshalBinary(b []byte) error { + var res CloudInstanceCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_reference.go new file mode 100644 index 000000000..dfae399fb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_reference.go @@ -0,0 +1,222 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudInstanceReference cloud instance reference +// +// swagger:model CloudInstanceReference +type CloudInstanceReference struct { + + // Cloud Instance Capabilities + Capabilities []string `json:"capabilities"` + + // Cloud Instance ID + // Required: true + CloudInstanceID *string `json:"cloudInstanceID"` + + // Indicates if the cloud instance is enabled + // Required: true + Enabled *bool `json:"enabled"` + + // Link to Cloud Instance resource + // Required: true + Href *string `json:"href"` + + // Indicates if the cloud instance is initialized and ready for use + // Required: true + Initialized *bool `json:"initialized"` + + // Limits on the cloud instance + // Required: true + Limits *CloudInstanceUsageLimits `json:"limits"` + + // Cloud Instance Name + // Required: true + Name *string `json:"name"` + + // The region the cloud instance lives + // Required: true + Region *string `json:"region"` +} + +// Validate validates this cloud instance reference +func (m *CloudInstanceReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCloudInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEnabled(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateInitialized(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLimits(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudInstanceReference) validateCloudInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("cloudInstanceID", "body", m.CloudInstanceID); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceReference) validateEnabled(formats strfmt.Registry) error { + + if err := validate.Required("enabled", "body", m.Enabled); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceReference) validateInitialized(formats strfmt.Registry) error { + + if err := validate.Required("initialized", "body", m.Initialized); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceReference) validateLimits(formats strfmt.Registry) error { + + if err := validate.Required("limits", "body", m.Limits); err != nil { + return err + } + + if m.Limits != nil { + if err := m.Limits.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("limits") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("limits") + } + + return err + } + } + + return nil +} + +func (m *CloudInstanceReference) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceReference) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this cloud instance reference based on the context it is used +func (m *CloudInstanceReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateLimits(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudInstanceReference) contextValidateLimits(ctx context.Context, formats strfmt.Registry) error { + + if m.Limits != nil { + + if err := m.Limits.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("limits") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("limits") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CloudInstanceReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudInstanceReference) UnmarshalBinary(b []byte) error { + var res CloudInstanceReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_shared_images.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_shared_images.go new file mode 100644 index 000000000..d33f4b493 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_shared_images.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// CloudInstanceSharedImages cloud instance shared images +// +// swagger:model CloudInstanceSharedImages +type CloudInstanceSharedImages struct { + + // Allow images from this Cloud Instance to be shared + SharedImages bool `json:"sharedImages,omitempty"` +} + +// Validate validates this cloud instance shared images +func (m *CloudInstanceSharedImages) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this cloud instance shared images based on context it is used +func (m *CloudInstanceSharedImages) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudInstanceSharedImages) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudInstanceSharedImages) UnmarshalBinary(b []byte) error { + var res CloudInstanceSharedImages + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_update.go new file mode 100644 index 000000000..a22c0677a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_update.go @@ -0,0 +1,62 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// CloudInstanceUpdate cloud instance update +// +// swagger:model CloudInstanceUpdate +type CloudInstanceUpdate struct { + + // Number of power instances allowed + Instances *float64 `json:"instances,omitempty"` + + // Amount of memory allowed + Memory *float64 `json:"memory,omitempty"` + + // Number of processor units allowed + ProcUnits *float64 `json:"procUnits,omitempty"` + + // Number of processors allowed + Processors *float64 `json:"processors,omitempty"` + + // Amount of storage allowed (TB) + Storage *float64 `json:"storage,omitempty"` +} + +// Validate validates this cloud instance update +func (m *CloudInstanceUpdate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this cloud instance update based on context it is used +func (m *CloudInstanceUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudInstanceUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudInstanceUpdate) UnmarshalBinary(b []byte) error { + var res CloudInstanceUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_usage_limits.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_usage_limits.go new file mode 100644 index 000000000..ab8710d9a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/cloud_instance_usage_limits.go @@ -0,0 +1,157 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CloudInstanceUsageLimits cloud instance usage limits +// +// swagger:model CloudInstanceUsageLimits +type CloudInstanceUsageLimits struct { + + // Maximum memory (in GB) per PVMInstance + InstanceMemory *float64 `json:"instanceMemory,omitempty"` + + // Maximum proc units per PVMInstance + InstanceProcUnits *float64 `json:"instanceProcUnits,omitempty"` + + // Number of power instances allowed + // Required: true + Instances *float64 `json:"instances"` + + // Amount of memory allowed + // Required: true + Memory *float64 `json:"memory"` + + // Maximum network bandwidth to GCP Mbps + PeeringBandwidth *int64 `json:"peeringBandwidth,omitempty"` + + // Amount of peering networks allowed + PeeringNetworks *int64 `json:"peeringNetworks,omitempty"` + + // Number of processor units allowed + // Required: true + ProcUnits *float64 `json:"procUnits"` + + // Number of processors allowed + // Required: true + Processors *float64 `json:"processors"` + + // Amount of storage allowed (TB) + // Required: true + Storage *float64 `json:"storage"` + + // Amount of SSD storage allowed (TB) + StorageSSD *float64 `json:"storageSSD,omitempty"` + + // Amount of standard (HDD) storage allowed (TB) + StorageStandard *float64 `json:"storageStandard,omitempty"` +} + +// Validate validates this cloud instance usage limits +func (m *CloudInstanceUsageLimits) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateInstances(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcUnits(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcessors(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorage(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CloudInstanceUsageLimits) validateInstances(formats strfmt.Registry) error { + + if err := validate.Required("instances", "body", m.Instances); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceUsageLimits) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceUsageLimits) validateProcUnits(formats strfmt.Registry) error { + + if err := validate.Required("procUnits", "body", m.ProcUnits); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceUsageLimits) validateProcessors(formats strfmt.Registry) error { + + if err := validate.Required("processors", "body", m.Processors); err != nil { + return err + } + + return nil +} + +func (m *CloudInstanceUsageLimits) validateStorage(formats strfmt.Registry) error { + + if err := validate.Required("storage", "body", m.Storage); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this cloud instance usage limits based on context it is used +func (m *CloudInstanceUsageLimits) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CloudInstanceUsageLimits) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CloudInstanceUsageLimits) UnmarshalBinary(b []byte) error { + var res CloudInstanceUsageLimits + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/console_language.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/console_language.go new file mode 100644 index 000000000..76399a994 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/console_language.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ConsoleLanguage console language +// +// swagger:model ConsoleLanguage +type ConsoleLanguage struct { + + // language code + // Required: true + Code *string `json:"code"` + + // language description + Language string `json:"language,omitempty"` +} + +// Validate validates this console language +func (m *ConsoleLanguage) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCode(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ConsoleLanguage) validateCode(formats strfmt.Registry) error { + + if err := validate.Required("code", "body", m.Code); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this console language based on context it is used +func (m *ConsoleLanguage) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ConsoleLanguage) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ConsoleLanguage) UnmarshalBinary(b []byte) error { + var res ConsoleLanguage + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/console_languages.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/console_languages.go new file mode 100644 index 000000000..fb4a5ba76 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/console_languages.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ConsoleLanguages console languages +// +// swagger:model ConsoleLanguages +type ConsoleLanguages struct { + + // console languages + // Required: true + ConsoleLanguages []*ConsoleLanguage `json:"consoleLanguages"` +} + +// Validate validates this console languages +func (m *ConsoleLanguages) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateConsoleLanguages(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ConsoleLanguages) validateConsoleLanguages(formats strfmt.Registry) error { + + if err := validate.Required("consoleLanguages", "body", m.ConsoleLanguages); err != nil { + return err + } + + for i := 0; i < len(m.ConsoleLanguages); i++ { + if swag.IsZero(m.ConsoleLanguages[i]) { // not required + continue + } + + if m.ConsoleLanguages[i] != nil { + if err := m.ConsoleLanguages[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("consoleLanguages" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("consoleLanguages" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this console languages based on the context it is used +func (m *ConsoleLanguages) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateConsoleLanguages(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ConsoleLanguages) contextValidateConsoleLanguages(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ConsoleLanguages); i++ { + + if m.ConsoleLanguages[i] != nil { + + if swag.IsZero(m.ConsoleLanguages[i]) { // not required + return nil + } + + if err := m.ConsoleLanguages[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("consoleLanguages" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("consoleLanguages" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ConsoleLanguages) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ConsoleLanguages) UnmarshalBinary(b []byte) error { + var res ConsoleLanguages + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/context.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/context.go new file mode 100644 index 000000000..fe61dc553 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/context.go @@ -0,0 +1,11 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +// Context See [Context Conventions](https://github.com/openservicebrokerapi/servicebroker/blob/master/profile.md#context-object) for more details. +// +// swagger:model Context +type Context any diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_cos_image_import_job.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_cos_image_import_job.go new file mode 100644 index 000000000..6f043d707 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_cos_image_import_job.go @@ -0,0 +1,418 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CreateCosImageImportJob create cos image import job +// +// swagger:model CreateCosImageImportJob +type CreateCosImageImportJob struct { + + // Cloud Object Storage access key; required for buckets with private access + AccessKey string `json:"accessKey,omitempty"` + + // indicates if the bucket has public or private access public access require no authentication keys private access requires hmac authentication keys (access,secret) + // Enum: ["public","private"] + BucketAccess *string `json:"bucketAccess,omitempty"` + + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + // Required: true + BucketName *string `json:"bucketName"` + + // Import and Check checksum file + Checksum bool `json:"checksum,omitempty"` + + // Cloud Object Storage image filename + // Required: true + ImageFilename *string `json:"imageFilename"` + + // Name for the image that will be loaded into the boot image catalog + // Required: true + ImageName *string `json:"imageName"` + + // Import details for SAP images + ImportDetails *ImageImportDetails `json:"importDetails,omitempty"` + + // Image OS Type, required if importing a raw image; raw images can only be imported using the command line interface + // Enum: ["aix","ibmi","rhel","sles"] + OsType string `json:"osType,omitempty"` + + // Cloud Object Storage region + // Required: true + Region *string `json:"region"` + + // Cloud Object Storage secret key; required for buckets with private access + SecretKey string `json:"secretKey,omitempty"` + + // Storage affinity data used for storage pool selection + StorageAffinity *StorageAffinity `json:"storageAffinity,omitempty"` + + // Storage pool where the image will be loaded, if provided then storageAffinity will be ignored + StoragePool string `json:"storagePool,omitempty"` + + // Type of storage; If only using storageType for storage selection then the storage pool with the most available space will be selected if storageType is not provided the storage type will default to 'tier3'. + StorageType string `json:"storageType,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this create cos image import job +func (m *CreateCosImageImportJob) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateBucketAccess(formats); err != nil { + res = append(res, err) + } + + if err := m.validateBucketName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImageFilename(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImageName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImportDetails(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOsType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageAffinity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var createCosImageImportJobTypeBucketAccessPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["public","private"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + createCosImageImportJobTypeBucketAccessPropEnum = append(createCosImageImportJobTypeBucketAccessPropEnum, v) + } +} + +const ( + + // CreateCosImageImportJobBucketAccessPublic captures enum value "public" + CreateCosImageImportJobBucketAccessPublic string = "public" + + // CreateCosImageImportJobBucketAccessPrivate captures enum value "private" + CreateCosImageImportJobBucketAccessPrivate string = "private" +) + +// prop value enum +func (m *CreateCosImageImportJob) validateBucketAccessEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, createCosImageImportJobTypeBucketAccessPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CreateCosImageImportJob) validateBucketAccess(formats strfmt.Registry) error { + if swag.IsZero(m.BucketAccess) { // not required + return nil + } + + // value enum + if err := m.validateBucketAccessEnum("bucketAccess", "body", *m.BucketAccess); err != nil { + return err + } + + return nil +} + +func (m *CreateCosImageImportJob) validateBucketName(formats strfmt.Registry) error { + + if err := validate.Required("bucketName", "body", m.BucketName); err != nil { + return err + } + + return nil +} + +func (m *CreateCosImageImportJob) validateImageFilename(formats strfmt.Registry) error { + + if err := validate.Required("imageFilename", "body", m.ImageFilename); err != nil { + return err + } + + return nil +} + +func (m *CreateCosImageImportJob) validateImageName(formats strfmt.Registry) error { + + if err := validate.Required("imageName", "body", m.ImageName); err != nil { + return err + } + + return nil +} + +func (m *CreateCosImageImportJob) validateImportDetails(formats strfmt.Registry) error { + if swag.IsZero(m.ImportDetails) { // not required + return nil + } + + if m.ImportDetails != nil { + if err := m.ImportDetails.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("importDetails") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("importDetails") + } + + return err + } + } + + return nil +} + +var createCosImageImportJobTypeOsTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["aix","ibmi","rhel","sles"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + createCosImageImportJobTypeOsTypePropEnum = append(createCosImageImportJobTypeOsTypePropEnum, v) + } +} + +const ( + + // CreateCosImageImportJobOsTypeAix captures enum value "aix" + CreateCosImageImportJobOsTypeAix string = "aix" + + // CreateCosImageImportJobOsTypeIbmi captures enum value "ibmi" + CreateCosImageImportJobOsTypeIbmi string = "ibmi" + + // CreateCosImageImportJobOsTypeRhel captures enum value "rhel" + CreateCosImageImportJobOsTypeRhel string = "rhel" + + // CreateCosImageImportJobOsTypeSles captures enum value "sles" + CreateCosImageImportJobOsTypeSles string = "sles" +) + +// prop value enum +func (m *CreateCosImageImportJob) validateOsTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, createCosImageImportJobTypeOsTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CreateCosImageImportJob) validateOsType(formats strfmt.Registry) error { + if swag.IsZero(m.OsType) { // not required + return nil + } + + // value enum + if err := m.validateOsTypeEnum("osType", "body", m.OsType); err != nil { + return err + } + + return nil +} + +func (m *CreateCosImageImportJob) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +func (m *CreateCosImageImportJob) validateStorageAffinity(formats strfmt.Registry) error { + if swag.IsZero(m.StorageAffinity) { // not required + return nil + } + + if m.StorageAffinity != nil { + if err := m.StorageAffinity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageAffinity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageAffinity") + } + + return err + } + } + + return nil +} + +func (m *CreateCosImageImportJob) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this create cos image import job based on the context it is used +func (m *CreateCosImageImportJob) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateImportDetails(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStorageAffinity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CreateCosImageImportJob) contextValidateImportDetails(ctx context.Context, formats strfmt.Registry) error { + + if m.ImportDetails != nil { + + if swag.IsZero(m.ImportDetails) { // not required + return nil + } + + if err := m.ImportDetails.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("importDetails") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("importDetails") + } + + return err + } + } + + return nil +} + +func (m *CreateCosImageImportJob) contextValidateStorageAffinity(ctx context.Context, formats strfmt.Registry) error { + + if m.StorageAffinity != nil { + + if swag.IsZero(m.StorageAffinity) { // not required + return nil + } + + if err := m.StorageAffinity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageAffinity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageAffinity") + } + + return err + } + } + + return nil +} + +func (m *CreateCosImageImportJob) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CreateCosImageImportJob) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CreateCosImageImportJob) UnmarshalBinary(b []byte) error { + var res CreateCosImageImportJob + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_data_volume.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_data_volume.go new file mode 100644 index 000000000..d5f14a2e6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_data_volume.go @@ -0,0 +1,222 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CreateDataVolume create data volume +// +// swagger:model CreateDataVolume +type CreateDataVolume struct { + + // PVM Instance (ID or Name) to base volume affinity policy against; required if requesting affinity and affinityVolume is not provided + AffinityPVMInstance *string `json:"affinityPVMInstance,omitempty"` + + // Affinity policy for data volume being created; ignored if volumePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified + // Enum: ["affinity","anti-affinity"] + AffinityPolicy *string `json:"affinityPolicy,omitempty"` + + // Volume (ID or Name) to base volume affinity policy against; required if requesting affinity and affinityPVMInstance is not provided + AffinityVolume *string `json:"affinityVolume,omitempty"` + + // List of pvmInstances to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityVolumes is not provided + AntiAffinityPVMInstances []string `json:"antiAffinityPVMInstances"` + + // List of volumes to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityPVMInstances is not provided + AntiAffinityVolumes []string `json:"antiAffinityVolumes"` + + // Type of Disk; if diskType is not provided the disk type will default to 'tier3'. + DiskType string `json:"diskType,omitempty"` + + // Volume Name + // Required: true + Name *string `json:"name"` + + // Indicates if the volume should be replication enabled or not + ReplicationEnabled *bool `json:"replicationEnabled,omitempty"` + + // List of replication site for volume replication + ReplicationSites []string `json:"replicationSites,omitempty"` + + // Indicates if the volume is shareable between VMs + Shareable *bool `json:"shareable,omitempty"` + + // Volume Size (GB) + // Required: true + Size *float64 `json:"size"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // Volume pool where the volume will be created; if provided then affinityPolicy value will be ignored + VolumePool string `json:"volumePool,omitempty"` +} + +// Validate validates this create data volume +func (m *CreateDataVolume) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAffinityPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var createDataVolumeTypeAffinityPolicyPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["affinity","anti-affinity"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + createDataVolumeTypeAffinityPolicyPropEnum = append(createDataVolumeTypeAffinityPolicyPropEnum, v) + } +} + +const ( + + // CreateDataVolumeAffinityPolicyAffinity captures enum value "affinity" + CreateDataVolumeAffinityPolicyAffinity string = "affinity" + + // CreateDataVolumeAffinityPolicyAntiDashAffinity captures enum value "anti-affinity" + CreateDataVolumeAffinityPolicyAntiDashAffinity string = "anti-affinity" +) + +// prop value enum +func (m *CreateDataVolume) validateAffinityPolicyEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, createDataVolumeTypeAffinityPolicyPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CreateDataVolume) validateAffinityPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.AffinityPolicy) { // not required + return nil + } + + // value enum + if err := m.validateAffinityPolicyEnum("affinityPolicy", "body", *m.AffinityPolicy); err != nil { + return err + } + + return nil +} + +func (m *CreateDataVolume) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *CreateDataVolume) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + return nil +} + +func (m *CreateDataVolume) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this create data volume based on the context it is used +func (m *CreateDataVolume) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CreateDataVolume) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CreateDataVolume) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CreateDataVolume) UnmarshalBinary(b []byte) error { + var res CreateDataVolume + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_image.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_image.go new file mode 100644 index 000000000..5863fe35c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_image.go @@ -0,0 +1,310 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CreateImage create image +// +// swagger:model CreateImage +type CreateImage struct { + + // Cloud Storage access key; required for import image + AccessKey string `json:"accessKey,omitempty"` + + // Cloud Storage bucket name; bucket-name[/optional/folder]; required for import image + BucketName string `json:"bucketName,omitempty"` + + // Type of Disk; if diskType is not provided the disk type will default to 'tier3'. Used only when importing an image from cloud storage. + DiskType string `json:"diskType,omitempty"` + + // Cloud Storage image filename; required for import image + ImageFilename string `json:"imageFilename,omitempty"` + + // Image ID of existing source image; required for copy image + ImageID string `json:"imageID,omitempty"` + + // Name to give created image; required for import image + ImageName string `json:"imageName,omitempty"` + + // (deprecated - replaced by region, imageFilename and bucketName) Path to image starting with service endpoint and ending with image filename + ImagePath string `json:"imagePath,omitempty"` + + // Image OS Type, required if importing a raw image; raw images can only be imported using the command line interface + // Enum: ["aix","ibmi","rhel","sles"] + OsType string `json:"osType,omitempty"` + + // Cloud Storage Region; only required to access IBM Cloud Storage + Region string `json:"region,omitempty"` + + // Cloud Storage secret key; required for import image + SecretKey string `json:"secretKey,omitempty"` + + // Source of the image + // >*Note*: url option is deprecated, this option is supported till Oct 2022 + // + // Required: true + // Enum: ["root-project","url"] + Source *string `json:"source"` + + // The storage affinity data; ignored if storagePool is provided; Used only when importing an image from cloud storage. + StorageAffinity *StorageAffinity `json:"storageAffinity,omitempty"` + + // Storage pool where the image will be loaded; if provided then storageAffinity will be ignored; Used only when importing an image from cloud storage. + StoragePool string `json:"storagePool,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this create image +func (m *CreateImage) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateOsType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSource(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageAffinity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var createImageTypeOsTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["aix","ibmi","rhel","sles"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + createImageTypeOsTypePropEnum = append(createImageTypeOsTypePropEnum, v) + } +} + +const ( + + // CreateImageOsTypeAix captures enum value "aix" + CreateImageOsTypeAix string = "aix" + + // CreateImageOsTypeIbmi captures enum value "ibmi" + CreateImageOsTypeIbmi string = "ibmi" + + // CreateImageOsTypeRhel captures enum value "rhel" + CreateImageOsTypeRhel string = "rhel" + + // CreateImageOsTypeSles captures enum value "sles" + CreateImageOsTypeSles string = "sles" +) + +// prop value enum +func (m *CreateImage) validateOsTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, createImageTypeOsTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CreateImage) validateOsType(formats strfmt.Registry) error { + if swag.IsZero(m.OsType) { // not required + return nil + } + + // value enum + if err := m.validateOsTypeEnum("osType", "body", m.OsType); err != nil { + return err + } + + return nil +} + +var createImageTypeSourcePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["root-project","url"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + createImageTypeSourcePropEnum = append(createImageTypeSourcePropEnum, v) + } +} + +const ( + + // CreateImageSourceRootDashProject captures enum value "root-project" + CreateImageSourceRootDashProject string = "root-project" + + // CreateImageSourceURL captures enum value "url" + CreateImageSourceURL string = "url" +) + +// prop value enum +func (m *CreateImage) validateSourceEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, createImageTypeSourcePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CreateImage) validateSource(formats strfmt.Registry) error { + + if err := validate.Required("source", "body", m.Source); err != nil { + return err + } + + // value enum + if err := m.validateSourceEnum("source", "body", *m.Source); err != nil { + return err + } + + return nil +} + +func (m *CreateImage) validateStorageAffinity(formats strfmt.Registry) error { + if swag.IsZero(m.StorageAffinity) { // not required + return nil + } + + if m.StorageAffinity != nil { + if err := m.StorageAffinity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageAffinity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageAffinity") + } + + return err + } + } + + return nil +} + +func (m *CreateImage) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this create image based on the context it is used +func (m *CreateImage) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateStorageAffinity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CreateImage) contextValidateStorageAffinity(ctx context.Context, formats strfmt.Registry) error { + + if m.StorageAffinity != nil { + + if swag.IsZero(m.StorageAffinity) { // not required + return nil + } + + if err := m.StorageAffinity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageAffinity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageAffinity") + } + + return err + } + } + + return nil +} + +func (m *CreateImage) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CreateImage) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CreateImage) UnmarshalBinary(b []byte) error { + var res CreateImage + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_server_virtual_serial_number.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_server_virtual_serial_number.go new file mode 100644 index 000000000..5bbfd42a8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_server_virtual_serial_number.go @@ -0,0 +1,134 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CreateServerVirtualSerialNumber create server virtual serial number +// +// swagger:model CreateServerVirtualSerialNumber +type CreateServerVirtualSerialNumber struct { + + // Description of the Virtual Serial Number + Description string `json:"description,omitempty"` + + // Provide an existing reserved Virtual Serial Number or specify 'auto-assign' for auto generated Virtual Serial Number. + // Required: true + Serial *string `json:"serial"` + + // software tier + SoftwareTier SoftwareTier `json:"softwareTier,omitempty"` +} + +// Validate validates this create server virtual serial number +func (m *CreateServerVirtualSerialNumber) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSerial(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareTier(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CreateServerVirtualSerialNumber) validateSerial(formats strfmt.Registry) error { + + if err := validate.Required("serial", "body", m.Serial); err != nil { + return err + } + + return nil +} + +func (m *CreateServerVirtualSerialNumber) validateSoftwareTier(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareTier) { // not required + return nil + } + + if err := m.SoftwareTier.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareTier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareTier") + } + + return err + } + + return nil +} + +// ContextValidate validate this create server virtual serial number based on the context it is used +func (m *CreateServerVirtualSerialNumber) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSoftwareTier(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CreateServerVirtualSerialNumber) contextValidateSoftwareTier(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.SoftwareTier) { // not required + return nil + } + + if err := m.SoftwareTier.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareTier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareTier") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CreateServerVirtualSerialNumber) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CreateServerVirtualSerialNumber) UnmarshalBinary(b []byte) error { + var res CreateServerVirtualSerialNumber + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_workspace_ssh_key.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_workspace_ssh_key.go new file mode 100644 index 000000000..d4605d63f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/create_workspace_ssh_key.go @@ -0,0 +1,152 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// CreateWorkspaceSSHKey create workspace SSH key +// +// swagger:model CreateWorkspaceSSHKey +type CreateWorkspaceSSHKey struct { + + // Description of the sshkey + Description string `json:"description,omitempty" datastore:"description"` + + // User defined name for the SSH key + // Required: true + // Max Length: 128 + // Pattern: ^[A-Za-z0-9-_]+(?: +[A-Za-z0-9-_]+)*$ + Name *string `json:"name" datastore:"name"` + + // SSH RSA key + // Required: true + SSHKey *string `json:"sshKey" datastore:"sshKey"` + + // Visibility of the sshkey; workspace suggests ssh-key is only accessible in a workspace, account suggests ssh-key is accessible throughout an account + // Enum: ["account","workspace"] + Visibility *string `json:"visibility,omitempty" datastore:"visibility"` +} + +// Validate validates this create workspace SSH key +func (m *CreateWorkspaceSSHKey) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSSHKey(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVisibility(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CreateWorkspaceSSHKey) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 128); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[A-Za-z0-9-_]+(?: +[A-Za-z0-9-_]+)*$`); err != nil { + return err + } + + return nil +} + +func (m *CreateWorkspaceSSHKey) validateSSHKey(formats strfmt.Registry) error { + + if err := validate.Required("sshKey", "body", m.SSHKey); err != nil { + return err + } + + return nil +} + +var createWorkspaceSshKeyTypeVisibilityPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["account","workspace"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + createWorkspaceSshKeyTypeVisibilityPropEnum = append(createWorkspaceSshKeyTypeVisibilityPropEnum, v) + } +} + +const ( + + // CreateWorkspaceSSHKeyVisibilityAccount captures enum value "account" + CreateWorkspaceSSHKeyVisibilityAccount string = "account" + + // CreateWorkspaceSSHKeyVisibilityWorkspace captures enum value "workspace" + CreateWorkspaceSSHKeyVisibilityWorkspace string = "workspace" +) + +// prop value enum +func (m *CreateWorkspaceSSHKey) validateVisibilityEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, createWorkspaceSshKeyTypeVisibilityPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *CreateWorkspaceSSHKey) validateVisibility(formats strfmt.Registry) error { + if swag.IsZero(m.Visibility) { // not required + return nil + } + + // value enum + if err := m.validateVisibilityEnum("visibility", "body", *m.Visibility); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this create workspace SSH key based on context it is used +func (m *CreateWorkspaceSSHKey) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *CreateWorkspaceSSHKey) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CreateWorkspaceSSHKey) UnmarshalBinary(b []byte) error { + var res CreateWorkspaceSSHKey + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server.go new file mode 100644 index 000000000..8a6a54be5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DHCPServer d h c p server +// +// swagger:model DHCPServer +type DHCPServer struct { + + // The ID of the DHCP Server + // Required: true + ID *string `json:"id"` + + // The DHCP Server private network + // Required: true + Network *DHCPServerNetwork `json:"network"` + + // The status of the DHCP Server + // Required: true + Status *string `json:"status"` +} + +// Validate validates this d h c p server +func (m *DHCPServer) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetwork(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DHCPServer) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *DHCPServer) validateNetwork(formats strfmt.Registry) error { + + if err := validate.Required("network", "body", m.Network); err != nil { + return err + } + + if m.Network != nil { + if err := m.Network.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("network") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("network") + } + + return err + } + } + + return nil +} + +func (m *DHCPServer) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this d h c p server based on the context it is used +func (m *DHCPServer) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetwork(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DHCPServer) contextValidateNetwork(ctx context.Context, formats strfmt.Registry) error { + + if m.Network != nil { + + if err := m.Network.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("network") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("network") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DHCPServer) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DHCPServer) UnmarshalBinary(b []byte) error { + var res DHCPServer + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_create.go new file mode 100644 index 000000000..5c5947ea5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_create.go @@ -0,0 +1,65 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// DHCPServerCreate d h c p server create +// +// swagger:model DHCPServerCreate +type DHCPServerCreate struct { + + // Optional cidr for DHCP private network + Cidr *string `json:"cidr,omitempty"` + + // Optional cloud connection uuid to connect with DHCP private network + CloudConnectionID *string `json:"cloudConnectionID,omitempty"` + + // Optional DNS Server for DHCP service + DNSServer *string `json:"dnsServer,omitempty"` + + // Optional name of DHCP Service. Only alphanumeric characters and dashes are allowed (will be prefixed by DHCP identifier) + Name *string `json:"name,omitempty"` + + // Optional network security groups that the DHCP server network interface is a member of. There is a limit of 1 network security group in the array. If not specified, default network security group is used. + NetworkSecurityGroupIDs []string `json:"networkSecurityGroupIDs"` + + // Indicates if SNAT will be enabled for DHCP service + SnatEnabled *bool `json:"snatEnabled,omitempty"` +} + +// Validate validates this d h c p server create +func (m *DHCPServerCreate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this d h c p server create based on context it is used +func (m *DHCPServerCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DHCPServerCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DHCPServerCreate) UnmarshalBinary(b []byte) error { + var res DHCPServerCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_detail.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_detail.go new file mode 100644 index 000000000..57bd23cad --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_detail.go @@ -0,0 +1,222 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DHCPServerDetail d h c p server detail +// +// swagger:model DHCPServerDetail +type DHCPServerDetail struct { + + // The ID of the DHCP Server + // Required: true + ID *string `json:"id"` + + // The list of DHCP Server PVM Instance leases + Leases []*DHCPServerLeases `json:"leases"` + + // The DHCP Server private network + // Required: true + Network *DHCPServerNetwork `json:"network"` + + // The status of the DHCP Server + // Required: true + Status *string `json:"status"` +} + +// Validate validates this d h c p server detail +func (m *DHCPServerDetail) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLeases(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetwork(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DHCPServerDetail) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *DHCPServerDetail) validateLeases(formats strfmt.Registry) error { + if swag.IsZero(m.Leases) { // not required + return nil + } + + for i := 0; i < len(m.Leases); i++ { + if swag.IsZero(m.Leases[i]) { // not required + continue + } + + if m.Leases[i] != nil { + if err := m.Leases[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("leases" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("leases" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *DHCPServerDetail) validateNetwork(formats strfmt.Registry) error { + + if err := validate.Required("network", "body", m.Network); err != nil { + return err + } + + if m.Network != nil { + if err := m.Network.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("network") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("network") + } + + return err + } + } + + return nil +} + +func (m *DHCPServerDetail) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this d h c p server detail based on the context it is used +func (m *DHCPServerDetail) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateLeases(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNetwork(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DHCPServerDetail) contextValidateLeases(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Leases); i++ { + + if m.Leases[i] != nil { + + if swag.IsZero(m.Leases[i]) { // not required + return nil + } + + if err := m.Leases[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("leases" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("leases" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *DHCPServerDetail) contextValidateNetwork(ctx context.Context, formats strfmt.Registry) error { + + if m.Network != nil { + + if err := m.Network.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("network") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("network") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DHCPServerDetail) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DHCPServerDetail) UnmarshalBinary(b []byte) error { + var res DHCPServerDetail + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_leases.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_leases.go new file mode 100644 index 000000000..c2b6d3384 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_leases.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DHCPServerLeases d h c p server leases +// +// swagger:model DHCPServerLeases +type DHCPServerLeases struct { + + // The IP of the PVM Instance + // Required: true + InstanceIP *string `json:"instanceIP"` + + // The MAC Address of the PVM Instance + // Required: true + InstanceMacAddress *string `json:"instanceMacAddress"` +} + +// Validate validates this d h c p server leases +func (m *DHCPServerLeases) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateInstanceIP(formats); err != nil { + res = append(res, err) + } + + if err := m.validateInstanceMacAddress(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DHCPServerLeases) validateInstanceIP(formats strfmt.Registry) error { + + if err := validate.Required("instanceIP", "body", m.InstanceIP); err != nil { + return err + } + + return nil +} + +func (m *DHCPServerLeases) validateInstanceMacAddress(formats strfmt.Registry) error { + + if err := validate.Required("instanceMacAddress", "body", m.InstanceMacAddress); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this d h c p server leases based on context it is used +func (m *DHCPServerLeases) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DHCPServerLeases) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DHCPServerLeases) UnmarshalBinary(b []byte) error { + var res DHCPServerLeases + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_network.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_network.go new file mode 100644 index 000000000..b7f2cabae --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_server_network.go @@ -0,0 +1,94 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DHCPServerNetwork d h c p server network +// +// swagger:model DHCPServerNetwork +type DHCPServerNetwork struct { + + // The ID of the network + // Required: true + ID *string `json:"id"` + + // The name of the network + // Required: true + Name *string `json:"name"` + + // The ID of the network interface + NetworkInterfaceID string `json:"networkInterfaceID,omitempty"` + + // Links to the network security groups that the network interface is a member of + NetworkSecurityGroupsHref []string `json:"networkSecurityGroupsHref,omitempty"` +} + +// Validate validates this d h c p server network +func (m *DHCPServerNetwork) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DHCPServerNetwork) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *DHCPServerNetwork) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this d h c p server network based on context it is used +func (m *DHCPServerNetwork) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DHCPServerNetwork) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DHCPServerNetwork) UnmarshalBinary(b []byte) error { + var res DHCPServerNetwork + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_servers.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_servers.go new file mode 100644 index 000000000..463c93405 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/d_h_c_p_servers.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// DHCPServers The list of DHCP Servers +// +// swagger:model DHCPServers +type DHCPServers []*DHCPServer + +// Validate validates this d h c p servers +func (m DHCPServers) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this d h c p servers based on the context it is used +func (m DHCPServers) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/dashboard_client.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/dashboard_client.go new file mode 100644 index 000000000..bb752401b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/dashboard_client.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// DashboardClient dashboard client +// +// swagger:model DashboardClient +type DashboardClient struct { + + // id + ID string `json:"id,omitempty"` + + // redirect uri + RedirectURI string `json:"redirect_uri,omitempty"` + + // secret + Secret string `json:"secret,omitempty"` +} + +// Validate validates this dashboard client +func (m *DashboardClient) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this dashboard client based on context it is used +func (m *DashboardClient) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DashboardClient) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DashboardClient) UnmarshalBinary(b []byte) error { + var res DashboardClient + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenter.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenter.go new file mode 100644 index 000000000..789286073 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenter.go @@ -0,0 +1,304 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Datacenter datacenter +// +// swagger:model Datacenter +type Datacenter struct { + + // Datacenter Capabilities + // Required: true + Capabilities map[string]bool `json:"capabilities"` + + // Additional Datacenter Capabilities Details + CapabilitiesDetails *CapabilitiesDetails `json:"capabilitiesDetails,omitempty"` + + // Link to Datacenter Region + Href string `json:"href,omitempty"` + + // The Datacenter location + // Required: true + Location *DatacenterLocation `json:"location"` + + // The Datacenter status + // Required: true + // Enum: ["active","maintenance","down"] + Status *string `json:"status"` + + // The Datacenter type + // Required: true + // Enum: ["off-premises","on-premises"] + Type *string `json:"type"` +} + +// Validate validates this datacenter +func (m *Datacenter) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCapabilities(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCapabilitiesDetails(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLocation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Datacenter) validateCapabilities(formats strfmt.Registry) error { + + if err := validate.Required("capabilities", "body", m.Capabilities); err != nil { + return err + } + + return nil +} + +func (m *Datacenter) validateCapabilitiesDetails(formats strfmt.Registry) error { + if swag.IsZero(m.CapabilitiesDetails) { // not required + return nil + } + + if m.CapabilitiesDetails != nil { + if err := m.CapabilitiesDetails.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capabilitiesDetails") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capabilitiesDetails") + } + + return err + } + } + + return nil +} + +func (m *Datacenter) validateLocation(formats strfmt.Registry) error { + + if err := validate.Required("location", "body", m.Location); err != nil { + return err + } + + if m.Location != nil { + if err := m.Location.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("location") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("location") + } + + return err + } + } + + return nil +} + +var datacenterTypeStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","maintenance","down"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + datacenterTypeStatusPropEnum = append(datacenterTypeStatusPropEnum, v) + } +} + +const ( + + // DatacenterStatusActive captures enum value "active" + DatacenterStatusActive string = "active" + + // DatacenterStatusMaintenance captures enum value "maintenance" + DatacenterStatusMaintenance string = "maintenance" + + // DatacenterStatusDown captures enum value "down" + DatacenterStatusDown string = "down" +) + +// prop value enum +func (m *Datacenter) validateStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, datacenterTypeStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Datacenter) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + // value enum + if err := m.validateStatusEnum("status", "body", *m.Status); err != nil { + return err + } + + return nil +} + +var datacenterTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["off-premises","on-premises"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + datacenterTypeTypePropEnum = append(datacenterTypeTypePropEnum, v) + } +} + +const ( + + // DatacenterTypeOffDashPremises captures enum value "off-premises" + DatacenterTypeOffDashPremises string = "off-premises" + + // DatacenterTypeOnDashPremises captures enum value "on-premises" + DatacenterTypeOnDashPremises string = "on-premises" +) + +// prop value enum +func (m *Datacenter) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, datacenterTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Datacenter) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this datacenter based on the context it is used +func (m *Datacenter) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCapabilitiesDetails(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateLocation(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Datacenter) contextValidateCapabilitiesDetails(ctx context.Context, formats strfmt.Registry) error { + + if m.CapabilitiesDetails != nil { + + if swag.IsZero(m.CapabilitiesDetails) { // not required + return nil + } + + if err := m.CapabilitiesDetails.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capabilitiesDetails") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capabilitiesDetails") + } + + return err + } + } + + return nil +} + +func (m *Datacenter) contextValidateLocation(ctx context.Context, formats strfmt.Registry) error { + + if m.Location != nil { + + if err := m.Location.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("location") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("location") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Datacenter) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Datacenter) UnmarshalBinary(b []byte) error { + var res Datacenter + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenter_location.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenter_location.go new file mode 100644 index 000000000..a3bbcd915 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenter_location.go @@ -0,0 +1,122 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DatacenterLocation datacenter location +// +// swagger:model DatacenterLocation +type DatacenterLocation struct { + + // The Datacenter location region zone + // Required: true + Region *string `json:"region"` + + // The Datacenter location region display name + // Required: true + RegionDisplayName *string `json:"regionDisplayName"` + + // The Datacenter location region type + // Required: true + Type *string `json:"type"` + + // The Datacenter location region url + // Required: true + URL *string `json:"url"` +} + +// Validate validates this datacenter location +func (m *DatacenterLocation) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRegionDisplayName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateURL(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DatacenterLocation) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +func (m *DatacenterLocation) validateRegionDisplayName(formats strfmt.Registry) error { + + if err := validate.Required("regionDisplayName", "body", m.RegionDisplayName); err != nil { + return err + } + + return nil +} + +func (m *DatacenterLocation) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + return nil +} + +func (m *DatacenterLocation) validateURL(formats strfmt.Registry) error { + + if err := validate.Required("url", "body", m.URL); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this datacenter location based on context it is used +func (m *DatacenterLocation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DatacenterLocation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DatacenterLocation) UnmarshalBinary(b []byte) error { + var res DatacenterLocation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenters.go new file mode 100644 index 000000000..d83da8807 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/datacenters.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Datacenters datacenters +// +// swagger:model Datacenters +type Datacenters struct { + + // Power Systems Virtual Server available Datacenters + // Required: true + Datacenters []*Datacenter `json:"datacenters"` +} + +// Validate validates this datacenters +func (m *Datacenters) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDatacenters(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Datacenters) validateDatacenters(formats strfmt.Registry) error { + + if err := validate.Required("datacenters", "body", m.Datacenters); err != nil { + return err + } + + for i := 0; i < len(m.Datacenters); i++ { + if swag.IsZero(m.Datacenters[i]) { // not required + continue + } + + if m.Datacenters[i] != nil { + if err := m.Datacenters[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("datacenters" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("datacenters" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this datacenters based on the context it is used +func (m *Datacenters) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDatacenters(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Datacenters) contextValidateDatacenters(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Datacenters); i++ { + + if m.Datacenters[i] != nil { + + if swag.IsZero(m.Datacenters[i]) { // not required + return nil + } + + if err := m.Datacenters[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("datacenters" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("datacenters" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Datacenters) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Datacenters) UnmarshalBinary(b []byte) error { + var res Datacenters + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/dead_peer_detection.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/dead_peer_detection.go new file mode 100644 index 000000000..d1fa8aa20 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/dead_peer_detection.go @@ -0,0 +1,160 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DeadPeerDetection Dead Peer Detection of the VPN Connection +// +// swagger:model DeadPeerDetection +type DeadPeerDetection struct { + + // Action to take when a Peer Gateway stops responding + // Required: true + // Enum: ["restart"] + Action *string `json:"action"` + + // How often to test that the Peer Gateway is responsive + // Example: 10 + // Required: true + // Maximum: 60 + // Minimum: 2 + Interval *int64 `json:"interval"` + + // The number of attempts to connect before tearing down the connection + // Example: 5 + // Required: true + // Maximum: 5 + // Minimum: 1 + Threshold *int64 `json:"threshold"` +} + +// Validate validates this dead peer detection +func (m *DeadPeerDetection) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateInterval(formats); err != nil { + res = append(res, err) + } + + if err := m.validateThreshold(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var deadPeerDetectionTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["restart"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + deadPeerDetectionTypeActionPropEnum = append(deadPeerDetectionTypeActionPropEnum, v) + } +} + +const ( + + // DeadPeerDetectionActionRestart captures enum value "restart" + DeadPeerDetectionActionRestart string = "restart" +) + +// prop value enum +func (m *DeadPeerDetection) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, deadPeerDetectionTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *DeadPeerDetection) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +func (m *DeadPeerDetection) validateInterval(formats strfmt.Registry) error { + + if err := validate.Required("interval", "body", m.Interval); err != nil { + return err + } + + if err := validate.MinimumInt("interval", "body", *m.Interval, 2, false); err != nil { + return err + } + + if err := validate.MaximumInt("interval", "body", *m.Interval, 60, false); err != nil { + return err + } + + return nil +} + +func (m *DeadPeerDetection) validateThreshold(formats strfmt.Registry) error { + + if err := validate.Required("threshold", "body", m.Threshold); err != nil { + return err + } + + if err := validate.MinimumInt("threshold", "body", *m.Threshold, 1, false); err != nil { + return err + } + + if err := validate.MaximumInt("threshold", "body", *m.Threshold, 5, false); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this dead peer detection based on context it is used +func (m *DeadPeerDetection) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DeadPeerDetection) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DeadPeerDetection) UnmarshalBinary(b []byte) error { + var res DeadPeerDetection + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/delete_server_virtual_serial_number.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/delete_server_virtual_serial_number.go new file mode 100644 index 000000000..30592c38a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/delete_server_virtual_serial_number.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// DeleteServerVirtualSerialNumber delete server virtual serial number +// +// swagger:model DeleteServerVirtualSerialNumber +type DeleteServerVirtualSerialNumber struct { + + // Indicates if the Virtual Serial Number attached to a PVM Instance is retained or not + RetainVSN bool `json:"retainVSN,omitempty"` +} + +// Validate validates this delete server virtual serial number +func (m *DeleteServerVirtualSerialNumber) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this delete server virtual serial number based on context it is used +func (m *DeleteServerVirtualSerialNumber) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DeleteServerVirtualSerialNumber) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DeleteServerVirtualSerialNumber) UnmarshalBinary(b []byte) error { + var res DeleteServerVirtualSerialNumber + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/deployment_target.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/deployment_target.go new file mode 100644 index 000000000..65190f6f6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/deployment_target.go @@ -0,0 +1,124 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DeploymentTarget deployment target +// +// swagger:model DeploymentTarget +type DeploymentTarget struct { + + // The uuid of the host group or host + // Required: true + ID *string `json:"id"` + + // specify if deploying to a host group or a host + // Required: true + // Enum: ["hostGroup","host"] + Type *string `json:"type"` +} + +// Validate validates this deployment target +func (m *DeploymentTarget) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DeploymentTarget) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +var deploymentTargetTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["hostGroup","host"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + deploymentTargetTypeTypePropEnum = append(deploymentTargetTypeTypePropEnum, v) + } +} + +const ( + + // DeploymentTargetTypeHostGroup captures enum value "hostGroup" + DeploymentTargetTypeHostGroup string = "hostGroup" + + // DeploymentTargetTypeHost captures enum value "host" + DeploymentTargetTypeHost string = "host" +) + +// prop value enum +func (m *DeploymentTarget) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, deploymentTargetTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *DeploymentTarget) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this deployment target based on context it is used +func (m *DeploymentTarget) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DeploymentTarget) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DeploymentTarget) UnmarshalBinary(b []byte) error { + var res DeploymentTarget + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/device_code.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/device_code.go new file mode 100644 index 000000000..7cb9a7488 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/device_code.go @@ -0,0 +1,139 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DeviceCode device code +// +// swagger:model DeviceCode +type DeviceCode struct { + + // This code lets the device running the app securely determine whether the user has granted or denied access + // Required: true + DeviceCode *string `json:"deviceCode"` + + // The length of time, in seconds, that the device_code and user_code are valid + // Required: true + ExpiresIn *float64 `json:"expiresIn"` + + // The length of time, in seconds, that your device should wait between polling requests + // Required: true + Interval *float64 `json:"interval"` + + // The value given to the user to enter on device authentication page + // Required: true + UserCode *string `json:"userCode"` + + // A URL that the user must navigate to, on a separate device, to enter the user_code and grant or deny access to your application. Your user interface will also display this value + // Required: true + VerificationURL *string `json:"verificationURL"` +} + +// Validate validates this device code +func (m *DeviceCode) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDeviceCode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateExpiresIn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateInterval(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserCode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVerificationURL(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DeviceCode) validateDeviceCode(formats strfmt.Registry) error { + + if err := validate.Required("deviceCode", "body", m.DeviceCode); err != nil { + return err + } + + return nil +} + +func (m *DeviceCode) validateExpiresIn(formats strfmt.Registry) error { + + if err := validate.Required("expiresIn", "body", m.ExpiresIn); err != nil { + return err + } + + return nil +} + +func (m *DeviceCode) validateInterval(formats strfmt.Registry) error { + + if err := validate.Required("interval", "body", m.Interval); err != nil { + return err + } + + return nil +} + +func (m *DeviceCode) validateUserCode(formats strfmt.Registry) error { + + if err := validate.Required("userCode", "body", m.UserCode); err != nil { + return err + } + + return nil +} + +func (m *DeviceCode) validateVerificationURL(formats strfmt.Registry) error { + + if err := validate.Required("verificationURL", "body", m.VerificationURL); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this device code based on context it is used +func (m *DeviceCode) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DeviceCode) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DeviceCode) UnmarshalBinary(b []byte) error { + var res DeviceCode + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery.go new file mode 100644 index 000000000..695f14572 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery.go @@ -0,0 +1,176 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DisasterRecovery disaster recovery +// +// swagger:model DisasterRecovery +type DisasterRecovery struct { + + // Asynchronous Replication Target Information + // Required: true + AsynchronousReplication *ReplicationService `json:"asynchronousReplication"` + + // Synchronous Replication Target Information + SynchronousReplication *ReplicationService `json:"synchronousReplication,omitempty"` +} + +// Validate validates this disaster recovery +func (m *DisasterRecovery) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAsynchronousReplication(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSynchronousReplication(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DisasterRecovery) validateAsynchronousReplication(formats strfmt.Registry) error { + + if err := validate.Required("asynchronousReplication", "body", m.AsynchronousReplication); err != nil { + return err + } + + if m.AsynchronousReplication != nil { + if err := m.AsynchronousReplication.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("asynchronousReplication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("asynchronousReplication") + } + + return err + } + } + + return nil +} + +func (m *DisasterRecovery) validateSynchronousReplication(formats strfmt.Registry) error { + if swag.IsZero(m.SynchronousReplication) { // not required + return nil + } + + if m.SynchronousReplication != nil { + if err := m.SynchronousReplication.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("synchronousReplication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("synchronousReplication") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this disaster recovery based on the context it is used +func (m *DisasterRecovery) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAsynchronousReplication(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSynchronousReplication(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DisasterRecovery) contextValidateAsynchronousReplication(ctx context.Context, formats strfmt.Registry) error { + + if m.AsynchronousReplication != nil { + + if err := m.AsynchronousReplication.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("asynchronousReplication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("asynchronousReplication") + } + + return err + } + } + + return nil +} + +func (m *DisasterRecovery) contextValidateSynchronousReplication(ctx context.Context, formats strfmt.Registry) error { + + if m.SynchronousReplication != nil { + + if swag.IsZero(m.SynchronousReplication) { // not required + return nil + } + + if err := m.SynchronousReplication.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("synchronousReplication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("synchronousReplication") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DisasterRecovery) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DisasterRecovery) UnmarshalBinary(b []byte) error { + var res DisasterRecovery + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery_location.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery_location.go new file mode 100644 index 000000000..dcdfd1529 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery_location.go @@ -0,0 +1,112 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// DisasterRecoveryLocation disaster recovery location +// +// swagger:model DisasterRecoveryLocation +type DisasterRecoveryLocation struct { + + // regionZone of a site + Location string `json:"location,omitempty"` + + // The list of replication sites has mapped for the given location + ReplicationSites ReplicationSites `json:"replicationSites,omitempty"` +} + +// Validate validates this disaster recovery location +func (m *DisasterRecoveryLocation) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateReplicationSites(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DisasterRecoveryLocation) validateReplicationSites(formats strfmt.Registry) error { + if swag.IsZero(m.ReplicationSites) { // not required + return nil + } + + if err := m.ReplicationSites.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("replicationSites") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("replicationSites") + } + + return err + } + + return nil +} + +// ContextValidate validate this disaster recovery location based on the context it is used +func (m *DisasterRecoveryLocation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateReplicationSites(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DisasterRecoveryLocation) contextValidateReplicationSites(ctx context.Context, formats strfmt.Registry) error { + + if err := m.ReplicationSites.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("replicationSites") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("replicationSites") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DisasterRecoveryLocation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DisasterRecoveryLocation) UnmarshalBinary(b []byte) error { + var res DisasterRecoveryLocation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery_locations.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery_locations.go new file mode 100644 index 000000000..58ce8fe11 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/disaster_recovery_locations.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// DisasterRecoveryLocations disaster recovery locations +// +// swagger:model DisasterRecoveryLocations +type DisasterRecoveryLocations struct { + + // The list of Disaster Recovery Locations + // Required: true + DisasterRecoveryLocations []*DisasterRecoveryLocation `json:"disasterRecoveryLocations"` +} + +// Validate validates this disaster recovery locations +func (m *DisasterRecoveryLocations) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDisasterRecoveryLocations(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DisasterRecoveryLocations) validateDisasterRecoveryLocations(formats strfmt.Registry) error { + + if err := validate.Required("disasterRecoveryLocations", "body", m.DisasterRecoveryLocations); err != nil { + return err + } + + for i := 0; i < len(m.DisasterRecoveryLocations); i++ { + if swag.IsZero(m.DisasterRecoveryLocations[i]) { // not required + continue + } + + if m.DisasterRecoveryLocations[i] != nil { + if err := m.DisasterRecoveryLocations[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("disasterRecoveryLocations" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("disasterRecoveryLocations" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this disaster recovery locations based on the context it is used +func (m *DisasterRecoveryLocations) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDisasterRecoveryLocations(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DisasterRecoveryLocations) contextValidateDisasterRecoveryLocations(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.DisasterRecoveryLocations); i++ { + + if m.DisasterRecoveryLocations[i] != nil { + + if swag.IsZero(m.DisasterRecoveryLocations[i]) { // not required + return nil + } + + if err := m.DisasterRecoveryLocations[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("disasterRecoveryLocations" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("disasterRecoveryLocations" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DisasterRecoveryLocations) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DisasterRecoveryLocations) UnmarshalBinary(b []byte) error { + var res DisasterRecoveryLocations + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/error.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/error.go new file mode 100644 index 000000000..a7c90934c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/error.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Error error +// +// swagger:model Error +type Error struct { + + // code + Code int64 `json:"code,omitempty"` + + // description + Description string `json:"description,omitempty"` + + // error + Error string `json:"error,omitempty"` + + // message + Message string `json:"message,omitempty"` +} + +// Validate validates this error +func (m *Error) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this error based on context it is used +func (m *Error) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Error) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Error) UnmarshalBinary(b []byte) error { + var res Error + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/event.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/event.go new file mode 100644 index 000000000..403f9aa90 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/event.go @@ -0,0 +1,288 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Event event +// +// swagger:model Event +type Event struct { + + // Type of action for this event + // Required: true + Action *string `json:"action"` + + // ID of the Activity + // Required: true + EventID *string `json:"eventID"` + + // Level of the event (notice, info, warning, error) + // Required: true + // Enum: ["notice","info","warning","error"] + Level *string `json:"level"` + + // The (translated) message of the event + // Required: true + Message *string `json:"message"` + + // Any metadata associated with the event + Metadata any `json:"metadata,omitempty"` + + // Type of resource for this event + // Required: true + Resource *string `json:"resource"` + + // Time of activity in ISO 8601 - RFC3339 + // Required: true + // Format: date-time + Time *strfmt.DateTime `json:"time"` + + // Time of activity in unix epoch + // Required: true + Timestamp *int64 `json:"timestamp"` + + // user + User *EventUser `json:"user,omitempty"` +} + +// Validate validates this event +func (m *Event) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEventID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLevel(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMessage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateResource(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTimestamp(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUser(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Event) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + return nil +} + +func (m *Event) validateEventID(formats strfmt.Registry) error { + + if err := validate.Required("eventID", "body", m.EventID); err != nil { + return err + } + + return nil +} + +var eventTypeLevelPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["notice","info","warning","error"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + eventTypeLevelPropEnum = append(eventTypeLevelPropEnum, v) + } +} + +const ( + + // EventLevelNotice captures enum value "notice" + EventLevelNotice string = "notice" + + // EventLevelInfo captures enum value "info" + EventLevelInfo string = "info" + + // EventLevelWarning captures enum value "warning" + EventLevelWarning string = "warning" + + // EventLevelError captures enum value "error" + EventLevelError string = "error" +) + +// prop value enum +func (m *Event) validateLevelEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, eventTypeLevelPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Event) validateLevel(formats strfmt.Registry) error { + + if err := validate.Required("level", "body", m.Level); err != nil { + return err + } + + // value enum + if err := m.validateLevelEnum("level", "body", *m.Level); err != nil { + return err + } + + return nil +} + +func (m *Event) validateMessage(formats strfmt.Registry) error { + + if err := validate.Required("message", "body", m.Message); err != nil { + return err + } + + return nil +} + +func (m *Event) validateResource(formats strfmt.Registry) error { + + if err := validate.Required("resource", "body", m.Resource); err != nil { + return err + } + + return nil +} + +func (m *Event) validateTime(formats strfmt.Registry) error { + + if err := validate.Required("time", "body", m.Time); err != nil { + return err + } + + if err := validate.FormatOf("time", "body", "date-time", m.Time.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Event) validateTimestamp(formats strfmt.Registry) error { + + if err := validate.Required("timestamp", "body", m.Timestamp); err != nil { + return err + } + + return nil +} + +func (m *Event) validateUser(formats strfmt.Registry) error { + if swag.IsZero(m.User) { // not required + return nil + } + + if m.User != nil { + if err := m.User.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("user") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("user") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this event based on the context it is used +func (m *Event) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUser(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Event) contextValidateUser(ctx context.Context, formats strfmt.Registry) error { + + if m.User != nil { + + if swag.IsZero(m.User) { // not required + return nil + } + + if err := m.User.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("user") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("user") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Event) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Event) UnmarshalBinary(b []byte) error { + var res Event + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/event_user.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/event_user.go new file mode 100644 index 000000000..a20b42b1e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/event_user.go @@ -0,0 +1,77 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// EventUser event user +// +// swagger:model EventUser +type EventUser struct { + + // Email of the User + Email string `json:"email,omitempty"` + + // Name of the User + Name string `json:"name,omitempty"` + + // ID of user who created/caused the event + // Required: true + UserID *string `json:"userID"` +} + +// Validate validates this event user +func (m *EventUser) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateUserID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *EventUser) validateUserID(formats strfmt.Registry) error { + + if err := validate.Required("userID", "body", m.UserID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this event user based on context it is used +func (m *EventUser) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *EventUser) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *EventUser) UnmarshalBinary(b []byte) error { + var res EventUser + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/events.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/events.go new file mode 100644 index 000000000..ccb18dae4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/events.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Events events +// +// swagger:model Events +type Events struct { + + // Events + // Required: true + Events []*Event `json:"events"` +} + +// Validate validates this events +func (m *Events) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateEvents(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Events) validateEvents(formats strfmt.Registry) error { + + if err := validate.Required("events", "body", m.Events); err != nil { + return err + } + + for i := 0; i < len(m.Events); i++ { + if swag.IsZero(m.Events[i]) { // not required + continue + } + + if m.Events[i] != nil { + if err := m.Events[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("events" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("events" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this events based on the context it is used +func (m *Events) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateEvents(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Events) contextValidateEvents(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Events); i++ { + + if m.Events[i] != nil { + + if swag.IsZero(m.Events[i]) { // not required + return nil + } + + if err := m.Events[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("events" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("events" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Events) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Events) UnmarshalBinary(b []byte) error { + var res Events + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/export_image.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/export_image.go new file mode 100644 index 000000000..2b5ff7f3e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/export_image.go @@ -0,0 +1,97 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ExportImage export image +// +// swagger:model ExportImage +type ExportImage struct { + + // Cloud Object Storage Access key + // Required: true + AccessKey *string `json:"accessKey"` + + // Cloud Object Storage Bucket name + // Required: true + BucketName *string `json:"bucketName"` + + // Create a checksum filename + Checksum bool `json:"checksum,omitempty"` + + // Cloud Object Storage Region; required for IBM COS + Region string `json:"region,omitempty"` + + // Cloud Object Storage Secret key + SecretKey string `json:"secretKey,omitempty"` +} + +// Validate validates this export image +func (m *ExportImage) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccessKey(formats); err != nil { + res = append(res, err) + } + + if err := m.validateBucketName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ExportImage) validateAccessKey(formats strfmt.Registry) error { + + if err := validate.Required("accessKey", "body", m.AccessKey); err != nil { + return err + } + + return nil +} + +func (m *ExportImage) validateBucketName(formats strfmt.Registry) error { + + if err := validate.Required("bucketName", "body", m.BucketName); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this export image based on context it is used +func (m *ExportImage) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ExportImage) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ExportImage) UnmarshalBinary(b []byte) error { + var res ExportImage + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/flash_copy_mapping.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/flash_copy_mapping.go new file mode 100644 index 000000000..a0259f63b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/flash_copy_mapping.go @@ -0,0 +1,106 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// FlashCopyMapping flash copy mapping +// +// swagger:model FlashCopyMapping +type FlashCopyMapping struct { + + // Indicates the rate of flash copy operation of a volume + CopyRate int64 `json:"copyRate,omitempty"` + + // Indicates flash copy name of the volume + // Required: true + FlashCopyName *string `json:"flashCopyName"` + + // Indicates the progress of flash copy operation + Progress int64 `json:"progress,omitempty"` + + // Indicates name of the source volume + SourceVolumeName string `json:"sourceVolumeName,omitempty"` + + // Indicates the start time of flash copy operation + // Format: date-time + StartTime strfmt.DateTime `json:"startTime,omitempty"` + + // Copy status of a volume + Status string `json:"status,omitempty"` + + // Indicates name of the target volume + TargetVolumeName string `json:"targetVolumeName,omitempty"` +} + +// Validate validates this flash copy mapping +func (m *FlashCopyMapping) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateFlashCopyName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStartTime(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *FlashCopyMapping) validateFlashCopyName(formats strfmt.Registry) error { + + if err := validate.Required("flashCopyName", "body", m.FlashCopyName); err != nil { + return err + } + + return nil +} + +func (m *FlashCopyMapping) validateStartTime(formats strfmt.Registry) error { + if swag.IsZero(m.StartTime) { // not required + return nil + } + + if err := validate.FormatOf("startTime", "body", "date-time", m.StartTime.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this flash copy mapping based on context it is used +func (m *FlashCopyMapping) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *FlashCopyMapping) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *FlashCopyMapping) UnmarshalBinary(b []byte) error { + var res FlashCopyMapping + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/flash_copy_mappings.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/flash_copy_mappings.go new file mode 100644 index 000000000..b7608ab98 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/flash_copy_mappings.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// FlashCopyMappings flash copy mappings +// +// swagger:model FlashCopyMappings +type FlashCopyMappings []*FlashCopyMapping + +// Validate validates this flash copy mappings +func (m FlashCopyMappings) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this flash copy mappings based on the context it is used +func (m FlashCopyMappings) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/get_bulk_volume.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/get_bulk_volume.go new file mode 100644 index 000000000..0a72234dd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/get_bulk_volume.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// GetBulkVolume get bulk volume +// +// swagger:model GetBulkVolume +type GetBulkVolume struct { + + // List of volumes to be fetched + // Required: true + VolumeList []string `json:"volumeList"` +} + +// Validate validates this get bulk volume +func (m *GetBulkVolume) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeList(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *GetBulkVolume) validateVolumeList(formats strfmt.Registry) error { + + if err := validate.Required("volumeList", "body", m.VolumeList); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this get bulk volume based on context it is used +func (m *GetBulkVolume) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *GetBulkVolume) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *GetBulkVolume) UnmarshalBinary(b []byte) error { + var res GetBulkVolume + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/get_server_virtual_serial_number.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/get_server_virtual_serial_number.go new file mode 100644 index 000000000..b5b584888 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/get_server_virtual_serial_number.go @@ -0,0 +1,148 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// GetServerVirtualSerialNumber get server virtual serial number +// +// swagger:model GetServerVirtualSerialNumber +type GetServerVirtualSerialNumber struct { + + // Description of the Virtual Serial Number + // Required: true + Description *string `json:"description"` + + // Virtual Serial Number + // Required: true + Serial *string `json:"serial"` + + // software tier + SoftwareTier SoftwareTier `json:"softwareTier,omitempty"` +} + +// Validate validates this get server virtual serial number +func (m *GetServerVirtualSerialNumber) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSerial(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareTier(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *GetServerVirtualSerialNumber) validateDescription(formats strfmt.Registry) error { + + if err := validate.Required("description", "body", m.Description); err != nil { + return err + } + + return nil +} + +func (m *GetServerVirtualSerialNumber) validateSerial(formats strfmt.Registry) error { + + if err := validate.Required("serial", "body", m.Serial); err != nil { + return err + } + + return nil +} + +func (m *GetServerVirtualSerialNumber) validateSoftwareTier(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareTier) { // not required + return nil + } + + if err := m.SoftwareTier.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareTier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareTier") + } + + return err + } + + return nil +} + +// ContextValidate validate this get server virtual serial number based on the context it is used +func (m *GetServerVirtualSerialNumber) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSoftwareTier(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *GetServerVirtualSerialNumber) contextValidateSoftwareTier(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.SoftwareTier) { // not required + return nil + } + + if err := m.SoftwareTier.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareTier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareTier") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *GetServerVirtualSerialNumber) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *GetServerVirtualSerialNumber) UnmarshalBinary(b []byte) error { + var res GetServerVirtualSerialNumber + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/hardware_platform.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/hardware_platform.go new file mode 100644 index 000000000..cfd18bc35 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/hardware_platform.go @@ -0,0 +1,148 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// HardwarePlatform Hardware platform detailing its limits and statistics +// +// swagger:model HardwarePlatform +type HardwarePlatform struct { + + // Description + Description string `json:"description,omitempty"` + + // The DataCenter list of servers and their available resources + HostsResources []*HostResources `json:"hostsResources"` + + // Configured Memory GB + Memory float64 `json:"memory,omitempty"` + + // Processor to Memory (GB) Ratio + ProcessorMemoryRatio float64 `json:"processorMemoryRatio,omitempty"` + + // Configured Processors + Processors float64 `json:"processors,omitempty"` + + // Allowable granularity for shared processors + SharedProcessorStep float64 `json:"sharedProcessorStep,omitempty"` + + // Short code for hardware + Type string `json:"type,omitempty"` +} + +// Validate validates this hardware platform +func (m *HardwarePlatform) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateHostsResources(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HardwarePlatform) validateHostsResources(formats strfmt.Registry) error { + if swag.IsZero(m.HostsResources) { // not required + return nil + } + + for i := 0; i < len(m.HostsResources); i++ { + if swag.IsZero(m.HostsResources[i]) { // not required + continue + } + + if m.HostsResources[i] != nil { + if err := m.HostsResources[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hostsResources" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hostsResources" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this hardware platform based on the context it is used +func (m *HardwarePlatform) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateHostsResources(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HardwarePlatform) contextValidateHostsResources(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.HostsResources); i++ { + + if m.HostsResources[i] != nil { + + if swag.IsZero(m.HostsResources[i]) { // not required + return nil + } + + if err := m.HostsResources[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hostsResources" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hostsResources" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *HardwarePlatform) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HardwarePlatform) UnmarshalBinary(b []byte) error { + var res HardwarePlatform + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/hardware_platforms.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/hardware_platforms.go new file mode 100644 index 000000000..ea5d89d01 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/hardware_platforms.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// HardwarePlatforms A map of hardware platforms detailing their limits and statistics +// +// swagger:model HardwarePlatforms +type HardwarePlatforms map[string]HardwarePlatform + +// Validate validates this hardware platforms +func (m HardwarePlatforms) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := validate.Required(k, "body", m[k]); err != nil { + return err + } + if val, ok := m[k]; ok { + if err := val.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this hardware platforms based on the context it is used +func (m HardwarePlatforms) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if val, ok := m[k]; ok { + if err := val.ContextValidate(ctx, formats); err != nil { + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/health.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/health.go new file mode 100644 index 000000000..b94914a5e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/health.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Health health +// +// swagger:model Health +type Health struct { + + // Returns a description of the current servers health + // Required: true + Status *string `json:"status"` +} + +// Validate validates this health +func (m *Health) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Health) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this health based on context it is used +func (m *Health) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Health) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Health) UnmarshalBinary(b []byte) error { + var res Health + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host.go new file mode 100644 index 000000000..fe859e821 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host.go @@ -0,0 +1,266 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Host Host description +// +// swagger:model Host +type Host struct { + + // Capacities of the host + Capacity *HostCapacity `json:"capacity,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // Name of the host (chosen by the user) + DisplayName string `json:"displayName,omitempty"` + + // Information about the owning host group + HostGroup *HostGroupSummary `json:"hostGroup,omitempty"` + + // current physical ID of the host. Keep internal + HostReference int64 `json:"hostReference,omitempty"` + + // ID of the host + ID string `json:"id,omitempty"` + + // State of the host (up/down) + State string `json:"state,omitempty"` + + // Status of the host (enabled/disabled) + Status string `json:"status,omitempty"` + + // System type + SysType string `json:"sysType,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this host +func (m *Host) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCapacity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHostGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Host) validateCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.Capacity) { // not required + return nil + } + + if m.Capacity != nil { + if err := m.Capacity.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("capacity") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("capacity") + } + return err + } + } + + return nil +} + +func (m *Host) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("crn") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("crn") + } + return err + } + + return nil +} + +func (m *Host) validateHostGroup(formats strfmt.Registry) error { + if swag.IsZero(m.HostGroup) { // not required + return nil + } + + if m.HostGroup != nil { + if err := m.HostGroup.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("hostGroup") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("hostGroup") + } + return err + } + } + + return nil +} + +func (m *Host) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("userTags") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("userTags") + } + return err + } + + return nil +} + +// ContextValidate validate this host based on the context it is used +func (m *Host) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateHostGroup(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Host) contextValidateCapacity(ctx context.Context, formats strfmt.Registry) error { + + if m.Capacity != nil { + + if swag.IsZero(m.Capacity) { // not required + return nil + } + + if err := m.Capacity.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("capacity") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("capacity") + } + return err + } + } + + return nil +} + +func (m *Host) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("crn") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("crn") + } + return err + } + + return nil +} + +func (m *Host) contextValidateHostGroup(ctx context.Context, formats strfmt.Registry) error { + + if m.HostGroup != nil { + + if swag.IsZero(m.HostGroup) { // not required + return nil + } + + if err := m.HostGroup.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("hostGroup") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("hostGroup") + } + return err + } + } + + return nil +} + +func (m *Host) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("userTags") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("userTags") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Host) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Host) UnmarshalBinary(b []byte) error { + var res Host + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_capacity.go new file mode 100644 index 000000000..4e2a70768 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_capacity.go @@ -0,0 +1,177 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// HostCapacity host capacity +// +// swagger:model HostCapacity +type HostCapacity struct { + + // Core capacity of the host + Cores *HostResourceCapacity `json:"cores,omitempty"` + + // Memory capacity of the host (in GB) + Memory *HostResourceCapacity `json:"memory,omitempty"` +} + +// Validate validates this host capacity +func (m *HostCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostCapacity) validateCores(formats strfmt.Registry) error { + if swag.IsZero(m.Cores) { // not required + return nil + } + + if m.Cores != nil { + if err := m.Cores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cores") + } + + return err + } + } + + return nil +} + +func (m *HostCapacity) validateMemory(formats strfmt.Registry) error { + if swag.IsZero(m.Memory) { // not required + return nil + } + + if m.Memory != nil { + if err := m.Memory.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("memory") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("memory") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this host capacity based on the context it is used +func (m *HostCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCores(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMemory(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostCapacity) contextValidateCores(ctx context.Context, formats strfmt.Registry) error { + + if m.Cores != nil { + + if swag.IsZero(m.Cores) { // not required + return nil + } + + if err := m.Cores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cores") + } + + return err + } + } + + return nil +} + +func (m *HostCapacity) contextValidateMemory(ctx context.Context, formats strfmt.Registry) error { + + if m.Memory != nil { + + if swag.IsZero(m.Memory) { // not required + return nil + } + + if err := m.Memory.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("memory") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("memory") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *HostCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostCapacity) UnmarshalBinary(b []byte) error { + var res HostCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_create.go new file mode 100644 index 000000000..aae5fbe12 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_create.go @@ -0,0 +1,150 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostCreate Parameters to add a host to an existing host group +// +// swagger:model HostCreate +type HostCreate struct { + + // ID of the host group to which the host should be added + // Required: true + HostGroupID *string `json:"hostGroupID"` + + // Hosts to be added + // Required: true + Hosts []*AddHost `json:"hosts"` +} + +// Validate validates this host create +func (m *HostCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateHostGroupID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHosts(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostCreate) validateHostGroupID(formats strfmt.Registry) error { + + if err := validate.Required("hostGroupID", "body", m.HostGroupID); err != nil { + return err + } + + return nil +} + +func (m *HostCreate) validateHosts(formats strfmt.Registry) error { + + if err := validate.Required("hosts", "body", m.Hosts); err != nil { + return err + } + + for i := 0; i < len(m.Hosts); i++ { + if swag.IsZero(m.Hosts[i]) { // not required + continue + } + + if m.Hosts[i] != nil { + if err := m.Hosts[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this host create based on the context it is used +func (m *HostCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateHosts(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostCreate) contextValidateHosts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Hosts); i++ { + + if m.Hosts[i] != nil { + + if swag.IsZero(m.Hosts[i]) { // not required + return nil + } + + if err := m.Hosts[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *HostCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostCreate) UnmarshalBinary(b []byte) error { + var res HostCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group.go new file mode 100644 index 000000000..92947b1c5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group.go @@ -0,0 +1,155 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostGroup Description of a host group +// +// swagger:model HostGroup +type HostGroup struct { + + // Date/Time of host group creation + // Format: date-time + CreationDate strfmt.DateTime `json:"creationDate,omitempty"` + + // List of hosts + Hosts []HostHref `json:"hosts"` + + // Host Group ID + ID string `json:"id,omitempty"` + + // Name of the host group + Name string `json:"name,omitempty"` + + // ID of the workspace owning the host group + Primary string `json:"primary,omitempty"` + + // IDs of workspaces the host group has been shared with + Secondaries []string `json:"secondaries"` +} + +// Validate validates this host group +func (m *HostGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHosts(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostGroup) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *HostGroup) validateHosts(formats strfmt.Registry) error { + if swag.IsZero(m.Hosts) { // not required + return nil + } + + for i := 0; i < len(m.Hosts); i++ { + + if err := m.Hosts[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + + return err + } + + } + + return nil +} + +// ContextValidate validate this host group based on the context it is used +func (m *HostGroup) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateHosts(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostGroup) contextValidateHosts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Hosts); i++ { + + if swag.IsZero(m.Hosts[i]) { // not required + return nil + } + + if err := m.Hosts[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + + return err + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *HostGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostGroup) UnmarshalBinary(b []byte) error { + var res HostGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_create.go new file mode 100644 index 000000000..d11e7a619 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_create.go @@ -0,0 +1,220 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostGroupCreate Parameters for the creation of a new host group +// +// swagger:model HostGroupCreate +type HostGroupCreate struct { + + // List of hosts to add to the host group + // Required: true + Hosts []*AddHost `json:"hosts"` + + // Name of the host group to create + // Required: true + Name *string `json:"name"` + + // List of workspaces to share the host group with (optional) + Secondaries []*Secondary `json:"secondaries"` +} + +// Validate validates this host group create +func (m *HostGroupCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateHosts(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSecondaries(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostGroupCreate) validateHosts(formats strfmt.Registry) error { + + if err := validate.Required("hosts", "body", m.Hosts); err != nil { + return err + } + + for i := 0; i < len(m.Hosts); i++ { + if swag.IsZero(m.Hosts[i]) { // not required + continue + } + + if m.Hosts[i] != nil { + if err := m.Hosts[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *HostGroupCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *HostGroupCreate) validateSecondaries(formats strfmt.Registry) error { + if swag.IsZero(m.Secondaries) { // not required + return nil + } + + for i := 0; i < len(m.Secondaries); i++ { + if swag.IsZero(m.Secondaries[i]) { // not required + continue + } + + if m.Secondaries[i] != nil { + if err := m.Secondaries[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("secondaries" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("secondaries" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this host group create based on the context it is used +func (m *HostGroupCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateHosts(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSecondaries(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostGroupCreate) contextValidateHosts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Hosts); i++ { + + if m.Hosts[i] != nil { + + if swag.IsZero(m.Hosts[i]) { // not required + return nil + } + + if err := m.Hosts[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *HostGroupCreate) contextValidateSecondaries(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Secondaries); i++ { + + if m.Secondaries[i] != nil { + + if swag.IsZero(m.Secondaries[i]) { // not required + return nil + } + + if err := m.Secondaries[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("secondaries" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("secondaries" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *HostGroupCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostGroupCreate) UnmarshalBinary(b []byte) error { + var res HostGroupCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_list.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_list.go new file mode 100644 index 000000000..810dd6cd7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_list.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// HostGroupList host group list +// +// swagger:model HostGroupList +type HostGroupList []*HostGroup + +// Validate validates this host group list +func (m HostGroupList) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this host group list based on the context it is used +func (m HostGroupList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_share_op.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_share_op.go new file mode 100644 index 000000000..5fe85ef5f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_share_op.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// HostGroupShareOp Operation updating the sharing status (mutually exclusive) +// +// swagger:model HostGroupShareOp +type HostGroupShareOp struct { + + // List of workspaces to share the host group with + Add []*Secondary `json:"add"` + + // A workspace ID to stop sharing the host group with + Remove string `json:"remove,omitempty"` +} + +// Validate validates this host group share op +func (m *HostGroupShareOp) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAdd(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostGroupShareOp) validateAdd(formats strfmt.Registry) error { + if swag.IsZero(m.Add) { // not required + return nil + } + + for i := 0; i < len(m.Add); i++ { + if swag.IsZero(m.Add[i]) { // not required + continue + } + + if m.Add[i] != nil { + if err := m.Add[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("add" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("add" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this host group share op based on the context it is used +func (m *HostGroupShareOp) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAdd(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostGroupShareOp) contextValidateAdd(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Add); i++ { + + if m.Add[i] != nil { + + if swag.IsZero(m.Add[i]) { // not required + return nil + } + + if err := m.Add[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("add" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("add" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *HostGroupShareOp) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostGroupShareOp) UnmarshalBinary(b []byte) error { + var res HostGroupShareOp + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_summary.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_summary.go new file mode 100644 index 000000000..f4c345ed2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_group_summary.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// HostGroupSummary host group summary +// +// swagger:model HostGroupSummary +type HostGroupSummary struct { + + // Whether the host group is a primary or secondary host group + Access string `json:"access,omitempty"` + + // Link to the host group resource + Href string `json:"href,omitempty"` + + // Name of the host group + Name string `json:"name,omitempty"` +} + +// Validate validates this host group summary +func (m *HostGroupSummary) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this host group summary based on context it is used +func (m *HostGroupSummary) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *HostGroupSummary) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostGroupSummary) UnmarshalBinary(b []byte) error { + var res HostGroupSummary + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_href.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_href.go new file mode 100644 index 000000000..4ac88f4c4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_href.go @@ -0,0 +1,27 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" +) + +// HostHref Link to host resource +// +// swagger:model HostHref +type HostHref string + +// Validate validates this host href +func (m HostHref) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this host href based on context it is used +func (m HostHref) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_info.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_info.go new file mode 100644 index 000000000..59485204d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_info.go @@ -0,0 +1,281 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostInfo host info +// +// swagger:model HostInfo +type HostInfo struct { + + // Host core information + // Required: true + Cores *HostResource `json:"cores"` + + // Hostname + // Required: true + Hostname *string `json:"hostname"` + + // IP Address + // Required: true + IPAddress *string `json:"ipAddress"` + + // Host memory information + // Required: true + Memory *HostResource `json:"memory"` + + // PVM Instances on host + // Required: true + PvmInstances []*HostPVMInstance `json:"pvmInstances"` +} + +// Validate validates this host info +func (m *HostInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHostname(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstances(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostInfo) validateCores(formats strfmt.Registry) error { + + if err := validate.Required("cores", "body", m.Cores); err != nil { + return err + } + + if m.Cores != nil { + if err := m.Cores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cores") + } + + return err + } + } + + return nil +} + +func (m *HostInfo) validateHostname(formats strfmt.Registry) error { + + if err := validate.Required("hostname", "body", m.Hostname); err != nil { + return err + } + + return nil +} + +func (m *HostInfo) validateIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("ipAddress", "body", m.IPAddress); err != nil { + return err + } + + return nil +} + +func (m *HostInfo) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + if m.Memory != nil { + if err := m.Memory.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("memory") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("memory") + } + + return err + } + } + + return nil +} + +func (m *HostInfo) validatePvmInstances(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstances", "body", m.PvmInstances); err != nil { + return err + } + + for i := 0; i < len(m.PvmInstances); i++ { + if swag.IsZero(m.PvmInstances[i]) { // not required + continue + } + + if m.PvmInstances[i] != nil { + if err := m.PvmInstances[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this host info based on the context it is used +func (m *HostInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCores(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMemory(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePvmInstances(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostInfo) contextValidateCores(ctx context.Context, formats strfmt.Registry) error { + + if m.Cores != nil { + + if err := m.Cores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cores") + } + + return err + } + } + + return nil +} + +func (m *HostInfo) contextValidateMemory(ctx context.Context, formats strfmt.Registry) error { + + if m.Memory != nil { + + if err := m.Memory.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("memory") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("memory") + } + + return err + } + } + + return nil +} + +func (m *HostInfo) contextValidatePvmInstances(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PvmInstances); i++ { + + if m.PvmInstances[i] != nil { + + if swag.IsZero(m.PvmInstances[i]) { // not required + return nil + } + + if err := m.PvmInstances[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *HostInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostInfo) UnmarshalBinary(b []byte) error { + var res HostInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_list.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_list.go new file mode 100644 index 000000000..fddb1a89c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_list.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// HostList host list +// +// swagger:model HostList +type HostList []*Host + +// Validate validates this host list +func (m HostList) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this host list based on the context it is used +func (m HostList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_p_vm_instance.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_p_vm_instance.go new file mode 100644 index 000000000..364ae8755 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_p_vm_instance.go @@ -0,0 +1,202 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostPVMInstance A pvm instance on host +// +// swagger:model HostPVMInstance +type HostPVMInstance struct { + + // Cloud Instance ID pvm instance is a member of + // Required: true + CloudInstanceID *string `json:"cloudInstanceID"` + + // Owner information of pvm instance + // Required: true + Owner *OwnerInfo `json:"owner"` + + // Instance ID + // Required: true + PvmInstanceID *string `json:"pvmInstanceID"` + + // Instance name + // Required: true + PvmName *string `json:"pvmName"` + + // State of pvm instance + // Required: true + State *string `json:"state"` + + // Tenant ID of pvm instance + // Required: true + TenantID *string `json:"tenantID"` +} + +// Validate validates this host p VM instance +func (m *HostPVMInstance) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCloudInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOwner(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTenantID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostPVMInstance) validateCloudInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("cloudInstanceID", "body", m.CloudInstanceID); err != nil { + return err + } + + return nil +} + +func (m *HostPVMInstance) validateOwner(formats strfmt.Registry) error { + + if err := validate.Required("owner", "body", m.Owner); err != nil { + return err + } + + if m.Owner != nil { + if err := m.Owner.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("owner") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("owner") + } + + return err + } + } + + return nil +} + +func (m *HostPVMInstance) validatePvmInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstanceID", "body", m.PvmInstanceID); err != nil { + return err + } + + return nil +} + +func (m *HostPVMInstance) validatePvmName(formats strfmt.Registry) error { + + if err := validate.Required("pvmName", "body", m.PvmName); err != nil { + return err + } + + return nil +} + +func (m *HostPVMInstance) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + return nil +} + +func (m *HostPVMInstance) validateTenantID(formats strfmt.Registry) error { + + if err := validate.Required("tenantID", "body", m.TenantID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this host p VM instance based on the context it is used +func (m *HostPVMInstance) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateOwner(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostPVMInstance) contextValidateOwner(ctx context.Context, formats strfmt.Registry) error { + + if m.Owner != nil { + + if err := m.Owner.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("owner") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("owner") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *HostPVMInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostPVMInstance) UnmarshalBinary(b []byte) error { + var res HostPVMInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_put.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_put.go new file mode 100644 index 000000000..f90f31fb5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_put.go @@ -0,0 +1,86 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostPut Parameters to modify a host +// +// swagger:model HostPut +type HostPut struct { + + // Name of the host chosen by the user + // Required: true + // Max Length: 32 + // Min Length: 2 + // Pattern: ^[A-Za-z0-9](?:[A-Za-z0-9_-]{0,30}[A-Za-z0-9])?$ + DisplayName *string `json:"displayName"` +} + +// Validate validates this host put +func (m *HostPut) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDisplayName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostPut) validateDisplayName(formats strfmt.Registry) error { + + if err := validate.Required("displayName", "body", m.DisplayName); err != nil { + return err + } + + if err := validate.MinLength("displayName", "body", *m.DisplayName, 2); err != nil { + return err + } + + if err := validate.MaxLength("displayName", "body", *m.DisplayName, 32); err != nil { + return err + } + + if err := validate.Pattern("displayName", "body", *m.DisplayName, `^[A-Za-z0-9](?:[A-Za-z0-9_-]{0,30}[A-Za-z0-9])?$`); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this host put based on context it is used +func (m *HostPut) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *HostPut) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostPut) UnmarshalBinary(b []byte) error { + var res HostPut + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resource.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resource.go new file mode 100644 index 000000000..aef626fbe --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resource.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostResource host resource +// +// swagger:model HostResource +type HostResource struct { + + // Free + // Required: true + Free *float64 `json:"free"` + + // Total + // Required: true + Total *float64 `json:"total"` + + // Used + // Required: true + Used *float64 `json:"used"` +} + +// Validate validates this host resource +func (m *HostResource) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateFree(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotal(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUsed(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostResource) validateFree(formats strfmt.Registry) error { + + if err := validate.Required("free", "body", m.Free); err != nil { + return err + } + + return nil +} + +func (m *HostResource) validateTotal(formats strfmt.Registry) error { + + if err := validate.Required("total", "body", m.Total); err != nil { + return err + } + + return nil +} + +func (m *HostResource) validateUsed(formats strfmt.Registry) error { + + if err := validate.Required("used", "body", m.Used); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this host resource based on context it is used +func (m *HostResource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *HostResource) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostResource) UnmarshalBinary(b []byte) error { + var res HostResource + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resource_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resource_capacity.go new file mode 100644 index 000000000..6f1943e78 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resource_capacity.go @@ -0,0 +1,122 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostResourceCapacity host resource capacity +// +// swagger:model HostResourceCapacity +type HostResourceCapacity struct { + + // available + // Required: true + Available *float64 `json:"available"` + + // reserved + // Required: true + Reserved *float64 `json:"reserved"` + + // total + // Required: true + Total *float64 `json:"total"` + + // used + // Required: true + Used *float64 `json:"used"` +} + +// Validate validates this host resource capacity +func (m *HostResourceCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAvailable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReserved(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotal(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUsed(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostResourceCapacity) validateAvailable(formats strfmt.Registry) error { + + if err := validate.Required("available", "body", m.Available); err != nil { + return err + } + + return nil +} + +func (m *HostResourceCapacity) validateReserved(formats strfmt.Registry) error { + + if err := validate.Required("reserved", "body", m.Reserved); err != nil { + return err + } + + return nil +} + +func (m *HostResourceCapacity) validateTotal(formats strfmt.Registry) error { + + if err := validate.Required("total", "body", m.Total); err != nil { + return err + } + + return nil +} + +func (m *HostResourceCapacity) validateUsed(formats strfmt.Registry) error { + + if err := validate.Required("used", "body", m.Used); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this host resource capacity based on context it is used +func (m *HostResourceCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *HostResourceCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostResourceCapacity) UnmarshalBinary(b []byte) error { + var res HostResourceCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resources.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resources.go new file mode 100644 index 000000000..40b3b8652 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/host_resources.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HostResources host resources +// +// swagger:model HostResources +type HostResources struct { + + // The host available Processor units + // Required: true + Cores *float64 `json:"cores"` + + // The host identifier + // Required: true + ID *int64 `json:"id"` + + // The host available RAM memory in GiB + // Required: true + Memory *int64 `json:"memory"` +} + +// Validate validates this host resources +func (m *HostResources) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HostResources) validateCores(formats strfmt.Registry) error { + + if err := validate.Required("cores", "body", m.Cores); err != nil { + return err + } + + return nil +} + +func (m *HostResources) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *HostResources) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this host resources based on context it is used +func (m *HostResources) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *HostResources) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HostResources) UnmarshalBinary(b []byte) error { + var res HostResources + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policies.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policies.go new file mode 100644 index 000000000..646a4b98e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policies.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IKEPolicies i k e policies +// +// swagger:model IKEPolicies +type IKEPolicies struct { + + // IKE Policies array + // Required: true + IkePolicies []*IKEPolicy `json:"ikePolicies"` +} + +// Validate validates this i k e policies +func (m *IKEPolicies) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateIkePolicies(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicies) validateIkePolicies(formats strfmt.Registry) error { + + if err := validate.Required("ikePolicies", "body", m.IkePolicies); err != nil { + return err + } + + for i := 0; i < len(m.IkePolicies); i++ { + if swag.IsZero(m.IkePolicies[i]) { // not required + continue + } + + if m.IkePolicies[i] != nil { + if err := m.IkePolicies[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ikePolicies" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ikePolicies" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this i k e policies based on the context it is used +func (m *IKEPolicies) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateIkePolicies(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicies) contextValidateIkePolicies(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.IkePolicies); i++ { + + if m.IkePolicies[i] != nil { + + if swag.IsZero(m.IkePolicies[i]) { // not required + return nil + } + + if err := m.IkePolicies[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ikePolicies" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ikePolicies" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *IKEPolicies) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IKEPolicies) UnmarshalBinary(b []byte) error { + var res IKEPolicies + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy.go new file mode 100644 index 000000000..1c492e795 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy.go @@ -0,0 +1,372 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IKEPolicy IKE Policy object +// +// swagger:model IKEPolicy +type IKEPolicy struct { + + // authentication + // Required: true + Authentication *IKEPolicyAuthentication `json:"authentication"` + + // DH group of the IKE Policy + // Example: 2 + // Required: true + // Enum: [1,2,5,14,19,20,24] + DhGroup *int64 `json:"dhGroup"` + + // encryption of the IKE Policy + // Example: aes-256-cbc + // Required: true + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-128-gcm","3des-cbc"] + Encryption *string `json:"encryption"` + + // unique identifier of the IKE Policy object + // Example: 7edc8988-eb18-4b5c-a594-0d73d8254463 + // Required: true + ID *string `json:"id"` + + // key lifetime + // Required: true + KeyLifetime *KeyLifetime `json:"keyLifetime"` + + // name of the IKE Policy + // Example: ikePolicy1 + // Required: true + Name *string `json:"name"` + + // version of the IKE Policy + // Example: 2 + // Required: true + // Enum: [1,2] + Version *int64 `json:"version"` +} + +// Validate validates this i k e policy +func (m *IKEPolicy) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAuthentication(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDhGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEncryption(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateKeyLifetime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVersion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicy) validateAuthentication(formats strfmt.Registry) error { + + if err := validate.Required("authentication", "body", m.Authentication); err != nil { + return err + } + + if err := validate.Required("authentication", "body", m.Authentication); err != nil { + return err + } + + if m.Authentication != nil { + if err := m.Authentication.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + } + + return nil +} + +var iKEPolicyTypeDhGroupPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2,5,14,19,20,24]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyTypeDhGroupPropEnum = append(iKEPolicyTypeDhGroupPropEnum, v) + } +} + +// prop value enum +func (m *IKEPolicy) validateDhGroupEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, iKEPolicyTypeDhGroupPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicy) validateDhGroup(formats strfmt.Registry) error { + + if err := validate.Required("dhGroup", "body", m.DhGroup); err != nil { + return err + } + + // value enum + if err := m.validateDhGroupEnum("dhGroup", "body", *m.DhGroup); err != nil { + return err + } + + return nil +} + +var iKEPolicyTypeEncryptionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-128-gcm","3des-cbc"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyTypeEncryptionPropEnum = append(iKEPolicyTypeEncryptionPropEnum, v) + } +} + +const ( + + // IKEPolicyEncryptionAesDash256DashCbc captures enum value "aes-256-cbc" + IKEPolicyEncryptionAesDash256DashCbc string = "aes-256-cbc" + + // IKEPolicyEncryptionAesDash192DashCbc captures enum value "aes-192-cbc" + IKEPolicyEncryptionAesDash192DashCbc string = "aes-192-cbc" + + // IKEPolicyEncryptionAesDash128DashCbc captures enum value "aes-128-cbc" + IKEPolicyEncryptionAesDash128DashCbc string = "aes-128-cbc" + + // IKEPolicyEncryptionAesDash256DashGcm captures enum value "aes-256-gcm" + IKEPolicyEncryptionAesDash256DashGcm string = "aes-256-gcm" + + // IKEPolicyEncryptionAesDash128DashGcm captures enum value "aes-128-gcm" + IKEPolicyEncryptionAesDash128DashGcm string = "aes-128-gcm" + + // IKEPolicyEncryptionNr3desDashCbc captures enum value "3des-cbc" + IKEPolicyEncryptionNr3desDashCbc string = "3des-cbc" +) + +// prop value enum +func (m *IKEPolicy) validateEncryptionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, iKEPolicyTypeEncryptionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicy) validateEncryption(formats strfmt.Registry) error { + + if err := validate.Required("encryption", "body", m.Encryption); err != nil { + return err + } + + // value enum + if err := m.validateEncryptionEnum("encryption", "body", *m.Encryption); err != nil { + return err + } + + return nil +} + +func (m *IKEPolicy) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *IKEPolicy) validateKeyLifetime(formats strfmt.Registry) error { + + if err := validate.Required("keyLifetime", "body", m.KeyLifetime); err != nil { + return err + } + + if err := validate.Required("keyLifetime", "body", m.KeyLifetime); err != nil { + return err + } + + if m.KeyLifetime != nil { + if err := m.KeyLifetime.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + } + + return nil +} + +func (m *IKEPolicy) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +var iKEPolicyTypeVersionPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyTypeVersionPropEnum = append(iKEPolicyTypeVersionPropEnum, v) + } +} + +// prop value enum +func (m *IKEPolicy) validateVersionEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, iKEPolicyTypeVersionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicy) validateVersion(formats strfmt.Registry) error { + + if err := validate.Required("version", "body", m.Version); err != nil { + return err + } + + // value enum + if err := m.validateVersionEnum("version", "body", *m.Version); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this i k e policy based on the context it is used +func (m *IKEPolicy) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAuthentication(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateKeyLifetime(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicy) contextValidateAuthentication(ctx context.Context, formats strfmt.Registry) error { + + if m.Authentication != nil { + + if err := m.Authentication.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + } + + return nil +} + +func (m *IKEPolicy) contextValidateKeyLifetime(ctx context.Context, formats strfmt.Registry) error { + + if m.KeyLifetime != nil { + + if err := m.KeyLifetime.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *IKEPolicy) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IKEPolicy) UnmarshalBinary(b []byte) error { + var res IKEPolicy + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_authentication.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_authentication.go new file mode 100644 index 000000000..fcbcfec16 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_authentication.go @@ -0,0 +1,85 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// IKEPolicyAuthentication authentication of the IKE policy +// Example: sha-256 +// +// swagger:model IKEPolicyAuthentication +type IKEPolicyAuthentication string + +func NewIKEPolicyAuthentication(value IKEPolicyAuthentication) *IKEPolicyAuthentication { + return &value +} + +// Pointer returns a pointer to a freshly-allocated IKEPolicyAuthentication. +func (m IKEPolicyAuthentication) Pointer() *IKEPolicyAuthentication { + return &m +} + +const ( + + // IKEPolicyAuthenticationShaDash256 captures enum value "sha-256" + IKEPolicyAuthenticationShaDash256 IKEPolicyAuthentication = "sha-256" + + // IKEPolicyAuthenticationShaDash384 captures enum value "sha-384" + IKEPolicyAuthenticationShaDash384 IKEPolicyAuthentication = "sha-384" + + // IKEPolicyAuthenticationSha1 captures enum value "sha1" + IKEPolicyAuthenticationSha1 IKEPolicyAuthentication = "sha1" + + // IKEPolicyAuthenticationNone captures enum value "none" + IKEPolicyAuthenticationNone IKEPolicyAuthentication = "none" +) + +// for schema +var iKEPolicyAuthenticationEnum []any + +func init() { + var res []IKEPolicyAuthentication + if err := json.Unmarshal([]byte(`["sha-256","sha-384","sha1","none"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyAuthenticationEnum = append(iKEPolicyAuthenticationEnum, v) + } +} + +func (m IKEPolicyAuthentication) validateIKEPolicyAuthenticationEnum(path, location string, value IKEPolicyAuthentication) error { + if err := validate.EnumCase(path, location, value, iKEPolicyAuthenticationEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this i k e policy authentication +func (m IKEPolicyAuthentication) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateIKEPolicyAuthenticationEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this i k e policy authentication based on context it is used +func (m IKEPolicyAuthentication) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_create.go new file mode 100644 index 000000000..ab5d8245e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_create.go @@ -0,0 +1,374 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IKEPolicyCreate IKE Policy object used for creation +// +// swagger:model IKEPolicyCreate +type IKEPolicyCreate struct { + + // authentication + Authentication IKEPolicyAuthentication `json:"authentication,omitempty"` + + // DH group of the IKE Policy + // Example: 2 + // Required: true + // Enum: [1,2,5,14,19,20,24] + DhGroup *int64 `json:"dhGroup"` + + // encryption of the IKE Policy + // Example: aes-256-cbc + // Required: true + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-128-gcm","3des-cbc"] + Encryption *string `json:"encryption"` + + // key lifetime + // Required: true + KeyLifetime *KeyLifetime `json:"keyLifetime"` + + // name of the IKE Policy + // Example: ikePolicy1 + // Required: true + // Max Length: 47 + // Min Length: 1 + Name *string `json:"name"` + + // Preshared key used in this IKE Policy (length of preshared key must be even) + // Required: true + PresharedKey *string `json:"presharedKey"` + + // version of the IKE Policy + // Example: 2 + // Required: true + // Enum: [1,2] + Version *int64 `json:"version"` +} + +// Validate validates this i k e policy create +func (m *IKEPolicyCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAuthentication(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDhGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEncryption(formats); err != nil { + res = append(res, err) + } + + if err := m.validateKeyLifetime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePresharedKey(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVersion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicyCreate) validateAuthentication(formats strfmt.Registry) error { + if swag.IsZero(m.Authentication) { // not required + return nil + } + + if err := m.Authentication.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + + return nil +} + +var iKEPolicyCreateTypeDhGroupPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2,5,14,19,20,24]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyCreateTypeDhGroupPropEnum = append(iKEPolicyCreateTypeDhGroupPropEnum, v) + } +} + +// prop value enum +func (m *IKEPolicyCreate) validateDhGroupEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, iKEPolicyCreateTypeDhGroupPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicyCreate) validateDhGroup(formats strfmt.Registry) error { + + if err := validate.Required("dhGroup", "body", m.DhGroup); err != nil { + return err + } + + // value enum + if err := m.validateDhGroupEnum("dhGroup", "body", *m.DhGroup); err != nil { + return err + } + + return nil +} + +var iKEPolicyCreateTypeEncryptionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-128-gcm","3des-cbc"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyCreateTypeEncryptionPropEnum = append(iKEPolicyCreateTypeEncryptionPropEnum, v) + } +} + +const ( + + // IKEPolicyCreateEncryptionAesDash256DashCbc captures enum value "aes-256-cbc" + IKEPolicyCreateEncryptionAesDash256DashCbc string = "aes-256-cbc" + + // IKEPolicyCreateEncryptionAesDash192DashCbc captures enum value "aes-192-cbc" + IKEPolicyCreateEncryptionAesDash192DashCbc string = "aes-192-cbc" + + // IKEPolicyCreateEncryptionAesDash128DashCbc captures enum value "aes-128-cbc" + IKEPolicyCreateEncryptionAesDash128DashCbc string = "aes-128-cbc" + + // IKEPolicyCreateEncryptionAesDash256DashGcm captures enum value "aes-256-gcm" + IKEPolicyCreateEncryptionAesDash256DashGcm string = "aes-256-gcm" + + // IKEPolicyCreateEncryptionAesDash128DashGcm captures enum value "aes-128-gcm" + IKEPolicyCreateEncryptionAesDash128DashGcm string = "aes-128-gcm" + + // IKEPolicyCreateEncryptionNr3desDashCbc captures enum value "3des-cbc" + IKEPolicyCreateEncryptionNr3desDashCbc string = "3des-cbc" +) + +// prop value enum +func (m *IKEPolicyCreate) validateEncryptionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, iKEPolicyCreateTypeEncryptionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicyCreate) validateEncryption(formats strfmt.Registry) error { + + if err := validate.Required("encryption", "body", m.Encryption); err != nil { + return err + } + + // value enum + if err := m.validateEncryptionEnum("encryption", "body", *m.Encryption); err != nil { + return err + } + + return nil +} + +func (m *IKEPolicyCreate) validateKeyLifetime(formats strfmt.Registry) error { + + if err := validate.Required("keyLifetime", "body", m.KeyLifetime); err != nil { + return err + } + + if err := validate.Required("keyLifetime", "body", m.KeyLifetime); err != nil { + return err + } + + if m.KeyLifetime != nil { + if err := m.KeyLifetime.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + } + + return nil +} + +func (m *IKEPolicyCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MinLength("name", "body", *m.Name, 1); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 47); err != nil { + return err + } + + return nil +} + +func (m *IKEPolicyCreate) validatePresharedKey(formats strfmt.Registry) error { + + if err := validate.Required("presharedKey", "body", m.PresharedKey); err != nil { + return err + } + + return nil +} + +var iKEPolicyCreateTypeVersionPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyCreateTypeVersionPropEnum = append(iKEPolicyCreateTypeVersionPropEnum, v) + } +} + +// prop value enum +func (m *IKEPolicyCreate) validateVersionEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, iKEPolicyCreateTypeVersionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicyCreate) validateVersion(formats strfmt.Registry) error { + + if err := validate.Required("version", "body", m.Version); err != nil { + return err + } + + // value enum + if err := m.validateVersionEnum("version", "body", *m.Version); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this i k e policy create based on the context it is used +func (m *IKEPolicyCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAuthentication(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateKeyLifetime(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicyCreate) contextValidateAuthentication(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Authentication) { // not required + return nil + } + + if err := m.Authentication.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + + return nil +} + +func (m *IKEPolicyCreate) contextValidateKeyLifetime(ctx context.Context, formats strfmt.Registry) error { + + if m.KeyLifetime != nil { + + if err := m.KeyLifetime.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *IKEPolicyCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IKEPolicyCreate) UnmarshalBinary(b []byte) error { + var res IKEPolicyCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_ref.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_ref.go new file mode 100644 index 000000000..4efb0751f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_ref.go @@ -0,0 +1,90 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IKEPolicyRef IKE Policy reference object +// +// swagger:model IKEPolicyRef +type IKEPolicyRef struct { + + // unique identifier of IKE Policy + // Example: 6edc8988-ab18-4b5c-b123-0d73e8254463 + // Required: true + ID *string `json:"id"` + + // name of IKE Policy + // Example: IKE Policy 1 + // Required: true + Name *string `json:"name"` +} + +// Validate validates this i k e policy ref +func (m *IKEPolicyRef) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicyRef) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *IKEPolicyRef) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this i k e policy ref based on context it is used +func (m *IKEPolicyRef) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *IKEPolicyRef) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IKEPolicyRef) UnmarshalBinary(b []byte) error { + var res IKEPolicyRef + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_update.go new file mode 100644 index 000000000..0385738cb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/i_k_e_policy_update.go @@ -0,0 +1,517 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IKEPolicyUpdate IKE Policy object used for update +// +// MinProperties: 1 +// +// swagger:model IKEPolicyUpdate +type IKEPolicyUpdate struct { + + // authentication + Authentication IKEPolicyAuthentication `json:"authentication,omitempty"` + + // DH group of the IKE Policy + // Example: 2 + // Enum: [1,2,5,14,19,20,24] + DhGroup int64 `json:"dhGroup,omitempty"` + + // encryption of the IKE Policy + // Example: aes-256-cbc + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-128-gcm","3des-cbc"] + Encryption string `json:"encryption,omitempty"` + + // key lifetime + KeyLifetime KeyLifetime `json:"keyLifetime,omitempty"` + + // name of the IKE Policy + // Example: ikePolicy1 + // Max Length: 47 + // Min Length: 1 + Name string `json:"name,omitempty"` + + // Preshared key used in this IKE Policy (length of preshared key must be even) + PresharedKey string `json:"presharedKey,omitempty"` + + // version of the IKE Policy + // Example: 2 + // Enum: [1,2] + Version int64 `json:"version,omitempty"` + + // i k e policy update additional properties + IKEPolicyUpdateAdditionalProperties map[string]any `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (m *IKEPolicyUpdate) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + + // authentication + Authentication IKEPolicyAuthentication `json:"authentication,omitempty"` + + // DH group of the IKE Policy + // Example: 2 + // Enum: [1,2,5,14,19,20,24] + DhGroup int64 `json:"dhGroup,omitempty"` + + // encryption of the IKE Policy + // Example: aes-256-cbc + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-128-gcm","3des-cbc"] + Encryption string `json:"encryption,omitempty"` + + // key lifetime + KeyLifetime KeyLifetime `json:"keyLifetime,omitempty"` + + // name of the IKE Policy + // Example: ikePolicy1 + // Max Length: 47 + // Min Length: 1 + Name string `json:"name,omitempty"` + + // Preshared key used in this IKE Policy (length of preshared key must be even) + PresharedKey string `json:"presharedKey,omitempty"` + + // version of the IKE Policy + // Example: 2 + // Enum: [1,2] + Version int64 `json:"version,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv IKEPolicyUpdate + + rcv.Authentication = stage1.Authentication + rcv.DhGroup = stage1.DhGroup + rcv.Encryption = stage1.Encryption + rcv.KeyLifetime = stage1.KeyLifetime + rcv.Name = stage1.Name + rcv.PresharedKey = stage1.PresharedKey + rcv.Version = stage1.Version + *m = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "authentication") + delete(stage2, "dhGroup") + delete(stage2, "encryption") + delete(stage2, "keyLifetime") + delete(stage2, "name") + delete(stage2, "presharedKey") + delete(stage2, "version") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]any) + for k, v := range stage2 { + var toadd any + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + m.IKEPolicyUpdateAdditionalProperties = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (m IKEPolicyUpdate) MarshalJSON() ([]byte, error) { + var stage1 struct { + + // authentication + Authentication IKEPolicyAuthentication `json:"authentication,omitempty"` + + // DH group of the IKE Policy + // Example: 2 + // Enum: [1,2,5,14,19,20,24] + DhGroup int64 `json:"dhGroup,omitempty"` + + // encryption of the IKE Policy + // Example: aes-256-cbc + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-128-gcm","3des-cbc"] + Encryption string `json:"encryption,omitempty"` + + // key lifetime + KeyLifetime KeyLifetime `json:"keyLifetime,omitempty"` + + // name of the IKE Policy + // Example: ikePolicy1 + // Max Length: 47 + // Min Length: 1 + Name string `json:"name,omitempty"` + + // Preshared key used in this IKE Policy (length of preshared key must be even) + PresharedKey string `json:"presharedKey,omitempty"` + + // version of the IKE Policy + // Example: 2 + // Enum: [1,2] + Version int64 `json:"version,omitempty"` + } + + stage1.Authentication = m.Authentication + stage1.DhGroup = m.DhGroup + stage1.Encryption = m.Encryption + stage1.KeyLifetime = m.KeyLifetime + stage1.Name = m.Name + stage1.PresharedKey = m.PresharedKey + stage1.Version = m.Version + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(m.IKEPolicyUpdateAdditionalProperties) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(m.IKEPolicyUpdateAdditionalProperties) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil +} + +// Validate validates this i k e policy update +func (m *IKEPolicyUpdate) Validate(formats strfmt.Registry) error { + var res []error + + // short circuits minProperties > 0 + if m == nil { + return errors.TooFewProperties("", "body", 1) + } + + props := make(map[string]json.RawMessage, 7+10) + j, err := swag.WriteJSON(m) + if err != nil { + return err + } + + if err = swag.ReadJSON(j, &props); err != nil { + return err + } + + nprops := len(props) + + // minProperties: 1 + if nprops < 1 { + return errors.TooFewProperties("", "body", 1) + } + + if err := m.validateAuthentication(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDhGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEncryption(formats); err != nil { + res = append(res, err) + } + + if err := m.validateKeyLifetime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVersion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicyUpdate) validateAuthentication(formats strfmt.Registry) error { + if swag.IsZero(m.Authentication) { // not required + return nil + } + + if err := m.Authentication.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + + return nil +} + +var iKEPolicyUpdateTypeDhGroupPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2,5,14,19,20,24]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyUpdateTypeDhGroupPropEnum = append(iKEPolicyUpdateTypeDhGroupPropEnum, v) + } +} + +// prop value enum +func (m *IKEPolicyUpdate) validateDhGroupEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, iKEPolicyUpdateTypeDhGroupPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicyUpdate) validateDhGroup(formats strfmt.Registry) error { + if swag.IsZero(m.DhGroup) { // not required + return nil + } + + // value enum + if err := m.validateDhGroupEnum("dhGroup", "body", m.DhGroup); err != nil { + return err + } + + return nil +} + +var iKEPolicyUpdateTypeEncryptionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-128-gcm","3des-cbc"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyUpdateTypeEncryptionPropEnum = append(iKEPolicyUpdateTypeEncryptionPropEnum, v) + } +} + +const ( + + // IKEPolicyUpdateEncryptionAesDash256DashCbc captures enum value "aes-256-cbc" + IKEPolicyUpdateEncryptionAesDash256DashCbc string = "aes-256-cbc" + + // IKEPolicyUpdateEncryptionAesDash192DashCbc captures enum value "aes-192-cbc" + IKEPolicyUpdateEncryptionAesDash192DashCbc string = "aes-192-cbc" + + // IKEPolicyUpdateEncryptionAesDash128DashCbc captures enum value "aes-128-cbc" + IKEPolicyUpdateEncryptionAesDash128DashCbc string = "aes-128-cbc" + + // IKEPolicyUpdateEncryptionAesDash256DashGcm captures enum value "aes-256-gcm" + IKEPolicyUpdateEncryptionAesDash256DashGcm string = "aes-256-gcm" + + // IKEPolicyUpdateEncryptionAesDash128DashGcm captures enum value "aes-128-gcm" + IKEPolicyUpdateEncryptionAesDash128DashGcm string = "aes-128-gcm" + + // IKEPolicyUpdateEncryptionNr3desDashCbc captures enum value "3des-cbc" + IKEPolicyUpdateEncryptionNr3desDashCbc string = "3des-cbc" +) + +// prop value enum +func (m *IKEPolicyUpdate) validateEncryptionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, iKEPolicyUpdateTypeEncryptionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicyUpdate) validateEncryption(formats strfmt.Registry) error { + if swag.IsZero(m.Encryption) { // not required + return nil + } + + // value enum + if err := m.validateEncryptionEnum("encryption", "body", m.Encryption); err != nil { + return err + } + + return nil +} + +func (m *IKEPolicyUpdate) validateKeyLifetime(formats strfmt.Registry) error { + if swag.IsZero(m.KeyLifetime) { // not required + return nil + } + + if err := m.KeyLifetime.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + + return nil +} + +func (m *IKEPolicyUpdate) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MinLength("name", "body", m.Name, 1); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", m.Name, 47); err != nil { + return err + } + + return nil +} + +var iKEPolicyUpdateTypeVersionPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2]`), &res); err != nil { + panic(err) + } + for _, v := range res { + iKEPolicyUpdateTypeVersionPropEnum = append(iKEPolicyUpdateTypeVersionPropEnum, v) + } +} + +// prop value enum +func (m *IKEPolicyUpdate) validateVersionEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, iKEPolicyUpdateTypeVersionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IKEPolicyUpdate) validateVersion(formats strfmt.Registry) error { + if swag.IsZero(m.Version) { // not required + return nil + } + + // value enum + if err := m.validateVersionEnum("version", "body", m.Version); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this i k e policy update based on the context it is used +func (m *IKEPolicyUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAuthentication(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateKeyLifetime(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IKEPolicyUpdate) contextValidateAuthentication(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Authentication) { // not required + return nil + } + + if err := m.Authentication.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + + return nil +} + +func (m *IKEPolicyUpdate) contextValidateKeyLifetime(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.KeyLifetime) { // not required + return nil + } + + if err := m.KeyLifetime.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *IKEPolicyUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IKEPolicyUpdate) UnmarshalBinary(b []byte) error { + var res IKEPolicyUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/image.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image.go new file mode 100644 index 000000000..4cd6c9b6a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image.go @@ -0,0 +1,508 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Image image +// +// swagger:model Image +type Image struct { + + // Creation Date + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // Description + Description string `json:"description,omitempty"` + + // Image ID + // Required: true + ImageID *string `json:"imageID"` + + // Last Update Date + // Required: true + // Format: date-time + LastUpdateDate *strfmt.DateTime `json:"lastUpdateDate"` + + // Maximum image volume size for multi-volume image + // Required: true + MaxImageVolumeSize *float64 `json:"maxImageVolumeSize"` + + // Image Name + // Required: true + Name *string `json:"name"` + + // List of Servers that have deployed the image + Servers []string `json:"servers"` + + // Image Size + // Required: true + Size *float64 `json:"size"` + + // specifications + Specifications *ImageSpecifications `json:"specifications,omitempty"` + + // Image State + State string `json:"state,omitempty"` + + // Storage pool where the image resides + // Required: true + StoragePool *string `json:"storagePool"` + + // Storage type for image + // Required: true + StorageType *string `json:"storageType"` + + // taskref + Taskref *TaskReference `json:"taskref,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // Image Volumes + Volumes []*ImageVolume `json:"volumes"` +} + +// Validate validates this image +func (m *Image) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImageID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastUpdateDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMaxImageVolumeSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSpecifications(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStoragePool(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTaskref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Image) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Image) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *Image) validateImageID(formats strfmt.Registry) error { + + if err := validate.Required("imageID", "body", m.ImageID); err != nil { + return err + } + + return nil +} + +func (m *Image) validateLastUpdateDate(formats strfmt.Registry) error { + + if err := validate.Required("lastUpdateDate", "body", m.LastUpdateDate); err != nil { + return err + } + + if err := validate.FormatOf("lastUpdateDate", "body", "date-time", m.LastUpdateDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Image) validateMaxImageVolumeSize(formats strfmt.Registry) error { + + if err := validate.Required("maxImageVolumeSize", "body", m.MaxImageVolumeSize); err != nil { + return err + } + + return nil +} + +func (m *Image) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *Image) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + return nil +} + +func (m *Image) validateSpecifications(formats strfmt.Registry) error { + if swag.IsZero(m.Specifications) { // not required + return nil + } + + if m.Specifications != nil { + if err := m.Specifications.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("specifications") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("specifications") + } + + return err + } + } + + return nil +} + +func (m *Image) validateStoragePool(formats strfmt.Registry) error { + + if err := validate.Required("storagePool", "body", m.StoragePool); err != nil { + return err + } + + return nil +} + +func (m *Image) validateStorageType(formats strfmt.Registry) error { + + if err := validate.Required("storageType", "body", m.StorageType); err != nil { + return err + } + + return nil +} + +func (m *Image) validateTaskref(formats strfmt.Registry) error { + if swag.IsZero(m.Taskref) { // not required + return nil + } + + if m.Taskref != nil { + if err := m.Taskref.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("taskref") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("taskref") + } + + return err + } + } + + return nil +} + +func (m *Image) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *Image) validateVolumes(formats strfmt.Registry) error { + if swag.IsZero(m.Volumes) { // not required + return nil + } + + for i := 0; i < len(m.Volumes); i++ { + if swag.IsZero(m.Volumes[i]) { // not required + continue + } + + if m.Volumes[i] != nil { + if err := m.Volumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this image based on the context it is used +func (m *Image) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSpecifications(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateTaskref(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Image) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *Image) contextValidateSpecifications(ctx context.Context, formats strfmt.Registry) error { + + if m.Specifications != nil { + + if swag.IsZero(m.Specifications) { // not required + return nil + } + + if err := m.Specifications.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("specifications") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("specifications") + } + + return err + } + } + + return nil +} + +func (m *Image) contextValidateTaskref(ctx context.Context, formats strfmt.Registry) error { + + if m.Taskref != nil { + + if swag.IsZero(m.Taskref) { // not required + return nil + } + + if err := m.Taskref.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("taskref") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("taskref") + } + + return err + } + } + + return nil +} + +func (m *Image) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *Image) contextValidateVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Volumes); i++ { + + if m.Volumes[i] != nil { + + if swag.IsZero(m.Volumes[i]) { // not required + return nil + } + + if err := m.Volumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Image) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Image) UnmarshalBinary(b []byte) error { + var res Image + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_import_details.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_import_details.go new file mode 100644 index 000000000..068ecc051 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_import_details.go @@ -0,0 +1,205 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ImageImportDetails image import details +// +// swagger:model ImageImportDetails +type ImageImportDetails struct { + + // Origin of the license of the product + // Required: true + // Enum: ["byol"] + LicenseType *string `json:"licenseType"` + + // Product within the image + // Required: true + // Enum: ["Hana","Netweaver"] + Product *string `json:"product"` + + // Vendor supporting the product + // Required: true + // Enum: ["SAP"] + Vendor *string `json:"vendor"` +} + +// Validate validates this image import details +func (m *ImageImportDetails) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateLicenseType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProduct(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVendor(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var imageImportDetailsTypeLicenseTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["byol"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + imageImportDetailsTypeLicenseTypePropEnum = append(imageImportDetailsTypeLicenseTypePropEnum, v) + } +} + +const ( + + // ImageImportDetailsLicenseTypeByol captures enum value "byol" + ImageImportDetailsLicenseTypeByol string = "byol" +) + +// prop value enum +func (m *ImageImportDetails) validateLicenseTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, imageImportDetailsTypeLicenseTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *ImageImportDetails) validateLicenseType(formats strfmt.Registry) error { + + if err := validate.Required("licenseType", "body", m.LicenseType); err != nil { + return err + } + + // value enum + if err := m.validateLicenseTypeEnum("licenseType", "body", *m.LicenseType); err != nil { + return err + } + + return nil +} + +var imageImportDetailsTypeProductPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["Hana","Netweaver"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + imageImportDetailsTypeProductPropEnum = append(imageImportDetailsTypeProductPropEnum, v) + } +} + +const ( + + // ImageImportDetailsProductHana captures enum value "Hana" + ImageImportDetailsProductHana string = "Hana" + + // ImageImportDetailsProductNetweaver captures enum value "Netweaver" + ImageImportDetailsProductNetweaver string = "Netweaver" +) + +// prop value enum +func (m *ImageImportDetails) validateProductEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, imageImportDetailsTypeProductPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *ImageImportDetails) validateProduct(formats strfmt.Registry) error { + + if err := validate.Required("product", "body", m.Product); err != nil { + return err + } + + // value enum + if err := m.validateProductEnum("product", "body", *m.Product); err != nil { + return err + } + + return nil +} + +var imageImportDetailsTypeVendorPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["SAP"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + imageImportDetailsTypeVendorPropEnum = append(imageImportDetailsTypeVendorPropEnum, v) + } +} + +const ( + + // ImageImportDetailsVendorSAP captures enum value "SAP" + ImageImportDetailsVendorSAP string = "SAP" +) + +// prop value enum +func (m *ImageImportDetails) validateVendorEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, imageImportDetailsTypeVendorPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *ImageImportDetails) validateVendor(formats strfmt.Registry) error { + + if err := validate.Required("vendor", "body", m.Vendor); err != nil { + return err + } + + // value enum + if err := m.validateVendorEnum("vendor", "body", *m.Vendor); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this image import details based on context it is used +func (m *ImageImportDetails) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ImageImportDetails) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ImageImportDetails) UnmarshalBinary(b []byte) error { + var res ImageImportDetails + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_reference.go new file mode 100644 index 000000000..101e27a5f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_reference.go @@ -0,0 +1,334 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ImageReference image reference +// +// swagger:model ImageReference +type ImageReference struct { + + // Creation Date + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // Description + // Required: true + Description *string `json:"description"` + + // Link to Image resource + // Required: true + Href *string `json:"href"` + + // Image ID + // Required: true + ImageID *string `json:"imageID"` + + // Last Update Date + // Required: true + // Format: date-time + LastUpdateDate *strfmt.DateTime `json:"lastUpdateDate"` + + // Image Name + // Required: true + Name *string `json:"name"` + + // specifications + // Required: true + Specifications *ImageSpecifications `json:"specifications"` + + // Image State + // Required: true + State *string `json:"state"` + + // Storage pool where image resides + // Required: true + StoragePool *string `json:"storagePool"` + + // Storage type for image + // Required: true + StorageType *string `json:"storageType"` +} + +// Validate validates this image reference +func (m *ImageReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImageID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastUpdateDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSpecifications(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStoragePool(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ImageReference) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *ImageReference) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *ImageReference) validateDescription(formats strfmt.Registry) error { + + if err := validate.Required("description", "body", m.Description); err != nil { + return err + } + + return nil +} + +func (m *ImageReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *ImageReference) validateImageID(formats strfmt.Registry) error { + + if err := validate.Required("imageID", "body", m.ImageID); err != nil { + return err + } + + return nil +} + +func (m *ImageReference) validateLastUpdateDate(formats strfmt.Registry) error { + + if err := validate.Required("lastUpdateDate", "body", m.LastUpdateDate); err != nil { + return err + } + + if err := validate.FormatOf("lastUpdateDate", "body", "date-time", m.LastUpdateDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *ImageReference) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *ImageReference) validateSpecifications(formats strfmt.Registry) error { + + if err := validate.Required("specifications", "body", m.Specifications); err != nil { + return err + } + + if m.Specifications != nil { + if err := m.Specifications.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("specifications") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("specifications") + } + + return err + } + } + + return nil +} + +func (m *ImageReference) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + return nil +} + +func (m *ImageReference) validateStoragePool(formats strfmt.Registry) error { + + if err := validate.Required("storagePool", "body", m.StoragePool); err != nil { + return err + } + + return nil +} + +func (m *ImageReference) validateStorageType(formats strfmt.Registry) error { + + if err := validate.Required("storageType", "body", m.StorageType); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this image reference based on the context it is used +func (m *ImageReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSpecifications(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ImageReference) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *ImageReference) contextValidateSpecifications(ctx context.Context, formats strfmt.Registry) error { + + if m.Specifications != nil { + + if err := m.Specifications.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("specifications") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("specifications") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ImageReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ImageReference) UnmarshalBinary(b []byte) error { + var res ImageReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_specifications.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_specifications.go new file mode 100644 index 000000000..4b1f8304b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_specifications.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ImageSpecifications image specifications +// +// swagger:model ImageSpecifications +type ImageSpecifications struct { + + // Architecture + Architecture string `json:"architecture,omitempty"` + + // Container Format + ContainerFormat string `json:"containerFormat,omitempty"` + + // Disk Format + DiskFormat string `json:"diskFormat,omitempty"` + + // Endianness + Endianness string `json:"endianness,omitempty"` + + // Hypervisor Type + HypervisorType string `json:"hypervisorType,omitempty"` + + // Image Type + ImageType string `json:"imageType,omitempty"` + + // Operating System + OperatingSystem string `json:"operatingSystem,omitempty"` + + // Shared Image + Shared *bool `json:"shared,omitempty"` + + // Checksum of the source file (imported images only) + SourceChecksum string `json:"sourceChecksum,omitempty"` +} + +// Validate validates this image specifications +func (m *ImageSpecifications) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this image specifications based on context it is used +func (m *ImageSpecifications) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ImageSpecifications) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ImageSpecifications) UnmarshalBinary(b []byte) error { + var res ImageSpecifications + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_volume.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_volume.go new file mode 100644 index 000000000..44e1899db --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/image_volume.go @@ -0,0 +1,122 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ImageVolume image volume +// +// swagger:model ImageVolume +type ImageVolume struct { + + // Indicates if the volume is boot capable + // Required: true + Bootable *bool `json:"bootable"` + + // Volume Name + // Required: true + Name *string `json:"name"` + + // Volume Size + // Required: true + Size *float64 `json:"size"` + + // Volume ID + // Required: true + VolumeID *string `json:"volumeID"` +} + +// Validate validates this image volume +func (m *ImageVolume) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateBootable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ImageVolume) validateBootable(formats strfmt.Registry) error { + + if err := validate.Required("bootable", "body", m.Bootable); err != nil { + return err + } + + return nil +} + +func (m *ImageVolume) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *ImageVolume) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + return nil +} + +func (m *ImageVolume) validateVolumeID(formats strfmt.Registry) error { + + if err := validate.Required("volumeID", "body", m.VolumeID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this image volume based on context it is used +func (m *ImageVolume) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ImageVolume) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ImageVolume) UnmarshalBinary(b []byte) error { + var res ImageVolume + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/images.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/images.go new file mode 100644 index 000000000..579ec8d20 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/images.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Images images +// +// swagger:model Images +type Images struct { + + // Images + // Required: true + Images []*ImageReference `json:"images"` +} + +// Validate validates this images +func (m *Images) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateImages(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Images) validateImages(formats strfmt.Registry) error { + + if err := validate.Required("images", "body", m.Images); err != nil { + return err + } + + for i := 0; i < len(m.Images); i++ { + if swag.IsZero(m.Images[i]) { // not required + continue + } + + if m.Images[i] != nil { + if err := m.Images[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("images" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("images" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this images based on the context it is used +func (m *Images) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateImages(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Images) contextValidateImages(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Images); i++ { + + if m.Images[i] != nil { + + if swag.IsZero(m.Images[i]) { // not required + return nil + } + + if err := m.Images[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("images" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("images" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Images) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Images) UnmarshalBinary(b []byte) error { + var res Images + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/instance_capabilities.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/instance_capabilities.go new file mode 100644 index 000000000..c181c64a3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/instance_capabilities.go @@ -0,0 +1,69 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" +) + +// InstanceCapabilities List of available capabilities for a specific service +// Example: {"per":true} +// +// swagger:model InstanceCapabilities +type InstanceCapabilities map[string]InstanceCapability + +// Validate validates this instance capabilities +func (m InstanceCapabilities) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if val, ok := m[k]; ok { + if err := val.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this instance capabilities based on the context it is used +func (m InstanceCapabilities) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if val, ok := m[k]; ok { + if err := val.ContextValidate(ctx, formats); err != nil { + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/instance_capability.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/instance_capability.go new file mode 100644 index 000000000..3bc9f5b5e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/instance_capability.go @@ -0,0 +1,27 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" +) + +// InstanceCapability Capability value +// +// swagger:model InstanceCapability +type InstanceCapability bool + +// Validate validates this instance capability +func (m InstanceCapability) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this instance capability based on context it is used +func (m InstanceCapability) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_capacity_management_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_capacity_management_request.go new file mode 100644 index 000000000..db7a79eba --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_capacity_management_request.go @@ -0,0 +1,141 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// InternalCapacityManagementRequest internal capacity management request +// +// swagger:model InternalCapacityManagementRequest +type InternalCapacityManagementRequest struct { + + // The target datacenter + // Required: true + Datacenter *string `json:"datacenter"` + + // Disabling or enabling system provisioning + // Required: true + // Enum: ["disabled","enabled"] + Operation *string `json:"operation"` + + // The system type to be enabled or disabled + // Required: true + SystemType *string `json:"systemType"` +} + +// Validate validates this internal capacity management request +func (m *InternalCapacityManagementRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDatacenter(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOperation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSystemType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *InternalCapacityManagementRequest) validateDatacenter(formats strfmt.Registry) error { + + if err := validate.Required("datacenter", "body", m.Datacenter); err != nil { + return err + } + + return nil +} + +var internalCapacityManagementRequestTypeOperationPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["disabled","enabled"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + internalCapacityManagementRequestTypeOperationPropEnum = append(internalCapacityManagementRequestTypeOperationPropEnum, v) + } +} + +const ( + + // InternalCapacityManagementRequestOperationDisabled captures enum value "disabled" + InternalCapacityManagementRequestOperationDisabled string = "disabled" + + // InternalCapacityManagementRequestOperationEnabled captures enum value "enabled" + InternalCapacityManagementRequestOperationEnabled string = "enabled" +) + +// prop value enum +func (m *InternalCapacityManagementRequest) validateOperationEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, internalCapacityManagementRequestTypeOperationPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *InternalCapacityManagementRequest) validateOperation(formats strfmt.Registry) error { + + if err := validate.Required("operation", "body", m.Operation); err != nil { + return err + } + + // value enum + if err := m.validateOperationEnum("operation", "body", *m.Operation); err != nil { + return err + } + + return nil +} + +func (m *InternalCapacityManagementRequest) validateSystemType(formats strfmt.Registry) error { + + if err := validate.Required("systemType", "body", m.SystemType); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this internal capacity management request based on context it is used +func (m *InternalCapacityManagementRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *InternalCapacityManagementRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *InternalCapacityManagementRequest) UnmarshalBinary(b []byte) error { + var res InternalCapacityManagementRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_capacity_management_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_capacity_management_response.go new file mode 100644 index 000000000..4bcb4b5bf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_capacity_management_response.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// InternalCapacityManagementResponse internal capacity management response +// +// swagger:model InternalCapacityManagementResponse +type InternalCapacityManagementResponse struct { + + // The number of accounts in the whitelist + Accounts int64 `json:"accounts,omitempty"` + + // List of supported systems + // Required: true + SupportedSystems []string `json:"supportedSystems"` +} + +// Validate validates this internal capacity management response +func (m *InternalCapacityManagementResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSupportedSystems(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *InternalCapacityManagementResponse) validateSupportedSystems(formats strfmt.Registry) error { + + if err := validate.Required("supportedSystems", "body", m.SupportedSystems); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this internal capacity management response based on context it is used +func (m *InternalCapacityManagementResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *InternalCapacityManagementResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *InternalCapacityManagementResponse) UnmarshalBinary(b []byte) error { + var res InternalCapacityManagementResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_operations_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_operations_request.go new file mode 100644 index 000000000..b87ca33d0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_operations_request.go @@ -0,0 +1,106 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// InternalOperationsRequest internal operations request +// +// swagger:model InternalOperationsRequest +type InternalOperationsRequest struct { + + // The PowerVS resource ID + // Required: true + ResourceID *string `json:"resourceID"` + + // The PowerVS resource name + // Required: true + ResourceName *string `json:"resourceName"` + + // The PowerVS resource parent cloud instance ID + // Example: 3a5798f1-4d2b-4e0a-9311-9b0fd6b94698 + // Required: true + WorkspaceID *string `json:"workspaceID"` +} + +// Validate validates this internal operations request +func (m *InternalOperationsRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateResourceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateResourceName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateWorkspaceID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *InternalOperationsRequest) validateResourceID(formats strfmt.Registry) error { + + if err := validate.Required("resourceID", "body", m.ResourceID); err != nil { + return err + } + + return nil +} + +func (m *InternalOperationsRequest) validateResourceName(formats strfmt.Registry) error { + + if err := validate.Required("resourceName", "body", m.ResourceName); err != nil { + return err + } + + return nil +} + +func (m *InternalOperationsRequest) validateWorkspaceID(formats strfmt.Registry) error { + + if err := validate.Required("workspaceID", "body", m.WorkspaceID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this internal operations request based on context it is used +func (m *InternalOperationsRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *InternalOperationsRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *InternalOperationsRequest) UnmarshalBinary(b []byte) error { + var res InternalOperationsRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_operations_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_operations_response.go new file mode 100644 index 000000000..018905e0c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/internal_operations_response.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// InternalOperationsResponse internal operations response +// +// swagger:model InternalOperationsResponse +type InternalOperationsResponse struct { + + // crn + Crn CRN `json:"crn,omitempty"` +} + +// Validate validates this internal operations response +func (m *InternalOperationsResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *InternalOperationsResponse) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +// ContextValidate validate this internal operations response based on the context it is used +func (m *InternalOperationsResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *InternalOperationsResponse) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *InternalOperationsResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *InternalOperationsResponse) UnmarshalBinary(b []byte) error { + var res InternalOperationsResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_address_range.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_address_range.go new file mode 100644 index 000000000..58cbfff91 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_address_range.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IPAddressRange IP address range +// +// swagger:model IPAddressRange +type IPAddressRange struct { + + // Ending IP Address + // Required: true + EndingIPAddress *string `json:"endingIPAddress"` + + // Starting IP Address + // Required: true + StartingIPAddress *string `json:"startingIPAddress"` +} + +// Validate validates this IP address range +func (m *IPAddressRange) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateEndingIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStartingIPAddress(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPAddressRange) validateEndingIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("endingIPAddress", "body", m.EndingIPAddress); err != nil { + return err + } + + return nil +} + +func (m *IPAddressRange) validateStartingIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("startingIPAddress", "body", m.StartingIPAddress); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this IP address range based on context it is used +func (m *IPAddressRange) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *IPAddressRange) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IPAddressRange) UnmarshalBinary(b []byte) error { + var res IPAddressRange + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_s_e_c_policy_authentication.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_s_e_c_policy_authentication.go new file mode 100644 index 000000000..f165862a4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_s_e_c_policy_authentication.go @@ -0,0 +1,82 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// IPSECPolicyAuthentication authentication for IPSec policy +// Example: hmac-sha-256-128 +// +// swagger:model IPSECPolicyAuthentication +type IPSECPolicyAuthentication string + +func NewIPSECPolicyAuthentication(value IPSECPolicyAuthentication) *IPSECPolicyAuthentication { + return &value +} + +// Pointer returns a pointer to a freshly-allocated IPSECPolicyAuthentication. +func (m IPSECPolicyAuthentication) Pointer() *IPSECPolicyAuthentication { + return &m +} + +const ( + + // IPSECPolicyAuthenticationHmacDashShaDash256Dash128 captures enum value "hmac-sha-256-128" + IPSECPolicyAuthenticationHmacDashShaDash256Dash128 IPSECPolicyAuthentication = "hmac-sha-256-128" + + // IPSECPolicyAuthenticationHmacDashSha1Dash96 captures enum value "hmac-sha1-96" + IPSECPolicyAuthenticationHmacDashSha1Dash96 IPSECPolicyAuthentication = "hmac-sha1-96" + + // IPSECPolicyAuthenticationNone captures enum value "none" + IPSECPolicyAuthenticationNone IPSECPolicyAuthentication = "none" +) + +// for schema +var ipSECPolicyAuthenticationEnum []any + +func init() { + var res []IPSECPolicyAuthentication + if err := json.Unmarshal([]byte(`["hmac-sha-256-128","hmac-sha1-96","none"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + ipSECPolicyAuthenticationEnum = append(ipSECPolicyAuthenticationEnum, v) + } +} + +func (m IPSECPolicyAuthentication) validateIPSECPolicyAuthenticationEnum(path, location string, value IPSECPolicyAuthentication) error { + if err := validate.EnumCase(path, location, value, ipSECPolicyAuthenticationEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this IP s e c policy authentication +func (m IPSECPolicyAuthentication) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateIPSECPolicyAuthenticationEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this IP s e c policy authentication based on context it is used +func (m IPSECPolicyAuthentication) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policies.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policies.go new file mode 100644 index 000000000..45d138b60 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policies.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IPSecPolicies IP sec policies +// +// swagger:model IPSecPolicies +type IPSecPolicies struct { + + // IPSec Policies array + // Required: true + IPSecPolicies []*IPSecPolicy `json:"ipSecPolicies"` +} + +// Validate validates this IP sec policies +func (m *IPSecPolicies) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateIPSecPolicies(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicies) validateIPSecPolicies(formats strfmt.Registry) error { + + if err := validate.Required("ipSecPolicies", "body", m.IPSecPolicies); err != nil { + return err + } + + for i := 0; i < len(m.IPSecPolicies); i++ { + if swag.IsZero(m.IPSecPolicies[i]) { // not required + continue + } + + if m.IPSecPolicies[i] != nil { + if err := m.IPSecPolicies[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipSecPolicies" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipSecPolicies" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this IP sec policies based on the context it is used +func (m *IPSecPolicies) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateIPSecPolicies(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicies) contextValidateIPSecPolicies(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.IPSecPolicies); i++ { + + if m.IPSecPolicies[i] != nil { + + if swag.IsZero(m.IPSecPolicies[i]) { // not required + return nil + } + + if err := m.IPSecPolicies[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipSecPolicies" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipSecPolicies" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *IPSecPolicies) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IPSecPolicies) UnmarshalBinary(b []byte) error { + var res IPSecPolicies + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy.go new file mode 100644 index 000000000..d5243a6d3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy.go @@ -0,0 +1,349 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IPSecPolicy IPSec Policy object +// +// swagger:model IPSecPolicy +type IPSecPolicy struct { + + // authentication + // Required: true + Authentication *IPSECPolicyAuthentication `json:"authentication"` + + // Diffie-Hellman group + // Example: 2 + // Required: true + // Enum: [1,2,5,14,19,20,24] + DhGroup *int64 `json:"dhGroup"` + + // connection encryption policy + // Example: aes-256-cbc + // Required: true + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-192-gcm","aes-128-gcm","3des-cbc"] + Encryption *string `json:"encryption"` + + // unique identifier of the IPSec Policy + // Example: 6edc8988-eb18-4b5c-a594-0d73d8254463 + // Required: true + ID *string `json:"id"` + + // key lifetime + // Required: true + KeyLifetime *KeyLifetime `json:"keyLifetime"` + + // IPSec Policy name + // Example: ipSecPolicy2 + // Required: true + Name *string `json:"name"` + + // Perfect Forward Secrecy + // Example: true + // Required: true + Pfs *bool `json:"pfs"` +} + +// Validate validates this IP sec policy +func (m *IPSecPolicy) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAuthentication(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDhGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEncryption(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateKeyLifetime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePfs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicy) validateAuthentication(formats strfmt.Registry) error { + + if err := validate.Required("authentication", "body", m.Authentication); err != nil { + return err + } + + if err := validate.Required("authentication", "body", m.Authentication); err != nil { + return err + } + + if m.Authentication != nil { + if err := m.Authentication.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + } + + return nil +} + +var ipSecPolicyTypeDhGroupPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2,5,14,19,20,24]`), &res); err != nil { + panic(err) + } + for _, v := range res { + ipSecPolicyTypeDhGroupPropEnum = append(ipSecPolicyTypeDhGroupPropEnum, v) + } +} + +// prop value enum +func (m *IPSecPolicy) validateDhGroupEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, ipSecPolicyTypeDhGroupPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IPSecPolicy) validateDhGroup(formats strfmt.Registry) error { + + if err := validate.Required("dhGroup", "body", m.DhGroup); err != nil { + return err + } + + // value enum + if err := m.validateDhGroupEnum("dhGroup", "body", *m.DhGroup); err != nil { + return err + } + + return nil +} + +var ipSecPolicyTypeEncryptionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-192-gcm","aes-128-gcm","3des-cbc"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + ipSecPolicyTypeEncryptionPropEnum = append(ipSecPolicyTypeEncryptionPropEnum, v) + } +} + +const ( + + // IPSecPolicyEncryptionAesDash256DashCbc captures enum value "aes-256-cbc" + IPSecPolicyEncryptionAesDash256DashCbc string = "aes-256-cbc" + + // IPSecPolicyEncryptionAesDash192DashCbc captures enum value "aes-192-cbc" + IPSecPolicyEncryptionAesDash192DashCbc string = "aes-192-cbc" + + // IPSecPolicyEncryptionAesDash128DashCbc captures enum value "aes-128-cbc" + IPSecPolicyEncryptionAesDash128DashCbc string = "aes-128-cbc" + + // IPSecPolicyEncryptionAesDash256DashGcm captures enum value "aes-256-gcm" + IPSecPolicyEncryptionAesDash256DashGcm string = "aes-256-gcm" + + // IPSecPolicyEncryptionAesDash192DashGcm captures enum value "aes-192-gcm" + IPSecPolicyEncryptionAesDash192DashGcm string = "aes-192-gcm" + + // IPSecPolicyEncryptionAesDash128DashGcm captures enum value "aes-128-gcm" + IPSecPolicyEncryptionAesDash128DashGcm string = "aes-128-gcm" + + // IPSecPolicyEncryptionNr3desDashCbc captures enum value "3des-cbc" + IPSecPolicyEncryptionNr3desDashCbc string = "3des-cbc" +) + +// prop value enum +func (m *IPSecPolicy) validateEncryptionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, ipSecPolicyTypeEncryptionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IPSecPolicy) validateEncryption(formats strfmt.Registry) error { + + if err := validate.Required("encryption", "body", m.Encryption); err != nil { + return err + } + + // value enum + if err := m.validateEncryptionEnum("encryption", "body", *m.Encryption); err != nil { + return err + } + + return nil +} + +func (m *IPSecPolicy) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *IPSecPolicy) validateKeyLifetime(formats strfmt.Registry) error { + + if err := validate.Required("keyLifetime", "body", m.KeyLifetime); err != nil { + return err + } + + if err := validate.Required("keyLifetime", "body", m.KeyLifetime); err != nil { + return err + } + + if m.KeyLifetime != nil { + if err := m.KeyLifetime.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + } + + return nil +} + +func (m *IPSecPolicy) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *IPSecPolicy) validatePfs(formats strfmt.Registry) error { + + if err := validate.Required("pfs", "body", m.Pfs); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this IP sec policy based on the context it is used +func (m *IPSecPolicy) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAuthentication(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateKeyLifetime(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicy) contextValidateAuthentication(ctx context.Context, formats strfmt.Registry) error { + + if m.Authentication != nil { + + if err := m.Authentication.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + } + + return nil +} + +func (m *IPSecPolicy) contextValidateKeyLifetime(ctx context.Context, formats strfmt.Registry) error { + + if m.KeyLifetime != nil { + + if err := m.KeyLifetime.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *IPSecPolicy) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IPSecPolicy) UnmarshalBinary(b []byte) error { + var res IPSecPolicy + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_create.go new file mode 100644 index 000000000..a89285967 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_create.go @@ -0,0 +1,334 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IPSecPolicyCreate IPSec Policy object used for creation +// +// swagger:model IPSecPolicyCreate +type IPSecPolicyCreate struct { + + // authentication + Authentication IPSECPolicyAuthentication `json:"authentication,omitempty"` + + // Diffie-Hellman group + // Example: 2 + // Required: true + // Enum: [1,2,5,14,19,20,24] + DhGroup *int64 `json:"dhGroup"` + + // connection encryption policy + // Example: aes-256-cbc + // Required: true + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-192-gcm","aes-128-gcm","3des-cbc"] + Encryption *string `json:"encryption"` + + // key lifetime + // Required: true + KeyLifetime *KeyLifetime `json:"keyLifetime"` + + // IPSec Policy name + // Example: ipSecPolicy2 + // Required: true + // Max Length: 47 + // Min Length: 1 + Name *string `json:"name"` + + // Perfect Forward Secrecy + // Example: true + // Required: true + Pfs *bool `json:"pfs"` +} + +// Validate validates this IP sec policy create +func (m *IPSecPolicyCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAuthentication(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDhGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEncryption(formats); err != nil { + res = append(res, err) + } + + if err := m.validateKeyLifetime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePfs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicyCreate) validateAuthentication(formats strfmt.Registry) error { + if swag.IsZero(m.Authentication) { // not required + return nil + } + + if err := m.Authentication.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + + return nil +} + +var ipSecPolicyCreateTypeDhGroupPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2,5,14,19,20,24]`), &res); err != nil { + panic(err) + } + for _, v := range res { + ipSecPolicyCreateTypeDhGroupPropEnum = append(ipSecPolicyCreateTypeDhGroupPropEnum, v) + } +} + +// prop value enum +func (m *IPSecPolicyCreate) validateDhGroupEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, ipSecPolicyCreateTypeDhGroupPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IPSecPolicyCreate) validateDhGroup(formats strfmt.Registry) error { + + if err := validate.Required("dhGroup", "body", m.DhGroup); err != nil { + return err + } + + // value enum + if err := m.validateDhGroupEnum("dhGroup", "body", *m.DhGroup); err != nil { + return err + } + + return nil +} + +var ipSecPolicyCreateTypeEncryptionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-192-gcm","aes-128-gcm","3des-cbc"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + ipSecPolicyCreateTypeEncryptionPropEnum = append(ipSecPolicyCreateTypeEncryptionPropEnum, v) + } +} + +const ( + + // IPSecPolicyCreateEncryptionAesDash256DashCbc captures enum value "aes-256-cbc" + IPSecPolicyCreateEncryptionAesDash256DashCbc string = "aes-256-cbc" + + // IPSecPolicyCreateEncryptionAesDash192DashCbc captures enum value "aes-192-cbc" + IPSecPolicyCreateEncryptionAesDash192DashCbc string = "aes-192-cbc" + + // IPSecPolicyCreateEncryptionAesDash128DashCbc captures enum value "aes-128-cbc" + IPSecPolicyCreateEncryptionAesDash128DashCbc string = "aes-128-cbc" + + // IPSecPolicyCreateEncryptionAesDash256DashGcm captures enum value "aes-256-gcm" + IPSecPolicyCreateEncryptionAesDash256DashGcm string = "aes-256-gcm" + + // IPSecPolicyCreateEncryptionAesDash192DashGcm captures enum value "aes-192-gcm" + IPSecPolicyCreateEncryptionAesDash192DashGcm string = "aes-192-gcm" + + // IPSecPolicyCreateEncryptionAesDash128DashGcm captures enum value "aes-128-gcm" + IPSecPolicyCreateEncryptionAesDash128DashGcm string = "aes-128-gcm" + + // IPSecPolicyCreateEncryptionNr3desDashCbc captures enum value "3des-cbc" + IPSecPolicyCreateEncryptionNr3desDashCbc string = "3des-cbc" +) + +// prop value enum +func (m *IPSecPolicyCreate) validateEncryptionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, ipSecPolicyCreateTypeEncryptionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IPSecPolicyCreate) validateEncryption(formats strfmt.Registry) error { + + if err := validate.Required("encryption", "body", m.Encryption); err != nil { + return err + } + + // value enum + if err := m.validateEncryptionEnum("encryption", "body", *m.Encryption); err != nil { + return err + } + + return nil +} + +func (m *IPSecPolicyCreate) validateKeyLifetime(formats strfmt.Registry) error { + + if err := validate.Required("keyLifetime", "body", m.KeyLifetime); err != nil { + return err + } + + if err := validate.Required("keyLifetime", "body", m.KeyLifetime); err != nil { + return err + } + + if m.KeyLifetime != nil { + if err := m.KeyLifetime.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + } + + return nil +} + +func (m *IPSecPolicyCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MinLength("name", "body", *m.Name, 1); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 47); err != nil { + return err + } + + return nil +} + +func (m *IPSecPolicyCreate) validatePfs(formats strfmt.Registry) error { + + if err := validate.Required("pfs", "body", m.Pfs); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this IP sec policy create based on the context it is used +func (m *IPSecPolicyCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAuthentication(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateKeyLifetime(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicyCreate) contextValidateAuthentication(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Authentication) { // not required + return nil + } + + if err := m.Authentication.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + + return nil +} + +func (m *IPSecPolicyCreate) contextValidateKeyLifetime(ctx context.Context, formats strfmt.Registry) error { + + if m.KeyLifetime != nil { + + if err := m.KeyLifetime.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *IPSecPolicyCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IPSecPolicyCreate) UnmarshalBinary(b []byte) error { + var res IPSecPolicyCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_ref.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_ref.go new file mode 100644 index 000000000..4b5a384f2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_ref.go @@ -0,0 +1,90 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IPSecPolicyRef IPSec Policy reference object +// +// swagger:model IPSecPolicyRef +type IPSecPolicyRef struct { + + // unique identifier of IPSec Policy + // Example: 7abc1234-ab18-4b5c-b123-0d73e8254463 + // Required: true + ID *string `json:"id"` + + // name of IPSec Policy + // Example: IPSec Policy 1 + // Required: true + Name *string `json:"name"` +} + +// Validate validates this IP sec policy ref +func (m *IPSecPolicyRef) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicyRef) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *IPSecPolicyRef) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this IP sec policy ref based on context it is used +func (m *IPSecPolicyRef) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *IPSecPolicyRef) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IPSecPolicyRef) UnmarshalBinary(b []byte) error { + var res IPSecPolicyRef + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_update.go new file mode 100644 index 000000000..1fbc3e5d7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ip_sec_policy_update.go @@ -0,0 +1,468 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// IPSecPolicyUpdate IPSEc Policy object used for update +// +// MinProperties: 1 +// +// swagger:model IPSecPolicyUpdate +type IPSecPolicyUpdate struct { + + // authentication + Authentication IPSECPolicyAuthentication `json:"authentication,omitempty"` + + // Diffie-Hellman group + // Example: 2 + // Enum: [1,2,5,14,19,20,24] + DhGroup int64 `json:"dhGroup,omitempty"` + + // connection encryption policy + // Example: aes-256-cbc + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-192-gcm","aes-128-gcm","3des-cbc"] + Encryption string `json:"encryption,omitempty"` + + // key lifetime + KeyLifetime KeyLifetime `json:"keyLifetime,omitempty"` + + // IPSec Policy name + // Example: ipSecPolicy2 + // Max Length: 47 + // Min Length: 1 + Name string `json:"name,omitempty"` + + // Perfect Forward Secrecy + // Example: true + Pfs *bool `json:"pfs,omitempty"` + + // IP sec policy update additional properties + IPSecPolicyUpdateAdditionalProperties map[string]any `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (m *IPSecPolicyUpdate) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + + // authentication + Authentication IPSECPolicyAuthentication `json:"authentication,omitempty"` + + // Diffie-Hellman group + // Example: 2 + // Enum: [1,2,5,14,19,20,24] + DhGroup int64 `json:"dhGroup,omitempty"` + + // connection encryption policy + // Example: aes-256-cbc + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-192-gcm","aes-128-gcm","3des-cbc"] + Encryption string `json:"encryption,omitempty"` + + // key lifetime + KeyLifetime KeyLifetime `json:"keyLifetime,omitempty"` + + // IPSec Policy name + // Example: ipSecPolicy2 + // Max Length: 47 + // Min Length: 1 + Name string `json:"name,omitempty"` + + // Perfect Forward Secrecy + // Example: true + Pfs *bool `json:"pfs,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv IPSecPolicyUpdate + + rcv.Authentication = stage1.Authentication + rcv.DhGroup = stage1.DhGroup + rcv.Encryption = stage1.Encryption + rcv.KeyLifetime = stage1.KeyLifetime + rcv.Name = stage1.Name + rcv.Pfs = stage1.Pfs + *m = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "authentication") + delete(stage2, "dhGroup") + delete(stage2, "encryption") + delete(stage2, "keyLifetime") + delete(stage2, "name") + delete(stage2, "pfs") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]any) + for k, v := range stage2 { + var toadd any + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + m.IPSecPolicyUpdateAdditionalProperties = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (m IPSecPolicyUpdate) MarshalJSON() ([]byte, error) { + var stage1 struct { + + // authentication + Authentication IPSECPolicyAuthentication `json:"authentication,omitempty"` + + // Diffie-Hellman group + // Example: 2 + // Enum: [1,2,5,14,19,20,24] + DhGroup int64 `json:"dhGroup,omitempty"` + + // connection encryption policy + // Example: aes-256-cbc + // Enum: ["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-192-gcm","aes-128-gcm","3des-cbc"] + Encryption string `json:"encryption,omitempty"` + + // key lifetime + KeyLifetime KeyLifetime `json:"keyLifetime,omitempty"` + + // IPSec Policy name + // Example: ipSecPolicy2 + // Max Length: 47 + // Min Length: 1 + Name string `json:"name,omitempty"` + + // Perfect Forward Secrecy + // Example: true + Pfs *bool `json:"pfs,omitempty"` + } + + stage1.Authentication = m.Authentication + stage1.DhGroup = m.DhGroup + stage1.Encryption = m.Encryption + stage1.KeyLifetime = m.KeyLifetime + stage1.Name = m.Name + stage1.Pfs = m.Pfs + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(m.IPSecPolicyUpdateAdditionalProperties) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(m.IPSecPolicyUpdateAdditionalProperties) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil +} + +// Validate validates this IP sec policy update +func (m *IPSecPolicyUpdate) Validate(formats strfmt.Registry) error { + var res []error + + // short circuits minProperties > 0 + if m == nil { + return errors.TooFewProperties("", "body", 1) + } + + props := make(map[string]json.RawMessage, 6+10) + j, err := swag.WriteJSON(m) + if err != nil { + return err + } + + if err = swag.ReadJSON(j, &props); err != nil { + return err + } + + nprops := len(props) + + // minProperties: 1 + if nprops < 1 { + return errors.TooFewProperties("", "body", 1) + } + + if err := m.validateAuthentication(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDhGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEncryption(formats); err != nil { + res = append(res, err) + } + + if err := m.validateKeyLifetime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicyUpdate) validateAuthentication(formats strfmt.Registry) error { + if swag.IsZero(m.Authentication) { // not required + return nil + } + + if err := m.Authentication.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + + return nil +} + +var ipSecPolicyUpdateTypeDhGroupPropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[1,2,5,14,19,20,24]`), &res); err != nil { + panic(err) + } + for _, v := range res { + ipSecPolicyUpdateTypeDhGroupPropEnum = append(ipSecPolicyUpdateTypeDhGroupPropEnum, v) + } +} + +// prop value enum +func (m *IPSecPolicyUpdate) validateDhGroupEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, ipSecPolicyUpdateTypeDhGroupPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IPSecPolicyUpdate) validateDhGroup(formats strfmt.Registry) error { + if swag.IsZero(m.DhGroup) { // not required + return nil + } + + // value enum + if err := m.validateDhGroupEnum("dhGroup", "body", m.DhGroup); err != nil { + return err + } + + return nil +} + +var ipSecPolicyUpdateTypeEncryptionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["aes-256-cbc","aes-192-cbc","aes-128-cbc","aes-256-gcm","aes-192-gcm","aes-128-gcm","3des-cbc"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + ipSecPolicyUpdateTypeEncryptionPropEnum = append(ipSecPolicyUpdateTypeEncryptionPropEnum, v) + } +} + +const ( + + // IPSecPolicyUpdateEncryptionAesDash256DashCbc captures enum value "aes-256-cbc" + IPSecPolicyUpdateEncryptionAesDash256DashCbc string = "aes-256-cbc" + + // IPSecPolicyUpdateEncryptionAesDash192DashCbc captures enum value "aes-192-cbc" + IPSecPolicyUpdateEncryptionAesDash192DashCbc string = "aes-192-cbc" + + // IPSecPolicyUpdateEncryptionAesDash128DashCbc captures enum value "aes-128-cbc" + IPSecPolicyUpdateEncryptionAesDash128DashCbc string = "aes-128-cbc" + + // IPSecPolicyUpdateEncryptionAesDash256DashGcm captures enum value "aes-256-gcm" + IPSecPolicyUpdateEncryptionAesDash256DashGcm string = "aes-256-gcm" + + // IPSecPolicyUpdateEncryptionAesDash192DashGcm captures enum value "aes-192-gcm" + IPSecPolicyUpdateEncryptionAesDash192DashGcm string = "aes-192-gcm" + + // IPSecPolicyUpdateEncryptionAesDash128DashGcm captures enum value "aes-128-gcm" + IPSecPolicyUpdateEncryptionAesDash128DashGcm string = "aes-128-gcm" + + // IPSecPolicyUpdateEncryptionNr3desDashCbc captures enum value "3des-cbc" + IPSecPolicyUpdateEncryptionNr3desDashCbc string = "3des-cbc" +) + +// prop value enum +func (m *IPSecPolicyUpdate) validateEncryptionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, ipSecPolicyUpdateTypeEncryptionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *IPSecPolicyUpdate) validateEncryption(formats strfmt.Registry) error { + if swag.IsZero(m.Encryption) { // not required + return nil + } + + // value enum + if err := m.validateEncryptionEnum("encryption", "body", m.Encryption); err != nil { + return err + } + + return nil +} + +func (m *IPSecPolicyUpdate) validateKeyLifetime(formats strfmt.Registry) error { + if swag.IsZero(m.KeyLifetime) { // not required + return nil + } + + if err := m.KeyLifetime.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + + return nil +} + +func (m *IPSecPolicyUpdate) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MinLength("name", "body", m.Name, 1); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", m.Name, 47); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this IP sec policy update based on the context it is used +func (m *IPSecPolicyUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAuthentication(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateKeyLifetime(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *IPSecPolicyUpdate) contextValidateAuthentication(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Authentication) { // not required + return nil + } + + if err := m.Authentication.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("authentication") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("authentication") + } + + return err + } + + return nil +} + +func (m *IPSecPolicyUpdate) contextValidateKeyLifetime(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.KeyLifetime) { // not required + return nil + } + + if err := m.KeyLifetime.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("keyLifetime") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("keyLifetime") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *IPSecPolicyUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IPSecPolicyUpdate) UnmarshalBinary(b []byte) error { + var res IPSecPolicyUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/job.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/job.go new file mode 100644 index 000000000..894d7bc78 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/job.go @@ -0,0 +1,211 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Job job +// +// swagger:model Job +type Job struct { + + // create timestamp for the job + // Format: date-time + CreateTimestamp strfmt.DateTime `json:"createTimestamp,omitempty"` + + // id of a job + // Required: true + ID *string `json:"id"` + + // operation + // Required: true + Operation *Operation `json:"operation"` + + // status + // Required: true + Status *Status `json:"status"` +} + +// Validate validates this job +func (m *Job) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreateTimestamp(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOperation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Job) validateCreateTimestamp(formats strfmt.Registry) error { + if swag.IsZero(m.CreateTimestamp) { // not required + return nil + } + + if err := validate.FormatOf("createTimestamp", "body", "date-time", m.CreateTimestamp.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Job) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *Job) validateOperation(formats strfmt.Registry) error { + + if err := validate.Required("operation", "body", m.Operation); err != nil { + return err + } + + if m.Operation != nil { + if err := m.Operation.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("operation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("operation") + } + + return err + } + } + + return nil +} + +func (m *Job) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + if m.Status != nil { + if err := m.Status.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("status") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("status") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this job based on the context it is used +func (m *Job) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateOperation(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStatus(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Job) contextValidateOperation(ctx context.Context, formats strfmt.Registry) error { + + if m.Operation != nil { + + if err := m.Operation.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("operation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("operation") + } + + return err + } + } + + return nil +} + +func (m *Job) contextValidateStatus(ctx context.Context, formats strfmt.Registry) error { + + if m.Status != nil { + + if err := m.Status.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("status") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("status") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Job) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Job) UnmarshalBinary(b []byte) error { + var res Job + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/job_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/job_reference.go new file mode 100644 index 000000000..dc09f76fe --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/job_reference.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// JobReference job reference +// +// swagger:model JobReference +type JobReference struct { + + // Link to job resource + // Required: true + Href *string `json:"href"` + + // id of a job used to get status of long running operation + // Required: true + ID *string `json:"id"` +} + +// Validate validates this job reference +func (m *JobReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *JobReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *JobReference) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this job reference based on context it is used +func (m *JobReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *JobReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *JobReference) UnmarshalBinary(b []byte) error { + var res JobReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/jobs.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/jobs.go new file mode 100644 index 000000000..acb271bf2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/jobs.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Jobs jobs +// +// swagger:model Jobs +type Jobs struct { + + // Jobs + // Required: true + Jobs []*Job `json:"jobs"` +} + +// Validate validates this jobs +func (m *Jobs) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateJobs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Jobs) validateJobs(formats strfmt.Registry) error { + + if err := validate.Required("jobs", "body", m.Jobs); err != nil { + return err + } + + for i := 0; i < len(m.Jobs); i++ { + if swag.IsZero(m.Jobs[i]) { // not required + continue + } + + if m.Jobs[i] != nil { + if err := m.Jobs[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("jobs" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("jobs" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this jobs based on the context it is used +func (m *Jobs) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateJobs(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Jobs) contextValidateJobs(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Jobs); i++ { + + if m.Jobs[i] != nil { + + if swag.IsZero(m.Jobs[i]) { // not required + return nil + } + + if err := m.Jobs[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("jobs" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("jobs" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Jobs) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Jobs) UnmarshalBinary(b []byte) error { + var res Jobs + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/json_schema_object.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/json_schema_object.go new file mode 100644 index 000000000..f47965ae1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/json_schema_object.go @@ -0,0 +1,11 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +// JSONSchemaObject JSON schema object +// +// swagger:model JSONSchemaObject +type JSONSchemaObject any diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/key_lifetime.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/key_lifetime.go new file mode 100644 index 000000000..053deebb2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/key_lifetime.go @@ -0,0 +1,43 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// KeyLifetime Policy key lifetime +// Example: 28800 +// +// swagger:model KeyLifetime +type KeyLifetime int64 + +// Validate validates this key lifetime +func (m KeyLifetime) Validate(formats strfmt.Registry) error { + var res []error + + if err := validate.MinimumInt("", "body", int64(m), 180, false); err != nil { + return err + } + + if err := validate.MaximumInt("", "body", int64(m), 86400, false); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this key lifetime based on context it is used +func (m KeyLifetime) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/last_operation_resource.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/last_operation_resource.go new file mode 100644 index 000000000..1bc87ae0c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/last_operation_resource.go @@ -0,0 +1,116 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// LastOperationResource last operation resource +// +// swagger:model LastOperationResource +type LastOperationResource struct { + + // description + Description string `json:"description,omitempty"` + + // extensions + Extensions any `json:"extensions,omitempty"` + + // state + // Required: true + // Enum: ["in progress","succeeded","failed"] + State *string `json:"state"` +} + +// Validate validates this last operation resource +func (m *LastOperationResource) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var lastOperationResourceTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["in progress","succeeded","failed"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + lastOperationResourceTypeStatePropEnum = append(lastOperationResourceTypeStatePropEnum, v) + } +} + +const ( + + // LastOperationResourceStateInProgress captures enum value "in progress" + LastOperationResourceStateInProgress string = "in progress" + + // LastOperationResourceStateSucceeded captures enum value "succeeded" + LastOperationResourceStateSucceeded string = "succeeded" + + // LastOperationResourceStateFailed captures enum value "failed" + LastOperationResourceStateFailed string = "failed" +) + +// prop value enum +func (m *LastOperationResource) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, lastOperationResourceTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *LastOperationResource) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this last operation resource based on context it is used +func (m *LastOperationResource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *LastOperationResource) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *LastOperationResource) UnmarshalBinary(b []byte) error { + var res LastOperationResource + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/maximum_storage_allocation.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/maximum_storage_allocation.go new file mode 100644 index 000000000..d33f36f3f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/maximum_storage_allocation.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// MaximumStorageAllocation Maximum storage allocation +// +// swagger:model MaximumStorageAllocation +type MaximumStorageAllocation struct { + + // Maximum allocation storage size (GB) + // Required: true + MaxAllocationSize *int64 `json:"maxAllocationSize"` + + // Storage pool + // Required: true + StoragePool *string `json:"storagePool"` + + // Storage type + // Required: true + StorageType *string `json:"storageType"` +} + +// Validate validates this maximum storage allocation +func (m *MaximumStorageAllocation) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMaxAllocationSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStoragePool(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *MaximumStorageAllocation) validateMaxAllocationSize(formats strfmt.Registry) error { + + if err := validate.Required("maxAllocationSize", "body", m.MaxAllocationSize); err != nil { + return err + } + + return nil +} + +func (m *MaximumStorageAllocation) validateStoragePool(formats strfmt.Registry) error { + + if err := validate.Required("storagePool", "body", m.StoragePool); err != nil { + return err + } + + return nil +} + +func (m *MaximumStorageAllocation) validateStorageType(formats strfmt.Registry) error { + + if err := validate.Required("storageType", "body", m.StorageType); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this maximum storage allocation based on context it is used +func (m *MaximumStorageAllocation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *MaximumStorageAllocation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *MaximumStorageAllocation) UnmarshalBinary(b []byte) error { + var res MaximumStorageAllocation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/metadata.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/metadata.go new file mode 100644 index 000000000..06a2e8663 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/metadata.go @@ -0,0 +1,11 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +// Metadata See [Service Metadata Conventions](https://github.com/openservicebrokerapi/servicebroker/blob/master/profile.md#service-metadata) for more details. +// +// swagger:model Metadata +type Metadata any diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/min_max_default.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/min_max_default.go new file mode 100644 index 000000000..1237d64c3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/min_max_default.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// MinMaxDefault min max default +// +// swagger:model MinMaxDefault +type MinMaxDefault struct { + + // default value + // Required: true + Default *float64 `json:"default"` + + // max value + // Required: true + Max *float64 `json:"max"` + + // min value + // Required: true + Min *float64 `json:"min"` +} + +// Validate validates this min max default +func (m *MinMaxDefault) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDefault(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMax(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMin(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *MinMaxDefault) validateDefault(formats strfmt.Registry) error { + + if err := validate.Required("default", "body", m.Default); err != nil { + return err + } + + return nil +} + +func (m *MinMaxDefault) validateMax(formats strfmt.Registry) error { + + if err := validate.Required("max", "body", m.Max); err != nil { + return err + } + + return nil +} + +func (m *MinMaxDefault) validateMin(formats strfmt.Registry) error { + + if err := validate.Required("min", "body", m.Min); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this min max default based on context it is used +func (m *MinMaxDefault) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *MinMaxDefault) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *MinMaxDefault) UnmarshalBinary(b []byte) error { + var res MinMaxDefault + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/multi_volumes_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/multi_volumes_create.go new file mode 100644 index 000000000..445df8dbc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/multi_volumes_create.go @@ -0,0 +1,225 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// MultiVolumesCreate multi volumes create +// +// swagger:model MultiVolumesCreate +type MultiVolumesCreate struct { + + // PVM Instance (ID or Name)to base volume affinity policy against; required if requesting affinity and affinityVolume is not provided + AffinityPVMInstance *string `json:"affinityPVMInstance,omitempty"` + + // Affinity policy for data volume being created; ignored if volumePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified + // Enum: ["affinity","anti-affinity"] + AffinityPolicy *string `json:"affinityPolicy,omitempty"` + + // Volume (ID or Name) to base volume affinity policy against; required if requesting affinity and affinityPVMInstance is not provided + AffinityVolume *string `json:"affinityVolume,omitempty"` + + // List of pvmInstances to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityVolumes is not provided + AntiAffinityPVMInstances []string `json:"antiAffinityPVMInstances"` + + // List of volumes to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityPVMInstances is not provided + AntiAffinityVolumes []string `json:"antiAffinityVolumes"` + + // Number of volumes to create + Count int64 `json:"count,omitempty"` + + // Type of Disk; if diskType is not provided the disk type will default to 'tier3'. + DiskType string `json:"diskType,omitempty"` + + // Base name of the volume(s) + // Required: true + Name *string `json:"name"` + + // Indicates if the volume should be replication enabled or not + ReplicationEnabled *bool `json:"replicationEnabled,omitempty"` + + // List of replication site for volume replication + ReplicationSites []string `json:"replicationSites,omitempty"` + + // Indicates if the volume is shareable between VMs + Shareable *bool `json:"shareable,omitempty"` + + // Volume Size (GB) + // Required: true + Size *int64 `json:"size"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // Volume pool where the volume will be created; if provided then affinityPolicy value will be ignored + VolumePool string `json:"volumePool,omitempty"` +} + +// Validate validates this multi volumes create +func (m *MultiVolumesCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAffinityPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var multiVolumesCreateTypeAffinityPolicyPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["affinity","anti-affinity"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + multiVolumesCreateTypeAffinityPolicyPropEnum = append(multiVolumesCreateTypeAffinityPolicyPropEnum, v) + } +} + +const ( + + // MultiVolumesCreateAffinityPolicyAffinity captures enum value "affinity" + MultiVolumesCreateAffinityPolicyAffinity string = "affinity" + + // MultiVolumesCreateAffinityPolicyAntiDashAffinity captures enum value "anti-affinity" + MultiVolumesCreateAffinityPolicyAntiDashAffinity string = "anti-affinity" +) + +// prop value enum +func (m *MultiVolumesCreate) validateAffinityPolicyEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, multiVolumesCreateTypeAffinityPolicyPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *MultiVolumesCreate) validateAffinityPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.AffinityPolicy) { // not required + return nil + } + + // value enum + if err := m.validateAffinityPolicyEnum("affinityPolicy", "body", *m.AffinityPolicy); err != nil { + return err + } + + return nil +} + +func (m *MultiVolumesCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *MultiVolumesCreate) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + return nil +} + +func (m *MultiVolumesCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this multi volumes create based on the context it is used +func (m *MultiVolumesCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *MultiVolumesCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *MultiVolumesCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *MultiVolumesCreate) UnmarshalBinary(b []byte) error { + var res MultiVolumesCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network.go new file mode 100644 index 000000000..9b1aa79c4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network.go @@ -0,0 +1,972 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Network network +// +// swagger:model Network +type Network struct { + + // access config + AccessConfig AccessConfig `json:"accessConfig,omitempty"` + + // Indicates if the network is advertised externally of the workspace to PER and\or peer networks. + // Enum: ["enable","disable"] + Advertise string `json:"advertise,omitempty"` + + // Indicates if the ARP broadcast is enabled + // Enum: ["enable","disable"] + ArpBroadcast string `json:"arpBroadcast,omitempty"` + + // Network in CIDR notation (192.168.0.0/24) + // Required: true + Cidr *string `json:"cidr"` + + // (currently not available) cloud connections this network is attached + CloudConnections []*NetworkCloudConnectionsItems0 `json:"cloudConnections,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // DHCP Managed Network + DhcpManaged bool `json:"dhcpManaged,omitempty"` + + // DNS Servers + // Required: true + DNSServers []string `json:"dnsServers"` + + // Gateway IP Address + Gateway string `json:"gateway,omitempty"` + + // ip address metrics + // Required: true + IPAddressMetrics *NetworkIPAddressMetrics `json:"ipAddressMetrics"` + + // IP Address Ranges + // Required: true + IPAddressRanges []*IPAddressRange `json:"ipAddressRanges"` + + // (deprecated - replaced by mtu) Enable MTU Jumbo Network (for multi-zone locations only) + Jumbo bool `json:"jumbo,omitempty"` + + // Maximum transmission unit + // Maximum: 9000 + // Minimum: 1450 + Mtu *int64 `json:"mtu,omitempty"` + + // Network Name + // Required: true + Name *string `json:"name"` + + // network address translation + NetworkAddressTranslation *NetworkAddressTranslation `json:"networkAddressTranslation,omitempty"` + + // Unique Network ID + // Required: true + NetworkID *string `json:"networkID"` + + // [DEPRECATED] Network Peer ID + PeerID string `json:"peerID,omitempty"` + + // Public IP Address Ranges (for pub-vlan networks) + PublicIPAddressRanges []*IPAddressRange `json:"publicIPAddressRanges,omitempty"` + + // Type of Network - 'vlan' (private network) 'pub-vlan' (public network) 'dhcp-vlan' (for satellite locations only) + // Required: true + // Enum: ["vlan","pub-vlan","dhcp-vlan"] + Type *string `json:"type"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // VLAN ID + // Required: true + VlanID *float64 `json:"vlanID"` +} + +// Validate validates this network +func (m *Network) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccessConfig(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAdvertise(formats); err != nil { + res = append(res, err) + } + + if err := m.validateArpBroadcast(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCidr(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCloudConnections(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDNSServers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPAddressMetrics(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPAddressRanges(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMtu(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworkAddressTranslation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworkID(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePublicIPAddressRanges(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVlanID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Network) validateAccessConfig(formats strfmt.Registry) error { + if swag.IsZero(m.AccessConfig) { // not required + return nil + } + + if err := m.AccessConfig.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("accessConfig") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("accessConfig") + } + + return err + } + + return nil +} + +var networkTypeAdvertisePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkTypeAdvertisePropEnum = append(networkTypeAdvertisePropEnum, v) + } +} + +const ( + + // NetworkAdvertiseEnable captures enum value "enable" + NetworkAdvertiseEnable string = "enable" + + // NetworkAdvertiseDisable captures enum value "disable" + NetworkAdvertiseDisable string = "disable" +) + +// prop value enum +func (m *Network) validateAdvertiseEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkTypeAdvertisePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Network) validateAdvertise(formats strfmt.Registry) error { + if swag.IsZero(m.Advertise) { // not required + return nil + } + + // value enum + if err := m.validateAdvertiseEnum("advertise", "body", m.Advertise); err != nil { + return err + } + + return nil +} + +var networkTypeArpBroadcastPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkTypeArpBroadcastPropEnum = append(networkTypeArpBroadcastPropEnum, v) + } +} + +const ( + + // NetworkArpBroadcastEnable captures enum value "enable" + NetworkArpBroadcastEnable string = "enable" + + // NetworkArpBroadcastDisable captures enum value "disable" + NetworkArpBroadcastDisable string = "disable" +) + +// prop value enum +func (m *Network) validateArpBroadcastEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkTypeArpBroadcastPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Network) validateArpBroadcast(formats strfmt.Registry) error { + if swag.IsZero(m.ArpBroadcast) { // not required + return nil + } + + // value enum + if err := m.validateArpBroadcastEnum("arpBroadcast", "body", m.ArpBroadcast); err != nil { + return err + } + + return nil +} + +func (m *Network) validateCidr(formats strfmt.Registry) error { + + if err := validate.Required("cidr", "body", m.Cidr); err != nil { + return err + } + + return nil +} + +func (m *Network) validateCloudConnections(formats strfmt.Registry) error { + if swag.IsZero(m.CloudConnections) { // not required + return nil + } + + for i := 0; i < len(m.CloudConnections); i++ { + if swag.IsZero(m.CloudConnections[i]) { // not required + continue + } + + if m.CloudConnections[i] != nil { + if err := m.CloudConnections[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cloudConnections" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cloudConnections" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Network) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *Network) validateDNSServers(formats strfmt.Registry) error { + + if err := validate.Required("dnsServers", "body", m.DNSServers); err != nil { + return err + } + + return nil +} + +func (m *Network) validateIPAddressMetrics(formats strfmt.Registry) error { + + if err := validate.Required("ipAddressMetrics", "body", m.IPAddressMetrics); err != nil { + return err + } + + if m.IPAddressMetrics != nil { + if err := m.IPAddressMetrics.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipAddressMetrics") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipAddressMetrics") + } + + return err + } + } + + return nil +} + +func (m *Network) validateIPAddressRanges(formats strfmt.Registry) error { + + if err := validate.Required("ipAddressRanges", "body", m.IPAddressRanges); err != nil { + return err + } + + for i := 0; i < len(m.IPAddressRanges); i++ { + if swag.IsZero(m.IPAddressRanges[i]) { // not required + continue + } + + if m.IPAddressRanges[i] != nil { + if err := m.IPAddressRanges[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Network) validateMtu(formats strfmt.Registry) error { + if swag.IsZero(m.Mtu) { // not required + return nil + } + + if err := validate.MinimumInt("mtu", "body", *m.Mtu, 1450, false); err != nil { + return err + } + + if err := validate.MaximumInt("mtu", "body", *m.Mtu, 9000, false); err != nil { + return err + } + + return nil +} + +func (m *Network) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *Network) validateNetworkAddressTranslation(formats strfmt.Registry) error { + if swag.IsZero(m.NetworkAddressTranslation) { // not required + return nil + } + + if m.NetworkAddressTranslation != nil { + if err := m.NetworkAddressTranslation.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkAddressTranslation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkAddressTranslation") + } + + return err + } + } + + return nil +} + +func (m *Network) validateNetworkID(formats strfmt.Registry) error { + + if err := validate.Required("networkID", "body", m.NetworkID); err != nil { + return err + } + + return nil +} + +func (m *Network) validatePublicIPAddressRanges(formats strfmt.Registry) error { + if swag.IsZero(m.PublicIPAddressRanges) { // not required + return nil + } + + for i := 0; i < len(m.PublicIPAddressRanges); i++ { + if swag.IsZero(m.PublicIPAddressRanges[i]) { // not required + continue + } + + if m.PublicIPAddressRanges[i] != nil { + if err := m.PublicIPAddressRanges[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("publicIPAddressRanges" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("publicIPAddressRanges" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +var networkTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["vlan","pub-vlan","dhcp-vlan"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkTypeTypePropEnum = append(networkTypeTypePropEnum, v) + } +} + +const ( + + // NetworkTypeVlan captures enum value "vlan" + NetworkTypeVlan string = "vlan" + + // NetworkTypePubDashVlan captures enum value "pub-vlan" + NetworkTypePubDashVlan string = "pub-vlan" + + // NetworkTypeDhcpDashVlan captures enum value "dhcp-vlan" + NetworkTypeDhcpDashVlan string = "dhcp-vlan" +) + +// prop value enum +func (m *Network) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Network) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +func (m *Network) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *Network) validateVlanID(formats strfmt.Registry) error { + + if err := validate.Required("vlanID", "body", m.VlanID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this network based on the context it is used +func (m *Network) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAccessConfig(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCloudConnections(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateIPAddressMetrics(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateIPAddressRanges(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNetworkAddressTranslation(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePublicIPAddressRanges(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Network) contextValidateAccessConfig(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.AccessConfig) { // not required + return nil + } + + if err := m.AccessConfig.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("accessConfig") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("accessConfig") + } + + return err + } + + return nil +} + +func (m *Network) contextValidateCloudConnections(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.CloudConnections); i++ { + + if m.CloudConnections[i] != nil { + + if swag.IsZero(m.CloudConnections[i]) { // not required + return nil + } + + if err := m.CloudConnections[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cloudConnections" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cloudConnections" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Network) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *Network) contextValidateIPAddressMetrics(ctx context.Context, formats strfmt.Registry) error { + + if m.IPAddressMetrics != nil { + + if err := m.IPAddressMetrics.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipAddressMetrics") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipAddressMetrics") + } + + return err + } + } + + return nil +} + +func (m *Network) contextValidateIPAddressRanges(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.IPAddressRanges); i++ { + + if m.IPAddressRanges[i] != nil { + + if swag.IsZero(m.IPAddressRanges[i]) { // not required + return nil + } + + if err := m.IPAddressRanges[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Network) contextValidateNetworkAddressTranslation(ctx context.Context, formats strfmt.Registry) error { + + if m.NetworkAddressTranslation != nil { + + if swag.IsZero(m.NetworkAddressTranslation) { // not required + return nil + } + + if err := m.NetworkAddressTranslation.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkAddressTranslation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkAddressTranslation") + } + + return err + } + } + + return nil +} + +func (m *Network) contextValidatePublicIPAddressRanges(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PublicIPAddressRanges); i++ { + + if m.PublicIPAddressRanges[i] != nil { + + if swag.IsZero(m.PublicIPAddressRanges[i]) { // not required + return nil + } + + if err := m.PublicIPAddressRanges[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("publicIPAddressRanges" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("publicIPAddressRanges" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Network) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Network) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Network) UnmarshalBinary(b []byte) error { + var res Network + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} + +// NetworkCloudConnectionsItems0 network cloud connections items0 +// +// swagger:model NetworkCloudConnectionsItems0 +type NetworkCloudConnectionsItems0 struct { + + // the cloud connection id + CloudConnectionID string `json:"cloudConnectionID,omitempty"` + + // link to the cloud connection resource + Href string `json:"href,omitempty"` +} + +// Validate validates this network cloud connections items0 +func (m *NetworkCloudConnectionsItems0) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network cloud connections items0 based on context it is used +func (m *NetworkCloudConnectionsItems0) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkCloudConnectionsItems0) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkCloudConnectionsItems0) UnmarshalBinary(b []byte) error { + var res NetworkCloudConnectionsItems0 + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} + +// NetworkIPAddressMetrics IP Address Metrics +// +// swagger:model NetworkIPAddressMetrics +type NetworkIPAddressMetrics struct { + + // Number of available IP addresses + // Required: true + Available *float64 `json:"available"` + + // Total number of all IP addresses in all ipAddressRanges + // Required: true + Total *float64 `json:"total"` + + // Number of IP addresses currently in use + // Required: true + Used *float64 `json:"used"` + + // Utilization of IP addresses in percent form (used / total) [0 - 100] + // Required: true + Utilization *float64 `json:"utilization"` +} + +// Validate validates this network IP address metrics +func (m *NetworkIPAddressMetrics) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAvailable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotal(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUsed(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUtilization(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkIPAddressMetrics) validateAvailable(formats strfmt.Registry) error { + + if err := validate.Required("ipAddressMetrics"+"."+"available", "body", m.Available); err != nil { + return err + } + + return nil +} + +func (m *NetworkIPAddressMetrics) validateTotal(formats strfmt.Registry) error { + + if err := validate.Required("ipAddressMetrics"+"."+"total", "body", m.Total); err != nil { + return err + } + + return nil +} + +func (m *NetworkIPAddressMetrics) validateUsed(formats strfmt.Registry) error { + + if err := validate.Required("ipAddressMetrics"+"."+"used", "body", m.Used); err != nil { + return err + } + + return nil +} + +func (m *NetworkIPAddressMetrics) validateUtilization(formats strfmt.Registry) error { + + if err := validate.Required("ipAddressMetrics"+"."+"utilization", "body", m.Utilization); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network IP address metrics based on context it is used +func (m *NetworkIPAddressMetrics) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkIPAddressMetrics) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkIPAddressMetrics) UnmarshalBinary(b []byte) error { + var res NetworkIPAddressMetrics + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group.go new file mode 100644 index 000000000..ab82816d8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group.go @@ -0,0 +1,232 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkAddressGroup network address group +// +// swagger:model NetworkAddressGroup +type NetworkAddressGroup struct { + + // The Network Address Group's crn + // Required: true + Crn *string `json:"crn"` + + // The id of the Network Address Group + // Required: true + ID *string `json:"id"` + + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group + Members []*NetworkAddressGroupMember `json:"members"` + + // The name of the Network Address Group + // Required: true + Name *string `json:"name"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this network address group +func (m *NetworkAddressGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMembers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkAddressGroup) validateCrn(formats strfmt.Registry) error { + + if err := validate.Required("crn", "body", m.Crn); err != nil { + return err + } + + return nil +} + +func (m *NetworkAddressGroup) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *NetworkAddressGroup) validateMembers(formats strfmt.Registry) error { + if swag.IsZero(m.Members) { // not required + return nil + } + + for i := 0; i < len(m.Members); i++ { + if swag.IsZero(m.Members[i]) { // not required + continue + } + + if m.Members[i] != nil { + if err := m.Members[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("members" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("members" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkAddressGroup) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *NetworkAddressGroup) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this network address group based on the context it is used +func (m *NetworkAddressGroup) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateMembers(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkAddressGroup) contextValidateMembers(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Members); i++ { + + if m.Members[i] != nil { + + if swag.IsZero(m.Members[i]) { // not required + return nil + } + + if err := m.Members[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("members" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("members" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkAddressGroup) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkAddressGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkAddressGroup) UnmarshalBinary(b []byte) error { + var res NetworkAddressGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_add_member.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_add_member.go new file mode 100644 index 000000000..8f12580c5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_add_member.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkAddressGroupAddMember network address group add member +// +// swagger:model NetworkAddressGroupAddMember +type NetworkAddressGroupAddMember struct { + + // The member to add in CIDR format + // Required: true + Cidr *string `json:"cidr"` +} + +// Validate validates this network address group add member +func (m *NetworkAddressGroupAddMember) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCidr(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkAddressGroupAddMember) validateCidr(formats strfmt.Registry) error { + + if err := validate.Required("cidr", "body", m.Cidr); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network address group add member based on context it is used +func (m *NetworkAddressGroupAddMember) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkAddressGroupAddMember) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkAddressGroupAddMember) UnmarshalBinary(b []byte) error { + var res NetworkAddressGroupAddMember + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_create.go new file mode 100644 index 000000000..b81edffc0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_create.go @@ -0,0 +1,127 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkAddressGroupCreate network address group create +// +// swagger:model NetworkAddressGroupCreate +type NetworkAddressGroupCreate struct { + + // The name of the Network Address Group + // Required: true + Name *string `json:"name"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this network address group create +func (m *NetworkAddressGroupCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkAddressGroupCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *NetworkAddressGroupCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this network address group create based on the context it is used +func (m *NetworkAddressGroupCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkAddressGroupCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkAddressGroupCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkAddressGroupCreate) UnmarshalBinary(b []byte) error { + var res NetworkAddressGroupCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_member.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_member.go new file mode 100644 index 000000000..8df76aaf4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_member.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkAddressGroupMember network address group member +// +// swagger:model NetworkAddressGroupMember +type NetworkAddressGroupMember struct { + + // The IP addresses in CIDR notation for example 192.168.1.5/32 + // Required: true + Cidr *string `json:"cidr"` + + // The id of the Network Address Group member IP addresses + // Required: true + ID *string `json:"id"` +} + +// Validate validates this network address group member +func (m *NetworkAddressGroupMember) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCidr(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkAddressGroupMember) validateCidr(formats strfmt.Registry) error { + + if err := validate.Required("cidr", "body", m.Cidr); err != nil { + return err + } + + return nil +} + +func (m *NetworkAddressGroupMember) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network address group member based on context it is used +func (m *NetworkAddressGroupMember) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkAddressGroupMember) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkAddressGroupMember) UnmarshalBinary(b []byte) error { + var res NetworkAddressGroupMember + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_update.go new file mode 100644 index 000000000..a6e4dca0a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_group_update.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkAddressGroupUpdate network address group update +// +// swagger:model NetworkAddressGroupUpdate +type NetworkAddressGroupUpdate struct { + + // Replaces the current Network Address Group Name + Name string `json:"name,omitempty"` +} + +// Validate validates this network address group update +func (m *NetworkAddressGroupUpdate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network address group update based on context it is used +func (m *NetworkAddressGroupUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkAddressGroupUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkAddressGroupUpdate) UnmarshalBinary(b []byte) error { + var res NetworkAddressGroupUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_groups.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_groups.go new file mode 100644 index 000000000..8f8c76bc9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_groups.go @@ -0,0 +1,130 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkAddressGroups network address groups +// +// swagger:model NetworkAddressGroups +type NetworkAddressGroups struct { + + // list of Network Address Groups + NetworkAddressGroups []*NetworkAddressGroup `json:"networkAddressGroups"` +} + +// Validate validates this network address groups +func (m *NetworkAddressGroups) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateNetworkAddressGroups(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkAddressGroups) validateNetworkAddressGroups(formats strfmt.Registry) error { + if swag.IsZero(m.NetworkAddressGroups) { // not required + return nil + } + + for i := 0; i < len(m.NetworkAddressGroups); i++ { + if swag.IsZero(m.NetworkAddressGroups[i]) { // not required + continue + } + + if m.NetworkAddressGroups[i] != nil { + if err := m.NetworkAddressGroups[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkAddressGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkAddressGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this network address groups based on the context it is used +func (m *NetworkAddressGroups) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetworkAddressGroups(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkAddressGroups) contextValidateNetworkAddressGroups(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.NetworkAddressGroups); i++ { + + if m.NetworkAddressGroups[i] != nil { + + if swag.IsZero(m.NetworkAddressGroups[i]) { // not required + return nil + } + + if err := m.NetworkAddressGroups[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkAddressGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkAddressGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkAddressGroups) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkAddressGroups) UnmarshalBinary(b []byte) error { + var res NetworkAddressGroups + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_translation.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_translation.go new file mode 100644 index 000000000..160d19e42 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_address_translation.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkAddressTranslation [DEPRECATED] Contains the Network Address Translation Details +// +// swagger:model NetworkAddressTranslation +type NetworkAddressTranslation struct { + + // source IP address, required if network peer type is L3BGP + // or L3STATIC and if Network Address Translation (NAT) is + // enabled + // + SourceIP string `json:"sourceIP,omitempty"` +} + +// Validate validates this network address translation +func (m *NetworkAddressTranslation) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network address translation based on context it is used +func (m *NetworkAddressTranslation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkAddressTranslation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkAddressTranslation) UnmarshalBinary(b []byte) error { + var res NetworkAddressTranslation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_create.go new file mode 100644 index 000000000..8890aa40f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_create.go @@ -0,0 +1,480 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkCreate network create +// Example: {"cidr":"192.168.1.0/24","gateway":"192.168.1.1","ipAddressRanges":[{"endingIPAddress":"192.168.1.254","startingIPAddress":"192.168.1.2"}],"mtu":1450,"name":"sample-network","type":"vlan"} +// +// swagger:model NetworkCreate +type NetworkCreate struct { + + // access config + AccessConfig AccessConfig `json:"accessConfig,omitempty"` + + // Indicates if the network is advertised externally of the workspace to PER and\or peer networks + // Enum: ["enable","disable"] + Advertise *string `json:"advertise,omitempty"` + + // Indicates if ARP broadcast is enabled + // Enum: ["enable","disable"] + ArpBroadcast *string `json:"arpBroadcast,omitempty"` + + // Network in CIDR notation (192.168.0.0/24) + Cidr string `json:"cidr,omitempty"` + + // DNS Servers. If not specified, default is 127.0.0.1 for 'vlan' (private network) and 9.9.9.9 for 'pub-vlan' (public network) + DNSServers []string `json:"dnsServers"` + + // Gateway IP Address + Gateway string `json:"gateway,omitempty"` + + // IP Address Ranges + IPAddressRanges []*IPAddressRange `json:"ipAddressRanges"` + + // (deprecated - replaced by mtu) Enable MTU Jumbo Network (for multi-zone locations only) + Jumbo bool `json:"jumbo,omitempty"` + + // Maximum transmission unit + // Maximum: 9000 + // Minimum: 1450 + Mtu *int64 `json:"mtu,omitempty"` + + // Network Name + // Max Length: 128 + // Pattern: ^[a-zA-Z0-9-_][a-zA-Z0-9-_]*$ + Name string `json:"name,omitempty"` + + // Network Peer information + Peer *NetworkCreatePeer `json:"peer,omitempty"` + + // Type of Network - 'vlan' (private network), 'pub-vlan' (public network), 'dhcp-vlan'[DEPRECATED] + // Required: true + // Enum: ["vlan","pub-vlan","dhcp-vlan"] + Type *string `json:"type"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this network create +func (m *NetworkCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccessConfig(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAdvertise(formats); err != nil { + res = append(res, err) + } + + if err := m.validateArpBroadcast(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPAddressRanges(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMtu(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeer(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkCreate) validateAccessConfig(formats strfmt.Registry) error { + if swag.IsZero(m.AccessConfig) { // not required + return nil + } + + if err := m.AccessConfig.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("accessConfig") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("accessConfig") + } + return err + } + + return nil +} + +var networkCreateTypeAdvertisePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkCreateTypeAdvertisePropEnum = append(networkCreateTypeAdvertisePropEnum, v) + } +} + +const ( + + // NetworkCreateAdvertiseEnable captures enum value "enable" + NetworkCreateAdvertiseEnable string = "enable" + + // NetworkCreateAdvertiseDisable captures enum value "disable" + NetworkCreateAdvertiseDisable string = "disable" +) + +// prop value enum +func (m *NetworkCreate) validateAdvertiseEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkCreateTypeAdvertisePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkCreate) validateAdvertise(formats strfmt.Registry) error { + if swag.IsZero(m.Advertise) { // not required + return nil + } + + // value enum + if err := m.validateAdvertiseEnum("advertise", "body", *m.Advertise); err != nil { + return err + } + + return nil +} + +var networkCreateTypeArpBroadcastPropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkCreateTypeArpBroadcastPropEnum = append(networkCreateTypeArpBroadcastPropEnum, v) + } +} + +const ( + + // NetworkCreateArpBroadcastEnable captures enum value "enable" + NetworkCreateArpBroadcastEnable string = "enable" + + // NetworkCreateArpBroadcastDisable captures enum value "disable" + NetworkCreateArpBroadcastDisable string = "disable" +) + +// prop value enum +func (m *NetworkCreate) validateArpBroadcastEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkCreateTypeArpBroadcastPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkCreate) validateArpBroadcast(formats strfmt.Registry) error { + if swag.IsZero(m.ArpBroadcast) { // not required + return nil + } + + // value enum + if err := m.validateArpBroadcastEnum("arpBroadcast", "body", *m.ArpBroadcast); err != nil { + return err + } + + return nil +} + +func (m *NetworkCreate) validateIPAddressRanges(formats strfmt.Registry) error { + if swag.IsZero(m.IPAddressRanges) { // not required + return nil + } + + for i := 0; i < len(m.IPAddressRanges); i++ { + if swag.IsZero(m.IPAddressRanges[i]) { // not required + continue + } + + if m.IPAddressRanges[i] != nil { + if err := m.IPAddressRanges[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *NetworkCreate) validateMtu(formats strfmt.Registry) error { + if swag.IsZero(m.Mtu) { // not required + return nil + } + + if err := validate.MinimumInt("mtu", "body", *m.Mtu, 1450, false); err != nil { + return err + } + + if err := validate.MaximumInt("mtu", "body", *m.Mtu, 9000, false); err != nil { + return err + } + + return nil +} + +func (m *NetworkCreate) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MaxLength("name", "body", m.Name, 128); err != nil { + return err + } + + if err := validate.Pattern("name", "body", m.Name, `^[a-zA-Z0-9-_][a-zA-Z0-9-_]*$`); err != nil { + return err + } + + return nil +} + +func (m *NetworkCreate) validatePeer(formats strfmt.Registry) error { + if swag.IsZero(m.Peer) { // not required + return nil + } + + if m.Peer != nil { + if err := m.Peer.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("peer") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("peer") + } + return err + } + } + + return nil +} + +var networkCreateTypeTypePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["vlan","pub-vlan","dhcp-vlan"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkCreateTypeTypePropEnum = append(networkCreateTypeTypePropEnum, v) + } +} + +const ( + + // NetworkCreateTypeVlan captures enum value "vlan" + NetworkCreateTypeVlan string = "vlan" + + // NetworkCreateTypePubDashVlan captures enum value "pub-vlan" + NetworkCreateTypePubDashVlan string = "pub-vlan" + + // NetworkCreateTypeDhcpDashVlan captures enum value "dhcp-vlan" + NetworkCreateTypeDhcpDashVlan string = "dhcp-vlan" +) + +// prop value enum +func (m *NetworkCreate) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkCreateTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkCreate) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +func (m *NetworkCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("userTags") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("userTags") + } + return err + } + + return nil +} + +// ContextValidate validate this network create based on the context it is used +func (m *NetworkCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAccessConfig(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateIPAddressRanges(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePeer(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkCreate) contextValidateAccessConfig(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.AccessConfig) { // not required + return nil + } + + if err := m.AccessConfig.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("accessConfig") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("accessConfig") + } + return err + } + + return nil +} + +func (m *NetworkCreate) contextValidateIPAddressRanges(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.IPAddressRanges); i++ { + + if m.IPAddressRanges[i] != nil { + + if swag.IsZero(m.IPAddressRanges[i]) { // not required + return nil + } + + if err := m.IPAddressRanges[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *NetworkCreate) contextValidatePeer(ctx context.Context, formats strfmt.Registry) error { + + if m.Peer != nil { + + if swag.IsZero(m.Peer) { // not required + return nil + } + + if err := m.Peer.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("peer") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("peer") + } + return err + } + } + + return nil +} + +func (m *NetworkCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("userTags") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("userTags") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkCreate) UnmarshalBinary(b []byte) error { + var res NetworkCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_create_peer.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_create_peer.go new file mode 100644 index 000000000..9403bbf88 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_create_peer.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkCreatePeer [DEPRECATED] +// +// swagger:model NetworkCreatePeer +type NetworkCreatePeer struct { + + // ID of the network peer + ID string `json:"id,omitempty"` + + // network address translation + NetworkAddressTranslation *NetworkAddressTranslation `json:"networkAddressTranslation,omitempty"` + + // type + Type NetworkPeerType `json:"type,omitempty"` +} + +// Validate validates this network create peer +func (m *NetworkCreatePeer) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateNetworkAddressTranslation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkCreatePeer) validateNetworkAddressTranslation(formats strfmt.Registry) error { + if swag.IsZero(m.NetworkAddressTranslation) { // not required + return nil + } + + if m.NetworkAddressTranslation != nil { + if err := m.NetworkAddressTranslation.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkAddressTranslation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkAddressTranslation") + } + + return err + } + } + + return nil +} + +func (m *NetworkCreatePeer) validateType(formats strfmt.Registry) error { + if swag.IsZero(m.Type) { // not required + return nil + } + + if err := m.Type.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("type") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("type") + } + + return err + } + + return nil +} + +// ContextValidate validate this network create peer based on the context it is used +func (m *NetworkCreatePeer) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetworkAddressTranslation(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateType(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkCreatePeer) contextValidateNetworkAddressTranslation(ctx context.Context, formats strfmt.Registry) error { + + if m.NetworkAddressTranslation != nil { + + if swag.IsZero(m.NetworkAddressTranslation) { // not required + return nil + } + + if err := m.NetworkAddressTranslation.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkAddressTranslation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkAddressTranslation") + } + + return err + } + } + + return nil +} + +func (m *NetworkCreatePeer) contextValidateType(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Type) { // not required + return nil + } + + if err := m.Type.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("type") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("type") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkCreatePeer) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkCreatePeer) UnmarshalBinary(b []byte) error { + var res NetworkCreatePeer + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_i_ds.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_i_ds.go new file mode 100644 index 000000000..e2ceb6fca --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_i_ds.go @@ -0,0 +1,51 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkIDs network i ds +// +// swagger:model NetworkIDs +type NetworkIDs struct { + + // an array of network IDs + // Example: ["7f950c76-8582-11qeb-8dcd-0242ac143","7f950c76-8582-11veb-8dcd-0242ac153","7f950c76-8582-11deb-8dcd-0242ac163"] + NetworkIDs []string `json:"networkIDs"` +} + +// Validate validates this network i ds +func (m *NetworkIDs) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network i ds based on context it is used +func (m *NetworkIDs) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkIDs) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkIDs) UnmarshalBinary(b []byte) error { + var res NetworkIDs + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_id.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_id.go new file mode 100644 index 000000000..98ab9bddc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_id.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkID unique identifier of a network +// +// swagger:model NetworkID +type NetworkID struct { + + // network ID + // Example: 7f950c76-8582-11qeb-8dcd-0242ac172 + // Required: true + NetworkID *string `json:"networkID"` +} + +// Validate validates this network ID +func (m *NetworkID) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateNetworkID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkID) validateNetworkID(formats strfmt.Registry) error { + + if err := validate.Required("networkID", "body", m.NetworkID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network ID based on context it is used +func (m *NetworkID) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkID) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkID) UnmarshalBinary(b []byte) error { + var res NetworkID + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface.go new file mode 100644 index 000000000..11e8cff29 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface.go @@ -0,0 +1,317 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkInterface network interface +// +// swagger:model NetworkInterface +type NetworkInterface struct { + + // The Network Interface's crn + // Required: true + Crn *string `json:"crn"` + + // The unique Network Interface ID + // Required: true + ID *string `json:"id"` + + // instance + Instance *NetworkInterfaceInstance `json:"instance,omitempty"` + + // The ip address of this Network Interface + // Required: true + IPAddress *string `json:"ipAddress"` + + // The mac address of the Network Interface + // Required: true + MacAddress *string `json:"macAddress"` + + // Name of the Network Interface (not unique or indexable) + // Required: true + Name *string `json:"name"` + + // (deprecated - replaced by networkSecurityGroupIDs) ID of the Network Security Group the network interface will be added to + NetworkSecurityGroupID string `json:"networkSecurityGroupID,omitempty"` + + // Network security groups that the network interface is a member of. + NetworkSecurityGroupIDs []string `json:"networkSecurityGroupIDs"` + + // The status of the network address group + // Required: true + Status *string `json:"status"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this network interface +func (m *NetworkInterface) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateInstance(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMacAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkInterface) validateCrn(formats strfmt.Registry) error { + + if err := validate.Required("crn", "body", m.Crn); err != nil { + return err + } + + return nil +} + +func (m *NetworkInterface) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *NetworkInterface) validateInstance(formats strfmt.Registry) error { + if swag.IsZero(m.Instance) { // not required + return nil + } + + if m.Instance != nil { + if err := m.Instance.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("instance") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("instance") + } + + return err + } + } + + return nil +} + +func (m *NetworkInterface) validateIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("ipAddress", "body", m.IPAddress); err != nil { + return err + } + + return nil +} + +func (m *NetworkInterface) validateMacAddress(formats strfmt.Registry) error { + + if err := validate.Required("macAddress", "body", m.MacAddress); err != nil { + return err + } + + return nil +} + +func (m *NetworkInterface) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *NetworkInterface) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *NetworkInterface) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this network interface based on the context it is used +func (m *NetworkInterface) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateInstance(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkInterface) contextValidateInstance(ctx context.Context, formats strfmt.Registry) error { + + if m.Instance != nil { + + if swag.IsZero(m.Instance) { // not required + return nil + } + + if err := m.Instance.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("instance") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("instance") + } + + return err + } + } + + return nil +} + +func (m *NetworkInterface) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkInterface) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkInterface) UnmarshalBinary(b []byte) error { + var res NetworkInterface + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} + +// NetworkInterfaceInstance The attached instance to this Network Interface +// +// swagger:model NetworkInterfaceInstance +type NetworkInterfaceInstance struct { + + // Link to instance resource + Href string `json:"href,omitempty"` + + // The attached instance ID + InstanceID string `json:"instanceID,omitempty"` +} + +// Validate validates this network interface instance +func (m *NetworkInterfaceInstance) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network interface instance based on context it is used +func (m *NetworkInterfaceInstance) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkInterfaceInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkInterfaceInstance) UnmarshalBinary(b []byte) error { + var res NetworkInterfaceInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface_create.go new file mode 100644 index 000000000..fab1c6431 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface_create.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkInterfaceCreate network interface create +// +// swagger:model NetworkInterfaceCreate +type NetworkInterfaceCreate struct { + + // The requested IP address of this Network Interface + IPAddress string `json:"ipAddress,omitempty"` + + // Name of the Network Interface + Name string `json:"name,omitempty"` + + // The user tags associated with this resource. + UserTags []string `json:"userTags"` +} + +// Validate validates this network interface create +func (m *NetworkInterfaceCreate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network interface create based on context it is used +func (m *NetworkInterfaceCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkInterfaceCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkInterfaceCreate) UnmarshalBinary(b []byte) error { + var res NetworkInterfaceCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface_update.go new file mode 100644 index 000000000..c6c981e06 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interface_update.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkInterfaceUpdate network interface update +// +// swagger:model NetworkInterfaceUpdate +type NetworkInterfaceUpdate struct { + + // If supplied populated it attaches to the InstanceID, if empty detaches from InstanceID + InstanceID *string `json:"instanceID,omitempty"` + + // Name of the Network Interface + Name *string `json:"name,omitempty"` +} + +// Validate validates this network interface update +func (m *NetworkInterfaceUpdate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network interface update based on context it is used +func (m *NetworkInterfaceUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkInterfaceUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkInterfaceUpdate) UnmarshalBinary(b []byte) error { + var res NetworkInterfaceUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interfaces.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interfaces.go new file mode 100644 index 000000000..d0843cc3c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_interfaces.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkInterfaces network interfaces +// +// swagger:model NetworkInterfaces +type NetworkInterfaces struct { + + // Network Interfaces + // Required: true + Interfaces []*NetworkInterface `json:"interfaces"` +} + +// Validate validates this network interfaces +func (m *NetworkInterfaces) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateInterfaces(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkInterfaces) validateInterfaces(formats strfmt.Registry) error { + + if err := validate.Required("interfaces", "body", m.Interfaces); err != nil { + return err + } + + for i := 0; i < len(m.Interfaces); i++ { + if swag.IsZero(m.Interfaces[i]) { // not required + continue + } + + if m.Interfaces[i] != nil { + if err := m.Interfaces[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("interfaces" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("interfaces" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this network interfaces based on the context it is used +func (m *NetworkInterfaces) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateInterfaces(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkInterfaces) contextValidateInterfaces(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Interfaces); i++ { + + if m.Interfaces[i] != nil { + + if swag.IsZero(m.Interfaces[i]) { // not required + return nil + } + + if err := m.Interfaces[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("interfaces" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("interfaces" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkInterfaces) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkInterfaces) UnmarshalBinary(b []byte) error { + var res NetworkInterfaces + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer.go new file mode 100644 index 000000000..a7be4bdea --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer.go @@ -0,0 +1,627 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkPeer network peer +// +// swagger:model NetworkPeer +type NetworkPeer struct { + + // time stamp for create network peer + // Required: true + CreationDate *string `json:"creationDate"` + + // ASN number at customer network side + // Example: 64512 + // Required: true + CustomerASN *int64 `json:"customerASN"` + + // IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + // Example: 192.168.91.2/30 + // Required: true + CustomerCidr *string `json:"customerCidr"` + + // default action for export route filter + // * allow: allow + // * deny: deny + // + // Example: allow + // Required: true + // Enum: ["allow","deny"] + DefaultExportRouteFilter *string `json:"defaultExportRouteFilter"` + + // default action for import route filter + // * allow: allow + // * deny: deny + // + // Example: allow + // Required: true + // Enum: ["allow","deny"] + DefaultImportRouteFilter *string `json:"defaultImportRouteFilter"` + + // error description + // Required: true + Error *string `json:"error"` + + // List of export route filters + // Required: true + ExportRouteFilters []*RouteFilter `json:"exportRouteFilters"` + + // ASN number at IBM PowerVS side + // Example: 64512 + // Required: true + IbmASN *int64 `json:"ibmASN"` + + // IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + // Example: 192.168.91.1/30 + // Required: true + IbmCidr *string `json:"ibmCidr"` + + // network peer id + // Example: 031ab7da-bca6-493f-ac55-1a2a26f19160 + // Required: true + ID *string `json:"id"` + + // List of import route filters + // Required: true + ImportRouteFilters []*RouteFilter `json:"importRouteFilters"` + + // user defined name + // Example: newPeerNetwork + // Required: true + Name *string `json:"name"` + + // peer interface id. use API '/v1/network-peers/interfaces' to get a list of valid peer interface id + // Example: 031ab7da-bca6-493f-ac55-1a2a26f19160 + // Required: true + PeerInterfaceID *string `json:"peerInterfaceID"` + + // status of the network peer + // Example: active + // Required: true + // Enum: ["active","configuring","removing","error","updating"] + State *string `json:"state"` + + // type of the peer network + // * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network + // + // Example: dcnetwork_bgp + // Required: true + // Enum: ["dcnetwork_bgp"] + Type *string `json:"type"` + + // time stamp for update network peer + // Required: true + UpdatedDate *string `json:"updatedDate"` + + // A vlan configured at the customer network. + // Example: 2000 + // Required: true + Vlan *int64 `json:"vlan"` +} + +// Validate validates this network peer +func (m *NetworkPeer) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCustomerASN(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCustomerCidr(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDefaultExportRouteFilter(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDefaultImportRouteFilter(formats); err != nil { + res = append(res, err) + } + + if err := m.validateError(formats); err != nil { + res = append(res, err) + } + + if err := m.validateExportRouteFilters(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIbmASN(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIbmCidr(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImportRouteFilters(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeerInterfaceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdatedDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVlan(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPeer) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateCustomerASN(formats strfmt.Registry) error { + + if err := validate.Required("customerASN", "body", m.CustomerASN); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateCustomerCidr(formats strfmt.Registry) error { + + if err := validate.Required("customerCidr", "body", m.CustomerCidr); err != nil { + return err + } + + return nil +} + +var networkPeerTypeDefaultExportRouteFilterPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerTypeDefaultExportRouteFilterPropEnum = append(networkPeerTypeDefaultExportRouteFilterPropEnum, v) + } +} + +const ( + + // NetworkPeerDefaultExportRouteFilterAllow captures enum value "allow" + NetworkPeerDefaultExportRouteFilterAllow string = "allow" + + // NetworkPeerDefaultExportRouteFilterDeny captures enum value "deny" + NetworkPeerDefaultExportRouteFilterDeny string = "deny" +) + +// prop value enum +func (m *NetworkPeer) validateDefaultExportRouteFilterEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerTypeDefaultExportRouteFilterPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeer) validateDefaultExportRouteFilter(formats strfmt.Registry) error { + + if err := validate.Required("defaultExportRouteFilter", "body", m.DefaultExportRouteFilter); err != nil { + return err + } + + // value enum + if err := m.validateDefaultExportRouteFilterEnum("defaultExportRouteFilter", "body", *m.DefaultExportRouteFilter); err != nil { + return err + } + + return nil +} + +var networkPeerTypeDefaultImportRouteFilterPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerTypeDefaultImportRouteFilterPropEnum = append(networkPeerTypeDefaultImportRouteFilterPropEnum, v) + } +} + +const ( + + // NetworkPeerDefaultImportRouteFilterAllow captures enum value "allow" + NetworkPeerDefaultImportRouteFilterAllow string = "allow" + + // NetworkPeerDefaultImportRouteFilterDeny captures enum value "deny" + NetworkPeerDefaultImportRouteFilterDeny string = "deny" +) + +// prop value enum +func (m *NetworkPeer) validateDefaultImportRouteFilterEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerTypeDefaultImportRouteFilterPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeer) validateDefaultImportRouteFilter(formats strfmt.Registry) error { + + if err := validate.Required("defaultImportRouteFilter", "body", m.DefaultImportRouteFilter); err != nil { + return err + } + + // value enum + if err := m.validateDefaultImportRouteFilterEnum("defaultImportRouteFilter", "body", *m.DefaultImportRouteFilter); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateError(formats strfmt.Registry) error { + + if err := validate.Required("error", "body", m.Error); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateExportRouteFilters(formats strfmt.Registry) error { + + if err := validate.Required("exportRouteFilters", "body", m.ExportRouteFilters); err != nil { + return err + } + + for i := 0; i < len(m.ExportRouteFilters); i++ { + if swag.IsZero(m.ExportRouteFilters[i]) { // not required + continue + } + + if m.ExportRouteFilters[i] != nil { + if err := m.ExportRouteFilters[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("exportRouteFilters" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("exportRouteFilters" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkPeer) validateIbmASN(formats strfmt.Registry) error { + + if err := validate.Required("ibmASN", "body", m.IbmASN); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateIbmCidr(formats strfmt.Registry) error { + + if err := validate.Required("ibmCidr", "body", m.IbmCidr); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateImportRouteFilters(formats strfmt.Registry) error { + + if err := validate.Required("importRouteFilters", "body", m.ImportRouteFilters); err != nil { + return err + } + + for i := 0; i < len(m.ImportRouteFilters); i++ { + if swag.IsZero(m.ImportRouteFilters[i]) { // not required + continue + } + + if m.ImportRouteFilters[i] != nil { + if err := m.ImportRouteFilters[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("importRouteFilters" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("importRouteFilters" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkPeer) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validatePeerInterfaceID(formats strfmt.Registry) error { + + if err := validate.Required("peerInterfaceID", "body", m.PeerInterfaceID); err != nil { + return err + } + + return nil +} + +var networkPeerTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","configuring","removing","error","updating"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerTypeStatePropEnum = append(networkPeerTypeStatePropEnum, v) + } +} + +const ( + + // NetworkPeerStateActive captures enum value "active" + NetworkPeerStateActive string = "active" + + // NetworkPeerStateConfiguring captures enum value "configuring" + NetworkPeerStateConfiguring string = "configuring" + + // NetworkPeerStateRemoving captures enum value "removing" + NetworkPeerStateRemoving string = "removing" + + // NetworkPeerStateError captures enum value "error" + NetworkPeerStateError string = "error" + + // NetworkPeerStateUpdating captures enum value "updating" + NetworkPeerStateUpdating string = "updating" +) + +// prop value enum +func (m *NetworkPeer) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeer) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +var networkPeerTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dcnetwork_bgp"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerTypeTypePropEnum = append(networkPeerTypeTypePropEnum, v) + } +} + +const ( + + // NetworkPeerTypeDcnetworkBgp captures enum value "dcnetwork_bgp" + NetworkPeerTypeDcnetworkBgp string = "dcnetwork_bgp" +) + +// prop value enum +func (m *NetworkPeer) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeer) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateUpdatedDate(formats strfmt.Registry) error { + + if err := validate.Required("updatedDate", "body", m.UpdatedDate); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeer) validateVlan(formats strfmt.Registry) error { + + if err := validate.Required("vlan", "body", m.Vlan); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this network peer based on the context it is used +func (m *NetworkPeer) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateExportRouteFilters(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateImportRouteFilters(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPeer) contextValidateExportRouteFilters(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ExportRouteFilters); i++ { + + if m.ExportRouteFilters[i] != nil { + + if swag.IsZero(m.ExportRouteFilters[i]) { // not required + return nil + } + + if err := m.ExportRouteFilters[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("exportRouteFilters" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("exportRouteFilters" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkPeer) contextValidateImportRouteFilters(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ImportRouteFilters); i++ { + + if m.ImportRouteFilters[i] != nil { + + if swag.IsZero(m.ImportRouteFilters[i]) { // not required + return nil + } + + if err := m.ImportRouteFilters[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("importRouteFilters" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("importRouteFilters" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPeer) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPeer) UnmarshalBinary(b []byte) error { + var res NetworkPeer + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_create.go new file mode 100644 index 000000000..3e3b69a23 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_create.go @@ -0,0 +1,339 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkPeerCreate network peer create parameters +// +// swagger:model NetworkPeerCreate +type NetworkPeerCreate struct { + + // ASN number at customer network side + // Example: 64512 + // Required: true + CustomerASN *int64 `json:"customerASN"` + + // IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + // Example: 192.168.91.2/30 + // Required: true + CustomerCidr *string `json:"customerCidr"` + + // default action for export route filter + // * allow: allow + // * deny: deny + // + // Example: allow + // Enum: ["allow","deny"] + DefaultExportRouteFilter *string `json:"defaultExportRouteFilter,omitempty"` + + // default action for import route filter + // * allow: allow + // * deny: deny + // + // Example: allow + // Enum: ["allow","deny"] + DefaultImportRouteFilter *string `json:"defaultImportRouteFilter,omitempty"` + + // ASN number at IBM PowerVS side + // Example: 64512 + // Required: true + IbmASN *int64 `json:"ibmASN"` + + // IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + // Example: 192.168.91.1/30 + // Required: true + IbmCidr *string `json:"ibmCidr"` + + // user defined name + // Example: newPeerNetwork + // Required: true + Name *string `json:"name"` + + // peer interface id. use API '/v1/network-peers/interfaces' to get a list of valid peer interface id + // Example: 031ab7da-bca6-493f-ac55-1a2a26f19160 + // Required: true + PeerInterfaceID *string `json:"peerInterfaceID"` + + // type of the peer network + // * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network + // + // Example: dcnetwork_bgp + // Enum: ["dcnetwork_bgp"] + Type *string `json:"type,omitempty"` + + // A vlan configured at the customer network. + // Example: 2000 + // Required: true + Vlan *int64 `json:"vlan"` +} + +// Validate validates this network peer create +func (m *NetworkPeerCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCustomerASN(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCustomerCidr(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDefaultExportRouteFilter(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDefaultImportRouteFilter(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIbmASN(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIbmCidr(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeerInterfaceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVlan(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPeerCreate) validateCustomerASN(formats strfmt.Registry) error { + + if err := validate.Required("customerASN", "body", m.CustomerASN); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeerCreate) validateCustomerCidr(formats strfmt.Registry) error { + + if err := validate.Required("customerCidr", "body", m.CustomerCidr); err != nil { + return err + } + + return nil +} + +var networkPeerCreateTypeDefaultExportRouteFilterPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerCreateTypeDefaultExportRouteFilterPropEnum = append(networkPeerCreateTypeDefaultExportRouteFilterPropEnum, v) + } +} + +const ( + + // NetworkPeerCreateDefaultExportRouteFilterAllow captures enum value "allow" + NetworkPeerCreateDefaultExportRouteFilterAllow string = "allow" + + // NetworkPeerCreateDefaultExportRouteFilterDeny captures enum value "deny" + NetworkPeerCreateDefaultExportRouteFilterDeny string = "deny" +) + +// prop value enum +func (m *NetworkPeerCreate) validateDefaultExportRouteFilterEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerCreateTypeDefaultExportRouteFilterPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeerCreate) validateDefaultExportRouteFilter(formats strfmt.Registry) error { + if swag.IsZero(m.DefaultExportRouteFilter) { // not required + return nil + } + + // value enum + if err := m.validateDefaultExportRouteFilterEnum("defaultExportRouteFilter", "body", *m.DefaultExportRouteFilter); err != nil { + return err + } + + return nil +} + +var networkPeerCreateTypeDefaultImportRouteFilterPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerCreateTypeDefaultImportRouteFilterPropEnum = append(networkPeerCreateTypeDefaultImportRouteFilterPropEnum, v) + } +} + +const ( + + // NetworkPeerCreateDefaultImportRouteFilterAllow captures enum value "allow" + NetworkPeerCreateDefaultImportRouteFilterAllow string = "allow" + + // NetworkPeerCreateDefaultImportRouteFilterDeny captures enum value "deny" + NetworkPeerCreateDefaultImportRouteFilterDeny string = "deny" +) + +// prop value enum +func (m *NetworkPeerCreate) validateDefaultImportRouteFilterEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerCreateTypeDefaultImportRouteFilterPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeerCreate) validateDefaultImportRouteFilter(formats strfmt.Registry) error { + if swag.IsZero(m.DefaultImportRouteFilter) { // not required + return nil + } + + // value enum + if err := m.validateDefaultImportRouteFilterEnum("defaultImportRouteFilter", "body", *m.DefaultImportRouteFilter); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeerCreate) validateIbmASN(formats strfmt.Registry) error { + + if err := validate.Required("ibmASN", "body", m.IbmASN); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeerCreate) validateIbmCidr(formats strfmt.Registry) error { + + if err := validate.Required("ibmCidr", "body", m.IbmCidr); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeerCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeerCreate) validatePeerInterfaceID(formats strfmt.Registry) error { + + if err := validate.Required("peerInterfaceID", "body", m.PeerInterfaceID); err != nil { + return err + } + + return nil +} + +var networkPeerCreateTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dcnetwork_bgp"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerCreateTypeTypePropEnum = append(networkPeerCreateTypeTypePropEnum, v) + } +} + +const ( + + // NetworkPeerCreateTypeDcnetworkBgp captures enum value "dcnetwork_bgp" + NetworkPeerCreateTypeDcnetworkBgp string = "dcnetwork_bgp" +) + +// prop value enum +func (m *NetworkPeerCreate) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerCreateTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeerCreate) validateType(formats strfmt.Registry) error { + if swag.IsZero(m.Type) { // not required + return nil + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +func (m *NetworkPeerCreate) validateVlan(formats strfmt.Registry) error { + + if err := validate.Required("vlan", "body", m.Vlan); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network peer create based on context it is used +func (m *NetworkPeerCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPeerCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPeerCreate) UnmarshalBinary(b []byte) error { + var res NetworkPeerCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_type.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_type.go new file mode 100644 index 000000000..0e16784b7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_type.go @@ -0,0 +1,81 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// NetworkPeerType Type of the network peer +// +// swagger:model NetworkPeerType +type NetworkPeerType string + +func NewNetworkPeerType(value NetworkPeerType) *NetworkPeerType { + return &value +} + +// Pointer returns a pointer to a freshly-allocated NetworkPeerType. +func (m NetworkPeerType) Pointer() *NetworkPeerType { + return &m +} + +const ( + + // NetworkPeerTypeL2 captures enum value "L2" + NetworkPeerTypeL2 NetworkPeerType = "L2" + + // NetworkPeerTypeL3BGP captures enum value "L3BGP" + NetworkPeerTypeL3BGP NetworkPeerType = "L3BGP" + + // NetworkPeerTypeL3Static captures enum value "L3Static" + NetworkPeerTypeL3Static NetworkPeerType = "L3Static" +) + +// for schema +var networkPeerTypeEnum []any + +func init() { + var res []NetworkPeerType + if err := json.Unmarshal([]byte(`["L2","L3BGP","L3Static"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerTypeEnum = append(networkPeerTypeEnum, v) + } +} + +func (m NetworkPeerType) validateNetworkPeerTypeEnum(path, location string, value NetworkPeerType) error { + if err := validate.EnumCase(path, location, value, networkPeerTypeEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this network peer type +func (m NetworkPeerType) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateNetworkPeerTypeEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this network peer type based on context it is used +func (m NetworkPeerType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_update.go new file mode 100644 index 000000000..3a476371f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peer_update.go @@ -0,0 +1,241 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkPeerUpdate network peer update parameters +// +// swagger:model NetworkPeerUpdate +type NetworkPeerUpdate struct { + + // ASN number at customer network side + // Example: 64512 + CustomerASN *int64 `json:"customerASN,omitempty"` + + // IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + // Example: 192.168.91.2/30 + CustomerCidr *string `json:"customerCidr,omitempty"` + + // default action for export route filter + // * allow: allow + // * deny: deny + // + // Example: allow + // Enum: ["allow","deny"] + DefaultExportRouteFilter *string `json:"defaultExportRouteFilter,omitempty"` + + // default action for import route filter + // * allow: allow + // * deny: deny + // + // Example: allow + // Enum: ["allow","deny"] + DefaultImportRouteFilter *string `json:"defaultImportRouteFilter,omitempty"` + + // ASN number at IBM PowerVS side + // Example: 64512 + IbmASN *int64 `json:"ibmASN,omitempty"` + + // IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + // Example: 192.168.91.1/30 + IbmCidr *string `json:"ibmCidr,omitempty"` + + // user defined name + // Example: newPeerNetwork + Name *string `json:"name,omitempty"` + + // peer interface id. use API '/v1/network-peers/interfaces' to get a list of valid peer interface id + // Example: 031ab7da-bca6-493f-ac55-1a2a26f19160 + PeerInterfaceID *string `json:"peerInterfaceID,omitempty"` + + // type of the peer network + // * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network + // + // Example: dcnetwork_bgp + // Enum: ["dcnetwork_bgp"] + Type *string `json:"type,omitempty"` + + // A vlan configured at the customer network. + // Example: 2000 + Vlan *int64 `json:"vlan,omitempty"` +} + +// Validate validates this network peer update +func (m *NetworkPeerUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDefaultExportRouteFilter(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDefaultImportRouteFilter(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var networkPeerUpdateTypeDefaultExportRouteFilterPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerUpdateTypeDefaultExportRouteFilterPropEnum = append(networkPeerUpdateTypeDefaultExportRouteFilterPropEnum, v) + } +} + +const ( + + // NetworkPeerUpdateDefaultExportRouteFilterAllow captures enum value "allow" + NetworkPeerUpdateDefaultExportRouteFilterAllow string = "allow" + + // NetworkPeerUpdateDefaultExportRouteFilterDeny captures enum value "deny" + NetworkPeerUpdateDefaultExportRouteFilterDeny string = "deny" +) + +// prop value enum +func (m *NetworkPeerUpdate) validateDefaultExportRouteFilterEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerUpdateTypeDefaultExportRouteFilterPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeerUpdate) validateDefaultExportRouteFilter(formats strfmt.Registry) error { + if swag.IsZero(m.DefaultExportRouteFilter) { // not required + return nil + } + + // value enum + if err := m.validateDefaultExportRouteFilterEnum("defaultExportRouteFilter", "body", *m.DefaultExportRouteFilter); err != nil { + return err + } + + return nil +} + +var networkPeerUpdateTypeDefaultImportRouteFilterPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerUpdateTypeDefaultImportRouteFilterPropEnum = append(networkPeerUpdateTypeDefaultImportRouteFilterPropEnum, v) + } +} + +const ( + + // NetworkPeerUpdateDefaultImportRouteFilterAllow captures enum value "allow" + NetworkPeerUpdateDefaultImportRouteFilterAllow string = "allow" + + // NetworkPeerUpdateDefaultImportRouteFilterDeny captures enum value "deny" + NetworkPeerUpdateDefaultImportRouteFilterDeny string = "deny" +) + +// prop value enum +func (m *NetworkPeerUpdate) validateDefaultImportRouteFilterEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerUpdateTypeDefaultImportRouteFilterPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeerUpdate) validateDefaultImportRouteFilter(formats strfmt.Registry) error { + if swag.IsZero(m.DefaultImportRouteFilter) { // not required + return nil + } + + // value enum + if err := m.validateDefaultImportRouteFilterEnum("defaultImportRouteFilter", "body", *m.DefaultImportRouteFilter); err != nil { + return err + } + + return nil +} + +var networkPeerUpdateTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dcnetwork_bgp"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkPeerUpdateTypeTypePropEnum = append(networkPeerUpdateTypeTypePropEnum, v) + } +} + +const ( + + // NetworkPeerUpdateTypeDcnetworkBgp captures enum value "dcnetwork_bgp" + NetworkPeerUpdateTypeDcnetworkBgp string = "dcnetwork_bgp" +) + +// prop value enum +func (m *NetworkPeerUpdate) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkPeerUpdateTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkPeerUpdate) validateType(formats strfmt.Registry) error { + if swag.IsZero(m.Type) { // not required + return nil + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network peer update based on context it is used +func (m *NetworkPeerUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPeerUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPeerUpdate) UnmarshalBinary(b []byte) error { + var res NetworkPeerUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peers.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peers.go new file mode 100644 index 000000000..49d6ebc91 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_peers.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkPeers network peers +// +// swagger:model NetworkPeers +type NetworkPeers struct { + + // List of network peers + // Required: true + NetworkPeers []*NetworkPeer `json:"networkPeers"` +} + +// Validate validates this network peers +func (m *NetworkPeers) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateNetworkPeers(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPeers) validateNetworkPeers(formats strfmt.Registry) error { + + if err := validate.Required("networkPeers", "body", m.NetworkPeers); err != nil { + return err + } + + for i := 0; i < len(m.NetworkPeers); i++ { + if swag.IsZero(m.NetworkPeers[i]) { // not required + continue + } + + if m.NetworkPeers[i] != nil { + if err := m.NetworkPeers[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkPeers" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkPeers" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this network peers based on the context it is used +func (m *NetworkPeers) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetworkPeers(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPeers) contextValidateNetworkPeers(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.NetworkPeers); i++ { + + if m.NetworkPeers[i] != nil { + + if swag.IsZero(m.NetworkPeers[i]) { // not required + return nil + } + + if err := m.NetworkPeers[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkPeers" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkPeers" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPeers) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPeers) UnmarshalBinary(b []byte) error { + var res NetworkPeers + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port.go new file mode 100644 index 000000000..34060c26b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port.go @@ -0,0 +1,250 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkPort network port +// +// swagger:model NetworkPort +type NetworkPort struct { + + // Description of the port (not unique or indexable) + // Required: true + Description *string `json:"description"` + + // The external ip address (for pub-vlan networks) + ExternalIP string `json:"externalIP,omitempty"` + + // Link to port resource + Href string `json:"href,omitempty"` + + // The ip address of this port + // Required: true + IPAddress *string `json:"ipAddress"` + + // The mac address of the network interface + // Required: true + MacAddress *string `json:"macAddress"` + + // The unique Port ID + // Required: true + PortID *string `json:"portID"` + + // pvm instance + PvmInstance *NetworkPortPvmInstance `json:"pvmInstance,omitempty"` + + // Te + // Required: true + Status *string `json:"status"` +} + +// Validate validates this network port +func (m *NetworkPort) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMacAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePortID(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstance(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPort) validateDescription(formats strfmt.Registry) error { + + if err := validate.Required("description", "body", m.Description); err != nil { + return err + } + + return nil +} + +func (m *NetworkPort) validateIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("ipAddress", "body", m.IPAddress); err != nil { + return err + } + + return nil +} + +func (m *NetworkPort) validateMacAddress(formats strfmt.Registry) error { + + if err := validate.Required("macAddress", "body", m.MacAddress); err != nil { + return err + } + + return nil +} + +func (m *NetworkPort) validatePortID(formats strfmt.Registry) error { + + if err := validate.Required("portID", "body", m.PortID); err != nil { + return err + } + + return nil +} + +func (m *NetworkPort) validatePvmInstance(formats strfmt.Registry) error { + if swag.IsZero(m.PvmInstance) { // not required + return nil + } + + if m.PvmInstance != nil { + if err := m.PvmInstance.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstance") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstance") + } + + return err + } + } + + return nil +} + +func (m *NetworkPort) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this network port based on the context it is used +func (m *NetworkPort) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePvmInstance(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPort) contextValidatePvmInstance(ctx context.Context, formats strfmt.Registry) error { + + if m.PvmInstance != nil { + + if swag.IsZero(m.PvmInstance) { // not required + return nil + } + + if err := m.PvmInstance.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstance") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstance") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPort) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPort) UnmarshalBinary(b []byte) error { + var res NetworkPort + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} + +// NetworkPortPvmInstance The attached pvm-instance to this port +// +// swagger:model NetworkPortPvmInstance +type NetworkPortPvmInstance struct { + + // Link to pvm-instance resource + Href string `json:"href,omitempty"` + + // The attached pvm-instance ID + PvmInstanceID string `json:"pvmInstanceID,omitempty"` +} + +// Validate validates this network port pvm instance +func (m *NetworkPortPvmInstance) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network port pvm instance based on context it is used +func (m *NetworkPortPvmInstance) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPortPvmInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPortPvmInstance) UnmarshalBinary(b []byte) error { + var res NetworkPortPvmInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port_create.go new file mode 100644 index 000000000..685f0531b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port_create.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkPortCreate network port create +// +// swagger:model NetworkPortCreate +type NetworkPortCreate struct { + + // Description of the port (not unique or indexable) + Description string `json:"description,omitempty"` + + // The requested ip address of this port + IPAddress string `json:"ipAddress,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this network port create +func (m *NetworkPortCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPortCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this network port create based on the context it is used +func (m *NetworkPortCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPortCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPortCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPortCreate) UnmarshalBinary(b []byte) error { + var res NetworkPortCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port_update.go new file mode 100644 index 000000000..6b438efb7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_port_update.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkPortUpdate network port update +// +// swagger:model NetworkPortUpdate +type NetworkPortUpdate struct { + + // Description of the port (not unique or indexable) + Description *string `json:"description,omitempty"` + + // If supplied populated it attaches to the PVMInstanceID, if empty detaches from PVMInstanceID + PvmInstanceID *string `json:"pvmInstanceID,omitempty"` +} + +// Validate validates this network port update +func (m *NetworkPortUpdate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network port update based on context it is used +func (m *NetworkPortUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPortUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPortUpdate) UnmarshalBinary(b []byte) error { + var res NetworkPortUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_ports.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_ports.go new file mode 100644 index 000000000..424148ae1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_ports.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkPorts network ports +// +// swagger:model NetworkPorts +type NetworkPorts struct { + + // Network Ports + // Required: true + Ports []*NetworkPort `json:"ports"` +} + +// Validate validates this network ports +func (m *NetworkPorts) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePorts(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPorts) validatePorts(formats strfmt.Registry) error { + + if err := validate.Required("ports", "body", m.Ports); err != nil { + return err + } + + for i := 0; i < len(m.Ports); i++ { + if swag.IsZero(m.Ports[i]) { // not required + continue + } + + if m.Ports[i] != nil { + if err := m.Ports[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ports" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ports" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this network ports based on the context it is used +func (m *NetworkPorts) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePorts(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkPorts) contextValidatePorts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Ports); i++ { + + if m.Ports[i] != nil { + + if swag.IsZero(m.Ports[i]) { // not required + return nil + } + + if err := m.Ports[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ports" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ports" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkPorts) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkPorts) UnmarshalBinary(b []byte) error { + var res NetworkPorts + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_reference.go new file mode 100644 index 000000000..1d859eb03 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_reference.go @@ -0,0 +1,409 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkReference network reference +// +// swagger:model NetworkReference +type NetworkReference struct { + + // access config + AccessConfig AccessConfig `json:"accessConfig,omitempty"` + + // Indicates if the network is advertised externally of the workspace to PER and\or peer networks + // Enum: ["enable","disable"] + Advertise string `json:"advertise,omitempty"` + + // Indicates if the ARP broadcast is enabled + // Enum: ["enable","disable"] + ArpBroadcast string `json:"arpBroadcast,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // DHCP Managed Network + DhcpManaged bool `json:"dhcpManaged,omitempty"` + + // Link to Network resource + // Required: true + Href *string `json:"href"` + + // (deprecated - replaced by mtu) Enable MTU Jumbo Network (for multi-zone locations only) + Jumbo bool `json:"jumbo,omitempty"` + + // Maximum transmission unit + // Maximum: 9000 + // Minimum: 1450 + Mtu *int64 `json:"mtu,omitempty"` + + // Network Name + // Required: true + Name *string `json:"name"` + + // Unique Network ID + // Required: true + NetworkID *string `json:"networkID"` + + // [DEPRECATED] Network Peer ID + PeerID string `json:"peerID,omitempty"` + + // Type of Network - 'vlan' (private network) 'pub-vlan' (public network) 'dhcp-vlan' (for satellite locations only) + // Required: true + // Enum: ["vlan","pub-vlan","dhcp-vlan"] + Type *string `json:"type"` + + // VLAN ID + // Required: true + VlanID *float64 `json:"vlanID"` +} + +// Validate validates this network reference +func (m *NetworkReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccessConfig(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAdvertise(formats); err != nil { + res = append(res, err) + } + + if err := m.validateArpBroadcast(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMtu(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworkID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVlanID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkReference) validateAccessConfig(formats strfmt.Registry) error { + if swag.IsZero(m.AccessConfig) { // not required + return nil + } + + if err := m.AccessConfig.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("accessConfig") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("accessConfig") + } + return err + } + + return nil +} + +var networkReferenceTypeAdvertisePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkReferenceTypeAdvertisePropEnum = append(networkReferenceTypeAdvertisePropEnum, v) + } +} + +const ( + + // NetworkReferenceAdvertiseEnable captures enum value "enable" + NetworkReferenceAdvertiseEnable string = "enable" + + // NetworkReferenceAdvertiseDisable captures enum value "disable" + NetworkReferenceAdvertiseDisable string = "disable" +) + +// prop value enum +func (m *NetworkReference) validateAdvertiseEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkReferenceTypeAdvertisePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkReference) validateAdvertise(formats strfmt.Registry) error { + if swag.IsZero(m.Advertise) { // not required + return nil + } + + // value enum + if err := m.validateAdvertiseEnum("advertise", "body", m.Advertise); err != nil { + return err + } + + return nil +} + +var networkReferenceTypeArpBroadcastPropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkReferenceTypeArpBroadcastPropEnum = append(networkReferenceTypeArpBroadcastPropEnum, v) + } +} + +const ( + + // NetworkReferenceArpBroadcastEnable captures enum value "enable" + NetworkReferenceArpBroadcastEnable string = "enable" + + // NetworkReferenceArpBroadcastDisable captures enum value "disable" + NetworkReferenceArpBroadcastDisable string = "disable" +) + +// prop value enum +func (m *NetworkReference) validateArpBroadcastEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkReferenceTypeArpBroadcastPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkReference) validateArpBroadcast(formats strfmt.Registry) error { + if swag.IsZero(m.ArpBroadcast) { // not required + return nil + } + + // value enum + if err := m.validateArpBroadcastEnum("arpBroadcast", "body", m.ArpBroadcast); err != nil { + return err + } + + return nil +} + +func (m *NetworkReference) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("crn") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("crn") + } + return err + } + + return nil +} + +func (m *NetworkReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *NetworkReference) validateMtu(formats strfmt.Registry) error { + if swag.IsZero(m.Mtu) { // not required + return nil + } + + if err := validate.MinimumInt("mtu", "body", *m.Mtu, 1450, false); err != nil { + return err + } + + if err := validate.MaximumInt("mtu", "body", *m.Mtu, 9000, false); err != nil { + return err + } + + return nil +} + +func (m *NetworkReference) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *NetworkReference) validateNetworkID(formats strfmt.Registry) error { + + if err := validate.Required("networkID", "body", m.NetworkID); err != nil { + return err + } + + return nil +} + +var networkReferenceTypeTypePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["vlan","pub-vlan","dhcp-vlan"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkReferenceTypeTypePropEnum = append(networkReferenceTypeTypePropEnum, v) + } +} + +const ( + + // NetworkReferenceTypeVlan captures enum value "vlan" + NetworkReferenceTypeVlan string = "vlan" + + // NetworkReferenceTypePubDashVlan captures enum value "pub-vlan" + NetworkReferenceTypePubDashVlan string = "pub-vlan" + + // NetworkReferenceTypeDhcpDashVlan captures enum value "dhcp-vlan" + NetworkReferenceTypeDhcpDashVlan string = "dhcp-vlan" +) + +// prop value enum +func (m *NetworkReference) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkReferenceTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkReference) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +func (m *NetworkReference) validateVlanID(formats strfmt.Registry) error { + + if err := validate.Required("vlanID", "body", m.VlanID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this network reference based on the context it is used +func (m *NetworkReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAccessConfig(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkReference) contextValidateAccessConfig(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.AccessConfig) { // not required + return nil + } + + if err := m.AccessConfig.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("accessConfig") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("accessConfig") + } + return err + } + + return nil +} + +func (m *NetworkReference) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("crn") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("crn") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkReference) UnmarshalBinary(b []byte) error { + var res NetworkReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group.go new file mode 100644 index 000000000..0f8f82d88 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group.go @@ -0,0 +1,305 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroup network security group +// +// swagger:model NetworkSecurityGroup +type NetworkSecurityGroup struct { + + // The Network Security Group's crn + // Required: true + Crn *string `json:"crn"` + + // Indicates if the Network Security Group is the default Network Security Group in the workspace + Default bool `json:"default,omitempty"` + + // The ID of the Network Security Group + // Required: true + ID *string `json:"id"` + + // The list of IPv4 addresses and\or Network Interfaces in the Network Security Group + Members []*NetworkSecurityGroupMember `json:"members"` + + // The name of the Network Security Group + // Required: true + Name *string `json:"name"` + + // The list of rules in the Network Security Group + Rules []*NetworkSecurityGroupRule `json:"rules"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this network security group +func (m *NetworkSecurityGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMembers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRules(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroup) validateCrn(formats strfmt.Registry) error { + + if err := validate.Required("crn", "body", m.Crn); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroup) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroup) validateMembers(formats strfmt.Registry) error { + if swag.IsZero(m.Members) { // not required + return nil + } + + for i := 0; i < len(m.Members); i++ { + if swag.IsZero(m.Members[i]) { // not required + continue + } + + if m.Members[i] != nil { + if err := m.Members[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("members" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("members" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkSecurityGroup) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroup) validateRules(formats strfmt.Registry) error { + if swag.IsZero(m.Rules) { // not required + return nil + } + + for i := 0; i < len(m.Rules); i++ { + if swag.IsZero(m.Rules[i]) { // not required + continue + } + + if m.Rules[i] != nil { + if err := m.Rules[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("rules" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("rules" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkSecurityGroup) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this network security group based on the context it is used +func (m *NetworkSecurityGroup) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateMembers(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateRules(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroup) contextValidateMembers(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Members); i++ { + + if m.Members[i] != nil { + + if swag.IsZero(m.Members[i]) { // not required + return nil + } + + if err := m.Members[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("members" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("members" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkSecurityGroup) contextValidateRules(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Rules); i++ { + + if m.Rules[i] != nil { + + if swag.IsZero(m.Rules[i]) { // not required + return nil + } + + if err := m.Rules[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("rules" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("rules" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *NetworkSecurityGroup) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroup) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_add_member.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_add_member.go new file mode 100644 index 000000000..292747288 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_add_member.go @@ -0,0 +1,124 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupAddMember network security group add member +// +// swagger:model NetworkSecurityGroupAddMember +type NetworkSecurityGroupAddMember struct { + + // The target member to add. An IP4 address if ipv4-address type or a network interface ID if network-interface type + // Required: true + Target *string `json:"target"` + + // The type of member + // Required: true + // Enum: ["ipv4-address","network-interface"] + Type *string `json:"type"` +} + +// Validate validates this network security group add member +func (m *NetworkSecurityGroupAddMember) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateTarget(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupAddMember) validateTarget(formats strfmt.Registry) error { + + if err := validate.Required("target", "body", m.Target); err != nil { + return err + } + + return nil +} + +var networkSecurityGroupAddMemberTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ipv4-address","network-interface"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupAddMemberTypeTypePropEnum = append(networkSecurityGroupAddMemberTypeTypePropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupAddMemberTypeIPV4DashAddress captures enum value "ipv4-address" + NetworkSecurityGroupAddMemberTypeIPV4DashAddress string = "ipv4-address" + + // NetworkSecurityGroupAddMemberTypeNetworkDashInterface captures enum value "network-interface" + NetworkSecurityGroupAddMemberTypeNetworkDashInterface string = "network-interface" +) + +// prop value enum +func (m *NetworkSecurityGroupAddMember) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupAddMemberTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupAddMember) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network security group add member based on context it is used +func (m *NetworkSecurityGroupAddMember) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupAddMember) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupAddMember) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupAddMember + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_add_rule.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_add_rule.go new file mode 100644 index 000000000..4f518a609 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_add_rule.go @@ -0,0 +1,463 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupAddRule network security group add rule +// +// swagger:model NetworkSecurityGroupAddRule +type NetworkSecurityGroupAddRule struct { + + // The action to take if the rule matches network traffic + // Required: true + // Enum: ["allow","deny"] + Action *string `json:"action"` + + // The destination port for a network security group rule. + DestinationPort *NetworkSecurityGroupRulePort `json:"destinationPort,omitempty"` + + // (deprecated - replaced by destinationPort) The destination port for a network security group rule. + DestinationPorts *NetworkSecurityGroupRulePort `json:"destinationPorts,omitempty"` + + // protocol + // Required: true + Protocol *NetworkSecurityGroupRuleProtocol `json:"protocol"` + + // remote + // Required: true + Remote *NetworkSecurityGroupRuleRemote `json:"remote"` + + // The source port for a network security group rule. + SourcePort *NetworkSecurityGroupRulePort `json:"sourcePort,omitempty"` + + // (deprecated - replaced by sourcePort) The source port for a network security group rule. + SourcePorts *NetworkSecurityGroupRulePort `json:"sourcePorts,omitempty"` +} + +// Validate validates this network security group add rule +func (m *NetworkSecurityGroupAddRule) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestinationPort(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestinationPorts(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProtocol(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRemote(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSourcePort(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSourcePorts(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var networkSecurityGroupAddRuleTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupAddRuleTypeActionPropEnum = append(networkSecurityGroupAddRuleTypeActionPropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupAddRuleActionAllow captures enum value "allow" + NetworkSecurityGroupAddRuleActionAllow string = "allow" + + // NetworkSecurityGroupAddRuleActionDeny captures enum value "deny" + NetworkSecurityGroupAddRuleActionDeny string = "deny" +) + +// prop value enum +func (m *NetworkSecurityGroupAddRule) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupAddRuleTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupAddRule) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) validateDestinationPort(formats strfmt.Registry) error { + if swag.IsZero(m.DestinationPort) { // not required + return nil + } + + if m.DestinationPort != nil { + if err := m.DestinationPort.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("destinationPort") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("destinationPort") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) validateDestinationPorts(formats strfmt.Registry) error { + if swag.IsZero(m.DestinationPorts) { // not required + return nil + } + + if m.DestinationPorts != nil { + if err := m.DestinationPorts.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("destinationPorts") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("destinationPorts") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) validateProtocol(formats strfmt.Registry) error { + + if err := validate.Required("protocol", "body", m.Protocol); err != nil { + return err + } + + if m.Protocol != nil { + if err := m.Protocol.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("protocol") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("protocol") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) validateRemote(formats strfmt.Registry) error { + + if err := validate.Required("remote", "body", m.Remote); err != nil { + return err + } + + if m.Remote != nil { + if err := m.Remote.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("remote") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("remote") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) validateSourcePort(formats strfmt.Registry) error { + if swag.IsZero(m.SourcePort) { // not required + return nil + } + + if m.SourcePort != nil { + if err := m.SourcePort.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sourcePort") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sourcePort") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) validateSourcePorts(formats strfmt.Registry) error { + if swag.IsZero(m.SourcePorts) { // not required + return nil + } + + if m.SourcePorts != nil { + if err := m.SourcePorts.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sourcePorts") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sourcePorts") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this network security group add rule based on the context it is used +func (m *NetworkSecurityGroupAddRule) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDestinationPort(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateDestinationPorts(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateProtocol(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateRemote(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSourcePort(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSourcePorts(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupAddRule) contextValidateDestinationPort(ctx context.Context, formats strfmt.Registry) error { + + if m.DestinationPort != nil { + + if swag.IsZero(m.DestinationPort) { // not required + return nil + } + + if err := m.DestinationPort.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("destinationPort") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("destinationPort") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) contextValidateDestinationPorts(ctx context.Context, formats strfmt.Registry) error { + + if m.DestinationPorts != nil { + + if swag.IsZero(m.DestinationPorts) { // not required + return nil + } + + if err := m.DestinationPorts.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("destinationPorts") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("destinationPorts") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) contextValidateProtocol(ctx context.Context, formats strfmt.Registry) error { + + if m.Protocol != nil { + + if err := m.Protocol.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("protocol") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("protocol") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) contextValidateRemote(ctx context.Context, formats strfmt.Registry) error { + + if m.Remote != nil { + + if err := m.Remote.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("remote") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("remote") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) contextValidateSourcePort(ctx context.Context, formats strfmt.Registry) error { + + if m.SourcePort != nil { + + if swag.IsZero(m.SourcePort) { // not required + return nil + } + + if err := m.SourcePort.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sourcePort") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sourcePort") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupAddRule) contextValidateSourcePorts(ctx context.Context, formats strfmt.Registry) error { + + if m.SourcePorts != nil { + + if swag.IsZero(m.SourcePorts) { // not required + return nil + } + + if err := m.SourcePorts.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sourcePorts") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sourcePorts") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupAddRule) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupAddRule) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupAddRule + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_clone.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_clone.go new file mode 100644 index 000000000..b2b5fbe1a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_clone.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupClone network security group clone +// +// swagger:model NetworkSecurityGroupClone +type NetworkSecurityGroupClone struct { + + // The name of the cloned network security group + // Required: true + Name *string `json:"name"` +} + +// Validate validates this network security group clone +func (m *NetworkSecurityGroupClone) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupClone) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network security group clone based on context it is used +func (m *NetworkSecurityGroupClone) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupClone) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupClone) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupClone + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_create.go new file mode 100644 index 000000000..07c1c6e60 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_create.go @@ -0,0 +1,127 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupCreate network security group create +// +// swagger:model NetworkSecurityGroupCreate +type NetworkSecurityGroupCreate struct { + + // The name of the Network Security Group + // Required: true + Name *string `json:"name"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this network security group create +func (m *NetworkSecurityGroupCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroupCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this network security group create based on the context it is used +func (m *NetworkSecurityGroupCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupCreate) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_member.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_member.go new file mode 100644 index 000000000..27589a1d9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_member.go @@ -0,0 +1,147 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupMember network security group member +// +// swagger:model NetworkSecurityGroupMember +type NetworkSecurityGroupMember struct { + + // The ID of the member in a Network Security Group + // Required: true + ID *string `json:"id"` + + // The mac address of a Network Interface included if the type is network-interface + MacAddress string `json:"macAddress,omitempty"` + + // The network ID of a Network Interface included if the type is network-interface + NetworkInterfaceNetworkID string `json:"networkInterfaceNetworkID,omitempty"` + + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID + // Required: true + Target *string `json:"target"` + + // The type of member + // Required: true + // Enum: ["ipv4-address","network-interface"] + Type *string `json:"type"` +} + +// Validate validates this network security group member +func (m *NetworkSecurityGroupMember) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTarget(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupMember) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroupMember) validateTarget(formats strfmt.Registry) error { + + if err := validate.Required("target", "body", m.Target); err != nil { + return err + } + + return nil +} + +var networkSecurityGroupMemberTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ipv4-address","network-interface"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupMemberTypeTypePropEnum = append(networkSecurityGroupMemberTypeTypePropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupMemberTypeIPV4DashAddress captures enum value "ipv4-address" + NetworkSecurityGroupMemberTypeIPV4DashAddress string = "ipv4-address" + + // NetworkSecurityGroupMemberTypeNetworkDashInterface captures enum value "network-interface" + NetworkSecurityGroupMemberTypeNetworkDashInterface string = "network-interface" +) + +// prop value enum +func (m *NetworkSecurityGroupMember) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupMemberTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupMember) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network security group member based on context it is used +func (m *NetworkSecurityGroupMember) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupMember) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupMember) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupMember + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_move_member.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_move_member.go new file mode 100644 index 000000000..8ab6cfa52 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_move_member.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupMoveMember network security group move member +// +// swagger:model NetworkSecurityGroupMoveMember +type NetworkSecurityGroupMoveMember struct { + + // The member to move + // Required: true + MemberID *string `json:"MemberID"` + + // The ID of the Network Security Group the member will be moved to + // Required: true + NetworkSecurityGroupID *string `json:"NetworkSecurityGroupId"` +} + +// Validate validates this network security group move member +func (m *NetworkSecurityGroupMoveMember) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMemberID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworkSecurityGroupID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupMoveMember) validateMemberID(formats strfmt.Registry) error { + + if err := validate.Required("MemberID", "body", m.MemberID); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroupMoveMember) validateNetworkSecurityGroupID(formats strfmt.Registry) error { + + if err := validate.Required("NetworkSecurityGroupId", "body", m.NetworkSecurityGroupID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network security group move member based on context it is used +func (m *NetworkSecurityGroupMoveMember) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupMoveMember) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupMoveMember) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupMoveMember + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule.go new file mode 100644 index 000000000..1561b2cfa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule.go @@ -0,0 +1,362 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupRule network security group rule +// +// swagger:model NetworkSecurityGroupRule +type NetworkSecurityGroupRule struct { + + // The action to take if the rule matches network traffic + // Required: true + // Enum: ["allow","deny"] + Action *string `json:"action"` + + // destination port + DestinationPort *NetworkSecurityGroupRulePort `json:"destinationPort,omitempty"` + + // The ID of the rule in a Network Security Group + // Required: true + ID *string `json:"id"` + + // protocol + // Required: true + Protocol *NetworkSecurityGroupRuleProtocol `json:"protocol"` + + // remote + // Required: true + Remote *NetworkSecurityGroupRuleRemote `json:"remote"` + + // source port + SourcePort *NetworkSecurityGroupRulePort `json:"sourcePort,omitempty"` +} + +// Validate validates this network security group rule +func (m *NetworkSecurityGroupRule) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestinationPort(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProtocol(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRemote(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSourcePort(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var networkSecurityGroupRuleTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupRuleTypeActionPropEnum = append(networkSecurityGroupRuleTypeActionPropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupRuleActionAllow captures enum value "allow" + NetworkSecurityGroupRuleActionAllow string = "allow" + + // NetworkSecurityGroupRuleActionDeny captures enum value "deny" + NetworkSecurityGroupRuleActionDeny string = "deny" +) + +// prop value enum +func (m *NetworkSecurityGroupRule) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupRuleTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupRule) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroupRule) validateDestinationPort(formats strfmt.Registry) error { + if swag.IsZero(m.DestinationPort) { // not required + return nil + } + + if m.DestinationPort != nil { + if err := m.DestinationPort.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("destinationPort") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("destinationPort") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupRule) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroupRule) validateProtocol(formats strfmt.Registry) error { + + if err := validate.Required("protocol", "body", m.Protocol); err != nil { + return err + } + + if m.Protocol != nil { + if err := m.Protocol.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("protocol") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("protocol") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupRule) validateRemote(formats strfmt.Registry) error { + + if err := validate.Required("remote", "body", m.Remote); err != nil { + return err + } + + if m.Remote != nil { + if err := m.Remote.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("remote") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("remote") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupRule) validateSourcePort(formats strfmt.Registry) error { + if swag.IsZero(m.SourcePort) { // not required + return nil + } + + if m.SourcePort != nil { + if err := m.SourcePort.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sourcePort") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sourcePort") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this network security group rule based on the context it is used +func (m *NetworkSecurityGroupRule) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDestinationPort(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateProtocol(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateRemote(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSourcePort(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupRule) contextValidateDestinationPort(ctx context.Context, formats strfmt.Registry) error { + + if m.DestinationPort != nil { + + if swag.IsZero(m.DestinationPort) { // not required + return nil + } + + if err := m.DestinationPort.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("destinationPort") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("destinationPort") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupRule) contextValidateProtocol(ctx context.Context, formats strfmt.Registry) error { + + if m.Protocol != nil { + + if err := m.Protocol.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("protocol") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("protocol") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupRule) contextValidateRemote(ctx context.Context, formats strfmt.Registry) error { + + if m.Remote != nil { + + if err := m.Remote.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("remote") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("remote") + } + + return err + } + } + + return nil +} + +func (m *NetworkSecurityGroupRule) contextValidateSourcePort(ctx context.Context, formats strfmt.Registry) error { + + if m.SourcePort != nil { + + if swag.IsZero(m.SourcePort) { // not required + return nil + } + + if err := m.SourcePort.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sourcePort") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sourcePort") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupRule) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupRule) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupRule + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_port.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_port.go new file mode 100644 index 000000000..296b98ab4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_port.go @@ -0,0 +1,94 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupRulePort network security group rule port +// +// swagger:model NetworkSecurityGroupRulePort +type NetworkSecurityGroupRulePort struct { + + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + // Maximum: 65535 + Maximum int64 `json:"maximum,omitempty"` + + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + // Minimum: 1 + Minimum int64 `json:"minimum,omitempty"` +} + +// Validate validates this network security group rule port +func (m *NetworkSecurityGroupRulePort) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMaximum(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMinimum(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupRulePort) validateMaximum(formats strfmt.Registry) error { + if swag.IsZero(m.Maximum) { // not required + return nil + } + + if err := validate.MaximumInt("maximum", "body", m.Maximum, 65535, false); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroupRulePort) validateMinimum(formats strfmt.Registry) error { + if swag.IsZero(m.Minimum) { // not required + return nil + } + + if err := validate.MinimumInt("minimum", "body", m.Minimum, 1, false); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network security group rule port based on context it is used +func (m *NetworkSecurityGroupRulePort) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupRulePort) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupRulePort) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupRulePort + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_protocol.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_protocol.go new file mode 100644 index 000000000..6f4f14b3c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_protocol.go @@ -0,0 +1,250 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupRuleProtocol network security group rule protocol +// +// swagger:model NetworkSecurityGroupRuleProtocol +type NetworkSecurityGroupRuleProtocol struct { + + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched + // Enum: ["all","echo","echo-reply","source-quench","time-exceeded","destination-unreach"] + IcmpType *string `json:"icmpType,omitempty"` + + // If tcp type, the list of TCP flags and if not present then all flags are matched + TCPFlags []*NetworkSecurityGroupRuleProtocolTCPFlag `json:"tcpFlags"` + + // The protocol of the network traffic + // Enum: ["icmp","tcp","udp","all"] + Type string `json:"type,omitempty"` +} + +// Validate validates this network security group rule protocol +func (m *NetworkSecurityGroupRuleProtocol) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateIcmpType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTCPFlags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var networkSecurityGroupRuleProtocolTypeIcmpTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["all","echo","echo-reply","source-quench","time-exceeded","destination-unreach"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupRuleProtocolTypeIcmpTypePropEnum = append(networkSecurityGroupRuleProtocolTypeIcmpTypePropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupRuleProtocolIcmpTypeAll captures enum value "all" + NetworkSecurityGroupRuleProtocolIcmpTypeAll string = "all" + + // NetworkSecurityGroupRuleProtocolIcmpTypeEcho captures enum value "echo" + NetworkSecurityGroupRuleProtocolIcmpTypeEcho string = "echo" + + // NetworkSecurityGroupRuleProtocolIcmpTypeEchoDashReply captures enum value "echo-reply" + NetworkSecurityGroupRuleProtocolIcmpTypeEchoDashReply string = "echo-reply" + + // NetworkSecurityGroupRuleProtocolIcmpTypeSourceDashQuench captures enum value "source-quench" + NetworkSecurityGroupRuleProtocolIcmpTypeSourceDashQuench string = "source-quench" + + // NetworkSecurityGroupRuleProtocolIcmpTypeTimeDashExceeded captures enum value "time-exceeded" + NetworkSecurityGroupRuleProtocolIcmpTypeTimeDashExceeded string = "time-exceeded" + + // NetworkSecurityGroupRuleProtocolIcmpTypeDestinationDashUnreach captures enum value "destination-unreach" + NetworkSecurityGroupRuleProtocolIcmpTypeDestinationDashUnreach string = "destination-unreach" +) + +// prop value enum +func (m *NetworkSecurityGroupRuleProtocol) validateIcmpTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupRuleProtocolTypeIcmpTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupRuleProtocol) validateIcmpType(formats strfmt.Registry) error { + if swag.IsZero(m.IcmpType) { // not required + return nil + } + + // value enum + if err := m.validateIcmpTypeEnum("icmpType", "body", *m.IcmpType); err != nil { + return err + } + + return nil +} + +func (m *NetworkSecurityGroupRuleProtocol) validateTCPFlags(formats strfmt.Registry) error { + if swag.IsZero(m.TCPFlags) { // not required + return nil + } + + for i := 0; i < len(m.TCPFlags); i++ { + if swag.IsZero(m.TCPFlags[i]) { // not required + continue + } + + if m.TCPFlags[i] != nil { + if err := m.TCPFlags[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("tcpFlags" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("tcpFlags" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +var networkSecurityGroupRuleProtocolTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["icmp","tcp","udp","all"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupRuleProtocolTypeTypePropEnum = append(networkSecurityGroupRuleProtocolTypeTypePropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupRuleProtocolTypeIcmp captures enum value "icmp" + NetworkSecurityGroupRuleProtocolTypeIcmp string = "icmp" + + // NetworkSecurityGroupRuleProtocolTypeTCP captures enum value "tcp" + NetworkSecurityGroupRuleProtocolTypeTCP string = "tcp" + + // NetworkSecurityGroupRuleProtocolTypeUDP captures enum value "udp" + NetworkSecurityGroupRuleProtocolTypeUDP string = "udp" + + // NetworkSecurityGroupRuleProtocolTypeAll captures enum value "all" + NetworkSecurityGroupRuleProtocolTypeAll string = "all" +) + +// prop value enum +func (m *NetworkSecurityGroupRuleProtocol) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupRuleProtocolTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupRuleProtocol) validateType(formats strfmt.Registry) error { + if swag.IsZero(m.Type) { // not required + return nil + } + + // value enum + if err := m.validateTypeEnum("type", "body", m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this network security group rule protocol based on the context it is used +func (m *NetworkSecurityGroupRuleProtocol) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateTCPFlags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroupRuleProtocol) contextValidateTCPFlags(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.TCPFlags); i++ { + + if m.TCPFlags[i] != nil { + + if swag.IsZero(m.TCPFlags[i]) { // not required + return nil + } + + if err := m.TCPFlags[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("tcpFlags" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("tcpFlags" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupRuleProtocol) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupRuleProtocol) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupRuleProtocol + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_protocol_tcp_flag.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_protocol_tcp_flag.go new file mode 100644 index 000000000..dc49c3b4a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_protocol_tcp_flag.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupRuleProtocolTCPFlag network security group rule protocol Tcp flag +// +// swagger:model NetworkSecurityGroupRuleProtocolTcpFlag +type NetworkSecurityGroupRuleProtocolTCPFlag struct { + + // TCP flag + // Enum: ["syn","ack","fin","rst"] + Flag string `json:"flag,omitempty"` +} + +// Validate validates this network security group rule protocol Tcp flag +func (m *NetworkSecurityGroupRuleProtocolTCPFlag) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateFlag(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var networkSecurityGroupRuleProtocolTcpFlagTypeFlagPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["syn","ack","fin","rst"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupRuleProtocolTcpFlagTypeFlagPropEnum = append(networkSecurityGroupRuleProtocolTcpFlagTypeFlagPropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupRuleProtocolTCPFlagFlagSyn captures enum value "syn" + NetworkSecurityGroupRuleProtocolTCPFlagFlagSyn string = "syn" + + // NetworkSecurityGroupRuleProtocolTCPFlagFlagAck captures enum value "ack" + NetworkSecurityGroupRuleProtocolTCPFlagFlagAck string = "ack" + + // NetworkSecurityGroupRuleProtocolTCPFlagFlagFin captures enum value "fin" + NetworkSecurityGroupRuleProtocolTCPFlagFlagFin string = "fin" + + // NetworkSecurityGroupRuleProtocolTCPFlagFlagRst captures enum value "rst" + NetworkSecurityGroupRuleProtocolTCPFlagFlagRst string = "rst" +) + +// prop value enum +func (m *NetworkSecurityGroupRuleProtocolTCPFlag) validateFlagEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupRuleProtocolTcpFlagTypeFlagPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupRuleProtocolTCPFlag) validateFlag(formats strfmt.Registry) error { + if swag.IsZero(m.Flag) { // not required + return nil + } + + // value enum + if err := m.validateFlagEnum("flag", "body", m.Flag); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network security group rule protocol Tcp flag based on context it is used +func (m *NetworkSecurityGroupRuleProtocolTCPFlag) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupRuleProtocolTCPFlag) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupRuleProtocolTCPFlag) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupRuleProtocolTCPFlag + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_remote.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_remote.go new file mode 100644 index 000000000..07932e145 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_rule_remote.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupRuleRemote network security group rule remote +// +// swagger:model NetworkSecurityGroupRuleRemote +type NetworkSecurityGroupRuleRemote struct { + + // The ID of the remote Network Address Group or Network Security Group the rules apply to. Not required for default-network-address-group + ID string `json:"id,omitempty"` + + // The type of remote group the rules apply to + // Enum: ["network-security-group","network-address-group","default-network-address-group"] + Type string `json:"type,omitempty"` +} + +// Validate validates this network security group rule remote +func (m *NetworkSecurityGroupRuleRemote) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var networkSecurityGroupRuleRemoteTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["network-security-group","network-address-group","default-network-address-group"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupRuleRemoteTypeTypePropEnum = append(networkSecurityGroupRuleRemoteTypeTypePropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupRuleRemoteTypeNetworkDashSecurityDashGroup captures enum value "network-security-group" + NetworkSecurityGroupRuleRemoteTypeNetworkDashSecurityDashGroup string = "network-security-group" + + // NetworkSecurityGroupRuleRemoteTypeNetworkDashAddressDashGroup captures enum value "network-address-group" + NetworkSecurityGroupRuleRemoteTypeNetworkDashAddressDashGroup string = "network-address-group" + + // NetworkSecurityGroupRuleRemoteTypeDefaultDashNetworkDashAddressDashGroup captures enum value "default-network-address-group" + NetworkSecurityGroupRuleRemoteTypeDefaultDashNetworkDashAddressDashGroup string = "default-network-address-group" +) + +// prop value enum +func (m *NetworkSecurityGroupRuleRemote) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupRuleRemoteTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupRuleRemote) validateType(formats strfmt.Registry) error { + if swag.IsZero(m.Type) { // not required + return nil + } + + // value enum + if err := m.validateTypeEnum("type", "body", m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network security group rule remote based on context it is used +func (m *NetworkSecurityGroupRuleRemote) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupRuleRemote) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupRuleRemote) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupRuleRemote + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_update.go new file mode 100644 index 000000000..a9d977092 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_group_update.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkSecurityGroupUpdate network security group update +// +// swagger:model NetworkSecurityGroupUpdate +type NetworkSecurityGroupUpdate struct { + + // Replaces the current Network Security Group Name + Name string `json:"name,omitempty"` +} + +// Validate validates this network security group update +func (m *NetworkSecurityGroupUpdate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this network security group update based on context it is used +func (m *NetworkSecurityGroupUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupUpdate) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_groups.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_groups.go new file mode 100644 index 000000000..e2f3419ec --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_groups.go @@ -0,0 +1,130 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NetworkSecurityGroups network security groups +// +// swagger:model NetworkSecurityGroups +type NetworkSecurityGroups struct { + + // list of Network Security Groups + NetworkSecurityGroups []*NetworkSecurityGroup `json:"networkSecurityGroups"` +} + +// Validate validates this network security groups +func (m *NetworkSecurityGroups) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateNetworkSecurityGroups(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroups) validateNetworkSecurityGroups(formats strfmt.Registry) error { + if swag.IsZero(m.NetworkSecurityGroups) { // not required + return nil + } + + for i := 0; i < len(m.NetworkSecurityGroups); i++ { + if swag.IsZero(m.NetworkSecurityGroups[i]) { // not required + continue + } + + if m.NetworkSecurityGroups[i] != nil { + if err := m.NetworkSecurityGroups[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkSecurityGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkSecurityGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this network security groups based on the context it is used +func (m *NetworkSecurityGroups) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetworkSecurityGroups(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkSecurityGroups) contextValidateNetworkSecurityGroups(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.NetworkSecurityGroups); i++ { + + if m.NetworkSecurityGroups[i] != nil { + + if swag.IsZero(m.NetworkSecurityGroups[i]) { // not required + return nil + } + + if err := m.NetworkSecurityGroups[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkSecurityGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkSecurityGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroups) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroups) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroups + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_groups_action.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_groups_action.go new file mode 100644 index 000000000..8b9e711c0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_security_groups_action.go @@ -0,0 +1,107 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkSecurityGroupsAction network security groups action +// +// swagger:model NetworkSecurityGroupsAction +type NetworkSecurityGroupsAction struct { + + // Name of the action to take; can be enable to enable NSGs in a workspace or disable to disable NSGs in a workspace + // Required: true + // Enum: ["enable","disable"] + Action *string `json:"action"` +} + +// Validate validates this network security groups action +func (m *NetworkSecurityGroupsAction) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var networkSecurityGroupsActionTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkSecurityGroupsActionTypeActionPropEnum = append(networkSecurityGroupsActionTypeActionPropEnum, v) + } +} + +const ( + + // NetworkSecurityGroupsActionActionEnable captures enum value "enable" + NetworkSecurityGroupsActionActionEnable string = "enable" + + // NetworkSecurityGroupsActionActionDisable captures enum value "disable" + NetworkSecurityGroupsActionActionDisable string = "disable" +) + +// prop value enum +func (m *NetworkSecurityGroupsAction) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkSecurityGroupsActionTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkSecurityGroupsAction) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this network security groups action based on context it is used +func (m *NetworkSecurityGroupsAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkSecurityGroupsAction) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkSecurityGroupsAction) UnmarshalBinary(b []byte) error { + var res NetworkSecurityGroupsAction + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_update.go new file mode 100644 index 000000000..4e983d3ae --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/network_update.go @@ -0,0 +1,244 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// NetworkUpdate network update +// +// swagger:model NetworkUpdate +type NetworkUpdate struct { + + // Indicates if the network is advertised externally of the workspace to PER and\or peer networks + // Enum: ["enable","disable"] + Advertise string `json:"advertise,omitempty"` + + // Indicates if the ARP broadcast is enabled + // Enum: ["enable","disable"] + ArpBroadcast string `json:"arpBroadcast,omitempty"` + + // Replaces the current DNS Servers + DNSServers []string `json:"dnsServers"` + + // network will support DHCP + EnableDHCP *bool `json:"enableDHCP,omitempty"` + + // Replaces the current Gateway IP Address + Gateway *string `json:"gateway,omitempty"` + + // Replaces the current IP Address Ranges + IPAddressRanges []*IPAddressRange `json:"ipAddressRanges"` + + // Replaces the current Network Name + Name *string `json:"name,omitempty"` +} + +// Validate validates this network update +func (m *NetworkUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAdvertise(formats); err != nil { + res = append(res, err) + } + + if err := m.validateArpBroadcast(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPAddressRanges(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var networkUpdateTypeAdvertisePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkUpdateTypeAdvertisePropEnum = append(networkUpdateTypeAdvertisePropEnum, v) + } +} + +const ( + + // NetworkUpdateAdvertiseEnable captures enum value "enable" + NetworkUpdateAdvertiseEnable string = "enable" + + // NetworkUpdateAdvertiseDisable captures enum value "disable" + NetworkUpdateAdvertiseDisable string = "disable" +) + +// prop value enum +func (m *NetworkUpdate) validateAdvertiseEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkUpdateTypeAdvertisePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkUpdate) validateAdvertise(formats strfmt.Registry) error { + if swag.IsZero(m.Advertise) { // not required + return nil + } + + // value enum + if err := m.validateAdvertiseEnum("advertise", "body", m.Advertise); err != nil { + return err + } + + return nil +} + +var networkUpdateTypeArpBroadcastPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkUpdateTypeArpBroadcastPropEnum = append(networkUpdateTypeArpBroadcastPropEnum, v) + } +} + +const ( + + // NetworkUpdateArpBroadcastEnable captures enum value "enable" + NetworkUpdateArpBroadcastEnable string = "enable" + + // NetworkUpdateArpBroadcastDisable captures enum value "disable" + NetworkUpdateArpBroadcastDisable string = "disable" +) + +// prop value enum +func (m *NetworkUpdate) validateArpBroadcastEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, networkUpdateTypeArpBroadcastPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *NetworkUpdate) validateArpBroadcast(formats strfmt.Registry) error { + if swag.IsZero(m.ArpBroadcast) { // not required + return nil + } + + // value enum + if err := m.validateArpBroadcastEnum("arpBroadcast", "body", m.ArpBroadcast); err != nil { + return err + } + + return nil +} + +func (m *NetworkUpdate) validateIPAddressRanges(formats strfmt.Registry) error { + if swag.IsZero(m.IPAddressRanges) { // not required + return nil + } + + for i := 0; i < len(m.IPAddressRanges); i++ { + if swag.IsZero(m.IPAddressRanges[i]) { // not required + continue + } + + if m.IPAddressRanges[i] != nil { + if err := m.IPAddressRanges[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this network update based on the context it is used +func (m *NetworkUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateIPAddressRanges(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *NetworkUpdate) contextValidateIPAddressRanges(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.IPAddressRanges); i++ { + + if m.IPAddressRanges[i] != nil { + + if swag.IsZero(m.IPAddressRanges[i]) { // not required + return nil + } + + if err := m.IPAddressRanges[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipAddressRanges" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *NetworkUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *NetworkUpdate) UnmarshalBinary(b []byte) error { + var res NetworkUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/networks.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/networks.go new file mode 100644 index 000000000..ec7cb2341 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/networks.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Networks networks +// +// swagger:model Networks +type Networks struct { + + // Network References + // Required: true + Networks []*NetworkReference `json:"networks"` +} + +// Validate validates this networks +func (m *Networks) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Networks) validateNetworks(formats strfmt.Registry) error { + + if err := validate.Required("networks", "body", m.Networks); err != nil { + return err + } + + for i := 0; i < len(m.Networks); i++ { + if swag.IsZero(m.Networks[i]) { // not required + continue + } + + if m.Networks[i] != nil { + if err := m.Networks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this networks based on the context it is used +func (m *Networks) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Networks) contextValidateNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Networks); i++ { + + if m.Networks[i] != nil { + + if swag.IsZero(m.Networks[i]) { // not required + return nil + } + + if err := m.Networks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Networks) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Networks) UnmarshalBinary(b []byte) error { + var res Networks + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/object.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/object.go new file mode 100644 index 000000000..0e35074f7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/object.go @@ -0,0 +1,11 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +// Object object +// +// swagger:model Object +type Object any diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack.go new file mode 100644 index 000000000..6654773e0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack.go @@ -0,0 +1,139 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// OpenStack open stack +// +// swagger:model OpenStack +type OpenStack struct { + + // Unique identifier for the OpenStack instance + // Required: true + ID *string `json:"id"` + + // Internal IP address of the OpenStack instance + // Required: true + IPAddress *string `json:"ipAddress"` + + // Shortname of the OpenStack instance + // Required: true + Name *string `json:"name"` + + // Next available VLAN ID to be used for a network creation + // Required: true + NextVLANID *float64 `json:"nextVLANID"` + + // The region where the open stack lives + // Required: true + Region *string `json:"region"` +} + +// Validate validates this open stack +func (m *OpenStack) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNextVLANID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OpenStack) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *OpenStack) validateIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("ipAddress", "body", m.IPAddress); err != nil { + return err + } + + return nil +} + +func (m *OpenStack) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *OpenStack) validateNextVLANID(formats strfmt.Registry) error { + + if err := validate.Required("nextVLANID", "body", m.NextVLANID); err != nil { + return err + } + + return nil +} + +func (m *OpenStack) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this open stack based on context it is used +func (m *OpenStack) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *OpenStack) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *OpenStack) UnmarshalBinary(b []byte) error { + var res OpenStack + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack_create.go new file mode 100644 index 000000000..9c63f292e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack_create.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// OpenStackCreate open stack create +// +// swagger:model OpenStackCreate +type OpenStackCreate struct { + + // Internal IP address of the OpenStack instance + // Required: true + IPAddress *string `json:"ipAddress"` + + // Shortname of the OpenStack instance + // Required: true + Name *string `json:"name"` + + // The region where the open stack lives + // Required: true + Region *string `json:"region"` +} + +// Validate validates this open stack create +func (m *OpenStackCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateIPAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OpenStackCreate) validateIPAddress(formats strfmt.Registry) error { + + if err := validate.Required("ipAddress", "body", m.IPAddress); err != nil { + return err + } + + return nil +} + +func (m *OpenStackCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *OpenStackCreate) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this open stack create based on context it is used +func (m *OpenStackCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *OpenStackCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *OpenStackCreate) UnmarshalBinary(b []byte) error { + var res OpenStackCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack_info.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack_info.go new file mode 100644 index 000000000..68256b381 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stack_info.go @@ -0,0 +1,150 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// OpenStackInfo open stack info +// +// swagger:model OpenStackInfo +type OpenStackInfo struct { + + // Hosts on OpenStack + // Required: true + Hosts []*HostInfo `json:"hosts"` + + // Requested region + // Required: true + Region *string `json:"region"` +} + +// Validate validates this open stack info +func (m *OpenStackInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateHosts(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OpenStackInfo) validateHosts(formats strfmt.Registry) error { + + if err := validate.Required("hosts", "body", m.Hosts); err != nil { + return err + } + + for i := 0; i < len(m.Hosts); i++ { + if swag.IsZero(m.Hosts[i]) { // not required + continue + } + + if m.Hosts[i] != nil { + if err := m.Hosts[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *OpenStackInfo) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this open stack info based on the context it is used +func (m *OpenStackInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateHosts(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OpenStackInfo) contextValidateHosts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Hosts); i++ { + + if m.Hosts[i] != nil { + + if swag.IsZero(m.Hosts[i]) { // not required + return nil + } + + if err := m.Hosts[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("hosts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *OpenStackInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *OpenStackInfo) UnmarshalBinary(b []byte) error { + var res OpenStackInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stacks.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stacks.go new file mode 100644 index 000000000..e141aaee8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/open_stacks.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// OpenStacks open stacks +// +// swagger:model OpenStacks +type OpenStacks struct { + + // OpenStacks managed by Power IAAS + // Required: true + OpenStacks []*OpenStack `json:"openStacks"` +} + +// Validate validates this open stacks +func (m *OpenStacks) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateOpenStacks(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OpenStacks) validateOpenStacks(formats strfmt.Registry) error { + + if err := validate.Required("openStacks", "body", m.OpenStacks); err != nil { + return err + } + + for i := 0; i < len(m.OpenStacks); i++ { + if swag.IsZero(m.OpenStacks[i]) { // not required + continue + } + + if m.OpenStacks[i] != nil { + if err := m.OpenStacks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("openStacks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("openStacks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this open stacks based on the context it is used +func (m *OpenStacks) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateOpenStacks(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OpenStacks) contextValidateOpenStacks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.OpenStacks); i++ { + + if m.OpenStacks[i] != nil { + + if swag.IsZero(m.OpenStacks[i]) { // not required + return nil + } + + if err := m.OpenStacks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("openStacks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("openStacks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *OpenStacks) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *OpenStacks) UnmarshalBinary(b []byte) error { + var res OpenStacks + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/operation.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/operation.go new file mode 100644 index 000000000..3423d9e7b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/operation.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Operation operation +// +// swagger:model Operation +type Operation struct { + + // current action of the operation + // Required: true + Action *string `json:"action"` + + // ID of an operation + // Required: true + ID *string `json:"id"` + + // target resource of the operation + // Required: true + Target *string `json:"target"` +} + +// Validate validates this operation +func (m *Operation) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTarget(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Operation) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + return nil +} + +func (m *Operation) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *Operation) validateTarget(formats strfmt.Registry) error { + + if err := validate.Required("target", "body", m.Target); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this operation based on context it is used +func (m *Operation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Operation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Operation) UnmarshalBinary(b []byte) error { + var res Operation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/operations.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/operations.go new file mode 100644 index 000000000..6c97932cf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/operations.go @@ -0,0 +1,229 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Operations operations +// +// swagger:model Operations +type Operations struct { + + // Name of the server boot mode a(Boot from disk using copy A), b(Boot from disk using copy B), c(Reserved for IBM lab use only), d(Boot from media/drives) + // Enum: ["a","b","c","d"] + BootMode string `json:"bootMode,omitempty"` + + // Name of the server operating mode + // Enum: ["normal","manual"] + OperatingMode string `json:"operatingMode,omitempty"` + + // Name of the job task to execute + // Enum: ["consoleservice","dston","dumprestart","iopdump","iopreset","remotedstoff","remotedston","retrydump"] + Task string `json:"task,omitempty"` +} + +// Validate validates this operations +func (m *Operations) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateBootMode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOperatingMode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTask(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var operationsTypeBootModePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["a","b","c","d"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + operationsTypeBootModePropEnum = append(operationsTypeBootModePropEnum, v) + } +} + +const ( + + // OperationsBootModeA captures enum value "a" + OperationsBootModeA string = "a" + + // OperationsBootModeB captures enum value "b" + OperationsBootModeB string = "b" + + // OperationsBootModeC captures enum value "c" + OperationsBootModeC string = "c" + + // OperationsBootModeD captures enum value "d" + OperationsBootModeD string = "d" +) + +// prop value enum +func (m *Operations) validateBootModeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, operationsTypeBootModePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Operations) validateBootMode(formats strfmt.Registry) error { + if swag.IsZero(m.BootMode) { // not required + return nil + } + + // value enum + if err := m.validateBootModeEnum("bootMode", "body", m.BootMode); err != nil { + return err + } + + return nil +} + +var operationsTypeOperatingModePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["normal","manual"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + operationsTypeOperatingModePropEnum = append(operationsTypeOperatingModePropEnum, v) + } +} + +const ( + + // OperationsOperatingModeNormal captures enum value "normal" + OperationsOperatingModeNormal string = "normal" + + // OperationsOperatingModeManual captures enum value "manual" + OperationsOperatingModeManual string = "manual" +) + +// prop value enum +func (m *Operations) validateOperatingModeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, operationsTypeOperatingModePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Operations) validateOperatingMode(formats strfmt.Registry) error { + if swag.IsZero(m.OperatingMode) { // not required + return nil + } + + // value enum + if err := m.validateOperatingModeEnum("operatingMode", "body", m.OperatingMode); err != nil { + return err + } + + return nil +} + +var operationsTypeTaskPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["consoleservice","dston","dumprestart","iopdump","iopreset","remotedstoff","remotedston","retrydump"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + operationsTypeTaskPropEnum = append(operationsTypeTaskPropEnum, v) + } +} + +const ( + + // OperationsTaskConsoleservice captures enum value "consoleservice" + OperationsTaskConsoleservice string = "consoleservice" + + // OperationsTaskDston captures enum value "dston" + OperationsTaskDston string = "dston" + + // OperationsTaskDumprestart captures enum value "dumprestart" + OperationsTaskDumprestart string = "dumprestart" + + // OperationsTaskIopdump captures enum value "iopdump" + OperationsTaskIopdump string = "iopdump" + + // OperationsTaskIopreset captures enum value "iopreset" + OperationsTaskIopreset string = "iopreset" + + // OperationsTaskRemotedstoff captures enum value "remotedstoff" + OperationsTaskRemotedstoff string = "remotedstoff" + + // OperationsTaskRemotedston captures enum value "remotedston" + OperationsTaskRemotedston string = "remotedston" + + // OperationsTaskRetrydump captures enum value "retrydump" + OperationsTaskRetrydump string = "retrydump" +) + +// prop value enum +func (m *Operations) validateTaskEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, operationsTypeTaskPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Operations) validateTask(formats strfmt.Registry) error { + if swag.IsZero(m.Task) { // not required + return nil + } + + // value enum + if err := m.validateTaskEnum("task", "body", m.Task); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this operations based on context it is used +func (m *Operations) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Operations) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Operations) UnmarshalBinary(b []byte) error { + var res Operations + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/owner_info.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/owner_info.go new file mode 100644 index 000000000..e466d077d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/owner_info.go @@ -0,0 +1,255 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// OwnerInfo owner info +// +// swagger:model OwnerInfo +type OwnerInfo struct { + + // Country code of user + // Required: true + CountryCode *string `json:"countryCode"` + + // Currency code of user + // Required: true + CurrencyCode *string `json:"currencyCode"` + + // Email address of user + // Required: true + Email *string `json:"email"` + + // IAM id of user + // Required: true + IamID *string `json:"iamID"` + + // Indicates if user is an IBMer + // Required: true + IsIBMer *bool `json:"isIBMer"` + + // Name of user + // Required: true + Name *string `json:"name"` + + // (deprecated - replaced by softlayerSubscriptions) Array of Soft Layer IDs + SoftlayerIDs []string `json:"softlayerIDs"` + + // Array of softlayer subscriptions + // Required: true + SoftlayerSubscriptions []*SoftlayerSubscription `json:"softlayerSubscriptions"` + + // User id of user + // Required: true + UserID *string `json:"userID"` +} + +// Validate validates this owner info +func (m *OwnerInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCountryCode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCurrencyCode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEmail(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIamID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIsIBMer(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftlayerSubscriptions(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OwnerInfo) validateCountryCode(formats strfmt.Registry) error { + + if err := validate.Required("countryCode", "body", m.CountryCode); err != nil { + return err + } + + return nil +} + +func (m *OwnerInfo) validateCurrencyCode(formats strfmt.Registry) error { + + if err := validate.Required("currencyCode", "body", m.CurrencyCode); err != nil { + return err + } + + return nil +} + +func (m *OwnerInfo) validateEmail(formats strfmt.Registry) error { + + if err := validate.Required("email", "body", m.Email); err != nil { + return err + } + + return nil +} + +func (m *OwnerInfo) validateIamID(formats strfmt.Registry) error { + + if err := validate.Required("iamID", "body", m.IamID); err != nil { + return err + } + + return nil +} + +func (m *OwnerInfo) validateIsIBMer(formats strfmt.Registry) error { + + if err := validate.Required("isIBMer", "body", m.IsIBMer); err != nil { + return err + } + + return nil +} + +func (m *OwnerInfo) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *OwnerInfo) validateSoftlayerSubscriptions(formats strfmt.Registry) error { + + if err := validate.Required("softlayerSubscriptions", "body", m.SoftlayerSubscriptions); err != nil { + return err + } + + for i := 0; i < len(m.SoftlayerSubscriptions); i++ { + if swag.IsZero(m.SoftlayerSubscriptions[i]) { // not required + continue + } + + if m.SoftlayerSubscriptions[i] != nil { + if err := m.SoftlayerSubscriptions[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softlayerSubscriptions" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softlayerSubscriptions" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *OwnerInfo) validateUserID(formats strfmt.Registry) error { + + if err := validate.Required("userID", "body", m.UserID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this owner info based on the context it is used +func (m *OwnerInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSoftlayerSubscriptions(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OwnerInfo) contextValidateSoftlayerSubscriptions(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.SoftlayerSubscriptions); i++ { + + if m.SoftlayerSubscriptions[i] != nil { + + if swag.IsZero(m.SoftlayerSubscriptions[i]) { // not required + return nil + } + + if err := m.SoftlayerSubscriptions[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softlayerSubscriptions" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softlayerSubscriptions" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *OwnerInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *OwnerInfo) UnmarshalBinary(b []byte) error { + var res OwnerInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance.go new file mode 100644 index 000000000..1d1e8be50 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance.go @@ -0,0 +1,1218 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstance p VM instance +// +// swagger:model PVMInstance +type PVMInstance struct { + + // (deprecated - replaced by networks) The list of addresses and their network information + Addresses []*PVMInstanceNetwork `json:"addresses"` + + // Console language and code + ConsoleLanguage *ConsoleLanguage `json:"consoleLanguage,omitempty"` + + // Date/Time of PVM creation + // Format: date-time + CreationDate strfmt.DateTime `json:"creationDate,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // ID of the dedicated host where the PVM Instance is running, if applicable + DedicatedHostID string `json:"dedicatedHostID,omitempty"` + + // The custom deployment type + DeploymentType string `json:"deploymentType,omitempty"` + + // Size of allocated disk (in GB) + // Required: true + DiskSize *float64 `json:"diskSize"` + + // Effective processor compatibility mode + EffectiveProcessorCompatibilityMode string `json:"effectiveProcessorCompatibilityMode,omitempty"` + + // fault + Fault *PVMInstanceFault `json:"fault,omitempty"` + + // health + Health *PVMInstanceHealth `json:"health,omitempty"` + + // The PVM Instance Host ID (Internal Use Only) + HostID int64 `json:"hostID,omitempty"` + + // The ImageID used by the server + // Required: true + ImageID *string `json:"imageID"` + + // The VTL license repository capacity TB value + LicenseRepositoryCapacity int64 `json:"licenseRepositoryCapacity,omitempty"` + + // Maximum amount of memory that can be allocated (in GB, for resize) + Maxmem float64 `json:"maxmem,omitempty"` + + // Maximum number of processors that can be allocated (for resize) + Maxproc float64 `json:"maxproc,omitempty"` + + // Amount of memory allocated (in GB) + // Required: true + Memory *float64 `json:"memory"` + + // whether the instance can be migrated + Migratable *bool `json:"migratable,omitempty"` + + // Minimum amount of memory that can be allocated (in GB, for resize) + Minmem float64 `json:"minmem,omitempty"` + + // Minimum number of processors that can be allocated (for resize) + Minproc float64 `json:"minproc,omitempty"` + + // (deprecated - replaced by networks) List of Network IDs + // Required: true + NetworkIDs []string `json:"networkIDs"` + + // The pvm instance networks information + Networks []*PVMInstanceNetwork `json:"networks"` + + // OS system information (usually version and build) + OperatingSystem string `json:"operatingSystem,omitempty"` + + // Type of the OS [aix, ibmi, rhel, sles, vtl, rhcos] + // Required: true + OsType *string `json:"osType"` + + // VM pinning policy to use [none, soft, hard] + PinPolicy string `json:"pinPolicy,omitempty"` + + // The placement group of the server + PlacementGroup *string `json:"placementGroup,omitempty"` + + // Preferred processor compatibility mode + PreferredProcessorCompatibilityMode string `json:"preferredProcessorCompatibilityMode,omitempty"` + + // Processor type (dedicated, shared, capped) + // Required: true + // Enum: ["dedicated","shared","capped",""] + ProcType *string `json:"procType"` + + // Number of processors allocated + // Required: true + Processors *float64 `json:"processors"` + + // The progress of an operation + Progress float64 `json:"progress,omitempty"` + + // PCloud PVM Instance ID + // Required: true + PvmInstanceID *string `json:"pvmInstanceID"` + + // If this is an SAP pvm-instance the profile reference will link to the SAP profile + SapProfile *SAPProfileReference `json:"sapProfile,omitempty"` + + // Name of the server + // Required: true + ServerName *string `json:"serverName"` + + // The shared processor pool of the server + SharedProcessorPool string `json:"sharedProcessorPool,omitempty"` + + // The shared processor pool id + SharedProcessorPoolID string `json:"sharedProcessorPoolID,omitempty"` + + // The pvm instance Software Licenses + SoftwareLicenses *SoftwareLicenses `json:"softwareLicenses,omitempty"` + + // The pvm instance SRC lists + Srcs [][]*SRC `json:"srcs"` + + // The status of the instance + // Required: true + Status *string `json:"status"` + + // The storage connection type + StorageConnection string `json:"storageConnection,omitempty"` + + // Storage Pool where server is deployed + StoragePool string `json:"storagePool,omitempty"` + + // Indicates if all volumes attached to the server must reside in the same storage pool; Defaults to true when initially deploying a PVMInstance + StoragePoolAffinity *bool `json:"storagePoolAffinity,omitempty"` + + // Storage type where server is deployed + // Required: true + StorageType *string `json:"storageType"` + + // System type used to host the instance + SysType string `json:"sysType,omitempty"` + + // Represents the task state of a virtual machine (VM). + TaskState string `json:"taskState,omitempty"` + + // Date/Time of PVM last update + // Format: date-time + UpdatedDate strfmt.DateTime `json:"updatedDate,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // The pvm instance virtual CPU information + VirtualCores *VirtualCores `json:"virtualCores,omitempty"` + + // Information about Virtual Serial Number assigned to the PVM Instance + VirtualSerialNumber *GetServerVirtualSerialNumber `json:"virtualSerialNumber,omitempty"` + + // List of volume IDs + // Required: true + VolumeIDs []string `json:"volumeIDs"` + + // List of vPMEM volumes attached to this PVM Instance + VpmemVolumes []*VPMemVolumeReference `json:"vpmemVolumes,omitempty"` +} + +// Validate validates this p VM instance +func (m *PVMInstance) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAddresses(formats); err != nil { + res = append(res, err) + } + + if err := m.validateConsoleLanguage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDiskSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateFault(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHealth(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImageID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworkIDs(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOsType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcessors(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSapProfile(formats); err != nil { + res = append(res, err) + } + + if err := m.validateServerName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareLicenses(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSrcs(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdatedDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualSerialNumber(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeIDs(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpmemVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstance) validateAddresses(formats strfmt.Registry) error { + if swag.IsZero(m.Addresses) { // not required + return nil + } + + for i := 0; i < len(m.Addresses); i++ { + if swag.IsZero(m.Addresses[i]) { // not required + continue + } + + if m.Addresses[i] != nil { + if err := m.Addresses[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("addresses" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("addresses" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstance) validateConsoleLanguage(formats strfmt.Registry) error { + if swag.IsZero(m.ConsoleLanguage) { // not required + return nil + } + + if m.ConsoleLanguage != nil { + if err := m.ConsoleLanguage.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("consoleLanguage") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("consoleLanguage") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *PVMInstance) validateDiskSize(formats strfmt.Registry) error { + + if err := validate.Required("diskSize", "body", m.DiskSize); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateFault(formats strfmt.Registry) error { + if swag.IsZero(m.Fault) { // not required + return nil + } + + if m.Fault != nil { + if err := m.Fault.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("fault") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("fault") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) validateHealth(formats strfmt.Registry) error { + if swag.IsZero(m.Health) { // not required + return nil + } + + if m.Health != nil { + if err := m.Health.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("health") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("health") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) validateImageID(formats strfmt.Registry) error { + + if err := validate.Required("imageID", "body", m.ImageID); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateNetworkIDs(formats strfmt.Registry) error { + + if err := validate.Required("networkIDs", "body", m.NetworkIDs); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateNetworks(formats strfmt.Registry) error { + if swag.IsZero(m.Networks) { // not required + return nil + } + + for i := 0; i < len(m.Networks); i++ { + if swag.IsZero(m.Networks[i]) { // not required + continue + } + + if m.Networks[i] != nil { + if err := m.Networks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstance) validateOsType(formats strfmt.Registry) error { + + if err := validate.Required("osType", "body", m.OsType); err != nil { + return err + } + + return nil +} + +var pVmInstanceTypeProcTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dedicated","shared","capped",""]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceTypeProcTypePropEnum = append(pVmInstanceTypeProcTypePropEnum, v) + } +} + +const ( + + // PVMInstanceProcTypeDedicated captures enum value "dedicated" + PVMInstanceProcTypeDedicated string = "dedicated" + + // PVMInstanceProcTypeShared captures enum value "shared" + PVMInstanceProcTypeShared string = "shared" + + // PVMInstanceProcTypeCapped captures enum value "capped" + PVMInstanceProcTypeCapped string = "capped" + + // PVMInstanceProcTypeEmpty captures enum value "" + PVMInstanceProcTypeEmpty string = "" +) + +// prop value enum +func (m *PVMInstance) validateProcTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceTypeProcTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstance) validateProcType(formats strfmt.Registry) error { + + if err := validate.Required("procType", "body", m.ProcType); err != nil { + return err + } + + // value enum + if err := m.validateProcTypeEnum("procType", "body", *m.ProcType); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateProcessors(formats strfmt.Registry) error { + + if err := validate.Required("processors", "body", m.Processors); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validatePvmInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstanceID", "body", m.PvmInstanceID); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateSapProfile(formats strfmt.Registry) error { + if swag.IsZero(m.SapProfile) { // not required + return nil + } + + if m.SapProfile != nil { + if err := m.SapProfile.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sapProfile") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sapProfile") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) validateServerName(formats strfmt.Registry) error { + + if err := validate.Required("serverName", "body", m.ServerName); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateSoftwareLicenses(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if m.SoftwareLicenses != nil { + if err := m.SoftwareLicenses.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) validateSrcs(formats strfmt.Registry) error { + if swag.IsZero(m.Srcs) { // not required + return nil + } + + for i := 0; i < len(m.Srcs); i++ { + + for ii := 0; ii < len(m.Srcs[i]); ii++ { + if swag.IsZero(m.Srcs[i][ii]) { // not required + continue + } + + if m.Srcs[i][ii] != nil { + if err := m.Srcs[i][ii].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("srcs" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("srcs" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + + return err + } + } + + } + + } + + return nil +} + +func (m *PVMInstance) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateStorageType(formats strfmt.Registry) error { + + if err := validate.Required("storageType", "body", m.StorageType); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateUpdatedDate(formats strfmt.Registry) error { + if swag.IsZero(m.UpdatedDate) { // not required + return nil + } + + if err := validate.FormatOf("updatedDate", "body", "date-time", m.UpdatedDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *PVMInstance) validateVirtualCores(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if m.VirtualCores != nil { + if err := m.VirtualCores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) validateVirtualSerialNumber(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualSerialNumber) { // not required + return nil + } + + if m.VirtualSerialNumber != nil { + if err := m.VirtualSerialNumber.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualSerialNumber") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualSerialNumber") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) validateVolumeIDs(formats strfmt.Registry) error { + + if err := validate.Required("volumeIDs", "body", m.VolumeIDs); err != nil { + return err + } + + return nil +} + +func (m *PVMInstance) validateVpmemVolumes(formats strfmt.Registry) error { + if swag.IsZero(m.VpmemVolumes) { // not required + return nil + } + + for i := 0; i < len(m.VpmemVolumes); i++ { + if swag.IsZero(m.VpmemVolumes[i]) { // not required + continue + } + + if m.VpmemVolumes[i] != nil { + if err := m.VpmemVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this p VM instance based on the context it is used +func (m *PVMInstance) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAddresses(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateConsoleLanguage(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateFault(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateHealth(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSapProfile(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSoftwareLicenses(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSrcs(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualCores(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualSerialNumber(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpmemVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstance) contextValidateAddresses(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Addresses); i++ { + + if m.Addresses[i] != nil { + + if swag.IsZero(m.Addresses[i]) { // not required + return nil + } + + if err := m.Addresses[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("addresses" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("addresses" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstance) contextValidateConsoleLanguage(ctx context.Context, formats strfmt.Registry) error { + + if m.ConsoleLanguage != nil { + + if swag.IsZero(m.ConsoleLanguage) { // not required + return nil + } + + if err := m.ConsoleLanguage.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("consoleLanguage") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("consoleLanguage") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *PVMInstance) contextValidateFault(ctx context.Context, formats strfmt.Registry) error { + + if m.Fault != nil { + + if swag.IsZero(m.Fault) { // not required + return nil + } + + if err := m.Fault.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("fault") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("fault") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) contextValidateHealth(ctx context.Context, formats strfmt.Registry) error { + + if m.Health != nil { + + if swag.IsZero(m.Health) { // not required + return nil + } + + if err := m.Health.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("health") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("health") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) contextValidateNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Networks); i++ { + + if m.Networks[i] != nil { + + if swag.IsZero(m.Networks[i]) { // not required + return nil + } + + if err := m.Networks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstance) contextValidateSapProfile(ctx context.Context, formats strfmt.Registry) error { + + if m.SapProfile != nil { + + if swag.IsZero(m.SapProfile) { // not required + return nil + } + + if err := m.SapProfile.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sapProfile") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sapProfile") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) contextValidateSoftwareLicenses(ctx context.Context, formats strfmt.Registry) error { + + if m.SoftwareLicenses != nil { + + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if err := m.SoftwareLicenses.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) contextValidateSrcs(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Srcs); i++ { + + for ii := 0; ii < len(m.Srcs[i]); ii++ { + + if m.Srcs[i][ii] != nil { + + if swag.IsZero(m.Srcs[i][ii]) { // not required + return nil + } + + if err := m.Srcs[i][ii].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("srcs" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("srcs" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + + return err + } + } + + } + + } + + return nil +} + +func (m *PVMInstance) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *PVMInstance) contextValidateVirtualCores(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualCores != nil { + + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if err := m.VirtualCores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) contextValidateVirtualSerialNumber(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualSerialNumber != nil { + + if swag.IsZero(m.VirtualSerialNumber) { // not required + return nil + } + + if err := m.VirtualSerialNumber.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualSerialNumber") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualSerialNumber") + } + + return err + } + } + + return nil +} + +func (m *PVMInstance) contextValidateVpmemVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VpmemVolumes); i++ { + + if m.VpmemVolumes[i] != nil { + + if swag.IsZero(m.VpmemVolumes[i]) { // not required + return nil + } + + if err := m.VpmemVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstance) UnmarshalBinary(b []byte) error { + var res PVMInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_action.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_action.go new file mode 100644 index 000000000..0a76ca0f2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_action.go @@ -0,0 +1,125 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceAction p VM instance action +// +// swagger:model PVMInstanceAction +type PVMInstanceAction struct { + + // Name of the action to take; can be 'dhcp-ip-sync' (on-prem only), 'dumprestart', 'hard-reboot', 'immediate-shutdown', 'reset-state', 'soft-reboot', 'start', 'stop' + // Required: true + // Enum: ["dhcp-ip-sync","dumprestart","hard-reboot","immediate-shutdown","reset-state","soft-reboot","start","stop"] + Action *string `json:"action"` +} + +// Validate validates this p VM instance action +func (m *PVMInstanceAction) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var pVmInstanceActionTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dhcp-ip-sync","dumprestart","hard-reboot","immediate-shutdown","reset-state","soft-reboot","start","stop"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceActionTypeActionPropEnum = append(pVmInstanceActionTypeActionPropEnum, v) + } +} + +const ( + + // PVMInstanceActionActionDhcpDashIPDashSync captures enum value "dhcp-ip-sync" + PVMInstanceActionActionDhcpDashIPDashSync string = "dhcp-ip-sync" + + // PVMInstanceActionActionDumprestart captures enum value "dumprestart" + PVMInstanceActionActionDumprestart string = "dumprestart" + + // PVMInstanceActionActionHardDashReboot captures enum value "hard-reboot" + PVMInstanceActionActionHardDashReboot string = "hard-reboot" + + // PVMInstanceActionActionImmediateDashShutdown captures enum value "immediate-shutdown" + PVMInstanceActionActionImmediateDashShutdown string = "immediate-shutdown" + + // PVMInstanceActionActionResetDashState captures enum value "reset-state" + PVMInstanceActionActionResetDashState string = "reset-state" + + // PVMInstanceActionActionSoftDashReboot captures enum value "soft-reboot" + PVMInstanceActionActionSoftDashReboot string = "soft-reboot" + + // PVMInstanceActionActionStart captures enum value "start" + PVMInstanceActionActionStart string = "start" + + // PVMInstanceActionActionStop captures enum value "stop" + PVMInstanceActionActionStop string = "stop" +) + +// prop value enum +func (m *PVMInstanceAction) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceActionTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceAction) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance action based on context it is used +func (m *PVMInstanceAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceAction) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceAction) UnmarshalBinary(b []byte) error { + var res PVMInstanceAction + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_add_network.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_add_network.go new file mode 100644 index 000000000..51806fa41 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_add_network.go @@ -0,0 +1,77 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceAddNetwork p VM instance add network +// +// swagger:model PVMInstanceAddNetwork +type PVMInstanceAddNetwork struct { + + // The requested ip address of this network interface + IPAddress string `json:"ipAddress,omitempty"` + + // ID of the network + // Required: true + NetworkID *string `json:"networkID"` + + // Network security groups that the network interface is a member of. There is a limit of 1 network security group in the array. If not specified, default network security group is used. + NetworkSecurityGroupIDs []string `json:"networkSecurityGroupIDs"` +} + +// Validate validates this p VM instance add network +func (m *PVMInstanceAddNetwork) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateNetworkID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceAddNetwork) validateNetworkID(formats strfmt.Registry) error { + + if err := validate.Required("networkID", "body", m.NetworkID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance add network based on context it is used +func (m *PVMInstanceAddNetwork) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceAddNetwork) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceAddNetwork) UnmarshalBinary(b []byte) error { + var res PVMInstanceAddNetwork + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_capture.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_capture.go new file mode 100644 index 000000000..b76095098 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_capture.go @@ -0,0 +1,201 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceCapture p VM instance capture +// +// swagger:model PVMInstanceCapture +type PVMInstanceCapture struct { + + // Destination for the deployable image + // Required: true + // Enum: ["image-catalog","cloud-storage","both"] + CaptureDestination *string `json:"captureDestination"` + + // Name of the deployable image created for the captured PVMInstance + // Required: true + CaptureName *string `json:"captureName"` + + // List of Data volume IDs to include in the captured PVMInstance + CaptureVolumeIDs []string `json:"captureVolumeIDs"` + + // Create a checksum file + Checksum bool `json:"checksum,omitempty"` + + // Cloud Storage Access key + CloudStorageAccessKey string `json:"cloudStorageAccessKey,omitempty"` + + // Cloud Storage Image Path (bucket-name [/folder/../..]) + CloudStorageImagePath string `json:"cloudStorageImagePath,omitempty"` + + // Cloud Storage Region + CloudStorageRegion string `json:"cloudStorageRegion,omitempty"` + + // Cloud Storage Secret key + CloudStorageSecretKey string `json:"cloudStorageSecretKey,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this p VM instance capture +func (m *PVMInstanceCapture) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCaptureDestination(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCaptureName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var pVmInstanceCaptureTypeCaptureDestinationPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["image-catalog","cloud-storage","both"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceCaptureTypeCaptureDestinationPropEnum = append(pVmInstanceCaptureTypeCaptureDestinationPropEnum, v) + } +} + +const ( + + // PVMInstanceCaptureCaptureDestinationImageDashCatalog captures enum value "image-catalog" + PVMInstanceCaptureCaptureDestinationImageDashCatalog string = "image-catalog" + + // PVMInstanceCaptureCaptureDestinationCloudDashStorage captures enum value "cloud-storage" + PVMInstanceCaptureCaptureDestinationCloudDashStorage string = "cloud-storage" + + // PVMInstanceCaptureCaptureDestinationBoth captures enum value "both" + PVMInstanceCaptureCaptureDestinationBoth string = "both" +) + +// prop value enum +func (m *PVMInstanceCapture) validateCaptureDestinationEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceCaptureTypeCaptureDestinationPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceCapture) validateCaptureDestination(formats strfmt.Registry) error { + + if err := validate.Required("captureDestination", "body", m.CaptureDestination); err != nil { + return err + } + + // value enum + if err := m.validateCaptureDestinationEnum("captureDestination", "body", *m.CaptureDestination); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCapture) validateCaptureName(formats strfmt.Registry) error { + + if err := validate.Required("captureName", "body", m.CaptureName); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCapture) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this p VM instance capture based on the context it is used +func (m *PVMInstanceCapture) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceCapture) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceCapture) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceCapture) UnmarshalBinary(b []byte) error { + var res PVMInstanceCapture + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_clone.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_clone.go new file mode 100644 index 000000000..0e72786c2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_clone.go @@ -0,0 +1,275 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceClone p VM instance clone +// +// swagger:model PVMInstanceClone +type PVMInstanceClone struct { + + // The name of the SSH key pair provided to the server for authenticating users (looked up in the tenant's list of keys) + KeyPairName string `json:"keyPairName,omitempty"` + + // Amount of memory allocated (in GB) + Memory *float64 `json:"memory,omitempty"` + + // Name of the server to create + // Required: true + Name *string `json:"name"` + + // The pvm instance networks information + // Required: true + Networks []*PVMInstanceAddNetwork `json:"networks"` + + // Processor type (dedicated, shared, capped) + // Enum: ["dedicated","shared","capped"] + ProcType *string `json:"procType,omitempty"` + + // Number of processors allocated + Processors *float64 `json:"processors,omitempty"` + + // The pvm instance Software Licenses + SoftwareLicenses *SoftwareLicenses `json:"softwareLicenses,omitempty"` + + // List of volume IDs + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this p VM instance clone +func (m *PVMInstanceClone) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareLicenses(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceClone) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceClone) validateNetworks(formats strfmt.Registry) error { + + if err := validate.Required("networks", "body", m.Networks); err != nil { + return err + } + + for i := 0; i < len(m.Networks); i++ { + if swag.IsZero(m.Networks[i]) { // not required + continue + } + + if m.Networks[i] != nil { + if err := m.Networks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +var pVmInstanceCloneTypeProcTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dedicated","shared","capped"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceCloneTypeProcTypePropEnum = append(pVmInstanceCloneTypeProcTypePropEnum, v) + } +} + +const ( + + // PVMInstanceCloneProcTypeDedicated captures enum value "dedicated" + PVMInstanceCloneProcTypeDedicated string = "dedicated" + + // PVMInstanceCloneProcTypeShared captures enum value "shared" + PVMInstanceCloneProcTypeShared string = "shared" + + // PVMInstanceCloneProcTypeCapped captures enum value "capped" + PVMInstanceCloneProcTypeCapped string = "capped" +) + +// prop value enum +func (m *PVMInstanceClone) validateProcTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceCloneTypeProcTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceClone) validateProcType(formats strfmt.Registry) error { + if swag.IsZero(m.ProcType) { // not required + return nil + } + + // value enum + if err := m.validateProcTypeEnum("procType", "body", *m.ProcType); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceClone) validateSoftwareLicenses(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if m.SoftwareLicenses != nil { + if err := m.SoftwareLicenses.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this p VM instance clone based on the context it is used +func (m *PVMInstanceClone) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSoftwareLicenses(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceClone) contextValidateNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Networks); i++ { + + if m.Networks[i] != nil { + + if swag.IsZero(m.Networks[i]) { // not required + return nil + } + + if err := m.Networks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceClone) contextValidateSoftwareLicenses(ctx context.Context, formats strfmt.Registry) error { + + if m.SoftwareLicenses != nil { + + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if err := m.SoftwareLicenses.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceClone) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceClone) UnmarshalBinary(b []byte) error { + var res PVMInstanceClone + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_configuration.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_configuration.go new file mode 100644 index 000000000..d911e790f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_configuration.go @@ -0,0 +1,318 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PVMInstanceConfiguration p VM instance configuration +// +// swagger:model PVMInstanceConfiguration +type PVMInstanceConfiguration struct { + + // Console language and code + ConsoleLanguage *ConsoleLanguage `json:"consoleLanguage,omitempty"` + + // The VTL license repository capacity TB value + LicenseRepositoryCapacity int64 `json:"licenseRepositoryCapacity,omitempty"` + + // If this is an SAP pvm-instance the profile reference will link to the SAP profile + SapProfile *SAPProfileReference `json:"sapProfile,omitempty"` + + // The pvm instance Software Licenses + SoftwareLicenses *SoftwareLicenses `json:"softwareLicenses,omitempty"` + + // The pvm instance system reference code lists + SystemReferenceCodes [][]*SRC `json:"systemReferenceCodes"` +} + +// Validate validates this p VM instance configuration +func (m *PVMInstanceConfiguration) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateConsoleLanguage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSapProfile(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareLicenses(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSystemReferenceCodes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceConfiguration) validateConsoleLanguage(formats strfmt.Registry) error { + if swag.IsZero(m.ConsoleLanguage) { // not required + return nil + } + + if m.ConsoleLanguage != nil { + if err := m.ConsoleLanguage.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("consoleLanguage") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("consoleLanguage") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceConfiguration) validateSapProfile(formats strfmt.Registry) error { + if swag.IsZero(m.SapProfile) { // not required + return nil + } + + if m.SapProfile != nil { + if err := m.SapProfile.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sapProfile") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sapProfile") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceConfiguration) validateSoftwareLicenses(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if m.SoftwareLicenses != nil { + if err := m.SoftwareLicenses.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceConfiguration) validateSystemReferenceCodes(formats strfmt.Registry) error { + if swag.IsZero(m.SystemReferenceCodes) { // not required + return nil + } + + for i := 0; i < len(m.SystemReferenceCodes); i++ { + + for ii := 0; ii < len(m.SystemReferenceCodes[i]); ii++ { + if swag.IsZero(m.SystemReferenceCodes[i][ii]) { // not required + continue + } + + if m.SystemReferenceCodes[i][ii] != nil { + if err := m.SystemReferenceCodes[i][ii].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("systemReferenceCodes" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("systemReferenceCodes" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + + return err + } + } + + } + + } + + return nil +} + +// ContextValidate validate this p VM instance configuration based on the context it is used +func (m *PVMInstanceConfiguration) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateConsoleLanguage(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSapProfile(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSoftwareLicenses(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSystemReferenceCodes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceConfiguration) contextValidateConsoleLanguage(ctx context.Context, formats strfmt.Registry) error { + + if m.ConsoleLanguage != nil { + + if swag.IsZero(m.ConsoleLanguage) { // not required + return nil + } + + if err := m.ConsoleLanguage.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("consoleLanguage") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("consoleLanguage") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceConfiguration) contextValidateSapProfile(ctx context.Context, formats strfmt.Registry) error { + + if m.SapProfile != nil { + + if swag.IsZero(m.SapProfile) { // not required + return nil + } + + if err := m.SapProfile.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sapProfile") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sapProfile") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceConfiguration) contextValidateSoftwareLicenses(ctx context.Context, formats strfmt.Registry) error { + + if m.SoftwareLicenses != nil { + + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if err := m.SoftwareLicenses.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceConfiguration) contextValidateSystemReferenceCodes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.SystemReferenceCodes); i++ { + + for ii := 0; ii < len(m.SystemReferenceCodes[i]); ii++ { + + if m.SystemReferenceCodes[i][ii] != nil { + + if swag.IsZero(m.SystemReferenceCodes[i][ii]) { // not required + return nil + } + + if err := m.SystemReferenceCodes[i][ii].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("systemReferenceCodes" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("systemReferenceCodes" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + + return err + } + } + + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceConfiguration) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceConfiguration) UnmarshalBinary(b []byte) error { + var res PVMInstanceConfiguration + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_console.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_console.go new file mode 100644 index 000000000..0ed92109a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_console.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceConsole p VM instance console +// +// swagger:model PVMInstanceConsole +type PVMInstanceConsole struct { + + // The URL to the noVNC console for the PVM Instance + // Required: true + ConsoleURL *string `json:"consoleURL"` +} + +// Validate validates this p VM instance console +func (m *PVMInstanceConsole) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateConsoleURL(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceConsole) validateConsoleURL(formats strfmt.Registry) error { + + if err := validate.Required("consoleURL", "body", m.ConsoleURL); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance console based on context it is used +func (m *PVMInstanceConsole) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceConsole) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceConsole) UnmarshalBinary(b []byte) error { + var res PVMInstanceConsole + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_cores.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_cores.go new file mode 100644 index 000000000..5a74aa1e9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_cores.go @@ -0,0 +1,77 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceCores p VM instance cores +// +// swagger:model PVMInstanceCores +type PVMInstanceCores struct { + + // The active processor information + // Required: true + Assigned *float64 `json:"assigned"` + + // The maximum number of processors that can be allocated (for resize) + Maximum float64 `json:"maximum,omitempty"` + + // The minimum number of processors that can be allocated (for resize) + Minimum float64 `json:"minimum,omitempty"` +} + +// Validate validates this p VM instance cores +func (m *PVMInstanceCores) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAssigned(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceCores) validateAssigned(formats strfmt.Registry) error { + + if err := validate.Required("assigned", "body", m.Assigned); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance cores based on context it is used +func (m *PVMInstanceCores) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceCores) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceCores) UnmarshalBinary(b []byte) error { + var res PVMInstanceCores + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_create.go new file mode 100644 index 000000000..011ba8ca5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_create.go @@ -0,0 +1,995 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceCreate p VM instance create +// +// swagger:model PVMInstanceCreate +type PVMInstanceCreate struct { + + // Indicates if the boot volume should be replication enabled or not + BootVolumeReplicationEnabled *bool `json:"bootVolumeReplicationEnabled,omitempty"` + + // The deployment of a dedicated host + DeploymentTarget *DeploymentTarget `json:"deploymentTarget,omitempty"` + + // The custom deployment type + DeploymentType string `json:"deploymentType,omitempty"` + + // Image ID of the image to use for the server + // Required: true + ImageID *string `json:"imageID"` + + // The name of the SSH key pair provided to the server for authenticating users (looked up in the tenant's list of keys) + KeyPairName string `json:"keyPairName,omitempty"` + + // The VTL license repository capacity TB value + LicenseRepositoryCapacity int64 `json:"licenseRepositoryCapacity,omitempty"` + + // Amount of memory allocated (in GB) + // Required: true + Memory *float64 `json:"memory"` + + // (deprecated - replaced by pinPolicy) Indicates if the server is allowed to migrate between hosts + Migratable *bool `json:"migratable,omitempty"` + + // (deprecated - replaced by networks) List of Network IDs + NetworkIDs []string `json:"networkIDs"` + + // The pvm instance networks information + Networks []*PVMInstanceAddNetwork `json:"networks"` + + // pin policy + PinPolicy PinPolicy `json:"pinPolicy,omitempty"` + + // The placement group for the server + PlacementGroup string `json:"placementGroup,omitempty"` + + // processor compatibility mode + PreferredProcessorCompatibilityMode string `json:"preferredProcessorCompatibilityMode,omitempty"` + + // Processor type (dedicated, shared, capped) + // Required: true + // Enum: ["dedicated","shared","capped"] + ProcType *string `json:"procType"` + + // Number of processors allocated + // Required: true + Processors *float64 `json:"processors"` + + // Affinity policy for replicants being created; affinity for the same host, anti-affinity for different hosts, none for no preference + // Enum: ["affinity","anti-affinity","none"] + ReplicantAffinityPolicy *string `json:"replicantAffinityPolicy,omitempty"` + + // How to name the created vms + // Enum: ["prefix","suffix"] + ReplicantNamingScheme *string `json:"replicantNamingScheme,omitempty"` + + // Number of duplicate instances to create in this request + // Minimum: 1 + Replicants *float64 `json:"replicants,omitempty"` + + // Indicates the replication site of the boot volume + ReplicationSites []string `json:"replicationSites"` + + // Name of the server to create + // Required: true + ServerName *string `json:"serverName"` + + // The shared processor pool for server deployment + SharedProcessorPool string `json:"sharedProcessorPool,omitempty"` + + // The pvm instance Software Licenses + SoftwareLicenses *SoftwareLicenses `json:"softwareLicenses,omitempty"` + + // The storage affinity data; ignored if storagePool is provided; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage pool the image was created in + StorageAffinity *StorageAffinity `json:"storageAffinity,omitempty"` + + // The storage connection type + // Enum: ["vSCSI","maxVolumeSupport"] + StorageConnection string `json:"storageConnection,omitempty"` + + // The storage connection type + // Enum: ["vSCSI","maxVolumeSupport"] + StorageConnectionV2 string `json:"storageConnectionV2,omitempty"` + + // Storage Pool for server deployment; if provided then storageAffinity will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage pool the image was created in + StoragePool string `json:"storagePool,omitempty"` + + // Indicates if all volumes attached to the PVMInstance must reside in the same storage pool. If set to false, volumes from any storage pool can be attached to the PVMInstance. This flag only impacts PVMInstance snapshot and capture operations. For capture, only volumes that reside in the same storage pool as the PVMInstance's boot volume can be included. For snapshots, all volumes included in the snapshot must reside in the same storage pool. + StoragePoolAffinity *bool `json:"storagePoolAffinity,omitempty"` + + // Storage type for server deployment; if storageType is not provided the storage type will default to 'tier3'. + StorageType string `json:"storageType,omitempty"` + + // System type used to host the instance + SysType string `json:"sysType,omitempty"` + + // Cloud init user defined data; For FLS, only cloud-config user-data is supported and data must not be compressed or exceed 63K + UserData string `json:"userData,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // The pvm instance virtual CPU information + VirtualCores *VirtualCores `json:"virtualCores,omitempty"` + + // Virtual Serial Number information + VirtualSerialNumber *CreateServerVirtualSerialNumber `json:"virtualSerialNumber,omitempty"` + + // List of volume IDs + VolumeIDs []string `json:"volumeIDs"` + + // The vPMEM volumes information + VpmemVolumes []*VPMemVolumeCreate `json:"vpmemVolumes"` +} + +// Validate validates this p VM instance create +func (m *PVMInstanceCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDeploymentTarget(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImageID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePinPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcessors(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReplicantAffinityPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReplicantNamingScheme(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReplicants(formats); err != nil { + res = append(res, err) + } + + if err := m.validateServerName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareLicenses(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageAffinity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageConnection(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageConnectionV2(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualSerialNumber(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpmemVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceCreate) validateDeploymentTarget(formats strfmt.Registry) error { + if swag.IsZero(m.DeploymentTarget) { // not required + return nil + } + + if m.DeploymentTarget != nil { + if err := m.DeploymentTarget.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("deploymentTarget") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("deploymentTarget") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) validateImageID(formats strfmt.Registry) error { + + if err := validate.Required("imageID", "body", m.ImageID); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCreate) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCreate) validateNetworks(formats strfmt.Registry) error { + if swag.IsZero(m.Networks) { // not required + return nil + } + + for i := 0; i < len(m.Networks); i++ { + if swag.IsZero(m.Networks[i]) { // not required + continue + } + + if m.Networks[i] != nil { + if err := m.Networks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceCreate) validatePinPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.PinPolicy) { // not required + return nil + } + + if err := m.PinPolicy.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pinPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pinPolicy") + } + + return err + } + + return nil +} + +var pVmInstanceCreateTypeProcTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dedicated","shared","capped"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceCreateTypeProcTypePropEnum = append(pVmInstanceCreateTypeProcTypePropEnum, v) + } +} + +const ( + + // PVMInstanceCreateProcTypeDedicated captures enum value "dedicated" + PVMInstanceCreateProcTypeDedicated string = "dedicated" + + // PVMInstanceCreateProcTypeShared captures enum value "shared" + PVMInstanceCreateProcTypeShared string = "shared" + + // PVMInstanceCreateProcTypeCapped captures enum value "capped" + PVMInstanceCreateProcTypeCapped string = "capped" +) + +// prop value enum +func (m *PVMInstanceCreate) validateProcTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceCreateTypeProcTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceCreate) validateProcType(formats strfmt.Registry) error { + + if err := validate.Required("procType", "body", m.ProcType); err != nil { + return err + } + + // value enum + if err := m.validateProcTypeEnum("procType", "body", *m.ProcType); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCreate) validateProcessors(formats strfmt.Registry) error { + + if err := validate.Required("processors", "body", m.Processors); err != nil { + return err + } + + return nil +} + +var pVmInstanceCreateTypeReplicantAffinityPolicyPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["affinity","anti-affinity","none"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceCreateTypeReplicantAffinityPolicyPropEnum = append(pVmInstanceCreateTypeReplicantAffinityPolicyPropEnum, v) + } +} + +const ( + + // PVMInstanceCreateReplicantAffinityPolicyAffinity captures enum value "affinity" + PVMInstanceCreateReplicantAffinityPolicyAffinity string = "affinity" + + // PVMInstanceCreateReplicantAffinityPolicyAntiDashAffinity captures enum value "anti-affinity" + PVMInstanceCreateReplicantAffinityPolicyAntiDashAffinity string = "anti-affinity" + + // PVMInstanceCreateReplicantAffinityPolicyNone captures enum value "none" + PVMInstanceCreateReplicantAffinityPolicyNone string = "none" +) + +// prop value enum +func (m *PVMInstanceCreate) validateReplicantAffinityPolicyEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceCreateTypeReplicantAffinityPolicyPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceCreate) validateReplicantAffinityPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.ReplicantAffinityPolicy) { // not required + return nil + } + + // value enum + if err := m.validateReplicantAffinityPolicyEnum("replicantAffinityPolicy", "body", *m.ReplicantAffinityPolicy); err != nil { + return err + } + + return nil +} + +var pVmInstanceCreateTypeReplicantNamingSchemePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["prefix","suffix"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceCreateTypeReplicantNamingSchemePropEnum = append(pVmInstanceCreateTypeReplicantNamingSchemePropEnum, v) + } +} + +const ( + + // PVMInstanceCreateReplicantNamingSchemePrefix captures enum value "prefix" + PVMInstanceCreateReplicantNamingSchemePrefix string = "prefix" + + // PVMInstanceCreateReplicantNamingSchemeSuffix captures enum value "suffix" + PVMInstanceCreateReplicantNamingSchemeSuffix string = "suffix" +) + +// prop value enum +func (m *PVMInstanceCreate) validateReplicantNamingSchemeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceCreateTypeReplicantNamingSchemePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceCreate) validateReplicantNamingScheme(formats strfmt.Registry) error { + if swag.IsZero(m.ReplicantNamingScheme) { // not required + return nil + } + + // value enum + if err := m.validateReplicantNamingSchemeEnum("replicantNamingScheme", "body", *m.ReplicantNamingScheme); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCreate) validateReplicants(formats strfmt.Registry) error { + if swag.IsZero(m.Replicants) { // not required + return nil + } + + if err := validate.Minimum("replicants", "body", *m.Replicants, 1, false); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCreate) validateServerName(formats strfmt.Registry) error { + + if err := validate.Required("serverName", "body", m.ServerName); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCreate) validateSoftwareLicenses(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if m.SoftwareLicenses != nil { + if err := m.SoftwareLicenses.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) validateStorageAffinity(formats strfmt.Registry) error { + if swag.IsZero(m.StorageAffinity) { // not required + return nil + } + + if m.StorageAffinity != nil { + if err := m.StorageAffinity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageAffinity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageAffinity") + } + + return err + } + } + + return nil +} + +var pVmInstanceCreateTypeStorageConnectionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["vSCSI","maxVolumeSupport"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceCreateTypeStorageConnectionPropEnum = append(pVmInstanceCreateTypeStorageConnectionPropEnum, v) + } +} + +const ( + + // PVMInstanceCreateStorageConnectionVSCSI captures enum value "vSCSI" + PVMInstanceCreateStorageConnectionVSCSI string = "vSCSI" + + // PVMInstanceCreateStorageConnectionMaxVolumeSupport captures enum value "maxVolumeSupport" + PVMInstanceCreateStorageConnectionMaxVolumeSupport string = "maxVolumeSupport" +) + +// prop value enum +func (m *PVMInstanceCreate) validateStorageConnectionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceCreateTypeStorageConnectionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceCreate) validateStorageConnection(formats strfmt.Registry) error { + if swag.IsZero(m.StorageConnection) { // not required + return nil + } + + // value enum + if err := m.validateStorageConnectionEnum("storageConnection", "body", m.StorageConnection); err != nil { + return err + } + + return nil +} + +var pVmInstanceCreateTypeStorageConnectionV2PropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["vSCSI","maxVolumeSupport"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceCreateTypeStorageConnectionV2PropEnum = append(pVmInstanceCreateTypeStorageConnectionV2PropEnum, v) + } +} + +const ( + + // PVMInstanceCreateStorageConnectionV2VSCSI captures enum value "vSCSI" + PVMInstanceCreateStorageConnectionV2VSCSI string = "vSCSI" + + // PVMInstanceCreateStorageConnectionV2MaxVolumeSupport captures enum value "maxVolumeSupport" + PVMInstanceCreateStorageConnectionV2MaxVolumeSupport string = "maxVolumeSupport" +) + +// prop value enum +func (m *PVMInstanceCreate) validateStorageConnectionV2Enum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceCreateTypeStorageConnectionV2PropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceCreate) validateStorageConnectionV2(formats strfmt.Registry) error { + if swag.IsZero(m.StorageConnectionV2) { // not required + return nil + } + + // value enum + if err := m.validateStorageConnectionV2Enum("storageConnectionV2", "body", m.StorageConnectionV2); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *PVMInstanceCreate) validateVirtualCores(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if m.VirtualCores != nil { + if err := m.VirtualCores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) validateVirtualSerialNumber(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualSerialNumber) { // not required + return nil + } + + if m.VirtualSerialNumber != nil { + if err := m.VirtualSerialNumber.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualSerialNumber") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualSerialNumber") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) validateVpmemVolumes(formats strfmt.Registry) error { + if swag.IsZero(m.VpmemVolumes) { // not required + return nil + } + + for i := 0; i < len(m.VpmemVolumes); i++ { + if swag.IsZero(m.VpmemVolumes[i]) { // not required + continue + } + + if m.VpmemVolumes[i] != nil { + if err := m.VpmemVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this p VM instance create based on the context it is used +func (m *PVMInstanceCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDeploymentTarget(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePinPolicy(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSoftwareLicenses(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStorageAffinity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualCores(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualSerialNumber(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpmemVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceCreate) contextValidateDeploymentTarget(ctx context.Context, formats strfmt.Registry) error { + + if m.DeploymentTarget != nil { + + if swag.IsZero(m.DeploymentTarget) { // not required + return nil + } + + if err := m.DeploymentTarget.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("deploymentTarget") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("deploymentTarget") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) contextValidateNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Networks); i++ { + + if m.Networks[i] != nil { + + if swag.IsZero(m.Networks[i]) { // not required + return nil + } + + if err := m.Networks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceCreate) contextValidatePinPolicy(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.PinPolicy) { // not required + return nil + } + + if err := m.PinPolicy.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pinPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pinPolicy") + } + + return err + } + + return nil +} + +func (m *PVMInstanceCreate) contextValidateSoftwareLicenses(ctx context.Context, formats strfmt.Registry) error { + + if m.SoftwareLicenses != nil { + + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if err := m.SoftwareLicenses.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) contextValidateStorageAffinity(ctx context.Context, formats strfmt.Registry) error { + + if m.StorageAffinity != nil { + + if swag.IsZero(m.StorageAffinity) { // not required + return nil + } + + if err := m.StorageAffinity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageAffinity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageAffinity") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *PVMInstanceCreate) contextValidateVirtualCores(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualCores != nil { + + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if err := m.VirtualCores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) contextValidateVirtualSerialNumber(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualSerialNumber != nil { + + if swag.IsZero(m.VirtualSerialNumber) { // not required + return nil + } + + if err := m.VirtualSerialNumber.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualSerialNumber") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualSerialNumber") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceCreate) contextValidateVpmemVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VpmemVolumes); i++ { + + if m.VpmemVolumes[i] != nil { + + if swag.IsZero(m.VpmemVolumes[i]) { // not required + return nil + } + + if err := m.VpmemVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceCreate) UnmarshalBinary(b []byte) error { + var res PVMInstanceCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_delete.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_delete.go new file mode 100644 index 000000000..f25dea4d8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_delete.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PVMInstanceDelete p VM instance delete +// +// swagger:model PVMInstanceDelete +type PVMInstanceDelete struct { + + // Indicates if the Virtual Serial Number attached to a PVM Instance is retained or not + RetainVSN *bool `json:"retainVSN,omitempty"` +} + +// Validate validates this p VM instance delete +func (m *PVMInstanceDelete) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this p VM instance delete based on context it is used +func (m *PVMInstanceDelete) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceDelete) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceDelete) UnmarshalBinary(b []byte) error { + var res PVMInstanceDelete + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_fault.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_fault.go new file mode 100644 index 000000000..bc5133e8a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_fault.go @@ -0,0 +1,83 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceFault Fault information (if occurred) +// +// swagger:model PVMInstanceFault +type PVMInstanceFault struct { + + // The fault status of the server, if any + Code float64 `json:"code,omitempty"` + + // The date and time the fault occurred + // Format: date-time + Created strfmt.DateTime `json:"created,omitempty"` + + // The fault details of the server, if any + Details string `json:"details,omitempty"` + + // The fault message of the server, if any + Message string `json:"message,omitempty"` +} + +// Validate validates this p VM instance fault +func (m *PVMInstanceFault) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreated(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceFault) validateCreated(formats strfmt.Registry) error { + if swag.IsZero(m.Created) { // not required + return nil + } + + if err := validate.FormatOf("created", "body", "date-time", m.Created.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance fault based on context it is used +func (m *PVMInstanceFault) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceFault) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceFault) UnmarshalBinary(b []byte) error { + var res PVMInstanceFault + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_health.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_health.go new file mode 100644 index 000000000..11c21c9ab --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_health.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PVMInstanceHealth PVM's health status details +// +// swagger:model PVMInstanceHealth +type PVMInstanceHealth struct { + + // Date/Time of PVM last health status change + LastUpdate string `json:"lastUpdate,omitempty"` + + // The health status reason, if any + Reason string `json:"reason,omitempty"` + + // The PVM's health status value + Status string `json:"status,omitempty"` +} + +// Validate validates this p VM instance health +func (m *PVMInstanceHealth) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this p VM instance health based on context it is used +func (m *PVMInstanceHealth) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceHealth) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceHealth) UnmarshalBinary(b []byte) error { + var res PVMInstanceHealth + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_list.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_list.go new file mode 100644 index 000000000..30f63b167 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_list.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PVMInstanceList A list of PVMInstances +// +// swagger:model PVMInstanceList +type PVMInstanceList []*PVMInstance + +// Validate validates this p VM instance list +func (m PVMInstanceList) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this p VM instance list based on the context it is used +func (m PVMInstanceList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_memory.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_memory.go new file mode 100644 index 000000000..daec175bc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_memory.go @@ -0,0 +1,77 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceMemory p VM instance memory +// +// swagger:model PVMInstanceMemory +type PVMInstanceMemory struct { + + // The active memory information + // Required: true + Assigned *float64 `json:"assigned"` + + // The maximum amount of memory that can be allocated (in GB, for resize) + Maximum float64 `json:"maximum,omitempty"` + + // The minimum amount of memory that can be allocated (in GB, for resize) + Minimum float64 `json:"minimum,omitempty"` +} + +// Validate validates this p VM instance memory +func (m *PVMInstanceMemory) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAssigned(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceMemory) validateAssigned(formats strfmt.Registry) error { + + if err := validate.Required("assigned", "body", m.Assigned); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance memory based on context it is used +func (m *PVMInstanceMemory) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceMemory) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceMemory) UnmarshalBinary(b []byte) error { + var res PVMInstanceMemory + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_multi_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_multi_create.go new file mode 100644 index 000000000..85e9fd6dd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_multi_create.go @@ -0,0 +1,161 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceMultiCreate p VM instance multi create +// +// swagger:model PVMInstanceMultiCreate +type PVMInstanceMultiCreate struct { + + // Affinity policy for pvm-instances being created; affinity for the same host, anti-affinity for different hosts, none for no preference + // Enum: ["affinity","anti-affinity","none"] + AffinityPolicy *string `json:"affinityPolicy,omitempty"` + + // Number of pvm-instances to create + Count int64 `json:"count,omitempty"` + + // Where to place the numerical number of the multi-created instance + // Enum: ["prefix","suffix"] + Numerical *string `json:"numerical,omitempty"` +} + +// Validate validates this p VM instance multi create +func (m *PVMInstanceMultiCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAffinityPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNumerical(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var pVmInstanceMultiCreateTypeAffinityPolicyPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["affinity","anti-affinity","none"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceMultiCreateTypeAffinityPolicyPropEnum = append(pVmInstanceMultiCreateTypeAffinityPolicyPropEnum, v) + } +} + +const ( + + // PVMInstanceMultiCreateAffinityPolicyAffinity captures enum value "affinity" + PVMInstanceMultiCreateAffinityPolicyAffinity string = "affinity" + + // PVMInstanceMultiCreateAffinityPolicyAntiDashAffinity captures enum value "anti-affinity" + PVMInstanceMultiCreateAffinityPolicyAntiDashAffinity string = "anti-affinity" + + // PVMInstanceMultiCreateAffinityPolicyNone captures enum value "none" + PVMInstanceMultiCreateAffinityPolicyNone string = "none" +) + +// prop value enum +func (m *PVMInstanceMultiCreate) validateAffinityPolicyEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceMultiCreateTypeAffinityPolicyPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceMultiCreate) validateAffinityPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.AffinityPolicy) { // not required + return nil + } + + // value enum + if err := m.validateAffinityPolicyEnum("affinityPolicy", "body", *m.AffinityPolicy); err != nil { + return err + } + + return nil +} + +var pVmInstanceMultiCreateTypeNumericalPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["prefix","suffix"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceMultiCreateTypeNumericalPropEnum = append(pVmInstanceMultiCreateTypeNumericalPropEnum, v) + } +} + +const ( + + // PVMInstanceMultiCreateNumericalPrefix captures enum value "prefix" + PVMInstanceMultiCreateNumericalPrefix string = "prefix" + + // PVMInstanceMultiCreateNumericalSuffix captures enum value "suffix" + PVMInstanceMultiCreateNumericalSuffix string = "suffix" +) + +// prop value enum +func (m *PVMInstanceMultiCreate) validateNumericalEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceMultiCreateTypeNumericalPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceMultiCreate) validateNumerical(formats strfmt.Registry) error { + if swag.IsZero(m.Numerical) { // not required + return nil + } + + // value enum + if err := m.validateNumericalEnum("numerical", "body", *m.Numerical); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance multi create based on context it is used +func (m *PVMInstanceMultiCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceMultiCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceMultiCreate) UnmarshalBinary(b []byte) error { + var res PVMInstanceMultiCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_network.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_network.go new file mode 100644 index 000000000..61d26f721 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_network.go @@ -0,0 +1,83 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PVMInstanceNetwork A map containing information about a network address +// +// swagger:model PVMInstanceNetwork +type PVMInstanceNetwork struct { + + // The external ip address (for pub-vlan networks) + ExternalIP string `json:"externalIP,omitempty"` + + // Link to PVM Instance Network + Href string `json:"href,omitempty"` + + // (deprecated - replaced by ipAddress) + IP string `json:"ip,omitempty"` + + // The ip address of this network interface + IPAddress string `json:"ipAddress,omitempty"` + + // The mac address of the network interface + MacAddress string `json:"macAddress,omitempty"` + + // ID of the network + NetworkID string `json:"networkID,omitempty"` + + // ID of the network interface + NetworkInterfaceID string `json:"networkInterfaceID,omitempty"` + + // The name of the network the address is on + NetworkName string `json:"networkName,omitempty"` + + // IDs of the network necurity groups that the network interface is a member of + NetworkSecurityGroupIDs []string `json:"networkSecurityGroupIDs,omitempty"` + + // Links to the network security groups that the network interface is a member of + NetworkSecurityGroupsHref []string `json:"networkSecurityGroupsHref,omitempty"` + + // The address type (fixed or dynamic) + Type string `json:"type,omitempty"` + + // The version of the information provided + Version float64 `json:"version,omitempty"` +} + +// Validate validates this p VM instance network +func (m *PVMInstanceNetwork) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this p VM instance network based on context it is used +func (m *PVMInstanceNetwork) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceNetwork) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceNetwork) UnmarshalBinary(b []byte) error { + var res PVMInstanceNetwork + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_networks.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_networks.go new file mode 100644 index 000000000..3eeee0c63 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_networks.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceNetworks p VM instance networks +// +// swagger:model PVMInstanceNetworks +type PVMInstanceNetworks struct { + + // PVM Instance Networks + // Required: true + Networks []*PVMInstanceNetwork `json:"networks"` +} + +// Validate validates this p VM instance networks +func (m *PVMInstanceNetworks) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceNetworks) validateNetworks(formats strfmt.Registry) error { + + if err := validate.Required("networks", "body", m.Networks); err != nil { + return err + } + + for i := 0; i < len(m.Networks); i++ { + if swag.IsZero(m.Networks[i]) { // not required + continue + } + + if m.Networks[i] != nil { + if err := m.Networks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this p VM instance networks based on the context it is used +func (m *PVMInstanceNetworks) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceNetworks) contextValidateNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Networks); i++ { + + if m.Networks[i] != nil { + + if swag.IsZero(m.Networks[i]) { // not required + return nil + } + + if err := m.Networks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceNetworks) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceNetworks) UnmarshalBinary(b []byte) error { + var res PVMInstanceNetworks + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_operating_system.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_operating_system.go new file mode 100644 index 000000000..378d58f54 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_operating_system.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceOperatingSystem p VM instance operating system +// +// swagger:model PVMInstanceOperatingSystem +type PVMInstanceOperatingSystem struct { + + // Type of the OS [aix, ibmi, rhel, sles, vtl, rhcos] + // Required: true + Type *string `json:"type"` + + // OS system information (usually version and build) + Version string `json:"version,omitempty"` +} + +// Validate validates this p VM instance operating system +func (m *PVMInstanceOperatingSystem) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceOperatingSystem) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance operating system based on context it is used +func (m *PVMInstanceOperatingSystem) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceOperatingSystem) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceOperatingSystem) UnmarshalBinary(b []byte) error { + var res PVMInstanceOperatingSystem + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_operation.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_operation.go new file mode 100644 index 000000000..5450336cd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_operation.go @@ -0,0 +1,170 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceOperation p VM instance operation +// +// swagger:model PVMInstanceOperation +type PVMInstanceOperation struct { + + // operation + // Required: true + Operation *Operations `json:"operation"` + + // Name of the operation to execute; can be job or boot + // Required: true + // Enum: ["job","boot"] + OperationType *string `json:"operationType"` +} + +// Validate validates this p VM instance operation +func (m *PVMInstanceOperation) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateOperation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOperationType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceOperation) validateOperation(formats strfmt.Registry) error { + + if err := validate.Required("operation", "body", m.Operation); err != nil { + return err + } + + if m.Operation != nil { + if err := m.Operation.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("operation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("operation") + } + + return err + } + } + + return nil +} + +var pVmInstanceOperationTypeOperationTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["job","boot"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceOperationTypeOperationTypePropEnum = append(pVmInstanceOperationTypeOperationTypePropEnum, v) + } +} + +const ( + + // PVMInstanceOperationOperationTypeJob captures enum value "job" + PVMInstanceOperationOperationTypeJob string = "job" + + // PVMInstanceOperationOperationTypeBoot captures enum value "boot" + PVMInstanceOperationOperationTypeBoot string = "boot" +) + +// prop value enum +func (m *PVMInstanceOperation) validateOperationTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceOperationTypeOperationTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceOperation) validateOperationType(formats strfmt.Registry) error { + + if err := validate.Required("operationType", "body", m.OperationType); err != nil { + return err + } + + // value enum + if err := m.validateOperationTypeEnum("operationType", "body", *m.OperationType); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this p VM instance operation based on the context it is used +func (m *PVMInstanceOperation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateOperation(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceOperation) contextValidateOperation(ctx context.Context, formats strfmt.Registry) error { + + if m.Operation != nil { + + if err := m.Operation.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("operation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("operation") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceOperation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceOperation) UnmarshalBinary(b []byte) error { + var res PVMInstanceOperation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_reference.go new file mode 100644 index 000000000..97fba5d29 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_reference.go @@ -0,0 +1,1128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceReference p VM instance reference +// +// swagger:model PVMInstanceReference +type PVMInstanceReference struct { + + // (deprecated - replaced by networks) The list of addresses and their network information + Addresses []*PVMInstanceNetwork `json:"addresses"` + + // Console language and code + ConsoleLanguage *ConsoleLanguage `json:"consoleLanguage,omitempty"` + + // Date/Time of PVM creation + // Format: date-time + CreationDate strfmt.DateTime `json:"creationDate,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // ID of the dedicated host where the PVM Instance is running, if applicable + DedicatedHostID string `json:"dedicatedHostID,omitempty"` + + // Size of allocated disk (in GB) + // Required: true + DiskSize *float64 `json:"diskSize"` + + // Effective processor compatibility mode + EffectiveProcessorCompatibilityMode string `json:"effectiveProcessorCompatibilityMode,omitempty"` + + // fault + Fault *PVMInstanceFault `json:"fault,omitempty"` + + // health + Health *PVMInstanceHealth `json:"health,omitempty"` + + // The PVM Instance Host ID (Internal Use Only) + HostID int64 `json:"hostID,omitempty"` + + // Link to Cloud Instance resource + // Required: true + Href *string `json:"href"` + + // The ImageID used by the server + // Required: true + ImageID *string `json:"imageID"` + + // The VTL license repository capacity TB value + LicenseRepositoryCapacity int64 `json:"licenseRepositoryCapacity,omitempty"` + + // Maximum amount of memory that can be allocated (in GB, for resize) + Maxmem float64 `json:"maxmem,omitempty"` + + // Maximum number of processors that can be allocated (for resize) + Maxproc float64 `json:"maxproc,omitempty"` + + // Amount of memory allocated (in GB) + // Required: true + Memory *float64 `json:"memory"` + + // Minimum amount of memory that can be allocated (in GB, for resize) + Minmem float64 `json:"minmem,omitempty"` + + // Minimum number of processors that can be allocated (for resize) + Minproc float64 `json:"minproc,omitempty"` + + // The list of addresses and their network information + Networks []*PVMInstanceNetwork `json:"networks"` + + // OS system information (usually version and build) + OperatingSystem string `json:"operatingSystem,omitempty"` + + // Type of the OS [aix, ibmi, rhel, sles, vtl, rhcos] + // Required: true + OsType *string `json:"osType"` + + // VM pinning policy to use [none, soft, hard] + PinPolicy string `json:"pinPolicy,omitempty"` + + // The placement group of the server + PlacementGroup *string `json:"placementGroup,omitempty"` + + // Preferred processor compatibility mode + PreferredProcessorCompatibilityMode string `json:"preferredProcessorCompatibilityMode,omitempty"` + + // Processor type (dedicated, shared, capped) + // Required: true + // Enum: ["dedicated","shared","capped"] + ProcType *string `json:"procType"` + + // Number of processors allocated + // Required: true + Processors *float64 `json:"processors"` + + // The progress of an operation + Progress float64 `json:"progress,omitempty"` + + // PCloud PVM Instance ID + // Required: true + PvmInstanceID *string `json:"pvmInstanceID"` + + // If this is an SAP pvm-instance the profile reference will link to the SAP profile + SapProfile *SAPProfileReference `json:"sapProfile,omitempty"` + + // Name of the server + // Required: true + ServerName *string `json:"serverName"` + + // The shared processor pool of the server + SharedProcessorPool string `json:"sharedProcessorPool,omitempty"` + + // The shared processor pool id + SharedProcessorPoolID string `json:"sharedProcessorPoolID,omitempty"` + + // The pvm instance Software Licenses + SoftwareLicenses *SoftwareLicenses `json:"softwareLicenses,omitempty"` + + // The pvm instance SRC lists + Srcs [][]*SRC `json:"srcs"` + + // The status of the instance + // Required: true + Status *string `json:"status"` + + // The storage connection type + StorageConnection string `json:"storageConnection,omitempty"` + + // Storage Pool where server is deployed + StoragePool string `json:"storagePool,omitempty"` + + // Indicates if all volumes attached to the server must reside in the same storage pool + StoragePoolAffinity *bool `json:"storagePoolAffinity,omitempty"` + + // Storage type of the deployment storage pool + StorageType string `json:"storageType,omitempty"` + + // System type used to host the instance + SysType string `json:"sysType,omitempty"` + + // Represents the task state of a virtual machine (VM). + TaskState string `json:"taskState,omitempty"` + + // Date/Time of PVM last update + // Format: date-time + UpdatedDate strfmt.DateTime `json:"updatedDate,omitempty"` + + // The pvm instance virtual CPU information + VirtualCores *VirtualCores `json:"virtualCores,omitempty"` + + // Information about Virtual Serial Number assigned to the PVM Instance + VirtualSerialNumber *GetServerVirtualSerialNumber `json:"virtualSerialNumber,omitempty"` + + // List of vPMEM volumes attached to this PVM Instance + VpmemVolumes []*VPMemVolumeReference `json:"vpmemVolumes,omitempty"` +} + +// Validate validates this p VM instance reference +func (m *PVMInstanceReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAddresses(formats); err != nil { + res = append(res, err) + } + + if err := m.validateConsoleLanguage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDiskSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateFault(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHealth(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImageID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOsType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcessors(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSapProfile(formats); err != nil { + res = append(res, err) + } + + if err := m.validateServerName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareLicenses(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSrcs(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdatedDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualSerialNumber(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpmemVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceReference) validateAddresses(formats strfmt.Registry) error { + if swag.IsZero(m.Addresses) { // not required + return nil + } + + for i := 0; i < len(m.Addresses); i++ { + if swag.IsZero(m.Addresses[i]) { // not required + continue + } + + if m.Addresses[i] != nil { + if err := m.Addresses[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("addresses" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("addresses" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceReference) validateConsoleLanguage(formats strfmt.Registry) error { + if swag.IsZero(m.ConsoleLanguage) { // not required + return nil + } + + if m.ConsoleLanguage != nil { + if err := m.ConsoleLanguage.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("consoleLanguage") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("consoleLanguage") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateDiskSize(formats strfmt.Registry) error { + + if err := validate.Required("diskSize", "body", m.DiskSize); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateFault(formats strfmt.Registry) error { + if swag.IsZero(m.Fault) { // not required + return nil + } + + if m.Fault != nil { + if err := m.Fault.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("fault") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("fault") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) validateHealth(formats strfmt.Registry) error { + if swag.IsZero(m.Health) { // not required + return nil + } + + if m.Health != nil { + if err := m.Health.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("health") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("health") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateImageID(formats strfmt.Registry) error { + + if err := validate.Required("imageID", "body", m.ImageID); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateNetworks(formats strfmt.Registry) error { + if swag.IsZero(m.Networks) { // not required + return nil + } + + for i := 0; i < len(m.Networks); i++ { + if swag.IsZero(m.Networks[i]) { // not required + continue + } + + if m.Networks[i] != nil { + if err := m.Networks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceReference) validateOsType(formats strfmt.Registry) error { + + if err := validate.Required("osType", "body", m.OsType); err != nil { + return err + } + + return nil +} + +var pVmInstanceReferenceTypeProcTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dedicated","shared","capped"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceReferenceTypeProcTypePropEnum = append(pVmInstanceReferenceTypeProcTypePropEnum, v) + } +} + +const ( + + // PVMInstanceReferenceProcTypeDedicated captures enum value "dedicated" + PVMInstanceReferenceProcTypeDedicated string = "dedicated" + + // PVMInstanceReferenceProcTypeShared captures enum value "shared" + PVMInstanceReferenceProcTypeShared string = "shared" + + // PVMInstanceReferenceProcTypeCapped captures enum value "capped" + PVMInstanceReferenceProcTypeCapped string = "capped" +) + +// prop value enum +func (m *PVMInstanceReference) validateProcTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceReferenceTypeProcTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceReference) validateProcType(formats strfmt.Registry) error { + + if err := validate.Required("procType", "body", m.ProcType); err != nil { + return err + } + + // value enum + if err := m.validateProcTypeEnum("procType", "body", *m.ProcType); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateProcessors(formats strfmt.Registry) error { + + if err := validate.Required("processors", "body", m.Processors); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validatePvmInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstanceID", "body", m.PvmInstanceID); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateSapProfile(formats strfmt.Registry) error { + if swag.IsZero(m.SapProfile) { // not required + return nil + } + + if m.SapProfile != nil { + if err := m.SapProfile.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sapProfile") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sapProfile") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) validateServerName(formats strfmt.Registry) error { + + if err := validate.Required("serverName", "body", m.ServerName); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateSoftwareLicenses(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if m.SoftwareLicenses != nil { + if err := m.SoftwareLicenses.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) validateSrcs(formats strfmt.Registry) error { + if swag.IsZero(m.Srcs) { // not required + return nil + } + + for i := 0; i < len(m.Srcs); i++ { + + for ii := 0; ii < len(m.Srcs[i]); ii++ { + if swag.IsZero(m.Srcs[i][ii]) { // not required + continue + } + + if m.Srcs[i][ii] != nil { + if err := m.Srcs[i][ii].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("srcs" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("srcs" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + + return err + } + } + + } + + } + + return nil +} + +func (m *PVMInstanceReference) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateUpdatedDate(formats strfmt.Registry) error { + if swag.IsZero(m.UpdatedDate) { // not required + return nil + } + + if err := validate.FormatOf("updatedDate", "body", "date-time", m.UpdatedDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReference) validateVirtualCores(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if m.VirtualCores != nil { + if err := m.VirtualCores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) validateVirtualSerialNumber(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualSerialNumber) { // not required + return nil + } + + if m.VirtualSerialNumber != nil { + if err := m.VirtualSerialNumber.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualSerialNumber") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualSerialNumber") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) validateVpmemVolumes(formats strfmt.Registry) error { + if swag.IsZero(m.VpmemVolumes) { // not required + return nil + } + + for i := 0; i < len(m.VpmemVolumes); i++ { + if swag.IsZero(m.VpmemVolumes[i]) { // not required + continue + } + + if m.VpmemVolumes[i] != nil { + if err := m.VpmemVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this p VM instance reference based on the context it is used +func (m *PVMInstanceReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAddresses(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateConsoleLanguage(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateFault(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateHealth(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSapProfile(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSoftwareLicenses(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSrcs(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualCores(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualSerialNumber(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpmemVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceReference) contextValidateAddresses(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Addresses); i++ { + + if m.Addresses[i] != nil { + + if swag.IsZero(m.Addresses[i]) { // not required + return nil + } + + if err := m.Addresses[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("addresses" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("addresses" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateConsoleLanguage(ctx context.Context, formats strfmt.Registry) error { + + if m.ConsoleLanguage != nil { + + if swag.IsZero(m.ConsoleLanguage) { // not required + return nil + } + + if err := m.ConsoleLanguage.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("consoleLanguage") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("consoleLanguage") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateFault(ctx context.Context, formats strfmt.Registry) error { + + if m.Fault != nil { + + if swag.IsZero(m.Fault) { // not required + return nil + } + + if err := m.Fault.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("fault") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("fault") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateHealth(ctx context.Context, formats strfmt.Registry) error { + + if m.Health != nil { + + if swag.IsZero(m.Health) { // not required + return nil + } + + if err := m.Health.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("health") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("health") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Networks); i++ { + + if m.Networks[i] != nil { + + if swag.IsZero(m.Networks[i]) { // not required + return nil + } + + if err := m.Networks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateSapProfile(ctx context.Context, formats strfmt.Registry) error { + + if m.SapProfile != nil { + + if swag.IsZero(m.SapProfile) { // not required + return nil + } + + if err := m.SapProfile.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sapProfile") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sapProfile") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateSoftwareLicenses(ctx context.Context, formats strfmt.Registry) error { + + if m.SoftwareLicenses != nil { + + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if err := m.SoftwareLicenses.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateSrcs(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Srcs); i++ { + + for ii := 0; ii < len(m.Srcs[i]); ii++ { + + if m.Srcs[i][ii] != nil { + + if swag.IsZero(m.Srcs[i][ii]) { // not required + return nil + } + + if err := m.Srcs[i][ii].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("srcs" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("srcs" + "." + strconv.Itoa(i) + "." + strconv.Itoa(ii)) + } + + return err + } + } + + } + + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateVirtualCores(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualCores != nil { + + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if err := m.VirtualCores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateVirtualSerialNumber(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualSerialNumber != nil { + + if swag.IsZero(m.VirtualSerialNumber) { // not required + return nil + } + + if err := m.VirtualSerialNumber.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualSerialNumber") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualSerialNumber") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReference) contextValidateVpmemVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VpmemVolumes); i++ { + + if m.VpmemVolumes[i] != nil { + + if swag.IsZero(m.VpmemVolumes[i]) { // not required + return nil + } + + if err := m.VpmemVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceReference) UnmarshalBinary(b []byte) error { + var res PVMInstanceReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_reference_v2.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_reference_v2.go new file mode 100644 index 000000000..587dfdb76 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_reference_v2.go @@ -0,0 +1,927 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceReferenceV2 p VM instance reference v2 +// +// swagger:model PVMInstanceReferenceV2 +type PVMInstanceReferenceV2 struct { + + // The pvm instance server configuration + Configuration *PVMInstanceConfiguration `json:"configuration,omitempty"` + + // The pvm instance cores information + // Required: true + Cores *PVMInstanceCores `json:"cores"` + + // Date/Time of PVM creation + // Format: date-time + CreationDate strfmt.DateTime `json:"creationDate,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // The pvm instance deployment information + // Required: true + Deployment *PvmInstanceDeployment `json:"deployment"` + + // health + Health *PVMInstanceV2Health `json:"health,omitempty"` + + // The pvm instance host information + Host *PvmInstanceHost `json:"host,omitempty"` + + // Link to Cloud Instance resource + // Required: true + Href *string `json:"href"` + + // PCloud PVM Instance ID + // Required: true + ID *string `json:"id"` + + // The pvm instance memory information + // Required: true + Memory *PVMInstanceMemory `json:"memory"` + + // Name of the server + // Required: true + Name *string `json:"name"` + + // The pvm instance network ports information + // Required: true + NetworkPorts []*PVMInstanceV2NetworkPort `json:"networkPorts"` + + // The pvm instance OS system information + // Required: true + OperatingSystem *PVMInstanceOperatingSystem `json:"operatingSystem"` + + // The pvm instance placement group information + PlacementGroup *PvmInstancePlacementGroup `json:"placementGroup,omitempty"` + + // The status of the instance + // Required: true + Status *string `json:"status"` + + // The pvm instance virtual CPU information + VirtualCores *PVMInstanceVirtualCores `json:"virtualCores,omitempty"` + + // Information about Virtual Serial Number assigned to the PVM Instance + VirtualSerialNumber *GetServerVirtualSerialNumber `json:"virtualSerialNumber,omitempty"` + + // List of vPMEM volumes attached to this PVM Instance + VpmemVolumes []*VPMemVolumeReference `json:"vpmemVolumes,omitempty"` +} + +// Validate validates this p VM instance reference v2 +func (m *PVMInstanceReferenceV2) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateConfiguration(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDeployment(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHealth(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHost(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworkPorts(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOperatingSystem(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePlacementGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualSerialNumber(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpmemVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceReferenceV2) validateConfiguration(formats strfmt.Registry) error { + if swag.IsZero(m.Configuration) { // not required + return nil + } + + if m.Configuration != nil { + if err := m.Configuration.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("configuration") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("configuration") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateCores(formats strfmt.Registry) error { + + if err := validate.Required("cores", "body", m.Cores); err != nil { + return err + } + + if m.Cores != nil { + if err := m.Cores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateDeployment(formats strfmt.Registry) error { + + if err := validate.Required("deployment", "body", m.Deployment); err != nil { + return err + } + + if m.Deployment != nil { + if err := m.Deployment.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("deployment") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("deployment") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateHealth(formats strfmt.Registry) error { + if swag.IsZero(m.Health) { // not required + return nil + } + + if m.Health != nil { + if err := m.Health.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("health") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("health") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateHost(formats strfmt.Registry) error { + if swag.IsZero(m.Host) { // not required + return nil + } + + if m.Host != nil { + if err := m.Host.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("host") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("host") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + if m.Memory != nil { + if err := m.Memory.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("memory") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("memory") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateNetworkPorts(formats strfmt.Registry) error { + + if err := validate.Required("networkPorts", "body", m.NetworkPorts); err != nil { + return err + } + + for i := 0; i < len(m.NetworkPorts); i++ { + if swag.IsZero(m.NetworkPorts[i]) { // not required + continue + } + + if m.NetworkPorts[i] != nil { + if err := m.NetworkPorts[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkPorts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkPorts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateOperatingSystem(formats strfmt.Registry) error { + + if err := validate.Required("operatingSystem", "body", m.OperatingSystem); err != nil { + return err + } + + if m.OperatingSystem != nil { + if err := m.OperatingSystem.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("operatingSystem") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("operatingSystem") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validatePlacementGroup(formats strfmt.Registry) error { + if swag.IsZero(m.PlacementGroup) { // not required + return nil + } + + if m.PlacementGroup != nil { + if err := m.PlacementGroup.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("placementGroup") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("placementGroup") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateVirtualCores(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if m.VirtualCores != nil { + if err := m.VirtualCores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateVirtualSerialNumber(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualSerialNumber) { // not required + return nil + } + + if m.VirtualSerialNumber != nil { + if err := m.VirtualSerialNumber.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualSerialNumber") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualSerialNumber") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) validateVpmemVolumes(formats strfmt.Registry) error { + if swag.IsZero(m.VpmemVolumes) { // not required + return nil + } + + for i := 0; i < len(m.VpmemVolumes); i++ { + if swag.IsZero(m.VpmemVolumes[i]) { // not required + continue + } + + if m.VpmemVolumes[i] != nil { + if err := m.VpmemVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this p VM instance reference v2 based on the context it is used +func (m *PVMInstanceReferenceV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateConfiguration(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCores(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateDeployment(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateHealth(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateHost(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMemory(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNetworkPorts(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateOperatingSystem(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePlacementGroup(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualCores(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualSerialNumber(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpmemVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateConfiguration(ctx context.Context, formats strfmt.Registry) error { + + if m.Configuration != nil { + + if swag.IsZero(m.Configuration) { // not required + return nil + } + + if err := m.Configuration.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("configuration") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("configuration") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateCores(ctx context.Context, formats strfmt.Registry) error { + + if m.Cores != nil { + + if err := m.Cores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateDeployment(ctx context.Context, formats strfmt.Registry) error { + + if m.Deployment != nil { + + if err := m.Deployment.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("deployment") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("deployment") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateHealth(ctx context.Context, formats strfmt.Registry) error { + + if m.Health != nil { + + if swag.IsZero(m.Health) { // not required + return nil + } + + if err := m.Health.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("health") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("health") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateHost(ctx context.Context, formats strfmt.Registry) error { + + if m.Host != nil { + + if swag.IsZero(m.Host) { // not required + return nil + } + + if err := m.Host.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("host") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("host") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateMemory(ctx context.Context, formats strfmt.Registry) error { + + if m.Memory != nil { + + if err := m.Memory.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("memory") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("memory") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateNetworkPorts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.NetworkPorts); i++ { + + if m.NetworkPorts[i] != nil { + + if swag.IsZero(m.NetworkPorts[i]) { // not required + return nil + } + + if err := m.NetworkPorts[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkPorts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkPorts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateOperatingSystem(ctx context.Context, formats strfmt.Registry) error { + + if m.OperatingSystem != nil { + + if err := m.OperatingSystem.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("operatingSystem") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("operatingSystem") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidatePlacementGroup(ctx context.Context, formats strfmt.Registry) error { + + if m.PlacementGroup != nil { + + if swag.IsZero(m.PlacementGroup) { // not required + return nil + } + + if err := m.PlacementGroup.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("placementGroup") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("placementGroup") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateVirtualCores(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualCores != nil { + + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if err := m.VirtualCores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateVirtualSerialNumber(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualSerialNumber != nil { + + if swag.IsZero(m.VirtualSerialNumber) { // not required + return nil + } + + if err := m.VirtualSerialNumber.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualSerialNumber") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualSerialNumber") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceReferenceV2) contextValidateVpmemVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VpmemVolumes); i++ { + + if m.VpmemVolumes[i] != nil { + + if swag.IsZero(m.VpmemVolumes[i]) { // not required + return nil + } + + if err := m.VpmemVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceReferenceV2) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceReferenceV2) UnmarshalBinary(b []byte) error { + var res PVMInstanceReferenceV2 + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_remove_network.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_remove_network.go new file mode 100644 index 000000000..937e609de --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_remove_network.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PVMInstanceRemoveNetwork p VM instance remove network +// +// swagger:model PVMInstanceRemoveNetwork +type PVMInstanceRemoveNetwork struct { + + // The mac address of the network interface to be removed + MacAddress string `json:"macAddress,omitempty"` +} + +// Validate validates this p VM instance remove network +func (m *PVMInstanceRemoveNetwork) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this p VM instance remove network based on context it is used +func (m *PVMInstanceRemoveNetwork) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceRemoveNetwork) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceRemoveNetwork) UnmarshalBinary(b []byte) error { + var res PVMInstanceRemoveNetwork + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_update.go new file mode 100644 index 000000000..00331d7eb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_update.go @@ -0,0 +1,369 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceUpdate p VM instance update +// +// swagger:model PVMInstanceUpdate +type PVMInstanceUpdate struct { + + // Cloud Initialization Volume operations + CloudInitialization *CloudInitialization `json:"cloudInitialization,omitempty"` + + // The VTL license repository capacity TB value + LicenseRepositoryCapacity int64 `json:"licenseRepositoryCapacity,omitempty"` + + // Amount of memory allocated (in GB) + Memory float64 `json:"memory,omitempty"` + + // (deprecated - replaced by pinPolicy) Indicates if the server is allowed to migrate between hosts + Migratable *bool `json:"migratable,omitempty"` + + // pin policy + PinPolicy PinPolicy `json:"pinPolicy,omitempty"` + + // Preferred processor compatibility mode + PreferredProcessorCompatibilityMode string `json:"preferredProcessorCompatibilityMode,omitempty"` + + // Processor type (dedicated, shared, capped) + // Enum: ["dedicated","shared","capped"] + ProcType string `json:"procType,omitempty"` + + // Number of processors allocated + Processors float64 `json:"processors,omitempty"` + + // If an SAP pvm-instance, the SAP profile ID to switch to (only while shutdown) + SapProfileID string `json:"sapProfileID,omitempty"` + + // Name of the server to create + ServerName string `json:"serverName,omitempty"` + + // The pvm instance Software Licenses + SoftwareLicenses *SoftwareLicenses `json:"softwareLicenses,omitempty"` + + // Indicates if all volumes attached to the server must reside in the same storage pool; If set to false then volumes from any storage type and pool can be attached to the PVMInstance; Impacts PVMInstance snapshot, capture, and clone, for capture and clone - only data volumes that are of the same storage type and in the same storage pool of the PVMInstance's boot volume can be included; for snapshot - all data volumes to be included in the snapshot must reside in the same storage type and pool. Once set to false, cannot be set back to true unless all volumes attached reside in the same storage type and pool. + StoragePoolAffinity *bool `json:"storagePoolAffinity,omitempty"` + + // The pvm instance virtual CPU information + VirtualCores *VirtualCores `json:"virtualCores,omitempty"` +} + +// Validate validates this p VM instance update +func (m *PVMInstanceUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCloudInitialization(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePinPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareLicenses(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualCores(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceUpdate) validateCloudInitialization(formats strfmt.Registry) error { + if swag.IsZero(m.CloudInitialization) { // not required + return nil + } + + if m.CloudInitialization != nil { + if err := m.CloudInitialization.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cloudInitialization") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cloudInitialization") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceUpdate) validatePinPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.PinPolicy) { // not required + return nil + } + + if err := m.PinPolicy.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pinPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pinPolicy") + } + + return err + } + + return nil +} + +var pVmInstanceUpdateTypeProcTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dedicated","shared","capped"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceUpdateTypeProcTypePropEnum = append(pVmInstanceUpdateTypeProcTypePropEnum, v) + } +} + +const ( + + // PVMInstanceUpdateProcTypeDedicated captures enum value "dedicated" + PVMInstanceUpdateProcTypeDedicated string = "dedicated" + + // PVMInstanceUpdateProcTypeShared captures enum value "shared" + PVMInstanceUpdateProcTypeShared string = "shared" + + // PVMInstanceUpdateProcTypeCapped captures enum value "capped" + PVMInstanceUpdateProcTypeCapped string = "capped" +) + +// prop value enum +func (m *PVMInstanceUpdate) validateProcTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceUpdateTypeProcTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceUpdate) validateProcType(formats strfmt.Registry) error { + if swag.IsZero(m.ProcType) { // not required + return nil + } + + // value enum + if err := m.validateProcTypeEnum("procType", "body", m.ProcType); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceUpdate) validateSoftwareLicenses(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if m.SoftwareLicenses != nil { + if err := m.SoftwareLicenses.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceUpdate) validateVirtualCores(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if m.VirtualCores != nil { + if err := m.VirtualCores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this p VM instance update based on the context it is used +func (m *PVMInstanceUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCloudInitialization(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePinPolicy(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSoftwareLicenses(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualCores(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceUpdate) contextValidateCloudInitialization(ctx context.Context, formats strfmt.Registry) error { + + if m.CloudInitialization != nil { + + if swag.IsZero(m.CloudInitialization) { // not required + return nil + } + + if err := m.CloudInitialization.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cloudInitialization") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cloudInitialization") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceUpdate) contextValidatePinPolicy(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.PinPolicy) { // not required + return nil + } + + if err := m.PinPolicy.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pinPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pinPolicy") + } + + return err + } + + return nil +} + +func (m *PVMInstanceUpdate) contextValidateSoftwareLicenses(ctx context.Context, formats strfmt.Registry) error { + + if m.SoftwareLicenses != nil { + + if swag.IsZero(m.SoftwareLicenses) { // not required + return nil + } + + if err := m.SoftwareLicenses.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareLicenses") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareLicenses") + } + + return err + } + } + + return nil +} + +func (m *PVMInstanceUpdate) contextValidateVirtualCores(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualCores != nil { + + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if err := m.VirtualCores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceUpdate) UnmarshalBinary(b []byte) error { + var res PVMInstanceUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_update_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_update_response.go new file mode 100644 index 000000000..bc1397476 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_update_response.go @@ -0,0 +1,248 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceUpdateResponse p VM instance update response +// +// swagger:model PVMInstanceUpdateResponse +type PVMInstanceUpdateResponse struct { + + // The VTL license repository capacity TB value + LicenseRepositoryCapacity int64 `json:"licenseRepositoryCapacity,omitempty"` + + // Amount of memory allocated (in GB) + Memory float64 `json:"memory,omitempty"` + + // pin policy + PinPolicy PinPolicy `json:"pinPolicy,omitempty"` + + // Preferred processor compatibility mode + PreferredProcessorCompatibilityMode string `json:"preferredProcessorCompatibilityMode,omitempty"` + + // Processor type (dedicated, shared, capped) + // Enum: ["dedicated","shared","capped"] + ProcType string `json:"procType,omitempty"` + + // Number of processors allocated + Processors float64 `json:"processors,omitempty"` + + // Name of the server + ServerName string `json:"serverName,omitempty"` + + // URL to check for status of the operation (for now, just the URL for the GET on the server, which has status information from powervc) + StatusURL string `json:"statusUrl,omitempty"` + + // Indicates if all volumes attached to the server must reside in the same storage pool; If set to false then volumes from any storage type and pool can be attached to the PVMInstance; Impacts PVMInstance snapshot, capture, and clone, for capture and clone - only data volumes that are of the same storage type and in the same storage pool of the PVMInstance's boot volume can be included; for snapshot - all data volumes to be included in the snapshot must reside in the same storage type and pool. Once set to false, cannot be set back to true unless all volumes attached reside in the same storage type and pool. + StoragePoolAffinity *bool `json:"storagePoolAffinity,omitempty"` + + // The pvm instance virtual CPU information + VirtualCores *VirtualCores `json:"virtualCores,omitempty"` +} + +// Validate validates this p VM instance update response +func (m *PVMInstanceUpdateResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePinPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProcType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVirtualCores(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceUpdateResponse) validatePinPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.PinPolicy) { // not required + return nil + } + + if err := m.PinPolicy.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pinPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pinPolicy") + } + + return err + } + + return nil +} + +var pVmInstanceUpdateResponseTypeProcTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dedicated","shared","capped"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceUpdateResponseTypeProcTypePropEnum = append(pVmInstanceUpdateResponseTypeProcTypePropEnum, v) + } +} + +const ( + + // PVMInstanceUpdateResponseProcTypeDedicated captures enum value "dedicated" + PVMInstanceUpdateResponseProcTypeDedicated string = "dedicated" + + // PVMInstanceUpdateResponseProcTypeShared captures enum value "shared" + PVMInstanceUpdateResponseProcTypeShared string = "shared" + + // PVMInstanceUpdateResponseProcTypeCapped captures enum value "capped" + PVMInstanceUpdateResponseProcTypeCapped string = "capped" +) + +// prop value enum +func (m *PVMInstanceUpdateResponse) validateProcTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceUpdateResponseTypeProcTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceUpdateResponse) validateProcType(formats strfmt.Registry) error { + if swag.IsZero(m.ProcType) { // not required + return nil + } + + // value enum + if err := m.validateProcTypeEnum("procType", "body", m.ProcType); err != nil { + return err + } + + return nil +} + +func (m *PVMInstanceUpdateResponse) validateVirtualCores(formats strfmt.Registry) error { + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if m.VirtualCores != nil { + if err := m.VirtualCores.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this p VM instance update response based on the context it is used +func (m *PVMInstanceUpdateResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePinPolicy(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVirtualCores(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceUpdateResponse) contextValidatePinPolicy(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.PinPolicy) { // not required + return nil + } + + if err := m.PinPolicy.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pinPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pinPolicy") + } + + return err + } + + return nil +} + +func (m *PVMInstanceUpdateResponse) contextValidateVirtualCores(ctx context.Context, formats strfmt.Registry) error { + + if m.VirtualCores != nil { + + if swag.IsZero(m.VirtualCores) { // not required + return nil + } + + if err := m.VirtualCores.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("virtualCores") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("virtualCores") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceUpdateResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceUpdateResponse) UnmarshalBinary(b []byte) error { + var res PVMInstanceUpdateResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_v2_health.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_v2_health.go new file mode 100644 index 000000000..99ee65be1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_v2_health.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceV2Health PVM's health status details +// +// swagger:model PVMInstanceV2Health +type PVMInstanceV2Health struct { + + // The PVM's health status value + // Required: true + Status *string `json:"status"` +} + +// Validate validates this p VM instance v2 health +func (m *PVMInstanceV2Health) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceV2Health) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance v2 health based on context it is used +func (m *PVMInstanceV2Health) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceV2Health) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceV2Health) UnmarshalBinary(b []byte) error { + var res PVMInstanceV2Health + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_v2_network_port.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_v2_network_port.go new file mode 100644 index 000000000..4051e03b2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_v2_network_port.go @@ -0,0 +1,164 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceV2NetworkPort PVM's Port information +// +// swagger:model PVMInstanceV2NetworkPort +type PVMInstanceV2NetworkPort struct { + + // Unique Port ID + ID string `json:"id,omitempty"` + + // Dynamic Host Configuration Protocol {IPv4, IPv6} + // Enum: ["IPv4","IPv6"] + IPProtocol string `json:"ipProtocol,omitempty"` + + // The mac address of the network interface + MacAddress string `json:"macAddress,omitempty"` + + // The private ip address + PrivateIP string `json:"privateIP,omitempty"` + + // The type of ip allocation {dhcp, static} + // Enum: ["dhcp","static"] + Type string `json:"type,omitempty"` +} + +// Validate validates this p VM instance v2 network port +func (m *PVMInstanceV2NetworkPort) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateIPProtocol(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var pVmInstanceV2NetworkPortTypeIPProtocolPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["IPv4","IPv6"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceV2NetworkPortTypeIPProtocolPropEnum = append(pVmInstanceV2NetworkPortTypeIPProtocolPropEnum, v) + } +} + +const ( + + // PVMInstanceV2NetworkPortIPProtocolIPV4 captures enum value "IPv4" + PVMInstanceV2NetworkPortIPProtocolIPV4 string = "IPv4" + + // PVMInstanceV2NetworkPortIPProtocolIPV6 captures enum value "IPv6" + PVMInstanceV2NetworkPortIPProtocolIPV6 string = "IPv6" +) + +// prop value enum +func (m *PVMInstanceV2NetworkPort) validateIPProtocolEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceV2NetworkPortTypeIPProtocolPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceV2NetworkPort) validateIPProtocol(formats strfmt.Registry) error { + if swag.IsZero(m.IPProtocol) { // not required + return nil + } + + // value enum + if err := m.validateIPProtocolEnum("ipProtocol", "body", m.IPProtocol); err != nil { + return err + } + + return nil +} + +var pVmInstanceV2NetworkPortTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dhcp","static"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pVmInstanceV2NetworkPortTypeTypePropEnum = append(pVmInstanceV2NetworkPortTypeTypePropEnum, v) + } +} + +const ( + + // PVMInstanceV2NetworkPortTypeDhcp captures enum value "dhcp" + PVMInstanceV2NetworkPortTypeDhcp string = "dhcp" + + // PVMInstanceV2NetworkPortTypeStatic captures enum value "static" + PVMInstanceV2NetworkPortTypeStatic string = "static" +) + +// prop value enum +func (m *PVMInstanceV2NetworkPort) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pVmInstanceV2NetworkPortTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PVMInstanceV2NetworkPort) validateType(formats strfmt.Registry) error { + if swag.IsZero(m.Type) { // not required + return nil + } + + // value enum + if err := m.validateTypeEnum("type", "body", m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance v2 network port based on context it is used +func (m *PVMInstanceV2NetworkPort) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceV2NetworkPort) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceV2NetworkPort) UnmarshalBinary(b []byte) error { + var res PVMInstanceV2NetworkPort + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_virtual_cores.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_virtual_cores.go new file mode 100644 index 000000000..fd587581e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_virtual_cores.go @@ -0,0 +1,82 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceVirtualCores p VM instance virtual cores +// +// swagger:model PVMInstanceVirtualCores +type PVMInstanceVirtualCores struct { + + // The active virtual Cores + // Required: true + // Minimum: 1 + Assigned *int64 `json:"assigned"` + + // The maximum DLPAR range for virtual Cores (Display only support) + Maximum int64 `json:"maximum,omitempty"` + + // The minimum DLPAR range for virtual Cores (Display only support) + Minimum int64 `json:"minimum,omitempty"` +} + +// Validate validates this p VM instance virtual cores +func (m *PVMInstanceVirtualCores) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAssigned(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceVirtualCores) validateAssigned(formats strfmt.Registry) error { + + if err := validate.Required("assigned", "body", m.Assigned); err != nil { + return err + } + + if err := validate.MinimumInt("assigned", "body", *m.Assigned, 1, false); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance virtual cores based on context it is used +func (m *PVMInstanceVirtualCores) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceVirtualCores) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceVirtualCores) UnmarshalBinary(b []byte) error { + var res PVMInstanceVirtualCores + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_volume_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_volume_update.go new file mode 100644 index 000000000..c5d841f65 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instance_volume_update.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstanceVolumeUpdate p VM instance volume update +// +// swagger:model PVMInstanceVolumeUpdate +type PVMInstanceVolumeUpdate struct { + + // Indicates if the volume should be deleted when the PVMInstance is terminated. + // Required: true + DeleteOnTermination *bool `json:"deleteOnTermination"` +} + +// Validate validates this p VM instance volume update +func (m *PVMInstanceVolumeUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDeleteOnTermination(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstanceVolumeUpdate) validateDeleteOnTermination(formats strfmt.Registry) error { + + if err := validate.Required("deleteOnTermination", "body", m.DeleteOnTermination); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this p VM instance volume update based on context it is used +func (m *PVMInstanceVolumeUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstanceVolumeUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstanceVolumeUpdate) UnmarshalBinary(b []byte) error { + var res PVMInstanceVolumeUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instances.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instances.go new file mode 100644 index 000000000..abdc1eb6a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instances.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstances p VM instances +// +// swagger:model PVMInstances +type PVMInstances struct { + + // PVM Instance References + // Required: true + PvmInstances []*PVMInstanceReference `json:"pvmInstances"` +} + +// Validate validates this p VM instances +func (m *PVMInstances) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePvmInstances(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstances) validatePvmInstances(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstances", "body", m.PvmInstances); err != nil { + return err + } + + for i := 0; i < len(m.PvmInstances); i++ { + if swag.IsZero(m.PvmInstances[i]) { // not required + continue + } + + if m.PvmInstances[i] != nil { + if err := m.PvmInstances[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this p VM instances based on the context it is used +func (m *PVMInstances) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePvmInstances(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstances) contextValidatePvmInstances(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PvmInstances); i++ { + + if m.PvmInstances[i] != nil { + + if swag.IsZero(m.PvmInstances[i]) { // not required + return nil + } + + if err := m.PvmInstances[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstances) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstances) UnmarshalBinary(b []byte) error { + var res PVMInstances + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instances_v2.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instances_v2.go new file mode 100644 index 000000000..fd9a3809f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/p_vm_instances_v2.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PVMInstancesV2 p VM instances v2 +// +// swagger:model PVMInstancesV2 +type PVMInstancesV2 struct { + + // PVM Instance References + // Required: true + PvmInstances []*PVMInstanceReferenceV2 `json:"pvmInstances"` +} + +// Validate validates this p VM instances v2 +func (m *PVMInstancesV2) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePvmInstances(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstancesV2) validatePvmInstances(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstances", "body", m.PvmInstances); err != nil { + return err + } + + for i := 0; i < len(m.PvmInstances); i++ { + if swag.IsZero(m.PvmInstances[i]) { // not required + continue + } + + if m.PvmInstances[i] != nil { + if err := m.PvmInstances[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this p VM instances v2 based on the context it is used +func (m *PVMInstancesV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePvmInstances(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PVMInstancesV2) contextValidatePvmInstances(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PvmInstances); i++ { + + if m.PvmInstances[i] != nil { + + if swag.IsZero(m.PvmInstances[i]) { // not required + return nil + } + + if err := m.PvmInstances[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pvmInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PVMInstancesV2) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PVMInstancesV2) UnmarshalBinary(b []byte) error { + var res PVMInstancesV2 + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_gateway_address.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_gateway_address.go new file mode 100644 index 000000000..1a060a636 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_gateway_address.go @@ -0,0 +1,39 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// PeerGatewayAddress IP address of the Peer Gateway attached to this VPNConnection +// Example: 192.168.1.1 +// +// swagger:model PeerGatewayAddress +type PeerGatewayAddress strfmt.IPv4 + +// Validate validates this peer gateway address +func (m PeerGatewayAddress) Validate(formats strfmt.Registry) error { + var res []error + + if err := validate.FormatOf("", "body", "ipv4", strfmt.IPv4(m).String(), formats); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this peer gateway address based on context it is used +func (m PeerGatewayAddress) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_interface.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_interface.go new file mode 100644 index 000000000..62ac7d09b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_interface.go @@ -0,0 +1,180 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PeerInterface peer interface +// +// swagger:model PeerInterface +type PeerInterface struct { + + // device ID of the peer interface + // Example: switch1 + // Required: true + DeviceID *string `json:"deviceID"` + + // peer interface name + // Example: Peer121 + // Required: true + Name *string `json:"name"` + + // peer interface ID + // Example: 031ab7da-bca6-493f-ac55-1a2a26f19160 + // Required: true + PeerInterfaceID *string `json:"peerInterfaceID"` + + // type of peer interface + // Example: interface + // Required: true + // Enum: ["interface","lag"] + PeerType *string `json:"peerType"` + + // port ID of the peer interface + // Example: po10 + // Required: true + PortID *string `json:"portID"` +} + +// Validate validates this peer interface +func (m *PeerInterface) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDeviceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeerInterfaceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeerType(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePortID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PeerInterface) validateDeviceID(formats strfmt.Registry) error { + + if err := validate.Required("deviceID", "body", m.DeviceID); err != nil { + return err + } + + return nil +} + +func (m *PeerInterface) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *PeerInterface) validatePeerInterfaceID(formats strfmt.Registry) error { + + if err := validate.Required("peerInterfaceID", "body", m.PeerInterfaceID); err != nil { + return err + } + + return nil +} + +var peerInterfaceTypePeerTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["interface","lag"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + peerInterfaceTypePeerTypePropEnum = append(peerInterfaceTypePeerTypePropEnum, v) + } +} + +const ( + + // PeerInterfacePeerTypeInterface captures enum value "interface" + PeerInterfacePeerTypeInterface string = "interface" + + // PeerInterfacePeerTypeLag captures enum value "lag" + PeerInterfacePeerTypeLag string = "lag" +) + +// prop value enum +func (m *PeerInterface) validatePeerTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, peerInterfaceTypePeerTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PeerInterface) validatePeerType(formats strfmt.Registry) error { + + if err := validate.Required("peerType", "body", m.PeerType); err != nil { + return err + } + + // value enum + if err := m.validatePeerTypeEnum("peerType", "body", *m.PeerType); err != nil { + return err + } + + return nil +} + +func (m *PeerInterface) validatePortID(formats strfmt.Registry) error { + + if err := validate.Required("portID", "body", m.PortID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this peer interface based on context it is used +func (m *PeerInterface) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PeerInterface) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PeerInterface) UnmarshalBinary(b []byte) error { + var res PeerInterface + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_interfaces.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_interfaces.go new file mode 100644 index 000000000..fe60ada66 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_interfaces.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PeerInterfaces peer interfaces +// +// swagger:model PeerInterfaces +type PeerInterfaces []*PeerInterface + +// Validate validates this peer interfaces +func (m PeerInterfaces) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this peer interfaces based on the context it is used +func (m PeerInterfaces) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_subnet_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_subnet_update.go new file mode 100644 index 000000000..863dd9747 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_subnet_update.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PeerSubnetUpdate CIDR of peer subnet to attach/detach +// +// swagger:model PeerSubnetUpdate +type PeerSubnetUpdate struct { + + // cidr + // Example: 128.170.1.0/32 + // Required: true + Cidr *string `json:"cidr"` +} + +// Validate validates this peer subnet update +func (m *PeerSubnetUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCidr(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PeerSubnetUpdate) validateCidr(formats strfmt.Registry) error { + + if err := validate.Required("cidr", "body", m.Cidr); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this peer subnet update based on context it is used +func (m *PeerSubnetUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PeerSubnetUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PeerSubnetUpdate) UnmarshalBinary(b []byte) error { + var res PeerSubnetUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_subnets.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_subnets.go new file mode 100644 index 000000000..42c108d62 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peer_subnets.go @@ -0,0 +1,51 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PeerSubnets peer subnets +// +// swagger:model PeerSubnets +type PeerSubnets struct { + + // an array of strings containing CIDR of peer subnets + // Example: ["128.170.1.0/20","128.169.1.0/24","128.168.1.0/27","128.170.1.0/32"] + PeerSubnets []string `json:"peerSubnets"` +} + +// Validate validates this peer subnets +func (m *PeerSubnets) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this peer subnets based on context it is used +func (m *PeerSubnets) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PeerSubnets) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PeerSubnets) UnmarshalBinary(b []byte) error { + var res PeerSubnets + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/peering_network.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peering_network.go new file mode 100644 index 000000000..9530fe174 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/peering_network.go @@ -0,0 +1,91 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PeeringNetwork peering network +// +// swagger:model PeeringNetwork +type PeeringNetwork struct { + + // Network in CIDR notation (192.168.0.0/24) + // Required: true + Cidr *string `json:"cidr" datastore:"cidr"` + + // DNS Servers + DNSServers []string `json:"dnsServers,omitempty" datastore:"dnsServers"` + + // Name of project to be peered + // Required: true + ProjectName *string `json:"projectName" datastore:"projectName"` +} + +// Validate validates this peering network +func (m *PeeringNetwork) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCidr(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProjectName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PeeringNetwork) validateCidr(formats strfmt.Registry) error { + + if err := validate.Required("cidr", "body", m.Cidr); err != nil { + return err + } + + return nil +} + +func (m *PeeringNetwork) validateProjectName(formats strfmt.Registry) error { + + if err := validate.Required("projectName", "body", m.ProjectName); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this peering network based on context it is used +func (m *PeeringNetwork) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PeeringNetwork) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PeeringNetwork) UnmarshalBinary(b []byte) error { + var res PeeringNetwork + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/permissions.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/permissions.go new file mode 100644 index 000000000..7f1b080b9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/permissions.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Permissions permissions +// +// swagger:model Permissions +type Permissions struct { + + // Determines if role has manage (ex. delete) level access + // Required: true + Manage *bool `json:"manage"` + + // Determines if role has read level access + // Required: true + Read *bool `json:"read"` + + // Determines if role has write level access + // Required: true + Write *bool `json:"write"` +} + +// Validate validates this permissions +func (m *Permissions) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateManage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRead(formats); err != nil { + res = append(res, err) + } + + if err := m.validateWrite(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Permissions) validateManage(formats strfmt.Registry) error { + + if err := validate.Required("manage", "body", m.Manage); err != nil { + return err + } + + return nil +} + +func (m *Permissions) validateRead(formats strfmt.Registry) error { + + if err := validate.Required("read", "body", m.Read); err != nil { + return err + } + + return nil +} + +func (m *Permissions) validateWrite(formats strfmt.Registry) error { + + if err := validate.Required("write", "body", m.Write); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this permissions based on context it is used +func (m *Permissions) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Permissions) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Permissions) UnmarshalBinary(b []byte) error { + var res Permissions + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/pin_policy.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pin_policy.go new file mode 100644 index 000000000..79df52325 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pin_policy.go @@ -0,0 +1,81 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// PinPolicy Specify PVM pin policy +// +// swagger:model PinPolicy +type PinPolicy string + +func NewPinPolicy(value PinPolicy) *PinPolicy { + return &value +} + +// Pointer returns a pointer to a freshly-allocated PinPolicy. +func (m PinPolicy) Pointer() *PinPolicy { + return &m +} + +const ( + + // PinPolicyNone captures enum value "none" + PinPolicyNone PinPolicy = "none" + + // PinPolicySoft captures enum value "soft" + PinPolicySoft PinPolicy = "soft" + + // PinPolicyHard captures enum value "hard" + PinPolicyHard PinPolicy = "hard" +) + +// for schema +var pinPolicyEnum []any + +func init() { + var res []PinPolicy + if err := json.Unmarshal([]byte(`["none","soft","hard"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pinPolicyEnum = append(pinPolicyEnum, v) + } +} + +func (m PinPolicy) validatePinPolicyEnum(path, location string, value PinPolicy) error { + if err := validate.EnumCase(path, location, value, pinPolicyEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this pin policy +func (m PinPolicy) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validatePinPolicyEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this pin policy based on context it is used +func (m PinPolicy) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group.go new file mode 100644 index 000000000..0aad4e09c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group.go @@ -0,0 +1,268 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PlacementGroup placement group +// +// swagger:model PlacementGroup +type PlacementGroup struct { + + // crn + Crn CRN `json:"crn,omitempty"` + + // The id of the Placement Group + // Required: true + ID *string `json:"id"` + + // The List of PVM Instance IDs associated with the Placement Group + // Required: true + Members []string `json:"members"` + + // The name of the Placement Group + // Required: true + Name *string `json:"name"` + + // The Placement Group Policy + // Required: true + // Enum: ["affinity","anti-affinity"] + Policy *string `json:"policy"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this placement group +func (m *PlacementGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMembers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PlacementGroup) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *PlacementGroup) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *PlacementGroup) validateMembers(formats strfmt.Registry) error { + + if err := validate.Required("members", "body", m.Members); err != nil { + return err + } + + return nil +} + +func (m *PlacementGroup) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +var placementGroupTypePolicyPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["affinity","anti-affinity"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + placementGroupTypePolicyPropEnum = append(placementGroupTypePolicyPropEnum, v) + } +} + +const ( + + // PlacementGroupPolicyAffinity captures enum value "affinity" + PlacementGroupPolicyAffinity string = "affinity" + + // PlacementGroupPolicyAntiDashAffinity captures enum value "anti-affinity" + PlacementGroupPolicyAntiDashAffinity string = "anti-affinity" +) + +// prop value enum +func (m *PlacementGroup) validatePolicyEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, placementGroupTypePolicyPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PlacementGroup) validatePolicy(formats strfmt.Registry) error { + + if err := validate.Required("policy", "body", m.Policy); err != nil { + return err + } + + // value enum + if err := m.validatePolicyEnum("policy", "body", *m.Policy); err != nil { + return err + } + + return nil +} + +func (m *PlacementGroup) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this placement group based on the context it is used +func (m *PlacementGroup) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PlacementGroup) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *PlacementGroup) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PlacementGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PlacementGroup) UnmarshalBinary(b []byte) error { + var res PlacementGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group_create.go new file mode 100644 index 000000000..a7b4a0e77 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group_create.go @@ -0,0 +1,180 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PlacementGroupCreate placement group create +// +// swagger:model PlacementGroupCreate +type PlacementGroupCreate struct { + + // The name of the Placement Group + // Required: true + Name *string `json:"name"` + + // The Placement Group Policy + // Required: true + // Enum: ["affinity","anti-affinity"] + Policy *string `json:"policy"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this placement group create +func (m *PlacementGroupCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PlacementGroupCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +var placementGroupCreateTypePolicyPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["affinity","anti-affinity"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + placementGroupCreateTypePolicyPropEnum = append(placementGroupCreateTypePolicyPropEnum, v) + } +} + +const ( + + // PlacementGroupCreatePolicyAffinity captures enum value "affinity" + PlacementGroupCreatePolicyAffinity string = "affinity" + + // PlacementGroupCreatePolicyAntiDashAffinity captures enum value "anti-affinity" + PlacementGroupCreatePolicyAntiDashAffinity string = "anti-affinity" +) + +// prop value enum +func (m *PlacementGroupCreate) validatePolicyEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, placementGroupCreateTypePolicyPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PlacementGroupCreate) validatePolicy(formats strfmt.Registry) error { + + if err := validate.Required("policy", "body", m.Policy); err != nil { + return err + } + + // value enum + if err := m.validatePolicyEnum("policy", "body", *m.Policy); err != nil { + return err + } + + return nil +} + +func (m *PlacementGroupCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this placement group create based on the context it is used +func (m *PlacementGroupCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PlacementGroupCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PlacementGroupCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PlacementGroupCreate) UnmarshalBinary(b []byte) error { + var res PlacementGroupCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group_server.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group_server.go new file mode 100644 index 000000000..73d29188f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_group_server.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PlacementGroupServer placement group server +// +// swagger:model PlacementGroupServer +type PlacementGroupServer struct { + + // The ID of the Server + // Required: true + ID *string `json:"id"` +} + +// Validate validates this placement group server +func (m *PlacementGroupServer) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PlacementGroupServer) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this placement group server based on context it is used +func (m *PlacementGroupServer) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PlacementGroupServer) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PlacementGroupServer) UnmarshalBinary(b []byte) error { + var res PlacementGroupServer + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_groups.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_groups.go new file mode 100644 index 000000000..041183817 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/placement_groups.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PlacementGroups placement groups +// +// swagger:model PlacementGroups +type PlacementGroups struct { + + // List of Server Placement Groups + // Required: true + PlacementGroups []*PlacementGroup `json:"placementGroups"` +} + +// Validate validates this placement groups +func (m *PlacementGroups) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePlacementGroups(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PlacementGroups) validatePlacementGroups(formats strfmt.Registry) error { + + if err := validate.Required("placementGroups", "body", m.PlacementGroups); err != nil { + return err + } + + for i := 0; i < len(m.PlacementGroups); i++ { + if swag.IsZero(m.PlacementGroups[i]) { // not required + continue + } + + if m.PlacementGroups[i] != nil { + if err := m.PlacementGroups[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("placementGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("placementGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this placement groups based on the context it is used +func (m *PlacementGroups) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePlacementGroups(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PlacementGroups) contextValidatePlacementGroups(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PlacementGroups); i++ { + + if m.PlacementGroups[i] != nil { + + if swag.IsZero(m.PlacementGroups[i]) { // not required + return nil + } + + if err := m.PlacementGroups[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("placementGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("placementGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PlacementGroups) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PlacementGroups) UnmarshalBinary(b []byte) error { + var res PlacementGroups + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/plan.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/plan.go new file mode 100644 index 000000000..bb5c7247b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/plan.go @@ -0,0 +1,179 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Plan plan +// +// swagger:model Plan +type Plan struct { + + // bindable + Bindable bool `json:"bindable,omitempty"` + + // description + // Required: true + Description *string `json:"description"` + + // free + Free *bool `json:"free,omitempty"` + + // id + // Required: true + ID *string `json:"id"` + + // metadata + Metadata Metadata `json:"metadata,omitempty"` + + // name + // Required: true + Name *string `json:"name"` + + // schemas + Schemas *SchemasObject `json:"schemas,omitempty"` +} + +// Validate validates this plan +func (m *Plan) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSchemas(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Plan) validateDescription(formats strfmt.Registry) error { + + if err := validate.Required("description", "body", m.Description); err != nil { + return err + } + + return nil +} + +func (m *Plan) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *Plan) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *Plan) validateSchemas(formats strfmt.Registry) error { + if swag.IsZero(m.Schemas) { // not required + return nil + } + + if m.Schemas != nil { + if err := m.Schemas.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("schemas") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("schemas") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this plan based on the context it is used +func (m *Plan) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSchemas(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Plan) contextValidateSchemas(ctx context.Context, formats strfmt.Registry) error { + + if m.Schemas != nil { + + if swag.IsZero(m.Schemas) { // not required + return nil + } + + if err := m.Schemas.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("schemas") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("schemas") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Plan) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Plan) UnmarshalBinary(b []byte) error { + var res Plan + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/pod_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pod_capacity.go new file mode 100644 index 000000000..82f39c812 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pod_capacity.go @@ -0,0 +1,230 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PodCapacity List of available resources within a Pod +// +// swagger:model PodCapacity +type PodCapacity struct { + + // pod data + PodData *PodData `json:"PodData,omitempty"` + + // storage controllers + StorageControllers StorageControllers `json:"StorageControllers,omitempty"` + + // system pools + SystemPools SystemPoolsCapacity `json:"SystemPools,omitempty"` +} + +// Validate validates this pod capacity +func (m *PodCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePodData(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageControllers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSystemPools(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PodCapacity) validatePodData(formats strfmt.Registry) error { + if swag.IsZero(m.PodData) { // not required + return nil + } + + if m.PodData != nil { + if err := m.PodData.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("PodData") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("PodData") + } + + return err + } + } + + return nil +} + +func (m *PodCapacity) validateStorageControllers(formats strfmt.Registry) error { + if swag.IsZero(m.StorageControllers) { // not required + return nil + } + + if m.StorageControllers != nil { + if err := m.StorageControllers.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("StorageControllers") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("StorageControllers") + } + + return err + } + } + + return nil +} + +func (m *PodCapacity) validateSystemPools(formats strfmt.Registry) error { + if swag.IsZero(m.SystemPools) { // not required + return nil + } + + if m.SystemPools != nil { + if err := m.SystemPools.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("SystemPools") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("SystemPools") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this pod capacity based on the context it is used +func (m *PodCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePodData(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStorageControllers(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSystemPools(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PodCapacity) contextValidatePodData(ctx context.Context, formats strfmt.Registry) error { + + if m.PodData != nil { + + if swag.IsZero(m.PodData) { // not required + return nil + } + + if err := m.PodData.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("PodData") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("PodData") + } + + return err + } + } + + return nil +} + +func (m *PodCapacity) contextValidateStorageControllers(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.StorageControllers) { // not required + return nil + } + + if err := m.StorageControllers.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("StorageControllers") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("StorageControllers") + } + + return err + } + + return nil +} + +func (m *PodCapacity) contextValidateSystemPools(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.SystemPools) { // not required + return nil + } + + if err := m.SystemPools.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("SystemPools") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("SystemPools") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PodCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PodCapacity) UnmarshalBinary(b []byte) error { + var res PodCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/pod_data.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pod_data.go new file mode 100644 index 000000000..f87dc1c94 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pod_data.go @@ -0,0 +1,224 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PodData Description of a PPCaaS Pod +// +// swagger:model PodData +type PodData struct { + + // Number of available cores in the Pod + // Required: true + Cores *float64 `json:"cores"` + + // Amount of available memory in the Pod (GB) + // Required: true + Memory *int64 `json:"memory"` + + // ID of the Satellite Location + // Required: true + SatLocationID *string `json:"satLocationID"` + + // Amount of available storage in the Pod (GB) + // Required: true + Storage *int64 `json:"storage"` + + // Total number of usable cores in the Pod + // Required: true + TotalCores *float64 `json:"totalCores"` + + // Total amount of usable memory in the Pod (GB) + // Required: true + TotalMemory *int64 `json:"totalMemory"` + + // Total number of physical cores in the Pod + // Required: true + TotalPhysCores *float64 `json:"totalPhysCores"` + + // Total amount of physical memory in the Pod (GB) + // Required: true + TotalPhysMemory *int64 `json:"totalPhysMemory"` + + // Total amount of physical storage in the Pod (GB) + // Required: true + TotalPhysStorage *float64 `json:"totalPhysStorage"` + + // Total amount of usable storage in the Pod (GB) + // Required: true + TotalStorage *int64 `json:"totalStorage"` +} + +// Validate validates this pod data +func (m *PodData) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSatLocationID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalPhysCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalPhysMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalPhysStorage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalStorage(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PodData) validateCores(formats strfmt.Registry) error { + + if err := validate.Required("cores", "body", m.Cores); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateSatLocationID(formats strfmt.Registry) error { + + if err := validate.Required("satLocationID", "body", m.SatLocationID); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateStorage(formats strfmt.Registry) error { + + if err := validate.Required("storage", "body", m.Storage); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateTotalCores(formats strfmt.Registry) error { + + if err := validate.Required("totalCores", "body", m.TotalCores); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateTotalMemory(formats strfmt.Registry) error { + + if err := validate.Required("totalMemory", "body", m.TotalMemory); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateTotalPhysCores(formats strfmt.Registry) error { + + if err := validate.Required("totalPhysCores", "body", m.TotalPhysCores); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateTotalPhysMemory(formats strfmt.Registry) error { + + if err := validate.Required("totalPhysMemory", "body", m.TotalPhysMemory); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateTotalPhysStorage(formats strfmt.Registry) error { + + if err := validate.Required("totalPhysStorage", "body", m.TotalPhysStorage); err != nil { + return err + } + + return nil +} + +func (m *PodData) validateTotalStorage(formats strfmt.Registry) error { + + if err := validate.Required("totalStorage", "body", m.TotalStorage); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this pod data based on context it is used +func (m *PodData) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PodData) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PodData) UnmarshalBinary(b []byte) error { + var res PodData + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_edge_router_action.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_edge_router_action.go new file mode 100644 index 000000000..a22ea5abe --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_edge_router_action.go @@ -0,0 +1,107 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PowerEdgeRouterAction power edge router action +// +// swagger:model PowerEdgeRouterAction +type PowerEdgeRouterAction struct { + + // Name of the action to take; can be migrate-start, migrate-validate + // Required: true + // Enum: ["migrate-start","migrate-validate"] + Action *string `json:"action"` +} + +// Validate validates this power edge router action +func (m *PowerEdgeRouterAction) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var powerEdgeRouterActionTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["migrate-start","migrate-validate"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + powerEdgeRouterActionTypeActionPropEnum = append(powerEdgeRouterActionTypeActionPropEnum, v) + } +} + +const ( + + // PowerEdgeRouterActionActionMigrateDashStart captures enum value "migrate-start" + PowerEdgeRouterActionActionMigrateDashStart string = "migrate-start" + + // PowerEdgeRouterActionActionMigrateDashValidate captures enum value "migrate-validate" + PowerEdgeRouterActionActionMigrateDashValidate string = "migrate-validate" +) + +// prop value enum +func (m *PowerEdgeRouterAction) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, powerEdgeRouterActionTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PowerEdgeRouterAction) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this power edge router action based on context it is used +func (m *PowerEdgeRouterAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PowerEdgeRouterAction) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PowerEdgeRouterAction) UnmarshalBinary(b []byte) error { + var res PowerEdgeRouterAction + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_v_s_instance.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_v_s_instance.go new file mode 100644 index 000000000..15aeee62b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_v_s_instance.go @@ -0,0 +1,280 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PowerVSInstance PowerVS Instance for a specific IBM Cloud Account +// +// swagger:model PowerVSInstance +type PowerVSInstance struct { + + // capabilities + // Required: true + Capabilities InstanceCapabilities `json:"capabilities"` + + // The timestamp in which the PowerVS service instance was created + // Example: 2022-04-04T16:20:15.581636275Z + // Required: true + CreationDate *string `json:"creationDate"` + + // The PowerVS Service Instance CRN + // Example: crn:v1:bluemix:public:power-iaas:dal12:a/2bc3df23c0d14ebe921397bd8aa2573a:3a5798f1-4d2b-4e0a-9311-9b0fd6b94698:: + // Required: true + Crn *string `json:"crn"` + + // The PowerVS IBM Cloud URL path for UI (Tentative, still need verification that this is possible) + // Example: https://cloud.ibm.com/services/power-iaas/crn%3Av1%3Abluemix%3Apublic%3Apower-iaas%3Adal12%3Aa%2F2bc3df23c0d14ebe921397bd8aa2573a%3A5de8348d-bc6a-466e-854f-661d1e86b230%3A%3A + // Required: true + Href *string `json:"href"` + + // The PowerVS Service Instance ID + // Example: 3a5798f1-4d2b-4e0a-9311-9b0fd6b94698 + // Required: true + ID *string `json:"id"` + + // Location of the PowerVS Instance + // Example: dal12 + // Required: true + Location *string `json:"location"` + + // The PowerVS URL path to access specific service instance information + // Example: https://us-south.power-iaas.cloud.ibm.com + // Required: true + LocationURL *string `json:"locationUrl"` + + // The name of the service instance (This field will be empty for old accounts as PowerVS did not previously saved the names) + // Example: Test Name + // Required: true + Name *string `json:"name"` + + // Defines if the user has administrator privileges + // Example: true + // Required: true + PrivilegedUser *bool `json:"privilegedUser"` + + // IBM Resource Group ID associated with the PowerVS Service Instance (This field will be empty for old accounts as PowerVS did not previously saved the Resource Group ID) + // Example: 2bf1887bf5c947b1966de2bd88220489 + ResourceGroupID string `json:"resourceGroupId,omitempty"` + + // The status of the service instance (PowerVS behavior, if Service Instance exists then then status is active) + // Example: Active + // Required: true + Status *string `json:"status"` +} + +// Validate validates this power v s instance +func (m *PowerVSInstance) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCapabilities(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLocation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLocationURL(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePrivilegedUser(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PowerVSInstance) validateCapabilities(formats strfmt.Registry) error { + + if err := validate.Required("capabilities", "body", m.Capabilities); err != nil { + return err + } + + if m.Capabilities != nil { + if err := m.Capabilities.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capabilities") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capabilities") + } + + return err + } + } + + return nil +} + +func (m *PowerVSInstance) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + return nil +} + +func (m *PowerVSInstance) validateCrn(formats strfmt.Registry) error { + + if err := validate.Required("crn", "body", m.Crn); err != nil { + return err + } + + return nil +} + +func (m *PowerVSInstance) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *PowerVSInstance) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *PowerVSInstance) validateLocation(formats strfmt.Registry) error { + + if err := validate.Required("location", "body", m.Location); err != nil { + return err + } + + return nil +} + +func (m *PowerVSInstance) validateLocationURL(formats strfmt.Registry) error { + + if err := validate.Required("locationUrl", "body", m.LocationURL); err != nil { + return err + } + + return nil +} + +func (m *PowerVSInstance) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *PowerVSInstance) validatePrivilegedUser(formats strfmt.Registry) error { + + if err := validate.Required("privilegedUser", "body", m.PrivilegedUser); err != nil { + return err + } + + return nil +} + +func (m *PowerVSInstance) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this power v s instance based on the context it is used +func (m *PowerVSInstance) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCapabilities(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PowerVSInstance) contextValidateCapabilities(ctx context.Context, formats strfmt.Registry) error { + + if err := m.Capabilities.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capabilities") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capabilities") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PowerVSInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PowerVSInstance) UnmarshalBinary(b []byte) error { + var res PowerVSInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_v_s_instances.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_v_s_instances.go new file mode 100644 index 000000000..4d5e409db --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/power_v_s_instances.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PowerVSInstances The List of PowerVS Instances for a specific IBM Cloud Account +// +// swagger:model PowerVSInstances +type PowerVSInstances struct { + + // power vs instances + // Required: true + PowerVsInstances []*PowerVSInstance `json:"powerVsInstances"` +} + +// Validate validates this power v s instances +func (m *PowerVSInstances) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePowerVsInstances(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PowerVSInstances) validatePowerVsInstances(formats strfmt.Registry) error { + + if err := validate.Required("powerVsInstances", "body", m.PowerVsInstances); err != nil { + return err + } + + for i := 0; i < len(m.PowerVsInstances); i++ { + if swag.IsZero(m.PowerVsInstances[i]) { // not required + continue + } + + if m.PowerVsInstances[i] != nil { + if err := m.PowerVsInstances[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("powerVsInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("powerVsInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this power v s instances based on the context it is used +func (m *PowerVSInstances) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePowerVsInstances(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PowerVSInstances) contextValidatePowerVsInstances(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PowerVsInstances); i++ { + + if m.PowerVsInstances[i] != nil { + + if swag.IsZero(m.PowerVsInstances[i]) { // not required + return nil + } + + if err := m.PowerVsInstances[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("powerVsInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("powerVsInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PowerVSInstances) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PowerVSInstances) UnmarshalBinary(b []byte) error { + var res PowerVSInstances + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_deployment.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_deployment.go new file mode 100644 index 000000000..1d60ff929 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_deployment.go @@ -0,0 +1,119 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PvmInstanceDeployment pvm instance deployment +// +// swagger:model PvmInstanceDeployment +type PvmInstanceDeployment struct { + + // Machine type used to host the instance + MachineType string `json:"machineType,omitempty"` + + // VM pin policy to use [none, soft, hard] + PinPolicy string `json:"pinPolicy,omitempty"` + + // Processor mode (dedicated, shared, capped) + // Required: true + // Enum: ["dedicated","shared","capped"] + ProcessorMode *string `json:"processorMode"` + + // Type of Deployment [SAP-RISE, EPIC] + Type string `json:"type,omitempty"` +} + +// Validate validates this pvm instance deployment +func (m *PvmInstanceDeployment) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateProcessorMode(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var pvmInstanceDeploymentTypeProcessorModePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["dedicated","shared","capped"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + pvmInstanceDeploymentTypeProcessorModePropEnum = append(pvmInstanceDeploymentTypeProcessorModePropEnum, v) + } +} + +const ( + + // PvmInstanceDeploymentProcessorModeDedicated captures enum value "dedicated" + PvmInstanceDeploymentProcessorModeDedicated string = "dedicated" + + // PvmInstanceDeploymentProcessorModeShared captures enum value "shared" + PvmInstanceDeploymentProcessorModeShared string = "shared" + + // PvmInstanceDeploymentProcessorModeCapped captures enum value "capped" + PvmInstanceDeploymentProcessorModeCapped string = "capped" +) + +// prop value enum +func (m *PvmInstanceDeployment) validateProcessorModeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, pvmInstanceDeploymentTypeProcessorModePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *PvmInstanceDeployment) validateProcessorMode(formats strfmt.Registry) error { + + if err := validate.Required("processorMode", "body", m.ProcessorMode); err != nil { + return err + } + + // value enum + if err := m.validateProcessorModeEnum("processorMode", "body", *m.ProcessorMode); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this pvm instance deployment based on context it is used +func (m *PvmInstanceDeployment) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PvmInstanceDeployment) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PvmInstanceDeployment) UnmarshalBinary(b []byte) error { + var res PvmInstanceDeployment + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_host.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_host.go new file mode 100644 index 000000000..2108d5fe7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_host.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// PvmInstanceHost pvm instance host +// +// swagger:model PvmInstanceHost +type PvmInstanceHost struct { + + // ID of the dedicated host where the PVM Instance is running, if applicable + DedicatedHostID string `json:"dedicatedHostID,omitempty"` + + // The PVM Instance Host ID (Internal Use Only) + ID int64 `json:"id,omitempty"` +} + +// Validate validates this pvm instance host +func (m *PvmInstanceHost) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this pvm instance host based on context it is used +func (m *PvmInstanceHost) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PvmInstanceHost) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PvmInstanceHost) UnmarshalBinary(b []byte) error { + var res PvmInstanceHost + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_placement_group.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_placement_group.go new file mode 100644 index 000000000..0cc57f44d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/pvm_instance_placement_group.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PvmInstancePlacementGroup pvm instance placement group +// +// swagger:model PvmInstancePlacementGroup +type PvmInstancePlacementGroup struct { + + // The placement group id of the server + // Required: true + ID *string `json:"id"` +} + +// Validate validates this pvm instance placement group +func (m *PvmInstancePlacementGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PvmInstancePlacementGroup) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this pvm instance placement group based on context it is used +func (m *PvmInstancePlacementGroup) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *PvmInstancePlacementGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PvmInstancePlacementGroup) UnmarshalBinary(b []byte) error { + var res PvmInstancePlacementGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/region_storage_tiers.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/region_storage_tiers.go new file mode 100644 index 000000000..a1abae8a6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/region_storage_tiers.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// RegionStorageTiers An array of of storage tiers supported in a region +// +// swagger:model RegionStorageTiers +type RegionStorageTiers []*StorageTier + +// Validate validates this region storage tiers +func (m RegionStorageTiers) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this region storage tiers based on the context it is used +func (m RegionStorageTiers) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/region_storage_types.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/region_storage_types.go new file mode 100644 index 000000000..ef2a560ab --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/region_storage_types.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// RegionStorageTypes An array of of storage types supported in a region +// +// swagger:model RegionStorageTypes +type RegionStorageTypes []*StorageType + +// Validate validates this region storage types +func (m RegionStorageTypes) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this region storage types based on the context it is used +func (m RegionStorageTypes) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/remote_copy_relationship.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/remote_copy_relationship.go new file mode 100644 index 000000000..97c35e7f8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/remote_copy_relationship.go @@ -0,0 +1,141 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// RemoteCopyRelationship remote copy relationship +// +// swagger:model RemoteCopyRelationship +type RemoteCopyRelationship struct { + + // Name of the volume that is acting as the auxiliary change volume for the relationship + AuxChangedVolumeName string `json:"auxChangedVolumeName,omitempty"` + + // Auxiliary volume name at storage host level + AuxVolumeName string `json:"auxVolumeName,omitempty"` + + // Consistency Group Name if volume is a part of volume group + ConsistencyGroupName string `json:"consistencyGroupName,omitempty"` + + // Indicates the copy type. + CopyType string `json:"copyType,omitempty"` + + // Indicates the type of cycling mode used. + CyclingMode string `json:"cyclingMode,omitempty"` + + // Freeze time of remote copy relationship + // Format: date-time + FreezeTime strfmt.DateTime `json:"freezeTime,omitempty"` + + // Name of the volume that is acting as the master change volume for the relationship + MasterChangedVolumeName string `json:"masterChangedVolumeName,omitempty"` + + // Master volume name at storage host level + MasterVolumeName string `json:"masterVolumeName,omitempty"` + + // Remote copy relationship name + // Required: true + Name *string `json:"name"` + + // Indicates whether master/aux volume is playing the primary role + PrimaryRole string `json:"primaryRole,omitempty"` + + // Indicates the relationship progress + Progress int64 `json:"progress,omitempty"` + + // Remote copy relationship ID + // Required: true + RemoteCopyID *string `json:"remoteCopyID"` + + // Indicates the relationship state + State string `json:"state,omitempty"` + + // Indicates whether the relationship is synchronized + Sync string `json:"sync,omitempty"` +} + +// Validate validates this remote copy relationship +func (m *RemoteCopyRelationship) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateFreezeTime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRemoteCopyID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *RemoteCopyRelationship) validateFreezeTime(formats strfmt.Registry) error { + if swag.IsZero(m.FreezeTime) { // not required + return nil + } + + if err := validate.FormatOf("freezeTime", "body", "date-time", m.FreezeTime.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *RemoteCopyRelationship) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *RemoteCopyRelationship) validateRemoteCopyID(formats strfmt.Registry) error { + + if err := validate.Required("remoteCopyID", "body", m.RemoteCopyID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this remote copy relationship based on context it is used +func (m *RemoteCopyRelationship) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RemoteCopyRelationship) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RemoteCopyRelationship) UnmarshalBinary(b []byte) error { + var res RemoteCopyRelationship + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/remove_virtual_serial_number.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/remove_virtual_serial_number.go new file mode 100644 index 000000000..ac635119b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/remove_virtual_serial_number.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// RemoveVirtualSerialNumber remove virtual serial number +// +// swagger:model RemoveVirtualSerialNumber +type RemoveVirtualSerialNumber struct { + + // Provide a reserved Virtual Serial Number + // Required: true + Serial *string `json:"serial"` +} + +// Validate validates this remove virtual serial number +func (m *RemoveVirtualSerialNumber) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSerial(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *RemoveVirtualSerialNumber) validateSerial(formats strfmt.Registry) error { + + if err := validate.Required("serial", "body", m.Serial); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this remove virtual serial number based on context it is used +func (m *RemoveVirtualSerialNumber) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RemoveVirtualSerialNumber) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RemoveVirtualSerialNumber) UnmarshalBinary(b []byte) error { + var res RemoveVirtualSerialNumber + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_service.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_service.go new file mode 100644 index 000000000..2826cf4eb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_service.go @@ -0,0 +1,150 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ReplicationService replication service +// +// swagger:model ReplicationService +type ReplicationService struct { + + // Service Enabled + // Required: true + Enabled *bool `json:"enabled"` + + // List of all replication targets + // Required: true + TargetLocations []*ReplicationTargetLocation `json:"targetLocations"` +} + +// Validate validates this replication service +func (m *ReplicationService) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateEnabled(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTargetLocations(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ReplicationService) validateEnabled(formats strfmt.Registry) error { + + if err := validate.Required("enabled", "body", m.Enabled); err != nil { + return err + } + + return nil +} + +func (m *ReplicationService) validateTargetLocations(formats strfmt.Registry) error { + + if err := validate.Required("targetLocations", "body", m.TargetLocations); err != nil { + return err + } + + for i := 0; i < len(m.TargetLocations); i++ { + if swag.IsZero(m.TargetLocations[i]) { // not required + continue + } + + if m.TargetLocations[i] != nil { + if err := m.TargetLocations[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("targetLocations" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("targetLocations" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this replication service based on the context it is used +func (m *ReplicationService) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateTargetLocations(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ReplicationService) contextValidateTargetLocations(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.TargetLocations); i++ { + + if m.TargetLocations[i] != nil { + + if swag.IsZero(m.TargetLocations[i]) { // not required + return nil + } + + if err := m.TargetLocations[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("targetLocations" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("targetLocations" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ReplicationService) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ReplicationService) UnmarshalBinary(b []byte) error { + var res ReplicationService + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_sites.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_sites.go new file mode 100644 index 000000000..8d63d06a5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_sites.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ReplicationSites list of Replication Sites +// +// swagger:model ReplicationSites +type ReplicationSites []*Site + +// Validate validates this replication sites +func (m ReplicationSites) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this replication sites based on the context it is used +func (m ReplicationSites) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_target_location.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_target_location.go new file mode 100644 index 000000000..689b638a9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/replication_target_location.go @@ -0,0 +1,108 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ReplicationTargetLocation replication target location +// +// swagger:model ReplicationTargetLocation +type ReplicationTargetLocation struct { + + // regionZone of replication site + Region string `json:"region,omitempty"` + + // the replication site is active / down + // Enum: ["active","down"] + Status string `json:"status,omitempty"` +} + +// Validate validates this replication target location +func (m *ReplicationTargetLocation) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var replicationTargetLocationTypeStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","down"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + replicationTargetLocationTypeStatusPropEnum = append(replicationTargetLocationTypeStatusPropEnum, v) + } +} + +const ( + + // ReplicationTargetLocationStatusActive captures enum value "active" + ReplicationTargetLocationStatusActive string = "active" + + // ReplicationTargetLocationStatusDown captures enum value "down" + ReplicationTargetLocationStatusDown string = "down" +) + +// prop value enum +func (m *ReplicationTargetLocation) validateStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, replicationTargetLocationTypeStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *ReplicationTargetLocation) validateStatus(formats strfmt.Registry) error { + if swag.IsZero(m.Status) { // not required + return nil + } + + // value enum + if err := m.validateStatusEnum("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this replication target location based on context it is used +func (m *ReplicationTargetLocation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ReplicationTargetLocation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ReplicationTargetLocation) UnmarshalBinary(b []byte) error { + var res ReplicationTargetLocation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/resource_access.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/resource_access.go new file mode 100644 index 000000000..e8acb3734 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/resource_access.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// ResourceAccess resource access +// +// swagger:model ResourceAccess +type ResourceAccess map[string]AccessRole + +// Validate validates this resource access +func (m ResourceAccess) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := validate.Required(k, "body", m[k]); err != nil { + return err + } + if val, ok := m[k]; ok { + if err := val.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this resource access based on the context it is used +func (m ResourceAccess) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if val, ok := m[k]; ok { + if err := val.ContextValidate(ctx, formats); err != nil { + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/resource_target_info.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/resource_target_info.go new file mode 100644 index 000000000..4d2ae9b74 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/resource_target_info.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ResourceTargetInfo resource target info +// +// swagger:model ResourceTargetInfo +type ResourceTargetInfo struct { + + // Workaround for API's not having region in their context + Region string `json:"region,omitempty"` + + // Workaround for AT event tracker + ResourceGroupCRN string `json:"resourceGroupCRN,omitempty"` + + // CRN of the target resource + TargetCRN string `json:"targetCRN,omitempty"` +} + +// Validate validates this resource target info +func (m *ResourceTargetInfo) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this resource target info based on context it is used +func (m *ResourceTargetInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ResourceTargetInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ResourceTargetInfo) UnmarshalBinary(b []byte) error { + var res ResourceTargetInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/route.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route.go new file mode 100644 index 000000000..7c9db9b25 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route.go @@ -0,0 +1,463 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Route route +// +// swagger:model Route +type Route struct { + + // The route action + // Required: true + // Enum: ["deliver"] + Action *string `json:"action"` + + // Indicates if the route is advertised externally of the workspace to PER and\or peer networks + // Required: true + // Enum: ["enable","disable"] + Advertise *string `json:"advertise"` + + // The route's crn + // Required: true + Crn *string `json:"crn"` + + // The route destination + // Required: true + Destination *string `json:"destination"` + + // The destination type + // Required: true + // Enum: ["ipv4-address"] + DestinationType *string `json:"destinationType"` + + // Indicates if the route should be enabled in the fabric + Enabled bool `json:"enabled,omitempty"` + + // The unique route ID + // Required: true + ID *string `json:"id"` + + // Name of the route + // Required: true + // Max Length: 128 + // Pattern: ^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$ + Name *string `json:"name"` + + // The next hop + // Required: true + NextHop *string `json:"nextHop"` + + // The next hop type + // Required: true + // Enum: ["ipv4-address"] + NextHopType *string `json:"nextHopType"` + + // The state of the route + // Required: true + // Enum: ["defined","deployed","disabled"] + State *string `json:"state"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this route +func (m *Route) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAdvertise(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestination(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestinationType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNextHop(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNextHopType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var routeTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["deliver"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeTypeActionPropEnum = append(routeTypeActionPropEnum, v) + } +} + +const ( + + // RouteActionDeliver captures enum value "deliver" + RouteActionDeliver string = "deliver" +) + +// prop value enum +func (m *Route) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Route) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +var routeTypeAdvertisePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeTypeAdvertisePropEnum = append(routeTypeAdvertisePropEnum, v) + } +} + +const ( + + // RouteAdvertiseEnable captures enum value "enable" + RouteAdvertiseEnable string = "enable" + + // RouteAdvertiseDisable captures enum value "disable" + RouteAdvertiseDisable string = "disable" +) + +// prop value enum +func (m *Route) validateAdvertiseEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeTypeAdvertisePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Route) validateAdvertise(formats strfmt.Registry) error { + + if err := validate.Required("advertise", "body", m.Advertise); err != nil { + return err + } + + // value enum + if err := m.validateAdvertiseEnum("advertise", "body", *m.Advertise); err != nil { + return err + } + + return nil +} + +func (m *Route) validateCrn(formats strfmt.Registry) error { + + if err := validate.Required("crn", "body", m.Crn); err != nil { + return err + } + + return nil +} + +func (m *Route) validateDestination(formats strfmt.Registry) error { + + if err := validate.Required("destination", "body", m.Destination); err != nil { + return err + } + + return nil +} + +var routeTypeDestinationTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ipv4-address"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeTypeDestinationTypePropEnum = append(routeTypeDestinationTypePropEnum, v) + } +} + +const ( + + // RouteDestinationTypeIPV4DashAddress captures enum value "ipv4-address" + RouteDestinationTypeIPV4DashAddress string = "ipv4-address" +) + +// prop value enum +func (m *Route) validateDestinationTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeTypeDestinationTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Route) validateDestinationType(formats strfmt.Registry) error { + + if err := validate.Required("destinationType", "body", m.DestinationType); err != nil { + return err + } + + // value enum + if err := m.validateDestinationTypeEnum("destinationType", "body", *m.DestinationType); err != nil { + return err + } + + return nil +} + +func (m *Route) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *Route) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 128); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$`); err != nil { + return err + } + + return nil +} + +func (m *Route) validateNextHop(formats strfmt.Registry) error { + + if err := validate.Required("nextHop", "body", m.NextHop); err != nil { + return err + } + + return nil +} + +var routeTypeNextHopTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ipv4-address"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeTypeNextHopTypePropEnum = append(routeTypeNextHopTypePropEnum, v) + } +} + +const ( + + // RouteNextHopTypeIPV4DashAddress captures enum value "ipv4-address" + RouteNextHopTypeIPV4DashAddress string = "ipv4-address" +) + +// prop value enum +func (m *Route) validateNextHopTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeTypeNextHopTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Route) validateNextHopType(formats strfmt.Registry) error { + + if err := validate.Required("nextHopType", "body", m.NextHopType); err != nil { + return err + } + + // value enum + if err := m.validateNextHopTypeEnum("nextHopType", "body", *m.NextHopType); err != nil { + return err + } + + return nil +} + +var routeTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["defined","deployed","disabled"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeTypeStatePropEnum = append(routeTypeStatePropEnum, v) + } +} + +const ( + + // RouteStateDefined captures enum value "defined" + RouteStateDefined string = "defined" + + // RouteStateDeployed captures enum value "deployed" + RouteStateDeployed string = "deployed" + + // RouteStateDisabled captures enum value "disabled" + RouteStateDisabled string = "disabled" +) + +// prop value enum +func (m *Route) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Route) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +func (m *Route) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this route based on the context it is used +func (m *Route) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Route) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Route) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Route) UnmarshalBinary(b []byte) error { + var res Route + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_create.go new file mode 100644 index 000000000..95804a94e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_create.go @@ -0,0 +1,366 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// RouteCreate route create +// +// swagger:model RouteCreate +type RouteCreate struct { + + // Action + // Enum: ["deliver"] + Action *string `json:"action,omitempty"` + + // Indicates if the route is advertised externally of the workspace to PER and\or peer networks + // Enum: ["enable","disable"] + Advertise *string `json:"advertise,omitempty"` + + // The route destination + // Required: true + Destination *string `json:"destination"` + + // The destination type + // Enum: ["ipv4-address"] + DestinationType *string `json:"destinationType,omitempty"` + + // Indicates if the route should be enabled in the fabric + Enabled *bool `json:"enabled,omitempty"` + + // Name of the route + // Required: true + // Max Length: 128 + // Pattern: ^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$ + Name *string `json:"name"` + + // The next hop + // Required: true + NextHop *string `json:"nextHop"` + + // The next hop type + // Enum: ["ipv4-address"] + NextHopType *string `json:"nextHopType,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this route create +func (m *RouteCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAdvertise(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestination(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestinationType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNextHop(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNextHopType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var routeCreateTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["deliver"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeCreateTypeActionPropEnum = append(routeCreateTypeActionPropEnum, v) + } +} + +const ( + + // RouteCreateActionDeliver captures enum value "deliver" + RouteCreateActionDeliver string = "deliver" +) + +// prop value enum +func (m *RouteCreate) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeCreateTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteCreate) validateAction(formats strfmt.Registry) error { + if swag.IsZero(m.Action) { // not required + return nil + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +var routeCreateTypeAdvertisePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeCreateTypeAdvertisePropEnum = append(routeCreateTypeAdvertisePropEnum, v) + } +} + +const ( + + // RouteCreateAdvertiseEnable captures enum value "enable" + RouteCreateAdvertiseEnable string = "enable" + + // RouteCreateAdvertiseDisable captures enum value "disable" + RouteCreateAdvertiseDisable string = "disable" +) + +// prop value enum +func (m *RouteCreate) validateAdvertiseEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeCreateTypeAdvertisePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteCreate) validateAdvertise(formats strfmt.Registry) error { + if swag.IsZero(m.Advertise) { // not required + return nil + } + + // value enum + if err := m.validateAdvertiseEnum("advertise", "body", *m.Advertise); err != nil { + return err + } + + return nil +} + +func (m *RouteCreate) validateDestination(formats strfmt.Registry) error { + + if err := validate.Required("destination", "body", m.Destination); err != nil { + return err + } + + return nil +} + +var routeCreateTypeDestinationTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ipv4-address"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeCreateTypeDestinationTypePropEnum = append(routeCreateTypeDestinationTypePropEnum, v) + } +} + +const ( + + // RouteCreateDestinationTypeIPV4DashAddress captures enum value "ipv4-address" + RouteCreateDestinationTypeIPV4DashAddress string = "ipv4-address" +) + +// prop value enum +func (m *RouteCreate) validateDestinationTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeCreateTypeDestinationTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteCreate) validateDestinationType(formats strfmt.Registry) error { + if swag.IsZero(m.DestinationType) { // not required + return nil + } + + // value enum + if err := m.validateDestinationTypeEnum("destinationType", "body", *m.DestinationType); err != nil { + return err + } + + return nil +} + +func (m *RouteCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 128); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$`); err != nil { + return err + } + + return nil +} + +func (m *RouteCreate) validateNextHop(formats strfmt.Registry) error { + + if err := validate.Required("nextHop", "body", m.NextHop); err != nil { + return err + } + + return nil +} + +var routeCreateTypeNextHopTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ipv4-address"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeCreateTypeNextHopTypePropEnum = append(routeCreateTypeNextHopTypePropEnum, v) + } +} + +const ( + + // RouteCreateNextHopTypeIPV4DashAddress captures enum value "ipv4-address" + RouteCreateNextHopTypeIPV4DashAddress string = "ipv4-address" +) + +// prop value enum +func (m *RouteCreate) validateNextHopTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeCreateTypeNextHopTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteCreate) validateNextHopType(formats strfmt.Registry) error { + if swag.IsZero(m.NextHopType) { // not required + return nil + } + + // value enum + if err := m.validateNextHopTypeEnum("nextHopType", "body", *m.NextHopType); err != nil { + return err + } + + return nil +} + +func (m *RouteCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this route create based on the context it is used +func (m *RouteCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *RouteCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *RouteCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RouteCreate) UnmarshalBinary(b []byte) error { + var res RouteCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_filter.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_filter.go new file mode 100644 index 000000000..c96ecb602 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_filter.go @@ -0,0 +1,367 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// RouteFilter route filter +// +// swagger:model RouteFilter +type RouteFilter struct { + + // The minimum matching length of the prefix-set(1 ≤ value ≤ 32 value ≤ GE) + // Example: 25 + // Maximum: 32 + // Minimum: 1 + GE *int64 `json:"GE,omitempty"` + + // The maximum matching length of the prefix-set( 1 ≤ value ≤ 32 value >= GE) + // Example: 30 + // Maximum: 32 + // Minimum: 1 + LE *int64 `json:"LE,omitempty"` + + // action of the filter + // * allow: allow + // * deny: deny + // + // Required: true + // Enum: ["allow","deny"] + Action *string `json:"action"` + + // time stamp for create route filter + // Required: true + CreationDate *string `json:"creationDate"` + + // direction of the filter + // * import - import the routes + // * export - export the routes + // + // Required: true + // Enum: ["import","export"] + Direction *string `json:"direction"` + + // error description + // Required: true + Error *string `json:"error"` + + // priority or order of the filter + // Example: 10 + // Required: true + Index *int64 `json:"index"` + + // IP prefix representing an address and mask length of the prefix-set + // Example: 192.168.91.0/24 + // Required: true + Prefix *string `json:"prefix"` + + // route filter ID + // Example: 031ab7da-bca6-493f-ac55-1a2a26f19160 + // Required: true + RouteFilterID *string `json:"routeFilterID"` + + // status of the route filter + // Example: active + // Required: true + // Enum: ["active","configuring","removing","error","updating"] + State *string `json:"state"` +} + +// Validate validates this route filter +func (m *RouteFilter) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateGE(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLE(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDirection(formats); err != nil { + res = append(res, err) + } + + if err := m.validateError(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIndex(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePrefix(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRouteFilterID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *RouteFilter) validateGE(formats strfmt.Registry) error { + if swag.IsZero(m.GE) { // not required + return nil + } + + if err := validate.MinimumInt("GE", "body", *m.GE, 1, false); err != nil { + return err + } + + if err := validate.MaximumInt("GE", "body", *m.GE, 32, false); err != nil { + return err + } + + return nil +} + +func (m *RouteFilter) validateLE(formats strfmt.Registry) error { + if swag.IsZero(m.LE) { // not required + return nil + } + + if err := validate.MinimumInt("LE", "body", *m.LE, 1, false); err != nil { + return err + } + + if err := validate.MaximumInt("LE", "body", *m.LE, 32, false); err != nil { + return err + } + + return nil +} + +var routeFilterTypeActionPropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeFilterTypeActionPropEnum = append(routeFilterTypeActionPropEnum, v) + } +} + +const ( + + // RouteFilterActionAllow captures enum value "allow" + RouteFilterActionAllow string = "allow" + + // RouteFilterActionDeny captures enum value "deny" + RouteFilterActionDeny string = "deny" +) + +// prop value enum +func (m *RouteFilter) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeFilterTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteFilter) validateAction(formats strfmt.Registry) error { + + if err := validate.Required("action", "body", m.Action); err != nil { + return err + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +func (m *RouteFilter) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + return nil +} + +var routeFilterTypeDirectionPropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["import","export"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeFilterTypeDirectionPropEnum = append(routeFilterTypeDirectionPropEnum, v) + } +} + +const ( + + // RouteFilterDirectionImport captures enum value "import" + RouteFilterDirectionImport string = "import" + + // RouteFilterDirectionExport captures enum value "export" + RouteFilterDirectionExport string = "export" +) + +// prop value enum +func (m *RouteFilter) validateDirectionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeFilterTypeDirectionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteFilter) validateDirection(formats strfmt.Registry) error { + + if err := validate.Required("direction", "body", m.Direction); err != nil { + return err + } + + // value enum + if err := m.validateDirectionEnum("direction", "body", *m.Direction); err != nil { + return err + } + + return nil +} + +func (m *RouteFilter) validateError(formats strfmt.Registry) error { + + if err := validate.Required("error", "body", m.Error); err != nil { + return err + } + + return nil +} + +func (m *RouteFilter) validateIndex(formats strfmt.Registry) error { + + if err := validate.Required("index", "body", m.Index); err != nil { + return err + } + + return nil +} + +func (m *RouteFilter) validatePrefix(formats strfmt.Registry) error { + + if err := validate.Required("prefix", "body", m.Prefix); err != nil { + return err + } + + return nil +} + +func (m *RouteFilter) validateRouteFilterID(formats strfmt.Registry) error { + + if err := validate.Required("routeFilterID", "body", m.RouteFilterID); err != nil { + return err + } + + return nil +} + +var routeFilterTypeStatePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","configuring","removing","error","updating"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeFilterTypeStatePropEnum = append(routeFilterTypeStatePropEnum, v) + } +} + +const ( + + // RouteFilterStateActive captures enum value "active" + RouteFilterStateActive string = "active" + + // RouteFilterStateConfiguring captures enum value "configuring" + RouteFilterStateConfiguring string = "configuring" + + // RouteFilterStateRemoving captures enum value "removing" + RouteFilterStateRemoving string = "removing" + + // RouteFilterStateError captures enum value "error" + RouteFilterStateError string = "error" + + // RouteFilterStateUpdating captures enum value "updating" + RouteFilterStateUpdating string = "updating" +) + +// prop value enum +func (m *RouteFilter) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeFilterTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteFilter) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this route filter based on context it is used +func (m *RouteFilter) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RouteFilter) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RouteFilter) UnmarshalBinary(b []byte) error { + var res RouteFilter + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_filter_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_filter_create.go new file mode 100644 index 000000000..6c7aea4fa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_filter_create.go @@ -0,0 +1,261 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// RouteFilterCreate route filter create +// +// swagger:model RouteFilterCreate +type RouteFilterCreate struct { + + // The minimum matching length of the prefix-set(1 ≤ value ≤ 32 & value ≤ LE) + // Example: 25 + // Maximum: 32 + // Minimum: 1 + GE int64 `json:"GE,omitempty"` + + // The maximum matching length of the prefix-set( 1 ≤ value ≤ 32 & value >= GE) + // Example: 30 + // Maximum: 32 + // Minimum: 1 + LE int64 `json:"LE,omitempty"` + + // action of the filter + // * allow: allow + // * deny: deny + // + // Enum: ["allow","deny"] + Action *string `json:"action,omitempty"` + + // direction of the filter + // * import - import the routes + // * export - export the routes + // + // Required: true + // Enum: ["import","export"] + Direction *string `json:"direction"` + + // priority or order of the filter + // Example: 10 + // Required: true + // Maximum: 1e+07 + // Minimum: 1 + Index *int64 `json:"index"` + + // IP prefix representing an address and mask length of the prefix-set + // Example: 192.168.91.0/24 + // Required: true + Prefix *string `json:"prefix"` +} + +// Validate validates this route filter create +func (m *RouteFilterCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateGE(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLE(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDirection(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIndex(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePrefix(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *RouteFilterCreate) validateGE(formats strfmt.Registry) error { + if swag.IsZero(m.GE) { // not required + return nil + } + + if err := validate.MinimumInt("GE", "body", m.GE, 1, false); err != nil { + return err + } + + if err := validate.MaximumInt("GE", "body", m.GE, 32, false); err != nil { + return err + } + + return nil +} + +func (m *RouteFilterCreate) validateLE(formats strfmt.Registry) error { + if swag.IsZero(m.LE) { // not required + return nil + } + + if err := validate.MinimumInt("LE", "body", m.LE, 1, false); err != nil { + return err + } + + if err := validate.MaximumInt("LE", "body", m.LE, 32, false); err != nil { + return err + } + + return nil +} + +var routeFilterCreateTypeActionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["allow","deny"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeFilterCreateTypeActionPropEnum = append(routeFilterCreateTypeActionPropEnum, v) + } +} + +const ( + + // RouteFilterCreateActionAllow captures enum value "allow" + RouteFilterCreateActionAllow string = "allow" + + // RouteFilterCreateActionDeny captures enum value "deny" + RouteFilterCreateActionDeny string = "deny" +) + +// prop value enum +func (m *RouteFilterCreate) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeFilterCreateTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteFilterCreate) validateAction(formats strfmt.Registry) error { + if swag.IsZero(m.Action) { // not required + return nil + } + + // value enum + if err := m.validateActionEnum("action", "body", *m.Action); err != nil { + return err + } + + return nil +} + +var routeFilterCreateTypeDirectionPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["import","export"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeFilterCreateTypeDirectionPropEnum = append(routeFilterCreateTypeDirectionPropEnum, v) + } +} + +const ( + + // RouteFilterCreateDirectionImport captures enum value "import" + RouteFilterCreateDirectionImport string = "import" + + // RouteFilterCreateDirectionExport captures enum value "export" + RouteFilterCreateDirectionExport string = "export" +) + +// prop value enum +func (m *RouteFilterCreate) validateDirectionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeFilterCreateTypeDirectionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteFilterCreate) validateDirection(formats strfmt.Registry) error { + + if err := validate.Required("direction", "body", m.Direction); err != nil { + return err + } + + // value enum + if err := m.validateDirectionEnum("direction", "body", *m.Direction); err != nil { + return err + } + + return nil +} + +func (m *RouteFilterCreate) validateIndex(formats strfmt.Registry) error { + + if err := validate.Required("index", "body", m.Index); err != nil { + return err + } + + if err := validate.MinimumInt("index", "body", *m.Index, 1, false); err != nil { + return err + } + + if err := validate.MaximumInt("index", "body", *m.Index, 1e+07, false); err != nil { + return err + } + + return nil +} + +func (m *RouteFilterCreate) validatePrefix(formats strfmt.Registry) error { + + if err := validate.Required("prefix", "body", m.Prefix); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this route filter create based on context it is used +func (m *RouteFilterCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RouteFilterCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RouteFilterCreate) UnmarshalBinary(b []byte) error { + var res RouteFilterCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_report.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_report.go new file mode 100644 index 000000000..0c706a936 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_report.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// RouteReport route report +// +// swagger:model RouteReport +type RouteReport struct { + + // A report of routes in a workspace + // Required: true + Routes []*RouteReportRoute `json:"routes"` +} + +// Validate validates this route report +func (m *RouteReport) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateRoutes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *RouteReport) validateRoutes(formats strfmt.Registry) error { + + if err := validate.Required("routes", "body", m.Routes); err != nil { + return err + } + + for i := 0; i < len(m.Routes); i++ { + if swag.IsZero(m.Routes[i]) { // not required + continue + } + + if m.Routes[i] != nil { + if err := m.Routes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("routes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("routes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this route report based on the context it is used +func (m *RouteReport) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateRoutes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *RouteReport) contextValidateRoutes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Routes); i++ { + + if m.Routes[i] != nil { + + if swag.IsZero(m.Routes[i]) { // not required + return nil + } + + if err := m.Routes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("routes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("routes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *RouteReport) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RouteReport) UnmarshalBinary(b []byte) error { + var res RouteReport + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_report_route.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_report_route.go new file mode 100644 index 000000000..b0e772fa9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_report_route.go @@ -0,0 +1,121 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// RouteReportRoute route report route +// +// swagger:model RouteReportRoute +type RouteReportRoute struct { + + // The destination. The destination is a CIDR for the external route type. + // Required: true + Destination *string `json:"destination"` + + // The route type + // Required: true + // Enum: ["external"] + Type *string `json:"type"` +} + +// Validate validates this route report route +func (m *RouteReportRoute) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDestination(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *RouteReportRoute) validateDestination(formats strfmt.Registry) error { + + if err := validate.Required("destination", "body", m.Destination); err != nil { + return err + } + + return nil +} + +var routeReportRouteTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["external"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeReportRouteTypeTypePropEnum = append(routeReportRouteTypeTypePropEnum, v) + } +} + +const ( + + // RouteReportRouteTypeExternal captures enum value "external" + RouteReportRouteTypeExternal string = "external" +) + +// prop value enum +func (m *RouteReportRoute) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeReportRouteTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteReportRoute) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this route report route based on context it is used +func (m *RouteReportRoute) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RouteReportRoute) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RouteReportRoute) UnmarshalBinary(b []byte) error { + var res RouteReportRoute + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_update.go new file mode 100644 index 000000000..6faf62cd6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/route_update.go @@ -0,0 +1,280 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// RouteUpdate route update +// +// swagger:model RouteUpdate +type RouteUpdate struct { + + // Action + // Enum: ["deliver"] + Action string `json:"action,omitempty"` + + // Indicates if the route is advertised externally of the workspace to PER and\or peer networks + // Enum: ["enable","disable"] + Advertise string `json:"advertise,omitempty"` + + // The route destination + Destination string `json:"destination,omitempty"` + + // The destination type + // Enum: ["ipv4-address"] + DestinationType string `json:"destinationType,omitempty"` + + // Indicates if the route should be enabled in the fabric + Enabled *bool `json:"enabled,omitempty"` + + // Name of the route + // Max Length: 128 + // Pattern: ^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$ + Name string `json:"name,omitempty"` + + // The next hop + NextHop string `json:"nextHop,omitempty"` + + // The next hop type + // Enum: ["ipv4-address"] + NextHopType string `json:"nextHopType,omitempty"` +} + +// Validate validates this route update +func (m *RouteUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAction(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAdvertise(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDestinationType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNextHopType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var routeUpdateTypeActionPropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["deliver"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeUpdateTypeActionPropEnum = append(routeUpdateTypeActionPropEnum, v) + } +} + +const ( + + // RouteUpdateActionDeliver captures enum value "deliver" + RouteUpdateActionDeliver string = "deliver" +) + +// prop value enum +func (m *RouteUpdate) validateActionEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeUpdateTypeActionPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteUpdate) validateAction(formats strfmt.Registry) error { + if swag.IsZero(m.Action) { // not required + return nil + } + + // value enum + if err := m.validateActionEnum("action", "body", m.Action); err != nil { + return err + } + + return nil +} + +var routeUpdateTypeAdvertisePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["enable","disable"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeUpdateTypeAdvertisePropEnum = append(routeUpdateTypeAdvertisePropEnum, v) + } +} + +const ( + + // RouteUpdateAdvertiseEnable captures enum value "enable" + RouteUpdateAdvertiseEnable string = "enable" + + // RouteUpdateAdvertiseDisable captures enum value "disable" + RouteUpdateAdvertiseDisable string = "disable" +) + +// prop value enum +func (m *RouteUpdate) validateAdvertiseEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeUpdateTypeAdvertisePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteUpdate) validateAdvertise(formats strfmt.Registry) error { + if swag.IsZero(m.Advertise) { // not required + return nil + } + + // value enum + if err := m.validateAdvertiseEnum("advertise", "body", m.Advertise); err != nil { + return err + } + + return nil +} + +var routeUpdateTypeDestinationTypePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ipv4-address"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeUpdateTypeDestinationTypePropEnum = append(routeUpdateTypeDestinationTypePropEnum, v) + } +} + +const ( + + // RouteUpdateDestinationTypeIPV4DashAddress captures enum value "ipv4-address" + RouteUpdateDestinationTypeIPV4DashAddress string = "ipv4-address" +) + +// prop value enum +func (m *RouteUpdate) validateDestinationTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeUpdateTypeDestinationTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteUpdate) validateDestinationType(formats strfmt.Registry) error { + if swag.IsZero(m.DestinationType) { // not required + return nil + } + + // value enum + if err := m.validateDestinationTypeEnum("destinationType", "body", m.DestinationType); err != nil { + return err + } + + return nil +} + +func (m *RouteUpdate) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MaxLength("name", "body", m.Name, 128); err != nil { + return err + } + + if err := validate.Pattern("name", "body", m.Name, `^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$`); err != nil { + return err + } + + return nil +} + +var routeUpdateTypeNextHopTypePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ipv4-address"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + routeUpdateTypeNextHopTypePropEnum = append(routeUpdateTypeNextHopTypePropEnum, v) + } +} + +const ( + + // RouteUpdateNextHopTypeIPV4DashAddress captures enum value "ipv4-address" + RouteUpdateNextHopTypeIPV4DashAddress string = "ipv4-address" +) + +// prop value enum +func (m *RouteUpdate) validateNextHopTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, routeUpdateTypeNextHopTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *RouteUpdate) validateNextHopType(formats strfmt.Registry) error { + if swag.IsZero(m.NextHopType) { // not required + return nil + } + + // value enum + if err := m.validateNextHopTypeEnum("nextHopType", "body", m.NextHopType); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this route update based on context it is used +func (m *RouteUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RouteUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RouteUpdate) UnmarshalBinary(b []byte) error { + var res RouteUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/routes.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/routes.go new file mode 100644 index 000000000..37f5f411d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/routes.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Routes routes +// +// swagger:model Routes +type Routes struct { + + // Routes + // Required: true + Routes []*Route `json:"routes"` +} + +// Validate validates this routes +func (m *Routes) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateRoutes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Routes) validateRoutes(formats strfmt.Registry) error { + + if err := validate.Required("routes", "body", m.Routes); err != nil { + return err + } + + for i := 0; i < len(m.Routes); i++ { + if swag.IsZero(m.Routes[i]) { // not required + continue + } + + if m.Routes[i] != nil { + if err := m.Routes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("routes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("routes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this routes based on the context it is used +func (m *Routes) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateRoutes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Routes) contextValidateRoutes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Routes); i++ { + + if m.Routes[i] != nil { + + if swag.IsZero(m.Routes[i]) { // not required + return nil + } + + if err := m.Routes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("routes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("routes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Routes) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Routes) UnmarshalBinary(b []byte) error { + var res Routes + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_create.go new file mode 100644 index 000000000..3d5caa1e8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_create.go @@ -0,0 +1,576 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SAPCreate s a p create +// +// swagger:model SAPCreate +type SAPCreate struct { + + // Indicates if the boot volume should be replication enabled or not + BootVolumeReplicationEnabled *bool `json:"bootVolumeReplicationEnabled,omitempty"` + + // The deployment of a dedicated host + DeploymentTarget *DeploymentTarget `json:"deploymentTarget,omitempty"` + + // Custom SAP Deployment Type Information (For Internal Use Only) + DeploymentType string `json:"deploymentType,omitempty"` + + // Image ID of the sap image to use for the server + // Required: true + ImageID *string `json:"imageID"` + + // instances + Instances *PVMInstanceMultiCreate `json:"instances,omitempty"` + + // Name of the sap pvm-instance + // Required: true + Name *string `json:"name"` + + // The pvm instance networks information + // Required: true + Networks []*PVMInstanceAddNetwork `json:"networks"` + + // pin policy + PinPolicy PinPolicy `json:"pinPolicy,omitempty"` + + // The placement group for the server + PlacementGroup string `json:"placementGroup,omitempty"` + + // Preferred processor compatibility mode + PreferredProcessorCompatibilityMode string `json:"preferredProcessorCompatibilityMode,omitempty"` + + // SAP Profile ID for the amount of cores and memory + // Required: true + // Pattern: ^[\s]*[A-Za-z][A-Za-z0-9\-]{3,}$ + ProfileID *string `json:"profileID"` + + // Indicates the replication site of the boot volume + ReplicationSites []string `json:"replicationSites"` + + // The name of the SSH Key to provide to the server for authenticating + SSHKeyName string `json:"sshKeyName,omitempty"` + + // The storage affinity data; ignored if storagePool is provided; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage pool the image was created in + StorageAffinity *StorageAffinity `json:"storageAffinity,omitempty"` + + // Storage Pool for server deployment; if provided then storageAffinity and storageType will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a PVMInstance capture) defaults to the storage pool the image was created in + StoragePool string `json:"storagePool,omitempty"` + + // Indicates if all volumes attached to the server must reside in the same storage pool; Defaults to true when initially deploying a PVMInstance + StoragePoolAffinity *bool `json:"storagePoolAffinity,omitempty"` + + // Storage type for server deployment; if storageType is not provided the storage type will default to 'tier3'. + StorageType string `json:"storageType,omitempty"` + + // System type used to host the instance. Only e980, s1022, e1050, e1080, s1122, e1150, and e1180 are supported + SysType string `json:"sysType,omitempty"` + + // Cloud init user defined data; For FLS, only cloud-config user-data is supported and data must not be compressed or exceed 63K + UserData string `json:"userData,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // List of Volume IDs to attach to the pvm-instance on creation + VolumeIDs []string `json:"volumeIDs"` + + // The vPMEM volumes information. Only one volume is supported at this time. + VpmemVolumes []*VPMemVolumeCreate `json:"vpmemVolumes"` +} + +// Validate validates this s a p create +func (m *SAPCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDeploymentTarget(formats); err != nil { + res = append(res, err) + } + + if err := m.validateImageID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateInstances(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePinPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProfileID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageAffinity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpmemVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SAPCreate) validateDeploymentTarget(formats strfmt.Registry) error { + if swag.IsZero(m.DeploymentTarget) { // not required + return nil + } + + if m.DeploymentTarget != nil { + if err := m.DeploymentTarget.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("deploymentTarget") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("deploymentTarget") + } + + return err + } + } + + return nil +} + +func (m *SAPCreate) validateImageID(formats strfmt.Registry) error { + + if err := validate.Required("imageID", "body", m.ImageID); err != nil { + return err + } + + return nil +} + +func (m *SAPCreate) validateInstances(formats strfmt.Registry) error { + if swag.IsZero(m.Instances) { // not required + return nil + } + + if m.Instances != nil { + if err := m.Instances.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("instances") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("instances") + } + + return err + } + } + + return nil +} + +func (m *SAPCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *SAPCreate) validateNetworks(formats strfmt.Registry) error { + + if err := validate.Required("networks", "body", m.Networks); err != nil { + return err + } + + for i := 0; i < len(m.Networks); i++ { + if swag.IsZero(m.Networks[i]) { // not required + continue + } + + if m.Networks[i] != nil { + if err := m.Networks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *SAPCreate) validatePinPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.PinPolicy) { // not required + return nil + } + + if err := m.PinPolicy.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pinPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pinPolicy") + } + + return err + } + + return nil +} + +func (m *SAPCreate) validateProfileID(formats strfmt.Registry) error { + + if err := validate.Required("profileID", "body", m.ProfileID); err != nil { + return err + } + + if err := validate.Pattern("profileID", "body", *m.ProfileID, `^[\s]*[A-Za-z][A-Za-z0-9\-]{3,}$`); err != nil { + return err + } + + return nil +} + +func (m *SAPCreate) validateStorageAffinity(formats strfmt.Registry) error { + if swag.IsZero(m.StorageAffinity) { // not required + return nil + } + + if m.StorageAffinity != nil { + if err := m.StorageAffinity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageAffinity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageAffinity") + } + + return err + } + } + + return nil +} + +func (m *SAPCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *SAPCreate) validateVpmemVolumes(formats strfmt.Registry) error { + if swag.IsZero(m.VpmemVolumes) { // not required + return nil + } + + for i := 0; i < len(m.VpmemVolumes); i++ { + if swag.IsZero(m.VpmemVolumes[i]) { // not required + continue + } + + if m.VpmemVolumes[i] != nil { + if err := m.VpmemVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this s a p create based on the context it is used +func (m *SAPCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDeploymentTarget(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateInstances(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePinPolicy(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStorageAffinity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpmemVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SAPCreate) contextValidateDeploymentTarget(ctx context.Context, formats strfmt.Registry) error { + + if m.DeploymentTarget != nil { + + if swag.IsZero(m.DeploymentTarget) { // not required + return nil + } + + if err := m.DeploymentTarget.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("deploymentTarget") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("deploymentTarget") + } + + return err + } + } + + return nil +} + +func (m *SAPCreate) contextValidateInstances(ctx context.Context, formats strfmt.Registry) error { + + if m.Instances != nil { + + if swag.IsZero(m.Instances) { // not required + return nil + } + + if err := m.Instances.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("instances") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("instances") + } + + return err + } + } + + return nil +} + +func (m *SAPCreate) contextValidateNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Networks); i++ { + + if m.Networks[i] != nil { + + if swag.IsZero(m.Networks[i]) { // not required + return nil + } + + if err := m.Networks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *SAPCreate) contextValidatePinPolicy(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.PinPolicy) { // not required + return nil + } + + if err := m.PinPolicy.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pinPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pinPolicy") + } + + return err + } + + return nil +} + +func (m *SAPCreate) contextValidateStorageAffinity(ctx context.Context, formats strfmt.Registry) error { + + if m.StorageAffinity != nil { + + if swag.IsZero(m.StorageAffinity) { // not required + return nil + } + + if err := m.StorageAffinity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageAffinity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageAffinity") + } + + return err + } + } + + return nil +} + +func (m *SAPCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *SAPCreate) contextValidateVpmemVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VpmemVolumes); i++ { + + if m.VpmemVolumes[i] != nil { + + if swag.IsZero(m.VpmemVolumes[i]) { // not required + return nil + } + + if err := m.VpmemVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SAPCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SAPCreate) UnmarshalBinary(b []byte) error { + var res SAPCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profile.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profile.go new file mode 100644 index 000000000..9cc93084f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profile.go @@ -0,0 +1,351 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SAPProfile s a p profile +// +// swagger:model SAPProfile +type SAPProfile struct { + + // Has certification been performed on profile + // Required: true + Certified *bool `json:"certified"` + + // Amount of cores + // Required: true + Cores *int64 `json:"cores"` + + // System to use if not provided + DefaultSystem string `json:"defaultSystem,omitempty"` + + // Requires full system for deployment + FullSystemProfile bool `json:"fullSystemProfile"` + + // Amount of memory (in GB) + // Required: true + Memory *int64 `json:"memory"` + + // SAP Profile ID + // Required: true + ProfileID *string `json:"profileID"` + + // SAP Application Performance Standard + Saps int64 `json:"saps"` + + // Required smt mode for that profile + // Enum: [4,8] + SmtMode int64 `json:"smtMode"` + + // List of supported systems + SupportedSystems []string `json:"supportedSystems"` + + // Type of profile + // Required: true + // Enum: ["balanced","compute","memory","ultra-memory","small","sap-rise","sap-rise-app"] + Type *string `json:"type"` + + // vpmem volume + VpmemVolume *SAPProfileVpmemVolume `json:"vpmemVolume,omitempty"` + + // List of supported workload types + WorkloadTypes []string `json:"workloadTypes"` +} + +// Validate validates this s a p profile +func (m *SAPProfile) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCertified(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProfileID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSmtMode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpmemVolume(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SAPProfile) validateCertified(formats strfmt.Registry) error { + + if err := validate.Required("certified", "body", m.Certified); err != nil { + return err + } + + return nil +} + +func (m *SAPProfile) validateCores(formats strfmt.Registry) error { + + if err := validate.Required("cores", "body", m.Cores); err != nil { + return err + } + + return nil +} + +func (m *SAPProfile) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *SAPProfile) validateProfileID(formats strfmt.Registry) error { + + if err := validate.Required("profileID", "body", m.ProfileID); err != nil { + return err + } + + return nil +} + +var sAPProfileTypeSmtModePropEnum []any + +func init() { + var res []int64 + if err := json.Unmarshal([]byte(`[4,8]`), &res); err != nil { + panic(err) + } + for _, v := range res { + sAPProfileTypeSmtModePropEnum = append(sAPProfileTypeSmtModePropEnum, v) + } +} + +// prop value enum +func (m *SAPProfile) validateSmtModeEnum(path, location string, value int64) error { + if err := validate.EnumCase(path, location, value, sAPProfileTypeSmtModePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *SAPProfile) validateSmtMode(formats strfmt.Registry) error { + if swag.IsZero(m.SmtMode) { // not required + return nil + } + + // value enum + if err := m.validateSmtModeEnum("smtMode", "body", m.SmtMode); err != nil { + return err + } + + return nil +} + +var sAPProfileTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["balanced","compute","memory","ultra-memory","small","sap-rise","sap-rise-app"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + sAPProfileTypeTypePropEnum = append(sAPProfileTypeTypePropEnum, v) + } +} + +const ( + + // SAPProfileTypeBalanced captures enum value "balanced" + SAPProfileTypeBalanced string = "balanced" + + // SAPProfileTypeCompute captures enum value "compute" + SAPProfileTypeCompute string = "compute" + + // SAPProfileTypeMemory captures enum value "memory" + SAPProfileTypeMemory string = "memory" + + // SAPProfileTypeUltraDashMemory captures enum value "ultra-memory" + SAPProfileTypeUltraDashMemory string = "ultra-memory" + + // SAPProfileTypeSmall captures enum value "small" + SAPProfileTypeSmall string = "small" + + // SAPProfileTypeSapDashRise captures enum value "sap-rise" + SAPProfileTypeSapDashRise string = "sap-rise" + + // SAPProfileTypeSapDashRiseDashApp captures enum value "sap-rise-app" + SAPProfileTypeSapDashRiseDashApp string = "sap-rise-app" +) + +// prop value enum +func (m *SAPProfile) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, sAPProfileTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *SAPProfile) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +func (m *SAPProfile) validateVpmemVolume(formats strfmt.Registry) error { + if swag.IsZero(m.VpmemVolume) { // not required + return nil + } + + if m.VpmemVolume != nil { + if err := m.VpmemVolume.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolume") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolume") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this s a p profile based on the context it is used +func (m *SAPProfile) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVpmemVolume(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SAPProfile) contextValidateVpmemVolume(ctx context.Context, formats strfmt.Registry) error { + + if m.VpmemVolume != nil { + + if swag.IsZero(m.VpmemVolume) { // not required + return nil + } + + if err := m.VpmemVolume.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolume") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolume") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SAPProfile) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SAPProfile) UnmarshalBinary(b []byte) error { + var res SAPProfile + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} + +// SAPProfileVpmemVolume vPMEM volume details for the profile +// +// swagger:model SAPProfileVpmemVolume +type SAPProfileVpmemVolume struct { + + // Maximum percent of memory to be assigned for carved out vPMEM volume + MaxPercent int64 `json:"maxPercent,omitempty"` + + // Minimum percent of memory to be assigned for carved out vPMEM volume + MinPercent int64 `json:"minPercent,omitempty"` +} + +// Validate validates this s a p profile vpmem volume +func (m *SAPProfileVpmemVolume) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this s a p profile vpmem volume based on context it is used +func (m *SAPProfileVpmemVolume) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SAPProfileVpmemVolume) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SAPProfileVpmemVolume) UnmarshalBinary(b []byte) error { + var res SAPProfileVpmemVolume + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profile_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profile_reference.go new file mode 100644 index 000000000..9f7cd91f5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profile_reference.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SAPProfileReference s a p profile reference +// +// swagger:model SAPProfileReference +type SAPProfileReference struct { + + // Link to SAP profile resource + // Required: true + Href *string `json:"href"` + + // SAP Profile ID + // Required: true + ProfileID *string `json:"profileID"` +} + +// Validate validates this s a p profile reference +func (m *SAPProfileReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateProfileID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SAPProfileReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *SAPProfileReference) validateProfileID(formats strfmt.Registry) error { + + if err := validate.Required("profileID", "body", m.ProfileID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this s a p profile reference based on context it is used +func (m *SAPProfileReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SAPProfileReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SAPProfileReference) UnmarshalBinary(b []byte) error { + var res SAPProfileReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profiles.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profiles.go new file mode 100644 index 000000000..33582e016 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_a_p_profiles.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SAPProfiles s a p profiles +// +// swagger:model SAPProfiles +type SAPProfiles struct { + + // SAP Profiles + // Required: true + Profiles []*SAPProfile `json:"profiles"` +} + +// Validate validates this s a p profiles +func (m *SAPProfiles) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateProfiles(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SAPProfiles) validateProfiles(formats strfmt.Registry) error { + + if err := validate.Required("profiles", "body", m.Profiles); err != nil { + return err + } + + for i := 0; i < len(m.Profiles); i++ { + if swag.IsZero(m.Profiles[i]) { // not required + continue + } + + if m.Profiles[i] != nil { + if err := m.Profiles[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("profiles" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("profiles" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this s a p profiles based on the context it is used +func (m *SAPProfiles) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateProfiles(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SAPProfiles) contextValidateProfiles(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Profiles); i++ { + + if m.Profiles[i] != nil { + + if swag.IsZero(m.Profiles[i]) { // not required + return nil + } + + if err := m.Profiles[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("profiles" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("profiles" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SAPProfiles) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SAPProfiles) UnmarshalBinary(b []byte) error { + var res SAPProfiles + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_group.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_group.go new file mode 100644 index 000000000..037b2a0ac --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_group.go @@ -0,0 +1,218 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SPPPlacementGroup s p p placement group +// +// swagger:model SPPPlacementGroup +type SPPPlacementGroup struct { + + // crn + Crn CRN `json:"crn,omitempty"` + + // The id of the Shared Processor Pool Placement Group + // Required: true + ID *string `json:"id"` + + // The list of Shared Processor Pool names that are a member of the Shared Processor Pool Placement Group + MemberSharedProcessorPools []string `json:"memberSharedProcessorPools"` + + // The name of the Shared Processor Pool Placement Group + // Required: true + Name *string `json:"name"` + + // The Shared Processor Pool Placement Group policy + // Required: true + Policy *string `json:"policy"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this s p p placement group +func (m *SPPPlacementGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SPPPlacementGroup) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *SPPPlacementGroup) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *SPPPlacementGroup) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *SPPPlacementGroup) validatePolicy(formats strfmt.Registry) error { + + if err := validate.Required("policy", "body", m.Policy); err != nil { + return err + } + + return nil +} + +func (m *SPPPlacementGroup) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this s p p placement group based on the context it is used +func (m *SPPPlacementGroup) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SPPPlacementGroup) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *SPPPlacementGroup) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SPPPlacementGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SPPPlacementGroup) UnmarshalBinary(b []byte) error { + var res SPPPlacementGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_group_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_group_create.go new file mode 100644 index 000000000..4817fa8e5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_group_create.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SPPPlacementGroupCreate s p p placement group create +// +// swagger:model SPPPlacementGroupCreate +type SPPPlacementGroupCreate struct { + + // The name of the Shared Processor Pool Placement Group; minimum of 2 characters, maximum of 12, the only special character allowed is the underscore '_'. + // Required: true + // Max Length: 12 + // Min Length: 2 + // Pattern: ^[a-zA-Z0-9_]+$ + Name *string `json:"name"` + + // The placement group policy + // Required: true + // Enum: ["affinity","anti-affinity"] + Policy *string `json:"policy"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this s p p placement group create +func (m *SPPPlacementGroupCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SPPPlacementGroupCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MinLength("name", "body", *m.Name, 2); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 12); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[a-zA-Z0-9_]+$`); err != nil { + return err + } + + return nil +} + +var sPPPlacementGroupCreateTypePolicyPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["affinity","anti-affinity"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + sPPPlacementGroupCreateTypePolicyPropEnum = append(sPPPlacementGroupCreateTypePolicyPropEnum, v) + } +} + +const ( + + // SPPPlacementGroupCreatePolicyAffinity captures enum value "affinity" + SPPPlacementGroupCreatePolicyAffinity string = "affinity" + + // SPPPlacementGroupCreatePolicyAntiDashAffinity captures enum value "anti-affinity" + SPPPlacementGroupCreatePolicyAntiDashAffinity string = "anti-affinity" +) + +// prop value enum +func (m *SPPPlacementGroupCreate) validatePolicyEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, sPPPlacementGroupCreateTypePolicyPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *SPPPlacementGroupCreate) validatePolicy(formats strfmt.Registry) error { + + if err := validate.Required("policy", "body", m.Policy); err != nil { + return err + } + + // value enum + if err := m.validatePolicyEnum("policy", "body", *m.Policy); err != nil { + return err + } + + return nil +} + +func (m *SPPPlacementGroupCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this s p p placement group create based on the context it is used +func (m *SPPPlacementGroupCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SPPPlacementGroupCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SPPPlacementGroupCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SPPPlacementGroupCreate) UnmarshalBinary(b []byte) error { + var res SPPPlacementGroupCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_groups.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_groups.go new file mode 100644 index 000000000..023c0d951 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_p_p_placement_groups.go @@ -0,0 +1,130 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SPPPlacementGroups s p p placement groups +// +// swagger:model SPPPlacementGroups +type SPPPlacementGroups struct { + + // list of Shared Processor Pool Placement Groups + SppPlacementGroups []*SPPPlacementGroup `json:"sppPlacementGroups"` +} + +// Validate validates this s p p placement groups +func (m *SPPPlacementGroups) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSppPlacementGroups(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SPPPlacementGroups) validateSppPlacementGroups(formats strfmt.Registry) error { + if swag.IsZero(m.SppPlacementGroups) { // not required + return nil + } + + for i := 0; i < len(m.SppPlacementGroups); i++ { + if swag.IsZero(m.SppPlacementGroups[i]) { // not required + continue + } + + if m.SppPlacementGroups[i] != nil { + if err := m.SppPlacementGroups[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sppPlacementGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sppPlacementGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this s p p placement groups based on the context it is used +func (m *SPPPlacementGroups) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSppPlacementGroups(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SPPPlacementGroups) contextValidateSppPlacementGroups(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.SppPlacementGroups); i++ { + + if m.SppPlacementGroups[i] != nil { + + if swag.IsZero(m.SppPlacementGroups[i]) { // not required + return nil + } + + if err := m.SppPlacementGroups[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sppPlacementGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sppPlacementGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SPPPlacementGroups) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SPPPlacementGroups) UnmarshalBinary(b []byte) error { + var res SPPPlacementGroups + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_r_c.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_r_c.go new file mode 100644 index 000000000..e9d191fa7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/s_r_c.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SRC s r c +// +// swagger:model SRC +type SRC struct { + + // The SRC reference code + Src string `json:"src,omitempty"` + + // The date stamp of the SRC + Timestamp string `json:"timestamp,omitempty"` +} + +// Validate validates this s r c +func (m *SRC) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this s r c based on context it is used +func (m *SRC) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SRC) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SRC) UnmarshalBinary(b []byte) error { + var res SRC + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_order.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_order.go new file mode 100644 index 000000000..5ab9d2da0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_order.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SatelliteOrder satellite order +// +// swagger:model SatelliteOrder +type SatelliteOrder struct { + + // Time that satellite will be activated for Power Private Cloud + // Required: true + ActivationTime *string `json:"activationTime"` +} + +// Validate validates this satellite order +func (m *SatelliteOrder) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateActivationTime(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SatelliteOrder) validateActivationTime(formats strfmt.Registry) error { + + if err := validate.Required("activationTime", "body", m.ActivationTime); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this satellite order based on context it is used +func (m *SatelliteOrder) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SatelliteOrder) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SatelliteOrder) UnmarshalBinary(b []byte) error { + var res SatelliteOrder + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_registration.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_registration.go new file mode 100644 index 000000000..d3c570ed1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_registration.go @@ -0,0 +1,108 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SatelliteRegistration satellite registration +// +// swagger:model SatelliteRegistration +type SatelliteRegistration struct { + + // Requested Number of Days to Delay Order Activation. Defaults to 1. + DaysToDelay int64 `json:"daysToDelay,omitempty"` + + // Billing ID for Power Private Cloud Satellite Subscription + // Required: true + OrderID *string `json:"orderID"` + + // CRN of satellite to register + // Required: true + SatelliteID *string `json:"satelliteID"` + + // Usage mode to activate in the pod + // Required: true + UsageMode *string `json:"usageMode"` +} + +// Validate validates this satellite registration +func (m *SatelliteRegistration) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateOrderID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSatelliteID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUsageMode(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SatelliteRegistration) validateOrderID(formats strfmt.Registry) error { + + if err := validate.Required("orderID", "body", m.OrderID); err != nil { + return err + } + + return nil +} + +func (m *SatelliteRegistration) validateSatelliteID(formats strfmt.Registry) error { + + if err := validate.Required("satelliteID", "body", m.SatelliteID); err != nil { + return err + } + + return nil +} + +func (m *SatelliteRegistration) validateUsageMode(formats strfmt.Registry) error { + + if err := validate.Required("usageMode", "body", m.UsageMode); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this satellite registration based on context it is used +func (m *SatelliteRegistration) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SatelliteRegistration) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SatelliteRegistration) UnmarshalBinary(b []byte) error { + var res SatelliteRegistration + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_tag.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_tag.go new file mode 100644 index 000000000..354e92206 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/satellite_tag.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SatelliteTag satellite tag +// +// swagger:model SatelliteTag +type SatelliteTag struct { + + // CRN of satellite to perform tag operation + // Required: true + SatelliteID *string `json:"satelliteID"` +} + +// Validate validates this satellite tag +func (m *SatelliteTag) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSatelliteID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SatelliteTag) validateSatelliteID(formats strfmt.Registry) error { + + if err := validate.Required("satelliteID", "body", m.SatelliteID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this satellite tag based on context it is used +func (m *SatelliteTag) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SatelliteTag) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SatelliteTag) UnmarshalBinary(b []byte) error { + var res SatelliteTag + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/schema_parameters.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/schema_parameters.go new file mode 100644 index 000000000..118c6b0f9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/schema_parameters.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SchemaParameters schema parameters +// +// swagger:model SchemaParameters +type SchemaParameters struct { + + // parameters + Parameters JSONSchemaObject `json:"parameters,omitempty"` +} + +// Validate validates this schema parameters +func (m *SchemaParameters) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this schema parameters based on context it is used +func (m *SchemaParameters) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SchemaParameters) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SchemaParameters) UnmarshalBinary(b []byte) error { + var res SchemaParameters + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/schemas_object.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/schemas_object.go new file mode 100644 index 000000000..c5c45188a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/schemas_object.go @@ -0,0 +1,177 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SchemasObject schemas object +// +// swagger:model SchemasObject +type SchemasObject struct { + + // service binding + ServiceBinding *ServiceBindingSchemaObject `json:"service_binding,omitempty"` + + // service instance + ServiceInstance *ServiceInstanceSchemaObject `json:"service_instance,omitempty"` +} + +// Validate validates this schemas object +func (m *SchemasObject) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateServiceBinding(formats); err != nil { + res = append(res, err) + } + + if err := m.validateServiceInstance(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SchemasObject) validateServiceBinding(formats strfmt.Registry) error { + if swag.IsZero(m.ServiceBinding) { // not required + return nil + } + + if m.ServiceBinding != nil { + if err := m.ServiceBinding.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("service_binding") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("service_binding") + } + + return err + } + } + + return nil +} + +func (m *SchemasObject) validateServiceInstance(formats strfmt.Registry) error { + if swag.IsZero(m.ServiceInstance) { // not required + return nil + } + + if m.ServiceInstance != nil { + if err := m.ServiceInstance.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("service_instance") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("service_instance") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this schemas object based on the context it is used +func (m *SchemasObject) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateServiceBinding(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateServiceInstance(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SchemasObject) contextValidateServiceBinding(ctx context.Context, formats strfmt.Registry) error { + + if m.ServiceBinding != nil { + + if swag.IsZero(m.ServiceBinding) { // not required + return nil + } + + if err := m.ServiceBinding.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("service_binding") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("service_binding") + } + + return err + } + } + + return nil +} + +func (m *SchemasObject) contextValidateServiceInstance(ctx context.Context, formats strfmt.Registry) error { + + if m.ServiceInstance != nil { + + if swag.IsZero(m.ServiceInstance) { // not required + return nil + } + + if err := m.ServiceInstance.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("service_instance") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("service_instance") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SchemasObject) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SchemasObject) UnmarshalBinary(b []byte) error { + var res SchemasObject + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/secondary.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/secondary.go new file mode 100644 index 000000000..a312c5ea7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/secondary.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Secondary Information to create a secondary host group +// +// swagger:model Secondary +type Secondary struct { + + // Name of the host group to create in the secondary workspace + Name string `json:"name,omitempty"` + + // ID of the workspace to share the host group with + // Required: true + Workspace *string `json:"workspace"` +} + +// Validate validates this secondary +func (m *Secondary) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateWorkspace(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Secondary) validateWorkspace(formats strfmt.Registry) error { + + if err := validate.Required("workspace", "body", m.Workspace); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this secondary based on context it is used +func (m *Secondary) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Secondary) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Secondary) UnmarshalBinary(b []byte) error { + var res Secondary + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service.go new file mode 100644 index 000000000..ffef46bde --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service.go @@ -0,0 +1,325 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Service service +// +// swagger:model Service +type Service struct { + + // bindable + // Required: true + Bindable *bool `json:"bindable"` + + // dashboard client + DashboardClient *DashboardClient `json:"dashboard_client,omitempty"` + + // description + // Required: true + Description *string `json:"description"` + + // iam compatible + IamCompatible bool `json:"iam_compatible,omitempty"` + + // id + // Required: true + ID *string `json:"id"` + + // metadata + Metadata Metadata `json:"metadata,omitempty"` + + // name + // Required: true + Name *string `json:"name"` + + // plan updateable + PlanUpdateable bool `json:"plan_updateable,omitempty"` + + // plans + // Required: true + Plans []*Plan `json:"plans"` + + // provisionable + Provisionable bool `json:"provisionable,omitempty"` + + // rc compatible + RcCompatible bool `json:"rc_compatible,omitempty"` + + // requires + Requires []string `json:"requires"` + + // tags + Tags []string `json:"tags"` + + // unique api key + UniqueAPIKey bool `json:"unique_api_key,omitempty"` +} + +// Validate validates this service +func (m *Service) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateBindable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDashboardClient(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePlans(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRequires(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Service) validateBindable(formats strfmt.Registry) error { + + if err := validate.Required("bindable", "body", m.Bindable); err != nil { + return err + } + + return nil +} + +func (m *Service) validateDashboardClient(formats strfmt.Registry) error { + if swag.IsZero(m.DashboardClient) { // not required + return nil + } + + if m.DashboardClient != nil { + if err := m.DashboardClient.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("dashboard_client") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("dashboard_client") + } + + return err + } + } + + return nil +} + +func (m *Service) validateDescription(formats strfmt.Registry) error { + + if err := validate.Required("description", "body", m.Description); err != nil { + return err + } + + return nil +} + +func (m *Service) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *Service) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *Service) validatePlans(formats strfmt.Registry) error { + + if err := validate.Required("plans", "body", m.Plans); err != nil { + return err + } + + for i := 0; i < len(m.Plans); i++ { + if swag.IsZero(m.Plans[i]) { // not required + continue + } + + if m.Plans[i] != nil { + if err := m.Plans[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("plans" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("plans" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +var serviceRequiresItemsEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["syslog_drain","route_forwarding","volume_mount"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + serviceRequiresItemsEnum = append(serviceRequiresItemsEnum, v) + } +} + +func (m *Service) validateRequiresItemsEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, serviceRequiresItemsEnum, true); err != nil { + return err + } + return nil +} + +func (m *Service) validateRequires(formats strfmt.Registry) error { + if swag.IsZero(m.Requires) { // not required + return nil + } + + for i := 0; i < len(m.Requires); i++ { + + // value enum + if err := m.validateRequiresItemsEnum("requires"+"."+strconv.Itoa(i), "body", m.Requires[i]); err != nil { + return err + } + + } + + return nil +} + +// ContextValidate validate this service based on the context it is used +func (m *Service) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDashboardClient(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePlans(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Service) contextValidateDashboardClient(ctx context.Context, formats strfmt.Registry) error { + + if m.DashboardClient != nil { + + if swag.IsZero(m.DashboardClient) { // not required + return nil + } + + if err := m.DashboardClient.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("dashboard_client") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("dashboard_client") + } + + return err + } + } + + return nil +} + +func (m *Service) contextValidatePlans(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Plans); i++ { + + if m.Plans[i] != nil { + + if swag.IsZero(m.Plans[i]) { // not required + return nil + } + + if err := m.Plans[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("plans" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("plans" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Service) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Service) UnmarshalBinary(b []byte) error { + var res Service + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_authentication_info.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_authentication_info.go new file mode 100644 index 000000000..02d92850e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_authentication_info.go @@ -0,0 +1,207 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ServiceAuthenticationInfo service authentication info +// +// swagger:model ServiceAuthenticationInfo +type ServiceAuthenticationInfo struct { + + // Map of internal capabilities the user has access to and their level of access + Capabilities ResourceAccess `json:"capabilities,omitempty"` + + // Service ID + // Required: true + ID *string `json:"id"` + + // Service Name + // Required: true + Name *string `json:"name"` + + // OAuth2 Token + // Required: true + Token *Token `json:"token"` +} + +// Validate validates this service authentication info +func (m *ServiceAuthenticationInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCapabilities(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateToken(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceAuthenticationInfo) validateCapabilities(formats strfmt.Registry) error { + if swag.IsZero(m.Capabilities) { // not required + return nil + } + + if m.Capabilities != nil { + if err := m.Capabilities.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capabilities") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capabilities") + } + + return err + } + } + + return nil +} + +func (m *ServiceAuthenticationInfo) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *ServiceAuthenticationInfo) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *ServiceAuthenticationInfo) validateToken(formats strfmt.Registry) error { + + if err := validate.Required("token", "body", m.Token); err != nil { + return err + } + + if m.Token != nil { + if err := m.Token.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("token") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("token") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this service authentication info based on the context it is used +func (m *ServiceAuthenticationInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCapabilities(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateToken(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceAuthenticationInfo) contextValidateCapabilities(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Capabilities) { // not required + return nil + } + + if err := m.Capabilities.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capabilities") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capabilities") + } + + return err + } + + return nil +} + +func (m *ServiceAuthenticationInfo) contextValidateToken(ctx context.Context, formats strfmt.Registry) error { + + if m.Token != nil { + + if err := m.Token.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("token") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("token") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceAuthenticationInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceAuthenticationInfo) UnmarshalBinary(b []byte) error { + var res ServiceAuthenticationInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding.go new file mode 100644 index 000000000..558369e83 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding.go @@ -0,0 +1,139 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceBinding service binding +// +// swagger:model ServiceBinding +type ServiceBinding struct { + + // credentials + Credentials Object `json:"credentials,omitempty"` + + // route service url + RouteServiceURL string `json:"route_service_url,omitempty"` + + // syslog drain url + SyslogDrainURL string `json:"syslog_drain_url,omitempty"` + + // volume mounts + VolumeMounts []*ServiceBindingVolumeMount `json:"volume_mounts"` +} + +// Validate validates this service binding +func (m *ServiceBinding) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeMounts(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBinding) validateVolumeMounts(formats strfmt.Registry) error { + if swag.IsZero(m.VolumeMounts) { // not required + return nil + } + + for i := 0; i < len(m.VolumeMounts); i++ { + if swag.IsZero(m.VolumeMounts[i]) { // not required + continue + } + + if m.VolumeMounts[i] != nil { + if err := m.VolumeMounts[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volume_mounts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volume_mounts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this service binding based on the context it is used +func (m *ServiceBinding) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumeMounts(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBinding) contextValidateVolumeMounts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VolumeMounts); i++ { + + if m.VolumeMounts[i] != nil { + + if swag.IsZero(m.VolumeMounts[i]) { // not required + return nil + } + + if err := m.VolumeMounts[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volume_mounts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volume_mounts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceBinding) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceBinding) UnmarshalBinary(b []byte) error { + var res ServiceBinding + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_request.go new file mode 100644 index 000000000..be37c8ceb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_request.go @@ -0,0 +1,162 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ServiceBindingRequest service binding request +// +// swagger:model ServiceBindingRequest +type ServiceBindingRequest struct { + + // app guid + AppGUID string `json:"app_guid,omitempty"` + + // bind resource + BindResource *ServiceBindingResourceObject `json:"bind_resource,omitempty"` + + // context + Context Context `json:"context,omitempty"` + + // parameters + Parameters Object `json:"parameters,omitempty"` + + // plan id + // Required: true + PlanID *string `json:"plan_id"` + + // service id + // Required: true + ServiceID *string `json:"service_id"` +} + +// Validate validates this service binding request +func (m *ServiceBindingRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateBindResource(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePlanID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateServiceID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingRequest) validateBindResource(formats strfmt.Registry) error { + if swag.IsZero(m.BindResource) { // not required + return nil + } + + if m.BindResource != nil { + if err := m.BindResource.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("bind_resource") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("bind_resource") + } + + return err + } + } + + return nil +} + +func (m *ServiceBindingRequest) validatePlanID(formats strfmt.Registry) error { + + if err := validate.Required("plan_id", "body", m.PlanID); err != nil { + return err + } + + return nil +} + +func (m *ServiceBindingRequest) validateServiceID(formats strfmt.Registry) error { + + if err := validate.Required("service_id", "body", m.ServiceID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this service binding request based on the context it is used +func (m *ServiceBindingRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateBindResource(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingRequest) contextValidateBindResource(ctx context.Context, formats strfmt.Registry) error { + + if m.BindResource != nil { + + if swag.IsZero(m.BindResource) { // not required + return nil + } + + if err := m.BindResource.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("bind_resource") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("bind_resource") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceBindingRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceBindingRequest) UnmarshalBinary(b []byte) error { + var res ServiceBindingRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_resource.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_resource.go new file mode 100644 index 000000000..eb7135faf --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_resource.go @@ -0,0 +1,142 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceBindingResource service binding resource +// +// swagger:model ServiceBindingResource +type ServiceBindingResource struct { + + // credentials + Credentials Object `json:"credentials,omitempty"` + + // parameters + Parameters Object `json:"parameters,omitempty"` + + // route service url + RouteServiceURL string `json:"route_service_url,omitempty"` + + // syslog drain url + SyslogDrainURL string `json:"syslog_drain_url,omitempty"` + + // volume mounts + VolumeMounts []*ServiceBindingVolumeMount `json:"volume_mounts"` +} + +// Validate validates this service binding resource +func (m *ServiceBindingResource) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeMounts(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingResource) validateVolumeMounts(formats strfmt.Registry) error { + if swag.IsZero(m.VolumeMounts) { // not required + return nil + } + + for i := 0; i < len(m.VolumeMounts); i++ { + if swag.IsZero(m.VolumeMounts[i]) { // not required + continue + } + + if m.VolumeMounts[i] != nil { + if err := m.VolumeMounts[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volume_mounts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volume_mounts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this service binding resource based on the context it is used +func (m *ServiceBindingResource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumeMounts(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingResource) contextValidateVolumeMounts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VolumeMounts); i++ { + + if m.VolumeMounts[i] != nil { + + if swag.IsZero(m.VolumeMounts[i]) { // not required + return nil + } + + if err := m.VolumeMounts[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volume_mounts" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volume_mounts" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceBindingResource) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceBindingResource) UnmarshalBinary(b []byte) error { + var res ServiceBindingResource + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_resource_object.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_resource_object.go new file mode 100644 index 000000000..dc89fff63 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_resource_object.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceBindingResourceObject service binding resource object +// +// swagger:model ServiceBindingResourceObject +type ServiceBindingResourceObject struct { + + // app guid + AppGUID string `json:"app_guid,omitempty"` + + // route + Route string `json:"route,omitempty"` +} + +// Validate validates this service binding resource object +func (m *ServiceBindingResourceObject) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this service binding resource object based on context it is used +func (m *ServiceBindingResourceObject) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceBindingResourceObject) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceBindingResourceObject) UnmarshalBinary(b []byte) error { + var res ServiceBindingResourceObject + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_schema_object.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_schema_object.go new file mode 100644 index 000000000..fb20ec2d0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_schema_object.go @@ -0,0 +1,118 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceBindingSchemaObject service binding schema object +// +// swagger:model ServiceBindingSchemaObject +type ServiceBindingSchemaObject struct { + + // create + Create *SchemaParameters `json:"create,omitempty"` +} + +// Validate validates this service binding schema object +func (m *ServiceBindingSchemaObject) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingSchemaObject) validateCreate(formats strfmt.Registry) error { + if swag.IsZero(m.Create) { // not required + return nil + } + + if m.Create != nil { + if err := m.Create.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("create") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("create") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this service binding schema object based on the context it is used +func (m *ServiceBindingSchemaObject) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCreate(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingSchemaObject) contextValidateCreate(ctx context.Context, formats strfmt.Registry) error { + + if m.Create != nil { + + if swag.IsZero(m.Create) { // not required + return nil + } + + if err := m.Create.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("create") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("create") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceBindingSchemaObject) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceBindingSchemaObject) UnmarshalBinary(b []byte) error { + var res ServiceBindingSchemaObject + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_volume_mount.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_volume_mount.go new file mode 100644 index 000000000..839ef77c0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_volume_mount.go @@ -0,0 +1,253 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ServiceBindingVolumeMount service binding volume mount +// +// swagger:model ServiceBindingVolumeMount +type ServiceBindingVolumeMount struct { + + // container dir + // Required: true + ContainerDir *string `json:"container_dir"` + + // device + // Required: true + Device *ServiceBindingVolumeMountDevice `json:"device"` + + // device type + // Required: true + // Enum: ["shared"] + DeviceType *string `json:"device_type"` + + // driver + // Required: true + Driver *string `json:"driver"` + + // mode + // Required: true + // Enum: ["r","rw"] + Mode *string `json:"mode"` +} + +// Validate validates this service binding volume mount +func (m *ServiceBindingVolumeMount) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateContainerDir(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDevice(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDeviceType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDriver(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMode(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingVolumeMount) validateContainerDir(formats strfmt.Registry) error { + + if err := validate.Required("container_dir", "body", m.ContainerDir); err != nil { + return err + } + + return nil +} + +func (m *ServiceBindingVolumeMount) validateDevice(formats strfmt.Registry) error { + + if err := validate.Required("device", "body", m.Device); err != nil { + return err + } + + if m.Device != nil { + if err := m.Device.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("device") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("device") + } + + return err + } + } + + return nil +} + +var serviceBindingVolumeMountTypeDeviceTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["shared"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + serviceBindingVolumeMountTypeDeviceTypePropEnum = append(serviceBindingVolumeMountTypeDeviceTypePropEnum, v) + } +} + +const ( + + // ServiceBindingVolumeMountDeviceTypeShared captures enum value "shared" + ServiceBindingVolumeMountDeviceTypeShared string = "shared" +) + +// prop value enum +func (m *ServiceBindingVolumeMount) validateDeviceTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, serviceBindingVolumeMountTypeDeviceTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *ServiceBindingVolumeMount) validateDeviceType(formats strfmt.Registry) error { + + if err := validate.Required("device_type", "body", m.DeviceType); err != nil { + return err + } + + // value enum + if err := m.validateDeviceTypeEnum("device_type", "body", *m.DeviceType); err != nil { + return err + } + + return nil +} + +func (m *ServiceBindingVolumeMount) validateDriver(formats strfmt.Registry) error { + + if err := validate.Required("driver", "body", m.Driver); err != nil { + return err + } + + return nil +} + +var serviceBindingVolumeMountTypeModePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["r","rw"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + serviceBindingVolumeMountTypeModePropEnum = append(serviceBindingVolumeMountTypeModePropEnum, v) + } +} + +const ( + + // ServiceBindingVolumeMountModeR captures enum value "r" + ServiceBindingVolumeMountModeR string = "r" + + // ServiceBindingVolumeMountModeRw captures enum value "rw" + ServiceBindingVolumeMountModeRw string = "rw" +) + +// prop value enum +func (m *ServiceBindingVolumeMount) validateModeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, serviceBindingVolumeMountTypeModePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *ServiceBindingVolumeMount) validateMode(formats strfmt.Registry) error { + + if err := validate.Required("mode", "body", m.Mode); err != nil { + return err + } + + // value enum + if err := m.validateModeEnum("mode", "body", *m.Mode); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this service binding volume mount based on the context it is used +func (m *ServiceBindingVolumeMount) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDevice(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingVolumeMount) contextValidateDevice(ctx context.Context, formats strfmt.Registry) error { + + if m.Device != nil { + + if err := m.Device.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("device") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("device") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceBindingVolumeMount) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceBindingVolumeMount) UnmarshalBinary(b []byte) error { + var res ServiceBindingVolumeMount + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_volume_mount_device.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_volume_mount_device.go new file mode 100644 index 000000000..f95ff3f73 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_binding_volume_mount_device.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ServiceBindingVolumeMountDevice service binding volume mount device +// +// swagger:model ServiceBindingVolumeMountDevice +type ServiceBindingVolumeMountDevice struct { + + // mount config + MountConfig Object `json:"mount_config,omitempty"` + + // volume id + // Required: true + VolumeID *string `json:"volume_id"` +} + +// Validate validates this service binding volume mount device +func (m *ServiceBindingVolumeMountDevice) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceBindingVolumeMountDevice) validateVolumeID(formats strfmt.Registry) error { + + if err := validate.Required("volume_id", "body", m.VolumeID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this service binding volume mount device based on context it is used +func (m *ServiceBindingVolumeMountDevice) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceBindingVolumeMountDevice) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceBindingVolumeMountDevice) UnmarshalBinary(b []byte) error { + var res ServiceBindingVolumeMountDevice + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance.go new file mode 100644 index 000000000..2c6ca23cd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ServiceInstance service instance +// +// swagger:model ServiceInstance +type ServiceInstance struct { + + // Indicates (from the viewpoint of the provider) whether the service instance is (perceived) active or not and is meaningful if enabled is true. The default value is true if not specified. + // Required: true + Active *bool `json:"active"` + + // Indicates the current state of the service instance. + // Required: true + Enable *bool `json:"enable"` + + // Indicates when the service instance was last accessed or modified, and is meaningful if enabled is true AND active is false. Represented as milliseconds since the epoch, but does not need to be accurate to the second/hour. + // Required: true + LastActive *float64 `json:"last_active"` +} + +// Validate validates this service instance +func (m *ServiceInstance) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateActive(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEnable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastActive(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceInstance) validateActive(formats strfmt.Registry) error { + + if err := validate.Required("active", "body", m.Active); err != nil { + return err + } + + return nil +} + +func (m *ServiceInstance) validateEnable(formats strfmt.Registry) error { + + if err := validate.Required("enable", "body", m.Enable); err != nil { + return err + } + + return nil +} + +func (m *ServiceInstance) validateLastActive(formats strfmt.Registry) error { + + if err := validate.Required("last_active", "body", m.LastActive); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this service instance based on context it is used +func (m *ServiceInstance) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstance) UnmarshalBinary(b []byte) error { + var res ServiceInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_async_operation.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_async_operation.go new file mode 100644 index 000000000..4ff2a8a3b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_async_operation.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceInstanceAsyncOperation service instance async operation +// +// swagger:model ServiceInstanceAsyncOperation +type ServiceInstanceAsyncOperation struct { + + // dashboard url + DashboardURL string `json:"dashboard_url,omitempty"` + + // extensions + Extensions any `json:"extensions,omitempty"` + + // operation + Operation string `json:"operation,omitempty"` +} + +// Validate validates this service instance async operation +func (m *ServiceInstanceAsyncOperation) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this service instance async operation based on context it is used +func (m *ServiceInstanceAsyncOperation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstanceAsyncOperation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstanceAsyncOperation) UnmarshalBinary(b []byte) error { + var res ServiceInstanceAsyncOperation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_previous_values.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_previous_values.go new file mode 100644 index 000000000..33c2f1c90 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_previous_values.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceInstancePreviousValues service instance previous values +// +// swagger:model ServiceInstancePreviousValues +type ServiceInstancePreviousValues struct { + + // organization id + OrganizationID string `json:"organization_id,omitempty"` + + // plan id + PlanID string `json:"plan_id,omitempty"` + + // service id + ServiceID string `json:"service_id,omitempty"` + + // space id + SpaceID string `json:"space_id,omitempty"` +} + +// Validate validates this service instance previous values +func (m *ServiceInstancePreviousValues) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this service instance previous values based on context it is used +func (m *ServiceInstancePreviousValues) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstancePreviousValues) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstancePreviousValues) UnmarshalBinary(b []byte) error { + var res ServiceInstancePreviousValues + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_provision.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_provision.go new file mode 100644 index 000000000..7fb520f2e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_provision.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceInstanceProvision service instance provision +// +// swagger:model ServiceInstanceProvision +type ServiceInstanceProvision struct { + + // dashboard url + DashboardURL string `json:"dashboard_url,omitempty"` +} + +// Validate validates this service instance provision +func (m *ServiceInstanceProvision) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this service instance provision based on context it is used +func (m *ServiceInstanceProvision) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstanceProvision) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstanceProvision) UnmarshalBinary(b []byte) error { + var res ServiceInstanceProvision + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_provision_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_provision_request.go new file mode 100644 index 000000000..6e84dd465 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_provision_request.go @@ -0,0 +1,100 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ServiceInstanceProvisionRequest service instance provision request +// +// swagger:model ServiceInstanceProvisionRequest +type ServiceInstanceProvisionRequest struct { + + // context + Context Context `json:"context,omitempty"` + + // organization guid + OrganizationGUID string `json:"organization_guid,omitempty"` + + // parameters + Parameters Object `json:"parameters,omitempty"` + + // plan id + // Required: true + PlanID *string `json:"plan_id"` + + // service id + // Required: true + ServiceID *string `json:"service_id"` + + // space guid + SpaceGUID string `json:"space_guid,omitempty"` +} + +// Validate validates this service instance provision request +func (m *ServiceInstanceProvisionRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePlanID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateServiceID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceInstanceProvisionRequest) validatePlanID(formats strfmt.Registry) error { + + if err := validate.Required("plan_id", "body", m.PlanID); err != nil { + return err + } + + return nil +} + +func (m *ServiceInstanceProvisionRequest) validateServiceID(formats strfmt.Registry) error { + + if err := validate.Required("service_id", "body", m.ServiceID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this service instance provision request based on context it is used +func (m *ServiceInstanceProvisionRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstanceProvisionRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstanceProvisionRequest) UnmarshalBinary(b []byte) error { + var res ServiceInstanceProvisionRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_request.go new file mode 100644 index 000000000..67afe7a14 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_request.go @@ -0,0 +1,77 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ServiceInstanceRequest service instance request +// +// swagger:model ServiceInstanceRequest +type ServiceInstanceRequest struct { + + // Indicates the current state of the service instance. + // Required: true + Enabled *bool `json:"enabled"` + + // Optional string stating the reason code for the service instance state change. Valid values are BMX_ACCT_ACTIVATE, BMX_SERVICE_INSTANCE_BELOW_CAP for enable calls, and BMX_ACCT_SUSPEND, BMX_SERVICE_INSTANCE_ABOVE_CAP for disable calls. + InitiatorID string `json:"initiator_id,omitempty"` + + // Optional string showing the user id initiating the call + ReasonCode string `json:"reason_code,omitempty"` +} + +// Validate validates this service instance request +func (m *ServiceInstanceRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateEnabled(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceInstanceRequest) validateEnabled(formats strfmt.Registry) error { + + if err := validate.Required("enabled", "body", m.Enabled); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this service instance request based on context it is used +func (m *ServiceInstanceRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstanceRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstanceRequest) UnmarshalBinary(b []byte) error { + var res ServiceInstanceRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_resource.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_resource.go new file mode 100644 index 000000000..1a7b2da7e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_resource.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceInstanceResource service instance resource +// +// swagger:model ServiceInstanceResource +type ServiceInstanceResource struct { + + // dashboard url + DashboardURL string `json:"dashboard_url,omitempty"` + + // parameters + Parameters Object `json:"parameters,omitempty"` + + // plan id + PlanID string `json:"plan_id,omitempty"` + + // service id + ServiceID string `json:"service_id,omitempty"` +} + +// Validate validates this service instance resource +func (m *ServiceInstanceResource) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this service instance resource based on context it is used +func (m *ServiceInstanceResource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstanceResource) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstanceResource) UnmarshalBinary(b []byte) error { + var res ServiceInstanceResource + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_schema_object.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_schema_object.go new file mode 100644 index 000000000..b7c72a13c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_schema_object.go @@ -0,0 +1,177 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceInstanceSchemaObject service instance schema object +// +// swagger:model ServiceInstanceSchemaObject +type ServiceInstanceSchemaObject struct { + + // create + Create *SchemaParameters `json:"create,omitempty"` + + // update + Update *SchemaParameters `json:"update,omitempty"` +} + +// Validate validates this service instance schema object +func (m *ServiceInstanceSchemaObject) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceInstanceSchemaObject) validateCreate(formats strfmt.Registry) error { + if swag.IsZero(m.Create) { // not required + return nil + } + + if m.Create != nil { + if err := m.Create.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("create") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("create") + } + + return err + } + } + + return nil +} + +func (m *ServiceInstanceSchemaObject) validateUpdate(formats strfmt.Registry) error { + if swag.IsZero(m.Update) { // not required + return nil + } + + if m.Update != nil { + if err := m.Update.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("update") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("update") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this service instance schema object based on the context it is used +func (m *ServiceInstanceSchemaObject) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCreate(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUpdate(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceInstanceSchemaObject) contextValidateCreate(ctx context.Context, formats strfmt.Registry) error { + + if m.Create != nil { + + if swag.IsZero(m.Create) { // not required + return nil + } + + if err := m.Create.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("create") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("create") + } + + return err + } + } + + return nil +} + +func (m *ServiceInstanceSchemaObject) contextValidateUpdate(ctx context.Context, formats strfmt.Registry) error { + + if m.Update != nil { + + if swag.IsZero(m.Update) { // not required + return nil + } + + if err := m.Update.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("update") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("update") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstanceSchemaObject) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstanceSchemaObject) UnmarshalBinary(b []byte) error { + var res ServiceInstanceSchemaObject + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_update.go new file mode 100644 index 000000000..6f25f2f36 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_update.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ServiceInstanceUpdate service instance update +// +// swagger:model ServiceInstanceUpdate +type ServiceInstanceUpdate struct { + + // dashboard url + DashboardURL string `json:"dashboard_url,omitempty"` + + // extensions + Extensions any `json:"extensions,omitempty"` +} + +// Validate validates this service instance update +func (m *ServiceInstanceUpdate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this service instance update based on context it is used +func (m *ServiceInstanceUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstanceUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstanceUpdate) UnmarshalBinary(b []byte) error { + var res ServiceInstanceUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_update_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_update_request.go new file mode 100644 index 000000000..6ee07abeb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/service_instance_update_request.go @@ -0,0 +1,145 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ServiceInstanceUpdateRequest service instance update request +// +// swagger:model ServiceInstanceUpdateRequest +type ServiceInstanceUpdateRequest struct { + + // context + Context Context `json:"context,omitempty"` + + // parameters + Parameters Object `json:"parameters,omitempty"` + + // plan id + PlanID string `json:"plan_id,omitempty"` + + // previous values + PreviousValues *ServiceInstancePreviousValues `json:"previous_values,omitempty"` + + // service id + // Required: true + ServiceID *string `json:"service_id"` +} + +// Validate validates this service instance update request +func (m *ServiceInstanceUpdateRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePreviousValues(formats); err != nil { + res = append(res, err) + } + + if err := m.validateServiceID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceInstanceUpdateRequest) validatePreviousValues(formats strfmt.Registry) error { + if swag.IsZero(m.PreviousValues) { // not required + return nil + } + + if m.PreviousValues != nil { + if err := m.PreviousValues.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("previous_values") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("previous_values") + } + + return err + } + } + + return nil +} + +func (m *ServiceInstanceUpdateRequest) validateServiceID(formats strfmt.Registry) error { + + if err := validate.Required("service_id", "body", m.ServiceID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this service instance update request based on the context it is used +func (m *ServiceInstanceUpdateRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePreviousValues(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ServiceInstanceUpdateRequest) contextValidatePreviousValues(ctx context.Context, formats strfmt.Registry) error { + + if m.PreviousValues != nil { + + if swag.IsZero(m.PreviousValues) { // not required + return nil + } + + if err := m.PreviousValues.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("previous_values") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("previous_values") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ServiceInstanceUpdateRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ServiceInstanceUpdateRequest) UnmarshalBinary(b []byte) error { + var res ServiceInstanceUpdateRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool.go new file mode 100644 index 000000000..0d6eff139 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool.go @@ -0,0 +1,330 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SharedProcessorPool shared processor pool +// +// swagger:model SharedProcessorPool +type SharedProcessorPool struct { + + // The amount of allocated processor cores for the Shared Processor Pool + // Required: true + AllocatedCores *float64 `json:"allocatedCores"` + + // The amount of available processor cores for the Shared Processor Pool + // Required: true + AvailableCores *float64 `json:"availableCores"` + + // The creation time of the Shared Processor Pool + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // ID of the dedicated host where the Shared Processor Pool resides, if applicable + DedicatedHostID string `json:"dedicatedHostID,omitempty"` + + // The host group the host belongs to + HostGroup string `json:"hostGroup,omitempty"` + + // The ID of the host where the Shared Processor Pool resides + HostID int64 `json:"hostID,omitempty"` + + // The id of the Shared Processor Pool + // Required: true + ID *string `json:"id"` + + // The name of the Shared Processor Pool + // Required: true + Name *string `json:"name"` + + // The amount of reserved processor cores for the Shared Processor Pool + // Required: true + ReservedCores *int64 `json:"reservedCores"` + + // list of Shared Processor Pool Placement Groups + SharedProcessorPoolPlacementGroups []*SharedProcessorPoolPlacementGroup `json:"sharedProcessorPoolPlacementGroups"` + + // The status of the Shared Processor Pool + Status string `json:"status,omitempty"` + + // The status details of the Shared Processor Pool + StatusDetail string `json:"statusDetail,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this shared processor pool +func (m *SharedProcessorPool) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAllocatedCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAvailableCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReservedCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSharedProcessorPoolPlacementGroups(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPool) validateAllocatedCores(formats strfmt.Registry) error { + + if err := validate.Required("allocatedCores", "body", m.AllocatedCores); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPool) validateAvailableCores(formats strfmt.Registry) error { + + if err := validate.Required("availableCores", "body", m.AvailableCores); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPool) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPool) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("crn") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("crn") + } + return err + } + + return nil +} + +func (m *SharedProcessorPool) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPool) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPool) validateReservedCores(formats strfmt.Registry) error { + + if err := validate.Required("reservedCores", "body", m.ReservedCores); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPool) validateSharedProcessorPoolPlacementGroups(formats strfmt.Registry) error { + if swag.IsZero(m.SharedProcessorPoolPlacementGroups) { // not required + return nil + } + + for i := 0; i < len(m.SharedProcessorPoolPlacementGroups); i++ { + if swag.IsZero(m.SharedProcessorPoolPlacementGroups[i]) { // not required + continue + } + + if m.SharedProcessorPoolPlacementGroups[i] != nil { + if err := m.SharedProcessorPoolPlacementGroups[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("sharedProcessorPoolPlacementGroups" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("sharedProcessorPoolPlacementGroups" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *SharedProcessorPool) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("userTags") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("userTags") + } + return err + } + + return nil +} + +// ContextValidate validate this shared processor pool based on the context it is used +func (m *SharedProcessorPool) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSharedProcessorPoolPlacementGroups(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPool) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("crn") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("crn") + } + return err + } + + return nil +} + +func (m *SharedProcessorPool) contextValidateSharedProcessorPoolPlacementGroups(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.SharedProcessorPoolPlacementGroups); i++ { + + if m.SharedProcessorPoolPlacementGroups[i] != nil { + + if swag.IsZero(m.SharedProcessorPoolPlacementGroups[i]) { // not required + return nil + } + + if err := m.SharedProcessorPoolPlacementGroups[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("sharedProcessorPoolPlacementGroups" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("sharedProcessorPoolPlacementGroups" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *SharedProcessorPool) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("userTags") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("userTags") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SharedProcessorPool) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SharedProcessorPool) UnmarshalBinary(b []byte) error { + var res SharedProcessorPool + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_create.go new file mode 100644 index 000000000..3873c6355 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_create.go @@ -0,0 +1,167 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SharedProcessorPoolCreate shared processor pool create +// +// swagger:model SharedProcessorPoolCreate +type SharedProcessorPoolCreate struct { + + // The host group; a host from the group will be automatically selected based on available resources + // Required: true + HostGroup *string `json:"hostGroup"` + + // The host id of a host in a host group (only available for dedicated hosts) + HostID string `json:"hostID,omitempty"` + + // The name of the Shared Processor Pool; minumum of 2 characters, maximum of 12, the only special character allowed is the underscore '_'. + // Required: true + Name *string `json:"name"` + + // The ID of the placement group + PlacementGroupID string `json:"placementGroupID,omitempty"` + + // The amount of reserved processor cores for the Shared Processor Pool; only integers allowed, no fractional values + // Required: true + ReservedCores *int64 `json:"reservedCores"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this shared processor pool create +func (m *SharedProcessorPoolCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateHostGroup(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReservedCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPoolCreate) validateHostGroup(formats strfmt.Registry) error { + + if err := validate.Required("hostGroup", "body", m.HostGroup); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPoolCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPoolCreate) validateReservedCores(formats strfmt.Registry) error { + + if err := validate.Required("reservedCores", "body", m.ReservedCores); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPoolCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this shared processor pool create based on the context it is used +func (m *SharedProcessorPoolCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPoolCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SharedProcessorPoolCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SharedProcessorPoolCreate) UnmarshalBinary(b []byte) error { + var res SharedProcessorPoolCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_detail.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_detail.go new file mode 100644 index 000000000..1cb8ac633 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_detail.go @@ -0,0 +1,190 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SharedProcessorPoolDetail shared processor pool detail +// +// swagger:model SharedProcessorPoolDetail +type SharedProcessorPoolDetail struct { + + // list of servers deployed in the Shared Processor Pool + // Required: true + Servers []*SharedProcessorPoolServer `json:"servers"` + + // shared processor pool + // Required: true + SharedProcessorPool *SharedProcessorPool `json:"sharedProcessorPool"` +} + +// Validate validates this shared processor pool detail +func (m *SharedProcessorPoolDetail) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateServers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSharedProcessorPool(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPoolDetail) validateServers(formats strfmt.Registry) error { + + if err := validate.Required("servers", "body", m.Servers); err != nil { + return err + } + + for i := 0; i < len(m.Servers); i++ { + if swag.IsZero(m.Servers[i]) { // not required + continue + } + + if m.Servers[i] != nil { + if err := m.Servers[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("servers" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("servers" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *SharedProcessorPoolDetail) validateSharedProcessorPool(formats strfmt.Registry) error { + + if err := validate.Required("sharedProcessorPool", "body", m.SharedProcessorPool); err != nil { + return err + } + + if m.SharedProcessorPool != nil { + if err := m.SharedProcessorPool.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sharedProcessorPool") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sharedProcessorPool") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this shared processor pool detail based on the context it is used +func (m *SharedProcessorPoolDetail) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateServers(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSharedProcessorPool(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPoolDetail) contextValidateServers(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Servers); i++ { + + if m.Servers[i] != nil { + + if swag.IsZero(m.Servers[i]) { // not required + return nil + } + + if err := m.Servers[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("servers" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("servers" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *SharedProcessorPoolDetail) contextValidateSharedProcessorPool(ctx context.Context, formats strfmt.Registry) error { + + if m.SharedProcessorPool != nil { + + if err := m.SharedProcessorPool.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sharedProcessorPool") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sharedProcessorPool") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SharedProcessorPoolDetail) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SharedProcessorPoolDetail) UnmarshalBinary(b []byte) error { + var res SharedProcessorPoolDetail + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_placement_group.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_placement_group.go new file mode 100644 index 000000000..a8411ac77 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_placement_group.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SharedProcessorPoolPlacementGroup shared processor pool placement group +// +// swagger:model SharedProcessorPoolPlacementGroup +type SharedProcessorPoolPlacementGroup struct { + + // The id of the Shared Processor Pool Placement Group + // Required: true + ID *string `json:"id"` + + // The name of the Shared Processor Pool Placement Group + // Required: true + Name *string `json:"name"` + + // The Shared Processor Pool Placement Group policy + // Required: true + Policy *string `json:"policy"` +} + +// Validate validates this shared processor pool placement group +func (m *SharedProcessorPoolPlacementGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePolicy(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPoolPlacementGroup) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPoolPlacementGroup) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *SharedProcessorPoolPlacementGroup) validatePolicy(formats strfmt.Registry) error { + + if err := validate.Required("policy", "body", m.Policy); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this shared processor pool placement group based on context it is used +func (m *SharedProcessorPoolPlacementGroup) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SharedProcessorPoolPlacementGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SharedProcessorPoolPlacementGroup) UnmarshalBinary(b []byte) error { + var res SharedProcessorPoolPlacementGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_server.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_server.go new file mode 100644 index 000000000..87a1dcab6 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_server.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SharedProcessorPoolServer shared processor pool server +// +// swagger:model SharedProcessorPoolServer +type SharedProcessorPoolServer struct { + + // The amount of cpus for the server + Cpus float64 `json:"Cpus,omitempty"` + + // Identifies if uncapped or not + Uncapped bool `json:"Uncapped,omitempty"` + + // Availability zone for the server + AvailabilityZone string `json:"availabilityZone,omitempty"` + + // The server ID + ID string `json:"id,omitempty"` + + // The amount of memory for the server + Memory int64 `json:"memory,omitempty"` + + // The server name + Name string `json:"name,omitempty"` + + // Status of the server + Status string `json:"status,omitempty"` + + // The amout of vcpus for the server + Vcpus int64 `json:"vcpus,omitempty"` +} + +// Validate validates this shared processor pool server +func (m *SharedProcessorPoolServer) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this shared processor pool server based on context it is used +func (m *SharedProcessorPoolServer) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SharedProcessorPoolServer) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SharedProcessorPoolServer) UnmarshalBinary(b []byte) error { + var res SharedProcessorPoolServer + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_update.go new file mode 100644 index 000000000..56ba68d7d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pool_update.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SharedProcessorPoolUpdate shared processor pool update +// +// swagger:model SharedProcessorPoolUpdate +type SharedProcessorPoolUpdate struct { + + // The new name for the Shared Processor Pool; minumum of 2 characters, maximum of 12, the only special character allowed is the underscore '_'. + Name string `json:"name,omitempty"` + + // The amount of reserved processor cores for the Shared Processor Pool; only integers allowed, no fractional values; the amount can be increased (dependent on available resources) or decreased (dependent on currently allocated resources) + ReservedCores *int64 `json:"reservedCores,omitempty"` +} + +// Validate validates this shared processor pool update +func (m *SharedProcessorPoolUpdate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this shared processor pool update based on context it is used +func (m *SharedProcessorPoolUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SharedProcessorPoolUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SharedProcessorPoolUpdate) UnmarshalBinary(b []byte) error { + var res SharedProcessorPoolUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pools.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pools.go new file mode 100644 index 000000000..4dd970742 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/shared_processor_pools.go @@ -0,0 +1,130 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SharedProcessorPools shared processor pools +// +// swagger:model SharedProcessorPools +type SharedProcessorPools struct { + + // list of Shared Processor Pools + SharedProcessorPools []*SharedProcessorPool `json:"sharedProcessorPools"` +} + +// Validate validates this shared processor pools +func (m *SharedProcessorPools) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSharedProcessorPools(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPools) validateSharedProcessorPools(formats strfmt.Registry) error { + if swag.IsZero(m.SharedProcessorPools) { // not required + return nil + } + + for i := 0; i < len(m.SharedProcessorPools); i++ { + if swag.IsZero(m.SharedProcessorPools[i]) { // not required + continue + } + + if m.SharedProcessorPools[i] != nil { + if err := m.SharedProcessorPools[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sharedProcessorPools" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sharedProcessorPools" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this shared processor pools based on the context it is used +func (m *SharedProcessorPools) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSharedProcessorPools(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SharedProcessorPools) contextValidateSharedProcessorPools(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.SharedProcessorPools); i++ { + + if m.SharedProcessorPools[i] != nil { + + if swag.IsZero(m.SharedProcessorPools[i]) { // not required + return nil + } + + if err := m.SharedProcessorPools[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sharedProcessorPools" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sharedProcessorPools" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SharedProcessorPools) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SharedProcessorPools) UnmarshalBinary(b []byte) error { + var res SharedProcessorPools + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/site.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/site.go new file mode 100644 index 000000000..39afd5daa --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/site.go @@ -0,0 +1,136 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Site site +// +// swagger:model Site +type Site struct { + + // replication pool map + ReplicationPoolMap []*StoragePoolMap `json:"ReplicationPoolMap,omitempty"` + + // true if location is active , otherwise it is false + IsActive bool `json:"isActive,omitempty"` + + // regionZone of the location + Location string `json:"location,omitempty"` +} + +// Validate validates this site +func (m *Site) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateReplicationPoolMap(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Site) validateReplicationPoolMap(formats strfmt.Registry) error { + if swag.IsZero(m.ReplicationPoolMap) { // not required + return nil + } + + for i := 0; i < len(m.ReplicationPoolMap); i++ { + if swag.IsZero(m.ReplicationPoolMap[i]) { // not required + continue + } + + if m.ReplicationPoolMap[i] != nil { + if err := m.ReplicationPoolMap[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ReplicationPoolMap" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ReplicationPoolMap" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this site based on the context it is used +func (m *Site) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateReplicationPoolMap(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Site) contextValidateReplicationPoolMap(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ReplicationPoolMap); i++ { + + if m.ReplicationPoolMap[i] != nil { + + if swag.IsZero(m.ReplicationPoolMap[i]) { // not required + return nil + } + + if err := m.ReplicationPoolMap[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ReplicationPoolMap" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ReplicationPoolMap" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Site) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Site) UnmarshalBinary(b []byte) error { + var res Site + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot.go new file mode 100644 index 000000000..cfa55531f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot.go @@ -0,0 +1,237 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Snapshot snapshot +// +// swagger:model Snapshot +type Snapshot struct { + + // Action performed on the instance snapshot + Action string `json:"action,omitempty"` + + // Creation Date + // Format: date-time + CreationDate strfmt.DateTime `json:"creationDate,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // Description of the PVM instance snapshot with a maximum of 255 characters allowed. + Description string `json:"description,omitempty"` + + // Last Update Date + // Format: date-time + LastUpdateDate strfmt.DateTime `json:"lastUpdateDate,omitempty"` + + // Name of the PVM instance snapshot + // Required: true + Name *string `json:"name"` + + // Snapshot completion percentage + PercentComplete int64 `json:"percentComplete,omitempty"` + + // PCloud PVM Instance ID + // Required: true + PvmInstanceID *string `json:"pvmInstanceID"` + + // ID of the PVM instance snapshot + // Required: true + SnapshotID *string `json:"snapshotID"` + + // Status of the PVM instance snapshot + Status string `json:"status,omitempty"` + + // Detailed information for the last PVM instance snapshot action + StatusDetail string `json:"statusDetail,omitempty"` + + // A map of volume snapshots included in the PVM instance snapshot + // Required: true + VolumeSnapshots map[string]string `json:"volumeSnapshots"` +} + +// Validate validates this snapshot +func (m *Snapshot) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastUpdateDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSnapshotID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeSnapshots(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Snapshot) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Snapshot) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *Snapshot) validateLastUpdateDate(formats strfmt.Registry) error { + if swag.IsZero(m.LastUpdateDate) { // not required + return nil + } + + if err := validate.FormatOf("lastUpdateDate", "body", "date-time", m.LastUpdateDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Snapshot) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *Snapshot) validatePvmInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstanceID", "body", m.PvmInstanceID); err != nil { + return err + } + + return nil +} + +func (m *Snapshot) validateSnapshotID(formats strfmt.Registry) error { + + if err := validate.Required("snapshotID", "body", m.SnapshotID); err != nil { + return err + } + + return nil +} + +func (m *Snapshot) validateVolumeSnapshots(formats strfmt.Registry) error { + + if err := validate.Required("volumeSnapshots", "body", m.VolumeSnapshots); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this snapshot based on the context it is used +func (m *Snapshot) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Snapshot) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Snapshot) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Snapshot) UnmarshalBinary(b []byte) error { + var res Snapshot + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_create.go new file mode 100644 index 000000000..b34c868e3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_create.go @@ -0,0 +1,160 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SnapshotCreate snapshot create +// +// swagger:model SnapshotCreate +type SnapshotCreate struct { + + // Description of the PVM instance snapshot + // Max Length: 255 + Description string `json:"description,omitempty"` + + // Name of the PVM instance snapshot to create + // Required: true + // Max Length: 120 + // Pattern: ^[a-zA-Z0-9_.-]+$ + Name *string `json:"name"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // List of volumes to include in the PVM instance snapshot + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this snapshot create +func (m *SnapshotCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotCreate) validateDescription(formats strfmt.Registry) error { + if swag.IsZero(m.Description) { // not required + return nil + } + + if err := validate.MaxLength("description", "body", m.Description, 255); err != nil { + return err + } + + return nil +} + +func (m *SnapshotCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 120); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[a-zA-Z0-9_.-]+$`); err != nil { + return err + } + + return nil +} + +func (m *SnapshotCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this snapshot create based on the context it is used +func (m *SnapshotCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SnapshotCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SnapshotCreate) UnmarshalBinary(b []byte) error { + var res SnapshotCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_create_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_create_response.go new file mode 100644 index 000000000..e0a04d6a9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_create_response.go @@ -0,0 +1,181 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SnapshotCreateResponse snapshot create response +// +// swagger:model SnapshotCreateResponse +type SnapshotCreateResponse struct { + + // crn + Crn CRN `json:"crn,omitempty"` + + // ID of the PVM instance snapshot + // Required: true + SnapshotID *string `json:"snapshotID"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this snapshot create response +func (m *SnapshotCreateResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSnapshotID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotCreateResponse) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *SnapshotCreateResponse) validateSnapshotID(formats strfmt.Registry) error { + + if err := validate.Required("snapshotID", "body", m.SnapshotID); err != nil { + return err + } + + return nil +} + +func (m *SnapshotCreateResponse) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this snapshot create response based on the context it is used +func (m *SnapshotCreateResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotCreateResponse) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *SnapshotCreateResponse) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SnapshotCreateResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SnapshotCreateResponse) UnmarshalBinary(b []byte) error { + var res SnapshotCreateResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_list.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_list.go new file mode 100644 index 000000000..c0069e95e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_list.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SnapshotList snapshot list +// +// swagger:model SnapshotList +type SnapshotList struct { + + // The list of volume snapshots. + // Required: true + Snapshots []*SnapshotV1 `json:"snapshots"` +} + +// Validate validates this snapshot list +func (m *SnapshotList) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSnapshots(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotList) validateSnapshots(formats strfmt.Registry) error { + + if err := validate.Required("snapshots", "body", m.Snapshots); err != nil { + return err + } + + for i := 0; i < len(m.Snapshots); i++ { + if swag.IsZero(m.Snapshots[i]) { // not required + continue + } + + if m.Snapshots[i] != nil { + if err := m.Snapshots[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("snapshots" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("snapshots" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this snapshot list based on the context it is used +func (m *SnapshotList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSnapshots(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotList) contextValidateSnapshots(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Snapshots); i++ { + + if m.Snapshots[i] != nil { + + if swag.IsZero(m.Snapshots[i]) { // not required + return nil + } + + if err := m.Snapshots[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("snapshots" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("snapshots" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SnapshotList) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SnapshotList) UnmarshalBinary(b []byte) error { + var res SnapshotList + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_restore.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_restore.go new file mode 100644 index 000000000..b2effe1ff --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_restore.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SnapshotRestore snapshot restore +// +// swagger:model SnapshotRestore +type SnapshotRestore struct { + + // By default the VM must be shutoff during a snapshot restore, force set to true will relax the VM shutoff pre-condition. + Force *bool `json:"force,omitempty"` +} + +// Validate validates this snapshot restore +func (m *SnapshotRestore) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this snapshot restore based on context it is used +func (m *SnapshotRestore) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SnapshotRestore) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SnapshotRestore) UnmarshalBinary(b []byte) error { + var res SnapshotRestore + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_update.go new file mode 100644 index 000000000..1ade1de4f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_update.go @@ -0,0 +1,99 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SnapshotUpdate snapshot update +// +// swagger:model SnapshotUpdate +type SnapshotUpdate struct { + + // Description of the PVM instance snapshot with a maximum of 255 characters allowed. + // Max Length: 255 + Description *string `json:"description,omitempty"` + + // Name of the PVM instance snapshot + // Max Length: 120 + // Pattern: ^[a-zA-Z0-9_.-]+$ + Name *string `json:"name,omitempty"` +} + +// Validate validates this snapshot update +func (m *SnapshotUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotUpdate) validateDescription(formats strfmt.Registry) error { + if swag.IsZero(m.Description) { // not required + return nil + } + + if err := validate.MaxLength("description", "body", *m.Description, 255); err != nil { + return err + } + + return nil +} + +func (m *SnapshotUpdate) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MaxLength("name", "body", *m.Name, 120); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[a-zA-Z0-9_.-]+$`); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this snapshot update based on context it is used +func (m *SnapshotUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SnapshotUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SnapshotUpdate) UnmarshalBinary(b []byte) error { + var res SnapshotUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_v1.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_v1.go new file mode 100644 index 000000000..fb5f0de65 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshot_v1.go @@ -0,0 +1,239 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SnapshotV1 snapshot v1 +// +// swagger:model SnapshotV1 +type SnapshotV1 struct { + + // The date and time when the volume snapshot was created. + // Format: date-time + CreationDate strfmt.DateTime `json:"creationDate,omitempty"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // The volume snapshot UUID. + // Required: true + ID *string `json:"id"` + + // The volume snapshot name. + // Required: true + Name *string `json:"name"` + + // The size of the volume snapshot, in gibibytes (GiB). + // Required: true + Size *float64 `json:"size"` + + // The status for the volume snapshot. + // Required: true + Status *string `json:"status"` + + // The date and time when the volume snapshot was last updated. + // Format: date-time + UpdatedDate strfmt.DateTime `json:"updatedDate,omitempty"` + + // The volume UUID associated with the snapshot. + // Required: true + VolumeID *string `json:"volumeID"` +} + +// Validate validates this snapshot v1 +func (m *SnapshotV1) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdatedDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotV1) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *SnapshotV1) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *SnapshotV1) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *SnapshotV1) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *SnapshotV1) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + return nil +} + +func (m *SnapshotV1) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *SnapshotV1) validateUpdatedDate(formats strfmt.Registry) error { + if swag.IsZero(m.UpdatedDate) { // not required + return nil + } + + if err := validate.FormatOf("updatedDate", "body", "date-time", m.UpdatedDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *SnapshotV1) validateVolumeID(formats strfmt.Registry) error { + + if err := validate.Required("volumeID", "body", m.VolumeID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this snapshot v1 based on the context it is used +func (m *SnapshotV1) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SnapshotV1) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SnapshotV1) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SnapshotV1) UnmarshalBinary(b []byte) error { + var res SnapshotV1 + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshots.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshots.go new file mode 100644 index 000000000..331409f9a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/snapshots.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Snapshots snapshots +// +// swagger:model Snapshots +type Snapshots struct { + + // List of PVM instance snapshots + // Required: true + Snapshots []*Snapshot `json:"snapshots"` +} + +// Validate validates this snapshots +func (m *Snapshots) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSnapshots(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Snapshots) validateSnapshots(formats strfmt.Registry) error { + + if err := validate.Required("snapshots", "body", m.Snapshots); err != nil { + return err + } + + for i := 0; i < len(m.Snapshots); i++ { + if swag.IsZero(m.Snapshots[i]) { // not required + continue + } + + if m.Snapshots[i] != nil { + if err := m.Snapshots[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("snapshots" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("snapshots" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this snapshots based on the context it is used +func (m *Snapshots) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSnapshots(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Snapshots) contextValidateSnapshots(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Snapshots); i++ { + + if m.Snapshots[i] != nil { + + if swag.IsZero(m.Snapshots[i]) { // not required + return nil + } + + if err := m.Snapshots[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("snapshots" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("snapshots" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Snapshots) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Snapshots) UnmarshalBinary(b []byte) error { + var res Snapshots + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/softlayer_subscription.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/softlayer_subscription.go new file mode 100644 index 000000000..26941f4fc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/softlayer_subscription.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SoftlayerSubscription Softlayer subscription object +// +// swagger:model SoftlayerSubscription +type SoftlayerSubscription struct { + + // Softlayer ID + // Required: true + ID *string `json:"id"` + + // State of softlayer subscription + // Required: true + State *string `json:"state"` +} + +// Validate validates this softlayer subscription +func (m *SoftlayerSubscription) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SoftlayerSubscription) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *SoftlayerSubscription) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this softlayer subscription based on context it is used +func (m *SoftlayerSubscription) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SoftlayerSubscription) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SoftlayerSubscription) UnmarshalBinary(b []byte) error { + var res SoftlayerSubscription + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/software_licenses.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/software_licenses.go new file mode 100644 index 000000000..ae855dcca --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/software_licenses.go @@ -0,0 +1,62 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SoftwareLicenses software licenses +// +// swagger:model SoftwareLicenses +type SoftwareLicenses struct { + + // IBMi Cloud Storage Solution + IbmiCSS *bool `json:"ibmiCSS,omitempty"` + + // IBMi Cloud Storage Solution + IbmiDBQ *bool `json:"ibmiDBQ,omitempty"` + + // IBMi Power High Availability + IbmiPHA *bool `json:"ibmiPHA,omitempty"` + + // IBMi Rational Dev Studio + IbmiRDS *bool `json:"ibmiRDS,omitempty"` + + // IBMi Rational Dev Studio Number of User Licenses + IbmiRDSUsers int64 `json:"ibmiRDSUsers,omitempty"` +} + +// Validate validates this software licenses +func (m *SoftwareLicenses) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this software licenses based on context it is used +func (m *SoftwareLicenses) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SoftwareLicenses) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SoftwareLicenses) UnmarshalBinary(b []byte) error { + var res SoftwareLicenses + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/software_tier.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/software_tier.go new file mode 100644 index 000000000..b0229a89d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/software_tier.go @@ -0,0 +1,84 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// SoftwareTier Software tier (IBMi licensing) +// +// swagger:model SoftwareTier +type SoftwareTier string + +func NewSoftwareTier(value SoftwareTier) *SoftwareTier { + return &value +} + +// Pointer returns a pointer to a freshly-allocated SoftwareTier. +func (m SoftwareTier) Pointer() *SoftwareTier { + return &m +} + +const ( + + // SoftwareTierP05 captures enum value "P05" + SoftwareTierP05 SoftwareTier = "P05" + + // SoftwareTierP10 captures enum value "P10" + SoftwareTierP10 SoftwareTier = "P10" + + // SoftwareTierP20 captures enum value "P20" + SoftwareTierP20 SoftwareTier = "P20" + + // SoftwareTierP30 captures enum value "P30" + SoftwareTierP30 SoftwareTier = "P30" +) + +// for schema +var softwareTierEnum []any + +func init() { + var res []SoftwareTier + if err := json.Unmarshal([]byte(`["P05","P10","P20","P30"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + softwareTierEnum = append(softwareTierEnum, v) + } +} + +func (m SoftwareTier) validateSoftwareTierEnum(path, location string, value SoftwareTier) error { + if err := validate.EnumCase(path, location, value, softwareTierEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this software tier +func (m SoftwareTier) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateSoftwareTierEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this software tier based on context it is used +func (m SoftwareTier) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ssh_key.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ssh_key.go new file mode 100644 index 000000000..5112e6cd0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ssh_key.go @@ -0,0 +1,108 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SSHKey SSH key +// +// swagger:model SSHKey +type SSHKey struct { + + // Date of sshkey creation + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate,omitempty" datastore:"creationDate"` + + // User defined name for the SSH key + // Required: true + Name *string `json:"name" datastore:"name"` + + // SSH RSA key + // Required: true + SSHKey *string `json:"sshKey" datastore:"sshKey"` +} + +// Validate validates this SSH key +func (m *SSHKey) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSSHKey(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SSHKey) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *SSHKey) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *SSHKey) validateSSHKey(formats strfmt.Registry) error { + + if err := validate.Required("sshKey", "body", m.SSHKey); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this SSH key based on context it is used +func (m *SSHKey) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SSHKey) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SSHKey) UnmarshalBinary(b []byte) error { + var res SSHKey + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/ssh_keys.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ssh_keys.go new file mode 100644 index 000000000..a7e58bdf9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/ssh_keys.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SSHKeys SSH keys +// +// swagger:model SSHKeys +type SSHKeys struct { + + // SSH Keys + // Required: true + SSHKeys []*SSHKey `json:"sshKeys"` +} + +// Validate validates this SSH keys +func (m *SSHKeys) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSSHKeys(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SSHKeys) validateSSHKeys(formats strfmt.Registry) error { + + if err := validate.Required("sshKeys", "body", m.SSHKeys); err != nil { + return err + } + + for i := 0; i < len(m.SSHKeys); i++ { + if swag.IsZero(m.SSHKeys[i]) { // not required + continue + } + + if m.SSHKeys[i] != nil { + if err := m.SSHKeys[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this SSH keys based on the context it is used +func (m *SSHKeys) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSSHKeys(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SSHKeys) contextValidateSSHKeys(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.SSHKeys); i++ { + + if m.SSHKeys[i] != nil { + + if swag.IsZero(m.SSHKeys[i]) { // not required + return nil + } + + if err := m.SSHKeys[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SSHKeys) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SSHKeys) UnmarshalBinary(b []byte) error { + var res SSHKeys + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/status.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/status.go new file mode 100644 index 000000000..b62214580 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/status.go @@ -0,0 +1,91 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Status status +// +// swagger:model Status +type Status struct { + + // message detailing current state + Message string `json:"message,omitempty"` + + // progress of a job + // Required: true + Progress *string `json:"progress"` + + // state of a job + // Required: true + State *string `json:"state"` +} + +// Validate validates this status +func (m *Status) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateProgress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Status) validateProgress(formats strfmt.Registry) error { + + if err := validate.Required("progress", "body", m.Progress); err != nil { + return err + } + + return nil +} + +func (m *Status) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this status based on context it is used +func (m *Status) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Status) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Status) UnmarshalBinary(b []byte) error { + var res Status + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/status_description.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/status_description.go new file mode 100644 index 000000000..7119b134c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/status_description.go @@ -0,0 +1,130 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StatusDescription Status details of the volume group +// +// swagger:model StatusDescription +type StatusDescription struct { + + // List of descriptive error messages. + Errors []*StatusDescriptionError `json:"errors"` +} + +// Validate validates this status description +func (m *StatusDescription) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateErrors(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StatusDescription) validateErrors(formats strfmt.Registry) error { + if swag.IsZero(m.Errors) { // not required + return nil + } + + for i := 0; i < len(m.Errors); i++ { + if swag.IsZero(m.Errors[i]) { // not required + continue + } + + if m.Errors[i] != nil { + if err := m.Errors[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("errors" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("errors" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this status description based on the context it is used +func (m *StatusDescription) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateErrors(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StatusDescription) contextValidateErrors(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Errors); i++ { + + if m.Errors[i] != nil { + + if swag.IsZero(m.Errors[i]) { // not required + return nil + } + + if err := m.Errors[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("errors" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("errors" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *StatusDescription) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StatusDescription) UnmarshalBinary(b []byte) error { + var res StatusDescription + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/status_description_error.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/status_description_error.go new file mode 100644 index 000000000..4374fc2a8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/status_description_error.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StatusDescriptionError Error status details of a volume group +// +// swagger:model StatusDescriptionError +type StatusDescriptionError struct { + + // Indicates the volume group error key + Key string `json:"key,omitempty"` + + // Failure message providing more details about the error key + Message string `json:"message,omitempty"` + + // List of volume IDs, which failed to be added/removed to/from the volume-group, with the given error. + VolIDs []string `json:"volIDs"` +} + +// Validate validates this status description error +func (m *StatusDescriptionError) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this status description error based on context it is used +func (m *StatusDescriptionError) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StatusDescriptionError) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StatusDescriptionError) UnmarshalBinary(b []byte) error { + var res StatusDescriptionError + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/stock_image.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/stock_image.go new file mode 100644 index 000000000..5ec533e31 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/stock_image.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StockImage Stock image detail +// +// swagger:model StockImage +type StockImage struct { + + // Image ID + ID string `json:"id,omitempty"` + + // Storage pool for a stock image + StoragePool string `json:"storagePool,omitempty"` + + // Storage type for a stock image + StorageType string `json:"storageType,omitempty"` +} + +// Validate validates this stock image +func (m *StockImage) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this stock image based on context it is used +func (m *StockImage) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StockImage) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StockImage) UnmarshalBinary(b []byte) error { + var res StockImage + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/stock_images.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/stock_images.go new file mode 100644 index 000000000..9777ed262 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/stock_images.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StockImages List of stock images +// +// swagger:model StockImages +type StockImages []*StockImage + +// Validate validates this stock images +func (m StockImages) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this stock images based on the context it is used +func (m StockImages) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_affinity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_affinity.go new file mode 100644 index 000000000..d307dadd4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_affinity.go @@ -0,0 +1,117 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// StorageAffinity storage affinity +// +// swagger:model StorageAffinity +type StorageAffinity struct { + + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityVolume is not provided + AffinityPVMInstance *string `json:"affinityPVMInstance,omitempty"` + + // Affinity policy for storage pool selection; ignored if storagePool provided; for policy 'affinity' requires one of affinityPVMInstance or affinityVolume to be specified; for policy 'anti-affinity' requires one of antiAffinityPVMInstances or antiAffinityVolumes to be specified + // Enum: ["affinity","anti-affinity"] + AffinityPolicy *string `json:"affinityPolicy,omitempty"` + + // Volume (ID or Name) to base storage affinity policy against; required if requesting storage affinity and affinityPVMInstance is not provided + AffinityVolume *string `json:"affinityVolume,omitempty"` + + // List of pvmInstances to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityVolumes is not provided + AntiAffinityPVMInstances []string `json:"antiAffinityPVMInstances"` + + // List of volumes to base storage anti-affinity policy against; required if requesting storage anti-affinity and antiAffinityPVMInstances is not provided + AntiAffinityVolumes []string `json:"antiAffinityVolumes"` +} + +// Validate validates this storage affinity +func (m *StorageAffinity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAffinityPolicy(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var storageAffinityTypeAffinityPolicyPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["affinity","anti-affinity"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + storageAffinityTypeAffinityPolicyPropEnum = append(storageAffinityTypeAffinityPolicyPropEnum, v) + } +} + +const ( + + // StorageAffinityAffinityPolicyAffinity captures enum value "affinity" + StorageAffinityAffinityPolicyAffinity string = "affinity" + + // StorageAffinityAffinityPolicyAntiDashAffinity captures enum value "anti-affinity" + StorageAffinityAffinityPolicyAntiDashAffinity string = "anti-affinity" +) + +// prop value enum +func (m *StorageAffinity) validateAffinityPolicyEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, storageAffinityTypeAffinityPolicyPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *StorageAffinity) validateAffinityPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.AffinityPolicy) { // not required + return nil + } + + // value enum + if err := m.validateAffinityPolicyEnum("affinityPolicy", "body", *m.AffinityPolicy); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this storage affinity based on context it is used +func (m *StorageAffinity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StorageAffinity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StorageAffinity) UnmarshalBinary(b []byte) error { + var res StorageAffinity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_controller.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_controller.go new file mode 100644 index 000000000..6efa720a3 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_controller.go @@ -0,0 +1,190 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// StorageController Description of a Storage Controller +// +// swagger:model StorageController +type StorageController struct { + + // Display Name of the Storage Controller + // Required: true + DisplayName *string `json:"displayName"` + + // Health status of this storage controller + // Required: true + Health *string `json:"health"` + + // Free storage in user pools on this storage controller (GB) + // Required: true + PoolStorage *float64 `json:"poolStorage"` + + // Total storage capacity of user pools in this storage controller (GB) + // Required: true + PoolTotalStorage *float64 `json:"poolTotalStorage"` + + // List of storage pools within this storage controller + // Required: true + Pools map[string]StoragePoolCombined `json:"pools"` +} + +// Validate validates this storage controller +func (m *StorageController) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDisplayName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHealth(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePoolStorage(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePoolTotalStorage(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePools(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StorageController) validateDisplayName(formats strfmt.Registry) error { + + if err := validate.Required("displayName", "body", m.DisplayName); err != nil { + return err + } + + return nil +} + +func (m *StorageController) validateHealth(formats strfmt.Registry) error { + + if err := validate.Required("health", "body", m.Health); err != nil { + return err + } + + return nil +} + +func (m *StorageController) validatePoolStorage(formats strfmt.Registry) error { + + if err := validate.Required("poolStorage", "body", m.PoolStorage); err != nil { + return err + } + + return nil +} + +func (m *StorageController) validatePoolTotalStorage(formats strfmt.Registry) error { + + if err := validate.Required("poolTotalStorage", "body", m.PoolTotalStorage); err != nil { + return err + } + + return nil +} + +func (m *StorageController) validatePools(formats strfmt.Registry) error { + + if err := validate.Required("pools", "body", m.Pools); err != nil { + return err + } + + for k := range m.Pools { + + if err := validate.Required("pools"+"."+k, "body", m.Pools[k]); err != nil { + return err + } + if val, ok := m.Pools[k]; ok { + if err := val.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("pools" + "." + k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("pools" + "." + k) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this storage controller based on the context it is used +func (m *StorageController) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePools(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StorageController) contextValidatePools(ctx context.Context, formats strfmt.Registry) error { + + if err := validate.Required("pools", "body", m.Pools); err != nil { + return err + } + + for k := range m.Pools { + + if val, ok := m.Pools[k]; ok { + if err := val.ContextValidate(ctx, formats); err != nil { + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *StorageController) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StorageController) UnmarshalBinary(b []byte) error { + var res StorageController + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_controllers.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_controllers.go new file mode 100644 index 000000000..b6a637fba --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_controllers.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// StorageControllers List of available storage controllers within a particular DataCenter +// +// swagger:model StorageControllers +type StorageControllers map[string]StorageController + +// Validate validates this storage controllers +func (m StorageControllers) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := validate.Required(k, "body", m[k]); err != nil { + return err + } + if val, ok := m[k]; ok { + if err := val.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this storage controllers based on the context it is used +func (m StorageControllers) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if val, ok := m[k]; ok { + if err := val.ContextValidate(ctx, formats); err != nil { + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_entities.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_entities.go new file mode 100644 index 000000000..5f8c6e8f7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_entities.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StorageEntities storage entities +// +// swagger:model StorageEntities +type StorageEntities struct { + + // threshold value to apply to an existing storage entity + ExistingEntity int64 `json:"existingEntity,omitempty"` + + // threshold value to apply to a new storage entity + NewEntity int64 `json:"newEntity,omitempty"` +} + +// Validate validates this storage entities +func (m *StorageEntities) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this storage entities based on context it is used +func (m *StorageEntities) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StorageEntities) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StorageEntities) UnmarshalBinary(b []byte) error { + var res StorageEntities + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool.go new file mode 100644 index 000000000..e94dc02f4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool.go @@ -0,0 +1,240 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// StoragePool storage pool +// +// swagger:model StoragePool +type StoragePool struct { + + // display name of storage pool + // Required: true + DisplayName *string `json:"displayName"` + + // indicates if the storage pool is disaster recovery (dr) enabled + // Required: true + DrEnabled *bool `json:"drEnabled"` + + // name of storage pool + // Required: true + Name *string `json:"name"` + + // threshold override settings of a pool + OverrideThresholds *Thresholds `json:"overrideThresholds,omitempty"` + + // state of storage pool + // Required: true + // Enum: ["closed","opened"] + State *string `json:"state"` + + // type of storage pool + // Required: true + Type *string `json:"type"` +} + +// Validate validates this storage pool +func (m *StoragePool) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDisplayName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDrEnabled(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOverrideThresholds(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StoragePool) validateDisplayName(formats strfmt.Registry) error { + + if err := validate.Required("displayName", "body", m.DisplayName); err != nil { + return err + } + + return nil +} + +func (m *StoragePool) validateDrEnabled(formats strfmt.Registry) error { + + if err := validate.Required("drEnabled", "body", m.DrEnabled); err != nil { + return err + } + + return nil +} + +func (m *StoragePool) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *StoragePool) validateOverrideThresholds(formats strfmt.Registry) error { + if swag.IsZero(m.OverrideThresholds) { // not required + return nil + } + + if m.OverrideThresholds != nil { + if err := m.OverrideThresholds.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("overrideThresholds") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("overrideThresholds") + } + + return err + } + } + + return nil +} + +var storagePoolTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["closed","opened"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + storagePoolTypeStatePropEnum = append(storagePoolTypeStatePropEnum, v) + } +} + +const ( + + // StoragePoolStateClosed captures enum value "closed" + StoragePoolStateClosed string = "closed" + + // StoragePoolStateOpened captures enum value "opened" + StoragePoolStateOpened string = "opened" +) + +// prop value enum +func (m *StoragePool) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, storagePoolTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *StoragePool) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +func (m *StoragePool) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this storage pool based on the context it is used +func (m *StoragePool) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateOverrideThresholds(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StoragePool) contextValidateOverrideThresholds(ctx context.Context, formats strfmt.Registry) error { + + if m.OverrideThresholds != nil { + + if swag.IsZero(m.OverrideThresholds) { // not required + return nil + } + + if err := m.OverrideThresholds.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("overrideThresholds") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("overrideThresholds") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *StoragePool) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StoragePool) UnmarshalBinary(b []byte) error { + var res StoragePool + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_capacity.go new file mode 100644 index 000000000..be3b86a81 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_capacity.go @@ -0,0 +1,89 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// StoragePoolCapacity Storage pool capacity +// +// swagger:model StoragePoolCapacity +type StoragePoolCapacity struct { + + // Available/Unused pool capacity (GB) + AvailableCapacity int64 `json:"availableCapacity,omitempty"` + + // Maximum allocation storage size (GB) + // Required: true + MaxAllocationSize *int64 `json:"maxAllocationSize"` + + // Pool name + PoolName string `json:"poolName,omitempty"` + + // true if storage-pool is replication enabled and can be used to manage replication enabled volumes + ReplicationEnabled *bool `json:"replicationEnabled,omitempty"` + + // Storage host/controller for this storage pool + StorageHost string `json:"storageHost,omitempty"` + + // Storage type of the storage pool + StorageType string `json:"storageType,omitempty"` + + // Total pool capacity (GB) + TotalCapacity int64 `json:"totalCapacity,omitempty"` +} + +// Validate validates this storage pool capacity +func (m *StoragePoolCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMaxAllocationSize(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StoragePoolCapacity) validateMaxAllocationSize(formats strfmt.Registry) error { + + if err := validate.Required("maxAllocationSize", "body", m.MaxAllocationSize); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this storage pool capacity based on context it is used +func (m *StoragePoolCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StoragePoolCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StoragePoolCapacity) UnmarshalBinary(b []byte) error { + var res StoragePoolCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_combined.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_combined.go new file mode 100644 index 000000000..5ed9f9604 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_combined.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// StoragePoolCombined Combined Storage Pool Capacity +// +// swagger:model StoragePoolCombined +type StoragePoolCombined struct { + + // Pool name + // Required: true + PoolName *string `json:"poolName"` + + // Available/Unused pool capacity (GB) + // Required: true + Storage *int64 `json:"storage"` + + // Total pool capacity (GB) + // Required: true + TotalStorage *int64 `json:"totalStorage"` +} + +// Validate validates this storage pool combined +func (m *StoragePoolCombined) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePoolName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalStorage(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StoragePoolCombined) validatePoolName(formats strfmt.Registry) error { + + if err := validate.Required("poolName", "body", m.PoolName); err != nil { + return err + } + + return nil +} + +func (m *StoragePoolCombined) validateStorage(formats strfmt.Registry) error { + + if err := validate.Required("storage", "body", m.Storage); err != nil { + return err + } + + return nil +} + +func (m *StoragePoolCombined) validateTotalStorage(formats strfmt.Registry) error { + + if err := validate.Required("totalStorage", "body", m.TotalStorage); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this storage pool combined based on context it is used +func (m *StoragePoolCombined) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StoragePoolCombined) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StoragePoolCombined) UnmarshalBinary(b []byte) error { + var res StoragePoolCombined + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_map.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_map.go new file mode 100644 index 000000000..d42b5209a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pool_map.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StoragePoolMap storage pool map +// +// swagger:model StoragePoolMap +type StoragePoolMap struct { + + // remote pool + RemotePool string `json:"remotePool,omitempty"` + + // volume pool + VolumePool string `json:"volumePool,omitempty"` +} + +// Validate validates this storage pool map +func (m *StoragePoolMap) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this storage pool map based on context it is used +func (m *StoragePoolMap) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StoragePoolMap) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StoragePoolMap) UnmarshalBinary(b []byte) error { + var res StoragePoolMap + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pools.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pools.go new file mode 100644 index 000000000..20d40d824 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pools.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StoragePools list of storage pools for a region-zone +// +// swagger:model StoragePools +type StoragePools []*StoragePool + +// Validate validates this storage pools +func (m StoragePools) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this storage pools based on the context it is used +func (m StoragePools) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pools_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pools_capacity.go new file mode 100644 index 000000000..958e5611b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_pools_capacity.go @@ -0,0 +1,189 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StoragePoolsCapacity Storage capacity for all storage pools +// +// swagger:model StoragePoolsCapacity +type StoragePoolsCapacity struct { + + // maximum storage allocation + MaximumStorageAllocation *MaximumStorageAllocation `json:"maximumStorageAllocation,omitempty"` + + // storage pools capacity + StoragePoolsCapacity []*StoragePoolCapacity `json:"storagePoolsCapacity"` +} + +// Validate validates this storage pools capacity +func (m *StoragePoolsCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMaximumStorageAllocation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStoragePoolsCapacity(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StoragePoolsCapacity) validateMaximumStorageAllocation(formats strfmt.Registry) error { + if swag.IsZero(m.MaximumStorageAllocation) { // not required + return nil + } + + if m.MaximumStorageAllocation != nil { + if err := m.MaximumStorageAllocation.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maximumStorageAllocation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maximumStorageAllocation") + } + + return err + } + } + + return nil +} + +func (m *StoragePoolsCapacity) validateStoragePoolsCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.StoragePoolsCapacity) { // not required + return nil + } + + for i := 0; i < len(m.StoragePoolsCapacity); i++ { + if swag.IsZero(m.StoragePoolsCapacity[i]) { // not required + continue + } + + if m.StoragePoolsCapacity[i] != nil { + if err := m.StoragePoolsCapacity[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storagePoolsCapacity" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storagePoolsCapacity" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this storage pools capacity based on the context it is used +func (m *StoragePoolsCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateMaximumStorageAllocation(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStoragePoolsCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StoragePoolsCapacity) contextValidateMaximumStorageAllocation(ctx context.Context, formats strfmt.Registry) error { + + if m.MaximumStorageAllocation != nil { + + if swag.IsZero(m.MaximumStorageAllocation) { // not required + return nil + } + + if err := m.MaximumStorageAllocation.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maximumStorageAllocation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maximumStorageAllocation") + } + + return err + } + } + + return nil +} + +func (m *StoragePoolsCapacity) contextValidateStoragePoolsCapacity(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.StoragePoolsCapacity); i++ { + + if m.StoragePoolsCapacity[i] != nil { + + if swag.IsZero(m.StoragePoolsCapacity[i]) { // not required + return nil + } + + if err := m.StoragePoolsCapacity[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storagePoolsCapacity" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storagePoolsCapacity" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *StoragePoolsCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StoragePoolsCapacity) UnmarshalBinary(b []byte) error { + var res StoragePoolsCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_tier.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_tier.go new file mode 100644 index 000000000..bb090d3cc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_tier.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// StorageTier Storage tier detail +// +// swagger:model StorageTier +type StorageTier struct { + + // Description, storage tier label + Description string `json:"description,omitempty"` + + // Name of the storage tier + Name string `json:"name,omitempty"` + + // State of the storage tier (active or inactive) + // Enum: ["active","inactive"] + State *string `json:"state,omitempty"` +} + +// Validate validates this storage tier +func (m *StorageTier) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var storageTierTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","inactive"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + storageTierTypeStatePropEnum = append(storageTierTypeStatePropEnum, v) + } +} + +const ( + + // StorageTierStateActive captures enum value "active" + StorageTierStateActive string = "active" + + // StorageTierStateInactive captures enum value "inactive" + StorageTierStateInactive string = "inactive" +) + +// prop value enum +func (m *StorageTier) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, storageTierTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *StorageTier) validateState(formats strfmt.Registry) error { + if swag.IsZero(m.State) { // not required + return nil + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this storage tier based on context it is used +func (m *StorageTier) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StorageTier) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StorageTier) UnmarshalBinary(b []byte) error { + var res StorageTier + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_type.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_type.go new file mode 100644 index 000000000..525cb744f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_type.go @@ -0,0 +1,114 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// StorageType Storage type detail +// +// swagger:model StorageType +type StorageType struct { + + // Identifies if the storage type is the default for a region + Default bool `json:"default,omitempty"` + + // Description, storage type label + Description string `json:"description,omitempty"` + + // State of the storage type (active or inactive) + // Enum: ["active","inactive"] + State *string `json:"state,omitempty"` + + // Storage type + Type string `json:"type,omitempty"` +} + +// Validate validates this storage type +func (m *StorageType) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var storageTypeTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","inactive"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + storageTypeTypeStatePropEnum = append(storageTypeTypeStatePropEnum, v) + } +} + +const ( + + // StorageTypeStateActive captures enum value "active" + StorageTypeStateActive string = "active" + + // StorageTypeStateInactive captures enum value "inactive" + StorageTypeStateInactive string = "inactive" +) + +// prop value enum +func (m *StorageType) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, storageTypeTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *StorageType) validateState(formats strfmt.Registry) error { + if swag.IsZero(m.State) { // not required + return nil + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this storage type based on context it is used +func (m *StorageType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *StorageType) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StorageType) UnmarshalBinary(b []byte) error { + var res StorageType + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_type_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_type_capacity.go new file mode 100644 index 000000000..14dd2fcb2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_type_capacity.go @@ -0,0 +1,192 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StorageTypeCapacity Storage type capacity +// +// swagger:model StorageTypeCapacity +type StorageTypeCapacity struct { + + // maximum storage allocation + MaximumStorageAllocation *MaximumStorageAllocation `json:"maximumStorageAllocation,omitempty"` + + // List of storage pool capacity for storage type + StoragePoolsCapacity []*StoragePoolCapacity `json:"storagePoolsCapacity"` + + // Storage type + StorageType string `json:"storageType,omitempty"` +} + +// Validate validates this storage type capacity +func (m *StorageTypeCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMaximumStorageAllocation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStoragePoolsCapacity(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StorageTypeCapacity) validateMaximumStorageAllocation(formats strfmt.Registry) error { + if swag.IsZero(m.MaximumStorageAllocation) { // not required + return nil + } + + if m.MaximumStorageAllocation != nil { + if err := m.MaximumStorageAllocation.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maximumStorageAllocation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maximumStorageAllocation") + } + + return err + } + } + + return nil +} + +func (m *StorageTypeCapacity) validateStoragePoolsCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.StoragePoolsCapacity) { // not required + return nil + } + + for i := 0; i < len(m.StoragePoolsCapacity); i++ { + if swag.IsZero(m.StoragePoolsCapacity[i]) { // not required + continue + } + + if m.StoragePoolsCapacity[i] != nil { + if err := m.StoragePoolsCapacity[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storagePoolsCapacity" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storagePoolsCapacity" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this storage type capacity based on the context it is used +func (m *StorageTypeCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateMaximumStorageAllocation(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStoragePoolsCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StorageTypeCapacity) contextValidateMaximumStorageAllocation(ctx context.Context, formats strfmt.Registry) error { + + if m.MaximumStorageAllocation != nil { + + if swag.IsZero(m.MaximumStorageAllocation) { // not required + return nil + } + + if err := m.MaximumStorageAllocation.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maximumStorageAllocation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maximumStorageAllocation") + } + + return err + } + } + + return nil +} + +func (m *StorageTypeCapacity) contextValidateStoragePoolsCapacity(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.StoragePoolsCapacity); i++ { + + if m.StoragePoolsCapacity[i] != nil { + + if swag.IsZero(m.StoragePoolsCapacity[i]) { // not required + return nil + } + + if err := m.StoragePoolsCapacity[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storagePoolsCapacity" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storagePoolsCapacity" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *StorageTypeCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StorageTypeCapacity) UnmarshalBinary(b []byte) error { + var res StorageTypeCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_types.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_types.go new file mode 100644 index 000000000..7ee6a5e7e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_types.go @@ -0,0 +1,78 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// StorageTypes A map of an array of storage types supported in a region +// +// swagger:model StorageTypes +type StorageTypes map[string]RegionStorageTypes + +// Validate validates this storage types +func (m StorageTypes) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := validate.Required(k, "body", m[k]); err != nil { + return err + } + + if err := m[k].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this storage types based on the context it is used +func (m StorageTypes) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := m[k].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_types_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_types_capacity.go new file mode 100644 index 000000000..f47a8604c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/storage_types_capacity.go @@ -0,0 +1,189 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// StorageTypesCapacity Storage types capacity +// +// swagger:model StorageTypesCapacity +type StorageTypesCapacity struct { + + // maximum storage allocation + MaximumStorageAllocation *MaximumStorageAllocation `json:"maximumStorageAllocation,omitempty"` + + // storage types capacity + StorageTypesCapacity []*StorageTypeCapacity `json:"storageTypesCapacity"` +} + +// Validate validates this storage types capacity +func (m *StorageTypesCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMaximumStorageAllocation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStorageTypesCapacity(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StorageTypesCapacity) validateMaximumStorageAllocation(formats strfmt.Registry) error { + if swag.IsZero(m.MaximumStorageAllocation) { // not required + return nil + } + + if m.MaximumStorageAllocation != nil { + if err := m.MaximumStorageAllocation.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maximumStorageAllocation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maximumStorageAllocation") + } + + return err + } + } + + return nil +} + +func (m *StorageTypesCapacity) validateStorageTypesCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.StorageTypesCapacity) { // not required + return nil + } + + for i := 0; i < len(m.StorageTypesCapacity); i++ { + if swag.IsZero(m.StorageTypesCapacity[i]) { // not required + continue + } + + if m.StorageTypesCapacity[i] != nil { + if err := m.StorageTypesCapacity[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageTypesCapacity" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageTypesCapacity" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this storage types capacity based on the context it is used +func (m *StorageTypesCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateMaximumStorageAllocation(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStorageTypesCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *StorageTypesCapacity) contextValidateMaximumStorageAllocation(ctx context.Context, formats strfmt.Registry) error { + + if m.MaximumStorageAllocation != nil { + + if swag.IsZero(m.MaximumStorageAllocation) { // not required + return nil + } + + if err := m.MaximumStorageAllocation.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maximumStorageAllocation") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maximumStorageAllocation") + } + + return err + } + } + + return nil +} + +func (m *StorageTypesCapacity) contextValidateStorageTypesCapacity(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.StorageTypesCapacity); i++ { + + if m.StorageTypesCapacity[i] != nil { + + if swag.IsZero(m.StorageTypesCapacity[i]) { // not required + return nil + } + + if err := m.StorageTypesCapacity[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("storageTypesCapacity" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("storageTypesCapacity" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *StorageTypesCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *StorageTypesCapacity) UnmarshalBinary(b []byte) error { + var res StorageTypesCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_software_tier.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_software_tier.go new file mode 100644 index 000000000..2ec4f4924 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_software_tier.go @@ -0,0 +1,116 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SupportedSoftwareTier supported software tier +// +// swagger:model SupportedSoftwareTier +type SupportedSoftwareTier struct { + + // supported systems + SupportedSystems []string `json:"supportedSystems"` + + // tier + Tier SoftwareTier `json:"tier,omitempty"` +} + +// Validate validates this supported software tier +func (m *SupportedSoftwareTier) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateTier(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SupportedSoftwareTier) validateTier(formats strfmt.Registry) error { + if swag.IsZero(m.Tier) { // not required + return nil + } + + if err := m.Tier.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("tier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("tier") + } + + return err + } + + return nil +} + +// ContextValidate validate this supported software tier based on the context it is used +func (m *SupportedSoftwareTier) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateTier(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SupportedSoftwareTier) contextValidateTier(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Tier) { // not required + return nil + } + + if err := m.Tier.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("tier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("tier") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SupportedSoftwareTier) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SupportedSoftwareTier) UnmarshalBinary(b []byte) error { + var res SupportedSoftwareTier + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_software_tier_list.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_software_tier_list.go new file mode 100644 index 000000000..d96b756b2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_software_tier_list.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SupportedSoftwareTierList List of supported software tiers (IBMi licensing) +// +// swagger:model SupportedSoftwareTierList +type SupportedSoftwareTierList []*SupportedSoftwareTier + +// Validate validates this supported software tier list +func (m SupportedSoftwareTierList) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this supported software tier list based on the context it is used +func (m SupportedSoftwareTierList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_systems.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_systems.go new file mode 100644 index 000000000..de991f0f2 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/supported_systems.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SupportedSystems supported systems +// +// swagger:model SupportedSystems +type SupportedSystems struct { + + // List of all available dedicated host types + // Required: true + Dedicated []string `json:"dedicated"` + + // List of all available host types + // Required: true + General []string `json:"general"` +} + +// Validate validates this supported systems +func (m *SupportedSystems) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDedicated(formats); err != nil { + res = append(res, err) + } + + if err := m.validateGeneral(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SupportedSystems) validateDedicated(formats strfmt.Registry) error { + + if err := validate.Required("dedicated", "body", m.Dedicated); err != nil { + return err + } + + return nil +} + +func (m *SupportedSystems) validateGeneral(formats strfmt.Registry) error { + + if err := validate.Required("general", "body", m.General); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this supported systems based on context it is used +func (m *SupportedSystems) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SupportedSystems) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SupportedSystems) UnmarshalBinary(b []byte) error { + var res SupportedSystems + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/system.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system.go new file mode 100644 index 000000000..716cebffb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system.go @@ -0,0 +1,112 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// System system +// +// swagger:model System +type System struct { + + // The host available Processor units + AvailableCores float64 `json:"availableCores,omitempty"` + + // The host available RAM memory in GiB + AvailableMemory int64 `json:"availableMemory,omitempty"` + + // The host available Processor units + // Required: true + Cores *float64 `json:"cores"` + + // The host MTMS name + HostMTMSName string `json:"hostMTMSName,omitempty"` + + // The host identifier + ID int64 `json:"id,omitempty"` + + // The host total RAM memory in GiB + // Required: true + Memory *int64 `json:"memory"` + + // The host total usable Processor units + TotalCores float64 `json:"totalCores,omitempty"` + + // The host total usable RAM memory in GiB + TotalMemory int64 `json:"totalMemory,omitempty"` + + // Total number of physical cores in the Pod + TotalPhysCores float64 `json:"totalPhysCores,omitempty"` + + // Total amount of physical memory in the Pod (GB) + TotalPhysMemory int64 `json:"totalPhysMemory,omitempty"` +} + +// Validate validates this system +func (m *System) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *System) validateCores(formats strfmt.Registry) error { + + if err := validate.Required("cores", "body", m.Cores); err != nil { + return err + } + + return nil +} + +func (m *System) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this system based on context it is used +func (m *System) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *System) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *System) UnmarshalBinary(b []byte) error { + var res System + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pool.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pool.go new file mode 100644 index 000000000..f024228e8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pool.go @@ -0,0 +1,434 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SystemPool Hardware platform detailing its limits and statistics +// +// swagger:model SystemPool +type SystemPool struct { + + // Advertised capacity cores and memory (GB) + Capacity *System `json:"capacity,omitempty"` + + // Core allocation increment + CoreIncrement float64 `json:"coreIncrement,omitempty"` + + // Processor to Memory (GB) Ratio + CoreMemoryRatio float64 `json:"coreMemoryRatio,omitempty"` + + // Maximum configurable cores and memory (GB) (aggregated from all hosts) + MaxAvailable *System `json:"maxAvailable,omitempty"` + + // Maximum configurable cores available combined with available memory of that host + MaxCoresAvailable *System `json:"maxCoresAvailable,omitempty"` + + // Maximum configurable memory available combined with available cores of that host + MaxMemoryAvailable *System `json:"maxMemoryAvailable,omitempty"` + + // min-max-default allocation percentage of shared core per vCPU + SharedCoreRatio *MinMaxDefault `json:"sharedCoreRatio,omitempty"` + + // The DataCenter list of servers and their available resources + Systems []*System `json:"systems"` + + // Type of system hardware + Type string `json:"type,omitempty"` +} + +// Validate validates this system pool +func (m *SystemPool) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCapacity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMaxAvailable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMaxCoresAvailable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMaxMemoryAvailable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSharedCoreRatio(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSystems(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SystemPool) validateCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.Capacity) { // not required + return nil + } + + if m.Capacity != nil { + if err := m.Capacity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capacity") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) validateMaxAvailable(formats strfmt.Registry) error { + if swag.IsZero(m.MaxAvailable) { // not required + return nil + } + + if m.MaxAvailable != nil { + if err := m.MaxAvailable.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maxAvailable") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maxAvailable") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) validateMaxCoresAvailable(formats strfmt.Registry) error { + if swag.IsZero(m.MaxCoresAvailable) { // not required + return nil + } + + if m.MaxCoresAvailable != nil { + if err := m.MaxCoresAvailable.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maxCoresAvailable") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maxCoresAvailable") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) validateMaxMemoryAvailable(formats strfmt.Registry) error { + if swag.IsZero(m.MaxMemoryAvailable) { // not required + return nil + } + + if m.MaxMemoryAvailable != nil { + if err := m.MaxMemoryAvailable.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maxMemoryAvailable") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maxMemoryAvailable") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) validateSharedCoreRatio(formats strfmt.Registry) error { + if swag.IsZero(m.SharedCoreRatio) { // not required + return nil + } + + if m.SharedCoreRatio != nil { + if err := m.SharedCoreRatio.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sharedCoreRatio") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sharedCoreRatio") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) validateSystems(formats strfmt.Registry) error { + if swag.IsZero(m.Systems) { // not required + return nil + } + + for i := 0; i < len(m.Systems); i++ { + if swag.IsZero(m.Systems[i]) { // not required + continue + } + + if m.Systems[i] != nil { + if err := m.Systems[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("systems" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("systems" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this system pool based on the context it is used +func (m *SystemPool) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMaxAvailable(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMaxCoresAvailable(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMaxMemoryAvailable(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSharedCoreRatio(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSystems(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SystemPool) contextValidateCapacity(ctx context.Context, formats strfmt.Registry) error { + + if m.Capacity != nil { + + if swag.IsZero(m.Capacity) { // not required + return nil + } + + if err := m.Capacity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capacity") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) contextValidateMaxAvailable(ctx context.Context, formats strfmt.Registry) error { + + if m.MaxAvailable != nil { + + if swag.IsZero(m.MaxAvailable) { // not required + return nil + } + + if err := m.MaxAvailable.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maxAvailable") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maxAvailable") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) contextValidateMaxCoresAvailable(ctx context.Context, formats strfmt.Registry) error { + + if m.MaxCoresAvailable != nil { + + if swag.IsZero(m.MaxCoresAvailable) { // not required + return nil + } + + if err := m.MaxCoresAvailable.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maxCoresAvailable") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maxCoresAvailable") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) contextValidateMaxMemoryAvailable(ctx context.Context, formats strfmt.Registry) error { + + if m.MaxMemoryAvailable != nil { + + if swag.IsZero(m.MaxMemoryAvailable) { // not required + return nil + } + + if err := m.MaxMemoryAvailable.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("maxMemoryAvailable") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("maxMemoryAvailable") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) contextValidateSharedCoreRatio(ctx context.Context, formats strfmt.Registry) error { + + if m.SharedCoreRatio != nil { + + if swag.IsZero(m.SharedCoreRatio) { // not required + return nil + } + + if err := m.SharedCoreRatio.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sharedCoreRatio") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sharedCoreRatio") + } + + return err + } + } + + return nil +} + +func (m *SystemPool) contextValidateSystems(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Systems); i++ { + + if m.Systems[i] != nil { + + if swag.IsZero(m.Systems[i]) { // not required + return nil + } + + if err := m.Systems[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("systems" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("systems" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SystemPool) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SystemPool) UnmarshalBinary(b []byte) error { + var res SystemPool + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pool_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pool_capacity.go new file mode 100644 index 000000000..916fafac1 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pool_capacity.go @@ -0,0 +1,233 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SystemPoolCapacity Description of a System Pool's Capacity +// +// swagger:model SystemPoolCapacity +type SystemPoolCapacity struct { + + // Number of available cores in the System Pool + // Required: true + Cores *float64 `json:"cores"` + + // Amount of available memory in the System Pool (GB) + // Required: true + Memory *int64 `json:"memory"` + + // The DataCenter list of servers and their available resources + Systems []*SystemResources `json:"systems"` + + // Total number of cores in the System Pool + // Required: true + TotalCores *float64 `json:"totalCores"` + + // Total amount of memory in the System Pool (GB) + // Required: true + TotalMemory *int64 `json:"totalMemory"` + + // Total number of physical cores in the Pod + // Required: true + TotalPhysCores *float64 `json:"totalPhysCores"` + + // Total amount of physical memory in the Pod (GB) + // Required: true + TotalPhysMemory *int64 `json:"totalPhysMemory"` +} + +// Validate validates this system pool capacity +func (m *SystemPoolCapacity) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSystems(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalPhysCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalPhysMemory(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SystemPoolCapacity) validateCores(formats strfmt.Registry) error { + + if err := validate.Required("cores", "body", m.Cores); err != nil { + return err + } + + return nil +} + +func (m *SystemPoolCapacity) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *SystemPoolCapacity) validateSystems(formats strfmt.Registry) error { + if swag.IsZero(m.Systems) { // not required + return nil + } + + for i := 0; i < len(m.Systems); i++ { + if swag.IsZero(m.Systems[i]) { // not required + continue + } + + if m.Systems[i] != nil { + if err := m.Systems[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("systems" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("systems" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *SystemPoolCapacity) validateTotalCores(formats strfmt.Registry) error { + + if err := validate.Required("totalCores", "body", m.TotalCores); err != nil { + return err + } + + return nil +} + +func (m *SystemPoolCapacity) validateTotalMemory(formats strfmt.Registry) error { + + if err := validate.Required("totalMemory", "body", m.TotalMemory); err != nil { + return err + } + + return nil +} + +func (m *SystemPoolCapacity) validateTotalPhysCores(formats strfmt.Registry) error { + + if err := validate.Required("totalPhysCores", "body", m.TotalPhysCores); err != nil { + return err + } + + return nil +} + +func (m *SystemPoolCapacity) validateTotalPhysMemory(formats strfmt.Registry) error { + + if err := validate.Required("totalPhysMemory", "body", m.TotalPhysMemory); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this system pool capacity based on the context it is used +func (m *SystemPoolCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSystems(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SystemPoolCapacity) contextValidateSystems(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Systems); i++ { + + if m.Systems[i] != nil { + + if swag.IsZero(m.Systems[i]) { // not required + return nil + } + + if err := m.Systems[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("systems" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("systems" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SystemPoolCapacity) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SystemPoolCapacity) UnmarshalBinary(b []byte) error { + var res SystemPoolCapacity + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pools.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pools.go new file mode 100644 index 000000000..bd926c8bb --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pools.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// SystemPools List of available system pools within a particular DataCenter +// +// swagger:model SystemPools +type SystemPools map[string]SystemPool + +// Validate validates this system pools +func (m SystemPools) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := validate.Required(k, "body", m[k]); err != nil { + return err + } + if val, ok := m[k]; ok { + if err := val.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this system pools based on the context it is used +func (m SystemPools) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if val, ok := m[k]; ok { + if err := val.ContextValidate(ctx, formats); err != nil { + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pools_capacity.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pools_capacity.go new file mode 100644 index 000000000..bab3a924d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_pools_capacity.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// SystemPoolsCapacity List of available system pools within a Pod +// +// swagger:model SystemPoolsCapacity +type SystemPoolsCapacity map[string]SystemPoolCapacity + +// Validate validates this system pools capacity +func (m SystemPoolsCapacity) Validate(formats strfmt.Registry) error { + var res []error + + for k := range m { + + if err := validate.Required(k, "body", m[k]); err != nil { + return err + } + if val, ok := m[k]; ok { + if err := val.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(k) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(k) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this system pools capacity based on the context it is used +func (m SystemPoolsCapacity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for k := range m { + + if val, ok := m[k]; ok { + if err := val.ContextValidate(ctx, formats); err != nil { + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_resources.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_resources.go new file mode 100644 index 000000000..e85496eee --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/system_resources.go @@ -0,0 +1,176 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SystemResources Information about the resources that a single system contains +// +// swagger:model SystemResources +type SystemResources struct { + + // The host available Processor units + // Required: true + Cores *float64 `json:"cores"` + + // The host MTMS name + HostMTMSName string `json:"hostMTMSName,omitempty"` + + // The host identifier + // Required: true + ID *int64 `json:"id"` + + // The host available RAM memory in GiB + // Required: true + Memory *int64 `json:"memory"` + + // The host total usable Processor units + // Required: true + TotalCores *float64 `json:"totalCores"` + + // The host total usable RAM memory in GiB + // Required: true + TotalMemory *int64 `json:"totalMemory"` + + // Total number of physical cores in the Pod + // Required: true + TotalPhysCores *float64 `json:"totalPhysCores"` + + // Total amount of physical memory in the Pod (GB) + // Required: true + TotalPhysMemory *int64 `json:"totalPhysMemory"` +} + +// Validate validates this system resources +func (m *SystemResources) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalMemory(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalPhysCores(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTotalPhysMemory(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SystemResources) validateCores(formats strfmt.Registry) error { + + if err := validate.Required("cores", "body", m.Cores); err != nil { + return err + } + + return nil +} + +func (m *SystemResources) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *SystemResources) validateMemory(formats strfmt.Registry) error { + + if err := validate.Required("memory", "body", m.Memory); err != nil { + return err + } + + return nil +} + +func (m *SystemResources) validateTotalCores(formats strfmt.Registry) error { + + if err := validate.Required("totalCores", "body", m.TotalCores); err != nil { + return err + } + + return nil +} + +func (m *SystemResources) validateTotalMemory(formats strfmt.Registry) error { + + if err := validate.Required("totalMemory", "body", m.TotalMemory); err != nil { + return err + } + + return nil +} + +func (m *SystemResources) validateTotalPhysCores(formats strfmt.Registry) error { + + if err := validate.Required("totalPhysCores", "body", m.TotalPhysCores); err != nil { + return err + } + + return nil +} + +func (m *SystemResources) validateTotalPhysMemory(formats strfmt.Registry) error { + + if err := validate.Required("totalPhysMemory", "body", m.TotalPhysMemory); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this system resources based on context it is used +func (m *SystemResources) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SystemResources) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SystemResources) UnmarshalBinary(b []byte) error { + var res SystemResources + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/tags.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/tags.go new file mode 100644 index 000000000..26e030c0d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/tags.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// Tags List of user tags +// +// swagger:model Tags +type Tags []string + +// Validate validates this tags +func (m Tags) Validate(formats strfmt.Registry) error { + var res []error + + iTagsSize := int64(len(m)) + + if err := validate.MaxItems("", "body", iTagsSize, 100); err != nil { + return err + } + + for i := 0; i < len(m); i++ { + + if err := validate.MaxLength(strconv.Itoa(i), "body", m[i], 128); err != nil { + return err + } + + if err := validate.Pattern(strconv.Itoa(i), "body", m[i], `^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$`); err != nil { + return err + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this tags based on context it is used +func (m Tags) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/target_object.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/target_object.go new file mode 100644 index 000000000..a5c1bc516 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/target_object.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// TargetObject List of available capabilities for a specific service +// +// swagger:model TargetObject +type TargetObject struct { + + // The name of the target + // Required: true + Name *string `json:"name"` + + // The type of the target + // Required: true + Type *string `json:"type"` +} + +// Validate validates this target object +func (m *TargetObject) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TargetObject) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *TargetObject) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this target object based on context it is used +func (m *TargetObject) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *TargetObject) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TargetObject) UnmarshalBinary(b []byte) error { + var res TargetObject + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/task.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/task.go new file mode 100644 index 000000000..ccaf515ab --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/task.go @@ -0,0 +1,217 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Task task +// +// swagger:model Task +type Task struct { + + // Cloud Instance ID of task owner + // Required: true + CloudInstanceID *string `json:"cloudInstanceID"` + + // the component id of the task + // Required: true + ComponentID *string `json:"componentID"` + + // the component type of the task + // Required: true + ComponentType *string `json:"componentType"` + + // Creation Date + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // Last Update Date + // Required: true + // Format: date-time + LastUpdateDate *strfmt.DateTime `json:"lastUpdateDate"` + + // Task Operation + // Required: true + Operation *string `json:"operation"` + + // status code of the task + // Required: true + Status *string `json:"status"` + + // status detail of the task + // Required: true + StatusDetail *string `json:"statusDetail"` + + // Pcloud Task ID + // Required: true + TaskID *string `json:"taskID"` +} + +// Validate validates this task +func (m *Task) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCloudInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateComponentID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateComponentType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastUpdateDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOperation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatusDetail(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTaskID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Task) validateCloudInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("cloudInstanceID", "body", m.CloudInstanceID); err != nil { + return err + } + + return nil +} + +func (m *Task) validateComponentID(formats strfmt.Registry) error { + + if err := validate.Required("componentID", "body", m.ComponentID); err != nil { + return err + } + + return nil +} + +func (m *Task) validateComponentType(formats strfmt.Registry) error { + + if err := validate.Required("componentType", "body", m.ComponentType); err != nil { + return err + } + + return nil +} + +func (m *Task) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Task) validateLastUpdateDate(formats strfmt.Registry) error { + + if err := validate.Required("lastUpdateDate", "body", m.LastUpdateDate); err != nil { + return err + } + + if err := validate.FormatOf("lastUpdateDate", "body", "date-time", m.LastUpdateDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Task) validateOperation(formats strfmt.Registry) error { + + if err := validate.Required("operation", "body", m.Operation); err != nil { + return err + } + + return nil +} + +func (m *Task) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *Task) validateStatusDetail(formats strfmt.Registry) error { + + if err := validate.Required("statusDetail", "body", m.StatusDetail); err != nil { + return err + } + + return nil +} + +func (m *Task) validateTaskID(formats strfmt.Registry) error { + + if err := validate.Required("taskID", "body", m.TaskID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this task based on context it is used +func (m *Task) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Task) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Task) UnmarshalBinary(b []byte) error { + var res Task + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/task_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/task_reference.go new file mode 100644 index 000000000..aca4c6d20 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/task_reference.go @@ -0,0 +1,88 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// TaskReference task reference +// +// swagger:model TaskReference +type TaskReference struct { + + // Link to Task resource + // Required: true + Href *string `json:"href"` + + // ID of Task used to get status of long running operation + // Required: true + TaskID *string `json:"taskID"` +} + +// Validate validates this task reference +func (m *TaskReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTaskID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TaskReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *TaskReference) validateTaskID(formats strfmt.Registry) error { + + if err := validate.Required("taskID", "body", m.TaskID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this task reference based on context it is used +func (m *TaskReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *TaskReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TaskReference) UnmarshalBinary(b []byte) error { + var res TaskReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/tenant.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/tenant.go new file mode 100644 index 000000000..16b338cea --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/tenant.go @@ -0,0 +1,332 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Tenant tenant +// +// swagger:model Tenant +type Tenant struct { + + // Cloud Instances owned by the Tenant + // Required: true + CloudInstances []*CloudInstanceReference `json:"cloudInstances"` + + // Date of Tenant creation + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // Indicates if the tenant is enabled + // Required: true + Enabled *bool `json:"enabled"` + + // IBM Customer Number + Icn string `json:"icn,omitempty"` + + // Peering Network Information (optional) + PeeringNetworks []*PeeringNetwork `json:"peeringNetworks,omitempty"` + + // Tenant SSH Keys + SSHKeys []*SSHKey `json:"sshKeys"` + + // Tenant ID + // Required: true + TenantID *string `json:"tenantID"` +} + +// Validate validates this tenant +func (m *Tenant) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCloudInstances(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEnabled(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeeringNetworks(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSSHKeys(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTenantID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Tenant) validateCloudInstances(formats strfmt.Registry) error { + + if err := validate.Required("cloudInstances", "body", m.CloudInstances); err != nil { + return err + } + + for i := 0; i < len(m.CloudInstances); i++ { + if swag.IsZero(m.CloudInstances[i]) { // not required + continue + } + + if m.CloudInstances[i] != nil { + if err := m.CloudInstances[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cloudInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cloudInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Tenant) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Tenant) validateEnabled(formats strfmt.Registry) error { + + if err := validate.Required("enabled", "body", m.Enabled); err != nil { + return err + } + + return nil +} + +func (m *Tenant) validatePeeringNetworks(formats strfmt.Registry) error { + if swag.IsZero(m.PeeringNetworks) { // not required + return nil + } + + for i := 0; i < len(m.PeeringNetworks); i++ { + if swag.IsZero(m.PeeringNetworks[i]) { // not required + continue + } + + if m.PeeringNetworks[i] != nil { + if err := m.PeeringNetworks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peeringNetworks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peeringNetworks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Tenant) validateSSHKeys(formats strfmt.Registry) error { + if swag.IsZero(m.SSHKeys) { // not required + return nil + } + + for i := 0; i < len(m.SSHKeys); i++ { + if swag.IsZero(m.SSHKeys[i]) { // not required + continue + } + + if m.SSHKeys[i] != nil { + if err := m.SSHKeys[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Tenant) validateTenantID(formats strfmt.Registry) error { + + if err := validate.Required("tenantID", "body", m.TenantID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this tenant based on the context it is used +func (m *Tenant) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCloudInstances(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePeeringNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSSHKeys(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Tenant) contextValidateCloudInstances(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.CloudInstances); i++ { + + if m.CloudInstances[i] != nil { + + if swag.IsZero(m.CloudInstances[i]) { // not required + return nil + } + + if err := m.CloudInstances[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("cloudInstances" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("cloudInstances" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Tenant) contextValidatePeeringNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PeeringNetworks); i++ { + + if m.PeeringNetworks[i] != nil { + + if swag.IsZero(m.PeeringNetworks[i]) { // not required + return nil + } + + if err := m.PeeringNetworks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peeringNetworks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peeringNetworks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *Tenant) contextValidateSSHKeys(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.SSHKeys); i++ { + + if m.SSHKeys[i] != nil { + + if swag.IsZero(m.SSHKeys[i]) { // not required + return nil + } + + if err := m.SSHKeys[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Tenant) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Tenant) UnmarshalBinary(b []byte) error { + var res Tenant + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/tenant_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/tenant_update.go new file mode 100644 index 000000000..e2122365c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/tenant_update.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// TenantUpdate tenant update +// +// swagger:model TenantUpdate +type TenantUpdate struct { + + // IBM Customer Number + Icn *string `json:"icn,omitempty"` + + // Peering Network Information (optional) + PeeringNetworks []*PeeringNetwork `json:"peeringNetworks"` +} + +// Validate validates this tenant update +func (m *TenantUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePeeringNetworks(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantUpdate) validatePeeringNetworks(formats strfmt.Registry) error { + if swag.IsZero(m.PeeringNetworks) { // not required + return nil + } + + for i := 0; i < len(m.PeeringNetworks); i++ { + if swag.IsZero(m.PeeringNetworks[i]) { // not required + continue + } + + if m.PeeringNetworks[i] != nil { + if err := m.PeeringNetworks[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peeringNetworks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peeringNetworks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this tenant update based on the context it is used +func (m *TenantUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePeeringNetworks(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantUpdate) contextValidatePeeringNetworks(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.PeeringNetworks); i++ { + + if m.PeeringNetworks[i] != nil { + + if swag.IsZero(m.PeeringNetworks[i]) { // not required + return nil + } + + if err := m.PeeringNetworks[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peeringNetworks" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peeringNetworks" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TenantUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantUpdate) UnmarshalBinary(b []byte) error { + var res TenantUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/thresholds.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/thresholds.go new file mode 100644 index 000000000..809e23f78 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/thresholds.go @@ -0,0 +1,354 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Thresholds storage threshold settings +// +// swagger:model Thresholds +type Thresholds struct { + + // capacity threshold + Capacity *StorageEntities `json:"capacity,omitempty"` + + // overcommt threshold + Overcommit *StorageEntities `json:"overcommit,omitempty"` + + // physical capacity threshold + PhysicalCapacity *StorageEntities `json:"physicalCapacity,omitempty"` + + // vdisk capacity threshold + VdiskCapacity *StorageEntities `json:"vdiskCapacity,omitempty"` + + // vdisk limit threshold + VdiskLimit *StorageEntities `json:"vdiskLimit,omitempty"` +} + +// Validate validates this thresholds +func (m *Thresholds) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCapacity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOvercommit(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePhysicalCapacity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVdiskCapacity(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVdiskLimit(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Thresholds) validateCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.Capacity) { // not required + return nil + } + + if m.Capacity != nil { + if err := m.Capacity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capacity") + } + + return err + } + } + + return nil +} + +func (m *Thresholds) validateOvercommit(formats strfmt.Registry) error { + if swag.IsZero(m.Overcommit) { // not required + return nil + } + + if m.Overcommit != nil { + if err := m.Overcommit.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("overcommit") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("overcommit") + } + + return err + } + } + + return nil +} + +func (m *Thresholds) validatePhysicalCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.PhysicalCapacity) { // not required + return nil + } + + if m.PhysicalCapacity != nil { + if err := m.PhysicalCapacity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("physicalCapacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("physicalCapacity") + } + + return err + } + } + + return nil +} + +func (m *Thresholds) validateVdiskCapacity(formats strfmt.Registry) error { + if swag.IsZero(m.VdiskCapacity) { // not required + return nil + } + + if m.VdiskCapacity != nil { + if err := m.VdiskCapacity.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vdiskCapacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vdiskCapacity") + } + + return err + } + } + + return nil +} + +func (m *Thresholds) validateVdiskLimit(formats strfmt.Registry) error { + if swag.IsZero(m.VdiskLimit) { // not required + return nil + } + + if m.VdiskLimit != nil { + if err := m.VdiskLimit.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vdiskLimit") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vdiskLimit") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this thresholds based on the context it is used +func (m *Thresholds) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateOvercommit(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePhysicalCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVdiskCapacity(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVdiskLimit(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Thresholds) contextValidateCapacity(ctx context.Context, formats strfmt.Registry) error { + + if m.Capacity != nil { + + if swag.IsZero(m.Capacity) { // not required + return nil + } + + if err := m.Capacity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capacity") + } + + return err + } + } + + return nil +} + +func (m *Thresholds) contextValidateOvercommit(ctx context.Context, formats strfmt.Registry) error { + + if m.Overcommit != nil { + + if swag.IsZero(m.Overcommit) { // not required + return nil + } + + if err := m.Overcommit.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("overcommit") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("overcommit") + } + + return err + } + } + + return nil +} + +func (m *Thresholds) contextValidatePhysicalCapacity(ctx context.Context, formats strfmt.Registry) error { + + if m.PhysicalCapacity != nil { + + if swag.IsZero(m.PhysicalCapacity) { // not required + return nil + } + + if err := m.PhysicalCapacity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("physicalCapacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("physicalCapacity") + } + + return err + } + } + + return nil +} + +func (m *Thresholds) contextValidateVdiskCapacity(ctx context.Context, formats strfmt.Registry) error { + + if m.VdiskCapacity != nil { + + if swag.IsZero(m.VdiskCapacity) { // not required + return nil + } + + if err := m.VdiskCapacity.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vdiskCapacity") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vdiskCapacity") + } + + return err + } + } + + return nil +} + +func (m *Thresholds) contextValidateVdiskLimit(ctx context.Context, formats strfmt.Registry) error { + + if m.VdiskLimit != nil { + + if swag.IsZero(m.VdiskLimit) { // not required + return nil + } + + if err := m.VdiskLimit.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vdiskLimit") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vdiskLimit") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Thresholds) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Thresholds) UnmarshalBinary(b []byte) error { + var res Thresholds + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/token.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/token.go new file mode 100644 index 000000000..7dcf36346 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/token.go @@ -0,0 +1,127 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Token token +// +// swagger:model Token +type Token struct { + + // AccessToken + // Required: true + AccessToken *string `json:"accessToken"` + + // Token Expires + // Required: true + // Format: date-time + Expires *strfmt.DateTime `json:"expires"` + + // Refresh Token + // Required: true + RefreshToken *string `json:"refreshToken"` + + // Token Type + // Required: true + Type *string `json:"type"` +} + +// Validate validates this token +func (m *Token) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccessToken(formats); err != nil { + res = append(res, err) + } + + if err := m.validateExpires(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRefreshToken(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Token) validateAccessToken(formats strfmt.Registry) error { + + if err := validate.Required("accessToken", "body", m.AccessToken); err != nil { + return err + } + + return nil +} + +func (m *Token) validateExpires(formats strfmt.Registry) error { + + if err := validate.Required("expires", "body", m.Expires); err != nil { + return err + } + + if err := validate.FormatOf("expires", "body", "date-time", m.Expires.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Token) validateRefreshToken(formats strfmt.Registry) error { + + if err := validate.Required("refreshToken", "body", m.RefreshToken); err != nil { + return err + } + + return nil +} + +func (m *Token) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this token based on context it is used +func (m *Token) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Token) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Token) UnmarshalBinary(b []byte) error { + var res Token + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/token_extra.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/token_extra.go new file mode 100644 index 000000000..960754930 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/token_extra.go @@ -0,0 +1,173 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// TokenExtra token extra +// +// swagger:model TokenExtra +type TokenExtra struct { + + // Number of seconds token will expire + // Required: true + ExpiresIn *float64 `json:"expiresIn"` + + // Time on the service broker + // Required: true + // Format: date-time + ServerTime *strfmt.DateTime `json:"serverTime"` + + // OAuth Token + // Required: true + Token *Token `json:"token"` + + // Is this token valid + // Required: true + Valid *bool `json:"valid"` +} + +// Validate validates this token extra +func (m *TokenExtra) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateExpiresIn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateServerTime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateToken(formats); err != nil { + res = append(res, err) + } + + if err := m.validateValid(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TokenExtra) validateExpiresIn(formats strfmt.Registry) error { + + if err := validate.Required("expiresIn", "body", m.ExpiresIn); err != nil { + return err + } + + return nil +} + +func (m *TokenExtra) validateServerTime(formats strfmt.Registry) error { + + if err := validate.Required("serverTime", "body", m.ServerTime); err != nil { + return err + } + + if err := validate.FormatOf("serverTime", "body", "date-time", m.ServerTime.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *TokenExtra) validateToken(formats strfmt.Registry) error { + + if err := validate.Required("token", "body", m.Token); err != nil { + return err + } + + if m.Token != nil { + if err := m.Token.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("token") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("token") + } + + return err + } + } + + return nil +} + +func (m *TokenExtra) validateValid(formats strfmt.Registry) error { + + if err := validate.Required("valid", "body", m.Valid); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this token extra based on the context it is used +func (m *TokenExtra) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateToken(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TokenExtra) contextValidateToken(ctx context.Context, formats strfmt.Registry) error { + + if m.Token != nil { + + if err := m.Token.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("token") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("token") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TokenExtra) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TokenExtra) UnmarshalBinary(b []byte) error { + var res TokenExtra + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/token_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/token_request.go new file mode 100644 index 000000000..dc1b7e948 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/token_request.go @@ -0,0 +1,124 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// TokenRequest token request +// +// swagger:model TokenRequest +type TokenRequest struct { + + // The refresh token to request the new Access Token + // Required: true + RefreshToken *string `json:"refreshToken"` + + // Source type of the token request (web or cli) + // Required: true + // Enum: ["web","cli"] + Source *string `json:"source"` +} + +// Validate validates this token request +func (m *TokenRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateRefreshToken(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSource(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TokenRequest) validateRefreshToken(formats strfmt.Registry) error { + + if err := validate.Required("refreshToken", "body", m.RefreshToken); err != nil { + return err + } + + return nil +} + +var tokenRequestTypeSourcePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["web","cli"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + tokenRequestTypeSourcePropEnum = append(tokenRequestTypeSourcePropEnum, v) + } +} + +const ( + + // TokenRequestSourceWeb captures enum value "web" + TokenRequestSourceWeb string = "web" + + // TokenRequestSourceCli captures enum value "cli" + TokenRequestSourceCli string = "cli" +) + +// prop value enum +func (m *TokenRequest) validateSourceEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, tokenRequestTypeSourcePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *TokenRequest) validateSource(formats strfmt.Registry) error { + + if err := validate.Required("source", "body", m.Source); err != nil { + return err + } + + // value enum + if err := m.validateSourceEnum("source", "body", *m.Source); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this token request based on context it is used +func (m *TokenRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *TokenRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TokenRequest) UnmarshalBinary(b []byte) error { + var res TokenRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_connection_error_item.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_connection_error_item.go new file mode 100644 index 000000000..cbb14d682 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_connection_error_item.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// TransitConnectionErrorItem transit connection error item +// +// swagger:model TransitConnectionErrorItem +type TransitConnectionErrorItem struct { + + // The status code of the transit connection + // Required: true + Code *string `json:"code"` + + // The trace id for debugging purposes + // Required: true + Message *string `json:"message"` + + // target + Target *TargetObject `json:"target,omitempty"` +} + +// Validate validates this transit connection error item +func (m *TransitConnectionErrorItem) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMessage(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTarget(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TransitConnectionErrorItem) validateCode(formats strfmt.Registry) error { + + if err := validate.Required("code", "body", m.Code); err != nil { + return err + } + + return nil +} + +func (m *TransitConnectionErrorItem) validateMessage(formats strfmt.Registry) error { + + if err := validate.Required("message", "body", m.Message); err != nil { + return err + } + + return nil +} + +func (m *TransitConnectionErrorItem) validateTarget(formats strfmt.Registry) error { + if swag.IsZero(m.Target) { // not required + return nil + } + + if m.Target != nil { + if err := m.Target.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("target") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("target") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this transit connection error item based on the context it is used +func (m *TransitConnectionErrorItem) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateTarget(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TransitConnectionErrorItem) contextValidateTarget(ctx context.Context, formats strfmt.Registry) error { + + if m.Target != nil { + + if swag.IsZero(m.Target) { // not required + return nil + } + + if err := m.Target.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("target") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("target") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TransitConnectionErrorItem) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TransitConnectionErrorItem) UnmarshalBinary(b []byte) error { + var res TransitConnectionErrorItem + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_instance.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_instance.go new file mode 100644 index 000000000..6c3f6432d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_instance.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// TransitGatewayInstance transit gateway instance +// +// swagger:model TransitGatewayInstance +type TransitGatewayInstance struct { + + // errors + Errors []*TransitConnectionErrorItem `json:"errors,omitempty"` + + // IBM Resource Group ID associated with the PowerVS Service Instance + // Example: 2bf1887bf5c947b1966de2bd88220489 + ResourceGroupID string `json:"resourceGroupId,omitempty"` + + // The route distinguisher for a network + // Example: 47902:3255120092 + RouteDistinguisher string `json:"routeDistinguisher,omitempty"` + + // The route target for a network + // Example: 47902:3255120092 + RouteTarget string `json:"routeTarget,omitempty"` + + // The PowerVS Service Instance CRN + // Example: crn:v1:bluemix:public:power-iaas:dal12:a/2bc3df23c0d14ebe921397bd8aa2573a:3a5798f1-4d2b-4e0a-9311-9b0fd6b94698:: + ServiceCrn string `json:"serviceCrn,omitempty"` + + // The PowerVS Service Instance ID + // Example: 3a5798f1-4d2b-4e0a-9311-9b0fd6b94698 + ServiceID string `json:"serviceId,omitempty"` + + // The trace id for debugging purposes + Trace string `json:"trace,omitempty"` +} + +// Validate validates this transit gateway instance +func (m *TransitGatewayInstance) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateErrors(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TransitGatewayInstance) validateErrors(formats strfmt.Registry) error { + if swag.IsZero(m.Errors) { // not required + return nil + } + + for i := 0; i < len(m.Errors); i++ { + if swag.IsZero(m.Errors[i]) { // not required + continue + } + + if m.Errors[i] != nil { + if err := m.Errors[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("errors" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("errors" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this transit gateway instance based on the context it is used +func (m *TransitGatewayInstance) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateErrors(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TransitGatewayInstance) contextValidateErrors(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Errors); i++ { + + if m.Errors[i] != nil { + + if swag.IsZero(m.Errors[i]) { // not required + return nil + } + + if err := m.Errors[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("errors" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("errors" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TransitGatewayInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TransitGatewayInstance) UnmarshalBinary(b []byte) error { + var res TransitGatewayInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_location.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_location.go new file mode 100644 index 000000000..c5e7fff67 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_location.go @@ -0,0 +1,147 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// TransitGatewayLocation The PER enabled PowerVS Service Location +// +// swagger:model TransitGatewayLocation +type TransitGatewayLocation struct { + + // The Location of the PowerVS Service + // Example: dal12 + // Required: true + Location *string `json:"location"` + + // Location Type of the PowerVS Service + // Example: data-center + // Required: true + // Enum: ["region","data-center","zone"] + LocationType *string `json:"locationType"` + + // The PowerVS Location URL path to access specific service instance information + // Example: https://us-south.power-iaas.cloud.ibm.com + // Required: true + LocationURL *string `json:"locationUrl"` +} + +// Validate validates this transit gateway location +func (m *TransitGatewayLocation) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateLocation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLocationType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLocationURL(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TransitGatewayLocation) validateLocation(formats strfmt.Registry) error { + + if err := validate.Required("location", "body", m.Location); err != nil { + return err + } + + return nil +} + +var transitGatewayLocationTypeLocationTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["region","data-center","zone"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + transitGatewayLocationTypeLocationTypePropEnum = append(transitGatewayLocationTypeLocationTypePropEnum, v) + } +} + +const ( + + // TransitGatewayLocationLocationTypeRegion captures enum value "region" + TransitGatewayLocationLocationTypeRegion string = "region" + + // TransitGatewayLocationLocationTypeDataDashCenter captures enum value "data-center" + TransitGatewayLocationLocationTypeDataDashCenter string = "data-center" + + // TransitGatewayLocationLocationTypeZone captures enum value "zone" + TransitGatewayLocationLocationTypeZone string = "zone" +) + +// prop value enum +func (m *TransitGatewayLocation) validateLocationTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, transitGatewayLocationTypeLocationTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *TransitGatewayLocation) validateLocationType(formats strfmt.Registry) error { + + if err := validate.Required("locationType", "body", m.LocationType); err != nil { + return err + } + + // value enum + if err := m.validateLocationTypeEnum("locationType", "body", *m.LocationType); err != nil { + return err + } + + return nil +} + +func (m *TransitGatewayLocation) validateLocationURL(formats strfmt.Registry) error { + + if err := validate.Required("locationUrl", "body", m.LocationURL); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this transit gateway location based on context it is used +func (m *TransitGatewayLocation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *TransitGatewayLocation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TransitGatewayLocation) UnmarshalBinary(b []byte) error { + var res TransitGatewayLocation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_locations.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_locations.go new file mode 100644 index 000000000..a49d9fead --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/transit_gateway_locations.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// TransitGatewayLocations transit gateway locations +// +// swagger:model TransitGatewayLocations +type TransitGatewayLocations struct { + + // The List of PER enabled PowerVS Service Locations + // Required: true + TransitGatewayLocations []*TransitGatewayLocation `json:"transitGatewayLocations"` +} + +// Validate validates this transit gateway locations +func (m *TransitGatewayLocations) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateTransitGatewayLocations(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TransitGatewayLocations) validateTransitGatewayLocations(formats strfmt.Registry) error { + + if err := validate.Required("transitGatewayLocations", "body", m.TransitGatewayLocations); err != nil { + return err + } + + for i := 0; i < len(m.TransitGatewayLocations); i++ { + if swag.IsZero(m.TransitGatewayLocations[i]) { // not required + continue + } + + if m.TransitGatewayLocations[i] != nil { + if err := m.TransitGatewayLocations[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("transitGatewayLocations" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("transitGatewayLocations" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this transit gateway locations based on the context it is used +func (m *TransitGatewayLocations) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateTransitGatewayLocations(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TransitGatewayLocations) contextValidateTransitGatewayLocations(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.TransitGatewayLocations); i++ { + + if m.TransitGatewayLocations[i] != nil { + + if swag.IsZero(m.TransitGatewayLocations[i]) { // not required + return nil + } + + if err := m.TransitGatewayLocations[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("transitGatewayLocations" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("transitGatewayLocations" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TransitGatewayLocations) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TransitGatewayLocations) UnmarshalBinary(b []byte) error { + var res TransitGatewayLocations + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_server_virtual_serial_number.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_server_virtual_serial_number.go new file mode 100644 index 000000000..7faf869f8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_server_virtual_serial_number.go @@ -0,0 +1,116 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// UpdateServerVirtualSerialNumber update server virtual serial number +// +// swagger:model UpdateServerVirtualSerialNumber +type UpdateServerVirtualSerialNumber struct { + + // Description of the Virtual Serial Number + Description *string `json:"description,omitempty"` + + // software tier + SoftwareTier SoftwareTier `json:"softwareTier,omitempty"` +} + +// Validate validates this update server virtual serial number +func (m *UpdateServerVirtualSerialNumber) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSoftwareTier(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UpdateServerVirtualSerialNumber) validateSoftwareTier(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareTier) { // not required + return nil + } + + if err := m.SoftwareTier.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareTier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareTier") + } + + return err + } + + return nil +} + +// ContextValidate validate this update server virtual serial number based on the context it is used +func (m *UpdateServerVirtualSerialNumber) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSoftwareTier(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UpdateServerVirtualSerialNumber) contextValidateSoftwareTier(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.SoftwareTier) { // not required + return nil + } + + if err := m.SoftwareTier.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareTier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareTier") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *UpdateServerVirtualSerialNumber) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *UpdateServerVirtualSerialNumber) UnmarshalBinary(b []byte) error { + var res UpdateServerVirtualSerialNumber + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_storage_pool.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_storage_pool.go new file mode 100644 index 000000000..2a32de2fc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_storage_pool.go @@ -0,0 +1,176 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// UpdateStoragePool update storage pool +// +// swagger:model UpdateStoragePool +type UpdateStoragePool struct { + + // display name of storage pool + DisplayName *string `json:"displayName,omitempty"` + + // indicates if the storage pool is disaster recovery (dr) enabled + DrEnabled *bool `json:"drEnabled,omitempty"` + + // threshold override settings of a pool + OverrideThresholds *Thresholds `json:"overrideThresholds,omitempty"` + + // state of storage pool + // Enum: ["closed","opened"] + State *string `json:"state,omitempty"` +} + +// Validate validates this update storage pool +func (m *UpdateStoragePool) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateOverrideThresholds(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UpdateStoragePool) validateOverrideThresholds(formats strfmt.Registry) error { + if swag.IsZero(m.OverrideThresholds) { // not required + return nil + } + + if m.OverrideThresholds != nil { + if err := m.OverrideThresholds.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("overrideThresholds") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("overrideThresholds") + } + + return err + } + } + + return nil +} + +var updateStoragePoolTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["closed","opened"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + updateStoragePoolTypeStatePropEnum = append(updateStoragePoolTypeStatePropEnum, v) + } +} + +const ( + + // UpdateStoragePoolStateClosed captures enum value "closed" + UpdateStoragePoolStateClosed string = "closed" + + // UpdateStoragePoolStateOpened captures enum value "opened" + UpdateStoragePoolStateOpened string = "opened" +) + +// prop value enum +func (m *UpdateStoragePool) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, updateStoragePoolTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *UpdateStoragePool) validateState(formats strfmt.Registry) error { + if swag.IsZero(m.State) { // not required + return nil + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this update storage pool based on the context it is used +func (m *UpdateStoragePool) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateOverrideThresholds(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UpdateStoragePool) contextValidateOverrideThresholds(ctx context.Context, formats strfmt.Registry) error { + + if m.OverrideThresholds != nil { + + if swag.IsZero(m.OverrideThresholds) { // not required + return nil + } + + if err := m.OverrideThresholds.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("overrideThresholds") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("overrideThresholds") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *UpdateStoragePool) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *UpdateStoragePool) UnmarshalBinary(b []byte) error { + var res UpdateStoragePool + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_virtual_serial_number.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_virtual_serial_number.go new file mode 100644 index 000000000..a2592c415 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_virtual_serial_number.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// UpdateVirtualSerialNumber update virtual serial number +// +// swagger:model UpdateVirtualSerialNumber +type UpdateVirtualSerialNumber struct { + + // Description of the Virtual Serial Number + // Required: true + Description *string `json:"description"` +} + +// Validate validates this update virtual serial number +func (m *UpdateVirtualSerialNumber) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UpdateVirtualSerialNumber) validateDescription(formats strfmt.Registry) error { + + if err := validate.Required("description", "body", m.Description); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this update virtual serial number based on context it is used +func (m *UpdateVirtualSerialNumber) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *UpdateVirtualSerialNumber) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *UpdateVirtualSerialNumber) UnmarshalBinary(b []byte) error { + var res UpdateVirtualSerialNumber + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_volume.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_volume.go new file mode 100644 index 000000000..630668b10 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_volume.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// UpdateVolume update volume +// +// swagger:model UpdateVolume +type UpdateVolume struct { + + // Indicates if the volume is boot capable + Bootable *bool `json:"bootable,omitempty"` + + // Name + Name *string `json:"name,omitempty"` + + // Indicates if the volume is shareable between VMs + Shareable *bool `json:"shareable,omitempty"` + + // New Volume size + Size float64 `json:"size,omitempty"` +} + +// Validate validates this update volume +func (m *UpdateVolume) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this update volume based on context it is used +func (m *UpdateVolume) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *UpdateVolume) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *UpdateVolume) UnmarshalBinary(b []byte) error { + var res UpdateVolume + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_workspace_ssh_key.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_workspace_ssh_key.go new file mode 100644 index 000000000..b1386d894 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/update_workspace_ssh_key.go @@ -0,0 +1,136 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// UpdateWorkspaceSSHKey update workspace SSH key +// +// swagger:model UpdateWorkspaceSSHKey +type UpdateWorkspaceSSHKey struct { + + // Description of the sshkey + Description *string `json:"description,omitempty" datastore:"description"` + + // User defined name for the SSH key + // Max Length: 128 + // Pattern: ^[A-Za-z0-9-_]+(?: +[A-Za-z0-9-_]+)*$ + Name *string `json:"name,omitempty" datastore:"name"` + + // SSH RSA key + SSHKey *string `json:"sshKey,omitempty" datastore:"sshKey"` + + // Visibility of the sshkey; workspace suggests ssh-key is only accessible in a workspace, account suggests ssh-key is accessible throughout an account + // Enum: ["account","workspace"] + Visibility *string `json:"visibility,omitempty" datastore:"visibility"` +} + +// Validate validates this update workspace SSH key +func (m *UpdateWorkspaceSSHKey) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVisibility(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UpdateWorkspaceSSHKey) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MaxLength("name", "body", *m.Name, 128); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[A-Za-z0-9-_]+(?: +[A-Za-z0-9-_]+)*$`); err != nil { + return err + } + + return nil +} + +var updateWorkspaceSshKeyTypeVisibilityPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["account","workspace"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + updateWorkspaceSshKeyTypeVisibilityPropEnum = append(updateWorkspaceSshKeyTypeVisibilityPropEnum, v) + } +} + +const ( + + // UpdateWorkspaceSSHKeyVisibilityAccount captures enum value "account" + UpdateWorkspaceSSHKeyVisibilityAccount string = "account" + + // UpdateWorkspaceSSHKeyVisibilityWorkspace captures enum value "workspace" + UpdateWorkspaceSSHKeyVisibilityWorkspace string = "workspace" +) + +// prop value enum +func (m *UpdateWorkspaceSSHKey) validateVisibilityEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, updateWorkspaceSshKeyTypeVisibilityPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *UpdateWorkspaceSSHKey) validateVisibility(formats strfmt.Registry) error { + if swag.IsZero(m.Visibility) { // not required + return nil + } + + // value enum + if err := m.validateVisibilityEnum("visibility", "body", *m.Visibility); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this update workspace SSH key based on context it is used +func (m *UpdateWorkspaceSSHKey) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *UpdateWorkspaceSSHKey) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *UpdateWorkspaceSSHKey) UnmarshalBinary(b []byte) error { + var res UpdateWorkspaceSSHKey + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/user_authentication_info.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/user_authentication_info.go new file mode 100644 index 000000000..1e2d88df9 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/user_authentication_info.go @@ -0,0 +1,303 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// UserAuthenticationInfo user authentication info +// +// swagger:model UserAuthenticationInfo +type UserAuthenticationInfo struct { + + // User Account ID + // Required: true + AccountID *string `json:"accountID"` + + // Map of internal capabilities the user has access to and their level of access + Capabilities ResourceAccess `json:"capabilities,omitempty"` + + // Workaround for AT event tracker + CredentialType string `json:"credentialType,omitempty"` + + // Map of the user's CRNs to their level of access + CrnAccess ResourceAccess `json:"crnAccess,omitempty"` + + // User Email + // Required: true + Email *string `json:"email"` + + // User ID + // Required: true + ID *string `json:"id"` + + // Member of the following tenants + MemberOf []string `json:"memberOf"` + + // User Name + // Required: true + Name *string `json:"name"` + + // OAuth2 Token + // Required: true + Token *Token `json:"token"` +} + +// Validate validates this user authentication info +func (m *UserAuthenticationInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccountID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCapabilities(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrnAccess(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEmail(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateToken(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UserAuthenticationInfo) validateAccountID(formats strfmt.Registry) error { + + if err := validate.Required("accountID", "body", m.AccountID); err != nil { + return err + } + + return nil +} + +func (m *UserAuthenticationInfo) validateCapabilities(formats strfmt.Registry) error { + if swag.IsZero(m.Capabilities) { // not required + return nil + } + + if m.Capabilities != nil { + if err := m.Capabilities.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capabilities") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capabilities") + } + + return err + } + } + + return nil +} + +func (m *UserAuthenticationInfo) validateCrnAccess(formats strfmt.Registry) error { + if swag.IsZero(m.CrnAccess) { // not required + return nil + } + + if m.CrnAccess != nil { + if err := m.CrnAccess.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crnAccess") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crnAccess") + } + + return err + } + } + + return nil +} + +func (m *UserAuthenticationInfo) validateEmail(formats strfmt.Registry) error { + + if err := validate.Required("email", "body", m.Email); err != nil { + return err + } + + return nil +} + +func (m *UserAuthenticationInfo) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *UserAuthenticationInfo) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *UserAuthenticationInfo) validateToken(formats strfmt.Registry) error { + + if err := validate.Required("token", "body", m.Token); err != nil { + return err + } + + if m.Token != nil { + if err := m.Token.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("token") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("token") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this user authentication info based on the context it is used +func (m *UserAuthenticationInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCapabilities(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCrnAccess(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateToken(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UserAuthenticationInfo) contextValidateCapabilities(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Capabilities) { // not required + return nil + } + + if err := m.Capabilities.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("capabilities") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("capabilities") + } + + return err + } + + return nil +} + +func (m *UserAuthenticationInfo) contextValidateCrnAccess(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.CrnAccess) { // not required + return nil + } + + if err := m.CrnAccess.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crnAccess") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crnAccess") + } + + return err + } + + return nil +} + +func (m *UserAuthenticationInfo) contextValidateToken(ctx context.Context, formats strfmt.Registry) error { + + if m.Token != nil { + + if err := m.Token.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("token") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("token") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *UserAuthenticationInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *UserAuthenticationInfo) UnmarshalBinary(b []byte) error { + var res UserAuthenticationInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/user_info.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/user_info.go new file mode 100644 index 000000000..959782148 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/user_info.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// UserInfo user info +// +// swagger:model UserInfo +type UserInfo struct { + + // User Email + // Required: true + Email *string `json:"email"` + + // User ID + // Required: true + ID *string `json:"id"` + + // User Image URL + ImageURL string `json:"imageURL,omitempty"` + + // Member of the following tenants + MemberOf []string `json:"memberOf"` + + // User Name + // Required: true + Name *string `json:"name"` +} + +// Validate validates this user info +func (m *UserInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateEmail(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *UserInfo) validateEmail(formats strfmt.Registry) error { + + if err := validate.Required("email", "body", m.Email); err != nil { + return err + } + + return nil +} + +func (m *UserInfo) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *UserInfo) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this user info based on context it is used +func (m *UserInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *UserInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *UserInfo) UnmarshalBinary(b []byte) error { + var res UserInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_attach.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_attach.go new file mode 100644 index 000000000..d1e5110e5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_attach.go @@ -0,0 +1,183 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VPMemVolumeAttach v p mem volume attach +// +// swagger:model VPMemVolumeAttach +type VPMemVolumeAttach struct { + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // Description of volumes to create + // Required: true + VpmemVolumes []*VPMemVolumeCreate `json:"vpmemVolumes"` +} + +// Validate validates this v p mem volume attach +func (m *VPMemVolumeAttach) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpmemVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPMemVolumeAttach) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *VPMemVolumeAttach) validateVpmemVolumes(formats strfmt.Registry) error { + + if err := validate.Required("vpmemVolumes", "body", m.VpmemVolumes); err != nil { + return err + } + + for i := 0; i < len(m.VpmemVolumes); i++ { + if swag.IsZero(m.VpmemVolumes[i]) { // not required + continue + } + + if m.VpmemVolumes[i] != nil { + if err := m.VpmemVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this v p mem volume attach based on the context it is used +func (m *VPMemVolumeAttach) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateVpmemVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPMemVolumeAttach) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *VPMemVolumeAttach) contextValidateVpmemVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VpmemVolumes); i++ { + + if m.VpmemVolumes[i] != nil { + + if swag.IsZero(m.VpmemVolumes[i]) { // not required + return nil + } + + if err := m.VpmemVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpmemVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VPMemVolumeAttach) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPMemVolumeAttach) UnmarshalBinary(b []byte) error { + var res VPMemVolumeAttach + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_create.go new file mode 100644 index 000000000..44bd7466f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_create.go @@ -0,0 +1,108 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VPMemVolumeCreate v p mem volume create +// +// swagger:model VPMemVolumeCreate +type VPMemVolumeCreate struct { + + // Volume base name + // Required: true + // Max Length: 20 + // Min Length: 1 + // Pattern: ^[a-zA-Z0-9][a-zA-Z0-9-_]*$ + Name *string `json:"name"` + + // Volume size (GB) + // Required: true + // Minimum: 1 + Size *int64 `json:"size"` +} + +// Validate validates this v p mem volume create +func (m *VPMemVolumeCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPMemVolumeCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MinLength("name", "body", *m.Name, 1); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 20); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[a-zA-Z0-9][a-zA-Z0-9-_]*$`); err != nil { + return err + } + + return nil +} + +func (m *VPMemVolumeCreate) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + if err := validate.MinimumInt("size", "body", *m.Size, 1, false); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this v p mem volume create based on context it is used +func (m *VPMemVolumeCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VPMemVolumeCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPMemVolumeCreate) UnmarshalBinary(b []byte) error { + var res VPMemVolumeCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_reference.go new file mode 100644 index 000000000..5d40afa99 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volume_reference.go @@ -0,0 +1,264 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VPMemVolumeReference v p mem volume reference +// +// swagger:model VPMemVolumeReference +type VPMemVolumeReference struct { + + // The date and time when the volume was created + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // Error code for the vPMEM volume + ErrorCode string `json:"errorCode,omitempty"` + + // Link to vPMEM volume resource + // Required: true + Href *string `json:"href"` + + // Volume Name + // Required: true + Name *string `json:"name"` + + // PVM Instance ID which the volume is attached to + // Required: true + PvmInstanceID *string `json:"pvmInstanceID"` + + // Reason for error + Reason string `json:"reason,omitempty"` + + // Volume Size (GB) + // Required: true + Size *float64 `json:"size"` + + // Status of the volume + // Required: true + Status *string `json:"status"` + + // The date and time when the volume was updated + // Format: date-time + UpdatedDate *strfmt.DateTime `json:"updatedDate,omitempty"` + + // Volume ID + // Required: true + UUID *string `json:"uuid"` +} + +// Validate validates this v p mem volume reference +func (m *VPMemVolumeReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdatedDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUUID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPMemVolumeReference) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VPMemVolumeReference) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *VPMemVolumeReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *VPMemVolumeReference) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VPMemVolumeReference) validatePvmInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstanceID", "body", m.PvmInstanceID); err != nil { + return err + } + + return nil +} + +func (m *VPMemVolumeReference) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + return nil +} + +func (m *VPMemVolumeReference) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *VPMemVolumeReference) validateUpdatedDate(formats strfmt.Registry) error { + if swag.IsZero(m.UpdatedDate) { // not required + return nil + } + + if err := validate.FormatOf("updatedDate", "body", "date-time", m.UpdatedDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VPMemVolumeReference) validateUUID(formats strfmt.Registry) error { + + if err := validate.Required("uuid", "body", m.UUID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this v p mem volume reference based on the context it is used +func (m *VPMemVolumeReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPMemVolumeReference) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VPMemVolumeReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPMemVolumeReference) UnmarshalBinary(b []byte) error { + var res VPMemVolumeReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volumes.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volumes.go new file mode 100644 index 000000000..f18c3642b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_mem_volumes.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VPMemVolumes v p mem volumes +// +// swagger:model VPMemVolumes +type VPMemVolumes struct { + + // List of vPMEM volumes + // Required: true + Volumes []*VPMemVolumeReference `json:"volumes"` +} + +// Validate validates this v p mem volumes +func (m *VPMemVolumes) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPMemVolumes) validateVolumes(formats strfmt.Registry) error { + + if err := validate.Required("volumes", "body", m.Volumes); err != nil { + return err + } + + for i := 0; i < len(m.Volumes); i++ { + if swag.IsZero(m.Volumes[i]) { // not required + continue + } + + if m.Volumes[i] != nil { + if err := m.Volumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this v p mem volumes based on the context it is used +func (m *VPMemVolumes) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPMemVolumes) contextValidateVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Volumes); i++ { + + if m.Volumes[i] != nil { + + if swag.IsZero(m.Volumes[i]) { // not required + return nil + } + + if err := m.Volumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VPMemVolumes) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPMemVolumes) UnmarshalBinary(b []byte) error { + var res VPMemVolumes + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection.go new file mode 100644 index 000000000..c374e1660 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection.go @@ -0,0 +1,509 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VPNConnection v p n connection +// +// swagger:model VPNConnection +type VPNConnection struct { + + // dead peer detection + // Required: true + DeadPeerDetection *DeadPeerDetection `json:"deadPeerDetection"` + + // unique identifier for VPN Connection + // Example: 123e4567-e89b-12d3-a456-42661475 + // Required: true + ID *string `json:"id"` + + // ike policy + // Required: true + IkePolicy *IKEPolicyRef `json:"ikePolicy"` + + // ip sec policy + // Required: true + IPSecPolicy *IPSecPolicyRef `json:"ipSecPolicy"` + + // local Gateway address, only in 'route' mode. + // Example: 192.168.1.1 + // Required: true + LocalGatewayAddress *string `json:"localGatewayAddress"` + + // Mode used by this VPNConnection, either policy-based, or route-based, this attribute is set at the creation and cannot be updated later. + // Example: policy + // Required: true + // Enum: ["policy","route"] + Mode *string `json:"mode"` + + // VPN Connection name + // Example: VPN-Connection-1 + // Required: true + Name *string `json:"name"` + + // an array of network IDs + // Required: true + NetworkIDs []string `json:"networkIDs"` + + // peer gateway address + // Required: true + // Format: ipv4 + PeerGatewayAddress *PeerGatewayAddress `json:"peerGatewayAddress"` + + // an array of strings containing CIDR of peer subnets + // Example: ["128.170.1.0/20","128.169.1.0/24","128.168.1.0/27","128.170.1.0/32"] + // Required: true + PeerSubnets []string `json:"peerSubnets"` + + // status of the VPN connection + // Required: true + // Enum: ["active","warning","disabled"] + Status *string `json:"status"` + + // public IP address of the VPN Gateway (vSRX) attached to this VPNConnection + // Example: 192.168.204.1 + // Required: true + VpnGatewayAddress *string `json:"vpnGatewayAddress"` +} + +// Validate validates this v p n connection +func (m *VPNConnection) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDeadPeerDetection(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIkePolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPSecPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLocalGatewayAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworkIDs(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeerGatewayAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeerSubnets(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVpnGatewayAddress(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnection) validateDeadPeerDetection(formats strfmt.Registry) error { + + if err := validate.Required("deadPeerDetection", "body", m.DeadPeerDetection); err != nil { + return err + } + + if m.DeadPeerDetection != nil { + if err := m.DeadPeerDetection.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("deadPeerDetection") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("deadPeerDetection") + } + + return err + } + } + + return nil +} + +func (m *VPNConnection) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *VPNConnection) validateIkePolicy(formats strfmt.Registry) error { + + if err := validate.Required("ikePolicy", "body", m.IkePolicy); err != nil { + return err + } + + if m.IkePolicy != nil { + if err := m.IkePolicy.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ikePolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ikePolicy") + } + + return err + } + } + + return nil +} + +func (m *VPNConnection) validateIPSecPolicy(formats strfmt.Registry) error { + + if err := validate.Required("ipSecPolicy", "body", m.IPSecPolicy); err != nil { + return err + } + + if m.IPSecPolicy != nil { + if err := m.IPSecPolicy.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipSecPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipSecPolicy") + } + + return err + } + } + + return nil +} + +func (m *VPNConnection) validateLocalGatewayAddress(formats strfmt.Registry) error { + + if err := validate.Required("localGatewayAddress", "body", m.LocalGatewayAddress); err != nil { + return err + } + + return nil +} + +var vPNConnectionTypeModePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["policy","route"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + vPNConnectionTypeModePropEnum = append(vPNConnectionTypeModePropEnum, v) + } +} + +const ( + + // VPNConnectionModePolicy captures enum value "policy" + VPNConnectionModePolicy string = "policy" + + // VPNConnectionModeRoute captures enum value "route" + VPNConnectionModeRoute string = "route" +) + +// prop value enum +func (m *VPNConnection) validateModeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, vPNConnectionTypeModePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *VPNConnection) validateMode(formats strfmt.Registry) error { + + if err := validate.Required("mode", "body", m.Mode); err != nil { + return err + } + + // value enum + if err := m.validateModeEnum("mode", "body", *m.Mode); err != nil { + return err + } + + return nil +} + +func (m *VPNConnection) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VPNConnection) validateNetworkIDs(formats strfmt.Registry) error { + + if err := validate.Required("networkIDs", "body", m.NetworkIDs); err != nil { + return err + } + + return nil +} + +func (m *VPNConnection) validatePeerGatewayAddress(formats strfmt.Registry) error { + + if err := validate.Required("peerGatewayAddress", "body", m.PeerGatewayAddress); err != nil { + return err + } + + if err := validate.Required("peerGatewayAddress", "body", m.PeerGatewayAddress); err != nil { + return err + } + + if m.PeerGatewayAddress != nil { + if err := m.PeerGatewayAddress.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peerGatewayAddress") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peerGatewayAddress") + } + + return err + } + } + + return nil +} + +func (m *VPNConnection) validatePeerSubnets(formats strfmt.Registry) error { + + if err := validate.Required("peerSubnets", "body", m.PeerSubnets); err != nil { + return err + } + + return nil +} + +var vPNConnectionTypeStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","warning","disabled"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + vPNConnectionTypeStatusPropEnum = append(vPNConnectionTypeStatusPropEnum, v) + } +} + +const ( + + // VPNConnectionStatusActive captures enum value "active" + VPNConnectionStatusActive string = "active" + + // VPNConnectionStatusWarning captures enum value "warning" + VPNConnectionStatusWarning string = "warning" + + // VPNConnectionStatusDisabled captures enum value "disabled" + VPNConnectionStatusDisabled string = "disabled" +) + +// prop value enum +func (m *VPNConnection) validateStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, vPNConnectionTypeStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *VPNConnection) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + // value enum + if err := m.validateStatusEnum("status", "body", *m.Status); err != nil { + return err + } + + return nil +} + +func (m *VPNConnection) validateVpnGatewayAddress(formats strfmt.Registry) error { + + if err := validate.Required("vpnGatewayAddress", "body", m.VpnGatewayAddress); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this v p n connection based on the context it is used +func (m *VPNConnection) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDeadPeerDetection(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateIkePolicy(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateIPSecPolicy(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePeerGatewayAddress(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnection) contextValidateDeadPeerDetection(ctx context.Context, formats strfmt.Registry) error { + + if m.DeadPeerDetection != nil { + + if err := m.DeadPeerDetection.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("deadPeerDetection") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("deadPeerDetection") + } + + return err + } + } + + return nil +} + +func (m *VPNConnection) contextValidateIkePolicy(ctx context.Context, formats strfmt.Registry) error { + + if m.IkePolicy != nil { + + if err := m.IkePolicy.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ikePolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ikePolicy") + } + + return err + } + } + + return nil +} + +func (m *VPNConnection) contextValidateIPSecPolicy(ctx context.Context, formats strfmt.Registry) error { + + if m.IPSecPolicy != nil { + + if err := m.IPSecPolicy.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("ipSecPolicy") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("ipSecPolicy") + } + + return err + } + } + + return nil +} + +func (m *VPNConnection) contextValidatePeerGatewayAddress(ctx context.Context, formats strfmt.Registry) error { + + if m.PeerGatewayAddress != nil { + + if err := m.PeerGatewayAddress.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peerGatewayAddress") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peerGatewayAddress") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VPNConnection) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPNConnection) UnmarshalBinary(b []byte) error { + var res VPNConnection + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_create.go new file mode 100644 index 000000000..e6fae3814 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_create.go @@ -0,0 +1,266 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VPNConnectionCreate v p n connection create +// +// swagger:model VPNConnectionCreate +type VPNConnectionCreate struct { + + // unique identifier of IKEPolicy selected for this VPNConnection + // Example: c36723ec-8593-11eb-8dcd-0242ac133853 + // Required: true + IkePolicy *string `json:"ikePolicy"` + + // unique identifier of IPSecPolicy selected for this VPNConnection + // Example: c12345d-8593-11eb-8dcd-0242ac134573 + // Required: true + IPSecPolicy *string `json:"ipSecPolicy"` + + // Mode used by this VPNConnection, either policy-based, or route-based, this attribute is set at the creation and cannot be updated later. + // Example: policy + // Required: true + // Enum: ["policy","route"] + Mode *string `json:"mode"` + + // VPN Connection name + // Example: VPN-Connection-1 + // Required: true + Name *string `json:"name"` + + // an array of network IDs to attach to this VPNConnection + // Example: ["7f950c76-8582-11veb-8dcd-0242ac153","7f950c76-8582-11veb-8dcd-0242ac144","7f950c76-8582-11veb-8dcd-0242ac199"] + // Required: true + Networks []string `json:"networks"` + + // peer gateway address + // Required: true + // Format: ipv4 + PeerGatewayAddress *PeerGatewayAddress `json:"peerGatewayAddress"` + + // an array of strings containing CIDR of peer subnets + // Example: ["128.170.1.0/20","128.169.1.0/24","128.168.1.0/27","128.170.1.0/32"] + // Required: true + PeerSubnets []string `json:"peerSubnets"` +} + +// Validate validates this v p n connection create +func (m *VPNConnectionCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateIkePolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIPSecPolicy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMode(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworks(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeerGatewayAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePeerSubnets(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnectionCreate) validateIkePolicy(formats strfmt.Registry) error { + + if err := validate.Required("ikePolicy", "body", m.IkePolicy); err != nil { + return err + } + + return nil +} + +func (m *VPNConnectionCreate) validateIPSecPolicy(formats strfmt.Registry) error { + + if err := validate.Required("ipSecPolicy", "body", m.IPSecPolicy); err != nil { + return err + } + + return nil +} + +var vPNConnectionCreateTypeModePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["policy","route"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + vPNConnectionCreateTypeModePropEnum = append(vPNConnectionCreateTypeModePropEnum, v) + } +} + +const ( + + // VPNConnectionCreateModePolicy captures enum value "policy" + VPNConnectionCreateModePolicy string = "policy" + + // VPNConnectionCreateModeRoute captures enum value "route" + VPNConnectionCreateModeRoute string = "route" +) + +// prop value enum +func (m *VPNConnectionCreate) validateModeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, vPNConnectionCreateTypeModePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *VPNConnectionCreate) validateMode(formats strfmt.Registry) error { + + if err := validate.Required("mode", "body", m.Mode); err != nil { + return err + } + + // value enum + if err := m.validateModeEnum("mode", "body", *m.Mode); err != nil { + return err + } + + return nil +} + +func (m *VPNConnectionCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VPNConnectionCreate) validateNetworks(formats strfmt.Registry) error { + + if err := validate.Required("networks", "body", m.Networks); err != nil { + return err + } + + return nil +} + +func (m *VPNConnectionCreate) validatePeerGatewayAddress(formats strfmt.Registry) error { + + if err := validate.Required("peerGatewayAddress", "body", m.PeerGatewayAddress); err != nil { + return err + } + + if err := validate.Required("peerGatewayAddress", "body", m.PeerGatewayAddress); err != nil { + return err + } + + if m.PeerGatewayAddress != nil { + if err := m.PeerGatewayAddress.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peerGatewayAddress") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peerGatewayAddress") + } + + return err + } + } + + return nil +} + +func (m *VPNConnectionCreate) validatePeerSubnets(formats strfmt.Registry) error { + + if err := validate.Required("peerSubnets", "body", m.PeerSubnets); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this v p n connection create based on the context it is used +func (m *VPNConnectionCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePeerGatewayAddress(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnectionCreate) contextValidatePeerGatewayAddress(ctx context.Context, formats strfmt.Registry) error { + + if m.PeerGatewayAddress != nil { + + if err := m.PeerGatewayAddress.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peerGatewayAddress") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peerGatewayAddress") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VPNConnectionCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPNConnectionCreate) UnmarshalBinary(b []byte) error { + var res VPNConnectionCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_create_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_create_response.go new file mode 100644 index 000000000..813f6e9da --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_create_response.go @@ -0,0 +1,174 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VPNConnectionCreateResponse v p n connection create response +// +// swagger:model VPNConnectionCreateResponse +type VPNConnectionCreateResponse struct { + VPNConnection + + // job ref + JobRef *JobReference `json:"jobRef,omitempty"` +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *VPNConnectionCreateResponse) UnmarshalJSON(raw []byte) error { + // AO0 + var aO0 VPNConnection + if err := swag.ReadJSON(raw, &aO0); err != nil { + return err + } + m.VPNConnection = aO0 + + // now for regular properties + var propsVPNConnectionCreateResponse struct { + JobRef *JobReference `json:"jobRef,omitempty"` + } + if err := swag.ReadJSON(raw, &propsVPNConnectionCreateResponse); err != nil { + return err + } + m.JobRef = propsVPNConnectionCreateResponse.JobRef + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m VPNConnectionCreateResponse) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 1) + + aO0, err := swag.WriteJSON(m.VPNConnection) + if err != nil { + return nil, err + } + _parts = append(_parts, aO0) + + // now for regular properties + var propsVPNConnectionCreateResponse struct { + JobRef *JobReference `json:"jobRef,omitempty"` + } + propsVPNConnectionCreateResponse.JobRef = m.JobRef + + jsonDataPropsVPNConnectionCreateResponse, errVPNConnectionCreateResponse := swag.WriteJSON(propsVPNConnectionCreateResponse) + if errVPNConnectionCreateResponse != nil { + return nil, errVPNConnectionCreateResponse + } + _parts = append(_parts, jsonDataPropsVPNConnectionCreateResponse) + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this v p n connection create response +func (m *VPNConnectionCreateResponse) Validate(formats strfmt.Registry) error { + var res []error + + // validation for a type composition with VPNConnection + if err := m.VPNConnection.Validate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateJobRef(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnectionCreateResponse) validateJobRef(formats strfmt.Registry) error { + if swag.IsZero(m.JobRef) { // not required + return nil + } + + if m.JobRef != nil { + if err := m.JobRef.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("jobRef") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("jobRef") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this v p n connection create response based on the context it is used +func (m *VPNConnectionCreateResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + // validation for a type composition with VPNConnection + if err := m.VPNConnection.ContextValidate(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateJobRef(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnectionCreateResponse) contextValidateJobRef(ctx context.Context, formats strfmt.Registry) error { + + if m.JobRef != nil { + + if swag.IsZero(m.JobRef) { // not required + return nil + } + + if err := m.JobRef.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("jobRef") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("jobRef") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VPNConnectionCreateResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPNConnectionCreateResponse) UnmarshalBinary(b []byte) error { + var res VPNConnectionCreateResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_update.go new file mode 100644 index 000000000..18efba92c --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connection_update.go @@ -0,0 +1,262 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VPNConnectionUpdate VPN Connection object to send during the update +// +// MinProperties: 1 +// +// swagger:model VPNConnectionUpdate +type VPNConnectionUpdate struct { + + // unique identifier of IKEPolicy selected for this VPNConnection + // Example: c36723ec-8593-11eb-8dcd-0242ac133853 + IkePolicy string `json:"ikePolicy,omitempty"` + + // unique identifier of IPSecPolicy selected for this VPNConnection + // Example: c12345d-8593-11eb-8dcd-0242ac134573 + IPSecPolicy string `json:"ipSecPolicy,omitempty"` + + // VPN Connection name + // Example: VPN-Connection-1 + Name string `json:"name,omitempty"` + + // peer gateway address + // Format: ipv4 + PeerGatewayAddress PeerGatewayAddress `json:"peerGatewayAddress,omitempty"` + + // v p n connection update additional properties + VPNConnectionUpdateAdditionalProperties map[string]any `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (m *VPNConnectionUpdate) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + + // unique identifier of IKEPolicy selected for this VPNConnection + // Example: c36723ec-8593-11eb-8dcd-0242ac133853 + IkePolicy string `json:"ikePolicy,omitempty"` + + // unique identifier of IPSecPolicy selected for this VPNConnection + // Example: c12345d-8593-11eb-8dcd-0242ac134573 + IPSecPolicy string `json:"ipSecPolicy,omitempty"` + + // VPN Connection name + // Example: VPN-Connection-1 + Name string `json:"name,omitempty"` + + // peer gateway address + // Format: ipv4 + PeerGatewayAddress PeerGatewayAddress `json:"peerGatewayAddress,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv VPNConnectionUpdate + + rcv.IkePolicy = stage1.IkePolicy + rcv.IPSecPolicy = stage1.IPSecPolicy + rcv.Name = stage1.Name + rcv.PeerGatewayAddress = stage1.PeerGatewayAddress + *m = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "ikePolicy") + delete(stage2, "ipSecPolicy") + delete(stage2, "name") + delete(stage2, "peerGatewayAddress") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]any) + for k, v := range stage2 { + var toadd any + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + m.VPNConnectionUpdateAdditionalProperties = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (m VPNConnectionUpdate) MarshalJSON() ([]byte, error) { + var stage1 struct { + + // unique identifier of IKEPolicy selected for this VPNConnection + // Example: c36723ec-8593-11eb-8dcd-0242ac133853 + IkePolicy string `json:"ikePolicy,omitempty"` + + // unique identifier of IPSecPolicy selected for this VPNConnection + // Example: c12345d-8593-11eb-8dcd-0242ac134573 + IPSecPolicy string `json:"ipSecPolicy,omitempty"` + + // VPN Connection name + // Example: VPN-Connection-1 + Name string `json:"name,omitempty"` + + // peer gateway address + // Format: ipv4 + PeerGatewayAddress PeerGatewayAddress `json:"peerGatewayAddress,omitempty"` + } + + stage1.IkePolicy = m.IkePolicy + stage1.IPSecPolicy = m.IPSecPolicy + stage1.Name = m.Name + stage1.PeerGatewayAddress = m.PeerGatewayAddress + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(m.VPNConnectionUpdateAdditionalProperties) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(m.VPNConnectionUpdateAdditionalProperties) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil +} + +// Validate validates this v p n connection update +func (m *VPNConnectionUpdate) Validate(formats strfmt.Registry) error { + var res []error + + // short circuits minProperties > 0 + if m == nil { + return errors.TooFewProperties("", "body", 1) + } + + props := make(map[string]json.RawMessage, 4+10) + j, err := swag.WriteJSON(m) + if err != nil { + return err + } + + if err = swag.ReadJSON(j, &props); err != nil { + return err + } + + nprops := len(props) + + // minProperties: 1 + if nprops < 1 { + return errors.TooFewProperties("", "body", 1) + } + + if err := m.validatePeerGatewayAddress(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnectionUpdate) validatePeerGatewayAddress(formats strfmt.Registry) error { + if swag.IsZero(m.PeerGatewayAddress) { // not required + return nil + } + + if err := m.PeerGatewayAddress.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peerGatewayAddress") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peerGatewayAddress") + } + + return err + } + + return nil +} + +// ContextValidate validate this v p n connection update based on the context it is used +func (m *VPNConnectionUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePeerGatewayAddress(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnectionUpdate) contextValidatePeerGatewayAddress(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.PeerGatewayAddress) { // not required + return nil + } + + if err := m.PeerGatewayAddress.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("peerGatewayAddress") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("peerGatewayAddress") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VPNConnectionUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPNConnectionUpdate) UnmarshalBinary(b []byte) error { + var res VPNConnectionUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connections.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connections.go new file mode 100644 index 000000000..6de716713 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/v_p_n_connections.go @@ -0,0 +1,131 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VPNConnections v p n connections +// +// swagger:model VPNConnections +type VPNConnections struct { + + // an array of VPN Connections + // Example: [{"deadPeerDetection":{"action":"restart","interval":10,"threshold":5},"id":"123e4567-e89b-12d3-a456-42661475","ikePolicy":{"id":"7654e321-e89b-12d3-a456-4566447","name":"IKE Policy 3"},"ipSecPolicy":{"id":"456f7890-e89b-12d3-a456-4569934","name":"IPSec Policy 2"},"localGatewayAddress":"192.168.1.1","mode":"route","name":"VPN Connection 2","peerGatewayAddress":"192.168.44.1","peerSubnets":["128.169.1.0/24","128.168.1.0/27"],"status":"Active","vpnGatewayAddress":"192.168.24.1"}] + VpnConnections []*VPNConnection `json:"vpnConnections"` +} + +// Validate validates this v p n connections +func (m *VPNConnections) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVpnConnections(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnections) validateVpnConnections(formats strfmt.Registry) error { + if swag.IsZero(m.VpnConnections) { // not required + return nil + } + + for i := 0; i < len(m.VpnConnections); i++ { + if swag.IsZero(m.VpnConnections[i]) { // not required + continue + } + + if m.VpnConnections[i] != nil { + if err := m.VpnConnections[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpnConnections" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpnConnections" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this v p n connections based on the context it is used +func (m *VPNConnections) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVpnConnections(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VPNConnections) contextValidateVpnConnections(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VpnConnections); i++ { + + if m.VpnConnections[i] != nil { + + if swag.IsZero(m.VpnConnections[i]) { // not required + return nil + } + + if err := m.VpnConnections[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("vpnConnections" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("vpnConnections" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VPNConnections) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VPNConnections) UnmarshalBinary(b []byte) error { + var res VPNConnections + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/version.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/version.go new file mode 100644 index 000000000..8432df233 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/version.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Version version +// +// swagger:model Version +type Version struct { + + // Returns the build time + BuildDate string `json:"buildDate,omitempty"` + + // Returns the current go runtime version + GoVersion string `json:"goVersion,omitempty"` + + // Hostname of the responding system + Hostname string `json:"hostname,omitempty"` + + // Returns the git versioning information + Version string `json:"version,omitempty"` +} + +// Validate validates this version +func (m *Version) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this version based on context it is used +func (m *Version) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Version) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Version) UnmarshalBinary(b []byte) error { + var res Version + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_cores.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_cores.go new file mode 100644 index 000000000..5d1330783 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_cores.go @@ -0,0 +1,82 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VirtualCores virtual cores +// +// swagger:model VirtualCores +type VirtualCores struct { + + // The active virtual Cores + // Required: true + // Minimum: 1 + Assigned *int64 `json:"assigned"` + + // The maximum DLPAR range for virtual Cores (Display only support) + Max int64 `json:"max,omitempty"` + + // The minimum DLPAR range for virtual Cores (Display only support) + Min int64 `json:"min,omitempty"` +} + +// Validate validates this virtual cores +func (m *VirtualCores) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAssigned(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VirtualCores) validateAssigned(formats strfmt.Registry) error { + + if err := validate.Required("assigned", "body", m.Assigned); err != nil { + return err + } + + if err := validate.MinimumInt("assigned", "body", *m.Assigned, 1, false); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this virtual cores based on context it is used +func (m *VirtualCores) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VirtualCores) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VirtualCores) UnmarshalBinary(b []byte) error { + var res VirtualCores + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_serial_number.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_serial_number.go new file mode 100644 index 000000000..60e414b0e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_serial_number.go @@ -0,0 +1,165 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VirtualSerialNumber virtual serial number +// +// swagger:model VirtualSerialNumber +type VirtualSerialNumber struct { + + // Description of the Virtual Serial Number + // Required: true + Description *string `json:"description"` + + // ID of the PVM Instance Virtual Serial Number is attached to. + // Required: true + PvmInstanceID *string `json:"pvmInstanceID"` + + // Virtual Serial Number assigned to the PVM Instance + // Required: true + Serial *string `json:"serial"` + + // software tier + SoftwareTier SoftwareTier `json:"softwareTier,omitempty"` +} + +// Validate validates this virtual serial number +func (m *VirtualSerialNumber) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDescription(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePvmInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSerial(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSoftwareTier(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VirtualSerialNumber) validateDescription(formats strfmt.Registry) error { + + if err := validate.Required("description", "body", m.Description); err != nil { + return err + } + + return nil +} + +func (m *VirtualSerialNumber) validatePvmInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("pvmInstanceID", "body", m.PvmInstanceID); err != nil { + return err + } + + return nil +} + +func (m *VirtualSerialNumber) validateSerial(formats strfmt.Registry) error { + + if err := validate.Required("serial", "body", m.Serial); err != nil { + return err + } + + return nil +} + +func (m *VirtualSerialNumber) validateSoftwareTier(formats strfmt.Registry) error { + if swag.IsZero(m.SoftwareTier) { // not required + return nil + } + + if err := m.SoftwareTier.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareTier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareTier") + } + + return err + } + + return nil +} + +// ContextValidate validate this virtual serial number based on the context it is used +func (m *VirtualSerialNumber) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSoftwareTier(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VirtualSerialNumber) contextValidateSoftwareTier(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.SoftwareTier) { // not required + return nil + } + + if err := m.SoftwareTier.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("softwareTier") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("softwareTier") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VirtualSerialNumber) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VirtualSerialNumber) UnmarshalBinary(b []byte) error { + var res VirtualSerialNumber + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_serial_number_list.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_serial_number_list.go new file mode 100644 index 000000000..925a61e5e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/virtual_serial_number_list.go @@ -0,0 +1,87 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VirtualSerialNumberList List of all Virtual Serial Numbers +// +// swagger:model VirtualSerialNumberList +type VirtualSerialNumberList []*VirtualSerialNumber + +// Validate validates this virtual serial number list +func (m VirtualSerialNumberList) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this virtual serial number list based on the context it is used +func (m VirtualSerialNumberList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + + if m[i] != nil { + + if swag.IsZero(m[i]) { // not required + return nil + } + + if err := m[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName(strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName(strconv.Itoa(i)) + } + + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume.go new file mode 100644 index 000000000..f612917ff --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume.go @@ -0,0 +1,399 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Volume volume +// +// swagger:model Volume +type Volume struct { + + // Auxiliary volume name at storage host level + AuxVolumeName string `json:"auxVolumeName,omitempty"` + + // true if volume is auxiliary otherwise false + Auxiliary *bool `json:"auxiliary,omitempty"` + + // Indicates if the volume is the server's boot volume. Only returned when querying a server's attached volumes + BootVolume *bool `json:"bootVolume,omitempty"` + + // Indicates if the volume is boot capable + Bootable *bool `json:"bootable,omitempty"` + + // Consistency Group Name if volume is a part of volume group + ConsistencyGroupName string `json:"consistencyGroupName,omitempty"` + + // Creation Date + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // Indicates if the volume should be deleted when the server terminates. Only returned when querying a server's attached volumes + DeleteOnTermination *bool `json:"deleteOnTermination,omitempty"` + + // Type of Disk + DiskType string `json:"diskType,omitempty"` + + // Freeze time of remote copy relationship + // Format: date-time + FreezeTime *strfmt.DateTime `json:"freezeTime,omitempty"` + + // Volume Group ID + GroupID string `json:"groupID,omitempty"` + + // Amount of iops assigned to the volume + IoThrottleRate string `json:"ioThrottleRate,omitempty"` + + // Last Update Date + // Required: true + // Format: date-time + LastUpdateDate *strfmt.DateTime `json:"lastUpdateDate"` + + // Master volume name at storage host level + MasterVolumeName string `json:"masterVolumeName,omitempty"` + + // Mirroring state for replication enabled volume + MirroringState string `json:"mirroringState,omitempty"` + + // Volume Name + // Required: true + Name *string `json:"name"` + + // true if volume does not exist on storage controller, as volume has been deleted by deleting its paired volume from the mapped replication site. + OutOfBandDeleted bool `json:"outOfBandDeleted,omitempty"` + + // indicates whether master/aux volume is playing the primary role + // Enum: ["master","aux"] + PrimaryRole string `json:"primaryRole,omitempty"` + + // List of PCloud PVM Instance attached to the volume + PvmInstanceIDs []string `json:"pvmInstanceIDs"` + + // True if volume is replication enabled otherwise false + ReplicationEnabled *bool `json:"replicationEnabled,omitempty"` + + // List of replication site for volume replication + ReplicationSites []string `json:"replicationSites,omitempty"` + + // Replication status of a volume + ReplicationStatus string `json:"replicationStatus,omitempty"` + + // CRN of the replication targert workspace; for a primary replicated volume this is the target workspace that owns the auxiliary data; for an auxiliary replicated volume this is the target workspace that owns the primary data. + ReplicationTargetCRN string `json:"replicationTargetCRN,omitempty"` + + // type of replication(metro,global) + ReplicationType string `json:"replicationType,omitempty"` + + // Indicates if the volume is shareable between VMs + Shareable *bool `json:"shareable,omitempty"` + + // Volume Size + // Required: true + Size *float64 `json:"size"` + + // Volume State + State string `json:"state,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // Volume ID + // Required: true + VolumeID *string `json:"volumeID"` + + // Volume pool, name of storage pool where the volume is located + VolumePool string `json:"volumePool,omitempty"` + + // Volume type, name of storage template used to create the volume + VolumeType string `json:"volumeType,omitempty"` + + // Volume world wide name + Wwn string `json:"wwn,omitempty"` +} + +// Validate validates this volume +func (m *Volume) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateFreezeTime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastUpdateDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePrimaryRole(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Volume) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Volume) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *Volume) validateFreezeTime(formats strfmt.Registry) error { + if swag.IsZero(m.FreezeTime) { // not required + return nil + } + + if err := validate.FormatOf("freezeTime", "body", "date-time", m.FreezeTime.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Volume) validateLastUpdateDate(formats strfmt.Registry) error { + + if err := validate.Required("lastUpdateDate", "body", m.LastUpdateDate); err != nil { + return err + } + + if err := validate.FormatOf("lastUpdateDate", "body", "date-time", m.LastUpdateDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Volume) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +var volumeTypePrimaryRolePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["master","aux"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + volumeTypePrimaryRolePropEnum = append(volumeTypePrimaryRolePropEnum, v) + } +} + +const ( + + // VolumePrimaryRoleMaster captures enum value "master" + VolumePrimaryRoleMaster string = "master" + + // VolumePrimaryRoleAux captures enum value "aux" + VolumePrimaryRoleAux string = "aux" +) + +// prop value enum +func (m *Volume) validatePrimaryRoleEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, volumeTypePrimaryRolePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Volume) validatePrimaryRole(formats strfmt.Registry) error { + if swag.IsZero(m.PrimaryRole) { // not required + return nil + } + + // value enum + if err := m.validatePrimaryRoleEnum("primaryRole", "body", m.PrimaryRole); err != nil { + return err + } + + return nil +} + +func (m *Volume) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + return nil +} + +func (m *Volume) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *Volume) validateVolumeID(formats strfmt.Registry) error { + + if err := validate.Required("volumeID", "body", m.VolumeID); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this volume based on the context it is used +func (m *Volume) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Volume) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *Volume) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Volume) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Volume) UnmarshalBinary(b []byte) error { + var res Volume + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_action.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_action.go new file mode 100644 index 000000000..dbd1a9ecd --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_action.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeAction volume action +// +// swagger:model VolumeAction +type VolumeAction struct { + + // Indicates if the volume should be replication enabled or not + ReplicationEnabled *bool `json:"replicationEnabled,omitempty"` + + // Target storage tier; used to change a volume's storage tier + TargetStorageTier *string `json:"targetStorageTier,omitempty"` +} + +// Validate validates this volume action +func (m *VolumeAction) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this volume action based on context it is used +func (m *VolumeAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeAction) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeAction) UnmarshalBinary(b []byte) error { + var res VolumeAction + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group.go new file mode 100644 index 000000000..3d269d9da --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group.go @@ -0,0 +1,171 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroup volume group +// +// swagger:model VolumeGroup +type VolumeGroup struct { + + // Indicates whether the volume group is for auxiliary volumes or master volumes + Auxiliary *bool `json:"auxiliary,omitempty"` + + // The name of consistencyGroup at storage host level + ConsistencyGroupName string `json:"consistencyGroupName,omitempty"` + + // The ID of the volume group + // Required: true + ID *string `json:"id"` + + // The name of the volume group + // Required: true + Name *string `json:"name"` + + // Indicates the replication site of the volume group + ReplicationSites []string `json:"replicationSites"` + + // Replication status of volume group + ReplicationStatus string `json:"replicationStatus,omitempty"` + + // Status of the volume group + Status string `json:"status,omitempty"` + + // Status details of the volume group + StatusDescription *StatusDescription `json:"statusDescription,omitempty"` + + // Indicates the storage pool of the volume group + StoragePool string `json:"storagePool,omitempty"` +} + +// Validate validates this volume group +func (m *VolumeGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatusDescription(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroup) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *VolumeGroup) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VolumeGroup) validateStatusDescription(formats strfmt.Registry) error { + if swag.IsZero(m.StatusDescription) { // not required + return nil + } + + if m.StatusDescription != nil { + if err := m.StatusDescription.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("statusDescription") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("statusDescription") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this volume group based on the context it is used +func (m *VolumeGroup) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateStatusDescription(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroup) contextValidateStatusDescription(ctx context.Context, formats strfmt.Registry) error { + + if m.StatusDescription != nil { + + if swag.IsZero(m.StatusDescription) { // not required + return nil + } + + if err := m.StatusDescription.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("statusDescription") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("statusDescription") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroup) UnmarshalBinary(b []byte) error { + var res VolumeGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action.go new file mode 100644 index 000000000..c50950bce --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action.go @@ -0,0 +1,361 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeGroupAction Performs an action (start stop reset ) on a volume group(one at a time). +// +// MinProperties: 1 +// MaxProperties: 1 +// +// swagger:model VolumeGroupAction +type VolumeGroupAction struct { + + // reset + Reset *VolumeGroupActionReset `json:"reset,omitempty"` + + // start + Start *VolumeGroupActionStart `json:"start,omitempty"` + + // stop + Stop *VolumeGroupActionStop `json:"stop,omitempty"` + + // volume group action additional properties + VolumeGroupActionAdditionalProperties map[string]any `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (m *VolumeGroupAction) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + + // reset + Reset *VolumeGroupActionReset `json:"reset,omitempty"` + + // start + Start *VolumeGroupActionStart `json:"start,omitempty"` + + // stop + Stop *VolumeGroupActionStop `json:"stop,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv VolumeGroupAction + + rcv.Reset = stage1.Reset + rcv.Start = stage1.Start + rcv.Stop = stage1.Stop + *m = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "reset") + delete(stage2, "start") + delete(stage2, "stop") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]any) + for k, v := range stage2 { + var toadd any + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + m.VolumeGroupActionAdditionalProperties = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (m VolumeGroupAction) MarshalJSON() ([]byte, error) { + var stage1 struct { + + // reset + Reset *VolumeGroupActionReset `json:"reset,omitempty"` + + // start + Start *VolumeGroupActionStart `json:"start,omitempty"` + + // stop + Stop *VolumeGroupActionStop `json:"stop,omitempty"` + } + + stage1.Reset = m.Reset + stage1.Start = m.Start + stage1.Stop = m.Stop + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(m.VolumeGroupActionAdditionalProperties) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(m.VolumeGroupActionAdditionalProperties) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil +} + +// Validate validates this volume group action +func (m *VolumeGroupAction) Validate(formats strfmt.Registry) error { + var res []error + + // short circuits minProperties > 0 + if m == nil { + return errors.TooFewProperties("", "body", 1) + } + + props := make(map[string]json.RawMessage, 3+10) + j, err := swag.WriteJSON(m) + if err != nil { + return err + } + + if err = swag.ReadJSON(j, &props); err != nil { + return err + } + + nprops := len(props) + + // minProperties: 1 + if nprops < 1 { + return errors.TooFewProperties("", "body", 1) + } + + // maxProperties: 1 + if nprops > 1 { + return errors.TooManyProperties("", "body", 1) + } + + if err := m.validateReset(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStart(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStop(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupAction) validateReset(formats strfmt.Registry) error { + if swag.IsZero(m.Reset) { // not required + return nil + } + + if m.Reset != nil { + if err := m.Reset.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("reset") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("reset") + } + + return err + } + } + + return nil +} + +func (m *VolumeGroupAction) validateStart(formats strfmt.Registry) error { + if swag.IsZero(m.Start) { // not required + return nil + } + + if m.Start != nil { + if err := m.Start.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("start") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("start") + } + + return err + } + } + + return nil +} + +func (m *VolumeGroupAction) validateStop(formats strfmt.Registry) error { + if swag.IsZero(m.Stop) { // not required + return nil + } + + if m.Stop != nil { + if err := m.Stop.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("stop") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("stop") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this volume group action based on the context it is used +func (m *VolumeGroupAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateReset(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStart(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateStop(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupAction) contextValidateReset(ctx context.Context, formats strfmt.Registry) error { + + if m.Reset != nil { + + if swag.IsZero(m.Reset) { // not required + return nil + } + + if err := m.Reset.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("reset") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("reset") + } + + return err + } + } + + return nil +} + +func (m *VolumeGroupAction) contextValidateStart(ctx context.Context, formats strfmt.Registry) error { + + if m.Start != nil { + + if swag.IsZero(m.Start) { // not required + return nil + } + + if err := m.Start.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("start") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("start") + } + + return err + } + } + + return nil +} + +func (m *VolumeGroupAction) contextValidateStop(ctx context.Context, formats strfmt.Registry) error { + + if m.Stop != nil { + + if swag.IsZero(m.Stop) { // not required + return nil + } + + if err := m.Stop.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("stop") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("stop") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupAction) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupAction) UnmarshalBinary(b []byte) error { + var res VolumeGroupAction + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_reset.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_reset.go new file mode 100644 index 000000000..a073e4408 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_reset.go @@ -0,0 +1,104 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroupActionReset Performs reset action on the volume group to update its status value +// +// swagger:model VolumeGroupActionReset +type VolumeGroupActionReset struct { + + // New status to be set for a volume group + // Required: true + // Enum: ["available"] + Status *string `json:"status"` +} + +// Validate validates this volume group action reset +func (m *VolumeGroupActionReset) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var volumeGroupActionResetTypeStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["available"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + volumeGroupActionResetTypeStatusPropEnum = append(volumeGroupActionResetTypeStatusPropEnum, v) + } +} + +const ( + + // VolumeGroupActionResetStatusAvailable captures enum value "available" + VolumeGroupActionResetStatusAvailable string = "available" +) + +// prop value enum +func (m *VolumeGroupActionReset) validateStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, volumeGroupActionResetTypeStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *VolumeGroupActionReset) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + // value enum + if err := m.validateStatusEnum("status", "body", *m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volume group action reset based on context it is used +func (m *VolumeGroupActionReset) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupActionReset) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupActionReset) UnmarshalBinary(b []byte) error { + var res VolumeGroupActionReset + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_start.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_start.go new file mode 100644 index 000000000..3ee605093 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_start.go @@ -0,0 +1,107 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroupActionStart Performs start action on a volume group +// +// swagger:model VolumeGroupActionStart +type VolumeGroupActionStart struct { + + // Indicates the source of the action + // Required: true + // Enum: ["master","aux"] + Source *string `json:"source"` +} + +// Validate validates this volume group action start +func (m *VolumeGroupActionStart) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSource(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var volumeGroupActionStartTypeSourcePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["master","aux"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + volumeGroupActionStartTypeSourcePropEnum = append(volumeGroupActionStartTypeSourcePropEnum, v) + } +} + +const ( + + // VolumeGroupActionStartSourceMaster captures enum value "master" + VolumeGroupActionStartSourceMaster string = "master" + + // VolumeGroupActionStartSourceAux captures enum value "aux" + VolumeGroupActionStartSourceAux string = "aux" +) + +// prop value enum +func (m *VolumeGroupActionStart) validateSourceEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, volumeGroupActionStartTypeSourcePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *VolumeGroupActionStart) validateSource(formats strfmt.Registry) error { + + if err := validate.Required("source", "body", m.Source); err != nil { + return err + } + + // value enum + if err := m.validateSourceEnum("source", "body", *m.Source); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volume group action start based on context it is used +func (m *VolumeGroupActionStart) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupActionStart) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupActionStart) UnmarshalBinary(b []byte) error { + var res VolumeGroupActionStart + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_stop.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_stop.go new file mode 100644 index 000000000..ea950ea2a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_action_stop.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroupActionStop Performs stop action on a volume group +// +// swagger:model VolumeGroupActionStop +type VolumeGroupActionStop struct { + + // Indicates the access mode of aux volumes + // Required: true + Access *bool `json:"access"` +} + +// Validate validates this volume group action stop +func (m *VolumeGroupActionStop) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccess(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupActionStop) validateAccess(formats strfmt.Registry) error { + + if err := validate.Required("access", "body", m.Access); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volume group action stop based on context it is used +func (m *VolumeGroupActionStop) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupActionStop) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupActionStop) UnmarshalBinary(b []byte) error { + var res VolumeGroupActionStop + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_create.go new file mode 100644 index 000000000..aa77527b0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_create.go @@ -0,0 +1,102 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroupCreate volume group create +// +// swagger:model VolumeGroupCreate +type VolumeGroupCreate struct { + + // The name of consistencyGroup at storage controller level. This is required to onboard existing volume group on the target site for DR set up; name and consistencyGroupName are mutually exclusive. + ConsistencyGroupName string `json:"consistencyGroupName,omitempty"` + + // The name of the volume group. This field is required for creation of new volume group; name and consistencyGroupName are mutually exclusive. + // Max Length: 120 + // Pattern: ^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$ + Name string `json:"name,omitempty"` + + // Target CRN of the secondary workspace where the auxiliary data resides; optional; if specified, the auxiliary volumes for the primary volumes getting added to the new volume group will be automatically onboarded into the secondary workspace and added to the corresponding auxiliary consistency group. + TargetCRN string `json:"targetCRN,omitempty"` + + // List of volume IDs,members of VolumeGroup + // Required: true + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this volume group create +func (m *VolumeGroupCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeIDs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupCreate) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MaxLength("name", "body", m.Name, 120); err != nil { + return err + } + + if err := validate.Pattern("name", "body", m.Name, `^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$`); err != nil { + return err + } + + return nil +} + +func (m *VolumeGroupCreate) validateVolumeIDs(formats strfmt.Registry) error { + + if err := validate.Required("volumeIDs", "body", m.VolumeIDs); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volume group create based on context it is used +func (m *VolumeGroupCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupCreate) UnmarshalBinary(b []byte) error { + var res VolumeGroupCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_create_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_create_response.go new file mode 100644 index 000000000..90c2d0be5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_create_response.go @@ -0,0 +1,108 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroupCreateResponse volume group create response +// +// swagger:model VolumeGroupCreateResponse +type VolumeGroupCreateResponse struct { + + // The ID of the volume group + // Required: true + ID *string `json:"id"` + + // The name of the volume group + // Required: true + Name *string `json:"name"` + + // Status of the volume group + // Required: true + Status *string `json:"status"` + + // Status details of the volume group + StatusDetail string `json:"statusDetail,omitempty"` +} + +// Validate validates this volume group create response +func (m *VolumeGroupCreateResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupCreateResponse) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *VolumeGroupCreateResponse) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VolumeGroupCreateResponse) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volume group create response based on context it is used +func (m *VolumeGroupCreateResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupCreateResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupCreateResponse) UnmarshalBinary(b []byte) error { + var res VolumeGroupCreateResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_details.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_details.go new file mode 100644 index 000000000..e00004272 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_details.go @@ -0,0 +1,177 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroupDetails volume group details +// +// swagger:model VolumeGroupDetails +type VolumeGroupDetails struct { + + // Indicates whether the volume group is for auxiliary volumes or master volumes + Auxiliary *bool `json:"auxiliary,omitempty"` + + // The name of volume group at storage host level + ConsistencyGroupName string `json:"consistencyGroupName,omitempty"` + + // The ID of the volume group + // Required: true + ID *string `json:"id"` + + // The name of the volume group + // Required: true + Name *string `json:"name"` + + // Indicates the replication site of the volume group + ReplicationSites []string `json:"replicationSites"` + + // Replication status of volume group + ReplicationStatus string `json:"replicationStatus,omitempty"` + + // CRN of the replication targert workspace; for a primary replicated volume this is the target workspace that owns the auxiliary data; for an auxiliary replicated volume this is the target workspace that owns the primary data. + ReplicationTargetCRN string `json:"replicationTargetCRN,omitempty"` + + // Status of the volume group + Status string `json:"status,omitempty"` + + // Status details of the volume group + StatusDescription *StatusDescription `json:"statusDescription,omitempty"` + + // Indicates the storage pool of the volume group + StoragePool string `json:"storagePool,omitempty"` + + // List of volume IDs,member of VolumeGroup + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this volume group details +func (m *VolumeGroupDetails) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatusDescription(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupDetails) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *VolumeGroupDetails) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VolumeGroupDetails) validateStatusDescription(formats strfmt.Registry) error { + if swag.IsZero(m.StatusDescription) { // not required + return nil + } + + if m.StatusDescription != nil { + if err := m.StatusDescription.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("statusDescription") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("statusDescription") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this volume group details based on the context it is used +func (m *VolumeGroupDetails) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateStatusDescription(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupDetails) contextValidateStatusDescription(ctx context.Context, formats strfmt.Registry) error { + + if m.StatusDescription != nil { + + if swag.IsZero(m.StatusDescription) { // not required + return nil + } + + if err := m.StatusDescription.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("statusDescription") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("statusDescription") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupDetails) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupDetails) UnmarshalBinary(b []byte) error { + var res VolumeGroupDetails + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_remote_copy_relationships.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_remote_copy_relationships.go new file mode 100644 index 000000000..7f1bb4297 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_remote_copy_relationships.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeGroupRemoteCopyRelationships volume group remote copy relationships +// +// swagger:model VolumeGroupRemoteCopyRelationships +type VolumeGroupRemoteCopyRelationships struct { + + // The ID of the volume group + ID string `json:"id,omitempty"` + + // List of remote copy relationships + RemoteCopyRelationships []*RemoteCopyRelationship `json:"remoteCopyRelationships"` +} + +// Validate validates this volume group remote copy relationships +func (m *VolumeGroupRemoteCopyRelationships) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateRemoteCopyRelationships(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupRemoteCopyRelationships) validateRemoteCopyRelationships(formats strfmt.Registry) error { + if swag.IsZero(m.RemoteCopyRelationships) { // not required + return nil + } + + for i := 0; i < len(m.RemoteCopyRelationships); i++ { + if swag.IsZero(m.RemoteCopyRelationships[i]) { // not required + continue + } + + if m.RemoteCopyRelationships[i] != nil { + if err := m.RemoteCopyRelationships[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("remoteCopyRelationships" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("remoteCopyRelationships" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this volume group remote copy relationships based on the context it is used +func (m *VolumeGroupRemoteCopyRelationships) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateRemoteCopyRelationships(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupRemoteCopyRelationships) contextValidateRemoteCopyRelationships(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.RemoteCopyRelationships); i++ { + + if m.RemoteCopyRelationships[i] != nil { + + if swag.IsZero(m.RemoteCopyRelationships[i]) { // not required + return nil + } + + if err := m.RemoteCopyRelationships[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("remoteCopyRelationships" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("remoteCopyRelationships" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupRemoteCopyRelationships) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupRemoteCopyRelationships) UnmarshalBinary(b []byte) error { + var res VolumeGroupRemoteCopyRelationships + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_storage_details.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_storage_details.go new file mode 100644 index 000000000..e3d8b6aed --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_storage_details.go @@ -0,0 +1,95 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroupStorageDetails volume group storage details +// +// swagger:model VolumeGroupStorageDetails +type VolumeGroupStorageDetails struct { + + // The name of consistency group at storage controller level + // Required: true + ConsistencyGroupName *string `json:"consistencyGroupName"` + + // Indicates the minimum period in seconds between multiple cycles + CyclePeriodSeconds int64 `json:"cyclePeriodSeconds,omitempty"` + + // Indicates the type of cycling mode used + CyclingMode string `json:"cyclingMode,omitempty"` + + // Number of volumes in volume group + NumOfvols int64 `json:"numOfvols,omitempty"` + + // Indicates whether master/aux volume is playing the primary role + PrimaryRole string `json:"primaryRole,omitempty"` + + // List of remote-copy relationship names in a volume group + RemoteCopyRelationshipNames []string `json:"remoteCopyRelationshipNames"` + + // Type of replication(metro,global) + ReplicationType string `json:"replicationType,omitempty"` + + // Indicates the relationship state + State string `json:"state,omitempty"` + + // Indicates whether the relationship is synchronized + Sync string `json:"sync,omitempty"` +} + +// Validate validates this volume group storage details +func (m *VolumeGroupStorageDetails) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateConsistencyGroupName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupStorageDetails) validateConsistencyGroupName(formats strfmt.Registry) error { + + if err := validate.Required("consistencyGroupName", "body", m.ConsistencyGroupName); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volume group storage details based on context it is used +func (m *VolumeGroupStorageDetails) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupStorageDetails) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupStorageDetails) UnmarshalBinary(b []byte) error { + var res VolumeGroupStorageDetails + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_update.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_update.go new file mode 100644 index 000000000..e2e484419 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_group_update.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeGroupUpdate volume group update +// +// swagger:model VolumeGroupUpdate +type VolumeGroupUpdate struct { + + // List of volume IDs to add to the volume-group + AddVolumes []string `json:"addVolumes"` + + // List of volume IDs to remove from the volume-group + RemoveVolumes []string `json:"removeVolumes"` + + // Target CRN of the secondary workspace where the auxiliary data resides; optional; if specified, the primary volume's corresponding auxiliary volume will be automatically added or removed from the auxiliary consistency group. + TargetCRN string `json:"targetCRN,omitempty"` +} + +// Validate validates this volume group update +func (m *VolumeGroupUpdate) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this volume group update based on context it is used +func (m *VolumeGroupUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupUpdate) UnmarshalBinary(b []byte) error { + var res VolumeGroupUpdate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_groups.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_groups.go new file mode 100644 index 000000000..0b3597932 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_groups.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroups volume groups +// +// swagger:model VolumeGroups +type VolumeGroups struct { + + // The list of volume groups + // Required: true + VolumeGroups []*VolumeGroup `json:"volumeGroups"` +} + +// Validate validates this volume groups +func (m *VolumeGroups) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeGroups(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroups) validateVolumeGroups(formats strfmt.Registry) error { + + if err := validate.Required("volumeGroups", "body", m.VolumeGroups); err != nil { + return err + } + + for i := 0; i < len(m.VolumeGroups); i++ { + if swag.IsZero(m.VolumeGroups[i]) { // not required + continue + } + + if m.VolumeGroups[i] != nil { + if err := m.VolumeGroups[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumeGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumeGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this volume groups based on the context it is used +func (m *VolumeGroups) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumeGroups(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroups) contextValidateVolumeGroups(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VolumeGroups); i++ { + + if m.VolumeGroups[i] != nil { + + if swag.IsZero(m.VolumeGroups[i]) { // not required + return nil + } + + if err := m.VolumeGroups[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumeGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumeGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroups) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroups) UnmarshalBinary(b []byte) error { + var res VolumeGroups + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_groups_details.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_groups_details.go new file mode 100644 index 000000000..7cac83194 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_groups_details.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeGroupsDetails volume groups details +// +// swagger:model VolumeGroupsDetails +type VolumeGroupsDetails struct { + + // The list of volume groups with details + // Required: true + VolumeGroups []*VolumeGroupDetails `json:"volumeGroups"` +} + +// Validate validates this volume groups details +func (m *VolumeGroupsDetails) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeGroups(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupsDetails) validateVolumeGroups(formats strfmt.Registry) error { + + if err := validate.Required("volumeGroups", "body", m.VolumeGroups); err != nil { + return err + } + + for i := 0; i < len(m.VolumeGroups); i++ { + if swag.IsZero(m.VolumeGroups[i]) { // not required + continue + } + + if m.VolumeGroups[i] != nil { + if err := m.VolumeGroups[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumeGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumeGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this volume groups details based on the context it is used +func (m *VolumeGroupsDetails) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumeGroups(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeGroupsDetails) contextValidateVolumeGroups(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VolumeGroups); i++ { + + if m.VolumeGroups[i] != nil { + + if swag.IsZero(m.VolumeGroups[i]) { // not required + return nil + } + + if err := m.VolumeGroups[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumeGroups" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumeGroups" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeGroupsDetails) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeGroupsDetails) UnmarshalBinary(b []byte) error { + var res VolumeGroupsDetails + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_info.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_info.go new file mode 100644 index 000000000..23bd09447 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_info.go @@ -0,0 +1,119 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeInfo volume info +// +// swagger:model VolumeInfo +type VolumeInfo struct { + + // crn + Crn CRN `json:"crn,omitempty"` + + // Name of the volume + Name string `json:"name,omitempty"` + + // ID of the volume + VolumeID string `json:"volumeID,omitempty"` +} + +// Validate validates this volume info +func (m *VolumeInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeInfo) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +// ContextValidate validate this volume info based on the context it is used +func (m *VolumeInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeInfo) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeInfo) UnmarshalBinary(b []byte) error { + var res VolumeInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding.go new file mode 100644 index 000000000..2f120b269 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding.go @@ -0,0 +1,332 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeOnboarding volume onboarding +// +// swagger:model VolumeOnboarding +type VolumeOnboarding struct { + VolumeOnboardingCommon + + // Indicates the create-time of volume onboarding operation + // Format: date-time + CreationTimestamp strfmt.DateTime `json:"creationTimestamp,omitempty"` + + // Indicates the progress of volume onboarding operation + Progress float64 `json:"progress,omitempty"` + + // results + Results *VolumeOnboardingResults `json:"results,omitempty"` +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *VolumeOnboarding) UnmarshalJSON(raw []byte) error { + // AO0 + var aO0 VolumeOnboardingCommon + if err := swag.ReadJSON(raw, &aO0); err != nil { + return err + } + m.VolumeOnboardingCommon = aO0 + + // now for regular properties + var propsVolumeOnboarding struct { + CreationTimestamp strfmt.DateTime `json:"creationTimestamp,omitempty"` + + Progress float64 `json:"progress,omitempty"` + + Results *VolumeOnboardingResults `json:"results,omitempty"` + } + if err := swag.ReadJSON(raw, &propsVolumeOnboarding); err != nil { + return err + } + m.CreationTimestamp = propsVolumeOnboarding.CreationTimestamp + + m.Progress = propsVolumeOnboarding.Progress + + m.Results = propsVolumeOnboarding.Results + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m VolumeOnboarding) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 1) + + aO0, err := swag.WriteJSON(m.VolumeOnboardingCommon) + if err != nil { + return nil, err + } + _parts = append(_parts, aO0) + + // now for regular properties + var propsVolumeOnboarding struct { + CreationTimestamp strfmt.DateTime `json:"creationTimestamp,omitempty"` + + Progress float64 `json:"progress,omitempty"` + + Results *VolumeOnboardingResults `json:"results,omitempty"` + } + propsVolumeOnboarding.CreationTimestamp = m.CreationTimestamp + + propsVolumeOnboarding.Progress = m.Progress + + propsVolumeOnboarding.Results = m.Results + + jsonDataPropsVolumeOnboarding, errVolumeOnboarding := swag.WriteJSON(propsVolumeOnboarding) + if errVolumeOnboarding != nil { + return nil, errVolumeOnboarding + } + _parts = append(_parts, jsonDataPropsVolumeOnboarding) + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this volume onboarding +func (m *VolumeOnboarding) Validate(formats strfmt.Registry) error { + var res []error + + // validation for a type composition with VolumeOnboardingCommon + if err := m.VolumeOnboardingCommon.Validate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationTimestamp(formats); err != nil { + res = append(res, err) + } + + if err := m.validateResults(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboarding) validateCreationTimestamp(formats strfmt.Registry) error { + if swag.IsZero(m.CreationTimestamp) { // not required + return nil + } + + if err := validate.FormatOf("creationTimestamp", "body", "date-time", m.CreationTimestamp.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VolumeOnboarding) validateResults(formats strfmt.Registry) error { + if swag.IsZero(m.Results) { // not required + return nil + } + + if m.Results != nil { + if err := m.Results.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("results") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("results") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this volume onboarding based on the context it is used +func (m *VolumeOnboarding) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + // validation for a type composition with VolumeOnboardingCommon + if err := m.VolumeOnboardingCommon.ContextValidate(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateResults(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboarding) contextValidateResults(ctx context.Context, formats strfmt.Registry) error { + + if m.Results != nil { + + if swag.IsZero(m.Results) { // not required + return nil + } + + if err := m.Results.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("results") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("results") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeOnboarding) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeOnboarding) UnmarshalBinary(b []byte) error { + var res VolumeOnboarding + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} + +// VolumeOnboardingResults volume onboarding results +// +// swagger:model VolumeOnboardingResults +type VolumeOnboardingResults struct { + + // List of volumes which are onboarded successfully + OnboardedVolumes []string `json:"onboardedVolumes"` + + // volume onboarding failures + VolumeOnboardingFailures []*VolumeOnboardingFailure `json:"volumeOnboardingFailures"` +} + +// Validate validates this volume onboarding results +func (m *VolumeOnboardingResults) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeOnboardingFailures(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboardingResults) validateVolumeOnboardingFailures(formats strfmt.Registry) error { + if swag.IsZero(m.VolumeOnboardingFailures) { // not required + return nil + } + + for i := 0; i < len(m.VolumeOnboardingFailures); i++ { + if swag.IsZero(m.VolumeOnboardingFailures[i]) { // not required + continue + } + + if m.VolumeOnboardingFailures[i] != nil { + if err := m.VolumeOnboardingFailures[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("results" + "." + "volumeOnboardingFailures" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("results" + "." + "volumeOnboardingFailures" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this volume onboarding results based on the context it is used +func (m *VolumeOnboardingResults) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumeOnboardingFailures(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboardingResults) contextValidateVolumeOnboardingFailures(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VolumeOnboardingFailures); i++ { + + if m.VolumeOnboardingFailures[i] != nil { + + if swag.IsZero(m.VolumeOnboardingFailures[i]) { // not required + return nil + } + + if err := m.VolumeOnboardingFailures[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("results" + "." + "volumeOnboardingFailures" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("results" + "." + "volumeOnboardingFailures" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeOnboardingResults) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeOnboardingResults) UnmarshalBinary(b []byte) error { + var res VolumeOnboardingResults + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_common.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_common.go new file mode 100644 index 000000000..b1ed75297 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_common.go @@ -0,0 +1,80 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeOnboardingCommon volume onboarding common +// +// swagger:model VolumeOnboardingCommon +type VolumeOnboardingCommon struct { + + // Description of the volume onboarding operation + Description string `json:"description,omitempty"` + + // Indicates the volume onboarding operation id + // Required: true + ID *string `json:"id"` + + // List of volumes requested to be onboarded + InputVolumes []string `json:"inputVolumes"` + + // Indicates the status of volume onboarding operation + Status string `json:"status,omitempty"` +} + +// Validate validates this volume onboarding common +func (m *VolumeOnboardingCommon) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboardingCommon) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volume onboarding common based on context it is used +func (m *VolumeOnboardingCommon) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeOnboardingCommon) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeOnboardingCommon) UnmarshalBinary(b []byte) error { + var res VolumeOnboardingCommon + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_create.go new file mode 100644 index 000000000..0760c269d --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_create.go @@ -0,0 +1,186 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeOnboardingCreate volume onboarding create +// +// swagger:model VolumeOnboardingCreate +type VolumeOnboardingCreate struct { + + // volumes + // Required: true + Volumes []*AuxiliaryVolumesForOnboarding `json:"Volumes"` + + // Description of the volume onboarding operation + Description string `json:"description,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this volume onboarding create +func (m *VolumeOnboardingCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumes(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboardingCreate) validateVolumes(formats strfmt.Registry) error { + + if err := validate.Required("Volumes", "body", m.Volumes); err != nil { + return err + } + + for i := 0; i < len(m.Volumes); i++ { + if swag.IsZero(m.Volumes[i]) { // not required + continue + } + + if m.Volumes[i] != nil { + if err := m.Volumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Volumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Volumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *VolumeOnboardingCreate) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this volume onboarding create based on the context it is used +func (m *VolumeOnboardingCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboardingCreate) contextValidateVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Volumes); i++ { + + if m.Volumes[i] != nil { + + if swag.IsZero(m.Volumes[i]) { // not required + return nil + } + + if err := m.Volumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Volumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Volumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *VolumeOnboardingCreate) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeOnboardingCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeOnboardingCreate) UnmarshalBinary(b []byte) error { + var res VolumeOnboardingCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_create_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_create_response.go new file mode 100644 index 000000000..28aba5636 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_create_response.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeOnboardingCreateResponse volume onboarding create response +// +// swagger:model VolumeOnboardingCreateResponse +type VolumeOnboardingCreateResponse struct { + + // Description of the volume onboarding operation + Description string `json:"description,omitempty"` + + // Indicates the volume onboarding operation id + ID string `json:"id,omitempty"` +} + +// Validate validates this volume onboarding create response +func (m *VolumeOnboardingCreateResponse) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this volume onboarding create response based on context it is used +func (m *VolumeOnboardingCreateResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeOnboardingCreateResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeOnboardingCreateResponse) UnmarshalBinary(b []byte) error { + var res VolumeOnboardingCreateResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_failure.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_failure.go new file mode 100644 index 000000000..21017182b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboarding_failure.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeOnboardingFailure volume onboarding failure +// +// swagger:model VolumeOnboardingFailure +type VolumeOnboardingFailure struct { + + // The failure reason for the volumes which have failed to be onboarded + FailureMessage string `json:"failureMessage,omitempty"` + + // List of volumes which have failed to be onboarded + Volumes []string `json:"volumes"` +} + +// Validate validates this volume onboarding failure +func (m *VolumeOnboardingFailure) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this volume onboarding failure based on context it is used +func (m *VolumeOnboardingFailure) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeOnboardingFailure) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeOnboardingFailure) UnmarshalBinary(b []byte) error { + var res VolumeOnboardingFailure + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboardings.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboardings.go new file mode 100644 index 000000000..224ac8f9a --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_onboardings.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeOnboardings volume onboardings +// +// swagger:model VolumeOnboardings +type VolumeOnboardings struct { + + // The list of volume onboardings + // Required: true + Onboardings []*VolumeOnboardingCommon `json:"onboardings"` +} + +// Validate validates this volume onboardings +func (m *VolumeOnboardings) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateOnboardings(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboardings) validateOnboardings(formats strfmt.Registry) error { + + if err := validate.Required("onboardings", "body", m.Onboardings); err != nil { + return err + } + + for i := 0; i < len(m.Onboardings); i++ { + if swag.IsZero(m.Onboardings[i]) { // not required + continue + } + + if m.Onboardings[i] != nil { + if err := m.Onboardings[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("onboardings" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("onboardings" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this volume onboardings based on the context it is used +func (m *VolumeOnboardings) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateOnboardings(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeOnboardings) contextValidateOnboardings(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Onboardings); i++ { + + if m.Onboardings[i] != nil { + + if swag.IsZero(m.Onboardings[i]) { // not required + return nil + } + + if err := m.Onboardings[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("onboardings" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("onboardings" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeOnboardings) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeOnboardings) UnmarshalBinary(b []byte) error { + var res VolumeOnboardings + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_reference.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_reference.go new file mode 100644 index 000000000..9e01ed27b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_reference.go @@ -0,0 +1,486 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumeReference volume reference +// +// swagger:model VolumeReference +type VolumeReference struct { + + // Auxiliary volume name at storage host level + AuxVolumeName string `json:"auxVolumeName,omitempty"` + + // true if volume is auxiliary otherwise false + Auxiliary *bool `json:"auxiliary,omitempty"` + + // Indicates if the volume is the server's boot volume. Only returned when querying a server's attached volumes + BootVolume *bool `json:"bootVolume,omitempty"` + + // Indicates if the volume is boot capable + // Required: true + Bootable *bool `json:"bootable"` + + // Consistency Group Name if volume is a part of volume group + ConsistencyGroupName string `json:"consistencyGroupName,omitempty"` + + // Creation Date + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // crn + Crn CRN `json:"crn,omitempty"` + + // Indicates if the volume should be deleted when the server terminates. Only returned when querying a server's attached volumes + DeleteOnTermination *bool `json:"deleteOnTermination,omitempty"` + + // Type of Disk + // Required: true + DiskType *string `json:"diskType"` + + // Freeze time of remote copy relationship + // Format: date-time + FreezeTime *strfmt.DateTime `json:"freezeTime,omitempty"` + + // Volume Group ID + GroupID string `json:"groupID,omitempty"` + + // Link to Volume resource + // Required: true + Href *string `json:"href"` + + // Amount of iops assigned to the volume + IoThrottleRate string `json:"ioThrottleRate,omitempty"` + + // Last Update Date + // Required: true + // Format: date-time + LastUpdateDate *strfmt.DateTime `json:"lastUpdateDate"` + + // Master volume name at storage host level + MasterVolumeName string `json:"masterVolumeName,omitempty"` + + // mirroring state for replication enabled volume + MirroringState string `json:"mirroringState,omitempty"` + + // Volume Name + // Required: true + Name *string `json:"name"` + + // true if volume does not exist on storage controller, as volume has been deleted by deleting its paired volume from the mapped replication site. + OutOfBandDeleted bool `json:"outOfBandDeleted,omitempty"` + + // indicates whether master/aux volume is playing the primary role + // Enum: ["master","aux"] + PrimaryRole string `json:"primaryRole,omitempty"` + + // List of PCloud PVM Instance attached to the volume + PvmInstanceIDs []string `json:"pvmInstanceIDs"` + + // True if volume is replication enabled otherwise false + ReplicationEnabled *bool `json:"replicationEnabled,omitempty"` + + // List of replication site for volume replication + ReplicationSites []string `json:"replicationSites,omitempty"` + + // shows the replication status of a volume + ReplicationStatus string `json:"replicationStatus,omitempty"` + + // CRN of the replication targert workspace; for a primary replicated volume this is the target workspace that owns the auxiliary data; for an auxiliary replicated volume this is the target workspace that owns the primary data. + ReplicationTargetCRN string `json:"replicationTargetCRN,omitempty"` + + // type of replication(metro, global)s + ReplicationType string `json:"replicationType,omitempty"` + + // Indicates if the volume is shareable between VMs + // Required: true + Shareable *bool `json:"shareable"` + + // Volume Size + // Required: true + Size *float64 `json:"size"` + + // Volume State + // Required: true + State *string `json:"state"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // Volume ID + // Required: true + VolumeID *string `json:"volumeID"` + + // Volume pool, name of storage pool where the volume is located + VolumePool string `json:"volumePool,omitempty"` + + // Volume type, name of storage template used to create the volume + VolumeType string `json:"volumeType,omitempty"` + + // Volume world wide name + // Required: true + Wwn *string `json:"wwn"` +} + +// Validate validates this volume reference +func (m *VolumeReference) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateBootable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDiskType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateFreezeTime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHref(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastUpdateDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePrimaryRole(formats); err != nil { + res = append(res, err) + } + + if err := m.validateShareable(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSize(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateWwn(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeReference) validateBootable(formats strfmt.Registry) error { + + if err := validate.Required("bootable", "body", m.Bootable); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateCrn(formats strfmt.Registry) error { + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *VolumeReference) validateDiskType(formats strfmt.Registry) error { + + if err := validate.Required("diskType", "body", m.DiskType); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateFreezeTime(formats strfmt.Registry) error { + if swag.IsZero(m.FreezeTime) { // not required + return nil + } + + if err := validate.FormatOf("freezeTime", "body", "date-time", m.FreezeTime.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateHref(formats strfmt.Registry) error { + + if err := validate.Required("href", "body", m.Href); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateLastUpdateDate(formats strfmt.Registry) error { + + if err := validate.Required("lastUpdateDate", "body", m.LastUpdateDate); err != nil { + return err + } + + if err := validate.FormatOf("lastUpdateDate", "body", "date-time", m.LastUpdateDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +var volumeReferenceTypePrimaryRolePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["master","aux"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + volumeReferenceTypePrimaryRolePropEnum = append(volumeReferenceTypePrimaryRolePropEnum, v) + } +} + +const ( + + // VolumeReferencePrimaryRoleMaster captures enum value "master" + VolumeReferencePrimaryRoleMaster string = "master" + + // VolumeReferencePrimaryRoleAux captures enum value "aux" + VolumeReferencePrimaryRoleAux string = "aux" +) + +// prop value enum +func (m *VolumeReference) validatePrimaryRoleEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, volumeReferenceTypePrimaryRolePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *VolumeReference) validatePrimaryRole(formats strfmt.Registry) error { + if swag.IsZero(m.PrimaryRole) { // not required + return nil + } + + // value enum + if err := m.validatePrimaryRoleEnum("primaryRole", "body", m.PrimaryRole); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateShareable(formats strfmt.Registry) error { + + if err := validate.Required("shareable", "body", m.Shareable); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateSize(formats strfmt.Registry) error { + + if err := validate.Required("size", "body", m.Size); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *VolumeReference) validateVolumeID(formats strfmt.Registry) error { + + if err := validate.Required("volumeID", "body", m.VolumeID); err != nil { + return err + } + + return nil +} + +func (m *VolumeReference) validateWwn(formats strfmt.Registry) error { + + if err := validate.Required("wwn", "body", m.Wwn); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this volume reference based on the context it is used +func (m *VolumeReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCrn(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeReference) contextValidateCrn(ctx context.Context, formats strfmt.Registry) error { + + if swag.IsZero(m.Crn) { // not required + return nil + } + + if err := m.Crn.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("crn") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("crn") + } + + return err + } + + return nil +} + +func (m *VolumeReference) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeReference) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeReference) UnmarshalBinary(b []byte) error { + var res VolumeReference + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_remote_copy_relationship.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_remote_copy_relationship.go new file mode 100644 index 000000000..8e08e525e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_remote_copy_relationship.go @@ -0,0 +1,128 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeRemoteCopyRelationship volume remote copy relationship +// +// swagger:model VolumeRemoteCopyRelationship +type VolumeRemoteCopyRelationship struct { + RemoteCopyRelationship + + // Indicates the minimum period in seconds between multiple cycles + CyclePeriodSeconds int64 `json:"cyclePeriodSeconds,omitempty"` + + // Volume ID + ID string `json:"id,omitempty"` +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *VolumeRemoteCopyRelationship) UnmarshalJSON(raw []byte) error { + // AO0 + var aO0 RemoteCopyRelationship + if err := swag.ReadJSON(raw, &aO0); err != nil { + return err + } + m.RemoteCopyRelationship = aO0 + + // now for regular properties + var propsVolumeRemoteCopyRelationship struct { + CyclePeriodSeconds int64 `json:"cyclePeriodSeconds,omitempty"` + + ID string `json:"id,omitempty"` + } + if err := swag.ReadJSON(raw, &propsVolumeRemoteCopyRelationship); err != nil { + return err + } + m.CyclePeriodSeconds = propsVolumeRemoteCopyRelationship.CyclePeriodSeconds + + m.ID = propsVolumeRemoteCopyRelationship.ID + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m VolumeRemoteCopyRelationship) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 1) + + aO0, err := swag.WriteJSON(m.RemoteCopyRelationship) + if err != nil { + return nil, err + } + _parts = append(_parts, aO0) + + // now for regular properties + var propsVolumeRemoteCopyRelationship struct { + CyclePeriodSeconds int64 `json:"cyclePeriodSeconds,omitempty"` + + ID string `json:"id,omitempty"` + } + propsVolumeRemoteCopyRelationship.CyclePeriodSeconds = m.CyclePeriodSeconds + + propsVolumeRemoteCopyRelationship.ID = m.ID + + jsonDataPropsVolumeRemoteCopyRelationship, errVolumeRemoteCopyRelationship := swag.WriteJSON(propsVolumeRemoteCopyRelationship) + if errVolumeRemoteCopyRelationship != nil { + return nil, errVolumeRemoteCopyRelationship + } + _parts = append(_parts, jsonDataPropsVolumeRemoteCopyRelationship) + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this volume remote copy relationship +func (m *VolumeRemoteCopyRelationship) Validate(formats strfmt.Registry) error { + var res []error + + // validation for a type composition with RemoteCopyRelationship + if err := m.RemoteCopyRelationship.Validate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this volume remote copy relationship based on the context it is used +func (m *VolumeRemoteCopyRelationship) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + // validation for a type composition with RemoteCopyRelationship + if err := m.RemoteCopyRelationship.ContextValidate(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeRemoteCopyRelationship) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeRemoteCopyRelationship) UnmarshalBinary(b []byte) error { + var res VolumeRemoteCopyRelationship + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_snapshot_list.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_snapshot_list.go new file mode 100644 index 000000000..35899a3b4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volume_snapshot_list.go @@ -0,0 +1,130 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumeSnapshotList volume snapshot list +// +// swagger:model VolumeSnapshotList +type VolumeSnapshotList struct { + + // The list of volume snapshots. + VolumeSnapshots []*SnapshotV1 `json:"volumeSnapshots"` +} + +// Validate validates this volume snapshot list +func (m *VolumeSnapshotList) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeSnapshots(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeSnapshotList) validateVolumeSnapshots(formats strfmt.Registry) error { + if swag.IsZero(m.VolumeSnapshots) { // not required + return nil + } + + for i := 0; i < len(m.VolumeSnapshots); i++ { + if swag.IsZero(m.VolumeSnapshots[i]) { // not required + continue + } + + if m.VolumeSnapshots[i] != nil { + if err := m.VolumeSnapshots[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumeSnapshots" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumeSnapshots" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this volume snapshot list based on the context it is used +func (m *VolumeSnapshotList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumeSnapshots(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumeSnapshotList) contextValidateVolumeSnapshots(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VolumeSnapshots); i++ { + + if m.VolumeSnapshots[i] != nil { + + if swag.IsZero(m.VolumeSnapshots[i]) { // not required + return nil + } + + if err := m.VolumeSnapshots[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumeSnapshots" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumeSnapshots" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumeSnapshotList) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumeSnapshotList) UnmarshalBinary(b []byte) error { + var res VolumeSnapshotList + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes.go new file mode 100644 index 000000000..34664ad3f --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Volumes volumes +// +// swagger:model Volumes +type Volumes struct { + + // Volumes + // Required: true + Volumes []*VolumeReference `json:"volumes"` +} + +// Validate validates this volumes +func (m *Volumes) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumes(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Volumes) validateVolumes(formats strfmt.Registry) error { + + if err := validate.Required("volumes", "body", m.Volumes); err != nil { + return err + } + + for i := 0; i < len(m.Volumes); i++ { + if swag.IsZero(m.Volumes[i]) { // not required + continue + } + + if m.Volumes[i] != nil { + if err := m.Volumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this volumes based on the context it is used +func (m *Volumes) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Volumes) contextValidateVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Volumes); i++ { + + if m.Volumes[i] != nil { + + if swag.IsZero(m.Volumes[i]) { // not required + return nil + } + + if err := m.Volumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Volumes) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Volumes) UnmarshalBinary(b []byte) error { + var res Volumes + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_attach.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_attach.go new file mode 100644 index 000000000..31a68b114 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_attach.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesAttach volumes attach +// +// swagger:model volumesAttach +type VolumesAttach struct { + + // Primary Boot Volume Id + BootVolumeID string `json:"bootVolumeID,omitempty"` + + // List of volumes to be attached to a PVM instance + // Required: true + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this volumes attach +func (m *VolumesAttach) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeIDs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesAttach) validateVolumeIDs(formats strfmt.Registry) error { + + if err := validate.Required("volumeIDs", "body", m.VolumeIDs); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volumes attach based on context it is used +func (m *VolumesAttach) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesAttach) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesAttach) UnmarshalBinary(b []byte) error { + var res VolumesAttach + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_attachment_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_attachment_response.go new file mode 100644 index 000000000..a8d453d27 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_attachment_response.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesAttachmentResponse volumes attachment response +// +// swagger:model VolumesAttachmentResponse +type VolumesAttachmentResponse struct { + + // status summary for volume attachment to a PVM Instance + // Required: true + Summary *string `json:"summary"` +} + +// Validate validates this volumes attachment response +func (m *VolumesAttachmentResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSummary(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesAttachmentResponse) validateSummary(formats strfmt.Registry) error { + + if err := validate.Required("summary", "body", m.Summary); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volumes attachment response based on context it is used +func (m *VolumesAttachmentResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesAttachmentResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesAttachmentResponse) UnmarshalBinary(b []byte) error { + var res VolumesAttachmentResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone.go new file mode 100644 index 000000000..38cd8e679 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone.go @@ -0,0 +1,126 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesClone volumes clone +// +// swagger:model VolumesClone +type VolumesClone struct { + + // Current action performed for the volumes-clone request + Action string `json:"action,omitempty"` + + // Creation Date + // Format: date-time + CreationDate strfmt.DateTime `json:"creationDate,omitempty"` + + // Failure reason for a failed volumes-clone request + FailureMessage string `json:"failureMessage,omitempty"` + + // Last Update Date + // Format: date-time + LastUpdateDate strfmt.DateTime `json:"lastUpdateDate,omitempty"` + + // Name assigned to a volumes-clone request + Name string `json:"name,omitempty"` + + // The percent completion for the current action + // Required: true + PercentComplete *int64 `json:"percentComplete"` + + // Current status of the volumes-clone request + Status string `json:"status,omitempty"` + + // ID assigned to a volumes-clone request + VolumesCloneID string `json:"volumesCloneID,omitempty"` +} + +// Validate validates this volumes clone +func (m *VolumesClone) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastUpdateDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePercentComplete(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesClone) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VolumesClone) validateLastUpdateDate(formats strfmt.Registry) error { + if swag.IsZero(m.LastUpdateDate) { // not required + return nil + } + + if err := validate.FormatOf("lastUpdateDate", "body", "date-time", m.LastUpdateDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VolumesClone) validatePercentComplete(formats strfmt.Registry) error { + + if err := validate.Required("percentComplete", "body", m.PercentComplete); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volumes clone based on context it is used +func (m *VolumesClone) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesClone) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesClone) UnmarshalBinary(b []byte) error { + var res VolumesClone + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_async_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_async_request.go new file mode 100644 index 000000000..8336f6768 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_async_request.go @@ -0,0 +1,161 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesCloneAsyncRequest volumes clone async request +// +// swagger:model VolumesCloneAsyncRequest +type VolumesCloneAsyncRequest struct { + + // Base name of the new cloned volume(s). + // Cloned Volume names will be prefixed with 'clone-' + // and suffixed with '-#####' (where ##### is a 5 digit random number) + // If multiple volumes cloned they will be further suffixed with an incremental number starting with 1. + // Example volume names using name="volume-abcdef" + // single volume clone will be named "clone-volume-abcdef-83081" + // multi volume clone will be named "clone-volume-abcdef-73721-1", "clone-volume-abcdef-73721-2", ... + // For multiple volume clone, the provided name will be truncated to the first 20 characters. + // + // Required: true + Name *string `json:"name"` + + // Cloned volume will be non replication enabled if it is set to false. By default, the replication property of the source volume will be used to determine the replication property of the cloned target volume. + TargetReplicationEnabled *bool `json:"targetReplicationEnabled,omitempty"` + + // Target storage tier for the cloned volumes. Use to clone a set of volumes from one storage tier + // to a different storage tier. Cloned volumes must remain in the same storage pool as + // the source volumes. + // + TargetStorageTier string `json:"targetStorageTier,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` + + // List of volumes to be cloned + // Required: true + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this volumes clone async request +func (m *VolumesCloneAsyncRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeIDs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesCloneAsyncRequest) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VolumesCloneAsyncRequest) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +func (m *VolumesCloneAsyncRequest) validateVolumeIDs(formats strfmt.Registry) error { + + if err := validate.Required("volumeIDs", "body", m.VolumeIDs); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this volumes clone async request based on the context it is used +func (m *VolumesCloneAsyncRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesCloneAsyncRequest) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesCloneAsyncRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesCloneAsyncRequest) UnmarshalBinary(b []byte) error { + var res VolumesCloneAsyncRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_cancel.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_cancel.go new file mode 100644 index 000000000..44bf4c720 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_cancel.go @@ -0,0 +1,52 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumesCloneCancel volumes clone cancel +// +// swagger:model VolumesCloneCancel +type VolumesCloneCancel struct { + + // default False, Cancel will only be allowed if the status is 'prepared', or 'available' + // True, Cancel will be allowed when the status is NOT completed, cancelling, cancelled, or failed + // + Force bool `json:"force,omitempty"` +} + +// Validate validates this volumes clone cancel +func (m *VolumesCloneCancel) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this volumes clone cancel based on context it is used +func (m *VolumesCloneCancel) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesCloneCancel) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesCloneCancel) UnmarshalBinary(b []byte) error { + var res VolumesCloneCancel + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_create.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_create.go new file mode 100644 index 000000000..77b38ab9b --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_create.go @@ -0,0 +1,90 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesCloneCreate volumes clone create +// +// swagger:model VolumesCloneCreate +type VolumesCloneCreate struct { + + // Unique name within a cloud instance used to identify a volumes-clone request + // name can be used in replace of a volumesCloneID when used as a URL path parameter + // + // Required: true + Name *string `json:"name"` + + // List of volumes to be cloned + // Required: true + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this volumes clone create +func (m *VolumesCloneCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeIDs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesCloneCreate) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VolumesCloneCreate) validateVolumeIDs(formats strfmt.Registry) error { + + if err := validate.Required("volumeIDs", "body", m.VolumeIDs); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volumes clone create based on context it is used +func (m *VolumesCloneCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesCloneCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesCloneCreate) UnmarshalBinary(b []byte) error { + var res VolumesCloneCreate + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_detail.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_detail.go new file mode 100644 index 000000000..ec7112208 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_detail.go @@ -0,0 +1,203 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesCloneDetail volumes clone detail +// +// swagger:model VolumesCloneDetail +type VolumesCloneDetail struct { + + // Current action performed for the volumes-clone request + Action string `json:"action,omitempty"` + + // List of cloned volumes created from the volumes-clone request + ClonedVolumes []*ClonedVolumeDetail `json:"clonedVolumes"` + + // Creation Date + // Format: date-time + CreationDate strfmt.DateTime `json:"creationDate,omitempty"` + + // Failure reason for a failed volumes-clone request + FailureMessage string `json:"failureMessage,omitempty"` + + // Last Update Date + // Format: date-time + LastUpdateDate strfmt.DateTime `json:"lastUpdateDate,omitempty"` + + // Name assigned to a volumes-clone request + Name string `json:"name,omitempty"` + + // The percent completion for the current action + // Required: true + PercentComplete *int64 `json:"percentComplete"` + + // Current status of the volumes-clone request + Status string `json:"status,omitempty"` + + // ID assigned to a volumes-clone request + VolumesCloneID string `json:"volumesCloneID,omitempty"` +} + +// Validate validates this volumes clone detail +func (m *VolumesCloneDetail) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateClonedVolumes(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastUpdateDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePercentComplete(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesCloneDetail) validateClonedVolumes(formats strfmt.Registry) error { + if swag.IsZero(m.ClonedVolumes) { // not required + return nil + } + + for i := 0; i < len(m.ClonedVolumes); i++ { + if swag.IsZero(m.ClonedVolumes[i]) { // not required + continue + } + + if m.ClonedVolumes[i] != nil { + if err := m.ClonedVolumes[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("clonedVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("clonedVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *VolumesCloneDetail) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VolumesCloneDetail) validateLastUpdateDate(formats strfmt.Registry) error { + if swag.IsZero(m.LastUpdateDate) { // not required + return nil + } + + if err := validate.FormatOf("lastUpdateDate", "body", "date-time", m.LastUpdateDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *VolumesCloneDetail) validatePercentComplete(formats strfmt.Registry) error { + + if err := validate.Required("percentComplete", "body", m.PercentComplete); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this volumes clone detail based on the context it is used +func (m *VolumesCloneDetail) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateClonedVolumes(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesCloneDetail) contextValidateClonedVolumes(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ClonedVolumes); i++ { + + if m.ClonedVolumes[i] != nil { + + if swag.IsZero(m.ClonedVolumes[i]) { // not required + return nil + } + + if err := m.ClonedVolumes[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("clonedVolumes" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("clonedVolumes" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesCloneDetail) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesCloneDetail) UnmarshalBinary(b []byte) error { + var res VolumesCloneDetail + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_execute.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_execute.go new file mode 100644 index 000000000..e18870ae0 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_execute.go @@ -0,0 +1,149 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesCloneExecute volumes clone execute +// +// swagger:model VolumesCloneExecute +type VolumesCloneExecute struct { + + // Base name of the new cloned volume(s). + // Cloned Volume names will be prefixed with 'clone-' + // and suffixed with '-#####' (where ##### is a 5 digit random number) + // If multiple volumes cloned they will be further suffixed with an incremental number starting with 1. + // Example volume names using name="volume-abcdef" + // single volume clone will be named "clone-volume-abcdef-83081" + // multi volume clone will be named "clone-volume-abcdef-73721-1", "clone-volume-abcdef-73721-2", ... + // For multiple volume clone, the provided name will be truncated to the first 20 characters. + // + // Required: true + Name *string `json:"name"` + + // default False, Execute failure rolls back clone activity but leaves prepared snapshot + // True, Execute failure rolls back clone activity and removes the prepared snapshot + // + RollbackPrepare bool `json:"rollbackPrepare,omitempty"` + + // Cloned volume will be non replication enabled if it is set to false. By default, the replication property of the source volume will be used to determine the replication property of the cloned target volume. + TargetReplicationEnabled *bool `json:"targetReplicationEnabled,omitempty"` + + // Target storage tier for the cloned volumes. Use to clone a set of volumes from one storage tier + // to a different storage tier. Cloned volumes must remain in the same storage pool as + // the source volumes. + // + TargetStorageTier string `json:"targetStorageTier,omitempty"` + + // user tags + UserTags Tags `json:"userTags,omitempty"` +} + +// Validate validates this volumes clone execute +func (m *VolumesCloneExecute) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesCloneExecute) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *VolumesCloneExecute) validateUserTags(formats strfmt.Registry) error { + if swag.IsZero(m.UserTags) { // not required + return nil + } + + if err := m.UserTags.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// ContextValidate validate this volumes clone execute based on the context it is used +func (m *VolumesCloneExecute) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateUserTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesCloneExecute) contextValidateUserTags(ctx context.Context, formats strfmt.Registry) error { + + if err := m.UserTags.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("userTags") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("userTags") + } + + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesCloneExecute) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesCloneExecute) UnmarshalBinary(b []byte) error { + var res VolumesCloneExecute + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_request.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_request.go new file mode 100644 index 000000000..cb238678e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_request.go @@ -0,0 +1,95 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesCloneRequest volumes clone request +// +// swagger:model VolumesCloneRequest +type VolumesCloneRequest struct { + + // Display name for the new cloned volumes. + // Cloned Volume names will be prefixed with 'clone-'. + // If multiple volumes cloned they will be suffix with a '-' and an incremental number starting with 1. + // Example volume names using displayName="volume-abcdef" + // single volume clone will be named "clone-volume-abcdef" + // multi volume clone will be named "clone-volume-abcdef-1", "clone-volume-abcdef-2", ... + // For multiple volume clone, the provided name will be truncated to the first 20 characters. + // + // Required: true + DisplayName *string `json:"displayName"` + + // List of volumes to be cloned + // Required: true + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this volumes clone request +func (m *VolumesCloneRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDisplayName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVolumeIDs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesCloneRequest) validateDisplayName(formats strfmt.Registry) error { + + if err := validate.Required("displayName", "body", m.DisplayName); err != nil { + return err + } + + return nil +} + +func (m *VolumesCloneRequest) validateVolumeIDs(formats strfmt.Registry) error { + + if err := validate.Required("volumeIDs", "body", m.VolumeIDs); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volumes clone request based on context it is used +func (m *VolumesCloneRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesCloneRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesCloneRequest) UnmarshalBinary(b []byte) error { + var res VolumesCloneRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_response.go new file mode 100644 index 000000000..7ab2407e7 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clone_response.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumesCloneResponse volumes clone response +// +// swagger:model VolumesCloneResponse +type VolumesCloneResponse struct { + + // ID of the new cloned volume + AdditionalProperties string `json:"additionalProperties,omitempty"` + + // A map of volume IDs to cloned volume IDs + ClonedVolumes any `json:"clonedVolumes,omitempty"` +} + +// Validate validates this volumes clone response +func (m *VolumesCloneResponse) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this volumes clone response based on context it is used +func (m *VolumesCloneResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesCloneResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesCloneResponse) UnmarshalBinary(b []byte) error { + var res VolumesCloneResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clones.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clones.go new file mode 100644 index 000000000..cb7db9746 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_clones.go @@ -0,0 +1,130 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumesClones volumes clones +// +// swagger:model VolumesClones +type VolumesClones struct { + + // list of volumes-clone requests + VolumesClone []*VolumesClone `json:"volumesClone"` +} + +// Validate validates this volumes clones +func (m *VolumesClones) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumesClone(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesClones) validateVolumesClone(formats strfmt.Registry) error { + if swag.IsZero(m.VolumesClone) { // not required + return nil + } + + for i := 0; i < len(m.VolumesClone); i++ { + if swag.IsZero(m.VolumesClone[i]) { // not required + continue + } + + if m.VolumesClone[i] != nil { + if err := m.VolumesClone[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumesClone" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumesClone" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this volumes clones based on the context it is used +func (m *VolumesClones) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateVolumesClone(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesClones) contextValidateVolumesClone(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.VolumesClone); i++ { + + if m.VolumesClone[i] != nil { + + if swag.IsZero(m.VolumesClone[i]) { // not required + return nil + } + + if err := m.VolumesClone[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("volumesClone" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("volumesClone" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesClones) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesClones) UnmarshalBinary(b []byte) error { + var res VolumesClones + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_delete.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_delete.go new file mode 100644 index 000000000..f8e5ef593 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_delete.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesDelete volumes delete +// +// swagger:model VolumesDelete +type VolumesDelete struct { + + // List of volumes to be deleted + // Required: true + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this volumes delete +func (m *VolumesDelete) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateVolumeIDs(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesDelete) validateVolumeIDs(formats strfmt.Registry) error { + + if err := validate.Required("volumeIDs", "body", m.VolumeIDs); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volumes delete based on context it is used +func (m *VolumesDelete) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesDelete) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesDelete) UnmarshalBinary(b []byte) error { + var res VolumesDelete + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_delete_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_delete_response.go new file mode 100644 index 000000000..0d20ec18e --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_delete_response.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumesDeleteResponse volumes delete response +// +// swagger:model VolumesDeleteResponse +type VolumesDeleteResponse struct { + + // status summary for volumes deletion request + Summary string `json:"summary,omitempty"` +} + +// Validate validates this volumes delete response +func (m *VolumesDeleteResponse) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this volumes delete response based on context it is used +func (m *VolumesDeleteResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesDeleteResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesDeleteResponse) UnmarshalBinary(b []byte) error { + var res VolumesDeleteResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_detach.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_detach.go new file mode 100644 index 000000000..5bad3e181 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_detach.go @@ -0,0 +1,56 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// VolumesDetach volumes detach +// +// swagger:model volumesDetach +type VolumesDetach struct { + + // Indicates if all volumes, except primary boot volume, attached to the PVMInstance should be detached (default=false); required if volumeIDs is not provided + DetachAllVolumes *bool `json:"detachAllVolumes,omitempty"` + + // Indicates if primary boot volume attached to the PVMInstance should be detached (default=false) + DetachPrimaryBootVolume *bool `json:"detachPrimaryBootVolume,omitempty"` + + // List of volumes to be detached from a PVM instance; required if detachAllVolumes is not provided + VolumeIDs []string `json:"volumeIDs"` +} + +// Validate validates this volumes detach +func (m *VolumesDetach) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this volumes detach based on context it is used +func (m *VolumesDetach) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesDetach) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesDetach) UnmarshalBinary(b []byte) error { + var res VolumesDetach + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_detachment_response.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_detachment_response.go new file mode 100644 index 000000000..be9714f59 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/volumes_detachment_response.go @@ -0,0 +1,71 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VolumesDetachmentResponse volumes detachment response +// +// swagger:model VolumesDetachmentResponse +type VolumesDetachmentResponse struct { + + // status summary for volume detachment from a PVM Instance + // Required: true + Summary *string `json:"summary"` +} + +// Validate validates this volumes detachment response +func (m *VolumesDetachmentResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSummary(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VolumesDetachmentResponse) validateSummary(formats strfmt.Registry) error { + + if err := validate.Required("summary", "body", m.Summary); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this volumes detachment response based on context it is used +func (m *VolumesDetachmentResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *VolumesDetachmentResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VolumesDetachmentResponse) UnmarshalBinary(b []byte) error { + var res VolumesDetachmentResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace.go new file mode 100644 index 000000000..e3145ecc4 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace.go @@ -0,0 +1,295 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Workspace workspace +// +// swagger:model Workspace +type Workspace struct { + + // Workspace Capabilities + // Required: true + Capabilities map[string]bool `json:"capabilities"` + + // The Workspace information + // Required: true + Details *WorkspaceDetails `json:"details"` + + // Workspace ID + // Required: true + ID *string `json:"id"` + + // The Workspace location + // Required: true + Location *WorkspaceLocation `json:"location"` + + // The Workspace name + // Required: true + Name *string `json:"name"` + + // The Workspace status + // Required: true + Status *string `json:"status"` + + // The Workspace type + // Required: true + // Enum: ["off-premises","on-premises"] + Type *string `json:"type"` +} + +// Validate validates this workspace +func (m *Workspace) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCapabilities(formats); err != nil { + res = append(res, err) + } + + if err := m.validateDetails(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLocation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Workspace) validateCapabilities(formats strfmt.Registry) error { + + if err := validate.Required("capabilities", "body", m.Capabilities); err != nil { + return err + } + + return nil +} + +func (m *Workspace) validateDetails(formats strfmt.Registry) error { + + if err := validate.Required("details", "body", m.Details); err != nil { + return err + } + + if m.Details != nil { + if err := m.Details.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("details") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("details") + } + + return err + } + } + + return nil +} + +func (m *Workspace) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *Workspace) validateLocation(formats strfmt.Registry) error { + + if err := validate.Required("location", "body", m.Location); err != nil { + return err + } + + if m.Location != nil { + if err := m.Location.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("location") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("location") + } + + return err + } + } + + return nil +} + +func (m *Workspace) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *Workspace) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +var workspaceTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["off-premises","on-premises"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + workspaceTypeTypePropEnum = append(workspaceTypeTypePropEnum, v) + } +} + +const ( + + // WorkspaceTypeOffDashPremises captures enum value "off-premises" + WorkspaceTypeOffDashPremises string = "off-premises" + + // WorkspaceTypeOnDashPremises captures enum value "on-premises" + WorkspaceTypeOnDashPremises string = "on-premises" +) + +// prop value enum +func (m *Workspace) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, workspaceTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *Workspace) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this workspace based on the context it is used +func (m *Workspace) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDetails(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateLocation(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Workspace) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { + + if m.Details != nil { + + if err := m.Details.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("details") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("details") + } + + return err + } + } + + return nil +} + +func (m *Workspace) contextValidateLocation(ctx context.Context, formats strfmt.Registry) error { + + if m.Location != nil { + + if err := m.Location.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("location") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("location") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Workspace) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Workspace) UnmarshalBinary(b []byte) error { + var res Workspace + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_details.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_details.go new file mode 100644 index 000000000..faf000d27 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_details.go @@ -0,0 +1,220 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// WorkspaceDetails workspace details +// +// swagger:model WorkspaceDetails +type WorkspaceDetails struct { + + // Workspace creation date + // Required: true + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate"` + + // The Workspace crn + // Required: true + Crn *string `json:"crn"` + + // Link to Workspace Resource + Href string `json:"href,omitempty"` + + // The Workspace Network Security Groups information + NetworkSecurityGroups *WorkspaceNetworkSecurityGroupsDetails `json:"networkSecurityGroups,omitempty"` + + // The Workspace Power Edge Router information + PowerEdgeRouter *WorkspacePowerEdgeRouterDetails `json:"powerEdgeRouter,omitempty"` +} + +// Validate validates this workspace details +func (m *WorkspaceDetails) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCrn(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNetworkSecurityGroups(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePowerEdgeRouter(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *WorkspaceDetails) validateCreationDate(formats strfmt.Registry) error { + + if err := validate.Required("creationDate", "body", m.CreationDate); err != nil { + return err + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *WorkspaceDetails) validateCrn(formats strfmt.Registry) error { + + if err := validate.Required("crn", "body", m.Crn); err != nil { + return err + } + + return nil +} + +func (m *WorkspaceDetails) validateNetworkSecurityGroups(formats strfmt.Registry) error { + if swag.IsZero(m.NetworkSecurityGroups) { // not required + return nil + } + + if m.NetworkSecurityGroups != nil { + if err := m.NetworkSecurityGroups.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkSecurityGroups") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkSecurityGroups") + } + + return err + } + } + + return nil +} + +func (m *WorkspaceDetails) validatePowerEdgeRouter(formats strfmt.Registry) error { + if swag.IsZero(m.PowerEdgeRouter) { // not required + return nil + } + + if m.PowerEdgeRouter != nil { + if err := m.PowerEdgeRouter.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("powerEdgeRouter") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("powerEdgeRouter") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this workspace details based on the context it is used +func (m *WorkspaceDetails) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateNetworkSecurityGroups(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidatePowerEdgeRouter(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *WorkspaceDetails) contextValidateNetworkSecurityGroups(ctx context.Context, formats strfmt.Registry) error { + + if m.NetworkSecurityGroups != nil { + + if swag.IsZero(m.NetworkSecurityGroups) { // not required + return nil + } + + if err := m.NetworkSecurityGroups.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("networkSecurityGroups") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("networkSecurityGroups") + } + + return err + } + } + + return nil +} + +func (m *WorkspaceDetails) contextValidatePowerEdgeRouter(ctx context.Context, formats strfmt.Registry) error { + + if m.PowerEdgeRouter != nil { + + if swag.IsZero(m.PowerEdgeRouter) { // not required + return nil + } + + if err := m.PowerEdgeRouter.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("powerEdgeRouter") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("powerEdgeRouter") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *WorkspaceDetails) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *WorkspaceDetails) UnmarshalBinary(b []byte) error { + var res WorkspaceDetails + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_location.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_location.go new file mode 100644 index 000000000..f74be70b5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_location.go @@ -0,0 +1,77 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// WorkspaceLocation workspace location +// +// swagger:model WorkspaceLocation +type WorkspaceLocation struct { + + // The Workspace location region zone + // Required: true + Region *string `json:"region"` + + // The Workspace location region type + Type string `json:"type,omitempty"` + + // The Workspace location region url + URL string `json:"url,omitempty"` +} + +// Validate validates this workspace location +func (m *WorkspaceLocation) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateRegion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *WorkspaceLocation) validateRegion(formats strfmt.Registry) error { + + if err := validate.Required("region", "body", m.Region); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this workspace location based on context it is used +func (m *WorkspaceLocation) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *WorkspaceLocation) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *WorkspaceLocation) UnmarshalBinary(b []byte) error { + var res WorkspaceLocation + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_network_security_groups_details.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_network_security_groups_details.go new file mode 100644 index 000000000..a8e2f38a5 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_network_security_groups_details.go @@ -0,0 +1,119 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// WorkspaceNetworkSecurityGroupsDetails workspace network security groups details +// +// swagger:model WorkspaceNetworkSecurityGroupsDetails +type WorkspaceNetworkSecurityGroupsDetails struct { + + // The state of a Network Security Groups configuration + // Required: true + // Enum: ["active","error","configuring","removing","inactive","inaccessible"] + State *string `json:"state"` +} + +// Validate validates this workspace network security groups details +func (m *WorkspaceNetworkSecurityGroupsDetails) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var workspaceNetworkSecurityGroupsDetailsTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","error","configuring","removing","inactive","inaccessible"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + workspaceNetworkSecurityGroupsDetailsTypeStatePropEnum = append(workspaceNetworkSecurityGroupsDetailsTypeStatePropEnum, v) + } +} + +const ( + + // WorkspaceNetworkSecurityGroupsDetailsStateActive captures enum value "active" + WorkspaceNetworkSecurityGroupsDetailsStateActive string = "active" + + // WorkspaceNetworkSecurityGroupsDetailsStateError captures enum value "error" + WorkspaceNetworkSecurityGroupsDetailsStateError string = "error" + + // WorkspaceNetworkSecurityGroupsDetailsStateConfiguring captures enum value "configuring" + WorkspaceNetworkSecurityGroupsDetailsStateConfiguring string = "configuring" + + // WorkspaceNetworkSecurityGroupsDetailsStateRemoving captures enum value "removing" + WorkspaceNetworkSecurityGroupsDetailsStateRemoving string = "removing" + + // WorkspaceNetworkSecurityGroupsDetailsStateInactive captures enum value "inactive" + WorkspaceNetworkSecurityGroupsDetailsStateInactive string = "inactive" + + // WorkspaceNetworkSecurityGroupsDetailsStateInaccessible captures enum value "inaccessible" + WorkspaceNetworkSecurityGroupsDetailsStateInaccessible string = "inaccessible" +) + +// prop value enum +func (m *WorkspaceNetworkSecurityGroupsDetails) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, workspaceNetworkSecurityGroupsDetailsTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *WorkspaceNetworkSecurityGroupsDetails) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this workspace network security groups details based on context it is used +func (m *WorkspaceNetworkSecurityGroupsDetails) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *WorkspaceNetworkSecurityGroupsDetails) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *WorkspaceNetworkSecurityGroupsDetails) UnmarshalBinary(b []byte) error { + var res WorkspaceNetworkSecurityGroupsDetails + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_power_edge_router_details.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_power_edge_router_details.go new file mode 100644 index 000000000..e7639db65 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_power_edge_router_details.go @@ -0,0 +1,233 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// WorkspacePowerEdgeRouterDetails workspace power edge router details +// +// swagger:model WorkspacePowerEdgeRouterDetails +type WorkspacePowerEdgeRouterDetails struct { + + // The migration status of a Power Edge Router + // Enum: ["intializing","migrating","deleted","completed"] + MigrationStatus string `json:"migrationStatus,omitempty"` + + // The state of a Power Edge Router + // Required: true + // Enum: ["active","error","warning","configuring","removing","inactive","user-validation","inaccessible"] + State *string `json:"state"` + + // The Power Edge Router type + // Required: true + // Enum: ["automated","manual"] + Type *string `json:"type"` +} + +// Validate validates this workspace power edge router details +func (m *WorkspacePowerEdgeRouterDetails) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMigrationStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if err := m.validateType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var workspacePowerEdgeRouterDetailsTypeMigrationStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["intializing","migrating","deleted","completed"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + workspacePowerEdgeRouterDetailsTypeMigrationStatusPropEnum = append(workspacePowerEdgeRouterDetailsTypeMigrationStatusPropEnum, v) + } +} + +const ( + + // WorkspacePowerEdgeRouterDetailsMigrationStatusIntializing captures enum value "intializing" + WorkspacePowerEdgeRouterDetailsMigrationStatusIntializing string = "intializing" + + // WorkspacePowerEdgeRouterDetailsMigrationStatusMigrating captures enum value "migrating" + WorkspacePowerEdgeRouterDetailsMigrationStatusMigrating string = "migrating" + + // WorkspacePowerEdgeRouterDetailsMigrationStatusDeleted captures enum value "deleted" + WorkspacePowerEdgeRouterDetailsMigrationStatusDeleted string = "deleted" + + // WorkspacePowerEdgeRouterDetailsMigrationStatusCompleted captures enum value "completed" + WorkspacePowerEdgeRouterDetailsMigrationStatusCompleted string = "completed" +) + +// prop value enum +func (m *WorkspacePowerEdgeRouterDetails) validateMigrationStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, workspacePowerEdgeRouterDetailsTypeMigrationStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *WorkspacePowerEdgeRouterDetails) validateMigrationStatus(formats strfmt.Registry) error { + if swag.IsZero(m.MigrationStatus) { // not required + return nil + } + + // value enum + if err := m.validateMigrationStatusEnum("migrationStatus", "body", m.MigrationStatus); err != nil { + return err + } + + return nil +} + +var workspacePowerEdgeRouterDetailsTypeStatePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","error","warning","configuring","removing","inactive","user-validation","inaccessible"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + workspacePowerEdgeRouterDetailsTypeStatePropEnum = append(workspacePowerEdgeRouterDetailsTypeStatePropEnum, v) + } +} + +const ( + + // WorkspacePowerEdgeRouterDetailsStateActive captures enum value "active" + WorkspacePowerEdgeRouterDetailsStateActive string = "active" + + // WorkspacePowerEdgeRouterDetailsStateError captures enum value "error" + WorkspacePowerEdgeRouterDetailsStateError string = "error" + + // WorkspacePowerEdgeRouterDetailsStateWarning captures enum value "warning" + WorkspacePowerEdgeRouterDetailsStateWarning string = "warning" + + // WorkspacePowerEdgeRouterDetailsStateConfiguring captures enum value "configuring" + WorkspacePowerEdgeRouterDetailsStateConfiguring string = "configuring" + + // WorkspacePowerEdgeRouterDetailsStateRemoving captures enum value "removing" + WorkspacePowerEdgeRouterDetailsStateRemoving string = "removing" + + // WorkspacePowerEdgeRouterDetailsStateInactive captures enum value "inactive" + WorkspacePowerEdgeRouterDetailsStateInactive string = "inactive" + + // WorkspacePowerEdgeRouterDetailsStateUserDashValidation captures enum value "user-validation" + WorkspacePowerEdgeRouterDetailsStateUserDashValidation string = "user-validation" + + // WorkspacePowerEdgeRouterDetailsStateInaccessible captures enum value "inaccessible" + WorkspacePowerEdgeRouterDetailsStateInaccessible string = "inaccessible" +) + +// prop value enum +func (m *WorkspacePowerEdgeRouterDetails) validateStateEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, workspacePowerEdgeRouterDetailsTypeStatePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *WorkspacePowerEdgeRouterDetails) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +var workspacePowerEdgeRouterDetailsTypeTypePropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["automated","manual"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + workspacePowerEdgeRouterDetailsTypeTypePropEnum = append(workspacePowerEdgeRouterDetailsTypeTypePropEnum, v) + } +} + +const ( + + // WorkspacePowerEdgeRouterDetailsTypeAutomated captures enum value "automated" + WorkspacePowerEdgeRouterDetailsTypeAutomated string = "automated" + + // WorkspacePowerEdgeRouterDetailsTypeManual captures enum value "manual" + WorkspacePowerEdgeRouterDetailsTypeManual string = "manual" +) + +// prop value enum +func (m *WorkspacePowerEdgeRouterDetails) validateTypeEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, workspacePowerEdgeRouterDetailsTypeTypePropEnum, true); err != nil { + return err + } + return nil +} + +func (m *WorkspacePowerEdgeRouterDetails) validateType(formats strfmt.Registry) error { + + if err := validate.Required("type", "body", m.Type); err != nil { + return err + } + + // value enum + if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this workspace power edge router details based on context it is used +func (m *WorkspacePowerEdgeRouterDetails) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *WorkspacePowerEdgeRouterDetails) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *WorkspacePowerEdgeRouterDetails) UnmarshalBinary(b []byte) error { + var res WorkspacePowerEdgeRouterDetails + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_ssh_key.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_ssh_key.go new file mode 100644 index 000000000..ff3d10878 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_ssh_key.go @@ -0,0 +1,206 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// WorkspaceSSHKey workspace SSH key +// +// swagger:model WorkspaceSSHKey +type WorkspaceSSHKey struct { + + // Date/Time of sshkey creation + // Format: date-time + CreationDate *strfmt.DateTime `json:"creationDate,omitempty" datastore:"creationDate"` + + // Description of the sshkey + Description string `json:"description" datastore:"description"` + + // Unique id of ssh-key + // Required: true + ID *string `json:"id" datastore:"id"` + + // User defined name for the SSH key + // Required: true + // Max Length: 128 + // Pattern: ^[A-Za-z0-9-_]+(?: +[A-Za-z0-9-_]+)*$ + Name *string `json:"name" datastore:"name"` + + // Indicates if the current workspace owns the ssh key or not + // Required: true + PrimaryWorkspace *bool `json:"primaryWorkspace"` + + // SSH RSA key + // Required: true + SSHKey *string `json:"sshKey" datastore:"sshKey"` + + // Visibility of the sshkey; workspace suggests ssh-key is only accessible in a workspace, account suggests ssh-key is accessible throughout an account + // Enum: ["account","workspace"] + Visibility *string `json:"visibility,omitempty" datastore:"visibility"` +} + +// Validate validates this workspace SSH key +func (m *WorkspaceSSHKey) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreationDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePrimaryWorkspace(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSSHKey(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVisibility(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *WorkspaceSSHKey) validateCreationDate(formats strfmt.Registry) error { + if swag.IsZero(m.CreationDate) { // not required + return nil + } + + if err := validate.FormatOf("creationDate", "body", "date-time", m.CreationDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *WorkspaceSSHKey) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *WorkspaceSSHKey) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + if err := validate.MaxLength("name", "body", *m.Name, 128); err != nil { + return err + } + + if err := validate.Pattern("name", "body", *m.Name, `^[A-Za-z0-9-_]+(?: +[A-Za-z0-9-_]+)*$`); err != nil { + return err + } + + return nil +} + +func (m *WorkspaceSSHKey) validatePrimaryWorkspace(formats strfmt.Registry) error { + + if err := validate.Required("primaryWorkspace", "body", m.PrimaryWorkspace); err != nil { + return err + } + + return nil +} + +func (m *WorkspaceSSHKey) validateSSHKey(formats strfmt.Registry) error { + + if err := validate.Required("sshKey", "body", m.SSHKey); err != nil { + return err + } + + return nil +} + +var workspaceSshKeyTypeVisibilityPropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["account","workspace"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + workspaceSshKeyTypeVisibilityPropEnum = append(workspaceSshKeyTypeVisibilityPropEnum, v) + } +} + +const ( + + // WorkspaceSSHKeyVisibilityAccount captures enum value "account" + WorkspaceSSHKeyVisibilityAccount string = "account" + + // WorkspaceSSHKeyVisibilityWorkspace captures enum value "workspace" + WorkspaceSSHKeyVisibilityWorkspace string = "workspace" +) + +// prop value enum +func (m *WorkspaceSSHKey) validateVisibilityEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, workspaceSshKeyTypeVisibilityPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *WorkspaceSSHKey) validateVisibility(formats strfmt.Registry) error { + if swag.IsZero(m.Visibility) { // not required + return nil + } + + // value enum + if err := m.validateVisibilityEnum("visibility", "body", *m.Visibility); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this workspace SSH key based on context it is used +func (m *WorkspaceSSHKey) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *WorkspaceSSHKey) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *WorkspaceSSHKey) UnmarshalBinary(b []byte) error { + var res WorkspaceSSHKey + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_ssh_keys.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_ssh_keys.go new file mode 100644 index 000000000..d935790dc --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspace_ssh_keys.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// WorkspaceSSHKeys workspace SSH keys +// +// swagger:model WorkspaceSSHKeys +type WorkspaceSSHKeys struct { + + // SSH Keys + // Required: true + SSHKeys []*WorkspaceSSHKey `json:"sshKeys"` +} + +// Validate validates this workspace SSH keys +func (m *WorkspaceSSHKeys) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateSSHKeys(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *WorkspaceSSHKeys) validateSSHKeys(formats strfmt.Registry) error { + + if err := validate.Required("sshKeys", "body", m.SSHKeys); err != nil { + return err + } + + for i := 0; i < len(m.SSHKeys); i++ { + if swag.IsZero(m.SSHKeys[i]) { // not required + continue + } + + if m.SSHKeys[i] != nil { + if err := m.SSHKeys[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this workspace SSH keys based on the context it is used +func (m *WorkspaceSSHKeys) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateSSHKeys(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *WorkspaceSSHKeys) contextValidateSSHKeys(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.SSHKeys); i++ { + + if m.SSHKeys[i] != nil { + + if swag.IsZero(m.SSHKeys[i]) { // not required + return nil + } + + if err := m.SSHKeys[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("sshKeys" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *WorkspaceSSHKeys) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *WorkspaceSSHKeys) UnmarshalBinary(b []byte) error { + var res WorkspaceSSHKeys + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspaces.go b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspaces.go new file mode 100644 index 000000000..cd18b3de8 --- /dev/null +++ b/vendor/github.com/IBM-Cloud/power-go-client/power/models/workspaces.go @@ -0,0 +1,133 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Workspaces workspaces +// +// swagger:model Workspaces +type Workspaces struct { + + // The list of available workspaces + // Required: true + Workspaces []*Workspace `json:"workspaces"` +} + +// Validate validates this workspaces +func (m *Workspaces) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateWorkspaces(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Workspaces) validateWorkspaces(formats strfmt.Registry) error { + + if err := validate.Required("workspaces", "body", m.Workspaces); err != nil { + return err + } + + for i := 0; i < len(m.Workspaces); i++ { + if swag.IsZero(m.Workspaces[i]) { // not required + continue + } + + if m.Workspaces[i] != nil { + if err := m.Workspaces[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("workspaces" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("workspaces" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// ContextValidate validate this workspaces based on the context it is used +func (m *Workspaces) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateWorkspaces(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Workspaces) contextValidateWorkspaces(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Workspaces); i++ { + + if m.Workspaces[i] != nil { + + if swag.IsZero(m.Workspaces[i]) { // not required + return nil + } + + if err := m.Workspaces[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("workspaces" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("workspaces" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Workspaces) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Workspaces) UnmarshalBinary(b []byte) error { + var res Workspaces + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/LICENSE b/vendor/github.com/IBM/go-sdk-core/v5/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/authentication_error.go b/vendor/github.com/IBM/go-sdk-core/v5/core/authentication_error.go new file mode 100644 index 000000000..77f8dda2e --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/authentication_error.go @@ -0,0 +1,57 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "errors" +) + +// AuthenticationError describes the problem returned when +// authentication over HTTP fails. +type AuthenticationError struct { + Err error + *HTTPProblem +} + +// NewAuthenticationError is a deprecated function that was previously used for creating new +// AuthenticationError structs. HTTPProblem types should be used instead of AuthenticationError types. +func NewAuthenticationError(response *DetailedResponse, err error) *AuthenticationError { + GetLogger().Warn("NewAuthenticationError is deprecated and should not be used.") + authError := authenticationErrorf(err, response, "unknown", NewProblemComponent("unknown", "unknown")) + return authError +} + +// authenticationErrorf creates and returns a new instance of "AuthenticationError". +func authenticationErrorf(err error, response *DetailedResponse, operationID string, component *ProblemComponent) *AuthenticationError { + // This function should always be called with non-nil error instances. + if err == nil { + return nil + } + + var httpErr *HTTPProblem + if !errors.As(err, &httpErr) { + if response == nil { + return nil + } + httpErr = httpErrorf(err.Error(), response) + } + + enrichHTTPProblem(httpErr, operationID, component) + + return &AuthenticationError{ + HTTPProblem: httpErr, + Err: err, + } +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/authenticator.go new file mode 100644 index 000000000..8292490ee --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/authenticator.go @@ -0,0 +1,26 @@ +package core + +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "net/http" +) + +// Authenticator describes the set of methods implemented by each authenticator. +type Authenticator interface { + AuthenticationType() string + Authenticate(*http.Request) error + Validate() error +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/authenticator_factory.go b/vendor/github.com/IBM/go-sdk-core/v5/core/authenticator_factory.go new file mode 100644 index 000000000..87ce7e146 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/authenticator_factory.go @@ -0,0 +1,84 @@ +package core + +// (C) Copyright IBM Corp. 2019, 2025. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "fmt" + "strings" +) + +// GetAuthenticatorFromEnvironment instantiates an Authenticator using service properties +// retrieved from external config sources. +func GetAuthenticatorFromEnvironment(credentialKey string) (authenticator Authenticator, err error) { + GetLogger().Debug("Get authenticator from environment, key=%s\n", credentialKey) + properties, err := getServiceProperties(credentialKey) + if len(properties) == 0 { + return + } + + // Determine the authentication type if not specified explicitly. + authType := properties[PROPNAME_AUTH_TYPE] + + // Support alternate "AUTHTYPE" property. + if authType == "" { + authType = properties["AUTHTYPE"] + } + + // Determine a default auth type if one wasn't specified. + if authType == "" { + // If the APIKEY property is specified, then we'll guess IAM... otherwise CR Auth. + if properties[PROPNAME_APIKEY] != "" { + authType = AUTHTYPE_IAM + } else { + authType = AUTHTYPE_CONTAINER + } + } + + // Create the authenticator appropriate for the auth type. + if strings.EqualFold(authType, AUTHTYPE_BASIC) { + authenticator, err = newBasicAuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_BEARER_TOKEN) { + authenticator, err = newBearerTokenAuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_IAM) { + authenticator, err = newIamAuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_IAM_ASSUME) { + authenticator, err = newIamAssumeAuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_CONTAINER) { + authenticator, err = newContainerAuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_VPC) { + authenticator, err = newVpcInstanceAuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_CP4D) { + authenticator, err = newCloudPakForDataAuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_MCSP) { + authenticator, err = newMCSPAuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_MCSPV2) { + authenticator, err = newMCSPV2AuthenticatorFromMap(properties) + } else if strings.EqualFold(authType, AUTHTYPE_NOAUTH) { + authenticator, err = NewNoAuthAuthenticator() + } else { + err = SDKErrorf( + nil, + fmt.Sprintf(ERRORMSG_AUTHTYPE_UNKNOWN, authType), + "unknown-auth-type", + getComponentInfo(), + ) + } + + if authenticator != nil { + GetLogger().Debug("Returning authenticator, type=%s\n", authenticator.AuthenticationType()) + } + + return +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/base_service.go b/vendor/github.com/IBM/go-sdk-core/v5/core/base_service.go new file mode 100644 index 000000000..558549457 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/base_service.go @@ -0,0 +1,958 @@ +package core + +// (C) Copyright IBM Corp. 2019, 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "bytes" + "context" + "crypto/tls" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "net/http/httputil" + "net/url" + "reflect" + "regexp" + "strconv" + "strings" + "time" + + cleanhttp "github.com/hashicorp/go-cleanhttp" + retryablehttp "github.com/hashicorp/go-retryablehttp" +) + +const ( + headerNameUserAgent = "User-Agent" + sdkName = "ibm-go-sdk-core" +) + +// ServiceOptions is a struct of configuration values for a service. +type ServiceOptions struct { + // This is the base URL associated with the service instance. This value will + // be combined with the paths for each operation to form the request URL + // [required]. + URL string + + // Authenticator holds the authenticator implementation to be used by the + // service instance to authenticate outbound requests, typically by adding the + // HTTP "Authorization" header. + Authenticator Authenticator + + // EnableGzipCompression indicates whether or not request bodies + // should be gzip-compressed. + // This field has no effect on response bodies. + // If enabled, the Body field will be gzip-compressed and + // the "Content-Encoding" header will be added to the request with the + // value "gzip". + EnableGzipCompression bool +} + +// BaseService implements the common functionality shared by generated services +// to manage requests and responses, authenticate outbound requests, etc. +type BaseService struct { + // Configuration values for a service. + Options *ServiceOptions + + // A set of "default" http headers to be included with each outbound request. + DefaultHeaders http.Header + + // The HTTP Client used to send requests and receive responses. + Client *http.Client + + // The value to be used for the "User-Agent" HTTP header that is added to each + // outbound request. If this value is not set, then a default value will be + // used for the header. + UserAgent string +} + +// NewBaseService constructs a new instance of BaseService. Validation on input +// parameters and service options will be performed before instance creation. +func NewBaseService(options *ServiceOptions) (*BaseService, error) { + if HasBadFirstOrLastChar(options.URL) { + err := fmt.Errorf(ERRORMSG_PROP_INVALID, "URL") + return nil, SDKErrorf(err, "", "bad-char", getComponentInfo()) + } + + if IsNil(options.Authenticator) { + err := errors.New(ERRORMSG_NO_AUTHENTICATOR) + return nil, SDKErrorf(err, "", "missing-auth", getComponentInfo()) + } + + if err := options.Authenticator.Validate(); err != nil { + err = RepurposeSDKProblem(err, "auth-validation-failed") + return nil, err + } + + service := BaseService{ + Options: options, + + Client: DefaultHTTPClient(), + } + + // Set a default value for the User-Agent http header. + service.SetUserAgent(service.buildUserAgent()) + + return &service, nil +} + +// Clone will return a copy of "service" suitable for use by a +// generated service instance to process requests. +func (service *BaseService) Clone() *BaseService { + if IsNil(service) { + return nil + } + + // First, copy the service options struct. + serviceOptions := *service.Options + + // Next, make a copy the service struct, then use the copy of the service options. + // Note, we'll re-use the "Client" instance from the original BaseService instance. + clone := *service + clone.Options = &serviceOptions + + return &clone +} + +// ConfigureService updates the service with external configuration values. +func (service *BaseService) ConfigureService(serviceName string) error { + GetLogger().Debug("Configuring BaseService instance with service name: %s\n", serviceName) + + // Try to load service properties from external config. + serviceProps, err := getServiceProperties(serviceName) + if err != nil { + err = RepurposeSDKProblem(err, "get-props-error") + return err + } + + // If we were able to load any properties for this service, then check to see if the + // service-level properties were present and set them on the service if so. + if serviceProps != nil { + + // URL + if url, ok := serviceProps[PROPNAME_SVC_URL]; ok && url != "" { + err := service.SetServiceURL(url) + if err != nil { + err = RepurposeSDKProblem(err, "set-url-fail") + return err + } + } + + // DISABLE_SSL + if disableSSL, ok := serviceProps[PROPNAME_SVC_DISABLE_SSL]; ok && disableSSL != "" { + // Convert the config string to bool. + boolValue, err := strconv.ParseBool(disableSSL) + if err != nil { + boolValue = false + } + + // If requested, disable SSL. + if boolValue { + service.DisableSSLVerification() + } + } + + // ENABLE_GZIP + if enableGzip, ok := serviceProps[PROPNAME_SVC_ENABLE_GZIP]; ok && enableGzip != "" { + // Convert the config string to bool. + boolValue, err := strconv.ParseBool(enableGzip) + if err == nil { + service.SetEnableGzipCompression(boolValue) + } + } + + // ENABLE_RETRIES + // If "ENABLE_RETRIES" is set to true, then we'll also try to retrieve "MAX_RETRIES" and + // "RETRY_INTERVAL". If those are not specified, we'll use 0 to trigger a default value for each. + if enableRetries, ok := serviceProps[PROPNAME_SVC_ENABLE_RETRIES]; ok && enableRetries != "" { + boolValue, err := strconv.ParseBool(enableRetries) + if boolValue && err == nil { + var maxRetries int = 0 + var retryInterval time.Duration = 0 + + var s string + var ok bool + if s, ok = serviceProps[PROPNAME_SVC_MAX_RETRIES]; ok && s != "" { + n, err := strconv.ParseInt(s, 10, 32) + if err == nil { + maxRetries = int(n) + } + } + + if s, ok = serviceProps[PROPNAME_SVC_RETRY_INTERVAL]; ok && s != "" { + n, err := strconv.ParseInt(s, 10, 32) + if err == nil { + retryInterval = time.Duration(n) * time.Second + } + } + + service.EnableRetries(maxRetries, retryInterval) + } + } + } + return nil +} + +// SetURL sets the service URL. +// +// Deprecated: use SetServiceURL instead. +func (service *BaseService) SetURL(url string) error { + return RepurposeSDKProblem(service.SetServiceURL(url), "set-url-fail") +} + +// SetServiceURL sets the service URL. +func (service *BaseService) SetServiceURL(url string) error { + if HasBadFirstOrLastChar(url) { + err := fmt.Errorf(ERRORMSG_PROP_INVALID, "URL") + return SDKErrorf(err, "", "bad-char", getComponentInfo()) + } + + service.Options.URL = url + GetLogger().Debug("Set service URL: %s\n", url) + return nil +} + +// GetServiceURL returns the service URL. +func (service *BaseService) GetServiceURL() string { + return service.Options.URL +} + +// SetDefaultHeaders sets HTTP headers to be sent in every request. +func (service *BaseService) SetDefaultHeaders(headers http.Header) { + service.DefaultHeaders = headers +} + +// SetHTTPClient will set "client" as the http.Client instance to be used +// to invoke individual HTTP requests. +// If automatic retries are currently enabled on "service", then +// "client" will be set as the embedded client instance within +// the retryable client; otherwise "client" will be stored +// directly on "service". +func (service *BaseService) SetHTTPClient(client *http.Client) { + setMinimumTLSVersion(client) + + if isRetryableClient(service.Client) { + // If "service" is currently holding a retryable client, + // then set "client" as the embedded client used for individual requests. + tr := service.Client.Transport.(*retryablehttp.RoundTripper) + tr.Client.HTTPClient = client + } else { + // Otherwise, just hang "client" directly off the base service. + service.Client = client + } +} + +// GetHTTPClient will return the http.Client instance used +// to invoke individual HTTP requests. +// If automatic retries are enabled, the returned value will +// be the http.Client instance embedded within the retryable client. +// If automatic retries are not enabled, then the returned value +// will simply be the "Client" field of the base service. +func (service *BaseService) GetHTTPClient() *http.Client { + if isRetryableClient(service.Client) { + tr := service.Client.Transport.(*retryablehttp.RoundTripper) + return tr.Client.HTTPClient + } + return service.Client +} + +// DisableSSLVerification will configure the service to +// skip the verification of server certificates and hostnames. +// This will make the client susceptible to "man-in-the-middle" +// attacks. This should be used only for testing or in secure +// environments. +func (service *BaseService) DisableSSLVerification() { + // Make sure we have a non-nil client hanging off the BaseService. + if service.Client == nil { + service.Client = DefaultHTTPClient() + } + + client := service.GetHTTPClient() + if tr, ok := client.Transport.(*http.Transport); tr != nil && ok { + // If no TLS config, then create a new one. + if tr.TLSClientConfig == nil { + tr.TLSClientConfig = &tls.Config{} // #nosec G402 + } + + // Disable server ssl cert & hostname verification. + tr.TLSClientConfig.InsecureSkipVerify = true // #nosec G402 + } + GetLogger().Debug("Disabled SSL verification in HTTP client") +} + +// IsSSLDisabled returns true if and only if the service's http.Client instance +// is configured to skip verification of server SSL certificates. +func (service *BaseService) IsSSLDisabled() bool { + client := service.GetHTTPClient() + if client != nil { + if tr, ok := client.Transport.(*http.Transport); tr != nil && ok { + if tr.TLSClientConfig != nil { + return tr.TLSClientConfig.InsecureSkipVerify + } + } + } + return false +} + +// setMinimumTLSVersion sets the minimum TLS version required by the client to TLS v1.2 +func setMinimumTLSVersion(client *http.Client) { + if tr, ok := client.Transport.(*http.Transport); tr != nil && ok { + if tr.TLSClientConfig == nil { + tr.TLSClientConfig = &tls.Config{} // #nosec G402 + } + + tr.TLSClientConfig.MinVersion = tls.VersionTLS12 + } +} + +// SetEnableGzipCompression sets the service's EnableGzipCompression field +func (service *BaseService) SetEnableGzipCompression(enableGzip bool) { + service.Options.EnableGzipCompression = enableGzip +} + +// GetEnableGzipCompression returns the service's EnableGzipCompression field +func (service *BaseService) GetEnableGzipCompression() bool { + return service.Options.EnableGzipCompression +} + +// buildUserAgent builds the user agent string. +func (service *BaseService) buildUserAgent() string { + return fmt.Sprintf("%s-%s %s", sdkName, __VERSION__, SystemInfo()) +} + +// SetUserAgent sets the user agent value. +func (service *BaseService) SetUserAgent(userAgent string) { + if userAgent == "" { + userAgent = service.buildUserAgent() + } + service.UserAgent = userAgent + GetLogger().Debug("Set User-Agent: %s\n", userAgent) +} + +// Request invokes the specified HTTP request and returns the response. +// +// Parameters: +// req: the http.Request object that holds the request information +// +// result: a pointer to the operation result. This should be one of: +// - *io.ReadCloser (for a byte-stream type response) +// - *, *[], *map[string] +// - *map[string]json.RawMessage, *[]json.RawMessage +// +// Return values: +// detailedResponse: a DetailedResponse instance containing the status code, headers, etc. +// +// err: a non-nil error object if an error occurred +func (service *BaseService) Request(req *http.Request, result interface{}) (detailedResponse *DetailedResponse, err error) { + // Set default headers on the request. + if service.DefaultHeaders != nil { + for k, v := range service.DefaultHeaders { + req.Header.Set(k, strings.Join(v, "")) + } + + // After setting the default headers, make one final check to see if the user + // specified the "Host" header within the default headers. + // This needs to be handled separately because it will be ignored by + // the Request.Write() method. + host := service.DefaultHeaders.Get("Host") + if host != "" { + req.Host = host + } + } + + // Add the default User-Agent header if not already present. + userAgent := req.Header.Get(headerNameUserAgent) + if userAgent == "" { + req.Header.Add(headerNameUserAgent, service.UserAgent) + } + + // Add authentication to the outbound request. + if IsNil(service.Options.Authenticator) { + err = errors.New(ERRORMSG_NO_AUTHENTICATOR) + err = SDKErrorf(err, "", "missing-auth", getComponentInfo()) + return + } + + authenticateError := service.Options.Authenticator.Authenticate(req) + if authenticateError != nil { + var authErr *AuthenticationError + var sdkErr *SDKProblem + if errors.As(authenticateError, &authErr) { + detailedResponse = authErr.Response + err = SDKErrorf(authErr.HTTPProblem, fmt.Sprintf(ERRORMSG_AUTHENTICATE_ERROR, authErr.Error()), "auth-request-failed", getComponentInfo()) + } else if errors.As(authenticateError, &sdkErr) { + sdkErr := RepurposeSDKProblem(authenticateError, "auth-failed") + // For compatibility. + sdkErr.(*SDKProblem).Summary = fmt.Sprintf(ERRORMSG_AUTHENTICATE_ERROR, authenticateError.Error()) + err = sdkErr + } else { + // External authenticators that implement the core interface might return a standard error. + // Handle that by wrapping it here. + err = SDKErrorf(err, fmt.Sprintf(ERRORMSG_AUTHENTICATE_ERROR, authenticateError.Error()), "custom-auth-failed", getComponentInfo()) + } + return + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, !IsNil(req.Body)) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug("error while attempting to log outbound request: %s", dumpErr.Error()) + } + } + + // Invoke the request, then check for errors during the invocation. + GetLogger().Debug("Sending HTTP request message...") + var httpResponse *http.Response + httpResponse, err = service.Client.Do(req) + if err != nil { + if strings.Contains(err.Error(), SSL_CERTIFICATION_ERROR) { + err = errors.New(ERRORMSG_SSL_VERIFICATION_FAILED + "\n" + err.Error()) + } + err = SDKErrorf(err, "", "no-connection-made", getComponentInfo()) + return + } + GetLogger().Debug("Received HTTP response message, status code %d", httpResponse.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(httpResponse, !IsNil(httpResponse.Body)) + if err == nil { + GetLogger().Debug("Response:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug("error while attempting to log inbound response: %s", dumpErr.Error()) + } + } + + // If the operation was unsuccessful, then set up and return + // the DetailedResponse and error objects appropriately. + if httpResponse.StatusCode < 200 || httpResponse.StatusCode >= 300 { + detailedResponse, err = processErrorResponse(httpResponse) + err = RepurposeSDKProblem(err, "error-response") + return + } + + // Operation was successful and we are expecting a response, so process the response. + detailedResponse, contentType := getDetailedResponseAndContentType(httpResponse) + if !IsNil(result) { + resultType := reflect.TypeOf(result).String() + + // If 'result' is a io.ReadCloser, then pass the response body back reflectively via 'result' + // and bypass any further unmarshalling of the response. + if resultType == "*io.ReadCloser" { + rResult := reflect.ValueOf(result).Elem() + rResult.Set(reflect.ValueOf(httpResponse.Body)) + detailedResponse.Result = httpResponse.Body + } else { + + // First, read the response body into a byte array. + defer httpResponse.Body.Close() // #nosec G307 + responseBody, readErr := io.ReadAll(httpResponse.Body) + if readErr != nil { + err = fmt.Errorf(ERRORMSG_READ_RESPONSE_BODY, readErr.Error()) + err = SDKErrorf(err, "", "cant-read-success-res-body", getComponentInfo()) + return + } + + // If the response body is empty, then skip any attempt to deserialize and just return + if len(responseBody) == 0 { + return + } + + // If the content-type indicates JSON, then unmarshal the response body as JSON. + if IsJSONMimeType(contentType) { + // Decode the byte array as JSON. + decodeErr := json.NewDecoder(bytes.NewReader(responseBody)).Decode(result) + if decodeErr != nil { + // Error decoding the response body. + // Return the response body in RawResult, along with an error. + err = fmt.Errorf(ERRORMSG_UNMARSHAL_RESPONSE_BODY, decodeErr.Error()) + err = SDKErrorf(err, "", "res-body-decode-error", getComponentInfo()) + detailedResponse.RawResult = responseBody + return + } + + // Decode step was successful. Return the decoded response object in the Result field. + detailedResponse.Result = reflect.ValueOf(result).Elem().Interface() + return + } + + // Check to see if the caller wanted the response body as a string. + // If the caller passed in 'result' as the address of *string, + // then we'll reflectively set result to point to it. + if resultType == "**string" { + responseString := string(responseBody) + rResult := reflect.ValueOf(result).Elem() + rResult.Set(reflect.ValueOf(&responseString)) + + // And set the string in the Result field. + detailedResponse.Result = &responseString + } else if resultType == "*[]uint8" { // byte is an alias for uint8 + rResult := reflect.ValueOf(result).Elem() + rResult.Set(reflect.ValueOf(responseBody)) + + // And set the byte slice in the Result field. + detailedResponse.Result = responseBody + } else { + // At this point, we don't know how to set the result field, so we have to return an error. + // But make sure we save the bytes we read in the DetailedResponse for debugging purposes + detailedResponse.Result = responseBody + err = fmt.Errorf(ERRORMSG_UNEXPECTED_RESPONSE, contentType, resultType) + err = SDKErrorf(err, "", "unparsable-result-field", getComponentInfo()) + return + } + } + } else if !IsNil(httpResponse.Body) { + // We weren't expecting a response, but we have a reponse body, + // so we need to close it now since we're not going to consume it. + _ = httpResponse.Body.Close() + } + + return +} + +// getDetailedResponseAndContentType starts to populate the DetailedResponse +// and extracts the Content-Type header value from the response. +func getDetailedResponseAndContentType(httpResponse *http.Response) (detailedResponse *DetailedResponse, contentType string) { + if httpResponse != nil { + contentType = httpResponse.Header.Get(CONTENT_TYPE) + detailedResponse = &DetailedResponse{ + StatusCode: httpResponse.StatusCode, + Headers: httpResponse.Header, + } + } + return +} + +func processErrorResponse(httpResponse *http.Response) (detailedResponse *DetailedResponse, err *SDKProblem) { + detailedResponse, contentType := getDetailedResponseAndContentType(httpResponse) + + var responseBody []byte + + // First, read the response body into a byte array. + if !IsNil(httpResponse.Body) { + var readErr error + + defer httpResponse.Body.Close() // #nosec G307 + responseBody, readErr = io.ReadAll(httpResponse.Body) + if readErr != nil { + httpErr := httpErrorf(http.StatusText(httpResponse.StatusCode), detailedResponse) + err = SDKErrorf(httpErr, fmt.Sprintf(ERRORMSG_READ_RESPONSE_BODY, readErr.Error()), "cant-read-error-body", getComponentInfo()) + return + } + } + + // If the responseBody is empty, then just return a generic error based on the status code. + if len(responseBody) == 0 { + httpErr := httpErrorf(http.StatusText(httpResponse.StatusCode), detailedResponse) + err = SDKErrorf(httpErr, "", "no-error-body", getComponentInfo()) + return + } + + // For a JSON-based error response body, decode it into a map (generic JSON object). + if IsJSONMimeType(contentType) { + // Return the error response body as a map, along with an + // error object containing our best guess at an error message. + responseMap, decodeErr := decodeAsMap(responseBody) + if decodeErr == nil { + detailedResponse.Result = responseMap + errorMsg := getErrorMessage(responseMap, detailedResponse.StatusCode) + httpErr := httpErrorf(errorMsg, detailedResponse) + err = SDKErrorf(httpErr, "", "json-error-body", getComponentInfo()) + return + } + } + + // For a non-JSON response or if we tripped while decoding the JSON response, + // just return the response body byte array in the RawResult field along with + // an error object that contains the generic error message for the status code. + detailedResponse.RawResult = responseBody + httpErr := httpErrorf(http.StatusText(httpResponse.StatusCode), detailedResponse) + err = SDKErrorf(httpErr, "", "non-json-error-body", getComponentInfo()) + return +} + +// Errors is a struct used to hold an array of errors received in an operation +// response. +type Errors struct { + Errors []Error `json:"errors,omitempty"` +} + +// Error is a struct used to represent a single error received in an operation +// response. +type Error struct { + Message string `json:"message,omitempty"` + Code string `json:"code,omitempty"` +} + +// decodeAsMap: Decode the specified JSON byte-stream into a map (akin to a generic JSON object). +// Notes: +// 1. This function will return the map (result of decoding the byte-stream) as well as the raw +// byte buffer. We return the byte buffer in addition to the decoded map so that the caller can +// re-use (if necessary) the stream of bytes after we've consumed them via the JSON decode step. +// 2. The primary return value of this function will be: +// a) an instance of map[string]interface{} if the specified byte-stream was successfully +// decoded as JSON. +// b) the string form of the byte-stream if the byte-stream could not be successfully +// decoded as JSON. +// 3. This function will close the io.ReadCloser before returning. +func decodeAsMap(byteBuffer []byte) (result map[string]interface{}, err error) { + err = json.NewDecoder(bytes.NewReader(byteBuffer)).Decode(&result) + if err != nil { + err = SDKErrorf(err, "", "decode-error", getComponentInfo()) + } + return +} + +// getErrorMessage: try to retrieve an error message from the decoded response body (map). +func getErrorMessage(responseMap map[string]interface{}, statusCode int) string { + // If the response contained the "errors" field, then try to deserialize responseMap + // into an array of Error structs, then return the first entry's "Message" field. + if _, ok := responseMap["errors"]; ok { + var errors Errors + responseBuffer, _ := json.Marshal(responseMap) + if err := json.Unmarshal(responseBuffer, &errors); err == nil { + if len(errors.Errors) > 0 { + return errors.Errors[0].Message + } + + return "" + } + } + + // Return the "error" field if present and is a string. + if val, ok := responseMap["error"]; ok { + errorMsg, ok := val.(string) + if ok { + return errorMsg + } + } + + // Return the "message" field if present and is a string. + if val, ok := responseMap["message"]; ok { + errorMsg, ok := val.(string) + if ok { + return errorMsg + } + } + + // Finally, return the "errorMessage" field if present and is a string. + if val, ok := responseMap["errorMessage"]; ok { + errorMsg, ok := val.(string) + if ok { + return errorMsg + } + } + + // If we couldn't find an error message above, just return the generic text + // for the status code. + return http.StatusText(statusCode) +} + +// getErrorCode tries to retrieve an error code from the decoded response body (map). +func getErrorCode(responseMap map[string]interface{}) string { + // If the response contained the "errors" field, then try to deserialize responseMap + // into an array of Error structs, then return the first entry's "Message" field. + if _, ok := responseMap["errors"]; ok { + var errors Errors + responseBuffer, _ := json.Marshal(responseMap) + if err := json.Unmarshal(responseBuffer, &errors); err == nil { + return errors.Errors[0].Code + } + } + + // Return the "code" field if present and is a string. + if val, ok := responseMap["code"]; ok { + errorCode, ok := val.(string) + if ok { + return errorCode + } + } + + // Return the "errorCode" field if present and is a string. + if val, ok := responseMap["errorCode"]; ok { + errorCode, ok := val.(string) + if ok { + return errorCode + } + } + + // If we couldn't find a code, return an empty string + return "" +} + +// isRetryableClient() will return true if and only if "client" is +// an http.Client instance that is configured for automatic retries. +// A retryable client is a client whose transport is a +// retryablehttp.RoundTripper instance. +func isRetryableClient(client *http.Client) bool { + var isRetryable bool = false + if client != nil && client.Transport != nil { + _, isRetryable = client.Transport.(*retryablehttp.RoundTripper) + } + return isRetryable +} + +// EnableRetries will configure the service to perform automatic retries of failed requests. +// If "maxRetries" and/or "maxRetryInterval" are specified as 0, then default values +// are used instead. +// +// In a scenario where retries ARE NOT enabled: +// - BaseService.Client will be a "normal" http.Client instance used to invoke requests +// - BaseService.Client.Transport will be an instance of the default http.RoundTripper +// - BaseService.Client.Do() calls http.RoundTripper.RoundTrip() to invoke the request +// - Only one http.Client instance needed/used (BaseService.Client) in this scenario +// - Result: "normal" request processing without any automatic retries being performed +// +// In a scenario where retries ARE enabled: +// - BaseService.Client will be a "shim" http.Client instance +// - BaseService.Client.Transport will be an instance of retryablehttp.RoundTripper +// - BaseService.Client.Do() calls retryablehttp.RoundTripper.RoundTrip() (via the shim) +// to invoke the request +// - The retryablehttp.RoundTripper instance is configured with the retryablehttp.Client +// instance which holds the various retry config properties (max retries, max interval, etc.) +// - The retryablehttp.RoundTripper.RoundTrip() method triggers the retry logic in the retryablehttp.Client +// - The retryablehttp.Client instance's HTTPClient field holds a "normal" http.Client instance, +// which is used to invoke individual requests within the retry loop. +// - To summarize, there are three client instances used for request processing in this scenario: +// 1. The "shim" http.Client instance (BaseService.Client) +// 2. The retryablehttp.Client instance that implements the retry logic +// 3. The "normal" http.Client instance embedded in the retryablehttp.Client which is used to invoke +// individual requests within the retry logic +// - Result: Each request is invoked such that the automatic retry logic is employed +func (service *BaseService) EnableRetries(maxRetries int, maxRetryInterval time.Duration) { + if isRetryableClient(service.Client) { + // If retries are already enabled, then we just need to adjust + // the retryable client's config using "maxRetries" and "maxRetryInterval". + tr := service.Client.Transport.(*retryablehttp.RoundTripper) + if maxRetries > 0 { + tr.Client.RetryMax = maxRetries + } + if maxRetryInterval > 0 { + tr.Client.RetryWaitMax = maxRetryInterval + } + } else { + // Otherwise, we need to create a new retryable client instance + // and hang it off the base service. + client := NewRetryableClientWithHTTPClient(service.Client) + if maxRetries > 0 { + client.RetryMax = maxRetries + } + if maxRetryInterval > 0 { + client.RetryWaitMax = maxRetryInterval + } + + // Hang the retryable client off the base service via the "shim" client. + service.Client = client.StandardClient() + } + GetLogger().Debug("Enabled retries; maxRetries=%d, maxRetryInterval=%s\n", maxRetries, maxRetryInterval.String()) +} + +// DisableRetries will disable automatic retries in the service. +func (service *BaseService) DisableRetries() { + if isRetryableClient(service.Client) { + // If the current client hanging off the base service is retryable, + // then we need to get ahold of the embedded http.Client instance + // and set that on the base service and effectively remove + // the retryable client instance. + tr := service.Client.Transport.(*retryablehttp.RoundTripper) + service.Client = tr.Client.HTTPClient + + GetLogger().Debug("Disabled retries\n") + } +} + +// DefaultHTTPClient returns a non-retryable http client with default configuration. +func DefaultHTTPClient() *http.Client { + client := cleanhttp.DefaultPooledClient() + setMinimumTLSVersion(client) + return client +} + +// httpLogger is a shim layer used to allow the Go core's logger to be used with the retryablehttp interfaces. +type httpLogger struct{} + +func (l *httpLogger) Printf(format string, inserts ...interface{}) { + if GetLogger().IsLogLevelEnabled(LevelDebug) { + msg := fmt.Sprintf(format, inserts...) + GetLogger().Log(LevelDebug, RedactSecrets(msg)) + } +} + +// NewRetryableHTTPClient returns a new instance of a retryable client +// with a default configuration that supports Go SDK usage. +func NewRetryableHTTPClient() *retryablehttp.Client { + return NewRetryableClientWithHTTPClient(nil) +} + +// NewRetryableClientWithHTTPClient will return a new instance of a +// retryable client, using "httpClient" as the embedded client used to +// invoke individual requests within the retry logic. +// If "httpClient" is passed in as nil, then a default HTTP client will be +// used as the embedded client instead. +func NewRetryableClientWithHTTPClient(httpClient *http.Client) *retryablehttp.Client { + client := retryablehttp.NewClient() + client.Logger = &httpLogger{} + client.CheckRetry = IBMCloudSDKRetryPolicy + client.Backoff = IBMCloudSDKBackoffPolicy + client.ErrorHandler = retryablehttp.PassthroughErrorHandler + + if httpClient != nil { + // If a non-nil http client was passed in, then let's use that + // as our embedded client used to invoke individual requests. + client.HTTPClient = httpClient + } else { + // Otherwise, we'll use construct a default HTTP client and use that + client.HTTPClient = DefaultHTTPClient() + } + + return client +} + +var ( + // A regular expression to match the error returned by net/http when the + // configured number of redirects is exhausted. This error isn't typed + // specifically so we resort to matching on the error string. + redirectsErrorRe = regexp.MustCompile(`stopped after \d+ redirects\z`) + + // A regular expression to match the error returned by net/http when the + // scheme specified in the URL is invalid. This error isn't typed + // specifically so we resort to matching on the error string. + schemeErrorRe = regexp.MustCompile(`unsupported protocol scheme`) + + // A regular expression to match the error returned by net/http when a + // request header or value is invalid. This error isn't typed + // specifically so we resort to matching on the error string. + invalidHeaderErrorRe = regexp.MustCompile(`invalid header`) + + // A regular expression to match the error returned by net/http when the + // TLS certificate is not trusted. This error isn't typed + // specifically so we resort to matching on the error string. + notTrustedErrorRe = regexp.MustCompile(`certificate is not trusted|certificate is signed by unknown authority`) +) + +// IBMCloudSDKRetryPolicy provides a default implementation of the CheckRetry interface +// associated with a retryablehttp.Client. +// This function will return true if the specified request/response should be retried. +func IBMCloudSDKRetryPolicy(ctx context.Context, resp *http.Response, err error) (bool, error) { + // This logic was adapted from go-retryablehttp.ErrorPropagatedRetryPolicy(). + + if GetLogger().IsLogLevelEnabled(LevelDebug) { + // Compile the details to be included in the debug message. + var details []string + if resp != nil { + details = append(details, fmt.Sprintf("status_code=%d", resp.StatusCode)) + if resp.Request != nil { + details = append(details, fmt.Sprintf("method=%s", resp.Request.Method)) + details = append(details, fmt.Sprintf("url=%s", resp.Request.URL.Redacted())) + } + } + if err != nil { + details = append(details, fmt.Sprintf("error=%s", err.Error())) + } else { + details = append(details, "error=nil") + } + + GetLogger().Debug("Considering retry attempt; %s\n", strings.Join(details, ", ")) + } + + // Do not retry on a Context-related error (Canceled or DeadlineExceeded). + if ctx.Err() != nil { + GetLogger().Debug("No retry, Context error: %s\n", ctx.Err().Error()) + return false, ctx.Err() + } + + // Next, check for a few non-retryable errors. + if err != nil { + if v, ok := err.(*url.Error); ok { + // Don't retry if the error was due to too many redirects. + if redirectsErrorRe.MatchString(v.Error()) { + GetLogger().Debug("No retry, too many redirects: %s\n", v.Error()) + return false, SDKErrorf(v, "", "too-many-redirects", getComponentInfo()) + } + + // Don't retry if the error was due to an invalid protocol scheme. + if schemeErrorRe.MatchString(v.Error()) { + GetLogger().Debug("No retry, invalid protocol scheme: %s\n", v.Error()) + return false, SDKErrorf(v, "", "invalid-scheme", getComponentInfo()) + } + + // Don't retry if the error was due to an invalid header. + if invalidHeaderErrorRe.MatchString(v.Error()) { + GetLogger().Debug("No retry, invalid header: %s\n", v.Error()) + return false, SDKErrorf(v, "", "invalid-header", getComponentInfo()) + } + + // Don't retry if the error was due to TLS cert verification failure. + if notTrustedErrorRe.MatchString(v.Error()) { + GetLogger().Debug("No retry, TLS certificate is not trusted: %s\n", v.Error()) + return false, SDKErrorf(v, "", "cert-not-trusted", getComponentInfo()) + } + if _, ok := v.Err.(*tls.CertificateVerificationError); ok { + GetLogger().Debug("No retry, TLS certificate validation error: %s\n", v.Error()) + return false, SDKErrorf(v, "", "cert-failure", getComponentInfo()) + } + } + + // The error is likely recoverable so retry. + GetLogger().Debug("Retry will be attempted...") + return true, nil + } + + // Now check the status code. + + // A 429 should be retryable. + // All codes in the 500's range except for 501 (Not Implemented) should be retryable. + if resp.StatusCode == 429 || (resp.StatusCode >= 500 && resp.StatusCode <= 599 && resp.StatusCode != 501) { + GetLogger().Debug("Retry will be attempted") + return true, nil + } + + GetLogger().Debug("No retry for status code: %d\n", resp.StatusCode) + return false, nil +} + +// IBMCloudSDKBackoffPolicy provides a default implementation of the Backoff interface +// associated with a retryablehttp.Client. +// This function will return the wait time to be associated with the next retry attempt. +func IBMCloudSDKBackoffPolicy(min, max time.Duration, attemptNum int, resp *http.Response) time.Duration { + // Check for a Retry-After header. + if resp != nil { + if s, ok := resp.Header["Retry-After"]; ok { + GetLogger().Debug("Found Retry-After header: %s\n", s) + + // First, try to parse the value as an integer (number of seconds to wait) + if sleep, err := strconv.ParseInt(s[0], 10, 64); err == nil { + return time.Second * time.Duration(sleep) + } + + // Otherwise, try to parse the value as an HTTP Time value. + if retryTime, err := http.ParseTime(s[0]); err == nil { + sleep := time.Until(retryTime) + if sleep > max { + sleep = max + } + return sleep + } + } + } + + // If no header-based wait time can be determined, then ask DefaultBackoff() + // to compute an exponential backoff. + return retryablehttp.DefaultBackoff(min, max, attemptNum, resp) +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/basic_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/basic_authenticator.go new file mode 100644 index 000000000..33b81401f --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/basic_authenticator.go @@ -0,0 +1,100 @@ +package core + +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "errors" + "fmt" + "net/http" +) + +// BasicAuthenticator takes a user-supplied username and password, and adds +// them to requests via an Authorization header of the form: +// +// Authorization: Basic +type BasicAuthenticator struct { + // Username is the user-supplied basic auth username [required]. + Username string + // Password is the user-supplied basic auth password [required]. + Password string +} + +// NewBasicAuthenticator constructs a new BasicAuthenticator instance. +func NewBasicAuthenticator(username string, password string) (*BasicAuthenticator, error) { + obj := &BasicAuthenticator{ + Username: username, + Password: password, + } + if err := obj.Validate(); err != nil { + err = RepurposeSDKProblem(err, "validation-failed") + return nil, err + } + return obj, nil +} + +// newBasicAuthenticatorFromMap constructs a new BasicAuthenticator instance +// from a map. +func newBasicAuthenticatorFromMap(properties map[string]string) (*BasicAuthenticator, error) { + if properties == nil { + err := errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + return NewBasicAuthenticator(properties[PROPNAME_USERNAME], properties[PROPNAME_PASSWORD]) +} + +// AuthenticationType returns the authentication type for this authenticator. +func (BasicAuthenticator) AuthenticationType() string { + return AUTHTYPE_BASIC +} + +// Authenticate adds basic authentication information to a request. +// +// Basic Authorization will be added to the request's headers in the form: +// +// Authorization: Basic +func (authenticator *BasicAuthenticator) Authenticate(request *http.Request) error { + request.SetBasicAuth(authenticator.Username, authenticator.Password) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// Validate the authenticator's configuration. +// +// Ensures the username and password are not Nil. Additionally, ensures +// they do not contain invalid characters. +func (authenticator BasicAuthenticator) Validate() error { + if authenticator.Username == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "Username") + return SDKErrorf(err, "", "no-user", getComponentInfo()) + } + + if authenticator.Password == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "Password") + return SDKErrorf(err, "", "no-pass", getComponentInfo()) + } + + if HasBadFirstOrLastChar(authenticator.Username) { + err := fmt.Errorf(ERRORMSG_PROP_INVALID, "Username") + return SDKErrorf(err, "", "bad-user", getComponentInfo()) + } + + if HasBadFirstOrLastChar(authenticator.Password) { + err := fmt.Errorf(ERRORMSG_PROP_INVALID, "Password") + return SDKErrorf(err, "", "bad-pass", getComponentInfo()) + } + + return nil +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/bearer_token_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/bearer_token_authenticator.go new file mode 100644 index 000000000..7e035b714 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/bearer_token_authenticator.go @@ -0,0 +1,79 @@ +package core + +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "errors" + "fmt" + "net/http" +) + +// BearerTokenAuthenticator will take a user-supplied bearer token and adds +// it to requests via an Authorization header of the form: +// +// Authorization: Bearer +type BearerTokenAuthenticator struct { + // The bearer token value to be used to authenticate request [required]. + BearerToken string +} + +// NewBearerTokenAuthenticator constructs a new BearerTokenAuthenticator instance. +func NewBearerTokenAuthenticator(bearerToken string) (*BearerTokenAuthenticator, error) { + obj := &BearerTokenAuthenticator{ + BearerToken: bearerToken, + } + if err := obj.Validate(); err != nil { + err = RepurposeSDKProblem(err, "validation-failed") + return nil, err + } + return obj, nil +} + +// newBearerTokenAuthenticator : Constructs a new BearerTokenAuthenticator instance from a map. +func newBearerTokenAuthenticatorFromMap(properties map[string]string) (*BearerTokenAuthenticator, error) { + if properties == nil { + err := errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + return NewBearerTokenAuthenticator(properties[PROPNAME_BEARER_TOKEN]) +} + +// AuthenticationType returns the authentication type for this authenticator. +func (BearerTokenAuthenticator) AuthenticationType() string { + return AUTHTYPE_BEARER_TOKEN +} + +// Authenticate adds bearer authentication information to the request. +// +// The bearer token will be added to the request's headers in the form: +// +// Authorization: Bearer +func (authenticator *BearerTokenAuthenticator) Authenticate(request *http.Request) error { + request.Header.Set("Authorization", fmt.Sprintf(`Bearer %s`, authenticator.BearerToken)) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// Validate the authenticator's configuration. +// +// Ensures the bearer token is not Nil. +func (authenticator BearerTokenAuthenticator) Validate() error { + if authenticator.BearerToken == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "BearerToken") + return SDKErrorf(err, "", "no-token", getComponentInfo()) + } + return nil +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/config_utils.go b/vendor/github.com/IBM/go-sdk-core/v5/core/config_utils.go new file mode 100644 index 000000000..39e720701 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/config_utils.go @@ -0,0 +1,265 @@ +package core + +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "bufio" + "encoding/json" + "fmt" + "os" + "path" + "strings" +) + +const ( + // IBM_CREDENTIAL_FILE_ENVVAR is the environment key used to find the path to + // a credentials file. + IBM_CREDENTIAL_FILE_ENVVAR = "IBM_CREDENTIALS_FILE" + + // DEFAULT_CREDENTIAL_FILE_NAME is the default filename for a credentials file. + // It is used when "IBM_CREDENTIALS_FILE" is not specified. The filename will + // be searched for within the program's working directory, and then the OS's + // current user directory. + DEFAULT_CREDENTIAL_FILE_NAME = "ibm-credentials.env" +) + +// GetServiceProperties returns a map containing configuration properties for the specified service +// that are retrieved from external configuration sources in the following precedence order: +// 1) credential file +// 2) environment variables +// 3) VCAP_SERVICES +// +// 'serviceName' is used as a filter against the property names. For example, if serviceName is +// passed in as "my_service", then configuration properties whose names begin with "MY_SERVICE_" +// will be returned in the map. +func GetServiceProperties(serviceName string) (serviceProps map[string]string, err error) { + serviceProps, err = getServiceProperties(serviceName) + err = RepurposeSDKProblem(err, "get-props-error") + return +} + +// getServiceProperties: This function will retrieve configuration properties for the specified service +// from external config sources in the following precedence order: +// 1) credential file +// 2) environment variables +// 3) VCAP_SERVICES +func getServiceProperties(serviceName string) (serviceProps map[string]string, err error) { + + if serviceName == "" { + err = fmt.Errorf("serviceName was not specified") + err = SDKErrorf(err, "", "no-service-name", getComponentInfo()) + return + } + + GetLogger().Debug("Retrieving config properties for service '%s'\n", serviceName) + + // First try to retrieve service properties from a credential file. + serviceProps = getServicePropertiesFromCredentialFile(serviceName) + + // Next, try to retrieve them from environment variables. + if serviceProps == nil { + serviceProps = getServicePropertiesFromEnvironment(serviceName) + } + + // Finally, try to retrieve them from VCAP_SERVICES. + if serviceProps == nil { + serviceProps = getServicePropertiesFromVCAP(serviceName) + } + + GetLogger().Debug("Retrieved %d properties\n", len(serviceProps)) + + return +} + +// getServicePropertiesFromCredentialFile: returns a map containing properties found within a credential file +// that are associated with the specified credentialKey. Returns a nil map if no properties are found. +// Credential file search order: +// 1) ${IBM_CREDENTIALS_FILE} +// 2) /ibm-credentials.env +// 3) /ibm-credentials.env +func getServicePropertiesFromCredentialFile(credentialKey string) map[string]string { + + // Check the search order for the credential file that we'll attempt to load: + var credentialFilePath string + + // 1) ${IBM_CREDENTIALS_FILE} + envPath := os.Getenv(IBM_CREDENTIAL_FILE_ENVVAR) + if _, err := os.Stat(envPath); err == nil { + credentialFilePath = envPath + } + + // 2) /ibm-credentials.env + if credentialFilePath == "" { + dir, _ := os.Getwd() + var filePath = path.Join(dir, DEFAULT_CREDENTIAL_FILE_NAME) + if _, err := os.Stat(filePath); err == nil { + credentialFilePath = filePath + } + } + + // 3) /ibm-credentials.env + if credentialFilePath == "" { + var filePath = path.Join(UserHomeDir(), DEFAULT_CREDENTIAL_FILE_NAME) + if _, err := os.Stat(filePath); err == nil { + credentialFilePath = filePath + } + } + + // If we found a file to load, then load it. + if credentialFilePath != "" { + file, err := os.Open(credentialFilePath) // #nosec G304 + if err != nil { + return nil + } + defer file.Close() // #nosec G307 + + // Collect the contents of the credential file in a string array. + lines := make([]string, 0) + scanner := bufio.NewScanner(file) + for scanner.Scan() { + lines = append(lines, scanner.Text()) + } + + // Parse the file contents into name/value pairs. + return parsePropertyStrings(credentialKey, lines) + } + + return nil +} + +// getServicePropertiesFromEnvironment: returns a map containing properties found within the environment +// that are associated with the specified credentialKey. Returns a nil map if no properties are found. +func getServicePropertiesFromEnvironment(credentialKey string) map[string]string { + return parsePropertyStrings(credentialKey, os.Environ()) +} + +// getServicePropertiesFromVCAP: returns a map containing properties found within the VCAP_SERVICES +// environment variable for the specified credentialKey (service name). Returns a nil map if no properties are found. +func getServicePropertiesFromVCAP(credentialKey string) map[string]string { + credentials := loadFromVCAPServices(credentialKey) + if credentials != nil { + props := make(map[string]string) + if credentials.URL != "" { + props[PROPNAME_SVC_URL] = credentials.URL + } + + if credentials.Username != "" { + props[PROPNAME_USERNAME] = credentials.Username + } + + if credentials.Password != "" { + props[PROPNAME_PASSWORD] = credentials.Password + } + + if credentials.APIKey != "" { + props[PROPNAME_APIKEY] = credentials.APIKey + } + + // If no values were actually found in this credential entry, then bail out now. + if len(props) == 0 { + return nil + } + + // Make a (hopefully good) guess at the auth type. + authType := "" + if props[PROPNAME_APIKEY] != "" { + authType = AUTHTYPE_IAM + } else if props[PROPNAME_USERNAME] != "" || props[PROPNAME_PASSWORD] != "" { + authType = AUTHTYPE_BASIC + } else { + authType = AUTHTYPE_IAM + } + props[PROPNAME_AUTH_TYPE] = authType + + return props + } + + return nil +} + +// parsePropertyStrings: accepts an array of strings of the form "=" and parses/filters them to +// produce a map of properties associated with the specified credentialKey. +func parsePropertyStrings(credentialKey string, propertyStrings []string) map[string]string { + if len(propertyStrings) == 0 { + return nil + } + + props := make(map[string]string) + credentialKey = strings.ToUpper(credentialKey) + credentialKey = strings.Replace(credentialKey, "-", "_", -1) + credentialKey += "_" + for _, propertyString := range propertyStrings { + + // Trim the property string and ignore any blank or comment lines. + propertyString = strings.TrimSpace(propertyString) + if propertyString == "" || strings.HasPrefix(propertyString, "#") { + continue + } + + // Parse the property string into name and value tokens + var tokens = strings.SplitN(propertyString, "=", 2) + if len(tokens) == 2 { + // Does the name start with the credential key? + // If so, then extract the property name by filtering out the credential key, + // then store the name/value pair in the map. + if strings.HasPrefix(tokens[0], credentialKey) && (len(tokens[0]) > len(credentialKey)) { + name := tokens[0][len(credentialKey):] + value := strings.TrimSpace(tokens[1]) + props[name] = value + } + } + } + + if len(props) == 0 { + return nil + } + return props +} + +// Service : The service +type service struct { + Name string `json:"name,omitempty"` + Credentials *credential `json:"credentials,omitempty"` +} + +// Credential : The service credential +type credential struct { + URL string `json:"url,omitempty"` + Username string `json:"username,omitempty"` + Password string `json:"password,omitempty"` + APIKey string `json:"apikey,omitempty"` +} + +// LoadFromVCAPServices : returns the credential of the service +func loadFromVCAPServices(serviceName string) *credential { + vcapServices := os.Getenv("VCAP_SERVICES") + if vcapServices != "" { + var rawServices map[string][]service + if err := json.Unmarshal([]byte(vcapServices), &rawServices); err != nil { + return nil + } + for _, serviceEntries := range rawServices { + for _, service := range serviceEntries { + if service.Name == serviceName { + return service.Credentials + } + } + } + if serviceList, exists := rawServices[serviceName]; exists && len(serviceList) > 0 { + return serviceList[0].Credentials + } + } + return nil +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/constants.go b/vendor/github.com/IBM/go-sdk-core/v5/core/constants.go new file mode 100644 index 000000000..3f2dada85 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/constants.go @@ -0,0 +1,101 @@ +package core + +// (C) Copyright IBM Corp. 2019, 2025. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const ( + // Supported authentication types. + AUTHTYPE_BASIC = "basic" + AUTHTYPE_BEARER_TOKEN = "bearerToken" + AUTHTYPE_NOAUTH = "noAuth" + AUTHTYPE_IAM = "iam" + AUTHTYPE_IAM_ASSUME = "iamAssume" + AUTHTYPE_CP4D = "cp4d" + AUTHTYPE_CONTAINER = "container" + AUTHTYPE_VPC = "vpc" + AUTHTYPE_MCSP = "mcsp" + AUTHTYPE_MCSPV2 = "mcspv2" + + // Names of properties that can be defined as part of an external configuration (credential file, env vars, etc.). + // Example: export MYSERVICE_URL=https://myurl + + // Service client properties. + PROPNAME_SVC_URL = "URL" + PROPNAME_SVC_DISABLE_SSL = "DISABLE_SSL" + PROPNAME_SVC_ENABLE_GZIP = "ENABLE_GZIP" + PROPNAME_SVC_ENABLE_RETRIES = "ENABLE_RETRIES" + PROPNAME_SVC_MAX_RETRIES = "MAX_RETRIES" + PROPNAME_SVC_RETRY_INTERVAL = "RETRY_INTERVAL" + + // Authenticator properties. + PROPNAME_AUTH_TYPE = "AUTH_TYPE" + PROPNAME_USERNAME = "USERNAME" + PROPNAME_PASSWORD = "PASSWORD" + PROPNAME_BEARER_TOKEN = "BEARER_TOKEN" + PROPNAME_AUTH_URL = "AUTH_URL" + PROPNAME_AUTH_DISABLE_SSL = "AUTH_DISABLE_SSL" + PROPNAME_APIKEY = "APIKEY" + PROPNAME_REFRESH_TOKEN = "REFRESH_TOKEN" // #nosec G101 + PROPNAME_CLIENT_ID = "CLIENT_ID" + PROPNAME_CLIENT_SECRET = "CLIENT_SECRET" + PROPNAME_SCOPE = "SCOPE" + PROPNAME_CRTOKEN_FILENAME = "CR_TOKEN_FILENAME" // #nosec G101 + PROPNAME_IAM_PROFILE_CRN = "IAM_PROFILE_CRN" + PROPNAME_IAM_PROFILE_NAME = "IAM_PROFILE_NAME" + PROPNAME_IAM_PROFILE_ID = "IAM_PROFILE_ID" + PROPNAME_IAM_ACCOUNT_ID = "IAM_ACCOUNT_ID" + PROPNAME_SCOPE_COLLECTION_TYPE = "SCOPE_COLLECTION_TYPE" + PROPNAME_SCOPE_ID = "SCOPE_ID" + PROPNAME_INCLUDE_BUILTIN_ACTIONS = "INCLUDE_BUILTIN_ACTIONS" + PROPNAME_INCLUDE_CUSTOM_ACTIONS = "INCLUDE_CUSTOM_ACTIONS" + PROPNAME_INCLUDE_ROLES = "INCLUDE_ROLES" + PROPNAME_PREFIX_ROLES = "PREFIX_ROLES" + PROPNAME_CALLER_EXT_CLAIM = "CALLER_EXT_CLAIM" + + // SSL error + SSL_CERTIFICATION_ERROR = "x509: certificate" + + // Common error messages. + ERRORMSG_PROP_MISSING = "The %s property is required but was not specified." + ERRORMSG_PROP_INVALID = "The %s property is invalid. Please remove any surrounding {, }, or \" characters." + ERRORMSG_EXCLUSIVE_PROPS_ERROR = "Exactly one of %s or %s must be specified." + ERRORMSG_ATLEAST_ONE_PROP_ERROR = "At least one of %s or %s must be specified." + ERRORMSG_ATMOST_ONE_PROP_ERROR = "At most one of %s or %s may be specified." + ERRORMSG_NO_AUTHENTICATOR = "Authentication information was not properly configured." + ERRORMSG_AUTHTYPE_UNKNOWN = "Unrecognized authentication type: %s" + ERRORMSG_PROPS_MAP_NIL = "The 'properties' map cannot be nil." + ERRORMSG_SSL_VERIFICATION_FAILED = "The connection failed because the SSL certificate is not valid. To use a " + + "self-signed certificate, disable verification of the server's SSL certificate " + + "by invoking the DisableSSLVerification() function on your service instance " + + "and/or use the DisableSSLVerification option of the authenticator." + ERRORMSG_AUTHENTICATE_ERROR = "An error occurred while performing the 'authenticate' step: %s" + ERRORMSG_READ_RESPONSE_BODY = "An error occurred while reading the response body: %s" + ERRORMSG_UNEXPECTED_RESPONSE = "The response contained unexpected content, Content-Type=%s, operation resultType=%s" + ERRORMSG_UNMARSHAL_RESPONSE_BODY = "An error occurred while processing the HTTP response: %s" + ERRORMSG_NIL_SLICE = "The 'slice' parameter cannot be nil" + ERRORMSG_PARAM_NOT_SLICE = "The 'slice' parameter must be a slice" + ERRORMSG_MARSHAL_SLICE = "An error occurred while marshalling the slice: %s" + ERRORMSG_CONVERT_SLICE = "An error occurred while converting 'slice' to string slice" + ERRORMSG_UNEXPECTED_STATUS_CODE = "Unexpected HTTP status code %d (%s)" + ERRORMSG_UNMARSHAL_AUTH_RESPONSE = "error unmarshalling authentication response: %s" + ERRORMSG_UNABLE_RETRIEVE_CRTOKEN = "unable to retrieve compute resource token value: %s" // #nosec G101 + ERRORMSG_IAM_GETTOKEN_ERROR = "IAM 'get token' error, status code %d received from '%s': %s" // #nosec G101 + ERRORMSG_UNABLE_RETRIEVE_IITOKEN = "unable to retrieve instance identity token value: %s" // #nosec G101 + ERRORMSG_VPCMDS_OPERATION_ERROR = "VPC metadata service error, status code %d received from '%s': %s" + ERRORMSG_ACCOUNTID_PROP_ERROR = "IAMAccountID must be specified if and only if IAMProfileName is specified" + ERRORMSG_PROP_PARSE_ERROR = "error parsing configuration property %s, value=%s" + + // The name of this module - matches the value in the go.mod file. + MODULE_NAME = "github.com/IBM/go-sdk-core/v5" +) diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/container_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/container_authenticator.go new file mode 100644 index 000000000..2a47409f4 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/container_authenticator.go @@ -0,0 +1,551 @@ +package core + +// (C) Copyright IBM Corp. 2021, 2025. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "crypto/tls" + "encoding/json" + "errors" + "fmt" + "net/http" + "net/http/httputil" + "os" + "strconv" + "strings" + "sync" + "time" +) + +// ContainerAuthenticator implements an IAM-based authentication schema whereby it +// retrieves a "compute resource token" from the local compute resource (IKS pod, or Code Engine application, function, or job) +// and uses that to obtain an IAM access token by invoking the IAM "get token" operation with grant-type=cr-token. +// The resulting IAM access token is then added to outbound requests in an Authorization header +// of the form: +// +// Authorization: Bearer +type ContainerAuthenticator struct { + // [optional] The name of the file containing the injected CR token value (applies to + // IKS-managed compute resources, a Code Engine compute resource always uses the third default from below). + // Default value: (1) "/var/run/secrets/tokens/vault-token" or (2) "/var/run/secrets/tokens/sa-token" or (3) "/var/run/secrets/codeengine.cloud.ibm.com/compute-resource-token/token", + // whichever is found first. + CRTokenFilename string + + // [optional] The name of the linked trusted IAM profile to be used when obtaining the IAM access token. + // One of IAMProfileName or IAMProfileID must be specified. + // Default value: "" + IAMProfileName string + + // [optional] The id of the linked trusted IAM profile to be used when obtaining the IAM access token. + // One of IAMProfileName or IAMProfileID must be specified. + // Default value: "" + IAMProfileID string + + // [optional] The IAM token server's base endpoint URL. + // Default value: "https://iam.cloud.ibm.com" + URL string + urlInit sync.Once + + // [optional] The ClientID and ClientSecret fields are used to form a "basic auth" + // Authorization header for interactions with the IAM token server. + // If neither field is specified, then no Authorization header will be sent + // with token server requests. + // These fields are both optional, but must be specified together. + // Default value: "" + ClientID string + ClientSecret string + + // [optional] A flag that indicates whether verification of the server's SSL certificate + // should be disabled. + // Default value: false + DisableSSLVerification bool + + // [optional] The "scope" to use when fetching the access token from the IAM token server. + // This can be used to obtain an access token with a specific scope. + // Default value: "" + Scope string + + // [optional] A set of key/value pairs that will be sent as HTTP headers in requests + // made to the IAM token server. + // Default value: nil + Headers map[string]string + + // [optional] The http.Client object used in interacts with the IAM token server. + // If not specified by the user, a suitable default Client will be constructed. + Client *http.Client + clientInit sync.Once + + // The User-Agent header value to be included with each token request. + userAgent string + userAgentInit sync.Once + + // The cached IAM access token and its expiration time. + tokenData *iamTokenData + + // Mutex to synchronize access to the tokenData field. + tokenDataMutex sync.Mutex +} + +const ( + defaultCRTokenFilename1 = "/var/run/secrets/tokens/vault-token" // #nosec G101 + defaultCRTokenFilename2 = "/var/run/secrets/tokens/sa-token" // #nosec G101 + defaultCRTokenFilename3 = "/var/run/secrets/codeengine.cloud.ibm.com/compute-resource-token/token" // #nosec G101 + iamGrantTypeCRToken = "urn:ibm:params:oauth:grant-type:cr-token" // #nosec G101 +) + +var craRequestTokenMutex sync.Mutex + +// ContainerAuthenticatorBuilder is used to construct an instance of the ContainerAuthenticator +type ContainerAuthenticatorBuilder struct { + ContainerAuthenticator +} + +// NewContainerAuthenticatorBuilder returns a new builder struct that +// can be used to construct a ContainerAuthenticator instance. +func NewContainerAuthenticatorBuilder() *ContainerAuthenticatorBuilder { + return &ContainerAuthenticatorBuilder{} +} + +// SetCRTokenFilename sets the CRTokenFilename field in the builder. +func (builder *ContainerAuthenticatorBuilder) SetCRTokenFilename(s string) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.CRTokenFilename = s + return builder +} + +// SetIAMProfileName sets the IAMProfileName field in the builder. +func (builder *ContainerAuthenticatorBuilder) SetIAMProfileName(s string) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.IAMProfileName = s + return builder +} + +// SetIAMProfileID sets the IAMProfileID field in the builder. +func (builder *ContainerAuthenticatorBuilder) SetIAMProfileID(s string) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.IAMProfileID = s + return builder +} + +// SetURL sets the URL field in the builder. +func (builder *ContainerAuthenticatorBuilder) SetURL(s string) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.URL = s + return builder +} + +// SetClientIDSecret sets the ClientID and ClientSecret fields in the builder. +func (builder *ContainerAuthenticatorBuilder) SetClientIDSecret(clientID, clientSecret string) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.ClientID = clientID + builder.ContainerAuthenticator.ClientSecret = clientSecret + return builder +} + +// SetDisableSSLVerification sets the DisableSSLVerification field in the builder. +func (builder *ContainerAuthenticatorBuilder) SetDisableSSLVerification(b bool) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.DisableSSLVerification = b + return builder +} + +// SetScope sets the Scope field in the builder. +func (builder *ContainerAuthenticatorBuilder) SetScope(s string) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.Scope = s + return builder +} + +// SetHeaders sets the Headers field in the builder. +func (builder *ContainerAuthenticatorBuilder) SetHeaders(headers map[string]string) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.Headers = headers + return builder +} + +// SetClient sets the Client field in the builder. +func (builder *ContainerAuthenticatorBuilder) SetClient(client *http.Client) *ContainerAuthenticatorBuilder { + builder.ContainerAuthenticator.Client = client + return builder +} + +// Build() returns a validated instance of the ContainerAuthenticator with the config that was set in the builder. +func (builder *ContainerAuthenticatorBuilder) Build() (*ContainerAuthenticator, error) { + // Make sure the config is valid. + err := builder.ContainerAuthenticator.Validate() + if err != nil { + return nil, RepurposeSDKProblem(err, "validation-failed") + } + + return &builder.ContainerAuthenticator, nil +} + +// client returns the authenticator's http client after potentially initializing it. +func (authenticator *ContainerAuthenticator) client() *http.Client { + authenticator.clientInit.Do(func() { + if authenticator.Client == nil { + authenticator.Client = DefaultHTTPClient() + authenticator.Client.Timeout = time.Second * 30 + + // If the user told us to disable SSL verification, then do it now. + if authenticator.DisableSSLVerification { + transport := &http.Transport{ + // #nosec G402 + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + Proxy: http.ProxyFromEnvironment, + } + authenticator.Client.Transport = transport + } + } + }) + return authenticator.Client +} + +// getUserAgent returns the User-Agent header value to be included in each token request invoked by the authenticator. +func (authenticator *ContainerAuthenticator) getUserAgent() string { + authenticator.userAgentInit.Do(func() { + authenticator.userAgent = fmt.Sprintf("%s/%s-%s %s", sdkName, "container-authenticator", __VERSION__, SystemInfo()) + }) + return authenticator.userAgent +} + +// newContainerAuthenticatorFromMap constructs a new ContainerAuthenticator instance from a map containing +// configuration properties. +func newContainerAuthenticatorFromMap(properties map[string]string) (authenticator *ContainerAuthenticator, err error) { + if properties == nil { + err := errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + // Grab the AUTH_DISABLE_SSL string property and convert to a boolean value. + disableSSL, err := strconv.ParseBool(properties[PROPNAME_AUTH_DISABLE_SSL]) + if err != nil { + disableSSL = false + } + + authenticator, err = NewContainerAuthenticatorBuilder(). + SetCRTokenFilename(properties[PROPNAME_CRTOKEN_FILENAME]). + SetIAMProfileName(properties[PROPNAME_IAM_PROFILE_NAME]). + SetIAMProfileID(properties[PROPNAME_IAM_PROFILE_ID]). + SetURL(properties[PROPNAME_AUTH_URL]). + SetClientIDSecret(properties[PROPNAME_CLIENT_ID], properties[PROPNAME_CLIENT_SECRET]). + SetDisableSSLVerification(disableSSL). + SetScope(properties[PROPNAME_SCOPE]). + Build() + + return +} + +// AuthenticationType returns the authentication type for this authenticator. +func (*ContainerAuthenticator) AuthenticationType() string { + return AUTHTYPE_CONTAINER +} + +// Authenticate adds IAM authentication information to the request. +// +// The IAM access token will be added to the request's headers in the form: +// +// Authorization: Bearer +func (authenticator *ContainerAuthenticator) Authenticate(request *http.Request) error { + token, err := authenticator.GetToken() + if err != nil { + return RepurposeSDKProblem(err, "get-token-fail") + } + + request.Header.Set("Authorization", "Bearer "+token) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// url returns the authenticator's URL property after potentially initializing it. +func (authenticator *ContainerAuthenticator) url() string { + authenticator.urlInit.Do(func() { + if authenticator.URL == "" { + // If URL was not specified, then use the default IAM endpoint. + authenticator.URL = defaultIamTokenServerEndpoint + } else { + // Canonicalize the URL by removing the operation path if it was specified by the user. + authenticator.URL = strings.TrimSuffix(authenticator.URL, iamAuthOperationPathGetToken) + } + }) + return authenticator.URL +} + +// getTokenData returns the tokenData field from the authenticator with synchronization. +func (authenticator *ContainerAuthenticator) getTokenData() *iamTokenData { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + return authenticator.tokenData +} + +// setTokenData sets the 'tokenData' field in the authenticator with synchronization. +func (authenticator *ContainerAuthenticator) setTokenData(tokenData *iamTokenData) { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + authenticator.tokenData = tokenData +} + +// Validate the authenticator's configuration. +// +// Ensures that one of IAMProfileName or IAMProfileID are specified, and the ClientId and ClientSecret pair are +// mutually inclusive. +func (authenticator *ContainerAuthenticator) Validate() error { + // Check to make sure that one of IAMProfileName or IAMProfileID are specified. + if authenticator.IAMProfileName == "" && authenticator.IAMProfileID == "" { + err := fmt.Errorf(ERRORMSG_ATLEAST_ONE_PROP_ERROR, "IAMProfileName", "IAMProfileID") + return SDKErrorf(err, "", "both-props", getComponentInfo()) + } + + // Validate ClientId and ClientSecret. They must both be specified togther or neither should be specified. + if authenticator.ClientID == "" && authenticator.ClientSecret == "" { + // Do nothing as this is the valid scenario + } else { + // Since it is NOT the case that both properties are empty, make sure BOTH are specified. + if authenticator.ClientID == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "ClientID") + return SDKErrorf(err, "", "missing-id", getComponentInfo()) + } + + if authenticator.ClientSecret == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "ClientSecret") + return SDKErrorf(err, "", "missing-secret", getComponentInfo()) + } + } + + return nil +} + +// GetToken returns an access token to be used in an Authorization header. +// Whenever a new token is needed (when a token doesn't yet exist or the existing token has expired), +// a new access token is fetched from the token server. +func (authenticator *ContainerAuthenticator) GetToken() (string, error) { + if authenticator.getTokenData() == nil || !authenticator.getTokenData().isTokenValid() { + GetLogger().Debug("Performing synchronous token fetch...") + // synchronously request the token + err := authenticator.synchronizedRequestToken() + if err != nil { + return "", RepurposeSDKProblem(err, "request-token-fail") + } + } else if authenticator.getTokenData().needsRefresh() { + GetLogger().Debug("Performing background asynchronous token fetch...") + // If refresh needed, kick off a go routine in the background to get a new token + //nolint: errcheck + go authenticator.invokeRequestTokenData() + } else { + GetLogger().Debug("Using cached access token...") + } + + // return an error if the access token is not valid or was not fetched + if authenticator.getTokenData() == nil || authenticator.getTokenData().AccessToken == "" { + err := fmt.Errorf("Error while trying to get access token") + return "", SDKErrorf(err, "", "no-token", getComponentInfo()) + } + + return authenticator.getTokenData().AccessToken, nil +} + +// synchronizedRequestToken will check if the authenticator currently has +// a valid cached access token. +// If yes, then nothing else needs to be done. +// If no, then a blocking request is made to obtain a new IAM access token. +func (authenticator *ContainerAuthenticator) synchronizedRequestToken() error { + craRequestTokenMutex.Lock() + defer craRequestTokenMutex.Unlock() + // if cached token is still valid, then just continue to use it + if authenticator.getTokenData() != nil && authenticator.getTokenData().isTokenValid() { + return nil + } + + return authenticator.invokeRequestTokenData() +} + +// invokeRequestTokenData requests a new token from the IAM token server and +// unmarshals the response to produce the authenticator's 'tokenData' field (cache). +// Returns an error if the token was unable to be fetched, otherwise returns nil. +func (authenticator *ContainerAuthenticator) invokeRequestTokenData() error { + tokenResponse, err := authenticator.RequestToken() + if err != nil { + return err + } + + if tokenData, err := newIamTokenData(tokenResponse); err != nil { + return err + } else { + authenticator.setTokenData(tokenData) + } + + return nil +} + +// RequestToken first retrieves a CR token value from the current compute resource, then uses +// that to obtain a new IAM access token from the IAM token server. +func (authenticator *ContainerAuthenticator) RequestToken() (*IamTokenServerResponse, error) { + var err error + + // First, retrieve the CR token value for this compute resource. + crToken, err := authenticator.retrieveCRToken() + if crToken == "" { + if err == nil { + err = fmt.Errorf(ERRORMSG_UNABLE_RETRIEVE_CRTOKEN, "reason unknown") + } + return nil, authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + } + + // Set up the request for the IAM "get token" invocation. + builder := NewRequestBuilder(POST) + _, err = builder.ResolveRequestURL(authenticator.url(), iamAuthOperationPathGetToken, nil) + if err != nil { + return nil, authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + } + + builder.AddHeader(CONTENT_TYPE, FORM_URL_ENCODED_HEADER) + builder.AddHeader(Accept, APPLICATION_JSON) + builder.AddHeader(headerNameUserAgent, authenticator.getUserAgent()) + builder.AddFormData("grant_type", "", "", iamGrantTypeCRToken) // #nosec G101 + builder.AddFormData("cr_token", "", "", crToken) + + // We previously verified that one of IBMProfileID or IAMProfileName are specified, + // so just process them individually here. + // If both are specified, that's ok too (they must map to the same profile though). + if authenticator.IAMProfileID != "" { + builder.AddFormData("profile_id", "", "", authenticator.IAMProfileID) + } + if authenticator.IAMProfileName != "" { + builder.AddFormData("profile_name", "", "", authenticator.IAMProfileName) + } + + // If the scope was specified, add that form param to the request. + if authenticator.Scope != "" { + builder.AddFormData("scope", "", "", authenticator.Scope) + } + + // Add user-defined headers to request. + for headerName, headerValue := range authenticator.Headers { + builder.AddHeader(headerName, headerValue) + } + + req, err := builder.Build() + if err != nil { + return nil, authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + } + + // If client id and secret were configured by the user, then set them on the request + // as a basic auth header. + if authenticator.ClientID != "" && authenticator.ClientSecret != "" { + req.SetBasicAuth(authenticator.ClientID, authenticator.ClientSecret) + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log outbound request: %s", dumpErr.Error())) + } + } + + GetLogger().Debug("Invoking IAM 'get token' operation: %s", builder.URL) + resp, err := authenticator.client().Do(req) + if err != nil { + return nil, authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + } + GetLogger().Debug("Returned from IAM 'get token' operation, received status code %d", resp.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(resp, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Response:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log inbound response: %s", dumpErr.Error())) + } + } + + // Check for a bad status code and handle an operation error. + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + detailedResponse, err := processErrorResponse(resp) + authError := authenticationErrorf(err, detailedResponse, "get_token", authenticator.getComponentInfo()) + + // The err Summary is typically the message computed for the HTTPError instance in + // processErrorResponse(). If the response body is non-JSON, the message will be generic + // text based on the status code but authenticators have always used the stringified + // RawResult, so update that here for compatilibility. + iamErrorMsg := err.Summary + if detailedResponse.RawResult != nil { + // RawResult is only populated if the response body is + // non-JSON and we couldn't extract a message. + iamErrorMsg = string(detailedResponse.RawResult) + } + + authError.Summary = fmt.Sprintf(ERRORMSG_IAM_GETTOKEN_ERROR, detailedResponse.StatusCode, builder.URL, iamErrorMsg) + + return nil, authError + } + + // Good response, so unmarshal the response body into an IamTokenServerResponse instance. + tokenResponse := &IamTokenServerResponse{} + _ = json.NewDecoder(resp.Body).Decode(tokenResponse) + defer resp.Body.Close() // #nosec G307 + + return tokenResponse, nil +} + +// retrieveCRToken tries to read the CR token value from the local file system. +func (authenticator *ContainerAuthenticator) retrieveCRToken() (crToken string, err error) { + if authenticator.CRTokenFilename != "" { + // Use the file specified by the user. + crToken, err = authenticator.readFile(authenticator.CRTokenFilename) + } else { + // If the user didn't specify a filename, try our two defaults. + crToken, err = authenticator.readFile(defaultCRTokenFilename1) + if err != nil { + crToken, err = authenticator.readFile(defaultCRTokenFilename2) + if err != nil { + crToken, err = authenticator.readFile(defaultCRTokenFilename3) + } + } + } + + if err != nil { + err = fmt.Errorf(ERRORMSG_UNABLE_RETRIEVE_CRTOKEN, err.Error()) + sdkErr := SDKErrorf(err, "", "no-cr-token", getComponentInfo()) + GetLogger().Debug(sdkErr.GetDebugMessage()) + err = sdkErr + return + } + + return +} + +// readFile attempts to read the specified cr token file and return its contents as a string. +func (authenticator *ContainerAuthenticator) readFile(filename string) (crToken string, err error) { + GetLogger().Debug("Attempting to read CR token from file: %s\n", filename) + + // Read the entire file into a byte slice, then convert to string. + var bytes []byte + bytes, err = os.ReadFile(filename) // #nosec G304 + if err != nil { + err = SDKErrorf(err, "", "read-file-error", getComponentInfo()) + GetLogger().Debug(err.(*SDKProblem).GetDebugMessage()) + return + } + + GetLogger().Debug("Successfully read CR token from file: %s\n", filename) + + crToken = string(bytes) + + return +} + +// This should only be used for AuthenticationError instances that actually deal with +// an HTTP error (i.e. do not have a blank DetailedResponse object - they can be scoped +// to the SDK core system). +func (authenticator *ContainerAuthenticator) getComponentInfo() *ProblemComponent { + return NewProblemComponent("iam_identity_services", "") +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/cp4d_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/cp4d_authenticator.go new file mode 100644 index 000000000..729175212 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/cp4d_authenticator.go @@ -0,0 +1,461 @@ +package core + +// (C) Copyright IBM Corp. 2019, 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "crypto/tls" + "encoding/json" + "errors" + "fmt" + "net/http" + "net/http/httputil" + "strconv" + "sync" + "time" +) + +// CloudPakForDataAuthenticator uses either a username/password pair or a +// username/apikey pair to obtain a suitable bearer token from the CP4D authentication service, +// and adds the bearer token to requests via an Authorization header of the form: +// +// Authorization: Bearer +type CloudPakForDataAuthenticator struct { + // The URL representing the Cloud Pak for Data token service endpoint [required]. + URL string + + // The username used to obtain a bearer token [required]. + Username string + + // The password used to obtain a bearer token [required if APIKey not specified]. + // One of Password or APIKey must be specified. + Password string + + // The apikey used to obtain a bearer token [required if Password not specified]. + // One of Password or APIKey must be specified. + APIKey string + + // A flag that indicates whether verification of the server's SSL certificate + // should be disabled; defaults to false [optional]. + DisableSSLVerification bool + + // Default headers to be sent with every CP4D token request [optional]. + Headers map[string]string + + // The http.Client object used to invoke token server requests [optional]. If + // not specified, a suitable default Client will be constructed. + Client *http.Client + clientInit sync.Once + + // The User-Agent header value to be included with each token request. + userAgent string + userAgentInit sync.Once + + // The cached token and expiration time. + tokenData *cp4dTokenData + + // Mutex to make the tokenData field thread safe. + tokenDataMutex sync.Mutex +} + +var cp4dRequestTokenMutex sync.Mutex +var cp4dNeedsRefreshMutex sync.Mutex + +// NewCloudPakForDataAuthenticator constructs a new CloudPakForDataAuthenticator +// instance from a username/password pair. +// This is the default way to create an authenticator and is a wrapper around +// the NewCloudPakForDataAuthenticatorUsingPassword() function +func NewCloudPakForDataAuthenticator(url string, username string, password string, + disableSSLVerification bool, headers map[string]string) (*CloudPakForDataAuthenticator, error) { + auth, err := NewCloudPakForDataAuthenticatorUsingPassword(url, username, password, disableSSLVerification, headers) + return auth, RepurposeSDKProblem(err, "new-auth-fail") +} + +// NewCloudPakForDataAuthenticatorUsingPassword constructs a new CloudPakForDataAuthenticator +// instance from a username/password pair. +func NewCloudPakForDataAuthenticatorUsingPassword(url string, username string, password string, + disableSSLVerification bool, headers map[string]string) (*CloudPakForDataAuthenticator, error) { + auth, err := newAuthenticator(url, username, password, "", disableSSLVerification, headers) + return auth, RepurposeSDKProblem(err, "new-auth-password-fail") +} + +// NewCloudPakForDataAuthenticatorUsingAPIKey constructs a new CloudPakForDataAuthenticator +// instance from a username/apikey pair. +func NewCloudPakForDataAuthenticatorUsingAPIKey(url string, username string, apikey string, + disableSSLVerification bool, headers map[string]string) (*CloudPakForDataAuthenticator, error) { + auth, err := newAuthenticator(url, username, "", apikey, disableSSLVerification, headers) + return auth, RepurposeSDKProblem(err, "new-auth-apikey-fail") +} + +func newAuthenticator(url string, username string, password string, apikey string, + disableSSLVerification bool, headers map[string]string) (authenticator *CloudPakForDataAuthenticator, err error) { + authenticator = &CloudPakForDataAuthenticator{ + Username: username, + Password: password, + APIKey: apikey, + URL: url, + DisableSSLVerification: disableSSLVerification, + Headers: headers, + } + + // Make sure the config is valid. + err = authenticator.Validate() + if err != nil { + return nil, err + } + + return +} + +// newCloudPakForDataAuthenticatorFromMap : Constructs a new CloudPakForDataAuthenticator instance from a map. +func newCloudPakForDataAuthenticatorFromMap(properties map[string]string) (*CloudPakForDataAuthenticator, error) { + if properties == nil { + err := errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + disableSSL, err := strconv.ParseBool(properties[PROPNAME_AUTH_DISABLE_SSL]) + if err != nil { + disableSSL = false + } + + return newAuthenticator(properties[PROPNAME_AUTH_URL], + properties[PROPNAME_USERNAME], properties[PROPNAME_PASSWORD], + properties[PROPNAME_APIKEY], disableSSL, nil) +} + +// AuthenticationType returns the authentication type for this authenticator. +func (*CloudPakForDataAuthenticator) AuthenticationType() string { + return AUTHTYPE_CP4D +} + +// Validate the authenticator's configuration. +// +// Ensures the username, password, and url are not Nil. Additionally, ensures +// they do not contain invalid characters. +func (authenticator *CloudPakForDataAuthenticator) Validate() error { + if authenticator.Username == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "Username") + return SDKErrorf(err, "", "no-user", getComponentInfo()) + } + + // The user should specify exactly one of APIKey or Password. + if (authenticator.APIKey == "" && authenticator.Password == "") || + (authenticator.APIKey != "" && authenticator.Password != "") { + err := fmt.Errorf(ERRORMSG_EXCLUSIVE_PROPS_ERROR, "APIKey", "Password") + return SDKErrorf(err, "", "exc-props", getComponentInfo()) + } + + if authenticator.URL == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "URL") + return SDKErrorf(err, "", "no-url", getComponentInfo()) + } + + return nil +} + +// client returns the authenticator's http client after potentially initializing it. +func (authenticator *CloudPakForDataAuthenticator) client() *http.Client { + authenticator.clientInit.Do(func() { + if authenticator.Client == nil { + authenticator.Client = DefaultHTTPClient() + authenticator.Client.Timeout = time.Second * 30 + + // If the user told us to disable SSL verification, then do it now. + if authenticator.DisableSSLVerification { + transport := &http.Transport{ + // #nosec G402 + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + Proxy: http.ProxyFromEnvironment, + } + authenticator.Client.Transport = transport + } + } + }) + return authenticator.Client +} + +// getUserAgent returns the User-Agent header value to be included in each token request invoked by the authenticator. +func (authenticator *CloudPakForDataAuthenticator) getUserAgent() string { + authenticator.userAgentInit.Do(func() { + authenticator.userAgent = fmt.Sprintf("%s/%s-%s %s", sdkName, "cp4d-authenticator", __VERSION__, SystemInfo()) + }) + return authenticator.userAgent +} + +// Authenticate adds the bearer token (obtained from the token server) to the +// specified request. +// +// The CP4D bearer token will be added to the request's headers in the form: +// +// Authorization: Bearer +func (authenticator *CloudPakForDataAuthenticator) Authenticate(request *http.Request) error { + token, err := authenticator.GetToken() + if err != nil { + return RepurposeSDKProblem(err, "get-token-fail") + } + + request.Header.Set("Authorization", fmt.Sprintf(`Bearer %s`, token)) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// getTokenData returns the tokenData field from the authenticator. +func (authenticator *CloudPakForDataAuthenticator) getTokenData() *cp4dTokenData { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + return authenticator.tokenData +} + +// setTokenData sets the given cp4dTokenData to the tokenData field of the authenticator. +func (authenticator *CloudPakForDataAuthenticator) setTokenData(tokenData *cp4dTokenData) { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + authenticator.tokenData = tokenData +} + +// GetToken: returns an access token to be used in an Authorization header. +// Whenever a new token is needed (when a token doesn't yet exist, needs to be refreshed, +// or the existing token has expired), a new access token is fetched from the token server. +func (authenticator *CloudPakForDataAuthenticator) GetToken() (string, error) { + if authenticator.getTokenData() == nil || !authenticator.getTokenData().isTokenValid() { + GetLogger().Debug("Performing synchronous token fetch...") + // synchronously request the token + err := authenticator.synchronizedRequestToken() + if err != nil { + return "", RepurposeSDKProblem(err, "request-token-fail") + } + } else if authenticator.getTokenData().needsRefresh() { + GetLogger().Debug("Performing background asynchronous token fetch...") + // If refresh needed, kick off a go routine in the background to get a new token + //nolint: errcheck + go authenticator.invokeRequestTokenData() + } else { + GetLogger().Debug("Using cached access token...") + } + + // return an error if the access token is not valid or was not fetched + if authenticator.getTokenData() == nil || authenticator.getTokenData().AccessToken == "" { + err := fmt.Errorf("Error while trying to get access token") + return "", SDKErrorf(err, "", "no-token", getComponentInfo()) + } + + return authenticator.getTokenData().AccessToken, nil +} + +// synchronizedRequestToken: synchronously checks if the current token in cache +// is valid. If token is not valid or does not exist, it will fetch a new token +// and set the tokenRefreshTime +func (authenticator *CloudPakForDataAuthenticator) synchronizedRequestToken() error { + cp4dRequestTokenMutex.Lock() + defer cp4dRequestTokenMutex.Unlock() + // if cached token is still valid, then just continue to use it + if authenticator.getTokenData() != nil && authenticator.getTokenData().isTokenValid() { + return nil + } + + return authenticator.invokeRequestTokenData() +} + +// invokeRequestTokenData: requests a new token from the token server and +// unmarshals the token information to the tokenData cache. Returns +// an error if the token was unable to be fetched, otherwise returns nil +func (authenticator *CloudPakForDataAuthenticator) invokeRequestTokenData() error { + tokenResponse, err := authenticator.requestToken() + if err != nil { + authenticator.setTokenData(nil) + return err + } + + if tokenData, err := newCp4dTokenData(tokenResponse); err != nil { + authenticator.setTokenData(nil) + return err + } else { + authenticator.setTokenData(tokenData) + } + + return nil +} + +// cp4dRequestBody is a struct used to model the request body for the "POST /v1/authorize" operation. +// Note: we list both Password and APIKey fields, although exactly one of those will be used for +// a specific invocation of the POST /v1/authorize operation. +type cp4dRequestBody struct { + Username string `json:"username"` + Password string `json:"password,omitempty"` + APIKey string `json:"api_key,omitempty"` +} + +// requestToken: fetches a new access token from the token server. +func (authenticator *CloudPakForDataAuthenticator) requestToken() (tokenResponse *cp4dTokenServerResponse, err error) { + // Create the request body (only one of APIKey or Password should be set + // on the authenticator so only one of them should end up in the serialized JSON). + body := &cp4dRequestBody{ + Username: authenticator.Username, + Password: authenticator.Password, + APIKey: authenticator.APIKey, + } + + builder := NewRequestBuilder(POST) + _, err = builder.ResolveRequestURL(authenticator.URL, "/v1/authorize", nil) + if err != nil { + return + } + + // Add user-defined headers to request. + for headerName, headerValue := range authenticator.Headers { + builder.AddHeader(headerName, headerValue) + } + + // Add the Content-Type and User-Agent headers. + builder.AddHeader("Content-Type", "application/json") + builder.AddHeader(headerNameUserAgent, authenticator.getUserAgent()) + + // Add the request body to request. + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + // Build the request object. + req, err := builder.Build() + if err != nil { + return + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log outbound request: %s", dumpErr.Error())) + } + } + + GetLogger().Debug("Invoking CP4D token service operation: %s", builder.URL) + resp, err := authenticator.client().Do(req) + if err != nil { + err = SDKErrorf(err, "", "cp4d-request-error", getComponentInfo()) + return + } + GetLogger().Debug("Returned from CP4D token service operation, received status code %d", resp.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(resp, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Response:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log inbound response: %s", dumpErr.Error())) + } + } + + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + detailedResponse, responseError := processErrorResponse(resp) + err = authenticationErrorf(responseError, detailedResponse, "authorize", authenticator.getComponentInfo()) + + // The err Summary is typically the message computed for the HTTPError instance in + // processErrorResponse(). If the response body is non-JSON, the message will be generic + // text based on the status code but authenticators have always used the stringified + // RawResult, so update that here for compatilibility. + errorMsg := responseError.Summary + if detailedResponse.RawResult != nil { + // RawResult is only populated if the response body is + // non-JSON and we couldn't extract a message. + errorMsg = string(detailedResponse.RawResult) + } + + err.(*AuthenticationError).Summary = errorMsg + + return + } + + tokenResponse = &cp4dTokenServerResponse{} + err = json.NewDecoder(resp.Body).Decode(tokenResponse) + defer resp.Body.Close() // #nosec G307 + if err != nil { + err = fmt.Errorf(ERRORMSG_UNMARSHAL_AUTH_RESPONSE, err.Error()) + err = SDKErrorf(err, "", "cp4d-res-unmarshal-error", getComponentInfo()) + tokenResponse = nil + return + } + + return +} + +func (authenticator *CloudPakForDataAuthenticator) getComponentInfo() *ProblemComponent { + return NewProblemComponent("cp4d_token_service", "v1") +} + +// cp4dTokenServerResponse is a struct that models a response received from the token server. +type cp4dTokenServerResponse struct { + Token string `json:"token,omitempty"` + MessageCode string `json:"_messageCode_,omitempty"` + Message string `json:"message,omitempty"` +} + +// cp4dTokenData is a struct that represents the cached information related to a fetched access token. +type cp4dTokenData struct { + AccessToken string + RefreshTime int64 + Expiration int64 +} + +// newCp4dTokenData: constructs a new Cp4dTokenData instance from the specified Cp4dTokenServerResponse instance. +func newCp4dTokenData(tokenResponse *cp4dTokenServerResponse) (*cp4dTokenData, error) { + // Need to crack open the access token (a JWT) to get the expiration and issued-at times. + claims, err := parseJWT(tokenResponse.Token) + if err != nil { + return nil, err + } + + // Compute the adjusted refresh time (expiration time - 20% of timeToLive) + timeToLive := claims.ExpiresAt - claims.IssuedAt + expireTime := claims.ExpiresAt + refreshTime := expireTime - int64(float64(timeToLive)*0.2) + + tokenData := &cp4dTokenData{ + AccessToken: tokenResponse.Token, + Expiration: expireTime, + RefreshTime: refreshTime, + } + + return tokenData, nil +} + +// isTokenValid: returns true iff the Cp4dTokenData instance represents a valid (non-expired) access token. +func (tokenData *cp4dTokenData) isTokenValid() bool { + if tokenData.AccessToken != "" && GetCurrentTime() < tokenData.Expiration { + return true + } + return false +} + +// needsRefresh: synchronously returns true iff the currently stored access token should be refreshed. This method also +// updates the refresh time if it determines the token needs refreshed to prevent other threads from +// making multiple refresh calls. +func (tokenData *cp4dTokenData) needsRefresh() bool { + cp4dNeedsRefreshMutex.Lock() + defer cp4dNeedsRefreshMutex.Unlock() + + // Advance refresh by one minute + if tokenData.RefreshTime >= 0 && GetCurrentTime() > tokenData.RefreshTime { + tokenData.RefreshTime = GetCurrentTime() + 60 + return true + } + return false +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/datetime.go b/vendor/github.com/IBM/go-sdk-core/v5/core/datetime.go new file mode 100644 index 000000000..cc1352f91 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/datetime.go @@ -0,0 +1,99 @@ +package core + +/** + * (C) Copyright IBM Corp. 2020. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import ( + "time" + + "github.com/go-openapi/strfmt" +) + +// Customize the strfmt DateTime parsing and formatting for our use. +func init() { + // Force date-time serialization to use the UTC representation. + strfmt.NormalizeTimeForMarshal = NormalizeDateTimeUTC + + // These formatting layouts (supported by time.Time.Format()) are added to the set of layouts used + // by the strfmt.DateTime unmarshalling function(s). + + // RFC 3339 but with 2-digit tz-offset. + // yyyy-MM-ddThh:mm:ss.SSS, where tz-offset is 'Z', +HH or -HH + rfc3339TZ2Layout := "2006-01-02T15:04:05.000Z07" + + // RFC 3339 but with only seconds precision. + // yyyy-MM-ddThh:mm:ss, where tz-offset is 'Z', +HH:MM or -HH:MM + secsPrecisionLayout := "2006-01-02T15:04:05Z07:00" + // Seconds precision with no colon in tz-offset + secsPrecisionNoColonLayout := "2006-01-02T15:04:05Z0700" + // Seconds precision with 2-digit tz-offset + secsPrecisionTZ2Layout := "2006-01-02T15:04:05Z07" + + // RFC 3339 but with only minutes precision. + // yyyy-MM-ddThh:mm, where tz-offset is 'Z' or +HH:MM or -HH:MM + minPrecisionLayout := "2006-01-02T15:04Z07:00" + // Minutes precision with no colon in tz-offset + minPrecisionNoColonLayout := "2006-01-02T15:04Z0700" + // Minutes precision with 2-digit tz-offset + minPrecisionTZ2Layout := "2006-01-02T15:04Z07" + + // "Dialog" format. + // yyyy-MM-dd hh:mm:ss (no tz-offset) + dialogLayout := "2006-01-02 15:04:05" + + // Register our parsing layouts with the strfmt package. + strfmt.DateTimeFormats = + append(strfmt.DateTimeFormats, + rfc3339TZ2Layout, + secsPrecisionLayout, + secsPrecisionNoColonLayout, + secsPrecisionTZ2Layout, + minPrecisionLayout, + minPrecisionNoColonLayout, + minPrecisionTZ2Layout, + dialogLayout) +} + +// NormalizeDateTimeUTC normalizes t to reflect UTC timezone for marshaling +func NormalizeDateTimeUTC(t time.Time) time.Time { + return t.UTC() +} + +// ParseDate parses the specified RFC3339 full-date string (YYYY-MM-DD) and returns a strfmt.Date instance. +// If the string is empty the return value will be the unix epoch (1970-01-01). +func ParseDate(dateString string) (fmtDate strfmt.Date, err error) { + if dateString == "" { + return strfmt.Date(time.Unix(0, 0).UTC()), nil + } + + formattedTime, err := time.Parse(strfmt.RFC3339FullDate, dateString) + if err == nil { + fmtDate = strfmt.Date(formattedTime) + } else { + err = SDKErrorf(err, "", "date-parse-error", getComponentInfo()) + } + return +} + +// ParseDateTime parses the specified date-time string and returns a strfmt.DateTime instance. +// If the string is empty the return value will be the unix epoch (1970-01-01T00:00:00.000Z). +func ParseDateTime(dateString string) (strfmt.DateTime, error) { + dt, err := strfmt.ParseDateTime(dateString) + if err != nil { + err = SDKErrorf(err, "", "datetime-parse-error", getComponentInfo()) + } + return dt, err +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/detailed_response.go b/vendor/github.com/IBM/go-sdk-core/v5/core/detailed_response.go new file mode 100644 index 000000000..5163af70b --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/detailed_response.go @@ -0,0 +1,95 @@ +package core + +// (C) Copyright IBM Corp. 2019, 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "encoding/json" + "fmt" + "net/http" +) + +// DetailedResponse holds the response information received from the server. +type DetailedResponse struct { + + // The HTTP status code associated with the response. + StatusCode int `yaml:"status_code"` + + // The HTTP headers contained in the response. + Headers http.Header `yaml:"headers"` + + // Result - this field will contain the result of the operation (obtained from the response body). + // + // If the operation was successful and the response body contains a JSON response, it is un-marshalled + // into an object of the appropriate type (defined by the particular operation), and the Result field will contain + // this response object. If there was an error while un-marshalling the JSON response body, then the RawResult field + // will be set to the byte array containing the response body. + // + // Alternatively, if the generated SDK code passes in a result object which is an io.ReadCloser instance, + // the JSON un-marshalling step is bypassed and the response body is simply returned in the Result field. + // This scenario would occur in a situation where the SDK would like to provide a streaming model for large JSON + // objects. + // + // If the operation was successful and the response body contains a non-JSON response, + // the Result field will be an instance of io.ReadCloser that can be used by generated SDK code + // (or the application) to read the response data. + // + // If the operation was unsuccessful and the response body contains a JSON error response, + // this field will contain an instance of map[string]interface{} which is the result of un-marshalling the + // response body as a "generic" JSON object. + // If the JSON response for an unsuccessful operation could not be properly un-marshalled, then the + // RawResult field will contain the raw response body. + Result interface{} `yaml:"result,omitempty"` + + // This field will contain the raw response body as a byte array under these conditions: + // 1) there was a problem un-marshalling a JSON response body - + // either for a successful or unsuccessful operation. + // 2) the operation was unsuccessful, and the response body contains a non-JSON response. + RawResult []byte `yaml:"raw_result,omitempty"` +} + +// GetHeaders returns the headers +func (response *DetailedResponse) GetHeaders() http.Header { + return response.Headers +} + +// GetStatusCode returns the HTTP status code +func (response *DetailedResponse) GetStatusCode() int { + return response.StatusCode +} + +// GetResult returns the result from the service +func (response *DetailedResponse) GetResult() interface{} { + return response.Result +} + +// GetResultAsMap returns the result as a map (generic JSON object), if the +// DetailedResponse.Result field contains an instance of a map. +func (response *DetailedResponse) GetResultAsMap() (map[string]interface{}, bool) { + m, ok := response.Result.(map[string]interface{}) + return m, ok +} + +// GetRawResult returns the raw response body as a byte array. +func (response *DetailedResponse) GetRawResult() []byte { + return response.RawResult +} + +func (response *DetailedResponse) String() string { + output, err := json.MarshalIndent(response, "", " ") + if err == nil { + return fmt.Sprintf("%+v\n", string(output)) + } + return fmt.Sprintf("Error marshalling DetailedResponse instance: %s", err.Error()) +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/doc.go b/vendor/github.com/IBM/go-sdk-core/v5/core/doc.go new file mode 100644 index 000000000..6ec0b0b06 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/doc.go @@ -0,0 +1,40 @@ +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* +Package core contains functionality used by Go SDK's generated by the IBM +OpenAPI 3 SDK Generator (openapi-sdkgen). +Authenticators + +The go-sdk-core project supports the following types of authentication: + + Basic Authentication + Bearer Token + Identity and Access Management (IAM) + Cloud Pak for Data + No Authentication + +The authentication types that are appropriate for a particular service may +vary from service to service. Each authentication type is implemented as an +Authenticator for consumption by a service. To read more about authenticators +and how to use them see here: +https://github.com/IBM/go-sdk-core/blob/main/Authentication.md + +# Services + +Services are the API clients generated by the IBM OpenAPI 3 SDK +Generator. These services make use of the code within the core package +BaseService instances to perform service operations. +*/ +package core diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/file_with_metadata.go b/vendor/github.com/IBM/go-sdk-core/v5/core/file_with_metadata.go new file mode 100644 index 000000000..5118a2e7f --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/file_with_metadata.go @@ -0,0 +1,77 @@ +package core + +// (C) Copyright IBM Corp. 2021. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "encoding/json" + "io" + "os" + "reflect" +) + +// FileWithMetadata : A file with its associated metadata. +type FileWithMetadata struct { + // The data / content for the file. + Data io.ReadCloser `json:"data" validate:"required"` + + // The filename of the file. + Filename *string `json:"filename,omitempty"` + + // The content type of the file. + ContentType *string `json:"content_type,omitempty"` +} + +// NewFileWithMetadata : Instantiate FileWithMetadata (Generic Model Constructor) +func NewFileWithMetadata(data io.ReadCloser) (model *FileWithMetadata, err error) { + model = &FileWithMetadata{ + Data: data, + } + err = RepurposeSDKProblem(ValidateStruct(model, "required parameters"), "validation-failed") + return +} + +// UnmarshalFileWithMetadata unmarshals an instance of FileWithMetadata from the specified map of raw messages. +// The "data" field is assumed to be a string, the value of which is assumed to be a path to the file that +// contains the data intended for the FileWithMetadata struct. +func UnmarshalFileWithMetadata(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FileWithMetadata) + + // unmarshal the data field as a filename and read the contents + // then explicitly set the Data field to the contents of the file + var data io.ReadCloser + var pathToData string + err = RepurposeSDKProblem(UnmarshalPrimitive(m, "data", &pathToData), "unmarshal-fail") + if err != nil { + return + } + data, err = os.Open(pathToData) // #nosec G304 + if err != nil { + err = SDKErrorf(err, "", "file-open-error", getComponentInfo()) + return + } + obj.Data = data + + // unmarshal the other fields as usual + err = RepurposeSDKProblem(UnmarshalPrimitive(m, "filename", &obj.Filename), "unmarshal-file-fail") + if err != nil { + return + } + err = RepurposeSDKProblem(UnmarshalPrimitive(m, "content_type", &obj.ContentType), "unmarshal-content-type-fail") + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/gzip.go b/vendor/github.com/IBM/go-sdk-core/v5/core/gzip.go new file mode 100644 index 000000000..cb831cf7f --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/gzip.go @@ -0,0 +1,60 @@ +package core + +// (C) Copyright IBM Corp. 2020. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "compress/gzip" + "io" +) + +// NewGzipCompressionReader will return an io.Reader instance that will deliver +// the gzip-compressed version of the "uncompressedReader" argument. +// This function was inspired by this github gist: +// +// https://gist.github.com/tomcatzh/cf8040820962e0f8c04700eb3b2f26be +func NewGzipCompressionReader(uncompressedReader io.Reader) (io.Reader, error) { + // Create a pipe whose reader will effectively replace "uncompressedReader" + // to deliver the gzip-compressed byte stream. + pipeReader, pipeWriter := io.Pipe() + go func() { + defer pipeWriter.Close() + + // Wrap the pipe's writer with a gzip writer that will + // write the gzip-compressed bytes to the Pipe. + compressedWriter := gzip.NewWriter(pipeWriter) + defer compressedWriter.Close() + + // To trigger the operation of the pipe, we'll simply start + // to copy bytes from "uncompressedReader" to "compressedWriter". + // This copy operation will block as needed in order to write bytes + // to the pipe only when the pipe reader is called to retrieve more bytes. + _, err := io.Copy(compressedWriter, uncompressedReader) + if err != nil { + sdkErr := SDKErrorf(err, "", "compression-failed", getComponentInfo()) + _ = pipeWriter.CloseWithError(sdkErr) + } + }() + return pipeReader, nil +} + +// NewGzipDecompressionReader will return an io.Reader instance that will deliver +// the gzip-decompressed version of the "compressedReader" argument. +func NewGzipDecompressionReader(compressedReader io.Reader) (io.Reader, error) { + res, err := gzip.NewReader(compressedReader) + if err != nil { + err = SDKErrorf(err, "", "decompress-read-error", getComponentInfo()) + } + return res, err +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/http_problem.go b/vendor/github.com/IBM/go-sdk-core/v5/core/http_problem.go new file mode 100644 index 000000000..c6e2ac700 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/http_problem.go @@ -0,0 +1,181 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "errors" + "fmt" +) + +// HTTPProblem provides a type suited to problems that +// occur as the result of an HTTP request. It extends +// the base "IBMProblem" type with fields to store +// information about the HTTP request/response. +type HTTPProblem struct { + *IBMProblem + + // OperationID identifies the operation of an API + // that the failed request was made to. + OperationID string + + // Response contains the full HTTP error response + // returned as a result of the failed request, + // including the body and all headers. + Response *DetailedResponse +} + +// GetConsoleMessage returns all public fields of +// the problem, formatted in YAML. +func (e *HTTPProblem) GetConsoleMessage() string { + return ComputeConsoleMessage(e) +} + +// GetDebugMessage returns all information about +// the problem, formatted in YAML. +func (e *HTTPProblem) GetDebugMessage() string { + return ComputeDebugMessage(e) +} + +// GetID returns the computed identifier, computed from the +// "Component", "discriminator", and "OperationID" fields, +// as well as the status code of the stored response and the +// identifier of the "causedBy" problem, if it exists. +func (e *HTTPProblem) GetID() string { + // TODO: add the error code to the hash once we have the ability to enumerate error codes in an API. + return CreateIDHash("http", e.GetBaseSignature(), e.OperationID, fmt.Sprint(e.Response.GetStatusCode())) +} + +// Is allows an HTTPProblem instance to be compared against another error for equality. +// An HTTPProblem is considered equal to another error if 1) the error is also a Problem and +// 2) it has the same ID (i.e. it is the same problem scenario). +func (e *HTTPProblem) Is(target error) bool { + return is(target, e.GetID()) +} + +func (e *HTTPProblem) getErrorCode() string { + // If the error response was a standard JSON body, the result will + // be a map and we can do a decent job of guessing the code. + if e.Response.Result != nil { + if resultMap, ok := e.Response.Result.(map[string]interface{}); ok { + return getErrorCode(resultMap) + } + } + + return "" +} + +func (e *HTTPProblem) getHeader(key string) (string, bool) { + value := e.Response.Headers.Get(key) + return value, value != "" +} + +// GetConsoleOrderedMaps returns an ordered-map representation +// of an HTTPProblem instance suited for a console message. +func (e *HTTPProblem) GetConsoleOrderedMaps() *OrderedMaps { + orderedMaps := NewOrderedMaps() + + orderedMaps.Add("id", e.GetID()) + orderedMaps.Add("summary", e.Summary) + orderedMaps.Add("severity", e.Severity) + orderedMaps.Add("operation_id", e.OperationID) + orderedMaps.Add("status_code", e.Response.GetStatusCode()) + errorCode := e.getErrorCode() + if errorCode != "" { + orderedMaps.Add("error_code", errorCode) + } + orderedMaps.Add("component", e.Component) + + // Conditionally add the request ID and correlation ID header values. + + if header, ok := e.getHeader("x-request-id"); ok { + orderedMaps.Add("request_id", header) + } + + if header, ok := e.getHeader("x-correlation-id"); ok { + orderedMaps.Add("correlation_id", header) + } + + return orderedMaps +} + +// GetDebugOrderedMaps returns an ordered-map representation +// of an HTTPProblem instance, with additional information +// suited for a debug message. +func (e *HTTPProblem) GetDebugOrderedMaps() *OrderedMaps { + orderedMaps := e.GetConsoleOrderedMaps() + + // The RawResult is never helpful in the printed message. Create a hard copy + // (de-referenced pointer) to remove the raw result from so we don't alter + // the response stored in the problem object. + printableResponse := *e.Response + if printableResponse.Result == nil { + printableResponse.Result = string(printableResponse.RawResult) + } + printableResponse.RawResult = nil + orderedMaps.Add("response", printableResponse) + + var orderableCausedBy OrderableProblem + if errors.As(e.GetCausedBy(), &orderableCausedBy) { + orderedMaps.Add("caused_by", orderableCausedBy.GetDebugOrderedMaps().GetMaps()) + } + + return orderedMaps +} + +// httpErrorf creates and returns a new instance of "HTTPProblem" with "error" level severity. +func httpErrorf(summary string, response *DetailedResponse) *HTTPProblem { + httpProb := &HTTPProblem{ + IBMProblem: IBMErrorf(nil, NewProblemComponent("", ""), summary, ""), + Response: response, + } + + return httpProb +} + +// EnrichHTTPProblem takes an problem and, if it originated as an HTTPProblem, populates +// the fields of the underlying HTTP problem with the given service/operation information. +func EnrichHTTPProblem(err error, operationID string, component *ProblemComponent) { + // If the problem originated from an HTTP error response, populate the + // HTTPProblem instance with details from the SDK that weren't available + // in the core at problem creation time. + var httpProb *HTTPProblem + + // In the case of an SDKProblem instance originating in the core, + // it will not track an HTTPProblem instance in its "caused by" + // chain, but we still want to be able to enrich it. It will be + // stored in the private "httpProblem" field. + var sdkProb *SDKProblem + + if errors.As(err, &httpProb) { + enrichHTTPProblem(httpProb, operationID, component) + } else if errors.As(err, &sdkProb) && sdkProb.httpProblem != nil { + enrichHTTPProblem(sdkProb.httpProblem, operationID, component) + } +} + +// enrichHTTPProblem takes an HTTPProblem instance alongside information about the request +// and adds the extra info to the instance. It also loosely deserializes the response +// in order to set additional information, like the error code. +func enrichHTTPProblem(httpProb *HTTPProblem, operationID string, component *ProblemComponent) { + // If this problem is already populated with service-level information, + // we should not enrich it any further. Most likely, this is an authentication + // error passed from the core to the SDK. + if httpProb.Component.Name != "" { + return + } + + httpProb.Component = component + httpProb.OperationID = operationID +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/iam_assume_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/iam_assume_authenticator.go new file mode 100644 index 000000000..634f30a10 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/iam_assume_authenticator.go @@ -0,0 +1,520 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "crypto/tls" + "encoding/json" + "errors" + "fmt" + "net/http" + "net/http/httputil" + "strconv" + "strings" + "sync" + "time" +) + +// IamAssumeAuthenticator obtains an IAM access token using the IAM "get-token" operation's +// "assume" grant type. The authenticator obtains an initial IAM access token from a +// user-supplied apikey, then exchanges this initial IAM access token for another IAM access token +// that has "assumed the identity" of the specified trusted profile. +// +// The resulting IAM access token is added to each outbound request +// in an Authorization header of the form: +// +// Authorization: Bearer +type IamAssumeAuthenticator struct { + + // Specify exactly one of [iamProfileID, iamProfileCRN, or iamProfileName] to + // identify the trusted profile whose identity should be used. + // If iamProfileID or iamProfileCRN is used, the trusted profile must exist + // in the same account. + // If and only if iamProfileName is used, then iamAccountID must also be + // specified to indicate the account that contains the trusted profile. + iamProfileID string + iamProfileCRN string + iamProfileName string + + // If and only if iamProfileName is used to specify the trusted profile, + // then iamAccountID must also be specified to indicate the account that + // contains the trusted profile. + iamAccountID string + + // The URL representing the IAM token server's endpoint; If not specified, + // a suitable default value will be used [optional]. + url string + urlInit sync.Once + + // A flag that indicates whether verification of the server's SSL certificate + // should be disabled; defaults to false [optional]. + disableSSLVerification bool + + // A set of key/value pairs that will be sent as HTTP headers in requests + // made to the token server [optional]. + headers map[string]string + + // The http.Client object used to invoke token server requests. + // If not specified by the user, a suitable default Client will be constructed [optional]. + client *http.Client + clientInit sync.Once + + // The User-Agent header value to be included with each token request. + userAgent string + userAgentInit sync.Once + + // The cached token and expiration time. + tokenData *iamTokenData + + // Mutex to make the tokenData field thread safe. + tokenDataMutex sync.Mutex + + // An IamAuthenticator instance used to obtain the user's IAM access token from the apikey. + iamDelegate *IamAuthenticator +} + +const ( + iamGrantTypeAssume = "urn:ibm:params:oauth:grant-type:assume" +) + +var ( + iamAssumeRequestTokenMutex sync.Mutex +) + +// IamAssumeAuthenticatorBuilder is used to construct an IamAssumeAuthenticator instance. +type IamAssumeAuthenticatorBuilder struct { + + // Properties needed to construct an IamAuthenticator instance. + IamAuthenticator + + // Properties needed to construct an IamAssumeAuthenticator instance. + IamAssumeAuthenticator +} + +// NewIamAssumeAuthenticatorBuilder returns a new builder struct that +// can be used to construct an IamAssumeAuthenticator instance. +func NewIamAssumeAuthenticatorBuilder() *IamAssumeAuthenticatorBuilder { + return &IamAssumeAuthenticatorBuilder{} +} + +// SetIAMProfileID sets the iamProfileID field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetIAMProfileID(s string) *IamAssumeAuthenticatorBuilder { + builder.IamAssumeAuthenticator.iamProfileID = s + return builder +} + +// SetIAMProfileCRN sets the iamProfileCRN field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetIAMProfileCRN(s string) *IamAssumeAuthenticatorBuilder { + builder.IamAssumeAuthenticator.iamProfileCRN = s + return builder +} + +// SetIAMProfileName sets the iamProfileName field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetIAMProfileName(s string) *IamAssumeAuthenticatorBuilder { + builder.IamAssumeAuthenticator.iamProfileName = s + return builder +} + +// SetIAMAccountID sets the iamAccountID field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetIAMAccountID(s string) *IamAssumeAuthenticatorBuilder { + builder.IamAssumeAuthenticator.iamAccountID = s + return builder +} + +// SetApiKey sets the ApiKey field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetApiKey(s string) *IamAssumeAuthenticatorBuilder { + builder.IamAuthenticator.ApiKey = s + return builder +} + +// SetURL sets the url field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetURL(s string) *IamAssumeAuthenticatorBuilder { + builder.IamAuthenticator.URL = s + builder.IamAssumeAuthenticator.url = s + return builder +} + +// SetClientIDSecret sets the ClientId and ClientSecret fields in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetClientIDSecret(clientID, clientSecret string) *IamAssumeAuthenticatorBuilder { + builder.IamAuthenticator.ClientId = clientID + builder.IamAuthenticator.ClientSecret = clientSecret + return builder +} + +// SetDisableSSLVerification sets the DisableSSLVerification field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetDisableSSLVerification(b bool) *IamAssumeAuthenticatorBuilder { + builder.IamAuthenticator.DisableSSLVerification = b + builder.IamAssumeAuthenticator.disableSSLVerification = b + return builder +} + +// SetScope sets the Scope field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetScope(s string) *IamAssumeAuthenticatorBuilder { + builder.IamAuthenticator.Scope = s + return builder +} + +// SetHeaders sets the Headers field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetHeaders(headers map[string]string) *IamAssumeAuthenticatorBuilder { + builder.IamAuthenticator.Headers = headers + builder.IamAssumeAuthenticator.headers = headers + return builder +} + +// SetClient sets the Client field in the builder. +func (builder *IamAssumeAuthenticatorBuilder) SetClient(client *http.Client) *IamAssumeAuthenticatorBuilder { + builder.IamAuthenticator.Client = client + builder.IamAssumeAuthenticator.client = client + return builder +} + +// Build() returns a validated instance of the IamAssumeAuthenticator with the config that was set in the builder. +func (builder *IamAssumeAuthenticatorBuilder) Build() (*IamAssumeAuthenticator, error) { + err := builder.IamAuthenticator.Validate() + if err != nil { + return nil, RepurposeSDKProblem(err, "validation-failed") + } + + err = builder.IamAssumeAuthenticator.Validate() + if err != nil { + return nil, RepurposeSDKProblem(err, "validation-failed") + } + + // If we passed validation, then save our IamAuthenticator instance. + builder.IamAssumeAuthenticator.iamDelegate = &builder.IamAuthenticator + + return &builder.IamAssumeAuthenticator, nil +} + +// NewBuilder returns an IamAssumeAuthenticatorBuilder instance configured with the contents of "authenticator". +func (authenticator *IamAssumeAuthenticator) NewBuilder() *IamAssumeAuthenticatorBuilder { + builder := &IamAssumeAuthenticatorBuilder{} + + builder.IamAssumeAuthenticator.iamProfileCRN = authenticator.iamProfileCRN + builder.IamAssumeAuthenticator.iamProfileID = authenticator.iamProfileID + builder.IamAssumeAuthenticator.iamProfileName = authenticator.iamProfileName + builder.IamAssumeAuthenticator.iamAccountID = authenticator.iamAccountID + builder.IamAssumeAuthenticator.url = authenticator.url + builder.IamAssumeAuthenticator.headers = authenticator.headers + builder.IamAssumeAuthenticator.disableSSLVerification = authenticator.disableSSLVerification + builder.IamAssumeAuthenticator.client = authenticator.client + + builder.IamAuthenticator.URL = authenticator.url + builder.IamAuthenticator.Client = authenticator.client + builder.IamAuthenticator.Headers = authenticator.headers + builder.IamAuthenticator.DisableSSLVerification = authenticator.disableSSLVerification + if authenticator.iamDelegate != nil { + builder.IamAuthenticator.ApiKey = authenticator.iamDelegate.ApiKey + builder.IamAuthenticator.ClientId = authenticator.iamDelegate.ClientId + builder.IamAuthenticator.ClientSecret = authenticator.iamDelegate.ClientSecret + builder.IamAuthenticator.Scope = authenticator.iamDelegate.Scope + } + + return builder +} + +// Validate will verify the authenticator's configuration. +func (authenticator *IamAssumeAuthenticator) Validate() error { + var numParams int + if authenticator.iamProfileCRN != "" { + numParams++ + } + if authenticator.iamProfileID != "" { + numParams++ + } + if authenticator.iamProfileName != "" { + numParams++ + } + + // 1. The user should specify exactly one of iamProfileID, iamProfileCRN, or iamProfileName + if numParams != 1 { + err := fmt.Errorf(ERRORMSG_EXCLUSIVE_PROPS_ERROR, "iamProfileCRN, iamProfileID", "iamProfileName") + return SDKErrorf(err, "", "exc-props", getComponentInfo()) + } + + // 2. The user should specify iamAccountID if and only if iamProfileName is also specified. + if (authenticator.iamProfileName == "") != (authenticator.iamAccountID == "") { + err := errors.New(ERRORMSG_ACCOUNTID_PROP_ERROR) + return SDKErrorf(err, "", "both-props", getComponentInfo()) + } + + return nil +} + +// client returns the authenticator's http client after potentially initializing it. +func (authenticator *IamAssumeAuthenticator) getClient() *http.Client { + authenticator.clientInit.Do(func() { + if authenticator.client == nil { + authenticator.client = DefaultHTTPClient() + authenticator.client.Timeout = time.Second * 30 + + // If the user told us to disable SSL verification, then do it now. + if authenticator.disableSSLVerification { + transport := &http.Transport{ + // #nosec G402 + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + Proxy: http.ProxyFromEnvironment, + } + authenticator.client.Transport = transport + } + } + }) + return authenticator.client +} + +// getUserAgent returns the User-Agent header value to be included in each token request invoked by the authenticator. +func (authenticator *IamAssumeAuthenticator) getUserAgent() string { + authenticator.userAgentInit.Do(func() { + authenticator.userAgent = fmt.Sprintf("%s/%s-%s %s", sdkName, "iam-assume-authenticator", __VERSION__, SystemInfo()) + }) + return authenticator.userAgent +} + +// newIamAssumeAuthenticatorFromMap constructs a new IamAssumeAuthenticator instance from a map. +func newIamAssumeAuthenticatorFromMap(properties map[string]string) (authenticator *IamAssumeAuthenticator, err error) { + if properties == nil { + err := errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + disableSSL, err := strconv.ParseBool(properties[PROPNAME_AUTH_DISABLE_SSL]) + if err != nil { + disableSSL = false + } + + authenticator, err = NewIamAssumeAuthenticatorBuilder(). + SetIAMProfileID(properties[PROPNAME_IAM_PROFILE_ID]). + SetIAMProfileCRN(properties[PROPNAME_IAM_PROFILE_CRN]). + SetIAMProfileName(properties[PROPNAME_IAM_PROFILE_NAME]). + SetIAMAccountID(properties[PROPNAME_IAM_ACCOUNT_ID]). + SetApiKey(properties[PROPNAME_APIKEY]). + SetURL(properties[PROPNAME_AUTH_URL]). + SetClientIDSecret(properties[PROPNAME_CLIENT_ID], properties[PROPNAME_CLIENT_SECRET]). + SetDisableSSLVerification(disableSSL). + SetScope(properties[PROPNAME_SCOPE]). + Build() + + return +} + +// AuthenticationType returns the authentication type for this authenticator. +func (*IamAssumeAuthenticator) AuthenticationType() string { + return AUTHTYPE_IAM_ASSUME +} + +// Authenticate adds IAM authentication information to the request. +// +// The IAM access token will be added to the request's headers in the form: +// +// Authorization: Bearer +func (authenticator *IamAssumeAuthenticator) Authenticate(request *http.Request) error { + token, err := authenticator.GetToken() + if err != nil { + return RepurposeSDKProblem(err, "get-token-fail") + } + + request.Header.Set("Authorization", "Bearer "+token) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// getURL returns the authenticator's URL property after potentially initializing it. +func (authenticator *IamAssumeAuthenticator) getURL() string { + authenticator.urlInit.Do(func() { + if authenticator.url == "" { + // If URL was not specified, then use the default IAM endpoint. + authenticator.url = defaultIamTokenServerEndpoint + } else { + // Canonicalize the URL by removing the operation path if it was specified by the user. + authenticator.url = strings.TrimSuffix(authenticator.url, iamAuthOperationPathGetToken) + } + }) + return authenticator.url +} + +// getTokenData returns the tokenData field from the authenticator. +func (authenticator *IamAssumeAuthenticator) getTokenData() *iamTokenData { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + return authenticator.tokenData +} + +// setTokenData sets the given iamTokenData to the tokenData field of the authenticator. +func (authenticator *IamAssumeAuthenticator) setTokenData(tokenData *iamTokenData) { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + authenticator.tokenData = tokenData +} + +// GetToken returns an access token to be used in an Authorization header. +// Whenever a new token is needed (when a token doesn't yet exist, needs to be refreshed, +// or the existing token has expired), a new access token is fetched from the token server. +func (authenticator *IamAssumeAuthenticator) GetToken() (string, error) { + if authenticator.getTokenData() == nil || !authenticator.getTokenData().isTokenValid() { + GetLogger().Debug("Performing synchronous token fetch...") + // synchronously request the token + err := authenticator.synchronizedRequestToken() + if err != nil { + return "", RepurposeSDKProblem(err, "request-token-fail") + } + } else if authenticator.getTokenData().needsRefresh() { + GetLogger().Debug("Performing background asynchronous token fetch...") + // If refresh needed, kick off a go routine in the background to get a new token + //nolint: errcheck + go authenticator.invokeRequestTokenData() + } else { + GetLogger().Debug("Using cached access token...") + } + + // return an error if the access token is not valid or was not fetched + if authenticator.getTokenData() == nil || authenticator.getTokenData().AccessToken == "" { + err := fmt.Errorf("Error while trying to get access token") + return "", SDKErrorf(err, "", "no-token", getComponentInfo()) + } + + return authenticator.getTokenData().AccessToken, nil +} + +// synchronizedRequestToken will synchronously fetch a new access token. +func (authenticator *IamAssumeAuthenticator) synchronizedRequestToken() error { + iamAssumeRequestTokenMutex.Lock() + defer iamAssumeRequestTokenMutex.Unlock() + // if cached token is still valid, then just continue to use it + if authenticator.getTokenData() != nil && authenticator.getTokenData().isTokenValid() { + return nil + } + + return authenticator.invokeRequestTokenData() +} + +// invokeRequestTokenData requests a new token from the token server and +// unmarshals the token information to the tokenData cache. Returns +// an error if the token was unable to be fetched, otherwise returns nil +func (authenticator *IamAssumeAuthenticator) invokeRequestTokenData() error { + tokenResponse, err := authenticator.RequestToken() + if err != nil { + return err + } + + if tokenData, err := newIamTokenData(tokenResponse); err != nil { + return err + } else { + authenticator.setTokenData(tokenData) + } + + return nil +} + +// RequestToken fetches a new access token from the token server and +// returns the response structure. +func (authenticator *IamAssumeAuthenticator) RequestToken() (*IamTokenServerResponse, error) { + // Step 1: Obtain the user's IAM access token. + userAccessToken, err := authenticator.iamDelegate.GetToken() + if err != nil { + return nil, RepurposeSDKProblem(err, "iam-error") + } + + // Step 2: Exchange the user's access token for one that reflects the trusted profile + // by invoking the getToken-assume operation. + builder := NewRequestBuilder(POST) + _, err = builder.ResolveRequestURL(authenticator.getURL(), iamAuthOperationPathGetToken, nil) + if err != nil { + return nil, RepurposeSDKProblem(err, "url-resolve-error") + } + + builder.AddHeader(CONTENT_TYPE, "application/x-www-form-urlencoded") + builder.AddHeader(Accept, APPLICATION_JSON) + builder.AddHeader(headerNameUserAgent, authenticator.getUserAgent()) + + builder.AddFormData("grant_type", "", "", iamGrantTypeAssume) + builder.AddFormData("access_token", "", "", userAccessToken) + if authenticator.iamProfileCRN != "" { + builder.AddFormData("profile_crn", "", "", authenticator.iamProfileCRN) + } else if authenticator.iamProfileID != "" { + builder.AddFormData("profile_id", "", "", authenticator.iamProfileID) + } else { + builder.AddFormData("profile_name", "", "", authenticator.iamProfileName) + builder.AddFormData("account", "", "", authenticator.iamAccountID) + } + + // Add user-defined headers to request. + for headerName, headerValue := range authenticator.headers { + builder.AddHeader(headerName, headerValue) + } + + req, err := builder.Build() + if err != nil { + return nil, RepurposeSDKProblem(err, "request-build-error") + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log outbound request: %s", dumpErr.Error())) + } + } + + GetLogger().Debug("Invoking IAM 'get token (assume)' operation: %s", builder.URL) + resp, err := authenticator.getClient().Do(req) + if err != nil { + err = SDKErrorf(err, "", "request-error", getComponentInfo()) + return nil, err + } + GetLogger().Debug("Returned from IAM 'get token (assume)' operation, received status code %d", resp.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(resp, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Response:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log inbound response: %s", dumpErr.Error())) + } + } + + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + detailedResponse, err := processErrorResponse(resp) + authError := authenticationErrorf(err, detailedResponse, "get_token", authenticator.getComponentInfo()) + + // The err Summary is typically the message computed for the HTTPError instance in + // processErrorResponse(). If the response body is non-JSON, the message will be generic + // text based on the status code but authenticators have always used the stringified + // RawResult, so update that here for compatibility. + iamErrorMsg := err.Summary + if detailedResponse.RawResult != nil { + // RawResult is only populated if the response body is + // non-JSON and we couldn't extract a message. + iamErrorMsg = string(detailedResponse.RawResult) + } + + authError.Summary = iamErrorMsg + + return nil, authError + } + + tokenResponse := &IamTokenServerResponse{} + _ = json.NewDecoder(resp.Body).Decode(tokenResponse) + defer resp.Body.Close() // #nosec G307 + return tokenResponse, nil +} + +func (authenticator *IamAssumeAuthenticator) getComponentInfo() *ProblemComponent { + return NewProblemComponent("iam_identity_services", "") +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/iam_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/iam_authenticator.go new file mode 100644 index 000000000..aea048411 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/iam_authenticator.go @@ -0,0 +1,595 @@ +package core + +// (C) Copyright IBM Corp. 2019, 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "crypto/tls" + "encoding/json" + "errors" + "fmt" + "net/http" + "net/http/httputil" + "strconv" + "strings" + "sync" + "time" +) + +// IamAuthenticator uses an apikey to obtain an IAM access token, +// and adds the access token to requests via an Authorization header +// of the form: +// +// Authorization: Bearer +type IamAuthenticator struct { + // The apikey used to fetch the bearer token from the IAM token server. + // You must specify either ApiKey or RefreshToken. + ApiKey string + + // The refresh token used to fetch the bearer token from the IAM token server. + // You must specify either ApiKey or RefreshToken. + // If this property is specified, then you also must supply appropriate values + // for the ClientId and ClientSecret properties (i.e. they must be the same + // values that were used to obtain the refresh token). + RefreshToken string + + // The URL representing the IAM token server's endpoint; If not specified, + // a suitable default value will be used [optional]. + URL string + urlInit sync.Once + + // The ClientId and ClientSecret fields are used to form a "basic auth" + // Authorization header for interactions with the IAM token server. + + // If neither field is specified, then no Authorization header will be sent + // with token server requests [optional]. These fields are optional, but must + // be specified together. + ClientId string + ClientSecret string + + // A flag that indicates whether verification of the server's SSL certificate + // should be disabled; defaults to false [optional]. + DisableSSLVerification bool + + // [Optional] The "scope" to use when fetching the bearer token from the + // IAM token server. This can be used to obtain an access token + // with a specific scope. + Scope string + + // [Optional] A set of key/value pairs that will be sent as HTTP headers in requests + // made to the token server. + Headers map[string]string + + // [Optional] The http.Client object used to invoke token server requests. + // If not specified by the user, a suitable default Client will be constructed. + Client *http.Client + clientInit sync.Once + + // The User-Agent header value to be included with each token request. + userAgent string + userAgentInit sync.Once + + // The cached token and expiration time. + tokenData *iamTokenData + + // Mutex to make the tokenData field thread safe. + tokenDataMutex sync.Mutex +} + +var ( + iamRequestTokenMutex sync.Mutex + iamNeedsRefreshMutex sync.Mutex +) + +const ( + // The default (prod) IAM token server base endpoint address. + defaultIamTokenServerEndpoint = "https://iam.cloud.ibm.com" // #nosec G101 + iamAuthOperationPathGetToken = "/identity/token" + iamAuthGrantTypeApiKey = "urn:ibm:params:oauth:grant-type:apikey" // #nosec G101 + iamAuthGrantTypeRefreshToken = "refresh_token" // #nosec G101 + + // The number of seconds before the IAM server-assigned (official) expiration time + // when we'll treat an otherwise valid access token as "expired". + iamExpirationWindow = 10 +) + +// IamAuthenticatorBuilder is used to construct an IamAuthenticator instance. +type IamAuthenticatorBuilder struct { + IamAuthenticator +} + +// NewIamAuthenticatorBuilder returns a new builder struct that +// can be used to construct an IamAuthenticator instance. +func NewIamAuthenticatorBuilder() *IamAuthenticatorBuilder { + return &IamAuthenticatorBuilder{} +} + +// SetApiKey sets the ApiKey field in the builder. +func (builder *IamAuthenticatorBuilder) SetApiKey(s string) *IamAuthenticatorBuilder { + builder.IamAuthenticator.ApiKey = s + return builder +} + +// SetRefreshToken sets the RefreshToken field in the builder. +func (builder *IamAuthenticatorBuilder) SetRefreshToken(s string) *IamAuthenticatorBuilder { + builder.IamAuthenticator.RefreshToken = s + return builder +} + +// SetURL sets the URL field in the builder. +func (builder *IamAuthenticatorBuilder) SetURL(s string) *IamAuthenticatorBuilder { + builder.IamAuthenticator.URL = s + return builder +} + +// SetClientIDSecret sets the ClientId and ClientSecret fields in the builder. +func (builder *IamAuthenticatorBuilder) SetClientIDSecret(clientID, clientSecret string) *IamAuthenticatorBuilder { + builder.IamAuthenticator.ClientId = clientID + builder.IamAuthenticator.ClientSecret = clientSecret + return builder +} + +// SetDisableSSLVerification sets the DisableSSLVerification field in the builder. +func (builder *IamAuthenticatorBuilder) SetDisableSSLVerification(b bool) *IamAuthenticatorBuilder { + builder.IamAuthenticator.DisableSSLVerification = b + return builder +} + +// SetScope sets the Scope field in the builder. +func (builder *IamAuthenticatorBuilder) SetScope(s string) *IamAuthenticatorBuilder { + builder.IamAuthenticator.Scope = s + return builder +} + +// SetHeaders sets the Headers field in the builder. +func (builder *IamAuthenticatorBuilder) SetHeaders(headers map[string]string) *IamAuthenticatorBuilder { + builder.IamAuthenticator.Headers = headers + return builder +} + +// SetClient sets the Client field in the builder. +func (builder *IamAuthenticatorBuilder) SetClient(client *http.Client) *IamAuthenticatorBuilder { + builder.IamAuthenticator.Client = client + return builder +} + +// Build() returns a validated instance of the IamAuthenticator with the config that was set in the builder. +func (builder *IamAuthenticatorBuilder) Build() (*IamAuthenticator, error) { + // Make sure the config is valid. + err := builder.IamAuthenticator.Validate() + if err != nil { + return nil, RepurposeSDKProblem(err, "validation-failed") + } + + return &builder.IamAuthenticator, nil +} + +// client returns the authenticator's http client after potentially initializing it. +func (authenticator *IamAuthenticator) client() *http.Client { + authenticator.clientInit.Do(func() { + if authenticator.Client == nil { + authenticator.Client = DefaultHTTPClient() + authenticator.Client.Timeout = time.Second * 30 + + // If the user told us to disable SSL verification, then do it now. + if authenticator.DisableSSLVerification { + transport := &http.Transport{ + // #nosec G402 + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + Proxy: http.ProxyFromEnvironment, + } + authenticator.Client.Transport = transport + } + } + }) + return authenticator.Client +} + +// getUserAgent returns the User-Agent header value to be included in each token request invoked by the authenticator. +func (authenticator *IamAuthenticator) getUserAgent() string { + authenticator.userAgentInit.Do(func() { + authenticator.userAgent = fmt.Sprintf("%s/%s-%s %s", sdkName, "iam-authenticator", __VERSION__, SystemInfo()) + }) + return authenticator.userAgent +} + +// NewIamAuthenticator constructs a new IamAuthenticator instance. +// Deprecated - use the IamAuthenticatorBuilder instead. +func NewIamAuthenticator(apiKey string, url string, clientId string, clientSecret string, + disableSSLVerification bool, headers map[string]string) (*IamAuthenticator, error) { + authenticator, err := NewIamAuthenticatorBuilder(). + SetApiKey(apiKey). + SetURL(url). + SetClientIDSecret(clientId, clientSecret). + SetDisableSSLVerification(disableSSLVerification). + SetHeaders(headers). + Build() + + return authenticator, RepurposeSDKProblem(err, "auth-builder-fail") +} + +// newIamAuthenticatorFromMap constructs a new IamAuthenticator instance from a map. +func newIamAuthenticatorFromMap(properties map[string]string) (authenticator *IamAuthenticator, err error) { + if properties == nil { + err := errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + disableSSL, err := strconv.ParseBool(properties[PROPNAME_AUTH_DISABLE_SSL]) + if err != nil { + disableSSL = false + } + + authenticator, err = NewIamAuthenticatorBuilder(). + SetApiKey(properties[PROPNAME_APIKEY]). + SetRefreshToken(properties[PROPNAME_REFRESH_TOKEN]). + SetURL(properties[PROPNAME_AUTH_URL]). + SetClientIDSecret(properties[PROPNAME_CLIENT_ID], properties[PROPNAME_CLIENT_SECRET]). + SetDisableSSLVerification(disableSSL). + SetScope(properties[PROPNAME_SCOPE]). + Build() + + return +} + +// AuthenticationType returns the authentication type for this authenticator. +func (*IamAuthenticator) AuthenticationType() string { + return AUTHTYPE_IAM +} + +// Authenticate adds IAM authentication information to the request. +// +// The IAM access token will be added to the request's headers in the form: +// +// Authorization: Bearer +func (authenticator *IamAuthenticator) Authenticate(request *http.Request) error { + token, err := authenticator.GetToken() + if err != nil { + return RepurposeSDKProblem(err, "get-token-fail") + } + + request.Header.Set("Authorization", "Bearer "+token) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// url returns the authenticator's URL property after potentially initializing it. +func (authenticator *IamAuthenticator) url() string { + authenticator.urlInit.Do(func() { + if authenticator.URL == "" { + // If URL was not specified, then use the default IAM endpoint. + authenticator.URL = defaultIamTokenServerEndpoint + } else { + // Canonicalize the URL by removing the operation path if it was specified by the user. + authenticator.URL = strings.TrimSuffix(authenticator.URL, iamAuthOperationPathGetToken) + } + }) + return authenticator.URL +} + +// getTokenData returns the tokenData field from the authenticator. +func (authenticator *IamAuthenticator) getTokenData() *iamTokenData { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + return authenticator.tokenData +} + +// setTokenData sets the given iamTokenData to the tokenData field of the authenticator. +func (authenticator *IamAuthenticator) setTokenData(tokenData *iamTokenData) { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + authenticator.tokenData = tokenData + + // Next, we should save the just-returned refresh token back to the main + // authenticator struct. + // This is done so that if we were originally configured with + // a refresh token, then we'll be sure to use a "fresh" + // refresh token next time we invoke the "get token" operation. + // This was recommended by the IAM team to avoid problems in the future + // if the token service is changed to invalidate an existing refresh token + // when a new one is generated and returned in the response. + if tokenData != nil { + authenticator.RefreshToken = tokenData.RefreshToken + } +} + +// Validate the authenticator's configuration. +// +// Ensures that the ApiKey and RefreshToken properties are mutually exclusive, +// and that the ClientId and ClientSecret properties are mutually inclusive. +func (authenticator *IamAuthenticator) Validate() error { + // The user should specify at least one of ApiKey or RefreshToken. + // Note: We'll allow both ApiKey and RefreshToken to be specified, + // in which case we'd use ApiKey in the RequestToken() method. + // Consider this scenario... + // - An IamAuthenticator instance is configured with an apikey and is initially + // declared to be "valid" by the Validate() method. + // - The authenticator is used to construct a service, then an operation is + // invoked which then triggers the very first call to RequestToken(). + // - The authenticator invokes the IAM get_token operation and then receives + // the response. The authenticator copies the refresh_token value from the response + // to the authenticator's RefreshToken field. + // - At this point, the authenticator would have non-empty values in both the + // ApiKey and RefreshToken fields. + // This all means that we must try to make sure that a previously-validated + // instance of the authenticator doesn't become invalidated simply through + // normal use. + // + if authenticator.ApiKey == "" && authenticator.RefreshToken == "" { + err := fmt.Errorf(ERRORMSG_EXCLUSIVE_PROPS_ERROR, "ApiKey", "RefreshToken") + return SDKErrorf(err, "", "exc-props", getComponentInfo()) + } + + if authenticator.ApiKey != "" && HasBadFirstOrLastChar(authenticator.ApiKey) { + err := fmt.Errorf(ERRORMSG_PROP_INVALID, "ApiKey") + return SDKErrorf(err, "", "bad-prop", getComponentInfo()) + } + + // Validate ClientId and ClientSecret. + // Either both or neither should be specified. + if authenticator.ClientId == "" && authenticator.ClientSecret == "" { + // Do nothing as this is the valid scenario. + } else { + // Since it is NOT the case that both properties are empty, make sure BOTH are specified. + if authenticator.ClientId == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "ClientId") + return SDKErrorf(err, "", "missing-id", getComponentInfo()) + } + + if authenticator.ClientSecret == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "ClientSecret") + return SDKErrorf(err, "", "missing-secret", getComponentInfo()) + } + } + + return nil +} + +// GetToken: returns an access token to be used in an Authorization header. +// Whenever a new token is needed (when a token doesn't yet exist, needs to be refreshed, +// or the existing token has expired), a new access token is fetched from the token server. +func (authenticator *IamAuthenticator) GetToken() (string, error) { + if authenticator.getTokenData() == nil || !authenticator.getTokenData().isTokenValid() { + GetLogger().Debug("Performing synchronous token fetch...") + // synchronously request the token + err := authenticator.synchronizedRequestToken() + if err != nil { + return "", RepurposeSDKProblem(err, "request-token-fail") + } + } else if authenticator.getTokenData().needsRefresh() { + GetLogger().Debug("Performing background asynchronous token fetch...") + // If refresh needed, kick off a go routine in the background to get a new token + //nolint: errcheck + go authenticator.invokeRequestTokenData() + } else { + GetLogger().Debug("Using cached access token...") + } + + // return an error if the access token is not valid or was not fetched + if authenticator.getTokenData() == nil || authenticator.getTokenData().AccessToken == "" { + err := fmt.Errorf("Error while trying to get access token") + return "", SDKErrorf(err, "", "no-token", getComponentInfo()) + } + + return authenticator.getTokenData().AccessToken, nil +} + +// synchronizedRequestToken: synchronously checks if the current token in cache +// is valid. If token is not valid or does not exist, it will fetch a new token +// and set the tokenRefreshTime +func (authenticator *IamAuthenticator) synchronizedRequestToken() error { + iamRequestTokenMutex.Lock() + defer iamRequestTokenMutex.Unlock() + // if cached token is still valid, then just continue to use it + if authenticator.getTokenData() != nil && authenticator.getTokenData().isTokenValid() { + return nil + } + + return authenticator.invokeRequestTokenData() +} + +// invokeRequestTokenData: requests a new token from the access server and +// unmarshals the token information to the tokenData cache. Returns +// an error if the token was unable to be fetched, otherwise returns nil +func (authenticator *IamAuthenticator) invokeRequestTokenData() error { + tokenResponse, err := authenticator.RequestToken() + if err != nil { + return err + } + + if tokenData, err := newIamTokenData(tokenResponse); err != nil { + return err + } else { + authenticator.setTokenData(tokenData) + } + + return nil +} + +// RequestToken fetches a new access token from the token server. +func (authenticator *IamAuthenticator) RequestToken() (*IamTokenServerResponse, error) { + builder := NewRequestBuilder(POST) + _, err := builder.ResolveRequestURL(authenticator.url(), iamAuthOperationPathGetToken, nil) + if err != nil { + return nil, RepurposeSDKProblem(err, "url-resolve-error") + } + + builder.AddHeader(CONTENT_TYPE, "application/x-www-form-urlencoded") + builder.AddHeader(Accept, APPLICATION_JSON) + builder.AddHeader(headerNameUserAgent, authenticator.getUserAgent()) + builder.AddFormData("response_type", "", "", "cloud_iam") + + if authenticator.ApiKey != "" { + // If ApiKey was configured, then use grant_type "apikey" to obtain an access token. + builder.AddFormData("grant_type", "", "", iamAuthGrantTypeApiKey) + builder.AddFormData("apikey", "", "", authenticator.ApiKey) + } else if authenticator.RefreshToken != "" { + // Otherwise, if RefreshToken was configured then use grant_type "refresh_token". + builder.AddFormData("grant_type", "", "", iamAuthGrantTypeRefreshToken) + builder.AddFormData("refresh_token", "", "", authenticator.RefreshToken) + } else { + // We shouldn't ever get here due to prior validations, but just in case, let's log an error. + err := fmt.Errorf(ERRORMSG_EXCLUSIVE_PROPS_ERROR, "ApiKey", "RefreshToken") + return nil, SDKErrorf(err, "", "iam-exc-props", getComponentInfo()) + } + + // Add any optional parameters to the request. + if authenticator.Scope != "" { + builder.AddFormData("scope", "", "", authenticator.Scope) + } + + // Add user-defined headers to request. + for headerName, headerValue := range authenticator.Headers { + builder.AddHeader(headerName, headerValue) + } + + req, err := builder.Build() + if err != nil { + return nil, RepurposeSDKProblem(err, "request-build-error") + } + + // If client id and secret were configured by the user, then set them on the request + // as a basic auth header. + // Our previous validation step would have made sure that both values are specified + // if the RefreshToken property was specified. + if authenticator.ClientId != "" && authenticator.ClientSecret != "" { + req.SetBasicAuth(authenticator.ClientId, authenticator.ClientSecret) + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log outbound request: %s", dumpErr.Error())) + } + } + + GetLogger().Debug("Invoking IAM 'get token' operation: %s", builder.URL) + resp, err := authenticator.client().Do(req) + if err != nil { + err = SDKErrorf(err, "", "request-error", getComponentInfo()) + return nil, err + } + GetLogger().Debug("Returned from IAM 'get token' operation, received status code %d", resp.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(resp, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Response:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log inbound response: %s", dumpErr.Error())) + } + } + + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + detailedResponse, err := processErrorResponse(resp) + authError := authenticationErrorf(err, detailedResponse, "get_token", authenticator.getComponentInfo()) + + // The err Summary is typically the message computed for the HTTPError instance in + // processErrorResponse(). If the response body is non-JSON, the message will be generic + // text based on the status code but authenticators have always used the stringified + // RawResult, so update that here for compatilibility. + iamErrorMsg := err.Summary + if detailedResponse.RawResult != nil { + // RawResult is only populated if the response body is + // non-JSON and we couldn't extract a message. + iamErrorMsg = string(detailedResponse.RawResult) + } + + authError.Summary = iamErrorMsg + + return nil, authError + } + + tokenResponse := &IamTokenServerResponse{} + _ = json.NewDecoder(resp.Body).Decode(tokenResponse) + defer resp.Body.Close() // #nosec G307 + return tokenResponse, nil +} + +func (authenticator *IamAuthenticator) getComponentInfo() *ProblemComponent { + return NewProblemComponent("iam_identity_services", "") +} + +// IamTokenServerResponse : This struct models a response received from the token server. +type IamTokenServerResponse struct { + AccessToken string `json:"access_token"` + RefreshToken string `json:"refresh_token"` + TokenType string `json:"token_type"` + ExpiresIn int64 `json:"expires_in"` + Expiration int64 `json:"expiration"` +} + +// iamTokenData : This struct represents the cached information related to a fetched access token. +type iamTokenData struct { + AccessToken string + RefreshToken string + RefreshTime int64 + Expiration int64 +} + +// newIamTokenData: constructs a new IamTokenData instance from the specified IamTokenServerResponse instance. +func newIamTokenData(tokenResponse *IamTokenServerResponse) (*iamTokenData, error) { + if tokenResponse == nil { + err := fmt.Errorf("Error while trying to parse access token!") + return nil, SDKErrorf(err, "", "token-parse", getComponentInfo()) + } + // Compute the adjusted refresh time (expiration time - 20% of timeToLive) + timeToLive := tokenResponse.ExpiresIn + expireTime := tokenResponse.Expiration + refreshTime := expireTime - int64(float64(timeToLive)*0.2) + + tokenData := &iamTokenData{ + AccessToken: tokenResponse.AccessToken, + RefreshToken: tokenResponse.RefreshToken, + Expiration: expireTime, + RefreshTime: refreshTime, + } + + return tokenData, nil +} + +// isTokenValid: returns true iff the IamTokenData instance represents a valid (non-expired) access token. +func (td *iamTokenData) isTokenValid() bool { + // We'll use "exp - 10" so that we'll treat an otherwise valid (unexpired) access token + // to be expired if we're within 10 seconds of its TTL. + // This is because some IBM Cloud services reject valid access tokens with a short + // TTL remaining (TTL < 5 secs) because the access token might be used in a longer-running + // transaction and could potentially expire in the middle of the transaction. + if td.AccessToken != "" && GetCurrentTime() < (td.Expiration-iamExpirationWindow) { + return true + } + return false +} + +// needsRefresh: synchronously returns true iff the currently stored access token should be refreshed. +// This method also updates the refresh time if it determines the token needs to be refreshed +// to prevent other threads from making multiple refresh calls. +func (td *iamTokenData) needsRefresh() bool { + iamNeedsRefreshMutex.Lock() + defer iamNeedsRefreshMutex.Unlock() + + // Advance refresh by one minute + if td.RefreshTime >= 0 && GetCurrentTime() > td.RefreshTime { + td.RefreshTime = GetCurrentTime() + 60 + return true + } + + return false +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/ibm_problem.go b/vendor/github.com/IBM/go-sdk-core/v5/core/ibm_problem.go new file mode 100644 index 000000000..f83040d08 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/ibm_problem.go @@ -0,0 +1,174 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "errors" + "fmt" +) + +// problemSeverity simulates an enum by defining the only string values that are +// supported for the Severity field of an IBMProblem: "error" and "warning". +type problemSeverity string + +const ( + ErrorSeverity problemSeverity = "error" + WarningSeverity problemSeverity = "warning" +) + +// ProblemComponent is a structure that holds information about a given component. +type ProblemComponent struct { + Name string + Version string +} + +func NewProblemComponent(name, version string) *ProblemComponent { + return &ProblemComponent{ + Name: name, + Version: version, + } +} + +// IBMProblem holds the base set of fields that all problem types +// should include. It is geared more towards embedding in other +// structs than towards use on its own. +type IBMProblem struct { + + // Summary is the informative, user-friendly message that describes + // the problem and what caused it. + Summary string + + // Component is a structure providing information about the actual + // component that the problem occurred in: the name of the component + // and the version of the component being used with the problem occurred. + // Examples of components include cloud services, SDK clients, the IBM + // Terraform Provider, etc. For programming libraries, the Component name + // should match the module name for the library (i.e. the name a user + // would use to install it). + Component *ProblemComponent + + // Severity represents the severity level of the problem, + // e.g. error, warning, or info. + Severity problemSeverity + + // discriminator is a private property that is not ever meant to be + // seen by the end user. It's sole purpose is to enforce uniqueness + // for the computed ID of problems that would otherwise have the same + // ID. For example, if two SDKProblem instances are created with the + // same Component and Function values, they would end up with the same + // ID. This property allows us to "discriminate" between such problems. + discriminator string + + // causedBy allows for the storage of a problem from a previous component, + // if there is one. + causedBy Problem + + // nativeCausedBy allows for the storage of an error that is the cause of + // the problem instance but is not a part of the official chain of problem + // types. By including these errors in the "Unwrap" chain, the problem type + // changes become compatible with downstream code that uses error checking + // methods like "Is" and "As". + nativeCausedBy error +} + +// Error returns the problem's message and implements the native +// "error" interface. +func (e *IBMProblem) Error() string { + return e.Summary +} + +// GetBaseSignature provides a convenient way of +// retrieving the fields needed to compute the +// hash that are common to every kind of problem. +func (e *IBMProblem) GetBaseSignature() string { + causedByID := "" + if e.causedBy != nil { + causedByID = e.causedBy.GetID() + } + return fmt.Sprintf("%s%s%s%s", e.Component.Name, e.Severity, e.discriminator, causedByID) +} + +// GetCausedBy returns the underlying "causedBy" problem, if it exists. +func (e *IBMProblem) GetCausedBy() Problem { + return e.causedBy +} + +// Unwrap implements an interface the native Go "errors" package uses to +// check for embedded problems in a given problem instance. IBM problem types +// are not embedded in the traditional sense, but they chain previous +// problem instances together with the "causedBy" field. This allows error +// interface instances to be cast into any of the problem types in the chain +// using the native "errors.As" function. This can be useful for, as an +// example, extracting an HTTPProblem from the chain if it exists. +// Note that this Unwrap method returns only the chain of "caused by" problems; +// it does not include the error instance the method is called on - that is +// looked at separately by the "errors" package in functions like "As". +func (e *IBMProblem) Unwrap() []error { + var errs []error + + // Include native (i.e. non-Problem) caused by errors in the + // chain for compatibility with respect to downstream methods + // like "errors.Is" or "errors.As". + if e.nativeCausedBy != nil { + errs = append(errs, e.nativeCausedBy) + } + + causedBy := e.GetCausedBy() + if causedBy == nil { + return errs + } + + errs = append(errs, causedBy) + + var toUnwrap interface{ Unwrap() []error } + if errors.As(causedBy, &toUnwrap) { + causedByChain := toUnwrap.Unwrap() + if causedByChain != nil { + errs = append(errs, causedByChain...) + } + } + + return errs +} + +func ibmProblemf(err error, severity problemSeverity, component *ProblemComponent, summary, discriminator string) *IBMProblem { + // Leaving summary blank is a convenient way to + // use the message from the underlying problem. + if summary == "" && err != nil { + summary = err.Error() + } + + newError := &IBMProblem{ + Summary: summary, + Component: component, + discriminator: discriminator, + Severity: severity, + } + + var causedBy Problem + if errors.As(err, &causedBy) { + newError.causedBy = causedBy + } else { + newError.nativeCausedBy = err + } + + return newError +} + +// IBMErrorf creates and returns a new instance of an IBMProblem struct with "error" +// level severity. It is primarily meant for embedding IBMProblem structs in other types. +func IBMErrorf(err error, component *ProblemComponent, summary, discriminator string) *IBMProblem { + return ibmProblemf(err, ErrorSeverity, component, summary, discriminator) +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/jwt_utils.go b/vendor/github.com/IBM/go-sdk-core/v5/core/jwt_utils.go new file mode 100644 index 000000000..1cb04f463 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/jwt_utils.go @@ -0,0 +1,72 @@ +package core + +// (C) Copyright IBM Corp. 2021. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "strings" +) + +// coreJWTClaims are the fields within a JWT's "claims" segment that we're interested in. +type coreJWTClaims struct { + ExpiresAt int64 `json:"exp,omitempty"` + IssuedAt int64 `json:"iat,omitempty"` +} + +// parseJWT parses the specified JWT token string and returns an instance of the coreJWTClaims struct. +func parseJWT(tokenString string) (claims *coreJWTClaims, err error) { + // A JWT consists of three .-separated segments + segments := strings.Split(tokenString, ".") + if len(segments) != 3 { + err = errors.New("token contains an invalid number of segments") + err = SDKErrorf(err, "", "need-3-segs", getComponentInfo()) + return + } + + // Parse Claims segment. + var claimBytes []byte + claimBytes, err = decodeSegment(segments[1]) + if err != nil { + return + } + + // Now deserialize the claims segment into our coreClaims struct. + claims = &coreJWTClaims{} + err = json.Unmarshal(claimBytes, claims) + if err != nil { + err = fmt.Errorf("error unmarshalling token: %s", err.Error()) + err = SDKErrorf(err, "", "bad-token", getComponentInfo()) + return + } + + return +} + +// Decode JWT specific base64url encoding with padding stripped +// Copied from https://github.com/golang-jwt/jwt/blob/main/token.go +func decodeSegment(seg string) ([]byte, error) { + if l := len(seg) % 4; l > 0 { + seg += strings.Repeat("=", 4-l) + } + + res, err := base64.URLEncoding.DecodeString(seg) + if err != nil { + err = SDKErrorf(err, fmt.Sprintf("error decoding claims segment: %s", err.Error()), "bad-claim-seg", getComponentInfo()) + } + return res, err +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/log.go b/vendor/github.com/IBM/go-sdk-core/v5/core/log.go new file mode 100644 index 000000000..0ac5fa0e0 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/log.go @@ -0,0 +1,179 @@ +package core + +// (C) Copyright IBM Corp. 2020, 2021. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "log" + "os" + "sync" +) + +// LogLevel defines a type for logging levels +type LogLevel int + +// Log level constants +const ( + LevelNone LogLevel = iota + LevelError + LevelWarn + LevelInfo + LevelDebug +) + +// Logger is the logging interface implemented and used by the Go core library. +// Users of the library can supply their own implementation by calling SetLogger(). +type Logger interface { + Log(level LogLevel, format string, inserts ...interface{}) + Error(format string, inserts ...interface{}) + Warn(format string, inserts ...interface{}) + Info(format string, inserts ...interface{}) + Debug(format string, inserts ...interface{}) + + SetLogLevel(level LogLevel) + GetLogLevel() LogLevel + IsLogLevelEnabled(level LogLevel) bool +} + +// SDKLoggerImpl is the Go core's implementation of the Logger interface. +// This logger contains two instances of Go's log.Logger interface which are +// used to perform message logging. +// "infoLogger" is used to log info/warn/debug messages. +// If specified as nil, then a default log.Logger instance that uses stdout will be created +// and used for "infoLogger". +// "errorLogger" is used to log error messages. +// If specified as nil, then a default log.Logger instance that uses stderr will be created +// and used for "errorLogger". +type SDKLoggerImpl struct { + + // The current log level configured in this logger. + // Only messages with a log level that is <= 'logLevel' will be displayed. + logLevel LogLevel + + // The underlying log.Logger instances used to log info/warn/debug messages. + infoLogger *log.Logger + + // The underlying log.Logger instances used to log error messages. + errorLogger *log.Logger + + // These are used to initialize the loggers above. + infoInit sync.Once + errorInit sync.Once +} + +// SetLogLevel sets level to be the current logging level +func (l *SDKLoggerImpl) SetLogLevel(level LogLevel) { + l.logLevel = level +} + +// GetLogLevel sets level to be the current logging level +func (l *SDKLoggerImpl) GetLogLevel() LogLevel { + return l.logLevel +} + +// IsLogLevelEnabled returns true iff the logger's current logging level +// indicates that 'level' is enabled. +func (l *SDKLoggerImpl) IsLogLevelEnabled(level LogLevel) bool { + return l.logLevel >= level +} + +// infoLog returns the underlying log.Logger instance used for info/warn/debug logging. +func (l *SDKLoggerImpl) infoLog() *log.Logger { + l.infoInit.Do(func() { + if l.infoLogger == nil { + l.infoLogger = log.New(os.Stdout, "", log.LstdFlags) + } + }) + + return l.infoLogger +} + +// errorLog returns the underlying log.Logger instance used for error logging. +func (l *SDKLoggerImpl) errorLog() *log.Logger { + l.errorInit.Do(func() { + if l.errorLogger == nil { + l.errorLogger = log.New(os.Stderr, "", log.LstdFlags) + } + }) + + return l.errorLogger +} + +// Log will log the specified message on the appropriate log.Logger instance if "level" is currently enabled. +func (l *SDKLoggerImpl) Log(level LogLevel, format string, inserts ...interface{}) { + if l.IsLogLevelEnabled(level) { + var goLogger *log.Logger + switch level { + case LevelError: + goLogger = l.errorLog() + default: + goLogger = l.infoLog() + } + goLogger.Printf(format, inserts...) + } +} + +// Error logs a message at level "Error" +func (l *SDKLoggerImpl) Error(format string, inserts ...interface{}) { + l.Log(LevelError, "[Error] "+format, inserts...) +} + +// Warn logs a message at level "Warn" +func (l *SDKLoggerImpl) Warn(format string, inserts ...interface{}) { + l.Log(LevelWarn, "[Warn] "+format, inserts...) +} + +// Info logs a message at level "Info" +func (l *SDKLoggerImpl) Info(format string, inserts ...interface{}) { + l.Log(LevelInfo, "[Info] "+format, inserts...) +} + +// Debug logs a message at level "Debug" +func (l *SDKLoggerImpl) Debug(format string, inserts ...interface{}) { + l.Log(LevelDebug, "[Debug] "+format, inserts...) +} + +// NewLogger constructs an SDKLoggerImpl instance with the specified logging level +// enabled. +// The "infoLogger" parameter is the log.Logger instance to be used to log +// info/warn/debug messages. If specified as nil, then a default log.Logger instance +// that writes messages to "stdout" will be used. +// The "errorLogger" parameter is the log.Logger instance to be used to log +// error messages. If specified as nil, then a default log.Logger instance +// that writes messages to "stderr" will be used. +func NewLogger(level LogLevel, infoLogger *log.Logger, errorLogger *log.Logger) *SDKLoggerImpl { + return &SDKLoggerImpl{ + logLevel: level, + infoLogger: infoLogger, + errorLogger: errorLogger, + } +} + +// sdkLogger holds the Logger implementation used by the Go core library. +var sdkLogger Logger = NewLogger(LevelError, nil, nil) + +// SetLogger sets the specified Logger instance as the logger to be used by the Go core library. +func SetLogger(logger Logger) { + sdkLogger = logger +} + +// GetLogger returns the Logger instance currently used by the Go core. +func GetLogger() Logger { + return sdkLogger +} + +// SetLoggingLevel will enable the specified logging level in the Go core library. +func SetLoggingLevel(level LogLevel) { + GetLogger().SetLogLevel(level) +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/mcsp_v1_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/mcsp_v1_authenticator.go new file mode 100644 index 000000000..0bf05c88c --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/mcsp_v1_authenticator.go @@ -0,0 +1,444 @@ +package core + +// (C) Copyright IBM Corp. 2023, 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "crypto/tls" + "encoding/json" + "errors" + "fmt" + "net/http" + "net/http/httputil" + "strconv" + "sync" + "time" +) + +// MCSPAuthenticator uses an apikey to obtain an access token, +// and adds the access token to requests via an Authorization header +// of the form: "Authorization: Bearer " +type MCSPAuthenticator struct { + // [Required] The apikey used to fetch the bearer token from the token server. + ApiKey string + + // [Required] The endpoint base URL for the token server. + URL string + + // [Optional] A flag that indicates whether verification of the token server's SSL certificate + // should be disabled; defaults to false. + DisableSSLVerification bool + + // [Optional] A set of key/value pairs that will be sent as HTTP headers in requests + // made to the token server. + Headers map[string]string + + // [Optional] The http.Client object used to invoke token server requests. + // If not specified by the user, a suitable default Client will be constructed. + Client *http.Client + clientInit sync.Once + + // The User-Agent header value to be included with each token request. + userAgent string + userAgentInit sync.Once + + // The cached token and expiration time. + tokenData *mcspTokenData + + // Mutex to make the tokenData field thread safe. + tokenDataMutex sync.Mutex +} + +var ( + mcspRequestTokenMutex sync.Mutex + mcspNeedsRefreshMutex sync.Mutex +) + +const ( + mcspAuthOperationPath = "/siusermgr/api/1.0/apikeys/token" +) + +// MCSPAuthenticatorBuilder is used to construct an MCSPAuthenticator instance. +type MCSPAuthenticatorBuilder struct { + MCSPAuthenticator +} + +// NewMCSPAuthenticatorBuilder returns a new builder struct that +// can be used to construct an MCSPAuthenticator instance. +func NewMCSPAuthenticatorBuilder() *MCSPAuthenticatorBuilder { + return &MCSPAuthenticatorBuilder{} +} + +// SetApiKey sets the ApiKey field in the builder. +func (builder *MCSPAuthenticatorBuilder) SetApiKey(s string) *MCSPAuthenticatorBuilder { + builder.MCSPAuthenticator.ApiKey = s + return builder +} + +// SetURL sets the URL field in the builder. +func (builder *MCSPAuthenticatorBuilder) SetURL(s string) *MCSPAuthenticatorBuilder { + builder.MCSPAuthenticator.URL = s + return builder +} + +// SetDisableSSLVerification sets the DisableSSLVerification field in the builder. +func (builder *MCSPAuthenticatorBuilder) SetDisableSSLVerification(b bool) *MCSPAuthenticatorBuilder { + builder.MCSPAuthenticator.DisableSSLVerification = b + return builder +} + +// SetHeaders sets the Headers field in the builder. +func (builder *MCSPAuthenticatorBuilder) SetHeaders(headers map[string]string) *MCSPAuthenticatorBuilder { + builder.MCSPAuthenticator.Headers = headers + return builder +} + +// SetClient sets the Client field in the builder. +func (builder *MCSPAuthenticatorBuilder) SetClient(client *http.Client) *MCSPAuthenticatorBuilder { + builder.MCSPAuthenticator.Client = client + return builder +} + +// Build() returns a validated instance of the MCSPAuthenticator with the config that was set in the builder. +func (builder *MCSPAuthenticatorBuilder) Build() (*MCSPAuthenticator, error) { + // Make sure the config is valid. + err := builder.MCSPAuthenticator.Validate() + if err != nil { + return nil, RepurposeSDKProblem(err, "validation-failed") + } + + return &builder.MCSPAuthenticator, nil +} + +// client returns the authenticator's http client after potentially initializing it. +func (authenticator *MCSPAuthenticator) client() *http.Client { + authenticator.clientInit.Do(func() { + if authenticator.Client == nil { + authenticator.Client = DefaultHTTPClient() + authenticator.Client.Timeout = time.Second * 30 + + // If the user told us to disable SSL verification, then do it now. + if authenticator.DisableSSLVerification { + transport := &http.Transport{ + // #nosec G402 + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + Proxy: http.ProxyFromEnvironment, + } + authenticator.Client.Transport = transport + } + } + }) + return authenticator.Client +} + +// getUserAgent returns the User-Agent header value to be included in each token request invoked by the authenticator. +func (authenticator *MCSPAuthenticator) getUserAgent() string { + authenticator.userAgentInit.Do(func() { + authenticator.userAgent = fmt.Sprintf("%s/%s-%s %s", sdkName, "mcsp-authenticator", __VERSION__, SystemInfo()) + }) + return authenticator.userAgent +} + +// newMCSPAuthenticatorFromMap constructs a new MCSPAuthenticator instance from a map. +func newMCSPAuthenticatorFromMap(properties map[string]string) (authenticator *MCSPAuthenticator, err error) { + if properties == nil { + err = errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + disableSSL, err := strconv.ParseBool(properties[PROPNAME_AUTH_DISABLE_SSL]) + if err != nil { + disableSSL = false + } + + authenticator, err = NewMCSPAuthenticatorBuilder(). + SetApiKey(properties[PROPNAME_APIKEY]). + SetURL(properties[PROPNAME_AUTH_URL]). + SetDisableSSLVerification(disableSSL). + Build() + + return +} + +// AuthenticationType returns the authentication type for this authenticator. +func (*MCSPAuthenticator) AuthenticationType() string { + return AUTHTYPE_MCSP +} + +// Authenticate adds the Authorization header to the request. +// The value will be of the form: "Authorization: Bearer "" +func (authenticator *MCSPAuthenticator) Authenticate(request *http.Request) error { + token, err := authenticator.GetToken() + if err != nil { + return RepurposeSDKProblem(err, "get-token-fail") + } + + request.Header.Set("Authorization", "Bearer "+token) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// getTokenData returns the tokenData field from the authenticator. +func (authenticator *MCSPAuthenticator) getTokenData() *mcspTokenData { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + return authenticator.tokenData +} + +// setTokenData sets the given mcspTokenData to the tokenData field of the authenticator. +func (authenticator *MCSPAuthenticator) setTokenData(tokenData *mcspTokenData) { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + authenticator.tokenData = tokenData + GetLogger().Info("setTokenData: expiration=%d, refreshTime=%d", + authenticator.tokenData.Expiration, authenticator.tokenData.RefreshTime) +} + +// Validate the authenticator's configuration. +// +// Ensures that the ApiKey and URL properties are both specified. +func (authenticator *MCSPAuthenticator) Validate() error { + if authenticator.ApiKey == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "ApiKey") + return SDKErrorf(err, "", "missing-api-key", getComponentInfo()) + } + + if authenticator.URL == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "URL") + return SDKErrorf(err, "", "missing-url", getComponentInfo()) + } + + return nil +} + +// GetToken: returns an access token to be used in an Authorization header. +// Whenever a new token is needed (when a token doesn't yet exist, needs to be refreshed, +// or the existing token has expired), a new access token is fetched from the token server. +func (authenticator *MCSPAuthenticator) GetToken() (string, error) { + if authenticator.getTokenData() == nil || !authenticator.getTokenData().isTokenValid() { + GetLogger().Debug("Performing synchronous token fetch...") + // synchronously request the token + err := authenticator.synchronizedRequestToken() + if err != nil { + return "", RepurposeSDKProblem(err, "request-token-fail") + } + } else if authenticator.getTokenData().needsRefresh() { + GetLogger().Debug("Performing background asynchronous token fetch...") + // If refresh needed, kick off a go routine in the background to get a new token. + //nolint: errcheck + go authenticator.invokeRequestTokenData() + } else { + GetLogger().Debug("Using cached access token...") + } + + // return an error if the access token is not valid or was not fetched + if authenticator.getTokenData() == nil || authenticator.getTokenData().AccessToken == "" { + err := errors.New("Error while trying to get access token") + return "", SDKErrorf(err, "", "no-token", getComponentInfo()) + } + + return authenticator.getTokenData().AccessToken, nil +} + +// synchronizedRequestToken: synchronously checks if the current token in cache +// is valid. If token is not valid or does not exist, it will fetch a new token. +func (authenticator *MCSPAuthenticator) synchronizedRequestToken() error { + mcspRequestTokenMutex.Lock() + defer mcspRequestTokenMutex.Unlock() + // if cached token is still valid, then just continue to use it + if authenticator.getTokenData() != nil && authenticator.getTokenData().isTokenValid() { + return nil + } + + return authenticator.invokeRequestTokenData() +} + +// invokeRequestTokenData: requests a new token from the access server and +// unmarshals the token information to the tokenData cache. Returns +// an error if the token was unable to be fetched, otherwise returns nil +func (authenticator *MCSPAuthenticator) invokeRequestTokenData() error { + tokenResponse, err := authenticator.RequestToken() + if err != nil { + return err + } + + GetLogger().Info("invokeRequestTokenData(): RequestToken returned tokenResponse:\n%+v", *tokenResponse) + tokenData, err := newMCSPTokenData(tokenResponse) + if err != nil { + tokenData = &mcspTokenData{} + } + + authenticator.setTokenData(tokenData) + + return nil +} + +// RequestToken fetches a new access token from the token server. +func (authenticator *MCSPAuthenticator) RequestToken() (*MCSPTokenServerResponse, error) { + builder := NewRequestBuilder(POST) + _, err := builder.ResolveRequestURL(authenticator.URL, mcspAuthOperationPath, nil) + if err != nil { + err = RepurposeSDKProblem(err, "url-resolve-error") + return nil, err + } + + builder.AddHeader(CONTENT_TYPE, APPLICATION_JSON) + builder.AddHeader(Accept, APPLICATION_JSON) + builder.AddHeader(headerNameUserAgent, authenticator.getUserAgent()) + requestBody := fmt.Sprintf(`{"apikey":"%s"}`, authenticator.ApiKey) + _, _ = builder.SetBodyContentString(requestBody) + + // Add user-defined headers to request. + for headerName, headerValue := range authenticator.Headers { + builder.AddHeader(headerName, headerValue) + } + + req, err := builder.Build() + if err != nil { + return nil, RepurposeSDKProblem(err, "request-build-error") + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log outbound request: %s", dumpErr.Error())) + } + } + + GetLogger().Debug("Invoking MCSP 'get token' operation: %s", builder.URL) + resp, err := authenticator.client().Do(req) + if err != nil { + err = SDKErrorf(err, "", "request-error", getComponentInfo()) + return nil, err + } + GetLogger().Debug("Returned from MCSP 'get token' operation, received status code %d", resp.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(resp, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Response:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log inbound response: %s", dumpErr.Error())) + } + } + + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + detailedResponse, err := processErrorResponse(resp) + authError := authenticationErrorf(err, detailedResponse, "get_token", authenticator.getComponentInfo()) + + // The err Summary is typically the message computed for the HTTPError instance in + // processErrorResponse(). If the response body is non-JSON, the message will be generic + // text based on the status code but authenticators have always used the stringified + // RawResult, so update that here for compatilibility. + errorMsg := err.Summary + if detailedResponse.RawResult != nil { + // RawResult is only populated if the response body is + // non-JSON and we couldn't extract a message. + errorMsg = string(detailedResponse.RawResult) + } + + authError.Summary = errorMsg + + return nil, authError + } + + tokenResponse := &MCSPTokenServerResponse{} + _ = json.NewDecoder(resp.Body).Decode(tokenResponse) + defer resp.Body.Close() // #nosec G307 + + return tokenResponse, nil +} + +func (authenticator *MCSPAuthenticator) getComponentInfo() *ProblemComponent { + return NewProblemComponent("mscp_token_server", "1.0") +} + +// MCSPTokenServerResponse : This struct models a response received from the token server. +type MCSPTokenServerResponse struct { + Token string `json:"token"` + TokenType string `json:"token_type"` + ExpiresIn int64 `json:"expires_in"` +} + +// mcspTokenData : This struct represents the cached information related to a fetched access token. +type mcspTokenData struct { + AccessToken string + RefreshTime int64 + Expiration int64 +} + +// newMCSPTokenData: constructs a new mcspTokenData instance from the specified +// MCSPTokenServerResponse instance. +func newMCSPTokenData(tokenResponse *MCSPTokenServerResponse) (*mcspTokenData, error) { + if tokenResponse == nil || tokenResponse.Token == "" { + err := errors.New("Error while trying to parse access token!") + return nil, SDKErrorf(err, "", "token-parse", getComponentInfo()) + } + + // Need to crack open the access token (a JWT) to get the expiration and issued-at times + // so that we can compute the refresh time. + claims, err := parseJWT(tokenResponse.Token) + if err != nil { + return nil, err + } + + // Compute the adjusted refresh time (expiration time - 20% of timeToLive) + timeToLive := claims.ExpiresAt - claims.IssuedAt + expireTime := claims.ExpiresAt + refreshTime := expireTime - int64(float64(timeToLive)*0.2) + + tokenData := &mcspTokenData{ + AccessToken: tokenResponse.Token, + Expiration: expireTime, + RefreshTime: refreshTime, + } + + GetLogger().Info("newMCSPTokenData: expiration=%d, refreshTime=%d", tokenData.Expiration, tokenData.RefreshTime) + + return tokenData, nil +} + +// isTokenValid: returns true iff the mcspTokenData instance represents a valid (non-expired) access token. +func (tokenData *mcspTokenData) isTokenValid() bool { + if tokenData.AccessToken != "" && GetCurrentTime() < tokenData.Expiration { + GetLogger().Info("isTokenValid: Token is valid!") + return true + } + GetLogger().Info("isTokenValid: Token is NOT valid!") + GetLogger().Info("isTokenValid: expiration=%d, refreshTime=%d", tokenData.Expiration, tokenData.RefreshTime) + GetLogger().Info("GetCurrentTime(): %d\n", GetCurrentTime()) + return false +} + +// needsRefresh: synchronously returns true iff the currently stored access token should be refreshed. This method also +// updates the refresh time if it determines the token needs refreshed to prevent other threads from +// making multiple refresh calls. +func (tokenData *mcspTokenData) needsRefresh() bool { + mcspNeedsRefreshMutex.Lock() + defer mcspNeedsRefreshMutex.Unlock() + + // Advance refresh by one minute + if tokenData.RefreshTime >= 0 && GetCurrentTime() > tokenData.RefreshTime { + tokenData.RefreshTime = GetCurrentTime() + 60 + return true + } + + return false +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/mcsp_v2_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/mcsp_v2_authenticator.go new file mode 100644 index 000000000..ec88a6d47 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/mcsp_v2_authenticator.go @@ -0,0 +1,619 @@ +package core + +// (C) Copyright IBM Corp. 2025. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "crypto/tls" + "encoding/json" + "errors" + "fmt" + "net/http" + "net/http/httputil" + "strconv" + "sync" + "time" +) + +// MCSPV2Authenticator invokes the MCSP v2 token-exchange operation (POST /api/2.0/{scopeCollectionType}/{scopeId}/apikeys/token) +// to obtain an access token for an apikey, and adds the access token to requests via an Authorization header +// of the form: "Authorization: Bearer " +type MCSPV2Authenticator struct { + // [Required] The apikey used to fetch the access token from the token server. + ApiKey string + + // [Required] The endpoint base URL for the token server. + URL string + + // [Required] The scope collection type of item(s). + // Valid values are: "accounts", "subscriptions", "services". + ScopeCollectionType string + + // [Required] The scope identifier of item(s). + ScopeID string + + // [Optional] A flag to include builtin actions in the "actions" claim in the MCSP access token (default: false). + IncludeBuiltinActions bool + + // [Optional] A flag to include custom actions in the "actions" claim in the MCSP access token (default: false). + IncludeCustomActions bool + + // [Optional] A flag to include the "roles" claim in the MCSP access token (default: true). + IncludeRoles bool + + // [Optional] A flag to add a prefix with the scope level where the role is defined in the "roles" claim (default: false). + PrefixRoles bool + + // [Optional] A map containing keys and values to be injected into the access token as the "callerExt" claim. + // The keys used in this map must be enabled in the apikey by setting the "callerExtClaimNames" property when the apikey is created. + // This property is typically only used in scenarios involving an apikey with identityType `SERVICEID`. + CallerExtClaim map[string]string + + // [Optional] A flag that indicates whether verification of the token server's SSL certificate + // should be disabled; defaults to false. + DisableSSLVerification bool + + // [Optional] A set of key/value pairs that will be sent as HTTP headers in requests + // made to the token server. + Headers map[string]string + + // [Optional] The http.Client object used to invoke token server requests. + // If not specified by the user, a suitable default Client will be constructed. + Client *http.Client + clientInit sync.Once + + // The User-Agent header value to be included with each token request. + userAgent string + userAgentInit sync.Once + + // The cached token and expiration time. + tokenData *mcspv2TokenData + + // Mutex to make the tokenData field thread safe. + tokenDataMutex sync.Mutex +} + +var ( + mcspv2RequestTokenMutex sync.Mutex + mcspv2NeedsRefreshMutex sync.Mutex +) + +const ( + mcspv2AuthOperationPath = "/api/2.0/{scopeCollectionType}/{scopeId}/apikeys/token" +) + +// MCSPV2AuthenticatorBuilder is used to construct an MCSPV2Authenticator instance. +type MCSPV2AuthenticatorBuilder struct { + MCSPV2Authenticator +} + +// NewMCSPV2AuthenticatorBuilder returns a new builder struct that +// can be used to construct an MCSPV2Authenticator instance. +func NewMCSPV2AuthenticatorBuilder() *MCSPV2AuthenticatorBuilder { + auth := &MCSPV2AuthenticatorBuilder{} + + // Set fields whose default value is not the "zero value". + auth.MCSPV2Authenticator.IncludeRoles = true + + return auth +} + +// SetApiKey sets the ApiKey field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetApiKey(s string) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.ApiKey = s + return builder +} + +// SetURL sets the URL field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetURL(s string) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.URL = s + return builder +} + +// SetScopeCollectionType sets the ScopeCollectionType field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetScopeCollectionType(s string) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.ScopeCollectionType = s + return builder +} + +// SetScopeID sets the ScopeID field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetScopeID(s string) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.ScopeID = s + return builder +} + +// SetIncludeBuiltinActions sets the IncludeBuiltinActions field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetIncludeBuiltinActions(b bool) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.IncludeBuiltinActions = b + return builder +} + +// SetIncludeCustomActions sets the IncludeCustomActions field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetIncludeCustomActions(b bool) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.IncludeCustomActions = b + return builder +} + +// SetIncludeRoles sets the IncludeRoles field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetIncludeRoles(b bool) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.IncludeRoles = b + return builder +} + +// SetPrefixRoles sets the PrefixRoles field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetPrefixRoles(b bool) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.PrefixRoles = b + return builder +} + +// SetCallerExtClaim sets the CallerExtClaim field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetCallerExtClaim(m map[string]string) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.CallerExtClaim = m + return builder +} + +// SetDisableSSLVerification sets the DisableSSLVerification field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetDisableSSLVerification(b bool) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.DisableSSLVerification = b + return builder +} + +// SetHeaders sets the Headers field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetHeaders(headers map[string]string) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.Headers = headers + return builder +} + +// SetClient sets the Client field in the builder. +func (builder *MCSPV2AuthenticatorBuilder) SetClient(client *http.Client) *MCSPV2AuthenticatorBuilder { + builder.MCSPV2Authenticator.Client = client + return builder +} + +// Build returns a validated instance of the MCSPV2Authenticator with the config that was set in the builder. +func (builder *MCSPV2AuthenticatorBuilder) Build() (*MCSPV2Authenticator, error) { + // Make sure the config is valid. + err := builder.MCSPV2Authenticator.Validate() + if err != nil { + return nil, RepurposeSDKProblem(err, "validation-failed") + } + + return &builder.MCSPV2Authenticator, nil +} + +// Validate the authenticator's configuration. +func (authenticator *MCSPV2Authenticator) Validate() error { + if authenticator.ApiKey == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "ApiKey") + return SDKErrorf(err, "", "missing-api-key", getComponentInfo()) + } + + if authenticator.URL == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "URL") + return SDKErrorf(err, "", "missing-url", getComponentInfo()) + } + + if authenticator.ScopeCollectionType == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "ScopeCollectionType") + return SDKErrorf(err, "", "missing-scope-collection-type", getComponentInfo()) + } + + if authenticator.ScopeID == "" { + err := fmt.Errorf(ERRORMSG_PROP_MISSING, "ScopeID") + return SDKErrorf(err, "", "missing-scope-id", getComponentInfo()) + } + + return nil +} + +// client returns the authenticator's http client after potentially initializing it. +func (authenticator *MCSPV2Authenticator) client() *http.Client { + authenticator.clientInit.Do(func() { + if authenticator.Client == nil { + authenticator.Client = DefaultHTTPClient() + authenticator.Client.Timeout = time.Second * 30 + + // If the user told us to disable SSL verification, then do it now. + if authenticator.DisableSSLVerification { + transport := &http.Transport{ + // #nosec G402 + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + Proxy: http.ProxyFromEnvironment, + } + authenticator.Client.Transport = transport + } + } + }) + return authenticator.Client +} + +// getUserAgent returns the User-Agent header value to be included in each token request invoked by the authenticator. +func (authenticator *MCSPV2Authenticator) getUserAgent() string { + authenticator.userAgentInit.Do(func() { + authenticator.userAgent = fmt.Sprintf("%s/%s-%s %s", sdkName, "mcspv2-authenticator", __VERSION__, SystemInfo()) + }) + return authenticator.userAgent +} + +// newMCSPV2AuthenticatorFromMap constructs a new MCSPV2Authenticator instance from a map. +func newMCSPV2AuthenticatorFromMap(properties map[string]string) (authenticator *MCSPV2Authenticator, err error) { + if properties == nil { + err = errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + // Initialize the builder first with the required properties. + builder := NewMCSPV2AuthenticatorBuilder(). + SetApiKey(properties[PROPNAME_APIKEY]). + SetURL(properties[PROPNAME_AUTH_URL]). + SetScopeCollectionType(properties[PROPNAME_SCOPE_COLLECTION_TYPE]). + SetScopeID(properties[PROPNAME_SCOPE_ID]) + + // Now add the optional properties to the builder. + var strValue string + var boolValue bool + + strValue = properties[PROPNAME_INCLUDE_BUILTIN_ACTIONS] + if strValue != "" { + boolValue, err = strconv.ParseBool(strValue) + if err != nil { + err = SDKErrorf(err, + fmt.Sprintf(ERRORMSG_PROP_PARSE_ERROR, PROPNAME_INCLUDE_BUILTIN_ACTIONS, strValue), + "validation-error", getComponentInfo()) + return + } + builder.SetIncludeBuiltinActions(boolValue) + } + + strValue = properties[PROPNAME_INCLUDE_CUSTOM_ACTIONS] + if strValue != "" { + boolValue, err = strconv.ParseBool(strValue) + if err != nil { + err = SDKErrorf(err, + fmt.Sprintf(ERRORMSG_PROP_PARSE_ERROR, PROPNAME_INCLUDE_CUSTOM_ACTIONS, strValue), + "validation-error", getComponentInfo()) + return + } + builder.SetIncludeCustomActions(boolValue) + } + + strValue = properties[PROPNAME_INCLUDE_ROLES] + if strValue != "" { + boolValue, err = strconv.ParseBool(strValue) + if err != nil { + err = SDKErrorf(err, + fmt.Sprintf(ERRORMSG_PROP_PARSE_ERROR, PROPNAME_INCLUDE_ROLES, strValue), + "validation-error", getComponentInfo()) + return + } + builder.SetIncludeRoles(boolValue) + } + + strValue = properties[PROPNAME_PREFIX_ROLES] + if strValue != "" { + boolValue, err = strconv.ParseBool(strValue) + if err != nil { + err = SDKErrorf(err, + fmt.Sprintf(ERRORMSG_PROP_PARSE_ERROR, PROPNAME_PREFIX_ROLES, strValue), + "validation-error", getComponentInfo()) + return + } + builder.SetPrefixRoles(boolValue) + } + + strValue = properties[PROPNAME_AUTH_DISABLE_SSL] + if strValue != "" { + boolValue, err = strconv.ParseBool(strValue) + if err != nil { + err = SDKErrorf(err, + fmt.Sprintf(ERRORMSG_PROP_PARSE_ERROR, PROPNAME_AUTH_DISABLE_SSL, strValue), + "validation-error", getComponentInfo()) + return + } + builder.SetDisableSSLVerification(boolValue) + } + + // The CallerExtClaim property is a map[string]string and we allow the + // user to set it as a JSON string when using an external config property. + // Here we retrieve it from the config as a string and unmarshal into a map. + strValue = properties[PROPNAME_CALLER_EXT_CLAIM] + if strValue != "" { + var m map[string]string + err = json.Unmarshal([]byte(strValue), &m) + if err != nil { + err = SDKErrorf(err, + fmt.Sprintf(ERRORMSG_PROP_PARSE_ERROR, PROPNAME_CALLER_EXT_CLAIM, strValue), + "validation-error", getComponentInfo()) + return + } + builder.SetCallerExtClaim(m) + } + + authenticator, err = builder.Build() + + return +} + +// AuthenticationType returns the authentication type for this authenticator. +func (*MCSPV2Authenticator) AuthenticationType() string { + return AUTHTYPE_MCSPV2 +} + +// Authenticate adds the Authorization header to the request. +// The value will be of the form: "Authorization: Bearer "" +func (authenticator *MCSPV2Authenticator) Authenticate(request *http.Request) error { + token, err := authenticator.GetToken() + if err != nil { + return RepurposeSDKProblem(err, "get-token-fail") + } + + request.Header.Set("Authorization", "Bearer "+token) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// getTokenData returns the tokenData field from the authenticator. +func (authenticator *MCSPV2Authenticator) getTokenData() *mcspv2TokenData { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + return authenticator.tokenData +} + +// setTokenData sets the given mcspv2TokenData to the tokenData field of the authenticator. +func (authenticator *MCSPV2Authenticator) setTokenData(tokenData *mcspv2TokenData) { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + authenticator.tokenData = tokenData + GetLogger().Debug("setTokenData: expiration=%d, refreshTime=%d", + authenticator.tokenData.Expiration, authenticator.tokenData.RefreshTime) +} + +// GetToken: returns an access token to be used in an Authorization header. +// Whenever a new token is needed (when a token doesn't yet exist, needs to be refreshed, +// or the existing token has expired), a new access token is fetched from the token server. +func (authenticator *MCSPV2Authenticator) GetToken() (string, error) { + if authenticator.getTokenData() == nil || !authenticator.getTokenData().isTokenValid() { + GetLogger().Debug("Performing synchronous token fetch...") + // synchronously request the token + err := authenticator.synchronizedRequestToken() + if err != nil { + return "", RepurposeSDKProblem(err, "request-token-fail") + } + } else if authenticator.getTokenData().needsRefresh() { + GetLogger().Debug("Performing background asynchronous token fetch...") + // If refresh needed, kick off a go routine in the background to get a new token. + //nolint: errcheck + go authenticator.invokeRequestTokenData() + } else { + GetLogger().Debug("Using cached access token...") + } + + // return an error if the access token is not valid or was not fetched + if authenticator.getTokenData() == nil || authenticator.getTokenData().AccessToken == "" { + err := errors.New("Error while trying to get access token") + return "", SDKErrorf(err, "", "no-token", getComponentInfo()) + } + + return authenticator.getTokenData().AccessToken, nil +} + +// synchronizedRequestToken: synchronously checks if the current token in cache +// is valid. If token is not valid or does not exist, it will fetch a new token. +func (authenticator *MCSPV2Authenticator) synchronizedRequestToken() error { + mcspv2RequestTokenMutex.Lock() + defer mcspv2RequestTokenMutex.Unlock() + // if cached token is still valid, then just continue to use it + if authenticator.getTokenData() != nil && authenticator.getTokenData().isTokenValid() { + return nil + } + + return authenticator.invokeRequestTokenData() +} + +// invokeRequestTokenData: requests a new token from the access server and +// unmarshals the token information to the tokenData cache. Returns +// an error if the token was unable to be fetched, otherwise returns nil +func (authenticator *MCSPV2Authenticator) invokeRequestTokenData() error { + tokenResponse, err := authenticator.RequestToken() + if err != nil { + return err + } + + GetLogger().Debug("invokeRequestTokenData(): RequestToken returned tokenResponse:\n%+v", *tokenResponse) + tokenData, err := newMCSPV2TokenData(tokenResponse) + if err != nil { + tokenData = &mcspv2TokenData{} + } + + authenticator.setTokenData(tokenData) + + return nil +} + +// RequestToken fetches a new access token from the token server. +func (authenticator *MCSPV2Authenticator) RequestToken() (*MCSPV2TokenServerResponse, error) { + builder := NewRequestBuilder(POST) + pathParams := map[string]string{ + "scopeCollectionType": authenticator.ScopeCollectionType, + "scopeId": authenticator.ScopeID, + } + _, err := builder.ResolveRequestURL(authenticator.URL, mcspv2AuthOperationPath, pathParams) + if err != nil { + err = RepurposeSDKProblem(err, "url-resolve-error") + return nil, err + } + + // Add the request headers. + builder.AddHeader(CONTENT_TYPE, APPLICATION_JSON) + builder.AddHeader(Accept, APPLICATION_JSON) + builder.AddHeader(headerNameUserAgent, authenticator.getUserAgent()) + + // Add the query params. + builder.AddQuery("includeBuiltinActions", strconv.FormatBool(authenticator.IncludeBuiltinActions)) + builder.AddQuery("includeCustomActions", strconv.FormatBool(authenticator.IncludeCustomActions)) + builder.AddQuery("includeRoles", strconv.FormatBool(authenticator.IncludeRoles)) + builder.AddQuery("prefixRolesWithDefinitionScope", strconv.FormatBool(authenticator.PrefixRoles)) + + // The requestBody will consist of the apikey and (optionally) the callerExtClaim map. + requestBody := make(map[string]any) + requestBody["apikey"] = authenticator.ApiKey + if len(authenticator.CallerExtClaim) > 0 { + requestBody["callerExtClaim"] = authenticator.CallerExtClaim + } + _, _ = builder.SetBodyContentJSON(requestBody) + + // Add user-defined headers to request. + for headerName, headerValue := range authenticator.Headers { + builder.AddHeader(headerName, headerValue) + } + + req, err := builder.Build() + if err != nil { + return nil, RepurposeSDKProblem(err, "request-build-error") + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log outbound request: %s", dumpErr.Error())) + } + } + + GetLogger().Debug("Invoking MCSP 'get token' operation: %s", builder.URL) + resp, err := authenticator.client().Do(req) + if err != nil { + err = SDKErrorf(err, "", "request-error", getComponentInfo()) + return nil, err + } + GetLogger().Debug("Returned from MCSP 'get token' operation, received status code %d", resp.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(resp, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Response:\n%s\n", RedactSecrets(string(buf))) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log inbound response: %s", dumpErr.Error())) + } + } + + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + detailedResponse, err := processErrorResponse(resp) + authError := authenticationErrorf(err, detailedResponse, "get_token", authenticator.getComponentInfo()) + + // The err Summary is typically the message computed for the HTTPError instance in + // processErrorResponse(). If the response body is non-JSON, the message will be generic + // text based on the status code but authenticators have always used the stringified + // RawResult, so update that here for compatilibility. + errorMsg := err.Summary + if detailedResponse.RawResult != nil { + // RawResult is only populated if the response body is + // non-JSON and we couldn't extract a message. + errorMsg = string(detailedResponse.RawResult) + } + + authError.Summary = errorMsg + + return nil, authError + } + + tokenResponse := &MCSPV2TokenServerResponse{} + _ = json.NewDecoder(resp.Body).Decode(tokenResponse) + defer resp.Body.Close() // #nosec G307 + + return tokenResponse, nil +} + +func (authenticator *MCSPV2Authenticator) getComponentInfo() *ProblemComponent { + return NewProblemComponent("mscp_token_server", "1.0") +} + +// MCSPTokenServerResponse : This struct models a response received from the token server. +type MCSPV2TokenServerResponse struct { + Token string `json:"token"` + TokenType string `json:"token_type"` + ExpiresIn int64 `json:"expires_in"` + Expiration int64 `json:"expiration"` +} + +// mcspv2TokenData : This struct represents the cached information related to a fetched access token. +type mcspv2TokenData struct { + AccessToken string + RefreshTime int64 + Expiration int64 +} + +// newMCSPV2TokenData: constructs a new mcspv2TokenData instance from the specified +// MCSPV2TokenServerResponse instance. +func newMCSPV2TokenData(tokenResponse *MCSPV2TokenServerResponse) (*mcspv2TokenData, error) { + if tokenResponse == nil || tokenResponse.Token == "" { + err := errors.New("Error while trying to parse access token!") + return nil, SDKErrorf(err, "", "token-parse", getComponentInfo()) + } + + // Need to crack open the access token (a JWT) to get the expiration and issued-at times + // so that we can compute the refresh time. + claims, err := parseJWT(tokenResponse.Token) + if err != nil { + return nil, err + } + + // Compute the adjusted refresh time (expiration time - 20% of timeToLive) + timeToLive := claims.ExpiresAt - claims.IssuedAt + expireTime := claims.ExpiresAt + refreshTime := expireTime - int64(float64(timeToLive)*0.2) + + tokenData := &mcspv2TokenData{ + AccessToken: tokenResponse.Token, + Expiration: expireTime, + RefreshTime: refreshTime, + } + + GetLogger().Debug("newMCSPV2TokenData: expiration=%d, refreshTime=%d", tokenData.Expiration, tokenData.RefreshTime) + + return tokenData, nil +} + +// isTokenValid: returns true iff the mcspv2TokenData instance represents a valid (non-expired) access token. +func (tokenData *mcspv2TokenData) isTokenValid() bool { + if tokenData.AccessToken != "" && GetCurrentTime() < tokenData.Expiration { + GetLogger().Debug("isTokenValid: Token is valid!") + return true + } + GetLogger().Debug("isTokenValid: Token is NOT valid!") + GetLogger().Debug("isTokenValid: expiration=%d, refreshTime=%d", tokenData.Expiration, tokenData.RefreshTime) + GetLogger().Debug("GetCurrentTime(): %d\n", GetCurrentTime()) + return false +} + +// needsRefresh: synchronously returns true iff the currently stored access token should be refreshed. This method also +// updates the refresh time if it determines the token needs refreshed to prevent other threads from +// making multiple refresh calls. +func (tokenData *mcspv2TokenData) needsRefresh() bool { + mcspv2NeedsRefreshMutex.Lock() + defer mcspv2NeedsRefreshMutex.Unlock() + + // Advance refresh by one minute + if tokenData.RefreshTime >= 0 && GetCurrentTime() > tokenData.RefreshTime { + tokenData.RefreshTime = GetCurrentTime() + 60 + return true + } + + return false +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/noauth_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/noauth_authenticator.go new file mode 100644 index 000000000..f77565a6a --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/noauth_authenticator.go @@ -0,0 +1,41 @@ +package core + +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "net/http" +) + +// NoAuthAuthenticator is simply a placeholder implementation of the Authenticator interface +// that performs no authentication. This might be useful in testing/debugging situations. +type NoAuthAuthenticator struct { +} + +func NewNoAuthAuthenticator() (*NoAuthAuthenticator, error) { + return &NoAuthAuthenticator{}, nil +} + +func (NoAuthAuthenticator) AuthenticationType() string { + return AUTHTYPE_NOAUTH +} + +func (NoAuthAuthenticator) Validate() error { + return nil +} + +func (this *NoAuthAuthenticator) Authenticate(request *http.Request) error { + // Nothing to do since we're not providing any authentication. + return nil +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/ordered_maps.go b/vendor/github.com/IBM/go-sdk-core/v5/core/ordered_maps.go new file mode 100644 index 000000000..2420b3007 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/ordered_maps.go @@ -0,0 +1,49 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + yaml "sigs.k8s.io/yaml/goyaml.v2" +) + +// OrderedMaps provides a wrapper around the yaml package's +// MapItem type and provides convenience functionality beyond +// what would be available with the MapSlice type, which is similar. +// It enables the ordering of fields in a map for controlling the +// order of keys in the printed YAML strings. +type OrderedMaps struct { + maps []yaml.MapItem +} + +// Add appends a key/value pair to the ordered list of maps. +func (m *OrderedMaps) Add(key string, value interface{}) { + m.maps = append(m.maps, yaml.MapItem{ + Key: key, + Value: value, + }) +} + +// GetMaps returns the actual list of ordered maps stored in +// the OrderedMaps instance. Each element is MapItem type, +// which will be serialized by the yaml package in a special +// way that allows the ordering of fields in the YAML. +func (m *OrderedMaps) GetMaps() []yaml.MapItem { + return m.maps +} + +// NewOrderedMaps initializes and returns a new instance of OrderedMaps. +func NewOrderedMaps() *OrderedMaps { + return &OrderedMaps{} +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/parameterized_url.go b/vendor/github.com/IBM/go-sdk-core/v5/core/parameterized_url.go new file mode 100644 index 000000000..81b650615 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/parameterized_url.go @@ -0,0 +1,76 @@ +package core + +// (C) Copyright IBM Corp. 2021. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "fmt" + "sort" + "strings" +) + +// ConstructServiceURL returns a service URL that is constructed by formatting a parameterized URL. +// +// Parameters: +// +// parameterizedUrl: URL that contains variable placeholders, e.g. "{scheme}://ibm.com". +// +// defaultUrlVariables: map from variable names to default values. +// +// Each variable in the parameterized URL must have a default value specified in this map. +// +// providedUrlVariables: map from variable names to desired values. +// +// If a variable is not provided in this map, +// the default variable value will be used instead. +func ConstructServiceURL( + parameterizedUrl string, + defaultUrlVariables map[string]string, + providedUrlVariables map[string]string, +) (string, error) { + GetLogger().Debug("Constructing service URL from parameterized URL: %s\n", parameterizedUrl) + + // Verify the provided variable names. + for providedName := range providedUrlVariables { + if _, ok := defaultUrlVariables[providedName]; !ok { + // Get all accepted variable names (the keys of the default variables map). + var acceptedNames []string + for name := range defaultUrlVariables { + acceptedNames = append(acceptedNames, name) + } + sort.Strings(acceptedNames) + + return "", fmt.Errorf( + "'%s' is an invalid variable name.\nValid variable names: %s.", + providedName, + acceptedNames, + ) + } + } + + // Format the URL with provided or default variable values. + formattedUrl := parameterizedUrl + + for name, defaultValue := range defaultUrlVariables { + providedValue, ok := providedUrlVariables[name] + + // Use the default variable value if none was provided. + if !ok { + providedValue = defaultValue + } + formattedUrl = strings.Replace(formattedUrl, "{"+name+"}", providedValue, 1) + } + GetLogger().Debug("Returning service URL: %s\n", formattedUrl) + return formattedUrl, nil +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/problem.go b/vendor/github.com/IBM/go-sdk-core/v5/core/problem.go new file mode 100644 index 000000000..3b52a6b3b --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/problem.go @@ -0,0 +1,47 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Problem is an interface that describes the common +// behavior of custom IBM problem message types. +type Problem interface { + + // GetConsoleMessage returns a message suited to the practitioner + // or end user. It should tell the user what went wrong, and why, + // without unnecessary implementation details. + GetConsoleMessage() string + + // GetDebugMessage returns a message suited to the developer, in + // order to assist in debugging. It should give enough information + // for the developer to identify the root cause of the issue. + GetDebugMessage() string + + // GetID returns an identifier or code for a given problem. It is computed + // from the attributes of the problem, so that the same problem scenario + // will always have the same ID, even when encountered by different users. + GetID() string + + // Error returns the message associated with a given problem and guarantees + // every instance of Problem also implements the native "error" interface. + Error() string +} + +// OrderableProblem provides an interface for retrieving ordered +// representations of problems in order to print YAML messages +// with a controlled ordering of the fields. +type OrderableProblem interface { + GetConsoleOrderedMaps() *OrderedMaps + GetDebugOrderedMaps() *OrderedMaps +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/problem_utils.go b/vendor/github.com/IBM/go-sdk-core/v5/core/problem_utils.go new file mode 100644 index 000000000..757c0ab6e --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/problem_utils.go @@ -0,0 +1,67 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "crypto/sha256" + "encoding/hex" + "errors" + "fmt" + "strings" + + yaml "sigs.k8s.io/yaml/goyaml.v2" +) + +func ComputeConsoleMessage(o OrderableProblem) string { + return getProblemInfoAsYAML(o.GetConsoleOrderedMaps()) +} + +func ComputeDebugMessage(o OrderableProblem) string { + return getProblemInfoAsYAML(o.GetDebugOrderedMaps()) +} + +// CreateIDHash computes a unique ID based on a given prefix +// and problem attribute fields. +func CreateIDHash(prefix string, fields ...string) string { + signature := strings.Join(fields, "") + hash := sha256.Sum256([]byte(signature)) + return fmt.Sprintf("%s-%s", prefix, hex.EncodeToString(hash[:4])) +} + +// getProblemInfoAsYAML formats the ordered problem data as +// YAML for human/machine readable printing. +func getProblemInfoAsYAML(orderedMaps *OrderedMaps) string { + asYaml, err := yaml.Marshal(orderedMaps.GetMaps()) + + if err != nil { + return fmt.Sprintf("Error serializing the problem information: %s", err.Error()) + } + return fmt.Sprintf("---\n%s---\n", asYaml) +} + +// getComponentInfo is a convenient way to access the name of the +// component alongside the current semantic version of the component. +func getComponentInfo() *ProblemComponent { + return NewProblemComponent(MODULE_NAME, __VERSION__) +} + +// is provides a simple utility function that assists problem types +// implement an "Is" function for checking error equality. Error types +// are treated as equivalent if they are both Problem types and their +// IDs match. +func is(target error, id string) bool { + var problem Problem + return errors.As(target, &problem) && problem.GetID() == id +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/request_builder.go b/vendor/github.com/IBM/go-sdk-core/v5/core/request_builder.go new file mode 100644 index 000000000..df9b4c13e --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/request_builder.go @@ -0,0 +1,542 @@ +package core + +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "mime/multipart" + "net/http" + "net/textproto" + "net/url" + "os" + "path/filepath" + "reflect" + "strings" +) + +// common HTTP methods +const ( + POST = http.MethodPost + GET = http.MethodGet + DELETE = http.MethodDelete + PUT = http.MethodPut + PATCH = http.MethodPatch + HEAD = http.MethodHead +) + +// common headers +const ( + Accept = "Accept" + APPLICATION_JSON = "application/json" + CONTENT_DISPOSITION = "Content-Disposition" + CONTENT_ENCODING = "Content-Encoding" + CONTENT_TYPE = "Content-Type" + FORM_URL_ENCODED_HEADER = "application/x-www-form-urlencoded" + + ERRORMSG_SERVICE_URL_MISSING = "service URL is empty" + ERRORMSG_SERVICE_URL_INVALID = "error parsing service URL: %s" + ERRORMSG_PATH_PARAM_EMPTY = "path parameter '%s' is empty" +) + +// FormData stores information for form data. +type FormData struct { + fileName string + contentType string + contents interface{} +} + +// RequestBuilder is used to build an HTTP Request instance. +type RequestBuilder struct { + Method string + URL *url.URL + Header http.Header + Body io.Reader + Query map[string][]string + Form map[string][]FormData + + // EnableGzipCompression indicates whether or not request bodies + // should be gzip-compressed. + // This field has no effect on response bodies. + // If enabled, the Body field will be gzip-compressed and + // the "Content-Encoding" header will be added to the request with the + // value "gzip". + EnableGzipCompression bool + + // RequestContext is an optional Context instance to be associated with the + // http.Request that is constructed by the Build() method. + ctx context.Context +} + +// NewRequestBuilder initiates a new request. +func NewRequestBuilder(method string) *RequestBuilder { + return &RequestBuilder{ + Method: method, + Header: make(http.Header), + Query: make(map[string][]string), + Form: make(map[string][]FormData), + } +} + +// WithContext sets "ctx" as the Context to be associated with +// the http.Request instance that will be constructed by the Build() method. +func (requestBuilder *RequestBuilder) WithContext(ctx context.Context) *RequestBuilder { + requestBuilder.ctx = ctx + return requestBuilder +} + +// ConstructHTTPURL creates a properly-encoded URL with path parameters. +// This function returns an error if the serviceURL is "" or is an +// invalid URL string (e.g. ":"). +func (requestBuilder *RequestBuilder) ConstructHTTPURL(serviceURL string, pathSegments []string, pathParameters []string) (*RequestBuilder, error) { + if serviceURL == "" { + return requestBuilder, SDKErrorf(errors.New(ERRORMSG_SERVICE_URL_MISSING), "", "no-url", getComponentInfo()) + } + var URL *url.URL + + URL, err := url.Parse(serviceURL) + if err != nil { + err := fmt.Errorf(ERRORMSG_SERVICE_URL_INVALID, err.Error()) + return requestBuilder, SDKErrorf(err, "", "bad-url", getComponentInfo()) + } + + for i, pathSegment := range pathSegments { + if pathSegment != "" { + URL.Path += "/" + pathSegment + } + + if pathParameters != nil && i < len(pathParameters) { + if pathParameters[i] == "" { + err := fmt.Errorf(ERRORMSG_PATH_PARAM_EMPTY, fmt.Sprintf("[%d]", i)) + return requestBuilder, SDKErrorf(err, "", "empty-path-param", getComponentInfo()) + } + URL.Path += "/" + pathParameters[i] + } + } + requestBuilder.URL = URL + return requestBuilder, nil +} + +// ResolveRequestURL creates a properly-encoded URL with path params. +// This function returns an error if the serviceURL is "" or is an +// invalid URL string (e.g. ":"). +// Parameters: +// serviceURL - the base URL associated with the service endpoint (e.g. "https://myservice.cloud.ibm.com") +// path - the unresolved path string (e.g. "/resource/{resource_id}/type/{type_id}") +// pathParams - a map containing the path params, keyed by the path param base name +// (e.g. {"type_id": "type-1", "resource_id": "res-123-456-789-abc"}) +// The resulting request URL: "https://myservice.cloud.ibm.com/resource/res-123-456-789-abc/type/type-1" +func (requestBuilder *RequestBuilder) ResolveRequestURL(serviceURL string, path string, pathParams map[string]string) (*RequestBuilder, error) { + if serviceURL == "" { + err := errors.New(ERRORMSG_SERVICE_URL_MISSING) + return requestBuilder, SDKErrorf(err, "", "service-url-missing", getComponentInfo()) + } + + urlString := serviceURL + + // If we have a non-empty "path" input parameter, then process it for possible path param references. + if path != "" { + + // Encode the unresolved path string. This will convert all special characters to their + // "%" encoding counterparts. Then we need to revert the encodings for '/', '{' and '}' characters + // to retain the original path segments and to make it easy to insert the encoded path param values below. + path = url.PathEscape(path) + path = strings.ReplaceAll(path, "%2F", "/") + path = strings.ReplaceAll(path, "%7B", "{") + path = strings.ReplaceAll(path, "%7D", "}") + + // If path parameter values were passed in, then for each one, replace any references to it + // within "path" with the path parameter's encoded value. + if len(pathParams) > 0 { + for k, v := range pathParams { + if v == "" { + err := fmt.Errorf(ERRORMSG_PATH_PARAM_EMPTY, k) + return requestBuilder, SDKErrorf(err, "", "empty-path-param", getComponentInfo()) + } + encodedValue := url.PathEscape(v) + ref := fmt.Sprintf("{%s}", k) + path = strings.ReplaceAll(path, ref, encodedValue) + } + } + + // Next, we need to append "path" to "urlString". + // We need to pay particular attention to any trailing slash on "urlString" and + // a leading slash on "path". Ultimately, we do not want a double slash. + if strings.HasSuffix(urlString, "/") { + // If urlString has a trailing slash, then make sure path does not have a leading slash. + path = strings.TrimPrefix(path, "/") + } else { + // If urlString does not have a trailing slash and path does not have a + // leading slash, then append a slash to urlString. + if !strings.HasPrefix(path, "/") { + urlString += "/" + } + } + + urlString += path + } + + var URL *url.URL + + URL, err := url.Parse(urlString) + if err != nil { + err = fmt.Errorf(ERRORMSG_SERVICE_URL_INVALID, err.Error()) + return requestBuilder, SDKErrorf(err, "", "bad-url", getComponentInfo()) + } + + requestBuilder.URL = URL + return requestBuilder, nil +} + +// AddQuery adds a query parameter name and value to the request. +func (requestBuilder *RequestBuilder) AddQuery(name string, value string) *RequestBuilder { + requestBuilder.Query[name] = append(requestBuilder.Query[name], value) + return requestBuilder +} + +// AddHeader adds a header name and value to the request. +func (requestBuilder *RequestBuilder) AddHeader(name string, value string) *RequestBuilder { + requestBuilder.Header[name] = []string{value} + return requestBuilder +} + +// AddFormData adds a new mime part (constructed from the input parameters) +// to the request's multi-part form. +func (requestBuilder *RequestBuilder) AddFormData(fieldName string, fileName string, contentType string, + contents interface{}) *RequestBuilder { + if fileName == "" { + if file, ok := contents.(*os.File); ok { + if !((os.File{}) == *file) { // if file is not empty + name := filepath.Base(file.Name()) + fileName = name + } + } + } + requestBuilder.Form[fieldName] = append(requestBuilder.Form[fieldName], FormData{ + fileName: fileName, + contentType: contentType, + contents: contents, + }) + return requestBuilder +} + +// SetBodyContentJSON sets the body content from a JSON structure. +func (requestBuilder *RequestBuilder) SetBodyContentJSON(bodyContent interface{}) (*RequestBuilder, error) { + requestBuilder.Body = new(bytes.Buffer) + err := json.NewEncoder(requestBuilder.Body.(io.Writer)).Encode(bodyContent) + if err != nil { + err = fmt.Errorf("Could not encode JSON body:\n%s", err.Error()) + err = SDKErrorf(err, "", "bad-encode", getComponentInfo()) + } + return requestBuilder, err +} + +// SetBodyContentString sets the body content from a string. +func (requestBuilder *RequestBuilder) SetBodyContentString(bodyContent string) (*RequestBuilder, error) { + requestBuilder.Body = strings.NewReader(bodyContent) + return requestBuilder, nil +} + +// SetBodyContentStream sets the body content from an io.Reader instance. +func (requestBuilder *RequestBuilder) SetBodyContentStream(bodyContent io.Reader) (*RequestBuilder, error) { + requestBuilder.Body = bodyContent + return requestBuilder, nil +} + +// createFormFile is a convenience wrapper around CreatePart. It creates +// a new form-data header with the provided field name and file name and contentType. +func createFormFile(formWriter *multipart.Writer, fieldname string, filename string, contentType string) (io.Writer, error) { + h := make(textproto.MIMEHeader) + contentDisposition := fmt.Sprintf(`form-data; name="%s"`, fieldname) + if filename != "" { + contentDisposition += fmt.Sprintf(`; filename="%s"`, filename) + } + + h.Set(CONTENT_DISPOSITION, contentDisposition) + if contentType != "" { + h.Set(CONTENT_TYPE, contentType) + } + + res, err := formWriter.CreatePart(h) + if err != nil { + err = SDKErrorf(err, "", "create-part-error", getComponentInfo()) + } + return res, err +} + +// SetBodyContentForMultipart sets the body content for a part in a multi-part form. +func (requestBuilder *RequestBuilder) SetBodyContentForMultipart(contentType string, content interface{}, writer io.Writer) error { + var err error + if stream, ok := content.(io.Reader); ok { + _, err = io.Copy(writer, stream) + if err != nil { + err = SDKErrorf( + nil, + fmt.Sprintf("Could not set body content in form:\n%s", err.Error()), + "reader-error", + getComponentInfo(), + ) + } + } else if stream, ok := content.(*io.ReadCloser); ok { + _, err = io.Copy(writer, *stream) + if err != nil { + err = SDKErrorf( + nil, + fmt.Sprintf("Could not set body content in form:\n%s", err.Error()), + "readcloser-error", + getComponentInfo(), + ) + } + } else if IsJSONMimeType(contentType) || IsJSONPatchMimeType(contentType) { + err = json.NewEncoder(writer).Encode(content) + if err != nil { + err = SDKErrorf( + nil, + fmt.Sprintf("Could not set body content in form:\n%s", err.Error()), + "json-error", + getComponentInfo(), + ) + } + } else if str, ok := content.(string); ok { + _, err = writer.Write([]byte(str)) + if err != nil { + err = SDKErrorf( + nil, + fmt.Sprintf("Could not set body content in form:\n%s", err.Error()), + "string-error", + getComponentInfo(), + ) + } + } else if strPtr, ok := content.(*string); ok { + _, err = writer.Write([]byte(*strPtr)) + if err != nil { + err = SDKErrorf( + nil, + fmt.Sprintf("Could not set body content in form:\n%s", err.Error()), + "string-ptr-error", + getComponentInfo(), + ) + } + } else { + err = SDKErrorf( + nil, + "Error: unable to determine the type of 'content' provided", + "undetermined-type", + getComponentInfo(), + ) + } + + return err +} + +// Build builds an HTTP Request object from this RequestBuilder instance. +func (requestBuilder *RequestBuilder) Build() (req *http.Request, err error) { + // If the request builder contains a non-empty "Form" map, then we need to create + // a form-based request body, with the specific flavor depending on the content type. + if len(requestBuilder.Form) > 0 { + contentType := requestBuilder.Header.Get(CONTENT_TYPE) + if contentType == FORM_URL_ENCODED_HEADER { + // Create a "application/x-www-form-urlencoded" request body. + data := url.Values{} + for fieldName, l := range requestBuilder.Form { + for _, v := range l { + data.Add(fieldName, v.contents.(string)) + } + } + // This function cannot actually return an error but check anyway + _, err = requestBuilder.SetBodyContentString(data.Encode()) + if err != nil { + err = RepurposeSDKProblem(err, "set-content-string-error") + return + } + } else { + // Create a "multipart/form-data" request body. + var formBody io.ReadCloser + formBody, contentType, err = requestBuilder.createMultipartFormRequestBody() + if err != nil { + err = RepurposeSDKProblem(err, "create-multipart-error") + return + } + + requestBuilder.Body = formBody + requestBuilder.AddHeader("Content-Type", contentType) + } + } + + // If we have a request body and gzip is enabled, then wrap the body in a Gzip compression reader + // and add the "Content-Encoding: gzip" request header. + if !IsNil(requestBuilder.Body) && requestBuilder.EnableGzipCompression && + !SliceContains(requestBuilder.Header[CONTENT_ENCODING], "gzip") { + newBody, err := NewGzipCompressionReader(requestBuilder.Body) + if err != nil { + err = RepurposeSDKProblem(err, "gzip-reader-error") + return nil, err + } + requestBuilder.Body = newBody + requestBuilder.Header.Add(CONTENT_ENCODING, "gzip") + } + + // Create the request + req, err = http.NewRequest(requestBuilder.Method, requestBuilder.URL.String(), requestBuilder.Body) + if err != nil { + err = SDKErrorf(err, fmt.Sprintf("Failed to build request:\n%s", err.Error()), "new-request-error", getComponentInfo()) + return + } + + // Headers + req.Header = requestBuilder.Header + + // If "Host" was specified as a header, we need to explicitly copy it + // to the request's Host field since the "Host" header will be ignored by Request.Write(). + host := req.Header.Get("Host") + if host != "" { + req.Host = host + } + + // Query + query := req.URL.Query() + for k, l := range requestBuilder.Query { + for _, v := range l { + query.Add(k, v) + } + } + + // Encode query + req.URL.RawQuery = query.Encode() + + // Finally, if a Context should be associated with the new Request instance, then set it. + if !IsNil(requestBuilder.ctx) { + req = req.WithContext(requestBuilder.ctx) + } + + return +} + +// createMultipartFormRequestBody will create a request body (a multi-part form) from the parts contained +// in the request builder's "Form" map, which is a map of FormData values keyed by field name (part name). +func (requestBuilder *RequestBuilder) createMultipartFormRequestBody() (bodyReader io.ReadCloser, contentType string, err error) { + var bodyWriter io.WriteCloser + + // We'll use a pipe so that we can hand the Request object a body (bodyReader below) that can be + // read in parallel with the function that is writing it, thus saving us from having to make an entire copy + // of the contents of each form part. + bodyReader, bodyWriter = io.Pipe() + formWriter := multipart.NewWriter(bodyWriter) + + go func() { + defer bodyWriter.Close() // #nosec G307 + + // Create a form part from each entry found in the request body's Form map. + // Note: each entry will actually be a slice of values, and we'll create a separate + // mime part for each element of the slice. + for fieldName, formPartList := range requestBuilder.Form { + for _, formPart := range formPartList { + var partWriter io.Writer + + // Use the form writer to create the form part within the request body we're creating. + partWriter, err = createFormFile(formWriter, fieldName, formPart.fileName, formPart.contentType) + if err != nil { + return + } + + // If the part's content is a ReadCloser, we'll need to close it when we're done. + if stream, ok := formPart.contents.(io.ReadCloser); ok { + defer stream.Close() // #nosec G307 + } else if stream, ok := formPart.contents.(*io.ReadCloser); ok { + defer (*stream).Close() + } + + // Copy the contents of the part to the form part within the request body. + if err = requestBuilder.SetBodyContentForMultipart(formPart.contentType, formPart.contents, partWriter); err != nil { + return + } + } + } + + // We're done adding parts to the form, so close the form writer. + if err = formWriter.Close(); err != nil { + err = SDKErrorf(err, err.Error(), "form-close-error", getComponentInfo()) + return + } + }() + + // Grab the Content-Type from the form writer (it will also contain the boundary string) + contentType = formWriter.FormDataContentType() + + return +} + +// SetBodyContent sets the body content from one of three different sources. +func (requestBuilder *RequestBuilder) SetBodyContent(contentType string, jsonContent interface{}, jsonPatchContent interface{}, + nonJSONContent interface{}) (builder *RequestBuilder, err error) { + if !IsNil(jsonContent) { + builder, err = requestBuilder.SetBodyContentJSON(jsonContent) + if err != nil { + err = RepurposeSDKProblem(err, "set-json-body-error") + return + } + } else if !IsNil(jsonPatchContent) { + builder, err = requestBuilder.SetBodyContentJSON(jsonPatchContent) + if err != nil { + err = RepurposeSDKProblem(err, "set-json-patch-body-error") + return + } + } else if !IsNil(nonJSONContent) { + // Set the non-JSON body content based on the type of value passed in, + // which should be a "string", "*string" or an "io.Reader" + if str, ok := nonJSONContent.(string); ok { + builder, err = requestBuilder.SetBodyContentString(str) + err = RepurposeSDKProblem(err, "set-body-string-error") + } else if strPtr, ok := nonJSONContent.(*string); ok { + builder, err = requestBuilder.SetBodyContentString(*strPtr) + err = RepurposeSDKProblem(err, "set-body-strptr-error") + } else if stream, ok := nonJSONContent.(io.Reader); ok { + builder, err = requestBuilder.SetBodyContentStream(stream) + err = RepurposeSDKProblem(err, "set-body-reader-error") + } else if stream, ok := nonJSONContent.(*io.ReadCloser); ok { + builder, err = requestBuilder.SetBodyContentStream(*stream) + err = RepurposeSDKProblem(err, "set-body-readerptr-error") + } else { + builder = requestBuilder + err = fmt.Errorf("Invalid type for non-JSON body content: %s", reflect.TypeOf(nonJSONContent).String()) + err = SDKErrorf(err, "", "bad-nonjson-body-content", getComponentInfo()) + } + } else { + builder = requestBuilder + err = fmt.Errorf("No body content provided") + err = SDKErrorf(err, "", "no-body-content", getComponentInfo()) + } + + return +} + +// AddQuerySlice converts the passed in slice 'slice' by calling the ConverSlice method, +// and adds the converted slice to the request's query string. An error is returned when +// conversion fails. +func (requestBuilder *RequestBuilder) AddQuerySlice(param string, slice interface{}) (err error) { + convertedSlice, err := ConvertSlice(slice) + if err != nil { + err = RepurposeSDKProblem(err, "convert-slice-error") + return + } + + requestBuilder.AddQuery(param, strings.Join(convertedSlice, ",")) + + return +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/sdk_problem.go b/vendor/github.com/IBM/go-sdk-core/v5/core/sdk_problem.go new file mode 100644 index 000000000..b4b672752 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/sdk_problem.go @@ -0,0 +1,188 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "errors" +) + +// SDKProblem provides a type suited to problems that +// occur in SDK projects. It extends the base +// "IBMProblem" type with a field to store the +// function being called when the problem occurs. +type SDKProblem struct { + *IBMProblem + + // Function provides the name of the in-code + // function or method in which the problem + // occurred. + Function string + + // A computed stack trace including the relevant + // function names, files, and line numbers invoked + // leading up to the origination of the problem. + stack []sdkStackFrame + + // If the problem instance originated in the core, we + // want to keep track of the information for debugging + // purposes (even though we aren't using the problem + // as a "caused by" problem). + coreProblem *sparseSDKProblem + + // If the problem instance originated in the core and + // was caused by an HTTP request, we don't use the + // HTTPProblem instance as a "caused by" but we need + // to store the instance to pass it to a downstream + // SDKProblem instance. + httpProblem *HTTPProblem +} + +// GetConsoleMessage returns all public fields of +// the problem, formatted in YAML. +func (e *SDKProblem) GetConsoleMessage() string { + return ComputeConsoleMessage(e) +} + +// GetDebugMessage returns all information +// about the problem, formatted in YAML. +func (e *SDKProblem) GetDebugMessage() string { + return ComputeDebugMessage(e) +} + +// GetID returns the computed identifier, computed from the +// "Component", "discriminator", and "Function" fields, as well as the +// identifier of the "causedBy" problem, if it exists. +func (e *SDKProblem) GetID() string { + return CreateIDHash("sdk", e.GetBaseSignature(), e.Function) +} + +// Is allows an SDKProblem instance to be compared against another error for equality. +// An SDKProblem is considered equal to another error if 1) the error is also a Problem and +// 2) it has the same ID (i.e. it is the same problem scenario). +func (e *SDKProblem) Is(target error) bool { + return is(target, e.GetID()) +} + +// GetConsoleOrderedMaps returns an ordered-map representation +// of an SDKProblem instance suited for a console message. +func (e *SDKProblem) GetConsoleOrderedMaps() *OrderedMaps { + orderedMaps := NewOrderedMaps() + + orderedMaps.Add("id", e.GetID()) + orderedMaps.Add("summary", e.Summary) + orderedMaps.Add("severity", e.Severity) + orderedMaps.Add("function", e.Function) + orderedMaps.Add("component", e.Component) + + return orderedMaps +} + +// GetDebugOrderedMaps returns an ordered-map representation +// of an SDKProblem instance, with additional information +// suited for a debug message. +func (e *SDKProblem) GetDebugOrderedMaps() *OrderedMaps { + orderedMaps := e.GetConsoleOrderedMaps() + + orderedMaps.Add("stack", e.stack) + + if e.coreProblem != nil { + orderedMaps.Add("core_problem", e.coreProblem) + } + + var orderableCausedBy OrderableProblem + if errors.As(e.GetCausedBy(), &orderableCausedBy) { + orderedMaps.Add("caused_by", orderableCausedBy.GetDebugOrderedMaps().GetMaps()) + } + + return orderedMaps +} + +// SDKErrorf creates and returns a new instance of "SDKProblem" with "error" level severity. +func SDKErrorf(err error, summary, discriminator string, component *ProblemComponent) *SDKProblem { + function := computeFunctionName(component.Name) + stack := getStackInfo(component.Name) + + ibmProb := IBMErrorf(err, component, summary, discriminator) + newSDKProb := &SDKProblem{ + IBMProblem: ibmProb, + Function: function, + stack: stack, + } + + // Flatten chains of SDKProblem instances in order to present a single, + // unique error scenario for the SDK context. Multiple Golang components + // can invoke each other, but we only want to track "caused by" problems + // through context boundaries (like API, SDK, Terraform, etc.). This + // eliminates unnecessary granularity of problem scenarios for the SDK + // context. If the problem originated in this library (the Go SDK Core), + // we still want to track that info for debugging purposes. + var sdkCausedBy *SDKProblem + if errors.As(err, &sdkCausedBy) { + // Not a "native" caused by but allows us to maintain compatibility through "Unwrap". + newSDKProb.nativeCausedBy = sdkCausedBy + newSDKProb.causedBy = nil + + if isCoreProblem(sdkCausedBy) { + newSDKProb.coreProblem = newSparseSDKProblem(sdkCausedBy) + + // If we stored an HTTPProblem instance in the core, we'll want to use + // it as the actual "caused by" problem for the new SDK problem. + if sdkCausedBy.httpProblem != nil { + newSDKProb.causedBy = sdkCausedBy.httpProblem + } + } + } + + // We can't use HTTPProblem instances as "caused by" problems for Go SDK Core + // problems because 1) it prevents us from enumerating hashes in the core and + // 2) core problems will almost never be the instances that users interact with + // and the HTTPProblem will need to be used as the "caused by" of the problems + // coming from actual service SDK libraries. + var httpCausedBy *HTTPProblem + if errors.As(err, &httpCausedBy) && isCoreProblem(newSDKProb) { + newSDKProb.httpProblem = httpCausedBy + newSDKProb.causedBy = nil + } + + return newSDKProb +} + +// RepurposeSDKProblem provides a convenient way to take a problem from +// another function in the same component and contextualize it to the current +// function. Should only be used in public (exported) functions. +func RepurposeSDKProblem(err error, discriminator string) error { + if err == nil { + return nil + } + + // It only makes sense to carry out this logic with SDK Errors. + var sdkErr *SDKProblem + if !errors.As(err, &sdkErr) { + return err + } + + // Special behavior to allow SDK problems coming from a method that wraps a + // "*WithContext" method to maintain the discriminator of the originating + // problem. Otherwise, we would lose all of that data in the wrap. + if discriminator != "" { + sdkErr.discriminator = discriminator + } + + // Recompute the function to reflect this public boundary (but let the stack + // remain as it is - it is the path to the original problem origination point). + sdkErr.Function = computeFunctionName(sdkErr.Component.Name) + + return sdkErr +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/sdk_problem_utils.go b/vendor/github.com/IBM/go-sdk-core/v5/core/sdk_problem_utils.go new file mode 100644 index 000000000..488383337 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/sdk_problem_utils.go @@ -0,0 +1,124 @@ +package core + +// (C) Copyright IBM Corp. 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "runtime" + "strings" +) + +// computeFunctionName investigates the program counter at a fixed +// skip number (aka point in the stack) of 2, which gives us the +// information about the function the problem was created in, and +// returns the name of the function. +func computeFunctionName(componentName string) string { + if pc, _, _, ok := runtime.Caller(2); ok { + // The function names will have the component name as a prefix. + // To avoid redundancy, since we are including the component name + // with the problem, trim that prefix here. + return strings.TrimPrefix(runtime.FuncForPC(pc).Name(), componentName+"/") + } + + return "" +} + +// sdkStackFrame is a convenience struct for formatting +// frame data to be printed as YAML. +type sdkStackFrame struct { + Function string + File string + Line int +} + +// getStackInfo invokes helper methods to curate a limited, formatted +// version of the stack trace with only the component-scoped function +// invocations that lead to the creation of the problem. +func getStackInfo(componentName string) []sdkStackFrame { + if frames, ok := makeFrames(); ok { + return formatFrames(frames, componentName) + } + + return nil +} + +// makeFrames populates a program counter list with data at a +// fixed skip number (4), which gives us the stack information +// at the point in the program that the problem was created. This +// function adjusts the list as needed, since the necessary +// list size is not known at first. +func makeFrames() ([]uintptr, bool) { + pcs := make([]uintptr, 10) + for { + n := runtime.Callers(4, pcs) + if n == 0 { + return pcs, false + } + if n < len(pcs) { + return pcs[:n], true + } + pcs = make([]uintptr, 2*len(pcs)) + } +} + +// formatFrames takes a program counter list and formats them +// into a readable format for including in debug messages. +func formatFrames(pcs []uintptr, componentName string) []sdkStackFrame { + result := make([]sdkStackFrame, 0) + + if len(pcs) == 0 { + return result + } + + // Loop to get frames. + // A fixed number of PCs can expand to an indefinite number of Frames. + frames := runtime.CallersFrames(pcs) + for { + frame, more := frames.Next() + + // Only the frames in the same component as the problem are relevant. + if strings.HasPrefix(frame.Function, componentName) { + stackFrame := sdkStackFrame{ + Function: frame.Function, + File: frame.File, + Line: frame.Line, + } + + result = append(result, stackFrame) + } + + // Check whether there are more frames to process after this one. + if !more { + break + } + } + + return result +} + +type sparseSDKProblem struct { + ID string + Function string +} + +func newSparseSDKProblem(prob *SDKProblem) *sparseSDKProblem { + return &sparseSDKProblem{ + ID: prob.GetID(), + Function: prob.Function, + } +} + +func isCoreProblem(prob *SDKProblem) bool { + return prob.Component != nil && prob.Component.Name == MODULE_NAME +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/unmarshal_v2.go b/vendor/github.com/IBM/go-sdk-core/v5/core/unmarshal_v2.go new file mode 100644 index 000000000..c9c8e75c0 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/unmarshal_v2.go @@ -0,0 +1,796 @@ +/** + * (C) Copyright IBM Corp. 2020. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package core + +import ( + "encoding/json" + "errors" + "fmt" + "reflect" +) + +const ( + errorPropertyInsert = " property '%s' as" + errorPropertyNameMissing = "the 'propertyName' parameter is required" + errorUnmarshalPrimitive = "error unmarshalling property '%s': %s" + errorUnmarshalModel = "error unmarshalling%s %s: %s" + errorIncorrectInputType = "expected 'rawInput' to be a %s but was %s" + errorUnsupportedResultType = "unsupported 'result' type: %s" + errorUnmarshallInputIsNil = "input to unmarshall is nil" +) + +// UnmarshalPrimitive retrieves the specified property from 'rawInput', +// then unmarshals the resulting value into 'result'. +// +// This function will typically be invoked from within a model's generated "Unmarshal()" method to unmarshal +// a struct field (model property) involving a primitive type (a scalar value, a slice, a map of the primitive, etc.). +// In this context, "primitive" refers to a type other than a user-defined model type within an OpenAPI definition. +// The 'rawInput' parameter is expected to be a map that contains an instance of a user-defined model type. +// +// Parameters: +// +// rawInput: the unmarshal input source in the form of a map[string]json.RawMessage +// The value 'rawInput[propertyName]' must be a json.RawMessage that contains an instance of the type inferred +// from the value passed in as 'result'. +// +// propertyName: the name of the property (map entry) to retrieve from 'rawInput'. This entry's value will +// be used as the unmarshal input source. +// +// result: a pointer to the unmarshal destination. This could be any of the following: +// - * +// - ** +// - *[] +// - *[][] +// - *map[string] +// - *map[string][] +// - *[]map[string] +// - *[]map[string][] +// +// Where could be any of the following: +// - string, bool, []byte, int64, float32, float64, strfmt.Date, strfmt.DateTime, +// strfmt.UUID, interface{} (any), or map[string]interface{} (any object). +// +// Example: +// +// type MyStruct struct { +// Field1 *string, +// Field2 map[string]int64 +// } +// +// myStruct := new(MyStruct) +// jsonString := `{ "field1": "value1", "field2": {"foo": 44, "bar": 74}}` +// var rawMessageMap map[string]json.RawMessage +// var err error +// err = UnmarshalPrimitive(rawMessageMap, "field1", &myStruct.Field1) +// err = UnmarshalPrimitive(rawMessageMap, "field2", &myString.Field2) +func UnmarshalPrimitive(rawInput map[string]json.RawMessage, propertyName string, result interface{}) (err error) { + if propertyName == "" { + err = errors.New(errorPropertyNameMissing) + err = SDKErrorf(err, "", "no-prop-name", getComponentInfo()) + } + + rawMsg, foundIt := rawInput[propertyName] + if foundIt && rawMsg != nil { + err = json.Unmarshal(rawMsg, result) + if err != nil { + err = fmt.Errorf(errorUnmarshalPrimitive, propertyName, err.Error()) + err = SDKErrorf(err, "", "json-unmarshal-error", getComponentInfo()) + } + } + return +} + +// ModelUnmarshaller defines the interface for a generated Unmarshal() function, which is used +// by the various "UnmarshalModel" functions below to unmarshal an instance of the user-defined model type. +// +// Parameters: +// rawInput: a map[string]json.RawMessage that is assumed to contain an instance of the model type. +// +// result: the unmarshal destination. This should be a ** (i.e. a ptr to a ptr to a model instance). +// A new instance of the model is constructed by the unmarshaller function and is returned through the ptr +// passed in as 'result'. +type ModelUnmarshaller func(rawInput map[string]json.RawMessage, result interface{}) error + +// UnmarshalModel unmarshals 'rawInput' into 'result' while using 'unmarshaller' to unmarshal model instances. +// This function is the single public interface to the various flavors of model-related unmarshal functions. +// The values passed in for the 'rawInput', 'propertyName' and 'result' fields will determine the function performed. +// +// Parameters: +// rawInput: the unmarshal input source. The various types associated with this parameter are described below in +// "Usage Notes". +// +// propertyName: an optional property name. If specified as "", then 'rawInput' is assumed to directly contain +// the input source to be used for the unmarshal operation. +// If propertyName is specified as a non-empty string, then 'rawInput' is assumed to be a map[string]json.RawMessage, +// and rawInput[propertyName] contains the input source to be unmarshalled. +// +// result: the unmarshal destination. This should be passed in as one of the following types of values: +// - ** (a ptr to a ptr to a instance) +// - *[] (a ptr to a slice) +// - *[][] (a ptr to a slice of slices) +// - *map[string] (a ptr to a map of instances) +// - *map[string][] (a ptr to a map of slices) +// +// unmarshaller: the unmarshaller function to be used to unmarshal each model instance +// +// Usage Notes: +// if 'result' is a: | and propertyName is: | then 'rawInput' should be: +// -------------------+--------------------------+------------------------------------------------------------------ +// **Foo | == "" | a map[string]json.RawMessage which directly +// +// | | contains an instance of model Foo (i.e. each map entry represents +// | | a property of Foo) +// | | +// +// **Foo | != "" (e.g. "prop") | a map[string]json.RawMessage and rawInput["prop"] +// +// | | should contain an instance of Foo (i.e. it can itself be +// | | unmarshalled into a map[string]json.RawMessage whose entries +// | | represent the properties of Foo) +// +// -------------------+--------------------------+------------------------------------------------------------------ +// *[]Foo | == "" | a []json.RawMessage where each slice element contains +// +// | | an instance of Foo (i.e. the json.RawMessage can be unmarshalled +// | | into a Foo instance) +// | | +// +// *[]Foo | != "" (e.g. "prop") | a map[string]json.RawMessage and rawInput["prop"] +// +// | | contains a []Foo (slice of Foo instances) +// +// -------------------+--------------------------+------------------------------------------------------------------ +// *[][]Foo | == "" | a []json.RawMessage where each slice element contains +// +// | | a []Foo (i.e. the json.RawMessage can be unmarshalled +// | | into a []Foo) +// | | +// +// *[][]Foo | != "" (e.g. "prop") | a map[string]json.RawMessage and rawInput["prop"] +// +// | | contains a [][]Foo (slice of Foo slices) +// +// -------------------+--------------------------+------------------------------------------------------------------ +// *map[string]Foo | == "" | a map[string]json.RawMessage which directly contains the +// +// | | map[string]Foo (i.e. the value within each entry in 'rawInput' +// | | contains an instance of Foo) +// | | +// +// *map[string]Foo | != "" (e.g. "prop") | a map[string]json.RawMessage and rawInput["prop"] +// +// | | contains an instance of map[string]Foo +// +// -------------------+--------------------------+------------------------------------------------------------------ +// *map[string][]Foo | == "" | a map[string]json.RawMessage which directly contains the +// +// | | map[string][]Foo (i.e. the value within each entry in 'rawInput' +// | | contains a []Foo) +// +// *map[string][]Foo | != "" (e.g. "prop") | a map[string]json.RawMessage and rawInput["prop"] +// +// | | contains an instance of map[string][]Foo +// +// -------------------+--------------------------+------------------------------------------------------------------ +func UnmarshalModel(rawInput interface{}, propertyName string, result interface{}, unmarshaller ModelUnmarshaller) (err error) { + // Make sure some input is provided. Otherwise return an error. + if IsNil(rawInput) { + err = errors.New(errorUnmarshallInputIsNil) + err = SDKErrorf(err, "", "no-input", getComponentInfo()) + return + } + + // Reflect on 'result' to determine the type of unmarshal operation being requested. + rResultType := reflect.TypeOf(result).Elem() + + // Now delegate the work to the appropriate internal unmarshal function. + switch rResultType.Kind() { + case reflect.Ptr, reflect.Interface: + // Unmarshal a single instance of a model. + err = unmarshalModelInstance(rawInput, propertyName, result, unmarshaller) + + case reflect.Slice: + // For a slice, we need to look at the slice element type. + rElementType := rResultType.Elem() + switch rElementType.Kind() { + case reflect.Struct, reflect.Interface: + // A [] + // Slice element type is struct or intf, so must be a slice of model instances. + // Unmarshal a slice of model instances. + err = unmarshalModelSlice(rawInput, propertyName, result, unmarshaller) + + case reflect.Slice: + // If the slice element type is slice (i.e. a slice of slices), + // then we need to make sure that the inner slice's element type is a model (struct or intf). + rInnerElementType := rElementType.Elem() + switch rInnerElementType.Kind() { + case reflect.Struct, reflect.Interface: + // A [][] + err = unmarshalModelSliceSlice(rawInput, propertyName, result, unmarshaller) + + default: + err = fmt.Errorf(errorUnsupportedResultType, rResultType.String()) + err = SDKErrorf(err, "", "bad-slice-elem-slice-type", getComponentInfo()) + } + + default: + err = fmt.Errorf(errorUnsupportedResultType, rResultType.String()) + err = SDKErrorf(err, "", "bad-slice-elem-type", getComponentInfo()) + return + } + + case reflect.Map: + // For a map, we need to look at the map entry type. + // We currently support map[string] and map[string][]. + rEntryType := rResultType.Elem() + switch rEntryType.Kind() { + case reflect.Struct, reflect.Interface: + // A map[string] + err = unmarshalModelMap(rawInput, propertyName, result, unmarshaller) + case reflect.Slice: + // If the map entry type is a slice, make sure it is a slice of model instances. + rElementType := rEntryType.Elem() + switch rElementType.Kind() { + case reflect.Struct, reflect.Interface: + // A map[string][] + err = unmarshalModelSliceMap(rawInput, propertyName, result, unmarshaller) + + default: + err = fmt.Errorf(errorUnsupportedResultType, rResultType.String()) + err = SDKErrorf(err, "", "bad-slice-elem-map-type", getComponentInfo()) + return + } + default: + err = fmt.Errorf(errorUnsupportedResultType, rResultType.String()) + err = SDKErrorf(err, "", "bad-map-entry-type", getComponentInfo()) + return + } + + default: + err = fmt.Errorf(errorUnsupportedResultType, rResultType.String()) + err = SDKErrorf(err, "", "bad-model-type", getComponentInfo()) + return + } + + err = RepurposeSDKProblem(err, "unmarshal-fail") + + return +} + +// unmarshalModelInstance unmarshals 'rawInput' into an instance of a model. +// +// Parameters: +// +// rawInput: the unmarshal input source. +// +// propertyName: the name of the property within 'rawInput' that contains the instance of the model. +// If 'propertyName' is specified as "" then 'rawInput' is assumed to contain the model instance directly. +// +// result: should be a ptr to a ptr to a model instance (e.g. **Foo for model type Foo). +// A new instance of the model will be constructed and returned through the model pointer +// that 'result' points to (i.e. it is legal for 'result' to point to a nil pointer). +// +// 'unmarshaller' is the generated unmarshal function used to unmarshal a single instance of the model. +func unmarshalModelInstance(rawInput interface{}, propertyName string, result interface{}, unmarshaller ModelUnmarshaller) (err error) { + var rawMap map[string]json.RawMessage + var foundInput bool + + // Obtain the unmarshal input source from 'rawInput'. + foundInput, rawMap, err = getUnmarshalInputSourceMap(rawInput, propertyName) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), getModelResultType(result), err.Error()) + err = SDKErrorf(err, "", "input-source-error", getComponentInfo()) + return + } + + // At this point, 'rawMap' should be the map[string]json.RawMessage which represents model instance: + // i.e. rawMap --> `{ "prop1": "value1", "prop2": "value2", ...}" + + // Initialize our result to nil. + // Note: 'result' is a ptr to a ptr to a model struct. + // We're using 'result' to set the model struct ptr to nil. + rResult := reflect.ValueOf(result).Elem() + rResult.Set(reflect.Zero(rResult.Type())) + + // If there is an unmarshal input source, then unmarshal it. + if foundInput && rawMap != nil { + err = unmarshaller(rawMap, result) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), getModelResultType(result), err.Error()) + err = SDKErrorf(err, "", "unmarshaller-error", getComponentInfo()) + return + } + } + return +} + +// unmarshalModelSlice unmarshals 'rawInput' into a []. +// +// Parameters: +// +// rawInput: is the unmarshal input source, and should be one of the following: +// 1. a map[string]json.RawMessage - in this case 'propertyName' should specify the name +// of the property to retrieve from the map to obtain the []json.RawMessage containing the slice of model instances +// to be unmarshalled. +// +// 2. a []json.RawMessage - in this case, 'propertyName' should be specified as "" to indicate that +// the []json.RawMessage is available directly via the 'rawInput' parameter. +// +// propertyName: an optional name of a property to be retrieved from 'rawInput'. +// If 'propertyName' is specified as a non-empty string, then 'rawInput' is assumed to be a map[string]RawMessage, +// and the named property is retrieved to obtain the []json.RawMessage to be unmarshalled. +// If 'propertyName' is specified as "", then 'rawInput' is assumed to be a []json.RawMessage and is used directly +// as the unmarshal input source. +// +// result: this should be a pointer to a slice of the model type (e.g. *[]Foo for model type Foo). +// This function will construct a new slice and return it through 'result'. +// +// 'unmarshaller' is the function used to unmarshal a single instance of the model. +func unmarshalModelSlice(rawInput interface{}, propertyName string, result interface{}, unmarshaller ModelUnmarshaller) (err error) { + var rawSlice []json.RawMessage + var foundInput bool + + // Obtain the unmarshal input source from 'rawInput'. + foundInput, rawSlice, err = getUnmarshalInputSourceSlice(rawInput, propertyName) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "input-source-error", getComponentInfo()) + return + } + + if !foundInput { + return + } + + // At this point, 'rawSlice' should be the []json.RawMessage which represents the slice of model instances: + // i.e. rawSlice --> "[ {...}, {...}, ...]" + + // 'sliceSize' is the number of elements found in 'rawSlice'. + // if 'rawSlice' is nil, 'sliceSize' will be 0, which is what we want. + sliceSize := len(rawSlice) + + // Get a reflective view of the result and initialize it. + rResultSlice := reflect.ValueOf(result).Elem() + rResultSlice.Set(reflect.MakeSlice(reflect.TypeOf(result).Elem(), 0, sliceSize)) + + // If there is anything to unmarshal, then unmarshal it. + if sliceSize > 0 { + // Determine the type of the 'result' parameter that we'll need to pass to + // the model-specific unmarshaller (i.e. a *Foo). + var receiverType reflect.Type + receiverType, err = getUnmarshalResultType(result) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "result-type-error", getComponentInfo()) + return + } + + for _, rawMsg := range rawSlice { + // 'rawMsg' should contain an instance of the model - we need to unmarshal it into a map. + rawMap := make(map[string]json.RawMessage) + err = json.Unmarshal(rawMsg, &rawMap) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "json-unmarshal-error", getComponentInfo()) + return + } + + // Reflectively construct a receiver of the unmarshal step. + rModelReceiver := reflect.New(receiverType) + + // Invoke the model-specific unmarshaller. + err = unmarshaller(rawMap, rModelReceiver.Interface()) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "unmarshaller-error", getComponentInfo()) + return + } + + // Add the model instance to the result slice (reflectively, of course :) ). + rResultSlice.Set(reflect.Append(rResultSlice, rModelReceiver.Elem().Elem())) + } + } + return +} + +// unmarshalModelSliceSlice unmarshals 'rawInput' into a [][]. +// +// Parameters: +// +// rawInput: is the unmarshal input source, and should be one of the following: +// 1. a map[string]json.RawMessage - in this case 'propertyName' should specify the name +// of the property to retrieve from the map to obtain the []json.RawMessage containing the slice of model slices +// to be unmarshalled. +// +// 2. a []json.RawMessage - in this case, 'propertyName' should be specified as "" to indicate that +// the []json.RawMessage is available directly via the 'rawInput' parameter. +// +// propertyName: an optional name of a property to be retrieved from 'rawInput'. +// If 'propertyName' is specified as a non-empty string, then 'rawInput' is assumed to be a map[string]json.RawMessage, +// and the named property is retrieved to obtain the []json.RawMessage to be unmarshalled. +// If 'propertyName' is specified as "", then 'rawInput' is assumed to be a []json.RawMessage and is used directly +// as the unmarshal input source. +// +// result: this should be a pointer to a slice of model slices (e.g. *[][]Foo for model type Foo). +// This function will construct a new slice of slices and return it through 'result'. +// +// 'unmarshaller' is the function used to unmarshal a single instance of the model. +func unmarshalModelSliceSlice(rawInput interface{}, propertyName string, result interface{}, unmarshaller ModelUnmarshaller) (err error) { + var rawSlice []json.RawMessage + var foundInput bool + + // Obtain the unmarshal input source from 'rawInput'. + foundInput, rawSlice, err = getUnmarshalInputSourceSlice(rawInput, propertyName) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "input-source-error", getComponentInfo()) + return + } + + if !foundInput { + return + } + + // At this point, 'rawSlice' should be the []json.RawMessage which represents the overall slice whose + // elements should be slices of model instances: + // rawSlice --> "[ [{}, {},...], [{}, {},...], ...]" + + // Get a reflective view of the result and initialize it. + // This will be a slice of slices. + sliceSize := len(rawSlice) + + rResultSlice := reflect.ValueOf(result).Elem() + rResultSlice.Set(reflect.MakeSlice(reflect.TypeOf(result).Elem(), 0, sliceSize)) + + // If there is an unmarshal input source, then unmarshal it. + if sliceSize > 0 { + for _, rawMsg := range rawSlice { + // Make sure our inner slice raw message isn't an explicit JSON null value. + // Each value in 'rawMap' should contain an instance of []. + // We'll first unmarshal each value into a []jsonRawMessage, then unmarshal that + // into a [] using unmarshalModelSlice. + var innerRawSlice []json.RawMessage + err = json.Unmarshal(rawMsg, &innerRawSlice) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "json-unmarshal-error", getComponentInfo()) + return + } + + // Construct a slice of the correct type (i.e. []Foo) + rSliceValue := reflect.New(reflect.TypeOf(result).Elem().Elem()) + + // Unmarshal 'innerRawSlice' into a slice of models. + err = unmarshalModelSlice(innerRawSlice, "", rSliceValue.Interface(), unmarshaller) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "unmarshaller-error", getComponentInfo()) + return + } + + // Now add the unmarshalled model slice to the result slice (reflectively, of course :) ). + rResultSlice.Set(reflect.Append(rResultSlice, rSliceValue.Elem())) + } + } + return +} + +// unmarshalModelMap unmarshals 'rawInput' into a map[string]. +// +// Parameters: +// +// rawInput: the unmarshal input source in the form of a map[string]json.RawMessage. +// +// propertyName: an optional name of a property to be retrieved from 'rawInput'. +// If 'propertyName' is specified as a non-empty string, then the specified property value is retrieved +// from 'rawInput', and this value is assumed to contain the map[string] to be unmarshalled. +// If 'propertyName' is specified as "", then 'rawInput' will be used directly as the unmarshal input source. +// +// result: the unmarshal destination. This should be a pointer to map[string] (e.g. *map[string]Foo for model type Foo). +// If 'result' points to a nil map, this function will construct the map prior to adding entries to it. +// +// unmarshaller: the function used to unmarshal a single instance of the model. +func unmarshalModelMap(rawInput interface{}, propertyName string, result interface{}, unmarshaller ModelUnmarshaller) (err error) { + var rawMap map[string]json.RawMessage + var foundInput bool + + // Obtain the unmarshal input source from 'rawInput'. + foundInput, rawMap, err = getUnmarshalInputSourceMap(rawInput, propertyName) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "input-source-error", getComponentInfo()) + return + } + + if !foundInput { + return + } + + // Get a "reflective" view of the result map and initialize it. + rResultMap := reflect.ValueOf(result).Elem() + rResultMap.Set(reflect.MakeMap(reflect.TypeOf(result).Elem())) + + // If there is an unmarshal input source, then unmarshal it. + if foundInput && rawMap != nil { + // Determine the type of the 'result' parameter that we'll need to pass to + // the model-specific unmarshaller. + var receiverType reflect.Type + receiverType, err = getUnmarshalResultType(result) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "result-type-error", getComponentInfo()) + return + } + + for k, v := range rawMap { + // Unmarshal the map entry's value (a json.RawMessage) into a map[string]RawMessage. + // The resulting map should contain an instance of the model. + modelInstanceMap := make(map[string]json.RawMessage) + err = json.Unmarshal(v, &modelInstanceMap) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "json-unmarshal-error", getComponentInfo()) + return + } + + // Reflectively construct a receiver of the unmarshal step. + rModelReceiver := reflect.New(receiverType) + + // Unmarshal the model instance contained in 'modelInstanceMap'. + err = unmarshaller(modelInstanceMap, rModelReceiver.Interface()) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "unmarshaller-error", getComponentInfo()) + return + } + + // Now add the unmarshalled model instance to the result map (reflectively, of course :) ). + rResultMap.SetMapIndex(reflect.ValueOf(k), rModelReceiver.Elem().Elem()) + } + } + return +} + +// unmarshalModelSliceMap unmarshals 'rawInput' into a map[string][]. +// +// Parameters: +// +// rawInput: the unmarshal input source in the form of a map[string]json.RawMessage. +// +// propertyName: an optional name of a property to be retrieved from 'rawInput'. +// If 'propertyName' is specified as a non-empty string, then the specified property value is retrieved +// from 'rawInput', and this value is assumed to contain the map[string][] to be unmarshalled. +// If 'propertyName' is specified as "", then 'rawInput' will be used directly as the unmarshal input source. +// +// result: the unmarshal destination. This should be a pointer to a map[string][] +// (e.g. *map[string][]Foo for model type Foo). +// If 'result' points to a nil map, this function will construct the map prior to adding entries to it. +// +// unmarshaller: the function used to unmarshal a single instance of the model. +func unmarshalModelSliceMap(rawInput interface{}, propertyName string, result interface{}, unmarshaller ModelUnmarshaller) (err error) { + var rawMap map[string]json.RawMessage + var foundInput bool + + // Obtain the unmarshal input source from 'rawInput'. + foundInput, rawMap, err = getUnmarshalInputSourceMap(rawInput, propertyName) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "input-source-error", getComponentInfo()) + return + } + + if !foundInput { + return + } + + // Get a "reflective" view of the result map and initialize it. + rResultMap := reflect.ValueOf(result).Elem() + rResultMap.Set(reflect.MakeMap(reflect.TypeOf(result).Elem())) + + if foundInput && rawMap != nil { + for k, v := range rawMap { + // Make sure our slice raw message isn't an explicit JSON null value. + if !isJsonNull(v) { + // Each value in 'rawMap' should contain an instance of []. + // We'll first unmarshal each value into a []jsonRawMessage, then unmarshal that + // into a [] using unmarshalModelSlice. + var rawSlice []json.RawMessage + err = json.Unmarshal(v, &rawSlice) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "json-unmarshal-error", getComponentInfo()) + return + } + + // Construct a slice of the correct type. + rSliceValue := reflect.New(reflect.TypeOf(result).Elem().Elem()) + + // Unmarshal rawSlice into a model slice. + err = unmarshalModelSlice(rawSlice, "", rSliceValue.Interface(), unmarshaller) + if err != nil { + err = fmt.Errorf(errorUnmarshalModel, propInsert(propertyName), + reflect.TypeOf(result).Elem().String(), err.Error()) + err = SDKErrorf(err, "", "unmarshaller-error", getComponentInfo()) + return + } + + // Now add the unmarshalled model slice to the result map (reflectively, of course :) ). + rResultMap.SetMapIndex(reflect.ValueOf(k), rSliceValue.Elem()) + } + } + } + return +} + +// getUnmarshalInputSourceMap returns the appropriate unmarshal input source from 'rawInput' +// in the form of a map[string]json.RawMessage. +// +// Parameters: +// rawInput: the raw unmarshalled input. This should be in the form of a map[string]json.RawMessage. +// +// propertyName: (optional) the name of the property (map entry) within 'rawInput' that contains the +// unmarshal input source. If specified as "", then 'rawInput' is assumed to contain the entire input source directly. +func getUnmarshalInputSourceMap(rawInput interface{}, propertyName string) (foundInput bool, inputSource map[string]json.RawMessage, err error) { + foundInput = true + + // rawInput should be a map[string]json.RawMessage. + rawMap, ok := rawInput.(map[string]json.RawMessage) + if !ok { + foundInput = false + err = fmt.Errorf(errorIncorrectInputType, "map[string]json.RawMessage", reflect.TypeOf(rawInput).String()) + err = SDKErrorf(err, "", "non-json-source-map", getComponentInfo()) + return + } + + // If propertyName was specified, then retrieve that entry from 'rawInput' as our unmarshal input source. + if propertyName != "" { + var rawMsg json.RawMessage + rawMsg, foundInput = rawMap[propertyName] + if !foundInput || isJsonNull(rawMsg) { + foundInput = false + return + } else { + rawMap = make(map[string]json.RawMessage) + err = json.Unmarshal(rawMsg, &rawMap) + if err != nil { + foundInput = false + err = SDKErrorf(err, "", "json-unmarshal-error", getComponentInfo()) + return + } + } + } + + inputSource = rawMap + return +} + +// getUnmarshalInputSourceSlice returns the appropriate unmarshal input source from 'rawInput' +// in the form of a []json.RawMessage. +// +// Parameters: +// rawInput: the raw unmarshalled input. This should be in the form of a map[string]json.RawMessage or []json.RawMessage, +// depending on the value of propertyName. +// +// propertyName: (optional) the name of the property (map entry) within 'rawInput' that contains the +// unmarshal input source. The specified map entry should contain a []json.RawMessage which +// will be used as the unmarshal input source. If 'propertyName' is specified as "", then 'rawInput' +// is assumed to be a []json.RawMessage and contains the entire input source directly. +func getUnmarshalInputSourceSlice(rawInput interface{}, propertyName string) (foundInput bool, inputSource []json.RawMessage, err error) { + // If propertyName was specified, then retrieve that entry from 'rawInput' (assumed to be a map[string]json.RawMessage) + // as our unmarshal input source. Otherwise, just use 'rawInput' directly. + if propertyName != "" { + rawMap, ok := rawInput.(map[string]json.RawMessage) + if !ok { + err = fmt.Errorf(errorIncorrectInputType, "map[string]json.RawMessage", reflect.TypeOf(rawInput).String()) + err = SDKErrorf(err, "", "raw-input-error", getComponentInfo()) + return + } + + var rawMsg json.RawMessage + rawMsg, ok = rawMap[propertyName] + + // If we didn't find the property containing the JSON input, then bail out now. + if !ok || isJsonNull(rawMsg) { + return + } else { + // We found the property in the map, so unmarshal the json.RawMessage into a []json.RawMessage + rawSlice := make([]json.RawMessage, 0) + err = json.Unmarshal(rawMsg, &rawSlice) + if err != nil { + err = fmt.Errorf(errorIncorrectInputType, "map[string][]json.RawMessage", reflect.TypeOf(rawInput).String()) + err = SDKErrorf(err, "", "json-unmarshal-error", getComponentInfo()) + return + } + + foundInput = true + inputSource = rawSlice + } + } else { + // 'propertyName' was not specified, so 'rawInput' should be our []json.RawMessage input source. + + rawSlice, ok := rawInput.([]json.RawMessage) + if !ok { + err = fmt.Errorf(errorIncorrectInputType, "[]json.RawMessage", reflect.TypeOf(rawInput).String()) + err = SDKErrorf(err, "", "no-name-raw-input-error", getComponentInfo()) + return + } + + foundInput = true + inputSource = rawSlice + } + + return +} + +// isJsonNull returns true iff 'rawMsg' is exlicitly nil or contains a JSON "null" value. +func isJsonNull(rawMsg json.RawMessage) bool { + nullLiteral := []byte("null") + if rawMsg == nil || string(rawMsg) == string(nullLiteral) { + return true + } + return false +} + +// propInsert is a utility function used to optionally include the name of a property in an error message. +func propInsert(propertyName string) string { + if propertyName != "" { + return fmt.Sprintf(errorPropertyInsert, propertyName) + } + return "" +} + +// getUnmarshalResultType returns the type associated with an unmarshal result. +// The resulting type can be constructed with the reflect.New() function. +func getUnmarshalResultType(result interface{}) (ptrType reflect.Type, err error) { + rResultType := reflect.TypeOf(result).Elem().Elem() + switch rResultType.Kind() { + case reflect.Struct, reflect.Slice: + ptrType = reflect.PointerTo(rResultType) + + case reflect.Interface: + ptrType = rResultType + + default: + err = fmt.Errorf(errorUnsupportedResultType, rResultType.String()) + err = SDKErrorf(err, "", "unsupported-type", getComponentInfo()) + } + return +} + +// getModelResultType returns the type of the 'result' parameter as a string. +// This will be something like "mypackagev1.Foo" or "mypackagev1.FooIntf" +func getModelResultType(result interface{}) string { + rResultType := reflect.TypeOf(result).Elem() + if rResultType.Kind() == reflect.Ptr { + rResultType = rResultType.Elem() + } + + return rResultType.String() +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/utils.go b/vendor/github.com/IBM/go-sdk-core/v5/core/utils.go new file mode 100644 index 000000000..1075799e0 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/utils.go @@ -0,0 +1,423 @@ +package core + +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "encoding/json" + "errors" + "fmt" + "net/url" + "os" + "reflect" + "regexp" + "runtime" + "strconv" + "strings" + "time" + + "github.com/go-openapi/strfmt" + validator "github.com/go-playground/validator/v10" +) + +// Validate is a shared validator instance used to perform validation of structs. +var Validate *validator.Validate + +func init() { + Validate = validator.New() +} + +const ( + jsonMimePattern = "(?i)^application\\/((json)|(merge\\-patch\\+json)|(vnd\\..*\\+json))(\\s*;.*)?$" + jsonPatchMimePattern = "(?i)^application\\/json\\-patch\\+json(\\s*;.*)?$" +) + +// IsNil checks if the specified object is nil or not. +func IsNil(object interface{}) bool { + if object == nil { + return true + } + + switch reflect.TypeOf(object).Kind() { + case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return reflect.ValueOf(object).IsNil() + } + + return false +} + +// ValidateNotNil returns the specified error if 'object' is nil, nil otherwise. +func ValidateNotNil(object interface{}, errorMsg string) error { + if IsNil(object) { + err := errors.New(errorMsg) + return SDKErrorf(err, "", "obj-is-nil", getComponentInfo()) + } + return nil +} + +// ValidateStruct validates 'param' (assumed to be a ptr to a struct) according to the +// annotations attached to its fields. +func ValidateStruct(param interface{}, paramName string) error { + err := ValidateNotNil(param, paramName+" cannot be nil") + if err != nil { + err = RepurposeSDKProblem(err, "struct-is-nil") + return err + } + + err = Validate.Struct(param) + if err != nil { + // If there were validation errors then return an error containing the field errors + if fieldErrors, ok := err.(validator.ValidationErrors); ok { + err = fmt.Errorf("%s failed validation:\n%w", paramName, fieldErrors) + return SDKErrorf(err, "", "struct-validation-errors", getComponentInfo()) + } + return SDKErrorf(err, "", "struct-validate-unknown-error", getComponentInfo()) + } + + return nil +} + +// StringPtr returns a pointer to string literal. +func StringPtr(literal string) *string { + return &literal +} + +// BoolPtr returns a pointer to boolean literal. +func BoolPtr(literal bool) *bool { + return &literal +} + +// Int64Ptr returns a pointer to int64 literal. +func Int64Ptr(literal int64) *int64 { + return &literal +} + +// Float32Ptr returns a pointer to float32 literal. +func Float32Ptr(literal float32) *float32 { + return &literal +} + +// Float64Ptr returns a pointer to float64 literal. +func Float64Ptr(literal float64) *float64 { + return &literal +} + +// UUIDPtr returns a pointer to strfmt.UUID literal. +func UUIDPtr(literal strfmt.UUID) *strfmt.UUID { + return &literal +} + +// ByteArrayPtr returns a pointer to []byte literal. +func ByteArrayPtr(literal []byte) *[]byte { + return &literal +} + +// IsJSONMimeType Returns true iff the specified mimeType value represents a +// "JSON" mimetype. +func IsJSONMimeType(mimeType string) bool { + if mimeType == "" { + return false + } + matched, err := regexp.MatchString(jsonMimePattern, mimeType) + if err != nil { + return false + } + return matched +} + +// IsJSONPatchMimeType returns true iff the specified mimeType value represents +// a "JSON Patch" mimetype. +func IsJSONPatchMimeType(mimeType string) bool { + if mimeType == "" { + return false + } + matched, err := regexp.MatchString(jsonPatchMimePattern, mimeType) + if err != nil { + return false + } + return matched +} + +// StringNilMapper de-references the parameter 's' and returns the result, or "" +// if 's' is nil. +func StringNilMapper(s *string) string { + if s == nil { + return "" + } + return *s +} + +// HasBadFirstOrLastChar checks if the string starts with `{` or `"` +// or ends with `}` or `"`. +func HasBadFirstOrLastChar(str string) bool { + return strings.HasPrefix(str, "{") || strings.HasPrefix(str, "\"") || + strings.HasSuffix(str, "}") || strings.HasSuffix(str, "\"") +} + +// UserHomeDir returns the user home directory. +func UserHomeDir() string { + if runtime.GOOS == "windows" { + home := os.Getenv("HOMEDRIVE") + os.Getenv("HOMEPATH") + if home == "" { + home = os.Getenv("USERPROFILE") + } + return home + } + return os.Getenv("HOME") +} + +// SystemInfo returns the system information. +func SystemInfo() string { + return fmt.Sprintf("(arch=%s; os=%s; go.version=%s)", runtime.GOARCH, runtime.GOOS, runtime.Version()) +} + +// PrettyPrint print pretty. +func PrettyPrint(result interface{}, resultName string) { + output, err := json.MarshalIndent(result, "", " ") + + if err == nil { + fmt.Printf("%v:\n%+v\n\n", resultName, string(output)) + } +} + +// GetCurrentTime returns the current Unix time. +func GetCurrentTime() int64 { + return time.Now().Unix() +} + +// Pre-compiled regular expression used to remove the surrounding +// [] characters from a JSON string containing a slice (e.g. `["str1", "str2", "str3"]`). +var reJsonSlice = regexp.MustCompile(`(?s)\[(\S*)\]`) + +// ConvertSlice marshals 'slice' to a json string, performs +// string manipulation on the resulting string, and converts +// the string to a '[]string'. If 'slice' is nil, not a 'slice' type, +// or an error occurred during conversion, an error will be returned +func ConvertSlice(slice interface{}) (s []string, err error) { + inputIsSlice := false + + if IsNil(slice) { + err = errors.New(ERRORMSG_NIL_SLICE) + err = SDKErrorf(err, "", "nil-slice", getComponentInfo()) + return + } + + // Reflect on 'slice' to validate the input is in fact a slice + rResultType := reflect.TypeOf(slice) + + switch rResultType.Kind() { + case reflect.Slice: + inputIsSlice = true + default: + } + + // If it's not a slice, just return an error + if !inputIsSlice { + err = errors.New(ERRORMSG_PARAM_NOT_SLICE) + err = SDKErrorf(err, "", "param-not-slice", getComponentInfo()) + return + } else if reflect.ValueOf(slice).Len() == 0 { + s = []string{} + return + } + + jsonBuffer, err := json.Marshal(slice) + if err != nil { + err = fmt.Errorf(ERRORMSG_MARSHAL_SLICE, err.Error()) + err = SDKErrorf(err, "", "slice-marshal-error", getComponentInfo()) + return + } + + jsonString := string(jsonBuffer) + + // Use regex to convert the json string to a string slice + match := reJsonSlice.FindStringSubmatch(jsonString) + if match != nil && match[1] != "" { + newString := match[1] + s = strings.Split(newString, ",") + // For each slice element, attempt to remove any surrounding quotes + // added by marshaling into a json string + for i := range s { + unquotedString, unquoteErr := strconv.Unquote(s[i]) + if unquoteErr == nil && unquotedString != "" { + s[i] = unquotedString + } + } + return + } + + // If we returned a plain string that's not in "slice format", + // then attempt to just convert it to a string slice. + if jsonString != "" { + s = strings.Split(jsonString, ",") + return + } + + err = errors.New(ERRORMSG_CONVERT_SLICE) + return nil, SDKErrorf(err, "", "cant-convert-slice", getComponentInfo()) +} + +// SliceContains returns true iff "contains" is an element of "slice" +func SliceContains(slice []string, contains string) bool { + for _, elem := range slice { + if elem == contains { + return true + } + } + return false +} + +// GetQueryParam returns a pointer to the value of query parameter `param` from urlStr, +// or nil if not found. +func GetQueryParam(urlStr *string, param string) (value *string, err error) { + if urlStr == nil || *urlStr == "" { + return + } + + urlObj, err := url.Parse(*urlStr) + if err != nil { + err = SDKErrorf(err, "", "url-parse-error", getComponentInfo()) + return + } + + query, err := url.ParseQuery(urlObj.RawQuery) + if err != nil { + err = SDKErrorf(err, "", "url-parse-query-error", getComponentInfo()) + return + } + + v := query.Get(param) + if v == "" { + return + } + + value = &v + + return +} + +// GetQueryParamAsInt returns a pointer to the value of query parameter `param` from urlStr +// converted to an int64 value, or nil if not found. +func GetQueryParamAsInt(urlStr *string, param string) (value *int64, err error) { + strValue, err := GetQueryParam(urlStr, param) + if err != nil { + err = RepurposeSDKProblem(err, "get-query-error") + return + } + + if strValue == nil { + return + } + + intValue, err := strconv.ParseInt(*strValue, 10, 64) + if err != nil { + err = SDKErrorf(err, "", "parse-int-query-error", getComponentInfo()) + return nil, err + } + + value = &intValue + + return +} + +// keywords that are redacted +var redactedKeywords = []string{ + "apikey", + "api_key", + "passcode", + "password", + "token", + + "aadClientId", + "aadClientSecret", + "auth", + "auth_provider_x509_cert_url", + "auth_uri", + "client_email", + "client_id", + "client_x509_cert_url", + "key", + "project_id", + "secret", + "subscriptionId", + "tenantId", + "thumbprint", + "token_uri", + + // Information from issue: https://github.com/IBM/go-sdk-core/issues/190 + // // Redhat + // "ibm-cos-access-key", + // "ibm-cos-secret-key", + // "iam-api-key", + // "kms-root-key", + // "kms-api-key", + + // // AWS + // "aws-access-key", + // "aws-secret-access-key", + + // // Azure + // "tenantId", + // "subscriptionId", + // "aadClientId", + // "aadClientSecret", + + // // Google + // "project_id", + // "private_key_id", + // "private_key", + // "client_email", + // "client_id", + // "auth_uri", + // "token_uri", + // "auth_provider_x509_cert_url", + // "client_x509_cert_url", + + // // IBM + // "primary-gui-api-user", + // "primary-gui-api-password", + // "owning-gui-api-user", + // "owning-gui-api-password", + // "g2_api_key", + + // // NetApp + // "username", + // "password", + + // // VMware + // "vcenter-username", + // "vcenter-password", + // "thumbprint", +} + +var redactedTokens = strings.Join(redactedKeywords, "|") + +// Pre-compiled regular expressions used by RedactSecrets(). +var ( + reAuthHeader = regexp.MustCompile(`(?m)^(Authorization|X-Auth\S*): .*`) + rePropertySetting = regexp.MustCompile(`(?i)(` + redactedTokens + `)=[^&]*(&|$)`) + reJsonField = regexp.MustCompile(`(?i)"([^"]*(` + redactedTokens + `)[^"_]*)":\s*"[^\,]*"`) +) + +// RedactSecrets() returns the input string with secrets redacted. +func RedactSecrets(input string) string { + redacted := "[redacted]" + + redactedString := input + redactedString = reAuthHeader.ReplaceAllString(redactedString, "$1: "+redacted) + redactedString = rePropertySetting.ReplaceAllString(redactedString, "$1="+redacted+"$2") + redactedString = reJsonField.ReplaceAllString(redactedString, fmt.Sprintf(`"$1":"%s"`, redacted)) + + return redactedString +} diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/version.go b/vendor/github.com/IBM/go-sdk-core/v5/core/version.go new file mode 100644 index 000000000..2fe9feb7b --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/version.go @@ -0,0 +1,18 @@ +package core + +// (C) Copyright IBM Corp. 2019. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Version of the SDK +const __VERSION__ = "5.21.2" diff --git a/vendor/github.com/IBM/go-sdk-core/v5/core/vpc_instance_authenticator.go b/vendor/github.com/IBM/go-sdk-core/v5/core/vpc_instance_authenticator.go new file mode 100644 index 000000000..684e9a676 --- /dev/null +++ b/vendor/github.com/IBM/go-sdk-core/v5/core/vpc_instance_authenticator.go @@ -0,0 +1,526 @@ +package core + +// (C) Copyright IBM Corp. 2021, 2024. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import ( + "encoding/json" + "errors" + "fmt" + "net/http" + "net/http/httputil" + "sync" + "time" + + "github.com/go-openapi/strfmt" +) + +// VpcInstanceAuthenticator implements an authentication scheme in which it +// retrieves an "instance identity token" and exchanges that for an IAM access token using the +// VPC Instance Metadata Service API which is available on the local compute resource (VM). +// The instance identity token is similar to an IAM apikey, except that it is managed +// automatically by the compute resource provider (VPC). +// The resulting IAM access token is then added to outbound requests in an Authorization header +// of the form: +// +// Authorization: Bearer +type VpcInstanceAuthenticator struct { + // [optional] The CRN of the linked trusted IAM profile to be used as the identity of the compute resource. + // At most one of IAMProfileCRN or IAMProfileID may be specified. If neither one is specified, then + // the default IAM profile defined for the compute resource will be used. + // Default value: "" + IAMProfileCRN string + + // [optional] The ID of the linked trusted IAM profile to be used when obtaining the IAM access token. + // At most one of IAMProfileCRN or IAMProfileID may be specified. If neither one is specified, then + // the default IAM profile defined for the compute resource will be used. + // Default value: "" + IAMProfileID string + + // [optional] The VPC Instance Metadata Service's base endpoint URL. + // Default value: "http://169.254.169.254" + URL string + urlInit sync.Once + + // [optional] The http.Client object used to interact with the VPC Instance Metadata Service API. + // If not specified by the user, a suitable default Client will be constructed. + Client *http.Client + clientInit sync.Once + + // The User-Agent header value to be included with each token request. + userAgent string + userAgentInit sync.Once + + // The cached IAM access token and its expiration time. + tokenData *iamTokenData + + // Mutex to synchronize access to the tokenData field. + tokenDataMutex sync.Mutex +} + +const ( + vpcauthDefaultIMSEndpoint = "http://169.254.169.254" + vpcauthOperationPathCreateAccessToken = "/instance_identity/v1/token" + vpcauthOperationPathCreateIamToken = "/instance_identity/v1/iam_token" + vpcauthMetadataFlavor = "ibm" + vpcauthMetadataServiceVersion = "2022-03-01" + vpcauthInstanceIdentityTokenLifetime = 300 + vpcauthDefaultTimeout = time.Second * 30 +) + +// VpcInstanceAuthenticatorBuilder is used to construct an instance of the VpcInstanceAuthenticator +type VpcInstanceAuthenticatorBuilder struct { + VpcInstanceAuthenticator +} + +// NewVpcInstanceAuthenticatorBuilder returns a new builder struct that +// can be used to construct a VpcInstanceAuthenticator instance. +func NewVpcInstanceAuthenticatorBuilder() *VpcInstanceAuthenticatorBuilder { + return &VpcInstanceAuthenticatorBuilder{} +} + +// SetIAMProfileCRN sets the IAMProfileCRN field in the builder. +func (builder *VpcInstanceAuthenticatorBuilder) SetIAMProfileCRN(s string) *VpcInstanceAuthenticatorBuilder { + builder.VpcInstanceAuthenticator.IAMProfileCRN = s + return builder +} + +// SetIAMProfileID sets the IAMProfileID field in the builder. +func (builder *VpcInstanceAuthenticatorBuilder) SetIAMProfileID(s string) *VpcInstanceAuthenticatorBuilder { + builder.VpcInstanceAuthenticator.IAMProfileID = s + return builder +} + +// SetURL sets the URL field in the builder. +func (builder *VpcInstanceAuthenticatorBuilder) SetURL(s string) *VpcInstanceAuthenticatorBuilder { + builder.VpcInstanceAuthenticator.URL = s + return builder +} + +// SetClient sets the Client field in the builder. +func (builder *VpcInstanceAuthenticatorBuilder) SetClient(client *http.Client) *VpcInstanceAuthenticatorBuilder { + builder.VpcInstanceAuthenticator.Client = client + return builder +} + +// Build() returns a validated instance of the VpcInstanceAuthenticator with the config that was set in the builder. +func (builder *VpcInstanceAuthenticatorBuilder) Build() (*VpcInstanceAuthenticator, error) { + // Make sure the config is valid. + err := builder.VpcInstanceAuthenticator.Validate() + if err != nil { + return nil, RepurposeSDKProblem(err, "validation-failed") + } + + return &builder.VpcInstanceAuthenticator, nil +} + +// client returns the authenticator's http client after potentially initializing it. +func (authenticator *VpcInstanceAuthenticator) client() *http.Client { + authenticator.clientInit.Do(func() { + if authenticator.Client == nil { + authenticator.Client = DefaultHTTPClient() + authenticator.Client.Timeout = vpcauthDefaultTimeout + } + }) + return authenticator.Client +} + +// getUserAgent returns the User-Agent header value to be included in each token request invoked by the authenticator. +func (authenticator *VpcInstanceAuthenticator) getUserAgent() string { + authenticator.userAgentInit.Do(func() { + authenticator.userAgent = fmt.Sprintf("%s/%s-%s %s", sdkName, "vpc-instance-authenticator", __VERSION__, SystemInfo()) + }) + return authenticator.userAgent +} + +// url returns the authenticator's URL property after potentially initializing it. +func (authenticator *VpcInstanceAuthenticator) url() string { + authenticator.urlInit.Do(func() { + if authenticator.URL == "" { + authenticator.URL = vpcauthDefaultIMSEndpoint + } + }) + return authenticator.URL +} + +// newVpcInstanceAuthenticatorFromMap constructs a new VpcInstanceAuthenticator instance from a map containing +// configuration properties. +func newVpcInstanceAuthenticatorFromMap(properties map[string]string) (authenticator *VpcInstanceAuthenticator, err error) { + if properties == nil { + err = errors.New(ERRORMSG_PROPS_MAP_NIL) + return nil, SDKErrorf(err, "", "missing-props", getComponentInfo()) + } + + authenticator, err = NewVpcInstanceAuthenticatorBuilder(). + SetIAMProfileCRN(properties[PROPNAME_IAM_PROFILE_CRN]). + SetIAMProfileID(properties[PROPNAME_IAM_PROFILE_ID]). + SetURL(properties[PROPNAME_AUTH_URL]). + Build() + + return +} + +// AuthenticationType returns the authentication type for this authenticator. +func (*VpcInstanceAuthenticator) AuthenticationType() string { + return AUTHTYPE_VPC +} + +// Authenticate adds IAM authentication information to the request. +// +// The IAM access token will be added to the request's headers in the form: +// +// Authorization: Bearer +func (authenticator *VpcInstanceAuthenticator) Authenticate(request *http.Request) error { + token, err := authenticator.GetToken() + if err != nil { + return RepurposeSDKProblem(err, "get-token-fail") + } + + request.Header.Set("Authorization", "Bearer "+token) + GetLogger().Debug("Authenticated outbound request (type=%s)\n", authenticator.AuthenticationType()) + return nil +} + +// getTokenData returns the tokenData field from the authenticator with synchronization. +func (authenticator *VpcInstanceAuthenticator) getTokenData() *iamTokenData { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + return authenticator.tokenData +} + +// setTokenData sets the 'tokenData' field in the authenticator with synchronization. +func (authenticator *VpcInstanceAuthenticator) setTokenData(tokenData *iamTokenData) { + authenticator.tokenDataMutex.Lock() + defer authenticator.tokenDataMutex.Unlock() + + authenticator.tokenData = tokenData +} + +// Validate the authenticator's configuration. +// +// Ensures that one of IAMProfileName or IAMProfileID are specified, and the ClientId and ClientSecret pair are +// mutually inclusive. +func (authenticator *VpcInstanceAuthenticator) Validate() error { + // Check to make sure that at most one of IAMProfileCRN or IAMProfileID are specified. + if authenticator.IAMProfileCRN != "" && authenticator.IAMProfileID != "" { + err := fmt.Errorf(ERRORMSG_ATMOST_ONE_PROP_ERROR, "IAMProfileCRN", "IAMProfileID") + return SDKErrorf(err, "", "both-props", getComponentInfo()) + } + + return nil +} + +// GetToken returns an IAM access token to be used in an Authorization header. +// Whenever a new IAM access token is needed (when a token doesn't yet exist or the existing token has expired), +// a new IAM access token is fetched from the token server. +func (authenticator *VpcInstanceAuthenticator) GetToken() (string, error) { + if authenticator.getTokenData() == nil || !authenticator.getTokenData().isTokenValid() { + GetLogger().Debug("Performing synchronous token fetch...") + // synchronously request the token + err := authenticator.synchronizedRequestToken() + if err != nil { + return "", RepurposeSDKProblem(err, "request-token-fail") + } + } else if authenticator.getTokenData().needsRefresh() { + GetLogger().Debug("Performing background asynchronous token fetch...") + // If refresh needed, kick off a go routine in the background to get a new token + //nolint: errcheck + go authenticator.invokeRequestTokenData() + } else { + GetLogger().Debug("Using cached access token...") + } + + // return an error if the access token is not valid or was not fetched + if authenticator.getTokenData() == nil || authenticator.getTokenData().AccessToken == "" { + err := errors.New("Error while trying to get access token") + return "", SDKErrorf(err, "", "no-token", getComponentInfo()) + } + + return authenticator.getTokenData().AccessToken, nil +} + +// vpcRequestTokenMutex is used to synchronize access to requesting a new IAM access token. +var vpcRequestTokenMutex sync.Mutex + +// synchronizedRequestToken will check if the authenticator currently has +// a valid cached access token. +// If yes, then nothing else needs to be done. +// If no, then a blocking request is made to obtain a new IAM access token. +func (authenticator *VpcInstanceAuthenticator) synchronizedRequestToken() error { + vpcRequestTokenMutex.Lock() + defer vpcRequestTokenMutex.Unlock() + // if cached token is still valid, then just continue to use it + if authenticator.getTokenData() != nil && authenticator.getTokenData().isTokenValid() { + return nil + } + + return authenticator.invokeRequestTokenData() +} + +// invokeRequestTokenData will invoke RequestToken() to obtain a new IAM access token, +// then caches the resulting "tokenData" on the authenticator. +// Returns nil if successful, or non-nil if an error occurred. +func (authenticator *VpcInstanceAuthenticator) invokeRequestTokenData() error { + tokenResponse, err := authenticator.RequestToken() + if err != nil { + return err + } + + if tokenData, err := newIamTokenData(tokenResponse); err != nil { + return err + } else { + authenticator.setTokenData(tokenData) + } + + return nil +} + +// RequestToken will use the VPC Instance Metadata Service to (1) retrieve a fresh instance identity token +// and then (2) exchange that for an IAM access token. +func (authenticator *VpcInstanceAuthenticator) RequestToken() (iamTokenResponse *IamTokenServerResponse, err error) { + // Retrieve the instance identity token from the VPC Instance Metadata Service. + instanceIdentityToken, err := authenticator.retrieveInstanceIdentityToken() + if err != nil { + err = RepurposeSDKProblem(err, "get-ii-token-error") + return + } + + // Next, exchange the instance identity token for an IAM access token. + iamTokenResponse, err = authenticator.retrieveIamAccessToken(instanceIdentityToken) + if err != nil { + err = RepurposeSDKProblem(err, "get-ia-token-error") + return + } + + return +} + +// vpcTokenResponse describes the response body for both the 'create_access_token' and 'create_iam_token' +// operations (i.e. the response body has the same structure for both operations). +// Note: this struct was generated from the VPC metadata service API definition. +type vpcTokenResponse struct { + // The access token. + AccessToken *string `json:"access_token" validate:"required"` + + // The date and time that the access token was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The date and time that the access token will expire. + ExpiresAt *strfmt.DateTime `json:"expires_at" validate:"required"` + + // Time in seconds before the access token expires. + ExpiresIn *int64 `json:"expires_in" validate:"required"` +} + +// retrieveIamAccessToken will use the VPC "create_iam_token" operation to exchange the +// compute resource's instance identity token for an IAM access token that can be used +// to authenticate outbound REST requests targeting IAM-secured services. +func (authenticator *VpcInstanceAuthenticator) retrieveIamAccessToken( + instanceIdentityToken string) (iamTokenResponse *IamTokenServerResponse, err error) { + // Set up the request for the VPC "create_iam_token" operation. + builder := NewRequestBuilder(POST) + _, err = builder.ResolveRequestURL(authenticator.url(), vpcauthOperationPathCreateIamToken, nil) + if err != nil { + err = authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + return + } + + // Set the params and request body. + builder.AddQuery("version", vpcauthMetadataServiceVersion) + builder.AddHeader(CONTENT_TYPE, APPLICATION_JSON) + builder.AddHeader(Accept, APPLICATION_JSON) + builder.AddHeader(headerNameUserAgent, authenticator.getUserAgent()) + builder.AddHeader("Authorization", "Bearer "+instanceIdentityToken) + + // Next, construct the optional request body to specify the linked IAM profile. + // We previously verified that at most one of IBMProfileCRN or IAMProfileID was specified by the user, + // so just process them individually here and create the appropriate request body if needed. + // If neither property was specified by the user, then no request body is sent with the request. + var requestBody string + if authenticator.IAMProfileCRN != "" { + requestBody = fmt.Sprintf(`{"trusted_profile": {"crn": "%s"}}`, authenticator.IAMProfileCRN) + } + if authenticator.IAMProfileID != "" { + requestBody = fmt.Sprintf(`{"trusted_profile": {"id": "%s"}}`, authenticator.IAMProfileID) + } + if requestBody != "" { + _, _ = builder.SetBodyContentString(requestBody) + } + + // Build the request. + req, err := builder.Build() + if err != nil { + return nil, authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", string(buf)) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log outbound request: %s", dumpErr.Error())) + } + } + + GetLogger().Debug("Invoking VPC 'create_iam_token' operation: %s", builder.URL) + resp, err := authenticator.client().Do(req) + if err != nil { + return nil, authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + } + GetLogger().Debug("Returned from VPC 'create_iam_token' operation, received status code %d", resp.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(resp, resp.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Response:\n%s\n", string(buf)) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log inbound response: %s", dumpErr.Error())) + } + } + + // Check for a bad status code and handle an operation error. + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + detailedResponse, responseError := processErrorResponse(resp) + err = authenticationErrorf(responseError, detailedResponse, "create_iam_token", authenticator.getComponentInfo()) + + // The err Summary is typically the message computed for the HTTPError instance in + // processErrorResponse(). If the response body is non-JSON, the message will be generic + // text based on the status code but authenticators have always used the stringified + // RawResult, so update that here for compatilibility. + vpcErrorMsg := responseError.Summary + if detailedResponse.RawResult != nil { + // RawResult is only populated if the response body is + // non-JSON and we couldn't extract a message. + vpcErrorMsg = string(detailedResponse.RawResult) + } + + err.(*AuthenticationError).Summary = fmt.Sprintf(ERRORMSG_VPCMDS_OPERATION_ERROR, detailedResponse.StatusCode, builder.URL, vpcErrorMsg) + + return + } + + // Good response, so unmarshal the response body into a vpcTokenResponse instance. + tokenResponse := &vpcTokenResponse{} + _ = json.NewDecoder(resp.Body).Decode(tokenResponse) + defer resp.Body.Close() // #nosec G307 + + // Finally, convert the vpcTokenResponse instance into an IamTokenServerResponse to maintain + // consistency with other IAM-based authenticators. + iamTokenResponse = &IamTokenServerResponse{ + AccessToken: *tokenResponse.AccessToken, + ExpiresIn: *tokenResponse.ExpiresIn, + Expiration: time.Time(*tokenResponse.ExpiresAt).Unix(), + } + + return +} + +// retrieveInstanceIdentityToken retrieves the local compute resource's instance identity token using +// the "create_access_token" operation of the local VPC Instance Metadata Service API. +func (authenticator *VpcInstanceAuthenticator) retrieveInstanceIdentityToken() (instanceIdentityToken string, err error) { + // Set up the request to invoke the "create_access_token" operation. + builder := NewRequestBuilder(PUT) + _, err = builder.ResolveRequestURL(authenticator.url(), vpcauthOperationPathCreateAccessToken, nil) + if err != nil { + err = authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + return + } + + // Set the params and request body. + builder.AddQuery("version", vpcauthMetadataServiceVersion) + builder.AddHeader(CONTENT_TYPE, APPLICATION_JSON) + builder.AddHeader(Accept, APPLICATION_JSON) + builder.AddHeader("Metadata-Flavor", vpcauthMetadataFlavor) + + requestBody := fmt.Sprintf(`{"expires_in": %d}`, vpcauthInstanceIdentityTokenLifetime) + _, _ = builder.SetBodyContentString(requestBody) + + // Build the request. + req, err := builder.Build() + if err != nil { + err = authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + return + } + + // If debug is enabled, then dump the request. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpRequestOut(req, req.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Request:\n%s\n", string(buf)) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log outbound request: %s", dumpErr.Error())) + } + } + + // Invoke the request. + GetLogger().Debug("Invoking VPC 'create_access_token' operation: %s", builder.URL) + resp, err := authenticator.client().Do(req) + if err != nil { + err = authenticationErrorf(err, &DetailedResponse{}, "noop", getComponentInfo()) + return + } + GetLogger().Debug("Returned from VPC 'create_access_token' operation, received status code %d", resp.StatusCode) + + // If debug is enabled, then dump the response. + if GetLogger().IsLogLevelEnabled(LevelDebug) { + buf, dumpErr := httputil.DumpResponse(resp, resp.Body != nil) + if dumpErr == nil { + GetLogger().Debug("Response:\n%s\n", string(buf)) + } else { + GetLogger().Debug(fmt.Sprintf("error while attempting to log inbound response: %s", dumpErr.Error())) + } + } + + // Check for a bad status code and handle the operation error. + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + detailedResponse, responseError := processErrorResponse(resp) + err = authenticationErrorf(responseError, detailedResponse, "create_access_token", authenticator.getComponentInfo()) + + // The err Summary is typically the message computed for the HTTPError instance in + // processErrorResponse(). If the response body is non-JSON, the message will be generic + // text based on the status code but authenticators have always used the stringified + // RawResult, so update that here for compatilibility. + vpcErrorMsg := responseError.Summary + if detailedResponse.RawResult != nil { + // RawResult is only populated if the response body is + // non-JSON and we couldn't extract a message. + vpcErrorMsg = string(detailedResponse.RawResult) + } + + err.(*AuthenticationError).Summary = fmt.Sprintf(ERRORMSG_VPCMDS_OPERATION_ERROR, detailedResponse.StatusCode, builder.URL, vpcErrorMsg) + + return + } + + // VPC "create_access_token" operation must have worked, so unmarshal the operation response body + // and retrieve the instance identity token value. + operationResponse := &vpcTokenResponse{} + _ = json.NewDecoder(resp.Body).Decode(operationResponse) + defer resp.Body.Close() // #nosec G307 + + // The instance identity token is returned in the "access_token" field of the response object. + instanceIdentityToken = *operationResponse.AccessToken + + return +} + +// This should only be used for AuthenticationError instances that actually deal with +// an HTTP error (i.e. do not have a blank DetailedResponse object - they can be scoped +// to the SDK core system). +func (authenticator *VpcInstanceAuthenticator) getComponentInfo() *ProblemComponent { + return NewProblemComponent("vpc_instance_metadata", vpcauthMetadataServiceVersion) +} diff --git a/vendor/github.com/IBM/platform-services-go-sdk/LICENSE b/vendor/github.com/IBM/platform-services-go-sdk/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/github.com/IBM/platform-services-go-sdk/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/IBM/platform-services-go-sdk/common/headers.go b/vendor/github.com/IBM/platform-services-go-sdk/common/headers.go new file mode 100644 index 000000000..fadd6b2a5 --- /dev/null +++ b/vendor/github.com/IBM/platform-services-go-sdk/common/headers.go @@ -0,0 +1,73 @@ +/** + * (C) Copyright IBM Corp. 2020 - 2024. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package common + +import ( + "fmt" + "runtime" + + "github.com/IBM/go-sdk-core/v5/core" +) + +const ( + sdkName = "platform-services-go-sdk" + headerNameUserAgent = "User-Agent" +) + +// GetSdkHeaders - returns the set of SDK-specific headers to be included in an outgoing request. +// +// This function is invoked by generated service methods (i.e. methods which implement the REST API operations +// defined within the API definition). The purpose of this function is to give the SDK implementor the opportunity +// to provide SDK-specific HTTP headers that will be sent with an outgoing REST API request. +// This function is invoked for each invocation of a generated service method, +// so the set of HTTP headers could be request-specific. +// As an optimization, if your SDK will be returning the same set of HTTP headers for each invocation of this +// function, it is recommended that you initialize the returned map just once (perhaps by using +// lazy initialization) and simply return it each time the function is invoked, instead of building it each time +// as in the example below. +// +// Parameters: +// +// serviceName - the name of the service as defined in the API definition (e.g. "MyService1") +// serviceVersion - the version of the service as defined in the API definition (e.g. "V1") +// operationId - the operationId as defined in the API definition (e.g. getContext) +// +// Returns: +// +// a Map which contains the set of headers to be included in the REST API request +func GetSdkHeaders(serviceName string, serviceVersion string, operationId string) map[string]string { + sdkHeaders := make(map[string]string) + sdkHeaders[headerNameUserAgent] = GetUserAgentInfo() + return sdkHeaders +} + +var userAgent string = fmt.Sprintf("%s/%s %s", sdkName, Version, GetSystemInfo()) + +func GetUserAgentInfo() string { + return userAgent +} + +var systemInfo = fmt.Sprintf("(lang=go; arch=%s; os=%s; go.version=%s)", runtime.GOARCH, runtime.GOOS, runtime.Version()) + +func GetSystemInfo() string { + return systemInfo +} + +func GetComponentInfo() *core.ProblemComponent { + // This should match the module name in go.mod. + return core.NewProblemComponent("github.com/IBM/platform-services-go-sdk", Version) +} diff --git a/vendor/github.com/IBM/platform-services-go-sdk/common/utils.go b/vendor/github.com/IBM/platform-services-go-sdk/common/utils.go new file mode 100644 index 000000000..14178eae1 --- /dev/null +++ b/vendor/github.com/IBM/platform-services-go-sdk/common/utils.go @@ -0,0 +1,30 @@ +/** + * (C) Copyright IBM Corp. 2020. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package common + +import ( + "encoding/json" +) + +// ToJSON marshals the specified object and returns the resulting JSON string +func ToJSON(obj interface{}) string { + b, err := json.MarshalIndent(obj, "", " ") + if err != nil { + panic(err) + } + return string(b) +} diff --git a/vendor/github.com/IBM/platform-services-go-sdk/common/version.go b/vendor/github.com/IBM/platform-services-go-sdk/common/version.go new file mode 100644 index 000000000..8b232fcc2 --- /dev/null +++ b/vendor/github.com/IBM/platform-services-go-sdk/common/version.go @@ -0,0 +1,20 @@ +/** + * (C) Copyright IBM Corp. 2020. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package common + +// Version of the SDK +const Version = "0.81.0" diff --git a/vendor/github.com/IBM/platform-services-go-sdk/resourcecontrollerv2/resource_controller_v2.go b/vendor/github.com/IBM/platform-services-go-sdk/resourcecontrollerv2/resource_controller_v2.go new file mode 100644 index 000000000..ad6c078f9 --- /dev/null +++ b/vendor/github.com/IBM/platform-services-go-sdk/resourcecontrollerv2/resource_controller_v2.go @@ -0,0 +1,6286 @@ +/** + * (C) Copyright IBM Corp. 2024. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * IBM OpenAPI SDK Code Generator Version: 3.94.1-71478489-20240820-161623 + */ + +// Package resourcecontrollerv2 : Operations and models for the ResourceControllerV2 service +package resourcecontrollerv2 + +import ( + "context" + "encoding/json" + "fmt" + "net/http" + "reflect" + "time" + + "github.com/IBM/go-sdk-core/v5/core" + common "github.com/IBM/platform-services-go-sdk/common" + "github.com/go-openapi/strfmt" +) + +// ResourceControllerV2 : Manage lifecycle of your Cloud resources using Resource Controller APIs. Resources are +// provisioned globally in an account scope. Supports asynchronous provisioning of resources. Enables consumption of a +// global resource through a Cloud Foundry space in any region. +// +// API Version: 2.0 +type ResourceControllerV2 struct { + Service *core.BaseService +} + +// DefaultServiceURL is the default URL to make service requests to. +const DefaultServiceURL = "https://resource-controller.cloud.ibm.com" + +// DefaultServiceName is the default key used to find external configuration information. +const DefaultServiceName = "resource_controller" + +// ResourceControllerV2Options : Service options +type ResourceControllerV2Options struct { + ServiceName string + URL string + Authenticator core.Authenticator +} + +// NewResourceControllerV2UsingExternalConfig : constructs an instance of ResourceControllerV2 with passed in options and external configuration. +func NewResourceControllerV2UsingExternalConfig(options *ResourceControllerV2Options) (resourceController *ResourceControllerV2, err error) { + if options.ServiceName == "" { + options.ServiceName = DefaultServiceName + } + + if options.Authenticator == nil { + options.Authenticator, err = core.GetAuthenticatorFromEnvironment(options.ServiceName) + if err != nil { + err = core.SDKErrorf(err, "", "env-auth-error", common.GetComponentInfo()) + return + } + } + + resourceController, err = NewResourceControllerV2(options) + err = core.RepurposeSDKProblem(err, "new-client-error") + if err != nil { + return + } + + err = resourceController.Service.ConfigureService(options.ServiceName) + if err != nil { + err = core.SDKErrorf(err, "", "client-config-error", common.GetComponentInfo()) + return + } + + if options.URL != "" { + err = resourceController.Service.SetServiceURL(options.URL) + err = core.RepurposeSDKProblem(err, "url-set-error") + } + return +} + +// NewResourceControllerV2 : constructs an instance of ResourceControllerV2 with passed in options. +func NewResourceControllerV2(options *ResourceControllerV2Options) (service *ResourceControllerV2, err error) { + serviceOptions := &core.ServiceOptions{ + URL: DefaultServiceURL, + Authenticator: options.Authenticator, + } + + baseService, err := core.NewBaseService(serviceOptions) + if err != nil { + err = core.SDKErrorf(err, "", "new-base-error", common.GetComponentInfo()) + return + } + + if options.URL != "" { + err = baseService.SetServiceURL(options.URL) + if err != nil { + err = core.SDKErrorf(err, "", "set-url-error", common.GetComponentInfo()) + return + } + } + + service = &ResourceControllerV2{ + Service: baseService, + } + + return +} + +// GetServiceURLForRegion returns the service URL to be used for the specified region +func GetServiceURLForRegion(region string) (string, error) { + return "", core.SDKErrorf(nil, "service does not support regional URLs", "no-regional-support", common.GetComponentInfo()) +} + +// Clone makes a copy of "resourceController" suitable for processing requests. +func (resourceController *ResourceControllerV2) Clone() *ResourceControllerV2 { + if core.IsNil(resourceController) { + return nil + } + clone := *resourceController + clone.Service = resourceController.Service.Clone() + return &clone +} + +// SetServiceURL sets the service URL +func (resourceController *ResourceControllerV2) SetServiceURL(url string) error { + err := resourceController.Service.SetServiceURL(url) + if err != nil { + err = core.SDKErrorf(err, "", "url-set-error", common.GetComponentInfo()) + } + return err +} + +// GetServiceURL returns the service URL +func (resourceController *ResourceControllerV2) GetServiceURL() string { + return resourceController.Service.GetServiceURL() +} + +// SetDefaultHeaders sets HTTP headers to be sent in every request +func (resourceController *ResourceControllerV2) SetDefaultHeaders(headers http.Header) { + resourceController.Service.SetDefaultHeaders(headers) +} + +// SetEnableGzipCompression sets the service's EnableGzipCompression field +func (resourceController *ResourceControllerV2) SetEnableGzipCompression(enableGzip bool) { + resourceController.Service.SetEnableGzipCompression(enableGzip) +} + +// GetEnableGzipCompression returns the service's EnableGzipCompression field +func (resourceController *ResourceControllerV2) GetEnableGzipCompression() bool { + return resourceController.Service.GetEnableGzipCompression() +} + +// EnableRetries enables automatic retries for requests invoked for this service instance. +// If either parameter is specified as 0, then a default value is used instead. +func (resourceController *ResourceControllerV2) EnableRetries(maxRetries int, maxRetryInterval time.Duration) { + resourceController.Service.EnableRetries(maxRetries, maxRetryInterval) +} + +// DisableRetries disables automatic retries for requests invoked for this service instance. +func (resourceController *ResourceControllerV2) DisableRetries() { + resourceController.Service.DisableRetries() +} + +// ListResourceInstances : Get a list of all resource instances +// View a list of all available resource instances. Resources is a broad term that could mean anything from a service +// instance to a virtual machine associated with the customer account. +func (resourceController *ResourceControllerV2) ListResourceInstances(listResourceInstancesOptions *ListResourceInstancesOptions) (result *ResourceInstancesList, response *core.DetailedResponse, err error) { + result, response, err = resourceController.ListResourceInstancesWithContext(context.Background(), listResourceInstancesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListResourceInstancesWithContext is an alternate form of the ListResourceInstances method which supports a Context parameter +func (resourceController *ResourceControllerV2) ListResourceInstancesWithContext(ctx context.Context, listResourceInstancesOptions *ListResourceInstancesOptions) (result *ResourceInstancesList, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listResourceInstancesOptions, "listResourceInstancesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range listResourceInstancesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "ListResourceInstances") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + if listResourceInstancesOptions.GUID != nil { + builder.AddQuery("guid", fmt.Sprint(*listResourceInstancesOptions.GUID)) + } + if listResourceInstancesOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listResourceInstancesOptions.Name)) + } + if listResourceInstancesOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group_id", fmt.Sprint(*listResourceInstancesOptions.ResourceGroupID)) + } + if listResourceInstancesOptions.ResourceID != nil { + builder.AddQuery("resource_id", fmt.Sprint(*listResourceInstancesOptions.ResourceID)) + } + if listResourceInstancesOptions.ResourcePlanID != nil { + builder.AddQuery("resource_plan_id", fmt.Sprint(*listResourceInstancesOptions.ResourcePlanID)) + } + if listResourceInstancesOptions.Type != nil { + builder.AddQuery("type", fmt.Sprint(*listResourceInstancesOptions.Type)) + } + if listResourceInstancesOptions.SubType != nil { + builder.AddQuery("sub_type", fmt.Sprint(*listResourceInstancesOptions.SubType)) + } + if listResourceInstancesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listResourceInstancesOptions.Limit)) + } + if listResourceInstancesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listResourceInstancesOptions.Start)) + } + if listResourceInstancesOptions.State != nil { + builder.AddQuery("state", fmt.Sprint(*listResourceInstancesOptions.State)) + } + if listResourceInstancesOptions.UpdatedFrom != nil { + builder.AddQuery("updated_from", fmt.Sprint(*listResourceInstancesOptions.UpdatedFrom)) + } + if listResourceInstancesOptions.UpdatedTo != nil { + builder.AddQuery("updated_to", fmt.Sprint(*listResourceInstancesOptions.UpdatedTo)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_resource_instances", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceInstancesList) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateResourceInstance : Create (provision) a new resource instance +// When you provision a service you get an instance of that service. An instance represents the resource with which you +// create, and additionally, represents a chargeable record of which billing can occur. +func (resourceController *ResourceControllerV2) CreateResourceInstance(createResourceInstanceOptions *CreateResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + result, response, err = resourceController.CreateResourceInstanceWithContext(context.Background(), createResourceInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateResourceInstanceWithContext is an alternate form of the CreateResourceInstance method which supports a Context parameter +func (resourceController *ResourceControllerV2) CreateResourceInstanceWithContext(ctx context.Context, createResourceInstanceOptions *CreateResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createResourceInstanceOptions, "createResourceInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createResourceInstanceOptions, "createResourceInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range createResourceInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "CreateResourceInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + if createResourceInstanceOptions.EntityLock != nil { + builder.AddHeader("Entity-Lock", fmt.Sprint(*createResourceInstanceOptions.EntityLock)) + } + + body := make(map[string]interface{}) + if createResourceInstanceOptions.Name != nil { + body["name"] = createResourceInstanceOptions.Name + } + if createResourceInstanceOptions.Target != nil { + body["target"] = createResourceInstanceOptions.Target + } + if createResourceInstanceOptions.ResourceGroup != nil { + body["resource_group"] = createResourceInstanceOptions.ResourceGroup + } + if createResourceInstanceOptions.ResourcePlanID != nil { + body["resource_plan_id"] = createResourceInstanceOptions.ResourcePlanID + } + if createResourceInstanceOptions.Tags != nil { + body["tags"] = createResourceInstanceOptions.Tags + } + if createResourceInstanceOptions.AllowCleanup != nil { + body["allow_cleanup"] = createResourceInstanceOptions.AllowCleanup + } + if createResourceInstanceOptions.Parameters != nil { + body["parameters"] = createResourceInstanceOptions.Parameters + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_resource_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetResourceInstance : Get a resource instance +// Retrieve a resource instance by URL-encoded CRN or GUID. Find more details on a particular instance, like when it was +// provisioned and who provisioned it. +func (resourceController *ResourceControllerV2) GetResourceInstance(getResourceInstanceOptions *GetResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + result, response, err = resourceController.GetResourceInstanceWithContext(context.Background(), getResourceInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetResourceInstanceWithContext is an alternate form of the GetResourceInstance method which supports a Context parameter +func (resourceController *ResourceControllerV2) GetResourceInstanceWithContext(ctx context.Context, getResourceInstanceOptions *GetResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getResourceInstanceOptions, "getResourceInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getResourceInstanceOptions, "getResourceInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getResourceInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range getResourceInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "GetResourceInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_resource_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteResourceInstance : Delete a resource instance +// Delete a resource instance by URL-encoded CRN or GUID. If the resource instance has any resource keys or aliases +// associated with it, use the `recursive=true` parameter to delete it. +func (resourceController *ResourceControllerV2) DeleteResourceInstance(deleteResourceInstanceOptions *DeleteResourceInstanceOptions) (response *core.DetailedResponse, err error) { + response, err = resourceController.DeleteResourceInstanceWithContext(context.Background(), deleteResourceInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteResourceInstanceWithContext is an alternate form of the DeleteResourceInstance method which supports a Context parameter +func (resourceController *ResourceControllerV2) DeleteResourceInstanceWithContext(ctx context.Context, deleteResourceInstanceOptions *DeleteResourceInstanceOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteResourceInstanceOptions, "deleteResourceInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteResourceInstanceOptions, "deleteResourceInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteResourceInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range deleteResourceInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "DeleteResourceInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + if deleteResourceInstanceOptions.Recursive != nil { + builder.AddQuery("recursive", fmt.Sprint(*deleteResourceInstanceOptions.Recursive)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = resourceController.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_resource_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// UpdateResourceInstance : Update a resource instance +// Use the resource instance URL-encoded CRN or GUID to make updates to the resource instance, like changing the name or +// plan. +func (resourceController *ResourceControllerV2) UpdateResourceInstance(updateResourceInstanceOptions *UpdateResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + result, response, err = resourceController.UpdateResourceInstanceWithContext(context.Background(), updateResourceInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateResourceInstanceWithContext is an alternate form of the UpdateResourceInstance method which supports a Context parameter +func (resourceController *ResourceControllerV2) UpdateResourceInstanceWithContext(ctx context.Context, updateResourceInstanceOptions *UpdateResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateResourceInstanceOptions, "updateResourceInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateResourceInstanceOptions, "updateResourceInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateResourceInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range updateResourceInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "UpdateResourceInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateResourceInstanceOptions.Name != nil { + body["name"] = updateResourceInstanceOptions.Name + } + if updateResourceInstanceOptions.Parameters != nil { + body["parameters"] = updateResourceInstanceOptions.Parameters + } + if updateResourceInstanceOptions.ResourcePlanID != nil { + body["resource_plan_id"] = updateResourceInstanceOptions.ResourcePlanID + } + if updateResourceInstanceOptions.AllowCleanup != nil { + body["allow_cleanup"] = updateResourceInstanceOptions.AllowCleanup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_resource_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListResourceAliasesForInstance : Get a list of all resource aliases for the instance +// Retrieving a list of all resource aliases can help you find out who's using the resource instance. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) ListResourceAliasesForInstance(listResourceAliasesForInstanceOptions *ListResourceAliasesForInstanceOptions) (result *ResourceAliasesList, response *core.DetailedResponse, err error) { + result, response, err = resourceController.ListResourceAliasesForInstanceWithContext(context.Background(), listResourceAliasesForInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListResourceAliasesForInstanceWithContext is an alternate form of the ListResourceAliasesForInstance method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) ListResourceAliasesForInstanceWithContext(ctx context.Context, listResourceAliasesForInstanceOptions *ListResourceAliasesForInstanceOptions) (result *ResourceAliasesList, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: ListResourceAliasesForInstance") + err = core.ValidateNotNil(listResourceAliasesForInstanceOptions, "listResourceAliasesForInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listResourceAliasesForInstanceOptions, "listResourceAliasesForInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listResourceAliasesForInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances/{id}/resource_aliases`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range listResourceAliasesForInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "ListResourceAliasesForInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + if listResourceAliasesForInstanceOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listResourceAliasesForInstanceOptions.Limit)) + } + if listResourceAliasesForInstanceOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listResourceAliasesForInstanceOptions.Start)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_resource_aliases_for_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceAliasesList) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListResourceKeysForInstance : Get a list of all the resource keys for the instance +// You may have many resource keys for one resource instance. For example, you may have a different resource key for +// each user or each role. +func (resourceController *ResourceControllerV2) ListResourceKeysForInstance(listResourceKeysForInstanceOptions *ListResourceKeysForInstanceOptions) (result *ResourceKeysList, response *core.DetailedResponse, err error) { + result, response, err = resourceController.ListResourceKeysForInstanceWithContext(context.Background(), listResourceKeysForInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListResourceKeysForInstanceWithContext is an alternate form of the ListResourceKeysForInstance method which supports a Context parameter +func (resourceController *ResourceControllerV2) ListResourceKeysForInstanceWithContext(ctx context.Context, listResourceKeysForInstanceOptions *ListResourceKeysForInstanceOptions) (result *ResourceKeysList, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listResourceKeysForInstanceOptions, "listResourceKeysForInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listResourceKeysForInstanceOptions, "listResourceKeysForInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listResourceKeysForInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances/{id}/resource_keys`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range listResourceKeysForInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "ListResourceKeysForInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + if listResourceKeysForInstanceOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listResourceKeysForInstanceOptions.Limit)) + } + if listResourceKeysForInstanceOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listResourceKeysForInstanceOptions.Start)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_resource_keys_for_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceKeysList) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// LockResourceInstance : Lock a resource instance +// Locks a resource instance. A locked instance can not be updated or deleted. It does not affect actions performed on +// child resources like aliases, bindings, or keys. +func (resourceController *ResourceControllerV2) LockResourceInstance(lockResourceInstanceOptions *LockResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + result, response, err = resourceController.LockResourceInstanceWithContext(context.Background(), lockResourceInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// LockResourceInstanceWithContext is an alternate form of the LockResourceInstance method which supports a Context parameter +func (resourceController *ResourceControllerV2) LockResourceInstanceWithContext(ctx context.Context, lockResourceInstanceOptions *LockResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(lockResourceInstanceOptions, "lockResourceInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(lockResourceInstanceOptions, "lockResourceInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *lockResourceInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances/{id}/lock`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range lockResourceInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "LockResourceInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "lock_resource_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UnlockResourceInstance : Unlock a resource instance +// Unlock a resource instance to update or delete it. Unlocking a resource instance does not affect child resources like +// aliases, bindings or keys. +func (resourceController *ResourceControllerV2) UnlockResourceInstance(unlockResourceInstanceOptions *UnlockResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + result, response, err = resourceController.UnlockResourceInstanceWithContext(context.Background(), unlockResourceInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UnlockResourceInstanceWithContext is an alternate form of the UnlockResourceInstance method which supports a Context parameter +func (resourceController *ResourceControllerV2) UnlockResourceInstanceWithContext(ctx context.Context, unlockResourceInstanceOptions *UnlockResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(unlockResourceInstanceOptions, "unlockResourceInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(unlockResourceInstanceOptions, "unlockResourceInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *unlockResourceInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances/{id}/lock`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range unlockResourceInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "UnlockResourceInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "unlock_resource_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CancelLastopResourceInstance : Cancel the in progress last operation of the resource instance +// Cancel the in progress last operation of the resource instance. After successful cancellation, the resource instance +// is removed. +func (resourceController *ResourceControllerV2) CancelLastopResourceInstance(cancelLastopResourceInstanceOptions *CancelLastopResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + result, response, err = resourceController.CancelLastopResourceInstanceWithContext(context.Background(), cancelLastopResourceInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CancelLastopResourceInstanceWithContext is an alternate form of the CancelLastopResourceInstance method which supports a Context parameter +func (resourceController *ResourceControllerV2) CancelLastopResourceInstanceWithContext(ctx context.Context, cancelLastopResourceInstanceOptions *CancelLastopResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(cancelLastopResourceInstanceOptions, "cancelLastopResourceInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(cancelLastopResourceInstanceOptions, "cancelLastopResourceInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *cancelLastopResourceInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_instances/{id}/last_operation`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range cancelLastopResourceInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "CancelLastopResourceInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "cancel_lastop_resource_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListResourceKeys : Get a list of all of the resource keys +// View all of the resource keys that exist for all of your resource instances. +func (resourceController *ResourceControllerV2) ListResourceKeys(listResourceKeysOptions *ListResourceKeysOptions) (result *ResourceKeysList, response *core.DetailedResponse, err error) { + result, response, err = resourceController.ListResourceKeysWithContext(context.Background(), listResourceKeysOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListResourceKeysWithContext is an alternate form of the ListResourceKeys method which supports a Context parameter +func (resourceController *ResourceControllerV2) ListResourceKeysWithContext(ctx context.Context, listResourceKeysOptions *ListResourceKeysOptions) (result *ResourceKeysList, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listResourceKeysOptions, "listResourceKeysOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_keys`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range listResourceKeysOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "ListResourceKeys") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + if listResourceKeysOptions.GUID != nil { + builder.AddQuery("guid", fmt.Sprint(*listResourceKeysOptions.GUID)) + } + if listResourceKeysOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listResourceKeysOptions.Name)) + } + if listResourceKeysOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group_id", fmt.Sprint(*listResourceKeysOptions.ResourceGroupID)) + } + if listResourceKeysOptions.ResourceID != nil { + builder.AddQuery("resource_id", fmt.Sprint(*listResourceKeysOptions.ResourceID)) + } + if listResourceKeysOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listResourceKeysOptions.Limit)) + } + if listResourceKeysOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listResourceKeysOptions.Start)) + } + if listResourceKeysOptions.UpdatedFrom != nil { + builder.AddQuery("updated_from", fmt.Sprint(*listResourceKeysOptions.UpdatedFrom)) + } + if listResourceKeysOptions.UpdatedTo != nil { + builder.AddQuery("updated_to", fmt.Sprint(*listResourceKeysOptions.UpdatedTo)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_resource_keys", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceKeysList) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateResourceKey : Create a new resource key +// A resource key is a saved credential you can use to authenticate with a resource instance. +func (resourceController *ResourceControllerV2) CreateResourceKey(createResourceKeyOptions *CreateResourceKeyOptions) (result *ResourceKey, response *core.DetailedResponse, err error) { + result, response, err = resourceController.CreateResourceKeyWithContext(context.Background(), createResourceKeyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateResourceKeyWithContext is an alternate form of the CreateResourceKey method which supports a Context parameter +func (resourceController *ResourceControllerV2) CreateResourceKeyWithContext(ctx context.Context, createResourceKeyOptions *CreateResourceKeyOptions) (result *ResourceKey, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createResourceKeyOptions, "createResourceKeyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createResourceKeyOptions, "createResourceKeyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_keys`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range createResourceKeyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "CreateResourceKey") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if createResourceKeyOptions.Name != nil { + body["name"] = createResourceKeyOptions.Name + } + if createResourceKeyOptions.Source != nil { + body["source"] = createResourceKeyOptions.Source + } + if createResourceKeyOptions.Parameters != nil { + body["parameters"] = createResourceKeyOptions.Parameters + } + if createResourceKeyOptions.Role != nil { + body["role"] = createResourceKeyOptions.Role + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_resource_key", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceKey) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetResourceKey : Get resource key +// View the details of a resource key by URL-encoded CRN or GUID, like the credentials for the key and who created it. +func (resourceController *ResourceControllerV2) GetResourceKey(getResourceKeyOptions *GetResourceKeyOptions) (result *ResourceKey, response *core.DetailedResponse, err error) { + result, response, err = resourceController.GetResourceKeyWithContext(context.Background(), getResourceKeyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetResourceKeyWithContext is an alternate form of the GetResourceKey method which supports a Context parameter +func (resourceController *ResourceControllerV2) GetResourceKeyWithContext(ctx context.Context, getResourceKeyOptions *GetResourceKeyOptions) (result *ResourceKey, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getResourceKeyOptions, "getResourceKeyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getResourceKeyOptions, "getResourceKeyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getResourceKeyOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_keys/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range getResourceKeyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "GetResourceKey") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_resource_key", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceKey) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteResourceKey : Delete a resource key +// Deleting a resource key does not affect any resource instance or resource alias associated with the key. +func (resourceController *ResourceControllerV2) DeleteResourceKey(deleteResourceKeyOptions *DeleteResourceKeyOptions) (response *core.DetailedResponse, err error) { + response, err = resourceController.DeleteResourceKeyWithContext(context.Background(), deleteResourceKeyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteResourceKeyWithContext is an alternate form of the DeleteResourceKey method which supports a Context parameter +func (resourceController *ResourceControllerV2) DeleteResourceKeyWithContext(ctx context.Context, deleteResourceKeyOptions *DeleteResourceKeyOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteResourceKeyOptions, "deleteResourceKeyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteResourceKeyOptions, "deleteResourceKeyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteResourceKeyOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_keys/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range deleteResourceKeyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "DeleteResourceKey") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = resourceController.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_resource_key", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// UpdateResourceKey : Update a resource key +// Use the resource key URL-encoded CRN or GUID to update the resource key. +func (resourceController *ResourceControllerV2) UpdateResourceKey(updateResourceKeyOptions *UpdateResourceKeyOptions) (result *ResourceKey, response *core.DetailedResponse, err error) { + result, response, err = resourceController.UpdateResourceKeyWithContext(context.Background(), updateResourceKeyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateResourceKeyWithContext is an alternate form of the UpdateResourceKey method which supports a Context parameter +func (resourceController *ResourceControllerV2) UpdateResourceKeyWithContext(ctx context.Context, updateResourceKeyOptions *UpdateResourceKeyOptions) (result *ResourceKey, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateResourceKeyOptions, "updateResourceKeyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateResourceKeyOptions, "updateResourceKeyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateResourceKeyOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_keys/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range updateResourceKeyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "UpdateResourceKey") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateResourceKeyOptions.Name != nil { + body["name"] = updateResourceKeyOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_resource_key", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceKey) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListResourceBindings : Get a list of all resource bindings +// View all of the resource bindings that exist for all of your resource aliases. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) ListResourceBindings(listResourceBindingsOptions *ListResourceBindingsOptions) (result *ResourceBindingsList, response *core.DetailedResponse, err error) { + result, response, err = resourceController.ListResourceBindingsWithContext(context.Background(), listResourceBindingsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListResourceBindingsWithContext is an alternate form of the ListResourceBindings method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) ListResourceBindingsWithContext(ctx context.Context, listResourceBindingsOptions *ListResourceBindingsOptions) (result *ResourceBindingsList, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: ListResourceBindings") + err = core.ValidateStruct(listResourceBindingsOptions, "listResourceBindingsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_bindings`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range listResourceBindingsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "ListResourceBindings") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + if listResourceBindingsOptions.GUID != nil { + builder.AddQuery("guid", fmt.Sprint(*listResourceBindingsOptions.GUID)) + } + if listResourceBindingsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listResourceBindingsOptions.Name)) + } + if listResourceBindingsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group_id", fmt.Sprint(*listResourceBindingsOptions.ResourceGroupID)) + } + if listResourceBindingsOptions.ResourceID != nil { + builder.AddQuery("resource_id", fmt.Sprint(*listResourceBindingsOptions.ResourceID)) + } + if listResourceBindingsOptions.RegionBindingID != nil { + builder.AddQuery("region_binding_id", fmt.Sprint(*listResourceBindingsOptions.RegionBindingID)) + } + if listResourceBindingsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listResourceBindingsOptions.Limit)) + } + if listResourceBindingsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listResourceBindingsOptions.Start)) + } + if listResourceBindingsOptions.UpdatedFrom != nil { + builder.AddQuery("updated_from", fmt.Sprint(*listResourceBindingsOptions.UpdatedFrom)) + } + if listResourceBindingsOptions.UpdatedTo != nil { + builder.AddQuery("updated_to", fmt.Sprint(*listResourceBindingsOptions.UpdatedTo)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_resource_bindings", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceBindingsList) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateResourceBinding : Create a new resource binding +// A resource binding connects credentials to a resource alias. The credentials are in the form of a resource key. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) CreateResourceBinding(createResourceBindingOptions *CreateResourceBindingOptions) (result *ResourceBinding, response *core.DetailedResponse, err error) { + result, response, err = resourceController.CreateResourceBindingWithContext(context.Background(), createResourceBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateResourceBindingWithContext is an alternate form of the CreateResourceBinding method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) CreateResourceBindingWithContext(ctx context.Context, createResourceBindingOptions *CreateResourceBindingOptions) (result *ResourceBinding, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: CreateResourceBinding") + err = core.ValidateNotNil(createResourceBindingOptions, "createResourceBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createResourceBindingOptions, "createResourceBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_bindings`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range createResourceBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "CreateResourceBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if createResourceBindingOptions.Source != nil { + body["source"] = createResourceBindingOptions.Source + } + if createResourceBindingOptions.Target != nil { + body["target"] = createResourceBindingOptions.Target + } + if createResourceBindingOptions.Name != nil { + body["name"] = createResourceBindingOptions.Name + } + if createResourceBindingOptions.Parameters != nil { + body["parameters"] = createResourceBindingOptions.Parameters + } + if createResourceBindingOptions.Role != nil { + body["role"] = createResourceBindingOptions.Role + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_resource_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetResourceBinding : Get a resource binding +// View a resource binding and all of its details, like who created it, the credential, and the resource alias that the +// binding is associated with. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) GetResourceBinding(getResourceBindingOptions *GetResourceBindingOptions) (result *ResourceBinding, response *core.DetailedResponse, err error) { + result, response, err = resourceController.GetResourceBindingWithContext(context.Background(), getResourceBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetResourceBindingWithContext is an alternate form of the GetResourceBinding method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) GetResourceBindingWithContext(ctx context.Context, getResourceBindingOptions *GetResourceBindingOptions) (result *ResourceBinding, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: GetResourceBinding") + err = core.ValidateNotNil(getResourceBindingOptions, "getResourceBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getResourceBindingOptions, "getResourceBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getResourceBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range getResourceBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "GetResourceBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_resource_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteResourceBinding : Delete a resource binding +// Deleting a resource binding does not affect the resource alias that the binding is associated with. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) DeleteResourceBinding(deleteResourceBindingOptions *DeleteResourceBindingOptions) (response *core.DetailedResponse, err error) { + response, err = resourceController.DeleteResourceBindingWithContext(context.Background(), deleteResourceBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteResourceBindingWithContext is an alternate form of the DeleteResourceBinding method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) DeleteResourceBindingWithContext(ctx context.Context, deleteResourceBindingOptions *DeleteResourceBindingOptions) (response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: DeleteResourceBinding") + err = core.ValidateNotNil(deleteResourceBindingOptions, "deleteResourceBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteResourceBindingOptions, "deleteResourceBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteResourceBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range deleteResourceBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "DeleteResourceBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = resourceController.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_resource_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// UpdateResourceBinding : Update a resource binding +// Use the resource binding URL-encoded CRN or GUID to update the resource binding. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) UpdateResourceBinding(updateResourceBindingOptions *UpdateResourceBindingOptions) (result *ResourceBinding, response *core.DetailedResponse, err error) { + result, response, err = resourceController.UpdateResourceBindingWithContext(context.Background(), updateResourceBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateResourceBindingWithContext is an alternate form of the UpdateResourceBinding method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) UpdateResourceBindingWithContext(ctx context.Context, updateResourceBindingOptions *UpdateResourceBindingOptions) (result *ResourceBinding, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: UpdateResourceBinding") + err = core.ValidateNotNil(updateResourceBindingOptions, "updateResourceBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateResourceBindingOptions, "updateResourceBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateResourceBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range updateResourceBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "UpdateResourceBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateResourceBindingOptions.Name != nil { + body["name"] = updateResourceBindingOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_resource_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListResourceAliases : Get a list of all resource aliases +// View all of the resource aliases that exist for every resource instance. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) ListResourceAliases(listResourceAliasesOptions *ListResourceAliasesOptions) (result *ResourceAliasesList, response *core.DetailedResponse, err error) { + result, response, err = resourceController.ListResourceAliasesWithContext(context.Background(), listResourceAliasesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListResourceAliasesWithContext is an alternate form of the ListResourceAliases method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) ListResourceAliasesWithContext(ctx context.Context, listResourceAliasesOptions *ListResourceAliasesOptions) (result *ResourceAliasesList, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: ListResourceAliases") + err = core.ValidateStruct(listResourceAliasesOptions, "listResourceAliasesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_aliases`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range listResourceAliasesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "ListResourceAliases") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + if listResourceAliasesOptions.GUID != nil { + builder.AddQuery("guid", fmt.Sprint(*listResourceAliasesOptions.GUID)) + } + if listResourceAliasesOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listResourceAliasesOptions.Name)) + } + if listResourceAliasesOptions.ResourceInstanceID != nil { + builder.AddQuery("resource_instance_id", fmt.Sprint(*listResourceAliasesOptions.ResourceInstanceID)) + } + if listResourceAliasesOptions.RegionInstanceID != nil { + builder.AddQuery("region_instance_id", fmt.Sprint(*listResourceAliasesOptions.RegionInstanceID)) + } + if listResourceAliasesOptions.ResourceID != nil { + builder.AddQuery("resource_id", fmt.Sprint(*listResourceAliasesOptions.ResourceID)) + } + if listResourceAliasesOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group_id", fmt.Sprint(*listResourceAliasesOptions.ResourceGroupID)) + } + if listResourceAliasesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listResourceAliasesOptions.Limit)) + } + if listResourceAliasesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listResourceAliasesOptions.Start)) + } + if listResourceAliasesOptions.UpdatedFrom != nil { + builder.AddQuery("updated_from", fmt.Sprint(*listResourceAliasesOptions.UpdatedFrom)) + } + if listResourceAliasesOptions.UpdatedTo != nil { + builder.AddQuery("updated_to", fmt.Sprint(*listResourceAliasesOptions.UpdatedTo)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_resource_aliases", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceAliasesList) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateResourceAlias : Create a new resource alias +// Alias a resource instance into a targeted environment's (name)space. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) CreateResourceAlias(createResourceAliasOptions *CreateResourceAliasOptions) (result *ResourceAlias, response *core.DetailedResponse, err error) { + result, response, err = resourceController.CreateResourceAliasWithContext(context.Background(), createResourceAliasOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateResourceAliasWithContext is an alternate form of the CreateResourceAlias method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) CreateResourceAliasWithContext(ctx context.Context, createResourceAliasOptions *CreateResourceAliasOptions) (result *ResourceAlias, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: CreateResourceAlias") + err = core.ValidateNotNil(createResourceAliasOptions, "createResourceAliasOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createResourceAliasOptions, "createResourceAliasOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_aliases`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range createResourceAliasOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "CreateResourceAlias") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if createResourceAliasOptions.Name != nil { + body["name"] = createResourceAliasOptions.Name + } + if createResourceAliasOptions.Source != nil { + body["source"] = createResourceAliasOptions.Source + } + if createResourceAliasOptions.Target != nil { + body["target"] = createResourceAliasOptions.Target + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_resource_alias", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceAlias) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetResourceAlias : Get a resource alias +// View a resource alias and all of its details, like who created it and the resource instance that it's associated +// with. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) GetResourceAlias(getResourceAliasOptions *GetResourceAliasOptions) (result *ResourceAlias, response *core.DetailedResponse, err error) { + result, response, err = resourceController.GetResourceAliasWithContext(context.Background(), getResourceAliasOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetResourceAliasWithContext is an alternate form of the GetResourceAlias method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) GetResourceAliasWithContext(ctx context.Context, getResourceAliasOptions *GetResourceAliasOptions) (result *ResourceAlias, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: GetResourceAlias") + err = core.ValidateNotNil(getResourceAliasOptions, "getResourceAliasOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getResourceAliasOptions, "getResourceAliasOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getResourceAliasOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_aliases/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range getResourceAliasOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "GetResourceAlias") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_resource_alias", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceAlias) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteResourceAlias : Delete a resource alias +// Delete a resource alias by URL-encoded CRN or GUID. If the resource alias has any resource keys or bindings +// associated with it, use the `recursive=true` parameter to delete it. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) DeleteResourceAlias(deleteResourceAliasOptions *DeleteResourceAliasOptions) (response *core.DetailedResponse, err error) { + response, err = resourceController.DeleteResourceAliasWithContext(context.Background(), deleteResourceAliasOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteResourceAliasWithContext is an alternate form of the DeleteResourceAlias method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) DeleteResourceAliasWithContext(ctx context.Context, deleteResourceAliasOptions *DeleteResourceAliasOptions) (response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: DeleteResourceAlias") + err = core.ValidateNotNil(deleteResourceAliasOptions, "deleteResourceAliasOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteResourceAliasOptions, "deleteResourceAliasOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteResourceAliasOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_aliases/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range deleteResourceAliasOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "DeleteResourceAlias") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + if deleteResourceAliasOptions.Recursive != nil { + builder.AddQuery("recursive", fmt.Sprint(*deleteResourceAliasOptions.Recursive)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = resourceController.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_resource_alias", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// UpdateResourceAlias : Update a resource alias +// Use the resource alias URL-encoded CRN or GUID to update the resource alias. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) UpdateResourceAlias(updateResourceAliasOptions *UpdateResourceAliasOptions) (result *ResourceAlias, response *core.DetailedResponse, err error) { + result, response, err = resourceController.UpdateResourceAliasWithContext(context.Background(), updateResourceAliasOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateResourceAliasWithContext is an alternate form of the UpdateResourceAlias method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) UpdateResourceAliasWithContext(ctx context.Context, updateResourceAliasOptions *UpdateResourceAliasOptions) (result *ResourceAlias, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: UpdateResourceAlias") + err = core.ValidateNotNil(updateResourceAliasOptions, "updateResourceAliasOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateResourceAliasOptions, "updateResourceAliasOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateResourceAliasOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_aliases/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range updateResourceAliasOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "UpdateResourceAlias") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateResourceAliasOptions.Name != nil { + body["name"] = updateResourceAliasOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_resource_alias", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceAlias) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListResourceBindingsForAlias : Get a list of all resource bindings for the alias +// View all of the resource bindings associated with a specific resource alias. +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) ListResourceBindingsForAlias(listResourceBindingsForAliasOptions *ListResourceBindingsForAliasOptions) (result *ResourceBindingsList, response *core.DetailedResponse, err error) { + result, response, err = resourceController.ListResourceBindingsForAliasWithContext(context.Background(), listResourceBindingsForAliasOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListResourceBindingsForAliasWithContext is an alternate form of the ListResourceBindingsForAlias method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (resourceController *ResourceControllerV2) ListResourceBindingsForAliasWithContext(ctx context.Context, listResourceBindingsForAliasOptions *ListResourceBindingsForAliasOptions) (result *ResourceBindingsList, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: ListResourceBindingsForAlias") + err = core.ValidateNotNil(listResourceBindingsForAliasOptions, "listResourceBindingsForAliasOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listResourceBindingsForAliasOptions, "listResourceBindingsForAliasOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listResourceBindingsForAliasOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v2/resource_aliases/{id}/resource_bindings`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range listResourceBindingsForAliasOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "ListResourceBindingsForAlias") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + if listResourceBindingsForAliasOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listResourceBindingsForAliasOptions.Limit)) + } + if listResourceBindingsForAliasOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listResourceBindingsForAliasOptions.Start)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_resource_bindings_for_alias", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResourceBindingsList) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListReclamations : Get a list of all reclamations +// View all of the resource reclamations that exist for every resource instance. +func (resourceController *ResourceControllerV2) ListReclamations(listReclamationsOptions *ListReclamationsOptions) (result *ReclamationsList, response *core.DetailedResponse, err error) { + result, response, err = resourceController.ListReclamationsWithContext(context.Background(), listReclamationsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListReclamationsWithContext is an alternate form of the ListReclamations method which supports a Context parameter +func (resourceController *ResourceControllerV2) ListReclamationsWithContext(ctx context.Context, listReclamationsOptions *ListReclamationsOptions) (result *ReclamationsList, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listReclamationsOptions, "listReclamationsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v1/reclamations`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range listReclamationsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "ListReclamations") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + if listReclamationsOptions.AccountID != nil { + builder.AddQuery("account_id", fmt.Sprint(*listReclamationsOptions.AccountID)) + } + if listReclamationsOptions.ResourceInstanceID != nil { + builder.AddQuery("resource_instance_id", fmt.Sprint(*listReclamationsOptions.ResourceInstanceID)) + } + if listReclamationsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group_id", fmt.Sprint(*listReclamationsOptions.ResourceGroupID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_reclamations", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReclamationsList) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RunReclamationAction : Perform a reclamation action +// Reclaim a resource instance so that it can no longer be used, or restore the resource instance so that it's usable +// again. +func (resourceController *ResourceControllerV2) RunReclamationAction(runReclamationActionOptions *RunReclamationActionOptions) (result *Reclamation, response *core.DetailedResponse, err error) { + result, response, err = resourceController.RunReclamationActionWithContext(context.Background(), runReclamationActionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RunReclamationActionWithContext is an alternate form of the RunReclamationAction method which supports a Context parameter +func (resourceController *ResourceControllerV2) RunReclamationActionWithContext(ctx context.Context, runReclamationActionOptions *RunReclamationActionOptions) (result *Reclamation, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(runReclamationActionOptions, "runReclamationActionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(runReclamationActionOptions, "runReclamationActionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *runReclamationActionOptions.ID, + "action_name": *runReclamationActionOptions.ActionName, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = resourceController.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(resourceController.Service.Options.URL, `/v1/reclamations/{id}/actions/{action_name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + for headerName, headerValue := range runReclamationActionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("resource_controller", "V2", "RunReclamationAction") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if runReclamationActionOptions.RequestBy != nil { + body["request_by"] = runReclamationActionOptions.RequestBy + } + if runReclamationActionOptions.Comment != nil { + body["comment"] = runReclamationActionOptions.Comment + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = resourceController.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "run_reclamation_action", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReclamation) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} +func getServiceComponentInfo() *core.ProblemComponent { + return core.NewProblemComponent(DefaultServiceName, "2.0") +} + +// CancelLastopResourceInstanceOptions : The CancelLastopResourceInstance options. +type CancelLastopResourceInstanceOptions struct { + // The resource instance URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCancelLastopResourceInstanceOptions : Instantiate CancelLastopResourceInstanceOptions +func (*ResourceControllerV2) NewCancelLastopResourceInstanceOptions(id string) *CancelLastopResourceInstanceOptions { + return &CancelLastopResourceInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *CancelLastopResourceInstanceOptions) SetID(id string) *CancelLastopResourceInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CancelLastopResourceInstanceOptions) SetHeaders(param map[string]string) *CancelLastopResourceInstanceOptions { + options.Headers = param + return options +} + +// CreateResourceAliasOptions : The CreateResourceAlias options. +type CreateResourceAliasOptions struct { + // The name of the alias. Must be 180 characters or less and cannot include any special characters other than `(space) + // - . _ :`. + Name *string `json:"name" validate:"required"` + + // The ID of resource instance. + Source *string `json:"source" validate:"required"` + + // The CRN of target name(space) in a specific environment, for example, space in Dallas YP, CFEE instance etc. + Target *string `json:"target" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateResourceAliasOptions : Instantiate CreateResourceAliasOptions +func (*ResourceControllerV2) NewCreateResourceAliasOptions(name string, source string, target string) *CreateResourceAliasOptions { + return &CreateResourceAliasOptions{ + Name: core.StringPtr(name), + Source: core.StringPtr(source), + Target: core.StringPtr(target), + } +} + +// SetName : Allow user to set Name +func (_options *CreateResourceAliasOptions) SetName(name string) *CreateResourceAliasOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSource : Allow user to set Source +func (_options *CreateResourceAliasOptions) SetSource(source string) *CreateResourceAliasOptions { + _options.Source = core.StringPtr(source) + return _options +} + +// SetTarget : Allow user to set Target +func (_options *CreateResourceAliasOptions) SetTarget(target string) *CreateResourceAliasOptions { + _options.Target = core.StringPtr(target) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateResourceAliasOptions) SetHeaders(param map[string]string) *CreateResourceAliasOptions { + options.Headers = param + return options +} + +// CreateResourceBindingOptions : The CreateResourceBinding options. +type CreateResourceBindingOptions struct { + // The ID of resource alias. + Source *string `json:"source" validate:"required"` + + // The CRN of application to bind to in a specific environment, for example, Dallas YP, CFEE instance. + Target *string `json:"target" validate:"required"` + + // The name of the binding. Must be 180 characters or less and cannot include any special characters other than + // `(space) - . _ :`. + Name *string `json:"name,omitempty"` + + // Configuration options represented as key-value pairs. Service defined options are passed through to the target + // resource brokers, whereas platform defined options are not. + Parameters *ResourceBindingPostParameters `json:"parameters,omitempty"` + + // The base IAM service role name (Reader, Writer, or Manager), or the service or custom role CRN. Refer to service’s + // documentation for supported roles. + Role *string `json:"role,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateResourceBindingOptions : Instantiate CreateResourceBindingOptions +func (*ResourceControllerV2) NewCreateResourceBindingOptions(source string, target string) *CreateResourceBindingOptions { + return &CreateResourceBindingOptions{ + Source: core.StringPtr(source), + Target: core.StringPtr(target), + } +} + +// SetSource : Allow user to set Source +func (_options *CreateResourceBindingOptions) SetSource(source string) *CreateResourceBindingOptions { + _options.Source = core.StringPtr(source) + return _options +} + +// SetTarget : Allow user to set Target +func (_options *CreateResourceBindingOptions) SetTarget(target string) *CreateResourceBindingOptions { + _options.Target = core.StringPtr(target) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateResourceBindingOptions) SetName(name string) *CreateResourceBindingOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetParameters : Allow user to set Parameters +func (_options *CreateResourceBindingOptions) SetParameters(parameters *ResourceBindingPostParameters) *CreateResourceBindingOptions { + _options.Parameters = parameters + return _options +} + +// SetRole : Allow user to set Role +func (_options *CreateResourceBindingOptions) SetRole(role string) *CreateResourceBindingOptions { + _options.Role = core.StringPtr(role) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateResourceBindingOptions) SetHeaders(param map[string]string) *CreateResourceBindingOptions { + options.Headers = param + return options +} + +// CreateResourceInstanceOptions : The CreateResourceInstance options. +type CreateResourceInstanceOptions struct { + // The name of the instance. Must be 180 characters or less and cannot include any special characters other than + // `(space) - . _ :`. + Name *string `json:"name" validate:"required"` + + // The deployment location where the instance should be hosted. + Target *string `json:"target" validate:"required"` + + // The ID of the resource group. + ResourceGroup *string `json:"resource_group" validate:"required"` + + // The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog. + ResourcePlanID *string `json:"resource_plan_id" validate:"required"` + + // Tags that are attached to the instance after provisioning. These tags can be searched and managed through the + // Tagging API in IBM Cloud. + Tags []string `json:"tags,omitempty"` + + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region + // instance delete call. + AllowCleanup *bool `json:"allow_cleanup,omitempty"` + + // Configuration options represented as key-value pairs that are passed through to the target resource brokers. Set the + // `onetime_credentials` property to specify whether newly created resource key credentials can be retrieved by using + // get resource key or get a list of all of the resource keys requests. + Parameters map[string]interface{} `json:"parameters,omitempty"` + + // Indicates if the resource instance is locked for further update or delete operations. It does not affect actions + // performed on child resources like aliases, bindings or keys. False by default. + EntityLock *bool `json:"Entity-Lock,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateResourceInstanceOptions : Instantiate CreateResourceInstanceOptions +func (*ResourceControllerV2) NewCreateResourceInstanceOptions(name string, target string, resourceGroup string, resourcePlanID string) *CreateResourceInstanceOptions { + return &CreateResourceInstanceOptions{ + Name: core.StringPtr(name), + Target: core.StringPtr(target), + ResourceGroup: core.StringPtr(resourceGroup), + ResourcePlanID: core.StringPtr(resourcePlanID), + } +} + +// SetName : Allow user to set Name +func (_options *CreateResourceInstanceOptions) SetName(name string) *CreateResourceInstanceOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetTarget : Allow user to set Target +func (_options *CreateResourceInstanceOptions) SetTarget(target string) *CreateResourceInstanceOptions { + _options.Target = core.StringPtr(target) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateResourceInstanceOptions) SetResourceGroup(resourceGroup string) *CreateResourceInstanceOptions { + _options.ResourceGroup = core.StringPtr(resourceGroup) + return _options +} + +// SetResourcePlanID : Allow user to set ResourcePlanID +func (_options *CreateResourceInstanceOptions) SetResourcePlanID(resourcePlanID string) *CreateResourceInstanceOptions { + _options.ResourcePlanID = core.StringPtr(resourcePlanID) + return _options +} + +// SetTags : Allow user to set Tags +func (_options *CreateResourceInstanceOptions) SetTags(tags []string) *CreateResourceInstanceOptions { + _options.Tags = tags + return _options +} + +// SetAllowCleanup : Allow user to set AllowCleanup +func (_options *CreateResourceInstanceOptions) SetAllowCleanup(allowCleanup bool) *CreateResourceInstanceOptions { + _options.AllowCleanup = core.BoolPtr(allowCleanup) + return _options +} + +// SetParameters : Allow user to set Parameters +func (_options *CreateResourceInstanceOptions) SetParameters(parameters map[string]interface{}) *CreateResourceInstanceOptions { + _options.Parameters = parameters + return _options +} + +// SetEntityLock : Allow user to set EntityLock +func (_options *CreateResourceInstanceOptions) SetEntityLock(entityLock bool) *CreateResourceInstanceOptions { + _options.EntityLock = core.BoolPtr(entityLock) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateResourceInstanceOptions) SetHeaders(param map[string]string) *CreateResourceInstanceOptions { + options.Headers = param + return options +} + +// CreateResourceKeyOptions : The CreateResourceKey options. +type CreateResourceKeyOptions struct { + // The name of the key. + Name *string `json:"name" validate:"required"` + + // The ID of resource instance or alias. + Source *string `json:"source" validate:"required"` + + // Configuration options represented as key-value pairs. Service defined options are passed through to the target + // resource brokers, whereas platform defined options are not. + Parameters *ResourceKeyPostParameters `json:"parameters,omitempty"` + + // The base IAM service role name (Reader, Writer, or Manager), or the service or custom role CRN. Refer to service’s + // documentation for supported roles. + Role *string `json:"role,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateResourceKeyOptions : Instantiate CreateResourceKeyOptions +func (*ResourceControllerV2) NewCreateResourceKeyOptions(name string, source string) *CreateResourceKeyOptions { + return &CreateResourceKeyOptions{ + Name: core.StringPtr(name), + Source: core.StringPtr(source), + } +} + +// SetName : Allow user to set Name +func (_options *CreateResourceKeyOptions) SetName(name string) *CreateResourceKeyOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSource : Allow user to set Source +func (_options *CreateResourceKeyOptions) SetSource(source string) *CreateResourceKeyOptions { + _options.Source = core.StringPtr(source) + return _options +} + +// SetParameters : Allow user to set Parameters +func (_options *CreateResourceKeyOptions) SetParameters(parameters *ResourceKeyPostParameters) *CreateResourceKeyOptions { + _options.Parameters = parameters + return _options +} + +// SetRole : Allow user to set Role +func (_options *CreateResourceKeyOptions) SetRole(role string) *CreateResourceKeyOptions { + _options.Role = core.StringPtr(role) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateResourceKeyOptions) SetHeaders(param map[string]string) *CreateResourceKeyOptions { + options.Headers = param + return options +} + +// Credentials : The credentials for a resource. +// This type supports additional properties of type interface{}. Additional key-value pairs from the resource broker. +type Credentials struct { + // If present, the user doesn't have the correct access to view the credentials and the details are redacted. The + // string value identifies the level of access that's required to view the credential. For additional information, see + // [viewing a + // credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui). + Redacted *string `json:"REDACTED,omitempty"` + + // The API key for the credentials. + Apikey *string `json:"apikey,omitempty"` + + // The optional description of the API key. + IamApikeyDescription *string `json:"iam_apikey_description,omitempty"` + + // The name of the API key. + IamApikeyName *string `json:"iam_apikey_name,omitempty"` + + // The Cloud Resource Name for the role of the credentials. + IamRoleCRN *string `json:"iam_role_crn,omitempty"` + + // The Cloud Resource Name for the service ID of the credentials. + IamServiceidCRN *string `json:"iam_serviceid_crn,omitempty"` + + // Additional key-value pairs from the resource broker. + additionalProperties map[string]interface{} +} + +// Constants associated with the Credentials.Redacted property. +// If present, the user doesn't have the correct access to view the credentials and the details are redacted. The +// string value identifies the level of access that's required to view the credential. For additional information, see +// [viewing a +// credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui). +const ( + CredentialsRedactedRedactedConst = "REDACTED" + CredentialsRedactedRedactedExplicitConst = "REDACTED_EXPLICIT" // #nosec G101 +) + +// SetProperty allows the user to set an arbitrary property on an instance of Credentials. +// Additional key-value pairs from the resource broker. +func (o *Credentials) SetProperty(key string, value interface{}) { + if o.additionalProperties == nil { + o.additionalProperties = make(map[string]interface{}) + } + o.additionalProperties[key] = value +} + +// SetProperties allows the user to set a map of arbitrary properties on an instance of Credentials. +// Additional key-value pairs from the resource broker. +func (o *Credentials) SetProperties(m map[string]interface{}) { + o.additionalProperties = make(map[string]interface{}) + for k, v := range m { + o.additionalProperties[k] = v + } +} + +// GetProperty allows the user to retrieve an arbitrary property from an instance of Credentials. +func (o *Credentials) GetProperty(key string) interface{} { + return o.additionalProperties[key] +} + +// GetProperties allows the user to retrieve the map of arbitrary properties from an instance of Credentials. +func (o *Credentials) GetProperties() map[string]interface{} { + return o.additionalProperties +} + +// MarshalJSON performs custom serialization for instances of Credentials +func (o *Credentials) MarshalJSON() (buffer []byte, err error) { + m := make(map[string]interface{}) + if len(o.additionalProperties) > 0 { + for k, v := range o.additionalProperties { + m[k] = v + } + } + if o.Redacted != nil { + m["REDACTED"] = o.Redacted + } + if o.Apikey != nil { + m["apikey"] = o.Apikey + } + if o.IamApikeyDescription != nil { + m["iam_apikey_description"] = o.IamApikeyDescription + } + if o.IamApikeyName != nil { + m["iam_apikey_name"] = o.IamApikeyName + } + if o.IamRoleCRN != nil { + m["iam_role_crn"] = o.IamRoleCRN + } + if o.IamServiceidCRN != nil { + m["iam_serviceid_crn"] = o.IamServiceidCRN + } + buffer, err = json.Marshal(m) + if err != nil { + err = core.SDKErrorf(err, "", "model-marshal", common.GetComponentInfo()) + } + return +} + +// UnmarshalCredentials unmarshals an instance of Credentials from the specified map of raw messages. +func UnmarshalCredentials(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Credentials) + err = core.UnmarshalPrimitive(m, "REDACTED", &obj.Redacted) + if err != nil { + err = core.SDKErrorf(err, "", "REDACTED-error", common.GetComponentInfo()) + return + } + delete(m, "REDACTED") + err = core.UnmarshalPrimitive(m, "apikey", &obj.Apikey) + if err != nil { + err = core.SDKErrorf(err, "", "apikey-error", common.GetComponentInfo()) + return + } + delete(m, "apikey") + err = core.UnmarshalPrimitive(m, "iam_apikey_description", &obj.IamApikeyDescription) + if err != nil { + err = core.SDKErrorf(err, "", "iam_apikey_description-error", common.GetComponentInfo()) + return + } + delete(m, "iam_apikey_description") + err = core.UnmarshalPrimitive(m, "iam_apikey_name", &obj.IamApikeyName) + if err != nil { + err = core.SDKErrorf(err, "", "iam_apikey_name-error", common.GetComponentInfo()) + return + } + delete(m, "iam_apikey_name") + err = core.UnmarshalPrimitive(m, "iam_role_crn", &obj.IamRoleCRN) + if err != nil { + err = core.SDKErrorf(err, "", "iam_role_crn-error", common.GetComponentInfo()) + return + } + delete(m, "iam_role_crn") + err = core.UnmarshalPrimitive(m, "iam_serviceid_crn", &obj.IamServiceidCRN) + if err != nil { + err = core.SDKErrorf(err, "", "iam_serviceid_crn-error", common.GetComponentInfo()) + return + } + delete(m, "iam_serviceid_crn") + for k := range m { + var v interface{} + e := core.UnmarshalPrimitive(m, k, &v) + if e != nil { + err = core.SDKErrorf(e, "", "additional-properties-error", common.GetComponentInfo()) + return + } + obj.SetProperty(k, v) + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DeleteResourceAliasOptions : The DeleteResourceAlias options. +type DeleteResourceAliasOptions struct { + // The resource alias URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Deletes the resource bindings and keys associated with the alias. + Recursive *bool `json:"recursive,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteResourceAliasOptions : Instantiate DeleteResourceAliasOptions +func (*ResourceControllerV2) NewDeleteResourceAliasOptions(id string) *DeleteResourceAliasOptions { + return &DeleteResourceAliasOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteResourceAliasOptions) SetID(id string) *DeleteResourceAliasOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetRecursive : Allow user to set Recursive +func (_options *DeleteResourceAliasOptions) SetRecursive(recursive bool) *DeleteResourceAliasOptions { + _options.Recursive = core.BoolPtr(recursive) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteResourceAliasOptions) SetHeaders(param map[string]string) *DeleteResourceAliasOptions { + options.Headers = param + return options +} + +// DeleteResourceBindingOptions : The DeleteResourceBinding options. +type DeleteResourceBindingOptions struct { + // The resource binding URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteResourceBindingOptions : Instantiate DeleteResourceBindingOptions +func (*ResourceControllerV2) NewDeleteResourceBindingOptions(id string) *DeleteResourceBindingOptions { + return &DeleteResourceBindingOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteResourceBindingOptions) SetID(id string) *DeleteResourceBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteResourceBindingOptions) SetHeaders(param map[string]string) *DeleteResourceBindingOptions { + options.Headers = param + return options +} + +// DeleteResourceInstanceOptions : The DeleteResourceInstance options. +type DeleteResourceInstanceOptions struct { + // The resource instance URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Will delete resource bindings, keys and aliases associated with the instance. + Recursive *bool `json:"recursive,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteResourceInstanceOptions : Instantiate DeleteResourceInstanceOptions +func (*ResourceControllerV2) NewDeleteResourceInstanceOptions(id string) *DeleteResourceInstanceOptions { + return &DeleteResourceInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteResourceInstanceOptions) SetID(id string) *DeleteResourceInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetRecursive : Allow user to set Recursive +func (_options *DeleteResourceInstanceOptions) SetRecursive(recursive bool) *DeleteResourceInstanceOptions { + _options.Recursive = core.BoolPtr(recursive) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteResourceInstanceOptions) SetHeaders(param map[string]string) *DeleteResourceInstanceOptions { + options.Headers = param + return options +} + +// DeleteResourceKeyOptions : The DeleteResourceKey options. +type DeleteResourceKeyOptions struct { + // The resource key URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteResourceKeyOptions : Instantiate DeleteResourceKeyOptions +func (*ResourceControllerV2) NewDeleteResourceKeyOptions(id string) *DeleteResourceKeyOptions { + return &DeleteResourceKeyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteResourceKeyOptions) SetID(id string) *DeleteResourceKeyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteResourceKeyOptions) SetHeaders(param map[string]string) *DeleteResourceKeyOptions { + options.Headers = param + return options +} + +// GetResourceAliasOptions : The GetResourceAlias options. +type GetResourceAliasOptions struct { + // The resource alias URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetResourceAliasOptions : Instantiate GetResourceAliasOptions +func (*ResourceControllerV2) NewGetResourceAliasOptions(id string) *GetResourceAliasOptions { + return &GetResourceAliasOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetResourceAliasOptions) SetID(id string) *GetResourceAliasOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetResourceAliasOptions) SetHeaders(param map[string]string) *GetResourceAliasOptions { + options.Headers = param + return options +} + +// GetResourceBindingOptions : The GetResourceBinding options. +type GetResourceBindingOptions struct { + // The resource binding URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetResourceBindingOptions : Instantiate GetResourceBindingOptions +func (*ResourceControllerV2) NewGetResourceBindingOptions(id string) *GetResourceBindingOptions { + return &GetResourceBindingOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetResourceBindingOptions) SetID(id string) *GetResourceBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetResourceBindingOptions) SetHeaders(param map[string]string) *GetResourceBindingOptions { + options.Headers = param + return options +} + +// GetResourceInstanceOptions : The GetResourceInstance options. +type GetResourceInstanceOptions struct { + // The resource instance URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetResourceInstanceOptions : Instantiate GetResourceInstanceOptions +func (*ResourceControllerV2) NewGetResourceInstanceOptions(id string) *GetResourceInstanceOptions { + return &GetResourceInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetResourceInstanceOptions) SetID(id string) *GetResourceInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetResourceInstanceOptions) SetHeaders(param map[string]string) *GetResourceInstanceOptions { + options.Headers = param + return options +} + +// GetResourceKeyOptions : The GetResourceKey options. +type GetResourceKeyOptions struct { + // The resource key URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetResourceKeyOptions : Instantiate GetResourceKeyOptions +func (*ResourceControllerV2) NewGetResourceKeyOptions(id string) *GetResourceKeyOptions { + return &GetResourceKeyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetResourceKeyOptions) SetID(id string) *GetResourceKeyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetResourceKeyOptions) SetHeaders(param map[string]string) *GetResourceKeyOptions { + options.Headers = param + return options +} + +// ListReclamationsOptions : The ListReclamations options. +type ListReclamationsOptions struct { + // An alpha-numeric value identifying the account ID. + AccountID *string `json:"account_id,omitempty"` + + // The GUID of the resource instance. + ResourceInstanceID *string `json:"resource_instance_id,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListReclamationsOptions : Instantiate ListReclamationsOptions +func (*ResourceControllerV2) NewListReclamationsOptions() *ListReclamationsOptions { + return &ListReclamationsOptions{} +} + +// SetAccountID : Allow user to set AccountID +func (_options *ListReclamationsOptions) SetAccountID(accountID string) *ListReclamationsOptions { + _options.AccountID = core.StringPtr(accountID) + return _options +} + +// SetResourceInstanceID : Allow user to set ResourceInstanceID +func (_options *ListReclamationsOptions) SetResourceInstanceID(resourceInstanceID string) *ListReclamationsOptions { + _options.ResourceInstanceID = core.StringPtr(resourceInstanceID) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListReclamationsOptions) SetResourceGroupID(resourceGroupID string) *ListReclamationsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListReclamationsOptions) SetHeaders(param map[string]string) *ListReclamationsOptions { + options.Headers = param + return options +} + +// ListResourceAliasesForInstanceOptions : The ListResourceAliasesForInstance options. +type ListResourceAliasesForInstanceOptions struct { + // The resource instance URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Limit on how many items should be returned. + Limit *int64 `json:"limit,omitempty"` + + // An optional token that indicates the beginning of the page of results to be returned. Any additional query + // parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is + // obtained from the 'start' query parameter in the 'next_url' field of the operation response. + Start *string `json:"start,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListResourceAliasesForInstanceOptions : Instantiate ListResourceAliasesForInstanceOptions +func (*ResourceControllerV2) NewListResourceAliasesForInstanceOptions(id string) *ListResourceAliasesForInstanceOptions { + return &ListResourceAliasesForInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListResourceAliasesForInstanceOptions) SetID(id string) *ListResourceAliasesForInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListResourceAliasesForInstanceOptions) SetLimit(limit int64) *ListResourceAliasesForInstanceOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListResourceAliasesForInstanceOptions) SetStart(start string) *ListResourceAliasesForInstanceOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListResourceAliasesForInstanceOptions) SetHeaders(param map[string]string) *ListResourceAliasesForInstanceOptions { + options.Headers = param + return options +} + +// ListResourceAliasesOptions : The ListResourceAliases options. +type ListResourceAliasesOptions struct { + // The GUID of the alias. + GUID *string `json:"guid,omitempty"` + + // The human-readable name of the alias. + Name *string `json:"name,omitempty"` + + // The ID of the resource instance. + ResourceInstanceID *string `json:"resource_instance_id,omitempty"` + + // The ID of the instance in the target environment. For example, `service_instance_id` in a given IBM Cloud + // environment. + RegionInstanceID *string `json:"region_instance_id,omitempty"` + + // The unique ID of the offering (service name). This value is provided by and stored in the global catalog. + ResourceID *string `json:"resource_id,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // Limit on how many items should be returned. + Limit *int64 `json:"limit,omitempty"` + + // An optional token that indicates the beginning of the page of results to be returned. Any additional query + // parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is + // obtained from the 'start' query parameter in the 'next_url' field of the operation response. + Start *string `json:"start,omitempty"` + + // Start date inclusive filter. + UpdatedFrom *string `json:"updated_from,omitempty"` + + // End date inclusive filter. + UpdatedTo *string `json:"updated_to,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListResourceAliasesOptions : Instantiate ListResourceAliasesOptions +func (*ResourceControllerV2) NewListResourceAliasesOptions() *ListResourceAliasesOptions { + return &ListResourceAliasesOptions{} +} + +// SetGUID : Allow user to set GUID +func (_options *ListResourceAliasesOptions) SetGUID(guid string) *ListResourceAliasesOptions { + _options.GUID = core.StringPtr(guid) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListResourceAliasesOptions) SetName(name string) *ListResourceAliasesOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceInstanceID : Allow user to set ResourceInstanceID +func (_options *ListResourceAliasesOptions) SetResourceInstanceID(resourceInstanceID string) *ListResourceAliasesOptions { + _options.ResourceInstanceID = core.StringPtr(resourceInstanceID) + return _options +} + +// SetRegionInstanceID : Allow user to set RegionInstanceID +func (_options *ListResourceAliasesOptions) SetRegionInstanceID(regionInstanceID string) *ListResourceAliasesOptions { + _options.RegionInstanceID = core.StringPtr(regionInstanceID) + return _options +} + +// SetResourceID : Allow user to set ResourceID +func (_options *ListResourceAliasesOptions) SetResourceID(resourceID string) *ListResourceAliasesOptions { + _options.ResourceID = core.StringPtr(resourceID) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListResourceAliasesOptions) SetResourceGroupID(resourceGroupID string) *ListResourceAliasesOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListResourceAliasesOptions) SetLimit(limit int64) *ListResourceAliasesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListResourceAliasesOptions) SetStart(start string) *ListResourceAliasesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetUpdatedFrom : Allow user to set UpdatedFrom +func (_options *ListResourceAliasesOptions) SetUpdatedFrom(updatedFrom string) *ListResourceAliasesOptions { + _options.UpdatedFrom = core.StringPtr(updatedFrom) + return _options +} + +// SetUpdatedTo : Allow user to set UpdatedTo +func (_options *ListResourceAliasesOptions) SetUpdatedTo(updatedTo string) *ListResourceAliasesOptions { + _options.UpdatedTo = core.StringPtr(updatedTo) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListResourceAliasesOptions) SetHeaders(param map[string]string) *ListResourceAliasesOptions { + options.Headers = param + return options +} + +// ListResourceBindingsForAliasOptions : The ListResourceBindingsForAlias options. +type ListResourceBindingsForAliasOptions struct { + // The resource alias URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Limit on how many items should be returned. + Limit *int64 `json:"limit,omitempty"` + + // An optional token that indicates the beginning of the page of results to be returned. Any additional query + // parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is + // obtained from the 'start' query parameter in the 'next_url' field of the operation response. + Start *string `json:"start,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListResourceBindingsForAliasOptions : Instantiate ListResourceBindingsForAliasOptions +func (*ResourceControllerV2) NewListResourceBindingsForAliasOptions(id string) *ListResourceBindingsForAliasOptions { + return &ListResourceBindingsForAliasOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListResourceBindingsForAliasOptions) SetID(id string) *ListResourceBindingsForAliasOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListResourceBindingsForAliasOptions) SetLimit(limit int64) *ListResourceBindingsForAliasOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListResourceBindingsForAliasOptions) SetStart(start string) *ListResourceBindingsForAliasOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListResourceBindingsForAliasOptions) SetHeaders(param map[string]string) *ListResourceBindingsForAliasOptions { + options.Headers = param + return options +} + +// ListResourceBindingsOptions : The ListResourceBindings options. +type ListResourceBindingsOptions struct { + // The GUID of the binding. + GUID *string `json:"guid,omitempty"` + + // The human-readable name of the binding. + Name *string `json:"name,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // The unique ID of the offering (service name). This value is provided by and stored in the global catalog. + ResourceID *string `json:"resource_id,omitempty"` + + // The ID of the binding in the target environment. For example, `service_binding_id` in a given IBM Cloud environment. + RegionBindingID *string `json:"region_binding_id,omitempty"` + + // Limit on how many items should be returned. + Limit *int64 `json:"limit,omitempty"` + + // An optional token that indicates the beginning of the page of results to be returned. Any additional query + // parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is + // obtained from the 'start' query parameter in the 'next_url' field of the operation response. + Start *string `json:"start,omitempty"` + + // Start date inclusive filter. + UpdatedFrom *string `json:"updated_from,omitempty"` + + // End date inclusive filter. + UpdatedTo *string `json:"updated_to,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListResourceBindingsOptions : Instantiate ListResourceBindingsOptions +func (*ResourceControllerV2) NewListResourceBindingsOptions() *ListResourceBindingsOptions { + return &ListResourceBindingsOptions{} +} + +// SetGUID : Allow user to set GUID +func (_options *ListResourceBindingsOptions) SetGUID(guid string) *ListResourceBindingsOptions { + _options.GUID = core.StringPtr(guid) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListResourceBindingsOptions) SetName(name string) *ListResourceBindingsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListResourceBindingsOptions) SetResourceGroupID(resourceGroupID string) *ListResourceBindingsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetResourceID : Allow user to set ResourceID +func (_options *ListResourceBindingsOptions) SetResourceID(resourceID string) *ListResourceBindingsOptions { + _options.ResourceID = core.StringPtr(resourceID) + return _options +} + +// SetRegionBindingID : Allow user to set RegionBindingID +func (_options *ListResourceBindingsOptions) SetRegionBindingID(regionBindingID string) *ListResourceBindingsOptions { + _options.RegionBindingID = core.StringPtr(regionBindingID) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListResourceBindingsOptions) SetLimit(limit int64) *ListResourceBindingsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListResourceBindingsOptions) SetStart(start string) *ListResourceBindingsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetUpdatedFrom : Allow user to set UpdatedFrom +func (_options *ListResourceBindingsOptions) SetUpdatedFrom(updatedFrom string) *ListResourceBindingsOptions { + _options.UpdatedFrom = core.StringPtr(updatedFrom) + return _options +} + +// SetUpdatedTo : Allow user to set UpdatedTo +func (_options *ListResourceBindingsOptions) SetUpdatedTo(updatedTo string) *ListResourceBindingsOptions { + _options.UpdatedTo = core.StringPtr(updatedTo) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListResourceBindingsOptions) SetHeaders(param map[string]string) *ListResourceBindingsOptions { + options.Headers = param + return options +} + +// ListResourceInstancesOptions : The ListResourceInstances options. +type ListResourceInstancesOptions struct { + // The GUID of the instance. + GUID *string `json:"guid,omitempty"` + + // The human-readable name of the instance. + Name *string `json:"name,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // The unique ID of the offering. This value is provided by and stored in the global catalog. + ResourceID *string `json:"resource_id,omitempty"` + + // The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog. + ResourcePlanID *string `json:"resource_plan_id,omitempty"` + + // The type of the instance, for example, `service_instance`. + Type *string `json:"type,omitempty"` + + // The sub-type of instance, for example, `kms`. + SubType *string `json:"sub_type,omitempty"` + + // Limit on how many items should be returned. + Limit *int64 `json:"limit,omitempty"` + + // An optional token that indicates the beginning of the page of results to be returned. Any additional query + // parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is + // obtained from the 'start' query parameter in the 'next_url' field of the operation response. + Start *string `json:"start,omitempty"` + + // The state of the instance. If not specified, instances in state `active` and `provisioning` are returned. + State *string `json:"state,omitempty"` + + // Start date inclusive filter. + UpdatedFrom *string `json:"updated_from,omitempty"` + + // End date inclusive filter. + UpdatedTo *string `json:"updated_to,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListResourceInstancesOptions.State property. +// The state of the instance. If not specified, instances in state `active` and `provisioning` are returned. +const ( + ListResourceInstancesOptionsStateActiveConst = "active" + ListResourceInstancesOptionsStateFailedConst = "failed" + ListResourceInstancesOptionsStateInactiveConst = "inactive" + ListResourceInstancesOptionsStatePendingReclamationConst = "pending_reclamation" + ListResourceInstancesOptionsStatePreProvisioningConst = "pre_provisioning" + ListResourceInstancesOptionsStateProvisioningConst = "provisioning" + ListResourceInstancesOptionsStateRemovedConst = "removed" +) + +// NewListResourceInstancesOptions : Instantiate ListResourceInstancesOptions +func (*ResourceControllerV2) NewListResourceInstancesOptions() *ListResourceInstancesOptions { + return &ListResourceInstancesOptions{} +} + +// SetGUID : Allow user to set GUID +func (_options *ListResourceInstancesOptions) SetGUID(guid string) *ListResourceInstancesOptions { + _options.GUID = core.StringPtr(guid) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListResourceInstancesOptions) SetName(name string) *ListResourceInstancesOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListResourceInstancesOptions) SetResourceGroupID(resourceGroupID string) *ListResourceInstancesOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetResourceID : Allow user to set ResourceID +func (_options *ListResourceInstancesOptions) SetResourceID(resourceID string) *ListResourceInstancesOptions { + _options.ResourceID = core.StringPtr(resourceID) + return _options +} + +// SetResourcePlanID : Allow user to set ResourcePlanID +func (_options *ListResourceInstancesOptions) SetResourcePlanID(resourcePlanID string) *ListResourceInstancesOptions { + _options.ResourcePlanID = core.StringPtr(resourcePlanID) + return _options +} + +// SetType : Allow user to set Type +func (_options *ListResourceInstancesOptions) SetType(typeVar string) *ListResourceInstancesOptions { + _options.Type = core.StringPtr(typeVar) + return _options +} + +// SetSubType : Allow user to set SubType +func (_options *ListResourceInstancesOptions) SetSubType(subType string) *ListResourceInstancesOptions { + _options.SubType = core.StringPtr(subType) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListResourceInstancesOptions) SetLimit(limit int64) *ListResourceInstancesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListResourceInstancesOptions) SetStart(start string) *ListResourceInstancesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetState : Allow user to set State +func (_options *ListResourceInstancesOptions) SetState(state string) *ListResourceInstancesOptions { + _options.State = core.StringPtr(state) + return _options +} + +// SetUpdatedFrom : Allow user to set UpdatedFrom +func (_options *ListResourceInstancesOptions) SetUpdatedFrom(updatedFrom string) *ListResourceInstancesOptions { + _options.UpdatedFrom = core.StringPtr(updatedFrom) + return _options +} + +// SetUpdatedTo : Allow user to set UpdatedTo +func (_options *ListResourceInstancesOptions) SetUpdatedTo(updatedTo string) *ListResourceInstancesOptions { + _options.UpdatedTo = core.StringPtr(updatedTo) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListResourceInstancesOptions) SetHeaders(param map[string]string) *ListResourceInstancesOptions { + options.Headers = param + return options +} + +// ListResourceKeysForInstanceOptions : The ListResourceKeysForInstance options. +type ListResourceKeysForInstanceOptions struct { + // The resource instance URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Limit on how many items should be returned. + Limit *int64 `json:"limit,omitempty"` + + // An optional token that indicates the beginning of the page of results to be returned. Any additional query + // parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is + // obtained from the 'start' query parameter in the 'next_url' field of the operation response. + Start *string `json:"start,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListResourceKeysForInstanceOptions : Instantiate ListResourceKeysForInstanceOptions +func (*ResourceControllerV2) NewListResourceKeysForInstanceOptions(id string) *ListResourceKeysForInstanceOptions { + return &ListResourceKeysForInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListResourceKeysForInstanceOptions) SetID(id string) *ListResourceKeysForInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListResourceKeysForInstanceOptions) SetLimit(limit int64) *ListResourceKeysForInstanceOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListResourceKeysForInstanceOptions) SetStart(start string) *ListResourceKeysForInstanceOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListResourceKeysForInstanceOptions) SetHeaders(param map[string]string) *ListResourceKeysForInstanceOptions { + options.Headers = param + return options +} + +// ListResourceKeysOptions : The ListResourceKeys options. +type ListResourceKeysOptions struct { + // The GUID of the key. + GUID *string `json:"guid,omitempty"` + + // The human-readable name of the key. + Name *string `json:"name,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // The unique ID of the offering. This value is provided by and stored in the global catalog. + ResourceID *string `json:"resource_id,omitempty"` + + // Limit on how many items should be returned. + Limit *int64 `json:"limit,omitempty"` + + // An optional token that indicates the beginning of the page of results to be returned. Any additional query + // parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is + // obtained from the 'start' query parameter in the 'next_url' field of the operation response. + Start *string `json:"start,omitempty"` + + // Start date inclusive filter. + UpdatedFrom *string `json:"updated_from,omitempty"` + + // End date inclusive filter. + UpdatedTo *string `json:"updated_to,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListResourceKeysOptions : Instantiate ListResourceKeysOptions +func (*ResourceControllerV2) NewListResourceKeysOptions() *ListResourceKeysOptions { + return &ListResourceKeysOptions{} +} + +// SetGUID : Allow user to set GUID +func (_options *ListResourceKeysOptions) SetGUID(guid string) *ListResourceKeysOptions { + _options.GUID = core.StringPtr(guid) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListResourceKeysOptions) SetName(name string) *ListResourceKeysOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListResourceKeysOptions) SetResourceGroupID(resourceGroupID string) *ListResourceKeysOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetResourceID : Allow user to set ResourceID +func (_options *ListResourceKeysOptions) SetResourceID(resourceID string) *ListResourceKeysOptions { + _options.ResourceID = core.StringPtr(resourceID) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListResourceKeysOptions) SetLimit(limit int64) *ListResourceKeysOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListResourceKeysOptions) SetStart(start string) *ListResourceKeysOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetUpdatedFrom : Allow user to set UpdatedFrom +func (_options *ListResourceKeysOptions) SetUpdatedFrom(updatedFrom string) *ListResourceKeysOptions { + _options.UpdatedFrom = core.StringPtr(updatedFrom) + return _options +} + +// SetUpdatedTo : Allow user to set UpdatedTo +func (_options *ListResourceKeysOptions) SetUpdatedTo(updatedTo string) *ListResourceKeysOptions { + _options.UpdatedTo = core.StringPtr(updatedTo) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListResourceKeysOptions) SetHeaders(param map[string]string) *ListResourceKeysOptions { + options.Headers = param + return options +} + +// LockResourceInstanceOptions : The LockResourceInstance options. +type LockResourceInstanceOptions struct { + // The resource instance URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewLockResourceInstanceOptions : Instantiate LockResourceInstanceOptions +func (*ResourceControllerV2) NewLockResourceInstanceOptions(id string) *LockResourceInstanceOptions { + return &LockResourceInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *LockResourceInstanceOptions) SetID(id string) *LockResourceInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *LockResourceInstanceOptions) SetHeaders(param map[string]string) *LockResourceInstanceOptions { + options.Headers = param + return options +} + +// PlanHistoryItem : An element of the plan history of the instance. +type PlanHistoryItem struct { + // The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog. + ResourcePlanID *string `json:"resource_plan_id" validate:"required"` + + // The date on which the plan was changed. + StartDate *strfmt.DateTime `json:"start_date" validate:"required"` + + // The subject who made the plan change. + RequestorID *string `json:"requestor_id,omitempty"` +} + +// UnmarshalPlanHistoryItem unmarshals an instance of PlanHistoryItem from the specified map of raw messages. +func UnmarshalPlanHistoryItem(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PlanHistoryItem) + err = core.UnmarshalPrimitive(m, "resource_plan_id", &obj.ResourcePlanID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_plan_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "start_date", &obj.StartDate) + if err != nil { + err = core.SDKErrorf(err, "", "start_date-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "requestor_id", &obj.RequestorID) + if err != nil { + err = core.SDKErrorf(err, "", "requestor_id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Reclamation : A reclamation. +type Reclamation struct { + // The ID associated with the reclamation. + ID *string `json:"id,omitempty"` + + // The ID of the entity for the reclamation. + EntityID *string `json:"entity_id,omitempty"` + + // The ID of the entity type for the reclamation. + EntityTypeID *string `json:"entity_type_id,omitempty"` + + // The full Cloud Resource Name (CRN) associated with the binding. For more information about this format, see [Cloud + // Resource Names](https://cloud.ibm.com/docs/overview?topic=overview-crn). + EntityCRN *string `json:"entity_crn,omitempty"` + + // The ID of the resource instance. + ResourceInstanceID *string `json:"resource_instance_id,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // An alpha-numeric value identifying the account ID. + AccountID *string `json:"account_id,omitempty"` + + // The ID of policy for the reclamation. + PolicyID *string `json:"policy_id,omitempty"` + + // The state of the reclamation. + State *string `json:"state,omitempty"` + + // The target time that the reclamation retention period end. + TargetTime *string `json:"target_time,omitempty"` + + // The custom properties of the reclamation. + CustomProperties map[string]interface{} `json:"custom_properties,omitempty"` + + // The date when the reclamation was created. + CreatedAt *strfmt.DateTime `json:"created_at,omitempty"` + + // The subject who created the reclamation. + CreatedBy *string `json:"created_by,omitempty"` + + // The date when the reclamation was last updated. + UpdatedAt *strfmt.DateTime `json:"updated_at,omitempty"` + + // The subject who updated the reclamation. + UpdatedBy *string `json:"updated_by,omitempty"` +} + +// UnmarshalReclamation unmarshals an instance of Reclamation from the specified map of raw messages. +func UnmarshalReclamation(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Reclamation) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "entity_id", &obj.EntityID) + if err != nil { + err = core.SDKErrorf(err, "", "entity_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "entity_type_id", &obj.EntityTypeID) + if err != nil { + err = core.SDKErrorf(err, "", "entity_type_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "entity_crn", &obj.EntityCRN) + if err != nil { + err = core.SDKErrorf(err, "", "entity_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_instance_id", &obj.ResourceInstanceID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_instance_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_group_id", &obj.ResourceGroupID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "account_id", &obj.AccountID) + if err != nil { + err = core.SDKErrorf(err, "", "account_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "policy_id", &obj.PolicyID) + if err != nil { + err = core.SDKErrorf(err, "", "policy_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "state", &obj.State) + if err != nil { + err = core.SDKErrorf(err, "", "state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "target_time", &obj.TargetTime) + if err != nil { + err = core.SDKErrorf(err, "", "target_time-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "custom_properties", &obj.CustomProperties) + if err != nil { + err = core.SDKErrorf(err, "", "custom_properties-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_by", &obj.CreatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "created_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_by", &obj.UpdatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "updated_by-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReclamationsList : A list of reclamations. +type ReclamationsList struct { + // A list of reclamations. + Resources []Reclamation `json:"resources,omitempty"` +} + +// UnmarshalReclamationsList unmarshals an instance of ReclamationsList from the specified map of raw messages. +func UnmarshalReclamationsList(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReclamationsList) + err = core.UnmarshalModel(m, "resources", &obj.Resources, UnmarshalReclamation) + if err != nil { + err = core.SDKErrorf(err, "", "resources-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceAlias : A resource alias. +type ResourceAlias struct { + // The ID associated with the alias. + ID *string `json:"id,omitempty"` + + // The GUID of the alias. + GUID *string `json:"guid,omitempty"` + + // When you created a new alias, a relative URL path is created identifying the location of the alias. + URL *string `json:"url,omitempty"` + + // The date when the alias was created. + CreatedAt *strfmt.DateTime `json:"created_at,omitempty"` + + // The date when the alias was last updated. + UpdatedAt *strfmt.DateTime `json:"updated_at,omitempty"` + + // The date when the alias was deleted. + DeletedAt *strfmt.DateTime `json:"deleted_at,omitempty"` + + // The subject who created the alias. + CreatedBy *string `json:"created_by,omitempty"` + + // The subject who updated the alias. + UpdatedBy *string `json:"updated_by,omitempty"` + + // The subject who deleted the alias. + DeletedBy *string `json:"deleted_by,omitempty"` + + // The human-readable name of the alias. + Name *string `json:"name,omitempty"` + + // The ID of the resource instance that is being aliased. + ResourceInstanceID *string `json:"resource_instance_id,omitempty"` + + // The CRN of the target namespace in the specific environment. + TargetCRN *string `json:"target_crn,omitempty"` + + // An alpha-numeric value identifying the account ID. + AccountID *string `json:"account_id,omitempty"` + + // The unique ID of the offering. This value is provided by and stored in the global catalog. + ResourceID *string `json:"resource_id,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // The CRN of the alias. For more information about this format, see [Cloud Resource + // Names](https://cloud.ibm.com/docs/overview?topic=overview-crn). + CRN *string `json:"crn,omitempty"` + + // The ID of the instance in the target environment. For example, `service_instance_id` in a given IBM Cloud + // environment. + RegionInstanceID *string `json:"region_instance_id,omitempty"` + + // The CRN of the instance in the target environment. + RegionInstanceCRN *string `json:"region_instance_crn,omitempty"` + + // The state of the alias. + State *string `json:"state,omitempty"` + + // A boolean that dictates if the alias was migrated from a previous CF instance. + Migrated *bool `json:"migrated,omitempty"` + + // The relative path to the resource instance. + ResourceInstanceURL *string `json:"resource_instance_url,omitempty"` + + // The relative path to the resource bindings for the alias. + ResourceBindingsURL *string `json:"resource_bindings_url,omitempty"` + + // The relative path to the resource keys for the alias. + ResourceKeysURL *string `json:"resource_keys_url,omitempty"` +} + +// UnmarshalResourceAlias unmarshals an instance of ResourceAlias from the specified map of raw messages. +func UnmarshalResourceAlias(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceAlias) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "guid", &obj.GUID) + if err != nil { + err = core.SDKErrorf(err, "", "guid-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deleted_at", &obj.DeletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "deleted_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_by", &obj.CreatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "created_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_by", &obj.UpdatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "updated_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deleted_by", &obj.DeletedBy) + if err != nil { + err = core.SDKErrorf(err, "", "deleted_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_instance_id", &obj.ResourceInstanceID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_instance_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "target_crn", &obj.TargetCRN) + if err != nil { + err = core.SDKErrorf(err, "", "target_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "account_id", &obj.AccountID) + if err != nil { + err = core.SDKErrorf(err, "", "account_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_id", &obj.ResourceID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_group_id", &obj.ResourceGroupID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "region_instance_id", &obj.RegionInstanceID) + if err != nil { + err = core.SDKErrorf(err, "", "region_instance_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "region_instance_crn", &obj.RegionInstanceCRN) + if err != nil { + err = core.SDKErrorf(err, "", "region_instance_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "state", &obj.State) + if err != nil { + err = core.SDKErrorf(err, "", "state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "migrated", &obj.Migrated) + if err != nil { + err = core.SDKErrorf(err, "", "migrated-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_instance_url", &obj.ResourceInstanceURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_instance_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_bindings_url", &obj.ResourceBindingsURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_bindings_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_keys_url", &obj.ResourceKeysURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_keys_url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceAliasesList : A list of resource aliases. +type ResourceAliasesList struct { + // The number of resource aliases in `resources`. + RowsCount *int64 `json:"rows_count" validate:"required"` + + // The URL for requesting the next page of results. + NextURL *string `json:"next_url" validate:"required"` + + // A list of resource aliases. + Resources []ResourceAlias `json:"resources" validate:"required"` +} + +// UnmarshalResourceAliasesList unmarshals an instance of ResourceAliasesList from the specified map of raw messages. +func UnmarshalResourceAliasesList(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceAliasesList) + err = core.UnmarshalPrimitive(m, "rows_count", &obj.RowsCount) + if err != nil { + err = core.SDKErrorf(err, "", "rows_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "next_url", &obj.NextURL) + if err != nil { + err = core.SDKErrorf(err, "", "next_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resources", &obj.Resources, UnmarshalResourceAlias) + if err != nil { + err = core.SDKErrorf(err, "", "resources-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ResourceAliasesList) GetNextStart() (*string, error) { + if core.IsNil(resp.NextURL) { + return nil, nil + } + start, err := core.GetQueryParam(resp.NextURL, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ResourceBinding : A resource binding. +type ResourceBinding struct { + // The ID associated with the binding. + ID *string `json:"id,omitempty"` + + // The GUID of the binding. + GUID *string `json:"guid,omitempty"` + + // When you provision a new binding, a relative URL path is created identifying the location of the binding. + URL *string `json:"url,omitempty"` + + // The date when the binding was created. + CreatedAt *strfmt.DateTime `json:"created_at,omitempty"` + + // The date when the binding was last updated. + UpdatedAt *strfmt.DateTime `json:"updated_at,omitempty"` + + // The date when the binding was deleted. + DeletedAt *strfmt.DateTime `json:"deleted_at,omitempty"` + + // The subject who created the binding. + CreatedBy *string `json:"created_by,omitempty"` + + // The subject who updated the binding. + UpdatedBy *string `json:"updated_by,omitempty"` + + // The subject who deleted the binding. + DeletedBy *string `json:"deleted_by,omitempty"` + + // The CRN of resource alias associated to the binding. + SourceCRN *string `json:"source_crn,omitempty"` + + // The CRN of target resource, for example, application, in a specific environment. + TargetCRN *string `json:"target_crn,omitempty"` + + // The full Cloud Resource Name (CRN) associated with the binding. For more information about this format, see [Cloud + // Resource Names](https://cloud.ibm.com/docs/overview?topic=overview-crn). + CRN *string `json:"crn,omitempty"` + + // The ID of the binding in the target environment. For example, `service_binding_id` in a given IBM Cloud environment. + RegionBindingID *string `json:"region_binding_id,omitempty"` + + // The CRN of the binding in the target environment. + RegionBindingCRN *string `json:"region_binding_crn,omitempty"` + + // The human-readable name of the binding. + Name *string `json:"name,omitempty"` + + // An alpha-numeric value identifying the account ID. + AccountID *string `json:"account_id,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // The state of the binding. + State *string `json:"state,omitempty"` + + // The credentials for the binding. Additional key-value pairs are passed through from the resource brokers. After a + // credential is created for a service, it can be viewed at any time for users that need the API key value. However, + // all users must have the correct level of access to see the details of a credential that includes the API key value. + // For additional details, see [viewing a + // credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui) + // or the service’s documentation. + Credentials *Credentials `json:"credentials,omitempty"` + + // Specifies whether the binding’s credentials support IAM. + IamCompatible *bool `json:"iam_compatible,omitempty"` + + // The unique ID of the offering. This value is provided by and stored in the global catalog. + ResourceID *string `json:"resource_id,omitempty"` + + // A boolean that dictates if the alias was migrated from a previous CF instance. + Migrated *bool `json:"migrated,omitempty"` + + // The relative path to the resource alias that this binding is associated with. + ResourceAliasURL *string `json:"resource_alias_url,omitempty"` +} + +// UnmarshalResourceBinding unmarshals an instance of ResourceBinding from the specified map of raw messages. +func UnmarshalResourceBinding(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceBinding) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "guid", &obj.GUID) + if err != nil { + err = core.SDKErrorf(err, "", "guid-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deleted_at", &obj.DeletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "deleted_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_by", &obj.CreatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "created_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_by", &obj.UpdatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "updated_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deleted_by", &obj.DeletedBy) + if err != nil { + err = core.SDKErrorf(err, "", "deleted_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_crn", &obj.SourceCRN) + if err != nil { + err = core.SDKErrorf(err, "", "source_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "target_crn", &obj.TargetCRN) + if err != nil { + err = core.SDKErrorf(err, "", "target_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "region_binding_id", &obj.RegionBindingID) + if err != nil { + err = core.SDKErrorf(err, "", "region_binding_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "region_binding_crn", &obj.RegionBindingCRN) + if err != nil { + err = core.SDKErrorf(err, "", "region_binding_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "account_id", &obj.AccountID) + if err != nil { + err = core.SDKErrorf(err, "", "account_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_group_id", &obj.ResourceGroupID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "state", &obj.State) + if err != nil { + err = core.SDKErrorf(err, "", "state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "credentials", &obj.Credentials, UnmarshalCredentials) + if err != nil { + err = core.SDKErrorf(err, "", "credentials-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iam_compatible", &obj.IamCompatible) + if err != nil { + err = core.SDKErrorf(err, "", "iam_compatible-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_id", &obj.ResourceID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "migrated", &obj.Migrated) + if err != nil { + err = core.SDKErrorf(err, "", "migrated-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_alias_url", &obj.ResourceAliasURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_alias_url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceBindingPostParameters : Configuration options represented as key-value pairs. Service defined options are passed through to the target +// resource brokers, whereas platform defined options are not. +// This type supports additional properties of type interface{}. +type ResourceBindingPostParameters struct { + // An optional platform defined option to reuse an existing IAM serviceId for the role assignment. + ServiceidCRN *string `json:"serviceid_crn,omitempty"` + + // Allows users to set arbitrary properties of type interface{}. + additionalProperties map[string]interface{} +} + +// SetProperty allows the user to set an arbitrary property on an instance of ResourceBindingPostParameters. +func (o *ResourceBindingPostParameters) SetProperty(key string, value interface{}) { + if o.additionalProperties == nil { + o.additionalProperties = make(map[string]interface{}) + } + o.additionalProperties[key] = value +} + +// SetProperties allows the user to set a map of arbitrary properties on an instance of ResourceBindingPostParameters. +func (o *ResourceBindingPostParameters) SetProperties(m map[string]interface{}) { + o.additionalProperties = make(map[string]interface{}) + for k, v := range m { + o.additionalProperties[k] = v + } +} + +// GetProperty allows the user to retrieve an arbitrary property from an instance of ResourceBindingPostParameters. +func (o *ResourceBindingPostParameters) GetProperty(key string) interface{} { + return o.additionalProperties[key] +} + +// GetProperties allows the user to retrieve the map of arbitrary properties from an instance of ResourceBindingPostParameters. +func (o *ResourceBindingPostParameters) GetProperties() map[string]interface{} { + return o.additionalProperties +} + +// MarshalJSON performs custom serialization for instances of ResourceBindingPostParameters +func (o *ResourceBindingPostParameters) MarshalJSON() (buffer []byte, err error) { + m := make(map[string]interface{}) + if len(o.additionalProperties) > 0 { + for k, v := range o.additionalProperties { + m[k] = v + } + } + if o.ServiceidCRN != nil { + m["serviceid_crn"] = o.ServiceidCRN + } + buffer, err = json.Marshal(m) + if err != nil { + err = core.SDKErrorf(err, "", "model-marshal", common.GetComponentInfo()) + } + return +} + +// UnmarshalResourceBindingPostParameters unmarshals an instance of ResourceBindingPostParameters from the specified map of raw messages. +func UnmarshalResourceBindingPostParameters(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceBindingPostParameters) + err = core.UnmarshalPrimitive(m, "serviceid_crn", &obj.ServiceidCRN) + if err != nil { + err = core.SDKErrorf(err, "", "serviceid_crn-error", common.GetComponentInfo()) + return + } + delete(m, "serviceid_crn") + for k := range m { + var v interface{} + e := core.UnmarshalPrimitive(m, k, &v) + if e != nil { + err = core.SDKErrorf(e, "", "additional-properties-error", common.GetComponentInfo()) + return + } + obj.SetProperty(k, v) + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceBindingsList : A list of resource bindings. +type ResourceBindingsList struct { + // The number of resource bindings in `resources`. + RowsCount *int64 `json:"rows_count" validate:"required"` + + // The URL for requesting the next page of results. + NextURL *string `json:"next_url" validate:"required"` + + // A list of resource bindings. + Resources []ResourceBinding `json:"resources" validate:"required"` +} + +// UnmarshalResourceBindingsList unmarshals an instance of ResourceBindingsList from the specified map of raw messages. +func UnmarshalResourceBindingsList(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceBindingsList) + err = core.UnmarshalPrimitive(m, "rows_count", &obj.RowsCount) + if err != nil { + err = core.SDKErrorf(err, "", "rows_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "next_url", &obj.NextURL) + if err != nil { + err = core.SDKErrorf(err, "", "next_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resources", &obj.Resources, UnmarshalResourceBinding) + if err != nil { + err = core.SDKErrorf(err, "", "resources-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ResourceBindingsList) GetNextStart() (*string, error) { + if core.IsNil(resp.NextURL) { + return nil, nil + } + start, err := core.GetQueryParam(resp.NextURL, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ResourceInstance : A resource instance. +type ResourceInstance struct { + // The ID associated with the instance. + ID *string `json:"id,omitempty"` + + // The GUID of the instance. + GUID *string `json:"guid,omitempty"` + + // When you provision a new resource, a relative URL path is created identifying the location of the instance. + URL *string `json:"url,omitempty"` + + // The date when the instance was created. + CreatedAt *strfmt.DateTime `json:"created_at,omitempty"` + + // The date when the instance was last updated. + UpdatedAt *strfmt.DateTime `json:"updated_at,omitempty"` + + // The date when the instance was deleted. + DeletedAt *strfmt.DateTime `json:"deleted_at,omitempty"` + + // The subject who created the instance. + CreatedBy *string `json:"created_by,omitempty"` + + // The subject who updated the instance. + UpdatedBy *string `json:"updated_by,omitempty"` + + // The subject who deleted the instance. + DeletedBy *string `json:"deleted_by,omitempty"` + + // The date when the instance was scheduled for reclamation. + ScheduledReclaimAt *strfmt.DateTime `json:"scheduled_reclaim_at,omitempty"` + + // The date when the instance under reclamation was restored. + RestoredAt *strfmt.DateTime `json:"restored_at,omitempty"` + + // The subject who restored the instance back from reclamation. + RestoredBy *string `json:"restored_by,omitempty"` + + // The subject who initiated the instance reclamation. + ScheduledReclaimBy *string `json:"scheduled_reclaim_by,omitempty"` + + // The human-readable name of the instance. + Name *string `json:"name,omitempty"` + + // The deployment location where the instance was provisioned. + RegionID *string `json:"region_id,omitempty"` + + // An alpha-numeric value identifying the account ID. + AccountID *string `json:"account_id,omitempty"` + + // The unique ID of the reseller channel where the instance was provisioned from. + ResellerChannelID *string `json:"reseller_channel_id,omitempty"` + + // The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog. + ResourcePlanID *string `json:"resource_plan_id,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // The CRN of the resource group. + ResourceGroupCRN *string `json:"resource_group_crn,omitempty"` + + // The deployment CRN as defined in the global catalog. The Cloud Resource Name (CRN) of the deployment location where + // the instance is provisioned. + TargetCRN *string `json:"target_crn,omitempty"` + + // Whether newly created resource key credentials can be retrieved by using get resource key or get a list of all of + // the resource keys requests. + OnetimeCredentials *bool `json:"onetime_credentials,omitempty"` + + // The current configuration parameters of the instance. + Parameters map[string]interface{} `json:"parameters,omitempty"` + + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region + // instance delete call. + AllowCleanup *bool `json:"allow_cleanup,omitempty"` + + // The full Cloud Resource Name (CRN) associated with the instance. For more information about this format, see [Cloud + // Resource Names](https://cloud.ibm.com/docs/overview?topic=overview-crn). + CRN *string `json:"crn,omitempty"` + + // The current state of the instance. For example, if the instance is deleted, it will return removed. + State *string `json:"state,omitempty"` + + // The type of the instance, for example, `service_instance`. + Type *string `json:"type,omitempty"` + + // The sub-type of instance, for example, `cfaas`. + SubType *string `json:"sub_type,omitempty"` + + // The unique ID of the offering. This value is provided by and stored in the global catalog. + ResourceID *string `json:"resource_id,omitempty"` + + // The resource-broker-provided URL to access administrative features of the instance. + DashboardURL *string `json:"dashboard_url,omitempty"` + + // The status of the last operation requested on the instance. + LastOperation *ResourceInstanceLastOperation `json:"last_operation,omitempty"` + + // The relative path to the resource aliases for the instance. + // Deprecated: this field is deprecated and may be removed in a future release. + ResourceAliasesURL *string `json:"resource_aliases_url,omitempty"` + + // The relative path to the resource bindings for the instance. + // Deprecated: this field is deprecated and may be removed in a future release. + ResourceBindingsURL *string `json:"resource_bindings_url,omitempty"` + + // The relative path to the resource keys for the instance. + ResourceKeysURL *string `json:"resource_keys_url,omitempty"` + + // The plan history of the instance. + PlanHistory []PlanHistoryItem `json:"plan_history,omitempty"` + + // A boolean that dictates if the resource instance was migrated from a previous CF instance. + Migrated *bool `json:"migrated,omitempty"` + + // Additional instance properties, contributed by the service and/or platform, are represented as key-value pairs. + Extensions map[string]interface{} `json:"extensions,omitempty"` + + // The CRN of the resource that has control of the instance. + ControlledBy *string `json:"controlled_by,omitempty"` + + // A boolean that dictates if the resource instance is locked or not. + Locked *bool `json:"locked,omitempty"` +} + +// Constants associated with the ResourceInstance.State property. +// The current state of the instance. For example, if the instance is deleted, it will return removed. +const ( + ResourceInstanceStateActiveConst = "active" + ResourceInstanceStateFailedConst = "failed" + ResourceInstanceStateInactiveConst = "inactive" + ResourceInstanceStatePendingReclamationConst = "pending_reclamation" + ResourceInstanceStatePendingRemovalConst = "pending_removal" + ResourceInstanceStatePreProvisioningConst = "pre_provisioning" + ResourceInstanceStateProvisioningConst = "provisioning" + ResourceInstanceStateRemovedConst = "removed" +) + +// UnmarshalResourceInstance unmarshals an instance of ResourceInstance from the specified map of raw messages. +func UnmarshalResourceInstance(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceInstance) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "guid", &obj.GUID) + if err != nil { + err = core.SDKErrorf(err, "", "guid-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deleted_at", &obj.DeletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "deleted_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_by", &obj.CreatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "created_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_by", &obj.UpdatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "updated_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deleted_by", &obj.DeletedBy) + if err != nil { + err = core.SDKErrorf(err, "", "deleted_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "scheduled_reclaim_at", &obj.ScheduledReclaimAt) + if err != nil { + err = core.SDKErrorf(err, "", "scheduled_reclaim_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "restored_at", &obj.RestoredAt) + if err != nil { + err = core.SDKErrorf(err, "", "restored_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "restored_by", &obj.RestoredBy) + if err != nil { + err = core.SDKErrorf(err, "", "restored_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "scheduled_reclaim_by", &obj.ScheduledReclaimBy) + if err != nil { + err = core.SDKErrorf(err, "", "scheduled_reclaim_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "region_id", &obj.RegionID) + if err != nil { + err = core.SDKErrorf(err, "", "region_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "account_id", &obj.AccountID) + if err != nil { + err = core.SDKErrorf(err, "", "account_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "reseller_channel_id", &obj.ResellerChannelID) + if err != nil { + err = core.SDKErrorf(err, "", "reseller_channel_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_plan_id", &obj.ResourcePlanID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_plan_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_group_id", &obj.ResourceGroupID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_group_crn", &obj.ResourceGroupCRN) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "target_crn", &obj.TargetCRN) + if err != nil { + err = core.SDKErrorf(err, "", "target_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "onetime_credentials", &obj.OnetimeCredentials) + if err != nil { + err = core.SDKErrorf(err, "", "onetime_credentials-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "parameters", &obj.Parameters) + if err != nil { + err = core.SDKErrorf(err, "", "parameters-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allow_cleanup", &obj.AllowCleanup) + if err != nil { + err = core.SDKErrorf(err, "", "allow_cleanup-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "state", &obj.State) + if err != nil { + err = core.SDKErrorf(err, "", "state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "sub_type", &obj.SubType) + if err != nil { + err = core.SDKErrorf(err, "", "sub_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_id", &obj.ResourceID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "dashboard_url", &obj.DashboardURL) + if err != nil { + err = core.SDKErrorf(err, "", "dashboard_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "last_operation", &obj.LastOperation, UnmarshalResourceInstanceLastOperation) + if err != nil { + err = core.SDKErrorf(err, "", "last_operation-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_aliases_url", &obj.ResourceAliasesURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_aliases_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_bindings_url", &obj.ResourceBindingsURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_bindings_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_keys_url", &obj.ResourceKeysURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_keys_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plan_history", &obj.PlanHistory, UnmarshalPlanHistoryItem) + if err != nil { + err = core.SDKErrorf(err, "", "plan_history-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "migrated", &obj.Migrated) + if err != nil { + err = core.SDKErrorf(err, "", "migrated-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "extensions", &obj.Extensions) + if err != nil { + err = core.SDKErrorf(err, "", "extensions-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "controlled_by", &obj.ControlledBy) + if err != nil { + err = core.SDKErrorf(err, "", "controlled_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "locked", &obj.Locked) + if err != nil { + err = core.SDKErrorf(err, "", "locked-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceInstanceLastOperation : The status of the last operation requested on the instance. +// This type supports additional properties of type interface{}. +type ResourceInstanceLastOperation struct { + // The last operation type of the resource instance. + Type *string `json:"type" validate:"required"` + + // The last operation state of the resoure instance. This indicates if the resource's last operation is in progress, + // succeeded or failed. + State *string `json:"state" validate:"required"` + + // The last operation sub type of the resoure instance. + SubType *string `json:"sub_type,omitempty"` + + // A boolean that indicates if the resource is provisioned asynchronously or not. + Async *bool `json:"async" validate:"required"` + + // The description of the status of last operation. + Description *string `json:"description" validate:"required"` + + // Optional string that states the reason code for the last operation state change. + ReasonCode *string `json:"reason_code,omitempty"` + + // A field which indicates the time after which the instance's last operation is to be polled. + PollAfter *float64 `json:"poll_after,omitempty"` + + // A boolean that indicates if the resource's last operation is cancelable or not. + Cancelable *bool `json:"cancelable" validate:"required"` + + // A boolean that indicates if the resource broker's last operation can be polled or not. + Poll *bool `json:"poll" validate:"required"` + + // Allows users to set arbitrary properties of type interface{}. + additionalProperties map[string]interface{} +} + +// Constants associated with the ResourceInstanceLastOperation.State property. +// The last operation state of the resoure instance. This indicates if the resource's last operation is in progress, +// succeeded or failed. +const ( + ResourceInstanceLastOperationStateFailedConst = "failed" + ResourceInstanceLastOperationStateInProgressConst = "in progress" + ResourceInstanceLastOperationStateSucceededConst = "succeeded" +) + +// SetProperty allows the user to set an arbitrary property on an instance of ResourceInstanceLastOperation. +func (o *ResourceInstanceLastOperation) SetProperty(key string, value interface{}) { + if o.additionalProperties == nil { + o.additionalProperties = make(map[string]interface{}) + } + o.additionalProperties[key] = value +} + +// SetProperties allows the user to set a map of arbitrary properties on an instance of ResourceInstanceLastOperation. +func (o *ResourceInstanceLastOperation) SetProperties(m map[string]interface{}) { + o.additionalProperties = make(map[string]interface{}) + for k, v := range m { + o.additionalProperties[k] = v + } +} + +// GetProperty allows the user to retrieve an arbitrary property from an instance of ResourceInstanceLastOperation. +func (o *ResourceInstanceLastOperation) GetProperty(key string) interface{} { + return o.additionalProperties[key] +} + +// GetProperties allows the user to retrieve the map of arbitrary properties from an instance of ResourceInstanceLastOperation. +func (o *ResourceInstanceLastOperation) GetProperties() map[string]interface{} { + return o.additionalProperties +} + +// MarshalJSON performs custom serialization for instances of ResourceInstanceLastOperation +func (o *ResourceInstanceLastOperation) MarshalJSON() (buffer []byte, err error) { + m := make(map[string]interface{}) + if len(o.additionalProperties) > 0 { + for k, v := range o.additionalProperties { + m[k] = v + } + } + if o.Type != nil { + m["type"] = o.Type + } + if o.State != nil { + m["state"] = o.State + } + if o.SubType != nil { + m["sub_type"] = o.SubType + } + if o.Async != nil { + m["async"] = o.Async + } + if o.Description != nil { + m["description"] = o.Description + } + if o.ReasonCode != nil { + m["reason_code"] = o.ReasonCode + } + if o.PollAfter != nil { + m["poll_after"] = o.PollAfter + } + if o.Cancelable != nil { + m["cancelable"] = o.Cancelable + } + if o.Poll != nil { + m["poll"] = o.Poll + } + buffer, err = json.Marshal(m) + if err != nil { + err = core.SDKErrorf(err, "", "model-marshal", common.GetComponentInfo()) + } + return +} + +// UnmarshalResourceInstanceLastOperation unmarshals an instance of ResourceInstanceLastOperation from the specified map of raw messages. +func UnmarshalResourceInstanceLastOperation(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceInstanceLastOperation) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + delete(m, "type") + err = core.UnmarshalPrimitive(m, "state", &obj.State) + if err != nil { + err = core.SDKErrorf(err, "", "state-error", common.GetComponentInfo()) + return + } + delete(m, "state") + err = core.UnmarshalPrimitive(m, "sub_type", &obj.SubType) + if err != nil { + err = core.SDKErrorf(err, "", "sub_type-error", common.GetComponentInfo()) + return + } + delete(m, "sub_type") + err = core.UnmarshalPrimitive(m, "async", &obj.Async) + if err != nil { + err = core.SDKErrorf(err, "", "async-error", common.GetComponentInfo()) + return + } + delete(m, "async") + err = core.UnmarshalPrimitive(m, "description", &obj.Description) + if err != nil { + err = core.SDKErrorf(err, "", "description-error", common.GetComponentInfo()) + return + } + delete(m, "description") + err = core.UnmarshalPrimitive(m, "reason_code", &obj.ReasonCode) + if err != nil { + err = core.SDKErrorf(err, "", "reason_code-error", common.GetComponentInfo()) + return + } + delete(m, "reason_code") + err = core.UnmarshalPrimitive(m, "poll_after", &obj.PollAfter) + if err != nil { + err = core.SDKErrorf(err, "", "poll_after-error", common.GetComponentInfo()) + return + } + delete(m, "poll_after") + err = core.UnmarshalPrimitive(m, "cancelable", &obj.Cancelable) + if err != nil { + err = core.SDKErrorf(err, "", "cancelable-error", common.GetComponentInfo()) + return + } + delete(m, "cancelable") + err = core.UnmarshalPrimitive(m, "poll", &obj.Poll) + if err != nil { + err = core.SDKErrorf(err, "", "poll-error", common.GetComponentInfo()) + return + } + delete(m, "poll") + for k := range m { + var v interface{} + e := core.UnmarshalPrimitive(m, k, &v) + if e != nil { + err = core.SDKErrorf(e, "", "additional-properties-error", common.GetComponentInfo()) + return + } + obj.SetProperty(k, v) + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceInstancesList : A list of resource instances. +type ResourceInstancesList struct { + // The number of resource instances in `resources`. + RowsCount *int64 `json:"rows_count" validate:"required"` + + // The URL for requesting the next page of results. + NextURL *string `json:"next_url" validate:"required"` + + // A list of resource instances. + Resources []ResourceInstance `json:"resources" validate:"required"` +} + +// UnmarshalResourceInstancesList unmarshals an instance of ResourceInstancesList from the specified map of raw messages. +func UnmarshalResourceInstancesList(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceInstancesList) + err = core.UnmarshalPrimitive(m, "rows_count", &obj.RowsCount) + if err != nil { + err = core.SDKErrorf(err, "", "rows_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "next_url", &obj.NextURL) + if err != nil { + err = core.SDKErrorf(err, "", "next_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resources", &obj.Resources, UnmarshalResourceInstance) + if err != nil { + err = core.SDKErrorf(err, "", "resources-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ResourceInstancesList) GetNextStart() (*string, error) { + if core.IsNil(resp.NextURL) { + return nil, nil + } + start, err := core.GetQueryParam(resp.NextURL, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ResourceKey : A resource key. +type ResourceKey struct { + // The ID associated with the key. + ID *string `json:"id,omitempty"` + + // The GUID of the key. + GUID *string `json:"guid,omitempty"` + + // When you created a new key, a relative URL path is created identifying the location of the key. + URL *string `json:"url,omitempty"` + + // The date when the key was created. + CreatedAt *strfmt.DateTime `json:"created_at,omitempty"` + + // The date when the key was last updated. + UpdatedAt *strfmt.DateTime `json:"updated_at,omitempty"` + + // The date when the key was deleted. + DeletedAt *strfmt.DateTime `json:"deleted_at,omitempty"` + + // The subject who created the key. + CreatedBy *string `json:"created_by,omitempty"` + + // The subject who updated the key. + UpdatedBy *string `json:"updated_by,omitempty"` + + // The subject who deleted the key. + DeletedBy *string `json:"deleted_by,omitempty"` + + // The CRN of resource instance or alias associated to the key. + SourceCRN *string `json:"source_crn,omitempty"` + + // The human-readable name of the key. + Name *string `json:"name,omitempty"` + + // The full Cloud Resource Name (CRN) associated with the key. For more information about this format, see [Cloud + // Resource Names](https://cloud.ibm.com/docs/overview?topic=overview-crn). + CRN *string `json:"crn,omitempty"` + + // The state of the key. + State *string `json:"state,omitempty"` + + // An alpha-numeric value identifying the account ID. + AccountID *string `json:"account_id,omitempty"` + + // The ID of the resource group. + ResourceGroupID *string `json:"resource_group_id,omitempty"` + + // The unique ID of the offering. This value is provided by and stored in the global catalog. + ResourceID *string `json:"resource_id,omitempty"` + + // Whether newly created resource key credentials can be retrieved by using get resource key or get a list of all of + // the resource keys requests. + OnetimeCredentials *bool `json:"onetime_credentials,omitempty"` + + // The credentials for the key. Additional key-value pairs are passed through from the resource brokers. After a + // credential is created for a service, it can be viewed at any time for users that need the API key value. However, + // all users must have the correct level of access to see the details of a credential that includes the API key value. + // For additional details, see [viewing a + // credential](https://cloud.ibm.com/docs/account?topic=account-service_credentials&interface=ui#viewing-credentials-ui) + // or the service’s documentation. + Credentials *Credentials `json:"credentials,omitempty"` + + // Specifies whether the key’s credentials support IAM. + IamCompatible *bool `json:"iam_compatible,omitempty"` + + // A boolean that dictates if the alias was migrated from a previous CF instance. + Migrated *bool `json:"migrated,omitempty"` + + // The relative path to the resource. + ResourceInstanceURL *string `json:"resource_instance_url,omitempty"` + + // The relative path to the resource alias that this binding is associated with. + ResourceAliasURL *string `json:"resource_alias_url,omitempty"` +} + +// UnmarshalResourceKey unmarshals an instance of ResourceKey from the specified map of raw messages. +func UnmarshalResourceKey(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceKey) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "guid", &obj.GUID) + if err != nil { + err = core.SDKErrorf(err, "", "guid-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deleted_at", &obj.DeletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "deleted_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_by", &obj.CreatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "created_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_by", &obj.UpdatedBy) + if err != nil { + err = core.SDKErrorf(err, "", "updated_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deleted_by", &obj.DeletedBy) + if err != nil { + err = core.SDKErrorf(err, "", "deleted_by-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_crn", &obj.SourceCRN) + if err != nil { + err = core.SDKErrorf(err, "", "source_crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "state", &obj.State) + if err != nil { + err = core.SDKErrorf(err, "", "state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "account_id", &obj.AccountID) + if err != nil { + err = core.SDKErrorf(err, "", "account_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_group_id", &obj.ResourceGroupID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_id", &obj.ResourceID) + if err != nil { + err = core.SDKErrorf(err, "", "resource_id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "onetime_credentials", &obj.OnetimeCredentials) + if err != nil { + err = core.SDKErrorf(err, "", "onetime_credentials-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "credentials", &obj.Credentials, UnmarshalCredentials) + if err != nil { + err = core.SDKErrorf(err, "", "credentials-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iam_compatible", &obj.IamCompatible) + if err != nil { + err = core.SDKErrorf(err, "", "iam_compatible-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "migrated", &obj.Migrated) + if err != nil { + err = core.SDKErrorf(err, "", "migrated-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_instance_url", &obj.ResourceInstanceURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_instance_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_alias_url", &obj.ResourceAliasURL) + if err != nil { + err = core.SDKErrorf(err, "", "resource_alias_url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceKeyPostParameters : Configuration options represented as key-value pairs. Service defined options are passed through to the target +// resource brokers, whereas platform defined options are not. +// This type supports additional properties of type interface{}. +type ResourceKeyPostParameters struct { + // An optional platform defined option to reuse an existing IAM serviceId for the role assignment. + ServiceidCRN *string `json:"serviceid_crn,omitempty"` + + // Allows users to set arbitrary properties of type interface{}. + additionalProperties map[string]interface{} +} + +// SetProperty allows the user to set an arbitrary property on an instance of ResourceKeyPostParameters. +func (o *ResourceKeyPostParameters) SetProperty(key string, value interface{}) { + if o.additionalProperties == nil { + o.additionalProperties = make(map[string]interface{}) + } + o.additionalProperties[key] = value +} + +// SetProperties allows the user to set a map of arbitrary properties on an instance of ResourceKeyPostParameters. +func (o *ResourceKeyPostParameters) SetProperties(m map[string]interface{}) { + o.additionalProperties = make(map[string]interface{}) + for k, v := range m { + o.additionalProperties[k] = v + } +} + +// GetProperty allows the user to retrieve an arbitrary property from an instance of ResourceKeyPostParameters. +func (o *ResourceKeyPostParameters) GetProperty(key string) interface{} { + return o.additionalProperties[key] +} + +// GetProperties allows the user to retrieve the map of arbitrary properties from an instance of ResourceKeyPostParameters. +func (o *ResourceKeyPostParameters) GetProperties() map[string]interface{} { + return o.additionalProperties +} + +// MarshalJSON performs custom serialization for instances of ResourceKeyPostParameters +func (o *ResourceKeyPostParameters) MarshalJSON() (buffer []byte, err error) { + m := make(map[string]interface{}) + if len(o.additionalProperties) > 0 { + for k, v := range o.additionalProperties { + m[k] = v + } + } + if o.ServiceidCRN != nil { + m["serviceid_crn"] = o.ServiceidCRN + } + buffer, err = json.Marshal(m) + if err != nil { + err = core.SDKErrorf(err, "", "model-marshal", common.GetComponentInfo()) + } + return +} + +// UnmarshalResourceKeyPostParameters unmarshals an instance of ResourceKeyPostParameters from the specified map of raw messages. +func UnmarshalResourceKeyPostParameters(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceKeyPostParameters) + err = core.UnmarshalPrimitive(m, "serviceid_crn", &obj.ServiceidCRN) + if err != nil { + err = core.SDKErrorf(err, "", "serviceid_crn-error", common.GetComponentInfo()) + return + } + delete(m, "serviceid_crn") + for k := range m { + var v interface{} + e := core.UnmarshalPrimitive(m, k, &v) + if e != nil { + err = core.SDKErrorf(e, "", "additional-properties-error", common.GetComponentInfo()) + return + } + obj.SetProperty(k, v) + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceKeysList : A list of resource keys. +type ResourceKeysList struct { + // The number of resource keys in `resources`. + RowsCount *int64 `json:"rows_count" validate:"required"` + + // The URL for requesting the next page of results. + NextURL *string `json:"next_url" validate:"required"` + + // A list of resource keys. + Resources []ResourceKey `json:"resources" validate:"required"` +} + +// UnmarshalResourceKeysList unmarshals an instance of ResourceKeysList from the specified map of raw messages. +func UnmarshalResourceKeysList(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceKeysList) + err = core.UnmarshalPrimitive(m, "rows_count", &obj.RowsCount) + if err != nil { + err = core.SDKErrorf(err, "", "rows_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "next_url", &obj.NextURL) + if err != nil { + err = core.SDKErrorf(err, "", "next_url-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resources", &obj.Resources, UnmarshalResourceKey) + if err != nil { + err = core.SDKErrorf(err, "", "resources-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ResourceKeysList) GetNextStart() (*string, error) { + if core.IsNil(resp.NextURL) { + return nil, nil + } + start, err := core.GetQueryParam(resp.NextURL, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// RunReclamationActionOptions : The RunReclamationAction options. +type RunReclamationActionOptions struct { + // The ID associated with the reclamation. + ID *string `json:"id" validate:"required,ne="` + + // The reclamation action name. Specify `reclaim` to delete a resource, or `restore` to restore a resource. + ActionName *string `json:"action_name" validate:"required,ne="` + + // The request initiator, if different from the request token. + RequestBy *string `json:"request_by,omitempty"` + + // A comment to describe the action. + Comment *string `json:"comment,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRunReclamationActionOptions : Instantiate RunReclamationActionOptions +func (*ResourceControllerV2) NewRunReclamationActionOptions(id string, actionName string) *RunReclamationActionOptions { + return &RunReclamationActionOptions{ + ID: core.StringPtr(id), + ActionName: core.StringPtr(actionName), + } +} + +// SetID : Allow user to set ID +func (_options *RunReclamationActionOptions) SetID(id string) *RunReclamationActionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetActionName : Allow user to set ActionName +func (_options *RunReclamationActionOptions) SetActionName(actionName string) *RunReclamationActionOptions { + _options.ActionName = core.StringPtr(actionName) + return _options +} + +// SetRequestBy : Allow user to set RequestBy +func (_options *RunReclamationActionOptions) SetRequestBy(requestBy string) *RunReclamationActionOptions { + _options.RequestBy = core.StringPtr(requestBy) + return _options +} + +// SetComment : Allow user to set Comment +func (_options *RunReclamationActionOptions) SetComment(comment string) *RunReclamationActionOptions { + _options.Comment = core.StringPtr(comment) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RunReclamationActionOptions) SetHeaders(param map[string]string) *RunReclamationActionOptions { + options.Headers = param + return options +} + +// UnlockResourceInstanceOptions : The UnlockResourceInstance options. +type UnlockResourceInstanceOptions struct { + // The resource instance URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUnlockResourceInstanceOptions : Instantiate UnlockResourceInstanceOptions +func (*ResourceControllerV2) NewUnlockResourceInstanceOptions(id string) *UnlockResourceInstanceOptions { + return &UnlockResourceInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *UnlockResourceInstanceOptions) SetID(id string) *UnlockResourceInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UnlockResourceInstanceOptions) SetHeaders(param map[string]string) *UnlockResourceInstanceOptions { + options.Headers = param + return options +} + +// UpdateResourceAliasOptions : The UpdateResourceAlias options. +type UpdateResourceAliasOptions struct { + // The resource alias URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // The new name of the alias. Must be 180 characters or less and cannot include any special characters other than + // `(space) - . _ :`. + Name *string `json:"name" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateResourceAliasOptions : Instantiate UpdateResourceAliasOptions +func (*ResourceControllerV2) NewUpdateResourceAliasOptions(id string, name string) *UpdateResourceAliasOptions { + return &UpdateResourceAliasOptions{ + ID: core.StringPtr(id), + Name: core.StringPtr(name), + } +} + +// SetID : Allow user to set ID +func (_options *UpdateResourceAliasOptions) SetID(id string) *UpdateResourceAliasOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetName : Allow user to set Name +func (_options *UpdateResourceAliasOptions) SetName(name string) *UpdateResourceAliasOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateResourceAliasOptions) SetHeaders(param map[string]string) *UpdateResourceAliasOptions { + options.Headers = param + return options +} + +// UpdateResourceBindingOptions : The UpdateResourceBinding options. +type UpdateResourceBindingOptions struct { + // The resource binding URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // The new name of the binding. Must be 180 characters or less and cannot include any special characters other than + // `(space) - . _ :`. + Name *string `json:"name" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateResourceBindingOptions : Instantiate UpdateResourceBindingOptions +func (*ResourceControllerV2) NewUpdateResourceBindingOptions(id string, name string) *UpdateResourceBindingOptions { + return &UpdateResourceBindingOptions{ + ID: core.StringPtr(id), + Name: core.StringPtr(name), + } +} + +// SetID : Allow user to set ID +func (_options *UpdateResourceBindingOptions) SetID(id string) *UpdateResourceBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetName : Allow user to set Name +func (_options *UpdateResourceBindingOptions) SetName(name string) *UpdateResourceBindingOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateResourceBindingOptions) SetHeaders(param map[string]string) *UpdateResourceBindingOptions { + options.Headers = param + return options +} + +// UpdateResourceInstanceOptions : The UpdateResourceInstance options. +type UpdateResourceInstanceOptions struct { + // The resource instance URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // The new name of the instance. Must be 180 characters or less and cannot include any special characters other than + // `(space) - . _ :`. + Name *string `json:"name,omitempty"` + + // The new configuration options for the instance. Set the `onetime_credentials` property to specify whether newly + // created resource key credentials can be retrieved by using get resource key or get a list of all of the resource + // keys requests. + Parameters map[string]interface{} `json:"parameters,omitempty"` + + // The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog. + ResourcePlanID *string `json:"resource_plan_id,omitempty"` + + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region + // instance delete call. + AllowCleanup *bool `json:"allow_cleanup,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateResourceInstanceOptions : Instantiate UpdateResourceInstanceOptions +func (*ResourceControllerV2) NewUpdateResourceInstanceOptions(id string) *UpdateResourceInstanceOptions { + return &UpdateResourceInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *UpdateResourceInstanceOptions) SetID(id string) *UpdateResourceInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetName : Allow user to set Name +func (_options *UpdateResourceInstanceOptions) SetName(name string) *UpdateResourceInstanceOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetParameters : Allow user to set Parameters +func (_options *UpdateResourceInstanceOptions) SetParameters(parameters map[string]interface{}) *UpdateResourceInstanceOptions { + _options.Parameters = parameters + return _options +} + +// SetResourcePlanID : Allow user to set ResourcePlanID +func (_options *UpdateResourceInstanceOptions) SetResourcePlanID(resourcePlanID string) *UpdateResourceInstanceOptions { + _options.ResourcePlanID = core.StringPtr(resourcePlanID) + return _options +} + +// SetAllowCleanup : Allow user to set AllowCleanup +func (_options *UpdateResourceInstanceOptions) SetAllowCleanup(allowCleanup bool) *UpdateResourceInstanceOptions { + _options.AllowCleanup = core.BoolPtr(allowCleanup) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateResourceInstanceOptions) SetHeaders(param map[string]string) *UpdateResourceInstanceOptions { + options.Headers = param + return options +} + +// UpdateResourceKeyOptions : The UpdateResourceKey options. +type UpdateResourceKeyOptions struct { + // The resource key URL-encoded CRN or GUID. + ID *string `json:"id" validate:"required,ne="` + + // The new name of the key. Must be 180 characters or less and cannot include any special characters other than + // `(space) - . _ :`. + Name *string `json:"name" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateResourceKeyOptions : Instantiate UpdateResourceKeyOptions +func (*ResourceControllerV2) NewUpdateResourceKeyOptions(id string, name string) *UpdateResourceKeyOptions { + return &UpdateResourceKeyOptions{ + ID: core.StringPtr(id), + Name: core.StringPtr(name), + } +} + +// SetID : Allow user to set ID +func (_options *UpdateResourceKeyOptions) SetID(id string) *UpdateResourceKeyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetName : Allow user to set Name +func (_options *UpdateResourceKeyOptions) SetName(name string) *UpdateResourceKeyOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateResourceKeyOptions) SetHeaders(param map[string]string) *UpdateResourceKeyOptions { + options.Headers = param + return options +} + +// ResourceInstancesPager can be used to simplify the use of the "ListResourceInstances" method. +type ResourceInstancesPager struct { + hasNext bool + options *ListResourceInstancesOptions + client *ResourceControllerV2 + pageContext struct { + next *string + } +} + +// NewResourceInstancesPager returns a new ResourceInstancesPager instance. +func (resourceController *ResourceControllerV2) NewResourceInstancesPager(options *ListResourceInstancesOptions) (pager *ResourceInstancesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListResourceInstancesOptions = *options + pager = &ResourceInstancesPager{ + hasNext: true, + options: &optionsCopy, + client: resourceController, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ResourceInstancesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ResourceInstancesPager) GetNextWithContext(ctx context.Context) (page []ResourceInstance, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListResourceInstancesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.NextURL != nil { + var start *string + start, err = core.GetQueryParam(result.NextURL, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.NextURL, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Resources + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ResourceInstancesPager) GetAllWithContext(ctx context.Context) (allItems []ResourceInstance, err error) { + for pager.HasNext() { + var nextPage []ResourceInstance + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ResourceInstancesPager) GetNext() (page []ResourceInstance, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ResourceInstancesPager) GetAll() (allItems []ResourceInstance, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ResourceAliasesForInstancePager can be used to simplify the use of the "ListResourceAliasesForInstance" method. +type ResourceAliasesForInstancePager struct { + hasNext bool + options *ListResourceAliasesForInstanceOptions + client *ResourceControllerV2 + pageContext struct { + next *string + } +} + +// NewResourceAliasesForInstancePager returns a new ResourceAliasesForInstancePager instance. +func (resourceController *ResourceControllerV2) NewResourceAliasesForInstancePager(options *ListResourceAliasesForInstanceOptions) (pager *ResourceAliasesForInstancePager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListResourceAliasesForInstanceOptions = *options + pager = &ResourceAliasesForInstancePager{ + hasNext: true, + options: &optionsCopy, + client: resourceController, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ResourceAliasesForInstancePager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ResourceAliasesForInstancePager) GetNextWithContext(ctx context.Context) (page []ResourceAlias, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListResourceAliasesForInstanceWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.NextURL != nil { + var start *string + start, err = core.GetQueryParam(result.NextURL, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.NextURL, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Resources + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ResourceAliasesForInstancePager) GetAllWithContext(ctx context.Context) (allItems []ResourceAlias, err error) { + for pager.HasNext() { + var nextPage []ResourceAlias + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ResourceAliasesForInstancePager) GetNext() (page []ResourceAlias, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ResourceAliasesForInstancePager) GetAll() (allItems []ResourceAlias, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ResourceKeysForInstancePager can be used to simplify the use of the "ListResourceKeysForInstance" method. +type ResourceKeysForInstancePager struct { + hasNext bool + options *ListResourceKeysForInstanceOptions + client *ResourceControllerV2 + pageContext struct { + next *string + } +} + +// NewResourceKeysForInstancePager returns a new ResourceKeysForInstancePager instance. +func (resourceController *ResourceControllerV2) NewResourceKeysForInstancePager(options *ListResourceKeysForInstanceOptions) (pager *ResourceKeysForInstancePager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListResourceKeysForInstanceOptions = *options + pager = &ResourceKeysForInstancePager{ + hasNext: true, + options: &optionsCopy, + client: resourceController, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ResourceKeysForInstancePager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ResourceKeysForInstancePager) GetNextWithContext(ctx context.Context) (page []ResourceKey, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListResourceKeysForInstanceWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.NextURL != nil { + var start *string + start, err = core.GetQueryParam(result.NextURL, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.NextURL, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Resources + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ResourceKeysForInstancePager) GetAllWithContext(ctx context.Context) (allItems []ResourceKey, err error) { + for pager.HasNext() { + var nextPage []ResourceKey + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ResourceKeysForInstancePager) GetNext() (page []ResourceKey, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ResourceKeysForInstancePager) GetAll() (allItems []ResourceKey, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ResourceKeysPager can be used to simplify the use of the "ListResourceKeys" method. +type ResourceKeysPager struct { + hasNext bool + options *ListResourceKeysOptions + client *ResourceControllerV2 + pageContext struct { + next *string + } +} + +// NewResourceKeysPager returns a new ResourceKeysPager instance. +func (resourceController *ResourceControllerV2) NewResourceKeysPager(options *ListResourceKeysOptions) (pager *ResourceKeysPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListResourceKeysOptions = *options + pager = &ResourceKeysPager{ + hasNext: true, + options: &optionsCopy, + client: resourceController, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ResourceKeysPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ResourceKeysPager) GetNextWithContext(ctx context.Context) (page []ResourceKey, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListResourceKeysWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.NextURL != nil { + var start *string + start, err = core.GetQueryParam(result.NextURL, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.NextURL, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Resources + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ResourceKeysPager) GetAllWithContext(ctx context.Context) (allItems []ResourceKey, err error) { + for pager.HasNext() { + var nextPage []ResourceKey + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ResourceKeysPager) GetNext() (page []ResourceKey, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ResourceKeysPager) GetAll() (allItems []ResourceKey, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ResourceBindingsPager can be used to simplify the use of the "ListResourceBindings" method. +type ResourceBindingsPager struct { + hasNext bool + options *ListResourceBindingsOptions + client *ResourceControllerV2 + pageContext struct { + next *string + } +} + +// NewResourceBindingsPager returns a new ResourceBindingsPager instance. +func (resourceController *ResourceControllerV2) NewResourceBindingsPager(options *ListResourceBindingsOptions) (pager *ResourceBindingsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListResourceBindingsOptions = *options + pager = &ResourceBindingsPager{ + hasNext: true, + options: &optionsCopy, + client: resourceController, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ResourceBindingsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ResourceBindingsPager) GetNextWithContext(ctx context.Context) (page []ResourceBinding, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListResourceBindingsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.NextURL != nil { + var start *string + start, err = core.GetQueryParam(result.NextURL, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.NextURL, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Resources + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ResourceBindingsPager) GetAllWithContext(ctx context.Context) (allItems []ResourceBinding, err error) { + for pager.HasNext() { + var nextPage []ResourceBinding + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ResourceBindingsPager) GetNext() (page []ResourceBinding, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ResourceBindingsPager) GetAll() (allItems []ResourceBinding, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ResourceAliasesPager can be used to simplify the use of the "ListResourceAliases" method. +type ResourceAliasesPager struct { + hasNext bool + options *ListResourceAliasesOptions + client *ResourceControllerV2 + pageContext struct { + next *string + } +} + +// NewResourceAliasesPager returns a new ResourceAliasesPager instance. +func (resourceController *ResourceControllerV2) NewResourceAliasesPager(options *ListResourceAliasesOptions) (pager *ResourceAliasesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListResourceAliasesOptions = *options + pager = &ResourceAliasesPager{ + hasNext: true, + options: &optionsCopy, + client: resourceController, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ResourceAliasesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ResourceAliasesPager) GetNextWithContext(ctx context.Context) (page []ResourceAlias, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListResourceAliasesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.NextURL != nil { + var start *string + start, err = core.GetQueryParam(result.NextURL, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.NextURL, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Resources + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ResourceAliasesPager) GetAllWithContext(ctx context.Context) (allItems []ResourceAlias, err error) { + for pager.HasNext() { + var nextPage []ResourceAlias + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ResourceAliasesPager) GetNext() (page []ResourceAlias, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ResourceAliasesPager) GetAll() (allItems []ResourceAlias, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ResourceBindingsForAliasPager can be used to simplify the use of the "ListResourceBindingsForAlias" method. +type ResourceBindingsForAliasPager struct { + hasNext bool + options *ListResourceBindingsForAliasOptions + client *ResourceControllerV2 + pageContext struct { + next *string + } +} + +// NewResourceBindingsForAliasPager returns a new ResourceBindingsForAliasPager instance. +func (resourceController *ResourceControllerV2) NewResourceBindingsForAliasPager(options *ListResourceBindingsForAliasOptions) (pager *ResourceBindingsForAliasPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListResourceBindingsForAliasOptions = *options + pager = &ResourceBindingsForAliasPager{ + hasNext: true, + options: &optionsCopy, + client: resourceController, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ResourceBindingsForAliasPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ResourceBindingsForAliasPager) GetNextWithContext(ctx context.Context) (page []ResourceBinding, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListResourceBindingsForAliasWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.NextURL != nil { + var start *string + start, err = core.GetQueryParam(result.NextURL, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.NextURL, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Resources + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ResourceBindingsForAliasPager) GetAllWithContext(ctx context.Context) (allItems []ResourceBinding, err error) { + for pager.HasNext() { + var nextPage []ResourceBinding + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ResourceBindingsForAliasPager) GetNext() (page []ResourceBinding, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ResourceBindingsForAliasPager) GetAll() (allItems []ResourceBinding, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} diff --git a/vendor/github.com/IBM/vpc-go-sdk/LICENSE b/vendor/github.com/IBM/vpc-go-sdk/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/github.com/IBM/vpc-go-sdk/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/IBM/vpc-go-sdk/common/headers.go b/vendor/github.com/IBM/vpc-go-sdk/common/headers.go new file mode 100644 index 000000000..ec4e7f8c0 --- /dev/null +++ b/vendor/github.com/IBM/vpc-go-sdk/common/headers.go @@ -0,0 +1,66 @@ +package common + +import ( + "fmt" + "runtime" + + "github.com/IBM/go-sdk-core/v5/core" + "github.com/google/uuid" +) + +const ( + HEADER_NAME_USER_AGENT = "User-Agent" + + SDK_NAME = "vpc-go-sdk" + + X_REQUEST_ID = "X-Request-Id" +) + +// GetSdkHeaders - returns the set of SDK-specific headers to be included in an outgoing request. +// +// This function is invoked by generated service methods (i.e. methods which implement the REST API operations +// defined within the API definition). The purpose of this function is to give the SDK implementor the opportunity +// to provide SDK-specific HTTP headers that will be sent with an outgoing REST API request. +// This function is invoked for each invocation of a generated service method, +// so the set of HTTP headers could be request-specific. +// As an optimization, if your SDK will be returning the same set of HTTP headers for each invocation of this +// function, it is recommended that you initialize the returned map just once (perhaps by using +// lazy initialization) and simply return it each time the function is invoked, instead of building it each time +// as in the example below. +// +// Parameters: +// +// serviceName - the name of the service as defined in the API definition (e.g. "MyService1") +// serviceVersion - the version of the service as defined in the API definition (e.g. "V1") +// operationId - the operationId as defined in the API definition (e.g. getContext) +// +// Returns: +// +// a Map which contains the set of headers to be included in the REST API request +func GetSdkHeaders(serviceName string, serviceVersion string, operationId string) map[string]string { + sdkHeaders := make(map[string]string) + + sdkHeaders[HEADER_NAME_USER_AGENT] = GetUserAgentInfo() + sdkHeaders[X_REQUEST_ID] = GetNewXRequestID() + + return sdkHeaders +} + +var UserAgent string = fmt.Sprintf("%s-%s %s", SDK_NAME, Version, GetSystemInfo()) + +func GetUserAgentInfo() string { + return UserAgent +} +func GetNewXRequestID() string { + return uuid.New().String() +} + +var systemInfo = fmt.Sprintf("(arch=%s; os=%s; go.version=%s)", runtime.GOARCH, runtime.GOOS, runtime.Version()) + +func GetSystemInfo() string { + return systemInfo +} + +func GetComponentInfo() *core.ProblemComponent { + return core.NewProblemComponent("github.com/IBM/vpc-go-sdk", Version) +} diff --git a/vendor/github.com/IBM/vpc-go-sdk/common/version.go b/vendor/github.com/IBM/vpc-go-sdk/common/version.go new file mode 100644 index 000000000..d4de9d48b --- /dev/null +++ b/vendor/github.com/IBM/vpc-go-sdk/common/version.go @@ -0,0 +1,4 @@ +package common + +// Version of the SDK +const Version = "0.76.1" diff --git a/vendor/github.com/IBM/vpc-go-sdk/vpcv1/vpc_v1.go b/vendor/github.com/IBM/vpc-go-sdk/vpcv1/vpc_v1.go new file mode 100644 index 000000000..192392ba1 --- /dev/null +++ b/vendor/github.com/IBM/vpc-go-sdk/vpcv1/vpc_v1.go @@ -0,0 +1,164129 @@ +/** + * (C) Copyright IBM Corp. 2023, 2024, 2025. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * IBM OpenAPI SDK Code Generator Version: 3.107.1-41b0fbd0-20250825-080732 + */ + +// Package vpcv1 : Operations and models for the VpcV1 service +package vpcv1 + +import ( + "context" + "encoding/json" + "fmt" + "net/http" + "reflect" + "strings" + "time" + + "github.com/IBM/go-sdk-core/v5/core" + common "github.com/IBM/vpc-go-sdk/common" + "github.com/go-openapi/strfmt" +) + +// VpcV1 : The IBM Cloud Virtual Private Cloud (VPC) API can be used to programmatically provision and manage virtual +// server instances, along with subnets, volumes, load balancers, and more. +// +// API Version: 2025-09-30 +type VpcV1 struct { + Service *core.BaseService + + // The infrastructure generation. For the API behavior documented here, specify + // `2`. + Generation *int64 + + // The API version, in format `YYYY-MM-DD`. For the API behavior documented here, specify any date between `2025-09-16` + // and `2025-11-06`. + Version *string +} + +// DefaultServiceURL is the default URL to make service requests to. +const DefaultServiceURL = "https://us-south.iaas.cloud.ibm.com/v1" + +// DefaultServiceName is the default key used to find external configuration information. +const DefaultServiceName = "vpc" + +// VpcV1Options : Service options +type VpcV1Options struct { + ServiceName string + URL string + Authenticator core.Authenticator + + // The infrastructure generation. For the API behavior documented here, specify + // `2`. + Generation *int64 + + // The API version, in format `YYYY-MM-DD`. For the API behavior documented here, specify any date between `2025-09-16` + // and `2025-11-06`. + Version *string +} + +// NewVpcV1UsingExternalConfig : constructs an instance of VpcV1 with passed in options and external configuration. +func NewVpcV1UsingExternalConfig(options *VpcV1Options) (vpc *VpcV1, err error) { + if options.ServiceName == "" { + options.ServiceName = DefaultServiceName + } + + if options.Authenticator == nil { + options.Authenticator, err = core.GetAuthenticatorFromEnvironment(options.ServiceName) + if err != nil { + err = core.SDKErrorf(err, "", "env-auth-error", common.GetComponentInfo()) + return + } + } + + vpc, err = NewVpcV1(options) + err = core.RepurposeSDKProblem(err, "new-client-error") + if err != nil { + return + } + + err = vpc.Service.ConfigureService(options.ServiceName) + if err != nil { + err = core.SDKErrorf(err, "", "client-config-error", common.GetComponentInfo()) + return + } + + if options.URL != "" { + err = vpc.Service.SetServiceURL(options.URL) + err = core.RepurposeSDKProblem(err, "url-set-error") + } + return +} + +// NewVpcV1 : constructs an instance of VpcV1 with passed in options. +func NewVpcV1(options *VpcV1Options) (service *VpcV1, err error) { + serviceOptions := &core.ServiceOptions{ + URL: DefaultServiceURL, + Authenticator: options.Authenticator, + } + + err = core.ValidateStruct(options, "options") + if err != nil { + err = core.SDKErrorf(err, "", "invalid-global-options", common.GetComponentInfo()) + return + } + + baseService, err := core.NewBaseService(serviceOptions) + if err != nil { + err = core.SDKErrorf(err, "", "new-base-error", common.GetComponentInfo()) + return + } + + if options.URL != "" { + err = baseService.SetServiceURL(options.URL) + if err != nil { + err = core.SDKErrorf(err, "", "set-url-error", common.GetComponentInfo()) + return + } + } + + if options.Version == nil { + options.Version = core.StringPtr("2025-11-04") + } + + service = &VpcV1{ + Service: baseService, + Generation: options.Generation, + Version: options.Version, + } + + if service.Generation == nil { + service.Generation = core.Int64Ptr(2) + } + + return +} + +// GetServiceURLForRegion returns the service URL to be used for the specified region +func GetServiceURLForRegion(region string) (string, error) { + var endpoints = map[string]string{ + "au-syd": "https://au-syd.iaas.cloud.ibm.com/v1", // Australia (Sydney) + "br-sao": "https://br-sao.iaas.cloud.ibm.com/v1", // Brazil (Sao Paulo) + "ca-mon": "https://ca-mon.iaas.cloud.ibm.com/v1", // Canada (Montreal) + "ca-tor": "https://ca-tor.iaas.cloud.ibm.com/v1", // Canada (Toronto) + "eu-de": "https://eu-de.iaas.cloud.ibm.com/v1", // Germany (Frankfurt) + "eu-es": "https://eu-es.iaas.cloud.ibm.com/v1", // Spain (Madrid) + "eu-gb": "https://eu-gb.iaas.cloud.ibm.com/v1", // United Kingdom (London) + "in-che": "https://in-che.iaas.cloud.ibm.com/v1", // India (Chennai) + "jp-osa": "https://jp-osa.iaas.cloud.ibm.com/v1", // Japan (Osaka) + "jp-tok": "https://jp-tok.iaas.cloud.ibm.com/v1", // Japan (Tokyo) + "us-east": "https://us-east.iaas.cloud.ibm.com/v1", // US East (Washington DC) + "us-south": "https://us-south.iaas.cloud.ibm.com/v1", // US South (Dallas) + } + + if url, ok := endpoints[region]; ok { + return url, nil + } + return "", core.SDKErrorf(nil, fmt.Sprintf("service URL for region '%s' not found", region), "invalid-region", common.GetComponentInfo()) +} + +// Clone makes a copy of "vpc" suitable for processing requests. +func (vpc *VpcV1) Clone() *VpcV1 { + if core.IsNil(vpc) { + return nil + } + clone := *vpc + clone.Service = vpc.Service.Clone() + return &clone +} + +// SetServiceURL sets the service URL +func (vpc *VpcV1) SetServiceURL(url string) error { + err := vpc.Service.SetServiceURL(url) + if err != nil { + err = core.SDKErrorf(err, "", "url-set-error", common.GetComponentInfo()) + } + return err +} + +// GetServiceURL returns the service URL +func (vpc *VpcV1) GetServiceURL() string { + return vpc.Service.GetServiceURL() +} + +// SetDefaultHeaders sets HTTP headers to be sent in every request +func (vpc *VpcV1) SetDefaultHeaders(headers http.Header) { + vpc.Service.SetDefaultHeaders(headers) +} + +// SetEnableGzipCompression sets the service's EnableGzipCompression field +func (vpc *VpcV1) SetEnableGzipCompression(enableGzip bool) { + vpc.Service.SetEnableGzipCompression(enableGzip) +} + +// GetEnableGzipCompression returns the service's EnableGzipCompression field +func (vpc *VpcV1) GetEnableGzipCompression() bool { + return vpc.Service.GetEnableGzipCompression() +} + +// EnableRetries enables automatic retries for requests invoked for this service instance. +// If either parameter is specified as 0, then a default value is used instead. +func (vpc *VpcV1) EnableRetries(maxRetries int, maxRetryInterval time.Duration) { + vpc.Service.EnableRetries(maxRetries, maxRetryInterval) +} + +// DisableRetries disables automatic retries for requests invoked for this service instance. +func (vpc *VpcV1) DisableRetries() { + vpc.Service.DisableRetries() +} + +// ListBackupPolicies : List backup policies +// This request lists backup policies in the region. Backup policies control which sources are selected for backup and +// include a set of backup policy plans that provide the backup schedules and deletion triggers. +func (vpc *VpcV1) ListBackupPolicies(listBackupPoliciesOptions *ListBackupPoliciesOptions) (result *BackupPolicyCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBackupPoliciesWithContext(context.Background(), listBackupPoliciesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBackupPoliciesWithContext is an alternate form of the ListBackupPolicies method which supports a Context parameter +func (vpc *VpcV1) ListBackupPoliciesWithContext(ctx context.Context, listBackupPoliciesOptions *ListBackupPoliciesOptions) (result *BackupPolicyCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listBackupPoliciesOptions, "listBackupPoliciesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBackupPolicies") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBackupPoliciesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listBackupPoliciesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listBackupPoliciesOptions.Start)) + } + if listBackupPoliciesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listBackupPoliciesOptions.Limit)) + } + if listBackupPoliciesOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listBackupPoliciesOptions.ResourceGroupID)) + } + if listBackupPoliciesOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listBackupPoliciesOptions.Name)) + } + if listBackupPoliciesOptions.Tag != nil { + builder.AddQuery("tag", fmt.Sprint(*listBackupPoliciesOptions.Tag)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_backup_policies", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicyCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateBackupPolicy : Create a backup policy +// This request creates a new backup policy from a backup policy prototype object. The prototype object is structured in +// the same way as a retrieved backup policy, and contains the information necessary to create the new backup policy. +func (vpc *VpcV1) CreateBackupPolicy(createBackupPolicyOptions *CreateBackupPolicyOptions) (result BackupPolicyIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateBackupPolicyWithContext(context.Background(), createBackupPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateBackupPolicyWithContext is an alternate form of the CreateBackupPolicy method which supports a Context parameter +func (vpc *VpcV1) CreateBackupPolicyWithContext(ctx context.Context, createBackupPolicyOptions *CreateBackupPolicyOptions) (result BackupPolicyIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createBackupPolicyOptions, "createBackupPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createBackupPolicyOptions, "createBackupPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateBackupPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createBackupPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createBackupPolicyOptions.BackupPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_backup_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBackupPolicyJobs : List jobs for a backup policy +// This request retrieves jobs for a backup policy. A backup job represents the execution of a backup policy plan for a +// resource matching the policy's criteria. +func (vpc *VpcV1) ListBackupPolicyJobs(listBackupPolicyJobsOptions *ListBackupPolicyJobsOptions) (result *BackupPolicyJobCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBackupPolicyJobsWithContext(context.Background(), listBackupPolicyJobsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBackupPolicyJobsWithContext is an alternate form of the ListBackupPolicyJobs method which supports a Context parameter +func (vpc *VpcV1) ListBackupPolicyJobsWithContext(ctx context.Context, listBackupPolicyJobsOptions *ListBackupPolicyJobsOptions) (result *BackupPolicyJobCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listBackupPolicyJobsOptions, "listBackupPolicyJobsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listBackupPolicyJobsOptions, "listBackupPolicyJobsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "backup_policy_id": *listBackupPolicyJobsOptions.BackupPolicyID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{backup_policy_id}/jobs`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBackupPolicyJobs") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBackupPolicyJobsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listBackupPolicyJobsOptions.Status != nil { + builder.AddQuery("status", fmt.Sprint(*listBackupPolicyJobsOptions.Status)) + } + if listBackupPolicyJobsOptions.BackupPolicyPlanID != nil { + builder.AddQuery("backup_policy_plan.id", fmt.Sprint(*listBackupPolicyJobsOptions.BackupPolicyPlanID)) + } + if listBackupPolicyJobsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listBackupPolicyJobsOptions.Start)) + } + if listBackupPolicyJobsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listBackupPolicyJobsOptions.Limit)) + } + if listBackupPolicyJobsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listBackupPolicyJobsOptions.Sort)) + } + if listBackupPolicyJobsOptions.SourceID != nil { + builder.AddQuery("source.id", fmt.Sprint(*listBackupPolicyJobsOptions.SourceID)) + } + if listBackupPolicyJobsOptions.TargetSnapshotsID != nil { + builder.AddQuery("target_snapshots[].id", fmt.Sprint(*listBackupPolicyJobsOptions.TargetSnapshotsID)) + } + if listBackupPolicyJobsOptions.TargetSnapshotsCRN != nil { + builder.AddQuery("target_snapshots[].crn", fmt.Sprint(*listBackupPolicyJobsOptions.TargetSnapshotsCRN)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_backup_policy_jobs", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicyJobCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetBackupPolicyJob : Retrieve a backup policy job +// This request retrieves a single backup policy job specified by the identifier in the URL. +func (vpc *VpcV1) GetBackupPolicyJob(getBackupPolicyJobOptions *GetBackupPolicyJobOptions) (result *BackupPolicyJob, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBackupPolicyJobWithContext(context.Background(), getBackupPolicyJobOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBackupPolicyJobWithContext is an alternate form of the GetBackupPolicyJob method which supports a Context parameter +func (vpc *VpcV1) GetBackupPolicyJobWithContext(ctx context.Context, getBackupPolicyJobOptions *GetBackupPolicyJobOptions) (result *BackupPolicyJob, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBackupPolicyJobOptions, "getBackupPolicyJobOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBackupPolicyJobOptions, "getBackupPolicyJobOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "backup_policy_id": *getBackupPolicyJobOptions.BackupPolicyID, + "id": *getBackupPolicyJobOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{backup_policy_id}/jobs/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBackupPolicyJob") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBackupPolicyJobOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_backup_policy_job", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicyJob) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBackupPolicyPlans : List plans for a backup policy +// This request retrieves plans for a backup policy. Backup plans provide the backup schedule and deletion triggers. +func (vpc *VpcV1) ListBackupPolicyPlans(listBackupPolicyPlansOptions *ListBackupPolicyPlansOptions) (result *BackupPolicyPlanCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBackupPolicyPlansWithContext(context.Background(), listBackupPolicyPlansOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBackupPolicyPlansWithContext is an alternate form of the ListBackupPolicyPlans method which supports a Context parameter +func (vpc *VpcV1) ListBackupPolicyPlansWithContext(ctx context.Context, listBackupPolicyPlansOptions *ListBackupPolicyPlansOptions) (result *BackupPolicyPlanCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listBackupPolicyPlansOptions, "listBackupPolicyPlansOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listBackupPolicyPlansOptions, "listBackupPolicyPlansOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "backup_policy_id": *listBackupPolicyPlansOptions.BackupPolicyID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{backup_policy_id}/plans`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBackupPolicyPlans") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBackupPolicyPlansOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listBackupPolicyPlansOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listBackupPolicyPlansOptions.Name)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_backup_policy_plans", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicyPlanCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateBackupPolicyPlan : Create a plan for a backup policy +// This request creates a new backup policy plan from a backup policy plan prototype object. The prototype object is +// structured in the same way as a retrieved backup policy plan, and contains the information necessary to create the +// new backup policy plan. +// +// Backups created by this plan will use the resource group of the source being backed up. +// +// Backups created by this plan will use the plan's name truncated to 46 characters, followed by a unique 16-character +// suffix. +func (vpc *VpcV1) CreateBackupPolicyPlan(createBackupPolicyPlanOptions *CreateBackupPolicyPlanOptions) (result *BackupPolicyPlan, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateBackupPolicyPlanWithContext(context.Background(), createBackupPolicyPlanOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateBackupPolicyPlanWithContext is an alternate form of the CreateBackupPolicyPlan method which supports a Context parameter +func (vpc *VpcV1) CreateBackupPolicyPlanWithContext(ctx context.Context, createBackupPolicyPlanOptions *CreateBackupPolicyPlanOptions) (result *BackupPolicyPlan, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createBackupPolicyPlanOptions, "createBackupPolicyPlanOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createBackupPolicyPlanOptions, "createBackupPolicyPlanOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "backup_policy_id": *createBackupPolicyPlanOptions.BackupPolicyID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{backup_policy_id}/plans`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateBackupPolicyPlan") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createBackupPolicyPlanOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createBackupPolicyPlanOptions.CronSpec != nil { + body["cron_spec"] = createBackupPolicyPlanOptions.CronSpec + } + if createBackupPolicyPlanOptions.Active != nil { + body["active"] = createBackupPolicyPlanOptions.Active + } + if createBackupPolicyPlanOptions.AttachUserTags != nil { + body["attach_user_tags"] = createBackupPolicyPlanOptions.AttachUserTags + } + if createBackupPolicyPlanOptions.ClonePolicy != nil { + body["clone_policy"] = createBackupPolicyPlanOptions.ClonePolicy + } + if createBackupPolicyPlanOptions.CopyUserTags != nil { + body["copy_user_tags"] = createBackupPolicyPlanOptions.CopyUserTags + } + if createBackupPolicyPlanOptions.DeletionTrigger != nil { + body["deletion_trigger"] = createBackupPolicyPlanOptions.DeletionTrigger + } + if createBackupPolicyPlanOptions.Name != nil { + body["name"] = createBackupPolicyPlanOptions.Name + } + if createBackupPolicyPlanOptions.RemoteRegionPolicies != nil { + body["remote_region_policies"] = createBackupPolicyPlanOptions.RemoteRegionPolicies + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_backup_policy_plan", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicyPlan) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteBackupPolicyPlan : Delete a backup policy plan +// This request deletes a backup policy plan. This operation cannot be reversed. Any backups that have been created by +// the plan will remain but will no longer be subject to the plan's deletion trigger. Any running jobs associated with +// the plan will run to completion before the plan is deleted. +// +// If the request is accepted, the backup policy plan `status` will be set to `deleting`. Once deletion processing +// completes, the backup policy plan will no longer be retrievable. +func (vpc *VpcV1) DeleteBackupPolicyPlan(deleteBackupPolicyPlanOptions *DeleteBackupPolicyPlanOptions) (result *BackupPolicyPlan, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteBackupPolicyPlanWithContext(context.Background(), deleteBackupPolicyPlanOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteBackupPolicyPlanWithContext is an alternate form of the DeleteBackupPolicyPlan method which supports a Context parameter +func (vpc *VpcV1) DeleteBackupPolicyPlanWithContext(ctx context.Context, deleteBackupPolicyPlanOptions *DeleteBackupPolicyPlanOptions) (result *BackupPolicyPlan, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteBackupPolicyPlanOptions, "deleteBackupPolicyPlanOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteBackupPolicyPlanOptions, "deleteBackupPolicyPlanOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "backup_policy_id": *deleteBackupPolicyPlanOptions.BackupPolicyID, + "id": *deleteBackupPolicyPlanOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{backup_policy_id}/plans/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteBackupPolicyPlan") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteBackupPolicyPlanOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + if deleteBackupPolicyPlanOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteBackupPolicyPlanOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_backup_policy_plan", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicyPlan) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetBackupPolicyPlan : Retrieve a backup policy plan +// This request retrieves a single backup policy plan specified by the identifier in the URL. +func (vpc *VpcV1) GetBackupPolicyPlan(getBackupPolicyPlanOptions *GetBackupPolicyPlanOptions) (result *BackupPolicyPlan, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBackupPolicyPlanWithContext(context.Background(), getBackupPolicyPlanOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBackupPolicyPlanWithContext is an alternate form of the GetBackupPolicyPlan method which supports a Context parameter +func (vpc *VpcV1) GetBackupPolicyPlanWithContext(ctx context.Context, getBackupPolicyPlanOptions *GetBackupPolicyPlanOptions) (result *BackupPolicyPlan, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBackupPolicyPlanOptions, "getBackupPolicyPlanOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBackupPolicyPlanOptions, "getBackupPolicyPlanOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "backup_policy_id": *getBackupPolicyPlanOptions.BackupPolicyID, + "id": *getBackupPolicyPlanOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{backup_policy_id}/plans/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBackupPolicyPlan") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBackupPolicyPlanOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_backup_policy_plan", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicyPlan) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateBackupPolicyPlan : Update a backup policy plan +// This request updates a backup policy plan with the information in a provided plan patch. The plan patch object is +// structured in the same way as a retrieved backup policy plan and can contains only the information to be updated. +func (vpc *VpcV1) UpdateBackupPolicyPlan(updateBackupPolicyPlanOptions *UpdateBackupPolicyPlanOptions) (result *BackupPolicyPlan, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateBackupPolicyPlanWithContext(context.Background(), updateBackupPolicyPlanOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateBackupPolicyPlanWithContext is an alternate form of the UpdateBackupPolicyPlan method which supports a Context parameter +func (vpc *VpcV1) UpdateBackupPolicyPlanWithContext(ctx context.Context, updateBackupPolicyPlanOptions *UpdateBackupPolicyPlanOptions) (result *BackupPolicyPlan, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateBackupPolicyPlanOptions, "updateBackupPolicyPlanOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateBackupPolicyPlanOptions, "updateBackupPolicyPlanOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "backup_policy_id": *updateBackupPolicyPlanOptions.BackupPolicyID, + "id": *updateBackupPolicyPlanOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{backup_policy_id}/plans/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateBackupPolicyPlan") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateBackupPolicyPlanOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateBackupPolicyPlanOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateBackupPolicyPlanOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateBackupPolicyPlanOptions.BackupPolicyPlanPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_backup_policy_plan", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicyPlan) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteBackupPolicy : Delete a backup policy +// This request deletes a backup policy. This operation cannot be reversed. +// +// If the request is accepted, the backup policy `status` will be set to `deleting`. Once deletion processing completes, +// the backup policy will no longer be retrievable. +func (vpc *VpcV1) DeleteBackupPolicy(deleteBackupPolicyOptions *DeleteBackupPolicyOptions) (result BackupPolicyIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteBackupPolicyWithContext(context.Background(), deleteBackupPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteBackupPolicyWithContext is an alternate form of the DeleteBackupPolicy method which supports a Context parameter +func (vpc *VpcV1) DeleteBackupPolicyWithContext(ctx context.Context, deleteBackupPolicyOptions *DeleteBackupPolicyOptions) (result BackupPolicyIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteBackupPolicyOptions, "deleteBackupPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteBackupPolicyOptions, "deleteBackupPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteBackupPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteBackupPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteBackupPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + if deleteBackupPolicyOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteBackupPolicyOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_backup_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetBackupPolicy : Retrieve a backup policy +// This request retrieves a single backup policy specified by the identifier in the URL. +func (vpc *VpcV1) GetBackupPolicy(getBackupPolicyOptions *GetBackupPolicyOptions) (result BackupPolicyIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBackupPolicyWithContext(context.Background(), getBackupPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBackupPolicyWithContext is an alternate form of the GetBackupPolicy method which supports a Context parameter +func (vpc *VpcV1) GetBackupPolicyWithContext(ctx context.Context, getBackupPolicyOptions *GetBackupPolicyOptions) (result BackupPolicyIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBackupPolicyOptions, "getBackupPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBackupPolicyOptions, "getBackupPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getBackupPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBackupPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBackupPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_backup_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateBackupPolicy : Update a backup policy +// This request updates a backup policy with the information in a provided backup policy patch. The backup policy patch +// object is structured in the same way as a retrieved backup policy and contains only the information to be updated. +func (vpc *VpcV1) UpdateBackupPolicy(updateBackupPolicyOptions *UpdateBackupPolicyOptions) (result BackupPolicyIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateBackupPolicyWithContext(context.Background(), updateBackupPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateBackupPolicyWithContext is an alternate form of the UpdateBackupPolicy method which supports a Context parameter +func (vpc *VpcV1) UpdateBackupPolicyWithContext(ctx context.Context, updateBackupPolicyOptions *UpdateBackupPolicyOptions) (result BackupPolicyIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateBackupPolicyOptions, "updateBackupPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateBackupPolicyOptions, "updateBackupPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateBackupPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/backup_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateBackupPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateBackupPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateBackupPolicyOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateBackupPolicyOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateBackupPolicyOptions.BackupPolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_backup_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBackupPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBareMetalServerProfiles : List bare metal server profiles +// This request lists [bare metal server profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) +// available in the region. A bare metal server profile specifies the performance characteristics and pricing model for +// a bare metal server. +func (vpc *VpcV1) ListBareMetalServerProfiles(listBareMetalServerProfilesOptions *ListBareMetalServerProfilesOptions) (result *BareMetalServerProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBareMetalServerProfilesWithContext(context.Background(), listBareMetalServerProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBareMetalServerProfilesWithContext is an alternate form of the ListBareMetalServerProfiles method which supports a Context parameter +func (vpc *VpcV1) ListBareMetalServerProfilesWithContext(ctx context.Context, listBareMetalServerProfilesOptions *ListBareMetalServerProfilesOptions) (result *BareMetalServerProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listBareMetalServerProfilesOptions, "listBareMetalServerProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_server/profiles`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBareMetalServerProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBareMetalServerProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listBareMetalServerProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listBareMetalServerProfilesOptions.Start)) + } + if listBareMetalServerProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listBareMetalServerProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_bare_metal_server_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetBareMetalServerProfile : Retrieve a bare metal server profile +// This request retrieves a single bare metal server profile specified by the name in the URL. +func (vpc *VpcV1) GetBareMetalServerProfile(getBareMetalServerProfileOptions *GetBareMetalServerProfileOptions) (result *BareMetalServerProfile, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBareMetalServerProfileWithContext(context.Background(), getBareMetalServerProfileOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBareMetalServerProfileWithContext is an alternate form of the GetBareMetalServerProfile method which supports a Context parameter +func (vpc *VpcV1) GetBareMetalServerProfileWithContext(ctx context.Context, getBareMetalServerProfileOptions *GetBareMetalServerProfileOptions) (result *BareMetalServerProfile, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBareMetalServerProfileOptions, "getBareMetalServerProfileOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBareMetalServerProfileOptions, "getBareMetalServerProfileOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getBareMetalServerProfileOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_server/profiles/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBareMetalServerProfile") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBareMetalServerProfileOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_bare_metal_server_profile", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerProfile) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBareMetalServers : List bare metal servers +// This request lists bare metal servers in the region. +func (vpc *VpcV1) ListBareMetalServers(listBareMetalServersOptions *ListBareMetalServersOptions) (result *BareMetalServerCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBareMetalServersWithContext(context.Background(), listBareMetalServersOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBareMetalServersWithContext is an alternate form of the ListBareMetalServers method which supports a Context parameter +func (vpc *VpcV1) ListBareMetalServersWithContext(ctx context.Context, listBareMetalServersOptions *ListBareMetalServersOptions) (result *BareMetalServerCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listBareMetalServersOptions, "listBareMetalServersOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBareMetalServers") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBareMetalServersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listBareMetalServersOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listBareMetalServersOptions.Start)) + } + if listBareMetalServersOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listBareMetalServersOptions.Limit)) + } + if listBareMetalServersOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listBareMetalServersOptions.ResourceGroupID)) + } + if listBareMetalServersOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listBareMetalServersOptions.Name)) + } + if listBareMetalServersOptions.ReservationID != nil { + builder.AddQuery("reservation.id", fmt.Sprint(*listBareMetalServersOptions.ReservationID)) + } + if listBareMetalServersOptions.ReservationCRN != nil { + builder.AddQuery("reservation.crn", fmt.Sprint(*listBareMetalServersOptions.ReservationCRN)) + } + if listBareMetalServersOptions.ReservationName != nil { + builder.AddQuery("reservation.name", fmt.Sprint(*listBareMetalServersOptions.ReservationName)) + } + if listBareMetalServersOptions.VPCID != nil { + builder.AddQuery("vpc.id", fmt.Sprint(*listBareMetalServersOptions.VPCID)) + } + if listBareMetalServersOptions.VPCCRN != nil { + builder.AddQuery("vpc.crn", fmt.Sprint(*listBareMetalServersOptions.VPCCRN)) + } + if listBareMetalServersOptions.VPCName != nil { + builder.AddQuery("vpc.name", fmt.Sprint(*listBareMetalServersOptions.VPCName)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_bare_metal_servers", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateBareMetalServer : Create a bare metal server +// This request provisions a new bare metal server from a prototype object. The prototype object is structured in the +// same way as a retrieved bare metal server, and contains the information necessary to provision the new bare metal +// server. The bare metal server is automatically started. +// +// For this request to succeed, the properties in the request must adhere to the source image's `allowed_use` property. +func (vpc *VpcV1) CreateBareMetalServer(createBareMetalServerOptions *CreateBareMetalServerOptions) (result *BareMetalServer, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateBareMetalServerWithContext(context.Background(), createBareMetalServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateBareMetalServerWithContext is an alternate form of the CreateBareMetalServer method which supports a Context parameter +func (vpc *VpcV1) CreateBareMetalServerWithContext(ctx context.Context, createBareMetalServerOptions *CreateBareMetalServerOptions) (result *BareMetalServer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createBareMetalServerOptions, "createBareMetalServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createBareMetalServerOptions, "createBareMetalServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateBareMetalServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createBareMetalServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createBareMetalServerOptions.BareMetalServerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_bare_metal_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateBareMetalServerConsoleAccessToken : Create a console access token for a bare metal server +// This request creates a new single-use console access token for a bare metal server. All console configuration is +// provided at token create time, and the token is subsequently used in the `access_token` query parameter for the +// WebSocket request. The access token is only valid for a short period of time, and a maximum of one token is valid +// for a given bare metal server at a time. For this request to succeed, the server must have a `status` of `stopped`, +// `starting`, or `running`. +func (vpc *VpcV1) CreateBareMetalServerConsoleAccessToken(createBareMetalServerConsoleAccessTokenOptions *CreateBareMetalServerConsoleAccessTokenOptions) (result *BareMetalServerConsoleAccessToken, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateBareMetalServerConsoleAccessTokenWithContext(context.Background(), createBareMetalServerConsoleAccessTokenOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateBareMetalServerConsoleAccessTokenWithContext is an alternate form of the CreateBareMetalServerConsoleAccessToken method which supports a Context parameter +func (vpc *VpcV1) CreateBareMetalServerConsoleAccessTokenWithContext(ctx context.Context, createBareMetalServerConsoleAccessTokenOptions *CreateBareMetalServerConsoleAccessTokenOptions) (result *BareMetalServerConsoleAccessToken, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createBareMetalServerConsoleAccessTokenOptions, "createBareMetalServerConsoleAccessTokenOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createBareMetalServerConsoleAccessTokenOptions, "createBareMetalServerConsoleAccessTokenOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *createBareMetalServerConsoleAccessTokenOptions.BareMetalServerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/console_access_token`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateBareMetalServerConsoleAccessToken") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createBareMetalServerConsoleAccessTokenOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createBareMetalServerConsoleAccessTokenOptions.ConsoleType != nil { + body["console_type"] = createBareMetalServerConsoleAccessTokenOptions.ConsoleType + } + if createBareMetalServerConsoleAccessTokenOptions.Force != nil { + body["force"] = createBareMetalServerConsoleAccessTokenOptions.Force + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_bare_metal_server_console_access_token", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerConsoleAccessToken) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBareMetalServerDisks : List disks on a bare metal server +// This request lists disks on a bare metal server. A disk is a block device that is locally attached to the physical +// server. By default, the listed disks are sorted by their `created_at` property values, with the newest disk first. +func (vpc *VpcV1) ListBareMetalServerDisks(listBareMetalServerDisksOptions *ListBareMetalServerDisksOptions) (result *BareMetalServerDiskCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBareMetalServerDisksWithContext(context.Background(), listBareMetalServerDisksOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBareMetalServerDisksWithContext is an alternate form of the ListBareMetalServerDisks method which supports a Context parameter +func (vpc *VpcV1) ListBareMetalServerDisksWithContext(ctx context.Context, listBareMetalServerDisksOptions *ListBareMetalServerDisksOptions) (result *BareMetalServerDiskCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listBareMetalServerDisksOptions, "listBareMetalServerDisksOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listBareMetalServerDisksOptions, "listBareMetalServerDisksOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *listBareMetalServerDisksOptions.BareMetalServerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/disks`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBareMetalServerDisks") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBareMetalServerDisksOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_bare_metal_server_disks", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerDiskCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetBareMetalServerDisk : Retrieve a bare metal server disk +// This request retrieves a single disk specified by the identifier in the URL. +func (vpc *VpcV1) GetBareMetalServerDisk(getBareMetalServerDiskOptions *GetBareMetalServerDiskOptions) (result *BareMetalServerDisk, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBareMetalServerDiskWithContext(context.Background(), getBareMetalServerDiskOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBareMetalServerDiskWithContext is an alternate form of the GetBareMetalServerDisk method which supports a Context parameter +func (vpc *VpcV1) GetBareMetalServerDiskWithContext(ctx context.Context, getBareMetalServerDiskOptions *GetBareMetalServerDiskOptions) (result *BareMetalServerDisk, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBareMetalServerDiskOptions, "getBareMetalServerDiskOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBareMetalServerDiskOptions, "getBareMetalServerDiskOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *getBareMetalServerDiskOptions.BareMetalServerID, + "id": *getBareMetalServerDiskOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/disks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBareMetalServerDisk") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBareMetalServerDiskOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_bare_metal_server_disk", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerDisk) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateBareMetalServerDisk : Update a bare metal server disk +// This request updates the bare metal server disk with the information in a provided patch. +func (vpc *VpcV1) UpdateBareMetalServerDisk(updateBareMetalServerDiskOptions *UpdateBareMetalServerDiskOptions) (result *BareMetalServerDisk, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateBareMetalServerDiskWithContext(context.Background(), updateBareMetalServerDiskOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateBareMetalServerDiskWithContext is an alternate form of the UpdateBareMetalServerDisk method which supports a Context parameter +func (vpc *VpcV1) UpdateBareMetalServerDiskWithContext(ctx context.Context, updateBareMetalServerDiskOptions *UpdateBareMetalServerDiskOptions) (result *BareMetalServerDisk, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateBareMetalServerDiskOptions, "updateBareMetalServerDiskOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateBareMetalServerDiskOptions, "updateBareMetalServerDiskOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *updateBareMetalServerDiskOptions.BareMetalServerID, + "id": *updateBareMetalServerDiskOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/disks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateBareMetalServerDisk") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateBareMetalServerDiskOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateBareMetalServerDiskOptions.BareMetalServerDiskPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_bare_metal_server_disk", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerDisk) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBareMetalServerNetworkAttachments : List network attachments on a bare metal server +// This request lists network attachments on a bare metal server. A bare metal server network attachment is an abstract +// representation of a network device and attaches a bare metal server to a single subnet. Each network interface on a +// bare metal server can attach to any subnet in the zone, including subnets that are already attached to the bare metal +// server. +// +// The network attachments will be sorted by their `created_at` property values, with newest network attachments first. +// Network attachments with identical `created_at` property values will in turn be sorted by ascending `name` property +// values. +func (vpc *VpcV1) ListBareMetalServerNetworkAttachments(listBareMetalServerNetworkAttachmentsOptions *ListBareMetalServerNetworkAttachmentsOptions) (result *BareMetalServerNetworkAttachmentCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBareMetalServerNetworkAttachmentsWithContext(context.Background(), listBareMetalServerNetworkAttachmentsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBareMetalServerNetworkAttachmentsWithContext is an alternate form of the ListBareMetalServerNetworkAttachments method which supports a Context parameter +func (vpc *VpcV1) ListBareMetalServerNetworkAttachmentsWithContext(ctx context.Context, listBareMetalServerNetworkAttachmentsOptions *ListBareMetalServerNetworkAttachmentsOptions) (result *BareMetalServerNetworkAttachmentCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listBareMetalServerNetworkAttachmentsOptions, "listBareMetalServerNetworkAttachmentsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listBareMetalServerNetworkAttachmentsOptions, "listBareMetalServerNetworkAttachmentsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *listBareMetalServerNetworkAttachmentsOptions.BareMetalServerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_attachments`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBareMetalServerNetworkAttachments") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBareMetalServerNetworkAttachmentsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listBareMetalServerNetworkAttachmentsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listBareMetalServerNetworkAttachmentsOptions.Start)) + } + if listBareMetalServerNetworkAttachmentsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listBareMetalServerNetworkAttachmentsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_bare_metal_server_network_attachments", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerNetworkAttachmentCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateBareMetalServerNetworkAttachment : Create a network attachment on a bare metal server +// This request creates a new bare metal server network attachment from a bare metal server network attachment prototype +// object. The prototype object is structured in the same way as a retrieved bare metal server network attachment, and +// contains the information necessary to create the new bare metal server network attachment. +func (vpc *VpcV1) CreateBareMetalServerNetworkAttachment(createBareMetalServerNetworkAttachmentOptions *CreateBareMetalServerNetworkAttachmentOptions) (result BareMetalServerNetworkAttachmentIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateBareMetalServerNetworkAttachmentWithContext(context.Background(), createBareMetalServerNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateBareMetalServerNetworkAttachmentWithContext is an alternate form of the CreateBareMetalServerNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) CreateBareMetalServerNetworkAttachmentWithContext(ctx context.Context, createBareMetalServerNetworkAttachmentOptions *CreateBareMetalServerNetworkAttachmentOptions) (result BareMetalServerNetworkAttachmentIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createBareMetalServerNetworkAttachmentOptions, "createBareMetalServerNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createBareMetalServerNetworkAttachmentOptions, "createBareMetalServerNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *createBareMetalServerNetworkAttachmentOptions.BareMetalServerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_attachments`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateBareMetalServerNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createBareMetalServerNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createBareMetalServerNetworkAttachmentOptions.BareMetalServerNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_bare_metal_server_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteBareMetalServerNetworkAttachment : Delete a bare metal server network attachment +// This request deletes a bare metal server network attachment. This operation cannot be reversed. Any floating IPs +// associated with the bare metal server network attachment are implicitly disassociated. +// +// The bare metal server's primary network attachment cannot be deleted. +func (vpc *VpcV1) DeleteBareMetalServerNetworkAttachment(deleteBareMetalServerNetworkAttachmentOptions *DeleteBareMetalServerNetworkAttachmentOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteBareMetalServerNetworkAttachmentWithContext(context.Background(), deleteBareMetalServerNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteBareMetalServerNetworkAttachmentWithContext is an alternate form of the DeleteBareMetalServerNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) DeleteBareMetalServerNetworkAttachmentWithContext(ctx context.Context, deleteBareMetalServerNetworkAttachmentOptions *DeleteBareMetalServerNetworkAttachmentOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteBareMetalServerNetworkAttachmentOptions, "deleteBareMetalServerNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteBareMetalServerNetworkAttachmentOptions, "deleteBareMetalServerNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *deleteBareMetalServerNetworkAttachmentOptions.BareMetalServerID, + "id": *deleteBareMetalServerNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteBareMetalServerNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteBareMetalServerNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_bare_metal_server_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetBareMetalServerNetworkAttachment : Retrieve a bare metal server network attachment +// This request retrieves a single bare metal server network attachment specified by the identifier in the URL. +func (vpc *VpcV1) GetBareMetalServerNetworkAttachment(getBareMetalServerNetworkAttachmentOptions *GetBareMetalServerNetworkAttachmentOptions) (result BareMetalServerNetworkAttachmentIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBareMetalServerNetworkAttachmentWithContext(context.Background(), getBareMetalServerNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBareMetalServerNetworkAttachmentWithContext is an alternate form of the GetBareMetalServerNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) GetBareMetalServerNetworkAttachmentWithContext(ctx context.Context, getBareMetalServerNetworkAttachmentOptions *GetBareMetalServerNetworkAttachmentOptions) (result BareMetalServerNetworkAttachmentIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBareMetalServerNetworkAttachmentOptions, "getBareMetalServerNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBareMetalServerNetworkAttachmentOptions, "getBareMetalServerNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *getBareMetalServerNetworkAttachmentOptions.BareMetalServerID, + "id": *getBareMetalServerNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBareMetalServerNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBareMetalServerNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_bare_metal_server_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateBareMetalServerNetworkAttachment : Update a bare metal server network attachment +// This request updates a bare metal server network attachment with the information provided in a bare metal server +// network attachment patch object. The bare metal server network attachment patch object is structured in the same way +// as a retrieved bare metal server network attachment and contains only the information to be updated. +func (vpc *VpcV1) UpdateBareMetalServerNetworkAttachment(updateBareMetalServerNetworkAttachmentOptions *UpdateBareMetalServerNetworkAttachmentOptions) (result BareMetalServerNetworkAttachmentIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateBareMetalServerNetworkAttachmentWithContext(context.Background(), updateBareMetalServerNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateBareMetalServerNetworkAttachmentWithContext is an alternate form of the UpdateBareMetalServerNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) UpdateBareMetalServerNetworkAttachmentWithContext(ctx context.Context, updateBareMetalServerNetworkAttachmentOptions *UpdateBareMetalServerNetworkAttachmentOptions) (result BareMetalServerNetworkAttachmentIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateBareMetalServerNetworkAttachmentOptions, "updateBareMetalServerNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateBareMetalServerNetworkAttachmentOptions, "updateBareMetalServerNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *updateBareMetalServerNetworkAttachmentOptions.BareMetalServerID, + "id": *updateBareMetalServerNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateBareMetalServerNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateBareMetalServerNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateBareMetalServerNetworkAttachmentOptions.BareMetalServerNetworkAttachmentPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_bare_metal_server_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBareMetalServerNetworkInterfaces : List network interfaces on a bare metal server +// This request lists network interfaces on a bare metal server. A bare metal server network interface is an abstract +// representation of a network device and attaches a bare metal server to a single subnet. Each network interface on a +// bare metal server can attach to any subnet in the zone, including subnets that are already attached to the bare metal +// server. +// +// If this bare metal server has network attachments, each returned network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface. +func (vpc *VpcV1) ListBareMetalServerNetworkInterfaces(listBareMetalServerNetworkInterfacesOptions *ListBareMetalServerNetworkInterfacesOptions) (result *BareMetalServerNetworkInterfaceCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBareMetalServerNetworkInterfacesWithContext(context.Background(), listBareMetalServerNetworkInterfacesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBareMetalServerNetworkInterfacesWithContext is an alternate form of the ListBareMetalServerNetworkInterfaces method which supports a Context parameter +func (vpc *VpcV1) ListBareMetalServerNetworkInterfacesWithContext(ctx context.Context, listBareMetalServerNetworkInterfacesOptions *ListBareMetalServerNetworkInterfacesOptions) (result *BareMetalServerNetworkInterfaceCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listBareMetalServerNetworkInterfacesOptions, "listBareMetalServerNetworkInterfacesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listBareMetalServerNetworkInterfacesOptions, "listBareMetalServerNetworkInterfacesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *listBareMetalServerNetworkInterfacesOptions.BareMetalServerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBareMetalServerNetworkInterfaces") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBareMetalServerNetworkInterfacesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listBareMetalServerNetworkInterfacesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listBareMetalServerNetworkInterfacesOptions.Start)) + } + if listBareMetalServerNetworkInterfacesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listBareMetalServerNetworkInterfacesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_bare_metal_server_network_interfaces", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerNetworkInterfaceCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateBareMetalServerNetworkInterface : Create a network interface on a bare metal server +// This request creates a new bare metal server network interface from a bare metal server network interface prototype +// object. The prototype object is structured in the same way as a retrieved bare metal server network interface, and +// contains the information necessary to create the new bare metal server network interface. Any subnet in the bare +// metal server's VPC may be specified, even if it is already attached to another bare metal server network interface. +// Addresses on the bare metal server network interface must be within the specified subnet's CIDR blocks. +// +// If this bare metal server has network attachments, each network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface, and new network interfaces are not allowed to be created. +func (vpc *VpcV1) CreateBareMetalServerNetworkInterface(createBareMetalServerNetworkInterfaceOptions *CreateBareMetalServerNetworkInterfaceOptions) (result BareMetalServerNetworkInterfaceIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateBareMetalServerNetworkInterfaceWithContext(context.Background(), createBareMetalServerNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateBareMetalServerNetworkInterfaceWithContext is an alternate form of the CreateBareMetalServerNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) CreateBareMetalServerNetworkInterfaceWithContext(ctx context.Context, createBareMetalServerNetworkInterfaceOptions *CreateBareMetalServerNetworkInterfaceOptions) (result BareMetalServerNetworkInterfaceIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createBareMetalServerNetworkInterfaceOptions, "createBareMetalServerNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createBareMetalServerNetworkInterfaceOptions, "createBareMetalServerNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *createBareMetalServerNetworkInterfaceOptions.BareMetalServerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateBareMetalServerNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createBareMetalServerNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createBareMetalServerNetworkInterfaceOptions.BareMetalServerNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_bare_metal_server_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteBareMetalServerNetworkInterface : Delete a bare metal server network interface +// This request deletes a bare metal server network interface. This operation cannot be reversed. Any floating IPs +// associated with the bare metal server network interface are implicitly disassociated. The primary bare metal server +// network interface is not allowed to be deleted. +// +// If this bare metal server has network attachments, this network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface, and is not allowed to be deleted. +func (vpc *VpcV1) DeleteBareMetalServerNetworkInterface(deleteBareMetalServerNetworkInterfaceOptions *DeleteBareMetalServerNetworkInterfaceOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteBareMetalServerNetworkInterfaceWithContext(context.Background(), deleteBareMetalServerNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteBareMetalServerNetworkInterfaceWithContext is an alternate form of the DeleteBareMetalServerNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) DeleteBareMetalServerNetworkInterfaceWithContext(ctx context.Context, deleteBareMetalServerNetworkInterfaceOptions *DeleteBareMetalServerNetworkInterfaceOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteBareMetalServerNetworkInterfaceOptions, "deleteBareMetalServerNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteBareMetalServerNetworkInterfaceOptions, "deleteBareMetalServerNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *deleteBareMetalServerNetworkInterfaceOptions.BareMetalServerID, + "id": *deleteBareMetalServerNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteBareMetalServerNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteBareMetalServerNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_bare_metal_server_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetBareMetalServerNetworkInterface : Retrieve a bare metal server network interface +// This request retrieves a single bare metal server network interface specified by the identifier in the URL. +// +// If this bare metal server has network attachments, the retrieved network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface. +func (vpc *VpcV1) GetBareMetalServerNetworkInterface(getBareMetalServerNetworkInterfaceOptions *GetBareMetalServerNetworkInterfaceOptions) (result BareMetalServerNetworkInterfaceIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBareMetalServerNetworkInterfaceWithContext(context.Background(), getBareMetalServerNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBareMetalServerNetworkInterfaceWithContext is an alternate form of the GetBareMetalServerNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) GetBareMetalServerNetworkInterfaceWithContext(ctx context.Context, getBareMetalServerNetworkInterfaceOptions *GetBareMetalServerNetworkInterfaceOptions) (result BareMetalServerNetworkInterfaceIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBareMetalServerNetworkInterfaceOptions, "getBareMetalServerNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBareMetalServerNetworkInterfaceOptions, "getBareMetalServerNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *getBareMetalServerNetworkInterfaceOptions.BareMetalServerID, + "id": *getBareMetalServerNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBareMetalServerNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBareMetalServerNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_bare_metal_server_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateBareMetalServerNetworkInterface : Update a bare metal server network interface +// This request updates a bare metal server network interface with the information provided in a bare metal server +// network interface patch object. The bare metal server network interface patch object is structured in the same way as +// a retrieved bare metal server network interface and needs to contain only the information to be updated. +// +// If this bare metal server has network attachments, this network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface, and is not allowed to be updated. +func (vpc *VpcV1) UpdateBareMetalServerNetworkInterface(updateBareMetalServerNetworkInterfaceOptions *UpdateBareMetalServerNetworkInterfaceOptions) (result BareMetalServerNetworkInterfaceIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateBareMetalServerNetworkInterfaceWithContext(context.Background(), updateBareMetalServerNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateBareMetalServerNetworkInterfaceWithContext is an alternate form of the UpdateBareMetalServerNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) UpdateBareMetalServerNetworkInterfaceWithContext(ctx context.Context, updateBareMetalServerNetworkInterfaceOptions *UpdateBareMetalServerNetworkInterfaceOptions) (result BareMetalServerNetworkInterfaceIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateBareMetalServerNetworkInterfaceOptions, "updateBareMetalServerNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateBareMetalServerNetworkInterfaceOptions, "updateBareMetalServerNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *updateBareMetalServerNetworkInterfaceOptions.BareMetalServerID, + "id": *updateBareMetalServerNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateBareMetalServerNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateBareMetalServerNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateBareMetalServerNetworkInterfaceOptions.BareMetalServerNetworkInterfacePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_bare_metal_server_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBareMetalServerNetworkInterfaceFloatingIps : List floating IPs associated with a bare metal server network interface +// This request lists floating IPs associated with a bare metal server network interface. +func (vpc *VpcV1) ListBareMetalServerNetworkInterfaceFloatingIps(listBareMetalServerNetworkInterfaceFloatingIpsOptions *ListBareMetalServerNetworkInterfaceFloatingIpsOptions) (result *FloatingIPUnpaginatedCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBareMetalServerNetworkInterfaceFloatingIpsWithContext(context.Background(), listBareMetalServerNetworkInterfaceFloatingIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBareMetalServerNetworkInterfaceFloatingIpsWithContext is an alternate form of the ListBareMetalServerNetworkInterfaceFloatingIps method which supports a Context parameter +func (vpc *VpcV1) ListBareMetalServerNetworkInterfaceFloatingIpsWithContext(ctx context.Context, listBareMetalServerNetworkInterfaceFloatingIpsOptions *ListBareMetalServerNetworkInterfaceFloatingIpsOptions) (result *FloatingIPUnpaginatedCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listBareMetalServerNetworkInterfaceFloatingIpsOptions, "listBareMetalServerNetworkInterfaceFloatingIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listBareMetalServerNetworkInterfaceFloatingIpsOptions, "listBareMetalServerNetworkInterfaceFloatingIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *listBareMetalServerNetworkInterfaceFloatingIpsOptions.BareMetalServerID, + "network_interface_id": *listBareMetalServerNetworkInterfaceFloatingIpsOptions.NetworkInterfaceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/floating_ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBareMetalServerNetworkInterfaceFloatingIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBareMetalServerNetworkInterfaceFloatingIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_bare_metal_server_network_interface_floating_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIPUnpaginatedCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RemoveBareMetalServerNetworkInterfaceFloatingIP : Disassociate a floating IP from a bare metal server network interface +// This request disassociates the specified floating IP from the specified bare metal server network interface. +func (vpc *VpcV1) RemoveBareMetalServerNetworkInterfaceFloatingIP(removeBareMetalServerNetworkInterfaceFloatingIPOptions *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RemoveBareMetalServerNetworkInterfaceFloatingIPWithContext(context.Background(), removeBareMetalServerNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RemoveBareMetalServerNetworkInterfaceFloatingIPWithContext is an alternate form of the RemoveBareMetalServerNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) RemoveBareMetalServerNetworkInterfaceFloatingIPWithContext(ctx context.Context, removeBareMetalServerNetworkInterfaceFloatingIPOptions *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(removeBareMetalServerNetworkInterfaceFloatingIPOptions, "removeBareMetalServerNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(removeBareMetalServerNetworkInterfaceFloatingIPOptions, "removeBareMetalServerNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *removeBareMetalServerNetworkInterfaceFloatingIPOptions.BareMetalServerID, + "network_interface_id": *removeBareMetalServerNetworkInterfaceFloatingIPOptions.NetworkInterfaceID, + "id": *removeBareMetalServerNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RemoveBareMetalServerNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range removeBareMetalServerNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "remove_bare_metal_server_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetBareMetalServerNetworkInterfaceFloatingIP : Retrieve associated floating IP +// This request retrieves a specified floating IP if it is associated with the bare metal server network interface +// specified in the URL. +func (vpc *VpcV1) GetBareMetalServerNetworkInterfaceFloatingIP(getBareMetalServerNetworkInterfaceFloatingIPOptions *GetBareMetalServerNetworkInterfaceFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBareMetalServerNetworkInterfaceFloatingIPWithContext(context.Background(), getBareMetalServerNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBareMetalServerNetworkInterfaceFloatingIPWithContext is an alternate form of the GetBareMetalServerNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) GetBareMetalServerNetworkInterfaceFloatingIPWithContext(ctx context.Context, getBareMetalServerNetworkInterfaceFloatingIPOptions *GetBareMetalServerNetworkInterfaceFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBareMetalServerNetworkInterfaceFloatingIPOptions, "getBareMetalServerNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBareMetalServerNetworkInterfaceFloatingIPOptions, "getBareMetalServerNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *getBareMetalServerNetworkInterfaceFloatingIPOptions.BareMetalServerID, + "network_interface_id": *getBareMetalServerNetworkInterfaceFloatingIPOptions.NetworkInterfaceID, + "id": *getBareMetalServerNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBareMetalServerNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBareMetalServerNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_bare_metal_server_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// AddBareMetalServerNetworkInterfaceFloatingIP : Associate a floating IP with a bare metal server network interface +// This request associates the specified floating IP with the specified bare metal server network interface. If +// `enable_infrastructure_nat` is `false`, this adds the IP to any existing associations. If `enable_infrastructure_nat` +// is `true`, this replaces any existing association. +// +// The existing floating IP must: +// - not be required by another resource, such as a public gateway +// - be in the same `zone` as the bare metal server +// +// A request body is not required, and if provided, is ignored. +func (vpc *VpcV1) AddBareMetalServerNetworkInterfaceFloatingIP(addBareMetalServerNetworkInterfaceFloatingIPOptions *AddBareMetalServerNetworkInterfaceFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.AddBareMetalServerNetworkInterfaceFloatingIPWithContext(context.Background(), addBareMetalServerNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// AddBareMetalServerNetworkInterfaceFloatingIPWithContext is an alternate form of the AddBareMetalServerNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) AddBareMetalServerNetworkInterfaceFloatingIPWithContext(ctx context.Context, addBareMetalServerNetworkInterfaceFloatingIPOptions *AddBareMetalServerNetworkInterfaceFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(addBareMetalServerNetworkInterfaceFloatingIPOptions, "addBareMetalServerNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(addBareMetalServerNetworkInterfaceFloatingIPOptions, "addBareMetalServerNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *addBareMetalServerNetworkInterfaceFloatingIPOptions.BareMetalServerID, + "network_interface_id": *addBareMetalServerNetworkInterfaceFloatingIPOptions.NetworkInterfaceID, + "id": *addBareMetalServerNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "AddBareMetalServerNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range addBareMetalServerNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "add_bare_metal_server_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListBareMetalServerNetworkInterfaceIps : List the primary reserved IP for a bare metal server network interface +// This request lists the primary reserved IP for a bare metal server network interface. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) ListBareMetalServerNetworkInterfaceIps(listBareMetalServerNetworkInterfaceIpsOptions *ListBareMetalServerNetworkInterfaceIpsOptions) (result *ReservedIPCollectionBareMetalServerNetworkInterfaceContext, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListBareMetalServerNetworkInterfaceIpsWithContext(context.Background(), listBareMetalServerNetworkInterfaceIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListBareMetalServerNetworkInterfaceIpsWithContext is an alternate form of the ListBareMetalServerNetworkInterfaceIps method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) ListBareMetalServerNetworkInterfaceIpsWithContext(ctx context.Context, listBareMetalServerNetworkInterfaceIpsOptions *ListBareMetalServerNetworkInterfaceIpsOptions) (result *ReservedIPCollectionBareMetalServerNetworkInterfaceContext, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: ListBareMetalServerNetworkInterfaceIps") + err = core.ValidateNotNil(listBareMetalServerNetworkInterfaceIpsOptions, "listBareMetalServerNetworkInterfaceIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listBareMetalServerNetworkInterfaceIpsOptions, "listBareMetalServerNetworkInterfaceIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *listBareMetalServerNetworkInterfaceIpsOptions.BareMetalServerID, + "network_interface_id": *listBareMetalServerNetworkInterfaceIpsOptions.NetworkInterfaceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListBareMetalServerNetworkInterfaceIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listBareMetalServerNetworkInterfaceIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_bare_metal_server_network_interface_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIPCollectionBareMetalServerNetworkInterfaceContext) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetBareMetalServerNetworkInterfaceIP : Retrieve the primary reserved IP +// This request retrieves the primary reserved IP for a bare metal server network interface. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) GetBareMetalServerNetworkInterfaceIP(getBareMetalServerNetworkInterfaceIPOptions *GetBareMetalServerNetworkInterfaceIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBareMetalServerNetworkInterfaceIPWithContext(context.Background(), getBareMetalServerNetworkInterfaceIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBareMetalServerNetworkInterfaceIPWithContext is an alternate form of the GetBareMetalServerNetworkInterfaceIP method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) GetBareMetalServerNetworkInterfaceIPWithContext(ctx context.Context, getBareMetalServerNetworkInterfaceIPOptions *GetBareMetalServerNetworkInterfaceIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: GetBareMetalServerNetworkInterfaceIP") + err = core.ValidateNotNil(getBareMetalServerNetworkInterfaceIPOptions, "getBareMetalServerNetworkInterfaceIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBareMetalServerNetworkInterfaceIPOptions, "getBareMetalServerNetworkInterfaceIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "bare_metal_server_id": *getBareMetalServerNetworkInterfaceIPOptions.BareMetalServerID, + "network_interface_id": *getBareMetalServerNetworkInterfaceIPOptions.NetworkInterfaceID, + "id": *getBareMetalServerNetworkInterfaceIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{bare_metal_server_id}/network_interfaces/{network_interface_id}/ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBareMetalServerNetworkInterfaceIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBareMetalServerNetworkInterfaceIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_bare_metal_server_network_interface_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteBareMetalServer : Delete a bare metal server +// This request deletes a bare metal server. This operation cannot be reversed. Any floating IPs associated with the +// bare metal server network interfaces are implicitly disassociated. +func (vpc *VpcV1) DeleteBareMetalServer(deleteBareMetalServerOptions *DeleteBareMetalServerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteBareMetalServerWithContext(context.Background(), deleteBareMetalServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteBareMetalServerWithContext is an alternate form of the DeleteBareMetalServer method which supports a Context parameter +func (vpc *VpcV1) DeleteBareMetalServerWithContext(ctx context.Context, deleteBareMetalServerOptions *DeleteBareMetalServerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteBareMetalServerOptions, "deleteBareMetalServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteBareMetalServerOptions, "deleteBareMetalServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteBareMetalServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteBareMetalServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteBareMetalServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_bare_metal_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetBareMetalServer : Retrieve a bare metal server +// This request retrieves a single bare metal server specified by the identifier in the URL. +func (vpc *VpcV1) GetBareMetalServer(getBareMetalServerOptions *GetBareMetalServerOptions) (result *BareMetalServer, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBareMetalServerWithContext(context.Background(), getBareMetalServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBareMetalServerWithContext is an alternate form of the GetBareMetalServer method which supports a Context parameter +func (vpc *VpcV1) GetBareMetalServerWithContext(ctx context.Context, getBareMetalServerOptions *GetBareMetalServerOptions) (result *BareMetalServer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBareMetalServerOptions, "getBareMetalServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBareMetalServerOptions, "getBareMetalServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getBareMetalServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBareMetalServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBareMetalServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_bare_metal_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateBareMetalServer : Update a bare metal server +// This request updates a bare metal server with the information in a provided patch. The bare metal server patch object +// is structured in the same way as a retrieved bare metal server and contains only the information to be updated. +// +// For this request to succeed, the properties in the request must adhere to the `allowed_use` property of the disk +// referenced in the server's `boot_target`. +func (vpc *VpcV1) UpdateBareMetalServer(updateBareMetalServerOptions *UpdateBareMetalServerOptions) (result *BareMetalServer, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateBareMetalServerWithContext(context.Background(), updateBareMetalServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateBareMetalServerWithContext is an alternate form of the UpdateBareMetalServer method which supports a Context parameter +func (vpc *VpcV1) UpdateBareMetalServerWithContext(ctx context.Context, updateBareMetalServerOptions *UpdateBareMetalServerOptions) (result *BareMetalServer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateBareMetalServerOptions, "updateBareMetalServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateBareMetalServerOptions, "updateBareMetalServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateBareMetalServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateBareMetalServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateBareMetalServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateBareMetalServerOptions.BareMetalServerPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_bare_metal_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateFirmwareForBareMetalServer : Update firmware for a bare metal server +// This request updates a bare metal server to the latest available firmware. The server must be stopped. +func (vpc *VpcV1) UpdateFirmwareForBareMetalServer(updateFirmwareForBareMetalServerOptions *UpdateFirmwareForBareMetalServerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.UpdateFirmwareForBareMetalServerWithContext(context.Background(), updateFirmwareForBareMetalServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateFirmwareForBareMetalServerWithContext is an alternate form of the UpdateFirmwareForBareMetalServer method which supports a Context parameter +func (vpc *VpcV1) UpdateFirmwareForBareMetalServerWithContext(ctx context.Context, updateFirmwareForBareMetalServerOptions *UpdateFirmwareForBareMetalServerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateFirmwareForBareMetalServerOptions, "updateFirmwareForBareMetalServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateFirmwareForBareMetalServerOptions, "updateFirmwareForBareMetalServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateFirmwareForBareMetalServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}/firmware/update`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateFirmwareForBareMetalServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateFirmwareForBareMetalServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if updateFirmwareForBareMetalServerOptions.AutoStart != nil { + body["auto_start"] = updateFirmwareForBareMetalServerOptions.AutoStart + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "update_firmware_for_bare_metal_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetBareMetalServerInitialization : Retrieve initialization configuration for a bare metal server +// This request retrieves configuration used to initialize the bare metal server, such as the image used, SSH keys, and +// any configured usernames and passwords. These can subsequently be changed on the server and therefore may not be +// current. +func (vpc *VpcV1) GetBareMetalServerInitialization(getBareMetalServerInitializationOptions *GetBareMetalServerInitializationOptions) (result *BareMetalServerInitialization, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetBareMetalServerInitializationWithContext(context.Background(), getBareMetalServerInitializationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetBareMetalServerInitializationWithContext is an alternate form of the GetBareMetalServerInitialization method which supports a Context parameter +func (vpc *VpcV1) GetBareMetalServerInitializationWithContext(ctx context.Context, getBareMetalServerInitializationOptions *GetBareMetalServerInitializationOptions) (result *BareMetalServerInitialization, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getBareMetalServerInitializationOptions, "getBareMetalServerInitializationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getBareMetalServerInitializationOptions, "getBareMetalServerInitializationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getBareMetalServerInitializationOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}/initialization`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetBareMetalServerInitialization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getBareMetalServerInitializationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_bare_metal_server_initialization", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerInitialization) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ReplaceBareMetalServerInitialization : Reinitialize a bare metal server +// This request reinitializes a bare metal server with the specified image and SSH keys. The server must be stopped. +// Upon successful reinitiatilization, the bare metal server will be started automatically. +// +// For this request to succeed, the properties of the server which would result from the reinitialization must adhere to +// the specified image's `allowed_use` property. +func (vpc *VpcV1) ReplaceBareMetalServerInitialization(replaceBareMetalServerInitializationOptions *ReplaceBareMetalServerInitializationOptions) (result *BareMetalServerInitialization, response *core.DetailedResponse, err error) { + result, response, err = vpc.ReplaceBareMetalServerInitializationWithContext(context.Background(), replaceBareMetalServerInitializationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ReplaceBareMetalServerInitializationWithContext is an alternate form of the ReplaceBareMetalServerInitialization method which supports a Context parameter +func (vpc *VpcV1) ReplaceBareMetalServerInitializationWithContext(ctx context.Context, replaceBareMetalServerInitializationOptions *ReplaceBareMetalServerInitializationOptions) (result *BareMetalServerInitialization, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(replaceBareMetalServerInitializationOptions, "replaceBareMetalServerInitializationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(replaceBareMetalServerInitializationOptions, "replaceBareMetalServerInitializationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *replaceBareMetalServerInitializationOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}/initialization`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ReplaceBareMetalServerInitialization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range replaceBareMetalServerInitializationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if replaceBareMetalServerInitializationOptions.Image != nil { + body["image"] = replaceBareMetalServerInitializationOptions.Image + } + if replaceBareMetalServerInitializationOptions.Keys != nil { + body["keys"] = replaceBareMetalServerInitializationOptions.Keys + } + if replaceBareMetalServerInitializationOptions.DefaultTrustedProfile != nil { + body["default_trusted_profile"] = replaceBareMetalServerInitializationOptions.DefaultTrustedProfile + } + if replaceBareMetalServerInitializationOptions.UserData != nil { + body["user_data"] = replaceBareMetalServerInitializationOptions.UserData + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "replace_bare_metal_server_initialization", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBareMetalServerInitialization) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RestartBareMetalServer : Restart a bare metal server +// This request immediately restarts a bare metal server. For this request to succeed, the server must have a `status` +// of `running`. +func (vpc *VpcV1) RestartBareMetalServer(restartBareMetalServerOptions *RestartBareMetalServerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RestartBareMetalServerWithContext(context.Background(), restartBareMetalServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RestartBareMetalServerWithContext is an alternate form of the RestartBareMetalServer method which supports a Context parameter +func (vpc *VpcV1) RestartBareMetalServerWithContext(ctx context.Context, restartBareMetalServerOptions *RestartBareMetalServerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(restartBareMetalServerOptions, "restartBareMetalServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(restartBareMetalServerOptions, "restartBareMetalServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *restartBareMetalServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}/restart`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RestartBareMetalServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range restartBareMetalServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "restart_bare_metal_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// StartBareMetalServer : Start a bare metal server +// This request starts a bare metal server. It will run immediately provided the server is stopped. +func (vpc *VpcV1) StartBareMetalServer(startBareMetalServerOptions *StartBareMetalServerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.StartBareMetalServerWithContext(context.Background(), startBareMetalServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// StartBareMetalServerWithContext is an alternate form of the StartBareMetalServer method which supports a Context parameter +func (vpc *VpcV1) StartBareMetalServerWithContext(ctx context.Context, startBareMetalServerOptions *StartBareMetalServerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(startBareMetalServerOptions, "startBareMetalServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(startBareMetalServerOptions, "startBareMetalServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *startBareMetalServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}/start`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "StartBareMetalServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range startBareMetalServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "start_bare_metal_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// StopBareMetalServer : Stop a bare metal server +// This request stops a bare metal server. It will run immediately provided the server is running. Note: A soft stop may +// not complete as it relies on the operating system to perform the operation. +func (vpc *VpcV1) StopBareMetalServer(stopBareMetalServerOptions *StopBareMetalServerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.StopBareMetalServerWithContext(context.Background(), stopBareMetalServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// StopBareMetalServerWithContext is an alternate form of the StopBareMetalServer method which supports a Context parameter +func (vpc *VpcV1) StopBareMetalServerWithContext(ctx context.Context, stopBareMetalServerOptions *StopBareMetalServerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(stopBareMetalServerOptions, "stopBareMetalServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(stopBareMetalServerOptions, "stopBareMetalServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *stopBareMetalServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/bare_metal_servers/{id}/stop`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "StopBareMetalServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range stopBareMetalServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if stopBareMetalServerOptions.Type != nil { + body["type"] = stopBareMetalServerOptions.Type + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "stop_bare_metal_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListClusterNetworkProfiles : List cluster network profiles +// This request lists cluster network profiles available in the region. A cluster network profile specifies the +// performance characteristics and capabilities for a cluster network. +func (vpc *VpcV1) ListClusterNetworkProfiles(listClusterNetworkProfilesOptions *ListClusterNetworkProfilesOptions) (result *ClusterNetworkProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListClusterNetworkProfilesWithContext(context.Background(), listClusterNetworkProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListClusterNetworkProfilesWithContext is an alternate form of the ListClusterNetworkProfiles method which supports a Context parameter +func (vpc *VpcV1) ListClusterNetworkProfilesWithContext(ctx context.Context, listClusterNetworkProfilesOptions *ListClusterNetworkProfilesOptions) (result *ClusterNetworkProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listClusterNetworkProfilesOptions, "listClusterNetworkProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_network/profiles`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListClusterNetworkProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listClusterNetworkProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listClusterNetworkProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listClusterNetworkProfilesOptions.Start)) + } + if listClusterNetworkProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listClusterNetworkProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_cluster_network_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetClusterNetworkProfile : Retrieve a cluster network profile +// This request retrieves a single cluster network profile specified by the name in the URL. +func (vpc *VpcV1) GetClusterNetworkProfile(getClusterNetworkProfileOptions *GetClusterNetworkProfileOptions) (result *ClusterNetworkProfile, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetClusterNetworkProfileWithContext(context.Background(), getClusterNetworkProfileOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetClusterNetworkProfileWithContext is an alternate form of the GetClusterNetworkProfile method which supports a Context parameter +func (vpc *VpcV1) GetClusterNetworkProfileWithContext(ctx context.Context, getClusterNetworkProfileOptions *GetClusterNetworkProfileOptions) (result *ClusterNetworkProfile, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getClusterNetworkProfileOptions, "getClusterNetworkProfileOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getClusterNetworkProfileOptions, "getClusterNetworkProfileOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getClusterNetworkProfileOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_network/profiles/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetClusterNetworkProfile") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getClusterNetworkProfileOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_cluster_network_profile", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkProfile) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListClusterNetworks : List cluster networks +// This request lists [cluster networks](https://cloud.ibm.com/docs/vpc?topic=vpc-about-cluster-network) in the region. +// A cluster network is a grouping of resources in a separate networking space for high performance computing and +// networking. +func (vpc *VpcV1) ListClusterNetworks(listClusterNetworksOptions *ListClusterNetworksOptions) (result *ClusterNetworkCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListClusterNetworksWithContext(context.Background(), listClusterNetworksOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListClusterNetworksWithContext is an alternate form of the ListClusterNetworks method which supports a Context parameter +func (vpc *VpcV1) ListClusterNetworksWithContext(ctx context.Context, listClusterNetworksOptions *ListClusterNetworksOptions) (result *ClusterNetworkCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listClusterNetworksOptions, "listClusterNetworksOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListClusterNetworks") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listClusterNetworksOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listClusterNetworksOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listClusterNetworksOptions.Start)) + } + if listClusterNetworksOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listClusterNetworksOptions.Limit)) + } + if listClusterNetworksOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listClusterNetworksOptions.ResourceGroupID)) + } + if listClusterNetworksOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listClusterNetworksOptions.Name)) + } + if listClusterNetworksOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listClusterNetworksOptions.Sort)) + } + if listClusterNetworksOptions.VPCID != nil { + builder.AddQuery("vpc.id", fmt.Sprint(*listClusterNetworksOptions.VPCID)) + } + if listClusterNetworksOptions.VPCCRN != nil { + builder.AddQuery("vpc.crn", fmt.Sprint(*listClusterNetworksOptions.VPCCRN)) + } + if listClusterNetworksOptions.VPCName != nil { + builder.AddQuery("vpc.name", fmt.Sprint(*listClusterNetworksOptions.VPCName)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_cluster_networks", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateClusterNetwork : Create a cluster network +// This request creates a new cluster network from a cluster network prototype object. The prototype object is +// structured in the same way as a retrieved cluster network, and contains the information necessary to create the new +// cluster network. +func (vpc *VpcV1) CreateClusterNetwork(createClusterNetworkOptions *CreateClusterNetworkOptions) (result *ClusterNetwork, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateClusterNetworkWithContext(context.Background(), createClusterNetworkOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateClusterNetworkWithContext is an alternate form of the CreateClusterNetwork method which supports a Context parameter +func (vpc *VpcV1) CreateClusterNetworkWithContext(ctx context.Context, createClusterNetworkOptions *CreateClusterNetworkOptions) (result *ClusterNetwork, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createClusterNetworkOptions, "createClusterNetworkOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createClusterNetworkOptions, "createClusterNetworkOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateClusterNetwork") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createClusterNetworkOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createClusterNetworkOptions.Profile != nil { + body["profile"] = createClusterNetworkOptions.Profile + } + if createClusterNetworkOptions.VPC != nil { + body["vpc"] = createClusterNetworkOptions.VPC + } + if createClusterNetworkOptions.Zone != nil { + body["zone"] = createClusterNetworkOptions.Zone + } + if createClusterNetworkOptions.Name != nil { + body["name"] = createClusterNetworkOptions.Name + } + if createClusterNetworkOptions.ResourceGroup != nil { + body["resource_group"] = createClusterNetworkOptions.ResourceGroup + } + if createClusterNetworkOptions.SubnetPrefixes != nil { + body["subnet_prefixes"] = createClusterNetworkOptions.SubnetPrefixes + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_cluster_network", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetwork) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListClusterNetworkInterfaces : List cluster network interfaces +// This request lists cluster network interfaces in the region. A cluster network interface is a logical abstraction of +// a cluster network interface in a subnet, and may be attached to a target resource. +// +// The cluster network interfaces will be sorted by their `created_at` property values, with newest cluster network +// interfaces first. Cluster network interfaces with identical +// `created_at` property values will in turn be sorted by ascending `name` property values. +func (vpc *VpcV1) ListClusterNetworkInterfaces(listClusterNetworkInterfacesOptions *ListClusterNetworkInterfacesOptions) (result *ClusterNetworkInterfaceCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListClusterNetworkInterfacesWithContext(context.Background(), listClusterNetworkInterfacesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListClusterNetworkInterfacesWithContext is an alternate form of the ListClusterNetworkInterfaces method which supports a Context parameter +func (vpc *VpcV1) ListClusterNetworkInterfacesWithContext(ctx context.Context, listClusterNetworkInterfacesOptions *ListClusterNetworkInterfacesOptions) (result *ClusterNetworkInterfaceCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listClusterNetworkInterfacesOptions, "listClusterNetworkInterfacesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listClusterNetworkInterfacesOptions, "listClusterNetworkInterfacesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *listClusterNetworkInterfacesOptions.ClusterNetworkID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/interfaces`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListClusterNetworkInterfaces") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listClusterNetworkInterfacesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listClusterNetworkInterfacesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listClusterNetworkInterfacesOptions.Start)) + } + if listClusterNetworkInterfacesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listClusterNetworkInterfacesOptions.Limit)) + } + if listClusterNetworkInterfacesOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listClusterNetworkInterfacesOptions.Name)) + } + if listClusterNetworkInterfacesOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listClusterNetworkInterfacesOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_cluster_network_interfaces", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkInterfaceCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateClusterNetworkInterface : Create a cluster network interface +// This request creates a new cluster network interface from a cluster network interface prototype object. The prototype +// object is structured in the same way as a retrieved cluster network interface, and contains the information necessary +// to create the new cluster network interface. +func (vpc *VpcV1) CreateClusterNetworkInterface(createClusterNetworkInterfaceOptions *CreateClusterNetworkInterfaceOptions) (result *ClusterNetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateClusterNetworkInterfaceWithContext(context.Background(), createClusterNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateClusterNetworkInterfaceWithContext is an alternate form of the CreateClusterNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) CreateClusterNetworkInterfaceWithContext(ctx context.Context, createClusterNetworkInterfaceOptions *CreateClusterNetworkInterfaceOptions) (result *ClusterNetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createClusterNetworkInterfaceOptions, "createClusterNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createClusterNetworkInterfaceOptions, "createClusterNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *createClusterNetworkInterfaceOptions.ClusterNetworkID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/interfaces`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateClusterNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createClusterNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createClusterNetworkInterfaceOptions.Name != nil { + body["name"] = createClusterNetworkInterfaceOptions.Name + } + if createClusterNetworkInterfaceOptions.PrimaryIP != nil { + body["primary_ip"] = createClusterNetworkInterfaceOptions.PrimaryIP + } + if createClusterNetworkInterfaceOptions.Subnet != nil { + body["subnet"] = createClusterNetworkInterfaceOptions.Subnet + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_cluster_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteClusterNetworkInterface : Delete a cluster network interface +// This request deletes a cluster network interface. This operation cannot be reversed. For this request to succeed, +// the cluster network interface must not be required by another resource, such as a cluster network attachment for a +// virtual server instance. +func (vpc *VpcV1) DeleteClusterNetworkInterface(deleteClusterNetworkInterfaceOptions *DeleteClusterNetworkInterfaceOptions) (result *ClusterNetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteClusterNetworkInterfaceWithContext(context.Background(), deleteClusterNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteClusterNetworkInterfaceWithContext is an alternate form of the DeleteClusterNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) DeleteClusterNetworkInterfaceWithContext(ctx context.Context, deleteClusterNetworkInterfaceOptions *DeleteClusterNetworkInterfaceOptions) (result *ClusterNetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteClusterNetworkInterfaceOptions, "deleteClusterNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteClusterNetworkInterfaceOptions, "deleteClusterNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *deleteClusterNetworkInterfaceOptions.ClusterNetworkID, + "id": *deleteClusterNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteClusterNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteClusterNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + if deleteClusterNetworkInterfaceOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteClusterNetworkInterfaceOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_cluster_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetClusterNetworkInterface : Retrieve a cluster network interface +// This request retrieves a single cluster network interface specified by the identifier in the URL. +func (vpc *VpcV1) GetClusterNetworkInterface(getClusterNetworkInterfaceOptions *GetClusterNetworkInterfaceOptions) (result *ClusterNetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetClusterNetworkInterfaceWithContext(context.Background(), getClusterNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetClusterNetworkInterfaceWithContext is an alternate form of the GetClusterNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) GetClusterNetworkInterfaceWithContext(ctx context.Context, getClusterNetworkInterfaceOptions *GetClusterNetworkInterfaceOptions) (result *ClusterNetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getClusterNetworkInterfaceOptions, "getClusterNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getClusterNetworkInterfaceOptions, "getClusterNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *getClusterNetworkInterfaceOptions.ClusterNetworkID, + "id": *getClusterNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetClusterNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getClusterNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_cluster_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateClusterNetworkInterface : Update a cluster network interface +// This request updates a cluster network interface with the information provided in a cluster network interface patch +// object. The patch object is structured in the same way as a retrieved cluster network interface and needs to contain +// only the information to be updated. +func (vpc *VpcV1) UpdateClusterNetworkInterface(updateClusterNetworkInterfaceOptions *UpdateClusterNetworkInterfaceOptions) (result *ClusterNetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateClusterNetworkInterfaceWithContext(context.Background(), updateClusterNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateClusterNetworkInterfaceWithContext is an alternate form of the UpdateClusterNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) UpdateClusterNetworkInterfaceWithContext(ctx context.Context, updateClusterNetworkInterfaceOptions *UpdateClusterNetworkInterfaceOptions) (result *ClusterNetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateClusterNetworkInterfaceOptions, "updateClusterNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateClusterNetworkInterfaceOptions, "updateClusterNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *updateClusterNetworkInterfaceOptions.ClusterNetworkID, + "id": *updateClusterNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateClusterNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateClusterNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateClusterNetworkInterfaceOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateClusterNetworkInterfaceOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateClusterNetworkInterfaceOptions.ClusterNetworkInterfacePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_cluster_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListClusterNetworkSubnets : List cluster network subnets +// This request lists cluster network subnets in the cluster network. A cluster network subnet provides network routing +// between other cluster network subnets within a cluster network. +func (vpc *VpcV1) ListClusterNetworkSubnets(listClusterNetworkSubnetsOptions *ListClusterNetworkSubnetsOptions) (result *ClusterNetworkSubnetCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListClusterNetworkSubnetsWithContext(context.Background(), listClusterNetworkSubnetsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListClusterNetworkSubnetsWithContext is an alternate form of the ListClusterNetworkSubnets method which supports a Context parameter +func (vpc *VpcV1) ListClusterNetworkSubnetsWithContext(ctx context.Context, listClusterNetworkSubnetsOptions *ListClusterNetworkSubnetsOptions) (result *ClusterNetworkSubnetCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listClusterNetworkSubnetsOptions, "listClusterNetworkSubnetsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listClusterNetworkSubnetsOptions, "listClusterNetworkSubnetsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *listClusterNetworkSubnetsOptions.ClusterNetworkID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListClusterNetworkSubnets") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listClusterNetworkSubnetsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listClusterNetworkSubnetsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listClusterNetworkSubnetsOptions.Start)) + } + if listClusterNetworkSubnetsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listClusterNetworkSubnetsOptions.Limit)) + } + if listClusterNetworkSubnetsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listClusterNetworkSubnetsOptions.Name)) + } + if listClusterNetworkSubnetsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listClusterNetworkSubnetsOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_cluster_network_subnets", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnetCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateClusterNetworkSubnet : Create a cluster network subnet +// This request creates a new cluster network subnet from a cluster network subnet prototype object. The prototype +// object is structured in the same way as a retrieved cluster network subnet, and contains the information necessary to +// create the new cluster network subnet. +func (vpc *VpcV1) CreateClusterNetworkSubnet(createClusterNetworkSubnetOptions *CreateClusterNetworkSubnetOptions) (result *ClusterNetworkSubnet, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateClusterNetworkSubnetWithContext(context.Background(), createClusterNetworkSubnetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateClusterNetworkSubnetWithContext is an alternate form of the CreateClusterNetworkSubnet method which supports a Context parameter +func (vpc *VpcV1) CreateClusterNetworkSubnetWithContext(ctx context.Context, createClusterNetworkSubnetOptions *CreateClusterNetworkSubnetOptions) (result *ClusterNetworkSubnet, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createClusterNetworkSubnetOptions, "createClusterNetworkSubnetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createClusterNetworkSubnetOptions, "createClusterNetworkSubnetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *createClusterNetworkSubnetOptions.ClusterNetworkID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateClusterNetworkSubnet") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createClusterNetworkSubnetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createClusterNetworkSubnetOptions.ClusterNetworkSubnetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_cluster_network_subnet", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListClusterNetworkSubnetReservedIps : List cluster network subnet reserved IPs +// This request lists cluster network subnet reserved IPs in the cluster network. +func (vpc *VpcV1) ListClusterNetworkSubnetReservedIps(listClusterNetworkSubnetReservedIpsOptions *ListClusterNetworkSubnetReservedIpsOptions) (result *ClusterNetworkSubnetReservedIPCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListClusterNetworkSubnetReservedIpsWithContext(context.Background(), listClusterNetworkSubnetReservedIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListClusterNetworkSubnetReservedIpsWithContext is an alternate form of the ListClusterNetworkSubnetReservedIps method which supports a Context parameter +func (vpc *VpcV1) ListClusterNetworkSubnetReservedIpsWithContext(ctx context.Context, listClusterNetworkSubnetReservedIpsOptions *ListClusterNetworkSubnetReservedIpsOptions) (result *ClusterNetworkSubnetReservedIPCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listClusterNetworkSubnetReservedIpsOptions, "listClusterNetworkSubnetReservedIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listClusterNetworkSubnetReservedIpsOptions, "listClusterNetworkSubnetReservedIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *listClusterNetworkSubnetReservedIpsOptions.ClusterNetworkID, + "cluster_network_subnet_id": *listClusterNetworkSubnetReservedIpsOptions.ClusterNetworkSubnetID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets/{cluster_network_subnet_id}/reserved_ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListClusterNetworkSubnetReservedIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listClusterNetworkSubnetReservedIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listClusterNetworkSubnetReservedIpsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listClusterNetworkSubnetReservedIpsOptions.Start)) + } + if listClusterNetworkSubnetReservedIpsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listClusterNetworkSubnetReservedIpsOptions.Limit)) + } + if listClusterNetworkSubnetReservedIpsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listClusterNetworkSubnetReservedIpsOptions.Name)) + } + if listClusterNetworkSubnetReservedIpsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listClusterNetworkSubnetReservedIpsOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_cluster_network_subnet_reserved_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnetReservedIPCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateClusterNetworkSubnetReservedIP : Create a cluster network subnet reserved IP +// This request creates a new cluster network subnet reserved IP from a cluster network subnet reserved IP prototype +// object. The prototype object is structured in the same way as a retrieved cluster network subnet reserved IP, and +// contains the information necessary to create the new cluster network subnet reserved IP. +func (vpc *VpcV1) CreateClusterNetworkSubnetReservedIP(createClusterNetworkSubnetReservedIPOptions *CreateClusterNetworkSubnetReservedIPOptions) (result *ClusterNetworkSubnetReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateClusterNetworkSubnetReservedIPWithContext(context.Background(), createClusterNetworkSubnetReservedIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateClusterNetworkSubnetReservedIPWithContext is an alternate form of the CreateClusterNetworkSubnetReservedIP method which supports a Context parameter +func (vpc *VpcV1) CreateClusterNetworkSubnetReservedIPWithContext(ctx context.Context, createClusterNetworkSubnetReservedIPOptions *CreateClusterNetworkSubnetReservedIPOptions) (result *ClusterNetworkSubnetReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createClusterNetworkSubnetReservedIPOptions, "createClusterNetworkSubnetReservedIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createClusterNetworkSubnetReservedIPOptions, "createClusterNetworkSubnetReservedIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *createClusterNetworkSubnetReservedIPOptions.ClusterNetworkID, + "cluster_network_subnet_id": *createClusterNetworkSubnetReservedIPOptions.ClusterNetworkSubnetID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets/{cluster_network_subnet_id}/reserved_ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateClusterNetworkSubnetReservedIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createClusterNetworkSubnetReservedIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createClusterNetworkSubnetReservedIPOptions.Address != nil { + body["address"] = createClusterNetworkSubnetReservedIPOptions.Address + } + if createClusterNetworkSubnetReservedIPOptions.Name != nil { + body["name"] = createClusterNetworkSubnetReservedIPOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_cluster_network_subnet_reserved_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnetReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteClusterNetworkSubnetReservedIP : Delete a cluster network subnet reserved IP +// This request deletes a cluster network subnet reserved IP. This operation cannot be reversed. +// +// For this request to succeed, the reserved IP must be unbound. A provider-owned reserved IP is not allowed to be +// deleted. +func (vpc *VpcV1) DeleteClusterNetworkSubnetReservedIP(deleteClusterNetworkSubnetReservedIPOptions *DeleteClusterNetworkSubnetReservedIPOptions) (result *ClusterNetworkSubnetReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteClusterNetworkSubnetReservedIPWithContext(context.Background(), deleteClusterNetworkSubnetReservedIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteClusterNetworkSubnetReservedIPWithContext is an alternate form of the DeleteClusterNetworkSubnetReservedIP method which supports a Context parameter +func (vpc *VpcV1) DeleteClusterNetworkSubnetReservedIPWithContext(ctx context.Context, deleteClusterNetworkSubnetReservedIPOptions *DeleteClusterNetworkSubnetReservedIPOptions) (result *ClusterNetworkSubnetReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteClusterNetworkSubnetReservedIPOptions, "deleteClusterNetworkSubnetReservedIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteClusterNetworkSubnetReservedIPOptions, "deleteClusterNetworkSubnetReservedIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *deleteClusterNetworkSubnetReservedIPOptions.ClusterNetworkID, + "cluster_network_subnet_id": *deleteClusterNetworkSubnetReservedIPOptions.ClusterNetworkSubnetID, + "id": *deleteClusterNetworkSubnetReservedIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets/{cluster_network_subnet_id}/reserved_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteClusterNetworkSubnetReservedIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteClusterNetworkSubnetReservedIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + if deleteClusterNetworkSubnetReservedIPOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteClusterNetworkSubnetReservedIPOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_cluster_network_subnet_reserved_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnetReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetClusterNetworkSubnetReservedIP : Retrieve a cluster network subnet reserved IP +// This request retrieves a single cluster network subnet reserved IP specified by the identifier in the URL. +func (vpc *VpcV1) GetClusterNetworkSubnetReservedIP(getClusterNetworkSubnetReservedIPOptions *GetClusterNetworkSubnetReservedIPOptions) (result *ClusterNetworkSubnetReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetClusterNetworkSubnetReservedIPWithContext(context.Background(), getClusterNetworkSubnetReservedIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetClusterNetworkSubnetReservedIPWithContext is an alternate form of the GetClusterNetworkSubnetReservedIP method which supports a Context parameter +func (vpc *VpcV1) GetClusterNetworkSubnetReservedIPWithContext(ctx context.Context, getClusterNetworkSubnetReservedIPOptions *GetClusterNetworkSubnetReservedIPOptions) (result *ClusterNetworkSubnetReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getClusterNetworkSubnetReservedIPOptions, "getClusterNetworkSubnetReservedIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getClusterNetworkSubnetReservedIPOptions, "getClusterNetworkSubnetReservedIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *getClusterNetworkSubnetReservedIPOptions.ClusterNetworkID, + "cluster_network_subnet_id": *getClusterNetworkSubnetReservedIPOptions.ClusterNetworkSubnetID, + "id": *getClusterNetworkSubnetReservedIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets/{cluster_network_subnet_id}/reserved_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetClusterNetworkSubnetReservedIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getClusterNetworkSubnetReservedIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_cluster_network_subnet_reserved_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnetReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateClusterNetworkSubnetReservedIP : Update a cluster network subnet reserved IP +// This request updates a cluster network subnet reserved IP with the information provided in a cluster network subnet +// reserved IP patch object. The patch object is structured in the same way as a retrieved cluster network subnet +// reserved IP and needs to contain only the information to be updated. +func (vpc *VpcV1) UpdateClusterNetworkSubnetReservedIP(updateClusterNetworkSubnetReservedIPOptions *UpdateClusterNetworkSubnetReservedIPOptions) (result *ClusterNetworkSubnetReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateClusterNetworkSubnetReservedIPWithContext(context.Background(), updateClusterNetworkSubnetReservedIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateClusterNetworkSubnetReservedIPWithContext is an alternate form of the UpdateClusterNetworkSubnetReservedIP method which supports a Context parameter +func (vpc *VpcV1) UpdateClusterNetworkSubnetReservedIPWithContext(ctx context.Context, updateClusterNetworkSubnetReservedIPOptions *UpdateClusterNetworkSubnetReservedIPOptions) (result *ClusterNetworkSubnetReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateClusterNetworkSubnetReservedIPOptions, "updateClusterNetworkSubnetReservedIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateClusterNetworkSubnetReservedIPOptions, "updateClusterNetworkSubnetReservedIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *updateClusterNetworkSubnetReservedIPOptions.ClusterNetworkID, + "cluster_network_subnet_id": *updateClusterNetworkSubnetReservedIPOptions.ClusterNetworkSubnetID, + "id": *updateClusterNetworkSubnetReservedIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets/{cluster_network_subnet_id}/reserved_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateClusterNetworkSubnetReservedIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateClusterNetworkSubnetReservedIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateClusterNetworkSubnetReservedIPOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateClusterNetworkSubnetReservedIPOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateClusterNetworkSubnetReservedIPOptions.ClusterNetworkSubnetReservedIPPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_cluster_network_subnet_reserved_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnetReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteClusterNetworkSubnet : Delete a cluster network subnet +// This request deletes a cluster network subnet. This operation cannot be reversed. +// +// For this request to succeed, this cluster subnet must not be attached to a cluster network interface. +func (vpc *VpcV1) DeleteClusterNetworkSubnet(deleteClusterNetworkSubnetOptions *DeleteClusterNetworkSubnetOptions) (result *ClusterNetworkSubnet, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteClusterNetworkSubnetWithContext(context.Background(), deleteClusterNetworkSubnetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteClusterNetworkSubnetWithContext is an alternate form of the DeleteClusterNetworkSubnet method which supports a Context parameter +func (vpc *VpcV1) DeleteClusterNetworkSubnetWithContext(ctx context.Context, deleteClusterNetworkSubnetOptions *DeleteClusterNetworkSubnetOptions) (result *ClusterNetworkSubnet, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteClusterNetworkSubnetOptions, "deleteClusterNetworkSubnetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteClusterNetworkSubnetOptions, "deleteClusterNetworkSubnetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *deleteClusterNetworkSubnetOptions.ClusterNetworkID, + "id": *deleteClusterNetworkSubnetOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteClusterNetworkSubnet") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteClusterNetworkSubnetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + if deleteClusterNetworkSubnetOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteClusterNetworkSubnetOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_cluster_network_subnet", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetClusterNetworkSubnet : Retrieve a cluster network subnet +// This request retrieves a single cluster network subnet specified by the identifier in the URL. +func (vpc *VpcV1) GetClusterNetworkSubnet(getClusterNetworkSubnetOptions *GetClusterNetworkSubnetOptions) (result *ClusterNetworkSubnet, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetClusterNetworkSubnetWithContext(context.Background(), getClusterNetworkSubnetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetClusterNetworkSubnetWithContext is an alternate form of the GetClusterNetworkSubnet method which supports a Context parameter +func (vpc *VpcV1) GetClusterNetworkSubnetWithContext(ctx context.Context, getClusterNetworkSubnetOptions *GetClusterNetworkSubnetOptions) (result *ClusterNetworkSubnet, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getClusterNetworkSubnetOptions, "getClusterNetworkSubnetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getClusterNetworkSubnetOptions, "getClusterNetworkSubnetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *getClusterNetworkSubnetOptions.ClusterNetworkID, + "id": *getClusterNetworkSubnetOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetClusterNetworkSubnet") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getClusterNetworkSubnetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_cluster_network_subnet", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateClusterNetworkSubnet : Update a cluster network subnet +// This request updates a cluster network subnet with the information provided in a cluster network subnet patch object. +// The patch object is structured in the same way as a retrieved cluster network subnet and needs to contain only the +// information to be updated. +func (vpc *VpcV1) UpdateClusterNetworkSubnet(updateClusterNetworkSubnetOptions *UpdateClusterNetworkSubnetOptions) (result *ClusterNetworkSubnet, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateClusterNetworkSubnetWithContext(context.Background(), updateClusterNetworkSubnetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateClusterNetworkSubnetWithContext is an alternate form of the UpdateClusterNetworkSubnet method which supports a Context parameter +func (vpc *VpcV1) UpdateClusterNetworkSubnetWithContext(ctx context.Context, updateClusterNetworkSubnetOptions *UpdateClusterNetworkSubnetOptions) (result *ClusterNetworkSubnet, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateClusterNetworkSubnetOptions, "updateClusterNetworkSubnetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateClusterNetworkSubnetOptions, "updateClusterNetworkSubnetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "cluster_network_id": *updateClusterNetworkSubnetOptions.ClusterNetworkID, + "id": *updateClusterNetworkSubnetOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{cluster_network_id}/subnets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateClusterNetworkSubnet") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateClusterNetworkSubnetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateClusterNetworkSubnetOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateClusterNetworkSubnetOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateClusterNetworkSubnetOptions.ClusterNetworkSubnetPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_cluster_network_subnet", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetworkSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteClusterNetwork : Delete a cluster network +// This request deletes a cluster network. This operation cannot be reversed. +// +// For this request to succeed, virtual server instances must not reside in this cluster network. +func (vpc *VpcV1) DeleteClusterNetwork(deleteClusterNetworkOptions *DeleteClusterNetworkOptions) (result *ClusterNetwork, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteClusterNetworkWithContext(context.Background(), deleteClusterNetworkOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteClusterNetworkWithContext is an alternate form of the DeleteClusterNetwork method which supports a Context parameter +func (vpc *VpcV1) DeleteClusterNetworkWithContext(ctx context.Context, deleteClusterNetworkOptions *DeleteClusterNetworkOptions) (result *ClusterNetwork, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteClusterNetworkOptions, "deleteClusterNetworkOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteClusterNetworkOptions, "deleteClusterNetworkOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteClusterNetworkOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteClusterNetwork") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteClusterNetworkOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + if deleteClusterNetworkOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteClusterNetworkOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_cluster_network", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetwork) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetClusterNetwork : Retrieve a cluster network +// This request retrieves a single cluster network specified by the identifier in the URL. +func (vpc *VpcV1) GetClusterNetwork(getClusterNetworkOptions *GetClusterNetworkOptions) (result *ClusterNetwork, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetClusterNetworkWithContext(context.Background(), getClusterNetworkOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetClusterNetworkWithContext is an alternate form of the GetClusterNetwork method which supports a Context parameter +func (vpc *VpcV1) GetClusterNetworkWithContext(ctx context.Context, getClusterNetworkOptions *GetClusterNetworkOptions) (result *ClusterNetwork, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getClusterNetworkOptions, "getClusterNetworkOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getClusterNetworkOptions, "getClusterNetworkOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getClusterNetworkOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetClusterNetwork") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getClusterNetworkOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_cluster_network", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetwork) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateClusterNetwork : Update a cluster +// This request updates a cluster network with the information provided in a cluster network patch object. The patch +// object is structured in the same way as a retrieved cluster network and needs to contain only the information to be +// updated. +func (vpc *VpcV1) UpdateClusterNetwork(updateClusterNetworkOptions *UpdateClusterNetworkOptions) (result *ClusterNetwork, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateClusterNetworkWithContext(context.Background(), updateClusterNetworkOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateClusterNetworkWithContext is an alternate form of the UpdateClusterNetwork method which supports a Context parameter +func (vpc *VpcV1) UpdateClusterNetworkWithContext(ctx context.Context, updateClusterNetworkOptions *UpdateClusterNetworkOptions) (result *ClusterNetwork, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateClusterNetworkOptions, "updateClusterNetworkOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateClusterNetworkOptions, "updateClusterNetworkOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateClusterNetworkOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/cluster_networks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateClusterNetwork") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateClusterNetworkOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateClusterNetworkOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateClusterNetworkOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateClusterNetworkOptions.ClusterNetworkPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_cluster_network", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalClusterNetwork) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListDedicatedHostGroups : List dedicated host groups +// This request lists dedicated host groups in the region. Each dedicated host must belong to exactly one group, which +// controls placement of instances. Dedicated host groups do not span zones. +func (vpc *VpcV1) ListDedicatedHostGroups(listDedicatedHostGroupsOptions *ListDedicatedHostGroupsOptions) (result *DedicatedHostGroupCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListDedicatedHostGroupsWithContext(context.Background(), listDedicatedHostGroupsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListDedicatedHostGroupsWithContext is an alternate form of the ListDedicatedHostGroups method which supports a Context parameter +func (vpc *VpcV1) ListDedicatedHostGroupsWithContext(ctx context.Context, listDedicatedHostGroupsOptions *ListDedicatedHostGroupsOptions) (result *DedicatedHostGroupCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listDedicatedHostGroupsOptions, "listDedicatedHostGroupsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_host/groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListDedicatedHostGroups") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listDedicatedHostGroupsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listDedicatedHostGroupsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listDedicatedHostGroupsOptions.Start)) + } + if listDedicatedHostGroupsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listDedicatedHostGroupsOptions.Limit)) + } + if listDedicatedHostGroupsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listDedicatedHostGroupsOptions.ResourceGroupID)) + } + if listDedicatedHostGroupsOptions.ZoneName != nil { + builder.AddQuery("zone.name", fmt.Sprint(*listDedicatedHostGroupsOptions.ZoneName)) + } + if listDedicatedHostGroupsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listDedicatedHostGroupsOptions.Name)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_dedicated_host_groups", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostGroupCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateDedicatedHostGroup : Create a dedicated host group +// This request creates a new dedicated host group. +func (vpc *VpcV1) CreateDedicatedHostGroup(createDedicatedHostGroupOptions *CreateDedicatedHostGroupOptions) (result *DedicatedHostGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateDedicatedHostGroupWithContext(context.Background(), createDedicatedHostGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateDedicatedHostGroupWithContext is an alternate form of the CreateDedicatedHostGroup method which supports a Context parameter +func (vpc *VpcV1) CreateDedicatedHostGroupWithContext(ctx context.Context, createDedicatedHostGroupOptions *CreateDedicatedHostGroupOptions) (result *DedicatedHostGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createDedicatedHostGroupOptions, "createDedicatedHostGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createDedicatedHostGroupOptions, "createDedicatedHostGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_host/groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateDedicatedHostGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createDedicatedHostGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createDedicatedHostGroupOptions.Class != nil { + body["class"] = createDedicatedHostGroupOptions.Class + } + if createDedicatedHostGroupOptions.Family != nil { + body["family"] = createDedicatedHostGroupOptions.Family + } + if createDedicatedHostGroupOptions.Zone != nil { + body["zone"] = createDedicatedHostGroupOptions.Zone + } + if createDedicatedHostGroupOptions.Name != nil { + body["name"] = createDedicatedHostGroupOptions.Name + } + if createDedicatedHostGroupOptions.ResourceGroup != nil { + body["resource_group"] = createDedicatedHostGroupOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_dedicated_host_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteDedicatedHostGroup : Delete a dedicated host group +// This request deletes a dedicated host group. +func (vpc *VpcV1) DeleteDedicatedHostGroup(deleteDedicatedHostGroupOptions *DeleteDedicatedHostGroupOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteDedicatedHostGroupWithContext(context.Background(), deleteDedicatedHostGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteDedicatedHostGroupWithContext is an alternate form of the DeleteDedicatedHostGroup method which supports a Context parameter +func (vpc *VpcV1) DeleteDedicatedHostGroupWithContext(ctx context.Context, deleteDedicatedHostGroupOptions *DeleteDedicatedHostGroupOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteDedicatedHostGroupOptions, "deleteDedicatedHostGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteDedicatedHostGroupOptions, "deleteDedicatedHostGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteDedicatedHostGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_host/groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteDedicatedHostGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteDedicatedHostGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_dedicated_host_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetDedicatedHostGroup : Retrieve a dedicated host group +// This request retrieves a single dedicated host group specified by the identifier in the URL. +func (vpc *VpcV1) GetDedicatedHostGroup(getDedicatedHostGroupOptions *GetDedicatedHostGroupOptions) (result *DedicatedHostGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetDedicatedHostGroupWithContext(context.Background(), getDedicatedHostGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetDedicatedHostGroupWithContext is an alternate form of the GetDedicatedHostGroup method which supports a Context parameter +func (vpc *VpcV1) GetDedicatedHostGroupWithContext(ctx context.Context, getDedicatedHostGroupOptions *GetDedicatedHostGroupOptions) (result *DedicatedHostGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getDedicatedHostGroupOptions, "getDedicatedHostGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getDedicatedHostGroupOptions, "getDedicatedHostGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getDedicatedHostGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_host/groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetDedicatedHostGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getDedicatedHostGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_dedicated_host_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateDedicatedHostGroup : Update a dedicated host group +// This request updates a dedicated host group with the information in a provided dedicated host group patch. The +// dedicated host group patch object is structured in the same way as a retrieved dedicated host group and contains only +// the information to be updated. +func (vpc *VpcV1) UpdateDedicatedHostGroup(updateDedicatedHostGroupOptions *UpdateDedicatedHostGroupOptions) (result *DedicatedHostGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateDedicatedHostGroupWithContext(context.Background(), updateDedicatedHostGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateDedicatedHostGroupWithContext is an alternate form of the UpdateDedicatedHostGroup method which supports a Context parameter +func (vpc *VpcV1) UpdateDedicatedHostGroupWithContext(ctx context.Context, updateDedicatedHostGroupOptions *UpdateDedicatedHostGroupOptions) (result *DedicatedHostGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateDedicatedHostGroupOptions, "updateDedicatedHostGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateDedicatedHostGroupOptions, "updateDedicatedHostGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateDedicatedHostGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_host/groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateDedicatedHostGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateDedicatedHostGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateDedicatedHostGroupOptions.DedicatedHostGroupPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_dedicated_host_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListDedicatedHostProfiles : List dedicated host profiles +// This request lists provisionable [dedicated host profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles) in +// the region. A dedicated host profile specifies the hardware characteristics for a dedicated host. +func (vpc *VpcV1) ListDedicatedHostProfiles(listDedicatedHostProfilesOptions *ListDedicatedHostProfilesOptions) (result *DedicatedHostProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListDedicatedHostProfilesWithContext(context.Background(), listDedicatedHostProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListDedicatedHostProfilesWithContext is an alternate form of the ListDedicatedHostProfiles method which supports a Context parameter +func (vpc *VpcV1) ListDedicatedHostProfilesWithContext(ctx context.Context, listDedicatedHostProfilesOptions *ListDedicatedHostProfilesOptions) (result *DedicatedHostProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listDedicatedHostProfilesOptions, "listDedicatedHostProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_host/profiles`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListDedicatedHostProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listDedicatedHostProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listDedicatedHostProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listDedicatedHostProfilesOptions.Start)) + } + if listDedicatedHostProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listDedicatedHostProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_dedicated_host_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetDedicatedHostProfile : Retrieve a dedicated host profile +// This request retrieves a single dedicated host profile specified by the name in the URL. +func (vpc *VpcV1) GetDedicatedHostProfile(getDedicatedHostProfileOptions *GetDedicatedHostProfileOptions) (result *DedicatedHostProfile, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetDedicatedHostProfileWithContext(context.Background(), getDedicatedHostProfileOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetDedicatedHostProfileWithContext is an alternate form of the GetDedicatedHostProfile method which supports a Context parameter +func (vpc *VpcV1) GetDedicatedHostProfileWithContext(ctx context.Context, getDedicatedHostProfileOptions *GetDedicatedHostProfileOptions) (result *DedicatedHostProfile, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getDedicatedHostProfileOptions, "getDedicatedHostProfileOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getDedicatedHostProfileOptions, "getDedicatedHostProfileOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getDedicatedHostProfileOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_host/profiles/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetDedicatedHostProfile") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getDedicatedHostProfileOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_dedicated_host_profile", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostProfile) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListDedicatedHosts : List dedicated hosts +// This request lists dedicated hosts in the region. +func (vpc *VpcV1) ListDedicatedHosts(listDedicatedHostsOptions *ListDedicatedHostsOptions) (result *DedicatedHostCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListDedicatedHostsWithContext(context.Background(), listDedicatedHostsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListDedicatedHostsWithContext is an alternate form of the ListDedicatedHosts method which supports a Context parameter +func (vpc *VpcV1) ListDedicatedHostsWithContext(ctx context.Context, listDedicatedHostsOptions *ListDedicatedHostsOptions) (result *DedicatedHostCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listDedicatedHostsOptions, "listDedicatedHostsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_hosts`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListDedicatedHosts") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listDedicatedHostsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listDedicatedHostsOptions.DedicatedHostGroupID != nil { + builder.AddQuery("dedicated_host_group.id", fmt.Sprint(*listDedicatedHostsOptions.DedicatedHostGroupID)) + } + if listDedicatedHostsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listDedicatedHostsOptions.Start)) + } + if listDedicatedHostsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listDedicatedHostsOptions.Limit)) + } + if listDedicatedHostsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listDedicatedHostsOptions.ResourceGroupID)) + } + if listDedicatedHostsOptions.ZoneName != nil { + builder.AddQuery("zone.name", fmt.Sprint(*listDedicatedHostsOptions.ZoneName)) + } + if listDedicatedHostsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listDedicatedHostsOptions.Name)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_dedicated_hosts", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateDedicatedHost : Create a dedicated host +// This request creates a new dedicated host. +func (vpc *VpcV1) CreateDedicatedHost(createDedicatedHostOptions *CreateDedicatedHostOptions) (result *DedicatedHost, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateDedicatedHostWithContext(context.Background(), createDedicatedHostOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateDedicatedHostWithContext is an alternate form of the CreateDedicatedHost method which supports a Context parameter +func (vpc *VpcV1) CreateDedicatedHostWithContext(ctx context.Context, createDedicatedHostOptions *CreateDedicatedHostOptions) (result *DedicatedHost, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createDedicatedHostOptions, "createDedicatedHostOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createDedicatedHostOptions, "createDedicatedHostOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_hosts`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateDedicatedHost") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createDedicatedHostOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createDedicatedHostOptions.DedicatedHostPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_dedicated_host", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHost) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListDedicatedHostDisks : List disks on a dedicated host +// This request lists disks on a dedicated host. A disk is a physical device that is locally attached to the compute +// node. By default, the listed disks are sorted by their +// `created_at` property values, with the newest disk first. +func (vpc *VpcV1) ListDedicatedHostDisks(listDedicatedHostDisksOptions *ListDedicatedHostDisksOptions) (result *DedicatedHostDiskCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListDedicatedHostDisksWithContext(context.Background(), listDedicatedHostDisksOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListDedicatedHostDisksWithContext is an alternate form of the ListDedicatedHostDisks method which supports a Context parameter +func (vpc *VpcV1) ListDedicatedHostDisksWithContext(ctx context.Context, listDedicatedHostDisksOptions *ListDedicatedHostDisksOptions) (result *DedicatedHostDiskCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listDedicatedHostDisksOptions, "listDedicatedHostDisksOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listDedicatedHostDisksOptions, "listDedicatedHostDisksOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "dedicated_host_id": *listDedicatedHostDisksOptions.DedicatedHostID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_hosts/{dedicated_host_id}/disks`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListDedicatedHostDisks") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listDedicatedHostDisksOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_dedicated_host_disks", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostDiskCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetDedicatedHostDisk : Retrieve a dedicated host disk +// This request retrieves a single dedicated host disk specified by the identifier in the URL. +func (vpc *VpcV1) GetDedicatedHostDisk(getDedicatedHostDiskOptions *GetDedicatedHostDiskOptions) (result *DedicatedHostDisk, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetDedicatedHostDiskWithContext(context.Background(), getDedicatedHostDiskOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetDedicatedHostDiskWithContext is an alternate form of the GetDedicatedHostDisk method which supports a Context parameter +func (vpc *VpcV1) GetDedicatedHostDiskWithContext(ctx context.Context, getDedicatedHostDiskOptions *GetDedicatedHostDiskOptions) (result *DedicatedHostDisk, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getDedicatedHostDiskOptions, "getDedicatedHostDiskOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getDedicatedHostDiskOptions, "getDedicatedHostDiskOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "dedicated_host_id": *getDedicatedHostDiskOptions.DedicatedHostID, + "id": *getDedicatedHostDiskOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_hosts/{dedicated_host_id}/disks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetDedicatedHostDisk") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getDedicatedHostDiskOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_dedicated_host_disk", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostDisk) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateDedicatedHostDisk : Update a dedicated host disk +// This request updates the dedicated host disk with the information in a provided patch. +func (vpc *VpcV1) UpdateDedicatedHostDisk(updateDedicatedHostDiskOptions *UpdateDedicatedHostDiskOptions) (result *DedicatedHostDisk, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateDedicatedHostDiskWithContext(context.Background(), updateDedicatedHostDiskOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateDedicatedHostDiskWithContext is an alternate form of the UpdateDedicatedHostDisk method which supports a Context parameter +func (vpc *VpcV1) UpdateDedicatedHostDiskWithContext(ctx context.Context, updateDedicatedHostDiskOptions *UpdateDedicatedHostDiskOptions) (result *DedicatedHostDisk, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateDedicatedHostDiskOptions, "updateDedicatedHostDiskOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateDedicatedHostDiskOptions, "updateDedicatedHostDiskOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "dedicated_host_id": *updateDedicatedHostDiskOptions.DedicatedHostID, + "id": *updateDedicatedHostDiskOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_hosts/{dedicated_host_id}/disks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateDedicatedHostDisk") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateDedicatedHostDiskOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateDedicatedHostDiskOptions.DedicatedHostDiskPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_dedicated_host_disk", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHostDisk) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteDedicatedHost : Delete a dedicated host +// This request deletes a dedicated host. This operation cannot be reversed. For this request to succeed, `instances` +// must be empty and `instance_placement_enabled` must be `false`. +func (vpc *VpcV1) DeleteDedicatedHost(deleteDedicatedHostOptions *DeleteDedicatedHostOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteDedicatedHostWithContext(context.Background(), deleteDedicatedHostOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteDedicatedHostWithContext is an alternate form of the DeleteDedicatedHost method which supports a Context parameter +func (vpc *VpcV1) DeleteDedicatedHostWithContext(ctx context.Context, deleteDedicatedHostOptions *DeleteDedicatedHostOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteDedicatedHostOptions, "deleteDedicatedHostOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteDedicatedHostOptions, "deleteDedicatedHostOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteDedicatedHostOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_hosts/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteDedicatedHost") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteDedicatedHostOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_dedicated_host", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetDedicatedHost : Retrieve a dedicated host +// This request retrieves a single dedicated host specified by the identifiers in the URL. +func (vpc *VpcV1) GetDedicatedHost(getDedicatedHostOptions *GetDedicatedHostOptions) (result *DedicatedHost, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetDedicatedHostWithContext(context.Background(), getDedicatedHostOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetDedicatedHostWithContext is an alternate form of the GetDedicatedHost method which supports a Context parameter +func (vpc *VpcV1) GetDedicatedHostWithContext(ctx context.Context, getDedicatedHostOptions *GetDedicatedHostOptions) (result *DedicatedHost, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getDedicatedHostOptions, "getDedicatedHostOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getDedicatedHostOptions, "getDedicatedHostOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getDedicatedHostOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_hosts/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetDedicatedHost") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getDedicatedHostOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_dedicated_host", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHost) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateDedicatedHost : Update a dedicated host +// This request updates a dedicated host with the information in a provided dedicated host patch. The dedicated host +// patch object is structured in the same way as a retrieved dedicated host and contains only the information to be +// updated. +func (vpc *VpcV1) UpdateDedicatedHost(updateDedicatedHostOptions *UpdateDedicatedHostOptions) (result *DedicatedHost, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateDedicatedHostWithContext(context.Background(), updateDedicatedHostOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateDedicatedHostWithContext is an alternate form of the UpdateDedicatedHost method which supports a Context parameter +func (vpc *VpcV1) UpdateDedicatedHostWithContext(ctx context.Context, updateDedicatedHostOptions *UpdateDedicatedHostOptions) (result *DedicatedHost, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateDedicatedHostOptions, "updateDedicatedHostOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateDedicatedHostOptions, "updateDedicatedHostOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateDedicatedHostOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/dedicated_hosts/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateDedicatedHost") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateDedicatedHostOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateDedicatedHostOptions.DedicatedHostPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_dedicated_host", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedHost) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListEndpointGateways : List endpoint gateways +// This request lists endpoint gateways in the region. An endpoint gateway maps one or more reserved IPs in a VPC to a +// target outside the VPC. +// +// The endpoint gateways will be sorted by their `created_at` property values, with newest endpoint gateway first. +// Endpoint gateways with identical `created_at` property values will in turn be sorted by ascending `name` property +// values. +func (vpc *VpcV1) ListEndpointGateways(listEndpointGatewaysOptions *ListEndpointGatewaysOptions) (result *EndpointGatewayCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListEndpointGatewaysWithContext(context.Background(), listEndpointGatewaysOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListEndpointGatewaysWithContext is an alternate form of the ListEndpointGateways method which supports a Context parameter +func (vpc *VpcV1) ListEndpointGatewaysWithContext(ctx context.Context, listEndpointGatewaysOptions *ListEndpointGatewaysOptions) (result *EndpointGatewayCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listEndpointGatewaysOptions, "listEndpointGatewaysOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListEndpointGateways") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listEndpointGatewaysOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listEndpointGatewaysOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listEndpointGatewaysOptions.Name)) + } + if listEndpointGatewaysOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listEndpointGatewaysOptions.Start)) + } + if listEndpointGatewaysOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listEndpointGatewaysOptions.Limit)) + } + if listEndpointGatewaysOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listEndpointGatewaysOptions.ResourceGroupID)) + } + if listEndpointGatewaysOptions.LifecycleState != nil { + builder.AddQuery("lifecycle_state", strings.Join(listEndpointGatewaysOptions.LifecycleState, ",")) + } + if listEndpointGatewaysOptions.VPCID != nil { + builder.AddQuery("vpc.id", fmt.Sprint(*listEndpointGatewaysOptions.VPCID)) + } + if listEndpointGatewaysOptions.VPCCRN != nil { + builder.AddQuery("vpc.crn", fmt.Sprint(*listEndpointGatewaysOptions.VPCCRN)) + } + if listEndpointGatewaysOptions.VPCName != nil { + builder.AddQuery("vpc.name", fmt.Sprint(*listEndpointGatewaysOptions.VPCName)) + } + if listEndpointGatewaysOptions.AllowDnsResolutionBinding != nil { + builder.AddQuery("allow_dns_resolution_binding", fmt.Sprint(*listEndpointGatewaysOptions.AllowDnsResolutionBinding)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_endpoint_gateways", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalEndpointGatewayCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateEndpointGateway : Create an endpoint gateway +// This request creates a new endpoint gateway from an endpoint gateway prototype object. The prototype object is +// structured in the same way as a retrieved endpoint gateway, and contains the information necessary to create a new +// endpoint gateway. An endpoint gateway maps one or more reserved IPs in a VPC to a target service outside the VPC. +func (vpc *VpcV1) CreateEndpointGateway(createEndpointGatewayOptions *CreateEndpointGatewayOptions) (result *EndpointGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateEndpointGatewayWithContext(context.Background(), createEndpointGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateEndpointGatewayWithContext is an alternate form of the CreateEndpointGateway method which supports a Context parameter +func (vpc *VpcV1) CreateEndpointGatewayWithContext(ctx context.Context, createEndpointGatewayOptions *CreateEndpointGatewayOptions) (result *EndpointGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createEndpointGatewayOptions, "createEndpointGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createEndpointGatewayOptions, "createEndpointGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateEndpointGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createEndpointGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createEndpointGatewayOptions.Target != nil { + body["target"] = createEndpointGatewayOptions.Target + } + if createEndpointGatewayOptions.VPC != nil { + body["vpc"] = createEndpointGatewayOptions.VPC + } + if createEndpointGatewayOptions.AllowDnsResolutionBinding != nil { + body["allow_dns_resolution_binding"] = createEndpointGatewayOptions.AllowDnsResolutionBinding + } + if createEndpointGatewayOptions.Ips != nil { + body["ips"] = createEndpointGatewayOptions.Ips + } + if createEndpointGatewayOptions.Name != nil { + body["name"] = createEndpointGatewayOptions.Name + } + if createEndpointGatewayOptions.ResourceGroup != nil { + body["resource_group"] = createEndpointGatewayOptions.ResourceGroup + } + if createEndpointGatewayOptions.SecurityGroups != nil { + body["security_groups"] = createEndpointGatewayOptions.SecurityGroups + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_endpoint_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalEndpointGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListEndpointGatewayIps : List reserved IPs bound to an endpoint gateway +// This request lists reserved IPs bound to an endpoint gateway. +func (vpc *VpcV1) ListEndpointGatewayIps(listEndpointGatewayIpsOptions *ListEndpointGatewayIpsOptions) (result *ReservedIPCollectionEndpointGatewayContext, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListEndpointGatewayIpsWithContext(context.Background(), listEndpointGatewayIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListEndpointGatewayIpsWithContext is an alternate form of the ListEndpointGatewayIps method which supports a Context parameter +func (vpc *VpcV1) ListEndpointGatewayIpsWithContext(ctx context.Context, listEndpointGatewayIpsOptions *ListEndpointGatewayIpsOptions) (result *ReservedIPCollectionEndpointGatewayContext, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listEndpointGatewayIpsOptions, "listEndpointGatewayIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listEndpointGatewayIpsOptions, "listEndpointGatewayIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "endpoint_gateway_id": *listEndpointGatewayIpsOptions.EndpointGatewayID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways/{endpoint_gateway_id}/ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListEndpointGatewayIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listEndpointGatewayIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listEndpointGatewayIpsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listEndpointGatewayIpsOptions.Start)) + } + if listEndpointGatewayIpsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listEndpointGatewayIpsOptions.Limit)) + } + if listEndpointGatewayIpsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listEndpointGatewayIpsOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_endpoint_gateway_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIPCollectionEndpointGatewayContext) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RemoveEndpointGatewayIP : Unbind a reserved IP from an endpoint gateway +// This request unbinds the specified reserved IP from the specified endpoint gateway. If the reserved IP has +// `auto_delete` set to `true`, the reserved IP will be deleted. +func (vpc *VpcV1) RemoveEndpointGatewayIP(removeEndpointGatewayIPOptions *RemoveEndpointGatewayIPOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RemoveEndpointGatewayIPWithContext(context.Background(), removeEndpointGatewayIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RemoveEndpointGatewayIPWithContext is an alternate form of the RemoveEndpointGatewayIP method which supports a Context parameter +func (vpc *VpcV1) RemoveEndpointGatewayIPWithContext(ctx context.Context, removeEndpointGatewayIPOptions *RemoveEndpointGatewayIPOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(removeEndpointGatewayIPOptions, "removeEndpointGatewayIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(removeEndpointGatewayIPOptions, "removeEndpointGatewayIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "endpoint_gateway_id": *removeEndpointGatewayIPOptions.EndpointGatewayID, + "id": *removeEndpointGatewayIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways/{endpoint_gateway_id}/ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RemoveEndpointGatewayIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range removeEndpointGatewayIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "remove_endpoint_gateway_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetEndpointGatewayIP : Retrieve a reserved IP bound to an endpoint gateway +// This request retrieves the specified reserved IP address if it is bound to the endpoint gateway specified in the URL. +func (vpc *VpcV1) GetEndpointGatewayIP(getEndpointGatewayIPOptions *GetEndpointGatewayIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetEndpointGatewayIPWithContext(context.Background(), getEndpointGatewayIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetEndpointGatewayIPWithContext is an alternate form of the GetEndpointGatewayIP method which supports a Context parameter +func (vpc *VpcV1) GetEndpointGatewayIPWithContext(ctx context.Context, getEndpointGatewayIPOptions *GetEndpointGatewayIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getEndpointGatewayIPOptions, "getEndpointGatewayIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getEndpointGatewayIPOptions, "getEndpointGatewayIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "endpoint_gateway_id": *getEndpointGatewayIPOptions.EndpointGatewayID, + "id": *getEndpointGatewayIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways/{endpoint_gateway_id}/ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetEndpointGatewayIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getEndpointGatewayIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_endpoint_gateway_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// AddEndpointGatewayIP : Bind a reserved IP to an endpoint gateway +// This request binds the specified reserved IP to the specified endpoint gateway. The reserved IP: +// +// - must currently be unbound, or not required by its target +// - must not be in the same zone as any other reserved IP bound to the endpoint gateway. +func (vpc *VpcV1) AddEndpointGatewayIP(addEndpointGatewayIPOptions *AddEndpointGatewayIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.AddEndpointGatewayIPWithContext(context.Background(), addEndpointGatewayIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// AddEndpointGatewayIPWithContext is an alternate form of the AddEndpointGatewayIP method which supports a Context parameter +func (vpc *VpcV1) AddEndpointGatewayIPWithContext(ctx context.Context, addEndpointGatewayIPOptions *AddEndpointGatewayIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(addEndpointGatewayIPOptions, "addEndpointGatewayIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(addEndpointGatewayIPOptions, "addEndpointGatewayIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "endpoint_gateway_id": *addEndpointGatewayIPOptions.EndpointGatewayID, + "id": *addEndpointGatewayIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways/{endpoint_gateway_id}/ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "AddEndpointGatewayIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range addEndpointGatewayIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "add_endpoint_gateway_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteEndpointGateway : Delete an endpoint gateway +// This request deletes an endpoint gateway. This operation cannot be reversed. +// +// Reserved IPs that were bound to the endpoint gateway will be released if their +// `auto_delete` property is set to true. +func (vpc *VpcV1) DeleteEndpointGateway(deleteEndpointGatewayOptions *DeleteEndpointGatewayOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteEndpointGatewayWithContext(context.Background(), deleteEndpointGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteEndpointGatewayWithContext is an alternate form of the DeleteEndpointGateway method which supports a Context parameter +func (vpc *VpcV1) DeleteEndpointGatewayWithContext(ctx context.Context, deleteEndpointGatewayOptions *DeleteEndpointGatewayOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteEndpointGatewayOptions, "deleteEndpointGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteEndpointGatewayOptions, "deleteEndpointGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteEndpointGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteEndpointGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteEndpointGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_endpoint_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetEndpointGateway : Retrieve an endpoint gateway +// This request retrieves a single endpoint gateway specified by the identifier in the URL. +func (vpc *VpcV1) GetEndpointGateway(getEndpointGatewayOptions *GetEndpointGatewayOptions) (result *EndpointGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetEndpointGatewayWithContext(context.Background(), getEndpointGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetEndpointGatewayWithContext is an alternate form of the GetEndpointGateway method which supports a Context parameter +func (vpc *VpcV1) GetEndpointGatewayWithContext(ctx context.Context, getEndpointGatewayOptions *GetEndpointGatewayOptions) (result *EndpointGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getEndpointGatewayOptions, "getEndpointGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getEndpointGatewayOptions, "getEndpointGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getEndpointGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetEndpointGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getEndpointGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_endpoint_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalEndpointGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateEndpointGateway : Update an endpoint gateway +// This request updates an endpoint gateway with the information in a provided endpoint gateway patch. The endpoint +// gateway patch object is structured in the same way as a retrieved endpoint gateway and contains only the information +// to be updated. +func (vpc *VpcV1) UpdateEndpointGateway(updateEndpointGatewayOptions *UpdateEndpointGatewayOptions) (result *EndpointGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateEndpointGatewayWithContext(context.Background(), updateEndpointGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateEndpointGatewayWithContext is an alternate form of the UpdateEndpointGateway method which supports a Context parameter +func (vpc *VpcV1) UpdateEndpointGatewayWithContext(ctx context.Context, updateEndpointGatewayOptions *UpdateEndpointGatewayOptions) (result *EndpointGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateEndpointGatewayOptions, "updateEndpointGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateEndpointGatewayOptions, "updateEndpointGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateEndpointGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/endpoint_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateEndpointGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateEndpointGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateEndpointGatewayOptions.EndpointGatewayPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_endpoint_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalEndpointGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListFloatingIps : List floating IPs +// This request lists floating IPs in the region. Floating IPs allow inbound and outbound traffic from the Internet to +// an instance. +func (vpc *VpcV1) ListFloatingIps(listFloatingIpsOptions *ListFloatingIpsOptions) (result *FloatingIPCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListFloatingIpsWithContext(context.Background(), listFloatingIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListFloatingIpsWithContext is an alternate form of the ListFloatingIps method which supports a Context parameter +func (vpc *VpcV1) ListFloatingIpsWithContext(ctx context.Context, listFloatingIpsOptions *ListFloatingIpsOptions) (result *FloatingIPCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listFloatingIpsOptions, "listFloatingIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/floating_ips`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListFloatingIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listFloatingIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listFloatingIpsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listFloatingIpsOptions.Start)) + } + if listFloatingIpsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listFloatingIpsOptions.Limit)) + } + if listFloatingIpsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listFloatingIpsOptions.ResourceGroupID)) + } + if listFloatingIpsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listFloatingIpsOptions.Sort)) + } + if listFloatingIpsOptions.TargetID != nil { + builder.AddQuery("target.id", fmt.Sprint(*listFloatingIpsOptions.TargetID)) + } + if listFloatingIpsOptions.TargetCRN != nil { + builder.AddQuery("target.crn", fmt.Sprint(*listFloatingIpsOptions.TargetCRN)) + } + if listFloatingIpsOptions.TargetName != nil { + builder.AddQuery("target.name", fmt.Sprint(*listFloatingIpsOptions.TargetName)) + } + if listFloatingIpsOptions.TargetResourceType != nil { + builder.AddQuery("target.resource_type", fmt.Sprint(*listFloatingIpsOptions.TargetResourceType)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_floating_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIPCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateFloatingIP : Reserve a floating IP +// This request reserves a new floating IP. +func (vpc *VpcV1) CreateFloatingIP(createFloatingIPOptions *CreateFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateFloatingIPWithContext(context.Background(), createFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateFloatingIPWithContext is an alternate form of the CreateFloatingIP method which supports a Context parameter +func (vpc *VpcV1) CreateFloatingIPWithContext(ctx context.Context, createFloatingIPOptions *CreateFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createFloatingIPOptions, "createFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createFloatingIPOptions, "createFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/floating_ips`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createFloatingIPOptions.FloatingIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteFloatingIP : Delete a floating IP +// This request disassociates (if associated) and releases a floating IP. This operation cannot be reversed. For this +// request to succeed, the floating IP must not be required by another resource, such as a public gateway. +func (vpc *VpcV1) DeleteFloatingIP(deleteFloatingIPOptions *DeleteFloatingIPOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteFloatingIPWithContext(context.Background(), deleteFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteFloatingIPWithContext is an alternate form of the DeleteFloatingIP method which supports a Context parameter +func (vpc *VpcV1) DeleteFloatingIPWithContext(ctx context.Context, deleteFloatingIPOptions *DeleteFloatingIPOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteFloatingIPOptions, "deleteFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteFloatingIPOptions, "deleteFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetFloatingIP : Retrieve a floating IP +// This request retrieves a single floating IP specified by the identifier in the URL. +func (vpc *VpcV1) GetFloatingIP(getFloatingIPOptions *GetFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetFloatingIPWithContext(context.Background(), getFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetFloatingIPWithContext is an alternate form of the GetFloatingIP method which supports a Context parameter +func (vpc *VpcV1) GetFloatingIPWithContext(ctx context.Context, getFloatingIPOptions *GetFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getFloatingIPOptions, "getFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getFloatingIPOptions, "getFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateFloatingIP : Update a floating IP +// This request updates a floating IP's name and/or target. +func (vpc *VpcV1) UpdateFloatingIP(updateFloatingIPOptions *UpdateFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateFloatingIPWithContext(context.Background(), updateFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateFloatingIPWithContext is an alternate form of the UpdateFloatingIP method which supports a Context parameter +func (vpc *VpcV1) UpdateFloatingIPWithContext(ctx context.Context, updateFloatingIPOptions *UpdateFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateFloatingIPOptions, "updateFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateFloatingIPOptions, "updateFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateFloatingIPOptions.FloatingIPPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListFlowLogCollectors : List flow log collectors +// This request lists flow log collectors in the region. A [flow log +// collector](https://cloud.ibm.com/docs/vpc?topic=vpc-flow-logs) summarizes TCP and UDP data sent over the instance +// network interfaces and instance network attachments contained within its target. The collected flow logs are written +// to a cloud object storage bucket, where they can be [viewed](https://cloud.ibm.com/docs/vpc?topic=vpc-fl-analyze). +func (vpc *VpcV1) ListFlowLogCollectors(listFlowLogCollectorsOptions *ListFlowLogCollectorsOptions) (result *FlowLogCollectorCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListFlowLogCollectorsWithContext(context.Background(), listFlowLogCollectorsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListFlowLogCollectorsWithContext is an alternate form of the ListFlowLogCollectors method which supports a Context parameter +func (vpc *VpcV1) ListFlowLogCollectorsWithContext(ctx context.Context, listFlowLogCollectorsOptions *ListFlowLogCollectorsOptions) (result *FlowLogCollectorCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listFlowLogCollectorsOptions, "listFlowLogCollectorsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/flow_log_collectors`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListFlowLogCollectors") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listFlowLogCollectorsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listFlowLogCollectorsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listFlowLogCollectorsOptions.Start)) + } + if listFlowLogCollectorsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listFlowLogCollectorsOptions.Limit)) + } + if listFlowLogCollectorsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listFlowLogCollectorsOptions.ResourceGroupID)) + } + if listFlowLogCollectorsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listFlowLogCollectorsOptions.Name)) + } + if listFlowLogCollectorsOptions.VPCID != nil { + builder.AddQuery("vpc.id", fmt.Sprint(*listFlowLogCollectorsOptions.VPCID)) + } + if listFlowLogCollectorsOptions.VPCCRN != nil { + builder.AddQuery("vpc.crn", fmt.Sprint(*listFlowLogCollectorsOptions.VPCCRN)) + } + if listFlowLogCollectorsOptions.VPCName != nil { + builder.AddQuery("vpc.name", fmt.Sprint(*listFlowLogCollectorsOptions.VPCName)) + } + if listFlowLogCollectorsOptions.TargetID != nil { + builder.AddQuery("target.id", fmt.Sprint(*listFlowLogCollectorsOptions.TargetID)) + } + if listFlowLogCollectorsOptions.TargetResourceType != nil { + builder.AddQuery("target.resource_type", fmt.Sprint(*listFlowLogCollectorsOptions.TargetResourceType)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_flow_log_collectors", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFlowLogCollectorCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateFlowLogCollector : Create a flow log collector +// This request creates and starts a new flow log collector from a flow log collector prototype object. The prototype +// object is structured in the same way as a retrieved flow log collector, and contains the information necessary to +// create and start the new flow log collector. +func (vpc *VpcV1) CreateFlowLogCollector(createFlowLogCollectorOptions *CreateFlowLogCollectorOptions) (result *FlowLogCollector, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateFlowLogCollectorWithContext(context.Background(), createFlowLogCollectorOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateFlowLogCollectorWithContext is an alternate form of the CreateFlowLogCollector method which supports a Context parameter +func (vpc *VpcV1) CreateFlowLogCollectorWithContext(ctx context.Context, createFlowLogCollectorOptions *CreateFlowLogCollectorOptions) (result *FlowLogCollector, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createFlowLogCollectorOptions, "createFlowLogCollectorOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createFlowLogCollectorOptions, "createFlowLogCollectorOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/flow_log_collectors`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateFlowLogCollector") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createFlowLogCollectorOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createFlowLogCollectorOptions.StorageBucket != nil { + body["storage_bucket"] = createFlowLogCollectorOptions.StorageBucket + } + if createFlowLogCollectorOptions.Target != nil { + body["target"] = createFlowLogCollectorOptions.Target + } + if createFlowLogCollectorOptions.Active != nil { + body["active"] = createFlowLogCollectorOptions.Active + } + if createFlowLogCollectorOptions.Name != nil { + body["name"] = createFlowLogCollectorOptions.Name + } + if createFlowLogCollectorOptions.ResourceGroup != nil { + body["resource_group"] = createFlowLogCollectorOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_flow_log_collector", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFlowLogCollector) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteFlowLogCollector : Delete a flow log collector +// This request stops and deletes a flow log collector. This operation cannot be reversed. +// +// Collected flow logs remain available within the flow log collector's Cloud Object Storage bucket. +func (vpc *VpcV1) DeleteFlowLogCollector(deleteFlowLogCollectorOptions *DeleteFlowLogCollectorOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteFlowLogCollectorWithContext(context.Background(), deleteFlowLogCollectorOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteFlowLogCollectorWithContext is an alternate form of the DeleteFlowLogCollector method which supports a Context parameter +func (vpc *VpcV1) DeleteFlowLogCollectorWithContext(ctx context.Context, deleteFlowLogCollectorOptions *DeleteFlowLogCollectorOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteFlowLogCollectorOptions, "deleteFlowLogCollectorOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteFlowLogCollectorOptions, "deleteFlowLogCollectorOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteFlowLogCollectorOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/flow_log_collectors/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteFlowLogCollector") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteFlowLogCollectorOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_flow_log_collector", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetFlowLogCollector : Retrieve a flow log collector +// This request retrieves a single flow log collector specified by the identifier in the URL. +func (vpc *VpcV1) GetFlowLogCollector(getFlowLogCollectorOptions *GetFlowLogCollectorOptions) (result *FlowLogCollector, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetFlowLogCollectorWithContext(context.Background(), getFlowLogCollectorOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetFlowLogCollectorWithContext is an alternate form of the GetFlowLogCollector method which supports a Context parameter +func (vpc *VpcV1) GetFlowLogCollectorWithContext(ctx context.Context, getFlowLogCollectorOptions *GetFlowLogCollectorOptions) (result *FlowLogCollector, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getFlowLogCollectorOptions, "getFlowLogCollectorOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getFlowLogCollectorOptions, "getFlowLogCollectorOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getFlowLogCollectorOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/flow_log_collectors/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetFlowLogCollector") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getFlowLogCollectorOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_flow_log_collector", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFlowLogCollector) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateFlowLogCollector : Update a flow log collector +// This request updates a flow log collector with the information in a provided flow log collector patch. The flow log +// collector patch object is structured in the same way as a retrieved flow log collector and contains only the +// information to be updated. +func (vpc *VpcV1) UpdateFlowLogCollector(updateFlowLogCollectorOptions *UpdateFlowLogCollectorOptions) (result *FlowLogCollector, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateFlowLogCollectorWithContext(context.Background(), updateFlowLogCollectorOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateFlowLogCollectorWithContext is an alternate form of the UpdateFlowLogCollector method which supports a Context parameter +func (vpc *VpcV1) UpdateFlowLogCollectorWithContext(ctx context.Context, updateFlowLogCollectorOptions *UpdateFlowLogCollectorOptions) (result *FlowLogCollector, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateFlowLogCollectorOptions, "updateFlowLogCollectorOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateFlowLogCollectorOptions, "updateFlowLogCollectorOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateFlowLogCollectorOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/flow_log_collectors/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateFlowLogCollector") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateFlowLogCollectorOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateFlowLogCollectorOptions.FlowLogCollectorPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_flow_log_collector", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFlowLogCollector) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListRegions : List regions +// This request lists regions. Each region is a separate geographic area that contains multiple isolated zones. +// Resources can be provisioned into one or more zones in a region. Each zone is isolated, but connected to other zones +// in the same region with low-latency and high-bandwidth links. Regions represent the top-level of fault isolation +// available. Resources deployed within a single region also benefit from the low latency afforded by geographic +// proximity. +func (vpc *VpcV1) ListRegions(listRegionsOptions *ListRegionsOptions) (result *RegionCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListRegionsWithContext(context.Background(), listRegionsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListRegionsWithContext is an alternate form of the ListRegions method which supports a Context parameter +func (vpc *VpcV1) ListRegionsWithContext(ctx context.Context, listRegionsOptions *ListRegionsOptions) (result *RegionCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listRegionsOptions, "listRegionsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/regions`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListRegions") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listRegionsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_regions", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRegionCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetRegion : Retrieve a region +// This request retrieves a single region specified by the name in the URL. +func (vpc *VpcV1) GetRegion(getRegionOptions *GetRegionOptions) (result *Region, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetRegionWithContext(context.Background(), getRegionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetRegionWithContext is an alternate form of the GetRegion method which supports a Context parameter +func (vpc *VpcV1) GetRegionWithContext(ctx context.Context, getRegionOptions *GetRegionOptions) (result *Region, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getRegionOptions, "getRegionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getRegionOptions, "getRegionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getRegionOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/regions/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetRegion") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getRegionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_region", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRegion) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListRegionZones : List zones in a region +// This request lists zones in a region. Zones represent logically-isolated data centers with high-bandwidth and +// low-latency interconnects to other zones in the same region. Faults in a zone do not affect other zones. +func (vpc *VpcV1) ListRegionZones(listRegionZonesOptions *ListRegionZonesOptions) (result *ZoneCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListRegionZonesWithContext(context.Background(), listRegionZonesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListRegionZonesWithContext is an alternate form of the ListRegionZones method which supports a Context parameter +func (vpc *VpcV1) ListRegionZonesWithContext(ctx context.Context, listRegionZonesOptions *ListRegionZonesOptions) (result *ZoneCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listRegionZonesOptions, "listRegionZonesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listRegionZonesOptions, "listRegionZonesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "region_name": *listRegionZonesOptions.RegionName, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/regions/{region_name}/zones`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListRegionZones") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listRegionZonesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_region_zones", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalZoneCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetRegionZone : Retrieve a zone +// This request retrieves a single zone specified by the region and zone names in the URL. +func (vpc *VpcV1) GetRegionZone(getRegionZoneOptions *GetRegionZoneOptions) (result *Zone, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetRegionZoneWithContext(context.Background(), getRegionZoneOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetRegionZoneWithContext is an alternate form of the GetRegionZone method which supports a Context parameter +func (vpc *VpcV1) GetRegionZoneWithContext(ctx context.Context, getRegionZoneOptions *GetRegionZoneOptions) (result *Zone, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getRegionZoneOptions, "getRegionZoneOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getRegionZoneOptions, "getRegionZoneOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "region_name": *getRegionZoneOptions.RegionName, + "name": *getRegionZoneOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/regions/{region_name}/zones/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetRegionZone") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getRegionZoneOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_region_zone", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalZone) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListImages : List images +// This request lists images available in the region. An image provides source data for a volume. Images are either +// system-provided, or created from another source, such as importing from Cloud Object Storage. +func (vpc *VpcV1) ListImages(listImagesOptions *ListImagesOptions) (result *ImageCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListImagesWithContext(context.Background(), listImagesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListImagesWithContext is an alternate form of the ListImages method which supports a Context parameter +func (vpc *VpcV1) ListImagesWithContext(ctx context.Context, listImagesOptions *ListImagesOptions) (result *ImageCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listImagesOptions, "listImagesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListImages") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listImagesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listImagesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listImagesOptions.Start)) + } + if listImagesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listImagesOptions.Limit)) + } + if listImagesOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listImagesOptions.ResourceGroupID)) + } + if listImagesOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listImagesOptions.Name)) + } + if listImagesOptions.Status != nil { + builder.AddQuery("status", strings.Join(listImagesOptions.Status, ",")) + } + if listImagesOptions.Visibility != nil { + builder.AddQuery("visibility", fmt.Sprint(*listImagesOptions.Visibility)) + } + if listImagesOptions.UserDataFormat != nil { + builder.AddQuery("user_data_format", strings.Join(listImagesOptions.UserDataFormat, ",")) + } + if listImagesOptions.RemoteAccountID != nil { + builder.AddQuery("remote.account.id", fmt.Sprint(*listImagesOptions.RemoteAccountID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_images", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateImage : Create an image +// This request creates a new image from an image prototype object. The prototype object is structured in the same way +// as a retrieved image, and contains the information necessary to create the new image. If an image is being imported, +// a URL to the image file on object storage must be specified. If an image is being created from an existing volume, +// that volume must be specified. +func (vpc *VpcV1) CreateImage(createImageOptions *CreateImageOptions) (result *Image, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateImageWithContext(context.Background(), createImageOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateImageWithContext is an alternate form of the CreateImage method which supports a Context parameter +func (vpc *VpcV1) CreateImageWithContext(ctx context.Context, createImageOptions *CreateImageOptions) (result *Image, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createImageOptions, "createImageOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createImageOptions, "createImageOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateImage") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createImageOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createImageOptions.ImagePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_image", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImage) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteImage : Delete an image +// This request deletes an image. Any active image export jobs will be completed first. This operation cannot be +// reversed. An image with `remote.account` set is not allowed to be deleted. Additionally, an image cannot be deleted +// if it: +// - has a `status` of `deleting` +// - has a `status` of `pending` with a `status_reasons` code of +// `image_request_in_progress` +// - has `catalog_offering.managed` set to `true`. +func (vpc *VpcV1) DeleteImage(deleteImageOptions *DeleteImageOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteImageWithContext(context.Background(), deleteImageOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteImageWithContext is an alternate form of the DeleteImage method which supports a Context parameter +func (vpc *VpcV1) DeleteImageWithContext(ctx context.Context, deleteImageOptions *DeleteImageOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteImageOptions, "deleteImageOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteImageOptions, "deleteImageOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteImageOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteImage") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteImageOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_image", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetImage : Retrieve an image +// This request retrieves a single image specified by the identifier in the URL. +func (vpc *VpcV1) GetImage(getImageOptions *GetImageOptions) (result *Image, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetImageWithContext(context.Background(), getImageOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetImageWithContext is an alternate form of the GetImage method which supports a Context parameter +func (vpc *VpcV1) GetImageWithContext(ctx context.Context, getImageOptions *GetImageOptions) (result *Image, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getImageOptions, "getImageOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getImageOptions, "getImageOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getImageOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetImage") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getImageOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_image", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImage) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateImage : Update an image +// This request updates an image with the information in a provided image patch. The image patch object is structured in +// the same way as a retrieved image and contains only the information to be updated. An image with `remote.account` set +// is not allowed to be updated. An image with a `status` of `deleting` cannot be updated. +func (vpc *VpcV1) UpdateImage(updateImageOptions *UpdateImageOptions) (result *Image, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateImageWithContext(context.Background(), updateImageOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateImageWithContext is an alternate form of the UpdateImage method which supports a Context parameter +func (vpc *VpcV1) UpdateImageWithContext(ctx context.Context, updateImageOptions *UpdateImageOptions) (result *Image, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateImageOptions, "updateImageOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateImageOptions, "updateImageOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateImageOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateImage") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateImageOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateImageOptions.ImagePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_image", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImage) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListImageBareMetalServerProfiles : List bare metal server profiles compatible with an image +// This request lists bare metal server profiles compatible with an image's +// `allowed_use.bare_metal_server`, `operating_system.architecture` and +// `user_data_format` properties, sorted by ascending `name` property values. +func (vpc *VpcV1) ListImageBareMetalServerProfiles(listImageBareMetalServerProfilesOptions *ListImageBareMetalServerProfilesOptions) (result *ImageBareMetalServerProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListImageBareMetalServerProfilesWithContext(context.Background(), listImageBareMetalServerProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListImageBareMetalServerProfilesWithContext is an alternate form of the ListImageBareMetalServerProfiles method which supports a Context parameter +func (vpc *VpcV1) ListImageBareMetalServerProfilesWithContext(ctx context.Context, listImageBareMetalServerProfilesOptions *ListImageBareMetalServerProfilesOptions) (result *ImageBareMetalServerProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listImageBareMetalServerProfilesOptions, "listImageBareMetalServerProfilesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listImageBareMetalServerProfilesOptions, "listImageBareMetalServerProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listImageBareMetalServerProfilesOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{id}/bare_metal_server_profiles`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListImageBareMetalServerProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listImageBareMetalServerProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listImageBareMetalServerProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listImageBareMetalServerProfilesOptions.Start)) + } + if listImageBareMetalServerProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listImageBareMetalServerProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_image_bare_metal_server_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageBareMetalServerProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeprecateImage : Deprecate an image +// This request deprecates an image, resulting in its `status` becoming `deprecated` and +// `deprecation_at` being set to the current date and time. +// +// The image must: +// - have a `status` of `available` +// - have `catalog_offering.managed` set to `false` +// - not have `deprecation_at` set +// +// An image with `remote.account` set is not allowed to be deprecated. +func (vpc *VpcV1) DeprecateImage(deprecateImageOptions *DeprecateImageOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeprecateImageWithContext(context.Background(), deprecateImageOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeprecateImageWithContext is an alternate form of the DeprecateImage method which supports a Context parameter +func (vpc *VpcV1) DeprecateImageWithContext(ctx context.Context, deprecateImageOptions *DeprecateImageOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deprecateImageOptions, "deprecateImageOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deprecateImageOptions, "deprecateImageOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deprecateImageOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{id}/deprecate`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeprecateImage") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deprecateImageOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "deprecate_image", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListImageInstanceProfiles : List instance profiles compatible with an image +// This request lists instance profiles compatible with an image's +// `allowed_use.instance`, `operating_system.architecture` and +// `user_data_format` properties, sorted by ascending `name` property values. +func (vpc *VpcV1) ListImageInstanceProfiles(listImageInstanceProfilesOptions *ListImageInstanceProfilesOptions) (result *ImageInstanceProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListImageInstanceProfilesWithContext(context.Background(), listImageInstanceProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListImageInstanceProfilesWithContext is an alternate form of the ListImageInstanceProfiles method which supports a Context parameter +func (vpc *VpcV1) ListImageInstanceProfilesWithContext(ctx context.Context, listImageInstanceProfilesOptions *ListImageInstanceProfilesOptions) (result *ImageInstanceProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listImageInstanceProfilesOptions, "listImageInstanceProfilesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listImageInstanceProfilesOptions, "listImageInstanceProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listImageInstanceProfilesOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{id}/instance_profiles`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListImageInstanceProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listImageInstanceProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listImageInstanceProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listImageInstanceProfilesOptions.Start)) + } + if listImageInstanceProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listImageInstanceProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_image_instance_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageInstanceProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ObsoleteImage : Obsolete an image +// This request obsoletes an image, resulting in its `status` becoming `obsolete` and +// `obsolescence_at` being set to the current date and time. +// +// The image must: +// - have a `status` of `available` or `deprecated` +// - have `catalog_offering.managed` set to `false` +// - not have `deprecation_at` set in the future +// - not have `obsolescence_at` set +// +// An image with `remote.account` set is not allowed to be obsoleted. +func (vpc *VpcV1) ObsoleteImage(obsoleteImageOptions *ObsoleteImageOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.ObsoleteImageWithContext(context.Background(), obsoleteImageOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ObsoleteImageWithContext is an alternate form of the ObsoleteImage method which supports a Context parameter +func (vpc *VpcV1) ObsoleteImageWithContext(ctx context.Context, obsoleteImageOptions *ObsoleteImageOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(obsoleteImageOptions, "obsoleteImageOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(obsoleteImageOptions, "obsoleteImageOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *obsoleteImageOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{id}/obsolete`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ObsoleteImage") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range obsoleteImageOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "obsolete_image", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListImageExportJobs : List export jobs for an image +// This request lists export jobs for an image. Each job tracks the exporting of the image to another location, such as +// a bucket within cloud object storage. +// +// The jobs will be sorted by their `created_at` property values, with newest jobs first. Jobs with identical +// `created_at` property values will in turn be sorted by ascending +// `name` property values. +func (vpc *VpcV1) ListImageExportJobs(listImageExportJobsOptions *ListImageExportJobsOptions) (result *ImageExportJobUnpaginatedCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListImageExportJobsWithContext(context.Background(), listImageExportJobsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListImageExportJobsWithContext is an alternate form of the ListImageExportJobs method which supports a Context parameter +func (vpc *VpcV1) ListImageExportJobsWithContext(ctx context.Context, listImageExportJobsOptions *ListImageExportJobsOptions) (result *ImageExportJobUnpaginatedCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listImageExportJobsOptions, "listImageExportJobsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listImageExportJobsOptions, "listImageExportJobsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "image_id": *listImageExportJobsOptions.ImageID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{image_id}/export_jobs`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListImageExportJobs") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listImageExportJobsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listImageExportJobsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listImageExportJobsOptions.Name)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_image_export_jobs", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageExportJobUnpaginatedCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateImageExportJob : Create an export job for an image +// This request creates and queues a new export job for the image specified in the URL using the image export job +// prototype object. The image must be owned by the account and be in the `available`, `deprecated`, `obsolete`, or +// `unusable` state. The prototype object is structured in the same way as a retrieved image export job, and contains +// the information necessary to create and queue the new image export job. +func (vpc *VpcV1) CreateImageExportJob(createImageExportJobOptions *CreateImageExportJobOptions) (result *ImageExportJob, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateImageExportJobWithContext(context.Background(), createImageExportJobOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateImageExportJobWithContext is an alternate form of the CreateImageExportJob method which supports a Context parameter +func (vpc *VpcV1) CreateImageExportJobWithContext(ctx context.Context, createImageExportJobOptions *CreateImageExportJobOptions) (result *ImageExportJob, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createImageExportJobOptions, "createImageExportJobOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createImageExportJobOptions, "createImageExportJobOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "image_id": *createImageExportJobOptions.ImageID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{image_id}/export_jobs`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateImageExportJob") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createImageExportJobOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createImageExportJobOptions.StorageBucket != nil { + body["storage_bucket"] = createImageExportJobOptions.StorageBucket + } + if createImageExportJobOptions.Format != nil { + body["format"] = createImageExportJobOptions.Format + } + if createImageExportJobOptions.Name != nil { + body["name"] = createImageExportJobOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_image_export_job", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageExportJob) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteImageExportJob : Delete an image export job +// This request deletes an image export job. This operation cannot be reversed. If the job has not completed, the job +// will be canceled, and the incomplete exported image object deleted. If the job has completed, the exported image +// object will not be deleted. +func (vpc *VpcV1) DeleteImageExportJob(deleteImageExportJobOptions *DeleteImageExportJobOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteImageExportJobWithContext(context.Background(), deleteImageExportJobOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteImageExportJobWithContext is an alternate form of the DeleteImageExportJob method which supports a Context parameter +func (vpc *VpcV1) DeleteImageExportJobWithContext(ctx context.Context, deleteImageExportJobOptions *DeleteImageExportJobOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteImageExportJobOptions, "deleteImageExportJobOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteImageExportJobOptions, "deleteImageExportJobOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "image_id": *deleteImageExportJobOptions.ImageID, + "id": *deleteImageExportJobOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{image_id}/export_jobs/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteImageExportJob") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteImageExportJobOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_image_export_job", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetImageExportJob : Retrieve an image export job +// This request retrieves a single image export job specified by the identifier in the URL. +func (vpc *VpcV1) GetImageExportJob(getImageExportJobOptions *GetImageExportJobOptions) (result *ImageExportJob, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetImageExportJobWithContext(context.Background(), getImageExportJobOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetImageExportJobWithContext is an alternate form of the GetImageExportJob method which supports a Context parameter +func (vpc *VpcV1) GetImageExportJobWithContext(ctx context.Context, getImageExportJobOptions *GetImageExportJobOptions) (result *ImageExportJob, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getImageExportJobOptions, "getImageExportJobOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getImageExportJobOptions, "getImageExportJobOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "image_id": *getImageExportJobOptions.ImageID, + "id": *getImageExportJobOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{image_id}/export_jobs/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetImageExportJob") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getImageExportJobOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_image_export_job", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageExportJob) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateImageExportJob : Update an image export job +// This request updates an image export job with the information in a provided image export job patch. The image export +// job patch object is structured in the same way as a retrieved image export job and contains only the information to +// be updated. +func (vpc *VpcV1) UpdateImageExportJob(updateImageExportJobOptions *UpdateImageExportJobOptions) (result *ImageExportJob, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateImageExportJobWithContext(context.Background(), updateImageExportJobOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateImageExportJobWithContext is an alternate form of the UpdateImageExportJob method which supports a Context parameter +func (vpc *VpcV1) UpdateImageExportJobWithContext(ctx context.Context, updateImageExportJobOptions *UpdateImageExportJobOptions) (result *ImageExportJob, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateImageExportJobOptions, "updateImageExportJobOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateImageExportJobOptions, "updateImageExportJobOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "image_id": *updateImageExportJobOptions.ImageID, + "id": *updateImageExportJobOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/images/{image_id}/export_jobs/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateImageExportJob") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateImageExportJobOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateImageExportJobOptions.ImageExportJobPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_image_export_job", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageExportJob) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListOperatingSystems : List operating systems +// This request lists operating systems in the region. +func (vpc *VpcV1) ListOperatingSystems(listOperatingSystemsOptions *ListOperatingSystemsOptions) (result *OperatingSystemCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListOperatingSystemsWithContext(context.Background(), listOperatingSystemsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListOperatingSystemsWithContext is an alternate form of the ListOperatingSystems method which supports a Context parameter +func (vpc *VpcV1) ListOperatingSystemsWithContext(ctx context.Context, listOperatingSystemsOptions *ListOperatingSystemsOptions) (result *OperatingSystemCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listOperatingSystemsOptions, "listOperatingSystemsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/operating_systems`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListOperatingSystems") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listOperatingSystemsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listOperatingSystemsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listOperatingSystemsOptions.Start)) + } + if listOperatingSystemsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listOperatingSystemsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_operating_systems", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalOperatingSystemCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetOperatingSystem : Retrieve an operating system +// This request retrieves a single operating system specified by the name in the URL. +func (vpc *VpcV1) GetOperatingSystem(getOperatingSystemOptions *GetOperatingSystemOptions) (result *OperatingSystem, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetOperatingSystemWithContext(context.Background(), getOperatingSystemOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetOperatingSystemWithContext is an alternate form of the GetOperatingSystem method which supports a Context parameter +func (vpc *VpcV1) GetOperatingSystemWithContext(ctx context.Context, getOperatingSystemOptions *GetOperatingSystemOptions) (result *OperatingSystem, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getOperatingSystemOptions, "getOperatingSystemOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getOperatingSystemOptions, "getOperatingSystemOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getOperatingSystemOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/operating_systems/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetOperatingSystem") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getOperatingSystemOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_operating_system", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalOperatingSystem) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceGroups : List instance groups +// This request lists instance groups in the region. +func (vpc *VpcV1) ListInstanceGroups(listInstanceGroupsOptions *ListInstanceGroupsOptions) (result *InstanceGroupCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceGroupsWithContext(context.Background(), listInstanceGroupsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceGroupsWithContext is an alternate form of the ListInstanceGroups method which supports a Context parameter +func (vpc *VpcV1) ListInstanceGroupsWithContext(ctx context.Context, listInstanceGroupsOptions *ListInstanceGroupsOptions) (result *InstanceGroupCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listInstanceGroupsOptions, "listInstanceGroupsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceGroups") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceGroupsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listInstanceGroupsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listInstanceGroupsOptions.Start)) + } + if listInstanceGroupsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listInstanceGroupsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_groups", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceGroup : Create an instance group +// This request creates a new instance group. +func (vpc *VpcV1) CreateInstanceGroup(createInstanceGroupOptions *CreateInstanceGroupOptions) (result *InstanceGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceGroupWithContext(context.Background(), createInstanceGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceGroupWithContext is an alternate form of the CreateInstanceGroup method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceGroupWithContext(ctx context.Context, createInstanceGroupOptions *CreateInstanceGroupOptions) (result *InstanceGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceGroupOptions, "createInstanceGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceGroupOptions, "createInstanceGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createInstanceGroupOptions.InstanceTemplate != nil { + body["instance_template"] = createInstanceGroupOptions.InstanceTemplate + } + if createInstanceGroupOptions.Subnets != nil { + body["subnets"] = createInstanceGroupOptions.Subnets + } + if createInstanceGroupOptions.ApplicationPort != nil { + body["application_port"] = createInstanceGroupOptions.ApplicationPort + } + if createInstanceGroupOptions.LoadBalancer != nil { + body["load_balancer"] = createInstanceGroupOptions.LoadBalancer + } + if createInstanceGroupOptions.LoadBalancerPool != nil { + body["load_balancer_pool"] = createInstanceGroupOptions.LoadBalancerPool + } + if createInstanceGroupOptions.MembershipCount != nil { + body["membership_count"] = createInstanceGroupOptions.MembershipCount + } + if createInstanceGroupOptions.Name != nil { + body["name"] = createInstanceGroupOptions.Name + } + if createInstanceGroupOptions.ResourceGroup != nil { + body["resource_group"] = createInstanceGroupOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceGroup : Delete an instance group +// This request deletes an instance group. This operation cannot be reversed. Any instances associated with the group +// will be deleted. +func (vpc *VpcV1) DeleteInstanceGroup(deleteInstanceGroupOptions *DeleteInstanceGroupOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceGroupWithContext(context.Background(), deleteInstanceGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceGroupWithContext is an alternate form of the DeleteInstanceGroup method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceGroupWithContext(ctx context.Context, deleteInstanceGroupOptions *DeleteInstanceGroupOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceGroupOptions, "deleteInstanceGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceGroupOptions, "deleteInstanceGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteInstanceGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceGroup : Retrieve an instance group +// This request retrieves a single instance group specified by identifier in the URL. +func (vpc *VpcV1) GetInstanceGroup(getInstanceGroupOptions *GetInstanceGroupOptions) (result *InstanceGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceGroupWithContext(context.Background(), getInstanceGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceGroupWithContext is an alternate form of the GetInstanceGroup method which supports a Context parameter +func (vpc *VpcV1) GetInstanceGroupWithContext(ctx context.Context, getInstanceGroupOptions *GetInstanceGroupOptions) (result *InstanceGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceGroupOptions, "getInstanceGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceGroupOptions, "getInstanceGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getInstanceGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceGroup : Update an instance group +// This request updates an instance group with the information provided instance group patch. The instance group patch +// object is structured in the same way as a retrieved instance group and contains only the information to be updated. +func (vpc *VpcV1) UpdateInstanceGroup(updateInstanceGroupOptions *UpdateInstanceGroupOptions) (result *InstanceGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceGroupWithContext(context.Background(), updateInstanceGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceGroupWithContext is an alternate form of the UpdateInstanceGroup method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceGroupWithContext(ctx context.Context, updateInstanceGroupOptions *UpdateInstanceGroupOptions) (result *InstanceGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceGroupOptions, "updateInstanceGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceGroupOptions, "updateInstanceGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateInstanceGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceGroupOptions.InstanceGroupPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceGroupLoadBalancer : Delete an instance group load balancer +// This request unbinds the instance group from the load balancer pool, and deletes the load balancer pool members. +func (vpc *VpcV1) DeleteInstanceGroupLoadBalancer(deleteInstanceGroupLoadBalancerOptions *DeleteInstanceGroupLoadBalancerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceGroupLoadBalancerWithContext(context.Background(), deleteInstanceGroupLoadBalancerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceGroupLoadBalancerWithContext is an alternate form of the DeleteInstanceGroupLoadBalancer method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceGroupLoadBalancerWithContext(ctx context.Context, deleteInstanceGroupLoadBalancerOptions *DeleteInstanceGroupLoadBalancerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceGroupLoadBalancerOptions, "deleteInstanceGroupLoadBalancerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceGroupLoadBalancerOptions, "deleteInstanceGroupLoadBalancerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *deleteInstanceGroupLoadBalancerOptions.InstanceGroupID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/load_balancer`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceGroupLoadBalancer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceGroupLoadBalancerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_group_load_balancer", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListInstanceGroupManagers : List managers for an instance group +// This request lists managers for an instance group. +func (vpc *VpcV1) ListInstanceGroupManagers(listInstanceGroupManagersOptions *ListInstanceGroupManagersOptions) (result *InstanceGroupManagerCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceGroupManagersWithContext(context.Background(), listInstanceGroupManagersOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceGroupManagersWithContext is an alternate form of the ListInstanceGroupManagers method which supports a Context parameter +func (vpc *VpcV1) ListInstanceGroupManagersWithContext(ctx context.Context, listInstanceGroupManagersOptions *ListInstanceGroupManagersOptions) (result *InstanceGroupManagerCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceGroupManagersOptions, "listInstanceGroupManagersOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceGroupManagersOptions, "listInstanceGroupManagersOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *listInstanceGroupManagersOptions.InstanceGroupID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceGroupManagers") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceGroupManagersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listInstanceGroupManagersOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listInstanceGroupManagersOptions.Start)) + } + if listInstanceGroupManagersOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listInstanceGroupManagersOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_group_managers", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceGroupManager : Create a manager for an instance group +// This request creates a new instance group manager. +func (vpc *VpcV1) CreateInstanceGroupManager(createInstanceGroupManagerOptions *CreateInstanceGroupManagerOptions) (result InstanceGroupManagerIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceGroupManagerWithContext(context.Background(), createInstanceGroupManagerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceGroupManagerWithContext is an alternate form of the CreateInstanceGroupManager method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceGroupManagerWithContext(ctx context.Context, createInstanceGroupManagerOptions *CreateInstanceGroupManagerOptions) (result InstanceGroupManagerIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceGroupManagerOptions, "createInstanceGroupManagerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceGroupManagerOptions, "createInstanceGroupManagerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *createInstanceGroupManagerOptions.InstanceGroupID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceGroupManager") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceGroupManagerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createInstanceGroupManagerOptions.InstanceGroupManagerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_group_manager", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManager) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceGroupManager : Delete an instance group manager +// This request deletes an instance group manager. This operation cannot be reversed. +func (vpc *VpcV1) DeleteInstanceGroupManager(deleteInstanceGroupManagerOptions *DeleteInstanceGroupManagerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceGroupManagerWithContext(context.Background(), deleteInstanceGroupManagerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceGroupManagerWithContext is an alternate form of the DeleteInstanceGroupManager method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceGroupManagerWithContext(ctx context.Context, deleteInstanceGroupManagerOptions *DeleteInstanceGroupManagerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceGroupManagerOptions, "deleteInstanceGroupManagerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceGroupManagerOptions, "deleteInstanceGroupManagerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *deleteInstanceGroupManagerOptions.InstanceGroupID, + "id": *deleteInstanceGroupManagerOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceGroupManager") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceGroupManagerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_group_manager", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceGroupManager : Retrieve an instance group manager +// This request retrieves a single instance group manager specified by identifier in the URL. +func (vpc *VpcV1) GetInstanceGroupManager(getInstanceGroupManagerOptions *GetInstanceGroupManagerOptions) (result InstanceGroupManagerIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceGroupManagerWithContext(context.Background(), getInstanceGroupManagerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceGroupManagerWithContext is an alternate form of the GetInstanceGroupManager method which supports a Context parameter +func (vpc *VpcV1) GetInstanceGroupManagerWithContext(ctx context.Context, getInstanceGroupManagerOptions *GetInstanceGroupManagerOptions) (result InstanceGroupManagerIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceGroupManagerOptions, "getInstanceGroupManagerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceGroupManagerOptions, "getInstanceGroupManagerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *getInstanceGroupManagerOptions.InstanceGroupID, + "id": *getInstanceGroupManagerOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceGroupManager") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceGroupManagerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_group_manager", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManager) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceGroupManager : Update an instance group manager +// This request updates an instance group manager with the information provided instance group manager patch. +func (vpc *VpcV1) UpdateInstanceGroupManager(updateInstanceGroupManagerOptions *UpdateInstanceGroupManagerOptions) (result InstanceGroupManagerIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceGroupManagerWithContext(context.Background(), updateInstanceGroupManagerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceGroupManagerWithContext is an alternate form of the UpdateInstanceGroupManager method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceGroupManagerWithContext(ctx context.Context, updateInstanceGroupManagerOptions *UpdateInstanceGroupManagerOptions) (result InstanceGroupManagerIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceGroupManagerOptions, "updateInstanceGroupManagerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceGroupManagerOptions, "updateInstanceGroupManagerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *updateInstanceGroupManagerOptions.InstanceGroupID, + "id": *updateInstanceGroupManagerOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceGroupManager") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceGroupManagerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceGroupManagerOptions.InstanceGroupManagerPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_group_manager", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManager) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceGroupManagerActions : List actions for an instance group manager +// This request lists instance group actions for an instance group manager. +func (vpc *VpcV1) ListInstanceGroupManagerActions(listInstanceGroupManagerActionsOptions *ListInstanceGroupManagerActionsOptions) (result *InstanceGroupManagerActionsCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceGroupManagerActionsWithContext(context.Background(), listInstanceGroupManagerActionsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceGroupManagerActionsWithContext is an alternate form of the ListInstanceGroupManagerActions method which supports a Context parameter +func (vpc *VpcV1) ListInstanceGroupManagerActionsWithContext(ctx context.Context, listInstanceGroupManagerActionsOptions *ListInstanceGroupManagerActionsOptions) (result *InstanceGroupManagerActionsCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceGroupManagerActionsOptions, "listInstanceGroupManagerActionsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceGroupManagerActionsOptions, "listInstanceGroupManagerActionsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *listInstanceGroupManagerActionsOptions.InstanceGroupID, + "instance_group_manager_id": *listInstanceGroupManagerActionsOptions.InstanceGroupManagerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/actions`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceGroupManagerActions") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceGroupManagerActionsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listInstanceGroupManagerActionsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listInstanceGroupManagerActionsOptions.Start)) + } + if listInstanceGroupManagerActionsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listInstanceGroupManagerActionsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_group_manager_actions", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerActionsCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceGroupManagerAction : Create an instance group manager action +// This request creates a new instance group manager action. +func (vpc *VpcV1) CreateInstanceGroupManagerAction(createInstanceGroupManagerActionOptions *CreateInstanceGroupManagerActionOptions) (result InstanceGroupManagerActionIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceGroupManagerActionWithContext(context.Background(), createInstanceGroupManagerActionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceGroupManagerActionWithContext is an alternate form of the CreateInstanceGroupManagerAction method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceGroupManagerActionWithContext(ctx context.Context, createInstanceGroupManagerActionOptions *CreateInstanceGroupManagerActionOptions) (result InstanceGroupManagerActionIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceGroupManagerActionOptions, "createInstanceGroupManagerActionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceGroupManagerActionOptions, "createInstanceGroupManagerActionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *createInstanceGroupManagerActionOptions.InstanceGroupID, + "instance_group_manager_id": *createInstanceGroupManagerActionOptions.InstanceGroupManagerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/actions`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceGroupManagerAction") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceGroupManagerActionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createInstanceGroupManagerActionOptions.InstanceGroupManagerActionPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_group_manager_action", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerAction) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceGroupManagerAction : Delete specified instance group manager action +// This request deletes an instance group manager action. This operation cannot be reversed. +func (vpc *VpcV1) DeleteInstanceGroupManagerAction(deleteInstanceGroupManagerActionOptions *DeleteInstanceGroupManagerActionOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceGroupManagerActionWithContext(context.Background(), deleteInstanceGroupManagerActionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceGroupManagerActionWithContext is an alternate form of the DeleteInstanceGroupManagerAction method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceGroupManagerActionWithContext(ctx context.Context, deleteInstanceGroupManagerActionOptions *DeleteInstanceGroupManagerActionOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceGroupManagerActionOptions, "deleteInstanceGroupManagerActionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceGroupManagerActionOptions, "deleteInstanceGroupManagerActionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *deleteInstanceGroupManagerActionOptions.InstanceGroupID, + "instance_group_manager_id": *deleteInstanceGroupManagerActionOptions.InstanceGroupManagerID, + "id": *deleteInstanceGroupManagerActionOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/actions/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceGroupManagerAction") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceGroupManagerActionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_group_manager_action", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceGroupManagerAction : Retrieve specified instance group manager action +// This request retrieves a single instance group manager action specified by identifier in the URL. +func (vpc *VpcV1) GetInstanceGroupManagerAction(getInstanceGroupManagerActionOptions *GetInstanceGroupManagerActionOptions) (result InstanceGroupManagerActionIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceGroupManagerActionWithContext(context.Background(), getInstanceGroupManagerActionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceGroupManagerActionWithContext is an alternate form of the GetInstanceGroupManagerAction method which supports a Context parameter +func (vpc *VpcV1) GetInstanceGroupManagerActionWithContext(ctx context.Context, getInstanceGroupManagerActionOptions *GetInstanceGroupManagerActionOptions) (result InstanceGroupManagerActionIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceGroupManagerActionOptions, "getInstanceGroupManagerActionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceGroupManagerActionOptions, "getInstanceGroupManagerActionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *getInstanceGroupManagerActionOptions.InstanceGroupID, + "instance_group_manager_id": *getInstanceGroupManagerActionOptions.InstanceGroupManagerID, + "id": *getInstanceGroupManagerActionOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/actions/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceGroupManagerAction") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceGroupManagerActionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_group_manager_action", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerAction) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceGroupManagerAction : Update specified instance group manager action +// This request updates an instance group manager action. +func (vpc *VpcV1) UpdateInstanceGroupManagerAction(updateInstanceGroupManagerActionOptions *UpdateInstanceGroupManagerActionOptions) (result InstanceGroupManagerActionIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceGroupManagerActionWithContext(context.Background(), updateInstanceGroupManagerActionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceGroupManagerActionWithContext is an alternate form of the UpdateInstanceGroupManagerAction method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceGroupManagerActionWithContext(ctx context.Context, updateInstanceGroupManagerActionOptions *UpdateInstanceGroupManagerActionOptions) (result InstanceGroupManagerActionIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceGroupManagerActionOptions, "updateInstanceGroupManagerActionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceGroupManagerActionOptions, "updateInstanceGroupManagerActionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *updateInstanceGroupManagerActionOptions.InstanceGroupID, + "instance_group_manager_id": *updateInstanceGroupManagerActionOptions.InstanceGroupManagerID, + "id": *updateInstanceGroupManagerActionOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/actions/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceGroupManagerAction") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceGroupManagerActionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceGroupManagerActionOptions.InstanceGroupManagerActionPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_group_manager_action", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerAction) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceGroupManagerPolicies : List policies for an instance group manager +// This request lists policies for an instance group manager. +func (vpc *VpcV1) ListInstanceGroupManagerPolicies(listInstanceGroupManagerPoliciesOptions *ListInstanceGroupManagerPoliciesOptions) (result *InstanceGroupManagerPolicyCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceGroupManagerPoliciesWithContext(context.Background(), listInstanceGroupManagerPoliciesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceGroupManagerPoliciesWithContext is an alternate form of the ListInstanceGroupManagerPolicies method which supports a Context parameter +func (vpc *VpcV1) ListInstanceGroupManagerPoliciesWithContext(ctx context.Context, listInstanceGroupManagerPoliciesOptions *ListInstanceGroupManagerPoliciesOptions) (result *InstanceGroupManagerPolicyCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceGroupManagerPoliciesOptions, "listInstanceGroupManagerPoliciesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceGroupManagerPoliciesOptions, "listInstanceGroupManagerPoliciesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *listInstanceGroupManagerPoliciesOptions.InstanceGroupID, + "instance_group_manager_id": *listInstanceGroupManagerPoliciesOptions.InstanceGroupManagerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/policies`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceGroupManagerPolicies") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceGroupManagerPoliciesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listInstanceGroupManagerPoliciesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listInstanceGroupManagerPoliciesOptions.Start)) + } + if listInstanceGroupManagerPoliciesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listInstanceGroupManagerPoliciesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_group_manager_policies", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerPolicyCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceGroupManagerPolicy : Create a policy for an instance group manager +// This request creates a new instance group manager policy. +func (vpc *VpcV1) CreateInstanceGroupManagerPolicy(createInstanceGroupManagerPolicyOptions *CreateInstanceGroupManagerPolicyOptions) (result InstanceGroupManagerPolicyIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceGroupManagerPolicyWithContext(context.Background(), createInstanceGroupManagerPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceGroupManagerPolicyWithContext is an alternate form of the CreateInstanceGroupManagerPolicy method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceGroupManagerPolicyWithContext(ctx context.Context, createInstanceGroupManagerPolicyOptions *CreateInstanceGroupManagerPolicyOptions) (result InstanceGroupManagerPolicyIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceGroupManagerPolicyOptions, "createInstanceGroupManagerPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceGroupManagerPolicyOptions, "createInstanceGroupManagerPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *createInstanceGroupManagerPolicyOptions.InstanceGroupID, + "instance_group_manager_id": *createInstanceGroupManagerPolicyOptions.InstanceGroupManagerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/policies`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceGroupManagerPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceGroupManagerPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createInstanceGroupManagerPolicyOptions.InstanceGroupManagerPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_group_manager_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceGroupManagerPolicy : Delete an instance group manager policy +// This request deletes an instance group manager policy. This operation cannot be reversed. +func (vpc *VpcV1) DeleteInstanceGroupManagerPolicy(deleteInstanceGroupManagerPolicyOptions *DeleteInstanceGroupManagerPolicyOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceGroupManagerPolicyWithContext(context.Background(), deleteInstanceGroupManagerPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceGroupManagerPolicyWithContext is an alternate form of the DeleteInstanceGroupManagerPolicy method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceGroupManagerPolicyWithContext(ctx context.Context, deleteInstanceGroupManagerPolicyOptions *DeleteInstanceGroupManagerPolicyOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceGroupManagerPolicyOptions, "deleteInstanceGroupManagerPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceGroupManagerPolicyOptions, "deleteInstanceGroupManagerPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *deleteInstanceGroupManagerPolicyOptions.InstanceGroupID, + "instance_group_manager_id": *deleteInstanceGroupManagerPolicyOptions.InstanceGroupManagerID, + "id": *deleteInstanceGroupManagerPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceGroupManagerPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceGroupManagerPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_group_manager_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceGroupManagerPolicy : Retrieve an instance group manager policy +// This request retrieves a single instance group manager policy specified by identifier in the URL. +func (vpc *VpcV1) GetInstanceGroupManagerPolicy(getInstanceGroupManagerPolicyOptions *GetInstanceGroupManagerPolicyOptions) (result InstanceGroupManagerPolicyIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceGroupManagerPolicyWithContext(context.Background(), getInstanceGroupManagerPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceGroupManagerPolicyWithContext is an alternate form of the GetInstanceGroupManagerPolicy method which supports a Context parameter +func (vpc *VpcV1) GetInstanceGroupManagerPolicyWithContext(ctx context.Context, getInstanceGroupManagerPolicyOptions *GetInstanceGroupManagerPolicyOptions) (result InstanceGroupManagerPolicyIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceGroupManagerPolicyOptions, "getInstanceGroupManagerPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceGroupManagerPolicyOptions, "getInstanceGroupManagerPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *getInstanceGroupManagerPolicyOptions.InstanceGroupID, + "instance_group_manager_id": *getInstanceGroupManagerPolicyOptions.InstanceGroupManagerID, + "id": *getInstanceGroupManagerPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceGroupManagerPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceGroupManagerPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_group_manager_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceGroupManagerPolicy : Update an instance group manager policy +// This request updates an instance group manager policy. +func (vpc *VpcV1) UpdateInstanceGroupManagerPolicy(updateInstanceGroupManagerPolicyOptions *UpdateInstanceGroupManagerPolicyOptions) (result InstanceGroupManagerPolicyIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceGroupManagerPolicyWithContext(context.Background(), updateInstanceGroupManagerPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceGroupManagerPolicyWithContext is an alternate form of the UpdateInstanceGroupManagerPolicy method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceGroupManagerPolicyWithContext(ctx context.Context, updateInstanceGroupManagerPolicyOptions *UpdateInstanceGroupManagerPolicyOptions) (result InstanceGroupManagerPolicyIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceGroupManagerPolicyOptions, "updateInstanceGroupManagerPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceGroupManagerPolicyOptions, "updateInstanceGroupManagerPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *updateInstanceGroupManagerPolicyOptions.InstanceGroupID, + "instance_group_manager_id": *updateInstanceGroupManagerPolicyOptions.InstanceGroupManagerID, + "id": *updateInstanceGroupManagerPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/managers/{instance_group_manager_id}/policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceGroupManagerPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceGroupManagerPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceGroupManagerPolicyOptions.InstanceGroupManagerPolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_group_manager_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupManagerPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceGroupMemberships : Delete memberships from an instance group +// This request deletes memberships of an instance group. This operation cannot be reversed. Memberships that have +// `delete_instance_on_membership_delete` set to `true` will also have their instances deleted. +func (vpc *VpcV1) DeleteInstanceGroupMemberships(deleteInstanceGroupMembershipsOptions *DeleteInstanceGroupMembershipsOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceGroupMembershipsWithContext(context.Background(), deleteInstanceGroupMembershipsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceGroupMembershipsWithContext is an alternate form of the DeleteInstanceGroupMemberships method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceGroupMembershipsWithContext(ctx context.Context, deleteInstanceGroupMembershipsOptions *DeleteInstanceGroupMembershipsOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceGroupMembershipsOptions, "deleteInstanceGroupMembershipsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceGroupMembershipsOptions, "deleteInstanceGroupMembershipsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *deleteInstanceGroupMembershipsOptions.InstanceGroupID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/memberships`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceGroupMemberships") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceGroupMembershipsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_group_memberships", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListInstanceGroupMemberships : List memberships for an instance group +// This request lists instance group memberships for an instance group. +func (vpc *VpcV1) ListInstanceGroupMemberships(listInstanceGroupMembershipsOptions *ListInstanceGroupMembershipsOptions) (result *InstanceGroupMembershipCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceGroupMembershipsWithContext(context.Background(), listInstanceGroupMembershipsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceGroupMembershipsWithContext is an alternate form of the ListInstanceGroupMemberships method which supports a Context parameter +func (vpc *VpcV1) ListInstanceGroupMembershipsWithContext(ctx context.Context, listInstanceGroupMembershipsOptions *ListInstanceGroupMembershipsOptions) (result *InstanceGroupMembershipCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceGroupMembershipsOptions, "listInstanceGroupMembershipsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceGroupMembershipsOptions, "listInstanceGroupMembershipsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *listInstanceGroupMembershipsOptions.InstanceGroupID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/memberships`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceGroupMemberships") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceGroupMembershipsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listInstanceGroupMembershipsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listInstanceGroupMembershipsOptions.Start)) + } + if listInstanceGroupMembershipsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listInstanceGroupMembershipsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_group_memberships", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupMembershipCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceGroupMembership : Delete an instance group membership +// This request deletes a memberships of an instance group. This operation cannot be reversed. reversed. If the +// membership has `delete_instance_on_membership_delete` set to `true`, the instance will also be deleted. +func (vpc *VpcV1) DeleteInstanceGroupMembership(deleteInstanceGroupMembershipOptions *DeleteInstanceGroupMembershipOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceGroupMembershipWithContext(context.Background(), deleteInstanceGroupMembershipOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceGroupMembershipWithContext is an alternate form of the DeleteInstanceGroupMembership method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceGroupMembershipWithContext(ctx context.Context, deleteInstanceGroupMembershipOptions *DeleteInstanceGroupMembershipOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceGroupMembershipOptions, "deleteInstanceGroupMembershipOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceGroupMembershipOptions, "deleteInstanceGroupMembershipOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *deleteInstanceGroupMembershipOptions.InstanceGroupID, + "id": *deleteInstanceGroupMembershipOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/memberships/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceGroupMembership") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceGroupMembershipOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_group_membership", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceGroupMembership : Retrieve an instance group membership +// This request retrieves a single instance group membership specified by identifier in the URL. +func (vpc *VpcV1) GetInstanceGroupMembership(getInstanceGroupMembershipOptions *GetInstanceGroupMembershipOptions) (result *InstanceGroupMembership, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceGroupMembershipWithContext(context.Background(), getInstanceGroupMembershipOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceGroupMembershipWithContext is an alternate form of the GetInstanceGroupMembership method which supports a Context parameter +func (vpc *VpcV1) GetInstanceGroupMembershipWithContext(ctx context.Context, getInstanceGroupMembershipOptions *GetInstanceGroupMembershipOptions) (result *InstanceGroupMembership, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceGroupMembershipOptions, "getInstanceGroupMembershipOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceGroupMembershipOptions, "getInstanceGroupMembershipOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *getInstanceGroupMembershipOptions.InstanceGroupID, + "id": *getInstanceGroupMembershipOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/memberships/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceGroupMembership") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceGroupMembershipOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_group_membership", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupMembership) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceGroupMembership : Update an instance group membership +// This request updates an instance group membership with the information provided instance group membership patch. +func (vpc *VpcV1) UpdateInstanceGroupMembership(updateInstanceGroupMembershipOptions *UpdateInstanceGroupMembershipOptions) (result *InstanceGroupMembership, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceGroupMembershipWithContext(context.Background(), updateInstanceGroupMembershipOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceGroupMembershipWithContext is an alternate form of the UpdateInstanceGroupMembership method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceGroupMembershipWithContext(ctx context.Context, updateInstanceGroupMembershipOptions *UpdateInstanceGroupMembershipOptions) (result *InstanceGroupMembership, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceGroupMembershipOptions, "updateInstanceGroupMembershipOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceGroupMembershipOptions, "updateInstanceGroupMembershipOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_group_id": *updateInstanceGroupMembershipOptions.InstanceGroupID, + "id": *updateInstanceGroupMembershipOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance_groups/{instance_group_id}/memberships/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceGroupMembership") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceGroupMembershipOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceGroupMembershipOptions.InstanceGroupMembershipPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_group_membership", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceGroupMembership) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceTemplates : List instance templates +// This request lists instance templates in the region. +func (vpc *VpcV1) ListInstanceTemplates(listInstanceTemplatesOptions *ListInstanceTemplatesOptions) (result *InstanceTemplateCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceTemplatesWithContext(context.Background(), listInstanceTemplatesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceTemplatesWithContext is an alternate form of the ListInstanceTemplates method which supports a Context parameter +func (vpc *VpcV1) ListInstanceTemplatesWithContext(ctx context.Context, listInstanceTemplatesOptions *ListInstanceTemplatesOptions) (result *InstanceTemplateCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listInstanceTemplatesOptions, "listInstanceTemplatesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance/templates`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceTemplates") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceTemplatesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_templates", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceTemplateCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceTemplate : Create an instance template +// This request creates a new instance template. The prototype object is structured in the same way as a retrieved +// instance template, and contains the information necessary to provision a new instance from the template. +// +// If a `source_template` is specified in the prototype object, its contents are copied into the new template prior to +// copying any other properties provided in the prototype object. +func (vpc *VpcV1) CreateInstanceTemplate(createInstanceTemplateOptions *CreateInstanceTemplateOptions) (result InstanceTemplateIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceTemplateWithContext(context.Background(), createInstanceTemplateOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceTemplateWithContext is an alternate form of the CreateInstanceTemplate method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceTemplateWithContext(ctx context.Context, createInstanceTemplateOptions *CreateInstanceTemplateOptions) (result InstanceTemplateIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceTemplateOptions, "createInstanceTemplateOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceTemplateOptions, "createInstanceTemplateOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance/templates`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceTemplate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceTemplateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createInstanceTemplateOptions.InstanceTemplatePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_template", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceTemplate) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceTemplate : Delete an instance template +// This request deletes the instance template. This operation cannot be reversed. +func (vpc *VpcV1) DeleteInstanceTemplate(deleteInstanceTemplateOptions *DeleteInstanceTemplateOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceTemplateWithContext(context.Background(), deleteInstanceTemplateOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceTemplateWithContext is an alternate form of the DeleteInstanceTemplate method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceTemplateWithContext(ctx context.Context, deleteInstanceTemplateOptions *DeleteInstanceTemplateOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceTemplateOptions, "deleteInstanceTemplateOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceTemplateOptions, "deleteInstanceTemplateOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteInstanceTemplateOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance/templates/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceTemplate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceTemplateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_template", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceTemplate : Retrieve an instance template +// This request retrieves a single instance template specified by the identifier in the URL. +func (vpc *VpcV1) GetInstanceTemplate(getInstanceTemplateOptions *GetInstanceTemplateOptions) (result InstanceTemplateIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceTemplateWithContext(context.Background(), getInstanceTemplateOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceTemplateWithContext is an alternate form of the GetInstanceTemplate method which supports a Context parameter +func (vpc *VpcV1) GetInstanceTemplateWithContext(ctx context.Context, getInstanceTemplateOptions *GetInstanceTemplateOptions) (result InstanceTemplateIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceTemplateOptions, "getInstanceTemplateOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceTemplateOptions, "getInstanceTemplateOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getInstanceTemplateOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance/templates/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceTemplate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceTemplateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_template", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceTemplate) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceTemplate : Update an instance template +// This request updates an instance template with the information provided in the instance template patch. The instance +// template patch object is structured in the same way as a retrieved instance template and contains only the +// information to be updated. +func (vpc *VpcV1) UpdateInstanceTemplate(updateInstanceTemplateOptions *UpdateInstanceTemplateOptions) (result InstanceTemplateIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceTemplateWithContext(context.Background(), updateInstanceTemplateOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceTemplateWithContext is an alternate form of the UpdateInstanceTemplate method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceTemplateWithContext(ctx context.Context, updateInstanceTemplateOptions *UpdateInstanceTemplateOptions) (result InstanceTemplateIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceTemplateOptions, "updateInstanceTemplateOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceTemplateOptions, "updateInstanceTemplateOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateInstanceTemplateOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance/templates/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceTemplate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceTemplateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceTemplateOptions.InstanceTemplatePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_template", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceTemplate) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceProfiles : List instance profiles +// This request lists provisionable [instance profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) in the +// region. An instance profile specifies the performance characteristics and pricing model for an instance. +func (vpc *VpcV1) ListInstanceProfiles(listInstanceProfilesOptions *ListInstanceProfilesOptions) (result *InstanceProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceProfilesWithContext(context.Background(), listInstanceProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceProfilesWithContext is an alternate form of the ListInstanceProfiles method which supports a Context parameter +func (vpc *VpcV1) ListInstanceProfilesWithContext(ctx context.Context, listInstanceProfilesOptions *ListInstanceProfilesOptions) (result *InstanceProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listInstanceProfilesOptions, "listInstanceProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance/profiles`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetInstanceProfile : Retrieve an instance profile +// This request retrieves a single instance profile specified by the name in the URL. +func (vpc *VpcV1) GetInstanceProfile(getInstanceProfileOptions *GetInstanceProfileOptions) (result *InstanceProfile, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceProfileWithContext(context.Background(), getInstanceProfileOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceProfileWithContext is an alternate form of the GetInstanceProfile method which supports a Context parameter +func (vpc *VpcV1) GetInstanceProfileWithContext(ctx context.Context, getInstanceProfileOptions *GetInstanceProfileOptions) (result *InstanceProfile, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceProfileOptions, "getInstanceProfileOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceProfileOptions, "getInstanceProfileOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getInstanceProfileOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instance/profiles/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceProfile") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceProfileOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_profile", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceProfile) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstances : List instances +// This request lists instances in the region. +func (vpc *VpcV1) ListInstances(listInstancesOptions *ListInstancesOptions) (result *InstanceCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstancesWithContext(context.Background(), listInstancesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstancesWithContext is an alternate form of the ListInstances method which supports a Context parameter +func (vpc *VpcV1) ListInstancesWithContext(ctx context.Context, listInstancesOptions *ListInstancesOptions) (result *InstanceCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listInstancesOptions, "listInstancesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstances") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstancesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listInstancesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listInstancesOptions.Start)) + } + if listInstancesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listInstancesOptions.Limit)) + } + if listInstancesOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listInstancesOptions.ResourceGroupID)) + } + if listInstancesOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listInstancesOptions.Name)) + } + if listInstancesOptions.ClusterNetworkID != nil { + builder.AddQuery("cluster_network.id", fmt.Sprint(*listInstancesOptions.ClusterNetworkID)) + } + if listInstancesOptions.ClusterNetworkCRN != nil { + builder.AddQuery("cluster_network.crn", fmt.Sprint(*listInstancesOptions.ClusterNetworkCRN)) + } + if listInstancesOptions.ClusterNetworkName != nil { + builder.AddQuery("cluster_network.name", fmt.Sprint(*listInstancesOptions.ClusterNetworkName)) + } + if listInstancesOptions.DedicatedHostID != nil { + builder.AddQuery("dedicated_host.id", fmt.Sprint(*listInstancesOptions.DedicatedHostID)) + } + if listInstancesOptions.DedicatedHostCRN != nil { + builder.AddQuery("dedicated_host.crn", fmt.Sprint(*listInstancesOptions.DedicatedHostCRN)) + } + if listInstancesOptions.DedicatedHostName != nil { + builder.AddQuery("dedicated_host.name", fmt.Sprint(*listInstancesOptions.DedicatedHostName)) + } + if listInstancesOptions.PlacementGroupID != nil { + builder.AddQuery("placement_group.id", fmt.Sprint(*listInstancesOptions.PlacementGroupID)) + } + if listInstancesOptions.PlacementGroupCRN != nil { + builder.AddQuery("placement_group.crn", fmt.Sprint(*listInstancesOptions.PlacementGroupCRN)) + } + if listInstancesOptions.PlacementGroupName != nil { + builder.AddQuery("placement_group.name", fmt.Sprint(*listInstancesOptions.PlacementGroupName)) + } + if listInstancesOptions.ReservationAffinityPolicy != nil { + builder.AddQuery("reservation_affinity.policy", fmt.Sprint(*listInstancesOptions.ReservationAffinityPolicy)) + } + if listInstancesOptions.ReservationID != nil { + builder.AddQuery("reservation.id", fmt.Sprint(*listInstancesOptions.ReservationID)) + } + if listInstancesOptions.ReservationCRN != nil { + builder.AddQuery("reservation.crn", fmt.Sprint(*listInstancesOptions.ReservationCRN)) + } + if listInstancesOptions.ReservationName != nil { + builder.AddQuery("reservation.name", fmt.Sprint(*listInstancesOptions.ReservationName)) + } + if listInstancesOptions.VPCID != nil { + builder.AddQuery("vpc.id", fmt.Sprint(*listInstancesOptions.VPCID)) + } + if listInstancesOptions.VPCCRN != nil { + builder.AddQuery("vpc.crn", fmt.Sprint(*listInstancesOptions.VPCCRN)) + } + if listInstancesOptions.VPCName != nil { + builder.AddQuery("vpc.name", fmt.Sprint(*listInstancesOptions.VPCName)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instances", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstance : Create an instance +// This request provisions a new instance from an instance prototype object. The prototype object is structured in the +// same way as a retrieved instance, and contains the information necessary to provision the new instance. The instance +// is automatically started. +// +// For this request to succeed, the properties in the request must adhere to the source's +// `allowed_use` property. +func (vpc *VpcV1) CreateInstance(createInstanceOptions *CreateInstanceOptions) (result *Instance, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceWithContext(context.Background(), createInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceWithContext is an alternate form of the CreateInstance method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceWithContext(ctx context.Context, createInstanceOptions *CreateInstanceOptions) (result *Instance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceOptions, "createInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceOptions, "createInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createInstanceOptions.InstancePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstance : Delete an instance +// This request deletes an instance. This operation cannot be reversed. Any floating IPs associated with instance +// network interfaces are implicitly disassociated. All virtual network interfaces with `auto_delete` set to `true` +// targeting instance network attachments on the instance are automatically deleted. All flow log collectors with +// `auto_delete` set to `true` targeting the instance, the instance network attachments, the instance network +// interfaces, or the automatically deleted virtual network interfaces are automatically deleted. +func (vpc *VpcV1) DeleteInstance(deleteInstanceOptions *DeleteInstanceOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceWithContext(context.Background(), deleteInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceWithContext is an alternate form of the DeleteInstance method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceWithContext(ctx context.Context, deleteInstanceOptions *DeleteInstanceOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceOptions, "deleteInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceOptions, "deleteInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + if deleteInstanceOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteInstanceOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstance : Retrieve an instance +// This request retrieves a single instance specified by the identifier in the URL. +func (vpc *VpcV1) GetInstance(getInstanceOptions *GetInstanceOptions) (result *Instance, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceWithContext(context.Background(), getInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceWithContext is an alternate form of the GetInstance method which supports a Context parameter +func (vpc *VpcV1) GetInstanceWithContext(ctx context.Context, getInstanceOptions *GetInstanceOptions) (result *Instance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceOptions, "getInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceOptions, "getInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstance : Update an instance +// This request updates an instance with the information in a provided instance patch. The instance patch object is +// structured in the same way as a retrieved instance and contains only the information to be updated. +// +// For this request to succeed, the properties in the request must adhere to the +// `allowed_use` property in the volume referenced by `boot_volume_attachment.volume`. +func (vpc *VpcV1) UpdateInstance(updateInstanceOptions *UpdateInstanceOptions) (result *Instance, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceWithContext(context.Background(), updateInstanceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceWithContext is an alternate form of the UpdateInstance method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceWithContext(ctx context.Context, updateInstanceOptions *UpdateInstanceOptions) (result *Instance, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceOptions, "updateInstanceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceOptions, "updateInstanceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateInstanceOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstance") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateInstanceOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateInstanceOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceOptions.InstancePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstance) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetInstanceInitialization : Retrieve initialization configuration for an instance +// This request retrieves configuration used to initialize the instance, such as SSH keys and the Windows administrator +// password. These can subsequently be changed on the instance and therefore may not be current. +func (vpc *VpcV1) GetInstanceInitialization(getInstanceInitializationOptions *GetInstanceInitializationOptions) (result *InstanceInitialization, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceInitializationWithContext(context.Background(), getInstanceInitializationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceInitializationWithContext is an alternate form of the GetInstanceInitialization method which supports a Context parameter +func (vpc *VpcV1) GetInstanceInitializationWithContext(ctx context.Context, getInstanceInitializationOptions *GetInstanceInitializationOptions) (result *InstanceInitialization, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceInitializationOptions, "getInstanceInitializationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceInitializationOptions, "getInstanceInitializationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getInstanceInitializationOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{id}/initialization`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceInitialization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceInitializationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_initialization", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceInitialization) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceAction : Create an instance action +// This request creates a new action which will be queued up to run as soon as any pending or running actions have +// completed. +func (vpc *VpcV1) CreateInstanceAction(createInstanceActionOptions *CreateInstanceActionOptions) (result *InstanceAction, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceActionWithContext(context.Background(), createInstanceActionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceActionWithContext is an alternate form of the CreateInstanceAction method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceActionWithContext(ctx context.Context, createInstanceActionOptions *CreateInstanceActionOptions) (result *InstanceAction, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceActionOptions, "createInstanceActionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceActionOptions, "createInstanceActionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *createInstanceActionOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/actions`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceAction") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceActionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createInstanceActionOptions.Type != nil { + body["type"] = createInstanceActionOptions.Type + } + if createInstanceActionOptions.Force != nil { + body["force"] = createInstanceActionOptions.Force + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_action", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceAction) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceClusterNetworkAttachments : List cluster network attachments on an instance +// This request lists cluster network attachments on an instance. A cluster network attachment represents a device on +// the instance to which a cluster network interface is attached. +func (vpc *VpcV1) ListInstanceClusterNetworkAttachments(listInstanceClusterNetworkAttachmentsOptions *ListInstanceClusterNetworkAttachmentsOptions) (result *InstanceClusterNetworkAttachmentCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceClusterNetworkAttachmentsWithContext(context.Background(), listInstanceClusterNetworkAttachmentsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceClusterNetworkAttachmentsWithContext is an alternate form of the ListInstanceClusterNetworkAttachments method which supports a Context parameter +func (vpc *VpcV1) ListInstanceClusterNetworkAttachmentsWithContext(ctx context.Context, listInstanceClusterNetworkAttachmentsOptions *ListInstanceClusterNetworkAttachmentsOptions) (result *InstanceClusterNetworkAttachmentCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceClusterNetworkAttachmentsOptions, "listInstanceClusterNetworkAttachmentsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceClusterNetworkAttachmentsOptions, "listInstanceClusterNetworkAttachmentsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *listInstanceClusterNetworkAttachmentsOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/cluster_network_attachments`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceClusterNetworkAttachments") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceClusterNetworkAttachmentsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listInstanceClusterNetworkAttachmentsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listInstanceClusterNetworkAttachmentsOptions.Start)) + } + if listInstanceClusterNetworkAttachmentsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listInstanceClusterNetworkAttachmentsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_cluster_network_attachments", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceClusterNetworkAttachmentCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateClusterNetworkAttachment : Create a cluster network attachment +// This request creates a cluster network attachment from an instance cluster network attachment prototype object. A +// cluster network attachment will attach the instance to a cluster network. The cluster network attachment prototype +// must specify a cluster network interface identity or a cluster network interface prototype. +// +// The instance must be in a `stopped` or `stopping` state to create an instance cluster network attachment. +func (vpc *VpcV1) CreateClusterNetworkAttachment(createClusterNetworkAttachmentOptions *CreateClusterNetworkAttachmentOptions) (result *InstanceClusterNetworkAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateClusterNetworkAttachmentWithContext(context.Background(), createClusterNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateClusterNetworkAttachmentWithContext is an alternate form of the CreateClusterNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) CreateClusterNetworkAttachmentWithContext(ctx context.Context, createClusterNetworkAttachmentOptions *CreateClusterNetworkAttachmentOptions) (result *InstanceClusterNetworkAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createClusterNetworkAttachmentOptions, "createClusterNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createClusterNetworkAttachmentOptions, "createClusterNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *createClusterNetworkAttachmentOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/cluster_network_attachments`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateClusterNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createClusterNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createClusterNetworkAttachmentOptions.ClusterNetworkInterface != nil { + body["cluster_network_interface"] = createClusterNetworkAttachmentOptions.ClusterNetworkInterface + } + if createClusterNetworkAttachmentOptions.Before != nil { + body["before"] = createClusterNetworkAttachmentOptions.Before + } + if createClusterNetworkAttachmentOptions.Name != nil { + body["name"] = createClusterNetworkAttachmentOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_cluster_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceClusterNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceClusterNetworkAttachment : Delete an instance cluster network attachment +// This request deletes an instance cluster network attachment. The instance must be in a +// `stopped` or `stopping` state to delete an instance cluster network attachment. +// +// This operation cannot be reversed. +func (vpc *VpcV1) DeleteInstanceClusterNetworkAttachment(deleteInstanceClusterNetworkAttachmentOptions *DeleteInstanceClusterNetworkAttachmentOptions) (result *InstanceClusterNetworkAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteInstanceClusterNetworkAttachmentWithContext(context.Background(), deleteInstanceClusterNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceClusterNetworkAttachmentWithContext is an alternate form of the DeleteInstanceClusterNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceClusterNetworkAttachmentWithContext(ctx context.Context, deleteInstanceClusterNetworkAttachmentOptions *DeleteInstanceClusterNetworkAttachmentOptions) (result *InstanceClusterNetworkAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceClusterNetworkAttachmentOptions, "deleteInstanceClusterNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceClusterNetworkAttachmentOptions, "deleteInstanceClusterNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *deleteInstanceClusterNetworkAttachmentOptions.InstanceID, + "id": *deleteInstanceClusterNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/cluster_network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceClusterNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceClusterNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_cluster_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceClusterNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetInstanceClusterNetworkAttachment : Retrieve an instance cluster network attachment +// This request retrieves a single instance cluster network attachment specified by the identifier in the URL. +func (vpc *VpcV1) GetInstanceClusterNetworkAttachment(getInstanceClusterNetworkAttachmentOptions *GetInstanceClusterNetworkAttachmentOptions) (result *InstanceClusterNetworkAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceClusterNetworkAttachmentWithContext(context.Background(), getInstanceClusterNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceClusterNetworkAttachmentWithContext is an alternate form of the GetInstanceClusterNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) GetInstanceClusterNetworkAttachmentWithContext(ctx context.Context, getInstanceClusterNetworkAttachmentOptions *GetInstanceClusterNetworkAttachmentOptions) (result *InstanceClusterNetworkAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceClusterNetworkAttachmentOptions, "getInstanceClusterNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceClusterNetworkAttachmentOptions, "getInstanceClusterNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *getInstanceClusterNetworkAttachmentOptions.InstanceID, + "id": *getInstanceClusterNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/cluster_network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceClusterNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceClusterNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_cluster_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceClusterNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceClusterNetworkAttachment : Update an instance cluster network attachment +// This request updates an instance cluster network attachment with the information provided in an instance network +// interface patch object. The instance cluster network attachment patch object is structured in the same way as a +// retrieved instance cluster network attachment and needs to contain only the information to be updated. +func (vpc *VpcV1) UpdateInstanceClusterNetworkAttachment(updateInstanceClusterNetworkAttachmentOptions *UpdateInstanceClusterNetworkAttachmentOptions) (result *InstanceClusterNetworkAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceClusterNetworkAttachmentWithContext(context.Background(), updateInstanceClusterNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceClusterNetworkAttachmentWithContext is an alternate form of the UpdateInstanceClusterNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceClusterNetworkAttachmentWithContext(ctx context.Context, updateInstanceClusterNetworkAttachmentOptions *UpdateInstanceClusterNetworkAttachmentOptions) (result *InstanceClusterNetworkAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceClusterNetworkAttachmentOptions, "updateInstanceClusterNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceClusterNetworkAttachmentOptions, "updateInstanceClusterNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *updateInstanceClusterNetworkAttachmentOptions.InstanceID, + "id": *updateInstanceClusterNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/cluster_network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceClusterNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceClusterNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceClusterNetworkAttachmentOptions.InstanceClusterNetworkAttachmentPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_cluster_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceClusterNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceConsoleAccessToken : Create a console access token for an instance +// This request creates a new single-use console access token for an instance. All console configuration is provided at +// token create time, and the token is subsequently used in the `access_token` query parameter for the WebSocket +// request. The access token is only valid for a short period of time, and a maximum of one token is valid for a given +// instance at a time. +func (vpc *VpcV1) CreateInstanceConsoleAccessToken(createInstanceConsoleAccessTokenOptions *CreateInstanceConsoleAccessTokenOptions) (result *InstanceConsoleAccessToken, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceConsoleAccessTokenWithContext(context.Background(), createInstanceConsoleAccessTokenOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceConsoleAccessTokenWithContext is an alternate form of the CreateInstanceConsoleAccessToken method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceConsoleAccessTokenWithContext(ctx context.Context, createInstanceConsoleAccessTokenOptions *CreateInstanceConsoleAccessTokenOptions) (result *InstanceConsoleAccessToken, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceConsoleAccessTokenOptions, "createInstanceConsoleAccessTokenOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceConsoleAccessTokenOptions, "createInstanceConsoleAccessTokenOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *createInstanceConsoleAccessTokenOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/console_access_token`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceConsoleAccessToken") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceConsoleAccessTokenOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createInstanceConsoleAccessTokenOptions.ConsoleType != nil { + body["console_type"] = createInstanceConsoleAccessTokenOptions.ConsoleType + } + if createInstanceConsoleAccessTokenOptions.Force != nil { + body["force"] = createInstanceConsoleAccessTokenOptions.Force + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_console_access_token", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceConsoleAccessToken) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceDisks : List disks on an instance +// This request lists disks on an instance. A disk is a block device that is locally attached to the instance's +// physical host and is also referred to as instance storage. By default, the listed disks are sorted by their +// `created_at` property values, with the newest disk first. +func (vpc *VpcV1) ListInstanceDisks(listInstanceDisksOptions *ListInstanceDisksOptions) (result *InstanceDiskCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceDisksWithContext(context.Background(), listInstanceDisksOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceDisksWithContext is an alternate form of the ListInstanceDisks method which supports a Context parameter +func (vpc *VpcV1) ListInstanceDisksWithContext(ctx context.Context, listInstanceDisksOptions *ListInstanceDisksOptions) (result *InstanceDiskCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceDisksOptions, "listInstanceDisksOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceDisksOptions, "listInstanceDisksOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *listInstanceDisksOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/disks`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceDisks") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceDisksOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_disks", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceDiskCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetInstanceDisk : Retrieve an instance disk +// This request retrieves a single instance disk specified by the identifier in the URL. +func (vpc *VpcV1) GetInstanceDisk(getInstanceDiskOptions *GetInstanceDiskOptions) (result *InstanceDisk, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceDiskWithContext(context.Background(), getInstanceDiskOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceDiskWithContext is an alternate form of the GetInstanceDisk method which supports a Context parameter +func (vpc *VpcV1) GetInstanceDiskWithContext(ctx context.Context, getInstanceDiskOptions *GetInstanceDiskOptions) (result *InstanceDisk, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceDiskOptions, "getInstanceDiskOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceDiskOptions, "getInstanceDiskOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *getInstanceDiskOptions.InstanceID, + "id": *getInstanceDiskOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/disks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceDisk") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceDiskOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_disk", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceDisk) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceDisk : Update an instance disk +// This request updates the instance disk with the information in a provided patch. +func (vpc *VpcV1) UpdateInstanceDisk(updateInstanceDiskOptions *UpdateInstanceDiskOptions) (result *InstanceDisk, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceDiskWithContext(context.Background(), updateInstanceDiskOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceDiskWithContext is an alternate form of the UpdateInstanceDisk method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceDiskWithContext(ctx context.Context, updateInstanceDiskOptions *UpdateInstanceDiskOptions) (result *InstanceDisk, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceDiskOptions, "updateInstanceDiskOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceDiskOptions, "updateInstanceDiskOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *updateInstanceDiskOptions.InstanceID, + "id": *updateInstanceDiskOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/disks/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceDisk") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceDiskOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceDiskOptions.InstanceDiskPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_disk", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceDisk) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceNetworkAttachments : List network attachments on an instance +// This request lists network attachments on an instance. A network attachment represents a device on the instance to +// which a virtual network interface is attached. +// +// The network attachments will be sorted by their `created_at` property values, with newest network attachments first. +// Network attachments with identical `created_at` property values will in turn be sorted by ascending `name` property +// values. +func (vpc *VpcV1) ListInstanceNetworkAttachments(listInstanceNetworkAttachmentsOptions *ListInstanceNetworkAttachmentsOptions) (result *InstanceNetworkAttachmentCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceNetworkAttachmentsWithContext(context.Background(), listInstanceNetworkAttachmentsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceNetworkAttachmentsWithContext is an alternate form of the ListInstanceNetworkAttachments method which supports a Context parameter +func (vpc *VpcV1) ListInstanceNetworkAttachmentsWithContext(ctx context.Context, listInstanceNetworkAttachmentsOptions *ListInstanceNetworkAttachmentsOptions) (result *InstanceNetworkAttachmentCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceNetworkAttachmentsOptions, "listInstanceNetworkAttachmentsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceNetworkAttachmentsOptions, "listInstanceNetworkAttachmentsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *listInstanceNetworkAttachmentsOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_attachments`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceNetworkAttachments") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceNetworkAttachmentsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_network_attachments", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceNetworkAttachmentCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceNetworkAttachment : Create a network attachment on an instance +// This request creates a new instance network attachment from an instance network attachment prototype object. The +// prototype object is structured in the same way as a retrieved instance network attachment, and contains the +// information necessary to create the new instance network attachment. +func (vpc *VpcV1) CreateInstanceNetworkAttachment(createInstanceNetworkAttachmentOptions *CreateInstanceNetworkAttachmentOptions) (result *InstanceNetworkAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceNetworkAttachmentWithContext(context.Background(), createInstanceNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceNetworkAttachmentWithContext is an alternate form of the CreateInstanceNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceNetworkAttachmentWithContext(ctx context.Context, createInstanceNetworkAttachmentOptions *CreateInstanceNetworkAttachmentOptions) (result *InstanceNetworkAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceNetworkAttachmentOptions, "createInstanceNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceNetworkAttachmentOptions, "createInstanceNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *createInstanceNetworkAttachmentOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_attachments`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createInstanceNetworkAttachmentOptions.VirtualNetworkInterface != nil { + body["virtual_network_interface"] = createInstanceNetworkAttachmentOptions.VirtualNetworkInterface + } + if createInstanceNetworkAttachmentOptions.Name != nil { + body["name"] = createInstanceNetworkAttachmentOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceNetworkAttachment : Delete an instance network attachment +// This request deletes an instance network attachment. This operation cannot be reversed. Any floating IPs associated +// with the instance network attachment are implicitly disassociated. All flow log collectors with `auto_delete` set to +// `true` targeting the instance network attachment are automatically deleted. The primary instance network attachment +// is not allowed to be deleted. +func (vpc *VpcV1) DeleteInstanceNetworkAttachment(deleteInstanceNetworkAttachmentOptions *DeleteInstanceNetworkAttachmentOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceNetworkAttachmentWithContext(context.Background(), deleteInstanceNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceNetworkAttachmentWithContext is an alternate form of the DeleteInstanceNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceNetworkAttachmentWithContext(ctx context.Context, deleteInstanceNetworkAttachmentOptions *DeleteInstanceNetworkAttachmentOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceNetworkAttachmentOptions, "deleteInstanceNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceNetworkAttachmentOptions, "deleteInstanceNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *deleteInstanceNetworkAttachmentOptions.InstanceID, + "id": *deleteInstanceNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceNetworkAttachment : Retrieve an instance network attachment +// This request retrieves a single instance network attachment specified by the identifier in the URL. +func (vpc *VpcV1) GetInstanceNetworkAttachment(getInstanceNetworkAttachmentOptions *GetInstanceNetworkAttachmentOptions) (result *InstanceNetworkAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceNetworkAttachmentWithContext(context.Background(), getInstanceNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceNetworkAttachmentWithContext is an alternate form of the GetInstanceNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) GetInstanceNetworkAttachmentWithContext(ctx context.Context, getInstanceNetworkAttachmentOptions *GetInstanceNetworkAttachmentOptions) (result *InstanceNetworkAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceNetworkAttachmentOptions, "getInstanceNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceNetworkAttachmentOptions, "getInstanceNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *getInstanceNetworkAttachmentOptions.InstanceID, + "id": *getInstanceNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceNetworkAttachment : Update an instance network attachment +// This request updates an instance network attachment with the information provided in an instance network interface +// patch object. The instance network attachment patch object is structured in the same way as a retrieved instance +// network attachment and needs to contain only the information to be updated. +func (vpc *VpcV1) UpdateInstanceNetworkAttachment(updateInstanceNetworkAttachmentOptions *UpdateInstanceNetworkAttachmentOptions) (result *InstanceNetworkAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceNetworkAttachmentWithContext(context.Background(), updateInstanceNetworkAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceNetworkAttachmentWithContext is an alternate form of the UpdateInstanceNetworkAttachment method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceNetworkAttachmentWithContext(ctx context.Context, updateInstanceNetworkAttachmentOptions *UpdateInstanceNetworkAttachmentOptions) (result *InstanceNetworkAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceNetworkAttachmentOptions, "updateInstanceNetworkAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceNetworkAttachmentOptions, "updateInstanceNetworkAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *updateInstanceNetworkAttachmentOptions.InstanceID, + "id": *updateInstanceNetworkAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceNetworkAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceNetworkAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceNetworkAttachmentOptions.InstanceNetworkAttachmentPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_network_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalInstanceNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceNetworkInterfaces : List network interfaces on an instance +// This request lists network interfaces on an instance. An instance network interface is an abstract representation of +// a network device and attaches an instance to a single subnet. Each network interface on an instance can attach to any +// subnet in the zone, including subnets that are already attached to the instance. Multiple network interfaces on the +// instance may also attach to the same subnet. +// +// If this instance has network attachments, each returned network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface. +func (vpc *VpcV1) ListInstanceNetworkInterfaces(listInstanceNetworkInterfacesOptions *ListInstanceNetworkInterfacesOptions) (result *NetworkInterfaceUnpaginatedCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceNetworkInterfacesWithContext(context.Background(), listInstanceNetworkInterfacesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceNetworkInterfacesWithContext is an alternate form of the ListInstanceNetworkInterfaces method which supports a Context parameter +func (vpc *VpcV1) ListInstanceNetworkInterfacesWithContext(ctx context.Context, listInstanceNetworkInterfacesOptions *ListInstanceNetworkInterfacesOptions) (result *NetworkInterfaceUnpaginatedCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceNetworkInterfacesOptions, "listInstanceNetworkInterfacesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceNetworkInterfacesOptions, "listInstanceNetworkInterfacesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *listInstanceNetworkInterfacesOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceNetworkInterfaces") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceNetworkInterfacesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_network_interfaces", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkInterfaceUnpaginatedCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceNetworkInterface : Create a network interface on an instance +// This request creates a new instance network interface from an instance network interface prototype object. The +// prototype object is structured in the same way as a retrieved instance network interface, and contains the +// information necessary to create the new instance network interface. Any subnet in the instance's VPC may be +// specified. Addresses on the instance network interface must be within the specified subnet's CIDR blocks. +// +// If this instance has network attachments, each network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface, and new network interfaces are not allowed to be created. +func (vpc *VpcV1) CreateInstanceNetworkInterface(createInstanceNetworkInterfaceOptions *CreateInstanceNetworkInterfaceOptions) (result *NetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceNetworkInterfaceWithContext(context.Background(), createInstanceNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceNetworkInterfaceWithContext is an alternate form of the CreateInstanceNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceNetworkInterfaceWithContext(ctx context.Context, createInstanceNetworkInterfaceOptions *CreateInstanceNetworkInterfaceOptions) (result *NetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceNetworkInterfaceOptions, "createInstanceNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceNetworkInterfaceOptions, "createInstanceNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *createInstanceNetworkInterfaceOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createInstanceNetworkInterfaceOptions.Subnet != nil { + body["subnet"] = createInstanceNetworkInterfaceOptions.Subnet + } + if createInstanceNetworkInterfaceOptions.AllowIPSpoofing != nil { + body["allow_ip_spoofing"] = createInstanceNetworkInterfaceOptions.AllowIPSpoofing + } + if createInstanceNetworkInterfaceOptions.Name != nil { + body["name"] = createInstanceNetworkInterfaceOptions.Name + } + if createInstanceNetworkInterfaceOptions.PrimaryIP != nil { + body["primary_ip"] = createInstanceNetworkInterfaceOptions.PrimaryIP + } + if createInstanceNetworkInterfaceOptions.SecurityGroups != nil { + body["security_groups"] = createInstanceNetworkInterfaceOptions.SecurityGroups + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceNetworkInterface : Delete an instance network interface +// This request deletes an instance network interface. This operation cannot be reversed. Any floating IPs associated +// with the instance network interface are implicitly disassociated. All flow log collectors with `auto_delete` set to +// `true` targeting the instance network interface are automatically deleted. The primary instance network interface is +// not allowed to be deleted. +// +// If this instance has network attachments, this network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface, and is not allowed to be deleted. +func (vpc *VpcV1) DeleteInstanceNetworkInterface(deleteInstanceNetworkInterfaceOptions *DeleteInstanceNetworkInterfaceOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceNetworkInterfaceWithContext(context.Background(), deleteInstanceNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceNetworkInterfaceWithContext is an alternate form of the DeleteInstanceNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceNetworkInterfaceWithContext(ctx context.Context, deleteInstanceNetworkInterfaceOptions *DeleteInstanceNetworkInterfaceOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceNetworkInterfaceOptions, "deleteInstanceNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceNetworkInterfaceOptions, "deleteInstanceNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *deleteInstanceNetworkInterfaceOptions.InstanceID, + "id": *deleteInstanceNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceNetworkInterface : Retrieve an instance network interface +// This request retrieves a single instance network interface specified by the identifier in the URL. +// +// If this instance has network attachments, the retrieved network interface is a +// [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its +// corresponding network attachment and its attached virtual network interface. +func (vpc *VpcV1) GetInstanceNetworkInterface(getInstanceNetworkInterfaceOptions *GetInstanceNetworkInterfaceOptions) (result *NetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceNetworkInterfaceWithContext(context.Background(), getInstanceNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceNetworkInterfaceWithContext is an alternate form of the GetInstanceNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) GetInstanceNetworkInterfaceWithContext(ctx context.Context, getInstanceNetworkInterfaceOptions *GetInstanceNetworkInterfaceOptions) (result *NetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceNetworkInterfaceOptions, "getInstanceNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceNetworkInterfaceOptions, "getInstanceNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *getInstanceNetworkInterfaceOptions.InstanceID, + "id": *getInstanceNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceNetworkInterface : Update an instance network interface +// This request updates an instance network interface with the information provided in an instance network interface +// patch object. The instance network interface patch object is structured in the same way as a retrieved instance +// network interface and needs to contain only the information to be updated. +// +// If this instance has network attachments, this network interface is a [read-only +// representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network +// attachment and its attached virtual network interface, and is not allowed to be updated. +func (vpc *VpcV1) UpdateInstanceNetworkInterface(updateInstanceNetworkInterfaceOptions *UpdateInstanceNetworkInterfaceOptions) (result *NetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceNetworkInterfaceWithContext(context.Background(), updateInstanceNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceNetworkInterfaceWithContext is an alternate form of the UpdateInstanceNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceNetworkInterfaceWithContext(ctx context.Context, updateInstanceNetworkInterfaceOptions *UpdateInstanceNetworkInterfaceOptions) (result *NetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceNetworkInterfaceOptions, "updateInstanceNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceNetworkInterfaceOptions, "updateInstanceNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *updateInstanceNetworkInterfaceOptions.InstanceID, + "id": *updateInstanceNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceNetworkInterfaceOptions.NetworkInterfacePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceNetworkInterfaceFloatingIps : List floating IPs associated with an instance network interface +// This request lists floating IPs associated with an instance network interface. +func (vpc *VpcV1) ListInstanceNetworkInterfaceFloatingIps(listInstanceNetworkInterfaceFloatingIpsOptions *ListInstanceNetworkInterfaceFloatingIpsOptions) (result *FloatingIPUnpaginatedCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceNetworkInterfaceFloatingIpsWithContext(context.Background(), listInstanceNetworkInterfaceFloatingIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceNetworkInterfaceFloatingIpsWithContext is an alternate form of the ListInstanceNetworkInterfaceFloatingIps method which supports a Context parameter +func (vpc *VpcV1) ListInstanceNetworkInterfaceFloatingIpsWithContext(ctx context.Context, listInstanceNetworkInterfaceFloatingIpsOptions *ListInstanceNetworkInterfaceFloatingIpsOptions) (result *FloatingIPUnpaginatedCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceNetworkInterfaceFloatingIpsOptions, "listInstanceNetworkInterfaceFloatingIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceNetworkInterfaceFloatingIpsOptions, "listInstanceNetworkInterfaceFloatingIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *listInstanceNetworkInterfaceFloatingIpsOptions.InstanceID, + "network_interface_id": *listInstanceNetworkInterfaceFloatingIpsOptions.NetworkInterfaceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{network_interface_id}/floating_ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceNetworkInterfaceFloatingIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceNetworkInterfaceFloatingIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_network_interface_floating_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIPUnpaginatedCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RemoveInstanceNetworkInterfaceFloatingIP : Disassociate a floating IP from an instance network interface +// This request disassociates the specified floating IP from the specified instance network interface. +func (vpc *VpcV1) RemoveInstanceNetworkInterfaceFloatingIP(removeInstanceNetworkInterfaceFloatingIPOptions *RemoveInstanceNetworkInterfaceFloatingIPOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RemoveInstanceNetworkInterfaceFloatingIPWithContext(context.Background(), removeInstanceNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RemoveInstanceNetworkInterfaceFloatingIPWithContext is an alternate form of the RemoveInstanceNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) RemoveInstanceNetworkInterfaceFloatingIPWithContext(ctx context.Context, removeInstanceNetworkInterfaceFloatingIPOptions *RemoveInstanceNetworkInterfaceFloatingIPOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(removeInstanceNetworkInterfaceFloatingIPOptions, "removeInstanceNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(removeInstanceNetworkInterfaceFloatingIPOptions, "removeInstanceNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *removeInstanceNetworkInterfaceFloatingIPOptions.InstanceID, + "network_interface_id": *removeInstanceNetworkInterfaceFloatingIPOptions.NetworkInterfaceID, + "id": *removeInstanceNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RemoveInstanceNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range removeInstanceNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "remove_instance_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceNetworkInterfaceFloatingIP : Retrieve associated floating IP +// This request retrieves a specified floating IP address if it is associated with the instance network interface and +// instance specified in the URL. +func (vpc *VpcV1) GetInstanceNetworkInterfaceFloatingIP(getInstanceNetworkInterfaceFloatingIPOptions *GetInstanceNetworkInterfaceFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceNetworkInterfaceFloatingIPWithContext(context.Background(), getInstanceNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceNetworkInterfaceFloatingIPWithContext is an alternate form of the GetInstanceNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) GetInstanceNetworkInterfaceFloatingIPWithContext(ctx context.Context, getInstanceNetworkInterfaceFloatingIPOptions *GetInstanceNetworkInterfaceFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceNetworkInterfaceFloatingIPOptions, "getInstanceNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceNetworkInterfaceFloatingIPOptions, "getInstanceNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *getInstanceNetworkInterfaceFloatingIPOptions.InstanceID, + "network_interface_id": *getInstanceNetworkInterfaceFloatingIPOptions.NetworkInterfaceID, + "id": *getInstanceNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// AddInstanceNetworkInterfaceFloatingIP : Associate a floating IP with an instance network interface +// This request associates the specified floating IP with the specified instance network interface, replacing any +// existing association. +// +// The existing floating IP must: +// - not be required by another resource, such as a public gateway +// - be in the same `zone` as the instance +// +// A request body is not required, and if provided, is ignored. +func (vpc *VpcV1) AddInstanceNetworkInterfaceFloatingIP(addInstanceNetworkInterfaceFloatingIPOptions *AddInstanceNetworkInterfaceFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.AddInstanceNetworkInterfaceFloatingIPWithContext(context.Background(), addInstanceNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// AddInstanceNetworkInterfaceFloatingIPWithContext is an alternate form of the AddInstanceNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) AddInstanceNetworkInterfaceFloatingIPWithContext(ctx context.Context, addInstanceNetworkInterfaceFloatingIPOptions *AddInstanceNetworkInterfaceFloatingIPOptions) (result *FloatingIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(addInstanceNetworkInterfaceFloatingIPOptions, "addInstanceNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(addInstanceNetworkInterfaceFloatingIPOptions, "addInstanceNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *addInstanceNetworkInterfaceFloatingIPOptions.InstanceID, + "network_interface_id": *addInstanceNetworkInterfaceFloatingIPOptions.NetworkInterfaceID, + "id": *addInstanceNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "AddInstanceNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range addInstanceNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "add_instance_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceNetworkInterfaceIps : List the primary reserved IP for an instance network interface +// This request lists the primary reserved IP for an instance network interface. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) ListInstanceNetworkInterfaceIps(listInstanceNetworkInterfaceIpsOptions *ListInstanceNetworkInterfaceIpsOptions) (result *ReservedIPCollectionInstanceNetworkInterfaceContext, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceNetworkInterfaceIpsWithContext(context.Background(), listInstanceNetworkInterfaceIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceNetworkInterfaceIpsWithContext is an alternate form of the ListInstanceNetworkInterfaceIps method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) ListInstanceNetworkInterfaceIpsWithContext(ctx context.Context, listInstanceNetworkInterfaceIpsOptions *ListInstanceNetworkInterfaceIpsOptions) (result *ReservedIPCollectionInstanceNetworkInterfaceContext, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: ListInstanceNetworkInterfaceIps") + err = core.ValidateNotNil(listInstanceNetworkInterfaceIpsOptions, "listInstanceNetworkInterfaceIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceNetworkInterfaceIpsOptions, "listInstanceNetworkInterfaceIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *listInstanceNetworkInterfaceIpsOptions.InstanceID, + "network_interface_id": *listInstanceNetworkInterfaceIpsOptions.NetworkInterfaceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{network_interface_id}/ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceNetworkInterfaceIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceNetworkInterfaceIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listInstanceNetworkInterfaceIpsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listInstanceNetworkInterfaceIpsOptions.Start)) + } + if listInstanceNetworkInterfaceIpsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listInstanceNetworkInterfaceIpsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_network_interface_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIPCollectionInstanceNetworkInterfaceContext) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetInstanceNetworkInterfaceIP : Retrieve the primary reserved IP +// This request retrieves the primary reserved IP for an instance network interface. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) GetInstanceNetworkInterfaceIP(getInstanceNetworkInterfaceIPOptions *GetInstanceNetworkInterfaceIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceNetworkInterfaceIPWithContext(context.Background(), getInstanceNetworkInterfaceIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceNetworkInterfaceIPWithContext is an alternate form of the GetInstanceNetworkInterfaceIP method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) GetInstanceNetworkInterfaceIPWithContext(ctx context.Context, getInstanceNetworkInterfaceIPOptions *GetInstanceNetworkInterfaceIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: GetInstanceNetworkInterfaceIP") + err = core.ValidateNotNil(getInstanceNetworkInterfaceIPOptions, "getInstanceNetworkInterfaceIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceNetworkInterfaceIPOptions, "getInstanceNetworkInterfaceIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *getInstanceNetworkInterfaceIPOptions.InstanceID, + "network_interface_id": *getInstanceNetworkInterfaceIPOptions.NetworkInterfaceID, + "id": *getInstanceNetworkInterfaceIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/network_interfaces/{network_interface_id}/ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceNetworkInterfaceIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceNetworkInterfaceIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_network_interface_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListInstanceVolumeAttachments : List volumes attachments on an instance +// This request lists volume attachments on an instance. A volume attachment connects a volume to an instance. Each +// instance may have many volume attachments but each volume attachment connects exactly one instance to exactly one +// volume. +func (vpc *VpcV1) ListInstanceVolumeAttachments(listInstanceVolumeAttachmentsOptions *ListInstanceVolumeAttachmentsOptions) (result *VolumeAttachmentCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListInstanceVolumeAttachmentsWithContext(context.Background(), listInstanceVolumeAttachmentsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListInstanceVolumeAttachmentsWithContext is an alternate form of the ListInstanceVolumeAttachments method which supports a Context parameter +func (vpc *VpcV1) ListInstanceVolumeAttachmentsWithContext(ctx context.Context, listInstanceVolumeAttachmentsOptions *ListInstanceVolumeAttachmentsOptions) (result *VolumeAttachmentCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listInstanceVolumeAttachmentsOptions, "listInstanceVolumeAttachmentsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listInstanceVolumeAttachmentsOptions, "listInstanceVolumeAttachmentsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *listInstanceVolumeAttachmentsOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/volume_attachments`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListInstanceVolumeAttachments") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listInstanceVolumeAttachmentsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_instance_volume_attachments", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolumeAttachmentCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateInstanceVolumeAttachment : Create a volume attachment on an instance +// This request creates a new volume attachment from a volume attachment prototype object, connecting a volume to an +// instance. For this request to succeed, the specified volume must not be busy. The prototype object is structured in +// the same way as a retrieved volume attachment, and contains the information necessary to create the new volume +// attachment. +func (vpc *VpcV1) CreateInstanceVolumeAttachment(createInstanceVolumeAttachmentOptions *CreateInstanceVolumeAttachmentOptions) (result *VolumeAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateInstanceVolumeAttachmentWithContext(context.Background(), createInstanceVolumeAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateInstanceVolumeAttachmentWithContext is an alternate form of the CreateInstanceVolumeAttachment method which supports a Context parameter +func (vpc *VpcV1) CreateInstanceVolumeAttachmentWithContext(ctx context.Context, createInstanceVolumeAttachmentOptions *CreateInstanceVolumeAttachmentOptions) (result *VolumeAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createInstanceVolumeAttachmentOptions, "createInstanceVolumeAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createInstanceVolumeAttachmentOptions, "createInstanceVolumeAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *createInstanceVolumeAttachmentOptions.InstanceID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/volume_attachments`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateInstanceVolumeAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createInstanceVolumeAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createInstanceVolumeAttachmentOptions.Volume != nil { + body["volume"] = createInstanceVolumeAttachmentOptions.Volume + } + if createInstanceVolumeAttachmentOptions.DeleteVolumeOnInstanceDelete != nil { + body["delete_volume_on_instance_delete"] = createInstanceVolumeAttachmentOptions.DeleteVolumeOnInstanceDelete + } + if createInstanceVolumeAttachmentOptions.Name != nil { + body["name"] = createInstanceVolumeAttachmentOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_instance_volume_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolumeAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteInstanceVolumeAttachment : Delete a volume attachment +// This request deletes a volume attachment. This operation cannot be reversed, but a new volume attachment may +// subsequently be created for the volume. For this request to succeed, the volume must not be busy. +func (vpc *VpcV1) DeleteInstanceVolumeAttachment(deleteInstanceVolumeAttachmentOptions *DeleteInstanceVolumeAttachmentOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteInstanceVolumeAttachmentWithContext(context.Background(), deleteInstanceVolumeAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteInstanceVolumeAttachmentWithContext is an alternate form of the DeleteInstanceVolumeAttachment method which supports a Context parameter +func (vpc *VpcV1) DeleteInstanceVolumeAttachmentWithContext(ctx context.Context, deleteInstanceVolumeAttachmentOptions *DeleteInstanceVolumeAttachmentOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteInstanceVolumeAttachmentOptions, "deleteInstanceVolumeAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteInstanceVolumeAttachmentOptions, "deleteInstanceVolumeAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *deleteInstanceVolumeAttachmentOptions.InstanceID, + "id": *deleteInstanceVolumeAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/volume_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteInstanceVolumeAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteInstanceVolumeAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_instance_volume_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetInstanceVolumeAttachment : Retrieve a volume attachment +// This request retrieves a single volume attachment specified by the identifier in the URL. +func (vpc *VpcV1) GetInstanceVolumeAttachment(getInstanceVolumeAttachmentOptions *GetInstanceVolumeAttachmentOptions) (result *VolumeAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetInstanceVolumeAttachmentWithContext(context.Background(), getInstanceVolumeAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetInstanceVolumeAttachmentWithContext is an alternate form of the GetInstanceVolumeAttachment method which supports a Context parameter +func (vpc *VpcV1) GetInstanceVolumeAttachmentWithContext(ctx context.Context, getInstanceVolumeAttachmentOptions *GetInstanceVolumeAttachmentOptions) (result *VolumeAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getInstanceVolumeAttachmentOptions, "getInstanceVolumeAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getInstanceVolumeAttachmentOptions, "getInstanceVolumeAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *getInstanceVolumeAttachmentOptions.InstanceID, + "id": *getInstanceVolumeAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/volume_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetInstanceVolumeAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getInstanceVolumeAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_instance_volume_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolumeAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateInstanceVolumeAttachment : Update a volume attachment +// This request updates a volume attachment with the information provided in a volume attachment patch object. The +// volume attachment patch object is structured in the same way as a retrieved volume attachment and needs to contain +// only the information to be updated. +func (vpc *VpcV1) UpdateInstanceVolumeAttachment(updateInstanceVolumeAttachmentOptions *UpdateInstanceVolumeAttachmentOptions) (result *VolumeAttachment, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateInstanceVolumeAttachmentWithContext(context.Background(), updateInstanceVolumeAttachmentOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateInstanceVolumeAttachmentWithContext is an alternate form of the UpdateInstanceVolumeAttachment method which supports a Context parameter +func (vpc *VpcV1) UpdateInstanceVolumeAttachmentWithContext(ctx context.Context, updateInstanceVolumeAttachmentOptions *UpdateInstanceVolumeAttachmentOptions) (result *VolumeAttachment, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateInstanceVolumeAttachmentOptions, "updateInstanceVolumeAttachmentOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateInstanceVolumeAttachmentOptions, "updateInstanceVolumeAttachmentOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "instance_id": *updateInstanceVolumeAttachmentOptions.InstanceID, + "id": *updateInstanceVolumeAttachmentOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/instances/{instance_id}/volume_attachments/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateInstanceVolumeAttachment") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateInstanceVolumeAttachmentOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateInstanceVolumeAttachmentOptions.VolumeAttachmentPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_instance_volume_attachment", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolumeAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListKeys : List keys +// This request lists keys in the region. A key contains a public SSH key which may be installed on instances when they +// are created. Private keys are not stored. +func (vpc *VpcV1) ListKeys(listKeysOptions *ListKeysOptions) (result *KeyCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListKeysWithContext(context.Background(), listKeysOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListKeysWithContext is an alternate form of the ListKeys method which supports a Context parameter +func (vpc *VpcV1) ListKeysWithContext(ctx context.Context, listKeysOptions *ListKeysOptions) (result *KeyCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listKeysOptions, "listKeysOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/keys`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListKeys") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listKeysOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listKeysOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listKeysOptions.Start)) + } + if listKeysOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listKeysOptions.Limit)) + } + if listKeysOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listKeysOptions.ResourceGroupID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_keys", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalKeyCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateKey : Create a key +// This request creates a new SSH key from an key prototype object. The prototype object is structured in the same way +// as a retrieved key, and contains the information necessary to create the new key. The public key value must be +// provided. +func (vpc *VpcV1) CreateKey(createKeyOptions *CreateKeyOptions) (result *Key, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateKeyWithContext(context.Background(), createKeyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateKeyWithContext is an alternate form of the CreateKey method which supports a Context parameter +func (vpc *VpcV1) CreateKeyWithContext(ctx context.Context, createKeyOptions *CreateKeyOptions) (result *Key, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createKeyOptions, "createKeyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createKeyOptions, "createKeyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/keys`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateKey") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createKeyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createKeyOptions.PublicKey != nil { + body["public_key"] = createKeyOptions.PublicKey + } + if createKeyOptions.Name != nil { + body["name"] = createKeyOptions.Name + } + if createKeyOptions.ResourceGroup != nil { + body["resource_group"] = createKeyOptions.ResourceGroup + } + if createKeyOptions.Type != nil { + body["type"] = createKeyOptions.Type + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_key", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalKey) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteKey : Delete a key +// This request deletes a key. This operation cannot be reversed. +func (vpc *VpcV1) DeleteKey(deleteKeyOptions *DeleteKeyOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteKeyWithContext(context.Background(), deleteKeyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteKeyWithContext is an alternate form of the DeleteKey method which supports a Context parameter +func (vpc *VpcV1) DeleteKeyWithContext(ctx context.Context, deleteKeyOptions *DeleteKeyOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteKeyOptions, "deleteKeyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteKeyOptions, "deleteKeyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteKeyOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/keys/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteKey") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteKeyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_key", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetKey : Retrieve a key +// This request retrieves a single key specified by the identifier in the URL. +func (vpc *VpcV1) GetKey(getKeyOptions *GetKeyOptions) (result *Key, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetKeyWithContext(context.Background(), getKeyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetKeyWithContext is an alternate form of the GetKey method which supports a Context parameter +func (vpc *VpcV1) GetKeyWithContext(ctx context.Context, getKeyOptions *GetKeyOptions) (result *Key, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getKeyOptions, "getKeyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getKeyOptions, "getKeyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getKeyOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/keys/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetKey") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getKeyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_key", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalKey) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateKey : Update a key +// This request updates a key's name. +func (vpc *VpcV1) UpdateKey(updateKeyOptions *UpdateKeyOptions) (result *Key, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateKeyWithContext(context.Background(), updateKeyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateKeyWithContext is an alternate form of the UpdateKey method which supports a Context parameter +func (vpc *VpcV1) UpdateKeyWithContext(ctx context.Context, updateKeyOptions *UpdateKeyOptions) (result *Key, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateKeyOptions, "updateKeyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateKeyOptions, "updateKeyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateKeyOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/keys/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateKey") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateKeyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateKeyOptions.KeyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_key", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalKey) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListLoadBalancerProfiles : List load balancer profiles +// This request lists load balancer profiles available in the region. A load balancer profile specifies the performance +// characteristics and pricing model for a load balancer. +func (vpc *VpcV1) ListLoadBalancerProfiles(listLoadBalancerProfilesOptions *ListLoadBalancerProfilesOptions) (result *LoadBalancerProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListLoadBalancerProfilesWithContext(context.Background(), listLoadBalancerProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListLoadBalancerProfilesWithContext is an alternate form of the ListLoadBalancerProfiles method which supports a Context parameter +func (vpc *VpcV1) ListLoadBalancerProfilesWithContext(ctx context.Context, listLoadBalancerProfilesOptions *ListLoadBalancerProfilesOptions) (result *LoadBalancerProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listLoadBalancerProfilesOptions, "listLoadBalancerProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancer/profiles`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListLoadBalancerProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listLoadBalancerProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listLoadBalancerProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listLoadBalancerProfilesOptions.Start)) + } + if listLoadBalancerProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listLoadBalancerProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_load_balancer_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetLoadBalancerProfile : Retrieve a load balancer profile +// This request retrieves a load balancer profile specified by the name in the URL. +func (vpc *VpcV1) GetLoadBalancerProfile(getLoadBalancerProfileOptions *GetLoadBalancerProfileOptions) (result *LoadBalancerProfile, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetLoadBalancerProfileWithContext(context.Background(), getLoadBalancerProfileOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetLoadBalancerProfileWithContext is an alternate form of the GetLoadBalancerProfile method which supports a Context parameter +func (vpc *VpcV1) GetLoadBalancerProfileWithContext(ctx context.Context, getLoadBalancerProfileOptions *GetLoadBalancerProfileOptions) (result *LoadBalancerProfile, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getLoadBalancerProfileOptions, "getLoadBalancerProfileOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getLoadBalancerProfileOptions, "getLoadBalancerProfileOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getLoadBalancerProfileOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancer/profiles/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetLoadBalancerProfile") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getLoadBalancerProfileOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_load_balancer_profile", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerProfile) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListLoadBalancers : List load balancers +// This request lists load balancers in the region. +func (vpc *VpcV1) ListLoadBalancers(listLoadBalancersOptions *ListLoadBalancersOptions) (result *LoadBalancerCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListLoadBalancersWithContext(context.Background(), listLoadBalancersOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListLoadBalancersWithContext is an alternate form of the ListLoadBalancers method which supports a Context parameter +func (vpc *VpcV1) ListLoadBalancersWithContext(ctx context.Context, listLoadBalancersOptions *ListLoadBalancersOptions) (result *LoadBalancerCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listLoadBalancersOptions, "listLoadBalancersOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListLoadBalancers") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listLoadBalancersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listLoadBalancersOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listLoadBalancersOptions.Start)) + } + if listLoadBalancersOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listLoadBalancersOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_load_balancers", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateLoadBalancer : Create a load balancer +// This request creates and provisions a new load balancer. +func (vpc *VpcV1) CreateLoadBalancer(createLoadBalancerOptions *CreateLoadBalancerOptions) (result *LoadBalancer, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateLoadBalancerWithContext(context.Background(), createLoadBalancerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateLoadBalancerWithContext is an alternate form of the CreateLoadBalancer method which supports a Context parameter +func (vpc *VpcV1) CreateLoadBalancerWithContext(ctx context.Context, createLoadBalancerOptions *CreateLoadBalancerOptions) (result *LoadBalancer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createLoadBalancerOptions, "createLoadBalancerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createLoadBalancerOptions, "createLoadBalancerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateLoadBalancer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createLoadBalancerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createLoadBalancerOptions.IsPublic != nil { + body["is_public"] = createLoadBalancerOptions.IsPublic + } + if createLoadBalancerOptions.Subnets != nil { + body["subnets"] = createLoadBalancerOptions.Subnets + } + if createLoadBalancerOptions.Dns != nil { + body["dns"] = createLoadBalancerOptions.Dns + } + if createLoadBalancerOptions.IsPrivatePath != nil { + body["is_private_path"] = createLoadBalancerOptions.IsPrivatePath + } + if createLoadBalancerOptions.Listeners != nil { + body["listeners"] = createLoadBalancerOptions.Listeners + } + if createLoadBalancerOptions.Logging != nil { + body["logging"] = createLoadBalancerOptions.Logging + } + if createLoadBalancerOptions.Name != nil { + body["name"] = createLoadBalancerOptions.Name + } + if createLoadBalancerOptions.Pools != nil { + body["pools"] = createLoadBalancerOptions.Pools + } + if createLoadBalancerOptions.Profile != nil { + body["profile"] = createLoadBalancerOptions.Profile + } + if createLoadBalancerOptions.ResourceGroup != nil { + body["resource_group"] = createLoadBalancerOptions.ResourceGroup + } + if createLoadBalancerOptions.RouteMode != nil { + body["route_mode"] = createLoadBalancerOptions.RouteMode + } + if createLoadBalancerOptions.SecurityGroups != nil { + body["security_groups"] = createLoadBalancerOptions.SecurityGroups + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_load_balancer", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteLoadBalancer : Delete a load balancer +// This request deletes a load balancer. This operation cannot be reversed. A load balancer cannot be deleted if its +// `provisioning_status` is `delete_pending` or it is referenced by a resource. +func (vpc *VpcV1) DeleteLoadBalancer(deleteLoadBalancerOptions *DeleteLoadBalancerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteLoadBalancerWithContext(context.Background(), deleteLoadBalancerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteLoadBalancerWithContext is an alternate form of the DeleteLoadBalancer method which supports a Context parameter +func (vpc *VpcV1) DeleteLoadBalancerWithContext(ctx context.Context, deleteLoadBalancerOptions *DeleteLoadBalancerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteLoadBalancerOptions, "deleteLoadBalancerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteLoadBalancerOptions, "deleteLoadBalancerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteLoadBalancerOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteLoadBalancer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteLoadBalancerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + if deleteLoadBalancerOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteLoadBalancerOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_load_balancer", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetLoadBalancer : Retrieve a load balancer +// This request retrieves a single load balancer specified by the identifier in the URL path. +func (vpc *VpcV1) GetLoadBalancer(getLoadBalancerOptions *GetLoadBalancerOptions) (result *LoadBalancer, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetLoadBalancerWithContext(context.Background(), getLoadBalancerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetLoadBalancerWithContext is an alternate form of the GetLoadBalancer method which supports a Context parameter +func (vpc *VpcV1) GetLoadBalancerWithContext(ctx context.Context, getLoadBalancerOptions *GetLoadBalancerOptions) (result *LoadBalancer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getLoadBalancerOptions, "getLoadBalancerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getLoadBalancerOptions, "getLoadBalancerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getLoadBalancerOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetLoadBalancer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getLoadBalancerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_load_balancer", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateLoadBalancer : Update a load balancer +// This request updates a load balancer with the information in a provided load balancer patch. The load balancer patch +// object is structured in the same way as a retrieved load balancer and contains only the information to be updated. A +// load balancer can only be updated if its `provisioning_status` is `active`. +func (vpc *VpcV1) UpdateLoadBalancer(updateLoadBalancerOptions *UpdateLoadBalancerOptions) (result *LoadBalancer, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateLoadBalancerWithContext(context.Background(), updateLoadBalancerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateLoadBalancerWithContext is an alternate form of the UpdateLoadBalancer method which supports a Context parameter +func (vpc *VpcV1) UpdateLoadBalancerWithContext(ctx context.Context, updateLoadBalancerOptions *UpdateLoadBalancerOptions) (result *LoadBalancer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateLoadBalancerOptions, "updateLoadBalancerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateLoadBalancerOptions, "updateLoadBalancerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateLoadBalancerOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateLoadBalancer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateLoadBalancerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateLoadBalancerOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateLoadBalancerOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateLoadBalancerOptions.LoadBalancerPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_load_balancer", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetLoadBalancerStatistics : List statistics of a load balancer +// This request lists statistics of a load balancer. +func (vpc *VpcV1) GetLoadBalancerStatistics(getLoadBalancerStatisticsOptions *GetLoadBalancerStatisticsOptions) (result *LoadBalancerStatistics, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetLoadBalancerStatisticsWithContext(context.Background(), getLoadBalancerStatisticsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetLoadBalancerStatisticsWithContext is an alternate form of the GetLoadBalancerStatistics method which supports a Context parameter +func (vpc *VpcV1) GetLoadBalancerStatisticsWithContext(ctx context.Context, getLoadBalancerStatisticsOptions *GetLoadBalancerStatisticsOptions) (result *LoadBalancerStatistics, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getLoadBalancerStatisticsOptions, "getLoadBalancerStatisticsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getLoadBalancerStatisticsOptions, "getLoadBalancerStatisticsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getLoadBalancerStatisticsOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{id}/statistics`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetLoadBalancerStatistics") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getLoadBalancerStatisticsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_load_balancer_statistics", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerStatistics) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListLoadBalancerListeners : List listeners for a load balancer +// This request lists listeners for a load balancer. +func (vpc *VpcV1) ListLoadBalancerListeners(listLoadBalancerListenersOptions *ListLoadBalancerListenersOptions) (result *LoadBalancerListenerCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListLoadBalancerListenersWithContext(context.Background(), listLoadBalancerListenersOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListLoadBalancerListenersWithContext is an alternate form of the ListLoadBalancerListeners method which supports a Context parameter +func (vpc *VpcV1) ListLoadBalancerListenersWithContext(ctx context.Context, listLoadBalancerListenersOptions *ListLoadBalancerListenersOptions) (result *LoadBalancerListenerCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listLoadBalancerListenersOptions, "listLoadBalancerListenersOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listLoadBalancerListenersOptions, "listLoadBalancerListenersOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *listLoadBalancerListenersOptions.LoadBalancerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListLoadBalancerListeners") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listLoadBalancerListenersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_load_balancer_listeners", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateLoadBalancerListener : Create a listener for a load balancer +// This request creates a new listener for a load balancer. +func (vpc *VpcV1) CreateLoadBalancerListener(createLoadBalancerListenerOptions *CreateLoadBalancerListenerOptions) (result *LoadBalancerListener, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateLoadBalancerListenerWithContext(context.Background(), createLoadBalancerListenerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateLoadBalancerListenerWithContext is an alternate form of the CreateLoadBalancerListener method which supports a Context parameter +func (vpc *VpcV1) CreateLoadBalancerListenerWithContext(ctx context.Context, createLoadBalancerListenerOptions *CreateLoadBalancerListenerOptions) (result *LoadBalancerListener, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createLoadBalancerListenerOptions, "createLoadBalancerListenerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createLoadBalancerListenerOptions, "createLoadBalancerListenerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *createLoadBalancerListenerOptions.LoadBalancerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateLoadBalancerListener") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createLoadBalancerListenerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createLoadBalancerListenerOptions.Protocol != nil { + body["protocol"] = createLoadBalancerListenerOptions.Protocol + } + if createLoadBalancerListenerOptions.AcceptProxyProtocol != nil { + body["accept_proxy_protocol"] = createLoadBalancerListenerOptions.AcceptProxyProtocol + } + if createLoadBalancerListenerOptions.CertificateInstance != nil { + body["certificate_instance"] = createLoadBalancerListenerOptions.CertificateInstance + } + if createLoadBalancerListenerOptions.ConnectionLimit != nil { + body["connection_limit"] = createLoadBalancerListenerOptions.ConnectionLimit + } + if createLoadBalancerListenerOptions.DefaultPool != nil { + body["default_pool"] = createLoadBalancerListenerOptions.DefaultPool + } + if createLoadBalancerListenerOptions.HTTPSRedirect != nil { + body["https_redirect"] = createLoadBalancerListenerOptions.HTTPSRedirect + } + if createLoadBalancerListenerOptions.IdleConnectionTimeout != nil { + body["idle_connection_timeout"] = createLoadBalancerListenerOptions.IdleConnectionTimeout + } + if createLoadBalancerListenerOptions.Policies != nil { + body["policies"] = createLoadBalancerListenerOptions.Policies + } + if createLoadBalancerListenerOptions.Port != nil { + body["port"] = createLoadBalancerListenerOptions.Port + } + if createLoadBalancerListenerOptions.PortMax != nil { + body["port_max"] = createLoadBalancerListenerOptions.PortMax + } + if createLoadBalancerListenerOptions.PortMin != nil { + body["port_min"] = createLoadBalancerListenerOptions.PortMin + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_load_balancer_listener", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListener) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteLoadBalancerListener : Delete a load balancer listener +// This request deletes a load balancer listener. This operation cannot be reversed. For this operation to succeed, the +// listener must not be the target of another load balancer listener. +func (vpc *VpcV1) DeleteLoadBalancerListener(deleteLoadBalancerListenerOptions *DeleteLoadBalancerListenerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteLoadBalancerListenerWithContext(context.Background(), deleteLoadBalancerListenerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteLoadBalancerListenerWithContext is an alternate form of the DeleteLoadBalancerListener method which supports a Context parameter +func (vpc *VpcV1) DeleteLoadBalancerListenerWithContext(ctx context.Context, deleteLoadBalancerListenerOptions *DeleteLoadBalancerListenerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteLoadBalancerListenerOptions, "deleteLoadBalancerListenerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteLoadBalancerListenerOptions, "deleteLoadBalancerListenerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *deleteLoadBalancerListenerOptions.LoadBalancerID, + "id": *deleteLoadBalancerListenerOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteLoadBalancerListener") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteLoadBalancerListenerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_load_balancer_listener", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetLoadBalancerListener : Retrieve a load balancer listener +// This request retrieves a single listener specified by the identifier in the URL path. +func (vpc *VpcV1) GetLoadBalancerListener(getLoadBalancerListenerOptions *GetLoadBalancerListenerOptions) (result *LoadBalancerListener, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetLoadBalancerListenerWithContext(context.Background(), getLoadBalancerListenerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetLoadBalancerListenerWithContext is an alternate form of the GetLoadBalancerListener method which supports a Context parameter +func (vpc *VpcV1) GetLoadBalancerListenerWithContext(ctx context.Context, getLoadBalancerListenerOptions *GetLoadBalancerListenerOptions) (result *LoadBalancerListener, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getLoadBalancerListenerOptions, "getLoadBalancerListenerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getLoadBalancerListenerOptions, "getLoadBalancerListenerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *getLoadBalancerListenerOptions.LoadBalancerID, + "id": *getLoadBalancerListenerOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetLoadBalancerListener") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getLoadBalancerListenerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_load_balancer_listener", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListener) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateLoadBalancerListener : Update a load balancer listener +// This request updates a load balancer listener from a listener patch. +func (vpc *VpcV1) UpdateLoadBalancerListener(updateLoadBalancerListenerOptions *UpdateLoadBalancerListenerOptions) (result *LoadBalancerListener, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateLoadBalancerListenerWithContext(context.Background(), updateLoadBalancerListenerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateLoadBalancerListenerWithContext is an alternate form of the UpdateLoadBalancerListener method which supports a Context parameter +func (vpc *VpcV1) UpdateLoadBalancerListenerWithContext(ctx context.Context, updateLoadBalancerListenerOptions *UpdateLoadBalancerListenerOptions) (result *LoadBalancerListener, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateLoadBalancerListenerOptions, "updateLoadBalancerListenerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateLoadBalancerListenerOptions, "updateLoadBalancerListenerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *updateLoadBalancerListenerOptions.LoadBalancerID, + "id": *updateLoadBalancerListenerOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateLoadBalancerListener") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateLoadBalancerListenerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateLoadBalancerListenerOptions.LoadBalancerListenerPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_load_balancer_listener", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListener) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListLoadBalancerListenerPolicies : List policies for a load balancer listener +// This request lists policies for a load balancer listener. A policy consists of rules to match against each incoming +// request, and an action to apply to the request if a rule matches. +func (vpc *VpcV1) ListLoadBalancerListenerPolicies(listLoadBalancerListenerPoliciesOptions *ListLoadBalancerListenerPoliciesOptions) (result *LoadBalancerListenerPolicyCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListLoadBalancerListenerPoliciesWithContext(context.Background(), listLoadBalancerListenerPoliciesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListLoadBalancerListenerPoliciesWithContext is an alternate form of the ListLoadBalancerListenerPolicies method which supports a Context parameter +func (vpc *VpcV1) ListLoadBalancerListenerPoliciesWithContext(ctx context.Context, listLoadBalancerListenerPoliciesOptions *ListLoadBalancerListenerPoliciesOptions) (result *LoadBalancerListenerPolicyCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listLoadBalancerListenerPoliciesOptions, "listLoadBalancerListenerPoliciesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listLoadBalancerListenerPoliciesOptions, "listLoadBalancerListenerPoliciesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *listLoadBalancerListenerPoliciesOptions.LoadBalancerID, + "listener_id": *listLoadBalancerListenerPoliciesOptions.ListenerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListLoadBalancerListenerPolicies") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listLoadBalancerListenerPoliciesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_load_balancer_listener_policies", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerPolicyCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateLoadBalancerListenerPolicy : Create a policy for a load balancer listener +// This request creates a new policy from a load balancer listener policy object. The prototype object is structured in +// the same way as a retrieved policy, and contains the information necessary to create the new policy. For this request +// to succeed, the load balancer must be in the `application` family. +func (vpc *VpcV1) CreateLoadBalancerListenerPolicy(createLoadBalancerListenerPolicyOptions *CreateLoadBalancerListenerPolicyOptions) (result *LoadBalancerListenerPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateLoadBalancerListenerPolicyWithContext(context.Background(), createLoadBalancerListenerPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateLoadBalancerListenerPolicyWithContext is an alternate form of the CreateLoadBalancerListenerPolicy method which supports a Context parameter +func (vpc *VpcV1) CreateLoadBalancerListenerPolicyWithContext(ctx context.Context, createLoadBalancerListenerPolicyOptions *CreateLoadBalancerListenerPolicyOptions) (result *LoadBalancerListenerPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createLoadBalancerListenerPolicyOptions, "createLoadBalancerListenerPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createLoadBalancerListenerPolicyOptions, "createLoadBalancerListenerPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *createLoadBalancerListenerPolicyOptions.LoadBalancerID, + "listener_id": *createLoadBalancerListenerPolicyOptions.ListenerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateLoadBalancerListenerPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createLoadBalancerListenerPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createLoadBalancerListenerPolicyOptions.Action != nil { + body["action"] = createLoadBalancerListenerPolicyOptions.Action + } + if createLoadBalancerListenerPolicyOptions.Priority != nil { + body["priority"] = createLoadBalancerListenerPolicyOptions.Priority + } + if createLoadBalancerListenerPolicyOptions.Name != nil { + body["name"] = createLoadBalancerListenerPolicyOptions.Name + } + if createLoadBalancerListenerPolicyOptions.Rules != nil { + body["rules"] = createLoadBalancerListenerPolicyOptions.Rules + } + if createLoadBalancerListenerPolicyOptions.Target != nil { + body["target"] = createLoadBalancerListenerPolicyOptions.Target + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_load_balancer_listener_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteLoadBalancerListenerPolicy : Delete a load balancer listener policy +// Deletes a policy of the load balancer listener. This operation cannot be reversed. +func (vpc *VpcV1) DeleteLoadBalancerListenerPolicy(deleteLoadBalancerListenerPolicyOptions *DeleteLoadBalancerListenerPolicyOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteLoadBalancerListenerPolicyWithContext(context.Background(), deleteLoadBalancerListenerPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteLoadBalancerListenerPolicyWithContext is an alternate form of the DeleteLoadBalancerListenerPolicy method which supports a Context parameter +func (vpc *VpcV1) DeleteLoadBalancerListenerPolicyWithContext(ctx context.Context, deleteLoadBalancerListenerPolicyOptions *DeleteLoadBalancerListenerPolicyOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteLoadBalancerListenerPolicyOptions, "deleteLoadBalancerListenerPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteLoadBalancerListenerPolicyOptions, "deleteLoadBalancerListenerPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *deleteLoadBalancerListenerPolicyOptions.LoadBalancerID, + "listener_id": *deleteLoadBalancerListenerPolicyOptions.ListenerID, + "id": *deleteLoadBalancerListenerPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteLoadBalancerListenerPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteLoadBalancerListenerPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_load_balancer_listener_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetLoadBalancerListenerPolicy : Retrieve a load balancer listener policy +// Retrieve a single policy specified by the identifier in the URL path. +func (vpc *VpcV1) GetLoadBalancerListenerPolicy(getLoadBalancerListenerPolicyOptions *GetLoadBalancerListenerPolicyOptions) (result *LoadBalancerListenerPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetLoadBalancerListenerPolicyWithContext(context.Background(), getLoadBalancerListenerPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetLoadBalancerListenerPolicyWithContext is an alternate form of the GetLoadBalancerListenerPolicy method which supports a Context parameter +func (vpc *VpcV1) GetLoadBalancerListenerPolicyWithContext(ctx context.Context, getLoadBalancerListenerPolicyOptions *GetLoadBalancerListenerPolicyOptions) (result *LoadBalancerListenerPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getLoadBalancerListenerPolicyOptions, "getLoadBalancerListenerPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getLoadBalancerListenerPolicyOptions, "getLoadBalancerListenerPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *getLoadBalancerListenerPolicyOptions.LoadBalancerID, + "listener_id": *getLoadBalancerListenerPolicyOptions.ListenerID, + "id": *getLoadBalancerListenerPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetLoadBalancerListenerPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getLoadBalancerListenerPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_load_balancer_listener_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateLoadBalancerListenerPolicy : Update a load balancer listener policy +// This request updates a load balancer listener policy with the information in a provided policy patch. The policy +// patch object is structured in the same way as a retrieved policy and contains only the information to be updated. +func (vpc *VpcV1) UpdateLoadBalancerListenerPolicy(updateLoadBalancerListenerPolicyOptions *UpdateLoadBalancerListenerPolicyOptions) (result *LoadBalancerListenerPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateLoadBalancerListenerPolicyWithContext(context.Background(), updateLoadBalancerListenerPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateLoadBalancerListenerPolicyWithContext is an alternate form of the UpdateLoadBalancerListenerPolicy method which supports a Context parameter +func (vpc *VpcV1) UpdateLoadBalancerListenerPolicyWithContext(ctx context.Context, updateLoadBalancerListenerPolicyOptions *UpdateLoadBalancerListenerPolicyOptions) (result *LoadBalancerListenerPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateLoadBalancerListenerPolicyOptions, "updateLoadBalancerListenerPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateLoadBalancerListenerPolicyOptions, "updateLoadBalancerListenerPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *updateLoadBalancerListenerPolicyOptions.LoadBalancerID, + "listener_id": *updateLoadBalancerListenerPolicyOptions.ListenerID, + "id": *updateLoadBalancerListenerPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateLoadBalancerListenerPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateLoadBalancerListenerPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateLoadBalancerListenerPolicyOptions.LoadBalancerListenerPolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_load_balancer_listener_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListLoadBalancerListenerPolicyRules : List rules of a load balancer listener policy +// This request lists rules of a load balancer listener policy. +func (vpc *VpcV1) ListLoadBalancerListenerPolicyRules(listLoadBalancerListenerPolicyRulesOptions *ListLoadBalancerListenerPolicyRulesOptions) (result *LoadBalancerListenerPolicyRuleCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListLoadBalancerListenerPolicyRulesWithContext(context.Background(), listLoadBalancerListenerPolicyRulesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListLoadBalancerListenerPolicyRulesWithContext is an alternate form of the ListLoadBalancerListenerPolicyRules method which supports a Context parameter +func (vpc *VpcV1) ListLoadBalancerListenerPolicyRulesWithContext(ctx context.Context, listLoadBalancerListenerPolicyRulesOptions *ListLoadBalancerListenerPolicyRulesOptions) (result *LoadBalancerListenerPolicyRuleCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listLoadBalancerListenerPolicyRulesOptions, "listLoadBalancerListenerPolicyRulesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listLoadBalancerListenerPolicyRulesOptions, "listLoadBalancerListenerPolicyRulesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *listLoadBalancerListenerPolicyRulesOptions.LoadBalancerID, + "listener_id": *listLoadBalancerListenerPolicyRulesOptions.ListenerID, + "policy_id": *listLoadBalancerListenerPolicyRulesOptions.PolicyID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{policy_id}/rules`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListLoadBalancerListenerPolicyRules") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listLoadBalancerListenerPolicyRulesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_load_balancer_listener_policy_rules", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerPolicyRuleCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateLoadBalancerListenerPolicyRule : Create a rule for a load balancer listener policy +// Creates a new rule for the load balancer listener policy. +func (vpc *VpcV1) CreateLoadBalancerListenerPolicyRule(createLoadBalancerListenerPolicyRuleOptions *CreateLoadBalancerListenerPolicyRuleOptions) (result *LoadBalancerListenerPolicyRule, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateLoadBalancerListenerPolicyRuleWithContext(context.Background(), createLoadBalancerListenerPolicyRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateLoadBalancerListenerPolicyRuleWithContext is an alternate form of the CreateLoadBalancerListenerPolicyRule method which supports a Context parameter +func (vpc *VpcV1) CreateLoadBalancerListenerPolicyRuleWithContext(ctx context.Context, createLoadBalancerListenerPolicyRuleOptions *CreateLoadBalancerListenerPolicyRuleOptions) (result *LoadBalancerListenerPolicyRule, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createLoadBalancerListenerPolicyRuleOptions, "createLoadBalancerListenerPolicyRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createLoadBalancerListenerPolicyRuleOptions, "createLoadBalancerListenerPolicyRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *createLoadBalancerListenerPolicyRuleOptions.LoadBalancerID, + "listener_id": *createLoadBalancerListenerPolicyRuleOptions.ListenerID, + "policy_id": *createLoadBalancerListenerPolicyRuleOptions.PolicyID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{policy_id}/rules`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateLoadBalancerListenerPolicyRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createLoadBalancerListenerPolicyRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createLoadBalancerListenerPolicyRuleOptions.Condition != nil { + body["condition"] = createLoadBalancerListenerPolicyRuleOptions.Condition + } + if createLoadBalancerListenerPolicyRuleOptions.Type != nil { + body["type"] = createLoadBalancerListenerPolicyRuleOptions.Type + } + if createLoadBalancerListenerPolicyRuleOptions.Value != nil { + body["value"] = createLoadBalancerListenerPolicyRuleOptions.Value + } + if createLoadBalancerListenerPolicyRuleOptions.Field != nil { + body["field"] = createLoadBalancerListenerPolicyRuleOptions.Field + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_load_balancer_listener_policy_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerPolicyRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteLoadBalancerListenerPolicyRule : Delete a load balancer listener policy rule +// Deletes a rule from the load balancer listener policy. This operation cannot be reversed. +func (vpc *VpcV1) DeleteLoadBalancerListenerPolicyRule(deleteLoadBalancerListenerPolicyRuleOptions *DeleteLoadBalancerListenerPolicyRuleOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteLoadBalancerListenerPolicyRuleWithContext(context.Background(), deleteLoadBalancerListenerPolicyRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteLoadBalancerListenerPolicyRuleWithContext is an alternate form of the DeleteLoadBalancerListenerPolicyRule method which supports a Context parameter +func (vpc *VpcV1) DeleteLoadBalancerListenerPolicyRuleWithContext(ctx context.Context, deleteLoadBalancerListenerPolicyRuleOptions *DeleteLoadBalancerListenerPolicyRuleOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteLoadBalancerListenerPolicyRuleOptions, "deleteLoadBalancerListenerPolicyRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteLoadBalancerListenerPolicyRuleOptions, "deleteLoadBalancerListenerPolicyRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *deleteLoadBalancerListenerPolicyRuleOptions.LoadBalancerID, + "listener_id": *deleteLoadBalancerListenerPolicyRuleOptions.ListenerID, + "policy_id": *deleteLoadBalancerListenerPolicyRuleOptions.PolicyID, + "id": *deleteLoadBalancerListenerPolicyRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{policy_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteLoadBalancerListenerPolicyRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteLoadBalancerListenerPolicyRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_load_balancer_listener_policy_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetLoadBalancerListenerPolicyRule : Retrieve a load balancer listener policy rule +// Retrieves a single rule specified by the identifier in the URL path. +func (vpc *VpcV1) GetLoadBalancerListenerPolicyRule(getLoadBalancerListenerPolicyRuleOptions *GetLoadBalancerListenerPolicyRuleOptions) (result *LoadBalancerListenerPolicyRule, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetLoadBalancerListenerPolicyRuleWithContext(context.Background(), getLoadBalancerListenerPolicyRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetLoadBalancerListenerPolicyRuleWithContext is an alternate form of the GetLoadBalancerListenerPolicyRule method which supports a Context parameter +func (vpc *VpcV1) GetLoadBalancerListenerPolicyRuleWithContext(ctx context.Context, getLoadBalancerListenerPolicyRuleOptions *GetLoadBalancerListenerPolicyRuleOptions) (result *LoadBalancerListenerPolicyRule, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getLoadBalancerListenerPolicyRuleOptions, "getLoadBalancerListenerPolicyRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getLoadBalancerListenerPolicyRuleOptions, "getLoadBalancerListenerPolicyRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *getLoadBalancerListenerPolicyRuleOptions.LoadBalancerID, + "listener_id": *getLoadBalancerListenerPolicyRuleOptions.ListenerID, + "policy_id": *getLoadBalancerListenerPolicyRuleOptions.PolicyID, + "id": *getLoadBalancerListenerPolicyRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{policy_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetLoadBalancerListenerPolicyRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getLoadBalancerListenerPolicyRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_load_balancer_listener_policy_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerPolicyRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateLoadBalancerListenerPolicyRule : Update a load balancer listener policy rule +// Updates a rule of the load balancer listener policy. +func (vpc *VpcV1) UpdateLoadBalancerListenerPolicyRule(updateLoadBalancerListenerPolicyRuleOptions *UpdateLoadBalancerListenerPolicyRuleOptions) (result *LoadBalancerListenerPolicyRule, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateLoadBalancerListenerPolicyRuleWithContext(context.Background(), updateLoadBalancerListenerPolicyRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateLoadBalancerListenerPolicyRuleWithContext is an alternate form of the UpdateLoadBalancerListenerPolicyRule method which supports a Context parameter +func (vpc *VpcV1) UpdateLoadBalancerListenerPolicyRuleWithContext(ctx context.Context, updateLoadBalancerListenerPolicyRuleOptions *UpdateLoadBalancerListenerPolicyRuleOptions) (result *LoadBalancerListenerPolicyRule, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateLoadBalancerListenerPolicyRuleOptions, "updateLoadBalancerListenerPolicyRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateLoadBalancerListenerPolicyRuleOptions, "updateLoadBalancerListenerPolicyRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *updateLoadBalancerListenerPolicyRuleOptions.LoadBalancerID, + "listener_id": *updateLoadBalancerListenerPolicyRuleOptions.ListenerID, + "policy_id": *updateLoadBalancerListenerPolicyRuleOptions.PolicyID, + "id": *updateLoadBalancerListenerPolicyRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/listeners/{listener_id}/policies/{policy_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateLoadBalancerListenerPolicyRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateLoadBalancerListenerPolicyRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateLoadBalancerListenerPolicyRuleOptions.LoadBalancerListenerPolicyRulePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_load_balancer_listener_policy_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerListenerPolicyRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListLoadBalancerPools : List pools of a load balancer +// This request lists pools of a load balancer. +func (vpc *VpcV1) ListLoadBalancerPools(listLoadBalancerPoolsOptions *ListLoadBalancerPoolsOptions) (result *LoadBalancerPoolCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListLoadBalancerPoolsWithContext(context.Background(), listLoadBalancerPoolsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListLoadBalancerPoolsWithContext is an alternate form of the ListLoadBalancerPools method which supports a Context parameter +func (vpc *VpcV1) ListLoadBalancerPoolsWithContext(ctx context.Context, listLoadBalancerPoolsOptions *ListLoadBalancerPoolsOptions) (result *LoadBalancerPoolCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listLoadBalancerPoolsOptions, "listLoadBalancerPoolsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listLoadBalancerPoolsOptions, "listLoadBalancerPoolsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *listLoadBalancerPoolsOptions.LoadBalancerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListLoadBalancerPools") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listLoadBalancerPoolsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_load_balancer_pools", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPoolCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateLoadBalancerPool : Create a load balancer pool +// This request creates a new pool from a pool prototype object. +func (vpc *VpcV1) CreateLoadBalancerPool(createLoadBalancerPoolOptions *CreateLoadBalancerPoolOptions) (result *LoadBalancerPool, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateLoadBalancerPoolWithContext(context.Background(), createLoadBalancerPoolOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateLoadBalancerPoolWithContext is an alternate form of the CreateLoadBalancerPool method which supports a Context parameter +func (vpc *VpcV1) CreateLoadBalancerPoolWithContext(ctx context.Context, createLoadBalancerPoolOptions *CreateLoadBalancerPoolOptions) (result *LoadBalancerPool, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createLoadBalancerPoolOptions, "createLoadBalancerPoolOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createLoadBalancerPoolOptions, "createLoadBalancerPoolOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *createLoadBalancerPoolOptions.LoadBalancerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateLoadBalancerPool") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createLoadBalancerPoolOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createLoadBalancerPoolOptions.Algorithm != nil { + body["algorithm"] = createLoadBalancerPoolOptions.Algorithm + } + if createLoadBalancerPoolOptions.HealthMonitor != nil { + body["health_monitor"] = createLoadBalancerPoolOptions.HealthMonitor + } + if createLoadBalancerPoolOptions.Protocol != nil { + body["protocol"] = createLoadBalancerPoolOptions.Protocol + } + if createLoadBalancerPoolOptions.FailsafePolicy != nil { + body["failsafe_policy"] = createLoadBalancerPoolOptions.FailsafePolicy + } + if createLoadBalancerPoolOptions.Members != nil { + body["members"] = createLoadBalancerPoolOptions.Members + } + if createLoadBalancerPoolOptions.Name != nil { + body["name"] = createLoadBalancerPoolOptions.Name + } + if createLoadBalancerPoolOptions.ProxyProtocol != nil { + body["proxy_protocol"] = createLoadBalancerPoolOptions.ProxyProtocol + } + if createLoadBalancerPoolOptions.SessionPersistence != nil { + body["session_persistence"] = createLoadBalancerPoolOptions.SessionPersistence + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_load_balancer_pool", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPool) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteLoadBalancerPool : Delete a load balancer pool +// This request deletes a load balancer pool. This operation cannot be reversed. The pool must not currently be the +// default pool for any listener in the load balancer, nor be the target pool in the failsafe policy for any other pool. +func (vpc *VpcV1) DeleteLoadBalancerPool(deleteLoadBalancerPoolOptions *DeleteLoadBalancerPoolOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteLoadBalancerPoolWithContext(context.Background(), deleteLoadBalancerPoolOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteLoadBalancerPoolWithContext is an alternate form of the DeleteLoadBalancerPool method which supports a Context parameter +func (vpc *VpcV1) DeleteLoadBalancerPoolWithContext(ctx context.Context, deleteLoadBalancerPoolOptions *DeleteLoadBalancerPoolOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteLoadBalancerPoolOptions, "deleteLoadBalancerPoolOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteLoadBalancerPoolOptions, "deleteLoadBalancerPoolOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *deleteLoadBalancerPoolOptions.LoadBalancerID, + "id": *deleteLoadBalancerPoolOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteLoadBalancerPool") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteLoadBalancerPoolOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_load_balancer_pool", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetLoadBalancerPool : Retrieve a load balancer pool +// This request retrieves a single pool specified by the identifier in the URL path. +func (vpc *VpcV1) GetLoadBalancerPool(getLoadBalancerPoolOptions *GetLoadBalancerPoolOptions) (result *LoadBalancerPool, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetLoadBalancerPoolWithContext(context.Background(), getLoadBalancerPoolOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetLoadBalancerPoolWithContext is an alternate form of the GetLoadBalancerPool method which supports a Context parameter +func (vpc *VpcV1) GetLoadBalancerPoolWithContext(ctx context.Context, getLoadBalancerPoolOptions *GetLoadBalancerPoolOptions) (result *LoadBalancerPool, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getLoadBalancerPoolOptions, "getLoadBalancerPoolOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getLoadBalancerPoolOptions, "getLoadBalancerPoolOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *getLoadBalancerPoolOptions.LoadBalancerID, + "id": *getLoadBalancerPoolOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetLoadBalancerPool") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getLoadBalancerPoolOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_load_balancer_pool", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPool) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateLoadBalancerPool : Update a load balancer pool +// This request updates a load balancer pool from a pool patch. +func (vpc *VpcV1) UpdateLoadBalancerPool(updateLoadBalancerPoolOptions *UpdateLoadBalancerPoolOptions) (result *LoadBalancerPool, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateLoadBalancerPoolWithContext(context.Background(), updateLoadBalancerPoolOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateLoadBalancerPoolWithContext is an alternate form of the UpdateLoadBalancerPool method which supports a Context parameter +func (vpc *VpcV1) UpdateLoadBalancerPoolWithContext(ctx context.Context, updateLoadBalancerPoolOptions *UpdateLoadBalancerPoolOptions) (result *LoadBalancerPool, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateLoadBalancerPoolOptions, "updateLoadBalancerPoolOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateLoadBalancerPoolOptions, "updateLoadBalancerPoolOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *updateLoadBalancerPoolOptions.LoadBalancerID, + "id": *updateLoadBalancerPoolOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateLoadBalancerPool") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateLoadBalancerPoolOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateLoadBalancerPoolOptions.LoadBalancerPoolPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_load_balancer_pool", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPool) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListLoadBalancerPoolMembers : List members of a load balancer pool +// This request lists members of a load balancer pool. +func (vpc *VpcV1) ListLoadBalancerPoolMembers(listLoadBalancerPoolMembersOptions *ListLoadBalancerPoolMembersOptions) (result *LoadBalancerPoolMemberCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListLoadBalancerPoolMembersWithContext(context.Background(), listLoadBalancerPoolMembersOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListLoadBalancerPoolMembersWithContext is an alternate form of the ListLoadBalancerPoolMembers method which supports a Context parameter +func (vpc *VpcV1) ListLoadBalancerPoolMembersWithContext(ctx context.Context, listLoadBalancerPoolMembersOptions *ListLoadBalancerPoolMembersOptions) (result *LoadBalancerPoolMemberCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listLoadBalancerPoolMembersOptions, "listLoadBalancerPoolMembersOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listLoadBalancerPoolMembersOptions, "listLoadBalancerPoolMembersOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *listLoadBalancerPoolMembersOptions.LoadBalancerID, + "pool_id": *listLoadBalancerPoolMembersOptions.PoolID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{pool_id}/members`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListLoadBalancerPoolMembers") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listLoadBalancerPoolMembersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_load_balancer_pool_members", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPoolMemberCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateLoadBalancerPoolMember : Create a member in a load balancer pool +// This request creates a new member and adds the member to the pool. +// +// The pool must not already have a member targeting a load balancer. +func (vpc *VpcV1) CreateLoadBalancerPoolMember(createLoadBalancerPoolMemberOptions *CreateLoadBalancerPoolMemberOptions) (result *LoadBalancerPoolMember, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateLoadBalancerPoolMemberWithContext(context.Background(), createLoadBalancerPoolMemberOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateLoadBalancerPoolMemberWithContext is an alternate form of the CreateLoadBalancerPoolMember method which supports a Context parameter +func (vpc *VpcV1) CreateLoadBalancerPoolMemberWithContext(ctx context.Context, createLoadBalancerPoolMemberOptions *CreateLoadBalancerPoolMemberOptions) (result *LoadBalancerPoolMember, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createLoadBalancerPoolMemberOptions, "createLoadBalancerPoolMemberOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createLoadBalancerPoolMemberOptions, "createLoadBalancerPoolMemberOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *createLoadBalancerPoolMemberOptions.LoadBalancerID, + "pool_id": *createLoadBalancerPoolMemberOptions.PoolID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{pool_id}/members`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateLoadBalancerPoolMember") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createLoadBalancerPoolMemberOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createLoadBalancerPoolMemberOptions.Port != nil { + body["port"] = createLoadBalancerPoolMemberOptions.Port + } + if createLoadBalancerPoolMemberOptions.Target != nil { + body["target"] = createLoadBalancerPoolMemberOptions.Target + } + if createLoadBalancerPoolMemberOptions.Weight != nil { + body["weight"] = createLoadBalancerPoolMemberOptions.Weight + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_load_balancer_pool_member", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPoolMember) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ReplaceLoadBalancerPoolMembers : Replace load balancer pool members +// This request replaces the existing members of the load balancer pool with new members created from the collection of +// member prototype objects. +func (vpc *VpcV1) ReplaceLoadBalancerPoolMembers(replaceLoadBalancerPoolMembersOptions *ReplaceLoadBalancerPoolMembersOptions) (result *LoadBalancerPoolMemberCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ReplaceLoadBalancerPoolMembersWithContext(context.Background(), replaceLoadBalancerPoolMembersOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ReplaceLoadBalancerPoolMembersWithContext is an alternate form of the ReplaceLoadBalancerPoolMembers method which supports a Context parameter +func (vpc *VpcV1) ReplaceLoadBalancerPoolMembersWithContext(ctx context.Context, replaceLoadBalancerPoolMembersOptions *ReplaceLoadBalancerPoolMembersOptions) (result *LoadBalancerPoolMemberCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(replaceLoadBalancerPoolMembersOptions, "replaceLoadBalancerPoolMembersOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(replaceLoadBalancerPoolMembersOptions, "replaceLoadBalancerPoolMembersOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *replaceLoadBalancerPoolMembersOptions.LoadBalancerID, + "pool_id": *replaceLoadBalancerPoolMembersOptions.PoolID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{pool_id}/members`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ReplaceLoadBalancerPoolMembers") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range replaceLoadBalancerPoolMembersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if replaceLoadBalancerPoolMembersOptions.Members != nil { + body["members"] = replaceLoadBalancerPoolMembersOptions.Members + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "replace_load_balancer_pool_members", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPoolMemberCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteLoadBalancerPoolMember : Delete a load balancer pool member +// This request deletes a member from the pool. This operation cannot be reversed. +func (vpc *VpcV1) DeleteLoadBalancerPoolMember(deleteLoadBalancerPoolMemberOptions *DeleteLoadBalancerPoolMemberOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteLoadBalancerPoolMemberWithContext(context.Background(), deleteLoadBalancerPoolMemberOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteLoadBalancerPoolMemberWithContext is an alternate form of the DeleteLoadBalancerPoolMember method which supports a Context parameter +func (vpc *VpcV1) DeleteLoadBalancerPoolMemberWithContext(ctx context.Context, deleteLoadBalancerPoolMemberOptions *DeleteLoadBalancerPoolMemberOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteLoadBalancerPoolMemberOptions, "deleteLoadBalancerPoolMemberOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteLoadBalancerPoolMemberOptions, "deleteLoadBalancerPoolMemberOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *deleteLoadBalancerPoolMemberOptions.LoadBalancerID, + "pool_id": *deleteLoadBalancerPoolMemberOptions.PoolID, + "id": *deleteLoadBalancerPoolMemberOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{pool_id}/members/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteLoadBalancerPoolMember") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteLoadBalancerPoolMemberOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_load_balancer_pool_member", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetLoadBalancerPoolMember : Retrieve a load balancer pool member +// This request retrieves a single member specified by the identifier in the URL path. +func (vpc *VpcV1) GetLoadBalancerPoolMember(getLoadBalancerPoolMemberOptions *GetLoadBalancerPoolMemberOptions) (result *LoadBalancerPoolMember, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetLoadBalancerPoolMemberWithContext(context.Background(), getLoadBalancerPoolMemberOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetLoadBalancerPoolMemberWithContext is an alternate form of the GetLoadBalancerPoolMember method which supports a Context parameter +func (vpc *VpcV1) GetLoadBalancerPoolMemberWithContext(ctx context.Context, getLoadBalancerPoolMemberOptions *GetLoadBalancerPoolMemberOptions) (result *LoadBalancerPoolMember, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getLoadBalancerPoolMemberOptions, "getLoadBalancerPoolMemberOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getLoadBalancerPoolMemberOptions, "getLoadBalancerPoolMemberOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *getLoadBalancerPoolMemberOptions.LoadBalancerID, + "pool_id": *getLoadBalancerPoolMemberOptions.PoolID, + "id": *getLoadBalancerPoolMemberOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{pool_id}/members/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetLoadBalancerPoolMember") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getLoadBalancerPoolMemberOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_load_balancer_pool_member", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPoolMember) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateLoadBalancerPoolMember : Update a load balancer pool member +// This request updates an existing member from a member patch. +func (vpc *VpcV1) UpdateLoadBalancerPoolMember(updateLoadBalancerPoolMemberOptions *UpdateLoadBalancerPoolMemberOptions) (result *LoadBalancerPoolMember, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateLoadBalancerPoolMemberWithContext(context.Background(), updateLoadBalancerPoolMemberOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateLoadBalancerPoolMemberWithContext is an alternate form of the UpdateLoadBalancerPoolMember method which supports a Context parameter +func (vpc *VpcV1) UpdateLoadBalancerPoolMemberWithContext(ctx context.Context, updateLoadBalancerPoolMemberOptions *UpdateLoadBalancerPoolMemberOptions) (result *LoadBalancerPoolMember, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateLoadBalancerPoolMemberOptions, "updateLoadBalancerPoolMemberOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateLoadBalancerPoolMemberOptions, "updateLoadBalancerPoolMemberOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "load_balancer_id": *updateLoadBalancerPoolMemberOptions.LoadBalancerID, + "pool_id": *updateLoadBalancerPoolMemberOptions.PoolID, + "id": *updateLoadBalancerPoolMemberOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/load_balancers/{load_balancer_id}/pools/{pool_id}/members/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateLoadBalancerPoolMember") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateLoadBalancerPoolMemberOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateLoadBalancerPoolMemberOptions.LoadBalancerPoolMemberPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_load_balancer_pool_member", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalLoadBalancerPoolMember) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListNetworkAcls : List network ACLs +// This request lists network ACLs in the region. A network ACL defines a set of packet filtering rules for traffic in +// and out of the subnets the network ACL is attached to. No traffic is allowed by default. Both allow and deny rules +// can be defined, and rules are stateless so that reverse traffic in response to allowed traffic is not automatically +// allowed. +func (vpc *VpcV1) ListNetworkAcls(listNetworkAclsOptions *ListNetworkAclsOptions) (result *NetworkACLCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListNetworkAclsWithContext(context.Background(), listNetworkAclsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListNetworkAclsWithContext is an alternate form of the ListNetworkAcls method which supports a Context parameter +func (vpc *VpcV1) ListNetworkAclsWithContext(ctx context.Context, listNetworkAclsOptions *ListNetworkAclsOptions) (result *NetworkACLCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listNetworkAclsOptions, "listNetworkAclsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListNetworkAcls") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listNetworkAclsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listNetworkAclsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listNetworkAclsOptions.Start)) + } + if listNetworkAclsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listNetworkAclsOptions.Limit)) + } + if listNetworkAclsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listNetworkAclsOptions.ResourceGroupID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_network_acls", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACLCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateNetworkACL : Create a network ACL +// This request creates a new stateless network ACL from a network ACL prototype object. The prototype object is +// structured in the same way as a retrieved network ACL, and contains the information necessary to create the new +// network ACL. +func (vpc *VpcV1) CreateNetworkACL(createNetworkACLOptions *CreateNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateNetworkACLWithContext(context.Background(), createNetworkACLOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateNetworkACLWithContext is an alternate form of the CreateNetworkACL method which supports a Context parameter +func (vpc *VpcV1) CreateNetworkACLWithContext(ctx context.Context, createNetworkACLOptions *CreateNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createNetworkACLOptions, "createNetworkACLOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createNetworkACLOptions, "createNetworkACLOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateNetworkACL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createNetworkACLOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createNetworkACLOptions.NetworkACLPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_network_acl", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACL) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteNetworkACL : Delete a network ACL +// This request deletes a network ACL. This operation cannot be reversed. For this request to succeed, the network ACL +// must not be the default network ACL for any VPCs, and the network ACL must not be attached to any subnets. +func (vpc *VpcV1) DeleteNetworkACL(deleteNetworkACLOptions *DeleteNetworkACLOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteNetworkACLWithContext(context.Background(), deleteNetworkACLOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteNetworkACLWithContext is an alternate form of the DeleteNetworkACL method which supports a Context parameter +func (vpc *VpcV1) DeleteNetworkACLWithContext(ctx context.Context, deleteNetworkACLOptions *DeleteNetworkACLOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteNetworkACLOptions, "deleteNetworkACLOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteNetworkACLOptions, "deleteNetworkACLOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteNetworkACLOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteNetworkACL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteNetworkACLOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_network_acl", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetNetworkACL : Retrieve a network ACL +// This request retrieves a single network ACL specified by the identifier in the URL. +func (vpc *VpcV1) GetNetworkACL(getNetworkACLOptions *GetNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetNetworkACLWithContext(context.Background(), getNetworkACLOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetNetworkACLWithContext is an alternate form of the GetNetworkACL method which supports a Context parameter +func (vpc *VpcV1) GetNetworkACLWithContext(ctx context.Context, getNetworkACLOptions *GetNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getNetworkACLOptions, "getNetworkACLOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getNetworkACLOptions, "getNetworkACLOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getNetworkACLOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetNetworkACL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getNetworkACLOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_network_acl", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACL) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateNetworkACL : Update a network ACL +// This request updates a network ACL's name. +func (vpc *VpcV1) UpdateNetworkACL(updateNetworkACLOptions *UpdateNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateNetworkACLWithContext(context.Background(), updateNetworkACLOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateNetworkACLWithContext is an alternate form of the UpdateNetworkACL method which supports a Context parameter +func (vpc *VpcV1) UpdateNetworkACLWithContext(ctx context.Context, updateNetworkACLOptions *UpdateNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateNetworkACLOptions, "updateNetworkACLOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateNetworkACLOptions, "updateNetworkACLOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateNetworkACLOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateNetworkACL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateNetworkACLOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateNetworkACLOptions.NetworkACLPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_network_acl", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACL) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListNetworkACLRules : List rules for a network ACL +// This request lists rules for a network ACL. These rules can allow or deny traffic between a source CIDR block and a +// destination CIDR block over a particular protocol and port range. +func (vpc *VpcV1) ListNetworkACLRules(listNetworkACLRulesOptions *ListNetworkACLRulesOptions) (result *NetworkACLRuleCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListNetworkACLRulesWithContext(context.Background(), listNetworkACLRulesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListNetworkACLRulesWithContext is an alternate form of the ListNetworkACLRules method which supports a Context parameter +func (vpc *VpcV1) ListNetworkACLRulesWithContext(ctx context.Context, listNetworkACLRulesOptions *ListNetworkACLRulesOptions) (result *NetworkACLRuleCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listNetworkACLRulesOptions, "listNetworkACLRulesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listNetworkACLRulesOptions, "listNetworkACLRulesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "network_acl_id": *listNetworkACLRulesOptions.NetworkACLID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls/{network_acl_id}/rules`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListNetworkACLRules") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listNetworkACLRulesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listNetworkACLRulesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listNetworkACLRulesOptions.Start)) + } + if listNetworkACLRulesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listNetworkACLRulesOptions.Limit)) + } + if listNetworkACLRulesOptions.Direction != nil { + builder.AddQuery("direction", fmt.Sprint(*listNetworkACLRulesOptions.Direction)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_network_acl_rules", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACLRuleCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateNetworkACLRule : Create a rule for a network ACL +// This request creates a new rule from a network ACL rule prototype object. The prototype object is structured in the +// same way as a retrieved rule, and contains the information necessary to create the new rule. +func (vpc *VpcV1) CreateNetworkACLRule(createNetworkACLRuleOptions *CreateNetworkACLRuleOptions) (result NetworkACLRuleIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateNetworkACLRuleWithContext(context.Background(), createNetworkACLRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateNetworkACLRuleWithContext is an alternate form of the CreateNetworkACLRule method which supports a Context parameter +func (vpc *VpcV1) CreateNetworkACLRuleWithContext(ctx context.Context, createNetworkACLRuleOptions *CreateNetworkACLRuleOptions) (result NetworkACLRuleIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createNetworkACLRuleOptions, "createNetworkACLRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createNetworkACLRuleOptions, "createNetworkACLRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "network_acl_id": *createNetworkACLRuleOptions.NetworkACLID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls/{network_acl_id}/rules`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateNetworkACLRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createNetworkACLRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createNetworkACLRuleOptions.NetworkACLRulePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_network_acl_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACLRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteNetworkACLRule : Delete a network ACL rule +// This request deletes a rule. This operation cannot be reversed. +func (vpc *VpcV1) DeleteNetworkACLRule(deleteNetworkACLRuleOptions *DeleteNetworkACLRuleOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteNetworkACLRuleWithContext(context.Background(), deleteNetworkACLRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteNetworkACLRuleWithContext is an alternate form of the DeleteNetworkACLRule method which supports a Context parameter +func (vpc *VpcV1) DeleteNetworkACLRuleWithContext(ctx context.Context, deleteNetworkACLRuleOptions *DeleteNetworkACLRuleOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteNetworkACLRuleOptions, "deleteNetworkACLRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteNetworkACLRuleOptions, "deleteNetworkACLRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "network_acl_id": *deleteNetworkACLRuleOptions.NetworkACLID, + "id": *deleteNetworkACLRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls/{network_acl_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteNetworkACLRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteNetworkACLRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_network_acl_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetNetworkACLRule : Retrieve a network ACL rule +// This request retrieves a single rule specified by the identifier in the URL. +func (vpc *VpcV1) GetNetworkACLRule(getNetworkACLRuleOptions *GetNetworkACLRuleOptions) (result NetworkACLRuleIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetNetworkACLRuleWithContext(context.Background(), getNetworkACLRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetNetworkACLRuleWithContext is an alternate form of the GetNetworkACLRule method which supports a Context parameter +func (vpc *VpcV1) GetNetworkACLRuleWithContext(ctx context.Context, getNetworkACLRuleOptions *GetNetworkACLRuleOptions) (result NetworkACLRuleIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getNetworkACLRuleOptions, "getNetworkACLRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getNetworkACLRuleOptions, "getNetworkACLRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "network_acl_id": *getNetworkACLRuleOptions.NetworkACLID, + "id": *getNetworkACLRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls/{network_acl_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetNetworkACLRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getNetworkACLRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_network_acl_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACLRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateNetworkACLRule : Update a network ACL rule +// This request updates a rule with the information in a provided rule patch. The rule patch object contains only the +// information to be updated. The request will fail if the provided patch includes properties that are not used by the +// rule's protocol. +func (vpc *VpcV1) UpdateNetworkACLRule(updateNetworkACLRuleOptions *UpdateNetworkACLRuleOptions) (result NetworkACLRuleIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateNetworkACLRuleWithContext(context.Background(), updateNetworkACLRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateNetworkACLRuleWithContext is an alternate form of the UpdateNetworkACLRule method which supports a Context parameter +func (vpc *VpcV1) UpdateNetworkACLRuleWithContext(ctx context.Context, updateNetworkACLRuleOptions *UpdateNetworkACLRuleOptions) (result NetworkACLRuleIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateNetworkACLRuleOptions, "updateNetworkACLRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateNetworkACLRuleOptions, "updateNetworkACLRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "network_acl_id": *updateNetworkACLRuleOptions.NetworkACLID, + "id": *updateNetworkACLRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/network_acls/{network_acl_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateNetworkACLRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateNetworkACLRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateNetworkACLRuleOptions.NetworkACLRulePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_network_acl_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACLRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListPlacementGroups : List placement groups +// This request lists placement groups in the region. +func (vpc *VpcV1) ListPlacementGroups(listPlacementGroupsOptions *ListPlacementGroupsOptions) (result *PlacementGroupCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListPlacementGroupsWithContext(context.Background(), listPlacementGroupsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListPlacementGroupsWithContext is an alternate form of the ListPlacementGroups method which supports a Context parameter +func (vpc *VpcV1) ListPlacementGroupsWithContext(ctx context.Context, listPlacementGroupsOptions *ListPlacementGroupsOptions) (result *PlacementGroupCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listPlacementGroupsOptions, "listPlacementGroupsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/placement_groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListPlacementGroups") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listPlacementGroupsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listPlacementGroupsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listPlacementGroupsOptions.Start)) + } + if listPlacementGroupsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listPlacementGroupsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_placement_groups", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPlacementGroupCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreatePlacementGroup : Create a placement group +// This request creates a new placement group. +func (vpc *VpcV1) CreatePlacementGroup(createPlacementGroupOptions *CreatePlacementGroupOptions) (result *PlacementGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreatePlacementGroupWithContext(context.Background(), createPlacementGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreatePlacementGroupWithContext is an alternate form of the CreatePlacementGroup method which supports a Context parameter +func (vpc *VpcV1) CreatePlacementGroupWithContext(ctx context.Context, createPlacementGroupOptions *CreatePlacementGroupOptions) (result *PlacementGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createPlacementGroupOptions, "createPlacementGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createPlacementGroupOptions, "createPlacementGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/placement_groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreatePlacementGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createPlacementGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createPlacementGroupOptions.Strategy != nil { + body["strategy"] = createPlacementGroupOptions.Strategy + } + if createPlacementGroupOptions.Name != nil { + body["name"] = createPlacementGroupOptions.Name + } + if createPlacementGroupOptions.ResourceGroup != nil { + body["resource_group"] = createPlacementGroupOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_placement_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPlacementGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeletePlacementGroup : Delete a placement group +// This request deletes a placement group. This operation cannot be reversed. For this request to succeed, the placement +// group must not be associated with an instance. +func (vpc *VpcV1) DeletePlacementGroup(deletePlacementGroupOptions *DeletePlacementGroupOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeletePlacementGroupWithContext(context.Background(), deletePlacementGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeletePlacementGroupWithContext is an alternate form of the DeletePlacementGroup method which supports a Context parameter +func (vpc *VpcV1) DeletePlacementGroupWithContext(ctx context.Context, deletePlacementGroupOptions *DeletePlacementGroupOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deletePlacementGroupOptions, "deletePlacementGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deletePlacementGroupOptions, "deletePlacementGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deletePlacementGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/placement_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeletePlacementGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deletePlacementGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_placement_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetPlacementGroup : Retrieve a placement group +// This request retrieves a single placement group specified by identifier in the URL. +func (vpc *VpcV1) GetPlacementGroup(getPlacementGroupOptions *GetPlacementGroupOptions) (result *PlacementGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetPlacementGroupWithContext(context.Background(), getPlacementGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetPlacementGroupWithContext is an alternate form of the GetPlacementGroup method which supports a Context parameter +func (vpc *VpcV1) GetPlacementGroupWithContext(ctx context.Context, getPlacementGroupOptions *GetPlacementGroupOptions) (result *PlacementGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getPlacementGroupOptions, "getPlacementGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getPlacementGroupOptions, "getPlacementGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getPlacementGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/placement_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetPlacementGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getPlacementGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_placement_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPlacementGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdatePlacementGroup : Update a placement group +// This request updates a placement group with the information provided placement group patch. The placement group patch +// object is structured in the same way as a retrieved placement group and contains only the information to be updated. +func (vpc *VpcV1) UpdatePlacementGroup(updatePlacementGroupOptions *UpdatePlacementGroupOptions) (result *PlacementGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdatePlacementGroupWithContext(context.Background(), updatePlacementGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdatePlacementGroupWithContext is an alternate form of the UpdatePlacementGroup method which supports a Context parameter +func (vpc *VpcV1) UpdatePlacementGroupWithContext(ctx context.Context, updatePlacementGroupOptions *UpdatePlacementGroupOptions) (result *PlacementGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updatePlacementGroupOptions, "updatePlacementGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updatePlacementGroupOptions, "updatePlacementGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updatePlacementGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/placement_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdatePlacementGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updatePlacementGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updatePlacementGroupOptions.PlacementGroupPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_placement_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPlacementGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListPrivatePathServiceGateways : List private path service gateways +// This request lists private path service gateways in the region. Private path service gateways allow +// [service +// providers](https://cloud.ibm.com/docs/private-path?topic=private-path-private-path-service-architecture#private-path-service-components) +// to make their services available using +// [private path +// connectivity](https://cloud.ibm.com/docs/private-path?topic=private-path-private-path-service-architecture#private-path-service-components). +// Private path service gateways are used to facilitate and manage the private path connectivity between private path +// network load balancers and their associated endpoint gateways. +func (vpc *VpcV1) ListPrivatePathServiceGateways(listPrivatePathServiceGatewaysOptions *ListPrivatePathServiceGatewaysOptions) (result *PrivatePathServiceGatewayCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListPrivatePathServiceGatewaysWithContext(context.Background(), listPrivatePathServiceGatewaysOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListPrivatePathServiceGatewaysWithContext is an alternate form of the ListPrivatePathServiceGateways method which supports a Context parameter +func (vpc *VpcV1) ListPrivatePathServiceGatewaysWithContext(ctx context.Context, listPrivatePathServiceGatewaysOptions *ListPrivatePathServiceGatewaysOptions) (result *PrivatePathServiceGatewayCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listPrivatePathServiceGatewaysOptions, "listPrivatePathServiceGatewaysOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListPrivatePathServiceGateways") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listPrivatePathServiceGatewaysOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listPrivatePathServiceGatewaysOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listPrivatePathServiceGatewaysOptions.Start)) + } + if listPrivatePathServiceGatewaysOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listPrivatePathServiceGatewaysOptions.Limit)) + } + if listPrivatePathServiceGatewaysOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listPrivatePathServiceGatewaysOptions.ResourceGroupID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_private_path_service_gateways", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGatewayCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreatePrivatePathServiceGateway : Create a private path service gateway +// This request creates a private path service gateway from a private path service gateway prototype object. The +// prototype object is structured in the same way as a retrieved private path service gateway, and contains the +// information necessary to create the new private path service gateway. +func (vpc *VpcV1) CreatePrivatePathServiceGateway(createPrivatePathServiceGatewayOptions *CreatePrivatePathServiceGatewayOptions) (result *PrivatePathServiceGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreatePrivatePathServiceGatewayWithContext(context.Background(), createPrivatePathServiceGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreatePrivatePathServiceGatewayWithContext is an alternate form of the CreatePrivatePathServiceGateway method which supports a Context parameter +func (vpc *VpcV1) CreatePrivatePathServiceGatewayWithContext(ctx context.Context, createPrivatePathServiceGatewayOptions *CreatePrivatePathServiceGatewayOptions) (result *PrivatePathServiceGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createPrivatePathServiceGatewayOptions, "createPrivatePathServiceGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createPrivatePathServiceGatewayOptions, "createPrivatePathServiceGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreatePrivatePathServiceGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createPrivatePathServiceGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createPrivatePathServiceGatewayOptions.LoadBalancer != nil { + body["load_balancer"] = createPrivatePathServiceGatewayOptions.LoadBalancer + } + if createPrivatePathServiceGatewayOptions.ServiceEndpoints != nil { + body["service_endpoints"] = createPrivatePathServiceGatewayOptions.ServiceEndpoints + } + if createPrivatePathServiceGatewayOptions.DefaultAccessPolicy != nil { + body["default_access_policy"] = createPrivatePathServiceGatewayOptions.DefaultAccessPolicy + } + if createPrivatePathServiceGatewayOptions.Name != nil { + body["name"] = createPrivatePathServiceGatewayOptions.Name + } + if createPrivatePathServiceGatewayOptions.ResourceGroup != nil { + body["resource_group"] = createPrivatePathServiceGatewayOptions.ResourceGroup + } + if createPrivatePathServiceGatewayOptions.ZonalAffinity != nil { + body["zonal_affinity"] = createPrivatePathServiceGatewayOptions.ZonalAffinity + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_private_path_service_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeletePrivatePathServiceGateway : Delete a private path service gateway +// This request deletes a private path service gateway. For this request to succeed, the value of +// `endpoint_gateway_count` must be `0`. This operation cannot be reversed. +func (vpc *VpcV1) DeletePrivatePathServiceGateway(deletePrivatePathServiceGatewayOptions *DeletePrivatePathServiceGatewayOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeletePrivatePathServiceGatewayWithContext(context.Background(), deletePrivatePathServiceGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeletePrivatePathServiceGatewayWithContext is an alternate form of the DeletePrivatePathServiceGateway method which supports a Context parameter +func (vpc *VpcV1) DeletePrivatePathServiceGatewayWithContext(ctx context.Context, deletePrivatePathServiceGatewayOptions *DeletePrivatePathServiceGatewayOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deletePrivatePathServiceGatewayOptions, "deletePrivatePathServiceGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deletePrivatePathServiceGatewayOptions, "deletePrivatePathServiceGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deletePrivatePathServiceGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeletePrivatePathServiceGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deletePrivatePathServiceGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_private_path_service_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetPrivatePathServiceGateway : Retrieve a private path service gateway +// This request retrieves the private path service gateway specified by the identifier in the URL. +func (vpc *VpcV1) GetPrivatePathServiceGateway(getPrivatePathServiceGatewayOptions *GetPrivatePathServiceGatewayOptions) (result *PrivatePathServiceGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetPrivatePathServiceGatewayWithContext(context.Background(), getPrivatePathServiceGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetPrivatePathServiceGatewayWithContext is an alternate form of the GetPrivatePathServiceGateway method which supports a Context parameter +func (vpc *VpcV1) GetPrivatePathServiceGatewayWithContext(ctx context.Context, getPrivatePathServiceGatewayOptions *GetPrivatePathServiceGatewayOptions) (result *PrivatePathServiceGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getPrivatePathServiceGatewayOptions, "getPrivatePathServiceGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getPrivatePathServiceGatewayOptions, "getPrivatePathServiceGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getPrivatePathServiceGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetPrivatePathServiceGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getPrivatePathServiceGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_private_path_service_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdatePrivatePathServiceGateway : Update a private path service gateway +// This request updates a private path service gateway with the information provided in a private path service gateway +// patch object. The private path service gateway patch object is structured in the same way as a retrieved private path +// service gateway and contains only the information to be updated. +func (vpc *VpcV1) UpdatePrivatePathServiceGateway(updatePrivatePathServiceGatewayOptions *UpdatePrivatePathServiceGatewayOptions) (result *PrivatePathServiceGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdatePrivatePathServiceGatewayWithContext(context.Background(), updatePrivatePathServiceGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdatePrivatePathServiceGatewayWithContext is an alternate form of the UpdatePrivatePathServiceGateway method which supports a Context parameter +func (vpc *VpcV1) UpdatePrivatePathServiceGatewayWithContext(ctx context.Context, updatePrivatePathServiceGatewayOptions *UpdatePrivatePathServiceGatewayOptions) (result *PrivatePathServiceGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updatePrivatePathServiceGatewayOptions, "updatePrivatePathServiceGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updatePrivatePathServiceGatewayOptions, "updatePrivatePathServiceGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updatePrivatePathServiceGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdatePrivatePathServiceGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updatePrivatePathServiceGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updatePrivatePathServiceGatewayOptions.PrivatePathServiceGatewayPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_private_path_service_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListPrivatePathServiceGatewayAccountPolicies : List account policies for a private path service gateway +// This request lists account policies for a private path service gateway. Each policy defines how requests to use the +// private path service gateway from that account will be handled. +// +// The account policies will be sorted by their `created_at` property values, with newest account policies first. +// Account policies with identical `created_at` property values will in turn be sorted by ascending `id` property +// values. +func (vpc *VpcV1) ListPrivatePathServiceGatewayAccountPolicies(listPrivatePathServiceGatewayAccountPoliciesOptions *ListPrivatePathServiceGatewayAccountPoliciesOptions) (result *PrivatePathServiceGatewayAccountPolicyCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListPrivatePathServiceGatewayAccountPoliciesWithContext(context.Background(), listPrivatePathServiceGatewayAccountPoliciesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListPrivatePathServiceGatewayAccountPoliciesWithContext is an alternate form of the ListPrivatePathServiceGatewayAccountPolicies method which supports a Context parameter +func (vpc *VpcV1) ListPrivatePathServiceGatewayAccountPoliciesWithContext(ctx context.Context, listPrivatePathServiceGatewayAccountPoliciesOptions *ListPrivatePathServiceGatewayAccountPoliciesOptions) (result *PrivatePathServiceGatewayAccountPolicyCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listPrivatePathServiceGatewayAccountPoliciesOptions, "listPrivatePathServiceGatewayAccountPoliciesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listPrivatePathServiceGatewayAccountPoliciesOptions, "listPrivatePathServiceGatewayAccountPoliciesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *listPrivatePathServiceGatewayAccountPoliciesOptions.PrivatePathServiceGatewayID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/account_policies`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListPrivatePathServiceGatewayAccountPolicies") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listPrivatePathServiceGatewayAccountPoliciesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listPrivatePathServiceGatewayAccountPoliciesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listPrivatePathServiceGatewayAccountPoliciesOptions.Start)) + } + if listPrivatePathServiceGatewayAccountPoliciesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listPrivatePathServiceGatewayAccountPoliciesOptions.Limit)) + } + if listPrivatePathServiceGatewayAccountPoliciesOptions.AccountID != nil { + builder.AddQuery("account.id", fmt.Sprint(*listPrivatePathServiceGatewayAccountPoliciesOptions.AccountID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_private_path_service_gateway_account_policies", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGatewayAccountPolicyCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreatePrivatePathServiceGatewayAccountPolicy : Create an account policy for a private path service gateway +// This request creates an account policy from an account policy prototype object. The prototype object is structured in +// the same way as a retrieved account policy, and contains the information necessary to create the new account policy. +func (vpc *VpcV1) CreatePrivatePathServiceGatewayAccountPolicy(createPrivatePathServiceGatewayAccountPolicyOptions *CreatePrivatePathServiceGatewayAccountPolicyOptions) (result *PrivatePathServiceGatewayAccountPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreatePrivatePathServiceGatewayAccountPolicyWithContext(context.Background(), createPrivatePathServiceGatewayAccountPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreatePrivatePathServiceGatewayAccountPolicyWithContext is an alternate form of the CreatePrivatePathServiceGatewayAccountPolicy method which supports a Context parameter +func (vpc *VpcV1) CreatePrivatePathServiceGatewayAccountPolicyWithContext(ctx context.Context, createPrivatePathServiceGatewayAccountPolicyOptions *CreatePrivatePathServiceGatewayAccountPolicyOptions) (result *PrivatePathServiceGatewayAccountPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createPrivatePathServiceGatewayAccountPolicyOptions, "createPrivatePathServiceGatewayAccountPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createPrivatePathServiceGatewayAccountPolicyOptions, "createPrivatePathServiceGatewayAccountPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *createPrivatePathServiceGatewayAccountPolicyOptions.PrivatePathServiceGatewayID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/account_policies`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreatePrivatePathServiceGatewayAccountPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createPrivatePathServiceGatewayAccountPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createPrivatePathServiceGatewayAccountPolicyOptions.AccessPolicy != nil { + body["access_policy"] = createPrivatePathServiceGatewayAccountPolicyOptions.AccessPolicy + } + if createPrivatePathServiceGatewayAccountPolicyOptions.Account != nil { + body["account"] = createPrivatePathServiceGatewayAccountPolicyOptions.Account + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_private_path_service_gateway_account_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGatewayAccountPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeletePrivatePathServiceGatewayAccountPolicy : Delete an account policy for a private path service gateway +// This request deletes an account policy. This operation cannot be reversed and it does not affect the `status` of any +// existing endpoint gateway bindings. +func (vpc *VpcV1) DeletePrivatePathServiceGatewayAccountPolicy(deletePrivatePathServiceGatewayAccountPolicyOptions *DeletePrivatePathServiceGatewayAccountPolicyOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeletePrivatePathServiceGatewayAccountPolicyWithContext(context.Background(), deletePrivatePathServiceGatewayAccountPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeletePrivatePathServiceGatewayAccountPolicyWithContext is an alternate form of the DeletePrivatePathServiceGatewayAccountPolicy method which supports a Context parameter +func (vpc *VpcV1) DeletePrivatePathServiceGatewayAccountPolicyWithContext(ctx context.Context, deletePrivatePathServiceGatewayAccountPolicyOptions *DeletePrivatePathServiceGatewayAccountPolicyOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deletePrivatePathServiceGatewayAccountPolicyOptions, "deletePrivatePathServiceGatewayAccountPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deletePrivatePathServiceGatewayAccountPolicyOptions, "deletePrivatePathServiceGatewayAccountPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *deletePrivatePathServiceGatewayAccountPolicyOptions.PrivatePathServiceGatewayID, + "id": *deletePrivatePathServiceGatewayAccountPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/account_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeletePrivatePathServiceGatewayAccountPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deletePrivatePathServiceGatewayAccountPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_private_path_service_gateway_account_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetPrivatePathServiceGatewayAccountPolicy : Retrieve an account policy for a private path service gateway +// This request retrieves a single account policy specified by the identifier in the URL. +func (vpc *VpcV1) GetPrivatePathServiceGatewayAccountPolicy(getPrivatePathServiceGatewayAccountPolicyOptions *GetPrivatePathServiceGatewayAccountPolicyOptions) (result *PrivatePathServiceGatewayAccountPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetPrivatePathServiceGatewayAccountPolicyWithContext(context.Background(), getPrivatePathServiceGatewayAccountPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetPrivatePathServiceGatewayAccountPolicyWithContext is an alternate form of the GetPrivatePathServiceGatewayAccountPolicy method which supports a Context parameter +func (vpc *VpcV1) GetPrivatePathServiceGatewayAccountPolicyWithContext(ctx context.Context, getPrivatePathServiceGatewayAccountPolicyOptions *GetPrivatePathServiceGatewayAccountPolicyOptions) (result *PrivatePathServiceGatewayAccountPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getPrivatePathServiceGatewayAccountPolicyOptions, "getPrivatePathServiceGatewayAccountPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getPrivatePathServiceGatewayAccountPolicyOptions, "getPrivatePathServiceGatewayAccountPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *getPrivatePathServiceGatewayAccountPolicyOptions.PrivatePathServiceGatewayID, + "id": *getPrivatePathServiceGatewayAccountPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/account_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetPrivatePathServiceGatewayAccountPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getPrivatePathServiceGatewayAccountPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_private_path_service_gateway_account_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGatewayAccountPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdatePrivatePathServiceGatewayAccountPolicy : Update an account policy for a private path service gateway +// This request updates an account policy with the information in a provided account policy patch. The account policy +// patch object is structured in the same way as a retrieved account policy and contains only the information to be +// updated. +func (vpc *VpcV1) UpdatePrivatePathServiceGatewayAccountPolicy(updatePrivatePathServiceGatewayAccountPolicyOptions *UpdatePrivatePathServiceGatewayAccountPolicyOptions) (result *PrivatePathServiceGatewayAccountPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdatePrivatePathServiceGatewayAccountPolicyWithContext(context.Background(), updatePrivatePathServiceGatewayAccountPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdatePrivatePathServiceGatewayAccountPolicyWithContext is an alternate form of the UpdatePrivatePathServiceGatewayAccountPolicy method which supports a Context parameter +func (vpc *VpcV1) UpdatePrivatePathServiceGatewayAccountPolicyWithContext(ctx context.Context, updatePrivatePathServiceGatewayAccountPolicyOptions *UpdatePrivatePathServiceGatewayAccountPolicyOptions) (result *PrivatePathServiceGatewayAccountPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updatePrivatePathServiceGatewayAccountPolicyOptions, "updatePrivatePathServiceGatewayAccountPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updatePrivatePathServiceGatewayAccountPolicyOptions, "updatePrivatePathServiceGatewayAccountPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *updatePrivatePathServiceGatewayAccountPolicyOptions.PrivatePathServiceGatewayID, + "id": *updatePrivatePathServiceGatewayAccountPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/account_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdatePrivatePathServiceGatewayAccountPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updatePrivatePathServiceGatewayAccountPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updatePrivatePathServiceGatewayAccountPolicyOptions.PrivatePathServiceGatewayAccountPolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_private_path_service_gateway_account_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGatewayAccountPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListPrivatePathServiceGatewayEndpointGatewayBindings : List endpoint gateway bindings for a private path service gateway +// This request lists endpoint gateway bindings for a private path service gateway. Each endpoint gateway binding is +// implicitly created when an endpoint gateway is created targeting the private path service gateway. The associated +// account policy is applied to all new endpoint gateway bindings. If an associated account policy doesn't exist, the +// private path service gateway's `default_access_policy` is used. +// +// The endpoint gateway bindings will be sorted by their `created_at` property values, with newest endpoint gateway +// bindings first. Endpoint gateway bindings with identical +// `created_at` property values will in turn be sorted by ascending `name` property values. +func (vpc *VpcV1) ListPrivatePathServiceGatewayEndpointGatewayBindings(listPrivatePathServiceGatewayEndpointGatewayBindingsOptions *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) (result *PrivatePathServiceGatewayEndpointGatewayBindingCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListPrivatePathServiceGatewayEndpointGatewayBindingsWithContext(context.Background(), listPrivatePathServiceGatewayEndpointGatewayBindingsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListPrivatePathServiceGatewayEndpointGatewayBindingsWithContext is an alternate form of the ListPrivatePathServiceGatewayEndpointGatewayBindings method which supports a Context parameter +func (vpc *VpcV1) ListPrivatePathServiceGatewayEndpointGatewayBindingsWithContext(ctx context.Context, listPrivatePathServiceGatewayEndpointGatewayBindingsOptions *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) (result *PrivatePathServiceGatewayEndpointGatewayBindingCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listPrivatePathServiceGatewayEndpointGatewayBindingsOptions, "listPrivatePathServiceGatewayEndpointGatewayBindingsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listPrivatePathServiceGatewayEndpointGatewayBindingsOptions, "listPrivatePathServiceGatewayEndpointGatewayBindingsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.PrivatePathServiceGatewayID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListPrivatePathServiceGatewayEndpointGatewayBindings") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Start)) + } + if listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Limit)) + } + if listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Status != nil { + builder.AddQuery("status", fmt.Sprint(*listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Status)) + } + if listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.AccountID != nil { + builder.AddQuery("account.id", fmt.Sprint(*listPrivatePathServiceGatewayEndpointGatewayBindingsOptions.AccountID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_private_path_service_gateway_endpoint_gateway_bindings", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGatewayEndpointGatewayBindingCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetPrivatePathServiceGatewayEndpointGatewayBinding : Retrieve an endpoint gateway binding for a private path service gateway +// This request retrieves a single endpoint gateway binding specified by the identifier in the URL. +func (vpc *VpcV1) GetPrivatePathServiceGatewayEndpointGatewayBinding(getPrivatePathServiceGatewayEndpointGatewayBindingOptions *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions) (result *PrivatePathServiceGatewayEndpointGatewayBinding, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetPrivatePathServiceGatewayEndpointGatewayBindingWithContext(context.Background(), getPrivatePathServiceGatewayEndpointGatewayBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetPrivatePathServiceGatewayEndpointGatewayBindingWithContext is an alternate form of the GetPrivatePathServiceGatewayEndpointGatewayBinding method which supports a Context parameter +func (vpc *VpcV1) GetPrivatePathServiceGatewayEndpointGatewayBindingWithContext(ctx context.Context, getPrivatePathServiceGatewayEndpointGatewayBindingOptions *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions) (result *PrivatePathServiceGatewayEndpointGatewayBinding, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getPrivatePathServiceGatewayEndpointGatewayBindingOptions, "getPrivatePathServiceGatewayEndpointGatewayBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getPrivatePathServiceGatewayEndpointGatewayBindingOptions, "getPrivatePathServiceGatewayEndpointGatewayBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *getPrivatePathServiceGatewayEndpointGatewayBindingOptions.PrivatePathServiceGatewayID, + "id": *getPrivatePathServiceGatewayEndpointGatewayBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetPrivatePathServiceGatewayEndpointGatewayBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getPrivatePathServiceGatewayEndpointGatewayBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_private_path_service_gateway_endpoint_gateway_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrivatePathServiceGatewayEndpointGatewayBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DenyPrivatePathServiceGatewayEndpointGatewayBinding : Deny an endpoint gateway binding for a private path service gateway +// This request denies a `pending` endpoint gateway request, and optionally sets the policy to deny future requests from +// the same account. +func (vpc *VpcV1) DenyPrivatePathServiceGatewayEndpointGatewayBinding(denyPrivatePathServiceGatewayEndpointGatewayBindingOptions *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DenyPrivatePathServiceGatewayEndpointGatewayBindingWithContext(context.Background(), denyPrivatePathServiceGatewayEndpointGatewayBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DenyPrivatePathServiceGatewayEndpointGatewayBindingWithContext is an alternate form of the DenyPrivatePathServiceGatewayEndpointGatewayBinding method which supports a Context parameter +func (vpc *VpcV1) DenyPrivatePathServiceGatewayEndpointGatewayBindingWithContext(ctx context.Context, denyPrivatePathServiceGatewayEndpointGatewayBindingOptions *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(denyPrivatePathServiceGatewayEndpointGatewayBindingOptions, "denyPrivatePathServiceGatewayEndpointGatewayBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(denyPrivatePathServiceGatewayEndpointGatewayBindingOptions, "denyPrivatePathServiceGatewayEndpointGatewayBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *denyPrivatePathServiceGatewayEndpointGatewayBindingOptions.PrivatePathServiceGatewayID, + "id": *denyPrivatePathServiceGatewayEndpointGatewayBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings/{id}/deny`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DenyPrivatePathServiceGatewayEndpointGatewayBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range denyPrivatePathServiceGatewayEndpointGatewayBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if denyPrivatePathServiceGatewayEndpointGatewayBindingOptions.SetAccountPolicy != nil { + body["set_account_policy"] = denyPrivatePathServiceGatewayEndpointGatewayBindingOptions.SetAccountPolicy + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "deny_private_path_service_gateway_endpoint_gateway_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// PermitPrivatePathServiceGatewayEndpointGatewayBinding : Permit an endpoint gateway binding for a private path service gateway +// This request permits a `pending` endpoint gateway request, and optionally sets the policy to permit future requests +// from the same account. +func (vpc *VpcV1) PermitPrivatePathServiceGatewayEndpointGatewayBinding(permitPrivatePathServiceGatewayEndpointGatewayBindingOptions *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.PermitPrivatePathServiceGatewayEndpointGatewayBindingWithContext(context.Background(), permitPrivatePathServiceGatewayEndpointGatewayBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// PermitPrivatePathServiceGatewayEndpointGatewayBindingWithContext is an alternate form of the PermitPrivatePathServiceGatewayEndpointGatewayBinding method which supports a Context parameter +func (vpc *VpcV1) PermitPrivatePathServiceGatewayEndpointGatewayBindingWithContext(ctx context.Context, permitPrivatePathServiceGatewayEndpointGatewayBindingOptions *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(permitPrivatePathServiceGatewayEndpointGatewayBindingOptions, "permitPrivatePathServiceGatewayEndpointGatewayBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(permitPrivatePathServiceGatewayEndpointGatewayBindingOptions, "permitPrivatePathServiceGatewayEndpointGatewayBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *permitPrivatePathServiceGatewayEndpointGatewayBindingOptions.PrivatePathServiceGatewayID, + "id": *permitPrivatePathServiceGatewayEndpointGatewayBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/endpoint_gateway_bindings/{id}/permit`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "PermitPrivatePathServiceGatewayEndpointGatewayBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range permitPrivatePathServiceGatewayEndpointGatewayBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if permitPrivatePathServiceGatewayEndpointGatewayBindingOptions.SetAccountPolicy != nil { + body["set_account_policy"] = permitPrivatePathServiceGatewayEndpointGatewayBindingOptions.SetAccountPolicy + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "permit_private_path_service_gateway_endpoint_gateway_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// PublishPrivatePathServiceGateway : Publish a private path service gateway +// This request publishes a private path service gateway, allowing any account to request access to it. +func (vpc *VpcV1) PublishPrivatePathServiceGateway(publishPrivatePathServiceGatewayOptions *PublishPrivatePathServiceGatewayOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.PublishPrivatePathServiceGatewayWithContext(context.Background(), publishPrivatePathServiceGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// PublishPrivatePathServiceGatewayWithContext is an alternate form of the PublishPrivatePathServiceGateway method which supports a Context parameter +func (vpc *VpcV1) PublishPrivatePathServiceGatewayWithContext(ctx context.Context, publishPrivatePathServiceGatewayOptions *PublishPrivatePathServiceGatewayOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(publishPrivatePathServiceGatewayOptions, "publishPrivatePathServiceGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(publishPrivatePathServiceGatewayOptions, "publishPrivatePathServiceGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *publishPrivatePathServiceGatewayOptions.PrivatePathServiceGatewayID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/publish`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "PublishPrivatePathServiceGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range publishPrivatePathServiceGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "publish_private_path_service_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// RevokeAccountForPrivatePathServiceGateway : Revoke access to a private path service gateway for an account +// This request revokes a consumer account. This operation cannot be reversed. The `status` of all endpoint gateway +// bindings associated with the specified private path service gateway become `denied`. If the specified account has an +// existing access policy, that policy will be updated to `denied`. Otherwise, a new `deny` access policy will be +// created for the account. +func (vpc *VpcV1) RevokeAccountForPrivatePathServiceGateway(revokeAccountForPrivatePathServiceGatewayOptions *RevokeAccountForPrivatePathServiceGatewayOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RevokeAccountForPrivatePathServiceGatewayWithContext(context.Background(), revokeAccountForPrivatePathServiceGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RevokeAccountForPrivatePathServiceGatewayWithContext is an alternate form of the RevokeAccountForPrivatePathServiceGateway method which supports a Context parameter +func (vpc *VpcV1) RevokeAccountForPrivatePathServiceGatewayWithContext(ctx context.Context, revokeAccountForPrivatePathServiceGatewayOptions *RevokeAccountForPrivatePathServiceGatewayOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(revokeAccountForPrivatePathServiceGatewayOptions, "revokeAccountForPrivatePathServiceGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(revokeAccountForPrivatePathServiceGatewayOptions, "revokeAccountForPrivatePathServiceGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *revokeAccountForPrivatePathServiceGatewayOptions.PrivatePathServiceGatewayID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/revoke_account`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RevokeAccountForPrivatePathServiceGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range revokeAccountForPrivatePathServiceGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if revokeAccountForPrivatePathServiceGatewayOptions.Account != nil { + body["account"] = revokeAccountForPrivatePathServiceGatewayOptions.Account + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "revoke_account_for_private_path_service_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// UnpublishPrivatePathServiceGateway : Unpublish a private path service gateway +// This request unpublishes a private path service gateway. For this request to succeed, any existing access from other +// accounts must first be revoked. Once unpublished, access will again be restricted to the account that created this +// private path service gateway. +func (vpc *VpcV1) UnpublishPrivatePathServiceGateway(unpublishPrivatePathServiceGatewayOptions *UnpublishPrivatePathServiceGatewayOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.UnpublishPrivatePathServiceGatewayWithContext(context.Background(), unpublishPrivatePathServiceGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UnpublishPrivatePathServiceGatewayWithContext is an alternate form of the UnpublishPrivatePathServiceGateway method which supports a Context parameter +func (vpc *VpcV1) UnpublishPrivatePathServiceGatewayWithContext(ctx context.Context, unpublishPrivatePathServiceGatewayOptions *UnpublishPrivatePathServiceGatewayOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(unpublishPrivatePathServiceGatewayOptions, "unpublishPrivatePathServiceGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(unpublishPrivatePathServiceGatewayOptions, "unpublishPrivatePathServiceGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "private_path_service_gateway_id": *unpublishPrivatePathServiceGatewayOptions.PrivatePathServiceGatewayID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/private_path_service_gateways/{private_path_service_gateway_id}/unpublish`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UnpublishPrivatePathServiceGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range unpublishPrivatePathServiceGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "unpublish_private_path_service_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListPublicAddressRanges : List public address ranges +// This request lists [public address ranges](https://cloud.ibm.com/docs/vpc?topic=vpc-about-par) in the region. A +// public address range is a contiguous block of public IP addresses that can be bound to a `target` that specifies a +// `vpc` and a `zone`. Incoming traffic for these IP addresses will be routed according to the VPC's ingress routing +// table. +func (vpc *VpcV1) ListPublicAddressRanges(listPublicAddressRangesOptions *ListPublicAddressRangesOptions) (result *PublicAddressRangeCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListPublicAddressRangesWithContext(context.Background(), listPublicAddressRangesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListPublicAddressRangesWithContext is an alternate form of the ListPublicAddressRanges method which supports a Context parameter +func (vpc *VpcV1) ListPublicAddressRangesWithContext(ctx context.Context, listPublicAddressRangesOptions *ListPublicAddressRangesOptions) (result *PublicAddressRangeCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listPublicAddressRangesOptions, "listPublicAddressRangesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_address_ranges`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListPublicAddressRanges") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listPublicAddressRangesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listPublicAddressRangesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listPublicAddressRangesOptions.Start)) + } + if listPublicAddressRangesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listPublicAddressRangesOptions.Limit)) + } + if listPublicAddressRangesOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listPublicAddressRangesOptions.ResourceGroupID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_public_address_ranges", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicAddressRangeCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreatePublicAddressRange : Create a public address range +// This request creates a new public address range from a public address range prototype object. The prototype object is +// structured in the same way as a retrieved public address range, and contains the information necessary to create the +// new public address range. +func (vpc *VpcV1) CreatePublicAddressRange(createPublicAddressRangeOptions *CreatePublicAddressRangeOptions) (result *PublicAddressRange, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreatePublicAddressRangeWithContext(context.Background(), createPublicAddressRangeOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreatePublicAddressRangeWithContext is an alternate form of the CreatePublicAddressRange method which supports a Context parameter +func (vpc *VpcV1) CreatePublicAddressRangeWithContext(ctx context.Context, createPublicAddressRangeOptions *CreatePublicAddressRangeOptions) (result *PublicAddressRange, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createPublicAddressRangeOptions, "createPublicAddressRangeOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createPublicAddressRangeOptions, "createPublicAddressRangeOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_address_ranges`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreatePublicAddressRange") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createPublicAddressRangeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createPublicAddressRangeOptions.Ipv4AddressCount != nil { + body["ipv4_address_count"] = createPublicAddressRangeOptions.Ipv4AddressCount + } + if createPublicAddressRangeOptions.Name != nil { + body["name"] = createPublicAddressRangeOptions.Name + } + if createPublicAddressRangeOptions.ResourceGroup != nil { + body["resource_group"] = createPublicAddressRangeOptions.ResourceGroup + } + if createPublicAddressRangeOptions.Target != nil { + body["target"] = createPublicAddressRangeOptions.Target + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_public_address_range", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicAddressRange) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeletePublicAddressRange : Delete a public address range +// This request deletes a public address range. If the public address range is bound to a +// `target`, it will be unbound. This operation cannot be reversed. +func (vpc *VpcV1) DeletePublicAddressRange(deletePublicAddressRangeOptions *DeletePublicAddressRangeOptions) (result *PublicAddressRange, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeletePublicAddressRangeWithContext(context.Background(), deletePublicAddressRangeOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeletePublicAddressRangeWithContext is an alternate form of the DeletePublicAddressRange method which supports a Context parameter +func (vpc *VpcV1) DeletePublicAddressRangeWithContext(ctx context.Context, deletePublicAddressRangeOptions *DeletePublicAddressRangeOptions) (result *PublicAddressRange, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deletePublicAddressRangeOptions, "deletePublicAddressRangeOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deletePublicAddressRangeOptions, "deletePublicAddressRangeOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deletePublicAddressRangeOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_address_ranges/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeletePublicAddressRange") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deletePublicAddressRangeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_public_address_range", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicAddressRange) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetPublicAddressRange : Retrieve a public address range +// This request retrieves a single public address range specified by the identifier in the URL. +func (vpc *VpcV1) GetPublicAddressRange(getPublicAddressRangeOptions *GetPublicAddressRangeOptions) (result *PublicAddressRange, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetPublicAddressRangeWithContext(context.Background(), getPublicAddressRangeOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetPublicAddressRangeWithContext is an alternate form of the GetPublicAddressRange method which supports a Context parameter +func (vpc *VpcV1) GetPublicAddressRangeWithContext(ctx context.Context, getPublicAddressRangeOptions *GetPublicAddressRangeOptions) (result *PublicAddressRange, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getPublicAddressRangeOptions, "getPublicAddressRangeOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getPublicAddressRangeOptions, "getPublicAddressRangeOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getPublicAddressRangeOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_address_ranges/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetPublicAddressRange") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getPublicAddressRangeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_public_address_range", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicAddressRange) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdatePublicAddressRange : Update a public address range +// This request updates a public address range with the information in a provided public address range patch. The public +// address range patch object is structured in the same way as a retrieved public address range and contains only the +// information to be updated. +func (vpc *VpcV1) UpdatePublicAddressRange(updatePublicAddressRangeOptions *UpdatePublicAddressRangeOptions) (result *PublicAddressRange, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdatePublicAddressRangeWithContext(context.Background(), updatePublicAddressRangeOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdatePublicAddressRangeWithContext is an alternate form of the UpdatePublicAddressRange method which supports a Context parameter +func (vpc *VpcV1) UpdatePublicAddressRangeWithContext(ctx context.Context, updatePublicAddressRangeOptions *UpdatePublicAddressRangeOptions) (result *PublicAddressRange, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updatePublicAddressRangeOptions, "updatePublicAddressRangeOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updatePublicAddressRangeOptions, "updatePublicAddressRangeOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updatePublicAddressRangeOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_address_ranges/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdatePublicAddressRange") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updatePublicAddressRangeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updatePublicAddressRangeOptions.PublicAddressRangePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_public_address_range", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicAddressRange) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListPublicGateways : List public gateways +// This request lists public gateways in the region. A public gateway is a virtual network device associated with a VPC, +// which allows access to the Internet. A public gateway resides in a zone and can be connected to subnets in the same +// zone only. +func (vpc *VpcV1) ListPublicGateways(listPublicGatewaysOptions *ListPublicGatewaysOptions) (result *PublicGatewayCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListPublicGatewaysWithContext(context.Background(), listPublicGatewaysOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListPublicGatewaysWithContext is an alternate form of the ListPublicGateways method which supports a Context parameter +func (vpc *VpcV1) ListPublicGatewaysWithContext(ctx context.Context, listPublicGatewaysOptions *ListPublicGatewaysOptions) (result *PublicGatewayCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listPublicGatewaysOptions, "listPublicGatewaysOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_gateways`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListPublicGateways") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listPublicGatewaysOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listPublicGatewaysOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listPublicGatewaysOptions.Start)) + } + if listPublicGatewaysOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listPublicGatewaysOptions.Limit)) + } + if listPublicGatewaysOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listPublicGatewaysOptions.ResourceGroupID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_public_gateways", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicGatewayCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreatePublicGateway : Create a public gateway +// This request creates a new public gateway from a public gateway prototype object. For this to succeed, the VPC must +// not already have a public gateway in the specified zone. +// +// If a floating IP is provided, it must be unbound. If a floating IP is not provided, one will be created and bound to +// the public gateway. Once a public gateway has been created, its floating IP cannot be unbound. A public gateway must +// be explicitly attached to each subnet it will provide connectivity for. +func (vpc *VpcV1) CreatePublicGateway(createPublicGatewayOptions *CreatePublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreatePublicGatewayWithContext(context.Background(), createPublicGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreatePublicGatewayWithContext is an alternate form of the CreatePublicGateway method which supports a Context parameter +func (vpc *VpcV1) CreatePublicGatewayWithContext(ctx context.Context, createPublicGatewayOptions *CreatePublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createPublicGatewayOptions, "createPublicGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createPublicGatewayOptions, "createPublicGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_gateways`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreatePublicGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createPublicGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createPublicGatewayOptions.VPC != nil { + body["vpc"] = createPublicGatewayOptions.VPC + } + if createPublicGatewayOptions.Zone != nil { + body["zone"] = createPublicGatewayOptions.Zone + } + if createPublicGatewayOptions.FloatingIP != nil { + body["floating_ip"] = createPublicGatewayOptions.FloatingIP + } + if createPublicGatewayOptions.Name != nil { + body["name"] = createPublicGatewayOptions.Name + } + if createPublicGatewayOptions.ResourceGroup != nil { + body["resource_group"] = createPublicGatewayOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_public_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeletePublicGateway : Delete a public gateway +// This request deletes a public gateway. This operation cannot be reversed. For this request to succeed, the public +// gateway must not be attached to any subnets. The public gateway's floating IP will be automatically unbound. If the +// floating IP was created when the public gateway was created, it will be deleted. +func (vpc *VpcV1) DeletePublicGateway(deletePublicGatewayOptions *DeletePublicGatewayOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeletePublicGatewayWithContext(context.Background(), deletePublicGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeletePublicGatewayWithContext is an alternate form of the DeletePublicGateway method which supports a Context parameter +func (vpc *VpcV1) DeletePublicGatewayWithContext(ctx context.Context, deletePublicGatewayOptions *DeletePublicGatewayOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deletePublicGatewayOptions, "deletePublicGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deletePublicGatewayOptions, "deletePublicGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deletePublicGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeletePublicGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deletePublicGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_public_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetPublicGateway : Retrieve a public gateway +// This request retrieves a single public gateway specified by the identifier in the URL. +func (vpc *VpcV1) GetPublicGateway(getPublicGatewayOptions *GetPublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetPublicGatewayWithContext(context.Background(), getPublicGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetPublicGatewayWithContext is an alternate form of the GetPublicGateway method which supports a Context parameter +func (vpc *VpcV1) GetPublicGatewayWithContext(ctx context.Context, getPublicGatewayOptions *GetPublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getPublicGatewayOptions, "getPublicGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getPublicGatewayOptions, "getPublicGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getPublicGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetPublicGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getPublicGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_public_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdatePublicGateway : Update a public gateway +// This request updates a public gateway's name. +func (vpc *VpcV1) UpdatePublicGateway(updatePublicGatewayOptions *UpdatePublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdatePublicGatewayWithContext(context.Background(), updatePublicGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdatePublicGatewayWithContext is an alternate form of the UpdatePublicGateway method which supports a Context parameter +func (vpc *VpcV1) UpdatePublicGatewayWithContext(ctx context.Context, updatePublicGatewayOptions *UpdatePublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updatePublicGatewayOptions, "updatePublicGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updatePublicGatewayOptions, "updatePublicGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updatePublicGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/public_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdatePublicGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updatePublicGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updatePublicGatewayOptions.PublicGatewayPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_public_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListReservations : List reservations +// This request lists reservations in the region. A reservation provides reserved capacity for a specified profile in a +// specified zone. A reservation can also include a long-term committed use discount. +// +// The reservations will be sorted by their `created_at` property values, with newest reservations first. Reservations +// with identical `created_at` property values will in turn be sorted by ascending `name` property values. +func (vpc *VpcV1) ListReservations(listReservationsOptions *ListReservationsOptions) (result *ReservationCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListReservationsWithContext(context.Background(), listReservationsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListReservationsWithContext is an alternate form of the ListReservations method which supports a Context parameter +func (vpc *VpcV1) ListReservationsWithContext(ctx context.Context, listReservationsOptions *ListReservationsOptions) (result *ReservationCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listReservationsOptions, "listReservationsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/reservations`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListReservations") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listReservationsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listReservationsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listReservationsOptions.Start)) + } + if listReservationsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listReservationsOptions.Limit)) + } + if listReservationsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listReservationsOptions.Name)) + } + if listReservationsOptions.ProfileResourceType != nil { + builder.AddQuery("profile.resource_type", fmt.Sprint(*listReservationsOptions.ProfileResourceType)) + } + if listReservationsOptions.AffinityPolicy != nil { + builder.AddQuery("affinity_policy", fmt.Sprint(*listReservationsOptions.AffinityPolicy)) + } + if listReservationsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listReservationsOptions.ResourceGroupID)) + } + if listReservationsOptions.ZoneName != nil { + builder.AddQuery("zone.name", fmt.Sprint(*listReservationsOptions.ZoneName)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_reservations", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservationCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateReservation : Create a reservation +// This request creates a new reservation from a reservation prototype object. The prototype object is structured in the +// same way as a retrieved reservation, and contains the information necessary to create the new reservation. +func (vpc *VpcV1) CreateReservation(createReservationOptions *CreateReservationOptions) (result *Reservation, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateReservationWithContext(context.Background(), createReservationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateReservationWithContext is an alternate form of the CreateReservation method which supports a Context parameter +func (vpc *VpcV1) CreateReservationWithContext(ctx context.Context, createReservationOptions *CreateReservationOptions) (result *Reservation, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createReservationOptions, "createReservationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createReservationOptions, "createReservationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/reservations`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateReservation") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createReservationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createReservationOptions.Capacity != nil { + body["capacity"] = createReservationOptions.Capacity + } + if createReservationOptions.CommittedUse != nil { + body["committed_use"] = createReservationOptions.CommittedUse + } + if createReservationOptions.Profile != nil { + body["profile"] = createReservationOptions.Profile + } + if createReservationOptions.Zone != nil { + body["zone"] = createReservationOptions.Zone + } + if createReservationOptions.AffinityPolicy != nil { + body["affinity_policy"] = createReservationOptions.AffinityPolicy + } + if createReservationOptions.Name != nil { + body["name"] = createReservationOptions.Name + } + if createReservationOptions.ResourceGroup != nil { + body["resource_group"] = createReservationOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_reservation", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservation) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteReservation : Delete a reservation +// This request deletes a reservation. This operation cannot be reversed. Reservations with a `status` of `active` are +// not allowed to be deleted. +func (vpc *VpcV1) DeleteReservation(deleteReservationOptions *DeleteReservationOptions) (result *Reservation, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteReservationWithContext(context.Background(), deleteReservationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteReservationWithContext is an alternate form of the DeleteReservation method which supports a Context parameter +func (vpc *VpcV1) DeleteReservationWithContext(ctx context.Context, deleteReservationOptions *DeleteReservationOptions) (result *Reservation, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteReservationOptions, "deleteReservationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteReservationOptions, "deleteReservationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteReservationOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/reservations/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteReservation") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteReservationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_reservation", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservation) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetReservation : Retrieve a reservation +// This request retrieves a single reservation specified by identifier in the URL. +func (vpc *VpcV1) GetReservation(getReservationOptions *GetReservationOptions) (result *Reservation, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetReservationWithContext(context.Background(), getReservationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetReservationWithContext is an alternate form of the GetReservation method which supports a Context parameter +func (vpc *VpcV1) GetReservationWithContext(ctx context.Context, getReservationOptions *GetReservationOptions) (result *Reservation, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getReservationOptions, "getReservationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getReservationOptions, "getReservationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getReservationOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/reservations/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetReservation") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getReservationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_reservation", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservation) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateReservation : Update a reservation +// This request updates a reservation with the information provided in a reservation patch object. The patch object is +// structured in the same way as a retrieved reservation and needs to contain only the information to be updated. +func (vpc *VpcV1) UpdateReservation(updateReservationOptions *UpdateReservationOptions) (result *Reservation, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateReservationWithContext(context.Background(), updateReservationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateReservationWithContext is an alternate form of the UpdateReservation method which supports a Context parameter +func (vpc *VpcV1) UpdateReservationWithContext(ctx context.Context, updateReservationOptions *UpdateReservationOptions) (result *Reservation, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateReservationOptions, "updateReservationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateReservationOptions, "updateReservationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateReservationOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/reservations/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateReservation") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateReservationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateReservationOptions.ReservationPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_reservation", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservation) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ActivateReservation : Activate a reservation +// This request activates a reservation. For this request to succeed, the reservation status must be `inactive`. +func (vpc *VpcV1) ActivateReservation(activateReservationOptions *ActivateReservationOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.ActivateReservationWithContext(context.Background(), activateReservationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ActivateReservationWithContext is an alternate form of the ActivateReservation method which supports a Context parameter +func (vpc *VpcV1) ActivateReservationWithContext(ctx context.Context, activateReservationOptions *ActivateReservationOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(activateReservationOptions, "activateReservationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(activateReservationOptions, "activateReservationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *activateReservationOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/reservations/{id}/activate`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ActivateReservation") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range activateReservationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "activate_reservation", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListSecurityGroups : List security groups +// This request lists security groups in the region. A security group defines a set of packet filtering rules to allow +// traffic in and out of the resources targeted by the security group. No traffic is allowed by default. Security group +// rules are stateful so that reverse traffic in response to allowed traffic is automatically allowed. +func (vpc *VpcV1) ListSecurityGroups(listSecurityGroupsOptions *ListSecurityGroupsOptions) (result *SecurityGroupCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSecurityGroupsWithContext(context.Background(), listSecurityGroupsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSecurityGroupsWithContext is an alternate form of the ListSecurityGroups method which supports a Context parameter +func (vpc *VpcV1) ListSecurityGroupsWithContext(ctx context.Context, listSecurityGroupsOptions *ListSecurityGroupsOptions) (result *SecurityGroupCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listSecurityGroupsOptions, "listSecurityGroupsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSecurityGroups") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSecurityGroupsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listSecurityGroupsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listSecurityGroupsOptions.Start)) + } + if listSecurityGroupsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listSecurityGroupsOptions.Limit)) + } + if listSecurityGroupsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listSecurityGroupsOptions.ResourceGroupID)) + } + if listSecurityGroupsOptions.VPCID != nil { + builder.AddQuery("vpc.id", fmt.Sprint(*listSecurityGroupsOptions.VPCID)) + } + if listSecurityGroupsOptions.VPCCRN != nil { + builder.AddQuery("vpc.crn", fmt.Sprint(*listSecurityGroupsOptions.VPCCRN)) + } + if listSecurityGroupsOptions.VPCName != nil { + builder.AddQuery("vpc.name", fmt.Sprint(*listSecurityGroupsOptions.VPCName)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_security_groups", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroupCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateSecurityGroup : Create a security group +// This request creates a new security group from a security group prototype object. The prototype object is structured +// in the same way as a retrieved security group, and contains the information necessary to create the new security +// group. If security group rules are included in the prototype object, those rules will be added to the security group. +// Each security group is scoped to one VPC. Only resources in that VPC can be added to the security group. +func (vpc *VpcV1) CreateSecurityGroup(createSecurityGroupOptions *CreateSecurityGroupOptions) (result *SecurityGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateSecurityGroupWithContext(context.Background(), createSecurityGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateSecurityGroupWithContext is an alternate form of the CreateSecurityGroup method which supports a Context parameter +func (vpc *VpcV1) CreateSecurityGroupWithContext(ctx context.Context, createSecurityGroupOptions *CreateSecurityGroupOptions) (result *SecurityGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createSecurityGroupOptions, "createSecurityGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createSecurityGroupOptions, "createSecurityGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateSecurityGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createSecurityGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createSecurityGroupOptions.VPC != nil { + body["vpc"] = createSecurityGroupOptions.VPC + } + if createSecurityGroupOptions.Name != nil { + body["name"] = createSecurityGroupOptions.Name + } + if createSecurityGroupOptions.ResourceGroup != nil { + body["resource_group"] = createSecurityGroupOptions.ResourceGroup + } + if createSecurityGroupOptions.Rules != nil { + body["rules"] = createSecurityGroupOptions.Rules + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_security_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSecurityGroup : Delete a security group +// This request deletes a security group. A security group cannot be deleted if it is referenced by any security group +// targets or rules. Additionally, a VPC's default security group cannot be deleted. This operation cannot be reversed. +func (vpc *VpcV1) DeleteSecurityGroup(deleteSecurityGroupOptions *DeleteSecurityGroupOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteSecurityGroupWithContext(context.Background(), deleteSecurityGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSecurityGroupWithContext is an alternate form of the DeleteSecurityGroup method which supports a Context parameter +func (vpc *VpcV1) DeleteSecurityGroupWithContext(ctx context.Context, deleteSecurityGroupOptions *DeleteSecurityGroupOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSecurityGroupOptions, "deleteSecurityGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSecurityGroupOptions, "deleteSecurityGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteSecurityGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSecurityGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSecurityGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_security_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetSecurityGroup : Retrieve a security group +// This request retrieves a single security group specified by the identifier in the URL path. +func (vpc *VpcV1) GetSecurityGroup(getSecurityGroupOptions *GetSecurityGroupOptions) (result *SecurityGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSecurityGroupWithContext(context.Background(), getSecurityGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSecurityGroupWithContext is an alternate form of the GetSecurityGroup method which supports a Context parameter +func (vpc *VpcV1) GetSecurityGroupWithContext(ctx context.Context, getSecurityGroupOptions *GetSecurityGroupOptions) (result *SecurityGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSecurityGroupOptions, "getSecurityGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSecurityGroupOptions, "getSecurityGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getSecurityGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSecurityGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSecurityGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_security_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateSecurityGroup : Update a security group +// This request updates a security group with the information provided in a security group patch object. The security +// group patch object is structured in the same way as a retrieved security group and contains only the information to +// be updated. +func (vpc *VpcV1) UpdateSecurityGroup(updateSecurityGroupOptions *UpdateSecurityGroupOptions) (result *SecurityGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateSecurityGroupWithContext(context.Background(), updateSecurityGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateSecurityGroupWithContext is an alternate form of the UpdateSecurityGroup method which supports a Context parameter +func (vpc *VpcV1) UpdateSecurityGroupWithContext(ctx context.Context, updateSecurityGroupOptions *UpdateSecurityGroupOptions) (result *SecurityGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateSecurityGroupOptions, "updateSecurityGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateSecurityGroupOptions, "updateSecurityGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateSecurityGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateSecurityGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateSecurityGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateSecurityGroupOptions.SecurityGroupPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_security_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListSecurityGroupRules : List rules in a security group +// This request lists rules in a security group. These rules define what traffic the security group permits. Security +// group rules are stateful, such that reverse traffic in response to allowed traffic is automatically permitted. +func (vpc *VpcV1) ListSecurityGroupRules(listSecurityGroupRulesOptions *ListSecurityGroupRulesOptions) (result *SecurityGroupRuleCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSecurityGroupRulesWithContext(context.Background(), listSecurityGroupRulesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSecurityGroupRulesWithContext is an alternate form of the ListSecurityGroupRules method which supports a Context parameter +func (vpc *VpcV1) ListSecurityGroupRulesWithContext(ctx context.Context, listSecurityGroupRulesOptions *ListSecurityGroupRulesOptions) (result *SecurityGroupRuleCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listSecurityGroupRulesOptions, "listSecurityGroupRulesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listSecurityGroupRulesOptions, "listSecurityGroupRulesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *listSecurityGroupRulesOptions.SecurityGroupID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/rules`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSecurityGroupRules") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSecurityGroupRulesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_security_group_rules", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroupRuleCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateSecurityGroupRule : Create a rule for a security group +// This request creates a new security group rule from a security group rule prototype object. The prototype object is +// structured in the same way as a retrieved security group rule and contains the information necessary to create the +// rule. As part of creating a new rule in a security group, the rule is applied to all the networking interfaces in the +// security group. Rules specify which IP traffic a security group will allow. Security group rules are stateful, such +// that reverse traffic in response to allowed traffic is automatically permitted. A rule allowing inbound TCP traffic +// on port 80 also allows outbound TCP traffic on port 80 without the need for an additional rule. +func (vpc *VpcV1) CreateSecurityGroupRule(createSecurityGroupRuleOptions *CreateSecurityGroupRuleOptions) (result SecurityGroupRuleIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateSecurityGroupRuleWithContext(context.Background(), createSecurityGroupRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateSecurityGroupRuleWithContext is an alternate form of the CreateSecurityGroupRule method which supports a Context parameter +func (vpc *VpcV1) CreateSecurityGroupRuleWithContext(ctx context.Context, createSecurityGroupRuleOptions *CreateSecurityGroupRuleOptions) (result SecurityGroupRuleIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createSecurityGroupRuleOptions, "createSecurityGroupRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createSecurityGroupRuleOptions, "createSecurityGroupRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *createSecurityGroupRuleOptions.SecurityGroupID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/rules`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateSecurityGroupRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createSecurityGroupRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createSecurityGroupRuleOptions.SecurityGroupRulePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_security_group_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroupRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSecurityGroupRule : Delete a security group rule +// This request deletes a security group rule. This operation cannot be reversed. Removing a security group rule will +// not end existing connections allowed by that rule. +func (vpc *VpcV1) DeleteSecurityGroupRule(deleteSecurityGroupRuleOptions *DeleteSecurityGroupRuleOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteSecurityGroupRuleWithContext(context.Background(), deleteSecurityGroupRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSecurityGroupRuleWithContext is an alternate form of the DeleteSecurityGroupRule method which supports a Context parameter +func (vpc *VpcV1) DeleteSecurityGroupRuleWithContext(ctx context.Context, deleteSecurityGroupRuleOptions *DeleteSecurityGroupRuleOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSecurityGroupRuleOptions, "deleteSecurityGroupRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSecurityGroupRuleOptions, "deleteSecurityGroupRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *deleteSecurityGroupRuleOptions.SecurityGroupID, + "id": *deleteSecurityGroupRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSecurityGroupRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSecurityGroupRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_security_group_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetSecurityGroupRule : Retrieve a security group rule +// This request retrieves a single security group rule specified by the identifier in the URL path. +func (vpc *VpcV1) GetSecurityGroupRule(getSecurityGroupRuleOptions *GetSecurityGroupRuleOptions) (result SecurityGroupRuleIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSecurityGroupRuleWithContext(context.Background(), getSecurityGroupRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSecurityGroupRuleWithContext is an alternate form of the GetSecurityGroupRule method which supports a Context parameter +func (vpc *VpcV1) GetSecurityGroupRuleWithContext(ctx context.Context, getSecurityGroupRuleOptions *GetSecurityGroupRuleOptions) (result SecurityGroupRuleIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSecurityGroupRuleOptions, "getSecurityGroupRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSecurityGroupRuleOptions, "getSecurityGroupRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *getSecurityGroupRuleOptions.SecurityGroupID, + "id": *getSecurityGroupRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSecurityGroupRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSecurityGroupRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_security_group_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroupRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateSecurityGroupRule : Update a security group rule +// This request updates a security group rule with the information in a provided rule patch object. The rule patch +// object contains only the information to be updated. The request will fail if the provided patch includes properties +// that are not used by the rule's protocol. +func (vpc *VpcV1) UpdateSecurityGroupRule(updateSecurityGroupRuleOptions *UpdateSecurityGroupRuleOptions) (result SecurityGroupRuleIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateSecurityGroupRuleWithContext(context.Background(), updateSecurityGroupRuleOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateSecurityGroupRuleWithContext is an alternate form of the UpdateSecurityGroupRule method which supports a Context parameter +func (vpc *VpcV1) UpdateSecurityGroupRuleWithContext(ctx context.Context, updateSecurityGroupRuleOptions *UpdateSecurityGroupRuleOptions) (result SecurityGroupRuleIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateSecurityGroupRuleOptions, "updateSecurityGroupRuleOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateSecurityGroupRuleOptions, "updateSecurityGroupRuleOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *updateSecurityGroupRuleOptions.SecurityGroupID, + "id": *updateSecurityGroupRuleOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/rules/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateSecurityGroupRule") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateSecurityGroupRuleOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateSecurityGroupRuleOptions.SecurityGroupRulePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_security_group_rule", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroupRule) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListSecurityGroupTargets : List targets associated with a security group +// This request lists targets associated with a security group, to which the rules in the security group are applied. +func (vpc *VpcV1) ListSecurityGroupTargets(listSecurityGroupTargetsOptions *ListSecurityGroupTargetsOptions) (result *SecurityGroupTargetCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSecurityGroupTargetsWithContext(context.Background(), listSecurityGroupTargetsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSecurityGroupTargetsWithContext is an alternate form of the ListSecurityGroupTargets method which supports a Context parameter +func (vpc *VpcV1) ListSecurityGroupTargetsWithContext(ctx context.Context, listSecurityGroupTargetsOptions *ListSecurityGroupTargetsOptions) (result *SecurityGroupTargetCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listSecurityGroupTargetsOptions, "listSecurityGroupTargetsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listSecurityGroupTargetsOptions, "listSecurityGroupTargetsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *listSecurityGroupTargetsOptions.SecurityGroupID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/targets`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSecurityGroupTargets") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSecurityGroupTargetsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listSecurityGroupTargetsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listSecurityGroupTargetsOptions.Start)) + } + if listSecurityGroupTargetsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listSecurityGroupTargetsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_security_group_targets", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroupTargetCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSecurityGroupTargetBinding : Remove a target from a security group +// This request removes a target from a security group. For this request to succeed, the target must be attached to at +// least one other security group. The specified target identifier can be: +// +// - A bare metal server network interface identifier +// - A virtual network interface identifier +// - A VPN server identifier +// - A load balancer identifier +// - An endpoint gateway identifier +// - An instance network interface identifier +// +// Security groups are stateful, so any changes to a target's security groups are applied to new connections. Existing +// connections are not affected. +func (vpc *VpcV1) DeleteSecurityGroupTargetBinding(deleteSecurityGroupTargetBindingOptions *DeleteSecurityGroupTargetBindingOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteSecurityGroupTargetBindingWithContext(context.Background(), deleteSecurityGroupTargetBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSecurityGroupTargetBindingWithContext is an alternate form of the DeleteSecurityGroupTargetBinding method which supports a Context parameter +func (vpc *VpcV1) DeleteSecurityGroupTargetBindingWithContext(ctx context.Context, deleteSecurityGroupTargetBindingOptions *DeleteSecurityGroupTargetBindingOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSecurityGroupTargetBindingOptions, "deleteSecurityGroupTargetBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSecurityGroupTargetBindingOptions, "deleteSecurityGroupTargetBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *deleteSecurityGroupTargetBindingOptions.SecurityGroupID, + "id": *deleteSecurityGroupTargetBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/targets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSecurityGroupTargetBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSecurityGroupTargetBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_security_group_target_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetSecurityGroupTarget : Retrieve a security group target +// This request retrieves a single target specified by the identifier in the URL path. The target must be an existing +// target of the security group. +func (vpc *VpcV1) GetSecurityGroupTarget(getSecurityGroupTargetOptions *GetSecurityGroupTargetOptions) (result SecurityGroupTargetReferenceIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSecurityGroupTargetWithContext(context.Background(), getSecurityGroupTargetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSecurityGroupTargetWithContext is an alternate form of the GetSecurityGroupTarget method which supports a Context parameter +func (vpc *VpcV1) GetSecurityGroupTargetWithContext(ctx context.Context, getSecurityGroupTargetOptions *GetSecurityGroupTargetOptions) (result SecurityGroupTargetReferenceIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSecurityGroupTargetOptions, "getSecurityGroupTargetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSecurityGroupTargetOptions, "getSecurityGroupTargetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *getSecurityGroupTargetOptions.SecurityGroupID, + "id": *getSecurityGroupTargetOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/targets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSecurityGroupTarget") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSecurityGroupTargetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_security_group_target", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroupTargetReference) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateSecurityGroupTargetBinding : Add a target to a security group +// This request adds a resource to an existing security group. The specified target identifier can be: +// +// - A bare metal server network interface identifier +// - A virtual network interface identifier +// - A VPN server identifier +// - A load balancer identifier +// - An endpoint gateway identifier +// - An instance network interface identifier +// +// When a target is added to a security group, the security group rules are applied to the target. A request body is not +// required, and if provided, is ignored. +func (vpc *VpcV1) CreateSecurityGroupTargetBinding(createSecurityGroupTargetBindingOptions *CreateSecurityGroupTargetBindingOptions) (result SecurityGroupTargetReferenceIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateSecurityGroupTargetBindingWithContext(context.Background(), createSecurityGroupTargetBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateSecurityGroupTargetBindingWithContext is an alternate form of the CreateSecurityGroupTargetBinding method which supports a Context parameter +func (vpc *VpcV1) CreateSecurityGroupTargetBindingWithContext(ctx context.Context, createSecurityGroupTargetBindingOptions *CreateSecurityGroupTargetBindingOptions) (result SecurityGroupTargetReferenceIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createSecurityGroupTargetBindingOptions, "createSecurityGroupTargetBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createSecurityGroupTargetBindingOptions, "createSecurityGroupTargetBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "security_group_id": *createSecurityGroupTargetBindingOptions.SecurityGroupID, + "id": *createSecurityGroupTargetBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/security_groups/{security_group_id}/targets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateSecurityGroupTargetBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createSecurityGroupTargetBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_security_group_target_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityGroupTargetReference) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListShareProfiles : List file share profiles +// This request lists [file share profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) available in +// the region. A file share profile specifies the performance characteristics and pricing model for a file share. +func (vpc *VpcV1) ListShareProfiles(listShareProfilesOptions *ListShareProfilesOptions) (result *ShareProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListShareProfilesWithContext(context.Background(), listShareProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListShareProfilesWithContext is an alternate form of the ListShareProfiles method which supports a Context parameter +func (vpc *VpcV1) ListShareProfilesWithContext(ctx context.Context, listShareProfilesOptions *ListShareProfilesOptions) (result *ShareProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listShareProfilesOptions, "listShareProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/share/profiles`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListShareProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listShareProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listShareProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listShareProfilesOptions.Start)) + } + if listShareProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listShareProfilesOptions.Limit)) + } + if listShareProfilesOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listShareProfilesOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_share_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetShareProfile : Retrieve a file share profile +// This request retrieves a single file share profile specified by the name in the URL. +func (vpc *VpcV1) GetShareProfile(getShareProfileOptions *GetShareProfileOptions) (result *ShareProfile, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetShareProfileWithContext(context.Background(), getShareProfileOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetShareProfileWithContext is an alternate form of the GetShareProfile method which supports a Context parameter +func (vpc *VpcV1) GetShareProfileWithContext(ctx context.Context, getShareProfileOptions *GetShareProfileOptions) (result *ShareProfile, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getShareProfileOptions, "getShareProfileOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getShareProfileOptions, "getShareProfileOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getShareProfileOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/share/profiles/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetShareProfile") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getShareProfileOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_share_profile", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareProfile) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListShares : List file shares +// This request lists file shares in the region. +func (vpc *VpcV1) ListShares(listSharesOptions *ListSharesOptions) (result *ShareCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSharesWithContext(context.Background(), listSharesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSharesWithContext is an alternate form of the ListShares method which supports a Context parameter +func (vpc *VpcV1) ListSharesWithContext(ctx context.Context, listSharesOptions *ListSharesOptions) (result *ShareCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listSharesOptions, "listSharesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListShares") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSharesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listSharesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listSharesOptions.Start)) + } + if listSharesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listSharesOptions.Limit)) + } + if listSharesOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listSharesOptions.ResourceGroupID)) + } + if listSharesOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listSharesOptions.Name)) + } + if listSharesOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listSharesOptions.Sort)) + } + if listSharesOptions.ReplicationRole != nil { + builder.AddQuery("replication_role", fmt.Sprint(*listSharesOptions.ReplicationRole)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_shares", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateShare : Create a file share +// This request provisions new file shares from a share prototype object. The new file shares can be a standalone share, +// a replica share, or both a source and replica share. +// +// The prototype object is structured in the same way as a retrieved share, and contains the information necessary to +// provision the new file shares. +func (vpc *VpcV1) CreateShare(createShareOptions *CreateShareOptions) (result *Share, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateShareWithContext(context.Background(), createShareOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateShareWithContext is an alternate form of the CreateShare method which supports a Context parameter +func (vpc *VpcV1) CreateShareWithContext(ctx context.Context, createShareOptions *CreateShareOptions) (result *Share, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createShareOptions, "createShareOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createShareOptions, "createShareOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateShare") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createShareOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createShareOptions.SharePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_share", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShare) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteShare : Delete a file share +// This request deletes a share. This operation cannot be reversed. A share cannot be deleted if it: +// - has share mount targets +// - has a `lifecycle_state` of `updating` +// - has a replication operation in progress +// +// If the request is accepted, the share `lifecycle_state` will be set to `deleting`. Once deletion processing +// completes, it will no longer be retrievable. +func (vpc *VpcV1) DeleteShare(deleteShareOptions *DeleteShareOptions) (result *Share, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteShareWithContext(context.Background(), deleteShareOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteShareWithContext is an alternate form of the DeleteShare method which supports a Context parameter +func (vpc *VpcV1) DeleteShareWithContext(ctx context.Context, deleteShareOptions *DeleteShareOptions) (result *Share, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteShareOptions, "deleteShareOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteShareOptions, "deleteShareOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteShareOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteShare") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteShareOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + if deleteShareOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteShareOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_share", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShare) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetShare : Retrieve a file share +// This request retrieves a single file share specified by the identifier in the URL. +func (vpc *VpcV1) GetShare(getShareOptions *GetShareOptions) (result *Share, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetShareWithContext(context.Background(), getShareOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetShareWithContext is an alternate form of the GetShare method which supports a Context parameter +func (vpc *VpcV1) GetShareWithContext(ctx context.Context, getShareOptions *GetShareOptions) (result *Share, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getShareOptions, "getShareOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getShareOptions, "getShareOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getShareOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetShare") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getShareOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_share", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShare) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateShare : Update a file share +// This request updates a share with the information in a provided share patch. The share patch object is structured in +// the same way as a retrieved share and contains only the information to be updated. +func (vpc *VpcV1) UpdateShare(updateShareOptions *UpdateShareOptions) (result *Share, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateShareWithContext(context.Background(), updateShareOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateShareWithContext is an alternate form of the UpdateShare method which supports a Context parameter +func (vpc *VpcV1) UpdateShareWithContext(ctx context.Context, updateShareOptions *UpdateShareOptions) (result *Share, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateShareOptions, "updateShareOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateShareOptions, "updateShareOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateShareOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateShare") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateShareOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateShareOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateShareOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateShareOptions.SharePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_share", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShare) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListShareAccessorBindings : List accessor bindings for a file share +// This request lists accessor bindings for a share. Each accessor binding identifies a resource (possibly in another +// account) with access to this file share including its snapshots. +// +// The share accessor bindings will be sorted by their `created_at` property values, with newest bindings first. +func (vpc *VpcV1) ListShareAccessorBindings(listShareAccessorBindingsOptions *ListShareAccessorBindingsOptions) (result *ShareAccessorBindingCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListShareAccessorBindingsWithContext(context.Background(), listShareAccessorBindingsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListShareAccessorBindingsWithContext is an alternate form of the ListShareAccessorBindings method which supports a Context parameter +func (vpc *VpcV1) ListShareAccessorBindingsWithContext(ctx context.Context, listShareAccessorBindingsOptions *ListShareAccessorBindingsOptions) (result *ShareAccessorBindingCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listShareAccessorBindingsOptions, "listShareAccessorBindingsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listShareAccessorBindingsOptions, "listShareAccessorBindingsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listShareAccessorBindingsOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{id}/accessor_bindings`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListShareAccessorBindings") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listShareAccessorBindingsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listShareAccessorBindingsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listShareAccessorBindingsOptions.Start)) + } + if listShareAccessorBindingsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listShareAccessorBindingsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_share_accessor_bindings", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareAccessorBindingCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteShareAccessorBinding : Delete a file share accessor binding +// This request deletes a share accessor binding. This operation cannot be reversed. +func (vpc *VpcV1) DeleteShareAccessorBinding(deleteShareAccessorBindingOptions *DeleteShareAccessorBindingOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteShareAccessorBindingWithContext(context.Background(), deleteShareAccessorBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteShareAccessorBindingWithContext is an alternate form of the DeleteShareAccessorBinding method which supports a Context parameter +func (vpc *VpcV1) DeleteShareAccessorBindingWithContext(ctx context.Context, deleteShareAccessorBindingOptions *DeleteShareAccessorBindingOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteShareAccessorBindingOptions, "deleteShareAccessorBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteShareAccessorBindingOptions, "deleteShareAccessorBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *deleteShareAccessorBindingOptions.ShareID, + "id": *deleteShareAccessorBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/accessor_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteShareAccessorBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteShareAccessorBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_share_accessor_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetShareAccessorBinding : Retrieve a file share accessor binding +// This request retrieves a single accessor binding specified by the identifier in the URL. +func (vpc *VpcV1) GetShareAccessorBinding(getShareAccessorBindingOptions *GetShareAccessorBindingOptions) (result *ShareAccessorBinding, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetShareAccessorBindingWithContext(context.Background(), getShareAccessorBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetShareAccessorBindingWithContext is an alternate form of the GetShareAccessorBinding method which supports a Context parameter +func (vpc *VpcV1) GetShareAccessorBindingWithContext(ctx context.Context, getShareAccessorBindingOptions *GetShareAccessorBindingOptions) (result *ShareAccessorBinding, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getShareAccessorBindingOptions, "getShareAccessorBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getShareAccessorBindingOptions, "getShareAccessorBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *getShareAccessorBindingOptions.ShareID, + "id": *getShareAccessorBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/accessor_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetShareAccessorBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getShareAccessorBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_share_accessor_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareAccessorBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// FailoverShare : Failover to replica file share +// This request triggers a failover to the replica file share specified by the identifier in the URL. The failover +// cannot be started if a source share or the replica share has a `lifecycle_state` of `updating`, or has a replication +// operation in progress. +// +// If `fallback_policy` is specified as `split`, and the request is accepted but the failover operation cannot be +// performed, a split will be triggered. +func (vpc *VpcV1) FailoverShare(failoverShareOptions *FailoverShareOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.FailoverShareWithContext(context.Background(), failoverShareOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// FailoverShareWithContext is an alternate form of the FailoverShare method which supports a Context parameter +func (vpc *VpcV1) FailoverShareWithContext(ctx context.Context, failoverShareOptions *FailoverShareOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(failoverShareOptions, "failoverShareOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(failoverShareOptions, "failoverShareOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *failoverShareOptions.ShareID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/failover`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "FailoverShare") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range failoverShareOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if failoverShareOptions.FallbackPolicy != nil { + body["fallback_policy"] = failoverShareOptions.FallbackPolicy + } + if failoverShareOptions.Timeout != nil { + body["timeout"] = failoverShareOptions.Timeout + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "failover_share", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListShareMountTargets : List mount targets for a file share +// This request lists mount targets for a file share. A mount target is a network endpoint at which a file share may be +// mounted. The file share can be mounted by clients in the same VPC and zone after creating share mount targets. +// +// The share mount targets will be sorted by their `created_at` property values, with newest targets first. +func (vpc *VpcV1) ListShareMountTargets(listShareMountTargetsOptions *ListShareMountTargetsOptions) (result *ShareMountTargetCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListShareMountTargetsWithContext(context.Background(), listShareMountTargetsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListShareMountTargetsWithContext is an alternate form of the ListShareMountTargets method which supports a Context parameter +func (vpc *VpcV1) ListShareMountTargetsWithContext(ctx context.Context, listShareMountTargetsOptions *ListShareMountTargetsOptions) (result *ShareMountTargetCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listShareMountTargetsOptions, "listShareMountTargetsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listShareMountTargetsOptions, "listShareMountTargetsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *listShareMountTargetsOptions.ShareID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/mount_targets`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListShareMountTargets") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listShareMountTargetsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listShareMountTargetsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listShareMountTargetsOptions.Name)) + } + if listShareMountTargetsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listShareMountTargetsOptions.Start)) + } + if listShareMountTargetsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listShareMountTargetsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_share_mount_targets", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareMountTargetCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateShareMountTarget : Create a mount target for a file share +// This request creates a new share mount target from a share mount target prototype object. +// +// The prototype object is structured in the same way as a retrieved share mount target, and contains the information +// necessary to provision the new file share mount target. +func (vpc *VpcV1) CreateShareMountTarget(createShareMountTargetOptions *CreateShareMountTargetOptions) (result *ShareMountTarget, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateShareMountTargetWithContext(context.Background(), createShareMountTargetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateShareMountTargetWithContext is an alternate form of the CreateShareMountTarget method which supports a Context parameter +func (vpc *VpcV1) CreateShareMountTargetWithContext(ctx context.Context, createShareMountTargetOptions *CreateShareMountTargetOptions) (result *ShareMountTarget, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createShareMountTargetOptions, "createShareMountTargetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createShareMountTargetOptions, "createShareMountTargetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *createShareMountTargetOptions.ShareID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/mount_targets`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateShareMountTarget") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createShareMountTargetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createShareMountTargetOptions.ShareMountTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_share_mount_target", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareMountTarget) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteShareMountTarget : Delete a file share mount target +// This request deletes a share mount target. This operation cannot be reversed. +// +// If the request is accepted, the share mount target `lifecycle_state` will be set to +// `deleting`. Once deletion processing completes, it will no longer be retrievable. +func (vpc *VpcV1) DeleteShareMountTarget(deleteShareMountTargetOptions *DeleteShareMountTargetOptions) (result *ShareMountTarget, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteShareMountTargetWithContext(context.Background(), deleteShareMountTargetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteShareMountTargetWithContext is an alternate form of the DeleteShareMountTarget method which supports a Context parameter +func (vpc *VpcV1) DeleteShareMountTargetWithContext(ctx context.Context, deleteShareMountTargetOptions *DeleteShareMountTargetOptions) (result *ShareMountTarget, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteShareMountTargetOptions, "deleteShareMountTargetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteShareMountTargetOptions, "deleteShareMountTargetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *deleteShareMountTargetOptions.ShareID, + "id": *deleteShareMountTargetOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/mount_targets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteShareMountTarget") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteShareMountTargetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_share_mount_target", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareMountTarget) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetShareMountTarget : Retrieve a file share mount target +// This request retrieves a single share mount target specified by the identifier in the URL. +func (vpc *VpcV1) GetShareMountTarget(getShareMountTargetOptions *GetShareMountTargetOptions) (result *ShareMountTarget, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetShareMountTargetWithContext(context.Background(), getShareMountTargetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetShareMountTargetWithContext is an alternate form of the GetShareMountTarget method which supports a Context parameter +func (vpc *VpcV1) GetShareMountTargetWithContext(ctx context.Context, getShareMountTargetOptions *GetShareMountTargetOptions) (result *ShareMountTarget, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getShareMountTargetOptions, "getShareMountTargetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getShareMountTargetOptions, "getShareMountTargetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *getShareMountTargetOptions.ShareID, + "id": *getShareMountTargetOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/mount_targets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetShareMountTarget") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getShareMountTargetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_share_mount_target", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareMountTarget) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateShareMountTarget : Update a file share mount target +// This request updates a share mount target with the information provided in a share mount target patch object. The +// share mount target patch object is structured in the same way as a retrieved share mount target and needs to contain +// only the information to be updated. +func (vpc *VpcV1) UpdateShareMountTarget(updateShareMountTargetOptions *UpdateShareMountTargetOptions) (result *ShareMountTarget, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateShareMountTargetWithContext(context.Background(), updateShareMountTargetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateShareMountTargetWithContext is an alternate form of the UpdateShareMountTarget method which supports a Context parameter +func (vpc *VpcV1) UpdateShareMountTargetWithContext(ctx context.Context, updateShareMountTargetOptions *UpdateShareMountTargetOptions) (result *ShareMountTarget, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateShareMountTargetOptions, "updateShareMountTargetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateShareMountTargetOptions, "updateShareMountTargetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *updateShareMountTargetOptions.ShareID, + "id": *updateShareMountTargetOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/mount_targets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateShareMountTarget") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateShareMountTargetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateShareMountTargetOptions.ShareMountTargetPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_share_mount_target", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareMountTarget) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListShareSnapshots : List file share snapshots +// This request lists snapshots for the specified file share, or across all accessible file shares. A snapshot preserves +// the data of a share at the time the snapshot was captured. +// +// If the file share is a replica, the list will contain snapshots corresponding to snapshots on the source. +func (vpc *VpcV1) ListShareSnapshots(listShareSnapshotsOptions *ListShareSnapshotsOptions) (result *ShareSnapshotCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListShareSnapshotsWithContext(context.Background(), listShareSnapshotsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListShareSnapshotsWithContext is an alternate form of the ListShareSnapshots method which supports a Context parameter +func (vpc *VpcV1) ListShareSnapshotsWithContext(ctx context.Context, listShareSnapshotsOptions *ListShareSnapshotsOptions) (result *ShareSnapshotCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listShareSnapshotsOptions, "listShareSnapshotsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listShareSnapshotsOptions, "listShareSnapshotsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *listShareSnapshotsOptions.ShareID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/snapshots`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListShareSnapshots") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listShareSnapshotsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listShareSnapshotsOptions.BackupPolicyPlanID != nil { + builder.AddQuery("backup_policy_plan.id", fmt.Sprint(*listShareSnapshotsOptions.BackupPolicyPlanID)) + } + if listShareSnapshotsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listShareSnapshotsOptions.Name)) + } + if listShareSnapshotsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listShareSnapshotsOptions.Start)) + } + if listShareSnapshotsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listShareSnapshotsOptions.Limit)) + } + if listShareSnapshotsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listShareSnapshotsOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_share_snapshots", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareSnapshotCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateShareSnapshot : Create a snapshot for a file share +// This request creates a new share snapshot from a share snapshot prototype object. The prototype object is structured +// in the same way as a retrieved share snapshot, and contains the information necessary to create the new share +// snapshot. +// +// The share must have an `access_control_mode` of `security_group`, and a +// `replication_role` of `source` or `none`. +// +// The snapshot will inherit its `resource_group` and encryption settings from the share. +// +// If the share has a `replication_role` of `source`, a corresponding snapshot on the replica share will be created with +// a `status` of `pending`. It will remain in +// `pending` until the data is synchronized per the replication schedule determined by the replica share's +// `replication_cron_spec`. +func (vpc *VpcV1) CreateShareSnapshot(createShareSnapshotOptions *CreateShareSnapshotOptions) (result *ShareSnapshot, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateShareSnapshotWithContext(context.Background(), createShareSnapshotOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateShareSnapshotWithContext is an alternate form of the CreateShareSnapshot method which supports a Context parameter +func (vpc *VpcV1) CreateShareSnapshotWithContext(ctx context.Context, createShareSnapshotOptions *CreateShareSnapshotOptions) (result *ShareSnapshot, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createShareSnapshotOptions, "createShareSnapshotOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createShareSnapshotOptions, "createShareSnapshotOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *createShareSnapshotOptions.ShareID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/snapshots`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateShareSnapshot") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createShareSnapshotOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createShareSnapshotOptions.Name != nil { + body["name"] = createShareSnapshotOptions.Name + } + if createShareSnapshotOptions.UserTags != nil { + body["user_tags"] = createShareSnapshotOptions.UserTags + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_share_snapshot", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteShareSnapshot : Delete a share snapshot +// This request deletes a share snapshot. This operation cannot be reversed. For this request to succeed, the share must +// have a `replication_role` of `source` or `none`. +// +// If the request is accepted, the share snapshot `lifecycle_state` will be set to +// `deleting`. Once deletion processing completes, the share snapshot will no longer be retrievable. +// +// Deleting a share snapshot will not affect any previously-accepted requests to create a share from it. +// +// If the share has a `replication_role` of `source`, the corresponding snapshot on the replica share will be +// subsequently moved to a `lifecycle_state` of `deleting`. If the data for the corresponding snapshot has already been +// synchronized via the replication schedule determined by `replication_cron_spec`, the snapshot will remain available +// in the replica share's `.snapshot` directory until the next replication sync. +func (vpc *VpcV1) DeleteShareSnapshot(deleteShareSnapshotOptions *DeleteShareSnapshotOptions) (result *ShareSnapshot, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteShareSnapshotWithContext(context.Background(), deleteShareSnapshotOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteShareSnapshotWithContext is an alternate form of the DeleteShareSnapshot method which supports a Context parameter +func (vpc *VpcV1) DeleteShareSnapshotWithContext(ctx context.Context, deleteShareSnapshotOptions *DeleteShareSnapshotOptions) (result *ShareSnapshot, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteShareSnapshotOptions, "deleteShareSnapshotOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteShareSnapshotOptions, "deleteShareSnapshotOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *deleteShareSnapshotOptions.ShareID, + "id": *deleteShareSnapshotOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/snapshots/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteShareSnapshot") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteShareSnapshotOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_share_snapshot", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetShareSnapshot : Retrieve a share snapshot +// This request retrieves a single share snapshot specified by the identifier in the URL. +func (vpc *VpcV1) GetShareSnapshot(getShareSnapshotOptions *GetShareSnapshotOptions) (result *ShareSnapshot, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetShareSnapshotWithContext(context.Background(), getShareSnapshotOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetShareSnapshotWithContext is an alternate form of the GetShareSnapshot method which supports a Context parameter +func (vpc *VpcV1) GetShareSnapshotWithContext(ctx context.Context, getShareSnapshotOptions *GetShareSnapshotOptions) (result *ShareSnapshot, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getShareSnapshotOptions, "getShareSnapshotOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getShareSnapshotOptions, "getShareSnapshotOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *getShareSnapshotOptions.ShareID, + "id": *getShareSnapshotOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/snapshots/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetShareSnapshot") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getShareSnapshotOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_share_snapshot", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateShareSnapshot : Update a share snapshot +// This request updates a share snapshot with the information provided in a share snapshot patch object. The share +// snapshot patch object is structured in the same way as a retrieved share snapshot and needs to contain only the +// information to be updated. +func (vpc *VpcV1) UpdateShareSnapshot(updateShareSnapshotOptions *UpdateShareSnapshotOptions) (result *ShareSnapshot, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateShareSnapshotWithContext(context.Background(), updateShareSnapshotOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateShareSnapshotWithContext is an alternate form of the UpdateShareSnapshot method which supports a Context parameter +func (vpc *VpcV1) UpdateShareSnapshotWithContext(ctx context.Context, updateShareSnapshotOptions *UpdateShareSnapshotOptions) (result *ShareSnapshot, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateShareSnapshotOptions, "updateShareSnapshotOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateShareSnapshotOptions, "updateShareSnapshotOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *updateShareSnapshotOptions.ShareID, + "id": *updateShareSnapshotOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/snapshots/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateShareSnapshot") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateShareSnapshotOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateShareSnapshotOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateShareSnapshotOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateShareSnapshotOptions.ShareSnapshotPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_share_snapshot", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteShareSource : Split the source file share from a replica file share +// This request removes the replication relationship between a source share and the replica share specified by the +// identifier in the URL. The replication relationship cannot be removed if a source share or the replica share has a +// `lifecycle_state` of `updating`, or has a replication operation in progress. +// +// This operation cannot be reversed. +func (vpc *VpcV1) DeleteShareSource(deleteShareSourceOptions *DeleteShareSourceOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteShareSourceWithContext(context.Background(), deleteShareSourceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteShareSourceWithContext is an alternate form of the DeleteShareSource method which supports a Context parameter +func (vpc *VpcV1) DeleteShareSourceWithContext(ctx context.Context, deleteShareSourceOptions *DeleteShareSourceOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteShareSourceOptions, "deleteShareSourceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteShareSourceOptions, "deleteShareSourceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *deleteShareSourceOptions.ShareID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/source`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteShareSource") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteShareSourceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_share_source", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetShareSource : Retrieve the source file share for a replica file share +// This request retrieves the source file share associated with the replica file share specified by the identifier in +// the URL. +func (vpc *VpcV1) GetShareSource(getShareSourceOptions *GetShareSourceOptions) (result *ShareReference, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetShareSourceWithContext(context.Background(), getShareSourceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetShareSourceWithContext is an alternate form of the GetShareSource method which supports a Context parameter +func (vpc *VpcV1) GetShareSourceWithContext(ctx context.Context, getShareSourceOptions *GetShareSourceOptions) (result *ShareReference, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getShareSourceOptions, "getShareSourceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getShareSourceOptions, "getShareSourceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "share_id": *getShareSourceOptions.ShareID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/shares/{share_id}/source`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetShareSource") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getShareSourceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_share_source", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalShareReference) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListSnapshotConsistencyGroups : List snapshot consistency groups +// This request lists snapshot consistency groups in the region. A snapshot consistency group is a collection of +// individual snapshots taken at the same time. +func (vpc *VpcV1) ListSnapshotConsistencyGroups(listSnapshotConsistencyGroupsOptions *ListSnapshotConsistencyGroupsOptions) (result *SnapshotConsistencyGroupCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSnapshotConsistencyGroupsWithContext(context.Background(), listSnapshotConsistencyGroupsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSnapshotConsistencyGroupsWithContext is an alternate form of the ListSnapshotConsistencyGroups method which supports a Context parameter +func (vpc *VpcV1) ListSnapshotConsistencyGroupsWithContext(ctx context.Context, listSnapshotConsistencyGroupsOptions *ListSnapshotConsistencyGroupsOptions) (result *SnapshotConsistencyGroupCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listSnapshotConsistencyGroupsOptions, "listSnapshotConsistencyGroupsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshot_consistency_groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSnapshotConsistencyGroups") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSnapshotConsistencyGroupsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listSnapshotConsistencyGroupsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listSnapshotConsistencyGroupsOptions.Start)) + } + if listSnapshotConsistencyGroupsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listSnapshotConsistencyGroupsOptions.Limit)) + } + if listSnapshotConsistencyGroupsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listSnapshotConsistencyGroupsOptions.ResourceGroupID)) + } + if listSnapshotConsistencyGroupsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listSnapshotConsistencyGroupsOptions.Name)) + } + if listSnapshotConsistencyGroupsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listSnapshotConsistencyGroupsOptions.Sort)) + } + if listSnapshotConsistencyGroupsOptions.BackupPolicyPlanID != nil { + builder.AddQuery("backup_policy_plan.id", fmt.Sprint(*listSnapshotConsistencyGroupsOptions.BackupPolicyPlanID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_snapshot_consistency_groups", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotConsistencyGroupCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateSnapshotConsistencyGroup : Create a snapshot consistency group +// This request creates a new snapshot consistency group from a snapshot consistency group object. The prototype object +// is structured in the same way as a retrieved consistency group, and contains the information necessary to provision +// the new snapshot consistency group. +func (vpc *VpcV1) CreateSnapshotConsistencyGroup(createSnapshotConsistencyGroupOptions *CreateSnapshotConsistencyGroupOptions) (result *SnapshotConsistencyGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateSnapshotConsistencyGroupWithContext(context.Background(), createSnapshotConsistencyGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateSnapshotConsistencyGroupWithContext is an alternate form of the CreateSnapshotConsistencyGroup method which supports a Context parameter +func (vpc *VpcV1) CreateSnapshotConsistencyGroupWithContext(ctx context.Context, createSnapshotConsistencyGroupOptions *CreateSnapshotConsistencyGroupOptions) (result *SnapshotConsistencyGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createSnapshotConsistencyGroupOptions, "createSnapshotConsistencyGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createSnapshotConsistencyGroupOptions, "createSnapshotConsistencyGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshot_consistency_groups`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateSnapshotConsistencyGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createSnapshotConsistencyGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createSnapshotConsistencyGroupOptions.SnapshotConsistencyGroupPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_snapshot_consistency_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotConsistencyGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSnapshotConsistencyGroup : Delete a snapshot consistency group +// This request deletes snapshot consistency group. This operation cannot be reversed. If the +// `delete_snapshots_on_delete` property is `true`, all snapshots in the consistency group will also be deleted. +func (vpc *VpcV1) DeleteSnapshotConsistencyGroup(deleteSnapshotConsistencyGroupOptions *DeleteSnapshotConsistencyGroupOptions) (result *SnapshotConsistencyGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteSnapshotConsistencyGroupWithContext(context.Background(), deleteSnapshotConsistencyGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSnapshotConsistencyGroupWithContext is an alternate form of the DeleteSnapshotConsistencyGroup method which supports a Context parameter +func (vpc *VpcV1) DeleteSnapshotConsistencyGroupWithContext(ctx context.Context, deleteSnapshotConsistencyGroupOptions *DeleteSnapshotConsistencyGroupOptions) (result *SnapshotConsistencyGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSnapshotConsistencyGroupOptions, "deleteSnapshotConsistencyGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSnapshotConsistencyGroupOptions, "deleteSnapshotConsistencyGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteSnapshotConsistencyGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshot_consistency_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSnapshotConsistencyGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSnapshotConsistencyGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_snapshot_consistency_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotConsistencyGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetSnapshotConsistencyGroup : Retrieve a snapshot consistency group +// This request retrieves a single snapshot consistency group specified by the identifier in the URL. +func (vpc *VpcV1) GetSnapshotConsistencyGroup(getSnapshotConsistencyGroupOptions *GetSnapshotConsistencyGroupOptions) (result *SnapshotConsistencyGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSnapshotConsistencyGroupWithContext(context.Background(), getSnapshotConsistencyGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSnapshotConsistencyGroupWithContext is an alternate form of the GetSnapshotConsistencyGroup method which supports a Context parameter +func (vpc *VpcV1) GetSnapshotConsistencyGroupWithContext(ctx context.Context, getSnapshotConsistencyGroupOptions *GetSnapshotConsistencyGroupOptions) (result *SnapshotConsistencyGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSnapshotConsistencyGroupOptions, "getSnapshotConsistencyGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSnapshotConsistencyGroupOptions, "getSnapshotConsistencyGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getSnapshotConsistencyGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshot_consistency_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSnapshotConsistencyGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSnapshotConsistencyGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_snapshot_consistency_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotConsistencyGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateSnapshotConsistencyGroup : Update a snapshot consistency group +// This request updates a snapshot consistency group with the information in a provided snapshot consistency group +// patch. The snapshot consistency group patch object is structured in the same way as a retrieved snapshot consistency +// group and contains only the information to be updated. +func (vpc *VpcV1) UpdateSnapshotConsistencyGroup(updateSnapshotConsistencyGroupOptions *UpdateSnapshotConsistencyGroupOptions) (result *SnapshotConsistencyGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateSnapshotConsistencyGroupWithContext(context.Background(), updateSnapshotConsistencyGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateSnapshotConsistencyGroupWithContext is an alternate form of the UpdateSnapshotConsistencyGroup method which supports a Context parameter +func (vpc *VpcV1) UpdateSnapshotConsistencyGroupWithContext(ctx context.Context, updateSnapshotConsistencyGroupOptions *UpdateSnapshotConsistencyGroupOptions) (result *SnapshotConsistencyGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateSnapshotConsistencyGroupOptions, "updateSnapshotConsistencyGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateSnapshotConsistencyGroupOptions, "updateSnapshotConsistencyGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateSnapshotConsistencyGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshot_consistency_groups/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateSnapshotConsistencyGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateSnapshotConsistencyGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateSnapshotConsistencyGroupOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateSnapshotConsistencyGroupOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateSnapshotConsistencyGroupOptions.SnapshotConsistencyGroupPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_snapshot_consistency_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotConsistencyGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSnapshots : Delete a filtered collection of snapshots +// This request deletes snapshots that match the specified filter. This operation cannot be reversed. +func (vpc *VpcV1) DeleteSnapshots(deleteSnapshotsOptions *DeleteSnapshotsOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteSnapshotsWithContext(context.Background(), deleteSnapshotsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSnapshotsWithContext is an alternate form of the DeleteSnapshots method which supports a Context parameter +func (vpc *VpcV1) DeleteSnapshotsWithContext(ctx context.Context, deleteSnapshotsOptions *DeleteSnapshotsOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSnapshotsOptions, "deleteSnapshotsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSnapshotsOptions, "deleteSnapshotsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSnapshots") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSnapshotsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + builder.AddQuery("source_volume.id", fmt.Sprint(*deleteSnapshotsOptions.SourceVolumeID)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_snapshots", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListSnapshots : List snapshots +// This request lists snapshots in the region. A snapshot preserves the data of a volume at the time the snapshot is +// created. +func (vpc *VpcV1) ListSnapshots(listSnapshotsOptions *ListSnapshotsOptions) (result *SnapshotCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSnapshotsWithContext(context.Background(), listSnapshotsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSnapshotsWithContext is an alternate form of the ListSnapshots method which supports a Context parameter +func (vpc *VpcV1) ListSnapshotsWithContext(ctx context.Context, listSnapshotsOptions *ListSnapshotsOptions) (result *SnapshotCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listSnapshotsOptions, "listSnapshotsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSnapshots") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSnapshotsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listSnapshotsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listSnapshotsOptions.Start)) + } + if listSnapshotsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listSnapshotsOptions.Limit)) + } + if listSnapshotsOptions.Tag != nil { + builder.AddQuery("tag", fmt.Sprint(*listSnapshotsOptions.Tag)) + } + if listSnapshotsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listSnapshotsOptions.ResourceGroupID)) + } + if listSnapshotsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listSnapshotsOptions.Name)) + } + if listSnapshotsOptions.SourceVolumeID != nil { + builder.AddQuery("source_volume.id", fmt.Sprint(*listSnapshotsOptions.SourceVolumeID)) + } + if listSnapshotsOptions.SourceVolumeCRN != nil { + builder.AddQuery("source_volume.crn", fmt.Sprint(*listSnapshotsOptions.SourceVolumeCRN)) + } + if listSnapshotsOptions.SourceImageID != nil { + builder.AddQuery("source_image.id", fmt.Sprint(*listSnapshotsOptions.SourceImageID)) + } + if listSnapshotsOptions.SourceImageCRN != nil { + builder.AddQuery("source_image.crn", fmt.Sprint(*listSnapshotsOptions.SourceImageCRN)) + } + if listSnapshotsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listSnapshotsOptions.Sort)) + } + if listSnapshotsOptions.BackupPolicyPlanID != nil { + builder.AddQuery("backup_policy_plan.id", fmt.Sprint(*listSnapshotsOptions.BackupPolicyPlanID)) + } + if listSnapshotsOptions.CopiesID != nil { + builder.AddQuery("copies[].id", fmt.Sprint(*listSnapshotsOptions.CopiesID)) + } + if listSnapshotsOptions.CopiesName != nil { + builder.AddQuery("copies[].name", fmt.Sprint(*listSnapshotsOptions.CopiesName)) + } + if listSnapshotsOptions.CopiesCRN != nil { + builder.AddQuery("copies[].crn", fmt.Sprint(*listSnapshotsOptions.CopiesCRN)) + } + if listSnapshotsOptions.CopiesRemoteRegionName != nil { + builder.AddQuery("copies[].remote.region.name", fmt.Sprint(*listSnapshotsOptions.CopiesRemoteRegionName)) + } + if listSnapshotsOptions.SourceSnapshotID != nil { + builder.AddQuery("source_snapshot.id", fmt.Sprint(*listSnapshotsOptions.SourceSnapshotID)) + } + if listSnapshotsOptions.SourceSnapshotRemoteRegionName != nil { + builder.AddQuery("source_snapshot.remote.region.name", fmt.Sprint(*listSnapshotsOptions.SourceSnapshotRemoteRegionName)) + } + if listSnapshotsOptions.SourceVolumeRemoteRegionName != nil { + builder.AddQuery("source_volume.remote.region.name", fmt.Sprint(*listSnapshotsOptions.SourceVolumeRemoteRegionName)) + } + if listSnapshotsOptions.SourceImageRemoteRegionName != nil { + builder.AddQuery("source_image.remote.region.name", fmt.Sprint(*listSnapshotsOptions.SourceImageRemoteRegionName)) + } + if listSnapshotsOptions.ClonesZoneName != nil { + builder.AddQuery("clones[].zone.name", fmt.Sprint(*listSnapshotsOptions.ClonesZoneName)) + } + if listSnapshotsOptions.SnapshotConsistencyGroupID != nil { + builder.AddQuery("snapshot_consistency_group.id", fmt.Sprint(*listSnapshotsOptions.SnapshotConsistencyGroupID)) + } + if listSnapshotsOptions.SnapshotConsistencyGroupCRN != nil { + builder.AddQuery("snapshot_consistency_group.crn", fmt.Sprint(*listSnapshotsOptions.SnapshotConsistencyGroupCRN)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_snapshots", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateSnapshot : Create a snapshot +// This request creates a new snapshot from a snapshot prototype object. The prototype object is structured in the same +// way as a retrieved snapshot, and contains the information necessary to provision the new snapshot. +func (vpc *VpcV1) CreateSnapshot(createSnapshotOptions *CreateSnapshotOptions) (result *Snapshot, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateSnapshotWithContext(context.Background(), createSnapshotOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateSnapshotWithContext is an alternate form of the CreateSnapshot method which supports a Context parameter +func (vpc *VpcV1) CreateSnapshotWithContext(ctx context.Context, createSnapshotOptions *CreateSnapshotOptions) (result *Snapshot, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createSnapshotOptions, "createSnapshotOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createSnapshotOptions, "createSnapshotOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateSnapshot") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createSnapshotOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createSnapshotOptions.SnapshotPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_snapshot", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSnapshot : Delete a snapshot +// This request deletes a snapshot. This operation cannot be reversed. +func (vpc *VpcV1) DeleteSnapshot(deleteSnapshotOptions *DeleteSnapshotOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteSnapshotWithContext(context.Background(), deleteSnapshotOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSnapshotWithContext is an alternate form of the DeleteSnapshot method which supports a Context parameter +func (vpc *VpcV1) DeleteSnapshotWithContext(ctx context.Context, deleteSnapshotOptions *DeleteSnapshotOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSnapshotOptions, "deleteSnapshotOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSnapshotOptions, "deleteSnapshotOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteSnapshotOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSnapshot") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSnapshotOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + if deleteSnapshotOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteSnapshotOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_snapshot", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetSnapshot : Retrieve a snapshot +// This request retrieves a single snapshot specified by the identifier in the URL. +func (vpc *VpcV1) GetSnapshot(getSnapshotOptions *GetSnapshotOptions) (result *Snapshot, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSnapshotWithContext(context.Background(), getSnapshotOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSnapshotWithContext is an alternate form of the GetSnapshot method which supports a Context parameter +func (vpc *VpcV1) GetSnapshotWithContext(ctx context.Context, getSnapshotOptions *GetSnapshotOptions) (result *Snapshot, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSnapshotOptions, "getSnapshotOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSnapshotOptions, "getSnapshotOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getSnapshotOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSnapshot") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSnapshotOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_snapshot", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateSnapshot : Update a snapshot +// This request updates a snapshot with the information in a provided snapshot patch. The snapshot consistency group +// patch object is structured in the same way as a retrieved snapshot and contains only the information to be updated. +func (vpc *VpcV1) UpdateSnapshot(updateSnapshotOptions *UpdateSnapshotOptions) (result *Snapshot, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateSnapshotWithContext(context.Background(), updateSnapshotOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateSnapshotWithContext is an alternate form of the UpdateSnapshot method which supports a Context parameter +func (vpc *VpcV1) UpdateSnapshotWithContext(ctx context.Context, updateSnapshotOptions *UpdateSnapshotOptions) (result *Snapshot, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateSnapshotOptions, "updateSnapshotOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateSnapshotOptions, "updateSnapshotOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateSnapshotOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateSnapshot") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateSnapshotOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateSnapshotOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateSnapshotOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateSnapshotOptions.SnapshotPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_snapshot", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListSnapshotClones : List clones for a snapshot +// This request lists clones for a snapshot. Use a clone to quickly restore a snapshot within the clone's zone. +func (vpc *VpcV1) ListSnapshotClones(listSnapshotClonesOptions *ListSnapshotClonesOptions) (result *SnapshotCloneCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSnapshotClonesWithContext(context.Background(), listSnapshotClonesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSnapshotClonesWithContext is an alternate form of the ListSnapshotClones method which supports a Context parameter +func (vpc *VpcV1) ListSnapshotClonesWithContext(ctx context.Context, listSnapshotClonesOptions *ListSnapshotClonesOptions) (result *SnapshotCloneCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listSnapshotClonesOptions, "listSnapshotClonesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listSnapshotClonesOptions, "listSnapshotClonesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listSnapshotClonesOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots/{id}/clones`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSnapshotClones") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSnapshotClonesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_snapshot_clones", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotCloneCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSnapshotClone : Delete a snapshot clone +// This request deletes a snapshot clone. This operation cannot be reversed, but an equivalent clone may be recreated +// from the snapshot. +func (vpc *VpcV1) DeleteSnapshotClone(deleteSnapshotCloneOptions *DeleteSnapshotCloneOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteSnapshotCloneWithContext(context.Background(), deleteSnapshotCloneOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSnapshotCloneWithContext is an alternate form of the DeleteSnapshotClone method which supports a Context parameter +func (vpc *VpcV1) DeleteSnapshotCloneWithContext(ctx context.Context, deleteSnapshotCloneOptions *DeleteSnapshotCloneOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSnapshotCloneOptions, "deleteSnapshotCloneOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSnapshotCloneOptions, "deleteSnapshotCloneOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteSnapshotCloneOptions.ID, + "zone_name": *deleteSnapshotCloneOptions.ZoneName, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots/{id}/clones/{zone_name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSnapshotClone") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSnapshotCloneOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_snapshot_clone", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetSnapshotClone : Retrieve a snapshot clone +// This request retrieves a single clone specified by the snapshot identifier and zone name in the URL. +func (vpc *VpcV1) GetSnapshotClone(getSnapshotCloneOptions *GetSnapshotCloneOptions) (result *SnapshotClone, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSnapshotCloneWithContext(context.Background(), getSnapshotCloneOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSnapshotCloneWithContext is an alternate form of the GetSnapshotClone method which supports a Context parameter +func (vpc *VpcV1) GetSnapshotCloneWithContext(ctx context.Context, getSnapshotCloneOptions *GetSnapshotCloneOptions) (result *SnapshotClone, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSnapshotCloneOptions, "getSnapshotCloneOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSnapshotCloneOptions, "getSnapshotCloneOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getSnapshotCloneOptions.ID, + "zone_name": *getSnapshotCloneOptions.ZoneName, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots/{id}/clones/{zone_name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSnapshotClone") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSnapshotCloneOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_snapshot_clone", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotClone) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateSnapshotClone : Create a clone for a snapshot +// This request creates a new clone for a snapshot in the specified zone. A request body is not required, and if +// provided, is ignored. If the snapshot already has a clone in the zone, it is returned. +func (vpc *VpcV1) CreateSnapshotClone(createSnapshotCloneOptions *CreateSnapshotCloneOptions) (result *SnapshotClone, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateSnapshotCloneWithContext(context.Background(), createSnapshotCloneOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateSnapshotCloneWithContext is an alternate form of the CreateSnapshotClone method which supports a Context parameter +func (vpc *VpcV1) CreateSnapshotCloneWithContext(ctx context.Context, createSnapshotCloneOptions *CreateSnapshotCloneOptions) (result *SnapshotClone, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createSnapshotCloneOptions, "createSnapshotCloneOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createSnapshotCloneOptions, "createSnapshotCloneOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *createSnapshotCloneOptions.ID, + "zone_name": *createSnapshotCloneOptions.ZoneName, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots/{id}/clones/{zone_name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateSnapshotClone") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createSnapshotCloneOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_snapshot_clone", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotClone) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListSnapshotInstanceProfiles : List instance profiles compatible with a snapshot +// This request lists instance profiles compatible with a snapshot's +// `allowed_use.instance`, `operating_system.architecture` and +// `operating_system.user_data_format` properties, sorted by ascending `name` property values. The specified snapshot +// must be bootable. +func (vpc *VpcV1) ListSnapshotInstanceProfiles(listSnapshotInstanceProfilesOptions *ListSnapshotInstanceProfilesOptions) (result *SnapshotInstanceProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSnapshotInstanceProfilesWithContext(context.Background(), listSnapshotInstanceProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSnapshotInstanceProfilesWithContext is an alternate form of the ListSnapshotInstanceProfiles method which supports a Context parameter +func (vpc *VpcV1) ListSnapshotInstanceProfilesWithContext(ctx context.Context, listSnapshotInstanceProfilesOptions *ListSnapshotInstanceProfilesOptions) (result *SnapshotInstanceProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listSnapshotInstanceProfilesOptions, "listSnapshotInstanceProfilesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listSnapshotInstanceProfilesOptions, "listSnapshotInstanceProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listSnapshotInstanceProfilesOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/snapshots/{id}/instance_profiles`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSnapshotInstanceProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSnapshotInstanceProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listSnapshotInstanceProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listSnapshotInstanceProfilesOptions.Start)) + } + if listSnapshotInstanceProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listSnapshotInstanceProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_snapshot_instance_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSnapshotInstanceProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListSubnets : List subnets +// This request lists subnets in the region. Subnets are contiguous ranges of IP addresses specified in CIDR block +// notation. Each subnet is within a particular zone and cannot span multiple zones or regions. +func (vpc *VpcV1) ListSubnets(listSubnetsOptions *ListSubnetsOptions) (result *SubnetCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSubnetsWithContext(context.Background(), listSubnetsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSubnetsWithContext is an alternate form of the ListSubnets method which supports a Context parameter +func (vpc *VpcV1) ListSubnetsWithContext(ctx context.Context, listSubnetsOptions *ListSubnetsOptions) (result *SubnetCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listSubnetsOptions, "listSubnetsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSubnets") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSubnetsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listSubnetsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listSubnetsOptions.Start)) + } + if listSubnetsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listSubnetsOptions.Limit)) + } + if listSubnetsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listSubnetsOptions.ResourceGroupID)) + } + if listSubnetsOptions.ZoneName != nil { + builder.AddQuery("zone.name", fmt.Sprint(*listSubnetsOptions.ZoneName)) + } + if listSubnetsOptions.VPCID != nil { + builder.AddQuery("vpc.id", fmt.Sprint(*listSubnetsOptions.VPCID)) + } + if listSubnetsOptions.VPCCRN != nil { + builder.AddQuery("vpc.crn", fmt.Sprint(*listSubnetsOptions.VPCCRN)) + } + if listSubnetsOptions.VPCName != nil { + builder.AddQuery("vpc.name", fmt.Sprint(*listSubnetsOptions.VPCName)) + } + if listSubnetsOptions.RoutingTableID != nil { + builder.AddQuery("routing_table.id", fmt.Sprint(*listSubnetsOptions.RoutingTableID)) + } + if listSubnetsOptions.RoutingTableName != nil { + builder.AddQuery("routing_table.name", fmt.Sprint(*listSubnetsOptions.RoutingTableName)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_subnets", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSubnetCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateSubnet : Create a subnet +// This request creates a new subnet from a subnet prototype object. The prototype object is structured in the same way +// as a retrieved subnet, and contains the information necessary to create the new subnet. For this request to succeed, +// the prototype's CIDR block must not overlap with an existing subnet in the VPC. +func (vpc *VpcV1) CreateSubnet(createSubnetOptions *CreateSubnetOptions) (result *Subnet, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateSubnetWithContext(context.Background(), createSubnetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateSubnetWithContext is an alternate form of the CreateSubnet method which supports a Context parameter +func (vpc *VpcV1) CreateSubnetWithContext(ctx context.Context, createSubnetOptions *CreateSubnetOptions) (result *Subnet, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createSubnetOptions, "createSubnetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createSubnetOptions, "createSubnetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateSubnet") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createSubnetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createSubnetOptions.SubnetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_subnet", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSubnet : Delete a subnet +// This request deletes a subnet. This operation cannot be reversed. For this request to succeed, the subnet must not be +// referenced by any bare metal server network interfaces, instance network interfaces, virtual network interfaces, VPN +// gateways, or load balancers. A delete operation automatically detaches the subnet from any network ACLs, public +// gateways, or endpoint gateways. All flow log collectors with `auto_delete` set to `true` targeting the subnet or any +// resource in the subnet are automatically deleted. +func (vpc *VpcV1) DeleteSubnet(deleteSubnetOptions *DeleteSubnetOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteSubnetWithContext(context.Background(), deleteSubnetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSubnetWithContext is an alternate form of the DeleteSubnet method which supports a Context parameter +func (vpc *VpcV1) DeleteSubnetWithContext(ctx context.Context, deleteSubnetOptions *DeleteSubnetOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSubnetOptions, "deleteSubnetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSubnetOptions, "deleteSubnetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteSubnetOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSubnet") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSubnetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_subnet", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetSubnet : Retrieve a subnet +// This request retrieves a single subnet specified by the identifier in the URL. +func (vpc *VpcV1) GetSubnet(getSubnetOptions *GetSubnetOptions) (result *Subnet, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSubnetWithContext(context.Background(), getSubnetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSubnetWithContext is an alternate form of the GetSubnet method which supports a Context parameter +func (vpc *VpcV1) GetSubnetWithContext(ctx context.Context, getSubnetOptions *GetSubnetOptions) (result *Subnet, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSubnetOptions, "getSubnetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSubnetOptions, "getSubnetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getSubnetOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSubnet") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSubnetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_subnet", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateSubnet : Update a subnet +// This request updates a subnet with the information in a provided subnet patch. The subnet patch object is structured +// in the same way as a retrieved subnet and contains only the information to be updated. +func (vpc *VpcV1) UpdateSubnet(updateSubnetOptions *UpdateSubnetOptions) (result *Subnet, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateSubnetWithContext(context.Background(), updateSubnetOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateSubnetWithContext is an alternate form of the UpdateSubnet method which supports a Context parameter +func (vpc *VpcV1) UpdateSubnetWithContext(ctx context.Context, updateSubnetOptions *UpdateSubnetOptions) (result *Subnet, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateSubnetOptions, "updateSubnetOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateSubnetOptions, "updateSubnetOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateSubnetOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateSubnet") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateSubnetOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateSubnetOptions.SubnetPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_subnet", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetSubnetNetworkACL : Retrieve a subnet's attached network ACL +// This request retrieves the network ACL attached to the subnet specified by the identifier in the URL. +func (vpc *VpcV1) GetSubnetNetworkACL(getSubnetNetworkACLOptions *GetSubnetNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSubnetNetworkACLWithContext(context.Background(), getSubnetNetworkACLOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSubnetNetworkACLWithContext is an alternate form of the GetSubnetNetworkACL method which supports a Context parameter +func (vpc *VpcV1) GetSubnetNetworkACLWithContext(ctx context.Context, getSubnetNetworkACLOptions *GetSubnetNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSubnetNetworkACLOptions, "getSubnetNetworkACLOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSubnetNetworkACLOptions, "getSubnetNetworkACLOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getSubnetNetworkACLOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}/network_acl`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSubnetNetworkACL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSubnetNetworkACLOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_subnet_network_acl", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACL) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ReplaceSubnetNetworkACL : Replace the network ACL for a subnet +// This request replaces the existing network ACL for a subnet with the network ACL specified in the request body. +func (vpc *VpcV1) ReplaceSubnetNetworkACL(replaceSubnetNetworkACLOptions *ReplaceSubnetNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + result, response, err = vpc.ReplaceSubnetNetworkACLWithContext(context.Background(), replaceSubnetNetworkACLOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ReplaceSubnetNetworkACLWithContext is an alternate form of the ReplaceSubnetNetworkACL method which supports a Context parameter +func (vpc *VpcV1) ReplaceSubnetNetworkACLWithContext(ctx context.Context, replaceSubnetNetworkACLOptions *ReplaceSubnetNetworkACLOptions) (result *NetworkACL, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(replaceSubnetNetworkACLOptions, "replaceSubnetNetworkACLOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(replaceSubnetNetworkACLOptions, "replaceSubnetNetworkACLOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *replaceSubnetNetworkACLOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}/network_acl`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ReplaceSubnetNetworkACL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range replaceSubnetNetworkACLOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(replaceSubnetNetworkACLOptions.NetworkACLIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "replace_subnet_network_acl", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalNetworkACL) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UnsetSubnetPublicGateway : Detach a public gateway from a subnet +// This request detaches the public gateway from the subnet specified by the subnet identifier in the URL. +func (vpc *VpcV1) UnsetSubnetPublicGateway(unsetSubnetPublicGatewayOptions *UnsetSubnetPublicGatewayOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.UnsetSubnetPublicGatewayWithContext(context.Background(), unsetSubnetPublicGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UnsetSubnetPublicGatewayWithContext is an alternate form of the UnsetSubnetPublicGateway method which supports a Context parameter +func (vpc *VpcV1) UnsetSubnetPublicGatewayWithContext(ctx context.Context, unsetSubnetPublicGatewayOptions *UnsetSubnetPublicGatewayOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(unsetSubnetPublicGatewayOptions, "unsetSubnetPublicGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(unsetSubnetPublicGatewayOptions, "unsetSubnetPublicGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *unsetSubnetPublicGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}/public_gateway`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UnsetSubnetPublicGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range unsetSubnetPublicGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "unset_subnet_public_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetSubnetPublicGateway : Retrieve a subnet's attached public gateway +// This request retrieves the public gateway attached to the subnet specified by the identifier in the URL. +func (vpc *VpcV1) GetSubnetPublicGateway(getSubnetPublicGatewayOptions *GetSubnetPublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSubnetPublicGatewayWithContext(context.Background(), getSubnetPublicGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSubnetPublicGatewayWithContext is an alternate form of the GetSubnetPublicGateway method which supports a Context parameter +func (vpc *VpcV1) GetSubnetPublicGatewayWithContext(ctx context.Context, getSubnetPublicGatewayOptions *GetSubnetPublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSubnetPublicGatewayOptions, "getSubnetPublicGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSubnetPublicGatewayOptions, "getSubnetPublicGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getSubnetPublicGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}/public_gateway`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSubnetPublicGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSubnetPublicGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_subnet_public_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// SetSubnetPublicGateway : Attach a public gateway to a subnet +// This request attaches the public gateway, specified in the request body, to the subnet specified by the subnet +// identifier in the URL. The public gateway must have the same VPC and zone as the subnet. +func (vpc *VpcV1) SetSubnetPublicGateway(setSubnetPublicGatewayOptions *SetSubnetPublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + result, response, err = vpc.SetSubnetPublicGatewayWithContext(context.Background(), setSubnetPublicGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SetSubnetPublicGatewayWithContext is an alternate form of the SetSubnetPublicGateway method which supports a Context parameter +func (vpc *VpcV1) SetSubnetPublicGatewayWithContext(ctx context.Context, setSubnetPublicGatewayOptions *SetSubnetPublicGatewayOptions) (result *PublicGateway, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(setSubnetPublicGatewayOptions, "setSubnetPublicGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(setSubnetPublicGatewayOptions, "setSubnetPublicGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *setSubnetPublicGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}/public_gateway`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "SetSubnetPublicGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range setSubnetPublicGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(setSubnetPublicGatewayOptions.PublicGatewayIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "set_subnet_public_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPublicGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetSubnetRoutingTable : Retrieve a subnet's attached routing table +// This request retrieves the routing table attached to the subnet specified by the identifier in the URL. +func (vpc *VpcV1) GetSubnetRoutingTable(getSubnetRoutingTableOptions *GetSubnetRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSubnetRoutingTableWithContext(context.Background(), getSubnetRoutingTableOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSubnetRoutingTableWithContext is an alternate form of the GetSubnetRoutingTable method which supports a Context parameter +func (vpc *VpcV1) GetSubnetRoutingTableWithContext(ctx context.Context, getSubnetRoutingTableOptions *GetSubnetRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSubnetRoutingTableOptions, "getSubnetRoutingTableOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSubnetRoutingTableOptions, "getSubnetRoutingTableOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getSubnetRoutingTableOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}/routing_table`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSubnetRoutingTable") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSubnetRoutingTableOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_subnet_routing_table", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoutingTable) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ReplaceSubnetRoutingTable : Replace the routing table for a subnet +// This request replaces the existing routing table for a subnet with the routing table specified in the request body. +// +// For this request to succeed, the routing table `route_direct_link_ingress`, +// `route_internet_ingress`, `route_transit_gateway_ingress`, and `route_vpc_zone_ingress` properties must be `false`. +func (vpc *VpcV1) ReplaceSubnetRoutingTable(replaceSubnetRoutingTableOptions *ReplaceSubnetRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + result, response, err = vpc.ReplaceSubnetRoutingTableWithContext(context.Background(), replaceSubnetRoutingTableOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ReplaceSubnetRoutingTableWithContext is an alternate form of the ReplaceSubnetRoutingTable method which supports a Context parameter +func (vpc *VpcV1) ReplaceSubnetRoutingTableWithContext(ctx context.Context, replaceSubnetRoutingTableOptions *ReplaceSubnetRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(replaceSubnetRoutingTableOptions, "replaceSubnetRoutingTableOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(replaceSubnetRoutingTableOptions, "replaceSubnetRoutingTableOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *replaceSubnetRoutingTableOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{id}/routing_table`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ReplaceSubnetRoutingTable") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range replaceSubnetRoutingTableOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(replaceSubnetRoutingTableOptions.RoutingTableIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "replace_subnet_routing_table", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoutingTable) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListSubnetReservedIps : List reserved IPs in a subnet +// This request lists reserved IPs in a subnet. A reserved IP resource will exist for every address in the subnet which +// is not available for use. +func (vpc *VpcV1) ListSubnetReservedIps(listSubnetReservedIpsOptions *ListSubnetReservedIpsOptions) (result *ReservedIPCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListSubnetReservedIpsWithContext(context.Background(), listSubnetReservedIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListSubnetReservedIpsWithContext is an alternate form of the ListSubnetReservedIps method which supports a Context parameter +func (vpc *VpcV1) ListSubnetReservedIpsWithContext(ctx context.Context, listSubnetReservedIpsOptions *ListSubnetReservedIpsOptions) (result *ReservedIPCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listSubnetReservedIpsOptions, "listSubnetReservedIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listSubnetReservedIpsOptions, "listSubnetReservedIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "subnet_id": *listSubnetReservedIpsOptions.SubnetID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{subnet_id}/reserved_ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListSubnetReservedIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listSubnetReservedIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listSubnetReservedIpsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listSubnetReservedIpsOptions.Start)) + } + if listSubnetReservedIpsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listSubnetReservedIpsOptions.Limit)) + } + if listSubnetReservedIpsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listSubnetReservedIpsOptions.Sort)) + } + if listSubnetReservedIpsOptions.TargetID != nil { + builder.AddQuery("target.id", fmt.Sprint(*listSubnetReservedIpsOptions.TargetID)) + } + if listSubnetReservedIpsOptions.TargetCRN != nil { + builder.AddQuery("target.crn", fmt.Sprint(*listSubnetReservedIpsOptions.TargetCRN)) + } + if listSubnetReservedIpsOptions.TargetName != nil { + builder.AddQuery("target.name", fmt.Sprint(*listSubnetReservedIpsOptions.TargetName)) + } + if listSubnetReservedIpsOptions.TargetResourceType != nil { + builder.AddQuery("target.resource_type", fmt.Sprint(*listSubnetReservedIpsOptions.TargetResourceType)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_subnet_reserved_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIPCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateSubnetReservedIP : Reserve an IP in a subnet +// This request reserves an IP address in a subnet. If the provided prototype object includes an `address`, the address +// must not already be reserved. +func (vpc *VpcV1) CreateSubnetReservedIP(createSubnetReservedIPOptions *CreateSubnetReservedIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateSubnetReservedIPWithContext(context.Background(), createSubnetReservedIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateSubnetReservedIPWithContext is an alternate form of the CreateSubnetReservedIP method which supports a Context parameter +func (vpc *VpcV1) CreateSubnetReservedIPWithContext(ctx context.Context, createSubnetReservedIPOptions *CreateSubnetReservedIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createSubnetReservedIPOptions, "createSubnetReservedIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createSubnetReservedIPOptions, "createSubnetReservedIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "subnet_id": *createSubnetReservedIPOptions.SubnetID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{subnet_id}/reserved_ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateSubnetReservedIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createSubnetReservedIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createSubnetReservedIPOptions.Address != nil { + body["address"] = createSubnetReservedIPOptions.Address + } + if createSubnetReservedIPOptions.AutoDelete != nil { + body["auto_delete"] = createSubnetReservedIPOptions.AutoDelete + } + if createSubnetReservedIPOptions.Name != nil { + body["name"] = createSubnetReservedIPOptions.Name + } + if createSubnetReservedIPOptions.Target != nil { + body["target"] = createSubnetReservedIPOptions.Target + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_subnet_reserved_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteSubnetReservedIP : Delete a reserved IP +// This request releases a reserved IP. This operation cannot be reversed. +// +// For this request to succeed, the reserved IP must not be required by another resource, such as a bare metal server +// network interface, instance network interface or virtual network interface for which it is the primary IP. A +// provider-owned reserved IP is not allowed to be deleted. +func (vpc *VpcV1) DeleteSubnetReservedIP(deleteSubnetReservedIPOptions *DeleteSubnetReservedIPOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteSubnetReservedIPWithContext(context.Background(), deleteSubnetReservedIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteSubnetReservedIPWithContext is an alternate form of the DeleteSubnetReservedIP method which supports a Context parameter +func (vpc *VpcV1) DeleteSubnetReservedIPWithContext(ctx context.Context, deleteSubnetReservedIPOptions *DeleteSubnetReservedIPOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteSubnetReservedIPOptions, "deleteSubnetReservedIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteSubnetReservedIPOptions, "deleteSubnetReservedIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "subnet_id": *deleteSubnetReservedIPOptions.SubnetID, + "id": *deleteSubnetReservedIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{subnet_id}/reserved_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteSubnetReservedIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteSubnetReservedIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_subnet_reserved_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetSubnetReservedIP : Retrieve a reserved IP +// This request retrieves a single reserved IP specified by the identifier in the URL. +func (vpc *VpcV1) GetSubnetReservedIP(getSubnetReservedIPOptions *GetSubnetReservedIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetSubnetReservedIPWithContext(context.Background(), getSubnetReservedIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetSubnetReservedIPWithContext is an alternate form of the GetSubnetReservedIP method which supports a Context parameter +func (vpc *VpcV1) GetSubnetReservedIPWithContext(ctx context.Context, getSubnetReservedIPOptions *GetSubnetReservedIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getSubnetReservedIPOptions, "getSubnetReservedIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getSubnetReservedIPOptions, "getSubnetReservedIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "subnet_id": *getSubnetReservedIPOptions.SubnetID, + "id": *getSubnetReservedIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{subnet_id}/reserved_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetSubnetReservedIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getSubnetReservedIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_subnet_reserved_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateSubnetReservedIP : Update a reserved IP +// This request updates a reserved IP with the information in a provided reserved IP patch. The reserved IP patch object +// is structured in the same way as a retrieved reserved IP and contains only the information to be updated. +// +// A provider-owned reserved IP is not allowed to be updated. +func (vpc *VpcV1) UpdateSubnetReservedIP(updateSubnetReservedIPOptions *UpdateSubnetReservedIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateSubnetReservedIPWithContext(context.Background(), updateSubnetReservedIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateSubnetReservedIPWithContext is an alternate form of the UpdateSubnetReservedIP method which supports a Context parameter +func (vpc *VpcV1) UpdateSubnetReservedIPWithContext(ctx context.Context, updateSubnetReservedIPOptions *UpdateSubnetReservedIPOptions) (result *ReservedIP, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateSubnetReservedIPOptions, "updateSubnetReservedIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateSubnetReservedIPOptions, "updateSubnetReservedIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "subnet_id": *updateSubnetReservedIPOptions.SubnetID, + "id": *updateSubnetReservedIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/subnets/{subnet_id}/reserved_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateSubnetReservedIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateSubnetReservedIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateSubnetReservedIPOptions.ReservedIPPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_subnet_reserved_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVirtualNetworkInterfaces : List virtual network interfaces +// This request lists virtual network interfaces in the region. A virtual network interface is a logical abstraction of +// a virtual network interface in a subnet, and may be attached to a target resource. +// +// The virtual network interfaces will be sorted by their `created_at` property values, with newest virtual network +// interfaces first. Virtual network interfaces with identical +// `created_at` property values will in turn be sorted by ascending `name` property values. +func (vpc *VpcV1) ListVirtualNetworkInterfaces(listVirtualNetworkInterfacesOptions *ListVirtualNetworkInterfacesOptions) (result *VirtualNetworkInterfaceCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVirtualNetworkInterfacesWithContext(context.Background(), listVirtualNetworkInterfacesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVirtualNetworkInterfacesWithContext is an alternate form of the ListVirtualNetworkInterfaces method which supports a Context parameter +func (vpc *VpcV1) ListVirtualNetworkInterfacesWithContext(ctx context.Context, listVirtualNetworkInterfacesOptions *ListVirtualNetworkInterfacesOptions) (result *VirtualNetworkInterfaceCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listVirtualNetworkInterfacesOptions, "listVirtualNetworkInterfacesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVirtualNetworkInterfaces") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVirtualNetworkInterfacesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVirtualNetworkInterfacesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVirtualNetworkInterfacesOptions.Start)) + } + if listVirtualNetworkInterfacesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVirtualNetworkInterfacesOptions.Limit)) + } + if listVirtualNetworkInterfacesOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listVirtualNetworkInterfacesOptions.ResourceGroupID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_virtual_network_interfaces", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVirtualNetworkInterfaceCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVirtualNetworkInterface : Create a virtual network interface +// This request creates a new virtual network interface from a virtual network interface prototype object. The prototype +// object is structured in the same way as a retrieved virtual network interface, and contains the information necessary +// to create the new virtual network interface. +func (vpc *VpcV1) CreateVirtualNetworkInterface(createVirtualNetworkInterfaceOptions *CreateVirtualNetworkInterfaceOptions) (result *VirtualNetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVirtualNetworkInterfaceWithContext(context.Background(), createVirtualNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVirtualNetworkInterfaceWithContext is an alternate form of the CreateVirtualNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) CreateVirtualNetworkInterfaceWithContext(ctx context.Context, createVirtualNetworkInterfaceOptions *CreateVirtualNetworkInterfaceOptions) (result *VirtualNetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVirtualNetworkInterfaceOptions, "createVirtualNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVirtualNetworkInterfaceOptions, "createVirtualNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVirtualNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVirtualNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVirtualNetworkInterfaceOptions.AllowIPSpoofing != nil { + body["allow_ip_spoofing"] = createVirtualNetworkInterfaceOptions.AllowIPSpoofing + } + if createVirtualNetworkInterfaceOptions.AutoDelete != nil { + body["auto_delete"] = createVirtualNetworkInterfaceOptions.AutoDelete + } + if createVirtualNetworkInterfaceOptions.EnableInfrastructureNat != nil { + body["enable_infrastructure_nat"] = createVirtualNetworkInterfaceOptions.EnableInfrastructureNat + } + if createVirtualNetworkInterfaceOptions.Ips != nil { + body["ips"] = createVirtualNetworkInterfaceOptions.Ips + } + if createVirtualNetworkInterfaceOptions.Name != nil { + body["name"] = createVirtualNetworkInterfaceOptions.Name + } + if createVirtualNetworkInterfaceOptions.PrimaryIP != nil { + body["primary_ip"] = createVirtualNetworkInterfaceOptions.PrimaryIP + } + if createVirtualNetworkInterfaceOptions.ProtocolStateFilteringMode != nil { + body["protocol_state_filtering_mode"] = createVirtualNetworkInterfaceOptions.ProtocolStateFilteringMode + } + if createVirtualNetworkInterfaceOptions.ResourceGroup != nil { + body["resource_group"] = createVirtualNetworkInterfaceOptions.ResourceGroup + } + if createVirtualNetworkInterfaceOptions.SecurityGroups != nil { + body["security_groups"] = createVirtualNetworkInterfaceOptions.SecurityGroups + } + if createVirtualNetworkInterfaceOptions.Subnet != nil { + body["subnet"] = createVirtualNetworkInterfaceOptions.Subnet + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_virtual_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVirtualNetworkInterfaces : Delete a virtual network interface +// This request deletes a virtual network interface. This operation cannot be reversed. For this request to succeed, the +// virtual network interface must not be required by another resource, such as the primary network attachment for an +// instance. +func (vpc *VpcV1) DeleteVirtualNetworkInterfaces(deleteVirtualNetworkInterfacesOptions *DeleteVirtualNetworkInterfacesOptions) (result *VirtualNetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteVirtualNetworkInterfacesWithContext(context.Background(), deleteVirtualNetworkInterfacesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVirtualNetworkInterfacesWithContext is an alternate form of the DeleteVirtualNetworkInterfaces method which supports a Context parameter +func (vpc *VpcV1) DeleteVirtualNetworkInterfacesWithContext(ctx context.Context, deleteVirtualNetworkInterfacesOptions *DeleteVirtualNetworkInterfacesOptions) (result *VirtualNetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVirtualNetworkInterfacesOptions, "deleteVirtualNetworkInterfacesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVirtualNetworkInterfacesOptions, "deleteVirtualNetworkInterfacesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteVirtualNetworkInterfacesOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVirtualNetworkInterfaces") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVirtualNetworkInterfacesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_virtual_network_interfaces", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetVirtualNetworkInterface : Retrieve a virtual network interface +// This request retrieves a single virtual network interface specified by the identifier in the URL. +func (vpc *VpcV1) GetVirtualNetworkInterface(getVirtualNetworkInterfaceOptions *GetVirtualNetworkInterfaceOptions) (result *VirtualNetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVirtualNetworkInterfaceWithContext(context.Background(), getVirtualNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVirtualNetworkInterfaceWithContext is an alternate form of the GetVirtualNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) GetVirtualNetworkInterfaceWithContext(ctx context.Context, getVirtualNetworkInterfaceOptions *GetVirtualNetworkInterfaceOptions) (result *VirtualNetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVirtualNetworkInterfaceOptions, "getVirtualNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVirtualNetworkInterfaceOptions, "getVirtualNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVirtualNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVirtualNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVirtualNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_virtual_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVirtualNetworkInterface : Update a virtual network interface +// This request updates a virtual network interface with the information in a provided virtual network interface patch. +// The virtual network interface patch object is structured in the same way as a retrieved virtual network interface and +// contains only the information to be updated. +func (vpc *VpcV1) UpdateVirtualNetworkInterface(updateVirtualNetworkInterfaceOptions *UpdateVirtualNetworkInterfaceOptions) (result *VirtualNetworkInterface, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVirtualNetworkInterfaceWithContext(context.Background(), updateVirtualNetworkInterfaceOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVirtualNetworkInterfaceWithContext is an alternate form of the UpdateVirtualNetworkInterface method which supports a Context parameter +func (vpc *VpcV1) UpdateVirtualNetworkInterfaceWithContext(ctx context.Context, updateVirtualNetworkInterfaceOptions *UpdateVirtualNetworkInterfaceOptions) (result *VirtualNetworkInterface, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVirtualNetworkInterfaceOptions, "updateVirtualNetworkInterfaceOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVirtualNetworkInterfaceOptions, "updateVirtualNetworkInterfaceOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateVirtualNetworkInterfaceOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVirtualNetworkInterface") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVirtualNetworkInterfaceOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVirtualNetworkInterfaceOptions.VirtualNetworkInterfacePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_virtual_network_interface", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListNetworkInterfaceFloatingIps : List floating IPs associated with a virtual network interface +// This request lists floating IPs associated with a virtual network interface. +func (vpc *VpcV1) ListNetworkInterfaceFloatingIps(listNetworkInterfaceFloatingIpsOptions *ListNetworkInterfaceFloatingIpsOptions) (result *FloatingIPCollectionVirtualNetworkInterfaceContext, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListNetworkInterfaceFloatingIpsWithContext(context.Background(), listNetworkInterfaceFloatingIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListNetworkInterfaceFloatingIpsWithContext is an alternate form of the ListNetworkInterfaceFloatingIps method which supports a Context parameter +func (vpc *VpcV1) ListNetworkInterfaceFloatingIpsWithContext(ctx context.Context, listNetworkInterfaceFloatingIpsOptions *ListNetworkInterfaceFloatingIpsOptions) (result *FloatingIPCollectionVirtualNetworkInterfaceContext, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listNetworkInterfaceFloatingIpsOptions, "listNetworkInterfaceFloatingIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listNetworkInterfaceFloatingIpsOptions, "listNetworkInterfaceFloatingIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "virtual_network_interface_id": *listNetworkInterfaceFloatingIpsOptions.VirtualNetworkInterfaceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{virtual_network_interface_id}/floating_ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListNetworkInterfaceFloatingIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listNetworkInterfaceFloatingIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listNetworkInterfaceFloatingIpsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listNetworkInterfaceFloatingIpsOptions.Start)) + } + if listNetworkInterfaceFloatingIpsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listNetworkInterfaceFloatingIpsOptions.Limit)) + } + if listNetworkInterfaceFloatingIpsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listNetworkInterfaceFloatingIpsOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_network_interface_floating_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIPCollectionVirtualNetworkInterfaceContext) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RemoveNetworkInterfaceFloatingIP : Disassociate a floating IP from a virtual network interface +// This request disassociates the specified floating IP from the specified virtual network interface. +func (vpc *VpcV1) RemoveNetworkInterfaceFloatingIP(removeNetworkInterfaceFloatingIPOptions *RemoveNetworkInterfaceFloatingIPOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RemoveNetworkInterfaceFloatingIPWithContext(context.Background(), removeNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RemoveNetworkInterfaceFloatingIPWithContext is an alternate form of the RemoveNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) RemoveNetworkInterfaceFloatingIPWithContext(ctx context.Context, removeNetworkInterfaceFloatingIPOptions *RemoveNetworkInterfaceFloatingIPOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(removeNetworkInterfaceFloatingIPOptions, "removeNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(removeNetworkInterfaceFloatingIPOptions, "removeNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "virtual_network_interface_id": *removeNetworkInterfaceFloatingIPOptions.VirtualNetworkInterfaceID, + "id": *removeNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{virtual_network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RemoveNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range removeNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "remove_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetNetworkInterfaceFloatingIP : Retrieve associated floating IP +// This request retrieves a specified floating IP if it is associated with the virtual network interface specified in +// the URL. +func (vpc *VpcV1) GetNetworkInterfaceFloatingIP(getNetworkInterfaceFloatingIPOptions *GetNetworkInterfaceFloatingIPOptions) (result *FloatingIPReference, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetNetworkInterfaceFloatingIPWithContext(context.Background(), getNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetNetworkInterfaceFloatingIPWithContext is an alternate form of the GetNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) GetNetworkInterfaceFloatingIPWithContext(ctx context.Context, getNetworkInterfaceFloatingIPOptions *GetNetworkInterfaceFloatingIPOptions) (result *FloatingIPReference, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getNetworkInterfaceFloatingIPOptions, "getNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getNetworkInterfaceFloatingIPOptions, "getNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "virtual_network_interface_id": *getNetworkInterfaceFloatingIPOptions.VirtualNetworkInterfaceID, + "id": *getNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{virtual_network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// AddNetworkInterfaceFloatingIP : Add an association between a floating IP and a virtual network interface +// This request adds an association between the specified floating IP and the specified virtual network interface. +// +// If the virtual network interface has `enable_infrastructure_nat` set to `true`, no more than one floating IP can be +// associated, and network address translation is performed between the floating IP address and the virtual network +// interface's `primary_ip` address. +// +// If the virtual network interface has `enable_infrastructure_nat` set to `false`, packets are passed unchanged to/from +// the virtual network interface. +// +// The floating IP must: +// - be in the same `zone` as the virtual network interface +// - not currently be associated with another resource +// +// The virtual network interface's `target` must not currently be a file share mount target. +// +// A request body is not required, and if provided, is ignored. +func (vpc *VpcV1) AddNetworkInterfaceFloatingIP(addNetworkInterfaceFloatingIPOptions *AddNetworkInterfaceFloatingIPOptions) (result *FloatingIPReference, response *core.DetailedResponse, err error) { + result, response, err = vpc.AddNetworkInterfaceFloatingIPWithContext(context.Background(), addNetworkInterfaceFloatingIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// AddNetworkInterfaceFloatingIPWithContext is an alternate form of the AddNetworkInterfaceFloatingIP method which supports a Context parameter +func (vpc *VpcV1) AddNetworkInterfaceFloatingIPWithContext(ctx context.Context, addNetworkInterfaceFloatingIPOptions *AddNetworkInterfaceFloatingIPOptions) (result *FloatingIPReference, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(addNetworkInterfaceFloatingIPOptions, "addNetworkInterfaceFloatingIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(addNetworkInterfaceFloatingIPOptions, "addNetworkInterfaceFloatingIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "virtual_network_interface_id": *addNetworkInterfaceFloatingIPOptions.VirtualNetworkInterfaceID, + "id": *addNetworkInterfaceFloatingIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{virtual_network_interface_id}/floating_ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "AddNetworkInterfaceFloatingIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range addNetworkInterfaceFloatingIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "add_network_interface_floating_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalFloatingIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVirtualNetworkInterfaceIps : List reserved IPs bound to a virtual network interface +// This request lists reserved IPs bound to a virtual network interface. +func (vpc *VpcV1) ListVirtualNetworkInterfaceIps(listVirtualNetworkInterfaceIpsOptions *ListVirtualNetworkInterfaceIpsOptions) (result *ReservedIPCollectionVirtualNetworkInterfaceContext, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVirtualNetworkInterfaceIpsWithContext(context.Background(), listVirtualNetworkInterfaceIpsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVirtualNetworkInterfaceIpsWithContext is an alternate form of the ListVirtualNetworkInterfaceIps method which supports a Context parameter +func (vpc *VpcV1) ListVirtualNetworkInterfaceIpsWithContext(ctx context.Context, listVirtualNetworkInterfaceIpsOptions *ListVirtualNetworkInterfaceIpsOptions) (result *ReservedIPCollectionVirtualNetworkInterfaceContext, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVirtualNetworkInterfaceIpsOptions, "listVirtualNetworkInterfaceIpsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVirtualNetworkInterfaceIpsOptions, "listVirtualNetworkInterfaceIpsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "virtual_network_interface_id": *listVirtualNetworkInterfaceIpsOptions.VirtualNetworkInterfaceID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{virtual_network_interface_id}/ips`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVirtualNetworkInterfaceIps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVirtualNetworkInterfaceIpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVirtualNetworkInterfaceIpsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVirtualNetworkInterfaceIpsOptions.Start)) + } + if listVirtualNetworkInterfaceIpsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVirtualNetworkInterfaceIpsOptions.Limit)) + } + if listVirtualNetworkInterfaceIpsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listVirtualNetworkInterfaceIpsOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_virtual_network_interface_ips", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIPCollectionVirtualNetworkInterfaceContext) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RemoveVirtualNetworkInterfaceIP : Unbind a reserved IP from a virtual network interface +// This request unbinds the specified reserved IP from the specified virtual network interface. If the reserved IP has +// `auto_delete` set to `true`, the reserved IP will be deleted. +// +// The reserved IP for the `primary_ip` cannot be unbound. +func (vpc *VpcV1) RemoveVirtualNetworkInterfaceIP(removeVirtualNetworkInterfaceIPOptions *RemoveVirtualNetworkInterfaceIPOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RemoveVirtualNetworkInterfaceIPWithContext(context.Background(), removeVirtualNetworkInterfaceIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RemoveVirtualNetworkInterfaceIPWithContext is an alternate form of the RemoveVirtualNetworkInterfaceIP method which supports a Context parameter +func (vpc *VpcV1) RemoveVirtualNetworkInterfaceIPWithContext(ctx context.Context, removeVirtualNetworkInterfaceIPOptions *RemoveVirtualNetworkInterfaceIPOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(removeVirtualNetworkInterfaceIPOptions, "removeVirtualNetworkInterfaceIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(removeVirtualNetworkInterfaceIPOptions, "removeVirtualNetworkInterfaceIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "virtual_network_interface_id": *removeVirtualNetworkInterfaceIPOptions.VirtualNetworkInterfaceID, + "id": *removeVirtualNetworkInterfaceIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{virtual_network_interface_id}/ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RemoveVirtualNetworkInterfaceIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range removeVirtualNetworkInterfaceIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "remove_virtual_network_interface_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVirtualNetworkInterfaceIP : Retrieve bound reserved IP +// This request retrieves the specified reserved IP address if it is bound to the virtual network interface specified in +// the URL. +func (vpc *VpcV1) GetVirtualNetworkInterfaceIP(getVirtualNetworkInterfaceIPOptions *GetVirtualNetworkInterfaceIPOptions) (result *ReservedIPReference, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVirtualNetworkInterfaceIPWithContext(context.Background(), getVirtualNetworkInterfaceIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVirtualNetworkInterfaceIPWithContext is an alternate form of the GetVirtualNetworkInterfaceIP method which supports a Context parameter +func (vpc *VpcV1) GetVirtualNetworkInterfaceIPWithContext(ctx context.Context, getVirtualNetworkInterfaceIPOptions *GetVirtualNetworkInterfaceIPOptions) (result *ReservedIPReference, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVirtualNetworkInterfaceIPOptions, "getVirtualNetworkInterfaceIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVirtualNetworkInterfaceIPOptions, "getVirtualNetworkInterfaceIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "virtual_network_interface_id": *getVirtualNetworkInterfaceIPOptions.VirtualNetworkInterfaceID, + "id": *getVirtualNetworkInterfaceIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{virtual_network_interface_id}/ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVirtualNetworkInterfaceIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVirtualNetworkInterfaceIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_virtual_network_interface_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// AddVirtualNetworkInterfaceIP : Bind a reserved IP to a virtual network interface +// This request binds the specified reserved IP to the specified virtual network interface. +// +// The reserved IP must currently be unbound and in the primary IP's subnet. The virtual network interface's `target` +// must not currently be a file share mount target. +func (vpc *VpcV1) AddVirtualNetworkInterfaceIP(addVirtualNetworkInterfaceIPOptions *AddVirtualNetworkInterfaceIPOptions) (result *ReservedIPReference, response *core.DetailedResponse, err error) { + result, response, err = vpc.AddVirtualNetworkInterfaceIPWithContext(context.Background(), addVirtualNetworkInterfaceIPOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// AddVirtualNetworkInterfaceIPWithContext is an alternate form of the AddVirtualNetworkInterfaceIP method which supports a Context parameter +func (vpc *VpcV1) AddVirtualNetworkInterfaceIPWithContext(ctx context.Context, addVirtualNetworkInterfaceIPOptions *AddVirtualNetworkInterfaceIPOptions) (result *ReservedIPReference, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(addVirtualNetworkInterfaceIPOptions, "addVirtualNetworkInterfaceIPOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(addVirtualNetworkInterfaceIPOptions, "addVirtualNetworkInterfaceIPOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "virtual_network_interface_id": *addVirtualNetworkInterfaceIPOptions.VirtualNetworkInterfaceID, + "id": *addVirtualNetworkInterfaceIPOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/virtual_network_interfaces/{virtual_network_interface_id}/ips/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "AddVirtualNetworkInterfaceIP") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range addVirtualNetworkInterfaceIPOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "add_virtual_network_interface_ip", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVolumeProfiles : List volume profiles +// This request lists [volume profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) available in +// the region. A volume profile specifies the performance characteristics and pricing model for a volume. +func (vpc *VpcV1) ListVolumeProfiles(listVolumeProfilesOptions *ListVolumeProfilesOptions) (result *VolumeProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVolumeProfilesWithContext(context.Background(), listVolumeProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVolumeProfilesWithContext is an alternate form of the ListVolumeProfiles method which supports a Context parameter +func (vpc *VpcV1) ListVolumeProfilesWithContext(ctx context.Context, listVolumeProfilesOptions *ListVolumeProfilesOptions) (result *VolumeProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listVolumeProfilesOptions, "listVolumeProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/volume/profiles`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVolumeProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVolumeProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVolumeProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVolumeProfilesOptions.Start)) + } + if listVolumeProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVolumeProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_volume_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolumeProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetVolumeProfile : Retrieve a volume profile +// This request retrieves a single volume profile specified by the name in the URL. +func (vpc *VpcV1) GetVolumeProfile(getVolumeProfileOptions *GetVolumeProfileOptions) (result *VolumeProfile, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVolumeProfileWithContext(context.Background(), getVolumeProfileOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVolumeProfileWithContext is an alternate form of the GetVolumeProfile method which supports a Context parameter +func (vpc *VpcV1) GetVolumeProfileWithContext(ctx context.Context, getVolumeProfileOptions *GetVolumeProfileOptions) (result *VolumeProfile, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVolumeProfileOptions, "getVolumeProfileOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVolumeProfileOptions, "getVolumeProfileOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "name": *getVolumeProfileOptions.Name, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/volume/profiles/{name}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVolumeProfile") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVolumeProfileOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_volume_profile", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolumeProfile) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVolumes : List volumes +// This request lists volumes in the region. Volumes are network-connected block storage devices that may be attached to +// one or more instances in the same region. +func (vpc *VpcV1) ListVolumes(listVolumesOptions *ListVolumesOptions) (result *VolumeCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVolumesWithContext(context.Background(), listVolumesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVolumesWithContext is an alternate form of the ListVolumes method which supports a Context parameter +func (vpc *VpcV1) ListVolumesWithContext(ctx context.Context, listVolumesOptions *ListVolumesOptions) (result *VolumeCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listVolumesOptions, "listVolumesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/volumes`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVolumes") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVolumesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVolumesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVolumesOptions.Start)) + } + if listVolumesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVolumesOptions.Limit)) + } + if listVolumesOptions.AttachmentState != nil { + builder.AddQuery("attachment_state", fmt.Sprint(*listVolumesOptions.AttachmentState)) + } + if listVolumesOptions.Encryption != nil { + builder.AddQuery("encryption", fmt.Sprint(*listVolumesOptions.Encryption)) + } + if listVolumesOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listVolumesOptions.Name)) + } + if listVolumesOptions.OperatingSystemFamily != nil { + builder.AddQuery("operating_system.family", fmt.Sprint(*listVolumesOptions.OperatingSystemFamily)) + } + if listVolumesOptions.OperatingSystemArchitecture != nil { + builder.AddQuery("operating_system.architecture", fmt.Sprint(*listVolumesOptions.OperatingSystemArchitecture)) + } + if listVolumesOptions.Tag != nil { + builder.AddQuery("tag", fmt.Sprint(*listVolumesOptions.Tag)) + } + if listVolumesOptions.ZoneName != nil { + builder.AddQuery("zone.name", fmt.Sprint(*listVolumesOptions.ZoneName)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_volumes", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolumeCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVolume : Create a volume +// This request creates a new volume from a volume prototype object. The prototype object is structured in the same way +// as a retrieved volume, and contains the information necessary to create the new volume. +func (vpc *VpcV1) CreateVolume(createVolumeOptions *CreateVolumeOptions) (result *Volume, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVolumeWithContext(context.Background(), createVolumeOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVolumeWithContext is an alternate form of the CreateVolume method which supports a Context parameter +func (vpc *VpcV1) CreateVolumeWithContext(ctx context.Context, createVolumeOptions *CreateVolumeOptions) (result *Volume, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVolumeOptions, "createVolumeOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVolumeOptions, "createVolumeOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/volumes`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVolume") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVolumeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createVolumeOptions.VolumePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_volume", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolume) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVolume : Delete a volume +// This request deletes a volume. This operation cannot be reversed. For this request to succeed, the volume must not be +// attached to any instances. +func (vpc *VpcV1) DeleteVolume(deleteVolumeOptions *DeleteVolumeOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVolumeWithContext(context.Background(), deleteVolumeOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVolumeWithContext is an alternate form of the DeleteVolume method which supports a Context parameter +func (vpc *VpcV1) DeleteVolumeWithContext(ctx context.Context, deleteVolumeOptions *DeleteVolumeOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVolumeOptions, "deleteVolumeOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVolumeOptions, "deleteVolumeOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteVolumeOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/volumes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVolume") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVolumeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + if deleteVolumeOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteVolumeOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_volume", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVolume : Retrieve a volume +// This request retrieves a single volume specified by the identifier in the URL. +func (vpc *VpcV1) GetVolume(getVolumeOptions *GetVolumeOptions) (result *Volume, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVolumeWithContext(context.Background(), getVolumeOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVolumeWithContext is an alternate form of the GetVolume method which supports a Context parameter +func (vpc *VpcV1) GetVolumeWithContext(ctx context.Context, getVolumeOptions *GetVolumeOptions) (result *Volume, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVolumeOptions, "getVolumeOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVolumeOptions, "getVolumeOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVolumeOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/volumes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVolume") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVolumeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_volume", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolume) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVolume : Update a volume +// This request updates a volume with the information in a provided volume patch. The volume patch object is structured +// in the same way as a retrieved volume and contains only the information to be updated. +func (vpc *VpcV1) UpdateVolume(updateVolumeOptions *UpdateVolumeOptions) (result *Volume, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVolumeWithContext(context.Background(), updateVolumeOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVolumeWithContext is an alternate form of the UpdateVolume method which supports a Context parameter +func (vpc *VpcV1) UpdateVolumeWithContext(ctx context.Context, updateVolumeOptions *UpdateVolumeOptions) (result *Volume, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVolumeOptions, "updateVolumeOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVolumeOptions, "updateVolumeOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateVolumeOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/volumes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVolume") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVolumeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateVolumeOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateVolumeOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVolumeOptions.VolumePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_volume", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolume) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVolumeInstanceProfiles : List instance profiles compatible with a volume +// This request lists instance profiles compatible with a volume's +// `allowed_use.instance`, `operating_system.architecture` and +// `operating_system.user_data_format` properties, sorted by ascending `name` property values. The specified volume must +// be bootable (have an `operating_system` property). +func (vpc *VpcV1) ListVolumeInstanceProfiles(listVolumeInstanceProfilesOptions *ListVolumeInstanceProfilesOptions) (result *VolumeInstanceProfileCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVolumeInstanceProfilesWithContext(context.Background(), listVolumeInstanceProfilesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVolumeInstanceProfilesWithContext is an alternate form of the ListVolumeInstanceProfiles method which supports a Context parameter +func (vpc *VpcV1) ListVolumeInstanceProfilesWithContext(ctx context.Context, listVolumeInstanceProfilesOptions *ListVolumeInstanceProfilesOptions) (result *VolumeInstanceProfileCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVolumeInstanceProfilesOptions, "listVolumeInstanceProfilesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVolumeInstanceProfilesOptions, "listVolumeInstanceProfilesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listVolumeInstanceProfilesOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/volumes/{id}/instance_profiles`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVolumeInstanceProfiles") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVolumeInstanceProfilesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVolumeInstanceProfilesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVolumeInstanceProfilesOptions.Start)) + } + if listVolumeInstanceProfilesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVolumeInstanceProfilesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_volume_instance_profiles", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVolumeInstanceProfileCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVpcs : List VPCs +// This request lists VPCs in the region. A VPC is a virtual network that belongs to an account and provides logical +// isolation from other networks. A VPC is made up of resources in one or more zones. VPCs are regional, and each VPC +// can contain resources in multiple zones in a region. +func (vpc *VpcV1) ListVpcs(listVpcsOptions *ListVpcsOptions) (result *VPCCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVpcsWithContext(context.Background(), listVpcsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVpcsWithContext is an alternate form of the ListVpcs method which supports a Context parameter +func (vpc *VpcV1) ListVpcsWithContext(ctx context.Context, listVpcsOptions *ListVpcsOptions) (result *VPCCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listVpcsOptions, "listVpcsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVpcs") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVpcsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVpcsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVpcsOptions.Start)) + } + if listVpcsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVpcsOptions.Limit)) + } + if listVpcsOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listVpcsOptions.ResourceGroupID)) + } + if listVpcsOptions.ClassicAccess != nil { + builder.AddQuery("classic_access", fmt.Sprint(*listVpcsOptions.ClassicAccess)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpcs", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPCCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPC : Create a VPC +// This request creates a new VPC from a VPC prototype object. The prototype object is structured in the same way as a +// retrieved VPC, and contains the information necessary to create the new VPC. +// +// The system will automatically create the following additional resources for the VPC: +// - Unless `address_prefix_management` is `manual`, a [default address +// prefix](https://cloud.ibm.com/apidocs/vpc/latest#get-vpc-address-prefix) for each zone +// - A [default network +// ACL](https://cloud.ibm.com/apidocs/vpc/latest#get-vpc-default-network-acl) +// - A [default routing +// table](https://cloud.ibm.com/apidocs/vpc/latest#get-vpc-default-routing-table) +// - A [default security +// group](https://cloud.ibm.com/apidocs/vpc/latest#get-vpc-default-security-group). +func (vpc *VpcV1) CreateVPC(createVPCOptions *CreateVPCOptions) (result *VPC, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPCWithContext(context.Background(), createVPCOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPCWithContext is an alternate form of the CreateVPC method which supports a Context parameter +func (vpc *VpcV1) CreateVPCWithContext(ctx context.Context, createVPCOptions *CreateVPCOptions) (result *VPC, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(createVPCOptions, "createVPCOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPC") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPCOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVPCOptions.AddressPrefixManagement != nil { + body["address_prefix_management"] = createVPCOptions.AddressPrefixManagement + } + if createVPCOptions.ClassicAccess != nil { + body["classic_access"] = createVPCOptions.ClassicAccess + } + if createVPCOptions.Dns != nil { + body["dns"] = createVPCOptions.Dns + } + if createVPCOptions.Name != nil { + body["name"] = createVPCOptions.Name + } + if createVPCOptions.ResourceGroup != nil { + body["resource_group"] = createVPCOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpc", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPC) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPC : Delete a VPC +// This request deletes a VPC. This operation cannot be reversed. +// +// For this request to succeed: +// - Instances, subnets, public gateways, endpoint gateways, and private path service +// gateways must not reside in this VPC +// - The VPC must not be providing DNS resolution for any other VPCs +// - If `dns.enable_hub` is `true`, `dns.resolution_binding_count` must be zero +// +// All security groups and network ACLs associated with the VPC are automatically deleted. All flow log collectors with +// `auto_delete` set to `true` targeting the VPC or any resource in the VPC are automatically deleted. All public +// address ranges attached to the VPC are automatically detached. +func (vpc *VpcV1) DeleteVPC(deleteVPCOptions *DeleteVPCOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPCWithContext(context.Background(), deleteVPCOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPCWithContext is an alternate form of the DeleteVPC method which supports a Context parameter +func (vpc *VpcV1) DeleteVPCWithContext(ctx context.Context, deleteVPCOptions *DeleteVPCOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPCOptions, "deleteVPCOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPCOptions, "deleteVPCOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteVPCOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPC") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPCOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + if deleteVPCOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteVPCOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpc", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPC : Retrieve a VPC +// This request retrieves a single VPC specified by the identifier in the URL. +func (vpc *VpcV1) GetVPC(getVPCOptions *GetVPCOptions) (result *VPC, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCWithContext(context.Background(), getVPCOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCWithContext is an alternate form of the GetVPC method which supports a Context parameter +func (vpc *VpcV1) GetVPCWithContext(ctx context.Context, getVPCOptions *GetVPCOptions) (result *VPC, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPCOptions, "getVPCOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCOptions, "getVPCOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVPCOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPC") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPC) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPC : Update a VPC +// This request updates a VPC with the information provided in a VPC patch object. The patch object is structured in the +// same way as a retrieved VPC and needs to contain only the information to be updated. +func (vpc *VpcV1) UpdateVPC(updateVPCOptions *UpdateVPCOptions) (result *VPC, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPCWithContext(context.Background(), updateVPCOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPCWithContext is an alternate form of the UpdateVPC method which supports a Context parameter +func (vpc *VpcV1) UpdateVPCWithContext(ctx context.Context, updateVPCOptions *UpdateVPCOptions) (result *VPC, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPCOptions, "updateVPCOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPCOptions, "updateVPCOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateVPCOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPC") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPCOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateVPCOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateVPCOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPCOptions.VPCPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpc", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPC) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetVPCDefaultNetworkACL : Retrieve a VPC's default network ACL +// This request retrieves the default network ACL for the VPC specified by the identifier in the URL. The default +// network ACL is applied to any new subnets in the VPC which do not specify a network ACL. +func (vpc *VpcV1) GetVPCDefaultNetworkACL(getVPCDefaultNetworkACLOptions *GetVPCDefaultNetworkACLOptions) (result *DefaultNetworkACL, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCDefaultNetworkACLWithContext(context.Background(), getVPCDefaultNetworkACLOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCDefaultNetworkACLWithContext is an alternate form of the GetVPCDefaultNetworkACL method which supports a Context parameter +func (vpc *VpcV1) GetVPCDefaultNetworkACLWithContext(ctx context.Context, getVPCDefaultNetworkACLOptions *GetVPCDefaultNetworkACLOptions) (result *DefaultNetworkACL, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPCDefaultNetworkACLOptions, "getVPCDefaultNetworkACLOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCDefaultNetworkACLOptions, "getVPCDefaultNetworkACLOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVPCDefaultNetworkACLOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{id}/default_network_acl`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPCDefaultNetworkACL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCDefaultNetworkACLOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc_default_network_acl", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDefaultNetworkACL) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetVPCDefaultRoutingTable : Retrieve a VPC's default routing table +// This request retrieves the default routing table for the VPC specified by the identifier in the URL. The default +// routing table is associated with any subnets in the VPC which have not been explicitly associated with another +// routing table. +func (vpc *VpcV1) GetVPCDefaultRoutingTable(getVPCDefaultRoutingTableOptions *GetVPCDefaultRoutingTableOptions) (result *DefaultRoutingTable, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCDefaultRoutingTableWithContext(context.Background(), getVPCDefaultRoutingTableOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCDefaultRoutingTableWithContext is an alternate form of the GetVPCDefaultRoutingTable method which supports a Context parameter +func (vpc *VpcV1) GetVPCDefaultRoutingTableWithContext(ctx context.Context, getVPCDefaultRoutingTableOptions *GetVPCDefaultRoutingTableOptions) (result *DefaultRoutingTable, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPCDefaultRoutingTableOptions, "getVPCDefaultRoutingTableOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCDefaultRoutingTableOptions, "getVPCDefaultRoutingTableOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVPCDefaultRoutingTableOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{id}/default_routing_table`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPCDefaultRoutingTable") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCDefaultRoutingTableOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc_default_routing_table", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDefaultRoutingTable) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetVPCDefaultSecurityGroup : Retrieve a VPC's default security group +// This request retrieves the default security group for the VPC specified by the identifier in the URL. Resources +// created in this VPC that allow a security group to be optionally specified will use this security group by default. +func (vpc *VpcV1) GetVPCDefaultSecurityGroup(getVPCDefaultSecurityGroupOptions *GetVPCDefaultSecurityGroupOptions) (result *DefaultSecurityGroup, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCDefaultSecurityGroupWithContext(context.Background(), getVPCDefaultSecurityGroupOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCDefaultSecurityGroupWithContext is an alternate form of the GetVPCDefaultSecurityGroup method which supports a Context parameter +func (vpc *VpcV1) GetVPCDefaultSecurityGroupWithContext(ctx context.Context, getVPCDefaultSecurityGroupOptions *GetVPCDefaultSecurityGroupOptions) (result *DefaultSecurityGroup, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPCDefaultSecurityGroupOptions, "getVPCDefaultSecurityGroupOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCDefaultSecurityGroupOptions, "getVPCDefaultSecurityGroupOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVPCDefaultSecurityGroupOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{id}/default_security_group`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPCDefaultSecurityGroup") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCDefaultSecurityGroupOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc_default_security_group", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDefaultSecurityGroup) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPCAddressPrefixes : List address prefixes for a VPC +// This request lists address pool prefixes for a VPC. +func (vpc *VpcV1) ListVPCAddressPrefixes(listVPCAddressPrefixesOptions *ListVPCAddressPrefixesOptions) (result *AddressPrefixCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPCAddressPrefixesWithContext(context.Background(), listVPCAddressPrefixesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPCAddressPrefixesWithContext is an alternate form of the ListVPCAddressPrefixes method which supports a Context parameter +func (vpc *VpcV1) ListVPCAddressPrefixesWithContext(ctx context.Context, listVPCAddressPrefixesOptions *ListVPCAddressPrefixesOptions) (result *AddressPrefixCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPCAddressPrefixesOptions, "listVPCAddressPrefixesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPCAddressPrefixesOptions, "listVPCAddressPrefixesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *listVPCAddressPrefixesOptions.VPCID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/address_prefixes`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPCAddressPrefixes") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPCAddressPrefixesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPCAddressPrefixesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPCAddressPrefixesOptions.Start)) + } + if listVPCAddressPrefixesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPCAddressPrefixesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpc_address_prefixes", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalAddressPrefixCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPCAddressPrefix : Create an address prefix for a VPC +// This request creates a new prefix from a prefix prototype object. The prototype object is structured in the same way +// as a retrieved prefix, and contains the information necessary to create the new prefix. +func (vpc *VpcV1) CreateVPCAddressPrefix(createVPCAddressPrefixOptions *CreateVPCAddressPrefixOptions) (result *AddressPrefix, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPCAddressPrefixWithContext(context.Background(), createVPCAddressPrefixOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPCAddressPrefixWithContext is an alternate form of the CreateVPCAddressPrefix method which supports a Context parameter +func (vpc *VpcV1) CreateVPCAddressPrefixWithContext(ctx context.Context, createVPCAddressPrefixOptions *CreateVPCAddressPrefixOptions) (result *AddressPrefix, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVPCAddressPrefixOptions, "createVPCAddressPrefixOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPCAddressPrefixOptions, "createVPCAddressPrefixOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *createVPCAddressPrefixOptions.VPCID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/address_prefixes`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPCAddressPrefix") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPCAddressPrefixOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVPCAddressPrefixOptions.CIDR != nil { + body["cidr"] = createVPCAddressPrefixOptions.CIDR + } + if createVPCAddressPrefixOptions.Zone != nil { + body["zone"] = createVPCAddressPrefixOptions.Zone + } + if createVPCAddressPrefixOptions.IsDefault != nil { + body["is_default"] = createVPCAddressPrefixOptions.IsDefault + } + if createVPCAddressPrefixOptions.Name != nil { + body["name"] = createVPCAddressPrefixOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpc_address_prefix", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalAddressPrefix) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPCAddressPrefix : Delete an address prefix +// This request deletes a prefix. This operation cannot be reversed. The request will fail if any subnets use addresses +// from this prefix. +func (vpc *VpcV1) DeleteVPCAddressPrefix(deleteVPCAddressPrefixOptions *DeleteVPCAddressPrefixOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPCAddressPrefixWithContext(context.Background(), deleteVPCAddressPrefixOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPCAddressPrefixWithContext is an alternate form of the DeleteVPCAddressPrefix method which supports a Context parameter +func (vpc *VpcV1) DeleteVPCAddressPrefixWithContext(ctx context.Context, deleteVPCAddressPrefixOptions *DeleteVPCAddressPrefixOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPCAddressPrefixOptions, "deleteVPCAddressPrefixOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPCAddressPrefixOptions, "deleteVPCAddressPrefixOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *deleteVPCAddressPrefixOptions.VPCID, + "id": *deleteVPCAddressPrefixOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/address_prefixes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPCAddressPrefix") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPCAddressPrefixOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpc_address_prefix", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPCAddressPrefix : Retrieve an address prefix +// This request retrieves a single prefix specified by the identifier in the URL. +func (vpc *VpcV1) GetVPCAddressPrefix(getVPCAddressPrefixOptions *GetVPCAddressPrefixOptions) (result *AddressPrefix, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCAddressPrefixWithContext(context.Background(), getVPCAddressPrefixOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCAddressPrefixWithContext is an alternate form of the GetVPCAddressPrefix method which supports a Context parameter +func (vpc *VpcV1) GetVPCAddressPrefixWithContext(ctx context.Context, getVPCAddressPrefixOptions *GetVPCAddressPrefixOptions) (result *AddressPrefix, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPCAddressPrefixOptions, "getVPCAddressPrefixOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCAddressPrefixOptions, "getVPCAddressPrefixOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *getVPCAddressPrefixOptions.VPCID, + "id": *getVPCAddressPrefixOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/address_prefixes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPCAddressPrefix") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCAddressPrefixOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc_address_prefix", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalAddressPrefix) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPCAddressPrefix : Update an address prefix +// This request updates a prefix with the information in a provided prefix patch. The prefix patch object is structured +// in the same way as a retrieved prefix and contains only the information to be updated. +func (vpc *VpcV1) UpdateVPCAddressPrefix(updateVPCAddressPrefixOptions *UpdateVPCAddressPrefixOptions) (result *AddressPrefix, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPCAddressPrefixWithContext(context.Background(), updateVPCAddressPrefixOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPCAddressPrefixWithContext is an alternate form of the UpdateVPCAddressPrefix method which supports a Context parameter +func (vpc *VpcV1) UpdateVPCAddressPrefixWithContext(ctx context.Context, updateVPCAddressPrefixOptions *UpdateVPCAddressPrefixOptions) (result *AddressPrefix, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPCAddressPrefixOptions, "updateVPCAddressPrefixOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPCAddressPrefixOptions, "updateVPCAddressPrefixOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *updateVPCAddressPrefixOptions.VPCID, + "id": *updateVPCAddressPrefixOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/address_prefixes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPCAddressPrefix") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPCAddressPrefixOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPCAddressPrefixOptions.AddressPrefixPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpc_address_prefix", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalAddressPrefix) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPCDnsResolutionBindings : List DNS resolution bindings for a VPC +// This request lists DNS resolution bindings for a VPC. A DNS resolution binding represents an association with another +// VPC for centralizing DNS name resolution. +// +// If the VPC specified by the identifier in the URL is a DNS hub VPC (has `dns.enable_hub` set to `true`) then there is +// one binding for each VPC bound to the hub VPC. The endpoint gateways in the bound VPCs can allow (using +// `allow_dns_resolution_binding`) the hub VPC to centralize resolution of their DNS names. +// +// If the VPC specified by the identifier in the URL is not a DNS hub VPC, then there is at most one binding (to a hub +// VPC). The endpoint gateways in the VPC specified by the identifier in the URL can allow (using +// `allow_dns_resolution_binding`) its hub VPC to centralize resolution of their DNS names. +// +// To make use of centralized DNS resolution, a VPC bound to a DNS hub VPC must delegate DNS resolution to its hub VPC +// by setting `dns.resolver.type` to `delegate`. +// +// The bindings will be sorted by their `created_at` property values, with newest bindings first. Bindings with +// identical `created_at` property values will in turn be sorted by ascending `name` property values. +func (vpc *VpcV1) ListVPCDnsResolutionBindings(listVPCDnsResolutionBindingsOptions *ListVPCDnsResolutionBindingsOptions) (result *VpcdnsResolutionBindingCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPCDnsResolutionBindingsWithContext(context.Background(), listVPCDnsResolutionBindingsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPCDnsResolutionBindingsWithContext is an alternate form of the ListVPCDnsResolutionBindings method which supports a Context parameter +func (vpc *VpcV1) ListVPCDnsResolutionBindingsWithContext(ctx context.Context, listVPCDnsResolutionBindingsOptions *ListVPCDnsResolutionBindingsOptions) (result *VpcdnsResolutionBindingCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPCDnsResolutionBindingsOptions, "listVPCDnsResolutionBindingsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPCDnsResolutionBindingsOptions, "listVPCDnsResolutionBindingsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *listVPCDnsResolutionBindingsOptions.VPCID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/dns_resolution_bindings`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPCDnsResolutionBindings") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPCDnsResolutionBindingsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPCDnsResolutionBindingsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listVPCDnsResolutionBindingsOptions.Sort)) + } + if listVPCDnsResolutionBindingsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPCDnsResolutionBindingsOptions.Start)) + } + if listVPCDnsResolutionBindingsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPCDnsResolutionBindingsOptions.Limit)) + } + if listVPCDnsResolutionBindingsOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listVPCDnsResolutionBindingsOptions.Name)) + } + if listVPCDnsResolutionBindingsOptions.VPCCRN != nil { + builder.AddQuery("vpc.crn", fmt.Sprint(*listVPCDnsResolutionBindingsOptions.VPCCRN)) + } + if listVPCDnsResolutionBindingsOptions.VPCName != nil { + builder.AddQuery("vpc.name", fmt.Sprint(*listVPCDnsResolutionBindingsOptions.VPCName)) + } + if listVPCDnsResolutionBindingsOptions.AccountID != nil { + builder.AddQuery("account.id", fmt.Sprint(*listVPCDnsResolutionBindingsOptions.AccountID)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpc_dns_resolution_bindings", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVpcdnsResolutionBindingCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPCDnsResolutionBinding : Create a DNS resolution binding +// This request creates a new DNS resolution binding from a DNS resolution binding prototype object. The prototype +// object is structured in the same way as a retrieved DNS resolution binding, and contains the information necessary to +// create the new DNS resolution binding. +// +// For this request to succeed: +// - The VPC specified by the identifier in the URL must not already have a DNS resolution +// binding +// - The VPC specified by the identifier in the URL must have `dns.enable_hub` set to +// `false` +// - The updated DNS sharing connected topology must not contain more than one endpoint +// gateway with `allow_dns_resolution_binding` set to `true` targeting the same service. +// +// See [About DNS sharing for VPE gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) for more information. +func (vpc *VpcV1) CreateVPCDnsResolutionBinding(createVPCDnsResolutionBindingOptions *CreateVPCDnsResolutionBindingOptions) (result *VpcdnsResolutionBinding, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPCDnsResolutionBindingWithContext(context.Background(), createVPCDnsResolutionBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPCDnsResolutionBindingWithContext is an alternate form of the CreateVPCDnsResolutionBinding method which supports a Context parameter +func (vpc *VpcV1) CreateVPCDnsResolutionBindingWithContext(ctx context.Context, createVPCDnsResolutionBindingOptions *CreateVPCDnsResolutionBindingOptions) (result *VpcdnsResolutionBinding, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVPCDnsResolutionBindingOptions, "createVPCDnsResolutionBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPCDnsResolutionBindingOptions, "createVPCDnsResolutionBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *createVPCDnsResolutionBindingOptions.VPCID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/dns_resolution_bindings`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPCDnsResolutionBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPCDnsResolutionBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVPCDnsResolutionBindingOptions.VPC != nil { + body["vpc"] = createVPCDnsResolutionBindingOptions.VPC + } + if createVPCDnsResolutionBindingOptions.Name != nil { + body["name"] = createVPCDnsResolutionBindingOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpc_dns_resolution_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVpcdnsResolutionBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPCDnsResolutionBinding : Delete a DNS resolution binding +// This request deletes a DNS resolution binding. This operation cannot be reversed. +// +// For this request to succeed, the VPC specified by the identifier in the URL must not have +// `dns.resolver.type` set to `delegated`. +func (vpc *VpcV1) DeleteVPCDnsResolutionBinding(deleteVPCDnsResolutionBindingOptions *DeleteVPCDnsResolutionBindingOptions) (result *VpcdnsResolutionBinding, response *core.DetailedResponse, err error) { + result, response, err = vpc.DeleteVPCDnsResolutionBindingWithContext(context.Background(), deleteVPCDnsResolutionBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPCDnsResolutionBindingWithContext is an alternate form of the DeleteVPCDnsResolutionBinding method which supports a Context parameter +func (vpc *VpcV1) DeleteVPCDnsResolutionBindingWithContext(ctx context.Context, deleteVPCDnsResolutionBindingOptions *DeleteVPCDnsResolutionBindingOptions) (result *VpcdnsResolutionBinding, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPCDnsResolutionBindingOptions, "deleteVPCDnsResolutionBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPCDnsResolutionBindingOptions, "deleteVPCDnsResolutionBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *deleteVPCDnsResolutionBindingOptions.VPCID, + "id": *deleteVPCDnsResolutionBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/dns_resolution_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPCDnsResolutionBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPCDnsResolutionBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpc_dns_resolution_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVpcdnsResolutionBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetVPCDnsResolutionBinding : Retrieve a DNS resolution binding +// This request retrieves a single DNS resolution binding specified by the identifier in the URL. +func (vpc *VpcV1) GetVPCDnsResolutionBinding(getVPCDnsResolutionBindingOptions *GetVPCDnsResolutionBindingOptions) (result *VpcdnsResolutionBinding, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCDnsResolutionBindingWithContext(context.Background(), getVPCDnsResolutionBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCDnsResolutionBindingWithContext is an alternate form of the GetVPCDnsResolutionBinding method which supports a Context parameter +func (vpc *VpcV1) GetVPCDnsResolutionBindingWithContext(ctx context.Context, getVPCDnsResolutionBindingOptions *GetVPCDnsResolutionBindingOptions) (result *VpcdnsResolutionBinding, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPCDnsResolutionBindingOptions, "getVPCDnsResolutionBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCDnsResolutionBindingOptions, "getVPCDnsResolutionBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *getVPCDnsResolutionBindingOptions.VPCID, + "id": *getVPCDnsResolutionBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/dns_resolution_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPCDnsResolutionBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCDnsResolutionBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc_dns_resolution_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVpcdnsResolutionBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPCDnsResolutionBinding : Update a DNS resolution binding +// This request updates a DNS resolution binding with the information in a provided DNS resolution binding patch. The +// DNS resolution binding patch object is structured in the same way as a retrieved DNS resolution binding and contains +// only the information to be updated. +func (vpc *VpcV1) UpdateVPCDnsResolutionBinding(updateVPCDnsResolutionBindingOptions *UpdateVPCDnsResolutionBindingOptions) (result *VpcdnsResolutionBinding, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPCDnsResolutionBindingWithContext(context.Background(), updateVPCDnsResolutionBindingOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPCDnsResolutionBindingWithContext is an alternate form of the UpdateVPCDnsResolutionBinding method which supports a Context parameter +func (vpc *VpcV1) UpdateVPCDnsResolutionBindingWithContext(ctx context.Context, updateVPCDnsResolutionBindingOptions *UpdateVPCDnsResolutionBindingOptions) (result *VpcdnsResolutionBinding, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPCDnsResolutionBindingOptions, "updateVPCDnsResolutionBindingOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPCDnsResolutionBindingOptions, "updateVPCDnsResolutionBindingOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *updateVPCDnsResolutionBindingOptions.VPCID, + "id": *updateVPCDnsResolutionBindingOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/dns_resolution_bindings/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPCDnsResolutionBinding") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPCDnsResolutionBindingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPCDnsResolutionBindingOptions.VpcdnsResolutionBindingPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpc_dns_resolution_binding", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVpcdnsResolutionBinding) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPCRoutes : List routes in a VPC's default routing table +// This request lists routes in the VPC's default routing table. Each route is zone-specific and directs any packets +// matching its destination CIDR block to a `next_hop` IP address. The most specific route matching a packet's +// destination will be used. If multiple equally-specific routes exist, traffic will be distributed across them. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) ListVPCRoutes(listVPCRoutesOptions *ListVPCRoutesOptions) (result *RouteCollectionVPCContext, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPCRoutesWithContext(context.Background(), listVPCRoutesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPCRoutesWithContext is an alternate form of the ListVPCRoutes method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) ListVPCRoutesWithContext(ctx context.Context, listVPCRoutesOptions *ListVPCRoutesOptions) (result *RouteCollectionVPCContext, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: ListVPCRoutes") + err = core.ValidateNotNil(listVPCRoutesOptions, "listVPCRoutesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPCRoutesOptions, "listVPCRoutesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *listVPCRoutesOptions.VPCID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routes`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPCRoutes") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPCRoutesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPCRoutesOptions.ZoneName != nil { + builder.AddQuery("zone.name", fmt.Sprint(*listVPCRoutesOptions.ZoneName)) + } + if listVPCRoutesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPCRoutesOptions.Start)) + } + if listVPCRoutesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPCRoutesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpc_routes", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRouteCollectionVPCContext) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPCRoute : Create a route in a VPC's default routing table +// This request creates a new route in the VPC's default routing table. The route prototype object is structured in the +// same way as a retrieved route, and contains the information necessary to create the new route. The request will fail +// if the new route will cause a loop. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) CreateVPCRoute(createVPCRouteOptions *CreateVPCRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPCRouteWithContext(context.Background(), createVPCRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPCRouteWithContext is an alternate form of the CreateVPCRoute method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) CreateVPCRouteWithContext(ctx context.Context, createVPCRouteOptions *CreateVPCRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: CreateVPCRoute") + err = core.ValidateNotNil(createVPCRouteOptions, "createVPCRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPCRouteOptions, "createVPCRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *createVPCRouteOptions.VPCID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routes`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPCRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPCRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVPCRouteOptions.Destination != nil { + body["destination"] = createVPCRouteOptions.Destination + } + if createVPCRouteOptions.Zone != nil { + body["zone"] = createVPCRouteOptions.Zone + } + if createVPCRouteOptions.Action != nil { + body["action"] = createVPCRouteOptions.Action + } + if createVPCRouteOptions.Advertise != nil { + body["advertise"] = createVPCRouteOptions.Advertise + } + if createVPCRouteOptions.Name != nil { + body["name"] = createVPCRouteOptions.Name + } + if createVPCRouteOptions.NextHop != nil { + body["next_hop"] = createVPCRouteOptions.NextHop + } + if createVPCRouteOptions.Priority != nil { + body["priority"] = createVPCRouteOptions.Priority + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpc_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPCRoute : Delete a VPC route +// This request deletes a route. This operation cannot be reversed. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) DeleteVPCRoute(deleteVPCRouteOptions *DeleteVPCRouteOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPCRouteWithContext(context.Background(), deleteVPCRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPCRouteWithContext is an alternate form of the DeleteVPCRoute method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) DeleteVPCRouteWithContext(ctx context.Context, deleteVPCRouteOptions *DeleteVPCRouteOptions) (response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: DeleteVPCRoute") + err = core.ValidateNotNil(deleteVPCRouteOptions, "deleteVPCRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPCRouteOptions, "deleteVPCRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *deleteVPCRouteOptions.VPCID, + "id": *deleteVPCRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPCRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPCRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpc_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPCRoute : Retrieve a VPC route +// This request retrieves a single route specified by the identifier in the URL. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) GetVPCRoute(getVPCRouteOptions *GetVPCRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCRouteWithContext(context.Background(), getVPCRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCRouteWithContext is an alternate form of the GetVPCRoute method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) GetVPCRouteWithContext(ctx context.Context, getVPCRouteOptions *GetVPCRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: GetVPCRoute") + err = core.ValidateNotNil(getVPCRouteOptions, "getVPCRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCRouteOptions, "getVPCRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *getVPCRouteOptions.VPCID, + "id": *getVPCRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPCRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPCRoute : Update a VPC route +// This request updates a route with the information in a provided route patch. The route patch object is structured in +// the same way as a retrieved route and contains only the information to be updated. +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) UpdateVPCRoute(updateVPCRouteOptions *UpdateVPCRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPCRouteWithContext(context.Background(), updateVPCRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPCRouteWithContext is an alternate form of the UpdateVPCRoute method which supports a Context parameter +// Deprecated: this method is deprecated and may be removed in a future release. +func (vpc *VpcV1) UpdateVPCRouteWithContext(ctx context.Context, updateVPCRouteOptions *UpdateVPCRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + core.GetLogger().Warn("A deprecated operation has been invoked: UpdateVPCRoute") + err = core.ValidateNotNil(updateVPCRouteOptions, "updateVPCRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPCRouteOptions, "updateVPCRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *updateVPCRouteOptions.VPCID, + "id": *updateVPCRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPCRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPCRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPCRouteOptions.RoutePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpc_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPCRoutingTables : List routing tables for a VPC +// This request lists routing tables for a VPC. Each subnet in a VPC is associated with a routing table, which controls +// delivery of packets sent on that subnet according to the action of the most specific matching route in the table. If +// multiple equally-specific routes exist, traffic will be distributed across them. If no routes match, delivery will be +// controlled by the system's built-in routes. +func (vpc *VpcV1) ListVPCRoutingTables(listVPCRoutingTablesOptions *ListVPCRoutingTablesOptions) (result *RoutingTableCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPCRoutingTablesWithContext(context.Background(), listVPCRoutingTablesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPCRoutingTablesWithContext is an alternate form of the ListVPCRoutingTables method which supports a Context parameter +func (vpc *VpcV1) ListVPCRoutingTablesWithContext(ctx context.Context, listVPCRoutingTablesOptions *ListVPCRoutingTablesOptions) (result *RoutingTableCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPCRoutingTablesOptions, "listVPCRoutingTablesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPCRoutingTablesOptions, "listVPCRoutingTablesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *listVPCRoutingTablesOptions.VPCID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPCRoutingTables") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPCRoutingTablesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPCRoutingTablesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPCRoutingTablesOptions.Start)) + } + if listVPCRoutingTablesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPCRoutingTablesOptions.Limit)) + } + if listVPCRoutingTablesOptions.IsDefault != nil { + builder.AddQuery("is_default", fmt.Sprint(*listVPCRoutingTablesOptions.IsDefault)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpc_routing_tables", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoutingTableCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPCRoutingTable : Create a routing table for a VPC +// This request creates a routing table from a routing table prototype object. The prototype object is structured in the +// same way as a retrieved routing table, and contains the information necessary to create the new routing table. +// +// At present, the routing table's `resource_group` will be inherited from its VPC, but may be specifiable in the +// future. +func (vpc *VpcV1) CreateVPCRoutingTable(createVPCRoutingTableOptions *CreateVPCRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPCRoutingTableWithContext(context.Background(), createVPCRoutingTableOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPCRoutingTableWithContext is an alternate form of the CreateVPCRoutingTable method which supports a Context parameter +func (vpc *VpcV1) CreateVPCRoutingTableWithContext(ctx context.Context, createVPCRoutingTableOptions *CreateVPCRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVPCRoutingTableOptions, "createVPCRoutingTableOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPCRoutingTableOptions, "createVPCRoutingTableOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *createVPCRoutingTableOptions.VPCID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPCRoutingTable") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPCRoutingTableOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVPCRoutingTableOptions.AcceptRoutesFrom != nil { + body["accept_routes_from"] = createVPCRoutingTableOptions.AcceptRoutesFrom + } + if createVPCRoutingTableOptions.AdvertiseRoutesTo != nil { + body["advertise_routes_to"] = createVPCRoutingTableOptions.AdvertiseRoutesTo + } + if createVPCRoutingTableOptions.Name != nil { + body["name"] = createVPCRoutingTableOptions.Name + } + if createVPCRoutingTableOptions.RouteDirectLinkIngress != nil { + body["route_direct_link_ingress"] = createVPCRoutingTableOptions.RouteDirectLinkIngress + } + if createVPCRoutingTableOptions.RouteInternetIngress != nil { + body["route_internet_ingress"] = createVPCRoutingTableOptions.RouteInternetIngress + } + if createVPCRoutingTableOptions.RouteTransitGatewayIngress != nil { + body["route_transit_gateway_ingress"] = createVPCRoutingTableOptions.RouteTransitGatewayIngress + } + if createVPCRoutingTableOptions.RouteVPCZoneIngress != nil { + body["route_vpc_zone_ingress"] = createVPCRoutingTableOptions.RouteVPCZoneIngress + } + if createVPCRoutingTableOptions.Routes != nil { + body["routes"] = createVPCRoutingTableOptions.Routes + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpc_routing_table", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoutingTable) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPCRoutingTable : Delete a VPC routing table +// This request deletes a routing table. A routing table cannot be deleted if it is associated with any subnets in the +// VPC. Additionally, a VPC's default routing table cannot be deleted. This operation cannot be reversed. +func (vpc *VpcV1) DeleteVPCRoutingTable(deleteVPCRoutingTableOptions *DeleteVPCRoutingTableOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPCRoutingTableWithContext(context.Background(), deleteVPCRoutingTableOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPCRoutingTableWithContext is an alternate form of the DeleteVPCRoutingTable method which supports a Context parameter +func (vpc *VpcV1) DeleteVPCRoutingTableWithContext(ctx context.Context, deleteVPCRoutingTableOptions *DeleteVPCRoutingTableOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPCRoutingTableOptions, "deleteVPCRoutingTableOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPCRoutingTableOptions, "deleteVPCRoutingTableOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *deleteVPCRoutingTableOptions.VPCID, + "id": *deleteVPCRoutingTableOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPCRoutingTable") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPCRoutingTableOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + if deleteVPCRoutingTableOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteVPCRoutingTableOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpc_routing_table", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPCRoutingTable : Retrieve a VPC routing table +// This request retrieves a single routing table specified by the identifier in the URL. +func (vpc *VpcV1) GetVPCRoutingTable(getVPCRoutingTableOptions *GetVPCRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCRoutingTableWithContext(context.Background(), getVPCRoutingTableOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCRoutingTableWithContext is an alternate form of the GetVPCRoutingTable method which supports a Context parameter +func (vpc *VpcV1) GetVPCRoutingTableWithContext(ctx context.Context, getVPCRoutingTableOptions *GetVPCRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPCRoutingTableOptions, "getVPCRoutingTableOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCRoutingTableOptions, "getVPCRoutingTableOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *getVPCRoutingTableOptions.VPCID, + "id": *getVPCRoutingTableOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPCRoutingTable") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCRoutingTableOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc_routing_table", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoutingTable) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPCRoutingTable : Update a VPC routing table +// This request updates a routing table with the information in a provided routing table patch. The patch object is +// structured in the same way as a retrieved table and contains only the information to be updated. +func (vpc *VpcV1) UpdateVPCRoutingTable(updateVPCRoutingTableOptions *UpdateVPCRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPCRoutingTableWithContext(context.Background(), updateVPCRoutingTableOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPCRoutingTableWithContext is an alternate form of the UpdateVPCRoutingTable method which supports a Context parameter +func (vpc *VpcV1) UpdateVPCRoutingTableWithContext(ctx context.Context, updateVPCRoutingTableOptions *UpdateVPCRoutingTableOptions) (result *RoutingTable, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPCRoutingTableOptions, "updateVPCRoutingTableOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPCRoutingTableOptions, "updateVPCRoutingTableOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *updateVPCRoutingTableOptions.VPCID, + "id": *updateVPCRoutingTableOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPCRoutingTable") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPCRoutingTableOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateVPCRoutingTableOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateVPCRoutingTableOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPCRoutingTableOptions.RoutingTablePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpc_routing_table", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoutingTable) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPCRoutingTableRoutes : List routes in a VPC routing table +// This request lists routes in a VPC routing table. If subnets are associated with this routing table, delivery of +// packets sent on a subnet is performed according to the action of the most specific matching route in the table +// (provided the subnet and route are in the same zone). If multiple equally-specific routes exist, the route with the +// highest priority will be used. If two matching routes have the same destination and priority, traffic will be +// distributed between them. If no routes match, delivery will be controlled by the system's built-in routes. +func (vpc *VpcV1) ListVPCRoutingTableRoutes(listVPCRoutingTableRoutesOptions *ListVPCRoutingTableRoutesOptions) (result *RouteCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPCRoutingTableRoutesWithContext(context.Background(), listVPCRoutingTableRoutesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPCRoutingTableRoutesWithContext is an alternate form of the ListVPCRoutingTableRoutes method which supports a Context parameter +func (vpc *VpcV1) ListVPCRoutingTableRoutesWithContext(ctx context.Context, listVPCRoutingTableRoutesOptions *ListVPCRoutingTableRoutesOptions) (result *RouteCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPCRoutingTableRoutesOptions, "listVPCRoutingTableRoutesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPCRoutingTableRoutesOptions, "listVPCRoutingTableRoutesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *listVPCRoutingTableRoutesOptions.VPCID, + "routing_table_id": *listVPCRoutingTableRoutesOptions.RoutingTableID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables/{routing_table_id}/routes`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPCRoutingTableRoutes") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPCRoutingTableRoutesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPCRoutingTableRoutesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPCRoutingTableRoutesOptions.Start)) + } + if listVPCRoutingTableRoutesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPCRoutingTableRoutesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpc_routing_table_routes", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRouteCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPCRoutingTableRoute : Create a route in a VPC routing table +// This request creates a new VPC route from a VPC route prototype object. The prototype object is structured in the +// same way as a retrieved VPC route and contains the information necessary to create the route. +func (vpc *VpcV1) CreateVPCRoutingTableRoute(createVPCRoutingTableRouteOptions *CreateVPCRoutingTableRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPCRoutingTableRouteWithContext(context.Background(), createVPCRoutingTableRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPCRoutingTableRouteWithContext is an alternate form of the CreateVPCRoutingTableRoute method which supports a Context parameter +func (vpc *VpcV1) CreateVPCRoutingTableRouteWithContext(ctx context.Context, createVPCRoutingTableRouteOptions *CreateVPCRoutingTableRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVPCRoutingTableRouteOptions, "createVPCRoutingTableRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPCRoutingTableRouteOptions, "createVPCRoutingTableRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *createVPCRoutingTableRouteOptions.VPCID, + "routing_table_id": *createVPCRoutingTableRouteOptions.RoutingTableID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables/{routing_table_id}/routes`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPCRoutingTableRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPCRoutingTableRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVPCRoutingTableRouteOptions.Destination != nil { + body["destination"] = createVPCRoutingTableRouteOptions.Destination + } + if createVPCRoutingTableRouteOptions.Zone != nil { + body["zone"] = createVPCRoutingTableRouteOptions.Zone + } + if createVPCRoutingTableRouteOptions.Action != nil { + body["action"] = createVPCRoutingTableRouteOptions.Action + } + if createVPCRoutingTableRouteOptions.Advertise != nil { + body["advertise"] = createVPCRoutingTableRouteOptions.Advertise + } + if createVPCRoutingTableRouteOptions.Name != nil { + body["name"] = createVPCRoutingTableRouteOptions.Name + } + if createVPCRoutingTableRouteOptions.NextHop != nil { + body["next_hop"] = createVPCRoutingTableRouteOptions.NextHop + } + if createVPCRoutingTableRouteOptions.Priority != nil { + body["priority"] = createVPCRoutingTableRouteOptions.Priority + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpc_routing_table_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPCRoutingTableRoute : Delete a VPC routing table route +// This request deletes a VPC route. This operation cannot be reversed. Only VPC routes with an `origin` of `user` are +// allowed to be deleted. +func (vpc *VpcV1) DeleteVPCRoutingTableRoute(deleteVPCRoutingTableRouteOptions *DeleteVPCRoutingTableRouteOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPCRoutingTableRouteWithContext(context.Background(), deleteVPCRoutingTableRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPCRoutingTableRouteWithContext is an alternate form of the DeleteVPCRoutingTableRoute method which supports a Context parameter +func (vpc *VpcV1) DeleteVPCRoutingTableRouteWithContext(ctx context.Context, deleteVPCRoutingTableRouteOptions *DeleteVPCRoutingTableRouteOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPCRoutingTableRouteOptions, "deleteVPCRoutingTableRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPCRoutingTableRouteOptions, "deleteVPCRoutingTableRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *deleteVPCRoutingTableRouteOptions.VPCID, + "routing_table_id": *deleteVPCRoutingTableRouteOptions.RoutingTableID, + "id": *deleteVPCRoutingTableRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables/{routing_table_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPCRoutingTableRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPCRoutingTableRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpc_routing_table_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPCRoutingTableRoute : Retrieve a VPC routing table route +// This request retrieves a single VPC route specified by the identifier in the URL path. +func (vpc *VpcV1) GetVPCRoutingTableRoute(getVPCRoutingTableRouteOptions *GetVPCRoutingTableRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPCRoutingTableRouteWithContext(context.Background(), getVPCRoutingTableRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPCRoutingTableRouteWithContext is an alternate form of the GetVPCRoutingTableRoute method which supports a Context parameter +func (vpc *VpcV1) GetVPCRoutingTableRouteWithContext(ctx context.Context, getVPCRoutingTableRouteOptions *GetVPCRoutingTableRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPCRoutingTableRouteOptions, "getVPCRoutingTableRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPCRoutingTableRouteOptions, "getVPCRoutingTableRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *getVPCRoutingTableRouteOptions.VPCID, + "routing_table_id": *getVPCRoutingTableRouteOptions.RoutingTableID, + "id": *getVPCRoutingTableRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables/{routing_table_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPCRoutingTableRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPCRoutingTableRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpc_routing_table_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPCRoutingTableRoute : Update a VPC routing table route +// This request updates a VPC route with the information provided in a route patch object. The patch object is +// structured in the same way as a retrieved VPC route and needs to contain only the information to be updated. Only VPC +// routes with an `origin` of `user` are allowed to be updated. +func (vpc *VpcV1) UpdateVPCRoutingTableRoute(updateVPCRoutingTableRouteOptions *UpdateVPCRoutingTableRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPCRoutingTableRouteWithContext(context.Background(), updateVPCRoutingTableRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPCRoutingTableRouteWithContext is an alternate form of the UpdateVPCRoutingTableRoute method which supports a Context parameter +func (vpc *VpcV1) UpdateVPCRoutingTableRouteWithContext(ctx context.Context, updateVPCRoutingTableRouteOptions *UpdateVPCRoutingTableRouteOptions) (result *Route, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPCRoutingTableRouteOptions, "updateVPCRoutingTableRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPCRoutingTableRouteOptions, "updateVPCRoutingTableRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpc_id": *updateVPCRoutingTableRouteOptions.VPCID, + "routing_table_id": *updateVPCRoutingTableRouteOptions.RoutingTableID, + "id": *updateVPCRoutingTableRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpcs/{vpc_id}/routing_tables/{routing_table_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPCRoutingTableRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPCRoutingTableRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPCRoutingTableRouteOptions.RoutePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpc_routing_table_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListIkePolicies : List IKE policies +// This request lists IKE policies in the region. +func (vpc *VpcV1) ListIkePolicies(listIkePoliciesOptions *ListIkePoliciesOptions) (result *IkePolicyCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListIkePoliciesWithContext(context.Background(), listIkePoliciesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListIkePoliciesWithContext is an alternate form of the ListIkePolicies method which supports a Context parameter +func (vpc *VpcV1) ListIkePoliciesWithContext(ctx context.Context, listIkePoliciesOptions *ListIkePoliciesOptions) (result *IkePolicyCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listIkePoliciesOptions, "listIkePoliciesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ike_policies`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListIkePolicies") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listIkePoliciesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listIkePoliciesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listIkePoliciesOptions.Start)) + } + if listIkePoliciesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listIkePoliciesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_ike_policies", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIkePolicyCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateIkePolicy : Create an IKE policy +// This request creates a new IKE policy. +func (vpc *VpcV1) CreateIkePolicy(createIkePolicyOptions *CreateIkePolicyOptions) (result *IkePolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateIkePolicyWithContext(context.Background(), createIkePolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateIkePolicyWithContext is an alternate form of the CreateIkePolicy method which supports a Context parameter +func (vpc *VpcV1) CreateIkePolicyWithContext(ctx context.Context, createIkePolicyOptions *CreateIkePolicyOptions) (result *IkePolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createIkePolicyOptions, "createIkePolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createIkePolicyOptions, "createIkePolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ike_policies`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateIkePolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createIkePolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createIkePolicyOptions.AuthenticationAlgorithm != nil { + body["authentication_algorithm"] = createIkePolicyOptions.AuthenticationAlgorithm + } + if createIkePolicyOptions.DhGroup != nil { + body["dh_group"] = createIkePolicyOptions.DhGroup + } + if createIkePolicyOptions.EncryptionAlgorithm != nil { + body["encryption_algorithm"] = createIkePolicyOptions.EncryptionAlgorithm + } + if createIkePolicyOptions.IkeVersion != nil { + body["ike_version"] = createIkePolicyOptions.IkeVersion + } + if createIkePolicyOptions.KeyLifetime != nil { + body["key_lifetime"] = createIkePolicyOptions.KeyLifetime + } + if createIkePolicyOptions.Name != nil { + body["name"] = createIkePolicyOptions.Name + } + if createIkePolicyOptions.ResourceGroup != nil { + body["resource_group"] = createIkePolicyOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_ike_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIkePolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteIkePolicy : Delete an IKE policy +// This request deletes an IKE policy. This operation cannot be reversed. For this request to succeed, there must not be +// any VPN gateway connections using this policy. +func (vpc *VpcV1) DeleteIkePolicy(deleteIkePolicyOptions *DeleteIkePolicyOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteIkePolicyWithContext(context.Background(), deleteIkePolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteIkePolicyWithContext is an alternate form of the DeleteIkePolicy method which supports a Context parameter +func (vpc *VpcV1) DeleteIkePolicyWithContext(ctx context.Context, deleteIkePolicyOptions *DeleteIkePolicyOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteIkePolicyOptions, "deleteIkePolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteIkePolicyOptions, "deleteIkePolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteIkePolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ike_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteIkePolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteIkePolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_ike_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetIkePolicy : Retrieve an IKE policy +// This request retrieves a single IKE policy specified by the identifier in the URL. +func (vpc *VpcV1) GetIkePolicy(getIkePolicyOptions *GetIkePolicyOptions) (result *IkePolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetIkePolicyWithContext(context.Background(), getIkePolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetIkePolicyWithContext is an alternate form of the GetIkePolicy method which supports a Context parameter +func (vpc *VpcV1) GetIkePolicyWithContext(ctx context.Context, getIkePolicyOptions *GetIkePolicyOptions) (result *IkePolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getIkePolicyOptions, "getIkePolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getIkePolicyOptions, "getIkePolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getIkePolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ike_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetIkePolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getIkePolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_ike_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIkePolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateIkePolicy : Update an IKE policy +// This request updates the properties of an existing IKE policy. +func (vpc *VpcV1) UpdateIkePolicy(updateIkePolicyOptions *UpdateIkePolicyOptions) (result *IkePolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateIkePolicyWithContext(context.Background(), updateIkePolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateIkePolicyWithContext is an alternate form of the UpdateIkePolicy method which supports a Context parameter +func (vpc *VpcV1) UpdateIkePolicyWithContext(ctx context.Context, updateIkePolicyOptions *UpdateIkePolicyOptions) (result *IkePolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateIkePolicyOptions, "updateIkePolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateIkePolicyOptions, "updateIkePolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateIkePolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ike_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateIkePolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateIkePolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateIkePolicyOptions.IkePolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_ike_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIkePolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListIkePolicyConnections : List VPN gateway connections that use a specified IKE policy +// This request lists VPN gateway connections that use an IKE policy. +func (vpc *VpcV1) ListIkePolicyConnections(listIkePolicyConnectionsOptions *ListIkePolicyConnectionsOptions) (result *IkePolicyConnectionCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListIkePolicyConnectionsWithContext(context.Background(), listIkePolicyConnectionsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListIkePolicyConnectionsWithContext is an alternate form of the ListIkePolicyConnections method which supports a Context parameter +func (vpc *VpcV1) ListIkePolicyConnectionsWithContext(ctx context.Context, listIkePolicyConnectionsOptions *ListIkePolicyConnectionsOptions) (result *IkePolicyConnectionCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listIkePolicyConnectionsOptions, "listIkePolicyConnectionsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listIkePolicyConnectionsOptions, "listIkePolicyConnectionsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listIkePolicyConnectionsOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ike_policies/{id}/connections`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListIkePolicyConnections") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listIkePolicyConnectionsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listIkePolicyConnectionsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listIkePolicyConnectionsOptions.Start)) + } + if listIkePolicyConnectionsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listIkePolicyConnectionsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_ike_policy_connections", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIkePolicyConnectionCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListIpsecPolicies : List IPsec policies +// This request lists IPsec policies in the region. +func (vpc *VpcV1) ListIpsecPolicies(listIpsecPoliciesOptions *ListIpsecPoliciesOptions) (result *IPsecPolicyCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListIpsecPoliciesWithContext(context.Background(), listIpsecPoliciesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListIpsecPoliciesWithContext is an alternate form of the ListIpsecPolicies method which supports a Context parameter +func (vpc *VpcV1) ListIpsecPoliciesWithContext(ctx context.Context, listIpsecPoliciesOptions *ListIpsecPoliciesOptions) (result *IPsecPolicyCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listIpsecPoliciesOptions, "listIpsecPoliciesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ipsec_policies`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListIpsecPolicies") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listIpsecPoliciesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listIpsecPoliciesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listIpsecPoliciesOptions.Start)) + } + if listIpsecPoliciesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listIpsecPoliciesOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_ipsec_policies", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIPsecPolicyCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateIpsecPolicy : Create an IPsec policy +// This request creates a new IPsec policy. +func (vpc *VpcV1) CreateIpsecPolicy(createIpsecPolicyOptions *CreateIpsecPolicyOptions) (result *IPsecPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateIpsecPolicyWithContext(context.Background(), createIpsecPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateIpsecPolicyWithContext is an alternate form of the CreateIpsecPolicy method which supports a Context parameter +func (vpc *VpcV1) CreateIpsecPolicyWithContext(ctx context.Context, createIpsecPolicyOptions *CreateIpsecPolicyOptions) (result *IPsecPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createIpsecPolicyOptions, "createIpsecPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createIpsecPolicyOptions, "createIpsecPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ipsec_policies`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateIpsecPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createIpsecPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createIpsecPolicyOptions.AuthenticationAlgorithm != nil { + body["authentication_algorithm"] = createIpsecPolicyOptions.AuthenticationAlgorithm + } + if createIpsecPolicyOptions.EncryptionAlgorithm != nil { + body["encryption_algorithm"] = createIpsecPolicyOptions.EncryptionAlgorithm + } + if createIpsecPolicyOptions.Pfs != nil { + body["pfs"] = createIpsecPolicyOptions.Pfs + } + if createIpsecPolicyOptions.KeyLifetime != nil { + body["key_lifetime"] = createIpsecPolicyOptions.KeyLifetime + } + if createIpsecPolicyOptions.Name != nil { + body["name"] = createIpsecPolicyOptions.Name + } + if createIpsecPolicyOptions.ResourceGroup != nil { + body["resource_group"] = createIpsecPolicyOptions.ResourceGroup + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_ipsec_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIPsecPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteIpsecPolicy : Delete an IPsec policy +// This request deletes an IPsec policy. This operation cannot be reversed. For this request to succeed, there must not +// be any VPN gateway connections using this policy. +func (vpc *VpcV1) DeleteIpsecPolicy(deleteIpsecPolicyOptions *DeleteIpsecPolicyOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteIpsecPolicyWithContext(context.Background(), deleteIpsecPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteIpsecPolicyWithContext is an alternate form of the DeleteIpsecPolicy method which supports a Context parameter +func (vpc *VpcV1) DeleteIpsecPolicyWithContext(ctx context.Context, deleteIpsecPolicyOptions *DeleteIpsecPolicyOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteIpsecPolicyOptions, "deleteIpsecPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteIpsecPolicyOptions, "deleteIpsecPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteIpsecPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ipsec_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteIpsecPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteIpsecPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_ipsec_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetIpsecPolicy : Retrieve an IPsec policy +// This request retrieves a single IPsec policy specified by the identifier in the URL. +func (vpc *VpcV1) GetIpsecPolicy(getIpsecPolicyOptions *GetIpsecPolicyOptions) (result *IPsecPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetIpsecPolicyWithContext(context.Background(), getIpsecPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetIpsecPolicyWithContext is an alternate form of the GetIpsecPolicy method which supports a Context parameter +func (vpc *VpcV1) GetIpsecPolicyWithContext(ctx context.Context, getIpsecPolicyOptions *GetIpsecPolicyOptions) (result *IPsecPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getIpsecPolicyOptions, "getIpsecPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getIpsecPolicyOptions, "getIpsecPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getIpsecPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ipsec_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetIpsecPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getIpsecPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_ipsec_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIPsecPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateIpsecPolicy : Update an IPsec policy +// This request updates the properties of an existing IPsec policy. +func (vpc *VpcV1) UpdateIpsecPolicy(updateIpsecPolicyOptions *UpdateIpsecPolicyOptions) (result *IPsecPolicy, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateIpsecPolicyWithContext(context.Background(), updateIpsecPolicyOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateIpsecPolicyWithContext is an alternate form of the UpdateIpsecPolicy method which supports a Context parameter +func (vpc *VpcV1) UpdateIpsecPolicyWithContext(ctx context.Context, updateIpsecPolicyOptions *UpdateIpsecPolicyOptions) (result *IPsecPolicy, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateIpsecPolicyOptions, "updateIpsecPolicyOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateIpsecPolicyOptions, "updateIpsecPolicyOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateIpsecPolicyOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ipsec_policies/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateIpsecPolicy") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateIpsecPolicyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateIpsecPolicyOptions.IPsecPolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_ipsec_policy", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIPsecPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListIpsecPolicyConnections : List VPN gateway connections that use a specified IPsec policy +// This request lists VPN gateway connections that use an IPsec policy. +func (vpc *VpcV1) ListIpsecPolicyConnections(listIpsecPolicyConnectionsOptions *ListIpsecPolicyConnectionsOptions) (result *IPsecPolicyConnectionCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListIpsecPolicyConnectionsWithContext(context.Background(), listIpsecPolicyConnectionsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListIpsecPolicyConnectionsWithContext is an alternate form of the ListIpsecPolicyConnections method which supports a Context parameter +func (vpc *VpcV1) ListIpsecPolicyConnectionsWithContext(ctx context.Context, listIpsecPolicyConnectionsOptions *ListIpsecPolicyConnectionsOptions) (result *IPsecPolicyConnectionCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listIpsecPolicyConnectionsOptions, "listIpsecPolicyConnectionsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listIpsecPolicyConnectionsOptions, "listIpsecPolicyConnectionsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *listIpsecPolicyConnectionsOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/ipsec_policies/{id}/connections`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListIpsecPolicyConnections") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listIpsecPolicyConnectionsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listIpsecPolicyConnectionsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listIpsecPolicyConnectionsOptions.Start)) + } + if listIpsecPolicyConnectionsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listIpsecPolicyConnectionsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_ipsec_policy_connections", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIPsecPolicyConnectionCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPNGateways : List VPN gateways +// This request lists VPN gateways in the region. +func (vpc *VpcV1) ListVPNGateways(listVPNGatewaysOptions *ListVPNGatewaysOptions) (result *VPNGatewayCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNGatewaysWithContext(context.Background(), listVPNGatewaysOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNGatewaysWithContext is an alternate form of the ListVPNGateways method which supports a Context parameter +func (vpc *VpcV1) ListVPNGatewaysWithContext(ctx context.Context, listVPNGatewaysOptions *ListVPNGatewaysOptions) (result *VPNGatewayCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listVPNGatewaysOptions, "listVPNGatewaysOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNGateways") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNGatewaysOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPNGatewaysOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPNGatewaysOptions.Start)) + } + if listVPNGatewaysOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPNGatewaysOptions.Limit)) + } + if listVPNGatewaysOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listVPNGatewaysOptions.ResourceGroupID)) + } + if listVPNGatewaysOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listVPNGatewaysOptions.Sort)) + } + if listVPNGatewaysOptions.Mode != nil { + builder.AddQuery("mode", fmt.Sprint(*listVPNGatewaysOptions.Mode)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_gateways", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPNGateway : Create a VPN gateway +// This request creates a new VPN gateway. +func (vpc *VpcV1) CreateVPNGateway(createVPNGatewayOptions *CreateVPNGatewayOptions) (result VPNGatewayIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPNGatewayWithContext(context.Background(), createVPNGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPNGatewayWithContext is an alternate form of the CreateVPNGateway method which supports a Context parameter +func (vpc *VpcV1) CreateVPNGatewayWithContext(ctx context.Context, createVPNGatewayOptions *CreateVPNGatewayOptions) (result VPNGatewayIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVPNGatewayOptions, "createVPNGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPNGatewayOptions, "createVPNGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPNGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPNGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createVPNGatewayOptions.VPNGatewayPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpn_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPNGateway : Delete a VPN gateway +// This request deletes a VPN gateway. This operation cannot be reversed. For this request to succeed, the VPN gateway +// must not have a `status` of `pending`, and there must not be any VPC routes using the VPN gateway's connections as a +// next hop. +func (vpc *VpcV1) DeleteVPNGateway(deleteVPNGatewayOptions *DeleteVPNGatewayOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPNGatewayWithContext(context.Background(), deleteVPNGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPNGatewayWithContext is an alternate form of the DeleteVPNGateway method which supports a Context parameter +func (vpc *VpcV1) DeleteVPNGatewayWithContext(ctx context.Context, deleteVPNGatewayOptions *DeleteVPNGatewayOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPNGatewayOptions, "deleteVPNGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPNGatewayOptions, "deleteVPNGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteVPNGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPNGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPNGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpn_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPNGateway : Retrieve a VPN gateway +// This request retrieves a single VPN gateway specified by the identifier in the URL. +func (vpc *VpcV1) GetVPNGateway(getVPNGatewayOptions *GetVPNGatewayOptions) (result VPNGatewayIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPNGatewayWithContext(context.Background(), getVPNGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPNGatewayWithContext is an alternate form of the GetVPNGateway method which supports a Context parameter +func (vpc *VpcV1) GetVPNGatewayWithContext(ctx context.Context, getVPNGatewayOptions *GetVPNGatewayOptions) (result VPNGatewayIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPNGatewayOptions, "getVPNGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPNGatewayOptions, "getVPNGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVPNGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPNGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPNGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpn_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPNGateway : Update a VPN gateway +// This request updates the properties of an existing VPN gateway. +func (vpc *VpcV1) UpdateVPNGateway(updateVPNGatewayOptions *UpdateVPNGatewayOptions) (result VPNGatewayIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPNGatewayWithContext(context.Background(), updateVPNGatewayOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPNGatewayWithContext is an alternate form of the UpdateVPNGateway method which supports a Context parameter +func (vpc *VpcV1) UpdateVPNGatewayWithContext(ctx context.Context, updateVPNGatewayOptions *UpdateVPNGatewayOptions) (result VPNGatewayIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPNGatewayOptions, "updateVPNGatewayOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPNGatewayOptions, "updateVPNGatewayOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateVPNGatewayOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPNGateway") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPNGatewayOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPNGatewayOptions.VPNGatewayPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpn_gateway", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGateway) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPNGatewayAdvertisedCIDRs : List advertised CIDRs for a VPN gateway +// This request lists advertised CIDRs for a VPN gateway. +// +// This request is only supported for route mode VPN gateways. +func (vpc *VpcV1) ListVPNGatewayAdvertisedCIDRs(listVPNGatewayAdvertisedCIDRsOptions *ListVPNGatewayAdvertisedCIDRsOptions) (result *VPNGatewayAdvertisedCIDRCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNGatewayAdvertisedCIDRsWithContext(context.Background(), listVPNGatewayAdvertisedCIDRsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNGatewayAdvertisedCIDRsWithContext is an alternate form of the ListVPNGatewayAdvertisedCIDRs method which supports a Context parameter +func (vpc *VpcV1) ListVPNGatewayAdvertisedCIDRsWithContext(ctx context.Context, listVPNGatewayAdvertisedCIDRsOptions *ListVPNGatewayAdvertisedCIDRsOptions) (result *VPNGatewayAdvertisedCIDRCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPNGatewayAdvertisedCIDRsOptions, "listVPNGatewayAdvertisedCIDRsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPNGatewayAdvertisedCIDRsOptions, "listVPNGatewayAdvertisedCIDRsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *listVPNGatewayAdvertisedCIDRsOptions.VPNGatewayID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/advertised_cidrs`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNGatewayAdvertisedCIDRs") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNGatewayAdvertisedCIDRsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_gateway_advertised_cidrs", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayAdvertisedCIDRCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RemoveVPNGatewayAdvertisedCIDR : Remove an advertised CIDR from a VPN gateway +// This request removes a CIDR from a VPN gateway advertised CIDRs. +// +// This request is only supported for route mode VPN gateways. +func (vpc *VpcV1) RemoveVPNGatewayAdvertisedCIDR(removeVPNGatewayAdvertisedCIDROptions *RemoveVPNGatewayAdvertisedCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RemoveVPNGatewayAdvertisedCIDRWithContext(context.Background(), removeVPNGatewayAdvertisedCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RemoveVPNGatewayAdvertisedCIDRWithContext is an alternate form of the RemoveVPNGatewayAdvertisedCIDR method which supports a Context parameter +func (vpc *VpcV1) RemoveVPNGatewayAdvertisedCIDRWithContext(ctx context.Context, removeVPNGatewayAdvertisedCIDROptions *RemoveVPNGatewayAdvertisedCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(removeVPNGatewayAdvertisedCIDROptions, "removeVPNGatewayAdvertisedCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(removeVPNGatewayAdvertisedCIDROptions, "removeVPNGatewayAdvertisedCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *removeVPNGatewayAdvertisedCIDROptions.VPNGatewayID, + "cidr": *removeVPNGatewayAdvertisedCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/advertised_cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RemoveVPNGatewayAdvertisedCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range removeVPNGatewayAdvertisedCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "remove_vpn_gateway_advertised_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// CheckVPNGatewayAdvertisedCIDR : Check if the specified advertised CIDR exists on a VPN gateway +// This request succeeds if an advertised CIDR exists on the specified VPN gateway, and fails otherwise. +// +// This request is only supported for route mode VPN gateways. +func (vpc *VpcV1) CheckVPNGatewayAdvertisedCIDR(checkVPNGatewayAdvertisedCIDROptions *CheckVPNGatewayAdvertisedCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.CheckVPNGatewayAdvertisedCIDRWithContext(context.Background(), checkVPNGatewayAdvertisedCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CheckVPNGatewayAdvertisedCIDRWithContext is an alternate form of the CheckVPNGatewayAdvertisedCIDR method which supports a Context parameter +func (vpc *VpcV1) CheckVPNGatewayAdvertisedCIDRWithContext(ctx context.Context, checkVPNGatewayAdvertisedCIDROptions *CheckVPNGatewayAdvertisedCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(checkVPNGatewayAdvertisedCIDROptions, "checkVPNGatewayAdvertisedCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(checkVPNGatewayAdvertisedCIDROptions, "checkVPNGatewayAdvertisedCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *checkVPNGatewayAdvertisedCIDROptions.VPNGatewayID, + "cidr": *checkVPNGatewayAdvertisedCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/advertised_cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CheckVPNGatewayAdvertisedCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range checkVPNGatewayAdvertisedCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "check_vpn_gateway_advertised_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// AddVPNGatewayAdvertisedCIDR : Set an advertised CIDR on a VPN gateway +// This request adds the specified CIDR to the specified VPN gateway advertised CIDRs. This request succeeds if the +// specified CIDR already exists. A request body is not required, and if provided, is ignored. +// +// This request is only supported for route mode VPN gateways. +func (vpc *VpcV1) AddVPNGatewayAdvertisedCIDR(addVPNGatewayAdvertisedCIDROptions *AddVPNGatewayAdvertisedCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.AddVPNGatewayAdvertisedCIDRWithContext(context.Background(), addVPNGatewayAdvertisedCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// AddVPNGatewayAdvertisedCIDRWithContext is an alternate form of the AddVPNGatewayAdvertisedCIDR method which supports a Context parameter +func (vpc *VpcV1) AddVPNGatewayAdvertisedCIDRWithContext(ctx context.Context, addVPNGatewayAdvertisedCIDROptions *AddVPNGatewayAdvertisedCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(addVPNGatewayAdvertisedCIDROptions, "addVPNGatewayAdvertisedCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(addVPNGatewayAdvertisedCIDROptions, "addVPNGatewayAdvertisedCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *addVPNGatewayAdvertisedCIDROptions.VPNGatewayID, + "cidr": *addVPNGatewayAdvertisedCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/advertised_cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "AddVPNGatewayAdvertisedCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range addVPNGatewayAdvertisedCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "add_vpn_gateway_advertised_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListVPNGatewayConnections : List connections of a VPN gateway +// This request lists connections of a VPN gateway. +func (vpc *VpcV1) ListVPNGatewayConnections(listVPNGatewayConnectionsOptions *ListVPNGatewayConnectionsOptions) (result *VPNGatewayConnectionCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNGatewayConnectionsWithContext(context.Background(), listVPNGatewayConnectionsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNGatewayConnectionsWithContext is an alternate form of the ListVPNGatewayConnections method which supports a Context parameter +func (vpc *VpcV1) ListVPNGatewayConnectionsWithContext(ctx context.Context, listVPNGatewayConnectionsOptions *ListVPNGatewayConnectionsOptions) (result *VPNGatewayConnectionCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPNGatewayConnectionsOptions, "listVPNGatewayConnectionsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPNGatewayConnectionsOptions, "listVPNGatewayConnectionsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *listVPNGatewayConnectionsOptions.VPNGatewayID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNGatewayConnections") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNGatewayConnectionsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPNGatewayConnectionsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPNGatewayConnectionsOptions.Start)) + } + if listVPNGatewayConnectionsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPNGatewayConnectionsOptions.Limit)) + } + if listVPNGatewayConnectionsOptions.Status != nil { + builder.AddQuery("status", fmt.Sprint(*listVPNGatewayConnectionsOptions.Status)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_gateway_connections", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayConnectionCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPNGatewayConnection : Create a connection for a VPN gateway +// This request creates a new VPN gateway connection. +func (vpc *VpcV1) CreateVPNGatewayConnection(createVPNGatewayConnectionOptions *CreateVPNGatewayConnectionOptions) (result VPNGatewayConnectionIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPNGatewayConnectionWithContext(context.Background(), createVPNGatewayConnectionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPNGatewayConnectionWithContext is an alternate form of the CreateVPNGatewayConnection method which supports a Context parameter +func (vpc *VpcV1) CreateVPNGatewayConnectionWithContext(ctx context.Context, createVPNGatewayConnectionOptions *CreateVPNGatewayConnectionOptions) (result VPNGatewayConnectionIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVPNGatewayConnectionOptions, "createVPNGatewayConnectionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPNGatewayConnectionOptions, "createVPNGatewayConnectionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *createVPNGatewayConnectionOptions.VPNGatewayID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPNGatewayConnection") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPNGatewayConnectionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(createVPNGatewayConnectionOptions.VPNGatewayConnectionPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpn_gateway_connection", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayConnection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPNGatewayConnection : Delete a VPN gateway connection +// This request deletes a VPN gateway connection. This operation cannot be reversed. For this request to succeed, there +// must not be VPC routes using this VPN connection as a next hop. +func (vpc *VpcV1) DeleteVPNGatewayConnection(deleteVPNGatewayConnectionOptions *DeleteVPNGatewayConnectionOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPNGatewayConnectionWithContext(context.Background(), deleteVPNGatewayConnectionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPNGatewayConnectionWithContext is an alternate form of the DeleteVPNGatewayConnection method which supports a Context parameter +func (vpc *VpcV1) DeleteVPNGatewayConnectionWithContext(ctx context.Context, deleteVPNGatewayConnectionOptions *DeleteVPNGatewayConnectionOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPNGatewayConnectionOptions, "deleteVPNGatewayConnectionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPNGatewayConnectionOptions, "deleteVPNGatewayConnectionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *deleteVPNGatewayConnectionOptions.VPNGatewayID, + "id": *deleteVPNGatewayConnectionOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPNGatewayConnection") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPNGatewayConnectionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + if deleteVPNGatewayConnectionOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteVPNGatewayConnectionOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpn_gateway_connection", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPNGatewayConnection : Retrieve a VPN gateway connection +// This request retrieves a single VPN gateway connection specified by the identifier in the URL. +func (vpc *VpcV1) GetVPNGatewayConnection(getVPNGatewayConnectionOptions *GetVPNGatewayConnectionOptions) (result VPNGatewayConnectionIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPNGatewayConnectionWithContext(context.Background(), getVPNGatewayConnectionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPNGatewayConnectionWithContext is an alternate form of the GetVPNGatewayConnection method which supports a Context parameter +func (vpc *VpcV1) GetVPNGatewayConnectionWithContext(ctx context.Context, getVPNGatewayConnectionOptions *GetVPNGatewayConnectionOptions) (result VPNGatewayConnectionIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPNGatewayConnectionOptions, "getVPNGatewayConnectionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPNGatewayConnectionOptions, "getVPNGatewayConnectionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *getVPNGatewayConnectionOptions.VPNGatewayID, + "id": *getVPNGatewayConnectionOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPNGatewayConnection") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPNGatewayConnectionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpn_gateway_connection", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayConnection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPNGatewayConnection : Update a VPN gateway connection +// This request updates the properties of an existing VPN gateway connection. +func (vpc *VpcV1) UpdateVPNGatewayConnection(updateVPNGatewayConnectionOptions *UpdateVPNGatewayConnectionOptions) (result VPNGatewayConnectionIntf, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPNGatewayConnectionWithContext(context.Background(), updateVPNGatewayConnectionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPNGatewayConnectionWithContext is an alternate form of the UpdateVPNGatewayConnection method which supports a Context parameter +func (vpc *VpcV1) UpdateVPNGatewayConnectionWithContext(ctx context.Context, updateVPNGatewayConnectionOptions *UpdateVPNGatewayConnectionOptions) (result VPNGatewayConnectionIntf, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPNGatewayConnectionOptions, "updateVPNGatewayConnectionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPNGatewayConnectionOptions, "updateVPNGatewayConnectionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *updateVPNGatewayConnectionOptions.VPNGatewayID, + "id": *updateVPNGatewayConnectionOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPNGatewayConnection") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPNGatewayConnectionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateVPNGatewayConnectionOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateVPNGatewayConnectionOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPNGatewayConnectionOptions.VPNGatewayConnectionPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpn_gateway_connection", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayConnection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPNGatewayConnectionsLocalCIDRs : List local CIDRs for a VPN gateway connection +// This request lists local CIDRs for a VPN gateway connection. +// +// This request is only supported for policy mode VPN gateways. +func (vpc *VpcV1) ListVPNGatewayConnectionsLocalCIDRs(listVPNGatewayConnectionsLocalCIDRsOptions *ListVPNGatewayConnectionsLocalCIDRsOptions) (result *VPNGatewayConnectionCIDRs, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNGatewayConnectionsLocalCIDRsWithContext(context.Background(), listVPNGatewayConnectionsLocalCIDRsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNGatewayConnectionsLocalCIDRsWithContext is an alternate form of the ListVPNGatewayConnectionsLocalCIDRs method which supports a Context parameter +func (vpc *VpcV1) ListVPNGatewayConnectionsLocalCIDRsWithContext(ctx context.Context, listVPNGatewayConnectionsLocalCIDRsOptions *ListVPNGatewayConnectionsLocalCIDRsOptions) (result *VPNGatewayConnectionCIDRs, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPNGatewayConnectionsLocalCIDRsOptions, "listVPNGatewayConnectionsLocalCIDRsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPNGatewayConnectionsLocalCIDRsOptions, "listVPNGatewayConnectionsLocalCIDRsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *listVPNGatewayConnectionsLocalCIDRsOptions.VPNGatewayID, + "id": *listVPNGatewayConnectionsLocalCIDRsOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}/local/cidrs`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNGatewayConnectionsLocalCIDRs") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNGatewayConnectionsLocalCIDRsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_gateway_connections_local_cidrs", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayConnectionCIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RemoveVPNGatewayConnectionsLocalCIDR : Remove a local CIDR from a VPN gateway connection +// This request removes a CIDR from a VPN gateway connection. +// +// This request is only supported for policy mode VPN gateways. +func (vpc *VpcV1) RemoveVPNGatewayConnectionsLocalCIDR(removeVPNGatewayConnectionsLocalCIDROptions *RemoveVPNGatewayConnectionsLocalCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RemoveVPNGatewayConnectionsLocalCIDRWithContext(context.Background(), removeVPNGatewayConnectionsLocalCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RemoveVPNGatewayConnectionsLocalCIDRWithContext is an alternate form of the RemoveVPNGatewayConnectionsLocalCIDR method which supports a Context parameter +func (vpc *VpcV1) RemoveVPNGatewayConnectionsLocalCIDRWithContext(ctx context.Context, removeVPNGatewayConnectionsLocalCIDROptions *RemoveVPNGatewayConnectionsLocalCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(removeVPNGatewayConnectionsLocalCIDROptions, "removeVPNGatewayConnectionsLocalCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(removeVPNGatewayConnectionsLocalCIDROptions, "removeVPNGatewayConnectionsLocalCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *removeVPNGatewayConnectionsLocalCIDROptions.VPNGatewayID, + "id": *removeVPNGatewayConnectionsLocalCIDROptions.ID, + "cidr": *removeVPNGatewayConnectionsLocalCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}/local/cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RemoveVPNGatewayConnectionsLocalCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range removeVPNGatewayConnectionsLocalCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "remove_vpn_gateway_connections_local_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// CheckVPNGatewayConnectionsLocalCIDR : Check if the specified local CIDR exists on a VPN gateway connection +// This request succeeds if a CIDR exists on the specified VPN gateway connection, and fails otherwise. +// +// This request is only supported for policy mode VPN gateways. +func (vpc *VpcV1) CheckVPNGatewayConnectionsLocalCIDR(checkVPNGatewayConnectionsLocalCIDROptions *CheckVPNGatewayConnectionsLocalCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.CheckVPNGatewayConnectionsLocalCIDRWithContext(context.Background(), checkVPNGatewayConnectionsLocalCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CheckVPNGatewayConnectionsLocalCIDRWithContext is an alternate form of the CheckVPNGatewayConnectionsLocalCIDR method which supports a Context parameter +func (vpc *VpcV1) CheckVPNGatewayConnectionsLocalCIDRWithContext(ctx context.Context, checkVPNGatewayConnectionsLocalCIDROptions *CheckVPNGatewayConnectionsLocalCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(checkVPNGatewayConnectionsLocalCIDROptions, "checkVPNGatewayConnectionsLocalCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(checkVPNGatewayConnectionsLocalCIDROptions, "checkVPNGatewayConnectionsLocalCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *checkVPNGatewayConnectionsLocalCIDROptions.VPNGatewayID, + "id": *checkVPNGatewayConnectionsLocalCIDROptions.ID, + "cidr": *checkVPNGatewayConnectionsLocalCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}/local/cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CheckVPNGatewayConnectionsLocalCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range checkVPNGatewayConnectionsLocalCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "check_vpn_gateway_connections_local_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// AddVPNGatewayConnectionsLocalCIDR : Set a local CIDR on a VPN gateway connection +// This request adds the specified CIDR to the specified VPN gateway connection. This request succeeds if the specified +// CIDR already exists. A request body is not required, and if provided, is ignored. +// +// This request is only supported for policy mode VPN gateways. +func (vpc *VpcV1) AddVPNGatewayConnectionsLocalCIDR(addVPNGatewayConnectionsLocalCIDROptions *AddVPNGatewayConnectionsLocalCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.AddVPNGatewayConnectionsLocalCIDRWithContext(context.Background(), addVPNGatewayConnectionsLocalCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// AddVPNGatewayConnectionsLocalCIDRWithContext is an alternate form of the AddVPNGatewayConnectionsLocalCIDR method which supports a Context parameter +func (vpc *VpcV1) AddVPNGatewayConnectionsLocalCIDRWithContext(ctx context.Context, addVPNGatewayConnectionsLocalCIDROptions *AddVPNGatewayConnectionsLocalCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(addVPNGatewayConnectionsLocalCIDROptions, "addVPNGatewayConnectionsLocalCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(addVPNGatewayConnectionsLocalCIDROptions, "addVPNGatewayConnectionsLocalCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *addVPNGatewayConnectionsLocalCIDROptions.VPNGatewayID, + "id": *addVPNGatewayConnectionsLocalCIDROptions.ID, + "cidr": *addVPNGatewayConnectionsLocalCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}/local/cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "AddVPNGatewayConnectionsLocalCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range addVPNGatewayConnectionsLocalCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "add_vpn_gateway_connections_local_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListVPNGatewayConnectionsPeerCIDRs : List peer CIDRs for a VPN gateway connection +// This request lists peer CIDRs for a VPN gateway connection. +// +// This request is only supported for policy mode VPN gateways. +func (vpc *VpcV1) ListVPNGatewayConnectionsPeerCIDRs(listVPNGatewayConnectionsPeerCIDRsOptions *ListVPNGatewayConnectionsPeerCIDRsOptions) (result *VPNGatewayConnectionCIDRs, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNGatewayConnectionsPeerCIDRsWithContext(context.Background(), listVPNGatewayConnectionsPeerCIDRsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNGatewayConnectionsPeerCIDRsWithContext is an alternate form of the ListVPNGatewayConnectionsPeerCIDRs method which supports a Context parameter +func (vpc *VpcV1) ListVPNGatewayConnectionsPeerCIDRsWithContext(ctx context.Context, listVPNGatewayConnectionsPeerCIDRsOptions *ListVPNGatewayConnectionsPeerCIDRsOptions) (result *VPNGatewayConnectionCIDRs, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPNGatewayConnectionsPeerCIDRsOptions, "listVPNGatewayConnectionsPeerCIDRsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPNGatewayConnectionsPeerCIDRsOptions, "listVPNGatewayConnectionsPeerCIDRsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *listVPNGatewayConnectionsPeerCIDRsOptions.VPNGatewayID, + "id": *listVPNGatewayConnectionsPeerCIDRsOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}/peer/cidrs`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNGatewayConnectionsPeerCIDRs") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNGatewayConnectionsPeerCIDRsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_gateway_connections_peer_cidrs", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayConnectionCIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// RemoveVPNGatewayConnectionsPeerCIDR : Remove a peer CIDR from a VPN gateway connection +// This request removes a CIDR from a VPN gateway connection. +// +// This request is only supported for policy mode VPN gateways. +func (vpc *VpcV1) RemoveVPNGatewayConnectionsPeerCIDR(removeVPNGatewayConnectionsPeerCIDROptions *RemoveVPNGatewayConnectionsPeerCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.RemoveVPNGatewayConnectionsPeerCIDRWithContext(context.Background(), removeVPNGatewayConnectionsPeerCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// RemoveVPNGatewayConnectionsPeerCIDRWithContext is an alternate form of the RemoveVPNGatewayConnectionsPeerCIDR method which supports a Context parameter +func (vpc *VpcV1) RemoveVPNGatewayConnectionsPeerCIDRWithContext(ctx context.Context, removeVPNGatewayConnectionsPeerCIDROptions *RemoveVPNGatewayConnectionsPeerCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(removeVPNGatewayConnectionsPeerCIDROptions, "removeVPNGatewayConnectionsPeerCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(removeVPNGatewayConnectionsPeerCIDROptions, "removeVPNGatewayConnectionsPeerCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *removeVPNGatewayConnectionsPeerCIDROptions.VPNGatewayID, + "id": *removeVPNGatewayConnectionsPeerCIDROptions.ID, + "cidr": *removeVPNGatewayConnectionsPeerCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}/peer/cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "RemoveVPNGatewayConnectionsPeerCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range removeVPNGatewayConnectionsPeerCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "remove_vpn_gateway_connections_peer_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// CheckVPNGatewayConnectionsPeerCIDR : Check if the specified peer CIDR exists on a VPN gateway connection +// This request succeeds if a CIDR exists on the specified VPN gateway connection, and fails otherwise. +// +// This request is only supported for policy mode VPN gateways. +func (vpc *VpcV1) CheckVPNGatewayConnectionsPeerCIDR(checkVPNGatewayConnectionsPeerCIDROptions *CheckVPNGatewayConnectionsPeerCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.CheckVPNGatewayConnectionsPeerCIDRWithContext(context.Background(), checkVPNGatewayConnectionsPeerCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CheckVPNGatewayConnectionsPeerCIDRWithContext is an alternate form of the CheckVPNGatewayConnectionsPeerCIDR method which supports a Context parameter +func (vpc *VpcV1) CheckVPNGatewayConnectionsPeerCIDRWithContext(ctx context.Context, checkVPNGatewayConnectionsPeerCIDROptions *CheckVPNGatewayConnectionsPeerCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(checkVPNGatewayConnectionsPeerCIDROptions, "checkVPNGatewayConnectionsPeerCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(checkVPNGatewayConnectionsPeerCIDROptions, "checkVPNGatewayConnectionsPeerCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *checkVPNGatewayConnectionsPeerCIDROptions.VPNGatewayID, + "id": *checkVPNGatewayConnectionsPeerCIDROptions.ID, + "cidr": *checkVPNGatewayConnectionsPeerCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}/peer/cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CheckVPNGatewayConnectionsPeerCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range checkVPNGatewayConnectionsPeerCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "check_vpn_gateway_connections_peer_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// AddVPNGatewayConnectionsPeerCIDR : Set a peer CIDR on a VPN gateway connection +// This request adds the specified CIDR to the specified VPN gateway connection. This request succeeds if the specified +// CIDR already exists. A request body is not required, and if provided, is ignored. +// +// This request is only supported for policy mode VPN gateways. +func (vpc *VpcV1) AddVPNGatewayConnectionsPeerCIDR(addVPNGatewayConnectionsPeerCIDROptions *AddVPNGatewayConnectionsPeerCIDROptions) (response *core.DetailedResponse, err error) { + response, err = vpc.AddVPNGatewayConnectionsPeerCIDRWithContext(context.Background(), addVPNGatewayConnectionsPeerCIDROptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// AddVPNGatewayConnectionsPeerCIDRWithContext is an alternate form of the AddVPNGatewayConnectionsPeerCIDR method which supports a Context parameter +func (vpc *VpcV1) AddVPNGatewayConnectionsPeerCIDRWithContext(ctx context.Context, addVPNGatewayConnectionsPeerCIDROptions *AddVPNGatewayConnectionsPeerCIDROptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(addVPNGatewayConnectionsPeerCIDROptions, "addVPNGatewayConnectionsPeerCIDROptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(addVPNGatewayConnectionsPeerCIDROptions, "addVPNGatewayConnectionsPeerCIDROptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *addVPNGatewayConnectionsPeerCIDROptions.VPNGatewayID, + "id": *addVPNGatewayConnectionsPeerCIDROptions.ID, + "cidr": *addVPNGatewayConnectionsPeerCIDROptions.CIDR, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/connections/{id}/peer/cidrs/{cidr}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "AddVPNGatewayConnectionsPeerCIDR") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range addVPNGatewayConnectionsPeerCIDROptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "add_vpn_gateway_connections_peer_cidr", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListVPNGatewayServiceConnections : List VPN gateway service connections +// This request lists service connections on a VPN gateway. The VPN gateway service connections will be sorted by +// ascending `created_at` property values. A VPN gateway service connection connects services such as transit gateway to +// a VPN gateway. This facilitates the propagation of routes learned from VPN gateway peer connections to the connected +// service (for example, a transit gateway). +func (vpc *VpcV1) ListVPNGatewayServiceConnections(listVPNGatewayServiceConnectionsOptions *ListVPNGatewayServiceConnectionsOptions) (result *VPNGatewayServiceConnectionCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNGatewayServiceConnectionsWithContext(context.Background(), listVPNGatewayServiceConnectionsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNGatewayServiceConnectionsWithContext is an alternate form of the ListVPNGatewayServiceConnections method which supports a Context parameter +func (vpc *VpcV1) ListVPNGatewayServiceConnectionsWithContext(ctx context.Context, listVPNGatewayServiceConnectionsOptions *ListVPNGatewayServiceConnectionsOptions) (result *VPNGatewayServiceConnectionCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPNGatewayServiceConnectionsOptions, "listVPNGatewayServiceConnectionsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPNGatewayServiceConnectionsOptions, "listVPNGatewayServiceConnectionsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *listVPNGatewayServiceConnectionsOptions.VPNGatewayID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/service_connections`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNGatewayServiceConnections") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNGatewayServiceConnectionsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPNGatewayServiceConnectionsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPNGatewayServiceConnectionsOptions.Start)) + } + if listVPNGatewayServiceConnectionsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPNGatewayServiceConnectionsOptions.Limit)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_gateway_service_connections", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayServiceConnectionCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetVPNGatewayServiceConnection : Retrieve a VPN gateway service connection +// This request retrieves VPN gateway service connection specified by the identifier in the URL. +func (vpc *VpcV1) GetVPNGatewayServiceConnection(getVPNGatewayServiceConnectionOptions *GetVPNGatewayServiceConnectionOptions) (result *VPNGatewayServiceConnection, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPNGatewayServiceConnectionWithContext(context.Background(), getVPNGatewayServiceConnectionOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPNGatewayServiceConnectionWithContext is an alternate form of the GetVPNGatewayServiceConnection method which supports a Context parameter +func (vpc *VpcV1) GetVPNGatewayServiceConnectionWithContext(ctx context.Context, getVPNGatewayServiceConnectionOptions *GetVPNGatewayServiceConnectionOptions) (result *VPNGatewayServiceConnection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPNGatewayServiceConnectionOptions, "getVPNGatewayServiceConnectionOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPNGatewayServiceConnectionOptions, "getVPNGatewayServiceConnectionOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_gateway_id": *getVPNGatewayServiceConnectionOptions.VPNGatewayID, + "id": *getVPNGatewayServiceConnectionOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_gateways/{vpn_gateway_id}/service_connections/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPNGatewayServiceConnection") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPNGatewayServiceConnectionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpn_gateway_service_connection", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNGatewayServiceConnection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// ListVPNServers : List VPN servers +// This request lists VPN servers. +func (vpc *VpcV1) ListVPNServers(listVPNServersOptions *ListVPNServersOptions) (result *VPNServerCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNServersWithContext(context.Background(), listVPNServersOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNServersWithContext is an alternate form of the ListVPNServers method which supports a Context parameter +func (vpc *VpcV1) ListVPNServersWithContext(ctx context.Context, listVPNServersOptions *ListVPNServersOptions) (result *VPNServerCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listVPNServersOptions, "listVPNServersOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNServers") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNServersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPNServersOptions.Name != nil { + builder.AddQuery("name", fmt.Sprint(*listVPNServersOptions.Name)) + } + if listVPNServersOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPNServersOptions.Start)) + } + if listVPNServersOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPNServersOptions.Limit)) + } + if listVPNServersOptions.ResourceGroupID != nil { + builder.AddQuery("resource_group.id", fmt.Sprint(*listVPNServersOptions.ResourceGroupID)) + } + if listVPNServersOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listVPNServersOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_servers", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServerCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPNServer : Create a VPN server +// This request creates a new VPN server. +func (vpc *VpcV1) CreateVPNServer(createVPNServerOptions *CreateVPNServerOptions) (result *VPNServer, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPNServerWithContext(context.Background(), createVPNServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPNServerWithContext is an alternate form of the CreateVPNServer method which supports a Context parameter +func (vpc *VpcV1) CreateVPNServerWithContext(ctx context.Context, createVPNServerOptions *CreateVPNServerOptions) (result *VPNServer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVPNServerOptions, "createVPNServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPNServerOptions, "createVPNServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers`, nil) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPNServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPNServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVPNServerOptions.Certificate != nil { + body["certificate"] = createVPNServerOptions.Certificate + } + if createVPNServerOptions.ClientAuthentication != nil { + body["client_authentication"] = createVPNServerOptions.ClientAuthentication + } + if createVPNServerOptions.ClientIPPool != nil { + body["client_ip_pool"] = createVPNServerOptions.ClientIPPool + } + if createVPNServerOptions.Subnets != nil { + body["subnets"] = createVPNServerOptions.Subnets + } + if createVPNServerOptions.ClientDnsServerIps != nil { + body["client_dns_server_ips"] = createVPNServerOptions.ClientDnsServerIps + } + if createVPNServerOptions.ClientIdleTimeout != nil { + body["client_idle_timeout"] = createVPNServerOptions.ClientIdleTimeout + } + if createVPNServerOptions.EnableSplitTunneling != nil { + body["enable_split_tunneling"] = createVPNServerOptions.EnableSplitTunneling + } + if createVPNServerOptions.Name != nil { + body["name"] = createVPNServerOptions.Name + } + if createVPNServerOptions.Port != nil { + body["port"] = createVPNServerOptions.Port + } + if createVPNServerOptions.Protocol != nil { + body["protocol"] = createVPNServerOptions.Protocol + } + if createVPNServerOptions.ResourceGroup != nil { + body["resource_group"] = createVPNServerOptions.ResourceGroup + } + if createVPNServerOptions.SecurityGroups != nil { + body["security_groups"] = createVPNServerOptions.SecurityGroups + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpn_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPNServer : Delete a VPN server +// This request deletes a VPN server. This operation cannot be reversed. +func (vpc *VpcV1) DeleteVPNServer(deleteVPNServerOptions *DeleteVPNServerOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPNServerWithContext(context.Background(), deleteVPNServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPNServerWithContext is an alternate form of the DeleteVPNServer method which supports a Context parameter +func (vpc *VpcV1) DeleteVPNServerWithContext(ctx context.Context, deleteVPNServerOptions *DeleteVPNServerOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPNServerOptions, "deleteVPNServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPNServerOptions, "deleteVPNServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *deleteVPNServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPNServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPNServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + if deleteVPNServerOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*deleteVPNServerOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpn_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPNServer : Retrieve a VPN server +// This request retrieves a single VPN server specified by the identifier in the URL. +func (vpc *VpcV1) GetVPNServer(getVPNServerOptions *GetVPNServerOptions) (result *VPNServer, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPNServerWithContext(context.Background(), getVPNServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPNServerWithContext is an alternate form of the GetVPNServer method which supports a Context parameter +func (vpc *VpcV1) GetVPNServerWithContext(ctx context.Context, getVPNServerOptions *GetVPNServerOptions) (result *VPNServer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPNServerOptions, "getVPNServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPNServerOptions, "getVPNServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVPNServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPNServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPNServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpn_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPNServer : Update a VPN server +// This request updates the properties of an existing VPN server. Any updates other than to `name` will cause all +// connected VPN clients to be disconnected. +func (vpc *VpcV1) UpdateVPNServer(updateVPNServerOptions *UpdateVPNServerOptions) (result *VPNServer, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPNServerWithContext(context.Background(), updateVPNServerOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPNServerWithContext is an alternate form of the UpdateVPNServer method which supports a Context parameter +func (vpc *VpcV1) UpdateVPNServerWithContext(ctx context.Context, updateVPNServerOptions *UpdateVPNServerOptions) (result *VPNServer, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPNServerOptions, "updateVPNServerOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPNServerOptions, "updateVPNServerOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *updateVPNServerOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPNServer") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPNServerOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + if updateVPNServerOptions.IfMatch != nil { + builder.AddHeader("If-Match", fmt.Sprint(*updateVPNServerOptions.IfMatch)) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPNServerOptions.VPNServerPatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpn_server", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServer) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// GetVPNServerClientConfiguration : Retrieve client configuration +// This request retrieves OpenVPN client configuration on a single VPN server specified by the identifier in the URL. +// This configuration includes directives compatible with OpenVPN releases 2.4 and 2.5. +func (vpc *VpcV1) GetVPNServerClientConfiguration(getVPNServerClientConfigurationOptions *GetVPNServerClientConfigurationOptions) (result *string, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPNServerClientConfigurationWithContext(context.Background(), getVPNServerClientConfigurationOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPNServerClientConfigurationWithContext is an alternate form of the GetVPNServerClientConfiguration method which supports a Context parameter +func (vpc *VpcV1) GetVPNServerClientConfigurationWithContext(ctx context.Context, getVPNServerClientConfigurationOptions *GetVPNServerClientConfigurationOptions) (result *string, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPNServerClientConfigurationOptions, "getVPNServerClientConfigurationOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPNServerClientConfigurationOptions, "getVPNServerClientConfigurationOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "id": *getVPNServerClientConfigurationOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{id}/client_configuration`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPNServerClientConfiguration") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPNServerClientConfigurationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "text/plain") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, &result) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpn_server_client_configuration", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListVPNServerClients : List VPN clients for a VPN server +// This request retrieves connected VPN clients, and any disconnected VPN clients that the VPN server has not yet +// deleted based on its auto-deletion policy. +func (vpc *VpcV1) ListVPNServerClients(listVPNServerClientsOptions *ListVPNServerClientsOptions) (result *VPNServerClientCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNServerClientsWithContext(context.Background(), listVPNServerClientsOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNServerClientsWithContext is an alternate form of the ListVPNServerClients method which supports a Context parameter +func (vpc *VpcV1) ListVPNServerClientsWithContext(ctx context.Context, listVPNServerClientsOptions *ListVPNServerClientsOptions) (result *VPNServerClientCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPNServerClientsOptions, "listVPNServerClientsOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPNServerClientsOptions, "listVPNServerClientsOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *listVPNServerClientsOptions.VPNServerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/clients`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNServerClients") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNServerClientsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPNServerClientsOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPNServerClientsOptions.Start)) + } + if listVPNServerClientsOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPNServerClientsOptions.Limit)) + } + if listVPNServerClientsOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listVPNServerClientsOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_server_clients", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServerClientCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPNServerClient : Delete a VPN client +// This request disconnects and deletes the VPN client from the VPN server. The VPN client may reconnect unless its +// authentication permissions for the configured authentication methods (such as its client certificate) have been +// revoked. +func (vpc *VpcV1) DeleteVPNServerClient(deleteVPNServerClientOptions *DeleteVPNServerClientOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPNServerClientWithContext(context.Background(), deleteVPNServerClientOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPNServerClientWithContext is an alternate form of the DeleteVPNServerClient method which supports a Context parameter +func (vpc *VpcV1) DeleteVPNServerClientWithContext(ctx context.Context, deleteVPNServerClientOptions *DeleteVPNServerClientOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPNServerClientOptions, "deleteVPNServerClientOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPNServerClientOptions, "deleteVPNServerClientOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *deleteVPNServerClientOptions.VPNServerID, + "id": *deleteVPNServerClientOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/clients/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPNServerClient") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPNServerClientOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpn_server_client", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPNServerClient : Retrieve a VPN client +// This request retrieves a single VPN client specified by the identifier in the URL. +func (vpc *VpcV1) GetVPNServerClient(getVPNServerClientOptions *GetVPNServerClientOptions) (result *VPNServerClient, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPNServerClientWithContext(context.Background(), getVPNServerClientOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPNServerClientWithContext is an alternate form of the GetVPNServerClient method which supports a Context parameter +func (vpc *VpcV1) GetVPNServerClientWithContext(ctx context.Context, getVPNServerClientOptions *GetVPNServerClientOptions) (result *VPNServerClient, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPNServerClientOptions, "getVPNServerClientOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPNServerClientOptions, "getVPNServerClientOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *getVPNServerClientOptions.VPNServerID, + "id": *getVPNServerClientOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/clients/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPNServerClient") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPNServerClientOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpn_server_client", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServerClient) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DisconnectVPNClient : Disconnect a VPN client +// This request disconnects the specified VPN client, and deletes the client according to the VPN server's auto-deletion +// policy. The VPN client may reconnect unless its authentication permissions for the configured authentication methods +// (such as its client certificate) have been revoked. +func (vpc *VpcV1) DisconnectVPNClient(disconnectVPNClientOptions *DisconnectVPNClientOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DisconnectVPNClientWithContext(context.Background(), disconnectVPNClientOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DisconnectVPNClientWithContext is an alternate form of the DisconnectVPNClient method which supports a Context parameter +func (vpc *VpcV1) DisconnectVPNClientWithContext(ctx context.Context, disconnectVPNClientOptions *DisconnectVPNClientOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(disconnectVPNClientOptions, "disconnectVPNClientOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(disconnectVPNClientOptions, "disconnectVPNClientOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *disconnectVPNClientOptions.VPNServerID, + "id": *disconnectVPNClientOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/clients/{id}/disconnect`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DisconnectVPNClient") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range disconnectVPNClientOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "disconnect_vpn_client", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// ListVPNServerRoutes : List VPN routes for a VPN server +// This request lists VPN routes in a VPN server. All VPN routes are provided to the VPN client when the connection is +// established. Packets received from the VPN client will be dropped by the VPN server if there is no VPN route +// matching their specified destinations. All VPN routes must be unique within the VPN server. +func (vpc *VpcV1) ListVPNServerRoutes(listVPNServerRoutesOptions *ListVPNServerRoutesOptions) (result *VPNServerRouteCollection, response *core.DetailedResponse, err error) { + result, response, err = vpc.ListVPNServerRoutesWithContext(context.Background(), listVPNServerRoutesOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ListVPNServerRoutesWithContext is an alternate form of the ListVPNServerRoutes method which supports a Context parameter +func (vpc *VpcV1) ListVPNServerRoutesWithContext(ctx context.Context, listVPNServerRoutesOptions *ListVPNServerRoutesOptions) (result *VPNServerRouteCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listVPNServerRoutesOptions, "listVPNServerRoutesOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(listVPNServerRoutesOptions, "listVPNServerRoutesOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *listVPNServerRoutesOptions.VPNServerID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/routes`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "ListVPNServerRoutes") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range listVPNServerRoutesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + if listVPNServerRoutesOptions.Start != nil { + builder.AddQuery("start", fmt.Sprint(*listVPNServerRoutesOptions.Start)) + } + if listVPNServerRoutesOptions.Limit != nil { + builder.AddQuery("limit", fmt.Sprint(*listVPNServerRoutesOptions.Limit)) + } + if listVPNServerRoutesOptions.Sort != nil { + builder.AddQuery("sort", fmt.Sprint(*listVPNServerRoutesOptions.Sort)) + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "list_vpn_server_routes", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServerRouteCollection) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// CreateVPNServerRoute : Create a VPN route for a VPN server +// This request creates a new VPN route in the VPN server. All VPN routes are provided to the VPN client when the +// connection is established. Packets received from the VPN client will be dropped by the VPN server if there is no VPN +// route matching their specified destinations. All VPN routes must be unique within the VPN server. +func (vpc *VpcV1) CreateVPNServerRoute(createVPNServerRouteOptions *CreateVPNServerRouteOptions) (result *VPNServerRoute, response *core.DetailedResponse, err error) { + result, response, err = vpc.CreateVPNServerRouteWithContext(context.Background(), createVPNServerRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// CreateVPNServerRouteWithContext is an alternate form of the CreateVPNServerRoute method which supports a Context parameter +func (vpc *VpcV1) CreateVPNServerRouteWithContext(ctx context.Context, createVPNServerRouteOptions *CreateVPNServerRouteOptions) (result *VPNServerRoute, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createVPNServerRouteOptions, "createVPNServerRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(createVPNServerRouteOptions, "createVPNServerRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *createVPNServerRouteOptions.VPNServerID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/routes`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "CreateVPNServerRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range createVPNServerRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + body := make(map[string]interface{}) + if createVPNServerRouteOptions.Destination != nil { + body["destination"] = createVPNServerRouteOptions.Destination + } + if createVPNServerRouteOptions.Action != nil { + body["action"] = createVPNServerRouteOptions.Action + } + if createVPNServerRouteOptions.Name != nil { + body["name"] = createVPNServerRouteOptions.Name + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "create_vpn_server_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServerRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// DeleteVPNServerRoute : Delete a VPN route +// This request deletes a VPN route. This operation cannot be reversed. +func (vpc *VpcV1) DeleteVPNServerRoute(deleteVPNServerRouteOptions *DeleteVPNServerRouteOptions) (response *core.DetailedResponse, err error) { + response, err = vpc.DeleteVPNServerRouteWithContext(context.Background(), deleteVPNServerRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DeleteVPNServerRouteWithContext is an alternate form of the DeleteVPNServerRoute method which supports a Context parameter +func (vpc *VpcV1) DeleteVPNServerRouteWithContext(ctx context.Context, deleteVPNServerRouteOptions *DeleteVPNServerRouteOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteVPNServerRouteOptions, "deleteVPNServerRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(deleteVPNServerRouteOptions, "deleteVPNServerRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *deleteVPNServerRouteOptions.VPNServerID, + "id": *deleteVPNServerRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "DeleteVPNServerRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range deleteVPNServerRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + response, err = vpc.Service.Request(request, nil) + if err != nil { + core.EnrichHTTPProblem(err, "delete_vpn_server_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + + return +} + +// GetVPNServerRoute : Retrieve a VPN route +// This request retrieves a single VPN route specified by the identifier in the URL. +func (vpc *VpcV1) GetVPNServerRoute(getVPNServerRouteOptions *GetVPNServerRouteOptions) (result *VPNServerRoute, response *core.DetailedResponse, err error) { + result, response, err = vpc.GetVPNServerRouteWithContext(context.Background(), getVPNServerRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetVPNServerRouteWithContext is an alternate form of the GetVPNServerRoute method which supports a Context parameter +func (vpc *VpcV1) GetVPNServerRouteWithContext(ctx context.Context, getVPNServerRouteOptions *GetVPNServerRouteOptions) (result *VPNServerRoute, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getVPNServerRouteOptions, "getVPNServerRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(getVPNServerRouteOptions, "getVPNServerRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *getVPNServerRouteOptions.VPNServerID, + "id": *getVPNServerRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "GetVPNServerRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range getVPNServerRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "get_vpn_server_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServerRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} + +// UpdateVPNServerRoute : Update a VPN route +// This request updates a VPN route with the information in a provided VPN route patch. The VPN route patch object is +// structured in the same way as a retrieved VPN route and contains only the information to be updated. +func (vpc *VpcV1) UpdateVPNServerRoute(updateVPNServerRouteOptions *UpdateVPNServerRouteOptions) (result *VPNServerRoute, response *core.DetailedResponse, err error) { + result, response, err = vpc.UpdateVPNServerRouteWithContext(context.Background(), updateVPNServerRouteOptions) + err = core.RepurposeSDKProblem(err, "") + return +} + +// UpdateVPNServerRouteWithContext is an alternate form of the UpdateVPNServerRoute method which supports a Context parameter +func (vpc *VpcV1) UpdateVPNServerRouteWithContext(ctx context.Context, updateVPNServerRouteOptions *UpdateVPNServerRouteOptions) (result *VPNServerRoute, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateVPNServerRouteOptions, "updateVPNServerRouteOptions cannot be nil") + if err != nil { + err = core.SDKErrorf(err, "", "unexpected-nil-param", common.GetComponentInfo()) + return + } + err = core.ValidateStruct(updateVPNServerRouteOptions, "updateVPNServerRouteOptions") + if err != nil { + err = core.SDKErrorf(err, "", "struct-validation-error", common.GetComponentInfo()) + return + } + + pathParamsMap := map[string]string{ + "vpn_server_id": *updateVPNServerRouteOptions.VPNServerID, + "id": *updateVPNServerRouteOptions.ID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = vpc.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(vpc.Service.Options.URL, `/vpn_servers/{vpn_server_id}/routes/{id}`, pathParamsMap) + if err != nil { + err = core.SDKErrorf(err, "", "url-resolve-error", common.GetComponentInfo()) + return + } + + sdkHeaders := common.GetSdkHeaders("vpc", "V1", "UpdateVPNServerRoute") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + for headerName, headerValue := range updateVPNServerRouteOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/merge-patch+json") + + builder.AddQuery("version", fmt.Sprint(*vpc.Version)) + builder.AddQuery("generation", fmt.Sprint(*vpc.Generation)) + + _, err = builder.SetBodyContentJSON(updateVPNServerRouteOptions.VPNServerRoutePatch) + if err != nil { + err = core.SDKErrorf(err, "", "set-json-body-error", common.GetComponentInfo()) + return + } + + request, err := builder.Build() + if err != nil { + err = core.SDKErrorf(err, "", "build-error", common.GetComponentInfo()) + return + } + + var rawResponse map[string]json.RawMessage + response, err = vpc.Service.Request(request, &rawResponse) + if err != nil { + core.EnrichHTTPProblem(err, "update_vpn_server_route", getServiceComponentInfo()) + err = core.SDKErrorf(err, "", "http-request-err", common.GetComponentInfo()) + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalVPNServerRoute) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-resp-error", common.GetComponentInfo()) + return + } + response.Result = result + } + + return +} +func getServiceComponentInfo() *core.ProblemComponent { + return core.NewProblemComponent(DefaultServiceName, "2025-11-04") +} + +// AccountIdentity : Identifies an account by a unique property. +// Models which "extend" this model: +// - AccountIdentityByID +type AccountIdentity struct { + // The unique identifier for this account. + ID *string `json:"id,omitempty"` +} + +func (*AccountIdentity) isaAccountIdentity() bool { + return true +} + +type AccountIdentityIntf interface { + isaAccountIdentity() bool +} + +// UnmarshalAccountIdentity unmarshals an instance of AccountIdentity from the specified map of raw messages. +func UnmarshalAccountIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AccountIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AccountReference : AccountReference struct +type AccountReference struct { + // The unique identifier for this account. + ID *string `json:"id" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the AccountReference.ResourceType property. +// The resource type. +const ( + AccountReferenceResourceTypeAccountConst = "account" +) + +// UnmarshalAccountReference unmarshals an instance of AccountReference from the specified map of raw messages. +func UnmarshalAccountReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AccountReference) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ActivateReservationOptions : The ActivateReservation options. +type ActivateReservationOptions struct { + // The reservation identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewActivateReservationOptions : Instantiate ActivateReservationOptions +func (*VpcV1) NewActivateReservationOptions(id string) *ActivateReservationOptions { + return &ActivateReservationOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ActivateReservationOptions) SetID(id string) *ActivateReservationOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ActivateReservationOptions) SetHeaders(param map[string]string) *ActivateReservationOptions { + options.Headers = param + return options +} + +// AddBareMetalServerNetworkInterfaceFloatingIPOptions : The AddBareMetalServerNetworkInterfaceFloatingIP options. +type AddBareMetalServerNetworkInterfaceFloatingIPOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewAddBareMetalServerNetworkInterfaceFloatingIPOptions : Instantiate AddBareMetalServerNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewAddBareMetalServerNetworkInterfaceFloatingIPOptions(bareMetalServerID string, networkInterfaceID string, id string) *AddBareMetalServerNetworkInterfaceFloatingIPOptions { + return &AddBareMetalServerNetworkInterfaceFloatingIPOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *AddBareMetalServerNetworkInterfaceFloatingIPOptions) SetBareMetalServerID(bareMetalServerID string) *AddBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *AddBareMetalServerNetworkInterfaceFloatingIPOptions) SetNetworkInterfaceID(networkInterfaceID string) *AddBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *AddBareMetalServerNetworkInterfaceFloatingIPOptions) SetID(id string) *AddBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *AddBareMetalServerNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *AddBareMetalServerNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// AddEndpointGatewayIPOptions : The AddEndpointGatewayIP options. +type AddEndpointGatewayIPOptions struct { + // The endpoint gateway identifier. + EndpointGatewayID *string `json:"endpoint_gateway_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewAddEndpointGatewayIPOptions : Instantiate AddEndpointGatewayIPOptions +func (*VpcV1) NewAddEndpointGatewayIPOptions(endpointGatewayID string, id string) *AddEndpointGatewayIPOptions { + return &AddEndpointGatewayIPOptions{ + EndpointGatewayID: core.StringPtr(endpointGatewayID), + ID: core.StringPtr(id), + } +} + +// SetEndpointGatewayID : Allow user to set EndpointGatewayID +func (_options *AddEndpointGatewayIPOptions) SetEndpointGatewayID(endpointGatewayID string) *AddEndpointGatewayIPOptions { + _options.EndpointGatewayID = core.StringPtr(endpointGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *AddEndpointGatewayIPOptions) SetID(id string) *AddEndpointGatewayIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *AddEndpointGatewayIPOptions) SetHeaders(param map[string]string) *AddEndpointGatewayIPOptions { + options.Headers = param + return options +} + +// AddInstanceNetworkInterfaceFloatingIPOptions : The AddInstanceNetworkInterfaceFloatingIP options. +type AddInstanceNetworkInterfaceFloatingIPOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewAddInstanceNetworkInterfaceFloatingIPOptions : Instantiate AddInstanceNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewAddInstanceNetworkInterfaceFloatingIPOptions(instanceID string, networkInterfaceID string, id string) *AddInstanceNetworkInterfaceFloatingIPOptions { + return &AddInstanceNetworkInterfaceFloatingIPOptions{ + InstanceID: core.StringPtr(instanceID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *AddInstanceNetworkInterfaceFloatingIPOptions) SetInstanceID(instanceID string) *AddInstanceNetworkInterfaceFloatingIPOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *AddInstanceNetworkInterfaceFloatingIPOptions) SetNetworkInterfaceID(networkInterfaceID string) *AddInstanceNetworkInterfaceFloatingIPOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *AddInstanceNetworkInterfaceFloatingIPOptions) SetID(id string) *AddInstanceNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *AddInstanceNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *AddInstanceNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// AddNetworkInterfaceFloatingIPOptions : The AddNetworkInterfaceFloatingIP options. +type AddNetworkInterfaceFloatingIPOptions struct { + // The virtual network interface identifier. + VirtualNetworkInterfaceID *string `json:"virtual_network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewAddNetworkInterfaceFloatingIPOptions : Instantiate AddNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewAddNetworkInterfaceFloatingIPOptions(virtualNetworkInterfaceID string, id string) *AddNetworkInterfaceFloatingIPOptions { + return &AddNetworkInterfaceFloatingIPOptions{ + VirtualNetworkInterfaceID: core.StringPtr(virtualNetworkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetVirtualNetworkInterfaceID : Allow user to set VirtualNetworkInterfaceID +func (_options *AddNetworkInterfaceFloatingIPOptions) SetVirtualNetworkInterfaceID(virtualNetworkInterfaceID string) *AddNetworkInterfaceFloatingIPOptions { + _options.VirtualNetworkInterfaceID = core.StringPtr(virtualNetworkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *AddNetworkInterfaceFloatingIPOptions) SetID(id string) *AddNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *AddNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *AddNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// AddVirtualNetworkInterfaceIPOptions : The AddVirtualNetworkInterfaceIP options. +type AddVirtualNetworkInterfaceIPOptions struct { + // The virtual network interface identifier. + VirtualNetworkInterfaceID *string `json:"virtual_network_interface_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewAddVirtualNetworkInterfaceIPOptions : Instantiate AddVirtualNetworkInterfaceIPOptions +func (*VpcV1) NewAddVirtualNetworkInterfaceIPOptions(virtualNetworkInterfaceID string, id string) *AddVirtualNetworkInterfaceIPOptions { + return &AddVirtualNetworkInterfaceIPOptions{ + VirtualNetworkInterfaceID: core.StringPtr(virtualNetworkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetVirtualNetworkInterfaceID : Allow user to set VirtualNetworkInterfaceID +func (_options *AddVirtualNetworkInterfaceIPOptions) SetVirtualNetworkInterfaceID(virtualNetworkInterfaceID string) *AddVirtualNetworkInterfaceIPOptions { + _options.VirtualNetworkInterfaceID = core.StringPtr(virtualNetworkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *AddVirtualNetworkInterfaceIPOptions) SetID(id string) *AddVirtualNetworkInterfaceIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *AddVirtualNetworkInterfaceIPOptions) SetHeaders(param map[string]string) *AddVirtualNetworkInterfaceIPOptions { + options.Headers = param + return options +} + +// AddVPNGatewayAdvertisedCIDROptions : The AddVPNGatewayAdvertisedCIDR options. +type AddVPNGatewayAdvertisedCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewAddVPNGatewayAdvertisedCIDROptions : Instantiate AddVPNGatewayAdvertisedCIDROptions +func (*VpcV1) NewAddVPNGatewayAdvertisedCIDROptions(vpnGatewayID string, cidr string) *AddVPNGatewayAdvertisedCIDROptions { + return &AddVPNGatewayAdvertisedCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *AddVPNGatewayAdvertisedCIDROptions) SetVPNGatewayID(vpnGatewayID string) *AddVPNGatewayAdvertisedCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *AddVPNGatewayAdvertisedCIDROptions) SetCIDR(cidr string) *AddVPNGatewayAdvertisedCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *AddVPNGatewayAdvertisedCIDROptions) SetHeaders(param map[string]string) *AddVPNGatewayAdvertisedCIDROptions { + options.Headers = param + return options +} + +// AddVPNGatewayConnectionsLocalCIDROptions : The AddVPNGatewayConnectionsLocalCIDR options. +type AddVPNGatewayConnectionsLocalCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewAddVPNGatewayConnectionsLocalCIDROptions : Instantiate AddVPNGatewayConnectionsLocalCIDROptions +func (*VpcV1) NewAddVPNGatewayConnectionsLocalCIDROptions(vpnGatewayID string, id string, cidr string) *AddVPNGatewayConnectionsLocalCIDROptions { + return &AddVPNGatewayConnectionsLocalCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *AddVPNGatewayConnectionsLocalCIDROptions) SetVPNGatewayID(vpnGatewayID string) *AddVPNGatewayConnectionsLocalCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *AddVPNGatewayConnectionsLocalCIDROptions) SetID(id string) *AddVPNGatewayConnectionsLocalCIDROptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *AddVPNGatewayConnectionsLocalCIDROptions) SetCIDR(cidr string) *AddVPNGatewayConnectionsLocalCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *AddVPNGatewayConnectionsLocalCIDROptions) SetHeaders(param map[string]string) *AddVPNGatewayConnectionsLocalCIDROptions { + options.Headers = param + return options +} + +// AddVPNGatewayConnectionsPeerCIDROptions : The AddVPNGatewayConnectionsPeerCIDR options. +type AddVPNGatewayConnectionsPeerCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewAddVPNGatewayConnectionsPeerCIDROptions : Instantiate AddVPNGatewayConnectionsPeerCIDROptions +func (*VpcV1) NewAddVPNGatewayConnectionsPeerCIDROptions(vpnGatewayID string, id string, cidr string) *AddVPNGatewayConnectionsPeerCIDROptions { + return &AddVPNGatewayConnectionsPeerCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *AddVPNGatewayConnectionsPeerCIDROptions) SetVPNGatewayID(vpnGatewayID string) *AddVPNGatewayConnectionsPeerCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *AddVPNGatewayConnectionsPeerCIDROptions) SetID(id string) *AddVPNGatewayConnectionsPeerCIDROptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *AddVPNGatewayConnectionsPeerCIDROptions) SetCIDR(cidr string) *AddVPNGatewayConnectionsPeerCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *AddVPNGatewayConnectionsPeerCIDROptions) SetHeaders(param map[string]string) *AddVPNGatewayConnectionsPeerCIDROptions { + options.Headers = param + return options +} + +// AddressPrefix : AddressPrefix struct +type AddressPrefix struct { + // The CIDR block for this address prefix. + CIDR *string `json:"cidr" validate:"required"` + + // The date and time that this address prefix was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // Indicates whether subnets exist with addresses from this address prefix. + HasSubnets *bool `json:"has_subnets" validate:"required"` + + // The URL for this address prefix. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this address prefix. + ID *string `json:"id" validate:"required"` + + // Indicates whether this is the default prefix for this zone in this VPC. If a default prefix was automatically + // created when the VPC was created, the prefix is automatically named using a hyphenated list of randomly-selected + // words, but may be changed. + IsDefault *bool `json:"is_default" validate:"required"` + + // The name for this address prefix. The name must not be used by another address prefix for the VPC. + Name *string `json:"name" validate:"required"` + + // The zone this address prefix resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// UnmarshalAddressPrefix unmarshals an instance of AddressPrefix from the specified map of raw messages. +func UnmarshalAddressPrefix(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AddressPrefix) + err = core.UnmarshalPrimitive(m, "cidr", &obj.CIDR) + if err != nil { + err = core.SDKErrorf(err, "", "cidr-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "has_subnets", &obj.HasSubnets) + if err != nil { + err = core.SDKErrorf(err, "", "has_subnets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "is_default", &obj.IsDefault) + if err != nil { + err = core.SDKErrorf(err, "", "is_default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AddressPrefixCollection : AddressPrefixCollection struct +type AddressPrefixCollection struct { + // A page of address prefixes for the VPC. + AddressPrefixes []AddressPrefix `json:"address_prefixes" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalAddressPrefixCollection unmarshals an instance of AddressPrefixCollection from the specified map of raw messages. +func UnmarshalAddressPrefixCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AddressPrefixCollection) + err = core.UnmarshalModel(m, "address_prefixes", &obj.AddressPrefixes, UnmarshalAddressPrefix) + if err != nil { + err = core.SDKErrorf(err, "", "address_prefixes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *AddressPrefixCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// AddressPrefixPatch : AddressPrefixPatch struct +type AddressPrefixPatch struct { + // Indicates whether this is the default prefix for this zone in this VPC. Updating to true makes this prefix the + // default prefix for this zone in this VPC, provided the VPC currently has no default address prefix for this zone. + // Updating to false removes the default prefix for this zone in this VPC. + IsDefault *bool `json:"is_default,omitempty"` + + // The name for this address prefix. The name must not be used by another address prefix for the VPC. + Name *string `json:"name,omitempty"` +} + +// UnmarshalAddressPrefixPatch unmarshals an instance of AddressPrefixPatch from the specified map of raw messages. +func UnmarshalAddressPrefixPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AddressPrefixPatch) + err = core.UnmarshalPrimitive(m, "is_default", &obj.IsDefault) + if err != nil { + err = core.SDKErrorf(err, "", "is_default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the AddressPrefixPatch +func (addressPrefixPatch *AddressPrefixPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(addressPrefixPatch.IsDefault) { + _patch["is_default"] = addressPrefixPatch.IsDefault + } + if !core.IsNil(addressPrefixPatch.Name) { + _patch["name"] = addressPrefixPatch.Name + } + + return +} + +// BackupPolicy : BackupPolicy struct +// Models which "extend" this model: +// - BackupPolicyMatchResourceTypeInstance +// - BackupPolicyMatchResourceTypeVolume +// - BackupPolicyMatchResourceTypeShare +type BackupPolicy struct { + // The date and time that the backup policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this backup policy. + CRN *string `json:"crn" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []BackupPolicyHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this backup policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this backup policy. + ID *string `json:"id" validate:"required"` + + // The date and time that the most recent job for this backup policy completed. + // + // If absent, no job has yet completed for this backup policy. + LastJobCompletedAt *strfmt.DateTime `json:"last_job_completed_at,omitempty"` + + // The lifecycle state of the backup policy. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The resource type this backup policy applies to. Resources that have both a matching type and a matching user tag + // will be subject to the backup policy. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + MatchResourceType *string `json:"match_resource_type" validate:"required"` + + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will + // be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags" validate:"required"` + + // The name for this backup policy. The name is unique across all backup policies in the region. + Name *string `json:"name" validate:"required"` + + // The plans for the backup policy. + Plans []BackupPolicyPlanReference `json:"plans" validate:"required"` + + // The resource group for this backup policy. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The scope for this backup policy. + Scope BackupPolicyScopeIntf `json:"scope" validate:"required"` + + // The included content for backups created using this policy: + // - `boot_volume`: Include the instance's boot volume. + // - `data_volumes`: Include the instance's data volumes. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IncludedContent []string `json:"included_content,omitempty"` +} + +// Constants associated with the BackupPolicy.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + BackupPolicyHealthStateDegradedConst = "degraded" + BackupPolicyHealthStateFaultedConst = "faulted" + BackupPolicyHealthStateInapplicableConst = "inapplicable" + BackupPolicyHealthStateOkConst = "ok" +) + +// Constants associated with the BackupPolicy.LifecycleState property. +// The lifecycle state of the backup policy. +const ( + BackupPolicyLifecycleStateDeletingConst = "deleting" + BackupPolicyLifecycleStateFailedConst = "failed" + BackupPolicyLifecycleStatePendingConst = "pending" + BackupPolicyLifecycleStateStableConst = "stable" + BackupPolicyLifecycleStateSuspendedConst = "suspended" + BackupPolicyLifecycleStateUpdatingConst = "updating" + BackupPolicyLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BackupPolicy.MatchResourceType property. +// The resource type this backup policy applies to. Resources that have both a matching type and a matching user tag +// will be subject to the backup policy. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BackupPolicyMatchResourceTypeInstanceConst = "instance" + BackupPolicyMatchResourceTypeShareConst = "share" + BackupPolicyMatchResourceTypeVolumeConst = "volume" +) + +// Constants associated with the BackupPolicy.ResourceType property. +// The resource type. +const ( + BackupPolicyResourceTypeBackupPolicyConst = "backup_policy" +) + +// Constants associated with the BackupPolicy.IncludedContent property. +// An item to include. +const ( + BackupPolicyIncludedContentBootVolumeConst = "boot_volume" + BackupPolicyIncludedContentDataVolumesConst = "data_volumes" +) + +func (*BackupPolicy) isaBackupPolicy() bool { + return true +} + +type BackupPolicyIntf interface { + isaBackupPolicy() bool +} + +// UnmarshalBackupPolicy unmarshals an instance of BackupPolicy from the specified map of raw messages. +func UnmarshalBackupPolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicy) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalBackupPolicyHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "last_job_completed_at", &obj.LastJobCompletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "last_job_completed_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_resource_type", &obj.MatchResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "match_resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "scope", &obj.Scope, UnmarshalBackupPolicyScope) + if err != nil { + err = core.SDKErrorf(err, "", "scope-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "included_content", &obj.IncludedContent) + if err != nil { + err = core.SDKErrorf(err, "", "included_content-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyCollection : BackupPolicyCollection struct +type BackupPolicyCollection struct { + // A page of backup policies. + BackupPolicies []BackupPolicyIntf `json:"backup_policies" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalBackupPolicyCollection unmarshals an instance of BackupPolicyCollection from the specified map of raw messages. +func UnmarshalBackupPolicyCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyCollection) + err = core.UnmarshalModel(m, "backup_policies", &obj.BackupPolicies, UnmarshalBackupPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "backup_policies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *BackupPolicyCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// BackupPolicyHealthReason : BackupPolicyHealthReason struct +type BackupPolicyHealthReason struct { + // A reason code for this health state. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the BackupPolicyHealthReason.Code property. +// A reason code for this health state. +const ( + BackupPolicyHealthReasonCodeMissingServiceAuthorizationPoliciesConst = "missing_service_authorization_policies" +) + +// UnmarshalBackupPolicyHealthReason unmarshals an instance of BackupPolicyHealthReason from the specified map of raw messages. +func UnmarshalBackupPolicyHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyJob : BackupPolicyJob struct +type BackupPolicyJob struct { + // Indicates whether this backup policy job will be automatically deleted after it completes. At present, this is + // always `true`, but may be modifiable in the future. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // If `auto_delete` is `true`, the days after completion that this backup policy job will be deleted. This value may be + // modifiable in the future. + AutoDeleteAfter *int64 `json:"auto_delete_after" validate:"required"` + + // The backup policy plan operated this backup policy job (may be + // [deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + BackupPolicyPlan *BackupPolicyPlanReference `json:"backup_policy_plan" validate:"required"` + + // The date and time that the backup policy job was completed. + // + // If absent, the backup policy job has not yet completed. + CompletedAt *strfmt.DateTime `json:"completed_at,omitempty"` + + // The date and time that the backup policy job was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this backup policy job. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this backup policy job. + ID *string `json:"id" validate:"required"` + + // The type of backup policy job. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + JobType *string `json:"job_type" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The source this backup was created from (may be + // [deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Source BackupPolicyJobSourceIntf `json:"source" validate:"required"` + + // The status of the backup policy job. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []BackupPolicyJobStatusReason `json:"status_reasons" validate:"required"` + + // The snapshots operated on by this backup policy job (may be + // [deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + TargetSnapshots []BackupPolicyTargetSnapshotIntf `json:"target_snapshots" validate:"required"` +} + +// Constants associated with the BackupPolicyJob.JobType property. +// The type of backup policy job. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BackupPolicyJobJobTypeCreationConst = "creation" + BackupPolicyJobJobTypeDeletionConst = "deletion" +) + +// Constants associated with the BackupPolicyJob.ResourceType property. +// The resource type. +const ( + BackupPolicyJobResourceTypeBackupPolicyJobConst = "backup_policy_job" +) + +// Constants associated with the BackupPolicyJob.Status property. +// The status of the backup policy job. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BackupPolicyJobStatusFailedConst = "failed" + BackupPolicyJobStatusRunningConst = "running" + BackupPolicyJobStatusSucceededConst = "succeeded" +) + +// UnmarshalBackupPolicyJob unmarshals an instance of BackupPolicyJob from the specified map of raw messages. +func UnmarshalBackupPolicyJob(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyJob) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete_after", &obj.AutoDeleteAfter) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete_after-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "backup_policy_plan", &obj.BackupPolicyPlan, UnmarshalBackupPolicyPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "backup_policy_plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "completed_at", &obj.CompletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "completed_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "job_type", &obj.JobType) + if err != nil { + err = core.SDKErrorf(err, "", "job_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source", &obj.Source, UnmarshalBackupPolicyJobSource) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalBackupPolicyJobStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target_snapshots", &obj.TargetSnapshots, UnmarshalBackupPolicyTargetSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "target_snapshots-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyJobCollection : BackupPolicyJobCollection struct +type BackupPolicyJobCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of jobs for the backup policy. + Jobs []BackupPolicyJob `json:"jobs" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalBackupPolicyJobCollection unmarshals an instance of BackupPolicyJobCollection from the specified map of raw messages. +func UnmarshalBackupPolicyJobCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyJobCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "jobs", &obj.Jobs, UnmarshalBackupPolicyJob) + if err != nil { + err = core.SDKErrorf(err, "", "jobs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *BackupPolicyJobCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// BackupPolicyJobSource : The source this backup was created from (may be +// [deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +// Models which "extend" this model: +// - BackupPolicyJobSourceVolumeReference +// - BackupPolicyJobSourceInstanceReference +// - BackupPolicyJobSourceShareReference +type BackupPolicyJobSource struct { + // The CRN for this volume. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this volume. + Href *string `json:"href,omitempty"` + + // The unique identifier for this volume. + ID *string `json:"id,omitempty"` + + // The name for this volume. The name is unique across all volumes in the region. + Name *string `json:"name,omitempty"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *VolumeRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the BackupPolicyJobSource.ResourceType property. +// The resource type. +const ( + BackupPolicyJobSourceResourceTypeVolumeConst = "volume" +) + +func (*BackupPolicyJobSource) isaBackupPolicyJobSource() bool { + return true +} + +type BackupPolicyJobSourceIntf interface { + isaBackupPolicyJobSource() bool +} + +// UnmarshalBackupPolicyJobSource unmarshals an instance of BackupPolicyJobSource from the specified map of raw messages. +func UnmarshalBackupPolicyJobSource(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyJobSource) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalVolumeRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyJobStatusReason : BackupPolicyJobStatusReason struct +type BackupPolicyJobStatusReason struct { + // A reason code for the status: + // - `internal_error`: Internal error (contact IBM support) + // - `snapshot_encryption_key_invalid`: The provided encryption key is unavailable + // - `snapshot_pending`: Cannot delete backup (snapshot) in the `pending` lifecycle state + // - `snapshot_source_unsupported`: The source access control mode does not support + // backups + // - `snapshot_rate_too_high`: The rate of backups for the resource is too high + // - `snapshot_share_limit`: The maximum limit for snapshots on this resource has been + // reached + // - `snapshot_source_unavailable`: The source data is not available (for example, + // because the source is still being created). + // - `snapshot_volume_limit`: The snapshot limit for the source volume has been reached + // - `source_volume_busy`: The source volume has `busy` set (after multiple retries) + // - `source_volume_too_large`: The source volume exceeds the [maximum supported + // size](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-about&interface=api#snapshots-vpc-limitations) + // - `source_volume_unavailable`: The source volume is not attached to a running instance + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the BackupPolicyJobStatusReason.Code property. +// A reason code for the status: +// - `internal_error`: Internal error (contact IBM support) +// - `snapshot_encryption_key_invalid`: The provided encryption key is unavailable +// - `snapshot_pending`: Cannot delete backup (snapshot) in the `pending` lifecycle state +// - `snapshot_source_unsupported`: The source access control mode does not support +// backups +// - `snapshot_rate_too_high`: The rate of backups for the resource is too high +// - `snapshot_share_limit`: The maximum limit for snapshots on this resource has been +// reached +// - `snapshot_source_unavailable`: The source data is not available (for example, +// because the source is still being created). +// - `snapshot_volume_limit`: The snapshot limit for the source volume has been reached +// - `source_volume_busy`: The source volume has `busy` set (after multiple retries) +// - `source_volume_too_large`: The source volume exceeds the [maximum supported +// size](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-about&interface=api#snapshots-vpc-limitations) +// - `source_volume_unavailable`: The source volume is not attached to a running instance +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BackupPolicyJobStatusReasonCodeInternalErrorConst = "internal_error" + BackupPolicyJobStatusReasonCodeSnapshotEncryptionKeyInvalidConst = "snapshot_encryption_key_invalid" + BackupPolicyJobStatusReasonCodeSnapshotPendingConst = "snapshot_pending" + BackupPolicyJobStatusReasonCodeSnapshotRateTooHighConst = "snapshot_rate_too_high" + BackupPolicyJobStatusReasonCodeSnapshotShareLimitConst = "snapshot_share_limit" + BackupPolicyJobStatusReasonCodeSnapshotSourceUnavailableConst = "snapshot_source_unavailable" + BackupPolicyJobStatusReasonCodeSnapshotSourceUnsupportedConst = "snapshot_source_unsupported" + BackupPolicyJobStatusReasonCodeSnapshotVolumeLimitConst = "snapshot_volume_limit" + BackupPolicyJobStatusReasonCodeSourceVolumeBusyConst = "source_volume_busy" + BackupPolicyJobStatusReasonCodeSourceVolumeTooLargeConst = "source_volume_too_large" + BackupPolicyJobStatusReasonCodeSourceVolumeUnavailableConst = "source_volume_unavailable" +) + +// UnmarshalBackupPolicyJobStatusReason unmarshals an instance of BackupPolicyJobStatusReason from the specified map of raw messages. +func UnmarshalBackupPolicyJobStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyJobStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPatch : BackupPolicyPatch struct +type BackupPolicyPatch struct { + // The included content for backups created using this policy: + // - `boot_volume`: Include the instance's boot volume. + // - `data_volumes`: Include the instance's data volumes. + IncludedContent []string `json:"included_content,omitempty"` + + // The user tags this backup policy will apply to (replacing any existing tags). Resources that have both a matching + // user tag and a matching type will be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags,omitempty"` + + // The name for this backup policy. The name must not be used by another backup policy in the region. + Name *string `json:"name,omitempty"` +} + +// Constants associated with the BackupPolicyPatch.IncludedContent property. +// An item to include. +const ( + BackupPolicyPatchIncludedContentBootVolumeConst = "boot_volume" + BackupPolicyPatchIncludedContentDataVolumesConst = "data_volumes" +) + +// UnmarshalBackupPolicyPatch unmarshals an instance of BackupPolicyPatch from the specified map of raw messages. +func UnmarshalBackupPolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPatch) + err = core.UnmarshalPrimitive(m, "included_content", &obj.IncludedContent) + if err != nil { + err = core.SDKErrorf(err, "", "included_content-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the BackupPolicyPatch +func (backupPolicyPatch *BackupPolicyPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(backupPolicyPatch.IncludedContent) { + _patch["included_content"] = backupPolicyPatch.IncludedContent + } + if !core.IsNil(backupPolicyPatch.MatchUserTags) { + _patch["match_user_tags"] = backupPolicyPatch.MatchUserTags + } + if !core.IsNil(backupPolicyPatch.Name) { + _patch["name"] = backupPolicyPatch.Name + } + + return +} + +// BackupPolicyPlan : BackupPolicyPlan struct +type BackupPolicyPlan struct { + // Indicates whether the plan is active. + Active *bool `json:"active" validate:"required"` + + // The user tags to attach to backups (snapshots) created by this plan. + AttachUserTags []string `json:"attach_user_tags" validate:"required"` + + ClonePolicy *BackupPolicyPlanClonePolicy `json:"clone_policy" validate:"required"` + + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags *bool `json:"copy_user_tags" validate:"required"` + + // The date and time that the backup policy plan was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The cron specification for the backup schedule. The backup policy jobs + // (which create and delete backups for this plan) will not start until this time, and may start for up to 90 minutes + // after this time. + // + // All backup schedules for plans in the same policy must be at least an hour apart. + CronSpec *string `json:"cron_spec" validate:"required"` + + DeletionTrigger *BackupPolicyPlanDeletionTrigger `json:"deletion_trigger" validate:"required"` + + // The URL for this backup policy plan. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this backup policy plan. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of this backup policy plan. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name *string `json:"name" validate:"required"` + + // The policies for additional backups in remote regions. + RemoteRegionPolicies []BackupPolicyPlanRemoteRegionPolicy `json:"remote_region_policies" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyPlan.LifecycleState property. +// The lifecycle state of this backup policy plan. +const ( + BackupPolicyPlanLifecycleStateDeletingConst = "deleting" + BackupPolicyPlanLifecycleStateFailedConst = "failed" + BackupPolicyPlanLifecycleStatePendingConst = "pending" + BackupPolicyPlanLifecycleStateStableConst = "stable" + BackupPolicyPlanLifecycleStateSuspendedConst = "suspended" + BackupPolicyPlanLifecycleStateUpdatingConst = "updating" + BackupPolicyPlanLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BackupPolicyPlan.ResourceType property. +// The resource type. +const ( + BackupPolicyPlanResourceTypeBackupPolicyPlanConst = "backup_policy_plan" +) + +// UnmarshalBackupPolicyPlan unmarshals an instance of BackupPolicyPlan from the specified map of raw messages. +func UnmarshalBackupPolicyPlan(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlan) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "attach_user_tags", &obj.AttachUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "attach_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "clone_policy", &obj.ClonePolicy, UnmarshalBackupPolicyPlanClonePolicy) + if err != nil { + err = core.SDKErrorf(err, "", "clone_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "copy_user_tags", &obj.CopyUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "copy_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deletion_trigger", &obj.DeletionTrigger, UnmarshalBackupPolicyPlanDeletionTrigger) + if err != nil { + err = core.SDKErrorf(err, "", "deletion_trigger-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote_region_policies", &obj.RemoteRegionPolicies, UnmarshalBackupPolicyPlanRemoteRegionPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "remote_region_policies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanClonePolicy : BackupPolicyPlanClonePolicy struct +type BackupPolicyPlanClonePolicy struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots *int64 `json:"max_snapshots" validate:"required"` + + // The zone this backup policy plan will create snapshot clones in. + Zones []ZoneReference `json:"zones" validate:"required"` +} + +// UnmarshalBackupPolicyPlanClonePolicy unmarshals an instance of BackupPolicyPlanClonePolicy from the specified map of raw messages. +func UnmarshalBackupPolicyPlanClonePolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanClonePolicy) + err = core.UnmarshalPrimitive(m, "max_snapshots", &obj.MaxSnapshots) + if err != nil { + err = core.SDKErrorf(err, "", "max_snapshots-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zones", &obj.Zones, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zones-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanClonePolicyPatch : BackupPolicyPlanClonePolicyPatch struct +type BackupPolicyPlanClonePolicyPatch struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots *int64 `json:"max_snapshots,omitempty"` + + // The zones this backup policy plan will create snapshot clones in. Updating this value does not change the clones for + // snapshots that have already been created by this plan. + Zones []ZoneIdentityIntf `json:"zones,omitempty"` +} + +// UnmarshalBackupPolicyPlanClonePolicyPatch unmarshals an instance of BackupPolicyPlanClonePolicyPatch from the specified map of raw messages. +func UnmarshalBackupPolicyPlanClonePolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanClonePolicyPatch) + err = core.UnmarshalPrimitive(m, "max_snapshots", &obj.MaxSnapshots) + if err != nil { + err = core.SDKErrorf(err, "", "max_snapshots-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zones", &obj.Zones, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zones-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the BackupPolicyPlanClonePolicyPatch +func (backupPolicyPlanClonePolicyPatch *BackupPolicyPlanClonePolicyPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(backupPolicyPlanClonePolicyPatch.MaxSnapshots) { + _patch["max_snapshots"] = backupPolicyPlanClonePolicyPatch.MaxSnapshots + } + if !core.IsNil(backupPolicyPlanClonePolicyPatch.Zones) { + var zonesPatches []map[string]interface{} + for _, zones := range backupPolicyPlanClonePolicyPatch.Zones { + zonesPatches = append(zonesPatches, zones.asPatch()) + } + _patch["zones"] = zonesPatches + } + + return +} + +// BackupPolicyPlanClonePolicyPrototype : BackupPolicyPlanClonePolicyPrototype struct +type BackupPolicyPlanClonePolicyPrototype struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots *int64 `json:"max_snapshots,omitempty"` + + // The zone this backup policy plan will create snapshot clones in. + Zones []ZoneIdentityIntf `json:"zones" validate:"required"` +} + +// NewBackupPolicyPlanClonePolicyPrototype : Instantiate BackupPolicyPlanClonePolicyPrototype (Generic Model Constructor) +func (*VpcV1) NewBackupPolicyPlanClonePolicyPrototype(zones []ZoneIdentityIntf) (_model *BackupPolicyPlanClonePolicyPrototype, err error) { + _model = &BackupPolicyPlanClonePolicyPrototype{ + Zones: zones, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalBackupPolicyPlanClonePolicyPrototype unmarshals an instance of BackupPolicyPlanClonePolicyPrototype from the specified map of raw messages. +func UnmarshalBackupPolicyPlanClonePolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanClonePolicyPrototype) + err = core.UnmarshalPrimitive(m, "max_snapshots", &obj.MaxSnapshots) + if err != nil { + err = core.SDKErrorf(err, "", "max_snapshots-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zones", &obj.Zones, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zones-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanCollection : BackupPolicyPlanCollection struct +type BackupPolicyPlanCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of plans for the backup policy. + Plans []BackupPolicyPlan `json:"plans" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalBackupPolicyPlanCollection unmarshals an instance of BackupPolicyPlanCollection from the specified map of raw messages. +func UnmarshalBackupPolicyPlanCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlan) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanDeletionTrigger : BackupPolicyPlanDeletionTrigger struct +type BackupPolicyPlanDeletionTrigger struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter *int64 `json:"delete_after" validate:"required"` + + // The maximum number of recent backups to keep. If absent, there is no maximum. + DeleteOverCount *int64 `json:"delete_over_count,omitempty"` +} + +// UnmarshalBackupPolicyPlanDeletionTrigger unmarshals an instance of BackupPolicyPlanDeletionTrigger from the specified map of raw messages. +func UnmarshalBackupPolicyPlanDeletionTrigger(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanDeletionTrigger) + err = core.UnmarshalPrimitive(m, "delete_after", &obj.DeleteAfter) + if err != nil { + err = core.SDKErrorf(err, "", "delete_after-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "delete_over_count", &obj.DeleteOverCount) + if err != nil { + err = core.SDKErrorf(err, "", "delete_over_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanDeletionTriggerPatch : BackupPolicyPlanDeletionTriggerPatch struct +type BackupPolicyPlanDeletionTriggerPatch struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter *int64 `json:"delete_after,omitempty"` + + // The maximum number of recent backups to keep. Specify `null` to remove any existing maximum. + DeleteOverCount *int64 `json:"delete_over_count,omitempty"` +} + +// UnmarshalBackupPolicyPlanDeletionTriggerPatch unmarshals an instance of BackupPolicyPlanDeletionTriggerPatch from the specified map of raw messages. +func UnmarshalBackupPolicyPlanDeletionTriggerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanDeletionTriggerPatch) + err = core.UnmarshalPrimitive(m, "delete_after", &obj.DeleteAfter) + if err != nil { + err = core.SDKErrorf(err, "", "delete_after-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "delete_over_count", &obj.DeleteOverCount) + if err != nil { + err = core.SDKErrorf(err, "", "delete_over_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the BackupPolicyPlanDeletionTriggerPatch +func (backupPolicyPlanDeletionTriggerPatch *BackupPolicyPlanDeletionTriggerPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(backupPolicyPlanDeletionTriggerPatch.DeleteAfter) { + _patch["delete_after"] = backupPolicyPlanDeletionTriggerPatch.DeleteAfter + } + if !core.IsNil(backupPolicyPlanDeletionTriggerPatch.DeleteOverCount) { + _patch["delete_over_count"] = backupPolicyPlanDeletionTriggerPatch.DeleteOverCount + } + + return +} + +// BackupPolicyPlanDeletionTriggerPrototype : BackupPolicyPlanDeletionTriggerPrototype struct +type BackupPolicyPlanDeletionTriggerPrototype struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter *int64 `json:"delete_after,omitempty"` + + // The maximum number of recent backups to keep. If unspecified, there will be no maximum. + DeleteOverCount *int64 `json:"delete_over_count,omitempty"` +} + +// UnmarshalBackupPolicyPlanDeletionTriggerPrototype unmarshals an instance of BackupPolicyPlanDeletionTriggerPrototype from the specified map of raw messages. +func UnmarshalBackupPolicyPlanDeletionTriggerPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanDeletionTriggerPrototype) + err = core.UnmarshalPrimitive(m, "delete_after", &obj.DeleteAfter) + if err != nil { + err = core.SDKErrorf(err, "", "delete_after-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "delete_over_count", &obj.DeleteOverCount) + if err != nil { + err = core.SDKErrorf(err, "", "delete_over_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanPatch : BackupPolicyPlanPatch struct +type BackupPolicyPlanPatch struct { + // Indicates whether the plan is active. + Active *bool `json:"active,omitempty"` + + // The user tags to attach to backups (snapshots) created by this plan. Updating this value does not change the user + // tags for backups that have already been created by this plan. + AttachUserTags []string `json:"attach_user_tags,omitempty"` + + ClonePolicy *BackupPolicyPlanClonePolicyPatch `json:"clone_policy,omitempty"` + + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags *bool `json:"copy_user_tags,omitempty"` + + // The cron specification for the backup schedule. The backup policy jobs + // (which create and delete backups for this plan) will not start until this time, and may start for up to 90 minutes + // after this time. + // + // All backup schedules for plans in the same policy must be at least an hour apart. + CronSpec *string `json:"cron_spec,omitempty"` + + DeletionTrigger *BackupPolicyPlanDeletionTriggerPatch `json:"deletion_trigger,omitempty"` + + // The name for this backup policy plan. The name must not be used by another plan for the backup policy. + Name *string `json:"name,omitempty"` + + // The policies for additional backups in remote regions (replacing any existing policies). + RemoteRegionPolicies []BackupPolicyPlanRemoteRegionPolicyPrototype `json:"remote_region_policies,omitempty"` +} + +// UnmarshalBackupPolicyPlanPatch unmarshals an instance of BackupPolicyPlanPatch from the specified map of raw messages. +func UnmarshalBackupPolicyPlanPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanPatch) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "attach_user_tags", &obj.AttachUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "attach_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "clone_policy", &obj.ClonePolicy, UnmarshalBackupPolicyPlanClonePolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "clone_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "copy_user_tags", &obj.CopyUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "copy_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deletion_trigger", &obj.DeletionTrigger, UnmarshalBackupPolicyPlanDeletionTriggerPatch) + if err != nil { + err = core.SDKErrorf(err, "", "deletion_trigger-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote_region_policies", &obj.RemoteRegionPolicies, UnmarshalBackupPolicyPlanRemoteRegionPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "remote_region_policies-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the BackupPolicyPlanPatch +func (backupPolicyPlanPatch *BackupPolicyPlanPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(backupPolicyPlanPatch.Active) { + _patch["active"] = backupPolicyPlanPatch.Active + } + if !core.IsNil(backupPolicyPlanPatch.AttachUserTags) { + _patch["attach_user_tags"] = backupPolicyPlanPatch.AttachUserTags + } + if !core.IsNil(backupPolicyPlanPatch.ClonePolicy) { + _patch["clone_policy"] = backupPolicyPlanPatch.ClonePolicy.asPatch() + } + if !core.IsNil(backupPolicyPlanPatch.CopyUserTags) { + _patch["copy_user_tags"] = backupPolicyPlanPatch.CopyUserTags + } + if !core.IsNil(backupPolicyPlanPatch.CronSpec) { + _patch["cron_spec"] = backupPolicyPlanPatch.CronSpec + } + if !core.IsNil(backupPolicyPlanPatch.DeletionTrigger) { + _patch["deletion_trigger"] = backupPolicyPlanPatch.DeletionTrigger.asPatch() + } + if !core.IsNil(backupPolicyPlanPatch.Name) { + _patch["name"] = backupPolicyPlanPatch.Name + } + if !core.IsNil(backupPolicyPlanPatch.RemoteRegionPolicies) { + var remoteRegionPoliciesPatches []map[string]interface{} + for _, remoteRegionPolicies := range backupPolicyPlanPatch.RemoteRegionPolicies { + remoteRegionPoliciesPatches = append(remoteRegionPoliciesPatches, remoteRegionPolicies.asPatch()) + } + _patch["remote_region_policies"] = remoteRegionPoliciesPatches + } + + return +} + +// BackupPolicyPlanPrototype : BackupPolicyPlanPrototype struct +type BackupPolicyPlanPrototype struct { + // Indicates whether the plan is active. + Active *bool `json:"active,omitempty"` + + // The user tags to attach to each backup (snapshot) created by this plan. + AttachUserTags []string `json:"attach_user_tags,omitempty"` + + ClonePolicy *BackupPolicyPlanClonePolicyPrototype `json:"clone_policy,omitempty"` + + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags *bool `json:"copy_user_tags,omitempty"` + + // The cron specification for the backup schedule. The backup policy jobs + // (which create and delete backups for this plan) will not start until this time, and may start for up to 90 minutes + // after this time. + // + // All backup schedules for plans in the same policy must be at least an hour apart. + CronSpec *string `json:"cron_spec" validate:"required"` + + DeletionTrigger *BackupPolicyPlanDeletionTriggerPrototype `json:"deletion_trigger,omitempty"` + + // The name for this backup policy plan. The name must not be used by another plan for the backup policy. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The policies for additional backups in remote regions. + RemoteRegionPolicies []BackupPolicyPlanRemoteRegionPolicyPrototype `json:"remote_region_policies,omitempty"` +} + +// NewBackupPolicyPlanPrototype : Instantiate BackupPolicyPlanPrototype (Generic Model Constructor) +func (*VpcV1) NewBackupPolicyPlanPrototype(cronSpec string) (_model *BackupPolicyPlanPrototype, err error) { + _model = &BackupPolicyPlanPrototype{ + CronSpec: core.StringPtr(cronSpec), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalBackupPolicyPlanPrototype unmarshals an instance of BackupPolicyPlanPrototype from the specified map of raw messages. +func UnmarshalBackupPolicyPlanPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanPrototype) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "attach_user_tags", &obj.AttachUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "attach_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "clone_policy", &obj.ClonePolicy, UnmarshalBackupPolicyPlanClonePolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "clone_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "copy_user_tags", &obj.CopyUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "copy_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deletion_trigger", &obj.DeletionTrigger, UnmarshalBackupPolicyPlanDeletionTriggerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "deletion_trigger-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote_region_policies", &obj.RemoteRegionPolicies, UnmarshalBackupPolicyPlanRemoteRegionPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "remote_region_policies-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanReference : BackupPolicyPlanReference struct +type BackupPolicyPlanReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this backup policy plan. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this backup policy plan. + ID *string `json:"id" validate:"required"` + + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *BackupPolicyPlanRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyPlanReference.ResourceType property. +// The resource type. +const ( + BackupPolicyPlanReferenceResourceTypeBackupPolicyPlanConst = "backup_policy_plan" +) + +// UnmarshalBackupPolicyPlanReference unmarshals an instance of BackupPolicyPlanReference from the specified map of raw messages. +func UnmarshalBackupPolicyPlanReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalBackupPolicyPlanRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanRemote : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type BackupPolicyPlanRemote struct { + // If present, this property indicates that the referenced resource is remote to this + // region, and identifies the native region. + Region *RegionReference `json:"region,omitempty"` +} + +// UnmarshalBackupPolicyPlanRemote unmarshals an instance of BackupPolicyPlanRemote from the specified map of raw messages. +func UnmarshalBackupPolicyPlanRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanRemote) + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanRemoteRegionPolicy : BackupPolicyPlanRemoteRegionPolicy struct +type BackupPolicyPlanRemoteRegionPolicy struct { + // The region this backup policy plan will create backups in. + DeleteOverCount *int64 `json:"delete_over_count" validate:"required"` + + // The root key used to rewrap the data encryption key for the backup (snapshot). + EncryptionKey *EncryptionKeyReference `json:"encryption_key" validate:"required"` + + // The region this backup policy plan will create backups in. + Region *RegionReference `json:"region" validate:"required"` +} + +// UnmarshalBackupPolicyPlanRemoteRegionPolicy unmarshals an instance of BackupPolicyPlanRemoteRegionPolicy from the specified map of raw messages. +func UnmarshalBackupPolicyPlanRemoteRegionPolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanRemoteRegionPolicy) + err = core.UnmarshalPrimitive(m, "delete_over_count", &obj.DeleteOverCount) + if err != nil { + err = core.SDKErrorf(err, "", "delete_over_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPlanRemoteRegionPolicyPrototype : BackupPolicyPlanRemoteRegionPolicyPrototype struct +type BackupPolicyPlanRemoteRegionPolicyPrototype struct { + // The region this backup policy plan will create backups in. + DeleteOverCount *int64 `json:"delete_over_count,omitempty"` + + // The root key to use to rewrap the data encryption key for the backup (snapshot). + // + // If unspecified, the source's `encryption_key` will be used. + // The specified key may be in a different account, subject to IAM policies. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The region this backup policy plan will create backups in. + Region RegionIdentityIntf `json:"region" validate:"required"` +} + +// NewBackupPolicyPlanRemoteRegionPolicyPrototype : Instantiate BackupPolicyPlanRemoteRegionPolicyPrototype (Generic Model Constructor) +func (*VpcV1) NewBackupPolicyPlanRemoteRegionPolicyPrototype(region RegionIdentityIntf) (_model *BackupPolicyPlanRemoteRegionPolicyPrototype, err error) { + _model = &BackupPolicyPlanRemoteRegionPolicyPrototype{ + Region: region, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalBackupPolicyPlanRemoteRegionPolicyPrototype unmarshals an instance of BackupPolicyPlanRemoteRegionPolicyPrototype from the specified map of raw messages. +func UnmarshalBackupPolicyPlanRemoteRegionPolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPlanRemoteRegionPolicyPrototype) + err = core.UnmarshalPrimitive(m, "delete_over_count", &obj.DeleteOverCount) + if err != nil { + err = core.SDKErrorf(err, "", "delete_over_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the BackupPolicyPlanRemoteRegionPolicyPrototype +func (backupPolicyPlanRemoteRegionPolicyPrototype *BackupPolicyPlanRemoteRegionPolicyPrototype) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(backupPolicyPlanRemoteRegionPolicyPrototype.DeleteOverCount) { + _patch["delete_over_count"] = backupPolicyPlanRemoteRegionPolicyPrototype.DeleteOverCount + } + if !core.IsNil(backupPolicyPlanRemoteRegionPolicyPrototype.EncryptionKey) { + _patch["encryption_key"] = backupPolicyPlanRemoteRegionPolicyPrototype.EncryptionKey.asPatch() + } + if !core.IsNil(backupPolicyPlanRemoteRegionPolicyPrototype.Region) { + _patch["region"] = backupPolicyPlanRemoteRegionPolicyPrototype.Region.asPatch() + } + + return +} + +// BackupPolicyPrototype : BackupPolicyPrototype struct +// Models which "extend" this model: +// - BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype +// - BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype +// - BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype +type BackupPolicyPrototype struct { + // The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag + // will be subject to the backup policy. + MatchResourceType *string `json:"match_resource_type" validate:"required"` + + // The user tags this backup policy will apply to. Resources that have both a matching user tag and a matching type + // will be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags" validate:"required"` + + // The name for this backup policy. The name must not be used by another backup policy in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The prototype objects for backup plans to be created for this backup policy. + Plans []BackupPolicyPlanPrototype `json:"plans,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The scope to use for this backup policy. + // + // If unspecified, the policy will be scoped to the account. + Scope BackupPolicyScopePrototypeIntf `json:"scope,omitempty"` + + // The included content for backups created using this policy: + // - `boot_volume`: Include the instance's boot volume. + // - `data_volumes`: Include the instance's data volumes. + IncludedContent []string `json:"included_content,omitempty"` +} + +// Constants associated with the BackupPolicyPrototype.MatchResourceType property. +// The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag +// will be subject to the backup policy. +const ( + BackupPolicyPrototypeMatchResourceTypeInstanceConst = "instance" + BackupPolicyPrototypeMatchResourceTypeShareConst = "share" + BackupPolicyPrototypeMatchResourceTypeVolumeConst = "volume" +) + +// Constants associated with the BackupPolicyPrototype.IncludedContent property. +// An item to include. +const ( + BackupPolicyPrototypeIncludedContentBootVolumeConst = "boot_volume" + BackupPolicyPrototypeIncludedContentDataVolumesConst = "data_volumes" +) + +func (*BackupPolicyPrototype) isaBackupPolicyPrototype() bool { + return true +} + +type BackupPolicyPrototypeIntf interface { + isaBackupPolicyPrototype() bool +} + +// UnmarshalBackupPolicyPrototype unmarshals an instance of BackupPolicyPrototype from the specified map of raw messages. +func UnmarshalBackupPolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPrototype) + err = core.UnmarshalPrimitive(m, "match_resource_type", &obj.MatchResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "match_resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlanPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "scope", &obj.Scope, UnmarshalBackupPolicyScopePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "scope-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "included_content", &obj.IncludedContent) + if err != nil { + err = core.SDKErrorf(err, "", "included_content-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyScope : The scope for this backup policy. +// Models which "extend" this model: +// - BackupPolicyScopeEnterpriseReference +// - BackupPolicyScopeAccountReference +type BackupPolicyScope struct { + // The CRN for this enterprise. + CRN *string `json:"crn,omitempty"` + + // The unique identifier for this enterprise. + ID *string `json:"id,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the BackupPolicyScope.ResourceType property. +// The resource type. +const ( + BackupPolicyScopeResourceTypeEnterpriseConst = "enterprise" +) + +func (*BackupPolicyScope) isaBackupPolicyScope() bool { + return true +} + +type BackupPolicyScopeIntf interface { + isaBackupPolicyScope() bool +} + +// UnmarshalBackupPolicyScope unmarshals an instance of BackupPolicyScope from the specified map of raw messages. +func UnmarshalBackupPolicyScope(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyScope) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyScopePrototype : The scope to use for this backup policy. +// +// If unspecified, the policy will be scoped to the account. +// Models which "extend" this model: +// - BackupPolicyScopePrototypeEnterpriseIdentity +type BackupPolicyScopePrototype struct { + // The CRN for this enterprise. + CRN *string `json:"crn,omitempty"` +} + +func (*BackupPolicyScopePrototype) isaBackupPolicyScopePrototype() bool { + return true +} + +type BackupPolicyScopePrototypeIntf interface { + isaBackupPolicyScopePrototype() bool +} + +// UnmarshalBackupPolicyScopePrototype unmarshals an instance of BackupPolicyScopePrototype from the specified map of raw messages. +func UnmarshalBackupPolicyScopePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyScopePrototype) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyTargetSnapshot : BackupPolicyTargetSnapshot struct +// Models which "extend" this model: +// - BackupPolicyTargetSnapshotSnapshotReference +// - BackupPolicyTargetSnapshotShareSnapshotReference +type BackupPolicyTargetSnapshot struct { + // The CRN of this snapshot. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this snapshot. + Href *string `json:"href,omitempty"` + + // The unique identifier for this snapshot. + ID *string `json:"id,omitempty"` + + // The name for this snapshot. The name is unique across all snapshots in the region. + Name *string `json:"name,omitempty"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *SnapshotRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the BackupPolicyTargetSnapshot.ResourceType property. +// The resource type. +const ( + BackupPolicyTargetSnapshotResourceTypeSnapshotConst = "snapshot" +) + +func (*BackupPolicyTargetSnapshot) isaBackupPolicyTargetSnapshot() bool { + return true +} + +type BackupPolicyTargetSnapshotIntf interface { + isaBackupPolicyTargetSnapshot() bool +} + +// UnmarshalBackupPolicyTargetSnapshot unmarshals an instance of BackupPolicyTargetSnapshot from the specified map of raw messages. +func UnmarshalBackupPolicyTargetSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyTargetSnapshot) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSnapshotRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServer : BareMetalServer struct +type BareMetalServer struct { + // The total bandwidth (in megabits per second) shared across the bare metal server network attachments or bare metal + // server network interfaces. + Bandwidth *int64 `json:"bandwidth" validate:"required"` + + // The resource from which this bare metal server is booted. + // + // The resources supported by this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + BootTarget BareMetalServerBootTargetIntf `json:"boot_target" validate:"required"` + + // The bare metal server CPU configuration. + Cpu *BareMetalServerCpu `json:"cpu" validate:"required"` + + // The date and time that the bare metal server was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this bare metal server. + CRN *string `json:"crn" validate:"required"` + + // The disks for this bare metal server, including any disks that are associated with the + // `boot_target`. + Disks []BareMetalServerDisk `json:"disks" validate:"required"` + + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to + // boot. + EnableSecureBoot *bool `json:"enable_secure_boot" validate:"required"` + + // Firmware information for the bare metal server. + Firmware *BareMetalServerFirmware `json:"firmware" validate:"required"` + + // The reasons for the current server `health_state` (if any): + // - `reservation_capacity_unavailable`: The reservation affinity pool has no + // available capacity. + // - `reservation_deleted`: The reservation affinity pool has a deleted reservation. + // - `reservation_expired`: The reservation affinity pool has an expired reservation. + // - `reservation_failed`: The reservation affinity pool has a failed reservation. + // + // See [health status reasons](https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons) for details. The + // enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + HealthReasons []BareMetalServerHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this bare metal server. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []BareMetalServerLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the bare metal server. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The amount of memory, truncated to whole gibibytes. + Memory *int64 `json:"memory" validate:"required"` + + // The metadata service configuration for the bare metal server. + MetadataService *BareMetalServerMetadataService `json:"metadata_service" validate:"required"` + + // The name for this bare metal server. The name is unique across all bare metal servers in the region. + Name *string `json:"name" validate:"required"` + + // The network attachments for this bare metal server, including the primary network attachment. + NetworkAttachments []BareMetalServerNetworkAttachmentReference `json:"network_attachments,omitempty"` + + // The network interfaces for this bare metal server, including the primary network interface. + // + // If this bare metal server has network attachments, each network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface. + NetworkInterfaces []NetworkInterfaceBareMetalServerContextReference `json:"network_interfaces" validate:"required"` + + // The primary network attachment for this bare metal server. + PrimaryNetworkAttachment *BareMetalServerNetworkAttachmentReference `json:"primary_network_attachment,omitempty"` + + // The primary network interface for this bare metal server. + // + // If this bare metal server has network attachments, this primary network interface is + // a [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) + // of the primary network attachment and its attached virtual network interface. + PrimaryNetworkInterface *NetworkInterfaceBareMetalServerContextReference `json:"primary_network_interface" validate:"required"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) + // for this bare metal server. + Profile *BareMetalServerProfileReference `json:"profile" validate:"required"` + + // The reservation used by this bare metal server. + // If absent, no reservation is in use. + Reservation *ReservationReference `json:"reservation,omitempty"` + + ReservationAffinity *BareMetalServerReservationAffinity `json:"reservation_affinity" validate:"required"` + + // The resource group for this bare metal server. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of this bare metal server: + // - `deleting`: server is undergoing deletion + // - `failed`: server is failed and not usable (see `status_reasons`) + // - `maintenance`: server is undergoing maintenance (not usable) + // - `pending`: server is being provisioned and not yet usable + // - `reinitializing`: server is reinitializing and not yet usable + // - `restarting`: server is restarting and not yet usable + // - `running`: server is powered on + // - `starting`: server is starting and not yet usable + // - `stopped`: server is powered off + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []BareMetalServerStatusReason `json:"status_reasons" validate:"required"` + + TrustedPlatformModule *BareMetalServerTrustedPlatformModule `json:"trusted_platform_module" validate:"required"` + + // The VPC this bare metal server resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The zone this bare metal server resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the BareMetalServer.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + BareMetalServerHealthStateDegradedConst = "degraded" + BareMetalServerHealthStateFaultedConst = "faulted" + BareMetalServerHealthStateInapplicableConst = "inapplicable" + BareMetalServerHealthStateOkConst = "ok" +) + +// Constants associated with the BareMetalServer.LifecycleState property. +// The lifecycle state of the bare metal server. +const ( + BareMetalServerLifecycleStateDeletingConst = "deleting" + BareMetalServerLifecycleStateFailedConst = "failed" + BareMetalServerLifecycleStatePendingConst = "pending" + BareMetalServerLifecycleStateStableConst = "stable" + BareMetalServerLifecycleStateSuspendedConst = "suspended" + BareMetalServerLifecycleStateUpdatingConst = "updating" + BareMetalServerLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BareMetalServer.ResourceType property. +// The resource type. +const ( + BareMetalServerResourceTypeBareMetalServerConst = "bare_metal_server" +) + +// Constants associated with the BareMetalServer.Status property. +// The status of this bare metal server: +// - `deleting`: server is undergoing deletion +// - `failed`: server is failed and not usable (see `status_reasons`) +// - `maintenance`: server is undergoing maintenance (not usable) +// - `pending`: server is being provisioned and not yet usable +// - `reinitializing`: server is reinitializing and not yet usable +// - `restarting`: server is restarting and not yet usable +// - `running`: server is powered on +// - `starting`: server is starting and not yet usable +// - `stopped`: server is powered off +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerStatusDeletingConst = "deleting" + BareMetalServerStatusFailedConst = "failed" + BareMetalServerStatusMaintenanceConst = "maintenance" + BareMetalServerStatusPendingConst = "pending" + BareMetalServerStatusReinitializingConst = "reinitializing" + BareMetalServerStatusRestartingConst = "restarting" + BareMetalServerStatusRunningConst = "running" + BareMetalServerStatusStartingConst = "starting" + BareMetalServerStatusStoppedConst = "stopped" +) + +// UnmarshalBareMetalServer unmarshals an instance of BareMetalServer from the specified map of raw messages. +func UnmarshalBareMetalServer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServer) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_target", &obj.BootTarget, UnmarshalBareMetalServerBootTarget) + if err != nil { + err = core.SDKErrorf(err, "", "boot_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cpu", &obj.Cpu, UnmarshalBareMetalServerCpu) + if err != nil { + err = core.SDKErrorf(err, "", "cpu-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalBareMetalServerDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "firmware", &obj.Firmware, UnmarshalBareMetalServerFirmware) + if err != nil { + err = core.SDKErrorf(err, "", "firmware-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalBareMetalServerHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalBareMetalServerLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "memory", &obj.Memory) + if err != nil { + err = core.SDKErrorf(err, "", "memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalBareMetalServerMetadataService) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalBareMetalServerNetworkAttachmentReference) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfaceBareMetalServerContextReference) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalBareMetalServerNetworkAttachmentReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfaceBareMetalServerContextReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalBareMetalServerProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation", &obj.Reservation, UnmarshalReservationReference) + if err != nil { + err = core.SDKErrorf(err, "", "reservation-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalBareMetalServerReservationAffinity) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalBareMetalServerStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "trusted_platform_module", &obj.TrustedPlatformModule, UnmarshalBareMetalServerTrustedPlatformModule) + if err != nil { + err = core.SDKErrorf(err, "", "trusted_platform_module-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerBootTarget : The resource from which this bare metal server is booted. +// +// The resources supported by this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +// Models which "extend" this model: +// - BareMetalServerBootTargetBareMetalServerDiskReference +type BareMetalServerBootTarget struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this bare metal server disk. + Href *string `json:"href,omitempty"` + + // The unique identifier for this bare metal server disk. + ID *string `json:"id,omitempty"` + + // The name for this bare metal server disk. The name is unique across all disks on the bare metal server. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the BareMetalServerBootTarget.ResourceType property. +// The resource type. +const ( + BareMetalServerBootTargetResourceTypeBareMetalServerDiskConst = "bare_metal_server_disk" +) + +func (*BareMetalServerBootTarget) isaBareMetalServerBootTarget() bool { + return true +} + +type BareMetalServerBootTargetIntf interface { + isaBareMetalServerBootTarget() bool +} + +// UnmarshalBareMetalServerBootTarget unmarshals an instance of BareMetalServerBootTarget from the specified map of raw messages. +func UnmarshalBareMetalServerBootTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerBootTarget) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerCpu : The bare metal server CPU configuration. +type BareMetalServerCpu struct { + // The CPU architecture. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Architecture *string `json:"architecture" validate:"required"` + + // The total number of cores. + CoreCount *int64 `json:"core_count" validate:"required"` + + // The total number of CPU sockets. + SocketCount *int64 `json:"socket_count" validate:"required"` + + // The total number of hardware threads per core. + ThreadsPerCore *int64 `json:"threads_per_core" validate:"required"` +} + +// Constants associated with the BareMetalServerCpu.Architecture property. +// The CPU architecture. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerCpuArchitectureAmd64Const = "amd64" + BareMetalServerCpuArchitectureS390xConst = "s390x" +) + +// UnmarshalBareMetalServerCpu unmarshals an instance of BareMetalServerCpu from the specified map of raw messages. +func UnmarshalBareMetalServerCpu(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerCpu) + err = core.UnmarshalPrimitive(m, "architecture", &obj.Architecture) + if err != nil { + err = core.SDKErrorf(err, "", "architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "core_count", &obj.CoreCount) + if err != nil { + err = core.SDKErrorf(err, "", "core_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "socket_count", &obj.SocketCount) + if err != nil { + err = core.SDKErrorf(err, "", "socket_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "threads_per_core", &obj.ThreadsPerCore) + if err != nil { + err = core.SDKErrorf(err, "", "threads_per_core-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerCollection : BareMetalServerCollection struct +type BareMetalServerCollection struct { + // A page of bare metal servers. + BareMetalServers []BareMetalServer `json:"bare_metal_servers" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalBareMetalServerCollection unmarshals an instance of BareMetalServerCollection from the specified map of raw messages. +func UnmarshalBareMetalServerCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerCollection) + err = core.UnmarshalModel(m, "bare_metal_servers", &obj.BareMetalServers, UnmarshalBareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *BareMetalServerCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// BareMetalServerConsoleAccessToken : The bare metal server console access token information. +type BareMetalServerConsoleAccessToken struct { + // A URL safe single-use token used to access the console WebSocket. + AccessToken *string `json:"access_token" validate:"required"` + + // The bare metal server console type for which this token may be used. + ConsoleType *string `json:"console_type" validate:"required"` + + // The date and time that the access token was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The date and time that the access token will expire. + ExpiresAt *strfmt.DateTime `json:"expires_at" validate:"required"` + + // Indicates whether to disconnect an existing serial console session as the serial console cannot be shared. This has + // no effect on VNC consoles. + Force *bool `json:"force" validate:"required"` + + // The URL to access this bare metal server console. + Href *string `json:"href" validate:"required"` +} + +// Constants associated with the BareMetalServerConsoleAccessToken.ConsoleType property. +// The bare metal server console type for which this token may be used. +const ( + BareMetalServerConsoleAccessTokenConsoleTypeSerialConst = "serial" + BareMetalServerConsoleAccessTokenConsoleTypeVncConst = "vnc" +) + +// UnmarshalBareMetalServerConsoleAccessToken unmarshals an instance of BareMetalServerConsoleAccessToken from the specified map of raw messages. +func UnmarshalBareMetalServerConsoleAccessToken(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerConsoleAccessToken) + err = core.UnmarshalPrimitive(m, "access_token", &obj.AccessToken) + if err != nil { + err = core.SDKErrorf(err, "", "access_token-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "console_type", &obj.ConsoleType) + if err != nil { + err = core.SDKErrorf(err, "", "console_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "expires_at", &obj.ExpiresAt) + if err != nil { + err = core.SDKErrorf(err, "", "expires_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "force", &obj.Force) + if err != nil { + err = core.SDKErrorf(err, "", "force-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerDisk : BareMetalServerDisk struct +type BareMetalServerDisk struct { + // The usage constraints to be matched against the requested bare metal server + // properties to determine compatibility. + // + // Only present for disks which are referenced in a bare metal server's `boot_target` + // property. The value of this property will be inherited from the source image at creation. + AllowedUse *BareMetalServerDiskAllowedUse `json:"allowed_use,omitempty"` + + // The date and time that the disk was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this bare metal server disk. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server disk. + ID *string `json:"id" validate:"required"` + + // The disk attachment interface used: + // - `fcp`: Fiber Channel Protocol + // - `sata`: Serial Advanced Technology Attachment + // - `nvme`: Non-Volatile Memory Express + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + InterfaceType *string `json:"interface_type" validate:"required"` + + // The name for this bare metal server disk. The name is unique across all disks on the bare metal server. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The size of the disk in GB (gigabytes). + Size *int64 `json:"size" validate:"required"` +} + +// Constants associated with the BareMetalServerDisk.InterfaceType property. +// The disk attachment interface used: +// - `fcp`: Fiber Channel Protocol +// - `sata`: Serial Advanced Technology Attachment +// - `nvme`: Non-Volatile Memory Express +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerDiskInterfaceTypeFcpConst = "fcp" + BareMetalServerDiskInterfaceTypeNvmeConst = "nvme" + BareMetalServerDiskInterfaceTypeSataConst = "sata" +) + +// Constants associated with the BareMetalServerDisk.ResourceType property. +// The resource type. +const ( + BareMetalServerDiskResourceTypeBareMetalServerDiskConst = "bare_metal_server_disk" +) + +// UnmarshalBareMetalServerDisk unmarshals an instance of BareMetalServerDisk from the specified map of raw messages. +func UnmarshalBareMetalServerDisk(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerDisk) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalBareMetalServerDiskAllowedUse) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerDiskAllowedUse : BareMetalServerDiskAllowedUse struct +type BareMetalServerDiskAllowedUse struct { + // The API version with which to evaluate the expressions. + // + // If specified, the value must be between `2019-01-01` and today's date (in UTC). If unspecified, the `version` query + // parameter value will be used. + ApiVersion *string `json:"api_version" validate:"required"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in + // this disk. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server" validate:"required"` +} + +// UnmarshalBareMetalServerDiskAllowedUse unmarshals an instance of BareMetalServerDiskAllowedUse from the specified map of raw messages. +func UnmarshalBareMetalServerDiskAllowedUse(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerDiskAllowedUse) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerDiskCollection : BareMetalServerDiskCollection struct +type BareMetalServerDiskCollection struct { + // The disks for the bare metal server. + Disks []BareMetalServerDisk `json:"disks" validate:"required"` +} + +// UnmarshalBareMetalServerDiskCollection unmarshals an instance of BareMetalServerDiskCollection from the specified map of raw messages. +func UnmarshalBareMetalServerDiskCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerDiskCollection) + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalBareMetalServerDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerDiskPatch : BareMetalServerDiskPatch struct +type BareMetalServerDiskPatch struct { + // The name for this bare metal server disk. The name must not be used by another disk on the bare metal server. + Name *string `json:"name,omitempty"` +} + +// UnmarshalBareMetalServerDiskPatch unmarshals an instance of BareMetalServerDiskPatch from the specified map of raw messages. +func UnmarshalBareMetalServerDiskPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerDiskPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the BareMetalServerDiskPatch +func (bareMetalServerDiskPatch *BareMetalServerDiskPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(bareMetalServerDiskPatch.Name) { + _patch["name"] = bareMetalServerDiskPatch.Name + } + + return +} + +// BareMetalServerFirmware : Firmware information for the bare metal server. +type BareMetalServerFirmware struct { + // The type of update available. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Update *string `json:"update" validate:"required"` +} + +// Constants associated with the BareMetalServerFirmware.Update property. +// The type of update available. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerFirmwareUpdateNoneConst = "none" + BareMetalServerFirmwareUpdateOptionalConst = "optional" + BareMetalServerFirmwareUpdateRequiredConst = "required" +) + +// UnmarshalBareMetalServerFirmware unmarshals an instance of BareMetalServerFirmware from the specified map of raw messages. +func UnmarshalBareMetalServerFirmware(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerFirmware) + err = core.UnmarshalPrimitive(m, "update", &obj.Update) + if err != nil { + err = core.SDKErrorf(err, "", "update-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerHealthReason : BareMetalServerHealthReason struct +type BareMetalServerHealthReason struct { + // A reason code for this health state. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the BareMetalServerHealthReason.Code property. +// A reason code for this health state. +const ( + BareMetalServerHealthReasonCodeReservationCapacityUnavailableConst = "reservation_capacity_unavailable" + BareMetalServerHealthReasonCodeReservationDeletedConst = "reservation_deleted" + BareMetalServerHealthReasonCodeReservationExpiredConst = "reservation_expired" + BareMetalServerHealthReasonCodeReservationFailedConst = "reservation_failed" +) + +// UnmarshalBareMetalServerHealthReason unmarshals an instance of BareMetalServerHealthReason from the specified map of raw messages. +func UnmarshalBareMetalServerHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerInitialization : BareMetalServerInitialization struct +type BareMetalServerInitialization struct { + // The default trusted profile configuration specified at bare metal server + // initialization. If absent, no default trusted profile was specified. + DefaultTrustedProfile *BareMetalServerInitializationDefaultTrustedProfile `json:"default_trusted_profile,omitempty"` + + // The image the bare metal server was provisioned from. + Image *ImageReference `json:"image" validate:"required"` + + // The public SSH keys used at initialization. + Keys []KeyReference `json:"keys" validate:"required"` + + // The user accounts that are created at initialization. There can be multiple account types distinguished by the + // `resource_type` property. + UserAccounts []BareMetalServerInitializationUserAccountIntf `json:"user_accounts" validate:"required"` +} + +// UnmarshalBareMetalServerInitialization unmarshals an instance of BareMetalServerInitialization from the specified map of raw messages. +func UnmarshalBareMetalServerInitialization(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerInitialization) + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalBareMetalServerInitializationDefaultTrustedProfile) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageReference) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "user_accounts", &obj.UserAccounts, UnmarshalBareMetalServerInitializationUserAccount) + if err != nil { + err = core.SDKErrorf(err, "", "user_accounts-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerInitializationDefaultTrustedProfile : BareMetalServerInitializationDefaultTrustedProfile struct +type BareMetalServerInitializationDefaultTrustedProfile struct { + // If set to `true`, the system created a link to the specified `target` trusted profile during server initialization. + // Regardless of whether a link was created by the system or manually using the IAM Identity service, the link will be + // automatically deleted when the server is deleted. + AutoLink *bool `json:"auto_link" validate:"required"` + + // The default IAM trusted profile to use for this bare metal server. + Target *TrustedProfileReference `json:"target" validate:"required"` +} + +// UnmarshalBareMetalServerInitializationDefaultTrustedProfile unmarshals an instance of BareMetalServerInitializationDefaultTrustedProfile from the specified map of raw messages. +func UnmarshalBareMetalServerInitializationDefaultTrustedProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerInitializationDefaultTrustedProfile) + err = core.UnmarshalPrimitive(m, "auto_link", &obj.AutoLink) + if err != nil { + err = core.SDKErrorf(err, "", "auto_link-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalTrustedProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerInitializationDefaultTrustedProfilePrototype : BareMetalServerInitializationDefaultTrustedProfilePrototype struct +type BareMetalServerInitializationDefaultTrustedProfilePrototype struct { + // If set to `true`, the system will create a link to the specified `target` trusted profile during server creation. + // Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be + // automatically deleted when the server is deleted. + AutoLink *bool `json:"auto_link,omitempty"` + + // The default IAM trusted profile to use for this bare metal server. + Target TrustedProfileIdentityIntf `json:"target" validate:"required"` +} + +// NewBareMetalServerInitializationDefaultTrustedProfilePrototype : Instantiate BareMetalServerInitializationDefaultTrustedProfilePrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerInitializationDefaultTrustedProfilePrototype(target TrustedProfileIdentityIntf) (_model *BareMetalServerInitializationDefaultTrustedProfilePrototype, err error) { + _model = &BareMetalServerInitializationDefaultTrustedProfilePrototype{ + Target: target, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalBareMetalServerInitializationDefaultTrustedProfilePrototype unmarshals an instance of BareMetalServerInitializationDefaultTrustedProfilePrototype from the specified map of raw messages. +func UnmarshalBareMetalServerInitializationDefaultTrustedProfilePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerInitializationDefaultTrustedProfilePrototype) + err = core.UnmarshalPrimitive(m, "auto_link", &obj.AutoLink) + if err != nil { + err = core.SDKErrorf(err, "", "auto_link-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalTrustedProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerInitializationPrototype : BareMetalServerInitializationPrototype struct +type BareMetalServerInitializationPrototype struct { + // The default trusted profile to be used when initializing the bare metal server. + // + // If unspecified, no default trusted profile will be made available. + DefaultTrustedProfile *BareMetalServerInitializationDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // The image to be used when provisioning the bare metal server. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The public SSH keys to install on the bare metal server. Keys will be made available to the bare metal server as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, at least one key must be specified, and one will be selected to encrypt the administrator + // password. Keys are optional for other images, but if no keys are specified, the bare metal server will be + // inaccessible unless the specified image provides another means of access. + Keys []KeyIdentityIntf `json:"keys" validate:"required"` + + // The user data to be made available when initializing the bare metal server. + UserData *string `json:"user_data,omitempty"` +} + +// NewBareMetalServerInitializationPrototype : Instantiate BareMetalServerInitializationPrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerInitializationPrototype(image ImageIdentityIntf, keys []KeyIdentityIntf) (_model *BareMetalServerInitializationPrototype, err error) { + _model = &BareMetalServerInitializationPrototype{ + Image: image, + Keys: keys, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalBareMetalServerInitializationPrototype unmarshals an instance of BareMetalServerInitializationPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerInitializationPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerInitializationPrototype) + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalBareMetalServerInitializationDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerInitializationUserAccount : BareMetalServerInitializationUserAccount struct +// Models which "extend" this model: +// - BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount +type BareMetalServerInitializationUserAccount struct { + // The administrator password at initialization, encrypted using `encryption_key`, and returned base64-encoded. + EncryptedPassword *[]byte `json:"encrypted_password,omitempty"` + + // The public SSH key used to encrypt the password. + EncryptionKey *KeyReference `json:"encryption_key,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` + + // The username for the account created at initialization. + Username *string `json:"username,omitempty"` +} + +// Constants associated with the BareMetalServerInitializationUserAccount.ResourceType property. +// The resource type. +const ( + BareMetalServerInitializationUserAccountResourceTypeHostUserAccountConst = "host_user_account" +) + +func (*BareMetalServerInitializationUserAccount) isaBareMetalServerInitializationUserAccount() bool { + return true +} + +type BareMetalServerInitializationUserAccountIntf interface { + isaBareMetalServerInitializationUserAccount() bool +} + +// UnmarshalBareMetalServerInitializationUserAccount unmarshals an instance of BareMetalServerInitializationUserAccount from the specified map of raw messages. +func UnmarshalBareMetalServerInitializationUserAccount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerInitializationUserAccount) + err = core.UnmarshalPrimitive(m, "encrypted_password", &obj.EncryptedPassword) + if err != nil { + err = core.SDKErrorf(err, "", "encrypted_password-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "username", &obj.Username) + if err != nil { + err = core.SDKErrorf(err, "", "username-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerLifecycleReason : BareMetalServerLifecycleReason struct +type BareMetalServerLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the BareMetalServerLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerLifecycleReasonCodeInternalErrorConst = "internal_error" + BareMetalServerLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalBareMetalServerLifecycleReason unmarshals an instance of BareMetalServerLifecycleReason from the specified map of raw messages. +func UnmarshalBareMetalServerLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerMetadataService : The metadata service configuration for the bare metal server. +type BareMetalServerMetadataService struct { + // Indicates whether the metadata service endpoint is available to the bare metal server. + Enabled *bool `json:"enabled" validate:"required"` + + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is + // enabled. + // - `http`: HTTP protocol (unencrypted) + // - `https`: HTTP Secure protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the BareMetalServerMetadataService.Protocol property. +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is +// enabled. +// - `http`: HTTP protocol (unencrypted) +// - `https`: HTTP Secure protocol. +const ( + BareMetalServerMetadataServiceProtocolHTTPConst = "http" + BareMetalServerMetadataServiceProtocolHTTPSConst = "https" +) + +// UnmarshalBareMetalServerMetadataService unmarshals an instance of BareMetalServerMetadataService from the specified map of raw messages. +func UnmarshalBareMetalServerMetadataService(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerMetadataService) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + err = core.SDKErrorf(err, "", "enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerMetadataServicePatch : The metadata service configuration for the bare metal server. +type BareMetalServerMetadataServicePatch struct { + // Indicates whether the metadata service endpoint will be available to the bare metal server. + Enabled *bool `json:"enabled,omitempty"` + + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is + // enabled. + // - `http`: HTTP protocol (unencrypted) + // - `https`: HTTP Secure protocol. + Protocol *string `json:"protocol,omitempty"` +} + +// Constants associated with the BareMetalServerMetadataServicePatch.Protocol property. +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is +// enabled. +// - `http`: HTTP protocol (unencrypted) +// - `https`: HTTP Secure protocol. +const ( + BareMetalServerMetadataServicePatchProtocolHTTPConst = "http" + BareMetalServerMetadataServicePatchProtocolHTTPSConst = "https" +) + +// UnmarshalBareMetalServerMetadataServicePatch unmarshals an instance of BareMetalServerMetadataServicePatch from the specified map of raw messages. +func UnmarshalBareMetalServerMetadataServicePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerMetadataServicePatch) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + err = core.SDKErrorf(err, "", "enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the BareMetalServerMetadataServicePatch +func (bareMetalServerMetadataServicePatch *BareMetalServerMetadataServicePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(bareMetalServerMetadataServicePatch.Enabled) { + _patch["enabled"] = bareMetalServerMetadataServicePatch.Enabled + } + if !core.IsNil(bareMetalServerMetadataServicePatch.Protocol) { + _patch["protocol"] = bareMetalServerMetadataServicePatch.Protocol + } + + return +} + +// BareMetalServerMetadataServicePrototype : The metadata service configuration for the bare metal server. +type BareMetalServerMetadataServicePrototype struct { + // Indicates whether the metadata service endpoint will be available to the bare metal server. + Enabled *bool `json:"enabled,omitempty"` + + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is + // enabled. + // - `http`: HTTP protocol (unencrypted) + // - `https`: HTTP Secure protocol. + Protocol *string `json:"protocol,omitempty"` +} + +// Constants associated with the BareMetalServerMetadataServicePrototype.Protocol property. +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is +// enabled. +// - `http`: HTTP protocol (unencrypted) +// - `https`: HTTP Secure protocol. +const ( + BareMetalServerMetadataServicePrototypeProtocolHTTPConst = "http" + BareMetalServerMetadataServicePrototypeProtocolHTTPSConst = "https" +) + +// UnmarshalBareMetalServerMetadataServicePrototype unmarshals an instance of BareMetalServerMetadataServicePrototype from the specified map of raw messages. +func UnmarshalBareMetalServerMetadataServicePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerMetadataServicePrototype) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + err = core.SDKErrorf(err, "", "enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachment : BareMetalServerNetworkAttachment struct +// Models which "extend" this model: +// - BareMetalServerNetworkAttachmentByPci +// - BareMetalServerNetworkAttachmentByVlan +type BareMetalServerNetworkAttachment struct { + // The date and time that the bare metal server network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this bare metal server network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network attachment. + ID *string `json:"id" validate:"required"` + + // The network attachment's interface type: + // - `pci`: a physical PCI device which can only be created or deleted when the bare metal + // server is stopped + // - Has an `allowed_vlans` property which controls the VLANs that will be permitted + // to use the PCI attachment + // - Cannot directly use an IEEE 802.1Q tag. + // - `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its + // array of `allowed_vlans`. + // - Must use an IEEE 802.1Q tag. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + InterfaceType *string `json:"interface_type" validate:"required"` + + // The lifecycle state of the bare metal server network attachment. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this bare metal server network attachment. The name is unique across all network attachments for the + // bare metal server. + Name *string `json:"name" validate:"required"` + + // The port speed for this bare metal server network attachment in Mbps. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of the virtual network interface for the bare metal server + // network attachment. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The subnet of the virtual network interface for the bare metal server network + // attachment. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The bare metal server network attachment type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface" validate:"required"` + + // The VLAN IDs allowed for `vlan` attachments using this PCI attachment. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + // Indicates if the data path for the network attachment can float to another bare metal server. Can only be `true` for + // network attachments with an `interface_type` of `vlan`. + // + // If `true`, and the network detects traffic for this data path on another bare metal server in the resource group, + // the network attachment will be automatically deleted from this bare metal server and a new network attachment with + // the same `id`, `name` and `vlan` will be created on the other bare metal server. The virtual network interface for + // this network attachment will be automatically be attached to the new network attachment. + // + // For the data path to float, the other bare metal server must be in the same + // `resource_group`, and must have a network attachment with `interface_type` of `pci` with `allowed_vlans` including + // this network attachment's `vlan`. + AllowToFloat *bool `json:"allow_to_float,omitempty"` + + // The IEEE 802.1Q VLAN ID that must be used for all traffic on this attachment. + Vlan *int64 `json:"vlan,omitempty"` +} + +// Constants associated with the BareMetalServerNetworkAttachment.InterfaceType property. +// The network attachment's interface type: +// - `pci`: a physical PCI device which can only be created or deleted when the bare metal +// server is stopped +// - Has an `allowed_vlans` property which controls the VLANs that will be permitted +// to use the PCI attachment +// - Cannot directly use an IEEE 802.1Q tag. +// - `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its +// array of `allowed_vlans`. +// - Must use an IEEE 802.1Q tag. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerNetworkAttachmentInterfaceTypePciConst = "pci" + BareMetalServerNetworkAttachmentInterfaceTypeVlanConst = "vlan" +) + +// Constants associated with the BareMetalServerNetworkAttachment.LifecycleState property. +// The lifecycle state of the bare metal server network attachment. +const ( + BareMetalServerNetworkAttachmentLifecycleStateDeletingConst = "deleting" + BareMetalServerNetworkAttachmentLifecycleStateFailedConst = "failed" + BareMetalServerNetworkAttachmentLifecycleStatePendingConst = "pending" + BareMetalServerNetworkAttachmentLifecycleStateStableConst = "stable" + BareMetalServerNetworkAttachmentLifecycleStateSuspendedConst = "suspended" + BareMetalServerNetworkAttachmentLifecycleStateUpdatingConst = "updating" + BareMetalServerNetworkAttachmentLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BareMetalServerNetworkAttachment.ResourceType property. +// The resource type. +const ( + BareMetalServerNetworkAttachmentResourceTypeBareMetalServerNetworkAttachmentConst = "bare_metal_server_network_attachment" +) + +// Constants associated with the BareMetalServerNetworkAttachment.Type property. +// The bare metal server network attachment type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerNetworkAttachmentTypePrimaryConst = "primary" + BareMetalServerNetworkAttachmentTypeSecondaryConst = "secondary" +) + +func (*BareMetalServerNetworkAttachment) isaBareMetalServerNetworkAttachment() bool { + return true +} + +type BareMetalServerNetworkAttachmentIntf interface { + isaBareMetalServerNetworkAttachment() bool +} + +// UnmarshalBareMetalServerNetworkAttachment unmarshals an instance of BareMetalServerNetworkAttachment from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachment) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_speed", &obj.PortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allow_to_float", &obj.AllowToFloat) + if err != nil { + err = core.SDKErrorf(err, "", "allow_to_float-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "vlan", &obj.Vlan) + if err != nil { + err = core.SDKErrorf(err, "", "vlan-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentCollection : BareMetalServerNetworkAttachmentCollection struct +type BareMetalServerNetworkAttachmentCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // The network attachments for the bare metal server. + NetworkAttachments []BareMetalServerNetworkAttachmentIntf `json:"network_attachments" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalBareMetalServerNetworkAttachmentCollection unmarshals an instance of BareMetalServerNetworkAttachmentCollection from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalBareMetalServerNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *BareMetalServerNetworkAttachmentCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// BareMetalServerNetworkAttachmentPatch : BareMetalServerNetworkAttachmentPatch struct +type BareMetalServerNetworkAttachmentPatch struct { + // The VLAN IDs to allow for `vlan` attachments using this PCI attachment, replacing any existing VLAN IDs. The + // specified values must include IDs for all `vlan` attachments currently using this PCI attachment. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + // The name for this network attachment. The name must not be used by another network attachment for the bare metal + // server. + Name *string `json:"name,omitempty"` +} + +// UnmarshalBareMetalServerNetworkAttachmentPatch unmarshals an instance of BareMetalServerNetworkAttachmentPatch from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPatch) + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the BareMetalServerNetworkAttachmentPatch +func (bareMetalServerNetworkAttachmentPatch *BareMetalServerNetworkAttachmentPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(bareMetalServerNetworkAttachmentPatch.AllowedVlans) { + _patch["allowed_vlans"] = bareMetalServerNetworkAttachmentPatch.AllowedVlans + } + if !core.IsNil(bareMetalServerNetworkAttachmentPatch.Name) { + _patch["name"] = bareMetalServerNetworkAttachmentPatch.Name + } + + return +} + +// BareMetalServerNetworkAttachmentPrototype : BareMetalServerNetworkAttachmentPrototype struct +// Models which "extend" this model: +// - BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype +// - BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype +type BareMetalServerNetworkAttachmentPrototype struct { + // The network attachment's interface type: + // - `pci`: a physical PCI device which can only be created or deleted when the bare metal + // server is stopped + // - Has an `allowed_vlans` property which controls the VLANs that will be permitted + // to use the PCI attachment + // - Cannot directly use an IEEE 802.1Q tag. + // - Not supported on bare metal servers with a `cpu.architecture` of `s390x` + // - `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its + // array of `allowed_vlans`. + // - Must use an IEEE 802.1Q tag. + // - Not supported on bare metal servers with a `cpu.architecture` of `s390x`. + InterfaceType *string `json:"interface_type" validate:"required"` + + // The name for this bare metal server network attachment. Names must be unique within the bare metal server the + // network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // A virtual network interface for the bare metal server network attachment. This can be + // specified using an existing virtual network interface, or a prototype object for a new + // virtual network interface. + // + // If an existing virtual network interface is specified, it must not be the target of a flow + // log collector. + VirtualNetworkInterface BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf `json:"virtual_network_interface" validate:"required"` + + // The VLAN IDs to allow for `vlan` attachments using this PCI attachment. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + // Indicates if the data path for the network attachment can float to another bare metal server. Can only be `true` for + // network attachments with an `interface_type` of `vlan`. + // + // If `true`, and the network detects traffic for this data path on another bare metal server in the resource group, + // the network attachment will be automatically deleted from this bare metal server and a new network attachment with + // the same `id`, `name` and `vlan` will be created on the other bare metal server. The virtual network interface for + // this network attachment will be automatically be attached to the new network attachment. + // + // For the data path to float, the other bare metal server must be in the same + // `resource_group`, and must have a network attachment with `interface_type` of `pci` with `allowed_vlans` including + // this network attachment's `vlan`. + AllowToFloat *bool `json:"allow_to_float,omitempty"` + + // The IEEE 802.1Q VLAN ID that must be used for all traffic on this attachment. + Vlan *int64 `json:"vlan,omitempty"` +} + +// Constants associated with the BareMetalServerNetworkAttachmentPrototype.InterfaceType property. +// The network attachment's interface type: +// - `pci`: a physical PCI device which can only be created or deleted when the bare metal +// server is stopped +// - Has an `allowed_vlans` property which controls the VLANs that will be permitted +// to use the PCI attachment +// - Cannot directly use an IEEE 802.1Q tag. +// - Not supported on bare metal servers with a `cpu.architecture` of `s390x` +// - `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its +// array of `allowed_vlans`. +// - Must use an IEEE 802.1Q tag. +// - Not supported on bare metal servers with a `cpu.architecture` of `s390x`. +const ( + BareMetalServerNetworkAttachmentPrototypeInterfaceTypePciConst = "pci" + BareMetalServerNetworkAttachmentPrototypeInterfaceTypeVlanConst = "vlan" +) + +func (*BareMetalServerNetworkAttachmentPrototype) isaBareMetalServerNetworkAttachmentPrototype() bool { + return true +} + +type BareMetalServerNetworkAttachmentPrototypeIntf interface { + isaBareMetalServerNetworkAttachmentPrototype() bool +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototype unmarshals an instance of BareMetalServerNetworkAttachmentPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototype) + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allow_to_float", &obj.AllowToFloat) + if err != nil { + err = core.SDKErrorf(err, "", "allow_to_float-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "vlan", &obj.Vlan) + if err != nil { + err = core.SDKErrorf(err, "", "vlan-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface : A virtual network interface for the bare metal server network attachment. This can be specified using an existing +// virtual network interface, or a prototype object for a new virtual network interface. +// +// If an existing virtual network interface is specified, it must not be the target of a flow log collector. +// Models which "extend" this model: +// - BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext +// - BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity +type BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on + // this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP + // identity, or a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be + // in the primary IP's subnet. + // + // If reserved IP identities are provided, the specified reserved IPs must be unbound. + // + // If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network + // interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet + // will be automatically selected and reserved. + Ips []VirtualNetworkInterfaceIPPrototypeIntf `json:"ips,omitempty"` + + // The name for this virtual network interface. The name must not be used by another virtual network interface in the + // VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are + // reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the virtual network interface. May be either a + // reserved IP identity, or a reserved IP prototype object which will be used to create a + // new reserved IP. + // + // If a reserved IP identity is provided, the specified reserved IP must be unbound. + // + // If a reserved IP prototype object with an address is provided, the address must be + // available on the virtual network interface's subnet. If no address is specified, + // an available address on the subnet will be automatically selected and reserved. + PrimaryIP VirtualNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The protocol state filtering mode to use for this virtual network interface. If + // `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` + // resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode,omitempty"` + + // The resource group to use for this virtual network interface. If unspecified, the + // bare metal server's resource group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC + // for the subnet is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. Required if `primary_ip` does not specify a reserved IP + // identity. + Subnet SubnetIdentityIntf `json:"subnet,omitempty"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +// Constants associated with the BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface.ProtocolStateFilteringMode property. +// The protocol state filtering mode to use for this virtual network interface. If +// `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` +// resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. +const ( + BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceProtocolStateFilteringModeAutoConst = "auto" + BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceProtocolStateFilteringModeDisabledConst = "disabled" + BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceProtocolStateFilteringModeEnabledConst = "enabled" +) + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +type BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf interface { + isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface() bool +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface unmarshals an instance of BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalVirtualNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalVirtualNetworkInterfacePrimaryIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state_filtering_mode", &obj.ProtocolStateFilteringMode) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state_filtering_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentReference : BareMetalServerNetworkAttachmentReference struct +type BareMetalServerNetworkAttachmentReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this bare metal server network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this bare metal server network attachment. The name is unique across all network attachments for the + // bare metal server. + Name *string `json:"name" validate:"required"` + + // The primary IP address of the virtual network interface for the bare metal server + // network attachment. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The subnet of the virtual network interface for the bare metal server network + // attachment. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkAttachmentReference.ResourceType property. +// The resource type. +const ( + BareMetalServerNetworkAttachmentReferenceResourceTypeBareMetalServerNetworkAttachmentConst = "bare_metal_server_network_attachment" +) + +// UnmarshalBareMetalServerNetworkAttachmentReference unmarshals an instance of BareMetalServerNetworkAttachmentReference from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkInterface : BareMetalServerNetworkInterface struct +// Models which "extend" this model: +// - BareMetalServerNetworkInterfaceByHiperSocket +// - BareMetalServerNetworkInterfaceByPci +// - BareMetalServerNetworkInterfaceByVlan +type BareMetalServerNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing" validate:"required"` + + // The date and time that the bare metal server network interface was created. + // + // If this bare metal server has network attachments, this network interface was created as a [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) when its corresponding + // network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat" validate:"required"` + + // The floating IPs associated with this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the floating IPs are associated + // with the attached virtual network interface. + FloatingIps []FloatingIPReference `json:"floating_ips" validate:"required"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The interface type: + // - `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity + // within a `s390x` based system + // - `pci`: a physical PCI device which can only be created or deleted when the bare metal + // server is stopped + // - Has an `allowed_vlans` property which controls the VLANs that will be permitted + // to use the PCI interface + // - Cannot directly use an IEEE 802.1Q tag. + // - `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its + // array of `allowed_vlans`. + // - Must use an IEEE 802.1Q tag. + // - Has its own security groups and does not inherit those of the PCI device through + // which traffic flows. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the interface type is that of the + // corresponding network attachment. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + InterfaceType *string `json:"interface_type" validate:"required"` + + // The MAC address of this bare metal server network interface. If the MAC address has not yet been selected, the value + // will be empty. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the MAC address is that of the + // attached virtual network interface. + MacAddress *string `json:"mac_address" validate:"required"` + + // The name for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the name matches its corresponding + // network attachment. + Name *string `json:"name" validate:"required"` + + // The bare metal server network interface port speed in Mbps. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the port speed is that of its + // corresponding network attachment. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of this bare metal server network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The security groups targeting this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the security groups are associated + // with the attached virtual network interface. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // The status of the bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a read-only representation of its + // corresponding network attachment and its attached virtual network interface, and the status is [computed from + // them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). + Status *string `json:"status" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The bare metal server network interface type. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the type is that of its + // corresponding network attachment. + Type *string `json:"type" validate:"required"` + + // The VLAN IDs allowed for `vlan` interfaces using this PCI interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the VLAN IDs match the + // `allow_vlans` of the corresponding network attachment. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + // Indicates if the data path for the network interface can float to another bare metal server. Can only be `true` for + // network interfaces with an `interface_type` of `vlan`. + // + // If `true`, and the network detects traffic for this data path on another bare metal server in the resource group, + // the network interface will be automatically deleted from this bare metal server and a new network interface with the + // same `id`, `name` and `vlan` will be created on the other bare metal server. + // + // For the data path to float, the other bare metal server must be in the same + // `resource_group`, and must have a network interface with `interface_type` of `pci` with `allowed_vlans` including + // this network interface's `vlan`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the value of this property matches + // that of the `allow_to_float` property of the corresponding network attachment. + AllowInterfaceToFloat *bool `json:"allow_interface_to_float,omitempty"` + + // The VLAN ID used in the IEEE 802.1Q tag present in all traffic on this interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the VLAN ID matches the `vlan` of + // the corresponding network attachment. + Vlan *int64 `json:"vlan,omitempty"` +} + +// Constants associated with the BareMetalServerNetworkInterface.InterfaceType property. +// The interface type: +// - `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity +// within a `s390x` based system +// - `pci`: a physical PCI device which can only be created or deleted when the bare metal +// server is stopped +// - Has an `allowed_vlans` property which controls the VLANs that will be permitted +// to use the PCI interface +// - Cannot directly use an IEEE 802.1Q tag. +// - `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its +// array of `allowed_vlans`. +// - Must use an IEEE 802.1Q tag. +// - Has its own security groups and does not inherit those of the PCI device through +// which traffic flows. +// +// If this bare metal server has network attachments, this network interface is a +// [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its +// corresponding network attachment and its attached virtual network interface, and the interface type is that of the +// corresponding network attachment. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerNetworkInterfaceInterfaceTypeHipersocketConst = "hipersocket" + BareMetalServerNetworkInterfaceInterfaceTypePciConst = "pci" + BareMetalServerNetworkInterfaceInterfaceTypeVlanConst = "vlan" +) + +// Constants associated with the BareMetalServerNetworkInterface.ResourceType property. +// The resource type. +const ( + BareMetalServerNetworkInterfaceResourceTypeNetworkInterfaceConst = "network_interface" +) + +// Constants associated with the BareMetalServerNetworkInterface.Status property. +// The status of the bare metal server network interface. +// +// If this bare metal server has network attachments, this network interface is a read-only representation of its +// corresponding network attachment and its attached virtual network interface, and the status is [computed from +// them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). +const ( + BareMetalServerNetworkInterfaceStatusAvailableConst = "available" + BareMetalServerNetworkInterfaceStatusDeletingConst = "deleting" + BareMetalServerNetworkInterfaceStatusFailedConst = "failed" + BareMetalServerNetworkInterfaceStatusPendingConst = "pending" +) + +// Constants associated with the BareMetalServerNetworkInterface.Type property. +// The bare metal server network interface type. +// +// If this bare metal server has network attachments, this network interface is a +// [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its +// corresponding network attachment and its attached virtual network interface, and the type is that of its +// corresponding network attachment. +const ( + BareMetalServerNetworkInterfaceTypePrimaryConst = "primary" + BareMetalServerNetworkInterfaceTypeSecondaryConst = "secondary" +) + +func (*BareMetalServerNetworkInterface) isaBareMetalServerNetworkInterface() bool { + return true +} + +type BareMetalServerNetworkInterfaceIntf interface { + isaBareMetalServerNetworkInterface() bool +} + +// UnmarshalBareMetalServerNetworkInterface unmarshals an instance of BareMetalServerNetworkInterface from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + // Retrieve discriminator value to determine correct "subclass". + var discValue string + err = core.UnmarshalPrimitive(m, "interface_type", &discValue) + if err != nil { + errMsg := fmt.Sprintf("error unmarshalling discriminator property 'interface_type': %s", err.Error()) + err = core.SDKErrorf(err, errMsg, "discriminator-unmarshal-error", common.GetComponentInfo()) + return + } + if discValue == "" { + err = core.SDKErrorf(err, "required discriminator property 'interface_type' not found in JSON object", "missing-discriminator", common.GetComponentInfo()) + return + } + if discValue == "hipersocket" { + err = core.UnmarshalModel(m, "", result, UnmarshalBareMetalServerNetworkInterfaceByHiperSocket) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-BareMetalServerNetworkInterfaceByHiperSocket-error", common.GetComponentInfo()) + } + } else if discValue == "pci" { + err = core.UnmarshalModel(m, "", result, UnmarshalBareMetalServerNetworkInterfaceByPci) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-BareMetalServerNetworkInterfaceByPci-error", common.GetComponentInfo()) + } + } else if discValue == "vlan" { + err = core.UnmarshalModel(m, "", result, UnmarshalBareMetalServerNetworkInterfaceByVlan) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-BareMetalServerNetworkInterfaceByVlan-error", common.GetComponentInfo()) + } + } else { + errMsg := fmt.Sprintf("unrecognized value for discriminator property 'interface_type': %s", discValue) + err = core.SDKErrorf(err, errMsg, "invalid-discriminator", common.GetComponentInfo()) + } + return +} + +// BareMetalServerNetworkInterfaceCollection : BareMetalServerNetworkInterfaceCollection struct +type BareMetalServerNetworkInterfaceCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // The network interfaces for the bare metal server. + NetworkInterfaces []BareMetalServerNetworkInterfaceIntf `json:"network_interfaces" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalBareMetalServerNetworkInterfaceCollection unmarshals an instance of BareMetalServerNetworkInterfaceCollection from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfaceCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkInterfaceCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalBareMetalServerNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *BareMetalServerNetworkInterfaceCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// BareMetalServerNetworkInterfacePatch : BareMetalServerNetworkInterfacePatch struct +type BareMetalServerNetworkInterfacePatch struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // The VLAN IDs to allow for `vlan` interfaces using this PCI interface, replacing any existing VLAN IDs. The specified + // values must include IDs for all `vlan` interfaces currently using this PCI interface. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The name for this bare metal server network interface. The name must not be used by another network interface on the + // bare metal server. + Name *string `json:"name,omitempty"` +} + +// UnmarshalBareMetalServerNetworkInterfacePatch unmarshals an instance of BareMetalServerNetworkInterfacePatch from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfacePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkInterfacePatch) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the BareMetalServerNetworkInterfacePatch +func (bareMetalServerNetworkInterfacePatch *BareMetalServerNetworkInterfacePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(bareMetalServerNetworkInterfacePatch.AllowIPSpoofing) { + _patch["allow_ip_spoofing"] = bareMetalServerNetworkInterfacePatch.AllowIPSpoofing + } + if !core.IsNil(bareMetalServerNetworkInterfacePatch.AllowedVlans) { + _patch["allowed_vlans"] = bareMetalServerNetworkInterfacePatch.AllowedVlans + } + if !core.IsNil(bareMetalServerNetworkInterfacePatch.EnableInfrastructureNat) { + _patch["enable_infrastructure_nat"] = bareMetalServerNetworkInterfacePatch.EnableInfrastructureNat + } + if !core.IsNil(bareMetalServerNetworkInterfacePatch.Name) { + _patch["name"] = bareMetalServerNetworkInterfacePatch.Name + } + + return +} + +// BareMetalServerNetworkInterfacePrototype : BareMetalServerNetworkInterfacePrototype struct +// Models which "extend" this model: +// - BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype +// - BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype +// - BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype +type BareMetalServerNetworkInterfacePrototype struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The interface type: + // - `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity + // within a `s390x` based system + // - Not supported on bare metal servers with a `cpu.architecture` of `amd64` + // - `pci`: a physical PCI device which can only be created or deleted when the bare metal + // server is stopped + // - Has an `allowed_vlans` property which controls the VLANs that will be permitted + // to use the PCI interface + // - Cannot directly use an IEEE 802.1Q tag. + // - Not supported on bare metal servers with a `cpu.architecture` of `s390x` + // - `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its + // array of `allowed_vlans`. + // - Must use an IEEE 802.1Q tag. + // - Has its own security groups and does not inherit those of the PCI device through + // which traffic flows. + // - Not supported on bare metal servers with a `cpu.architecture` of `s390x`. + InterfaceType *string `json:"interface_type" validate:"required"` + + // The name for this bare metal server network interface. The name must not be used by another network interface on the + // bare metal server. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the bare metal server network interface. This can be + // specified using an existing reserved IP, or a prototype object for a new reserved IP. + // + // If an existing reserved IP or a prototype object with an address is specified, it must + // be available on the bare metal server network interface's subnet. Otherwise, an + // available address on the subnet will be automatically selected and reserved. + PrimaryIP NetworkInterfaceIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The security groups to use for this bare metal server network interface. If unspecified, the VPC's default security + // group is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` + + // The VLAN IDs to allow for `vlan` interfaces using this PCI interface. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + // Indicates if the data path for the network interface can float to another bare metal server. Can only be `true` for + // network interfaces with an `interface_type` of `vlan`. + // + // If `true`, and the network detects traffic for this data path on another bare metal server in the resource group, + // the network interface will be automatically deleted from this bare metal server and a new network interface with the + // same `id`, `name` and `vlan` will be created on the other bare metal server. + // + // For the data path to float, the other bare metal server must be in the same + // `resource_group`, and must have a network interface with `interface_type` of `pci` with `allowed_vlans` including + // this network interface's `vlan`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the value of this property matches + // that of the `allow_to_float` property of the corresponding network attachment. + AllowInterfaceToFloat *bool `json:"allow_interface_to_float,omitempty"` + + // The VLAN ID used in the IEEE 802.1Q tag present in all traffic on this interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the VLAN ID matches the `vlan` of + // the corresponding network attachment. + Vlan *int64 `json:"vlan,omitempty"` +} + +// Constants associated with the BareMetalServerNetworkInterfacePrototype.InterfaceType property. +// The interface type: +// - `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity +// within a `s390x` based system +// - Not supported on bare metal servers with a `cpu.architecture` of `amd64` +// - `pci`: a physical PCI device which can only be created or deleted when the bare metal +// server is stopped +// - Has an `allowed_vlans` property which controls the VLANs that will be permitted +// to use the PCI interface +// - Cannot directly use an IEEE 802.1Q tag. +// - Not supported on bare metal servers with a `cpu.architecture` of `s390x` +// - `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its +// array of `allowed_vlans`. +// - Must use an IEEE 802.1Q tag. +// - Has its own security groups and does not inherit those of the PCI device through +// which traffic flows. +// - Not supported on bare metal servers with a `cpu.architecture` of `s390x`. +const ( + BareMetalServerNetworkInterfacePrototypeInterfaceTypeHipersocketConst = "hipersocket" + BareMetalServerNetworkInterfacePrototypeInterfaceTypePciConst = "pci" + BareMetalServerNetworkInterfacePrototypeInterfaceTypeVlanConst = "vlan" +) + +func (*BareMetalServerNetworkInterfacePrototype) isaBareMetalServerNetworkInterfacePrototype() bool { + return true +} + +type BareMetalServerNetworkInterfacePrototypeIntf interface { + isaBareMetalServerNetworkInterfacePrototype() bool +} + +// UnmarshalBareMetalServerNetworkInterfacePrototype unmarshals an instance of BareMetalServerNetworkInterfacePrototype from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfacePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + // Retrieve discriminator value to determine correct "subclass". + var discValue string + err = core.UnmarshalPrimitive(m, "interface_type", &discValue) + if err != nil { + errMsg := fmt.Sprintf("error unmarshalling discriminator property 'interface_type': %s", err.Error()) + err = core.SDKErrorf(err, errMsg, "discriminator-unmarshal-error", common.GetComponentInfo()) + return + } + if discValue == "" { + err = core.SDKErrorf(err, "required discriminator property 'interface_type' not found in JSON object", "missing-discriminator", common.GetComponentInfo()) + return + } + if discValue == "hipersocket" { + err = core.UnmarshalModel(m, "", result, UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype-error", common.GetComponentInfo()) + } + } else if discValue == "pci" { + err = core.UnmarshalModel(m, "", result, UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype-error", common.GetComponentInfo()) + } + } else if discValue == "vlan" { + err = core.UnmarshalModel(m, "", result, UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype-error", common.GetComponentInfo()) + } + } else { + errMsg := fmt.Sprintf("unrecognized value for discriminator property 'interface_type': %s", discValue) + err = core.SDKErrorf(err, errMsg, "invalid-discriminator", common.GetComponentInfo()) + } + return +} + +// BareMetalServerPatch : BareMetalServerPatch struct +type BareMetalServerPatch struct { + // The total bandwidth (in megabits per second) shared across the bare metal server's network interfaces. The specified + // value must match one of the bandwidth values in the bare metal server's profile. + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the bare metal server + // will fail to boot. + // + // For `enable_secure_boot` to be changed, the bare metal server `status` must be + // `stopped`. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The metadata service configuration for the bare metal server. + MetadataService *BareMetalServerMetadataServicePatch `json:"metadata_service,omitempty"` + + // The name for this bare metal server. The name must not be used by another bare metal server in the region. Changing + // the name will not affect the system hostname. + Name *string `json:"name,omitempty"` + + ReservationAffinity *BareMetalServerReservationAffinityPatch `json:"reservation_affinity,omitempty"` + + TrustedPlatformModule *BareMetalServerTrustedPlatformModulePatch `json:"trusted_platform_module,omitempty"` +} + +// UnmarshalBareMetalServerPatch unmarshals an instance of BareMetalServerPatch from the specified map of raw messages. +func UnmarshalBareMetalServerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerPatch) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalBareMetalServerMetadataServicePatch) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalBareMetalServerReservationAffinityPatch) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "trusted_platform_module", &obj.TrustedPlatformModule, UnmarshalBareMetalServerTrustedPlatformModulePatch) + if err != nil { + err = core.SDKErrorf(err, "", "trusted_platform_module-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the BareMetalServerPatch +func (bareMetalServerPatch *BareMetalServerPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(bareMetalServerPatch.Bandwidth) { + _patch["bandwidth"] = bareMetalServerPatch.Bandwidth + } + if !core.IsNil(bareMetalServerPatch.EnableSecureBoot) { + _patch["enable_secure_boot"] = bareMetalServerPatch.EnableSecureBoot + } + if !core.IsNil(bareMetalServerPatch.MetadataService) { + _patch["metadata_service"] = bareMetalServerPatch.MetadataService.asPatch() + } + if !core.IsNil(bareMetalServerPatch.Name) { + _patch["name"] = bareMetalServerPatch.Name + } + if !core.IsNil(bareMetalServerPatch.ReservationAffinity) { + _patch["reservation_affinity"] = bareMetalServerPatch.ReservationAffinity.asPatch() + } + if !core.IsNil(bareMetalServerPatch.TrustedPlatformModule) { + _patch["trusted_platform_module"] = bareMetalServerPatch.TrustedPlatformModule.asPatch() + } + + return +} + +// BareMetalServerPrimaryNetworkAttachmentPrototype : BareMetalServerPrimaryNetworkAttachmentPrototype struct +// Models which "extend" this model: +// - BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype +type BareMetalServerPrimaryNetworkAttachmentPrototype struct { + // The network attachment's interface type: + // - `pci`: a physical PCI device which can only be created or deleted when the bare metal + // server is stopped + // - Has an `allowed_vlans` property which controls the VLANs that will be permitted + // to use the PCI attachment + // - Cannot directly use an IEEE 802.1Q tag. + // - Not supported on bare metal servers with a `cpu.architecture` of `s390x`. + InterfaceType *string `json:"interface_type,omitempty"` + + // The name for this bare metal server network attachment. Names must be unique within the bare metal server the + // network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // A virtual network interface for the bare metal server network attachment. This can be + // specified using an existing virtual network interface, or a prototype object for a new + // virtual network interface. + // + // If an existing virtual network interface is specified, it must not be the target of a flow + // log collector. + VirtualNetworkInterface BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf `json:"virtual_network_interface" validate:"required"` + + // The VLAN IDs to allow for `vlan` attachments using this PCI attachment. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` +} + +// Constants associated with the BareMetalServerPrimaryNetworkAttachmentPrototype.InterfaceType property. +// The network attachment's interface type: +// - `pci`: a physical PCI device which can only be created or deleted when the bare metal +// server is stopped +// - Has an `allowed_vlans` property which controls the VLANs that will be permitted +// to use the PCI attachment +// - Cannot directly use an IEEE 802.1Q tag. +// - Not supported on bare metal servers with a `cpu.architecture` of `s390x`. +const ( + BareMetalServerPrimaryNetworkAttachmentPrototypeInterfaceTypePciConst = "pci" +) + +func (*BareMetalServerPrimaryNetworkAttachmentPrototype) isaBareMetalServerPrimaryNetworkAttachmentPrototype() bool { + return true +} + +type BareMetalServerPrimaryNetworkAttachmentPrototypeIntf interface { + isaBareMetalServerPrimaryNetworkAttachmentPrototype() bool +} + +// UnmarshalBareMetalServerPrimaryNetworkAttachmentPrototype unmarshals an instance of BareMetalServerPrimaryNetworkAttachmentPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerPrimaryNetworkAttachmentPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerPrimaryNetworkAttachmentPrototype) + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerPrimaryNetworkInterfacePrototype : BareMetalServerPrimaryNetworkInterfacePrototype struct +type BareMetalServerPrimaryNetworkInterfacePrototype struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // The VLAN IDs allowed for `vlan` interfaces using this PCI interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the VLAN IDs match the + // `allow_vlans` of the corresponding network attachment. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The interface type: + // - `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity + // within a `s390x` based system. + // - Not supported on bare metal servers with a `cpu.architecture` of `amd64` + // - `pci`: a physical PCI device which can only be created or deleted when the bare metal + // server is stopped + // - Has an `allowed_vlans` property which controls the VLANs that will be permitted + // to use the PCI interface + // - Cannot directly use an IEEE 802.1Q tag. + // - Not supported on bare metal servers with a `cpu.architecture` of `s390x`. + InterfaceType *string `json:"interface_type,omitempty"` + + // The name for this bare metal server network interface. The name must not be used by another network interface on the + // bare metal server. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the bare metal server network interface. This can be + // specified using an existing reserved IP, or a prototype object for a new reserved IP. + // + // If an existing reserved IP or a prototype object with an address is specified, it must + // be available on the bare metal server network interface's subnet. Otherwise, an + // available address on the subnet will be automatically selected and reserved. + PrimaryIP NetworkInterfaceIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The security groups to use for this bare metal server network interface. If unspecified, the VPC's default security + // group is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` +} + +// Constants associated with the BareMetalServerPrimaryNetworkInterfacePrototype.InterfaceType property. +// The interface type: +// - `hipersocket`: a virtual device that provides high-speed TCP/IP connectivity +// within a `s390x` based system. +// - Not supported on bare metal servers with a `cpu.architecture` of `amd64` +// - `pci`: a physical PCI device which can only be created or deleted when the bare metal +// server is stopped +// - Has an `allowed_vlans` property which controls the VLANs that will be permitted +// to use the PCI interface +// - Cannot directly use an IEEE 802.1Q tag. +// - Not supported on bare metal servers with a `cpu.architecture` of `s390x`. +const ( + BareMetalServerPrimaryNetworkInterfacePrototypeInterfaceTypeHipersocketConst = "hipersocket" + BareMetalServerPrimaryNetworkInterfacePrototypeInterfaceTypePciConst = "pci" +) + +// NewBareMetalServerPrimaryNetworkInterfacePrototype : Instantiate BareMetalServerPrimaryNetworkInterfacePrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerPrimaryNetworkInterfacePrototype(subnet SubnetIdentityIntf) (_model *BareMetalServerPrimaryNetworkInterfacePrototype, err error) { + _model = &BareMetalServerPrimaryNetworkInterfacePrototype{ + Subnet: subnet, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalBareMetalServerPrimaryNetworkInterfacePrototype unmarshals an instance of BareMetalServerPrimaryNetworkInterfacePrototype from the specified map of raw messages. +func UnmarshalBareMetalServerPrimaryNetworkInterfacePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerPrimaryNetworkInterfacePrototype) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfile : BareMetalServerProfile struct +type BareMetalServerProfile struct { + Bandwidth BareMetalServerProfileBandwidthIntf `json:"bandwidth" validate:"required"` + + // The console type configuration for a bare metal server with this profile. + ConsoleTypes *BareMetalServerProfileConsoleTypes `json:"console_types" validate:"required"` + + CpuArchitecture *BareMetalServerProfileCpuArchitecture `json:"cpu_architecture" validate:"required"` + + CpuCoreCount BareMetalServerProfileCpuCoreCountIntf `json:"cpu_core_count" validate:"required"` + + CpuSocketCount BareMetalServerProfileCpuSocketCountIntf `json:"cpu_socket_count" validate:"required"` + + // The disks for a bare metal server with this profile. + Disks []BareMetalServerProfileDisk `json:"disks" validate:"required"` + + // The product family this bare metal server profile belongs to. + Family *string `json:"family" validate:"required"` + + // The URL for this bare metal server profile. + Href *string `json:"href" validate:"required"` + + Memory BareMetalServerProfileMemoryIntf `json:"memory" validate:"required"` + + // The name for this bare metal server profile. + Name *string `json:"name" validate:"required"` + + NetworkAttachmentCount BareMetalServerProfileNetworkAttachmentCountIntf `json:"network_attachment_count" validate:"required"` + + NetworkInterfaceCount BareMetalServerProfileNetworkInterfaceCountIntf `json:"network_interface_count" validate:"required"` + + OsArchitecture *BareMetalServerProfileOsArchitecture `json:"os_architecture" validate:"required"` + + ReservationTerms *BareMetalServerProfileReservationTerms `json:"reservation_terms" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The supported trusted platform module modes for this bare metal server profile. + SupportedTrustedPlatformModuleModes *BareMetalServerProfileSupportedTrustedPlatformModuleModes `json:"supported_trusted_platform_module_modes" validate:"required"` + + // Indicates whether this profile supports virtual network interfaces. + VirtualNetworkInterfacesSupported *BareMetalServerProfileVirtualNetworkInterfacesSupported `json:"virtual_network_interfaces_supported" validate:"required"` +} + +// Constants associated with the BareMetalServerProfile.ResourceType property. +// The resource type. +const ( + BareMetalServerProfileResourceTypeBareMetalServerProfileConst = "bare_metal_server_profile" +) + +// UnmarshalBareMetalServerProfile unmarshals an instance of BareMetalServerProfile from the specified map of raw messages. +func UnmarshalBareMetalServerProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfile) + err = core.UnmarshalModel(m, "bandwidth", &obj.Bandwidth, UnmarshalBareMetalServerProfileBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "console_types", &obj.ConsoleTypes, UnmarshalBareMetalServerProfileConsoleTypes) + if err != nil { + err = core.SDKErrorf(err, "", "console_types-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cpu_architecture", &obj.CpuArchitecture, UnmarshalBareMetalServerProfileCpuArchitecture) + if err != nil { + err = core.SDKErrorf(err, "", "cpu_architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cpu_core_count", &obj.CpuCoreCount, UnmarshalBareMetalServerProfileCpuCoreCount) + if err != nil { + err = core.SDKErrorf(err, "", "cpu_core_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cpu_socket_count", &obj.CpuSocketCount, UnmarshalBareMetalServerProfileCpuSocketCount) + if err != nil { + err = core.SDKErrorf(err, "", "cpu_socket_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalBareMetalServerProfileDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "memory", &obj.Memory, UnmarshalBareMetalServerProfileMemory) + if err != nil { + err = core.SDKErrorf(err, "", "memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachment_count", &obj.NetworkAttachmentCount, UnmarshalBareMetalServerProfileNetworkAttachmentCount) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachment_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interface_count", &obj.NetworkInterfaceCount, UnmarshalBareMetalServerProfileNetworkInterfaceCount) + if err != nil { + err = core.SDKErrorf(err, "", "network_interface_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "os_architecture", &obj.OsArchitecture, UnmarshalBareMetalServerProfileOsArchitecture) + if err != nil { + err = core.SDKErrorf(err, "", "os_architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_terms", &obj.ReservationTerms, UnmarshalBareMetalServerProfileReservationTerms) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_terms-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_trusted_platform_module_modes", &obj.SupportedTrustedPlatformModuleModes, UnmarshalBareMetalServerProfileSupportedTrustedPlatformModuleModes) + if err != nil { + err = core.SDKErrorf(err, "", "supported_trusted_platform_module_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interfaces_supported", &obj.VirtualNetworkInterfacesSupported, UnmarshalBareMetalServerProfileVirtualNetworkInterfacesSupported) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interfaces_supported-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileBandwidth : BareMetalServerProfileBandwidth struct +// Models which "extend" this model: +// - BareMetalServerProfileBandwidthFixed +// - BareMetalServerProfileBandwidthRange +// - BareMetalServerProfileBandwidthEnum +// - BareMetalServerProfileBandwidthDependent +type BareMetalServerProfileBandwidth struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the BareMetalServerProfileBandwidth.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileBandwidthTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileBandwidth) isaBareMetalServerProfileBandwidth() bool { + return true +} + +type BareMetalServerProfileBandwidthIntf interface { + isaBareMetalServerProfileBandwidth() bool +} + +// UnmarshalBareMetalServerProfileBandwidth unmarshals an instance of BareMetalServerProfileBandwidth from the specified map of raw messages. +func UnmarshalBareMetalServerProfileBandwidth(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileBandwidth) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuArchitecture : BareMetalServerProfileCpuArchitecture struct +type BareMetalServerProfileCpuArchitecture struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The CPU architecture for a bare metal server with this profile. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuArchitecture.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuArchitectureTypeFixedConst = "fixed" +) + +// Constants associated with the BareMetalServerProfileCpuArchitecture.Value property. +// The CPU architecture for a bare metal server with this profile. +const ( + BareMetalServerProfileCpuArchitectureValueAmd64Const = "amd64" + BareMetalServerProfileCpuArchitectureValueS390xConst = "s390x" +) + +// UnmarshalBareMetalServerProfileCpuArchitecture unmarshals an instance of BareMetalServerProfileCpuArchitecture from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuArchitecture(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuArchitecture) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuCoreCount : BareMetalServerProfileCpuCoreCount struct +// Models which "extend" this model: +// - BareMetalServerProfileCpuCoreCountFixed +// - BareMetalServerProfileCpuCoreCountRange +// - BareMetalServerProfileCpuCoreCountEnum +// - BareMetalServerProfileCpuCoreCountDependent +type BareMetalServerProfileCpuCoreCount struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the BareMetalServerProfileCpuCoreCount.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuCoreCountTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileCpuCoreCount) isaBareMetalServerProfileCpuCoreCount() bool { + return true +} + +type BareMetalServerProfileCpuCoreCountIntf interface { + isaBareMetalServerProfileCpuCoreCount() bool +} + +// UnmarshalBareMetalServerProfileCpuCoreCount unmarshals an instance of BareMetalServerProfileCpuCoreCount from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuCoreCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuCoreCount) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuSocketCount : BareMetalServerProfileCpuSocketCount struct +// Models which "extend" this model: +// - BareMetalServerProfileCpuSocketCountFixed +// - BareMetalServerProfileCpuSocketCountRange +// - BareMetalServerProfileCpuSocketCountEnum +// - BareMetalServerProfileCpuSocketCountDependent +type BareMetalServerProfileCpuSocketCount struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the BareMetalServerProfileCpuSocketCount.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuSocketCountTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileCpuSocketCount) isaBareMetalServerProfileCpuSocketCount() bool { + return true +} + +type BareMetalServerProfileCpuSocketCountIntf interface { + isaBareMetalServerProfileCpuSocketCount() bool +} + +// UnmarshalBareMetalServerProfileCpuSocketCount unmarshals an instance of BareMetalServerProfileCpuSocketCount from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuSocketCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuSocketCount) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCollection : BareMetalServerProfileCollection struct +type BareMetalServerProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of bare metal server profiles. + Profiles []BareMetalServerProfile `json:"profiles" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalBareMetalServerProfileCollection unmarshals an instance of BareMetalServerProfileCollection from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profiles", &obj.Profiles, UnmarshalBareMetalServerProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *BareMetalServerProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// BareMetalServerProfileConsoleTypes : The console type configuration for a bare metal server with this profile. +type BareMetalServerProfileConsoleTypes struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The console types for a bare metal server with this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileConsoleTypes.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileConsoleTypesTypeEnumConst = "enum" +) + +// Constants associated with the BareMetalServerProfileConsoleTypes.Values property. +// A console type. +const ( + BareMetalServerProfileConsoleTypesValuesSerialConst = "serial" + BareMetalServerProfileConsoleTypesValuesVncConst = "vnc" +) + +// UnmarshalBareMetalServerProfileConsoleTypes unmarshals an instance of BareMetalServerProfileConsoleTypes from the specified map of raw messages. +func UnmarshalBareMetalServerProfileConsoleTypes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileConsoleTypes) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDisk : Disks provided by this profile. +type BareMetalServerProfileDisk struct { + Quantity BareMetalServerProfileDiskQuantityIntf `json:"quantity" validate:"required"` + + Size BareMetalServerProfileDiskSizeIntf `json:"size" validate:"required"` + + SupportedInterfaceTypes *BareMetalServerProfileDiskSupportedInterfaces `json:"supported_interface_types" validate:"required"` +} + +// UnmarshalBareMetalServerProfileDisk unmarshals an instance of BareMetalServerProfileDisk from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDisk(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDisk) + err = core.UnmarshalModel(m, "quantity", &obj.Quantity, UnmarshalBareMetalServerProfileDiskQuantity) + if err != nil { + err = core.SDKErrorf(err, "", "quantity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "size", &obj.Size, UnmarshalBareMetalServerProfileDiskSize) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_interface_types", &obj.SupportedInterfaceTypes, UnmarshalBareMetalServerProfileDiskSupportedInterfaces) + if err != nil { + err = core.SDKErrorf(err, "", "supported_interface_types-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskQuantity : BareMetalServerProfileDiskQuantity struct +// Models which "extend" this model: +// - BareMetalServerProfileDiskQuantityFixed +// - BareMetalServerProfileDiskQuantityRange +// - BareMetalServerProfileDiskQuantityEnum +// - BareMetalServerProfileDiskQuantityDependent +type BareMetalServerProfileDiskQuantity struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the BareMetalServerProfileDiskQuantity.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskQuantityTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileDiskQuantity) isaBareMetalServerProfileDiskQuantity() bool { + return true +} + +type BareMetalServerProfileDiskQuantityIntf interface { + isaBareMetalServerProfileDiskQuantity() bool +} + +// UnmarshalBareMetalServerProfileDiskQuantity unmarshals an instance of BareMetalServerProfileDiskQuantity from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskQuantity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskQuantity) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskSize : BareMetalServerProfileDiskSize struct +// Models which "extend" this model: +// - BareMetalServerProfileDiskSizeFixed +// - BareMetalServerProfileDiskSizeRange +// - BareMetalServerProfileDiskSizeEnum +// - BareMetalServerProfileDiskSizeDependent +type BareMetalServerProfileDiskSize struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the BareMetalServerProfileDiskSize.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskSizeTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileDiskSize) isaBareMetalServerProfileDiskSize() bool { + return true +} + +type BareMetalServerProfileDiskSizeIntf interface { + isaBareMetalServerProfileDiskSize() bool +} + +// UnmarshalBareMetalServerProfileDiskSize unmarshals an instance of BareMetalServerProfileDiskSize from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskSize(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskSize) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskSupportedInterfaces : BareMetalServerProfileDiskSupportedInterfaces struct +type BareMetalServerProfileDiskSupportedInterfaces struct { + // The default value for this profile field. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported disk interfaces used for attaching the disk. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskSupportedInterfaces.Default property. +// The default value for this profile field. +const ( + BareMetalServerProfileDiskSupportedInterfacesDefaultFcpConst = "fcp" + BareMetalServerProfileDiskSupportedInterfacesDefaultNvmeConst = "nvme" + BareMetalServerProfileDiskSupportedInterfacesDefaultSataConst = "sata" +) + +// Constants associated with the BareMetalServerProfileDiskSupportedInterfaces.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskSupportedInterfacesTypeEnumConst = "enum" +) + +// Constants associated with the BareMetalServerProfileDiskSupportedInterfaces.Values property. +// The disk attachment interface used: +// - `fcp`: Fiber Channel Protocol +// - `sata`: Serial Advanced Technology Attachment +// - `nvme`: Non-Volatile Memory Express +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerProfileDiskSupportedInterfacesValuesFcpConst = "fcp" + BareMetalServerProfileDiskSupportedInterfacesValuesNvmeConst = "nvme" + BareMetalServerProfileDiskSupportedInterfacesValuesSataConst = "sata" +) + +// UnmarshalBareMetalServerProfileDiskSupportedInterfaces unmarshals an instance of BareMetalServerProfileDiskSupportedInterfaces from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskSupportedInterfaces(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskSupportedInterfaces) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileIdentity : Identifies a bare metal server profile by a unique property. +// Models which "extend" this model: +// - BareMetalServerProfileIdentityByName +// - BareMetalServerProfileIdentityByHref +type BareMetalServerProfileIdentity struct { + // The name for this bare metal server profile. + Name *string `json:"name,omitempty"` + + // The URL for this bare metal server profile. + Href *string `json:"href,omitempty"` +} + +func (*BareMetalServerProfileIdentity) isaBareMetalServerProfileIdentity() bool { + return true +} + +type BareMetalServerProfileIdentityIntf interface { + isaBareMetalServerProfileIdentity() bool +} + +// UnmarshalBareMetalServerProfileIdentity unmarshals an instance of BareMetalServerProfileIdentity from the specified map of raw messages. +func UnmarshalBareMetalServerProfileIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileMemory : BareMetalServerProfileMemory struct +// Models which "extend" this model: +// - BareMetalServerProfileMemoryFixed +// - BareMetalServerProfileMemoryRange +// - BareMetalServerProfileMemoryEnum +// - BareMetalServerProfileMemoryDependent +type BareMetalServerProfileMemory struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the BareMetalServerProfileMemory.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileMemoryTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileMemory) isaBareMetalServerProfileMemory() bool { + return true +} + +type BareMetalServerProfileMemoryIntf interface { + isaBareMetalServerProfileMemory() bool +} + +// UnmarshalBareMetalServerProfileMemory unmarshals an instance of BareMetalServerProfileMemory from the specified map of raw messages. +func UnmarshalBareMetalServerProfileMemory(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileMemory) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileNetworkAttachmentCount : BareMetalServerProfileNetworkAttachmentCount struct +// Models which "extend" this model: +// - BareMetalServerProfileNetworkAttachmentCountRange +// - BareMetalServerProfileNetworkAttachmentCountDependent +type BareMetalServerProfileNetworkAttachmentCount struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` +} + +// Constants associated with the BareMetalServerProfileNetworkAttachmentCount.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileNetworkAttachmentCountTypeRangeConst = "range" +) + +func (*BareMetalServerProfileNetworkAttachmentCount) isaBareMetalServerProfileNetworkAttachmentCount() bool { + return true +} + +type BareMetalServerProfileNetworkAttachmentCountIntf interface { + isaBareMetalServerProfileNetworkAttachmentCount() bool +} + +// UnmarshalBareMetalServerProfileNetworkAttachmentCount unmarshals an instance of BareMetalServerProfileNetworkAttachmentCount from the specified map of raw messages. +func UnmarshalBareMetalServerProfileNetworkAttachmentCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileNetworkAttachmentCount) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileNetworkInterfaceCount : BareMetalServerProfileNetworkInterfaceCount struct +// Models which "extend" this model: +// - BareMetalServerProfileNetworkInterfaceCountRange +// - BareMetalServerProfileNetworkInterfaceCountDependent +type BareMetalServerProfileNetworkInterfaceCount struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` +} + +// Constants associated with the BareMetalServerProfileNetworkInterfaceCount.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileNetworkInterfaceCountTypeRangeConst = "range" +) + +func (*BareMetalServerProfileNetworkInterfaceCount) isaBareMetalServerProfileNetworkInterfaceCount() bool { + return true +} + +type BareMetalServerProfileNetworkInterfaceCountIntf interface { + isaBareMetalServerProfileNetworkInterfaceCount() bool +} + +// UnmarshalBareMetalServerProfileNetworkInterfaceCount unmarshals an instance of BareMetalServerProfileNetworkInterfaceCount from the specified map of raw messages. +func UnmarshalBareMetalServerProfileNetworkInterfaceCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileNetworkInterfaceCount) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileOsArchitecture : BareMetalServerProfileOsArchitecture struct +type BareMetalServerProfileOsArchitecture struct { + // The default OS architecture for a bare metal server with this profile. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported OS architecture(s) for a bare metal server with this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileOsArchitecture.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileOsArchitectureTypeEnumConst = "enum" +) + +// UnmarshalBareMetalServerProfileOsArchitecture unmarshals an instance of BareMetalServerProfileOsArchitecture from the specified map of raw messages. +func UnmarshalBareMetalServerProfileOsArchitecture(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileOsArchitecture) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileReference : BareMetalServerProfileReference struct +type BareMetalServerProfileReference struct { + // The URL for this bare metal server profile. + Href *string `json:"href" validate:"required"` + + // The name for this bare metal server profile. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileReference.ResourceType property. +// The resource type. +const ( + BareMetalServerProfileReferenceResourceTypeBareMetalServerProfileConst = "bare_metal_server_profile" +) + +// UnmarshalBareMetalServerProfileReference unmarshals an instance of BareMetalServerProfileReference from the specified map of raw messages. +func UnmarshalBareMetalServerProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileReservationTerms : BareMetalServerProfileReservationTerms struct +type BareMetalServerProfileReservationTerms struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported committed use terms for a reservation using this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileReservationTerms.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileReservationTermsTypeEnumConst = "enum" +) + +// Constants associated with the BareMetalServerProfileReservationTerms.Values property. +const ( + BareMetalServerProfileReservationTermsValuesOneYearConst = "one_year" + BareMetalServerProfileReservationTermsValuesThreeYearConst = "three_year" +) + +// UnmarshalBareMetalServerProfileReservationTerms unmarshals an instance of BareMetalServerProfileReservationTerms from the specified map of raw messages. +func UnmarshalBareMetalServerProfileReservationTerms(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileReservationTerms) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileSupportedTrustedPlatformModuleModes : The supported trusted platform module modes for this bare metal server profile. +type BareMetalServerProfileSupportedTrustedPlatformModuleModes struct { + // The default trusted platform module for a bare metal server with this profile. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported trusted platform module modes. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileSupportedTrustedPlatformModuleModes.Default property. +// The default trusted platform module for a bare metal server with this profile. +const ( + BareMetalServerProfileSupportedTrustedPlatformModuleModesDefaultDisabledConst = "disabled" + BareMetalServerProfileSupportedTrustedPlatformModuleModesDefaultTpm2Const = "tpm_2" +) + +// Constants associated with the BareMetalServerProfileSupportedTrustedPlatformModuleModes.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileSupportedTrustedPlatformModuleModesTypeEnumConst = "enum" +) + +// Constants associated with the BareMetalServerProfileSupportedTrustedPlatformModuleModes.Values property. +// The trusted platform module (TPM) mode: +// - `disabled`: No TPM functionality +// - `tpm_2`: TPM 2.0 +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerProfileSupportedTrustedPlatformModuleModesValuesDisabledConst = "disabled" + BareMetalServerProfileSupportedTrustedPlatformModuleModesValuesTpm2Const = "tpm_2" +) + +// UnmarshalBareMetalServerProfileSupportedTrustedPlatformModuleModes unmarshals an instance of BareMetalServerProfileSupportedTrustedPlatformModuleModes from the specified map of raw messages. +func UnmarshalBareMetalServerProfileSupportedTrustedPlatformModuleModes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileSupportedTrustedPlatformModuleModes) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileVirtualNetworkInterfacesSupported : Indicates whether this profile supports virtual network interfaces. +type BareMetalServerProfileVirtualNetworkInterfacesSupported struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *bool `json:"value" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileVirtualNetworkInterfacesSupported.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileVirtualNetworkInterfacesSupportedTypeFixedConst = "fixed" +) + +// UnmarshalBareMetalServerProfileVirtualNetworkInterfacesSupported unmarshals an instance of BareMetalServerProfileVirtualNetworkInterfacesSupported from the specified map of raw messages. +func UnmarshalBareMetalServerProfileVirtualNetworkInterfacesSupported(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileVirtualNetworkInterfacesSupported) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerPrototype : BareMetalServerPrototype struct +// Models which "extend" this model: +// - BareMetalServerPrototypeBareMetalServerByNetworkAttachment +// - BareMetalServerPrototypeBareMetalServerByNetworkInterface +type BareMetalServerPrototype struct { + // The total bandwidth (in megabits per second) shared across the bare metal server's network interfaces. The specified + // value must match one of the bandwidth values in the bare metal server's profile. If unspecified, the default value + // from the profile will be used. + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to + // boot. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + Initialization *BareMetalServerInitializationPrototype `json:"initialization" validate:"required"` + + // The metadata service configuration for the bare metal server. + MetadataService *BareMetalServerMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this bare metal server. The name must not be used by another bare metal server in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) + // to use for this bare metal server. + Profile BareMetalServerProfileIdentityIntf `json:"profile" validate:"required"` + + ReservationAffinity *BareMetalServerReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + TrustedPlatformModule *BareMetalServerTrustedPlatformModulePrototype `json:"trusted_platform_module,omitempty"` + + // The VPC this bare metal server will reside in. + // + // If specified, it must match the VPC for the subnets that the network attachments or + // network interfaces of the bare metal server are attached to. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The zone this bare metal server will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the bare metal server. + NetworkAttachments []BareMetalServerNetworkAttachmentPrototypeIntf `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the bare metal server. + PrimaryNetworkAttachment BareMetalServerPrimaryNetworkAttachmentPrototypeIntf `json:"primary_network_attachment,omitempty"` + + // The additional bare metal server network interfaces to create. + NetworkInterfaces []BareMetalServerNetworkInterfacePrototypeIntf `json:"network_interfaces,omitempty"` + + // The primary bare metal server network interface to create. + PrimaryNetworkInterface *BareMetalServerPrimaryNetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +func (*BareMetalServerPrototype) isaBareMetalServerPrototype() bool { + return true +} + +type BareMetalServerPrototypeIntf interface { + isaBareMetalServerPrototype() bool +} + +// UnmarshalBareMetalServerPrototype unmarshals an instance of BareMetalServerPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerPrototype) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "initialization", &obj.Initialization, UnmarshalBareMetalServerInitializationPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "initialization-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalBareMetalServerMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalBareMetalServerProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalBareMetalServerReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "trusted_platform_module", &obj.TrustedPlatformModule, UnmarshalBareMetalServerTrustedPlatformModulePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "trusted_platform_module-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalBareMetalServerNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalBareMetalServerPrimaryNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalBareMetalServerNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalBareMetalServerPrimaryNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerReservationAffinity : BareMetalServerReservationAffinity struct +type BareMetalServerReservationAffinity struct { + // The reservation affinity policy to use for this bare metal server: + // - `disabled`: Reservations will not be used + // - `manual`: Reservations in `pool` are available for use + // - `automatic`: Any reservations with an `affinity_policy` of `automatic` + // that have the same `profile` and `zone` as this bare metal server + // are available for use. + Policy *string `json:"policy" validate:"required"` + + // The pool of reservations available for use by this bare metal server when the `policy` is `manual`. This must be + // empty if the `policy` is `automatic` or + // `disabled`. + Pool []ReservationReference `json:"pool" validate:"required"` +} + +// Constants associated with the BareMetalServerReservationAffinity.Policy property. +// The reservation affinity policy to use for this bare metal server: +// - `disabled`: Reservations will not be used +// - `manual`: Reservations in `pool` are available for use +// - `automatic`: Any reservations with an `affinity_policy` of `automatic` +// that have the same `profile` and `zone` as this bare metal server +// are available for use. +const ( + BareMetalServerReservationAffinityPolicyAutomaticConst = "automatic" + BareMetalServerReservationAffinityPolicyDisabledConst = "disabled" + BareMetalServerReservationAffinityPolicyManualConst = "manual" +) + +// UnmarshalBareMetalServerReservationAffinity unmarshals an instance of BareMetalServerReservationAffinity from the specified map of raw messages. +func UnmarshalBareMetalServerReservationAffinity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerReservationAffinity) + err = core.UnmarshalPrimitive(m, "policy", &obj.Policy) + if err != nil { + err = core.SDKErrorf(err, "", "policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "pool", &obj.Pool, UnmarshalReservationReference) + if err != nil { + err = core.SDKErrorf(err, "", "pool-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerReservationAffinityPatch : BareMetalServerReservationAffinityPatch struct +type BareMetalServerReservationAffinityPatch struct { + // The reservation affinity policy to use for this bare metal server: + // - `disabled`: Reservations will not be used + // - `manual`: Reservations in `pool` will be available for use + // - `automatic`: Any reservations with an `affinity_policy` of `automatic` that have the + // same `profile` and `zone` as this bare metal server are available for use. + Policy *string `json:"policy,omitempty"` + + // The pool of reservations available for use by this bare metal server, replacing the existing pool of reservations. + // + // Specified reservations must have a `status` of `active`, and have the same + // `profile` and `zone` as this bare metal server. + // + // If `policy` is `manual`, `pool` must have one reservation. If `policy` is `disabled` or `automatic`, `pool` must be + // empty. If `policy` is `manual`, the `pool` must contain a reservation with available capacity. + Pool []ReservationIdentityIntf `json:"pool,omitempty"` +} + +// Constants associated with the BareMetalServerReservationAffinityPatch.Policy property. +// The reservation affinity policy to use for this bare metal server: +// - `disabled`: Reservations will not be used +// - `manual`: Reservations in `pool` will be available for use +// - `automatic`: Any reservations with an `affinity_policy` of `automatic` that have the +// same `profile` and `zone` as this bare metal server are available for use. +const ( + BareMetalServerReservationAffinityPatchPolicyAutomaticConst = "automatic" + BareMetalServerReservationAffinityPatchPolicyDisabledConst = "disabled" + BareMetalServerReservationAffinityPatchPolicyManualConst = "manual" +) + +// UnmarshalBareMetalServerReservationAffinityPatch unmarshals an instance of BareMetalServerReservationAffinityPatch from the specified map of raw messages. +func UnmarshalBareMetalServerReservationAffinityPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerReservationAffinityPatch) + err = core.UnmarshalPrimitive(m, "policy", &obj.Policy) + if err != nil { + err = core.SDKErrorf(err, "", "policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "pool", &obj.Pool, UnmarshalReservationIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "pool-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the BareMetalServerReservationAffinityPatch +func (bareMetalServerReservationAffinityPatch *BareMetalServerReservationAffinityPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(bareMetalServerReservationAffinityPatch.Policy) { + _patch["policy"] = bareMetalServerReservationAffinityPatch.Policy + } + if !core.IsNil(bareMetalServerReservationAffinityPatch.Pool) { + var poolPatches []map[string]interface{} + for _, pool := range bareMetalServerReservationAffinityPatch.Pool { + poolPatches = append(poolPatches, pool.asPatch()) + } + _patch["pool"] = poolPatches + } + + return +} + +// BareMetalServerReservationAffinityPrototype : BareMetalServerReservationAffinityPrototype struct +type BareMetalServerReservationAffinityPrototype struct { + // The reservation affinity policy to use for this bare metal server: + // - `disabled`: Reservations will not be used + // - `manual`: Reservations in `pool` will be available for use + // - `automatic`: Any reservations with an `affinity_policy` of `automatic` that have the + // same `profile` and `zone` as this bare metal server are available for use. + // + // The policy will default to `manual` if `pool` is not empty. Otherwise the policy will default to `automatic`. + Policy *string `json:"policy,omitempty"` + + // The pool of reservations available for use by this bare metal server. + // + // Specified reservations must have a `status` of `active`, and have the same `profile` and `zone` as this bare metal + // server. + // + // If `policy` is `manual`, `pool` must have one reservation. If `policy` is `disabled` or `automatic`, `pool` must be + // empty. If `policy` is `manual`, the `pool` must contain a reservation with available capacity. + Pool []ReservationIdentityIntf `json:"pool,omitempty"` +} + +// Constants associated with the BareMetalServerReservationAffinityPrototype.Policy property. +// The reservation affinity policy to use for this bare metal server: +// - `disabled`: Reservations will not be used +// - `manual`: Reservations in `pool` will be available for use +// - `automatic`: Any reservations with an `affinity_policy` of `automatic` that have the +// same `profile` and `zone` as this bare metal server are available for use. +// +// The policy will default to `manual` if `pool` is not empty. Otherwise the policy will default to `automatic`. +const ( + BareMetalServerReservationAffinityPrototypePolicyAutomaticConst = "automatic" + BareMetalServerReservationAffinityPrototypePolicyDisabledConst = "disabled" + BareMetalServerReservationAffinityPrototypePolicyManualConst = "manual" +) + +// UnmarshalBareMetalServerReservationAffinityPrototype unmarshals an instance of BareMetalServerReservationAffinityPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerReservationAffinityPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerReservationAffinityPrototype) + err = core.UnmarshalPrimitive(m, "policy", &obj.Policy) + if err != nil { + err = core.SDKErrorf(err, "", "policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "pool", &obj.Pool, UnmarshalReservationIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "pool-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerStatusReason : BareMetalServerStatusReason struct +type BareMetalServerStatusReason struct { + // The status reason code: + // - `cannot_reinitialize`: An error occurred while reinitializing bare metal server + // - `cannot_start`: Failed to start due to an internal error + // - `cannot_start_capacity`: Insufficient capacity within the selected zone + // - `cannot_start_compute`: An error occurred while allocating compute resources + // - `cannot_start_ip_address`: An error occurred while allocating an IP address + // - `cannot_start_network`: An error occurred while allocating network resources + // - `cannot_update_firmware`: An error occurred while updating bare metal server firmware + // - `cannot_start_reservation_capacity`: Failed to start because the reservation has + // insufficient capacity + // - `cannot_start_reservation_expired`: Failed to start because the reservation has + // expired + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the BareMetalServerStatusReason.Code property. +// The status reason code: +// - `cannot_reinitialize`: An error occurred while reinitializing bare metal server +// - `cannot_start`: Failed to start due to an internal error +// - `cannot_start_capacity`: Insufficient capacity within the selected zone +// - `cannot_start_compute`: An error occurred while allocating compute resources +// - `cannot_start_ip_address`: An error occurred while allocating an IP address +// - `cannot_start_network`: An error occurred while allocating network resources +// - `cannot_update_firmware`: An error occurred while updating bare metal server firmware +// - `cannot_start_reservation_capacity`: Failed to start because the reservation has +// insufficient capacity +// - `cannot_start_reservation_expired`: Failed to start because the reservation has +// expired +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerStatusReasonCodeCannotReinitializeConst = "cannot_reinitialize" + BareMetalServerStatusReasonCodeCannotStartConst = "cannot_start" + BareMetalServerStatusReasonCodeCannotStartCapacityConst = "cannot_start_capacity" + BareMetalServerStatusReasonCodeCannotStartComputeConst = "cannot_start_compute" + BareMetalServerStatusReasonCodeCannotStartIPAddressConst = "cannot_start_ip_address" + BareMetalServerStatusReasonCodeCannotStartNetworkConst = "cannot_start_network" + BareMetalServerStatusReasonCodeCannotStartReservationCapacityConst = "cannot_start_reservation_capacity" + BareMetalServerStatusReasonCodeCannotStartReservationExpiredConst = "cannot_start_reservation_expired" + BareMetalServerStatusReasonCodeCannotUpdateFirmwareConst = "cannot_update_firmware" +) + +// UnmarshalBareMetalServerStatusReason unmarshals an instance of BareMetalServerStatusReason from the specified map of raw messages. +func UnmarshalBareMetalServerStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerTrustedPlatformModule : BareMetalServerTrustedPlatformModule struct +type BareMetalServerTrustedPlatformModule struct { + // Indicates whether the trusted platform module is enabled. + Enabled *bool `json:"enabled" validate:"required"` + + // The trusted platform module (TPM) mode: + // - `disabled`: No TPM functionality + // - `tpm_2`: TPM 2.0 + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Mode *string `json:"mode" validate:"required"` + + // The supported trusted platform module modes. + SupportedModes []string `json:"supported_modes" validate:"required"` +} + +// Constants associated with the BareMetalServerTrustedPlatformModule.Mode property. +// The trusted platform module (TPM) mode: +// - `disabled`: No TPM functionality +// - `tpm_2`: TPM 2.0 +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerTrustedPlatformModuleModeDisabledConst = "disabled" + BareMetalServerTrustedPlatformModuleModeTpm2Const = "tpm_2" +) + +// Constants associated with the BareMetalServerTrustedPlatformModule.SupportedModes property. +// The trusted platform module (TPM) mode: +// - `disabled`: No TPM functionality +// - `tpm_2`: TPM 2.0 +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerTrustedPlatformModuleSupportedModesDisabledConst = "disabled" + BareMetalServerTrustedPlatformModuleSupportedModesTpm2Const = "tpm_2" +) + +// UnmarshalBareMetalServerTrustedPlatformModule unmarshals an instance of BareMetalServerTrustedPlatformModule from the specified map of raw messages. +func UnmarshalBareMetalServerTrustedPlatformModule(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerTrustedPlatformModule) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + err = core.SDKErrorf(err, "", "enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "supported_modes", &obj.SupportedModes) + if err != nil { + err = core.SDKErrorf(err, "", "supported_modes-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerTrustedPlatformModulePatch : BareMetalServerTrustedPlatformModulePatch struct +type BareMetalServerTrustedPlatformModulePatch struct { + // The trusted platform module mode to use. The specified value must be listed in the bare metal server's + // `supported_modes`. + // + // For the trusted platform module mode to be changed, the bare metal server `status` must be `stopped`. + Mode *string `json:"mode,omitempty"` +} + +// Constants associated with the BareMetalServerTrustedPlatformModulePatch.Mode property. +// The trusted platform module mode to use. The specified value must be listed in the bare metal server's +// `supported_modes`. +// +// For the trusted platform module mode to be changed, the bare metal server `status` must be `stopped`. +const ( + BareMetalServerTrustedPlatformModulePatchModeDisabledConst = "disabled" + BareMetalServerTrustedPlatformModulePatchModeTpm2Const = "tpm_2" +) + +// UnmarshalBareMetalServerTrustedPlatformModulePatch unmarshals an instance of BareMetalServerTrustedPlatformModulePatch from the specified map of raw messages. +func UnmarshalBareMetalServerTrustedPlatformModulePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerTrustedPlatformModulePatch) + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the BareMetalServerTrustedPlatformModulePatch +func (bareMetalServerTrustedPlatformModulePatch *BareMetalServerTrustedPlatformModulePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(bareMetalServerTrustedPlatformModulePatch.Mode) { + _patch["mode"] = bareMetalServerTrustedPlatformModulePatch.Mode + } + + return +} + +// BareMetalServerTrustedPlatformModulePrototype : BareMetalServerTrustedPlatformModulePrototype struct +type BareMetalServerTrustedPlatformModulePrototype struct { + // The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's + // `supported_trusted_platform_module_modes`. + // + // If unspecified, the default trusted platform module mode from the profile will be used. + Mode *string `json:"mode,omitempty"` +} + +// Constants associated with the BareMetalServerTrustedPlatformModulePrototype.Mode property. +// The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's +// `supported_trusted_platform_module_modes`. +// +// If unspecified, the default trusted platform module mode from the profile will be used. +const ( + BareMetalServerTrustedPlatformModulePrototypeModeDisabledConst = "disabled" + BareMetalServerTrustedPlatformModulePrototypeModeTpm2Const = "tpm_2" +) + +// UnmarshalBareMetalServerTrustedPlatformModulePrototype unmarshals an instance of BareMetalServerTrustedPlatformModulePrototype from the specified map of raw messages. +func UnmarshalBareMetalServerTrustedPlatformModulePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerTrustedPlatformModulePrototype) + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CatalogOfferingIdentity : Identifies a [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering by a unique +// property. +// Models which "extend" this model: +// - CatalogOfferingIdentityCatalogOfferingByCRN +type CatalogOfferingIdentity struct { + // The CRN for this + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering. + CRN *string `json:"crn,omitempty"` +} + +func (*CatalogOfferingIdentity) isaCatalogOfferingIdentity() bool { + return true +} + +type CatalogOfferingIdentityIntf interface { + isaCatalogOfferingIdentity() bool +} + +// UnmarshalCatalogOfferingIdentity unmarshals an instance of CatalogOfferingIdentity from the specified map of raw messages. +func UnmarshalCatalogOfferingIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CatalogOfferingIdentity) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CatalogOfferingVersionIdentity : Identifies a version of a +// [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering by a unique property. +// Models which "extend" this model: +// - CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN +type CatalogOfferingVersionIdentity struct { + // The CRN for this version of a + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering. + CRN *string `json:"crn,omitempty"` +} + +func (*CatalogOfferingVersionIdentity) isaCatalogOfferingVersionIdentity() bool { + return true +} + +type CatalogOfferingVersionIdentityIntf interface { + isaCatalogOfferingVersionIdentity() bool +} + +// UnmarshalCatalogOfferingVersionIdentity unmarshals an instance of CatalogOfferingVersionIdentity from the specified map of raw messages. +func UnmarshalCatalogOfferingVersionIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CatalogOfferingVersionIdentity) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CatalogOfferingVersionPlanIdentity : Identifies a catalog offering version's billing plan by a unique property. +// Models which "extend" this model: +// - CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN +type CatalogOfferingVersionPlanIdentity struct { + // The CRN for this + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering version's billing plan. + CRN *string `json:"crn,omitempty"` +} + +func (*CatalogOfferingVersionPlanIdentity) isaCatalogOfferingVersionPlanIdentity() bool { + return true +} + +type CatalogOfferingVersionPlanIdentityIntf interface { + isaCatalogOfferingVersionPlanIdentity() bool +} + +// UnmarshalCatalogOfferingVersionPlanIdentity unmarshals an instance of CatalogOfferingVersionPlanIdentity from the specified map of raw messages. +func UnmarshalCatalogOfferingVersionPlanIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CatalogOfferingVersionPlanIdentity) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CatalogOfferingVersionPlanReference : CatalogOfferingVersionPlanReference struct +type CatalogOfferingVersionPlanReference struct { + // The CRN for this + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering version's billing plan. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` +} + +// UnmarshalCatalogOfferingVersionPlanReference unmarshals an instance of CatalogOfferingVersionPlanReference from the specified map of raw messages. +func UnmarshalCatalogOfferingVersionPlanReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CatalogOfferingVersionPlanReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CatalogOfferingVersionReference : CatalogOfferingVersionReference struct +type CatalogOfferingVersionReference struct { + // The CRN for this version of a + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering. + CRN *string `json:"crn" validate:"required"` +} + +// UnmarshalCatalogOfferingVersionReference unmarshals an instance of CatalogOfferingVersionReference from the specified map of raw messages. +func UnmarshalCatalogOfferingVersionReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CatalogOfferingVersionReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CertificateInstanceIdentity : Identifies a certificate instance by a unique property. +// Models which "extend" this model: +// - CertificateInstanceIdentityByCRN +type CertificateInstanceIdentity struct { + // The CRN for this certificate instance. + CRN *string `json:"crn,omitempty"` +} + +func (*CertificateInstanceIdentity) isaCertificateInstanceIdentity() bool { + return true +} + +type CertificateInstanceIdentityIntf interface { + isaCertificateInstanceIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalCertificateInstanceIdentity unmarshals an instance of CertificateInstanceIdentity from the specified map of raw messages. +func UnmarshalCertificateInstanceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CertificateInstanceIdentity) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the CertificateInstanceIdentity +func (certificateInstanceIdentity *CertificateInstanceIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(certificateInstanceIdentity.CRN) { + _patch["crn"] = certificateInstanceIdentity.CRN + } + + return +} + +// CertificateInstanceReference : CertificateInstanceReference struct +type CertificateInstanceReference struct { + // The CRN for this certificate instance. + CRN *string `json:"crn" validate:"required"` +} + +// UnmarshalCertificateInstanceReference unmarshals an instance of CertificateInstanceReference from the specified map of raw messages. +func UnmarshalCertificateInstanceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CertificateInstanceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CheckVPNGatewayAdvertisedCIDROptions : The CheckVPNGatewayAdvertisedCIDR options. +type CheckVPNGatewayAdvertisedCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCheckVPNGatewayAdvertisedCIDROptions : Instantiate CheckVPNGatewayAdvertisedCIDROptions +func (*VpcV1) NewCheckVPNGatewayAdvertisedCIDROptions(vpnGatewayID string, cidr string) *CheckVPNGatewayAdvertisedCIDROptions { + return &CheckVPNGatewayAdvertisedCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *CheckVPNGatewayAdvertisedCIDROptions) SetVPNGatewayID(vpnGatewayID string) *CheckVPNGatewayAdvertisedCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *CheckVPNGatewayAdvertisedCIDROptions) SetCIDR(cidr string) *CheckVPNGatewayAdvertisedCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CheckVPNGatewayAdvertisedCIDROptions) SetHeaders(param map[string]string) *CheckVPNGatewayAdvertisedCIDROptions { + options.Headers = param + return options +} + +// CheckVPNGatewayConnectionsLocalCIDROptions : The CheckVPNGatewayConnectionsLocalCIDR options. +type CheckVPNGatewayConnectionsLocalCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCheckVPNGatewayConnectionsLocalCIDROptions : Instantiate CheckVPNGatewayConnectionsLocalCIDROptions +func (*VpcV1) NewCheckVPNGatewayConnectionsLocalCIDROptions(vpnGatewayID string, id string, cidr string) *CheckVPNGatewayConnectionsLocalCIDROptions { + return &CheckVPNGatewayConnectionsLocalCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *CheckVPNGatewayConnectionsLocalCIDROptions) SetVPNGatewayID(vpnGatewayID string) *CheckVPNGatewayConnectionsLocalCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *CheckVPNGatewayConnectionsLocalCIDROptions) SetID(id string) *CheckVPNGatewayConnectionsLocalCIDROptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *CheckVPNGatewayConnectionsLocalCIDROptions) SetCIDR(cidr string) *CheckVPNGatewayConnectionsLocalCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CheckVPNGatewayConnectionsLocalCIDROptions) SetHeaders(param map[string]string) *CheckVPNGatewayConnectionsLocalCIDROptions { + options.Headers = param + return options +} + +// CheckVPNGatewayConnectionsPeerCIDROptions : The CheckVPNGatewayConnectionsPeerCIDR options. +type CheckVPNGatewayConnectionsPeerCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCheckVPNGatewayConnectionsPeerCIDROptions : Instantiate CheckVPNGatewayConnectionsPeerCIDROptions +func (*VpcV1) NewCheckVPNGatewayConnectionsPeerCIDROptions(vpnGatewayID string, id string, cidr string) *CheckVPNGatewayConnectionsPeerCIDROptions { + return &CheckVPNGatewayConnectionsPeerCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *CheckVPNGatewayConnectionsPeerCIDROptions) SetVPNGatewayID(vpnGatewayID string) *CheckVPNGatewayConnectionsPeerCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *CheckVPNGatewayConnectionsPeerCIDROptions) SetID(id string) *CheckVPNGatewayConnectionsPeerCIDROptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *CheckVPNGatewayConnectionsPeerCIDROptions) SetCIDR(cidr string) *CheckVPNGatewayConnectionsPeerCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CheckVPNGatewayConnectionsPeerCIDROptions) SetHeaders(param map[string]string) *CheckVPNGatewayConnectionsPeerCIDROptions { + options.Headers = param + return options +} + +// CloudObjectStorageBucketIdentity : Identifies a Cloud Object Storage bucket by a unique property. +// Models which "extend" this model: +// - CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName +// - CloudObjectStorageBucketIdentityByCRN +type CloudObjectStorageBucketIdentity struct { + // The globally unique name of this Cloud Object Storage bucket. + Name *string `json:"name,omitempty"` + + // The CRN of this Cloud Object Storage bucket. + CRN *string `json:"crn,omitempty"` +} + +func (*CloudObjectStorageBucketIdentity) isaCloudObjectStorageBucketIdentity() bool { + return true +} + +type CloudObjectStorageBucketIdentityIntf interface { + isaCloudObjectStorageBucketIdentity() bool +} + +// UnmarshalCloudObjectStorageBucketIdentity unmarshals an instance of CloudObjectStorageBucketIdentity from the specified map of raw messages. +func UnmarshalCloudObjectStorageBucketIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CloudObjectStorageBucketIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CloudObjectStorageBucketReference : CloudObjectStorageBucketReference struct +type CloudObjectStorageBucketReference struct { + // The CRN of this Cloud Object Storage bucket. + CRN *string `json:"crn" validate:"required"` + + // The globally unique name of this Cloud Object Storage bucket. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalCloudObjectStorageBucketReference unmarshals an instance of CloudObjectStorageBucketReference from the specified map of raw messages. +func UnmarshalCloudObjectStorageBucketReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CloudObjectStorageBucketReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CloudObjectStorageObjectReference : CloudObjectStorageObjectReference struct +type CloudObjectStorageObjectReference struct { + // The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalCloudObjectStorageObjectReference unmarshals an instance of CloudObjectStorageObjectReference from the specified map of raw messages. +func UnmarshalCloudObjectStorageObjectReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CloudObjectStorageObjectReference) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetwork : ClusterNetwork struct +type ClusterNetwork struct { + // The date and time that the cluster network was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this cluster network. + CRN *string `json:"crn" validate:"required"` + + // The URL for this cluster network. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []ClusterNetworkLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the cluster network. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name *string `json:"name" validate:"required"` + + // The profile for this cluster network. + Profile *ClusterNetworkProfileReference `json:"profile" validate:"required"` + + // The resource group for this cluster network. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The IP address ranges available for subnets for this cluster network. + SubnetPrefixes []ClusterNetworkSubnetPrefix `json:"subnet_prefixes" validate:"required"` + + // The VPC this cluster network resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The zone this cluster network resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the ClusterNetwork.LifecycleState property. +// The lifecycle state of the cluster network. +const ( + ClusterNetworkLifecycleStateDeletingConst = "deleting" + ClusterNetworkLifecycleStateFailedConst = "failed" + ClusterNetworkLifecycleStatePendingConst = "pending" + ClusterNetworkLifecycleStateStableConst = "stable" + ClusterNetworkLifecycleStateSuspendedConst = "suspended" + ClusterNetworkLifecycleStateUpdatingConst = "updating" + ClusterNetworkLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the ClusterNetwork.ResourceType property. +// The resource type. +const ( + ClusterNetworkResourceTypeClusterNetworkConst = "cluster_network" +) + +// UnmarshalClusterNetwork unmarshals an instance of ClusterNetwork from the specified map of raw messages. +func UnmarshalClusterNetwork(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetwork) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalClusterNetworkLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalClusterNetworkProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet_prefixes", &obj.SubnetPrefixes, UnmarshalClusterNetworkSubnetPrefix) + if err != nil { + err = core.SDKErrorf(err, "", "subnet_prefixes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkCollection : ClusterNetworkCollection struct +type ClusterNetworkCollection struct { + // A page of cluster networks. + ClusterNetworks []ClusterNetwork `json:"cluster_networks" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalClusterNetworkCollection unmarshals an instance of ClusterNetworkCollection from the specified map of raw messages. +func UnmarshalClusterNetworkCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkCollection) + err = core.UnmarshalModel(m, "cluster_networks", &obj.ClusterNetworks, UnmarshalClusterNetwork) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_networks-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ClusterNetworkCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ClusterNetworkInterface : The associated cluster network subnet. +type ClusterNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this cluster network interface. If `false`, source IP spoofing is + // prevented on this cluster network interface. If `true`, source IP spoofing is allowed on this cluster network + // interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing" validate:"required"` + + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // The date and time that the cluster network interface was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat" validate:"required"` + + // The URL for this cluster network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network interface. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []ClusterNetworkInterfaceLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the cluster network interface. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The MAC address of the cluster network interface. May be absent if + // `lifecycle_state` is `pending`. + MacAddress *string `json:"mac_address,omitempty"` + + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name *string `json:"name" validate:"required"` + + // The cluster network subnet reserved IP for this cluster network interface. + PrimaryIP *ClusterNetworkSubnetReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + Subnet *ClusterNetworkSubnetReference `json:"subnet,omitempty"` + + // The target of this cluster network interface. + // + // If absent, this cluster network interface is not attached to a target. + // + // The resources supported by this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Target ClusterNetworkInterfaceTargetIntf `json:"target,omitempty"` + + // The VPC this cluster network interface resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The zone this cluster network interface resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the ClusterNetworkInterface.LifecycleState property. +// The lifecycle state of the cluster network interface. +const ( + ClusterNetworkInterfaceLifecycleStateDeletingConst = "deleting" + ClusterNetworkInterfaceLifecycleStateFailedConst = "failed" + ClusterNetworkInterfaceLifecycleStatePendingConst = "pending" + ClusterNetworkInterfaceLifecycleStateStableConst = "stable" + ClusterNetworkInterfaceLifecycleStateSuspendedConst = "suspended" + ClusterNetworkInterfaceLifecycleStateUpdatingConst = "updating" + ClusterNetworkInterfaceLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the ClusterNetworkInterface.ResourceType property. +// The resource type. +const ( + ClusterNetworkInterfaceResourceTypeClusterNetworkInterfaceConst = "cluster_network_interface" +) + +// UnmarshalClusterNetworkInterface unmarshals an instance of ClusterNetworkInterface from the specified map of raw messages. +func UnmarshalClusterNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterface) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalClusterNetworkInterfaceLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mac_address", &obj.MacAddress) + if err != nil { + err = core.SDKErrorf(err, "", "mac_address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalClusterNetworkSubnetReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalClusterNetworkSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalClusterNetworkInterfaceTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfaceCollection : ClusterNetworkInterfaceCollection struct +type ClusterNetworkInterfaceCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of cluster network interfaces. + Interfaces []ClusterNetworkInterface `json:"interfaces" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalClusterNetworkInterfaceCollection unmarshals an instance of ClusterNetworkInterfaceCollection from the specified map of raw messages. +func UnmarshalClusterNetworkInterfaceCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfaceCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "interfaces", &obj.Interfaces, UnmarshalClusterNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ClusterNetworkInterfaceCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ClusterNetworkInterfaceLifecycleReason : ClusterNetworkInterfaceLifecycleReason struct +type ClusterNetworkInterfaceLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ClusterNetworkInterfaceLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ClusterNetworkInterfaceLifecycleReasonCodeInternalErrorConst = "internal_error" + ClusterNetworkInterfaceLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalClusterNetworkInterfaceLifecycleReason unmarshals an instance of ClusterNetworkInterfaceLifecycleReason from the specified map of raw messages. +func UnmarshalClusterNetworkInterfaceLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfaceLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfacePatch : ClusterNetworkInterfacePatch struct +type ClusterNetworkInterfacePatch struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. Must be + // `false` if the cluster network interface is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. + // Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` +} + +// UnmarshalClusterNetworkInterfacePatch unmarshals an instance of ClusterNetworkInterfacePatch from the specified map of raw messages. +func UnmarshalClusterNetworkInterfacePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfacePatch) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ClusterNetworkInterfacePatch +func (clusterNetworkInterfacePatch *ClusterNetworkInterfacePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(clusterNetworkInterfacePatch.AutoDelete) { + _patch["auto_delete"] = clusterNetworkInterfacePatch.AutoDelete + } + if !core.IsNil(clusterNetworkInterfacePatch.Name) { + _patch["name"] = clusterNetworkInterfacePatch.Name + } + + return +} + +// ClusterNetworkInterfacePrimaryIPPrototype : ClusterNetworkInterfacePrimaryIPPrototype struct +// Models which "extend" this model: +// - ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext +// - ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext +type ClusterNetworkInterfacePrimaryIPPrototype struct { + // The unique identifier for this cluster network subnet reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this cluster network subnet reserved IP. + Href *string `json:"href,omitempty"` + + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` + // is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the + // cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + // If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` +} + +func (*ClusterNetworkInterfacePrimaryIPPrototype) isaClusterNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +type ClusterNetworkInterfacePrimaryIPPrototypeIntf interface { + isaClusterNetworkInterfacePrimaryIPPrototype() bool +} + +// UnmarshalClusterNetworkInterfacePrimaryIPPrototype unmarshals an instance of ClusterNetworkInterfacePrimaryIPPrototype from the specified map of raw messages. +func UnmarshalClusterNetworkInterfacePrimaryIPPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfacePrimaryIPPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfaceReference : The associated cluster network subnet. +type ClusterNetworkInterfaceReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this cluster network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network interface. + ID *string `json:"id" validate:"required"` + + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name *string `json:"name" validate:"required"` + + // The primary IP for this cluster network interface. + PrimaryIP *ClusterNetworkSubnetReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + Subnet *ClusterNetworkSubnetReference `json:"subnet" validate:"required"` +} + +// Constants associated with the ClusterNetworkInterfaceReference.ResourceType property. +// The resource type. +const ( + ClusterNetworkInterfaceReferenceResourceTypeClusterNetworkInterfaceConst = "cluster_network_interface" +) + +// UnmarshalClusterNetworkInterfaceReference unmarshals an instance of ClusterNetworkInterfaceReference from the specified map of raw messages. +func UnmarshalClusterNetworkInterfaceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfaceReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalClusterNetworkSubnetReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalClusterNetworkSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfaceTarget : The target of this cluster network interface. +// +// If absent, this cluster network interface is not attached to a target. +// +// The resources supported by this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +// Models which "extend" this model: +// - ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext +type ClusterNetworkInterfaceTarget struct { + // The URL for this instance cluster network attachment. + Href *string `json:"href,omitempty"` + + // The unique identifier for this instance cluster network attachment. + ID *string `json:"id,omitempty"` + + // The name for this instance cluster network attachment. The name is unique across all network attachments for the + // instance. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the ClusterNetworkInterfaceTarget.ResourceType property. +// The resource type. +const ( + ClusterNetworkInterfaceTargetResourceTypeInstanceClusterNetworkAttachmentConst = "instance_cluster_network_attachment" +) + +func (*ClusterNetworkInterfaceTarget) isaClusterNetworkInterfaceTarget() bool { + return true +} + +type ClusterNetworkInterfaceTargetIntf interface { + isaClusterNetworkInterfaceTarget() bool +} + +// UnmarshalClusterNetworkInterfaceTarget unmarshals an instance of ClusterNetworkInterfaceTarget from the specified map of raw messages. +func UnmarshalClusterNetworkInterfaceTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfaceTarget) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkLifecycleReason : ClusterNetworkLifecycleReason struct +type ClusterNetworkLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ClusterNetworkLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ClusterNetworkLifecycleReasonCodeInternalErrorConst = "internal_error" + ClusterNetworkLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalClusterNetworkLifecycleReason unmarshals an instance of ClusterNetworkLifecycleReason from the specified map of raw messages. +func UnmarshalClusterNetworkLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkPatch : ClusterNetworkPatch struct +type ClusterNetworkPatch struct { + // The name for this cluster network. The name must not be used by another cluster network in the region. Names + // starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` +} + +// UnmarshalClusterNetworkPatch unmarshals an instance of ClusterNetworkPatch from the specified map of raw messages. +func UnmarshalClusterNetworkPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ClusterNetworkPatch +func (clusterNetworkPatch *ClusterNetworkPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(clusterNetworkPatch.Name) { + _patch["name"] = clusterNetworkPatch.Name + } + + return +} + +// ClusterNetworkProfile : ClusterNetworkProfile struct +type ClusterNetworkProfile struct { + // The product family this cluster network profile belongs to. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family *string `json:"family" validate:"required"` + + // The URL for this cluster network profile. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this cluster network profile. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The instance profiles that support this cluster network profile. + SupportedInstanceProfiles []InstanceProfileReference `json:"supported_instance_profiles" validate:"required"` + + // Zones in this region that support this cluster network profile. + Zones []ZoneReference `json:"zones" validate:"required"` +} + +// Constants associated with the ClusterNetworkProfile.Family property. +// The product family this cluster network profile belongs to. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ClusterNetworkProfileFamilyVelaConst = "vela" +) + +// Constants associated with the ClusterNetworkProfile.ResourceType property. +// The resource type. +const ( + ClusterNetworkProfileResourceTypeClusterNetworkProfileConst = "cluster_network_profile" +) + +// UnmarshalClusterNetworkProfile unmarshals an instance of ClusterNetworkProfile from the specified map of raw messages. +func UnmarshalClusterNetworkProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkProfile) + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_instance_profiles", &obj.SupportedInstanceProfiles, UnmarshalInstanceProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "supported_instance_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zones", &obj.Zones, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zones-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkProfileCollection : ClusterNetworkProfileCollection struct +type ClusterNetworkProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of cluster network profiles. + Profiles []ClusterNetworkProfile `json:"profiles" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalClusterNetworkProfileCollection unmarshals an instance of ClusterNetworkProfileCollection from the specified map of raw messages. +func UnmarshalClusterNetworkProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profiles", &obj.Profiles, UnmarshalClusterNetworkProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ClusterNetworkProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ClusterNetworkProfileIdentity : Identifies an cluster network profile by a unique property. +// Models which "extend" this model: +// - ClusterNetworkProfileIdentityByName +// - ClusterNetworkProfileIdentityByHref +type ClusterNetworkProfileIdentity struct { + // The globally unique name for this cluster network profile. + Name *string `json:"name,omitempty"` + + // The URL for this cluster network profile. + Href *string `json:"href,omitempty"` +} + +func (*ClusterNetworkProfileIdentity) isaClusterNetworkProfileIdentity() bool { + return true +} + +type ClusterNetworkProfileIdentityIntf interface { + isaClusterNetworkProfileIdentity() bool +} + +// UnmarshalClusterNetworkProfileIdentity unmarshals an instance of ClusterNetworkProfileIdentity from the specified map of raw messages. +func UnmarshalClusterNetworkProfileIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkProfileIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkProfileReference : ClusterNetworkProfileReference struct +type ClusterNetworkProfileReference struct { + // The URL for this cluster network profile. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this cluster network profile. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ClusterNetworkProfileReference.ResourceType property. +// The resource type. +const ( + ClusterNetworkProfileReferenceResourceTypeClusterNetworkProfileConst = "cluster_network_profile" +) + +// UnmarshalClusterNetworkProfileReference unmarshals an instance of ClusterNetworkProfileReference from the specified map of raw messages. +func UnmarshalClusterNetworkProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkProfileReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkReference : ClusterNetworkReference struct +type ClusterNetworkReference struct { + // The CRN for this cluster network. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this cluster network. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network. + ID *string `json:"id" validate:"required"` + + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ClusterNetworkReference.ResourceType property. +// The resource type. +const ( + ClusterNetworkReferenceResourceTypeClusterNetworkConst = "cluster_network" +) + +// UnmarshalClusterNetworkReference unmarshals an instance of ClusterNetworkReference from the specified map of raw messages. +func UnmarshalClusterNetworkReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnet : ClusterNetworkSubnet struct +type ClusterNetworkSubnet struct { + // The number of IPv4 addresses in this cluster network subnet that are not in use, and have not been reserved by the + // user or the provider. + AvailableIpv4AddressCount *int64 `json:"available_ipv4_address_count" validate:"required"` + + // The date and time that the cluster network subnet was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this cluster network subnet. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network subnet. + ID *string `json:"id" validate:"required"` + + // The IP version for this cluster network subnet. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IPVersion *string `json:"ip_version" validate:"required"` + + // The IPv4 range of this cluster network subnet, expressed in CIDR format. + Ipv4CIDRBlock *string `json:"ipv4_cidr_block" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []ClusterNetworkSubnetLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the cluster network subnet. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster + // network. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The total number of IPv4 addresses in this cluster network subnet. + // + // Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
+ // 2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount *int64 `json:"total_ipv4_address_count" validate:"required"` +} + +// Constants associated with the ClusterNetworkSubnet.IPVersion property. +// The IP version for this cluster network subnet. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ClusterNetworkSubnetIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the ClusterNetworkSubnet.LifecycleState property. +// The lifecycle state of the cluster network subnet. +const ( + ClusterNetworkSubnetLifecycleStateDeletingConst = "deleting" + ClusterNetworkSubnetLifecycleStateFailedConst = "failed" + ClusterNetworkSubnetLifecycleStatePendingConst = "pending" + ClusterNetworkSubnetLifecycleStateStableConst = "stable" + ClusterNetworkSubnetLifecycleStateSuspendedConst = "suspended" + ClusterNetworkSubnetLifecycleStateUpdatingConst = "updating" + ClusterNetworkSubnetLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the ClusterNetworkSubnet.ResourceType property. +// The resource type. +const ( + ClusterNetworkSubnetResourceTypeClusterNetworkSubnetConst = "cluster_network_subnet" +) + +// UnmarshalClusterNetworkSubnet unmarshals an instance of ClusterNetworkSubnet from the specified map of raw messages. +func UnmarshalClusterNetworkSubnet(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnet) + err = core.UnmarshalPrimitive(m, "available_ipv4_address_count", &obj.AvailableIpv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "available_ipv4_address_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ipv4_cidr_block", &obj.Ipv4CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "ipv4_cidr_block-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalClusterNetworkSubnetLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_ipv4_address_count", &obj.TotalIpv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_ipv4_address_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetCollection : ClusterNetworkSubnetCollection struct +type ClusterNetworkSubnetCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of subnets for the cluster network. + Subnets []ClusterNetworkSubnet `json:"subnets" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalClusterNetworkSubnetCollection unmarshals an instance of ClusterNetworkSubnetCollection from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalClusterNetworkSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ClusterNetworkSubnetCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ClusterNetworkSubnetIdentity : Identifies a cluster network subnet by a unique property. +// Models which "extend" this model: +// - ClusterNetworkSubnetIdentityByID +// - ClusterNetworkSubnetIdentityByHref +type ClusterNetworkSubnetIdentity struct { + // The unique identifier for this cluster network subnet. + ID *string `json:"id,omitempty"` + + // The URL for this cluster network subnet. + Href *string `json:"href,omitempty"` +} + +func (*ClusterNetworkSubnetIdentity) isaClusterNetworkSubnetIdentity() bool { + return true +} + +type ClusterNetworkSubnetIdentityIntf interface { + isaClusterNetworkSubnetIdentity() bool +} + +// UnmarshalClusterNetworkSubnetIdentity unmarshals an instance of ClusterNetworkSubnetIdentity from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetLifecycleReason : ClusterNetworkSubnetLifecycleReason struct +type ClusterNetworkSubnetLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ClusterNetworkSubnetLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ClusterNetworkSubnetLifecycleReasonCodeInternalErrorConst = "internal_error" + ClusterNetworkSubnetLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalClusterNetworkSubnetLifecycleReason unmarshals an instance of ClusterNetworkSubnetLifecycleReason from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetPatch : ClusterNetworkSubnetPatch struct +type ClusterNetworkSubnetPatch struct { + // The name for this cluster network subnet. The name must not be used by another cluster network subnet in the cluster + // network. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` +} + +// UnmarshalClusterNetworkSubnetPatch unmarshals an instance of ClusterNetworkSubnetPatch from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ClusterNetworkSubnetPatch +func (clusterNetworkSubnetPatch *ClusterNetworkSubnetPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(clusterNetworkSubnetPatch.Name) { + _patch["name"] = clusterNetworkSubnetPatch.Name + } + + return +} + +// ClusterNetworkSubnetPrefix : A range of addresses available for subnets for this cluster network. +type ClusterNetworkSubnetPrefix struct { + // The allocation policy for this subnet prefix: + // - `auto`: Subnets created by total count in this cluster network can use this prefix. + AllocationPolicy *string `json:"allocation_policy" validate:"required"` + + // The CIDR block for this prefix. + CIDR *string `json:"cidr" validate:"required"` +} + +// Constants associated with the ClusterNetworkSubnetPrefix.AllocationPolicy property. +// The allocation policy for this subnet prefix: +// - `auto`: Subnets created by total count in this cluster network can use this prefix. +const ( + ClusterNetworkSubnetPrefixAllocationPolicyAutoConst = "auto" +) + +// UnmarshalClusterNetworkSubnetPrefix unmarshals an instance of ClusterNetworkSubnetPrefix from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetPrefix(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetPrefix) + err = core.UnmarshalPrimitive(m, "allocation_policy", &obj.AllocationPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "allocation_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cidr", &obj.CIDR) + if err != nil { + err = core.SDKErrorf(err, "", "cidr-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetPrefixPrototype : ClusterNetworkSubnetPrefixPrototype struct +type ClusterNetworkSubnetPrefixPrototype struct { + // The IPv4 range of the cluster network's subnet prefix, expressed in CIDR format. + // + // The CIDR prefix length must be less than `/29` (at least 8 addresses). + // + // If a range is specified that overlaps with address prefixes in the cluster network's VPC, the operating systems of + // any virtual server instances attaching to this cluster network must be [configured to avoid + // conflicts](https://cloud.ibm.com/docs/vpc?topic=vpc-planning-cluster-network#advanced-consideration). + CIDR *string `json:"cidr,omitempty"` +} + +// UnmarshalClusterNetworkSubnetPrefixPrototype unmarshals an instance of ClusterNetworkSubnetPrefixPrototype from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetPrefixPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetPrefixPrototype) + err = core.UnmarshalPrimitive(m, "cidr", &obj.CIDR) + if err != nil { + err = core.SDKErrorf(err, "", "cidr-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetPrototype : ClusterNetworkSubnetPrototype struct +// Models which "extend" this model: +// - ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype +// - ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype +type ClusterNetworkSubnetPrototype struct { + // The IP version(s) to support for this cluster network subnet. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this cluster network subnet. The name must not be used by another cluster network subnet in the cluster + // network. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The total number of IPv4 addresses required. Must be a power of 2. + // + // A CIDR will be allocated from a subnet prefix in the cluster network that has an + // `allocation_policy` of `auto`. There must be a subnet prefix that has a free CIDR range with at least this number of + // addresses. + TotalIpv4AddressCount *int64 `json:"total_ipv4_address_count,omitempty"` + + // The IPv4 range of the cluster network subnet, expressed in CIDR format. The prefix length of the cluster network + // subnet's CIDR must be between `/8` (16,777,216 addresses) and `/29` + // (8 addresses). The IPv4 range of the cluster network subnet's CIDR must be within the cluster network's + // `subnet_prefixes`. + // + // The range must not overlap with any of the following reserved address ranges: + // + // - `127.0.0.0/8` (IPv4 loopback addresses) + // - `169.254.0.0/16` (IPv4 link-local addresses) + // - `224.0.0.0/4` (IPv4 multicast addresses). + Ipv4CIDRBlock *string `json:"ipv4_cidr_block,omitempty"` +} + +// Constants associated with the ClusterNetworkSubnetPrototype.IPVersion property. +// The IP version(s) to support for this cluster network subnet. +const ( + ClusterNetworkSubnetPrototypeIPVersionIpv4Const = "ipv4" +) + +func (*ClusterNetworkSubnetPrototype) isaClusterNetworkSubnetPrototype() bool { + return true +} + +type ClusterNetworkSubnetPrototypeIntf interface { + isaClusterNetworkSubnetPrototype() bool +} + +// UnmarshalClusterNetworkSubnetPrototype unmarshals an instance of ClusterNetworkSubnetPrototype from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetPrototype) + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_ipv4_address_count", &obj.TotalIpv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_ipv4_address_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ipv4_cidr_block", &obj.Ipv4CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "ipv4_cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetReference : ClusterNetworkSubnetReference struct +type ClusterNetworkSubnetReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this cluster network subnet. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network subnet. + ID *string `json:"id" validate:"required"` + + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster + // network. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ClusterNetworkSubnetReference.ResourceType property. +// The resource type. +const ( + ClusterNetworkSubnetReferenceResourceTypeClusterNetworkSubnetConst = "cluster_network_subnet" +) + +// UnmarshalClusterNetworkSubnetReference unmarshals an instance of ClusterNetworkSubnetReference from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetReservedIP : ClusterNetworkSubnetReservedIP struct +type ClusterNetworkSubnetReservedIP struct { + // The IP address. + // + // If the address is pending allocation, the value will be `0.0.0.0`. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` + + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` + // is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // The date and time that the cluster network subnet reserved IP was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this cluster network subnet reserved IP. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network subnet reserved IP. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []ClusterNetworkSubnetReservedIPLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the cluster network subnet reserved IP. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster + // network subnet. + Name *string `json:"name" validate:"required"` + + // The owner of the cluster network subnet reserved IP + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Owner *string `json:"owner" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The target this cluster network subnet reserved IP is bound to. + // + // If absent, this cluster network subnet reserved IP is provider-owned or unbound. + Target ClusterNetworkSubnetReservedIPTargetIntf `json:"target,omitempty"` +} + +// Constants associated with the ClusterNetworkSubnetReservedIP.LifecycleState property. +// The lifecycle state of the cluster network subnet reserved IP. +const ( + ClusterNetworkSubnetReservedIPLifecycleStateDeletingConst = "deleting" + ClusterNetworkSubnetReservedIPLifecycleStateFailedConst = "failed" + ClusterNetworkSubnetReservedIPLifecycleStatePendingConst = "pending" + ClusterNetworkSubnetReservedIPLifecycleStateStableConst = "stable" + ClusterNetworkSubnetReservedIPLifecycleStateSuspendedConst = "suspended" + ClusterNetworkSubnetReservedIPLifecycleStateUpdatingConst = "updating" + ClusterNetworkSubnetReservedIPLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the ClusterNetworkSubnetReservedIP.Owner property. +// The owner of the cluster network subnet reserved IP +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ClusterNetworkSubnetReservedIPOwnerProviderConst = "provider" + ClusterNetworkSubnetReservedIPOwnerUserConst = "user" +) + +// Constants associated with the ClusterNetworkSubnetReservedIP.ResourceType property. +// The resource type. +const ( + ClusterNetworkSubnetReservedIPResourceTypeClusterNetworkSubnetReservedIPConst = "cluster_network_subnet_reserved_ip" +) + +// UnmarshalClusterNetworkSubnetReservedIP unmarshals an instance of ClusterNetworkSubnetReservedIP from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetReservedIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetReservedIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalClusterNetworkSubnetReservedIPLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "owner", &obj.Owner) + if err != nil { + err = core.SDKErrorf(err, "", "owner-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalClusterNetworkSubnetReservedIPTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetReservedIPCollection : ClusterNetworkSubnetReservedIPCollection struct +type ClusterNetworkSubnetReservedIPCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of reserved IPs for the cluster network subnet. + ReservedIps []ClusterNetworkSubnetReservedIP `json:"reserved_ips" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalClusterNetworkSubnetReservedIPCollection unmarshals an instance of ClusterNetworkSubnetReservedIPCollection from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetReservedIPCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetReservedIPCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reserved_ips", &obj.ReservedIps, UnmarshalClusterNetworkSubnetReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "reserved_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ClusterNetworkSubnetReservedIPCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ClusterNetworkSubnetReservedIPLifecycleReason : ClusterNetworkSubnetReservedIPLifecycleReason struct +type ClusterNetworkSubnetReservedIPLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ClusterNetworkSubnetReservedIPLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ClusterNetworkSubnetReservedIPLifecycleReasonCodeInternalErrorConst = "internal_error" + ClusterNetworkSubnetReservedIPLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalClusterNetworkSubnetReservedIPLifecycleReason unmarshals an instance of ClusterNetworkSubnetReservedIPLifecycleReason from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetReservedIPLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetReservedIPLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetReservedIPPatch : ClusterNetworkSubnetReservedIPPatch struct +type ClusterNetworkSubnetReservedIPPatch struct { + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` + // is deleted, or the cluster network subnet reserved IP is unbound. Must be `false` if the cluster network subnet + // reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the + // cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` +} + +// UnmarshalClusterNetworkSubnetReservedIPPatch unmarshals an instance of ClusterNetworkSubnetReservedIPPatch from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetReservedIPPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetReservedIPPatch) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ClusterNetworkSubnetReservedIPPatch +func (clusterNetworkSubnetReservedIPPatch *ClusterNetworkSubnetReservedIPPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(clusterNetworkSubnetReservedIPPatch.AutoDelete) { + _patch["auto_delete"] = clusterNetworkSubnetReservedIPPatch.AutoDelete + } + if !core.IsNil(clusterNetworkSubnetReservedIPPatch.Name) { + _patch["name"] = clusterNetworkSubnetReservedIPPatch.Name + } + + return +} + +// ClusterNetworkSubnetReservedIPReference : ClusterNetworkSubnetReservedIPReference struct +type ClusterNetworkSubnetReservedIPReference struct { + // The IP address. + // + // If the address is pending allocation, the value will be `0.0.0.0`. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this cluster network subnet reserved IP. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network subnet reserved IP. + ID *string `json:"id" validate:"required"` + + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster + // network subnet. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ClusterNetworkSubnetReservedIPReference.ResourceType property. +// The resource type. +const ( + ClusterNetworkSubnetReservedIPReferenceResourceTypeClusterNetworkSubnetReservedIPConst = "cluster_network_subnet_reserved_ip" +) + +// UnmarshalClusterNetworkSubnetReservedIPReference unmarshals an instance of ClusterNetworkSubnetReservedIPReference from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetReservedIPReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetReservedIPReference) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetReservedIPTarget : The target this cluster network subnet reserved IP is bound to. +// +// If absent, this cluster network subnet reserved IP is provider-owned or unbound. +// Models which "extend" this model: +// - ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext +type ClusterNetworkSubnetReservedIPTarget struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this cluster network interface. + Href *string `json:"href,omitempty"` + + // The unique identifier for this cluster network interface. + ID *string `json:"id,omitempty"` + + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the ClusterNetworkSubnetReservedIPTarget.ResourceType property. +// The resource type. +const ( + ClusterNetworkSubnetReservedIPTargetResourceTypeClusterNetworkInterfaceConst = "cluster_network_interface" +) + +func (*ClusterNetworkSubnetReservedIPTarget) isaClusterNetworkSubnetReservedIPTarget() bool { + return true +} + +type ClusterNetworkSubnetReservedIPTargetIntf interface { + isaClusterNetworkSubnetReservedIPTarget() bool +} + +// UnmarshalClusterNetworkSubnetReservedIPTarget unmarshals an instance of ClusterNetworkSubnetReservedIPTarget from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetReservedIPTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetReservedIPTarget) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CreateBackupPolicyOptions : The CreateBackupPolicy options. +type CreateBackupPolicyOptions struct { + // The backup policy prototype object. + BackupPolicyPrototype BackupPolicyPrototypeIntf `json:"BackupPolicyPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateBackupPolicyOptions : Instantiate CreateBackupPolicyOptions +func (*VpcV1) NewCreateBackupPolicyOptions(backupPolicyPrototype BackupPolicyPrototypeIntf) *CreateBackupPolicyOptions { + return &CreateBackupPolicyOptions{ + BackupPolicyPrototype: backupPolicyPrototype, + } +} + +// SetBackupPolicyPrototype : Allow user to set BackupPolicyPrototype +func (_options *CreateBackupPolicyOptions) SetBackupPolicyPrototype(backupPolicyPrototype BackupPolicyPrototypeIntf) *CreateBackupPolicyOptions { + _options.BackupPolicyPrototype = backupPolicyPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateBackupPolicyOptions) SetHeaders(param map[string]string) *CreateBackupPolicyOptions { + options.Headers = param + return options +} + +// CreateBackupPolicyPlanOptions : The CreateBackupPolicyPlan options. +type CreateBackupPolicyPlanOptions struct { + // The backup policy identifier. + BackupPolicyID *string `json:"backup_policy_id" validate:"required,ne="` + + // The cron specification for the backup schedule. The backup policy jobs + // (which create and delete backups for this plan) will not start until this time, and may start for up to 90 minutes + // after this time. + // + // All backup schedules for plans in the same policy must be at least an hour apart. + CronSpec *string `json:"cron_spec" validate:"required"` + + // Indicates whether the plan is active. + Active *bool `json:"active,omitempty"` + + // The user tags to attach to each backup (snapshot) created by this plan. + AttachUserTags []string `json:"attach_user_tags,omitempty"` + + ClonePolicy *BackupPolicyPlanClonePolicyPrototype `json:"clone_policy,omitempty"` + + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags *bool `json:"copy_user_tags,omitempty"` + + DeletionTrigger *BackupPolicyPlanDeletionTriggerPrototype `json:"deletion_trigger,omitempty"` + + // The name for this backup policy plan. The name must not be used by another plan for the backup policy. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The policies for additional backups in remote regions. + RemoteRegionPolicies []BackupPolicyPlanRemoteRegionPolicyPrototype `json:"remote_region_policies,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateBackupPolicyPlanOptions : Instantiate CreateBackupPolicyPlanOptions +func (*VpcV1) NewCreateBackupPolicyPlanOptions(backupPolicyID string, cronSpec string) *CreateBackupPolicyPlanOptions { + return &CreateBackupPolicyPlanOptions{ + BackupPolicyID: core.StringPtr(backupPolicyID), + CronSpec: core.StringPtr(cronSpec), + } +} + +// SetBackupPolicyID : Allow user to set BackupPolicyID +func (_options *CreateBackupPolicyPlanOptions) SetBackupPolicyID(backupPolicyID string) *CreateBackupPolicyPlanOptions { + _options.BackupPolicyID = core.StringPtr(backupPolicyID) + return _options +} + +// SetCronSpec : Allow user to set CronSpec +func (_options *CreateBackupPolicyPlanOptions) SetCronSpec(cronSpec string) *CreateBackupPolicyPlanOptions { + _options.CronSpec = core.StringPtr(cronSpec) + return _options +} + +// SetActive : Allow user to set Active +func (_options *CreateBackupPolicyPlanOptions) SetActive(active bool) *CreateBackupPolicyPlanOptions { + _options.Active = core.BoolPtr(active) + return _options +} + +// SetAttachUserTags : Allow user to set AttachUserTags +func (_options *CreateBackupPolicyPlanOptions) SetAttachUserTags(attachUserTags []string) *CreateBackupPolicyPlanOptions { + _options.AttachUserTags = attachUserTags + return _options +} + +// SetClonePolicy : Allow user to set ClonePolicy +func (_options *CreateBackupPolicyPlanOptions) SetClonePolicy(clonePolicy *BackupPolicyPlanClonePolicyPrototype) *CreateBackupPolicyPlanOptions { + _options.ClonePolicy = clonePolicy + return _options +} + +// SetCopyUserTags : Allow user to set CopyUserTags +func (_options *CreateBackupPolicyPlanOptions) SetCopyUserTags(copyUserTags bool) *CreateBackupPolicyPlanOptions { + _options.CopyUserTags = core.BoolPtr(copyUserTags) + return _options +} + +// SetDeletionTrigger : Allow user to set DeletionTrigger +func (_options *CreateBackupPolicyPlanOptions) SetDeletionTrigger(deletionTrigger *BackupPolicyPlanDeletionTriggerPrototype) *CreateBackupPolicyPlanOptions { + _options.DeletionTrigger = deletionTrigger + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateBackupPolicyPlanOptions) SetName(name string) *CreateBackupPolicyPlanOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetRemoteRegionPolicies : Allow user to set RemoteRegionPolicies +func (_options *CreateBackupPolicyPlanOptions) SetRemoteRegionPolicies(remoteRegionPolicies []BackupPolicyPlanRemoteRegionPolicyPrototype) *CreateBackupPolicyPlanOptions { + _options.RemoteRegionPolicies = remoteRegionPolicies + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateBackupPolicyPlanOptions) SetHeaders(param map[string]string) *CreateBackupPolicyPlanOptions { + options.Headers = param + return options +} + +// CreateBareMetalServerConsoleAccessTokenOptions : The CreateBareMetalServerConsoleAccessToken options. +type CreateBareMetalServerConsoleAccessTokenOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server console type for which this token may be used + // + // Must be `serial` for bare metal servers with a `cpu.architecture` of `s390x`. + ConsoleType *string `json:"console_type" validate:"required"` + + // Indicates whether to disconnect an existing serial console session as the serial console cannot be shared. This has + // no effect on VNC consoles. + Force *bool `json:"force,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateBareMetalServerConsoleAccessTokenOptions.ConsoleType property. +// The bare metal server console type for which this token may be used +// +// Must be `serial` for bare metal servers with a `cpu.architecture` of `s390x`. +const ( + CreateBareMetalServerConsoleAccessTokenOptionsConsoleTypeSerialConst = "serial" + CreateBareMetalServerConsoleAccessTokenOptionsConsoleTypeVncConst = "vnc" +) + +// NewCreateBareMetalServerConsoleAccessTokenOptions : Instantiate CreateBareMetalServerConsoleAccessTokenOptions +func (*VpcV1) NewCreateBareMetalServerConsoleAccessTokenOptions(bareMetalServerID string, consoleType string) *CreateBareMetalServerConsoleAccessTokenOptions { + return &CreateBareMetalServerConsoleAccessTokenOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ConsoleType: core.StringPtr(consoleType), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *CreateBareMetalServerConsoleAccessTokenOptions) SetBareMetalServerID(bareMetalServerID string) *CreateBareMetalServerConsoleAccessTokenOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetConsoleType : Allow user to set ConsoleType +func (_options *CreateBareMetalServerConsoleAccessTokenOptions) SetConsoleType(consoleType string) *CreateBareMetalServerConsoleAccessTokenOptions { + _options.ConsoleType = core.StringPtr(consoleType) + return _options +} + +// SetForce : Allow user to set Force +func (_options *CreateBareMetalServerConsoleAccessTokenOptions) SetForce(force bool) *CreateBareMetalServerConsoleAccessTokenOptions { + _options.Force = core.BoolPtr(force) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateBareMetalServerConsoleAccessTokenOptions) SetHeaders(param map[string]string) *CreateBareMetalServerConsoleAccessTokenOptions { + options.Headers = param + return options +} + +// CreateBareMetalServerNetworkAttachmentOptions : The CreateBareMetalServerNetworkAttachment options. +type CreateBareMetalServerNetworkAttachmentOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network attachment prototype object. + BareMetalServerNetworkAttachmentPrototype BareMetalServerNetworkAttachmentPrototypeIntf `json:"BareMetalServerNetworkAttachmentPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateBareMetalServerNetworkAttachmentOptions : Instantiate CreateBareMetalServerNetworkAttachmentOptions +func (*VpcV1) NewCreateBareMetalServerNetworkAttachmentOptions(bareMetalServerID string, bareMetalServerNetworkAttachmentPrototype BareMetalServerNetworkAttachmentPrototypeIntf) *CreateBareMetalServerNetworkAttachmentOptions { + return &CreateBareMetalServerNetworkAttachmentOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + BareMetalServerNetworkAttachmentPrototype: bareMetalServerNetworkAttachmentPrototype, + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *CreateBareMetalServerNetworkAttachmentOptions) SetBareMetalServerID(bareMetalServerID string) *CreateBareMetalServerNetworkAttachmentOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetBareMetalServerNetworkAttachmentPrototype : Allow user to set BareMetalServerNetworkAttachmentPrototype +func (_options *CreateBareMetalServerNetworkAttachmentOptions) SetBareMetalServerNetworkAttachmentPrototype(bareMetalServerNetworkAttachmentPrototype BareMetalServerNetworkAttachmentPrototypeIntf) *CreateBareMetalServerNetworkAttachmentOptions { + _options.BareMetalServerNetworkAttachmentPrototype = bareMetalServerNetworkAttachmentPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateBareMetalServerNetworkAttachmentOptions) SetHeaders(param map[string]string) *CreateBareMetalServerNetworkAttachmentOptions { + options.Headers = param + return options +} + +// CreateBareMetalServerNetworkInterfaceOptions : The CreateBareMetalServerNetworkInterface options. +type CreateBareMetalServerNetworkInterfaceOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface prototype object. + BareMetalServerNetworkInterfacePrototype BareMetalServerNetworkInterfacePrototypeIntf `json:"BareMetalServerNetworkInterfacePrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateBareMetalServerNetworkInterfaceOptions : Instantiate CreateBareMetalServerNetworkInterfaceOptions +func (*VpcV1) NewCreateBareMetalServerNetworkInterfaceOptions(bareMetalServerID string, bareMetalServerNetworkInterfacePrototype BareMetalServerNetworkInterfacePrototypeIntf) *CreateBareMetalServerNetworkInterfaceOptions { + return &CreateBareMetalServerNetworkInterfaceOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + BareMetalServerNetworkInterfacePrototype: bareMetalServerNetworkInterfacePrototype, + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *CreateBareMetalServerNetworkInterfaceOptions) SetBareMetalServerID(bareMetalServerID string) *CreateBareMetalServerNetworkInterfaceOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetBareMetalServerNetworkInterfacePrototype : Allow user to set BareMetalServerNetworkInterfacePrototype +func (_options *CreateBareMetalServerNetworkInterfaceOptions) SetBareMetalServerNetworkInterfacePrototype(bareMetalServerNetworkInterfacePrototype BareMetalServerNetworkInterfacePrototypeIntf) *CreateBareMetalServerNetworkInterfaceOptions { + _options.BareMetalServerNetworkInterfacePrototype = bareMetalServerNetworkInterfacePrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateBareMetalServerNetworkInterfaceOptions) SetHeaders(param map[string]string) *CreateBareMetalServerNetworkInterfaceOptions { + options.Headers = param + return options +} + +// CreateBareMetalServerOptions : The CreateBareMetalServer options. +type CreateBareMetalServerOptions struct { + // The bare metal server prototype object. + BareMetalServerPrototype BareMetalServerPrototypeIntf `json:"BareMetalServerPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateBareMetalServerOptions : Instantiate CreateBareMetalServerOptions +func (*VpcV1) NewCreateBareMetalServerOptions(bareMetalServerPrototype BareMetalServerPrototypeIntf) *CreateBareMetalServerOptions { + return &CreateBareMetalServerOptions{ + BareMetalServerPrototype: bareMetalServerPrototype, + } +} + +// SetBareMetalServerPrototype : Allow user to set BareMetalServerPrototype +func (_options *CreateBareMetalServerOptions) SetBareMetalServerPrototype(bareMetalServerPrototype BareMetalServerPrototypeIntf) *CreateBareMetalServerOptions { + _options.BareMetalServerPrototype = bareMetalServerPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateBareMetalServerOptions) SetHeaders(param map[string]string) *CreateBareMetalServerOptions { + options.Headers = param + return options +} + +// CreateClusterNetworkAttachmentOptions : The CreateClusterNetworkAttachment options. +type CreateClusterNetworkAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // A cluster network interface for the instance cluster network attachment. This can be + // specified using an existing cluster network interface that does not already have a + // `target`, or a prototype object for a new cluster network interface. + // + // This instance must reside in the same VPC as the specified cluster network interface. The + // cluster network interface must reside in the same cluster network as the + // `cluster_network_interface` of any other `cluster_network_attachments` for this instance. + ClusterNetworkInterface InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceIntf `json:"cluster_network_interface" validate:"required"` + + // The instance cluster network attachment to insert this instance cluster network attachment + // immediately before. + // + // If unspecified, this instance cluster network attachment will be inserted after all + // existing instance cluster network attachments. + Before InstanceClusterNetworkAttachmentBeforePrototypeIntf `json:"before,omitempty"` + + // The name for this cluster network attachment. Names must be unique within the instance the cluster network + // attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting + // with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateClusterNetworkAttachmentOptions : Instantiate CreateClusterNetworkAttachmentOptions +func (*VpcV1) NewCreateClusterNetworkAttachmentOptions(instanceID string, clusterNetworkInterface InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceIntf) *CreateClusterNetworkAttachmentOptions { + return &CreateClusterNetworkAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ClusterNetworkInterface: clusterNetworkInterface, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *CreateClusterNetworkAttachmentOptions) SetInstanceID(instanceID string) *CreateClusterNetworkAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetClusterNetworkInterface : Allow user to set ClusterNetworkInterface +func (_options *CreateClusterNetworkAttachmentOptions) SetClusterNetworkInterface(clusterNetworkInterface InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceIntf) *CreateClusterNetworkAttachmentOptions { + _options.ClusterNetworkInterface = clusterNetworkInterface + return _options +} + +// SetBefore : Allow user to set Before +func (_options *CreateClusterNetworkAttachmentOptions) SetBefore(before InstanceClusterNetworkAttachmentBeforePrototypeIntf) *CreateClusterNetworkAttachmentOptions { + _options.Before = before + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateClusterNetworkAttachmentOptions) SetName(name string) *CreateClusterNetworkAttachmentOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateClusterNetworkAttachmentOptions) SetHeaders(param map[string]string) *CreateClusterNetworkAttachmentOptions { + options.Headers = param + return options +} + +// CreateClusterNetworkInterfaceOptions : The CreateClusterNetworkInterface options. +type CreateClusterNetworkInterfaceOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. + // Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the cluster network interface. May be either + // a cluster network subnet reserved IP identity, or a cluster network subnet reserved IP + // prototype object which will be used to create a new cluster network subnet reserved IP. + // + // If a cluster network subnet reserved IP identity is provided, the specified cluster + // network subnet reserved IP must be unbound. + // + // If a cluster network subnet reserved IP prototype object with an address is provided, + // the address must be available on the cluster network interface's cluster network + // subnet. If no address is specified, an available address on the cluster network subnet + // will be automatically selected and reserved. + PrimaryIP ClusterNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The associated cluster network subnet. Required if `primary_ip` does not specify a cluster + // network subnet reserved IP identity. + Subnet ClusterNetworkSubnetIdentityIntf `json:"subnet,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateClusterNetworkInterfaceOptions : Instantiate CreateClusterNetworkInterfaceOptions +func (*VpcV1) NewCreateClusterNetworkInterfaceOptions(clusterNetworkID string) *CreateClusterNetworkInterfaceOptions { + return &CreateClusterNetworkInterfaceOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *CreateClusterNetworkInterfaceOptions) SetClusterNetworkID(clusterNetworkID string) *CreateClusterNetworkInterfaceOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateClusterNetworkInterfaceOptions) SetName(name string) *CreateClusterNetworkInterfaceOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetPrimaryIP : Allow user to set PrimaryIP +func (_options *CreateClusterNetworkInterfaceOptions) SetPrimaryIP(primaryIP ClusterNetworkInterfacePrimaryIPPrototypeIntf) *CreateClusterNetworkInterfaceOptions { + _options.PrimaryIP = primaryIP + return _options +} + +// SetSubnet : Allow user to set Subnet +func (_options *CreateClusterNetworkInterfaceOptions) SetSubnet(subnet ClusterNetworkSubnetIdentityIntf) *CreateClusterNetworkInterfaceOptions { + _options.Subnet = subnet + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateClusterNetworkInterfaceOptions) SetHeaders(param map[string]string) *CreateClusterNetworkInterfaceOptions { + options.Headers = param + return options +} + +// CreateClusterNetworkOptions : The CreateClusterNetwork options. +type CreateClusterNetworkOptions struct { + // The profile to use for this cluster network. + Profile ClusterNetworkProfileIdentityIntf `json:"profile" validate:"required"` + + // The VPC this cluster network will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The zone this cluster network will reside in. The zone must be listed + // as supported on the specified cluster network profile. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The name for this cluster network. The name must not be used by another cluster network in the region. Names + // starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + SubnetPrefixes []ClusterNetworkSubnetPrefixPrototype `json:"subnet_prefixes,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateClusterNetworkOptions : Instantiate CreateClusterNetworkOptions +func (*VpcV1) NewCreateClusterNetworkOptions(profile ClusterNetworkProfileIdentityIntf, vpc VPCIdentityIntf, zone ZoneIdentityIntf) *CreateClusterNetworkOptions { + return &CreateClusterNetworkOptions{ + Profile: profile, + VPC: vpc, + Zone: zone, + } +} + +// SetProfile : Allow user to set Profile +func (_options *CreateClusterNetworkOptions) SetProfile(profile ClusterNetworkProfileIdentityIntf) *CreateClusterNetworkOptions { + _options.Profile = profile + return _options +} + +// SetVPC : Allow user to set VPC +func (_options *CreateClusterNetworkOptions) SetVPC(vpc VPCIdentityIntf) *CreateClusterNetworkOptions { + _options.VPC = vpc + return _options +} + +// SetZone : Allow user to set Zone +func (_options *CreateClusterNetworkOptions) SetZone(zone ZoneIdentityIntf) *CreateClusterNetworkOptions { + _options.Zone = zone + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateClusterNetworkOptions) SetName(name string) *CreateClusterNetworkOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateClusterNetworkOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateClusterNetworkOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetSubnetPrefixes : Allow user to set SubnetPrefixes +func (_options *CreateClusterNetworkOptions) SetSubnetPrefixes(subnetPrefixes []ClusterNetworkSubnetPrefixPrototype) *CreateClusterNetworkOptions { + _options.SubnetPrefixes = subnetPrefixes + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateClusterNetworkOptions) SetHeaders(param map[string]string) *CreateClusterNetworkOptions { + options.Headers = param + return options +} + +// CreateClusterNetworkSubnetOptions : The CreateClusterNetworkSubnet options. +type CreateClusterNetworkSubnetOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet prototype object. + ClusterNetworkSubnetPrototype ClusterNetworkSubnetPrototypeIntf `json:"ClusterNetworkSubnetPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateClusterNetworkSubnetOptions : Instantiate CreateClusterNetworkSubnetOptions +func (*VpcV1) NewCreateClusterNetworkSubnetOptions(clusterNetworkID string, clusterNetworkSubnetPrototype ClusterNetworkSubnetPrototypeIntf) *CreateClusterNetworkSubnetOptions { + return &CreateClusterNetworkSubnetOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ClusterNetworkSubnetPrototype: clusterNetworkSubnetPrototype, + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *CreateClusterNetworkSubnetOptions) SetClusterNetworkID(clusterNetworkID string) *CreateClusterNetworkSubnetOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetClusterNetworkSubnetPrototype : Allow user to set ClusterNetworkSubnetPrototype +func (_options *CreateClusterNetworkSubnetOptions) SetClusterNetworkSubnetPrototype(clusterNetworkSubnetPrototype ClusterNetworkSubnetPrototypeIntf) *CreateClusterNetworkSubnetOptions { + _options.ClusterNetworkSubnetPrototype = clusterNetworkSubnetPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateClusterNetworkSubnetOptions) SetHeaders(param map[string]string) *CreateClusterNetworkSubnetOptions { + options.Headers = param + return options +} + +// CreateClusterNetworkSubnetReservedIPOptions : The CreateClusterNetworkSubnetReservedIP options. +type CreateClusterNetworkSubnetReservedIPOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet identifier. + ClusterNetworkSubnetID *string `json:"cluster_network_subnet_id" validate:"required,ne="` + + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the + // cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + // If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateClusterNetworkSubnetReservedIPOptions : Instantiate CreateClusterNetworkSubnetReservedIPOptions +func (*VpcV1) NewCreateClusterNetworkSubnetReservedIPOptions(clusterNetworkID string, clusterNetworkSubnetID string) *CreateClusterNetworkSubnetReservedIPOptions { + return &CreateClusterNetworkSubnetReservedIPOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ClusterNetworkSubnetID: core.StringPtr(clusterNetworkSubnetID), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *CreateClusterNetworkSubnetReservedIPOptions) SetClusterNetworkID(clusterNetworkID string) *CreateClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetClusterNetworkSubnetID : Allow user to set ClusterNetworkSubnetID +func (_options *CreateClusterNetworkSubnetReservedIPOptions) SetClusterNetworkSubnetID(clusterNetworkSubnetID string) *CreateClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkSubnetID = core.StringPtr(clusterNetworkSubnetID) + return _options +} + +// SetAddress : Allow user to set Address +func (_options *CreateClusterNetworkSubnetReservedIPOptions) SetAddress(address string) *CreateClusterNetworkSubnetReservedIPOptions { + _options.Address = core.StringPtr(address) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateClusterNetworkSubnetReservedIPOptions) SetName(name string) *CreateClusterNetworkSubnetReservedIPOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateClusterNetworkSubnetReservedIPOptions) SetHeaders(param map[string]string) *CreateClusterNetworkSubnetReservedIPOptions { + options.Headers = param + return options +} + +// CreateDedicatedHostGroupOptions : The CreateDedicatedHostGroup options. +type CreateDedicatedHostGroupOptions struct { + // The dedicated host profile class for hosts in this group. + Class *string `json:"class" validate:"required"` + + // The dedicated host profile family for hosts in this group. + Family *string `json:"family" validate:"required"` + + // The zone this dedicated host group will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The name for this dedicated host group. The name must not be used by another dedicated host group in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateDedicatedHostGroupOptions.Family property. +// The dedicated host profile family for hosts in this group. +const ( + CreateDedicatedHostGroupOptionsFamilyBalancedConst = "balanced" + CreateDedicatedHostGroupOptionsFamilyComputeConst = "compute" + CreateDedicatedHostGroupOptionsFamilyMemoryConst = "memory" +) + +// NewCreateDedicatedHostGroupOptions : Instantiate CreateDedicatedHostGroupOptions +func (*VpcV1) NewCreateDedicatedHostGroupOptions(class string, family string, zone ZoneIdentityIntf) *CreateDedicatedHostGroupOptions { + return &CreateDedicatedHostGroupOptions{ + Class: core.StringPtr(class), + Family: core.StringPtr(family), + Zone: zone, + } +} + +// SetClass : Allow user to set Class +func (_options *CreateDedicatedHostGroupOptions) SetClass(class string) *CreateDedicatedHostGroupOptions { + _options.Class = core.StringPtr(class) + return _options +} + +// SetFamily : Allow user to set Family +func (_options *CreateDedicatedHostGroupOptions) SetFamily(family string) *CreateDedicatedHostGroupOptions { + _options.Family = core.StringPtr(family) + return _options +} + +// SetZone : Allow user to set Zone +func (_options *CreateDedicatedHostGroupOptions) SetZone(zone ZoneIdentityIntf) *CreateDedicatedHostGroupOptions { + _options.Zone = zone + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateDedicatedHostGroupOptions) SetName(name string) *CreateDedicatedHostGroupOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateDedicatedHostGroupOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateDedicatedHostGroupOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateDedicatedHostGroupOptions) SetHeaders(param map[string]string) *CreateDedicatedHostGroupOptions { + options.Headers = param + return options +} + +// CreateDedicatedHostOptions : The CreateDedicatedHost options. +type CreateDedicatedHostOptions struct { + // The dedicated host prototype object. + DedicatedHostPrototype DedicatedHostPrototypeIntf `json:"DedicatedHostPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateDedicatedHostOptions : Instantiate CreateDedicatedHostOptions +func (*VpcV1) NewCreateDedicatedHostOptions(dedicatedHostPrototype DedicatedHostPrototypeIntf) *CreateDedicatedHostOptions { + return &CreateDedicatedHostOptions{ + DedicatedHostPrototype: dedicatedHostPrototype, + } +} + +// SetDedicatedHostPrototype : Allow user to set DedicatedHostPrototype +func (_options *CreateDedicatedHostOptions) SetDedicatedHostPrototype(dedicatedHostPrototype DedicatedHostPrototypeIntf) *CreateDedicatedHostOptions { + _options.DedicatedHostPrototype = dedicatedHostPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateDedicatedHostOptions) SetHeaders(param map[string]string) *CreateDedicatedHostOptions { + options.Headers = param + return options +} + +// CreateEndpointGatewayOptions : The CreateEndpointGateway options. +type CreateEndpointGatewayOptions struct { + // The target to use for this endpoint gateway. The target: + // - Must not already be the target of another endpoint gateway in the VPC + // - Must not have a service endpoint that overlaps with any `service_endpoints` of + // another endpoint gateway in the VPC. + // + // If `allow_dns_resolution_binding` is `true`, then there must not be another endpoint + // gateway with `allow_dns_resolution_binding` set to `true` in the [DNS + // sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected topology that: + // - Has the same `target` as this endpoint gateway + // - Has `service_endpoints` that overlap with the `service_endpoints` for this endpoint + // gateway. + Target EndpointGatewayTargetPrototypeIntf `json:"target" validate:"required"` + + // The VPC this endpoint gateway will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // Indicates whether to allow DNS resolution for this endpoint gateway when the VPC this endpoint gateway resides in + // has a DNS resolution binding to a VPC with `dns.enable_hub` set to `true`. + // + // If `true`, then there must not be another endpoint gateway with + // `allow_dns_resolution_binding` set to `true` in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected + // topology that: + // - Has the same `target` as this endpoint gateway + // - Has `service_endpoints` that overlap with the `service_endpoints` for this endpoint + // gateway. + // + // Must be `true` if the VPC this endpoint gateway resides in has `dns.enable_hub` set to + // `true`. + AllowDnsResolutionBinding *bool `json:"allow_dns_resolution_binding,omitempty"` + + // The reserved IPs to bind to this endpoint gateway. At most one reserved IP per zone is allowed. + Ips []EndpointGatewayReservedIPIntf `json:"ips,omitempty"` + + // The name for this endpoint gateway. The name must not be used by another endpoint gateway in the VPC. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this endpoint gateway. If unspecified, the VPC's default security group is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateEndpointGatewayOptions : Instantiate CreateEndpointGatewayOptions +func (*VpcV1) NewCreateEndpointGatewayOptions(target EndpointGatewayTargetPrototypeIntf, vpc VPCIdentityIntf) *CreateEndpointGatewayOptions { + return &CreateEndpointGatewayOptions{ + Target: target, + VPC: vpc, + } +} + +// SetTarget : Allow user to set Target +func (_options *CreateEndpointGatewayOptions) SetTarget(target EndpointGatewayTargetPrototypeIntf) *CreateEndpointGatewayOptions { + _options.Target = target + return _options +} + +// SetVPC : Allow user to set VPC +func (_options *CreateEndpointGatewayOptions) SetVPC(vpc VPCIdentityIntf) *CreateEndpointGatewayOptions { + _options.VPC = vpc + return _options +} + +// SetAllowDnsResolutionBinding : Allow user to set AllowDnsResolutionBinding +func (_options *CreateEndpointGatewayOptions) SetAllowDnsResolutionBinding(allowDnsResolutionBinding bool) *CreateEndpointGatewayOptions { + _options.AllowDnsResolutionBinding = core.BoolPtr(allowDnsResolutionBinding) + return _options +} + +// SetIps : Allow user to set Ips +func (_options *CreateEndpointGatewayOptions) SetIps(ips []EndpointGatewayReservedIPIntf) *CreateEndpointGatewayOptions { + _options.Ips = ips + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateEndpointGatewayOptions) SetName(name string) *CreateEndpointGatewayOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateEndpointGatewayOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateEndpointGatewayOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetSecurityGroups : Allow user to set SecurityGroups +func (_options *CreateEndpointGatewayOptions) SetSecurityGroups(securityGroups []SecurityGroupIdentityIntf) *CreateEndpointGatewayOptions { + _options.SecurityGroups = securityGroups + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateEndpointGatewayOptions) SetHeaders(param map[string]string) *CreateEndpointGatewayOptions { + options.Headers = param + return options +} + +// CreateFloatingIPOptions : The CreateFloatingIP options. +type CreateFloatingIPOptions struct { + // The floating IP prototype object. + FloatingIPPrototype FloatingIPPrototypeIntf `json:"FloatingIPPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateFloatingIPOptions : Instantiate CreateFloatingIPOptions +func (*VpcV1) NewCreateFloatingIPOptions(floatingIPPrototype FloatingIPPrototypeIntf) *CreateFloatingIPOptions { + return &CreateFloatingIPOptions{ + FloatingIPPrototype: floatingIPPrototype, + } +} + +// SetFloatingIPPrototype : Allow user to set FloatingIPPrototype +func (_options *CreateFloatingIPOptions) SetFloatingIPPrototype(floatingIPPrototype FloatingIPPrototypeIntf) *CreateFloatingIPOptions { + _options.FloatingIPPrototype = floatingIPPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateFloatingIPOptions) SetHeaders(param map[string]string) *CreateFloatingIPOptions { + options.Headers = param + return options +} + +// CreateFlowLogCollectorOptions : The CreateFlowLogCollector options. +type CreateFlowLogCollectorOptions struct { + // The Cloud Object Storage bucket where the collected flows will be logged. + // The bucket must exist and an IAM service authorization must grant + // `IBM Cloud Flow Logs` resources of `VPC Infrastructure Services` writer + // access to the bucket. For more information, see [Creating a flow log + // collector](https://cloud.ibm.com/docs/vpc?topic=vpc-ordering-flow-log-collector). + StorageBucket LegacyCloudObjectStorageBucketIdentityIntf `json:"storage_bucket" validate:"required"` + + // The target this collector will collect flow logs for. + // + // If the target is an instance, subnet, or VPC, flow logs will not be collected for any + // instance network attachments, virtual network interfaces or instance network interfaces + // within the target that are themselves the target of a more specific flow log collector. + // + // The target must not be a virtual network interface that is attached to a bare metal server + // network attachment or to a file share mount target. + Target FlowLogCollectorTargetPrototypeIntf `json:"target" validate:"required"` + + // Indicates whether this collector will be active upon creation. + Active *bool `json:"active,omitempty"` + + // The name for this flow log collector. The name must not be used by another flow log collector in the VPC. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateFlowLogCollectorOptions : Instantiate CreateFlowLogCollectorOptions +func (*VpcV1) NewCreateFlowLogCollectorOptions(storageBucket LegacyCloudObjectStorageBucketIdentityIntf, target FlowLogCollectorTargetPrototypeIntf) *CreateFlowLogCollectorOptions { + return &CreateFlowLogCollectorOptions{ + StorageBucket: storageBucket, + Target: target, + } +} + +// SetStorageBucket : Allow user to set StorageBucket +func (_options *CreateFlowLogCollectorOptions) SetStorageBucket(storageBucket LegacyCloudObjectStorageBucketIdentityIntf) *CreateFlowLogCollectorOptions { + _options.StorageBucket = storageBucket + return _options +} + +// SetTarget : Allow user to set Target +func (_options *CreateFlowLogCollectorOptions) SetTarget(target FlowLogCollectorTargetPrototypeIntf) *CreateFlowLogCollectorOptions { + _options.Target = target + return _options +} + +// SetActive : Allow user to set Active +func (_options *CreateFlowLogCollectorOptions) SetActive(active bool) *CreateFlowLogCollectorOptions { + _options.Active = core.BoolPtr(active) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateFlowLogCollectorOptions) SetName(name string) *CreateFlowLogCollectorOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateFlowLogCollectorOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateFlowLogCollectorOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateFlowLogCollectorOptions) SetHeaders(param map[string]string) *CreateFlowLogCollectorOptions { + options.Headers = param + return options +} + +// CreateIkePolicyOptions : The CreateIkePolicy options. +type CreateIkePolicyOptions struct { + // The authentication algorithm. + AuthenticationAlgorithm *string `json:"authentication_algorithm" validate:"required"` + + // The Diffie-Hellman group. + DhGroup *int64 `json:"dh_group" validate:"required"` + + // The encryption algorithm. + EncryptionAlgorithm *string `json:"encryption_algorithm" validate:"required"` + + // The IKE protocol version. + IkeVersion *int64 `json:"ike_version" validate:"required"` + + // The key lifetime in seconds. + KeyLifetime *int64 `json:"key_lifetime,omitempty"` + + // The name for this IKE policy. The name must not be used by another IKE policies in the region. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateIkePolicyOptions.AuthenticationAlgorithm property. +// The authentication algorithm. +const ( + CreateIkePolicyOptionsAuthenticationAlgorithmSha256Const = "sha256" + CreateIkePolicyOptionsAuthenticationAlgorithmSha384Const = "sha384" + CreateIkePolicyOptionsAuthenticationAlgorithmSha512Const = "sha512" +) + +// Constants associated with the CreateIkePolicyOptions.EncryptionAlgorithm property. +// The encryption algorithm. +const ( + CreateIkePolicyOptionsEncryptionAlgorithmAes128Const = "aes128" + CreateIkePolicyOptionsEncryptionAlgorithmAes192Const = "aes192" + CreateIkePolicyOptionsEncryptionAlgorithmAes256Const = "aes256" +) + +// NewCreateIkePolicyOptions : Instantiate CreateIkePolicyOptions +func (*VpcV1) NewCreateIkePolicyOptions(authenticationAlgorithm string, dhGroup int64, encryptionAlgorithm string, ikeVersion int64) *CreateIkePolicyOptions { + return &CreateIkePolicyOptions{ + AuthenticationAlgorithm: core.StringPtr(authenticationAlgorithm), + DhGroup: core.Int64Ptr(dhGroup), + EncryptionAlgorithm: core.StringPtr(encryptionAlgorithm), + IkeVersion: core.Int64Ptr(ikeVersion), + } +} + +// SetAuthenticationAlgorithm : Allow user to set AuthenticationAlgorithm +func (_options *CreateIkePolicyOptions) SetAuthenticationAlgorithm(authenticationAlgorithm string) *CreateIkePolicyOptions { + _options.AuthenticationAlgorithm = core.StringPtr(authenticationAlgorithm) + return _options +} + +// SetDhGroup : Allow user to set DhGroup +func (_options *CreateIkePolicyOptions) SetDhGroup(dhGroup int64) *CreateIkePolicyOptions { + _options.DhGroup = core.Int64Ptr(dhGroup) + return _options +} + +// SetEncryptionAlgorithm : Allow user to set EncryptionAlgorithm +func (_options *CreateIkePolicyOptions) SetEncryptionAlgorithm(encryptionAlgorithm string) *CreateIkePolicyOptions { + _options.EncryptionAlgorithm = core.StringPtr(encryptionAlgorithm) + return _options +} + +// SetIkeVersion : Allow user to set IkeVersion +func (_options *CreateIkePolicyOptions) SetIkeVersion(ikeVersion int64) *CreateIkePolicyOptions { + _options.IkeVersion = core.Int64Ptr(ikeVersion) + return _options +} + +// SetKeyLifetime : Allow user to set KeyLifetime +func (_options *CreateIkePolicyOptions) SetKeyLifetime(keyLifetime int64) *CreateIkePolicyOptions { + _options.KeyLifetime = core.Int64Ptr(keyLifetime) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateIkePolicyOptions) SetName(name string) *CreateIkePolicyOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateIkePolicyOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateIkePolicyOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateIkePolicyOptions) SetHeaders(param map[string]string) *CreateIkePolicyOptions { + options.Headers = param + return options +} + +// CreateImageExportJobOptions : The CreateImageExportJob options. +type CreateImageExportJobOptions struct { + // The image identifier. + ImageID *string `json:"image_id" validate:"required,ne="` + + // The Cloud Object Storage bucket to export the image to. The bucket must exist and an IAM + // service authorization must grant `Image Service for VPC` of + // `VPC Infrastructure Services` writer access to the bucket. + StorageBucket CloudObjectStorageBucketIdentityIntf `json:"storage_bucket" validate:"required"` + + // The format to use for the exported image. If the image is encrypted, only `qcow2` is supported. + Format *string `json:"format,omitempty"` + + // The name for this image export job. The name must not be used by another export job for the image. If unspecified, + // the name will be a hyphenated list of randomly-selected words prefixed with the first 16 characters of the parent + // image name. + // + // The exported image object name in Cloud Object Storage (`storage_object.name` in the response) will be based on this + // name. The object name will be unique within the bucket. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateImageExportJobOptions.Format property. +// The format to use for the exported image. If the image is encrypted, only `qcow2` is supported. +const ( + CreateImageExportJobOptionsFormatQcow2Const = "qcow2" + CreateImageExportJobOptionsFormatVhdConst = "vhd" +) + +// NewCreateImageExportJobOptions : Instantiate CreateImageExportJobOptions +func (*VpcV1) NewCreateImageExportJobOptions(imageID string, storageBucket CloudObjectStorageBucketIdentityIntf) *CreateImageExportJobOptions { + return &CreateImageExportJobOptions{ + ImageID: core.StringPtr(imageID), + StorageBucket: storageBucket, + } +} + +// SetImageID : Allow user to set ImageID +func (_options *CreateImageExportJobOptions) SetImageID(imageID string) *CreateImageExportJobOptions { + _options.ImageID = core.StringPtr(imageID) + return _options +} + +// SetStorageBucket : Allow user to set StorageBucket +func (_options *CreateImageExportJobOptions) SetStorageBucket(storageBucket CloudObjectStorageBucketIdentityIntf) *CreateImageExportJobOptions { + _options.StorageBucket = storageBucket + return _options +} + +// SetFormat : Allow user to set Format +func (_options *CreateImageExportJobOptions) SetFormat(format string) *CreateImageExportJobOptions { + _options.Format = core.StringPtr(format) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateImageExportJobOptions) SetName(name string) *CreateImageExportJobOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateImageExportJobOptions) SetHeaders(param map[string]string) *CreateImageExportJobOptions { + options.Headers = param + return options +} + +// CreateImageOptions : The CreateImage options. +type CreateImageOptions struct { + // The image prototype object. + ImagePrototype ImagePrototypeIntf `json:"ImagePrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateImageOptions : Instantiate CreateImageOptions +func (*VpcV1) NewCreateImageOptions(imagePrototype ImagePrototypeIntf) *CreateImageOptions { + return &CreateImageOptions{ + ImagePrototype: imagePrototype, + } +} + +// SetImagePrototype : Allow user to set ImagePrototype +func (_options *CreateImageOptions) SetImagePrototype(imagePrototype ImagePrototypeIntf) *CreateImageOptions { + _options.ImagePrototype = imagePrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateImageOptions) SetHeaders(param map[string]string) *CreateImageOptions { + options.Headers = param + return options +} + +// CreateInstanceActionOptions : The CreateInstanceAction options. +type CreateInstanceActionOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The type of action. + Type *string `json:"type" validate:"required"` + + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + Force *bool `json:"force,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateInstanceActionOptions.Type property. +// The type of action. +const ( + CreateInstanceActionOptionsTypeRebootConst = "reboot" + CreateInstanceActionOptionsTypeStartConst = "start" + CreateInstanceActionOptionsTypeStopConst = "stop" +) + +// NewCreateInstanceActionOptions : Instantiate CreateInstanceActionOptions +func (*VpcV1) NewCreateInstanceActionOptions(instanceID string, typeVar string) *CreateInstanceActionOptions { + return &CreateInstanceActionOptions{ + InstanceID: core.StringPtr(instanceID), + Type: core.StringPtr(typeVar), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *CreateInstanceActionOptions) SetInstanceID(instanceID string) *CreateInstanceActionOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetType : Allow user to set Type +func (_options *CreateInstanceActionOptions) SetType(typeVar string) *CreateInstanceActionOptions { + _options.Type = core.StringPtr(typeVar) + return _options +} + +// SetForce : Allow user to set Force +func (_options *CreateInstanceActionOptions) SetForce(force bool) *CreateInstanceActionOptions { + _options.Force = core.BoolPtr(force) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceActionOptions) SetHeaders(param map[string]string) *CreateInstanceActionOptions { + options.Headers = param + return options +} + +// CreateInstanceConsoleAccessTokenOptions : The CreateInstanceConsoleAccessToken options. +type CreateInstanceConsoleAccessTokenOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance console type for which this token may be used. + ConsoleType *string `json:"console_type" validate:"required"` + + // Indicates whether to disconnect an existing serial console session as the serial console cannot be shared. This has + // no effect on VNC consoles. + Force *bool `json:"force,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateInstanceConsoleAccessTokenOptions.ConsoleType property. +// The instance console type for which this token may be used. +const ( + CreateInstanceConsoleAccessTokenOptionsConsoleTypeSerialConst = "serial" + CreateInstanceConsoleAccessTokenOptionsConsoleTypeVncConst = "vnc" +) + +// NewCreateInstanceConsoleAccessTokenOptions : Instantiate CreateInstanceConsoleAccessTokenOptions +func (*VpcV1) NewCreateInstanceConsoleAccessTokenOptions(instanceID string, consoleType string) *CreateInstanceConsoleAccessTokenOptions { + return &CreateInstanceConsoleAccessTokenOptions{ + InstanceID: core.StringPtr(instanceID), + ConsoleType: core.StringPtr(consoleType), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *CreateInstanceConsoleAccessTokenOptions) SetInstanceID(instanceID string) *CreateInstanceConsoleAccessTokenOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetConsoleType : Allow user to set ConsoleType +func (_options *CreateInstanceConsoleAccessTokenOptions) SetConsoleType(consoleType string) *CreateInstanceConsoleAccessTokenOptions { + _options.ConsoleType = core.StringPtr(consoleType) + return _options +} + +// SetForce : Allow user to set Force +func (_options *CreateInstanceConsoleAccessTokenOptions) SetForce(force bool) *CreateInstanceConsoleAccessTokenOptions { + _options.Force = core.BoolPtr(force) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceConsoleAccessTokenOptions) SetHeaders(param map[string]string) *CreateInstanceConsoleAccessTokenOptions { + options.Headers = param + return options +} + +// CreateInstanceGroupManagerActionOptions : The CreateInstanceGroupManagerAction options. +type CreateInstanceGroupManagerActionOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // The instance group manager action prototype object. + InstanceGroupManagerActionPrototype InstanceGroupManagerActionPrototypeIntf `json:"InstanceGroupManagerActionPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceGroupManagerActionOptions : Instantiate CreateInstanceGroupManagerActionOptions +func (*VpcV1) NewCreateInstanceGroupManagerActionOptions(instanceGroupID string, instanceGroupManagerID string, instanceGroupManagerActionPrototype InstanceGroupManagerActionPrototypeIntf) *CreateInstanceGroupManagerActionOptions { + return &CreateInstanceGroupManagerActionOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + InstanceGroupManagerActionPrototype: instanceGroupManagerActionPrototype, + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *CreateInstanceGroupManagerActionOptions) SetInstanceGroupID(instanceGroupID string) *CreateInstanceGroupManagerActionOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *CreateInstanceGroupManagerActionOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *CreateInstanceGroupManagerActionOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetInstanceGroupManagerActionPrototype : Allow user to set InstanceGroupManagerActionPrototype +func (_options *CreateInstanceGroupManagerActionOptions) SetInstanceGroupManagerActionPrototype(instanceGroupManagerActionPrototype InstanceGroupManagerActionPrototypeIntf) *CreateInstanceGroupManagerActionOptions { + _options.InstanceGroupManagerActionPrototype = instanceGroupManagerActionPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceGroupManagerActionOptions) SetHeaders(param map[string]string) *CreateInstanceGroupManagerActionOptions { + options.Headers = param + return options +} + +// CreateInstanceGroupManagerOptions : The CreateInstanceGroupManager options. +type CreateInstanceGroupManagerOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager prototype object. + InstanceGroupManagerPrototype InstanceGroupManagerPrototypeIntf `json:"InstanceGroupManagerPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceGroupManagerOptions : Instantiate CreateInstanceGroupManagerOptions +func (*VpcV1) NewCreateInstanceGroupManagerOptions(instanceGroupID string, instanceGroupManagerPrototype InstanceGroupManagerPrototypeIntf) *CreateInstanceGroupManagerOptions { + return &CreateInstanceGroupManagerOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerPrototype: instanceGroupManagerPrototype, + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *CreateInstanceGroupManagerOptions) SetInstanceGroupID(instanceGroupID string) *CreateInstanceGroupManagerOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerPrototype : Allow user to set InstanceGroupManagerPrototype +func (_options *CreateInstanceGroupManagerOptions) SetInstanceGroupManagerPrototype(instanceGroupManagerPrototype InstanceGroupManagerPrototypeIntf) *CreateInstanceGroupManagerOptions { + _options.InstanceGroupManagerPrototype = instanceGroupManagerPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceGroupManagerOptions) SetHeaders(param map[string]string) *CreateInstanceGroupManagerOptions { + options.Headers = param + return options +} + +// CreateInstanceGroupManagerPolicyOptions : The CreateInstanceGroupManagerPolicy options. +type CreateInstanceGroupManagerPolicyOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // The instance group manager policy prototype object. + InstanceGroupManagerPolicyPrototype InstanceGroupManagerPolicyPrototypeIntf `json:"InstanceGroupManagerPolicyPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceGroupManagerPolicyOptions : Instantiate CreateInstanceGroupManagerPolicyOptions +func (*VpcV1) NewCreateInstanceGroupManagerPolicyOptions(instanceGroupID string, instanceGroupManagerID string, instanceGroupManagerPolicyPrototype InstanceGroupManagerPolicyPrototypeIntf) *CreateInstanceGroupManagerPolicyOptions { + return &CreateInstanceGroupManagerPolicyOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + InstanceGroupManagerPolicyPrototype: instanceGroupManagerPolicyPrototype, + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *CreateInstanceGroupManagerPolicyOptions) SetInstanceGroupID(instanceGroupID string) *CreateInstanceGroupManagerPolicyOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *CreateInstanceGroupManagerPolicyOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *CreateInstanceGroupManagerPolicyOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetInstanceGroupManagerPolicyPrototype : Allow user to set InstanceGroupManagerPolicyPrototype +func (_options *CreateInstanceGroupManagerPolicyOptions) SetInstanceGroupManagerPolicyPrototype(instanceGroupManagerPolicyPrototype InstanceGroupManagerPolicyPrototypeIntf) *CreateInstanceGroupManagerPolicyOptions { + _options.InstanceGroupManagerPolicyPrototype = instanceGroupManagerPolicyPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceGroupManagerPolicyOptions) SetHeaders(param map[string]string) *CreateInstanceGroupManagerPolicyOptions { + options.Headers = param + return options +} + +// CreateInstanceGroupOptions : The CreateInstanceGroup options. +type CreateInstanceGroupOptions struct { + // The instance template to use when creating new instances. + // + // The specified template must not have `default_trusted_profile.auto_link` set to `true`. + InstanceTemplate InstanceTemplateIdentityIntf `json:"instance_template" validate:"required"` + + // The subnets to use when creating new instances. + Subnets []SubnetIdentityIntf `json:"subnets" validate:"required"` + + // The port to use for new load balancer pool members created by this instance group. The load balancer pool member + // will receive load balancer traffic on this port, unless the load balancer listener is using a port range. (Traffic + // received on a listener using a port range will be sent to members using the same port the listener received it on.) + // + // This port will also be used for health checks unless the port property of + // `health_monitor` property is specified. + // + // This property must be specified if and only if `load_balancer_pool` has been specified. + ApplicationPort *int64 `json:"application_port,omitempty"` + + // The load balancer associated with the specified load balancer pool. + // Required if `load_balancer_pool` is specified. The load balancer must have + // `instance_groups_supported` set to `true`. + LoadBalancer LoadBalancerIdentityIntf `json:"load_balancer,omitempty"` + + // If specified, this instance group will manage the load balancer pool. A pool member + // will be created for each instance created by this group. The specified load + // balancer pool must not be used by another instance group in the VPC. + // + // If specified, `load_balancer` and `application_port` must also be specified. + LoadBalancerPool LoadBalancerPoolIdentityIntf `json:"load_balancer_pool,omitempty"` + + // The number of instances in the instance group. + MembershipCount *int64 `json:"membership_count,omitempty"` + + // The name for this instance group. The name must not be used by another instance group in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceGroupOptions : Instantiate CreateInstanceGroupOptions +func (*VpcV1) NewCreateInstanceGroupOptions(instanceTemplate InstanceTemplateIdentityIntf, subnets []SubnetIdentityIntf) *CreateInstanceGroupOptions { + return &CreateInstanceGroupOptions{ + InstanceTemplate: instanceTemplate, + Subnets: subnets, + } +} + +// SetInstanceTemplate : Allow user to set InstanceTemplate +func (_options *CreateInstanceGroupOptions) SetInstanceTemplate(instanceTemplate InstanceTemplateIdentityIntf) *CreateInstanceGroupOptions { + _options.InstanceTemplate = instanceTemplate + return _options +} + +// SetSubnets : Allow user to set Subnets +func (_options *CreateInstanceGroupOptions) SetSubnets(subnets []SubnetIdentityIntf) *CreateInstanceGroupOptions { + _options.Subnets = subnets + return _options +} + +// SetApplicationPort : Allow user to set ApplicationPort +func (_options *CreateInstanceGroupOptions) SetApplicationPort(applicationPort int64) *CreateInstanceGroupOptions { + _options.ApplicationPort = core.Int64Ptr(applicationPort) + return _options +} + +// SetLoadBalancer : Allow user to set LoadBalancer +func (_options *CreateInstanceGroupOptions) SetLoadBalancer(loadBalancer LoadBalancerIdentityIntf) *CreateInstanceGroupOptions { + _options.LoadBalancer = loadBalancer + return _options +} + +// SetLoadBalancerPool : Allow user to set LoadBalancerPool +func (_options *CreateInstanceGroupOptions) SetLoadBalancerPool(loadBalancerPool LoadBalancerPoolIdentityIntf) *CreateInstanceGroupOptions { + _options.LoadBalancerPool = loadBalancerPool + return _options +} + +// SetMembershipCount : Allow user to set MembershipCount +func (_options *CreateInstanceGroupOptions) SetMembershipCount(membershipCount int64) *CreateInstanceGroupOptions { + _options.MembershipCount = core.Int64Ptr(membershipCount) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateInstanceGroupOptions) SetName(name string) *CreateInstanceGroupOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateInstanceGroupOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateInstanceGroupOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceGroupOptions) SetHeaders(param map[string]string) *CreateInstanceGroupOptions { + options.Headers = param + return options +} + +// CreateInstanceNetworkAttachmentOptions : The CreateInstanceNetworkAttachment options. +type CreateInstanceNetworkAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // A virtual network interface for the instance network attachment. This can be specified + // using an existing virtual network interface, or a prototype object for a new virtual + // network interface. + // + // If an existing virtual network interface is specified, `enable_infrastructure_nat` must be + // `true`. + VirtualNetworkInterface InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf `json:"virtual_network_interface" validate:"required"` + + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceNetworkAttachmentOptions : Instantiate CreateInstanceNetworkAttachmentOptions +func (*VpcV1) NewCreateInstanceNetworkAttachmentOptions(instanceID string, virtualNetworkInterface InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf) *CreateInstanceNetworkAttachmentOptions { + return &CreateInstanceNetworkAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + VirtualNetworkInterface: virtualNetworkInterface, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *CreateInstanceNetworkAttachmentOptions) SetInstanceID(instanceID string) *CreateInstanceNetworkAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetVirtualNetworkInterface : Allow user to set VirtualNetworkInterface +func (_options *CreateInstanceNetworkAttachmentOptions) SetVirtualNetworkInterface(virtualNetworkInterface InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf) *CreateInstanceNetworkAttachmentOptions { + _options.VirtualNetworkInterface = virtualNetworkInterface + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateInstanceNetworkAttachmentOptions) SetName(name string) *CreateInstanceNetworkAttachmentOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceNetworkAttachmentOptions) SetHeaders(param map[string]string) *CreateInstanceNetworkAttachmentOptions { + options.Headers = param + return options +} + +// CreateInstanceNetworkInterfaceOptions : The CreateInstanceNetworkInterface options. +type CreateInstanceNetworkInterfaceOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The associated subnet. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` + + // Indicates whether source IP spoofing is allowed on this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // The name for the instance network interface. The name must not be used by another network interface on the virtual + // server instance. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the instance network interface. This can be + // specified using an existing reserved IP, or a prototype object for a new reserved + // IP. + // + // If an existing reserved IP or a prototype object with an address is specified, it + // must be available on the instance network interface's subnet. Otherwise, an + // available address on the subnet will be automatically selected and reserved. + PrimaryIP NetworkInterfaceIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The security groups to use for this instance network interface. If unspecified, the VPC's default security group is + // used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceNetworkInterfaceOptions : Instantiate CreateInstanceNetworkInterfaceOptions +func (*VpcV1) NewCreateInstanceNetworkInterfaceOptions(instanceID string, subnet SubnetIdentityIntf) *CreateInstanceNetworkInterfaceOptions { + return &CreateInstanceNetworkInterfaceOptions{ + InstanceID: core.StringPtr(instanceID), + Subnet: subnet, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *CreateInstanceNetworkInterfaceOptions) SetInstanceID(instanceID string) *CreateInstanceNetworkInterfaceOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetSubnet : Allow user to set Subnet +func (_options *CreateInstanceNetworkInterfaceOptions) SetSubnet(subnet SubnetIdentityIntf) *CreateInstanceNetworkInterfaceOptions { + _options.Subnet = subnet + return _options +} + +// SetAllowIPSpoofing : Allow user to set AllowIPSpoofing +func (_options *CreateInstanceNetworkInterfaceOptions) SetAllowIPSpoofing(allowIPSpoofing bool) *CreateInstanceNetworkInterfaceOptions { + _options.AllowIPSpoofing = core.BoolPtr(allowIPSpoofing) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateInstanceNetworkInterfaceOptions) SetName(name string) *CreateInstanceNetworkInterfaceOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetPrimaryIP : Allow user to set PrimaryIP +func (_options *CreateInstanceNetworkInterfaceOptions) SetPrimaryIP(primaryIP NetworkInterfaceIPPrototypeIntf) *CreateInstanceNetworkInterfaceOptions { + _options.PrimaryIP = primaryIP + return _options +} + +// SetSecurityGroups : Allow user to set SecurityGroups +func (_options *CreateInstanceNetworkInterfaceOptions) SetSecurityGroups(securityGroups []SecurityGroupIdentityIntf) *CreateInstanceNetworkInterfaceOptions { + _options.SecurityGroups = securityGroups + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceNetworkInterfaceOptions) SetHeaders(param map[string]string) *CreateInstanceNetworkInterfaceOptions { + options.Headers = param + return options +} + +// CreateInstanceOptions : The CreateInstance options. +type CreateInstanceOptions struct { + // The instance prototype object. + InstancePrototype InstancePrototypeIntf `json:"InstancePrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceOptions : Instantiate CreateInstanceOptions +func (*VpcV1) NewCreateInstanceOptions(instancePrototype InstancePrototypeIntf) *CreateInstanceOptions { + return &CreateInstanceOptions{ + InstancePrototype: instancePrototype, + } +} + +// SetInstancePrototype : Allow user to set InstancePrototype +func (_options *CreateInstanceOptions) SetInstancePrototype(instancePrototype InstancePrototypeIntf) *CreateInstanceOptions { + _options.InstancePrototype = instancePrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceOptions) SetHeaders(param map[string]string) *CreateInstanceOptions { + options.Headers = param + return options +} + +// CreateInstanceTemplateOptions : The CreateInstanceTemplate options. +type CreateInstanceTemplateOptions struct { + // The instance template prototype object. + InstanceTemplatePrototype InstanceTemplatePrototypeIntf `json:"InstanceTemplatePrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceTemplateOptions : Instantiate CreateInstanceTemplateOptions +func (*VpcV1) NewCreateInstanceTemplateOptions(instanceTemplatePrototype InstanceTemplatePrototypeIntf) *CreateInstanceTemplateOptions { + return &CreateInstanceTemplateOptions{ + InstanceTemplatePrototype: instanceTemplatePrototype, + } +} + +// SetInstanceTemplatePrototype : Allow user to set InstanceTemplatePrototype +func (_options *CreateInstanceTemplateOptions) SetInstanceTemplatePrototype(instanceTemplatePrototype InstanceTemplatePrototypeIntf) *CreateInstanceTemplateOptions { + _options.InstanceTemplatePrototype = instanceTemplatePrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceTemplateOptions) SetHeaders(param map[string]string) *CreateInstanceTemplateOptions { + options.Headers = param + return options +} + +// CreateInstanceVolumeAttachmentOptions : The CreateInstanceVolumeAttachment options. +type CreateInstanceVolumeAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The volume to use for this attachment. This can be specified as an existing unattached + // volume, or a prototype object for a new volume. + Volume VolumeAttachmentPrototypeVolumeIntf `json:"volume" validate:"required"` + + // Indicates whether deleting the instance will also delete the attached volume. + DeleteVolumeOnInstanceDelete *bool `json:"delete_volume_on_instance_delete,omitempty"` + + // The name for this volume attachment. The name must not be used by another volume attachment on the instance. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateInstanceVolumeAttachmentOptions : Instantiate CreateInstanceVolumeAttachmentOptions +func (*VpcV1) NewCreateInstanceVolumeAttachmentOptions(instanceID string, volume VolumeAttachmentPrototypeVolumeIntf) *CreateInstanceVolumeAttachmentOptions { + return &CreateInstanceVolumeAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + Volume: volume, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *CreateInstanceVolumeAttachmentOptions) SetInstanceID(instanceID string) *CreateInstanceVolumeAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetVolume : Allow user to set Volume +func (_options *CreateInstanceVolumeAttachmentOptions) SetVolume(volume VolumeAttachmentPrototypeVolumeIntf) *CreateInstanceVolumeAttachmentOptions { + _options.Volume = volume + return _options +} + +// SetDeleteVolumeOnInstanceDelete : Allow user to set DeleteVolumeOnInstanceDelete +func (_options *CreateInstanceVolumeAttachmentOptions) SetDeleteVolumeOnInstanceDelete(deleteVolumeOnInstanceDelete bool) *CreateInstanceVolumeAttachmentOptions { + _options.DeleteVolumeOnInstanceDelete = core.BoolPtr(deleteVolumeOnInstanceDelete) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateInstanceVolumeAttachmentOptions) SetName(name string) *CreateInstanceVolumeAttachmentOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateInstanceVolumeAttachmentOptions) SetHeaders(param map[string]string) *CreateInstanceVolumeAttachmentOptions { + options.Headers = param + return options +} + +// CreateIpsecPolicyOptions : The CreateIpsecPolicy options. +type CreateIpsecPolicyOptions struct { + // The authentication algorithm + // + // Must be `disabled` if and only if the `encryption_algorithm` is `aes128gcm16`, + // `aes192gcm16`, or `aes256gcm16` + // + // The `md5` and `sha1` algorithms have been deprecated. + AuthenticationAlgorithm *string `json:"authentication_algorithm" validate:"required"` + + // The encryption algorithm + // + // The `authentication_algorithm` must be `disabled` if and only if + // `encryption_algorithm` is `aes128gcm16`, `aes192gcm16`, or `aes256gcm16` + // + // The `triple_des` algorithm has been deprecated. + EncryptionAlgorithm *string `json:"encryption_algorithm" validate:"required"` + + // The Perfect Forward Secrecy group. + // + // Groups `group_2` and `group_5` have been deprecated. + Pfs *string `json:"pfs" validate:"required"` + + // The key lifetime in seconds. + KeyLifetime *int64 `json:"key_lifetime,omitempty"` + + // The name for this IPsec policy. The name must not be used by another IPsec policies in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateIpsecPolicyOptions.AuthenticationAlgorithm property. +// The authentication algorithm +// +// Must be `disabled` if and only if the `encryption_algorithm` is `aes128gcm16`, +// `aes192gcm16`, or `aes256gcm16` +// +// The `md5` and `sha1` algorithms have been deprecated. +const ( + CreateIpsecPolicyOptionsAuthenticationAlgorithmDisabledConst = "disabled" + CreateIpsecPolicyOptionsAuthenticationAlgorithmSha256Const = "sha256" + CreateIpsecPolicyOptionsAuthenticationAlgorithmSha384Const = "sha384" + CreateIpsecPolicyOptionsAuthenticationAlgorithmSha512Const = "sha512" +) + +// Constants associated with the CreateIpsecPolicyOptions.EncryptionAlgorithm property. +// The encryption algorithm +// +// The `authentication_algorithm` must be `disabled` if and only if +// `encryption_algorithm` is `aes128gcm16`, `aes192gcm16`, or `aes256gcm16` +// +// The `triple_des` algorithm has been deprecated. +const ( + CreateIpsecPolicyOptionsEncryptionAlgorithmAes128Const = "aes128" + CreateIpsecPolicyOptionsEncryptionAlgorithmAes128gcm16Const = "aes128gcm16" + CreateIpsecPolicyOptionsEncryptionAlgorithmAes192Const = "aes192" + CreateIpsecPolicyOptionsEncryptionAlgorithmAes192gcm16Const = "aes192gcm16" + CreateIpsecPolicyOptionsEncryptionAlgorithmAes256Const = "aes256" + CreateIpsecPolicyOptionsEncryptionAlgorithmAes256gcm16Const = "aes256gcm16" +) + +// Constants associated with the CreateIpsecPolicyOptions.Pfs property. +// The Perfect Forward Secrecy group. +// +// Groups `group_2` and `group_5` have been deprecated. +const ( + CreateIpsecPolicyOptionsPfsDisabledConst = "disabled" + CreateIpsecPolicyOptionsPfsGroup14Const = "group_14" + CreateIpsecPolicyOptionsPfsGroup15Const = "group_15" + CreateIpsecPolicyOptionsPfsGroup16Const = "group_16" + CreateIpsecPolicyOptionsPfsGroup17Const = "group_17" + CreateIpsecPolicyOptionsPfsGroup18Const = "group_18" + CreateIpsecPolicyOptionsPfsGroup19Const = "group_19" + CreateIpsecPolicyOptionsPfsGroup20Const = "group_20" + CreateIpsecPolicyOptionsPfsGroup21Const = "group_21" + CreateIpsecPolicyOptionsPfsGroup22Const = "group_22" + CreateIpsecPolicyOptionsPfsGroup23Const = "group_23" + CreateIpsecPolicyOptionsPfsGroup24Const = "group_24" + CreateIpsecPolicyOptionsPfsGroup31Const = "group_31" +) + +// NewCreateIpsecPolicyOptions : Instantiate CreateIpsecPolicyOptions +func (*VpcV1) NewCreateIpsecPolicyOptions(authenticationAlgorithm string, encryptionAlgorithm string, pfs string) *CreateIpsecPolicyOptions { + return &CreateIpsecPolicyOptions{ + AuthenticationAlgorithm: core.StringPtr(authenticationAlgorithm), + EncryptionAlgorithm: core.StringPtr(encryptionAlgorithm), + Pfs: core.StringPtr(pfs), + } +} + +// SetAuthenticationAlgorithm : Allow user to set AuthenticationAlgorithm +func (_options *CreateIpsecPolicyOptions) SetAuthenticationAlgorithm(authenticationAlgorithm string) *CreateIpsecPolicyOptions { + _options.AuthenticationAlgorithm = core.StringPtr(authenticationAlgorithm) + return _options +} + +// SetEncryptionAlgorithm : Allow user to set EncryptionAlgorithm +func (_options *CreateIpsecPolicyOptions) SetEncryptionAlgorithm(encryptionAlgorithm string) *CreateIpsecPolicyOptions { + _options.EncryptionAlgorithm = core.StringPtr(encryptionAlgorithm) + return _options +} + +// SetPfs : Allow user to set Pfs +func (_options *CreateIpsecPolicyOptions) SetPfs(pfs string) *CreateIpsecPolicyOptions { + _options.Pfs = core.StringPtr(pfs) + return _options +} + +// SetKeyLifetime : Allow user to set KeyLifetime +func (_options *CreateIpsecPolicyOptions) SetKeyLifetime(keyLifetime int64) *CreateIpsecPolicyOptions { + _options.KeyLifetime = core.Int64Ptr(keyLifetime) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateIpsecPolicyOptions) SetName(name string) *CreateIpsecPolicyOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateIpsecPolicyOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateIpsecPolicyOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateIpsecPolicyOptions) SetHeaders(param map[string]string) *CreateIpsecPolicyOptions { + options.Headers = param + return options +} + +// CreateKeyOptions : The CreateKey options. +type CreateKeyOptions struct { + // The public SSH key to use, in OpenSSH format (consisting of three space-separated fields: the algorithm name, + // base64-encoded key value, and a comment). The algorithm and comment fields may be omitted, as only the key field is + // used. + // + // The key field must not match another key in the region. + // + // Keys of type `rsa` must be 2048 or 4096 bits in length (4096 is recommended). Keys of type `ed25519` must be 256 + // bits in length. + PublicKey *string `json:"public_key" validate:"required"` + + // The name for this key. The name must not be used by another key in the region. If unspecified, the name will be a + // hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The crypto-system for this key. + Type *string `json:"type,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateKeyOptions.Type property. +// The crypto-system for this key. +const ( + CreateKeyOptionsTypeEd25519Const = "ed25519" + CreateKeyOptionsTypeRsaConst = "rsa" +) + +// NewCreateKeyOptions : Instantiate CreateKeyOptions +func (*VpcV1) NewCreateKeyOptions(publicKey string) *CreateKeyOptions { + return &CreateKeyOptions{ + PublicKey: core.StringPtr(publicKey), + } +} + +// SetPublicKey : Allow user to set PublicKey +func (_options *CreateKeyOptions) SetPublicKey(publicKey string) *CreateKeyOptions { + _options.PublicKey = core.StringPtr(publicKey) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateKeyOptions) SetName(name string) *CreateKeyOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateKeyOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateKeyOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetType : Allow user to set Type +func (_options *CreateKeyOptions) SetType(typeVar string) *CreateKeyOptions { + _options.Type = core.StringPtr(typeVar) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateKeyOptions) SetHeaders(param map[string]string) *CreateKeyOptions { + options.Headers = param + return options +} + +// CreateLoadBalancerListenerOptions : The CreateLoadBalancerListener options. +type CreateLoadBalancerListenerOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener protocol. Each listener in the load balancer must have a non-overlapping port range and `protocol` + // combination. + // + // Load balancers in the `network` family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the + // `application` family support `tcp`, `http` and + // `https`. + // + // Additional restrictions: + // - If `default_pool` is set, the pool's protocol must match, or be compatible with + // the listener's protocol. At present, the compatible protocols are `http` and + // `https`. + // - If `https_redirect` is set, the protocol must be `http`. + Protocol *string `json:"protocol" validate:"required"` + + // If set to `true`, this listener will accept and forward PROXY protocol information. Supported by load balancers in + // the `application` family (otherwise always `false`). Additional restrictions: + // - If this listener has `https_redirect` specified, its `accept_proxy_protocol` value must + // match the `accept_proxy_protocol` value of the `https_redirect` listener. + // - If this listener is the target of another listener's `https_redirect`, its + // `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol` value. + AcceptProxyProtocol *bool `json:"accept_proxy_protocol,omitempty"` + + // The certificate instance to use for SSL termination. The listener must have a + // `protocol` of `https`. + CertificateInstance CertificateInstanceIdentityIntf `json:"certificate_instance,omitempty"` + + // The concurrent connection limit for the listener. If reached, incoming connections may be queued or rejected. + // + // Supported for load balancers in the `application` family. + // + // If unspecified, the limit will be `15000` for load balancers in the `application` family. + ConnectionLimit *int64 `json:"connection_limit,omitempty"` + + // The default pool for this listener. If `https_redirect` is specified, the + // default pool will not be used. + // If specified, the pool must: + // + // - Belong to this load balancer. + // - Have the same `protocol` as this listener, or have a compatible protocol. + // At present, the compatible protocols are `http` and `https`. + // - Not already be the `default_pool` for another listener. + // + // If unspecified, this listener will be created with no default pool, but one may be + // subsequently set. + DefaultPool LoadBalancerPoolIdentityIntf `json:"default_pool,omitempty"` + + // The target listener that requests will be redirected to if none of the listener's + // `policies` match. + // + // If specified, this listener must have a `protocol` of `http`, and the target + // listener must have a `protocol` of `https`. + HTTPSRedirect *LoadBalancerListenerHTTPSRedirectPrototype `json:"https_redirect,omitempty"` + + // The idle connection timeout of the listener in seconds. + // + // Supported for load balancers in the `application` family. + // + // If unspecified, the timeout will be `50` for load balancers in the `application` family. + IdleConnectionTimeout *int64 `json:"idle_connection_timeout,omitempty"` + + // The policy prototype objects for this listener. The load balancer must be in the + // `application` family. + Policies []LoadBalancerListenerPolicyPrototype `json:"policies,omitempty"` + + // The listener port number. Each listener in the load balancer must have a non-overlapping port range and `protocol` + // combination. Protocol values of `tcp`, `http` and `https` share the TCP port space. + // + // If `port_min` is also specified, `port` must have the same value as `port_min`. + Port *int64 `json:"port,omitempty"` + + // The inclusive upper bound of the range of ports used by this listener. Must not be less than `port_min`. + // + // Only network load balancers with `route_mode`, `is_public` or `is_private_path` set to + // `true` support different values for `port_min` and `port_max`. If `route_mode` is set to `true`, the value must be + // `65535`. + // + // The specified port range must not overlap with port ranges used by other listeners for this load balancer using the + // same protocol. Protocol values of `tcp`, `http` and + // `https` share the TCP port space. + PortMax *int64 `json:"port_max,omitempty"` + + // The inclusive lower bound of the range of ports used by this listener. Must not be greater than `port_max`. + // + // If specified, `port_max` must also be specified, and must not be smaller. If unspecified, `port_max` must also be + // unspecified. + // + // If `port` is also specified, `port_min` must have the same value as `port`. + // + // Only network load balancers with `route_mode`, `is_public` or `is_private_path` set to + // `true` support different values for `port_min` and `port_max`. If `route_mode` is set to `true`, the value must be + // `1`. + // + // The specified port range must not overlap with port ranges used by other listeners for this load balancer using the + // same protocol. Protocol values of `tcp`, `http` and + // `https` share the TCP port space. + PortMin *int64 `json:"port_min,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateLoadBalancerListenerOptions.Protocol property. +// The listener protocol. Each listener in the load balancer must have a non-overlapping port range and `protocol` +// combination. +// +// Load balancers in the `network` family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the +// `application` family support `tcp`, `http` and +// `https`. +// +// Additional restrictions: +// - If `default_pool` is set, the pool's protocol must match, or be compatible with +// the listener's protocol. At present, the compatible protocols are `http` and +// `https`. +// - If `https_redirect` is set, the protocol must be `http`. +const ( + CreateLoadBalancerListenerOptionsProtocolHTTPConst = "http" + CreateLoadBalancerListenerOptionsProtocolHTTPSConst = "https" + CreateLoadBalancerListenerOptionsProtocolTCPConst = "tcp" + CreateLoadBalancerListenerOptionsProtocolUDPConst = "udp" +) + +// NewCreateLoadBalancerListenerOptions : Instantiate CreateLoadBalancerListenerOptions +func (*VpcV1) NewCreateLoadBalancerListenerOptions(loadBalancerID string, protocol string) *CreateLoadBalancerListenerOptions { + return &CreateLoadBalancerListenerOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + Protocol: core.StringPtr(protocol), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *CreateLoadBalancerListenerOptions) SetLoadBalancerID(loadBalancerID string) *CreateLoadBalancerListenerOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetProtocol : Allow user to set Protocol +func (_options *CreateLoadBalancerListenerOptions) SetProtocol(protocol string) *CreateLoadBalancerListenerOptions { + _options.Protocol = core.StringPtr(protocol) + return _options +} + +// SetAcceptProxyProtocol : Allow user to set AcceptProxyProtocol +func (_options *CreateLoadBalancerListenerOptions) SetAcceptProxyProtocol(acceptProxyProtocol bool) *CreateLoadBalancerListenerOptions { + _options.AcceptProxyProtocol = core.BoolPtr(acceptProxyProtocol) + return _options +} + +// SetCertificateInstance : Allow user to set CertificateInstance +func (_options *CreateLoadBalancerListenerOptions) SetCertificateInstance(certificateInstance CertificateInstanceIdentityIntf) *CreateLoadBalancerListenerOptions { + _options.CertificateInstance = certificateInstance + return _options +} + +// SetConnectionLimit : Allow user to set ConnectionLimit +func (_options *CreateLoadBalancerListenerOptions) SetConnectionLimit(connectionLimit int64) *CreateLoadBalancerListenerOptions { + _options.ConnectionLimit = core.Int64Ptr(connectionLimit) + return _options +} + +// SetDefaultPool : Allow user to set DefaultPool +func (_options *CreateLoadBalancerListenerOptions) SetDefaultPool(defaultPool LoadBalancerPoolIdentityIntf) *CreateLoadBalancerListenerOptions { + _options.DefaultPool = defaultPool + return _options +} + +// SetHTTPSRedirect : Allow user to set HTTPSRedirect +func (_options *CreateLoadBalancerListenerOptions) SetHTTPSRedirect(httpsRedirect *LoadBalancerListenerHTTPSRedirectPrototype) *CreateLoadBalancerListenerOptions { + _options.HTTPSRedirect = httpsRedirect + return _options +} + +// SetIdleConnectionTimeout : Allow user to set IdleConnectionTimeout +func (_options *CreateLoadBalancerListenerOptions) SetIdleConnectionTimeout(idleConnectionTimeout int64) *CreateLoadBalancerListenerOptions { + _options.IdleConnectionTimeout = core.Int64Ptr(idleConnectionTimeout) + return _options +} + +// SetPolicies : Allow user to set Policies +func (_options *CreateLoadBalancerListenerOptions) SetPolicies(policies []LoadBalancerListenerPolicyPrototype) *CreateLoadBalancerListenerOptions { + _options.Policies = policies + return _options +} + +// SetPort : Allow user to set Port +func (_options *CreateLoadBalancerListenerOptions) SetPort(port int64) *CreateLoadBalancerListenerOptions { + _options.Port = core.Int64Ptr(port) + return _options +} + +// SetPortMax : Allow user to set PortMax +func (_options *CreateLoadBalancerListenerOptions) SetPortMax(portMax int64) *CreateLoadBalancerListenerOptions { + _options.PortMax = core.Int64Ptr(portMax) + return _options +} + +// SetPortMin : Allow user to set PortMin +func (_options *CreateLoadBalancerListenerOptions) SetPortMin(portMin int64) *CreateLoadBalancerListenerOptions { + _options.PortMin = core.Int64Ptr(portMin) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateLoadBalancerListenerOptions) SetHeaders(param map[string]string) *CreateLoadBalancerListenerOptions { + options.Headers = param + return options +} + +// CreateLoadBalancerListenerPolicyOptions : The CreateLoadBalancerListenerPolicy options. +type CreateLoadBalancerListenerPolicyOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy action: + // - `forward_to_listener`: Requests will be forwarded to the specified + // `target` listener. + // - `forward_to_pool`: Requests will be forwarded to the specified `target` pool. + // - `https_redirect`: Requests will be redirected to the specified `target.listener`. + // This listener must have a `protocol` of `http`, and the target listener must + // have a `protocol` of `https`. + // - `redirect`: Requests will be redirected to the specified `target.url` + // - `reject`: Requests will be rejected with a `403` status code. + Action *string `json:"action" validate:"required"` + + // The priority of the policy. The priority is unique across all policies for this load balancer listener. Lower value + // indicates higher priority. + Priority *int64 `json:"priority" validate:"required"` + + // The name for this policy. The name must not be used by another policy for the load balancer listener. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The rule prototype objects for this policy. + Rules []LoadBalancerListenerPolicyRulePrototype `json:"rules,omitempty"` + + // - If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` in this + // load balancer to forward to. + // - If `action` is `forward_to_pool`, use `LoadBalancerPoolIdentity` to specify a pool in + // this load balancer to forward to. + // - If `action` is `https_redirect`, use + // `LoadBalancerListenerPolicyHTTPSRedirectPrototype` to specify a listener on this + // load balancer to redirect to. + // - If `action` is `redirect`, use `LoadBalancerListenerPolicyRedirectURLPrototype`to + // specify a URL to redirect to. + Target LoadBalancerListenerPolicyTargetPrototypeIntf `json:"target,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateLoadBalancerListenerPolicyOptions.Action property. +// The policy action: +// - `forward_to_listener`: Requests will be forwarded to the specified +// `target` listener. +// - `forward_to_pool`: Requests will be forwarded to the specified `target` pool. +// - `https_redirect`: Requests will be redirected to the specified `target.listener`. +// This listener must have a `protocol` of `http`, and the target listener must +// have a `protocol` of `https`. +// - `redirect`: Requests will be redirected to the specified `target.url` +// - `reject`: Requests will be rejected with a `403` status code. +const ( + CreateLoadBalancerListenerPolicyOptionsActionForwardToListenerConst = "forward_to_listener" + CreateLoadBalancerListenerPolicyOptionsActionForwardToPoolConst = "forward_to_pool" + CreateLoadBalancerListenerPolicyOptionsActionHTTPSRedirectConst = "https_redirect" + CreateLoadBalancerListenerPolicyOptionsActionRedirectConst = "redirect" + CreateLoadBalancerListenerPolicyOptionsActionRejectConst = "reject" +) + +// NewCreateLoadBalancerListenerPolicyOptions : Instantiate CreateLoadBalancerListenerPolicyOptions +func (*VpcV1) NewCreateLoadBalancerListenerPolicyOptions(loadBalancerID string, listenerID string, action string, priority int64) *CreateLoadBalancerListenerPolicyOptions { + return &CreateLoadBalancerListenerPolicyOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + Action: core.StringPtr(action), + Priority: core.Int64Ptr(priority), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *CreateLoadBalancerListenerPolicyOptions) SetLoadBalancerID(loadBalancerID string) *CreateLoadBalancerListenerPolicyOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *CreateLoadBalancerListenerPolicyOptions) SetListenerID(listenerID string) *CreateLoadBalancerListenerPolicyOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetAction : Allow user to set Action +func (_options *CreateLoadBalancerListenerPolicyOptions) SetAction(action string) *CreateLoadBalancerListenerPolicyOptions { + _options.Action = core.StringPtr(action) + return _options +} + +// SetPriority : Allow user to set Priority +func (_options *CreateLoadBalancerListenerPolicyOptions) SetPriority(priority int64) *CreateLoadBalancerListenerPolicyOptions { + _options.Priority = core.Int64Ptr(priority) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateLoadBalancerListenerPolicyOptions) SetName(name string) *CreateLoadBalancerListenerPolicyOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetRules : Allow user to set Rules +func (_options *CreateLoadBalancerListenerPolicyOptions) SetRules(rules []LoadBalancerListenerPolicyRulePrototype) *CreateLoadBalancerListenerPolicyOptions { + _options.Rules = rules + return _options +} + +// SetTarget : Allow user to set Target +func (_options *CreateLoadBalancerListenerPolicyOptions) SetTarget(target LoadBalancerListenerPolicyTargetPrototypeIntf) *CreateLoadBalancerListenerPolicyOptions { + _options.Target = target + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateLoadBalancerListenerPolicyOptions) SetHeaders(param map[string]string) *CreateLoadBalancerListenerPolicyOptions { + options.Headers = param + return options +} + +// CreateLoadBalancerListenerPolicyRuleOptions : The CreateLoadBalancerListenerPolicyRule options. +type CreateLoadBalancerListenerPolicyRuleOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy identifier. + PolicyID *string `json:"policy_id" validate:"required,ne="` + + // The condition for the rule. + Condition *string `json:"condition" validate:"required"` + + // The content the rule applies to: + // - `body`: The UTF-8 form-encoded HTTP request body + // - `header`: The HTTP header + // - `hostname`: The fully-qualified domain name of the server specified in the Host + // HTTP request header + // - `path`: The path of the HTTP request + // - `query`: The query of the HTTP request URL + // - `sni_hostname`: The fully-qualified domain name of the server provided in the + // "server name indicator" extension during TLS negotiation + // + // - For listeners with `protocol` `http` or `https`, any type may be specified. + // - For listeners with `protocol` `tcp`, only type `sni_hostname` may be specified. + Type *string `json:"type" validate:"required"` + + // The value to be matched for the rule condition. + // + // If the rule type is `query` and the rule condition is not `matches_regex`, the value must be percent-encoded. + Value *string `json:"value" validate:"required"` + + // The field to match for this rule. + // - If the `type` is `header`, this property must be specified. + // - If the `type` is `body` or `query`, this property may be specified. + // - For all other types, this property must not be specified. + Field *string `json:"field,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateLoadBalancerListenerPolicyRuleOptions.Condition property. +// The condition for the rule. +const ( + CreateLoadBalancerListenerPolicyRuleOptionsConditionContainsConst = "contains" + CreateLoadBalancerListenerPolicyRuleOptionsConditionEqualsConst = "equals" + CreateLoadBalancerListenerPolicyRuleOptionsConditionMatchesRegexConst = "matches_regex" +) + +// Constants associated with the CreateLoadBalancerListenerPolicyRuleOptions.Type property. +// The content the rule applies to: +// - `body`: The UTF-8 form-encoded HTTP request body +// - `header`: The HTTP header +// - `hostname`: The fully-qualified domain name of the server specified in the Host +// HTTP request header +// - `path`: The path of the HTTP request +// - `query`: The query of the HTTP request URL +// - `sni_hostname`: The fully-qualified domain name of the server provided in the +// "server name indicator" extension during TLS negotiation +// +// - For listeners with `protocol` `http` or `https`, any type may be specified. +// - For listeners with `protocol` `tcp`, only type `sni_hostname` may be specified. +const ( + CreateLoadBalancerListenerPolicyRuleOptionsTypeBodyConst = "body" + CreateLoadBalancerListenerPolicyRuleOptionsTypeHeaderConst = "header" + CreateLoadBalancerListenerPolicyRuleOptionsTypeHostnameConst = "hostname" + CreateLoadBalancerListenerPolicyRuleOptionsTypePathConst = "path" + CreateLoadBalancerListenerPolicyRuleOptionsTypeQueryConst = "query" + CreateLoadBalancerListenerPolicyRuleOptionsTypeSniHostnameConst = "sni_hostname" +) + +// NewCreateLoadBalancerListenerPolicyRuleOptions : Instantiate CreateLoadBalancerListenerPolicyRuleOptions +func (*VpcV1) NewCreateLoadBalancerListenerPolicyRuleOptions(loadBalancerID string, listenerID string, policyID string, condition string, typeVar string, value string) *CreateLoadBalancerListenerPolicyRuleOptions { + return &CreateLoadBalancerListenerPolicyRuleOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + PolicyID: core.StringPtr(policyID), + Condition: core.StringPtr(condition), + Type: core.StringPtr(typeVar), + Value: core.StringPtr(value), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *CreateLoadBalancerListenerPolicyRuleOptions) SetLoadBalancerID(loadBalancerID string) *CreateLoadBalancerListenerPolicyRuleOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *CreateLoadBalancerListenerPolicyRuleOptions) SetListenerID(listenerID string) *CreateLoadBalancerListenerPolicyRuleOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetPolicyID : Allow user to set PolicyID +func (_options *CreateLoadBalancerListenerPolicyRuleOptions) SetPolicyID(policyID string) *CreateLoadBalancerListenerPolicyRuleOptions { + _options.PolicyID = core.StringPtr(policyID) + return _options +} + +// SetCondition : Allow user to set Condition +func (_options *CreateLoadBalancerListenerPolicyRuleOptions) SetCondition(condition string) *CreateLoadBalancerListenerPolicyRuleOptions { + _options.Condition = core.StringPtr(condition) + return _options +} + +// SetType : Allow user to set Type +func (_options *CreateLoadBalancerListenerPolicyRuleOptions) SetType(typeVar string) *CreateLoadBalancerListenerPolicyRuleOptions { + _options.Type = core.StringPtr(typeVar) + return _options +} + +// SetValue : Allow user to set Value +func (_options *CreateLoadBalancerListenerPolicyRuleOptions) SetValue(value string) *CreateLoadBalancerListenerPolicyRuleOptions { + _options.Value = core.StringPtr(value) + return _options +} + +// SetField : Allow user to set Field +func (_options *CreateLoadBalancerListenerPolicyRuleOptions) SetField(field string) *CreateLoadBalancerListenerPolicyRuleOptions { + _options.Field = core.StringPtr(field) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateLoadBalancerListenerPolicyRuleOptions) SetHeaders(param map[string]string) *CreateLoadBalancerListenerPolicyRuleOptions { + options.Headers = param + return options +} + +// CreateLoadBalancerOptions : The CreateLoadBalancer options. +type CreateLoadBalancerOptions struct { + // Indicates whether this load balancer is public. + // + // At present, + // - If `route_mode` is set to `true`, the load balancer must be private. + // - If `is_private_path` is specified, it must be set to `false`. + IsPublic *bool `json:"is_public" validate:"required"` + + // The subnets to provision this load balancer in. The subnets must be in the same VPC. + // - If 'availability' is specified as `subnet` in the profile, the load balancer's availability will depend on the + // availability of the zones that the subnets reside in. + // - If 'availability' is specified as `region` in the profile, the load balancer remains available as long as any zone + // in the region is available. Only members in healthy zones will be sent new connections. + // + // Load balancers in the `network` family allow only one subnet to be specified. + Subnets []SubnetIdentityIntf `json:"subnets" validate:"required"` + + // The DNS configuration for this load balancer. + // + // If unspecified, DNS `A` records for this load balancer's `hostname` property will be added + // to the public DNS zone `lb.appdomain.cloud`. Otherwise, those DNS `A` records will be + // added to the specified `zone`. + // + // Not supported by private path load balancers. + Dns *LoadBalancerDnsPrototype `json:"dns,omitempty"` + + // Indicates whether this is a private path load balancer. + IsPrivatePath *bool `json:"is_private_path,omitempty"` + + // The listeners of this load balancer. + Listeners []LoadBalancerListenerPrototypeLoadBalancerContext `json:"listeners,omitempty"` + + // The logging configuration to use for this load balancer. See [VPC Datapath + // Logging](https://cloud.ibm.com/docs/vpc?topic=vpc-datapath-logging) on the logging + // format, fields and permitted values. If unspecified, `datapath.active` will be `false`. + // + // To activate logging, the load balancer profile must support the specified logging type. + Logging *LoadBalancerLoggingPrototype `json:"logging,omitempty"` + + // The name for this load balancer. The name must not be used by another load balancer in the VPC. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The pools of this load balancer. + Pools []LoadBalancerPoolPrototypeLoadBalancerContext `json:"pools,omitempty"` + + // The profile to use for this load balancer. + // + // If unspecified, `application` will be used. + Profile LoadBalancerProfileIdentityIntf `json:"profile,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Indicates whether [route mode](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vnf&interface=ui) is enabled for this + // load balancer. + // + // At present, public load balancers are not supported with route mode enabled. + RouteMode *bool `json:"route_mode,omitempty"` + + // The security groups to use for this load balancer. If unspecified, the VPC's default security group is used. + // + // The load balancer profile must support security groups. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateLoadBalancerOptions : Instantiate CreateLoadBalancerOptions +func (*VpcV1) NewCreateLoadBalancerOptions(isPublic bool, subnets []SubnetIdentityIntf) *CreateLoadBalancerOptions { + return &CreateLoadBalancerOptions{ + IsPublic: core.BoolPtr(isPublic), + Subnets: subnets, + } +} + +// SetIsPublic : Allow user to set IsPublic +func (_options *CreateLoadBalancerOptions) SetIsPublic(isPublic bool) *CreateLoadBalancerOptions { + _options.IsPublic = core.BoolPtr(isPublic) + return _options +} + +// SetSubnets : Allow user to set Subnets +func (_options *CreateLoadBalancerOptions) SetSubnets(subnets []SubnetIdentityIntf) *CreateLoadBalancerOptions { + _options.Subnets = subnets + return _options +} + +// SetDns : Allow user to set Dns +func (_options *CreateLoadBalancerOptions) SetDns(dns *LoadBalancerDnsPrototype) *CreateLoadBalancerOptions { + _options.Dns = dns + return _options +} + +// SetIsPrivatePath : Allow user to set IsPrivatePath +func (_options *CreateLoadBalancerOptions) SetIsPrivatePath(isPrivatePath bool) *CreateLoadBalancerOptions { + _options.IsPrivatePath = core.BoolPtr(isPrivatePath) + return _options +} + +// SetListeners : Allow user to set Listeners +func (_options *CreateLoadBalancerOptions) SetListeners(listeners []LoadBalancerListenerPrototypeLoadBalancerContext) *CreateLoadBalancerOptions { + _options.Listeners = listeners + return _options +} + +// SetLogging : Allow user to set Logging +func (_options *CreateLoadBalancerOptions) SetLogging(logging *LoadBalancerLoggingPrototype) *CreateLoadBalancerOptions { + _options.Logging = logging + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateLoadBalancerOptions) SetName(name string) *CreateLoadBalancerOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetPools : Allow user to set Pools +func (_options *CreateLoadBalancerOptions) SetPools(pools []LoadBalancerPoolPrototypeLoadBalancerContext) *CreateLoadBalancerOptions { + _options.Pools = pools + return _options +} + +// SetProfile : Allow user to set Profile +func (_options *CreateLoadBalancerOptions) SetProfile(profile LoadBalancerProfileIdentityIntf) *CreateLoadBalancerOptions { + _options.Profile = profile + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateLoadBalancerOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateLoadBalancerOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetRouteMode : Allow user to set RouteMode +func (_options *CreateLoadBalancerOptions) SetRouteMode(routeMode bool) *CreateLoadBalancerOptions { + _options.RouteMode = core.BoolPtr(routeMode) + return _options +} + +// SetSecurityGroups : Allow user to set SecurityGroups +func (_options *CreateLoadBalancerOptions) SetSecurityGroups(securityGroups []SecurityGroupIdentityIntf) *CreateLoadBalancerOptions { + _options.SecurityGroups = securityGroups + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateLoadBalancerOptions) SetHeaders(param map[string]string) *CreateLoadBalancerOptions { + options.Headers = param + return options +} + +// CreateLoadBalancerPoolMemberOptions : The CreateLoadBalancerPoolMember options. +type CreateLoadBalancerPoolMemberOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + PoolID *string `json:"pool_id" validate:"required,ne="` + + // The port the member will receive load balancer traffic on. Applies only to load balancer traffic received on a + // listener with a single port. (If the traffic is received on a listener with a port range, the member will receive + // the traffic on the same port the listener received it on.) + // + // This port will also be used for health checks unless the `port` property of + // `health_monitor` property is specified. + // + // The port must be unique across all members for all pools associated with this pool's listener. + // + // For load balancers in the `network` family, the same `port` and `target` tuple cannot be shared by a pool member of + // any other load balancer in the same VPC. + Port *int64 `json:"port" validate:"required"` + + // The pool member target. + // + // If the load balancer has `route_mode` set to `true`, the member must be in a zone the load + // balancer has a subnet in. + // + // For load balancers in the `network` family, the same `port` and `target` tuple cannot + // be shared by a pool member of any other load balancer in the same VPC. + Target LoadBalancerPoolMemberTargetPrototypeIntf `json:"target" validate:"required"` + + // The weight of the member. + // + // If specified, the pool algorithm must be `weighted_round_robin` and the load balancer must be in the `application` + // family. + // + // If unspecified, the weight will be `50` for load balancers in the `application` family. + Weight *int64 `json:"weight,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateLoadBalancerPoolMemberOptions : Instantiate CreateLoadBalancerPoolMemberOptions +func (*VpcV1) NewCreateLoadBalancerPoolMemberOptions(loadBalancerID string, poolID string, port int64, target LoadBalancerPoolMemberTargetPrototypeIntf) *CreateLoadBalancerPoolMemberOptions { + return &CreateLoadBalancerPoolMemberOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + PoolID: core.StringPtr(poolID), + Port: core.Int64Ptr(port), + Target: target, + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *CreateLoadBalancerPoolMemberOptions) SetLoadBalancerID(loadBalancerID string) *CreateLoadBalancerPoolMemberOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetPoolID : Allow user to set PoolID +func (_options *CreateLoadBalancerPoolMemberOptions) SetPoolID(poolID string) *CreateLoadBalancerPoolMemberOptions { + _options.PoolID = core.StringPtr(poolID) + return _options +} + +// SetPort : Allow user to set Port +func (_options *CreateLoadBalancerPoolMemberOptions) SetPort(port int64) *CreateLoadBalancerPoolMemberOptions { + _options.Port = core.Int64Ptr(port) + return _options +} + +// SetTarget : Allow user to set Target +func (_options *CreateLoadBalancerPoolMemberOptions) SetTarget(target LoadBalancerPoolMemberTargetPrototypeIntf) *CreateLoadBalancerPoolMemberOptions { + _options.Target = target + return _options +} + +// SetWeight : Allow user to set Weight +func (_options *CreateLoadBalancerPoolMemberOptions) SetWeight(weight int64) *CreateLoadBalancerPoolMemberOptions { + _options.Weight = core.Int64Ptr(weight) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateLoadBalancerPoolMemberOptions) SetHeaders(param map[string]string) *CreateLoadBalancerPoolMemberOptions { + options.Headers = param + return options +} + +// CreateLoadBalancerPoolOptions : The CreateLoadBalancerPool options. +type CreateLoadBalancerPoolOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The load balancing algorithm. The `least_connections` algorithm is only supported for load balancers that have + // `availability` with value `subnet` in the profile. + Algorithm *string `json:"algorithm" validate:"required"` + + // The health monitor of this pool. + // + // If this pool has a member targeting a load balancer then: + // + // - If the targeted load balancer has multiple subnets, this health monitor will be + // used to direct traffic to the available subnets. + // - The health checks spawned by this health monitor will be handled as any other + // traffic (that is, subject to the configuration of listeners and pools on the target + // load balancer). + // - This health monitor does not affect how pool member health is determined within the + // target load balancer. + // + // For more information, see [Private Path network load balancer frequently asked + // questions](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-faqs#ppnlb-faqs). + HealthMonitor LoadBalancerPoolHealthMonitorPrototypeIntf `json:"health_monitor" validate:"required"` + + // The protocol used for this load balancer pool. Load balancers in the `network` family support `tcp` and `udp` (if + // `udp_supported` is `true`). Load balancers in the + // `application` family support `tcp`, `http`, and `https`. + Protocol *string `json:"protocol" validate:"required"` + + // The failsafe policy to use for this pool. + // + // If unspecified, the default failsafe policy action from the profile will be used. + FailsafePolicy *LoadBalancerPoolFailsafePolicyPrototype `json:"failsafe_policy,omitempty"` + + // The members for this load balancer pool. For load balancers in the `network` family, the same `port` and `target` + // tuple cannot be shared by a pool member of any other load balancer in the same VPC. + Members []LoadBalancerPoolMemberPrototype `json:"members,omitempty"` + + // The name for this load balancer pool. The name must not be used by another pool for the load balancer. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The PROXY protocol setting for this pool: + // - `v1`: Enabled with version 1 (human-readable header format) + // - `v2`: Enabled with version 2 (binary header format) + // - `disabled`: Disabled + // + // For load balancers in the `network` family, this property must be `disabled`. + ProxyProtocol *string `json:"proxy_protocol,omitempty"` + + // The session persistence of this pool. If specified, the load balancer must have + // `source_ip_session_persistence_supported` set to `true` in its profile. + // + // If unspecified, session persistence will be disabled, and traffic will be distributed + // across members of the pool. + SessionPersistence *LoadBalancerPoolSessionPersistencePrototype `json:"session_persistence,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateLoadBalancerPoolOptions.Algorithm property. +// The load balancing algorithm. The `least_connections` algorithm is only supported for load balancers that have +// `availability` with value `subnet` in the profile. +const ( + CreateLoadBalancerPoolOptionsAlgorithmLeastConnectionsConst = "least_connections" + CreateLoadBalancerPoolOptionsAlgorithmRoundRobinConst = "round_robin" + CreateLoadBalancerPoolOptionsAlgorithmWeightedRoundRobinConst = "weighted_round_robin" +) + +// Constants associated with the CreateLoadBalancerPoolOptions.Protocol property. +// The protocol used for this load balancer pool. Load balancers in the `network` family support `tcp` and `udp` (if +// `udp_supported` is `true`). Load balancers in the +// `application` family support `tcp`, `http`, and `https`. +const ( + CreateLoadBalancerPoolOptionsProtocolHTTPConst = "http" + CreateLoadBalancerPoolOptionsProtocolHTTPSConst = "https" + CreateLoadBalancerPoolOptionsProtocolTCPConst = "tcp" + CreateLoadBalancerPoolOptionsProtocolUDPConst = "udp" +) + +// Constants associated with the CreateLoadBalancerPoolOptions.ProxyProtocol property. +// The PROXY protocol setting for this pool: +// - `v1`: Enabled with version 1 (human-readable header format) +// - `v2`: Enabled with version 2 (binary header format) +// - `disabled`: Disabled +// +// For load balancers in the `network` family, this property must be `disabled`. +const ( + CreateLoadBalancerPoolOptionsProxyProtocolDisabledConst = "disabled" + CreateLoadBalancerPoolOptionsProxyProtocolV1Const = "v1" + CreateLoadBalancerPoolOptionsProxyProtocolV2Const = "v2" +) + +// NewCreateLoadBalancerPoolOptions : Instantiate CreateLoadBalancerPoolOptions +func (*VpcV1) NewCreateLoadBalancerPoolOptions(loadBalancerID string, algorithm string, healthMonitor LoadBalancerPoolHealthMonitorPrototypeIntf, protocol string) *CreateLoadBalancerPoolOptions { + return &CreateLoadBalancerPoolOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + Algorithm: core.StringPtr(algorithm), + HealthMonitor: healthMonitor, + Protocol: core.StringPtr(protocol), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *CreateLoadBalancerPoolOptions) SetLoadBalancerID(loadBalancerID string) *CreateLoadBalancerPoolOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetAlgorithm : Allow user to set Algorithm +func (_options *CreateLoadBalancerPoolOptions) SetAlgorithm(algorithm string) *CreateLoadBalancerPoolOptions { + _options.Algorithm = core.StringPtr(algorithm) + return _options +} + +// SetHealthMonitor : Allow user to set HealthMonitor +func (_options *CreateLoadBalancerPoolOptions) SetHealthMonitor(healthMonitor LoadBalancerPoolHealthMonitorPrototypeIntf) *CreateLoadBalancerPoolOptions { + _options.HealthMonitor = healthMonitor + return _options +} + +// SetProtocol : Allow user to set Protocol +func (_options *CreateLoadBalancerPoolOptions) SetProtocol(protocol string) *CreateLoadBalancerPoolOptions { + _options.Protocol = core.StringPtr(protocol) + return _options +} + +// SetFailsafePolicy : Allow user to set FailsafePolicy +func (_options *CreateLoadBalancerPoolOptions) SetFailsafePolicy(failsafePolicy *LoadBalancerPoolFailsafePolicyPrototype) *CreateLoadBalancerPoolOptions { + _options.FailsafePolicy = failsafePolicy + return _options +} + +// SetMembers : Allow user to set Members +func (_options *CreateLoadBalancerPoolOptions) SetMembers(members []LoadBalancerPoolMemberPrototype) *CreateLoadBalancerPoolOptions { + _options.Members = members + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateLoadBalancerPoolOptions) SetName(name string) *CreateLoadBalancerPoolOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetProxyProtocol : Allow user to set ProxyProtocol +func (_options *CreateLoadBalancerPoolOptions) SetProxyProtocol(proxyProtocol string) *CreateLoadBalancerPoolOptions { + _options.ProxyProtocol = core.StringPtr(proxyProtocol) + return _options +} + +// SetSessionPersistence : Allow user to set SessionPersistence +func (_options *CreateLoadBalancerPoolOptions) SetSessionPersistence(sessionPersistence *LoadBalancerPoolSessionPersistencePrototype) *CreateLoadBalancerPoolOptions { + _options.SessionPersistence = sessionPersistence + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateLoadBalancerPoolOptions) SetHeaders(param map[string]string) *CreateLoadBalancerPoolOptions { + options.Headers = param + return options +} + +// CreateNetworkACLOptions : The CreateNetworkACL options. +type CreateNetworkACLOptions struct { + // The network ACL prototype object. + NetworkACLPrototype NetworkACLPrototypeIntf `json:"NetworkACLPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateNetworkACLOptions : Instantiate CreateNetworkACLOptions +func (*VpcV1) NewCreateNetworkACLOptions(networkACLPrototype NetworkACLPrototypeIntf) *CreateNetworkACLOptions { + return &CreateNetworkACLOptions{ + NetworkACLPrototype: networkACLPrototype, + } +} + +// SetNetworkACLPrototype : Allow user to set NetworkACLPrototype +func (_options *CreateNetworkACLOptions) SetNetworkACLPrototype(networkACLPrototype NetworkACLPrototypeIntf) *CreateNetworkACLOptions { + _options.NetworkACLPrototype = networkACLPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateNetworkACLOptions) SetHeaders(param map[string]string) *CreateNetworkACLOptions { + options.Headers = param + return options +} + +// CreateNetworkACLRuleOptions : The CreateNetworkACLRule options. +type CreateNetworkACLRuleOptions struct { + // The network ACL identifier. + NetworkACLID *string `json:"network_acl_id" validate:"required,ne="` + + // The network ACL rule prototype object. + NetworkACLRulePrototype NetworkACLRulePrototypeIntf `json:"NetworkACLRulePrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateNetworkACLRuleOptions : Instantiate CreateNetworkACLRuleOptions +func (*VpcV1) NewCreateNetworkACLRuleOptions(networkACLID string, networkACLRulePrototype NetworkACLRulePrototypeIntf) *CreateNetworkACLRuleOptions { + return &CreateNetworkACLRuleOptions{ + NetworkACLID: core.StringPtr(networkACLID), + NetworkACLRulePrototype: networkACLRulePrototype, + } +} + +// SetNetworkACLID : Allow user to set NetworkACLID +func (_options *CreateNetworkACLRuleOptions) SetNetworkACLID(networkACLID string) *CreateNetworkACLRuleOptions { + _options.NetworkACLID = core.StringPtr(networkACLID) + return _options +} + +// SetNetworkACLRulePrototype : Allow user to set NetworkACLRulePrototype +func (_options *CreateNetworkACLRuleOptions) SetNetworkACLRulePrototype(networkACLRulePrototype NetworkACLRulePrototypeIntf) *CreateNetworkACLRuleOptions { + _options.NetworkACLRulePrototype = networkACLRulePrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateNetworkACLRuleOptions) SetHeaders(param map[string]string) *CreateNetworkACLRuleOptions { + options.Headers = param + return options +} + +// CreatePlacementGroupOptions : The CreatePlacementGroup options. +type CreatePlacementGroupOptions struct { + // The strategy for this placement group: + // - `host_spread`: place on different compute hosts + // - `power_spread`: place on compute hosts that use different power sources. + Strategy *string `json:"strategy" validate:"required"` + + // The name for this placement group. The name must not be used by another placement group in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreatePlacementGroupOptions.Strategy property. +// The strategy for this placement group: +// - `host_spread`: place on different compute hosts +// - `power_spread`: place on compute hosts that use different power sources. +const ( + CreatePlacementGroupOptionsStrategyHostSpreadConst = "host_spread" + CreatePlacementGroupOptionsStrategyPowerSpreadConst = "power_spread" +) + +// NewCreatePlacementGroupOptions : Instantiate CreatePlacementGroupOptions +func (*VpcV1) NewCreatePlacementGroupOptions(strategy string) *CreatePlacementGroupOptions { + return &CreatePlacementGroupOptions{ + Strategy: core.StringPtr(strategy), + } +} + +// SetStrategy : Allow user to set Strategy +func (_options *CreatePlacementGroupOptions) SetStrategy(strategy string) *CreatePlacementGroupOptions { + _options.Strategy = core.StringPtr(strategy) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreatePlacementGroupOptions) SetName(name string) *CreatePlacementGroupOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreatePlacementGroupOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreatePlacementGroupOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreatePlacementGroupOptions) SetHeaders(param map[string]string) *CreatePlacementGroupOptions { + options.Headers = param + return options +} + +// CreatePrivatePathServiceGatewayAccountPolicyOptions : The CreatePrivatePathServiceGatewayAccountPolicy options. +type CreatePrivatePathServiceGatewayAccountPolicyOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // The access policy for the account. Updating the access policy only affects pending and future endpoint gateway + // bindings. + // - permit: access will be permitted + // - deny: access will be denied + // - review: access will be manually reviewed + // + // - Updating to `review` sets the status of future endpoint gateway bindings from + // this account to `pending`. + // - Updating to `permit` updates both the status of any `pending` and future endpoint + // gateway bindings from this account to `permitted`. + // - Updating to `deny` updates both the status of any `pending` and future endpoint + // gateway bindings from this account to `denied`. + AccessPolicy *string `json:"access_policy" validate:"required"` + + // The account for this access policy. The account must be unique across all account + // policies for this private path service gateway. + Account AccountIdentityIntf `json:"account" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreatePrivatePathServiceGatewayAccountPolicyOptions.AccessPolicy property. +// The access policy for the account. Updating the access policy only affects pending and future endpoint gateway +// bindings. +// - permit: access will be permitted +// - deny: access will be denied +// - review: access will be manually reviewed +// +// - Updating to `review` sets the status of future endpoint gateway bindings from +// this account to `pending`. +// - Updating to `permit` updates both the status of any `pending` and future endpoint +// gateway bindings from this account to `permitted`. +// - Updating to `deny` updates both the status of any `pending` and future endpoint +// gateway bindings from this account to `denied`. +const ( + CreatePrivatePathServiceGatewayAccountPolicyOptionsAccessPolicyDenyConst = "deny" + CreatePrivatePathServiceGatewayAccountPolicyOptionsAccessPolicyPermitConst = "permit" + CreatePrivatePathServiceGatewayAccountPolicyOptionsAccessPolicyReviewConst = "review" +) + +// NewCreatePrivatePathServiceGatewayAccountPolicyOptions : Instantiate CreatePrivatePathServiceGatewayAccountPolicyOptions +func (*VpcV1) NewCreatePrivatePathServiceGatewayAccountPolicyOptions(privatePathServiceGatewayID string, accessPolicy string, account AccountIdentityIntf) *CreatePrivatePathServiceGatewayAccountPolicyOptions { + return &CreatePrivatePathServiceGatewayAccountPolicyOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + AccessPolicy: core.StringPtr(accessPolicy), + Account: account, + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *CreatePrivatePathServiceGatewayAccountPolicyOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *CreatePrivatePathServiceGatewayAccountPolicyOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetAccessPolicy : Allow user to set AccessPolicy +func (_options *CreatePrivatePathServiceGatewayAccountPolicyOptions) SetAccessPolicy(accessPolicy string) *CreatePrivatePathServiceGatewayAccountPolicyOptions { + _options.AccessPolicy = core.StringPtr(accessPolicy) + return _options +} + +// SetAccount : Allow user to set Account +func (_options *CreatePrivatePathServiceGatewayAccountPolicyOptions) SetAccount(account AccountIdentityIntf) *CreatePrivatePathServiceGatewayAccountPolicyOptions { + _options.Account = account + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreatePrivatePathServiceGatewayAccountPolicyOptions) SetHeaders(param map[string]string) *CreatePrivatePathServiceGatewayAccountPolicyOptions { + options.Headers = param + return options +} + +// CreatePrivatePathServiceGatewayOptions : The CreatePrivatePathServiceGateway options. +type CreatePrivatePathServiceGatewayOptions struct { + // The load balancer for this private path service gateway. The load balancer must + // have `is_private_path` set to `true`. + // + // The private path service gateway will reside in the same VPC as the specified load + // balancer. + LoadBalancer LoadBalancerIdentityIntf `json:"load_balancer" validate:"required"` + + // The fully qualified domain names for this private path service gateway. Any uppercase letters will be converted to + // lowercase. + ServiceEndpoints []string `json:"service_endpoints" validate:"required"` + + // The policy to use for bindings from accounts without an explicit account policy. + DefaultAccessPolicy *string `json:"default_access_policy,omitempty"` + + // The name for this private path service gateway. The name must not be used by another private path service gateway in + // the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Indicates whether this private path service gateway has zonal affinity. + // - `true`: Traffic to the service from a zone the service resides in will remain in + // that zone. + // - `false`: Traffic to the service from a zone will be load balanced across all zones + // in the region the service resides in. + ZonalAffinity *bool `json:"zonal_affinity,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreatePrivatePathServiceGatewayOptions.DefaultAccessPolicy property. +// The policy to use for bindings from accounts without an explicit account policy. +const ( + CreatePrivatePathServiceGatewayOptionsDefaultAccessPolicyDenyConst = "deny" + CreatePrivatePathServiceGatewayOptionsDefaultAccessPolicyPermitConst = "permit" + CreatePrivatePathServiceGatewayOptionsDefaultAccessPolicyReviewConst = "review" +) + +// NewCreatePrivatePathServiceGatewayOptions : Instantiate CreatePrivatePathServiceGatewayOptions +func (*VpcV1) NewCreatePrivatePathServiceGatewayOptions(loadBalancer LoadBalancerIdentityIntf, serviceEndpoints []string) *CreatePrivatePathServiceGatewayOptions { + return &CreatePrivatePathServiceGatewayOptions{ + LoadBalancer: loadBalancer, + ServiceEndpoints: serviceEndpoints, + } +} + +// SetLoadBalancer : Allow user to set LoadBalancer +func (_options *CreatePrivatePathServiceGatewayOptions) SetLoadBalancer(loadBalancer LoadBalancerIdentityIntf) *CreatePrivatePathServiceGatewayOptions { + _options.LoadBalancer = loadBalancer + return _options +} + +// SetServiceEndpoints : Allow user to set ServiceEndpoints +func (_options *CreatePrivatePathServiceGatewayOptions) SetServiceEndpoints(serviceEndpoints []string) *CreatePrivatePathServiceGatewayOptions { + _options.ServiceEndpoints = serviceEndpoints + return _options +} + +// SetDefaultAccessPolicy : Allow user to set DefaultAccessPolicy +func (_options *CreatePrivatePathServiceGatewayOptions) SetDefaultAccessPolicy(defaultAccessPolicy string) *CreatePrivatePathServiceGatewayOptions { + _options.DefaultAccessPolicy = core.StringPtr(defaultAccessPolicy) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreatePrivatePathServiceGatewayOptions) SetName(name string) *CreatePrivatePathServiceGatewayOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreatePrivatePathServiceGatewayOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreatePrivatePathServiceGatewayOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetZonalAffinity : Allow user to set ZonalAffinity +func (_options *CreatePrivatePathServiceGatewayOptions) SetZonalAffinity(zonalAffinity bool) *CreatePrivatePathServiceGatewayOptions { + _options.ZonalAffinity = core.BoolPtr(zonalAffinity) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreatePrivatePathServiceGatewayOptions) SetHeaders(param map[string]string) *CreatePrivatePathServiceGatewayOptions { + options.Headers = param + return options +} + +// CreatePublicAddressRangeOptions : The CreatePublicAddressRange options. +type CreatePublicAddressRangeOptions struct { + // The total number of public IPv4 addresses required. Must be a power of 2. + Ipv4AddressCount *int64 `json:"ipv4_address_count" validate:"required"` + + // The name for this public address range. The name must not be used by another public address range in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The target to bind this public address range to. If unspecified, the public address + // range will not be bound to a target at creation. + Target *PublicAddressRangeTargetPrototype `json:"target,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreatePublicAddressRangeOptions : Instantiate CreatePublicAddressRangeOptions +func (*VpcV1) NewCreatePublicAddressRangeOptions(ipv4AddressCount int64) *CreatePublicAddressRangeOptions { + return &CreatePublicAddressRangeOptions{ + Ipv4AddressCount: core.Int64Ptr(ipv4AddressCount), + } +} + +// SetIpv4AddressCount : Allow user to set Ipv4AddressCount +func (_options *CreatePublicAddressRangeOptions) SetIpv4AddressCount(ipv4AddressCount int64) *CreatePublicAddressRangeOptions { + _options.Ipv4AddressCount = core.Int64Ptr(ipv4AddressCount) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreatePublicAddressRangeOptions) SetName(name string) *CreatePublicAddressRangeOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreatePublicAddressRangeOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreatePublicAddressRangeOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetTarget : Allow user to set Target +func (_options *CreatePublicAddressRangeOptions) SetTarget(target *PublicAddressRangeTargetPrototype) *CreatePublicAddressRangeOptions { + _options.Target = target + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreatePublicAddressRangeOptions) SetHeaders(param map[string]string) *CreatePublicAddressRangeOptions { + options.Headers = param + return options +} + +// CreatePublicGatewayOptions : The CreatePublicGateway options. +type CreatePublicGatewayOptions struct { + // The VPC this public gateway will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The zone this public gateway will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + FloatingIP PublicGatewayFloatingIPPrototypeIntf `json:"floating_ip,omitempty"` + + // The name for this public gateway. The name must not be used by another public gateway in the VPC. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreatePublicGatewayOptions : Instantiate CreatePublicGatewayOptions +func (*VpcV1) NewCreatePublicGatewayOptions(vpc VPCIdentityIntf, zone ZoneIdentityIntf) *CreatePublicGatewayOptions { + return &CreatePublicGatewayOptions{ + VPC: vpc, + Zone: zone, + } +} + +// SetVPC : Allow user to set VPC +func (_options *CreatePublicGatewayOptions) SetVPC(vpc VPCIdentityIntf) *CreatePublicGatewayOptions { + _options.VPC = vpc + return _options +} + +// SetZone : Allow user to set Zone +func (_options *CreatePublicGatewayOptions) SetZone(zone ZoneIdentityIntf) *CreatePublicGatewayOptions { + _options.Zone = zone + return _options +} + +// SetFloatingIP : Allow user to set FloatingIP +func (_options *CreatePublicGatewayOptions) SetFloatingIP(floatingIP PublicGatewayFloatingIPPrototypeIntf) *CreatePublicGatewayOptions { + _options.FloatingIP = floatingIP + return _options +} + +// SetName : Allow user to set Name +func (_options *CreatePublicGatewayOptions) SetName(name string) *CreatePublicGatewayOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreatePublicGatewayOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreatePublicGatewayOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreatePublicGatewayOptions) SetHeaders(param map[string]string) *CreatePublicGatewayOptions { + options.Headers = param + return options +} + +// CreateReservationOptions : The CreateReservation options. +type CreateReservationOptions struct { + // The capacity reservation configuration to use. + Capacity *ReservationCapacityPrototype `json:"capacity" validate:"required"` + + // The committed use configuration to use for this reservation. + CommittedUse *ReservationCommittedUsePrototype `json:"committed_use" validate:"required"` + + // The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or + // [bare metal server + // profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) + // to use for this reservation. + Profile *ReservationProfilePrototype `json:"profile" validate:"required"` + + // The zone to use for this reservation. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The affinity policy to use for this reservation: + // - `automatic`: The reservation will be automatically selected + // - `restricted`: The reservation must be manually requested. + AffinityPolicy *string `json:"affinity_policy,omitempty"` + + // The name for this reservation. The name must not be used by another reservation in the region. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateReservationOptions.AffinityPolicy property. +// The affinity policy to use for this reservation: +// - `automatic`: The reservation will be automatically selected +// - `restricted`: The reservation must be manually requested. +const ( + CreateReservationOptionsAffinityPolicyAutomaticConst = "automatic" + CreateReservationOptionsAffinityPolicyRestrictedConst = "restricted" +) + +// NewCreateReservationOptions : Instantiate CreateReservationOptions +func (*VpcV1) NewCreateReservationOptions(capacity *ReservationCapacityPrototype, committedUse *ReservationCommittedUsePrototype, profile *ReservationProfilePrototype, zone ZoneIdentityIntf) *CreateReservationOptions { + return &CreateReservationOptions{ + Capacity: capacity, + CommittedUse: committedUse, + Profile: profile, + Zone: zone, + } +} + +// SetCapacity : Allow user to set Capacity +func (_options *CreateReservationOptions) SetCapacity(capacity *ReservationCapacityPrototype) *CreateReservationOptions { + _options.Capacity = capacity + return _options +} + +// SetCommittedUse : Allow user to set CommittedUse +func (_options *CreateReservationOptions) SetCommittedUse(committedUse *ReservationCommittedUsePrototype) *CreateReservationOptions { + _options.CommittedUse = committedUse + return _options +} + +// SetProfile : Allow user to set Profile +func (_options *CreateReservationOptions) SetProfile(profile *ReservationProfilePrototype) *CreateReservationOptions { + _options.Profile = profile + return _options +} + +// SetZone : Allow user to set Zone +func (_options *CreateReservationOptions) SetZone(zone ZoneIdentityIntf) *CreateReservationOptions { + _options.Zone = zone + return _options +} + +// SetAffinityPolicy : Allow user to set AffinityPolicy +func (_options *CreateReservationOptions) SetAffinityPolicy(affinityPolicy string) *CreateReservationOptions { + _options.AffinityPolicy = core.StringPtr(affinityPolicy) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateReservationOptions) SetName(name string) *CreateReservationOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateReservationOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateReservationOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateReservationOptions) SetHeaders(param map[string]string) *CreateReservationOptions { + options.Headers = param + return options +} + +// CreateSecurityGroupOptions : The CreateSecurityGroup options. +type CreateSecurityGroupOptions struct { + // The VPC this security group will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The name for this security group. The name must not be used by another security group for the VPC. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The prototype objects for rules to be created for this security group. If unspecified, no rules will be created, + // resulting in no traffic being allowed. + Rules []SecurityGroupRulePrototypeIntf `json:"rules,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateSecurityGroupOptions : Instantiate CreateSecurityGroupOptions +func (*VpcV1) NewCreateSecurityGroupOptions(vpc VPCIdentityIntf) *CreateSecurityGroupOptions { + return &CreateSecurityGroupOptions{ + VPC: vpc, + } +} + +// SetVPC : Allow user to set VPC +func (_options *CreateSecurityGroupOptions) SetVPC(vpc VPCIdentityIntf) *CreateSecurityGroupOptions { + _options.VPC = vpc + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateSecurityGroupOptions) SetName(name string) *CreateSecurityGroupOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateSecurityGroupOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateSecurityGroupOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetRules : Allow user to set Rules +func (_options *CreateSecurityGroupOptions) SetRules(rules []SecurityGroupRulePrototypeIntf) *CreateSecurityGroupOptions { + _options.Rules = rules + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateSecurityGroupOptions) SetHeaders(param map[string]string) *CreateSecurityGroupOptions { + options.Headers = param + return options +} + +// CreateSecurityGroupRuleOptions : The CreateSecurityGroupRule options. +type CreateSecurityGroupRuleOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // The properties of the security group rule to be created. + SecurityGroupRulePrototype SecurityGroupRulePrototypeIntf `json:"SecurityGroupRulePrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateSecurityGroupRuleOptions : Instantiate CreateSecurityGroupRuleOptions +func (*VpcV1) NewCreateSecurityGroupRuleOptions(securityGroupID string, securityGroupRulePrototype SecurityGroupRulePrototypeIntf) *CreateSecurityGroupRuleOptions { + return &CreateSecurityGroupRuleOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + SecurityGroupRulePrototype: securityGroupRulePrototype, + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *CreateSecurityGroupRuleOptions) SetSecurityGroupID(securityGroupID string) *CreateSecurityGroupRuleOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetSecurityGroupRulePrototype : Allow user to set SecurityGroupRulePrototype +func (_options *CreateSecurityGroupRuleOptions) SetSecurityGroupRulePrototype(securityGroupRulePrototype SecurityGroupRulePrototypeIntf) *CreateSecurityGroupRuleOptions { + _options.SecurityGroupRulePrototype = securityGroupRulePrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateSecurityGroupRuleOptions) SetHeaders(param map[string]string) *CreateSecurityGroupRuleOptions { + options.Headers = param + return options +} + +// CreateSecurityGroupTargetBindingOptions : The CreateSecurityGroupTargetBinding options. +type CreateSecurityGroupTargetBindingOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // The security group target identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateSecurityGroupTargetBindingOptions : Instantiate CreateSecurityGroupTargetBindingOptions +func (*VpcV1) NewCreateSecurityGroupTargetBindingOptions(securityGroupID string, id string) *CreateSecurityGroupTargetBindingOptions { + return &CreateSecurityGroupTargetBindingOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + ID: core.StringPtr(id), + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *CreateSecurityGroupTargetBindingOptions) SetSecurityGroupID(securityGroupID string) *CreateSecurityGroupTargetBindingOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *CreateSecurityGroupTargetBindingOptions) SetID(id string) *CreateSecurityGroupTargetBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateSecurityGroupTargetBindingOptions) SetHeaders(param map[string]string) *CreateSecurityGroupTargetBindingOptions { + options.Headers = param + return options +} + +// CreateShareMountTargetOptions : The CreateShareMountTarget options. +type CreateShareMountTargetOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The share mount target prototype object. + ShareMountTargetPrototype ShareMountTargetPrototypeIntf `json:"ShareMountTargetPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateShareMountTargetOptions : Instantiate CreateShareMountTargetOptions +func (*VpcV1) NewCreateShareMountTargetOptions(shareID string, shareMountTargetPrototype ShareMountTargetPrototypeIntf) *CreateShareMountTargetOptions { + return &CreateShareMountTargetOptions{ + ShareID: core.StringPtr(shareID), + ShareMountTargetPrototype: shareMountTargetPrototype, + } +} + +// SetShareID : Allow user to set ShareID +func (_options *CreateShareMountTargetOptions) SetShareID(shareID string) *CreateShareMountTargetOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetShareMountTargetPrototype : Allow user to set ShareMountTargetPrototype +func (_options *CreateShareMountTargetOptions) SetShareMountTargetPrototype(shareMountTargetPrototype ShareMountTargetPrototypeIntf) *CreateShareMountTargetOptions { + _options.ShareMountTargetPrototype = shareMountTargetPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateShareMountTargetOptions) SetHeaders(param map[string]string) *CreateShareMountTargetOptions { + options.Headers = param + return options +} + +// CreateShareOptions : The CreateShare options. +type CreateShareOptions struct { + // The file share prototype object. + SharePrototype SharePrototypeIntf `json:"SharePrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateShareOptions : Instantiate CreateShareOptions +func (*VpcV1) NewCreateShareOptions(sharePrototype SharePrototypeIntf) *CreateShareOptions { + return &CreateShareOptions{ + SharePrototype: sharePrototype, + } +} + +// SetSharePrototype : Allow user to set SharePrototype +func (_options *CreateShareOptions) SetSharePrototype(sharePrototype SharePrototypeIntf) *CreateShareOptions { + _options.SharePrototype = sharePrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateShareOptions) SetHeaders(param map[string]string) *CreateShareOptions { + options.Headers = param + return options +} + +// CreateShareSnapshotOptions : The CreateShareSnapshot options. +type CreateShareSnapshotOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The name for this share snapshot. The name must not be used by another snapshot for the file share. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + UserTags []string `json:"user_tags,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateShareSnapshotOptions : Instantiate CreateShareSnapshotOptions +func (*VpcV1) NewCreateShareSnapshotOptions(shareID string) *CreateShareSnapshotOptions { + return &CreateShareSnapshotOptions{ + ShareID: core.StringPtr(shareID), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *CreateShareSnapshotOptions) SetShareID(shareID string) *CreateShareSnapshotOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateShareSnapshotOptions) SetName(name string) *CreateShareSnapshotOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetUserTags : Allow user to set UserTags +func (_options *CreateShareSnapshotOptions) SetUserTags(userTags []string) *CreateShareSnapshotOptions { + _options.UserTags = userTags + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateShareSnapshotOptions) SetHeaders(param map[string]string) *CreateShareSnapshotOptions { + options.Headers = param + return options +} + +// CreateSnapshotCloneOptions : The CreateSnapshotClone options. +type CreateSnapshotCloneOptions struct { + // The snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // The zone name. + ZoneName *string `json:"zone_name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateSnapshotCloneOptions : Instantiate CreateSnapshotCloneOptions +func (*VpcV1) NewCreateSnapshotCloneOptions(id string, zoneName string) *CreateSnapshotCloneOptions { + return &CreateSnapshotCloneOptions{ + ID: core.StringPtr(id), + ZoneName: core.StringPtr(zoneName), + } +} + +// SetID : Allow user to set ID +func (_options *CreateSnapshotCloneOptions) SetID(id string) *CreateSnapshotCloneOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *CreateSnapshotCloneOptions) SetZoneName(zoneName string) *CreateSnapshotCloneOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateSnapshotCloneOptions) SetHeaders(param map[string]string) *CreateSnapshotCloneOptions { + options.Headers = param + return options +} + +// CreateSnapshotConsistencyGroupOptions : The CreateSnapshotConsistencyGroup options. +type CreateSnapshotConsistencyGroupOptions struct { + // The snapshot consistency group prototype object. + SnapshotConsistencyGroupPrototype SnapshotConsistencyGroupPrototypeIntf `json:"SnapshotConsistencyGroupPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateSnapshotConsistencyGroupOptions : Instantiate CreateSnapshotConsistencyGroupOptions +func (*VpcV1) NewCreateSnapshotConsistencyGroupOptions(snapshotConsistencyGroupPrototype SnapshotConsistencyGroupPrototypeIntf) *CreateSnapshotConsistencyGroupOptions { + return &CreateSnapshotConsistencyGroupOptions{ + SnapshotConsistencyGroupPrototype: snapshotConsistencyGroupPrototype, + } +} + +// SetSnapshotConsistencyGroupPrototype : Allow user to set SnapshotConsistencyGroupPrototype +func (_options *CreateSnapshotConsistencyGroupOptions) SetSnapshotConsistencyGroupPrototype(snapshotConsistencyGroupPrototype SnapshotConsistencyGroupPrototypeIntf) *CreateSnapshotConsistencyGroupOptions { + _options.SnapshotConsistencyGroupPrototype = snapshotConsistencyGroupPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateSnapshotConsistencyGroupOptions) SetHeaders(param map[string]string) *CreateSnapshotConsistencyGroupOptions { + options.Headers = param + return options +} + +// CreateSnapshotOptions : The CreateSnapshot options. +type CreateSnapshotOptions struct { + // The snapshot prototype object. + SnapshotPrototype SnapshotPrototypeIntf `json:"SnapshotPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateSnapshotOptions : Instantiate CreateSnapshotOptions +func (*VpcV1) NewCreateSnapshotOptions(snapshotPrototype SnapshotPrototypeIntf) *CreateSnapshotOptions { + return &CreateSnapshotOptions{ + SnapshotPrototype: snapshotPrototype, + } +} + +// SetSnapshotPrototype : Allow user to set SnapshotPrototype +func (_options *CreateSnapshotOptions) SetSnapshotPrototype(snapshotPrototype SnapshotPrototypeIntf) *CreateSnapshotOptions { + _options.SnapshotPrototype = snapshotPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateSnapshotOptions) SetHeaders(param map[string]string) *CreateSnapshotOptions { + options.Headers = param + return options +} + +// CreateSubnetOptions : The CreateSubnet options. +type CreateSubnetOptions struct { + // The subnet prototype object. + SubnetPrototype SubnetPrototypeIntf `json:"SubnetPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateSubnetOptions : Instantiate CreateSubnetOptions +func (*VpcV1) NewCreateSubnetOptions(subnetPrototype SubnetPrototypeIntf) *CreateSubnetOptions { + return &CreateSubnetOptions{ + SubnetPrototype: subnetPrototype, + } +} + +// SetSubnetPrototype : Allow user to set SubnetPrototype +func (_options *CreateSubnetOptions) SetSubnetPrototype(subnetPrototype SubnetPrototypeIntf) *CreateSubnetOptions { + _options.SubnetPrototype = subnetPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateSubnetOptions) SetHeaders(param map[string]string) *CreateSubnetOptions { + options.Headers = param + return options +} + +// CreateSubnetReservedIPOptions : The CreateSubnetReservedIP options. +type CreateSubnetReservedIPOptions struct { + // The subnet identifier. + SubnetID *string `json:"subnet_id" validate:"required,ne="` + + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. Must be `false` if the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The target to bind this reserved IP to. The target must be in the same VPC. + // + // The following targets are supported: + // - An endpoint gateway not already bound to a reserved IP in the subnet's zone. + // - A virtual network interface. + // + // If unspecified, the reserved IP will be created unbound. + Target ReservedIPTargetPrototypeIntf `json:"target,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateSubnetReservedIPOptions : Instantiate CreateSubnetReservedIPOptions +func (*VpcV1) NewCreateSubnetReservedIPOptions(subnetID string) *CreateSubnetReservedIPOptions { + return &CreateSubnetReservedIPOptions{ + SubnetID: core.StringPtr(subnetID), + } +} + +// SetSubnetID : Allow user to set SubnetID +func (_options *CreateSubnetReservedIPOptions) SetSubnetID(subnetID string) *CreateSubnetReservedIPOptions { + _options.SubnetID = core.StringPtr(subnetID) + return _options +} + +// SetAddress : Allow user to set Address +func (_options *CreateSubnetReservedIPOptions) SetAddress(address string) *CreateSubnetReservedIPOptions { + _options.Address = core.StringPtr(address) + return _options +} + +// SetAutoDelete : Allow user to set AutoDelete +func (_options *CreateSubnetReservedIPOptions) SetAutoDelete(autoDelete bool) *CreateSubnetReservedIPOptions { + _options.AutoDelete = core.BoolPtr(autoDelete) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateSubnetReservedIPOptions) SetName(name string) *CreateSubnetReservedIPOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetTarget : Allow user to set Target +func (_options *CreateSubnetReservedIPOptions) SetTarget(target ReservedIPTargetPrototypeIntf) *CreateSubnetReservedIPOptions { + _options.Target = target + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateSubnetReservedIPOptions) SetHeaders(param map[string]string) *CreateSubnetReservedIPOptions { + options.Headers = param + return options +} + +// CreateVirtualNetworkInterfaceOptions : The CreateVirtualNetworkInterface options. +type CreateVirtualNetworkInterfaceOptions struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on + // this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. Must be `false` if the virtual network interface is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP + // identity, or a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be + // in the primary IP's subnet. + // + // If reserved IP identities are provided, the specified reserved IPs must be unbound. + // + // If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network + // interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet + // will be automatically selected and reserved. + Ips []VirtualNetworkInterfaceIPPrototypeIntf `json:"ips,omitempty"` + + // The name for this virtual network interface. The name must not be used by another virtual network interface in the + // VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are + // reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the virtual network interface. May be either a + // reserved IP identity, or a reserved IP prototype object which will be used to create a + // new reserved IP. + // + // If a reserved IP identity is provided, the specified reserved IP must be unbound. + // + // If a reserved IP prototype object with an address is provided, the address must be + // available on the virtual network interface's subnet. If no address is specified, + // an available address on the subnet will be automatically selected and reserved. + PrimaryIP VirtualNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The protocol state filtering mode to use for this virtual network interface. If + // `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` + // resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC + // for the subnet is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. Required if `primary_ip` does not specify a reserved IP + // identity. + Subnet SubnetIdentityIntf `json:"subnet,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateVirtualNetworkInterfaceOptions.ProtocolStateFilteringMode property. +// The protocol state filtering mode to use for this virtual network interface. If +// `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` +// resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. +const ( + CreateVirtualNetworkInterfaceOptionsProtocolStateFilteringModeAutoConst = "auto" + CreateVirtualNetworkInterfaceOptionsProtocolStateFilteringModeDisabledConst = "disabled" + CreateVirtualNetworkInterfaceOptionsProtocolStateFilteringModeEnabledConst = "enabled" +) + +// NewCreateVirtualNetworkInterfaceOptions : Instantiate CreateVirtualNetworkInterfaceOptions +func (*VpcV1) NewCreateVirtualNetworkInterfaceOptions() *CreateVirtualNetworkInterfaceOptions { + return &CreateVirtualNetworkInterfaceOptions{} +} + +// SetAllowIPSpoofing : Allow user to set AllowIPSpoofing +func (_options *CreateVirtualNetworkInterfaceOptions) SetAllowIPSpoofing(allowIPSpoofing bool) *CreateVirtualNetworkInterfaceOptions { + _options.AllowIPSpoofing = core.BoolPtr(allowIPSpoofing) + return _options +} + +// SetAutoDelete : Allow user to set AutoDelete +func (_options *CreateVirtualNetworkInterfaceOptions) SetAutoDelete(autoDelete bool) *CreateVirtualNetworkInterfaceOptions { + _options.AutoDelete = core.BoolPtr(autoDelete) + return _options +} + +// SetEnableInfrastructureNat : Allow user to set EnableInfrastructureNat +func (_options *CreateVirtualNetworkInterfaceOptions) SetEnableInfrastructureNat(enableInfrastructureNat bool) *CreateVirtualNetworkInterfaceOptions { + _options.EnableInfrastructureNat = core.BoolPtr(enableInfrastructureNat) + return _options +} + +// SetIps : Allow user to set Ips +func (_options *CreateVirtualNetworkInterfaceOptions) SetIps(ips []VirtualNetworkInterfaceIPPrototypeIntf) *CreateVirtualNetworkInterfaceOptions { + _options.Ips = ips + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVirtualNetworkInterfaceOptions) SetName(name string) *CreateVirtualNetworkInterfaceOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetPrimaryIP : Allow user to set PrimaryIP +func (_options *CreateVirtualNetworkInterfaceOptions) SetPrimaryIP(primaryIP VirtualNetworkInterfacePrimaryIPPrototypeIntf) *CreateVirtualNetworkInterfaceOptions { + _options.PrimaryIP = primaryIP + return _options +} + +// SetProtocolStateFilteringMode : Allow user to set ProtocolStateFilteringMode +func (_options *CreateVirtualNetworkInterfaceOptions) SetProtocolStateFilteringMode(protocolStateFilteringMode string) *CreateVirtualNetworkInterfaceOptions { + _options.ProtocolStateFilteringMode = core.StringPtr(protocolStateFilteringMode) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateVirtualNetworkInterfaceOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateVirtualNetworkInterfaceOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetSecurityGroups : Allow user to set SecurityGroups +func (_options *CreateVirtualNetworkInterfaceOptions) SetSecurityGroups(securityGroups []SecurityGroupIdentityIntf) *CreateVirtualNetworkInterfaceOptions { + _options.SecurityGroups = securityGroups + return _options +} + +// SetSubnet : Allow user to set Subnet +func (_options *CreateVirtualNetworkInterfaceOptions) SetSubnet(subnet SubnetIdentityIntf) *CreateVirtualNetworkInterfaceOptions { + _options.Subnet = subnet + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVirtualNetworkInterfaceOptions) SetHeaders(param map[string]string) *CreateVirtualNetworkInterfaceOptions { + options.Headers = param + return options +} + +// CreateVolumeOptions : The CreateVolume options. +type CreateVolumeOptions struct { + // The volume prototype object. + VolumePrototype VolumePrototypeIntf `json:"VolumePrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateVolumeOptions : Instantiate CreateVolumeOptions +func (*VpcV1) NewCreateVolumeOptions(volumePrototype VolumePrototypeIntf) *CreateVolumeOptions { + return &CreateVolumeOptions{ + VolumePrototype: volumePrototype, + } +} + +// SetVolumePrototype : Allow user to set VolumePrototype +func (_options *CreateVolumeOptions) SetVolumePrototype(volumePrototype VolumePrototypeIntf) *CreateVolumeOptions { + _options.VolumePrototype = volumePrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVolumeOptions) SetHeaders(param map[string]string) *CreateVolumeOptions { + options.Headers = param + return options +} + +// CreateVPCAddressPrefixOptions : The CreateVPCAddressPrefix options. +type CreateVPCAddressPrefixOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The IPv4 range of the address prefix, expressed in CIDR format. The range must not overlap with any existing address + // prefixes in the VPC or any of the following reserved address ranges: + // + // - `127.0.0.0/8` (IPv4 loopback addresses) + // - `161.26.0.0/16` (IBM services) + // - `166.8.0.0/14` (Cloud Service Endpoints) + // - `169.254.0.0/16` (IPv4 link-local addresses) + // - `224.0.0.0/4` (IPv4 multicast addresses) + // + // The prefix length of the address prefix's CIDR must be between `/9` (8,388,608 addresses) and `/29` (8 addresses). + CIDR *string `json:"cidr" validate:"required"` + + // The zone this address prefix will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // Indicates whether this will be the default address prefix for this zone in this VPC. If `true`, the VPC must not + // have a default address prefix for this zone. + IsDefault *bool `json:"is_default,omitempty"` + + // The name for this address prefix. The name must not be used by another address prefix for the VPC. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateVPCAddressPrefixOptions : Instantiate CreateVPCAddressPrefixOptions +func (*VpcV1) NewCreateVPCAddressPrefixOptions(vpcID string, cidr string, zone ZoneIdentityIntf) *CreateVPCAddressPrefixOptions { + return &CreateVPCAddressPrefixOptions{ + VPCID: core.StringPtr(vpcID), + CIDR: core.StringPtr(cidr), + Zone: zone, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *CreateVPCAddressPrefixOptions) SetVPCID(vpcID string) *CreateVPCAddressPrefixOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *CreateVPCAddressPrefixOptions) SetCIDR(cidr string) *CreateVPCAddressPrefixOptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetZone : Allow user to set Zone +func (_options *CreateVPCAddressPrefixOptions) SetZone(zone ZoneIdentityIntf) *CreateVPCAddressPrefixOptions { + _options.Zone = zone + return _options +} + +// SetIsDefault : Allow user to set IsDefault +func (_options *CreateVPCAddressPrefixOptions) SetIsDefault(isDefault bool) *CreateVPCAddressPrefixOptions { + _options.IsDefault = core.BoolPtr(isDefault) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVPCAddressPrefixOptions) SetName(name string) *CreateVPCAddressPrefixOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPCAddressPrefixOptions) SetHeaders(param map[string]string) *CreateVPCAddressPrefixOptions { + options.Headers = param + return options +} + +// CreateVPCDnsResolutionBindingOptions : The CreateVPCDnsResolutionBinding options. +type CreateVPCDnsResolutionBindingOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The VPC to bind this VPC to for DNS resolution. The VPC must be different from the VPC + // specified in the URL, must have `dns.enable_hub` set to `true`, and may be in a + // different account (subject to IAM policies). + // + // Additionally, the VPC specified in the URL (this VPC) must have `dns.enable_hub` set + // to `false` and a `dns.resolution_binding_count` of zero. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The name for this DNS resolution binding. The name must not be used by another DNS resolution binding for the VPC. + // If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateVPCDnsResolutionBindingOptions : Instantiate CreateVPCDnsResolutionBindingOptions +func (*VpcV1) NewCreateVPCDnsResolutionBindingOptions(vpcID string, vpc VPCIdentityIntf) *CreateVPCDnsResolutionBindingOptions { + return &CreateVPCDnsResolutionBindingOptions{ + VPCID: core.StringPtr(vpcID), + VPC: vpc, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *CreateVPCDnsResolutionBindingOptions) SetVPCID(vpcID string) *CreateVPCDnsResolutionBindingOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetVPC : Allow user to set VPC +func (_options *CreateVPCDnsResolutionBindingOptions) SetVPC(vpc VPCIdentityIntf) *CreateVPCDnsResolutionBindingOptions { + _options.VPC = vpc + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVPCDnsResolutionBindingOptions) SetName(name string) *CreateVPCDnsResolutionBindingOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPCDnsResolutionBindingOptions) SetHeaders(param map[string]string) *CreateVPCDnsResolutionBindingOptions { + options.Headers = param + return options +} + +// CreateVPCOptions : The CreateVPC options. +type CreateVPCOptions struct { + // Indicates whether a [default address prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-configuring-address-prefixes) + // will be automatically created for each zone in this VPC. If `manual`, this VPC will be created with no default + // address prefixes. + // + // Since address prefixes are managed identically regardless of whether they were automatically created, the value is + // not preserved as a VPC property. + AddressPrefixManagement *string `json:"address_prefix_management,omitempty"` + + // Indicates whether this VPC will be connected to Classic Infrastructure. If true, this VPC's resources will have + // private network connectivity to the account's Classic Infrastructure resources. Only one VPC, per region, may be + // connected in this way. This value is set at creation and subsequently immutable. + // + // Setting this property to `true` is supported only for accounts that have been + // [granted approval](https://cloud.ibm.com/docs/vpc?topic=vpc-setting-up-access-to-classic-infrastructure). Instead, + // use a [Transit Gateway](https://cloud.ibm.com/docs/transit-gateway) to connect this VPC to Classic Infrastructure. + // Deprecated: this field is deprecated and may be removed in a future release. + ClassicAccess *bool `json:"classic_access,omitempty"` + + // The DNS configuration for this VPC. + // + // If unspecified, the system will assign DNS servers capable of resolving hosts and endpoint + // gateways within this VPC, and hosts on the internet. + Dns *VpcdnsPrototype `json:"dns,omitempty"` + + // The name for this VPC. The name must not be used by another VPC in the region. If unspecified, the name will be a + // hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateVPCOptions.AddressPrefixManagement property. +// Indicates whether a [default address prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-configuring-address-prefixes) +// will be automatically created for each zone in this VPC. If `manual`, this VPC will be created with no default +// address prefixes. +// +// Since address prefixes are managed identically regardless of whether they were automatically created, the value is +// not preserved as a VPC property. +const ( + CreateVPCOptionsAddressPrefixManagementAutoConst = "auto" + CreateVPCOptionsAddressPrefixManagementManualConst = "manual" +) + +// NewCreateVPCOptions : Instantiate CreateVPCOptions +func (*VpcV1) NewCreateVPCOptions() *CreateVPCOptions { + return &CreateVPCOptions{} +} + +// SetAddressPrefixManagement : Allow user to set AddressPrefixManagement +func (_options *CreateVPCOptions) SetAddressPrefixManagement(addressPrefixManagement string) *CreateVPCOptions { + _options.AddressPrefixManagement = core.StringPtr(addressPrefixManagement) + return _options +} + +// SetClassicAccess : Allow user to set ClassicAccess +// Deprecated: this method is deprecated and may be removed in a future release. +func (_options *CreateVPCOptions) SetClassicAccess(classicAccess bool) *CreateVPCOptions { + _options.ClassicAccess = core.BoolPtr(classicAccess) + return _options +} + +// SetDns : Allow user to set Dns +func (_options *CreateVPCOptions) SetDns(dns *VpcdnsPrototype) *CreateVPCOptions { + _options.Dns = dns + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVPCOptions) SetName(name string) *CreateVPCOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateVPCOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateVPCOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPCOptions) SetHeaders(param map[string]string) *CreateVPCOptions { + options.Headers = param + return options +} + +// CreateVPCRouteOptions : The CreateVPCRoute options. +type CreateVPCRouteOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The destination CIDR of the route. The host identifier in the CIDR must be zero. + // + // At most two routes per `zone` in a table can have the same `destination` and + // `priority`, and only if both routes have an `action` of `deliver` and the `next_hop` is an IP address. + Destination *string `json:"destination" validate:"required"` + + // The zone to apply the route to. + // + // If subnets are attached to the route's routing table, egress traffic from those + // subnets in this zone will be subject to this route. If this route's routing table + // has any of `route_direct_link_ingress`, `route_internet_ingress`, + // `route_transit_gateway_ingress` or `route_vpc_zone_ingress` set to`true`, traffic + // from those ingress sources arriving in this zone will be subject to this route. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The action to perform with a packet matching the route: + // - `delegate`: delegate to system-provided routes + // - `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes + // - `deliver`: deliver the packet to the specified `next_hop` + // - `drop`: drop the packet. + Action *string `json:"action,omitempty"` + + // Indicates whether this route will be advertised to the ingress sources specified by the `advertise_routes_to` + // routing table property. + // + // All routes in a routing table with the same `destination` and `zone` must have the same + // `advertise` value. + Advertise *bool `json:"advertise,omitempty"` + + // The name for this route. The name must not be used by another route in the routing table. Names starting with `ibm-` + // are reserved for system-provided routes, and are not allowed. If unspecified, the name will be a hyphenated list of + // randomly-selected words. + Name *string `json:"name,omitempty"` + + // If `action` is `deliver`, the next hop that packets will be delivered to (must not be + // `0.0.0.0`). For other `action` values, it must be omitted or specified as `0.0.0.0`. + // + // At most two routes per `zone` in a table can have the same `destination` and `priority`, + // and only when each route has an `action` of `deliver` and `next_hop` is an IP address. + NextHop RouteNextHopPrototypeIntf `json:"next_hop,omitempty"` + + // The priority of this route. Smaller values have higher priority. + // + // If a routing table contains multiple routes with the same `zone` and `destination`, the route with the highest + // priority (smallest value) is selected. If two routes have the same `destination` and `priority`, traffic is + // distributed between them. + Priority *int64 `json:"priority,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateVPCRouteOptions.Action property. +// The action to perform with a packet matching the route: +// - `delegate`: delegate to system-provided routes +// - `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes +// - `deliver`: deliver the packet to the specified `next_hop` +// - `drop`: drop the packet. +const ( + CreateVPCRouteOptionsActionDelegateConst = "delegate" + CreateVPCRouteOptionsActionDelegateVPCConst = "delegate_vpc" + CreateVPCRouteOptionsActionDeliverConst = "deliver" + CreateVPCRouteOptionsActionDropConst = "drop" +) + +// NewCreateVPCRouteOptions : Instantiate CreateVPCRouteOptions +func (*VpcV1) NewCreateVPCRouteOptions(vpcID string, destination string, zone ZoneIdentityIntf) *CreateVPCRouteOptions { + return &CreateVPCRouteOptions{ + VPCID: core.StringPtr(vpcID), + Destination: core.StringPtr(destination), + Zone: zone, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *CreateVPCRouteOptions) SetVPCID(vpcID string) *CreateVPCRouteOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetDestination : Allow user to set Destination +func (_options *CreateVPCRouteOptions) SetDestination(destination string) *CreateVPCRouteOptions { + _options.Destination = core.StringPtr(destination) + return _options +} + +// SetZone : Allow user to set Zone +func (_options *CreateVPCRouteOptions) SetZone(zone ZoneIdentityIntf) *CreateVPCRouteOptions { + _options.Zone = zone + return _options +} + +// SetAction : Allow user to set Action +func (_options *CreateVPCRouteOptions) SetAction(action string) *CreateVPCRouteOptions { + _options.Action = core.StringPtr(action) + return _options +} + +// SetAdvertise : Allow user to set Advertise +func (_options *CreateVPCRouteOptions) SetAdvertise(advertise bool) *CreateVPCRouteOptions { + _options.Advertise = core.BoolPtr(advertise) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVPCRouteOptions) SetName(name string) *CreateVPCRouteOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetNextHop : Allow user to set NextHop +func (_options *CreateVPCRouteOptions) SetNextHop(nextHop RouteNextHopPrototypeIntf) *CreateVPCRouteOptions { + _options.NextHop = nextHop + return _options +} + +// SetPriority : Allow user to set Priority +func (_options *CreateVPCRouteOptions) SetPriority(priority int64) *CreateVPCRouteOptions { + _options.Priority = core.Int64Ptr(priority) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPCRouteOptions) SetHeaders(param map[string]string) *CreateVPCRouteOptions { + options.Headers = param + return options +} + +// CreateVPCRoutingTableOptions : The CreateVPCRoutingTable options. +type CreateVPCRoutingTableOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The filters specifying the resources that may create routes in this routing table. + // + // If specified, `resource_type` must be `vpn_gateway` or `vpn_server`. + AcceptRoutesFrom []ResourceFilter `json:"accept_routes_from,omitempty"` + + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these + // sources. + AdvertiseRoutesTo []string `json:"advertise_routes_to,omitempty"` + + // The name for this routing table. The name must not be used by another routing table in the VPC. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // If set to `true`, this routing table will be used to route traffic that originates from [Direct + // Link](https://cloud.ibm.com/docs/dl) to this VPC. The VPC must not already have a routing table with this property + // set to `true`. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + // + // If [Classic Access](https://cloud.ibm.com/docs/vpc?topic=vpc-setting-up-access-to-classic-infrastructure) is enabled + // for this VPC, and this property is set to `true`, its incoming traffic will also be routed according to this routing + // table. + RouteDirectLinkIngress *bool `json:"route_direct_link_ingress,omitempty"` + + // If set to `true`, this routing table will be used to route traffic that originates from the internet. For this to + // succeed, the VPC must not already have a routing table with this property set to `true`. + // + // Incoming traffic will be routed according to the routing table with two exceptions: + // - Traffic destined for IP addresses associated with public gateways will not be + // subject to routes in this routing table. + // - Routes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is + // an IP address in a subnet in the route's `zone` that is able to accept traffic. + // Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteInternetIngress *bool `json:"route_internet_ingress,omitempty"` + + // If set to `true`, this routing table will be used to route traffic that originates from [Transit + // Gateway](https://cloud.ibm.com/docs/transit-gateway) to this VPC. The VPC must not already have a routing table with + // this property set to `true`. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteTransitGatewayIngress *bool `json:"route_transit_gateway_ingress,omitempty"` + + // If set to `true`, this routing table will be used to route traffic that originates from subnets in other zones in + // this VPC. The VPC must not already have a routing table with this property set to `true`. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteVPCZoneIngress *bool `json:"route_vpc_zone_ingress,omitempty"` + + // The prototype objects for routes to create for this routing table. If unspecified, the routing table will be created + // with no routes. + Routes []RoutePrototype `json:"routes,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateVPCRoutingTableOptions.AdvertiseRoutesTo property. +// An ingress source that routes can be advertised to: +// +// - `direct_link` (requires `route_direct_link_ingress` be set to `true`) +// - `transit_gateway` (requires `route_transit_gateway_ingress` be set to `true`). +const ( + CreateVPCRoutingTableOptionsAdvertiseRoutesToDirectLinkConst = "direct_link" + CreateVPCRoutingTableOptionsAdvertiseRoutesToTransitGatewayConst = "transit_gateway" +) + +// NewCreateVPCRoutingTableOptions : Instantiate CreateVPCRoutingTableOptions +func (*VpcV1) NewCreateVPCRoutingTableOptions(vpcID string) *CreateVPCRoutingTableOptions { + return &CreateVPCRoutingTableOptions{ + VPCID: core.StringPtr(vpcID), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *CreateVPCRoutingTableOptions) SetVPCID(vpcID string) *CreateVPCRoutingTableOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetAcceptRoutesFrom : Allow user to set AcceptRoutesFrom +func (_options *CreateVPCRoutingTableOptions) SetAcceptRoutesFrom(acceptRoutesFrom []ResourceFilter) *CreateVPCRoutingTableOptions { + _options.AcceptRoutesFrom = acceptRoutesFrom + return _options +} + +// SetAdvertiseRoutesTo : Allow user to set AdvertiseRoutesTo +func (_options *CreateVPCRoutingTableOptions) SetAdvertiseRoutesTo(advertiseRoutesTo []string) *CreateVPCRoutingTableOptions { + _options.AdvertiseRoutesTo = advertiseRoutesTo + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVPCRoutingTableOptions) SetName(name string) *CreateVPCRoutingTableOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetRouteDirectLinkIngress : Allow user to set RouteDirectLinkIngress +func (_options *CreateVPCRoutingTableOptions) SetRouteDirectLinkIngress(routeDirectLinkIngress bool) *CreateVPCRoutingTableOptions { + _options.RouteDirectLinkIngress = core.BoolPtr(routeDirectLinkIngress) + return _options +} + +// SetRouteInternetIngress : Allow user to set RouteInternetIngress +func (_options *CreateVPCRoutingTableOptions) SetRouteInternetIngress(routeInternetIngress bool) *CreateVPCRoutingTableOptions { + _options.RouteInternetIngress = core.BoolPtr(routeInternetIngress) + return _options +} + +// SetRouteTransitGatewayIngress : Allow user to set RouteTransitGatewayIngress +func (_options *CreateVPCRoutingTableOptions) SetRouteTransitGatewayIngress(routeTransitGatewayIngress bool) *CreateVPCRoutingTableOptions { + _options.RouteTransitGatewayIngress = core.BoolPtr(routeTransitGatewayIngress) + return _options +} + +// SetRouteVPCZoneIngress : Allow user to set RouteVPCZoneIngress +func (_options *CreateVPCRoutingTableOptions) SetRouteVPCZoneIngress(routeVPCZoneIngress bool) *CreateVPCRoutingTableOptions { + _options.RouteVPCZoneIngress = core.BoolPtr(routeVPCZoneIngress) + return _options +} + +// SetRoutes : Allow user to set Routes +func (_options *CreateVPCRoutingTableOptions) SetRoutes(routes []RoutePrototype) *CreateVPCRoutingTableOptions { + _options.Routes = routes + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPCRoutingTableOptions) SetHeaders(param map[string]string) *CreateVPCRoutingTableOptions { + options.Headers = param + return options +} + +// CreateVPCRoutingTableRouteOptions : The CreateVPCRoutingTableRoute options. +type CreateVPCRoutingTableRouteOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The routing table identifier. + RoutingTableID *string `json:"routing_table_id" validate:"required,ne="` + + // The destination CIDR of the route. The host identifier in the CIDR must be zero. + // + // At most two routes per `zone` in a table can have the same `destination` and + // `priority`, and only if both routes have an `action` of `deliver` and the `next_hop` is an IP address. + Destination *string `json:"destination" validate:"required"` + + // The zone to apply the route to. + // + // If subnets are attached to the route's routing table, egress traffic from those + // subnets in this zone will be subject to this route. If this route's routing table + // has any of `route_direct_link_ingress`, `route_internet_ingress`, + // `route_transit_gateway_ingress` or `route_vpc_zone_ingress` set to`true`, traffic + // from those ingress sources arriving in this zone will be subject to this route. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The action to perform with a packet matching the route: + // - `delegate`: delegate to system-provided routes + // - `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes + // - `deliver`: deliver the packet to the specified `next_hop` + // - `drop`: drop the packet. + Action *string `json:"action,omitempty"` + + // Indicates whether this route will be advertised to the ingress sources specified by the `advertise_routes_to` + // routing table property. + // + // All routes in a routing table with the same `destination` and `zone` must have the same + // `advertise` value. + Advertise *bool `json:"advertise,omitempty"` + + // The name for this route. The name must not be used by another route in the routing table. Names starting with `ibm-` + // are reserved for system-provided routes, and are not allowed. If unspecified, the name will be a hyphenated list of + // randomly-selected words. + Name *string `json:"name,omitempty"` + + // If `action` is `deliver`, the next hop that packets will be delivered to (must not be + // `0.0.0.0`). For other `action` values, it must be omitted or specified as `0.0.0.0`. + // + // At most two routes per `zone` in a table can have the same `destination` and `priority`, + // and only when each route has an `action` of `deliver` and `next_hop` is an IP address. + NextHop RouteNextHopPrototypeIntf `json:"next_hop,omitempty"` + + // The priority of this route. Smaller values have higher priority. + // + // If a routing table contains multiple routes with the same `zone` and `destination`, the route with the highest + // priority (smallest value) is selected. If two routes have the same `destination` and `priority`, traffic is + // distributed between them. + Priority *int64 `json:"priority,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateVPCRoutingTableRouteOptions.Action property. +// The action to perform with a packet matching the route: +// - `delegate`: delegate to system-provided routes +// - `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes +// - `deliver`: deliver the packet to the specified `next_hop` +// - `drop`: drop the packet. +const ( + CreateVPCRoutingTableRouteOptionsActionDelegateConst = "delegate" + CreateVPCRoutingTableRouteOptionsActionDelegateVPCConst = "delegate_vpc" + CreateVPCRoutingTableRouteOptionsActionDeliverConst = "deliver" + CreateVPCRoutingTableRouteOptionsActionDropConst = "drop" +) + +// NewCreateVPCRoutingTableRouteOptions : Instantiate CreateVPCRoutingTableRouteOptions +func (*VpcV1) NewCreateVPCRoutingTableRouteOptions(vpcID string, routingTableID string, destination string, zone ZoneIdentityIntf) *CreateVPCRoutingTableRouteOptions { + return &CreateVPCRoutingTableRouteOptions{ + VPCID: core.StringPtr(vpcID), + RoutingTableID: core.StringPtr(routingTableID), + Destination: core.StringPtr(destination), + Zone: zone, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *CreateVPCRoutingTableRouteOptions) SetVPCID(vpcID string) *CreateVPCRoutingTableRouteOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetRoutingTableID : Allow user to set RoutingTableID +func (_options *CreateVPCRoutingTableRouteOptions) SetRoutingTableID(routingTableID string) *CreateVPCRoutingTableRouteOptions { + _options.RoutingTableID = core.StringPtr(routingTableID) + return _options +} + +// SetDestination : Allow user to set Destination +func (_options *CreateVPCRoutingTableRouteOptions) SetDestination(destination string) *CreateVPCRoutingTableRouteOptions { + _options.Destination = core.StringPtr(destination) + return _options +} + +// SetZone : Allow user to set Zone +func (_options *CreateVPCRoutingTableRouteOptions) SetZone(zone ZoneIdentityIntf) *CreateVPCRoutingTableRouteOptions { + _options.Zone = zone + return _options +} + +// SetAction : Allow user to set Action +func (_options *CreateVPCRoutingTableRouteOptions) SetAction(action string) *CreateVPCRoutingTableRouteOptions { + _options.Action = core.StringPtr(action) + return _options +} + +// SetAdvertise : Allow user to set Advertise +func (_options *CreateVPCRoutingTableRouteOptions) SetAdvertise(advertise bool) *CreateVPCRoutingTableRouteOptions { + _options.Advertise = core.BoolPtr(advertise) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVPCRoutingTableRouteOptions) SetName(name string) *CreateVPCRoutingTableRouteOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetNextHop : Allow user to set NextHop +func (_options *CreateVPCRoutingTableRouteOptions) SetNextHop(nextHop RouteNextHopPrototypeIntf) *CreateVPCRoutingTableRouteOptions { + _options.NextHop = nextHop + return _options +} + +// SetPriority : Allow user to set Priority +func (_options *CreateVPCRoutingTableRouteOptions) SetPriority(priority int64) *CreateVPCRoutingTableRouteOptions { + _options.Priority = core.Int64Ptr(priority) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPCRoutingTableRouteOptions) SetHeaders(param map[string]string) *CreateVPCRoutingTableRouteOptions { + options.Headers = param + return options +} + +// CreateVPNGatewayConnectionOptions : The CreateVPNGatewayConnection options. +type CreateVPNGatewayConnectionOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection prototype object. + VPNGatewayConnectionPrototype VPNGatewayConnectionPrototypeIntf `json:"VPNGatewayConnectionPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateVPNGatewayConnectionOptions : Instantiate CreateVPNGatewayConnectionOptions +func (*VpcV1) NewCreateVPNGatewayConnectionOptions(vpnGatewayID string, vpnGatewayConnectionPrototype VPNGatewayConnectionPrototypeIntf) *CreateVPNGatewayConnectionOptions { + return &CreateVPNGatewayConnectionOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + VPNGatewayConnectionPrototype: vpnGatewayConnectionPrototype, + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *CreateVPNGatewayConnectionOptions) SetVPNGatewayID(vpnGatewayID string) *CreateVPNGatewayConnectionOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetVPNGatewayConnectionPrototype : Allow user to set VPNGatewayConnectionPrototype +func (_options *CreateVPNGatewayConnectionOptions) SetVPNGatewayConnectionPrototype(vpnGatewayConnectionPrototype VPNGatewayConnectionPrototypeIntf) *CreateVPNGatewayConnectionOptions { + _options.VPNGatewayConnectionPrototype = vpnGatewayConnectionPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPNGatewayConnectionOptions) SetHeaders(param map[string]string) *CreateVPNGatewayConnectionOptions { + options.Headers = param + return options +} + +// CreateVPNGatewayOptions : The CreateVPNGateway options. +type CreateVPNGatewayOptions struct { + // The VPN gateway prototype object. + VPNGatewayPrototype VPNGatewayPrototypeIntf `json:"VPNGatewayPrototype" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewCreateVPNGatewayOptions : Instantiate CreateVPNGatewayOptions +func (*VpcV1) NewCreateVPNGatewayOptions(vpnGatewayPrototype VPNGatewayPrototypeIntf) *CreateVPNGatewayOptions { + return &CreateVPNGatewayOptions{ + VPNGatewayPrototype: vpnGatewayPrototype, + } +} + +// SetVPNGatewayPrototype : Allow user to set VPNGatewayPrototype +func (_options *CreateVPNGatewayOptions) SetVPNGatewayPrototype(vpnGatewayPrototype VPNGatewayPrototypeIntf) *CreateVPNGatewayOptions { + _options.VPNGatewayPrototype = vpnGatewayPrototype + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPNGatewayOptions) SetHeaders(param map[string]string) *CreateVPNGatewayOptions { + options.Headers = param + return options +} + +// CreateVPNServerOptions : The CreateVPNServer options. +type CreateVPNServerOptions struct { + // The certificate instance for this VPN server. + Certificate CertificateInstanceIdentityIntf `json:"certificate" validate:"required"` + + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all specified + // methods. + ClientAuthentication []VPNServerAuthenticationPrototypeIntf `json:"client_authentication" validate:"required"` + + // The VPN client IPv4 address pool, expressed in CIDR format. The request must not overlap with any existing address + // prefixes in the VPC or any of the following reserved address ranges: + // - `127.0.0.0/8` (IPv4 loopback addresses) + // - `161.26.0.0/16` (IBM services) + // - `166.8.0.0/14` (Cloud Service Endpoints) + // - `169.254.0.0/16` (IPv4 link-local addresses) + // - `224.0.0.0/4` (IPv4 multicast addresses) + // + // The prefix length of the client IP address pool's CIDR must be between + // `/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR block that contains twice the number of IP addresses + // that are required to enable the maximum number of concurrent connections is recommended. + ClientIPPool *string `json:"client_ip_pool" validate:"required"` + + // The subnets to provision this VPN server in. Use subnets in different zones for high availability. + Subnets []SubnetIdentityIntf `json:"subnets" validate:"required"` + + // The DNS server addresses that will be provided to VPN clients connected to this VPN server. + ClientDnsServerIps []IP `json:"client_dns_server_ips,omitempty"` + + // The seconds a VPN client can be idle before this VPN server will disconnect it. Specify `0` to prevent the server + // from disconnecting idle clients. + ClientIdleTimeout *int64 `json:"client_idle_timeout,omitempty"` + + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling *bool `json:"enable_split_tunneling,omitempty"` + + // The name for this VPN server. The name must not be used by another VPN server in the VPC. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The port number to use for this VPN server. + Port *int64 `json:"port,omitempty"` + + // The transport protocol to use for this VPN server. + Protocol *string `json:"protocol,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this VPN server. If unspecified, the VPC's default security group is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateVPNServerOptions.Protocol property. +// The transport protocol to use for this VPN server. +const ( + CreateVPNServerOptionsProtocolTCPConst = "tcp" + CreateVPNServerOptionsProtocolUDPConst = "udp" +) + +// NewCreateVPNServerOptions : Instantiate CreateVPNServerOptions +func (*VpcV1) NewCreateVPNServerOptions(certificate CertificateInstanceIdentityIntf, clientAuthentication []VPNServerAuthenticationPrototypeIntf, clientIPPool string, subnets []SubnetIdentityIntf) *CreateVPNServerOptions { + return &CreateVPNServerOptions{ + Certificate: certificate, + ClientAuthentication: clientAuthentication, + ClientIPPool: core.StringPtr(clientIPPool), + Subnets: subnets, + } +} + +// SetCertificate : Allow user to set Certificate +func (_options *CreateVPNServerOptions) SetCertificate(certificate CertificateInstanceIdentityIntf) *CreateVPNServerOptions { + _options.Certificate = certificate + return _options +} + +// SetClientAuthentication : Allow user to set ClientAuthentication +func (_options *CreateVPNServerOptions) SetClientAuthentication(clientAuthentication []VPNServerAuthenticationPrototypeIntf) *CreateVPNServerOptions { + _options.ClientAuthentication = clientAuthentication + return _options +} + +// SetClientIPPool : Allow user to set ClientIPPool +func (_options *CreateVPNServerOptions) SetClientIPPool(clientIPPool string) *CreateVPNServerOptions { + _options.ClientIPPool = core.StringPtr(clientIPPool) + return _options +} + +// SetSubnets : Allow user to set Subnets +func (_options *CreateVPNServerOptions) SetSubnets(subnets []SubnetIdentityIntf) *CreateVPNServerOptions { + _options.Subnets = subnets + return _options +} + +// SetClientDnsServerIps : Allow user to set ClientDnsServerIps +func (_options *CreateVPNServerOptions) SetClientDnsServerIps(clientDnsServerIps []IP) *CreateVPNServerOptions { + _options.ClientDnsServerIps = clientDnsServerIps + return _options +} + +// SetClientIdleTimeout : Allow user to set ClientIdleTimeout +func (_options *CreateVPNServerOptions) SetClientIdleTimeout(clientIdleTimeout int64) *CreateVPNServerOptions { + _options.ClientIdleTimeout = core.Int64Ptr(clientIdleTimeout) + return _options +} + +// SetEnableSplitTunneling : Allow user to set EnableSplitTunneling +func (_options *CreateVPNServerOptions) SetEnableSplitTunneling(enableSplitTunneling bool) *CreateVPNServerOptions { + _options.EnableSplitTunneling = core.BoolPtr(enableSplitTunneling) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVPNServerOptions) SetName(name string) *CreateVPNServerOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetPort : Allow user to set Port +func (_options *CreateVPNServerOptions) SetPort(port int64) *CreateVPNServerOptions { + _options.Port = core.Int64Ptr(port) + return _options +} + +// SetProtocol : Allow user to set Protocol +func (_options *CreateVPNServerOptions) SetProtocol(protocol string) *CreateVPNServerOptions { + _options.Protocol = core.StringPtr(protocol) + return _options +} + +// SetResourceGroup : Allow user to set ResourceGroup +func (_options *CreateVPNServerOptions) SetResourceGroup(resourceGroup ResourceGroupIdentityIntf) *CreateVPNServerOptions { + _options.ResourceGroup = resourceGroup + return _options +} + +// SetSecurityGroups : Allow user to set SecurityGroups +func (_options *CreateVPNServerOptions) SetSecurityGroups(securityGroups []SecurityGroupIdentityIntf) *CreateVPNServerOptions { + _options.SecurityGroups = securityGroups + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPNServerOptions) SetHeaders(param map[string]string) *CreateVPNServerOptions { + options.Headers = param + return options +} + +// CreateVPNServerRouteOptions : The CreateVPNServerRoute options. +type CreateVPNServerRouteOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // The destination to use for this VPN route in the VPN server. Must be unique within the VPN server. If an incoming + // packet does not match any destination, it will be dropped. + Destination *string `json:"destination" validate:"required"` + + // The action to perform with a packet matching the VPN route: + // - `translate`: translate the source IP address to one of the private IP addresses of + // the VPN server, then deliver the packet to target. + // - `deliver`: deliver the packet to the target. + // - `drop`: drop the packet. + Action *string `json:"action,omitempty"` + + // The name for this VPN server route. The name must not be used by another route for the VPN server. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the CreateVPNServerRouteOptions.Action property. +// The action to perform with a packet matching the VPN route: +// - `translate`: translate the source IP address to one of the private IP addresses of +// the VPN server, then deliver the packet to target. +// - `deliver`: deliver the packet to the target. +// - `drop`: drop the packet. +const ( + CreateVPNServerRouteOptionsActionDeliverConst = "deliver" + CreateVPNServerRouteOptionsActionDropConst = "drop" + CreateVPNServerRouteOptionsActionTranslateConst = "translate" +) + +// NewCreateVPNServerRouteOptions : Instantiate CreateVPNServerRouteOptions +func (*VpcV1) NewCreateVPNServerRouteOptions(vpnServerID string, destination string) *CreateVPNServerRouteOptions { + return &CreateVPNServerRouteOptions{ + VPNServerID: core.StringPtr(vpnServerID), + Destination: core.StringPtr(destination), + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *CreateVPNServerRouteOptions) SetVPNServerID(vpnServerID string) *CreateVPNServerRouteOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetDestination : Allow user to set Destination +func (_options *CreateVPNServerRouteOptions) SetDestination(destination string) *CreateVPNServerRouteOptions { + _options.Destination = core.StringPtr(destination) + return _options +} + +// SetAction : Allow user to set Action +func (_options *CreateVPNServerRouteOptions) SetAction(action string) *CreateVPNServerRouteOptions { + _options.Action = core.StringPtr(action) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateVPNServerRouteOptions) SetName(name string) *CreateVPNServerRouteOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateVPNServerRouteOptions) SetHeaders(param map[string]string) *CreateVPNServerRouteOptions { + options.Headers = param + return options +} + +// DnsInstanceIdentity : Identifies a DNS instance by a unique property. +// Models which "extend" this model: +// - DnsInstanceIdentityByCRN +type DnsInstanceIdentity struct { + // The CRN for this DNS instance. + CRN *string `json:"crn,omitempty"` +} + +func (*DnsInstanceIdentity) isaDnsInstanceIdentity() bool { + return true +} + +type DnsInstanceIdentityIntf interface { + isaDnsInstanceIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalDnsInstanceIdentity unmarshals an instance of DnsInstanceIdentity from the specified map of raw messages. +func UnmarshalDnsInstanceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DnsInstanceIdentity) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the DnsInstanceIdentity +func (dnsInstanceIdentity *DnsInstanceIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(dnsInstanceIdentity.CRN) { + _patch["crn"] = dnsInstanceIdentity.CRN + } + + return +} + +// DnsInstanceReferenceLoadBalancerDnsContext : DnsInstanceReferenceLoadBalancerDnsContext struct +type DnsInstanceReferenceLoadBalancerDnsContext struct { + // The CRN for this DNS instance. + CRN *string `json:"crn" validate:"required"` +} + +// UnmarshalDnsInstanceReferenceLoadBalancerDnsContext unmarshals an instance of DnsInstanceReferenceLoadBalancerDnsContext from the specified map of raw messages. +func UnmarshalDnsInstanceReferenceLoadBalancerDnsContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DnsInstanceReferenceLoadBalancerDnsContext) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DnsServer : A DNS server. +type DnsServer struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` + + // If present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity *ZoneReference `json:"zone_affinity,omitempty"` +} + +// UnmarshalDnsServer unmarshals an instance of DnsServer from the specified map of raw messages. +func UnmarshalDnsServer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DnsServer) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone_affinity", &obj.ZoneAffinity, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone_affinity-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DnsServerPrototype : DnsServerPrototype struct +type DnsServerPrototype struct { + // The DNS server IPv4 address. + Address *string `json:"address,omitempty"` + + // If specified, DHCP configuration for the specified zone will have this DNS server listed + // first. + ZoneAffinity ZoneIdentityIntf `json:"zone_affinity,omitempty"` +} + +// UnmarshalDnsServerPrototype unmarshals an instance of DnsServerPrototype from the specified map of raw messages. +func UnmarshalDnsServerPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DnsServerPrototype) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone_affinity", &obj.ZoneAffinity, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone_affinity-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the DnsServerPrototype +func (dnsServerPrototype *DnsServerPrototype) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(dnsServerPrototype.Address) { + _patch["address"] = dnsServerPrototype.Address + } + if !core.IsNil(dnsServerPrototype.ZoneAffinity) { + _patch["zone_affinity"] = dnsServerPrototype.ZoneAffinity.asPatch() + } + + return +} + +// DnsZoneIdentity : Identifies a DNS zone by a unique property. +// Models which "extend" this model: +// - DnsZoneIdentityByID +type DnsZoneIdentity struct { + ID *string `json:"id,omitempty"` +} + +func (*DnsZoneIdentity) isaDnsZoneIdentity() bool { + return true +} + +type DnsZoneIdentityIntf interface { + isaDnsZoneIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalDnsZoneIdentity unmarshals an instance of DnsZoneIdentity from the specified map of raw messages. +func UnmarshalDnsZoneIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DnsZoneIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the DnsZoneIdentity +func (dnsZoneIdentity *DnsZoneIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(dnsZoneIdentity.ID) { + _patch["id"] = dnsZoneIdentity.ID + } + + return +} + +// DnsZoneReference : DnsZoneReference struct +type DnsZoneReference struct { + ID *string `json:"id" validate:"required"` +} + +// UnmarshalDnsZoneReference unmarshals an instance of DnsZoneReference from the specified map of raw messages. +func UnmarshalDnsZoneReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DnsZoneReference) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHost : DedicatedHost struct +type DedicatedHost struct { + // The amount of memory in gibibytes that is currently available for instances. + AvailableMemory *int64 `json:"available_memory" validate:"required"` + + // The available VCPU for the dedicated host. + AvailableVcpu *Vcpu `json:"available_vcpu" validate:"required"` + + // The date and time that the dedicated host was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this dedicated host. + CRN *string `json:"crn" validate:"required"` + + // The disks for the dedicated host. + Disks []DedicatedHostDisk `json:"disks" validate:"required"` + + // The dedicated host group this dedicated host is in. + Group *DedicatedHostGroupReference `json:"group" validate:"required"` + + // The URL for this dedicated host. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this dedicated host. + ID *string `json:"id" validate:"required"` + + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled *bool `json:"instance_placement_enabled" validate:"required"` + + // The instances that are allocated to this dedicated host. + Instances []InstanceReference `json:"instances" validate:"required"` + + // The lifecycle state of the dedicated host. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The total amount of memory in gibibytes for this host. + Memory *int64 `json:"memory" validate:"required"` + + // The name for this dedicated host. The name is unique across all dedicated hosts in the region. + Name *string `json:"name" validate:"required"` + + // The dedicated host NUMA configuration. + Numa *DedicatedHostNuma `json:"numa" validate:"required"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles) for this + // dedicated host. + Profile *DedicatedHostProfileReference `json:"profile" validate:"required"` + + // Indicates whether this dedicated host is available for instance creation. + Provisionable *bool `json:"provisionable" validate:"required"` + + // The resource group for this dedicated host. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The total number of sockets for this host. + SocketCount *int64 `json:"socket_count" validate:"required"` + + // The administrative state of the dedicated host. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + State *string `json:"state" validate:"required"` + + // The instance profiles usable by instances placed on this dedicated host. + SupportedInstanceProfiles []InstanceProfileReference `json:"supported_instance_profiles" validate:"required"` + + // The total VCPU of the dedicated host. + Vcpu *Vcpu `json:"vcpu" validate:"required"` + + // The zone this dedicated host resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the DedicatedHost.LifecycleState property. +// The lifecycle state of the dedicated host. +const ( + DedicatedHostLifecycleStateDeletingConst = "deleting" + DedicatedHostLifecycleStateFailedConst = "failed" + DedicatedHostLifecycleStatePendingConst = "pending" + DedicatedHostLifecycleStateStableConst = "stable" + DedicatedHostLifecycleStateSuspendedConst = "suspended" + DedicatedHostLifecycleStateUpdatingConst = "updating" + DedicatedHostLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the DedicatedHost.ResourceType property. +// The resource type. +const ( + DedicatedHostResourceTypeDedicatedHostConst = "dedicated_host" +) + +// Constants associated with the DedicatedHost.State property. +// The administrative state of the dedicated host. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + DedicatedHostStateAvailableConst = "available" + DedicatedHostStateDegradedConst = "degraded" + DedicatedHostStateMigratingConst = "migrating" + DedicatedHostStateUnavailableConst = "unavailable" +) + +// UnmarshalDedicatedHost unmarshals an instance of DedicatedHost from the specified map of raw messages. +func UnmarshalDedicatedHost(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHost) + err = core.UnmarshalPrimitive(m, "available_memory", &obj.AvailableMemory) + if err != nil { + err = core.SDKErrorf(err, "", "available_memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "available_vcpu", &obj.AvailableVcpu, UnmarshalVcpu) + if err != nil { + err = core.SDKErrorf(err, "", "available_vcpu-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalDedicatedHostDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalDedicatedHostGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance_placement_enabled", &obj.InstancePlacementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "instance_placement_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instances", &obj.Instances, UnmarshalInstanceReference) + if err != nil { + err = core.SDKErrorf(err, "", "instances-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "memory", &obj.Memory) + if err != nil { + err = core.SDKErrorf(err, "", "memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "numa", &obj.Numa, UnmarshalDedicatedHostNuma) + if err != nil { + err = core.SDKErrorf(err, "", "numa-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalDedicatedHostProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "provisionable", &obj.Provisionable) + if err != nil { + err = core.SDKErrorf(err, "", "provisionable-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "socket_count", &obj.SocketCount) + if err != nil { + err = core.SDKErrorf(err, "", "socket_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "state", &obj.State) + if err != nil { + err = core.SDKErrorf(err, "", "state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_instance_profiles", &obj.SupportedInstanceProfiles, UnmarshalInstanceProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "supported_instance_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vcpu", &obj.Vcpu, UnmarshalVcpu) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostCollection : DedicatedHostCollection struct +type DedicatedHostCollection struct { + // A page of dedicated hosts. + DedicatedHosts []DedicatedHost `json:"dedicated_hosts" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalDedicatedHostCollection unmarshals an instance of DedicatedHostCollection from the specified map of raw messages. +func UnmarshalDedicatedHostCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostCollection) + err = core.UnmarshalModel(m, "dedicated_hosts", &obj.DedicatedHosts, UnmarshalDedicatedHost) + if err != nil { + err = core.SDKErrorf(err, "", "dedicated_hosts-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *DedicatedHostCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// DedicatedHostDisk : DedicatedHostDisk struct +type DedicatedHostDisk struct { + // The remaining space left for instance placement in GB (gigabytes). + Available *int64 `json:"available" validate:"required"` + + // The date and time that the disk was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this disk. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this disk. + ID *string `json:"id" validate:"required"` + + // The instance disks that are on this dedicated host disk. + InstanceDisks []InstanceDiskReference `json:"instance_disks" validate:"required"` + + // The disk interface used for attaching the disk. + InterfaceType *string `json:"interface_type" validate:"required"` + + // The lifecycle state of this dedicated host disk. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this dedicated host disk. The name is unique across all disks on the dedicated host. + Name *string `json:"name" validate:"required"` + + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable *bool `json:"provisionable" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The size of the disk in GB (gigabytes). + Size *int64 `json:"size" validate:"required"` + + // The instance disk interfaces supported for this dedicated host disk. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + SupportedInstanceInterfaceTypes []string `json:"supported_instance_interface_types" validate:"required"` +} + +// Constants associated with the DedicatedHostDisk.InterfaceType property. +// The disk interface used for attaching the disk. +const ( + DedicatedHostDiskInterfaceTypeNvmeConst = "nvme" +) + +// Constants associated with the DedicatedHostDisk.LifecycleState property. +// The lifecycle state of this dedicated host disk. +const ( + DedicatedHostDiskLifecycleStateDeletingConst = "deleting" + DedicatedHostDiskLifecycleStateFailedConst = "failed" + DedicatedHostDiskLifecycleStatePendingConst = "pending" + DedicatedHostDiskLifecycleStateStableConst = "stable" + DedicatedHostDiskLifecycleStateSuspendedConst = "suspended" + DedicatedHostDiskLifecycleStateUpdatingConst = "updating" + DedicatedHostDiskLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the DedicatedHostDisk.ResourceType property. +// The resource type. +const ( + DedicatedHostDiskResourceTypeDedicatedHostDiskConst = "dedicated_host_disk" +) + +// Constants associated with the DedicatedHostDisk.SupportedInstanceInterfaceTypes property. +// The disk interface used for attaching the disk. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + DedicatedHostDiskSupportedInstanceInterfaceTypesNvmeConst = "nvme" + DedicatedHostDiskSupportedInstanceInterfaceTypesVirtioBlkConst = "virtio_blk" +) + +// UnmarshalDedicatedHostDisk unmarshals an instance of DedicatedHostDisk from the specified map of raw messages. +func UnmarshalDedicatedHostDisk(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostDisk) + err = core.UnmarshalPrimitive(m, "available", &obj.Available) + if err != nil { + err = core.SDKErrorf(err, "", "available-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_disks", &obj.InstanceDisks, UnmarshalInstanceDiskReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance_disks-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "provisionable", &obj.Provisionable) + if err != nil { + err = core.SDKErrorf(err, "", "provisionable-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "supported_instance_interface_types", &obj.SupportedInstanceInterfaceTypes) + if err != nil { + err = core.SDKErrorf(err, "", "supported_instance_interface_types-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostDiskCollection : DedicatedHostDiskCollection struct +type DedicatedHostDiskCollection struct { + // The disks for the dedicated host. + Disks []DedicatedHostDisk `json:"disks" validate:"required"` +} + +// UnmarshalDedicatedHostDiskCollection unmarshals an instance of DedicatedHostDiskCollection from the specified map of raw messages. +func UnmarshalDedicatedHostDiskCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostDiskCollection) + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalDedicatedHostDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostDiskPatch : DedicatedHostDiskPatch struct +type DedicatedHostDiskPatch struct { + // The name for this dedicated host disk. The name must not be used by another disk on the dedicated host. + Name *string `json:"name,omitempty"` +} + +// UnmarshalDedicatedHostDiskPatch unmarshals an instance of DedicatedHostDiskPatch from the specified map of raw messages. +func UnmarshalDedicatedHostDiskPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostDiskPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the DedicatedHostDiskPatch +func (dedicatedHostDiskPatch *DedicatedHostDiskPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(dedicatedHostDiskPatch.Name) { + _patch["name"] = dedicatedHostDiskPatch.Name + } + + return +} + +// DedicatedHostGroup : DedicatedHostGroup struct +type DedicatedHostGroup struct { + // The dedicated host profile class for hosts in this group. + Class *string `json:"class" validate:"required"` + + // The date and time that the dedicated host group was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this dedicated host group. + CRN *string `json:"crn" validate:"required"` + + // The dedicated hosts that are in this dedicated host group. + DedicatedHosts []DedicatedHostReference `json:"dedicated_hosts" validate:"required"` + + // The dedicated host profile family for hosts in this group. + Family *string `json:"family" validate:"required"` + + // The URL for this dedicated host group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this dedicated host group. + ID *string `json:"id" validate:"required"` + + // The name for this dedicated host group. The name is unique across all dedicated host groups in the region. + Name *string `json:"name" validate:"required"` + + // The resource group for this dedicated host group. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The instance profiles usable by instances placed on this dedicated host group. + SupportedInstanceProfiles []InstanceProfileReference `json:"supported_instance_profiles" validate:"required"` + + // The zone this dedicated host group resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the DedicatedHostGroup.Family property. +// The dedicated host profile family for hosts in this group. +const ( + DedicatedHostGroupFamilyBalancedConst = "balanced" + DedicatedHostGroupFamilyComputeConst = "compute" + DedicatedHostGroupFamilyMemoryConst = "memory" +) + +// Constants associated with the DedicatedHostGroup.ResourceType property. +// The resource type. +const ( + DedicatedHostGroupResourceTypeDedicatedHostGroupConst = "dedicated_host_group" +) + +// UnmarshalDedicatedHostGroup unmarshals an instance of DedicatedHostGroup from the specified map of raw messages. +func UnmarshalDedicatedHostGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroup) + err = core.UnmarshalPrimitive(m, "class", &obj.Class) + if err != nil { + err = core.SDKErrorf(err, "", "class-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dedicated_hosts", &obj.DedicatedHosts, UnmarshalDedicatedHostReference) + if err != nil { + err = core.SDKErrorf(err, "", "dedicated_hosts-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_instance_profiles", &obj.SupportedInstanceProfiles, UnmarshalInstanceProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "supported_instance_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostGroupCollection : DedicatedHostGroupCollection struct +type DedicatedHostGroupCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of dedicated host groups. + Groups []DedicatedHostGroup `json:"groups" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalDedicatedHostGroupCollection unmarshals an instance of DedicatedHostGroupCollection from the specified map of raw messages. +func UnmarshalDedicatedHostGroupCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroupCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "groups", &obj.Groups, UnmarshalDedicatedHostGroup) + if err != nil { + err = core.SDKErrorf(err, "", "groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *DedicatedHostGroupCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// DedicatedHostGroupIdentity : Identifies a dedicated host group by a unique property. +// Models which "extend" this model: +// - DedicatedHostGroupIdentityByID +// - DedicatedHostGroupIdentityByCRN +// - DedicatedHostGroupIdentityByHref +type DedicatedHostGroupIdentity struct { + // The unique identifier for this dedicated host group. + ID *string `json:"id,omitempty"` + + // The CRN for this dedicated host group. + CRN *string `json:"crn,omitempty"` + + // The URL for this dedicated host group. + Href *string `json:"href,omitempty"` +} + +func (*DedicatedHostGroupIdentity) isaDedicatedHostGroupIdentity() bool { + return true +} + +type DedicatedHostGroupIdentityIntf interface { + isaDedicatedHostGroupIdentity() bool +} + +// UnmarshalDedicatedHostGroupIdentity unmarshals an instance of DedicatedHostGroupIdentity from the specified map of raw messages. +func UnmarshalDedicatedHostGroupIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroupIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostGroupPatch : DedicatedHostGroupPatch struct +type DedicatedHostGroupPatch struct { + // The name for this dedicated host group. The name must not be used by another dedicated host group in the region. + Name *string `json:"name,omitempty"` +} + +// UnmarshalDedicatedHostGroupPatch unmarshals an instance of DedicatedHostGroupPatch from the specified map of raw messages. +func UnmarshalDedicatedHostGroupPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroupPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the DedicatedHostGroupPatch +func (dedicatedHostGroupPatch *DedicatedHostGroupPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(dedicatedHostGroupPatch.Name) { + _patch["name"] = dedicatedHostGroupPatch.Name + } + + return +} + +// DedicatedHostGroupPrototypeDedicatedHostByZoneContext : DedicatedHostGroupPrototypeDedicatedHostByZoneContext struct +type DedicatedHostGroupPrototypeDedicatedHostByZoneContext struct { + // The name for this dedicated host group. The name must not be used by another dedicated host group in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the host's resource group is used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` +} + +// UnmarshalDedicatedHostGroupPrototypeDedicatedHostByZoneContext unmarshals an instance of DedicatedHostGroupPrototypeDedicatedHostByZoneContext from the specified map of raw messages. +func UnmarshalDedicatedHostGroupPrototypeDedicatedHostByZoneContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroupPrototypeDedicatedHostByZoneContext) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostGroupReference : DedicatedHostGroupReference struct +type DedicatedHostGroupReference struct { + // The CRN for this dedicated host group. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this dedicated host group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this dedicated host group. + ID *string `json:"id" validate:"required"` + + // The name for this dedicated host group. The name is unique across all dedicated host groups in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the DedicatedHostGroupReference.ResourceType property. +// The resource type. +const ( + DedicatedHostGroupReferenceResourceTypeDedicatedHostGroupConst = "dedicated_host_group" +) + +// UnmarshalDedicatedHostGroupReference unmarshals an instance of DedicatedHostGroupReference from the specified map of raw messages. +func UnmarshalDedicatedHostGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroupReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostNuma : The dedicated host NUMA configuration. +type DedicatedHostNuma struct { + // The total number of NUMA nodes for this dedicated host. + Count *int64 `json:"count" validate:"required"` + + // The NUMA nodes for this dedicated host. + Nodes []DedicatedHostNumaNode `json:"nodes" validate:"required"` +} + +// UnmarshalDedicatedHostNuma unmarshals an instance of DedicatedHostNuma from the specified map of raw messages. +func UnmarshalDedicatedHostNuma(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostNuma) + err = core.UnmarshalPrimitive(m, "count", &obj.Count) + if err != nil { + err = core.SDKErrorf(err, "", "count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "nodes", &obj.Nodes, UnmarshalDedicatedHostNumaNode) + if err != nil { + err = core.SDKErrorf(err, "", "nodes-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostNumaNode : The dedicated host NUMA node configuration. +type DedicatedHostNumaNode struct { + // The available VCPU for this NUMA node. + AvailableVcpu *int64 `json:"available_vcpu" validate:"required"` + + // The total VCPU capacity for this NUMA node. + Vcpu *int64 `json:"vcpu" validate:"required"` +} + +// UnmarshalDedicatedHostNumaNode unmarshals an instance of DedicatedHostNumaNode from the specified map of raw messages. +func UnmarshalDedicatedHostNumaNode(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostNumaNode) + err = core.UnmarshalPrimitive(m, "available_vcpu", &obj.AvailableVcpu) + if err != nil { + err = core.SDKErrorf(err, "", "available_vcpu-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "vcpu", &obj.Vcpu) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostPatch : DedicatedHostPatch struct +type DedicatedHostPatch struct { + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled *bool `json:"instance_placement_enabled,omitempty"` + + // The name for this dedicated host. The name must not be used by another dedicated host in the region. + Name *string `json:"name,omitempty"` +} + +// UnmarshalDedicatedHostPatch unmarshals an instance of DedicatedHostPatch from the specified map of raw messages. +func UnmarshalDedicatedHostPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostPatch) + err = core.UnmarshalPrimitive(m, "instance_placement_enabled", &obj.InstancePlacementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "instance_placement_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the DedicatedHostPatch +func (dedicatedHostPatch *DedicatedHostPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(dedicatedHostPatch.InstancePlacementEnabled) { + _patch["instance_placement_enabled"] = dedicatedHostPatch.InstancePlacementEnabled + } + if !core.IsNil(dedicatedHostPatch.Name) { + _patch["name"] = dedicatedHostPatch.Name + } + + return +} + +// DedicatedHostProfile : DedicatedHostProfile struct +type DedicatedHostProfile struct { + // The product class this dedicated host profile belongs to. + Class *string `json:"class" validate:"required"` + + // The disks for a dedicated host with this profile. + Disks []DedicatedHostProfileDisk `json:"disks" validate:"required"` + + // The product family this dedicated host profile belongs to + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family *string `json:"family" validate:"required"` + + // The URL for this dedicated host. + Href *string `json:"href" validate:"required"` + + Memory DedicatedHostProfileMemoryIntf `json:"memory" validate:"required"` + + // The globally unique name for this dedicated host profile. + Name *string `json:"name" validate:"required"` + + SocketCount DedicatedHostProfileSocketIntf `json:"socket_count" validate:"required"` + + // The status of the dedicated host profile: + // - `previous`: This dedicated host profile is an older revision, but remains provisionable + // and usable. + // - `current`: This dedicated host profile is the latest revision. + // + // Revisions are indicated by the generation of a dedicated host profile. Refer to the [profile naming + // conventions](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles&interface=ui#profiles-naming-rule) for information + // on how generations are defined within a dedicated host profile. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The instance profiles usable by instances placed on dedicated hosts with this profile. + SupportedInstanceProfiles []InstanceProfileReference `json:"supported_instance_profiles" validate:"required"` + + VcpuArchitecture *DedicatedHostProfileVcpuArchitecture `json:"vcpu_architecture" validate:"required"` + + VcpuCount DedicatedHostProfileVcpuIntf `json:"vcpu_count" validate:"required"` + + VcpuManufacturer *DedicatedHostProfileVcpuManufacturer `json:"vcpu_manufacturer" validate:"required"` +} + +// Constants associated with the DedicatedHostProfile.Family property. +// The product family this dedicated host profile belongs to +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + DedicatedHostProfileFamilyBalancedConst = "balanced" + DedicatedHostProfileFamilyComputeConst = "compute" + DedicatedHostProfileFamilyMemoryConst = "memory" +) + +// Constants associated with the DedicatedHostProfile.Status property. +// The status of the dedicated host profile: +// - `previous`: This dedicated host profile is an older revision, but remains provisionable +// and usable. +// - `current`: This dedicated host profile is the latest revision. +// +// Revisions are indicated by the generation of a dedicated host profile. Refer to the [profile naming +// conventions](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles&interface=ui#profiles-naming-rule) for information +// on how generations are defined within a dedicated host profile. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + DedicatedHostProfileStatusCurrentConst = "current" + DedicatedHostProfileStatusPreviousConst = "previous" +) + +// UnmarshalDedicatedHostProfile unmarshals an instance of DedicatedHostProfile from the specified map of raw messages. +func UnmarshalDedicatedHostProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfile) + err = core.UnmarshalPrimitive(m, "class", &obj.Class) + if err != nil { + err = core.SDKErrorf(err, "", "class-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalDedicatedHostProfileDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "memory", &obj.Memory, UnmarshalDedicatedHostProfileMemory) + if err != nil { + err = core.SDKErrorf(err, "", "memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "socket_count", &obj.SocketCount, UnmarshalDedicatedHostProfileSocket) + if err != nil { + err = core.SDKErrorf(err, "", "socket_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_instance_profiles", &obj.SupportedInstanceProfiles, UnmarshalInstanceProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "supported_instance_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vcpu_architecture", &obj.VcpuArchitecture, UnmarshalDedicatedHostProfileVcpuArchitecture) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu_architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vcpu_count", &obj.VcpuCount, UnmarshalDedicatedHostProfileVcpu) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vcpu_manufacturer", &obj.VcpuManufacturer, UnmarshalDedicatedHostProfileVcpuManufacturer) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu_manufacturer-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileCollection : DedicatedHostProfileCollection struct +type DedicatedHostProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of dedicated host profiles. + Profiles []DedicatedHostProfile `json:"profiles" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalDedicatedHostProfileCollection unmarshals an instance of DedicatedHostProfileCollection from the specified map of raw messages. +func UnmarshalDedicatedHostProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profiles", &obj.Profiles, UnmarshalDedicatedHostProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *DedicatedHostProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// DedicatedHostProfileDisk : Disks provided by this profile. +type DedicatedHostProfileDisk struct { + InterfaceType *DedicatedHostProfileDiskInterface `json:"interface_type" validate:"required"` + + // The number of disks of this type for a dedicated host with this profile. + Quantity *DedicatedHostProfileDiskQuantity `json:"quantity" validate:"required"` + + // The size of the disk in GB (gigabytes). + Size *DedicatedHostProfileDiskSize `json:"size" validate:"required"` + + SupportedInstanceInterfaceTypes *DedicatedHostProfileDiskSupportedInterfaces `json:"supported_instance_interface_types" validate:"required"` +} + +// UnmarshalDedicatedHostProfileDisk unmarshals an instance of DedicatedHostProfileDisk from the specified map of raw messages. +func UnmarshalDedicatedHostProfileDisk(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileDisk) + err = core.UnmarshalModel(m, "interface_type", &obj.InterfaceType, UnmarshalDedicatedHostProfileDiskInterface) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "quantity", &obj.Quantity, UnmarshalDedicatedHostProfileDiskQuantity) + if err != nil { + err = core.SDKErrorf(err, "", "quantity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "size", &obj.Size, UnmarshalDedicatedHostProfileDiskSize) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_instance_interface_types", &obj.SupportedInstanceInterfaceTypes, UnmarshalDedicatedHostProfileDiskSupportedInterfaces) + if err != nil { + err = core.SDKErrorf(err, "", "supported_instance_interface_types-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileDiskInterface : DedicatedHostProfileDiskInterface struct +type DedicatedHostProfileDiskInterface struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The interface of the disk for a dedicated host with this profile + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileDiskInterface.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileDiskInterfaceTypeFixedConst = "fixed" +) + +// Constants associated with the DedicatedHostProfileDiskInterface.Value property. +// The interface of the disk for a dedicated host with this profile +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + DedicatedHostProfileDiskInterfaceValueNvmeConst = "nvme" +) + +// UnmarshalDedicatedHostProfileDiskInterface unmarshals an instance of DedicatedHostProfileDiskInterface from the specified map of raw messages. +func UnmarshalDedicatedHostProfileDiskInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileDiskInterface) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileDiskQuantity : The number of disks of this type for a dedicated host with this profile. +type DedicatedHostProfileDiskQuantity struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileDiskQuantity.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileDiskQuantityTypeFixedConst = "fixed" +) + +// UnmarshalDedicatedHostProfileDiskQuantity unmarshals an instance of DedicatedHostProfileDiskQuantity from the specified map of raw messages. +func UnmarshalDedicatedHostProfileDiskQuantity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileDiskQuantity) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileDiskSize : The size of the disk in GB (gigabytes). +type DedicatedHostProfileDiskSize struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The size of the disk in GB (gigabytes). + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileDiskSize.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileDiskSizeTypeFixedConst = "fixed" +) + +// UnmarshalDedicatedHostProfileDiskSize unmarshals an instance of DedicatedHostProfileDiskSize from the specified map of raw messages. +func UnmarshalDedicatedHostProfileDiskSize(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileDiskSize) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileDiskSupportedInterfaces : DedicatedHostProfileDiskSupportedInterfaces struct +type DedicatedHostProfileDiskSupportedInterfaces struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The instance disk interfaces supported for a dedicated host with this profile. + Value []string `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileDiskSupportedInterfaces.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileDiskSupportedInterfacesTypeFixedConst = "fixed" +) + +// Constants associated with the DedicatedHostProfileDiskSupportedInterfaces.Value property. +// The disk interface used for attaching the disk. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + DedicatedHostProfileDiskSupportedInterfacesValueNvmeConst = "nvme" + DedicatedHostProfileDiskSupportedInterfacesValueVirtioBlkConst = "virtio_blk" +) + +// UnmarshalDedicatedHostProfileDiskSupportedInterfaces unmarshals an instance of DedicatedHostProfileDiskSupportedInterfaces from the specified map of raw messages. +func UnmarshalDedicatedHostProfileDiskSupportedInterfaces(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileDiskSupportedInterfaces) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileIdentity : Identifies a dedicated host profile by a unique property. +// Models which "extend" this model: +// - DedicatedHostProfileIdentityByName +// - DedicatedHostProfileIdentityByHref +type DedicatedHostProfileIdentity struct { + // The globally unique name for this dedicated host profile. + Name *string `json:"name,omitempty"` + + // The URL for this dedicated host profile. + Href *string `json:"href,omitempty"` +} + +func (*DedicatedHostProfileIdentity) isaDedicatedHostProfileIdentity() bool { + return true +} + +type DedicatedHostProfileIdentityIntf interface { + isaDedicatedHostProfileIdentity() bool +} + +// UnmarshalDedicatedHostProfileIdentity unmarshals an instance of DedicatedHostProfileIdentity from the specified map of raw messages. +func UnmarshalDedicatedHostProfileIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileMemory : DedicatedHostProfileMemory struct +// Models which "extend" this model: +// - DedicatedHostProfileMemoryFixed +// - DedicatedHostProfileMemoryRange +// - DedicatedHostProfileMemoryEnum +// - DedicatedHostProfileMemoryDependent +type DedicatedHostProfileMemory struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the DedicatedHostProfileMemory.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileMemoryTypeFixedConst = "fixed" +) + +func (*DedicatedHostProfileMemory) isaDedicatedHostProfileMemory() bool { + return true +} + +type DedicatedHostProfileMemoryIntf interface { + isaDedicatedHostProfileMemory() bool +} + +// UnmarshalDedicatedHostProfileMemory unmarshals an instance of DedicatedHostProfileMemory from the specified map of raw messages. +func UnmarshalDedicatedHostProfileMemory(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileMemory) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileReference : DedicatedHostProfileReference struct +type DedicatedHostProfileReference struct { + // The URL for this dedicated host. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this dedicated host profile. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalDedicatedHostProfileReference unmarshals an instance of DedicatedHostProfileReference from the specified map of raw messages. +func UnmarshalDedicatedHostProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileSocket : DedicatedHostProfileSocket struct +// Models which "extend" this model: +// - DedicatedHostProfileSocketFixed +// - DedicatedHostProfileSocketRange +// - DedicatedHostProfileSocketEnum +// - DedicatedHostProfileSocketDependent +type DedicatedHostProfileSocket struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the DedicatedHostProfileSocket.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileSocketTypeFixedConst = "fixed" +) + +func (*DedicatedHostProfileSocket) isaDedicatedHostProfileSocket() bool { + return true +} + +type DedicatedHostProfileSocketIntf interface { + isaDedicatedHostProfileSocket() bool +} + +// UnmarshalDedicatedHostProfileSocket unmarshals an instance of DedicatedHostProfileSocket from the specified map of raw messages. +func UnmarshalDedicatedHostProfileSocket(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileSocket) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileVcpu : DedicatedHostProfileVcpu struct +// Models which "extend" this model: +// - DedicatedHostProfileVcpuFixed +// - DedicatedHostProfileVcpuRange +// - DedicatedHostProfileVcpuEnum +// - DedicatedHostProfileVcpuDependent +type DedicatedHostProfileVcpu struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the DedicatedHostProfileVcpu.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileVcpuTypeFixedConst = "fixed" +) + +func (*DedicatedHostProfileVcpu) isaDedicatedHostProfileVcpu() bool { + return true +} + +type DedicatedHostProfileVcpuIntf interface { + isaDedicatedHostProfileVcpu() bool +} + +// UnmarshalDedicatedHostProfileVcpu unmarshals an instance of DedicatedHostProfileVcpu from the specified map of raw messages. +func UnmarshalDedicatedHostProfileVcpu(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileVcpu) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileVcpuArchitecture : DedicatedHostProfileVcpuArchitecture struct +type DedicatedHostProfileVcpuArchitecture struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The VCPU architecture for a dedicated host with this profile. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileVcpuArchitecture.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileVcpuArchitectureTypeFixedConst = "fixed" +) + +// Constants associated with the DedicatedHostProfileVcpuArchitecture.Value property. +// The VCPU architecture for a dedicated host with this profile. +const ( + DedicatedHostProfileVcpuArchitectureValueAmd64Const = "amd64" + DedicatedHostProfileVcpuArchitectureValueS390xConst = "s390x" +) + +// UnmarshalDedicatedHostProfileVcpuArchitecture unmarshals an instance of DedicatedHostProfileVcpuArchitecture from the specified map of raw messages. +func UnmarshalDedicatedHostProfileVcpuArchitecture(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileVcpuArchitecture) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileVcpuManufacturer : DedicatedHostProfileVcpuManufacturer struct +type DedicatedHostProfileVcpuManufacturer struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The VCPU manufacturer for a dedicated host with this profile. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileVcpuManufacturer.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileVcpuManufacturerTypeFixedConst = "fixed" +) + +// Constants associated with the DedicatedHostProfileVcpuManufacturer.Value property. +// The VCPU manufacturer for a dedicated host with this profile. +const ( + DedicatedHostProfileVcpuManufacturerValueAmdConst = "amd" + DedicatedHostProfileVcpuManufacturerValueIBMConst = "ibm" + DedicatedHostProfileVcpuManufacturerValueIntelConst = "intel" +) + +// UnmarshalDedicatedHostProfileVcpuManufacturer unmarshals an instance of DedicatedHostProfileVcpuManufacturer from the specified map of raw messages. +func UnmarshalDedicatedHostProfileVcpuManufacturer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileVcpuManufacturer) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostPrototype : DedicatedHostPrototype struct +// Models which "extend" this model: +// - DedicatedHostPrototypeDedicatedHostByGroup +// - DedicatedHostPrototypeDedicatedHostByZone +type DedicatedHostPrototype struct { + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled *bool `json:"instance_placement_enabled,omitempty"` + + // The name for this dedicated host. The name must not be used by another dedicated host in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles) to use for this + // dedicated host. + Profile DedicatedHostProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The dedicated host group for this dedicated host. + Group DedicatedHostGroupIdentityIntf `json:"group,omitempty"` + + // The zone this dedicated host will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` +} + +func (*DedicatedHostPrototype) isaDedicatedHostPrototype() bool { + return true +} + +type DedicatedHostPrototypeIntf interface { + isaDedicatedHostPrototype() bool +} + +// UnmarshalDedicatedHostPrototype unmarshals an instance of DedicatedHostPrototype from the specified map of raw messages. +func UnmarshalDedicatedHostPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostPrototype) + err = core.UnmarshalPrimitive(m, "instance_placement_enabled", &obj.InstancePlacementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "instance_placement_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalDedicatedHostProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalDedicatedHostGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostReference : DedicatedHostReference struct +type DedicatedHostReference struct { + // The CRN for this dedicated host. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this dedicated host. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this dedicated host. + ID *string `json:"id" validate:"required"` + + // The name for this dedicated host. The name is unique across all dedicated hosts in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the DedicatedHostReference.ResourceType property. +// The resource type. +const ( + DedicatedHostReferenceResourceTypeDedicatedHostConst = "dedicated_host" +) + +// UnmarshalDedicatedHostReference unmarshals an instance of DedicatedHostReference from the specified map of raw messages. +func UnmarshalDedicatedHostReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DefaultNetworkACL : DefaultNetworkACL struct +type DefaultNetworkACL struct { + // The date and time that the network ACL was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this network ACL. + CRN *string `json:"crn" validate:"required"` + + // The URL for this network ACL. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL. + ID *string `json:"id" validate:"required"` + + // The name of the default network ACL created for a VPC. The name will be a hyphenated list of randomly-selected words + // at creation, but may be changed. + Name *string `json:"name" validate:"required"` + + // The resource group for the default network ACL for a VPC. Set to the VPC's + // resource group at creation. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The ordered rules for the default network ACL for a VPC. Created with: + // - The first rule, named `allow-inbound`, allowing ICMP, TCP and UDP inbound traffic. + // - The second rule, named `allow-outbound`, allowing ICMP, TCP, and UDP outbound + // traffic. + // + // Rules for the default network ACL may be changed, added, or removed. + Rules []NetworkACLRuleItemIntf `json:"rules" validate:"required"` + + // The subnets to which this network ACL is attached. + Subnets []SubnetReference `json:"subnets" validate:"required"` + + // The VPC this network ACL resides in. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// UnmarshalDefaultNetworkACL unmarshals an instance of DefaultNetworkACL from the specified map of raw messages. +func UnmarshalDefaultNetworkACL(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DefaultNetworkACL) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalNetworkACLRuleItem) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DefaultRoutingTable : DefaultRoutingTable struct +type DefaultRoutingTable struct { + // The filters specifying the resources that may create routes in this routing table. + // + // Created with filters allowing `vpn_gateway` and `vpn_server` resources to create routes, but filters may be added or + // removed with subsequent requests. + // + // The resources and types of filters supported by this property is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AcceptRoutesFrom []ResourceFilter `json:"accept_routes_from" validate:"required"` + + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these + // sources. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AdvertiseRoutesTo []string `json:"advertise_routes_to" validate:"required"` + + // The date and time that this routing table was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this VPC routing table. + CRN *string `json:"crn" validate:"required"` + + // The URL for this routing table. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this routing table. + ID *string `json:"id" validate:"required"` + + // Indicates whether this is the default routing table for this VPC. + IsDefault *bool `json:"is_default" validate:"required"` + + // The lifecycle state of the routing table. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name of the default routing table created for this VPC. The name will be a hyphenated list of randomly-selected + // words at creation, but may be changed. + Name *string `json:"name" validate:"required"` + + // The resource group for this routing table. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // Indicates whether this routing table is used to route traffic that originates from + // [Direct Link](https://cloud.ibm.com/docs/dl) to this VPC. + // + // Set to `false` at VPC creation, but may be updated with subsequent requests. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteDirectLinkIngress *bool `json:"route_direct_link_ingress" validate:"required"` + + // Indicates whether this routing table is used to route traffic that originates from the internet. + // + // Set to `false` at VPC creation, but may be updated with subsequent requests. + // + // Incoming traffic will be routed according to the routing table with two exceptions: + // - Traffic destined for IP addresses associated with public gateways will not be + // subject to routes in this routing table. + // - Routes with an `action` of `deliver` are treated as `drop` unless the `next_hop` + // is an IP address in a subnet in the route's `zone` that is able to accept traffic. + // Therefore, if an incoming packet matches a route with a `next_hop` of a VPN + // gateway connection, the packet will be dropped. + RouteInternetIngress *bool `json:"route_internet_ingress" validate:"required"` + + // Indicates whether this routing table is used to route traffic that originates from from [Transit + // Gateway](https://cloud.ibm.com/docs/transit-gateway) to this VPC. + // + // Set to `false` at VPC creation, but may be updated with subsequent requests. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteTransitGatewayIngress *bool `json:"route_transit_gateway_ingress" validate:"required"` + + // Indicates whether this routing table is used to route traffic that originates from subnets in other zones in this + // VPC. + // + // Set to `false` at VPC creation, but may be updated with subsequent requests. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteVPCZoneIngress *bool `json:"route_vpc_zone_ingress" validate:"required"` + + // The routes for the default routing table for this VPC. The table is created with no routes, but routes may be added, + // changed, or removed with a subsequent request. + Routes []RouteReference `json:"routes" validate:"required"` + + // The subnets to which this routing table is attached. + Subnets []SubnetReference `json:"subnets" validate:"required"` +} + +// Constants associated with the DefaultRoutingTable.AdvertiseRoutesTo property. +// An ingress source that routes can be advertised to: +// +// - `direct_link` (requires `route_direct_link_ingress` be set to `true`) +// - `transit_gateway` (requires `route_transit_gateway_ingress` be set to `true`). +const ( + DefaultRoutingTableAdvertiseRoutesToDirectLinkConst = "direct_link" + DefaultRoutingTableAdvertiseRoutesToTransitGatewayConst = "transit_gateway" +) + +// Constants associated with the DefaultRoutingTable.LifecycleState property. +// The lifecycle state of the routing table. +const ( + DefaultRoutingTableLifecycleStateDeletingConst = "deleting" + DefaultRoutingTableLifecycleStateFailedConst = "failed" + DefaultRoutingTableLifecycleStatePendingConst = "pending" + DefaultRoutingTableLifecycleStateStableConst = "stable" + DefaultRoutingTableLifecycleStateSuspendedConst = "suspended" + DefaultRoutingTableLifecycleStateUpdatingConst = "updating" + DefaultRoutingTableLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the DefaultRoutingTable.ResourceType property. +// The resource type. +const ( + DefaultRoutingTableResourceTypeRoutingTableConst = "routing_table" +) + +// UnmarshalDefaultRoutingTable unmarshals an instance of DefaultRoutingTable from the specified map of raw messages. +func UnmarshalDefaultRoutingTable(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DefaultRoutingTable) + err = core.UnmarshalModel(m, "accept_routes_from", &obj.AcceptRoutesFrom, UnmarshalResourceFilter) + if err != nil { + err = core.SDKErrorf(err, "", "accept_routes_from-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertise_routes_to", &obj.AdvertiseRoutesTo) + if err != nil { + err = core.SDKErrorf(err, "", "advertise_routes_to-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "is_default", &obj.IsDefault) + if err != nil { + err = core.SDKErrorf(err, "", "is_default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_direct_link_ingress", &obj.RouteDirectLinkIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_direct_link_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_internet_ingress", &obj.RouteInternetIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_internet_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_transit_gateway_ingress", &obj.RouteTransitGatewayIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_transit_gateway_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_vpc_zone_ingress", &obj.RouteVPCZoneIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_vpc_zone_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routes", &obj.Routes, UnmarshalRouteReference) + if err != nil { + err = core.SDKErrorf(err, "", "routes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DefaultSecurityGroup : DefaultSecurityGroup struct +type DefaultSecurityGroup struct { + // The date and time that this security group was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this security group. + CRN *string `json:"crn" validate:"required"` + + // The URL for this security group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this security group. + ID *string `json:"id" validate:"required"` + + // The name for the default security group for a VPC. The name will be a hyphenated list of randomly-selected words at + // creation, but may changed. + Name *string `json:"name" validate:"required"` + + // The resource group for this security group. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The rules for the default security group for a VPC. Created with: + // - A rule allowing inbound ICMP, TCP and UDP traffic from other interfaces in the + // VPC's default security group + // - A rule allowing outbound ICMP, TCP and UDP traffic to any destination + // + // Rules for the default security group may be changed, added or removed. + Rules []SecurityGroupRuleIntf `json:"rules" validate:"required"` + + // The targets for this security group. + Targets []SecurityGroupTargetReferenceIntf `json:"targets" validate:"required"` + + // The VPC this security group resides in. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// UnmarshalDefaultSecurityGroup unmarshals an instance of DefaultSecurityGroup from the specified map of raw messages. +func UnmarshalDefaultSecurityGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DefaultSecurityGroup) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalSecurityGroupRule) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "targets", &obj.Targets, UnmarshalSecurityGroupTargetReference) + if err != nil { + err = core.SDKErrorf(err, "", "targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DeleteBackupPolicyOptions : The DeleteBackupPolicy options. +type DeleteBackupPolicyOptions struct { + // The backup policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteBackupPolicyOptions : Instantiate DeleteBackupPolicyOptions +func (*VpcV1) NewDeleteBackupPolicyOptions(id string) *DeleteBackupPolicyOptions { + return &DeleteBackupPolicyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteBackupPolicyOptions) SetID(id string) *DeleteBackupPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteBackupPolicyOptions) SetIfMatch(ifMatch string) *DeleteBackupPolicyOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteBackupPolicyOptions) SetHeaders(param map[string]string) *DeleteBackupPolicyOptions { + options.Headers = param + return options +} + +// DeleteBackupPolicyPlanOptions : The DeleteBackupPolicyPlan options. +type DeleteBackupPolicyPlanOptions struct { + // The backup policy identifier. + BackupPolicyID *string `json:"backup_policy_id" validate:"required,ne="` + + // The backup policy plan identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteBackupPolicyPlanOptions : Instantiate DeleteBackupPolicyPlanOptions +func (*VpcV1) NewDeleteBackupPolicyPlanOptions(backupPolicyID string, id string) *DeleteBackupPolicyPlanOptions { + return &DeleteBackupPolicyPlanOptions{ + BackupPolicyID: core.StringPtr(backupPolicyID), + ID: core.StringPtr(id), + } +} + +// SetBackupPolicyID : Allow user to set BackupPolicyID +func (_options *DeleteBackupPolicyPlanOptions) SetBackupPolicyID(backupPolicyID string) *DeleteBackupPolicyPlanOptions { + _options.BackupPolicyID = core.StringPtr(backupPolicyID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteBackupPolicyPlanOptions) SetID(id string) *DeleteBackupPolicyPlanOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteBackupPolicyPlanOptions) SetIfMatch(ifMatch string) *DeleteBackupPolicyPlanOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteBackupPolicyPlanOptions) SetHeaders(param map[string]string) *DeleteBackupPolicyPlanOptions { + options.Headers = param + return options +} + +// DeleteBareMetalServerNetworkAttachmentOptions : The DeleteBareMetalServerNetworkAttachment options. +type DeleteBareMetalServerNetworkAttachmentOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteBareMetalServerNetworkAttachmentOptions : Instantiate DeleteBareMetalServerNetworkAttachmentOptions +func (*VpcV1) NewDeleteBareMetalServerNetworkAttachmentOptions(bareMetalServerID string, id string) *DeleteBareMetalServerNetworkAttachmentOptions { + return &DeleteBareMetalServerNetworkAttachmentOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *DeleteBareMetalServerNetworkAttachmentOptions) SetBareMetalServerID(bareMetalServerID string) *DeleteBareMetalServerNetworkAttachmentOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteBareMetalServerNetworkAttachmentOptions) SetID(id string) *DeleteBareMetalServerNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteBareMetalServerNetworkAttachmentOptions) SetHeaders(param map[string]string) *DeleteBareMetalServerNetworkAttachmentOptions { + options.Headers = param + return options +} + +// DeleteBareMetalServerNetworkInterfaceOptions : The DeleteBareMetalServerNetworkInterface options. +type DeleteBareMetalServerNetworkInterfaceOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteBareMetalServerNetworkInterfaceOptions : Instantiate DeleteBareMetalServerNetworkInterfaceOptions +func (*VpcV1) NewDeleteBareMetalServerNetworkInterfaceOptions(bareMetalServerID string, id string) *DeleteBareMetalServerNetworkInterfaceOptions { + return &DeleteBareMetalServerNetworkInterfaceOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *DeleteBareMetalServerNetworkInterfaceOptions) SetBareMetalServerID(bareMetalServerID string) *DeleteBareMetalServerNetworkInterfaceOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteBareMetalServerNetworkInterfaceOptions) SetID(id string) *DeleteBareMetalServerNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteBareMetalServerNetworkInterfaceOptions) SetHeaders(param map[string]string) *DeleteBareMetalServerNetworkInterfaceOptions { + options.Headers = param + return options +} + +// DeleteBareMetalServerOptions : The DeleteBareMetalServer options. +type DeleteBareMetalServerOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteBareMetalServerOptions : Instantiate DeleteBareMetalServerOptions +func (*VpcV1) NewDeleteBareMetalServerOptions(id string) *DeleteBareMetalServerOptions { + return &DeleteBareMetalServerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteBareMetalServerOptions) SetID(id string) *DeleteBareMetalServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteBareMetalServerOptions) SetHeaders(param map[string]string) *DeleteBareMetalServerOptions { + options.Headers = param + return options +} + +// DeleteClusterNetworkInterfaceOptions : The DeleteClusterNetworkInterface options. +type DeleteClusterNetworkInterfaceOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteClusterNetworkInterfaceOptions : Instantiate DeleteClusterNetworkInterfaceOptions +func (*VpcV1) NewDeleteClusterNetworkInterfaceOptions(clusterNetworkID string, id string) *DeleteClusterNetworkInterfaceOptions { + return &DeleteClusterNetworkInterfaceOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ID: core.StringPtr(id), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *DeleteClusterNetworkInterfaceOptions) SetClusterNetworkID(clusterNetworkID string) *DeleteClusterNetworkInterfaceOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteClusterNetworkInterfaceOptions) SetID(id string) *DeleteClusterNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteClusterNetworkInterfaceOptions) SetIfMatch(ifMatch string) *DeleteClusterNetworkInterfaceOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteClusterNetworkInterfaceOptions) SetHeaders(param map[string]string) *DeleteClusterNetworkInterfaceOptions { + options.Headers = param + return options +} + +// DeleteClusterNetworkOptions : The DeleteClusterNetwork options. +type DeleteClusterNetworkOptions struct { + // The cluster network identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteClusterNetworkOptions : Instantiate DeleteClusterNetworkOptions +func (*VpcV1) NewDeleteClusterNetworkOptions(id string) *DeleteClusterNetworkOptions { + return &DeleteClusterNetworkOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteClusterNetworkOptions) SetID(id string) *DeleteClusterNetworkOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteClusterNetworkOptions) SetIfMatch(ifMatch string) *DeleteClusterNetworkOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteClusterNetworkOptions) SetHeaders(param map[string]string) *DeleteClusterNetworkOptions { + options.Headers = param + return options +} + +// DeleteClusterNetworkSubnetOptions : The DeleteClusterNetworkSubnet options. +type DeleteClusterNetworkSubnetOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteClusterNetworkSubnetOptions : Instantiate DeleteClusterNetworkSubnetOptions +func (*VpcV1) NewDeleteClusterNetworkSubnetOptions(clusterNetworkID string, id string) *DeleteClusterNetworkSubnetOptions { + return &DeleteClusterNetworkSubnetOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ID: core.StringPtr(id), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *DeleteClusterNetworkSubnetOptions) SetClusterNetworkID(clusterNetworkID string) *DeleteClusterNetworkSubnetOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteClusterNetworkSubnetOptions) SetID(id string) *DeleteClusterNetworkSubnetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteClusterNetworkSubnetOptions) SetIfMatch(ifMatch string) *DeleteClusterNetworkSubnetOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteClusterNetworkSubnetOptions) SetHeaders(param map[string]string) *DeleteClusterNetworkSubnetOptions { + options.Headers = param + return options +} + +// DeleteClusterNetworkSubnetReservedIPOptions : The DeleteClusterNetworkSubnetReservedIP options. +type DeleteClusterNetworkSubnetReservedIPOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet identifier. + ClusterNetworkSubnetID *string `json:"cluster_network_subnet_id" validate:"required,ne="` + + // The cluster network subnet reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteClusterNetworkSubnetReservedIPOptions : Instantiate DeleteClusterNetworkSubnetReservedIPOptions +func (*VpcV1) NewDeleteClusterNetworkSubnetReservedIPOptions(clusterNetworkID string, clusterNetworkSubnetID string, id string) *DeleteClusterNetworkSubnetReservedIPOptions { + return &DeleteClusterNetworkSubnetReservedIPOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ClusterNetworkSubnetID: core.StringPtr(clusterNetworkSubnetID), + ID: core.StringPtr(id), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *DeleteClusterNetworkSubnetReservedIPOptions) SetClusterNetworkID(clusterNetworkID string) *DeleteClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetClusterNetworkSubnetID : Allow user to set ClusterNetworkSubnetID +func (_options *DeleteClusterNetworkSubnetReservedIPOptions) SetClusterNetworkSubnetID(clusterNetworkSubnetID string) *DeleteClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkSubnetID = core.StringPtr(clusterNetworkSubnetID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteClusterNetworkSubnetReservedIPOptions) SetID(id string) *DeleteClusterNetworkSubnetReservedIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteClusterNetworkSubnetReservedIPOptions) SetIfMatch(ifMatch string) *DeleteClusterNetworkSubnetReservedIPOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteClusterNetworkSubnetReservedIPOptions) SetHeaders(param map[string]string) *DeleteClusterNetworkSubnetReservedIPOptions { + options.Headers = param + return options +} + +// DeleteDedicatedHostGroupOptions : The DeleteDedicatedHostGroup options. +type DeleteDedicatedHostGroupOptions struct { + // The dedicated host group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteDedicatedHostGroupOptions : Instantiate DeleteDedicatedHostGroupOptions +func (*VpcV1) NewDeleteDedicatedHostGroupOptions(id string) *DeleteDedicatedHostGroupOptions { + return &DeleteDedicatedHostGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteDedicatedHostGroupOptions) SetID(id string) *DeleteDedicatedHostGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteDedicatedHostGroupOptions) SetHeaders(param map[string]string) *DeleteDedicatedHostGroupOptions { + options.Headers = param + return options +} + +// DeleteDedicatedHostOptions : The DeleteDedicatedHost options. +type DeleteDedicatedHostOptions struct { + // The dedicated host identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteDedicatedHostOptions : Instantiate DeleteDedicatedHostOptions +func (*VpcV1) NewDeleteDedicatedHostOptions(id string) *DeleteDedicatedHostOptions { + return &DeleteDedicatedHostOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteDedicatedHostOptions) SetID(id string) *DeleteDedicatedHostOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteDedicatedHostOptions) SetHeaders(param map[string]string) *DeleteDedicatedHostOptions { + options.Headers = param + return options +} + +// DeleteEndpointGatewayOptions : The DeleteEndpointGateway options. +type DeleteEndpointGatewayOptions struct { + // The endpoint gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteEndpointGatewayOptions : Instantiate DeleteEndpointGatewayOptions +func (*VpcV1) NewDeleteEndpointGatewayOptions(id string) *DeleteEndpointGatewayOptions { + return &DeleteEndpointGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteEndpointGatewayOptions) SetID(id string) *DeleteEndpointGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteEndpointGatewayOptions) SetHeaders(param map[string]string) *DeleteEndpointGatewayOptions { + options.Headers = param + return options +} + +// DeleteFloatingIPOptions : The DeleteFloatingIP options. +type DeleteFloatingIPOptions struct { + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteFloatingIPOptions : Instantiate DeleteFloatingIPOptions +func (*VpcV1) NewDeleteFloatingIPOptions(id string) *DeleteFloatingIPOptions { + return &DeleteFloatingIPOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteFloatingIPOptions) SetID(id string) *DeleteFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteFloatingIPOptions) SetHeaders(param map[string]string) *DeleteFloatingIPOptions { + options.Headers = param + return options +} + +// DeleteFlowLogCollectorOptions : The DeleteFlowLogCollector options. +type DeleteFlowLogCollectorOptions struct { + // The flow log collector identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteFlowLogCollectorOptions : Instantiate DeleteFlowLogCollectorOptions +func (*VpcV1) NewDeleteFlowLogCollectorOptions(id string) *DeleteFlowLogCollectorOptions { + return &DeleteFlowLogCollectorOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteFlowLogCollectorOptions) SetID(id string) *DeleteFlowLogCollectorOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteFlowLogCollectorOptions) SetHeaders(param map[string]string) *DeleteFlowLogCollectorOptions { + options.Headers = param + return options +} + +// DeleteIkePolicyOptions : The DeleteIkePolicy options. +type DeleteIkePolicyOptions struct { + // The IKE policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteIkePolicyOptions : Instantiate DeleteIkePolicyOptions +func (*VpcV1) NewDeleteIkePolicyOptions(id string) *DeleteIkePolicyOptions { + return &DeleteIkePolicyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteIkePolicyOptions) SetID(id string) *DeleteIkePolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteIkePolicyOptions) SetHeaders(param map[string]string) *DeleteIkePolicyOptions { + options.Headers = param + return options +} + +// DeleteImageExportJobOptions : The DeleteImageExportJob options. +type DeleteImageExportJobOptions struct { + // The image identifier. + ImageID *string `json:"image_id" validate:"required,ne="` + + // The image export job identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteImageExportJobOptions : Instantiate DeleteImageExportJobOptions +func (*VpcV1) NewDeleteImageExportJobOptions(imageID string, id string) *DeleteImageExportJobOptions { + return &DeleteImageExportJobOptions{ + ImageID: core.StringPtr(imageID), + ID: core.StringPtr(id), + } +} + +// SetImageID : Allow user to set ImageID +func (_options *DeleteImageExportJobOptions) SetImageID(imageID string) *DeleteImageExportJobOptions { + _options.ImageID = core.StringPtr(imageID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteImageExportJobOptions) SetID(id string) *DeleteImageExportJobOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteImageExportJobOptions) SetHeaders(param map[string]string) *DeleteImageExportJobOptions { + options.Headers = param + return options +} + +// DeleteImageOptions : The DeleteImage options. +type DeleteImageOptions struct { + // The image identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteImageOptions : Instantiate DeleteImageOptions +func (*VpcV1) NewDeleteImageOptions(id string) *DeleteImageOptions { + return &DeleteImageOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteImageOptions) SetID(id string) *DeleteImageOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteImageOptions) SetHeaders(param map[string]string) *DeleteImageOptions { + options.Headers = param + return options +} + +// DeleteInstanceClusterNetworkAttachmentOptions : The DeleteInstanceClusterNetworkAttachment options. +type DeleteInstanceClusterNetworkAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance cluster network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceClusterNetworkAttachmentOptions : Instantiate DeleteInstanceClusterNetworkAttachmentOptions +func (*VpcV1) NewDeleteInstanceClusterNetworkAttachmentOptions(instanceID string, id string) *DeleteInstanceClusterNetworkAttachmentOptions { + return &DeleteInstanceClusterNetworkAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *DeleteInstanceClusterNetworkAttachmentOptions) SetInstanceID(instanceID string) *DeleteInstanceClusterNetworkAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceClusterNetworkAttachmentOptions) SetID(id string) *DeleteInstanceClusterNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceClusterNetworkAttachmentOptions) SetHeaders(param map[string]string) *DeleteInstanceClusterNetworkAttachmentOptions { + options.Headers = param + return options +} + +// DeleteInstanceGroupLoadBalancerOptions : The DeleteInstanceGroupLoadBalancer options. +type DeleteInstanceGroupLoadBalancerOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceGroupLoadBalancerOptions : Instantiate DeleteInstanceGroupLoadBalancerOptions +func (*VpcV1) NewDeleteInstanceGroupLoadBalancerOptions(instanceGroupID string) *DeleteInstanceGroupLoadBalancerOptions { + return &DeleteInstanceGroupLoadBalancerOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *DeleteInstanceGroupLoadBalancerOptions) SetInstanceGroupID(instanceGroupID string) *DeleteInstanceGroupLoadBalancerOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceGroupLoadBalancerOptions) SetHeaders(param map[string]string) *DeleteInstanceGroupLoadBalancerOptions { + options.Headers = param + return options +} + +// DeleteInstanceGroupManagerActionOptions : The DeleteInstanceGroupManagerAction options. +type DeleteInstanceGroupManagerActionOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // The instance group manager action identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceGroupManagerActionOptions : Instantiate DeleteInstanceGroupManagerActionOptions +func (*VpcV1) NewDeleteInstanceGroupManagerActionOptions(instanceGroupID string, instanceGroupManagerID string, id string) *DeleteInstanceGroupManagerActionOptions { + return &DeleteInstanceGroupManagerActionOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + ID: core.StringPtr(id), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *DeleteInstanceGroupManagerActionOptions) SetInstanceGroupID(instanceGroupID string) *DeleteInstanceGroupManagerActionOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *DeleteInstanceGroupManagerActionOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *DeleteInstanceGroupManagerActionOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceGroupManagerActionOptions) SetID(id string) *DeleteInstanceGroupManagerActionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceGroupManagerActionOptions) SetHeaders(param map[string]string) *DeleteInstanceGroupManagerActionOptions { + options.Headers = param + return options +} + +// DeleteInstanceGroupManagerOptions : The DeleteInstanceGroupManager options. +type DeleteInstanceGroupManagerOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceGroupManagerOptions : Instantiate DeleteInstanceGroupManagerOptions +func (*VpcV1) NewDeleteInstanceGroupManagerOptions(instanceGroupID string, id string) *DeleteInstanceGroupManagerOptions { + return &DeleteInstanceGroupManagerOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + ID: core.StringPtr(id), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *DeleteInstanceGroupManagerOptions) SetInstanceGroupID(instanceGroupID string) *DeleteInstanceGroupManagerOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceGroupManagerOptions) SetID(id string) *DeleteInstanceGroupManagerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceGroupManagerOptions) SetHeaders(param map[string]string) *DeleteInstanceGroupManagerOptions { + options.Headers = param + return options +} + +// DeleteInstanceGroupManagerPolicyOptions : The DeleteInstanceGroupManagerPolicy options. +type DeleteInstanceGroupManagerPolicyOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // The instance group manager policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceGroupManagerPolicyOptions : Instantiate DeleteInstanceGroupManagerPolicyOptions +func (*VpcV1) NewDeleteInstanceGroupManagerPolicyOptions(instanceGroupID string, instanceGroupManagerID string, id string) *DeleteInstanceGroupManagerPolicyOptions { + return &DeleteInstanceGroupManagerPolicyOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + ID: core.StringPtr(id), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *DeleteInstanceGroupManagerPolicyOptions) SetInstanceGroupID(instanceGroupID string) *DeleteInstanceGroupManagerPolicyOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *DeleteInstanceGroupManagerPolicyOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *DeleteInstanceGroupManagerPolicyOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceGroupManagerPolicyOptions) SetID(id string) *DeleteInstanceGroupManagerPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceGroupManagerPolicyOptions) SetHeaders(param map[string]string) *DeleteInstanceGroupManagerPolicyOptions { + options.Headers = param + return options +} + +// DeleteInstanceGroupMembershipOptions : The DeleteInstanceGroupMembership options. +type DeleteInstanceGroupMembershipOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group membership identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceGroupMembershipOptions : Instantiate DeleteInstanceGroupMembershipOptions +func (*VpcV1) NewDeleteInstanceGroupMembershipOptions(instanceGroupID string, id string) *DeleteInstanceGroupMembershipOptions { + return &DeleteInstanceGroupMembershipOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + ID: core.StringPtr(id), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *DeleteInstanceGroupMembershipOptions) SetInstanceGroupID(instanceGroupID string) *DeleteInstanceGroupMembershipOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceGroupMembershipOptions) SetID(id string) *DeleteInstanceGroupMembershipOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceGroupMembershipOptions) SetHeaders(param map[string]string) *DeleteInstanceGroupMembershipOptions { + options.Headers = param + return options +} + +// DeleteInstanceGroupMembershipsOptions : The DeleteInstanceGroupMemberships options. +type DeleteInstanceGroupMembershipsOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceGroupMembershipsOptions : Instantiate DeleteInstanceGroupMembershipsOptions +func (*VpcV1) NewDeleteInstanceGroupMembershipsOptions(instanceGroupID string) *DeleteInstanceGroupMembershipsOptions { + return &DeleteInstanceGroupMembershipsOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *DeleteInstanceGroupMembershipsOptions) SetInstanceGroupID(instanceGroupID string) *DeleteInstanceGroupMembershipsOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceGroupMembershipsOptions) SetHeaders(param map[string]string) *DeleteInstanceGroupMembershipsOptions { + options.Headers = param + return options +} + +// DeleteInstanceGroupOptions : The DeleteInstanceGroup options. +type DeleteInstanceGroupOptions struct { + // The instance group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceGroupOptions : Instantiate DeleteInstanceGroupOptions +func (*VpcV1) NewDeleteInstanceGroupOptions(id string) *DeleteInstanceGroupOptions { + return &DeleteInstanceGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceGroupOptions) SetID(id string) *DeleteInstanceGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceGroupOptions) SetHeaders(param map[string]string) *DeleteInstanceGroupOptions { + options.Headers = param + return options +} + +// DeleteInstanceNetworkAttachmentOptions : The DeleteInstanceNetworkAttachment options. +type DeleteInstanceNetworkAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceNetworkAttachmentOptions : Instantiate DeleteInstanceNetworkAttachmentOptions +func (*VpcV1) NewDeleteInstanceNetworkAttachmentOptions(instanceID string, id string) *DeleteInstanceNetworkAttachmentOptions { + return &DeleteInstanceNetworkAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *DeleteInstanceNetworkAttachmentOptions) SetInstanceID(instanceID string) *DeleteInstanceNetworkAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceNetworkAttachmentOptions) SetID(id string) *DeleteInstanceNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceNetworkAttachmentOptions) SetHeaders(param map[string]string) *DeleteInstanceNetworkAttachmentOptions { + options.Headers = param + return options +} + +// DeleteInstanceNetworkInterfaceOptions : The DeleteInstanceNetworkInterface options. +type DeleteInstanceNetworkInterfaceOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceNetworkInterfaceOptions : Instantiate DeleteInstanceNetworkInterfaceOptions +func (*VpcV1) NewDeleteInstanceNetworkInterfaceOptions(instanceID string, id string) *DeleteInstanceNetworkInterfaceOptions { + return &DeleteInstanceNetworkInterfaceOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *DeleteInstanceNetworkInterfaceOptions) SetInstanceID(instanceID string) *DeleteInstanceNetworkInterfaceOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceNetworkInterfaceOptions) SetID(id string) *DeleteInstanceNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceNetworkInterfaceOptions) SetHeaders(param map[string]string) *DeleteInstanceNetworkInterfaceOptions { + options.Headers = param + return options +} + +// DeleteInstanceOptions : The DeleteInstance options. +type DeleteInstanceOptions struct { + // The virtual server instance identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceOptions : Instantiate DeleteInstanceOptions +func (*VpcV1) NewDeleteInstanceOptions(id string) *DeleteInstanceOptions { + return &DeleteInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceOptions) SetID(id string) *DeleteInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteInstanceOptions) SetIfMatch(ifMatch string) *DeleteInstanceOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceOptions) SetHeaders(param map[string]string) *DeleteInstanceOptions { + options.Headers = param + return options +} + +// DeleteInstanceTemplateOptions : The DeleteInstanceTemplate options. +type DeleteInstanceTemplateOptions struct { + // The instance template identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceTemplateOptions : Instantiate DeleteInstanceTemplateOptions +func (*VpcV1) NewDeleteInstanceTemplateOptions(id string) *DeleteInstanceTemplateOptions { + return &DeleteInstanceTemplateOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceTemplateOptions) SetID(id string) *DeleteInstanceTemplateOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceTemplateOptions) SetHeaders(param map[string]string) *DeleteInstanceTemplateOptions { + options.Headers = param + return options +} + +// DeleteInstanceVolumeAttachmentOptions : The DeleteInstanceVolumeAttachment options. +type DeleteInstanceVolumeAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The volume attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteInstanceVolumeAttachmentOptions : Instantiate DeleteInstanceVolumeAttachmentOptions +func (*VpcV1) NewDeleteInstanceVolumeAttachmentOptions(instanceID string, id string) *DeleteInstanceVolumeAttachmentOptions { + return &DeleteInstanceVolumeAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *DeleteInstanceVolumeAttachmentOptions) SetInstanceID(instanceID string) *DeleteInstanceVolumeAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteInstanceVolumeAttachmentOptions) SetID(id string) *DeleteInstanceVolumeAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteInstanceVolumeAttachmentOptions) SetHeaders(param map[string]string) *DeleteInstanceVolumeAttachmentOptions { + options.Headers = param + return options +} + +// DeleteIpsecPolicyOptions : The DeleteIpsecPolicy options. +type DeleteIpsecPolicyOptions struct { + // The IPsec policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteIpsecPolicyOptions : Instantiate DeleteIpsecPolicyOptions +func (*VpcV1) NewDeleteIpsecPolicyOptions(id string) *DeleteIpsecPolicyOptions { + return &DeleteIpsecPolicyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteIpsecPolicyOptions) SetID(id string) *DeleteIpsecPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteIpsecPolicyOptions) SetHeaders(param map[string]string) *DeleteIpsecPolicyOptions { + options.Headers = param + return options +} + +// DeleteKeyOptions : The DeleteKey options. +type DeleteKeyOptions struct { + // The key identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteKeyOptions : Instantiate DeleteKeyOptions +func (*VpcV1) NewDeleteKeyOptions(id string) *DeleteKeyOptions { + return &DeleteKeyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteKeyOptions) SetID(id string) *DeleteKeyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteKeyOptions) SetHeaders(param map[string]string) *DeleteKeyOptions { + options.Headers = param + return options +} + +// DeleteLoadBalancerListenerOptions : The DeleteLoadBalancerListener options. +type DeleteLoadBalancerListenerOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteLoadBalancerListenerOptions : Instantiate DeleteLoadBalancerListenerOptions +func (*VpcV1) NewDeleteLoadBalancerListenerOptions(loadBalancerID string, id string) *DeleteLoadBalancerListenerOptions { + return &DeleteLoadBalancerListenerOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *DeleteLoadBalancerListenerOptions) SetLoadBalancerID(loadBalancerID string) *DeleteLoadBalancerListenerOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteLoadBalancerListenerOptions) SetID(id string) *DeleteLoadBalancerListenerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteLoadBalancerListenerOptions) SetHeaders(param map[string]string) *DeleteLoadBalancerListenerOptions { + options.Headers = param + return options +} + +// DeleteLoadBalancerListenerPolicyOptions : The DeleteLoadBalancerListenerPolicy options. +type DeleteLoadBalancerListenerPolicyOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteLoadBalancerListenerPolicyOptions : Instantiate DeleteLoadBalancerListenerPolicyOptions +func (*VpcV1) NewDeleteLoadBalancerListenerPolicyOptions(loadBalancerID string, listenerID string, id string) *DeleteLoadBalancerListenerPolicyOptions { + return &DeleteLoadBalancerListenerPolicyOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *DeleteLoadBalancerListenerPolicyOptions) SetLoadBalancerID(loadBalancerID string) *DeleteLoadBalancerListenerPolicyOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *DeleteLoadBalancerListenerPolicyOptions) SetListenerID(listenerID string) *DeleteLoadBalancerListenerPolicyOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteLoadBalancerListenerPolicyOptions) SetID(id string) *DeleteLoadBalancerListenerPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteLoadBalancerListenerPolicyOptions) SetHeaders(param map[string]string) *DeleteLoadBalancerListenerPolicyOptions { + options.Headers = param + return options +} + +// DeleteLoadBalancerListenerPolicyRuleOptions : The DeleteLoadBalancerListenerPolicyRule options. +type DeleteLoadBalancerListenerPolicyRuleOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy identifier. + PolicyID *string `json:"policy_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteLoadBalancerListenerPolicyRuleOptions : Instantiate DeleteLoadBalancerListenerPolicyRuleOptions +func (*VpcV1) NewDeleteLoadBalancerListenerPolicyRuleOptions(loadBalancerID string, listenerID string, policyID string, id string) *DeleteLoadBalancerListenerPolicyRuleOptions { + return &DeleteLoadBalancerListenerPolicyRuleOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + PolicyID: core.StringPtr(policyID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *DeleteLoadBalancerListenerPolicyRuleOptions) SetLoadBalancerID(loadBalancerID string) *DeleteLoadBalancerListenerPolicyRuleOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *DeleteLoadBalancerListenerPolicyRuleOptions) SetListenerID(listenerID string) *DeleteLoadBalancerListenerPolicyRuleOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetPolicyID : Allow user to set PolicyID +func (_options *DeleteLoadBalancerListenerPolicyRuleOptions) SetPolicyID(policyID string) *DeleteLoadBalancerListenerPolicyRuleOptions { + _options.PolicyID = core.StringPtr(policyID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteLoadBalancerListenerPolicyRuleOptions) SetID(id string) *DeleteLoadBalancerListenerPolicyRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteLoadBalancerListenerPolicyRuleOptions) SetHeaders(param map[string]string) *DeleteLoadBalancerListenerPolicyRuleOptions { + options.Headers = param + return options +} + +// DeleteLoadBalancerOptions : The DeleteLoadBalancer options. +type DeleteLoadBalancerOptions struct { + // The load balancer identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteLoadBalancerOptions : Instantiate DeleteLoadBalancerOptions +func (*VpcV1) NewDeleteLoadBalancerOptions(id string) *DeleteLoadBalancerOptions { + return &DeleteLoadBalancerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteLoadBalancerOptions) SetID(id string) *DeleteLoadBalancerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteLoadBalancerOptions) SetIfMatch(ifMatch string) *DeleteLoadBalancerOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteLoadBalancerOptions) SetHeaders(param map[string]string) *DeleteLoadBalancerOptions { + options.Headers = param + return options +} + +// DeleteLoadBalancerPoolMemberOptions : The DeleteLoadBalancerPoolMember options. +type DeleteLoadBalancerPoolMemberOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + PoolID *string `json:"pool_id" validate:"required,ne="` + + // The member identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteLoadBalancerPoolMemberOptions : Instantiate DeleteLoadBalancerPoolMemberOptions +func (*VpcV1) NewDeleteLoadBalancerPoolMemberOptions(loadBalancerID string, poolID string, id string) *DeleteLoadBalancerPoolMemberOptions { + return &DeleteLoadBalancerPoolMemberOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + PoolID: core.StringPtr(poolID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *DeleteLoadBalancerPoolMemberOptions) SetLoadBalancerID(loadBalancerID string) *DeleteLoadBalancerPoolMemberOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetPoolID : Allow user to set PoolID +func (_options *DeleteLoadBalancerPoolMemberOptions) SetPoolID(poolID string) *DeleteLoadBalancerPoolMemberOptions { + _options.PoolID = core.StringPtr(poolID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteLoadBalancerPoolMemberOptions) SetID(id string) *DeleteLoadBalancerPoolMemberOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteLoadBalancerPoolMemberOptions) SetHeaders(param map[string]string) *DeleteLoadBalancerPoolMemberOptions { + options.Headers = param + return options +} + +// DeleteLoadBalancerPoolOptions : The DeleteLoadBalancerPool options. +type DeleteLoadBalancerPoolOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteLoadBalancerPoolOptions : Instantiate DeleteLoadBalancerPoolOptions +func (*VpcV1) NewDeleteLoadBalancerPoolOptions(loadBalancerID string, id string) *DeleteLoadBalancerPoolOptions { + return &DeleteLoadBalancerPoolOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *DeleteLoadBalancerPoolOptions) SetLoadBalancerID(loadBalancerID string) *DeleteLoadBalancerPoolOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteLoadBalancerPoolOptions) SetID(id string) *DeleteLoadBalancerPoolOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteLoadBalancerPoolOptions) SetHeaders(param map[string]string) *DeleteLoadBalancerPoolOptions { + options.Headers = param + return options +} + +// DeleteNetworkACLOptions : The DeleteNetworkACL options. +type DeleteNetworkACLOptions struct { + // The network ACL identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteNetworkACLOptions : Instantiate DeleteNetworkACLOptions +func (*VpcV1) NewDeleteNetworkACLOptions(id string) *DeleteNetworkACLOptions { + return &DeleteNetworkACLOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteNetworkACLOptions) SetID(id string) *DeleteNetworkACLOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteNetworkACLOptions) SetHeaders(param map[string]string) *DeleteNetworkACLOptions { + options.Headers = param + return options +} + +// DeleteNetworkACLRuleOptions : The DeleteNetworkACLRule options. +type DeleteNetworkACLRuleOptions struct { + // The network ACL identifier. + NetworkACLID *string `json:"network_acl_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteNetworkACLRuleOptions : Instantiate DeleteNetworkACLRuleOptions +func (*VpcV1) NewDeleteNetworkACLRuleOptions(networkACLID string, id string) *DeleteNetworkACLRuleOptions { + return &DeleteNetworkACLRuleOptions{ + NetworkACLID: core.StringPtr(networkACLID), + ID: core.StringPtr(id), + } +} + +// SetNetworkACLID : Allow user to set NetworkACLID +func (_options *DeleteNetworkACLRuleOptions) SetNetworkACLID(networkACLID string) *DeleteNetworkACLRuleOptions { + _options.NetworkACLID = core.StringPtr(networkACLID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteNetworkACLRuleOptions) SetID(id string) *DeleteNetworkACLRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteNetworkACLRuleOptions) SetHeaders(param map[string]string) *DeleteNetworkACLRuleOptions { + options.Headers = param + return options +} + +// DeletePlacementGroupOptions : The DeletePlacementGroup options. +type DeletePlacementGroupOptions struct { + // The placement group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeletePlacementGroupOptions : Instantiate DeletePlacementGroupOptions +func (*VpcV1) NewDeletePlacementGroupOptions(id string) *DeletePlacementGroupOptions { + return &DeletePlacementGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeletePlacementGroupOptions) SetID(id string) *DeletePlacementGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeletePlacementGroupOptions) SetHeaders(param map[string]string) *DeletePlacementGroupOptions { + options.Headers = param + return options +} + +// DeletePrivatePathServiceGatewayAccountPolicyOptions : The DeletePrivatePathServiceGatewayAccountPolicy options. +type DeletePrivatePathServiceGatewayAccountPolicyOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // The account policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeletePrivatePathServiceGatewayAccountPolicyOptions : Instantiate DeletePrivatePathServiceGatewayAccountPolicyOptions +func (*VpcV1) NewDeletePrivatePathServiceGatewayAccountPolicyOptions(privatePathServiceGatewayID string, id string) *DeletePrivatePathServiceGatewayAccountPolicyOptions { + return &DeletePrivatePathServiceGatewayAccountPolicyOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + ID: core.StringPtr(id), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *DeletePrivatePathServiceGatewayAccountPolicyOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *DeletePrivatePathServiceGatewayAccountPolicyOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeletePrivatePathServiceGatewayAccountPolicyOptions) SetID(id string) *DeletePrivatePathServiceGatewayAccountPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeletePrivatePathServiceGatewayAccountPolicyOptions) SetHeaders(param map[string]string) *DeletePrivatePathServiceGatewayAccountPolicyOptions { + options.Headers = param + return options +} + +// DeletePrivatePathServiceGatewayOptions : The DeletePrivatePathServiceGateway options. +type DeletePrivatePathServiceGatewayOptions struct { + // The private path service gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeletePrivatePathServiceGatewayOptions : Instantiate DeletePrivatePathServiceGatewayOptions +func (*VpcV1) NewDeletePrivatePathServiceGatewayOptions(id string) *DeletePrivatePathServiceGatewayOptions { + return &DeletePrivatePathServiceGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeletePrivatePathServiceGatewayOptions) SetID(id string) *DeletePrivatePathServiceGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeletePrivatePathServiceGatewayOptions) SetHeaders(param map[string]string) *DeletePrivatePathServiceGatewayOptions { + options.Headers = param + return options +} + +// DeletePublicAddressRangeOptions : The DeletePublicAddressRange options. +type DeletePublicAddressRangeOptions struct { + // The public address range identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeletePublicAddressRangeOptions : Instantiate DeletePublicAddressRangeOptions +func (*VpcV1) NewDeletePublicAddressRangeOptions(id string) *DeletePublicAddressRangeOptions { + return &DeletePublicAddressRangeOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeletePublicAddressRangeOptions) SetID(id string) *DeletePublicAddressRangeOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeletePublicAddressRangeOptions) SetHeaders(param map[string]string) *DeletePublicAddressRangeOptions { + options.Headers = param + return options +} + +// DeletePublicGatewayOptions : The DeletePublicGateway options. +type DeletePublicGatewayOptions struct { + // The public gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeletePublicGatewayOptions : Instantiate DeletePublicGatewayOptions +func (*VpcV1) NewDeletePublicGatewayOptions(id string) *DeletePublicGatewayOptions { + return &DeletePublicGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeletePublicGatewayOptions) SetID(id string) *DeletePublicGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeletePublicGatewayOptions) SetHeaders(param map[string]string) *DeletePublicGatewayOptions { + options.Headers = param + return options +} + +// DeleteReservationOptions : The DeleteReservation options. +type DeleteReservationOptions struct { + // The reservation identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteReservationOptions : Instantiate DeleteReservationOptions +func (*VpcV1) NewDeleteReservationOptions(id string) *DeleteReservationOptions { + return &DeleteReservationOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteReservationOptions) SetID(id string) *DeleteReservationOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteReservationOptions) SetHeaders(param map[string]string) *DeleteReservationOptions { + options.Headers = param + return options +} + +// DeleteSecurityGroupOptions : The DeleteSecurityGroup options. +type DeleteSecurityGroupOptions struct { + // The security group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSecurityGroupOptions : Instantiate DeleteSecurityGroupOptions +func (*VpcV1) NewDeleteSecurityGroupOptions(id string) *DeleteSecurityGroupOptions { + return &DeleteSecurityGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteSecurityGroupOptions) SetID(id string) *DeleteSecurityGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSecurityGroupOptions) SetHeaders(param map[string]string) *DeleteSecurityGroupOptions { + options.Headers = param + return options +} + +// DeleteSecurityGroupRuleOptions : The DeleteSecurityGroupRule options. +type DeleteSecurityGroupRuleOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSecurityGroupRuleOptions : Instantiate DeleteSecurityGroupRuleOptions +func (*VpcV1) NewDeleteSecurityGroupRuleOptions(securityGroupID string, id string) *DeleteSecurityGroupRuleOptions { + return &DeleteSecurityGroupRuleOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + ID: core.StringPtr(id), + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *DeleteSecurityGroupRuleOptions) SetSecurityGroupID(securityGroupID string) *DeleteSecurityGroupRuleOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteSecurityGroupRuleOptions) SetID(id string) *DeleteSecurityGroupRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSecurityGroupRuleOptions) SetHeaders(param map[string]string) *DeleteSecurityGroupRuleOptions { + options.Headers = param + return options +} + +// DeleteSecurityGroupTargetBindingOptions : The DeleteSecurityGroupTargetBinding options. +type DeleteSecurityGroupTargetBindingOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // The security group target identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSecurityGroupTargetBindingOptions : Instantiate DeleteSecurityGroupTargetBindingOptions +func (*VpcV1) NewDeleteSecurityGroupTargetBindingOptions(securityGroupID string, id string) *DeleteSecurityGroupTargetBindingOptions { + return &DeleteSecurityGroupTargetBindingOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + ID: core.StringPtr(id), + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *DeleteSecurityGroupTargetBindingOptions) SetSecurityGroupID(securityGroupID string) *DeleteSecurityGroupTargetBindingOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteSecurityGroupTargetBindingOptions) SetID(id string) *DeleteSecurityGroupTargetBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSecurityGroupTargetBindingOptions) SetHeaders(param map[string]string) *DeleteSecurityGroupTargetBindingOptions { + options.Headers = param + return options +} + +// DeleteShareAccessorBindingOptions : The DeleteShareAccessorBinding options. +type DeleteShareAccessorBindingOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The file share accessor binding identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteShareAccessorBindingOptions : Instantiate DeleteShareAccessorBindingOptions +func (*VpcV1) NewDeleteShareAccessorBindingOptions(shareID string, id string) *DeleteShareAccessorBindingOptions { + return &DeleteShareAccessorBindingOptions{ + ShareID: core.StringPtr(shareID), + ID: core.StringPtr(id), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *DeleteShareAccessorBindingOptions) SetShareID(shareID string) *DeleteShareAccessorBindingOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteShareAccessorBindingOptions) SetID(id string) *DeleteShareAccessorBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteShareAccessorBindingOptions) SetHeaders(param map[string]string) *DeleteShareAccessorBindingOptions { + options.Headers = param + return options +} + +// DeleteShareMountTargetOptions : The DeleteShareMountTarget options. +type DeleteShareMountTargetOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The file share mount target identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteShareMountTargetOptions : Instantiate DeleteShareMountTargetOptions +func (*VpcV1) NewDeleteShareMountTargetOptions(shareID string, id string) *DeleteShareMountTargetOptions { + return &DeleteShareMountTargetOptions{ + ShareID: core.StringPtr(shareID), + ID: core.StringPtr(id), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *DeleteShareMountTargetOptions) SetShareID(shareID string) *DeleteShareMountTargetOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteShareMountTargetOptions) SetID(id string) *DeleteShareMountTargetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteShareMountTargetOptions) SetHeaders(param map[string]string) *DeleteShareMountTargetOptions { + options.Headers = param + return options +} + +// DeleteShareOptions : The DeleteShare options. +type DeleteShareOptions struct { + // The file share identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteShareOptions : Instantiate DeleteShareOptions +func (*VpcV1) NewDeleteShareOptions(id string) *DeleteShareOptions { + return &DeleteShareOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteShareOptions) SetID(id string) *DeleteShareOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteShareOptions) SetIfMatch(ifMatch string) *DeleteShareOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteShareOptions) SetHeaders(param map[string]string) *DeleteShareOptions { + options.Headers = param + return options +} + +// DeleteShareSnapshotOptions : The DeleteShareSnapshot options. +type DeleteShareSnapshotOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The share snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteShareSnapshotOptions : Instantiate DeleteShareSnapshotOptions +func (*VpcV1) NewDeleteShareSnapshotOptions(shareID string, id string) *DeleteShareSnapshotOptions { + return &DeleteShareSnapshotOptions{ + ShareID: core.StringPtr(shareID), + ID: core.StringPtr(id), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *DeleteShareSnapshotOptions) SetShareID(shareID string) *DeleteShareSnapshotOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteShareSnapshotOptions) SetID(id string) *DeleteShareSnapshotOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteShareSnapshotOptions) SetHeaders(param map[string]string) *DeleteShareSnapshotOptions { + options.Headers = param + return options +} + +// DeleteShareSourceOptions : The DeleteShareSource options. +type DeleteShareSourceOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteShareSourceOptions : Instantiate DeleteShareSourceOptions +func (*VpcV1) NewDeleteShareSourceOptions(shareID string) *DeleteShareSourceOptions { + return &DeleteShareSourceOptions{ + ShareID: core.StringPtr(shareID), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *DeleteShareSourceOptions) SetShareID(shareID string) *DeleteShareSourceOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteShareSourceOptions) SetHeaders(param map[string]string) *DeleteShareSourceOptions { + options.Headers = param + return options +} + +// DeleteSnapshotCloneOptions : The DeleteSnapshotClone options. +type DeleteSnapshotCloneOptions struct { + // The snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // The zone name. + ZoneName *string `json:"zone_name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSnapshotCloneOptions : Instantiate DeleteSnapshotCloneOptions +func (*VpcV1) NewDeleteSnapshotCloneOptions(id string, zoneName string) *DeleteSnapshotCloneOptions { + return &DeleteSnapshotCloneOptions{ + ID: core.StringPtr(id), + ZoneName: core.StringPtr(zoneName), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteSnapshotCloneOptions) SetID(id string) *DeleteSnapshotCloneOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *DeleteSnapshotCloneOptions) SetZoneName(zoneName string) *DeleteSnapshotCloneOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSnapshotCloneOptions) SetHeaders(param map[string]string) *DeleteSnapshotCloneOptions { + options.Headers = param + return options +} + +// DeleteSnapshotConsistencyGroupOptions : The DeleteSnapshotConsistencyGroup options. +type DeleteSnapshotConsistencyGroupOptions struct { + // The snapshot consistency group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSnapshotConsistencyGroupOptions : Instantiate DeleteSnapshotConsistencyGroupOptions +func (*VpcV1) NewDeleteSnapshotConsistencyGroupOptions(id string) *DeleteSnapshotConsistencyGroupOptions { + return &DeleteSnapshotConsistencyGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteSnapshotConsistencyGroupOptions) SetID(id string) *DeleteSnapshotConsistencyGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSnapshotConsistencyGroupOptions) SetHeaders(param map[string]string) *DeleteSnapshotConsistencyGroupOptions { + options.Headers = param + return options +} + +// DeleteSnapshotOptions : The DeleteSnapshot options. +type DeleteSnapshotOptions struct { + // The snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSnapshotOptions : Instantiate DeleteSnapshotOptions +func (*VpcV1) NewDeleteSnapshotOptions(id string) *DeleteSnapshotOptions { + return &DeleteSnapshotOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteSnapshotOptions) SetID(id string) *DeleteSnapshotOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteSnapshotOptions) SetIfMatch(ifMatch string) *DeleteSnapshotOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSnapshotOptions) SetHeaders(param map[string]string) *DeleteSnapshotOptions { + options.Headers = param + return options +} + +// DeleteSnapshotsOptions : The DeleteSnapshots options. +type DeleteSnapshotsOptions struct { + // Filters the collection to resources with a `source_volume.id` property matching the specified identifier. + SourceVolumeID *string `json:"source_volume.id" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSnapshotsOptions : Instantiate DeleteSnapshotsOptions +func (*VpcV1) NewDeleteSnapshotsOptions(sourceVolumeID string) *DeleteSnapshotsOptions { + return &DeleteSnapshotsOptions{ + SourceVolumeID: core.StringPtr(sourceVolumeID), + } +} + +// SetSourceVolumeID : Allow user to set SourceVolumeID +func (_options *DeleteSnapshotsOptions) SetSourceVolumeID(sourceVolumeID string) *DeleteSnapshotsOptions { + _options.SourceVolumeID = core.StringPtr(sourceVolumeID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSnapshotsOptions) SetHeaders(param map[string]string) *DeleteSnapshotsOptions { + options.Headers = param + return options +} + +// DeleteSubnetOptions : The DeleteSubnet options. +type DeleteSubnetOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSubnetOptions : Instantiate DeleteSubnetOptions +func (*VpcV1) NewDeleteSubnetOptions(id string) *DeleteSubnetOptions { + return &DeleteSubnetOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteSubnetOptions) SetID(id string) *DeleteSubnetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSubnetOptions) SetHeaders(param map[string]string) *DeleteSubnetOptions { + options.Headers = param + return options +} + +// DeleteSubnetReservedIPOptions : The DeleteSubnetReservedIP options. +type DeleteSubnetReservedIPOptions struct { + // The subnet identifier. + SubnetID *string `json:"subnet_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteSubnetReservedIPOptions : Instantiate DeleteSubnetReservedIPOptions +func (*VpcV1) NewDeleteSubnetReservedIPOptions(subnetID string, id string) *DeleteSubnetReservedIPOptions { + return &DeleteSubnetReservedIPOptions{ + SubnetID: core.StringPtr(subnetID), + ID: core.StringPtr(id), + } +} + +// SetSubnetID : Allow user to set SubnetID +func (_options *DeleteSubnetReservedIPOptions) SetSubnetID(subnetID string) *DeleteSubnetReservedIPOptions { + _options.SubnetID = core.StringPtr(subnetID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteSubnetReservedIPOptions) SetID(id string) *DeleteSubnetReservedIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteSubnetReservedIPOptions) SetHeaders(param map[string]string) *DeleteSubnetReservedIPOptions { + options.Headers = param + return options +} + +// DeleteVirtualNetworkInterfacesOptions : The DeleteVirtualNetworkInterfaces options. +type DeleteVirtualNetworkInterfacesOptions struct { + // The virtual network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVirtualNetworkInterfacesOptions : Instantiate DeleteVirtualNetworkInterfacesOptions +func (*VpcV1) NewDeleteVirtualNetworkInterfacesOptions(id string) *DeleteVirtualNetworkInterfacesOptions { + return &DeleteVirtualNetworkInterfacesOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteVirtualNetworkInterfacesOptions) SetID(id string) *DeleteVirtualNetworkInterfacesOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVirtualNetworkInterfacesOptions) SetHeaders(param map[string]string) *DeleteVirtualNetworkInterfacesOptions { + options.Headers = param + return options +} + +// DeleteVolumeOptions : The DeleteVolume options. +type DeleteVolumeOptions struct { + // The volume identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVolumeOptions : Instantiate DeleteVolumeOptions +func (*VpcV1) NewDeleteVolumeOptions(id string) *DeleteVolumeOptions { + return &DeleteVolumeOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteVolumeOptions) SetID(id string) *DeleteVolumeOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteVolumeOptions) SetIfMatch(ifMatch string) *DeleteVolumeOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVolumeOptions) SetHeaders(param map[string]string) *DeleteVolumeOptions { + options.Headers = param + return options +} + +// DeleteVPCAddressPrefixOptions : The DeleteVPCAddressPrefix options. +type DeleteVPCAddressPrefixOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The prefix identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPCAddressPrefixOptions : Instantiate DeleteVPCAddressPrefixOptions +func (*VpcV1) NewDeleteVPCAddressPrefixOptions(vpcID string, id string) *DeleteVPCAddressPrefixOptions { + return &DeleteVPCAddressPrefixOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *DeleteVPCAddressPrefixOptions) SetVPCID(vpcID string) *DeleteVPCAddressPrefixOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteVPCAddressPrefixOptions) SetID(id string) *DeleteVPCAddressPrefixOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPCAddressPrefixOptions) SetHeaders(param map[string]string) *DeleteVPCAddressPrefixOptions { + options.Headers = param + return options +} + +// DeleteVPCDnsResolutionBindingOptions : The DeleteVPCDnsResolutionBinding options. +type DeleteVPCDnsResolutionBindingOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The DNS resolution binding identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPCDnsResolutionBindingOptions : Instantiate DeleteVPCDnsResolutionBindingOptions +func (*VpcV1) NewDeleteVPCDnsResolutionBindingOptions(vpcID string, id string) *DeleteVPCDnsResolutionBindingOptions { + return &DeleteVPCDnsResolutionBindingOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *DeleteVPCDnsResolutionBindingOptions) SetVPCID(vpcID string) *DeleteVPCDnsResolutionBindingOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteVPCDnsResolutionBindingOptions) SetID(id string) *DeleteVPCDnsResolutionBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPCDnsResolutionBindingOptions) SetHeaders(param map[string]string) *DeleteVPCDnsResolutionBindingOptions { + options.Headers = param + return options +} + +// DeleteVPCOptions : The DeleteVPC options. +type DeleteVPCOptions struct { + // The VPC identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPCOptions : Instantiate DeleteVPCOptions +func (*VpcV1) NewDeleteVPCOptions(id string) *DeleteVPCOptions { + return &DeleteVPCOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteVPCOptions) SetID(id string) *DeleteVPCOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteVPCOptions) SetIfMatch(ifMatch string) *DeleteVPCOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPCOptions) SetHeaders(param map[string]string) *DeleteVPCOptions { + options.Headers = param + return options +} + +// DeleteVPCRouteOptions : The DeleteVPCRoute options. +type DeleteVPCRouteOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The route identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPCRouteOptions : Instantiate DeleteVPCRouteOptions +func (*VpcV1) NewDeleteVPCRouteOptions(vpcID string, id string) *DeleteVPCRouteOptions { + return &DeleteVPCRouteOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *DeleteVPCRouteOptions) SetVPCID(vpcID string) *DeleteVPCRouteOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteVPCRouteOptions) SetID(id string) *DeleteVPCRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPCRouteOptions) SetHeaders(param map[string]string) *DeleteVPCRouteOptions { + options.Headers = param + return options +} + +// DeleteVPCRoutingTableOptions : The DeleteVPCRoutingTable options. +type DeleteVPCRoutingTableOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The routing table identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPCRoutingTableOptions : Instantiate DeleteVPCRoutingTableOptions +func (*VpcV1) NewDeleteVPCRoutingTableOptions(vpcID string, id string) *DeleteVPCRoutingTableOptions { + return &DeleteVPCRoutingTableOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *DeleteVPCRoutingTableOptions) SetVPCID(vpcID string) *DeleteVPCRoutingTableOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteVPCRoutingTableOptions) SetID(id string) *DeleteVPCRoutingTableOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteVPCRoutingTableOptions) SetIfMatch(ifMatch string) *DeleteVPCRoutingTableOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPCRoutingTableOptions) SetHeaders(param map[string]string) *DeleteVPCRoutingTableOptions { + options.Headers = param + return options +} + +// DeleteVPCRoutingTableRouteOptions : The DeleteVPCRoutingTableRoute options. +type DeleteVPCRoutingTableRouteOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The routing table identifier. + RoutingTableID *string `json:"routing_table_id" validate:"required,ne="` + + // The VPC routing table route identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPCRoutingTableRouteOptions : Instantiate DeleteVPCRoutingTableRouteOptions +func (*VpcV1) NewDeleteVPCRoutingTableRouteOptions(vpcID string, routingTableID string, id string) *DeleteVPCRoutingTableRouteOptions { + return &DeleteVPCRoutingTableRouteOptions{ + VPCID: core.StringPtr(vpcID), + RoutingTableID: core.StringPtr(routingTableID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *DeleteVPCRoutingTableRouteOptions) SetVPCID(vpcID string) *DeleteVPCRoutingTableRouteOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetRoutingTableID : Allow user to set RoutingTableID +func (_options *DeleteVPCRoutingTableRouteOptions) SetRoutingTableID(routingTableID string) *DeleteVPCRoutingTableRouteOptions { + _options.RoutingTableID = core.StringPtr(routingTableID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteVPCRoutingTableRouteOptions) SetID(id string) *DeleteVPCRoutingTableRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPCRoutingTableRouteOptions) SetHeaders(param map[string]string) *DeleteVPCRoutingTableRouteOptions { + options.Headers = param + return options +} + +// DeleteVPNGatewayConnectionOptions : The DeleteVPNGatewayConnection options. +type DeleteVPNGatewayConnectionOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPNGatewayConnectionOptions : Instantiate DeleteVPNGatewayConnectionOptions +func (*VpcV1) NewDeleteVPNGatewayConnectionOptions(vpnGatewayID string, id string) *DeleteVPNGatewayConnectionOptions { + return &DeleteVPNGatewayConnectionOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *DeleteVPNGatewayConnectionOptions) SetVPNGatewayID(vpnGatewayID string) *DeleteVPNGatewayConnectionOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteVPNGatewayConnectionOptions) SetID(id string) *DeleteVPNGatewayConnectionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteVPNGatewayConnectionOptions) SetIfMatch(ifMatch string) *DeleteVPNGatewayConnectionOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPNGatewayConnectionOptions) SetHeaders(param map[string]string) *DeleteVPNGatewayConnectionOptions { + options.Headers = param + return options +} + +// DeleteVPNGatewayOptions : The DeleteVPNGateway options. +type DeleteVPNGatewayOptions struct { + // The VPN gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPNGatewayOptions : Instantiate DeleteVPNGatewayOptions +func (*VpcV1) NewDeleteVPNGatewayOptions(id string) *DeleteVPNGatewayOptions { + return &DeleteVPNGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteVPNGatewayOptions) SetID(id string) *DeleteVPNGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPNGatewayOptions) SetHeaders(param map[string]string) *DeleteVPNGatewayOptions { + options.Headers = param + return options +} + +// DeleteVPNServerClientOptions : The DeleteVPNServerClient options. +type DeleteVPNServerClientOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // The VPN client identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPNServerClientOptions : Instantiate DeleteVPNServerClientOptions +func (*VpcV1) NewDeleteVPNServerClientOptions(vpnServerID string, id string) *DeleteVPNServerClientOptions { + return &DeleteVPNServerClientOptions{ + VPNServerID: core.StringPtr(vpnServerID), + ID: core.StringPtr(id), + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *DeleteVPNServerClientOptions) SetVPNServerID(vpnServerID string) *DeleteVPNServerClientOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteVPNServerClientOptions) SetID(id string) *DeleteVPNServerClientOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPNServerClientOptions) SetHeaders(param map[string]string) *DeleteVPNServerClientOptions { + options.Headers = param + return options +} + +// DeleteVPNServerOptions : The DeleteVPNServer options. +type DeleteVPNServerOptions struct { + // The VPN server identifier. + ID *string `json:"id" validate:"required,ne="` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPNServerOptions : Instantiate DeleteVPNServerOptions +func (*VpcV1) NewDeleteVPNServerOptions(id string) *DeleteVPNServerOptions { + return &DeleteVPNServerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeleteVPNServerOptions) SetID(id string) *DeleteVPNServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *DeleteVPNServerOptions) SetIfMatch(ifMatch string) *DeleteVPNServerOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPNServerOptions) SetHeaders(param map[string]string) *DeleteVPNServerOptions { + options.Headers = param + return options +} + +// DeleteVPNServerRouteOptions : The DeleteVPNServerRoute options. +type DeleteVPNServerRouteOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // The VPN route identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeleteVPNServerRouteOptions : Instantiate DeleteVPNServerRouteOptions +func (*VpcV1) NewDeleteVPNServerRouteOptions(vpnServerID string, id string) *DeleteVPNServerRouteOptions { + return &DeleteVPNServerRouteOptions{ + VPNServerID: core.StringPtr(vpnServerID), + ID: core.StringPtr(id), + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *DeleteVPNServerRouteOptions) SetVPNServerID(vpnServerID string) *DeleteVPNServerRouteOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteVPNServerRouteOptions) SetID(id string) *DeleteVPNServerRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteVPNServerRouteOptions) SetHeaders(param map[string]string) *DeleteVPNServerRouteOptions { + options.Headers = param + return options +} + +// Deleted : If present, this property indicates the referenced resource has been deleted, and provides some supplementary +// information. +type Deleted struct { + // A link to documentation about deleted resources. + MoreInfo *string `json:"more_info" validate:"required"` +} + +// UnmarshalDeleted unmarshals an instance of Deleted from the specified map of raw messages. +func UnmarshalDeleted(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Deleted) + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions : The DenyPrivatePathServiceGatewayEndpointGatewayBinding options. +type DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // The endpoint gateway binding identifier. + ID *string `json:"id" validate:"required,ne="` + + // Indicates whether this will become the access policy for any `pending` and future endpoint gateway bindings from the + // same account. + // + // If set to `true`: + // - If the account has an existing access policy, that policy will be updated to `deny`. + // Otherwise, a new `deny` access policy will be created for the account. + // - All `pending` endpoint gateway bindings for the account will be denied. + // + // If set to `false`: + // - No access policies will be created or updated + // - All `pending` endpoint gateway bindings for the account will remain `pending`. + SetAccountPolicy *bool `json:"set_account_policy,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDenyPrivatePathServiceGatewayEndpointGatewayBindingOptions : Instantiate DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions +func (*VpcV1) NewDenyPrivatePathServiceGatewayEndpointGatewayBindingOptions(privatePathServiceGatewayID string, id string) *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions { + return &DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + ID: core.StringPtr(id), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetID(id string) *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetSetAccountPolicy : Allow user to set SetAccountPolicy +func (_options *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetSetAccountPolicy(setAccountPolicy bool) *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions { + _options.SetAccountPolicy = core.BoolPtr(setAccountPolicy) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetHeaders(param map[string]string) *DenyPrivatePathServiceGatewayEndpointGatewayBindingOptions { + options.Headers = param + return options +} + +// DeprecateImageOptions : The DeprecateImage options. +type DeprecateImageOptions struct { + // The image identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDeprecateImageOptions : Instantiate DeprecateImageOptions +func (*VpcV1) NewDeprecateImageOptions(id string) *DeprecateImageOptions { + return &DeprecateImageOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *DeprecateImageOptions) SetID(id string) *DeprecateImageOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeprecateImageOptions) SetHeaders(param map[string]string) *DeprecateImageOptions { + options.Headers = param + return options +} + +// DisconnectVPNClientOptions : The DisconnectVPNClient options. +type DisconnectVPNClientOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // The VPN client identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewDisconnectVPNClientOptions : Instantiate DisconnectVPNClientOptions +func (*VpcV1) NewDisconnectVPNClientOptions(vpnServerID string, id string) *DisconnectVPNClientOptions { + return &DisconnectVPNClientOptions{ + VPNServerID: core.StringPtr(vpnServerID), + ID: core.StringPtr(id), + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *DisconnectVPNClientOptions) SetVPNServerID(vpnServerID string) *DisconnectVPNClientOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DisconnectVPNClientOptions) SetID(id string) *DisconnectVPNClientOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DisconnectVPNClientOptions) SetHeaders(param map[string]string) *DisconnectVPNClientOptions { + options.Headers = param + return options +} + +// EncryptionKeyIdentity : Identifies an encryption key by a unique property. +// Models which "extend" this model: +// - EncryptionKeyIdentityByCRN +type EncryptionKeyIdentity struct { + // The CRN of the [Key Protect Root + // Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto + // Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + CRN *string `json:"crn,omitempty"` +} + +func (*EncryptionKeyIdentity) isaEncryptionKeyIdentity() bool { + return true +} + +type EncryptionKeyIdentityIntf interface { + isaEncryptionKeyIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalEncryptionKeyIdentity unmarshals an instance of EncryptionKeyIdentity from the specified map of raw messages. +func UnmarshalEncryptionKeyIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EncryptionKeyIdentity) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the EncryptionKeyIdentity +func (encryptionKeyIdentity *EncryptionKeyIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(encryptionKeyIdentity.CRN) { + _patch["crn"] = encryptionKeyIdentity.CRN + } + + return +} + +// EncryptionKeyReference : EncryptionKeyReference struct +type EncryptionKeyReference struct { + // The CRN of the [Key Protect Root + // Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto + // Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + CRN *string `json:"crn" validate:"required"` +} + +// UnmarshalEncryptionKeyReference unmarshals an instance of EncryptionKeyReference from the specified map of raw messages. +func UnmarshalEncryptionKeyReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EncryptionKeyReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGateway : EndpointGateway struct +type EndpointGateway struct { + // Indicates whether to allow DNS resolution for this endpoint gateway when the VPC this endpoint gateway resides in + // has a DNS resolution binding to a VPC with `dns.enable_hub` set to `true`. + AllowDnsResolutionBinding *bool `json:"allow_dns_resolution_binding" validate:"required"` + + // The date and time that the endpoint gateway was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this endpoint gateway. + CRN *string `json:"crn" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this endpoint gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this endpoint gateway. + ID *string `json:"id" validate:"required"` + + // The reserved IPs bound to this endpoint gateway. + Ips []ReservedIPReference `json:"ips" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []EndpointGatewayLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the endpoint gateway. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this endpoint gateway. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The security groups targeting this endpoint gateway. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // The fully qualified domain name for the target service. The domain name may have a wildcard prefix. + // Deprecated: this field is deprecated and may be removed in a future release. + ServiceEndpoint *string `json:"service_endpoint,omitempty"` + + // The fully qualified domain names for the target service. A domain name may have a wildcard prefix. + ServiceEndpoints []string `json:"service_endpoints" validate:"required"` + + // The target for this endpoint gateway. + Target EndpointGatewayTargetIntf `json:"target" validate:"required"` + + // The VPC this endpoint gateway resides in. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// Constants associated with the EndpointGateway.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + EndpointGatewayHealthStateDegradedConst = "degraded" + EndpointGatewayHealthStateFaultedConst = "faulted" + EndpointGatewayHealthStateInapplicableConst = "inapplicable" + EndpointGatewayHealthStateOkConst = "ok" +) + +// Constants associated with the EndpointGateway.LifecycleState property. +// The lifecycle state of the endpoint gateway. +const ( + EndpointGatewayLifecycleStateDeletingConst = "deleting" + EndpointGatewayLifecycleStateFailedConst = "failed" + EndpointGatewayLifecycleStatePendingConst = "pending" + EndpointGatewayLifecycleStateStableConst = "stable" + EndpointGatewayLifecycleStateSuspendedConst = "suspended" + EndpointGatewayLifecycleStateUpdatingConst = "updating" + EndpointGatewayLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the EndpointGateway.ResourceType property. +// The resource type. +const ( + EndpointGatewayResourceTypeEndpointGatewayConst = "endpoint_gateway" +) + +// UnmarshalEndpointGateway unmarshals an instance of EndpointGateway from the specified map of raw messages. +func UnmarshalEndpointGateway(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGateway) + err = core.UnmarshalPrimitive(m, "allow_dns_resolution_binding", &obj.AllowDnsResolutionBinding) + if err != nil { + err = core.SDKErrorf(err, "", "allow_dns_resolution_binding-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalEndpointGatewayLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "service_endpoint", &obj.ServiceEndpoint) + if err != nil { + err = core.SDKErrorf(err, "", "service_endpoint-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "service_endpoints", &obj.ServiceEndpoints) + if err != nil { + err = core.SDKErrorf(err, "", "service_endpoints-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalEndpointGatewayTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayCollection : EndpointGatewayCollection struct +type EndpointGatewayCollection struct { + // A page of endpoint gateways. + EndpointGateways []EndpointGateway `json:"endpoint_gateways" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalEndpointGatewayCollection unmarshals an instance of EndpointGatewayCollection from the specified map of raw messages. +func UnmarshalEndpointGatewayCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayCollection) + err = core.UnmarshalModel(m, "endpoint_gateways", &obj.EndpointGateways, UnmarshalEndpointGateway) + if err != nil { + err = core.SDKErrorf(err, "", "endpoint_gateways-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *EndpointGatewayCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// EndpointGatewayLifecycleReason : EndpointGatewayLifecycleReason struct +type EndpointGatewayLifecycleReason struct { + // A reason code for this lifecycle state: + // - `access_denied`: endpoint gateway access was denied + // - `access_expired`: endpoint gateway access has expired + // - `access_pending`: endpoint gateway access is pending + // - `dns_resolution_binding_pending`: the DNS resolution binding is being set up + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the EndpointGatewayLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `access_denied`: endpoint gateway access was denied +// - `access_expired`: endpoint gateway access has expired +// - `access_pending`: endpoint gateway access is pending +// - `dns_resolution_binding_pending`: the DNS resolution binding is being set up +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + EndpointGatewayLifecycleReasonCodeAccessDeniedConst = "access_denied" + EndpointGatewayLifecycleReasonCodeAccessExpiredConst = "access_expired" + EndpointGatewayLifecycleReasonCodeAccessPendingConst = "access_pending" + EndpointGatewayLifecycleReasonCodeDnsResolutionBindingPendingConst = "dns_resolution_binding_pending" + EndpointGatewayLifecycleReasonCodeInternalErrorConst = "internal_error" + EndpointGatewayLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalEndpointGatewayLifecycleReason unmarshals an instance of EndpointGatewayLifecycleReason from the specified map of raw messages. +func UnmarshalEndpointGatewayLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayPatch : EndpointGatewayPatch struct +type EndpointGatewayPatch struct { + // Indicates whether to allow DNS resolution for this endpoint gateway when the VPC this endpoint gateway resides in + // has a DNS resolution binding to a VPC with `dns.enable_hub` set to `true`. + // + // If `true`, then there must not be another endpoint gateway with + // `allow_dns_resolution_binding` set to `true` in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected + // topology that: + // - Has the same `target` as this endpoint gateway + // - Has `service_endpoints` that overlap with the `service_endpoints` for this endpoint + // gateway. + // + // Must be `true` if the VPC this endpoint gateway resides in has `dns.enable_hub` set to + // `true`. + AllowDnsResolutionBinding *bool `json:"allow_dns_resolution_binding,omitempty"` + + // The name for this endpoint gateway. The name must not be used by another endpoint gateway in the VPC. + Name *string `json:"name,omitempty"` +} + +// UnmarshalEndpointGatewayPatch unmarshals an instance of EndpointGatewayPatch from the specified map of raw messages. +func UnmarshalEndpointGatewayPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayPatch) + err = core.UnmarshalPrimitive(m, "allow_dns_resolution_binding", &obj.AllowDnsResolutionBinding) + if err != nil { + err = core.SDKErrorf(err, "", "allow_dns_resolution_binding-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the EndpointGatewayPatch +func (endpointGatewayPatch *EndpointGatewayPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(endpointGatewayPatch.AllowDnsResolutionBinding) { + _patch["allow_dns_resolution_binding"] = endpointGatewayPatch.AllowDnsResolutionBinding + } + if !core.IsNil(endpointGatewayPatch.Name) { + _patch["name"] = endpointGatewayPatch.Name + } + + return +} + +// EndpointGatewayReferenceRemote : EndpointGatewayReferenceRemote struct +type EndpointGatewayReferenceRemote struct { + // The CRN for this endpoint gateway. + CRN *string `json:"crn" validate:"required"` + + // The URL for this endpoint gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this endpoint gateway. + ID *string `json:"id" validate:"required"` + + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *EndpointGatewayRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the EndpointGatewayReferenceRemote.ResourceType property. +// The resource type. +const ( + EndpointGatewayReferenceRemoteResourceTypeEndpointGatewayConst = "endpoint_gateway" +) + +// UnmarshalEndpointGatewayReferenceRemote unmarshals an instance of EndpointGatewayReferenceRemote from the specified map of raw messages. +func UnmarshalEndpointGatewayReferenceRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayReferenceRemote) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalEndpointGatewayRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayRemote : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type EndpointGatewayRemote struct { + // If present, this property indicates that the referenced resource is remote to this + // account, and identifies the owning account. + Account *AccountReference `json:"account,omitempty"` + + // If present, this property indicates that the referenced resource is remote to this + // region, and identifies the native region. + Region *RegionReference `json:"region,omitempty"` +} + +// UnmarshalEndpointGatewayRemote unmarshals an instance of EndpointGatewayRemote from the specified map of raw messages. +func UnmarshalEndpointGatewayRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayRemote) + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayReservedIP : A reserved IP to bind to the endpoint gateway. This can be specified using an existing reserved IP, or a prototype +// object for a new reserved IP. The reserved IP will be bound to the endpoint gateway to function as a virtual private +// endpoint for the service. +// Models which "extend" this model: +// - EndpointGatewayReservedIPReservedIPIdentity +// - EndpointGatewayReservedIPReservedIPPrototypeTargetContext +type EndpointGatewayReservedIP struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` + + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The subnet in which to create this reserved IP. + Subnet SubnetIdentityIntf `json:"subnet,omitempty"` +} + +func (*EndpointGatewayReservedIP) isaEndpointGatewayReservedIP() bool { + return true +} + +type EndpointGatewayReservedIPIntf interface { + isaEndpointGatewayReservedIP() bool +} + +// UnmarshalEndpointGatewayReservedIP unmarshals an instance of EndpointGatewayReservedIP from the specified map of raw messages. +func UnmarshalEndpointGatewayReservedIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayReservedIP) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayTarget : The target for this endpoint gateway. +// Models which "extend" this model: +// - EndpointGatewayTargetPrivatePathServiceGatewayReference +// - EndpointGatewayTargetProviderCloudServiceReference +// - EndpointGatewayTargetProviderInfrastructureServiceReference +type EndpointGatewayTarget struct { + // The target resource type for this endpoint gateway. + ResourceType *string `json:"resource_type" validate:"required"` + + // The CRN for this private path service gateway. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this private path service gateway. + Href *string `json:"href,omitempty"` + + // The unique identifier for this private path service gateway. + ID *string `json:"id,omitempty"` + + // The name for this private path service gateway. The name is unique across all private path service gateways in the + // VPC. + Name *string `json:"name,omitempty"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *PrivatePathServiceGatewayRemote `json:"remote,omitempty"` +} + +// Constants associated with the EndpointGatewayTarget.ResourceType property. +// The target resource type for this endpoint gateway. +const ( + EndpointGatewayTargetResourceTypePrivatePathServiceGatewayConst = "private_path_service_gateway" + EndpointGatewayTargetResourceTypeProviderCloudServiceConst = "provider_cloud_service" + EndpointGatewayTargetResourceTypeProviderInfrastructureServiceConst = "provider_infrastructure_service" +) + +func (*EndpointGatewayTarget) isaEndpointGatewayTarget() bool { + return true +} + +type EndpointGatewayTargetIntf interface { + isaEndpointGatewayTarget() bool +} + +// UnmarshalEndpointGatewayTarget unmarshals an instance of EndpointGatewayTarget from the specified map of raw messages. +func UnmarshalEndpointGatewayTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayTarget) + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalPrivatePathServiceGatewayRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayTargetPrototype : The target to use for this endpoint gateway. The target: +// - Must not already be the target of another endpoint gateway in the VPC +// - Must not have a service endpoint that overlaps with any `service_endpoints` of +// another endpoint gateway in the VPC. +// +// If `allow_dns_resolution_binding` is `true`, then there must not be another endpoint gateway with +// `allow_dns_resolution_binding` set to `true` in the [DNS sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected +// topology that: +// - Has the same `target` as this endpoint gateway +// - Has `service_endpoints` that overlap with the `service_endpoints` for this endpoint +// gateway. +// +// Models which "extend" this model: +// - EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype +// - EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype +// - EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype +type EndpointGatewayTargetPrototype struct { + // The target resource type for this endpoint gateway. + ResourceType *string `json:"resource_type,omitempty"` + + // The CRN for this private path service gateway. + CRN *string `json:"crn,omitempty"` + + // The name of a provider infrastructure service. Must be: + // - `ibm-ntp-server`: An NTP (Network Time Protocol) server provided by IBM. + Name *string `json:"name,omitempty"` +} + +// Constants associated with the EndpointGatewayTargetPrototype.ResourceType property. +// The target resource type for this endpoint gateway. +const ( + EndpointGatewayTargetPrototypeResourceTypePrivatePathServiceGatewayConst = "private_path_service_gateway" + EndpointGatewayTargetPrototypeResourceTypeProviderCloudServiceConst = "provider_cloud_service" + EndpointGatewayTargetPrototypeResourceTypeProviderInfrastructureServiceConst = "provider_infrastructure_service" +) + +func (*EndpointGatewayTargetPrototype) isaEndpointGatewayTargetPrototype() bool { + return true +} + +type EndpointGatewayTargetPrototypeIntf interface { + isaEndpointGatewayTargetPrototype() bool +} + +// UnmarshalEndpointGatewayTargetPrototype unmarshals an instance of EndpointGatewayTargetPrototype from the specified map of raw messages. +func UnmarshalEndpointGatewayTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayTargetPrototype) + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FailoverShareOptions : The FailoverShare options. +type FailoverShareOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The action to take if the failover request is accepted but cannot be performed or times out: + // - `fail`: Fail the operation, resulting in the replication relationship being unchanged. + // - `split`: Split the replica from its source, resulting in two individual read-write + // file shares. Because the final sync was not completed, the replica may be + // out-of-date. This occurs in disaster recovery scenarios where the source is known to + // be unreachable. + FallbackPolicy *string `json:"fallback_policy,omitempty"` + + // The failover timeout in seconds. + // + // If the timeout is reached, the `fallback_policy` will be triggered. + Timeout *int64 `json:"timeout,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the FailoverShareOptions.FallbackPolicy property. +// The action to take if the failover request is accepted but cannot be performed or times out: +// - `fail`: Fail the operation, resulting in the replication relationship being unchanged. +// - `split`: Split the replica from its source, resulting in two individual read-write +// file shares. Because the final sync was not completed, the replica may be +// out-of-date. This occurs in disaster recovery scenarios where the source is known to +// be unreachable. +const ( + FailoverShareOptionsFallbackPolicyFailConst = "fail" + FailoverShareOptionsFallbackPolicySplitConst = "split" +) + +// NewFailoverShareOptions : Instantiate FailoverShareOptions +func (*VpcV1) NewFailoverShareOptions(shareID string) *FailoverShareOptions { + return &FailoverShareOptions{ + ShareID: core.StringPtr(shareID), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *FailoverShareOptions) SetShareID(shareID string) *FailoverShareOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetFallbackPolicy : Allow user to set FallbackPolicy +func (_options *FailoverShareOptions) SetFallbackPolicy(fallbackPolicy string) *FailoverShareOptions { + _options.FallbackPolicy = core.StringPtr(fallbackPolicy) + return _options +} + +// SetTimeout : Allow user to set Timeout +func (_options *FailoverShareOptions) SetTimeout(timeout int64) *FailoverShareOptions { + _options.Timeout = core.Int64Ptr(timeout) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *FailoverShareOptions) SetHeaders(param map[string]string) *FailoverShareOptions { + options.Headers = param + return options +} + +// FloatingIP : FloatingIP struct +type FloatingIP struct { + // The globally unique IP address. + Address *string `json:"address" validate:"required"` + + // The date and time that the floating IP was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this floating IP. + CRN *string `json:"crn" validate:"required"` + + // The URL for this floating IP. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this floating IP. + ID *string `json:"id" validate:"required"` + + // The name for this floating IP. The name is unique across all floating IPs in the region. + Name *string `json:"name" validate:"required"` + + // The resource group for this floating IP. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The status of the floating IP. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The target of this floating IP. + Target FloatingIPTargetIntf `json:"target,omitempty"` + + // The zone this floating IP resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the FloatingIP.Status property. +// The status of the floating IP. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + FloatingIPStatusAvailableConst = "available" + FloatingIPStatusDeletingConst = "deleting" + FloatingIPStatusFailedConst = "failed" + FloatingIPStatusPendingConst = "pending" +) + +// UnmarshalFloatingIP unmarshals an instance of FloatingIP from the specified map of raw messages. +func UnmarshalFloatingIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalFloatingIPTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPCollection : FloatingIPCollection struct +type FloatingIPCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of floating IPs. + FloatingIps []FloatingIP `json:"floating_ips" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalFloatingIPCollection unmarshals an instance of FloatingIPCollection from the specified map of raw messages. +func UnmarshalFloatingIPCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "floating_ips", &obj.FloatingIps, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "floating_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *FloatingIPCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// FloatingIPCollectionVirtualNetworkInterfaceContext : FloatingIPCollectionVirtualNetworkInterfaceContext struct +type FloatingIPCollectionVirtualNetworkInterfaceContext struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of floating IPs bound to the virtual network interface specified by the identifier in the URL. + FloatingIps []FloatingIPReference `json:"floating_ips" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalFloatingIPCollectionVirtualNetworkInterfaceContext unmarshals an instance of FloatingIPCollectionVirtualNetworkInterfaceContext from the specified map of raw messages. +func UnmarshalFloatingIPCollectionVirtualNetworkInterfaceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPCollectionVirtualNetworkInterfaceContext) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "floating_ips", &obj.FloatingIps, UnmarshalFloatingIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "floating_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *FloatingIPCollectionVirtualNetworkInterfaceContext) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// FloatingIPPatch : FloatingIPPatch struct +type FloatingIPPatch struct { + // The name for this floating IP. The name must not be used by another floating IP in the region. + Name *string `json:"name,omitempty"` + + // The target resource to bind this floating IP to, replacing any existing binding. + // The floating IP must not be required by another resource, such as a public gateway. + // + // The target resource must not already have a floating IP bound to it if the target + // resource is: + // + // - an instance network interface + // - a bare metal server network interface with `enable_infrastructure_nat` set to `true` + // - a virtual network interface with `enable_infrastructure_nat` set to `true` + // + // Specify `null` to remove an existing binding. + Target FloatingIPTargetPatchIntf `json:"target,omitempty"` +} + +// UnmarshalFloatingIPPatch unmarshals an instance of FloatingIPPatch from the specified map of raw messages. +func UnmarshalFloatingIPPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalFloatingIPTargetPatch) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the FloatingIPPatch +func (floatingIPPatch *FloatingIPPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPPatch.Name) { + _patch["name"] = floatingIPPatch.Name + } + if !core.IsNil(floatingIPPatch.Target) { + _patch["target"] = floatingIPPatch.Target.asPatch() + } + + return +} + +// FloatingIPPrototype : FloatingIPPrototype struct +// Models which "extend" this model: +// - FloatingIPPrototypeFloatingIPByZone +// - FloatingIPPrototypeFloatingIPByTarget +type FloatingIPPrototype struct { + // The name for this floating IP. The name must not be used by another floating IP in the region. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The zone this floating IP will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` + + // The target resource to bind this floating IP to. + // + // The target resource must not already have a floating IP bound to it if the target + // resource is: + // + // - an instance network interface + // - a bare metal server network interface with `enable_infrastructure_nat` set to `true` + // - a virtual network interface with `enable_infrastructure_nat` set to `true`. + Target FloatingIPTargetPrototypeIntf `json:"target,omitempty"` +} + +func (*FloatingIPPrototype) isaFloatingIPPrototype() bool { + return true +} + +type FloatingIPPrototypeIntf interface { + isaFloatingIPPrototype() bool +} + +// UnmarshalFloatingIPPrototype unmarshals an instance of FloatingIPPrototype from the specified map of raw messages. +func UnmarshalFloatingIPPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalFloatingIPTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPReference : FloatingIPReference struct +type FloatingIPReference struct { + // The globally unique IP address. + Address *string `json:"address" validate:"required"` + + // The CRN for this floating IP. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this floating IP. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this floating IP. + ID *string `json:"id" validate:"required"` + + // The name for this floating IP. The name is unique across all floating IPs in the region. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalFloatingIPReference unmarshals an instance of FloatingIPReference from the specified map of raw messages. +func UnmarshalFloatingIPReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPReference) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTarget : The target of this floating IP. +// Models which "extend" this model: +// - FloatingIPTargetNetworkInterfaceReference +// - FloatingIPTargetBareMetalServerNetworkInterfaceReference +// - FloatingIPTargetPublicGatewayReference +// - FloatingIPTargetVirtualNetworkInterfaceReference +type FloatingIPTarget struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` + + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The name for this instance network interface. + Name *string `json:"name,omitempty"` + + // The primary IP address of this instance network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` + + // The CRN for this public gateway. + CRN *string `json:"crn,omitempty"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet,omitempty"` +} + +// Constants associated with the FloatingIPTarget.ResourceType property. +// The resource type. +const ( + FloatingIPTargetResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*FloatingIPTarget) isaFloatingIPTarget() bool { + return true +} + +type FloatingIPTargetIntf interface { + isaFloatingIPTarget() bool +} + +// UnmarshalFloatingIPTarget unmarshals an instance of FloatingIPTarget from the specified map of raw messages. +func UnmarshalFloatingIPTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTarget) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPatch : The target resource to bind this floating IP to, replacing any existing binding. The floating IP must not be required +// by another resource, such as a public gateway. +// +// The target resource must not already have a floating IP bound to it if the target resource is: +// +// - an instance network interface +// - a bare metal server network interface with `enable_infrastructure_nat` set to `true` +// - a virtual network interface with `enable_infrastructure_nat` set to `true` +// +// Specify `null` to remove an existing binding. +// Models which "extend" this model: +// - FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity +// - FloatingIPTargetPatchNetworkInterfaceIdentity +// - FloatingIPTargetPatchVirtualNetworkInterfaceIdentity +type FloatingIPTargetPatch struct { + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*FloatingIPTargetPatch) isaFloatingIPTargetPatch() bool { + return true +} + +type FloatingIPTargetPatchIntf interface { + isaFloatingIPTargetPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalFloatingIPTargetPatch unmarshals an instance of FloatingIPTargetPatch from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatch +func (floatingIPTargetPatch *FloatingIPTargetPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatch.ID) { + _patch["id"] = floatingIPTargetPatch.ID + } + if !core.IsNil(floatingIPTargetPatch.Href) { + _patch["href"] = floatingIPTargetPatch.Href + } + if !core.IsNil(floatingIPTargetPatch.CRN) { + _patch["crn"] = floatingIPTargetPatch.CRN + } + + return +} + +// FloatingIPTargetPrototype : The target resource to bind this floating IP to. +// +// The target resource must not already have a floating IP bound to it if the target resource is: +// +// - an instance network interface +// - a bare metal server network interface with `enable_infrastructure_nat` set to `true` +// - a virtual network interface with `enable_infrastructure_nat` set to `true`. +// Models which "extend" this model: +// - FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity +// - FloatingIPTargetPrototypeNetworkInterfaceIdentity +// - FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity +type FloatingIPTargetPrototype struct { + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*FloatingIPTargetPrototype) isaFloatingIPTargetPrototype() bool { + return true +} + +type FloatingIPTargetPrototypeIntf interface { + isaFloatingIPTargetPrototype() bool +} + +// UnmarshalFloatingIPTargetPrototype unmarshals an instance of FloatingIPTargetPrototype from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPUnpaginatedCollection : FloatingIPUnpaginatedCollection struct +type FloatingIPUnpaginatedCollection struct { + // The floating IPs. + FloatingIps []FloatingIP `json:"floating_ips" validate:"required"` +} + +// UnmarshalFloatingIPUnpaginatedCollection unmarshals an instance of FloatingIPUnpaginatedCollection from the specified map of raw messages. +func UnmarshalFloatingIPUnpaginatedCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPUnpaginatedCollection) + err = core.UnmarshalModel(m, "floating_ips", &obj.FloatingIps, UnmarshalFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "floating_ips-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollector : FlowLogCollector struct +type FlowLogCollector struct { + // Indicates whether this collector is active. + Active *bool `json:"active" validate:"required"` + + // Indicates whether this flow log collector will be automatically deleted when `target` is deleted. At present, this + // is always `true`, but may be modifiable in the future. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // The date and time that the flow log collector was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this flow log collector. + CRN *string `json:"crn" validate:"required"` + + // The URL for this flow log collector. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this flow log collector. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the flow log collector. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this flow log collector. The name is unique across all flow log collectors in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this flow log collector. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The Cloud Object Storage bucket where the collected flows are logged. For more + // information, see [Viewing flow log + // objects](https://cloud.ibm.com/docs/vpc?topic=vpc-fl-analyze). + StorageBucket *LegacyCloudObjectStorageBucketReference `json:"storage_bucket" validate:"required"` + + // The target this collector is collecting flow logs for. + // + // - If the target is an instance network attachment, flow logs will be collected + // for that instance network attachment. + // - If the target is an instance network interface, flow logs will be collected + // for that instance network interface. + // - If the target is a virtual network interface, flow logs will be collected for the + // virtual network interface's `target` resource if the resource is an instance network + // attachment, unless the target resource is itself the target of a flow log collector. + // - If the target is a virtual server instance, flow logs will be collected + // for all network attachments or network interfaces on that instance. + // - If the target is a subnet, flow logs will be collected + // for all instance network interfaces and virtual network interfaces + // attached to that subnet. + // - If the target is a VPC, flow logs will be collected for all instance network + // interfaces and virtual network interfaces attached to all subnets within that VPC. + // + // If the target is an instance, subnet, or VPC, flow logs will not be collected + // for any instance network attachments or instance network interfaces within the target + // that are themselves the target of a more specific flow log collector. + Target FlowLogCollectorTargetIntf `json:"target" validate:"required"` + + // The VPC this flow log collector resides in. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// Constants associated with the FlowLogCollector.LifecycleState property. +// The lifecycle state of the flow log collector. +const ( + FlowLogCollectorLifecycleStateDeletingConst = "deleting" + FlowLogCollectorLifecycleStateFailedConst = "failed" + FlowLogCollectorLifecycleStatePendingConst = "pending" + FlowLogCollectorLifecycleStateStableConst = "stable" + FlowLogCollectorLifecycleStateSuspendedConst = "suspended" + FlowLogCollectorLifecycleStateUpdatingConst = "updating" + FlowLogCollectorLifecycleStateWaitingConst = "waiting" +) + +// UnmarshalFlowLogCollector unmarshals an instance of FlowLogCollector from the specified map of raw messages. +func UnmarshalFlowLogCollector(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollector) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "storage_bucket", &obj.StorageBucket, UnmarshalLegacyCloudObjectStorageBucketReference) + if err != nil { + err = core.SDKErrorf(err, "", "storage_bucket-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalFlowLogCollectorTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorCollection : FlowLogCollectorCollection struct +type FlowLogCollectorCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of flow log collectors. + FlowLogCollectors []FlowLogCollector `json:"flow_log_collectors" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalFlowLogCollectorCollection unmarshals an instance of FlowLogCollectorCollection from the specified map of raw messages. +func UnmarshalFlowLogCollectorCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "flow_log_collectors", &obj.FlowLogCollectors, UnmarshalFlowLogCollector) + if err != nil { + err = core.SDKErrorf(err, "", "flow_log_collectors-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *FlowLogCollectorCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// FlowLogCollectorPatch : FlowLogCollectorPatch struct +type FlowLogCollectorPatch struct { + // Indicates whether this collector is active. Updating to false deactivates the collector and updating to true + // activates the collector. + Active *bool `json:"active,omitempty"` + + // The name for this flow log collector. The name must not be used by another flow log collector in the VPC. + Name *string `json:"name,omitempty"` +} + +// UnmarshalFlowLogCollectorPatch unmarshals an instance of FlowLogCollectorPatch from the specified map of raw messages. +func UnmarshalFlowLogCollectorPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorPatch) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the FlowLogCollectorPatch +func (flowLogCollectorPatch *FlowLogCollectorPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(flowLogCollectorPatch.Active) { + _patch["active"] = flowLogCollectorPatch.Active + } + if !core.IsNil(flowLogCollectorPatch.Name) { + _patch["name"] = flowLogCollectorPatch.Name + } + + return +} + +// FlowLogCollectorTarget : The target this collector is collecting flow logs for. +// +// - If the target is an instance network attachment, flow logs will be collected +// for that instance network attachment. +// - If the target is an instance network interface, flow logs will be collected +// for that instance network interface. +// - If the target is a virtual network interface, flow logs will be collected for the +// virtual network interface's `target` resource if the resource is an instance network +// attachment, unless the target resource is itself the target of a flow log collector. +// - If the target is a virtual server instance, flow logs will be collected +// for all network attachments or network interfaces on that instance. +// - If the target is a subnet, flow logs will be collected +// for all instance network interfaces and virtual network interfaces +// attached to that subnet. +// - If the target is a VPC, flow logs will be collected for all instance network +// interfaces and virtual network interfaces attached to all subnets within that VPC. +// +// If the target is an instance, subnet, or VPC, flow logs will not be collected for any instance network attachments or +// instance network interfaces within the target that are themselves the target of a more specific flow log collector. +// Models which "extend" this model: +// - FlowLogCollectorTargetNetworkInterfaceReferenceTargetContext +// - FlowLogCollectorTargetInstanceReference +// - FlowLogCollectorTargetSubnetReference +// - FlowLogCollectorTargetVPCReference +// - FlowLogCollectorTargetInstanceNetworkAttachmentReference +// - FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext +type FlowLogCollectorTarget struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` + + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The name for this instance network interface. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` + + // The CRN for this virtual server instance. + CRN *string `json:"crn,omitempty"` + + // The primary IP address of the virtual network interface for the instance network + // attachment. + PrimaryIP *ReservedIPReference `json:"primary_ip,omitempty"` + + // The subnet of the virtual network interface for the instance network attachment. + Subnet *SubnetReference `json:"subnet,omitempty"` + + // The virtual network interface for this instance network attachment. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface,omitempty"` +} + +// Constants associated with the FlowLogCollectorTarget.ResourceType property. +// The resource type. +const ( + FlowLogCollectorTargetResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*FlowLogCollectorTarget) isaFlowLogCollectorTarget() bool { + return true +} + +type FlowLogCollectorTargetIntf interface { + isaFlowLogCollectorTarget() bool +} + +// UnmarshalFlowLogCollectorTarget unmarshals an instance of FlowLogCollectorTarget from the specified map of raw messages. +func UnmarshalFlowLogCollectorTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTarget) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototype : The target this collector will collect flow logs for. +// +// If the target is an instance, subnet, or VPC, flow logs will not be collected for any instance network attachments, +// virtual network interfaces or instance network interfaces within the target that are themselves the target of a more +// specific flow log collector. +// +// The target must not be a virtual network interface that is attached to a bare metal server network attachment or to a +// file share mount target. +// Models which "extend" this model: +// - FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity +// - FlowLogCollectorTargetPrototypeInstanceIdentity +// - FlowLogCollectorTargetPrototypeSubnetIdentity +// - FlowLogCollectorTargetPrototypeVPCIdentity +// - FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity +// - FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity +type FlowLogCollectorTargetPrototype struct { + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual server instance. + CRN *string `json:"crn,omitempty"` +} + +func (*FlowLogCollectorTargetPrototype) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +type FlowLogCollectorTargetPrototypeIntf interface { + isaFlowLogCollectorTargetPrototype() bool +} + +// UnmarshalFlowLogCollectorTargetPrototype unmarshals an instance of FlowLogCollectorTargetPrototype from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// GetBackupPolicyJobOptions : The GetBackupPolicyJob options. +type GetBackupPolicyJobOptions struct { + // The backup policy identifier. + BackupPolicyID *string `json:"backup_policy_id" validate:"required,ne="` + + // The backup policy job identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBackupPolicyJobOptions : Instantiate GetBackupPolicyJobOptions +func (*VpcV1) NewGetBackupPolicyJobOptions(backupPolicyID string, id string) *GetBackupPolicyJobOptions { + return &GetBackupPolicyJobOptions{ + BackupPolicyID: core.StringPtr(backupPolicyID), + ID: core.StringPtr(id), + } +} + +// SetBackupPolicyID : Allow user to set BackupPolicyID +func (_options *GetBackupPolicyJobOptions) SetBackupPolicyID(backupPolicyID string) *GetBackupPolicyJobOptions { + _options.BackupPolicyID = core.StringPtr(backupPolicyID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetBackupPolicyJobOptions) SetID(id string) *GetBackupPolicyJobOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBackupPolicyJobOptions) SetHeaders(param map[string]string) *GetBackupPolicyJobOptions { + options.Headers = param + return options +} + +// GetBackupPolicyOptions : The GetBackupPolicy options. +type GetBackupPolicyOptions struct { + // The backup policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBackupPolicyOptions : Instantiate GetBackupPolicyOptions +func (*VpcV1) NewGetBackupPolicyOptions(id string) *GetBackupPolicyOptions { + return &GetBackupPolicyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetBackupPolicyOptions) SetID(id string) *GetBackupPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBackupPolicyOptions) SetHeaders(param map[string]string) *GetBackupPolicyOptions { + options.Headers = param + return options +} + +// GetBackupPolicyPlanOptions : The GetBackupPolicyPlan options. +type GetBackupPolicyPlanOptions struct { + // The backup policy identifier. + BackupPolicyID *string `json:"backup_policy_id" validate:"required,ne="` + + // The backup policy plan identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBackupPolicyPlanOptions : Instantiate GetBackupPolicyPlanOptions +func (*VpcV1) NewGetBackupPolicyPlanOptions(backupPolicyID string, id string) *GetBackupPolicyPlanOptions { + return &GetBackupPolicyPlanOptions{ + BackupPolicyID: core.StringPtr(backupPolicyID), + ID: core.StringPtr(id), + } +} + +// SetBackupPolicyID : Allow user to set BackupPolicyID +func (_options *GetBackupPolicyPlanOptions) SetBackupPolicyID(backupPolicyID string) *GetBackupPolicyPlanOptions { + _options.BackupPolicyID = core.StringPtr(backupPolicyID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetBackupPolicyPlanOptions) SetID(id string) *GetBackupPolicyPlanOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBackupPolicyPlanOptions) SetHeaders(param map[string]string) *GetBackupPolicyPlanOptions { + options.Headers = param + return options +} + +// GetBareMetalServerDiskOptions : The GetBareMetalServerDisk options. +type GetBareMetalServerDiskOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server disk identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBareMetalServerDiskOptions : Instantiate GetBareMetalServerDiskOptions +func (*VpcV1) NewGetBareMetalServerDiskOptions(bareMetalServerID string, id string) *GetBareMetalServerDiskOptions { + return &GetBareMetalServerDiskOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *GetBareMetalServerDiskOptions) SetBareMetalServerID(bareMetalServerID string) *GetBareMetalServerDiskOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetBareMetalServerDiskOptions) SetID(id string) *GetBareMetalServerDiskOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBareMetalServerDiskOptions) SetHeaders(param map[string]string) *GetBareMetalServerDiskOptions { + options.Headers = param + return options +} + +// GetBareMetalServerInitializationOptions : The GetBareMetalServerInitialization options. +type GetBareMetalServerInitializationOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBareMetalServerInitializationOptions : Instantiate GetBareMetalServerInitializationOptions +func (*VpcV1) NewGetBareMetalServerInitializationOptions(id string) *GetBareMetalServerInitializationOptions { + return &GetBareMetalServerInitializationOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetBareMetalServerInitializationOptions) SetID(id string) *GetBareMetalServerInitializationOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBareMetalServerInitializationOptions) SetHeaders(param map[string]string) *GetBareMetalServerInitializationOptions { + options.Headers = param + return options +} + +// GetBareMetalServerNetworkAttachmentOptions : The GetBareMetalServerNetworkAttachment options. +type GetBareMetalServerNetworkAttachmentOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBareMetalServerNetworkAttachmentOptions : Instantiate GetBareMetalServerNetworkAttachmentOptions +func (*VpcV1) NewGetBareMetalServerNetworkAttachmentOptions(bareMetalServerID string, id string) *GetBareMetalServerNetworkAttachmentOptions { + return &GetBareMetalServerNetworkAttachmentOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *GetBareMetalServerNetworkAttachmentOptions) SetBareMetalServerID(bareMetalServerID string) *GetBareMetalServerNetworkAttachmentOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetBareMetalServerNetworkAttachmentOptions) SetID(id string) *GetBareMetalServerNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBareMetalServerNetworkAttachmentOptions) SetHeaders(param map[string]string) *GetBareMetalServerNetworkAttachmentOptions { + options.Headers = param + return options +} + +// GetBareMetalServerNetworkInterfaceFloatingIPOptions : The GetBareMetalServerNetworkInterfaceFloatingIP options. +type GetBareMetalServerNetworkInterfaceFloatingIPOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBareMetalServerNetworkInterfaceFloatingIPOptions : Instantiate GetBareMetalServerNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewGetBareMetalServerNetworkInterfaceFloatingIPOptions(bareMetalServerID string, networkInterfaceID string, id string) *GetBareMetalServerNetworkInterfaceFloatingIPOptions { + return &GetBareMetalServerNetworkInterfaceFloatingIPOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *GetBareMetalServerNetworkInterfaceFloatingIPOptions) SetBareMetalServerID(bareMetalServerID string) *GetBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *GetBareMetalServerNetworkInterfaceFloatingIPOptions) SetNetworkInterfaceID(networkInterfaceID string) *GetBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetBareMetalServerNetworkInterfaceFloatingIPOptions) SetID(id string) *GetBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBareMetalServerNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *GetBareMetalServerNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// GetBareMetalServerNetworkInterfaceIPOptions : The GetBareMetalServerNetworkInterfaceIP options. +type GetBareMetalServerNetworkInterfaceIPOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBareMetalServerNetworkInterfaceIPOptions : Instantiate GetBareMetalServerNetworkInterfaceIPOptions +func (*VpcV1) NewGetBareMetalServerNetworkInterfaceIPOptions(bareMetalServerID string, networkInterfaceID string, id string) *GetBareMetalServerNetworkInterfaceIPOptions { + return &GetBareMetalServerNetworkInterfaceIPOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *GetBareMetalServerNetworkInterfaceIPOptions) SetBareMetalServerID(bareMetalServerID string) *GetBareMetalServerNetworkInterfaceIPOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *GetBareMetalServerNetworkInterfaceIPOptions) SetNetworkInterfaceID(networkInterfaceID string) *GetBareMetalServerNetworkInterfaceIPOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetBareMetalServerNetworkInterfaceIPOptions) SetID(id string) *GetBareMetalServerNetworkInterfaceIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBareMetalServerNetworkInterfaceIPOptions) SetHeaders(param map[string]string) *GetBareMetalServerNetworkInterfaceIPOptions { + options.Headers = param + return options +} + +// GetBareMetalServerNetworkInterfaceOptions : The GetBareMetalServerNetworkInterface options. +type GetBareMetalServerNetworkInterfaceOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBareMetalServerNetworkInterfaceOptions : Instantiate GetBareMetalServerNetworkInterfaceOptions +func (*VpcV1) NewGetBareMetalServerNetworkInterfaceOptions(bareMetalServerID string, id string) *GetBareMetalServerNetworkInterfaceOptions { + return &GetBareMetalServerNetworkInterfaceOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *GetBareMetalServerNetworkInterfaceOptions) SetBareMetalServerID(bareMetalServerID string) *GetBareMetalServerNetworkInterfaceOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetBareMetalServerNetworkInterfaceOptions) SetID(id string) *GetBareMetalServerNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBareMetalServerNetworkInterfaceOptions) SetHeaders(param map[string]string) *GetBareMetalServerNetworkInterfaceOptions { + options.Headers = param + return options +} + +// GetBareMetalServerOptions : The GetBareMetalServer options. +type GetBareMetalServerOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBareMetalServerOptions : Instantiate GetBareMetalServerOptions +func (*VpcV1) NewGetBareMetalServerOptions(id string) *GetBareMetalServerOptions { + return &GetBareMetalServerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetBareMetalServerOptions) SetID(id string) *GetBareMetalServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBareMetalServerOptions) SetHeaders(param map[string]string) *GetBareMetalServerOptions { + options.Headers = param + return options +} + +// GetBareMetalServerProfileOptions : The GetBareMetalServerProfile options. +type GetBareMetalServerProfileOptions struct { + // The bare metal server profile name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetBareMetalServerProfileOptions : Instantiate GetBareMetalServerProfileOptions +func (*VpcV1) NewGetBareMetalServerProfileOptions(name string) *GetBareMetalServerProfileOptions { + return &GetBareMetalServerProfileOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetBareMetalServerProfileOptions) SetName(name string) *GetBareMetalServerProfileOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetBareMetalServerProfileOptions) SetHeaders(param map[string]string) *GetBareMetalServerProfileOptions { + options.Headers = param + return options +} + +// GetClusterNetworkInterfaceOptions : The GetClusterNetworkInterface options. +type GetClusterNetworkInterfaceOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetClusterNetworkInterfaceOptions : Instantiate GetClusterNetworkInterfaceOptions +func (*VpcV1) NewGetClusterNetworkInterfaceOptions(clusterNetworkID string, id string) *GetClusterNetworkInterfaceOptions { + return &GetClusterNetworkInterfaceOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ID: core.StringPtr(id), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *GetClusterNetworkInterfaceOptions) SetClusterNetworkID(clusterNetworkID string) *GetClusterNetworkInterfaceOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetClusterNetworkInterfaceOptions) SetID(id string) *GetClusterNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetClusterNetworkInterfaceOptions) SetHeaders(param map[string]string) *GetClusterNetworkInterfaceOptions { + options.Headers = param + return options +} + +// GetClusterNetworkOptions : The GetClusterNetwork options. +type GetClusterNetworkOptions struct { + // The cluster network identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetClusterNetworkOptions : Instantiate GetClusterNetworkOptions +func (*VpcV1) NewGetClusterNetworkOptions(id string) *GetClusterNetworkOptions { + return &GetClusterNetworkOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetClusterNetworkOptions) SetID(id string) *GetClusterNetworkOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetClusterNetworkOptions) SetHeaders(param map[string]string) *GetClusterNetworkOptions { + options.Headers = param + return options +} + +// GetClusterNetworkProfileOptions : The GetClusterNetworkProfile options. +type GetClusterNetworkProfileOptions struct { + // The cluster network profile name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetClusterNetworkProfileOptions : Instantiate GetClusterNetworkProfileOptions +func (*VpcV1) NewGetClusterNetworkProfileOptions(name string) *GetClusterNetworkProfileOptions { + return &GetClusterNetworkProfileOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetClusterNetworkProfileOptions) SetName(name string) *GetClusterNetworkProfileOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetClusterNetworkProfileOptions) SetHeaders(param map[string]string) *GetClusterNetworkProfileOptions { + options.Headers = param + return options +} + +// GetClusterNetworkSubnetOptions : The GetClusterNetworkSubnet options. +type GetClusterNetworkSubnetOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetClusterNetworkSubnetOptions : Instantiate GetClusterNetworkSubnetOptions +func (*VpcV1) NewGetClusterNetworkSubnetOptions(clusterNetworkID string, id string) *GetClusterNetworkSubnetOptions { + return &GetClusterNetworkSubnetOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ID: core.StringPtr(id), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *GetClusterNetworkSubnetOptions) SetClusterNetworkID(clusterNetworkID string) *GetClusterNetworkSubnetOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetClusterNetworkSubnetOptions) SetID(id string) *GetClusterNetworkSubnetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetClusterNetworkSubnetOptions) SetHeaders(param map[string]string) *GetClusterNetworkSubnetOptions { + options.Headers = param + return options +} + +// GetClusterNetworkSubnetReservedIPOptions : The GetClusterNetworkSubnetReservedIP options. +type GetClusterNetworkSubnetReservedIPOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet identifier. + ClusterNetworkSubnetID *string `json:"cluster_network_subnet_id" validate:"required,ne="` + + // The cluster network subnet reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetClusterNetworkSubnetReservedIPOptions : Instantiate GetClusterNetworkSubnetReservedIPOptions +func (*VpcV1) NewGetClusterNetworkSubnetReservedIPOptions(clusterNetworkID string, clusterNetworkSubnetID string, id string) *GetClusterNetworkSubnetReservedIPOptions { + return &GetClusterNetworkSubnetReservedIPOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ClusterNetworkSubnetID: core.StringPtr(clusterNetworkSubnetID), + ID: core.StringPtr(id), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *GetClusterNetworkSubnetReservedIPOptions) SetClusterNetworkID(clusterNetworkID string) *GetClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetClusterNetworkSubnetID : Allow user to set ClusterNetworkSubnetID +func (_options *GetClusterNetworkSubnetReservedIPOptions) SetClusterNetworkSubnetID(clusterNetworkSubnetID string) *GetClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkSubnetID = core.StringPtr(clusterNetworkSubnetID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetClusterNetworkSubnetReservedIPOptions) SetID(id string) *GetClusterNetworkSubnetReservedIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetClusterNetworkSubnetReservedIPOptions) SetHeaders(param map[string]string) *GetClusterNetworkSubnetReservedIPOptions { + options.Headers = param + return options +} + +// GetDedicatedHostDiskOptions : The GetDedicatedHostDisk options. +type GetDedicatedHostDiskOptions struct { + // The dedicated host identifier. + DedicatedHostID *string `json:"dedicated_host_id" validate:"required,ne="` + + // The dedicated host disk identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetDedicatedHostDiskOptions : Instantiate GetDedicatedHostDiskOptions +func (*VpcV1) NewGetDedicatedHostDiskOptions(dedicatedHostID string, id string) *GetDedicatedHostDiskOptions { + return &GetDedicatedHostDiskOptions{ + DedicatedHostID: core.StringPtr(dedicatedHostID), + ID: core.StringPtr(id), + } +} + +// SetDedicatedHostID : Allow user to set DedicatedHostID +func (_options *GetDedicatedHostDiskOptions) SetDedicatedHostID(dedicatedHostID string) *GetDedicatedHostDiskOptions { + _options.DedicatedHostID = core.StringPtr(dedicatedHostID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetDedicatedHostDiskOptions) SetID(id string) *GetDedicatedHostDiskOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetDedicatedHostDiskOptions) SetHeaders(param map[string]string) *GetDedicatedHostDiskOptions { + options.Headers = param + return options +} + +// GetDedicatedHostGroupOptions : The GetDedicatedHostGroup options. +type GetDedicatedHostGroupOptions struct { + // The dedicated host group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetDedicatedHostGroupOptions : Instantiate GetDedicatedHostGroupOptions +func (*VpcV1) NewGetDedicatedHostGroupOptions(id string) *GetDedicatedHostGroupOptions { + return &GetDedicatedHostGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetDedicatedHostGroupOptions) SetID(id string) *GetDedicatedHostGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetDedicatedHostGroupOptions) SetHeaders(param map[string]string) *GetDedicatedHostGroupOptions { + options.Headers = param + return options +} + +// GetDedicatedHostOptions : The GetDedicatedHost options. +type GetDedicatedHostOptions struct { + // The dedicated host identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetDedicatedHostOptions : Instantiate GetDedicatedHostOptions +func (*VpcV1) NewGetDedicatedHostOptions(id string) *GetDedicatedHostOptions { + return &GetDedicatedHostOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetDedicatedHostOptions) SetID(id string) *GetDedicatedHostOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetDedicatedHostOptions) SetHeaders(param map[string]string) *GetDedicatedHostOptions { + options.Headers = param + return options +} + +// GetDedicatedHostProfileOptions : The GetDedicatedHostProfile options. +type GetDedicatedHostProfileOptions struct { + // The dedicated host profile name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetDedicatedHostProfileOptions : Instantiate GetDedicatedHostProfileOptions +func (*VpcV1) NewGetDedicatedHostProfileOptions(name string) *GetDedicatedHostProfileOptions { + return &GetDedicatedHostProfileOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetDedicatedHostProfileOptions) SetName(name string) *GetDedicatedHostProfileOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetDedicatedHostProfileOptions) SetHeaders(param map[string]string) *GetDedicatedHostProfileOptions { + options.Headers = param + return options +} + +// GetEndpointGatewayIPOptions : The GetEndpointGatewayIP options. +type GetEndpointGatewayIPOptions struct { + // The endpoint gateway identifier. + EndpointGatewayID *string `json:"endpoint_gateway_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetEndpointGatewayIPOptions : Instantiate GetEndpointGatewayIPOptions +func (*VpcV1) NewGetEndpointGatewayIPOptions(endpointGatewayID string, id string) *GetEndpointGatewayIPOptions { + return &GetEndpointGatewayIPOptions{ + EndpointGatewayID: core.StringPtr(endpointGatewayID), + ID: core.StringPtr(id), + } +} + +// SetEndpointGatewayID : Allow user to set EndpointGatewayID +func (_options *GetEndpointGatewayIPOptions) SetEndpointGatewayID(endpointGatewayID string) *GetEndpointGatewayIPOptions { + _options.EndpointGatewayID = core.StringPtr(endpointGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetEndpointGatewayIPOptions) SetID(id string) *GetEndpointGatewayIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetEndpointGatewayIPOptions) SetHeaders(param map[string]string) *GetEndpointGatewayIPOptions { + options.Headers = param + return options +} + +// GetEndpointGatewayOptions : The GetEndpointGateway options. +type GetEndpointGatewayOptions struct { + // The endpoint gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetEndpointGatewayOptions : Instantiate GetEndpointGatewayOptions +func (*VpcV1) NewGetEndpointGatewayOptions(id string) *GetEndpointGatewayOptions { + return &GetEndpointGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetEndpointGatewayOptions) SetID(id string) *GetEndpointGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetEndpointGatewayOptions) SetHeaders(param map[string]string) *GetEndpointGatewayOptions { + options.Headers = param + return options +} + +// GetFloatingIPOptions : The GetFloatingIP options. +type GetFloatingIPOptions struct { + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetFloatingIPOptions : Instantiate GetFloatingIPOptions +func (*VpcV1) NewGetFloatingIPOptions(id string) *GetFloatingIPOptions { + return &GetFloatingIPOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetFloatingIPOptions) SetID(id string) *GetFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetFloatingIPOptions) SetHeaders(param map[string]string) *GetFloatingIPOptions { + options.Headers = param + return options +} + +// GetFlowLogCollectorOptions : The GetFlowLogCollector options. +type GetFlowLogCollectorOptions struct { + // The flow log collector identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetFlowLogCollectorOptions : Instantiate GetFlowLogCollectorOptions +func (*VpcV1) NewGetFlowLogCollectorOptions(id string) *GetFlowLogCollectorOptions { + return &GetFlowLogCollectorOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetFlowLogCollectorOptions) SetID(id string) *GetFlowLogCollectorOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetFlowLogCollectorOptions) SetHeaders(param map[string]string) *GetFlowLogCollectorOptions { + options.Headers = param + return options +} + +// GetIkePolicyOptions : The GetIkePolicy options. +type GetIkePolicyOptions struct { + // The IKE policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetIkePolicyOptions : Instantiate GetIkePolicyOptions +func (*VpcV1) NewGetIkePolicyOptions(id string) *GetIkePolicyOptions { + return &GetIkePolicyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetIkePolicyOptions) SetID(id string) *GetIkePolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetIkePolicyOptions) SetHeaders(param map[string]string) *GetIkePolicyOptions { + options.Headers = param + return options +} + +// GetImageExportJobOptions : The GetImageExportJob options. +type GetImageExportJobOptions struct { + // The image identifier. + ImageID *string `json:"image_id" validate:"required,ne="` + + // The image export job identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetImageExportJobOptions : Instantiate GetImageExportJobOptions +func (*VpcV1) NewGetImageExportJobOptions(imageID string, id string) *GetImageExportJobOptions { + return &GetImageExportJobOptions{ + ImageID: core.StringPtr(imageID), + ID: core.StringPtr(id), + } +} + +// SetImageID : Allow user to set ImageID +func (_options *GetImageExportJobOptions) SetImageID(imageID string) *GetImageExportJobOptions { + _options.ImageID = core.StringPtr(imageID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetImageExportJobOptions) SetID(id string) *GetImageExportJobOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetImageExportJobOptions) SetHeaders(param map[string]string) *GetImageExportJobOptions { + options.Headers = param + return options +} + +// GetImageOptions : The GetImage options. +type GetImageOptions struct { + // The image identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetImageOptions : Instantiate GetImageOptions +func (*VpcV1) NewGetImageOptions(id string) *GetImageOptions { + return &GetImageOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetImageOptions) SetID(id string) *GetImageOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetImageOptions) SetHeaders(param map[string]string) *GetImageOptions { + options.Headers = param + return options +} + +// GetInstanceClusterNetworkAttachmentOptions : The GetInstanceClusterNetworkAttachment options. +type GetInstanceClusterNetworkAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance cluster network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceClusterNetworkAttachmentOptions : Instantiate GetInstanceClusterNetworkAttachmentOptions +func (*VpcV1) NewGetInstanceClusterNetworkAttachmentOptions(instanceID string, id string) *GetInstanceClusterNetworkAttachmentOptions { + return &GetInstanceClusterNetworkAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *GetInstanceClusterNetworkAttachmentOptions) SetInstanceID(instanceID string) *GetInstanceClusterNetworkAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceClusterNetworkAttachmentOptions) SetID(id string) *GetInstanceClusterNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceClusterNetworkAttachmentOptions) SetHeaders(param map[string]string) *GetInstanceClusterNetworkAttachmentOptions { + options.Headers = param + return options +} + +// GetInstanceDiskOptions : The GetInstanceDisk options. +type GetInstanceDiskOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance disk identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceDiskOptions : Instantiate GetInstanceDiskOptions +func (*VpcV1) NewGetInstanceDiskOptions(instanceID string, id string) *GetInstanceDiskOptions { + return &GetInstanceDiskOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *GetInstanceDiskOptions) SetInstanceID(instanceID string) *GetInstanceDiskOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceDiskOptions) SetID(id string) *GetInstanceDiskOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceDiskOptions) SetHeaders(param map[string]string) *GetInstanceDiskOptions { + options.Headers = param + return options +} + +// GetInstanceGroupManagerActionOptions : The GetInstanceGroupManagerAction options. +type GetInstanceGroupManagerActionOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // The instance group manager action identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceGroupManagerActionOptions : Instantiate GetInstanceGroupManagerActionOptions +func (*VpcV1) NewGetInstanceGroupManagerActionOptions(instanceGroupID string, instanceGroupManagerID string, id string) *GetInstanceGroupManagerActionOptions { + return &GetInstanceGroupManagerActionOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + ID: core.StringPtr(id), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *GetInstanceGroupManagerActionOptions) SetInstanceGroupID(instanceGroupID string) *GetInstanceGroupManagerActionOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *GetInstanceGroupManagerActionOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *GetInstanceGroupManagerActionOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceGroupManagerActionOptions) SetID(id string) *GetInstanceGroupManagerActionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceGroupManagerActionOptions) SetHeaders(param map[string]string) *GetInstanceGroupManagerActionOptions { + options.Headers = param + return options +} + +// GetInstanceGroupManagerOptions : The GetInstanceGroupManager options. +type GetInstanceGroupManagerOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceGroupManagerOptions : Instantiate GetInstanceGroupManagerOptions +func (*VpcV1) NewGetInstanceGroupManagerOptions(instanceGroupID string, id string) *GetInstanceGroupManagerOptions { + return &GetInstanceGroupManagerOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + ID: core.StringPtr(id), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *GetInstanceGroupManagerOptions) SetInstanceGroupID(instanceGroupID string) *GetInstanceGroupManagerOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceGroupManagerOptions) SetID(id string) *GetInstanceGroupManagerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceGroupManagerOptions) SetHeaders(param map[string]string) *GetInstanceGroupManagerOptions { + options.Headers = param + return options +} + +// GetInstanceGroupManagerPolicyOptions : The GetInstanceGroupManagerPolicy options. +type GetInstanceGroupManagerPolicyOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // The instance group manager policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceGroupManagerPolicyOptions : Instantiate GetInstanceGroupManagerPolicyOptions +func (*VpcV1) NewGetInstanceGroupManagerPolicyOptions(instanceGroupID string, instanceGroupManagerID string, id string) *GetInstanceGroupManagerPolicyOptions { + return &GetInstanceGroupManagerPolicyOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + ID: core.StringPtr(id), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *GetInstanceGroupManagerPolicyOptions) SetInstanceGroupID(instanceGroupID string) *GetInstanceGroupManagerPolicyOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *GetInstanceGroupManagerPolicyOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *GetInstanceGroupManagerPolicyOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceGroupManagerPolicyOptions) SetID(id string) *GetInstanceGroupManagerPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceGroupManagerPolicyOptions) SetHeaders(param map[string]string) *GetInstanceGroupManagerPolicyOptions { + options.Headers = param + return options +} + +// GetInstanceGroupMembershipOptions : The GetInstanceGroupMembership options. +type GetInstanceGroupMembershipOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group membership identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceGroupMembershipOptions : Instantiate GetInstanceGroupMembershipOptions +func (*VpcV1) NewGetInstanceGroupMembershipOptions(instanceGroupID string, id string) *GetInstanceGroupMembershipOptions { + return &GetInstanceGroupMembershipOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + ID: core.StringPtr(id), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *GetInstanceGroupMembershipOptions) SetInstanceGroupID(instanceGroupID string) *GetInstanceGroupMembershipOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceGroupMembershipOptions) SetID(id string) *GetInstanceGroupMembershipOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceGroupMembershipOptions) SetHeaders(param map[string]string) *GetInstanceGroupMembershipOptions { + options.Headers = param + return options +} + +// GetInstanceGroupOptions : The GetInstanceGroup options. +type GetInstanceGroupOptions struct { + // The instance group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceGroupOptions : Instantiate GetInstanceGroupOptions +func (*VpcV1) NewGetInstanceGroupOptions(id string) *GetInstanceGroupOptions { + return &GetInstanceGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetInstanceGroupOptions) SetID(id string) *GetInstanceGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceGroupOptions) SetHeaders(param map[string]string) *GetInstanceGroupOptions { + options.Headers = param + return options +} + +// GetInstanceInitializationOptions : The GetInstanceInitialization options. +type GetInstanceInitializationOptions struct { + // The instance identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceInitializationOptions : Instantiate GetInstanceInitializationOptions +func (*VpcV1) NewGetInstanceInitializationOptions(id string) *GetInstanceInitializationOptions { + return &GetInstanceInitializationOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetInstanceInitializationOptions) SetID(id string) *GetInstanceInitializationOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceInitializationOptions) SetHeaders(param map[string]string) *GetInstanceInitializationOptions { + options.Headers = param + return options +} + +// GetInstanceNetworkAttachmentOptions : The GetInstanceNetworkAttachment options. +type GetInstanceNetworkAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceNetworkAttachmentOptions : Instantiate GetInstanceNetworkAttachmentOptions +func (*VpcV1) NewGetInstanceNetworkAttachmentOptions(instanceID string, id string) *GetInstanceNetworkAttachmentOptions { + return &GetInstanceNetworkAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *GetInstanceNetworkAttachmentOptions) SetInstanceID(instanceID string) *GetInstanceNetworkAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceNetworkAttachmentOptions) SetID(id string) *GetInstanceNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceNetworkAttachmentOptions) SetHeaders(param map[string]string) *GetInstanceNetworkAttachmentOptions { + options.Headers = param + return options +} + +// GetInstanceNetworkInterfaceFloatingIPOptions : The GetInstanceNetworkInterfaceFloatingIP options. +type GetInstanceNetworkInterfaceFloatingIPOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceNetworkInterfaceFloatingIPOptions : Instantiate GetInstanceNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewGetInstanceNetworkInterfaceFloatingIPOptions(instanceID string, networkInterfaceID string, id string) *GetInstanceNetworkInterfaceFloatingIPOptions { + return &GetInstanceNetworkInterfaceFloatingIPOptions{ + InstanceID: core.StringPtr(instanceID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *GetInstanceNetworkInterfaceFloatingIPOptions) SetInstanceID(instanceID string) *GetInstanceNetworkInterfaceFloatingIPOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *GetInstanceNetworkInterfaceFloatingIPOptions) SetNetworkInterfaceID(networkInterfaceID string) *GetInstanceNetworkInterfaceFloatingIPOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceNetworkInterfaceFloatingIPOptions) SetID(id string) *GetInstanceNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *GetInstanceNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// GetInstanceNetworkInterfaceIPOptions : The GetInstanceNetworkInterfaceIP options. +type GetInstanceNetworkInterfaceIPOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceNetworkInterfaceIPOptions : Instantiate GetInstanceNetworkInterfaceIPOptions +func (*VpcV1) NewGetInstanceNetworkInterfaceIPOptions(instanceID string, networkInterfaceID string, id string) *GetInstanceNetworkInterfaceIPOptions { + return &GetInstanceNetworkInterfaceIPOptions{ + InstanceID: core.StringPtr(instanceID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *GetInstanceNetworkInterfaceIPOptions) SetInstanceID(instanceID string) *GetInstanceNetworkInterfaceIPOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *GetInstanceNetworkInterfaceIPOptions) SetNetworkInterfaceID(networkInterfaceID string) *GetInstanceNetworkInterfaceIPOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceNetworkInterfaceIPOptions) SetID(id string) *GetInstanceNetworkInterfaceIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceNetworkInterfaceIPOptions) SetHeaders(param map[string]string) *GetInstanceNetworkInterfaceIPOptions { + options.Headers = param + return options +} + +// GetInstanceNetworkInterfaceOptions : The GetInstanceNetworkInterface options. +type GetInstanceNetworkInterfaceOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceNetworkInterfaceOptions : Instantiate GetInstanceNetworkInterfaceOptions +func (*VpcV1) NewGetInstanceNetworkInterfaceOptions(instanceID string, id string) *GetInstanceNetworkInterfaceOptions { + return &GetInstanceNetworkInterfaceOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *GetInstanceNetworkInterfaceOptions) SetInstanceID(instanceID string) *GetInstanceNetworkInterfaceOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceNetworkInterfaceOptions) SetID(id string) *GetInstanceNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceNetworkInterfaceOptions) SetHeaders(param map[string]string) *GetInstanceNetworkInterfaceOptions { + options.Headers = param + return options +} + +// GetInstanceOptions : The GetInstance options. +type GetInstanceOptions struct { + // The virtual server instance identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceOptions : Instantiate GetInstanceOptions +func (*VpcV1) NewGetInstanceOptions(id string) *GetInstanceOptions { + return &GetInstanceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetInstanceOptions) SetID(id string) *GetInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceOptions) SetHeaders(param map[string]string) *GetInstanceOptions { + options.Headers = param + return options +} + +// GetInstanceProfileOptions : The GetInstanceProfile options. +type GetInstanceProfileOptions struct { + // The instance profile name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceProfileOptions : Instantiate GetInstanceProfileOptions +func (*VpcV1) NewGetInstanceProfileOptions(name string) *GetInstanceProfileOptions { + return &GetInstanceProfileOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetInstanceProfileOptions) SetName(name string) *GetInstanceProfileOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceProfileOptions) SetHeaders(param map[string]string) *GetInstanceProfileOptions { + options.Headers = param + return options +} + +// GetInstanceTemplateOptions : The GetInstanceTemplate options. +type GetInstanceTemplateOptions struct { + // The instance template identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceTemplateOptions : Instantiate GetInstanceTemplateOptions +func (*VpcV1) NewGetInstanceTemplateOptions(id string) *GetInstanceTemplateOptions { + return &GetInstanceTemplateOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetInstanceTemplateOptions) SetID(id string) *GetInstanceTemplateOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceTemplateOptions) SetHeaders(param map[string]string) *GetInstanceTemplateOptions { + options.Headers = param + return options +} + +// GetInstanceVolumeAttachmentOptions : The GetInstanceVolumeAttachment options. +type GetInstanceVolumeAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The volume attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetInstanceVolumeAttachmentOptions : Instantiate GetInstanceVolumeAttachmentOptions +func (*VpcV1) NewGetInstanceVolumeAttachmentOptions(instanceID string, id string) *GetInstanceVolumeAttachmentOptions { + return &GetInstanceVolumeAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *GetInstanceVolumeAttachmentOptions) SetInstanceID(instanceID string) *GetInstanceVolumeAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetInstanceVolumeAttachmentOptions) SetID(id string) *GetInstanceVolumeAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetInstanceVolumeAttachmentOptions) SetHeaders(param map[string]string) *GetInstanceVolumeAttachmentOptions { + options.Headers = param + return options +} + +// GetIpsecPolicyOptions : The GetIpsecPolicy options. +type GetIpsecPolicyOptions struct { + // The IPsec policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetIpsecPolicyOptions : Instantiate GetIpsecPolicyOptions +func (*VpcV1) NewGetIpsecPolicyOptions(id string) *GetIpsecPolicyOptions { + return &GetIpsecPolicyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetIpsecPolicyOptions) SetID(id string) *GetIpsecPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetIpsecPolicyOptions) SetHeaders(param map[string]string) *GetIpsecPolicyOptions { + options.Headers = param + return options +} + +// GetKeyOptions : The GetKey options. +type GetKeyOptions struct { + // The key identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetKeyOptions : Instantiate GetKeyOptions +func (*VpcV1) NewGetKeyOptions(id string) *GetKeyOptions { + return &GetKeyOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetKeyOptions) SetID(id string) *GetKeyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetKeyOptions) SetHeaders(param map[string]string) *GetKeyOptions { + options.Headers = param + return options +} + +// GetLoadBalancerListenerOptions : The GetLoadBalancerListener options. +type GetLoadBalancerListenerOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetLoadBalancerListenerOptions : Instantiate GetLoadBalancerListenerOptions +func (*VpcV1) NewGetLoadBalancerListenerOptions(loadBalancerID string, id string) *GetLoadBalancerListenerOptions { + return &GetLoadBalancerListenerOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *GetLoadBalancerListenerOptions) SetLoadBalancerID(loadBalancerID string) *GetLoadBalancerListenerOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetLoadBalancerListenerOptions) SetID(id string) *GetLoadBalancerListenerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetLoadBalancerListenerOptions) SetHeaders(param map[string]string) *GetLoadBalancerListenerOptions { + options.Headers = param + return options +} + +// GetLoadBalancerListenerPolicyOptions : The GetLoadBalancerListenerPolicy options. +type GetLoadBalancerListenerPolicyOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetLoadBalancerListenerPolicyOptions : Instantiate GetLoadBalancerListenerPolicyOptions +func (*VpcV1) NewGetLoadBalancerListenerPolicyOptions(loadBalancerID string, listenerID string, id string) *GetLoadBalancerListenerPolicyOptions { + return &GetLoadBalancerListenerPolicyOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *GetLoadBalancerListenerPolicyOptions) SetLoadBalancerID(loadBalancerID string) *GetLoadBalancerListenerPolicyOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *GetLoadBalancerListenerPolicyOptions) SetListenerID(listenerID string) *GetLoadBalancerListenerPolicyOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetLoadBalancerListenerPolicyOptions) SetID(id string) *GetLoadBalancerListenerPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetLoadBalancerListenerPolicyOptions) SetHeaders(param map[string]string) *GetLoadBalancerListenerPolicyOptions { + options.Headers = param + return options +} + +// GetLoadBalancerListenerPolicyRuleOptions : The GetLoadBalancerListenerPolicyRule options. +type GetLoadBalancerListenerPolicyRuleOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy identifier. + PolicyID *string `json:"policy_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetLoadBalancerListenerPolicyRuleOptions : Instantiate GetLoadBalancerListenerPolicyRuleOptions +func (*VpcV1) NewGetLoadBalancerListenerPolicyRuleOptions(loadBalancerID string, listenerID string, policyID string, id string) *GetLoadBalancerListenerPolicyRuleOptions { + return &GetLoadBalancerListenerPolicyRuleOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + PolicyID: core.StringPtr(policyID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *GetLoadBalancerListenerPolicyRuleOptions) SetLoadBalancerID(loadBalancerID string) *GetLoadBalancerListenerPolicyRuleOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *GetLoadBalancerListenerPolicyRuleOptions) SetListenerID(listenerID string) *GetLoadBalancerListenerPolicyRuleOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetPolicyID : Allow user to set PolicyID +func (_options *GetLoadBalancerListenerPolicyRuleOptions) SetPolicyID(policyID string) *GetLoadBalancerListenerPolicyRuleOptions { + _options.PolicyID = core.StringPtr(policyID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetLoadBalancerListenerPolicyRuleOptions) SetID(id string) *GetLoadBalancerListenerPolicyRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetLoadBalancerListenerPolicyRuleOptions) SetHeaders(param map[string]string) *GetLoadBalancerListenerPolicyRuleOptions { + options.Headers = param + return options +} + +// GetLoadBalancerOptions : The GetLoadBalancer options. +type GetLoadBalancerOptions struct { + // The load balancer identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetLoadBalancerOptions : Instantiate GetLoadBalancerOptions +func (*VpcV1) NewGetLoadBalancerOptions(id string) *GetLoadBalancerOptions { + return &GetLoadBalancerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetLoadBalancerOptions) SetID(id string) *GetLoadBalancerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetLoadBalancerOptions) SetHeaders(param map[string]string) *GetLoadBalancerOptions { + options.Headers = param + return options +} + +// GetLoadBalancerPoolMemberOptions : The GetLoadBalancerPoolMember options. +type GetLoadBalancerPoolMemberOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + PoolID *string `json:"pool_id" validate:"required,ne="` + + // The member identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetLoadBalancerPoolMemberOptions : Instantiate GetLoadBalancerPoolMemberOptions +func (*VpcV1) NewGetLoadBalancerPoolMemberOptions(loadBalancerID string, poolID string, id string) *GetLoadBalancerPoolMemberOptions { + return &GetLoadBalancerPoolMemberOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + PoolID: core.StringPtr(poolID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *GetLoadBalancerPoolMemberOptions) SetLoadBalancerID(loadBalancerID string) *GetLoadBalancerPoolMemberOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetPoolID : Allow user to set PoolID +func (_options *GetLoadBalancerPoolMemberOptions) SetPoolID(poolID string) *GetLoadBalancerPoolMemberOptions { + _options.PoolID = core.StringPtr(poolID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetLoadBalancerPoolMemberOptions) SetID(id string) *GetLoadBalancerPoolMemberOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetLoadBalancerPoolMemberOptions) SetHeaders(param map[string]string) *GetLoadBalancerPoolMemberOptions { + options.Headers = param + return options +} + +// GetLoadBalancerPoolOptions : The GetLoadBalancerPool options. +type GetLoadBalancerPoolOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetLoadBalancerPoolOptions : Instantiate GetLoadBalancerPoolOptions +func (*VpcV1) NewGetLoadBalancerPoolOptions(loadBalancerID string, id string) *GetLoadBalancerPoolOptions { + return &GetLoadBalancerPoolOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ID: core.StringPtr(id), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *GetLoadBalancerPoolOptions) SetLoadBalancerID(loadBalancerID string) *GetLoadBalancerPoolOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetLoadBalancerPoolOptions) SetID(id string) *GetLoadBalancerPoolOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetLoadBalancerPoolOptions) SetHeaders(param map[string]string) *GetLoadBalancerPoolOptions { + options.Headers = param + return options +} + +// GetLoadBalancerProfileOptions : The GetLoadBalancerProfile options. +type GetLoadBalancerProfileOptions struct { + // The load balancer profile name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetLoadBalancerProfileOptions : Instantiate GetLoadBalancerProfileOptions +func (*VpcV1) NewGetLoadBalancerProfileOptions(name string) *GetLoadBalancerProfileOptions { + return &GetLoadBalancerProfileOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetLoadBalancerProfileOptions) SetName(name string) *GetLoadBalancerProfileOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetLoadBalancerProfileOptions) SetHeaders(param map[string]string) *GetLoadBalancerProfileOptions { + options.Headers = param + return options +} + +// GetLoadBalancerStatisticsOptions : The GetLoadBalancerStatistics options. +type GetLoadBalancerStatisticsOptions struct { + // The load balancer identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetLoadBalancerStatisticsOptions : Instantiate GetLoadBalancerStatisticsOptions +func (*VpcV1) NewGetLoadBalancerStatisticsOptions(id string) *GetLoadBalancerStatisticsOptions { + return &GetLoadBalancerStatisticsOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetLoadBalancerStatisticsOptions) SetID(id string) *GetLoadBalancerStatisticsOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetLoadBalancerStatisticsOptions) SetHeaders(param map[string]string) *GetLoadBalancerStatisticsOptions { + options.Headers = param + return options +} + +// GetNetworkACLOptions : The GetNetworkACL options. +type GetNetworkACLOptions struct { + // The network ACL identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetNetworkACLOptions : Instantiate GetNetworkACLOptions +func (*VpcV1) NewGetNetworkACLOptions(id string) *GetNetworkACLOptions { + return &GetNetworkACLOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetNetworkACLOptions) SetID(id string) *GetNetworkACLOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetNetworkACLOptions) SetHeaders(param map[string]string) *GetNetworkACLOptions { + options.Headers = param + return options +} + +// GetNetworkACLRuleOptions : The GetNetworkACLRule options. +type GetNetworkACLRuleOptions struct { + // The network ACL identifier. + NetworkACLID *string `json:"network_acl_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetNetworkACLRuleOptions : Instantiate GetNetworkACLRuleOptions +func (*VpcV1) NewGetNetworkACLRuleOptions(networkACLID string, id string) *GetNetworkACLRuleOptions { + return &GetNetworkACLRuleOptions{ + NetworkACLID: core.StringPtr(networkACLID), + ID: core.StringPtr(id), + } +} + +// SetNetworkACLID : Allow user to set NetworkACLID +func (_options *GetNetworkACLRuleOptions) SetNetworkACLID(networkACLID string) *GetNetworkACLRuleOptions { + _options.NetworkACLID = core.StringPtr(networkACLID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetNetworkACLRuleOptions) SetID(id string) *GetNetworkACLRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetNetworkACLRuleOptions) SetHeaders(param map[string]string) *GetNetworkACLRuleOptions { + options.Headers = param + return options +} + +// GetNetworkInterfaceFloatingIPOptions : The GetNetworkInterfaceFloatingIP options. +type GetNetworkInterfaceFloatingIPOptions struct { + // The virtual network interface identifier. + VirtualNetworkInterfaceID *string `json:"virtual_network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetNetworkInterfaceFloatingIPOptions : Instantiate GetNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewGetNetworkInterfaceFloatingIPOptions(virtualNetworkInterfaceID string, id string) *GetNetworkInterfaceFloatingIPOptions { + return &GetNetworkInterfaceFloatingIPOptions{ + VirtualNetworkInterfaceID: core.StringPtr(virtualNetworkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetVirtualNetworkInterfaceID : Allow user to set VirtualNetworkInterfaceID +func (_options *GetNetworkInterfaceFloatingIPOptions) SetVirtualNetworkInterfaceID(virtualNetworkInterfaceID string) *GetNetworkInterfaceFloatingIPOptions { + _options.VirtualNetworkInterfaceID = core.StringPtr(virtualNetworkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetNetworkInterfaceFloatingIPOptions) SetID(id string) *GetNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *GetNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// GetOperatingSystemOptions : The GetOperatingSystem options. +type GetOperatingSystemOptions struct { + // The operating system name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetOperatingSystemOptions : Instantiate GetOperatingSystemOptions +func (*VpcV1) NewGetOperatingSystemOptions(name string) *GetOperatingSystemOptions { + return &GetOperatingSystemOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetOperatingSystemOptions) SetName(name string) *GetOperatingSystemOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetOperatingSystemOptions) SetHeaders(param map[string]string) *GetOperatingSystemOptions { + options.Headers = param + return options +} + +// GetPlacementGroupOptions : The GetPlacementGroup options. +type GetPlacementGroupOptions struct { + // The placement group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetPlacementGroupOptions : Instantiate GetPlacementGroupOptions +func (*VpcV1) NewGetPlacementGroupOptions(id string) *GetPlacementGroupOptions { + return &GetPlacementGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetPlacementGroupOptions) SetID(id string) *GetPlacementGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetPlacementGroupOptions) SetHeaders(param map[string]string) *GetPlacementGroupOptions { + options.Headers = param + return options +} + +// GetPrivatePathServiceGatewayAccountPolicyOptions : The GetPrivatePathServiceGatewayAccountPolicy options. +type GetPrivatePathServiceGatewayAccountPolicyOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // The account policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetPrivatePathServiceGatewayAccountPolicyOptions : Instantiate GetPrivatePathServiceGatewayAccountPolicyOptions +func (*VpcV1) NewGetPrivatePathServiceGatewayAccountPolicyOptions(privatePathServiceGatewayID string, id string) *GetPrivatePathServiceGatewayAccountPolicyOptions { + return &GetPrivatePathServiceGatewayAccountPolicyOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + ID: core.StringPtr(id), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *GetPrivatePathServiceGatewayAccountPolicyOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *GetPrivatePathServiceGatewayAccountPolicyOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetPrivatePathServiceGatewayAccountPolicyOptions) SetID(id string) *GetPrivatePathServiceGatewayAccountPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetPrivatePathServiceGatewayAccountPolicyOptions) SetHeaders(param map[string]string) *GetPrivatePathServiceGatewayAccountPolicyOptions { + options.Headers = param + return options +} + +// GetPrivatePathServiceGatewayEndpointGatewayBindingOptions : The GetPrivatePathServiceGatewayEndpointGatewayBinding options. +type GetPrivatePathServiceGatewayEndpointGatewayBindingOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // The endpoint gateway binding identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetPrivatePathServiceGatewayEndpointGatewayBindingOptions : Instantiate GetPrivatePathServiceGatewayEndpointGatewayBindingOptions +func (*VpcV1) NewGetPrivatePathServiceGatewayEndpointGatewayBindingOptions(privatePathServiceGatewayID string, id string) *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions { + return &GetPrivatePathServiceGatewayEndpointGatewayBindingOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + ID: core.StringPtr(id), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetID(id string) *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetHeaders(param map[string]string) *GetPrivatePathServiceGatewayEndpointGatewayBindingOptions { + options.Headers = param + return options +} + +// GetPrivatePathServiceGatewayOptions : The GetPrivatePathServiceGateway options. +type GetPrivatePathServiceGatewayOptions struct { + // The private path service gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetPrivatePathServiceGatewayOptions : Instantiate GetPrivatePathServiceGatewayOptions +func (*VpcV1) NewGetPrivatePathServiceGatewayOptions(id string) *GetPrivatePathServiceGatewayOptions { + return &GetPrivatePathServiceGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetPrivatePathServiceGatewayOptions) SetID(id string) *GetPrivatePathServiceGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetPrivatePathServiceGatewayOptions) SetHeaders(param map[string]string) *GetPrivatePathServiceGatewayOptions { + options.Headers = param + return options +} + +// GetPublicAddressRangeOptions : The GetPublicAddressRange options. +type GetPublicAddressRangeOptions struct { + // The public address range identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetPublicAddressRangeOptions : Instantiate GetPublicAddressRangeOptions +func (*VpcV1) NewGetPublicAddressRangeOptions(id string) *GetPublicAddressRangeOptions { + return &GetPublicAddressRangeOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetPublicAddressRangeOptions) SetID(id string) *GetPublicAddressRangeOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetPublicAddressRangeOptions) SetHeaders(param map[string]string) *GetPublicAddressRangeOptions { + options.Headers = param + return options +} + +// GetPublicGatewayOptions : The GetPublicGateway options. +type GetPublicGatewayOptions struct { + // The public gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetPublicGatewayOptions : Instantiate GetPublicGatewayOptions +func (*VpcV1) NewGetPublicGatewayOptions(id string) *GetPublicGatewayOptions { + return &GetPublicGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetPublicGatewayOptions) SetID(id string) *GetPublicGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetPublicGatewayOptions) SetHeaders(param map[string]string) *GetPublicGatewayOptions { + options.Headers = param + return options +} + +// GetRegionOptions : The GetRegion options. +type GetRegionOptions struct { + // The region name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetRegionOptions : Instantiate GetRegionOptions +func (*VpcV1) NewGetRegionOptions(name string) *GetRegionOptions { + return &GetRegionOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetRegionOptions) SetName(name string) *GetRegionOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetRegionOptions) SetHeaders(param map[string]string) *GetRegionOptions { + options.Headers = param + return options +} + +// GetRegionZoneOptions : The GetRegionZone options. +type GetRegionZoneOptions struct { + // The region name. + RegionName *string `json:"region_name" validate:"required,ne="` + + // The zone name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetRegionZoneOptions : Instantiate GetRegionZoneOptions +func (*VpcV1) NewGetRegionZoneOptions(regionName string, name string) *GetRegionZoneOptions { + return &GetRegionZoneOptions{ + RegionName: core.StringPtr(regionName), + Name: core.StringPtr(name), + } +} + +// SetRegionName : Allow user to set RegionName +func (_options *GetRegionZoneOptions) SetRegionName(regionName string) *GetRegionZoneOptions { + _options.RegionName = core.StringPtr(regionName) + return _options +} + +// SetName : Allow user to set Name +func (_options *GetRegionZoneOptions) SetName(name string) *GetRegionZoneOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetRegionZoneOptions) SetHeaders(param map[string]string) *GetRegionZoneOptions { + options.Headers = param + return options +} + +// GetReservationOptions : The GetReservation options. +type GetReservationOptions struct { + // The reservation identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetReservationOptions : Instantiate GetReservationOptions +func (*VpcV1) NewGetReservationOptions(id string) *GetReservationOptions { + return &GetReservationOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetReservationOptions) SetID(id string) *GetReservationOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetReservationOptions) SetHeaders(param map[string]string) *GetReservationOptions { + options.Headers = param + return options +} + +// GetSecurityGroupOptions : The GetSecurityGroup options. +type GetSecurityGroupOptions struct { + // The security group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSecurityGroupOptions : Instantiate GetSecurityGroupOptions +func (*VpcV1) NewGetSecurityGroupOptions(id string) *GetSecurityGroupOptions { + return &GetSecurityGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetSecurityGroupOptions) SetID(id string) *GetSecurityGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSecurityGroupOptions) SetHeaders(param map[string]string) *GetSecurityGroupOptions { + options.Headers = param + return options +} + +// GetSecurityGroupRuleOptions : The GetSecurityGroupRule options. +type GetSecurityGroupRuleOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSecurityGroupRuleOptions : Instantiate GetSecurityGroupRuleOptions +func (*VpcV1) NewGetSecurityGroupRuleOptions(securityGroupID string, id string) *GetSecurityGroupRuleOptions { + return &GetSecurityGroupRuleOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + ID: core.StringPtr(id), + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *GetSecurityGroupRuleOptions) SetSecurityGroupID(securityGroupID string) *GetSecurityGroupRuleOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetSecurityGroupRuleOptions) SetID(id string) *GetSecurityGroupRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSecurityGroupRuleOptions) SetHeaders(param map[string]string) *GetSecurityGroupRuleOptions { + options.Headers = param + return options +} + +// GetSecurityGroupTargetOptions : The GetSecurityGroupTarget options. +type GetSecurityGroupTargetOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // The security group target identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSecurityGroupTargetOptions : Instantiate GetSecurityGroupTargetOptions +func (*VpcV1) NewGetSecurityGroupTargetOptions(securityGroupID string, id string) *GetSecurityGroupTargetOptions { + return &GetSecurityGroupTargetOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + ID: core.StringPtr(id), + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *GetSecurityGroupTargetOptions) SetSecurityGroupID(securityGroupID string) *GetSecurityGroupTargetOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetSecurityGroupTargetOptions) SetID(id string) *GetSecurityGroupTargetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSecurityGroupTargetOptions) SetHeaders(param map[string]string) *GetSecurityGroupTargetOptions { + options.Headers = param + return options +} + +// GetShareAccessorBindingOptions : The GetShareAccessorBinding options. +type GetShareAccessorBindingOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The file share accessor binding identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetShareAccessorBindingOptions : Instantiate GetShareAccessorBindingOptions +func (*VpcV1) NewGetShareAccessorBindingOptions(shareID string, id string) *GetShareAccessorBindingOptions { + return &GetShareAccessorBindingOptions{ + ShareID: core.StringPtr(shareID), + ID: core.StringPtr(id), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *GetShareAccessorBindingOptions) SetShareID(shareID string) *GetShareAccessorBindingOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetShareAccessorBindingOptions) SetID(id string) *GetShareAccessorBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetShareAccessorBindingOptions) SetHeaders(param map[string]string) *GetShareAccessorBindingOptions { + options.Headers = param + return options +} + +// GetShareMountTargetOptions : The GetShareMountTarget options. +type GetShareMountTargetOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The file share mount target identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetShareMountTargetOptions : Instantiate GetShareMountTargetOptions +func (*VpcV1) NewGetShareMountTargetOptions(shareID string, id string) *GetShareMountTargetOptions { + return &GetShareMountTargetOptions{ + ShareID: core.StringPtr(shareID), + ID: core.StringPtr(id), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *GetShareMountTargetOptions) SetShareID(shareID string) *GetShareMountTargetOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetShareMountTargetOptions) SetID(id string) *GetShareMountTargetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetShareMountTargetOptions) SetHeaders(param map[string]string) *GetShareMountTargetOptions { + options.Headers = param + return options +} + +// GetShareOptions : The GetShare options. +type GetShareOptions struct { + // The file share identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetShareOptions : Instantiate GetShareOptions +func (*VpcV1) NewGetShareOptions(id string) *GetShareOptions { + return &GetShareOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetShareOptions) SetID(id string) *GetShareOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetShareOptions) SetHeaders(param map[string]string) *GetShareOptions { + options.Headers = param + return options +} + +// GetShareProfileOptions : The GetShareProfile options. +type GetShareProfileOptions struct { + // The file share profile name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetShareProfileOptions : Instantiate GetShareProfileOptions +func (*VpcV1) NewGetShareProfileOptions(name string) *GetShareProfileOptions { + return &GetShareProfileOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetShareProfileOptions) SetName(name string) *GetShareProfileOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetShareProfileOptions) SetHeaders(param map[string]string) *GetShareProfileOptions { + options.Headers = param + return options +} + +// GetShareSnapshotOptions : The GetShareSnapshot options. +type GetShareSnapshotOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The share snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetShareSnapshotOptions : Instantiate GetShareSnapshotOptions +func (*VpcV1) NewGetShareSnapshotOptions(shareID string, id string) *GetShareSnapshotOptions { + return &GetShareSnapshotOptions{ + ShareID: core.StringPtr(shareID), + ID: core.StringPtr(id), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *GetShareSnapshotOptions) SetShareID(shareID string) *GetShareSnapshotOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetShareSnapshotOptions) SetID(id string) *GetShareSnapshotOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetShareSnapshotOptions) SetHeaders(param map[string]string) *GetShareSnapshotOptions { + options.Headers = param + return options +} + +// GetShareSourceOptions : The GetShareSource options. +type GetShareSourceOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetShareSourceOptions : Instantiate GetShareSourceOptions +func (*VpcV1) NewGetShareSourceOptions(shareID string) *GetShareSourceOptions { + return &GetShareSourceOptions{ + ShareID: core.StringPtr(shareID), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *GetShareSourceOptions) SetShareID(shareID string) *GetShareSourceOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetShareSourceOptions) SetHeaders(param map[string]string) *GetShareSourceOptions { + options.Headers = param + return options +} + +// GetSnapshotCloneOptions : The GetSnapshotClone options. +type GetSnapshotCloneOptions struct { + // The snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // The zone name. + ZoneName *string `json:"zone_name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSnapshotCloneOptions : Instantiate GetSnapshotCloneOptions +func (*VpcV1) NewGetSnapshotCloneOptions(id string, zoneName string) *GetSnapshotCloneOptions { + return &GetSnapshotCloneOptions{ + ID: core.StringPtr(id), + ZoneName: core.StringPtr(zoneName), + } +} + +// SetID : Allow user to set ID +func (_options *GetSnapshotCloneOptions) SetID(id string) *GetSnapshotCloneOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *GetSnapshotCloneOptions) SetZoneName(zoneName string) *GetSnapshotCloneOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSnapshotCloneOptions) SetHeaders(param map[string]string) *GetSnapshotCloneOptions { + options.Headers = param + return options +} + +// GetSnapshotConsistencyGroupOptions : The GetSnapshotConsistencyGroup options. +type GetSnapshotConsistencyGroupOptions struct { + // The snapshot consistency group identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSnapshotConsistencyGroupOptions : Instantiate GetSnapshotConsistencyGroupOptions +func (*VpcV1) NewGetSnapshotConsistencyGroupOptions(id string) *GetSnapshotConsistencyGroupOptions { + return &GetSnapshotConsistencyGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetSnapshotConsistencyGroupOptions) SetID(id string) *GetSnapshotConsistencyGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSnapshotConsistencyGroupOptions) SetHeaders(param map[string]string) *GetSnapshotConsistencyGroupOptions { + options.Headers = param + return options +} + +// GetSnapshotOptions : The GetSnapshot options. +type GetSnapshotOptions struct { + // The snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSnapshotOptions : Instantiate GetSnapshotOptions +func (*VpcV1) NewGetSnapshotOptions(id string) *GetSnapshotOptions { + return &GetSnapshotOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetSnapshotOptions) SetID(id string) *GetSnapshotOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSnapshotOptions) SetHeaders(param map[string]string) *GetSnapshotOptions { + options.Headers = param + return options +} + +// GetSubnetNetworkACLOptions : The GetSubnetNetworkACL options. +type GetSubnetNetworkACLOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSubnetNetworkACLOptions : Instantiate GetSubnetNetworkACLOptions +func (*VpcV1) NewGetSubnetNetworkACLOptions(id string) *GetSubnetNetworkACLOptions { + return &GetSubnetNetworkACLOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetSubnetNetworkACLOptions) SetID(id string) *GetSubnetNetworkACLOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSubnetNetworkACLOptions) SetHeaders(param map[string]string) *GetSubnetNetworkACLOptions { + options.Headers = param + return options +} + +// GetSubnetOptions : The GetSubnet options. +type GetSubnetOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSubnetOptions : Instantiate GetSubnetOptions +func (*VpcV1) NewGetSubnetOptions(id string) *GetSubnetOptions { + return &GetSubnetOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetSubnetOptions) SetID(id string) *GetSubnetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSubnetOptions) SetHeaders(param map[string]string) *GetSubnetOptions { + options.Headers = param + return options +} + +// GetSubnetPublicGatewayOptions : The GetSubnetPublicGateway options. +type GetSubnetPublicGatewayOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSubnetPublicGatewayOptions : Instantiate GetSubnetPublicGatewayOptions +func (*VpcV1) NewGetSubnetPublicGatewayOptions(id string) *GetSubnetPublicGatewayOptions { + return &GetSubnetPublicGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetSubnetPublicGatewayOptions) SetID(id string) *GetSubnetPublicGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSubnetPublicGatewayOptions) SetHeaders(param map[string]string) *GetSubnetPublicGatewayOptions { + options.Headers = param + return options +} + +// GetSubnetReservedIPOptions : The GetSubnetReservedIP options. +type GetSubnetReservedIPOptions struct { + // The subnet identifier. + SubnetID *string `json:"subnet_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSubnetReservedIPOptions : Instantiate GetSubnetReservedIPOptions +func (*VpcV1) NewGetSubnetReservedIPOptions(subnetID string, id string) *GetSubnetReservedIPOptions { + return &GetSubnetReservedIPOptions{ + SubnetID: core.StringPtr(subnetID), + ID: core.StringPtr(id), + } +} + +// SetSubnetID : Allow user to set SubnetID +func (_options *GetSubnetReservedIPOptions) SetSubnetID(subnetID string) *GetSubnetReservedIPOptions { + _options.SubnetID = core.StringPtr(subnetID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetSubnetReservedIPOptions) SetID(id string) *GetSubnetReservedIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSubnetReservedIPOptions) SetHeaders(param map[string]string) *GetSubnetReservedIPOptions { + options.Headers = param + return options +} + +// GetSubnetRoutingTableOptions : The GetSubnetRoutingTable options. +type GetSubnetRoutingTableOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetSubnetRoutingTableOptions : Instantiate GetSubnetRoutingTableOptions +func (*VpcV1) NewGetSubnetRoutingTableOptions(id string) *GetSubnetRoutingTableOptions { + return &GetSubnetRoutingTableOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetSubnetRoutingTableOptions) SetID(id string) *GetSubnetRoutingTableOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetSubnetRoutingTableOptions) SetHeaders(param map[string]string) *GetSubnetRoutingTableOptions { + options.Headers = param + return options +} + +// GetVirtualNetworkInterfaceIPOptions : The GetVirtualNetworkInterfaceIP options. +type GetVirtualNetworkInterfaceIPOptions struct { + // The virtual network interface identifier. + VirtualNetworkInterfaceID *string `json:"virtual_network_interface_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVirtualNetworkInterfaceIPOptions : Instantiate GetVirtualNetworkInterfaceIPOptions +func (*VpcV1) NewGetVirtualNetworkInterfaceIPOptions(virtualNetworkInterfaceID string, id string) *GetVirtualNetworkInterfaceIPOptions { + return &GetVirtualNetworkInterfaceIPOptions{ + VirtualNetworkInterfaceID: core.StringPtr(virtualNetworkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetVirtualNetworkInterfaceID : Allow user to set VirtualNetworkInterfaceID +func (_options *GetVirtualNetworkInterfaceIPOptions) SetVirtualNetworkInterfaceID(virtualNetworkInterfaceID string) *GetVirtualNetworkInterfaceIPOptions { + _options.VirtualNetworkInterfaceID = core.StringPtr(virtualNetworkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVirtualNetworkInterfaceIPOptions) SetID(id string) *GetVirtualNetworkInterfaceIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVirtualNetworkInterfaceIPOptions) SetHeaders(param map[string]string) *GetVirtualNetworkInterfaceIPOptions { + options.Headers = param + return options +} + +// GetVirtualNetworkInterfaceOptions : The GetVirtualNetworkInterface options. +type GetVirtualNetworkInterfaceOptions struct { + // The virtual network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVirtualNetworkInterfaceOptions : Instantiate GetVirtualNetworkInterfaceOptions +func (*VpcV1) NewGetVirtualNetworkInterfaceOptions(id string) *GetVirtualNetworkInterfaceOptions { + return &GetVirtualNetworkInterfaceOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVirtualNetworkInterfaceOptions) SetID(id string) *GetVirtualNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVirtualNetworkInterfaceOptions) SetHeaders(param map[string]string) *GetVirtualNetworkInterfaceOptions { + options.Headers = param + return options +} + +// GetVolumeOptions : The GetVolume options. +type GetVolumeOptions struct { + // The volume identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVolumeOptions : Instantiate GetVolumeOptions +func (*VpcV1) NewGetVolumeOptions(id string) *GetVolumeOptions { + return &GetVolumeOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVolumeOptions) SetID(id string) *GetVolumeOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVolumeOptions) SetHeaders(param map[string]string) *GetVolumeOptions { + options.Headers = param + return options +} + +// GetVolumeProfileOptions : The GetVolumeProfile options. +type GetVolumeProfileOptions struct { + // The volume profile name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVolumeProfileOptions : Instantiate GetVolumeProfileOptions +func (*VpcV1) NewGetVolumeProfileOptions(name string) *GetVolumeProfileOptions { + return &GetVolumeProfileOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetVolumeProfileOptions) SetName(name string) *GetVolumeProfileOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVolumeProfileOptions) SetHeaders(param map[string]string) *GetVolumeProfileOptions { + options.Headers = param + return options +} + +// GetVPCAddressPrefixOptions : The GetVPCAddressPrefix options. +type GetVPCAddressPrefixOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The prefix identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCAddressPrefixOptions : Instantiate GetVPCAddressPrefixOptions +func (*VpcV1) NewGetVPCAddressPrefixOptions(vpcID string, id string) *GetVPCAddressPrefixOptions { + return &GetVPCAddressPrefixOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *GetVPCAddressPrefixOptions) SetVPCID(vpcID string) *GetVPCAddressPrefixOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPCAddressPrefixOptions) SetID(id string) *GetVPCAddressPrefixOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCAddressPrefixOptions) SetHeaders(param map[string]string) *GetVPCAddressPrefixOptions { + options.Headers = param + return options +} + +// GetVPCDefaultNetworkACLOptions : The GetVPCDefaultNetworkACL options. +type GetVPCDefaultNetworkACLOptions struct { + // The VPC identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCDefaultNetworkACLOptions : Instantiate GetVPCDefaultNetworkACLOptions +func (*VpcV1) NewGetVPCDefaultNetworkACLOptions(id string) *GetVPCDefaultNetworkACLOptions { + return &GetVPCDefaultNetworkACLOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVPCDefaultNetworkACLOptions) SetID(id string) *GetVPCDefaultNetworkACLOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCDefaultNetworkACLOptions) SetHeaders(param map[string]string) *GetVPCDefaultNetworkACLOptions { + options.Headers = param + return options +} + +// GetVPCDefaultRoutingTableOptions : The GetVPCDefaultRoutingTable options. +type GetVPCDefaultRoutingTableOptions struct { + // The VPC identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCDefaultRoutingTableOptions : Instantiate GetVPCDefaultRoutingTableOptions +func (*VpcV1) NewGetVPCDefaultRoutingTableOptions(id string) *GetVPCDefaultRoutingTableOptions { + return &GetVPCDefaultRoutingTableOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVPCDefaultRoutingTableOptions) SetID(id string) *GetVPCDefaultRoutingTableOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCDefaultRoutingTableOptions) SetHeaders(param map[string]string) *GetVPCDefaultRoutingTableOptions { + options.Headers = param + return options +} + +// GetVPCDefaultSecurityGroupOptions : The GetVPCDefaultSecurityGroup options. +type GetVPCDefaultSecurityGroupOptions struct { + // The VPC identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCDefaultSecurityGroupOptions : Instantiate GetVPCDefaultSecurityGroupOptions +func (*VpcV1) NewGetVPCDefaultSecurityGroupOptions(id string) *GetVPCDefaultSecurityGroupOptions { + return &GetVPCDefaultSecurityGroupOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVPCDefaultSecurityGroupOptions) SetID(id string) *GetVPCDefaultSecurityGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCDefaultSecurityGroupOptions) SetHeaders(param map[string]string) *GetVPCDefaultSecurityGroupOptions { + options.Headers = param + return options +} + +// GetVPCDnsResolutionBindingOptions : The GetVPCDnsResolutionBinding options. +type GetVPCDnsResolutionBindingOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The DNS resolution binding identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCDnsResolutionBindingOptions : Instantiate GetVPCDnsResolutionBindingOptions +func (*VpcV1) NewGetVPCDnsResolutionBindingOptions(vpcID string, id string) *GetVPCDnsResolutionBindingOptions { + return &GetVPCDnsResolutionBindingOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *GetVPCDnsResolutionBindingOptions) SetVPCID(vpcID string) *GetVPCDnsResolutionBindingOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPCDnsResolutionBindingOptions) SetID(id string) *GetVPCDnsResolutionBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCDnsResolutionBindingOptions) SetHeaders(param map[string]string) *GetVPCDnsResolutionBindingOptions { + options.Headers = param + return options +} + +// GetVPCOptions : The GetVPC options. +type GetVPCOptions struct { + // The VPC identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCOptions : Instantiate GetVPCOptions +func (*VpcV1) NewGetVPCOptions(id string) *GetVPCOptions { + return &GetVPCOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVPCOptions) SetID(id string) *GetVPCOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCOptions) SetHeaders(param map[string]string) *GetVPCOptions { + options.Headers = param + return options +} + +// GetVPCRouteOptions : The GetVPCRoute options. +type GetVPCRouteOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The route identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCRouteOptions : Instantiate GetVPCRouteOptions +func (*VpcV1) NewGetVPCRouteOptions(vpcID string, id string) *GetVPCRouteOptions { + return &GetVPCRouteOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *GetVPCRouteOptions) SetVPCID(vpcID string) *GetVPCRouteOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPCRouteOptions) SetID(id string) *GetVPCRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCRouteOptions) SetHeaders(param map[string]string) *GetVPCRouteOptions { + options.Headers = param + return options +} + +// GetVPCRoutingTableOptions : The GetVPCRoutingTable options. +type GetVPCRoutingTableOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The routing table identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCRoutingTableOptions : Instantiate GetVPCRoutingTableOptions +func (*VpcV1) NewGetVPCRoutingTableOptions(vpcID string, id string) *GetVPCRoutingTableOptions { + return &GetVPCRoutingTableOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *GetVPCRoutingTableOptions) SetVPCID(vpcID string) *GetVPCRoutingTableOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPCRoutingTableOptions) SetID(id string) *GetVPCRoutingTableOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCRoutingTableOptions) SetHeaders(param map[string]string) *GetVPCRoutingTableOptions { + options.Headers = param + return options +} + +// GetVPCRoutingTableRouteOptions : The GetVPCRoutingTableRoute options. +type GetVPCRoutingTableRouteOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The routing table identifier. + RoutingTableID *string `json:"routing_table_id" validate:"required,ne="` + + // The VPC routing table route identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPCRoutingTableRouteOptions : Instantiate GetVPCRoutingTableRouteOptions +func (*VpcV1) NewGetVPCRoutingTableRouteOptions(vpcID string, routingTableID string, id string) *GetVPCRoutingTableRouteOptions { + return &GetVPCRoutingTableRouteOptions{ + VPCID: core.StringPtr(vpcID), + RoutingTableID: core.StringPtr(routingTableID), + ID: core.StringPtr(id), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *GetVPCRoutingTableRouteOptions) SetVPCID(vpcID string) *GetVPCRoutingTableRouteOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetRoutingTableID : Allow user to set RoutingTableID +func (_options *GetVPCRoutingTableRouteOptions) SetRoutingTableID(routingTableID string) *GetVPCRoutingTableRouteOptions { + _options.RoutingTableID = core.StringPtr(routingTableID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPCRoutingTableRouteOptions) SetID(id string) *GetVPCRoutingTableRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPCRoutingTableRouteOptions) SetHeaders(param map[string]string) *GetVPCRoutingTableRouteOptions { + options.Headers = param + return options +} + +// GetVPNGatewayConnectionOptions : The GetVPNGatewayConnection options. +type GetVPNGatewayConnectionOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPNGatewayConnectionOptions : Instantiate GetVPNGatewayConnectionOptions +func (*VpcV1) NewGetVPNGatewayConnectionOptions(vpnGatewayID string, id string) *GetVPNGatewayConnectionOptions { + return &GetVPNGatewayConnectionOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *GetVPNGatewayConnectionOptions) SetVPNGatewayID(vpnGatewayID string) *GetVPNGatewayConnectionOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPNGatewayConnectionOptions) SetID(id string) *GetVPNGatewayConnectionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPNGatewayConnectionOptions) SetHeaders(param map[string]string) *GetVPNGatewayConnectionOptions { + options.Headers = param + return options +} + +// GetVPNGatewayOptions : The GetVPNGateway options. +type GetVPNGatewayOptions struct { + // The VPN gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPNGatewayOptions : Instantiate GetVPNGatewayOptions +func (*VpcV1) NewGetVPNGatewayOptions(id string) *GetVPNGatewayOptions { + return &GetVPNGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVPNGatewayOptions) SetID(id string) *GetVPNGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPNGatewayOptions) SetHeaders(param map[string]string) *GetVPNGatewayOptions { + options.Headers = param + return options +} + +// GetVPNGatewayServiceConnectionOptions : The GetVPNGatewayServiceConnection options. +type GetVPNGatewayServiceConnectionOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway service connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPNGatewayServiceConnectionOptions : Instantiate GetVPNGatewayServiceConnectionOptions +func (*VpcV1) NewGetVPNGatewayServiceConnectionOptions(vpnGatewayID string, id string) *GetVPNGatewayServiceConnectionOptions { + return &GetVPNGatewayServiceConnectionOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *GetVPNGatewayServiceConnectionOptions) SetVPNGatewayID(vpnGatewayID string) *GetVPNGatewayServiceConnectionOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPNGatewayServiceConnectionOptions) SetID(id string) *GetVPNGatewayServiceConnectionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPNGatewayServiceConnectionOptions) SetHeaders(param map[string]string) *GetVPNGatewayServiceConnectionOptions { + options.Headers = param + return options +} + +// GetVPNServerClientConfigurationOptions : The GetVPNServerClientConfiguration options. +type GetVPNServerClientConfigurationOptions struct { + // The VPN server identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPNServerClientConfigurationOptions : Instantiate GetVPNServerClientConfigurationOptions +func (*VpcV1) NewGetVPNServerClientConfigurationOptions(id string) *GetVPNServerClientConfigurationOptions { + return &GetVPNServerClientConfigurationOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVPNServerClientConfigurationOptions) SetID(id string) *GetVPNServerClientConfigurationOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPNServerClientConfigurationOptions) SetHeaders(param map[string]string) *GetVPNServerClientConfigurationOptions { + options.Headers = param + return options +} + +// GetVPNServerClientOptions : The GetVPNServerClient options. +type GetVPNServerClientOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // The VPN client identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPNServerClientOptions : Instantiate GetVPNServerClientOptions +func (*VpcV1) NewGetVPNServerClientOptions(vpnServerID string, id string) *GetVPNServerClientOptions { + return &GetVPNServerClientOptions{ + VPNServerID: core.StringPtr(vpnServerID), + ID: core.StringPtr(id), + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *GetVPNServerClientOptions) SetVPNServerID(vpnServerID string) *GetVPNServerClientOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPNServerClientOptions) SetID(id string) *GetVPNServerClientOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPNServerClientOptions) SetHeaders(param map[string]string) *GetVPNServerClientOptions { + options.Headers = param + return options +} + +// GetVPNServerOptions : The GetVPNServer options. +type GetVPNServerOptions struct { + // The VPN server identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPNServerOptions : Instantiate GetVPNServerOptions +func (*VpcV1) NewGetVPNServerOptions(id string) *GetVPNServerOptions { + return &GetVPNServerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *GetVPNServerOptions) SetID(id string) *GetVPNServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPNServerOptions) SetHeaders(param map[string]string) *GetVPNServerOptions { + options.Headers = param + return options +} + +// GetVPNServerRouteOptions : The GetVPNServerRoute options. +type GetVPNServerRouteOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // The VPN route identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewGetVPNServerRouteOptions : Instantiate GetVPNServerRouteOptions +func (*VpcV1) NewGetVPNServerRouteOptions(vpnServerID string, id string) *GetVPNServerRouteOptions { + return &GetVPNServerRouteOptions{ + VPNServerID: core.StringPtr(vpnServerID), + ID: core.StringPtr(id), + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *GetVPNServerRouteOptions) SetVPNServerID(vpnServerID string) *GetVPNServerRouteOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetVPNServerRouteOptions) SetID(id string) *GetVPNServerRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetVPNServerRouteOptions) SetHeaders(param map[string]string) *GetVPNServerRouteOptions { + options.Headers = param + return options +} + +// IkePolicy : IkePolicy struct +type IkePolicy struct { + // The authentication algorithm. + // + // The `md5` and `sha1` algorithms have been deprecated. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AuthenticationAlgorithm *string `json:"authentication_algorithm" validate:"required"` + + // The VPN gateway connections that use this IKE policy. + Connections []VPNGatewayConnectionReference `json:"connections" validate:"required"` + + // The date and time that this IKE policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The Diffie-Hellman group + // + // Groups `2` and `5` have been deprecated. + DhGroup *int64 `json:"dh_group" validate:"required"` + + // The encryption algorithm. + // + // The `triple_des` algorithm has been deprecated. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + EncryptionAlgorithm *string `json:"encryption_algorithm" validate:"required"` + + // The URL for this IKE policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this IKE policy. + ID *string `json:"id" validate:"required"` + + // The IKE protocol version. + IkeVersion *int64 `json:"ike_version" validate:"required"` + + // The key lifetime in seconds. + KeyLifetime *int64 `json:"key_lifetime" validate:"required"` + + // The name for this IKE policy. The name is unique across all IKE policies in the region. + Name *string `json:"name" validate:"required"` + + // The IKE negotiation mode. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + NegotiationMode *string `json:"negotiation_mode" validate:"required"` + + // The resource group for this IKE policy. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the IkePolicy.AuthenticationAlgorithm property. +// The authentication algorithm. +// +// The `md5` and `sha1` algorithms have been deprecated. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + IkePolicyAuthenticationAlgorithmMd5Const = "md5" + IkePolicyAuthenticationAlgorithmSha1Const = "sha1" + IkePolicyAuthenticationAlgorithmSha256Const = "sha256" + IkePolicyAuthenticationAlgorithmSha384Const = "sha384" + IkePolicyAuthenticationAlgorithmSha512Const = "sha512" +) + +// Constants associated with the IkePolicy.EncryptionAlgorithm property. +// The encryption algorithm. +// +// The `triple_des` algorithm has been deprecated. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + IkePolicyEncryptionAlgorithmAes128Const = "aes128" + IkePolicyEncryptionAlgorithmAes192Const = "aes192" + IkePolicyEncryptionAlgorithmAes256Const = "aes256" + IkePolicyEncryptionAlgorithmTripleDesConst = "triple_des" +) + +// Constants associated with the IkePolicy.NegotiationMode property. +// The IKE negotiation mode. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + IkePolicyNegotiationModeMainConst = "main" +) + +// Constants associated with the IkePolicy.ResourceType property. +// The resource type. +const ( + IkePolicyResourceTypeIkePolicyConst = "ike_policy" +) + +// UnmarshalIkePolicy unmarshals an instance of IkePolicy from the specified map of raw messages. +func UnmarshalIkePolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IkePolicy) + err = core.UnmarshalPrimitive(m, "authentication_algorithm", &obj.AuthenticationAlgorithm) + if err != nil { + err = core.SDKErrorf(err, "", "authentication_algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalVPNGatewayConnectionReference) + if err != nil { + err = core.SDKErrorf(err, "", "connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "dh_group", &obj.DhGroup) + if err != nil { + err = core.SDKErrorf(err, "", "dh_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encryption_algorithm", &obj.EncryptionAlgorithm) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ike_version", &obj.IkeVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ike_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "key_lifetime", &obj.KeyLifetime) + if err != nil { + err = core.SDKErrorf(err, "", "key_lifetime-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "negotiation_mode", &obj.NegotiationMode) + if err != nil { + err = core.SDKErrorf(err, "", "negotiation_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// IkePolicyCollection : IkePolicyCollection struct +type IkePolicyCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of IKE policies. + IkePolicies []IkePolicy `json:"ike_policies" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalIkePolicyCollection unmarshals an instance of IkePolicyCollection from the specified map of raw messages. +func UnmarshalIkePolicyCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IkePolicyCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policies", &obj.IkePolicies, UnmarshalIkePolicy) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *IkePolicyCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// IkePolicyConnectionCollection : IkePolicyConnectionCollection struct +type IkePolicyConnectionCollection struct { + // A page of VPN gateway connections that use the IKE policy specified by the identifier in the URL. + Connections []VPNGatewayConnectionIntf `json:"connections" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalIkePolicyConnectionCollection unmarshals an instance of IkePolicyConnectionCollection from the specified map of raw messages. +func UnmarshalIkePolicyConnectionCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IkePolicyConnectionCollection) + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalVPNGatewayConnection) + if err != nil { + err = core.SDKErrorf(err, "", "connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *IkePolicyConnectionCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// IkePolicyPatch : IkePolicyPatch struct +type IkePolicyPatch struct { + // The authentication algorithm. + AuthenticationAlgorithm *string `json:"authentication_algorithm,omitempty"` + + // The Diffie-Hellman group. + DhGroup *int64 `json:"dh_group,omitempty"` + + // The encryption algorithm. + EncryptionAlgorithm *string `json:"encryption_algorithm,omitempty"` + + // The IKE protocol version. + IkeVersion *int64 `json:"ike_version,omitempty"` + + // The key lifetime in seconds. + KeyLifetime *int64 `json:"key_lifetime,omitempty"` + + // The name for this IKE policy. The name must not be used by another IKE policy in the region. + Name *string `json:"name,omitempty"` +} + +// Constants associated with the IkePolicyPatch.AuthenticationAlgorithm property. +// The authentication algorithm. +const ( + IkePolicyPatchAuthenticationAlgorithmSha256Const = "sha256" + IkePolicyPatchAuthenticationAlgorithmSha384Const = "sha384" + IkePolicyPatchAuthenticationAlgorithmSha512Const = "sha512" +) + +// Constants associated with the IkePolicyPatch.EncryptionAlgorithm property. +// The encryption algorithm. +const ( + IkePolicyPatchEncryptionAlgorithmAes128Const = "aes128" + IkePolicyPatchEncryptionAlgorithmAes192Const = "aes192" + IkePolicyPatchEncryptionAlgorithmAes256Const = "aes256" +) + +// UnmarshalIkePolicyPatch unmarshals an instance of IkePolicyPatch from the specified map of raw messages. +func UnmarshalIkePolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IkePolicyPatch) + err = core.UnmarshalPrimitive(m, "authentication_algorithm", &obj.AuthenticationAlgorithm) + if err != nil { + err = core.SDKErrorf(err, "", "authentication_algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "dh_group", &obj.DhGroup) + if err != nil { + err = core.SDKErrorf(err, "", "dh_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encryption_algorithm", &obj.EncryptionAlgorithm) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ike_version", &obj.IkeVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ike_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "key_lifetime", &obj.KeyLifetime) + if err != nil { + err = core.SDKErrorf(err, "", "key_lifetime-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the IkePolicyPatch +func (ikePolicyPatch *IkePolicyPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(ikePolicyPatch.AuthenticationAlgorithm) { + _patch["authentication_algorithm"] = ikePolicyPatch.AuthenticationAlgorithm + } + if !core.IsNil(ikePolicyPatch.DhGroup) { + _patch["dh_group"] = ikePolicyPatch.DhGroup + } + if !core.IsNil(ikePolicyPatch.EncryptionAlgorithm) { + _patch["encryption_algorithm"] = ikePolicyPatch.EncryptionAlgorithm + } + if !core.IsNil(ikePolicyPatch.IkeVersion) { + _patch["ike_version"] = ikePolicyPatch.IkeVersion + } + if !core.IsNil(ikePolicyPatch.KeyLifetime) { + _patch["key_lifetime"] = ikePolicyPatch.KeyLifetime + } + if !core.IsNil(ikePolicyPatch.Name) { + _patch["name"] = ikePolicyPatch.Name + } + + return +} + +// IkePolicyReference : IkePolicyReference struct +type IkePolicyReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this IKE policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this IKE policy. + ID *string `json:"id" validate:"required"` + + // The name for this IKE policy. The name is unique across all IKE policies in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the IkePolicyReference.ResourceType property. +// The resource type. +const ( + IkePolicyReferenceResourceTypeIkePolicyConst = "ike_policy" +) + +// UnmarshalIkePolicyReference unmarshals an instance of IkePolicyReference from the specified map of raw messages. +func UnmarshalIkePolicyReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IkePolicyReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// IP : IP struct +type IP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewIP : Instantiate IP (Generic Model Constructor) +func (*VpcV1) NewIP(address string) (_model *IP, err error) { + _model = &IP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalIP unmarshals an instance of IP from the specified map of raw messages. +func UnmarshalIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the IP +func (ip *IP) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(ip.Address) { + _patch["address"] = ip.Address + } + + return +} + +// IPsecPolicy : IPsecPolicy struct +type IPsecPolicy struct { + // The authentication algorithm + // + // The `md5` and `sha1` algorithms have been deprecated + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AuthenticationAlgorithm *string `json:"authentication_algorithm" validate:"required"` + + // The VPN gateway connections that use this IPsec policy. + Connections []VPNGatewayConnectionReference `json:"connections" validate:"required"` + + // The date and time that this IPsec policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The encapsulation mode used. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + EncapsulationMode *string `json:"encapsulation_mode" validate:"required"` + + // The encryption algorithm + // + // The `triple_des` algorithm has been deprecated + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + EncryptionAlgorithm *string `json:"encryption_algorithm" validate:"required"` + + // The URL for this IPsec policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this IPsec policy. + ID *string `json:"id" validate:"required"` + + // The key lifetime in seconds. + KeyLifetime *int64 `json:"key_lifetime" validate:"required"` + + // The name for this IPsec policy. The name is unique across all IPsec policies in the region. + Name *string `json:"name" validate:"required"` + + // The Perfect Forward Secrecy group + // + // Groups `group_2` and `group_5` have been deprecated + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Pfs *string `json:"pfs" validate:"required"` + + // The resource group for this IPsec policy. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The transform protocol used. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + TransformProtocol *string `json:"transform_protocol" validate:"required"` +} + +// Constants associated with the IPsecPolicy.AuthenticationAlgorithm property. +// The authentication algorithm +// +// # The `md5` and `sha1` algorithms have been deprecated +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + IPsecPolicyAuthenticationAlgorithmDisabledConst = "disabled" + IPsecPolicyAuthenticationAlgorithmMd5Const = "md5" + IPsecPolicyAuthenticationAlgorithmSha1Const = "sha1" + IPsecPolicyAuthenticationAlgorithmSha256Const = "sha256" + IPsecPolicyAuthenticationAlgorithmSha384Const = "sha384" + IPsecPolicyAuthenticationAlgorithmSha512Const = "sha512" +) + +// Constants associated with the IPsecPolicy.EncapsulationMode property. +// The encapsulation mode used. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + IPsecPolicyEncapsulationModeTunnelConst = "tunnel" +) + +// Constants associated with the IPsecPolicy.EncryptionAlgorithm property. +// The encryption algorithm +// +// The `triple_des` algorithm has been deprecated +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + IPsecPolicyEncryptionAlgorithmAes128Const = "aes128" + IPsecPolicyEncryptionAlgorithmAes128gcm16Const = "aes128gcm16" + IPsecPolicyEncryptionAlgorithmAes192Const = "aes192" + IPsecPolicyEncryptionAlgorithmAes192gcm16Const = "aes192gcm16" + IPsecPolicyEncryptionAlgorithmAes256Const = "aes256" + IPsecPolicyEncryptionAlgorithmAes256gcm16Const = "aes256gcm16" + IPsecPolicyEncryptionAlgorithmTripleDesConst = "triple_des" +) + +// Constants associated with the IPsecPolicy.Pfs property. +// The Perfect Forward Secrecy group +// +// Groups `group_2` and `group_5` have been deprecated +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + IPsecPolicyPfsDisabledConst = "disabled" + IPsecPolicyPfsGroup14Const = "group_14" + IPsecPolicyPfsGroup15Const = "group_15" + IPsecPolicyPfsGroup16Const = "group_16" + IPsecPolicyPfsGroup17Const = "group_17" + IPsecPolicyPfsGroup18Const = "group_18" + IPsecPolicyPfsGroup19Const = "group_19" + IPsecPolicyPfsGroup2Const = "group_2" + IPsecPolicyPfsGroup20Const = "group_20" + IPsecPolicyPfsGroup21Const = "group_21" + IPsecPolicyPfsGroup22Const = "group_22" + IPsecPolicyPfsGroup23Const = "group_23" + IPsecPolicyPfsGroup24Const = "group_24" + IPsecPolicyPfsGroup31Const = "group_31" + IPsecPolicyPfsGroup5Const = "group_5" +) + +// Constants associated with the IPsecPolicy.ResourceType property. +// The resource type. +const ( + IPsecPolicyResourceTypeIpsecPolicyConst = "ipsec_policy" +) + +// Constants associated with the IPsecPolicy.TransformProtocol property. +// The transform protocol used. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + IPsecPolicyTransformProtocolEspConst = "esp" +) + +// UnmarshalIPsecPolicy unmarshals an instance of IPsecPolicy from the specified map of raw messages. +func UnmarshalIPsecPolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IPsecPolicy) + err = core.UnmarshalPrimitive(m, "authentication_algorithm", &obj.AuthenticationAlgorithm) + if err != nil { + err = core.SDKErrorf(err, "", "authentication_algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalVPNGatewayConnectionReference) + if err != nil { + err = core.SDKErrorf(err, "", "connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encapsulation_mode", &obj.EncapsulationMode) + if err != nil { + err = core.SDKErrorf(err, "", "encapsulation_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encryption_algorithm", &obj.EncryptionAlgorithm) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "key_lifetime", &obj.KeyLifetime) + if err != nil { + err = core.SDKErrorf(err, "", "key_lifetime-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "pfs", &obj.Pfs) + if err != nil { + err = core.SDKErrorf(err, "", "pfs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "transform_protocol", &obj.TransformProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "transform_protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// IPsecPolicyCollection : IPsecPolicyCollection struct +type IPsecPolicyCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of IPsec policies. + IpsecPolicies []IPsecPolicy `json:"ipsec_policies" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalIPsecPolicyCollection unmarshals an instance of IPsecPolicyCollection from the specified map of raw messages. +func UnmarshalIPsecPolicyCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IPsecPolicyCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policies", &obj.IpsecPolicies, UnmarshalIPsecPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *IPsecPolicyCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// IPsecPolicyConnectionCollection : IPsecPolicyConnectionCollection struct +type IPsecPolicyConnectionCollection struct { + // A page of VPN gateway connections that use the IPsec policy specified by the identifier in the URL. + Connections []VPNGatewayConnectionIntf `json:"connections" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalIPsecPolicyConnectionCollection unmarshals an instance of IPsecPolicyConnectionCollection from the specified map of raw messages. +func UnmarshalIPsecPolicyConnectionCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IPsecPolicyConnectionCollection) + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalVPNGatewayConnection) + if err != nil { + err = core.SDKErrorf(err, "", "connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *IPsecPolicyConnectionCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// IPsecPolicyPatch : IPsecPolicyPatch struct +type IPsecPolicyPatch struct { + // The authentication algorithm + // + // Must be `disabled` if and only if the `encryption_algorithm` is `aes128gcm16`, + // `aes192gcm16`, or `aes256gcm16` + // + // The `md5` and `sha1` algorithms have been deprecated. + AuthenticationAlgorithm *string `json:"authentication_algorithm,omitempty"` + + // The encryption algorithm + // + // The `authentication_algorithm` must be `disabled` if and only if + // `encryption_algorithm` is `aes128gcm16`, `aes192gcm16`, or `aes256gcm16` + // + // The `triple_des` algorithm has been deprecated. + EncryptionAlgorithm *string `json:"encryption_algorithm,omitempty"` + + // The key lifetime in seconds. + KeyLifetime *int64 `json:"key_lifetime,omitempty"` + + // The name for this IPsec policy. The name must not be used by another IPsec policy in the region. + Name *string `json:"name,omitempty"` + + // The Perfect Forward Secrecy group. + // + // Groups `group_2` and `group_5` have been deprecated. + Pfs *string `json:"pfs,omitempty"` +} + +// Constants associated with the IPsecPolicyPatch.AuthenticationAlgorithm property. +// The authentication algorithm +// +// Must be `disabled` if and only if the `encryption_algorithm` is `aes128gcm16`, +// `aes192gcm16`, or `aes256gcm16` +// +// The `md5` and `sha1` algorithms have been deprecated. +const ( + IPsecPolicyPatchAuthenticationAlgorithmDisabledConst = "disabled" + IPsecPolicyPatchAuthenticationAlgorithmSha256Const = "sha256" + IPsecPolicyPatchAuthenticationAlgorithmSha384Const = "sha384" + IPsecPolicyPatchAuthenticationAlgorithmSha512Const = "sha512" +) + +// Constants associated with the IPsecPolicyPatch.EncryptionAlgorithm property. +// The encryption algorithm +// +// The `authentication_algorithm` must be `disabled` if and only if +// `encryption_algorithm` is `aes128gcm16`, `aes192gcm16`, or `aes256gcm16` +// +// The `triple_des` algorithm has been deprecated. +const ( + IPsecPolicyPatchEncryptionAlgorithmAes128Const = "aes128" + IPsecPolicyPatchEncryptionAlgorithmAes128gcm16Const = "aes128gcm16" + IPsecPolicyPatchEncryptionAlgorithmAes192Const = "aes192" + IPsecPolicyPatchEncryptionAlgorithmAes192gcm16Const = "aes192gcm16" + IPsecPolicyPatchEncryptionAlgorithmAes256Const = "aes256" + IPsecPolicyPatchEncryptionAlgorithmAes256gcm16Const = "aes256gcm16" +) + +// Constants associated with the IPsecPolicyPatch.Pfs property. +// The Perfect Forward Secrecy group. +// +// Groups `group_2` and `group_5` have been deprecated. +const ( + IPsecPolicyPatchPfsDisabledConst = "disabled" + IPsecPolicyPatchPfsGroup14Const = "group_14" + IPsecPolicyPatchPfsGroup15Const = "group_15" + IPsecPolicyPatchPfsGroup16Const = "group_16" + IPsecPolicyPatchPfsGroup17Const = "group_17" + IPsecPolicyPatchPfsGroup18Const = "group_18" + IPsecPolicyPatchPfsGroup19Const = "group_19" + IPsecPolicyPatchPfsGroup20Const = "group_20" + IPsecPolicyPatchPfsGroup21Const = "group_21" + IPsecPolicyPatchPfsGroup22Const = "group_22" + IPsecPolicyPatchPfsGroup23Const = "group_23" + IPsecPolicyPatchPfsGroup24Const = "group_24" + IPsecPolicyPatchPfsGroup31Const = "group_31" +) + +// UnmarshalIPsecPolicyPatch unmarshals an instance of IPsecPolicyPatch from the specified map of raw messages. +func UnmarshalIPsecPolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IPsecPolicyPatch) + err = core.UnmarshalPrimitive(m, "authentication_algorithm", &obj.AuthenticationAlgorithm) + if err != nil { + err = core.SDKErrorf(err, "", "authentication_algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encryption_algorithm", &obj.EncryptionAlgorithm) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "key_lifetime", &obj.KeyLifetime) + if err != nil { + err = core.SDKErrorf(err, "", "key_lifetime-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "pfs", &obj.Pfs) + if err != nil { + err = core.SDKErrorf(err, "", "pfs-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the IPsecPolicyPatch +func (iPsecPolicyPatch *IPsecPolicyPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(iPsecPolicyPatch.AuthenticationAlgorithm) { + _patch["authentication_algorithm"] = iPsecPolicyPatch.AuthenticationAlgorithm + } + if !core.IsNil(iPsecPolicyPatch.EncryptionAlgorithm) { + _patch["encryption_algorithm"] = iPsecPolicyPatch.EncryptionAlgorithm + } + if !core.IsNil(iPsecPolicyPatch.KeyLifetime) { + _patch["key_lifetime"] = iPsecPolicyPatch.KeyLifetime + } + if !core.IsNil(iPsecPolicyPatch.Name) { + _patch["name"] = iPsecPolicyPatch.Name + } + if !core.IsNil(iPsecPolicyPatch.Pfs) { + _patch["pfs"] = iPsecPolicyPatch.Pfs + } + + return +} + +// IPsecPolicyReference : IPsecPolicyReference struct +type IPsecPolicyReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this IPsec policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this IPsec policy. + ID *string `json:"id" validate:"required"` + + // The name for this IPsec policy. The name is unique across all IPsec policies in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the IPsecPolicyReference.ResourceType property. +// The resource type. +const ( + IPsecPolicyReferenceResourceTypeIpsecPolicyConst = "ipsec_policy" +) + +// UnmarshalIPsecPolicyReference unmarshals an instance of IPsecPolicyReference from the specified map of raw messages. +func UnmarshalIPsecPolicyReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IPsecPolicyReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Image : Image struct +type Image struct { + // The usage constraints to match against the requested instance or bare metal server + // properties to determine compatibility. + AllowedUse *ImageAllowedUse `json:"allowed_use" validate:"required"` + + CatalogOffering *ImageCatalogOffering `json:"catalog_offering" validate:"required"` + + // The date and time that the image was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this image. + CRN *string `json:"crn" validate:"required"` + + // The deprecation date and time (UTC) for this image. + // + // If absent, no deprecation date and time has been set. + DeprecationAt *strfmt.DateTime `json:"deprecation_at,omitempty"` + + // The type of encryption used on the image. + Encryption *string `json:"encryption" validate:"required"` + + // The key that will be used to encrypt volumes created from this image (unless an + // alternate `encryption_key` is specified at volume creation). + // + // This property will be present for images with an `encryption` type of `user_managed`. + EncryptionKey *EncryptionKeyReference `json:"encryption_key,omitempty"` + + // The metadata for the imported image file. + File *ImageFile `json:"file" validate:"required"` + + // The URL for this image. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this image. + ID *string `json:"id" validate:"required"` + + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned. + // + // This property may be absent if the image has a `status` of `pending` or `failed`. + MinimumProvisionedSize *int64 `json:"minimum_provisioned_size,omitempty"` + + // The name for this image. The name is unique across all images in the region. + Name *string `json:"name" validate:"required"` + + // The obsolescence date and time (UTC) for this image. + // + // If absent, no obsolescence date and time has been set. + ObsolescenceAt *strfmt.DateTime `json:"obsolescence_at,omitempty"` + + // The operating system included in this image. + OperatingSystem *OperatingSystem `json:"operating_system" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *ImageRemote `json:"remote,omitempty"` + + // The resource group for this image. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The volume used to create this image (this may be + // [deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + // If absent, this image was not created from a volume. + SourceVolume *VolumeReference `json:"source_volume,omitempty"` + + // The status of this image: + // - available: image can be used to create resources + // - deleting: image is being deleted, and can no longer be used to create + // resources + // - deprecated: image is slated to be deleted, but can still be used to create + // resources + // - failed: image was not created successfully, and cannot be used to create + // resources + // - obsolete: image is slated to be deleted, and can no longer be used to create + // resources + // - pending: image is being imported, and cannot yet be used to create resources + // - unusable: image cannot be used (see `status_reasons[]` for possible remediation) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []ImageStatusReason `json:"status_reasons" validate:"required"` + + // The user data format for this image: + // - `cloud_init`: `user_data` will be interpreted according to the cloud-init standard + // - `esxi_kickstart`: `user_data` will be interpreted as a VMware ESXi installation script + // - `ipxe`: `user_data` will be interpreted as a single URL to an iPXE script or as the + // text of an iPXE script + // + // The value for this property is inherited from `operating_system.user_data_format`. + UserDataFormat *string `json:"user_data_format" validate:"required"` + + // The visibility of this image. + // - `private`: Visible only to this account + // - `public`: Visible to all accounts. + Visibility *string `json:"visibility" validate:"required"` +} + +// Constants associated with the Image.Encryption property. +// The type of encryption used on the image. +const ( + ImageEncryptionNoneConst = "none" + ImageEncryptionUserManagedConst = "user_managed" +) + +// Constants associated with the Image.ResourceType property. +// The resource type. +const ( + ImageResourceTypeImageConst = "image" +) + +// Constants associated with the Image.Status property. +// The status of this image: +// - available: image can be used to create resources +// - deleting: image is being deleted, and can no longer be used to create +// resources +// - deprecated: image is slated to be deleted, but can still be used to create +// resources +// - failed: image was not created successfully, and cannot be used to create +// resources +// - obsolete: image is slated to be deleted, and can no longer be used to create +// resources +// - pending: image is being imported, and cannot yet be used to create resources +// - unusable: image cannot be used (see `status_reasons[]` for possible remediation) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ImageStatusAvailableConst = "available" + ImageStatusDeletingConst = "deleting" + ImageStatusDeprecatedConst = "deprecated" + ImageStatusFailedConst = "failed" + ImageStatusObsoleteConst = "obsolete" + ImageStatusPendingConst = "pending" + ImageStatusUnusableConst = "unusable" +) + +// Constants associated with the Image.UserDataFormat property. +// The user data format for this image: +// - `cloud_init`: `user_data` will be interpreted according to the cloud-init standard +// - `esxi_kickstart`: `user_data` will be interpreted as a VMware ESXi installation script +// - `ipxe`: `user_data` will be interpreted as a single URL to an iPXE script or as the +// text of an iPXE script +// +// The value for this property is inherited from `operating_system.user_data_format`. +const ( + ImageUserDataFormatCloudInitConst = "cloud_init" + ImageUserDataFormatEsxiKickstartConst = "esxi_kickstart" + ImageUserDataFormatIpxeConst = "ipxe" +) + +// Constants associated with the Image.Visibility property. +// The visibility of this image. +// - `private`: Visible only to this account +// - `public`: Visible to all accounts. +const ( + ImageVisibilityPrivateConst = "private" + ImageVisibilityPublicConst = "public" +) + +// UnmarshalImage unmarshals an instance of Image from the specified map of raw messages. +func UnmarshalImage(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Image) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalImageAllowedUse) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalImageCatalogOffering) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deprecation_at", &obj.DeprecationAt) + if err != nil { + err = core.SDKErrorf(err, "", "deprecation_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encryption", &obj.Encryption) + if err != nil { + err = core.SDKErrorf(err, "", "encryption-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "file", &obj.File, UnmarshalImageFile) + if err != nil { + err = core.SDKErrorf(err, "", "file-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "minimum_provisioned_size", &obj.MinimumProvisionedSize) + if err != nil { + err = core.SDKErrorf(err, "", "minimum_provisioned_size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "obsolescence_at", &obj.ObsolescenceAt) + if err != nil { + err = core.SDKErrorf(err, "", "obsolescence_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "operating_system", &obj.OperatingSystem, UnmarshalOperatingSystem) + if err != nil { + err = core.SDKErrorf(err, "", "operating_system-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalImageRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_volume", &obj.SourceVolume, UnmarshalVolumeReference) + if err != nil { + err = core.SDKErrorf(err, "", "source_volume-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalImageStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data_format", &obj.UserDataFormat) + if err != nil { + err = core.SDKErrorf(err, "", "user_data_format-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "visibility", &obj.Visibility) + if err != nil { + err = core.SDKErrorf(err, "", "visibility-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageAllowedUse : ImageAllowedUse struct +type ImageAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `json:"api_version" validate:"required"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `BareMetalServer` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server" validate:"required"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance" validate:"required"` +} + +// UnmarshalImageAllowedUse unmarshals an instance of ImageAllowedUse from the specified map of raw messages. +func UnmarshalImageAllowedUse(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageAllowedUse) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageAllowedUsePatch : ImageAllowedUsePatch struct +type ImageAllowedUsePatch struct { + // The API version with which to evaluate the expressions. + // + // If specified, the value must be between `2019-01-01` and today's date (in UTC). + ApiVersion *string `json:"api_version,omitempty"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server,omitempty"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance,omitempty"` +} + +// UnmarshalImageAllowedUsePatch unmarshals an instance of ImageAllowedUsePatch from the specified map of raw messages. +func UnmarshalImageAllowedUsePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageAllowedUsePatch) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ImageAllowedUsePatch +func (imageAllowedUsePatch *ImageAllowedUsePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(imageAllowedUsePatch.ApiVersion) { + _patch["api_version"] = imageAllowedUsePatch.ApiVersion + } + if !core.IsNil(imageAllowedUsePatch.BareMetalServer) { + _patch["bare_metal_server"] = imageAllowedUsePatch.BareMetalServer + } + if !core.IsNil(imageAllowedUsePatch.Instance) { + _patch["instance"] = imageAllowedUsePatch.Instance + } + + return +} + +// ImageAllowedUsePrototype : ImageAllowedUsePrototype struct +type ImageAllowedUsePrototype struct { + // The API version with which to evaluate the expressions. + // + // If specified, the value must be between `2019-01-01` and today's date (in UTC). If unspecified, the `version` query + // parameter value will be used. + ApiVersion *string `json:"api_version,omitempty"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + // + // If unspecified, the expression will be set to `true`. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server,omitempty"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + // + // If unspecified, the expression will be set to `true`. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance,omitempty"` +} + +// UnmarshalImageAllowedUsePrototype unmarshals an instance of ImageAllowedUsePrototype from the specified map of raw messages. +func UnmarshalImageAllowedUsePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageAllowedUsePrototype) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageBareMetalServerProfileCollection : ImageBareMetalServerProfileCollection struct +type ImageBareMetalServerProfileCollection struct { + // A page of bare metal server profiles compatible with the image. + BareMetalServerProfiles []BareMetalServerProfileReference `json:"bare_metal_server_profiles" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalImageBareMetalServerProfileCollection unmarshals an instance of ImageBareMetalServerProfileCollection from the specified map of raw messages. +func UnmarshalImageBareMetalServerProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageBareMetalServerProfileCollection) + err = core.UnmarshalModel(m, "bare_metal_server_profiles", &obj.BareMetalServerProfiles, UnmarshalBareMetalServerProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ImageBareMetalServerProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ImageCatalogOffering : ImageCatalogOffering struct +type ImageCatalogOffering struct { + // Indicates whether this image is managed as part of a + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering. If an image is managed, + // accounts with access to that catalog can specify the image's catalog offering version CRN to provision virtual + // server instances using the image. + Managed *bool `json:"managed" validate:"required"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering version associated with this image. + // + // If absent, this image is not associated with a cloud catalog offering. + Version *CatalogOfferingVersionReference `json:"version,omitempty"` +} + +// UnmarshalImageCatalogOffering unmarshals an instance of ImageCatalogOffering from the specified map of raw messages. +func UnmarshalImageCatalogOffering(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageCatalogOffering) + err = core.UnmarshalPrimitive(m, "managed", &obj.Managed) + if err != nil { + err = core.SDKErrorf(err, "", "managed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "version", &obj.Version, UnmarshalCatalogOfferingVersionReference) + if err != nil { + err = core.SDKErrorf(err, "", "version-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageCollection : ImageCollection struct +type ImageCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of images. + Images []Image `json:"images" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalImageCollection unmarshals an instance of ImageCollection from the specified map of raw messages. +func UnmarshalImageCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "images", &obj.Images, UnmarshalImage) + if err != nil { + err = core.SDKErrorf(err, "", "images-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ImageCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ImageExportJob : ImageExportJob struct +type ImageExportJob struct { + // The date and time that the image export job was completed. + // + // If absent, the export job has not yet completed. + CompletedAt *strfmt.DateTime `json:"completed_at,omitempty"` + + // The date and time that the image export job was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for the exported image. This + // key can be unwrapped with the image's `encryption_key` root key using either Key Protect or Hyper Protect Crypto + // Services. + // + // If absent, the export job is for an unencrypted image. + EncryptedDataKey *[]byte `json:"encrypted_data_key,omitempty"` + + // The format of the exported image. + Format *string `json:"format" validate:"required"` + + // The URL for this image export job. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this image export job. + ID *string `json:"id" validate:"required"` + + // The name for this image export job. The name must not be used by another export job for the image. Changing the name + // will not affect the exported image name, + // `storage_object.name`, or `storage_href` values. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The date and time that the image export job started running. + // + // If absent, the export job has not yet started. + StartedAt *strfmt.DateTime `json:"started_at,omitempty"` + + // The status of this image export job: + // - `deleting`: Export job is being deleted + // - `failed`: Export job could not be completed successfully + // - `queued`: Export job is queued + // - `running`: Export job is in progress + // - `succeeded`: Export job was completed successfully + // + // The exported image object is automatically deleted for `failed` jobs. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []ImageExportJobStatusReason `json:"status_reasons" validate:"required"` + + // The Cloud Object Storage bucket of the exported image object. + StorageBucket *CloudObjectStorageBucketReference `json:"storage_bucket" validate:"required"` + + // The Cloud Object Storage location of the exported image object. The object at this location will not exist until the + // job completes successfully. The exported image object is not managed by the IBM VPC service, and may be removed or + // replaced with a different object by any user or service with IAM authorization to the storage bucket. + StorageHref *string `json:"storage_href" validate:"required"` + + // The Cloud Object Storage object for the exported image. This object will not exist until + // the job completes successfully. The exported image object is not managed by the IBM VPC + // service, and may be removed or replaced with a different object by any user or service + // with IAM authorization to the storage bucket. + StorageObject *CloudObjectStorageObjectReference `json:"storage_object" validate:"required"` +} + +// Constants associated with the ImageExportJob.Format property. +// The format of the exported image. +const ( + ImageExportJobFormatQcow2Const = "qcow2" + ImageExportJobFormatVhdConst = "vhd" +) + +// Constants associated with the ImageExportJob.ResourceType property. +// The resource type. +const ( + ImageExportJobResourceTypeImageExportJobConst = "image_export_job" +) + +// Constants associated with the ImageExportJob.Status property. +// The status of this image export job: +// - `deleting`: Export job is being deleted +// - `failed`: Export job could not be completed successfully +// - `queued`: Export job is queued +// - `running`: Export job is in progress +// - `succeeded`: Export job was completed successfully +// +// The exported image object is automatically deleted for `failed` jobs. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ImageExportJobStatusDeletingConst = "deleting" + ImageExportJobStatusFailedConst = "failed" + ImageExportJobStatusQueuedConst = "queued" + ImageExportJobStatusRunningConst = "running" + ImageExportJobStatusSucceededConst = "succeeded" +) + +// UnmarshalImageExportJob unmarshals an instance of ImageExportJob from the specified map of raw messages. +func UnmarshalImageExportJob(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageExportJob) + err = core.UnmarshalPrimitive(m, "completed_at", &obj.CompletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "completed_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encrypted_data_key", &obj.EncryptedDataKey) + if err != nil { + err = core.SDKErrorf(err, "", "encrypted_data_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "format", &obj.Format) + if err != nil { + err = core.SDKErrorf(err, "", "format-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "started_at", &obj.StartedAt) + if err != nil { + err = core.SDKErrorf(err, "", "started_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalImageExportJobStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "storage_bucket", &obj.StorageBucket, UnmarshalCloudObjectStorageBucketReference) + if err != nil { + err = core.SDKErrorf(err, "", "storage_bucket-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "storage_href", &obj.StorageHref) + if err != nil { + err = core.SDKErrorf(err, "", "storage_href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "storage_object", &obj.StorageObject, UnmarshalCloudObjectStorageObjectReference) + if err != nil { + err = core.SDKErrorf(err, "", "storage_object-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageExportJobPatch : ImageExportJobPatch struct +type ImageExportJobPatch struct { + // The name for this image export job. The name must not be used by another export job for the image. Changing the name + // will not affect the exported image name, + // `storage_object.name`, or `storage_href` values. + Name *string `json:"name,omitempty"` +} + +// UnmarshalImageExportJobPatch unmarshals an instance of ImageExportJobPatch from the specified map of raw messages. +func UnmarshalImageExportJobPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageExportJobPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ImageExportJobPatch +func (imageExportJobPatch *ImageExportJobPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(imageExportJobPatch.Name) { + _patch["name"] = imageExportJobPatch.Name + } + + return +} + +// ImageExportJobStatusReason : ImageExportJobStatusReason struct +type ImageExportJobStatusReason struct { + // A snake case string succinctly identifying the status reason. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ImageExportJobStatusReason.Code property. +// A snake case string succinctly identifying the status reason. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ImageExportJobStatusReasonCodeCannotAccessStorageBucketConst = "cannot_access_storage_bucket" + ImageExportJobStatusReasonCodeInternalErrorConst = "internal_error" +) + +// UnmarshalImageExportJobStatusReason unmarshals an instance of ImageExportJobStatusReason from the specified map of raw messages. +func UnmarshalImageExportJobStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageExportJobStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageExportJobUnpaginatedCollection : ImageExportJobUnpaginatedCollection struct +type ImageExportJobUnpaginatedCollection struct { + // The export jobs for the image. + ExportJobs []ImageExportJob `json:"export_jobs" validate:"required"` +} + +// UnmarshalImageExportJobUnpaginatedCollection unmarshals an instance of ImageExportJobUnpaginatedCollection from the specified map of raw messages. +func UnmarshalImageExportJobUnpaginatedCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageExportJobUnpaginatedCollection) + err = core.UnmarshalModel(m, "export_jobs", &obj.ExportJobs, UnmarshalImageExportJob) + if err != nil { + err = core.SDKErrorf(err, "", "export_jobs-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageFile : ImageFile struct +type ImageFile struct { + // The checksums for the imported image file. + // + // This property may be absent if the associated image has a `status` of `pending` or + // `failed`. + Checksums *ImageFileChecksums `json:"checksums,omitempty"` + + // The size of the imported image file, rounded up to the next gigabyte. + // + // This property may be absent if the associated image has a `status` of `pending` or + // `failed`. + Size *int64 `json:"size,omitempty"` +} + +// UnmarshalImageFile unmarshals an instance of ImageFile from the specified map of raw messages. +func UnmarshalImageFile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageFile) + err = core.UnmarshalModel(m, "checksums", &obj.Checksums, UnmarshalImageFileChecksums) + if err != nil { + err = core.SDKErrorf(err, "", "checksums-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageFileChecksums : ImageFileChecksums struct +type ImageFileChecksums struct { + // The SHA256 fingerprint of the image file, in hexadecimal. + Sha256 *string `json:"sha256,omitempty"` +} + +// UnmarshalImageFileChecksums unmarshals an instance of ImageFileChecksums from the specified map of raw messages. +func UnmarshalImageFileChecksums(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageFileChecksums) + err = core.UnmarshalPrimitive(m, "sha256", &obj.Sha256) + if err != nil { + err = core.SDKErrorf(err, "", "sha256-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageFilePrototype : ImageFilePrototype struct +type ImageFilePrototype struct { + // The Cloud Object Storage location of the image file. + // + // The image file format is specified by the file's extension, which must be either + // `qcow2` or `vhd`. + Href *string `json:"href" validate:"required"` +} + +// NewImageFilePrototype : Instantiate ImageFilePrototype (Generic Model Constructor) +func (*VpcV1) NewImageFilePrototype(href string) (_model *ImageFilePrototype, err error) { + _model = &ImageFilePrototype{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalImageFilePrototype unmarshals an instance of ImageFilePrototype from the specified map of raw messages. +func UnmarshalImageFilePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageFilePrototype) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageIdentity : Identifies an image by a unique property. +// Models which "extend" this model: +// - ImageIdentityByID +// - ImageIdentityByCRN +// - ImageIdentityByHref +type ImageIdentity struct { + // The unique identifier for this image. + ID *string `json:"id,omitempty"` + + // The CRN for this image. + CRN *string `json:"crn,omitempty"` + + // The URL for this image. + Href *string `json:"href,omitempty"` +} + +func (*ImageIdentity) isaImageIdentity() bool { + return true +} + +type ImageIdentityIntf interface { + isaImageIdentity() bool +} + +// UnmarshalImageIdentity unmarshals an instance of ImageIdentity from the specified map of raw messages. +func UnmarshalImageIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageInstanceProfileCollection : ImageInstanceProfileCollection struct +type ImageInstanceProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of instance profiles compatible with the image. + InstanceProfiles []InstanceProfileReference `json:"instance_profiles" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalImageInstanceProfileCollection unmarshals an instance of ImageInstanceProfileCollection from the specified map of raw messages. +func UnmarshalImageInstanceProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageInstanceProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_profiles", &obj.InstanceProfiles, UnmarshalInstanceProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ImageInstanceProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ImagePatch : ImagePatch struct +type ImagePatch struct { + // The usage constraints to be matched against the requested instance or bare metal server + // properties to determine compatibility. + AllowedUse *ImageAllowedUsePatch `json:"allowed_use,omitempty"` + + // The deprecation date and time to set for this image. + // + // This cannot be set if the image has a `status` of `failed` or `deleting`, or if + // `catalog_offering.managed` is `true`. + // + // The date and time must not be in the past, and must be earlier than `obsolescence_at` + // (if `obsolescence_at` is set). Additionally, if the image status is currently + // `deprecated`, the value cannot be changed (but may be removed). + // + // Specify `null` to remove an existing deprecation date and time. If the image status is currently `deprecated`, it + // will become `available`. + // + // If the deprecation date and time is reached while the image has a status of `pending`, the image's status will + // transition to `deprecated` upon its successful creation (or + // `obsolete` if the obsolescence date and time was also reached). + DeprecationAt *strfmt.DateTime `json:"deprecation_at,omitempty"` + + // The name for this image. The name must not be used by another image in the region. Names starting with `ibm-` are + // reserved for system-provided images, and are not allowed. + Name *string `json:"name,omitempty"` + + // The obsolescence date and time to set for this image. + // + // This cannot be set if the image has a `status` of `failed` or `deleting`, or if + // `catalog_offering.managed` is `true`. + // + // The date and time must not be in the past, and must be later than `deprecation_at` (if + // `deprecation_at` is set). Additionally, if the image status is currently `obsolete`, the value cannot be changed + // (but may be removed). + // + // Specify `null` to remove an existing obsolescence date and time. If the image status is currently `obsolete`, it + // will become `deprecated` if `deprecation_at` is in the past. Otherwise, it will become `available`. + // + // If the obsolescence date and time is reached while the image has a status of `pending`, the image's status will + // transition to `obsolete` upon its successful creation. + ObsolescenceAt *strfmt.DateTime `json:"obsolescence_at,omitempty"` +} + +// UnmarshalImagePatch unmarshals an instance of ImagePatch from the specified map of raw messages. +func UnmarshalImagePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImagePatch) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalImageAllowedUsePatch) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deprecation_at", &obj.DeprecationAt) + if err != nil { + err = core.SDKErrorf(err, "", "deprecation_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "obsolescence_at", &obj.ObsolescenceAt) + if err != nil { + err = core.SDKErrorf(err, "", "obsolescence_at-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ImagePatch +func (imagePatch *ImagePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(imagePatch.AllowedUse) { + _patch["allowed_use"] = imagePatch.AllowedUse.asPatch() + } + if !core.IsNil(imagePatch.DeprecationAt) { + _patch["deprecation_at"] = imagePatch.DeprecationAt + } + if !core.IsNil(imagePatch.Name) { + _patch["name"] = imagePatch.Name + } + if !core.IsNil(imagePatch.ObsolescenceAt) { + _patch["obsolescence_at"] = imagePatch.ObsolescenceAt + } + + return +} + +// ImagePrototype : ImagePrototype struct +// Models which "extend" this model: +// - ImagePrototypeImageByFile +// - ImagePrototypeImageBySourceVolume +type ImagePrototype struct { + // The usage constraints to match against the requested instance or bare metal server + // properties to determine compatibility. + AllowedUse *ImageAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The deprecation date and time to set for this image. + // + // The date and time must not be in the past, and must be earlier than `obsolescence_at` + // (if `obsolescence_at` is set). + // + // If unspecified, no deprecation date and time will be set. + // + // If the deprecation date and time is reached while the image has a status of `pending`, the image's status will + // transition to `deprecated` upon its successful creation (or + // `obsolete` if the obsolescence date and time was also reached). + DeprecationAt *strfmt.DateTime `json:"deprecation_at,omitempty"` + + // The name for this image. The name must not be used by another image in the region. Names starting with `ibm-` are + // reserved for system-provided images, and are not allowed. If unspecified, the name will be a hyphenated list of + // randomly-selected words. + Name *string `json:"name,omitempty"` + + // The obsolescence date and time to set for this image. + // + // The date and time must not be in the past, and must be later than `deprecation_at` (if + // `deprecation_at` is set). + // + // If unspecified, no obsolescence date and time will be set. + // + // If the obsolescence date and time is reached while the image has a status of + // `pending`, the image's status will transition to `obsolete` upon its successful creation. + ObsolescenceAt *strfmt.DateTime `json:"obsolescence_at,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image. + // + // That representation is created by wrapping the key's value with the `encryption_key` root key (which must also be + // specified), using either [Key Protect](https://cloud.ibm.com/docs/key-protect?topic=key-protect-wrap-keys) or the + // [Hyper Protect Crypto Services](https://cloud.ibm.com/docs/services/hs-crypto?topic=hs-crypto-wrap-keys). + // + // If unspecified, the imported image is treated as unencrypted. + EncryptedDataKey *string `json:"encrypted_data_key,omitempty"` + + // The root key that was used to wrap the data key (which is ultimately represented as + // `encrypted_data_key`). Additionally, the root key will be used to encrypt volumes + // created from this image (unless an alternate `encryption_key` is specified at volume + // creation). + // + // If unspecified, the imported image is treated as unencrypted. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The file from which to create the image. + File *ImageFilePrototype `json:"file,omitempty"` + + // The [supported operating + // system](https://cloud.ibm.com/apidocs/vpc#list-operating-systems) included in this + // image. + OperatingSystem OperatingSystemIdentityIntf `json:"operating_system,omitempty"` + + // The volume from which to create the image. The specified volume must: + // - Have an `operating_system`, which will be used to populate this image's + // operating system information. + // - Not be `active` or `busy`. + // + // During image creation, the specified volume may briefly become `busy`. + SourceVolume VolumeIdentityIntf `json:"source_volume,omitempty"` +} + +func (*ImagePrototype) isaImagePrototype() bool { + return true +} + +type ImagePrototypeIntf interface { + isaImagePrototype() bool +} + +// UnmarshalImagePrototype unmarshals an instance of ImagePrototype from the specified map of raw messages. +func UnmarshalImagePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImagePrototype) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalImageAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deprecation_at", &obj.DeprecationAt) + if err != nil { + err = core.SDKErrorf(err, "", "deprecation_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "obsolescence_at", &obj.ObsolescenceAt) + if err != nil { + err = core.SDKErrorf(err, "", "obsolescence_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encrypted_data_key", &obj.EncryptedDataKey) + if err != nil { + err = core.SDKErrorf(err, "", "encrypted_data_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "file", &obj.File, UnmarshalImageFilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "file-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "operating_system", &obj.OperatingSystem, UnmarshalOperatingSystemIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "operating_system-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_volume", &obj.SourceVolume, UnmarshalVolumeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageReference : ImageReference struct +type ImageReference struct { + // The CRN for this image. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this image. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this image. + ID *string `json:"id" validate:"required"` + + // The name for this image. The name is unique across all images in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *ImageRemoteContextImageReference `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ImageReference.ResourceType property. +// The resource type. +const ( + ImageReferenceResourceTypeImageConst = "image" +) + +// UnmarshalImageReference unmarshals an instance of ImageReference from the specified map of raw messages. +func UnmarshalImageReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalImageRemoteContextImageReference) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageRemote : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type ImageRemote struct { + // If present, this property indicates that the referenced resource is remote to this + // account, and identifies the owning account. + Account *AccountReference `json:"account,omitempty"` +} + +// UnmarshalImageRemote unmarshals an instance of ImageRemote from the specified map of raw messages. +func UnmarshalImageRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageRemote) + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageRemoteContextImageReference : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type ImageRemoteContextImageReference struct { + // If present, this property indicates that the referenced resource is remote to this + // account, and identifies the owning account. + Account *AccountReference `json:"account,omitempty"` + + // If present, this property indicates that the referenced resource is remote to this + // region, and identifies the native region. + Region *RegionReference `json:"region,omitempty"` +} + +// UnmarshalImageRemoteContextImageReference unmarshals an instance of ImageRemoteContextImageReference from the specified map of raw messages. +func UnmarshalImageRemoteContextImageReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageRemoteContextImageReference) + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageStatusReason : ImageStatusReason struct +type ImageStatusReason struct { + // A reason code for the status: + // - `encrypted_data_key_invalid`: image cannot be decrypted with the specified + // `encryption_key` + // - `encryption_key_deleted`: image unusable because its `encryption_key` was deleted + // - `encryption_key_disabled`: image unusable until its `encryption_key` is re-enabled + // - `image_data_corrupted`: image data is corrupt, or is not in the specified format + // - `image_provisioned_size_unsupported`: image requires a boot volume size greater + // than the maximum supported value + // - `image_request_in_progress`: image operation is in progress (such as an import from + // Cloud Object Storage) + // - `image_request_queued`: image request has been accepted but the requested + // operation has not started + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ImageStatusReason.Code property. +// A reason code for the status: +// - `encrypted_data_key_invalid`: image cannot be decrypted with the specified +// `encryption_key` +// - `encryption_key_deleted`: image unusable because its `encryption_key` was deleted +// - `encryption_key_disabled`: image unusable until its `encryption_key` is re-enabled +// - `image_data_corrupted`: image data is corrupt, or is not in the specified format +// - `image_provisioned_size_unsupported`: image requires a boot volume size greater +// than the maximum supported value +// - `image_request_in_progress`: image operation is in progress (such as an import from +// Cloud Object Storage) +// - `image_request_queued`: image request has been accepted but the requested +// operation has not started +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ImageStatusReasonCodeEncryptedDataKeyInvalidConst = "encrypted_data_key_invalid" + ImageStatusReasonCodeEncryptionKeyDeletedConst = "encryption_key_deleted" + ImageStatusReasonCodeEncryptionKeyDisabledConst = "encryption_key_disabled" + ImageStatusReasonCodeImageDataCorruptedConst = "image_data_corrupted" + ImageStatusReasonCodeImageProvisionedSizeUnsupportedConst = "image_provisioned_size_unsupported" + ImageStatusReasonCodeImageRequestInProgressConst = "image_request_in_progress" + ImageStatusReasonCodeImageRequestQueuedConst = "image_request_queued" +) + +// UnmarshalImageStatusReason unmarshals an instance of ImageStatusReason from the specified map of raw messages. +func UnmarshalImageStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Instance : Instance struct +type Instance struct { + // The availability policy for this virtual server instance. + AvailabilityPolicy *InstanceAvailabilityPolicy `json:"availability_policy" validate:"required"` + + // The total bandwidth (in megabits per second) shared across the instance network attachments or instance network + // interfaces and storage volumes of the virtual server instance. + Bandwidth *int64 `json:"bandwidth" validate:"required"` + + // The boot volume attachment for this virtual server instance. + BootVolumeAttachment *VolumeAttachmentReferenceInstanceContext `json:"boot_volume_attachment" validate:"required"` + + // If present, this virtual server instance was provisioned from a + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user). + CatalogOffering *InstanceCatalogOffering `json:"catalog_offering,omitempty"` + + // If present, the cluster network that this virtual server instance resides in. + ClusterNetwork *ClusterNetworkReference `json:"cluster_network,omitempty"` + + // The cluster network attachments for this virtual server instance. + // + // The cluster network attachments are ordered for consistent instance configuration. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentReference `json:"cluster_network_attachments" validate:"required"` + + // The confidential compute mode for this virtual server instance. + ConfidentialComputeMode *string `json:"confidential_compute_mode" validate:"required"` + + // The date and time that the virtual server instance was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this virtual server instance. + CRN *string `json:"crn" validate:"required"` + + // If present, the dedicated host this virtual server instance has been placed on. + DedicatedHost *DedicatedHostReference `json:"dedicated_host,omitempty"` + + // The instance disks for this virtual server instance. + Disks []InstanceDisk `json:"disks" validate:"required"` + + // Indicates whether secure boot is enabled for this virtual server instance. + EnableSecureBoot *bool `json:"enable_secure_boot" validate:"required"` + + // The virtual server instance GPU configuration. + Gpu *InstanceGpu `json:"gpu,omitempty"` + + // The reasons for the current `health_state` (if any). + HealthReasons []InstanceHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this virtual server instance. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual server instance. + ID *string `json:"id" validate:"required"` + + // The image the virtual server instance was provisioned from. + Image *ImageReference `json:"image,omitempty"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []InstanceLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the virtual server instance. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The amount of memory, truncated to whole gibibytes. + // + // The maximum limit for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Memory *int64 `json:"memory" validate:"required"` + + // The metadata service configuration. + MetadataService *InstanceMetadataService `json:"metadata_service" validate:"required"` + + // The name for this virtual server instance. The name is unique across all virtual server instances in the region. + Name *string `json:"name" validate:"required"` + + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments []InstanceNetworkAttachmentReference `json:"network_attachments" validate:"required"` + + // The network interfaces for this instance, including the primary network interface. + // + // If this instance has network attachments, each network interface is a [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network + // attachment and its attached virtual network interface. + NetworkInterfaces []NetworkInterfaceInstanceContextReference `json:"network_interfaces" validate:"required"` + + // The number of NUMA nodes this virtual server instance is provisioned on. + // + // This property will be absent if the instance's `status` is not `running`. + NumaCount *int64 `json:"numa_count,omitempty"` + + // The placement restrictions for the virtual server instance. + PlacementTarget InstancePlacementTargetIntf `json:"placement_target,omitempty"` + + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentReference `json:"primary_network_attachment,omitempty"` + + // The primary network interface for this virtual server instance. + // + // If this instance has network attachments, this primary network interface is a + // [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) + // of the primary network attachment and its attached virtual network interface. + PrimaryNetworkInterface *NetworkInterfaceInstanceContextReference `json:"primary_network_interface" validate:"required"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) for this virtual + // server instance. + Profile *InstanceProfileReference `json:"profile" validate:"required"` + + // The reservation used by this virtual server instance. + // + // If absent, no reservation is in use. + Reservation *ReservationReference `json:"reservation,omitempty"` + + ReservationAffinity *InstanceReservationAffinity `json:"reservation_affinity" validate:"required"` + + // The resource group for this instance. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // Indicates whether the state of the virtual server instance permits a start request. + Startable *bool `json:"startable" validate:"required"` + + // The status of the virtual server instance. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []InstanceStatusReason `json:"status_reasons" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance network attachments or instance + // network interfaces. + TotalNetworkBandwidth *int64 `json:"total_network_bandwidth" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth" validate:"required"` + + // The virtual server instance VCPU configuration. + Vcpu *InstanceVcpu `json:"vcpu" validate:"required"` + + // The volume attachments for this virtual server instance, including the boot volume attachment. + VolumeAttachments []VolumeAttachmentReferenceInstanceContext `json:"volume_attachments" validate:"required"` + + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode" validate:"required"` + + // The VPC this virtual server instance resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The zone this virtual server instance resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the Instance.ConfidentialComputeMode property. +// The confidential compute mode for this virtual server instance. +const ( + InstanceConfidentialComputeModeDisabledConst = "disabled" + InstanceConfidentialComputeModeSgxConst = "sgx" + InstanceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the Instance.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + InstanceHealthStateDegradedConst = "degraded" + InstanceHealthStateFaultedConst = "faulted" + InstanceHealthStateInapplicableConst = "inapplicable" + InstanceHealthStateOkConst = "ok" +) + +// Constants associated with the Instance.LifecycleState property. +// The lifecycle state of the virtual server instance. +const ( + InstanceLifecycleStateDeletingConst = "deleting" + InstanceLifecycleStateFailedConst = "failed" + InstanceLifecycleStatePendingConst = "pending" + InstanceLifecycleStateStableConst = "stable" + InstanceLifecycleStateSuspendedConst = "suspended" + InstanceLifecycleStateUpdatingConst = "updating" + InstanceLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the Instance.ResourceType property. +// The resource type. +const ( + InstanceResourceTypeInstanceConst = "instance" +) + +// Constants associated with the Instance.Status property. +// The status of the virtual server instance. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceStatusDeletingConst = "deleting" + InstanceStatusFailedConst = "failed" + InstanceStatusPendingConst = "pending" + InstanceStatusRestartingConst = "restarting" + InstanceStatusRunningConst = "running" + InstanceStatusStartingConst = "starting" + InstanceStatusStoppedConst = "stopped" + InstanceStatusStoppingConst = "stopping" +) + +// Constants associated with the Instance.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode for this virtual server instance. +const ( + InstanceVolumeBandwidthQosModePooledConst = "pooled" + InstanceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// UnmarshalInstance unmarshals an instance of Instance from the specified map of raw messages. +func UnmarshalInstance(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Instance) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentReferenceInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOffering) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network", &obj.ClusterNetwork, UnmarshalClusterNetworkReference) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentReference) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dedicated_host", &obj.DedicatedHost, UnmarshalDedicatedHostReference) + if err != nil { + err = core.SDKErrorf(err, "", "dedicated_host-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalInstanceDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "gpu", &obj.Gpu, UnmarshalInstanceGpu) + if err != nil { + err = core.SDKErrorf(err, "", "gpu-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalInstanceHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageReference) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalInstanceLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "memory", &obj.Memory) + if err != nil { + err = core.SDKErrorf(err, "", "memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataService) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentReference) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfaceInstanceContextReference) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "numa_count", &obj.NumaCount) + if err != nil { + err = core.SDKErrorf(err, "", "numa_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTarget) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfaceInstanceContextReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation", &obj.Reservation, UnmarshalReservationReference) + if err != nil { + err = core.SDKErrorf(err, "", "reservation-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinity) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "startable", &obj.Startable) + if err != nil { + err = core.SDKErrorf(err, "", "startable-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalInstanceStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_network_bandwidth", &obj.TotalNetworkBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_network_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vcpu", &obj.Vcpu, UnmarshalInstanceVcpu) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentReferenceInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceAction : InstanceAction struct +type InstanceAction struct { + // The date and time that the action was completed. + // Deprecated: this field is deprecated and may be removed in a future release. + CompletedAt *strfmt.DateTime `json:"completed_at,omitempty"` + + // The date and time that the action was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + Force *bool `json:"force,omitempty"` + + // The URL for this instance action. + // Deprecated: this field is deprecated and may be removed in a future release. + Href *string `json:"href" validate:"required"` + + // The identifier for this instance action. + // Deprecated: this field is deprecated and may be removed in a future release. + ID *string `json:"id" validate:"required"` + + // The date and time that the action was started. + // Deprecated: this field is deprecated and may be removed in a future release. + StartedAt *strfmt.DateTime `json:"started_at,omitempty"` + + // The current status of this action. + // Deprecated: this field is deprecated and may be removed in a future release. + Status *string `json:"status" validate:"required"` + + // The type of action. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceAction.Status property. +// The current status of this action. +const ( + InstanceActionStatusCompletedConst = "completed" + InstanceActionStatusFailedConst = "failed" + InstanceActionStatusPendingConst = "pending" + InstanceActionStatusRunningConst = "running" +) + +// Constants associated with the InstanceAction.Type property. +// The type of action. +const ( + InstanceActionTypeRebootConst = "reboot" + InstanceActionTypeStartConst = "start" + InstanceActionTypeStopConst = "stop" +) + +// UnmarshalInstanceAction unmarshals an instance of InstanceAction from the specified map of raw messages. +func UnmarshalInstanceAction(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceAction) + err = core.UnmarshalPrimitive(m, "completed_at", &obj.CompletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "completed_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "force", &obj.Force) + if err != nil { + err = core.SDKErrorf(err, "", "force-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "started_at", &obj.StartedAt) + if err != nil { + err = core.SDKErrorf(err, "", "started_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceAvailabilityPolicy : The availability policy for this virtual server instance. +type InstanceAvailabilityPolicy struct { + // The action to perform if the compute host experiences a failure: + // - `restart`: Restart the virtual server instance + // - `stop`: Leave the virtual server instance stopped + // + // See [handling host failures](https://cloud.ibm.com/docs/vpc?topic=vpc-host-failure-recovery-policies) for details. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + HostFailure *string `json:"host_failure" validate:"required"` +} + +// Constants associated with the InstanceAvailabilityPolicy.HostFailure property. +// The action to perform if the compute host experiences a failure: +// - `restart`: Restart the virtual server instance +// - `stop`: Leave the virtual server instance stopped +// +// See [handling host failures](https://cloud.ibm.com/docs/vpc?topic=vpc-host-failure-recovery-policies) for details. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceAvailabilityPolicyHostFailureRestartConst = "restart" + InstanceAvailabilityPolicyHostFailureStopConst = "stop" +) + +// UnmarshalInstanceAvailabilityPolicy unmarshals an instance of InstanceAvailabilityPolicy from the specified map of raw messages. +func UnmarshalInstanceAvailabilityPolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceAvailabilityPolicy) + err = core.UnmarshalPrimitive(m, "host_failure", &obj.HostFailure) + if err != nil { + err = core.SDKErrorf(err, "", "host_failure-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceAvailabilityPolicyPatch : InstanceAvailabilityPolicyPatch struct +type InstanceAvailabilityPolicyPatch struct { + // The action to perform if the compute host experiences a failure: + // - `restart`: Restart the virtual server instance + // - `stop`: Leave the virtual server instance stopped. + HostFailure *string `json:"host_failure,omitempty"` +} + +// Constants associated with the InstanceAvailabilityPolicyPatch.HostFailure property. +// The action to perform if the compute host experiences a failure: +// - `restart`: Restart the virtual server instance +// - `stop`: Leave the virtual server instance stopped. +const ( + InstanceAvailabilityPolicyPatchHostFailureRestartConst = "restart" + InstanceAvailabilityPolicyPatchHostFailureStopConst = "stop" +) + +// UnmarshalInstanceAvailabilityPolicyPatch unmarshals an instance of InstanceAvailabilityPolicyPatch from the specified map of raw messages. +func UnmarshalInstanceAvailabilityPolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceAvailabilityPolicyPatch) + err = core.UnmarshalPrimitive(m, "host_failure", &obj.HostFailure) + if err != nil { + err = core.SDKErrorf(err, "", "host_failure-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceAvailabilityPolicyPatch +func (instanceAvailabilityPolicyPatch *InstanceAvailabilityPolicyPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceAvailabilityPolicyPatch.HostFailure) { + _patch["host_failure"] = instanceAvailabilityPolicyPatch.HostFailure + } + + return +} + +// InstanceAvailabilityPolicyPrototype : The availability policy to use for this virtual server instance. +type InstanceAvailabilityPolicyPrototype struct { + // The action to perform if the compute host experiences a failure: + // - `restart`: Restart the virtual server instance + // - `stop`: Leave the virtual server instance stopped + // + // See [handling host failures](https://cloud.ibm.com/docs/vpc?topic=vpc-host-failure-recovery-policies) for details. + HostFailure *string `json:"host_failure,omitempty"` +} + +// Constants associated with the InstanceAvailabilityPolicyPrototype.HostFailure property. +// The action to perform if the compute host experiences a failure: +// - `restart`: Restart the virtual server instance +// - `stop`: Leave the virtual server instance stopped +// +// See [handling host failures](https://cloud.ibm.com/docs/vpc?topic=vpc-host-failure-recovery-policies) for details. +const ( + InstanceAvailabilityPolicyPrototypeHostFailureRestartConst = "restart" + InstanceAvailabilityPolicyPrototypeHostFailureStopConst = "stop" +) + +// UnmarshalInstanceAvailabilityPolicyPrototype unmarshals an instance of InstanceAvailabilityPolicyPrototype from the specified map of raw messages. +func UnmarshalInstanceAvailabilityPolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceAvailabilityPolicyPrototype) + err = core.UnmarshalPrimitive(m, "host_failure", &obj.HostFailure) + if err != nil { + err = core.SDKErrorf(err, "", "host_failure-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceCatalogOffering : InstanceCatalogOffering struct +type InstanceCatalogOffering struct { + // The billing plan used for the catalog offering version. + // + // If absent, no billing plan is in use (free). + Plan *CatalogOfferingVersionPlanReference `json:"plan,omitempty"` + + // The catalog offering version this virtual server instance was provisioned from. + // + // The catalog offering version is not managed by the IBM VPC service, and may no longer + // exist, or may refer to a different image CRN than the `image.crn` for this virtual + // server instance. However, all images associated with a catalog offering version will + // have the same checksum, and therefore will have the same data. + Version *CatalogOfferingVersionReference `json:"version" validate:"required"` +} + +// UnmarshalInstanceCatalogOffering unmarshals an instance of InstanceCatalogOffering from the specified map of raw messages. +func UnmarshalInstanceCatalogOffering(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceCatalogOffering) + err = core.UnmarshalModel(m, "plan", &obj.Plan, UnmarshalCatalogOfferingVersionPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "version", &obj.Version, UnmarshalCatalogOfferingVersionReference) + if err != nil { + err = core.SDKErrorf(err, "", "version-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceCatalogOfferingPrototype : The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering or offering version to use +// when provisioning this virtual server instance. +// +// If an offering is specified, the latest version of that offering will be used. +// +// The specified offering or offering version may be in a different account, subject to IAM policies. +// Models which "extend" this model: +// - InstanceCatalogOfferingPrototypeCatalogOfferingByOffering +// - InstanceCatalogOfferingPrototypeCatalogOfferingByVersion +type InstanceCatalogOfferingPrototype struct { + // The billing plan to use for the catalog offering version. If unspecified, no billing + // plan will be used (free). Must be specified for catalog offering versions that require + // a billing plan to be used. + Plan CatalogOfferingVersionPlanIdentityIntf `json:"plan,omitempty"` + + // Identifies a [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering by a unique property. + Offering CatalogOfferingIdentityIntf `json:"offering,omitempty"` + + // Identifies a version of a + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering by a + // unique property. + Version CatalogOfferingVersionIdentityIntf `json:"version,omitempty"` +} + +func (*InstanceCatalogOfferingPrototype) isaInstanceCatalogOfferingPrototype() bool { + return true +} + +type InstanceCatalogOfferingPrototypeIntf interface { + isaInstanceCatalogOfferingPrototype() bool +} + +// UnmarshalInstanceCatalogOfferingPrototype unmarshals an instance of InstanceCatalogOfferingPrototype from the specified map of raw messages. +func UnmarshalInstanceCatalogOfferingPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceCatalogOfferingPrototype) + err = core.UnmarshalModel(m, "plan", &obj.Plan, UnmarshalCatalogOfferingVersionPlanIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "offering", &obj.Offering, UnmarshalCatalogOfferingIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "version", &obj.Version, UnmarshalCatalogOfferingVersionIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "version-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachment : InstanceClusterNetworkAttachment struct +type InstanceClusterNetworkAttachment struct { + // The instance cluster network attachment that is immediately before. If absent, this is the + // last instance cluster network attachment. + Before *InstanceClusterNetworkAttachmentBefore `json:"before,omitempty"` + + // The cluster network interface for this instance cluster network attachment. + ClusterNetworkInterface *ClusterNetworkInterfaceReference `json:"cluster_network_interface" validate:"required"` + + // The URL for this instance cluster network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance cluster network attachment. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []InstanceClusterNetworkAttachmentLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the instance cluster network attachment. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this instance cluster network attachment. The name is unique across all network attachments for the + // instance. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstanceClusterNetworkAttachment.LifecycleState property. +// The lifecycle state of the instance cluster network attachment. +const ( + InstanceClusterNetworkAttachmentLifecycleStateDeletingConst = "deleting" + InstanceClusterNetworkAttachmentLifecycleStateFailedConst = "failed" + InstanceClusterNetworkAttachmentLifecycleStatePendingConst = "pending" + InstanceClusterNetworkAttachmentLifecycleStateStableConst = "stable" + InstanceClusterNetworkAttachmentLifecycleStateSuspendedConst = "suspended" + InstanceClusterNetworkAttachmentLifecycleStateUpdatingConst = "updating" + InstanceClusterNetworkAttachmentLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the InstanceClusterNetworkAttachment.ResourceType property. +// The resource type. +const ( + InstanceClusterNetworkAttachmentResourceTypeInstanceClusterNetworkAttachmentConst = "instance_cluster_network_attachment" +) + +// UnmarshalInstanceClusterNetworkAttachment unmarshals an instance of InstanceClusterNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachment) + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalInstanceClusterNetworkAttachmentBefore) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_interface", &obj.ClusterNetworkInterface, UnmarshalClusterNetworkInterfaceReference) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalInstanceClusterNetworkAttachmentLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentBefore : The instance cluster network attachment that is immediately before. If absent, this is the last instance cluster +// network attachment. +type InstanceClusterNetworkAttachmentBefore struct { + // The URL for this instance cluster network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance cluster network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance cluster network attachment. The name is unique across all network attachments for the + // instance. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstanceClusterNetworkAttachmentBefore.ResourceType property. +// The resource type. +const ( + InstanceClusterNetworkAttachmentBeforeResourceTypeInstanceClusterNetworkAttachmentConst = "instance_cluster_network_attachment" +) + +// UnmarshalInstanceClusterNetworkAttachmentBefore unmarshals an instance of InstanceClusterNetworkAttachmentBefore from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentBefore(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentBefore) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentBeforePrototype : The instance cluster network attachment to insert this instance cluster network attachment immediately before. +// +// If unspecified, this instance cluster network attachment will be inserted after all existing instance cluster network +// attachments. +// Models which "extend" this model: +// - InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID +// - InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref +type InstanceClusterNetworkAttachmentBeforePrototype struct { + // The unique identifier for this instance cluster network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this instance cluster network attachment. + Href *string `json:"href,omitempty"` +} + +func (*InstanceClusterNetworkAttachmentBeforePrototype) isaInstanceClusterNetworkAttachmentBeforePrototype() bool { + return true +} + +type InstanceClusterNetworkAttachmentBeforePrototypeIntf interface { + isaInstanceClusterNetworkAttachmentBeforePrototype() bool +} + +// UnmarshalInstanceClusterNetworkAttachmentBeforePrototype unmarshals an instance of InstanceClusterNetworkAttachmentBeforePrototype from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentBeforePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentBeforePrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentCollection : InstanceClusterNetworkAttachmentCollection struct +type InstanceClusterNetworkAttachmentCollection struct { + // A page of ordered cluster network attachments (sorted based on the `before` property) for the instance. A cluster + // network attachment represents a device to which a cluster network interface is attached. + ClusterNetworkAttachments []InstanceClusterNetworkAttachment `json:"cluster_network_attachments" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalInstanceClusterNetworkAttachmentCollection unmarshals an instance of InstanceClusterNetworkAttachmentCollection from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentCollection) + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *InstanceClusterNetworkAttachmentCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// InstanceClusterNetworkAttachmentLifecycleReason : InstanceClusterNetworkAttachmentLifecycleReason struct +type InstanceClusterNetworkAttachmentLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the InstanceClusterNetworkAttachmentLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceClusterNetworkAttachmentLifecycleReasonCodeInternalErrorConst = "internal_error" + InstanceClusterNetworkAttachmentLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalInstanceClusterNetworkAttachmentLifecycleReason unmarshals an instance of InstanceClusterNetworkAttachmentLifecycleReason from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentPatch : InstanceClusterNetworkAttachmentPatch struct +type InstanceClusterNetworkAttachmentPatch struct { + // The name for this network attachment. The name must not be used by another network attachment for the instance. + // Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` +} + +// UnmarshalInstanceClusterNetworkAttachmentPatch unmarshals an instance of InstanceClusterNetworkAttachmentPatch from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceClusterNetworkAttachmentPatch +func (instanceClusterNetworkAttachmentPatch *InstanceClusterNetworkAttachmentPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceClusterNetworkAttachmentPatch.Name) { + _patch["name"] = instanceClusterNetworkAttachmentPatch.Name + } + + return +} + +// InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface : A cluster network interface for the instance cluster network attachment. This can be specified using an existing +// cluster network interface that does not already have a +// `target`, or a prototype object for a new cluster network interface. +// +// This instance must reside in the same VPC as the specified cluster network interface. The cluster network interface +// must reside in the same cluster network as the +// `cluster_network_interface` of any other `cluster_network_attachments` for this instance. +// Models which "extend" this model: +// - InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceInstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment +// - InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity +type InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. + // Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the cluster network interface. May be either + // a cluster network subnet reserved IP identity, or a cluster network subnet reserved IP + // prototype object which will be used to create a new cluster network subnet reserved IP. + // + // If a cluster network subnet reserved IP identity is provided, the specified cluster + // network subnet reserved IP must be unbound. + // + // If a cluster network subnet reserved IP prototype object with an address is provided, + // the address must be available on the cluster network interface's cluster network + // subnet. If no address is specified, an available address on the cluster network subnet + // will be automatically selected and reserved. + PrimaryIP ClusterNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The associated cluster network subnet. Required if `primary_ip` does not specify a + // cluster network subnet reserved IP identity. + Subnet ClusterNetworkSubnetIdentityIntf `json:"subnet,omitempty"` + + // The unique identifier for this cluster network interface. + ID *string `json:"id,omitempty"` + + // The URL for this cluster network interface. + Href *string `json:"href,omitempty"` +} + +func (*InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface) isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface() bool { + return true +} + +type InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceIntf interface { + isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface() bool +} + +// UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface unmarshals an instance of InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalClusterNetworkInterfacePrimaryIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalClusterNetworkSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentPrototypeInstanceContext : InstanceClusterNetworkAttachmentPrototypeInstanceContext struct +type InstanceClusterNetworkAttachmentPrototypeInstanceContext struct { + // A cluster network interface for the instance cluster network attachment. This can be + // specified using an existing cluster network interface that does not already have a + // `target`, or a prototype object for a new cluster network interface. + // + // This instance must reside in the same VPC as the specified cluster network interface. The + // cluster network interface must reside in the same cluster network as the + // `cluster_network_interface` of any other `cluster_network_attachments` for this instance. + ClusterNetworkInterface InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceIntf `json:"cluster_network_interface" validate:"required"` + + // The name for this cluster network attachment. Names must be unique within the instance the cluster network + // attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting + // with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` +} + +// NewInstanceClusterNetworkAttachmentPrototypeInstanceContext : Instantiate InstanceClusterNetworkAttachmentPrototypeInstanceContext (Generic Model Constructor) +func (*VpcV1) NewInstanceClusterNetworkAttachmentPrototypeInstanceContext(clusterNetworkInterface InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceIntf) (_model *InstanceClusterNetworkAttachmentPrototypeInstanceContext, err error) { + _model = &InstanceClusterNetworkAttachmentPrototypeInstanceContext{ + ClusterNetworkInterface: clusterNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext unmarshals an instance of InstanceClusterNetworkAttachmentPrototypeInstanceContext from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentPrototypeInstanceContext) + err = core.UnmarshalModel(m, "cluster_network_interface", &obj.ClusterNetworkInterface, UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentReference : InstanceClusterNetworkAttachmentReference struct +type InstanceClusterNetworkAttachmentReference struct { + // The URL for this instance cluster network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance cluster network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance cluster network attachment. The name is unique across all network attachments for the + // instance. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstanceClusterNetworkAttachmentReference.ResourceType property. +// The resource type. +const ( + InstanceClusterNetworkAttachmentReferenceResourceTypeInstanceClusterNetworkAttachmentConst = "instance_cluster_network_attachment" +) + +// UnmarshalInstanceClusterNetworkAttachmentReference unmarshals an instance of InstanceClusterNetworkAttachmentReference from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceCollection : InstanceCollection struct +type InstanceCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of virtual server instances. + Instances []Instance `json:"instances" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalInstanceCollection unmarshals an instance of InstanceCollection from the specified map of raw messages. +func UnmarshalInstanceCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instances", &obj.Instances, UnmarshalInstance) + if err != nil { + err = core.SDKErrorf(err, "", "instances-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *InstanceCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// InstanceConsoleAccessToken : The instance console access token information. +type InstanceConsoleAccessToken struct { + // A URL safe single-use token used to access the console WebSocket. + AccessToken *string `json:"access_token" validate:"required"` + + // The instance console type for which this token may be used. + ConsoleType *string `json:"console_type" validate:"required"` + + // The date and time that the access token was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The date and time that the access token will expire. + ExpiresAt *strfmt.DateTime `json:"expires_at" validate:"required"` + + // Indicates whether to disconnect an existing serial console session as the serial console cannot be shared. This has + // no effect on VNC consoles. + Force *bool `json:"force" validate:"required"` + + // The URL to access this instance console. + Href *string `json:"href" validate:"required"` +} + +// Constants associated with the InstanceConsoleAccessToken.ConsoleType property. +// The instance console type for which this token may be used. +const ( + InstanceConsoleAccessTokenConsoleTypeSerialConst = "serial" + InstanceConsoleAccessTokenConsoleTypeVncConst = "vnc" +) + +// UnmarshalInstanceConsoleAccessToken unmarshals an instance of InstanceConsoleAccessToken from the specified map of raw messages. +func UnmarshalInstanceConsoleAccessToken(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceConsoleAccessToken) + err = core.UnmarshalPrimitive(m, "access_token", &obj.AccessToken) + if err != nil { + err = core.SDKErrorf(err, "", "access_token-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "console_type", &obj.ConsoleType) + if err != nil { + err = core.SDKErrorf(err, "", "console_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "expires_at", &obj.ExpiresAt) + if err != nil { + err = core.SDKErrorf(err, "", "expires_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "force", &obj.Force) + if err != nil { + err = core.SDKErrorf(err, "", "force-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceDefaultTrustedProfilePrototype : InstanceDefaultTrustedProfilePrototype struct +type InstanceDefaultTrustedProfilePrototype struct { + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. + // Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be + // automatically deleted when the instance is deleted. + AutoLink *bool `json:"auto_link,omitempty"` + + // The default IAM trusted profile to use for this virtual server instance. + Target TrustedProfileIdentityIntf `json:"target" validate:"required"` +} + +// NewInstanceDefaultTrustedProfilePrototype : Instantiate InstanceDefaultTrustedProfilePrototype (Generic Model Constructor) +func (*VpcV1) NewInstanceDefaultTrustedProfilePrototype(target TrustedProfileIdentityIntf) (_model *InstanceDefaultTrustedProfilePrototype, err error) { + _model = &InstanceDefaultTrustedProfilePrototype{ + Target: target, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalInstanceDefaultTrustedProfilePrototype unmarshals an instance of InstanceDefaultTrustedProfilePrototype from the specified map of raw messages. +func UnmarshalInstanceDefaultTrustedProfilePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceDefaultTrustedProfilePrototype) + err = core.UnmarshalPrimitive(m, "auto_link", &obj.AutoLink) + if err != nil { + err = core.SDKErrorf(err, "", "auto_link-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalTrustedProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceDisk : InstanceDisk struct +type InstanceDisk struct { + // The date and time that the disk was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance disk. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance disk. + ID *string `json:"id" validate:"required"` + + // The disk interface used for attaching the disk. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + InterfaceType *string `json:"interface_type" validate:"required"` + + // The name for this instance disk. The name is unique across all disks on the instance. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The size of the disk in GB (gigabytes). + Size *int64 `json:"size" validate:"required"` +} + +// Constants associated with the InstanceDisk.InterfaceType property. +// The disk interface used for attaching the disk. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceDiskInterfaceTypeNvmeConst = "nvme" + InstanceDiskInterfaceTypeVirtioBlkConst = "virtio_blk" +) + +// Constants associated with the InstanceDisk.ResourceType property. +// The resource type. +const ( + InstanceDiskResourceTypeInstanceDiskConst = "instance_disk" +) + +// UnmarshalInstanceDisk unmarshals an instance of InstanceDisk from the specified map of raw messages. +func UnmarshalInstanceDisk(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceDisk) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceDiskCollection : InstanceDiskCollection struct +type InstanceDiskCollection struct { + // The disks for the instance. + Disks []InstanceDisk `json:"disks" validate:"required"` +} + +// UnmarshalInstanceDiskCollection unmarshals an instance of InstanceDiskCollection from the specified map of raw messages. +func UnmarshalInstanceDiskCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceDiskCollection) + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalInstanceDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceDiskPatch : InstanceDiskPatch struct +type InstanceDiskPatch struct { + // The name for this instance disk. The name must not be used by another disk on the instance. + Name *string `json:"name,omitempty"` +} + +// UnmarshalInstanceDiskPatch unmarshals an instance of InstanceDiskPatch from the specified map of raw messages. +func UnmarshalInstanceDiskPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceDiskPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceDiskPatch +func (instanceDiskPatch *InstanceDiskPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceDiskPatch.Name) { + _patch["name"] = instanceDiskPatch.Name + } + + return +} + +// InstanceDiskReference : InstanceDiskReference struct +type InstanceDiskReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance disk. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance disk. + ID *string `json:"id" validate:"required"` + + // The name for this instance disk. The name is unique across all disks on the instance. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstanceDiskReference.ResourceType property. +// The resource type. +const ( + InstanceDiskReferenceResourceTypeInstanceDiskConst = "instance_disk" +) + +// UnmarshalInstanceDiskReference unmarshals an instance of InstanceDiskReference from the specified map of raw messages. +func UnmarshalInstanceDiskReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceDiskReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGpu : The virtual server instance GPU configuration. +type InstanceGpu struct { + // The number of GPUs assigned to the instance. + Count *int64 `json:"count" validate:"required"` + + // The GPU manufacturer. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Manufacturer *string `json:"manufacturer" validate:"required"` + + // The overall amount of GPU memory in GiB (gibibytes). + Memory *int64 `json:"memory" validate:"required"` + + // The GPU model. + Model *string `json:"model" validate:"required"` +} + +// Constants associated with the InstanceGpu.Manufacturer property. +// The GPU manufacturer. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGpuManufacturerAmdConst = "amd" + InstanceGpuManufacturerIntelConst = "intel" + InstanceGpuManufacturerNvidiaConst = "nvidia" +) + +// UnmarshalInstanceGpu unmarshals an instance of InstanceGpu from the specified map of raw messages. +func UnmarshalInstanceGpu(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGpu) + err = core.UnmarshalPrimitive(m, "count", &obj.Count) + if err != nil { + err = core.SDKErrorf(err, "", "count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manufacturer", &obj.Manufacturer) + if err != nil { + err = core.SDKErrorf(err, "", "manufacturer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "memory", &obj.Memory) + if err != nil { + err = core.SDKErrorf(err, "", "memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "model", &obj.Model) + if err != nil { + err = core.SDKErrorf(err, "", "model-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroup : InstanceGroup struct +type InstanceGroup struct { + // The port used for new load balancer pool members created by this instance group. + // + // This property will be present if and only if `load_balancer_pool` is present. + ApplicationPort *int64 `json:"application_port,omitempty"` + + // The date and time that the instance group was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance group. + CRN *string `json:"crn" validate:"required"` + + // The URL for this instance group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group. + ID *string `json:"id" validate:"required"` + + // The template used to create new instances for this group. + InstanceTemplate *InstanceTemplateReference `json:"instance_template" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []InstanceGroupLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the instance group. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // If present, the load balancer pool this instance group manages. A pool member will + // be created for each instance created by this group. + LoadBalancerPool *LoadBalancerPoolReference `json:"load_balancer_pool,omitempty"` + + // The managers for the instance group. + Managers []InstanceGroupManagerReference `json:"managers" validate:"required"` + + // The number of instances in the instance group. + MembershipCount *int64 `json:"membership_count" validate:"required"` + + // The name for this instance group. The name is unique across all instance groups in the region. + Name *string `json:"name" validate:"required"` + + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The status of the instance group + // - `deleting`: Group is being deleted + // - `healthy`: Group has `membership_count` instances + // - `scaling`: Instances in the group are being created or deleted to reach + // `membership_count` + // - `unhealthy`: Group is unable to reach `membership_count` instances + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The subnets to use when creating new instances. + Subnets []SubnetReference `json:"subnets" validate:"required"` + + // The date and time that the instance group was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The VPC the instance group resides in. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// Constants associated with the InstanceGroup.LifecycleState property. +// The lifecycle state of the instance group. +const ( + InstanceGroupLifecycleStateDeletingConst = "deleting" + InstanceGroupLifecycleStateFailedConst = "failed" + InstanceGroupLifecycleStatePendingConst = "pending" + InstanceGroupLifecycleStateStableConst = "stable" + InstanceGroupLifecycleStateSuspendedConst = "suspended" + InstanceGroupLifecycleStateUpdatingConst = "updating" + InstanceGroupLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the InstanceGroup.Status property. +// The status of the instance group +// - `deleting`: Group is being deleted +// - `healthy`: Group has `membership_count` instances +// - `scaling`: Instances in the group are being created or deleted to reach +// `membership_count` +// - `unhealthy`: Group is unable to reach `membership_count` instances +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupStatusDeletingConst = "deleting" + InstanceGroupStatusHealthyConst = "healthy" + InstanceGroupStatusScalingConst = "scaling" + InstanceGroupStatusUnhealthyConst = "unhealthy" +) + +// UnmarshalInstanceGroup unmarshals an instance of InstanceGroup from the specified map of raw messages. +func UnmarshalInstanceGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroup) + err = core.UnmarshalPrimitive(m, "application_port", &obj.ApplicationPort) + if err != nil { + err = core.SDKErrorf(err, "", "application_port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_template", &obj.InstanceTemplate, UnmarshalInstanceTemplateReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance_template-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalInstanceGroupLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "load_balancer_pool", &obj.LoadBalancerPool, UnmarshalLoadBalancerPoolReference) + if err != nil { + err = core.SDKErrorf(err, "", "load_balancer_pool-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "managers", &obj.Managers, UnmarshalInstanceGroupManagerReference) + if err != nil { + err = core.SDKErrorf(err, "", "managers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "membership_count", &obj.MembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupCollection : InstanceGroupCollection struct +type InstanceGroupCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of instance groups. + InstanceGroups []InstanceGroup `json:"instance_groups" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalInstanceGroupCollection unmarshals an instance of InstanceGroupCollection from the specified map of raw messages. +func UnmarshalInstanceGroupCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_groups", &obj.InstanceGroups, UnmarshalInstanceGroup) + if err != nil { + err = core.SDKErrorf(err, "", "instance_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *InstanceGroupCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// InstanceGroupLifecycleReason : InstanceGroupLifecycleReason struct +type InstanceGroupLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the InstanceGroupLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupLifecycleReasonCodeInternalErrorConst = "internal_error" + InstanceGroupLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalInstanceGroupLifecycleReason unmarshals an instance of InstanceGroupLifecycleReason from the specified map of raw messages. +func UnmarshalInstanceGroupLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManager : InstanceGroupManager struct +// Models which "extend" this model: +// - InstanceGroupManagerAutoScale +// - InstanceGroupManagerScheduled +type InstanceGroupManager struct { + // The date and time that the instance group manager was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager. + ID *string `json:"id" validate:"required"` + + // Indicates whether this manager will control the instance group. + ManagementEnabled *bool `json:"management_enabled" validate:"required"` + + // The name for this instance group manager. The name is unique across all managers for the instance group. + Name *string `json:"name" validate:"required"` + + // The date and time that the instance group manager was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The time window in seconds to aggregate metrics prior to evaluation. + AggregationWindow *int64 `json:"aggregation_window,omitempty"` + + // The duration of time in seconds to pause further scale actions after scaling has taken place. + Cooldown *int64 `json:"cooldown,omitempty"` + + // The type of instance group manager. + ManagerType *string `json:"manager_type,omitempty"` + + // The maximum number of members in a managed instance group. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The minimum number of members in a managed instance group. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` + + // The policies of the instance group manager. + Policies []InstanceGroupManagerPolicyReference `json:"policies,omitempty"` + + // The actions of the instance group manager. + Actions []InstanceGroupManagerActionReference `json:"actions,omitempty"` +} + +// Constants associated with the InstanceGroupManager.ManagerType property. +// The type of instance group manager. +const ( + InstanceGroupManagerManagerTypeAutoscaleConst = "autoscale" +) + +func (*InstanceGroupManager) isaInstanceGroupManager() bool { + return true +} + +type InstanceGroupManagerIntf interface { + isaInstanceGroupManager() bool +} + +// UnmarshalInstanceGroupManager unmarshals an instance of InstanceGroupManager from the specified map of raw messages. +func UnmarshalInstanceGroupManager(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManager) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "management_enabled", &obj.ManagementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "management_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "aggregation_window", &obj.AggregationWindow) + if err != nil { + err = core.SDKErrorf(err, "", "aggregation_window-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cooldown", &obj.Cooldown) + if err != nil { + err = core.SDKErrorf(err, "", "cooldown-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manager_type", &obj.ManagerType) + if err != nil { + err = core.SDKErrorf(err, "", "manager_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "policies", &obj.Policies, UnmarshalInstanceGroupManagerPolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "policies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "actions", &obj.Actions, UnmarshalInstanceGroupManagerActionReference) + if err != nil { + err = core.SDKErrorf(err, "", "actions-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerAction : InstanceGroupManagerAction struct +// Models which "extend" this model: +// - InstanceGroupManagerActionScheduledAction +type InstanceGroupManagerAction struct { + // Indicates whether this scheduled action will be automatically deleted after it has completed and + // `auto_delete_timeout` hours have passed. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // If `auto_delete` is `true`, and this scheduled action has finished, the hours after which it will be automatically + // deleted. If the value is `0`, the action will be deleted once it has finished. + AutoDeleteTimeout *int64 `json:"auto_delete_timeout" validate:"required"` + + // The date and time that the instance group manager action was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager action. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager action. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager action. The name is unique across all actions for the instance group + // manager. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of the instance group action + // - `active`: Action is ready to be run + // - `completed`: Action was completed successfully + // - `failed`: Action could not be completed successfully + // - `incompatible`: Action parameters are not compatible with the group or manager + // - `omitted`: Action was not applied because this action's manager was disabled + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The date and time that the instance group manager action was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The type of action for the instance group. + ActionType *string `json:"action_type,omitempty"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` + + // The date and time the scheduled action was last applied. If absent, the action has never been applied. + LastAppliedAt *strfmt.DateTime `json:"last_applied_at,omitempty"` + + // The date and time the scheduled action will next run. If absent, the system is currently calculating the next run + // time. + NextRunAt *strfmt.DateTime `json:"next_run_at,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroup `json:"group,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerIntf `json:"manager,omitempty"` +} + +// Constants associated with the InstanceGroupManagerAction.ResourceType property. +// The resource type. +const ( + InstanceGroupManagerActionResourceTypeInstanceGroupManagerActionConst = "instance_group_manager_action" +) + +// Constants associated with the InstanceGroupManagerAction.Status property. +// The status of the instance group action +// - `active`: Action is ready to be run +// - `completed`: Action was completed successfully +// - `failed`: Action could not be completed successfully +// - `incompatible`: Action parameters are not compatible with the group or manager +// - `omitted`: Action was not applied because this action's manager was disabled +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupManagerActionStatusActiveConst = "active" + InstanceGroupManagerActionStatusCompletedConst = "completed" + InstanceGroupManagerActionStatusFailedConst = "failed" + InstanceGroupManagerActionStatusIncompatibleConst = "incompatible" + InstanceGroupManagerActionStatusOmittedConst = "omitted" +) + +// Constants associated with the InstanceGroupManagerAction.ActionType property. +// The type of action for the instance group. +const ( + InstanceGroupManagerActionActionTypeScheduledConst = "scheduled" +) + +func (*InstanceGroupManagerAction) isaInstanceGroupManagerAction() bool { + return true +} + +type InstanceGroupManagerActionIntf interface { + isaInstanceGroupManagerAction() bool +} + +// UnmarshalInstanceGroupManagerAction unmarshals an instance of InstanceGroupManagerAction from the specified map of raw messages. +func UnmarshalInstanceGroupManagerAction(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerAction) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete_timeout", &obj.AutoDeleteTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "action_type", &obj.ActionType) + if err != nil { + err = core.SDKErrorf(err, "", "action_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "last_applied_at", &obj.LastAppliedAt) + if err != nil { + err = core.SDKErrorf(err, "", "last_applied_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "next_run_at", &obj.NextRunAt) + if err != nil { + err = core.SDKErrorf(err, "", "next_run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroup) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManager) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionGroupPatch : InstanceGroupManagerActionGroupPatch struct +type InstanceGroupManagerActionGroupPatch struct { + // The desired number of instance group members at the scheduled time. + MembershipCount *int64 `json:"membership_count,omitempty"` +} + +// UnmarshalInstanceGroupManagerActionGroupPatch unmarshals an instance of InstanceGroupManagerActionGroupPatch from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionGroupPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionGroupPatch) + err = core.UnmarshalPrimitive(m, "membership_count", &obj.MembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "membership_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceGroupManagerActionGroupPatch +func (instanceGroupManagerActionGroupPatch *InstanceGroupManagerActionGroupPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceGroupManagerActionGroupPatch.MembershipCount) { + _patch["membership_count"] = instanceGroupManagerActionGroupPatch.MembershipCount + } + + return +} + +// InstanceGroupManagerActionManagerPatch : InstanceGroupManagerActionManagerPatch struct +type InstanceGroupManagerActionManagerPatch struct { + // The desired maximum number of instance group members at the scheduled time. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The desired minimum number of instance group members at the scheduled time. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` +} + +// UnmarshalInstanceGroupManagerActionManagerPatch unmarshals an instance of InstanceGroupManagerActionManagerPatch from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionManagerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionManagerPatch) + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceGroupManagerActionManagerPatch +func (instanceGroupManagerActionManagerPatch *InstanceGroupManagerActionManagerPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceGroupManagerActionManagerPatch.MaxMembershipCount) { + _patch["max_membership_count"] = instanceGroupManagerActionManagerPatch.MaxMembershipCount + } + if !core.IsNil(instanceGroupManagerActionManagerPatch.MinMembershipCount) { + _patch["min_membership_count"] = instanceGroupManagerActionManagerPatch.MinMembershipCount + } + + return +} + +// InstanceGroupManagerActionPatch : InstanceGroupManagerActionPatch struct +type InstanceGroupManagerActionPatch struct { + // Indicates whether this scheduled action will be automatically deleted after it has completed and + // `auto_delete_timeout` hours have passed. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `auto_delete` is `true`, and this scheduled action has finished, the hours after which it will be automatically + // deleted. If the value is `0`, the action will be deleted once it has finished. + AutoDeleteTimeout *int64 `json:"auto_delete_timeout,omitempty"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` + + Group *InstanceGroupManagerActionGroupPatch `json:"group,omitempty"` + + Manager *InstanceGroupManagerActionManagerPatch `json:"manager,omitempty"` + + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. + Name *string `json:"name,omitempty"` + + // The date and time the scheduled action will run. + RunAt *strfmt.DateTime `json:"run_at,omitempty"` +} + +// UnmarshalInstanceGroupManagerActionPatch unmarshals an instance of InstanceGroupManagerActionPatch from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPatch) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete_timeout", &obj.AutoDeleteTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerActionGroupPatch) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerActionManagerPatch) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "run_at", &obj.RunAt) + if err != nil { + err = core.SDKErrorf(err, "", "run_at-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceGroupManagerActionPatch +func (instanceGroupManagerActionPatch *InstanceGroupManagerActionPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceGroupManagerActionPatch.AutoDelete) { + _patch["auto_delete"] = instanceGroupManagerActionPatch.AutoDelete + } + if !core.IsNil(instanceGroupManagerActionPatch.AutoDeleteTimeout) { + _patch["auto_delete_timeout"] = instanceGroupManagerActionPatch.AutoDeleteTimeout + } + if !core.IsNil(instanceGroupManagerActionPatch.CronSpec) { + _patch["cron_spec"] = instanceGroupManagerActionPatch.CronSpec + } + if !core.IsNil(instanceGroupManagerActionPatch.Group) { + _patch["group"] = instanceGroupManagerActionPatch.Group.asPatch() + } + if !core.IsNil(instanceGroupManagerActionPatch.Manager) { + _patch["manager"] = instanceGroupManagerActionPatch.Manager.asPatch() + } + if !core.IsNil(instanceGroupManagerActionPatch.Name) { + _patch["name"] = instanceGroupManagerActionPatch.Name + } + if !core.IsNil(instanceGroupManagerActionPatch.RunAt) { + _patch["run_at"] = instanceGroupManagerActionPatch.RunAt + } + + return +} + +// InstanceGroupManagerActionPrototype : InstanceGroupManagerActionPrototype struct +// Models which "extend" this model: +// - InstanceGroupManagerActionPrototypeScheduledActionPrototype +type InstanceGroupManagerActionPrototype struct { + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The date and time the scheduled action will run. + RunAt *strfmt.DateTime `json:"run_at,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroupPrototype `json:"group,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerPrototypeIntf `json:"manager,omitempty"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` +} + +func (*InstanceGroupManagerActionPrototype) isaInstanceGroupManagerActionPrototype() bool { + return true +} + +type InstanceGroupManagerActionPrototypeIntf interface { + isaInstanceGroupManagerActionPrototype() bool +} + +// UnmarshalInstanceGroupManagerActionPrototype unmarshals an instance of InstanceGroupManagerActionPrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "run_at", &obj.RunAt) + if err != nil { + err = core.SDKErrorf(err, "", "run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroupPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManagerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionReference : InstanceGroupManagerActionReference struct +type InstanceGroupManagerActionReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance group manager action. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager action. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager action. The name is unique across all actions for the instance group + // manager. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstanceGroupManagerActionReference.ResourceType property. +// The resource type. +const ( + InstanceGroupManagerActionReferenceResourceTypeInstanceGroupManagerActionConst = "instance_group_manager_action" +) + +// UnmarshalInstanceGroupManagerActionReference unmarshals an instance of InstanceGroupManagerActionReference from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionsCollection : InstanceGroupManagerActionsCollection struct +type InstanceGroupManagerActionsCollection struct { + // A page of actions for the instance group manager. + Actions []InstanceGroupManagerActionIntf `json:"actions" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalInstanceGroupManagerActionsCollection unmarshals an instance of InstanceGroupManagerActionsCollection from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionsCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionsCollection) + err = core.UnmarshalModel(m, "actions", &obj.Actions, UnmarshalInstanceGroupManagerAction) + if err != nil { + err = core.SDKErrorf(err, "", "actions-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *InstanceGroupManagerActionsCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// InstanceGroupManagerCollection : InstanceGroupManagerCollection struct +type InstanceGroupManagerCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A page of managers for the instance group. + Managers []InstanceGroupManagerIntf `json:"managers" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalInstanceGroupManagerCollection unmarshals an instance of InstanceGroupManagerCollection from the specified map of raw messages. +func UnmarshalInstanceGroupManagerCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "managers", &obj.Managers, UnmarshalInstanceGroupManager) + if err != nil { + err = core.SDKErrorf(err, "", "managers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *InstanceGroupManagerCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// InstanceGroupManagerPatch : InstanceGroupManagerPatch struct +type InstanceGroupManagerPatch struct { + // The time window in seconds to aggregate metrics prior to evaluation. + AggregationWindow *int64 `json:"aggregation_window,omitempty"` + + // The duration of time in seconds to pause further scale actions after scaling has taken place. + Cooldown *int64 `json:"cooldown,omitempty"` + + // Indicates whether this manager will control the instance group. + ManagementEnabled *bool `json:"management_enabled,omitempty"` + + // The maximum number of members in a managed instance group. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The minimum number of members in a managed instance group. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` + + // The name for this instance group manager. The name must not be used by another manager for the instance group. + Name *string `json:"name,omitempty"` +} + +// UnmarshalInstanceGroupManagerPatch unmarshals an instance of InstanceGroupManagerPatch from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPatch) + err = core.UnmarshalPrimitive(m, "aggregation_window", &obj.AggregationWindow) + if err != nil { + err = core.SDKErrorf(err, "", "aggregation_window-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cooldown", &obj.Cooldown) + if err != nil { + err = core.SDKErrorf(err, "", "cooldown-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "management_enabled", &obj.ManagementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "management_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceGroupManagerPatch +func (instanceGroupManagerPatch *InstanceGroupManagerPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceGroupManagerPatch.AggregationWindow) { + _patch["aggregation_window"] = instanceGroupManagerPatch.AggregationWindow + } + if !core.IsNil(instanceGroupManagerPatch.Cooldown) { + _patch["cooldown"] = instanceGroupManagerPatch.Cooldown + } + if !core.IsNil(instanceGroupManagerPatch.ManagementEnabled) { + _patch["management_enabled"] = instanceGroupManagerPatch.ManagementEnabled + } + if !core.IsNil(instanceGroupManagerPatch.MaxMembershipCount) { + _patch["max_membership_count"] = instanceGroupManagerPatch.MaxMembershipCount + } + if !core.IsNil(instanceGroupManagerPatch.MinMembershipCount) { + _patch["min_membership_count"] = instanceGroupManagerPatch.MinMembershipCount + } + if !core.IsNil(instanceGroupManagerPatch.Name) { + _patch["name"] = instanceGroupManagerPatch.Name + } + + return +} + +// InstanceGroupManagerPolicy : InstanceGroupManagerPolicy struct +// Models which "extend" this model: +// - InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy +type InstanceGroupManagerPolicy struct { + // The date and time that the instance group manager policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager policy. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager policy. The name is unique across all policies for the instance group + // manager. + Name *string `json:"name" validate:"required"` + + // The date and time that the instance group manager policy was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The type of metric to be evaluated + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + MetricType *string `json:"metric_type,omitempty"` + + // The metric value to be evaluated. + MetricValue *int64 `json:"metric_value,omitempty"` + + // The type of policy for the instance group + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + PolicyType *string `json:"policy_type,omitempty"` +} + +// Constants associated with the InstanceGroupManagerPolicy.MetricType property. +// The type of metric to be evaluated +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupManagerPolicyMetricTypeCpuConst = "cpu" + InstanceGroupManagerPolicyMetricTypeMemoryConst = "memory" + InstanceGroupManagerPolicyMetricTypeNetworkInConst = "network_in" + InstanceGroupManagerPolicyMetricTypeNetworkOutConst = "network_out" +) + +// Constants associated with the InstanceGroupManagerPolicy.PolicyType property. +// The type of policy for the instance group +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupManagerPolicyPolicyTypeTargetConst = "target" +) + +func (*InstanceGroupManagerPolicy) isaInstanceGroupManagerPolicy() bool { + return true +} + +type InstanceGroupManagerPolicyIntf interface { + isaInstanceGroupManagerPolicy() bool +} + +// UnmarshalInstanceGroupManagerPolicy unmarshals an instance of InstanceGroupManagerPolicy from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPolicy) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_type", &obj.MetricType) + if err != nil { + err = core.SDKErrorf(err, "", "metric_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_value", &obj.MetricValue) + if err != nil { + err = core.SDKErrorf(err, "", "metric_value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "policy_type", &obj.PolicyType) + if err != nil { + err = core.SDKErrorf(err, "", "policy_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerPolicyCollection : InstanceGroupManagerPolicyCollection struct +type InstanceGroupManagerPolicyCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of policies for the instance group manager. + Policies []InstanceGroupManagerPolicyIntf `json:"policies" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalInstanceGroupManagerPolicyCollection unmarshals an instance of InstanceGroupManagerPolicyCollection from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPolicyCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPolicyCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "policies", &obj.Policies, UnmarshalInstanceGroupManagerPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "policies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *InstanceGroupManagerPolicyCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// InstanceGroupManagerPolicyPatch : InstanceGroupManagerPolicyPatch struct +type InstanceGroupManagerPolicyPatch struct { + // The type of metric to be evaluated. + MetricType *string `json:"metric_type,omitempty"` + + // The metric value to be evaluated. + MetricValue *int64 `json:"metric_value,omitempty"` + + // The name for this instance group manager policy. The name must not be used by another policy for the instance group + // manager. + Name *string `json:"name,omitempty"` +} + +// Constants associated with the InstanceGroupManagerPolicyPatch.MetricType property. +// The type of metric to be evaluated. +const ( + InstanceGroupManagerPolicyPatchMetricTypeCpuConst = "cpu" + InstanceGroupManagerPolicyPatchMetricTypeMemoryConst = "memory" + InstanceGroupManagerPolicyPatchMetricTypeNetworkInConst = "network_in" + InstanceGroupManagerPolicyPatchMetricTypeNetworkOutConst = "network_out" +) + +// UnmarshalInstanceGroupManagerPolicyPatch unmarshals an instance of InstanceGroupManagerPolicyPatch from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPolicyPatch) + err = core.UnmarshalPrimitive(m, "metric_type", &obj.MetricType) + if err != nil { + err = core.SDKErrorf(err, "", "metric_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_value", &obj.MetricValue) + if err != nil { + err = core.SDKErrorf(err, "", "metric_value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceGroupManagerPolicyPatch +func (instanceGroupManagerPolicyPatch *InstanceGroupManagerPolicyPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceGroupManagerPolicyPatch.MetricType) { + _patch["metric_type"] = instanceGroupManagerPolicyPatch.MetricType + } + if !core.IsNil(instanceGroupManagerPolicyPatch.MetricValue) { + _patch["metric_value"] = instanceGroupManagerPolicyPatch.MetricValue + } + if !core.IsNil(instanceGroupManagerPolicyPatch.Name) { + _patch["name"] = instanceGroupManagerPolicyPatch.Name + } + + return +} + +// InstanceGroupManagerPolicyPrototype : InstanceGroupManagerPolicyPrototype struct +// Models which "extend" this model: +// - InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype +type InstanceGroupManagerPolicyPrototype struct { + // The name for this instance group manager policy. The name must not be used by another policy for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The type of metric to be evaluated. + MetricType *string `json:"metric_type,omitempty"` + + // The metric value to be evaluated. + MetricValue *int64 `json:"metric_value,omitempty"` + + // The type of policy for the instance group. + PolicyType *string `json:"policy_type,omitempty"` +} + +// Constants associated with the InstanceGroupManagerPolicyPrototype.MetricType property. +// The type of metric to be evaluated. +const ( + InstanceGroupManagerPolicyPrototypeMetricTypeCpuConst = "cpu" + InstanceGroupManagerPolicyPrototypeMetricTypeMemoryConst = "memory" + InstanceGroupManagerPolicyPrototypeMetricTypeNetworkInConst = "network_in" + InstanceGroupManagerPolicyPrototypeMetricTypeNetworkOutConst = "network_out" +) + +// Constants associated with the InstanceGroupManagerPolicyPrototype.PolicyType property. +// The type of policy for the instance group. +const ( + InstanceGroupManagerPolicyPrototypePolicyTypeTargetConst = "target" +) + +func (*InstanceGroupManagerPolicyPrototype) isaInstanceGroupManagerPolicyPrototype() bool { + return true +} + +type InstanceGroupManagerPolicyPrototypeIntf interface { + isaInstanceGroupManagerPolicyPrototype() bool +} + +// UnmarshalInstanceGroupManagerPolicyPrototype unmarshals an instance of InstanceGroupManagerPolicyPrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPolicyPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_type", &obj.MetricType) + if err != nil { + err = core.SDKErrorf(err, "", "metric_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_value", &obj.MetricValue) + if err != nil { + err = core.SDKErrorf(err, "", "metric_value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "policy_type", &obj.PolicyType) + if err != nil { + err = core.SDKErrorf(err, "", "policy_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerPolicyReference : InstanceGroupManagerPolicyReference struct +type InstanceGroupManagerPolicyReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance group manager policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager policy. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager policy. The name is unique across all policies for the instance group + // manager. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalInstanceGroupManagerPolicyReference unmarshals an instance of InstanceGroupManagerPolicyReference from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPolicyReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPolicyReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerPrototype : InstanceGroupManagerPrototype struct +// Models which "extend" this model: +// - InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype +// - InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype +type InstanceGroupManagerPrototype struct { + // Indicates whether this manager will control the instance group. + ManagementEnabled *bool `json:"management_enabled,omitempty"` + + // The name for this instance group manager. The name must not be used by another manager for the instance group. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The time window in seconds to aggregate metrics prior to evaluation. + AggregationWindow *int64 `json:"aggregation_window,omitempty"` + + // The duration of time in seconds to pause further scale actions after scaling has taken place. + Cooldown *int64 `json:"cooldown,omitempty"` + + // The type of instance group manager. + ManagerType *string `json:"manager_type,omitempty"` + + // The maximum number of members in a managed instance group. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The minimum number of members in a managed instance group. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` +} + +// Constants associated with the InstanceGroupManagerPrototype.ManagerType property. +// The type of instance group manager. +const ( + InstanceGroupManagerPrototypeManagerTypeAutoscaleConst = "autoscale" +) + +func (*InstanceGroupManagerPrototype) isaInstanceGroupManagerPrototype() bool { + return true +} + +type InstanceGroupManagerPrototypeIntf interface { + isaInstanceGroupManagerPrototype() bool +} + +// UnmarshalInstanceGroupManagerPrototype unmarshals an instance of InstanceGroupManagerPrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPrototype) + err = core.UnmarshalPrimitive(m, "management_enabled", &obj.ManagementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "management_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "aggregation_window", &obj.AggregationWindow) + if err != nil { + err = core.SDKErrorf(err, "", "aggregation_window-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cooldown", &obj.Cooldown) + if err != nil { + err = core.SDKErrorf(err, "", "cooldown-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manager_type", &obj.ManagerType) + if err != nil { + err = core.SDKErrorf(err, "", "manager_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerReference : InstanceGroupManagerReference struct +type InstanceGroupManagerReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance group manager. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager. The name is unique across all managers for the instance group. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalInstanceGroupManagerReference unmarshals an instance of InstanceGroupManagerReference from the specified map of raw messages. +func UnmarshalInstanceGroupManagerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduledActionGroup : InstanceGroupManagerScheduledActionGroup struct +type InstanceGroupManagerScheduledActionGroup struct { + // The desired number of instance group members at the scheduled time. + MembershipCount *int64 `json:"membership_count" validate:"required"` +} + +// UnmarshalInstanceGroupManagerScheduledActionGroup unmarshals an instance of InstanceGroupManagerScheduledActionGroup from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduledActionGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduledActionGroup) + err = core.UnmarshalPrimitive(m, "membership_count", &obj.MembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "membership_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduledActionGroupPrototype : InstanceGroupManagerScheduledActionGroupPrototype struct +type InstanceGroupManagerScheduledActionGroupPrototype struct { + // The desired number of instance group members at the scheduled time. + MembershipCount *int64 `json:"membership_count" validate:"required"` +} + +// NewInstanceGroupManagerScheduledActionGroupPrototype : Instantiate InstanceGroupManagerScheduledActionGroupPrototype (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerScheduledActionGroupPrototype(membershipCount int64) (_model *InstanceGroupManagerScheduledActionGroupPrototype, err error) { + _model = &InstanceGroupManagerScheduledActionGroupPrototype{ + MembershipCount: core.Int64Ptr(membershipCount), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalInstanceGroupManagerScheduledActionGroupPrototype unmarshals an instance of InstanceGroupManagerScheduledActionGroupPrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduledActionGroupPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduledActionGroupPrototype) + err = core.UnmarshalPrimitive(m, "membership_count", &obj.MembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "membership_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduledActionManager : InstanceGroupManagerScheduledActionManager struct +// Models which "extend" this model: +// - InstanceGroupManagerScheduledActionManagerAutoScale +type InstanceGroupManagerScheduledActionManager struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance group manager. + Href *string `json:"href,omitempty"` + + // The unique identifier for this instance group manager. + ID *string `json:"id,omitempty"` + + // The name for this instance group manager. The name is unique across all managers for the instance group. + Name *string `json:"name,omitempty"` + + // The desired maximum number of instance group members at the scheduled time. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The desired minimum number of instance group members at the scheduled time. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` +} + +func (*InstanceGroupManagerScheduledActionManager) isaInstanceGroupManagerScheduledActionManager() bool { + return true +} + +type InstanceGroupManagerScheduledActionManagerIntf interface { + isaInstanceGroupManagerScheduledActionManager() bool +} + +// UnmarshalInstanceGroupManagerScheduledActionManager unmarshals an instance of InstanceGroupManagerScheduledActionManager from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduledActionManager(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduledActionManager) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduledActionManagerPrototype : InstanceGroupManagerScheduledActionManagerPrototype struct +// Models which "extend" this model: +// - InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype +type InstanceGroupManagerScheduledActionManagerPrototype struct { + // The desired maximum number of instance group members at the scheduled time. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The desired minimum number of instance group members at the scheduled time. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` + + // The unique identifier for this instance group manager. + ID *string `json:"id,omitempty"` + + // The URL for this instance group manager. + Href *string `json:"href,omitempty"` +} + +func (*InstanceGroupManagerScheduledActionManagerPrototype) isaInstanceGroupManagerScheduledActionManagerPrototype() bool { + return true +} + +type InstanceGroupManagerScheduledActionManagerPrototypeIntf interface { + isaInstanceGroupManagerScheduledActionManagerPrototype() bool +} + +// UnmarshalInstanceGroupManagerScheduledActionManagerPrototype unmarshals an instance of InstanceGroupManagerScheduledActionManagerPrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduledActionManagerPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduledActionManagerPrototype) + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupMembership : InstanceGroupMembership struct +type InstanceGroupMembership struct { + // The date and time that the instance group manager policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // If set to true, when deleting the membership the instance will also be deleted. + DeleteInstanceOnMembershipDelete *bool `json:"delete_instance_on_membership_delete" validate:"required"` + + // The URL for this instance group membership. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group membership. + ID *string `json:"id" validate:"required"` + + Instance *InstanceReference `json:"instance" validate:"required"` + + InstanceTemplate *InstanceTemplateReference `json:"instance_template" validate:"required"` + + // The name for this instance group membership. The name is unique across all memberships for the instance group. + Name *string `json:"name" validate:"required"` + + PoolMember *LoadBalancerPoolMemberReference `json:"pool_member,omitempty"` + + // The status of the instance group membership + // - `deleting`: Membership is deleting dependent resources + // - `failed`: Membership was unable to maintain dependent resources + // - `healthy`: Membership is active and serving in the group + // - `pending`: Membership is waiting for dependent resources + // - `unhealthy`: Membership has unhealthy dependent resources + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The date and time that the instance group membership was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` +} + +// Constants associated with the InstanceGroupMembership.Status property. +// The status of the instance group membership +// - `deleting`: Membership is deleting dependent resources +// - `failed`: Membership was unable to maintain dependent resources +// - `healthy`: Membership is active and serving in the group +// - `pending`: Membership is waiting for dependent resources +// - `unhealthy`: Membership has unhealthy dependent resources +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupMembershipStatusDeletingConst = "deleting" + InstanceGroupMembershipStatusFailedConst = "failed" + InstanceGroupMembershipStatusHealthyConst = "healthy" + InstanceGroupMembershipStatusPendingConst = "pending" + InstanceGroupMembershipStatusUnhealthyConst = "unhealthy" +) + +// UnmarshalInstanceGroupMembership unmarshals an instance of InstanceGroupMembership from the specified map of raw messages. +func UnmarshalInstanceGroupMembership(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupMembership) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "delete_instance_on_membership_delete", &obj.DeleteInstanceOnMembershipDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_instance_on_membership_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance", &obj.Instance, UnmarshalInstanceReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_template", &obj.InstanceTemplate, UnmarshalInstanceTemplateReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance_template-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "pool_member", &obj.PoolMember, UnmarshalLoadBalancerPoolMemberReference) + if err != nil { + err = core.SDKErrorf(err, "", "pool_member-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupMembershipCollection : InstanceGroupMembershipCollection struct +type InstanceGroupMembershipCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A page of memberships for the instance group. + Memberships []InstanceGroupMembership `json:"memberships" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalInstanceGroupMembershipCollection unmarshals an instance of InstanceGroupMembershipCollection from the specified map of raw messages. +func UnmarshalInstanceGroupMembershipCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupMembershipCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "memberships", &obj.Memberships, UnmarshalInstanceGroupMembership) + if err != nil { + err = core.SDKErrorf(err, "", "memberships-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *InstanceGroupMembershipCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// InstanceGroupMembershipPatch : InstanceGroupMembershipPatch struct +type InstanceGroupMembershipPatch struct { + // If set to true, when deleting the membership the instance will also be deleted. + DeleteInstanceOnMembershipDelete *bool `json:"delete_instance_on_membership_delete,omitempty"` + + // The name for this instance group membership. The name must not be used by another membership for the instance group + // manager. + Name *string `json:"name,omitempty"` +} + +// UnmarshalInstanceGroupMembershipPatch unmarshals an instance of InstanceGroupMembershipPatch from the specified map of raw messages. +func UnmarshalInstanceGroupMembershipPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupMembershipPatch) + err = core.UnmarshalPrimitive(m, "delete_instance_on_membership_delete", &obj.DeleteInstanceOnMembershipDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_instance_on_membership_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceGroupMembershipPatch +func (instanceGroupMembershipPatch *InstanceGroupMembershipPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceGroupMembershipPatch.DeleteInstanceOnMembershipDelete) { + _patch["delete_instance_on_membership_delete"] = instanceGroupMembershipPatch.DeleteInstanceOnMembershipDelete + } + if !core.IsNil(instanceGroupMembershipPatch.Name) { + _patch["name"] = instanceGroupMembershipPatch.Name + } + + return +} + +// InstanceGroupPatch : To add or update load balancer specification for an instance group the `membership_count` must first be set to 0. +type InstanceGroupPatch struct { + // The port to use for new load balancer pool members created by this instance group. + // + // This property must be set if and only if `load_balancer_pool` has been set. + ApplicationPort *int64 `json:"application_port,omitempty"` + + // The instance template to use when creating new instances. + // + // The specified template must not have `default_trusted_profile.auto_link` set to `true`. + InstanceTemplate InstanceTemplateIdentityIntf `json:"instance_template,omitempty"` + + // The load balancer associated with `load_balancer_pool`. + // The load balancer must have `instance_groups_supported` set to `true`. + // + // This property must be set if and only if `load_balancer_pool` has been set. + LoadBalancer LoadBalancerIdentityIntf `json:"load_balancer,omitempty"` + + // If specified, this instance group will manage the load balancer pool. A pool member + // will be created for each instance created by this group. The specified load + // balancer pool must not be used by another instance group in the VPC. + // + // If set, `load_balancer` and `application_port` must also be set. + LoadBalancerPool LoadBalancerPoolIdentityIntf `json:"load_balancer_pool,omitempty"` + + // The number of instances in the instance group. + MembershipCount *int64 `json:"membership_count,omitempty"` + + // The name for this instance group. The name must not be used by another instance group in the region. + Name *string `json:"name,omitempty"` + + // The subnets to use when creating new instances. + Subnets []SubnetIdentityIntf `json:"subnets,omitempty"` +} + +// UnmarshalInstanceGroupPatch unmarshals an instance of InstanceGroupPatch from the specified map of raw messages. +func UnmarshalInstanceGroupPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupPatch) + err = core.UnmarshalPrimitive(m, "application_port", &obj.ApplicationPort) + if err != nil { + err = core.SDKErrorf(err, "", "application_port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_template", &obj.InstanceTemplate, UnmarshalInstanceTemplateIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "instance_template-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "load_balancer", &obj.LoadBalancer, UnmarshalLoadBalancerIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "load_balancer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "load_balancer_pool", &obj.LoadBalancerPool, UnmarshalLoadBalancerPoolIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "load_balancer_pool-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "membership_count", &obj.MembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceGroupPatch +func (instanceGroupPatch *InstanceGroupPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceGroupPatch.ApplicationPort) { + _patch["application_port"] = instanceGroupPatch.ApplicationPort + } + if !core.IsNil(instanceGroupPatch.InstanceTemplate) { + _patch["instance_template"] = instanceGroupPatch.InstanceTemplate.asPatch() + } + if !core.IsNil(instanceGroupPatch.LoadBalancer) { + _patch["load_balancer"] = instanceGroupPatch.LoadBalancer.asPatch() + } + if !core.IsNil(instanceGroupPatch.LoadBalancerPool) { + _patch["load_balancer_pool"] = instanceGroupPatch.LoadBalancerPool.asPatch() + } + if !core.IsNil(instanceGroupPatch.MembershipCount) { + _patch["membership_count"] = instanceGroupPatch.MembershipCount + } + if !core.IsNil(instanceGroupPatch.Name) { + _patch["name"] = instanceGroupPatch.Name + } + if !core.IsNil(instanceGroupPatch.Subnets) { + var subnetsPatches []map[string]interface{} + for _, subnets := range instanceGroupPatch.Subnets { + subnetsPatches = append(subnetsPatches, subnets.asPatch()) + } + _patch["subnets"] = subnetsPatches + } + + return +} + +// InstanceGroupReference : InstanceGroupReference struct +type InstanceGroupReference struct { + // The CRN for this instance group. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group. + ID *string `json:"id" validate:"required"` + + // The name for this instance group. The name is unique across all instance groups in the region. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalInstanceGroupReference unmarshals an instance of InstanceGroupReference from the specified map of raw messages. +func UnmarshalInstanceGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceHealthReason : InstanceHealthReason struct +type InstanceHealthReason struct { + // A reason code for this health state: + // - `reservation_capacity_unavailable`: The reservation affinity pool has no + // available capacity. + // - `reservation_deleted`: The reservation affinity pool has a deleted reservation. + // - `reservation_expired`: The reservation affinity pool has an expired reservation. + // - `reservation_failed`: The reservation affinity pool has a failed reservation. + // + // See [health status reasons](https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons) for details. The + // enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the InstanceHealthReason.Code property. +// A reason code for this health state: +// - `reservation_capacity_unavailable`: The reservation affinity pool has no +// available capacity. +// - `reservation_deleted`: The reservation affinity pool has a deleted reservation. +// - `reservation_expired`: The reservation affinity pool has an expired reservation. +// - `reservation_failed`: The reservation affinity pool has a failed reservation. +// +// See [health status reasons](https://cloud.ibm.com/docs/vpc?topic=vpc-server-health-status-reasons) for details. The +// enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceHealthReasonCodeReservationCapacityUnavailableConst = "reservation_capacity_unavailable" + InstanceHealthReasonCodeReservationDeletedConst = "reservation_deleted" + InstanceHealthReasonCodeReservationExpiredConst = "reservation_expired" + InstanceHealthReasonCodeReservationFailedConst = "reservation_failed" +) + +// UnmarshalInstanceHealthReason unmarshals an instance of InstanceHealthReason from the specified map of raw messages. +func UnmarshalInstanceHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceInitialization : InstanceInitialization struct +type InstanceInitialization struct { + // The default trusted profile configuration specified at virtual server instance + // creation. If absent, no default trusted profile was specified. + DefaultTrustedProfile *InstanceInitializationDefaultTrustedProfile `json:"default_trusted_profile,omitempty"` + + // The public SSH keys used at instance initialization. + Keys []KeyReference `json:"keys" validate:"required"` + + Password *InstanceInitializationPassword `json:"password,omitempty"` +} + +// UnmarshalInstanceInitialization unmarshals an instance of InstanceInitialization from the specified map of raw messages. +func UnmarshalInstanceInitialization(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceInitialization) + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceInitializationDefaultTrustedProfile) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "password", &obj.Password, UnmarshalInstanceInitializationPassword) + if err != nil { + err = core.SDKErrorf(err, "", "password-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceInitializationDefaultTrustedProfile : InstanceInitializationDefaultTrustedProfile struct +type InstanceInitializationDefaultTrustedProfile struct { + // If set to `true`, the system created a link to the specified `target` trusted profile during instance creation. + // Regardless of whether a link was created by the system or manually using the IAM Identity service, it will be + // automatically deleted when the instance is deleted. + AutoLink *bool `json:"auto_link" validate:"required"` + + // The default IAM trusted profile to use for this virtual server instance. + Target *TrustedProfileReference `json:"target" validate:"required"` +} + +// UnmarshalInstanceInitializationDefaultTrustedProfile unmarshals an instance of InstanceInitializationDefaultTrustedProfile from the specified map of raw messages. +func UnmarshalInstanceInitializationDefaultTrustedProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceInitializationDefaultTrustedProfile) + err = core.UnmarshalPrimitive(m, "auto_link", &obj.AutoLink) + if err != nil { + err = core.SDKErrorf(err, "", "auto_link-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalTrustedProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceInitializationPassword : InstanceInitializationPassword struct +type InstanceInitializationPassword struct { + // The administrator password at initialization, encrypted using `encryption_key`, and returned base64-encoded. + EncryptedPassword *[]byte `json:"encrypted_password" validate:"required"` + + // The public SSH key used to encrypt the administrator password. + EncryptionKey *KeyIdentityByFingerprint `json:"encryption_key" validate:"required"` +} + +// UnmarshalInstanceInitializationPassword unmarshals an instance of InstanceInitializationPassword from the specified map of raw messages. +func UnmarshalInstanceInitializationPassword(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceInitializationPassword) + err = core.UnmarshalPrimitive(m, "encrypted_password", &obj.EncryptedPassword) + if err != nil { + err = core.SDKErrorf(err, "", "encrypted_password-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalKeyIdentityByFingerprint) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceLifecycleReason : InstanceLifecycleReason struct +type InstanceLifecycleReason struct { + // A reason code for this lifecycle state: + // - `failed_registration`: the instance's registration to Resource Controller has + // failed. Delete the instance and provision it again. If the problem persists, + // contact IBM Support. + // - `internal_error`: internal error (contact IBM support) + // - `pending_registration`: the instance's registration to Resource Controller is + // being processed. + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the InstanceLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `failed_registration`: the instance's registration to Resource Controller has +// failed. Delete the instance and provision it again. If the problem persists, +// contact IBM Support. +// - `internal_error`: internal error (contact IBM support) +// - `pending_registration`: the instance's registration to Resource Controller is +// being processed. +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceLifecycleReasonCodeFailedRegistrationConst = "failed_registration" + InstanceLifecycleReasonCodeInternalErrorConst = "internal_error" + InstanceLifecycleReasonCodePendingRegistrationConst = "pending_registration" + InstanceLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalInstanceLifecycleReason unmarshals an instance of InstanceLifecycleReason from the specified map of raw messages. +func UnmarshalInstanceLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceMetadataService : The metadata service configuration. +type InstanceMetadataService struct { + // Indicates whether the metadata service endpoint is available to the virtual server instance. + Enabled *bool `json:"enabled" validate:"required"` + + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is + // enabled. + // - `http`: HTTP protocol (unencrypted) + // - `https`: HTTP Secure protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The hop limit (IP time to live) for IP response packets from the metadata service. Applies only when the metadata + // service is enabled. + ResponseHopLimit *int64 `json:"response_hop_limit" validate:"required"` +} + +// Constants associated with the InstanceMetadataService.Protocol property. +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is +// enabled. +// - `http`: HTTP protocol (unencrypted) +// - `https`: HTTP Secure protocol. +const ( + InstanceMetadataServiceProtocolHTTPConst = "http" + InstanceMetadataServiceProtocolHTTPSConst = "https" +) + +// UnmarshalInstanceMetadataService unmarshals an instance of InstanceMetadataService from the specified map of raw messages. +func UnmarshalInstanceMetadataService(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceMetadataService) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + err = core.SDKErrorf(err, "", "enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "response_hop_limit", &obj.ResponseHopLimit) + if err != nil { + err = core.SDKErrorf(err, "", "response_hop_limit-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceMetadataServicePatch : The metadata service configuration. +type InstanceMetadataServicePatch struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance. + Enabled *bool `json:"enabled,omitempty"` + + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is + // enabled. + // - `http`: HTTP protocol (unencrypted) + // - `https`: HTTP Secure protocol. + Protocol *string `json:"protocol,omitempty"` + + // The hop limit (IP time to live) for IP response packets from the metadata service. Applies only when the metadata + // service is enabled. + ResponseHopLimit *int64 `json:"response_hop_limit,omitempty"` +} + +// Constants associated with the InstanceMetadataServicePatch.Protocol property. +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is +// enabled. +// - `http`: HTTP protocol (unencrypted) +// - `https`: HTTP Secure protocol. +const ( + InstanceMetadataServicePatchProtocolHTTPConst = "http" + InstanceMetadataServicePatchProtocolHTTPSConst = "https" +) + +// UnmarshalInstanceMetadataServicePatch unmarshals an instance of InstanceMetadataServicePatch from the specified map of raw messages. +func UnmarshalInstanceMetadataServicePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceMetadataServicePatch) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + err = core.SDKErrorf(err, "", "enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "response_hop_limit", &obj.ResponseHopLimit) + if err != nil { + err = core.SDKErrorf(err, "", "response_hop_limit-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceMetadataServicePatch +func (instanceMetadataServicePatch *InstanceMetadataServicePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceMetadataServicePatch.Enabled) { + _patch["enabled"] = instanceMetadataServicePatch.Enabled + } + if !core.IsNil(instanceMetadataServicePatch.Protocol) { + _patch["protocol"] = instanceMetadataServicePatch.Protocol + } + if !core.IsNil(instanceMetadataServicePatch.ResponseHopLimit) { + _patch["response_hop_limit"] = instanceMetadataServicePatch.ResponseHopLimit + } + + return +} + +// InstanceMetadataServicePrototype : The metadata service configuration. +type InstanceMetadataServicePrototype struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance. + Enabled *bool `json:"enabled,omitempty"` + + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is + // enabled. + // - `http`: HTTP protocol (unencrypted) + // - `https`: HTTP Secure protocol. + Protocol *string `json:"protocol,omitempty"` + + // The hop limit (IP time to live) for IP response packets from the metadata service. Applies only when the metadata + // service is enabled. + ResponseHopLimit *int64 `json:"response_hop_limit,omitempty"` +} + +// Constants associated with the InstanceMetadataServicePrototype.Protocol property. +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is +// enabled. +// - `http`: HTTP protocol (unencrypted) +// - `https`: HTTP Secure protocol. +const ( + InstanceMetadataServicePrototypeProtocolHTTPConst = "http" + InstanceMetadataServicePrototypeProtocolHTTPSConst = "https" +) + +// UnmarshalInstanceMetadataServicePrototype unmarshals an instance of InstanceMetadataServicePrototype from the specified map of raw messages. +func UnmarshalInstanceMetadataServicePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceMetadataServicePrototype) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + err = core.SDKErrorf(err, "", "enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "response_hop_limit", &obj.ResponseHopLimit) + if err != nil { + err = core.SDKErrorf(err, "", "response_hop_limit-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachment : InstanceNetworkAttachment struct +type InstanceNetworkAttachment struct { + // The date and time that the instance network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network attachment. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the instance network attachment. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `json:"name" validate:"required"` + + // The port speed for this instance network attachment in Mbps. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of the virtual network interface for the instance network + // attachment. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The subnet of the virtual network interface for the instance network attachment. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The instance network attachment type. + Type *string `json:"type" validate:"required"` + + // The virtual network interface for this instance network attachment. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface" validate:"required"` +} + +// Constants associated with the InstanceNetworkAttachment.LifecycleState property. +// The lifecycle state of the instance network attachment. +const ( + InstanceNetworkAttachmentLifecycleStateDeletingConst = "deleting" + InstanceNetworkAttachmentLifecycleStateFailedConst = "failed" + InstanceNetworkAttachmentLifecycleStatePendingConst = "pending" + InstanceNetworkAttachmentLifecycleStateStableConst = "stable" + InstanceNetworkAttachmentLifecycleStateSuspendedConst = "suspended" + InstanceNetworkAttachmentLifecycleStateUpdatingConst = "updating" + InstanceNetworkAttachmentLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the InstanceNetworkAttachment.ResourceType property. +// The resource type. +const ( + InstanceNetworkAttachmentResourceTypeInstanceNetworkAttachmentConst = "instance_network_attachment" +) + +// Constants associated with the InstanceNetworkAttachment.Type property. +// The instance network attachment type. +const ( + InstanceNetworkAttachmentTypePrimaryConst = "primary" + InstanceNetworkAttachmentTypeSecondaryConst = "secondary" +) + +// UnmarshalInstanceNetworkAttachment unmarshals an instance of InstanceNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachment) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_speed", &obj.PortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentCollection : InstanceNetworkAttachmentCollection struct +type InstanceNetworkAttachmentCollection struct { + // The network attachments for the instance. + NetworkAttachments []InstanceNetworkAttachment `json:"network_attachments" validate:"required"` +} + +// UnmarshalInstanceNetworkAttachmentCollection unmarshals an instance of InstanceNetworkAttachmentCollection from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentCollection) + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentPatch : InstanceNetworkAttachmentPatch struct +type InstanceNetworkAttachmentPatch struct { + // The name for this network attachment. The name must not be used by another network attachment for the instance. + Name *string `json:"name,omitempty"` +} + +// UnmarshalInstanceNetworkAttachmentPatch unmarshals an instance of InstanceNetworkAttachmentPatch from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceNetworkAttachmentPatch +func (instanceNetworkAttachmentPatch *InstanceNetworkAttachmentPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceNetworkAttachmentPatch.Name) { + _patch["name"] = instanceNetworkAttachmentPatch.Name + } + + return +} + +// InstanceNetworkAttachmentPrototype : InstanceNetworkAttachmentPrototype struct +type InstanceNetworkAttachmentPrototype struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // A virtual network interface for the instance network attachment. This can be specified + // using an existing virtual network interface, or a prototype object for a new virtual + // network interface. + // + // If an existing virtual network interface is specified, `enable_infrastructure_nat` must be + // `true`. + VirtualNetworkInterface InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf `json:"virtual_network_interface" validate:"required"` +} + +// NewInstanceNetworkAttachmentPrototype : Instantiate InstanceNetworkAttachmentPrototype (Generic Model Constructor) +func (*VpcV1) NewInstanceNetworkAttachmentPrototype(virtualNetworkInterface InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf) (_model *InstanceNetworkAttachmentPrototype, err error) { + _model = &InstanceNetworkAttachmentPrototype{ + VirtualNetworkInterface: virtualNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalInstanceNetworkAttachmentPrototype unmarshals an instance of InstanceNetworkAttachmentPrototype from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentPrototypeVirtualNetworkInterface : A virtual network interface for the instance network attachment. This can be specified using an existing virtual +// network interface, or a prototype object for a new virtual network interface. +// +// If an existing virtual network interface is specified, `enable_infrastructure_nat` must be +// `true`. +// Models which "extend" this model: +// - InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext +// - InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity +type InstanceNetworkAttachmentPrototypeVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on + // this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP + // identity, or a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be + // in the primary IP's subnet. + // + // If reserved IP identities are provided, the specified reserved IPs must be unbound. + // + // If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network + // interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet + // will be automatically selected and reserved. + Ips []VirtualNetworkInterfaceIPPrototypeIntf `json:"ips,omitempty"` + + // The name for this virtual network interface. The name must not be used by another virtual network interface in the + // VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are + // reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the virtual network interface. May be either a + // reserved IP identity, or a reserved IP prototype object which will be used to create a + // new reserved IP. + // + // If a reserved IP identity is provided, the specified reserved IP must be unbound. + // + // If a reserved IP prototype object with an address is provided, the address must be + // available on the virtual network interface's subnet. If no address is specified, + // an available address on the subnet will be automatically selected and reserved. + PrimaryIP VirtualNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The protocol state filtering mode to use for this virtual network interface. If + // `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` + // resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode,omitempty"` + + // The resource group to use for this virtual network interface. If unspecified, the + // virtual server instance's resource group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC + // for the subnet is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. Required if `primary_ip` does not specify a reserved IP + // identity. + Subnet SubnetIdentityIntf `json:"subnet,omitempty"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +// Constants associated with the InstanceNetworkAttachmentPrototypeVirtualNetworkInterface.ProtocolStateFilteringMode property. +// The protocol state filtering mode to use for this virtual network interface. If +// `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` +// resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. +const ( + InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceProtocolStateFilteringModeAutoConst = "auto" + InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceProtocolStateFilteringModeDisabledConst = "disabled" + InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceProtocolStateFilteringModeEnabledConst = "enabled" +) + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterface) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +type InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf interface { + isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterface() bool +} + +// UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterface unmarshals an instance of InstanceNetworkAttachmentPrototypeVirtualNetworkInterface from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentPrototypeVirtualNetworkInterface) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalVirtualNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalVirtualNetworkInterfacePrimaryIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state_filtering_mode", &obj.ProtocolStateFilteringMode) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state_filtering_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentReference : InstanceNetworkAttachmentReference struct +type InstanceNetworkAttachmentReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `json:"name" validate:"required"` + + // The primary IP address of the virtual network interface for the instance network + // attachment. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The subnet of the virtual network interface for the instance network attachment. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The virtual network interface for this instance network attachment. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface" validate:"required"` +} + +// Constants associated with the InstanceNetworkAttachmentReference.ResourceType property. +// The resource type. +const ( + InstanceNetworkAttachmentReferenceResourceTypeInstanceNetworkAttachmentConst = "instance_network_attachment" +) + +// UnmarshalInstanceNetworkAttachmentReference unmarshals an instance of InstanceNetworkAttachmentReference from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePatch : InstancePatch struct +type InstancePatch struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPatch `json:"availability_policy,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // For this property to be changed, the virtual server instance `status` must be + // `stopping` or `stopped`. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // For this property to be changed, the virtual server instance `status` must be + // `stopping` or `stopped`. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The metadata service configuration. + MetadataService *InstanceMetadataServicePatch `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. Changing the name will not affect the system hostname. + Name *string `json:"name,omitempty"` + + // The placement restrictions to use for the virtual server instance. For the + // placement restrictions to be changed, the instance `status` must be `stopping` or + // `stopped`. + // + // If set, `reservation_affinity.policy` must be `disabled`. + PlacementTarget InstancePlacementTargetPatchIntf `json:"placement_target,omitempty"` + + // The profile to use for this virtual server instance. Any disks associated with the + // current profile will be deleted, and any disks associated with the requested profile + // will be created. + // + // For the profile to be changed, the instance `status` must be `stopping` or `stopped`. + // In addition, the requested profile must: + // - Be compatible with any `placement_target` constraints. For example, if the + // instance is placed on a dedicated host, the requested profile `family` must be + // the same as the dedicated host `family`. + // - Have the same `vcpu.architecture`. + // - Support the number of network attachments or network interfaces the instance + // currently has. + // - Have the `volume_bandwidth_qos_mode` listed in its `volume_bandwidth_qos_modes`. + Profile InstancePatchProfileIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPatch `json:"reservation_affinity,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // For this property to be changed, the virtual server instance `status` must be + // `stopping` or `stopped`. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` +} + +// Constants associated with the InstancePatch.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// For this property to be changed, the virtual server instance `status` must be +// `stopping` or `stopped`. +const ( + InstancePatchConfidentialComputeModeDisabledConst = "disabled" + InstancePatchConfidentialComputeModeSgxConst = "sgx" + InstancePatchConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePatch.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// For this property to be changed, the virtual server instance `status` must be +// `stopping` or `stopped`. +const ( + InstancePatchVolumeBandwidthQosModePooledConst = "pooled" + InstancePatchVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// UnmarshalInstancePatch unmarshals an instance of InstancePatch from the specified map of raw messages. +func UnmarshalInstancePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePatch) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePatch) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPatch) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstancePatchProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPatch) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstancePatch +func (instancePatch *InstancePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePatch.AvailabilityPolicy) { + _patch["availability_policy"] = instancePatch.AvailabilityPolicy.asPatch() + } + if !core.IsNil(instancePatch.ConfidentialComputeMode) { + _patch["confidential_compute_mode"] = instancePatch.ConfidentialComputeMode + } + if !core.IsNil(instancePatch.EnableSecureBoot) { + _patch["enable_secure_boot"] = instancePatch.EnableSecureBoot + } + if !core.IsNil(instancePatch.MetadataService) { + _patch["metadata_service"] = instancePatch.MetadataService.asPatch() + } + if !core.IsNil(instancePatch.Name) { + _patch["name"] = instancePatch.Name + } + if !core.IsNil(instancePatch.PlacementTarget) { + _patch["placement_target"] = instancePatch.PlacementTarget.asPatch() + } + if !core.IsNil(instancePatch.Profile) { + _patch["profile"] = instancePatch.Profile.asPatch() + } + if !core.IsNil(instancePatch.ReservationAffinity) { + _patch["reservation_affinity"] = instancePatch.ReservationAffinity.asPatch() + } + if !core.IsNil(instancePatch.TotalVolumeBandwidth) { + _patch["total_volume_bandwidth"] = instancePatch.TotalVolumeBandwidth + } + if !core.IsNil(instancePatch.VolumeBandwidthQosMode) { + _patch["volume_bandwidth_qos_mode"] = instancePatch.VolumeBandwidthQosMode + } + + return +} + +// InstancePatchProfile : The profile to use for this virtual server instance. Any disks associated with the current profile will be deleted, +// and any disks associated with the requested profile will be created. +// +// For the profile to be changed, the instance `status` must be `stopping` or `stopped`. In addition, the requested +// profile must: +// - Be compatible with any `placement_target` constraints. For example, if the +// instance is placed on a dedicated host, the requested profile `family` must be +// the same as the dedicated host `family`. +// - Have the same `vcpu.architecture`. +// - Support the number of network attachments or network interfaces the instance +// currently has. +// - Have the `volume_bandwidth_qos_mode` listed in its `volume_bandwidth_qos_modes`. +// +// Models which "extend" this model: +// - InstancePatchProfileInstanceProfileIdentityByName +// - InstancePatchProfileInstanceProfileIdentityByHref +type InstancePatchProfile struct { + // The globally unique name for this virtual server instance profile. + Name *string `json:"name,omitempty"` + + // The URL for this virtual server instance profile. + Href *string `json:"href,omitempty"` +} + +func (*InstancePatchProfile) isaInstancePatchProfile() bool { + return true +} + +type InstancePatchProfileIntf interface { + isaInstancePatchProfile() bool + asPatch() map[string]interface{} +} + +// UnmarshalInstancePatchProfile unmarshals an instance of InstancePatchProfile from the specified map of raw messages. +func UnmarshalInstancePatchProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePatchProfile) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePatchProfile +func (instancePatchProfile *InstancePatchProfile) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePatchProfile.Name) { + _patch["name"] = instancePatchProfile.Name + } + if !core.IsNil(instancePatchProfile.Href) { + _patch["href"] = instancePatchProfile.Href + } + + return +} + +// InstancePlacementTarget : The placement restrictions for the virtual server instance. +// Models which "extend" this model: +// - InstancePlacementTargetDedicatedHostGroupReference +// - InstancePlacementTargetDedicatedHostReference +// - InstancePlacementTargetPlacementGroupReference +type InstancePlacementTarget struct { + // The CRN for this dedicated host group. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this dedicated host group. + Href *string `json:"href,omitempty"` + + // The unique identifier for this dedicated host group. + ID *string `json:"id,omitempty"` + + // The name for this dedicated host group. The name is unique across all dedicated host groups in the region. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the InstancePlacementTarget.ResourceType property. +// The resource type. +const ( + InstancePlacementTargetResourceTypeDedicatedHostGroupConst = "dedicated_host_group" +) + +func (*InstancePlacementTarget) isaInstancePlacementTarget() bool { + return true +} + +type InstancePlacementTargetIntf interface { + isaInstancePlacementTarget() bool +} + +// UnmarshalInstancePlacementTarget unmarshals an instance of InstancePlacementTarget from the specified map of raw messages. +func UnmarshalInstancePlacementTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTarget) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPatch : The placement restrictions to use for the virtual server instance. For the placement restrictions to be changed, the +// instance `status` must be `stopping` or +// `stopped`. +// +// If set, `reservation_affinity.policy` must be `disabled`. +// Models which "extend" this model: +// - InstancePlacementTargetPatchDedicatedHostIdentity +// - InstancePlacementTargetPatchDedicatedHostGroupIdentity +type InstancePlacementTargetPatch struct { + // The unique identifier for this dedicated host. + ID *string `json:"id,omitempty"` + + // The CRN for this dedicated host. + CRN *string `json:"crn,omitempty"` + + // The URL for this dedicated host. + Href *string `json:"href,omitempty"` +} + +func (*InstancePlacementTargetPatch) isaInstancePlacementTargetPatch() bool { + return true +} + +type InstancePlacementTargetPatchIntf interface { + isaInstancePlacementTargetPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalInstancePlacementTargetPatch unmarshals an instance of InstancePlacementTargetPatch from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatch +func (instancePlacementTargetPatch *InstancePlacementTargetPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatch.ID) { + _patch["id"] = instancePlacementTargetPatch.ID + } + if !core.IsNil(instancePlacementTargetPatch.CRN) { + _patch["crn"] = instancePlacementTargetPatch.CRN + } + if !core.IsNil(instancePlacementTargetPatch.Href) { + _patch["href"] = instancePlacementTargetPatch.Href + } + + return +} + +// InstancePlacementTargetPrototype : The placement restrictions to use for the virtual server instance. +// +// If specified, `reservation_affinity.policy` must be `disabled`. +// Models which "extend" this model: +// - InstancePlacementTargetPrototypeDedicatedHostIdentity +// - InstancePlacementTargetPrototypeDedicatedHostGroupIdentity +// - InstancePlacementTargetPrototypePlacementGroupIdentity +type InstancePlacementTargetPrototype struct { + // The unique identifier for this dedicated host. + ID *string `json:"id,omitempty"` + + // The CRN for this dedicated host. + CRN *string `json:"crn,omitempty"` + + // The URL for this dedicated host. + Href *string `json:"href,omitempty"` +} + +func (*InstancePlacementTargetPrototype) isaInstancePlacementTargetPrototype() bool { + return true +} + +type InstancePlacementTargetPrototypeIntf interface { + isaInstancePlacementTargetPrototype() bool +} + +// UnmarshalInstancePlacementTargetPrototype unmarshals an instance of InstancePlacementTargetPrototype from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfile : InstanceProfile struct +type InstanceProfile struct { + Bandwidth InstanceProfileBandwidthIntf `json:"bandwidth" validate:"required"` + + ClusterNetworkAttachmentCount InstanceProfileClusterNetworkAttachmentCountIntf `json:"cluster_network_attachment_count" validate:"required"` + + ConfidentialComputeModes *InstanceProfileSupportedConfidentialComputeModes `json:"confidential_compute_modes" validate:"required"` + + // The disks for an instance with this profile. + Disks []InstanceProfileDisk `json:"disks" validate:"required"` + + // The product family this virtual server instance profile belongs to. + Family *string `json:"family" validate:"required"` + + GpuCount InstanceProfileGpuIntf `json:"gpu_count,omitempty"` + + GpuManufacturer *InstanceProfileGpuManufacturer `json:"gpu_manufacturer,omitempty"` + + GpuMemory InstanceProfileGpuMemoryIntf `json:"gpu_memory,omitempty"` + + GpuModel *InstanceProfileGpuModel `json:"gpu_model,omitempty"` + + // The URL for this virtual server instance profile. + Href *string `json:"href" validate:"required"` + + Memory InstanceProfileMemoryIntf `json:"memory" validate:"required"` + + // The globally unique name for this virtual server instance profile. + Name *string `json:"name" validate:"required"` + + NetworkAttachmentCount InstanceProfileNetworkAttachmentCountIntf `json:"network_attachment_count" validate:"required"` + + NetworkInterfaceCount InstanceProfileNetworkInterfaceCountIntf `json:"network_interface_count" validate:"required"` + + NumaCount InstanceProfileNumaCountIntf `json:"numa_count,omitempty"` + + OsArchitecture *InstanceProfileOsArchitecture `json:"os_architecture" validate:"required"` + + PortSpeed InstanceProfilePortSpeedIntf `json:"port_speed" validate:"required"` + + ReservationTerms *InstanceProfileReservationTerms `json:"reservation_terms" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + SecureBootModes *InstanceProfileSupportedSecureBootModes `json:"secure_boot_modes" validate:"required"` + + // The status of the instance profile: + // - `previous`: This instance profile is an older revision, but remains provisionable and + // usable. + // - `current`: This profile is the latest revision. + // + // Revisions are indicated by the generation of an instance profile. Refer to the [profile naming + // conventions](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=ui#profiles-naming-rule) for information on + // how generations are defined within an instance profile. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The cluster network profiles that support this instance profile. + SupportedClusterNetworkProfiles []ClusterNetworkProfileReference `json:"supported_cluster_network_profiles" validate:"required"` + + TotalVolumeBandwidth InstanceProfileVolumeBandwidthIntf `json:"total_volume_bandwidth" validate:"required"` + + VcpuArchitecture *InstanceProfileVcpuArchitecture `json:"vcpu_architecture" validate:"required"` + + VcpuCount InstanceProfileVcpuIntf `json:"vcpu_count" validate:"required"` + + VcpuManufacturer InstanceProfileVcpuManufacturerIntf `json:"vcpu_manufacturer" validate:"required"` + + VolumeBandwidthQosModes InstanceProfileVolumeBandwidthQoSModesIntf `json:"volume_bandwidth_qos_modes" validate:"required"` +} + +// Constants associated with the InstanceProfile.ResourceType property. +// The resource type. +const ( + InstanceProfileResourceTypeInstanceProfileConst = "instance_profile" +) + +// Constants associated with the InstanceProfile.Status property. +// The status of the instance profile: +// - `previous`: This instance profile is an older revision, but remains provisionable and +// usable. +// - `current`: This profile is the latest revision. +// +// Revisions are indicated by the generation of an instance profile. Refer to the [profile naming +// conventions](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=ui#profiles-naming-rule) for information on +// how generations are defined within an instance profile. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceProfileStatusCurrentConst = "current" + InstanceProfileStatusPreviousConst = "previous" +) + +// UnmarshalInstanceProfile unmarshals an instance of InstanceProfile from the specified map of raw messages. +func UnmarshalInstanceProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfile) + err = core.UnmarshalModel(m, "bandwidth", &obj.Bandwidth, UnmarshalInstanceProfileBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachment_count", &obj.ClusterNetworkAttachmentCount, UnmarshalInstanceProfileClusterNetworkAttachmentCount) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachment_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "confidential_compute_modes", &obj.ConfidentialComputeModes, UnmarshalInstanceProfileSupportedConfidentialComputeModes) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "disks", &obj.Disks, UnmarshalInstanceProfileDisk) + if err != nil { + err = core.SDKErrorf(err, "", "disks-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "gpu_count", &obj.GpuCount, UnmarshalInstanceProfileGpu) + if err != nil { + err = core.SDKErrorf(err, "", "gpu_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "gpu_manufacturer", &obj.GpuManufacturer, UnmarshalInstanceProfileGpuManufacturer) + if err != nil { + err = core.SDKErrorf(err, "", "gpu_manufacturer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "gpu_memory", &obj.GpuMemory, UnmarshalInstanceProfileGpuMemory) + if err != nil { + err = core.SDKErrorf(err, "", "gpu_memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "gpu_model", &obj.GpuModel, UnmarshalInstanceProfileGpuModel) + if err != nil { + err = core.SDKErrorf(err, "", "gpu_model-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "memory", &obj.Memory, UnmarshalInstanceProfileMemory) + if err != nil { + err = core.SDKErrorf(err, "", "memory-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachment_count", &obj.NetworkAttachmentCount, UnmarshalInstanceProfileNetworkAttachmentCount) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachment_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interface_count", &obj.NetworkInterfaceCount, UnmarshalInstanceProfileNetworkInterfaceCount) + if err != nil { + err = core.SDKErrorf(err, "", "network_interface_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "numa_count", &obj.NumaCount, UnmarshalInstanceProfileNumaCount) + if err != nil { + err = core.SDKErrorf(err, "", "numa_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "os_architecture", &obj.OsArchitecture, UnmarshalInstanceProfileOsArchitecture) + if err != nil { + err = core.SDKErrorf(err, "", "os_architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "port_speed", &obj.PortSpeed, UnmarshalInstanceProfilePortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_terms", &obj.ReservationTerms, UnmarshalInstanceProfileReservationTerms) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_terms-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "secure_boot_modes", &obj.SecureBootModes, UnmarshalInstanceProfileSupportedSecureBootModes) + if err != nil { + err = core.SDKErrorf(err, "", "secure_boot_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_cluster_network_profiles", &obj.SupportedClusterNetworkProfiles, UnmarshalClusterNetworkProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "supported_cluster_network_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth, UnmarshalInstanceProfileVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vcpu_architecture", &obj.VcpuArchitecture, UnmarshalInstanceProfileVcpuArchitecture) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu_architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vcpu_count", &obj.VcpuCount, UnmarshalInstanceProfileVcpu) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vcpu_manufacturer", &obj.VcpuManufacturer, UnmarshalInstanceProfileVcpuManufacturer) + if err != nil { + err = core.SDKErrorf(err, "", "vcpu_manufacturer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_bandwidth_qos_modes", &obj.VolumeBandwidthQosModes, UnmarshalInstanceProfileVolumeBandwidthQoSModes) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_modes-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileBandwidth : InstanceProfileBandwidth struct +// Models which "extend" this model: +// - InstanceProfileBandwidthFixed +// - InstanceProfileBandwidthRange +// - InstanceProfileBandwidthEnum +// - InstanceProfileBandwidthDependent +type InstanceProfileBandwidth struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileBandwidth.Type property. +// The type for this profile field. +const ( + InstanceProfileBandwidthTypeFixedConst = "fixed" +) + +func (*InstanceProfileBandwidth) isaInstanceProfileBandwidth() bool { + return true +} + +type InstanceProfileBandwidthIntf interface { + isaInstanceProfileBandwidth() bool +} + +// UnmarshalInstanceProfileBandwidth unmarshals an instance of InstanceProfileBandwidth from the specified map of raw messages. +func UnmarshalInstanceProfileBandwidth(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileBandwidth) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileClusterNetworkAttachmentCount : InstanceProfileClusterNetworkAttachmentCount struct +// Models which "extend" this model: +// - InstanceProfileClusterNetworkAttachmentCountDependent +// - InstanceProfileClusterNetworkAttachmentCountEnum +// - InstanceProfileClusterNetworkAttachmentCountRange +type InstanceProfileClusterNetworkAttachmentCount struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + Default *int64 `json:"default,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + Step *int64 `json:"step,omitempty"` +} + +// Constants associated with the InstanceProfileClusterNetworkAttachmentCount.Type property. +// The type for this profile field. +const ( + InstanceProfileClusterNetworkAttachmentCountTypeDependentConst = "dependent" +) + +func (*InstanceProfileClusterNetworkAttachmentCount) isaInstanceProfileClusterNetworkAttachmentCount() bool { + return true +} + +type InstanceProfileClusterNetworkAttachmentCountIntf interface { + isaInstanceProfileClusterNetworkAttachmentCount() bool +} + +// UnmarshalInstanceProfileClusterNetworkAttachmentCount unmarshals an instance of InstanceProfileClusterNetworkAttachmentCount from the specified map of raw messages. +func UnmarshalInstanceProfileClusterNetworkAttachmentCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileClusterNetworkAttachmentCount) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileCollection : InstanceProfileCollection struct +type InstanceProfileCollection struct { + // The virtual server instance profiles. + Profiles []InstanceProfile `json:"profiles" validate:"required"` +} + +// UnmarshalInstanceProfileCollection unmarshals an instance of InstanceProfileCollection from the specified map of raw messages. +func UnmarshalInstanceProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileCollection) + err = core.UnmarshalModel(m, "profiles", &obj.Profiles, UnmarshalInstanceProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profiles-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDisk : Disks provided by this profile. +type InstanceProfileDisk struct { + Quantity InstanceProfileDiskQuantityIntf `json:"quantity" validate:"required"` + + Size InstanceProfileDiskSizeIntf `json:"size" validate:"required"` + + SupportedInterfaceTypes *InstanceProfileDiskSupportedInterfaces `json:"supported_interface_types" validate:"required"` +} + +// UnmarshalInstanceProfileDisk unmarshals an instance of InstanceProfileDisk from the specified map of raw messages. +func UnmarshalInstanceProfileDisk(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDisk) + err = core.UnmarshalModel(m, "quantity", &obj.Quantity, UnmarshalInstanceProfileDiskQuantity) + if err != nil { + err = core.SDKErrorf(err, "", "quantity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "size", &obj.Size, UnmarshalInstanceProfileDiskSize) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "supported_interface_types", &obj.SupportedInterfaceTypes, UnmarshalInstanceProfileDiskSupportedInterfaces) + if err != nil { + err = core.SDKErrorf(err, "", "supported_interface_types-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskQuantity : InstanceProfileDiskQuantity struct +// Models which "extend" this model: +// - InstanceProfileDiskQuantityFixed +// - InstanceProfileDiskQuantityRange +// - InstanceProfileDiskQuantityEnum +// - InstanceProfileDiskQuantityDependent +type InstanceProfileDiskQuantity struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileDiskQuantity.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskQuantityTypeFixedConst = "fixed" +) + +func (*InstanceProfileDiskQuantity) isaInstanceProfileDiskQuantity() bool { + return true +} + +type InstanceProfileDiskQuantityIntf interface { + isaInstanceProfileDiskQuantity() bool +} + +// UnmarshalInstanceProfileDiskQuantity unmarshals an instance of InstanceProfileDiskQuantity from the specified map of raw messages. +func UnmarshalInstanceProfileDiskQuantity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskQuantity) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskSize : InstanceProfileDiskSize struct +// Models which "extend" this model: +// - InstanceProfileDiskSizeFixed +// - InstanceProfileDiskSizeRange +// - InstanceProfileDiskSizeEnum +// - InstanceProfileDiskSizeDependent +type InstanceProfileDiskSize struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileDiskSize.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskSizeTypeFixedConst = "fixed" +) + +func (*InstanceProfileDiskSize) isaInstanceProfileDiskSize() bool { + return true +} + +type InstanceProfileDiskSizeIntf interface { + isaInstanceProfileDiskSize() bool +} + +// UnmarshalInstanceProfileDiskSize unmarshals an instance of InstanceProfileDiskSize from the specified map of raw messages. +func UnmarshalInstanceProfileDiskSize(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskSize) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskSupportedInterfaces : InstanceProfileDiskSupportedInterfaces struct +type InstanceProfileDiskSupportedInterfaces struct { + // The disk interface used for attaching the disk. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported disk interfaces used for attaching the disk. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskSupportedInterfaces.Default property. +// The disk interface used for attaching the disk. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceProfileDiskSupportedInterfacesDefaultNvmeConst = "nvme" + InstanceProfileDiskSupportedInterfacesDefaultVirtioBlkConst = "virtio_blk" +) + +// Constants associated with the InstanceProfileDiskSupportedInterfaces.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskSupportedInterfacesTypeEnumConst = "enum" +) + +// Constants associated with the InstanceProfileDiskSupportedInterfaces.Values property. +// The disk interface used for attaching the disk. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceProfileDiskSupportedInterfacesValuesNvmeConst = "nvme" + InstanceProfileDiskSupportedInterfacesValuesVirtioBlkConst = "virtio_blk" +) + +// UnmarshalInstanceProfileDiskSupportedInterfaces unmarshals an instance of InstanceProfileDiskSupportedInterfaces from the specified map of raw messages. +func UnmarshalInstanceProfileDiskSupportedInterfaces(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskSupportedInterfaces) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpu : InstanceProfileGpu struct +// Models which "extend" this model: +// - InstanceProfileGpuFixed +// - InstanceProfileGpuRange +// - InstanceProfileGpuEnum +// - InstanceProfileGpuDependent +type InstanceProfileGpu struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileGpu.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuTypeFixedConst = "fixed" +) + +func (*InstanceProfileGpu) isaInstanceProfileGpu() bool { + return true +} + +type InstanceProfileGpuIntf interface { + isaInstanceProfileGpu() bool +} + +// UnmarshalInstanceProfileGpu unmarshals an instance of InstanceProfileGpu from the specified map of raw messages. +func UnmarshalInstanceProfileGpu(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpu) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuManufacturer : InstanceProfileGpuManufacturer struct +type InstanceProfileGpuManufacturer struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The possible GPU manufacturer(s) for an instance with this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuManufacturer.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuManufacturerTypeEnumConst = "enum" +) + +// Constants associated with the InstanceProfileGpuManufacturer.Values property. +// The GPU manufacturer. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceProfileGpuManufacturerValuesAmdConst = "amd" + InstanceProfileGpuManufacturerValuesIntelConst = "intel" + InstanceProfileGpuManufacturerValuesNvidiaConst = "nvidia" +) + +// UnmarshalInstanceProfileGpuManufacturer unmarshals an instance of InstanceProfileGpuManufacturer from the specified map of raw messages. +func UnmarshalInstanceProfileGpuManufacturer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuManufacturer) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuMemory : InstanceProfileGpuMemory struct +// Models which "extend" this model: +// - InstanceProfileGpuMemoryFixed +// - InstanceProfileGpuMemoryRange +// - InstanceProfileGpuMemoryEnum +// - InstanceProfileGpuMemoryDependent +type InstanceProfileGpuMemory struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileGpuMemory.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuMemoryTypeFixedConst = "fixed" +) + +func (*InstanceProfileGpuMemory) isaInstanceProfileGpuMemory() bool { + return true +} + +type InstanceProfileGpuMemoryIntf interface { + isaInstanceProfileGpuMemory() bool +} + +// UnmarshalInstanceProfileGpuMemory unmarshals an instance of InstanceProfileGpuMemory from the specified map of raw messages. +func UnmarshalInstanceProfileGpuMemory(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuMemory) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuModel : InstanceProfileGpuModel struct +type InstanceProfileGpuModel struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The possible GPU model(s) for an instance with this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuModel.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuModelTypeEnumConst = "enum" +) + +// UnmarshalInstanceProfileGpuModel unmarshals an instance of InstanceProfileGpuModel from the specified map of raw messages. +func UnmarshalInstanceProfileGpuModel(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuModel) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileIdentity : Identifies an instance profile by a unique property. +// Models which "extend" this model: +// - InstanceProfileIdentityByName +// - InstanceProfileIdentityByHref +type InstanceProfileIdentity struct { + // The globally unique name for this virtual server instance profile. + Name *string `json:"name,omitempty"` + + // The URL for this virtual server instance profile. + Href *string `json:"href,omitempty"` +} + +func (*InstanceProfileIdentity) isaInstanceProfileIdentity() bool { + return true +} + +type InstanceProfileIdentityIntf interface { + isaInstanceProfileIdentity() bool +} + +// UnmarshalInstanceProfileIdentity unmarshals an instance of InstanceProfileIdentity from the specified map of raw messages. +func UnmarshalInstanceProfileIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileMemory : InstanceProfileMemory struct +// Models which "extend" this model: +// - InstanceProfileMemoryFixed +// - InstanceProfileMemoryRange +// - InstanceProfileMemoryEnum +// - InstanceProfileMemoryDependent +type InstanceProfileMemory struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileMemory.Type property. +// The type for this profile field. +const ( + InstanceProfileMemoryTypeFixedConst = "fixed" +) + +func (*InstanceProfileMemory) isaInstanceProfileMemory() bool { + return true +} + +type InstanceProfileMemoryIntf interface { + isaInstanceProfileMemory() bool +} + +// UnmarshalInstanceProfileMemory unmarshals an instance of InstanceProfileMemory from the specified map of raw messages. +func UnmarshalInstanceProfileMemory(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileMemory) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNumaCount : InstanceProfileNumaCount struct +// Models which "extend" this model: +// - InstanceProfileNumaCountFixed +// - InstanceProfileNumaCountDependent +type InstanceProfileNumaCount struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` +} + +// Constants associated with the InstanceProfileNumaCount.Type property. +// The type for this profile field. +const ( + InstanceProfileNumaCountTypeFixedConst = "fixed" +) + +func (*InstanceProfileNumaCount) isaInstanceProfileNumaCount() bool { + return true +} + +type InstanceProfileNumaCountIntf interface { + isaInstanceProfileNumaCount() bool +} + +// UnmarshalInstanceProfileNumaCount unmarshals an instance of InstanceProfileNumaCount from the specified map of raw messages. +func UnmarshalInstanceProfileNumaCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNumaCount) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNetworkAttachmentCount : InstanceProfileNetworkAttachmentCount struct +// Models which "extend" this model: +// - InstanceProfileNetworkAttachmentCountRange +// - InstanceProfileNetworkAttachmentCountDependent +type InstanceProfileNetworkAttachmentCount struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` +} + +// Constants associated with the InstanceProfileNetworkAttachmentCount.Type property. +// The type for this profile field. +const ( + InstanceProfileNetworkAttachmentCountTypeRangeConst = "range" +) + +func (*InstanceProfileNetworkAttachmentCount) isaInstanceProfileNetworkAttachmentCount() bool { + return true +} + +type InstanceProfileNetworkAttachmentCountIntf interface { + isaInstanceProfileNetworkAttachmentCount() bool +} + +// UnmarshalInstanceProfileNetworkAttachmentCount unmarshals an instance of InstanceProfileNetworkAttachmentCount from the specified map of raw messages. +func UnmarshalInstanceProfileNetworkAttachmentCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNetworkAttachmentCount) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNetworkInterfaceCount : InstanceProfileNetworkInterfaceCount struct +// Models which "extend" this model: +// - InstanceProfileNetworkInterfaceCountRange +// - InstanceProfileNetworkInterfaceCountDependent +type InstanceProfileNetworkInterfaceCount struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` +} + +// Constants associated with the InstanceProfileNetworkInterfaceCount.Type property. +// The type for this profile field. +const ( + InstanceProfileNetworkInterfaceCountTypeRangeConst = "range" +) + +func (*InstanceProfileNetworkInterfaceCount) isaInstanceProfileNetworkInterfaceCount() bool { + return true +} + +type InstanceProfileNetworkInterfaceCountIntf interface { + isaInstanceProfileNetworkInterfaceCount() bool +} + +// UnmarshalInstanceProfileNetworkInterfaceCount unmarshals an instance of InstanceProfileNetworkInterfaceCount from the specified map of raw messages. +func UnmarshalInstanceProfileNetworkInterfaceCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNetworkInterfaceCount) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileOsArchitecture : InstanceProfileOsArchitecture struct +type InstanceProfileOsArchitecture struct { + // The default OS architecture for an instance with this profile. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported OS architecture(s) for an instance with this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileOsArchitecture.Type property. +// The type for this profile field. +const ( + InstanceProfileOsArchitectureTypeEnumConst = "enum" +) + +// UnmarshalInstanceProfileOsArchitecture unmarshals an instance of InstanceProfileOsArchitecture from the specified map of raw messages. +func UnmarshalInstanceProfileOsArchitecture(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileOsArchitecture) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfilePortSpeed : InstanceProfilePortSpeed struct +// Models which "extend" this model: +// - InstanceProfilePortSpeedFixed +// - InstanceProfilePortSpeedDependent +type InstanceProfilePortSpeed struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` +} + +// Constants associated with the InstanceProfilePortSpeed.Type property. +// The type for this profile field. +const ( + InstanceProfilePortSpeedTypeFixedConst = "fixed" +) + +func (*InstanceProfilePortSpeed) isaInstanceProfilePortSpeed() bool { + return true +} + +type InstanceProfilePortSpeedIntf interface { + isaInstanceProfilePortSpeed() bool +} + +// UnmarshalInstanceProfilePortSpeed unmarshals an instance of InstanceProfilePortSpeed from the specified map of raw messages. +func UnmarshalInstanceProfilePortSpeed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfilePortSpeed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileReference : InstanceProfileReference struct +type InstanceProfileReference struct { + // The URL for this virtual server instance profile. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this virtual server instance profile. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstanceProfileReference.ResourceType property. +// The resource type. +const ( + InstanceProfileReferenceResourceTypeInstanceProfileConst = "instance_profile" +) + +// UnmarshalInstanceProfileReference unmarshals an instance of InstanceProfileReference from the specified map of raw messages. +func UnmarshalInstanceProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileReservationTerms : InstanceProfileReservationTerms struct +type InstanceProfileReservationTerms struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported committed use terms for a reservation using this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileReservationTerms.Type property. +// The type for this profile field. +const ( + InstanceProfileReservationTermsTypeEnumConst = "enum" +) + +// Constants associated with the InstanceProfileReservationTerms.Values property. +const ( + InstanceProfileReservationTermsValuesOneYearConst = "one_year" + InstanceProfileReservationTermsValuesThreeYearConst = "three_year" +) + +// UnmarshalInstanceProfileReservationTerms unmarshals an instance of InstanceProfileReservationTerms from the specified map of raw messages. +func UnmarshalInstanceProfileReservationTerms(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileReservationTerms) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileSupportedConfidentialComputeModes : InstanceProfileSupportedConfidentialComputeModes struct +type InstanceProfileSupportedConfidentialComputeModes struct { + // The default confidential compute mode for this profile. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported confidential compute modes. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileSupportedConfidentialComputeModes.Default property. +// The default confidential compute mode for this profile. +const ( + InstanceProfileSupportedConfidentialComputeModesDefaultDisabledConst = "disabled" + InstanceProfileSupportedConfidentialComputeModesDefaultSgxConst = "sgx" + InstanceProfileSupportedConfidentialComputeModesDefaultTdxConst = "tdx" +) + +// Constants associated with the InstanceProfileSupportedConfidentialComputeModes.Type property. +// The type for this profile field. +const ( + InstanceProfileSupportedConfidentialComputeModesTypeEnumConst = "enum" +) + +// Constants associated with the InstanceProfileSupportedConfidentialComputeModes.Values property. +// The confidential compute modes: +// - `disabled`: No confidential compute functionality +// - `sgx`: Intel Software Guard Extensions +// - `tdx`: Intel Trust Domain Extensions +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceProfileSupportedConfidentialComputeModesValuesDisabledConst = "disabled" + InstanceProfileSupportedConfidentialComputeModesValuesSgxConst = "sgx" + InstanceProfileSupportedConfidentialComputeModesValuesTdxConst = "tdx" +) + +// UnmarshalInstanceProfileSupportedConfidentialComputeModes unmarshals an instance of InstanceProfileSupportedConfidentialComputeModes from the specified map of raw messages. +func UnmarshalInstanceProfileSupportedConfidentialComputeModes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileSupportedConfidentialComputeModes) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileSupportedSecureBootModes : InstanceProfileSupportedSecureBootModes struct +type InstanceProfileSupportedSecureBootModes struct { + // The default secure boot mode for this profile. + Default *bool `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported `enable_secure_boot` values for an instance using this profile. + Values []bool `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileSupportedSecureBootModes.Type property. +// The type for this profile field. +const ( + InstanceProfileSupportedSecureBootModesTypeEnumConst = "enum" +) + +// UnmarshalInstanceProfileSupportedSecureBootModes unmarshals an instance of InstanceProfileSupportedSecureBootModes from the specified map of raw messages. +func UnmarshalInstanceProfileSupportedSecureBootModes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileSupportedSecureBootModes) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpu : InstanceProfileVcpu struct +// Models which "extend" this model: +// - InstanceProfileVcpuFixed +// - InstanceProfileVcpuRange +// - InstanceProfileVcpuEnum +// - InstanceProfileVcpuDependent +type InstanceProfileVcpu struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileVcpu.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuTypeFixedConst = "fixed" +) + +func (*InstanceProfileVcpu) isaInstanceProfileVcpu() bool { + return true +} + +type InstanceProfileVcpuIntf interface { + isaInstanceProfileVcpu() bool +} + +// UnmarshalInstanceProfileVcpu unmarshals an instance of InstanceProfileVcpu from the specified map of raw messages. +func UnmarshalInstanceProfileVcpu(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpu) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpuArchitecture : InstanceProfileVcpuArchitecture struct +type InstanceProfileVcpuArchitecture struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The VCPU architecture for an instance with this profile. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileVcpuArchitecture.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuArchitectureTypeFixedConst = "fixed" +) + +// Constants associated with the InstanceProfileVcpuArchitecture.Value property. +// The VCPU architecture for an instance with this profile. +const ( + InstanceProfileVcpuArchitectureValueAmd64Const = "amd64" + InstanceProfileVcpuArchitectureValueS390xConst = "s390x" +) + +// UnmarshalInstanceProfileVcpuArchitecture unmarshals an instance of InstanceProfileVcpuArchitecture from the specified map of raw messages. +func UnmarshalInstanceProfileVcpuArchitecture(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpuArchitecture) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpuManufacturer : InstanceProfileVcpuManufacturer struct +// Models which "extend" this model: +// - InstanceProfileVcpuManufacturerFixed +// - InstanceProfileVcpuManufacturerDependent +type InstanceProfileVcpuManufacturer struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The VCPU manufacturer for an instance with this profile. + Value *string `json:"value,omitempty"` +} + +// Constants associated with the InstanceProfileVcpuManufacturer.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuManufacturerTypeFixedConst = "fixed" +) + +// Constants associated with the InstanceProfileVcpuManufacturer.Value property. +// The VCPU manufacturer for an instance with this profile. +const ( + InstanceProfileVcpuManufacturerValueAmdConst = "amd" + InstanceProfileVcpuManufacturerValueIBMConst = "ibm" + InstanceProfileVcpuManufacturerValueIntelConst = "intel" +) + +func (*InstanceProfileVcpuManufacturer) isaInstanceProfileVcpuManufacturer() bool { + return true +} + +type InstanceProfileVcpuManufacturerIntf interface { + isaInstanceProfileVcpuManufacturer() bool +} + +// UnmarshalInstanceProfileVcpuManufacturer unmarshals an instance of InstanceProfileVcpuManufacturer from the specified map of raw messages. +func UnmarshalInstanceProfileVcpuManufacturer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpuManufacturer) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVolumeBandwidth : InstanceProfileVolumeBandwidth struct +// Models which "extend" this model: +// - InstanceProfileVolumeBandwidthFixed +// - InstanceProfileVolumeBandwidthRange +// - InstanceProfileVolumeBandwidthEnum +// - InstanceProfileVolumeBandwidthDependent +type InstanceProfileVolumeBandwidth struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileVolumeBandwidth.Type property. +// The type for this profile field. +const ( + InstanceProfileVolumeBandwidthTypeFixedConst = "fixed" +) + +func (*InstanceProfileVolumeBandwidth) isaInstanceProfileVolumeBandwidth() bool { + return true +} + +type InstanceProfileVolumeBandwidthIntf interface { + isaInstanceProfileVolumeBandwidth() bool +} + +// UnmarshalInstanceProfileVolumeBandwidth unmarshals an instance of InstanceProfileVolumeBandwidth from the specified map of raw messages. +func UnmarshalInstanceProfileVolumeBandwidth(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVolumeBandwidth) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVolumeBandwidthQoSModes : InstanceProfileVolumeBandwidthQoSModes struct +// Models which "extend" this model: +// - InstanceProfileVolumeBandwidthQoSModesEnum +// - InstanceProfileVolumeBandwidthQoSModesDependent +type InstanceProfileVolumeBandwidthQoSModes struct { + // The default volume bandwidth QoS mode for this profile. + Default *string `json:"default,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The permitted volume bandwidth QoS modes for an instance using this profile. + Values []string `json:"values,omitempty"` +} + +// Constants associated with the InstanceProfileVolumeBandwidthQoSModes.Default property. +// The default volume bandwidth QoS mode for this profile. +const ( + InstanceProfileVolumeBandwidthQoSModesDefaultPooledConst = "pooled" + InstanceProfileVolumeBandwidthQoSModesDefaultWeightedConst = "weighted" +) + +// Constants associated with the InstanceProfileVolumeBandwidthQoSModes.Type property. +// The type for this profile field. +const ( + InstanceProfileVolumeBandwidthQoSModesTypeEnumConst = "enum" +) + +// Constants associated with the InstanceProfileVolumeBandwidthQoSModes.Values property. +// A volume bandwidth QoS mode: +// - `pooled`: All volumes attached to an instance will pool and share bandwidth. +// - `weighted`: Each volume attached to an instance will have its own bandwidth, weighted according to its IOPS. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceProfileVolumeBandwidthQoSModesValuesPooledConst = "pooled" + InstanceProfileVolumeBandwidthQoSModesValuesWeightedConst = "weighted" +) + +func (*InstanceProfileVolumeBandwidthQoSModes) isaInstanceProfileVolumeBandwidthQoSModes() bool { + return true +} + +type InstanceProfileVolumeBandwidthQoSModesIntf interface { + isaInstanceProfileVolumeBandwidthQoSModes() bool +} + +// UnmarshalInstanceProfileVolumeBandwidthQoSModes unmarshals an instance of InstanceProfileVolumeBandwidthQoSModes from the specified map of raw messages. +func UnmarshalInstanceProfileVolumeBandwidthQoSModes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVolumeBandwidthQoSModes) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototype : InstancePrototype struct +// Models which "extend" this model: +// - InstancePrototypeInstanceByImage +// - InstancePrototypeInstanceByCatalogOffering +// - InstancePrototypeInstanceByVolume +// - InstancePrototypeInstanceBySourceSnapshot +// - InstancePrototypeInstanceBySourceTemplate +type InstancePrototype struct { + // The availability policy to use for this virtual server instance. + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not + // subsequently managed. Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) + // property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + // The metadata service configuration. + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + // The placement restrictions to use for the virtual server instance. + // + // If specified, `reservation_affinity.policy` must be `disabled`. + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this + // virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change + // in the future without changing the API version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + // The reservation affinity settings for this virtual server instance. + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network + // attachments or instance network interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image,omitempty"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering + // or offering version to use when provisioning this virtual server instance. + // + // If an offering is specified, the latest version of that offering will be used. + // + // The specified offering or offering version may be in a different account, subject + // to IAM policies. + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering,omitempty"` + + // The template to create this virtual server instance from. + SourceTemplate InstanceTemplateIdentityIntf `json:"source_template,omitempty"` +} + +// Constants associated with the InstancePrototype.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototype.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstancePrototype) isaInstancePrototype() bool { + return true +} + +type InstancePrototypeIntf interface { + isaInstancePrototype() bool +} + +// UnmarshalInstancePrototype unmarshals an instance of InstancePrototype from the specified map of raw messages. +func UnmarshalInstancePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototype) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_template", &obj.SourceTemplate, UnmarshalInstanceTemplateIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_template-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceReference : InstanceReference struct +type InstanceReference struct { + // The CRN for this virtual server instance. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this virtual server instance. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual server instance. + ID *string `json:"id" validate:"required"` + + // The name for this virtual server instance. The name is unique across all virtual server instances in the region. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalInstanceReference unmarshals an instance of InstanceReference from the specified map of raw messages. +func UnmarshalInstanceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceReservationAffinity : InstanceReservationAffinity struct +type InstanceReservationAffinity struct { + // The reservation affinity policy to use for this virtual server instance: + // - `automatic`: Any reservations with an `affinity_policy` of `automatic` + // that have the same `profile` and `zone` as this virtual server instance + // are available for use. + // - `disabled`: Reservations will not be used + // - `manual`: Reservations in `pool` are available for use. + Policy *string `json:"policy" validate:"required"` + + // The pool of reservations available for use by this virtual server instance when the `policy` is `manual`. This must + // be empty if the `policy` is `automatic` or + // `disabled`. + Pool []ReservationReference `json:"pool" validate:"required"` +} + +// Constants associated with the InstanceReservationAffinity.Policy property. +// The reservation affinity policy to use for this virtual server instance: +// - `automatic`: Any reservations with an `affinity_policy` of `automatic` +// that have the same `profile` and `zone` as this virtual server instance +// are available for use. +// - `disabled`: Reservations will not be used +// - `manual`: Reservations in `pool` are available for use. +const ( + InstanceReservationAffinityPolicyAutomaticConst = "automatic" + InstanceReservationAffinityPolicyDisabledConst = "disabled" + InstanceReservationAffinityPolicyManualConst = "manual" +) + +// UnmarshalInstanceReservationAffinity unmarshals an instance of InstanceReservationAffinity from the specified map of raw messages. +func UnmarshalInstanceReservationAffinity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceReservationAffinity) + err = core.UnmarshalPrimitive(m, "policy", &obj.Policy) + if err != nil { + err = core.SDKErrorf(err, "", "policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "pool", &obj.Pool, UnmarshalReservationReference) + if err != nil { + err = core.SDKErrorf(err, "", "pool-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceReservationAffinityPatch : InstanceReservationAffinityPatch struct +type InstanceReservationAffinityPatch struct { + // The reservation affinity policy to use for this virtual server instance: + // - `automatic`: Any reservations with an `affinity_policy` of `automatic` + // that have the same `profile` and `zone` as this virtual server instance + // are available for use. + // - `disabled`: Reservations will not be used + // - `manual`: Reservations in `pool` will be available for use + // + // The policy must be `disabled` if `placement_target` is set. + Policy *string `json:"policy,omitempty"` + + // The pool of reservations available for use by this virtual server instance, replacing the existing pool of + // reservations. + // + // Specified reservations must have a `status` of `active`, and have the same `profile` and `zone` as this virtual + // server instance. + // + // If `policy` is `manual`, `pool` must have one reservation. If `policy` is `disabled` or `automatic`, `pool` must be + // empty. If `policy` is `manual`, the `pool` must contain a reservation with available capacity. + Pool []ReservationIdentityIntf `json:"pool,omitempty"` +} + +// Constants associated with the InstanceReservationAffinityPatch.Policy property. +// The reservation affinity policy to use for this virtual server instance: +// - `automatic`: Any reservations with an `affinity_policy` of `automatic` +// that have the same `profile` and `zone` as this virtual server instance +// are available for use. +// - `disabled`: Reservations will not be used +// - `manual`: Reservations in `pool` will be available for use +// +// The policy must be `disabled` if `placement_target` is set. +const ( + InstanceReservationAffinityPatchPolicyAutomaticConst = "automatic" + InstanceReservationAffinityPatchPolicyDisabledConst = "disabled" + InstanceReservationAffinityPatchPolicyManualConst = "manual" +) + +// UnmarshalInstanceReservationAffinityPatch unmarshals an instance of InstanceReservationAffinityPatch from the specified map of raw messages. +func UnmarshalInstanceReservationAffinityPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceReservationAffinityPatch) + err = core.UnmarshalPrimitive(m, "policy", &obj.Policy) + if err != nil { + err = core.SDKErrorf(err, "", "policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "pool", &obj.Pool, UnmarshalReservationIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "pool-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceReservationAffinityPatch +func (instanceReservationAffinityPatch *InstanceReservationAffinityPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceReservationAffinityPatch.Policy) { + _patch["policy"] = instanceReservationAffinityPatch.Policy + } + if !core.IsNil(instanceReservationAffinityPatch.Pool) { + var poolPatches []map[string]interface{} + for _, pool := range instanceReservationAffinityPatch.Pool { + poolPatches = append(poolPatches, pool.asPatch()) + } + _patch["pool"] = poolPatches + } + + return +} + +// InstanceReservationAffinityPrototype : The reservation affinity settings for this virtual server instance. +type InstanceReservationAffinityPrototype struct { + // The reservation affinity policy to use for this virtual server instance: + // - `disabled`: Reservations will not be used + // - `manual`: Reservations in `pool` will be available for use + // - `automatic`: Reservations with an `affinity_policy` of `automatic` that have the same + // `profile` and `zone` as this virtual server instance will be available for use. + // + // The policy will default to `manual` if `pool` is not empty. The policy will default to + // `disabled` if a `placement_target` is set. The policy will default to `automatic` in all other cases. + // + // The policy must be `disabled` if `placement_target` is specified. + Policy *string `json:"policy,omitempty"` + + // The pool of reservations available for use by this virtual server instance. + // + // Specified reservations must have a `status` of `active`, and have the same `profile` and `zone` as this virtual + // server instance. + // + // If `policy` is `manual`, `pool` must be specified with one reservation. If `policy` is `disabled` or `automatic` and + // `pool` is specified, it must be empty. If `policy` is `manual`, the `pool` must contain a reservation with available + // capacity. + Pool []ReservationIdentityIntf `json:"pool,omitempty"` +} + +// Constants associated with the InstanceReservationAffinityPrototype.Policy property. +// The reservation affinity policy to use for this virtual server instance: +// - `disabled`: Reservations will not be used +// - `manual`: Reservations in `pool` will be available for use +// - `automatic`: Reservations with an `affinity_policy` of `automatic` that have the same +// `profile` and `zone` as this virtual server instance will be available for use. +// +// The policy will default to `manual` if `pool` is not empty. The policy will default to +// `disabled` if a `placement_target` is set. The policy will default to `automatic` in all other cases. +// +// The policy must be `disabled` if `placement_target` is specified. +const ( + InstanceReservationAffinityPrototypePolicyAutomaticConst = "automatic" + InstanceReservationAffinityPrototypePolicyDisabledConst = "disabled" + InstanceReservationAffinityPrototypePolicyManualConst = "manual" +) + +// UnmarshalInstanceReservationAffinityPrototype unmarshals an instance of InstanceReservationAffinityPrototype from the specified map of raw messages. +func UnmarshalInstanceReservationAffinityPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceReservationAffinityPrototype) + err = core.UnmarshalPrimitive(m, "policy", &obj.Policy) + if err != nil { + err = core.SDKErrorf(err, "", "policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "pool", &obj.Pool, UnmarshalReservationIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "pool-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceStatusReason : InstanceStatusReason struct +type InstanceStatusReason struct { + // A snake case string succinctly identifying the status reason. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the InstanceStatusReason.Code property. +// A snake case string succinctly identifying the status reason. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceStatusReasonCodeCannotStartConst = "cannot_start" + InstanceStatusReasonCodeCannotStartCapacityConst = "cannot_start_capacity" + InstanceStatusReasonCodeCannotStartComputeConst = "cannot_start_compute" + InstanceStatusReasonCodeCannotStartIPAddressConst = "cannot_start_ip_address" + InstanceStatusReasonCodeCannotStartNetworkConst = "cannot_start_network" + InstanceStatusReasonCodeCannotStartPlacementGroupConst = "cannot_start_placement_group" + InstanceStatusReasonCodeCannotStartReservationCapacityConst = "cannot_start_reservation_capacity" + InstanceStatusReasonCodeCannotStartReservationExpiredConst = "cannot_start_reservation_expired" + InstanceStatusReasonCodeCannotStartStorageConst = "cannot_start_storage" + InstanceStatusReasonCodeEncryptionKeyDeletedConst = "encryption_key_deleted" + InstanceStatusReasonCodeStoppedByHostFailureConst = "stopped_by_host_failure" + InstanceStatusReasonCodeStoppedForImageCreationConst = "stopped_for_image_creation" +) + +// UnmarshalInstanceStatusReason unmarshals an instance of InstanceStatusReason from the specified map of raw messages. +func UnmarshalInstanceStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplate : InstanceTemplate struct +// Models which "extend" this model: +// - InstanceTemplateInstanceByImageInstanceTemplateContext +// - InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext +// - InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext +type InstanceTemplate struct { + // The availability policy to use for this virtual server instance. + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not + // subsequently managed. Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) + // property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + // The metadata service configuration. + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + // The placement restrictions to use for the virtual server instance. + // + // If specified, `reservation_affinity.policy` must be `disabled`. + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this + // virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change + // in the future without changing the API version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + // The reservation affinity settings for this virtual server instance. + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network + // attachments or instance network interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image,omitempty"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering + // or offering version to use when provisioning this virtual server instance. + // + // If an offering is specified, the latest version of that offering will be used. + // + // The specified offering or offering version may be in a different account, subject + // to IAM policies. + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering,omitempty"` +} + +// Constants associated with the InstanceTemplate.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplate.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplate) isaInstanceTemplate() bool { + return true +} + +type InstanceTemplateIntf interface { + isaInstanceTemplate() bool +} + +// UnmarshalInstanceTemplate unmarshals an instance of InstanceTemplate from the specified map of raw messages. +func UnmarshalInstanceTemplate(m map[string]json.RawMessage, result interface{}) (err error) { + // Check for source_snapshot presence to determine object type + var isSourceSnapshot bool + if bootVolumeRaw, exists := m["boot_volume_attachment"]; exists && len(bootVolumeRaw) > 0 && string(bootVolumeRaw) != "null" { + var bootVolumeMap map[string]json.RawMessage + if err = json.Unmarshal(bootVolumeRaw, &bootVolumeMap); err == nil { + if volumeRaw, volumeExists := bootVolumeMap["volume"]; volumeExists && len(volumeRaw) > 0 && string(volumeRaw) != "null" { + var volumeMap map[string]json.RawMessage + if err = json.Unmarshal(volumeRaw, &volumeMap); err == nil { + if _, snapshotExists := volumeMap["source_snapshot"]; snapshotExists { + isSourceSnapshot = true + } + } + } + } + } + if isSourceSnapshot { + err = core.UnmarshalModel(m, "", result, UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext-error", common.GetComponentInfo()) + } + return + } else { + obj := new(InstanceTemplate) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return + } +} + +// InstanceTemplateCollection : InstanceTemplateCollection struct +type InstanceTemplateCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of instance templates. + Templates []InstanceTemplateIntf `json:"templates" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalInstanceTemplateCollection unmarshals an instance of InstanceTemplateCollection from the specified map of raw messages. +func UnmarshalInstanceTemplateCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "templates", &obj.Templates, UnmarshalInstanceTemplate) + if err != nil { + err = core.SDKErrorf(err, "", "templates-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateIdentity : Identifies an instance template by a unique property. +// Models which "extend" this model: +// - InstanceTemplateIdentityByID +// - InstanceTemplateIdentityByHref +// - InstanceTemplateIdentityByCRN +type InstanceTemplateIdentity struct { + // The unique identifier for this instance template. + ID *string `json:"id,omitempty"` + + // The URL for this instance template. + Href *string `json:"href,omitempty"` + + // The CRN for this instance template. + CRN *string `json:"crn,omitempty"` +} + +func (*InstanceTemplateIdentity) isaInstanceTemplateIdentity() bool { + return true +} + +type InstanceTemplateIdentityIntf interface { + isaInstanceTemplateIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalInstanceTemplateIdentity unmarshals an instance of InstanceTemplateIdentity from the specified map of raw messages. +func UnmarshalInstanceTemplateIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceTemplateIdentity +func (instanceTemplateIdentity *InstanceTemplateIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceTemplateIdentity.ID) { + _patch["id"] = instanceTemplateIdentity.ID + } + if !core.IsNil(instanceTemplateIdentity.Href) { + _patch["href"] = instanceTemplateIdentity.Href + } + if !core.IsNil(instanceTemplateIdentity.CRN) { + _patch["crn"] = instanceTemplateIdentity.CRN + } + + return +} + +// InstanceTemplatePatch : InstanceTemplatePatch struct +type InstanceTemplatePatch struct { + // The name for this instance template. The name must not be used by another instance template in the region. + Name *string `json:"name,omitempty"` +} + +// UnmarshalInstanceTemplatePatch unmarshals an instance of InstanceTemplatePatch from the specified map of raw messages. +func UnmarshalInstanceTemplatePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the InstanceTemplatePatch +func (instanceTemplatePatch *InstanceTemplatePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceTemplatePatch.Name) { + _patch["name"] = instanceTemplatePatch.Name + } + + return +} + +// InstanceTemplatePrototype : InstanceTemplatePrototype struct +// Models which "extend" this model: +// - InstanceTemplatePrototypeInstanceTemplateByImage +// - InstanceTemplatePrototypeInstanceTemplateBySourceTemplate +// - InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot +// - InstanceTemplatePrototypeInstanceTemplateByCatalogOffering +type InstanceTemplatePrototype struct { + // The availability policy to use for this virtual server instance. + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not + // subsequently managed. Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) + // property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + // The metadata service configuration. + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The placement restrictions to use for the virtual server instance. + // + // If specified, `reservation_affinity.policy` must be `disabled`. + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this + // virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change + // in the future without changing the API version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + // The reservation affinity settings for this virtual server instance. + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network + // attachments or instance network interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image,omitempty"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering version to use when provisioning this virtual server instance. + // If an offering is specified, the latest version of that offering will be used. + // + // The specified offering or offering version may be in a different account, subject to + // IAM policies. + // + // If specified, `image` must not be specified, and `source_template` must not have + // `image` specified. + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering,omitempty"` + + // The template to create this virtual server instance from. + SourceTemplate InstanceTemplateIdentityIntf `json:"source_template,omitempty"` +} + +// Constants associated with the InstanceTemplatePrototype.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototype.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplatePrototype) isaInstanceTemplatePrototype() bool { + return true +} + +type InstanceTemplatePrototypeIntf interface { + isaInstanceTemplatePrototype() bool +} + +// UnmarshalInstanceTemplatePrototype unmarshals an instance of InstanceTemplatePrototype from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototype) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_template", &obj.SourceTemplate, UnmarshalInstanceTemplateIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_template-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateReference : InstanceTemplateReference struct +type InstanceTemplateReference struct { + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalInstanceTemplateReference unmarshals an instance of InstanceTemplateReference from the specified map of raw messages. +func UnmarshalInstanceTemplateReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceVcpu : The virtual server instance VCPU configuration. +type InstanceVcpu struct { + // The VCPU architecture. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Architecture *string `json:"architecture" validate:"required"` + + // The number of VCPUs assigned. + Count *int64 `json:"count" validate:"required"` + + // The VCPU manufacturer for this instance. It may be `unassigned` when instance `status` is `failed`, `pending`, or + // `stopped`. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Manufacturer *string `json:"manufacturer" validate:"required"` +} + +// Constants associated with the InstanceVcpu.Architecture property. +// The VCPU architecture. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceVcpuArchitectureAmd64Const = "amd64" + InstanceVcpuArchitectureS390xConst = "s390x" +) + +// Constants associated with the InstanceVcpu.Manufacturer property. +// The VCPU manufacturer for this instance. It may be `unassigned` when instance `status` is `failed`, `pending`, or +// `stopped`. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceVcpuManufacturerAmdConst = "amd" + InstanceVcpuManufacturerIBMConst = "ibm" + InstanceVcpuManufacturerIntelConst = "intel" + InstanceVcpuManufacturerUnassignedConst = "unassigned" +) + +// UnmarshalInstanceVcpu unmarshals an instance of InstanceVcpu from the specified map of raw messages. +func UnmarshalInstanceVcpu(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceVcpu) + err = core.UnmarshalPrimitive(m, "architecture", &obj.Architecture) + if err != nil { + err = core.SDKErrorf(err, "", "architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "count", &obj.Count) + if err != nil { + err = core.SDKErrorf(err, "", "count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manufacturer", &obj.Manufacturer) + if err != nil { + err = core.SDKErrorf(err, "", "manufacturer-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Key : Key struct +type Key struct { + // The date and time that the key was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this key. + CRN *string `json:"crn" validate:"required"` + + // The fingerprint for this key. The value is returned base64-encoded and prefixed with the hash algorithm (such as + // `SHA256`). + // + // The length of this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Fingerprint *string `json:"fingerprint" validate:"required"` + + // The URL for this key. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this key. + ID *string `json:"id" validate:"required"` + + // The length of this key (in bits). + Length *int64 `json:"length" validate:"required"` + + // The name for this key. The name must not be used by another key in the region. If unspecified, the name will be a + // hyphenated list of randomly-selected words. + Name *string `json:"name" validate:"required"` + + // The public SSH key, consisting of two space-separated fields: the algorithm name, and the base64-encoded key. + PublicKey *string `json:"public_key" validate:"required"` + + // The resource group for this key. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The crypto-system for this key. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the Key.Type property. +// The crypto-system for this key. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + KeyTypeEd25519Const = "ed25519" + KeyTypeRsaConst = "rsa" +) + +// UnmarshalKey unmarshals an instance of Key from the specified map of raw messages. +func UnmarshalKey(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Key) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fingerprint", &obj.Fingerprint) + if err != nil { + err = core.SDKErrorf(err, "", "fingerprint-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "length", &obj.Length) + if err != nil { + err = core.SDKErrorf(err, "", "length-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "public_key", &obj.PublicKey) + if err != nil { + err = core.SDKErrorf(err, "", "public_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// KeyCollection : KeyCollection struct +type KeyCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of keys. + Keys []Key `json:"keys" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalKeyCollection unmarshals an instance of KeyCollection from the specified map of raw messages. +func UnmarshalKeyCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(KeyCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKey) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *KeyCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// KeyIdentity : Identifies a key by a unique property. +// Models which "extend" this model: +// - KeyIdentityByID +// - KeyIdentityByCRN +// - KeyIdentityByHref +// - KeyIdentityByFingerprint +type KeyIdentity struct { + // The unique identifier for this key. + ID *string `json:"id,omitempty"` + + // The CRN for this key. + CRN *string `json:"crn,omitempty"` + + // The URL for this key. + Href *string `json:"href,omitempty"` + + // The fingerprint for this key. The value is returned base64-encoded and prefixed with the hash algorithm (such as + // `SHA256`). + // + // The length of this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Fingerprint *string `json:"fingerprint,omitempty"` +} + +func (*KeyIdentity) isaKeyIdentity() bool { + return true +} + +type KeyIdentityIntf interface { + isaKeyIdentity() bool +} + +// UnmarshalKeyIdentity unmarshals an instance of KeyIdentity from the specified map of raw messages. +func UnmarshalKeyIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(KeyIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fingerprint", &obj.Fingerprint) + if err != nil { + err = core.SDKErrorf(err, "", "fingerprint-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// KeyPatch : KeyPatch struct +type KeyPatch struct { + // The name for this key. The name must not be used by another key in the region. + Name *string `json:"name,omitempty"` +} + +// UnmarshalKeyPatch unmarshals an instance of KeyPatch from the specified map of raw messages. +func UnmarshalKeyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(KeyPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the KeyPatch +func (keyPatch *KeyPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(keyPatch.Name) { + _patch["name"] = keyPatch.Name + } + + return +} + +// KeyReference : KeyReference struct +type KeyReference struct { + // The CRN for this key. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The fingerprint for this key. The value is returned base64-encoded and prefixed with the hash algorithm (such as + // `SHA256`). + // + // The length of this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Fingerprint *string `json:"fingerprint" validate:"required"` + + // The URL for this key. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this key. + ID *string `json:"id" validate:"required"` + + // The name for this key. The name is unique across all keys in the region. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalKeyReference unmarshals an instance of KeyReference from the specified map of raw messages. +func UnmarshalKeyReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(KeyReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fingerprint", &obj.Fingerprint) + if err != nil { + err = core.SDKErrorf(err, "", "fingerprint-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LegacyCloudObjectStorageBucketIdentity : Identifies a Cloud Object Storage bucket by a unique property. +// Models which "extend" this model: +// - LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName +type LegacyCloudObjectStorageBucketIdentity struct { + // The globally unique name of this Cloud Object Storage bucket. + Name *string `json:"name,omitempty"` +} + +func (*LegacyCloudObjectStorageBucketIdentity) isaLegacyCloudObjectStorageBucketIdentity() bool { + return true +} + +type LegacyCloudObjectStorageBucketIdentityIntf interface { + isaLegacyCloudObjectStorageBucketIdentity() bool +} + +// UnmarshalLegacyCloudObjectStorageBucketIdentity unmarshals an instance of LegacyCloudObjectStorageBucketIdentity from the specified map of raw messages. +func UnmarshalLegacyCloudObjectStorageBucketIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LegacyCloudObjectStorageBucketIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LegacyCloudObjectStorageBucketReference : LegacyCloudObjectStorageBucketReference struct +type LegacyCloudObjectStorageBucketReference struct { + // The globally unique name of this Cloud Object Storage bucket. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalLegacyCloudObjectStorageBucketReference unmarshals an instance of LegacyCloudObjectStorageBucketReference from the specified map of raw messages. +func UnmarshalLegacyCloudObjectStorageBucketReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LegacyCloudObjectStorageBucketReference) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ListBackupPoliciesOptions : The ListBackupPolicies options. +type ListBackupPoliciesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection to resources with an item in the `tags` property matching the exact specified tag. + Tag *string `json:"tag,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBackupPoliciesOptions : Instantiate ListBackupPoliciesOptions +func (*VpcV1) NewListBackupPoliciesOptions() *ListBackupPoliciesOptions { + return &ListBackupPoliciesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListBackupPoliciesOptions) SetStart(start string) *ListBackupPoliciesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListBackupPoliciesOptions) SetLimit(limit int64) *ListBackupPoliciesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListBackupPoliciesOptions) SetResourceGroupID(resourceGroupID string) *ListBackupPoliciesOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListBackupPoliciesOptions) SetName(name string) *ListBackupPoliciesOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetTag : Allow user to set Tag +func (_options *ListBackupPoliciesOptions) SetTag(tag string) *ListBackupPoliciesOptions { + _options.Tag = core.StringPtr(tag) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBackupPoliciesOptions) SetHeaders(param map[string]string) *ListBackupPoliciesOptions { + options.Headers = param + return options +} + +// ListBackupPolicyJobsOptions : The ListBackupPolicyJobs options. +type ListBackupPolicyJobsOptions struct { + // The backup policy identifier. + BackupPolicyID *string `json:"backup_policy_id" validate:"required,ne="` + + // Filters the collection to backup policy jobs with a `status` property matching the specified value. + Status *string `json:"status,omitempty"` + + // Filters the collection to backup policy jobs with a `backup_policy_plan.id` property matching the specified + // identifier. + BackupPolicyPlanID *string `json:"backup_policy_plan.id,omitempty"` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Filters the collection to backup policy jobs with a `source.id` property matching the specified identifier. + SourceID *string `json:"source.id,omitempty"` + + // Filters the collection to backup policy jobs with an item in the `target_snapshots` property with an `id` property + // matching the specified identifier. + TargetSnapshotsID *string `json:"target_snapshots[].id,omitempty"` + + // Filters the collection to backup policy jobs with an item in the `target_snapshots` property with a `crn` property + // matching the specified CRN. + TargetSnapshotsCRN *string `json:"target_snapshots[].crn,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListBackupPolicyJobsOptions.Status property. +// Filters the collection to backup policy jobs with a `status` property matching the specified value. +const ( + ListBackupPolicyJobsOptionsStatusFailedConst = "failed" + ListBackupPolicyJobsOptionsStatusRunningConst = "running" + ListBackupPolicyJobsOptionsStatusSucceededConst = "succeeded" +) + +// Constants associated with the ListBackupPolicyJobsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListBackupPolicyJobsOptionsSortCreatedAtConst = "created_at" + ListBackupPolicyJobsOptionsSortNameConst = "name" +) + +// NewListBackupPolicyJobsOptions : Instantiate ListBackupPolicyJobsOptions +func (*VpcV1) NewListBackupPolicyJobsOptions(backupPolicyID string) *ListBackupPolicyJobsOptions { + return &ListBackupPolicyJobsOptions{ + BackupPolicyID: core.StringPtr(backupPolicyID), + } +} + +// SetBackupPolicyID : Allow user to set BackupPolicyID +func (_options *ListBackupPolicyJobsOptions) SetBackupPolicyID(backupPolicyID string) *ListBackupPolicyJobsOptions { + _options.BackupPolicyID = core.StringPtr(backupPolicyID) + return _options +} + +// SetStatus : Allow user to set Status +func (_options *ListBackupPolicyJobsOptions) SetStatus(status string) *ListBackupPolicyJobsOptions { + _options.Status = core.StringPtr(status) + return _options +} + +// SetBackupPolicyPlanID : Allow user to set BackupPolicyPlanID +func (_options *ListBackupPolicyJobsOptions) SetBackupPolicyPlanID(backupPolicyPlanID string) *ListBackupPolicyJobsOptions { + _options.BackupPolicyPlanID = core.StringPtr(backupPolicyPlanID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListBackupPolicyJobsOptions) SetStart(start string) *ListBackupPolicyJobsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListBackupPolicyJobsOptions) SetLimit(limit int64) *ListBackupPolicyJobsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListBackupPolicyJobsOptions) SetSort(sort string) *ListBackupPolicyJobsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetSourceID : Allow user to set SourceID +func (_options *ListBackupPolicyJobsOptions) SetSourceID(sourceID string) *ListBackupPolicyJobsOptions { + _options.SourceID = core.StringPtr(sourceID) + return _options +} + +// SetTargetSnapshotsID : Allow user to set TargetSnapshotsID +func (_options *ListBackupPolicyJobsOptions) SetTargetSnapshotsID(targetSnapshotsID string) *ListBackupPolicyJobsOptions { + _options.TargetSnapshotsID = core.StringPtr(targetSnapshotsID) + return _options +} + +// SetTargetSnapshotsCRN : Allow user to set TargetSnapshotsCRN +func (_options *ListBackupPolicyJobsOptions) SetTargetSnapshotsCRN(targetSnapshotsCRN string) *ListBackupPolicyJobsOptions { + _options.TargetSnapshotsCRN = core.StringPtr(targetSnapshotsCRN) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBackupPolicyJobsOptions) SetHeaders(param map[string]string) *ListBackupPolicyJobsOptions { + options.Headers = param + return options +} + +// ListBackupPolicyPlansOptions : The ListBackupPolicyPlans options. +type ListBackupPolicyPlansOptions struct { + // The backup policy identifier. + BackupPolicyID *string `json:"backup_policy_id" validate:"required,ne="` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBackupPolicyPlansOptions : Instantiate ListBackupPolicyPlansOptions +func (*VpcV1) NewListBackupPolicyPlansOptions(backupPolicyID string) *ListBackupPolicyPlansOptions { + return &ListBackupPolicyPlansOptions{ + BackupPolicyID: core.StringPtr(backupPolicyID), + } +} + +// SetBackupPolicyID : Allow user to set BackupPolicyID +func (_options *ListBackupPolicyPlansOptions) SetBackupPolicyID(backupPolicyID string) *ListBackupPolicyPlansOptions { + _options.BackupPolicyID = core.StringPtr(backupPolicyID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListBackupPolicyPlansOptions) SetName(name string) *ListBackupPolicyPlansOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBackupPolicyPlansOptions) SetHeaders(param map[string]string) *ListBackupPolicyPlansOptions { + options.Headers = param + return options +} + +// ListBareMetalServerDisksOptions : The ListBareMetalServerDisks options. +type ListBareMetalServerDisksOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBareMetalServerDisksOptions : Instantiate ListBareMetalServerDisksOptions +func (*VpcV1) NewListBareMetalServerDisksOptions(bareMetalServerID string) *ListBareMetalServerDisksOptions { + return &ListBareMetalServerDisksOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *ListBareMetalServerDisksOptions) SetBareMetalServerID(bareMetalServerID string) *ListBareMetalServerDisksOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBareMetalServerDisksOptions) SetHeaders(param map[string]string) *ListBareMetalServerDisksOptions { + options.Headers = param + return options +} + +// ListBareMetalServerNetworkAttachmentsOptions : The ListBareMetalServerNetworkAttachments options. +type ListBareMetalServerNetworkAttachmentsOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBareMetalServerNetworkAttachmentsOptions : Instantiate ListBareMetalServerNetworkAttachmentsOptions +func (*VpcV1) NewListBareMetalServerNetworkAttachmentsOptions(bareMetalServerID string) *ListBareMetalServerNetworkAttachmentsOptions { + return &ListBareMetalServerNetworkAttachmentsOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *ListBareMetalServerNetworkAttachmentsOptions) SetBareMetalServerID(bareMetalServerID string) *ListBareMetalServerNetworkAttachmentsOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListBareMetalServerNetworkAttachmentsOptions) SetStart(start string) *ListBareMetalServerNetworkAttachmentsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListBareMetalServerNetworkAttachmentsOptions) SetLimit(limit int64) *ListBareMetalServerNetworkAttachmentsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBareMetalServerNetworkAttachmentsOptions) SetHeaders(param map[string]string) *ListBareMetalServerNetworkAttachmentsOptions { + options.Headers = param + return options +} + +// ListBareMetalServerNetworkInterfaceFloatingIpsOptions : The ListBareMetalServerNetworkInterfaceFloatingIps options. +type ListBareMetalServerNetworkInterfaceFloatingIpsOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBareMetalServerNetworkInterfaceFloatingIpsOptions : Instantiate ListBareMetalServerNetworkInterfaceFloatingIpsOptions +func (*VpcV1) NewListBareMetalServerNetworkInterfaceFloatingIpsOptions(bareMetalServerID string, networkInterfaceID string) *ListBareMetalServerNetworkInterfaceFloatingIpsOptions { + return &ListBareMetalServerNetworkInterfaceFloatingIpsOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *ListBareMetalServerNetworkInterfaceFloatingIpsOptions) SetBareMetalServerID(bareMetalServerID string) *ListBareMetalServerNetworkInterfaceFloatingIpsOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *ListBareMetalServerNetworkInterfaceFloatingIpsOptions) SetNetworkInterfaceID(networkInterfaceID string) *ListBareMetalServerNetworkInterfaceFloatingIpsOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBareMetalServerNetworkInterfaceFloatingIpsOptions) SetHeaders(param map[string]string) *ListBareMetalServerNetworkInterfaceFloatingIpsOptions { + options.Headers = param + return options +} + +// ListBareMetalServerNetworkInterfaceIpsOptions : The ListBareMetalServerNetworkInterfaceIps options. +type ListBareMetalServerNetworkInterfaceIpsOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBareMetalServerNetworkInterfaceIpsOptions : Instantiate ListBareMetalServerNetworkInterfaceIpsOptions +func (*VpcV1) NewListBareMetalServerNetworkInterfaceIpsOptions(bareMetalServerID string, networkInterfaceID string) *ListBareMetalServerNetworkInterfaceIpsOptions { + return &ListBareMetalServerNetworkInterfaceIpsOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *ListBareMetalServerNetworkInterfaceIpsOptions) SetBareMetalServerID(bareMetalServerID string) *ListBareMetalServerNetworkInterfaceIpsOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *ListBareMetalServerNetworkInterfaceIpsOptions) SetNetworkInterfaceID(networkInterfaceID string) *ListBareMetalServerNetworkInterfaceIpsOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBareMetalServerNetworkInterfaceIpsOptions) SetHeaders(param map[string]string) *ListBareMetalServerNetworkInterfaceIpsOptions { + options.Headers = param + return options +} + +// ListBareMetalServerNetworkInterfacesOptions : The ListBareMetalServerNetworkInterfaces options. +type ListBareMetalServerNetworkInterfacesOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBareMetalServerNetworkInterfacesOptions : Instantiate ListBareMetalServerNetworkInterfacesOptions +func (*VpcV1) NewListBareMetalServerNetworkInterfacesOptions(bareMetalServerID string) *ListBareMetalServerNetworkInterfacesOptions { + return &ListBareMetalServerNetworkInterfacesOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *ListBareMetalServerNetworkInterfacesOptions) SetBareMetalServerID(bareMetalServerID string) *ListBareMetalServerNetworkInterfacesOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListBareMetalServerNetworkInterfacesOptions) SetStart(start string) *ListBareMetalServerNetworkInterfacesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListBareMetalServerNetworkInterfacesOptions) SetLimit(limit int64) *ListBareMetalServerNetworkInterfacesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBareMetalServerNetworkInterfacesOptions) SetHeaders(param map[string]string) *ListBareMetalServerNetworkInterfacesOptions { + options.Headers = param + return options +} + +// ListBareMetalServerProfilesOptions : The ListBareMetalServerProfiles options. +type ListBareMetalServerProfilesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBareMetalServerProfilesOptions : Instantiate ListBareMetalServerProfilesOptions +func (*VpcV1) NewListBareMetalServerProfilesOptions() *ListBareMetalServerProfilesOptions { + return &ListBareMetalServerProfilesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListBareMetalServerProfilesOptions) SetStart(start string) *ListBareMetalServerProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListBareMetalServerProfilesOptions) SetLimit(limit int64) *ListBareMetalServerProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBareMetalServerProfilesOptions) SetHeaders(param map[string]string) *ListBareMetalServerProfilesOptions { + options.Headers = param + return options +} + +// ListBareMetalServersOptions : The ListBareMetalServers options. +type ListBareMetalServersOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection to resources with a `reservation.id` property matching the specified identifier. + ReservationID *string `json:"reservation.id,omitempty"` + + // Filters the collection to resources with a `reservation.crn` property matching the specified identifier. + ReservationCRN *string `json:"reservation.crn,omitempty"` + + // Filters the collection to resources with a `reservation.name` property matching the specified identifier. + ReservationName *string `json:"reservation.name,omitempty"` + + // Filters the collection to resources with a `vpc.id` property matching the specified identifier. + VPCID *string `json:"vpc.id,omitempty"` + + // Filters the collection to resources with a `vpc.crn` property matching the specified CRN. + VPCCRN *string `json:"vpc.crn,omitempty"` + + // Filters the collection to resources with a `vpc.name` property matching the exact specified name. + VPCName *string `json:"vpc.name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListBareMetalServersOptions : Instantiate ListBareMetalServersOptions +func (*VpcV1) NewListBareMetalServersOptions() *ListBareMetalServersOptions { + return &ListBareMetalServersOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListBareMetalServersOptions) SetStart(start string) *ListBareMetalServersOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListBareMetalServersOptions) SetLimit(limit int64) *ListBareMetalServersOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListBareMetalServersOptions) SetResourceGroupID(resourceGroupID string) *ListBareMetalServersOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListBareMetalServersOptions) SetName(name string) *ListBareMetalServersOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetReservationID : Allow user to set ReservationID +func (_options *ListBareMetalServersOptions) SetReservationID(reservationID string) *ListBareMetalServersOptions { + _options.ReservationID = core.StringPtr(reservationID) + return _options +} + +// SetReservationCRN : Allow user to set ReservationCRN +func (_options *ListBareMetalServersOptions) SetReservationCRN(reservationCRN string) *ListBareMetalServersOptions { + _options.ReservationCRN = core.StringPtr(reservationCRN) + return _options +} + +// SetReservationName : Allow user to set ReservationName +func (_options *ListBareMetalServersOptions) SetReservationName(reservationName string) *ListBareMetalServersOptions { + _options.ReservationName = core.StringPtr(reservationName) + return _options +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListBareMetalServersOptions) SetVPCID(vpcID string) *ListBareMetalServersOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetVPCCRN : Allow user to set VPCCRN +func (_options *ListBareMetalServersOptions) SetVPCCRN(vpcCRN string) *ListBareMetalServersOptions { + _options.VPCCRN = core.StringPtr(vpcCRN) + return _options +} + +// SetVPCName : Allow user to set VPCName +func (_options *ListBareMetalServersOptions) SetVPCName(vpcName string) *ListBareMetalServersOptions { + _options.VPCName = core.StringPtr(vpcName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListBareMetalServersOptions) SetHeaders(param map[string]string) *ListBareMetalServersOptions { + options.Headers = param + return options +} + +// ListClusterNetworkInterfacesOptions : The ListClusterNetworkInterfaces options. +type ListClusterNetworkInterfacesOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListClusterNetworkInterfacesOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListClusterNetworkInterfacesOptionsSortCreatedAtConst = "created_at" + ListClusterNetworkInterfacesOptionsSortNameConst = "name" +) + +// NewListClusterNetworkInterfacesOptions : Instantiate ListClusterNetworkInterfacesOptions +func (*VpcV1) NewListClusterNetworkInterfacesOptions(clusterNetworkID string) *ListClusterNetworkInterfacesOptions { + return &ListClusterNetworkInterfacesOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *ListClusterNetworkInterfacesOptions) SetClusterNetworkID(clusterNetworkID string) *ListClusterNetworkInterfacesOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListClusterNetworkInterfacesOptions) SetStart(start string) *ListClusterNetworkInterfacesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListClusterNetworkInterfacesOptions) SetLimit(limit int64) *ListClusterNetworkInterfacesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListClusterNetworkInterfacesOptions) SetName(name string) *ListClusterNetworkInterfacesOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListClusterNetworkInterfacesOptions) SetSort(sort string) *ListClusterNetworkInterfacesOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListClusterNetworkInterfacesOptions) SetHeaders(param map[string]string) *ListClusterNetworkInterfacesOptions { + options.Headers = param + return options +} + +// ListClusterNetworkProfilesOptions : The ListClusterNetworkProfiles options. +type ListClusterNetworkProfilesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListClusterNetworkProfilesOptions : Instantiate ListClusterNetworkProfilesOptions +func (*VpcV1) NewListClusterNetworkProfilesOptions() *ListClusterNetworkProfilesOptions { + return &ListClusterNetworkProfilesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListClusterNetworkProfilesOptions) SetStart(start string) *ListClusterNetworkProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListClusterNetworkProfilesOptions) SetLimit(limit int64) *ListClusterNetworkProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListClusterNetworkProfilesOptions) SetHeaders(param map[string]string) *ListClusterNetworkProfilesOptions { + options.Headers = param + return options +} + +// ListClusterNetworkSubnetReservedIpsOptions : The ListClusterNetworkSubnetReservedIps options. +type ListClusterNetworkSubnetReservedIpsOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet identifier. + ClusterNetworkSubnetID *string `json:"cluster_network_subnet_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListClusterNetworkSubnetReservedIpsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListClusterNetworkSubnetReservedIpsOptionsSortAddressConst = "address" + ListClusterNetworkSubnetReservedIpsOptionsSortCreatedAtConst = "created_at" + ListClusterNetworkSubnetReservedIpsOptionsSortNameConst = "name" +) + +// NewListClusterNetworkSubnetReservedIpsOptions : Instantiate ListClusterNetworkSubnetReservedIpsOptions +func (*VpcV1) NewListClusterNetworkSubnetReservedIpsOptions(clusterNetworkID string, clusterNetworkSubnetID string) *ListClusterNetworkSubnetReservedIpsOptions { + return &ListClusterNetworkSubnetReservedIpsOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ClusterNetworkSubnetID: core.StringPtr(clusterNetworkSubnetID), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *ListClusterNetworkSubnetReservedIpsOptions) SetClusterNetworkID(clusterNetworkID string) *ListClusterNetworkSubnetReservedIpsOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetClusterNetworkSubnetID : Allow user to set ClusterNetworkSubnetID +func (_options *ListClusterNetworkSubnetReservedIpsOptions) SetClusterNetworkSubnetID(clusterNetworkSubnetID string) *ListClusterNetworkSubnetReservedIpsOptions { + _options.ClusterNetworkSubnetID = core.StringPtr(clusterNetworkSubnetID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListClusterNetworkSubnetReservedIpsOptions) SetStart(start string) *ListClusterNetworkSubnetReservedIpsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListClusterNetworkSubnetReservedIpsOptions) SetLimit(limit int64) *ListClusterNetworkSubnetReservedIpsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListClusterNetworkSubnetReservedIpsOptions) SetName(name string) *ListClusterNetworkSubnetReservedIpsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListClusterNetworkSubnetReservedIpsOptions) SetSort(sort string) *ListClusterNetworkSubnetReservedIpsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListClusterNetworkSubnetReservedIpsOptions) SetHeaders(param map[string]string) *ListClusterNetworkSubnetReservedIpsOptions { + options.Headers = param + return options +} + +// ListClusterNetworkSubnetsOptions : The ListClusterNetworkSubnets options. +type ListClusterNetworkSubnetsOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListClusterNetworkSubnetsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListClusterNetworkSubnetsOptionsSortCreatedAtConst = "created_at" + ListClusterNetworkSubnetsOptionsSortNameConst = "name" +) + +// NewListClusterNetworkSubnetsOptions : Instantiate ListClusterNetworkSubnetsOptions +func (*VpcV1) NewListClusterNetworkSubnetsOptions(clusterNetworkID string) *ListClusterNetworkSubnetsOptions { + return &ListClusterNetworkSubnetsOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *ListClusterNetworkSubnetsOptions) SetClusterNetworkID(clusterNetworkID string) *ListClusterNetworkSubnetsOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListClusterNetworkSubnetsOptions) SetStart(start string) *ListClusterNetworkSubnetsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListClusterNetworkSubnetsOptions) SetLimit(limit int64) *ListClusterNetworkSubnetsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListClusterNetworkSubnetsOptions) SetName(name string) *ListClusterNetworkSubnetsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListClusterNetworkSubnetsOptions) SetSort(sort string) *ListClusterNetworkSubnetsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListClusterNetworkSubnetsOptions) SetHeaders(param map[string]string) *ListClusterNetworkSubnetsOptions { + options.Headers = param + return options +} + +// ListClusterNetworksOptions : The ListClusterNetworks options. +type ListClusterNetworksOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Filters the collection to cluster networks with a `vpc.id` property matching the specified id. + VPCID *string `json:"vpc.id,omitempty"` + + // Filters the collection to cluster networks with a `vpc.crn` property matching the specified CRN. + VPCCRN *string `json:"vpc.crn,omitempty"` + + // Filters the collection to cluster networks with a `vpc.name` property matching the specified name. + VPCName *string `json:"vpc.name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListClusterNetworksOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListClusterNetworksOptionsSortCreatedAtConst = "created_at" + ListClusterNetworksOptionsSortNameConst = "name" +) + +// NewListClusterNetworksOptions : Instantiate ListClusterNetworksOptions +func (*VpcV1) NewListClusterNetworksOptions() *ListClusterNetworksOptions { + return &ListClusterNetworksOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListClusterNetworksOptions) SetStart(start string) *ListClusterNetworksOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListClusterNetworksOptions) SetLimit(limit int64) *ListClusterNetworksOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListClusterNetworksOptions) SetResourceGroupID(resourceGroupID string) *ListClusterNetworksOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListClusterNetworksOptions) SetName(name string) *ListClusterNetworksOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListClusterNetworksOptions) SetSort(sort string) *ListClusterNetworksOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListClusterNetworksOptions) SetVPCID(vpcID string) *ListClusterNetworksOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetVPCCRN : Allow user to set VPCCRN +func (_options *ListClusterNetworksOptions) SetVPCCRN(vpcCRN string) *ListClusterNetworksOptions { + _options.VPCCRN = core.StringPtr(vpcCRN) + return _options +} + +// SetVPCName : Allow user to set VPCName +func (_options *ListClusterNetworksOptions) SetVPCName(vpcName string) *ListClusterNetworksOptions { + _options.VPCName = core.StringPtr(vpcName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListClusterNetworksOptions) SetHeaders(param map[string]string) *ListClusterNetworksOptions { + options.Headers = param + return options +} + +// ListDedicatedHostDisksOptions : The ListDedicatedHostDisks options. +type ListDedicatedHostDisksOptions struct { + // The dedicated host identifier. + DedicatedHostID *string `json:"dedicated_host_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListDedicatedHostDisksOptions : Instantiate ListDedicatedHostDisksOptions +func (*VpcV1) NewListDedicatedHostDisksOptions(dedicatedHostID string) *ListDedicatedHostDisksOptions { + return &ListDedicatedHostDisksOptions{ + DedicatedHostID: core.StringPtr(dedicatedHostID), + } +} + +// SetDedicatedHostID : Allow user to set DedicatedHostID +func (_options *ListDedicatedHostDisksOptions) SetDedicatedHostID(dedicatedHostID string) *ListDedicatedHostDisksOptions { + _options.DedicatedHostID = core.StringPtr(dedicatedHostID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListDedicatedHostDisksOptions) SetHeaders(param map[string]string) *ListDedicatedHostDisksOptions { + options.Headers = param + return options +} + +// ListDedicatedHostGroupsOptions : The ListDedicatedHostGroups options. +type ListDedicatedHostGroupsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `zone.name` property matching the exact specified name. + ZoneName *string `json:"zone.name,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListDedicatedHostGroupsOptions : Instantiate ListDedicatedHostGroupsOptions +func (*VpcV1) NewListDedicatedHostGroupsOptions() *ListDedicatedHostGroupsOptions { + return &ListDedicatedHostGroupsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListDedicatedHostGroupsOptions) SetStart(start string) *ListDedicatedHostGroupsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListDedicatedHostGroupsOptions) SetLimit(limit int64) *ListDedicatedHostGroupsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListDedicatedHostGroupsOptions) SetResourceGroupID(resourceGroupID string) *ListDedicatedHostGroupsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *ListDedicatedHostGroupsOptions) SetZoneName(zoneName string) *ListDedicatedHostGroupsOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListDedicatedHostGroupsOptions) SetName(name string) *ListDedicatedHostGroupsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListDedicatedHostGroupsOptions) SetHeaders(param map[string]string) *ListDedicatedHostGroupsOptions { + options.Headers = param + return options +} + +// ListDedicatedHostProfilesOptions : The ListDedicatedHostProfiles options. +type ListDedicatedHostProfilesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListDedicatedHostProfilesOptions : Instantiate ListDedicatedHostProfilesOptions +func (*VpcV1) NewListDedicatedHostProfilesOptions() *ListDedicatedHostProfilesOptions { + return &ListDedicatedHostProfilesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListDedicatedHostProfilesOptions) SetStart(start string) *ListDedicatedHostProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListDedicatedHostProfilesOptions) SetLimit(limit int64) *ListDedicatedHostProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListDedicatedHostProfilesOptions) SetHeaders(param map[string]string) *ListDedicatedHostProfilesOptions { + options.Headers = param + return options +} + +// ListDedicatedHostsOptions : The ListDedicatedHosts options. +type ListDedicatedHostsOptions struct { + // Filters the collection to dedicated hosts with a `group.id` property matching the specified identifier. + DedicatedHostGroupID *string `json:"dedicated_host_group.id,omitempty"` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `zone.name` property matching the exact specified name. + ZoneName *string `json:"zone.name,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListDedicatedHostsOptions : Instantiate ListDedicatedHostsOptions +func (*VpcV1) NewListDedicatedHostsOptions() *ListDedicatedHostsOptions { + return &ListDedicatedHostsOptions{} +} + +// SetDedicatedHostGroupID : Allow user to set DedicatedHostGroupID +func (_options *ListDedicatedHostsOptions) SetDedicatedHostGroupID(dedicatedHostGroupID string) *ListDedicatedHostsOptions { + _options.DedicatedHostGroupID = core.StringPtr(dedicatedHostGroupID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListDedicatedHostsOptions) SetStart(start string) *ListDedicatedHostsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListDedicatedHostsOptions) SetLimit(limit int64) *ListDedicatedHostsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListDedicatedHostsOptions) SetResourceGroupID(resourceGroupID string) *ListDedicatedHostsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *ListDedicatedHostsOptions) SetZoneName(zoneName string) *ListDedicatedHostsOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListDedicatedHostsOptions) SetName(name string) *ListDedicatedHostsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListDedicatedHostsOptions) SetHeaders(param map[string]string) *ListDedicatedHostsOptions { + options.Headers = param + return options +} + +// ListEndpointGatewayIpsOptions : The ListEndpointGatewayIps options. +type ListEndpointGatewayIpsOptions struct { + // The endpoint gateway identifier. + EndpointGatewayID *string `json:"endpoint_gateway_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListEndpointGatewayIpsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListEndpointGatewayIpsOptionsSortAddressConst = "address" + ListEndpointGatewayIpsOptionsSortCreatedAtConst = "created_at" + ListEndpointGatewayIpsOptionsSortNameConst = "name" +) + +// NewListEndpointGatewayIpsOptions : Instantiate ListEndpointGatewayIpsOptions +func (*VpcV1) NewListEndpointGatewayIpsOptions(endpointGatewayID string) *ListEndpointGatewayIpsOptions { + return &ListEndpointGatewayIpsOptions{ + EndpointGatewayID: core.StringPtr(endpointGatewayID), + } +} + +// SetEndpointGatewayID : Allow user to set EndpointGatewayID +func (_options *ListEndpointGatewayIpsOptions) SetEndpointGatewayID(endpointGatewayID string) *ListEndpointGatewayIpsOptions { + _options.EndpointGatewayID = core.StringPtr(endpointGatewayID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListEndpointGatewayIpsOptions) SetStart(start string) *ListEndpointGatewayIpsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListEndpointGatewayIpsOptions) SetLimit(limit int64) *ListEndpointGatewayIpsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListEndpointGatewayIpsOptions) SetSort(sort string) *ListEndpointGatewayIpsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListEndpointGatewayIpsOptions) SetHeaders(param map[string]string) *ListEndpointGatewayIpsOptions { + options.Headers = param + return options +} + +// ListEndpointGatewaysOptions : The ListEndpointGateways options. +type ListEndpointGatewaysOptions struct { + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `lifecycle_state` property matching one of the specified comma-separated + // values. + LifecycleState []string `json:"lifecycle_state,omitempty"` + + // Filters the collection to resources with a `vpc.id` property matching the specified identifier. + VPCID *string `json:"vpc.id,omitempty"` + + // Filters the collection to resources with a `vpc.crn` property matching the specified CRN. + VPCCRN *string `json:"vpc.crn,omitempty"` + + // Filters the collection to resources with a `vpc.name` property matching the exact specified name. + VPCName *string `json:"vpc.name,omitempty"` + + // Filters the collection to endpoint gateways with an `allow_dns_resolution_binding` property matching the specified + // value. + AllowDnsResolutionBinding *bool `json:"allow_dns_resolution_binding,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListEndpointGatewaysOptions.LifecycleState property. +const ( + ListEndpointGatewaysOptionsLifecycleStateDeletingConst = "deleting" + ListEndpointGatewaysOptionsLifecycleStateFailedConst = "failed" + ListEndpointGatewaysOptionsLifecycleStatePendingConst = "pending" + ListEndpointGatewaysOptionsLifecycleStateStableConst = "stable" + ListEndpointGatewaysOptionsLifecycleStateSuspendedConst = "suspended" + ListEndpointGatewaysOptionsLifecycleStateUpdatingConst = "updating" + ListEndpointGatewaysOptionsLifecycleStateWaitingConst = "waiting" +) + +// NewListEndpointGatewaysOptions : Instantiate ListEndpointGatewaysOptions +func (*VpcV1) NewListEndpointGatewaysOptions() *ListEndpointGatewaysOptions { + return &ListEndpointGatewaysOptions{} +} + +// SetName : Allow user to set Name +func (_options *ListEndpointGatewaysOptions) SetName(name string) *ListEndpointGatewaysOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListEndpointGatewaysOptions) SetStart(start string) *ListEndpointGatewaysOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListEndpointGatewaysOptions) SetLimit(limit int64) *ListEndpointGatewaysOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListEndpointGatewaysOptions) SetResourceGroupID(resourceGroupID string) *ListEndpointGatewaysOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetLifecycleState : Allow user to set LifecycleState +func (_options *ListEndpointGatewaysOptions) SetLifecycleState(lifecycleState []string) *ListEndpointGatewaysOptions { + _options.LifecycleState = lifecycleState + return _options +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListEndpointGatewaysOptions) SetVPCID(vpcID string) *ListEndpointGatewaysOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetVPCCRN : Allow user to set VPCCRN +func (_options *ListEndpointGatewaysOptions) SetVPCCRN(vpcCRN string) *ListEndpointGatewaysOptions { + _options.VPCCRN = core.StringPtr(vpcCRN) + return _options +} + +// SetVPCName : Allow user to set VPCName +func (_options *ListEndpointGatewaysOptions) SetVPCName(vpcName string) *ListEndpointGatewaysOptions { + _options.VPCName = core.StringPtr(vpcName) + return _options +} + +// SetAllowDnsResolutionBinding : Allow user to set AllowDnsResolutionBinding +func (_options *ListEndpointGatewaysOptions) SetAllowDnsResolutionBinding(allowDnsResolutionBinding bool) *ListEndpointGatewaysOptions { + _options.AllowDnsResolutionBinding = core.BoolPtr(allowDnsResolutionBinding) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListEndpointGatewaysOptions) SetHeaders(param map[string]string) *ListEndpointGatewaysOptions { + options.Headers = param + return options +} + +// ListFloatingIpsOptions : The ListFloatingIps options. +type ListFloatingIpsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Filters the collection to resources with a `target.id` property matching the specified identifier. + TargetID *string `json:"target.id,omitempty"` + + // Filters the collection to resources with a `target.crn` property matching the specified CRN. + TargetCRN *string `json:"target.crn,omitempty"` + + // Filters the collection to resources with a `target.name` property matching the exact specified name. + TargetName *string `json:"target.name,omitempty"` + + // Filters the collection to resources with a `target.resource_type` property matching the specified value. + TargetResourceType *string `json:"target.resource_type,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListFloatingIpsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListFloatingIpsOptionsSortCreatedAtConst = "created_at" + ListFloatingIpsOptionsSortNameConst = "name" +) + +// NewListFloatingIpsOptions : Instantiate ListFloatingIpsOptions +func (*VpcV1) NewListFloatingIpsOptions() *ListFloatingIpsOptions { + return &ListFloatingIpsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListFloatingIpsOptions) SetStart(start string) *ListFloatingIpsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListFloatingIpsOptions) SetLimit(limit int64) *ListFloatingIpsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListFloatingIpsOptions) SetResourceGroupID(resourceGroupID string) *ListFloatingIpsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListFloatingIpsOptions) SetSort(sort string) *ListFloatingIpsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetTargetID : Allow user to set TargetID +func (_options *ListFloatingIpsOptions) SetTargetID(targetID string) *ListFloatingIpsOptions { + _options.TargetID = core.StringPtr(targetID) + return _options +} + +// SetTargetCRN : Allow user to set TargetCRN +func (_options *ListFloatingIpsOptions) SetTargetCRN(targetCRN string) *ListFloatingIpsOptions { + _options.TargetCRN = core.StringPtr(targetCRN) + return _options +} + +// SetTargetName : Allow user to set TargetName +func (_options *ListFloatingIpsOptions) SetTargetName(targetName string) *ListFloatingIpsOptions { + _options.TargetName = core.StringPtr(targetName) + return _options +} + +// SetTargetResourceType : Allow user to set TargetResourceType +func (_options *ListFloatingIpsOptions) SetTargetResourceType(targetResourceType string) *ListFloatingIpsOptions { + _options.TargetResourceType = core.StringPtr(targetResourceType) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListFloatingIpsOptions) SetHeaders(param map[string]string) *ListFloatingIpsOptions { + options.Headers = param + return options +} + +// ListFlowLogCollectorsOptions : The ListFlowLogCollectors options. +type ListFlowLogCollectorsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection to resources with a `vpc.id` property matching the specified identifier. + VPCID *string `json:"vpc.id,omitempty"` + + // Filters the collection to resources with a `vpc.crn` property matching the specified CRN. + VPCCRN *string `json:"vpc.crn,omitempty"` + + // Filters the collection to resources with a `vpc.name` property matching the exact specified name. + VPCName *string `json:"vpc.name,omitempty"` + + // Filters the collection to resources with a `target.id` property matching the specified identifier. + TargetID *string `json:"target.id,omitempty"` + + // Filters the collection to resources with a `target.resource_type` property matching the specified value. + TargetResourceType *string `json:"target.resource_type,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListFlowLogCollectorsOptions : Instantiate ListFlowLogCollectorsOptions +func (*VpcV1) NewListFlowLogCollectorsOptions() *ListFlowLogCollectorsOptions { + return &ListFlowLogCollectorsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListFlowLogCollectorsOptions) SetStart(start string) *ListFlowLogCollectorsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListFlowLogCollectorsOptions) SetLimit(limit int64) *ListFlowLogCollectorsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListFlowLogCollectorsOptions) SetResourceGroupID(resourceGroupID string) *ListFlowLogCollectorsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListFlowLogCollectorsOptions) SetName(name string) *ListFlowLogCollectorsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListFlowLogCollectorsOptions) SetVPCID(vpcID string) *ListFlowLogCollectorsOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetVPCCRN : Allow user to set VPCCRN +func (_options *ListFlowLogCollectorsOptions) SetVPCCRN(vpcCRN string) *ListFlowLogCollectorsOptions { + _options.VPCCRN = core.StringPtr(vpcCRN) + return _options +} + +// SetVPCName : Allow user to set VPCName +func (_options *ListFlowLogCollectorsOptions) SetVPCName(vpcName string) *ListFlowLogCollectorsOptions { + _options.VPCName = core.StringPtr(vpcName) + return _options +} + +// SetTargetID : Allow user to set TargetID +func (_options *ListFlowLogCollectorsOptions) SetTargetID(targetID string) *ListFlowLogCollectorsOptions { + _options.TargetID = core.StringPtr(targetID) + return _options +} + +// SetTargetResourceType : Allow user to set TargetResourceType +func (_options *ListFlowLogCollectorsOptions) SetTargetResourceType(targetResourceType string) *ListFlowLogCollectorsOptions { + _options.TargetResourceType = core.StringPtr(targetResourceType) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListFlowLogCollectorsOptions) SetHeaders(param map[string]string) *ListFlowLogCollectorsOptions { + options.Headers = param + return options +} + +// ListIkePoliciesOptions : The ListIkePolicies options. +type ListIkePoliciesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListIkePoliciesOptions : Instantiate ListIkePoliciesOptions +func (*VpcV1) NewListIkePoliciesOptions() *ListIkePoliciesOptions { + return &ListIkePoliciesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListIkePoliciesOptions) SetStart(start string) *ListIkePoliciesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListIkePoliciesOptions) SetLimit(limit int64) *ListIkePoliciesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListIkePoliciesOptions) SetHeaders(param map[string]string) *ListIkePoliciesOptions { + options.Headers = param + return options +} + +// ListIkePolicyConnectionsOptions : The ListIkePolicyConnections options. +type ListIkePolicyConnectionsOptions struct { + // The IKE policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListIkePolicyConnectionsOptions : Instantiate ListIkePolicyConnectionsOptions +func (*VpcV1) NewListIkePolicyConnectionsOptions(id string) *ListIkePolicyConnectionsOptions { + return &ListIkePolicyConnectionsOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListIkePolicyConnectionsOptions) SetID(id string) *ListIkePolicyConnectionsOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListIkePolicyConnectionsOptions) SetStart(start string) *ListIkePolicyConnectionsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListIkePolicyConnectionsOptions) SetLimit(limit int64) *ListIkePolicyConnectionsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListIkePolicyConnectionsOptions) SetHeaders(param map[string]string) *ListIkePolicyConnectionsOptions { + options.Headers = param + return options +} + +// ListImageBareMetalServerProfilesOptions : The ListImageBareMetalServerProfiles options. +type ListImageBareMetalServerProfilesOptions struct { + // The image identifier. + ID *string `json:"id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListImageBareMetalServerProfilesOptions : Instantiate ListImageBareMetalServerProfilesOptions +func (*VpcV1) NewListImageBareMetalServerProfilesOptions(id string) *ListImageBareMetalServerProfilesOptions { + return &ListImageBareMetalServerProfilesOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListImageBareMetalServerProfilesOptions) SetID(id string) *ListImageBareMetalServerProfilesOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListImageBareMetalServerProfilesOptions) SetStart(start string) *ListImageBareMetalServerProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListImageBareMetalServerProfilesOptions) SetLimit(limit int64) *ListImageBareMetalServerProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListImageBareMetalServerProfilesOptions) SetHeaders(param map[string]string) *ListImageBareMetalServerProfilesOptions { + options.Headers = param + return options +} + +// ListImageExportJobsOptions : The ListImageExportJobs options. +type ListImageExportJobsOptions struct { + // The image identifier. + ImageID *string `json:"image_id" validate:"required,ne="` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListImageExportJobsOptions : Instantiate ListImageExportJobsOptions +func (*VpcV1) NewListImageExportJobsOptions(imageID string) *ListImageExportJobsOptions { + return &ListImageExportJobsOptions{ + ImageID: core.StringPtr(imageID), + } +} + +// SetImageID : Allow user to set ImageID +func (_options *ListImageExportJobsOptions) SetImageID(imageID string) *ListImageExportJobsOptions { + _options.ImageID = core.StringPtr(imageID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListImageExportJobsOptions) SetName(name string) *ListImageExportJobsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListImageExportJobsOptions) SetHeaders(param map[string]string) *ListImageExportJobsOptions { + options.Headers = param + return options +} + +// ListImageInstanceProfilesOptions : The ListImageInstanceProfiles options. +type ListImageInstanceProfilesOptions struct { + // The image identifier. + ID *string `json:"id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListImageInstanceProfilesOptions : Instantiate ListImageInstanceProfilesOptions +func (*VpcV1) NewListImageInstanceProfilesOptions(id string) *ListImageInstanceProfilesOptions { + return &ListImageInstanceProfilesOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListImageInstanceProfilesOptions) SetID(id string) *ListImageInstanceProfilesOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListImageInstanceProfilesOptions) SetStart(start string) *ListImageInstanceProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListImageInstanceProfilesOptions) SetLimit(limit int64) *ListImageInstanceProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListImageInstanceProfilesOptions) SetHeaders(param map[string]string) *ListImageInstanceProfilesOptions { + options.Headers = param + return options +} + +// ListImagesOptions : The ListImages options. +type ListImagesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection to images with a `status` property matching one of the specified comma-separated values. + Status []string `json:"status,omitempty"` + + // Filters the collection to images with a `visibility` property matching the specified value. + Visibility *string `json:"visibility,omitempty"` + + // Filters the collection to images with a `user_data_format` property matching one of the specified comma-separated + // values. + UserDataFormat []string `json:"user_data_format,omitempty"` + + // Filters the collection to images with a `remote.account.id` property matching the specified account identifier. + // + // This parameter also supports the values null and not:null which filter the collection to resources which have no + // remote account identifier or any remote account identifier, respectively. + RemoteAccountID *string `json:"remote.account.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListImagesOptions.Status property. +const ( + ListImagesOptionsStatusAvailableConst = "available" + ListImagesOptionsStatusDeletingConst = "deleting" + ListImagesOptionsStatusDeprecatedConst = "deprecated" + ListImagesOptionsStatusFailedConst = "failed" + ListImagesOptionsStatusObsoleteConst = "obsolete" + ListImagesOptionsStatusPendingConst = "pending" + ListImagesOptionsStatusUnusableConst = "unusable" +) + +// Constants associated with the ListImagesOptions.Visibility property. +// Filters the collection to images with a `visibility` property matching the specified value. +const ( + ListImagesOptionsVisibilityPrivateConst = "private" + ListImagesOptionsVisibilityPublicConst = "public" +) + +// Constants associated with the ListImagesOptions.UserDataFormat property. +const ( + ListImagesOptionsUserDataFormatCloudInitConst = "cloud_init" + ListImagesOptionsUserDataFormatEsxiKickstartConst = "esxi_kickstart" + ListImagesOptionsUserDataFormatIpxeConst = "ipxe" +) + +// NewListImagesOptions : Instantiate ListImagesOptions +func (*VpcV1) NewListImagesOptions() *ListImagesOptions { + return &ListImagesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListImagesOptions) SetStart(start string) *ListImagesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListImagesOptions) SetLimit(limit int64) *ListImagesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListImagesOptions) SetResourceGroupID(resourceGroupID string) *ListImagesOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListImagesOptions) SetName(name string) *ListImagesOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetStatus : Allow user to set Status +func (_options *ListImagesOptions) SetStatus(status []string) *ListImagesOptions { + _options.Status = status + return _options +} + +// SetVisibility : Allow user to set Visibility +func (_options *ListImagesOptions) SetVisibility(visibility string) *ListImagesOptions { + _options.Visibility = core.StringPtr(visibility) + return _options +} + +// SetUserDataFormat : Allow user to set UserDataFormat +func (_options *ListImagesOptions) SetUserDataFormat(userDataFormat []string) *ListImagesOptions { + _options.UserDataFormat = userDataFormat + return _options +} + +// SetRemoteAccountID : Allow user to set RemoteAccountID +func (_options *ListImagesOptions) SetRemoteAccountID(remoteAccountID string) *ListImagesOptions { + _options.RemoteAccountID = core.StringPtr(remoteAccountID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListImagesOptions) SetHeaders(param map[string]string) *ListImagesOptions { + options.Headers = param + return options +} + +// ListInstanceClusterNetworkAttachmentsOptions : The ListInstanceClusterNetworkAttachments options. +type ListInstanceClusterNetworkAttachmentsOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceClusterNetworkAttachmentsOptions : Instantiate ListInstanceClusterNetworkAttachmentsOptions +func (*VpcV1) NewListInstanceClusterNetworkAttachmentsOptions(instanceID string) *ListInstanceClusterNetworkAttachmentsOptions { + return &ListInstanceClusterNetworkAttachmentsOptions{ + InstanceID: core.StringPtr(instanceID), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *ListInstanceClusterNetworkAttachmentsOptions) SetInstanceID(instanceID string) *ListInstanceClusterNetworkAttachmentsOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListInstanceClusterNetworkAttachmentsOptions) SetStart(start string) *ListInstanceClusterNetworkAttachmentsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListInstanceClusterNetworkAttachmentsOptions) SetLimit(limit int64) *ListInstanceClusterNetworkAttachmentsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceClusterNetworkAttachmentsOptions) SetHeaders(param map[string]string) *ListInstanceClusterNetworkAttachmentsOptions { + options.Headers = param + return options +} + +// ListInstanceDisksOptions : The ListInstanceDisks options. +type ListInstanceDisksOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceDisksOptions : Instantiate ListInstanceDisksOptions +func (*VpcV1) NewListInstanceDisksOptions(instanceID string) *ListInstanceDisksOptions { + return &ListInstanceDisksOptions{ + InstanceID: core.StringPtr(instanceID), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *ListInstanceDisksOptions) SetInstanceID(instanceID string) *ListInstanceDisksOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceDisksOptions) SetHeaders(param map[string]string) *ListInstanceDisksOptions { + options.Headers = param + return options +} + +// ListInstanceGroupManagerActionsOptions : The ListInstanceGroupManagerActions options. +type ListInstanceGroupManagerActionsOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceGroupManagerActionsOptions : Instantiate ListInstanceGroupManagerActionsOptions +func (*VpcV1) NewListInstanceGroupManagerActionsOptions(instanceGroupID string, instanceGroupManagerID string) *ListInstanceGroupManagerActionsOptions { + return &ListInstanceGroupManagerActionsOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *ListInstanceGroupManagerActionsOptions) SetInstanceGroupID(instanceGroupID string) *ListInstanceGroupManagerActionsOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *ListInstanceGroupManagerActionsOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *ListInstanceGroupManagerActionsOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListInstanceGroupManagerActionsOptions) SetStart(start string) *ListInstanceGroupManagerActionsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListInstanceGroupManagerActionsOptions) SetLimit(limit int64) *ListInstanceGroupManagerActionsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceGroupManagerActionsOptions) SetHeaders(param map[string]string) *ListInstanceGroupManagerActionsOptions { + options.Headers = param + return options +} + +// ListInstanceGroupManagerPoliciesOptions : The ListInstanceGroupManagerPolicies options. +type ListInstanceGroupManagerPoliciesOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceGroupManagerPoliciesOptions : Instantiate ListInstanceGroupManagerPoliciesOptions +func (*VpcV1) NewListInstanceGroupManagerPoliciesOptions(instanceGroupID string, instanceGroupManagerID string) *ListInstanceGroupManagerPoliciesOptions { + return &ListInstanceGroupManagerPoliciesOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *ListInstanceGroupManagerPoliciesOptions) SetInstanceGroupID(instanceGroupID string) *ListInstanceGroupManagerPoliciesOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *ListInstanceGroupManagerPoliciesOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *ListInstanceGroupManagerPoliciesOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListInstanceGroupManagerPoliciesOptions) SetStart(start string) *ListInstanceGroupManagerPoliciesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListInstanceGroupManagerPoliciesOptions) SetLimit(limit int64) *ListInstanceGroupManagerPoliciesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceGroupManagerPoliciesOptions) SetHeaders(param map[string]string) *ListInstanceGroupManagerPoliciesOptions { + options.Headers = param + return options +} + +// ListInstanceGroupManagersOptions : The ListInstanceGroupManagers options. +type ListInstanceGroupManagersOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceGroupManagersOptions : Instantiate ListInstanceGroupManagersOptions +func (*VpcV1) NewListInstanceGroupManagersOptions(instanceGroupID string) *ListInstanceGroupManagersOptions { + return &ListInstanceGroupManagersOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *ListInstanceGroupManagersOptions) SetInstanceGroupID(instanceGroupID string) *ListInstanceGroupManagersOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListInstanceGroupManagersOptions) SetStart(start string) *ListInstanceGroupManagersOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListInstanceGroupManagersOptions) SetLimit(limit int64) *ListInstanceGroupManagersOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceGroupManagersOptions) SetHeaders(param map[string]string) *ListInstanceGroupManagersOptions { + options.Headers = param + return options +} + +// ListInstanceGroupMembershipsOptions : The ListInstanceGroupMemberships options. +type ListInstanceGroupMembershipsOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceGroupMembershipsOptions : Instantiate ListInstanceGroupMembershipsOptions +func (*VpcV1) NewListInstanceGroupMembershipsOptions(instanceGroupID string) *ListInstanceGroupMembershipsOptions { + return &ListInstanceGroupMembershipsOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *ListInstanceGroupMembershipsOptions) SetInstanceGroupID(instanceGroupID string) *ListInstanceGroupMembershipsOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListInstanceGroupMembershipsOptions) SetStart(start string) *ListInstanceGroupMembershipsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListInstanceGroupMembershipsOptions) SetLimit(limit int64) *ListInstanceGroupMembershipsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceGroupMembershipsOptions) SetHeaders(param map[string]string) *ListInstanceGroupMembershipsOptions { + options.Headers = param + return options +} + +// ListInstanceGroupsOptions : The ListInstanceGroups options. +type ListInstanceGroupsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceGroupsOptions : Instantiate ListInstanceGroupsOptions +func (*VpcV1) NewListInstanceGroupsOptions() *ListInstanceGroupsOptions { + return &ListInstanceGroupsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListInstanceGroupsOptions) SetStart(start string) *ListInstanceGroupsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListInstanceGroupsOptions) SetLimit(limit int64) *ListInstanceGroupsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceGroupsOptions) SetHeaders(param map[string]string) *ListInstanceGroupsOptions { + options.Headers = param + return options +} + +// ListInstanceNetworkAttachmentsOptions : The ListInstanceNetworkAttachments options. +type ListInstanceNetworkAttachmentsOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceNetworkAttachmentsOptions : Instantiate ListInstanceNetworkAttachmentsOptions +func (*VpcV1) NewListInstanceNetworkAttachmentsOptions(instanceID string) *ListInstanceNetworkAttachmentsOptions { + return &ListInstanceNetworkAttachmentsOptions{ + InstanceID: core.StringPtr(instanceID), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *ListInstanceNetworkAttachmentsOptions) SetInstanceID(instanceID string) *ListInstanceNetworkAttachmentsOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceNetworkAttachmentsOptions) SetHeaders(param map[string]string) *ListInstanceNetworkAttachmentsOptions { + options.Headers = param + return options +} + +// ListInstanceNetworkInterfaceFloatingIpsOptions : The ListInstanceNetworkInterfaceFloatingIps options. +type ListInstanceNetworkInterfaceFloatingIpsOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceNetworkInterfaceFloatingIpsOptions : Instantiate ListInstanceNetworkInterfaceFloatingIpsOptions +func (*VpcV1) NewListInstanceNetworkInterfaceFloatingIpsOptions(instanceID string, networkInterfaceID string) *ListInstanceNetworkInterfaceFloatingIpsOptions { + return &ListInstanceNetworkInterfaceFloatingIpsOptions{ + InstanceID: core.StringPtr(instanceID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *ListInstanceNetworkInterfaceFloatingIpsOptions) SetInstanceID(instanceID string) *ListInstanceNetworkInterfaceFloatingIpsOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *ListInstanceNetworkInterfaceFloatingIpsOptions) SetNetworkInterfaceID(networkInterfaceID string) *ListInstanceNetworkInterfaceFloatingIpsOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceNetworkInterfaceFloatingIpsOptions) SetHeaders(param map[string]string) *ListInstanceNetworkInterfaceFloatingIpsOptions { + options.Headers = param + return options +} + +// ListInstanceNetworkInterfaceIpsOptions : The ListInstanceNetworkInterfaceIps options. +type ListInstanceNetworkInterfaceIpsOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceNetworkInterfaceIpsOptions : Instantiate ListInstanceNetworkInterfaceIpsOptions +func (*VpcV1) NewListInstanceNetworkInterfaceIpsOptions(instanceID string, networkInterfaceID string) *ListInstanceNetworkInterfaceIpsOptions { + return &ListInstanceNetworkInterfaceIpsOptions{ + InstanceID: core.StringPtr(instanceID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *ListInstanceNetworkInterfaceIpsOptions) SetInstanceID(instanceID string) *ListInstanceNetworkInterfaceIpsOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *ListInstanceNetworkInterfaceIpsOptions) SetNetworkInterfaceID(networkInterfaceID string) *ListInstanceNetworkInterfaceIpsOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListInstanceNetworkInterfaceIpsOptions) SetStart(start string) *ListInstanceNetworkInterfaceIpsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListInstanceNetworkInterfaceIpsOptions) SetLimit(limit int64) *ListInstanceNetworkInterfaceIpsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceNetworkInterfaceIpsOptions) SetHeaders(param map[string]string) *ListInstanceNetworkInterfaceIpsOptions { + options.Headers = param + return options +} + +// ListInstanceNetworkInterfacesOptions : The ListInstanceNetworkInterfaces options. +type ListInstanceNetworkInterfacesOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceNetworkInterfacesOptions : Instantiate ListInstanceNetworkInterfacesOptions +func (*VpcV1) NewListInstanceNetworkInterfacesOptions(instanceID string) *ListInstanceNetworkInterfacesOptions { + return &ListInstanceNetworkInterfacesOptions{ + InstanceID: core.StringPtr(instanceID), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *ListInstanceNetworkInterfacesOptions) SetInstanceID(instanceID string) *ListInstanceNetworkInterfacesOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceNetworkInterfacesOptions) SetHeaders(param map[string]string) *ListInstanceNetworkInterfacesOptions { + options.Headers = param + return options +} + +// ListInstanceProfilesOptions : The ListInstanceProfiles options. +type ListInstanceProfilesOptions struct { + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceProfilesOptions : Instantiate ListInstanceProfilesOptions +func (*VpcV1) NewListInstanceProfilesOptions() *ListInstanceProfilesOptions { + return &ListInstanceProfilesOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceProfilesOptions) SetHeaders(param map[string]string) *ListInstanceProfilesOptions { + options.Headers = param + return options +} + +// ListInstanceTemplatesOptions : The ListInstanceTemplates options. +type ListInstanceTemplatesOptions struct { + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceTemplatesOptions : Instantiate ListInstanceTemplatesOptions +func (*VpcV1) NewListInstanceTemplatesOptions() *ListInstanceTemplatesOptions { + return &ListInstanceTemplatesOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceTemplatesOptions) SetHeaders(param map[string]string) *ListInstanceTemplatesOptions { + options.Headers = param + return options +} + +// ListInstanceVolumeAttachmentsOptions : The ListInstanceVolumeAttachments options. +type ListInstanceVolumeAttachmentsOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListInstanceVolumeAttachmentsOptions : Instantiate ListInstanceVolumeAttachmentsOptions +func (*VpcV1) NewListInstanceVolumeAttachmentsOptions(instanceID string) *ListInstanceVolumeAttachmentsOptions { + return &ListInstanceVolumeAttachmentsOptions{ + InstanceID: core.StringPtr(instanceID), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *ListInstanceVolumeAttachmentsOptions) SetInstanceID(instanceID string) *ListInstanceVolumeAttachmentsOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstanceVolumeAttachmentsOptions) SetHeaders(param map[string]string) *ListInstanceVolumeAttachmentsOptions { + options.Headers = param + return options +} + +// ListInstancesOptions : The ListInstances options. +type ListInstancesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection to instances with a `cluster_network.id` property matching the specified identifier. + ClusterNetworkID *string `json:"cluster_network.id,omitempty"` + + // Filters the collection to instances with a `cluster_network.crn` property matching the specified CRN. + ClusterNetworkCRN *string `json:"cluster_network.crn,omitempty"` + + // Filters the collection to resources with a `cluster_network.name` property matching the exact specified name. + ClusterNetworkName *string `json:"cluster_network.name,omitempty"` + + // Filters the collection to resources with a `dedicated_host.id` property matching the specified identifier. + DedicatedHostID *string `json:"dedicated_host.id,omitempty"` + + // Filters the collection to resources with a `dedicated_host.crn` property matching the specified CRN. + DedicatedHostCRN *string `json:"dedicated_host.crn,omitempty"` + + // Filters the collection to resources with a `dedicated_host.name` property matching the exact specified name. + DedicatedHostName *string `json:"dedicated_host.name,omitempty"` + + // Filters the collection to resources with a `placement_target.id` property matching the specified placement group + // identifier. + PlacementGroupID *string `json:"placement_group.id,omitempty"` + + // Filters the collection to resources with a `placement_target.crn` property matching the specified placement group + // CRN. + PlacementGroupCRN *string `json:"placement_group.crn,omitempty"` + + // Filters the collection to resources with a `placement_target.name` property matching the exact specified placement + // group name. + PlacementGroupName *string `json:"placement_group.name,omitempty"` + + // Filters the collection to instances with a `reservation_affinity.policy` property matching the specified value. + ReservationAffinityPolicy *string `json:"reservation_affinity.policy,omitempty"` + + // Filters the collection to resources with a `reservation.id` property matching the specified identifier. + ReservationID *string `json:"reservation.id,omitempty"` + + // Filters the collection to resources with a `reservation.crn` property matching the specified identifier. + ReservationCRN *string `json:"reservation.crn,omitempty"` + + // Filters the collection to resources with a `reservation.name` property matching the specified identifier. + ReservationName *string `json:"reservation.name,omitempty"` + + // Filters the collection to resources with a `vpc.id` property matching the specified identifier. + VPCID *string `json:"vpc.id,omitempty"` + + // Filters the collection to resources with a `vpc.crn` property matching the specified CRN. + VPCCRN *string `json:"vpc.crn,omitempty"` + + // Filters the collection to resources with a `vpc.name` property matching the exact specified name. + VPCName *string `json:"vpc.name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListInstancesOptions.ReservationAffinityPolicy property. +// Filters the collection to instances with a `reservation_affinity.policy` property matching the specified value. +const ( + ListInstancesOptionsReservationAffinityPolicyAutomaticConst = "automatic" + ListInstancesOptionsReservationAffinityPolicyDisabledConst = "disabled" + ListInstancesOptionsReservationAffinityPolicyManualConst = "manual" +) + +// NewListInstancesOptions : Instantiate ListInstancesOptions +func (*VpcV1) NewListInstancesOptions() *ListInstancesOptions { + return &ListInstancesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListInstancesOptions) SetStart(start string) *ListInstancesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListInstancesOptions) SetLimit(limit int64) *ListInstancesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListInstancesOptions) SetResourceGroupID(resourceGroupID string) *ListInstancesOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListInstancesOptions) SetName(name string) *ListInstancesOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *ListInstancesOptions) SetClusterNetworkID(clusterNetworkID string) *ListInstancesOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetClusterNetworkCRN : Allow user to set ClusterNetworkCRN +func (_options *ListInstancesOptions) SetClusterNetworkCRN(clusterNetworkCRN string) *ListInstancesOptions { + _options.ClusterNetworkCRN = core.StringPtr(clusterNetworkCRN) + return _options +} + +// SetClusterNetworkName : Allow user to set ClusterNetworkName +func (_options *ListInstancesOptions) SetClusterNetworkName(clusterNetworkName string) *ListInstancesOptions { + _options.ClusterNetworkName = core.StringPtr(clusterNetworkName) + return _options +} + +// SetDedicatedHostID : Allow user to set DedicatedHostID +func (_options *ListInstancesOptions) SetDedicatedHostID(dedicatedHostID string) *ListInstancesOptions { + _options.DedicatedHostID = core.StringPtr(dedicatedHostID) + return _options +} + +// SetDedicatedHostCRN : Allow user to set DedicatedHostCRN +func (_options *ListInstancesOptions) SetDedicatedHostCRN(dedicatedHostCRN string) *ListInstancesOptions { + _options.DedicatedHostCRN = core.StringPtr(dedicatedHostCRN) + return _options +} + +// SetDedicatedHostName : Allow user to set DedicatedHostName +func (_options *ListInstancesOptions) SetDedicatedHostName(dedicatedHostName string) *ListInstancesOptions { + _options.DedicatedHostName = core.StringPtr(dedicatedHostName) + return _options +} + +// SetPlacementGroupID : Allow user to set PlacementGroupID +func (_options *ListInstancesOptions) SetPlacementGroupID(placementGroupID string) *ListInstancesOptions { + _options.PlacementGroupID = core.StringPtr(placementGroupID) + return _options +} + +// SetPlacementGroupCRN : Allow user to set PlacementGroupCRN +func (_options *ListInstancesOptions) SetPlacementGroupCRN(placementGroupCRN string) *ListInstancesOptions { + _options.PlacementGroupCRN = core.StringPtr(placementGroupCRN) + return _options +} + +// SetPlacementGroupName : Allow user to set PlacementGroupName +func (_options *ListInstancesOptions) SetPlacementGroupName(placementGroupName string) *ListInstancesOptions { + _options.PlacementGroupName = core.StringPtr(placementGroupName) + return _options +} + +// SetReservationAffinityPolicy : Allow user to set ReservationAffinityPolicy +func (_options *ListInstancesOptions) SetReservationAffinityPolicy(reservationAffinityPolicy string) *ListInstancesOptions { + _options.ReservationAffinityPolicy = core.StringPtr(reservationAffinityPolicy) + return _options +} + +// SetReservationID : Allow user to set ReservationID +func (_options *ListInstancesOptions) SetReservationID(reservationID string) *ListInstancesOptions { + _options.ReservationID = core.StringPtr(reservationID) + return _options +} + +// SetReservationCRN : Allow user to set ReservationCRN +func (_options *ListInstancesOptions) SetReservationCRN(reservationCRN string) *ListInstancesOptions { + _options.ReservationCRN = core.StringPtr(reservationCRN) + return _options +} + +// SetReservationName : Allow user to set ReservationName +func (_options *ListInstancesOptions) SetReservationName(reservationName string) *ListInstancesOptions { + _options.ReservationName = core.StringPtr(reservationName) + return _options +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListInstancesOptions) SetVPCID(vpcID string) *ListInstancesOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetVPCCRN : Allow user to set VPCCRN +func (_options *ListInstancesOptions) SetVPCCRN(vpcCRN string) *ListInstancesOptions { + _options.VPCCRN = core.StringPtr(vpcCRN) + return _options +} + +// SetVPCName : Allow user to set VPCName +func (_options *ListInstancesOptions) SetVPCName(vpcName string) *ListInstancesOptions { + _options.VPCName = core.StringPtr(vpcName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListInstancesOptions) SetHeaders(param map[string]string) *ListInstancesOptions { + options.Headers = param + return options +} + +// ListIpsecPoliciesOptions : The ListIpsecPolicies options. +type ListIpsecPoliciesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListIpsecPoliciesOptions : Instantiate ListIpsecPoliciesOptions +func (*VpcV1) NewListIpsecPoliciesOptions() *ListIpsecPoliciesOptions { + return &ListIpsecPoliciesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListIpsecPoliciesOptions) SetStart(start string) *ListIpsecPoliciesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListIpsecPoliciesOptions) SetLimit(limit int64) *ListIpsecPoliciesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListIpsecPoliciesOptions) SetHeaders(param map[string]string) *ListIpsecPoliciesOptions { + options.Headers = param + return options +} + +// ListIpsecPolicyConnectionsOptions : The ListIpsecPolicyConnections options. +type ListIpsecPolicyConnectionsOptions struct { + // The IPsec policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListIpsecPolicyConnectionsOptions : Instantiate ListIpsecPolicyConnectionsOptions +func (*VpcV1) NewListIpsecPolicyConnectionsOptions(id string) *ListIpsecPolicyConnectionsOptions { + return &ListIpsecPolicyConnectionsOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListIpsecPolicyConnectionsOptions) SetID(id string) *ListIpsecPolicyConnectionsOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListIpsecPolicyConnectionsOptions) SetStart(start string) *ListIpsecPolicyConnectionsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListIpsecPolicyConnectionsOptions) SetLimit(limit int64) *ListIpsecPolicyConnectionsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListIpsecPolicyConnectionsOptions) SetHeaders(param map[string]string) *ListIpsecPolicyConnectionsOptions { + options.Headers = param + return options +} + +// ListKeysOptions : The ListKeys options. +type ListKeysOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListKeysOptions : Instantiate ListKeysOptions +func (*VpcV1) NewListKeysOptions() *ListKeysOptions { + return &ListKeysOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListKeysOptions) SetStart(start string) *ListKeysOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListKeysOptions) SetLimit(limit int64) *ListKeysOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListKeysOptions) SetResourceGroupID(resourceGroupID string) *ListKeysOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListKeysOptions) SetHeaders(param map[string]string) *ListKeysOptions { + options.Headers = param + return options +} + +// ListLoadBalancerListenerPoliciesOptions : The ListLoadBalancerListenerPolicies options. +type ListLoadBalancerListenerPoliciesOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListLoadBalancerListenerPoliciesOptions : Instantiate ListLoadBalancerListenerPoliciesOptions +func (*VpcV1) NewListLoadBalancerListenerPoliciesOptions(loadBalancerID string, listenerID string) *ListLoadBalancerListenerPoliciesOptions { + return &ListLoadBalancerListenerPoliciesOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *ListLoadBalancerListenerPoliciesOptions) SetLoadBalancerID(loadBalancerID string) *ListLoadBalancerListenerPoliciesOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *ListLoadBalancerListenerPoliciesOptions) SetListenerID(listenerID string) *ListLoadBalancerListenerPoliciesOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListLoadBalancerListenerPoliciesOptions) SetHeaders(param map[string]string) *ListLoadBalancerListenerPoliciesOptions { + options.Headers = param + return options +} + +// ListLoadBalancerListenerPolicyRulesOptions : The ListLoadBalancerListenerPolicyRules options. +type ListLoadBalancerListenerPolicyRulesOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy identifier. + PolicyID *string `json:"policy_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListLoadBalancerListenerPolicyRulesOptions : Instantiate ListLoadBalancerListenerPolicyRulesOptions +func (*VpcV1) NewListLoadBalancerListenerPolicyRulesOptions(loadBalancerID string, listenerID string, policyID string) *ListLoadBalancerListenerPolicyRulesOptions { + return &ListLoadBalancerListenerPolicyRulesOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + PolicyID: core.StringPtr(policyID), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *ListLoadBalancerListenerPolicyRulesOptions) SetLoadBalancerID(loadBalancerID string) *ListLoadBalancerListenerPolicyRulesOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *ListLoadBalancerListenerPolicyRulesOptions) SetListenerID(listenerID string) *ListLoadBalancerListenerPolicyRulesOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetPolicyID : Allow user to set PolicyID +func (_options *ListLoadBalancerListenerPolicyRulesOptions) SetPolicyID(policyID string) *ListLoadBalancerListenerPolicyRulesOptions { + _options.PolicyID = core.StringPtr(policyID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListLoadBalancerListenerPolicyRulesOptions) SetHeaders(param map[string]string) *ListLoadBalancerListenerPolicyRulesOptions { + options.Headers = param + return options +} + +// ListLoadBalancerListenersOptions : The ListLoadBalancerListeners options. +type ListLoadBalancerListenersOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListLoadBalancerListenersOptions : Instantiate ListLoadBalancerListenersOptions +func (*VpcV1) NewListLoadBalancerListenersOptions(loadBalancerID string) *ListLoadBalancerListenersOptions { + return &ListLoadBalancerListenersOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *ListLoadBalancerListenersOptions) SetLoadBalancerID(loadBalancerID string) *ListLoadBalancerListenersOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListLoadBalancerListenersOptions) SetHeaders(param map[string]string) *ListLoadBalancerListenersOptions { + options.Headers = param + return options +} + +// ListLoadBalancerPoolMembersOptions : The ListLoadBalancerPoolMembers options. +type ListLoadBalancerPoolMembersOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + PoolID *string `json:"pool_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListLoadBalancerPoolMembersOptions : Instantiate ListLoadBalancerPoolMembersOptions +func (*VpcV1) NewListLoadBalancerPoolMembersOptions(loadBalancerID string, poolID string) *ListLoadBalancerPoolMembersOptions { + return &ListLoadBalancerPoolMembersOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + PoolID: core.StringPtr(poolID), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *ListLoadBalancerPoolMembersOptions) SetLoadBalancerID(loadBalancerID string) *ListLoadBalancerPoolMembersOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetPoolID : Allow user to set PoolID +func (_options *ListLoadBalancerPoolMembersOptions) SetPoolID(poolID string) *ListLoadBalancerPoolMembersOptions { + _options.PoolID = core.StringPtr(poolID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListLoadBalancerPoolMembersOptions) SetHeaders(param map[string]string) *ListLoadBalancerPoolMembersOptions { + options.Headers = param + return options +} + +// ListLoadBalancerPoolsOptions : The ListLoadBalancerPools options. +type ListLoadBalancerPoolsOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListLoadBalancerPoolsOptions : Instantiate ListLoadBalancerPoolsOptions +func (*VpcV1) NewListLoadBalancerPoolsOptions(loadBalancerID string) *ListLoadBalancerPoolsOptions { + return &ListLoadBalancerPoolsOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *ListLoadBalancerPoolsOptions) SetLoadBalancerID(loadBalancerID string) *ListLoadBalancerPoolsOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListLoadBalancerPoolsOptions) SetHeaders(param map[string]string) *ListLoadBalancerPoolsOptions { + options.Headers = param + return options +} + +// ListLoadBalancerProfilesOptions : The ListLoadBalancerProfiles options. +type ListLoadBalancerProfilesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListLoadBalancerProfilesOptions : Instantiate ListLoadBalancerProfilesOptions +func (*VpcV1) NewListLoadBalancerProfilesOptions() *ListLoadBalancerProfilesOptions { + return &ListLoadBalancerProfilesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListLoadBalancerProfilesOptions) SetStart(start string) *ListLoadBalancerProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListLoadBalancerProfilesOptions) SetLimit(limit int64) *ListLoadBalancerProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListLoadBalancerProfilesOptions) SetHeaders(param map[string]string) *ListLoadBalancerProfilesOptions { + options.Headers = param + return options +} + +// ListLoadBalancersOptions : The ListLoadBalancers options. +type ListLoadBalancersOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListLoadBalancersOptions : Instantiate ListLoadBalancersOptions +func (*VpcV1) NewListLoadBalancersOptions() *ListLoadBalancersOptions { + return &ListLoadBalancersOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListLoadBalancersOptions) SetStart(start string) *ListLoadBalancersOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListLoadBalancersOptions) SetLimit(limit int64) *ListLoadBalancersOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListLoadBalancersOptions) SetHeaders(param map[string]string) *ListLoadBalancersOptions { + options.Headers = param + return options +} + +// ListNetworkACLRulesOptions : The ListNetworkACLRules options. +type ListNetworkACLRulesOptions struct { + // The network ACL identifier. + NetworkACLID *string `json:"network_acl_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to rules with a `direction` property matching the specified value. + Direction *string `json:"direction,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListNetworkACLRulesOptions.Direction property. +// Filters the collection to rules with a `direction` property matching the specified value. +const ( + ListNetworkACLRulesOptionsDirectionInboundConst = "inbound" + ListNetworkACLRulesOptionsDirectionOutboundConst = "outbound" +) + +// NewListNetworkACLRulesOptions : Instantiate ListNetworkACLRulesOptions +func (*VpcV1) NewListNetworkACLRulesOptions(networkACLID string) *ListNetworkACLRulesOptions { + return &ListNetworkACLRulesOptions{ + NetworkACLID: core.StringPtr(networkACLID), + } +} + +// SetNetworkACLID : Allow user to set NetworkACLID +func (_options *ListNetworkACLRulesOptions) SetNetworkACLID(networkACLID string) *ListNetworkACLRulesOptions { + _options.NetworkACLID = core.StringPtr(networkACLID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListNetworkACLRulesOptions) SetStart(start string) *ListNetworkACLRulesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListNetworkACLRulesOptions) SetLimit(limit int64) *ListNetworkACLRulesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetDirection : Allow user to set Direction +func (_options *ListNetworkACLRulesOptions) SetDirection(direction string) *ListNetworkACLRulesOptions { + _options.Direction = core.StringPtr(direction) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListNetworkACLRulesOptions) SetHeaders(param map[string]string) *ListNetworkACLRulesOptions { + options.Headers = param + return options +} + +// ListNetworkAclsOptions : The ListNetworkAcls options. +type ListNetworkAclsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListNetworkAclsOptions : Instantiate ListNetworkAclsOptions +func (*VpcV1) NewListNetworkAclsOptions() *ListNetworkAclsOptions { + return &ListNetworkAclsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListNetworkAclsOptions) SetStart(start string) *ListNetworkAclsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListNetworkAclsOptions) SetLimit(limit int64) *ListNetworkAclsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListNetworkAclsOptions) SetResourceGroupID(resourceGroupID string) *ListNetworkAclsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListNetworkAclsOptions) SetHeaders(param map[string]string) *ListNetworkAclsOptions { + options.Headers = param + return options +} + +// ListNetworkInterfaceFloatingIpsOptions : The ListNetworkInterfaceFloatingIps options. +type ListNetworkInterfaceFloatingIpsOptions struct { + // The virtual network interface identifier. + VirtualNetworkInterfaceID *string `json:"virtual_network_interface_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value + // `-name` sorts the collection by the `name` property in descending order, and the value `name` sorts it by the `name` + // property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListNetworkInterfaceFloatingIpsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value +// `-name` sorts the collection by the `name` property in descending order, and the value `name` sorts it by the `name` +// property in ascending order. +const ( + ListNetworkInterfaceFloatingIpsOptionsSortAddressConst = "address" + ListNetworkInterfaceFloatingIpsOptionsSortNameConst = "name" +) + +// NewListNetworkInterfaceFloatingIpsOptions : Instantiate ListNetworkInterfaceFloatingIpsOptions +func (*VpcV1) NewListNetworkInterfaceFloatingIpsOptions(virtualNetworkInterfaceID string) *ListNetworkInterfaceFloatingIpsOptions { + return &ListNetworkInterfaceFloatingIpsOptions{ + VirtualNetworkInterfaceID: core.StringPtr(virtualNetworkInterfaceID), + } +} + +// SetVirtualNetworkInterfaceID : Allow user to set VirtualNetworkInterfaceID +func (_options *ListNetworkInterfaceFloatingIpsOptions) SetVirtualNetworkInterfaceID(virtualNetworkInterfaceID string) *ListNetworkInterfaceFloatingIpsOptions { + _options.VirtualNetworkInterfaceID = core.StringPtr(virtualNetworkInterfaceID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListNetworkInterfaceFloatingIpsOptions) SetStart(start string) *ListNetworkInterfaceFloatingIpsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListNetworkInterfaceFloatingIpsOptions) SetLimit(limit int64) *ListNetworkInterfaceFloatingIpsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListNetworkInterfaceFloatingIpsOptions) SetSort(sort string) *ListNetworkInterfaceFloatingIpsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListNetworkInterfaceFloatingIpsOptions) SetHeaders(param map[string]string) *ListNetworkInterfaceFloatingIpsOptions { + options.Headers = param + return options +} + +// ListOperatingSystemsOptions : The ListOperatingSystems options. +type ListOperatingSystemsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListOperatingSystemsOptions : Instantiate ListOperatingSystemsOptions +func (*VpcV1) NewListOperatingSystemsOptions() *ListOperatingSystemsOptions { + return &ListOperatingSystemsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListOperatingSystemsOptions) SetStart(start string) *ListOperatingSystemsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListOperatingSystemsOptions) SetLimit(limit int64) *ListOperatingSystemsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListOperatingSystemsOptions) SetHeaders(param map[string]string) *ListOperatingSystemsOptions { + options.Headers = param + return options +} + +// ListPlacementGroupsOptions : The ListPlacementGroups options. +type ListPlacementGroupsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListPlacementGroupsOptions : Instantiate ListPlacementGroupsOptions +func (*VpcV1) NewListPlacementGroupsOptions() *ListPlacementGroupsOptions { + return &ListPlacementGroupsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListPlacementGroupsOptions) SetStart(start string) *ListPlacementGroupsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListPlacementGroupsOptions) SetLimit(limit int64) *ListPlacementGroupsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListPlacementGroupsOptions) SetHeaders(param map[string]string) *ListPlacementGroupsOptions { + options.Headers = param + return options +} + +// ListPrivatePathServiceGatewayAccountPoliciesOptions : The ListPrivatePathServiceGatewayAccountPolicies options. +type ListPrivatePathServiceGatewayAccountPoliciesOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with an `account.id` property matching the specified identifier. + AccountID *string `json:"account.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListPrivatePathServiceGatewayAccountPoliciesOptions : Instantiate ListPrivatePathServiceGatewayAccountPoliciesOptions +func (*VpcV1) NewListPrivatePathServiceGatewayAccountPoliciesOptions(privatePathServiceGatewayID string) *ListPrivatePathServiceGatewayAccountPoliciesOptions { + return &ListPrivatePathServiceGatewayAccountPoliciesOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *ListPrivatePathServiceGatewayAccountPoliciesOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *ListPrivatePathServiceGatewayAccountPoliciesOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListPrivatePathServiceGatewayAccountPoliciesOptions) SetStart(start string) *ListPrivatePathServiceGatewayAccountPoliciesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListPrivatePathServiceGatewayAccountPoliciesOptions) SetLimit(limit int64) *ListPrivatePathServiceGatewayAccountPoliciesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetAccountID : Allow user to set AccountID +func (_options *ListPrivatePathServiceGatewayAccountPoliciesOptions) SetAccountID(accountID string) *ListPrivatePathServiceGatewayAccountPoliciesOptions { + _options.AccountID = core.StringPtr(accountID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListPrivatePathServiceGatewayAccountPoliciesOptions) SetHeaders(param map[string]string) *ListPrivatePathServiceGatewayAccountPoliciesOptions { + options.Headers = param + return options +} + +// ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions : The ListPrivatePathServiceGatewayEndpointGatewayBindings options. +type ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to endpoint gateway bindings with a `status` property matching the specified value. + Status *string `json:"status,omitempty"` + + // Filters the collection to resources with an `account.id` property matching the specified identifier. + AccountID *string `json:"account.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions.Status property. +// Filters the collection to endpoint gateway bindings with a `status` property matching the specified value. +const ( + ListPrivatePathServiceGatewayEndpointGatewayBindingsOptionsStatusAbandonedConst = "abandoned" + ListPrivatePathServiceGatewayEndpointGatewayBindingsOptionsStatusDeniedConst = "denied" + ListPrivatePathServiceGatewayEndpointGatewayBindingsOptionsStatusExpiredConst = "expired" + ListPrivatePathServiceGatewayEndpointGatewayBindingsOptionsStatusPendingConst = "pending" + ListPrivatePathServiceGatewayEndpointGatewayBindingsOptionsStatusPermittedConst = "permitted" +) + +// NewListPrivatePathServiceGatewayEndpointGatewayBindingsOptions : Instantiate ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions +func (*VpcV1) NewListPrivatePathServiceGatewayEndpointGatewayBindingsOptions(privatePathServiceGatewayID string) *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions { + return &ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) SetStart(start string) *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) SetLimit(limit int64) *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStatus : Allow user to set Status +func (_options *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) SetStatus(status string) *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions { + _options.Status = core.StringPtr(status) + return _options +} + +// SetAccountID : Allow user to set AccountID +func (_options *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) SetAccountID(accountID string) *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions { + _options.AccountID = core.StringPtr(accountID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) SetHeaders(param map[string]string) *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions { + options.Headers = param + return options +} + +// ListPrivatePathServiceGatewaysOptions : The ListPrivatePathServiceGateways options. +type ListPrivatePathServiceGatewaysOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListPrivatePathServiceGatewaysOptions : Instantiate ListPrivatePathServiceGatewaysOptions +func (*VpcV1) NewListPrivatePathServiceGatewaysOptions() *ListPrivatePathServiceGatewaysOptions { + return &ListPrivatePathServiceGatewaysOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListPrivatePathServiceGatewaysOptions) SetStart(start string) *ListPrivatePathServiceGatewaysOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListPrivatePathServiceGatewaysOptions) SetLimit(limit int64) *ListPrivatePathServiceGatewaysOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListPrivatePathServiceGatewaysOptions) SetResourceGroupID(resourceGroupID string) *ListPrivatePathServiceGatewaysOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListPrivatePathServiceGatewaysOptions) SetHeaders(param map[string]string) *ListPrivatePathServiceGatewaysOptions { + options.Headers = param + return options +} + +// ListPublicAddressRangesOptions : The ListPublicAddressRanges options. +type ListPublicAddressRangesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListPublicAddressRangesOptions : Instantiate ListPublicAddressRangesOptions +func (*VpcV1) NewListPublicAddressRangesOptions() *ListPublicAddressRangesOptions { + return &ListPublicAddressRangesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListPublicAddressRangesOptions) SetStart(start string) *ListPublicAddressRangesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListPublicAddressRangesOptions) SetLimit(limit int64) *ListPublicAddressRangesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListPublicAddressRangesOptions) SetResourceGroupID(resourceGroupID string) *ListPublicAddressRangesOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListPublicAddressRangesOptions) SetHeaders(param map[string]string) *ListPublicAddressRangesOptions { + options.Headers = param + return options +} + +// ListPublicGatewaysOptions : The ListPublicGateways options. +type ListPublicGatewaysOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListPublicGatewaysOptions : Instantiate ListPublicGatewaysOptions +func (*VpcV1) NewListPublicGatewaysOptions() *ListPublicGatewaysOptions { + return &ListPublicGatewaysOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListPublicGatewaysOptions) SetStart(start string) *ListPublicGatewaysOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListPublicGatewaysOptions) SetLimit(limit int64) *ListPublicGatewaysOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListPublicGatewaysOptions) SetResourceGroupID(resourceGroupID string) *ListPublicGatewaysOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListPublicGatewaysOptions) SetHeaders(param map[string]string) *ListPublicGatewaysOptions { + options.Headers = param + return options +} + +// ListRegionZonesOptions : The ListRegionZones options. +type ListRegionZonesOptions struct { + // The region name. + RegionName *string `json:"region_name" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListRegionZonesOptions : Instantiate ListRegionZonesOptions +func (*VpcV1) NewListRegionZonesOptions(regionName string) *ListRegionZonesOptions { + return &ListRegionZonesOptions{ + RegionName: core.StringPtr(regionName), + } +} + +// SetRegionName : Allow user to set RegionName +func (_options *ListRegionZonesOptions) SetRegionName(regionName string) *ListRegionZonesOptions { + _options.RegionName = core.StringPtr(regionName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListRegionZonesOptions) SetHeaders(param map[string]string) *ListRegionZonesOptions { + options.Headers = param + return options +} + +// ListRegionsOptions : The ListRegions options. +type ListRegionsOptions struct { + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListRegionsOptions : Instantiate ListRegionsOptions +func (*VpcV1) NewListRegionsOptions() *ListRegionsOptions { + return &ListRegionsOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *ListRegionsOptions) SetHeaders(param map[string]string) *ListRegionsOptions { + options.Headers = param + return options +} + +// ListReservationsOptions : The ListReservations options. +type ListReservationsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection of resources with a `profile.resource_type` property matching the specified value. + ProfileResourceType *string `json:"profile.resource_type,omitempty"` + + // Filters the collection to reservations with an `affinity_policy` property matching the specified value. + AffinityPolicy *string `json:"affinity_policy,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `zone.name` property matching the exact specified name. + ZoneName *string `json:"zone.name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListReservationsOptions.AffinityPolicy property. +// Filters the collection to reservations with an `affinity_policy` property matching the specified value. +const ( + ListReservationsOptionsAffinityPolicyAutomaticConst = "automatic" + ListReservationsOptionsAffinityPolicyRestrictedConst = "restricted" +) + +// NewListReservationsOptions : Instantiate ListReservationsOptions +func (*VpcV1) NewListReservationsOptions() *ListReservationsOptions { + return &ListReservationsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListReservationsOptions) SetStart(start string) *ListReservationsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListReservationsOptions) SetLimit(limit int64) *ListReservationsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListReservationsOptions) SetName(name string) *ListReservationsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetProfileResourceType : Allow user to set ProfileResourceType +func (_options *ListReservationsOptions) SetProfileResourceType(profileResourceType string) *ListReservationsOptions { + _options.ProfileResourceType = core.StringPtr(profileResourceType) + return _options +} + +// SetAffinityPolicy : Allow user to set AffinityPolicy +func (_options *ListReservationsOptions) SetAffinityPolicy(affinityPolicy string) *ListReservationsOptions { + _options.AffinityPolicy = core.StringPtr(affinityPolicy) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListReservationsOptions) SetResourceGroupID(resourceGroupID string) *ListReservationsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *ListReservationsOptions) SetZoneName(zoneName string) *ListReservationsOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListReservationsOptions) SetHeaders(param map[string]string) *ListReservationsOptions { + options.Headers = param + return options +} + +// ListSecurityGroupRulesOptions : The ListSecurityGroupRules options. +type ListSecurityGroupRulesOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListSecurityGroupRulesOptions : Instantiate ListSecurityGroupRulesOptions +func (*VpcV1) NewListSecurityGroupRulesOptions(securityGroupID string) *ListSecurityGroupRulesOptions { + return &ListSecurityGroupRulesOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *ListSecurityGroupRulesOptions) SetSecurityGroupID(securityGroupID string) *ListSecurityGroupRulesOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSecurityGroupRulesOptions) SetHeaders(param map[string]string) *ListSecurityGroupRulesOptions { + options.Headers = param + return options +} + +// ListSecurityGroupTargetsOptions : The ListSecurityGroupTargets options. +type ListSecurityGroupTargetsOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListSecurityGroupTargetsOptions : Instantiate ListSecurityGroupTargetsOptions +func (*VpcV1) NewListSecurityGroupTargetsOptions(securityGroupID string) *ListSecurityGroupTargetsOptions { + return &ListSecurityGroupTargetsOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *ListSecurityGroupTargetsOptions) SetSecurityGroupID(securityGroupID string) *ListSecurityGroupTargetsOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListSecurityGroupTargetsOptions) SetStart(start string) *ListSecurityGroupTargetsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListSecurityGroupTargetsOptions) SetLimit(limit int64) *ListSecurityGroupTargetsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSecurityGroupTargetsOptions) SetHeaders(param map[string]string) *ListSecurityGroupTargetsOptions { + options.Headers = param + return options +} + +// ListSecurityGroupsOptions : The ListSecurityGroups options. +type ListSecurityGroupsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `vpc.id` property matching the specified identifier. + VPCID *string `json:"vpc.id,omitempty"` + + // Filters the collection to resources with a `vpc.crn` property matching the specified CRN. + VPCCRN *string `json:"vpc.crn,omitempty"` + + // Filters the collection to resources with a `vpc.name` property matching the exact specified name. + VPCName *string `json:"vpc.name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListSecurityGroupsOptions : Instantiate ListSecurityGroupsOptions +func (*VpcV1) NewListSecurityGroupsOptions() *ListSecurityGroupsOptions { + return &ListSecurityGroupsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListSecurityGroupsOptions) SetStart(start string) *ListSecurityGroupsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListSecurityGroupsOptions) SetLimit(limit int64) *ListSecurityGroupsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListSecurityGroupsOptions) SetResourceGroupID(resourceGroupID string) *ListSecurityGroupsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListSecurityGroupsOptions) SetVPCID(vpcID string) *ListSecurityGroupsOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetVPCCRN : Allow user to set VPCCRN +func (_options *ListSecurityGroupsOptions) SetVPCCRN(vpcCRN string) *ListSecurityGroupsOptions { + _options.VPCCRN = core.StringPtr(vpcCRN) + return _options +} + +// SetVPCName : Allow user to set VPCName +func (_options *ListSecurityGroupsOptions) SetVPCName(vpcName string) *ListSecurityGroupsOptions { + _options.VPCName = core.StringPtr(vpcName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSecurityGroupsOptions) SetHeaders(param map[string]string) *ListSecurityGroupsOptions { + options.Headers = param + return options +} + +// ListShareAccessorBindingsOptions : The ListShareAccessorBindings options. +type ListShareAccessorBindingsOptions struct { + // The file share identifier. + ID *string `json:"id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListShareAccessorBindingsOptions : Instantiate ListShareAccessorBindingsOptions +func (*VpcV1) NewListShareAccessorBindingsOptions(id string) *ListShareAccessorBindingsOptions { + return &ListShareAccessorBindingsOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListShareAccessorBindingsOptions) SetID(id string) *ListShareAccessorBindingsOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListShareAccessorBindingsOptions) SetStart(start string) *ListShareAccessorBindingsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListShareAccessorBindingsOptions) SetLimit(limit int64) *ListShareAccessorBindingsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListShareAccessorBindingsOptions) SetHeaders(param map[string]string) *ListShareAccessorBindingsOptions { + options.Headers = param + return options +} + +// ListShareMountTargetsOptions : The ListShareMountTargets options. +type ListShareMountTargetsOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListShareMountTargetsOptions : Instantiate ListShareMountTargetsOptions +func (*VpcV1) NewListShareMountTargetsOptions(shareID string) *ListShareMountTargetsOptions { + return &ListShareMountTargetsOptions{ + ShareID: core.StringPtr(shareID), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *ListShareMountTargetsOptions) SetShareID(shareID string) *ListShareMountTargetsOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListShareMountTargetsOptions) SetName(name string) *ListShareMountTargetsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListShareMountTargetsOptions) SetStart(start string) *ListShareMountTargetsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListShareMountTargetsOptions) SetLimit(limit int64) *ListShareMountTargetsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListShareMountTargetsOptions) SetHeaders(param map[string]string) *ListShareMountTargetsOptions { + options.Headers = param + return options +} + +// ListShareProfilesOptions : The ListShareProfiles options. +type ListShareProfilesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListShareProfilesOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListShareProfilesOptionsSortCreatedAtConst = "created_at" + ListShareProfilesOptionsSortNameConst = "name" +) + +// NewListShareProfilesOptions : Instantiate ListShareProfilesOptions +func (*VpcV1) NewListShareProfilesOptions() *ListShareProfilesOptions { + return &ListShareProfilesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListShareProfilesOptions) SetStart(start string) *ListShareProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListShareProfilesOptions) SetLimit(limit int64) *ListShareProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListShareProfilesOptions) SetSort(sort string) *ListShareProfilesOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListShareProfilesOptions) SetHeaders(param map[string]string) *ListShareProfilesOptions { + options.Headers = param + return options +} + +// ListShareSnapshotsOptions : The ListShareSnapshots options. +type ListShareSnapshotsOptions struct { + // The file share identifier, or `-` to wildcard all accessible file shares. + ShareID *string `json:"share_id" validate:"required,ne="` + + // Filters the collection to backup policy jobs with a `backup_policy_plan.id` property matching the specified + // identifier. + BackupPolicyPlanID *string `json:"backup_policy_plan.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListShareSnapshotsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListShareSnapshotsOptionsSortCreatedAtConst = "created_at" + ListShareSnapshotsOptionsSortNameConst = "name" +) + +// NewListShareSnapshotsOptions : Instantiate ListShareSnapshotsOptions +func (*VpcV1) NewListShareSnapshotsOptions(shareID string) *ListShareSnapshotsOptions { + return &ListShareSnapshotsOptions{ + ShareID: core.StringPtr(shareID), + } +} + +// SetShareID : Allow user to set ShareID +func (_options *ListShareSnapshotsOptions) SetShareID(shareID string) *ListShareSnapshotsOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetBackupPolicyPlanID : Allow user to set BackupPolicyPlanID +func (_options *ListShareSnapshotsOptions) SetBackupPolicyPlanID(backupPolicyPlanID string) *ListShareSnapshotsOptions { + _options.BackupPolicyPlanID = core.StringPtr(backupPolicyPlanID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListShareSnapshotsOptions) SetName(name string) *ListShareSnapshotsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListShareSnapshotsOptions) SetStart(start string) *ListShareSnapshotsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListShareSnapshotsOptions) SetLimit(limit int64) *ListShareSnapshotsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListShareSnapshotsOptions) SetSort(sort string) *ListShareSnapshotsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListShareSnapshotsOptions) SetHeaders(param map[string]string) *ListShareSnapshotsOptions { + options.Headers = param + return options +} + +// ListSharesOptions : The ListShares options. +type ListSharesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Filters the collection to file shares with a `replication_role` property matching the specified value. + ReplicationRole *string `json:"replication_role,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListSharesOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListSharesOptionsSortCreatedAtConst = "created_at" + ListSharesOptionsSortNameConst = "name" +) + +// Constants associated with the ListSharesOptions.ReplicationRole property. +// Filters the collection to file shares with a `replication_role` property matching the specified value. +const ( + ListSharesOptionsReplicationRoleNoneConst = "none" + ListSharesOptionsReplicationRoleReplicaConst = "replica" + ListSharesOptionsReplicationRoleSourceConst = "source" +) + +// NewListSharesOptions : Instantiate ListSharesOptions +func (*VpcV1) NewListSharesOptions() *ListSharesOptions { + return &ListSharesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListSharesOptions) SetStart(start string) *ListSharesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListSharesOptions) SetLimit(limit int64) *ListSharesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListSharesOptions) SetResourceGroupID(resourceGroupID string) *ListSharesOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListSharesOptions) SetName(name string) *ListSharesOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListSharesOptions) SetSort(sort string) *ListSharesOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetReplicationRole : Allow user to set ReplicationRole +func (_options *ListSharesOptions) SetReplicationRole(replicationRole string) *ListSharesOptions { + _options.ReplicationRole = core.StringPtr(replicationRole) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSharesOptions) SetHeaders(param map[string]string) *ListSharesOptions { + options.Headers = param + return options +} + +// ListSnapshotClonesOptions : The ListSnapshotClones options. +type ListSnapshotClonesOptions struct { + // The snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListSnapshotClonesOptions : Instantiate ListSnapshotClonesOptions +func (*VpcV1) NewListSnapshotClonesOptions(id string) *ListSnapshotClonesOptions { + return &ListSnapshotClonesOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListSnapshotClonesOptions) SetID(id string) *ListSnapshotClonesOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSnapshotClonesOptions) SetHeaders(param map[string]string) *ListSnapshotClonesOptions { + options.Headers = param + return options +} + +// ListSnapshotConsistencyGroupsOptions : The ListSnapshotConsistencyGroups options. +type ListSnapshotConsistencyGroupsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Filters the collection to backup policy jobs with a `backup_policy_plan.id` property matching the specified + // identifier. + BackupPolicyPlanID *string `json:"backup_policy_plan.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListSnapshotConsistencyGroupsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListSnapshotConsistencyGroupsOptionsSortCreatedAtConst = "created_at" + ListSnapshotConsistencyGroupsOptionsSortNameConst = "name" +) + +// NewListSnapshotConsistencyGroupsOptions : Instantiate ListSnapshotConsistencyGroupsOptions +func (*VpcV1) NewListSnapshotConsistencyGroupsOptions() *ListSnapshotConsistencyGroupsOptions { + return &ListSnapshotConsistencyGroupsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListSnapshotConsistencyGroupsOptions) SetStart(start string) *ListSnapshotConsistencyGroupsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListSnapshotConsistencyGroupsOptions) SetLimit(limit int64) *ListSnapshotConsistencyGroupsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListSnapshotConsistencyGroupsOptions) SetResourceGroupID(resourceGroupID string) *ListSnapshotConsistencyGroupsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListSnapshotConsistencyGroupsOptions) SetName(name string) *ListSnapshotConsistencyGroupsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListSnapshotConsistencyGroupsOptions) SetSort(sort string) *ListSnapshotConsistencyGroupsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetBackupPolicyPlanID : Allow user to set BackupPolicyPlanID +func (_options *ListSnapshotConsistencyGroupsOptions) SetBackupPolicyPlanID(backupPolicyPlanID string) *ListSnapshotConsistencyGroupsOptions { + _options.BackupPolicyPlanID = core.StringPtr(backupPolicyPlanID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSnapshotConsistencyGroupsOptions) SetHeaders(param map[string]string) *ListSnapshotConsistencyGroupsOptions { + options.Headers = param + return options +} + +// ListSnapshotInstanceProfilesOptions : The ListSnapshotInstanceProfiles options. +type ListSnapshotInstanceProfilesOptions struct { + // The snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListSnapshotInstanceProfilesOptions : Instantiate ListSnapshotInstanceProfilesOptions +func (*VpcV1) NewListSnapshotInstanceProfilesOptions(id string) *ListSnapshotInstanceProfilesOptions { + return &ListSnapshotInstanceProfilesOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListSnapshotInstanceProfilesOptions) SetID(id string) *ListSnapshotInstanceProfilesOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListSnapshotInstanceProfilesOptions) SetStart(start string) *ListSnapshotInstanceProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListSnapshotInstanceProfilesOptions) SetLimit(limit int64) *ListSnapshotInstanceProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSnapshotInstanceProfilesOptions) SetHeaders(param map[string]string) *ListSnapshotInstanceProfilesOptions { + options.Headers = param + return options +} + +// ListSnapshotsOptions : The ListSnapshots options. +type ListSnapshotsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with an item in the `tags` property matching the exact specified tag. + Tag *string `json:"tag,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection to resources with a `source_volume.id` property matching the specified identifier. + SourceVolumeID *string `json:"source_volume.id,omitempty"` + + // Filters the collection to resources with a `source_volume.crn` property matching the specified CRN. + SourceVolumeCRN *string `json:"source_volume.crn,omitempty"` + + // Filters the collection to resources with a `source_image.id` property matching the specified identifier. + // + // This parameter also supports the values `null` and `not:null` which filter the collection to resources which have no + // source image or any existent source image, respectively. + SourceImageID *string `json:"source_image.id,omitempty"` + + // Filters the collection to resources with a `source_image.crn` property matching the specified CRN. + // + // This parameter also supports the values `null` and `not:null` which filter the collection to resources which have no + // source image or any existent source image, respectively. + SourceImageCRN *string `json:"source_image.crn,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Filters the collection to backup policy jobs with a `backup_policy_plan.id` property matching the specified + // identifier. + BackupPolicyPlanID *string `json:"backup_policy_plan.id,omitempty"` + + // Filters the collection to snapshots with an item in the `copies` property with an `id` property matching the + // specified identifier. + CopiesID *string `json:"copies[].id,omitempty"` + + // Filters the collection to snapshots with an item in the `copies` property with a `name` property matching the exact + // specified name. + CopiesName *string `json:"copies[].name,omitempty"` + + // Filters the collection to snapshots with an item in the `copies` property with a `crn` property matching the + // specified CRN. + CopiesCRN *string `json:"copies[].crn,omitempty"` + + // Filters the collection to snapshots with an item in the `copies` property with a + // `remote.region.name` property matching the exact specified name. + CopiesRemoteRegionName *string `json:"copies[].remote.region.name,omitempty"` + + // Filters the collection to resources with a `source_snapshot.id` property matching the specified identifier. + SourceSnapshotID *string `json:"source_snapshot.id,omitempty"` + + // Filters the collection to resources with a `source_snapshot.remote.region.name` property matching the exact + // specified name. + SourceSnapshotRemoteRegionName *string `json:"source_snapshot.remote.region.name,omitempty"` + + // Filters the collection to resources with a `source_volume.remote.region.name` property matching the exact specified + // name. + SourceVolumeRemoteRegionName *string `json:"source_volume.remote.region.name,omitempty"` + + // Filters the collection to resources with a `source_image.remote.region.name` property matching the exact specified + // name. + SourceImageRemoteRegionName *string `json:"source_image.remote.region.name,omitempty"` + + // Filters the collection to snapshots with an item in the `clones` property with a `zone.name` property matching the + // exact specified name. + ClonesZoneName *string `json:"clones[].zone.name,omitempty"` + + // Filters the collection to resources with a `snapshot_consistency_group.id` property matching the specified + // identifier. + SnapshotConsistencyGroupID *string `json:"snapshot_consistency_group.id,omitempty"` + + // Filters the collection to resources with a `snapshot_consistency_group.crn` property matching the specified + // identifier. + SnapshotConsistencyGroupCRN *string `json:"snapshot_consistency_group.crn,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListSnapshotsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListSnapshotsOptionsSortCreatedAtConst = "created_at" + ListSnapshotsOptionsSortNameConst = "name" +) + +// NewListSnapshotsOptions : Instantiate ListSnapshotsOptions +func (*VpcV1) NewListSnapshotsOptions() *ListSnapshotsOptions { + return &ListSnapshotsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListSnapshotsOptions) SetStart(start string) *ListSnapshotsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListSnapshotsOptions) SetLimit(limit int64) *ListSnapshotsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetTag : Allow user to set Tag +func (_options *ListSnapshotsOptions) SetTag(tag string) *ListSnapshotsOptions { + _options.Tag = core.StringPtr(tag) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListSnapshotsOptions) SetResourceGroupID(resourceGroupID string) *ListSnapshotsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListSnapshotsOptions) SetName(name string) *ListSnapshotsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetSourceVolumeID : Allow user to set SourceVolumeID +func (_options *ListSnapshotsOptions) SetSourceVolumeID(sourceVolumeID string) *ListSnapshotsOptions { + _options.SourceVolumeID = core.StringPtr(sourceVolumeID) + return _options +} + +// SetSourceVolumeCRN : Allow user to set SourceVolumeCRN +func (_options *ListSnapshotsOptions) SetSourceVolumeCRN(sourceVolumeCRN string) *ListSnapshotsOptions { + _options.SourceVolumeCRN = core.StringPtr(sourceVolumeCRN) + return _options +} + +// SetSourceImageID : Allow user to set SourceImageID +func (_options *ListSnapshotsOptions) SetSourceImageID(sourceImageID string) *ListSnapshotsOptions { + _options.SourceImageID = core.StringPtr(sourceImageID) + return _options +} + +// SetSourceImageCRN : Allow user to set SourceImageCRN +func (_options *ListSnapshotsOptions) SetSourceImageCRN(sourceImageCRN string) *ListSnapshotsOptions { + _options.SourceImageCRN = core.StringPtr(sourceImageCRN) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListSnapshotsOptions) SetSort(sort string) *ListSnapshotsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetBackupPolicyPlanID : Allow user to set BackupPolicyPlanID +func (_options *ListSnapshotsOptions) SetBackupPolicyPlanID(backupPolicyPlanID string) *ListSnapshotsOptions { + _options.BackupPolicyPlanID = core.StringPtr(backupPolicyPlanID) + return _options +} + +// SetCopiesID : Allow user to set CopiesID +func (_options *ListSnapshotsOptions) SetCopiesID(copiesID string) *ListSnapshotsOptions { + _options.CopiesID = core.StringPtr(copiesID) + return _options +} + +// SetCopiesName : Allow user to set CopiesName +func (_options *ListSnapshotsOptions) SetCopiesName(copiesName string) *ListSnapshotsOptions { + _options.CopiesName = core.StringPtr(copiesName) + return _options +} + +// SetCopiesCRN : Allow user to set CopiesCRN +func (_options *ListSnapshotsOptions) SetCopiesCRN(copiesCRN string) *ListSnapshotsOptions { + _options.CopiesCRN = core.StringPtr(copiesCRN) + return _options +} + +// SetCopiesRemoteRegionName : Allow user to set CopiesRemoteRegionName +func (_options *ListSnapshotsOptions) SetCopiesRemoteRegionName(copiesRemoteRegionName string) *ListSnapshotsOptions { + _options.CopiesRemoteRegionName = core.StringPtr(copiesRemoteRegionName) + return _options +} + +// SetSourceSnapshotID : Allow user to set SourceSnapshotID +func (_options *ListSnapshotsOptions) SetSourceSnapshotID(sourceSnapshotID string) *ListSnapshotsOptions { + _options.SourceSnapshotID = core.StringPtr(sourceSnapshotID) + return _options +} + +// SetSourceSnapshotRemoteRegionName : Allow user to set SourceSnapshotRemoteRegionName +func (_options *ListSnapshotsOptions) SetSourceSnapshotRemoteRegionName(sourceSnapshotRemoteRegionName string) *ListSnapshotsOptions { + _options.SourceSnapshotRemoteRegionName = core.StringPtr(sourceSnapshotRemoteRegionName) + return _options +} + +// SetSourceVolumeRemoteRegionName : Allow user to set SourceVolumeRemoteRegionName +func (_options *ListSnapshotsOptions) SetSourceVolumeRemoteRegionName(sourceVolumeRemoteRegionName string) *ListSnapshotsOptions { + _options.SourceVolumeRemoteRegionName = core.StringPtr(sourceVolumeRemoteRegionName) + return _options +} + +// SetSourceImageRemoteRegionName : Allow user to set SourceImageRemoteRegionName +func (_options *ListSnapshotsOptions) SetSourceImageRemoteRegionName(sourceImageRemoteRegionName string) *ListSnapshotsOptions { + _options.SourceImageRemoteRegionName = core.StringPtr(sourceImageRemoteRegionName) + return _options +} + +// SetClonesZoneName : Allow user to set ClonesZoneName +func (_options *ListSnapshotsOptions) SetClonesZoneName(clonesZoneName string) *ListSnapshotsOptions { + _options.ClonesZoneName = core.StringPtr(clonesZoneName) + return _options +} + +// SetSnapshotConsistencyGroupID : Allow user to set SnapshotConsistencyGroupID +func (_options *ListSnapshotsOptions) SetSnapshotConsistencyGroupID(snapshotConsistencyGroupID string) *ListSnapshotsOptions { + _options.SnapshotConsistencyGroupID = core.StringPtr(snapshotConsistencyGroupID) + return _options +} + +// SetSnapshotConsistencyGroupCRN : Allow user to set SnapshotConsistencyGroupCRN +func (_options *ListSnapshotsOptions) SetSnapshotConsistencyGroupCRN(snapshotConsistencyGroupCRN string) *ListSnapshotsOptions { + _options.SnapshotConsistencyGroupCRN = core.StringPtr(snapshotConsistencyGroupCRN) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSnapshotsOptions) SetHeaders(param map[string]string) *ListSnapshotsOptions { + options.Headers = param + return options +} + +// ListSubnetReservedIpsOptions : The ListSubnetReservedIps options. +type ListSubnetReservedIpsOptions struct { + // The subnet identifier. + SubnetID *string `json:"subnet_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Filters the collection to resources with a `target.id` property matching the specified identifier. + TargetID *string `json:"target.id,omitempty"` + + // Filters the collection to resources with a `target.crn` property matching the specified CRN. + TargetCRN *string `json:"target.crn,omitempty"` + + // Filters the collection to resources with a `target.name` property matching the exact specified name. + TargetName *string `json:"target.name,omitempty"` + + // Filters the collection to resources with a `target.resource_type` property matching the specified value. + TargetResourceType *string `json:"target.resource_type,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListSubnetReservedIpsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListSubnetReservedIpsOptionsSortAddressConst = "address" + ListSubnetReservedIpsOptionsSortCreatedAtConst = "created_at" + ListSubnetReservedIpsOptionsSortNameConst = "name" +) + +// NewListSubnetReservedIpsOptions : Instantiate ListSubnetReservedIpsOptions +func (*VpcV1) NewListSubnetReservedIpsOptions(subnetID string) *ListSubnetReservedIpsOptions { + return &ListSubnetReservedIpsOptions{ + SubnetID: core.StringPtr(subnetID), + } +} + +// SetSubnetID : Allow user to set SubnetID +func (_options *ListSubnetReservedIpsOptions) SetSubnetID(subnetID string) *ListSubnetReservedIpsOptions { + _options.SubnetID = core.StringPtr(subnetID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListSubnetReservedIpsOptions) SetStart(start string) *ListSubnetReservedIpsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListSubnetReservedIpsOptions) SetLimit(limit int64) *ListSubnetReservedIpsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListSubnetReservedIpsOptions) SetSort(sort string) *ListSubnetReservedIpsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetTargetID : Allow user to set TargetID +func (_options *ListSubnetReservedIpsOptions) SetTargetID(targetID string) *ListSubnetReservedIpsOptions { + _options.TargetID = core.StringPtr(targetID) + return _options +} + +// SetTargetCRN : Allow user to set TargetCRN +func (_options *ListSubnetReservedIpsOptions) SetTargetCRN(targetCRN string) *ListSubnetReservedIpsOptions { + _options.TargetCRN = core.StringPtr(targetCRN) + return _options +} + +// SetTargetName : Allow user to set TargetName +func (_options *ListSubnetReservedIpsOptions) SetTargetName(targetName string) *ListSubnetReservedIpsOptions { + _options.TargetName = core.StringPtr(targetName) + return _options +} + +// SetTargetResourceType : Allow user to set TargetResourceType +func (_options *ListSubnetReservedIpsOptions) SetTargetResourceType(targetResourceType string) *ListSubnetReservedIpsOptions { + _options.TargetResourceType = core.StringPtr(targetResourceType) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSubnetReservedIpsOptions) SetHeaders(param map[string]string) *ListSubnetReservedIpsOptions { + options.Headers = param + return options +} + +// ListSubnetsOptions : The ListSubnets options. +type ListSubnetsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to resources with a `zone.name` property matching the exact specified name. + ZoneName *string `json:"zone.name,omitempty"` + + // Filters the collection to resources with a `vpc.id` property matching the specified identifier. + VPCID *string `json:"vpc.id,omitempty"` + + // Filters the collection to resources with a `vpc.crn` property matching the specified CRN. + VPCCRN *string `json:"vpc.crn,omitempty"` + + // Filters the collection to resources with a `vpc.name` property matching the exact specified name. + VPCName *string `json:"vpc.name,omitempty"` + + // Filters the collection to subnets with a `routing_table.id` property matching the specified identifier. + RoutingTableID *string `json:"routing_table.id,omitempty"` + + // Filters the collection to subnets with a `routing_table.name` property matching the exact specified name. + RoutingTableName *string `json:"routing_table.name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListSubnetsOptions : Instantiate ListSubnetsOptions +func (*VpcV1) NewListSubnetsOptions() *ListSubnetsOptions { + return &ListSubnetsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListSubnetsOptions) SetStart(start string) *ListSubnetsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListSubnetsOptions) SetLimit(limit int64) *ListSubnetsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListSubnetsOptions) SetResourceGroupID(resourceGroupID string) *ListSubnetsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *ListSubnetsOptions) SetZoneName(zoneName string) *ListSubnetsOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListSubnetsOptions) SetVPCID(vpcID string) *ListSubnetsOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetVPCCRN : Allow user to set VPCCRN +func (_options *ListSubnetsOptions) SetVPCCRN(vpcCRN string) *ListSubnetsOptions { + _options.VPCCRN = core.StringPtr(vpcCRN) + return _options +} + +// SetVPCName : Allow user to set VPCName +func (_options *ListSubnetsOptions) SetVPCName(vpcName string) *ListSubnetsOptions { + _options.VPCName = core.StringPtr(vpcName) + return _options +} + +// SetRoutingTableID : Allow user to set RoutingTableID +func (_options *ListSubnetsOptions) SetRoutingTableID(routingTableID string) *ListSubnetsOptions { + _options.RoutingTableID = core.StringPtr(routingTableID) + return _options +} + +// SetRoutingTableName : Allow user to set RoutingTableName +func (_options *ListSubnetsOptions) SetRoutingTableName(routingTableName string) *ListSubnetsOptions { + _options.RoutingTableName = core.StringPtr(routingTableName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListSubnetsOptions) SetHeaders(param map[string]string) *ListSubnetsOptions { + options.Headers = param + return options +} + +// ListVirtualNetworkInterfaceIpsOptions : The ListVirtualNetworkInterfaceIps options. +type ListVirtualNetworkInterfaceIpsOptions struct { + // The virtual network interface identifier. + VirtualNetworkInterfaceID *string `json:"virtual_network_interface_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value + // `-name` sorts the collection by the `name` property in descending order, and the value `name` sorts it by the `name` + // property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListVirtualNetworkInterfaceIpsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value +// `-name` sorts the collection by the `name` property in descending order, and the value `name` sorts it by the `name` +// property in ascending order. +const ( + ListVirtualNetworkInterfaceIpsOptionsSortAddressConst = "address" + ListVirtualNetworkInterfaceIpsOptionsSortNameConst = "name" +) + +// NewListVirtualNetworkInterfaceIpsOptions : Instantiate ListVirtualNetworkInterfaceIpsOptions +func (*VpcV1) NewListVirtualNetworkInterfaceIpsOptions(virtualNetworkInterfaceID string) *ListVirtualNetworkInterfaceIpsOptions { + return &ListVirtualNetworkInterfaceIpsOptions{ + VirtualNetworkInterfaceID: core.StringPtr(virtualNetworkInterfaceID), + } +} + +// SetVirtualNetworkInterfaceID : Allow user to set VirtualNetworkInterfaceID +func (_options *ListVirtualNetworkInterfaceIpsOptions) SetVirtualNetworkInterfaceID(virtualNetworkInterfaceID string) *ListVirtualNetworkInterfaceIpsOptions { + _options.VirtualNetworkInterfaceID = core.StringPtr(virtualNetworkInterfaceID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVirtualNetworkInterfaceIpsOptions) SetStart(start string) *ListVirtualNetworkInterfaceIpsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVirtualNetworkInterfaceIpsOptions) SetLimit(limit int64) *ListVirtualNetworkInterfaceIpsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListVirtualNetworkInterfaceIpsOptions) SetSort(sort string) *ListVirtualNetworkInterfaceIpsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVirtualNetworkInterfaceIpsOptions) SetHeaders(param map[string]string) *ListVirtualNetworkInterfaceIpsOptions { + options.Headers = param + return options +} + +// ListVirtualNetworkInterfacesOptions : The ListVirtualNetworkInterfaces options. +type ListVirtualNetworkInterfacesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVirtualNetworkInterfacesOptions : Instantiate ListVirtualNetworkInterfacesOptions +func (*VpcV1) NewListVirtualNetworkInterfacesOptions() *ListVirtualNetworkInterfacesOptions { + return &ListVirtualNetworkInterfacesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListVirtualNetworkInterfacesOptions) SetStart(start string) *ListVirtualNetworkInterfacesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVirtualNetworkInterfacesOptions) SetLimit(limit int64) *ListVirtualNetworkInterfacesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListVirtualNetworkInterfacesOptions) SetResourceGroupID(resourceGroupID string) *ListVirtualNetworkInterfacesOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVirtualNetworkInterfacesOptions) SetHeaders(param map[string]string) *ListVirtualNetworkInterfacesOptions { + options.Headers = param + return options +} + +// ListVolumeInstanceProfilesOptions : The ListVolumeInstanceProfiles options. +type ListVolumeInstanceProfilesOptions struct { + // The volume identifier. + ID *string `json:"id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVolumeInstanceProfilesOptions : Instantiate ListVolumeInstanceProfilesOptions +func (*VpcV1) NewListVolumeInstanceProfilesOptions(id string) *ListVolumeInstanceProfilesOptions { + return &ListVolumeInstanceProfilesOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ListVolumeInstanceProfilesOptions) SetID(id string) *ListVolumeInstanceProfilesOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVolumeInstanceProfilesOptions) SetStart(start string) *ListVolumeInstanceProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVolumeInstanceProfilesOptions) SetLimit(limit int64) *ListVolumeInstanceProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVolumeInstanceProfilesOptions) SetHeaders(param map[string]string) *ListVolumeInstanceProfilesOptions { + options.Headers = param + return options +} + +// ListVolumeProfilesOptions : The ListVolumeProfiles options. +type ListVolumeProfilesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVolumeProfilesOptions : Instantiate ListVolumeProfilesOptions +func (*VpcV1) NewListVolumeProfilesOptions() *ListVolumeProfilesOptions { + return &ListVolumeProfilesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListVolumeProfilesOptions) SetStart(start string) *ListVolumeProfilesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVolumeProfilesOptions) SetLimit(limit int64) *ListVolumeProfilesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVolumeProfilesOptions) SetHeaders(param map[string]string) *ListVolumeProfilesOptions { + options.Headers = param + return options +} + +// ListVolumesOptions : The ListVolumes options. +type ListVolumesOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to volumes with an `attachment_state` property matching the specified value. + AttachmentState *string `json:"attachment_state,omitempty"` + + // Filters the collection to resources with an `encryption` property matching the specified value. + Encryption *string `json:"encryption,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection to resources with an `operating_system.family` property matching the specified operating + // system family. + // + // This parameter also supports the values `null` and `not:null` which filter the collection to resources which have no + // operating system or any operating system, respectively. + OperatingSystemFamily *string `json:"operating_system.family,omitempty"` + + // Filters the collection to resources with an `operating_system.architecture` property matching the specified + // operating system architecture. + // + // This parameter also supports the values `null` and `not:null` which filter the collection to resources which have no + // operating system or any operating system, respectively. + OperatingSystemArchitecture *string `json:"operating_system.architecture,omitempty"` + + // Filters the collection to resources with an item in the `tags` property matching the exact specified tag. + Tag *string `json:"tag,omitempty"` + + // Filters the collection to resources with a `zone.name` property matching the exact specified name. + ZoneName *string `json:"zone.name,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListVolumesOptions.AttachmentState property. +// Filters the collection to volumes with an `attachment_state` property matching the specified value. +const ( + ListVolumesOptionsAttachmentStateAttachedConst = "attached" + ListVolumesOptionsAttachmentStateUnattachedConst = "unattached" + ListVolumesOptionsAttachmentStateUnusableConst = "unusable" +) + +// Constants associated with the ListVolumesOptions.Encryption property. +// Filters the collection to resources with an `encryption` property matching the specified value. +const ( + ListVolumesOptionsEncryptionProviderManagedConst = "provider_managed" + ListVolumesOptionsEncryptionUserManagedConst = "user_managed" +) + +// NewListVolumesOptions : Instantiate ListVolumesOptions +func (*VpcV1) NewListVolumesOptions() *ListVolumesOptions { + return &ListVolumesOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListVolumesOptions) SetStart(start string) *ListVolumesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVolumesOptions) SetLimit(limit int64) *ListVolumesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetAttachmentState : Allow user to set AttachmentState +func (_options *ListVolumesOptions) SetAttachmentState(attachmentState string) *ListVolumesOptions { + _options.AttachmentState = core.StringPtr(attachmentState) + return _options +} + +// SetEncryption : Allow user to set Encryption +func (_options *ListVolumesOptions) SetEncryption(encryption string) *ListVolumesOptions { + _options.Encryption = core.StringPtr(encryption) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListVolumesOptions) SetName(name string) *ListVolumesOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetOperatingSystemFamily : Allow user to set OperatingSystemFamily +func (_options *ListVolumesOptions) SetOperatingSystemFamily(operatingSystemFamily string) *ListVolumesOptions { + _options.OperatingSystemFamily = core.StringPtr(operatingSystemFamily) + return _options +} + +// SetOperatingSystemArchitecture : Allow user to set OperatingSystemArchitecture +func (_options *ListVolumesOptions) SetOperatingSystemArchitecture(operatingSystemArchitecture string) *ListVolumesOptions { + _options.OperatingSystemArchitecture = core.StringPtr(operatingSystemArchitecture) + return _options +} + +// SetTag : Allow user to set Tag +func (_options *ListVolumesOptions) SetTag(tag string) *ListVolumesOptions { + _options.Tag = core.StringPtr(tag) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *ListVolumesOptions) SetZoneName(zoneName string) *ListVolumesOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVolumesOptions) SetHeaders(param map[string]string) *ListVolumesOptions { + options.Headers = param + return options +} + +// ListVPCAddressPrefixesOptions : The ListVPCAddressPrefixes options. +type ListVPCAddressPrefixesOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVPCAddressPrefixesOptions : Instantiate ListVPCAddressPrefixesOptions +func (*VpcV1) NewListVPCAddressPrefixesOptions(vpcID string) *ListVPCAddressPrefixesOptions { + return &ListVPCAddressPrefixesOptions{ + VPCID: core.StringPtr(vpcID), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListVPCAddressPrefixesOptions) SetVPCID(vpcID string) *ListVPCAddressPrefixesOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPCAddressPrefixesOptions) SetStart(start string) *ListVPCAddressPrefixesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPCAddressPrefixesOptions) SetLimit(limit int64) *ListVPCAddressPrefixesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPCAddressPrefixesOptions) SetHeaders(param map[string]string) *ListVPCAddressPrefixesOptions { + options.Headers = param + return options +} + +// ListVPCDnsResolutionBindingsOptions : The ListVPCDnsResolutionBindings options. +type ListVPCDnsResolutionBindingsOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // Filters the collection to resources with a `vpc.crn` property matching the specified CRN. + VPCCRN *string `json:"vpc.crn,omitempty"` + + // Filters the collection to resources with a `vpc.name` property matching the exact specified name. + VPCName *string `json:"vpc.name,omitempty"` + + // Filters the collection to resources with a `vpc.remote.account.id` property matching the specified account + // identifier. + AccountID *string `json:"account.id,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListVPCDnsResolutionBindingsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListVPCDnsResolutionBindingsOptionsSortCreatedAtConst = "created_at" + ListVPCDnsResolutionBindingsOptionsSortNameConst = "name" +) + +// NewListVPCDnsResolutionBindingsOptions : Instantiate ListVPCDnsResolutionBindingsOptions +func (*VpcV1) NewListVPCDnsResolutionBindingsOptions(vpcID string) *ListVPCDnsResolutionBindingsOptions { + return &ListVPCDnsResolutionBindingsOptions{ + VPCID: core.StringPtr(vpcID), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListVPCDnsResolutionBindingsOptions) SetVPCID(vpcID string) *ListVPCDnsResolutionBindingsOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListVPCDnsResolutionBindingsOptions) SetSort(sort string) *ListVPCDnsResolutionBindingsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPCDnsResolutionBindingsOptions) SetStart(start string) *ListVPCDnsResolutionBindingsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPCDnsResolutionBindingsOptions) SetLimit(limit int64) *ListVPCDnsResolutionBindingsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetName : Allow user to set Name +func (_options *ListVPCDnsResolutionBindingsOptions) SetName(name string) *ListVPCDnsResolutionBindingsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetVPCCRN : Allow user to set VPCCRN +func (_options *ListVPCDnsResolutionBindingsOptions) SetVPCCRN(vpcCRN string) *ListVPCDnsResolutionBindingsOptions { + _options.VPCCRN = core.StringPtr(vpcCRN) + return _options +} + +// SetVPCName : Allow user to set VPCName +func (_options *ListVPCDnsResolutionBindingsOptions) SetVPCName(vpcName string) *ListVPCDnsResolutionBindingsOptions { + _options.VPCName = core.StringPtr(vpcName) + return _options +} + +// SetAccountID : Allow user to set AccountID +func (_options *ListVPCDnsResolutionBindingsOptions) SetAccountID(accountID string) *ListVPCDnsResolutionBindingsOptions { + _options.AccountID = core.StringPtr(accountID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPCDnsResolutionBindingsOptions) SetHeaders(param map[string]string) *ListVPCDnsResolutionBindingsOptions { + options.Headers = param + return options +} + +// ListVPCRoutesOptions : The ListVPCRoutes options. +type ListVPCRoutesOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // Filters the collection to resources with a `zone.name` property matching the exact specified name. + ZoneName *string `json:"zone.name,omitempty"` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVPCRoutesOptions : Instantiate ListVPCRoutesOptions +func (*VpcV1) NewListVPCRoutesOptions(vpcID string) *ListVPCRoutesOptions { + return &ListVPCRoutesOptions{ + VPCID: core.StringPtr(vpcID), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListVPCRoutesOptions) SetVPCID(vpcID string) *ListVPCRoutesOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetZoneName : Allow user to set ZoneName +func (_options *ListVPCRoutesOptions) SetZoneName(zoneName string) *ListVPCRoutesOptions { + _options.ZoneName = core.StringPtr(zoneName) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPCRoutesOptions) SetStart(start string) *ListVPCRoutesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPCRoutesOptions) SetLimit(limit int64) *ListVPCRoutesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPCRoutesOptions) SetHeaders(param map[string]string) *ListVPCRoutesOptions { + options.Headers = param + return options +} + +// ListVPCRoutingTableRoutesOptions : The ListVPCRoutingTableRoutes options. +type ListVPCRoutingTableRoutesOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The routing table identifier. + RoutingTableID *string `json:"routing_table_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVPCRoutingTableRoutesOptions : Instantiate ListVPCRoutingTableRoutesOptions +func (*VpcV1) NewListVPCRoutingTableRoutesOptions(vpcID string, routingTableID string) *ListVPCRoutingTableRoutesOptions { + return &ListVPCRoutingTableRoutesOptions{ + VPCID: core.StringPtr(vpcID), + RoutingTableID: core.StringPtr(routingTableID), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListVPCRoutingTableRoutesOptions) SetVPCID(vpcID string) *ListVPCRoutingTableRoutesOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetRoutingTableID : Allow user to set RoutingTableID +func (_options *ListVPCRoutingTableRoutesOptions) SetRoutingTableID(routingTableID string) *ListVPCRoutingTableRoutesOptions { + _options.RoutingTableID = core.StringPtr(routingTableID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPCRoutingTableRoutesOptions) SetStart(start string) *ListVPCRoutingTableRoutesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPCRoutingTableRoutesOptions) SetLimit(limit int64) *ListVPCRoutingTableRoutesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPCRoutingTableRoutesOptions) SetHeaders(param map[string]string) *ListVPCRoutingTableRoutesOptions { + options.Headers = param + return options +} + +// ListVPCRoutingTablesOptions : The ListVPCRoutingTables options. +type ListVPCRoutingTablesOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to routing tables with an `is_default` property matching the specified value. + IsDefault *bool `json:"is_default,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVPCRoutingTablesOptions : Instantiate ListVPCRoutingTablesOptions +func (*VpcV1) NewListVPCRoutingTablesOptions(vpcID string) *ListVPCRoutingTablesOptions { + return &ListVPCRoutingTablesOptions{ + VPCID: core.StringPtr(vpcID), + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *ListVPCRoutingTablesOptions) SetVPCID(vpcID string) *ListVPCRoutingTablesOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPCRoutingTablesOptions) SetStart(start string) *ListVPCRoutingTablesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPCRoutingTablesOptions) SetLimit(limit int64) *ListVPCRoutingTablesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetIsDefault : Allow user to set IsDefault +func (_options *ListVPCRoutingTablesOptions) SetIsDefault(isDefault bool) *ListVPCRoutingTablesOptions { + _options.IsDefault = core.BoolPtr(isDefault) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPCRoutingTablesOptions) SetHeaders(param map[string]string) *ListVPCRoutingTablesOptions { + options.Headers = param + return options +} + +// ListVpcsOptions : The ListVpcs options. +type ListVpcsOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Filters the collection to VPCs with a `classic_access` property matching the specified value. + ClassicAccess *bool `json:"classic_access,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVpcsOptions : Instantiate ListVpcsOptions +func (*VpcV1) NewListVpcsOptions() *ListVpcsOptions { + return &ListVpcsOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListVpcsOptions) SetStart(start string) *ListVpcsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVpcsOptions) SetLimit(limit int64) *ListVpcsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListVpcsOptions) SetResourceGroupID(resourceGroupID string) *ListVpcsOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetClassicAccess : Allow user to set ClassicAccess +func (_options *ListVpcsOptions) SetClassicAccess(classicAccess bool) *ListVpcsOptions { + _options.ClassicAccess = core.BoolPtr(classicAccess) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVpcsOptions) SetHeaders(param map[string]string) *ListVpcsOptions { + options.Headers = param + return options +} + +// ListVPNGatewayAdvertisedCIDRsOptions : The ListVPNGatewayAdvertisedCIDRs options. +type ListVPNGatewayAdvertisedCIDRsOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVPNGatewayAdvertisedCIDRsOptions : Instantiate ListVPNGatewayAdvertisedCIDRsOptions +func (*VpcV1) NewListVPNGatewayAdvertisedCIDRsOptions(vpnGatewayID string) *ListVPNGatewayAdvertisedCIDRsOptions { + return &ListVPNGatewayAdvertisedCIDRsOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *ListVPNGatewayAdvertisedCIDRsOptions) SetVPNGatewayID(vpnGatewayID string) *ListVPNGatewayAdvertisedCIDRsOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNGatewayAdvertisedCIDRsOptions) SetHeaders(param map[string]string) *ListVPNGatewayAdvertisedCIDRsOptions { + options.Headers = param + return options +} + +// ListVPNGatewayConnectionsLocalCIDRsOptions : The ListVPNGatewayConnectionsLocalCIDRs options. +type ListVPNGatewayConnectionsLocalCIDRsOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVPNGatewayConnectionsLocalCIDRsOptions : Instantiate ListVPNGatewayConnectionsLocalCIDRsOptions +func (*VpcV1) NewListVPNGatewayConnectionsLocalCIDRsOptions(vpnGatewayID string, id string) *ListVPNGatewayConnectionsLocalCIDRsOptions { + return &ListVPNGatewayConnectionsLocalCIDRsOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *ListVPNGatewayConnectionsLocalCIDRsOptions) SetVPNGatewayID(vpnGatewayID string) *ListVPNGatewayConnectionsLocalCIDRsOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *ListVPNGatewayConnectionsLocalCIDRsOptions) SetID(id string) *ListVPNGatewayConnectionsLocalCIDRsOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNGatewayConnectionsLocalCIDRsOptions) SetHeaders(param map[string]string) *ListVPNGatewayConnectionsLocalCIDRsOptions { + options.Headers = param + return options +} + +// ListVPNGatewayConnectionsOptions : The ListVPNGatewayConnections options. +type ListVPNGatewayConnectionsOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to VPN gateway connections with a `status` property matching the specified value. + Status *string `json:"status,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListVPNGatewayConnectionsOptions.Status property. +// Filters the collection to VPN gateway connections with a `status` property matching the specified value. +const ( + ListVPNGatewayConnectionsOptionsStatusDownConst = "down" + ListVPNGatewayConnectionsOptionsStatusUpConst = "up" +) + +// NewListVPNGatewayConnectionsOptions : Instantiate ListVPNGatewayConnectionsOptions +func (*VpcV1) NewListVPNGatewayConnectionsOptions(vpnGatewayID string) *ListVPNGatewayConnectionsOptions { + return &ListVPNGatewayConnectionsOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *ListVPNGatewayConnectionsOptions) SetVPNGatewayID(vpnGatewayID string) *ListVPNGatewayConnectionsOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPNGatewayConnectionsOptions) SetStart(start string) *ListVPNGatewayConnectionsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPNGatewayConnectionsOptions) SetLimit(limit int64) *ListVPNGatewayConnectionsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetStatus : Allow user to set Status +func (_options *ListVPNGatewayConnectionsOptions) SetStatus(status string) *ListVPNGatewayConnectionsOptions { + _options.Status = core.StringPtr(status) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNGatewayConnectionsOptions) SetHeaders(param map[string]string) *ListVPNGatewayConnectionsOptions { + options.Headers = param + return options +} + +// ListVPNGatewayConnectionsPeerCIDRsOptions : The ListVPNGatewayConnectionsPeerCIDRs options. +type ListVPNGatewayConnectionsPeerCIDRsOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVPNGatewayConnectionsPeerCIDRsOptions : Instantiate ListVPNGatewayConnectionsPeerCIDRsOptions +func (*VpcV1) NewListVPNGatewayConnectionsPeerCIDRsOptions(vpnGatewayID string, id string) *ListVPNGatewayConnectionsPeerCIDRsOptions { + return &ListVPNGatewayConnectionsPeerCIDRsOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *ListVPNGatewayConnectionsPeerCIDRsOptions) SetVPNGatewayID(vpnGatewayID string) *ListVPNGatewayConnectionsPeerCIDRsOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *ListVPNGatewayConnectionsPeerCIDRsOptions) SetID(id string) *ListVPNGatewayConnectionsPeerCIDRsOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNGatewayConnectionsPeerCIDRsOptions) SetHeaders(param map[string]string) *ListVPNGatewayConnectionsPeerCIDRsOptions { + options.Headers = param + return options +} + +// ListVPNGatewayServiceConnectionsOptions : The ListVPNGatewayServiceConnections options. +type ListVPNGatewayServiceConnectionsOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewListVPNGatewayServiceConnectionsOptions : Instantiate ListVPNGatewayServiceConnectionsOptions +func (*VpcV1) NewListVPNGatewayServiceConnectionsOptions(vpnGatewayID string) *ListVPNGatewayServiceConnectionsOptions { + return &ListVPNGatewayServiceConnectionsOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *ListVPNGatewayServiceConnectionsOptions) SetVPNGatewayID(vpnGatewayID string) *ListVPNGatewayServiceConnectionsOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPNGatewayServiceConnectionsOptions) SetStart(start string) *ListVPNGatewayServiceConnectionsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPNGatewayServiceConnectionsOptions) SetLimit(limit int64) *ListVPNGatewayServiceConnectionsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNGatewayServiceConnectionsOptions) SetHeaders(param map[string]string) *ListVPNGatewayServiceConnectionsOptions { + options.Headers = param + return options +} + +// ListVPNGatewaysOptions : The ListVPNGateways options. +type ListVPNGatewaysOptions struct { + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Filters the collection to VPN gateways with a `mode` property matching the specified value. + Mode *string `json:"mode,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListVPNGatewaysOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListVPNGatewaysOptionsSortCreatedAtConst = "created_at" + ListVPNGatewaysOptionsSortNameConst = "name" +) + +// Constants associated with the ListVPNGatewaysOptions.Mode property. +// Filters the collection to VPN gateways with a `mode` property matching the specified value. +const ( + ListVPNGatewaysOptionsModePolicyConst = "policy" + ListVPNGatewaysOptionsModeRouteConst = "route" +) + +// NewListVPNGatewaysOptions : Instantiate ListVPNGatewaysOptions +func (*VpcV1) NewListVPNGatewaysOptions() *ListVPNGatewaysOptions { + return &ListVPNGatewaysOptions{} +} + +// SetStart : Allow user to set Start +func (_options *ListVPNGatewaysOptions) SetStart(start string) *ListVPNGatewaysOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPNGatewaysOptions) SetLimit(limit int64) *ListVPNGatewaysOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListVPNGatewaysOptions) SetResourceGroupID(resourceGroupID string) *ListVPNGatewaysOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListVPNGatewaysOptions) SetSort(sort string) *ListVPNGatewaysOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetMode : Allow user to set Mode +func (_options *ListVPNGatewaysOptions) SetMode(mode string) *ListVPNGatewaysOptions { + _options.Mode = core.StringPtr(mode) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNGatewaysOptions) SetHeaders(param map[string]string) *ListVPNGatewaysOptions { + options.Headers = param + return options +} + +// ListVPNServerClientsOptions : The ListVPNServerClients options. +type ListVPNServerClientsOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListVPNServerClientsOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order. +const ( + ListVPNServerClientsOptionsSortCreatedAtConst = "created_at" +) + +// NewListVPNServerClientsOptions : Instantiate ListVPNServerClientsOptions +func (*VpcV1) NewListVPNServerClientsOptions(vpnServerID string) *ListVPNServerClientsOptions { + return &ListVPNServerClientsOptions{ + VPNServerID: core.StringPtr(vpnServerID), + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *ListVPNServerClientsOptions) SetVPNServerID(vpnServerID string) *ListVPNServerClientsOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPNServerClientsOptions) SetStart(start string) *ListVPNServerClientsOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPNServerClientsOptions) SetLimit(limit int64) *ListVPNServerClientsOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListVPNServerClientsOptions) SetSort(sort string) *ListVPNServerClientsOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNServerClientsOptions) SetHeaders(param map[string]string) *ListVPNServerClientsOptions { + options.Headers = param + return options +} + +// ListVPNServerRoutesOptions : The ListVPNServerRoutes options. +type ListVPNServerRoutesOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListVPNServerRoutesOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListVPNServerRoutesOptionsSortCreatedAtConst = "created_at" + ListVPNServerRoutesOptionsSortNameConst = "name" +) + +// NewListVPNServerRoutesOptions : Instantiate ListVPNServerRoutesOptions +func (*VpcV1) NewListVPNServerRoutesOptions(vpnServerID string) *ListVPNServerRoutesOptions { + return &ListVPNServerRoutesOptions{ + VPNServerID: core.StringPtr(vpnServerID), + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *ListVPNServerRoutesOptions) SetVPNServerID(vpnServerID string) *ListVPNServerRoutesOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPNServerRoutesOptions) SetStart(start string) *ListVPNServerRoutesOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPNServerRoutesOptions) SetLimit(limit int64) *ListVPNServerRoutesOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListVPNServerRoutesOptions) SetSort(sort string) *ListVPNServerRoutesOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNServerRoutesOptions) SetHeaders(param map[string]string) *ListVPNServerRoutesOptions { + options.Headers = param + return options +} + +// ListVPNServersOptions : The ListVPNServers options. +type ListVPNServersOptions struct { + // Filters the collection to resources with a `name` property matching the exact specified name. + Name *string `json:"name,omitempty"` + + // A server-provided token determining what resource to start the page on. + Start *string `json:"start,omitempty"` + + // The number of resources to return on a page. + Limit *int64 `json:"limit,omitempty"` + + // Filters the collection to resources with a `resource_group.id` property matching the specified identifier. + ResourceGroupID *string `json:"resource_group.id,omitempty"` + + // Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name + // to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property + // in descending order, and the value `name` sorts it by the `name` property in ascending order. + Sort *string `json:"sort,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the ListVPNServersOptions.Sort property. +// Sorts the returned collection by the specified property name in ascending order. A `-` may be prepended to the name +// to sort in descending order. For example, the value `-created_at` sorts the collection by the `created_at` property +// in descending order, and the value `name` sorts it by the `name` property in ascending order. +const ( + ListVPNServersOptionsSortCreatedAtConst = "created_at" + ListVPNServersOptionsSortNameConst = "name" +) + +// NewListVPNServersOptions : Instantiate ListVPNServersOptions +func (*VpcV1) NewListVPNServersOptions() *ListVPNServersOptions { + return &ListVPNServersOptions{} +} + +// SetName : Allow user to set Name +func (_options *ListVPNServersOptions) SetName(name string) *ListVPNServersOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetStart : Allow user to set Start +func (_options *ListVPNServersOptions) SetStart(start string) *ListVPNServersOptions { + _options.Start = core.StringPtr(start) + return _options +} + +// SetLimit : Allow user to set Limit +func (_options *ListVPNServersOptions) SetLimit(limit int64) *ListVPNServersOptions { + _options.Limit = core.Int64Ptr(limit) + return _options +} + +// SetResourceGroupID : Allow user to set ResourceGroupID +func (_options *ListVPNServersOptions) SetResourceGroupID(resourceGroupID string) *ListVPNServersOptions { + _options.ResourceGroupID = core.StringPtr(resourceGroupID) + return _options +} + +// SetSort : Allow user to set Sort +func (_options *ListVPNServersOptions) SetSort(sort string) *ListVPNServersOptions { + _options.Sort = core.StringPtr(sort) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ListVPNServersOptions) SetHeaders(param map[string]string) *ListVPNServersOptions { + options.Headers = param + return options +} + +// LoadBalancer : LoadBalancer struct +type LoadBalancer struct { + // The access mode for this load balancer: + // - `private`: reachable from within its VPC, at IP addresses in `private_ips` + // - `private_path`: reachable through an endpoint gateway + // - `public`: reachable from the internet at the IP addresses in `public_ips`. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AccessMode *string `json:"access_mode" validate:"required"` + + // The load balancer pool members attached to this load balancer. + AttachedLoadBalancerPoolMembers []LoadBalancerPoolMemberReference `json:"attached_load_balancer_pool_members" validate:"required"` + + // The availability of this load balancer: + // - `subnet`: remains available if at least one zone that the load balancer's subnets reside + // in is available + // - `region`: remains available if at least one zone in the region is available. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Availability *string `json:"availability" validate:"required"` + + // The date and time that this load balancer was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this load balancer. + CRN *string `json:"crn" validate:"required"` + + // The DNS configuration for this load balancer. + // + // If absent, DNS `A` records for this load balancer's `hostname` property will be added to + // the public DNS zone `lb.appdomain.cloud`. + // + // Not supported by private path load balancers. + Dns *LoadBalancerDns `json:"dns,omitempty"` + + // The supported `failsafe_policy.action` values for this load balancer's pools. + FailsafePolicyActions []string `json:"failsafe_policy_actions" validate:"required"` + + // The fully qualified domain name assigned to this load balancer. + Hostname *string `json:"hostname" validate:"required"` + + // The URL for this load balancer. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer. + ID *string `json:"id" validate:"required"` + + // Indicates whether this load balancer supports instance groups. + InstanceGroupsSupported *bool `json:"instance_groups_supported" validate:"required"` + + // Indicates whether this is a private path load balancer. + IsPrivatePath *bool `json:"is_private_path" validate:"required"` + + // The type of this load balancer, public or private. + IsPublic *bool `json:"is_public" validate:"required"` + + // The listeners of this load balancer. + Listeners []LoadBalancerListenerReference `json:"listeners" validate:"required"` + + // The logging configuration for this load balancer. + Logging *LoadBalancerLogging `json:"logging" validate:"required"` + + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name *string `json:"name" validate:"required"` + + // The operating status of this load balancer. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + OperatingStatus *string `json:"operating_status" validate:"required"` + + // The pools of this load balancer. + Pools []LoadBalancerPoolReference `json:"pools" validate:"required"` + + // The private IP addresses assigned to this load balancer. + // + // Will be empty if `is_private` is `false`. + PrivateIps []ReservedIPReference `json:"private_ips" validate:"required"` + + // The profile for this load balancer. + Profile *LoadBalancerProfileReference `json:"profile" validate:"required"` + + // The provisioning status of this load balancer: + // - `active`: The load balancer is running. + // - `create_pending`: The load balancer is being created. + // - `delete_pending`: The load balancer is being deleted. + // - `maintenance_pending`: The load balancer is unavailable due to an internal + // error (contact IBM support). + // - `migrate_pending`: The load balancer is migrating to the requested configuration. + // Performance may be degraded. + // - `update_pending`: The load balancer is being updated + // to the requested configuration. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProvisioningStatus *string `json:"provisioning_status" validate:"required"` + + // The public IP addresses assigned to this load balancer. + // + // Will be empty if `is_public` is `false`. + PublicIps []IP `json:"public_ips" validate:"required"` + + // The resource group for this load balancer. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // Indicates whether [route mode](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vnf&interface=ui) is enabled for this + // load balancer. + // + // At present, public load balancers are not supported with route mode enabled. + RouteMode *bool `json:"route_mode" validate:"required"` + + // The security groups targeting this load balancer. + // + // If empty, all inbound and outbound traffic is allowed. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // Indicates whether this load balancer supports security groups. + SecurityGroupsSupported *bool `json:"security_groups_supported" validate:"required"` + + // Indicates whether this load balancer supports source IP session persistence. + SourceIPSessionPersistenceSupported *bool `json:"source_ip_session_persistence_supported" validate:"required"` + + // The subnets this load balancer is provisioned in. + // + // All subnets will be in the same VPC. + Subnets []SubnetReference `json:"subnets" validate:"required"` + + // Indicates whether this load balancer supports UDP. + UDPSupported *bool `json:"udp_supported" validate:"required"` +} + +// Constants associated with the LoadBalancer.AccessMode property. +// The access mode for this load balancer: +// - `private`: reachable from within its VPC, at IP addresses in `private_ips` +// - `private_path`: reachable through an endpoint gateway +// - `public`: reachable from the internet at the IP addresses in `public_ips`. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerAccessModePrivateConst = "private" + LoadBalancerAccessModePrivatePathConst = "private_path" + LoadBalancerAccessModePublicConst = "public" +) + +// Constants associated with the LoadBalancer.Availability property. +// The availability of this load balancer: +// - `subnet`: remains available if at least one zone that the load balancer's subnets reside +// in is available +// - `region`: remains available if at least one zone in the region is available. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerAvailabilityRegionConst = "region" + LoadBalancerAvailabilitySubnetConst = "subnet" +) + +// Constants associated with the LoadBalancer.FailsafePolicyActions property. +// A load balancer failsafe policy action: +// - `bypass`: Bypasses the members and sends requests directly to their destination IPs. +// - `drop`: Drops requests. +// - `fail`: Fails requests with an HTTP `503` status code. +// - `forward`: Forwards requests to the `target` pool. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerFailsafePolicyActionsBypassConst = "bypass" + LoadBalancerFailsafePolicyActionsDropConst = "drop" + LoadBalancerFailsafePolicyActionsFailConst = "fail" + LoadBalancerFailsafePolicyActionsForwardConst = "forward" +) + +// Constants associated with the LoadBalancer.OperatingStatus property. +// The operating status of this load balancer. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerOperatingStatusOfflineConst = "offline" + LoadBalancerOperatingStatusOnlineConst = "online" +) + +// Constants associated with the LoadBalancer.ProvisioningStatus property. +// The provisioning status of this load balancer: +// - `active`: The load balancer is running. +// - `create_pending`: The load balancer is being created. +// - `delete_pending`: The load balancer is being deleted. +// - `maintenance_pending`: The load balancer is unavailable due to an internal +// error (contact IBM support). +// - `migrate_pending`: The load balancer is migrating to the requested configuration. +// Performance may be degraded. +// - `update_pending`: The load balancer is being updated +// to the requested configuration. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerProvisioningStatusActiveConst = "active" + LoadBalancerProvisioningStatusCreatePendingConst = "create_pending" + LoadBalancerProvisioningStatusDeletePendingConst = "delete_pending" + LoadBalancerProvisioningStatusFailedConst = "failed" + LoadBalancerProvisioningStatusMaintenancePendingConst = "maintenance_pending" + LoadBalancerProvisioningStatusMigratePendingConst = "migrate_pending" + LoadBalancerProvisioningStatusUpdatePendingConst = "update_pending" +) + +// Constants associated with the LoadBalancer.ResourceType property. +// The resource type. +const ( + LoadBalancerResourceTypeLoadBalancerConst = "load_balancer" +) + +// UnmarshalLoadBalancer unmarshals an instance of LoadBalancer from the specified map of raw messages. +func UnmarshalLoadBalancer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancer) + err = core.UnmarshalPrimitive(m, "access_mode", &obj.AccessMode) + if err != nil { + err = core.SDKErrorf(err, "", "access_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "attached_load_balancer_pool_members", &obj.AttachedLoadBalancerPoolMembers, UnmarshalLoadBalancerPoolMemberReference) + if err != nil { + err = core.SDKErrorf(err, "", "attached_load_balancer_pool_members-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "availability", &obj.Availability) + if err != nil { + err = core.SDKErrorf(err, "", "availability-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dns", &obj.Dns, UnmarshalLoadBalancerDns) + if err != nil { + err = core.SDKErrorf(err, "", "dns-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "failsafe_policy_actions", &obj.FailsafePolicyActions) + if err != nil { + err = core.SDKErrorf(err, "", "failsafe_policy_actions-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "hostname", &obj.Hostname) + if err != nil { + err = core.SDKErrorf(err, "", "hostname-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance_groups_supported", &obj.InstanceGroupsSupported) + if err != nil { + err = core.SDKErrorf(err, "", "instance_groups_supported-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "is_private_path", &obj.IsPrivatePath) + if err != nil { + err = core.SDKErrorf(err, "", "is_private_path-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "is_public", &obj.IsPublic) + if err != nil { + err = core.SDKErrorf(err, "", "is_public-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listeners", &obj.Listeners, UnmarshalLoadBalancerListenerReference) + if err != nil { + err = core.SDKErrorf(err, "", "listeners-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "logging", &obj.Logging, UnmarshalLoadBalancerLogging) + if err != nil { + err = core.SDKErrorf(err, "", "logging-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "operating_status", &obj.OperatingStatus) + if err != nil { + err = core.SDKErrorf(err, "", "operating_status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "pools", &obj.Pools, UnmarshalLoadBalancerPoolReference) + if err != nil { + err = core.SDKErrorf(err, "", "pools-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "private_ips", &obj.PrivateIps, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "private_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalLoadBalancerProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "provisioning_status", &obj.ProvisioningStatus) + if err != nil { + err = core.SDKErrorf(err, "", "provisioning_status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_ips", &obj.PublicIps, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "public_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_mode", &obj.RouteMode) + if err != nil { + err = core.SDKErrorf(err, "", "route_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "security_groups_supported", &obj.SecurityGroupsSupported) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups_supported-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_ip_session_persistence_supported", &obj.SourceIPSessionPersistenceSupported) + if err != nil { + err = core.SDKErrorf(err, "", "source_ip_session_persistence_supported-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "udp_supported", &obj.UDPSupported) + if err != nil { + err = core.SDKErrorf(err, "", "udp_supported-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerCollection : LoadBalancerCollection struct +type LoadBalancerCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A page of load balancers. + LoadBalancers []LoadBalancer `json:"load_balancers" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalLoadBalancerCollection unmarshals an instance of LoadBalancerCollection from the specified map of raw messages. +func UnmarshalLoadBalancerCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "load_balancers", &obj.LoadBalancers, UnmarshalLoadBalancer) + if err != nil { + err = core.SDKErrorf(err, "", "load_balancers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *LoadBalancerCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// LoadBalancerDns : The DNS configuration for this load balancer. +// +// If absent, DNS `A` records for this load balancer's `hostname` property will be added to the public DNS zone +// `lb.appdomain.cloud`. +// +// Not supported by private path load balancers. +type LoadBalancerDns struct { + // The DNS instance associated with this load balancer. + Instance *DnsInstanceReferenceLoadBalancerDnsContext `json:"instance" validate:"required"` + + // The DNS zone associated with this load balancer. + Zone *DnsZoneReference `json:"zone" validate:"required"` +} + +// UnmarshalLoadBalancerDns unmarshals an instance of LoadBalancerDns from the specified map of raw messages. +func UnmarshalLoadBalancerDns(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerDns) + err = core.UnmarshalModel(m, "instance", &obj.Instance, UnmarshalDnsInstanceReferenceLoadBalancerDnsContext) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalDnsZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerDnsPatch : The DNS configuration for this load balancer. +// +// Specify `null` to remove the existing DNS configuration, which will remove all DNS `A` records for this load balancer +// that had been added to `zone`, and add equivalent `A` records to the public DNS zone `lb.appdomain.cloud`. +// +// Not supported by private path load balancers. +type LoadBalancerDnsPatch struct { + // The DNS instance to associate with this load balancer. + // + // The specified instance may be in a different region or account, subject to IAM + // policies. + Instance DnsInstanceIdentityIntf `json:"instance,omitempty"` + + // The DNS zone to associate with this load balancer. + // + // The specified zone may be in a different region or account, subject to IAM policies. + Zone DnsZoneIdentityIntf `json:"zone,omitempty"` +} + +// UnmarshalLoadBalancerDnsPatch unmarshals an instance of LoadBalancerDnsPatch from the specified map of raw messages. +func UnmarshalLoadBalancerDnsPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerDnsPatch) + err = core.UnmarshalModel(m, "instance", &obj.Instance, UnmarshalDnsInstanceIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalDnsZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerDnsPatch +func (loadBalancerDnsPatch *LoadBalancerDnsPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerDnsPatch.Instance) { + _patch["instance"] = loadBalancerDnsPatch.Instance.asPatch() + } + if !core.IsNil(loadBalancerDnsPatch.Zone) { + _patch["zone"] = loadBalancerDnsPatch.Zone.asPatch() + } + + return +} + +// LoadBalancerDnsPrototype : The DNS configuration for this load balancer. +// +// If unspecified, DNS `A` records for this load balancer's `hostname` property will be added to the public DNS zone +// `lb.appdomain.cloud`. Otherwise, those DNS `A` records will be added to the specified `zone`. +// +// Not supported by private path load balancers. +type LoadBalancerDnsPrototype struct { + // The DNS instance to associate with this load balancer. + // + // The specified instance may be in a different region or account, subject to IAM + // policies. + Instance DnsInstanceIdentityIntf `json:"instance" validate:"required"` + + // The DNS zone to associate with this load balancer. + // + // The specified zone may be in a different region or account, subject to IAM policies. + Zone DnsZoneIdentityIntf `json:"zone" validate:"required"` +} + +// NewLoadBalancerDnsPrototype : Instantiate LoadBalancerDnsPrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerDnsPrototype(instance DnsInstanceIdentityIntf, zone DnsZoneIdentityIntf) (_model *LoadBalancerDnsPrototype, err error) { + _model = &LoadBalancerDnsPrototype{ + Instance: instance, + Zone: zone, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerDnsPrototype unmarshals an instance of LoadBalancerDnsPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerDnsPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerDnsPrototype) + err = core.UnmarshalModel(m, "instance", &obj.Instance, UnmarshalDnsInstanceIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalDnsZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerIdentity : Identifies a load balancer by a unique property. +// Models which "extend" this model: +// - LoadBalancerIdentityByID +// - LoadBalancerIdentityByCRN +// - LoadBalancerIdentityByHref +type LoadBalancerIdentity struct { + // The unique identifier for this load balancer. + ID *string `json:"id,omitempty"` + + // The CRN for this load balancer. + CRN *string `json:"crn,omitempty"` + + // The URL for this load balancer. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerIdentity) isaLoadBalancerIdentity() bool { + return true +} + +type LoadBalancerIdentityIntf interface { + isaLoadBalancerIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalLoadBalancerIdentity unmarshals an instance of LoadBalancerIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerIdentity +func (loadBalancerIdentity *LoadBalancerIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerIdentity.ID) { + _patch["id"] = loadBalancerIdentity.ID + } + if !core.IsNil(loadBalancerIdentity.CRN) { + _patch["crn"] = loadBalancerIdentity.CRN + } + if !core.IsNil(loadBalancerIdentity.Href) { + _patch["href"] = loadBalancerIdentity.Href + } + + return +} + +// LoadBalancerListener : LoadBalancerListener struct +type LoadBalancerListener struct { + // If set to `true`, this listener will accept and forward PROXY protocol information. Supported by load balancers in + // the `application` family (otherwise always `false`). Additional restrictions: + // - If this listener has `https_redirect` specified, its `accept_proxy_protocol` value must + // match the `accept_proxy_protocol` value of the `https_redirect` listener. + // - If this listener is the target of another listener's `https_redirect`, its + // `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol` value. + AcceptProxyProtocol *bool `json:"accept_proxy_protocol" validate:"required"` + + // The certificate instance used for SSL termination. + // + // If absent, this listener is not using a certificate instance. + CertificateInstance *CertificateInstanceReference `json:"certificate_instance,omitempty"` + + // The concurrent connection limit for the listener. If reached, incoming connections may be queued or rejected. + // + // This property will be present for load balancers in the `application` family. + ConnectionLimit *int64 `json:"connection_limit,omitempty"` + + // The date and time that this listener was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The default pool for this listener. If absent, this listener has no default pool. + // + // If `https_redirect` is set, the default pool will not be used. + DefaultPool *LoadBalancerPoolReference `json:"default_pool,omitempty"` + + // The URL for this load balancer listener. + Href *string `json:"href" validate:"required"` + + // If present, the target listener that requests are redirected to if none of the + // listener's `policies` match. + HTTPSRedirect *LoadBalancerListenerHTTPSRedirect `json:"https_redirect,omitempty"` + + // The unique identifier for this load balancer listener. + ID *string `json:"id" validate:"required"` + + // The idle connection timeout of the listener in seconds. + // + // This property will be present for load balancers in the `application` family. + IdleConnectionTimeout *int64 `json:"idle_connection_timeout,omitempty"` + + // The policies for this listener. + Policies []LoadBalancerListenerPolicyReference `json:"policies,omitempty"` + + // The listener port number, or the inclusive lower bound of the port range. + Port *int64 `json:"port" validate:"required"` + + // The inclusive upper bound of the range of ports used by this listener. + PortMax *int64 `json:"port_max" validate:"required"` + + // The inclusive lower bound of the range of ports used by this listener. + PortMin *int64 `json:"port_min" validate:"required"` + + // The listener protocol. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Protocol *string `json:"protocol" validate:"required"` + + // The provisioning status of this listener + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProvisioningStatus *string `json:"provisioning_status" validate:"required"` +} + +// Constants associated with the LoadBalancerListener.Protocol property. +// The listener protocol. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerListenerProtocolHTTPConst = "http" + LoadBalancerListenerProtocolHTTPSConst = "https" + LoadBalancerListenerProtocolTCPConst = "tcp" + LoadBalancerListenerProtocolUDPConst = "udp" +) + +// Constants associated with the LoadBalancerListener.ProvisioningStatus property. +// The provisioning status of this listener +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerListenerProvisioningStatusActiveConst = "active" + LoadBalancerListenerProvisioningStatusCreatePendingConst = "create_pending" + LoadBalancerListenerProvisioningStatusDeletePendingConst = "delete_pending" + LoadBalancerListenerProvisioningStatusFailedConst = "failed" + LoadBalancerListenerProvisioningStatusUpdatePendingConst = "update_pending" +) + +// UnmarshalLoadBalancerListener unmarshals an instance of LoadBalancerListener from the specified map of raw messages. +func UnmarshalLoadBalancerListener(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListener) + err = core.UnmarshalPrimitive(m, "accept_proxy_protocol", &obj.AcceptProxyProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "accept_proxy_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "certificate_instance", &obj.CertificateInstance, UnmarshalCertificateInstanceReference) + if err != nil { + err = core.SDKErrorf(err, "", "certificate_instance-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "connection_limit", &obj.ConnectionLimit) + if err != nil { + err = core.SDKErrorf(err, "", "connection_limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_pool", &obj.DefaultPool, UnmarshalLoadBalancerPoolReference) + if err != nil { + err = core.SDKErrorf(err, "", "default_pool-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "https_redirect", &obj.HTTPSRedirect, UnmarshalLoadBalancerListenerHTTPSRedirect) + if err != nil { + err = core.SDKErrorf(err, "", "https_redirect-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "idle_connection_timeout", &obj.IdleConnectionTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "idle_connection_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "policies", &obj.Policies, UnmarshalLoadBalancerListenerPolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "policies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_max", &obj.PortMax) + if err != nil { + err = core.SDKErrorf(err, "", "port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_min", &obj.PortMin) + if err != nil { + err = core.SDKErrorf(err, "", "port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "provisioning_status", &obj.ProvisioningStatus) + if err != nil { + err = core.SDKErrorf(err, "", "provisioning_status-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerCollection : LoadBalancerListenerCollection struct +type LoadBalancerListenerCollection struct { + // The listeners for the load balancer. + Listeners []LoadBalancerListener `json:"listeners" validate:"required"` +} + +// UnmarshalLoadBalancerListenerCollection unmarshals an instance of LoadBalancerListenerCollection from the specified map of raw messages. +func UnmarshalLoadBalancerListenerCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerCollection) + err = core.UnmarshalModel(m, "listeners", &obj.Listeners, UnmarshalLoadBalancerListener) + if err != nil { + err = core.SDKErrorf(err, "", "listeners-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerDefaultPoolPatch : The default pool for this listener. If `https_redirect` is set, the default pool will not be used. The specified pool +// must: +// +// - Belong to this load balancer +// - Have the same `protocol` as this listener, or have a compatible protocol. +// At present, the compatible protocols are `http` and `https`. +// - Not already be the `default_pool` for another listener +// +// Specify `null` to remove an existing default pool. +// Models which "extend" this model: +// - LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID +// - LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref +type LoadBalancerListenerDefaultPoolPatch struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerListenerDefaultPoolPatch) isaLoadBalancerListenerDefaultPoolPatch() bool { + return true +} + +type LoadBalancerListenerDefaultPoolPatchIntf interface { + isaLoadBalancerListenerDefaultPoolPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalLoadBalancerListenerDefaultPoolPatch unmarshals an instance of LoadBalancerListenerDefaultPoolPatch from the specified map of raw messages. +func UnmarshalLoadBalancerListenerDefaultPoolPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerDefaultPoolPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerDefaultPoolPatch +func (loadBalancerListenerDefaultPoolPatch *LoadBalancerListenerDefaultPoolPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerDefaultPoolPatch.ID) { + _patch["id"] = loadBalancerListenerDefaultPoolPatch.ID + } + if !core.IsNil(loadBalancerListenerDefaultPoolPatch.Href) { + _patch["href"] = loadBalancerListenerDefaultPoolPatch.Href + } + + return +} + +// LoadBalancerListenerHTTPSRedirect : LoadBalancerListenerHTTPSRedirect struct +type LoadBalancerListenerHTTPSRedirect struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code" validate:"required"` + + Listener *LoadBalancerListenerReference `json:"listener" validate:"required"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` +} + +// UnmarshalLoadBalancerListenerHTTPSRedirect unmarshals an instance of LoadBalancerListenerHTTPSRedirect from the specified map of raw messages. +func UnmarshalLoadBalancerListenerHTTPSRedirect(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerHTTPSRedirect) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerReference) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerHTTPSRedirectPatch : LoadBalancerListenerHTTPSRedirectPatch struct +type LoadBalancerListenerHTTPSRedirectPatch struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code,omitempty"` + + // The target listener. + // + // The target listener must be in this load balancer, and must not be the same as the + // listener in the URL. + Listener LoadBalancerListenerIdentityIntf `json:"listener,omitempty"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` +} + +// UnmarshalLoadBalancerListenerHTTPSRedirectPatch unmarshals an instance of LoadBalancerListenerHTTPSRedirectPatch from the specified map of raw messages. +func UnmarshalLoadBalancerListenerHTTPSRedirectPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerHTTPSRedirectPatch) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerHTTPSRedirectPatch +func (loadBalancerListenerHTTPSRedirectPatch *LoadBalancerListenerHTTPSRedirectPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerHTTPSRedirectPatch.HTTPStatusCode) { + _patch["http_status_code"] = loadBalancerListenerHTTPSRedirectPatch.HTTPStatusCode + } + if !core.IsNil(loadBalancerListenerHTTPSRedirectPatch.Listener) { + _patch["listener"] = loadBalancerListenerHTTPSRedirectPatch.Listener.asPatch() + } + if !core.IsNil(loadBalancerListenerHTTPSRedirectPatch.URI) { + _patch["uri"] = loadBalancerListenerHTTPSRedirectPatch.URI + } + + return +} + +// LoadBalancerListenerHTTPSRedirectPrototype : LoadBalancerListenerHTTPSRedirectPrototype struct +type LoadBalancerListenerHTTPSRedirectPrototype struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code" validate:"required"` + + // The target listener. + // + // The target listener must be in this load balancer, and must not be the same as the + // listener in the URL. + Listener LoadBalancerListenerIdentityIntf `json:"listener" validate:"required"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` +} + +// NewLoadBalancerListenerHTTPSRedirectPrototype : Instantiate LoadBalancerListenerHTTPSRedirectPrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerHTTPSRedirectPrototype(httpStatusCode int64, listener LoadBalancerListenerIdentityIntf) (_model *LoadBalancerListenerHTTPSRedirectPrototype, err error) { + _model = &LoadBalancerListenerHTTPSRedirectPrototype{ + HTTPStatusCode: core.Int64Ptr(httpStatusCode), + Listener: listener, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerListenerHTTPSRedirectPrototype unmarshals an instance of LoadBalancerListenerHTTPSRedirectPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerListenerHTTPSRedirectPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerHTTPSRedirectPrototype) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerIdentity : Identifies a load balancer listener by a unique property. +// Models which "extend" this model: +// - LoadBalancerListenerIdentityByID +// - LoadBalancerListenerIdentityByHref +type LoadBalancerListenerIdentity struct { + // The unique identifier for this load balancer listener. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer listener. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerListenerIdentity) isaLoadBalancerListenerIdentity() bool { + return true +} + +type LoadBalancerListenerIdentityIntf interface { + isaLoadBalancerListenerIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalLoadBalancerListenerIdentity unmarshals an instance of LoadBalancerListenerIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerListenerIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerIdentity +func (loadBalancerListenerIdentity *LoadBalancerListenerIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerIdentity.ID) { + _patch["id"] = loadBalancerListenerIdentity.ID + } + if !core.IsNil(loadBalancerListenerIdentity.Href) { + _patch["href"] = loadBalancerListenerIdentity.Href + } + + return +} + +// LoadBalancerListenerPatch : LoadBalancerListenerPatch struct +type LoadBalancerListenerPatch struct { + // If set to `true`, this listener will accept and forward PROXY protocol information. Supported by load balancers in + // the `application` family (otherwise always `false`). Additional restrictions: + // - If this listener has `https_redirect` specified, its `accept_proxy_protocol` value must + // match the `accept_proxy_protocol` value of the `https_redirect` listener. + // - If this listener is the target of another listener's `https_redirect`, its + // `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol` value. + AcceptProxyProtocol *bool `json:"accept_proxy_protocol,omitempty"` + + // The certificate instance to use for SSL termination. The listener must have a + // `protocol` of `https`. + CertificateInstance CertificateInstanceIdentityIntf `json:"certificate_instance,omitempty"` + + // The concurrent connection limit for the listener. If reached, incoming connections may be queued or rejected. + // + // Supported for load balancers in the `application` family. + ConnectionLimit *int64 `json:"connection_limit,omitempty"` + + // The default pool for this listener. If `https_redirect` is set, the default pool will not + // be used. The specified pool must: + // + // - Belong to this load balancer + // - Have the same `protocol` as this listener, or have a compatible protocol. + // At present, the compatible protocols are `http` and `https`. + // - Not already be the `default_pool` for another listener + // + // Specify `null` to remove an existing default pool. + DefaultPool LoadBalancerListenerDefaultPoolPatchIntf `json:"default_pool,omitempty"` + + // The target listener that requests will be redirected to if none of the listener's + // `policies` match. + // + // If specified, this listener must have a `protocol` of `http`, and the target listener + // must have a `protocol` of `https`. + // + // Specify `null` to remove any existing https redirect. + HTTPSRedirect *LoadBalancerListenerHTTPSRedirectPatch `json:"https_redirect,omitempty"` + + // The idle connection timeout of the listener in seconds. + // + // Supported for load balancers in the `application` family. + IdleConnectionTimeout *int64 `json:"idle_connection_timeout,omitempty"` + + // The inclusive lower bound of the range of ports used by this listener. Must not be greater than `port_max`. Updating + // `port` updates `port_min` to the same value. + // + // Only network load balancers with `route_mode`, `is_public` or `is_private_path` set to + // `true` support different values for `port_min` and `port_max`. If `route_mode` is set to `true`, the value must be + // `1`. + // + // Each listener in the load balancer must have a non-overlapping port range and + // `protocol` combination. Protocol values of `tcp`, `http` and `https` share the TCP port space. + Port *int64 `json:"port,omitempty"` + + // The inclusive upper bound of the range of ports used by this listener. Must not be less than `port_min`. + // + // Only network load balancers with `route_mode`, `is_public` or `is_private_path` set to + // `true` support different values for `port_min` and `port_max`. If `route_mode` is set to `true`, the value must be + // `65535`. + // + // The specified port range must not overlap with port ranges used by other listeners for this load balancer using the + // same protocol. Protocol values of `tcp`, `http` and + // `https` share the TCP port space. + PortMax *int64 `json:"port_max,omitempty"` + + // The inclusive lower bound of the range of ports used by this listener. Must not be greater than `port_max`. Updating + // `port_min` updates `port` to the same value. + // + // Only network load balancers with `route_mode`, `is_public` or `is_private_path` set to + // `true` support different values for `port_min` and `port_max`. If `route_mode` is set to `true`, the value must be + // `1`. + // + // Each listener in the load balancer must have a non-overlapping port range and + // `protocol` combination. + PortMin *int64 `json:"port_min,omitempty"` + + // The listener protocol. Each listener in the load balancer must have a non-overlapping port range and `protocol` + // combination. + // + // Load balancers in the `network` family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the + // `application` family support `tcp`, `http` and + // `https`. + // + // Additional restrictions: + // - If `default_pool` is set, the protocol cannot be changed. + // - If `https_redirect` is set, the protocol must be `http`. + // - If another listener's `https_redirect` targets this listener, the protocol must be + // `https`. + Protocol *string `json:"protocol,omitempty"` +} + +// Constants associated with the LoadBalancerListenerPatch.Protocol property. +// The listener protocol. Each listener in the load balancer must have a non-overlapping port range and `protocol` +// combination. +// +// Load balancers in the `network` family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the +// `application` family support `tcp`, `http` and +// `https`. +// +// Additional restrictions: +// - If `default_pool` is set, the protocol cannot be changed. +// - If `https_redirect` is set, the protocol must be `http`. +// - If another listener's `https_redirect` targets this listener, the protocol must be +// `https`. +const ( + LoadBalancerListenerPatchProtocolHTTPConst = "http" + LoadBalancerListenerPatchProtocolHTTPSConst = "https" + LoadBalancerListenerPatchProtocolTCPConst = "tcp" + LoadBalancerListenerPatchProtocolUDPConst = "udp" +) + +// UnmarshalLoadBalancerListenerPatch unmarshals an instance of LoadBalancerListenerPatch from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPatch) + err = core.UnmarshalPrimitive(m, "accept_proxy_protocol", &obj.AcceptProxyProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "accept_proxy_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "certificate_instance", &obj.CertificateInstance, UnmarshalCertificateInstanceIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "certificate_instance-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "connection_limit", &obj.ConnectionLimit) + if err != nil { + err = core.SDKErrorf(err, "", "connection_limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_pool", &obj.DefaultPool, UnmarshalLoadBalancerListenerDefaultPoolPatch) + if err != nil { + err = core.SDKErrorf(err, "", "default_pool-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "https_redirect", &obj.HTTPSRedirect, UnmarshalLoadBalancerListenerHTTPSRedirectPatch) + if err != nil { + err = core.SDKErrorf(err, "", "https_redirect-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "idle_connection_timeout", &obj.IdleConnectionTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "idle_connection_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_max", &obj.PortMax) + if err != nil { + err = core.SDKErrorf(err, "", "port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_min", &obj.PortMin) + if err != nil { + err = core.SDKErrorf(err, "", "port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the LoadBalancerListenerPatch +func (loadBalancerListenerPatch *LoadBalancerListenerPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPatch.AcceptProxyProtocol) { + _patch["accept_proxy_protocol"] = loadBalancerListenerPatch.AcceptProxyProtocol + } + if !core.IsNil(loadBalancerListenerPatch.CertificateInstance) { + _patch["certificate_instance"] = loadBalancerListenerPatch.CertificateInstance.asPatch() + } + if !core.IsNil(loadBalancerListenerPatch.ConnectionLimit) { + _patch["connection_limit"] = loadBalancerListenerPatch.ConnectionLimit + } + if !core.IsNil(loadBalancerListenerPatch.DefaultPool) { + _patch["default_pool"] = loadBalancerListenerPatch.DefaultPool.asPatch() + } + if !core.IsNil(loadBalancerListenerPatch.HTTPSRedirect) { + _patch["https_redirect"] = loadBalancerListenerPatch.HTTPSRedirect.asPatch() + } + if !core.IsNil(loadBalancerListenerPatch.IdleConnectionTimeout) { + _patch["idle_connection_timeout"] = loadBalancerListenerPatch.IdleConnectionTimeout + } + if !core.IsNil(loadBalancerListenerPatch.Port) { + _patch["port"] = loadBalancerListenerPatch.Port + } + if !core.IsNil(loadBalancerListenerPatch.PortMax) { + _patch["port_max"] = loadBalancerListenerPatch.PortMax + } + if !core.IsNil(loadBalancerListenerPatch.PortMin) { + _patch["port_min"] = loadBalancerListenerPatch.PortMin + } + if !core.IsNil(loadBalancerListenerPatch.Protocol) { + _patch["protocol"] = loadBalancerListenerPatch.Protocol + } + + return +} + +// LoadBalancerListenerPolicy : LoadBalancerListenerPolicy struct +type LoadBalancerListenerPolicy struct { + // The policy action: + // - `forward_to_listener`: Requests will be forwarded to the specified `target` + // listener + // - `forward_to_pool`: Requests will be forwarded to the specified `target` pool + // - `https_redirect`: Requests will be redirected to the specified `target` listener. + // The listener must have a `protocol` of `http`, and the target listener must have a + // `protocol` of `https` + // - `redirect`: Requests will be redirected to the specified `target.url` + // - `reject`: Requests will be rejected with a `403` status code + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action *string `json:"action" validate:"required"` + + // The date and time that this policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this load balancer policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer policy. + ID *string `json:"id" validate:"required"` + + // The name for this load balancer listener policy. The name is unique across all policies for the load balancer + // listener. + Name *string `json:"name" validate:"required"` + + // The priority of the policy. The priority is unique across all policies for this load balancer listener. Lower value + // indicates higher priority. + Priority *int64 `json:"priority" validate:"required"` + + // The provisioning status of this policy + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProvisioningStatus *string `json:"provisioning_status" validate:"required"` + + // The rules for this policy. + Rules []LoadBalancerListenerPolicyRuleReference `json:"rules" validate:"required"` + + // - If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` + // - If `action` is `forward_to_pool`, specify a `LoadBalancerPoolIdentity` + // - If `action` is `https_redirect`, the response is a + // `LoadBalancerListenerPolicyHTTPSRedirect` + // - If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`. + Target LoadBalancerListenerPolicyTargetIntf `json:"target,omitempty"` +} + +// Constants associated with the LoadBalancerListenerPolicy.Action property. +// The policy action: +// - `forward_to_listener`: Requests will be forwarded to the specified `target` +// listener +// - `forward_to_pool`: Requests will be forwarded to the specified `target` pool +// - `https_redirect`: Requests will be redirected to the specified `target` listener. +// The listener must have a `protocol` of `http`, and the target listener must have a +// `protocol` of `https` +// - `redirect`: Requests will be redirected to the specified `target.url` +// - `reject`: Requests will be rejected with a `403` status code +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerListenerPolicyActionForwardToListenerConst = "forward_to_listener" + LoadBalancerListenerPolicyActionForwardToPoolConst = "forward_to_pool" + LoadBalancerListenerPolicyActionHTTPSRedirectConst = "https_redirect" + LoadBalancerListenerPolicyActionRedirectConst = "redirect" + LoadBalancerListenerPolicyActionRejectConst = "reject" +) + +// Constants associated with the LoadBalancerListenerPolicy.ProvisioningStatus property. +// The provisioning status of this policy +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerListenerPolicyProvisioningStatusActiveConst = "active" + LoadBalancerListenerPolicyProvisioningStatusCreatePendingConst = "create_pending" + LoadBalancerListenerPolicyProvisioningStatusDeletePendingConst = "delete_pending" + LoadBalancerListenerPolicyProvisioningStatusFailedConst = "failed" + LoadBalancerListenerPolicyProvisioningStatusUpdatePendingConst = "update_pending" +) + +// UnmarshalLoadBalancerListenerPolicy unmarshals an instance of LoadBalancerListenerPolicy from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicy) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "priority", &obj.Priority) + if err != nil { + err = core.SDKErrorf(err, "", "priority-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "provisioning_status", &obj.ProvisioningStatus) + if err != nil { + err = core.SDKErrorf(err, "", "provisioning_status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalLoadBalancerListenerPolicyRuleReference) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerListenerPolicyTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyCollection : LoadBalancerListenerPolicyCollection struct +type LoadBalancerListenerPolicyCollection struct { + // The policies for the load balancer listener. + Policies []LoadBalancerListenerPolicy `json:"policies" validate:"required"` +} + +// UnmarshalLoadBalancerListenerPolicyCollection unmarshals an instance of LoadBalancerListenerPolicyCollection from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyCollection) + err = core.UnmarshalModel(m, "policies", &obj.Policies, UnmarshalLoadBalancerListenerPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "policies-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyPatch : LoadBalancerListenerPolicyPatch struct +type LoadBalancerListenerPolicyPatch struct { + // The name for this policy. The name must not be used by another policy for the load balancer listener. + Name *string `json:"name,omitempty"` + + // The priority of the policy. The priority is unique across all policies for this load balancer listener. Lower value + // indicates higher priority. + Priority *int64 `json:"priority,omitempty"` + + // - If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` for a + // listener in this load balancer. + // - If `action` is `forward_to_pool`, specify a `LoadBalancerPoolIdentity` for a pool in + // this load balancer. + // - If `action` is `https_redirect`, specify a + // `LoadBalancerListenerPolicyHTTPSRedirectPatch` for a listener in this load balancer + // with a `protocol` of `https`. + // - If `action` is `redirect`, specify a `LoadBalancerListenerPolicyRedirectURLPatch`. + Target LoadBalancerListenerPolicyTargetPatchIntf `json:"target,omitempty"` +} + +// UnmarshalLoadBalancerListenerPolicyPatch unmarshals an instance of LoadBalancerListenerPolicyPatch from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "priority", &obj.Priority) + if err != nil { + err = core.SDKErrorf(err, "", "priority-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerListenerPolicyTargetPatch) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the LoadBalancerListenerPolicyPatch +func (loadBalancerListenerPolicyPatch *LoadBalancerListenerPolicyPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyPatch.Name) { + _patch["name"] = loadBalancerListenerPolicyPatch.Name + } + if !core.IsNil(loadBalancerListenerPolicyPatch.Priority) { + _patch["priority"] = loadBalancerListenerPolicyPatch.Priority + } + if !core.IsNil(loadBalancerListenerPolicyPatch.Target) { + _patch["target"] = loadBalancerListenerPolicyPatch.Target.asPatch() + } + + return +} + +// LoadBalancerListenerPolicyPrototype : LoadBalancerListenerPolicyPrototype struct +type LoadBalancerListenerPolicyPrototype struct { + // The policy action: + // - `forward_to_listener`: Requests will be forwarded to the specified + // `target` listener. + // - `forward_to_pool`: Requests will be forwarded to the specified `target` pool. + // - `https_redirect`: Requests will be redirected to the specified `target.listener`. + // This listener must have a `protocol` of `http`, and the target listener must + // have a `protocol` of `https`. + // - `redirect`: Requests will be redirected to the specified `target.url` + // - `reject`: Requests will be rejected with a `403` status code. + Action *string `json:"action" validate:"required"` + + // The name for this policy. The name must not be used by another policy for the load balancer listener. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The priority of the policy. The priority is unique across all policies for this load balancer listener. Lower value + // indicates higher priority. + Priority *int64 `json:"priority" validate:"required"` + + // The rule prototype objects for this policy. + Rules []LoadBalancerListenerPolicyRulePrototype `json:"rules,omitempty"` + + // - If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` in this + // load balancer to forward to. + // - If `action` is `forward_to_pool`, use `LoadBalancerPoolIdentity` to specify a pool in + // this load balancer to forward to. + // - If `action` is `https_redirect`, use + // `LoadBalancerListenerPolicyHTTPSRedirectPrototype` to specify a listener on this + // load balancer to redirect to. + // - If `action` is `redirect`, use `LoadBalancerListenerPolicyRedirectURLPrototype`to + // specify a URL to redirect to. + Target LoadBalancerListenerPolicyTargetPrototypeIntf `json:"target,omitempty"` +} + +// Constants associated with the LoadBalancerListenerPolicyPrototype.Action property. +// The policy action: +// - `forward_to_listener`: Requests will be forwarded to the specified +// `target` listener. +// - `forward_to_pool`: Requests will be forwarded to the specified `target` pool. +// - `https_redirect`: Requests will be redirected to the specified `target.listener`. +// This listener must have a `protocol` of `http`, and the target listener must +// have a `protocol` of `https`. +// - `redirect`: Requests will be redirected to the specified `target.url` +// - `reject`: Requests will be rejected with a `403` status code. +const ( + LoadBalancerListenerPolicyPrototypeActionForwardToListenerConst = "forward_to_listener" + LoadBalancerListenerPolicyPrototypeActionForwardToPoolConst = "forward_to_pool" + LoadBalancerListenerPolicyPrototypeActionHTTPSRedirectConst = "https_redirect" + LoadBalancerListenerPolicyPrototypeActionRedirectConst = "redirect" + LoadBalancerListenerPolicyPrototypeActionRejectConst = "reject" +) + +// NewLoadBalancerListenerPolicyPrototype : Instantiate LoadBalancerListenerPolicyPrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyPrototype(action string, priority int64) (_model *LoadBalancerListenerPolicyPrototype, err error) { + _model = &LoadBalancerListenerPolicyPrototype{ + Action: core.StringPtr(action), + Priority: core.Int64Ptr(priority), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerListenerPolicyPrototype unmarshals an instance of LoadBalancerListenerPolicyPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "priority", &obj.Priority) + if err != nil { + err = core.SDKErrorf(err, "", "priority-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalLoadBalancerListenerPolicyRulePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerListenerPolicyTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyReference : LoadBalancerListenerPolicyReference struct +type LoadBalancerListenerPolicyReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer policy. + ID *string `json:"id" validate:"required"` + + // The name for this load balancer listener policy. The name is unique across all policies for the load balancer + // listener. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalLoadBalancerListenerPolicyReference unmarshals an instance of LoadBalancerListenerPolicyReference from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyRule : LoadBalancerListenerPolicyRule struct +type LoadBalancerListenerPolicyRule struct { + // The condition for the rule. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Condition *string `json:"condition" validate:"required"` + + // The date and time that this rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The field to match for this rule. If `condition` is not `matches_regex`, the value is percent-encoded. + Field *string `json:"field,omitempty"` + + // The URL for this load balancer listener policy rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer listener policy rule. + ID *string `json:"id" validate:"required"` + + // The provisioning status of this rule + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProvisioningStatus *string `json:"provisioning_status" validate:"required"` + + // The type of the rule. Body rules are applied to form-encoded request bodies using the + // `UTF-8` character set. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The value to be matched for the rule condition. + // + // If the rule type is `query` and the rule condition is not `matches_regex`, the value must be percent-encoded. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerListenerPolicyRule.Condition property. +// The condition for the rule. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerListenerPolicyRuleConditionContainsConst = "contains" + LoadBalancerListenerPolicyRuleConditionEqualsConst = "equals" + LoadBalancerListenerPolicyRuleConditionMatchesRegexConst = "matches_regex" +) + +// Constants associated with the LoadBalancerListenerPolicyRule.ProvisioningStatus property. +// The provisioning status of this rule +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerListenerPolicyRuleProvisioningStatusActiveConst = "active" + LoadBalancerListenerPolicyRuleProvisioningStatusCreatePendingConst = "create_pending" + LoadBalancerListenerPolicyRuleProvisioningStatusDeletePendingConst = "delete_pending" + LoadBalancerListenerPolicyRuleProvisioningStatusFailedConst = "failed" + LoadBalancerListenerPolicyRuleProvisioningStatusUpdatePendingConst = "update_pending" +) + +// Constants associated with the LoadBalancerListenerPolicyRule.Type property. +// The type of the rule. Body rules are applied to form-encoded request bodies using the +// `UTF-8` character set. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerListenerPolicyRuleTypeBodyConst = "body" + LoadBalancerListenerPolicyRuleTypeHeaderConst = "header" + LoadBalancerListenerPolicyRuleTypeHostnameConst = "hostname" + LoadBalancerListenerPolicyRuleTypePathConst = "path" + LoadBalancerListenerPolicyRuleTypeQueryConst = "query" + LoadBalancerListenerPolicyRuleTypeSniHostnameConst = "sni_hostname" +) + +// UnmarshalLoadBalancerListenerPolicyRule unmarshals an instance of LoadBalancerListenerPolicyRule from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyRule(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyRule) + err = core.UnmarshalPrimitive(m, "condition", &obj.Condition) + if err != nil { + err = core.SDKErrorf(err, "", "condition-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "field", &obj.Field) + if err != nil { + err = core.SDKErrorf(err, "", "field-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "provisioning_status", &obj.ProvisioningStatus) + if err != nil { + err = core.SDKErrorf(err, "", "provisioning_status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyRuleCollection : LoadBalancerListenerPolicyRuleCollection struct +type LoadBalancerListenerPolicyRuleCollection struct { + // The rules for the load balancer listener policy. + Rules []LoadBalancerListenerPolicyRule `json:"rules" validate:"required"` +} + +// UnmarshalLoadBalancerListenerPolicyRuleCollection unmarshals an instance of LoadBalancerListenerPolicyRuleCollection from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyRuleCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyRuleCollection) + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalLoadBalancerListenerPolicyRule) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyRulePatch : LoadBalancerListenerPolicyRulePatch struct +type LoadBalancerListenerPolicyRulePatch struct { + // The condition for the rule. + Condition *string `json:"condition,omitempty"` + + // The field to match for this rule. + // - If the `type` is `header`, this property must be specified. + // - If the `type` is `body` or `query`, this property may be specified. + // - For all other types, this property must not be specified. + Field *string `json:"field,omitempty"` + + // The content the rule applies to: + // - `body`: The UTF-8 form-encoded HTTP request body + // - `header`: The HTTP header + // - `hostname`: The fully-qualified domain name of the server specified in the Host + // HTTP request header + // - `path`: The path of the HTTP request + // - `query`: The query of the HTTP request URL + // - `sni_hostname`: The fully-qualified domain name of the server provided in the + // "server name indicator" extension during TLS negotiation + // + // - For listeners with `protocol` `http` or `https`, any type may be specified. + // - For listeners with `protocol` `tcp`, only type `sni_hostname` may be specified. + Type *string `json:"type,omitempty"` + + // The value to be matched for the rule condition. + // + // If the rule type is `query` and the rule condition is not `matches_regex`, the value must be percent-encoded. + Value *string `json:"value,omitempty"` +} + +// Constants associated with the LoadBalancerListenerPolicyRulePatch.Condition property. +// The condition for the rule. +const ( + LoadBalancerListenerPolicyRulePatchConditionContainsConst = "contains" + LoadBalancerListenerPolicyRulePatchConditionEqualsConst = "equals" + LoadBalancerListenerPolicyRulePatchConditionMatchesRegexConst = "matches_regex" +) + +// Constants associated with the LoadBalancerListenerPolicyRulePatch.Type property. +// The content the rule applies to: +// - `body`: The UTF-8 form-encoded HTTP request body +// - `header`: The HTTP header +// - `hostname`: The fully-qualified domain name of the server specified in the Host +// HTTP request header +// - `path`: The path of the HTTP request +// - `query`: The query of the HTTP request URL +// - `sni_hostname`: The fully-qualified domain name of the server provided in the +// "server name indicator" extension during TLS negotiation +// +// - For listeners with `protocol` `http` or `https`, any type may be specified. +// - For listeners with `protocol` `tcp`, only type `sni_hostname` may be specified. +const ( + LoadBalancerListenerPolicyRulePatchTypeBodyConst = "body" + LoadBalancerListenerPolicyRulePatchTypeHeaderConst = "header" + LoadBalancerListenerPolicyRulePatchTypeHostnameConst = "hostname" + LoadBalancerListenerPolicyRulePatchTypePathConst = "path" + LoadBalancerListenerPolicyRulePatchTypeQueryConst = "query" + LoadBalancerListenerPolicyRulePatchTypeSniHostnameConst = "sni_hostname" +) + +// UnmarshalLoadBalancerListenerPolicyRulePatch unmarshals an instance of LoadBalancerListenerPolicyRulePatch from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyRulePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyRulePatch) + err = core.UnmarshalPrimitive(m, "condition", &obj.Condition) + if err != nil { + err = core.SDKErrorf(err, "", "condition-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "field", &obj.Field) + if err != nil { + err = core.SDKErrorf(err, "", "field-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the LoadBalancerListenerPolicyRulePatch +func (loadBalancerListenerPolicyRulePatch *LoadBalancerListenerPolicyRulePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyRulePatch.Condition) { + _patch["condition"] = loadBalancerListenerPolicyRulePatch.Condition + } + if !core.IsNil(loadBalancerListenerPolicyRulePatch.Field) { + _patch["field"] = loadBalancerListenerPolicyRulePatch.Field + } + if !core.IsNil(loadBalancerListenerPolicyRulePatch.Type) { + _patch["type"] = loadBalancerListenerPolicyRulePatch.Type + } + if !core.IsNil(loadBalancerListenerPolicyRulePatch.Value) { + _patch["value"] = loadBalancerListenerPolicyRulePatch.Value + } + + return +} + +// LoadBalancerListenerPolicyRulePrototype : LoadBalancerListenerPolicyRulePrototype struct +type LoadBalancerListenerPolicyRulePrototype struct { + // The condition for the rule. + Condition *string `json:"condition" validate:"required"` + + // The field to match for this rule. + // - If the `type` is `header`, this property must be specified. + // - If the `type` is `body` or `query`, this property may be specified. + // - For all other types, this property must not be specified. + Field *string `json:"field,omitempty"` + + // The content the rule applies to: + // - `body`: The UTF-8 form-encoded HTTP request body + // - `header`: The HTTP header + // - `hostname`: The fully-qualified domain name of the server specified in the Host + // HTTP request header + // - `path`: The path of the HTTP request + // - `query`: The query of the HTTP request URL + // - `sni_hostname`: The fully-qualified domain name of the server provided in the + // "server name indicator" extension during TLS negotiation + // + // - For listeners with `protocol` `http` or `https`, any type may be specified. + // - For listeners with `protocol` `tcp`, only type `sni_hostname` may be specified. + Type *string `json:"type" validate:"required"` + + // The value to be matched for the rule condition. + // + // If the rule type is `query` and the rule condition is not `matches_regex`, the value must be percent-encoded. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerListenerPolicyRulePrototype.Condition property. +// The condition for the rule. +const ( + LoadBalancerListenerPolicyRulePrototypeConditionContainsConst = "contains" + LoadBalancerListenerPolicyRulePrototypeConditionEqualsConst = "equals" + LoadBalancerListenerPolicyRulePrototypeConditionMatchesRegexConst = "matches_regex" +) + +// Constants associated with the LoadBalancerListenerPolicyRulePrototype.Type property. +// The content the rule applies to: +// - `body`: The UTF-8 form-encoded HTTP request body +// - `header`: The HTTP header +// - `hostname`: The fully-qualified domain name of the server specified in the Host +// HTTP request header +// - `path`: The path of the HTTP request +// - `query`: The query of the HTTP request URL +// - `sni_hostname`: The fully-qualified domain name of the server provided in the +// "server name indicator" extension during TLS negotiation +// +// - For listeners with `protocol` `http` or `https`, any type may be specified. +// - For listeners with `protocol` `tcp`, only type `sni_hostname` may be specified. +const ( + LoadBalancerListenerPolicyRulePrototypeTypeBodyConst = "body" + LoadBalancerListenerPolicyRulePrototypeTypeHeaderConst = "header" + LoadBalancerListenerPolicyRulePrototypeTypeHostnameConst = "hostname" + LoadBalancerListenerPolicyRulePrototypeTypePathConst = "path" + LoadBalancerListenerPolicyRulePrototypeTypeQueryConst = "query" + LoadBalancerListenerPolicyRulePrototypeTypeSniHostnameConst = "sni_hostname" +) + +// NewLoadBalancerListenerPolicyRulePrototype : Instantiate LoadBalancerListenerPolicyRulePrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyRulePrototype(condition string, typeVar string, value string) (_model *LoadBalancerListenerPolicyRulePrototype, err error) { + _model = &LoadBalancerListenerPolicyRulePrototype{ + Condition: core.StringPtr(condition), + Type: core.StringPtr(typeVar), + Value: core.StringPtr(value), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerListenerPolicyRulePrototype unmarshals an instance of LoadBalancerListenerPolicyRulePrototype from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyRulePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyRulePrototype) + err = core.UnmarshalPrimitive(m, "condition", &obj.Condition) + if err != nil { + err = core.SDKErrorf(err, "", "condition-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "field", &obj.Field) + if err != nil { + err = core.SDKErrorf(err, "", "field-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyRuleReference : LoadBalancerListenerPolicyRuleReference struct +type LoadBalancerListenerPolicyRuleReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer listener policy rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer listener policy rule. + ID *string `json:"id" validate:"required"` +} + +// UnmarshalLoadBalancerListenerPolicyRuleReference unmarshals an instance of LoadBalancerListenerPolicyRuleReference from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyRuleReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyRuleReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTarget : - If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` +// - If `action` is `forward_to_pool`, specify a `LoadBalancerPoolIdentity` +// - If `action` is `https_redirect`, the response is a +// `LoadBalancerListenerPolicyHTTPSRedirect` +// - If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`. +// Models which "extend" this model: +// - LoadBalancerListenerPolicyTargetLoadBalancerPoolReference +// - LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect +// - LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL +// - LoadBalancerListenerPolicyTargetLoadBalancerListenerReference +type LoadBalancerListenerPolicyTarget struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href,omitempty"` + + // The unique identifier for this load balancer pool. + ID *string `json:"id,omitempty"` + + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name *string `json:"name,omitempty"` + + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code,omitempty"` + + Listener *LoadBalancerListenerReference `json:"listener,omitempty"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` + + // The redirect target URL. The URL supports [RFC 6570 level 1 + // expressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2) for the following variables which expand to + // values from the originally requested URL (or the indicated defaults if the request did not include them): + // + // - `protocol` + // - `host` + // - `port` (default: `80` for HTTP requests, `443` for HTTPS requests) + // - `path` (default: '/') + // - `query` (default: '') + // + // The protocol, host, and port segments of the URL, must only contain at most one instance of the `protocol`, `host`, + // and `port` variables, respectively. The path and query segments of the URL may contain any combination of variables. + // If the substitution of `path` results in consecutive leading slashes, the leading slash from the substitution will + // be removed. Additional examples: + // - `https://{host}:8080/{port}/{host}/{path}` + // - `https://www.example.com` + // - `{protocol}://test.{host}:80/{path}`. + URL *string `json:"url,omitempty"` +} + +func (*LoadBalancerListenerPolicyTarget) isaLoadBalancerListenerPolicyTarget() bool { + return true +} + +type LoadBalancerListenerPolicyTargetIntf interface { + isaLoadBalancerListenerPolicyTarget() bool +} + +// UnmarshalLoadBalancerListenerPolicyTarget unmarshals an instance of LoadBalancerListenerPolicyTarget from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTarget) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerReference) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetPatch : - If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` for a +// +// listener in this load balancer. +// - If `action` is `forward_to_pool`, specify a `LoadBalancerPoolIdentity` for a pool in +// this load balancer. +// - If `action` is `https_redirect`, specify a +// `LoadBalancerListenerPolicyHTTPSRedirectPatch` for a listener in this load balancer +// with a `protocol` of `https`. +// - If `action` is `redirect`, specify a `LoadBalancerListenerPolicyRedirectURLPatch`. +// +// Models which "extend" this model: +// - LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity +// - LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch +// - LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch +// - LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity +type LoadBalancerListenerPolicyTargetPatch struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href,omitempty"` + + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code,omitempty"` + + // The target listener. + // + // The target listener must be in this load balancer, and must not be the same as the + // listener in the URL. + Listener LoadBalancerListenerIdentityIntf `json:"listener,omitempty"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` + + // The redirect target URL. The URL supports [RFC 6570 level 1 + // expressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2) for the following variables which expand to + // values from the originally requested URL (or the indicated defaults if the request did not include them): + // + // - `protocol` + // - `host` + // - `port` (default: `80` for HTTP requests, `443` for HTTPS requests) + // - `path` (default: '/') + // - `query` (default: '') + // + // The protocol, host, and port segments of the URL, must only contain at most one instance of the `protocol`, `host`, + // and `port` variables, respectively. The path and query segments of the URL may contain any combination of variables. + // If the substitution of `path` results in consecutive leading slashes, the leading slash from the substitution will + // be removed. Additional examples: + // - `https://{host}:8080/{port}/{host}/{path}` + // - `https://www.example.com` + // - `{protocol}://test.{host}:80/{path}`. + URL *string `json:"url,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetPatch) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +type LoadBalancerListenerPolicyTargetPatchIntf interface { + isaLoadBalancerListenerPolicyTargetPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatch unmarshals an instance of LoadBalancerListenerPolicyTargetPatch from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatch +func (loadBalancerListenerPolicyTargetPatch *LoadBalancerListenerPolicyTargetPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatch.ID) { + _patch["id"] = loadBalancerListenerPolicyTargetPatch.ID + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatch.Href) { + _patch["href"] = loadBalancerListenerPolicyTargetPatch.Href + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatch.HTTPStatusCode) { + _patch["http_status_code"] = loadBalancerListenerPolicyTargetPatch.HTTPStatusCode + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatch.Listener) { + _patch["listener"] = loadBalancerListenerPolicyTargetPatch.Listener.asPatch() + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatch.URI) { + _patch["uri"] = loadBalancerListenerPolicyTargetPatch.URI + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatch.URL) { + _patch["url"] = loadBalancerListenerPolicyTargetPatch.URL + } + + return +} + +// LoadBalancerListenerPolicyTargetPrototype : - If `action` is `forward_to_listener`, specify a `LoadBalancerListenerIdentity` in this +// +// load balancer to forward to. +// - If `action` is `forward_to_pool`, use `LoadBalancerPoolIdentity` to specify a pool in +// this load balancer to forward to. +// - If `action` is `https_redirect`, use +// `LoadBalancerListenerPolicyHTTPSRedirectPrototype` to specify a listener on this +// load balancer to redirect to. +// - If `action` is `redirect`, use `LoadBalancerListenerPolicyRedirectURLPrototype`to +// specify a URL to redirect to. +// +// Models which "extend" this model: +// - LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity +// - LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity +// - LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype +// - LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype +type LoadBalancerListenerPolicyTargetPrototype struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href,omitempty"` + + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code,omitempty"` + + // The target listener. + // + // The target listener must be in this load balancer, and must not be the same as the + // listener in the URL. + Listener LoadBalancerListenerIdentityIntf `json:"listener,omitempty"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` + + // The redirect target URL. The URL supports [RFC 6570 level 1 + // expressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2) for the following variables which expand to + // values from the originally requested URL (or the indicated defaults if the request did not include them): + // + // - `protocol` + // - `host` + // - `port` (default: `80` for HTTP requests, `443` for HTTPS requests) + // - `path` (default: '/') + // - `query` (default: '') + // + // The protocol, host, and port segments of the URL, must only contain at most one instance of the `protocol`, `host`, + // and `port` variables, respectively. The path and query segments of the URL may contain any combination of variables. + // If the substitution of `path` results in consecutive leading slashes, the leading slash from the substitution will + // be removed. Additional examples: + // - `https://{host}:8080/{port}/{host}/{path}` + // - `https://www.example.com` + // - `{protocol}://test.{host}:80/{path}`. + URL *string `json:"url,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetPrototype) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +type LoadBalancerListenerPolicyTargetPrototypeIntf interface { + isaLoadBalancerListenerPolicyTargetPrototype() bool +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototype unmarshals an instance of LoadBalancerListenerPolicyTargetPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPrototypeLoadBalancerContext : LoadBalancerListenerPrototypeLoadBalancerContext struct +type LoadBalancerListenerPrototypeLoadBalancerContext struct { + // If set to `true`, this listener will accept and forward PROXY protocol information. Supported by load balancers in + // the `application` family (otherwise always `false`). Additional restrictions: + // - If this listener has `https_redirect` specified, its `accept_proxy_protocol` value must + // match the `accept_proxy_protocol` value of the `https_redirect` listener. + // - If this listener is the target of another listener's `https_redirect`, its + // `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol` value. + AcceptProxyProtocol *bool `json:"accept_proxy_protocol,omitempty"` + + // The certificate instance to use for SSL termination. The listener must have a + // `protocol` of `https`. + CertificateInstance CertificateInstanceIdentityIntf `json:"certificate_instance,omitempty"` + + // The concurrent connection limit for the listener. If reached, incoming connections may be queued or rejected. + // + // Supported for load balancers in the `application` family. + // + // If unspecified, the limit will be `15000` for load balancers in the `application` family. + ConnectionLimit *int64 `json:"connection_limit,omitempty"` + + // The default pool for this listener. If `https_redirect` is specified, + // the default pool will not be used. If specified, the pool must: + // + // - Belong to this load balancer. + // - Have the same `protocol` as this listener, or have a compatible protocol. + // At present, the compatible protocols are `http` and `https`. + // - Not already be the `default_pool` for another listener. + // + // If unspecified, this listener will be created with no default pool, but one may be + // subsequently set. + DefaultPool *LoadBalancerPoolIdentityByName `json:"default_pool,omitempty"` + + // The target listener that requests will be redirected to if none of the listener's + // `policies` match. + // + // If specified, this listener must have a `protocol` of `http`, and the target + // listener must have a `protocol` of `https`. + HTTPSRedirect *LoadBalancerListenerHTTPSRedirectPrototype `json:"https_redirect,omitempty"` + + // The idle connection timeout of the listener in seconds. + // + // Supported for load balancers in the `application` family. + // + // If unspecified, the timeout will be `50` for load balancers in the `application` family. + IdleConnectionTimeout *int64 `json:"idle_connection_timeout,omitempty"` + + // The listener port number. Each listener in the load balancer must have a non-overlapping port range and `protocol` + // combination. Protocol values of `tcp`, `http` and `https` share the TCP port space. + // + // If `port_min` is also specified, `port` must have the same value as `port_min`. + Port *int64 `json:"port,omitempty"` + + // The inclusive upper bound of the range of ports used by this listener. Must not be less than `port_min`. + // + // Only network load balancers with `route_mode`, `is_public` or `is_private_path` set to + // `true` support different values for `port_min` and `port_max`. If `route_mode` is set to `true`, the value must be + // `65535`. + // + // The specified port range must not overlap with port ranges used by other listeners for this load balancer using the + // same protocol. Protocol values of `tcp`, `http` and + // `https` share the TCP port space. + PortMax *int64 `json:"port_max,omitempty"` + + // The inclusive lower bound of the range of ports used by this listener. Must not be greater than `port_max`. + // + // If specified, `port_max` must also be specified, and must not be smaller. If unspecified, `port_max` must also be + // unspecified. + // + // If `port` is also specified, `port_min` must have the same value as `port`. + // + // Only network load balancers with `route_mode`, `is_public` or `is_private_path` set to + // `true` support different values for `port_min` and `port_max`. If `route_mode` is set to `true`, the value must be + // `1`. + // + // The specified port range must not overlap with port ranges used by other listeners for this load balancer using the + // same protocol. Protocol values of `tcp`, `http` and + // `https` share the TCP port space. + PortMin *int64 `json:"port_min,omitempty"` + + // The listener protocol. Each listener in the load balancer must have a non-overlapping port range and `protocol` + // combination. + // + // Load balancers in the `network` family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the + // `application` family support `tcp`, `http` and + // `https`. + // + // Additional restrictions: + // - If `default_pool` is set, the pool's protocol must match, or be compatible with + // the listener's protocol. At present, the compatible protocols are `http` and + // `https`. + // - If `https_redirect` is set, the protocol must be `http`. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the LoadBalancerListenerPrototypeLoadBalancerContext.Protocol property. +// The listener protocol. Each listener in the load balancer must have a non-overlapping port range and `protocol` +// combination. +// +// Load balancers in the `network` family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the +// `application` family support `tcp`, `http` and +// `https`. +// +// Additional restrictions: +// - If `default_pool` is set, the pool's protocol must match, or be compatible with +// the listener's protocol. At present, the compatible protocols are `http` and +// `https`. +// - If `https_redirect` is set, the protocol must be `http`. +const ( + LoadBalancerListenerPrototypeLoadBalancerContextProtocolHTTPConst = "http" + LoadBalancerListenerPrototypeLoadBalancerContextProtocolHTTPSConst = "https" + LoadBalancerListenerPrototypeLoadBalancerContextProtocolTCPConst = "tcp" + LoadBalancerListenerPrototypeLoadBalancerContextProtocolUDPConst = "udp" +) + +// NewLoadBalancerListenerPrototypeLoadBalancerContext : Instantiate LoadBalancerListenerPrototypeLoadBalancerContext (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPrototypeLoadBalancerContext(protocol string) (_model *LoadBalancerListenerPrototypeLoadBalancerContext, err error) { + _model = &LoadBalancerListenerPrototypeLoadBalancerContext{ + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerListenerPrototypeLoadBalancerContext unmarshals an instance of LoadBalancerListenerPrototypeLoadBalancerContext from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPrototypeLoadBalancerContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPrototypeLoadBalancerContext) + err = core.UnmarshalPrimitive(m, "accept_proxy_protocol", &obj.AcceptProxyProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "accept_proxy_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "certificate_instance", &obj.CertificateInstance, UnmarshalCertificateInstanceIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "certificate_instance-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "connection_limit", &obj.ConnectionLimit) + if err != nil { + err = core.SDKErrorf(err, "", "connection_limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_pool", &obj.DefaultPool, UnmarshalLoadBalancerPoolIdentityByName) + if err != nil { + err = core.SDKErrorf(err, "", "default_pool-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "https_redirect", &obj.HTTPSRedirect, UnmarshalLoadBalancerListenerHTTPSRedirectPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "https_redirect-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "idle_connection_timeout", &obj.IdleConnectionTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "idle_connection_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_max", &obj.PortMax) + if err != nil { + err = core.SDKErrorf(err, "", "port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_min", &obj.PortMin) + if err != nil { + err = core.SDKErrorf(err, "", "port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerReference : LoadBalancerListenerReference struct +type LoadBalancerListenerReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer listener. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer listener. + ID *string `json:"id" validate:"required"` +} + +// UnmarshalLoadBalancerListenerReference unmarshals an instance of LoadBalancerListenerReference from the specified map of raw messages. +func UnmarshalLoadBalancerListenerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerLogging : LoadBalancerLogging struct +type LoadBalancerLogging struct { + // The datapath logging configuration for this load balancer. + Datapath *LoadBalancerLoggingDatapath `json:"datapath" validate:"required"` +} + +// UnmarshalLoadBalancerLogging unmarshals an instance of LoadBalancerLogging from the specified map of raw messages. +func UnmarshalLoadBalancerLogging(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerLogging) + err = core.UnmarshalModel(m, "datapath", &obj.Datapath, UnmarshalLoadBalancerLoggingDatapath) + if err != nil { + err = core.SDKErrorf(err, "", "datapath-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerLoggingDatapath : The datapath logging configuration for this load balancer. +type LoadBalancerLoggingDatapath struct { + // Indicates whether datapath logging is active for this load balancer. + Active *bool `json:"active" validate:"required"` +} + +// UnmarshalLoadBalancerLoggingDatapath unmarshals an instance of LoadBalancerLoggingDatapath from the specified map of raw messages. +func UnmarshalLoadBalancerLoggingDatapath(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerLoggingDatapath) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerLoggingDatapathPatch : The datapath logging configuration for this load balancer. +type LoadBalancerLoggingDatapathPatch struct { + // Indicates whether datapath logging will be active for this load balancer. + Active *bool `json:"active,omitempty"` +} + +// UnmarshalLoadBalancerLoggingDatapathPatch unmarshals an instance of LoadBalancerLoggingDatapathPatch from the specified map of raw messages. +func UnmarshalLoadBalancerLoggingDatapathPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerLoggingDatapathPatch) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerLoggingDatapathPatch +func (loadBalancerLoggingDatapathPatch *LoadBalancerLoggingDatapathPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerLoggingDatapathPatch.Active) { + _patch["active"] = loadBalancerLoggingDatapathPatch.Active + } + + return +} + +// LoadBalancerLoggingDatapathPrototype : The datapath logging configuration for this load balancer. +type LoadBalancerLoggingDatapathPrototype struct { + // Indicates whether datapath logging will be active for this load balancer. + Active *bool `json:"active,omitempty"` +} + +// UnmarshalLoadBalancerLoggingDatapathPrototype unmarshals an instance of LoadBalancerLoggingDatapathPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerLoggingDatapathPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerLoggingDatapathPrototype) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerLoggingPatch : LoadBalancerLoggingPatch struct +type LoadBalancerLoggingPatch struct { + // The datapath logging configuration for this load balancer. + Datapath *LoadBalancerLoggingDatapathPatch `json:"datapath,omitempty"` +} + +// UnmarshalLoadBalancerLoggingPatch unmarshals an instance of LoadBalancerLoggingPatch from the specified map of raw messages. +func UnmarshalLoadBalancerLoggingPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerLoggingPatch) + err = core.UnmarshalModel(m, "datapath", &obj.Datapath, UnmarshalLoadBalancerLoggingDatapathPatch) + if err != nil { + err = core.SDKErrorf(err, "", "datapath-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerLoggingPatch +func (loadBalancerLoggingPatch *LoadBalancerLoggingPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerLoggingPatch.Datapath) { + _patch["datapath"] = loadBalancerLoggingPatch.Datapath.asPatch() + } + + return +} + +// LoadBalancerLoggingPrototype : LoadBalancerLoggingPrototype struct +type LoadBalancerLoggingPrototype struct { + // The datapath logging configuration for this load balancer. + Datapath *LoadBalancerLoggingDatapathPrototype `json:"datapath,omitempty"` +} + +// UnmarshalLoadBalancerLoggingPrototype unmarshals an instance of LoadBalancerLoggingPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerLoggingPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerLoggingPrototype) + err = core.UnmarshalModel(m, "datapath", &obj.Datapath, UnmarshalLoadBalancerLoggingDatapathPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "datapath-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPatch : LoadBalancerPatch struct +type LoadBalancerPatch struct { + // The DNS configuration for this load balancer. + // + // Specify `null` to remove the existing DNS configuration, which will remove all DNS `A` + // records for this load balancer that had been added to `zone`, and add equivalent `A` + // records to the public DNS zone `lb.appdomain.cloud`. + // + // Not supported by private path load balancers. + Dns *LoadBalancerDnsPatch `json:"dns,omitempty"` + + // The logging configuration to use for this load balancer. + // + // To activate logging, the load balancer profile must support the specified logging type. + Logging *LoadBalancerLoggingPatch `json:"logging,omitempty"` + + // The name for this load balancer. The name must not be used by another load balancer in the VPC. + Name *string `json:"name,omitempty"` + + // The subnets to provision this load balancer in. The load balancer's availability will depend on the availability of + // the zones that the subnets reside in. + // + // The specified subnets must be in the same VPC as the existing subnets, and will completely replace the existing + // subnets. + // + // The load balancer must be in the `application` family. + Subnets []SubnetIdentityIntf `json:"subnets,omitempty"` +} + +// UnmarshalLoadBalancerPatch unmarshals an instance of LoadBalancerPatch from the specified map of raw messages. +func UnmarshalLoadBalancerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPatch) + err = core.UnmarshalModel(m, "dns", &obj.Dns, UnmarshalLoadBalancerDnsPatch) + if err != nil { + err = core.SDKErrorf(err, "", "dns-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "logging", &obj.Logging, UnmarshalLoadBalancerLoggingPatch) + if err != nil { + err = core.SDKErrorf(err, "", "logging-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the LoadBalancerPatch +func (loadBalancerPatch *LoadBalancerPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPatch.Dns) { + _patch["dns"] = loadBalancerPatch.Dns.asPatch() + } + if !core.IsNil(loadBalancerPatch.Logging) { + _patch["logging"] = loadBalancerPatch.Logging.asPatch() + } + if !core.IsNil(loadBalancerPatch.Name) { + _patch["name"] = loadBalancerPatch.Name + } + if !core.IsNil(loadBalancerPatch.Subnets) { + var subnetsPatches []map[string]interface{} + for _, subnets := range loadBalancerPatch.Subnets { + subnetsPatches = append(subnetsPatches, subnets.asPatch()) + } + _patch["subnets"] = subnetsPatches + } + + return +} + +// LoadBalancerPool : LoadBalancerPool struct +type LoadBalancerPool struct { + // The load balancing algorithm. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Algorithm *string `json:"algorithm" validate:"required"` + + // The date and time that this pool was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + FailsafePolicy *LoadBalancerPoolFailsafePolicy `json:"failsafe_policy" validate:"required"` + + // The health monitor of this pool. + // + // If this pool has a member targeting a load balancer then: + // + // - If the targeted load balancer has multiple subnets, this health monitor is used to + // direct traffic to the available subnets. + // - The health checks spawned by this health monitor is handled as any other traffic + // (that is, subject to the configuration of listeners and pools on the target load + // balancer). + // - This health monitor does not affect how pool member health is determined within the + // target load balancer. + // + // For more information, see [Private Path network load balancer frequently asked + // questions](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-faqs#ppnlb-faqs). + HealthMonitor LoadBalancerPoolHealthMonitorIntf `json:"health_monitor" validate:"required"` + + // The URL for this load balancer pool. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer pool. + ID *string `json:"id" validate:"required"` + + // The instance group that is managing this pool. + InstanceGroup *InstanceGroupReference `json:"instance_group,omitempty"` + + // The backend server members of the pool. + Members []LoadBalancerPoolMemberReference `json:"members,omitempty"` + + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name *string `json:"name" validate:"required"` + + // The protocol for this load balancer pool. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Protocol *string `json:"protocol" validate:"required"` + + // The provisioning status of this pool + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProvisioningStatus *string `json:"provisioning_status" validate:"required"` + + // The PROXY protocol setting for this pool: + // - `v1`: Enabled with version 1 (human-readable header format) + // - `v2`: Enabled with version 2 (binary header format) + // - `disabled`: Disabled + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProxyProtocol *string `json:"proxy_protocol" validate:"required"` + + // The session persistence of this pool. + // + // If absent, session persistence will be disabled, and traffic will be distributed + // across backend server members of the pool. + SessionPersistence *LoadBalancerPoolSessionPersistence `json:"session_persistence,omitempty"` +} + +// Constants associated with the LoadBalancerPool.Algorithm property. +// The load balancing algorithm. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolAlgorithmLeastConnectionsConst = "least_connections" + LoadBalancerPoolAlgorithmRoundRobinConst = "round_robin" + LoadBalancerPoolAlgorithmWeightedRoundRobinConst = "weighted_round_robin" +) + +// Constants associated with the LoadBalancerPool.Protocol property. +// The protocol for this load balancer pool. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolProtocolHTTPConst = "http" + LoadBalancerPoolProtocolHTTPSConst = "https" + LoadBalancerPoolProtocolTCPConst = "tcp" + LoadBalancerPoolProtocolUDPConst = "udp" +) + +// Constants associated with the LoadBalancerPool.ProvisioningStatus property. +// The provisioning status of this pool +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolProvisioningStatusActiveConst = "active" + LoadBalancerPoolProvisioningStatusCreatePendingConst = "create_pending" + LoadBalancerPoolProvisioningStatusDeletePendingConst = "delete_pending" + LoadBalancerPoolProvisioningStatusFailedConst = "failed" + LoadBalancerPoolProvisioningStatusUpdatePendingConst = "update_pending" +) + +// Constants associated with the LoadBalancerPool.ProxyProtocol property. +// The PROXY protocol setting for this pool: +// - `v1`: Enabled with version 1 (human-readable header format) +// - `v2`: Enabled with version 2 (binary header format) +// - `disabled`: Disabled +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolProxyProtocolDisabledConst = "disabled" + LoadBalancerPoolProxyProtocolV1Const = "v1" + LoadBalancerPoolProxyProtocolV2Const = "v2" +) + +// UnmarshalLoadBalancerPool unmarshals an instance of LoadBalancerPool from the specified map of raw messages. +func UnmarshalLoadBalancerPool(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPool) + err = core.UnmarshalPrimitive(m, "algorithm", &obj.Algorithm) + if err != nil { + err = core.SDKErrorf(err, "", "algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "failsafe_policy", &obj.FailsafePolicy, UnmarshalLoadBalancerPoolFailsafePolicy) + if err != nil { + err = core.SDKErrorf(err, "", "failsafe_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_monitor", &obj.HealthMonitor, UnmarshalLoadBalancerPoolHealthMonitor) + if err != nil { + err = core.SDKErrorf(err, "", "health_monitor-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_group", &obj.InstanceGroup, UnmarshalInstanceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "members", &obj.Members, UnmarshalLoadBalancerPoolMemberReference) + if err != nil { + err = core.SDKErrorf(err, "", "members-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "provisioning_status", &obj.ProvisioningStatus) + if err != nil { + err = core.SDKErrorf(err, "", "provisioning_status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "proxy_protocol", &obj.ProxyProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "proxy_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "session_persistence", &obj.SessionPersistence, UnmarshalLoadBalancerPoolSessionPersistence) + if err != nil { + err = core.SDKErrorf(err, "", "session_persistence-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolCollection : LoadBalancerPoolCollection struct +type LoadBalancerPoolCollection struct { + // The pools for the load balancer. + Pools []LoadBalancerPool `json:"pools" validate:"required"` +} + +// UnmarshalLoadBalancerPoolCollection unmarshals an instance of LoadBalancerPoolCollection from the specified map of raw messages. +func UnmarshalLoadBalancerPoolCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolCollection) + err = core.UnmarshalModel(m, "pools", &obj.Pools, UnmarshalLoadBalancerPool) + if err != nil { + err = core.SDKErrorf(err, "", "pools-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolFailsafePolicy : LoadBalancerPoolFailsafePolicy struct +type LoadBalancerPoolFailsafePolicy struct { + // A load balancer failsafe policy action: + // - `bypass`: Bypasses the members and sends requests directly to their destination IPs. + // - `drop`: Drops requests. + // - `fail`: Fails requests with an HTTP `503` status code. + // - `forward`: Forwards requests to the `target` pool. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action *string `json:"action" validate:"required"` + + // The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but + // may be modifiable in the future. + HealthyMemberThresholdCount *int64 `json:"healthy_member_threshold_count" validate:"required"` + + // If `action` is `forward`, the target pool to forward to. + // + // If `action` is not `forward`, this property will be absent. + // + // The targets supported by this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Target *LoadBalancerPoolReference `json:"target,omitempty"` +} + +// Constants associated with the LoadBalancerPoolFailsafePolicy.Action property. +// A load balancer failsafe policy action: +// - `bypass`: Bypasses the members and sends requests directly to their destination IPs. +// - `drop`: Drops requests. +// - `fail`: Fails requests with an HTTP `503` status code. +// - `forward`: Forwards requests to the `target` pool. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolFailsafePolicyActionBypassConst = "bypass" + LoadBalancerPoolFailsafePolicyActionDropConst = "drop" + LoadBalancerPoolFailsafePolicyActionFailConst = "fail" + LoadBalancerPoolFailsafePolicyActionForwardConst = "forward" +) + +// UnmarshalLoadBalancerPoolFailsafePolicy unmarshals an instance of LoadBalancerPoolFailsafePolicy from the specified map of raw messages. +func UnmarshalLoadBalancerPoolFailsafePolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolFailsafePolicy) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "healthy_member_threshold_count", &obj.HealthyMemberThresholdCount) + if err != nil { + err = core.SDKErrorf(err, "", "healthy_member_threshold_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerPoolReference) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolFailsafePolicyPatch : The failsafe policy for this load balancer pool. +type LoadBalancerPoolFailsafePolicyPatch struct { + // A load balancer failsafe policy action: + // - `bypass`: Bypasses the members and sends requests directly to their destination IPs. If specified, this load + // balancer must have `route_mode` enabled. + // - `drop`: Drops requests. If specified, the pool protocol must be `tcp`. + // - `fail`: Fails requests with an HTTP `503` status code. If specified, the pool protocol must be `http` or `https`. + // - `forward`: Forwards requests to the `target` pool. If specified, the pool protocol must be `http` or `https`. + // + // The specified value must be listed in the `failsafe_policy_actions` for this pool's load balancer. + Action *string `json:"action,omitempty"` + + // The failsafe target pool to forward to. + // + // The specified pool must: + // - Belong to this load balancer + // - Have the same `protocol` as this pool, or have a compatible protocol. + // At present, the compatible protocols are `http` and `https`. + // - Not have a `failsafe_policy.action` of `forward` or `bypass`. + // + // If specified, `action` must be `forward`. + // + // Specify `null` to remove an existing failsafe target pool. + Target LoadBalancerPoolFailsafePolicyTargetPatchIntf `json:"target,omitempty"` +} + +// Constants associated with the LoadBalancerPoolFailsafePolicyPatch.Action property. +// A load balancer failsafe policy action: +// - `bypass`: Bypasses the members and sends requests directly to their destination IPs. If specified, this load +// balancer must have `route_mode` enabled. +// - `drop`: Drops requests. If specified, the pool protocol must be `tcp`. +// - `fail`: Fails requests with an HTTP `503` status code. If specified, the pool protocol must be `http` or `https`. +// - `forward`: Forwards requests to the `target` pool. If specified, the pool protocol must be `http` or `https`. +// +// The specified value must be listed in the `failsafe_policy_actions` for this pool's load balancer. +const ( + LoadBalancerPoolFailsafePolicyPatchActionBypassConst = "bypass" + LoadBalancerPoolFailsafePolicyPatchActionDropConst = "drop" + LoadBalancerPoolFailsafePolicyPatchActionFailConst = "fail" + LoadBalancerPoolFailsafePolicyPatchActionForwardConst = "forward" +) + +// UnmarshalLoadBalancerPoolFailsafePolicyPatch unmarshals an instance of LoadBalancerPoolFailsafePolicyPatch from the specified map of raw messages. +func UnmarshalLoadBalancerPoolFailsafePolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolFailsafePolicyPatch) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerPoolFailsafePolicyTargetPatch) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolFailsafePolicyPatch +func (loadBalancerPoolFailsafePolicyPatch *LoadBalancerPoolFailsafePolicyPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolFailsafePolicyPatch.Action) { + _patch["action"] = loadBalancerPoolFailsafePolicyPatch.Action + } + if !core.IsNil(loadBalancerPoolFailsafePolicyPatch.Target) { + _patch["target"] = loadBalancerPoolFailsafePolicyPatch.Target.asPatch() + } + + return +} + +// LoadBalancerPoolFailsafePolicyPrototype : LoadBalancerPoolFailsafePolicyPrototype struct +type LoadBalancerPoolFailsafePolicyPrototype struct { + // A load balancer failsafe policy action: + // - `bypass`: Bypasses the members and sends requests directly to their destination IPs. If specified, this load + // balancer must have `route_mode` enabled. + // - `drop`: Drops requests. If specified, the pool protocol must be `tcp`. + // - `fail`: Fails requests with an HTTP `503` status code. If specified, the pool protocol must be `http` or `https`. + // - `forward`: Forwards requests to the `target` pool. If specified, the pool protocol must be `http` or `https`. + // + // The specified value must be listed in the `failsafe_policy_actions` for this pool's load balancer. + Action *string `json:"action,omitempty"` + + // The failsafe target pool to forward to. + // + // The specified pool must: + // - Belong to this load balancer + // - Have the same `protocol` as this pool, or have a compatible protocol. + // At present, the compatible protocols are `http` and `https`. + // - Have a `failsafe_policy.action` of `fail` or `drop` + // + // If specified, `action` must be `forward`. + Target LoadBalancerPoolIdentityIntf `json:"target,omitempty"` +} + +// Constants associated with the LoadBalancerPoolFailsafePolicyPrototype.Action property. +// A load balancer failsafe policy action: +// - `bypass`: Bypasses the members and sends requests directly to their destination IPs. If specified, this load +// balancer must have `route_mode` enabled. +// - `drop`: Drops requests. If specified, the pool protocol must be `tcp`. +// - `fail`: Fails requests with an HTTP `503` status code. If specified, the pool protocol must be `http` or `https`. +// - `forward`: Forwards requests to the `target` pool. If specified, the pool protocol must be `http` or `https`. +// +// The specified value must be listed in the `failsafe_policy_actions` for this pool's load balancer. +const ( + LoadBalancerPoolFailsafePolicyPrototypeActionBypassConst = "bypass" + LoadBalancerPoolFailsafePolicyPrototypeActionDropConst = "drop" + LoadBalancerPoolFailsafePolicyPrototypeActionFailConst = "fail" + LoadBalancerPoolFailsafePolicyPrototypeActionForwardConst = "forward" +) + +// UnmarshalLoadBalancerPoolFailsafePolicyPrototype unmarshals an instance of LoadBalancerPoolFailsafePolicyPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerPoolFailsafePolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolFailsafePolicyPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerPoolIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolFailsafePolicyTargetPatch : The failsafe target pool to forward to. +// +// The specified pool must: +// - Belong to this load balancer +// - Have the same `protocol` as this pool, or have a compatible protocol. +// At present, the compatible protocols are `http` and `https`. +// - Not have a `failsafe_policy.action` of `forward` or `bypass`. +// +// If specified, `action` must be `forward`. +// +// Specify `null` to remove an existing failsafe target pool. +// Models which "extend" this model: +// - LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID +// - LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref +type LoadBalancerPoolFailsafePolicyTargetPatch struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerPoolFailsafePolicyTargetPatch) isaLoadBalancerPoolFailsafePolicyTargetPatch() bool { + return true +} + +type LoadBalancerPoolFailsafePolicyTargetPatchIntf interface { + isaLoadBalancerPoolFailsafePolicyTargetPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalLoadBalancerPoolFailsafePolicyTargetPatch unmarshals an instance of LoadBalancerPoolFailsafePolicyTargetPatch from the specified map of raw messages. +func UnmarshalLoadBalancerPoolFailsafePolicyTargetPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolFailsafePolicyTargetPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolFailsafePolicyTargetPatch +func (loadBalancerPoolFailsafePolicyTargetPatch *LoadBalancerPoolFailsafePolicyTargetPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolFailsafePolicyTargetPatch.ID) { + _patch["id"] = loadBalancerPoolFailsafePolicyTargetPatch.ID + } + if !core.IsNil(loadBalancerPoolFailsafePolicyTargetPatch.Href) { + _patch["href"] = loadBalancerPoolFailsafePolicyTargetPatch.Href + } + + return +} + +// LoadBalancerPoolHealthMonitor : LoadBalancerPoolHealthMonitor struct +// Models which "extend" this model: +// - LoadBalancerPoolHealthMonitorTypeTCP +// - LoadBalancerPoolHealthMonitorTypeHttphttps +type LoadBalancerPoolHealthMonitor struct { + // The seconds to wait between health checks. + Delay *int64 `json:"delay" validate:"required"` + + // The health check max retries. + MaxRetries *int64 `json:"max_retries" validate:"required"` + + // The health check port. + // + // If present, this overrides the pool member port values. + Port *int64 `json:"port,omitempty"` + + // The seconds to wait for a response to a health check. + Timeout *int64 `json:"timeout" validate:"required"` + + // The protocol type used for health checks. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The health check URL path, in the format of an [origin-form request + // target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + URLPath *string `json:"url_path,omitempty"` +} + +// Constants associated with the LoadBalancerPoolHealthMonitor.Type property. +// The protocol type used for health checks. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolHealthMonitorTypeHTTPConst = "http" + LoadBalancerPoolHealthMonitorTypeHTTPSConst = "https" + LoadBalancerPoolHealthMonitorTypeTCPConst = "tcp" +) + +func (*LoadBalancerPoolHealthMonitor) isaLoadBalancerPoolHealthMonitor() bool { + return true +} + +type LoadBalancerPoolHealthMonitorIntf interface { + isaLoadBalancerPoolHealthMonitor() bool +} + +// UnmarshalLoadBalancerPoolHealthMonitor unmarshals an instance of LoadBalancerPoolHealthMonitor from the specified map of raw messages. +func UnmarshalLoadBalancerPoolHealthMonitor(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolHealthMonitor) + err = core.UnmarshalPrimitive(m, "delay", &obj.Delay) + if err != nil { + err = core.SDKErrorf(err, "", "delay-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_retries", &obj.MaxRetries) + if err != nil { + err = core.SDKErrorf(err, "", "max_retries-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url_path", &obj.URLPath) + if err != nil { + err = core.SDKErrorf(err, "", "url_path-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolHealthMonitorPatch : LoadBalancerPoolHealthMonitorPatch struct +type LoadBalancerPoolHealthMonitorPatch struct { + // The seconds to wait between health checks. Must be greater than `timeout`. + Delay *int64 `json:"delay" validate:"required"` + + // The health check max retries. + MaxRetries *int64 `json:"max_retries" validate:"required"` + + // The health check port. + // + // If set, this overrides the pool member port values. + // + // Specify `null` to remove an existing health check port. + Port *int64 `json:"port,omitempty"` + + // The seconds to wait for a response to a health check. Must be less than `delay`. + Timeout *int64 `json:"timeout" validate:"required"` + + // The protocol type to use for health checks. + Type *string `json:"type" validate:"required"` + + // The health check URL path. If specified, `type` must be `http` or `https`. + // + // Must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + // + // Specify `null` to remove a url_path. + URLPath *string `json:"url_path,omitempty"` +} + +// Constants associated with the LoadBalancerPoolHealthMonitorPatch.Type property. +// The protocol type to use for health checks. +const ( + LoadBalancerPoolHealthMonitorPatchTypeHTTPConst = "http" + LoadBalancerPoolHealthMonitorPatchTypeHTTPSConst = "https" + LoadBalancerPoolHealthMonitorPatchTypeTCPConst = "tcp" +) + +// NewLoadBalancerPoolHealthMonitorPatch : Instantiate LoadBalancerPoolHealthMonitorPatch (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolHealthMonitorPatch(delay int64, maxRetries int64, timeout int64, typeVar string) (_model *LoadBalancerPoolHealthMonitorPatch, err error) { + _model = &LoadBalancerPoolHealthMonitorPatch{ + Delay: core.Int64Ptr(delay), + MaxRetries: core.Int64Ptr(maxRetries), + Timeout: core.Int64Ptr(timeout), + Type: core.StringPtr(typeVar), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerPoolHealthMonitorPatch unmarshals an instance of LoadBalancerPoolHealthMonitorPatch from the specified map of raw messages. +func UnmarshalLoadBalancerPoolHealthMonitorPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolHealthMonitorPatch) + err = core.UnmarshalPrimitive(m, "delay", &obj.Delay) + if err != nil { + err = core.SDKErrorf(err, "", "delay-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_retries", &obj.MaxRetries) + if err != nil { + err = core.SDKErrorf(err, "", "max_retries-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url_path", &obj.URLPath) + if err != nil { + err = core.SDKErrorf(err, "", "url_path-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolHealthMonitorPatch +func (loadBalancerPoolHealthMonitorPatch *LoadBalancerPoolHealthMonitorPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolHealthMonitorPatch.Delay) { + _patch["delay"] = loadBalancerPoolHealthMonitorPatch.Delay + } + if !core.IsNil(loadBalancerPoolHealthMonitorPatch.MaxRetries) { + _patch["max_retries"] = loadBalancerPoolHealthMonitorPatch.MaxRetries + } + if !core.IsNil(loadBalancerPoolHealthMonitorPatch.Port) { + _patch["port"] = loadBalancerPoolHealthMonitorPatch.Port + } + if !core.IsNil(loadBalancerPoolHealthMonitorPatch.Timeout) { + _patch["timeout"] = loadBalancerPoolHealthMonitorPatch.Timeout + } + if !core.IsNil(loadBalancerPoolHealthMonitorPatch.Type) { + _patch["type"] = loadBalancerPoolHealthMonitorPatch.Type + } + if !core.IsNil(loadBalancerPoolHealthMonitorPatch.URLPath) { + _patch["url_path"] = loadBalancerPoolHealthMonitorPatch.URLPath + } + + return +} + +// LoadBalancerPoolHealthMonitorPrototype : LoadBalancerPoolHealthMonitorPrototype struct +// Models which "extend" this model: +// - LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype +// - LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype +type LoadBalancerPoolHealthMonitorPrototype struct { + // The seconds to wait between health checks. Must be greater than `timeout`. + Delay *int64 `json:"delay" validate:"required"` + + // The health check max retries. + MaxRetries *int64 `json:"max_retries" validate:"required"` + + // The health check port. + // + // If specified, this overrides the pool member port values. + Port *int64 `json:"port,omitempty"` + + // The seconds to wait for a response to a health check. Must be less than `delay`. + Timeout *int64 `json:"timeout" validate:"required"` + + // The protocol type to use for health checks. + Type *string `json:"type" validate:"required"` + + // The health check URL path to use. + // + // Must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + URLPath *string `json:"url_path,omitempty"` +} + +// Constants associated with the LoadBalancerPoolHealthMonitorPrototype.Type property. +// The protocol type to use for health checks. +const ( + LoadBalancerPoolHealthMonitorPrototypeTypeHTTPConst = "http" + LoadBalancerPoolHealthMonitorPrototypeTypeHTTPSConst = "https" + LoadBalancerPoolHealthMonitorPrototypeTypeTCPConst = "tcp" +) + +func (*LoadBalancerPoolHealthMonitorPrototype) isaLoadBalancerPoolHealthMonitorPrototype() bool { + return true +} + +type LoadBalancerPoolHealthMonitorPrototypeIntf interface { + isaLoadBalancerPoolHealthMonitorPrototype() bool +} + +// UnmarshalLoadBalancerPoolHealthMonitorPrototype unmarshals an instance of LoadBalancerPoolHealthMonitorPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerPoolHealthMonitorPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolHealthMonitorPrototype) + err = core.UnmarshalPrimitive(m, "delay", &obj.Delay) + if err != nil { + err = core.SDKErrorf(err, "", "delay-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_retries", &obj.MaxRetries) + if err != nil { + err = core.SDKErrorf(err, "", "max_retries-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url_path", &obj.URLPath) + if err != nil { + err = core.SDKErrorf(err, "", "url_path-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolIdentity : Identifies a load balancer pool by a unique property. +// Models which "extend" this model: +// - LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID +// - LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref +type LoadBalancerPoolIdentity struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerPoolIdentity) isaLoadBalancerPoolIdentity() bool { + return true +} + +type LoadBalancerPoolIdentityIntf interface { + isaLoadBalancerPoolIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalLoadBalancerPoolIdentity unmarshals an instance of LoadBalancerPoolIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerPoolIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolIdentity +func (loadBalancerPoolIdentity *LoadBalancerPoolIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolIdentity.ID) { + _patch["id"] = loadBalancerPoolIdentity.ID + } + if !core.IsNil(loadBalancerPoolIdentity.Href) { + _patch["href"] = loadBalancerPoolIdentity.Href + } + + return +} + +// LoadBalancerPoolIdentityByName : LoadBalancerPoolIdentityByName struct +type LoadBalancerPoolIdentityByName struct { + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name *string `json:"name" validate:"required"` +} + +// NewLoadBalancerPoolIdentityByName : Instantiate LoadBalancerPoolIdentityByName (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolIdentityByName(name string) (_model *LoadBalancerPoolIdentityByName, err error) { + _model = &LoadBalancerPoolIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerPoolIdentityByName unmarshals an instance of LoadBalancerPoolIdentityByName from the specified map of raw messages. +func UnmarshalLoadBalancerPoolIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMember : LoadBalancerPoolMember struct +type LoadBalancerPoolMember struct { + // The date and time that this member was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The health of the member. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Health *string `json:"health" validate:"required"` + + // The URL for this load balancer pool member. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer pool member. + ID *string `json:"id" validate:"required"` + + // The port the member will receive load balancer traffic on. Applies only to load balancer traffic received on a + // listener with a single port. (If the traffic is received on a listener with a port range, the member will receive + // the traffic on the same port the listener received it on.) + // + // This port will also be used for health checks unless the `port` property of + // `health_monitor` property is specified. + Port *int64 `json:"port" validate:"required"` + + // The provisioning status of this member + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProvisioningStatus *string `json:"provisioning_status" validate:"required"` + + // The pool member target. + Target LoadBalancerPoolMemberTargetIntf `json:"target" validate:"required"` + + // The weight of the member. + // + // This property will be present if the pool algorithm is `weighted_round_robin`. + Weight *int64 `json:"weight,omitempty"` +} + +// Constants associated with the LoadBalancerPoolMember.Health property. +// The health of the member. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolMemberHealthFaultedConst = "faulted" + LoadBalancerPoolMemberHealthOkConst = "ok" + LoadBalancerPoolMemberHealthUnknownConst = "unknown" +) + +// Constants associated with the LoadBalancerPoolMember.ProvisioningStatus property. +// The provisioning status of this member +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolMemberProvisioningStatusActiveConst = "active" + LoadBalancerPoolMemberProvisioningStatusCreatePendingConst = "create_pending" + LoadBalancerPoolMemberProvisioningStatusDeletePendingConst = "delete_pending" + LoadBalancerPoolMemberProvisioningStatusFailedConst = "failed" + LoadBalancerPoolMemberProvisioningStatusUpdatePendingConst = "update_pending" +) + +// UnmarshalLoadBalancerPoolMember unmarshals an instance of LoadBalancerPoolMember from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMember(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMember) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health", &obj.Health) + if err != nil { + err = core.SDKErrorf(err, "", "health-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "provisioning_status", &obj.ProvisioningStatus) + if err != nil { + err = core.SDKErrorf(err, "", "provisioning_status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerPoolMemberTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "weight", &obj.Weight) + if err != nil { + err = core.SDKErrorf(err, "", "weight-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberCollection : LoadBalancerPoolMemberCollection struct +type LoadBalancerPoolMemberCollection struct { + // The members for the load balancer pool. + Members []LoadBalancerPoolMember `json:"members" validate:"required"` +} + +// UnmarshalLoadBalancerPoolMemberCollection unmarshals an instance of LoadBalancerPoolMemberCollection from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberCollection) + err = core.UnmarshalModel(m, "members", &obj.Members, UnmarshalLoadBalancerPoolMember) + if err != nil { + err = core.SDKErrorf(err, "", "members-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberPatch : LoadBalancerPoolMemberPatch struct +type LoadBalancerPoolMemberPatch struct { + // The port the member will receive load balancer traffic on. Applies only to load balancer traffic received on a + // listener with a single port. (If the traffic is received on a listener with a port range, the member will receive + // the traffic on the same port the listener received it on.) + // + // This port will also be used for health checks unless the `port` property of + // `health_monitor` property is specified. + // + // The port must be unique across all members for all pools associated with this pool's listener. + // + // For load balancers in the `network` family, the same `port` and `target` tuple cannot be shared by a pool member of + // any other load balancer in the same VPC. + Port *int64 `json:"port,omitempty"` + + // The pool member target. + // + // If the load balancer has `route_mode` set to `true`, the member must be in a zone the load + // balancer has a subnet in. + // + // For load balancers in the `network` family, the same `port` and `target` tuple cannot + // be shared by a pool member of any other load balancer in the same VPC. + Target LoadBalancerPoolMemberTargetPrototypeIntf `json:"target,omitempty"` + + // The weight of the member. + // + // If specified, the pool algorithm must be `weighted_round_robin`. + Weight *int64 `json:"weight,omitempty"` +} + +// UnmarshalLoadBalancerPoolMemberPatch unmarshals an instance of LoadBalancerPoolMemberPatch from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberPatch) + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerPoolMemberTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "weight", &obj.Weight) + if err != nil { + err = core.SDKErrorf(err, "", "weight-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the LoadBalancerPoolMemberPatch +func (loadBalancerPoolMemberPatch *LoadBalancerPoolMemberPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberPatch.Port) { + _patch["port"] = loadBalancerPoolMemberPatch.Port + } + if !core.IsNil(loadBalancerPoolMemberPatch.Target) { + _patch["target"] = loadBalancerPoolMemberPatch.Target.asPatch() + } + if !core.IsNil(loadBalancerPoolMemberPatch.Weight) { + _patch["weight"] = loadBalancerPoolMemberPatch.Weight + } + + return +} + +// LoadBalancerPoolMemberPrototype : LoadBalancerPoolMemberPrototype struct +type LoadBalancerPoolMemberPrototype struct { + // The port the member will receive load balancer traffic on. Applies only to load balancer traffic received on a + // listener with a single port. (If the traffic is received on a listener with a port range, the member will receive + // the traffic on the same port the listener received it on.) + // + // This port will also be used for health checks unless the `port` property of + // `health_monitor` property is specified. + // + // The port must be unique across all members for all pools associated with this pool's listener. + // + // For load balancers in the `network` family, the same `port` and `target` tuple cannot be shared by a pool member of + // any other load balancer in the same VPC. + Port *int64 `json:"port" validate:"required"` + + // The pool member target. + // + // If the load balancer has `route_mode` set to `true`, the member must be in a zone the load + // balancer has a subnet in. + // + // For load balancers in the `network` family, the same `port` and `target` tuple cannot + // be shared by a pool member of any other load balancer in the same VPC. + Target LoadBalancerPoolMemberTargetPrototypeIntf `json:"target" validate:"required"` + + // The weight of the member. + // + // If specified, the pool algorithm must be `weighted_round_robin` and the load balancer must be in the `application` + // family. + // + // If unspecified, the weight will be `50` for load balancers in the `application` family. + Weight *int64 `json:"weight,omitempty"` +} + +// NewLoadBalancerPoolMemberPrototype : Instantiate LoadBalancerPoolMemberPrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberPrototype(port int64, target LoadBalancerPoolMemberTargetPrototypeIntf) (_model *LoadBalancerPoolMemberPrototype, err error) { + _model = &LoadBalancerPoolMemberPrototype{ + Port: core.Int64Ptr(port), + Target: target, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerPoolMemberPrototype unmarshals an instance of LoadBalancerPoolMemberPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberPrototype) + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalLoadBalancerPoolMemberTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "weight", &obj.Weight) + if err != nil { + err = core.SDKErrorf(err, "", "weight-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberReference : LoadBalancerPoolMemberReference struct +type LoadBalancerPoolMemberReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer pool member. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer pool member. + ID *string `json:"id" validate:"required"` +} + +// UnmarshalLoadBalancerPoolMemberReference unmarshals an instance of LoadBalancerPoolMemberReference from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberTarget : The pool member target. +// Models which "extend" this model: +// - LoadBalancerPoolMemberTargetInstanceReference +// - LoadBalancerPoolMemberTargetByReservedIP +// - LoadBalancerPoolMemberTargetIPNotReservedIP +// - LoadBalancerPoolMemberTargetLoadBalancerReference +type LoadBalancerPoolMemberTarget struct { + // The CRN for this virtual server instance. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this virtual server instance. + Href *string `json:"href,omitempty"` + + // The unique identifier for this virtual server instance. + ID *string `json:"id,omitempty"` + + // The name for this virtual server instance. The name is unique across all virtual server instances in the region. + Name *string `json:"name,omitempty"` + + // The IP address. + // + // If the address has not yet been selected, the value will be `0.0.0.0`. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the LoadBalancerPoolMemberTarget.ResourceType property. +// The resource type. +const ( + LoadBalancerPoolMemberTargetResourceTypeSubnetReservedIPConst = "subnet_reserved_ip" +) + +func (*LoadBalancerPoolMemberTarget) isaLoadBalancerPoolMemberTarget() bool { + return true +} + +type LoadBalancerPoolMemberTargetIntf interface { + isaLoadBalancerPoolMemberTarget() bool +} + +// UnmarshalLoadBalancerPoolMemberTarget unmarshals an instance of LoadBalancerPoolMemberTarget from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTarget) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberTargetPrototype : The pool member target. +// +// If the load balancer has `route_mode` set to `true`, the member must be in a zone the load balancer has a subnet in. +// +// For load balancers in the `network` family, the same `port` and `target` tuple cannot be shared by a pool member of +// any other load balancer in the same VPC. +// Models which "extend" this model: +// - LoadBalancerPoolMemberTargetPrototypeInstanceIdentity +// - LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity +// - LoadBalancerPoolMemberTargetPrototypeIP +// - LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity +type LoadBalancerPoolMemberTargetPrototype struct { + // The unique identifier for this virtual server instance. + ID *string `json:"id,omitempty"` + + // The CRN for this virtual server instance. + CRN *string `json:"crn,omitempty"` + + // The URL for this virtual server instance. + Href *string `json:"href,omitempty"` + + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` +} + +func (*LoadBalancerPoolMemberTargetPrototype) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +type LoadBalancerPoolMemberTargetPrototypeIntf interface { + isaLoadBalancerPoolMemberTargetPrototype() bool + asPatch() map[string]interface{} +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototype unmarshals an instance of LoadBalancerPoolMemberTargetPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototype +func (loadBalancerPoolMemberTargetPrototype *LoadBalancerPoolMemberTargetPrototype) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototype.ID) { + _patch["id"] = loadBalancerPoolMemberTargetPrototype.ID + } + if !core.IsNil(loadBalancerPoolMemberTargetPrototype.CRN) { + _patch["crn"] = loadBalancerPoolMemberTargetPrototype.CRN + } + if !core.IsNil(loadBalancerPoolMemberTargetPrototype.Href) { + _patch["href"] = loadBalancerPoolMemberTargetPrototype.Href + } + if !core.IsNil(loadBalancerPoolMemberTargetPrototype.Address) { + _patch["address"] = loadBalancerPoolMemberTargetPrototype.Address + } + + return +} + +// LoadBalancerPoolPatch : LoadBalancerPoolPatch struct +type LoadBalancerPoolPatch struct { + // The load balancing algorithm. The `least_connections` algorithm is only supported for load balancers that have + // `availability` with value `subnet` in the profile. + Algorithm *string `json:"algorithm,omitempty"` + + // The failsafe policy for this load balancer pool. + FailsafePolicy *LoadBalancerPoolFailsafePolicyPatch `json:"failsafe_policy,omitempty"` + + // The health monitor of this pool. + // + // If this pool has a member targeting a load balancer then: + // + // - If the targeted load balancer has multiple subnets, this health monitor will be + // used to direct traffic to the available subnets. + // - The health checks spawned by this health monitor will be handled as any other + // traffic (that is, subject to the configuration of listeners and pools on the + // target load balancer). + // - This health monitor does not affect how pool member health is determined within + // the target load balancer. + // + // For more information, see [Private Path network load balancer frequently asked + // questions](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-faqs#ppnlb-faqs). + HealthMonitor *LoadBalancerPoolHealthMonitorPatch `json:"health_monitor,omitempty"` + + // The name for this load balancer pool. The name must not be used by another pool for the load balancer. + Name *string `json:"name,omitempty"` + + // The protocol for this load balancer pool. + // + // Load balancers in the `network` family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the + // `application` family support `tcp`, `http` and + // `https`. + // + // If this pool is associated with a load balancer listener or a load balancer failsafe target pool, the specified + // protocol must match or be compatible with each other's protocol. At present, the compatible protocols are `http` and + // `https`. + Protocol *string `json:"protocol,omitempty"` + + // The PROXY protocol setting for this pool: + // - `v1`: Enabled with version 1 (human-readable header format) + // - `v2`: Enabled with version 2 (binary header format) + // - `disabled`: Disabled + // + // For load balancers in the `network` family, this property must be `disabled`. + ProxyProtocol *string `json:"proxy_protocol,omitempty"` + + // The session persistence of this pool. + SessionPersistence *LoadBalancerPoolSessionPersistencePatch `json:"session_persistence,omitempty"` +} + +// Constants associated with the LoadBalancerPoolPatch.Algorithm property. +// The load balancing algorithm. The `least_connections` algorithm is only supported for load balancers that have +// `availability` with value `subnet` in the profile. +const ( + LoadBalancerPoolPatchAlgorithmLeastConnectionsConst = "least_connections" + LoadBalancerPoolPatchAlgorithmRoundRobinConst = "round_robin" + LoadBalancerPoolPatchAlgorithmWeightedRoundRobinConst = "weighted_round_robin" +) + +// Constants associated with the LoadBalancerPoolPatch.Protocol property. +// The protocol for this load balancer pool. +// +// Load balancers in the `network` family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in the +// `application` family support `tcp`, `http` and +// `https`. +// +// If this pool is associated with a load balancer listener or a load balancer failsafe target pool, the specified +// protocol must match or be compatible with each other's protocol. At present, the compatible protocols are `http` and +// `https`. +const ( + LoadBalancerPoolPatchProtocolHTTPConst = "http" + LoadBalancerPoolPatchProtocolHTTPSConst = "https" + LoadBalancerPoolPatchProtocolTCPConst = "tcp" + LoadBalancerPoolPatchProtocolUDPConst = "udp" +) + +// Constants associated with the LoadBalancerPoolPatch.ProxyProtocol property. +// The PROXY protocol setting for this pool: +// - `v1`: Enabled with version 1 (human-readable header format) +// - `v2`: Enabled with version 2 (binary header format) +// - `disabled`: Disabled +// +// For load balancers in the `network` family, this property must be `disabled`. +const ( + LoadBalancerPoolPatchProxyProtocolDisabledConst = "disabled" + LoadBalancerPoolPatchProxyProtocolV1Const = "v1" + LoadBalancerPoolPatchProxyProtocolV2Const = "v2" +) + +// UnmarshalLoadBalancerPoolPatch unmarshals an instance of LoadBalancerPoolPatch from the specified map of raw messages. +func UnmarshalLoadBalancerPoolPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolPatch) + err = core.UnmarshalPrimitive(m, "algorithm", &obj.Algorithm) + if err != nil { + err = core.SDKErrorf(err, "", "algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "failsafe_policy", &obj.FailsafePolicy, UnmarshalLoadBalancerPoolFailsafePolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "failsafe_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_monitor", &obj.HealthMonitor, UnmarshalLoadBalancerPoolHealthMonitorPatch) + if err != nil { + err = core.SDKErrorf(err, "", "health_monitor-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "proxy_protocol", &obj.ProxyProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "proxy_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "session_persistence", &obj.SessionPersistence, UnmarshalLoadBalancerPoolSessionPersistencePatch) + if err != nil { + err = core.SDKErrorf(err, "", "session_persistence-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the LoadBalancerPoolPatch +func (loadBalancerPoolPatch *LoadBalancerPoolPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolPatch.Algorithm) { + _patch["algorithm"] = loadBalancerPoolPatch.Algorithm + } + if !core.IsNil(loadBalancerPoolPatch.FailsafePolicy) { + _patch["failsafe_policy"] = loadBalancerPoolPatch.FailsafePolicy.asPatch() + } + if !core.IsNil(loadBalancerPoolPatch.HealthMonitor) { + _patch["health_monitor"] = loadBalancerPoolPatch.HealthMonitor.asPatch() + } + if !core.IsNil(loadBalancerPoolPatch.Name) { + _patch["name"] = loadBalancerPoolPatch.Name + } + if !core.IsNil(loadBalancerPoolPatch.Protocol) { + _patch["protocol"] = loadBalancerPoolPatch.Protocol + } + if !core.IsNil(loadBalancerPoolPatch.ProxyProtocol) { + _patch["proxy_protocol"] = loadBalancerPoolPatch.ProxyProtocol + } + if !core.IsNil(loadBalancerPoolPatch.SessionPersistence) { + _patch["session_persistence"] = loadBalancerPoolPatch.SessionPersistence.asPatch() + } + + return +} + +// LoadBalancerPoolPrototypeLoadBalancerContext : LoadBalancerPoolPrototypeLoadBalancerContext struct +type LoadBalancerPoolPrototypeLoadBalancerContext struct { + // The load balancing algorithm. The `least_connections` algorithm is only supported for load balancers that have + // `availability` with value `subnet` in the profile. + Algorithm *string `json:"algorithm" validate:"required"` + + // The health monitor of this pool. + // + // If this pool has a member targeting a load balancer then: + // + // - If the targeted load balancer has multiple subnets, this health monitor will be + // used to direct traffic to the available subnets. + // - The health checks spawned by this health monitor will be handled as any other + // traffic (that is, subject to the configuration of listeners and pools on the target + // load balancer). + // - This health monitor does not affect how pool member health is determined within the + // target load balancer. + // + // For more information, see [Private Path network load balancer frequently asked + // questions](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-faqs#ppnlb-faqs). + HealthMonitor LoadBalancerPoolHealthMonitorPrototypeIntf `json:"health_monitor" validate:"required"` + + // The members for this load balancer pool. For load balancers in the `network` family, the same `port` and `target` + // tuple cannot be shared by a pool member of any other load balancer in the same VPC. + Members []LoadBalancerPoolMemberPrototype `json:"members,omitempty"` + + // The name for this load balancer pool. The name must not be used by another pool for the load balancer. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The protocol used for this load balancer pool. Load balancers in the `network` family support `tcp` and `udp` (if + // `udp_supported` is `true`). Load balancers in the + // `application` family support `tcp`, `http`, and `https`. + Protocol *string `json:"protocol" validate:"required"` + + // The PROXY protocol setting for this pool: + // - `v1`: Enabled with version 1 (human-readable header format) + // - `v2`: Enabled with version 2 (binary header format) + // - `disabled`: Disabled + // + // For load balancers in the `network` family, this property must be `disabled`. + ProxyProtocol *string `json:"proxy_protocol,omitempty"` + + // The session persistence of this pool. If specified, the load balancer must have + // `source_ip_session_persistence_supported` set to `true` in its profile. + // + // If unspecified, session persistence will be disabled, and traffic will be distributed + // across members of the pool. + SessionPersistence *LoadBalancerPoolSessionPersistencePrototype `json:"session_persistence,omitempty"` +} + +// Constants associated with the LoadBalancerPoolPrototypeLoadBalancerContext.Algorithm property. +// The load balancing algorithm. The `least_connections` algorithm is only supported for load balancers that have +// `availability` with value `subnet` in the profile. +const ( + LoadBalancerPoolPrototypeLoadBalancerContextAlgorithmLeastConnectionsConst = "least_connections" + LoadBalancerPoolPrototypeLoadBalancerContextAlgorithmRoundRobinConst = "round_robin" + LoadBalancerPoolPrototypeLoadBalancerContextAlgorithmWeightedRoundRobinConst = "weighted_round_robin" +) + +// Constants associated with the LoadBalancerPoolPrototypeLoadBalancerContext.Protocol property. +// The protocol used for this load balancer pool. Load balancers in the `network` family support `tcp` and `udp` (if +// `udp_supported` is `true`). Load balancers in the +// `application` family support `tcp`, `http`, and `https`. +const ( + LoadBalancerPoolPrototypeLoadBalancerContextProtocolHTTPConst = "http" + LoadBalancerPoolPrototypeLoadBalancerContextProtocolHTTPSConst = "https" + LoadBalancerPoolPrototypeLoadBalancerContextProtocolTCPConst = "tcp" + LoadBalancerPoolPrototypeLoadBalancerContextProtocolUDPConst = "udp" +) + +// Constants associated with the LoadBalancerPoolPrototypeLoadBalancerContext.ProxyProtocol property. +// The PROXY protocol setting for this pool: +// - `v1`: Enabled with version 1 (human-readable header format) +// - `v2`: Enabled with version 2 (binary header format) +// - `disabled`: Disabled +// +// For load balancers in the `network` family, this property must be `disabled`. +const ( + LoadBalancerPoolPrototypeLoadBalancerContextProxyProtocolDisabledConst = "disabled" + LoadBalancerPoolPrototypeLoadBalancerContextProxyProtocolV1Const = "v1" + LoadBalancerPoolPrototypeLoadBalancerContextProxyProtocolV2Const = "v2" +) + +// NewLoadBalancerPoolPrototypeLoadBalancerContext : Instantiate LoadBalancerPoolPrototypeLoadBalancerContext (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolPrototypeLoadBalancerContext(algorithm string, healthMonitor LoadBalancerPoolHealthMonitorPrototypeIntf, protocol string) (_model *LoadBalancerPoolPrototypeLoadBalancerContext, err error) { + _model = &LoadBalancerPoolPrototypeLoadBalancerContext{ + Algorithm: core.StringPtr(algorithm), + HealthMonitor: healthMonitor, + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerPoolPrototypeLoadBalancerContext unmarshals an instance of LoadBalancerPoolPrototypeLoadBalancerContext from the specified map of raw messages. +func UnmarshalLoadBalancerPoolPrototypeLoadBalancerContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolPrototypeLoadBalancerContext) + err = core.UnmarshalPrimitive(m, "algorithm", &obj.Algorithm) + if err != nil { + err = core.SDKErrorf(err, "", "algorithm-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_monitor", &obj.HealthMonitor, UnmarshalLoadBalancerPoolHealthMonitorPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "health_monitor-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "members", &obj.Members, UnmarshalLoadBalancerPoolMemberPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "members-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "proxy_protocol", &obj.ProxyProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "proxy_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "session_persistence", &obj.SessionPersistence, UnmarshalLoadBalancerPoolSessionPersistencePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "session_persistence-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolReference : LoadBalancerPoolReference struct +type LoadBalancerPoolReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer pool. + ID *string `json:"id" validate:"required"` + + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalLoadBalancerPoolReference unmarshals an instance of LoadBalancerPoolReference from the specified map of raw messages. +func UnmarshalLoadBalancerPoolReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolSessionPersistence : LoadBalancerPoolSessionPersistence struct +type LoadBalancerPoolSessionPersistence struct { + // The session persistence cookie name. + CookieName *string `json:"cookie_name,omitempty"` + + // The session persistence type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerPoolSessionPersistence.Type property. +// The session persistence type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerPoolSessionPersistenceTypeAppCookieConst = "app_cookie" + LoadBalancerPoolSessionPersistenceTypeHTTPCookieConst = "http_cookie" + LoadBalancerPoolSessionPersistenceTypeSourceIPConst = "source_ip" +) + +// UnmarshalLoadBalancerPoolSessionPersistence unmarshals an instance of LoadBalancerPoolSessionPersistence from the specified map of raw messages. +func UnmarshalLoadBalancerPoolSessionPersistence(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolSessionPersistence) + err = core.UnmarshalPrimitive(m, "cookie_name", &obj.CookieName) + if err != nil { + err = core.SDKErrorf(err, "", "cookie_name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolSessionPersistencePatch : The session persistence configuration. Specify `null` to remove any existing session persistence configuration. +type LoadBalancerPoolSessionPersistencePatch struct { + // The session persistence cookie name. Names starting with `IBM` are not allowed. + // + // If specified, the session persistence type must be `app_cookie`. + CookieName *string `json:"cookie_name,omitempty"` + + // The session persistence type. + // + // If `http_cookie` or `app_cookie` is specified, the pool protocol must be `http` or + // `https`. + Type *string `json:"type,omitempty"` +} + +// Constants associated with the LoadBalancerPoolSessionPersistencePatch.Type property. +// The session persistence type. +// +// If `http_cookie` or `app_cookie` is specified, the pool protocol must be `http` or +// `https`. +const ( + LoadBalancerPoolSessionPersistencePatchTypeAppCookieConst = "app_cookie" + LoadBalancerPoolSessionPersistencePatchTypeHTTPCookieConst = "http_cookie" + LoadBalancerPoolSessionPersistencePatchTypeSourceIPConst = "source_ip" +) + +// UnmarshalLoadBalancerPoolSessionPersistencePatch unmarshals an instance of LoadBalancerPoolSessionPersistencePatch from the specified map of raw messages. +func UnmarshalLoadBalancerPoolSessionPersistencePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolSessionPersistencePatch) + err = core.UnmarshalPrimitive(m, "cookie_name", &obj.CookieName) + if err != nil { + err = core.SDKErrorf(err, "", "cookie_name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolSessionPersistencePatch +func (loadBalancerPoolSessionPersistencePatch *LoadBalancerPoolSessionPersistencePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolSessionPersistencePatch.CookieName) { + _patch["cookie_name"] = loadBalancerPoolSessionPersistencePatch.CookieName + } + if !core.IsNil(loadBalancerPoolSessionPersistencePatch.Type) { + _patch["type"] = loadBalancerPoolSessionPersistencePatch.Type + } + + return +} + +// LoadBalancerPoolSessionPersistencePrototype : LoadBalancerPoolSessionPersistencePrototype struct +type LoadBalancerPoolSessionPersistencePrototype struct { + // The session persistence cookie name. Names starting with `IBM` are not allowed. + // + // If specified, the session persistence type must be `app_cookie`. + CookieName *string `json:"cookie_name,omitempty"` + + // The session persistence type. + // + // If `http_cookie` or `app_cookie` is specified, the pool protocol must be `http` or + // `https`. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerPoolSessionPersistencePrototype.Type property. +// The session persistence type. +// +// If `http_cookie` or `app_cookie` is specified, the pool protocol must be `http` or +// `https`. +const ( + LoadBalancerPoolSessionPersistencePrototypeTypeAppCookieConst = "app_cookie" + LoadBalancerPoolSessionPersistencePrototypeTypeHTTPCookieConst = "http_cookie" + LoadBalancerPoolSessionPersistencePrototypeTypeSourceIPConst = "source_ip" +) + +// NewLoadBalancerPoolSessionPersistencePrototype : Instantiate LoadBalancerPoolSessionPersistencePrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolSessionPersistencePrototype(typeVar string) (_model *LoadBalancerPoolSessionPersistencePrototype, err error) { + _model = &LoadBalancerPoolSessionPersistencePrototype{ + Type: core.StringPtr(typeVar), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalLoadBalancerPoolSessionPersistencePrototype unmarshals an instance of LoadBalancerPoolSessionPersistencePrototype from the specified map of raw messages. +func UnmarshalLoadBalancerPoolSessionPersistencePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolSessionPersistencePrototype) + err = core.UnmarshalPrimitive(m, "cookie_name", &obj.CookieName) + if err != nil { + err = core.SDKErrorf(err, "", "cookie_name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfile : LoadBalancerProfile struct +type LoadBalancerProfile struct { + AccessModes *LoadBalancerProfileAccessModes `json:"access_modes" validate:"required"` + + Availability LoadBalancerProfileAvailabilityIntf `json:"availability" validate:"required"` + + FailsafePolicyActions LoadBalancerProfileFailsafePolicyActionsIntf `json:"failsafe_policy_actions" validate:"required"` + + // The product family this load balancer profile belongs to. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family *string `json:"family" validate:"required"` + + // The URL for this load balancer profile. + Href *string `json:"href" validate:"required"` + + InstanceGroupsSupported LoadBalancerProfileInstanceGroupsSupportedIntf `json:"instance_groups_supported" validate:"required"` + + // Indicates which logging type(s) are supported for a load balancer with this profile. + LoggingSupported *LoadBalancerProfileLoggingSupported `json:"logging_supported" validate:"required"` + + // The globally unique name for this load balancer profile. + Name *string `json:"name" validate:"required"` + + RouteModeSupported LoadBalancerProfileRouteModeSupportedIntf `json:"route_mode_supported" validate:"required"` + + SecurityGroupsSupported LoadBalancerProfileSecurityGroupsSupportedIntf `json:"security_groups_supported" validate:"required"` + + SourceIPSessionPersistenceSupported LoadBalancerProfileSourceIPSessionPersistenceSupportedIntf `json:"source_ip_session_persistence_supported" validate:"required"` + + // The load balancer profiles that load balancers with this profile can target. + TargetableLoadBalancerProfiles []LoadBalancerProfileReference `json:"targetable_load_balancer_profiles" validate:"required"` + + TargetableResourceTypes *LoadBalancerProfileTargetableResourceTypes `json:"targetable_resource_types" validate:"required"` + + UDPSupported LoadBalancerProfileUDPSupportedIntf `json:"udp_supported" validate:"required"` +} + +// Constants associated with the LoadBalancerProfile.Family property. +// The product family this load balancer profile belongs to. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerProfileFamilyApplicationConst = "application" + LoadBalancerProfileFamilyNetworkConst = "network" +) + +// UnmarshalLoadBalancerProfile unmarshals an instance of LoadBalancerProfile from the specified map of raw messages. +func UnmarshalLoadBalancerProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfile) + err = core.UnmarshalModel(m, "access_modes", &obj.AccessModes, UnmarshalLoadBalancerProfileAccessModes) + if err != nil { + err = core.SDKErrorf(err, "", "access_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "availability", &obj.Availability, UnmarshalLoadBalancerProfileAvailability) + if err != nil { + err = core.SDKErrorf(err, "", "availability-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "failsafe_policy_actions", &obj.FailsafePolicyActions, UnmarshalLoadBalancerProfileFailsafePolicyActions) + if err != nil { + err = core.SDKErrorf(err, "", "failsafe_policy_actions-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_groups_supported", &obj.InstanceGroupsSupported, UnmarshalLoadBalancerProfileInstanceGroupsSupported) + if err != nil { + err = core.SDKErrorf(err, "", "instance_groups_supported-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "logging_supported", &obj.LoggingSupported, UnmarshalLoadBalancerProfileLoggingSupported) + if err != nil { + err = core.SDKErrorf(err, "", "logging_supported-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "route_mode_supported", &obj.RouteModeSupported, UnmarshalLoadBalancerProfileRouteModeSupported) + if err != nil { + err = core.SDKErrorf(err, "", "route_mode_supported-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups_supported", &obj.SecurityGroupsSupported, UnmarshalLoadBalancerProfileSecurityGroupsSupported) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups_supported-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_ip_session_persistence_supported", &obj.SourceIPSessionPersistenceSupported, UnmarshalLoadBalancerProfileSourceIPSessionPersistenceSupported) + if err != nil { + err = core.SDKErrorf(err, "", "source_ip_session_persistence_supported-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "targetable_load_balancer_profiles", &obj.TargetableLoadBalancerProfiles, UnmarshalLoadBalancerProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "targetable_load_balancer_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "targetable_resource_types", &obj.TargetableResourceTypes, UnmarshalLoadBalancerProfileTargetableResourceTypes) + if err != nil { + err = core.SDKErrorf(err, "", "targetable_resource_types-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "udp_supported", &obj.UDPSupported, UnmarshalLoadBalancerProfileUDPSupported) + if err != nil { + err = core.SDKErrorf(err, "", "udp_supported-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileAccessModes : LoadBalancerProfileAccessModes struct +type LoadBalancerProfileAccessModes struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The access modes supported by load balancers with this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileAccessModes.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileAccessModesTypeEnumConst = "enum" +) + +// Constants associated with the LoadBalancerProfileAccessModes.Values property. +// The access mode for this load balancer: +// - `private`: reachable from within its VPC, at IP addresses in `private_ips` +// - `private_path`: reachable through an endpoint gateway +// - `public`: reachable from the internet at the IP addresses in `public_ips`. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerProfileAccessModesValuesPrivateConst = "private" + LoadBalancerProfileAccessModesValuesPrivatePathConst = "private_path" + LoadBalancerProfileAccessModesValuesPublicConst = "public" +) + +// UnmarshalLoadBalancerProfileAccessModes unmarshals an instance of LoadBalancerProfileAccessModes from the specified map of raw messages. +func UnmarshalLoadBalancerProfileAccessModes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileAccessModes) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileAvailability : LoadBalancerProfileAvailability struct +// Models which "extend" this model: +// - LoadBalancerProfileAvailabilityFixed +// - LoadBalancerProfileAvailabilityDependent +type LoadBalancerProfileAvailability struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The availability of this load balancer: + // - `subnet`: remains available if at least one zone that the load balancer's subnets reside + // in is available + // - `region`: remains available if at least one zone in the region is available. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Value *string `json:"value,omitempty"` +} + +// Constants associated with the LoadBalancerProfileAvailability.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileAvailabilityTypeFixedConst = "fixed" +) + +// Constants associated with the LoadBalancerProfileAvailability.Value property. +// The availability of this load balancer: +// - `subnet`: remains available if at least one zone that the load balancer's subnets reside +// in is available +// - `region`: remains available if at least one zone in the region is available. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerProfileAvailabilityValueRegionConst = "region" + LoadBalancerProfileAvailabilityValueSubnetConst = "subnet" +) + +func (*LoadBalancerProfileAvailability) isaLoadBalancerProfileAvailability() bool { + return true +} + +type LoadBalancerProfileAvailabilityIntf interface { + isaLoadBalancerProfileAvailability() bool +} + +// UnmarshalLoadBalancerProfileAvailability unmarshals an instance of LoadBalancerProfileAvailability from the specified map of raw messages. +func UnmarshalLoadBalancerProfileAvailability(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileAvailability) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileCollection : LoadBalancerProfileCollection struct +type LoadBalancerProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of load balancer profiles. + Profiles []LoadBalancerProfile `json:"profiles" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalLoadBalancerProfileCollection unmarshals an instance of LoadBalancerProfileCollection from the specified map of raw messages. +func UnmarshalLoadBalancerProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profiles", &obj.Profiles, UnmarshalLoadBalancerProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *LoadBalancerProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// LoadBalancerProfileFailsafePolicyActions : LoadBalancerProfileFailsafePolicyActions struct +// Models which "extend" this model: +// - LoadBalancerProfileFailsafePolicyActionsEnum +// - LoadBalancerProfileFailsafePolicyActionsDependent +type LoadBalancerProfileFailsafePolicyActions struct { + // The default failsafe policy action for this profile. + Default *string `json:"default,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The supported failsafe policy actions. + Values []string `json:"values,omitempty"` +} + +// Constants associated with the LoadBalancerProfileFailsafePolicyActions.Default property. +// The default failsafe policy action for this profile. +const ( + LoadBalancerProfileFailsafePolicyActionsDefaultBypassConst = "bypass" + LoadBalancerProfileFailsafePolicyActionsDefaultDropConst = "drop" + LoadBalancerProfileFailsafePolicyActionsDefaultFailConst = "fail" + LoadBalancerProfileFailsafePolicyActionsDefaultForwardConst = "forward" +) + +// Constants associated with the LoadBalancerProfileFailsafePolicyActions.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileFailsafePolicyActionsTypeEnumConst = "enum" +) + +// Constants associated with the LoadBalancerProfileFailsafePolicyActions.Values property. +// A load balancer failsafe policy action: +// - `bypass`: Bypasses the members and sends requests directly to their destination IPs. +// - `drop`: Drops requests. +// - `fail`: Fails requests with an HTTP `503` status code. +// - `forward`: Forwards requests to the `target` pool. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerProfileFailsafePolicyActionsValuesBypassConst = "bypass" + LoadBalancerProfileFailsafePolicyActionsValuesDropConst = "drop" + LoadBalancerProfileFailsafePolicyActionsValuesFailConst = "fail" + LoadBalancerProfileFailsafePolicyActionsValuesForwardConst = "forward" +) + +func (*LoadBalancerProfileFailsafePolicyActions) isaLoadBalancerProfileFailsafePolicyActions() bool { + return true +} + +type LoadBalancerProfileFailsafePolicyActionsIntf interface { + isaLoadBalancerProfileFailsafePolicyActions() bool +} + +// UnmarshalLoadBalancerProfileFailsafePolicyActions unmarshals an instance of LoadBalancerProfileFailsafePolicyActions from the specified map of raw messages. +func UnmarshalLoadBalancerProfileFailsafePolicyActions(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileFailsafePolicyActions) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileIdentity : Identifies a load balancer profile by a unique property. +// Models which "extend" this model: +// - LoadBalancerProfileIdentityByName +// - LoadBalancerProfileIdentityByHref +type LoadBalancerProfileIdentity struct { + // The globally unique name for this load balancer profile. + Name *string `json:"name,omitempty"` + + // The URL for this load balancer profile. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerProfileIdentity) isaLoadBalancerProfileIdentity() bool { + return true +} + +type LoadBalancerProfileIdentityIntf interface { + isaLoadBalancerProfileIdentity() bool +} + +// UnmarshalLoadBalancerProfileIdentity unmarshals an instance of LoadBalancerProfileIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerProfileIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileInstanceGroupsSupported : LoadBalancerProfileInstanceGroupsSupported struct +// Models which "extend" this model: +// - LoadBalancerProfileInstanceGroupsSupportedFixed +// - LoadBalancerProfileInstanceGroupsSupportedDependent +type LoadBalancerProfileInstanceGroupsSupported struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *bool `json:"value,omitempty"` +} + +// Constants associated with the LoadBalancerProfileInstanceGroupsSupported.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileInstanceGroupsSupportedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileInstanceGroupsSupported) isaLoadBalancerProfileInstanceGroupsSupported() bool { + return true +} + +type LoadBalancerProfileInstanceGroupsSupportedIntf interface { + isaLoadBalancerProfileInstanceGroupsSupported() bool +} + +// UnmarshalLoadBalancerProfileInstanceGroupsSupported unmarshals an instance of LoadBalancerProfileInstanceGroupsSupported from the specified map of raw messages. +func UnmarshalLoadBalancerProfileInstanceGroupsSupported(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileInstanceGroupsSupported) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileLoggingSupported : Indicates which logging type(s) are supported for a load balancer with this profile. +type LoadBalancerProfileLoggingSupported struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported logging type(s) for a load balancer with this profile. + Value []string `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileLoggingSupported.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileLoggingSupportedTypeFixedConst = "fixed" +) + +// UnmarshalLoadBalancerProfileLoggingSupported unmarshals an instance of LoadBalancerProfileLoggingSupported from the specified map of raw messages. +func UnmarshalLoadBalancerProfileLoggingSupported(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileLoggingSupported) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileReference : LoadBalancerProfileReference struct +type LoadBalancerProfileReference struct { + // The product family this load balancer profile belongs to. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family *string `json:"family" validate:"required"` + + // The URL for this load balancer profile. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this load balancer profile. + Name *string `json:"name" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileReference.Family property. +// The product family this load balancer profile belongs to. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerProfileReferenceFamilyApplicationConst = "application" + LoadBalancerProfileReferenceFamilyNetworkConst = "network" +) + +// UnmarshalLoadBalancerProfileReference unmarshals an instance of LoadBalancerProfileReference from the specified map of raw messages. +func UnmarshalLoadBalancerProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileReference) + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileRouteModeSupported : LoadBalancerProfileRouteModeSupported struct +// Models which "extend" this model: +// - LoadBalancerProfileRouteModeSupportedFixed +// - LoadBalancerProfileRouteModeSupportedDependent +type LoadBalancerProfileRouteModeSupported struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *bool `json:"value,omitempty"` +} + +// Constants associated with the LoadBalancerProfileRouteModeSupported.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileRouteModeSupportedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileRouteModeSupported) isaLoadBalancerProfileRouteModeSupported() bool { + return true +} + +type LoadBalancerProfileRouteModeSupportedIntf interface { + isaLoadBalancerProfileRouteModeSupported() bool +} + +// UnmarshalLoadBalancerProfileRouteModeSupported unmarshals an instance of LoadBalancerProfileRouteModeSupported from the specified map of raw messages. +func UnmarshalLoadBalancerProfileRouteModeSupported(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileRouteModeSupported) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileSecurityGroupsSupported : LoadBalancerProfileSecurityGroupsSupported struct +// Models which "extend" this model: +// - LoadBalancerProfileSecurityGroupsSupportedFixed +// - LoadBalancerProfileSecurityGroupsSupportedDependent +type LoadBalancerProfileSecurityGroupsSupported struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *bool `json:"value,omitempty"` +} + +// Constants associated with the LoadBalancerProfileSecurityGroupsSupported.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileSecurityGroupsSupportedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileSecurityGroupsSupported) isaLoadBalancerProfileSecurityGroupsSupported() bool { + return true +} + +type LoadBalancerProfileSecurityGroupsSupportedIntf interface { + isaLoadBalancerProfileSecurityGroupsSupported() bool +} + +// UnmarshalLoadBalancerProfileSecurityGroupsSupported unmarshals an instance of LoadBalancerProfileSecurityGroupsSupported from the specified map of raw messages. +func UnmarshalLoadBalancerProfileSecurityGroupsSupported(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileSecurityGroupsSupported) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileSourceIPSessionPersistenceSupported : LoadBalancerProfileSourceIPSessionPersistenceSupported struct +// Models which "extend" this model: +// - LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed +// - LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent +type LoadBalancerProfileSourceIPSessionPersistenceSupported struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *bool `json:"value,omitempty"` +} + +// Constants associated with the LoadBalancerProfileSourceIPSessionPersistenceSupported.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileSourceIPSessionPersistenceSupportedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileSourceIPSessionPersistenceSupported) isaLoadBalancerProfileSourceIPSessionPersistenceSupported() bool { + return true +} + +type LoadBalancerProfileSourceIPSessionPersistenceSupportedIntf interface { + isaLoadBalancerProfileSourceIPSessionPersistenceSupported() bool +} + +// UnmarshalLoadBalancerProfileSourceIPSessionPersistenceSupported unmarshals an instance of LoadBalancerProfileSourceIPSessionPersistenceSupported from the specified map of raw messages. +func UnmarshalLoadBalancerProfileSourceIPSessionPersistenceSupported(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileSourceIPSessionPersistenceSupported) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileTargetableResourceTypes : LoadBalancerProfileTargetableResourceTypes struct +type LoadBalancerProfileTargetableResourceTypes struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The resource types that pool members of load balancers with this profile can target. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileTargetableResourceTypes.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileTargetableResourceTypesTypeEnumConst = "enum" +) + +// Constants associated with the LoadBalancerProfileTargetableResourceTypes.Values property. +// The [resource types](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vs-elb&interface=ui#lb-comparison-chart) that can +// be targeted by the load balancer pool member: +// - 'instance': Traffic is forwarded to the primary IP address for the instance's +// 'primary_network_interface' or 'primary_network_attachment'. +// - 'subnet_reserved_ip': Traffic is forwarded to the reserved IP address. +// - `load_balancer`: Traffic is forwarded to the load balancer. +// - `ip`: Traffic is forwarded to the IP address. +const ( + LoadBalancerProfileTargetableResourceTypesValuesIPConst = "ip" + LoadBalancerProfileTargetableResourceTypesValuesInstanceConst = "instance" + LoadBalancerProfileTargetableResourceTypesValuesLoadBalancerConst = "load_balancer" + LoadBalancerProfileTargetableResourceTypesValuesSubnetReservedIPConst = "subnet_reserved_ip" +) + +// UnmarshalLoadBalancerProfileTargetableResourceTypes unmarshals an instance of LoadBalancerProfileTargetableResourceTypes from the specified map of raw messages. +func UnmarshalLoadBalancerProfileTargetableResourceTypes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileTargetableResourceTypes) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileUDPSupported : LoadBalancerProfileUDPSupported struct +// Models which "extend" this model: +// - LoadBalancerProfileUDPSupportedFixed +// - LoadBalancerProfileUDPSupportedDependent +type LoadBalancerProfileUDPSupported struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *bool `json:"value,omitempty"` +} + +// Constants associated with the LoadBalancerProfileUDPSupported.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileUDPSupportedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileUDPSupported) isaLoadBalancerProfileUDPSupported() bool { + return true +} + +type LoadBalancerProfileUDPSupportedIntf interface { + isaLoadBalancerProfileUDPSupported() bool +} + +// UnmarshalLoadBalancerProfileUDPSupported unmarshals an instance of LoadBalancerProfileUDPSupported from the specified map of raw messages. +func UnmarshalLoadBalancerProfileUDPSupported(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileUDPSupported) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerReference : LoadBalancerReference struct +type LoadBalancerReference struct { + // The CRN for this load balancer. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer. + ID *string `json:"id" validate:"required"` + + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the LoadBalancerReference.ResourceType property. +// The resource type. +const ( + LoadBalancerReferenceResourceTypeLoadBalancerConst = "load_balancer" +) + +// UnmarshalLoadBalancerReference unmarshals an instance of LoadBalancerReference from the specified map of raw messages. +func UnmarshalLoadBalancerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerStatistics : LoadBalancerStatistics struct +type LoadBalancerStatistics struct { + // The number of active connections for this load balancer. + ActiveConnections *int64 `json:"active_connections" validate:"required"` + + // The current connection rate (connections per second) for this load balancer. + ConnectionRate *float32 `json:"connection_rate" validate:"required"` + + // The total number of bytes processed for this load balancer for the current calendar month. + DataProcessedThisMonth *int64 `json:"data_processed_this_month" validate:"required"` + + // The current throughput (in Mbps) for this load balancer. + Throughput *float32 `json:"throughput" validate:"required"` +} + +// UnmarshalLoadBalancerStatistics unmarshals an instance of LoadBalancerStatistics from the specified map of raw messages. +func UnmarshalLoadBalancerStatistics(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerStatistics) + err = core.UnmarshalPrimitive(m, "active_connections", &obj.ActiveConnections) + if err != nil { + err = core.SDKErrorf(err, "", "active_connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "connection_rate", &obj.ConnectionRate) + if err != nil { + err = core.SDKErrorf(err, "", "connection_rate-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "data_processed_this_month", &obj.DataProcessedThisMonth) + if err != nil { + err = core.SDKErrorf(err, "", "data_processed_this_month-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "throughput", &obj.Throughput) + if err != nil { + err = core.SDKErrorf(err, "", "throughput-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACL : NetworkACL struct +type NetworkACL struct { + // The date and time that the network ACL was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this network ACL. + CRN *string `json:"crn" validate:"required"` + + // The URL for this network ACL. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL. + ID *string `json:"id" validate:"required"` + + // The name for this network ACL. The name is unique across all network ACLs for the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this network ACL. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The ordered rules for this network ACL. If no rules exist, no traffic will be allowed. + Rules []NetworkACLRuleItemIntf `json:"rules" validate:"required"` + + // The subnets to which this network ACL is attached. + Subnets []SubnetReference `json:"subnets" validate:"required"` + + // The VPC this network ACL resides in. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// UnmarshalNetworkACL unmarshals an instance of NetworkACL from the specified map of raw messages. +func UnmarshalNetworkACL(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACL) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalNetworkACLRuleItem) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLCollection : NetworkACLCollection struct +type NetworkACLCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A page of network ACLs. + NetworkAcls []NetworkACL `json:"network_acls" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalNetworkACLCollection unmarshals an instance of NetworkACLCollection from the specified map of raw messages. +func UnmarshalNetworkACLCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_acls", &obj.NetworkAcls, UnmarshalNetworkACL) + if err != nil { + err = core.SDKErrorf(err, "", "network_acls-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *NetworkACLCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// NetworkACLIdentity : Identifies a network ACL by a unique property. +// Models which "extend" this model: +// - NetworkACLIdentityByID +// - NetworkACLIdentityByCRN +// - NetworkACLIdentityByHref +type NetworkACLIdentity struct { + // The unique identifier for this network ACL. + ID *string `json:"id,omitempty"` + + // The CRN for this network ACL. + CRN *string `json:"crn,omitempty"` + + // The URL for this network ACL. + Href *string `json:"href,omitempty"` +} + +func (*NetworkACLIdentity) isaNetworkACLIdentity() bool { + return true +} + +type NetworkACLIdentityIntf interface { + isaNetworkACLIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalNetworkACLIdentity unmarshals an instance of NetworkACLIdentity from the specified map of raw messages. +func UnmarshalNetworkACLIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the NetworkACLIdentity +func (networkACLIdentity *NetworkACLIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLIdentity.ID) { + _patch["id"] = networkACLIdentity.ID + } + if !core.IsNil(networkACLIdentity.CRN) { + _patch["crn"] = networkACLIdentity.CRN + } + if !core.IsNil(networkACLIdentity.Href) { + _patch["href"] = networkACLIdentity.Href + } + + return +} + +// NetworkACLPatch : NetworkACLPatch struct +type NetworkACLPatch struct { + // The name for this network ACL. The name must not be used by another network ACL for the VPC. + Name *string `json:"name,omitempty"` +} + +// UnmarshalNetworkACLPatch unmarshals an instance of NetworkACLPatch from the specified map of raw messages. +func UnmarshalNetworkACLPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the NetworkACLPatch +func (networkACLPatch *NetworkACLPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLPatch.Name) { + _patch["name"] = networkACLPatch.Name + } + + return +} + +// NetworkACLPrototype : NetworkACLPrototype struct +// Models which "extend" this model: +// - NetworkACLPrototypeNetworkACLByRules +// - NetworkACLPrototypeNetworkACLBySourceNetworkACL +type NetworkACLPrototype struct { + // The name for this network ACL. The name must not be used by another network ACL for the VPC. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The VPC this network ACL will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The prototype objects for rules to create along with this network ACL. If unspecified, no rules will be created, + // resulting in no traffic being allowed. + Rules []NetworkACLRulePrototypeNetworkACLContextIntf `json:"rules,omitempty"` + + // The network ACL to copy rules from. + SourceNetworkACL NetworkACLIdentityIntf `json:"source_network_acl,omitempty"` +} + +func (*NetworkACLPrototype) isaNetworkACLPrototype() bool { + return true +} + +type NetworkACLPrototypeIntf interface { + isaNetworkACLPrototype() bool +} + +// UnmarshalNetworkACLPrototype unmarshals an instance of NetworkACLPrototype from the specified map of raw messages. +func UnmarshalNetworkACLPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalNetworkACLRulePrototypeNetworkACLContext) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_network_acl", &obj.SourceNetworkACL, UnmarshalNetworkACLIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_network_acl-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLReference : NetworkACLReference struct +type NetworkACLReference struct { + // The CRN for this network ACL. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this network ACL. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL. + ID *string `json:"id" validate:"required"` + + // The name for this network ACL. The name is unique across all network ACLs for the VPC. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalNetworkACLReference unmarshals an instance of NetworkACLReference from the specified map of raw messages. +func UnmarshalNetworkACLReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRule : NetworkACLRule struct +// Models which "extend" this model: +// - NetworkACLRuleNetworkACLRuleProtocolAll +// - NetworkACLRuleNetworkACLRuleProtocolIcmp +// - NetworkACLRuleNetworkACLRuleProtocolTcpudp +type NetworkACLRule struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule that this rule is immediately before. If absent, this is the last rule. + Before *NetworkACLRuleReference `json:"before,omitempty"` + + // The date and time that the rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` + + // The network protocol. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Protocol *string `json:"protocol" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The ICMP traffic code to match. + // + // If absent, all codes are matched. + Code *int64 `json:"code,omitempty"` + + // The ICMP traffic type to match. + // + // If absent, all types are matched. + Type *int64 `json:"type,omitempty"` + + // The inclusive upper bound of the TCP or UDP destination port range. + DestinationPortMax *int64 `json:"destination_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + DestinationPortMin *int64 `json:"destination_port_min,omitempty"` + + // The inclusive upper bound of the TCP or UDP source port range. + SourcePortMax *int64 `json:"source_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP source port range. + SourcePortMin *int64 `json:"source_port_min,omitempty"` +} + +// Constants associated with the NetworkACLRule.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRuleActionAllowConst = "allow" + NetworkACLRuleActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRule.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRuleDirectionInboundConst = "inbound" + NetworkACLRuleDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRule.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRuleIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRule.Protocol property. +// The network protocol. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + NetworkACLRuleProtocolAllConst = "all" + NetworkACLRuleProtocolIcmpConst = "icmp" + NetworkACLRuleProtocolTCPConst = "tcp" + NetworkACLRuleProtocolUDPConst = "udp" +) + +func (*NetworkACLRule) isaNetworkACLRule() bool { + return true +} + +type NetworkACLRuleIntf interface { + isaNetworkACLRule() bool +} + +// UnmarshalNetworkACLRule unmarshals an instance of NetworkACLRule from the specified map of raw messages. +func UnmarshalNetworkACLRule(m map[string]json.RawMessage, result interface{}) (err error) { + // Retrieve discriminator value to determine correct "subclass". + var discValue string + err = core.UnmarshalPrimitive(m, "protocol", &discValue) + if err != nil { + errMsg := fmt.Sprintf("error unmarshalling discriminator property 'protocol': %s", err.Error()) + err = core.SDKErrorf(err, errMsg, "discriminator-unmarshal-error", common.GetComponentInfo()) + return + } + if discValue == "" { + err = core.SDKErrorf(err, "required discriminator property 'protocol' not found in JSON object", "missing-discriminator", common.GetComponentInfo()) + return + } + if discValue == "all" { + err = core.UnmarshalModel(m, "", result, UnmarshalNetworkACLRuleNetworkACLRuleProtocolAll) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-NetworkACLRuleNetworkACLRuleProtocolAll-error", common.GetComponentInfo()) + } + } else if discValue == "icmp" { + err = core.UnmarshalModel(m, "", result, UnmarshalNetworkACLRuleNetworkACLRuleProtocolIcmp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-NetworkACLRuleNetworkACLRuleProtocolIcmp-error", common.GetComponentInfo()) + } + } else if discValue == "tcp" { + err = core.UnmarshalModel(m, "", result, UnmarshalNetworkACLRuleNetworkACLRuleProtocolTcpudp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-NetworkACLRuleNetworkACLRuleProtocolTcpudp-error", common.GetComponentInfo()) + } + } else if discValue == "udp" { + err = core.UnmarshalModel(m, "", result, UnmarshalNetworkACLRuleNetworkACLRuleProtocolTcpudp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-NetworkACLRuleNetworkACLRuleProtocolTcpudp-error", common.GetComponentInfo()) + } + } else { + errMsg := fmt.Sprintf("unrecognized value for discriminator property 'protocol': %s", discValue) + err = core.SDKErrorf(err, errMsg, "invalid-discriminator", common.GetComponentInfo()) + } + return +} + +// NetworkACLRuleBeforePatch : The rule to move this rule immediately before. +// +// Specify `null` to move this rule after all existing rules. +// Models which "extend" this model: +// - NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID +// - NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref +type NetworkACLRuleBeforePatch struct { + // The unique identifier for this network ACL rule. + ID *string `json:"id,omitempty"` + + // The URL for this network ACL rule. + Href *string `json:"href,omitempty"` +} + +func (*NetworkACLRuleBeforePatch) isaNetworkACLRuleBeforePatch() bool { + return true +} + +type NetworkACLRuleBeforePatchIntf interface { + isaNetworkACLRuleBeforePatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalNetworkACLRuleBeforePatch unmarshals an instance of NetworkACLRuleBeforePatch from the specified map of raw messages. +func UnmarshalNetworkACLRuleBeforePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleBeforePatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the NetworkACLRuleBeforePatch +func (networkACLRuleBeforePatch *NetworkACLRuleBeforePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLRuleBeforePatch.ID) { + _patch["id"] = networkACLRuleBeforePatch.ID + } + if !core.IsNil(networkACLRuleBeforePatch.Href) { + _patch["href"] = networkACLRuleBeforePatch.Href + } + + return +} + +// NetworkACLRuleBeforePrototype : The rule to insert this rule immediately before. +// +// If unspecified, this rule will be inserted after all existing rules. +// Models which "extend" this model: +// - NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID +// - NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref +type NetworkACLRuleBeforePrototype struct { + // The unique identifier for this network ACL rule. + ID *string `json:"id,omitempty"` + + // The URL for this network ACL rule. + Href *string `json:"href,omitempty"` +} + +func (*NetworkACLRuleBeforePrototype) isaNetworkACLRuleBeforePrototype() bool { + return true +} + +type NetworkACLRuleBeforePrototypeIntf interface { + isaNetworkACLRuleBeforePrototype() bool +} + +// UnmarshalNetworkACLRuleBeforePrototype unmarshals an instance of NetworkACLRuleBeforePrototype from the specified map of raw messages. +func UnmarshalNetworkACLRuleBeforePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleBeforePrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleCollection : NetworkACLRuleCollection struct +type NetworkACLRuleCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of ordered rules (sorted based on the `before` property) for the network ACL. + Rules []NetworkACLRuleItemIntf `json:"rules" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalNetworkACLRuleCollection unmarshals an instance of NetworkACLRuleCollection from the specified map of raw messages. +func UnmarshalNetworkACLRuleCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalNetworkACLRuleItem) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *NetworkACLRuleCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// NetworkACLRuleItem : NetworkACLRuleItem struct +// Models which "extend" this model: +// - NetworkACLRuleItemNetworkACLRuleProtocolAll +// - NetworkACLRuleItemNetworkACLRuleProtocolIcmp +// - NetworkACLRuleItemNetworkACLRuleProtocolTcpudp +type NetworkACLRuleItem struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule that this rule is immediately before. In a rule collection, this always + // refers to the next item in the collection. If absent, this is the last rule. + Before *NetworkACLRuleReference `json:"before,omitempty"` + + // The date and time that the rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` + + // The network protocol. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Protocol *string `json:"protocol" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The ICMP traffic code to match. + // + // If absent, all codes are matched. + Code *int64 `json:"code,omitempty"` + + // The ICMP traffic type to match. + // + // If absent, all types are matched. + Type *int64 `json:"type,omitempty"` + + // The inclusive upper bound of the TCP or UDP destination port range. + DestinationPortMax *int64 `json:"destination_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + DestinationPortMin *int64 `json:"destination_port_min,omitempty"` + + // The inclusive upper bound of the TCP or UDP source port range. + SourcePortMax *int64 `json:"source_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP source port range. + SourcePortMin *int64 `json:"source_port_min,omitempty"` +} + +// Constants associated with the NetworkACLRuleItem.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRuleItemActionAllowConst = "allow" + NetworkACLRuleItemActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRuleItem.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRuleItemDirectionInboundConst = "inbound" + NetworkACLRuleItemDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRuleItem.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRuleItemIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRuleItem.Protocol property. +// The network protocol. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + NetworkACLRuleItemProtocolAllConst = "all" + NetworkACLRuleItemProtocolIcmpConst = "icmp" + NetworkACLRuleItemProtocolTCPConst = "tcp" + NetworkACLRuleItemProtocolUDPConst = "udp" +) + +func (*NetworkACLRuleItem) isaNetworkACLRuleItem() bool { + return true +} + +type NetworkACLRuleItemIntf interface { + isaNetworkACLRuleItem() bool +} + +// UnmarshalNetworkACLRuleItem unmarshals an instance of NetworkACLRuleItem from the specified map of raw messages. +func UnmarshalNetworkACLRuleItem(m map[string]json.RawMessage, result interface{}) (err error) { + // Retrieve discriminator value to determine correct "subclass". + var discValue string + err = core.UnmarshalPrimitive(m, "protocol", &discValue) + if err != nil { + errMsg := fmt.Sprintf("error unmarshalling discriminator property 'protocol': %s", err.Error()) + err = core.SDKErrorf(err, errMsg, "discriminator-unmarshal-error", common.GetComponentInfo()) + return + } + if discValue == "" { + err = core.SDKErrorf(err, "required discriminator property 'protocol' not found in JSON object", "missing-discriminator", common.GetComponentInfo()) + return + } + if discValue == "all" { + err = core.UnmarshalModel(m, "", result, UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolAll) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-NetworkACLRuleItemNetworkACLRuleProtocolAll-error", common.GetComponentInfo()) + } + } else if discValue == "icmp" { + err = core.UnmarshalModel(m, "", result, UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolIcmp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-NetworkACLRuleItemNetworkACLRuleProtocolIcmp-error", common.GetComponentInfo()) + } + } else if discValue == "tcp" { + err = core.UnmarshalModel(m, "", result, UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolTcpudp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-NetworkACLRuleItemNetworkACLRuleProtocolTcpudp-error", common.GetComponentInfo()) + } + } else if discValue == "udp" { + err = core.UnmarshalModel(m, "", result, UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolTcpudp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-NetworkACLRuleItemNetworkACLRuleProtocolTcpudp-error", common.GetComponentInfo()) + } + } else { + errMsg := fmt.Sprintf("unrecognized value for discriminator property 'protocol': %s", discValue) + err = core.SDKErrorf(err, errMsg, "invalid-discriminator", common.GetComponentInfo()) + } + return +} + +// NetworkACLRulePatch : NetworkACLRulePatch struct +type NetworkACLRulePatch struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action,omitempty"` + + // The rule to move this rule immediately before. + // + // Specify `null` to move this rule after all existing rules. + Before NetworkACLRuleBeforePatchIntf `json:"before,omitempty"` + + // The ICMP traffic code to match. If set, `type` must also be set. + // + // Specify `null` to remove an existing ICMP traffic code. + Code *int64 `json:"code,omitempty"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination,omitempty"` + + // The inclusive upper bound of the TCP or UDP destination port range. + // + // Must be larger than or equal to `destination_port_min`. + DestinationPortMax *int64 `json:"destination_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + // + // Must be smaller than or equal to `destination_port_max`. + DestinationPortMin *int64 `json:"destination_port_min,omitempty"` + + // The direction of traffic to match. + Direction *string `json:"direction,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. + Name *string `json:"name,omitempty"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source,omitempty"` + + // The inclusive upper bound of the TCP or UDP source port range. + // + // Must be larger than or equal to `source_port_min`. + SourcePortMax *int64 `json:"source_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP source port range. + // + // Must be smaller than or equal to `source_port_max`. + SourcePortMin *int64 `json:"source_port_min,omitempty"` + + // The ICMP traffic type to match. + // + // Specify `null` to remove an existing ICMP traffic type value. + Type *int64 `json:"type,omitempty"` +} + +// Constants associated with the NetworkACLRulePatch.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePatchActionAllowConst = "allow" + NetworkACLRulePatchActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePatch.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePatchDirectionInboundConst = "inbound" + NetworkACLRulePatchDirectionOutboundConst = "outbound" +) + +// UnmarshalNetworkACLRulePatch unmarshals an instance of NetworkACLRulePatch from the specified map of raw messages. +func UnmarshalNetworkACLRulePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePatch) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleBeforePatch) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_max", &obj.DestinationPortMax) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_min", &obj.DestinationPortMin) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_max", &obj.SourcePortMax) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_min", &obj.SourcePortMin) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the NetworkACLRulePatch +func (networkACLRulePatch *NetworkACLRulePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLRulePatch.Action) { + _patch["action"] = networkACLRulePatch.Action + } + if !core.IsNil(networkACLRulePatch.Before) { + _patch["before"] = networkACLRulePatch.Before.asPatch() + } + if !core.IsNil(networkACLRulePatch.Code) { + _patch["code"] = networkACLRulePatch.Code + } + if !core.IsNil(networkACLRulePatch.Destination) { + _patch["destination"] = networkACLRulePatch.Destination + } + if !core.IsNil(networkACLRulePatch.DestinationPortMax) { + _patch["destination_port_max"] = networkACLRulePatch.DestinationPortMax + } + if !core.IsNil(networkACLRulePatch.DestinationPortMin) { + _patch["destination_port_min"] = networkACLRulePatch.DestinationPortMin + } + if !core.IsNil(networkACLRulePatch.Direction) { + _patch["direction"] = networkACLRulePatch.Direction + } + if !core.IsNil(networkACLRulePatch.Name) { + _patch["name"] = networkACLRulePatch.Name + } + if !core.IsNil(networkACLRulePatch.Source) { + _patch["source"] = networkACLRulePatch.Source + } + if !core.IsNil(networkACLRulePatch.SourcePortMax) { + _patch["source_port_max"] = networkACLRulePatch.SourcePortMax + } + if !core.IsNil(networkACLRulePatch.SourcePortMin) { + _patch["source_port_min"] = networkACLRulePatch.SourcePortMin + } + if !core.IsNil(networkACLRulePatch.Type) { + _patch["type"] = networkACLRulePatch.Type + } + + return +} + +// NetworkACLRulePrototype : NetworkACLRulePrototype struct +// Models which "extend" this model: +// - NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype +// - NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype +// - NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype +type NetworkACLRulePrototype struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule to insert this rule immediately before. + // + // If unspecified, this rule will be inserted after all existing rules. + Before NetworkACLRuleBeforePrototypeIntf `json:"before,omitempty"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The ICMP traffic code to match. + // + // If specified, `type` must also be specified. If unspecified, all codes are matched. + Code *int64 `json:"code,omitempty"` + + // The ICMP traffic type to match. + // + // If unspecified, all types are matched. + Type *int64 `json:"type,omitempty"` + + // The inclusive upper bound of the TCP or UDP destination port range. + // + // If specified, `destination_port_min` must also be specified, and must not be larger. If unspecified, + // `destination_port_min` must also be unspecified, allowing traffic for all destination ports. + DestinationPortMax *int64 `json:"destination_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + // + // If specified, `destination_port_max` must also be specified, and must not be smaller. If unspecified, + // `destination_port_max` must also be unspecified, allowing traffic for all destination ports. + DestinationPortMin *int64 `json:"destination_port_min,omitempty"` + + // The inclusive upper bound of the TCP or UDP source port range. + // + // If specified, `source_port_min` must also be specified, and must not be larger. If unspecified, `source_port_min` + // must also be unspecified, allowing traffic for all source ports. + SourcePortMax *int64 `json:"source_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP source port range. + // + // If specified, `source_port_max` must also be specified, and must not be smaller. If unspecified, `source_port_max` + // must also be unspecified, allowing traffic for all source ports. + SourcePortMin *int64 `json:"source_port_min,omitempty"` +} + +// Constants associated with the NetworkACLRulePrototype.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePrototypeActionAllowConst = "allow" + NetworkACLRulePrototypeActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePrototype.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePrototypeDirectionInboundConst = "inbound" + NetworkACLRulePrototypeDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRulePrototype.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRulePrototypeIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRulePrototype.Protocol property. +// The network protocol. +const ( + NetworkACLRulePrototypeProtocolAllConst = "all" + NetworkACLRulePrototypeProtocolIcmpConst = "icmp" + NetworkACLRulePrototypeProtocolTCPConst = "tcp" + NetworkACLRulePrototypeProtocolUDPConst = "udp" +) + +func (*NetworkACLRulePrototype) isaNetworkACLRulePrototype() bool { + return true +} + +type NetworkACLRulePrototypeIntf interface { + isaNetworkACLRulePrototype() bool +} + +// UnmarshalNetworkACLRulePrototype unmarshals an instance of NetworkACLRulePrototype from the specified map of raw messages. +func UnmarshalNetworkACLRulePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleBeforePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_max", &obj.DestinationPortMax) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_min", &obj.DestinationPortMin) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_max", &obj.SourcePortMax) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_min", &obj.SourcePortMin) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_min-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRulePrototypeNetworkACLContext : NetworkACLRulePrototypeNetworkACLContext struct +// Models which "extend" this model: +// - NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype +// - NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype +// - NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype +type NetworkACLRulePrototypeNetworkACLContext struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The ICMP traffic code to match. + // + // If specified, `type` must also be specified. If unspecified, all codes are matched. + Code *int64 `json:"code,omitempty"` + + // The ICMP traffic type to match. + // + // If unspecified, all types are matched. + Type *int64 `json:"type,omitempty"` + + // The inclusive upper bound of the TCP or UDP destination port range. + // + // If specified, `destination_port_min` must also be specified, and must not be larger. If unspecified, + // `destination_port_min` must also be unspecified, allowing traffic for all destination ports. + DestinationPortMax *int64 `json:"destination_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + // + // If specified, `destination_port_max` must also be specified, and must not be smaller. If unspecified, + // `destination_port_max` must also be unspecified, allowing traffic for all destination ports. + DestinationPortMin *int64 `json:"destination_port_min,omitempty"` + + // The inclusive upper bound of the TCP or UDP source port range. + // + // If specified, `source_port_min` must also be specified, and must not be larger. If unspecified, `source_port_min` + // must also be unspecified, allowing traffic for all source ports. + SourcePortMax *int64 `json:"source_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP source port range. + // + // If specified, `source_port_max` must also be specified, and must not be smaller. If unspecified, `source_port_max` + // must also be unspecified, allowing traffic for all source ports. + SourcePortMin *int64 `json:"source_port_min,omitempty"` +} + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContext.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePrototypeNetworkACLContextActionAllowConst = "allow" + NetworkACLRulePrototypeNetworkACLContextActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContext.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePrototypeNetworkACLContextDirectionInboundConst = "inbound" + NetworkACLRulePrototypeNetworkACLContextDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContext.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRulePrototypeNetworkACLContextIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContext.Protocol property. +// The network protocol. +const ( + NetworkACLRulePrototypeNetworkACLContextProtocolAllConst = "all" + NetworkACLRulePrototypeNetworkACLContextProtocolIcmpConst = "icmp" + NetworkACLRulePrototypeNetworkACLContextProtocolTCPConst = "tcp" + NetworkACLRulePrototypeNetworkACLContextProtocolUDPConst = "udp" +) + +func (*NetworkACLRulePrototypeNetworkACLContext) isaNetworkACLRulePrototypeNetworkACLContext() bool { + return true +} + +type NetworkACLRulePrototypeNetworkACLContextIntf interface { + isaNetworkACLRulePrototypeNetworkACLContext() bool +} + +// UnmarshalNetworkACLRulePrototypeNetworkACLContext unmarshals an instance of NetworkACLRulePrototypeNetworkACLContext from the specified map of raw messages. +func UnmarshalNetworkACLRulePrototypeNetworkACLContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePrototypeNetworkACLContext) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_max", &obj.DestinationPortMax) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_min", &obj.DestinationPortMin) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_max", &obj.SourcePortMax) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_min", &obj.SourcePortMin) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_min-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleReference : NetworkACLRuleReference struct +type NetworkACLRuleReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalNetworkACLRuleReference unmarshals an instance of NetworkACLRuleReference from the specified map of raw messages. +func UnmarshalNetworkACLRuleReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterface : NetworkInterface struct +type NetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing" validate:"required"` + + // The date and time that the instance network interface was created. + // + // If this instance has network attachments, this network interface was created as a [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) when its corresponding + // network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The floating IPs associated with this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the floating IPs are associated + // with the attached virtual network interface. + FloatingIps []FloatingIPReference `json:"floating_ips" validate:"required"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the name matches its corresponding + // network attachment. + Name *string `json:"name" validate:"required"` + + // The instance network interface port speed in Mbps. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the port speed is that of its + // corresponding network attachment. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of this instance network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The security groups targeting this instance network interface. + // + // If this instance has network attachments, this network interface is a [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its corresponding network + // attachment and its attached virtual network interface, and the security groups are associated with the attached + // virtual network interface. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // The status of the instance network interface. + // + // If this instance has network attachments, this network interface is a read-only representation of its corresponding + // network attachment and its attached virtual network interface, and the status is [computed from + // them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). + Status *string `json:"status" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The instance network interface type. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the type is that of its + // corresponding network attachment. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the NetworkInterface.ResourceType property. +// The resource type. +const ( + NetworkInterfaceResourceTypeNetworkInterfaceConst = "network_interface" +) + +// Constants associated with the NetworkInterface.Status property. +// The status of the instance network interface. +// +// If this instance has network attachments, this network interface is a read-only representation of its corresponding +// network attachment and its attached virtual network interface, and the status is [computed from +// them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). +const ( + NetworkInterfaceStatusAvailableConst = "available" + NetworkInterfaceStatusDeletingConst = "deleting" + NetworkInterfaceStatusFailedConst = "failed" + NetworkInterfaceStatusPendingConst = "pending" +) + +// Constants associated with the NetworkInterface.Type property. +// The instance network interface type. +// +// If this instance has network attachments, this network interface is a +// [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its +// corresponding network attachment and its attached virtual network interface, and the type is that of its +// corresponding network attachment. +const ( + NetworkInterfaceTypePrimaryConst = "primary" + NetworkInterfaceTypeSecondaryConst = "secondary" +) + +// UnmarshalNetworkInterface unmarshals an instance of NetworkInterface from the specified map of raw messages. +func UnmarshalNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterface) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "floating_ips", &obj.FloatingIps, UnmarshalFloatingIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "floating_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_speed", &obj.PortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterfaceBareMetalServerContextReference : NetworkInterfaceBareMetalServerContextReference struct +type NetworkInterfaceBareMetalServerContextReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this bare metal server network interface. + Name *string `json:"name" validate:"required"` + + // The primary IP address of this bare metal server network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` +} + +// Constants associated with the NetworkInterfaceBareMetalServerContextReference.ResourceType property. +// The resource type. +const ( + NetworkInterfaceBareMetalServerContextReferenceResourceTypeNetworkInterfaceConst = "network_interface" +) + +// UnmarshalNetworkInterfaceBareMetalServerContextReference unmarshals an instance of NetworkInterfaceBareMetalServerContextReference from the specified map of raw messages. +func UnmarshalNetworkInterfaceBareMetalServerContextReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfaceBareMetalServerContextReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterfaceIPPrototype : NetworkInterfaceIPPrototype struct +// Models which "extend" this model: +// - NetworkInterfaceIPPrototypeReservedIPIdentity +// - NetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext +type NetworkInterfaceIPPrototype struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` + + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` +} + +func (*NetworkInterfaceIPPrototype) isaNetworkInterfaceIPPrototype() bool { + return true +} + +type NetworkInterfaceIPPrototypeIntf interface { + isaNetworkInterfaceIPPrototype() bool +} + +// UnmarshalNetworkInterfaceIPPrototype unmarshals an instance of NetworkInterfaceIPPrototype from the specified map of raw messages. +func UnmarshalNetworkInterfaceIPPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfaceIPPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterfaceInstanceContextReference : NetworkInterfaceInstanceContextReference struct +type NetworkInterfaceInstanceContextReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network interface. + Name *string `json:"name" validate:"required"` + + // The primary IP address of this instance network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` +} + +// Constants associated with the NetworkInterfaceInstanceContextReference.ResourceType property. +// The resource type. +const ( + NetworkInterfaceInstanceContextReferenceResourceTypeNetworkInterfaceConst = "network_interface" +) + +// UnmarshalNetworkInterfaceInstanceContextReference unmarshals an instance of NetworkInterfaceInstanceContextReference from the specified map of raw messages. +func UnmarshalNetworkInterfaceInstanceContextReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfaceInstanceContextReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterfacePatch : NetworkInterfacePatch struct +type NetworkInterfacePatch struct { + // Indicates whether source IP spoofing is allowed on this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // The name for the instance network interface. The name must not be used by another network interface on the virtual + // server instance. + Name *string `json:"name,omitempty"` +} + +// UnmarshalNetworkInterfacePatch unmarshals an instance of NetworkInterfacePatch from the specified map of raw messages. +func UnmarshalNetworkInterfacePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfacePatch) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the NetworkInterfacePatch +func (networkInterfacePatch *NetworkInterfacePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(networkInterfacePatch.AllowIPSpoofing) { + _patch["allow_ip_spoofing"] = networkInterfacePatch.AllowIPSpoofing + } + if !core.IsNil(networkInterfacePatch.Name) { + _patch["name"] = networkInterfacePatch.Name + } + + return +} + +// NetworkInterfacePrototype : NetworkInterfacePrototype struct +type NetworkInterfacePrototype struct { + // Indicates whether source IP spoofing is allowed on this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // The name for the instance network interface. The name must not be used by another network interface on the virtual + // server instance. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the instance network interface. This can be + // specified using an existing reserved IP, or a prototype object for a new reserved + // IP. + // + // If an existing reserved IP or a prototype object with an address is specified, it + // must be available on the instance network interface's subnet. Otherwise, an + // available address on the subnet will be automatically selected and reserved. + PrimaryIP NetworkInterfaceIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The security groups to use for this instance network interface. If unspecified, the VPC's default security group is + // used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` +} + +// NewNetworkInterfacePrototype : Instantiate NetworkInterfacePrototype (Generic Model Constructor) +func (*VpcV1) NewNetworkInterfacePrototype(subnet SubnetIdentityIntf) (_model *NetworkInterfacePrototype, err error) { + _model = &NetworkInterfacePrototype{ + Subnet: subnet, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalNetworkInterfacePrototype unmarshals an instance of NetworkInterfacePrototype from the specified map of raw messages. +func UnmarshalNetworkInterfacePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfacePrototype) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterfaceUnpaginatedCollection : NetworkInterfaceUnpaginatedCollection struct +type NetworkInterfaceUnpaginatedCollection struct { + // The network interfaces for the instance. + NetworkInterfaces []NetworkInterface `json:"network_interfaces" validate:"required"` +} + +// UnmarshalNetworkInterfaceUnpaginatedCollection unmarshals an instance of NetworkInterfaceUnpaginatedCollection from the specified map of raw messages. +func UnmarshalNetworkInterfaceUnpaginatedCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfaceUnpaginatedCollection) + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ObsoleteImageOptions : The ObsoleteImage options. +type ObsoleteImageOptions struct { + // The image identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewObsoleteImageOptions : Instantiate ObsoleteImageOptions +func (*VpcV1) NewObsoleteImageOptions(id string) *ObsoleteImageOptions { + return &ObsoleteImageOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *ObsoleteImageOptions) SetID(id string) *ObsoleteImageOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ObsoleteImageOptions) SetHeaders(param map[string]string) *ObsoleteImageOptions { + options.Headers = param + return options +} + +// OperatingSystem : OperatingSystem struct +type OperatingSystem struct { + // Indicates that users may create new images with this operating system. + AllowUserImageCreation *bool `json:"allow_user_image_creation" validate:"required"` + + // The operating system architecture. + Architecture *string `json:"architecture" validate:"required"` + + // Indicates that images with this operating system can only be used on dedicated hosts and dedicated host groups. + DedicatedHostOnly *bool `json:"dedicated_host_only" validate:"required"` + + // A unique, display-friendly name for the operating system. + DisplayName *string `json:"display_name" validate:"required"` + + // The software family for this operating system. + Family *string `json:"family" validate:"required"` + + // The URL for this operating system. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this operating system. + Name *string `json:"name" validate:"required"` + + // The user data format for this operating system: + // - `cloud_init`: `user_data` will be interpreted according to the cloud-init standard + // - `esxi_kickstart`: `user_data` will be interpreted as a VMware ESXi installation script + // - `ipxe`: `user_data` will be interpreted as a single URL to an iPXE script or as the + // text of an iPXE script. + UserDataFormat *string `json:"user_data_format" validate:"required"` + + // The vendor of the operating system. + Vendor *string `json:"vendor" validate:"required"` + + // The major release version of this operating system. + Version *string `json:"version" validate:"required"` +} + +// Constants associated with the OperatingSystem.UserDataFormat property. +// The user data format for this operating system: +// - `cloud_init`: `user_data` will be interpreted according to the cloud-init standard +// - `esxi_kickstart`: `user_data` will be interpreted as a VMware ESXi installation script +// - `ipxe`: `user_data` will be interpreted as a single URL to an iPXE script or as the +// text of an iPXE script. +const ( + OperatingSystemUserDataFormatCloudInitConst = "cloud_init" + OperatingSystemUserDataFormatEsxiKickstartConst = "esxi_kickstart" + OperatingSystemUserDataFormatIpxeConst = "ipxe" +) + +// UnmarshalOperatingSystem unmarshals an instance of OperatingSystem from the specified map of raw messages. +func UnmarshalOperatingSystem(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OperatingSystem) + err = core.UnmarshalPrimitive(m, "allow_user_image_creation", &obj.AllowUserImageCreation) + if err != nil { + err = core.SDKErrorf(err, "", "allow_user_image_creation-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "architecture", &obj.Architecture) + if err != nil { + err = core.SDKErrorf(err, "", "architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "dedicated_host_only", &obj.DedicatedHostOnly) + if err != nil { + err = core.SDKErrorf(err, "", "dedicated_host_only-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "display_name", &obj.DisplayName) + if err != nil { + err = core.SDKErrorf(err, "", "display_name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data_format", &obj.UserDataFormat) + if err != nil { + err = core.SDKErrorf(err, "", "user_data_format-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "vendor", &obj.Vendor) + if err != nil { + err = core.SDKErrorf(err, "", "vendor-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "version", &obj.Version) + if err != nil { + err = core.SDKErrorf(err, "", "version-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// OperatingSystemCollection : OperatingSystemCollection struct +type OperatingSystemCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of operating systems. + OperatingSystems []OperatingSystem `json:"operating_systems" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalOperatingSystemCollection unmarshals an instance of OperatingSystemCollection from the specified map of raw messages. +func UnmarshalOperatingSystemCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OperatingSystemCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "operating_systems", &obj.OperatingSystems, UnmarshalOperatingSystem) + if err != nil { + err = core.SDKErrorf(err, "", "operating_systems-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *OperatingSystemCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// OperatingSystemIdentity : Identifies an operating system by a unique property. +// Models which "extend" this model: +// - OperatingSystemIdentityByName +// - OperatingSystemIdentityByHref +type OperatingSystemIdentity struct { + // The globally unique name for this operating system. + Name *string `json:"name,omitempty"` + + // The URL for this operating system. + Href *string `json:"href,omitempty"` +} + +func (*OperatingSystemIdentity) isaOperatingSystemIdentity() bool { + return true +} + +type OperatingSystemIdentityIntf interface { + isaOperatingSystemIdentity() bool +} + +// UnmarshalOperatingSystemIdentity unmarshals an instance of OperatingSystemIdentity from the specified map of raw messages. +func UnmarshalOperatingSystemIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OperatingSystemIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PageLink : PageLink struct +type PageLink struct { + // The URL for a page of resources. + Href *string `json:"href" validate:"required"` +} + +// UnmarshalPageLink unmarshals an instance of PageLink from the specified map of raw messages. +func UnmarshalPageLink(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PageLink) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions : The PermitPrivatePathServiceGatewayEndpointGatewayBinding options. +type PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // The endpoint gateway binding identifier. + ID *string `json:"id" validate:"required,ne="` + + // Indicates whether this will become the access policy for any `pending` and future endpoint gateway bindings from the + // same account. + // + // If set to `true`: + // + // - If the account has an existing access policy, that policy will be updated to + // `permit`. Otherwise, a new `permit` access policy will be created for the account. + // - All `pending` endpoint gateway bindings for the account will be permitted. + // + // If set to `false`: + // + // - No access policies will be created or updated + // - All `pending` endpoint gateway bindings for the account will remain `pending`. + SetAccountPolicy *bool `json:"set_account_policy,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewPermitPrivatePathServiceGatewayEndpointGatewayBindingOptions : Instantiate PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions +func (*VpcV1) NewPermitPrivatePathServiceGatewayEndpointGatewayBindingOptions(privatePathServiceGatewayID string, id string) *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions { + return &PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + ID: core.StringPtr(id), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetID(id string) *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetSetAccountPolicy : Allow user to set SetAccountPolicy +func (_options *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetSetAccountPolicy(setAccountPolicy bool) *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions { + _options.SetAccountPolicy = core.BoolPtr(setAccountPolicy) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions) SetHeaders(param map[string]string) *PermitPrivatePathServiceGatewayEndpointGatewayBindingOptions { + options.Headers = param + return options +} + +// PlacementGroup : PlacementGroup struct +type PlacementGroup struct { + // The date and time that the placement group was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this placement group. + CRN *string `json:"crn" validate:"required"` + + // The URL for this placement group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this placement group. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the placement group. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this placement group. The name is unique across all placement groups in the region. + Name *string `json:"name" validate:"required"` + + // The resource group for this placement group. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The strategy for this placement group: + // - `host_spread`: place on different compute hosts + // - `power_spread`: place on compute hosts that use different power sources + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Strategy *string `json:"strategy" validate:"required"` +} + +// Constants associated with the PlacementGroup.LifecycleState property. +// The lifecycle state of the placement group. +const ( + PlacementGroupLifecycleStateDeletingConst = "deleting" + PlacementGroupLifecycleStateFailedConst = "failed" + PlacementGroupLifecycleStatePendingConst = "pending" + PlacementGroupLifecycleStateStableConst = "stable" + PlacementGroupLifecycleStateSuspendedConst = "suspended" + PlacementGroupLifecycleStateUpdatingConst = "updating" + PlacementGroupLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the PlacementGroup.ResourceType property. +// The resource type. +const ( + PlacementGroupResourceTypePlacementGroupConst = "placement_group" +) + +// Constants associated with the PlacementGroup.Strategy property. +// The strategy for this placement group: +// - `host_spread`: place on different compute hosts +// - `power_spread`: place on compute hosts that use different power sources +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + PlacementGroupStrategyHostSpreadConst = "host_spread" + PlacementGroupStrategyPowerSpreadConst = "power_spread" +) + +// UnmarshalPlacementGroup unmarshals an instance of PlacementGroup from the specified map of raw messages. +func UnmarshalPlacementGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PlacementGroup) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "strategy", &obj.Strategy) + if err != nil { + err = core.SDKErrorf(err, "", "strategy-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PlacementGroupCollection : PlacementGroupCollection struct +type PlacementGroupCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of placement groups. + PlacementGroups []PlacementGroup `json:"placement_groups" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalPlacementGroupCollection unmarshals an instance of PlacementGroupCollection from the specified map of raw messages. +func UnmarshalPlacementGroupCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PlacementGroupCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_groups", &obj.PlacementGroups, UnmarshalPlacementGroup) + if err != nil { + err = core.SDKErrorf(err, "", "placement_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *PlacementGroupCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// PlacementGroupPatch : PlacementGroupPatch struct +type PlacementGroupPatch struct { + // The name for this placement group. The name must not be used by another placement group in the region. + Name *string `json:"name,omitempty"` +} + +// UnmarshalPlacementGroupPatch unmarshals an instance of PlacementGroupPatch from the specified map of raw messages. +func UnmarshalPlacementGroupPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PlacementGroupPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the PlacementGroupPatch +func (placementGroupPatch *PlacementGroupPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(placementGroupPatch.Name) { + _patch["name"] = placementGroupPatch.Name + } + + return +} + +// PrivatePathServiceGateway : PrivatePathServiceGateway struct +type PrivatePathServiceGateway struct { + // The date and time that the private path service gateway was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this private path service gateway. + CRN *string `json:"crn" validate:"required"` + + // The policy to use for bindings from accounts without an explicit account policy. + DefaultAccessPolicy *string `json:"default_access_policy" validate:"required"` + + // Indicates whether endpoint gateway bindings will be automatically deleted after + // `endpoint_gateway_binding_auto_delete_timeout` hours have passed. At present, this is always `true`, but may be + // modifiable in the future. + EndpointGatewayBindingAutoDelete *bool `json:"endpoint_gateway_binding_auto_delete" validate:"required"` + + // If `endpoint_gateway_binding_auto_delete` is `true`, the hours after which endpoint gateway bindings will be + // automatically deleted. If the value is `0`, `abandoned` endpoint gateway bindings will be deleted immediately. At + // present, this is always set to `0`. This value may be modifiable in the future. + EndpointGatewayBindingAutoDeleteTimeout *int64 `json:"endpoint_gateway_binding_auto_delete_timeout" validate:"required"` + + // The number of active endpoint gateways using this private path service gateway. + EndpointGatewayCount *int64 `json:"endpoint_gateway_count" validate:"required"` + + // The URL for this private path service gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this private path service gateway. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the private path service gateway. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The load balancer for this private path service gateway. + LoadBalancer *LoadBalancerReference `json:"load_balancer" validate:"required"` + + // The name for this private path service gateway. The name is unique across all private path service gateways in the + // VPC. + Name *string `json:"name" validate:"required"` + + // Indicates the availability of this private path service gateway + // - `true`: Any account can request access to this private path service gateway. + // - `false`: Access is restricted to the account that created this private path service gateway. + Published *bool `json:"published" validate:"required"` + + // The resource group for this private path service gateway. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The fully qualified domain names for this private path service gateway. The domains are used for endpoint gateways + // to connect to the service and are configured in the VPC for each endpoint gateway. + ServiceEndpoints []string `json:"service_endpoints" validate:"required"` + + // The VPC this private path service gateway resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // Indicates whether this private path service gateway has zonal affinity. + // - `true`: Traffic to the service from a zone the service resides in will remain in + // that zone. + // - `false`: Traffic to the service from a zone will be load balanced across all zones + // in the region the service resides in. + ZonalAffinity *bool `json:"zonal_affinity" validate:"required"` +} + +// Constants associated with the PrivatePathServiceGateway.DefaultAccessPolicy property. +// The policy to use for bindings from accounts without an explicit account policy. +const ( + PrivatePathServiceGatewayDefaultAccessPolicyDenyConst = "deny" + PrivatePathServiceGatewayDefaultAccessPolicyPermitConst = "permit" + PrivatePathServiceGatewayDefaultAccessPolicyReviewConst = "review" +) + +// Constants associated with the PrivatePathServiceGateway.LifecycleState property. +// The lifecycle state of the private path service gateway. +const ( + PrivatePathServiceGatewayLifecycleStateDeletingConst = "deleting" + PrivatePathServiceGatewayLifecycleStateFailedConst = "failed" + PrivatePathServiceGatewayLifecycleStatePendingConst = "pending" + PrivatePathServiceGatewayLifecycleStateStableConst = "stable" + PrivatePathServiceGatewayLifecycleStateSuspendedConst = "suspended" + PrivatePathServiceGatewayLifecycleStateUpdatingConst = "updating" + PrivatePathServiceGatewayLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the PrivatePathServiceGateway.ResourceType property. +// The resource type. +const ( + PrivatePathServiceGatewayResourceTypePrivatePathServiceGatewayConst = "private_path_service_gateway" +) + +// UnmarshalPrivatePathServiceGateway unmarshals an instance of PrivatePathServiceGateway from the specified map of raw messages. +func UnmarshalPrivatePathServiceGateway(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGateway) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default_access_policy", &obj.DefaultAccessPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "default_access_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "endpoint_gateway_binding_auto_delete", &obj.EndpointGatewayBindingAutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "endpoint_gateway_binding_auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "endpoint_gateway_binding_auto_delete_timeout", &obj.EndpointGatewayBindingAutoDeleteTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "endpoint_gateway_binding_auto_delete_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "endpoint_gateway_count", &obj.EndpointGatewayCount) + if err != nil { + err = core.SDKErrorf(err, "", "endpoint_gateway_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "load_balancer", &obj.LoadBalancer, UnmarshalLoadBalancerReference) + if err != nil { + err = core.SDKErrorf(err, "", "load_balancer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "published", &obj.Published) + if err != nil { + err = core.SDKErrorf(err, "", "published-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "service_endpoints", &obj.ServiceEndpoints) + if err != nil { + err = core.SDKErrorf(err, "", "service_endpoints-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "zonal_affinity", &obj.ZonalAffinity) + if err != nil { + err = core.SDKErrorf(err, "", "zonal_affinity-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PrivatePathServiceGatewayAccountPolicy : PrivatePathServiceGatewayAccountPolicy struct +type PrivatePathServiceGatewayAccountPolicy struct { + // The access policy for the account: + // - permit: access will be permitted + // - deny: access will be denied + // - review: access will be manually reviewed + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AccessPolicy *string `json:"access_policy" validate:"required"` + + // The account for this access policy. + Account *AccountReference `json:"account" validate:"required"` + + // The date and time that the account policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this account policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this account policy. + ID *string `json:"id" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the PrivatePathServiceGatewayAccountPolicy.AccessPolicy property. +// The access policy for the account: +// - permit: access will be permitted +// - deny: access will be denied +// - review: access will be manually reviewed +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + PrivatePathServiceGatewayAccountPolicyAccessPolicyDenyConst = "deny" + PrivatePathServiceGatewayAccountPolicyAccessPolicyPermitConst = "permit" + PrivatePathServiceGatewayAccountPolicyAccessPolicyReviewConst = "review" +) + +// Constants associated with the PrivatePathServiceGatewayAccountPolicy.ResourceType property. +// The resource type. +const ( + PrivatePathServiceGatewayAccountPolicyResourceTypePrivatePathServiceGatewayAccountPolicyConst = "private_path_service_gateway_account_policy" +) + +// UnmarshalPrivatePathServiceGatewayAccountPolicy unmarshals an instance of PrivatePathServiceGatewayAccountPolicy from the specified map of raw messages. +func UnmarshalPrivatePathServiceGatewayAccountPolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGatewayAccountPolicy) + err = core.UnmarshalPrimitive(m, "access_policy", &obj.AccessPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "access_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PrivatePathServiceGatewayAccountPolicyCollection : PrivatePathServiceGatewayAccountPolicyCollection struct +type PrivatePathServiceGatewayAccountPolicyCollection struct { + // A page of account policies for the private path service gateway. + AccountPolicies []PrivatePathServiceGatewayAccountPolicy `json:"account_policies" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalPrivatePathServiceGatewayAccountPolicyCollection unmarshals an instance of PrivatePathServiceGatewayAccountPolicyCollection from the specified map of raw messages. +func UnmarshalPrivatePathServiceGatewayAccountPolicyCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGatewayAccountPolicyCollection) + err = core.UnmarshalModel(m, "account_policies", &obj.AccountPolicies, UnmarshalPrivatePathServiceGatewayAccountPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "account_policies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *PrivatePathServiceGatewayAccountPolicyCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// PrivatePathServiceGatewayAccountPolicyPatch : PrivatePathServiceGatewayAccountPolicyPatch struct +type PrivatePathServiceGatewayAccountPolicyPatch struct { + // The access policy for the account. Updating the access policy only affects pending and future endpoint gateway + // bindings. + // - permit: access will be permitted + // - deny: access will be denied + // - review: access will be manually reviewed + // + // - Updating to `review` sets the status of future endpoint gateway bindings from + // this account to `pending`. + // - Updating to `permit` updates both the status of any `pending` and future endpoint + // gateway bindings from this account to `permitted`. + // - Updating to `deny` updates both the status of any `pending` and future endpoint + // gateway bindings from this account to `denied`. + AccessPolicy *string `json:"access_policy,omitempty"` +} + +// Constants associated with the PrivatePathServiceGatewayAccountPolicyPatch.AccessPolicy property. +// The access policy for the account. Updating the access policy only affects pending and future endpoint gateway +// bindings. +// - permit: access will be permitted +// - deny: access will be denied +// - review: access will be manually reviewed +// +// - Updating to `review` sets the status of future endpoint gateway bindings from +// this account to `pending`. +// - Updating to `permit` updates both the status of any `pending` and future endpoint +// gateway bindings from this account to `permitted`. +// - Updating to `deny` updates both the status of any `pending` and future endpoint +// gateway bindings from this account to `denied`. +const ( + PrivatePathServiceGatewayAccountPolicyPatchAccessPolicyDenyConst = "deny" + PrivatePathServiceGatewayAccountPolicyPatchAccessPolicyPermitConst = "permit" + PrivatePathServiceGatewayAccountPolicyPatchAccessPolicyReviewConst = "review" +) + +// UnmarshalPrivatePathServiceGatewayAccountPolicyPatch unmarshals an instance of PrivatePathServiceGatewayAccountPolicyPatch from the specified map of raw messages. +func UnmarshalPrivatePathServiceGatewayAccountPolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGatewayAccountPolicyPatch) + err = core.UnmarshalPrimitive(m, "access_policy", &obj.AccessPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "access_policy-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the PrivatePathServiceGatewayAccountPolicyPatch +func (privatePathServiceGatewayAccountPolicyPatch *PrivatePathServiceGatewayAccountPolicyPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(privatePathServiceGatewayAccountPolicyPatch.AccessPolicy) { + _patch["access_policy"] = privatePathServiceGatewayAccountPolicyPatch.AccessPolicy + } + + return +} + +// PrivatePathServiceGatewayCollection : PrivatePathServiceGatewayCollection struct +type PrivatePathServiceGatewayCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of private path service gateways. + PrivatePathServiceGateways []PrivatePathServiceGateway `json:"private_path_service_gateways" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalPrivatePathServiceGatewayCollection unmarshals an instance of PrivatePathServiceGatewayCollection from the specified map of raw messages. +func UnmarshalPrivatePathServiceGatewayCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGatewayCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "private_path_service_gateways", &obj.PrivatePathServiceGateways, UnmarshalPrivatePathServiceGateway) + if err != nil { + err = core.SDKErrorf(err, "", "private_path_service_gateways-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *PrivatePathServiceGatewayCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// PrivatePathServiceGatewayEndpointGatewayBinding : PrivatePathServiceGatewayEndpointGatewayBinding struct +type PrivatePathServiceGatewayEndpointGatewayBinding struct { + // The account that created the endpoint gateway. + Account *AccountReference `json:"account" validate:"required"` + + // The date and time that the endpoint gateway binding was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The expiration date and time for the endpoint gateway binding. At binding creation, this property will be set to 14 + // days after the creation time, and will remain while the `status` of the binding is `pending`. If the date and time + // are reached while the binding is still `pending`, the binding will transition to `expired`. + // + // This property will be present if the `status` is `pending` or `expired`. + ExpirationAt *strfmt.DateTime `json:"expiration_at,omitempty"` + + // The URL for this endpoint gateway binding. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this endpoint gateway binding. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the endpoint gateway binding. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of the endpoint gateway binding: + // - `abandoned`: endpoint gateway binding is inactive, awaiting deletion. + // - `denied`: endpoint gateway binding was denied + // - `expired`: endpoint gateway binding has expired + // - `pending`: endpoint gateway binding is awaiting review + // - `permitted`: endpoint gateway binding was permitted + // + // An endpoint gateway binding will be automatically deleted when its associated endpoint gateway is deleted. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` +} + +// Constants associated with the PrivatePathServiceGatewayEndpointGatewayBinding.LifecycleState property. +// The lifecycle state of the endpoint gateway binding. +const ( + PrivatePathServiceGatewayEndpointGatewayBindingLifecycleStateDeletingConst = "deleting" + PrivatePathServiceGatewayEndpointGatewayBindingLifecycleStateFailedConst = "failed" + PrivatePathServiceGatewayEndpointGatewayBindingLifecycleStatePendingConst = "pending" + PrivatePathServiceGatewayEndpointGatewayBindingLifecycleStateStableConst = "stable" + PrivatePathServiceGatewayEndpointGatewayBindingLifecycleStateSuspendedConst = "suspended" + PrivatePathServiceGatewayEndpointGatewayBindingLifecycleStateUpdatingConst = "updating" + PrivatePathServiceGatewayEndpointGatewayBindingLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the PrivatePathServiceGatewayEndpointGatewayBinding.ResourceType property. +// The resource type. +const ( + PrivatePathServiceGatewayEndpointGatewayBindingResourceTypePrivatePathServiceGatewayEndpointGatewayBindingConst = "private_path_service_gateway_endpoint_gateway_binding" +) + +// Constants associated with the PrivatePathServiceGatewayEndpointGatewayBinding.Status property. +// The status of the endpoint gateway binding: +// - `abandoned`: endpoint gateway binding is inactive, awaiting deletion. +// - `denied`: endpoint gateway binding was denied +// - `expired`: endpoint gateway binding has expired +// - `pending`: endpoint gateway binding is awaiting review +// - `permitted`: endpoint gateway binding was permitted +// +// An endpoint gateway binding will be automatically deleted when its associated endpoint gateway is deleted. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + PrivatePathServiceGatewayEndpointGatewayBindingStatusAbandonedConst = "abandoned" + PrivatePathServiceGatewayEndpointGatewayBindingStatusDeniedConst = "denied" + PrivatePathServiceGatewayEndpointGatewayBindingStatusExpiredConst = "expired" + PrivatePathServiceGatewayEndpointGatewayBindingStatusPendingConst = "pending" + PrivatePathServiceGatewayEndpointGatewayBindingStatusPermittedConst = "permitted" +) + +// UnmarshalPrivatePathServiceGatewayEndpointGatewayBinding unmarshals an instance of PrivatePathServiceGatewayEndpointGatewayBinding from the specified map of raw messages. +func UnmarshalPrivatePathServiceGatewayEndpointGatewayBinding(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGatewayEndpointGatewayBinding) + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "expiration_at", &obj.ExpirationAt) + if err != nil { + err = core.SDKErrorf(err, "", "expiration_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PrivatePathServiceGatewayEndpointGatewayBindingCollection : PrivatePathServiceGatewayEndpointGatewayBindingCollection struct +type PrivatePathServiceGatewayEndpointGatewayBindingCollection struct { + // A page of endpoint gateway bindings for the private path service gateway. + EndpointGatewayBindings []PrivatePathServiceGatewayEndpointGatewayBinding `json:"endpoint_gateway_bindings" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalPrivatePathServiceGatewayEndpointGatewayBindingCollection unmarshals an instance of PrivatePathServiceGatewayEndpointGatewayBindingCollection from the specified map of raw messages. +func UnmarshalPrivatePathServiceGatewayEndpointGatewayBindingCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGatewayEndpointGatewayBindingCollection) + err = core.UnmarshalModel(m, "endpoint_gateway_bindings", &obj.EndpointGatewayBindings, UnmarshalPrivatePathServiceGatewayEndpointGatewayBinding) + if err != nil { + err = core.SDKErrorf(err, "", "endpoint_gateway_bindings-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *PrivatePathServiceGatewayEndpointGatewayBindingCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// PrivatePathServiceGatewayPatch : PrivatePathServiceGatewayPatch struct +type PrivatePathServiceGatewayPatch struct { + // The policy to use for bindings from accounts without an explicit account policy. + DefaultAccessPolicy *string `json:"default_access_policy,omitempty"` + + // The load balancer for this private path service gateway. The load balancer must + // have `is_private_path` set to `true`, and must be in the same VPC as the private + // path service gateway. + LoadBalancer LoadBalancerIdentityIntf `json:"load_balancer,omitempty"` + + // The name for this private path service gateway. The name must not be used by another private path service gateway in + // the VPC. + Name *string `json:"name,omitempty"` + + // Indicates whether this private path service gateway has zonal affinity. + // + // Updating the value of `zonal_affinity` changes how traffic for existing and future endpoint gateway bindings will be + // routed: + // - `true`: Traffic to the service from a zone the service resides in will remain in + // that zone. + // - `false`: Traffic to the service from a zone will be load balanced across all zones + // in the region the service resides in. + ZonalAffinity *bool `json:"zonal_affinity,omitempty"` +} + +// Constants associated with the PrivatePathServiceGatewayPatch.DefaultAccessPolicy property. +// The policy to use for bindings from accounts without an explicit account policy. +const ( + PrivatePathServiceGatewayPatchDefaultAccessPolicyDenyConst = "deny" + PrivatePathServiceGatewayPatchDefaultAccessPolicyPermitConst = "permit" + PrivatePathServiceGatewayPatchDefaultAccessPolicyReviewConst = "review" +) + +// UnmarshalPrivatePathServiceGatewayPatch unmarshals an instance of PrivatePathServiceGatewayPatch from the specified map of raw messages. +func UnmarshalPrivatePathServiceGatewayPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGatewayPatch) + err = core.UnmarshalPrimitive(m, "default_access_policy", &obj.DefaultAccessPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "default_access_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "load_balancer", &obj.LoadBalancer, UnmarshalLoadBalancerIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "load_balancer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "zonal_affinity", &obj.ZonalAffinity) + if err != nil { + err = core.SDKErrorf(err, "", "zonal_affinity-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the PrivatePathServiceGatewayPatch +func (privatePathServiceGatewayPatch *PrivatePathServiceGatewayPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(privatePathServiceGatewayPatch.DefaultAccessPolicy) { + _patch["default_access_policy"] = privatePathServiceGatewayPatch.DefaultAccessPolicy + } + if !core.IsNil(privatePathServiceGatewayPatch.LoadBalancer) { + _patch["load_balancer"] = privatePathServiceGatewayPatch.LoadBalancer.asPatch() + } + if !core.IsNil(privatePathServiceGatewayPatch.Name) { + _patch["name"] = privatePathServiceGatewayPatch.Name + } + if !core.IsNil(privatePathServiceGatewayPatch.ZonalAffinity) { + _patch["zonal_affinity"] = privatePathServiceGatewayPatch.ZonalAffinity + } + + return +} + +// PrivatePathServiceGatewayRemote : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type PrivatePathServiceGatewayRemote struct { + // If present, this property indicates that the referenced resource is remote to this + // account, and identifies the owning account. + Account *AccountReference `json:"account,omitempty"` + + // If present, this property indicates that the referenced resource is remote to this + // region, and identifies the native region. + Region *RegionReference `json:"region,omitempty"` +} + +// UnmarshalPrivatePathServiceGatewayRemote unmarshals an instance of PrivatePathServiceGatewayRemote from the specified map of raw messages. +func UnmarshalPrivatePathServiceGatewayRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrivatePathServiceGatewayRemote) + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicAddressRange : PublicAddressRange struct +type PublicAddressRange struct { + // The public IPv4 range, expressed in CIDR format. + CIDR *string `json:"cidr" validate:"required"` + + // The date and time that the public address range was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this public address range. + CRN *string `json:"crn" validate:"required"` + + // The URL for this public address range. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this public address range. + ID *string `json:"id" validate:"required"` + + // The number of IPv4 addresses in this public address range. + Ipv4AddressCount *int64 `json:"ipv4_address_count" validate:"required"` + + // The lifecycle state of the public address range. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this public address range. The name is unique across all public address ranges in the region. + Name *string `json:"name" validate:"required"` + + // The resource group for this public address range. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The target this public address range is bound to. + // + // If absent, this pubic address range is not bound to a target. + // + // The target resources supported by this property is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. Future + // targets may omit the `vpc` property. + Target *PublicAddressRangeTarget `json:"target,omitempty"` +} + +// Constants associated with the PublicAddressRange.LifecycleState property. +// The lifecycle state of the public address range. +const ( + PublicAddressRangeLifecycleStateDeletingConst = "deleting" + PublicAddressRangeLifecycleStateFailedConst = "failed" + PublicAddressRangeLifecycleStatePendingConst = "pending" + PublicAddressRangeLifecycleStateStableConst = "stable" + PublicAddressRangeLifecycleStateSuspendedConst = "suspended" + PublicAddressRangeLifecycleStateUpdatingConst = "updating" + PublicAddressRangeLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the PublicAddressRange.ResourceType property. +// The resource type. +const ( + PublicAddressRangeResourceTypePublicAddressRangeConst = "public_address_range" +) + +// UnmarshalPublicAddressRange unmarshals an instance of PublicAddressRange from the specified map of raw messages. +func UnmarshalPublicAddressRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicAddressRange) + err = core.UnmarshalPrimitive(m, "cidr", &obj.CIDR) + if err != nil { + err = core.SDKErrorf(err, "", "cidr-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ipv4_address_count", &obj.Ipv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "ipv4_address_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalPublicAddressRangeTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicAddressRangeCollection : PublicAddressRangeCollection struct +type PublicAddressRangeCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of public address ranges. + PublicAddressRanges []PublicAddressRange `json:"public_address_ranges" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalPublicAddressRangeCollection unmarshals an instance of PublicAddressRangeCollection from the specified map of raw messages. +func UnmarshalPublicAddressRangeCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicAddressRangeCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_address_ranges", &obj.PublicAddressRanges, UnmarshalPublicAddressRange) + if err != nil { + err = core.SDKErrorf(err, "", "public_address_ranges-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *PublicAddressRangeCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// PublicAddressRangePatch : PublicAddressRangePatch struct +type PublicAddressRangePatch struct { + // The name for this public address range. The name must not be used by another public address range in the region. + Name *string `json:"name,omitempty"` + + // The target to bind this public address range to. + // + // If the public address range is not currently bound to a target, both `target.vpc` and + // `target.zone` must be specified. + // + // Specify `null` to unbind the public address range from any existing target. + Target *PublicAddressRangeTargetPatch `json:"target,omitempty"` +} + +// UnmarshalPublicAddressRangePatch unmarshals an instance of PublicAddressRangePatch from the specified map of raw messages. +func UnmarshalPublicAddressRangePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicAddressRangePatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalPublicAddressRangeTargetPatch) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the PublicAddressRangePatch +func (publicAddressRangePatch *PublicAddressRangePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(publicAddressRangePatch.Name) { + _patch["name"] = publicAddressRangePatch.Name + } + if !core.IsNil(publicAddressRangePatch.Target) { + _patch["target"] = publicAddressRangePatch.Target.asPatch() + } + + return +} + +// PublicAddressRangeReference : PublicAddressRangeReference struct +type PublicAddressRangeReference struct { + // The CRN for this public address range. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this public address range. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this public address range. + ID *string `json:"id" validate:"required"` + + // The name for this public address range. The name is unique across all public address ranges in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the PublicAddressRangeReference.ResourceType property. +// The resource type. +const ( + PublicAddressRangeReferenceResourceTypePublicAddressRangeConst = "public_address_range" +) + +// UnmarshalPublicAddressRangeReference unmarshals an instance of PublicAddressRangeReference from the specified map of raw messages. +func UnmarshalPublicAddressRangeReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicAddressRangeReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicAddressRangeTarget : The target this public address range is bound to. +// +// If absent, this pubic address range is not bound to a target. +// +// The target resources supported by this property is expected to +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. Future targets may omit the `vpc` +// property. +type PublicAddressRangeTarget struct { + // The VPC this public address range is bound to. + VPC *VPCReference `json:"vpc,omitempty"` + + // The zone this public address range resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// UnmarshalPublicAddressRangeTarget unmarshals an instance of PublicAddressRangeTarget from the specified map of raw messages. +func UnmarshalPublicAddressRangeTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicAddressRangeTarget) + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicAddressRangeTargetPatch : The target to bind this public address range to. +// +// If the public address range is not currently bound to a target, both `target.vpc` and +// `target.zone` must be specified. +// +// Specify `null` to unbind the public address range from any existing target. +type PublicAddressRangeTargetPatch struct { + // The VPC to bind this public address range to, replacing any existing VPC. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The zone this public address range will reside in, replacing any existing zone. + Zone ZoneIdentityIntf `json:"zone,omitempty"` +} + +// UnmarshalPublicAddressRangeTargetPatch unmarshals an instance of PublicAddressRangeTargetPatch from the specified map of raw messages. +func UnmarshalPublicAddressRangeTargetPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicAddressRangeTargetPatch) + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the PublicAddressRangeTargetPatch +func (publicAddressRangeTargetPatch *PublicAddressRangeTargetPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(publicAddressRangeTargetPatch.VPC) { + _patch["vpc"] = publicAddressRangeTargetPatch.VPC.asPatch() + } + if !core.IsNil(publicAddressRangeTargetPatch.Zone) { + _patch["zone"] = publicAddressRangeTargetPatch.Zone.asPatch() + } + + return +} + +// PublicAddressRangeTargetPrototype : The target to bind this public address range to. If unspecified, the public address range will not be bound to a +// target at creation. +type PublicAddressRangeTargetPrototype struct { + // The VPC to bind this public address range to. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The zone this public address range will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` +} + +// NewPublicAddressRangeTargetPrototype : Instantiate PublicAddressRangeTargetPrototype (Generic Model Constructor) +func (*VpcV1) NewPublicAddressRangeTargetPrototype(vpc VPCIdentityIntf, zone ZoneIdentityIntf) (_model *PublicAddressRangeTargetPrototype, err error) { + _model = &PublicAddressRangeTargetPrototype{ + VPC: vpc, + Zone: zone, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalPublicAddressRangeTargetPrototype unmarshals an instance of PublicAddressRangeTargetPrototype from the specified map of raw messages. +func UnmarshalPublicAddressRangeTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicAddressRangeTargetPrototype) + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGateway : PublicGateway struct +type PublicGateway struct { + // The date and time that the public gateway was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this public gateway. + CRN *string `json:"crn" validate:"required"` + + // The floating IP bound to this public gateway. + FloatingIP *PublicGatewayFloatingIP `json:"floating_ip" validate:"required"` + + // The URL for this public gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this public gateway. + ID *string `json:"id" validate:"required"` + + // The name for this public gateway. The name is unique across all public gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this public gateway. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of this public gateway. + Status *string `json:"status" validate:"required"` + + // The VPC this public gateway resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The zone this public gateway resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the PublicGateway.ResourceType property. +// The resource type. +const ( + PublicGatewayResourceTypePublicGatewayConst = "public_gateway" +) + +// Constants associated with the PublicGateway.Status property. +// The status of this public gateway. +const ( + PublicGatewayStatusAvailableConst = "available" + PublicGatewayStatusDeletingConst = "deleting" + PublicGatewayStatusFailedConst = "failed" + PublicGatewayStatusPendingConst = "pending" +) + +// UnmarshalPublicGateway unmarshals an instance of PublicGateway from the specified map of raw messages. +func UnmarshalPublicGateway(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGateway) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "floating_ip", &obj.FloatingIP, UnmarshalPublicGatewayFloatingIP) + if err != nil { + err = core.SDKErrorf(err, "", "floating_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayCollection : PublicGatewayCollection struct +type PublicGatewayCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of public gateways. + PublicGateways []PublicGateway `json:"public_gateways" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalPublicGatewayCollection unmarshals an instance of PublicGatewayCollection from the specified map of raw messages. +func UnmarshalPublicGatewayCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_gateways", &obj.PublicGateways, UnmarshalPublicGateway) + if err != nil { + err = core.SDKErrorf(err, "", "public_gateways-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *PublicGatewayCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// PublicGatewayFloatingIP : The floating IP bound to this public gateway. +type PublicGatewayFloatingIP struct { + // The globally unique IP address. + Address *string `json:"address" validate:"required"` + + // The CRN for this floating IP. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this floating IP. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this floating IP. + ID *string `json:"id" validate:"required"` + + // The name for this floating IP. The name is unique across all floating IPs in the region. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalPublicGatewayFloatingIP unmarshals an instance of PublicGatewayFloatingIP from the specified map of raw messages. +func UnmarshalPublicGatewayFloatingIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayFloatingIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayFloatingIPPrototype : PublicGatewayFloatingIPPrototype struct +// Models which "extend" this model: +// - PublicGatewayFloatingIPPrototypeFloatingIPIdentity +// - PublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext +type PublicGatewayFloatingIPPrototype struct { + // The unique identifier for this floating IP. + ID *string `json:"id,omitempty"` + + // The CRN for this floating IP. + CRN *string `json:"crn,omitempty"` + + // The URL for this floating IP. + Href *string `json:"href,omitempty"` + + // The globally unique IP address. + Address *string `json:"address,omitempty"` + + // The name for this floating IP. The name must not be used by another floating IP in the region. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` +} + +func (*PublicGatewayFloatingIPPrototype) isaPublicGatewayFloatingIPPrototype() bool { + return true +} + +type PublicGatewayFloatingIPPrototypeIntf interface { + isaPublicGatewayFloatingIPPrototype() bool +} + +// UnmarshalPublicGatewayFloatingIPPrototype unmarshals an instance of PublicGatewayFloatingIPPrototype from the specified map of raw messages. +func UnmarshalPublicGatewayFloatingIPPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayFloatingIPPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayIdentity : Identifies a public gateway by a unique property. +// Models which "extend" this model: +// - PublicGatewayIdentityPublicGatewayIdentityByID +// - PublicGatewayIdentityPublicGatewayIdentityByCRN +// - PublicGatewayIdentityPublicGatewayIdentityByHref +type PublicGatewayIdentity struct { + // The unique identifier for this public gateway. + ID *string `json:"id,omitempty"` + + // The CRN for this public gateway. + CRN *string `json:"crn,omitempty"` + + // The URL for this public gateway. + Href *string `json:"href,omitempty"` +} + +func (*PublicGatewayIdentity) isaPublicGatewayIdentity() bool { + return true +} + +type PublicGatewayIdentityIntf interface { + isaPublicGatewayIdentity() bool +} + +// UnmarshalPublicGatewayIdentity unmarshals an instance of PublicGatewayIdentity from the specified map of raw messages. +func UnmarshalPublicGatewayIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayPatch : PublicGatewayPatch struct +type PublicGatewayPatch struct { + // The name for this public gateway. The name must not be used by another public gateway in the VPC. + Name *string `json:"name,omitempty"` +} + +// UnmarshalPublicGatewayPatch unmarshals an instance of PublicGatewayPatch from the specified map of raw messages. +func UnmarshalPublicGatewayPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the PublicGatewayPatch +func (publicGatewayPatch *PublicGatewayPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(publicGatewayPatch.Name) { + _patch["name"] = publicGatewayPatch.Name + } + + return +} + +// PublicGatewayReference : PublicGatewayReference struct +type PublicGatewayReference struct { + // The CRN for this public gateway. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this public gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this public gateway. + ID *string `json:"id" validate:"required"` + + // The name for this public gateway. The name is unique across all public gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the PublicGatewayReference.ResourceType property. +// The resource type. +const ( + PublicGatewayReferenceResourceTypePublicGatewayConst = "public_gateway" +) + +// UnmarshalPublicGatewayReference unmarshals an instance of PublicGatewayReference from the specified map of raw messages. +func UnmarshalPublicGatewayReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublishPrivatePathServiceGatewayOptions : The PublishPrivatePathServiceGateway options. +type PublishPrivatePathServiceGatewayOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewPublishPrivatePathServiceGatewayOptions : Instantiate PublishPrivatePathServiceGatewayOptions +func (*VpcV1) NewPublishPrivatePathServiceGatewayOptions(privatePathServiceGatewayID string) *PublishPrivatePathServiceGatewayOptions { + return &PublishPrivatePathServiceGatewayOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *PublishPrivatePathServiceGatewayOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *PublishPrivatePathServiceGatewayOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *PublishPrivatePathServiceGatewayOptions) SetHeaders(param map[string]string) *PublishPrivatePathServiceGatewayOptions { + options.Headers = param + return options +} + +// Region : Region struct +type Region struct { + // The API endpoint for this region. + Endpoint *string `json:"endpoint" validate:"required"` + + // The URL for this region. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this region. + Name *string `json:"name" validate:"required"` + + // The availability status of this region. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` +} + +// Constants associated with the Region.Status property. +// The availability status of this region. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + RegionStatusAvailableConst = "available" + RegionStatusUnavailableConst = "unavailable" +) + +// UnmarshalRegion unmarshals an instance of Region from the specified map of raw messages. +func UnmarshalRegion(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Region) + err = core.UnmarshalPrimitive(m, "endpoint", &obj.Endpoint) + if err != nil { + err = core.SDKErrorf(err, "", "endpoint-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RegionCollection : RegionCollection struct +type RegionCollection struct { + // The regions for the account. + Regions []Region `json:"regions" validate:"required"` +} + +// UnmarshalRegionCollection unmarshals an instance of RegionCollection from the specified map of raw messages. +func UnmarshalRegionCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RegionCollection) + err = core.UnmarshalModel(m, "regions", &obj.Regions, UnmarshalRegion) + if err != nil { + err = core.SDKErrorf(err, "", "regions-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RegionIdentity : Identifies a region by a unique property. +// Models which "extend" this model: +// - RegionIdentityByName +// - RegionIdentityByHref +type RegionIdentity struct { + // The globally unique name for this region. + Name *string `json:"name,omitempty"` + + // The URL for this region. + Href *string `json:"href,omitempty"` +} + +func (*RegionIdentity) isaRegionIdentity() bool { + return true +} + +type RegionIdentityIntf interface { + isaRegionIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalRegionIdentity unmarshals an instance of RegionIdentity from the specified map of raw messages. +func UnmarshalRegionIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RegionIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RegionIdentity +func (regionIdentity *RegionIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(regionIdentity.Name) { + _patch["name"] = regionIdentity.Name + } + if !core.IsNil(regionIdentity.Href) { + _patch["href"] = regionIdentity.Href + } + + return +} + +// RegionReference : RegionReference struct +type RegionReference struct { + // The URL for this region. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this region. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalRegionReference unmarshals an instance of RegionReference from the specified map of raw messages. +func UnmarshalRegionReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RegionReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RemoveBareMetalServerNetworkInterfaceFloatingIPOptions : The RemoveBareMetalServerNetworkInterfaceFloatingIP options. +type RemoveBareMetalServerNetworkInterfaceFloatingIPOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRemoveBareMetalServerNetworkInterfaceFloatingIPOptions : Instantiate RemoveBareMetalServerNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewRemoveBareMetalServerNetworkInterfaceFloatingIPOptions(bareMetalServerID string, networkInterfaceID string, id string) *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions { + return &RemoveBareMetalServerNetworkInterfaceFloatingIPOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions) SetBareMetalServerID(bareMetalServerID string) *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions) SetNetworkInterfaceID(networkInterfaceID string) *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions) SetID(id string) *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *RemoveBareMetalServerNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// RemoveEndpointGatewayIPOptions : The RemoveEndpointGatewayIP options. +type RemoveEndpointGatewayIPOptions struct { + // The endpoint gateway identifier. + EndpointGatewayID *string `json:"endpoint_gateway_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRemoveEndpointGatewayIPOptions : Instantiate RemoveEndpointGatewayIPOptions +func (*VpcV1) NewRemoveEndpointGatewayIPOptions(endpointGatewayID string, id string) *RemoveEndpointGatewayIPOptions { + return &RemoveEndpointGatewayIPOptions{ + EndpointGatewayID: core.StringPtr(endpointGatewayID), + ID: core.StringPtr(id), + } +} + +// SetEndpointGatewayID : Allow user to set EndpointGatewayID +func (_options *RemoveEndpointGatewayIPOptions) SetEndpointGatewayID(endpointGatewayID string) *RemoveEndpointGatewayIPOptions { + _options.EndpointGatewayID = core.StringPtr(endpointGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *RemoveEndpointGatewayIPOptions) SetID(id string) *RemoveEndpointGatewayIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RemoveEndpointGatewayIPOptions) SetHeaders(param map[string]string) *RemoveEndpointGatewayIPOptions { + options.Headers = param + return options +} + +// RemoveInstanceNetworkInterfaceFloatingIPOptions : The RemoveInstanceNetworkInterfaceFloatingIP options. +type RemoveInstanceNetworkInterfaceFloatingIPOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + NetworkInterfaceID *string `json:"network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRemoveInstanceNetworkInterfaceFloatingIPOptions : Instantiate RemoveInstanceNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewRemoveInstanceNetworkInterfaceFloatingIPOptions(instanceID string, networkInterfaceID string, id string) *RemoveInstanceNetworkInterfaceFloatingIPOptions { + return &RemoveInstanceNetworkInterfaceFloatingIPOptions{ + InstanceID: core.StringPtr(instanceID), + NetworkInterfaceID: core.StringPtr(networkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *RemoveInstanceNetworkInterfaceFloatingIPOptions) SetInstanceID(instanceID string) *RemoveInstanceNetworkInterfaceFloatingIPOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetNetworkInterfaceID : Allow user to set NetworkInterfaceID +func (_options *RemoveInstanceNetworkInterfaceFloatingIPOptions) SetNetworkInterfaceID(networkInterfaceID string) *RemoveInstanceNetworkInterfaceFloatingIPOptions { + _options.NetworkInterfaceID = core.StringPtr(networkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *RemoveInstanceNetworkInterfaceFloatingIPOptions) SetID(id string) *RemoveInstanceNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RemoveInstanceNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *RemoveInstanceNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// RemoveNetworkInterfaceFloatingIPOptions : The RemoveNetworkInterfaceFloatingIP options. +type RemoveNetworkInterfaceFloatingIPOptions struct { + // The virtual network interface identifier. + VirtualNetworkInterfaceID *string `json:"virtual_network_interface_id" validate:"required,ne="` + + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRemoveNetworkInterfaceFloatingIPOptions : Instantiate RemoveNetworkInterfaceFloatingIPOptions +func (*VpcV1) NewRemoveNetworkInterfaceFloatingIPOptions(virtualNetworkInterfaceID string, id string) *RemoveNetworkInterfaceFloatingIPOptions { + return &RemoveNetworkInterfaceFloatingIPOptions{ + VirtualNetworkInterfaceID: core.StringPtr(virtualNetworkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetVirtualNetworkInterfaceID : Allow user to set VirtualNetworkInterfaceID +func (_options *RemoveNetworkInterfaceFloatingIPOptions) SetVirtualNetworkInterfaceID(virtualNetworkInterfaceID string) *RemoveNetworkInterfaceFloatingIPOptions { + _options.VirtualNetworkInterfaceID = core.StringPtr(virtualNetworkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *RemoveNetworkInterfaceFloatingIPOptions) SetID(id string) *RemoveNetworkInterfaceFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RemoveNetworkInterfaceFloatingIPOptions) SetHeaders(param map[string]string) *RemoveNetworkInterfaceFloatingIPOptions { + options.Headers = param + return options +} + +// RemoveVirtualNetworkInterfaceIPOptions : The RemoveVirtualNetworkInterfaceIP options. +type RemoveVirtualNetworkInterfaceIPOptions struct { + // The virtual network interface identifier. + VirtualNetworkInterfaceID *string `json:"virtual_network_interface_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRemoveVirtualNetworkInterfaceIPOptions : Instantiate RemoveVirtualNetworkInterfaceIPOptions +func (*VpcV1) NewRemoveVirtualNetworkInterfaceIPOptions(virtualNetworkInterfaceID string, id string) *RemoveVirtualNetworkInterfaceIPOptions { + return &RemoveVirtualNetworkInterfaceIPOptions{ + VirtualNetworkInterfaceID: core.StringPtr(virtualNetworkInterfaceID), + ID: core.StringPtr(id), + } +} + +// SetVirtualNetworkInterfaceID : Allow user to set VirtualNetworkInterfaceID +func (_options *RemoveVirtualNetworkInterfaceIPOptions) SetVirtualNetworkInterfaceID(virtualNetworkInterfaceID string) *RemoveVirtualNetworkInterfaceIPOptions { + _options.VirtualNetworkInterfaceID = core.StringPtr(virtualNetworkInterfaceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *RemoveVirtualNetworkInterfaceIPOptions) SetID(id string) *RemoveVirtualNetworkInterfaceIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RemoveVirtualNetworkInterfaceIPOptions) SetHeaders(param map[string]string) *RemoveVirtualNetworkInterfaceIPOptions { + options.Headers = param + return options +} + +// RemoveVPNGatewayAdvertisedCIDROptions : The RemoveVPNGatewayAdvertisedCIDR options. +type RemoveVPNGatewayAdvertisedCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRemoveVPNGatewayAdvertisedCIDROptions : Instantiate RemoveVPNGatewayAdvertisedCIDROptions +func (*VpcV1) NewRemoveVPNGatewayAdvertisedCIDROptions(vpnGatewayID string, cidr string) *RemoveVPNGatewayAdvertisedCIDROptions { + return &RemoveVPNGatewayAdvertisedCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *RemoveVPNGatewayAdvertisedCIDROptions) SetVPNGatewayID(vpnGatewayID string) *RemoveVPNGatewayAdvertisedCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *RemoveVPNGatewayAdvertisedCIDROptions) SetCIDR(cidr string) *RemoveVPNGatewayAdvertisedCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RemoveVPNGatewayAdvertisedCIDROptions) SetHeaders(param map[string]string) *RemoveVPNGatewayAdvertisedCIDROptions { + options.Headers = param + return options +} + +// RemoveVPNGatewayConnectionsLocalCIDROptions : The RemoveVPNGatewayConnectionsLocalCIDR options. +type RemoveVPNGatewayConnectionsLocalCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRemoveVPNGatewayConnectionsLocalCIDROptions : Instantiate RemoveVPNGatewayConnectionsLocalCIDROptions +func (*VpcV1) NewRemoveVPNGatewayConnectionsLocalCIDROptions(vpnGatewayID string, id string, cidr string) *RemoveVPNGatewayConnectionsLocalCIDROptions { + return &RemoveVPNGatewayConnectionsLocalCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *RemoveVPNGatewayConnectionsLocalCIDROptions) SetVPNGatewayID(vpnGatewayID string) *RemoveVPNGatewayConnectionsLocalCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *RemoveVPNGatewayConnectionsLocalCIDROptions) SetID(id string) *RemoveVPNGatewayConnectionsLocalCIDROptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *RemoveVPNGatewayConnectionsLocalCIDROptions) SetCIDR(cidr string) *RemoveVPNGatewayConnectionsLocalCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RemoveVPNGatewayConnectionsLocalCIDROptions) SetHeaders(param map[string]string) *RemoveVPNGatewayConnectionsLocalCIDROptions { + options.Headers = param + return options +} + +// RemoveVPNGatewayConnectionsPeerCIDROptions : The RemoveVPNGatewayConnectionsPeerCIDR options. +type RemoveVPNGatewayConnectionsPeerCIDROptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The IP address range in CIDR block notation. + CIDR *string `json:"cidr" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRemoveVPNGatewayConnectionsPeerCIDROptions : Instantiate RemoveVPNGatewayConnectionsPeerCIDROptions +func (*VpcV1) NewRemoveVPNGatewayConnectionsPeerCIDROptions(vpnGatewayID string, id string, cidr string) *RemoveVPNGatewayConnectionsPeerCIDROptions { + return &RemoveVPNGatewayConnectionsPeerCIDROptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + CIDR: core.StringPtr(cidr), + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *RemoveVPNGatewayConnectionsPeerCIDROptions) SetVPNGatewayID(vpnGatewayID string) *RemoveVPNGatewayConnectionsPeerCIDROptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *RemoveVPNGatewayConnectionsPeerCIDROptions) SetID(id string) *RemoveVPNGatewayConnectionsPeerCIDROptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetCIDR : Allow user to set CIDR +func (_options *RemoveVPNGatewayConnectionsPeerCIDROptions) SetCIDR(cidr string) *RemoveVPNGatewayConnectionsPeerCIDROptions { + _options.CIDR = core.StringPtr(cidr) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RemoveVPNGatewayConnectionsPeerCIDROptions) SetHeaders(param map[string]string) *RemoveVPNGatewayConnectionsPeerCIDROptions { + options.Headers = param + return options +} + +// ReplaceBareMetalServerInitializationOptions : The ReplaceBareMetalServerInitialization options. +type ReplaceBareMetalServerInitializationOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // The image to be used when provisioning the bare metal server. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The public SSH keys to install on the bare metal server. Keys will be made available to the bare metal server as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, at least one key must be specified, and one will be selected to encrypt the administrator + // password. Keys are optional for other images, but if no keys are specified, the bare metal server will be + // inaccessible unless the specified image provides another means of access. + Keys []KeyIdentityIntf `json:"keys" validate:"required"` + + // The default trusted profile to be used when initializing the bare metal server. + // + // If unspecified, no default trusted profile will be made available. + DefaultTrustedProfile *BareMetalServerInitializationDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // The user data to be made available when initializing the bare metal server. + UserData *string `json:"user_data,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewReplaceBareMetalServerInitializationOptions : Instantiate ReplaceBareMetalServerInitializationOptions +func (*VpcV1) NewReplaceBareMetalServerInitializationOptions(id string, image ImageIdentityIntf, keys []KeyIdentityIntf) *ReplaceBareMetalServerInitializationOptions { + return &ReplaceBareMetalServerInitializationOptions{ + ID: core.StringPtr(id), + Image: image, + Keys: keys, + } +} + +// SetID : Allow user to set ID +func (_options *ReplaceBareMetalServerInitializationOptions) SetID(id string) *ReplaceBareMetalServerInitializationOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetImage : Allow user to set Image +func (_options *ReplaceBareMetalServerInitializationOptions) SetImage(image ImageIdentityIntf) *ReplaceBareMetalServerInitializationOptions { + _options.Image = image + return _options +} + +// SetKeys : Allow user to set Keys +func (_options *ReplaceBareMetalServerInitializationOptions) SetKeys(keys []KeyIdentityIntf) *ReplaceBareMetalServerInitializationOptions { + _options.Keys = keys + return _options +} + +// SetDefaultTrustedProfile : Allow user to set DefaultTrustedProfile +func (_options *ReplaceBareMetalServerInitializationOptions) SetDefaultTrustedProfile(defaultTrustedProfile *BareMetalServerInitializationDefaultTrustedProfilePrototype) *ReplaceBareMetalServerInitializationOptions { + _options.DefaultTrustedProfile = defaultTrustedProfile + return _options +} + +// SetUserData : Allow user to set UserData +func (_options *ReplaceBareMetalServerInitializationOptions) SetUserData(userData string) *ReplaceBareMetalServerInitializationOptions { + _options.UserData = core.StringPtr(userData) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ReplaceBareMetalServerInitializationOptions) SetHeaders(param map[string]string) *ReplaceBareMetalServerInitializationOptions { + options.Headers = param + return options +} + +// ReplaceLoadBalancerPoolMembersOptions : The ReplaceLoadBalancerPoolMembers options. +type ReplaceLoadBalancerPoolMembersOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + PoolID *string `json:"pool_id" validate:"required,ne="` + + // The member prototype objects for this pool. + Members []LoadBalancerPoolMemberPrototype `json:"members" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewReplaceLoadBalancerPoolMembersOptions : Instantiate ReplaceLoadBalancerPoolMembersOptions +func (*VpcV1) NewReplaceLoadBalancerPoolMembersOptions(loadBalancerID string, poolID string, members []LoadBalancerPoolMemberPrototype) *ReplaceLoadBalancerPoolMembersOptions { + return &ReplaceLoadBalancerPoolMembersOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + PoolID: core.StringPtr(poolID), + Members: members, + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *ReplaceLoadBalancerPoolMembersOptions) SetLoadBalancerID(loadBalancerID string) *ReplaceLoadBalancerPoolMembersOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetPoolID : Allow user to set PoolID +func (_options *ReplaceLoadBalancerPoolMembersOptions) SetPoolID(poolID string) *ReplaceLoadBalancerPoolMembersOptions { + _options.PoolID = core.StringPtr(poolID) + return _options +} + +// SetMembers : Allow user to set Members +func (_options *ReplaceLoadBalancerPoolMembersOptions) SetMembers(members []LoadBalancerPoolMemberPrototype) *ReplaceLoadBalancerPoolMembersOptions { + _options.Members = members + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ReplaceLoadBalancerPoolMembersOptions) SetHeaders(param map[string]string) *ReplaceLoadBalancerPoolMembersOptions { + options.Headers = param + return options +} + +// ReplaceSubnetNetworkACLOptions : The ReplaceSubnetNetworkACL options. +type ReplaceSubnetNetworkACLOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // The network ACL identity. + NetworkACLIdentity NetworkACLIdentityIntf `json:"NetworkACLIdentity" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewReplaceSubnetNetworkACLOptions : Instantiate ReplaceSubnetNetworkACLOptions +func (*VpcV1) NewReplaceSubnetNetworkACLOptions(id string, networkACLIdentity NetworkACLIdentityIntf) *ReplaceSubnetNetworkACLOptions { + return &ReplaceSubnetNetworkACLOptions{ + ID: core.StringPtr(id), + NetworkACLIdentity: networkACLIdentity, + } +} + +// SetID : Allow user to set ID +func (_options *ReplaceSubnetNetworkACLOptions) SetID(id string) *ReplaceSubnetNetworkACLOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetNetworkACLIdentity : Allow user to set NetworkACLIdentity +func (_options *ReplaceSubnetNetworkACLOptions) SetNetworkACLIdentity(networkACLIdentity NetworkACLIdentityIntf) *ReplaceSubnetNetworkACLOptions { + _options.NetworkACLIdentity = networkACLIdentity + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ReplaceSubnetNetworkACLOptions) SetHeaders(param map[string]string) *ReplaceSubnetNetworkACLOptions { + options.Headers = param + return options +} + +// ReplaceSubnetRoutingTableOptions : The ReplaceSubnetRoutingTable options. +type ReplaceSubnetRoutingTableOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // The routing table identity. + RoutingTableIdentity RoutingTableIdentityIntf `json:"RoutingTableIdentity" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewReplaceSubnetRoutingTableOptions : Instantiate ReplaceSubnetRoutingTableOptions +func (*VpcV1) NewReplaceSubnetRoutingTableOptions(id string, routingTableIdentity RoutingTableIdentityIntf) *ReplaceSubnetRoutingTableOptions { + return &ReplaceSubnetRoutingTableOptions{ + ID: core.StringPtr(id), + RoutingTableIdentity: routingTableIdentity, + } +} + +// SetID : Allow user to set ID +func (_options *ReplaceSubnetRoutingTableOptions) SetID(id string) *ReplaceSubnetRoutingTableOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetRoutingTableIdentity : Allow user to set RoutingTableIdentity +func (_options *ReplaceSubnetRoutingTableOptions) SetRoutingTableIdentity(routingTableIdentity RoutingTableIdentityIntf) *ReplaceSubnetRoutingTableOptions { + _options.RoutingTableIdentity = routingTableIdentity + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *ReplaceSubnetRoutingTableOptions) SetHeaders(param map[string]string) *ReplaceSubnetRoutingTableOptions { + options.Headers = param + return options +} + +// Reservation : Reservation struct +type Reservation struct { + // The affinity policy to use for this reservation: + // - `automatic`: The reservation will be automatically selected + // - `restricted`: The reservation must be manually requested + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AffinityPolicy *string `json:"affinity_policy" validate:"required"` + + // The capacity configuration for this reservation + // + // If absent, this reservation has no assigned capacity. + Capacity *ReservationCapacity `json:"capacity,omitempty"` + + // The committed use configuration for this reservation. + // + // If absent, this reservation has no commitment for use. + CommittedUse *ReservationCommittedUse `json:"committed_use,omitempty"` + + // The date and time that the reservation was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this reservation. + CRN *string `json:"crn" validate:"required"` + + // The URL for this reservation. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this reservation. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of this reservation. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this reservation. The name is unique across all reservations in the region. + Name *string `json:"name" validate:"required"` + + // The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or + // [bare metal server + // profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) + // for this reservation. + Profile ReservationProfileIntf `json:"profile" validate:"required"` + + // The resource group for this reservation. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of the reservation. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []ReservationStatusReason `json:"status_reasons" validate:"required"` + + // The zone for this reservation. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the Reservation.AffinityPolicy property. +// The affinity policy to use for this reservation: +// - `automatic`: The reservation will be automatically selected +// - `restricted`: The reservation must be manually requested +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ReservationAffinityPolicyAutomaticConst = "automatic" + ReservationAffinityPolicyRestrictedConst = "restricted" +) + +// Constants associated with the Reservation.LifecycleState property. +// The lifecycle state of this reservation. +const ( + ReservationLifecycleStateDeletingConst = "deleting" + ReservationLifecycleStateFailedConst = "failed" + ReservationLifecycleStatePendingConst = "pending" + ReservationLifecycleStateStableConst = "stable" + ReservationLifecycleStateSuspendedConst = "suspended" + ReservationLifecycleStateUpdatingConst = "updating" + ReservationLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the Reservation.ResourceType property. +// The resource type. +const ( + ReservationResourceTypeReservationConst = "reservation" +) + +// Constants associated with the Reservation.Status property. +// The status of the reservation. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ReservationStatusActivatingConst = "activating" + ReservationStatusActiveConst = "active" + ReservationStatusDeactivatingConst = "deactivating" + ReservationStatusExpiredConst = "expired" + ReservationStatusFailedConst = "failed" + ReservationStatusInactiveConst = "inactive" +) + +// UnmarshalReservation unmarshals an instance of Reservation from the specified map of raw messages. +func UnmarshalReservation(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Reservation) + err = core.UnmarshalPrimitive(m, "affinity_policy", &obj.AffinityPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "affinity_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "capacity", &obj.Capacity, UnmarshalReservationCapacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "committed_use", &obj.CommittedUse, UnmarshalReservationCommittedUse) + if err != nil { + err = core.SDKErrorf(err, "", "committed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalReservationProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalReservationStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationCapacity : The capacity configuration for this reservation +// +// If absent, this reservation has no assigned capacity. +type ReservationCapacity struct { + // The amount allocated to this capacity reservation. + Allocated *int64 `json:"allocated" validate:"required"` + + // The amount of this capacity reservation available for new attachments. + Available *int64 `json:"available" validate:"required"` + + // The status of the capacity reservation: + // - `allocating`: The capacity reservation is being allocated for use + // - `allocated`: The total capacity of the reservation has been allocated for use + // - `degraded`: The capacity reservation has been allocated for use, but some of the + // capacity is not available. See [capacity status + // reasons](https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-status-reasons) + // for more information. + // - `unallocated`: The capacity reservation is not allocated for use + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The total amount of this capacity reservation. + Total *int64 `json:"total" validate:"required"` + + // The amount of this capacity reservation used by existing attachments. + Used *int64 `json:"used" validate:"required"` +} + +// Constants associated with the ReservationCapacity.Status property. +// The status of the capacity reservation: +// - `allocating`: The capacity reservation is being allocated for use +// - `allocated`: The total capacity of the reservation has been allocated for use +// - `degraded`: The capacity reservation has been allocated for use, but some of the +// capacity is not available. See [capacity status +// reasons](https://cloud.ibm.com/docs/vpc?topic=vpc-reserved-capacity-status-reasons) +// for more information. +// - `unallocated`: The capacity reservation is not allocated for use +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ReservationCapacityStatusAllocatedConst = "allocated" + ReservationCapacityStatusAllocatingConst = "allocating" + ReservationCapacityStatusDegradedConst = "degraded" + ReservationCapacityStatusUnallocatedConst = "unallocated" +) + +// UnmarshalReservationCapacity unmarshals an instance of ReservationCapacity from the specified map of raw messages. +func UnmarshalReservationCapacity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationCapacity) + err = core.UnmarshalPrimitive(m, "allocated", &obj.Allocated) + if err != nil { + err = core.SDKErrorf(err, "", "allocated-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "available", &obj.Available) + if err != nil { + err = core.SDKErrorf(err, "", "available-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total", &obj.Total) + if err != nil { + err = core.SDKErrorf(err, "", "total-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "used", &obj.Used) + if err != nil { + err = core.SDKErrorf(err, "", "used-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationCapacityPatch : The capacity reservation configuration to use. +// +// The configuration can only be changed for reservations with a `status` of `inactive`. +type ReservationCapacityPatch struct { + // The total amount to use for this capacity reservation. + Total *int64 `json:"total,omitempty"` +} + +// UnmarshalReservationCapacityPatch unmarshals an instance of ReservationCapacityPatch from the specified map of raw messages. +func UnmarshalReservationCapacityPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationCapacityPatch) + err = core.UnmarshalPrimitive(m, "total", &obj.Total) + if err != nil { + err = core.SDKErrorf(err, "", "total-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ReservationCapacityPatch +func (reservationCapacityPatch *ReservationCapacityPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(reservationCapacityPatch.Total) { + _patch["total"] = reservationCapacityPatch.Total + } + + return +} + +// ReservationCapacityPrototype : The capacity reservation configuration to use. +type ReservationCapacityPrototype struct { + // The total amount to use for this capacity reservation. + Total *int64 `json:"total" validate:"required"` +} + +// NewReservationCapacityPrototype : Instantiate ReservationCapacityPrototype (Generic Model Constructor) +func (*VpcV1) NewReservationCapacityPrototype(total int64) (_model *ReservationCapacityPrototype, err error) { + _model = &ReservationCapacityPrototype{ + Total: core.Int64Ptr(total), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalReservationCapacityPrototype unmarshals an instance of ReservationCapacityPrototype from the specified map of raw messages. +func UnmarshalReservationCapacityPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationCapacityPrototype) + err = core.UnmarshalPrimitive(m, "total", &obj.Total) + if err != nil { + err = core.SDKErrorf(err, "", "total-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationCollection : ReservationCollection struct +type ReservationCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of reservations. + Reservations []Reservation `json:"reservations" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalReservationCollection unmarshals an instance of ReservationCollection from the specified map of raw messages. +func UnmarshalReservationCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservations", &obj.Reservations, UnmarshalReservation) + if err != nil { + err = core.SDKErrorf(err, "", "reservations-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ReservationCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ReservationCommittedUse : The committed use reservation configuration. +type ReservationCommittedUse struct { + // The expiration date and time for this committed use reservation. + // + // This property will be absent if the reservation has a `status` of `inactive`. + ExpirationAt *strfmt.DateTime `json:"expiration_at,omitempty"` + + // The policy to apply when the committed use term expires: + // - `release`: Release any available capacity and let the reservation expire. + // - `renew`: Renew for another term, provided the term remains listed in the + // `reservation_terms` for the profile. Otherwise, let the reservation expire. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ExpirationPolicy *string `json:"expiration_policy" validate:"required"` + + // The term for this committed use reservation: + // - `one_year`: 1 year + // - `three_year`: 3 years + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Term *string `json:"term" validate:"required"` +} + +// Constants associated with the ReservationCommittedUse.ExpirationPolicy property. +// The policy to apply when the committed use term expires: +// - `release`: Release any available capacity and let the reservation expire. +// - `renew`: Renew for another term, provided the term remains listed in the +// `reservation_terms` for the profile. Otherwise, let the reservation expire. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ReservationCommittedUseExpirationPolicyReleaseConst = "release" + ReservationCommittedUseExpirationPolicyRenewConst = "renew" +) + +// UnmarshalReservationCommittedUse unmarshals an instance of ReservationCommittedUse from the specified map of raw messages. +func UnmarshalReservationCommittedUse(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationCommittedUse) + err = core.UnmarshalPrimitive(m, "expiration_at", &obj.ExpirationAt) + if err != nil { + err = core.SDKErrorf(err, "", "expiration_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "expiration_policy", &obj.ExpirationPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "expiration_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "term", &obj.Term) + if err != nil { + err = core.SDKErrorf(err, "", "term-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationCommittedUsePatch : ReservationCommittedUsePatch struct +type ReservationCommittedUsePatch struct { + // The policy to apply when the committed use term expires: + // - `release`: Release any available capacity and let the reservation expire. + // - `renew`: Renew for another term, provided the term remains listed in the + // `reservation_terms` for the profile. Otherwise, let the reservation expire. + ExpirationPolicy *string `json:"expiration_policy,omitempty"` + + // The term for this committed use reservation: + // - `one_year`: 1 year + // - `three_year`: 3 years + // + // The specified value must be listed in the `reservation_terms` in the profile for this reservation. The term can only + // be changed for a reservation with a `status` of + // `inactive`. + Term *string `json:"term,omitempty"` +} + +// Constants associated with the ReservationCommittedUsePatch.ExpirationPolicy property. +// The policy to apply when the committed use term expires: +// - `release`: Release any available capacity and let the reservation expire. +// - `renew`: Renew for another term, provided the term remains listed in the +// `reservation_terms` for the profile. Otherwise, let the reservation expire. +const ( + ReservationCommittedUsePatchExpirationPolicyReleaseConst = "release" + ReservationCommittedUsePatchExpirationPolicyRenewConst = "renew" +) + +// UnmarshalReservationCommittedUsePatch unmarshals an instance of ReservationCommittedUsePatch from the specified map of raw messages. +func UnmarshalReservationCommittedUsePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationCommittedUsePatch) + err = core.UnmarshalPrimitive(m, "expiration_policy", &obj.ExpirationPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "expiration_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "term", &obj.Term) + if err != nil { + err = core.SDKErrorf(err, "", "term-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ReservationCommittedUsePatch +func (reservationCommittedUsePatch *ReservationCommittedUsePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(reservationCommittedUsePatch.ExpirationPolicy) { + _patch["expiration_policy"] = reservationCommittedUsePatch.ExpirationPolicy + } + if !core.IsNil(reservationCommittedUsePatch.Term) { + _patch["term"] = reservationCommittedUsePatch.Term + } + + return +} + +// ReservationCommittedUsePrototype : ReservationCommittedUsePrototype struct +type ReservationCommittedUsePrototype struct { + // The policy to apply when the committed use term expires: + // - `release`: Release any available capacity and let the reservation expire. + // - `renew`: Renew for another term, provided the term remains listed in the + // `reservation_terms` for the profile. Otherwise, let the reservation expire. + ExpirationPolicy *string `json:"expiration_policy,omitempty"` + + // The term for this committed use reservation: + // - `one_year`: 1 year + // - `three_year`: 3 years + // + // The specified value must be listed in the `reservation_terms` in the profile for this reservation. + Term *string `json:"term" validate:"required"` +} + +// Constants associated with the ReservationCommittedUsePrototype.ExpirationPolicy property. +// The policy to apply when the committed use term expires: +// - `release`: Release any available capacity and let the reservation expire. +// - `renew`: Renew for another term, provided the term remains listed in the +// `reservation_terms` for the profile. Otherwise, let the reservation expire. +const ( + ReservationCommittedUsePrototypeExpirationPolicyReleaseConst = "release" + ReservationCommittedUsePrototypeExpirationPolicyRenewConst = "renew" +) + +// NewReservationCommittedUsePrototype : Instantiate ReservationCommittedUsePrototype (Generic Model Constructor) +func (*VpcV1) NewReservationCommittedUsePrototype(term string) (_model *ReservationCommittedUsePrototype, err error) { + _model = &ReservationCommittedUsePrototype{ + Term: core.StringPtr(term), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalReservationCommittedUsePrototype unmarshals an instance of ReservationCommittedUsePrototype from the specified map of raw messages. +func UnmarshalReservationCommittedUsePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationCommittedUsePrototype) + err = core.UnmarshalPrimitive(m, "expiration_policy", &obj.ExpirationPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "expiration_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "term", &obj.Term) + if err != nil { + err = core.SDKErrorf(err, "", "term-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationIdentity : Identifies a reservation by a unique property. +// Models which "extend" this model: +// - ReservationIdentityByID +// - ReservationIdentityByCRN +// - ReservationIdentityByHref +type ReservationIdentity struct { + // The unique identifier for this reservation. + ID *string `json:"id,omitempty"` + + // The CRN for this reservation. + CRN *string `json:"crn,omitempty"` + + // The URL for this reservation. + Href *string `json:"href,omitempty"` +} + +func (*ReservationIdentity) isaReservationIdentity() bool { + return true +} + +type ReservationIdentityIntf interface { + isaReservationIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalReservationIdentity unmarshals an instance of ReservationIdentity from the specified map of raw messages. +func UnmarshalReservationIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ReservationIdentity +func (reservationIdentity *ReservationIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(reservationIdentity.ID) { + _patch["id"] = reservationIdentity.ID + } + if !core.IsNil(reservationIdentity.CRN) { + _patch["crn"] = reservationIdentity.CRN + } + if !core.IsNil(reservationIdentity.Href) { + _patch["href"] = reservationIdentity.Href + } + + return +} + +// ReservationPatch : ReservationPatch struct +type ReservationPatch struct { + // The affinity policy to use for this reservation: + // - `automatic`: The reservation will be automatically selected + // - `restricted`: The reservation must be manually requested + // + // The affinity policy can only be changed for a reservation with a `status` of `inactive`. + AffinityPolicy *string `json:"affinity_policy,omitempty"` + + // The capacity reservation configuration to use. + // + // The configuration can only be changed for reservations with a `status` of `inactive`. + Capacity *ReservationCapacityPatch `json:"capacity,omitempty"` + + // The committed use configuration to use for this reservation. + CommittedUse *ReservationCommittedUsePatch `json:"committed_use,omitempty"` + + // The name for this reservation. The name must not be used by another reservation in the region. + Name *string `json:"name,omitempty"` + + // The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or + // [bare metal server + // profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) + // to use for this reservation. + Profile *ReservationProfilePatch `json:"profile,omitempty"` +} + +// Constants associated with the ReservationPatch.AffinityPolicy property. +// The affinity policy to use for this reservation: +// - `automatic`: The reservation will be automatically selected +// - `restricted`: The reservation must be manually requested +// +// The affinity policy can only be changed for a reservation with a `status` of `inactive`. +const ( + ReservationPatchAffinityPolicyAutomaticConst = "automatic" + ReservationPatchAffinityPolicyRestrictedConst = "restricted" +) + +// UnmarshalReservationPatch unmarshals an instance of ReservationPatch from the specified map of raw messages. +func UnmarshalReservationPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationPatch) + err = core.UnmarshalPrimitive(m, "affinity_policy", &obj.AffinityPolicy) + if err != nil { + err = core.SDKErrorf(err, "", "affinity_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "capacity", &obj.Capacity, UnmarshalReservationCapacityPatch) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "committed_use", &obj.CommittedUse, UnmarshalReservationCommittedUsePatch) + if err != nil { + err = core.SDKErrorf(err, "", "committed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalReservationProfilePatch) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ReservationPatch +func (reservationPatch *ReservationPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(reservationPatch.AffinityPolicy) { + _patch["affinity_policy"] = reservationPatch.AffinityPolicy + } + if !core.IsNil(reservationPatch.Capacity) { + _patch["capacity"] = reservationPatch.Capacity.asPatch() + } + if !core.IsNil(reservationPatch.CommittedUse) { + _patch["committed_use"] = reservationPatch.CommittedUse.asPatch() + } + if !core.IsNil(reservationPatch.Name) { + _patch["name"] = reservationPatch.Name + } + if !core.IsNil(reservationPatch.Profile) { + _patch["profile"] = reservationPatch.Profile.asPatch() + } + + return +} + +// ReservationProfile : The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or +// [bare metal server profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) for this +// reservation. +// Models which "extend" this model: +// - ReservationProfileInstanceProfileReference +// - ReservationProfileBareMetalServerProfileReference +type ReservationProfile struct { + // The URL for this virtual server instance profile. + Href *string `json:"href,omitempty"` + + // The globally unique name for this virtual server instance profile. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the ReservationProfile.ResourceType property. +// The resource type. +const ( + ReservationProfileResourceTypeInstanceProfileConst = "instance_profile" +) + +func (*ReservationProfile) isaReservationProfile() bool { + return true +} + +type ReservationProfileIntf interface { + isaReservationProfile() bool +} + +// UnmarshalReservationProfile unmarshals an instance of ReservationProfile from the specified map of raw messages. +func UnmarshalReservationProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationProfile) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationProfilePatch : The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or +// [bare metal server profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) to use for this +// reservation. +type ReservationProfilePatch struct { + // The globally unique name of the profile. + Name *string `json:"name,omitempty"` + + // The resource type of the profile. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the ReservationProfilePatch.ResourceType property. +// The resource type of the profile. +const ( + ReservationProfilePatchResourceTypeBareMetalServerProfileConst = "bare_metal_server_profile" + ReservationProfilePatchResourceTypeInstanceProfileConst = "instance_profile" +) + +// UnmarshalReservationProfilePatch unmarshals an instance of ReservationProfilePatch from the specified map of raw messages. +func UnmarshalReservationProfilePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationProfilePatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ReservationProfilePatch +func (reservationProfilePatch *ReservationProfilePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(reservationProfilePatch.Name) { + _patch["name"] = reservationProfilePatch.Name + } + if !core.IsNil(reservationProfilePatch.ResourceType) { + _patch["resource_type"] = reservationProfilePatch.ResourceType + } + + return +} + +// ReservationProfilePrototype : The [instance profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) or +// [bare metal server profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) to use for this +// reservation. +type ReservationProfilePrototype struct { + // The globally unique name of the profile. + Name *string `json:"name" validate:"required"` + + // The resource type of the profile. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservationProfilePrototype.ResourceType property. +// The resource type of the profile. +const ( + ReservationProfilePrototypeResourceTypeBareMetalServerProfileConst = "bare_metal_server_profile" + ReservationProfilePrototypeResourceTypeInstanceProfileConst = "instance_profile" +) + +// NewReservationProfilePrototype : Instantiate ReservationProfilePrototype (Generic Model Constructor) +func (*VpcV1) NewReservationProfilePrototype(name string, resourceType string) (_model *ReservationProfilePrototype, err error) { + _model = &ReservationProfilePrototype{ + Name: core.StringPtr(name), + ResourceType: core.StringPtr(resourceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalReservationProfilePrototype unmarshals an instance of ReservationProfilePrototype from the specified map of raw messages. +func UnmarshalReservationProfilePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationProfilePrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationReference : ReservationReference struct +type ReservationReference struct { + // The CRN for this reservation. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this reservation. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this reservation. + ID *string `json:"id" validate:"required"` + + // The name for this reservation. The name is unique across all reservations in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservationReference.ResourceType property. +// The resource type. +const ( + ReservationReferenceResourceTypeReservationConst = "reservation" +) + +// UnmarshalReservationReference unmarshals an instance of ReservationReference from the specified map of raw messages. +func UnmarshalReservationReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationStatusReason : ReservationStatusReason struct +type ReservationStatusReason struct { + // A snake case string succinctly identifying the status reason. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ReservationStatusReason.Code property. +// A snake case string succinctly identifying the status reason. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ReservationStatusReasonCodeCannotActivateNoCapacityAvailableConst = "cannot_activate_no_capacity_available" + ReservationStatusReasonCodeCannotRenewUnsupportedProfileTermConst = "cannot_renew_unsupported_profile_term" +) + +// UnmarshalReservationStatusReason unmarshals an instance of ReservationStatusReason from the specified map of raw messages. +func UnmarshalReservationStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIP : ReservedIP struct +type ReservedIP struct { + // The IP address. + // + // If the address has not yet been selected, the value will be `0.0.0.0`. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // The date and time that the reserved IP was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this reserved IP. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this reserved IP. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the reserved IP. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `json:"name" validate:"required"` + + // The owner of the reserved IP. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Owner *string `json:"owner" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The target this reserved IP is bound to. + // + // If absent, this reserved IP is provider-owned or unbound. + // + // The resources supported by this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Target ReservedIPTargetIntf `json:"target,omitempty"` +} + +// Constants associated with the ReservedIP.LifecycleState property. +// The lifecycle state of the reserved IP. +const ( + ReservedIPLifecycleStateDeletingConst = "deleting" + ReservedIPLifecycleStateFailedConst = "failed" + ReservedIPLifecycleStatePendingConst = "pending" + ReservedIPLifecycleStateStableConst = "stable" + ReservedIPLifecycleStateSuspendedConst = "suspended" + ReservedIPLifecycleStateUpdatingConst = "updating" + ReservedIPLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the ReservedIP.Owner property. +// The owner of the reserved IP. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ReservedIPOwnerProviderConst = "provider" + ReservedIPOwnerUserConst = "user" +) + +// Constants associated with the ReservedIP.ResourceType property. +// The resource type. +const ( + ReservedIPResourceTypeSubnetReservedIPConst = "subnet_reserved_ip" +) + +// UnmarshalReservedIP unmarshals an instance of ReservedIP from the specified map of raw messages. +func UnmarshalReservedIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "owner", &obj.Owner) + if err != nil { + err = core.SDKErrorf(err, "", "owner-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalReservedIPTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPCollection : ReservedIPCollection struct +type ReservedIPCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of reserved IPs in the subnet. + ReservedIps []ReservedIP `json:"reserved_ips" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalReservedIPCollection unmarshals an instance of ReservedIPCollection from the specified map of raw messages. +func UnmarshalReservedIPCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reserved_ips", &obj.ReservedIps, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "reserved_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ReservedIPCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ReservedIPCollectionBareMetalServerNetworkInterfaceContext : ReservedIPCollectionBareMetalServerNetworkInterfaceContext struct +type ReservedIPCollectionBareMetalServerNetworkInterfaceContext struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of reserved IPs bound to the bare metal server network interface. + Ips []ReservedIP `json:"ips" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalReservedIPCollectionBareMetalServerNetworkInterfaceContext unmarshals an instance of ReservedIPCollectionBareMetalServerNetworkInterfaceContext from the specified map of raw messages. +func UnmarshalReservedIPCollectionBareMetalServerNetworkInterfaceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPCollectionBareMetalServerNetworkInterfaceContext) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPCollectionEndpointGatewayContext : ReservedIPCollectionEndpointGatewayContext struct +type ReservedIPCollectionEndpointGatewayContext struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of reserved IPs bound to the endpoint gateway. + Ips []ReservedIP `json:"ips" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalReservedIPCollectionEndpointGatewayContext unmarshals an instance of ReservedIPCollectionEndpointGatewayContext from the specified map of raw messages. +func UnmarshalReservedIPCollectionEndpointGatewayContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPCollectionEndpointGatewayContext) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ReservedIPCollectionEndpointGatewayContext) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ReservedIPCollectionInstanceNetworkInterfaceContext : ReservedIPCollectionInstanceNetworkInterfaceContext struct +type ReservedIPCollectionInstanceNetworkInterfaceContext struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of reserved IPs bound to the instance network interface. + Ips []ReservedIP `json:"ips" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalReservedIPCollectionInstanceNetworkInterfaceContext unmarshals an instance of ReservedIPCollectionInstanceNetworkInterfaceContext from the specified map of raw messages. +func UnmarshalReservedIPCollectionInstanceNetworkInterfaceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPCollectionInstanceNetworkInterfaceContext) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalReservedIP) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ReservedIPCollectionInstanceNetworkInterfaceContext) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ReservedIPCollectionVirtualNetworkInterfaceContext : ReservedIPCollectionVirtualNetworkInterfaceContext struct +type ReservedIPCollectionVirtualNetworkInterfaceContext struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of reserved IPs bound to the virtual network interface specified by the identifier in the URL. + Ips []ReservedIPReference `json:"ips" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalReservedIPCollectionVirtualNetworkInterfaceContext unmarshals an instance of ReservedIPCollectionVirtualNetworkInterfaceContext from the specified map of raw messages. +func UnmarshalReservedIPCollectionVirtualNetworkInterfaceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPCollectionVirtualNetworkInterfaceContext) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ReservedIPCollectionVirtualNetworkInterfaceContext) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ReservedIPPatch : ReservedIPPatch struct +type ReservedIPPatch struct { + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. Must be `false` if the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` +} + +// UnmarshalReservedIPPatch unmarshals an instance of ReservedIPPatch from the specified map of raw messages. +func UnmarshalReservedIPPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPPatch) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ReservedIPPatch +func (reservedIPPatch *ReservedIPPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(reservedIPPatch.AutoDelete) { + _patch["auto_delete"] = reservedIPPatch.AutoDelete + } + if !core.IsNil(reservedIPPatch.Name) { + _patch["name"] = reservedIPPatch.Name + } + + return +} + +// ReservedIPReference : ReservedIPReference struct +type ReservedIPReference struct { + // The IP address. + // + // If the address has not yet been selected, the value will be `0.0.0.0`. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this reserved IP. + ID *string `json:"id" validate:"required"` + + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPReference.ResourceType property. +// The resource type. +const ( + ReservedIPReferenceResourceTypeSubnetReservedIPConst = "subnet_reserved_ip" +) + +// UnmarshalReservedIPReference unmarshals an instance of ReservedIPReference from the specified map of raw messages. +func UnmarshalReservedIPReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPReference) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTarget : The target this reserved IP is bound to. +// +// If absent, this reserved IP is provider-owned or unbound. +// +// The resources supported by this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +// Models which "extend" this model: +// - ReservedIPTargetEndpointGatewayReference +// - ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext +// - ReservedIPTargetNetworkInterfaceReferenceTargetContext +// - ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext +// - ReservedIPTargetLoadBalancerReference +// - ReservedIPTargetVPNGatewayReference +// - ReservedIPTargetVPNServerReference +// - ReservedIPTargetGenericResourceReference +type ReservedIPTarget struct { + // The CRN for this endpoint gateway. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this endpoint gateway. + Href *string `json:"href,omitempty"` + + // The unique identifier for this endpoint gateway. + ID *string `json:"id,omitempty"` + + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the ReservedIPTarget.ResourceType property. +// The resource type. +const ( + ReservedIPTargetResourceTypeEndpointGatewayConst = "endpoint_gateway" +) + +func (*ReservedIPTarget) isaReservedIPTarget() bool { + return true +} + +type ReservedIPTargetIntf interface { + isaReservedIPTarget() bool +} + +// UnmarshalReservedIPTarget unmarshals an instance of ReservedIPTarget from the specified map of raw messages. +func UnmarshalReservedIPTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTarget) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototype : The target to bind this reserved IP to. The target must be in the same VPC. +// +// The following targets are supported: +// - An endpoint gateway not already bound to a reserved IP in the subnet's zone. +// - A virtual network interface. +// +// If unspecified, the reserved IP will be created unbound. +// Models which "extend" this model: +// - ReservedIPTargetPrototypeEndpointGatewayIdentity +// - ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity +type ReservedIPTargetPrototype struct { + // The unique identifier for this endpoint gateway. + ID *string `json:"id,omitempty"` + + // The CRN for this endpoint gateway. + CRN *string `json:"crn,omitempty"` + + // The URL for this endpoint gateway. + Href *string `json:"href,omitempty"` +} + +func (*ReservedIPTargetPrototype) isaReservedIPTargetPrototype() bool { + return true +} + +type ReservedIPTargetPrototypeIntf interface { + isaReservedIPTargetPrototype() bool +} + +// UnmarshalReservedIPTargetPrototype unmarshals an instance of ReservedIPTargetPrototype from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceFilter : Identifies one or more resources according to the specified filter property. +type ResourceFilter struct { + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// UnmarshalResourceFilter unmarshals an instance of ResourceFilter from the specified map of raw messages. +func UnmarshalResourceFilter(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceFilter) + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ResourceFilter +func (resourceFilter *ResourceFilter) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(resourceFilter.ResourceType) { + _patch["resource_type"] = resourceFilter.ResourceType + } + + return +} + +// ResourceGroupIdentity : The resource group to use. If unspecified, the account's [default resource +// group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. +// Models which "extend" this model: +// - ResourceGroupIdentityByID +type ResourceGroupIdentity struct { + // The unique identifier for this resource group. + ID *string `json:"id,omitempty"` +} + +func (*ResourceGroupIdentity) isaResourceGroupIdentity() bool { + return true +} + +type ResourceGroupIdentityIntf interface { + isaResourceGroupIdentity() bool +} + +// UnmarshalResourceGroupIdentity unmarshals an instance of ResourceGroupIdentity from the specified map of raw messages. +func UnmarshalResourceGroupIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceGroupIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceGroupReference : ResourceGroupReference struct +type ResourceGroupReference struct { + // The URL for this resource group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this resource group. + ID *string `json:"id" validate:"required"` + + // The name for this resource group. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalResourceGroupReference unmarshals an instance of ResourceGroupReference from the specified map of raw messages. +func UnmarshalResourceGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceGroupReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RestartBareMetalServerOptions : The RestartBareMetalServer options. +type RestartBareMetalServerOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRestartBareMetalServerOptions : Instantiate RestartBareMetalServerOptions +func (*VpcV1) NewRestartBareMetalServerOptions(id string) *RestartBareMetalServerOptions { + return &RestartBareMetalServerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *RestartBareMetalServerOptions) SetID(id string) *RestartBareMetalServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RestartBareMetalServerOptions) SetHeaders(param map[string]string) *RestartBareMetalServerOptions { + options.Headers = param + return options +} + +// RevokeAccountForPrivatePathServiceGatewayOptions : The RevokeAccountForPrivatePathServiceGateway options. +type RevokeAccountForPrivatePathServiceGatewayOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // The account that will be revoked access to the private path service gateway. + Account AccountIdentityIntf `json:"account" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewRevokeAccountForPrivatePathServiceGatewayOptions : Instantiate RevokeAccountForPrivatePathServiceGatewayOptions +func (*VpcV1) NewRevokeAccountForPrivatePathServiceGatewayOptions(privatePathServiceGatewayID string, account AccountIdentityIntf) *RevokeAccountForPrivatePathServiceGatewayOptions { + return &RevokeAccountForPrivatePathServiceGatewayOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + Account: account, + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *RevokeAccountForPrivatePathServiceGatewayOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *RevokeAccountForPrivatePathServiceGatewayOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetAccount : Allow user to set Account +func (_options *RevokeAccountForPrivatePathServiceGatewayOptions) SetAccount(account AccountIdentityIntf) *RevokeAccountForPrivatePathServiceGatewayOptions { + _options.Account = account + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *RevokeAccountForPrivatePathServiceGatewayOptions) SetHeaders(param map[string]string) *RevokeAccountForPrivatePathServiceGatewayOptions { + options.Headers = param + return options +} + +// Route : Route struct +type Route struct { + // The action to perform with a packet matching the route: + // - `delegate`: delegate to system-provided routes + // - `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes + // - `deliver`: deliver the packet to the specified `next_hop` + // - `drop`: drop the packet + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action *string `json:"action" validate:"required"` + + // Indicates whether this route will be advertised to the ingress sources specified by the `advertise_routes_to` + // routing table property. + Advertise *bool `json:"advertise" validate:"required"` + + // The date and time that the route was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // If present, the resource that created the route. Routes with this property present cannot + // be directly deleted. All routes with an `origin` of `service` will have this property set, + // and future `origin` values may also have this property set. + Creator RouteCreatorIntf `json:"creator,omitempty"` + + // The destination CIDR of the route. + Destination *string `json:"destination" validate:"required"` + + // The URL for this route. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this route. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the route. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this route. The name is unique across all routes in the routing table. + Name *string `json:"name" validate:"required"` + + // If `action` is `deliver`, the next hop that packets will be delivered to. For + // other `action` values, its `address` will be `0.0.0.0`. + NextHop RouteNextHopIntf `json:"next_hop" validate:"required"` + + // The origin of this route: + // - `service`: route was directly created by a service + // - `user`: route was directly created by a user + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Origin *string `json:"origin" validate:"required"` + + // The priority of this route. Smaller values have higher priority. + // + // If a routing table contains multiple routes with the same `zone` and `destination`, the route with the highest + // priority (smallest value) is selected. If two routes have the same `destination` and `priority`, traffic is + // distributed between them. + Priority *int64 `json:"priority" validate:"required"` + + // The zone the route applies to. + // + // If subnets are attached to the route's routing table, egress traffic from those + // subnets in this zone will be subject to this route. If this route's routing table + // has any of `route_direct_link_ingress`, `route_internet_ingress`, + // `route_transit_gateway_ingress` or `route_vpc_zone_ingress` set to`true`, traffic + // from those ingress sources arriving in this zone will be subject to this route. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the Route.Action property. +// The action to perform with a packet matching the route: +// - `delegate`: delegate to system-provided routes +// - `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes +// - `deliver`: deliver the packet to the specified `next_hop` +// - `drop`: drop the packet +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + RouteActionDelegateConst = "delegate" + RouteActionDelegateVPCConst = "delegate_vpc" + RouteActionDeliverConst = "deliver" + RouteActionDropConst = "drop" +) + +// Constants associated with the Route.LifecycleState property. +// The lifecycle state of the route. +const ( + RouteLifecycleStateDeletingConst = "deleting" + RouteLifecycleStateFailedConst = "failed" + RouteLifecycleStatePendingConst = "pending" + RouteLifecycleStateStableConst = "stable" + RouteLifecycleStateSuspendedConst = "suspended" + RouteLifecycleStateUpdatingConst = "updating" + RouteLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the Route.Origin property. +// The origin of this route: +// - `service`: route was directly created by a service +// - `user`: route was directly created by a user +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + RouteOriginServiceConst = "service" + RouteOriginUserConst = "user" +) + +// UnmarshalRoute unmarshals an instance of Route from the specified map of raw messages. +func UnmarshalRoute(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Route) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertise", &obj.Advertise) + if err != nil { + err = core.SDKErrorf(err, "", "advertise-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "creator", &obj.Creator, UnmarshalRouteCreator) + if err != nil { + err = core.SDKErrorf(err, "", "creator-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next_hop", &obj.NextHop, UnmarshalRouteNextHop) + if err != nil { + err = core.SDKErrorf(err, "", "next_hop-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "origin", &obj.Origin) + if err != nil { + err = core.SDKErrorf(err, "", "origin-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "priority", &obj.Priority) + if err != nil { + err = core.SDKErrorf(err, "", "priority-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteCollection : RouteCollection struct +type RouteCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of routes in the VPC routing table. + Routes []Route `json:"routes" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalRouteCollection unmarshals an instance of RouteCollection from the specified map of raw messages. +func UnmarshalRouteCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routes", &obj.Routes, UnmarshalRoute) + if err != nil { + err = core.SDKErrorf(err, "", "routes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *RouteCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// RouteCollectionVPCContext : RouteCollectionVPCContext struct +type RouteCollectionVPCContext struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of routes in the VPC default routing table. + Routes []Route `json:"routes" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalRouteCollectionVPCContext unmarshals an instance of RouteCollectionVPCContext from the specified map of raw messages. +func UnmarshalRouteCollectionVPCContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteCollectionVPCContext) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routes", &obj.Routes, UnmarshalRoute) + if err != nil { + err = core.SDKErrorf(err, "", "routes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *RouteCollectionVPCContext) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// RouteCreator : If present, the resource that created the route. Routes with this property present cannot be directly deleted. All +// routes with an `origin` of `service` will have this property set, and future `origin` values may also have this +// property set. +// Models which "extend" this model: +// - RouteCreatorVPNGatewayReference +// - RouteCreatorVPNServerReference +type RouteCreator struct { + // The CRN for this VPN gateway. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN gateway. + Href *string `json:"href,omitempty"` + + // The unique identifier for this VPN gateway. + ID *string `json:"id,omitempty"` + + // The name for this VPN gateway. The name is unique across all VPN gateways in the VPC. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the RouteCreator.ResourceType property. +// The resource type. +const ( + RouteCreatorResourceTypeVPNGatewayConst = "vpn_gateway" +) + +func (*RouteCreator) isaRouteCreator() bool { + return true +} + +type RouteCreatorIntf interface { + isaRouteCreator() bool +} + +// UnmarshalRouteCreator unmarshals an instance of RouteCreator from the specified map of raw messages. +func UnmarshalRouteCreator(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteCreator) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHop : RouteNextHop struct +// Models which "extend" this model: +// - RouteNextHopIP +// - RouteNextHopVPNGatewayConnectionReference +type RouteNextHop struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN gateway connection. + Href *string `json:"href,omitempty"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id,omitempty"` + + // The name for this VPN gateway connection. The name is unique across all connections for the VPN gateway. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the RouteNextHop.ResourceType property. +// The resource type. +const ( + RouteNextHopResourceTypeVPNGatewayConnectionConst = "vpn_gateway_connection" +) + +func (*RouteNextHop) isaRouteNextHop() bool { + return true +} + +type RouteNextHopIntf interface { + isaRouteNextHop() bool +} + +// UnmarshalRouteNextHop unmarshals an instance of RouteNextHop from the specified map of raw messages. +func UnmarshalRouteNextHop(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHop) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopPatch : If `action` is `deliver`, the next hop that packets will be delivered to (must not be +// `0.0.0.0`). For other `action` values, specify `0.0.0.0` or remove it by specifying +// `null`. +// +// At most two routes per `zone` in a table can have the same `destination` and `priority`, and only when each route has +// an `action` of `deliver` and `next_hop` is an IP address. +// Models which "extend" this model: +// - RouteNextHopPatchRouteNextHopIP +// - RouteNextHopPatchVPNGatewayConnectionIdentity +type RouteNextHopPatch struct { + // The sentinel IP address (`0.0.0.0`). + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id,omitempty"` + + // The URL for this VPN gateway connection. + Href *string `json:"href,omitempty"` +} + +func (*RouteNextHopPatch) isaRouteNextHopPatch() bool { + return true +} + +type RouteNextHopPatchIntf interface { + isaRouteNextHopPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalRouteNextHopPatch unmarshals an instance of RouteNextHopPatch from the specified map of raw messages. +func UnmarshalRouteNextHopPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPatch) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RouteNextHopPatch +func (routeNextHopPatch *RouteNextHopPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routeNextHopPatch.Address) { + _patch["address"] = routeNextHopPatch.Address + } + if !core.IsNil(routeNextHopPatch.ID) { + _patch["id"] = routeNextHopPatch.ID + } + if !core.IsNil(routeNextHopPatch.Href) { + _patch["href"] = routeNextHopPatch.Href + } + + return +} + +// RouteNextHopPrototype : If `action` is `deliver`, the next hop that packets will be delivered to (must not be +// `0.0.0.0`). For other `action` values, it must be omitted or specified as `0.0.0.0`. +// +// At most two routes per `zone` in a table can have the same `destination` and `priority`, and only when each route has +// an `action` of `deliver` and `next_hop` is an IP address. +// Models which "extend" this model: +// - RouteNextHopPrototypeRouteNextHopIP +// - RouteNextHopPrototypeVPNGatewayConnectionIdentity +type RouteNextHopPrototype struct { + // The sentinel IP address (`0.0.0.0`). + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id,omitempty"` + + // The URL for this VPN gateway connection. + Href *string `json:"href,omitempty"` +} + +func (*RouteNextHopPrototype) isaRouteNextHopPrototype() bool { + return true +} + +type RouteNextHopPrototypeIntf interface { + isaRouteNextHopPrototype() bool +} + +// UnmarshalRouteNextHopPrototype unmarshals an instance of RouteNextHopPrototype from the specified map of raw messages. +func UnmarshalRouteNextHopPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPrototype) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RoutePatch : RoutePatch struct +type RoutePatch struct { + // Indicates whether this route will be advertised to the ingress sources specified by the `advertise_routes_to` + // routing table property. + // + // Since all routes in a routing table with the same `destination` and `zone` must have the same `advertise` value, + // this property can only be changed for routes with a unique + // `destination` and `zone` in the routing table. For more information, see [Advertising + // routes](https://cloud.ibm.com/docs/vpc?topic=vpc-about-custom-routes#rt-advertising-routes). + Advertise *bool `json:"advertise,omitempty"` + + // The name for this route. The name must not be used by another route in the routing table. Names starting with `ibm-` + // are reserved for system-provided routes, and are not allowed. + Name *string `json:"name,omitempty"` + + // If `action` is `deliver`, the next hop that packets will be delivered to (must not be + // `0.0.0.0`). For other `action` values, specify `0.0.0.0` or remove it by specifying + // `null`. + // + // At most two routes per `zone` in a table can have the same `destination` and `priority`, + // and only when each route has an `action` of `deliver` and `next_hop` is an IP address. + NextHop RouteNextHopPatchIntf `json:"next_hop,omitempty"` + + // The priority of this route. Smaller values have higher priority. + // + // If a routing table contains multiple routes with the same `zone` and `destination`, the route with the highest + // priority (smallest value) is selected. If two routes have the same `destination` and `priority`, traffic is + // distributed between them. + Priority *int64 `json:"priority,omitempty"` +} + +// UnmarshalRoutePatch unmarshals an instance of RoutePatch from the specified map of raw messages. +func UnmarshalRoutePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutePatch) + err = core.UnmarshalPrimitive(m, "advertise", &obj.Advertise) + if err != nil { + err = core.SDKErrorf(err, "", "advertise-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next_hop", &obj.NextHop, UnmarshalRouteNextHopPatch) + if err != nil { + err = core.SDKErrorf(err, "", "next_hop-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "priority", &obj.Priority) + if err != nil { + err = core.SDKErrorf(err, "", "priority-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the RoutePatch +func (routePatch *RoutePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(routePatch.Advertise) { + _patch["advertise"] = routePatch.Advertise + } + if !core.IsNil(routePatch.Name) { + _patch["name"] = routePatch.Name + } + if !core.IsNil(routePatch.NextHop) { + _patch["next_hop"] = routePatch.NextHop.asPatch() + } + if !core.IsNil(routePatch.Priority) { + _patch["priority"] = routePatch.Priority + } + + return +} + +// RoutePrototype : RoutePrototype struct +type RoutePrototype struct { + // The action to perform with a packet matching the route: + // - `delegate`: delegate to system-provided routes + // - `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes + // - `deliver`: deliver the packet to the specified `next_hop` + // - `drop`: drop the packet. + Action *string `json:"action,omitempty"` + + // Indicates whether this route will be advertised to the ingress sources specified by the `advertise_routes_to` + // routing table property. + // + // All routes in a routing table with the same `destination` and `zone` must have the same + // `advertise` value. + Advertise *bool `json:"advertise,omitempty"` + + // The destination CIDR of the route. The host identifier in the CIDR must be zero. + // + // At most two routes per `zone` in a table can have the same `destination` and + // `priority`, and only if both routes have an `action` of `deliver` and the `next_hop` is an IP address. + Destination *string `json:"destination" validate:"required"` + + // The name for this route. The name must not be used by another route in the routing table. Names starting with `ibm-` + // are reserved for system-provided routes, and are not allowed. If unspecified, the name will be a hyphenated list of + // randomly-selected words. + Name *string `json:"name,omitempty"` + + // If `action` is `deliver`, the next hop that packets will be delivered to (must not be + // `0.0.0.0`). For other `action` values, it must be omitted or specified as `0.0.0.0`. + // + // At most two routes per `zone` in a table can have the same `destination` and `priority`, + // and only when each route has an `action` of `deliver` and `next_hop` is an IP address. + NextHop RouteNextHopPrototypeIntf `json:"next_hop,omitempty"` + + // The priority of this route. Smaller values have higher priority. + // + // If a routing table contains multiple routes with the same `zone` and `destination`, the route with the highest + // priority (smallest value) is selected. If two routes have the same `destination` and `priority`, traffic is + // distributed between them. + Priority *int64 `json:"priority,omitempty"` + + // The zone to apply the route to. + // + // If subnets are attached to the route's routing table, egress traffic from those + // subnets in this zone will be subject to this route. If this route's routing table + // has any of `route_direct_link_ingress`, `route_internet_ingress`, + // `route_transit_gateway_ingress` or `route_vpc_zone_ingress` set to`true`, traffic + // from those ingress sources arriving in this zone will be subject to this route. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` +} + +// Constants associated with the RoutePrototype.Action property. +// The action to perform with a packet matching the route: +// - `delegate`: delegate to system-provided routes +// - `delegate_vpc`: delegate to system-provided routes, ignoring Internet-bound routes +// - `deliver`: deliver the packet to the specified `next_hop` +// - `drop`: drop the packet. +const ( + RoutePrototypeActionDelegateConst = "delegate" + RoutePrototypeActionDelegateVPCConst = "delegate_vpc" + RoutePrototypeActionDeliverConst = "deliver" + RoutePrototypeActionDropConst = "drop" +) + +// NewRoutePrototype : Instantiate RoutePrototype (Generic Model Constructor) +func (*VpcV1) NewRoutePrototype(destination string, zone ZoneIdentityIntf) (_model *RoutePrototype, err error) { + _model = &RoutePrototype{ + Destination: core.StringPtr(destination), + Zone: zone, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalRoutePrototype unmarshals an instance of RoutePrototype from the specified map of raw messages. +func UnmarshalRoutePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutePrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertise", &obj.Advertise) + if err != nil { + err = core.SDKErrorf(err, "", "advertise-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next_hop", &obj.NextHop, UnmarshalRouteNextHopPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "next_hop-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "priority", &obj.Priority) + if err != nil { + err = core.SDKErrorf(err, "", "priority-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteReference : RouteReference struct +type RouteReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this route. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this route. + ID *string `json:"id" validate:"required"` + + // The name for this route. The name is unique across all routes in the routing table. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalRouteReference unmarshals an instance of RouteReference from the specified map of raw messages. +func UnmarshalRouteReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RoutingTable : RoutingTable struct +type RoutingTable struct { + // The filters specifying the resources that may create routes in this routing table. + // + // The resources and types of filters supported by this property is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AcceptRoutesFrom []ResourceFilter `json:"accept_routes_from" validate:"required"` + + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these + // sources. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AdvertiseRoutesTo []string `json:"advertise_routes_to" validate:"required"` + + // The date and time that this routing table was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this VPC routing table. + CRN *string `json:"crn" validate:"required"` + + // The URL for this routing table. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this routing table. + ID *string `json:"id" validate:"required"` + + // Indicates whether this is the default routing table for this VPC. + IsDefault *bool `json:"is_default" validate:"required"` + + // The lifecycle state of the routing table. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this routing table. The name is unique across all routing tables for the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this routing table. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // Indicates whether this routing table is used to route traffic that originates from + // [Direct Link](https://cloud.ibm.com/docs/dl) to this VPC. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteDirectLinkIngress *bool `json:"route_direct_link_ingress" validate:"required"` + + // Indicates whether this routing table is used to route traffic that originates from the internet. + // + // Incoming traffic will be routed according to the routing table with two exceptions: + // - Traffic destined for IP addresses associated with public gateways will not be + // subject to routes in this routing table. + // - Routes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is + // an IP address in a subnet in the route's `zone` that is able to accept traffic. + // Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteInternetIngress *bool `json:"route_internet_ingress" validate:"required"` + + // Indicates whether this routing table is used to route traffic that originates from from [Transit + // Gateway](https://cloud.ibm.com/docs/transit-gateway) to this VPC. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteTransitGatewayIngress *bool `json:"route_transit_gateway_ingress" validate:"required"` + + // Indicates whether this routing table is used to route traffic that originates from subnets in other zones in this + // VPC. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteVPCZoneIngress *bool `json:"route_vpc_zone_ingress" validate:"required"` + + // The routes for this routing table. + Routes []RouteReference `json:"routes" validate:"required"` + + // The subnets to which this routing table is attached. + Subnets []SubnetReference `json:"subnets" validate:"required"` +} + +// Constants associated with the RoutingTable.AdvertiseRoutesTo property. +// An ingress source that routes can be advertised to: +// +// - `direct_link` (requires `route_direct_link_ingress` be set to `true`) +// - `transit_gateway` (requires `route_transit_gateway_ingress` be set to `true`). +const ( + RoutingTableAdvertiseRoutesToDirectLinkConst = "direct_link" + RoutingTableAdvertiseRoutesToTransitGatewayConst = "transit_gateway" +) + +// Constants associated with the RoutingTable.LifecycleState property. +// The lifecycle state of the routing table. +const ( + RoutingTableLifecycleStateDeletingConst = "deleting" + RoutingTableLifecycleStateFailedConst = "failed" + RoutingTableLifecycleStatePendingConst = "pending" + RoutingTableLifecycleStateStableConst = "stable" + RoutingTableLifecycleStateSuspendedConst = "suspended" + RoutingTableLifecycleStateUpdatingConst = "updating" + RoutingTableLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the RoutingTable.ResourceType property. +// The resource type. +const ( + RoutingTableResourceTypeRoutingTableConst = "routing_table" +) + +// UnmarshalRoutingTable unmarshals an instance of RoutingTable from the specified map of raw messages. +func UnmarshalRoutingTable(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutingTable) + err = core.UnmarshalModel(m, "accept_routes_from", &obj.AcceptRoutesFrom, UnmarshalResourceFilter) + if err != nil { + err = core.SDKErrorf(err, "", "accept_routes_from-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertise_routes_to", &obj.AdvertiseRoutesTo) + if err != nil { + err = core.SDKErrorf(err, "", "advertise_routes_to-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "is_default", &obj.IsDefault) + if err != nil { + err = core.SDKErrorf(err, "", "is_default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_direct_link_ingress", &obj.RouteDirectLinkIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_direct_link_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_internet_ingress", &obj.RouteInternetIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_internet_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_transit_gateway_ingress", &obj.RouteTransitGatewayIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_transit_gateway_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_vpc_zone_ingress", &obj.RouteVPCZoneIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_vpc_zone_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routes", &obj.Routes, UnmarshalRouteReference) + if err != nil { + err = core.SDKErrorf(err, "", "routes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RoutingTableCollection : RoutingTableCollection struct +type RoutingTableCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of routing tables. + RoutingTables []RoutingTable `json:"routing_tables" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalRoutingTableCollection unmarshals an instance of RoutingTableCollection from the specified map of raw messages. +func UnmarshalRoutingTableCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutingTableCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routing_tables", &obj.RoutingTables, UnmarshalRoutingTable) + if err != nil { + err = core.SDKErrorf(err, "", "routing_tables-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *RoutingTableCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// RoutingTableIdentity : Identifies a routing table by a unique property. +// Models which "extend" this model: +// - RoutingTableIdentityByCRN +// - RoutingTableIdentityByID +// - RoutingTableIdentityByHref +type RoutingTableIdentity struct { + // The CRN for this VPC routing table. + CRN *string `json:"crn,omitempty"` + + // The unique identifier for this routing table. + ID *string `json:"id,omitempty"` + + // The URL for this routing table. + Href *string `json:"href,omitempty"` +} + +func (*RoutingTableIdentity) isaRoutingTableIdentity() bool { + return true +} + +type RoutingTableIdentityIntf interface { + isaRoutingTableIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalRoutingTableIdentity unmarshals an instance of RoutingTableIdentity from the specified map of raw messages. +func UnmarshalRoutingTableIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutingTableIdentity) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RoutingTableIdentity +func (routingTableIdentity *RoutingTableIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routingTableIdentity.CRN) { + _patch["crn"] = routingTableIdentity.CRN + } + if !core.IsNil(routingTableIdentity.ID) { + _patch["id"] = routingTableIdentity.ID + } + if !core.IsNil(routingTableIdentity.Href) { + _patch["href"] = routingTableIdentity.Href + } + + return +} + +// RoutingTablePatch : RoutingTablePatch struct +type RoutingTablePatch struct { + // The filters specifying the resources that may create routes in this routing table + // (replacing any existing filters). All routes created by resources that match a given filter will be removed when an + // existing filter is removed. Therefore, if an empty array is specified, all filters will be removed, resulting in all + // routes not directly created by the user being removed. + // + // If specified, `resource_type` must be `vpn_gateway` or `vpn_server`. + AcceptRoutesFrom []ResourceFilter `json:"accept_routes_from,omitempty"` + + // The ingress sources to advertise routes to, replacing any existing sources to advertise to. Routes in the table with + // `advertise` enabled will be advertised to these sources. + AdvertiseRoutesTo []string `json:"advertise_routes_to,omitempty"` + + // The name for this routing table. The name must not be used by another routing table in the VPC. + Name *string `json:"name,omitempty"` + + // Indicates whether this routing table is used to route traffic that originates from + // [Direct Link](https://cloud.ibm.com/docs/dl/) to this VPC. Updating to `true` selects this routing table, provided + // no other routing table in the VPC already has this property set to `true`, and no subnets are attached to this + // routing table. Updating to + // `false` deselects this routing table, provided `direct_link` is absent from + // `advertise_routes_to`. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteDirectLinkIngress *bool `json:"route_direct_link_ingress,omitempty"` + + // Indicates whether this routing table is used to route traffic that originates from the internet. Updating to `true` + // selects this routing table, provided no other routing table in the VPC already has this property set to `true`. + // Updating to `false` deselects this routing table. + // + // Incoming traffic will be routed according to the routing table with two exceptions: + // - Traffic destined for IP addresses associated with public gateways will not be subject + // to routes in this routing table. + // - Routes with an `action` of `deliver` are treated as `drop` unless the `next_hop` is an + // IP address in a subnet in the route's `zone` that is able to accept traffic. + // Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteInternetIngress *bool `json:"route_internet_ingress,omitempty"` + + // Indicates whether this routing table is used to route traffic that originates from + // [Transit Gateway](https://cloud.ibm.com/docs/transit-gateway) to this VPC. Updating to + // `true` selects this routing table, provided no other routing table in the VPC already has this property set to + // `true`, and no subnets are attached to this routing table. Updating to `false` deselects this routing table, + // provided `transit_gateway` is absent from `advertise_routes_to`. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + // + // If [Classic Access](https://cloud.ibm.com/docs/vpc?topic=vpc-setting-up-access-to-classic-infrastructure) is enabled + // for this VPC, and this property is set to `true`, its incoming traffic will also be routed according to this routing + // table. + RouteTransitGatewayIngress *bool `json:"route_transit_gateway_ingress,omitempty"` + + // Indicates whether this routing table is used to route traffic that originates from subnets in other zones in this + // VPC. Updating to `true` selects this routing table, provided no other routing table in the VPC already has this + // property set to `true`, and no subnets are attached to this routing table. Updating to `false` deselects this + // routing table. + // + // Incoming traffic will be routed according to the routing table with one exception: routes with an `action` of + // `deliver` are treated as `drop` unless the `next_hop` is an IP address in a subnet in the route's `zone` that is + // able to accept traffic. Therefore, if an incoming packet matches a route with a `next_hop` of a VPN gateway + // connection, the packet will be dropped. + RouteVPCZoneIngress *bool `json:"route_vpc_zone_ingress,omitempty"` +} + +// Constants associated with the RoutingTablePatch.AdvertiseRoutesTo property. +// An ingress source that routes can be advertised to: +// +// - `direct_link` (requires `route_direct_link_ingress` be set to `true`) +// - `transit_gateway` (requires `route_transit_gateway_ingress` be set to `true`). +const ( + RoutingTablePatchAdvertiseRoutesToDirectLinkConst = "direct_link" + RoutingTablePatchAdvertiseRoutesToTransitGatewayConst = "transit_gateway" +) + +// UnmarshalRoutingTablePatch unmarshals an instance of RoutingTablePatch from the specified map of raw messages. +func UnmarshalRoutingTablePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutingTablePatch) + err = core.UnmarshalModel(m, "accept_routes_from", &obj.AcceptRoutesFrom, UnmarshalResourceFilter) + if err != nil { + err = core.SDKErrorf(err, "", "accept_routes_from-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertise_routes_to", &obj.AdvertiseRoutesTo) + if err != nil { + err = core.SDKErrorf(err, "", "advertise_routes_to-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_direct_link_ingress", &obj.RouteDirectLinkIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_direct_link_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_internet_ingress", &obj.RouteInternetIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_internet_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_transit_gateway_ingress", &obj.RouteTransitGatewayIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_transit_gateway_ingress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "route_vpc_zone_ingress", &obj.RouteVPCZoneIngress) + if err != nil { + err = core.SDKErrorf(err, "", "route_vpc_zone_ingress-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the RoutingTablePatch +func (routingTablePatch *RoutingTablePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(routingTablePatch.AcceptRoutesFrom) { + var acceptRoutesFromPatches []map[string]interface{} + for _, acceptRoutesFrom := range routingTablePatch.AcceptRoutesFrom { + acceptRoutesFromPatches = append(acceptRoutesFromPatches, acceptRoutesFrom.asPatch()) + } + _patch["accept_routes_from"] = acceptRoutesFromPatches + } + if !core.IsNil(routingTablePatch.AdvertiseRoutesTo) { + _patch["advertise_routes_to"] = routingTablePatch.AdvertiseRoutesTo + } + if !core.IsNil(routingTablePatch.Name) { + _patch["name"] = routingTablePatch.Name + } + if !core.IsNil(routingTablePatch.RouteDirectLinkIngress) { + _patch["route_direct_link_ingress"] = routingTablePatch.RouteDirectLinkIngress + } + if !core.IsNil(routingTablePatch.RouteInternetIngress) { + _patch["route_internet_ingress"] = routingTablePatch.RouteInternetIngress + } + if !core.IsNil(routingTablePatch.RouteTransitGatewayIngress) { + _patch["route_transit_gateway_ingress"] = routingTablePatch.RouteTransitGatewayIngress + } + if !core.IsNil(routingTablePatch.RouteVPCZoneIngress) { + _patch["route_vpc_zone_ingress"] = routingTablePatch.RouteVPCZoneIngress + } + + return +} + +// RoutingTableReference : RoutingTableReference struct +type RoutingTableReference struct { + // The CRN for this VPC routing table. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this routing table. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this routing table. + ID *string `json:"id" validate:"required"` + + // The name for this routing table. The name is unique across all routing tables for the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the RoutingTableReference.ResourceType property. +// The resource type. +const ( + RoutingTableReferenceResourceTypeRoutingTableConst = "routing_table" +) + +// UnmarshalRoutingTableReference unmarshals an instance of RoutingTableReference from the specified map of raw messages. +func UnmarshalRoutingTableReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutingTableReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroup : SecurityGroup struct +type SecurityGroup struct { + // The date and time that this security group was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this security group. + CRN *string `json:"crn" validate:"required"` + + // The URL for this security group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this security group. + ID *string `json:"id" validate:"required"` + + // The name for this security group. The name is unique across all security groups for the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this security group. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The rules for this security group. If no rules exist, no traffic will be allowed. + Rules []SecurityGroupRuleIntf `json:"rules" validate:"required"` + + // The targets for this security group. + Targets []SecurityGroupTargetReferenceIntf `json:"targets" validate:"required"` + + // The VPC this security group resides in. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// UnmarshalSecurityGroup unmarshals an instance of SecurityGroup from the specified map of raw messages. +func UnmarshalSecurityGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroup) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalSecurityGroupRule) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "targets", &obj.Targets, UnmarshalSecurityGroupTargetReference) + if err != nil { + err = core.SDKErrorf(err, "", "targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupCollection : SecurityGroupCollection struct +type SecurityGroupCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of security groups. + SecurityGroups []SecurityGroup `json:"security_groups" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalSecurityGroupCollection unmarshals an instance of SecurityGroupCollection from the specified map of raw messages. +func UnmarshalSecurityGroupCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroup) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *SecurityGroupCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// SecurityGroupIdentity : Identifies a security group by a unique property. +// Models which "extend" this model: +// - SecurityGroupIdentityByID +// - SecurityGroupIdentityByCRN +// - SecurityGroupIdentityByHref +type SecurityGroupIdentity struct { + // The unique identifier for this security group. + ID *string `json:"id,omitempty"` + + // The CRN for this security group. + CRN *string `json:"crn,omitempty"` + + // The URL for this security group. + Href *string `json:"href,omitempty"` +} + +func (*SecurityGroupIdentity) isaSecurityGroupIdentity() bool { + return true +} + +type SecurityGroupIdentityIntf interface { + isaSecurityGroupIdentity() bool +} + +// UnmarshalSecurityGroupIdentity unmarshals an instance of SecurityGroupIdentity from the specified map of raw messages. +func UnmarshalSecurityGroupIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupPatch : SecurityGroupPatch struct +type SecurityGroupPatch struct { + // The name for this security group. The name must not be used by another security group for the VPC. + Name *string `json:"name,omitempty"` +} + +// UnmarshalSecurityGroupPatch unmarshals an instance of SecurityGroupPatch from the specified map of raw messages. +func UnmarshalSecurityGroupPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the SecurityGroupPatch +func (securityGroupPatch *SecurityGroupPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupPatch.Name) { + _patch["name"] = securityGroupPatch.Name + } + + return +} + +// SecurityGroupReference : SecurityGroupReference struct +type SecurityGroupReference struct { + // The CRN for this security group. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this security group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this security group. + ID *string `json:"id" validate:"required"` + + // The name for this security group. The name is unique across all security groups for the VPC. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalSecurityGroupReference unmarshals an instance of SecurityGroupReference from the specified map of raw messages. +func UnmarshalSecurityGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRule : SecurityGroupRule struct +// Models which "extend" this model: +// - SecurityGroupRuleSecurityGroupRuleProtocolAll +// - SecurityGroupRuleSecurityGroupRuleProtocolIcmp +// - SecurityGroupRuleSecurityGroupRuleProtocolTcpudp +type SecurityGroupRule struct { + // The direction of traffic to allow. + Direction *string `json:"direction" validate:"required"` + + // The URL for this security group rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this security group rule. + ID *string `json:"id" validate:"required"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version" validate:"required"` + + // The local IP address or range of local IP addresses to which this rule will allow inbound + // traffic (or from which, for outbound traffic). A CIDR block of `0.0.0.0/0` allows traffic + // to all local IP addresses (or from all local IP addresses, for outbound rules). + Local SecurityGroupRuleLocalIntf `json:"local" validate:"required"` + + // The network protocol. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Protocol *string `json:"protocol" validate:"required"` + + // The remote IP addresses or security groups from which this rule allows traffic (or to + // which, for outbound rules). A CIDR block of `0.0.0.0/0` allows traffic from any source + // (or to any destination, for outbound rules). + Remote SecurityGroupRuleRemoteIntf `json:"remote" validate:"required"` + + // The ICMP traffic code to allow. If absent, all codes are allowed. + Code *int64 `json:"code,omitempty"` + + // The ICMP traffic type to allow. If absent, all types are allowed. + Type *int64 `json:"type,omitempty"` + + // The inclusive upper bound of the TCP or UDP destination port range. + PortMax *int64 `json:"port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + PortMin *int64 `json:"port_min,omitempty"` +} + +// Constants associated with the SecurityGroupRule.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRuleDirectionInboundConst = "inbound" + SecurityGroupRuleDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRule.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRuleIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the SecurityGroupRule.Protocol property. +// The network protocol. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + SecurityGroupRuleProtocolAllConst = "all" + SecurityGroupRuleProtocolIcmpConst = "icmp" + SecurityGroupRuleProtocolTCPConst = "tcp" + SecurityGroupRuleProtocolUDPConst = "udp" +) + +func (*SecurityGroupRule) isaSecurityGroupRule() bool { + return true +} + +type SecurityGroupRuleIntf interface { + isaSecurityGroupRule() bool +} + +// UnmarshalSecurityGroupRule unmarshals an instance of SecurityGroupRule from the specified map of raw messages. +func UnmarshalSecurityGroupRule(m map[string]json.RawMessage, result interface{}) (err error) { + // Retrieve discriminator value to determine correct "subclass". + var discValue string + err = core.UnmarshalPrimitive(m, "protocol", &discValue) + if err != nil { + errMsg := fmt.Sprintf("error unmarshalling discriminator property 'protocol': %s", err.Error()) + err = core.SDKErrorf(err, errMsg, "discriminator-unmarshal-error", common.GetComponentInfo()) + return + } + if discValue == "" { + err = core.SDKErrorf(err, "required discriminator property 'protocol' not found in JSON object", "missing-discriminator", common.GetComponentInfo()) + return + } + if discValue == "all" { + err = core.UnmarshalModel(m, "", result, UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolAll) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-SecurityGroupRuleSecurityGroupRuleProtocolAll-error", common.GetComponentInfo()) + } + } else if discValue == "icmp" { + err = core.UnmarshalModel(m, "", result, UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolIcmp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-SecurityGroupRuleSecurityGroupRuleProtocolIcmp-error", common.GetComponentInfo()) + } + } else if discValue == "tcp" { + err = core.UnmarshalModel(m, "", result, UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolTcpudp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-SecurityGroupRuleSecurityGroupRuleProtocolTcpudp-error", common.GetComponentInfo()) + } + } else if discValue == "udp" { + err = core.UnmarshalModel(m, "", result, UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolTcpudp) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-SecurityGroupRuleSecurityGroupRuleProtocolTcpudp-error", common.GetComponentInfo()) + } + } else { + errMsg := fmt.Sprintf("unrecognized value for discriminator property 'protocol': %s", discValue) + err = core.SDKErrorf(err, errMsg, "invalid-discriminator", common.GetComponentInfo()) + } + return +} + +// SecurityGroupRuleCollection : SecurityGroupRuleCollection struct +type SecurityGroupRuleCollection struct { + // The rules for the security group. + Rules []SecurityGroupRuleIntf `json:"rules" validate:"required"` +} + +// UnmarshalSecurityGroupRuleCollection unmarshals an instance of SecurityGroupRuleCollection from the specified map of raw messages. +func UnmarshalSecurityGroupRuleCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleCollection) + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalSecurityGroupRule) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleLocal : The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for +// outbound traffic). A CIDR block of `0.0.0.0/0` allows traffic to all local IP addresses (or from all local IP +// addresses, for outbound rules). +// Models which "extend" this model: +// - SecurityGroupRuleLocalIP +// - SecurityGroupRuleLocalCIDR +type SecurityGroupRuleLocal struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block,omitempty"` +} + +func (*SecurityGroupRuleLocal) isaSecurityGroupRuleLocal() bool { + return true +} + +type SecurityGroupRuleLocalIntf interface { + isaSecurityGroupRuleLocal() bool +} + +// UnmarshalSecurityGroupRuleLocal unmarshals an instance of SecurityGroupRuleLocal from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocal(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocal) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleLocalPatch : The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for +// outbound traffic). Can be specified as an IP address or a CIDR block. +// +// Specify a CIDR block of `0.0.0.0/0` to allow traffic to all local IP addresses (or from all local IP addresses, for +// outbound rules). +// Models which "extend" this model: +// - SecurityGroupRuleLocalPatchIP +// - SecurityGroupRuleLocalPatchCIDR +type SecurityGroupRuleLocalPatch struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block,omitempty"` +} + +func (*SecurityGroupRuleLocalPatch) isaSecurityGroupRuleLocalPatch() bool { + return true +} + +type SecurityGroupRuleLocalPatchIntf interface { + isaSecurityGroupRuleLocalPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalSecurityGroupRuleLocalPatch unmarshals an instance of SecurityGroupRuleLocalPatch from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocalPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocalPatch) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleLocalPatch +func (securityGroupRuleLocalPatch *SecurityGroupRuleLocalPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleLocalPatch.Address) { + _patch["address"] = securityGroupRuleLocalPatch.Address + } + if !core.IsNil(securityGroupRuleLocalPatch.CIDRBlock) { + _patch["cidr_block"] = securityGroupRuleLocalPatch.CIDRBlock + } + + return +} + +// SecurityGroupRuleLocalPrototype : The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for +// outbound traffic). +// +// If unspecified, a CIDR block of `0.0.0.0/0` will be used to allow traffic to all local IP addresses (or from all +// local IP addresses, for outbound rules). +// Models which "extend" this model: +// - SecurityGroupRuleLocalPrototypeIP +// - SecurityGroupRuleLocalPrototypeCIDR +type SecurityGroupRuleLocalPrototype struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block,omitempty"` +} + +func (*SecurityGroupRuleLocalPrototype) isaSecurityGroupRuleLocalPrototype() bool { + return true +} + +type SecurityGroupRuleLocalPrototypeIntf interface { + isaSecurityGroupRuleLocalPrototype() bool +} + +// UnmarshalSecurityGroupRuleLocalPrototype unmarshals an instance of SecurityGroupRuleLocalPrototype from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocalPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocalPrototype) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRulePatch : SecurityGroupRulePatch struct +type SecurityGroupRulePatch struct { + // The ICMP traffic code to allow. If set, `type` must also be set. + // + // Specify `null` to remove an existing ICMP traffic code. + Code *int64 `json:"code,omitempty"` + + // The direction of traffic to allow. + Direction *string `json:"direction,omitempty"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version,omitempty"` + + // The local IP address or range of local IP addresses to which this rule will allow inbound + // traffic (or from which, for outbound traffic). Can be specified as an IP address or a CIDR + // block. + // + // Specify a CIDR block of `0.0.0.0/0` to allow traffic to all local IP addresses (or from all + // local IP addresses, for outbound rules). + Local SecurityGroupRuleLocalPatchIntf `json:"local,omitempty"` + + // The inclusive upper bound of the protocol destination port range. If set, `port_min` must also be set, and must not + // be larger. + // + // Specify `null` to remove an existing upper bound. + PortMax *int64 `json:"port_max,omitempty"` + + // The inclusive lower bound of the protocol destination port range. If set, `port_max` must also be set, and must not + // be smaller. + // + // Specify `null` to remove an existing lower bound. + PortMin *int64 `json:"port_min,omitempty"` + + // The remote IP addresses or security groups from which this rule will allow traffic (or to + // which, for outbound rules). Can be specified as an IP address, a CIDR block, or a + // security group. A CIDR block of `0.0.0.0/0` will allow traffic from any source (or to + // any destination, for outbound rules). + Remote SecurityGroupRuleRemotePatchIntf `json:"remote,omitempty"` + + // The ICMP traffic type to allow. + // + // Specify `null` to remove an existing ICMP traffic type value. + Type *int64 `json:"type,omitempty"` +} + +// Constants associated with the SecurityGroupRulePatch.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRulePatchDirectionInboundConst = "inbound" + SecurityGroupRulePatchDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRulePatch.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRulePatchIPVersionIpv4Const = "ipv4" +) + +// UnmarshalSecurityGroupRulePatch unmarshals an instance of SecurityGroupRulePatch from the specified map of raw messages. +func UnmarshalSecurityGroupRulePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRulePatch) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalSecurityGroupRuleLocalPatch) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_max", &obj.PortMax) + if err != nil { + err = core.SDKErrorf(err, "", "port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_min", &obj.PortMin) + if err != nil { + err = core.SDKErrorf(err, "", "port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSecurityGroupRuleRemotePatch) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the SecurityGroupRulePatch +func (securityGroupRulePatch *SecurityGroupRulePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRulePatch.Code) { + _patch["code"] = securityGroupRulePatch.Code + } + if !core.IsNil(securityGroupRulePatch.Direction) { + _patch["direction"] = securityGroupRulePatch.Direction + } + if !core.IsNil(securityGroupRulePatch.IPVersion) { + _patch["ip_version"] = securityGroupRulePatch.IPVersion + } + if !core.IsNil(securityGroupRulePatch.Local) { + _patch["local"] = securityGroupRulePatch.Local.asPatch() + } + if !core.IsNil(securityGroupRulePatch.PortMax) { + _patch["port_max"] = securityGroupRulePatch.PortMax + } + if !core.IsNil(securityGroupRulePatch.PortMin) { + _patch["port_min"] = securityGroupRulePatch.PortMin + } + if !core.IsNil(securityGroupRulePatch.Remote) { + _patch["remote"] = securityGroupRulePatch.Remote.asPatch() + } + if !core.IsNil(securityGroupRulePatch.Type) { + _patch["type"] = securityGroupRulePatch.Type + } + + return +} + +// SecurityGroupRulePrototype : SecurityGroupRulePrototype struct +// Models which "extend" this model: +// - SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll +// - SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp +// - SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp +type SecurityGroupRulePrototype struct { + // The direction of traffic to allow. + Direction *string `json:"direction" validate:"required"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version,omitempty"` + + // The local IP address or range of local IP addresses to which this rule will allow inbound + // traffic (or from which, for outbound traffic). + // + // If unspecified, a CIDR block of `0.0.0.0/0` will be used to allow traffic to all local IP + // addresses (or from all local IP addresses, for outbound rules). + Local SecurityGroupRuleLocalPrototypeIntf `json:"local,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The remote IP addresses or security groups from which this rule will allow traffic (or to + // which, for outbound rules). Can be specified as an IP address, a CIDR block, or a + // security group within the VPC. + // + // If unspecified, a CIDR block of `0.0.0.0/0` will be used to allow traffic from any source + // (or to any destination, for outbound rules). + Remote SecurityGroupRuleRemotePrototypeIntf `json:"remote,omitempty"` + + // The ICMP traffic code to allow. + // + // If specified, `type` must also be specified. If unspecified, all codes are allowed. + Code *int64 `json:"code,omitempty"` + + // The ICMP traffic type to allow. + // + // If unspecified, all types are allowed. + Type *int64 `json:"type,omitempty"` + + // The inclusive upper bound of the TCP or UDP destination port range. + // + // If specified, `port_min` must also be specified, and must not be larger. If unspecified, + // `port_min` must also be unspecified, allowing traffic on all destination ports. + PortMax *int64 `json:"port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + // + // If specified, `port_max` must also be specified, and must not be smaller. If unspecified, `port_max` must also be + // unspecified, allowing traffic on all destination ports. + PortMin *int64 `json:"port_min,omitempty"` +} + +// Constants associated with the SecurityGroupRulePrototype.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRulePrototypeDirectionInboundConst = "inbound" + SecurityGroupRulePrototypeDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRulePrototype.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRulePrototypeIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the SecurityGroupRulePrototype.Protocol property. +// The network protocol. +const ( + SecurityGroupRulePrototypeProtocolAllConst = "all" + SecurityGroupRulePrototypeProtocolIcmpConst = "icmp" + SecurityGroupRulePrototypeProtocolTCPConst = "tcp" + SecurityGroupRulePrototypeProtocolUDPConst = "udp" +) + +func (*SecurityGroupRulePrototype) isaSecurityGroupRulePrototype() bool { + return true +} + +type SecurityGroupRulePrototypeIntf interface { + isaSecurityGroupRulePrototype() bool +} + +// UnmarshalSecurityGroupRulePrototype unmarshals an instance of SecurityGroupRulePrototype from the specified map of raw messages. +func UnmarshalSecurityGroupRulePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRulePrototype) + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalSecurityGroupRuleLocalPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSecurityGroupRuleRemotePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_max", &obj.PortMax) + if err != nil { + err = core.SDKErrorf(err, "", "port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_min", &obj.PortMin) + if err != nil { + err = core.SDKErrorf(err, "", "port_min-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemote : The remote IP addresses or security groups from which this rule allows traffic (or to which, for outbound rules). A +// CIDR block of `0.0.0.0/0` allows traffic from any source +// (or to any destination, for outbound rules). +// Models which "extend" this model: +// - SecurityGroupRuleRemoteIP +// - SecurityGroupRuleRemoteCIDR +// - SecurityGroupRuleRemoteSecurityGroupReference +type SecurityGroupRuleRemote struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block,omitempty"` + + // The CRN for this security group. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this security group. + Href *string `json:"href,omitempty"` + + // The unique identifier for this security group. + ID *string `json:"id,omitempty"` + + // The name for this security group. The name is unique across all security groups for the VPC. + Name *string `json:"name,omitempty"` +} + +func (*SecurityGroupRuleRemote) isaSecurityGroupRuleRemote() bool { + return true +} + +type SecurityGroupRuleRemoteIntf interface { + isaSecurityGroupRuleRemote() bool +} + +// UnmarshalSecurityGroupRuleRemote unmarshals an instance of SecurityGroupRuleRemote from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemote) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemotePatch : The remote IP addresses or security groups from which this rule will allow traffic (or to which, for outbound rules). +// Can be specified as an IP address, a CIDR block, or a security group. A CIDR block of `0.0.0.0/0` will allow traffic +// from any source (or to any destination, for outbound rules). +// Models which "extend" this model: +// - SecurityGroupRuleRemotePatchIP +// - SecurityGroupRuleRemotePatchCIDR +// - SecurityGroupRuleRemotePatchSecurityGroupIdentity +type SecurityGroupRuleRemotePatch struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block,omitempty"` + + // The unique identifier for this security group. + ID *string `json:"id,omitempty"` + + // The CRN for this security group. + CRN *string `json:"crn,omitempty"` + + // The URL for this security group. + Href *string `json:"href,omitempty"` +} + +func (*SecurityGroupRuleRemotePatch) isaSecurityGroupRuleRemotePatch() bool { + return true +} + +type SecurityGroupRuleRemotePatchIntf interface { + isaSecurityGroupRuleRemotePatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalSecurityGroupRuleRemotePatch unmarshals an instance of SecurityGroupRuleRemotePatch from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePatch) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleRemotePatch +func (securityGroupRuleRemotePatch *SecurityGroupRuleRemotePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleRemotePatch.Address) { + _patch["address"] = securityGroupRuleRemotePatch.Address + } + if !core.IsNil(securityGroupRuleRemotePatch.CIDRBlock) { + _patch["cidr_block"] = securityGroupRuleRemotePatch.CIDRBlock + } + if !core.IsNil(securityGroupRuleRemotePatch.ID) { + _patch["id"] = securityGroupRuleRemotePatch.ID + } + if !core.IsNil(securityGroupRuleRemotePatch.CRN) { + _patch["crn"] = securityGroupRuleRemotePatch.CRN + } + if !core.IsNil(securityGroupRuleRemotePatch.Href) { + _patch["href"] = securityGroupRuleRemotePatch.Href + } + + return +} + +// SecurityGroupRuleRemotePrototype : The remote IP addresses or security groups from which this rule will allow traffic (or to which, for outbound rules). +// Can be specified as an IP address, a CIDR block, or a security group within the VPC. +// +// If unspecified, a CIDR block of `0.0.0.0/0` will be used to allow traffic from any source +// (or to any destination, for outbound rules). +// Models which "extend" this model: +// - SecurityGroupRuleRemotePrototypeIP +// - SecurityGroupRuleRemotePrototypeCIDR +// - SecurityGroupRuleRemotePrototypeSecurityGroupIdentity +type SecurityGroupRuleRemotePrototype struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` + + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block,omitempty"` + + // The unique identifier for this security group. + ID *string `json:"id,omitempty"` + + // The CRN for this security group. + CRN *string `json:"crn,omitempty"` + + // The URL for this security group. + Href *string `json:"href,omitempty"` +} + +func (*SecurityGroupRuleRemotePrototype) isaSecurityGroupRuleRemotePrototype() bool { + return true +} + +type SecurityGroupRuleRemotePrototypeIntf interface { + isaSecurityGroupRuleRemotePrototype() bool +} + +// UnmarshalSecurityGroupRuleRemotePrototype unmarshals an instance of SecurityGroupRuleRemotePrototype from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePrototype) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupTargetCollection : SecurityGroupTargetCollection struct +type SecurityGroupTargetCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of targets for the security group. + Targets []SecurityGroupTargetReferenceIntf `json:"targets" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalSecurityGroupTargetCollection unmarshals an instance of SecurityGroupTargetCollection from the specified map of raw messages. +func UnmarshalSecurityGroupTargetCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupTargetCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "targets", &obj.Targets, UnmarshalSecurityGroupTargetReference) + if err != nil { + err = core.SDKErrorf(err, "", "targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *SecurityGroupTargetCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// SecurityGroupTargetReference : A target of this security group. +// +// The resources supported by this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +// Models which "extend" this model: +// - SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext +// - SecurityGroupTargetReferenceEndpointGatewayReference +// - SecurityGroupTargetReferenceLoadBalancerReference +// - SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext +// - SecurityGroupTargetReferenceVirtualNetworkInterfaceReference +// - SecurityGroupTargetReferenceVPNServerReference +type SecurityGroupTargetReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The name for this bare metal server network interface. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` + + // The CRN for this endpoint gateway. + CRN *string `json:"crn,omitempty"` + + // The primary IP for this virtual network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip,omitempty"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet,omitempty"` +} + +// Constants associated with the SecurityGroupTargetReference.ResourceType property. +// The resource type. +const ( + SecurityGroupTargetReferenceResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*SecurityGroupTargetReference) isaSecurityGroupTargetReference() bool { + return true +} + +type SecurityGroupTargetReferenceIntf interface { + isaSecurityGroupTargetReference() bool +} + +// UnmarshalSecurityGroupTargetReference unmarshals an instance of SecurityGroupTargetReference from the specified map of raw messages. +func UnmarshalSecurityGroupTargetReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupTargetReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SetSubnetPublicGatewayOptions : The SetSubnetPublicGateway options. +type SetSubnetPublicGatewayOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // The public gateway identity. + PublicGatewayIdentity PublicGatewayIdentityIntf `json:"PublicGatewayIdentity" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewSetSubnetPublicGatewayOptions : Instantiate SetSubnetPublicGatewayOptions +func (*VpcV1) NewSetSubnetPublicGatewayOptions(id string, publicGatewayIdentity PublicGatewayIdentityIntf) *SetSubnetPublicGatewayOptions { + return &SetSubnetPublicGatewayOptions{ + ID: core.StringPtr(id), + PublicGatewayIdentity: publicGatewayIdentity, + } +} + +// SetID : Allow user to set ID +func (_options *SetSubnetPublicGatewayOptions) SetID(id string) *SetSubnetPublicGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetPublicGatewayIdentity : Allow user to set PublicGatewayIdentity +func (_options *SetSubnetPublicGatewayOptions) SetPublicGatewayIdentity(publicGatewayIdentity PublicGatewayIdentityIntf) *SetSubnetPublicGatewayOptions { + _options.PublicGatewayIdentity = publicGatewayIdentity + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *SetSubnetPublicGatewayOptions) SetHeaders(param map[string]string) *SetSubnetPublicGatewayOptions { + options.Headers = param + return options +} + +// Share : Share struct +type Share struct { + // The access control mode for the share: + // + // - `security_group`: The security groups on the virtual network interface for a mount + // target control access to the mount target. + // - `vpc`: All clients in the VPC for a mount target have access to the mount target. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AccessControlMode *string `json:"access_control_mode" validate:"required"` + + // The accessor binding role of this file share: + // - `none`: This file share is not participating in access with another file share + // - `origin`: This file share is the origin for one or more file shares + // (which may be in other accounts) + // - `accessor`: This file share is providing access to another file share + // (which may be in another account). + AccessorBindingRole *string `json:"accessor_binding_role" validate:"required"` + + // The accessor bindings for this file share. Each accessor binding identifies a resource (possibly in another account) + // with access to this file share's data and its snapshots. + AccessorBindings []ShareAccessorBindingReference `json:"accessor_bindings" validate:"required"` + + // The access protocols to allow for this share: + // - `nfs4`: NFSv4 is used to access this share via its associated share mount target. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AllowedAccessProtocols []string `json:"allowed_access_protocols" validate:"required"` + + // The transit encryption modes allowed for this share: + // - `none`: Not encrypted in transit. + // - `ipsec`: Encrypted in transit using an instance identity certificate. + // - `stunnel`: Encrypted in transit using a connection via the installed stunnel + // client. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AllowedTransitEncryptionModes []string `json:"allowed_transit_encryption_modes" validate:"required"` + + // The data availability mode of the share: + // - `zonal`: The share's data will be available provided the `zone` of the share is + // available. Additionally, disasters affecting the zone may lead to data loss. + // - `regional`: The share's data will be available provided at least one zone in the + // region is available. Additionally, disasters affecting the entire region may lead + // to data loss. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AvailabilityMode *string `json:"availability_mode" validate:"required"` + + // The maximum bandwidth (in megabits per second) for the share. + Bandwidth *int64 `json:"bandwidth" validate:"required"` + + // The date and time that the file share is created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this file share. + CRN *string `json:"crn" validate:"required"` + + // The type of encryption used for this file share. + Encryption *string `json:"encryption" validate:"required"` + + // The key used to encrypt this file share. + // + // This property will be present if `encryption` is `user_managed`. + EncryptionKey *EncryptionKeyReference `json:"encryption_key,omitempty"` + + // The URL for this file share. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this file share. + ID *string `json:"id" validate:"required"` + + // The owner assigned to the file share at creation. + InitialOwner *ShareInitialOwner `json:"initial_owner" validate:"required"` + + // The maximum input/output operations per second (IOPS) for the file share. + // + // The maximum IOPS for a share as defined by the share's profile may increase in the future. + Iops *int64 `json:"iops" validate:"required"` + + // The latest job associated with this file share. + // + // This property will be absent if no jobs have been created for this file share. + LatestJob *ShareJob `json:"latest_job,omitempty"` + + // Information about the latest synchronization for this file share. + // + // This property will be present when the `replication_role` is `replica` and at least + // one replication sync has been completed. + LatestSync *ShareLatestSync `json:"latest_sync,omitempty"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []ShareLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the file share. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The mount targets for the file share. + MountTargets []ShareMountTargetReference `json:"mount_targets" validate:"required"` + + // The name for this share. The name is unique across all shares in the region. + Name *string `json:"name" validate:"required"` + + // The origin share this accessor share is referring to. + // + // This property will be present when the `accessor_binding_role` is `accessor`. + OriginShare *ShareReference `json:"origin_share,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) for + // this file share. + Profile *ShareProfileReference `json:"profile" validate:"required"` + + // The replica file share for this source file share. + // + // This property will be present when the `replication_role` is `source`. + ReplicaShare *ShareReference `json:"replica_share,omitempty"` + + // The cron specification for the file share replication schedule. + // + // This property will be present when the `replication_role` is `replica`. + ReplicationCronSpec *string `json:"replication_cron_spec,omitempty"` + + // The replication role of the file share: + // - `none`: This share is not participating in replication. + // - `replica`: This share is a replication target. + // - `source`: This share is a replication source. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ReplicationRole *string `json:"replication_role" validate:"required"` + + // The replication status of the file share: + // - `active`: This share is actively participating in replication, and the replica's data is up-to-date with the + // replication schedule. + // - `degraded`: This is share is participating in replication, but the replica's data has fallen behind the + // replication schedule. + // - `failover_pending`: This share is performing a replication failover. + // - `initializing`: This share is initializing replication. + // - `none`: This share is not participating in replication. + // - `split_pending`: This share is performing a replication split. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ReplicationStatus *string `json:"replication_status" validate:"required"` + + // The reasons for the current replication status (if any). + ReplicationStatusReasons []ShareReplicationStatusReason `json:"replication_status_reasons" validate:"required"` + + // The resource group for this file share. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The size of the file share (in gigabytes), excluding share snapshots. + Size *int64 `json:"size" validate:"required"` + + // The total number of snapshots for this share. + SnapshotCount *int64 `json:"snapshot_count" validate:"required"` + + // The total size (in gigabytes) of snapshots used for this file share. + SnapshotSize *int64 `json:"snapshot_size" validate:"required"` + + // The source file share for this replica file share. + // + // This property will be present when the `replication_role` is `replica`. + SourceShare *ShareReference `json:"source_share,omitempty"` + + // The snapshot this file share was cloned from. + // + // This property will be present when the share was created from a snapshot. + // + // The resources supported by this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the + // future. + SourceSnapshot ShareSourceSnapshotIntf `json:"source_snapshot,omitempty"` + + // The [storage + // generation](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api#using-api-iops-profiles): + // - `1`: The first storage generation + // - `2`: The second storage generation + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + StorageGeneration *int64 `json:"storage_generation" validate:"required"` + + // The tags for this resource. + UserTags []string `json:"user_tags" validate:"required"` + + // The zone this file share resides in. + // + // This property will be absent for shares with an `availability_mode` of `regional`. + Zone *ZoneReference `json:"zone,omitempty"` +} + +// Constants associated with the Share.AccessControlMode property. +// The access control mode for the share: +// +// - `security_group`: The security groups on the virtual network interface for a mount +// target control access to the mount target. +// - `vpc`: All clients in the VPC for a mount target have access to the mount target. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareAccessControlModeSecurityGroupConst = "security_group" + ShareAccessControlModeVPCConst = "vpc" +) + +// Constants associated with the Share.AccessorBindingRole property. +// The accessor binding role of this file share: +// - `none`: This file share is not participating in access with another file share +// - `origin`: This file share is the origin for one or more file shares +// (which may be in other accounts) +// - `accessor`: This file share is providing access to another file share +// (which may be in another account). +const ( + ShareAccessorBindingRoleAccessorConst = "accessor" + ShareAccessorBindingRoleNoneConst = "none" + ShareAccessorBindingRoleOriginConst = "origin" +) + +// Constants associated with the Share.AllowedAccessProtocols property. +const ( + ShareAllowedAccessProtocolsNfs4Const = "nfs4" +) + +// Constants associated with the Share.AllowedTransitEncryptionModes property. +const ( + ShareAllowedTransitEncryptionModesIpsecConst = "ipsec" + ShareAllowedTransitEncryptionModesNoneConst = "none" + ShareAllowedTransitEncryptionModesStunnelConst = "stunnel" +) + +// Constants associated with the Share.AvailabilityMode property. +// The data availability mode of the share: +// - `zonal`: The share's data will be available provided the `zone` of the share is +// available. Additionally, disasters affecting the zone may lead to data loss. +// - `regional`: The share's data will be available provided at least one zone in the +// region is available. Additionally, disasters affecting the entire region may lead +// to data loss. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareAvailabilityModeRegionalConst = "regional" + ShareAvailabilityModeZonalConst = "zonal" +) + +// Constants associated with the Share.Encryption property. +// The type of encryption used for this file share. +const ( + ShareEncryptionProviderManagedConst = "provider_managed" + ShareEncryptionUserManagedConst = "user_managed" +) + +// Constants associated with the Share.LifecycleState property. +// The lifecycle state of the file share. +const ( + ShareLifecycleStateDeletingConst = "deleting" + ShareLifecycleStateFailedConst = "failed" + ShareLifecycleStatePendingConst = "pending" + ShareLifecycleStateStableConst = "stable" + ShareLifecycleStateSuspendedConst = "suspended" + ShareLifecycleStateUpdatingConst = "updating" + ShareLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the Share.ReplicationRole property. +// The replication role of the file share: +// - `none`: This share is not participating in replication. +// - `replica`: This share is a replication target. +// - `source`: This share is a replication source. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareReplicationRoleNoneConst = "none" + ShareReplicationRoleReplicaConst = "replica" + ShareReplicationRoleSourceConst = "source" +) + +// Constants associated with the Share.ReplicationStatus property. +// The replication status of the file share: +// - `active`: This share is actively participating in replication, and the replica's data is up-to-date with the +// replication schedule. +// - `degraded`: This is share is participating in replication, but the replica's data has fallen behind the replication +// schedule. +// - `failover_pending`: This share is performing a replication failover. +// - `initializing`: This share is initializing replication. +// - `none`: This share is not participating in replication. +// - `split_pending`: This share is performing a replication split. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareReplicationStatusActiveConst = "active" + ShareReplicationStatusDegradedConst = "degraded" + ShareReplicationStatusFailoverPendingConst = "failover_pending" + ShareReplicationStatusInitializingConst = "initializing" + ShareReplicationStatusNoneConst = "none" + ShareReplicationStatusSplitPendingConst = "split_pending" +) + +// Constants associated with the Share.ResourceType property. +// The resource type. +const ( + ShareResourceTypeShareConst = "share" +) + +// UnmarshalShare unmarshals an instance of Share from the specified map of raw messages. +func UnmarshalShare(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Share) + err = core.UnmarshalPrimitive(m, "access_control_mode", &obj.AccessControlMode) + if err != nil { + err = core.SDKErrorf(err, "", "access_control_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "accessor_binding_role", &obj.AccessorBindingRole) + if err != nil { + err = core.SDKErrorf(err, "", "accessor_binding_role-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "accessor_bindings", &obj.AccessorBindings, UnmarshalShareAccessorBindingReference) + if err != nil { + err = core.SDKErrorf(err, "", "accessor_bindings-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_access_protocols", &obj.AllowedAccessProtocols) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_access_protocols-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "availability_mode", &obj.AvailabilityMode) + if err != nil { + err = core.SDKErrorf(err, "", "availability_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encryption", &obj.Encryption) + if err != nil { + err = core.SDKErrorf(err, "", "encryption-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "initial_owner", &obj.InitialOwner, UnmarshalShareInitialOwner) + if err != nil { + err = core.SDKErrorf(err, "", "initial_owner-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "latest_job", &obj.LatestJob, UnmarshalShareJob) + if err != nil { + err = core.SDKErrorf(err, "", "latest_job-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "latest_sync", &obj.LatestSync, UnmarshalShareLatestSync) + if err != nil { + err = core.SDKErrorf(err, "", "latest_sync-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalShareLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "mount_targets", &obj.MountTargets, UnmarshalShareMountTargetReference) + if err != nil { + err = core.SDKErrorf(err, "", "mount_targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "origin_share", &obj.OriginShare, UnmarshalShareReference) + if err != nil { + err = core.SDKErrorf(err, "", "origin_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalShareProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "replica_share", &obj.ReplicaShare, UnmarshalShareReference) + if err != nil { + err = core.SDKErrorf(err, "", "replica_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "replication_cron_spec", &obj.ReplicationCronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "replication_cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "replication_role", &obj.ReplicationRole) + if err != nil { + err = core.SDKErrorf(err, "", "replication_role-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "replication_status", &obj.ReplicationStatus) + if err != nil { + err = core.SDKErrorf(err, "", "replication_status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "replication_status_reasons", &obj.ReplicationStatusReasons, UnmarshalShareReplicationStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "replication_status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "snapshot_count", &obj.SnapshotCount) + if err != nil { + err = core.SDKErrorf(err, "", "snapshot_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "snapshot_size", &obj.SnapshotSize) + if err != nil { + err = core.SDKErrorf(err, "", "snapshot_size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_share", &obj.SourceShare, UnmarshalShareReference) + if err != nil { + err = core.SDKErrorf(err, "", "source_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalShareSourceSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "storage_generation", &obj.StorageGeneration) + if err != nil { + err = core.SDKErrorf(err, "", "storage_generation-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareAccessorBinding : ShareAccessorBinding struct +type ShareAccessorBinding struct { + // The accessor for this share accessor binding. + Accessor ShareAccessorBindingAccessorIntf `json:"accessor" validate:"required"` + + // The date and time that the share accessor binding was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this share accessor binding. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this share accessor binding. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the file share accessor binding. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ShareAccessorBinding.LifecycleState property. +// The lifecycle state of the file share accessor binding. +const ( + ShareAccessorBindingLifecycleStateDeletingConst = "deleting" + ShareAccessorBindingLifecycleStateFailedConst = "failed" + ShareAccessorBindingLifecycleStatePendingConst = "pending" + ShareAccessorBindingLifecycleStateStableConst = "stable" + ShareAccessorBindingLifecycleStateSuspendedConst = "suspended" + ShareAccessorBindingLifecycleStateUpdatingConst = "updating" + ShareAccessorBindingLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the ShareAccessorBinding.ResourceType property. +// The resource type. +const ( + ShareAccessorBindingResourceTypeShareAccessorBindingConst = "share_accessor_binding" +) + +// UnmarshalShareAccessorBinding unmarshals an instance of ShareAccessorBinding from the specified map of raw messages. +func UnmarshalShareAccessorBinding(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareAccessorBinding) + err = core.UnmarshalModel(m, "accessor", &obj.Accessor, UnmarshalShareAccessorBindingAccessor) + if err != nil { + err = core.SDKErrorf(err, "", "accessor-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareAccessorBindingAccessor : The accessor for this share accessor binding. +// Models which "extend" this model: +// - ShareAccessorBindingAccessorShareReference +// - ShareAccessorBindingAccessorWatsonxMachineLearningReference +type ShareAccessorBindingAccessor struct { + // The CRN for this file share. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this file share. + Href *string `json:"href,omitempty"` + + // The unique identifier for this file share. + ID *string `json:"id,omitempty"` + + // The name for this share. The name is unique across all shares in the region. + Name *string `json:"name,omitempty"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *ShareRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the ShareAccessorBindingAccessor.ResourceType property. +// The resource type. +const ( + ShareAccessorBindingAccessorResourceTypeShareConst = "share" +) + +func (*ShareAccessorBindingAccessor) isaShareAccessorBindingAccessor() bool { + return true +} + +type ShareAccessorBindingAccessorIntf interface { + isaShareAccessorBindingAccessor() bool +} + +// UnmarshalShareAccessorBindingAccessor unmarshals an instance of ShareAccessorBindingAccessor from the specified map of raw messages. +func UnmarshalShareAccessorBindingAccessor(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareAccessorBindingAccessor) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalShareRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareAccessorBindingCollection : ShareAccessorBindingCollection struct +type ShareAccessorBindingCollection struct { + // A page of accessor bindings for the share. + AccessorBindings []ShareAccessorBinding `json:"accessor_bindings" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalShareAccessorBindingCollection unmarshals an instance of ShareAccessorBindingCollection from the specified map of raw messages. +func UnmarshalShareAccessorBindingCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareAccessorBindingCollection) + err = core.UnmarshalModel(m, "accessor_bindings", &obj.AccessorBindings, UnmarshalShareAccessorBinding) + if err != nil { + err = core.SDKErrorf(err, "", "accessor_bindings-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ShareAccessorBindingCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ShareAccessorBindingReference : ShareAccessorBindingReference struct +type ShareAccessorBindingReference struct { + // The URL for this share accessor binding. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this share accessor binding. + ID *string `json:"id" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ShareAccessorBindingReference.ResourceType property. +// The resource type. +const ( + ShareAccessorBindingReferenceResourceTypeShareAccessorBindingConst = "share_accessor_binding" +) + +// UnmarshalShareAccessorBindingReference unmarshals an instance of ShareAccessorBindingReference from the specified map of raw messages. +func UnmarshalShareAccessorBindingReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareAccessorBindingReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareCollection : ShareCollection struct +type ShareCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of file shares. + Shares []Share `json:"shares" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalShareCollection unmarshals an instance of ShareCollection from the specified map of raw messages. +func UnmarshalShareCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "shares", &obj.Shares, UnmarshalShare) + if err != nil { + err = core.SDKErrorf(err, "", "shares-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ShareCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ShareIdentity : Identifies a file share by a unique property. +// Models which "extend" this model: +// - ShareIdentityByID +// - ShareIdentityByCRN +// - ShareIdentityByHref +type ShareIdentity struct { + // The unique identifier for this file share. + ID *string `json:"id,omitempty"` + + // The CRN for this file share. + CRN *string `json:"crn,omitempty"` + + // The URL for this file share. + Href *string `json:"href,omitempty"` +} + +func (*ShareIdentity) isaShareIdentity() bool { + return true +} + +type ShareIdentityIntf interface { + isaShareIdentity() bool +} + +// UnmarshalShareIdentity unmarshals an instance of ShareIdentity from the specified map of raw messages. +func UnmarshalShareIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareInitialOwner : ShareInitialOwner struct +type ShareInitialOwner struct { + // The initial group identifier for the file share. + Gid *int64 `json:"gid,omitempty"` + + // The initial user identifier for the file share. + Uid *int64 `json:"uid,omitempty"` +} + +// UnmarshalShareInitialOwner unmarshals an instance of ShareInitialOwner from the specified map of raw messages. +func UnmarshalShareInitialOwner(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareInitialOwner) + err = core.UnmarshalPrimitive(m, "gid", &obj.Gid) + if err != nil { + err = core.SDKErrorf(err, "", "gid-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uid", &obj.Uid) + if err != nil { + err = core.SDKErrorf(err, "", "uid-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareJob : ShareJob struct +type ShareJob struct { + // The status of the file share job: + // - `cancelled`: This job has been cancelled. + // - `failed`: This job has failed. + // - `queued`: This job is queued. + // - `running`: This job is running. + // - `succeeded`: This job completed successfully. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the file share job status (if any). + StatusReasons []ShareJobStatusReason `json:"status_reasons" validate:"required"` + + // The type of the file share job: + // - `replication_failover`: This is a share replication failover job. + // - `replication_init`: This is a share replication is initialization job. + // - `replication_split`: This is a share replication split job. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the ShareJob.Status property. +// The status of the file share job: +// - `cancelled`: This job has been cancelled. +// - `failed`: This job has failed. +// - `queued`: This job is queued. +// - `running`: This job is running. +// - `succeeded`: This job completed successfully. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareJobStatusCancelledConst = "cancelled" + ShareJobStatusFailedConst = "failed" + ShareJobStatusQueuedConst = "queued" + ShareJobStatusRunningConst = "running" + ShareJobStatusSucceededConst = "succeeded" +) + +// Constants associated with the ShareJob.Type property. +// The type of the file share job: +// - `replication_failover`: This is a share replication failover job. +// - `replication_init`: This is a share replication is initialization job. +// - `replication_split`: This is a share replication split job. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareJobTypeReplicationFailoverConst = "replication_failover" + ShareJobTypeReplicationInitConst = "replication_init" + ShareJobTypeReplicationSplitConst = "replication_split" +) + +// UnmarshalShareJob unmarshals an instance of ShareJob from the specified map of raw messages. +func UnmarshalShareJob(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareJob) + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalShareJobStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareJobStatusReason : ShareJobStatusReason struct +type ShareJobStatusReason struct { + // A snake case string succinctly identifying the status reason. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ShareJobStatusReason.Code property. +// A snake case string succinctly identifying the status reason. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareJobStatusReasonCodeCannotInitializeReplicationConst = "cannot_initialize_replication" + ShareJobStatusReasonCodeCannotReachReplicaShareConst = "cannot_reach_replica_share" + ShareJobStatusReasonCodeCannotReachSourceShareConst = "cannot_reach_source_share" +) + +// UnmarshalShareJobStatusReason unmarshals an instance of ShareJobStatusReason from the specified map of raw messages. +func UnmarshalShareJobStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareJobStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareLatestSync : Information about the latest synchronization for this file share. +// +// This property will be present when the `replication_role` is `replica` and at least one replication sync has been +// completed. +type ShareLatestSync struct { + // The completed date and time of last synchronization between the replica share and its source. + CompletedAt *strfmt.DateTime `json:"completed_at" validate:"required"` + + // The data transferred (in bytes) in the last synchronization between the replica and its source. + DataTransferred *int64 `json:"data_transferred" validate:"required"` + + // The start date and time of last synchronization between the replica share and its source. + StartedAt *strfmt.DateTime `json:"started_at" validate:"required"` +} + +// UnmarshalShareLatestSync unmarshals an instance of ShareLatestSync from the specified map of raw messages. +func UnmarshalShareLatestSync(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareLatestSync) + err = core.UnmarshalPrimitive(m, "completed_at", &obj.CompletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "completed_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "data_transferred", &obj.DataTransferred) + if err != nil { + err = core.SDKErrorf(err, "", "data_transferred-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "started_at", &obj.StartedAt) + if err != nil { + err = core.SDKErrorf(err, "", "started_at-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareLifecycleReason : ShareLifecycleReason struct +type ShareLifecycleReason struct { + // A reason code for this lifecycle state: + // - `cloning_failed`: The file share could not be cloned from the snapshot + // (contact IBM support) + // - `cloning_in_progress`: The file share is currently being cloned from the snapshot + // - `internal_error`: internal error (contact IBM support) + // - `origin_share_access_revoked`: The resource has been revoked by the share owner + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ShareLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `cloning_failed`: The file share could not be cloned from the snapshot +// (contact IBM support) +// - `cloning_in_progress`: The file share is currently being cloned from the snapshot +// - `internal_error`: internal error (contact IBM support) +// - `origin_share_access_revoked`: The resource has been revoked by the share owner +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareLifecycleReasonCodeCloningFailedConst = "cloning_failed" + ShareLifecycleReasonCodeCloningInProgressConst = "cloning_in_progress" + ShareLifecycleReasonCodeInternalErrorConst = "internal_error" + ShareLifecycleReasonCodeOriginShareAccessRevokedConst = "origin_share_access_revoked" + ShareLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalShareLifecycleReason unmarshals an instance of ShareLifecycleReason from the specified map of raw messages. +func UnmarshalShareLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTarget : ShareMountTarget struct +type ShareMountTarget struct { + // The access control mode for the share: + // + // - `security_group`: The security groups on the virtual network interface for a mount + // target control access to the mount target. + // - `vpc`: All clients in the VPC for a mount target have access to the mount target. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AccessControlMode *string `json:"access_control_mode" validate:"required"` + + // The protocol used to access the share for this share mount target: + // - `nfs4`: NFSv4 will be used. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AccessProtocol *string `json:"access_protocol" validate:"required"` + + // The date and time that the share mount target was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this share mount target. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this share mount target. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the mount target. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The mount path for the share. The server component of the mount path may be either an IP address or a fully + // qualified domain name. + // + // This property will be absent if the `lifecycle_state` of the mount target is + // 'pending', `failed`, or `deleting`. + // + // If the share's `access_control_mode` is: + // + // - `security_group`: The IP address used in the mount path is the `primary_ip` + // address of the virtual network interface for this share mount target. + // - `vpc`: The fully-qualified domain name used in the mount path is an address that + // resolves to the share mount target. + MountPath *string `json:"mount_path,omitempty"` + + // The name for this share mount target. The name is unique across all mount targets for the file share. + Name *string `json:"name" validate:"required"` + + // The primary IP address of the virtual network interface for the share mount target. + // + // Absent if `access_control_mode` is `vpc`. + PrimaryIP *ReservedIPReference `json:"primary_ip,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The subnet of the virtual network interface for the share mount target. + // + // Absent if `access_control_mode` is `vpc`. + Subnet *SubnetReference `json:"subnet,omitempty"` + + // The transit encryption mode for this share mount target: + // - `none`: Not encrypted in transit. + // - `ipsec`: Encrypted in transit using an instance identity certificate. + // - `stunnel`: Encrypted in transit using a connection via the installed stunnel + // client. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + TransitEncryption *string `json:"transit_encryption" validate:"required"` + + // The virtual network interface for this file share mount target. + // + // This property will be present when the `access_control_mode` is `security_group`. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface,omitempty"` + + // If `access_control_mode` is: + // + // - `security_group`: The VPC for the virtual network interface for this share mount + // target + // - `vpc`: The VPC in which clients can mount the file share using this share + // mount target. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// Constants associated with the ShareMountTarget.AccessControlMode property. +// The access control mode for the share: +// +// - `security_group`: The security groups on the virtual network interface for a mount +// target control access to the mount target. +// - `vpc`: All clients in the VPC for a mount target have access to the mount target. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareMountTargetAccessControlModeSecurityGroupConst = "security_group" + ShareMountTargetAccessControlModeVPCConst = "vpc" +) + +// Constants associated with the ShareMountTarget.AccessProtocol property. +// The protocol used to access the share for this share mount target: +// - `nfs4`: NFSv4 will be used. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareMountTargetAccessProtocolNfs4Const = "nfs4" +) + +// Constants associated with the ShareMountTarget.LifecycleState property. +// The lifecycle state of the mount target. +const ( + ShareMountTargetLifecycleStateDeletingConst = "deleting" + ShareMountTargetLifecycleStateFailedConst = "failed" + ShareMountTargetLifecycleStatePendingConst = "pending" + ShareMountTargetLifecycleStateStableConst = "stable" + ShareMountTargetLifecycleStateSuspendedConst = "suspended" + ShareMountTargetLifecycleStateUpdatingConst = "updating" + ShareMountTargetLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the ShareMountTarget.ResourceType property. +// The resource type. +const ( + ShareMountTargetResourceTypeShareMountTargetConst = "share_mount_target" +) + +// Constants associated with the ShareMountTarget.TransitEncryption property. +// The transit encryption mode for this share mount target: +// - `none`: Not encrypted in transit. +// - `ipsec`: Encrypted in transit using an instance identity certificate. +// - `stunnel`: Encrypted in transit using a connection via the installed stunnel +// client. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareMountTargetTransitEncryptionIpsecConst = "ipsec" + ShareMountTargetTransitEncryptionNoneConst = "none" + ShareMountTargetTransitEncryptionStunnelConst = "stunnel" +) + +// UnmarshalShareMountTarget unmarshals an instance of ShareMountTarget from the specified map of raw messages. +func UnmarshalShareMountTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTarget) + err = core.UnmarshalPrimitive(m, "access_control_mode", &obj.AccessControlMode) + if err != nil { + err = core.SDKErrorf(err, "", "access_control_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "access_protocol", &obj.AccessProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "access_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mount_path", &obj.MountPath) + if err != nil { + err = core.SDKErrorf(err, "", "mount_path-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "transit_encryption", &obj.TransitEncryption) + if err != nil { + err = core.SDKErrorf(err, "", "transit_encryption-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetCollection : ShareMountTargetCollection struct +type ShareMountTargetCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A page of mount targets for the share. + MountTargets []ShareMountTarget `json:"mount_targets" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalShareMountTargetCollection unmarshals an instance of ShareMountTargetCollection from the specified map of raw messages. +func UnmarshalShareMountTargetCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "mount_targets", &obj.MountTargets, UnmarshalShareMountTarget) + if err != nil { + err = core.SDKErrorf(err, "", "mount_targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ShareMountTargetCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ShareMountTargetPatch : ShareMountTargetPatch struct +type ShareMountTargetPatch struct { + // The name for this share mount target. The name must not be used by another mount target for the file share. + Name *string `json:"name,omitempty"` +} + +// UnmarshalShareMountTargetPatch unmarshals an instance of ShareMountTargetPatch from the specified map of raw messages. +func UnmarshalShareMountTargetPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ShareMountTargetPatch +func (shareMountTargetPatch *ShareMountTargetPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(shareMountTargetPatch.Name) { + _patch["name"] = shareMountTargetPatch.Name + } + + return +} + +// ShareMountTargetPrototype : ShareMountTargetPrototype struct +// Models which "extend" this model: +// - ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup +// - ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC +type ShareMountTargetPrototype struct { + // The protocol to use to access the share for this share mount target: + // - `nfs4`: NFSv4 will be used. + // + // The specified value must be listed in the share's `allowed_access_protocols`. + AccessProtocol *string `json:"access_protocol" validate:"required"` + + // The name for this share mount target. The name must not be used by another mount target for the file share. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The transit encryption mode to use for this share mount target: + // - `none`: Not encrypted in transit. + // - `ipsec`: Encrypted in transit using an instance identity certificate. The + // `access_control_mode` for the share must be `security_group`. + // - `stunnel`: Encrypted in transit using an stunnel connection. The + // `access_control_mode` for the share must be `security_group`. + // + // The specified value must be listed in the share's + // `allowed_transit_encryption_modes`. + TransitEncryption *string `json:"transit_encryption" validate:"required"` + + VirtualNetworkInterface ShareMountTargetVirtualNetworkInterfacePrototypeIntf `json:"virtual_network_interface,omitempty"` + + // Identifies a VPC by a unique property. + VPC VPCIdentityIntf `json:"vpc,omitempty"` +} + +// Constants associated with the ShareMountTargetPrototype.AccessProtocol property. +// The protocol to use to access the share for this share mount target: +// - `nfs4`: NFSv4 will be used. +// +// The specified value must be listed in the share's `allowed_access_protocols`. +const ( + ShareMountTargetPrototypeAccessProtocolNfs4Const = "nfs4" +) + +// Constants associated with the ShareMountTargetPrototype.TransitEncryption property. +// The transit encryption mode to use for this share mount target: +// - `none`: Not encrypted in transit. +// - `ipsec`: Encrypted in transit using an instance identity certificate. The +// `access_control_mode` for the share must be `security_group`. +// - `stunnel`: Encrypted in transit using an stunnel connection. The +// `access_control_mode` for the share must be `security_group`. +// +// The specified value must be listed in the share's +// `allowed_transit_encryption_modes`. +const ( + ShareMountTargetPrototypeTransitEncryptionIpsecConst = "ipsec" + ShareMountTargetPrototypeTransitEncryptionNoneConst = "none" + ShareMountTargetPrototypeTransitEncryptionStunnelConst = "stunnel" +) + +func (*ShareMountTargetPrototype) isaShareMountTargetPrototype() bool { + return true +} + +type ShareMountTargetPrototypeIntf interface { + isaShareMountTargetPrototype() bool +} + +// UnmarshalShareMountTargetPrototype unmarshals an instance of ShareMountTargetPrototype from the specified map of raw messages. +func UnmarshalShareMountTargetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetPrototype) + err = core.UnmarshalPrimitive(m, "access_protocol", &obj.AccessProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "access_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "transit_encryption", &obj.TransitEncryption) + if err != nil { + err = core.SDKErrorf(err, "", "transit_encryption-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalShareMountTargetVirtualNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetReference : ShareMountTargetReference struct +type ShareMountTargetReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this share mount target. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this share mount target. + ID *string `json:"id" validate:"required"` + + // The name for this share mount target. The name is unique across all mount targets for the file share. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ShareMountTargetReference.ResourceType property. +// The resource type. +const ( + ShareMountTargetReferenceResourceTypeShareMountTargetConst = "share_mount_target" +) + +// UnmarshalShareMountTargetReference unmarshals an instance of ShareMountTargetReference from the specified map of raw messages. +func UnmarshalShareMountTargetReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetVirtualNetworkInterfacePrototype : ShareMountTargetVirtualNetworkInterfacePrototype struct +// Models which "extend" this model: +// - ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext +// - ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity +type ShareMountTargetVirtualNetworkInterfacePrototype struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on + // this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP + // identity, or a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be + // in the primary IP's subnet. + // + // If reserved IP identities are provided, the specified reserved IPs must be unbound. + // + // If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network + // interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet + // will be automatically selected and reserved. + Ips []VirtualNetworkInterfaceIPPrototypeIntf `json:"ips,omitempty"` + + // The name for this virtual network interface. The name must not be used by another virtual network interface in the + // VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are + // reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the virtual network interface. May be either a + // reserved IP identity, or a reserved IP prototype object which will be used to create a + // new reserved IP. + // + // If a reserved IP identity is provided, the specified reserved IP must be unbound. + // + // If a reserved IP prototype object with an address is provided, the address must be + // available on the virtual network interface's subnet. If no address is specified, + // an available address on the subnet will be automatically selected and reserved. + PrimaryIP VirtualNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The protocol state filtering mode to use for this virtual network interface. If + // `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` + // resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode,omitempty"` + + // The resource group to use for this virtual network interface. If unspecified, the + // share's resource group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC + // for the subnet is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. Required if `primary_ip` does not specify a reserved IP + // identity. + Subnet SubnetIdentityIntf `json:"subnet,omitempty"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +// Constants associated with the ShareMountTargetVirtualNetworkInterfacePrototype.ProtocolStateFilteringMode property. +// The protocol state filtering mode to use for this virtual network interface. If +// `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` +// resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. +const ( + ShareMountTargetVirtualNetworkInterfacePrototypeProtocolStateFilteringModeAutoConst = "auto" + ShareMountTargetVirtualNetworkInterfacePrototypeProtocolStateFilteringModeEnabledConst = "enabled" +) + +func (*ShareMountTargetVirtualNetworkInterfacePrototype) isaShareMountTargetVirtualNetworkInterfacePrototype() bool { + return true +} + +type ShareMountTargetVirtualNetworkInterfacePrototypeIntf interface { + isaShareMountTargetVirtualNetworkInterfacePrototype() bool +} + +// UnmarshalShareMountTargetVirtualNetworkInterfacePrototype unmarshals an instance of ShareMountTargetVirtualNetworkInterfacePrototype from the specified map of raw messages. +func UnmarshalShareMountTargetVirtualNetworkInterfacePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetVirtualNetworkInterfacePrototype) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalVirtualNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalVirtualNetworkInterfacePrimaryIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state_filtering_mode", &obj.ProtocolStateFilteringMode) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state_filtering_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SharePatch : SharePatch struct +type SharePatch struct { + // The access control mode for the share: + // + // - `security_group`: The security groups on the virtual network interface for a + // mount target control access to the mount target. + // - `vpc`: All clients in the VPC for a mount target have access to the mount target. + // + // For this property to be changed, the share must have no mount targets, + // `replication_role` must be `none` and `accessor_binding_role` must not be `accessor`. + AccessControlMode *string `json:"access_control_mode,omitempty"` + + // The access protocols to allow for this share (replacing any existing access protocols). + // + // If the share has existing mount targets, the set of allowed access protocols must contain all `access_protocol` + // modes specified by existing mount targets. + // + // For this property to be updated, the `accessor_binding_role` must be `none`. + AllowedAccessProtocols []string `json:"allowed_access_protocols,omitempty"` + + // The transit encryption modes to allow for this share + // (replacing the existing allowed transit encryption modes). The specified transit encryption modes must contain all + // transit_encryption modes specified by existing mount targets. + // + // For this property to be updated, the `accessor_binding_role` must be `none`. + AllowedTransitEncryptionModes []string `json:"allowed_transit_encryption_modes,omitempty"` + + // The maximum bandwidth (in megabits per second) for the share. + // + // For this property to be changed, the share `accessor_binding_role` must not be + // `accessor`, the share profile must not have a `bandwidth.type` of `dependent` or + // `fixed`, and the specified value must be within the `bandwidth` range of the share's profile. + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The maximum input/output operations per second (IOPS) for the file share. + // + // The maximum IOPS for a share may increase in the future. For this property to be changed, the share + // `accessor_binding_role` must not be `accessor`, the share profile must not have an `iops.type` of `dependent` or + // `fixed`, and the specified value must be within the `iops` range of the share's profile supported by the share's + // size. + Iops *int64 `json:"iops,omitempty"` + + // The name for this share. The name must not be used by another share in the region. + Name *string `json:"name,omitempty"` + + // The profile to use for this file share. + // + // The requested profile must be in the same `family`. + Profile ShareProfileIdentityIntf `json:"profile,omitempty"` + + // The cron specification for the file share replication schedule. + // + // Replication of a share can be scheduled to occur at most once every 15 minutes. + // + // For this property to be changed, the share `replication_role` must be `replica`. + ReplicationCronSpec *string `json:"replication_cron_spec,omitempty"` + + // The size of the file share (in gigabytes), excluding share snapshots. The value must not be less than the share's + // current size, and must not exceed the maximum supported by the share's profile and IOPS. + // + // For this property to be changed: + // - The share `lifecycle_state` must be `stable` + // - The share `replication_role` must not be `replica` + // - The share `accessor_binding_role` must not be `accessor`. + Size *int64 `json:"size,omitempty"` + + // The tags for this resource. + UserTags []string `json:"user_tags,omitempty"` +} + +// Constants associated with the SharePatch.AccessControlMode property. +// The access control mode for the share: +// +// - `security_group`: The security groups on the virtual network interface for a +// mount target control access to the mount target. +// - `vpc`: All clients in the VPC for a mount target have access to the mount target. +// +// For this property to be changed, the share must have no mount targets, +// `replication_role` must be `none` and `accessor_binding_role` must not be `accessor`. +const ( + SharePatchAccessControlModeSecurityGroupConst = "security_group" + SharePatchAccessControlModeVPCConst = "vpc" +) + +// Constants associated with the SharePatch.AllowedAccessProtocols property. +const ( + SharePatchAllowedAccessProtocolsNfs4Const = "nfs4" +) + +// Constants associated with the SharePatch.AllowedTransitEncryptionModes property. +const ( + SharePatchAllowedTransitEncryptionModesIpsecConst = "ipsec" + SharePatchAllowedTransitEncryptionModesNoneConst = "none" + SharePatchAllowedTransitEncryptionModesStunnelConst = "stunnel" +) + +// UnmarshalSharePatch unmarshals an instance of SharePatch from the specified map of raw messages. +func UnmarshalSharePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SharePatch) + err = core.UnmarshalPrimitive(m, "access_control_mode", &obj.AccessControlMode) + if err != nil { + err = core.SDKErrorf(err, "", "access_control_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_access_protocols", &obj.AllowedAccessProtocols) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_access_protocols-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalShareProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "replication_cron_spec", &obj.ReplicationCronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "replication_cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the SharePatch +func (sharePatch *SharePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(sharePatch.AccessControlMode) { + _patch["access_control_mode"] = sharePatch.AccessControlMode + } + if !core.IsNil(sharePatch.AllowedAccessProtocols) { + _patch["allowed_access_protocols"] = sharePatch.AllowedAccessProtocols + } + if !core.IsNil(sharePatch.AllowedTransitEncryptionModes) { + _patch["allowed_transit_encryption_modes"] = sharePatch.AllowedTransitEncryptionModes + } + if !core.IsNil(sharePatch.Bandwidth) { + _patch["bandwidth"] = sharePatch.Bandwidth + } + if !core.IsNil(sharePatch.Iops) { + _patch["iops"] = sharePatch.Iops + } + if !core.IsNil(sharePatch.Name) { + _patch["name"] = sharePatch.Name + } + if !core.IsNil(sharePatch.Profile) { + _patch["profile"] = sharePatch.Profile.asPatch() + } + if !core.IsNil(sharePatch.ReplicationCronSpec) { + _patch["replication_cron_spec"] = sharePatch.ReplicationCronSpec + } + if !core.IsNil(sharePatch.Size) { + _patch["size"] = sharePatch.Size + } + if !core.IsNil(sharePatch.UserTags) { + _patch["user_tags"] = sharePatch.UserTags + } + + return +} + +// ShareProfile : ShareProfile struct +type ShareProfile struct { + // The possible allowed access protocols for a share with this profile. + AllowedAccessProtocols ShareProfileAllowedAccessProtocolsIntf `json:"allowed_access_protocols" validate:"required"` + + // The possible allowed transit encryption modes for a share with this profile. + AllowedTransitEncryptionModes ShareProfileAllowedTransitEncryptionModesIntf `json:"allowed_transit_encryption_modes" validate:"required"` + + // The data availability mode of a share with this profile. + AvailabilityModes ShareProfileAvailabilityModesIntf `json:"availability_modes" validate:"required"` + + // The permitted bandwidth (in megabits per second) for a share with this profile. + Bandwidth ShareProfileBandwidthIntf `json:"bandwidth" validate:"required"` + + // The permitted capacity range (in gigabytes) for a share with this profile. + Capacity ShareProfileCapacityIntf `json:"capacity" validate:"required"` + + // The product family this share profile belongs to. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family *string `json:"family" validate:"required"` + + // The URL for this share profile. + Href *string `json:"href" validate:"required"` + + // The permitted IOPS range for a share with this profile. + Iops ShareProfileIopsIntf `json:"iops" validate:"required"` + + // The globally unique name for this share profile. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The storage generation for a share with this profile. + StorageGeneration ShareProfileStorageGenerationIntf `json:"storage_generation" validate:"required"` +} + +// Constants associated with the ShareProfile.Family property. +// The product family this share profile belongs to. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareProfileFamilyDefinedPerformanceConst = "defined_performance" +) + +// Constants associated with the ShareProfile.ResourceType property. +// The resource type. +const ( + ShareProfileResourceTypeShareProfileConst = "share_profile" +) + +// UnmarshalShareProfile unmarshals an instance of ShareProfile from the specified map of raw messages. +func UnmarshalShareProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfile) + err = core.UnmarshalModel(m, "allowed_access_protocols", &obj.AllowedAccessProtocols, UnmarshalShareProfileAllowedAccessProtocols) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_access_protocols-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes, UnmarshalShareProfileAllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "availability_modes", &obj.AvailabilityModes, UnmarshalShareProfileAvailabilityModes) + if err != nil { + err = core.SDKErrorf(err, "", "availability_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "bandwidth", &obj.Bandwidth, UnmarshalShareProfileBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "capacity", &obj.Capacity, UnmarshalShareProfileCapacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "iops", &obj.Iops, UnmarshalShareProfileIops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "storage_generation", &obj.StorageGeneration, UnmarshalShareProfileStorageGeneration) + if err != nil { + err = core.SDKErrorf(err, "", "storage_generation-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileAllowedAccessProtocols : ShareProfileAllowedAccessProtocols struct +// Models which "extend" this model: +// - ShareProfileAllowedAccessProtocolsSubset +type ShareProfileAllowedAccessProtocols struct { + // The default allowed access protocol modes for shares with this profile. + Default []string `json:"default,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The possible allowed access protocols for shares with this profile: + // - `nfs4`: NFSv4 will be used. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Values []string `json:"values,omitempty"` +} + +// Constants associated with the ShareProfileAllowedAccessProtocols.Default property. +const ( + ShareProfileAllowedAccessProtocolsDefaultNfs4Const = "nfs4" +) + +// Constants associated with the ShareProfileAllowedAccessProtocols.Type property. +// The type for this profile field. +const ( + ShareProfileAllowedAccessProtocolsTypeSubsetConst = "subset" +) + +// Constants associated with the ShareProfileAllowedAccessProtocols.Values property. +const ( + ShareProfileAllowedAccessProtocolsValuesNfs4Const = "nfs4" +) + +func (*ShareProfileAllowedAccessProtocols) isaShareProfileAllowedAccessProtocols() bool { + return true +} + +type ShareProfileAllowedAccessProtocolsIntf interface { + isaShareProfileAllowedAccessProtocols() bool +} + +// UnmarshalShareProfileAllowedAccessProtocols unmarshals an instance of ShareProfileAllowedAccessProtocols from the specified map of raw messages. +func UnmarshalShareProfileAllowedAccessProtocols(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileAllowedAccessProtocols) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileAllowedTransitEncryptionModes : ShareProfileAllowedTransitEncryptionModes struct +// Models which "extend" this model: +// - ShareProfileAllowedTransitEncryptionModesSubset +type ShareProfileAllowedTransitEncryptionModes struct { + // The default allowed transit encryption modes for shares with this profile. + Default []string `json:"default,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The allowed [transit encryption + // modes](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-about&interface=ui#fs-eit) for a share with this + // profile: + // - `none`: Not encrypted in transit. + // - `ipsec`: Encrypted in transit using an instance identity certificate. + // - `stunnel`: Encrypted in transit using a connection via an stunnel connection. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Values []string `json:"values,omitempty"` +} + +// Constants associated with the ShareProfileAllowedTransitEncryptionModes.Default property. +const ( + ShareProfileAllowedTransitEncryptionModesDefaultIpsecConst = "ipsec" + ShareProfileAllowedTransitEncryptionModesDefaultNoneConst = "none" + ShareProfileAllowedTransitEncryptionModesDefaultStunnelConst = "stunnel" +) + +// Constants associated with the ShareProfileAllowedTransitEncryptionModes.Type property. +// The type for this profile field. +const ( + ShareProfileAllowedTransitEncryptionModesTypeSubsetConst = "subset" +) + +// Constants associated with the ShareProfileAllowedTransitEncryptionModes.Values property. +const ( + ShareProfileAllowedTransitEncryptionModesValuesIpsecConst = "ipsec" + ShareProfileAllowedTransitEncryptionModesValuesNoneConst = "none" + ShareProfileAllowedTransitEncryptionModesValuesStunnelConst = "stunnel" +) + +func (*ShareProfileAllowedTransitEncryptionModes) isaShareProfileAllowedTransitEncryptionModes() bool { + return true +} + +type ShareProfileAllowedTransitEncryptionModesIntf interface { + isaShareProfileAllowedTransitEncryptionModes() bool +} + +// UnmarshalShareProfileAllowedTransitEncryptionModes unmarshals an instance of ShareProfileAllowedTransitEncryptionModes from the specified map of raw messages. +func UnmarshalShareProfileAllowedTransitEncryptionModes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileAllowedTransitEncryptionModes) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileAvailabilityModes : ShareProfileAvailabilityModes struct +// Models which "extend" this model: +// - ShareProfileAvailabilityModesEnum +// - ShareProfileAvailabilityModesFixed +type ShareProfileAvailabilityModes struct { + // The default data availability mode for this profile. + Default *string `json:"default,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The data availability mode of the share: + // - `zonal`: The data availability of this share is limited only to a single zone of a + // given region as provided by the `zone` of the share. + // - `regional`: The data availability of this share covers all zones in the region where + // the share is created. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Values []string `json:"values,omitempty"` + + // The value for this profile field. + Value *string `json:"value,omitempty"` +} + +// Constants associated with the ShareProfileAvailabilityModes.Default property. +// The default data availability mode for this profile. +const ( + ShareProfileAvailabilityModesDefaultRegionalConst = "regional" + ShareProfileAvailabilityModesDefaultZonalConst = "zonal" +) + +// Constants associated with the ShareProfileAvailabilityModes.Type property. +// The type for this profile field. +const ( + ShareProfileAvailabilityModesTypeEnumConst = "enum" +) + +// Constants associated with the ShareProfileAvailabilityModes.Values property. +const ( + ShareProfileAvailabilityModesValuesRegionalConst = "regional" + ShareProfileAvailabilityModesValuesZonalConst = "zonal" +) + +// Constants associated with the ShareProfileAvailabilityModes.Value property. +// The value for this profile field. +const ( + ShareProfileAvailabilityModesValueRegionalConst = "regional" + ShareProfileAvailabilityModesValueZonalConst = "zonal" +) + +func (*ShareProfileAvailabilityModes) isaShareProfileAvailabilityModes() bool { + return true +} + +type ShareProfileAvailabilityModesIntf interface { + isaShareProfileAvailabilityModes() bool +} + +// UnmarshalShareProfileAvailabilityModes unmarshals an instance of ShareProfileAvailabilityModes from the specified map of raw messages. +func UnmarshalShareProfileAvailabilityModes(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileAvailabilityModes) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileBandwidth : ShareProfileBandwidth struct +// Models which "extend" this model: +// - ShareProfileBandwidthRange +// - ShareProfileBandwidthDependent +// - ShareProfileBandwidthFixed +// - ShareProfileBandwidthEnum +// - ShareProfileBandwidthDependentRange +type ShareProfileBandwidth struct { + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The type for this profile field. + Type *string `json:"type,omitempty"` + + Value *int64 `json:"value,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the ShareProfileBandwidth.Type property. +// The type for this profile field. +const ( + ShareProfileBandwidthTypeRangeConst = "range" +) + +func (*ShareProfileBandwidth) isaShareProfileBandwidth() bool { + return true +} + +type ShareProfileBandwidthIntf interface { + isaShareProfileBandwidth() bool +} + +// UnmarshalShareProfileBandwidth unmarshals an instance of ShareProfileBandwidth from the specified map of raw messages. +func UnmarshalShareProfileBandwidth(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileBandwidth) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileCapacity : ShareProfileCapacity struct +// Models which "extend" this model: +// - ShareProfileCapacityFixed +// - ShareProfileCapacityEnum +// - ShareProfileCapacityRange +// - ShareProfileCapacityDependentRange +type ShareProfileCapacity struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` +} + +// Constants associated with the ShareProfileCapacity.Type property. +// The type for this profile field. +const ( + ShareProfileCapacityTypeFixedConst = "fixed" +) + +func (*ShareProfileCapacity) isaShareProfileCapacity() bool { + return true +} + +type ShareProfileCapacityIntf interface { + isaShareProfileCapacity() bool +} + +// UnmarshalShareProfileCapacity unmarshals an instance of ShareProfileCapacity from the specified map of raw messages. +func UnmarshalShareProfileCapacity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileCapacity) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileCollection : ShareProfileCollection struct +type ShareProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of share profiles. + Profiles []ShareProfile `json:"profiles" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalShareProfileCollection unmarshals an instance of ShareProfileCollection from the specified map of raw messages. +func UnmarshalShareProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profiles", &obj.Profiles, UnmarshalShareProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ShareProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ShareProfileIops : ShareProfileIops struct +// Models which "extend" this model: +// - ShareProfileIopsFixed +// - ShareProfileIopsRange +// - ShareProfileIopsEnum +// - ShareProfileIopsDependentRange +// - ShareProfileIopsDependent +type ShareProfileIops struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the ShareProfileIops.Type property. +// The type for this profile field. +const ( + ShareProfileIopsTypeFixedConst = "fixed" +) + +func (*ShareProfileIops) isaShareProfileIops() bool { + return true +} + +type ShareProfileIopsIntf interface { + isaShareProfileIops() bool +} + +// UnmarshalShareProfileIops unmarshals an instance of ShareProfileIops from the specified map of raw messages. +func UnmarshalShareProfileIops(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIops) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileIdentity : Identifies a share profile by a unique property. +// Models which "extend" this model: +// - ShareProfileIdentityByName +// - ShareProfileIdentityByHref +type ShareProfileIdentity struct { + // The globally unique name for this share profile. + Name *string `json:"name,omitempty"` + + // The URL for this share profile. + Href *string `json:"href,omitempty"` +} + +func (*ShareProfileIdentity) isaShareProfileIdentity() bool { + return true +} + +type ShareProfileIdentityIntf interface { + isaShareProfileIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalShareProfileIdentity unmarshals an instance of ShareProfileIdentity from the specified map of raw messages. +func UnmarshalShareProfileIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ShareProfileIdentity +func (shareProfileIdentity *ShareProfileIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(shareProfileIdentity.Name) { + _patch["name"] = shareProfileIdentity.Name + } + if !core.IsNil(shareProfileIdentity.Href) { + _patch["href"] = shareProfileIdentity.Href + } + + return +} + +// ShareProfileReference : ShareProfileReference struct +type ShareProfileReference struct { + // The URL for this share profile. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this share profile. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ShareProfileReference.ResourceType property. +// The resource type. +const ( + ShareProfileReferenceResourceTypeShareProfileConst = "share_profile" +) + +// UnmarshalShareProfileReference unmarshals an instance of ShareProfileReference from the specified map of raw messages. +func UnmarshalShareProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileStorageGeneration : ShareProfileStorageGeneration struct +// Models which "extend" this model: +// - ShareProfileStorageGenerationFixed +type ShareProfileStorageGeneration struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` +} + +// Constants associated with the ShareProfileStorageGeneration.Type property. +// The type for this profile field. +const ( + ShareProfileStorageGenerationTypeFixedConst = "fixed" +) + +func (*ShareProfileStorageGeneration) isaShareProfileStorageGeneration() bool { + return true +} + +type ShareProfileStorageGenerationIntf interface { + isaShareProfileStorageGeneration() bool +} + +// UnmarshalShareProfileStorageGeneration unmarshals an instance of ShareProfileStorageGeneration from the specified map of raw messages. +func UnmarshalShareProfileStorageGeneration(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileStorageGeneration) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SharePrototype : SharePrototype struct +// Models which "extend" this model: +// - SharePrototypeShareBySize +// - SharePrototypeShareBySourceShare +// - SharePrototypeShareByOriginShare +// - SharePrototypeShareBySourceSnapshot +type SharePrototype struct { + // The transit encryption modes to allow for this share. If unspecified: + // - If share mount targets are specified, then only transit encryption modes + // specified by those share mount target will be allowed. + // - Otherwise, the default allowed transit encryption modes from the profile will be + // used. + AllowedTransitEncryptionModes []string `json:"allowed_transit_encryption_modes,omitempty"` + + // The mount targets for the file share. Each mount target must be in a unique VPC. + MountTargets []ShareMountTargetPrototypeIntf `json:"mount_targets,omitempty"` + + // The name for this share. The name must not be used by another share in the region. If unspecified, the name will be + // a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // Configuration for a replica file share to create and associate with this file share. If + // unspecified, a replica may be subsequently added by creating a new file share with a + // `source_share` referencing this file share. + // + // Replica file shares can only be created for shares with an `availability_mode` of + // `zonal`. + ReplicaShare *SharePrototypeShareContext `json:"replica_share,omitempty"` + + // The tags for this resource. + UserTags []string `json:"user_tags,omitempty"` + + // The access control mode for the share: + // + // - `security_group`: The security groups on the virtual network interface for a + // mount target control access to the mount target. Mount targets for this share + // require a virtual network interface. + // - `vpc`: All clients in the VPC for a mount target have access to the mount target. + // Mount targets for this share require a VPC. + AccessControlMode *string `json:"access_control_mode,omitempty"` + + // The access protocols to allow for this share. If unspecified: + // - If share mount targets are specified, only the access protocols specified by those + // share mount target will be allowed. + // - Otherwise, the default access protocols from the profile will be used. + AllowedAccessProtocols []string `json:"allowed_access_protocols,omitempty"` + + // The maximum bandwidth (in megabits per second) for the file share. + // + // If the share profile has a `bandwidth.type` of `dependent` or `fixed`, this property is system-managed and must not + // be specified. Otherwise, the specified value must be within the `bandwidth` range of the share's profile. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`size` + // and + // `iops`](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The root key to use to wrap the data encryption key for the share. + // + // If unspecified, the `encryption` type for the share will be `provider_managed`. + // + // The specified key may be in a different account, subject to IAM policies. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The owner assigned to the file share at creation. Subsequent changes to the owner + // must be performed by a client that has mounted the file share. + InitialOwner *ShareInitialOwner `json:"initial_owner,omitempty"` + + // The maximum input/output operations per second (IOPS) for the file share. + // + // If the share profile has an `iops.type` of `dependent` or `fixed`, this property is system-managed and must not be + // specified. Otherwise, the specified value must be within the `iops` range of the share profile as supported by the + // share's specified size. + Iops *int64 `json:"iops,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use + // for this file share. The profile must support the share's specified IOPS and size. + Profile ShareProfileIdentityIntf `json:"profile,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The size of the file share (in gigabytes), excluding share snapshots. + // + // The specified value must be within the permitted `capacity` range of the share's profile and supported by the + // share's specified IOPS. + Size *int64 `json:"size,omitempty"` + + // The zone this file share will reside in. For a replica share in the same region as + // the source share, this must be a different zone from the source share. + // + // This property must be specified if the share profile `availability_mode` is `zonal`, + // and must not be specified otherwise. + Zone ZoneIdentityIntf `json:"zone,omitempty"` + + // The cron specification for the file share replication schedule. + // + // Replication of a share can be scheduled to occur at most once every 15 minutes. + // + // The scheduling frequency for this property may + // [increase](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ReplicationCronSpec *string `json:"replication_cron_spec,omitempty"` + + // The source file share for this replica file share. The specified file share must: + // - Not already have a replica. + // - Not be a replica. + // - Have a `storage_generation` of `1`. + // + // If source file share is specified by CRN, it may be in an [associated partner + // region](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-replication). + SourceShare ShareIdentityIntf `json:"source_share,omitempty"` + + // The origin share for the accessor share. The origin share must have an + // `access_control_mode` of `security_group`, and must not have an + // `accessor_binding_role` of `accessor`. + // + // The specified share may be in a different account, subject to IAM policies. + OriginShare ShareIdentityIntf `json:"origin_share,omitempty"` + + // The source snapshot to clone this file share from. + // + // This file share will reside in the same zone as the specified source snapshot. + // The snapshot must have the `lifecycle_state` as `stable` and `status` as `available` + // to be able to restore a share for it. + SourceSnapshot ShareSourceSnapshotPrototypeIntf `json:"source_snapshot,omitempty"` +} + +// Constants associated with the SharePrototype.AllowedTransitEncryptionModes property. +const ( + SharePrototypeAllowedTransitEncryptionModesIpsecConst = "ipsec" + SharePrototypeAllowedTransitEncryptionModesNoneConst = "none" + SharePrototypeAllowedTransitEncryptionModesStunnelConst = "stunnel" +) + +// Constants associated with the SharePrototype.AccessControlMode property. +// The access control mode for the share: +// +// - `security_group`: The security groups on the virtual network interface for a +// mount target control access to the mount target. Mount targets for this share +// require a virtual network interface. +// - `vpc`: All clients in the VPC for a mount target have access to the mount target. +// Mount targets for this share require a VPC. +const ( + SharePrototypeAccessControlModeSecurityGroupConst = "security_group" + SharePrototypeAccessControlModeVPCConst = "vpc" +) + +// Constants associated with the SharePrototype.AllowedAccessProtocols property. +const ( + SharePrototypeAllowedAccessProtocolsNfs4Const = "nfs4" +) + +func (*SharePrototype) isaSharePrototype() bool { + return true +} + +type SharePrototypeIntf interface { + isaSharePrototype() bool +} + +// UnmarshalSharePrototype unmarshals an instance of SharePrototype from the specified map of raw messages. +func UnmarshalSharePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SharePrototype) + err = core.UnmarshalPrimitive(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "mount_targets", &obj.MountTargets, UnmarshalShareMountTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "mount_targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "replica_share", &obj.ReplicaShare, UnmarshalSharePrototypeShareContext) + if err != nil { + err = core.SDKErrorf(err, "", "replica_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "access_control_mode", &obj.AccessControlMode) + if err != nil { + err = core.SDKErrorf(err, "", "access_control_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_access_protocols", &obj.AllowedAccessProtocols) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_access_protocols-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "initial_owner", &obj.InitialOwner, UnmarshalShareInitialOwner) + if err != nil { + err = core.SDKErrorf(err, "", "initial_owner-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalShareProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "replication_cron_spec", &obj.ReplicationCronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "replication_cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_share", &obj.SourceShare, UnmarshalShareIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "origin_share", &obj.OriginShare, UnmarshalShareIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "origin_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalShareSourceSnapshotPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SharePrototypeShareContext : Configuration for a replica file share to create and associate with this file share. If unspecified, a replica may be +// subsequently added by creating a new file share with a +// `source_share` referencing this file share. +// +// Replica file shares can only be created for shares with an `availability_mode` of +// `zonal`. +type SharePrototypeShareContext struct { + // The transit encryption modes to allow for this share. If unspecified: + // - If share mount targets are specified, then only transit encryption modes + // specified by those share mount target will be allowed. + // - Otherwise, the default allowed transit encryption modes from the profile will be + // used. + AllowedTransitEncryptionModes []string `json:"allowed_transit_encryption_modes,omitempty"` + + // The maximum input/output operations per second (IOPS) for the file share. + // + // If the share profile has an `iops.type` of `dependent` or `fixed`, this property is system-managed and must not be + // specified. Otherwise, the specified value must be within the `iops` range of the share profile as supported by the + // share's specified size. + Iops *int64 `json:"iops,omitempty"` + + // The mount targets for this replica file share. Each mount target must be in a unique VPC. + // + // A replica's mount targets must be mounted read-only. + MountTargets []ShareMountTargetPrototypeIntf `json:"mount_targets,omitempty"` + + // The name for this share. The name must not be used by another share in the region. If unspecified, the name will be + // a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use + // for this file share. The profile must: + // - support the share's specified IOPS and size, and + // - have the same `storage_generation` as the share. + Profile ShareProfileIdentityIntf `json:"profile" validate:"required"` + + // The cron specification for the file share replication schedule. + // + // Replication of a share can be scheduled to occur at most once every 15 minutes. + ReplicationCronSpec *string `json:"replication_cron_spec" validate:"required"` + + // The resource group to use. If unspecified, the resource group from + // the source share will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The tags for this resource. + UserTags []string `json:"user_tags,omitempty"` + + // The zone this replica file share will reside in. For a replica share in the same + // region as the source share, this must be a different zone from the source share. + Zone ZoneIdentityIntf `json:"zone,omitempty"` +} + +// Constants associated with the SharePrototypeShareContext.AllowedTransitEncryptionModes property. +const ( + SharePrototypeShareContextAllowedTransitEncryptionModesIpsecConst = "ipsec" + SharePrototypeShareContextAllowedTransitEncryptionModesNoneConst = "none" + SharePrototypeShareContextAllowedTransitEncryptionModesStunnelConst = "stunnel" +) + +// NewSharePrototypeShareContext : Instantiate SharePrototypeShareContext (Generic Model Constructor) +func (*VpcV1) NewSharePrototypeShareContext(profile ShareProfileIdentityIntf, replicationCronSpec string) (_model *SharePrototypeShareContext, err error) { + _model = &SharePrototypeShareContext{ + Profile: profile, + ReplicationCronSpec: core.StringPtr(replicationCronSpec), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalSharePrototypeShareContext unmarshals an instance of SharePrototypeShareContext from the specified map of raw messages. +func UnmarshalSharePrototypeShareContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SharePrototypeShareContext) + err = core.UnmarshalPrimitive(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "mount_targets", &obj.MountTargets, UnmarshalShareMountTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "mount_targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalShareProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "replication_cron_spec", &obj.ReplicationCronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "replication_cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareReference : ShareReference struct +type ShareReference struct { + // The CRN for this file share. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this file share. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this file share. + ID *string `json:"id" validate:"required"` + + // The name for this share. The name is unique across all shares in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *ShareRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ShareReference.ResourceType property. +// The resource type. +const ( + ShareReferenceResourceTypeShareConst = "share" +) + +// UnmarshalShareReference unmarshals an instance of ShareReference from the specified map of raw messages. +func UnmarshalShareReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalShareRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareRemote : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type ShareRemote struct { + // If present, this property indicates that the referenced resource is remote to this + // account, and identifies the owning account. + Account *AccountReference `json:"account,omitempty"` + + // If present, this property indicates that the referenced resource is remote to this + // region, and identifies the native region. + Region *RegionReference `json:"region,omitempty"` +} + +// UnmarshalShareRemote unmarshals an instance of ShareRemote from the specified map of raw messages. +func UnmarshalShareRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareRemote) + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareReplicationStatusReason : ShareReplicationStatusReason struct +type ShareReplicationStatusReason struct { + // A snake case string succinctly identifying the status reason. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ShareReplicationStatusReason.Code property. +// A snake case string succinctly identifying the status reason. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareReplicationStatusReasonCodeCannotInitializeReplicationConst = "cannot_initialize_replication" + ShareReplicationStatusReasonCodeCannotReachReplicaShareConst = "cannot_reach_replica_share" + ShareReplicationStatusReasonCodeCannotReachSourceShareConst = "cannot_reach_source_share" +) + +// UnmarshalShareReplicationStatusReason unmarshals an instance of ShareReplicationStatusReason from the specified map of raw messages. +func UnmarshalShareReplicationStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareReplicationStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSnapshot : ShareSnapshot struct +type ShareSnapshot struct { + // If present, the backup policy plan which created this share snapshot. + BackupPolicyPlan *BackupPolicyPlanReference `json:"backup_policy_plan,omitempty"` + + // The date and time the data capture for this share snapshot was completed. + // + // If absent, this snapshot's data has not yet been captured. + CapturedAt *strfmt.DateTime `json:"captured_at,omitempty"` + + // The date and time that the share snapshot was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this share snapshot. + CRN *string `json:"crn" validate:"required"` + + // The fingerprint for this share snapshot. Only snapshots with identical data will have the same fingerprint. This + // snapshot will also be available as a subdirectory named identically to this fingerprint in the share's `.snapshot` + // directory. + Fingerprint *string `json:"fingerprint" validate:"required"` + + // The URL for this share snapshot. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this share snapshot. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []ShareSnapshotLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of this share snapshot + // - `pending`: The share snapshot is being provisioned and is not yet usable. A + // snapshot on a replica share will remain `pending` until the next replication sync + // completes. + // - `deleting`: The share snapshot is being deleted. + // - `failed`: The share snapshot is irrecoverably unusable. + // - `stable`: The share snapshot is stable and ready for use. + // - `updating`: The share snapshot is being updated. + // - `suspended`: The share snapshot is not currently usable (see `lifecycle_reasons`). + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The minimum size of a share created from this snapshot. When a snapshot is created, this will be set to the size of + // the `source_share`. + MinimumSize *int64 `json:"minimum_size" validate:"required"` + + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name *string `json:"name" validate:"required"` + + // The resource group for this share snapshot. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of the share snapshot: + // - `available`: The share snapshot is available for use. + // - `failed`: The share snapshot is irrecoverably unusable. + // - `pending`: The share snapshot is being provisioned and is not yet usable. A + // snapshot on a replica share will remain `pending` until the next replication sync + // completes. + // - `unusable`: The share snapshot is not currently usable (see `status_reasons`) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []ShareSnapshotStatusReason `json:"status_reasons" validate:"required"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + UserTags []string `json:"user_tags" validate:"required"` + + // The zone this share snapshot resides in. For shares with `availability_mode` of + // `regional`, this property will be absent. + Zone *ZoneReference `json:"zone,omitempty"` +} + +// Constants associated with the ShareSnapshot.LifecycleState property. +// The lifecycle state of this share snapshot +// - `pending`: The share snapshot is being provisioned and is not yet usable. A +// snapshot on a replica share will remain `pending` until the next replication sync +// completes. +// - `deleting`: The share snapshot is being deleted. +// - `failed`: The share snapshot is irrecoverably unusable. +// - `stable`: The share snapshot is stable and ready for use. +// - `updating`: The share snapshot is being updated. +// - `suspended`: The share snapshot is not currently usable (see `lifecycle_reasons`). +const ( + ShareSnapshotLifecycleStateDeletingConst = "deleting" + ShareSnapshotLifecycleStateFailedConst = "failed" + ShareSnapshotLifecycleStatePendingConst = "pending" + ShareSnapshotLifecycleStateStableConst = "stable" + ShareSnapshotLifecycleStateSuspendedConst = "suspended" + ShareSnapshotLifecycleStateUpdatingConst = "updating" + ShareSnapshotLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the ShareSnapshot.ResourceType property. +// The resource type. +const ( + ShareSnapshotResourceTypeShareSnapshotConst = "share_snapshot" +) + +// Constants associated with the ShareSnapshot.Status property. +// The status of the share snapshot: +// - `available`: The share snapshot is available for use. +// - `failed`: The share snapshot is irrecoverably unusable. +// - `pending`: The share snapshot is being provisioned and is not yet usable. A +// snapshot on a replica share will remain `pending` until the next replication sync +// completes. +// - `unusable`: The share snapshot is not currently usable (see `status_reasons`) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareSnapshotStatusAvailableConst = "available" + ShareSnapshotStatusFailedConst = "failed" + ShareSnapshotStatusPendingConst = "pending" + ShareSnapshotStatusUnusableConst = "unusable" +) + +// UnmarshalShareSnapshot unmarshals an instance of ShareSnapshot from the specified map of raw messages. +func UnmarshalShareSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSnapshot) + err = core.UnmarshalModel(m, "backup_policy_plan", &obj.BackupPolicyPlan, UnmarshalBackupPolicyPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "backup_policy_plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "captured_at", &obj.CapturedAt) + if err != nil { + err = core.SDKErrorf(err, "", "captured_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fingerprint", &obj.Fingerprint) + if err != nil { + err = core.SDKErrorf(err, "", "fingerprint-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalShareSnapshotLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "minimum_size", &obj.MinimumSize) + if err != nil { + err = core.SDKErrorf(err, "", "minimum_size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalShareSnapshotStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSnapshotCollection : ShareSnapshotCollection struct +type ShareSnapshotCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of share snapshots. + Snapshots []ShareSnapshot `json:"snapshots,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalShareSnapshotCollection unmarshals an instance of ShareSnapshotCollection from the specified map of raw messages. +func UnmarshalShareSnapshotCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSnapshotCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "snapshots", &obj.Snapshots, UnmarshalShareSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "snapshots-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *ShareSnapshotCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// ShareSnapshotLifecycleReason : ShareSnapshotLifecycleReason struct +type ShareSnapshotLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ShareSnapshotLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareSnapshotLifecycleReasonCodeInternalErrorConst = "internal_error" + ShareSnapshotLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalShareSnapshotLifecycleReason unmarshals an instance of ShareSnapshotLifecycleReason from the specified map of raw messages. +func UnmarshalShareSnapshotLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSnapshotLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSnapshotPatch : ShareSnapshotPatch struct +type ShareSnapshotPatch struct { + // The name for this share snapshot. The name must be unique among all snapshots for the file share. For this property + // to be changed, the share's `replication_role` must not be + // `replica`. + Name *string `json:"name,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + UserTags []string `json:"user_tags,omitempty"` +} + +// UnmarshalShareSnapshotPatch unmarshals an instance of ShareSnapshotPatch from the specified map of raw messages. +func UnmarshalShareSnapshotPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSnapshotPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the ShareSnapshotPatch +func (shareSnapshotPatch *ShareSnapshotPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(shareSnapshotPatch.Name) { + _patch["name"] = shareSnapshotPatch.Name + } + if !core.IsNil(shareSnapshotPatch.UserTags) { + _patch["user_tags"] = shareSnapshotPatch.UserTags + } + + return +} + +// ShareSnapshotStatusReason : ShareSnapshotStatusReason struct +type ShareSnapshotStatusReason struct { + // A reason code for the status: + // - `encryption_key_deleted`: Share snapshot is unusable because its + // `encryption_key` was deleted + // - `internal_error`: Internal error (contact IBM support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the ShareSnapshotStatusReason.Code property. +// A reason code for the status: +// - `encryption_key_deleted`: Share snapshot is unusable because its +// `encryption_key` was deleted +// - `internal_error`: Internal error (contact IBM support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ShareSnapshotStatusReasonCodeEncryptionKeyDeletedConst = "encryption_key_deleted" +) + +// UnmarshalShareSnapshotStatusReason unmarshals an instance of ShareSnapshotStatusReason from the specified map of raw messages. +func UnmarshalShareSnapshotStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSnapshotStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSourceSnapshot : ShareSourceSnapshot struct +// Models which "extend" this model: +// - ShareSourceSnapshotShareSnapshotReference +type ShareSourceSnapshot struct { + // The CRN for this share snapshot. + CRN *string `json:"crn,omitempty"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this share snapshot. + Href *string `json:"href,omitempty"` + + // The unique identifier for this share snapshot. + ID *string `json:"id,omitempty"` + + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the ShareSourceSnapshot.ResourceType property. +// The resource type. +const ( + ShareSourceSnapshotResourceTypeShareSnapshotConst = "share_snapshot" +) + +func (*ShareSourceSnapshot) isaShareSourceSnapshot() bool { + return true +} + +type ShareSourceSnapshotIntf interface { + isaShareSourceSnapshot() bool +} + +// UnmarshalShareSourceSnapshot unmarshals an instance of ShareSourceSnapshot from the specified map of raw messages. +func UnmarshalShareSourceSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSourceSnapshot) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSourceSnapshotPrototype : ShareSourceSnapshotPrototype struct +// Models which "extend" this model: +// - ShareSourceSnapshotPrototypeShareSnapshotIdentity +type ShareSourceSnapshotPrototype struct { + // The unique identifier for this share snapshot. + ID *string `json:"id,omitempty"` + + // The CRN for this share snapshot. + CRN *string `json:"crn,omitempty"` + + // The URL for this share snapshot. + Href *string `json:"href,omitempty"` +} + +func (*ShareSourceSnapshotPrototype) isaShareSourceSnapshotPrototype() bool { + return true +} + +type ShareSourceSnapshotPrototypeIntf interface { + isaShareSourceSnapshotPrototype() bool +} + +// UnmarshalShareSourceSnapshotPrototype unmarshals an instance of ShareSourceSnapshotPrototype from the specified map of raw messages. +func UnmarshalShareSourceSnapshotPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSourceSnapshotPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Snapshot : Snapshot struct +type Snapshot struct { + // The usage constraints to be matched against the requested instance properties to + // determine compatibility. While bare metal servers cannot be provisioned from snapshots, + // an image or volume created from this snapshot will inherit its `allowed_use` value. + // + // Only present on bootable snapshots. The value of this property will be inherited from + // the source volume or source snapshot at snapshot creation, but can be changed. + AllowedUse *SnapshotAllowedUse `json:"allowed_use,omitempty"` + + // If present, the backup policy plan which created this snapshot. + BackupPolicyPlan *BackupPolicyPlanReference `json:"backup_policy_plan,omitempty"` + + // Indicates if a boot volume attachment can be created with a volume created from this snapshot. + Bootable *bool `json:"bootable" validate:"required"` + + // The date and time the data capture for this snapshot was completed. + // + // If absent, this snapshot's data has not yet been captured. Additionally, this property may be absent for snapshots + // created before 1 January 2022. + CapturedAt *strfmt.DateTime `json:"captured_at,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering inherited from the snapshot's source. If a virtual server instance is + // provisioned with a `source_snapshot` specifying this snapshot, the virtual server + // instance will use this snapshot's catalog offering, including its pricing plan. + // + // If absent, this snapshot is not associated with a catalog offering. + CatalogOffering *SnapshotCatalogOffering `json:"catalog_offering,omitempty"` + + // The clones for this snapshot. + Clones []SnapshotClone `json:"clones" validate:"required"` + + // The copies of this snapshot. + Copies []SnapshotCopiesItem `json:"copies" validate:"required"` + + // The date and time that this snapshot was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN of this snapshot. + CRN *string `json:"crn" validate:"required"` + + // Indicates whether this snapshot can be deleted. This value will always be `true`. + // Deprecated: this field is deprecated and may be removed in a future release. + Deletable *bool `json:"deletable" validate:"required"` + + // The type of encryption used on the source volume. + Encryption *string `json:"encryption" validate:"required"` + + // The root key used to wrap the data encryption key for the source volume. + // + // This property will be present for volumes with an `encryption` type of + // `user_managed`. + EncryptionKey *EncryptionKeyReference `json:"encryption_key,omitempty"` + + // The URL for this snapshot. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this snapshot. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of this snapshot. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The minimum capacity of a volume created from this snapshot. When a snapshot is created, this will be set to the + // capacity of the `source_volume`. + MinimumCapacity *int64 `json:"minimum_capacity" validate:"required"` + + // The name for this snapshot. The name is unique across all snapshots in the region. + Name *string `json:"name" validate:"required"` + + // The operating system included in this snapshot. + OperatingSystem *OperatingSystem `json:"operating_system,omitempty"` + + // Indicates the progress (as a percentage) of storing this snapshot. Only stored snapshots can be used for + // restoration. + Progress *int64 `json:"progress" validate:"required"` + + // The resource group for this snapshot. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) prefixed with `is.snapshot:` associated with + // this snapshot. + ServiceTags []string `json:"service_tags" validate:"required"` + + // The size of this snapshot rounded up to the next gigabyte. + Size *int64 `json:"size" validate:"required"` + + // If present, the snapshot consistency group which created this snapshot. + SnapshotConsistencyGroup *SnapshotConsistencyGroupReference `json:"snapshot_consistency_group,omitempty"` + + // If present, the image from which the data on this snapshot was most directly + // provisioned. + SourceImage *ImageReference `json:"source_image,omitempty"` + + // If present, the source snapshot this snapshot was created from. + SourceSnapshot *SnapshotSourceSnapshot `json:"source_snapshot,omitempty"` + + // The source volume this snapshot was created from (may be + // [deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SourceVolume *VolumeReference `json:"source_volume" validate:"required"` + + // The [storage + // generation](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api#using-api-iops-profiles): + // - `1`: The first storage generation + // - `2`: The second storage generation + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + StorageGeneration *int64 `json:"storage_generation" validate:"required"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this snapshot. + UserTags []string `json:"user_tags" validate:"required"` +} + +// Constants associated with the Snapshot.Encryption property. +// The type of encryption used on the source volume. +const ( + SnapshotEncryptionProviderManagedConst = "provider_managed" + SnapshotEncryptionUserManagedConst = "user_managed" +) + +// Constants associated with the Snapshot.LifecycleState property. +// The lifecycle state of this snapshot. +const ( + SnapshotLifecycleStateDeletingConst = "deleting" + SnapshotLifecycleStateFailedConst = "failed" + SnapshotLifecycleStatePendingConst = "pending" + SnapshotLifecycleStateStableConst = "stable" + SnapshotLifecycleStateSuspendedConst = "suspended" + SnapshotLifecycleStateUnusableConst = "unusable" + SnapshotLifecycleStateUpdatingConst = "updating" + SnapshotLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the Snapshot.ResourceType property. +// The resource type. +const ( + SnapshotResourceTypeSnapshotConst = "snapshot" +) + +// UnmarshalSnapshot unmarshals an instance of Snapshot from the specified map of raw messages. +func UnmarshalSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Snapshot) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalSnapshotAllowedUse) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "backup_policy_plan", &obj.BackupPolicyPlan, UnmarshalBackupPolicyPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "backup_policy_plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bootable", &obj.Bootable) + if err != nil { + err = core.SDKErrorf(err, "", "bootable-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "captured_at", &obj.CapturedAt) + if err != nil { + err = core.SDKErrorf(err, "", "captured_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalSnapshotCatalogOffering) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "clones", &obj.Clones, UnmarshalSnapshotClone) + if err != nil { + err = core.SDKErrorf(err, "", "clones-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "copies", &obj.Copies, UnmarshalSnapshotCopiesItem) + if err != nil { + err = core.SDKErrorf(err, "", "copies-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deletable", &obj.Deletable) + if err != nil { + err = core.SDKErrorf(err, "", "deletable-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encryption", &obj.Encryption) + if err != nil { + err = core.SDKErrorf(err, "", "encryption-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "minimum_capacity", &obj.MinimumCapacity) + if err != nil { + err = core.SDKErrorf(err, "", "minimum_capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "operating_system", &obj.OperatingSystem, UnmarshalOperatingSystem) + if err != nil { + err = core.SDKErrorf(err, "", "operating_system-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "progress", &obj.Progress) + if err != nil { + err = core.SDKErrorf(err, "", "progress-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "service_tags", &obj.ServiceTags) + if err != nil { + err = core.SDKErrorf(err, "", "service_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "snapshot_consistency_group", &obj.SnapshotConsistencyGroup, UnmarshalSnapshotConsistencyGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "snapshot_consistency_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_image", &obj.SourceImage, UnmarshalImageReference) + if err != nil { + err = core.SDKErrorf(err, "", "source_image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotSourceSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_volume", &obj.SourceVolume, UnmarshalVolumeReference) + if err != nil { + err = core.SDKErrorf(err, "", "source_volume-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "storage_generation", &obj.StorageGeneration) + if err != nil { + err = core.SDKErrorf(err, "", "storage_generation-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotAllowedUse : SnapshotAllowedUse struct +type SnapshotAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `json:"api_version" validate:"required"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in + // this snapshot. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server" validate:"required"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this + // snapshot. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance" validate:"required"` +} + +// UnmarshalSnapshotAllowedUse unmarshals an instance of SnapshotAllowedUse from the specified map of raw messages. +func UnmarshalSnapshotAllowedUse(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotAllowedUse) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotAllowedUsePatch : SnapshotAllowedUsePatch struct +type SnapshotAllowedUsePatch struct { + // The API version with which to evaluate the expressions. + // + // If specified, the value must be between `2019-01-01` and today's date (in UTC). + ApiVersion *string `json:"api_version,omitempty"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in + // this snapshot. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server,omitempty"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this + // snapshot. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance,omitempty"` +} + +// UnmarshalSnapshotAllowedUsePatch unmarshals an instance of SnapshotAllowedUsePatch from the specified map of raw messages. +func UnmarshalSnapshotAllowedUsePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotAllowedUsePatch) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SnapshotAllowedUsePatch +func (snapshotAllowedUsePatch *SnapshotAllowedUsePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(snapshotAllowedUsePatch.ApiVersion) { + _patch["api_version"] = snapshotAllowedUsePatch.ApiVersion + } + if !core.IsNil(snapshotAllowedUsePatch.BareMetalServer) { + _patch["bare_metal_server"] = snapshotAllowedUsePatch.BareMetalServer + } + if !core.IsNil(snapshotAllowedUsePatch.Instance) { + _patch["instance"] = snapshotAllowedUsePatch.Instance + } + + return +} + +// SnapshotAllowedUsePrototype : SnapshotAllowedUsePrototype struct +type SnapshotAllowedUsePrototype struct { + // The API version with which to evaluate the expressions. + // + // If specified, the value must be between `2019-01-01` and today's date (in UTC). If unspecified, the `version` query + // parameter value will be used. + ApiVersion *string `json:"api_version,omitempty"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in + // this snapshot. + // + // If unspecified, the expression will be set to `true`. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server,omitempty"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this + // snapshot. + // + // If unspecified, the expression will be set to `true`. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance,omitempty"` +} + +// UnmarshalSnapshotAllowedUsePrototype unmarshals an instance of SnapshotAllowedUsePrototype from the specified map of raw messages. +func UnmarshalSnapshotAllowedUsePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotAllowedUsePrototype) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotCatalogOffering : SnapshotCatalogOffering struct +type SnapshotCatalogOffering struct { + // The billing plan associated with the catalog offering version. + // + // If absent, no billing plan is associated with the catalog offering version + // (free). + Plan *CatalogOfferingVersionPlanReference `json:"plan,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering version contained in this snapshot. + Version *CatalogOfferingVersionReference `json:"version" validate:"required"` +} + +// UnmarshalSnapshotCatalogOffering unmarshals an instance of SnapshotCatalogOffering from the specified map of raw messages. +func UnmarshalSnapshotCatalogOffering(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotCatalogOffering) + err = core.UnmarshalModel(m, "plan", &obj.Plan, UnmarshalCatalogOfferingVersionPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "version", &obj.Version, UnmarshalCatalogOfferingVersionReference) + if err != nil { + err = core.SDKErrorf(err, "", "version-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotClone : SnapshotClone struct +type SnapshotClone struct { + // Indicates whether this snapshot clone is available for use. + Available *bool `json:"available" validate:"required"` + + // The date and time that this snapshot clone was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The zone this snapshot clone resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// UnmarshalSnapshotClone unmarshals an instance of SnapshotClone from the specified map of raw messages. +func UnmarshalSnapshotClone(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotClone) + err = core.UnmarshalPrimitive(m, "available", &obj.Available) + if err != nil { + err = core.SDKErrorf(err, "", "available-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotCloneCollection : SnapshotCloneCollection struct +type SnapshotCloneCollection struct { + // The clones for the snapshot. + Clones []SnapshotClone `json:"clones" validate:"required"` +} + +// UnmarshalSnapshotCloneCollection unmarshals an instance of SnapshotCloneCollection from the specified map of raw messages. +func UnmarshalSnapshotCloneCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotCloneCollection) + err = core.UnmarshalModel(m, "clones", &obj.Clones, UnmarshalSnapshotClone) + if err != nil { + err = core.SDKErrorf(err, "", "clones-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotClonePrototype : SnapshotClonePrototype struct +type SnapshotClonePrototype struct { + // The zone this snapshot clone will reside in. Must be in the same region as the + // snapshot. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` +} + +// NewSnapshotClonePrototype : Instantiate SnapshotClonePrototype (Generic Model Constructor) +func (*VpcV1) NewSnapshotClonePrototype(zone ZoneIdentityIntf) (_model *SnapshotClonePrototype, err error) { + _model = &SnapshotClonePrototype{ + Zone: zone, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalSnapshotClonePrototype unmarshals an instance of SnapshotClonePrototype from the specified map of raw messages. +func UnmarshalSnapshotClonePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotClonePrototype) + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotCollection : SnapshotCollection struct +type SnapshotCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of snapshots. + Snapshots []Snapshot `json:"snapshots" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalSnapshotCollection unmarshals an instance of SnapshotCollection from the specified map of raw messages. +func UnmarshalSnapshotCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "snapshots", &obj.Snapshots, UnmarshalSnapshot) + if err != nil { + err = core.SDKErrorf(err, "", "snapshots-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *SnapshotCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// SnapshotConsistencyGroup : SnapshotConsistencyGroup struct +type SnapshotConsistencyGroup struct { + // If present, the backup policy plan which created this snapshot consistency group. + BackupPolicyPlan *BackupPolicyPlanReference `json:"backup_policy_plan,omitempty"` + + // The date and time that this snapshot consistency group was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN of this snapshot consistency group. + CRN *string `json:"crn" validate:"required"` + + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete *bool `json:"delete_snapshots_on_delete" validate:"required"` + + // The URL for this snapshot consistency group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this snapshot consistency group. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of this snapshot consistency group. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the + // region. + Name *string `json:"name" validate:"required"` + + // The resource group for this snapshot consistency group. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this snapshot consistency + // group. Each tag is prefixed with + // [is.instance:](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs). + ServiceTags []string `json:"service_tags" validate:"required"` + + // The member snapshots that are data-consistent with respect to captured time. (may be + // [deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Snapshots []SnapshotReference `json:"snapshots" validate:"required"` +} + +// Constants associated with the SnapshotConsistencyGroup.LifecycleState property. +// The lifecycle state of this snapshot consistency group. +const ( + SnapshotConsistencyGroupLifecycleStateDeletingConst = "deleting" + SnapshotConsistencyGroupLifecycleStateFailedConst = "failed" + SnapshotConsistencyGroupLifecycleStatePendingConst = "pending" + SnapshotConsistencyGroupLifecycleStateStableConst = "stable" + SnapshotConsistencyGroupLifecycleStateSuspendedConst = "suspended" + SnapshotConsistencyGroupLifecycleStateUpdatingConst = "updating" + SnapshotConsistencyGroupLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the SnapshotConsistencyGroup.ResourceType property. +// The resource type. +const ( + SnapshotConsistencyGroupResourceTypeSnapshotConsistencyGroupConst = "snapshot_consistency_group" +) + +// UnmarshalSnapshotConsistencyGroup unmarshals an instance of SnapshotConsistencyGroup from the specified map of raw messages. +func UnmarshalSnapshotConsistencyGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotConsistencyGroup) + err = core.UnmarshalModel(m, "backup_policy_plan", &obj.BackupPolicyPlan, UnmarshalBackupPolicyPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "backup_policy_plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "delete_snapshots_on_delete", &obj.DeleteSnapshotsOnDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_snapshots_on_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "service_tags", &obj.ServiceTags) + if err != nil { + err = core.SDKErrorf(err, "", "service_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "snapshots", &obj.Snapshots, UnmarshalSnapshotReference) + if err != nil { + err = core.SDKErrorf(err, "", "snapshots-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotConsistencyGroupCollection : SnapshotConsistencyGroupCollection struct +type SnapshotConsistencyGroupCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of snapshot consistency groups. + SnapshotConsistencyGroups []SnapshotConsistencyGroup `json:"snapshot_consistency_groups" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalSnapshotConsistencyGroupCollection unmarshals an instance of SnapshotConsistencyGroupCollection from the specified map of raw messages. +func UnmarshalSnapshotConsistencyGroupCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotConsistencyGroupCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "snapshot_consistency_groups", &obj.SnapshotConsistencyGroups, UnmarshalSnapshotConsistencyGroup) + if err != nil { + err = core.SDKErrorf(err, "", "snapshot_consistency_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *SnapshotConsistencyGroupCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// SnapshotConsistencyGroupPatch : SnapshotConsistencyGroupPatch struct +type SnapshotConsistencyGroupPatch struct { + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete *bool `json:"delete_snapshots_on_delete,omitempty"` + + // The name for this snapshot consistency group. The name must not be used by another snapshot consistency groups in + // the region. + Name *string `json:"name,omitempty"` +} + +// UnmarshalSnapshotConsistencyGroupPatch unmarshals an instance of SnapshotConsistencyGroupPatch from the specified map of raw messages. +func UnmarshalSnapshotConsistencyGroupPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotConsistencyGroupPatch) + err = core.UnmarshalPrimitive(m, "delete_snapshots_on_delete", &obj.DeleteSnapshotsOnDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_snapshots_on_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the SnapshotConsistencyGroupPatch +func (snapshotConsistencyGroupPatch *SnapshotConsistencyGroupPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(snapshotConsistencyGroupPatch.DeleteSnapshotsOnDelete) { + _patch["delete_snapshots_on_delete"] = snapshotConsistencyGroupPatch.DeleteSnapshotsOnDelete + } + if !core.IsNil(snapshotConsistencyGroupPatch.Name) { + _patch["name"] = snapshotConsistencyGroupPatch.Name + } + + return +} + +// SnapshotConsistencyGroupPrototype : SnapshotConsistencyGroupPrototype struct +// Models which "extend" this model: +// - SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots +type SnapshotConsistencyGroupPrototype struct { + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete *bool `json:"delete_snapshots_on_delete,omitempty"` + + // The name for this snapshot consistency group. The name must be unique across all snapshot consistency groups in the + // region. + // + // If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The data-consistent member snapshots to create. Each snapshot must specify a + // `source_volume` attached to the same virtual server instance, and all source volumes must have a + // `storage_generation` value of `1`. + Snapshots []SnapshotPrototypeSnapshotConsistencyGroupContext `json:"snapshots,omitempty"` +} + +func (*SnapshotConsistencyGroupPrototype) isaSnapshotConsistencyGroupPrototype() bool { + return true +} + +type SnapshotConsistencyGroupPrototypeIntf interface { + isaSnapshotConsistencyGroupPrototype() bool +} + +// UnmarshalSnapshotConsistencyGroupPrototype unmarshals an instance of SnapshotConsistencyGroupPrototype from the specified map of raw messages. +func UnmarshalSnapshotConsistencyGroupPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotConsistencyGroupPrototype) + err = core.UnmarshalPrimitive(m, "delete_snapshots_on_delete", &obj.DeleteSnapshotsOnDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_snapshots_on_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "snapshots", &obj.Snapshots, UnmarshalSnapshotPrototypeSnapshotConsistencyGroupContext) + if err != nil { + err = core.SDKErrorf(err, "", "snapshots-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotConsistencyGroupReference : SnapshotConsistencyGroupReference struct +type SnapshotConsistencyGroupReference struct { + // The CRN of this snapshot consistency group. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this snapshot consistency group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this snapshot consistency group. + ID *string `json:"id" validate:"required"` + + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the + // region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SnapshotConsistencyGroupReference.ResourceType property. +// The resource type. +const ( + SnapshotConsistencyGroupReferenceResourceTypeSnapshotConsistencyGroupConst = "snapshot_consistency_group" +) + +// UnmarshalSnapshotConsistencyGroupReference unmarshals an instance of SnapshotConsistencyGroupReference from the specified map of raw messages. +func UnmarshalSnapshotConsistencyGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotConsistencyGroupReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotCopiesItem : SnapshotCopiesItem struct +type SnapshotCopiesItem struct { + // The CRN for the copied snapshot. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for the copied snapshot. + Href *string `json:"href" validate:"required"` + + // The unique identifier for the copied snapshot. + ID *string `json:"id" validate:"required"` + + // The name for the copied snapshot. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *SnapshotRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SnapshotCopiesItem.ResourceType property. +// The resource type. +const ( + SnapshotCopiesItemResourceTypeSnapshotConst = "snapshot" +) + +// UnmarshalSnapshotCopiesItem unmarshals an instance of SnapshotCopiesItem from the specified map of raw messages. +func UnmarshalSnapshotCopiesItem(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotCopiesItem) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSnapshotRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotIdentity : Identifies a snapshot by a unique property. +// Models which "extend" this model: +// - SnapshotIdentityByID +// - SnapshotIdentityByCRN +// - SnapshotIdentityByHref +type SnapshotIdentity struct { + // The unique identifier for this snapshot. + ID *string `json:"id,omitempty"` + + // The CRN of this snapshot. + CRN *string `json:"crn,omitempty"` + + // The URL for this snapshot. + Href *string `json:"href,omitempty"` +} + +func (*SnapshotIdentity) isaSnapshotIdentity() bool { + return true +} + +type SnapshotIdentityIntf interface { + isaSnapshotIdentity() bool +} + +// UnmarshalSnapshotIdentity unmarshals an instance of SnapshotIdentity from the specified map of raw messages. +func UnmarshalSnapshotIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotInstanceProfileCollection : SnapshotInstanceProfileCollection struct +type SnapshotInstanceProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of instance profiles compatible with the snapshot. + InstanceProfiles []InstanceProfileReference `json:"instance_profiles" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalSnapshotInstanceProfileCollection unmarshals an instance of SnapshotInstanceProfileCollection from the specified map of raw messages. +func UnmarshalSnapshotInstanceProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotInstanceProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_profiles", &obj.InstanceProfiles, UnmarshalInstanceProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *SnapshotInstanceProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// SnapshotPatch : SnapshotPatch struct +type SnapshotPatch struct { + // The usage constraints to be matched against the requested instance properties to + // determine compatibility. While bare metal servers cannot be provisioned from snapshots, + // an image or volume created from this snapshot will inherit its `allowed_use` value. + // + // Can only be specified for bootable snapshots. + AllowedUse *SnapshotAllowedUsePatch `json:"allowed_use,omitempty"` + + // The name for this snapshot. The name must not be used by another snapshot in the region. + Name *string `json:"name,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this snapshot. + UserTags []string `json:"user_tags,omitempty"` +} + +// UnmarshalSnapshotPatch unmarshals an instance of SnapshotPatch from the specified map of raw messages. +func UnmarshalSnapshotPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotPatch) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalSnapshotAllowedUsePatch) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the SnapshotPatch +func (snapshotPatch *SnapshotPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(snapshotPatch.AllowedUse) { + _patch["allowed_use"] = snapshotPatch.AllowedUse.asPatch() + } + if !core.IsNil(snapshotPatch.Name) { + _patch["name"] = snapshotPatch.Name + } + if !core.IsNil(snapshotPatch.UserTags) { + _patch["user_tags"] = snapshotPatch.UserTags + } + + return +} + +// SnapshotPrototype : SnapshotPrototype struct +// Models which "extend" this model: +// - SnapshotPrototypeSnapshotBySourceVolume +// - SnapshotPrototypeSnapshotBySourceSnapshot +type SnapshotPrototype struct { + // The usage constraints to match against the requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified for bootable snapshots. + AllowedUse *SnapshotAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The clones to create for this snapshot. + Clones []SnapshotClonePrototype `json:"clones,omitempty"` + + // The name for this snapshot. The name must not be used by another snapshot in the region. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this snapshot. + UserTags []string `json:"user_tags,omitempty"` + + // The volume to create this snapshot from. + SourceVolume VolumeIdentityIntf `json:"source_volume,omitempty"` + + // The root key to use to wrap the data encryption key for this snapshot. + // + // A key must be specified if and only if the source snapshot has an `encryption` type of + // `user_managed`. To maximize snapshot availability and sharing of snapshot data, specify + // a key in the same region as the new snapshot, and use the same encryption key for all + // snapshots using the same source volume. + // + // The specified key may be in a different account, subject to IAM policies. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The source snapshot (in another region) to create this snapshot from. + // The specified snapshot must not already be the source of another snapshot in this + // region. + SourceSnapshot *SnapshotIdentityByCRN `json:"source_snapshot,omitempty"` +} + +func (*SnapshotPrototype) isaSnapshotPrototype() bool { + return true +} + +type SnapshotPrototypeIntf interface { + isaSnapshotPrototype() bool +} + +// UnmarshalSnapshotPrototype unmarshals an instance of SnapshotPrototype from the specified map of raw messages. +func UnmarshalSnapshotPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotPrototype) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalSnapshotAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "clones", &obj.Clones, UnmarshalSnapshotClonePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "clones-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_volume", &obj.SourceVolume, UnmarshalVolumeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_volume-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotIdentityByCRN) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotPrototypeSnapshotConsistencyGroupContext : SnapshotPrototypeSnapshotConsistencyGroupContext struct +type SnapshotPrototypeSnapshotConsistencyGroupContext struct { + // The name for this snapshot. The name must not be used by another snapshot in the region. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The volume to create this snapshot from. + SourceVolume VolumeIdentityIntf `json:"source_volume" validate:"required"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this snapshot. + UserTags []string `json:"user_tags,omitempty"` +} + +// NewSnapshotPrototypeSnapshotConsistencyGroupContext : Instantiate SnapshotPrototypeSnapshotConsistencyGroupContext (Generic Model Constructor) +func (*VpcV1) NewSnapshotPrototypeSnapshotConsistencyGroupContext(sourceVolume VolumeIdentityIntf) (_model *SnapshotPrototypeSnapshotConsistencyGroupContext, err error) { + _model = &SnapshotPrototypeSnapshotConsistencyGroupContext{ + SourceVolume: sourceVolume, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalSnapshotPrototypeSnapshotConsistencyGroupContext unmarshals an instance of SnapshotPrototypeSnapshotConsistencyGroupContext from the specified map of raw messages. +func UnmarshalSnapshotPrototypeSnapshotConsistencyGroupContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotPrototypeSnapshotConsistencyGroupContext) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_volume", &obj.SourceVolume, UnmarshalVolumeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_volume-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotReference : SnapshotReference struct +type SnapshotReference struct { + // The CRN of this snapshot. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this snapshot. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this snapshot. + ID *string `json:"id" validate:"required"` + + // The name for this snapshot. The name is unique across all snapshots in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *SnapshotRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SnapshotReference.ResourceType property. +// The resource type. +const ( + SnapshotReferenceResourceTypeSnapshotConst = "snapshot" +) + +// UnmarshalSnapshotReference unmarshals an instance of SnapshotReference from the specified map of raw messages. +func UnmarshalSnapshotReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSnapshotRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotRemote : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type SnapshotRemote struct { + // If present, this property indicates that the referenced resource is remote to this + // account, and identifies the owning account. + Account *AccountReference `json:"account,omitempty"` + + // If present, this property indicates that the referenced resource is remote to this + // region, and identifies the native region. + Region *RegionReference `json:"region,omitempty"` +} + +// UnmarshalSnapshotRemote unmarshals an instance of SnapshotRemote from the specified map of raw messages. +func UnmarshalSnapshotRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotRemote) + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotSourceSnapshot : If present, the source snapshot this snapshot was created from. +type SnapshotSourceSnapshot struct { + // The CRN of the source snapshot. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for the source snapshot. + Href *string `json:"href" validate:"required"` + + // The unique identifier for the source snapshot. + ID *string `json:"id" validate:"required"` + + // The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *SnapshotRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SnapshotSourceSnapshot.ResourceType property. +// The resource type. +const ( + SnapshotSourceSnapshotResourceTypeSnapshotConst = "snapshot" +) + +// UnmarshalSnapshotSourceSnapshot unmarshals an instance of SnapshotSourceSnapshot from the specified map of raw messages. +func UnmarshalSnapshotSourceSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotSourceSnapshot) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSnapshotRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// StartBareMetalServerOptions : The StartBareMetalServer options. +type StartBareMetalServerOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewStartBareMetalServerOptions : Instantiate StartBareMetalServerOptions +func (*VpcV1) NewStartBareMetalServerOptions(id string) *StartBareMetalServerOptions { + return &StartBareMetalServerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *StartBareMetalServerOptions) SetID(id string) *StartBareMetalServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *StartBareMetalServerOptions) SetHeaders(param map[string]string) *StartBareMetalServerOptions { + options.Headers = param + return options +} + +// StopBareMetalServerOptions : The StopBareMetalServer options. +type StopBareMetalServerOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // The type of stop operation: + // - `soft`: signal running operating system to quiesce and shutdown cleanly + // - `hard`: immediately stop the server. + Type *string `json:"type" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// Constants associated with the StopBareMetalServerOptions.Type property. +// The type of stop operation: +// - `soft`: signal running operating system to quiesce and shutdown cleanly +// - `hard`: immediately stop the server. +const ( + StopBareMetalServerOptionsTypeHardConst = "hard" + StopBareMetalServerOptionsTypeSoftConst = "soft" +) + +// NewStopBareMetalServerOptions : Instantiate StopBareMetalServerOptions +func (*VpcV1) NewStopBareMetalServerOptions(id string, typeVar string) *StopBareMetalServerOptions { + return &StopBareMetalServerOptions{ + ID: core.StringPtr(id), + Type: core.StringPtr(typeVar), + } +} + +// SetID : Allow user to set ID +func (_options *StopBareMetalServerOptions) SetID(id string) *StopBareMetalServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetType : Allow user to set Type +func (_options *StopBareMetalServerOptions) SetType(typeVar string) *StopBareMetalServerOptions { + _options.Type = core.StringPtr(typeVar) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *StopBareMetalServerOptions) SetHeaders(param map[string]string) *StopBareMetalServerOptions { + options.Headers = param + return options +} + +// Subnet : Subnet struct +type Subnet struct { + // The number of IPv4 addresses in this subnet that are not in-use, and have not been reserved by the user or the + // provider. + AvailableIpv4AddressCount *int64 `json:"available_ipv4_address_count" validate:"required"` + + // The date and time that the subnet was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this subnet. + CRN *string `json:"crn" validate:"required"` + + // The URL for this subnet. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this subnet. + ID *string `json:"id" validate:"required"` + + // The IP version(s) supported by this subnet. + IPVersion *string `json:"ip_version" validate:"required"` + + // The IPv4 range of the subnet, expressed in CIDR format. + Ipv4CIDRBlock *string `json:"ipv4_cidr_block" validate:"required"` + + // The name for this subnet. The name is unique across all subnets in the VPC. + Name *string `json:"name" validate:"required"` + + // The network ACL for this subnet. + NetworkACL *NetworkACLReference `json:"network_acl" validate:"required"` + + // The public gateway to use for internet-bound traffic for this subnet. + PublicGateway *PublicGatewayReference `json:"public_gateway,omitempty"` + + // The resource group for this subnet. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The routing table for this subnet. + RoutingTable *RoutingTableReference `json:"routing_table" validate:"required"` + + // The status of the subnet. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The total number of IPv4 addresses in this subnet. + // + // Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
+ // 2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount *int64 `json:"total_ipv4_address_count" validate:"required"` + + // The VPC this subnet resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The zone this subnet resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the Subnet.IPVersion property. +// The IP version(s) supported by this subnet. +const ( + SubnetIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the Subnet.ResourceType property. +// The resource type. +const ( + SubnetResourceTypeSubnetConst = "subnet" +) + +// Constants associated with the Subnet.Status property. +// The status of the subnet. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + SubnetStatusAvailableConst = "available" + SubnetStatusDeletingConst = "deleting" + SubnetStatusFailedConst = "failed" + SubnetStatusPendingConst = "pending" +) + +// UnmarshalSubnet unmarshals an instance of Subnet from the specified map of raw messages. +func UnmarshalSubnet(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Subnet) + err = core.UnmarshalPrimitive(m, "available_ipv4_address_count", &obj.AvailableIpv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "available_ipv4_address_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ipv4_cidr_block", &obj.Ipv4CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "ipv4_cidr_block-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_acl", &obj.NetworkACL, UnmarshalNetworkACLReference) + if err != nil { + err = core.SDKErrorf(err, "", "network_acl-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_gateway", &obj.PublicGateway, UnmarshalPublicGatewayReference) + if err != nil { + err = core.SDKErrorf(err, "", "public_gateway-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routing_table", &obj.RoutingTable, UnmarshalRoutingTableReference) + if err != nil { + err = core.SDKErrorf(err, "", "routing_table-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_ipv4_address_count", &obj.TotalIpv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_ipv4_address_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SubnetCollection : SubnetCollection struct +type SubnetCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of subnets. + Subnets []Subnet `json:"subnets" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalSubnetCollection unmarshals an instance of SubnetCollection from the specified map of raw messages. +func UnmarshalSubnetCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnet) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *SubnetCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// SubnetIdentity : Identifies a subnet by a unique property. +// Models which "extend" this model: +// - SubnetIdentityByID +// - SubnetIdentityByCRN +// - SubnetIdentityByHref +type SubnetIdentity struct { + // The unique identifier for this subnet. + ID *string `json:"id,omitempty"` + + // The CRN for this subnet. + CRN *string `json:"crn,omitempty"` + + // The URL for this subnet. + Href *string `json:"href,omitempty"` +} + +func (*SubnetIdentity) isaSubnetIdentity() bool { + return true +} + +type SubnetIdentityIntf interface { + isaSubnetIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalSubnetIdentity unmarshals an instance of SubnetIdentity from the specified map of raw messages. +func UnmarshalSubnetIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SubnetIdentity +func (subnetIdentity *SubnetIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetIdentity.ID) { + _patch["id"] = subnetIdentity.ID + } + if !core.IsNil(subnetIdentity.CRN) { + _patch["crn"] = subnetIdentity.CRN + } + if !core.IsNil(subnetIdentity.Href) { + _patch["href"] = subnetIdentity.Href + } + + return +} + +// SubnetPatch : SubnetPatch struct +type SubnetPatch struct { + // The name for this subnet. The name must not be used by another subnet in the VPC. + Name *string `json:"name,omitempty"` + + // The network ACL to use for this subnet. + NetworkACL NetworkACLIdentityIntf `json:"network_acl,omitempty"` + + // The public gateway to use for internet-bound traffic for this subnet. + PublicGateway SubnetPublicGatewayPatchIntf `json:"public_gateway,omitempty"` + + // The routing table to use for this subnet. The routing table properties + // `route_direct_link_ingress`, `route_internet_ingress`, + // `route_transit_gateway_ingress`, and `route_vpc_zone_ingress` must be `false`. + RoutingTable RoutingTableIdentityIntf `json:"routing_table,omitempty"` +} + +// UnmarshalSubnetPatch unmarshals an instance of SubnetPatch from the specified map of raw messages. +func UnmarshalSubnetPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_acl", &obj.NetworkACL, UnmarshalNetworkACLIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "network_acl-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_gateway", &obj.PublicGateway, UnmarshalSubnetPublicGatewayPatch) + if err != nil { + err = core.SDKErrorf(err, "", "public_gateway-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routing_table", &obj.RoutingTable, UnmarshalRoutingTableIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "routing_table-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the SubnetPatch +func (subnetPatch *SubnetPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetPatch.Name) { + _patch["name"] = subnetPatch.Name + } + if !core.IsNil(subnetPatch.NetworkACL) { + _patch["network_acl"] = subnetPatch.NetworkACL.asPatch() + } + if !core.IsNil(subnetPatch.PublicGateway) { + _patch["public_gateway"] = subnetPatch.PublicGateway.asPatch() + } + if !core.IsNil(subnetPatch.RoutingTable) { + _patch["routing_table"] = subnetPatch.RoutingTable.asPatch() + } + + return +} + +// SubnetPrototype : SubnetPrototype struct +// Models which "extend" this model: +// - SubnetPrototypeSubnetByTotalCount +// - SubnetPrototypeSubnetByCIDR +type SubnetPrototype struct { + // The IP version(s) to support for this subnet. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this subnet. The name must not be used by another subnet in the VPC. If unspecified, the name will be a + // hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The network ACL to use for this subnet. + NetworkACL NetworkACLIdentityIntf `json:"network_acl,omitempty"` + + // The public gateway to use for internet-bound traffic for this subnet. If + // unspecified, the subnet will not be attached to a public gateway. + PublicGateway PublicGatewayIdentityIntf `json:"public_gateway,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The routing table to use for this subnet. If unspecified, the default routing table + // for the VPC is used. The routing table properties `route_direct_link_ingress`, + // `route_internet_ingress`, `route_transit_gateway_ingress`, and + // `route_vpc_zone_ingress` must be `false`. + RoutingTable RoutingTableIdentityIntf `json:"routing_table,omitempty"` + + // The VPC the subnet will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The total number of IPv4 addresses required. Must be a power of 2. The VPC must have a default address prefix in the + // specified zone, and that prefix must have a free CIDR range with at least this number of addresses. + TotalIpv4AddressCount *int64 `json:"total_ipv4_address_count,omitempty"` + + // The zone this subnet will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` + + // The IPv4 range of the subnet, expressed in CIDR format. The prefix length of the subnet's CIDR must be between `/9` + // (8,388,608 addresses) and `/29` (8 addresses). The IPv4 range of the subnet's CIDR must fall within an existing + // address prefix in the VPC and must not overlap with any existing subnet. The subnet will be created in the zone of + // the address prefix that contains the IPv4 CIDR. If zone is specified, it must match the zone of the address prefix + // that contains the subnet's IPv4 CIDR. + Ipv4CIDRBlock *string `json:"ipv4_cidr_block,omitempty"` +} + +// Constants associated with the SubnetPrototype.IPVersion property. +// The IP version(s) to support for this subnet. +const ( + SubnetPrototypeIPVersionIpv4Const = "ipv4" +) + +func (*SubnetPrototype) isaSubnetPrototype() bool { + return true +} + +type SubnetPrototypeIntf interface { + isaSubnetPrototype() bool +} + +// UnmarshalSubnetPrototype unmarshals an instance of SubnetPrototype from the specified map of raw messages. +func UnmarshalSubnetPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetPrototype) + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_acl", &obj.NetworkACL, UnmarshalNetworkACLIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "network_acl-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_gateway", &obj.PublicGateway, UnmarshalPublicGatewayIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "public_gateway-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routing_table", &obj.RoutingTable, UnmarshalRoutingTableIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "routing_table-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_ipv4_address_count", &obj.TotalIpv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_ipv4_address_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ipv4_cidr_block", &obj.Ipv4CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "ipv4_cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SubnetPublicGatewayPatch : The public gateway to use for internet-bound traffic for this subnet. +// Models which "extend" this model: +// - SubnetPublicGatewayPatchPublicGatewayIdentityByID +// - SubnetPublicGatewayPatchPublicGatewayIdentityByCRN +// - SubnetPublicGatewayPatchPublicGatewayIdentityByHref +type SubnetPublicGatewayPatch struct { + // The unique identifier for this public gateway. + ID *string `json:"id,omitempty"` + + // The CRN for this public gateway. + CRN *string `json:"crn,omitempty"` + + // The URL for this public gateway. + Href *string `json:"href,omitempty"` +} + +func (*SubnetPublicGatewayPatch) isaSubnetPublicGatewayPatch() bool { + return true +} + +type SubnetPublicGatewayPatchIntf interface { + isaSubnetPublicGatewayPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalSubnetPublicGatewayPatch unmarshals an instance of SubnetPublicGatewayPatch from the specified map of raw messages. +func UnmarshalSubnetPublicGatewayPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetPublicGatewayPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SubnetPublicGatewayPatch +func (subnetPublicGatewayPatch *SubnetPublicGatewayPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetPublicGatewayPatch.ID) { + _patch["id"] = subnetPublicGatewayPatch.ID + } + if !core.IsNil(subnetPublicGatewayPatch.CRN) { + _patch["crn"] = subnetPublicGatewayPatch.CRN + } + if !core.IsNil(subnetPublicGatewayPatch.Href) { + _patch["href"] = subnetPublicGatewayPatch.Href + } + + return +} + +// SubnetReference : SubnetReference struct +type SubnetReference struct { + // The CRN for this subnet. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this subnet. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this subnet. + ID *string `json:"id" validate:"required"` + + // The name for this subnet. The name is unique across all subnets in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SubnetReference.ResourceType property. +// The resource type. +const ( + SubnetReferenceResourceTypeSubnetConst = "subnet" +) + +// UnmarshalSubnetReference unmarshals an instance of SubnetReference from the specified map of raw messages. +func UnmarshalSubnetReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TrustedProfileIdentity : Identifies a trusted profile by a unique property. +// Models which "extend" this model: +// - TrustedProfileIdentityByID +// - TrustedProfileIdentityByCRN +type TrustedProfileIdentity struct { + // The unique identifier for this trusted profile. + ID *string `json:"id,omitempty"` + + // The CRN for this trusted profile. + CRN *string `json:"crn,omitempty"` +} + +func (*TrustedProfileIdentity) isaTrustedProfileIdentity() bool { + return true +} + +type TrustedProfileIdentityIntf interface { + isaTrustedProfileIdentity() bool +} + +// UnmarshalTrustedProfileIdentity unmarshals an instance of TrustedProfileIdentity from the specified map of raw messages. +func UnmarshalTrustedProfileIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TrustedProfileIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TrustedProfileReference : TrustedProfileReference struct +type TrustedProfileReference struct { + // The CRN for this trusted profile. + CRN *string `json:"crn" validate:"required"` + + // The unique identifier for this trusted profile. + ID *string `json:"id" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the TrustedProfileReference.ResourceType property. +// The resource type. +const ( + TrustedProfileReferenceResourceTypeTrustedProfileConst = "trusted_profile" +) + +// UnmarshalTrustedProfileReference unmarshals an instance of TrustedProfileReference from the specified map of raw messages. +func UnmarshalTrustedProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TrustedProfileReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// UnpublishPrivatePathServiceGatewayOptions : The UnpublishPrivatePathServiceGateway options. +type UnpublishPrivatePathServiceGatewayOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUnpublishPrivatePathServiceGatewayOptions : Instantiate UnpublishPrivatePathServiceGatewayOptions +func (*VpcV1) NewUnpublishPrivatePathServiceGatewayOptions(privatePathServiceGatewayID string) *UnpublishPrivatePathServiceGatewayOptions { + return &UnpublishPrivatePathServiceGatewayOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *UnpublishPrivatePathServiceGatewayOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *UnpublishPrivatePathServiceGatewayOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UnpublishPrivatePathServiceGatewayOptions) SetHeaders(param map[string]string) *UnpublishPrivatePathServiceGatewayOptions { + options.Headers = param + return options +} + +// UnsetSubnetPublicGatewayOptions : The UnsetSubnetPublicGateway options. +type UnsetSubnetPublicGatewayOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUnsetSubnetPublicGatewayOptions : Instantiate UnsetSubnetPublicGatewayOptions +func (*VpcV1) NewUnsetSubnetPublicGatewayOptions(id string) *UnsetSubnetPublicGatewayOptions { + return &UnsetSubnetPublicGatewayOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *UnsetSubnetPublicGatewayOptions) SetID(id string) *UnsetSubnetPublicGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UnsetSubnetPublicGatewayOptions) SetHeaders(param map[string]string) *UnsetSubnetPublicGatewayOptions { + options.Headers = param + return options +} + +// UpdateBackupPolicyOptions : The UpdateBackupPolicy options. +type UpdateBackupPolicyOptions struct { + // The backup policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // The backup policy patch. + BackupPolicyPatch map[string]interface{} `json:"BackupPolicy_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateBackupPolicyOptions : Instantiate UpdateBackupPolicyOptions +func (*VpcV1) NewUpdateBackupPolicyOptions(id string, backupPolicyPatch map[string]interface{}) *UpdateBackupPolicyOptions { + return &UpdateBackupPolicyOptions{ + ID: core.StringPtr(id), + BackupPolicyPatch: backupPolicyPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateBackupPolicyOptions) SetID(id string) *UpdateBackupPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetBackupPolicyPatch : Allow user to set BackupPolicyPatch +func (_options *UpdateBackupPolicyOptions) SetBackupPolicyPatch(backupPolicyPatch map[string]interface{}) *UpdateBackupPolicyOptions { + _options.BackupPolicyPatch = backupPolicyPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateBackupPolicyOptions) SetIfMatch(ifMatch string) *UpdateBackupPolicyOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateBackupPolicyOptions) SetHeaders(param map[string]string) *UpdateBackupPolicyOptions { + options.Headers = param + return options +} + +// UpdateBackupPolicyPlanOptions : The UpdateBackupPolicyPlan options. +type UpdateBackupPolicyPlanOptions struct { + // The backup policy identifier. + BackupPolicyID *string `json:"backup_policy_id" validate:"required,ne="` + + // The backup policy plan identifier. + ID *string `json:"id" validate:"required,ne="` + + // The backup policy plan patch. + BackupPolicyPlanPatch map[string]interface{} `json:"BackupPolicyPlan_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateBackupPolicyPlanOptions : Instantiate UpdateBackupPolicyPlanOptions +func (*VpcV1) NewUpdateBackupPolicyPlanOptions(backupPolicyID string, id string, backupPolicyPlanPatch map[string]interface{}) *UpdateBackupPolicyPlanOptions { + return &UpdateBackupPolicyPlanOptions{ + BackupPolicyID: core.StringPtr(backupPolicyID), + ID: core.StringPtr(id), + BackupPolicyPlanPatch: backupPolicyPlanPatch, + } +} + +// SetBackupPolicyID : Allow user to set BackupPolicyID +func (_options *UpdateBackupPolicyPlanOptions) SetBackupPolicyID(backupPolicyID string) *UpdateBackupPolicyPlanOptions { + _options.BackupPolicyID = core.StringPtr(backupPolicyID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateBackupPolicyPlanOptions) SetID(id string) *UpdateBackupPolicyPlanOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetBackupPolicyPlanPatch : Allow user to set BackupPolicyPlanPatch +func (_options *UpdateBackupPolicyPlanOptions) SetBackupPolicyPlanPatch(backupPolicyPlanPatch map[string]interface{}) *UpdateBackupPolicyPlanOptions { + _options.BackupPolicyPlanPatch = backupPolicyPlanPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateBackupPolicyPlanOptions) SetIfMatch(ifMatch string) *UpdateBackupPolicyPlanOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateBackupPolicyPlanOptions) SetHeaders(param map[string]string) *UpdateBackupPolicyPlanOptions { + options.Headers = param + return options +} + +// UpdateBareMetalServerDiskOptions : The UpdateBareMetalServerDisk options. +type UpdateBareMetalServerDiskOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server disk identifier. + ID *string `json:"id" validate:"required,ne="` + + // The bare metal server disk patch. + BareMetalServerDiskPatch map[string]interface{} `json:"BareMetalServerDisk_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateBareMetalServerDiskOptions : Instantiate UpdateBareMetalServerDiskOptions +func (*VpcV1) NewUpdateBareMetalServerDiskOptions(bareMetalServerID string, id string, bareMetalServerDiskPatch map[string]interface{}) *UpdateBareMetalServerDiskOptions { + return &UpdateBareMetalServerDiskOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ID: core.StringPtr(id), + BareMetalServerDiskPatch: bareMetalServerDiskPatch, + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *UpdateBareMetalServerDiskOptions) SetBareMetalServerID(bareMetalServerID string) *UpdateBareMetalServerDiskOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateBareMetalServerDiskOptions) SetID(id string) *UpdateBareMetalServerDiskOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetBareMetalServerDiskPatch : Allow user to set BareMetalServerDiskPatch +func (_options *UpdateBareMetalServerDiskOptions) SetBareMetalServerDiskPatch(bareMetalServerDiskPatch map[string]interface{}) *UpdateBareMetalServerDiskOptions { + _options.BareMetalServerDiskPatch = bareMetalServerDiskPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateBareMetalServerDiskOptions) SetHeaders(param map[string]string) *UpdateBareMetalServerDiskOptions { + options.Headers = param + return options +} + +// UpdateBareMetalServerNetworkAttachmentOptions : The UpdateBareMetalServerNetworkAttachment options. +type UpdateBareMetalServerNetworkAttachmentOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // The bare metal server network attachment patch. + BareMetalServerNetworkAttachmentPatch map[string]interface{} `json:"BareMetalServerNetworkAttachment_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateBareMetalServerNetworkAttachmentOptions : Instantiate UpdateBareMetalServerNetworkAttachmentOptions +func (*VpcV1) NewUpdateBareMetalServerNetworkAttachmentOptions(bareMetalServerID string, id string, bareMetalServerNetworkAttachmentPatch map[string]interface{}) *UpdateBareMetalServerNetworkAttachmentOptions { + return &UpdateBareMetalServerNetworkAttachmentOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ID: core.StringPtr(id), + BareMetalServerNetworkAttachmentPatch: bareMetalServerNetworkAttachmentPatch, + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *UpdateBareMetalServerNetworkAttachmentOptions) SetBareMetalServerID(bareMetalServerID string) *UpdateBareMetalServerNetworkAttachmentOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateBareMetalServerNetworkAttachmentOptions) SetID(id string) *UpdateBareMetalServerNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetBareMetalServerNetworkAttachmentPatch : Allow user to set BareMetalServerNetworkAttachmentPatch +func (_options *UpdateBareMetalServerNetworkAttachmentOptions) SetBareMetalServerNetworkAttachmentPatch(bareMetalServerNetworkAttachmentPatch map[string]interface{}) *UpdateBareMetalServerNetworkAttachmentOptions { + _options.BareMetalServerNetworkAttachmentPatch = bareMetalServerNetworkAttachmentPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateBareMetalServerNetworkAttachmentOptions) SetHeaders(param map[string]string) *UpdateBareMetalServerNetworkAttachmentOptions { + options.Headers = param + return options +} + +// UpdateBareMetalServerNetworkInterfaceOptions : The UpdateBareMetalServerNetworkInterface options. +type UpdateBareMetalServerNetworkInterfaceOptions struct { + // The bare metal server identifier. + BareMetalServerID *string `json:"bare_metal_server_id" validate:"required,ne="` + + // The bare metal server network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // The bare metal server network interface patch. + BareMetalServerNetworkInterfacePatch map[string]interface{} `json:"BareMetalServerNetworkInterface_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateBareMetalServerNetworkInterfaceOptions : Instantiate UpdateBareMetalServerNetworkInterfaceOptions +func (*VpcV1) NewUpdateBareMetalServerNetworkInterfaceOptions(bareMetalServerID string, id string, bareMetalServerNetworkInterfacePatch map[string]interface{}) *UpdateBareMetalServerNetworkInterfaceOptions { + return &UpdateBareMetalServerNetworkInterfaceOptions{ + BareMetalServerID: core.StringPtr(bareMetalServerID), + ID: core.StringPtr(id), + BareMetalServerNetworkInterfacePatch: bareMetalServerNetworkInterfacePatch, + } +} + +// SetBareMetalServerID : Allow user to set BareMetalServerID +func (_options *UpdateBareMetalServerNetworkInterfaceOptions) SetBareMetalServerID(bareMetalServerID string) *UpdateBareMetalServerNetworkInterfaceOptions { + _options.BareMetalServerID = core.StringPtr(bareMetalServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateBareMetalServerNetworkInterfaceOptions) SetID(id string) *UpdateBareMetalServerNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetBareMetalServerNetworkInterfacePatch : Allow user to set BareMetalServerNetworkInterfacePatch +func (_options *UpdateBareMetalServerNetworkInterfaceOptions) SetBareMetalServerNetworkInterfacePatch(bareMetalServerNetworkInterfacePatch map[string]interface{}) *UpdateBareMetalServerNetworkInterfaceOptions { + _options.BareMetalServerNetworkInterfacePatch = bareMetalServerNetworkInterfacePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateBareMetalServerNetworkInterfaceOptions) SetHeaders(param map[string]string) *UpdateBareMetalServerNetworkInterfaceOptions { + options.Headers = param + return options +} + +// UpdateBareMetalServerOptions : The UpdateBareMetalServer options. +type UpdateBareMetalServerOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // The bare metal server patch. + BareMetalServerPatch map[string]interface{} `json:"BareMetalServer_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateBareMetalServerOptions : Instantiate UpdateBareMetalServerOptions +func (*VpcV1) NewUpdateBareMetalServerOptions(id string, bareMetalServerPatch map[string]interface{}) *UpdateBareMetalServerOptions { + return &UpdateBareMetalServerOptions{ + ID: core.StringPtr(id), + BareMetalServerPatch: bareMetalServerPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateBareMetalServerOptions) SetID(id string) *UpdateBareMetalServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetBareMetalServerPatch : Allow user to set BareMetalServerPatch +func (_options *UpdateBareMetalServerOptions) SetBareMetalServerPatch(bareMetalServerPatch map[string]interface{}) *UpdateBareMetalServerOptions { + _options.BareMetalServerPatch = bareMetalServerPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateBareMetalServerOptions) SetHeaders(param map[string]string) *UpdateBareMetalServerOptions { + options.Headers = param + return options +} + +// UpdateClusterNetworkInterfaceOptions : The UpdateClusterNetworkInterface options. +type UpdateClusterNetworkInterfaceOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // The cluster network interface patch. + ClusterNetworkInterfacePatch map[string]interface{} `json:"ClusterNetworkInterface_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateClusterNetworkInterfaceOptions : Instantiate UpdateClusterNetworkInterfaceOptions +func (*VpcV1) NewUpdateClusterNetworkInterfaceOptions(clusterNetworkID string, id string, clusterNetworkInterfacePatch map[string]interface{}) *UpdateClusterNetworkInterfaceOptions { + return &UpdateClusterNetworkInterfaceOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ID: core.StringPtr(id), + ClusterNetworkInterfacePatch: clusterNetworkInterfacePatch, + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *UpdateClusterNetworkInterfaceOptions) SetClusterNetworkID(clusterNetworkID string) *UpdateClusterNetworkInterfaceOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateClusterNetworkInterfaceOptions) SetID(id string) *UpdateClusterNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetClusterNetworkInterfacePatch : Allow user to set ClusterNetworkInterfacePatch +func (_options *UpdateClusterNetworkInterfaceOptions) SetClusterNetworkInterfacePatch(clusterNetworkInterfacePatch map[string]interface{}) *UpdateClusterNetworkInterfaceOptions { + _options.ClusterNetworkInterfacePatch = clusterNetworkInterfacePatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateClusterNetworkInterfaceOptions) SetIfMatch(ifMatch string) *UpdateClusterNetworkInterfaceOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateClusterNetworkInterfaceOptions) SetHeaders(param map[string]string) *UpdateClusterNetworkInterfaceOptions { + options.Headers = param + return options +} + +// UpdateClusterNetworkOptions : The UpdateClusterNetwork options. +type UpdateClusterNetworkOptions struct { + // The cluster network identifier. + ID *string `json:"id" validate:"required,ne="` + + // The cluster network patch. + ClusterNetworkPatch map[string]interface{} `json:"ClusterNetwork_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateClusterNetworkOptions : Instantiate UpdateClusterNetworkOptions +func (*VpcV1) NewUpdateClusterNetworkOptions(id string, clusterNetworkPatch map[string]interface{}) *UpdateClusterNetworkOptions { + return &UpdateClusterNetworkOptions{ + ID: core.StringPtr(id), + ClusterNetworkPatch: clusterNetworkPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateClusterNetworkOptions) SetID(id string) *UpdateClusterNetworkOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetClusterNetworkPatch : Allow user to set ClusterNetworkPatch +func (_options *UpdateClusterNetworkOptions) SetClusterNetworkPatch(clusterNetworkPatch map[string]interface{}) *UpdateClusterNetworkOptions { + _options.ClusterNetworkPatch = clusterNetworkPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateClusterNetworkOptions) SetIfMatch(ifMatch string) *UpdateClusterNetworkOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateClusterNetworkOptions) SetHeaders(param map[string]string) *UpdateClusterNetworkOptions { + options.Headers = param + return options +} + +// UpdateClusterNetworkSubnetOptions : The UpdateClusterNetworkSubnet options. +type UpdateClusterNetworkSubnetOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // The cluster network subnet patch. + ClusterNetworkSubnetPatch map[string]interface{} `json:"ClusterNetworkSubnet_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateClusterNetworkSubnetOptions : Instantiate UpdateClusterNetworkSubnetOptions +func (*VpcV1) NewUpdateClusterNetworkSubnetOptions(clusterNetworkID string, id string, clusterNetworkSubnetPatch map[string]interface{}) *UpdateClusterNetworkSubnetOptions { + return &UpdateClusterNetworkSubnetOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ID: core.StringPtr(id), + ClusterNetworkSubnetPatch: clusterNetworkSubnetPatch, + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *UpdateClusterNetworkSubnetOptions) SetClusterNetworkID(clusterNetworkID string) *UpdateClusterNetworkSubnetOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateClusterNetworkSubnetOptions) SetID(id string) *UpdateClusterNetworkSubnetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetClusterNetworkSubnetPatch : Allow user to set ClusterNetworkSubnetPatch +func (_options *UpdateClusterNetworkSubnetOptions) SetClusterNetworkSubnetPatch(clusterNetworkSubnetPatch map[string]interface{}) *UpdateClusterNetworkSubnetOptions { + _options.ClusterNetworkSubnetPatch = clusterNetworkSubnetPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateClusterNetworkSubnetOptions) SetIfMatch(ifMatch string) *UpdateClusterNetworkSubnetOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateClusterNetworkSubnetOptions) SetHeaders(param map[string]string) *UpdateClusterNetworkSubnetOptions { + options.Headers = param + return options +} + +// UpdateClusterNetworkSubnetReservedIPOptions : The UpdateClusterNetworkSubnetReservedIP options. +type UpdateClusterNetworkSubnetReservedIPOptions struct { + // The cluster network identifier. + ClusterNetworkID *string `json:"cluster_network_id" validate:"required,ne="` + + // The cluster network subnet identifier. + ClusterNetworkSubnetID *string `json:"cluster_network_subnet_id" validate:"required,ne="` + + // The cluster network subnet reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // The cluster network subnet reserved IP patch. + ClusterNetworkSubnetReservedIPPatch map[string]interface{} `json:"ClusterNetworkSubnetReservedIP_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateClusterNetworkSubnetReservedIPOptions : Instantiate UpdateClusterNetworkSubnetReservedIPOptions +func (*VpcV1) NewUpdateClusterNetworkSubnetReservedIPOptions(clusterNetworkID string, clusterNetworkSubnetID string, id string, clusterNetworkSubnetReservedIPPatch map[string]interface{}) *UpdateClusterNetworkSubnetReservedIPOptions { + return &UpdateClusterNetworkSubnetReservedIPOptions{ + ClusterNetworkID: core.StringPtr(clusterNetworkID), + ClusterNetworkSubnetID: core.StringPtr(clusterNetworkSubnetID), + ID: core.StringPtr(id), + ClusterNetworkSubnetReservedIPPatch: clusterNetworkSubnetReservedIPPatch, + } +} + +// SetClusterNetworkID : Allow user to set ClusterNetworkID +func (_options *UpdateClusterNetworkSubnetReservedIPOptions) SetClusterNetworkID(clusterNetworkID string) *UpdateClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkID = core.StringPtr(clusterNetworkID) + return _options +} + +// SetClusterNetworkSubnetID : Allow user to set ClusterNetworkSubnetID +func (_options *UpdateClusterNetworkSubnetReservedIPOptions) SetClusterNetworkSubnetID(clusterNetworkSubnetID string) *UpdateClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkSubnetID = core.StringPtr(clusterNetworkSubnetID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateClusterNetworkSubnetReservedIPOptions) SetID(id string) *UpdateClusterNetworkSubnetReservedIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetClusterNetworkSubnetReservedIPPatch : Allow user to set ClusterNetworkSubnetReservedIPPatch +func (_options *UpdateClusterNetworkSubnetReservedIPOptions) SetClusterNetworkSubnetReservedIPPatch(clusterNetworkSubnetReservedIPPatch map[string]interface{}) *UpdateClusterNetworkSubnetReservedIPOptions { + _options.ClusterNetworkSubnetReservedIPPatch = clusterNetworkSubnetReservedIPPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateClusterNetworkSubnetReservedIPOptions) SetIfMatch(ifMatch string) *UpdateClusterNetworkSubnetReservedIPOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateClusterNetworkSubnetReservedIPOptions) SetHeaders(param map[string]string) *UpdateClusterNetworkSubnetReservedIPOptions { + options.Headers = param + return options +} + +// UpdateDedicatedHostDiskOptions : The UpdateDedicatedHostDisk options. +type UpdateDedicatedHostDiskOptions struct { + // The dedicated host identifier. + DedicatedHostID *string `json:"dedicated_host_id" validate:"required,ne="` + + // The dedicated host disk identifier. + ID *string `json:"id" validate:"required,ne="` + + // The dedicated host disk patch. + DedicatedHostDiskPatch map[string]interface{} `json:"DedicatedHostDisk_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateDedicatedHostDiskOptions : Instantiate UpdateDedicatedHostDiskOptions +func (*VpcV1) NewUpdateDedicatedHostDiskOptions(dedicatedHostID string, id string, dedicatedHostDiskPatch map[string]interface{}) *UpdateDedicatedHostDiskOptions { + return &UpdateDedicatedHostDiskOptions{ + DedicatedHostID: core.StringPtr(dedicatedHostID), + ID: core.StringPtr(id), + DedicatedHostDiskPatch: dedicatedHostDiskPatch, + } +} + +// SetDedicatedHostID : Allow user to set DedicatedHostID +func (_options *UpdateDedicatedHostDiskOptions) SetDedicatedHostID(dedicatedHostID string) *UpdateDedicatedHostDiskOptions { + _options.DedicatedHostID = core.StringPtr(dedicatedHostID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateDedicatedHostDiskOptions) SetID(id string) *UpdateDedicatedHostDiskOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetDedicatedHostDiskPatch : Allow user to set DedicatedHostDiskPatch +func (_options *UpdateDedicatedHostDiskOptions) SetDedicatedHostDiskPatch(dedicatedHostDiskPatch map[string]interface{}) *UpdateDedicatedHostDiskOptions { + _options.DedicatedHostDiskPatch = dedicatedHostDiskPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateDedicatedHostDiskOptions) SetHeaders(param map[string]string) *UpdateDedicatedHostDiskOptions { + options.Headers = param + return options +} + +// UpdateDedicatedHostGroupOptions : The UpdateDedicatedHostGroup options. +type UpdateDedicatedHostGroupOptions struct { + // The dedicated host group identifier. + ID *string `json:"id" validate:"required,ne="` + + // The dedicated host group patch. + DedicatedHostGroupPatch map[string]interface{} `json:"DedicatedHostGroup_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateDedicatedHostGroupOptions : Instantiate UpdateDedicatedHostGroupOptions +func (*VpcV1) NewUpdateDedicatedHostGroupOptions(id string, dedicatedHostGroupPatch map[string]interface{}) *UpdateDedicatedHostGroupOptions { + return &UpdateDedicatedHostGroupOptions{ + ID: core.StringPtr(id), + DedicatedHostGroupPatch: dedicatedHostGroupPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateDedicatedHostGroupOptions) SetID(id string) *UpdateDedicatedHostGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetDedicatedHostGroupPatch : Allow user to set DedicatedHostGroupPatch +func (_options *UpdateDedicatedHostGroupOptions) SetDedicatedHostGroupPatch(dedicatedHostGroupPatch map[string]interface{}) *UpdateDedicatedHostGroupOptions { + _options.DedicatedHostGroupPatch = dedicatedHostGroupPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateDedicatedHostGroupOptions) SetHeaders(param map[string]string) *UpdateDedicatedHostGroupOptions { + options.Headers = param + return options +} + +// UpdateDedicatedHostOptions : The UpdateDedicatedHost options. +type UpdateDedicatedHostOptions struct { + // The dedicated host identifier. + ID *string `json:"id" validate:"required,ne="` + + // The dedicated host patch. + DedicatedHostPatch map[string]interface{} `json:"DedicatedHost_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateDedicatedHostOptions : Instantiate UpdateDedicatedHostOptions +func (*VpcV1) NewUpdateDedicatedHostOptions(id string, dedicatedHostPatch map[string]interface{}) *UpdateDedicatedHostOptions { + return &UpdateDedicatedHostOptions{ + ID: core.StringPtr(id), + DedicatedHostPatch: dedicatedHostPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateDedicatedHostOptions) SetID(id string) *UpdateDedicatedHostOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetDedicatedHostPatch : Allow user to set DedicatedHostPatch +func (_options *UpdateDedicatedHostOptions) SetDedicatedHostPatch(dedicatedHostPatch map[string]interface{}) *UpdateDedicatedHostOptions { + _options.DedicatedHostPatch = dedicatedHostPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateDedicatedHostOptions) SetHeaders(param map[string]string) *UpdateDedicatedHostOptions { + options.Headers = param + return options +} + +// UpdateEndpointGatewayOptions : The UpdateEndpointGateway options. +type UpdateEndpointGatewayOptions struct { + // The endpoint gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // The endpoint gateway patch. + EndpointGatewayPatch map[string]interface{} `json:"EndpointGateway_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateEndpointGatewayOptions : Instantiate UpdateEndpointGatewayOptions +func (*VpcV1) NewUpdateEndpointGatewayOptions(id string, endpointGatewayPatch map[string]interface{}) *UpdateEndpointGatewayOptions { + return &UpdateEndpointGatewayOptions{ + ID: core.StringPtr(id), + EndpointGatewayPatch: endpointGatewayPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateEndpointGatewayOptions) SetID(id string) *UpdateEndpointGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetEndpointGatewayPatch : Allow user to set EndpointGatewayPatch +func (_options *UpdateEndpointGatewayOptions) SetEndpointGatewayPatch(endpointGatewayPatch map[string]interface{}) *UpdateEndpointGatewayOptions { + _options.EndpointGatewayPatch = endpointGatewayPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateEndpointGatewayOptions) SetHeaders(param map[string]string) *UpdateEndpointGatewayOptions { + options.Headers = param + return options +} + +// UpdateFirmwareForBareMetalServerOptions : The UpdateFirmwareForBareMetalServer options. +type UpdateFirmwareForBareMetalServerOptions struct { + // The bare metal server identifier. + ID *string `json:"id" validate:"required,ne="` + + // Indicates whether to automatically start the bare metal server after the firmware update is successfully completed. + AutoStart *bool `json:"auto_start,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateFirmwareForBareMetalServerOptions : Instantiate UpdateFirmwareForBareMetalServerOptions +func (*VpcV1) NewUpdateFirmwareForBareMetalServerOptions(id string) *UpdateFirmwareForBareMetalServerOptions { + return &UpdateFirmwareForBareMetalServerOptions{ + ID: core.StringPtr(id), + } +} + +// SetID : Allow user to set ID +func (_options *UpdateFirmwareForBareMetalServerOptions) SetID(id string) *UpdateFirmwareForBareMetalServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetAutoStart : Allow user to set AutoStart +func (_options *UpdateFirmwareForBareMetalServerOptions) SetAutoStart(autoStart bool) *UpdateFirmwareForBareMetalServerOptions { + _options.AutoStart = core.BoolPtr(autoStart) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateFirmwareForBareMetalServerOptions) SetHeaders(param map[string]string) *UpdateFirmwareForBareMetalServerOptions { + options.Headers = param + return options +} + +// UpdateFloatingIPOptions : The UpdateFloatingIP options. +type UpdateFloatingIPOptions struct { + // The floating IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // The floating IP patch. + FloatingIPPatch map[string]interface{} `json:"FloatingIP_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateFloatingIPOptions : Instantiate UpdateFloatingIPOptions +func (*VpcV1) NewUpdateFloatingIPOptions(id string, floatingIPPatch map[string]interface{}) *UpdateFloatingIPOptions { + return &UpdateFloatingIPOptions{ + ID: core.StringPtr(id), + FloatingIPPatch: floatingIPPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateFloatingIPOptions) SetID(id string) *UpdateFloatingIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetFloatingIPPatch : Allow user to set FloatingIPPatch +func (_options *UpdateFloatingIPOptions) SetFloatingIPPatch(floatingIPPatch map[string]interface{}) *UpdateFloatingIPOptions { + _options.FloatingIPPatch = floatingIPPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateFloatingIPOptions) SetHeaders(param map[string]string) *UpdateFloatingIPOptions { + options.Headers = param + return options +} + +// UpdateFlowLogCollectorOptions : The UpdateFlowLogCollector options. +type UpdateFlowLogCollectorOptions struct { + // The flow log collector identifier. + ID *string `json:"id" validate:"required,ne="` + + // The flow log collector patch. + FlowLogCollectorPatch map[string]interface{} `json:"FlowLogCollector_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateFlowLogCollectorOptions : Instantiate UpdateFlowLogCollectorOptions +func (*VpcV1) NewUpdateFlowLogCollectorOptions(id string, flowLogCollectorPatch map[string]interface{}) *UpdateFlowLogCollectorOptions { + return &UpdateFlowLogCollectorOptions{ + ID: core.StringPtr(id), + FlowLogCollectorPatch: flowLogCollectorPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateFlowLogCollectorOptions) SetID(id string) *UpdateFlowLogCollectorOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetFlowLogCollectorPatch : Allow user to set FlowLogCollectorPatch +func (_options *UpdateFlowLogCollectorOptions) SetFlowLogCollectorPatch(flowLogCollectorPatch map[string]interface{}) *UpdateFlowLogCollectorOptions { + _options.FlowLogCollectorPatch = flowLogCollectorPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateFlowLogCollectorOptions) SetHeaders(param map[string]string) *UpdateFlowLogCollectorOptions { + options.Headers = param + return options +} + +// UpdateIkePolicyOptions : The UpdateIkePolicy options. +type UpdateIkePolicyOptions struct { + // The IKE policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // The IKE policy patch. + IkePolicyPatch map[string]interface{} `json:"IkePolicy_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateIkePolicyOptions : Instantiate UpdateIkePolicyOptions +func (*VpcV1) NewUpdateIkePolicyOptions(id string, ikePolicyPatch map[string]interface{}) *UpdateIkePolicyOptions { + return &UpdateIkePolicyOptions{ + ID: core.StringPtr(id), + IkePolicyPatch: ikePolicyPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateIkePolicyOptions) SetID(id string) *UpdateIkePolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIkePolicyPatch : Allow user to set IkePolicyPatch +func (_options *UpdateIkePolicyOptions) SetIkePolicyPatch(ikePolicyPatch map[string]interface{}) *UpdateIkePolicyOptions { + _options.IkePolicyPatch = ikePolicyPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateIkePolicyOptions) SetHeaders(param map[string]string) *UpdateIkePolicyOptions { + options.Headers = param + return options +} + +// UpdateImageExportJobOptions : The UpdateImageExportJob options. +type UpdateImageExportJobOptions struct { + // The image identifier. + ImageID *string `json:"image_id" validate:"required,ne="` + + // The image export job identifier. + ID *string `json:"id" validate:"required,ne="` + + // The image export job patch. + ImageExportJobPatch map[string]interface{} `json:"ImageExportJob_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateImageExportJobOptions : Instantiate UpdateImageExportJobOptions +func (*VpcV1) NewUpdateImageExportJobOptions(imageID string, id string, imageExportJobPatch map[string]interface{}) *UpdateImageExportJobOptions { + return &UpdateImageExportJobOptions{ + ImageID: core.StringPtr(imageID), + ID: core.StringPtr(id), + ImageExportJobPatch: imageExportJobPatch, + } +} + +// SetImageID : Allow user to set ImageID +func (_options *UpdateImageExportJobOptions) SetImageID(imageID string) *UpdateImageExportJobOptions { + _options.ImageID = core.StringPtr(imageID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateImageExportJobOptions) SetID(id string) *UpdateImageExportJobOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetImageExportJobPatch : Allow user to set ImageExportJobPatch +func (_options *UpdateImageExportJobOptions) SetImageExportJobPatch(imageExportJobPatch map[string]interface{}) *UpdateImageExportJobOptions { + _options.ImageExportJobPatch = imageExportJobPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateImageExportJobOptions) SetHeaders(param map[string]string) *UpdateImageExportJobOptions { + options.Headers = param + return options +} + +// UpdateImageOptions : The UpdateImage options. +type UpdateImageOptions struct { + // The image identifier. + ID *string `json:"id" validate:"required,ne="` + + // The image patch. + ImagePatch map[string]interface{} `json:"Image_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateImageOptions : Instantiate UpdateImageOptions +func (*VpcV1) NewUpdateImageOptions(id string, imagePatch map[string]interface{}) *UpdateImageOptions { + return &UpdateImageOptions{ + ID: core.StringPtr(id), + ImagePatch: imagePatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateImageOptions) SetID(id string) *UpdateImageOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetImagePatch : Allow user to set ImagePatch +func (_options *UpdateImageOptions) SetImagePatch(imagePatch map[string]interface{}) *UpdateImageOptions { + _options.ImagePatch = imagePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateImageOptions) SetHeaders(param map[string]string) *UpdateImageOptions { + options.Headers = param + return options +} + +// UpdateInstanceClusterNetworkAttachmentOptions : The UpdateInstanceClusterNetworkAttachment options. +type UpdateInstanceClusterNetworkAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance cluster network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance cluster network attachment patch. + InstanceClusterNetworkAttachmentPatch map[string]interface{} `json:"InstanceClusterNetworkAttachment_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceClusterNetworkAttachmentOptions : Instantiate UpdateInstanceClusterNetworkAttachmentOptions +func (*VpcV1) NewUpdateInstanceClusterNetworkAttachmentOptions(instanceID string, id string, instanceClusterNetworkAttachmentPatch map[string]interface{}) *UpdateInstanceClusterNetworkAttachmentOptions { + return &UpdateInstanceClusterNetworkAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + InstanceClusterNetworkAttachmentPatch: instanceClusterNetworkAttachmentPatch, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *UpdateInstanceClusterNetworkAttachmentOptions) SetInstanceID(instanceID string) *UpdateInstanceClusterNetworkAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceClusterNetworkAttachmentOptions) SetID(id string) *UpdateInstanceClusterNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceClusterNetworkAttachmentPatch : Allow user to set InstanceClusterNetworkAttachmentPatch +func (_options *UpdateInstanceClusterNetworkAttachmentOptions) SetInstanceClusterNetworkAttachmentPatch(instanceClusterNetworkAttachmentPatch map[string]interface{}) *UpdateInstanceClusterNetworkAttachmentOptions { + _options.InstanceClusterNetworkAttachmentPatch = instanceClusterNetworkAttachmentPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceClusterNetworkAttachmentOptions) SetHeaders(param map[string]string) *UpdateInstanceClusterNetworkAttachmentOptions { + options.Headers = param + return options +} + +// UpdateInstanceDiskOptions : The UpdateInstanceDisk options. +type UpdateInstanceDiskOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance disk identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance disk patch. + InstanceDiskPatch map[string]interface{} `json:"InstanceDisk_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceDiskOptions : Instantiate UpdateInstanceDiskOptions +func (*VpcV1) NewUpdateInstanceDiskOptions(instanceID string, id string, instanceDiskPatch map[string]interface{}) *UpdateInstanceDiskOptions { + return &UpdateInstanceDiskOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + InstanceDiskPatch: instanceDiskPatch, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *UpdateInstanceDiskOptions) SetInstanceID(instanceID string) *UpdateInstanceDiskOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceDiskOptions) SetID(id string) *UpdateInstanceDiskOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceDiskPatch : Allow user to set InstanceDiskPatch +func (_options *UpdateInstanceDiskOptions) SetInstanceDiskPatch(instanceDiskPatch map[string]interface{}) *UpdateInstanceDiskOptions { + _options.InstanceDiskPatch = instanceDiskPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceDiskOptions) SetHeaders(param map[string]string) *UpdateInstanceDiskOptions { + options.Headers = param + return options +} + +// UpdateInstanceGroupManagerActionOptions : The UpdateInstanceGroupManagerAction options. +type UpdateInstanceGroupManagerActionOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // The instance group manager action identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance group manager action patch. + InstanceGroupManagerActionPatch map[string]interface{} `json:"InstanceGroupManagerAction_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceGroupManagerActionOptions : Instantiate UpdateInstanceGroupManagerActionOptions +func (*VpcV1) NewUpdateInstanceGroupManagerActionOptions(instanceGroupID string, instanceGroupManagerID string, id string, instanceGroupManagerActionPatch map[string]interface{}) *UpdateInstanceGroupManagerActionOptions { + return &UpdateInstanceGroupManagerActionOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + ID: core.StringPtr(id), + InstanceGroupManagerActionPatch: instanceGroupManagerActionPatch, + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *UpdateInstanceGroupManagerActionOptions) SetInstanceGroupID(instanceGroupID string) *UpdateInstanceGroupManagerActionOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *UpdateInstanceGroupManagerActionOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *UpdateInstanceGroupManagerActionOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceGroupManagerActionOptions) SetID(id string) *UpdateInstanceGroupManagerActionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceGroupManagerActionPatch : Allow user to set InstanceGroupManagerActionPatch +func (_options *UpdateInstanceGroupManagerActionOptions) SetInstanceGroupManagerActionPatch(instanceGroupManagerActionPatch map[string]interface{}) *UpdateInstanceGroupManagerActionOptions { + _options.InstanceGroupManagerActionPatch = instanceGroupManagerActionPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceGroupManagerActionOptions) SetHeaders(param map[string]string) *UpdateInstanceGroupManagerActionOptions { + options.Headers = param + return options +} + +// UpdateInstanceGroupManagerOptions : The UpdateInstanceGroupManager options. +type UpdateInstanceGroupManagerOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance group manager patch. + InstanceGroupManagerPatch map[string]interface{} `json:"InstanceGroupManager_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceGroupManagerOptions : Instantiate UpdateInstanceGroupManagerOptions +func (*VpcV1) NewUpdateInstanceGroupManagerOptions(instanceGroupID string, id string, instanceGroupManagerPatch map[string]interface{}) *UpdateInstanceGroupManagerOptions { + return &UpdateInstanceGroupManagerOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + ID: core.StringPtr(id), + InstanceGroupManagerPatch: instanceGroupManagerPatch, + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *UpdateInstanceGroupManagerOptions) SetInstanceGroupID(instanceGroupID string) *UpdateInstanceGroupManagerOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceGroupManagerOptions) SetID(id string) *UpdateInstanceGroupManagerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceGroupManagerPatch : Allow user to set InstanceGroupManagerPatch +func (_options *UpdateInstanceGroupManagerOptions) SetInstanceGroupManagerPatch(instanceGroupManagerPatch map[string]interface{}) *UpdateInstanceGroupManagerOptions { + _options.InstanceGroupManagerPatch = instanceGroupManagerPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceGroupManagerOptions) SetHeaders(param map[string]string) *UpdateInstanceGroupManagerOptions { + options.Headers = param + return options +} + +// UpdateInstanceGroupManagerPolicyOptions : The UpdateInstanceGroupManagerPolicy options. +type UpdateInstanceGroupManagerPolicyOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group manager identifier. + InstanceGroupManagerID *string `json:"instance_group_manager_id" validate:"required,ne="` + + // The instance group manager policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance group manager policy patch. + InstanceGroupManagerPolicyPatch map[string]interface{} `json:"InstanceGroupManagerPolicy_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceGroupManagerPolicyOptions : Instantiate UpdateInstanceGroupManagerPolicyOptions +func (*VpcV1) NewUpdateInstanceGroupManagerPolicyOptions(instanceGroupID string, instanceGroupManagerID string, id string, instanceGroupManagerPolicyPatch map[string]interface{}) *UpdateInstanceGroupManagerPolicyOptions { + return &UpdateInstanceGroupManagerPolicyOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + InstanceGroupManagerID: core.StringPtr(instanceGroupManagerID), + ID: core.StringPtr(id), + InstanceGroupManagerPolicyPatch: instanceGroupManagerPolicyPatch, + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *UpdateInstanceGroupManagerPolicyOptions) SetInstanceGroupID(instanceGroupID string) *UpdateInstanceGroupManagerPolicyOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetInstanceGroupManagerID : Allow user to set InstanceGroupManagerID +func (_options *UpdateInstanceGroupManagerPolicyOptions) SetInstanceGroupManagerID(instanceGroupManagerID string) *UpdateInstanceGroupManagerPolicyOptions { + _options.InstanceGroupManagerID = core.StringPtr(instanceGroupManagerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceGroupManagerPolicyOptions) SetID(id string) *UpdateInstanceGroupManagerPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceGroupManagerPolicyPatch : Allow user to set InstanceGroupManagerPolicyPatch +func (_options *UpdateInstanceGroupManagerPolicyOptions) SetInstanceGroupManagerPolicyPatch(instanceGroupManagerPolicyPatch map[string]interface{}) *UpdateInstanceGroupManagerPolicyOptions { + _options.InstanceGroupManagerPolicyPatch = instanceGroupManagerPolicyPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceGroupManagerPolicyOptions) SetHeaders(param map[string]string) *UpdateInstanceGroupManagerPolicyOptions { + options.Headers = param + return options +} + +// UpdateInstanceGroupMembershipOptions : The UpdateInstanceGroupMembership options. +type UpdateInstanceGroupMembershipOptions struct { + // The instance group identifier. + InstanceGroupID *string `json:"instance_group_id" validate:"required,ne="` + + // The instance group membership identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance group membership patch. + InstanceGroupMembershipPatch map[string]interface{} `json:"InstanceGroupMembership_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceGroupMembershipOptions : Instantiate UpdateInstanceGroupMembershipOptions +func (*VpcV1) NewUpdateInstanceGroupMembershipOptions(instanceGroupID string, id string, instanceGroupMembershipPatch map[string]interface{}) *UpdateInstanceGroupMembershipOptions { + return &UpdateInstanceGroupMembershipOptions{ + InstanceGroupID: core.StringPtr(instanceGroupID), + ID: core.StringPtr(id), + InstanceGroupMembershipPatch: instanceGroupMembershipPatch, + } +} + +// SetInstanceGroupID : Allow user to set InstanceGroupID +func (_options *UpdateInstanceGroupMembershipOptions) SetInstanceGroupID(instanceGroupID string) *UpdateInstanceGroupMembershipOptions { + _options.InstanceGroupID = core.StringPtr(instanceGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceGroupMembershipOptions) SetID(id string) *UpdateInstanceGroupMembershipOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceGroupMembershipPatch : Allow user to set InstanceGroupMembershipPatch +func (_options *UpdateInstanceGroupMembershipOptions) SetInstanceGroupMembershipPatch(instanceGroupMembershipPatch map[string]interface{}) *UpdateInstanceGroupMembershipOptions { + _options.InstanceGroupMembershipPatch = instanceGroupMembershipPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceGroupMembershipOptions) SetHeaders(param map[string]string) *UpdateInstanceGroupMembershipOptions { + options.Headers = param + return options +} + +// UpdateInstanceGroupOptions : The UpdateInstanceGroup options. +type UpdateInstanceGroupOptions struct { + // The instance group identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance group patch. + InstanceGroupPatch map[string]interface{} `json:"InstanceGroup_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceGroupOptions : Instantiate UpdateInstanceGroupOptions +func (*VpcV1) NewUpdateInstanceGroupOptions(id string, instanceGroupPatch map[string]interface{}) *UpdateInstanceGroupOptions { + return &UpdateInstanceGroupOptions{ + ID: core.StringPtr(id), + InstanceGroupPatch: instanceGroupPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceGroupOptions) SetID(id string) *UpdateInstanceGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceGroupPatch : Allow user to set InstanceGroupPatch +func (_options *UpdateInstanceGroupOptions) SetInstanceGroupPatch(instanceGroupPatch map[string]interface{}) *UpdateInstanceGroupOptions { + _options.InstanceGroupPatch = instanceGroupPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceGroupOptions) SetHeaders(param map[string]string) *UpdateInstanceGroupOptions { + options.Headers = param + return options +} + +// UpdateInstanceNetworkAttachmentOptions : The UpdateInstanceNetworkAttachment options. +type UpdateInstanceNetworkAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance network attachment patch. + InstanceNetworkAttachmentPatch map[string]interface{} `json:"InstanceNetworkAttachment_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceNetworkAttachmentOptions : Instantiate UpdateInstanceNetworkAttachmentOptions +func (*VpcV1) NewUpdateInstanceNetworkAttachmentOptions(instanceID string, id string, instanceNetworkAttachmentPatch map[string]interface{}) *UpdateInstanceNetworkAttachmentOptions { + return &UpdateInstanceNetworkAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + InstanceNetworkAttachmentPatch: instanceNetworkAttachmentPatch, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *UpdateInstanceNetworkAttachmentOptions) SetInstanceID(instanceID string) *UpdateInstanceNetworkAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceNetworkAttachmentOptions) SetID(id string) *UpdateInstanceNetworkAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceNetworkAttachmentPatch : Allow user to set InstanceNetworkAttachmentPatch +func (_options *UpdateInstanceNetworkAttachmentOptions) SetInstanceNetworkAttachmentPatch(instanceNetworkAttachmentPatch map[string]interface{}) *UpdateInstanceNetworkAttachmentOptions { + _options.InstanceNetworkAttachmentPatch = instanceNetworkAttachmentPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceNetworkAttachmentOptions) SetHeaders(param map[string]string) *UpdateInstanceNetworkAttachmentOptions { + options.Headers = param + return options +} + +// UpdateInstanceNetworkInterfaceOptions : The UpdateInstanceNetworkInterface options. +type UpdateInstanceNetworkInterfaceOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The instance network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance network interface patch. + NetworkInterfacePatch map[string]interface{} `json:"NetworkInterface_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceNetworkInterfaceOptions : Instantiate UpdateInstanceNetworkInterfaceOptions +func (*VpcV1) NewUpdateInstanceNetworkInterfaceOptions(instanceID string, id string, networkInterfacePatch map[string]interface{}) *UpdateInstanceNetworkInterfaceOptions { + return &UpdateInstanceNetworkInterfaceOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + NetworkInterfacePatch: networkInterfacePatch, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *UpdateInstanceNetworkInterfaceOptions) SetInstanceID(instanceID string) *UpdateInstanceNetworkInterfaceOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceNetworkInterfaceOptions) SetID(id string) *UpdateInstanceNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetNetworkInterfacePatch : Allow user to set NetworkInterfacePatch +func (_options *UpdateInstanceNetworkInterfaceOptions) SetNetworkInterfacePatch(networkInterfacePatch map[string]interface{}) *UpdateInstanceNetworkInterfaceOptions { + _options.NetworkInterfacePatch = networkInterfacePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceNetworkInterfaceOptions) SetHeaders(param map[string]string) *UpdateInstanceNetworkInterfaceOptions { + options.Headers = param + return options +} + +// UpdateInstanceOptions : The UpdateInstance options. +type UpdateInstanceOptions struct { + // The virtual server instance identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance patch. + InstancePatch map[string]interface{} `json:"Instance_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceOptions : Instantiate UpdateInstanceOptions +func (*VpcV1) NewUpdateInstanceOptions(id string, instancePatch map[string]interface{}) *UpdateInstanceOptions { + return &UpdateInstanceOptions{ + ID: core.StringPtr(id), + InstancePatch: instancePatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceOptions) SetID(id string) *UpdateInstanceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstancePatch : Allow user to set InstancePatch +func (_options *UpdateInstanceOptions) SetInstancePatch(instancePatch map[string]interface{}) *UpdateInstanceOptions { + _options.InstancePatch = instancePatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateInstanceOptions) SetIfMatch(ifMatch string) *UpdateInstanceOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceOptions) SetHeaders(param map[string]string) *UpdateInstanceOptions { + options.Headers = param + return options +} + +// UpdateInstanceTemplateOptions : The UpdateInstanceTemplate options. +type UpdateInstanceTemplateOptions struct { + // The instance template identifier. + ID *string `json:"id" validate:"required,ne="` + + // The instance template patch. + InstanceTemplatePatch map[string]interface{} `json:"InstanceTemplate_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceTemplateOptions : Instantiate UpdateInstanceTemplateOptions +func (*VpcV1) NewUpdateInstanceTemplateOptions(id string, instanceTemplatePatch map[string]interface{}) *UpdateInstanceTemplateOptions { + return &UpdateInstanceTemplateOptions{ + ID: core.StringPtr(id), + InstanceTemplatePatch: instanceTemplatePatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceTemplateOptions) SetID(id string) *UpdateInstanceTemplateOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetInstanceTemplatePatch : Allow user to set InstanceTemplatePatch +func (_options *UpdateInstanceTemplateOptions) SetInstanceTemplatePatch(instanceTemplatePatch map[string]interface{}) *UpdateInstanceTemplateOptions { + _options.InstanceTemplatePatch = instanceTemplatePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceTemplateOptions) SetHeaders(param map[string]string) *UpdateInstanceTemplateOptions { + options.Headers = param + return options +} + +// UpdateInstanceVolumeAttachmentOptions : The UpdateInstanceVolumeAttachment options. +type UpdateInstanceVolumeAttachmentOptions struct { + // The virtual server instance identifier. + InstanceID *string `json:"instance_id" validate:"required,ne="` + + // The volume attachment identifier. + ID *string `json:"id" validate:"required,ne="` + + // The volume attachment patch. + VolumeAttachmentPatch map[string]interface{} `json:"VolumeAttachment_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateInstanceVolumeAttachmentOptions : Instantiate UpdateInstanceVolumeAttachmentOptions +func (*VpcV1) NewUpdateInstanceVolumeAttachmentOptions(instanceID string, id string, volumeAttachmentPatch map[string]interface{}) *UpdateInstanceVolumeAttachmentOptions { + return &UpdateInstanceVolumeAttachmentOptions{ + InstanceID: core.StringPtr(instanceID), + ID: core.StringPtr(id), + VolumeAttachmentPatch: volumeAttachmentPatch, + } +} + +// SetInstanceID : Allow user to set InstanceID +func (_options *UpdateInstanceVolumeAttachmentOptions) SetInstanceID(instanceID string) *UpdateInstanceVolumeAttachmentOptions { + _options.InstanceID = core.StringPtr(instanceID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateInstanceVolumeAttachmentOptions) SetID(id string) *UpdateInstanceVolumeAttachmentOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVolumeAttachmentPatch : Allow user to set VolumeAttachmentPatch +func (_options *UpdateInstanceVolumeAttachmentOptions) SetVolumeAttachmentPatch(volumeAttachmentPatch map[string]interface{}) *UpdateInstanceVolumeAttachmentOptions { + _options.VolumeAttachmentPatch = volumeAttachmentPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateInstanceVolumeAttachmentOptions) SetHeaders(param map[string]string) *UpdateInstanceVolumeAttachmentOptions { + options.Headers = param + return options +} + +// UpdateIpsecPolicyOptions : The UpdateIpsecPolicy options. +type UpdateIpsecPolicyOptions struct { + // The IPsec policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // The IPsec policy patch. + IPsecPolicyPatch map[string]interface{} `json:"IPsecPolicy_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateIpsecPolicyOptions : Instantiate UpdateIpsecPolicyOptions +func (*VpcV1) NewUpdateIpsecPolicyOptions(id string, iPsecPolicyPatch map[string]interface{}) *UpdateIpsecPolicyOptions { + return &UpdateIpsecPolicyOptions{ + ID: core.StringPtr(id), + IPsecPolicyPatch: iPsecPolicyPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateIpsecPolicyOptions) SetID(id string) *UpdateIpsecPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetIPsecPolicyPatch : Allow user to set IPsecPolicyPatch +func (_options *UpdateIpsecPolicyOptions) SetIPsecPolicyPatch(iPsecPolicyPatch map[string]interface{}) *UpdateIpsecPolicyOptions { + _options.IPsecPolicyPatch = iPsecPolicyPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateIpsecPolicyOptions) SetHeaders(param map[string]string) *UpdateIpsecPolicyOptions { + options.Headers = param + return options +} + +// UpdateKeyOptions : The UpdateKey options. +type UpdateKeyOptions struct { + // The key identifier. + ID *string `json:"id" validate:"required,ne="` + + // The key patch. + KeyPatch map[string]interface{} `json:"Key_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateKeyOptions : Instantiate UpdateKeyOptions +func (*VpcV1) NewUpdateKeyOptions(id string, keyPatch map[string]interface{}) *UpdateKeyOptions { + return &UpdateKeyOptions{ + ID: core.StringPtr(id), + KeyPatch: keyPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateKeyOptions) SetID(id string) *UpdateKeyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetKeyPatch : Allow user to set KeyPatch +func (_options *UpdateKeyOptions) SetKeyPatch(keyPatch map[string]interface{}) *UpdateKeyOptions { + _options.KeyPatch = keyPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateKeyOptions) SetHeaders(param map[string]string) *UpdateKeyOptions { + options.Headers = param + return options +} + +// UpdateLoadBalancerListenerOptions : The UpdateLoadBalancerListener options. +type UpdateLoadBalancerListenerOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ID *string `json:"id" validate:"required,ne="` + + // The load balancer listener patch. + LoadBalancerListenerPatch map[string]interface{} `json:"LoadBalancerListener_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateLoadBalancerListenerOptions : Instantiate UpdateLoadBalancerListenerOptions +func (*VpcV1) NewUpdateLoadBalancerListenerOptions(loadBalancerID string, id string, loadBalancerListenerPatch map[string]interface{}) *UpdateLoadBalancerListenerOptions { + return &UpdateLoadBalancerListenerOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ID: core.StringPtr(id), + LoadBalancerListenerPatch: loadBalancerListenerPatch, + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *UpdateLoadBalancerListenerOptions) SetLoadBalancerID(loadBalancerID string) *UpdateLoadBalancerListenerOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateLoadBalancerListenerOptions) SetID(id string) *UpdateLoadBalancerListenerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLoadBalancerListenerPatch : Allow user to set LoadBalancerListenerPatch +func (_options *UpdateLoadBalancerListenerOptions) SetLoadBalancerListenerPatch(loadBalancerListenerPatch map[string]interface{}) *UpdateLoadBalancerListenerOptions { + _options.LoadBalancerListenerPatch = loadBalancerListenerPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateLoadBalancerListenerOptions) SetHeaders(param map[string]string) *UpdateLoadBalancerListenerOptions { + options.Headers = param + return options +} + +// UpdateLoadBalancerListenerPolicyOptions : The UpdateLoadBalancerListenerPolicy options. +type UpdateLoadBalancerListenerPolicyOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // The listener policy patch. + LoadBalancerListenerPolicyPatch map[string]interface{} `json:"LoadBalancerListenerPolicy_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateLoadBalancerListenerPolicyOptions : Instantiate UpdateLoadBalancerListenerPolicyOptions +func (*VpcV1) NewUpdateLoadBalancerListenerPolicyOptions(loadBalancerID string, listenerID string, id string, loadBalancerListenerPolicyPatch map[string]interface{}) *UpdateLoadBalancerListenerPolicyOptions { + return &UpdateLoadBalancerListenerPolicyOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + ID: core.StringPtr(id), + LoadBalancerListenerPolicyPatch: loadBalancerListenerPolicyPatch, + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *UpdateLoadBalancerListenerPolicyOptions) SetLoadBalancerID(loadBalancerID string) *UpdateLoadBalancerListenerPolicyOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *UpdateLoadBalancerListenerPolicyOptions) SetListenerID(listenerID string) *UpdateLoadBalancerListenerPolicyOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateLoadBalancerListenerPolicyOptions) SetID(id string) *UpdateLoadBalancerListenerPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLoadBalancerListenerPolicyPatch : Allow user to set LoadBalancerListenerPolicyPatch +func (_options *UpdateLoadBalancerListenerPolicyOptions) SetLoadBalancerListenerPolicyPatch(loadBalancerListenerPolicyPatch map[string]interface{}) *UpdateLoadBalancerListenerPolicyOptions { + _options.LoadBalancerListenerPolicyPatch = loadBalancerListenerPolicyPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateLoadBalancerListenerPolicyOptions) SetHeaders(param map[string]string) *UpdateLoadBalancerListenerPolicyOptions { + options.Headers = param + return options +} + +// UpdateLoadBalancerListenerPolicyRuleOptions : The UpdateLoadBalancerListenerPolicyRule options. +type UpdateLoadBalancerListenerPolicyRuleOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The listener identifier. + ListenerID *string `json:"listener_id" validate:"required,ne="` + + // The policy identifier. + PolicyID *string `json:"policy_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // The listener policy rule patch. + LoadBalancerListenerPolicyRulePatch map[string]interface{} `json:"LoadBalancerListenerPolicyRule_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateLoadBalancerListenerPolicyRuleOptions : Instantiate UpdateLoadBalancerListenerPolicyRuleOptions +func (*VpcV1) NewUpdateLoadBalancerListenerPolicyRuleOptions(loadBalancerID string, listenerID string, policyID string, id string, loadBalancerListenerPolicyRulePatch map[string]interface{}) *UpdateLoadBalancerListenerPolicyRuleOptions { + return &UpdateLoadBalancerListenerPolicyRuleOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ListenerID: core.StringPtr(listenerID), + PolicyID: core.StringPtr(policyID), + ID: core.StringPtr(id), + LoadBalancerListenerPolicyRulePatch: loadBalancerListenerPolicyRulePatch, + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *UpdateLoadBalancerListenerPolicyRuleOptions) SetLoadBalancerID(loadBalancerID string) *UpdateLoadBalancerListenerPolicyRuleOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetListenerID : Allow user to set ListenerID +func (_options *UpdateLoadBalancerListenerPolicyRuleOptions) SetListenerID(listenerID string) *UpdateLoadBalancerListenerPolicyRuleOptions { + _options.ListenerID = core.StringPtr(listenerID) + return _options +} + +// SetPolicyID : Allow user to set PolicyID +func (_options *UpdateLoadBalancerListenerPolicyRuleOptions) SetPolicyID(policyID string) *UpdateLoadBalancerListenerPolicyRuleOptions { + _options.PolicyID = core.StringPtr(policyID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateLoadBalancerListenerPolicyRuleOptions) SetID(id string) *UpdateLoadBalancerListenerPolicyRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLoadBalancerListenerPolicyRulePatch : Allow user to set LoadBalancerListenerPolicyRulePatch +func (_options *UpdateLoadBalancerListenerPolicyRuleOptions) SetLoadBalancerListenerPolicyRulePatch(loadBalancerListenerPolicyRulePatch map[string]interface{}) *UpdateLoadBalancerListenerPolicyRuleOptions { + _options.LoadBalancerListenerPolicyRulePatch = loadBalancerListenerPolicyRulePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateLoadBalancerListenerPolicyRuleOptions) SetHeaders(param map[string]string) *UpdateLoadBalancerListenerPolicyRuleOptions { + options.Headers = param + return options +} + +// UpdateLoadBalancerOptions : The UpdateLoadBalancer options. +type UpdateLoadBalancerOptions struct { + // The load balancer identifier. + ID *string `json:"id" validate:"required,ne="` + + // The load balancer patch. + LoadBalancerPatch map[string]interface{} `json:"LoadBalancer_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateLoadBalancerOptions : Instantiate UpdateLoadBalancerOptions +func (*VpcV1) NewUpdateLoadBalancerOptions(id string, loadBalancerPatch map[string]interface{}) *UpdateLoadBalancerOptions { + return &UpdateLoadBalancerOptions{ + ID: core.StringPtr(id), + LoadBalancerPatch: loadBalancerPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateLoadBalancerOptions) SetID(id string) *UpdateLoadBalancerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLoadBalancerPatch : Allow user to set LoadBalancerPatch +func (_options *UpdateLoadBalancerOptions) SetLoadBalancerPatch(loadBalancerPatch map[string]interface{}) *UpdateLoadBalancerOptions { + _options.LoadBalancerPatch = loadBalancerPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateLoadBalancerOptions) SetIfMatch(ifMatch string) *UpdateLoadBalancerOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateLoadBalancerOptions) SetHeaders(param map[string]string) *UpdateLoadBalancerOptions { + options.Headers = param + return options +} + +// UpdateLoadBalancerPoolMemberOptions : The UpdateLoadBalancerPoolMember options. +type UpdateLoadBalancerPoolMemberOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + PoolID *string `json:"pool_id" validate:"required,ne="` + + // The member identifier. + ID *string `json:"id" validate:"required,ne="` + + // The load balancer pool member patch. + LoadBalancerPoolMemberPatch map[string]interface{} `json:"LoadBalancerPoolMember_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateLoadBalancerPoolMemberOptions : Instantiate UpdateLoadBalancerPoolMemberOptions +func (*VpcV1) NewUpdateLoadBalancerPoolMemberOptions(loadBalancerID string, poolID string, id string, loadBalancerPoolMemberPatch map[string]interface{}) *UpdateLoadBalancerPoolMemberOptions { + return &UpdateLoadBalancerPoolMemberOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + PoolID: core.StringPtr(poolID), + ID: core.StringPtr(id), + LoadBalancerPoolMemberPatch: loadBalancerPoolMemberPatch, + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *UpdateLoadBalancerPoolMemberOptions) SetLoadBalancerID(loadBalancerID string) *UpdateLoadBalancerPoolMemberOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetPoolID : Allow user to set PoolID +func (_options *UpdateLoadBalancerPoolMemberOptions) SetPoolID(poolID string) *UpdateLoadBalancerPoolMemberOptions { + _options.PoolID = core.StringPtr(poolID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateLoadBalancerPoolMemberOptions) SetID(id string) *UpdateLoadBalancerPoolMemberOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLoadBalancerPoolMemberPatch : Allow user to set LoadBalancerPoolMemberPatch +func (_options *UpdateLoadBalancerPoolMemberOptions) SetLoadBalancerPoolMemberPatch(loadBalancerPoolMemberPatch map[string]interface{}) *UpdateLoadBalancerPoolMemberOptions { + _options.LoadBalancerPoolMemberPatch = loadBalancerPoolMemberPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateLoadBalancerPoolMemberOptions) SetHeaders(param map[string]string) *UpdateLoadBalancerPoolMemberOptions { + options.Headers = param + return options +} + +// UpdateLoadBalancerPoolOptions : The UpdateLoadBalancerPool options. +type UpdateLoadBalancerPoolOptions struct { + // The load balancer identifier. + LoadBalancerID *string `json:"load_balancer_id" validate:"required,ne="` + + // The pool identifier. + ID *string `json:"id" validate:"required,ne="` + + // The load balancer pool patch. + LoadBalancerPoolPatch map[string]interface{} `json:"LoadBalancerPool_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateLoadBalancerPoolOptions : Instantiate UpdateLoadBalancerPoolOptions +func (*VpcV1) NewUpdateLoadBalancerPoolOptions(loadBalancerID string, id string, loadBalancerPoolPatch map[string]interface{}) *UpdateLoadBalancerPoolOptions { + return &UpdateLoadBalancerPoolOptions{ + LoadBalancerID: core.StringPtr(loadBalancerID), + ID: core.StringPtr(id), + LoadBalancerPoolPatch: loadBalancerPoolPatch, + } +} + +// SetLoadBalancerID : Allow user to set LoadBalancerID +func (_options *UpdateLoadBalancerPoolOptions) SetLoadBalancerID(loadBalancerID string) *UpdateLoadBalancerPoolOptions { + _options.LoadBalancerID = core.StringPtr(loadBalancerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateLoadBalancerPoolOptions) SetID(id string) *UpdateLoadBalancerPoolOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLoadBalancerPoolPatch : Allow user to set LoadBalancerPoolPatch +func (_options *UpdateLoadBalancerPoolOptions) SetLoadBalancerPoolPatch(loadBalancerPoolPatch map[string]interface{}) *UpdateLoadBalancerPoolOptions { + _options.LoadBalancerPoolPatch = loadBalancerPoolPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateLoadBalancerPoolOptions) SetHeaders(param map[string]string) *UpdateLoadBalancerPoolOptions { + options.Headers = param + return options +} + +// UpdateNetworkACLOptions : The UpdateNetworkACL options. +type UpdateNetworkACLOptions struct { + // The network ACL identifier. + ID *string `json:"id" validate:"required,ne="` + + // The network ACL patch. + NetworkACLPatch map[string]interface{} `json:"NetworkACL_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateNetworkACLOptions : Instantiate UpdateNetworkACLOptions +func (*VpcV1) NewUpdateNetworkACLOptions(id string, networkACLPatch map[string]interface{}) *UpdateNetworkACLOptions { + return &UpdateNetworkACLOptions{ + ID: core.StringPtr(id), + NetworkACLPatch: networkACLPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateNetworkACLOptions) SetID(id string) *UpdateNetworkACLOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetNetworkACLPatch : Allow user to set NetworkACLPatch +func (_options *UpdateNetworkACLOptions) SetNetworkACLPatch(networkACLPatch map[string]interface{}) *UpdateNetworkACLOptions { + _options.NetworkACLPatch = networkACLPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateNetworkACLOptions) SetHeaders(param map[string]string) *UpdateNetworkACLOptions { + options.Headers = param + return options +} + +// UpdateNetworkACLRuleOptions : The UpdateNetworkACLRule options. +type UpdateNetworkACLRuleOptions struct { + // The network ACL identifier. + NetworkACLID *string `json:"network_acl_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // The network ACL rule patch. + NetworkACLRulePatch map[string]interface{} `json:"NetworkACLRule_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateNetworkACLRuleOptions : Instantiate UpdateNetworkACLRuleOptions +func (*VpcV1) NewUpdateNetworkACLRuleOptions(networkACLID string, id string, networkACLRulePatch map[string]interface{}) *UpdateNetworkACLRuleOptions { + return &UpdateNetworkACLRuleOptions{ + NetworkACLID: core.StringPtr(networkACLID), + ID: core.StringPtr(id), + NetworkACLRulePatch: networkACLRulePatch, + } +} + +// SetNetworkACLID : Allow user to set NetworkACLID +func (_options *UpdateNetworkACLRuleOptions) SetNetworkACLID(networkACLID string) *UpdateNetworkACLRuleOptions { + _options.NetworkACLID = core.StringPtr(networkACLID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateNetworkACLRuleOptions) SetID(id string) *UpdateNetworkACLRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetNetworkACLRulePatch : Allow user to set NetworkACLRulePatch +func (_options *UpdateNetworkACLRuleOptions) SetNetworkACLRulePatch(networkACLRulePatch map[string]interface{}) *UpdateNetworkACLRuleOptions { + _options.NetworkACLRulePatch = networkACLRulePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateNetworkACLRuleOptions) SetHeaders(param map[string]string) *UpdateNetworkACLRuleOptions { + options.Headers = param + return options +} + +// UpdatePlacementGroupOptions : The UpdatePlacementGroup options. +type UpdatePlacementGroupOptions struct { + // The placement group identifier. + ID *string `json:"id" validate:"required,ne="` + + // The placement group patch. + PlacementGroupPatch map[string]interface{} `json:"PlacementGroup_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdatePlacementGroupOptions : Instantiate UpdatePlacementGroupOptions +func (*VpcV1) NewUpdatePlacementGroupOptions(id string, placementGroupPatch map[string]interface{}) *UpdatePlacementGroupOptions { + return &UpdatePlacementGroupOptions{ + ID: core.StringPtr(id), + PlacementGroupPatch: placementGroupPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdatePlacementGroupOptions) SetID(id string) *UpdatePlacementGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetPlacementGroupPatch : Allow user to set PlacementGroupPatch +func (_options *UpdatePlacementGroupOptions) SetPlacementGroupPatch(placementGroupPatch map[string]interface{}) *UpdatePlacementGroupOptions { + _options.PlacementGroupPatch = placementGroupPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdatePlacementGroupOptions) SetHeaders(param map[string]string) *UpdatePlacementGroupOptions { + options.Headers = param + return options +} + +// UpdatePrivatePathServiceGatewayAccountPolicyOptions : The UpdatePrivatePathServiceGatewayAccountPolicy options. +type UpdatePrivatePathServiceGatewayAccountPolicyOptions struct { + // The private path service gateway identifier. + PrivatePathServiceGatewayID *string `json:"private_path_service_gateway_id" validate:"required,ne="` + + // The account policy identifier. + ID *string `json:"id" validate:"required,ne="` + + // The account policy patch. + PrivatePathServiceGatewayAccountPolicyPatch map[string]interface{} `json:"PrivatePathServiceGatewayAccountPolicy_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdatePrivatePathServiceGatewayAccountPolicyOptions : Instantiate UpdatePrivatePathServiceGatewayAccountPolicyOptions +func (*VpcV1) NewUpdatePrivatePathServiceGatewayAccountPolicyOptions(privatePathServiceGatewayID string, id string, privatePathServiceGatewayAccountPolicyPatch map[string]interface{}) *UpdatePrivatePathServiceGatewayAccountPolicyOptions { + return &UpdatePrivatePathServiceGatewayAccountPolicyOptions{ + PrivatePathServiceGatewayID: core.StringPtr(privatePathServiceGatewayID), + ID: core.StringPtr(id), + PrivatePathServiceGatewayAccountPolicyPatch: privatePathServiceGatewayAccountPolicyPatch, + } +} + +// SetPrivatePathServiceGatewayID : Allow user to set PrivatePathServiceGatewayID +func (_options *UpdatePrivatePathServiceGatewayAccountPolicyOptions) SetPrivatePathServiceGatewayID(privatePathServiceGatewayID string) *UpdatePrivatePathServiceGatewayAccountPolicyOptions { + _options.PrivatePathServiceGatewayID = core.StringPtr(privatePathServiceGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdatePrivatePathServiceGatewayAccountPolicyOptions) SetID(id string) *UpdatePrivatePathServiceGatewayAccountPolicyOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetPrivatePathServiceGatewayAccountPolicyPatch : Allow user to set PrivatePathServiceGatewayAccountPolicyPatch +func (_options *UpdatePrivatePathServiceGatewayAccountPolicyOptions) SetPrivatePathServiceGatewayAccountPolicyPatch(privatePathServiceGatewayAccountPolicyPatch map[string]interface{}) *UpdatePrivatePathServiceGatewayAccountPolicyOptions { + _options.PrivatePathServiceGatewayAccountPolicyPatch = privatePathServiceGatewayAccountPolicyPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdatePrivatePathServiceGatewayAccountPolicyOptions) SetHeaders(param map[string]string) *UpdatePrivatePathServiceGatewayAccountPolicyOptions { + options.Headers = param + return options +} + +// UpdatePrivatePathServiceGatewayOptions : The UpdatePrivatePathServiceGateway options. +type UpdatePrivatePathServiceGatewayOptions struct { + // The private path service gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // The private path service gateway patch. + PrivatePathServiceGatewayPatch map[string]interface{} `json:"PrivatePathServiceGateway_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdatePrivatePathServiceGatewayOptions : Instantiate UpdatePrivatePathServiceGatewayOptions +func (*VpcV1) NewUpdatePrivatePathServiceGatewayOptions(id string, privatePathServiceGatewayPatch map[string]interface{}) *UpdatePrivatePathServiceGatewayOptions { + return &UpdatePrivatePathServiceGatewayOptions{ + ID: core.StringPtr(id), + PrivatePathServiceGatewayPatch: privatePathServiceGatewayPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdatePrivatePathServiceGatewayOptions) SetID(id string) *UpdatePrivatePathServiceGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetPrivatePathServiceGatewayPatch : Allow user to set PrivatePathServiceGatewayPatch +func (_options *UpdatePrivatePathServiceGatewayOptions) SetPrivatePathServiceGatewayPatch(privatePathServiceGatewayPatch map[string]interface{}) *UpdatePrivatePathServiceGatewayOptions { + _options.PrivatePathServiceGatewayPatch = privatePathServiceGatewayPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdatePrivatePathServiceGatewayOptions) SetHeaders(param map[string]string) *UpdatePrivatePathServiceGatewayOptions { + options.Headers = param + return options +} + +// UpdatePublicAddressRangeOptions : The UpdatePublicAddressRange options. +type UpdatePublicAddressRangeOptions struct { + // The public address range identifier. + ID *string `json:"id" validate:"required,ne="` + + // The public address range patch. + PublicAddressRangePatch map[string]interface{} `json:"PublicAddressRange_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdatePublicAddressRangeOptions : Instantiate UpdatePublicAddressRangeOptions +func (*VpcV1) NewUpdatePublicAddressRangeOptions(id string, publicAddressRangePatch map[string]interface{}) *UpdatePublicAddressRangeOptions { + return &UpdatePublicAddressRangeOptions{ + ID: core.StringPtr(id), + PublicAddressRangePatch: publicAddressRangePatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdatePublicAddressRangeOptions) SetID(id string) *UpdatePublicAddressRangeOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetPublicAddressRangePatch : Allow user to set PublicAddressRangePatch +func (_options *UpdatePublicAddressRangeOptions) SetPublicAddressRangePatch(publicAddressRangePatch map[string]interface{}) *UpdatePublicAddressRangeOptions { + _options.PublicAddressRangePatch = publicAddressRangePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdatePublicAddressRangeOptions) SetHeaders(param map[string]string) *UpdatePublicAddressRangeOptions { + options.Headers = param + return options +} + +// UpdatePublicGatewayOptions : The UpdatePublicGateway options. +type UpdatePublicGatewayOptions struct { + // The public gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // The public gateway patch. + PublicGatewayPatch map[string]interface{} `json:"PublicGateway_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdatePublicGatewayOptions : Instantiate UpdatePublicGatewayOptions +func (*VpcV1) NewUpdatePublicGatewayOptions(id string, publicGatewayPatch map[string]interface{}) *UpdatePublicGatewayOptions { + return &UpdatePublicGatewayOptions{ + ID: core.StringPtr(id), + PublicGatewayPatch: publicGatewayPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdatePublicGatewayOptions) SetID(id string) *UpdatePublicGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetPublicGatewayPatch : Allow user to set PublicGatewayPatch +func (_options *UpdatePublicGatewayOptions) SetPublicGatewayPatch(publicGatewayPatch map[string]interface{}) *UpdatePublicGatewayOptions { + _options.PublicGatewayPatch = publicGatewayPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdatePublicGatewayOptions) SetHeaders(param map[string]string) *UpdatePublicGatewayOptions { + options.Headers = param + return options +} + +// UpdateReservationOptions : The UpdateReservation options. +type UpdateReservationOptions struct { + // The reservation identifier. + ID *string `json:"id" validate:"required,ne="` + + // The reservation patch. + ReservationPatch map[string]interface{} `json:"Reservation_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateReservationOptions : Instantiate UpdateReservationOptions +func (*VpcV1) NewUpdateReservationOptions(id string, reservationPatch map[string]interface{}) *UpdateReservationOptions { + return &UpdateReservationOptions{ + ID: core.StringPtr(id), + ReservationPatch: reservationPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateReservationOptions) SetID(id string) *UpdateReservationOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetReservationPatch : Allow user to set ReservationPatch +func (_options *UpdateReservationOptions) SetReservationPatch(reservationPatch map[string]interface{}) *UpdateReservationOptions { + _options.ReservationPatch = reservationPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateReservationOptions) SetHeaders(param map[string]string) *UpdateReservationOptions { + options.Headers = param + return options +} + +// UpdateSecurityGroupOptions : The UpdateSecurityGroup options. +type UpdateSecurityGroupOptions struct { + // The security group identifier. + ID *string `json:"id" validate:"required,ne="` + + // The security group patch. + SecurityGroupPatch map[string]interface{} `json:"SecurityGroup_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateSecurityGroupOptions : Instantiate UpdateSecurityGroupOptions +func (*VpcV1) NewUpdateSecurityGroupOptions(id string, securityGroupPatch map[string]interface{}) *UpdateSecurityGroupOptions { + return &UpdateSecurityGroupOptions{ + ID: core.StringPtr(id), + SecurityGroupPatch: securityGroupPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateSecurityGroupOptions) SetID(id string) *UpdateSecurityGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetSecurityGroupPatch : Allow user to set SecurityGroupPatch +func (_options *UpdateSecurityGroupOptions) SetSecurityGroupPatch(securityGroupPatch map[string]interface{}) *UpdateSecurityGroupOptions { + _options.SecurityGroupPatch = securityGroupPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateSecurityGroupOptions) SetHeaders(param map[string]string) *UpdateSecurityGroupOptions { + options.Headers = param + return options +} + +// UpdateSecurityGroupRuleOptions : The UpdateSecurityGroupRule options. +type UpdateSecurityGroupRuleOptions struct { + // The security group identifier. + SecurityGroupID *string `json:"security_group_id" validate:"required,ne="` + + // The rule identifier. + ID *string `json:"id" validate:"required,ne="` + + // The security group rule patch. + SecurityGroupRulePatch map[string]interface{} `json:"SecurityGroupRule_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateSecurityGroupRuleOptions : Instantiate UpdateSecurityGroupRuleOptions +func (*VpcV1) NewUpdateSecurityGroupRuleOptions(securityGroupID string, id string, securityGroupRulePatch map[string]interface{}) *UpdateSecurityGroupRuleOptions { + return &UpdateSecurityGroupRuleOptions{ + SecurityGroupID: core.StringPtr(securityGroupID), + ID: core.StringPtr(id), + SecurityGroupRulePatch: securityGroupRulePatch, + } +} + +// SetSecurityGroupID : Allow user to set SecurityGroupID +func (_options *UpdateSecurityGroupRuleOptions) SetSecurityGroupID(securityGroupID string) *UpdateSecurityGroupRuleOptions { + _options.SecurityGroupID = core.StringPtr(securityGroupID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateSecurityGroupRuleOptions) SetID(id string) *UpdateSecurityGroupRuleOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetSecurityGroupRulePatch : Allow user to set SecurityGroupRulePatch +func (_options *UpdateSecurityGroupRuleOptions) SetSecurityGroupRulePatch(securityGroupRulePatch map[string]interface{}) *UpdateSecurityGroupRuleOptions { + _options.SecurityGroupRulePatch = securityGroupRulePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateSecurityGroupRuleOptions) SetHeaders(param map[string]string) *UpdateSecurityGroupRuleOptions { + options.Headers = param + return options +} + +// UpdateShareMountTargetOptions : The UpdateShareMountTarget options. +type UpdateShareMountTargetOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The file share mount target identifier. + ID *string `json:"id" validate:"required,ne="` + + // The share mount target patch. + ShareMountTargetPatch map[string]interface{} `json:"ShareMountTarget_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateShareMountTargetOptions : Instantiate UpdateShareMountTargetOptions +func (*VpcV1) NewUpdateShareMountTargetOptions(shareID string, id string, shareMountTargetPatch map[string]interface{}) *UpdateShareMountTargetOptions { + return &UpdateShareMountTargetOptions{ + ShareID: core.StringPtr(shareID), + ID: core.StringPtr(id), + ShareMountTargetPatch: shareMountTargetPatch, + } +} + +// SetShareID : Allow user to set ShareID +func (_options *UpdateShareMountTargetOptions) SetShareID(shareID string) *UpdateShareMountTargetOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateShareMountTargetOptions) SetID(id string) *UpdateShareMountTargetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetShareMountTargetPatch : Allow user to set ShareMountTargetPatch +func (_options *UpdateShareMountTargetOptions) SetShareMountTargetPatch(shareMountTargetPatch map[string]interface{}) *UpdateShareMountTargetOptions { + _options.ShareMountTargetPatch = shareMountTargetPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateShareMountTargetOptions) SetHeaders(param map[string]string) *UpdateShareMountTargetOptions { + options.Headers = param + return options +} + +// UpdateShareOptions : The UpdateShare options. +type UpdateShareOptions struct { + // The file share identifier. + ID *string `json:"id" validate:"required,ne="` + + // The file share patch. + SharePatch map[string]interface{} `json:"Share_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateShareOptions : Instantiate UpdateShareOptions +func (*VpcV1) NewUpdateShareOptions(id string, sharePatch map[string]interface{}) *UpdateShareOptions { + return &UpdateShareOptions{ + ID: core.StringPtr(id), + SharePatch: sharePatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateShareOptions) SetID(id string) *UpdateShareOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetSharePatch : Allow user to set SharePatch +func (_options *UpdateShareOptions) SetSharePatch(sharePatch map[string]interface{}) *UpdateShareOptions { + _options.SharePatch = sharePatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateShareOptions) SetIfMatch(ifMatch string) *UpdateShareOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateShareOptions) SetHeaders(param map[string]string) *UpdateShareOptions { + options.Headers = param + return options +} + +// UpdateShareSnapshotOptions : The UpdateShareSnapshot options. +type UpdateShareSnapshotOptions struct { + // The file share identifier. + ShareID *string `json:"share_id" validate:"required,ne="` + + // The share snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // The share snapshot patch. + ShareSnapshotPatch map[string]interface{} `json:"ShareSnapshot_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateShareSnapshotOptions : Instantiate UpdateShareSnapshotOptions +func (*VpcV1) NewUpdateShareSnapshotOptions(shareID string, id string, shareSnapshotPatch map[string]interface{}) *UpdateShareSnapshotOptions { + return &UpdateShareSnapshotOptions{ + ShareID: core.StringPtr(shareID), + ID: core.StringPtr(id), + ShareSnapshotPatch: shareSnapshotPatch, + } +} + +// SetShareID : Allow user to set ShareID +func (_options *UpdateShareSnapshotOptions) SetShareID(shareID string) *UpdateShareSnapshotOptions { + _options.ShareID = core.StringPtr(shareID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateShareSnapshotOptions) SetID(id string) *UpdateShareSnapshotOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetShareSnapshotPatch : Allow user to set ShareSnapshotPatch +func (_options *UpdateShareSnapshotOptions) SetShareSnapshotPatch(shareSnapshotPatch map[string]interface{}) *UpdateShareSnapshotOptions { + _options.ShareSnapshotPatch = shareSnapshotPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateShareSnapshotOptions) SetIfMatch(ifMatch string) *UpdateShareSnapshotOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateShareSnapshotOptions) SetHeaders(param map[string]string) *UpdateShareSnapshotOptions { + options.Headers = param + return options +} + +// UpdateSnapshotConsistencyGroupOptions : The UpdateSnapshotConsistencyGroup options. +type UpdateSnapshotConsistencyGroupOptions struct { + // The snapshot consistency group identifier. + ID *string `json:"id" validate:"required,ne="` + + // The snapshot consistency group patch. + SnapshotConsistencyGroupPatch map[string]interface{} `json:"SnapshotConsistencyGroup_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateSnapshotConsistencyGroupOptions : Instantiate UpdateSnapshotConsistencyGroupOptions +func (*VpcV1) NewUpdateSnapshotConsistencyGroupOptions(id string, snapshotConsistencyGroupPatch map[string]interface{}) *UpdateSnapshotConsistencyGroupOptions { + return &UpdateSnapshotConsistencyGroupOptions{ + ID: core.StringPtr(id), + SnapshotConsistencyGroupPatch: snapshotConsistencyGroupPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateSnapshotConsistencyGroupOptions) SetID(id string) *UpdateSnapshotConsistencyGroupOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetSnapshotConsistencyGroupPatch : Allow user to set SnapshotConsistencyGroupPatch +func (_options *UpdateSnapshotConsistencyGroupOptions) SetSnapshotConsistencyGroupPatch(snapshotConsistencyGroupPatch map[string]interface{}) *UpdateSnapshotConsistencyGroupOptions { + _options.SnapshotConsistencyGroupPatch = snapshotConsistencyGroupPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateSnapshotConsistencyGroupOptions) SetIfMatch(ifMatch string) *UpdateSnapshotConsistencyGroupOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateSnapshotConsistencyGroupOptions) SetHeaders(param map[string]string) *UpdateSnapshotConsistencyGroupOptions { + options.Headers = param + return options +} + +// UpdateSnapshotOptions : The UpdateSnapshot options. +type UpdateSnapshotOptions struct { + // The snapshot identifier. + ID *string `json:"id" validate:"required,ne="` + + // The snapshot patch. + SnapshotPatch map[string]interface{} `json:"Snapshot_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateSnapshotOptions : Instantiate UpdateSnapshotOptions +func (*VpcV1) NewUpdateSnapshotOptions(id string, snapshotPatch map[string]interface{}) *UpdateSnapshotOptions { + return &UpdateSnapshotOptions{ + ID: core.StringPtr(id), + SnapshotPatch: snapshotPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateSnapshotOptions) SetID(id string) *UpdateSnapshotOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetSnapshotPatch : Allow user to set SnapshotPatch +func (_options *UpdateSnapshotOptions) SetSnapshotPatch(snapshotPatch map[string]interface{}) *UpdateSnapshotOptions { + _options.SnapshotPatch = snapshotPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateSnapshotOptions) SetIfMatch(ifMatch string) *UpdateSnapshotOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateSnapshotOptions) SetHeaders(param map[string]string) *UpdateSnapshotOptions { + options.Headers = param + return options +} + +// UpdateSubnetOptions : The UpdateSubnet options. +type UpdateSubnetOptions struct { + // The subnet identifier. + ID *string `json:"id" validate:"required,ne="` + + // The subnet patch. + SubnetPatch map[string]interface{} `json:"Subnet_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateSubnetOptions : Instantiate UpdateSubnetOptions +func (*VpcV1) NewUpdateSubnetOptions(id string, subnetPatch map[string]interface{}) *UpdateSubnetOptions { + return &UpdateSubnetOptions{ + ID: core.StringPtr(id), + SubnetPatch: subnetPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateSubnetOptions) SetID(id string) *UpdateSubnetOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetSubnetPatch : Allow user to set SubnetPatch +func (_options *UpdateSubnetOptions) SetSubnetPatch(subnetPatch map[string]interface{}) *UpdateSubnetOptions { + _options.SubnetPatch = subnetPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateSubnetOptions) SetHeaders(param map[string]string) *UpdateSubnetOptions { + options.Headers = param + return options +} + +// UpdateSubnetReservedIPOptions : The UpdateSubnetReservedIP options. +type UpdateSubnetReservedIPOptions struct { + // The subnet identifier. + SubnetID *string `json:"subnet_id" validate:"required,ne="` + + // The reserved IP identifier. + ID *string `json:"id" validate:"required,ne="` + + // The reserved IP patch. + ReservedIPPatch map[string]interface{} `json:"ReservedIP_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateSubnetReservedIPOptions : Instantiate UpdateSubnetReservedIPOptions +func (*VpcV1) NewUpdateSubnetReservedIPOptions(subnetID string, id string, reservedIPPatch map[string]interface{}) *UpdateSubnetReservedIPOptions { + return &UpdateSubnetReservedIPOptions{ + SubnetID: core.StringPtr(subnetID), + ID: core.StringPtr(id), + ReservedIPPatch: reservedIPPatch, + } +} + +// SetSubnetID : Allow user to set SubnetID +func (_options *UpdateSubnetReservedIPOptions) SetSubnetID(subnetID string) *UpdateSubnetReservedIPOptions { + _options.SubnetID = core.StringPtr(subnetID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateSubnetReservedIPOptions) SetID(id string) *UpdateSubnetReservedIPOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetReservedIPPatch : Allow user to set ReservedIPPatch +func (_options *UpdateSubnetReservedIPOptions) SetReservedIPPatch(reservedIPPatch map[string]interface{}) *UpdateSubnetReservedIPOptions { + _options.ReservedIPPatch = reservedIPPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateSubnetReservedIPOptions) SetHeaders(param map[string]string) *UpdateSubnetReservedIPOptions { + options.Headers = param + return options +} + +// UpdateVirtualNetworkInterfaceOptions : The UpdateVirtualNetworkInterface options. +type UpdateVirtualNetworkInterfaceOptions struct { + // The virtual network interface identifier. + ID *string `json:"id" validate:"required,ne="` + + // The virtual network interface patch. + VirtualNetworkInterfacePatch map[string]interface{} `json:"VirtualNetworkInterface_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVirtualNetworkInterfaceOptions : Instantiate UpdateVirtualNetworkInterfaceOptions +func (*VpcV1) NewUpdateVirtualNetworkInterfaceOptions(id string, virtualNetworkInterfacePatch map[string]interface{}) *UpdateVirtualNetworkInterfaceOptions { + return &UpdateVirtualNetworkInterfaceOptions{ + ID: core.StringPtr(id), + VirtualNetworkInterfacePatch: virtualNetworkInterfacePatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateVirtualNetworkInterfaceOptions) SetID(id string) *UpdateVirtualNetworkInterfaceOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVirtualNetworkInterfacePatch : Allow user to set VirtualNetworkInterfacePatch +func (_options *UpdateVirtualNetworkInterfaceOptions) SetVirtualNetworkInterfacePatch(virtualNetworkInterfacePatch map[string]interface{}) *UpdateVirtualNetworkInterfaceOptions { + _options.VirtualNetworkInterfacePatch = virtualNetworkInterfacePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVirtualNetworkInterfaceOptions) SetHeaders(param map[string]string) *UpdateVirtualNetworkInterfaceOptions { + options.Headers = param + return options +} + +// UpdateVolumeOptions : The UpdateVolume options. +type UpdateVolumeOptions struct { + // The volume identifier. + ID *string `json:"id" validate:"required,ne="` + + // The volume patch. + VolumePatch map[string]interface{} `json:"Volume_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVolumeOptions : Instantiate UpdateVolumeOptions +func (*VpcV1) NewUpdateVolumeOptions(id string, volumePatch map[string]interface{}) *UpdateVolumeOptions { + return &UpdateVolumeOptions{ + ID: core.StringPtr(id), + VolumePatch: volumePatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateVolumeOptions) SetID(id string) *UpdateVolumeOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVolumePatch : Allow user to set VolumePatch +func (_options *UpdateVolumeOptions) SetVolumePatch(volumePatch map[string]interface{}) *UpdateVolumeOptions { + _options.VolumePatch = volumePatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateVolumeOptions) SetIfMatch(ifMatch string) *UpdateVolumeOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVolumeOptions) SetHeaders(param map[string]string) *UpdateVolumeOptions { + options.Headers = param + return options +} + +// UpdateVPCAddressPrefixOptions : The UpdateVPCAddressPrefix options. +type UpdateVPCAddressPrefixOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The prefix identifier. + ID *string `json:"id" validate:"required,ne="` + + // The prefix patch. + AddressPrefixPatch map[string]interface{} `json:"AddressPrefix_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPCAddressPrefixOptions : Instantiate UpdateVPCAddressPrefixOptions +func (*VpcV1) NewUpdateVPCAddressPrefixOptions(vpcID string, id string, addressPrefixPatch map[string]interface{}) *UpdateVPCAddressPrefixOptions { + return &UpdateVPCAddressPrefixOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + AddressPrefixPatch: addressPrefixPatch, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *UpdateVPCAddressPrefixOptions) SetVPCID(vpcID string) *UpdateVPCAddressPrefixOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateVPCAddressPrefixOptions) SetID(id string) *UpdateVPCAddressPrefixOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetAddressPrefixPatch : Allow user to set AddressPrefixPatch +func (_options *UpdateVPCAddressPrefixOptions) SetAddressPrefixPatch(addressPrefixPatch map[string]interface{}) *UpdateVPCAddressPrefixOptions { + _options.AddressPrefixPatch = addressPrefixPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPCAddressPrefixOptions) SetHeaders(param map[string]string) *UpdateVPCAddressPrefixOptions { + options.Headers = param + return options +} + +// UpdateVPCDnsResolutionBindingOptions : The UpdateVPCDnsResolutionBinding options. +type UpdateVPCDnsResolutionBindingOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The DNS resolution binding identifier. + ID *string `json:"id" validate:"required,ne="` + + // The DNS resolution binding patch. + VpcdnsResolutionBindingPatch map[string]interface{} `json:"VpcdnsResolutionBinding_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPCDnsResolutionBindingOptions : Instantiate UpdateVPCDnsResolutionBindingOptions +func (*VpcV1) NewUpdateVPCDnsResolutionBindingOptions(vpcID string, id string, vpcdnsResolutionBindingPatch map[string]interface{}) *UpdateVPCDnsResolutionBindingOptions { + return &UpdateVPCDnsResolutionBindingOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + VpcdnsResolutionBindingPatch: vpcdnsResolutionBindingPatch, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *UpdateVPCDnsResolutionBindingOptions) SetVPCID(vpcID string) *UpdateVPCDnsResolutionBindingOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateVPCDnsResolutionBindingOptions) SetID(id string) *UpdateVPCDnsResolutionBindingOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVpcdnsResolutionBindingPatch : Allow user to set VpcdnsResolutionBindingPatch +func (_options *UpdateVPCDnsResolutionBindingOptions) SetVpcdnsResolutionBindingPatch(vpcdnsResolutionBindingPatch map[string]interface{}) *UpdateVPCDnsResolutionBindingOptions { + _options.VpcdnsResolutionBindingPatch = vpcdnsResolutionBindingPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPCDnsResolutionBindingOptions) SetHeaders(param map[string]string) *UpdateVPCDnsResolutionBindingOptions { + options.Headers = param + return options +} + +// UpdateVPCOptions : The UpdateVPC options. +type UpdateVPCOptions struct { + // The VPC identifier. + ID *string `json:"id" validate:"required,ne="` + + // The VPC patch. + VPCPatch map[string]interface{} `json:"VPC_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPCOptions : Instantiate UpdateVPCOptions +func (*VpcV1) NewUpdateVPCOptions(id string, vpcPatch map[string]interface{}) *UpdateVPCOptions { + return &UpdateVPCOptions{ + ID: core.StringPtr(id), + VPCPatch: vpcPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateVPCOptions) SetID(id string) *UpdateVPCOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVPCPatch : Allow user to set VPCPatch +func (_options *UpdateVPCOptions) SetVPCPatch(vpcPatch map[string]interface{}) *UpdateVPCOptions { + _options.VPCPatch = vpcPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateVPCOptions) SetIfMatch(ifMatch string) *UpdateVPCOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPCOptions) SetHeaders(param map[string]string) *UpdateVPCOptions { + options.Headers = param + return options +} + +// UpdateVPCRouteOptions : The UpdateVPCRoute options. +type UpdateVPCRouteOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The route identifier. + ID *string `json:"id" validate:"required,ne="` + + // The route patch. + RoutePatch map[string]interface{} `json:"Route_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPCRouteOptions : Instantiate UpdateVPCRouteOptions +func (*VpcV1) NewUpdateVPCRouteOptions(vpcID string, id string, routePatch map[string]interface{}) *UpdateVPCRouteOptions { + return &UpdateVPCRouteOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + RoutePatch: routePatch, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *UpdateVPCRouteOptions) SetVPCID(vpcID string) *UpdateVPCRouteOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateVPCRouteOptions) SetID(id string) *UpdateVPCRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetRoutePatch : Allow user to set RoutePatch +func (_options *UpdateVPCRouteOptions) SetRoutePatch(routePatch map[string]interface{}) *UpdateVPCRouteOptions { + _options.RoutePatch = routePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPCRouteOptions) SetHeaders(param map[string]string) *UpdateVPCRouteOptions { + options.Headers = param + return options +} + +// UpdateVPCRoutingTableOptions : The UpdateVPCRoutingTable options. +type UpdateVPCRoutingTableOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The routing table identifier. + ID *string `json:"id" validate:"required,ne="` + + // The routing table patch. + RoutingTablePatch map[string]interface{} `json:"RoutingTable_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPCRoutingTableOptions : Instantiate UpdateVPCRoutingTableOptions +func (*VpcV1) NewUpdateVPCRoutingTableOptions(vpcID string, id string, routingTablePatch map[string]interface{}) *UpdateVPCRoutingTableOptions { + return &UpdateVPCRoutingTableOptions{ + VPCID: core.StringPtr(vpcID), + ID: core.StringPtr(id), + RoutingTablePatch: routingTablePatch, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *UpdateVPCRoutingTableOptions) SetVPCID(vpcID string) *UpdateVPCRoutingTableOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateVPCRoutingTableOptions) SetID(id string) *UpdateVPCRoutingTableOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetRoutingTablePatch : Allow user to set RoutingTablePatch +func (_options *UpdateVPCRoutingTableOptions) SetRoutingTablePatch(routingTablePatch map[string]interface{}) *UpdateVPCRoutingTableOptions { + _options.RoutingTablePatch = routingTablePatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateVPCRoutingTableOptions) SetIfMatch(ifMatch string) *UpdateVPCRoutingTableOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPCRoutingTableOptions) SetHeaders(param map[string]string) *UpdateVPCRoutingTableOptions { + options.Headers = param + return options +} + +// UpdateVPCRoutingTableRouteOptions : The UpdateVPCRoutingTableRoute options. +type UpdateVPCRoutingTableRouteOptions struct { + // The VPC identifier. + VPCID *string `json:"vpc_id" validate:"required,ne="` + + // The routing table identifier. + RoutingTableID *string `json:"routing_table_id" validate:"required,ne="` + + // The VPC routing table route identifier. + ID *string `json:"id" validate:"required,ne="` + + // The VPC route patch. + RoutePatch map[string]interface{} `json:"Route_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPCRoutingTableRouteOptions : Instantiate UpdateVPCRoutingTableRouteOptions +func (*VpcV1) NewUpdateVPCRoutingTableRouteOptions(vpcID string, routingTableID string, id string, routePatch map[string]interface{}) *UpdateVPCRoutingTableRouteOptions { + return &UpdateVPCRoutingTableRouteOptions{ + VPCID: core.StringPtr(vpcID), + RoutingTableID: core.StringPtr(routingTableID), + ID: core.StringPtr(id), + RoutePatch: routePatch, + } +} + +// SetVPCID : Allow user to set VPCID +func (_options *UpdateVPCRoutingTableRouteOptions) SetVPCID(vpcID string) *UpdateVPCRoutingTableRouteOptions { + _options.VPCID = core.StringPtr(vpcID) + return _options +} + +// SetRoutingTableID : Allow user to set RoutingTableID +func (_options *UpdateVPCRoutingTableRouteOptions) SetRoutingTableID(routingTableID string) *UpdateVPCRoutingTableRouteOptions { + _options.RoutingTableID = core.StringPtr(routingTableID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateVPCRoutingTableRouteOptions) SetID(id string) *UpdateVPCRoutingTableRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetRoutePatch : Allow user to set RoutePatch +func (_options *UpdateVPCRoutingTableRouteOptions) SetRoutePatch(routePatch map[string]interface{}) *UpdateVPCRoutingTableRouteOptions { + _options.RoutePatch = routePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPCRoutingTableRouteOptions) SetHeaders(param map[string]string) *UpdateVPCRoutingTableRouteOptions { + options.Headers = param + return options +} + +// UpdateVPNGatewayConnectionOptions : The UpdateVPNGatewayConnection options. +type UpdateVPNGatewayConnectionOptions struct { + // The VPN gateway identifier. + VPNGatewayID *string `json:"vpn_gateway_id" validate:"required,ne="` + + // The VPN gateway connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The VPN gateway connection patch. + VPNGatewayConnectionPatch map[string]interface{} `json:"VPNGatewayConnection_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPNGatewayConnectionOptions : Instantiate UpdateVPNGatewayConnectionOptions +func (*VpcV1) NewUpdateVPNGatewayConnectionOptions(vpnGatewayID string, id string, vpnGatewayConnectionPatch map[string]interface{}) *UpdateVPNGatewayConnectionOptions { + return &UpdateVPNGatewayConnectionOptions{ + VPNGatewayID: core.StringPtr(vpnGatewayID), + ID: core.StringPtr(id), + VPNGatewayConnectionPatch: vpnGatewayConnectionPatch, + } +} + +// SetVPNGatewayID : Allow user to set VPNGatewayID +func (_options *UpdateVPNGatewayConnectionOptions) SetVPNGatewayID(vpnGatewayID string) *UpdateVPNGatewayConnectionOptions { + _options.VPNGatewayID = core.StringPtr(vpnGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateVPNGatewayConnectionOptions) SetID(id string) *UpdateVPNGatewayConnectionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVPNGatewayConnectionPatch : Allow user to set VPNGatewayConnectionPatch +func (_options *UpdateVPNGatewayConnectionOptions) SetVPNGatewayConnectionPatch(vpnGatewayConnectionPatch map[string]interface{}) *UpdateVPNGatewayConnectionOptions { + _options.VPNGatewayConnectionPatch = vpnGatewayConnectionPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateVPNGatewayConnectionOptions) SetIfMatch(ifMatch string) *UpdateVPNGatewayConnectionOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPNGatewayConnectionOptions) SetHeaders(param map[string]string) *UpdateVPNGatewayConnectionOptions { + options.Headers = param + return options +} + +// UpdateVPNGatewayOptions : The UpdateVPNGateway options. +type UpdateVPNGatewayOptions struct { + // The VPN gateway identifier. + ID *string `json:"id" validate:"required,ne="` + + // The VPN gateway patch. + VPNGatewayPatch map[string]interface{} `json:"VPNGateway_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPNGatewayOptions : Instantiate UpdateVPNGatewayOptions +func (*VpcV1) NewUpdateVPNGatewayOptions(id string, vpnGatewayPatch map[string]interface{}) *UpdateVPNGatewayOptions { + return &UpdateVPNGatewayOptions{ + ID: core.StringPtr(id), + VPNGatewayPatch: vpnGatewayPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateVPNGatewayOptions) SetID(id string) *UpdateVPNGatewayOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVPNGatewayPatch : Allow user to set VPNGatewayPatch +func (_options *UpdateVPNGatewayOptions) SetVPNGatewayPatch(vpnGatewayPatch map[string]interface{}) *UpdateVPNGatewayOptions { + _options.VPNGatewayPatch = vpnGatewayPatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPNGatewayOptions) SetHeaders(param map[string]string) *UpdateVPNGatewayOptions { + options.Headers = param + return options +} + +// UpdateVPNServerOptions : The UpdateVPNServer options. +type UpdateVPNServerOptions struct { + // The VPN server identifier. + ID *string `json:"id" validate:"required,ne="` + + // The VPN server patch. + VPNServerPatch map[string]interface{} `json:"VPNServer_patch" validate:"required"` + + // If present, the request will fail if the specified ETag value does not match the resource's current ETag value. + // Required if the request body includes an array. + IfMatch *string `json:"If-Match,omitempty"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPNServerOptions : Instantiate UpdateVPNServerOptions +func (*VpcV1) NewUpdateVPNServerOptions(id string, vpnServerPatch map[string]interface{}) *UpdateVPNServerOptions { + return &UpdateVPNServerOptions{ + ID: core.StringPtr(id), + VPNServerPatch: vpnServerPatch, + } +} + +// SetID : Allow user to set ID +func (_options *UpdateVPNServerOptions) SetID(id string) *UpdateVPNServerOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVPNServerPatch : Allow user to set VPNServerPatch +func (_options *UpdateVPNServerOptions) SetVPNServerPatch(vpnServerPatch map[string]interface{}) *UpdateVPNServerOptions { + _options.VPNServerPatch = vpnServerPatch + return _options +} + +// SetIfMatch : Allow user to set IfMatch +func (_options *UpdateVPNServerOptions) SetIfMatch(ifMatch string) *UpdateVPNServerOptions { + _options.IfMatch = core.StringPtr(ifMatch) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPNServerOptions) SetHeaders(param map[string]string) *UpdateVPNServerOptions { + options.Headers = param + return options +} + +// UpdateVPNServerRouteOptions : The UpdateVPNServerRoute options. +type UpdateVPNServerRouteOptions struct { + // The VPN server identifier. + VPNServerID *string `json:"vpn_server_id" validate:"required,ne="` + + // The VPN route identifier. + ID *string `json:"id" validate:"required,ne="` + + // The VPN route patch. + VPNServerRoutePatch map[string]interface{} `json:"VPNServerRoute_patch" validate:"required"` + + // Allows users to set headers on API requests. + Headers map[string]string +} + +// NewUpdateVPNServerRouteOptions : Instantiate UpdateVPNServerRouteOptions +func (*VpcV1) NewUpdateVPNServerRouteOptions(vpnServerID string, id string, vpnServerRoutePatch map[string]interface{}) *UpdateVPNServerRouteOptions { + return &UpdateVPNServerRouteOptions{ + VPNServerID: core.StringPtr(vpnServerID), + ID: core.StringPtr(id), + VPNServerRoutePatch: vpnServerRoutePatch, + } +} + +// SetVPNServerID : Allow user to set VPNServerID +func (_options *UpdateVPNServerRouteOptions) SetVPNServerID(vpnServerID string) *UpdateVPNServerRouteOptions { + _options.VPNServerID = core.StringPtr(vpnServerID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateVPNServerRouteOptions) SetID(id string) *UpdateVPNServerRouteOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetVPNServerRoutePatch : Allow user to set VPNServerRoutePatch +func (_options *UpdateVPNServerRouteOptions) SetVPNServerRoutePatch(vpnServerRoutePatch map[string]interface{}) *UpdateVPNServerRouteOptions { + _options.VPNServerRoutePatch = vpnServerRoutePatch + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateVPNServerRouteOptions) SetHeaders(param map[string]string) *UpdateVPNServerRouteOptions { + options.Headers = param + return options +} + +// Vcpu : The VCPU configuration. +type Vcpu struct { + // The VCPU architecture. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Architecture *string `json:"architecture" validate:"required"` + + // The number of VCPUs assigned. + Count *int64 `json:"count" validate:"required"` + + // The VCPU manufacturer. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Manufacturer *string `json:"manufacturer" validate:"required"` +} + +// Constants associated with the Vcpu.Architecture property. +// The VCPU architecture. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VcpuArchitectureAmd64Const = "amd64" + VcpuArchitectureS390xConst = "s390x" +) + +// Constants associated with the Vcpu.Manufacturer property. +// The VCPU manufacturer. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VcpuManufacturerAmdConst = "amd" + VcpuManufacturerIBMConst = "ibm" + VcpuManufacturerIntelConst = "intel" +) + +// UnmarshalVcpu unmarshals an instance of Vcpu from the specified map of raw messages. +func UnmarshalVcpu(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Vcpu) + err = core.UnmarshalPrimitive(m, "architecture", &obj.Architecture) + if err != nil { + err = core.SDKErrorf(err, "", "architecture-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "count", &obj.Count) + if err != nil { + err = core.SDKErrorf(err, "", "count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manufacturer", &obj.Manufacturer) + if err != nil { + err = core.SDKErrorf(err, "", "manufacturer-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPC : VPC struct +type VPC struct { + // Indicates whether this VPC is connected to Classic Infrastructure. If true, this VPC's resources have private + // network connectivity to the account's Classic Infrastructure resources. + ClassicAccess *bool `json:"classic_access" validate:"required"` + + // The date and time that the VPC was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this VPC. + CRN *string `json:"crn" validate:"required"` + + // The CSE ([Cloud Service Endpoint](https://cloud.ibm.com/docs/account?topic=account-service-endpoints-overview)) + // source IP addresses for the VPC. The VPC will have at least one CSE source IP address per zone. + // + // The maximum number of items for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + CseSourceIps []VpccseSourceIP `json:"cse_source_ips" validate:"required"` + + // The default network ACL to use for subnets created in this VPC. + DefaultNetworkACL *NetworkACLReference `json:"default_network_acl" validate:"required"` + + // The default routing table to use for subnets created in this VPC. + DefaultRoutingTable *RoutingTableReference `json:"default_routing_table" validate:"required"` + + // The default security group for this VPC. Resources created in this VPC that allow + // a security group to be optionally specified will use this security group by + // default. + DefaultSecurityGroup *SecurityGroupReference `json:"default_security_group" validate:"required"` + + // The DNS configuration for this VPC. + Dns *Vpcdns `json:"dns" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []VPCHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this VPC. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPC. + ID *string `json:"id" validate:"required"` + + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `json:"name" validate:"required"` + + // The public address ranges attached to this VPC. + PublicAddressRanges []PublicAddressRangeReference `json:"public_address_ranges" validate:"required"` + + // The resource group for this VPC. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of this VPC. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` +} + +// Constants associated with the VPC.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VPCHealthStateDegradedConst = "degraded" + VPCHealthStateFaultedConst = "faulted" + VPCHealthStateInapplicableConst = "inapplicable" + VPCHealthStateOkConst = "ok" +) + +// Constants associated with the VPC.ResourceType property. +// The resource type. +const ( + VPCResourceTypeVPCConst = "vpc" +) + +// Constants associated with the VPC.Status property. +// The status of this VPC. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPCStatusAvailableConst = "available" + VPCStatusDeletingConst = "deleting" + VPCStatusFailedConst = "failed" + VPCStatusPendingConst = "pending" +) + +// UnmarshalVPC unmarshals an instance of VPC from the specified map of raw messages. +func UnmarshalVPC(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPC) + err = core.UnmarshalPrimitive(m, "classic_access", &obj.ClassicAccess) + if err != nil { + err = core.SDKErrorf(err, "", "classic_access-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cse_source_ips", &obj.CseSourceIps, UnmarshalVpccseSourceIP) + if err != nil { + err = core.SDKErrorf(err, "", "cse_source_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_network_acl", &obj.DefaultNetworkACL, UnmarshalNetworkACLReference) + if err != nil { + err = core.SDKErrorf(err, "", "default_network_acl-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_routing_table", &obj.DefaultRoutingTable, UnmarshalRoutingTableReference) + if err != nil { + err = core.SDKErrorf(err, "", "default_routing_table-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_security_group", &obj.DefaultSecurityGroup, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "default_security_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dns", &obj.Dns, UnmarshalVpcdns) + if err != nil { + err = core.SDKErrorf(err, "", "dns-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVPCHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_address_ranges", &obj.PublicAddressRanges, UnmarshalPublicAddressRangeReference) + if err != nil { + err = core.SDKErrorf(err, "", "public_address_ranges-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpccseSourceIP : VpccseSourceIP struct +type VpccseSourceIP struct { + // A cloud service endpoint source IP address for this zone. + IP *IP `json:"ip" validate:"required"` + + // The zone this cloud service endpoint source IP resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// UnmarshalVpccseSourceIP unmarshals an instance of VpccseSourceIP from the specified map of raw messages. +func UnmarshalVpccseSourceIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpccseSourceIP) + err = core.UnmarshalModel(m, "ip", &obj.IP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPCCollection : VPCCollection struct +type VPCCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` + + // A page of VPCs. + Vpcs []VPC `json:"vpcs" validate:"required"` +} + +// UnmarshalVPCCollection unmarshals an instance of VPCCollection from the specified map of raw messages. +func UnmarshalVPCCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpcs", &obj.Vpcs, UnmarshalVPC) + if err != nil { + err = core.SDKErrorf(err, "", "vpcs-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VPCCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// Vpcdns : The DNS configuration for this VPC. +type Vpcdns struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + EnableHub *bool `json:"enable_hub" validate:"required"` + + // The number of DNS resolution bindings for this VPC. + ResolutionBindingCount *int64 `json:"resolution_binding_count" validate:"required"` + + // The DNS resolver configuration for the VPC. + Resolver VpcdnsResolverIntf `json:"resolver" validate:"required"` +} + +// UnmarshalVpcdns unmarshals an instance of Vpcdns from the specified map of raw messages. +func UnmarshalVpcdns(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Vpcdns) + err = core.UnmarshalPrimitive(m, "enable_hub", &obj.EnableHub) + if err != nil { + err = core.SDKErrorf(err, "", "enable_hub-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resolution_binding_count", &obj.ResolutionBindingCount) + if err != nil { + err = core.SDKErrorf(err, "", "resolution_binding_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resolver", &obj.Resolver, UnmarshalVpcdnsResolver) + if err != nil { + err = core.SDKErrorf(err, "", "resolver-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsPatch : The DNS configuration for this VPC. +type VpcdnsPatch struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + // + // Updating the value to `true` requires `allow_dns_resolution_binding` to be `true` for all endpoint gateways residing + // in this VPC. + // + // Changing the value requires `dns.resolution_binding_count` to be zero. + EnableHub *bool `json:"enable_hub,omitempty"` + + Resolver *VpcdnsResolverPatch `json:"resolver,omitempty"` +} + +// UnmarshalVpcdnsPatch unmarshals an instance of VpcdnsPatch from the specified map of raw messages. +func UnmarshalVpcdnsPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsPatch) + err = core.UnmarshalPrimitive(m, "enable_hub", &obj.EnableHub) + if err != nil { + err = core.SDKErrorf(err, "", "enable_hub-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resolver", &obj.Resolver, UnmarshalVpcdnsResolverPatch) + if err != nil { + err = core.SDKErrorf(err, "", "resolver-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VpcdnsPatch +func (vpcdnsPatch *VpcdnsPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcdnsPatch.EnableHub) { + _patch["enable_hub"] = vpcdnsPatch.EnableHub + } + if !core.IsNil(vpcdnsPatch.Resolver) { + _patch["resolver"] = vpcdnsPatch.Resolver.asPatch() + } + + return +} + +// VpcdnsPrototype : The DNS configuration for this VPC. +// +// If unspecified, the system will assign DNS servers capable of resolving hosts and endpoint gateways within this VPC, +// and hosts on the internet. +type VpcdnsPrototype struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + EnableHub *bool `json:"enable_hub,omitempty"` + + Resolver VpcdnsResolverPrototypeIntf `json:"resolver,omitempty"` +} + +// UnmarshalVpcdnsPrototype unmarshals an instance of VpcdnsPrototype from the specified map of raw messages. +func UnmarshalVpcdnsPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsPrototype) + err = core.UnmarshalPrimitive(m, "enable_hub", &obj.EnableHub) + if err != nil { + err = core.SDKErrorf(err, "", "enable_hub-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resolver", &obj.Resolver, UnmarshalVpcdnsResolverPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "resolver-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolutionBinding : VpcdnsResolutionBinding struct +type VpcdnsResolutionBinding struct { + // The date and time that the DNS resolution binding was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The endpoint gateways that have `allow_dns_resolution_binding` set to `true` and reside in the VPC that has + // `dns.enable_hub` set to `false`. + // + // The endpoint gateways may be remote and therefore may not be directly retrievable. + EndpointGateways []EndpointGatewayReferenceRemote `json:"endpoint_gateways" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []VpcdnsResolutionBindingHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this DNS resolution binding. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this DNS resolution binding. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the DNS resolution binding. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The VPC bound to for DNS resolution. + // + // The VPC may be remote and therefore may not be directly retrievable. + VPC *VPCReferenceRemote `json:"vpc" validate:"required"` +} + +// Constants associated with the VpcdnsResolutionBinding.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VpcdnsResolutionBindingHealthStateDegradedConst = "degraded" + VpcdnsResolutionBindingHealthStateFaultedConst = "faulted" + VpcdnsResolutionBindingHealthStateInapplicableConst = "inapplicable" + VpcdnsResolutionBindingHealthStateOkConst = "ok" +) + +// Constants associated with the VpcdnsResolutionBinding.LifecycleState property. +// The lifecycle state of the DNS resolution binding. +const ( + VpcdnsResolutionBindingLifecycleStateDeletingConst = "deleting" + VpcdnsResolutionBindingLifecycleStateFailedConst = "failed" + VpcdnsResolutionBindingLifecycleStatePendingConst = "pending" + VpcdnsResolutionBindingLifecycleStateStableConst = "stable" + VpcdnsResolutionBindingLifecycleStateSuspendedConst = "suspended" + VpcdnsResolutionBindingLifecycleStateUpdatingConst = "updating" + VpcdnsResolutionBindingLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VpcdnsResolutionBinding.ResourceType property. +// The resource type. +const ( + VpcdnsResolutionBindingResourceTypeVPCDnsResolutionBindingConst = "vpc_dns_resolution_binding" +) + +// UnmarshalVpcdnsResolutionBinding unmarshals an instance of VpcdnsResolutionBinding from the specified map of raw messages. +func UnmarshalVpcdnsResolutionBinding(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolutionBinding) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "endpoint_gateways", &obj.EndpointGateways, UnmarshalEndpointGatewayReferenceRemote) + if err != nil { + err = core.SDKErrorf(err, "", "endpoint_gateways-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVpcdnsResolutionBindingHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReferenceRemote) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolutionBindingCollection : VpcdnsResolutionBindingCollection struct +type VpcdnsResolutionBindingCollection struct { + // A page of DNS resolution bindings for the VPC. + DnsResolutionBindings []VpcdnsResolutionBinding `json:"dns_resolution_bindings" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalVpcdnsResolutionBindingCollection unmarshals an instance of VpcdnsResolutionBindingCollection from the specified map of raw messages. +func UnmarshalVpcdnsResolutionBindingCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolutionBindingCollection) + err = core.UnmarshalModel(m, "dns_resolution_bindings", &obj.DnsResolutionBindings, UnmarshalVpcdnsResolutionBinding) + if err != nil { + err = core.SDKErrorf(err, "", "dns_resolution_bindings-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VpcdnsResolutionBindingCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VpcdnsResolutionBindingHealthReason : VpcdnsResolutionBindingHealthReason struct +type VpcdnsResolutionBindingHealthReason struct { + // A reason code for this health state. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VpcdnsResolutionBindingHealthReason.Code property. +// A reason code for this health state. +const ( + VpcdnsResolutionBindingHealthReasonCodeDisconnectedFromBoundVPCConst = "disconnected_from_bound_vpc" + VpcdnsResolutionBindingHealthReasonCodeInternalErrorConst = "internal_error" +) + +// UnmarshalVpcdnsResolutionBindingHealthReason unmarshals an instance of VpcdnsResolutionBindingHealthReason from the specified map of raw messages. +func UnmarshalVpcdnsResolutionBindingHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolutionBindingHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolutionBindingPatch : VpcdnsResolutionBindingPatch struct +type VpcdnsResolutionBindingPatch struct { + // The name for this DNS resolution binding. The name must not be used by another DNS resolution binding for the VPC. + Name *string `json:"name,omitempty"` +} + +// UnmarshalVpcdnsResolutionBindingPatch unmarshals an instance of VpcdnsResolutionBindingPatch from the specified map of raw messages. +func UnmarshalVpcdnsResolutionBindingPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolutionBindingPatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VpcdnsResolutionBindingPatch +func (vpcdnsResolutionBindingPatch *VpcdnsResolutionBindingPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcdnsResolutionBindingPatch.Name) { + _patch["name"] = vpcdnsResolutionBindingPatch.Name + } + + return +} + +// VpcdnsResolver : VpcdnsResolver struct +// Models which "extend" this model: +// - VpcdnsResolverTypeDelegated +// - VpcdnsResolverTypeManual +// - VpcdnsResolverTypeSystem +type VpcdnsResolver struct { + // The DNS servers for this VPC. The servers are populated: + // + // - by the system when `dns.resolver.type` is `system` + // - using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated` + // - using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual` + // + // The maximum number of DNS servers is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Servers []DnsServer `json:"servers" validate:"required"` + + // The type of the DNS resolver used for the VPC. + // + // - `delegated`: DNS server addresses are provided by the DNS resolver of the VPC + // specified in `dns.resolver.vpc`. + // - `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`. + // - `system`: DNS server addresses are provided by the system. + // + // The maximum number of DNS servers is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The VPC whose DNS resolver provides the DNS server addresses for this VPC. + // + // The VPC may be remote and therefore may not be directly retrievable. + VPC *VPCReferenceDnsResolverContext `json:"vpc,omitempty"` + + // The manually specified DNS servers for this VPC. + // + // If the DNS servers have `zone_affinity`, the DHCP [Domain Name Server + // Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for a zone will list the DNS server with the + // affinity for that zone first, followed by the unique DNS servers from other zones. + // + // If the DNS servers do not have `zone_affinity`, the DHCP [Domain Name Server + // Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for each zone will list all the manual DNS + // servers in the order specified. + // + // The maximum number of manual DNS servers is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ManualServers []DnsServer `json:"manual_servers,omitempty"` + + // The configuration of the system DNS resolver for this VPC. + // + // - `custom_resolver`: A custom DNS resolver is configured for this VPC. + // + // - `private_resolver`: A private DNS resolver is configured for this VPC. Applies when + // the VPC has either or both of the following: + // + // - at least one endpoint gateway residing in it + // - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it + // + // - `default`: The provider default DNS resolvers are configured for this VPC. + // + // This system DNS resolver configuration is used when the VPC has: + // + // - no custom DNS resolver configured for it, and + // - no endpoint gateways residing in it, and + // - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. + Configuration *string `json:"configuration,omitempty"` +} + +// Constants associated with the VpcdnsResolver.Type property. +// The type of the DNS resolver used for the VPC. +// +// - `delegated`: DNS server addresses are provided by the DNS resolver of the VPC +// specified in `dns.resolver.vpc`. +// - `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`. +// - `system`: DNS server addresses are provided by the system. +// +// The maximum number of DNS servers is expected to +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VpcdnsResolverTypeDelegatedConst = "delegated" + VpcdnsResolverTypeManualConst = "manual" + VpcdnsResolverTypeSystemConst = "system" +) + +// Constants associated with the VpcdnsResolver.Configuration property. +// The configuration of the system DNS resolver for this VPC. +// +// - `custom_resolver`: A custom DNS resolver is configured for this VPC. +// +// - `private_resolver`: A private DNS resolver is configured for this VPC. Applies when +// the VPC has either or both of the following: +// +// - at least one endpoint gateway residing in it +// +// - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it +// +// - `default`: The provider default DNS resolvers are configured for this VPC. +// +// This system DNS resolver configuration is used when the VPC has: +// +// - no custom DNS resolver configured for it, and +// - no endpoint gateways residing in it, and +// - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. +const ( + VpcdnsResolverConfigurationCustomResolverConst = "custom_resolver" + VpcdnsResolverConfigurationDefaultConst = "default" + VpcdnsResolverConfigurationPrivateResolverConst = "private_resolver" +) + +func (*VpcdnsResolver) isaVpcdnsResolver() bool { + return true +} + +type VpcdnsResolverIntf interface { + isaVpcdnsResolver() bool +} + +// UnmarshalVpcdnsResolver unmarshals an instance of VpcdnsResolver from the specified map of raw messages. +func UnmarshalVpcdnsResolver(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolver) + err = core.UnmarshalModel(m, "servers", &obj.Servers, UnmarshalDnsServer) + if err != nil { + err = core.SDKErrorf(err, "", "servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReferenceDnsResolverContext) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manual_servers", &obj.ManualServers, UnmarshalDnsServer) + if err != nil { + err = core.SDKErrorf(err, "", "manual_servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "configuration", &obj.Configuration) + if err != nil { + err = core.SDKErrorf(err, "", "configuration-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolverPatch : VpcdnsResolverPatch struct +type VpcdnsResolverPatch struct { + // The DNS servers to use for this VPC, replacing any existing servers. All the DNS servers must either: + // + // - have a unique `zone_affinity`, or + // - not have a `zone_affinity`. + // + // If `zone_affinity` is specified, exactly one DNS server must be specified for each zone in the region. The DHCP + // [Domain Name Server Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for a zone will list this DNS + // server first, followed by unique DNS servers from other zones if available. + // + // If `zone_affinity` is not specified, the DHCP [Domain Name Server + // Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for each zone will list all the manual DNS + // servers in the order specified. + // + // `dns.resolver.manual_servers` must be set if and only if `dns.resolver.type` is `manual`. + ManualServers []DnsServerPrototype `json:"manual_servers,omitempty"` + + // The type of the DNS resolver to use. + // + // - `delegated`: DNS server addresses will be provided by the resolver for the VPC + // specified in `dns.resolver.vpc`. Requires `dns.enable_hub` to be + // `false`. + // - `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`. + // - `system`: DNS server addresses will be provided by the system and depend on the + // configuration. + // + // Updating from `manual` requires `dns.resolver.manual_servers` to be specified as + // `null`. + // + // Updating to `manual` requires `dns.resolver.manual_servers` to be specified and not empty. + // + // Updating from `delegated` requires `dns.resolver.vpc` to be specified as `null`. + Type *string `json:"type,omitempty"` + + // The VPC to provide DNS server addresses for this VPC. The specified VPC must be configured + // with a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) custom resolver and must be in + // one of this VPC's DNS resolution bindings. + // + // Specify `null` to remove an existing VPC. + // + // This property must be set if and only if `dns.resolver.type` is `delegated`. + VPC VpcdnsResolverVPCPatchIntf `json:"vpc,omitempty"` +} + +// Constants associated with the VpcdnsResolverPatch.Type property. +// The type of the DNS resolver to use. +// +// - `delegated`: DNS server addresses will be provided by the resolver for the VPC +// specified in `dns.resolver.vpc`. Requires `dns.enable_hub` to be +// `false`. +// - `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`. +// - `system`: DNS server addresses will be provided by the system and depend on the +// configuration. +// +// Updating from `manual` requires `dns.resolver.manual_servers` to be specified as +// `null`. +// +// Updating to `manual` requires `dns.resolver.manual_servers` to be specified and not empty. +// +// Updating from `delegated` requires `dns.resolver.vpc` to be specified as `null`. +const ( + VpcdnsResolverPatchTypeDelegatedConst = "delegated" + VpcdnsResolverPatchTypeManualConst = "manual" + VpcdnsResolverPatchTypeSystemConst = "system" +) + +// UnmarshalVpcdnsResolverPatch unmarshals an instance of VpcdnsResolverPatch from the specified map of raw messages. +func UnmarshalVpcdnsResolverPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverPatch) + err = core.UnmarshalModel(m, "manual_servers", &obj.ManualServers, UnmarshalDnsServerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manual_servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVpcdnsResolverVPCPatch) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VpcdnsResolverPatch +func (vpcdnsResolverPatch *VpcdnsResolverPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcdnsResolverPatch.ManualServers) { + var manualServersPatches []map[string]interface{} + for _, manualServers := range vpcdnsResolverPatch.ManualServers { + manualServersPatches = append(manualServersPatches, manualServers.asPatch()) + } + _patch["manual_servers"] = manualServersPatches + } + if !core.IsNil(vpcdnsResolverPatch.Type) { + _patch["type"] = vpcdnsResolverPatch.Type + } + if !core.IsNil(vpcdnsResolverPatch.VPC) { + _patch["vpc"] = vpcdnsResolverPatch.VPC.asPatch() + } + + return +} + +// VpcdnsResolverPrototype : VpcdnsResolverPrototype struct +// Models which "extend" this model: +// - VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype +// - VpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype +type VpcdnsResolverPrototype struct { + // The type of the DNS resolver to use. + // + // - `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`. + // - `system`: DNS server addresses will be provided by the system and depend on the + // configuration. + Type *string `json:"type,omitempty"` + + // The DNS servers to use for this VPC. All the DNS servers must either: + // + // - have a unique `zone_affinity`, or + // - not have a `zone_affinity`. + // + // If `zone_affinity` is specified, exactly one DNS server must be specified for each zone in the region. The DHCP + // [Domain Name Server Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for a zone will list this DNS + // server first, followed by unique DNS servers from other zones if available. + // + // If `zone_affinity` is not specified, the DHCP [Domain Name Server + // Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for each zone will list all the manual DNS + // servers in the order specified. + ManualServers []DnsServerPrototype `json:"manual_servers,omitempty"` +} + +// Constants associated with the VpcdnsResolverPrototype.Type property. +// The type of the DNS resolver to use. +// +// - `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`. +// - `system`: DNS server addresses will be provided by the system and depend on the +// configuration. +const ( + VpcdnsResolverPrototypeTypeManualConst = "manual" + VpcdnsResolverPrototypeTypeSystemConst = "system" +) + +func (*VpcdnsResolverPrototype) isaVpcdnsResolverPrototype() bool { + return true +} + +type VpcdnsResolverPrototypeIntf interface { + isaVpcdnsResolverPrototype() bool +} + +// UnmarshalVpcdnsResolverPrototype unmarshals an instance of VpcdnsResolverPrototype from the specified map of raw messages. +func UnmarshalVpcdnsResolverPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverPrototype) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manual_servers", &obj.ManualServers, UnmarshalDnsServerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manual_servers-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolverVPCPatch : The VPC to provide DNS server addresses for this VPC. The specified VPC must be configured with a [DNS +// Services](https://cloud.ibm.com/docs/dns-svcs) custom resolver and must be in one of this VPC's DNS resolution +// bindings. +// +// Specify `null` to remove an existing VPC. +// +// This property must be set if and only if `dns.resolver.type` is `delegated`. +// Models which "extend" this model: +// - VpcdnsResolverVPCPatchVPCIdentityByID +// - VpcdnsResolverVPCPatchVPCIdentityByCRN +// - VpcdnsResolverVPCPatchVPCIdentityByHref +type VpcdnsResolverVPCPatch struct { + // The unique identifier for this VPC. + ID *string `json:"id,omitempty"` + + // The CRN for this VPC. + CRN *string `json:"crn,omitempty"` + + // The URL for this VPC. + Href *string `json:"href,omitempty"` +} + +func (*VpcdnsResolverVPCPatch) isaVpcdnsResolverVPCPatch() bool { + return true +} + +type VpcdnsResolverVPCPatchIntf interface { + isaVpcdnsResolverVPCPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalVpcdnsResolverVPCPatch unmarshals an instance of VpcdnsResolverVPCPatch from the specified map of raw messages. +func UnmarshalVpcdnsResolverVPCPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverVPCPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VpcdnsResolverVPCPatch +func (vpcdnsResolverVPCPatch *VpcdnsResolverVPCPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcdnsResolverVPCPatch.ID) { + _patch["id"] = vpcdnsResolverVPCPatch.ID + } + if !core.IsNil(vpcdnsResolverVPCPatch.CRN) { + _patch["crn"] = vpcdnsResolverVPCPatch.CRN + } + if !core.IsNil(vpcdnsResolverVPCPatch.Href) { + _patch["href"] = vpcdnsResolverVPCPatch.Href + } + + return +} + +// VPCHealthReason : VPCHealthReason struct +type VPCHealthReason struct { + // A reason code for this health state. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPCHealthReason.Code property. +// A reason code for this health state. +const ( + VPCHealthReasonCodeDnsResolutionBindingFailedConst = "dns_resolution_binding_failed" + VPCHealthReasonCodeInternalErrorConst = "internal_error" +) + +// UnmarshalVPCHealthReason unmarshals an instance of VPCHealthReason from the specified map of raw messages. +func UnmarshalVPCHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPCIdentity : Identifies a VPC by a unique property. +// Models which "extend" this model: +// - VPCIdentityByID +// - VPCIdentityByCRN +// - VPCIdentityByHref +type VPCIdentity struct { + // The unique identifier for this VPC. + ID *string `json:"id,omitempty"` + + // The CRN for this VPC. + CRN *string `json:"crn,omitempty"` + + // The URL for this VPC. + Href *string `json:"href,omitempty"` +} + +func (*VPCIdentity) isaVPCIdentity() bool { + return true +} + +type VPCIdentityIntf interface { + isaVPCIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalVPCIdentity unmarshals an instance of VPCIdentity from the specified map of raw messages. +func UnmarshalVPCIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPCIdentity +func (vpcIdentity *VPCIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcIdentity.ID) { + _patch["id"] = vpcIdentity.ID + } + if !core.IsNil(vpcIdentity.CRN) { + _patch["crn"] = vpcIdentity.CRN + } + if !core.IsNil(vpcIdentity.Href) { + _patch["href"] = vpcIdentity.Href + } + + return +} + +// VPCPatch : VPCPatch struct +type VPCPatch struct { + // The DNS configuration for this VPC. + Dns *VpcdnsPatch `json:"dns,omitempty"` + + // The name for this VPC. The name must not be used by another VPC in the region. + Name *string `json:"name,omitempty"` +} + +// UnmarshalVPCPatch unmarshals an instance of VPCPatch from the specified map of raw messages. +func UnmarshalVPCPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCPatch) + err = core.UnmarshalModel(m, "dns", &obj.Dns, UnmarshalVpcdnsPatch) + if err != nil { + err = core.SDKErrorf(err, "", "dns-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VPCPatch +func (vpcPatch *VPCPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcPatch.Dns) { + _patch["dns"] = vpcPatch.Dns.asPatch() + } + if !core.IsNil(vpcPatch.Name) { + _patch["name"] = vpcPatch.Name + } + + return +} + +// VPCReference : VPCReference struct +type VPCReference struct { + // The CRN for this VPC. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPC. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPC. + ID *string `json:"id" validate:"required"` + + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VPCReference.ResourceType property. +// The resource type. +const ( + VPCReferenceResourceTypeVPCConst = "vpc" +) + +// UnmarshalVPCReference unmarshals an instance of VPCReference from the specified map of raw messages. +func UnmarshalVPCReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPCReferenceDnsResolverContext : A VPC whose DNS resolver is delegated to provide DNS servers for this VPC. +// +// The VPC may be remote and therefore may not be directly retrievable. +type VPCReferenceDnsResolverContext struct { + // The CRN for this VPC. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPC. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPC. + ID *string `json:"id" validate:"required"` + + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *VPCRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VPCReferenceDnsResolverContext.ResourceType property. +// The resource type. +const ( + VPCReferenceDnsResolverContextResourceTypeVPCConst = "vpc" +) + +// UnmarshalVPCReferenceDnsResolverContext unmarshals an instance of VPCReferenceDnsResolverContext from the specified map of raw messages. +func UnmarshalVPCReferenceDnsResolverContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCReferenceDnsResolverContext) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalVPCRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPCReferenceRemote : VPCReferenceRemote struct +type VPCReferenceRemote struct { + // The CRN for this VPC. + CRN *string `json:"crn" validate:"required"` + + // The URL for this VPC. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPC. + ID *string `json:"id" validate:"required"` + + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *VPCRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VPCReferenceRemote.ResourceType property. +// The resource type. +const ( + VPCReferenceRemoteResourceTypeVPCConst = "vpc" +) + +// UnmarshalVPCReferenceRemote unmarshals an instance of VPCReferenceRemote from the specified map of raw messages. +func UnmarshalVPCReferenceRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCReferenceRemote) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalVPCRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPCRemote : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type VPCRemote struct { + // If present, this property indicates that the referenced resource is remote to this + // account, and identifies the owning account. + Account *AccountReference `json:"account,omitempty"` + + // If present, this property indicates that the referenced resource is remote to this + // region, and identifies the native region. + Region *RegionReference `json:"region,omitempty"` +} + +// UnmarshalVPCRemote unmarshals an instance of VPCRemote from the specified map of raw messages. +func UnmarshalVPCRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCRemote) + err = core.UnmarshalModel(m, "account", &obj.Account, UnmarshalAccountReference) + if err != nil { + err = core.SDKErrorf(err, "", "account-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGateway : VPNGateway struct +// Models which "extend" this model: +// - VPNGatewayPolicyMode +// - VPNGatewayRouteMode +type VPNGateway struct { + // The connections for this VPN gateway. + Connections []VPNGatewayConnectionReference `json:"connections" validate:"required"` + + // The date and time that this VPN gateway was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this VPN gateway. + CRN *string `json:"crn" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []VPNGatewayHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this VPN gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []VPNGatewayLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the VPN gateway. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The members for the VPN gateway. + Members []VPNGatewayMember `json:"members" validate:"required"` + + // The name for this VPN gateway. The name is unique across all VPN gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this VPN gateway. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The VPC this VPN gateway resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The mode for this VPN gateway. + Mode *string `json:"mode,omitempty"` + + // The static CIDRs advertised through any enabled routing protocol (for example, BGP). The routing protocol will + // advertise routes with these CIDRs as route destinations. + AdvertisedCIDRs []string `json:"advertised_cidrs,omitempty"` + + // The local autonomous system number (ASN) for this VPN gateway and its connections. + LocalAsn *int64 `json:"local_asn,omitempty"` +} + +// Constants associated with the VPNGateway.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VPNGatewayHealthStateDegradedConst = "degraded" + VPNGatewayHealthStateFaultedConst = "faulted" + VPNGatewayHealthStateInapplicableConst = "inapplicable" + VPNGatewayHealthStateOkConst = "ok" +) + +// Constants associated with the VPNGateway.LifecycleState property. +// The lifecycle state of the VPN gateway. +const ( + VPNGatewayLifecycleStateDeletingConst = "deleting" + VPNGatewayLifecycleStateFailedConst = "failed" + VPNGatewayLifecycleStatePendingConst = "pending" + VPNGatewayLifecycleStateStableConst = "stable" + VPNGatewayLifecycleStateSuspendedConst = "suspended" + VPNGatewayLifecycleStateUpdatingConst = "updating" + VPNGatewayLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VPNGateway.ResourceType property. +// The resource type. +const ( + VPNGatewayResourceTypeVPNGatewayConst = "vpn_gateway" +) + +// Constants associated with the VPNGateway.Mode property. +// The mode for this VPN gateway. +const ( + VPNGatewayModePolicyConst = "policy" +) + +func (*VPNGateway) isaVPNGateway() bool { + return true +} + +type VPNGatewayIntf interface { + isaVPNGateway() bool +} + +// UnmarshalVPNGateway unmarshals an instance of VPNGateway from the specified map of raw messages. +func UnmarshalVPNGateway(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGateway) + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalVPNGatewayConnectionReference) + if err != nil { + err = core.SDKErrorf(err, "", "connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVPNGatewayHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalVPNGatewayLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "members", &obj.Members, UnmarshalVPNGatewayMember) + if err != nil { + err = core.SDKErrorf(err, "", "members-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertised_cidrs", &obj.AdvertisedCIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "advertised_cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "local_asn", &obj.LocalAsn) + if err != nil { + err = core.SDKErrorf(err, "", "local_asn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayAdvertisedCIDRCollection : VPNGatewayAdvertisedCIDRCollection struct +type VPNGatewayAdvertisedCIDRCollection struct { + // The static CIDRs advertised through any enabled routing protocol (for example, BGP). The routing protocol will + // advertise routes with these CIDRs as route destinations. + AdvertisedCIDRs []string `json:"advertised_cidrs" validate:"required"` +} + +// UnmarshalVPNGatewayAdvertisedCIDRCollection unmarshals an instance of VPNGatewayAdvertisedCIDRCollection from the specified map of raw messages. +func UnmarshalVPNGatewayAdvertisedCIDRCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayAdvertisedCIDRCollection) + err = core.UnmarshalPrimitive(m, "advertised_cidrs", &obj.AdvertisedCIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "advertised_cidrs-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayCollection : VPNGatewayCollection struct +type VPNGatewayCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` + + // A page of VPN gateways. + VPNGateways []VPNGatewayIntf `json:"vpn_gateways" validate:"required"` +} + +// UnmarshalVPNGatewayCollection unmarshals an instance of VPNGatewayCollection from the specified map of raw messages. +func UnmarshalVPNGatewayCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpn_gateways", &obj.VPNGateways, UnmarshalVPNGateway) + if err != nil { + err = core.SDKErrorf(err, "", "vpn_gateways-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VPNGatewayCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VPNGatewayConnection : VPNGatewayConnection struct +// Models which "extend" this model: +// - VPNGatewayConnectionRouteMode +// - VPNGatewayConnectionPolicyMode +type VPNGatewayConnection struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up" validate:"required"` + + // The authentication mode. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AuthenticationMode *string `json:"authentication_mode" validate:"required"` + + // The date and time that this VPN gateway connection was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The dead peer detection configuration. + DeadPeerDetection *VPNGatewayConnectionDpd `json:"dead_peer_detection" validate:"required"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode" validate:"required"` + + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` + + // The IKE policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). + IkePolicy *IkePolicyReference `json:"ike_policy,omitempty"` + + // The IPsec policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). + IpsecPolicy *IPsecPolicyReference `json:"ipsec_policy,omitempty"` + + // The mode of the VPN gateway. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Mode *string `json:"mode" validate:"required"` + + // The name for this VPN gateway connection. The name is unique across all connections for the VPN gateway. + Name *string `json:"name" validate:"required"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of a VPN gateway connection. + Status *string `json:"status" validate:"required"` + + // The reasons for the current VPN gateway connection status (if any). + StatusReasons []VPNGatewayConnectionStatusReason `json:"status_reasons" validate:"required"` + + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC + // route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower + // `public_ip` address. + DistributeTraffic *bool `json:"distribute_traffic,omitempty"` + + Local *VPNGatewayConnectionStaticRouteModeLocal `json:"local,omitempty"` + + Peer VPNGatewayConnectionStaticRouteModePeerIntf `json:"peer,omitempty"` + + // The routing protocol for this VPN gateway connection. + RoutingProtocol *string `json:"routing_protocol,omitempty"` + + // The VPN tunnel configuration for this VPN gateway connection (in static route mode). + Tunnels []VPNGatewayConnectionStaticRouteModeTunnel `json:"tunnels,omitempty"` +} + +// Constants associated with the VPNGatewayConnection.AuthenticationMode property. +// The authentication mode. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionAuthenticationModePskConst = "psk" +) + +// Constants associated with the VPNGatewayConnection.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnection.Mode property. +// The mode of the VPN gateway. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionModePolicyConst = "policy" + VPNGatewayConnectionModeRouteConst = "route" +) + +// Constants associated with the VPNGatewayConnection.ResourceType property. +// The resource type. +const ( + VPNGatewayConnectionResourceTypeVPNGatewayConnectionConst = "vpn_gateway_connection" +) + +// Constants associated with the VPNGatewayConnection.Status property. +// The status of a VPN gateway connection. +const ( + VPNGatewayConnectionStatusDownConst = "down" + VPNGatewayConnectionStatusUpConst = "up" +) + +// Constants associated with the VPNGatewayConnection.RoutingProtocol property. +// The routing protocol for this VPN gateway connection. +const ( + VPNGatewayConnectionRoutingProtocolNoneConst = "none" +) + +func (*VPNGatewayConnection) isaVPNGatewayConnection() bool { + return true +} + +type VPNGatewayConnectionIntf interface { + isaVPNGatewayConnection() bool +} + +// UnmarshalVPNGatewayConnection unmarshals an instance of VPNGatewayConnection from the specified map of raw messages. +func UnmarshalVPNGatewayConnection(m map[string]json.RawMessage, result interface{}) (err error) { + // Retrieve discriminator value to determine correct "subclass". + var discValue string + err = core.UnmarshalPrimitive(m, "mode", &discValue) + if err != nil { + errMsg := fmt.Sprintf("error unmarshalling discriminator property 'mode': %s", err.Error()) + err = core.SDKErrorf(err, errMsg, "discriminator-unmarshal-error", common.GetComponentInfo()) + return + } + if discValue == "" { + err = core.SDKErrorf(err, "required discriminator property 'mode' not found in JSON object", "missing-discriminator", common.GetComponentInfo()) + return + } + if discValue == "policy" { + err = core.UnmarshalModel(m, "", result, UnmarshalVPNGatewayConnectionPolicyMode) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-VPNGatewayConnectionPolicyMode-error", common.GetComponentInfo()) + } + } else if discValue == "route" { + err = core.UnmarshalModel(m, "", result, UnmarshalVPNGatewayConnectionRouteMode) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-VPNGatewayConnectionRouteMode-error", common.GetComponentInfo()) + } + } else { + errMsg := fmt.Sprintf("unrecognized value for discriminator property 'mode': %s", discValue) + err = core.SDKErrorf(err, errMsg, "invalid-discriminator", common.GetComponentInfo()) + } + return +} + +// VPNGatewayConnectionCIDRs : VPNGatewayConnectionCIDRs struct +type VPNGatewayConnectionCIDRs struct { + // The CIDRs for this resource. + CIDRs []string `json:"cidrs" validate:"required"` +} + +// UnmarshalVPNGatewayConnectionCIDRs unmarshals an instance of VPNGatewayConnectionCIDRs from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionCIDRs(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionCIDRs) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionCollection : VPNGatewayConnectionCollection struct +type VPNGatewayConnectionCollection struct { + // A page of connections for the VPN gateway. + Connections []VPNGatewayConnectionIntf `json:"connections" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalVPNGatewayConnectionCollection unmarshals an instance of VPNGatewayConnectionCollection from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionCollection) + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalVPNGatewayConnection) + if err != nil { + err = core.SDKErrorf(err, "", "connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VPNGatewayConnectionCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VPNGatewayConnectionDpd : The dead peer detection configuration. +type VPNGatewayConnectionDpd struct { + // The dead peer detection action. + Action *string `json:"action" validate:"required"` + + // The dead peer detection interval in seconds. Must not be greater than `timeout`. + Interval *int64 `json:"interval" validate:"required"` + + // The dead peer detection timeout in seconds. Must not be less than `interval`. + Timeout *int64 `json:"timeout" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionDpd.Action property. +// The dead peer detection action. +const ( + VPNGatewayConnectionDpdActionClearConst = "clear" + VPNGatewayConnectionDpdActionHoldConst = "hold" + VPNGatewayConnectionDpdActionNoneConst = "none" + VPNGatewayConnectionDpdActionRestartConst = "restart" +) + +// UnmarshalVPNGatewayConnectionDpd unmarshals an instance of VPNGatewayConnectionDpd from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDpd(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDpd) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interval", &obj.Interval) + if err != nil { + err = core.SDKErrorf(err, "", "interval-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDpdPatch : The dead peer detection configuration. +type VPNGatewayConnectionDpdPatch struct { + // The dead peer detection action. + Action *string `json:"action,omitempty"` + + // The dead peer detection interval in seconds. Must not be greater than `timeout`. + Interval *int64 `json:"interval,omitempty"` + + // The dead peer detection timeout in seconds. Must not be less than `interval`. + Timeout *int64 `json:"timeout,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionDpdPatch.Action property. +// The dead peer detection action. +const ( + VPNGatewayConnectionDpdPatchActionClearConst = "clear" + VPNGatewayConnectionDpdPatchActionHoldConst = "hold" + VPNGatewayConnectionDpdPatchActionNoneConst = "none" + VPNGatewayConnectionDpdPatchActionRestartConst = "restart" +) + +// UnmarshalVPNGatewayConnectionDpdPatch unmarshals an instance of VPNGatewayConnectionDpdPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDpdPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDpdPatch) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interval", &obj.Interval) + if err != nil { + err = core.SDKErrorf(err, "", "interval-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionDpdPatch +func (vpnGatewayConnectionDpdPatch *VPNGatewayConnectionDpdPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionDpdPatch.Action) { + _patch["action"] = vpnGatewayConnectionDpdPatch.Action + } + if !core.IsNil(vpnGatewayConnectionDpdPatch.Interval) { + _patch["interval"] = vpnGatewayConnectionDpdPatch.Interval + } + if !core.IsNil(vpnGatewayConnectionDpdPatch.Timeout) { + _patch["timeout"] = vpnGatewayConnectionDpdPatch.Timeout + } + + return +} + +// VPNGatewayConnectionDpdPrototype : The dead peer detection configuration. +type VPNGatewayConnectionDpdPrototype struct { + // The dead peer detection action. + Action *string `json:"action,omitempty"` + + // The dead peer detection interval in seconds. Must not be greater than `timeout`. + Interval *int64 `json:"interval,omitempty"` + + // The dead peer detection timeout in seconds. Must not be less than `interval`. + Timeout *int64 `json:"timeout,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionDpdPrototype.Action property. +// The dead peer detection action. +const ( + VPNGatewayConnectionDpdPrototypeActionClearConst = "clear" + VPNGatewayConnectionDpdPrototypeActionHoldConst = "hold" + VPNGatewayConnectionDpdPrototypeActionNoneConst = "none" + VPNGatewayConnectionDpdPrototypeActionRestartConst = "restart" +) + +// UnmarshalVPNGatewayConnectionDpdPrototype unmarshals an instance of VPNGatewayConnectionDpdPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDpdPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDpdPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interval", &obj.Interval) + if err != nil { + err = core.SDKErrorf(err, "", "interval-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDynamicRouteModeLocal : VPNGatewayConnectionDynamicRouteModeLocal struct +type VPNGatewayConnectionDynamicRouteModeLocal struct { + // The local IKE identities. + // + // A VPN gateway in dynamic route mode consists of two members in active-active mode. The first identity applies to the + // first member, and the second identity applies to the second member. + IkeIdentities []VPNGatewayConnectionIkeIdentityIntf `json:"ike_identities" validate:"required"` +} + +// UnmarshalVPNGatewayConnectionDynamicRouteModeLocal unmarshals an instance of VPNGatewayConnectionDynamicRouteModeLocal from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModeLocal(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModeLocal) + err = core.UnmarshalModel(m, "ike_identities", &obj.IkeIdentities, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identities-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDynamicRouteModeLocalPrototype : VPNGatewayConnectionDynamicRouteModeLocalPrototype struct +type VPNGatewayConnectionDynamicRouteModeLocalPrototype struct { + // The local IKE identities to use. + // + // A VPN gateway in dynamic route mode consists of two members in active-active mode. The first specified identity will + // be applied to the first member, and the second specified identity will be applied to the second member. + // + // If unspecified, then `type` will be `ipv4_address` and `value` will be the public IP address of the member's VPN + // connection tunnel. + IkeIdentities []VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identities,omitempty"` +} + +// UnmarshalVPNGatewayConnectionDynamicRouteModeLocalPrototype unmarshals an instance of VPNGatewayConnectionDynamicRouteModeLocalPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModeLocalPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModeLocalPrototype) + err = core.UnmarshalModel(m, "ike_identities", &obj.IkeIdentities, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identities-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDynamicRouteModePeer : VPNGatewayConnectionDynamicRouteModePeer struct +// Models which "extend" this model: +// - VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress +// - VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn +type VPNGatewayConnectionDynamicRouteModePeer struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. + Asn *int64 `json:"asn" validate:"required"` + + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionDynamicRouteModePeer.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionDynamicRouteModePeerTypeAddressConst = "address" + VPNGatewayConnectionDynamicRouteModePeerTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionDynamicRouteModePeer) isaVPNGatewayConnectionDynamicRouteModePeer() bool { + return true +} + +type VPNGatewayConnectionDynamicRouteModePeerIntf interface { + isaVPNGatewayConnectionDynamicRouteModePeer() bool +} + +// UnmarshalVPNGatewayConnectionDynamicRouteModePeer unmarshals an instance of VPNGatewayConnectionDynamicRouteModePeer from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModePeer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModePeer) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDynamicRouteModePeerPrototype : VPNGatewayConnectionDynamicRouteModePeerPrototype struct +// Models which "extend" this model: +// - VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress +// - VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn +type VPNGatewayConnectionDynamicRouteModePeerPrototype struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + Asn *int64 `json:"asn" validate:"required"` + + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and + // the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` + // will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionDynamicRouteModePeerPrototype) isaVPNGatewayConnectionDynamicRouteModePeerPrototype() bool { + return true +} + +type VPNGatewayConnectionDynamicRouteModePeerPrototypeIntf interface { + isaVPNGatewayConnectionDynamicRouteModePeerPrototype() bool +} + +// UnmarshalVPNGatewayConnectionDynamicRouteModePeerPrototype unmarshals an instance of VPNGatewayConnectionDynamicRouteModePeerPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModePeerPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModePeerPrototype) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDynamicRouteModeTunnel : VPNGatewayConnectionDynamicRouteModeTunnel struct +type VPNGatewayConnectionDynamicRouteModeTunnel struct { + // The IP address of the neighbor on the virtual tunnel interface. + // This serves as the destination address for BGP peering sessions on the peer gateway + // within the tunnel. + NeighborIP *IP `json:"neighbor_ip" validate:"required"` + + // BGP routing protocol state as defined in + // [RFC 4721](https://www.rfc-editor.org/rfc/rfc4271#section-8.2.2). + ProtocolState *string `json:"protocol_state" validate:"required"` + + // The IP address of the VPN gateway member in which the tunnel resides. + PublicIP *IP `json:"public_ip" validate:"required"` + + // The status of the VPN Tunnel. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []VPNGatewayConnectionTunnelStatusReason `json:"status_reasons" validate:"required"` + + // The IP address assigned to the VPN gateway's virtual tunnel interface. + // This serves as the source address for BGP peering sessions initiated from the VPN + // gateway towards the peer gateway within the tunnel. + TunnelInterfaceIP *IP `json:"tunnel_interface_ip" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionDynamicRouteModeTunnel.ProtocolState property. +// BGP routing protocol state as defined in +// [RFC 4721](https://www.rfc-editor.org/rfc/rfc4271#section-8.2.2). +const ( + VPNGatewayConnectionDynamicRouteModeTunnelProtocolStateActiveConst = "active" + VPNGatewayConnectionDynamicRouteModeTunnelProtocolStateConnectConst = "connect" + VPNGatewayConnectionDynamicRouteModeTunnelProtocolStateEstablishedConst = "established" + VPNGatewayConnectionDynamicRouteModeTunnelProtocolStateIdleConst = "idle" + VPNGatewayConnectionDynamicRouteModeTunnelProtocolStateOpenConfirmConst = "open_confirm" + VPNGatewayConnectionDynamicRouteModeTunnelProtocolStateOpenSentConst = "open_sent" +) + +// Constants associated with the VPNGatewayConnectionDynamicRouteModeTunnel.Status property. +// The status of the VPN Tunnel. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionDynamicRouteModeTunnelStatusDownConst = "down" + VPNGatewayConnectionDynamicRouteModeTunnelStatusUpConst = "up" +) + +// UnmarshalVPNGatewayConnectionDynamicRouteModeTunnel unmarshals an instance of VPNGatewayConnectionDynamicRouteModeTunnel from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModeTunnel(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModeTunnel) + err = core.UnmarshalModel(m, "neighbor_ip", &obj.NeighborIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "neighbor_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state", &obj.ProtocolState) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_ip", &obj.PublicIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "public_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalVPNGatewayConnectionTunnelStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "tunnel_interface_ip", &obj.TunnelInterfaceIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "tunnel_interface_ip-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentity : VPNGatewayConnectionIkeIdentity struct +// Models which "extend" this model: +// - VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn +// - VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname +// - VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4 +// - VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID +type VPNGatewayConnectionIkeIdentity struct { + // The IKE identity type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The IKE identity FQDN value. + Value *string `json:"value,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentity.Type property. +// The IKE identity type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionIkeIdentityTypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityTypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityTypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityTypeKeyIDConst = "key_id" +) + +func (*VPNGatewayConnectionIkeIdentity) isaVPNGatewayConnectionIkeIdentity() bool { + return true +} + +type VPNGatewayConnectionIkeIdentityIntf interface { + isaVPNGatewayConnectionIkeIdentity() bool +} + +// UnmarshalVPNGatewayConnectionIkeIdentity unmarshals an instance of VPNGatewayConnectionIkeIdentity from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentity) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityPrototype : VPNGatewayConnectionIkeIdentityPrototype struct +// Models which "extend" this model: +// - VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn +// - VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname +// - VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4 +// - VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID +type VPNGatewayConnectionIkeIdentityPrototype struct { + // The IKE identity type. + Type *string `json:"type" validate:"required"` + + // The IKE identity FQDN value. + Value *string `json:"value,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityPrototype.Type property. +// The IKE identity type. +const ( + VPNGatewayConnectionIkeIdentityPrototypeTypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityPrototypeTypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityPrototypeTypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityPrototypeTypeKeyIDConst = "key_id" +) + +func (*VPNGatewayConnectionIkeIdentityPrototype) isaVPNGatewayConnectionIkeIdentityPrototype() bool { + return true +} + +type VPNGatewayConnectionIkeIdentityPrototypeIntf interface { + isaVPNGatewayConnectionIkeIdentityPrototype() bool +} + +// UnmarshalVPNGatewayConnectionIkeIdentityPrototype unmarshals an instance of VPNGatewayConnectionIkeIdentityPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityPrototype) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkePolicyPatch : The IKE policy to use. Specify `null` to remove any existing policy, [resulting in +// auto-negotiation](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). +// Models which "extend" this model: +// - VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID +// - VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref +type VPNGatewayConnectionIkePolicyPatch struct { + // The unique identifier for this IKE policy. + ID *string `json:"id,omitempty"` + + // The URL for this IKE policy. + Href *string `json:"href,omitempty"` +} + +func (*VPNGatewayConnectionIkePolicyPatch) isaVPNGatewayConnectionIkePolicyPatch() bool { + return true +} + +type VPNGatewayConnectionIkePolicyPatchIntf interface { + isaVPNGatewayConnectionIkePolicyPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalVPNGatewayConnectionIkePolicyPatch unmarshals an instance of VPNGatewayConnectionIkePolicyPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkePolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkePolicyPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionIkePolicyPatch +func (vpnGatewayConnectionIkePolicyPatch *VPNGatewayConnectionIkePolicyPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionIkePolicyPatch.ID) { + _patch["id"] = vpnGatewayConnectionIkePolicyPatch.ID + } + if !core.IsNil(vpnGatewayConnectionIkePolicyPatch.Href) { + _patch["href"] = vpnGatewayConnectionIkePolicyPatch.Href + } + + return +} + +// VPNGatewayConnectionIkePolicyPrototype : The IKE policy to use. If unspecified, [auto-negotiation will be +// used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). +// Models which "extend" this model: +// - VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID +// - VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref +type VPNGatewayConnectionIkePolicyPrototype struct { + // The unique identifier for this IKE policy. + ID *string `json:"id,omitempty"` + + // The URL for this IKE policy. + Href *string `json:"href,omitempty"` +} + +func (*VPNGatewayConnectionIkePolicyPrototype) isaVPNGatewayConnectionIkePolicyPrototype() bool { + return true +} + +type VPNGatewayConnectionIkePolicyPrototypeIntf interface { + isaVPNGatewayConnectionIkePolicyPrototype() bool +} + +// UnmarshalVPNGatewayConnectionIkePolicyPrototype unmarshals an instance of VPNGatewayConnectionIkePolicyPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkePolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkePolicyPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIPsecPolicyPatch : The IPsec policy to use. Specify `null` to remove any existing policy, [resulting in +// auto-negotiation](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). +// Models which "extend" this model: +// - VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID +// - VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref +type VPNGatewayConnectionIPsecPolicyPatch struct { + // The unique identifier for this IPsec policy. + ID *string `json:"id,omitempty"` + + // The URL for this IPsec policy. + Href *string `json:"href,omitempty"` +} + +func (*VPNGatewayConnectionIPsecPolicyPatch) isaVPNGatewayConnectionIPsecPolicyPatch() bool { + return true +} + +type VPNGatewayConnectionIPsecPolicyPatchIntf interface { + isaVPNGatewayConnectionIPsecPolicyPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalVPNGatewayConnectionIPsecPolicyPatch unmarshals an instance of VPNGatewayConnectionIPsecPolicyPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIPsecPolicyPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIPsecPolicyPatch) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionIPsecPolicyPatch +func (vpnGatewayConnectionIPsecPolicyPatch *VPNGatewayConnectionIPsecPolicyPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionIPsecPolicyPatch.ID) { + _patch["id"] = vpnGatewayConnectionIPsecPolicyPatch.ID + } + if !core.IsNil(vpnGatewayConnectionIPsecPolicyPatch.Href) { + _patch["href"] = vpnGatewayConnectionIPsecPolicyPatch.Href + } + + return +} + +// VPNGatewayConnectionIPsecPolicyPrototype : The IPsec policy to use. If unspecified, [auto-negotiation will be +// used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). +// Models which "extend" this model: +// - VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID +// - VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref +type VPNGatewayConnectionIPsecPolicyPrototype struct { + // The unique identifier for this IPsec policy. + ID *string `json:"id,omitempty"` + + // The URL for this IPsec policy. + Href *string `json:"href,omitempty"` +} + +func (*VPNGatewayConnectionIPsecPolicyPrototype) isaVPNGatewayConnectionIPsecPolicyPrototype() bool { + return true +} + +type VPNGatewayConnectionIPsecPolicyPrototypeIntf interface { + isaVPNGatewayConnectionIPsecPolicyPrototype() bool +} + +// UnmarshalVPNGatewayConnectionIPsecPolicyPrototype unmarshals an instance of VPNGatewayConnectionIPsecPolicyPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIPsecPolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIPsecPolicyPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPatch : VPNGatewayConnectionPatch struct +type VPNGatewayConnectionPatch struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up,omitempty"` + + // The dead peer detection configuration. + DeadPeerDetection *VPNGatewayConnectionDpdPatch `json:"dead_peer_detection,omitempty"` + + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC + // route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower + // `public_ip` address. Before enabling it on VPN connections to on-prem private networks, review + // [distributing traffic + // restrictions](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-limitations#distributing-traffic-restrictions). + // + // If specified, `mode` must be `route`. + DistributeTraffic *bool `json:"distribute_traffic,omitempty"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode,omitempty"` + + // The IKE policy to use. Specify `null` to remove any existing policy, [resulting in + // auto-negotiation](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). + IkePolicy VPNGatewayConnectionIkePolicyPatchIntf `json:"ike_policy,omitempty"` + + // The IPsec policy to use. Specify `null` to remove any existing policy, [resulting in + // auto-negotiation](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). + IpsecPolicy VPNGatewayConnectionIPsecPolicyPatchIntf `json:"ipsec_policy,omitempty"` + + // The name for this VPN gateway connection. The name must not be used by another connection for the VPN gateway. + Name *string `json:"name,omitempty"` + + Peer VPNGatewayConnectionPeerPatchIntf `json:"peer,omitempty"` + + // The pre-shared key. + Psk *string `json:"psk,omitempty"` + + // The routing protocol for this VPN gateway connection. For this property to be specified, `mode` must be `route`. + // + // - `none`: No routing protocol will be used. + // - `bgp`: The BGP routing protocol will be used. + RoutingProtocol *string `json:"routing_protocol,omitempty"` + + // The VPN tunnel configuration to use for this VPN gateway connection + // (in dynamic route mode). + Tunnels []VPNGatewayConnectionTunnel `json:"tunnels,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionPatch.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionPatchEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionPatchEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnectionPatch.RoutingProtocol property. +// The routing protocol for this VPN gateway connection. For this property to be specified, `mode` must be `route`. +// +// - `none`: No routing protocol will be used. +// - `bgp`: The BGP routing protocol will be used. +const ( + VPNGatewayConnectionPatchRoutingProtocolBgpConst = "bgp" + VPNGatewayConnectionPatchRoutingProtocolNoneConst = "none" +) + +// UnmarshalVPNGatewayConnectionPatch unmarshals an instance of VPNGatewayConnectionPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPatch) + err = core.UnmarshalPrimitive(m, "admin_state_up", &obj.AdminStateUp) + if err != nil { + err = core.SDKErrorf(err, "", "admin_state_up-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dead_peer_detection", &obj.DeadPeerDetection, UnmarshalVPNGatewayConnectionDpdPatch) + if err != nil { + err = core.SDKErrorf(err, "", "dead_peer_detection-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "distribute_traffic", &obj.DistributeTraffic) + if err != nil { + err = core.SDKErrorf(err, "", "distribute_traffic-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "establish_mode", &obj.EstablishMode) + if err != nil { + err = core.SDKErrorf(err, "", "establish_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policy", &obj.IkePolicy, UnmarshalVPNGatewayConnectionIkePolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policy", &obj.IpsecPolicy, UnmarshalVPNGatewayConnectionIPsecPolicyPatch) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "peer", &obj.Peer, UnmarshalVPNGatewayConnectionPeerPatch) + if err != nil { + err = core.SDKErrorf(err, "", "peer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "psk", &obj.Psk) + if err != nil { + err = core.SDKErrorf(err, "", "psk-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "routing_protocol", &obj.RoutingProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "routing_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalVPNGatewayConnectionTunnel) + if err != nil { + err = core.SDKErrorf(err, "", "tunnels-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VPNGatewayConnectionPatch +func (vpnGatewayConnectionPatch *VPNGatewayConnectionPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPatch.AdminStateUp) { + _patch["admin_state_up"] = vpnGatewayConnectionPatch.AdminStateUp + } + if !core.IsNil(vpnGatewayConnectionPatch.DeadPeerDetection) { + _patch["dead_peer_detection"] = vpnGatewayConnectionPatch.DeadPeerDetection.asPatch() + } + if !core.IsNil(vpnGatewayConnectionPatch.DistributeTraffic) { + _patch["distribute_traffic"] = vpnGatewayConnectionPatch.DistributeTraffic + } + if !core.IsNil(vpnGatewayConnectionPatch.EstablishMode) { + _patch["establish_mode"] = vpnGatewayConnectionPatch.EstablishMode + } + if !core.IsNil(vpnGatewayConnectionPatch.IkePolicy) { + _patch["ike_policy"] = vpnGatewayConnectionPatch.IkePolicy.asPatch() + } + if !core.IsNil(vpnGatewayConnectionPatch.IpsecPolicy) { + _patch["ipsec_policy"] = vpnGatewayConnectionPatch.IpsecPolicy.asPatch() + } + if !core.IsNil(vpnGatewayConnectionPatch.Name) { + _patch["name"] = vpnGatewayConnectionPatch.Name + } + if !core.IsNil(vpnGatewayConnectionPatch.Peer) { + _patch["peer"] = vpnGatewayConnectionPatch.Peer.asPatch() + } + if !core.IsNil(vpnGatewayConnectionPatch.Psk) { + _patch["psk"] = vpnGatewayConnectionPatch.Psk + } + if !core.IsNil(vpnGatewayConnectionPatch.RoutingProtocol) { + _patch["routing_protocol"] = vpnGatewayConnectionPatch.RoutingProtocol + } + if !core.IsNil(vpnGatewayConnectionPatch.Tunnels) { + var tunnelsPatches []map[string]interface{} + for _, tunnels := range vpnGatewayConnectionPatch.Tunnels { + tunnelsPatches = append(tunnelsPatches, tunnels.asPatch()) + } + _patch["tunnels"] = tunnelsPatches + } + + return +} + +// VPNGatewayConnectionPeerPatch : VPNGatewayConnectionPeerPatch struct +// Models which "extend" this model: +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch +type VPNGatewayConnectionPeerPatch struct { + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` + + // The peer autonomous system number (ASN) for this VPN gateway connection. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + Asn *int64 `json:"asn,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +type VPNGatewayConnectionPeerPatchIntf interface { + isaVPNGatewayConnectionPeerPatch() bool + asPatch() map[string]interface{} +} + +// UnmarshalVPNGatewayConnectionPeerPatch unmarshals an instance of VPNGatewayConnectionPeerPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatch) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatch +func (vpnGatewayConnectionPeerPatch *VPNGatewayConnectionPeerPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatch.Address) { + _patch["address"] = vpnGatewayConnectionPeerPatch.Address + } + if !core.IsNil(vpnGatewayConnectionPeerPatch.Fqdn) { + _patch["fqdn"] = vpnGatewayConnectionPeerPatch.Fqdn + } + if !core.IsNil(vpnGatewayConnectionPeerPatch.Asn) { + _patch["asn"] = vpnGatewayConnectionPeerPatch.Asn + } + + return +} + +// VPNGatewayConnectionPolicyModeLocal : VPNGatewayConnectionPolicyModeLocal struct +type VPNGatewayConnectionPolicyModeLocal struct { + // The local CIDRs for this VPN gateway connection. + CIDRs []string `json:"cidrs" validate:"required"` + + // The local IKE identities. + // + // A VPN gateway in policy mode consists of two members in active-standby mode. The local IKE identity applies to the + // active member. + IkeIdentities []VPNGatewayConnectionIkeIdentityIntf `json:"ike_identities" validate:"required"` +} + +// UnmarshalVPNGatewayConnectionPolicyModeLocal unmarshals an instance of VPNGatewayConnectionPolicyModeLocal from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyModeLocal(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyModeLocal) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identities", &obj.IkeIdentities, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identities-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPolicyModeLocalPrototype : VPNGatewayConnectionPolicyModeLocalPrototype struct +type VPNGatewayConnectionPolicyModeLocalPrototype struct { + // The local CIDRs for this VPN gateway connection. + CIDRs []string `json:"cidrs" validate:"required"` + + // The local IKE identities to use. + // + // A VPN gateway in policy mode consists of two members in active-standby mode. The specified identity will be applied + // to the active member. + // + // If unspecified, then `type` will be `ipv4_address` and `value` will be the public IP address of the VPN gateway. + IkeIdentities []VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identities,omitempty"` +} + +// NewVPNGatewayConnectionPolicyModeLocalPrototype : Instantiate VPNGatewayConnectionPolicyModeLocalPrototype (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionPolicyModeLocalPrototype(cidrs []string) (_model *VPNGatewayConnectionPolicyModeLocalPrototype, err error) { + _model = &VPNGatewayConnectionPolicyModeLocalPrototype{ + CIDRs: cidrs, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalVPNGatewayConnectionPolicyModeLocalPrototype unmarshals an instance of VPNGatewayConnectionPolicyModeLocalPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyModeLocalPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyModeLocalPrototype) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identities", &obj.IkeIdentities, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identities-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPolicyModePeer : VPNGatewayConnectionPolicyModePeer struct +// Models which "extend" this model: +// - VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress +// - VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn +type VPNGatewayConnectionPolicyModePeer struct { + // The peer CIDRs for this VPN gateway connection. + CIDRs []string `json:"cidrs" validate:"required"` + + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionPolicyModePeer.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionPolicyModePeerTypeAddressConst = "address" + VPNGatewayConnectionPolicyModePeerTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionPolicyModePeer) isaVPNGatewayConnectionPolicyModePeer() bool { + return true +} + +type VPNGatewayConnectionPolicyModePeerIntf interface { + isaVPNGatewayConnectionPolicyModePeer() bool +} + +// UnmarshalVPNGatewayConnectionPolicyModePeer unmarshals an instance of VPNGatewayConnectionPolicyModePeer from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyModePeer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyModePeer) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPolicyModePeerPrototype : VPNGatewayConnectionPolicyModePeerPrototype struct +// Models which "extend" this model: +// - VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress +// - VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn +type VPNGatewayConnectionPolicyModePeerPrototype struct { + // The peer CIDRs for this VPN gateway connection. + CIDRs []string `json:"cidrs" validate:"required"` + + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and + // the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` + // will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionPolicyModePeerPrototype) isaVPNGatewayConnectionPolicyModePeerPrototype() bool { + return true +} + +type VPNGatewayConnectionPolicyModePeerPrototypeIntf interface { + isaVPNGatewayConnectionPolicyModePeerPrototype() bool +} + +// UnmarshalVPNGatewayConnectionPolicyModePeerPrototype unmarshals an instance of VPNGatewayConnectionPolicyModePeerPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyModePeerPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyModePeerPrototype) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPrototype : VPNGatewayConnectionPrototype struct +// Models which "extend" this model: +// - VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype +// - VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype +// - VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype +type VPNGatewayConnectionPrototype struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up,omitempty"` + + // The dead peer detection configuration. + DeadPeerDetection *VPNGatewayConnectionDpdPrototype `json:"dead_peer_detection,omitempty"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode,omitempty"` + + // The IKE policy to use. If unspecified, [auto-negotiation will be + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). + IkePolicy VPNGatewayConnectionIkePolicyPrototypeIntf `json:"ike_policy,omitempty"` + + // The IPsec policy to use. If unspecified, [auto-negotiation will be + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). + IpsecPolicy VPNGatewayConnectionIPsecPolicyPrototypeIntf `json:"ipsec_policy,omitempty"` + + // The name for this VPN gateway connection. The name must not be used by another connection for the VPN gateway. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC + // route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower + // `public_ip` address. Before enabling it on VPN connections to on-prem private networks, review + // [distributing traffic + // restrictions](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-limitations#distributing-traffic-restrictions). + DistributeTraffic *bool `json:"distribute_traffic,omitempty"` + + Local *VPNGatewayConnectionStaticRouteModeLocalPrototype `json:"local,omitempty"` + + Peer VPNGatewayConnectionStaticRouteModePeerPrototypeIntf `json:"peer,omitempty"` + + // The routing protocol for this VPN gateway connection. + RoutingProtocol *string `json:"routing_protocol,omitempty"` + + // The VPN tunnel configuration to use for this VPN gateway connection + // (in dynamic route mode). + Tunnels []VPNGatewayConnectionTunnelPrototype `json:"tunnels,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionPrototype.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionPrototypeEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionPrototypeEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnectionPrototype.RoutingProtocol property. +// The routing protocol for this VPN gateway connection. +const ( + VPNGatewayConnectionPrototypeRoutingProtocolNoneConst = "none" +) + +func (*VPNGatewayConnectionPrototype) isaVPNGatewayConnectionPrototype() bool { + return true +} + +type VPNGatewayConnectionPrototypeIntf interface { + isaVPNGatewayConnectionPrototype() bool +} + +// UnmarshalVPNGatewayConnectionPrototype unmarshals an instance of VPNGatewayConnectionPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPrototype) + err = core.UnmarshalPrimitive(m, "admin_state_up", &obj.AdminStateUp) + if err != nil { + err = core.SDKErrorf(err, "", "admin_state_up-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dead_peer_detection", &obj.DeadPeerDetection, UnmarshalVPNGatewayConnectionDpdPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "dead_peer_detection-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "establish_mode", &obj.EstablishMode) + if err != nil { + err = core.SDKErrorf(err, "", "establish_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policy", &obj.IkePolicy, UnmarshalVPNGatewayConnectionIkePolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policy", &obj.IpsecPolicy, UnmarshalVPNGatewayConnectionIPsecPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "psk", &obj.Psk) + if err != nil { + err = core.SDKErrorf(err, "", "psk-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "distribute_traffic", &obj.DistributeTraffic) + if err != nil { + err = core.SDKErrorf(err, "", "distribute_traffic-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalVPNGatewayConnectionStaticRouteModeLocalPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "peer", &obj.Peer, UnmarshalVPNGatewayConnectionStaticRouteModePeerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "peer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "routing_protocol", &obj.RoutingProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "routing_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalVPNGatewayConnectionTunnelPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "tunnels-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionReference : VPNGatewayConnectionReference struct +type VPNGatewayConnectionReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` + + // The name for this VPN gateway connection. The name is unique across all connections for the VPN gateway. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionReference.ResourceType property. +// The resource type. +const ( + VPNGatewayConnectionReferenceResourceTypeVPNGatewayConnectionConst = "vpn_gateway_connection" +) + +// UnmarshalVPNGatewayConnectionReference unmarshals an instance of VPNGatewayConnectionReference from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStaticRouteModeLocal : VPNGatewayConnectionStaticRouteModeLocal struct +type VPNGatewayConnectionStaticRouteModeLocal struct { + // The local IKE identities. + // + // A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the + // first member, and the second identity applies to the second member. + IkeIdentities []VPNGatewayConnectionIkeIdentityIntf `json:"ike_identities" validate:"required"` +} + +// UnmarshalVPNGatewayConnectionStaticRouteModeLocal unmarshals an instance of VPNGatewayConnectionStaticRouteModeLocal from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModeLocal(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModeLocal) + err = core.UnmarshalModel(m, "ike_identities", &obj.IkeIdentities, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identities-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStaticRouteModeLocalPrototype : VPNGatewayConnectionStaticRouteModeLocalPrototype struct +type VPNGatewayConnectionStaticRouteModeLocalPrototype struct { + // The local IKE identities to use. + // + // A VPN gateway in static route mode consists of two members in active-active mode. The first specified identity will + // be applied to the first member, and the second specified identity will be applied to the second member. + // + // If unspecified, then `type` will be `ipv4_address` and `value` will be the public IP address of the member's VPN + // connection tunnel. + IkeIdentities []VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identities,omitempty"` +} + +// UnmarshalVPNGatewayConnectionStaticRouteModeLocalPrototype unmarshals an instance of VPNGatewayConnectionStaticRouteModeLocalPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModeLocalPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModeLocalPrototype) + err = core.UnmarshalModel(m, "ike_identities", &obj.IkeIdentities, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identities-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStaticRouteModePeer : VPNGatewayConnectionStaticRouteModePeer struct +// Models which "extend" this model: +// - VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress +// - VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn +type VPNGatewayConnectionStaticRouteModePeer struct { + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionStaticRouteModePeer.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionStaticRouteModePeerTypeAddressConst = "address" + VPNGatewayConnectionStaticRouteModePeerTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionStaticRouteModePeer) isaVPNGatewayConnectionStaticRouteModePeer() bool { + return true +} + +type VPNGatewayConnectionStaticRouteModePeerIntf interface { + isaVPNGatewayConnectionStaticRouteModePeer() bool +} + +// UnmarshalVPNGatewayConnectionStaticRouteModePeer unmarshals an instance of VPNGatewayConnectionStaticRouteModePeer from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModePeer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModePeer) + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStaticRouteModePeerPrototype : VPNGatewayConnectionStaticRouteModePeerPrototype struct +// Models which "extend" this model: +// - VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress +// - VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn +type VPNGatewayConnectionStaticRouteModePeerPrototype struct { + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and + // the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` + // will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionStaticRouteModePeerPrototype) isaVPNGatewayConnectionStaticRouteModePeerPrototype() bool { + return true +} + +type VPNGatewayConnectionStaticRouteModePeerPrototypeIntf interface { + isaVPNGatewayConnectionStaticRouteModePeerPrototype() bool +} + +// UnmarshalVPNGatewayConnectionStaticRouteModePeerPrototype unmarshals an instance of VPNGatewayConnectionStaticRouteModePeerPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModePeerPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModePeerPrototype) + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStaticRouteModeTunnel : VPNGatewayConnectionStaticRouteModeTunnel struct +type VPNGatewayConnectionStaticRouteModeTunnel struct { + // The IP address of the VPN gateway member in which the tunnel resides. + PublicIP *IP `json:"public_ip" validate:"required"` + + // The status of the VPN Tunnel. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []VPNGatewayConnectionTunnelStatusReason `json:"status_reasons" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionStaticRouteModeTunnel.Status property. +// The status of the VPN Tunnel. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionStaticRouteModeTunnelStatusDownConst = "down" + VPNGatewayConnectionStaticRouteModeTunnelStatusUpConst = "up" +) + +// UnmarshalVPNGatewayConnectionStaticRouteModeTunnel unmarshals an instance of VPNGatewayConnectionStaticRouteModeTunnel from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModeTunnel(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModeTunnel) + err = core.UnmarshalModel(m, "public_ip", &obj.PublicIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "public_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalVPNGatewayConnectionTunnelStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStatusReason : VPNGatewayConnectionStatusReason struct +type VPNGatewayConnectionStatusReason struct { + // A snake case string succinctly identifying the status reason. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this VPN gateway connection's status. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionStatusReason.Code property. +// A snake case string succinctly identifying the status reason. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionStatusReasonCodeCannotAuthenticateConnectionConst = "cannot_authenticate_connection" + VPNGatewayConnectionStatusReasonCodeIkePolicyMismatchConst = "ike_policy_mismatch" + VPNGatewayConnectionStatusReasonCodeIkeV1IDLocalRemoteCIDRMismatchConst = "ike_v1_id_local_remote_cidr_mismatch" + VPNGatewayConnectionStatusReasonCodeIkeV2LocalRemoteCIDRMismatchConst = "ike_v2_local_remote_cidr_mismatch" + VPNGatewayConnectionStatusReasonCodeInternalErrorConst = "internal_error" + VPNGatewayConnectionStatusReasonCodeIpsecPolicyMismatchConst = "ipsec_policy_mismatch" + VPNGatewayConnectionStatusReasonCodePeerNotRespondingConst = "peer_not_responding" +) + +// UnmarshalVPNGatewayConnectionStatusReason unmarshals an instance of VPNGatewayConnectionStatusReason from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionTunnel : VPNGatewayConnectionTunnel struct +type VPNGatewayConnectionTunnel struct { + // The IP address of the neighbor on the virtual tunnel interface. + // This serves as the destination address for BGP peering sessions on the peer gateway + // within the tunnel. + NeighborIP *IP `json:"neighbor_ip,omitempty"` + + // The IP address assigned to the VPN gateway's virtual tunnel interface. + // This serves as the source address for BGP peering sessions initiated from the VPN + // gateway towards the peer gateway within the tunnel. + TunnelInterfaceIP *IP `json:"tunnel_interface_ip,omitempty"` +} + +// UnmarshalVPNGatewayConnectionTunnel unmarshals an instance of VPNGatewayConnectionTunnel from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionTunnel(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionTunnel) + err = core.UnmarshalModel(m, "neighbor_ip", &obj.NeighborIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "neighbor_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "tunnel_interface_ip", &obj.TunnelInterfaceIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "tunnel_interface_ip-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionTunnel +func (vpnGatewayConnectionTunnel *VPNGatewayConnectionTunnel) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionTunnel.NeighborIP) { + _patch["neighbor_ip"] = vpnGatewayConnectionTunnel.NeighborIP.asPatch() + } + if !core.IsNil(vpnGatewayConnectionTunnel.TunnelInterfaceIP) { + _patch["tunnel_interface_ip"] = vpnGatewayConnectionTunnel.TunnelInterfaceIP.asPatch() + } + + return +} + +// VPNGatewayConnectionTunnelPrototype : VPNGatewayConnectionTunnelPrototype struct +type VPNGatewayConnectionTunnelPrototype struct { + // The IP address of the neighbor on the virtual tunnel interface. + // This serves as the destination address for BGP peering sessions on the peer gateway + // within the tunnel. + NeighborIP *IP `json:"neighbor_ip" validate:"required"` + + // The IP address assigned to the VPN gateway's virtual tunnel interface. + // This serves as the source address for BGP peering sessions initiated from the VPN + // gateway towards the peer gateway within the tunnel. + TunnelInterfaceIP *IP `json:"tunnel_interface_ip" validate:"required"` +} + +// NewVPNGatewayConnectionTunnelPrototype : Instantiate VPNGatewayConnectionTunnelPrototype (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionTunnelPrototype(neighborIP *IP, tunnelInterfaceIP *IP) (_model *VPNGatewayConnectionTunnelPrototype, err error) { + _model = &VPNGatewayConnectionTunnelPrototype{ + NeighborIP: neighborIP, + TunnelInterfaceIP: tunnelInterfaceIP, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalVPNGatewayConnectionTunnelPrototype unmarshals an instance of VPNGatewayConnectionTunnelPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionTunnelPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionTunnelPrototype) + err = core.UnmarshalModel(m, "neighbor_ip", &obj.NeighborIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "neighbor_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "tunnel_interface_ip", &obj.TunnelInterfaceIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "tunnel_interface_ip-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionTunnelStatusReason : VPNGatewayConnectionTunnelStatusReason struct +type VPNGatewayConnectionTunnelStatusReason struct { + // A reason code for this status: + // - `cannot_authenticate_connection`: Failed to authenticate a connection because of + // mismatched IKE ID and PSK (check IKE ID and PSK in peer VPN configuration) + // - `internal_error`: Internal error (contact IBM support) + // - `ike_policy_mismatch`: None of the proposed IKE crypto suites was acceptable (check + // the IKE policies on both sides of the VPN) + // - `ike_v1_id_local_remote_cidr_mismatch`: Invalid IKE ID or mismatched local CIDRs and + // remote CIDRs in IKE V1 (check the IKE ID or the local CIDRs and remote CIDRs in IKE + // V1 configuration) + // - `ike_v2_local_remote_cidr_mismatch`: Mismatched local CIDRs and remote CIDRs in IKE + // V2 (check the local CIDRs and remote CIDRs in IKE V2 configuration) + // - `ipsec_policy_mismatch`: None of the proposed IPsec crypto suites was acceptable + // (check the IPsec policies on both sides of the VPN) + // - `peer_not_responding`: No response from peer (check network ACL configuration, peer + // availability, and on-premise firewall configuration) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this VPN gateway connection tunnel's status. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionTunnelStatusReason.Code property. +// A reason code for this status: +// - `cannot_authenticate_connection`: Failed to authenticate a connection because of +// mismatched IKE ID and PSK (check IKE ID and PSK in peer VPN configuration) +// - `internal_error`: Internal error (contact IBM support) +// - `ike_policy_mismatch`: None of the proposed IKE crypto suites was acceptable (check +// the IKE policies on both sides of the VPN) +// - `ike_v1_id_local_remote_cidr_mismatch`: Invalid IKE ID or mismatched local CIDRs and +// remote CIDRs in IKE V1 (check the IKE ID or the local CIDRs and remote CIDRs in IKE +// V1 configuration) +// - `ike_v2_local_remote_cidr_mismatch`: Mismatched local CIDRs and remote CIDRs in IKE +// V2 (check the local CIDRs and remote CIDRs in IKE V2 configuration) +// - `ipsec_policy_mismatch`: None of the proposed IPsec crypto suites was acceptable +// (check the IPsec policies on both sides of the VPN) +// - `peer_not_responding`: No response from peer (check network ACL configuration, peer +// availability, and on-premise firewall configuration) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionTunnelStatusReasonCodeCannotAuthenticateConnectionConst = "cannot_authenticate_connection" + VPNGatewayConnectionTunnelStatusReasonCodeIkePolicyMismatchConst = "ike_policy_mismatch" + VPNGatewayConnectionTunnelStatusReasonCodeIkeV1IDLocalRemoteCIDRMismatchConst = "ike_v1_id_local_remote_cidr_mismatch" + VPNGatewayConnectionTunnelStatusReasonCodeIkeV2LocalRemoteCIDRMismatchConst = "ike_v2_local_remote_cidr_mismatch" + VPNGatewayConnectionTunnelStatusReasonCodeInternalErrorConst = "internal_error" + VPNGatewayConnectionTunnelStatusReasonCodeIpsecPolicyMismatchConst = "ipsec_policy_mismatch" + VPNGatewayConnectionTunnelStatusReasonCodePeerNotRespondingConst = "peer_not_responding" +) + +// UnmarshalVPNGatewayConnectionTunnelStatusReason unmarshals an instance of VPNGatewayConnectionTunnelStatusReason from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionTunnelStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionTunnelStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayHealthReason : VPNGatewayHealthReason struct +type VPNGatewayHealthReason struct { + // A reason code for this health state: + // - `cannot_create_vpc_route`: VPN cannot create route (check for conflict) + // - `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's + // subnet) + // - `internal_error`: Internal error (contact IBM support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNGatewayHealthReason.Code property. +// A reason code for this health state: +// - `cannot_create_vpc_route`: VPN cannot create route (check for conflict) +// - `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's +// subnet) +// - `internal_error`: Internal error (contact IBM support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayHealthReasonCodeCannotCreateVPCRouteConst = "cannot_create_vpc_route" + VPNGatewayHealthReasonCodeCannotReserveIPAddressConst = "cannot_reserve_ip_address" + VPNGatewayHealthReasonCodeInternalErrorConst = "internal_error" +) + +// UnmarshalVPNGatewayHealthReason unmarshals an instance of VPNGatewayHealthReason from the specified map of raw messages. +func UnmarshalVPNGatewayHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayLifecycleReason : VPNGatewayLifecycleReason struct +type VPNGatewayLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNGatewayLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayLifecycleReasonCodeInternalErrorConst = "internal_error" + VPNGatewayLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalVPNGatewayLifecycleReason unmarshals an instance of VPNGatewayLifecycleReason from the specified map of raw messages. +func UnmarshalVPNGatewayLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayMember : VPNGatewayMember struct +type VPNGatewayMember struct { + // The reasons for the current `health_state` (if any). + HealthReasons []VPNGatewayMemberHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []VPNGatewayMemberLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the VPN gateway member. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The reserved IP address assigned to the VPN gateway member. + // + // This property will be present only when the VPN gateway status is `available`. + PrivateIP *ReservedIPReference `json:"private_ip" validate:"required"` + + // The public IP address assigned to the VPN gateway member. + PublicIP *IP `json:"public_ip" validate:"required"` + + // The high availability role assigned to the VPN gateway member. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Role *string `json:"role" validate:"required"` +} + +// Constants associated with the VPNGatewayMember.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VPNGatewayMemberHealthStateDegradedConst = "degraded" + VPNGatewayMemberHealthStateFaultedConst = "faulted" + VPNGatewayMemberHealthStateInapplicableConst = "inapplicable" + VPNGatewayMemberHealthStateOkConst = "ok" +) + +// Constants associated with the VPNGatewayMember.LifecycleState property. +// The lifecycle state of the VPN gateway member. +const ( + VPNGatewayMemberLifecycleStateDeletingConst = "deleting" + VPNGatewayMemberLifecycleStateFailedConst = "failed" + VPNGatewayMemberLifecycleStatePendingConst = "pending" + VPNGatewayMemberLifecycleStateStableConst = "stable" + VPNGatewayMemberLifecycleStateSuspendedConst = "suspended" + VPNGatewayMemberLifecycleStateUpdatingConst = "updating" + VPNGatewayMemberLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VPNGatewayMember.Role property. +// The high availability role assigned to the VPN gateway member. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayMemberRoleActiveConst = "active" + VPNGatewayMemberRoleStandbyConst = "standby" +) + +// UnmarshalVPNGatewayMember unmarshals an instance of VPNGatewayMember from the specified map of raw messages. +func UnmarshalVPNGatewayMember(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayMember) + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVPNGatewayMemberHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalVPNGatewayMemberLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "private_ip", &obj.PrivateIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "private_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_ip", &obj.PublicIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "public_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "role", &obj.Role) + if err != nil { + err = core.SDKErrorf(err, "", "role-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayMemberHealthReason : VPNGatewayMemberHealthReason struct +type VPNGatewayMemberHealthReason struct { + // A reason code for this health state: + // - `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's + // subnet) + // - `internal_error`: Internal error (contact IBM support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNGatewayMemberHealthReason.Code property. +// A reason code for this health state: +// - `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's +// subnet) +// - `internal_error`: Internal error (contact IBM support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayMemberHealthReasonCodeCannotReserveIPAddressConst = "cannot_reserve_ip_address" + VPNGatewayMemberHealthReasonCodeInternalErrorConst = "internal_error" +) + +// UnmarshalVPNGatewayMemberHealthReason unmarshals an instance of VPNGatewayMemberHealthReason from the specified map of raw messages. +func UnmarshalVPNGatewayMemberHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayMemberHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayMemberLifecycleReason : VPNGatewayMemberLifecycleReason struct +type VPNGatewayMemberLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNGatewayMemberLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayMemberLifecycleReasonCodeInternalErrorConst = "internal_error" + VPNGatewayMemberLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalVPNGatewayMemberLifecycleReason unmarshals an instance of VPNGatewayMemberLifecycleReason from the specified map of raw messages. +func UnmarshalVPNGatewayMemberLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayMemberLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayPatch : VPNGatewayPatch struct +type VPNGatewayPatch struct { + // The local autonomous system number (ASN) for this VPN gateway and its connections. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + LocalAsn *int64 `json:"local_asn,omitempty"` + + // The name for this VPN gateway. The name must not be used by another VPN gateway in the VPC. + Name *string `json:"name,omitempty"` +} + +// UnmarshalVPNGatewayPatch unmarshals an instance of VPNGatewayPatch from the specified map of raw messages. +func UnmarshalVPNGatewayPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayPatch) + err = core.UnmarshalPrimitive(m, "local_asn", &obj.LocalAsn) + if err != nil { + err = core.SDKErrorf(err, "", "local_asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VPNGatewayPatch +func (vpnGatewayPatch *VPNGatewayPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayPatch.LocalAsn) { + _patch["local_asn"] = vpnGatewayPatch.LocalAsn + } + if !core.IsNil(vpnGatewayPatch.Name) { + _patch["name"] = vpnGatewayPatch.Name + } + + return +} + +// VPNGatewayPrototype : VPNGatewayPrototype struct +// Models which "extend" this model: +// - VPNGatewayPrototypeVPNGatewayRouteModePrototype +// - VPNGatewayPrototypeVPNGatewayPolicyModePrototype +type VPNGatewayPrototype struct { + // The name for this VPN gateway. The name must not be used by another VPN gateway in the VPC. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // Identifies a subnet by a unique property. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` + + // The static CIDRs advertised through any enabled routing protocol (for example, BGP). The routing protocol will + // advertise routes with these CIDRs as route destinations. + AdvertisedCIDRs []string `json:"advertised_cidrs,omitempty"` + + // The local autonomous system number (ASN) for this VPN gateway and its connections. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + LocalAsn *int64 `json:"local_asn,omitempty"` + + // The mode for this VPN gateway. + Mode *string `json:"mode,omitempty"` +} + +// Constants associated with the VPNGatewayPrototype.Mode property. +// The mode for this VPN gateway. +const ( + VPNGatewayPrototypeModeRouteConst = "route" +) + +func (*VPNGatewayPrototype) isaVPNGatewayPrototype() bool { + return true +} + +type VPNGatewayPrototypeIntf interface { + isaVPNGatewayPrototype() bool +} + +// UnmarshalVPNGatewayPrototype unmarshals an instance of VPNGatewayPrototype from the specified map of raw messages. +func UnmarshalVPNGatewayPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertised_cidrs", &obj.AdvertisedCIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "advertised_cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "local_asn", &obj.LocalAsn) + if err != nil { + err = core.SDKErrorf(err, "", "local_asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayServiceConnection : VPNGatewayServiceConnection struct +type VPNGatewayServiceConnection struct { + // The date and time that this VPN gateway service connection was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + Creator VPNGatewayServiceConnectionCreatorIntf `json:"creator" validate:"required"` + + // The unique identifier for this VPN gateway service connection. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []VPNGatewayServiceConnectionLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the VPN gateway service connection. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The status of this VPN gateway service connection: + // - `degraded`: operating with compromised performance. + // - `down`: not operational. + // - `up`: operating normally. + Status *string `json:"status" validate:"required"` + + // The reasons for the current VPN gateway service connection status (if any). + StatusReasons []VPNGatewayServiceConnectionStatusReason `json:"status_reasons" validate:"required"` +} + +// Constants associated with the VPNGatewayServiceConnection.LifecycleState property. +// The lifecycle state of the VPN gateway service connection. +const ( + VPNGatewayServiceConnectionLifecycleStateDeletingConst = "deleting" + VPNGatewayServiceConnectionLifecycleStateFailedConst = "failed" + VPNGatewayServiceConnectionLifecycleStatePendingConst = "pending" + VPNGatewayServiceConnectionLifecycleStateStableConst = "stable" + VPNGatewayServiceConnectionLifecycleStateSuspendedConst = "suspended" + VPNGatewayServiceConnectionLifecycleStateUpdatingConst = "updating" + VPNGatewayServiceConnectionLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VPNGatewayServiceConnection.Status property. +// The status of this VPN gateway service connection: +// - `degraded`: operating with compromised performance. +// - `down`: not operational. +// - `up`: operating normally. +const ( + VPNGatewayServiceConnectionStatusDegradedConst = "degraded" + VPNGatewayServiceConnectionStatusDownConst = "down" + VPNGatewayServiceConnectionStatusUpConst = "up" +) + +// UnmarshalVPNGatewayServiceConnection unmarshals an instance of VPNGatewayServiceConnection from the specified map of raw messages. +func UnmarshalVPNGatewayServiceConnection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayServiceConnection) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "creator", &obj.Creator, UnmarshalVPNGatewayServiceConnectionCreator) + if err != nil { + err = core.SDKErrorf(err, "", "creator-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalVPNGatewayServiceConnectionLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalVPNGatewayServiceConnectionStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayServiceConnectionCollection : VPNGatewayServiceConnectionCollection struct +type VPNGatewayServiceConnectionCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of service connections for the VPN gateway. + ServiceConnections []VPNGatewayServiceConnection `json:"service_connections" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalVPNGatewayServiceConnectionCollection unmarshals an instance of VPNGatewayServiceConnectionCollection from the specified map of raw messages. +func UnmarshalVPNGatewayServiceConnectionCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayServiceConnectionCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "service_connections", &obj.ServiceConnections, UnmarshalVPNGatewayServiceConnection) + if err != nil { + err = core.SDKErrorf(err, "", "service_connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VPNGatewayServiceConnectionCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VPNGatewayServiceConnectionCreator : VPNGatewayServiceConnectionCreator struct +// Models which "extend" this model: +// - VPNGatewayServiceConnectionCreatorTransitGatewayReference +type VPNGatewayServiceConnectionCreator struct { + // The CRN for this transit gateway. + CRN *string `json:"crn,omitempty"` + + // The unique identifier for this transit gateway. + ID *string `json:"id,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the VPNGatewayServiceConnectionCreator.ResourceType property. +// The resource type. +const ( + VPNGatewayServiceConnectionCreatorResourceTypeTransitGatewayConst = "transit_gateway" +) + +func (*VPNGatewayServiceConnectionCreator) isaVPNGatewayServiceConnectionCreator() bool { + return true +} + +type VPNGatewayServiceConnectionCreatorIntf interface { + isaVPNGatewayServiceConnectionCreator() bool +} + +// UnmarshalVPNGatewayServiceConnectionCreator unmarshals an instance of VPNGatewayServiceConnectionCreator from the specified map of raw messages. +func UnmarshalVPNGatewayServiceConnectionCreator(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayServiceConnectionCreator) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayServiceConnectionLifecycleReason : VPNGatewayServiceConnectionLifecycleReason struct +type VPNGatewayServiceConnectionLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNGatewayServiceConnectionLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayServiceConnectionLifecycleReasonCodeInternalErrorConst = "internal_error" + VPNGatewayServiceConnectionLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalVPNGatewayServiceConnectionLifecycleReason unmarshals an instance of VPNGatewayServiceConnectionLifecycleReason from the specified map of raw messages. +func UnmarshalVPNGatewayServiceConnectionLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayServiceConnectionLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayServiceConnectionStatusReason : VPNGatewayServiceConnectionStatusReason struct +type VPNGatewayServiceConnectionStatusReason struct { + // The reasons for the current VPN gateway service connection status (if any). + // - `internal_error` + // - `peer_not_responding`. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this VPN gateway service connection's status. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNGatewayServiceConnectionStatusReason.Code property. +// The reasons for the current VPN gateway service connection status (if any). +// - `internal_error` +// - `peer_not_responding`. +const ( + VPNGatewayServiceConnectionStatusReasonCodeInternalErrorConst = "internal_error" + VPNGatewayServiceConnectionStatusReasonCodePeerNotRespondingConst = "peer_not_responding" +) + +// UnmarshalVPNGatewayServiceConnectionStatusReason unmarshals an instance of VPNGatewayServiceConnectionStatusReason from the specified map of raw messages. +func UnmarshalVPNGatewayServiceConnectionStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayServiceConnectionStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServer : VPNServer struct +type VPNServer struct { + // The certificate instance for this VPN server. + Certificate *CertificateInstanceReference `json:"certificate" validate:"required"` + + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all specified + // methods. + ClientAuthentication []VPNServerAuthenticationIntf `json:"client_authentication" validate:"required"` + + // Indicates whether disconnected VPN clients will be automatically deleted after + // `client_auto_delete_timeout` hours have passed. At present, this is always `true`, but may be modifiable in the + // future. + ClientAutoDelete *bool `json:"client_auto_delete" validate:"required"` + + // If `client_auto_delete` is `true`, the hours after which disconnected VPN clients will be automatically deleted. If + // the value is `0`, disconnected VPN clients will be deleted immediately. This value may be modifiable in the future. + ClientAutoDeleteTimeout *int64 `json:"client_auto_delete_timeout" validate:"required"` + + // The DNS server addresses that will be provided to VPN clients that are connected to this VPN server. + ClientDnsServerIps []IP `json:"client_dns_server_ips" validate:"required"` + + // The seconds a VPN client can be idle before this VPN server will disconnect it. If `0`, the server will not + // disconnect idle clients. + ClientIdleTimeout *int64 `json:"client_idle_timeout" validate:"required"` + + // The VPN client IPv4 address pool, expressed in CIDR format. + ClientIPPool *string `json:"client_ip_pool" validate:"required"` + + // The date and time that the VPN server was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this VPN server. + CRN *string `json:"crn" validate:"required"` + + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling *bool `json:"enable_split_tunneling" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []VPNServerHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The fully qualified domain name assigned to this VPN server. + Hostname *string `json:"hostname" validate:"required"` + + // The URL for this VPN server. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN server. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []VPNServerLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the VPN server. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this VPN server. The name is unique across all VPN servers in the VPC. + Name *string `json:"name" validate:"required"` + + // The port number used by this VPN server. + Port *int64 `json:"port" validate:"required"` + + // The reserved IPs bound to this VPN server. + PrivateIps []ReservedIPReference `json:"private_ips" validate:"required"` + + // The transport protocol to use for this VPN server. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Protocol *string `json:"protocol" validate:"required"` + + // The resource group for this VPN server. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The security groups targeting this VPN server. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // The subnets this VPN server is provisioned in. + Subnets []SubnetReference `json:"subnets" validate:"required"` + + // The VPC this VPN server resides in. + VPC *VPCReference `json:"vpc" validate:"required"` +} + +// Constants associated with the VPNServer.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VPNServerHealthStateDegradedConst = "degraded" + VPNServerHealthStateFaultedConst = "faulted" + VPNServerHealthStateInapplicableConst = "inapplicable" + VPNServerHealthStateOkConst = "ok" +) + +// Constants associated with the VPNServer.LifecycleState property. +// The lifecycle state of the VPN server. +const ( + VPNServerLifecycleStateDeletingConst = "deleting" + VPNServerLifecycleStateFailedConst = "failed" + VPNServerLifecycleStatePendingConst = "pending" + VPNServerLifecycleStateStableConst = "stable" + VPNServerLifecycleStateSuspendedConst = "suspended" + VPNServerLifecycleStateUpdatingConst = "updating" + VPNServerLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VPNServer.Protocol property. +// The transport protocol to use for this VPN server. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerProtocolTCPConst = "tcp" + VPNServerProtocolUDPConst = "udp" +) + +// Constants associated with the VPNServer.ResourceType property. +// The resource type. +const ( + VPNServerResourceTypeVPNServerConst = "vpn_server" +) + +// UnmarshalVPNServer unmarshals an instance of VPNServer from the specified map of raw messages. +func UnmarshalVPNServer(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServer) + err = core.UnmarshalModel(m, "certificate", &obj.Certificate, UnmarshalCertificateInstanceReference) + if err != nil { + err = core.SDKErrorf(err, "", "certificate-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "client_authentication", &obj.ClientAuthentication, UnmarshalVPNServerAuthentication) + if err != nil { + err = core.SDKErrorf(err, "", "client_authentication-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "client_auto_delete", &obj.ClientAutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "client_auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "client_auto_delete_timeout", &obj.ClientAutoDeleteTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "client_auto_delete_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "client_dns_server_ips", &obj.ClientDnsServerIps, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "client_dns_server_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "client_idle_timeout", &obj.ClientIdleTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "client_idle_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "client_ip_pool", &obj.ClientIPPool) + if err != nil { + err = core.SDKErrorf(err, "", "client_ip_pool-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_split_tunneling", &obj.EnableSplitTunneling) + if err != nil { + err = core.SDKErrorf(err, "", "enable_split_tunneling-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVPNServerHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "hostname", &obj.Hostname) + if err != nil { + err = core.SDKErrorf(err, "", "hostname-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalVPNServerLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "private_ips", &obj.PrivateIps, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "private_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerAuthentication : An authentication method for this VPN server. +// Models which "extend" this model: +// - VPNServerAuthenticationByUsername +// - VPNServerAuthenticationByCertificate +type VPNServerAuthentication struct { + // The type of authentication. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Method *string `json:"method" validate:"required"` + + // The type of identity provider to be used by VPN client. + IdentityProvider VPNServerAuthenticationByUsernameIDProviderIntf `json:"identity_provider,omitempty"` + + // The certificate instance used for the VPN client certificate authority (CA). + ClientCa *CertificateInstanceReference `json:"client_ca,omitempty"` + + // The certificate revocation list contents, encoded in PEM format. + Crl *string `json:"crl,omitempty"` +} + +// Constants associated with the VPNServerAuthentication.Method property. +// The type of authentication. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerAuthenticationMethodCertificateConst = "certificate" + VPNServerAuthenticationMethodUsernameConst = "username" +) + +func (*VPNServerAuthentication) isaVPNServerAuthentication() bool { + return true +} + +type VPNServerAuthenticationIntf interface { + isaVPNServerAuthentication() bool +} + +// UnmarshalVPNServerAuthentication unmarshals an instance of VPNServerAuthentication from the specified map of raw messages. +func UnmarshalVPNServerAuthentication(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerAuthentication) + err = core.UnmarshalPrimitive(m, "method", &obj.Method) + if err != nil { + err = core.SDKErrorf(err, "", "method-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "identity_provider", &obj.IdentityProvider, UnmarshalVPNServerAuthenticationByUsernameIDProvider) + if err != nil { + err = core.SDKErrorf(err, "", "identity_provider-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "client_ca", &obj.ClientCa, UnmarshalCertificateInstanceReference) + if err != nil { + err = core.SDKErrorf(err, "", "client_ca-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crl", &obj.Crl) + if err != nil { + err = core.SDKErrorf(err, "", "crl-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerAuthenticationByUsernameIDProvider : The type of identity provider to be used by VPN client. +// Models which "extend" this model: +// - VPNServerAuthenticationByUsernameIDProviderByIam +type VPNServerAuthenticationByUsernameIDProvider struct { + // The type of identity provider to be used by the VPN client: + // - `iam`: IBM identity and access management + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProviderType *string `json:"provider_type,omitempty"` +} + +// Constants associated with the VPNServerAuthenticationByUsernameIDProvider.ProviderType property. +// The type of identity provider to be used by the VPN client: +// - `iam`: IBM identity and access management +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerAuthenticationByUsernameIDProviderProviderTypeIamConst = "iam" +) + +func (*VPNServerAuthenticationByUsernameIDProvider) isaVPNServerAuthenticationByUsernameIDProvider() bool { + return true +} + +type VPNServerAuthenticationByUsernameIDProviderIntf interface { + isaVPNServerAuthenticationByUsernameIDProvider() bool + asPatch() map[string]interface{} +} + +// UnmarshalVPNServerAuthenticationByUsernameIDProvider unmarshals an instance of VPNServerAuthenticationByUsernameIDProvider from the specified map of raw messages. +func UnmarshalVPNServerAuthenticationByUsernameIDProvider(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerAuthenticationByUsernameIDProvider) + err = core.UnmarshalPrimitive(m, "provider_type", &obj.ProviderType) + if err != nil { + err = core.SDKErrorf(err, "", "provider_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNServerAuthenticationByUsernameIDProvider +func (vpnServerAuthenticationByUsernameIDProvider *VPNServerAuthenticationByUsernameIDProvider) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnServerAuthenticationByUsernameIDProvider.ProviderType) { + _patch["provider_type"] = vpnServerAuthenticationByUsernameIDProvider.ProviderType + } + + return +} + +// VPNServerAuthenticationPrototype : An authentication method for this VPN server. +// Models which "extend" this model: +// - VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype +// - VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype +type VPNServerAuthenticationPrototype struct { + // The type of authentication. + Method *string `json:"method" validate:"required"` + + // The type of identity provider to be used by VPN client. + IdentityProvider VPNServerAuthenticationByUsernameIDProviderIntf `json:"identity_provider,omitempty"` + + // The certificate instance to use for the VPN client certificate authority (CA). + ClientCa CertificateInstanceIdentityIntf `json:"client_ca,omitempty"` + + // The certificate revocation list contents, encoded in PEM format. + Crl *string `json:"crl,omitempty"` +} + +// Constants associated with the VPNServerAuthenticationPrototype.Method property. +// The type of authentication. +const ( + VPNServerAuthenticationPrototypeMethodCertificateConst = "certificate" + VPNServerAuthenticationPrototypeMethodUsernameConst = "username" +) + +func (*VPNServerAuthenticationPrototype) isaVPNServerAuthenticationPrototype() bool { + return true +} + +type VPNServerAuthenticationPrototypeIntf interface { + isaVPNServerAuthenticationPrototype() bool + asPatch() map[string]interface{} +} + +// UnmarshalVPNServerAuthenticationPrototype unmarshals an instance of VPNServerAuthenticationPrototype from the specified map of raw messages. +func UnmarshalVPNServerAuthenticationPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + // Retrieve discriminator value to determine correct "subclass". + var discValue string + err = core.UnmarshalPrimitive(m, "method", &discValue) + if err != nil { + errMsg := fmt.Sprintf("error unmarshalling discriminator property 'method': %s", err.Error()) + err = core.SDKErrorf(err, errMsg, "discriminator-unmarshal-error", common.GetComponentInfo()) + return + } + if discValue == "" { + err = core.SDKErrorf(err, "required discriminator property 'method' not found in JSON object", "missing-discriminator", common.GetComponentInfo()) + return + } + if discValue == "certificate" { + err = core.UnmarshalModel(m, "", result, UnmarshalVPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype-error", common.GetComponentInfo()) + } + } else if discValue == "username" { + err = core.UnmarshalModel(m, "", result, UnmarshalVPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype-error", common.GetComponentInfo()) + } + } else { + errMsg := fmt.Sprintf("unrecognized value for discriminator property 'method': %s", discValue) + err = core.SDKErrorf(err, errMsg, "invalid-discriminator", common.GetComponentInfo()) + } + return +} + +// asPatch returns a generic map representation of the VPNServerAuthenticationPrototype +func (vpnServerAuthenticationPrototype *VPNServerAuthenticationPrototype) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnServerAuthenticationPrototype.Method) { + _patch["method"] = vpnServerAuthenticationPrototype.Method + } + if !core.IsNil(vpnServerAuthenticationPrototype.IdentityProvider) { + _patch["identity_provider"] = vpnServerAuthenticationPrototype.IdentityProvider.asPatch() + } + if !core.IsNil(vpnServerAuthenticationPrototype.ClientCa) { + _patch["client_ca"] = vpnServerAuthenticationPrototype.ClientCa.asPatch() + } + if !core.IsNil(vpnServerAuthenticationPrototype.Crl) { + _patch["crl"] = vpnServerAuthenticationPrototype.Crl + } + + return +} + +// VPNServerClient : VPNServerClient struct +type VPNServerClient struct { + // The IP address assigned to this VPN client from `client_ip_pool`. + ClientIP *IP `json:"client_ip" validate:"required"` + + // The common name of client certificate that the VPN client provided when connecting to the server. + // + // This property will be present only when the `certificate` client authentication method is enabled on the VPN server. + CommonName *string `json:"common_name,omitempty"` + + // The date and time that the VPN client was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The date and time that the VPN client was disconnected. + // + // This property will be present only when the client `status` is `disconnected`. + DisconnectedAt *strfmt.DateTime `json:"disconnected_at,omitempty"` + + // The URL for this VPN client. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN client. + ID *string `json:"id" validate:"required"` + + // The remote IP address of this VPN client. + RemoteIP *IP `json:"remote_ip" validate:"required"` + + // The remote port of this VPN client. + RemotePort *int64 `json:"remote_port" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of the VPN client: + // - `connected`: the VPN client is `connected` to this VPN server. + // - `disconnected`: the VPN client is `disconnected` from this VPN server. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The username that this VPN client provided when connecting to the VPN server. + // + // This property will be present only when the `username` client authentication method is enabled on the VPN server. + Username *string `json:"username,omitempty"` +} + +// Constants associated with the VPNServerClient.ResourceType property. +// The resource type. +const ( + VPNServerClientResourceTypeVPNServerClientConst = "vpn_server_client" +) + +// Constants associated with the VPNServerClient.Status property. +// The status of the VPN client: +// - `connected`: the VPN client is `connected` to this VPN server. +// - `disconnected`: the VPN client is `disconnected` from this VPN server. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerClientStatusConnectedConst = "connected" + VPNServerClientStatusDisconnectedConst = "disconnected" +) + +// UnmarshalVPNServerClient unmarshals an instance of VPNServerClient from the specified map of raw messages. +func UnmarshalVPNServerClient(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerClient) + err = core.UnmarshalModel(m, "client_ip", &obj.ClientIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "client_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "common_name", &obj.CommonName) + if err != nil { + err = core.SDKErrorf(err, "", "common_name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "disconnected_at", &obj.DisconnectedAt) + if err != nil { + err = core.SDKErrorf(err, "", "disconnected_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote_ip", &obj.RemoteIP, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "remote_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "remote_port", &obj.RemotePort) + if err != nil { + err = core.SDKErrorf(err, "", "remote_port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "username", &obj.Username) + if err != nil { + err = core.SDKErrorf(err, "", "username-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerClientCollection : VPNServerClientCollection struct +type VPNServerClientCollection struct { + // A page of clients of the VPN server. + Clients []VPNServerClient `json:"clients" validate:"required"` + + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalVPNServerClientCollection unmarshals an instance of VPNServerClientCollection from the specified map of raw messages. +func UnmarshalVPNServerClientCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerClientCollection) + err = core.UnmarshalModel(m, "clients", &obj.Clients, UnmarshalVPNServerClient) + if err != nil { + err = core.SDKErrorf(err, "", "clients-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VPNServerClientCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VPNServerCollection : VPNServerCollection struct +type VPNServerCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` + + // A page of VPN servers. + VPNServers []VPNServer `json:"vpn_servers" validate:"required"` +} + +// UnmarshalVPNServerCollection unmarshals an instance of VPNServerCollection from the specified map of raw messages. +func UnmarshalVPNServerCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpn_servers", &obj.VPNServers, UnmarshalVPNServer) + if err != nil { + err = core.SDKErrorf(err, "", "vpn_servers-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VPNServerCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VPNServerHealthReason : VPNServerHealthReason struct +type VPNServerHealthReason struct { + // A reason code for this health state: + // - `cannot_access_client_certificate`: VPN server's client certificate is inaccessible + // (verify certificate exists and that IAM policies grant `VPN server for VPC` access + // to `Secrets Manager`) + // - `cannot_access_server_certificate`: VPN server's server certificate is inaccessible + // (verify certificate exists and that IAM policies grant `VPN server for VPC` access + // to `Secrets Manager`) + // - `cannot_create_vpc_route`: VPN cannot create route (check for conflict) + // - `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's + // subnet) + // - `internal_error`: Internal error (contact IBM support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNServerHealthReason.Code property. +// A reason code for this health state: +// - `cannot_access_client_certificate`: VPN server's client certificate is inaccessible +// (verify certificate exists and that IAM policies grant `VPN server for VPC` access +// to `Secrets Manager`) +// - `cannot_access_server_certificate`: VPN server's server certificate is inaccessible +// (verify certificate exists and that IAM policies grant `VPN server for VPC` access +// to `Secrets Manager`) +// - `cannot_create_vpc_route`: VPN cannot create route (check for conflict) +// - `cannot_reserve_ip_address`: IP address exhaustion (release addresses on the VPN's +// subnet) +// - `internal_error`: Internal error (contact IBM support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerHealthReasonCodeCannotAccessClientCertificateConst = "cannot_access_client_certificate" + VPNServerHealthReasonCodeCannotAccessServerCertificateConst = "cannot_access_server_certificate" + VPNServerHealthReasonCodeCannotCreateVPCRouteConst = "cannot_create_vpc_route" + VPNServerHealthReasonCodeCannotReserveIPAddressConst = "cannot_reserve_ip_address" + VPNServerHealthReasonCodeInternalErrorConst = "internal_error" +) + +// UnmarshalVPNServerHealthReason unmarshals an instance of VPNServerHealthReason from the specified map of raw messages. +func UnmarshalVPNServerHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerLifecycleReason : VPNServerLifecycleReason struct +type VPNServerLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNServerLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerLifecycleReasonCodeInternalErrorConst = "internal_error" + VPNServerLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalVPNServerLifecycleReason unmarshals an instance of VPNServerLifecycleReason from the specified map of raw messages. +func UnmarshalVPNServerLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerPatch : VPNServerPatch struct +type VPNServerPatch struct { + // The certificate instance for this VPN server. + Certificate CertificateInstanceIdentityIntf `json:"certificate,omitempty"` + + // The authentication methods to use to authenticate VPN client on this VPN server + // (replacing any existing methods). + ClientAuthentication []VPNServerAuthenticationPrototypeIntf `json:"client_authentication,omitempty"` + + // The DNS server addresses that will be provided to VPN clients connected to this VPN server (replacing any existing + // addresses). + ClientDnsServerIps []IP `json:"client_dns_server_ips,omitempty"` + + // The seconds a VPN client can be idle before this VPN server will disconnect it. If `0`, the server will not + // disconnect idle clients. + ClientIdleTimeout *int64 `json:"client_idle_timeout,omitempty"` + + // The VPN client IPv4 address pool, expressed in CIDR format. The request must not overlap with any existing address + // prefixes in the VPC or any of the following reserved address ranges: + // - `127.0.0.0/8` (IPv4 loopback addresses) + // - `161.26.0.0/16` (IBM services) + // - `166.8.0.0/14` (Cloud Service Endpoints) + // - `169.254.0.0/16` (IPv4 link-local addresses) + // - `224.0.0.0/4` (IPv4 multicast addresses) + // + // The prefix length of the client IP address pool's CIDR must be between + // `/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR block that contains twice the number of IP addresses + // that are required to enable the maximum number of concurrent connections is recommended. + ClientIPPool *string `json:"client_ip_pool,omitempty"` + + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling *bool `json:"enable_split_tunneling,omitempty"` + + // The name for this VPN server. The name must not be used by another VPN server in the VPC. + Name *string `json:"name,omitempty"` + + // The port number used by this VPN server. + Port *int64 `json:"port,omitempty"` + + // The transport protocol to use for this VPN server. + Protocol *string `json:"protocol,omitempty"` + + // The subnets to provision this VPN server in (replacing the existing subnets). + Subnets []SubnetIdentityIntf `json:"subnets,omitempty"` +} + +// Constants associated with the VPNServerPatch.Protocol property. +// The transport protocol to use for this VPN server. +const ( + VPNServerPatchProtocolTCPConst = "tcp" + VPNServerPatchProtocolUDPConst = "udp" +) + +// UnmarshalVPNServerPatch unmarshals an instance of VPNServerPatch from the specified map of raw messages. +func UnmarshalVPNServerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerPatch) + err = core.UnmarshalModel(m, "certificate", &obj.Certificate, UnmarshalCertificateInstanceIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "certificate-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "client_authentication", &obj.ClientAuthentication, UnmarshalVPNServerAuthenticationPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "client_authentication-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "client_dns_server_ips", &obj.ClientDnsServerIps, UnmarshalIP) + if err != nil { + err = core.SDKErrorf(err, "", "client_dns_server_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "client_idle_timeout", &obj.ClientIdleTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "client_idle_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "client_ip_pool", &obj.ClientIPPool) + if err != nil { + err = core.SDKErrorf(err, "", "client_ip_pool-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_split_tunneling", &obj.EnableSplitTunneling) + if err != nil { + err = core.SDKErrorf(err, "", "enable_split_tunneling-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnets", &obj.Subnets, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnets-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VPNServerPatch +func (vpnServerPatch *VPNServerPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnServerPatch.Certificate) { + _patch["certificate"] = vpnServerPatch.Certificate.asPatch() + } + if !core.IsNil(vpnServerPatch.ClientAuthentication) { + var clientAuthenticationPatches []map[string]interface{} + for _, clientAuthentication := range vpnServerPatch.ClientAuthentication { + clientAuthenticationPatches = append(clientAuthenticationPatches, clientAuthentication.asPatch()) + } + _patch["client_authentication"] = clientAuthenticationPatches + } + if !core.IsNil(vpnServerPatch.ClientDnsServerIps) { + var clientDnsServerIpsPatches []map[string]interface{} + for _, clientDnsServerIps := range vpnServerPatch.ClientDnsServerIps { + clientDnsServerIpsPatches = append(clientDnsServerIpsPatches, clientDnsServerIps.asPatch()) + } + _patch["client_dns_server_ips"] = clientDnsServerIpsPatches + } + if !core.IsNil(vpnServerPatch.ClientIdleTimeout) { + _patch["client_idle_timeout"] = vpnServerPatch.ClientIdleTimeout + } + if !core.IsNil(vpnServerPatch.ClientIPPool) { + _patch["client_ip_pool"] = vpnServerPatch.ClientIPPool + } + if !core.IsNil(vpnServerPatch.EnableSplitTunneling) { + _patch["enable_split_tunneling"] = vpnServerPatch.EnableSplitTunneling + } + if !core.IsNil(vpnServerPatch.Name) { + _patch["name"] = vpnServerPatch.Name + } + if !core.IsNil(vpnServerPatch.Port) { + _patch["port"] = vpnServerPatch.Port + } + if !core.IsNil(vpnServerPatch.Protocol) { + _patch["protocol"] = vpnServerPatch.Protocol + } + if !core.IsNil(vpnServerPatch.Subnets) { + var subnetsPatches []map[string]interface{} + for _, subnets := range vpnServerPatch.Subnets { + subnetsPatches = append(subnetsPatches, subnets.asPatch()) + } + _patch["subnets"] = subnetsPatches + } + + return +} + +// VPNServerRoute : VPNServerRoute struct +type VPNServerRoute struct { + // The action to perform with a packet matching the VPN route: + // - `translate`: translate the source IP address to one of the private IP addresses of + // the VPN server, then deliver the packet to target. + // - `deliver`: deliver the packet into the VPC. + // - `drop`: drop the packet + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action *string `json:"action" validate:"required"` + + // The date and time that the VPN route was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination for this VPN route in the VPN server. If an incoming packet does not match any destination, it will + // be dropped. + Destination *string `json:"destination" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []VPNServerRouteHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this VPN route. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN route. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []VPNServerRouteLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the VPN route. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this VPN route. The name is unique across all routes for a VPN server. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VPNServerRoute.Action property. +// The action to perform with a packet matching the VPN route: +// - `translate`: translate the source IP address to one of the private IP addresses of +// the VPN server, then deliver the packet to target. +// - `deliver`: deliver the packet into the VPC. +// - `drop`: drop the packet +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerRouteActionDeliverConst = "deliver" + VPNServerRouteActionDropConst = "drop" + VPNServerRouteActionTranslateConst = "translate" +) + +// Constants associated with the VPNServerRoute.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VPNServerRouteHealthStateDegradedConst = "degraded" + VPNServerRouteHealthStateFaultedConst = "faulted" + VPNServerRouteHealthStateInapplicableConst = "inapplicable" + VPNServerRouteHealthStateOkConst = "ok" +) + +// Constants associated with the VPNServerRoute.LifecycleState property. +// The lifecycle state of the VPN route. +const ( + VPNServerRouteLifecycleStateDeletingConst = "deleting" + VPNServerRouteLifecycleStateFailedConst = "failed" + VPNServerRouteLifecycleStatePendingConst = "pending" + VPNServerRouteLifecycleStateStableConst = "stable" + VPNServerRouteLifecycleStateSuspendedConst = "suspended" + VPNServerRouteLifecycleStateUpdatingConst = "updating" + VPNServerRouteLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VPNServerRoute.ResourceType property. +// The resource type. +const ( + VPNServerRouteResourceTypeVPNServerRouteConst = "vpn_server_route" +) + +// UnmarshalVPNServerRoute unmarshals an instance of VPNServerRoute from the specified map of raw messages. +func UnmarshalVPNServerRoute(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerRoute) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVPNServerRouteHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalVPNServerRouteLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerRouteCollection : VPNServerRouteCollection struct +type VPNServerRouteCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of routes for the VPN server. + Routes []VPNServerRoute `json:"routes" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalVPNServerRouteCollection unmarshals an instance of VPNServerRouteCollection from the specified map of raw messages. +func UnmarshalVPNServerRouteCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerRouteCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routes", &obj.Routes, UnmarshalVPNServerRoute) + if err != nil { + err = core.SDKErrorf(err, "", "routes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VPNServerRouteCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VPNServerRouteHealthReason : VPNServerRouteHealthReason struct +type VPNServerRouteHealthReason struct { + // A reason code for this health state: + // - `internal_error`: Internal error (contact IBM support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNServerRouteHealthReason.Code property. +// A reason code for this health state: +// - `internal_error`: Internal error (contact IBM support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerRouteHealthReasonCodeInternalErrorConst = "internal_error" +) + +// UnmarshalVPNServerRouteHealthReason unmarshals an instance of VPNServerRouteHealthReason from the specified map of raw messages. +func UnmarshalVPNServerRouteHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerRouteHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerRouteLifecycleReason : VPNServerRouteLifecycleReason struct +type VPNServerRouteLifecycleReason struct { + // A reason code for this lifecycle state: + // - `internal_error`: internal error (contact IBM support) + // - `resource_suspended_by_provider`: The resource has been suspended (contact IBM + // support) + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this lifecycle state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this lifecycle state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VPNServerRouteLifecycleReason.Code property. +// A reason code for this lifecycle state: +// - `internal_error`: internal error (contact IBM support) +// - `resource_suspended_by_provider`: The resource has been suspended (contact IBM +// support) +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerRouteLifecycleReasonCodeInternalErrorConst = "internal_error" + VPNServerRouteLifecycleReasonCodeResourceSuspendedByProviderConst = "resource_suspended_by_provider" +) + +// UnmarshalVPNServerRouteLifecycleReason unmarshals an instance of VPNServerRouteLifecycleReason from the specified map of raw messages. +func UnmarshalVPNServerRouteLifecycleReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerRouteLifecycleReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerRoutePatch : VPNServerRoutePatch struct +type VPNServerRoutePatch struct { + // The name for this VPN server route. The name must not be used by another route for the VPN server. + Name *string `json:"name,omitempty"` +} + +// UnmarshalVPNServerRoutePatch unmarshals an instance of VPNServerRoutePatch from the specified map of raw messages. +func UnmarshalVPNServerRoutePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerRoutePatch) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VPNServerRoutePatch +func (vpnServerRoutePatch *VPNServerRoutePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnServerRoutePatch.Name) { + _patch["name"] = vpnServerRoutePatch.Name + } + + return +} + +// VirtualNetworkInterface : VirtualNetworkInterface struct +type VirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on + // this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing" validate:"required"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // The date and time that the virtual network interface was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat" validate:"required"` + + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` + + // The reserved IPs bound to this virtual network interface. + // + // May be empty when `lifecycle_state` is `pending`. + Ips []ReservedIPReference `json:"ips" validate:"required"` + + // The lifecycle state of the virtual network interface. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The MAC address of the virtual network interface. May be absent if `lifecycle_state` is `pending`. + MacAddress *string `json:"mac_address,omitempty"` + + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `json:"name" validate:"required"` + + // The reserved IP for this virtual network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The protocol state filtering mode used for this virtual network interface. If `auto`, protocol state packet + // filtering is enabled or disabled based on the virtual network interface's `target` resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering)) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode" validate:"required"` + + // The resource group for this virtual network interface. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The security groups for this virtual network interface. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The target of this virtual network interface. + // + // If absent, this virtual network interface is not attached to a target. + Target VirtualNetworkInterfaceTargetIntf `json:"target,omitempty"` + + // The VPC this virtual network interface resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The zone this virtual network interface resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the VirtualNetworkInterface.LifecycleState property. +// The lifecycle state of the virtual network interface. +const ( + VirtualNetworkInterfaceLifecycleStateDeletingConst = "deleting" + VirtualNetworkInterfaceLifecycleStateFailedConst = "failed" + VirtualNetworkInterfaceLifecycleStatePendingConst = "pending" + VirtualNetworkInterfaceLifecycleStateStableConst = "stable" + VirtualNetworkInterfaceLifecycleStateSuspendedConst = "suspended" + VirtualNetworkInterfaceLifecycleStateUpdatingConst = "updating" + VirtualNetworkInterfaceLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VirtualNetworkInterface.ProtocolStateFilteringMode property. +// The protocol state filtering mode used for this virtual network interface. If `auto`, protocol state packet filtering +// is enabled or disabled based on the virtual network interface's `target` resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering)) for more information. +const ( + VirtualNetworkInterfaceProtocolStateFilteringModeAutoConst = "auto" + VirtualNetworkInterfaceProtocolStateFilteringModeDisabledConst = "disabled" + VirtualNetworkInterfaceProtocolStateFilteringModeEnabledConst = "enabled" +) + +// Constants associated with the VirtualNetworkInterface.ResourceType property. +// The resource type. +const ( + VirtualNetworkInterfaceResourceTypeVirtualNetworkInterfaceConst = "virtual_network_interface" +) + +// UnmarshalVirtualNetworkInterface unmarshals an instance of VirtualNetworkInterface from the specified map of raw messages. +func UnmarshalVirtualNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterface) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mac_address", &obj.MacAddress) + if err != nil { + err = core.SDKErrorf(err, "", "mac_address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state_filtering_mode", &obj.ProtocolStateFilteringMode) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state_filtering_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalVirtualNetworkInterfaceTarget) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceCollection : VirtualNetworkInterfaceCollection struct +type VirtualNetworkInterfaceCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` + + // A page of virtual network interfaces. + VirtualNetworkInterfaces []VirtualNetworkInterface `json:"virtual_network_interfaces" validate:"required"` +} + +// UnmarshalVirtualNetworkInterfaceCollection unmarshals an instance of VirtualNetworkInterfaceCollection from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interfaces", &obj.VirtualNetworkInterfaces, UnmarshalVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interfaces-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VirtualNetworkInterfaceCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VirtualNetworkInterfaceIPPrototype : VirtualNetworkInterfaceIPPrototype struct +// Models which "extend" this model: +// - VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext +// - VirtualNetworkInterfaceIPPrototypeReservedIPPrototypeVirtualNetworkInterfaceIPsContext +type VirtualNetworkInterfaceIPPrototype struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` + + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` +} + +func (*VirtualNetworkInterfaceIPPrototype) isaVirtualNetworkInterfaceIPPrototype() bool { + return true +} + +type VirtualNetworkInterfaceIPPrototypeIntf interface { + isaVirtualNetworkInterfaceIPPrototype() bool +} + +// UnmarshalVirtualNetworkInterfaceIPPrototype unmarshals an instance of VirtualNetworkInterfaceIPPrototype from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceIPPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceIPPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfacePatch : VirtualNetworkInterfacePatch struct +type VirtualNetworkInterfacePatch struct { + // Indicates whether source IP spoofing is allowed on this interface. + // + // Must be `false` if `target` is a file share mount target. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. Must be `false` if the virtual network interface is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The name for this virtual network interface. The name must not be used by another virtual network interface in the + // region. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // The protocol state filtering mode to use for this virtual network interface. If + // `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` + // resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Must not be `disabled` if the virtual network interface's `target` resource type is + // `share_mount_target`. + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode,omitempty"` +} + +// Constants associated with the VirtualNetworkInterfacePatch.ProtocolStateFilteringMode property. +// The protocol state filtering mode to use for this virtual network interface. If +// `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` +// resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Must not be `disabled` if the virtual network interface's `target` resource type is +// `share_mount_target`. +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. +const ( + VirtualNetworkInterfacePatchProtocolStateFilteringModeAutoConst = "auto" + VirtualNetworkInterfacePatchProtocolStateFilteringModeDisabledConst = "disabled" + VirtualNetworkInterfacePatchProtocolStateFilteringModeEnabledConst = "enabled" +) + +// UnmarshalVirtualNetworkInterfacePatch unmarshals an instance of VirtualNetworkInterfacePatch from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfacePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfacePatch) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state_filtering_mode", &obj.ProtocolStateFilteringMode) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state_filtering_mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VirtualNetworkInterfacePatch +func (virtualNetworkInterfacePatch *VirtualNetworkInterfacePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(virtualNetworkInterfacePatch.AllowIPSpoofing) { + _patch["allow_ip_spoofing"] = virtualNetworkInterfacePatch.AllowIPSpoofing + } + if !core.IsNil(virtualNetworkInterfacePatch.AutoDelete) { + _patch["auto_delete"] = virtualNetworkInterfacePatch.AutoDelete + } + if !core.IsNil(virtualNetworkInterfacePatch.EnableInfrastructureNat) { + _patch["enable_infrastructure_nat"] = virtualNetworkInterfacePatch.EnableInfrastructureNat + } + if !core.IsNil(virtualNetworkInterfacePatch.Name) { + _patch["name"] = virtualNetworkInterfacePatch.Name + } + if !core.IsNil(virtualNetworkInterfacePatch.ProtocolStateFilteringMode) { + _patch["protocol_state_filtering_mode"] = virtualNetworkInterfacePatch.ProtocolStateFilteringMode + } + + return +} + +// VirtualNetworkInterfacePrimaryIPPrototype : VirtualNetworkInterfacePrimaryIPPrototype struct +// Models which "extend" this model: +// - VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext +// - VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext +type VirtualNetworkInterfacePrimaryIPPrototype struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` + + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` +} + +func (*VirtualNetworkInterfacePrimaryIPPrototype) isaVirtualNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +type VirtualNetworkInterfacePrimaryIPPrototypeIntf interface { + isaVirtualNetworkInterfacePrimaryIPPrototype() bool +} + +// UnmarshalVirtualNetworkInterfacePrimaryIPPrototype unmarshals an instance of VirtualNetworkInterfacePrimaryIPPrototype from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfacePrimaryIPPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfacePrimaryIPPrototype) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceReferenceAttachmentContext : VirtualNetworkInterfaceReferenceAttachmentContext struct +type VirtualNetworkInterfaceReferenceAttachmentContext struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` + + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` + + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VirtualNetworkInterfaceReferenceAttachmentContext.ResourceType property. +// The resource type. +const ( + VirtualNetworkInterfaceReferenceAttachmentContextResourceTypeVirtualNetworkInterfaceConst = "virtual_network_interface" +) + +// UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext unmarshals an instance of VirtualNetworkInterfaceReferenceAttachmentContext from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceReferenceAttachmentContext) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceTarget : A virtual network interface target. +// +// The resources supported by this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +// Models which "extend" this model: +// - VirtualNetworkInterfaceTargetShareMountTargetReference +// - VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext +// - VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext +type VirtualNetworkInterfaceTarget struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this share mount target. + Href *string `json:"href,omitempty"` + + // The unique identifier for this share mount target. + ID *string `json:"id,omitempty"` + + // The name for this share mount target. The name is unique across all mount targets for the file share. + Name *string `json:"name,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type,omitempty"` +} + +// Constants associated with the VirtualNetworkInterfaceTarget.ResourceType property. +// The resource type. +const ( + VirtualNetworkInterfaceTargetResourceTypeShareMountTargetConst = "share_mount_target" +) + +func (*VirtualNetworkInterfaceTarget) isaVirtualNetworkInterfaceTarget() bool { + return true +} + +type VirtualNetworkInterfaceTargetIntf interface { + isaVirtualNetworkInterfaceTarget() bool +} + +// UnmarshalVirtualNetworkInterfaceTarget unmarshals an instance of VirtualNetworkInterfaceTarget from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceTarget) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Volume : Volume struct +type Volume struct { + // Indicates whether a running virtual server instance has an attachment to this volume. + Active *bool `json:"active" validate:"required"` + + // The attachment states that support adjustable capacity for this volume. + AdjustableCapacityStates []string `json:"adjustable_capacity_states" validate:"required"` + + // The attachment states that support adjustable IOPS for this volume. + AdjustableIopsStates []string `json:"adjustable_iops_states" validate:"required"` + + // The usage constraints to be matched against the requested instance or bare metal server + // properties to determine compatibility. + // + // Only present for boot volumes. + AllowedUse *VolumeAllowedUse `json:"allowed_use,omitempty"` + + // The attachment state of the volume + // - `unattached`: Not attached to any virtual server instances + // - `attached`: Attached to a virtual server instance (even if the instance is stopped) + // - `unusable`: Not able to be attached to any virtual server instances. + AttachmentState *string `json:"attachment_state" validate:"required"` + + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, the [bandwidth is + // calculated](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-bandwidth#attached-block-vol-bandwidth) from the + // `iops` value. + // + // The minimum and maximum limits for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Bandwidth *int64 `json:"bandwidth" validate:"required"` + + // Indicates whether this volume is performing an operation that must be serialized. This must be `false` to perform an + // operation that is specified to require serialization. + Busy *bool `json:"busy" validate:"required"` + + // The capacity to use for the volume (in gigabytes). + // + // The minimum and maximum limits for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Capacity *int64 `json:"capacity" validate:"required"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering this volume was created from. If a virtual server instance is provisioned + // with a `boot_volume_attachment` specifying this volume, the virtual server instance + // will use this volume's catalog offering, including its pricing plan. + // + // If absent, this volume was not created from a catalog offering. + CatalogOffering *VolumeCatalogOffering `json:"catalog_offering,omitempty"` + + // The date and time that the volume was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this volume. + CRN *string `json:"crn" validate:"required"` + + // The type of encryption used on the volume. + Encryption *string `json:"encryption" validate:"required"` + + // The root key used to wrap the data encryption key for the volume. + // + // This property will be present for volumes with an `encryption` type of + // `user_managed`. + EncryptionKey *EncryptionKeyReference `json:"encryption_key,omitempty"` + + // The reasons for the current `health_state` (if any). + HealthReasons []VolumeHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this volume. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this volume. + ID *string `json:"id" validate:"required"` + + // The maximum I/O operations per second (IOPS) for this volume. + Iops *int64 `json:"iops" validate:"required"` + + // The name for this volume. The name is unique across all volumes in the region. + Name *string `json:"name" validate:"required"` + + // The operating system associated with this volume. If absent, this volume was not + // created from an image, or the image did not include an operating system. + OperatingSystem *OperatingSystem `json:"operating_system,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for + // this volume. + Profile *VolumeProfileReference `json:"profile" validate:"required"` + + // The resource group for this volume. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The image from which this volume was created (this may be + // [deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + // If absent, this volume was not created from an image. + SourceImage *ImageReference `json:"source_image,omitempty"` + + // The snapshot from which this volume was cloned. + SourceSnapshot *SnapshotReference `json:"source_snapshot,omitempty"` + + // The status of the volume. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The reasons for the current status (if any). + StatusReasons []VolumeStatusReason `json:"status_reasons" validate:"required"` + + // The [storage + // generation](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api#using-api-iops-profiles): + // - `1`: The first storage generation + // - `2`: The second storage generation + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + StorageGeneration *int64 `json:"storage_generation" validate:"required"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags" validate:"required"` + + // The volume attachments for this volume. + VolumeAttachments []VolumeAttachmentReferenceVolumeContext `json:"volume_attachments" validate:"required"` + + // The zone this volume resides in. + Zone *ZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the Volume.AdjustableCapacityStates property. +// The attachment state of the volume +// - `unattached`: Not attached to any virtual server instances +// - `attached`: Attached to a virtual server instance (even if the instance is stopped) +// - `unusable`: Not able to be attached to any virtual server instances. +const ( + VolumeAdjustableCapacityStatesAttachedConst = "attached" + VolumeAdjustableCapacityStatesUnattachedConst = "unattached" + VolumeAdjustableCapacityStatesUnusableConst = "unusable" +) + +// Constants associated with the Volume.AdjustableIopsStates property. +// The attachment state of the volume +// - `unattached`: Not attached to any virtual server instances +// - `attached`: Attached to a virtual server instance (even if the instance is stopped) +// - `unusable`: Not able to be attached to any virtual server instances. +const ( + VolumeAdjustableIopsStatesAttachedConst = "attached" + VolumeAdjustableIopsStatesUnattachedConst = "unattached" + VolumeAdjustableIopsStatesUnusableConst = "unusable" +) + +// Constants associated with the Volume.AttachmentState property. +// The attachment state of the volume +// - `unattached`: Not attached to any virtual server instances +// - `attached`: Attached to a virtual server instance (even if the instance is stopped) +// - `unusable`: Not able to be attached to any virtual server instances. +const ( + VolumeAttachmentStateAttachedConst = "attached" + VolumeAttachmentStateUnattachedConst = "unattached" + VolumeAttachmentStateUnusableConst = "unusable" +) + +// Constants associated with the Volume.Encryption property. +// The type of encryption used on the volume. +const ( + VolumeEncryptionProviderManagedConst = "provider_managed" + VolumeEncryptionUserManagedConst = "user_managed" +) + +// Constants associated with the Volume.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VolumeHealthStateDegradedConst = "degraded" + VolumeHealthStateFaultedConst = "faulted" + VolumeHealthStateInapplicableConst = "inapplicable" + VolumeHealthStateOkConst = "ok" +) + +// Constants associated with the Volume.ResourceType property. +// The resource type. +const ( + VolumeResourceTypeVolumeConst = "volume" +) + +// Constants associated with the Volume.Status property. +// The status of the volume. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VolumeStatusAvailableConst = "available" + VolumeStatusFailedConst = "failed" + VolumeStatusPendingConst = "pending" + VolumeStatusPendingDeletionConst = "pending_deletion" + VolumeStatusUnusableConst = "unusable" + VolumeStatusUpdatingConst = "updating" +) + +// UnmarshalVolume unmarshals an instance of Volume from the specified map of raw messages. +func UnmarshalVolume(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Volume) + err = core.UnmarshalPrimitive(m, "active", &obj.Active) + if err != nil { + err = core.SDKErrorf(err, "", "active-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "adjustable_capacity_states", &obj.AdjustableCapacityStates) + if err != nil { + err = core.SDKErrorf(err, "", "adjustable_capacity_states-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "adjustable_iops_states", &obj.AdjustableIopsStates) + if err != nil { + err = core.SDKErrorf(err, "", "adjustable_iops_states-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUse) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "attachment_state", &obj.AttachmentState) + if err != nil { + err = core.SDKErrorf(err, "", "attachment_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "busy", &obj.Busy) + if err != nil { + err = core.SDKErrorf(err, "", "busy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalVolumeCatalogOffering) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encryption", &obj.Encryption) + if err != nil { + err = core.SDKErrorf(err, "", "encryption-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVolumeHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "operating_system", &obj.OperatingSystem, UnmarshalOperatingSystem) + if err != nil { + err = core.SDKErrorf(err, "", "operating_system-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_image", &obj.SourceImage, UnmarshalImageReference) + if err != nil { + err = core.SDKErrorf(err, "", "source_image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotReference) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalVolumeStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "storage_generation", &obj.StorageGeneration) + if err != nil { + err = core.SDKErrorf(err, "", "storage_generation-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentReferenceVolumeContext) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAllowedUse : VolumeAllowedUse struct +type VolumeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `json:"api_version" validate:"required"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in + // this volume. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server" validate:"required"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance" validate:"required"` +} + +// UnmarshalVolumeAllowedUse unmarshals an instance of VolumeAllowedUse from the specified map of raw messages. +func UnmarshalVolumeAllowedUse(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAllowedUse) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAllowedUsePatch : VolumeAllowedUsePatch struct +type VolumeAllowedUsePatch struct { + // The API version with which to evaluate the expressions. + // + // If specified, the value must be between `2019-01-01` and today's date (in UTC). + ApiVersion *string `json:"api_version,omitempty"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in + // this volume. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server,omitempty"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance,omitempty"` +} + +// UnmarshalVolumeAllowedUsePatch unmarshals an instance of VolumeAllowedUsePatch from the specified map of raw messages. +func UnmarshalVolumeAllowedUsePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAllowedUsePatch) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VolumeAllowedUsePatch +func (volumeAllowedUsePatch *VolumeAllowedUsePatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(volumeAllowedUsePatch.ApiVersion) { + _patch["api_version"] = volumeAllowedUsePatch.ApiVersion + } + if !core.IsNil(volumeAllowedUsePatch.BareMetalServer) { + _patch["bare_metal_server"] = volumeAllowedUsePatch.BareMetalServer + } + if !core.IsNil(volumeAllowedUsePatch.Instance) { + _patch["instance"] = volumeAllowedUsePatch.Instance + } + + return +} + +// VolumeAllowedUsePrototype : VolumeAllowedUsePrototype struct +type VolumeAllowedUsePrototype struct { + // The API version with which to evaluate the expressions. + // + // If specified, the value must be between `2019-01-01` and today's date (in UTC). If unspecified, the `version` query + // parameter value will be used. + ApiVersion *string `json:"api_version,omitempty"` + + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in + // this volume. + // + // If unspecified, the expression will be set to `true`. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variable is supported, corresponding + // to the `BareMetalServer` property: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled. + BareMetalServer *string `json:"bare_metal_server,omitempty"` + + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + // + // If unspecified, the expression will be set to `true`. + // + // The expression follows [Common Expression Language](https://github.com/google/cel-spec/blob/master/doc/langdef.md), + // but does not support built-in functions and macros. In addition, the following variables are supported, + // corresponding to `Instance` properties: + // - `enable_secure_boot` (boolean): Indicates whether secure boot is enabled + // - `gpu.count` (integer): The number of GPUs + // - `gpu.manufacturer` (string): The GPU manufacturer + // - `gpu.memory` (integer): The overall amount of GPU memory in GiB (gibibytes) + // - `gpu.model` (string): The GPU model. + Instance *string `json:"instance,omitempty"` +} + +// UnmarshalVolumeAllowedUsePrototype unmarshals an instance of VolumeAllowedUsePrototype from the specified map of raw messages. +func UnmarshalVolumeAllowedUsePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAllowedUsePrototype) + err = core.UnmarshalPrimitive(m, "api_version", &obj.ApiVersion) + if err != nil { + err = core.SDKErrorf(err, "", "api_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bare_metal_server", &obj.BareMetalServer) + if err != nil { + err = core.SDKErrorf(err, "", "bare_metal_server-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "instance", &obj.Instance) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachment : VolumeAttachment struct +type VolumeAttachment struct { + // The maximum bandwidth (in megabits per second) for the volume when attached to this instance. This may be lower than + // the volume bandwidth depending on the configuration of the instance. + Bandwidth *int64 `json:"bandwidth" validate:"required"` + + // The date and time that the volume was attached. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // Indicates whether deleting the instance will also delete the attached volume. + DeleteVolumeOnInstanceDelete *bool `json:"delete_volume_on_instance_delete" validate:"required"` + + // The configuration for the volume as a device in the instance operating system. + // + // This property may be absent if the volume attachment's `status` is not `attached`. + Device *VolumeAttachmentDevice `json:"device,omitempty"` + + // The URL for this volume attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this volume attachment. + ID *string `json:"id" validate:"required"` + + // The name for this volume attachment. The name is unique across all volume attachments on the instance. + Name *string `json:"name" validate:"required"` + + // The status of this volume attachment. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The type of volume attachment. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The attached volume. + // + // This property will be absent if the volume has not yet been provisioned. + Volume *VolumeReferenceVolumeAttachmentContext `json:"volume,omitempty"` +} + +// Constants associated with the VolumeAttachment.Status property. +// The status of this volume attachment. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VolumeAttachmentStatusAttachedConst = "attached" + VolumeAttachmentStatusAttachingConst = "attaching" + VolumeAttachmentStatusDeletingConst = "deleting" + VolumeAttachmentStatusDetachingConst = "detaching" +) + +// Constants associated with the VolumeAttachment.Type property. +// The type of volume attachment. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VolumeAttachmentTypeBootConst = "boot" + VolumeAttachmentTypeDataConst = "data" +) + +// UnmarshalVolumeAttachment unmarshals an instance of VolumeAttachment from the specified map of raw messages. +func UnmarshalVolumeAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachment) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "delete_volume_on_instance_delete", &obj.DeleteVolumeOnInstanceDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_volume_on_instance_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "device", &obj.Device, UnmarshalVolumeAttachmentDevice) + if err != nil { + err = core.SDKErrorf(err, "", "device-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume", &obj.Volume, UnmarshalVolumeReferenceVolumeAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentCollection : VolumeAttachmentCollection struct +type VolumeAttachmentCollection struct { + // The volume attachments for the instance. + VolumeAttachments []VolumeAttachment `json:"volume_attachments" validate:"required"` +} + +// UnmarshalVolumeAttachmentCollection unmarshals an instance of VolumeAttachmentCollection from the specified map of raw messages. +func UnmarshalVolumeAttachmentCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentCollection) + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachment) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentDevice : VolumeAttachmentDevice struct +type VolumeAttachmentDevice struct { + // A unique identifier for the device which is exposed to the instance operating system. + ID *string `json:"id" validate:"required"` +} + +// UnmarshalVolumeAttachmentDevice unmarshals an instance of VolumeAttachmentDevice from the specified map of raw messages. +func UnmarshalVolumeAttachmentDevice(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentDevice) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPatch : VolumeAttachmentPatch struct +type VolumeAttachmentPatch struct { + // Indicates whether deleting the instance will also delete the attached volume. + DeleteVolumeOnInstanceDelete *bool `json:"delete_volume_on_instance_delete,omitempty"` + + // The name for this volume attachment. The name must not be used by another volume attachment on the instance. + Name *string `json:"name,omitempty"` +} + +// UnmarshalVolumeAttachmentPatch unmarshals an instance of VolumeAttachmentPatch from the specified map of raw messages. +func UnmarshalVolumeAttachmentPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPatch) + err = core.UnmarshalPrimitive(m, "delete_volume_on_instance_delete", &obj.DeleteVolumeOnInstanceDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_volume_on_instance_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VolumeAttachmentPatch +func (volumeAttachmentPatch *VolumeAttachmentPatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(volumeAttachmentPatch.DeleteVolumeOnInstanceDelete) { + _patch["delete_volume_on_instance_delete"] = volumeAttachmentPatch.DeleteVolumeOnInstanceDelete + } + if !core.IsNil(volumeAttachmentPatch.Name) { + _patch["name"] = volumeAttachmentPatch.Name + } + + return +} + +// VolumeAttachmentPrototype : VolumeAttachmentPrototype struct +type VolumeAttachmentPrototype struct { + // Indicates whether deleting the instance will also delete the attached volume. + DeleteVolumeOnInstanceDelete *bool `json:"delete_volume_on_instance_delete,omitempty"` + + // The name for this volume attachment. The name must not be used by another volume attachment on the instance. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The volume to use for this attachment. This can be specified as an existing unattached + // volume, or a prototype object for a new volume. + Volume VolumeAttachmentPrototypeVolumeIntf `json:"volume" validate:"required"` +} + +// NewVolumeAttachmentPrototype : Instantiate VolumeAttachmentPrototype (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototype(volume VolumeAttachmentPrototypeVolumeIntf) (_model *VolumeAttachmentPrototype, err error) { + _model = &VolumeAttachmentPrototype{ + Volume: volume, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalVolumeAttachmentPrototype unmarshals an instance of VolumeAttachmentPrototype from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototype) + err = core.UnmarshalPrimitive(m, "delete_volume_on_instance_delete", &obj.DeleteVolumeOnInstanceDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_volume_on_instance_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume", &obj.Volume, UnmarshalVolumeAttachmentPrototypeVolume) + if err != nil { + err = core.SDKErrorf(err, "", "volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeInstanceByImageContext : VolumeAttachmentPrototypeInstanceByImageContext struct +type VolumeAttachmentPrototypeInstanceByImageContext struct { + // Indicates whether deleting the instance will also delete the attached volume. + DeleteVolumeOnInstanceDelete *bool `json:"delete_volume_on_instance_delete,omitempty"` + + // The name for this volume attachment. The name must not be used by another volume attachment on the instance. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // A prototype object for a new volume. + Volume *VolumePrototypeInstanceByImageContext `json:"volume" validate:"required"` +} + +// NewVolumeAttachmentPrototypeInstanceByImageContext : Instantiate VolumeAttachmentPrototypeInstanceByImageContext (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototypeInstanceByImageContext(volume *VolumePrototypeInstanceByImageContext) (_model *VolumeAttachmentPrototypeInstanceByImageContext, err error) { + _model = &VolumeAttachmentPrototypeInstanceByImageContext{ + Volume: volume, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalVolumeAttachmentPrototypeInstanceByImageContext unmarshals an instance of VolumeAttachmentPrototypeInstanceByImageContext from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeInstanceByImageContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeInstanceByImageContext) + err = core.UnmarshalPrimitive(m, "delete_volume_on_instance_delete", &obj.DeleteVolumeOnInstanceDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_volume_on_instance_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume", &obj.Volume, UnmarshalVolumePrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeInstanceBySourceSnapshotContext : VolumeAttachmentPrototypeInstanceBySourceSnapshotContext struct +type VolumeAttachmentPrototypeInstanceBySourceSnapshotContext struct { + // Indicates whether deleting the instance will also delete the attached volume. + DeleteVolumeOnInstanceDelete *bool `json:"delete_volume_on_instance_delete,omitempty"` + + // The name for this volume attachment. The name must not be used by another volume attachment on the instance. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // A prototype object for a new volume from a snapshot. + Volume *VolumePrototypeInstanceBySourceSnapshotContext `json:"volume" validate:"required"` +} + +// NewVolumeAttachmentPrototypeInstanceBySourceSnapshotContext : Instantiate VolumeAttachmentPrototypeInstanceBySourceSnapshotContext (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototypeInstanceBySourceSnapshotContext(volume *VolumePrototypeInstanceBySourceSnapshotContext) (_model *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext, err error) { + _model = &VolumeAttachmentPrototypeInstanceBySourceSnapshotContext{ + Volume: volume, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext unmarshals an instance of VolumeAttachmentPrototypeInstanceBySourceSnapshotContext from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + err = core.UnmarshalPrimitive(m, "delete_volume_on_instance_delete", &obj.DeleteVolumeOnInstanceDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_volume_on_instance_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume", &obj.Volume, UnmarshalVolumePrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeInstanceByVolumeContext : VolumeAttachmentPrototypeInstanceByVolumeContext struct +type VolumeAttachmentPrototypeInstanceByVolumeContext struct { + // Indicates whether deleting the instance will also delete the attached volume. + DeleteVolumeOnInstanceDelete *bool `json:"delete_volume_on_instance_delete,omitempty"` + + // The name for this volume attachment. The name must not be used by another volume attachment on the instance. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // An existing unattached volume. + Volume VolumeIdentityIntf `json:"volume" validate:"required"` +} + +// NewVolumeAttachmentPrototypeInstanceByVolumeContext : Instantiate VolumeAttachmentPrototypeInstanceByVolumeContext (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototypeInstanceByVolumeContext(volume VolumeIdentityIntf) (_model *VolumeAttachmentPrototypeInstanceByVolumeContext, err error) { + _model = &VolumeAttachmentPrototypeInstanceByVolumeContext{ + Volume: volume, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalVolumeAttachmentPrototypeInstanceByVolumeContext unmarshals an instance of VolumeAttachmentPrototypeInstanceByVolumeContext from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeInstanceByVolumeContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeInstanceByVolumeContext) + err = core.UnmarshalPrimitive(m, "delete_volume_on_instance_delete", &obj.DeleteVolumeOnInstanceDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_volume_on_instance_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume", &obj.Volume, UnmarshalVolumeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeVolume : The volume to use for this attachment. This can be specified as an existing unattached volume, or a prototype object +// for a new volume. +// Models which "extend" this model: +// - VolumeAttachmentPrototypeVolumeVolumeIdentity +// - VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext +type VolumeAttachmentPrototypeVolume struct { + // The unique identifier for this volume. + ID *string `json:"id,omitempty"` + + // The CRN for this volume. + CRN *string `json:"crn,omitempty"` + + // The URL for this volume. + Href *string `json:"href,omitempty"` + + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for + // this volume. + Profile VolumeProfileIdentityIntf `json:"profile,omitempty"` + + // The resource group to use for this volume. If unspecified, the instance's resource + // group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` + + // The capacity to use for the volume (in gigabytes). The specified value must be within the `capacity` range of the + // volume's profile. + Capacity *int64 `json:"capacity,omitempty"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The usage constraints to be matched against requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified if `source_snapshot` is bootable. If not specified, the value of + // this property will be inherited from the `source_snapshot`. + AllowedUse *VolumeAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The snapshot to use as a source for the volume's data. + // + // The specified snapshot may be in a different account, subject to IAM policies. + // + // To create a volume from a `source_snapshot`, the volume profile and the + // source snapshot must have the same `storage_generation` value. + SourceSnapshot SnapshotIdentityIntf `json:"source_snapshot,omitempty"` +} + +func (*VolumeAttachmentPrototypeVolume) isaVolumeAttachmentPrototypeVolume() bool { + return true +} + +type VolumeAttachmentPrototypeVolumeIntf interface { + isaVolumeAttachmentPrototypeVolume() bool +} + +// UnmarshalVolumeAttachmentPrototypeVolume unmarshals an instance of VolumeAttachmentPrototypeVolume from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeVolume(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeVolume) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentReferenceInstanceContext : VolumeAttachmentReferenceInstanceContext struct +type VolumeAttachmentReferenceInstanceContext struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The configuration for the volume as a device in the instance operating system. + // + // This property may be absent if the volume attachment's `status` is not `attached`. + Device *VolumeAttachmentDevice `json:"device,omitempty"` + + // The URL for this volume attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this volume attachment. + ID *string `json:"id" validate:"required"` + + // The name for this volume attachment. The name is unique across all volume attachments on the instance. + Name *string `json:"name" validate:"required"` + + // The attached volume. + // + // This property will be absent if the volume has not yet been provisioned. + Volume *VolumeReferenceVolumeAttachmentContext `json:"volume,omitempty"` +} + +// UnmarshalVolumeAttachmentReferenceInstanceContext unmarshals an instance of VolumeAttachmentReferenceInstanceContext from the specified map of raw messages. +func UnmarshalVolumeAttachmentReferenceInstanceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentReferenceInstanceContext) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "device", &obj.Device, UnmarshalVolumeAttachmentDevice) + if err != nil { + err = core.SDKErrorf(err, "", "device-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume", &obj.Volume, UnmarshalVolumeReferenceVolumeAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentReferenceVolumeContext : VolumeAttachmentReferenceVolumeContext struct +type VolumeAttachmentReferenceVolumeContext struct { + // Indicates whether deleting the instance will also delete the attached volume. + DeleteVolumeOnInstanceDelete *bool `json:"delete_volume_on_instance_delete" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The configuration for the volume as a device in the instance operating system. + // + // This property may be absent if the volume attachment's `status` is not `attached`. + Device *VolumeAttachmentDevice `json:"device,omitempty"` + + // The URL for this volume attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this volume attachment. + ID *string `json:"id" validate:"required"` + + // The attached instance. + Instance *InstanceReference `json:"instance" validate:"required"` + + // The name for this volume attachment. The name is unique across all volume attachments on the instance. + Name *string `json:"name" validate:"required"` + + // The type of volume attachment. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeAttachmentReferenceVolumeContext.Type property. +// The type of volume attachment. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VolumeAttachmentReferenceVolumeContextTypeBootConst = "boot" + VolumeAttachmentReferenceVolumeContextTypeDataConst = "data" +) + +// UnmarshalVolumeAttachmentReferenceVolumeContext unmarshals an instance of VolumeAttachmentReferenceVolumeContext from the specified map of raw messages. +func UnmarshalVolumeAttachmentReferenceVolumeContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentReferenceVolumeContext) + err = core.UnmarshalPrimitive(m, "delete_volume_on_instance_delete", &obj.DeleteVolumeOnInstanceDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_volume_on_instance_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "device", &obj.Device, UnmarshalVolumeAttachmentDevice) + if err != nil { + err = core.SDKErrorf(err, "", "device-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance", &obj.Instance, UnmarshalInstanceReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeCatalogOffering : VolumeCatalogOffering struct +type VolumeCatalogOffering struct { + // The billing plan associated with the catalog offering version. + // + // If absent, no billing plan is associated with the catalog offering version + // (free). + Plan *CatalogOfferingVersionPlanReference `json:"plan,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering version this volume was created from. + Version *CatalogOfferingVersionReference `json:"version" validate:"required"` +} + +// UnmarshalVolumeCatalogOffering unmarshals an instance of VolumeCatalogOffering from the specified map of raw messages. +func UnmarshalVolumeCatalogOffering(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeCatalogOffering) + err = core.UnmarshalModel(m, "plan", &obj.Plan, UnmarshalCatalogOfferingVersionPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "version", &obj.Version, UnmarshalCatalogOfferingVersionReference) + if err != nil { + err = core.SDKErrorf(err, "", "version-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeCollection : VolumeCollection struct +type VolumeCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` + + // A page of volumes. + Volumes []Volume `json:"volumes" validate:"required"` +} + +// UnmarshalVolumeCollection unmarshals an instance of VolumeCollection from the specified map of raw messages. +func UnmarshalVolumeCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volumes", &obj.Volumes, UnmarshalVolume) + if err != nil { + err = core.SDKErrorf(err, "", "volumes-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VolumeCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VolumeHealthReason : VolumeHealthReason struct +type VolumeHealthReason struct { + // A reason code for this health state. + Code *string `json:"code" validate:"required"` + + // An explanation of the reason for this health state. + Message *string `json:"message" validate:"required"` + + // A link to documentation about the reason for this health state. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VolumeHealthReason.Code property. +// A reason code for this health state. +const ( + VolumeHealthReasonCodeInitializingFromSnapshotConst = "initializing_from_snapshot" + VolumeHealthReasonCodeThrottledByInsufficientInstanceBandwidthConst = "throttled_by_insufficient_instance_bandwidth" +) + +// UnmarshalVolumeHealthReason unmarshals an instance of VolumeHealthReason from the specified map of raw messages. +func UnmarshalVolumeHealthReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeHealthReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeIdentity : Identifies a volume by a unique property. +// Models which "extend" this model: +// - VolumeIdentityByID +// - VolumeIdentityByCRN +// - VolumeIdentityByHref +type VolumeIdentity struct { + // The unique identifier for this volume. + ID *string `json:"id,omitempty"` + + // The CRN for this volume. + CRN *string `json:"crn,omitempty"` + + // The URL for this volume. + Href *string `json:"href,omitempty"` +} + +func (*VolumeIdentity) isaVolumeIdentity() bool { + return true +} + +type VolumeIdentityIntf interface { + isaVolumeIdentity() bool +} + +// UnmarshalVolumeIdentity unmarshals an instance of VolumeIdentity from the specified map of raw messages. +func UnmarshalVolumeIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeInstanceProfileCollection : VolumeInstanceProfileCollection struct +type VolumeInstanceProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // A page of instance profiles compatible with the volume. + InstanceProfiles []InstanceProfileReference `json:"instance_profiles" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalVolumeInstanceProfileCollection unmarshals an instance of VolumeInstanceProfileCollection from the specified map of raw messages. +func UnmarshalVolumeInstanceProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeInstanceProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "instance_profiles", &obj.InstanceProfiles, UnmarshalInstanceProfileReference) + if err != nil { + err = core.SDKErrorf(err, "", "instance_profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VolumeInstanceProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VolumePatch : VolumePatch struct +type VolumePatch struct { + // The usage constraints to be matched against the requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified for boot volumes with an `attachment_state` of `unattached`. + AllowedUse *VolumeAllowedUsePatch `json:"allowed_use,omitempty"` + + // The maximum bandwidth (in megabits per second) for the volume. + // + // If specified, the volume profile must not have a `bandwidth.type` of `dependent`. + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The capacity to use for the volume (in gigabytes). For the capacity to be changed the volume's current + // `attachment_state` must be one of the values included in + // `adjustable_capacity_states`. If `adjustable_capacity_states` is empty, then the volume capacity cannot be changed. + // Additionally: + // - The specified value must not be less than the current capacity. + // - If the volume is attached as a boot volume, the specified value must not exceed + // the `boot_capacity.max` of the volume profile. + // - If the volume is attached as a data volume, the specified value must not exceed + // the `capacity.max` of the volume profile. + Capacity *int64 `json:"capacity,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. For the IOPS to be changed the volume's + // current `attachment_state` must be one of the values included in `adjustable_iops_states`. If + // `adjustable_iops_states` is empty, then the IOPS cannot be changed. + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. + Name *string `json:"name,omitempty"` + + // The profile to use for this volume. The requested profile must have the same + // `family` and `storage_generation` values as the current profile. Additionally: + // - If the volume is a boot volume then the value specified for `capacity` property + // must not be less than the `boot_capacity.min` and must not exceed the + // `boot_capacity.max` of the specified volume profile. + // - If the volume is a data volume then the value specified for `capacity` property + // must not be less than the `capacity.min` and must not exceed the `capacity.max` + // of the specified volume profile. + Profile VolumeProfileIdentityIntf `json:"profile,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume (replacing any + // existing tags). + UserTags []string `json:"user_tags,omitempty"` +} + +// UnmarshalVolumePatch unmarshals an instance of VolumePatch from the specified map of raw messages. +func UnmarshalVolumePatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumePatch) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUsePatch) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AsPatch returns a generic map representation of the VolumePatch +func (volumePatch *VolumePatch) AsPatch() (_patch map[string]interface{}, err error) { + _patch = map[string]interface{}{} + if !core.IsNil(volumePatch.AllowedUse) { + _patch["allowed_use"] = volumePatch.AllowedUse.asPatch() + } + if !core.IsNil(volumePatch.Bandwidth) { + _patch["bandwidth"] = volumePatch.Bandwidth + } + if !core.IsNil(volumePatch.Capacity) { + _patch["capacity"] = volumePatch.Capacity + } + if !core.IsNil(volumePatch.Iops) { + _patch["iops"] = volumePatch.Iops + } + if !core.IsNil(volumePatch.Name) { + _patch["name"] = volumePatch.Name + } + if !core.IsNil(volumePatch.Profile) { + _patch["profile"] = volumePatch.Profile.asPatch() + } + if !core.IsNil(volumePatch.UserTags) { + _patch["user_tags"] = volumePatch.UserTags + } + + return +} + +// VolumeProfile : VolumeProfile struct +type VolumeProfile struct { + AdjustableCapacityStates *VolumeProfileAdjustableCapacityStates `json:"adjustable_capacity_states" validate:"required"` + + AdjustableIopsStates *VolumeProfileAdjustableIopsStates `json:"adjustable_iops_states" validate:"required"` + + Bandwidth VolumeProfileBandwidthIntf `json:"bandwidth" validate:"required"` + + BootCapacity VolumeProfileBootCapacityIntf `json:"boot_capacity" validate:"required"` + + Capacity VolumeProfileCapacityIntf `json:"capacity" validate:"required"` + + // The product family this volume profile belongs to. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family *string `json:"family" validate:"required"` + + // The URL for this volume profile. + Href *string `json:"href" validate:"required"` + + Iops VolumeProfileIopsIntf `json:"iops" validate:"required"` + + // The globally unique name for this volume profile. + Name *string `json:"name" validate:"required"` + + // The storage generation value of volumes of this profile. + StorageGeneration *VolumeProfileStorageGenerationFixed `json:"storage_generation" validate:"required"` +} + +// Constants associated with the VolumeProfile.Family property. +// The product family this volume profile belongs to. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VolumeProfileFamilyCustomConst = "custom" + VolumeProfileFamilyDefinedPerformanceConst = "defined_performance" + VolumeProfileFamilyTieredConst = "tiered" +) + +// UnmarshalVolumeProfile unmarshals an instance of VolumeProfile from the specified map of raw messages. +func UnmarshalVolumeProfile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfile) + err = core.UnmarshalModel(m, "adjustable_capacity_states", &obj.AdjustableCapacityStates, UnmarshalVolumeProfileAdjustableCapacityStates) + if err != nil { + err = core.SDKErrorf(err, "", "adjustable_capacity_states-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "adjustable_iops_states", &obj.AdjustableIopsStates, UnmarshalVolumeProfileAdjustableIopsStates) + if err != nil { + err = core.SDKErrorf(err, "", "adjustable_iops_states-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "bandwidth", &obj.Bandwidth, UnmarshalVolumeProfileBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_capacity", &obj.BootCapacity, UnmarshalVolumeProfileBootCapacity) + if err != nil { + err = core.SDKErrorf(err, "", "boot_capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "capacity", &obj.Capacity, UnmarshalVolumeProfileCapacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "family", &obj.Family) + if err != nil { + err = core.SDKErrorf(err, "", "family-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "iops", &obj.Iops, UnmarshalVolumeProfileIops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "storage_generation", &obj.StorageGeneration, UnmarshalVolumeProfileStorageGenerationFixed) + if err != nil { + err = core.SDKErrorf(err, "", "storage_generation-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileAdjustableCapacityStates : VolumeProfileAdjustableCapacityStates struct +type VolumeProfileAdjustableCapacityStates struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The attachment states that support adjustable capacity for a volume with this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the VolumeProfileAdjustableCapacityStates.Type property. +// The type for this profile field. +const ( + VolumeProfileAdjustableCapacityStatesTypeEnumConst = "enum" +) + +// Constants associated with the VolumeProfileAdjustableCapacityStates.Values property. +// The attachment state of the volume +// - `unattached`: Not attached to any virtual server instances +// - `attached`: Attached to a virtual server instance (even if the instance is stopped) +// - `unusable`: Not able to be attached to any virtual server instances. +const ( + VolumeProfileAdjustableCapacityStatesValuesAttachedConst = "attached" + VolumeProfileAdjustableCapacityStatesValuesUnattachedConst = "unattached" + VolumeProfileAdjustableCapacityStatesValuesUnusableConst = "unusable" +) + +// UnmarshalVolumeProfileAdjustableCapacityStates unmarshals an instance of VolumeProfileAdjustableCapacityStates from the specified map of raw messages. +func UnmarshalVolumeProfileAdjustableCapacityStates(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileAdjustableCapacityStates) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileAdjustableIopsStates : VolumeProfileAdjustableIopsStates struct +type VolumeProfileAdjustableIopsStates struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The attachment states that support adjustable IOPS for a volume with this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the VolumeProfileAdjustableIopsStates.Type property. +// The type for this profile field. +const ( + VolumeProfileAdjustableIopsStatesTypeEnumConst = "enum" +) + +// Constants associated with the VolumeProfileAdjustableIopsStates.Values property. +// The attachment state of the volume +// - `unattached`: Not attached to any virtual server instances +// - `attached`: Attached to a virtual server instance (even if the instance is stopped) +// - `unusable`: Not able to be attached to any virtual server instances. +const ( + VolumeProfileAdjustableIopsStatesValuesAttachedConst = "attached" + VolumeProfileAdjustableIopsStatesValuesUnattachedConst = "unattached" + VolumeProfileAdjustableIopsStatesValuesUnusableConst = "unusable" +) + +// UnmarshalVolumeProfileAdjustableIopsStates unmarshals an instance of VolumeProfileAdjustableIopsStates from the specified map of raw messages. +func UnmarshalVolumeProfileAdjustableIopsStates(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileAdjustableIopsStates) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBandwidth : VolumeProfileBandwidth struct +// Models which "extend" this model: +// - VolumeProfileBandwidthFixed +// - VolumeProfileBandwidthRange +// - VolumeProfileBandwidthEnum +// - VolumeProfileBandwidthDependentRange +// - VolumeProfileBandwidthDependent +type VolumeProfileBandwidth struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the VolumeProfileBandwidth.Type property. +// The type for this profile field. +const ( + VolumeProfileBandwidthTypeFixedConst = "fixed" +) + +func (*VolumeProfileBandwidth) isaVolumeProfileBandwidth() bool { + return true +} + +type VolumeProfileBandwidthIntf interface { + isaVolumeProfileBandwidth() bool +} + +// UnmarshalVolumeProfileBandwidth unmarshals an instance of VolumeProfileBandwidth from the specified map of raw messages. +func UnmarshalVolumeProfileBandwidth(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBandwidth) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBootCapacity : VolumeProfileBootCapacity struct +// Models which "extend" this model: +// - VolumeProfileBootCapacityFixed +// - VolumeProfileBootCapacityRange +// - VolumeProfileBootCapacityEnum +// - VolumeProfileBootCapacityDependentRange +type VolumeProfileBootCapacity struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the VolumeProfileBootCapacity.Type property. +// The type for this profile field. +const ( + VolumeProfileBootCapacityTypeFixedConst = "fixed" +) + +func (*VolumeProfileBootCapacity) isaVolumeProfileBootCapacity() bool { + return true +} + +type VolumeProfileBootCapacityIntf interface { + isaVolumeProfileBootCapacity() bool +} + +// UnmarshalVolumeProfileBootCapacity unmarshals an instance of VolumeProfileBootCapacity from the specified map of raw messages. +func UnmarshalVolumeProfileBootCapacity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBootCapacity) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileCapacity : VolumeProfileCapacity struct +// Models which "extend" this model: +// - VolumeProfileCapacityFixed +// - VolumeProfileCapacityRange +// - VolumeProfileCapacityEnum +// - VolumeProfileCapacityDependentRange +type VolumeProfileCapacity struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the VolumeProfileCapacity.Type property. +// The type for this profile field. +const ( + VolumeProfileCapacityTypeFixedConst = "fixed" +) + +func (*VolumeProfileCapacity) isaVolumeProfileCapacity() bool { + return true +} + +type VolumeProfileCapacityIntf interface { + isaVolumeProfileCapacity() bool +} + +// UnmarshalVolumeProfileCapacity unmarshals an instance of VolumeProfileCapacity from the specified map of raw messages. +func UnmarshalVolumeProfileCapacity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileCapacity) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileCollection : VolumeProfileCollection struct +type VolumeProfileCollection struct { + // A link to the first page of resources. + First *PageLink `json:"first" validate:"required"` + + // The maximum number of resources that can be returned by the request. + Limit *int64 `json:"limit" validate:"required"` + + // A link to the next page of resources. This property is present for all pages + // except the last page. + Next *PageLink `json:"next,omitempty"` + + // A page of volume profiles. + Profiles []VolumeProfile `json:"profiles" validate:"required"` + + // The total number of resources across all pages. + TotalCount *int64 `json:"total_count" validate:"required"` +} + +// UnmarshalVolumeProfileCollection unmarshals an instance of VolumeProfileCollection from the specified map of raw messages. +func UnmarshalVolumeProfileCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "first-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + err = core.SDKErrorf(err, "", "limit-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPageLink) + if err != nil { + err = core.SDKErrorf(err, "", "next-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profiles", &obj.Profiles, UnmarshalVolumeProfile) + if err != nil { + err = core.SDKErrorf(err, "", "profiles-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *VolumeProfileCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + start, err := core.GetQueryParam(resp.Next.Href, "start") + if err != nil { + err = core.SDKErrorf(err, "", "read-query-param-error", common.GetComponentInfo()) + return nil, err + } else if start == nil { + return nil, nil + } + return start, nil +} + +// VolumeProfileIops : VolumeProfileIops struct +// Models which "extend" this model: +// - VolumeProfileIopsFixed +// - VolumeProfileIopsRange +// - VolumeProfileIopsEnum +// - VolumeProfileIopsDependentRange +type VolumeProfileIops struct { + // The type for this profile field. + Type *string `json:"type,omitempty"` + + // The value for this profile field. + Value *int64 `json:"value,omitempty"` + + // The default value for this profile field. + Default *int64 `json:"default,omitempty"` + + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The increment step value for this profile field. + Step *int64 `json:"step,omitempty"` + + // The permitted values for this profile field. + Values []int64 `json:"values,omitempty"` +} + +// Constants associated with the VolumeProfileIops.Type property. +// The type for this profile field. +const ( + VolumeProfileIopsTypeFixedConst = "fixed" +) + +func (*VolumeProfileIops) isaVolumeProfileIops() bool { + return true +} + +type VolumeProfileIopsIntf interface { + isaVolumeProfileIops() bool +} + +// UnmarshalVolumeProfileIops unmarshals an instance of VolumeProfileIops from the specified map of raw messages. +func UnmarshalVolumeProfileIops(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileIops) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileIdentity : Identifies a volume profile by a unique property. +// Models which "extend" this model: +// - VolumeProfileIdentityByName +// - VolumeProfileIdentityByHref +type VolumeProfileIdentity struct { + // The globally unique name for this volume profile. + Name *string `json:"name,omitempty"` + + // The URL for this volume profile. + Href *string `json:"href,omitempty"` +} + +func (*VolumeProfileIdentity) isaVolumeProfileIdentity() bool { + return true +} + +type VolumeProfileIdentityIntf interface { + isaVolumeProfileIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalVolumeProfileIdentity unmarshals an instance of VolumeProfileIdentity from the specified map of raw messages. +func UnmarshalVolumeProfileIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VolumeProfileIdentity +func (volumeProfileIdentity *VolumeProfileIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(volumeProfileIdentity.Name) { + _patch["name"] = volumeProfileIdentity.Name + } + if !core.IsNil(volumeProfileIdentity.Href) { + _patch["href"] = volumeProfileIdentity.Href + } + + return +} + +// VolumeProfileReference : VolumeProfileReference struct +type VolumeProfileReference struct { + // The URL for this volume profile. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this volume profile. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalVolumeProfileReference unmarshals an instance of VolumeProfileReference from the specified map of raw messages. +func UnmarshalVolumeProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileStorageGenerationFixed : The storage generation value of volumes of this profile. +type VolumeProfileStorageGenerationFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the VolumeProfileStorageGenerationFixed.Type property. +// The type for this profile field. +const ( + VolumeProfileStorageGenerationFixedTypeFixedConst = "fixed" +) + +// UnmarshalVolumeProfileStorageGenerationFixed unmarshals an instance of VolumeProfileStorageGenerationFixed from the specified map of raw messages. +func UnmarshalVolumeProfileStorageGenerationFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileStorageGenerationFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumePrototype : VolumePrototype struct +// Models which "extend" this model: +// - VolumePrototypeVolumeByCapacity +// - VolumePrototypeVolumeBySourceSnapshot +type VolumePrototype struct { + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for + // this volume. + Profile VolumeProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` + + // The zone this volume will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The capacity to use for the volume (in gigabytes). The specified value must be within the `capacity` range of the + // volume's profile. + Capacity *int64 `json:"capacity,omitempty"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The usage constraints to be matched against requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified if `source_snapshot` is bootable. If not specified, the value of + // this property will be inherited from the `source_snapshot`. + AllowedUse *VolumeAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The snapshot to use as a source for the volume's data. + // + // The specified snapshot may be in a different account, subject to IAM policies. + // + // To create a volume from a `source_snapshot`, the volume profile and the + // source snapshot must have the same `storage_generation` value. + SourceSnapshot SnapshotIdentityIntf `json:"source_snapshot,omitempty"` +} + +func (*VolumePrototype) isaVolumePrototype() bool { + return true +} + +type VolumePrototypeIntf interface { + isaVolumePrototype() bool +} + +// UnmarshalVolumePrototype unmarshals an instance of VolumePrototype from the specified map of raw messages. +func UnmarshalVolumePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumePrototype) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumePrototypeInstanceByImageContext : VolumePrototypeInstanceByImageContext struct +type VolumePrototypeInstanceByImageContext struct { + // The usage constraints to be matched against requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified if `source_snapshot` is bootable. If not specified, the value of + // this property will be inherited from the `source_image`. + AllowedUse *VolumeAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The capacity to use for the volume (in gigabytes). The specified value must be at least the image's + // `minimum_provisioned_size`, at most 250 gigabytes, and within the + // `boot_capacity` range of the volume's profile. + // + // If unspecified, the capacity will be the image's `minimum_provisioned_size`. + Capacity *int64 `json:"capacity,omitempty"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for + // this volume. + Profile VolumeProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use for this volume. If unspecified, the instance's resource + // group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` +} + +// NewVolumePrototypeInstanceByImageContext : Instantiate VolumePrototypeInstanceByImageContext (Generic Model Constructor) +func (*VpcV1) NewVolumePrototypeInstanceByImageContext(profile VolumeProfileIdentityIntf) (_model *VolumePrototypeInstanceByImageContext, err error) { + _model = &VolumePrototypeInstanceByImageContext{ + Profile: profile, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalVolumePrototypeInstanceByImageContext unmarshals an instance of VolumePrototypeInstanceByImageContext from the specified map of raw messages. +func UnmarshalVolumePrototypeInstanceByImageContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumePrototypeInstanceByImageContext) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumePrototypeInstanceBySourceSnapshotContext : VolumePrototypeInstanceBySourceSnapshotContext struct +type VolumePrototypeInstanceBySourceSnapshotContext struct { + // The usage constraints to be matched against requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified if `source_snapshot` is bootable. If not specified, the value of + // this property will be inherited from the `source_snapshot`. + AllowedUse *VolumeAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The capacity to use for the volume (in gigabytes). The specified value must be at least the snapshot's + // `minimum_capacity`, at most 250 gigabytes, and within the `boot_capacity` range of the volume's profile. + Capacity *int64 `json:"capacity,omitempty"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for + // this volume. + Profile VolumeProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use for this volume. If unspecified, the instance's resource + // group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The snapshot to use as a source for the volume's data. + // + // The specified snapshot may be in a different account, subject to IAM policies. + // + // To create a volume from a `source_snapshot`, the volume profile and the + // source snapshot must have the same `storage_generation` value. + SourceSnapshot SnapshotIdentityIntf `json:"source_snapshot" validate:"required"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` +} + +// NewVolumePrototypeInstanceBySourceSnapshotContext : Instantiate VolumePrototypeInstanceBySourceSnapshotContext (Generic Model Constructor) +func (*VpcV1) NewVolumePrototypeInstanceBySourceSnapshotContext(profile VolumeProfileIdentityIntf, sourceSnapshot SnapshotIdentityIntf) (_model *VolumePrototypeInstanceBySourceSnapshotContext, err error) { + _model = &VolumePrototypeInstanceBySourceSnapshotContext{ + Profile: profile, + SourceSnapshot: sourceSnapshot, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +// UnmarshalVolumePrototypeInstanceBySourceSnapshotContext unmarshals an instance of VolumePrototypeInstanceBySourceSnapshotContext from the specified map of raw messages. +func UnmarshalVolumePrototypeInstanceBySourceSnapshotContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumePrototypeInstanceBySourceSnapshotContext) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeReference : VolumeReference struct +type VolumeReference struct { + // The CRN for this volume. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this volume. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this volume. + ID *string `json:"id" validate:"required"` + + // The name for this volume. The name is unique across all volumes in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *VolumeRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VolumeReference.ResourceType property. +// The resource type. +const ( + VolumeReferenceResourceTypeVolumeConst = "volume" +) + +// UnmarshalVolumeReference unmarshals an instance of VolumeReference from the specified map of raw messages. +func UnmarshalVolumeReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalVolumeRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeReferenceVolumeAttachmentContext : VolumeReferenceVolumeAttachmentContext struct +type VolumeReferenceVolumeAttachmentContext struct { + // The CRN for this volume. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this volume. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this volume. + ID *string `json:"id" validate:"required"` + + // The name for this volume. The name is unique across all volumes in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VolumeReferenceVolumeAttachmentContext.ResourceType property. +// The resource type. +const ( + VolumeReferenceVolumeAttachmentContextResourceTypeVolumeConst = "volume" +) + +// UnmarshalVolumeReferenceVolumeAttachmentContext unmarshals an instance of VolumeReferenceVolumeAttachmentContext from the specified map of raw messages. +func UnmarshalVolumeReferenceVolumeAttachmentContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeReferenceVolumeAttachmentContext) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeRemote : If present, this property indicates that the resource associated with this reference is remote and therefore may not +// be directly retrievable. +type VolumeRemote struct { + // If present, this property indicates that the referenced resource is remote to this + // region, and identifies the native region. + Region *RegionReference `json:"region,omitempty"` +} + +// UnmarshalVolumeRemote unmarshals an instance of VolumeRemote from the specified map of raw messages. +func UnmarshalVolumeRemote(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeRemote) + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeStatusReason : VolumeStatusReason struct +type VolumeStatusReason struct { + // A snake case string succinctly identifying the status reason. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `json:"code" validate:"required"` + + // An explanation of the status reason. + Message *string `json:"message" validate:"required"` + + // A link to documentation about this status reason. + MoreInfo *string `json:"more_info,omitempty"` +} + +// Constants associated with the VolumeStatusReason.Code property. +// A snake case string succinctly identifying the status reason. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VolumeStatusReasonCodeEncryptionKeyDeletedConst = "encryption_key_deleted" +) + +// UnmarshalVolumeStatusReason unmarshals an instance of VolumeStatusReason from the specified map of raw messages. +func UnmarshalVolumeStatusReason(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeStatusReason) + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "message", &obj.Message) + if err != nil { + err = core.SDKErrorf(err, "", "message-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "more_info", &obj.MoreInfo) + if err != nil { + err = core.SDKErrorf(err, "", "more_info-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Zone : Zone struct +type Zone struct { + // The physical data center assigned to this logical zone. + // + // If absent, no physical data center has been assigned. + DataCenter *string `json:"data_center,omitempty"` + + // The URL for this zone. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this zone. + Name *string `json:"name" validate:"required"` + + // The region this zone resides in. + Region *RegionReference `json:"region" validate:"required"` + + // The status of the zone. + // + // - `available`: The zone is available to create and manage resources. + // - `impaired`: The zone's availability and performance to create and manage resources + // may be impaired. + // - `unavailable`: The zone is unavailable to create and manage resources. + // - `unassigned`: The zone has not been assigned to a physical zone. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The [universal name](https://cloud.ibm.com/docs/overview?topic=overview-locations#zone-mapping) for this zone. Will + // be absent if this zone has a `status` of `unassigned`. + UniversalName *string `json:"universal_name,omitempty"` +} + +// Constants associated with the Zone.Status property. +// The status of the zone. +// +// - `available`: The zone is available to create and manage resources. +// - `impaired`: The zone's availability and performance to create and manage resources +// may be impaired. +// - `unavailable`: The zone is unavailable to create and manage resources. +// - `unassigned`: The zone has not been assigned to a physical zone. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + ZoneStatusAvailableConst = "available" + ZoneStatusImpairedConst = "impaired" + ZoneStatusUnassignedConst = "unassigned" + ZoneStatusUnavailableConst = "unavailable" +) + +// UnmarshalZone unmarshals an instance of Zone from the specified map of raw messages. +func UnmarshalZone(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Zone) + err = core.UnmarshalPrimitive(m, "data_center", &obj.DataCenter) + if err != nil { + err = core.SDKErrorf(err, "", "data_center-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "region", &obj.Region, UnmarshalRegionReference) + if err != nil { + err = core.SDKErrorf(err, "", "region-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "universal_name", &obj.UniversalName) + if err != nil { + err = core.SDKErrorf(err, "", "universal_name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ZoneCollection : ZoneCollection struct +type ZoneCollection struct { + // The zones for the region. + Zones []Zone `json:"zones" validate:"required"` +} + +// UnmarshalZoneCollection unmarshals an instance of ZoneCollection from the specified map of raw messages. +func UnmarshalZoneCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZoneCollection) + err = core.UnmarshalModel(m, "zones", &obj.Zones, UnmarshalZone) + if err != nil { + err = core.SDKErrorf(err, "", "zones-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ZoneIdentity : Identifies a zone by a unique property. +// Models which "extend" this model: +// - ZoneIdentityByName +// - ZoneIdentityByHref +type ZoneIdentity struct { + // The globally unique name for this zone. + Name *string `json:"name,omitempty"` + + // The URL for this zone. + Href *string `json:"href,omitempty"` +} + +func (*ZoneIdentity) isaZoneIdentity() bool { + return true +} + +type ZoneIdentityIntf interface { + isaZoneIdentity() bool + asPatch() map[string]interface{} +} + +// UnmarshalZoneIdentity unmarshals an instance of ZoneIdentity from the specified map of raw messages. +func UnmarshalZoneIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZoneIdentity) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ZoneIdentity +func (zoneIdentity *ZoneIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(zoneIdentity.Name) { + _patch["name"] = zoneIdentity.Name + } + if !core.IsNil(zoneIdentity.Href) { + _patch["href"] = zoneIdentity.Href + } + + return +} + +// ZoneReference : ZoneReference struct +type ZoneReference struct { + // The URL for this zone. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this zone. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalZoneReference unmarshals an instance of ZoneReference from the specified map of raw messages. +func UnmarshalZoneReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZoneReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AccountIdentityByID : AccountIdentityByID struct +// This model "extends" AccountIdentity +type AccountIdentityByID struct { + // The unique identifier for this account. + ID *string `json:"id" validate:"required"` +} + +// NewAccountIdentityByID : Instantiate AccountIdentityByID (Generic Model Constructor) +func (*VpcV1) NewAccountIdentityByID(id string) (_model *AccountIdentityByID, err error) { + _model = &AccountIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*AccountIdentityByID) isaAccountIdentity() bool { + return true +} + +// UnmarshalAccountIdentityByID unmarshals an instance of AccountIdentityByID from the specified map of raw messages. +func UnmarshalAccountIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AccountIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyJobSourceInstanceReference : BackupPolicyJobSourceInstanceReference struct +// This model "extends" BackupPolicyJobSource +type BackupPolicyJobSourceInstanceReference struct { + // The CRN for this virtual server instance. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this virtual server instance. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual server instance. + ID *string `json:"id" validate:"required"` + + // The name for this virtual server instance. The name is unique across all virtual server instances in the region. + Name *string `json:"name" validate:"required"` +} + +func (*BackupPolicyJobSourceInstanceReference) isaBackupPolicyJobSource() bool { + return true +} + +// UnmarshalBackupPolicyJobSourceInstanceReference unmarshals an instance of BackupPolicyJobSourceInstanceReference from the specified map of raw messages. +func UnmarshalBackupPolicyJobSourceInstanceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyJobSourceInstanceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyJobSourceShareReference : BackupPolicyJobSourceShareReference struct +// This model "extends" BackupPolicyJobSource +type BackupPolicyJobSourceShareReference struct { + // The CRN for this file share. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this file share. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this file share. + ID *string `json:"id" validate:"required"` + + // The name for this share. The name is unique across all shares in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *ShareRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyJobSourceShareReference.ResourceType property. +// The resource type. +const ( + BackupPolicyJobSourceShareReferenceResourceTypeShareConst = "share" +) + +func (*BackupPolicyJobSourceShareReference) isaBackupPolicyJobSource() bool { + return true +} + +// UnmarshalBackupPolicyJobSourceShareReference unmarshals an instance of BackupPolicyJobSourceShareReference from the specified map of raw messages. +func UnmarshalBackupPolicyJobSourceShareReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyJobSourceShareReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalShareRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyJobSourceVolumeReference : BackupPolicyJobSourceVolumeReference struct +// This model "extends" BackupPolicyJobSource +type BackupPolicyJobSourceVolumeReference struct { + // The CRN for this volume. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this volume. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this volume. + ID *string `json:"id" validate:"required"` + + // The name for this volume. The name is unique across all volumes in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *VolumeRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyJobSourceVolumeReference.ResourceType property. +// The resource type. +const ( + BackupPolicyJobSourceVolumeReferenceResourceTypeVolumeConst = "volume" +) + +func (*BackupPolicyJobSourceVolumeReference) isaBackupPolicyJobSource() bool { + return true +} + +// UnmarshalBackupPolicyJobSourceVolumeReference unmarshals an instance of BackupPolicyJobSourceVolumeReference from the specified map of raw messages. +func UnmarshalBackupPolicyJobSourceVolumeReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyJobSourceVolumeReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalVolumeRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyMatchResourceTypeInstance : BackupPolicyMatchResourceTypeInstance struct +// This model "extends" BackupPolicy +type BackupPolicyMatchResourceTypeInstance struct { + // The date and time that the backup policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this backup policy. + CRN *string `json:"crn" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []BackupPolicyHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this backup policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this backup policy. + ID *string `json:"id" validate:"required"` + + // The date and time that the most recent job for this backup policy completed. + // + // If absent, no job has yet completed for this backup policy. + LastJobCompletedAt *strfmt.DateTime `json:"last_job_completed_at,omitempty"` + + // The lifecycle state of the backup policy. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will + // be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags" validate:"required"` + + // The name for this backup policy. The name is unique across all backup policies in the region. + Name *string `json:"name" validate:"required"` + + // The plans for the backup policy. + Plans []BackupPolicyPlanReference `json:"plans" validate:"required"` + + // The resource group for this backup policy. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + Scope BackupPolicyScopeIntf `json:"scope" validate:"required"` + + // The included content for backups created using this policy: + // - `boot_volume`: Include the instance's boot volume. + // - `data_volumes`: Include the instance's data volumes. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IncludedContent []string `json:"included_content" validate:"required"` + + // The resource type this backup policy applies to. Resources that have both a matching type and a matching user tag + // will be subject to the backup policy. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + MatchResourceType *string `json:"match_resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyMatchResourceTypeInstance.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + BackupPolicyMatchResourceTypeInstanceHealthStateDegradedConst = "degraded" + BackupPolicyMatchResourceTypeInstanceHealthStateFaultedConst = "faulted" + BackupPolicyMatchResourceTypeInstanceHealthStateInapplicableConst = "inapplicable" + BackupPolicyMatchResourceTypeInstanceHealthStateOkConst = "ok" +) + +// Constants associated with the BackupPolicyMatchResourceTypeInstance.LifecycleState property. +// The lifecycle state of the backup policy. +const ( + BackupPolicyMatchResourceTypeInstanceLifecycleStateDeletingConst = "deleting" + BackupPolicyMatchResourceTypeInstanceLifecycleStateFailedConst = "failed" + BackupPolicyMatchResourceTypeInstanceLifecycleStatePendingConst = "pending" + BackupPolicyMatchResourceTypeInstanceLifecycleStateStableConst = "stable" + BackupPolicyMatchResourceTypeInstanceLifecycleStateSuspendedConst = "suspended" + BackupPolicyMatchResourceTypeInstanceLifecycleStateUpdatingConst = "updating" + BackupPolicyMatchResourceTypeInstanceLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BackupPolicyMatchResourceTypeInstance.ResourceType property. +// The resource type. +const ( + BackupPolicyMatchResourceTypeInstanceResourceTypeBackupPolicyConst = "backup_policy" +) + +// Constants associated with the BackupPolicyMatchResourceTypeInstance.IncludedContent property. +// An item to include. +const ( + BackupPolicyMatchResourceTypeInstanceIncludedContentBootVolumeConst = "boot_volume" + BackupPolicyMatchResourceTypeInstanceIncludedContentDataVolumesConst = "data_volumes" +) + +// Constants associated with the BackupPolicyMatchResourceTypeInstance.MatchResourceType property. +// The resource type this backup policy applies to. Resources that have both a matching type and a matching user tag +// will be subject to the backup policy. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BackupPolicyMatchResourceTypeInstanceMatchResourceTypeInstanceConst = "instance" +) + +func (*BackupPolicyMatchResourceTypeInstance) isaBackupPolicy() bool { + return true +} + +// UnmarshalBackupPolicyMatchResourceTypeInstance unmarshals an instance of BackupPolicyMatchResourceTypeInstance from the specified map of raw messages. +func UnmarshalBackupPolicyMatchResourceTypeInstance(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyMatchResourceTypeInstance) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalBackupPolicyHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "last_job_completed_at", &obj.LastJobCompletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "last_job_completed_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "scope", &obj.Scope, UnmarshalBackupPolicyScope) + if err != nil { + err = core.SDKErrorf(err, "", "scope-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "included_content", &obj.IncludedContent) + if err != nil { + err = core.SDKErrorf(err, "", "included_content-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_resource_type", &obj.MatchResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "match_resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyMatchResourceTypeShare : BackupPolicyMatchResourceTypeShare struct +// This model "extends" BackupPolicy +type BackupPolicyMatchResourceTypeShare struct { + // The date and time that the backup policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this backup policy. + CRN *string `json:"crn" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []BackupPolicyHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this backup policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this backup policy. + ID *string `json:"id" validate:"required"` + + // The date and time that the most recent job for this backup policy completed. + // + // If absent, no job has yet completed for this backup policy. + LastJobCompletedAt *strfmt.DateTime `json:"last_job_completed_at,omitempty"` + + // The lifecycle state of the backup policy. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will + // be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags" validate:"required"` + + // The name for this backup policy. The name is unique across all backup policies in the region. + Name *string `json:"name" validate:"required"` + + // The plans for the backup policy. + Plans []BackupPolicyPlanReference `json:"plans" validate:"required"` + + // The resource group for this backup policy. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + Scope BackupPolicyScopeIntf `json:"scope" validate:"required"` + + // The resource type this backup policy applies to. Resources that have both a matching type and a matching user tag + // will be subject to the backup policy. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + MatchResourceType *string `json:"match_resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyMatchResourceTypeShare.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + BackupPolicyMatchResourceTypeShareHealthStateDegradedConst = "degraded" + BackupPolicyMatchResourceTypeShareHealthStateFaultedConst = "faulted" + BackupPolicyMatchResourceTypeShareHealthStateInapplicableConst = "inapplicable" + BackupPolicyMatchResourceTypeShareHealthStateOkConst = "ok" +) + +// Constants associated with the BackupPolicyMatchResourceTypeShare.LifecycleState property. +// The lifecycle state of the backup policy. +const ( + BackupPolicyMatchResourceTypeShareLifecycleStateDeletingConst = "deleting" + BackupPolicyMatchResourceTypeShareLifecycleStateFailedConst = "failed" + BackupPolicyMatchResourceTypeShareLifecycleStatePendingConst = "pending" + BackupPolicyMatchResourceTypeShareLifecycleStateStableConst = "stable" + BackupPolicyMatchResourceTypeShareLifecycleStateSuspendedConst = "suspended" + BackupPolicyMatchResourceTypeShareLifecycleStateUpdatingConst = "updating" + BackupPolicyMatchResourceTypeShareLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BackupPolicyMatchResourceTypeShare.ResourceType property. +// The resource type. +const ( + BackupPolicyMatchResourceTypeShareResourceTypeBackupPolicyConst = "backup_policy" +) + +// Constants associated with the BackupPolicyMatchResourceTypeShare.MatchResourceType property. +// The resource type this backup policy applies to. Resources that have both a matching type and a matching user tag +// will be subject to the backup policy. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BackupPolicyMatchResourceTypeShareMatchResourceTypeShareConst = "share" +) + +func (*BackupPolicyMatchResourceTypeShare) isaBackupPolicy() bool { + return true +} + +// UnmarshalBackupPolicyMatchResourceTypeShare unmarshals an instance of BackupPolicyMatchResourceTypeShare from the specified map of raw messages. +func UnmarshalBackupPolicyMatchResourceTypeShare(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyMatchResourceTypeShare) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalBackupPolicyHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "last_job_completed_at", &obj.LastJobCompletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "last_job_completed_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "scope", &obj.Scope, UnmarshalBackupPolicyScope) + if err != nil { + err = core.SDKErrorf(err, "", "scope-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_resource_type", &obj.MatchResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "match_resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyMatchResourceTypeVolume : BackupPolicyMatchResourceTypeVolume struct +// This model "extends" BackupPolicy +type BackupPolicyMatchResourceTypeVolume struct { + // The date and time that the backup policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this backup policy. + CRN *string `json:"crn" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []BackupPolicyHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this backup policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this backup policy. + ID *string `json:"id" validate:"required"` + + // The date and time that the most recent job for this backup policy completed. + // + // If absent, no job has yet completed for this backup policy. + LastJobCompletedAt *strfmt.DateTime `json:"last_job_completed_at,omitempty"` + + // The lifecycle state of the backup policy. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will + // be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags" validate:"required"` + + // The name for this backup policy. The name is unique across all backup policies in the region. + Name *string `json:"name" validate:"required"` + + // The plans for the backup policy. + Plans []BackupPolicyPlanReference `json:"plans" validate:"required"` + + // The resource group for this backup policy. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + Scope BackupPolicyScopeIntf `json:"scope" validate:"required"` + + // The resource type this backup policy applies to. Resources that have both a matching type and a matching user tag + // will be subject to the backup policy. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + MatchResourceType *string `json:"match_resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyMatchResourceTypeVolume.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + BackupPolicyMatchResourceTypeVolumeHealthStateDegradedConst = "degraded" + BackupPolicyMatchResourceTypeVolumeHealthStateFaultedConst = "faulted" + BackupPolicyMatchResourceTypeVolumeHealthStateInapplicableConst = "inapplicable" + BackupPolicyMatchResourceTypeVolumeHealthStateOkConst = "ok" +) + +// Constants associated with the BackupPolicyMatchResourceTypeVolume.LifecycleState property. +// The lifecycle state of the backup policy. +const ( + BackupPolicyMatchResourceTypeVolumeLifecycleStateDeletingConst = "deleting" + BackupPolicyMatchResourceTypeVolumeLifecycleStateFailedConst = "failed" + BackupPolicyMatchResourceTypeVolumeLifecycleStatePendingConst = "pending" + BackupPolicyMatchResourceTypeVolumeLifecycleStateStableConst = "stable" + BackupPolicyMatchResourceTypeVolumeLifecycleStateSuspendedConst = "suspended" + BackupPolicyMatchResourceTypeVolumeLifecycleStateUpdatingConst = "updating" + BackupPolicyMatchResourceTypeVolumeLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BackupPolicyMatchResourceTypeVolume.ResourceType property. +// The resource type. +const ( + BackupPolicyMatchResourceTypeVolumeResourceTypeBackupPolicyConst = "backup_policy" +) + +// Constants associated with the BackupPolicyMatchResourceTypeVolume.MatchResourceType property. +// The resource type this backup policy applies to. Resources that have both a matching type and a matching user tag +// will be subject to the backup policy. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BackupPolicyMatchResourceTypeVolumeMatchResourceTypeVolumeConst = "volume" +) + +func (*BackupPolicyMatchResourceTypeVolume) isaBackupPolicy() bool { + return true +} + +// UnmarshalBackupPolicyMatchResourceTypeVolume unmarshals an instance of BackupPolicyMatchResourceTypeVolume from the specified map of raw messages. +func UnmarshalBackupPolicyMatchResourceTypeVolume(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyMatchResourceTypeVolume) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalBackupPolicyHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "last_job_completed_at", &obj.LastJobCompletedAt) + if err != nil { + err = core.SDKErrorf(err, "", "last_job_completed_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlanReference) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "scope", &obj.Scope, UnmarshalBackupPolicyScope) + if err != nil { + err = core.SDKErrorf(err, "", "scope-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_resource_type", &obj.MatchResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "match_resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype : BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype struct +// This model "extends" BackupPolicyPrototype +type BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype struct { + // The user tags this backup policy will apply to. Resources that have both a matching user tag and a matching type + // will be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags" validate:"required"` + + // The name for this backup policy. The name must not be used by another backup policy in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The prototype objects for backup plans to be created for this backup policy. + Plans []BackupPolicyPlanPrototype `json:"plans,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + Scope BackupPolicyScopePrototypeIntf `json:"scope,omitempty"` + + // The included content for backups created using this policy: + // - `boot_volume`: Include the instance's boot volume. + // - `data_volumes`: Include the instance's data volumes. + IncludedContent []string `json:"included_content,omitempty"` + + // The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag + // will be subject to the backup policy. + // + // A backup policy of type `instance` will create a backup of all volumes with a + // `storage_generation` value of `1` attached to the instance. + MatchResourceType *string `json:"match_resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype.IncludedContent property. +// An item to include. +const ( + BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototypeIncludedContentBootVolumeConst = "boot_volume" + BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototypeIncludedContentDataVolumesConst = "data_volumes" +) + +// Constants associated with the BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype.MatchResourceType property. +// The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag +// will be subject to the backup policy. +// +// A backup policy of type `instance` will create a backup of all volumes with a +// `storage_generation` value of `1` attached to the instance. +const ( + BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototypeMatchResourceTypeInstanceConst = "instance" +) + +// NewBackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype : Instantiate BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype (Generic Model Constructor) +func (*VpcV1) NewBackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype(matchUserTags []string, matchResourceType string) (_model *BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype, err error) { + _model = &BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype{ + MatchUserTags: matchUserTags, + MatchResourceType: core.StringPtr(matchResourceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype) isaBackupPolicyPrototype() bool { + return true +} + +// UnmarshalBackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype unmarshals an instance of BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype from the specified map of raw messages. +func UnmarshalBackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype) + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlanPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "scope", &obj.Scope, UnmarshalBackupPolicyScopePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "scope-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "included_content", &obj.IncludedContent) + if err != nil { + err = core.SDKErrorf(err, "", "included_content-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_resource_type", &obj.MatchResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "match_resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype : BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype struct +// This model "extends" BackupPolicyPrototype +type BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype struct { + // The user tags this backup policy will apply to. Resources that have both a matching user tag and a matching type + // will be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags" validate:"required"` + + // The name for this backup policy. The name must not be used by another backup policy in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The prototype objects for backup plans to be created for this backup policy. + Plans []BackupPolicyPlanPrototype `json:"plans,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + Scope BackupPolicyScopePrototypeIntf `json:"scope,omitempty"` + + // The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag + // will be subject to the backup policy. + MatchResourceType *string `json:"match_resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype.MatchResourceType property. +// The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag +// will be subject to the backup policy. +const ( + BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototypeMatchResourceTypeShareConst = "share" +) + +// NewBackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype : Instantiate BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype (Generic Model Constructor) +func (*VpcV1) NewBackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype(matchUserTags []string, matchResourceType string) (_model *BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype, err error) { + _model = &BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype{ + MatchUserTags: matchUserTags, + MatchResourceType: core.StringPtr(matchResourceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype) isaBackupPolicyPrototype() bool { + return true +} + +// UnmarshalBackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype unmarshals an instance of BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype from the specified map of raw messages. +func UnmarshalBackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPrototypeBackupPolicyMatchResourceTypeSharePrototype) + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlanPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "scope", &obj.Scope, UnmarshalBackupPolicyScopePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "scope-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_resource_type", &obj.MatchResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "match_resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype : BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype struct +// This model "extends" BackupPolicyPrototype +type BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype struct { + // The user tags this backup policy will apply to. Resources that have both a matching user tag and a matching type + // will be subject to the backup policy. + MatchUserTags []string `json:"match_user_tags" validate:"required"` + + // The name for this backup policy. The name must not be used by another backup policy in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The prototype objects for backup plans to be created for this backup policy. + Plans []BackupPolicyPlanPrototype `json:"plans,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + Scope BackupPolicyScopePrototypeIntf `json:"scope,omitempty"` + + // The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag + // will be subject to the backup policy. + MatchResourceType *string `json:"match_resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype.MatchResourceType property. +// The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag +// will be subject to the backup policy. +const ( + BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototypeMatchResourceTypeVolumeConst = "volume" +) + +// NewBackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype : Instantiate BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype (Generic Model Constructor) +func (*VpcV1) NewBackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype(matchUserTags []string, matchResourceType string) (_model *BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype, err error) { + _model = &BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype{ + MatchUserTags: matchUserTags, + MatchResourceType: core.StringPtr(matchResourceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype) isaBackupPolicyPrototype() bool { + return true +} + +// UnmarshalBackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype unmarshals an instance of BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype from the specified map of raw messages. +func UnmarshalBackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyPrototypeBackupPolicyMatchResourceTypeVolumePrototype) + err = core.UnmarshalPrimitive(m, "match_user_tags", &obj.MatchUserTags) + if err != nil { + err = core.SDKErrorf(err, "", "match_user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "plans", &obj.Plans, UnmarshalBackupPolicyPlanPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "plans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "scope", &obj.Scope, UnmarshalBackupPolicyScopePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "scope-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "match_resource_type", &obj.MatchResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "match_resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyScopePrototypeEnterpriseIdentity : Identifies an enterprise by a unique property. +// Models which "extend" this model: +// - BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN +// This model "extends" BackupPolicyScopePrototype +type BackupPolicyScopePrototypeEnterpriseIdentity struct { + // The CRN for this enterprise. + CRN *string `json:"crn,omitempty"` +} + +func (*BackupPolicyScopePrototypeEnterpriseIdentity) isaBackupPolicyScopePrototypeEnterpriseIdentity() bool { + return true +} + +type BackupPolicyScopePrototypeEnterpriseIdentityIntf interface { + BackupPolicyScopePrototypeIntf + isaBackupPolicyScopePrototypeEnterpriseIdentity() bool +} + +func (*BackupPolicyScopePrototypeEnterpriseIdentity) isaBackupPolicyScopePrototype() bool { + return true +} + +// UnmarshalBackupPolicyScopePrototypeEnterpriseIdentity unmarshals an instance of BackupPolicyScopePrototypeEnterpriseIdentity from the specified map of raw messages. +func UnmarshalBackupPolicyScopePrototypeEnterpriseIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyScopePrototypeEnterpriseIdentity) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyScopeAccountReference : BackupPolicyScopeAccountReference struct +// This model "extends" BackupPolicyScope +type BackupPolicyScopeAccountReference struct { + // The unique identifier for this account. + ID *string `json:"id" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyScopeAccountReference.ResourceType property. +// The resource type. +const ( + BackupPolicyScopeAccountReferenceResourceTypeAccountConst = "account" +) + +func (*BackupPolicyScopeAccountReference) isaBackupPolicyScope() bool { + return true +} + +// UnmarshalBackupPolicyScopeAccountReference unmarshals an instance of BackupPolicyScopeAccountReference from the specified map of raw messages. +func UnmarshalBackupPolicyScopeAccountReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyScopeAccountReference) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyScopeEnterpriseReference : BackupPolicyScopeEnterpriseReference struct +// This model "extends" BackupPolicyScope +type BackupPolicyScopeEnterpriseReference struct { + // The CRN for this enterprise. + CRN *string `json:"crn" validate:"required"` + + // The unique identifier for this enterprise. + ID *string `json:"id" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyScopeEnterpriseReference.ResourceType property. +// The resource type. +const ( + BackupPolicyScopeEnterpriseReferenceResourceTypeEnterpriseConst = "enterprise" +) + +func (*BackupPolicyScopeEnterpriseReference) isaBackupPolicyScope() bool { + return true +} + +// UnmarshalBackupPolicyScopeEnterpriseReference unmarshals an instance of BackupPolicyScopeEnterpriseReference from the specified map of raw messages. +func UnmarshalBackupPolicyScopeEnterpriseReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyScopeEnterpriseReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyTargetSnapshotShareSnapshotReference : BackupPolicyTargetSnapshotShareSnapshotReference struct +// This model "extends" BackupPolicyTargetSnapshot +type BackupPolicyTargetSnapshotShareSnapshotReference struct { + // The CRN for this share snapshot. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this share snapshot. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this share snapshot. + ID *string `json:"id" validate:"required"` + + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyTargetSnapshotShareSnapshotReference.ResourceType property. +// The resource type. +const ( + BackupPolicyTargetSnapshotShareSnapshotReferenceResourceTypeShareSnapshotConst = "share_snapshot" +) + +func (*BackupPolicyTargetSnapshotShareSnapshotReference) isaBackupPolicyTargetSnapshot() bool { + return true +} + +// UnmarshalBackupPolicyTargetSnapshotShareSnapshotReference unmarshals an instance of BackupPolicyTargetSnapshotShareSnapshotReference from the specified map of raw messages. +func UnmarshalBackupPolicyTargetSnapshotShareSnapshotReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyTargetSnapshotShareSnapshotReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPolicyTargetSnapshotSnapshotReference : BackupPolicyTargetSnapshotSnapshotReference struct +// This model "extends" BackupPolicyTargetSnapshot +type BackupPolicyTargetSnapshotSnapshotReference struct { + // The CRN of this snapshot. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this snapshot. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this snapshot. + ID *string `json:"id" validate:"required"` + + // The name for this snapshot. The name is unique across all snapshots in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *SnapshotRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BackupPolicyTargetSnapshotSnapshotReference.ResourceType property. +// The resource type. +const ( + BackupPolicyTargetSnapshotSnapshotReferenceResourceTypeSnapshotConst = "snapshot" +) + +func (*BackupPolicyTargetSnapshotSnapshotReference) isaBackupPolicyTargetSnapshot() bool { + return true +} + +// UnmarshalBackupPolicyTargetSnapshotSnapshotReference unmarshals an instance of BackupPolicyTargetSnapshotSnapshotReference from the specified map of raw messages. +func UnmarshalBackupPolicyTargetSnapshotSnapshotReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyTargetSnapshotSnapshotReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSnapshotRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerBootTargetBareMetalServerDiskReference : BareMetalServerBootTargetBareMetalServerDiskReference struct +// This model "extends" BareMetalServerBootTarget +type BareMetalServerBootTargetBareMetalServerDiskReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this bare metal server disk. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server disk. + ID *string `json:"id" validate:"required"` + + // The name for this bare metal server disk. The name is unique across all disks on the bare metal server. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the BareMetalServerBootTargetBareMetalServerDiskReference.ResourceType property. +// The resource type. +const ( + BareMetalServerBootTargetBareMetalServerDiskReferenceResourceTypeBareMetalServerDiskConst = "bare_metal_server_disk" +) + +func (*BareMetalServerBootTargetBareMetalServerDiskReference) isaBareMetalServerBootTarget() bool { + return true +} + +// UnmarshalBareMetalServerBootTargetBareMetalServerDiskReference unmarshals an instance of BareMetalServerBootTargetBareMetalServerDiskReference from the specified map of raw messages. +func UnmarshalBareMetalServerBootTargetBareMetalServerDiskReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerBootTargetBareMetalServerDiskReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount : BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount struct +// This model "extends" BareMetalServerInitializationUserAccount +type BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount struct { + // The administrator password at initialization, encrypted using `encryption_key`, and returned base64-encoded. + EncryptedPassword *[]byte `json:"encrypted_password" validate:"required"` + + // The public SSH key used to encrypt the password. + EncryptionKey *KeyReference `json:"encryption_key" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The username for the account created at initialization. + Username *string `json:"username" validate:"required"` +} + +// Constants associated with the BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount.ResourceType property. +// The resource type. +const ( + BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccountResourceTypeHostUserAccountConst = "host_user_account" +) + +func (*BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount) isaBareMetalServerInitializationUserAccount() bool { + return true +} + +// UnmarshalBareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount unmarshals an instance of BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount from the specified map of raw messages. +func UnmarshalBareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerInitializationUserAccountBareMetalServerInitializationHostUserAccount) + err = core.UnmarshalPrimitive(m, "encrypted_password", &obj.EncryptedPassword) + if err != nil { + err = core.SDKErrorf(err, "", "encrypted_password-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalKeyReference) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "username", &obj.Username) + if err != nil { + err = core.SDKErrorf(err, "", "username-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentByPci : BareMetalServerNetworkAttachmentByPci struct +// This model "extends" BareMetalServerNetworkAttachment +type BareMetalServerNetworkAttachmentByPci struct { + // The date and time that the bare metal server network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this bare metal server network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network attachment. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the bare metal server network attachment. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this bare metal server network attachment. The name is unique across all network attachments for the + // bare metal server. + Name *string `json:"name" validate:"required"` + + // The port speed for this bare metal server network attachment in Mbps. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of the virtual network interface for the bare metal server network attachment. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The subnet of the virtual network interface for the bare metal server network attachment. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The bare metal server network attachment type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface" validate:"required"` + + // The VLAN IDs allowed for `vlan` attachments using this PCI attachment. + AllowedVlans []int64 `json:"allowed_vlans" validate:"required"` + + InterfaceType *string `json:"interface_type" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkAttachmentByPci.LifecycleState property. +// The lifecycle state of the bare metal server network attachment. +const ( + BareMetalServerNetworkAttachmentByPciLifecycleStateDeletingConst = "deleting" + BareMetalServerNetworkAttachmentByPciLifecycleStateFailedConst = "failed" + BareMetalServerNetworkAttachmentByPciLifecycleStatePendingConst = "pending" + BareMetalServerNetworkAttachmentByPciLifecycleStateStableConst = "stable" + BareMetalServerNetworkAttachmentByPciLifecycleStateSuspendedConst = "suspended" + BareMetalServerNetworkAttachmentByPciLifecycleStateUpdatingConst = "updating" + BareMetalServerNetworkAttachmentByPciLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BareMetalServerNetworkAttachmentByPci.ResourceType property. +// The resource type. +const ( + BareMetalServerNetworkAttachmentByPciResourceTypeBareMetalServerNetworkAttachmentConst = "bare_metal_server_network_attachment" +) + +// Constants associated with the BareMetalServerNetworkAttachmentByPci.Type property. +// The bare metal server network attachment type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerNetworkAttachmentByPciTypePrimaryConst = "primary" + BareMetalServerNetworkAttachmentByPciTypeSecondaryConst = "secondary" +) + +// Constants associated with the BareMetalServerNetworkAttachmentByPci.InterfaceType property. +const ( + BareMetalServerNetworkAttachmentByPciInterfaceTypePciConst = "pci" +) + +func (*BareMetalServerNetworkAttachmentByPci) isaBareMetalServerNetworkAttachment() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentByPci unmarshals an instance of BareMetalServerNetworkAttachmentByPci from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentByPci(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentByPci) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_speed", &obj.PortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentByVlan : BareMetalServerNetworkAttachmentByVlan struct +// This model "extends" BareMetalServerNetworkAttachment +type BareMetalServerNetworkAttachmentByVlan struct { + // The date and time that the bare metal server network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this bare metal server network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network attachment. + ID *string `json:"id" validate:"required"` + + // The lifecycle state of the bare metal server network attachment. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The name for this bare metal server network attachment. The name is unique across all network attachments for the + // bare metal server. + Name *string `json:"name" validate:"required"` + + // The port speed for this bare metal server network attachment in Mbps. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of the virtual network interface for the bare metal server network attachment. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The subnet of the virtual network interface for the bare metal server network attachment. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The bare metal server network attachment type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface" validate:"required"` + + // Indicates if the data path for the network attachment can float to another bare metal server. Can only be `true` for + // network attachments with an `interface_type` of `vlan`. + // + // If `true`, and the network detects traffic for this data path on another bare metal server in the resource group, + // the network attachment will be automatically deleted from this bare metal server and a new network attachment with + // the same `id`, `name` and `vlan` will be created on the other bare metal server. The virtual network interface for + // this network attachment will be automatically be attached to the new network attachment. + // + // For the data path to float, the other bare metal server must be in the same + // `resource_group`, and must have a network attachment with `interface_type` of `pci` with `allowed_vlans` including + // this network attachment's `vlan`. + AllowToFloat *bool `json:"allow_to_float" validate:"required"` + + InterfaceType *string `json:"interface_type" validate:"required"` + + // The IEEE 802.1Q VLAN ID that must be used for all traffic on this attachment. + Vlan *int64 `json:"vlan" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkAttachmentByVlan.LifecycleState property. +// The lifecycle state of the bare metal server network attachment. +const ( + BareMetalServerNetworkAttachmentByVlanLifecycleStateDeletingConst = "deleting" + BareMetalServerNetworkAttachmentByVlanLifecycleStateFailedConst = "failed" + BareMetalServerNetworkAttachmentByVlanLifecycleStatePendingConst = "pending" + BareMetalServerNetworkAttachmentByVlanLifecycleStateStableConst = "stable" + BareMetalServerNetworkAttachmentByVlanLifecycleStateSuspendedConst = "suspended" + BareMetalServerNetworkAttachmentByVlanLifecycleStateUpdatingConst = "updating" + BareMetalServerNetworkAttachmentByVlanLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the BareMetalServerNetworkAttachmentByVlan.ResourceType property. +// The resource type. +const ( + BareMetalServerNetworkAttachmentByVlanResourceTypeBareMetalServerNetworkAttachmentConst = "bare_metal_server_network_attachment" +) + +// Constants associated with the BareMetalServerNetworkAttachmentByVlan.Type property. +// The bare metal server network attachment type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + BareMetalServerNetworkAttachmentByVlanTypePrimaryConst = "primary" + BareMetalServerNetworkAttachmentByVlanTypeSecondaryConst = "secondary" +) + +// Constants associated with the BareMetalServerNetworkAttachmentByVlan.InterfaceType property. +const ( + BareMetalServerNetworkAttachmentByVlanInterfaceTypeVlanConst = "vlan" +) + +func (*BareMetalServerNetworkAttachmentByVlan) isaBareMetalServerNetworkAttachment() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentByVlan unmarshals an instance of BareMetalServerNetworkAttachmentByVlan from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentByVlan(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentByVlan) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_speed", &obj.PortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allow_to_float", &obj.AllowToFloat) + if err != nil { + err = core.SDKErrorf(err, "", "allow_to_float-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "vlan", &obj.Vlan) + if err != nil { + err = core.SDKErrorf(err, "", "vlan-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity : Identifies a virtual network interface by a unique property. +// Models which "extend" this model: +// - BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID +// - BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref +// - BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN +// This model "extends" BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface +type BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool { + return true +} + +type BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityIntf interface { + BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf + isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool +} + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity unmarshals an instance of BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext : The virtual network interface for this target. +// This model "extends" BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface +type BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on + // this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP + // identity, or a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be + // in the primary IP's subnet. + // + // If reserved IP identities are provided, the specified reserved IPs must be unbound. + // + // If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network + // interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet + // will be automatically selected and reserved. + Ips []VirtualNetworkInterfaceIPPrototypeIntf `json:"ips,omitempty"` + + // The name for this virtual network interface. The name must not be used by another virtual network interface in the + // VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are + // reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the virtual network interface. May be either a + // reserved IP identity, or a reserved IP prototype object which will be used to create a + // new reserved IP. + // + // If a reserved IP identity is provided, the specified reserved IP must be unbound. + // + // If a reserved IP prototype object with an address is provided, the address must be + // available on the virtual network interface's subnet. If no address is specified, + // an available address on the subnet will be automatically selected and reserved. + PrimaryIP VirtualNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The protocol state filtering mode to use for this virtual network interface. If + // `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` + // resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode,omitempty"` + + // The resource group to use for this virtual network interface. If unspecified, the + // bare metal server's resource group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC + // for the subnet is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. Required if `primary_ip` does not specify a reserved IP + // identity. + Subnet SubnetIdentityIntf `json:"subnet,omitempty"` +} + +// Constants associated with the BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext.ProtocolStateFilteringMode property. +// The protocol state filtering mode to use for this virtual network interface. If +// `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` +// resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. +const ( + BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContextProtocolStateFilteringModeAutoConst = "auto" + BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContextProtocolStateFilteringModeDisabledConst = "disabled" + BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContextProtocolStateFilteringModeEnabledConst = "enabled" +) + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext unmarshals an instance of BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeBareMetalServerNetworkAttachmentContext) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalVirtualNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalVirtualNetworkInterfacePrimaryIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state_filtering_mode", &obj.ProtocolStateFilteringMode) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state_filtering_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype : BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype struct +// This model "extends" BareMetalServerNetworkAttachmentPrototype +type BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype struct { + // The name for this bare metal server network attachment. Names must be unique within the bare metal server the + // network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + VirtualNetworkInterface BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf `json:"virtual_network_interface" validate:"required"` + + // The VLAN IDs to allow for `vlan` attachments using this PCI attachment. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + InterfaceType *string `json:"interface_type" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype.InterfaceType property. +const ( + BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototypeInterfaceTypePciConst = "pci" +) + +// NewBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype : Instantiate BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype(virtualNetworkInterface BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf, interfaceType string) (_model *BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype, err error) { + _model = &BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype{ + VirtualNetworkInterface: virtualNetworkInterface, + InterfaceType: core.StringPtr(interfaceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype) isaBareMetalServerNetworkAttachmentPrototype() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype unmarshals an instance of BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByPciPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype : BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype struct +// This model "extends" BareMetalServerNetworkAttachmentPrototype +type BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype struct { + // The name for this bare metal server network attachment. Names must be unique within the bare metal server the + // network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + VirtualNetworkInterface BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf `json:"virtual_network_interface" validate:"required"` + + // Indicates if the data path for the network attachment can float to another bare metal server. Can only be `true` for + // network attachments with an `interface_type` of `vlan`. + // + // If `true`, and the network detects traffic for this data path on another bare metal server in the resource group, + // the network attachment will be automatically deleted from this bare metal server and a new network attachment with + // the same `id`, `name` and `vlan` will be created on the other bare metal server. The virtual network interface for + // this network attachment will be automatically be attached to the new network attachment. + // + // For the data path to float, the other bare metal server must be in the same + // `resource_group`, and must have a network attachment with `interface_type` of `pci` with `allowed_vlans` including + // this network attachment's `vlan`. + AllowToFloat *bool `json:"allow_to_float,omitempty"` + + InterfaceType *string `json:"interface_type" validate:"required"` + + // The IEEE 802.1Q VLAN ID that must be used for all traffic on this attachment. + Vlan *int64 `json:"vlan" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype.InterfaceType property. +const ( + BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototypeInterfaceTypeVlanConst = "vlan" +) + +// NewBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype : Instantiate BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype(virtualNetworkInterface BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf, interfaceType string, vlan int64) (_model *BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype, err error) { + _model = &BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype{ + VirtualNetworkInterface: virtualNetworkInterface, + InterfaceType: core.StringPtr(interfaceType), + Vlan: core.Int64Ptr(vlan), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype) isaBareMetalServerNetworkAttachmentPrototype() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype unmarshals an instance of BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototypeBareMetalServerNetworkAttachmentByVlanPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allow_to_float", &obj.AllowToFloat) + if err != nil { + err = core.SDKErrorf(err, "", "allow_to_float-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "vlan", &obj.Vlan) + if err != nil { + err = core.SDKErrorf(err, "", "vlan-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkInterfaceByHiperSocket : BareMetalServerNetworkInterfaceByHiperSocket struct +// This model "extends" BareMetalServerNetworkInterface +type BareMetalServerNetworkInterfaceByHiperSocket struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing" validate:"required"` + + // The date and time that the bare metal server network interface was created. + // + // If this bare metal server has network attachments, this network interface was created as a [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) when its corresponding + // network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat" validate:"required"` + + // The floating IPs associated with this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the floating IPs are associated + // with the attached virtual network interface. + FloatingIps []FloatingIPReference `json:"floating_ips" validate:"required"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The MAC address of this bare metal server network interface. If the MAC address has not yet been selected, the value + // will be empty. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the MAC address is that of the + // attached virtual network interface. + MacAddress *string `json:"mac_address" validate:"required"` + + // The name for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the name matches its corresponding + // network attachment. + Name *string `json:"name" validate:"required"` + + // The bare metal server network interface port speed in Mbps. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the port speed is that of its + // corresponding network attachment. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of this bare metal server network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The security groups targeting this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the security groups are associated + // with the attached virtual network interface. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // The status of the bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a read-only representation of its + // corresponding network attachment and its attached virtual network interface, and the status is [computed from + // them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). + Status *string `json:"status" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The bare metal server network interface type. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the type is that of its + // corresponding network attachment. + Type *string `json:"type" validate:"required"` + + InterfaceType *string `json:"interface_type" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkInterfaceByHiperSocket.ResourceType property. +// The resource type. +const ( + BareMetalServerNetworkInterfaceByHiperSocketResourceTypeNetworkInterfaceConst = "network_interface" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByHiperSocket.Status property. +// The status of the bare metal server network interface. +// +// If this bare metal server has network attachments, this network interface is a read-only representation of its +// corresponding network attachment and its attached virtual network interface, and the status is [computed from +// them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). +const ( + BareMetalServerNetworkInterfaceByHiperSocketStatusAvailableConst = "available" + BareMetalServerNetworkInterfaceByHiperSocketStatusDeletingConst = "deleting" + BareMetalServerNetworkInterfaceByHiperSocketStatusFailedConst = "failed" + BareMetalServerNetworkInterfaceByHiperSocketStatusPendingConst = "pending" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByHiperSocket.Type property. +// The bare metal server network interface type. +// +// If this bare metal server has network attachments, this network interface is a +// [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its +// corresponding network attachment and its attached virtual network interface, and the type is that of its +// corresponding network attachment. +const ( + BareMetalServerNetworkInterfaceByHiperSocketTypePrimaryConst = "primary" + BareMetalServerNetworkInterfaceByHiperSocketTypeSecondaryConst = "secondary" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByHiperSocket.InterfaceType property. +const ( + BareMetalServerNetworkInterfaceByHiperSocketInterfaceTypeHipersocketConst = "hipersocket" +) + +func (*BareMetalServerNetworkInterfaceByHiperSocket) isaBareMetalServerNetworkInterface() bool { + return true +} + +// UnmarshalBareMetalServerNetworkInterfaceByHiperSocket unmarshals an instance of BareMetalServerNetworkInterfaceByHiperSocket from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfaceByHiperSocket(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkInterfaceByHiperSocket) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "floating_ips", &obj.FloatingIps, UnmarshalFloatingIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "floating_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mac_address", &obj.MacAddress) + if err != nil { + err = core.SDKErrorf(err, "", "mac_address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_speed", &obj.PortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkInterfaceByPci : BareMetalServerNetworkInterfaceByPci struct +// This model "extends" BareMetalServerNetworkInterface +type BareMetalServerNetworkInterfaceByPci struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing" validate:"required"` + + // The date and time that the bare metal server network interface was created. + // + // If this bare metal server has network attachments, this network interface was created as a [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) when its corresponding + // network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat" validate:"required"` + + // The floating IPs associated with this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the floating IPs are associated + // with the attached virtual network interface. + FloatingIps []FloatingIPReference `json:"floating_ips" validate:"required"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The MAC address of this bare metal server network interface. If the MAC address has not yet been selected, the value + // will be empty. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the MAC address is that of the + // attached virtual network interface. + MacAddress *string `json:"mac_address" validate:"required"` + + // The name for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the name matches its corresponding + // network attachment. + Name *string `json:"name" validate:"required"` + + // The bare metal server network interface port speed in Mbps. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the port speed is that of its + // corresponding network attachment. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of this bare metal server network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The security groups targeting this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the security groups are associated + // with the attached virtual network interface. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // The status of the bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a read-only representation of its + // corresponding network attachment and its attached virtual network interface, and the status is [computed from + // them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). + Status *string `json:"status" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The bare metal server network interface type. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the type is that of its + // corresponding network attachment. + Type *string `json:"type" validate:"required"` + + // The VLAN IDs allowed for `vlan` interfaces using this PCI interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the VLAN IDs match the + // `allow_vlans` of the corresponding network attachment. + AllowedVlans []int64 `json:"allowed_vlans" validate:"required"` + + InterfaceType *string `json:"interface_type" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkInterfaceByPci.ResourceType property. +// The resource type. +const ( + BareMetalServerNetworkInterfaceByPciResourceTypeNetworkInterfaceConst = "network_interface" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByPci.Status property. +// The status of the bare metal server network interface. +// +// If this bare metal server has network attachments, this network interface is a read-only representation of its +// corresponding network attachment and its attached virtual network interface, and the status is [computed from +// them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). +const ( + BareMetalServerNetworkInterfaceByPciStatusAvailableConst = "available" + BareMetalServerNetworkInterfaceByPciStatusDeletingConst = "deleting" + BareMetalServerNetworkInterfaceByPciStatusFailedConst = "failed" + BareMetalServerNetworkInterfaceByPciStatusPendingConst = "pending" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByPci.Type property. +// The bare metal server network interface type. +// +// If this bare metal server has network attachments, this network interface is a +// [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its +// corresponding network attachment and its attached virtual network interface, and the type is that of its +// corresponding network attachment. +const ( + BareMetalServerNetworkInterfaceByPciTypePrimaryConst = "primary" + BareMetalServerNetworkInterfaceByPciTypeSecondaryConst = "secondary" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByPci.InterfaceType property. +const ( + BareMetalServerNetworkInterfaceByPciInterfaceTypePciConst = "pci" +) + +func (*BareMetalServerNetworkInterfaceByPci) isaBareMetalServerNetworkInterface() bool { + return true +} + +// UnmarshalBareMetalServerNetworkInterfaceByPci unmarshals an instance of BareMetalServerNetworkInterfaceByPci from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfaceByPci(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkInterfaceByPci) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "floating_ips", &obj.FloatingIps, UnmarshalFloatingIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "floating_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mac_address", &obj.MacAddress) + if err != nil { + err = core.SDKErrorf(err, "", "mac_address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_speed", &obj.PortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkInterfaceByVlan : BareMetalServerNetworkInterfaceByVlan struct +// This model "extends" BareMetalServerNetworkInterface +type BareMetalServerNetworkInterfaceByVlan struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing" validate:"required"` + + // The date and time that the bare metal server network interface was created. + // + // If this bare metal server has network attachments, this network interface was created as a [read-only + // representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) when its corresponding + // network attachment was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat" validate:"required"` + + // The floating IPs associated with this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the floating IPs are associated + // with the attached virtual network interface. + FloatingIps []FloatingIPReference `json:"floating_ips" validate:"required"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The MAC address of this bare metal server network interface. If the MAC address has not yet been selected, the value + // will be empty. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the MAC address is that of the + // attached virtual network interface. + MacAddress *string `json:"mac_address" validate:"required"` + + // The name for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the name matches its corresponding + // network attachment. + Name *string `json:"name" validate:"required"` + + // The bare metal server network interface port speed in Mbps. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the port speed is that of its + // corresponding network attachment. + PortSpeed *int64 `json:"port_speed" validate:"required"` + + // The primary IP address of this bare metal server network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The security groups targeting this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the security groups are associated + // with the attached virtual network interface. + SecurityGroups []SecurityGroupReference `json:"security_groups" validate:"required"` + + // The status of the bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a read-only representation of its + // corresponding network attachment and its attached virtual network interface, and the status is [computed from + // them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). + Status *string `json:"status" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The bare metal server network interface type. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the type is that of its + // corresponding network attachment. + Type *string `json:"type" validate:"required"` + + // Indicates if the data path for the network interface can float to another bare metal server. Can only be `true` for + // network interfaces with an `interface_type` of `vlan`. + // + // If `true`, and the network detects traffic for this data path on another bare metal server in the resource group, + // the network interface will be automatically deleted from this bare metal server and a new network interface with the + // same `id`, `name` and `vlan` will be created on the other bare metal server. + // + // For the data path to float, the other bare metal server must be in the same + // `resource_group`, and must have a network interface with `interface_type` of `pci` with `allowed_vlans` including + // this network interface's `vlan`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the value of this property matches + // that of the `allow_to_float` property of the corresponding network attachment. + AllowInterfaceToFloat *bool `json:"allow_interface_to_float" validate:"required"` + + InterfaceType *string `json:"interface_type" validate:"required"` + + // The VLAN ID used in the IEEE 802.1Q tag present in all traffic on this interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the VLAN ID matches the `vlan` of + // the corresponding network attachment. + Vlan *int64 `json:"vlan" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkInterfaceByVlan.ResourceType property. +// The resource type. +const ( + BareMetalServerNetworkInterfaceByVlanResourceTypeNetworkInterfaceConst = "network_interface" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByVlan.Status property. +// The status of the bare metal server network interface. +// +// If this bare metal server has network attachments, this network interface is a read-only representation of its +// corresponding network attachment and its attached virtual network interface, and the status is [computed from +// them](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients). +const ( + BareMetalServerNetworkInterfaceByVlanStatusAvailableConst = "available" + BareMetalServerNetworkInterfaceByVlanStatusDeletingConst = "deleting" + BareMetalServerNetworkInterfaceByVlanStatusFailedConst = "failed" + BareMetalServerNetworkInterfaceByVlanStatusPendingConst = "pending" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByVlan.Type property. +// The bare metal server network interface type. +// +// If this bare metal server has network attachments, this network interface is a +// [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its +// corresponding network attachment and its attached virtual network interface, and the type is that of its +// corresponding network attachment. +const ( + BareMetalServerNetworkInterfaceByVlanTypePrimaryConst = "primary" + BareMetalServerNetworkInterfaceByVlanTypeSecondaryConst = "secondary" +) + +// Constants associated with the BareMetalServerNetworkInterfaceByVlan.InterfaceType property. +const ( + BareMetalServerNetworkInterfaceByVlanInterfaceTypeVlanConst = "vlan" +) + +func (*BareMetalServerNetworkInterfaceByVlan) isaBareMetalServerNetworkInterface() bool { + return true +} + +// UnmarshalBareMetalServerNetworkInterfaceByVlan unmarshals an instance of BareMetalServerNetworkInterfaceByVlan from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfaceByVlan(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkInterfaceByVlan) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "floating_ips", &obj.FloatingIps, UnmarshalFloatingIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "floating_ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mac_address", &obj.MacAddress) + if err != nil { + err = core.SDKErrorf(err, "", "mac_address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_speed", &obj.PortSpeed) + if err != nil { + err = core.SDKErrorf(err, "", "port_speed-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allow_interface_to_float", &obj.AllowInterfaceToFloat) + if err != nil { + err = core.SDKErrorf(err, "", "allow_interface_to_float-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "vlan", &obj.Vlan) + if err != nil { + err = core.SDKErrorf(err, "", "vlan-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype : BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype struct +// This model "extends" BareMetalServerNetworkInterfacePrototype +type BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The name for this bare metal server network interface. The name must not be used by another network interface on the + // bare metal server. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the bare metal server network interface. This can be specified using an existing + // reserved IP, or a prototype object for a new reserved IP. + // + // If an existing reserved IP or a prototype object with an address is specified, it must be available on the bare + // metal server network interface's subnet. Otherwise, an available address on the subnet will be automatically + // selected and reserved. + PrimaryIP NetworkInterfaceIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The security groups to use for this bare metal server network interface. If unspecified, the VPC's default security + // group is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` + + InterfaceType *string `json:"interface_type" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype.InterfaceType property. +const ( + BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototypeInterfaceTypeHipersocketConst = "hipersocket" +) + +// NewBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype : Instantiate BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype(subnet SubnetIdentityIntf, interfaceType string) (_model *BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype, err error) { + _model = &BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype{ + Subnet: subnet, + InterfaceType: core.StringPtr(interfaceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype) isaBareMetalServerNetworkInterfacePrototype() bool { + return true +} + +// UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype unmarshals an instance of BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByHiperSocketPrototype) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype : BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype struct +// This model "extends" BareMetalServerNetworkInterfacePrototype +type BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The name for this bare metal server network interface. The name must not be used by another network interface on the + // bare metal server. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the bare metal server network interface. This can be specified using an existing + // reserved IP, or a prototype object for a new reserved IP. + // + // If an existing reserved IP or a prototype object with an address is specified, it must be available on the bare + // metal server network interface's subnet. Otherwise, an available address on the subnet will be automatically + // selected and reserved. + PrimaryIP NetworkInterfaceIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The security groups to use for this bare metal server network interface. If unspecified, the VPC's default security + // group is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` + + // The VLAN IDs to allow for `vlan` interfaces using this PCI interface. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + InterfaceType *string `json:"interface_type" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype.InterfaceType property. +const ( + BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototypeInterfaceTypePciConst = "pci" +) + +// NewBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype : Instantiate BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype(subnet SubnetIdentityIntf, interfaceType string) (_model *BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype, err error) { + _model = &BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype{ + Subnet: subnet, + InterfaceType: core.StringPtr(interfaceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype) isaBareMetalServerNetworkInterfacePrototype() bool { + return true +} + +// UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype unmarshals an instance of BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByPciPrototype) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype : BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype struct +// This model "extends" BareMetalServerNetworkInterfacePrototype +type BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype struct { + // Indicates whether source IP spoofing is allowed on this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and source IP spoofing is managed on + // the attached virtual network interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the bare metal server network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - `interface_type` must not be `hipersocket`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and infrastructure NAT is managed on + // the attached virtual network interface. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The name for this bare metal server network interface. The name must not be used by another network interface on the + // bare metal server. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the bare metal server network interface. This can be specified using an existing + // reserved IP, or a prototype object for a new reserved IP. + // + // If an existing reserved IP or a prototype object with an address is specified, it must be available on the bare + // metal server network interface's subnet. Otherwise, an available address on the subnet will be automatically + // selected and reserved. + PrimaryIP NetworkInterfaceIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The security groups to use for this bare metal server network interface. If unspecified, the VPC's default security + // group is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` + + // Indicates if the data path for the network interface can float to another bare metal server. Can only be `true` for + // network interfaces with an `interface_type` of `vlan`. + // + // If `true`, and the network detects traffic for this data path on another bare metal server in the resource group, + // the network interface will be automatically deleted from this bare metal server and a new network interface with the + // same `id`, `name` and `vlan` will be created on the other bare metal server. + // + // For the data path to float, the other bare metal server must be in the same + // `resource_group`, and must have a network interface with `interface_type` of `pci` with `allowed_vlans` including + // this network interface's `vlan`. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the value of this property matches + // that of the `allow_to_float` property of the corresponding network attachment. + AllowInterfaceToFloat *bool `json:"allow_interface_to_float,omitempty"` + + InterfaceType *string `json:"interface_type" validate:"required"` + + // The VLAN ID used in the IEEE 802.1Q tag present in all traffic on this interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the VLAN ID matches the `vlan` of + // the corresponding network attachment. + Vlan *int64 `json:"vlan" validate:"required"` +} + +// Constants associated with the BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype.InterfaceType property. +const ( + BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototypeInterfaceTypeVlanConst = "vlan" +) + +// NewBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype : Instantiate BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype(subnet SubnetIdentityIntf, interfaceType string, vlan int64) (_model *BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype, err error) { + _model = &BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype{ + Subnet: subnet, + InterfaceType: core.StringPtr(interfaceType), + Vlan: core.Int64Ptr(vlan), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype) isaBareMetalServerNetworkInterfacePrototype() bool { + return true +} + +// UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype unmarshals an instance of BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkInterfacePrototypeBareMetalServerNetworkInterfaceByVlanPrototype) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allow_interface_to_float", &obj.AllowInterfaceToFloat) + if err != nil { + err = core.SDKErrorf(err, "", "allow_interface_to_float-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "vlan", &obj.Vlan) + if err != nil { + err = core.SDKErrorf(err, "", "vlan-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype : BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype struct +// This model "extends" BareMetalServerPrimaryNetworkAttachmentPrototype +type BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype struct { + // The name for this bare metal server network attachment. Names must be unique within the bare metal server the + // network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + VirtualNetworkInterface BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf `json:"virtual_network_interface" validate:"required"` + + // The VLAN IDs to allow for `vlan` attachments using this PCI attachment. + AllowedVlans []int64 `json:"allowed_vlans,omitempty"` + + InterfaceType *string `json:"interface_type,omitempty"` +} + +// Constants associated with the BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype.InterfaceType property. +const ( + BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototypeInterfaceTypePciConst = "pci" +) + +// NewBareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype : Instantiate BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype(virtualNetworkInterface BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf) (_model *BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype, err error) { + _model = &BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype{ + VirtualNetworkInterface: virtualNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype) isaBareMetalServerPrimaryNetworkAttachmentPrototype() bool { + return true +} + +// UnmarshalBareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype unmarshals an instance of BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype from the specified map of raw messages. +func UnmarshalBareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerPrimaryNetworkAttachmentPrototypeBareMetalServerPrimaryNetworkAttachmentByPciPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_vlans", &obj.AllowedVlans) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_vlans-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "interface_type", &obj.InterfaceType) + if err != nil { + err = core.SDKErrorf(err, "", "interface_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileBandwidthDependent : The total bandwidth shared across the bare metal server network attachments or bare metal server network interfaces +// of a bare metal server with this profile depends on its configuration. +// This model "extends" BareMetalServerProfileBandwidth +type BareMetalServerProfileBandwidthDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileBandwidthDependent.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileBandwidthDependentTypeDependentConst = "dependent" +) + +func (*BareMetalServerProfileBandwidthDependent) isaBareMetalServerProfileBandwidth() bool { + return true +} + +// UnmarshalBareMetalServerProfileBandwidthDependent unmarshals an instance of BareMetalServerProfileBandwidthDependent from the specified map of raw messages. +func UnmarshalBareMetalServerProfileBandwidthDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileBandwidthDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileBandwidthEnum : The permitted total bandwidth values (in megabits per second) shared across the bare metal server network attachments +// or bare metal server network interfaces of a bare metal server with this profile. +// This model "extends" BareMetalServerProfileBandwidth +type BareMetalServerProfileBandwidthEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileBandwidthEnum.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileBandwidthEnumTypeEnumConst = "enum" +) + +func (*BareMetalServerProfileBandwidthEnum) isaBareMetalServerProfileBandwidth() bool { + return true +} + +// UnmarshalBareMetalServerProfileBandwidthEnum unmarshals an instance of BareMetalServerProfileBandwidthEnum from the specified map of raw messages. +func UnmarshalBareMetalServerProfileBandwidthEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileBandwidthEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileBandwidthFixed : The total bandwidth (in megabits per second) shared across the bare metal server network attachments or bare metal +// server network interfaces of a bare metal server with this profile. +// This model "extends" BareMetalServerProfileBandwidth +type BareMetalServerProfileBandwidthFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileBandwidthFixed.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileBandwidthFixedTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileBandwidthFixed) isaBareMetalServerProfileBandwidth() bool { + return true +} + +// UnmarshalBareMetalServerProfileBandwidthFixed unmarshals an instance of BareMetalServerProfileBandwidthFixed from the specified map of raw messages. +func UnmarshalBareMetalServerProfileBandwidthFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileBandwidthFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileBandwidthRange : The permitted total bandwidth range (in megabits per second) shared across the network attachments or network +// interfaces of a bare metal server with this profile. +// This model "extends" BareMetalServerProfileBandwidth +type BareMetalServerProfileBandwidthRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileBandwidthRange.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileBandwidthRangeTypeRangeConst = "range" +) + +func (*BareMetalServerProfileBandwidthRange) isaBareMetalServerProfileBandwidth() bool { + return true +} + +// UnmarshalBareMetalServerProfileBandwidthRange unmarshals an instance of BareMetalServerProfileBandwidthRange from the specified map of raw messages. +func UnmarshalBareMetalServerProfileBandwidthRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileBandwidthRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuCoreCountDependent : The CPU core count for a bare metal server with this profile depends on its configuration. +// This model "extends" BareMetalServerProfileCpuCoreCount +type BareMetalServerProfileCpuCoreCountDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuCoreCountDependent.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuCoreCountDependentTypeDependentConst = "dependent" +) + +func (*BareMetalServerProfileCpuCoreCountDependent) isaBareMetalServerProfileCpuCoreCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileCpuCoreCountDependent unmarshals an instance of BareMetalServerProfileCpuCoreCountDependent from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuCoreCountDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuCoreCountDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuCoreCountEnum : The permitted values for CPU cores for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileCpuCoreCount +type BareMetalServerProfileCpuCoreCountEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuCoreCountEnum.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuCoreCountEnumTypeEnumConst = "enum" +) + +func (*BareMetalServerProfileCpuCoreCountEnum) isaBareMetalServerProfileCpuCoreCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileCpuCoreCountEnum unmarshals an instance of BareMetalServerProfileCpuCoreCountEnum from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuCoreCountEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuCoreCountEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuCoreCountFixed : The CPU core count for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileCpuCoreCount +type BareMetalServerProfileCpuCoreCountFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuCoreCountFixed.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuCoreCountFixedTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileCpuCoreCountFixed) isaBareMetalServerProfileCpuCoreCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileCpuCoreCountFixed unmarshals an instance of BareMetalServerProfileCpuCoreCountFixed from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuCoreCountFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuCoreCountFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuCoreCountRange : The permitted range for the number of CPU cores for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileCpuCoreCount +type BareMetalServerProfileCpuCoreCountRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuCoreCountRange.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuCoreCountRangeTypeRangeConst = "range" +) + +func (*BareMetalServerProfileCpuCoreCountRange) isaBareMetalServerProfileCpuCoreCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileCpuCoreCountRange unmarshals an instance of BareMetalServerProfileCpuCoreCountRange from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuCoreCountRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuCoreCountRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuSocketCountDependent : The CPU socket count for a bare metal server with this profile depends on its configuration. +// This model "extends" BareMetalServerProfileCpuSocketCount +type BareMetalServerProfileCpuSocketCountDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuSocketCountDependent.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuSocketCountDependentTypeDependentConst = "dependent" +) + +func (*BareMetalServerProfileCpuSocketCountDependent) isaBareMetalServerProfileCpuSocketCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileCpuSocketCountDependent unmarshals an instance of BareMetalServerProfileCpuSocketCountDependent from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuSocketCountDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuSocketCountDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuSocketCountEnum : The permitted values for CPU sockets for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileCpuSocketCount +type BareMetalServerProfileCpuSocketCountEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuSocketCountEnum.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuSocketCountEnumTypeEnumConst = "enum" +) + +func (*BareMetalServerProfileCpuSocketCountEnum) isaBareMetalServerProfileCpuSocketCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileCpuSocketCountEnum unmarshals an instance of BareMetalServerProfileCpuSocketCountEnum from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuSocketCountEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuSocketCountEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuSocketCountFixed : The number of CPU sockets for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileCpuSocketCount +type BareMetalServerProfileCpuSocketCountFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuSocketCountFixed.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuSocketCountFixedTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileCpuSocketCountFixed) isaBareMetalServerProfileCpuSocketCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileCpuSocketCountFixed unmarshals an instance of BareMetalServerProfileCpuSocketCountFixed from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuSocketCountFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuSocketCountFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileCpuSocketCountRange : The permitted range for the number of CPU sockets for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileCpuSocketCount +type BareMetalServerProfileCpuSocketCountRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileCpuSocketCountRange.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileCpuSocketCountRangeTypeRangeConst = "range" +) + +func (*BareMetalServerProfileCpuSocketCountRange) isaBareMetalServerProfileCpuSocketCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileCpuSocketCountRange unmarshals an instance of BareMetalServerProfileCpuSocketCountRange from the specified map of raw messages. +func UnmarshalBareMetalServerProfileCpuSocketCountRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileCpuSocketCountRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskQuantityDependent : The number of disks of this configuration for a bare metal server with this profile depends on its bare metal server +// configuration. +// This model "extends" BareMetalServerProfileDiskQuantity +type BareMetalServerProfileDiskQuantityDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskQuantityDependent.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskQuantityDependentTypeDependentConst = "dependent" +) + +func (*BareMetalServerProfileDiskQuantityDependent) isaBareMetalServerProfileDiskQuantity() bool { + return true +} + +// UnmarshalBareMetalServerProfileDiskQuantityDependent unmarshals an instance of BareMetalServerProfileDiskQuantityDependent from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskQuantityDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskQuantityDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskQuantityEnum : The permitted the number of disks of this configuration for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileDiskQuantity +type BareMetalServerProfileDiskQuantityEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskQuantityEnum.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskQuantityEnumTypeEnumConst = "enum" +) + +func (*BareMetalServerProfileDiskQuantityEnum) isaBareMetalServerProfileDiskQuantity() bool { + return true +} + +// UnmarshalBareMetalServerProfileDiskQuantityEnum unmarshals an instance of BareMetalServerProfileDiskQuantityEnum from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskQuantityEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskQuantityEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskQuantityFixed : The number of disks of this configuration for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileDiskQuantity +type BareMetalServerProfileDiskQuantityFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskQuantityFixed.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskQuantityFixedTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileDiskQuantityFixed) isaBareMetalServerProfileDiskQuantity() bool { + return true +} + +// UnmarshalBareMetalServerProfileDiskQuantityFixed unmarshals an instance of BareMetalServerProfileDiskQuantityFixed from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskQuantityFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskQuantityFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskQuantityRange : The permitted range for the number of disks of this configuration for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileDiskQuantity +type BareMetalServerProfileDiskQuantityRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskQuantityRange.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskQuantityRangeTypeRangeConst = "range" +) + +func (*BareMetalServerProfileDiskQuantityRange) isaBareMetalServerProfileDiskQuantity() bool { + return true +} + +// UnmarshalBareMetalServerProfileDiskQuantityRange unmarshals an instance of BareMetalServerProfileDiskQuantityRange from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskQuantityRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskQuantityRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskSizeDependent : The disk size in GB (gigabytes) of this configuration for a bare metal server with this profile depends on its bare +// metal server configuration. +// This model "extends" BareMetalServerProfileDiskSize +type BareMetalServerProfileDiskSizeDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskSizeDependent.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskSizeDependentTypeDependentConst = "dependent" +) + +func (*BareMetalServerProfileDiskSizeDependent) isaBareMetalServerProfileDiskSize() bool { + return true +} + +// UnmarshalBareMetalServerProfileDiskSizeDependent unmarshals an instance of BareMetalServerProfileDiskSizeDependent from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskSizeDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskSizeDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskSizeEnum : The permitted disk size in GB (gigabytes) of this configuration for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileDiskSize +type BareMetalServerProfileDiskSizeEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskSizeEnum.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskSizeEnumTypeEnumConst = "enum" +) + +func (*BareMetalServerProfileDiskSizeEnum) isaBareMetalServerProfileDiskSize() bool { + return true +} + +// UnmarshalBareMetalServerProfileDiskSizeEnum unmarshals an instance of BareMetalServerProfileDiskSizeEnum from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskSizeEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskSizeEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskSizeFixed : The size of the disk in GB (gigabytes). +// This model "extends" BareMetalServerProfileDiskSize +type BareMetalServerProfileDiskSizeFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskSizeFixed.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskSizeFixedTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileDiskSizeFixed) isaBareMetalServerProfileDiskSize() bool { + return true +} + +// UnmarshalBareMetalServerProfileDiskSizeFixed unmarshals an instance of BareMetalServerProfileDiskSizeFixed from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskSizeFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskSizeFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileDiskSizeRange : The permitted range for the disk size of this configuration in GB (gigabytes) for a bare metal server with this +// profile. +// This model "extends" BareMetalServerProfileDiskSize +type BareMetalServerProfileDiskSizeRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileDiskSizeRange.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileDiskSizeRangeTypeRangeConst = "range" +) + +func (*BareMetalServerProfileDiskSizeRange) isaBareMetalServerProfileDiskSize() bool { + return true +} + +// UnmarshalBareMetalServerProfileDiskSizeRange unmarshals an instance of BareMetalServerProfileDiskSizeRange from the specified map of raw messages. +func UnmarshalBareMetalServerProfileDiskSizeRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileDiskSizeRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileIdentityByHref : BareMetalServerProfileIdentityByHref struct +// This model "extends" BareMetalServerProfileIdentity +type BareMetalServerProfileIdentityByHref struct { + // The URL for this bare metal server profile. + Href *string `json:"href" validate:"required"` +} + +// NewBareMetalServerProfileIdentityByHref : Instantiate BareMetalServerProfileIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerProfileIdentityByHref(href string) (_model *BareMetalServerProfileIdentityByHref, err error) { + _model = &BareMetalServerProfileIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerProfileIdentityByHref) isaBareMetalServerProfileIdentity() bool { + return true +} + +// UnmarshalBareMetalServerProfileIdentityByHref unmarshals an instance of BareMetalServerProfileIdentityByHref from the specified map of raw messages. +func UnmarshalBareMetalServerProfileIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileIdentityByName : BareMetalServerProfileIdentityByName struct +// This model "extends" BareMetalServerProfileIdentity +type BareMetalServerProfileIdentityByName struct { + // The name for this bare metal server profile. + Name *string `json:"name" validate:"required"` +} + +// NewBareMetalServerProfileIdentityByName : Instantiate BareMetalServerProfileIdentityByName (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerProfileIdentityByName(name string) (_model *BareMetalServerProfileIdentityByName, err error) { + _model = &BareMetalServerProfileIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerProfileIdentityByName) isaBareMetalServerProfileIdentity() bool { + return true +} + +// UnmarshalBareMetalServerProfileIdentityByName unmarshals an instance of BareMetalServerProfileIdentityByName from the specified map of raw messages. +func UnmarshalBareMetalServerProfileIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileMemoryDependent : The memory value for a bare metal server with this profile depends on its configuration. +// This model "extends" BareMetalServerProfileMemory +type BareMetalServerProfileMemoryDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileMemoryDependent.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileMemoryDependentTypeDependentConst = "dependent" +) + +func (*BareMetalServerProfileMemoryDependent) isaBareMetalServerProfileMemory() bool { + return true +} + +// UnmarshalBareMetalServerProfileMemoryDependent unmarshals an instance of BareMetalServerProfileMemoryDependent from the specified map of raw messages. +func UnmarshalBareMetalServerProfileMemoryDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileMemoryDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileMemoryEnum : The permitted memory values (in gibibytes) for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileMemory +type BareMetalServerProfileMemoryEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileMemoryEnum.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileMemoryEnumTypeEnumConst = "enum" +) + +func (*BareMetalServerProfileMemoryEnum) isaBareMetalServerProfileMemory() bool { + return true +} + +// UnmarshalBareMetalServerProfileMemoryEnum unmarshals an instance of BareMetalServerProfileMemoryEnum from the specified map of raw messages. +func UnmarshalBareMetalServerProfileMemoryEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileMemoryEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileMemoryFixed : The memory (in gibibytes) for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileMemory +type BareMetalServerProfileMemoryFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileMemoryFixed.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileMemoryFixedTypeFixedConst = "fixed" +) + +func (*BareMetalServerProfileMemoryFixed) isaBareMetalServerProfileMemory() bool { + return true +} + +// UnmarshalBareMetalServerProfileMemoryFixed unmarshals an instance of BareMetalServerProfileMemoryFixed from the specified map of raw messages. +func UnmarshalBareMetalServerProfileMemoryFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileMemoryFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileMemoryRange : The permitted memory range (in gibibytes) for a bare metal server with this profile. +// This model "extends" BareMetalServerProfileMemory +type BareMetalServerProfileMemoryRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileMemoryRange.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileMemoryRangeTypeRangeConst = "range" +) + +func (*BareMetalServerProfileMemoryRange) isaBareMetalServerProfileMemory() bool { + return true +} + +// UnmarshalBareMetalServerProfileMemoryRange unmarshals an instance of BareMetalServerProfileMemoryRange from the specified map of raw messages. +func UnmarshalBareMetalServerProfileMemoryRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileMemoryRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileNetworkAttachmentCountDependent : The number of network attachments supported on a bare metal server with this profile is dependent on its +// configuration. +// This model "extends" BareMetalServerProfileNetworkAttachmentCount +type BareMetalServerProfileNetworkAttachmentCountDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileNetworkAttachmentCountDependent.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileNetworkAttachmentCountDependentTypeDependentConst = "dependent" +) + +func (*BareMetalServerProfileNetworkAttachmentCountDependent) isaBareMetalServerProfileNetworkAttachmentCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileNetworkAttachmentCountDependent unmarshals an instance of BareMetalServerProfileNetworkAttachmentCountDependent from the specified map of raw messages. +func UnmarshalBareMetalServerProfileNetworkAttachmentCountDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileNetworkAttachmentCountDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileNetworkAttachmentCountRange : The number of network attachments supported on a bare metal server with this profile. +// This model "extends" BareMetalServerProfileNetworkAttachmentCount +type BareMetalServerProfileNetworkAttachmentCountRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileNetworkAttachmentCountRange.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileNetworkAttachmentCountRangeTypeRangeConst = "range" +) + +func (*BareMetalServerProfileNetworkAttachmentCountRange) isaBareMetalServerProfileNetworkAttachmentCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileNetworkAttachmentCountRange unmarshals an instance of BareMetalServerProfileNetworkAttachmentCountRange from the specified map of raw messages. +func UnmarshalBareMetalServerProfileNetworkAttachmentCountRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileNetworkAttachmentCountRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileNetworkInterfaceCountDependent : The number of bare metal server network interfaces supported on a bare metal server with this profile is dependent on +// its configuration. +// This model "extends" BareMetalServerProfileNetworkInterfaceCount +type BareMetalServerProfileNetworkInterfaceCountDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileNetworkInterfaceCountDependent.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileNetworkInterfaceCountDependentTypeDependentConst = "dependent" +) + +func (*BareMetalServerProfileNetworkInterfaceCountDependent) isaBareMetalServerProfileNetworkInterfaceCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileNetworkInterfaceCountDependent unmarshals an instance of BareMetalServerProfileNetworkInterfaceCountDependent from the specified map of raw messages. +func UnmarshalBareMetalServerProfileNetworkInterfaceCountDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileNetworkInterfaceCountDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerProfileNetworkInterfaceCountRange : The number of bare metal server network interfaces supported on a bare metal server with this profile. +// This model "extends" BareMetalServerProfileNetworkInterfaceCount +type BareMetalServerProfileNetworkInterfaceCountRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the BareMetalServerProfileNetworkInterfaceCountRange.Type property. +// The type for this profile field. +const ( + BareMetalServerProfileNetworkInterfaceCountRangeTypeRangeConst = "range" +) + +func (*BareMetalServerProfileNetworkInterfaceCountRange) isaBareMetalServerProfileNetworkInterfaceCount() bool { + return true +} + +// UnmarshalBareMetalServerProfileNetworkInterfaceCountRange unmarshals an instance of BareMetalServerProfileNetworkInterfaceCountRange from the specified map of raw messages. +func UnmarshalBareMetalServerProfileNetworkInterfaceCountRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerProfileNetworkInterfaceCountRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerPrototypeBareMetalServerByNetworkAttachment : BareMetalServerPrototypeBareMetalServerByNetworkAttachment struct +// This model "extends" BareMetalServerPrototype +type BareMetalServerPrototypeBareMetalServerByNetworkAttachment struct { + // The total bandwidth (in megabits per second) shared across the bare metal server's network interfaces. The specified + // value must match one of the bandwidth values in the bare metal server's profile. If unspecified, the default value + // from the profile will be used. + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to + // boot. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + Initialization *BareMetalServerInitializationPrototype `json:"initialization" validate:"required"` + + MetadataService *BareMetalServerMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this bare metal server. The name must not be used by another bare metal server in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) to use for this bare metal + // server. + Profile BareMetalServerProfileIdentityIntf `json:"profile" validate:"required"` + + ReservationAffinity *BareMetalServerReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + TrustedPlatformModule *BareMetalServerTrustedPlatformModulePrototype `json:"trusted_platform_module,omitempty"` + + // The VPC this bare metal server will reside in. + // + // If specified, it must match the VPC for the subnets that the network attachments or network interfaces of the bare + // metal server are attached to. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The zone this bare metal server will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the bare metal server. + NetworkAttachments []BareMetalServerNetworkAttachmentPrototypeIntf `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the bare metal server. + PrimaryNetworkAttachment BareMetalServerPrimaryNetworkAttachmentPrototypeIntf `json:"primary_network_attachment" validate:"required"` +} + +// NewBareMetalServerPrototypeBareMetalServerByNetworkAttachment : Instantiate BareMetalServerPrototypeBareMetalServerByNetworkAttachment (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerPrototypeBareMetalServerByNetworkAttachment(initialization *BareMetalServerInitializationPrototype, profile BareMetalServerProfileIdentityIntf, zone ZoneIdentityIntf, primaryNetworkAttachment BareMetalServerPrimaryNetworkAttachmentPrototypeIntf) (_model *BareMetalServerPrototypeBareMetalServerByNetworkAttachment, err error) { + _model = &BareMetalServerPrototypeBareMetalServerByNetworkAttachment{ + Initialization: initialization, + Profile: profile, + Zone: zone, + PrimaryNetworkAttachment: primaryNetworkAttachment, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerPrototypeBareMetalServerByNetworkAttachment) isaBareMetalServerPrototype() bool { + return true +} + +// UnmarshalBareMetalServerPrototypeBareMetalServerByNetworkAttachment unmarshals an instance of BareMetalServerPrototypeBareMetalServerByNetworkAttachment from the specified map of raw messages. +func UnmarshalBareMetalServerPrototypeBareMetalServerByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerPrototypeBareMetalServerByNetworkAttachment) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "initialization", &obj.Initialization, UnmarshalBareMetalServerInitializationPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "initialization-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalBareMetalServerMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalBareMetalServerProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalBareMetalServerReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "trusted_platform_module", &obj.TrustedPlatformModule, UnmarshalBareMetalServerTrustedPlatformModulePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "trusted_platform_module-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalBareMetalServerNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalBareMetalServerPrimaryNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerPrototypeBareMetalServerByNetworkInterface : BareMetalServerPrototypeBareMetalServerByNetworkInterface struct +// This model "extends" BareMetalServerPrototype +type BareMetalServerPrototypeBareMetalServerByNetworkInterface struct { + // The total bandwidth (in megabits per second) shared across the bare metal server's network interfaces. The specified + // value must match one of the bandwidth values in the bare metal server's profile. If unspecified, the default value + // from the profile will be used. + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to + // boot. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + Initialization *BareMetalServerInitializationPrototype `json:"initialization" validate:"required"` + + MetadataService *BareMetalServerMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this bare metal server. The name must not be used by another bare metal server in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) to use for this bare metal + // server. + Profile BareMetalServerProfileIdentityIntf `json:"profile" validate:"required"` + + ReservationAffinity *BareMetalServerReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + TrustedPlatformModule *BareMetalServerTrustedPlatformModulePrototype `json:"trusted_platform_module,omitempty"` + + // The VPC this bare metal server will reside in. + // + // If specified, it must match the VPC for the subnets that the network attachments or network interfaces of the bare + // metal server are attached to. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The zone this bare metal server will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional bare metal server network interfaces to create. + NetworkInterfaces []BareMetalServerNetworkInterfacePrototypeIntf `json:"network_interfaces,omitempty"` + + // The primary bare metal server network interface to create. + PrimaryNetworkInterface *BareMetalServerPrimaryNetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// NewBareMetalServerPrototypeBareMetalServerByNetworkInterface : Instantiate BareMetalServerPrototypeBareMetalServerByNetworkInterface (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerPrototypeBareMetalServerByNetworkInterface(initialization *BareMetalServerInitializationPrototype, profile BareMetalServerProfileIdentityIntf, zone ZoneIdentityIntf, primaryNetworkInterface *BareMetalServerPrimaryNetworkInterfacePrototype) (_model *BareMetalServerPrototypeBareMetalServerByNetworkInterface, err error) { + _model = &BareMetalServerPrototypeBareMetalServerByNetworkInterface{ + Initialization: initialization, + Profile: profile, + Zone: zone, + PrimaryNetworkInterface: primaryNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerPrototypeBareMetalServerByNetworkInterface) isaBareMetalServerPrototype() bool { + return true +} + +// UnmarshalBareMetalServerPrototypeBareMetalServerByNetworkInterface unmarshals an instance of BareMetalServerPrototypeBareMetalServerByNetworkInterface from the specified map of raw messages. +func UnmarshalBareMetalServerPrototypeBareMetalServerByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerPrototypeBareMetalServerByNetworkInterface) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "initialization", &obj.Initialization, UnmarshalBareMetalServerInitializationPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "initialization-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalBareMetalServerMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalBareMetalServerProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalBareMetalServerReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "trusted_platform_module", &obj.TrustedPlatformModule, UnmarshalBareMetalServerTrustedPlatformModulePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "trusted_platform_module-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalBareMetalServerNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalBareMetalServerPrimaryNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CatalogOfferingIdentityCatalogOfferingByCRN : CatalogOfferingIdentityCatalogOfferingByCRN struct +// This model "extends" CatalogOfferingIdentity +type CatalogOfferingIdentityCatalogOfferingByCRN struct { + // The CRN for this + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering. + CRN *string `json:"crn" validate:"required"` +} + +// NewCatalogOfferingIdentityCatalogOfferingByCRN : Instantiate CatalogOfferingIdentityCatalogOfferingByCRN (Generic Model Constructor) +func (*VpcV1) NewCatalogOfferingIdentityCatalogOfferingByCRN(crn string) (_model *CatalogOfferingIdentityCatalogOfferingByCRN, err error) { + _model = &CatalogOfferingIdentityCatalogOfferingByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*CatalogOfferingIdentityCatalogOfferingByCRN) isaCatalogOfferingIdentity() bool { + return true +} + +// UnmarshalCatalogOfferingIdentityCatalogOfferingByCRN unmarshals an instance of CatalogOfferingIdentityCatalogOfferingByCRN from the specified map of raw messages. +func UnmarshalCatalogOfferingIdentityCatalogOfferingByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CatalogOfferingIdentityCatalogOfferingByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN : CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN struct +// This model "extends" CatalogOfferingVersionIdentity +type CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN struct { + // The CRN for this version of a + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering. + CRN *string `json:"crn" validate:"required"` +} + +// NewCatalogOfferingVersionIdentityCatalogOfferingVersionByCRN : Instantiate CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN (Generic Model Constructor) +func (*VpcV1) NewCatalogOfferingVersionIdentityCatalogOfferingVersionByCRN(crn string) (_model *CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN, err error) { + _model = &CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN) isaCatalogOfferingVersionIdentity() bool { + return true +} + +// UnmarshalCatalogOfferingVersionIdentityCatalogOfferingVersionByCRN unmarshals an instance of CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN from the specified map of raw messages. +func UnmarshalCatalogOfferingVersionIdentityCatalogOfferingVersionByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CatalogOfferingVersionIdentityCatalogOfferingVersionByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN : CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN struct +// This model "extends" CatalogOfferingVersionPlanIdentity +type CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN struct { + // The CRN for this + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering version's billing plan. + CRN *string `json:"crn" validate:"required"` +} + +// NewCatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN : Instantiate CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN (Generic Model Constructor) +func (*VpcV1) NewCatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN(crn string) (_model *CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN, err error) { + _model = &CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN) isaCatalogOfferingVersionPlanIdentity() bool { + return true +} + +// UnmarshalCatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN unmarshals an instance of CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN from the specified map of raw messages. +func UnmarshalCatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CatalogOfferingVersionPlanIdentityCatalogOfferingVersionPlanByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CertificateInstanceIdentityByCRN : CertificateInstanceIdentityByCRN struct +// This model "extends" CertificateInstanceIdentity +type CertificateInstanceIdentityByCRN struct { + // The CRN for this certificate instance. + CRN *string `json:"crn" validate:"required"` +} + +// NewCertificateInstanceIdentityByCRN : Instantiate CertificateInstanceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewCertificateInstanceIdentityByCRN(crn string) (_model *CertificateInstanceIdentityByCRN, err error) { + _model = &CertificateInstanceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*CertificateInstanceIdentityByCRN) isaCertificateInstanceIdentity() bool { + return true +} + +// UnmarshalCertificateInstanceIdentityByCRN unmarshals an instance of CertificateInstanceIdentityByCRN from the specified map of raw messages. +func UnmarshalCertificateInstanceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CertificateInstanceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the CertificateInstanceIdentityByCRN +func (certificateInstanceIdentityByCRN *CertificateInstanceIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(certificateInstanceIdentityByCRN.CRN) { + _patch["crn"] = certificateInstanceIdentityByCRN.CRN + } + + return +} + +// CloudObjectStorageBucketIdentityByCRN : CloudObjectStorageBucketIdentityByCRN struct +// This model "extends" CloudObjectStorageBucketIdentity +type CloudObjectStorageBucketIdentityByCRN struct { + // The CRN of this Cloud Object Storage bucket. + CRN *string `json:"crn" validate:"required"` +} + +// NewCloudObjectStorageBucketIdentityByCRN : Instantiate CloudObjectStorageBucketIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewCloudObjectStorageBucketIdentityByCRN(crn string) (_model *CloudObjectStorageBucketIdentityByCRN, err error) { + _model = &CloudObjectStorageBucketIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*CloudObjectStorageBucketIdentityByCRN) isaCloudObjectStorageBucketIdentity() bool { + return true +} + +// UnmarshalCloudObjectStorageBucketIdentityByCRN unmarshals an instance of CloudObjectStorageBucketIdentityByCRN from the specified map of raw messages. +func UnmarshalCloudObjectStorageBucketIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CloudObjectStorageBucketIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName : CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName struct +// This model "extends" CloudObjectStorageBucketIdentity +type CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName struct { + // The globally unique name of this Cloud Object Storage bucket. + Name *string `json:"name" validate:"required"` +} + +// NewCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName : Instantiate CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName (Generic Model Constructor) +func (*VpcV1) NewCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName(name string) (_model *CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName, err error) { + _model = &CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName) isaCloudObjectStorageBucketIdentity() bool { + return true +} + +// UnmarshalCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName unmarshals an instance of CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName from the specified map of raw messages. +func UnmarshalCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext : Identifies a cluster network subnet reserved IP by a unique property. Required if `subnet` is not specified. The +// cluster network subnet reserved IP must be currently unbound. +// Models which "extend" this model: +// - ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID +// - ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref +// This model "extends" ClusterNetworkInterfacePrimaryIPPrototype +type ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext struct { + // The unique identifier for this cluster network subnet reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this cluster network subnet reserved IP. + Href *string `json:"href,omitempty"` +} + +func (*ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext) isaClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext() bool { + return true +} + +type ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextIntf interface { + ClusterNetworkInterfacePrimaryIPPrototypeIntf + isaClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext() bool +} + +func (*ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext) isaClusterNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +// UnmarshalClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext unmarshals an instance of ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext from the specified map of raw messages. +func UnmarshalClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext : The prototype for a new cluster network subnet reserved IP. Requires `subnet` to be specified. +// This model "extends" ClusterNetworkInterfacePrimaryIPPrototype +type ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext struct { + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` + // is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the + // cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + // If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` +} + +func (*ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext) isaClusterNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +// UnmarshalClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext unmarshals an instance of ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext from the specified map of raw messages. +func UnmarshalClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPPrototypeClusterNetworkInterfacePrimaryIPContext) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext : ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext struct +// This model "extends" ClusterNetworkInterfaceTarget +type ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext struct { + // The URL for this instance cluster network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance cluster network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance cluster network attachment. The name is unique across all network attachments for the + // instance. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext.ResourceType property. +// The resource type. +const ( + ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContextResourceTypeInstanceClusterNetworkAttachmentConst = "instance_cluster_network_attachment" +) + +func (*ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext) isaClusterNetworkInterfaceTarget() bool { + return true +} + +// UnmarshalClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext unmarshals an instance of ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext from the specified map of raw messages. +func UnmarshalClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfaceTargetInstanceClusterNetworkAttachmentReferenceClusterNetworkInterfaceContext) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkProfileIdentityByHref : ClusterNetworkProfileIdentityByHref struct +// This model "extends" ClusterNetworkProfileIdentity +type ClusterNetworkProfileIdentityByHref struct { + // The URL for this cluster network profile. + Href *string `json:"href" validate:"required"` +} + +// NewClusterNetworkProfileIdentityByHref : Instantiate ClusterNetworkProfileIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewClusterNetworkProfileIdentityByHref(href string) (_model *ClusterNetworkProfileIdentityByHref, err error) { + _model = &ClusterNetworkProfileIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ClusterNetworkProfileIdentityByHref) isaClusterNetworkProfileIdentity() bool { + return true +} + +// UnmarshalClusterNetworkProfileIdentityByHref unmarshals an instance of ClusterNetworkProfileIdentityByHref from the specified map of raw messages. +func UnmarshalClusterNetworkProfileIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkProfileIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkProfileIdentityByName : ClusterNetworkProfileIdentityByName struct +// This model "extends" ClusterNetworkProfileIdentity +type ClusterNetworkProfileIdentityByName struct { + // The globally unique name for this cluster network profile. + Name *string `json:"name" validate:"required"` +} + +// NewClusterNetworkProfileIdentityByName : Instantiate ClusterNetworkProfileIdentityByName (Generic Model Constructor) +func (*VpcV1) NewClusterNetworkProfileIdentityByName(name string) (_model *ClusterNetworkProfileIdentityByName, err error) { + _model = &ClusterNetworkProfileIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ClusterNetworkProfileIdentityByName) isaClusterNetworkProfileIdentity() bool { + return true +} + +// UnmarshalClusterNetworkProfileIdentityByName unmarshals an instance of ClusterNetworkProfileIdentityByName from the specified map of raw messages. +func UnmarshalClusterNetworkProfileIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkProfileIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetIdentityByHref : ClusterNetworkSubnetIdentityByHref struct +// This model "extends" ClusterNetworkSubnetIdentity +type ClusterNetworkSubnetIdentityByHref struct { + // The URL for this cluster network subnet. + Href *string `json:"href" validate:"required"` +} + +// NewClusterNetworkSubnetIdentityByHref : Instantiate ClusterNetworkSubnetIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewClusterNetworkSubnetIdentityByHref(href string) (_model *ClusterNetworkSubnetIdentityByHref, err error) { + _model = &ClusterNetworkSubnetIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ClusterNetworkSubnetIdentityByHref) isaClusterNetworkSubnetIdentity() bool { + return true +} + +// UnmarshalClusterNetworkSubnetIdentityByHref unmarshals an instance of ClusterNetworkSubnetIdentityByHref from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetIdentityByID : ClusterNetworkSubnetIdentityByID struct +// This model "extends" ClusterNetworkSubnetIdentity +type ClusterNetworkSubnetIdentityByID struct { + // The unique identifier for this cluster network subnet. + ID *string `json:"id" validate:"required"` +} + +// NewClusterNetworkSubnetIdentityByID : Instantiate ClusterNetworkSubnetIdentityByID (Generic Model Constructor) +func (*VpcV1) NewClusterNetworkSubnetIdentityByID(id string) (_model *ClusterNetworkSubnetIdentityByID, err error) { + _model = &ClusterNetworkSubnetIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ClusterNetworkSubnetIdentityByID) isaClusterNetworkSubnetIdentity() bool { + return true +} + +// UnmarshalClusterNetworkSubnetIdentityByID unmarshals an instance of ClusterNetworkSubnetIdentityByID from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype : ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype struct +// This model "extends" ClusterNetworkSubnetPrototype +type ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype struct { + // The IP version(s) to support for this cluster network subnet. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this cluster network subnet. The name must not be used by another cluster network subnet in the cluster + // network. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The IPv4 range of the cluster network subnet, expressed in CIDR format. The prefix length of the cluster network + // subnet's CIDR must be between `/8` (16,777,216 addresses) and `/29` + // (8 addresses). The IPv4 range of the cluster network subnet's CIDR must be within the cluster network's + // `subnet_prefixes`. + // + // The range must not overlap with any of the following reserved address ranges: + // + // - `127.0.0.0/8` (IPv4 loopback addresses) + // - `169.254.0.0/16` (IPv4 link-local addresses) + // - `224.0.0.0/4` (IPv4 multicast addresses). + Ipv4CIDRBlock *string `json:"ipv4_cidr_block" validate:"required"` +} + +// Constants associated with the ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype.IPVersion property. +// The IP version(s) to support for this cluster network subnet. +const ( + ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototypeIPVersionIpv4Const = "ipv4" +) + +// NewClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype : Instantiate ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype (Generic Model Constructor) +func (*VpcV1) NewClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype(ipv4CIDRBlock string) (_model *ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype, err error) { + _model = &ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype{ + Ipv4CIDRBlock: core.StringPtr(ipv4CIDRBlock), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype) isaClusterNetworkSubnetPrototype() bool { + return true +} + +// UnmarshalClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype unmarshals an instance of ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetPrototypeClusterNetworkSubnetByIPv4CIDRBlockPrototype) + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ipv4_cidr_block", &obj.Ipv4CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "ipv4_cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype : ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype struct +// This model "extends" ClusterNetworkSubnetPrototype +type ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype struct { + // The IP version(s) to support for this cluster network subnet. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this cluster network subnet. The name must not be used by another cluster network subnet in the cluster + // network. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The total number of IPv4 addresses required. Must be a power of 2. + // + // A CIDR will be allocated from a subnet prefix in the cluster network that has an + // `allocation_policy` of `auto`. There must be a subnet prefix that has a free CIDR range with at least this number of + // addresses. + TotalIpv4AddressCount *int64 `json:"total_ipv4_address_count" validate:"required"` +} + +// Constants associated with the ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype.IPVersion property. +// The IP version(s) to support for this cluster network subnet. +const ( + ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototypeIPVersionIpv4Const = "ipv4" +) + +// NewClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype : Instantiate ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype (Generic Model Constructor) +func (*VpcV1) NewClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype(totalIpv4AddressCount int64) (_model *ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype, err error) { + _model = &ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype{ + TotalIpv4AddressCount: core.Int64Ptr(totalIpv4AddressCount), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype) isaClusterNetworkSubnetPrototype() bool { + return true +} + +// UnmarshalClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype unmarshals an instance of ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetPrototypeClusterNetworkSubnetByTotalCountPrototype) + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_ipv4_address_count", &obj.TotalIpv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_ipv4_address_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext : ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext struct +// This model "extends" ClusterNetworkSubnetReservedIPTarget +type ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this cluster network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this cluster network interface. + ID *string `json:"id" validate:"required"` + + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext.ResourceType property. +// The resource type. +const ( + ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContextResourceTypeClusterNetworkInterfaceConst = "cluster_network_interface" +) + +func (*ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext) isaClusterNetworkSubnetReservedIPTarget() bool { + return true +} + +// UnmarshalClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext unmarshals an instance of ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext from the specified map of raw messages. +func UnmarshalClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkSubnetReservedIPTargetClusterNetworkInterfaceReferenceClusterNetworkSubnetReservedIPTargetContext) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DnsInstanceIdentityByCRN : DnsInstanceIdentityByCRN struct +// This model "extends" DnsInstanceIdentity +type DnsInstanceIdentityByCRN struct { + // The CRN for this DNS instance. + CRN *string `json:"crn" validate:"required"` +} + +// NewDnsInstanceIdentityByCRN : Instantiate DnsInstanceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewDnsInstanceIdentityByCRN(crn string) (_model *DnsInstanceIdentityByCRN, err error) { + _model = &DnsInstanceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DnsInstanceIdentityByCRN) isaDnsInstanceIdentity() bool { + return true +} + +// UnmarshalDnsInstanceIdentityByCRN unmarshals an instance of DnsInstanceIdentityByCRN from the specified map of raw messages. +func UnmarshalDnsInstanceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DnsInstanceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the DnsInstanceIdentityByCRN +func (dnsInstanceIdentityByCRN *DnsInstanceIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(dnsInstanceIdentityByCRN.CRN) { + _patch["crn"] = dnsInstanceIdentityByCRN.CRN + } + + return +} + +// DnsZoneIdentityByID : DnsZoneIdentityByID struct +// This model "extends" DnsZoneIdentity +type DnsZoneIdentityByID struct { + ID *string `json:"id" validate:"required"` +} + +// NewDnsZoneIdentityByID : Instantiate DnsZoneIdentityByID (Generic Model Constructor) +func (*VpcV1) NewDnsZoneIdentityByID(id string) (_model *DnsZoneIdentityByID, err error) { + _model = &DnsZoneIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DnsZoneIdentityByID) isaDnsZoneIdentity() bool { + return true +} + +// UnmarshalDnsZoneIdentityByID unmarshals an instance of DnsZoneIdentityByID from the specified map of raw messages. +func UnmarshalDnsZoneIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DnsZoneIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the DnsZoneIdentityByID +func (dnsZoneIdentityByID *DnsZoneIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(dnsZoneIdentityByID.ID) { + _patch["id"] = dnsZoneIdentityByID.ID + } + + return +} + +// DedicatedHostGroupIdentityByCRN : DedicatedHostGroupIdentityByCRN struct +// This model "extends" DedicatedHostGroupIdentity +type DedicatedHostGroupIdentityByCRN struct { + // The CRN for this dedicated host group. + CRN *string `json:"crn" validate:"required"` +} + +// NewDedicatedHostGroupIdentityByCRN : Instantiate DedicatedHostGroupIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewDedicatedHostGroupIdentityByCRN(crn string) (_model *DedicatedHostGroupIdentityByCRN, err error) { + _model = &DedicatedHostGroupIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DedicatedHostGroupIdentityByCRN) isaDedicatedHostGroupIdentity() bool { + return true +} + +// UnmarshalDedicatedHostGroupIdentityByCRN unmarshals an instance of DedicatedHostGroupIdentityByCRN from the specified map of raw messages. +func UnmarshalDedicatedHostGroupIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroupIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostGroupIdentityByHref : DedicatedHostGroupIdentityByHref struct +// This model "extends" DedicatedHostGroupIdentity +type DedicatedHostGroupIdentityByHref struct { + // The URL for this dedicated host group. + Href *string `json:"href" validate:"required"` +} + +// NewDedicatedHostGroupIdentityByHref : Instantiate DedicatedHostGroupIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewDedicatedHostGroupIdentityByHref(href string) (_model *DedicatedHostGroupIdentityByHref, err error) { + _model = &DedicatedHostGroupIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DedicatedHostGroupIdentityByHref) isaDedicatedHostGroupIdentity() bool { + return true +} + +// UnmarshalDedicatedHostGroupIdentityByHref unmarshals an instance of DedicatedHostGroupIdentityByHref from the specified map of raw messages. +func UnmarshalDedicatedHostGroupIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroupIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostGroupIdentityByID : DedicatedHostGroupIdentityByID struct +// This model "extends" DedicatedHostGroupIdentity +type DedicatedHostGroupIdentityByID struct { + // The unique identifier for this dedicated host group. + ID *string `json:"id" validate:"required"` +} + +// NewDedicatedHostGroupIdentityByID : Instantiate DedicatedHostGroupIdentityByID (Generic Model Constructor) +func (*VpcV1) NewDedicatedHostGroupIdentityByID(id string) (_model *DedicatedHostGroupIdentityByID, err error) { + _model = &DedicatedHostGroupIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DedicatedHostGroupIdentityByID) isaDedicatedHostGroupIdentity() bool { + return true +} + +// UnmarshalDedicatedHostGroupIdentityByID unmarshals an instance of DedicatedHostGroupIdentityByID from the specified map of raw messages. +func UnmarshalDedicatedHostGroupIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostGroupIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileIdentityByHref : DedicatedHostProfileIdentityByHref struct +// This model "extends" DedicatedHostProfileIdentity +type DedicatedHostProfileIdentityByHref struct { + // The URL for this dedicated host profile. + Href *string `json:"href" validate:"required"` +} + +// NewDedicatedHostProfileIdentityByHref : Instantiate DedicatedHostProfileIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewDedicatedHostProfileIdentityByHref(href string) (_model *DedicatedHostProfileIdentityByHref, err error) { + _model = &DedicatedHostProfileIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DedicatedHostProfileIdentityByHref) isaDedicatedHostProfileIdentity() bool { + return true +} + +// UnmarshalDedicatedHostProfileIdentityByHref unmarshals an instance of DedicatedHostProfileIdentityByHref from the specified map of raw messages. +func UnmarshalDedicatedHostProfileIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileIdentityByName : DedicatedHostProfileIdentityByName struct +// This model "extends" DedicatedHostProfileIdentity +type DedicatedHostProfileIdentityByName struct { + // The globally unique name for this dedicated host profile. + Name *string `json:"name" validate:"required"` +} + +// NewDedicatedHostProfileIdentityByName : Instantiate DedicatedHostProfileIdentityByName (Generic Model Constructor) +func (*VpcV1) NewDedicatedHostProfileIdentityByName(name string) (_model *DedicatedHostProfileIdentityByName, err error) { + _model = &DedicatedHostProfileIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DedicatedHostProfileIdentityByName) isaDedicatedHostProfileIdentity() bool { + return true +} + +// UnmarshalDedicatedHostProfileIdentityByName unmarshals an instance of DedicatedHostProfileIdentityByName from the specified map of raw messages. +func UnmarshalDedicatedHostProfileIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileMemoryDependent : The memory value for a dedicated host with this profile depends on its configuration. +// This model "extends" DedicatedHostProfileMemory +type DedicatedHostProfileMemoryDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileMemoryDependent.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileMemoryDependentTypeDependentConst = "dependent" +) + +func (*DedicatedHostProfileMemoryDependent) isaDedicatedHostProfileMemory() bool { + return true +} + +// UnmarshalDedicatedHostProfileMemoryDependent unmarshals an instance of DedicatedHostProfileMemoryDependent from the specified map of raw messages. +func UnmarshalDedicatedHostProfileMemoryDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileMemoryDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileMemoryEnum : The permitted memory values (in gibibytes) for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileMemory +type DedicatedHostProfileMemoryEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileMemoryEnum.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileMemoryEnumTypeEnumConst = "enum" +) + +func (*DedicatedHostProfileMemoryEnum) isaDedicatedHostProfileMemory() bool { + return true +} + +// UnmarshalDedicatedHostProfileMemoryEnum unmarshals an instance of DedicatedHostProfileMemoryEnum from the specified map of raw messages. +func UnmarshalDedicatedHostProfileMemoryEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileMemoryEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileMemoryFixed : The memory (in gibibytes) for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileMemory +type DedicatedHostProfileMemoryFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileMemoryFixed.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileMemoryFixedTypeFixedConst = "fixed" +) + +func (*DedicatedHostProfileMemoryFixed) isaDedicatedHostProfileMemory() bool { + return true +} + +// UnmarshalDedicatedHostProfileMemoryFixed unmarshals an instance of DedicatedHostProfileMemoryFixed from the specified map of raw messages. +func UnmarshalDedicatedHostProfileMemoryFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileMemoryFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileMemoryRange : The permitted memory range (in gibibytes) for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileMemory +type DedicatedHostProfileMemoryRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileMemoryRange.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileMemoryRangeTypeRangeConst = "range" +) + +func (*DedicatedHostProfileMemoryRange) isaDedicatedHostProfileMemory() bool { + return true +} + +// UnmarshalDedicatedHostProfileMemoryRange unmarshals an instance of DedicatedHostProfileMemoryRange from the specified map of raw messages. +func UnmarshalDedicatedHostProfileMemoryRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileMemoryRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileSocketDependent : The CPU socket count for a dedicated host with this profile depends on its configuration. +// This model "extends" DedicatedHostProfileSocket +type DedicatedHostProfileSocketDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileSocketDependent.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileSocketDependentTypeDependentConst = "dependent" +) + +func (*DedicatedHostProfileSocketDependent) isaDedicatedHostProfileSocket() bool { + return true +} + +// UnmarshalDedicatedHostProfileSocketDependent unmarshals an instance of DedicatedHostProfileSocketDependent from the specified map of raw messages. +func UnmarshalDedicatedHostProfileSocketDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileSocketDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileSocketEnum : The permitted values for CPU socket count for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileSocket +type DedicatedHostProfileSocketEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileSocketEnum.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileSocketEnumTypeEnumConst = "enum" +) + +func (*DedicatedHostProfileSocketEnum) isaDedicatedHostProfileSocket() bool { + return true +} + +// UnmarshalDedicatedHostProfileSocketEnum unmarshals an instance of DedicatedHostProfileSocketEnum from the specified map of raw messages. +func UnmarshalDedicatedHostProfileSocketEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileSocketEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileSocketFixed : The CPU socket count for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileSocket +type DedicatedHostProfileSocketFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileSocketFixed.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileSocketFixedTypeFixedConst = "fixed" +) + +func (*DedicatedHostProfileSocketFixed) isaDedicatedHostProfileSocket() bool { + return true +} + +// UnmarshalDedicatedHostProfileSocketFixed unmarshals an instance of DedicatedHostProfileSocketFixed from the specified map of raw messages. +func UnmarshalDedicatedHostProfileSocketFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileSocketFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileSocketRange : The permitted range for CPU socket count for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileSocket +type DedicatedHostProfileSocketRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileSocketRange.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileSocketRangeTypeRangeConst = "range" +) + +func (*DedicatedHostProfileSocketRange) isaDedicatedHostProfileSocket() bool { + return true +} + +// UnmarshalDedicatedHostProfileSocketRange unmarshals an instance of DedicatedHostProfileSocketRange from the specified map of raw messages. +func UnmarshalDedicatedHostProfileSocketRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileSocketRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileVcpuDependent : The VCPU count for a dedicated host with this profile depends on its configuration. +// This model "extends" DedicatedHostProfileVcpu +type DedicatedHostProfileVcpuDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileVcpuDependent.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileVcpuDependentTypeDependentConst = "dependent" +) + +func (*DedicatedHostProfileVcpuDependent) isaDedicatedHostProfileVcpu() bool { + return true +} + +// UnmarshalDedicatedHostProfileVcpuDependent unmarshals an instance of DedicatedHostProfileVcpuDependent from the specified map of raw messages. +func UnmarshalDedicatedHostProfileVcpuDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileVcpuDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileVcpuEnum : The permitted values for VCPU count for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileVcpu +type DedicatedHostProfileVcpuEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileVcpuEnum.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileVcpuEnumTypeEnumConst = "enum" +) + +func (*DedicatedHostProfileVcpuEnum) isaDedicatedHostProfileVcpu() bool { + return true +} + +// UnmarshalDedicatedHostProfileVcpuEnum unmarshals an instance of DedicatedHostProfileVcpuEnum from the specified map of raw messages. +func UnmarshalDedicatedHostProfileVcpuEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileVcpuEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileVcpuFixed : The VCPU count for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileVcpu +type DedicatedHostProfileVcpuFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileVcpuFixed.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileVcpuFixedTypeFixedConst = "fixed" +) + +func (*DedicatedHostProfileVcpuFixed) isaDedicatedHostProfileVcpu() bool { + return true +} + +// UnmarshalDedicatedHostProfileVcpuFixed unmarshals an instance of DedicatedHostProfileVcpuFixed from the specified map of raw messages. +func UnmarshalDedicatedHostProfileVcpuFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileVcpuFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostProfileVcpuRange : The permitted range for VCPU count for a dedicated host with this profile. +// This model "extends" DedicatedHostProfileVcpu +type DedicatedHostProfileVcpuRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the DedicatedHostProfileVcpuRange.Type property. +// The type for this profile field. +const ( + DedicatedHostProfileVcpuRangeTypeRangeConst = "range" +) + +func (*DedicatedHostProfileVcpuRange) isaDedicatedHostProfileVcpu() bool { + return true +} + +// UnmarshalDedicatedHostProfileVcpuRange unmarshals an instance of DedicatedHostProfileVcpuRange from the specified map of raw messages. +func UnmarshalDedicatedHostProfileVcpuRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostProfileVcpuRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostPrototypeDedicatedHostByGroup : DedicatedHostPrototypeDedicatedHostByGroup struct +// This model "extends" DedicatedHostPrototype +type DedicatedHostPrototypeDedicatedHostByGroup struct { + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled *bool `json:"instance_placement_enabled,omitempty"` + + // The name for this dedicated host. The name must not be used by another dedicated host in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles) to use for this dedicated host. + Profile DedicatedHostProfileIdentityIntf `json:"profile" validate:"required"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The dedicated host group for this dedicated host. + Group DedicatedHostGroupIdentityIntf `json:"group" validate:"required"` +} + +// NewDedicatedHostPrototypeDedicatedHostByGroup : Instantiate DedicatedHostPrototypeDedicatedHostByGroup (Generic Model Constructor) +func (*VpcV1) NewDedicatedHostPrototypeDedicatedHostByGroup(profile DedicatedHostProfileIdentityIntf, group DedicatedHostGroupIdentityIntf) (_model *DedicatedHostPrototypeDedicatedHostByGroup, err error) { + _model = &DedicatedHostPrototypeDedicatedHostByGroup{ + Profile: profile, + Group: group, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DedicatedHostPrototypeDedicatedHostByGroup) isaDedicatedHostPrototype() bool { + return true +} + +// UnmarshalDedicatedHostPrototypeDedicatedHostByGroup unmarshals an instance of DedicatedHostPrototypeDedicatedHostByGroup from the specified map of raw messages. +func UnmarshalDedicatedHostPrototypeDedicatedHostByGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostPrototypeDedicatedHostByGroup) + err = core.UnmarshalPrimitive(m, "instance_placement_enabled", &obj.InstancePlacementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "instance_placement_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalDedicatedHostProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalDedicatedHostGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedHostPrototypeDedicatedHostByZone : DedicatedHostPrototypeDedicatedHostByZone struct +// This model "extends" DedicatedHostPrototype +type DedicatedHostPrototypeDedicatedHostByZone struct { + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled *bool `json:"instance_placement_enabled,omitempty"` + + // The name for this dedicated host. The name must not be used by another dedicated host in the region. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles) to use for this dedicated host. + Profile DedicatedHostProfileIdentityIntf `json:"profile" validate:"required"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + Group *DedicatedHostGroupPrototypeDedicatedHostByZoneContext `json:"group,omitempty"` + + // The zone this dedicated host will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` +} + +// NewDedicatedHostPrototypeDedicatedHostByZone : Instantiate DedicatedHostPrototypeDedicatedHostByZone (Generic Model Constructor) +func (*VpcV1) NewDedicatedHostPrototypeDedicatedHostByZone(profile DedicatedHostProfileIdentityIntf, zone ZoneIdentityIntf) (_model *DedicatedHostPrototypeDedicatedHostByZone, err error) { + _model = &DedicatedHostPrototypeDedicatedHostByZone{ + Profile: profile, + Zone: zone, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*DedicatedHostPrototypeDedicatedHostByZone) isaDedicatedHostPrototype() bool { + return true +} + +// UnmarshalDedicatedHostPrototypeDedicatedHostByZone unmarshals an instance of DedicatedHostPrototypeDedicatedHostByZone from the specified map of raw messages. +func UnmarshalDedicatedHostPrototypeDedicatedHostByZone(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedHostPrototypeDedicatedHostByZone) + err = core.UnmarshalPrimitive(m, "instance_placement_enabled", &obj.InstancePlacementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "instance_placement_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalDedicatedHostProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalDedicatedHostGroupPrototypeDedicatedHostByZoneContext) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EncryptionKeyIdentityByCRN : EncryptionKeyIdentityByCRN struct +// This model "extends" EncryptionKeyIdentity +type EncryptionKeyIdentityByCRN struct { + // The CRN of the [Key Protect Root + // Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto + // Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + CRN *string `json:"crn" validate:"required"` +} + +// NewEncryptionKeyIdentityByCRN : Instantiate EncryptionKeyIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewEncryptionKeyIdentityByCRN(crn string) (_model *EncryptionKeyIdentityByCRN, err error) { + _model = &EncryptionKeyIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*EncryptionKeyIdentityByCRN) isaEncryptionKeyIdentity() bool { + return true +} + +// UnmarshalEncryptionKeyIdentityByCRN unmarshals an instance of EncryptionKeyIdentityByCRN from the specified map of raw messages. +func UnmarshalEncryptionKeyIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EncryptionKeyIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the EncryptionKeyIdentityByCRN +func (encryptionKeyIdentityByCRN *EncryptionKeyIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(encryptionKeyIdentityByCRN.CRN) { + _patch["crn"] = encryptionKeyIdentityByCRN.CRN + } + + return +} + +// EndpointGatewayReservedIPReservedIPIdentity : Identifies a reserved IP by a unique property. +// Models which "extend" this model: +// - EndpointGatewayReservedIPReservedIPIdentityByID +// - EndpointGatewayReservedIPReservedIPIdentityByHref +// This model "extends" EndpointGatewayReservedIP +type EndpointGatewayReservedIPReservedIPIdentity struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` +} + +func (*EndpointGatewayReservedIPReservedIPIdentity) isaEndpointGatewayReservedIPReservedIPIdentity() bool { + return true +} + +type EndpointGatewayReservedIPReservedIPIdentityIntf interface { + EndpointGatewayReservedIPIntf + isaEndpointGatewayReservedIPReservedIPIdentity() bool +} + +func (*EndpointGatewayReservedIPReservedIPIdentity) isaEndpointGatewayReservedIP() bool { + return true +} + +// UnmarshalEndpointGatewayReservedIPReservedIPIdentity unmarshals an instance of EndpointGatewayReservedIPReservedIPIdentity from the specified map of raw messages. +func UnmarshalEndpointGatewayReservedIPReservedIPIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayReservedIPReservedIPIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayReservedIPReservedIPPrototypeTargetContext : EndpointGatewayReservedIPReservedIPPrototypeTargetContext struct +// This model "extends" EndpointGatewayReservedIP +type EndpointGatewayReservedIPReservedIPPrototypeTargetContext struct { + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The subnet in which to create this reserved IP. + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` +} + +// NewEndpointGatewayReservedIPReservedIPPrototypeTargetContext : Instantiate EndpointGatewayReservedIPReservedIPPrototypeTargetContext (Generic Model Constructor) +func (*VpcV1) NewEndpointGatewayReservedIPReservedIPPrototypeTargetContext(subnet SubnetIdentityIntf) (_model *EndpointGatewayReservedIPReservedIPPrototypeTargetContext, err error) { + _model = &EndpointGatewayReservedIPReservedIPPrototypeTargetContext{ + Subnet: subnet, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*EndpointGatewayReservedIPReservedIPPrototypeTargetContext) isaEndpointGatewayReservedIP() bool { + return true +} + +// UnmarshalEndpointGatewayReservedIPReservedIPPrototypeTargetContext unmarshals an instance of EndpointGatewayReservedIPReservedIPPrototypeTargetContext from the specified map of raw messages. +func UnmarshalEndpointGatewayReservedIPReservedIPPrototypeTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayReservedIPReservedIPPrototypeTargetContext) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype : EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype struct +// This model "extends" EndpointGatewayTargetPrototype +type EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype struct { + // The CRN for this private path service gateway. + CRN *string `json:"crn" validate:"required"` + + // The target resource type for this endpoint gateway. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype.ResourceType property. +// The target resource type for this endpoint gateway. +const ( + EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototypeResourceTypePrivatePathServiceGatewayConst = "private_path_service_gateway" +) + +// NewEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype : Instantiate EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype (Generic Model Constructor) +func (*VpcV1) NewEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype(crn string, resourceType string) (_model *EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype, err error) { + _model = &EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype{ + CRN: core.StringPtr(crn), + ResourceType: core.StringPtr(resourceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype) isaEndpointGatewayTargetPrototype() bool { + return true +} + +// UnmarshalEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype unmarshals an instance of EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype from the specified map of raw messages. +func UnmarshalEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypePrivatePathServiceGatewayPrototype) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype : EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype struct +// This model "extends" EndpointGatewayTargetPrototype +type EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype struct { + // The CRN for this provider cloud service, or the CRN for the user's instance of a provider cloud service. + CRN *string `json:"crn" validate:"required"` + + // The target resource type for this endpoint gateway. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype.ResourceType property. +// The target resource type for this endpoint gateway. +const ( + EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototypeResourceTypeProviderCloudServiceConst = "provider_cloud_service" +) + +// NewEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype : Instantiate EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype (Generic Model Constructor) +func (*VpcV1) NewEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype(crn string, resourceType string) (_model *EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype, err error) { + _model = &EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype{ + CRN: core.StringPtr(crn), + ResourceType: core.StringPtr(resourceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype) isaEndpointGatewayTargetPrototype() bool { + return true +} + +// UnmarshalEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype unmarshals an instance of EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype from the specified map of raw messages. +func UnmarshalEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderCloudServicePrototype) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype : The name of this provider infrastructure service. +// This model "extends" EndpointGatewayTargetPrototype +type EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype struct { + // The name of a provider infrastructure service. Must be: + // - `ibm-ntp-server`: An NTP (Network Time Protocol) server provided by IBM. + Name *string `json:"name" validate:"required"` + + // The target resource type for this endpoint gateway. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype.ResourceType property. +// The target resource type for this endpoint gateway. +const ( + EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototypeResourceTypeProviderInfrastructureServiceConst = "provider_infrastructure_service" +) + +// NewEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype : Instantiate EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype (Generic Model Constructor) +func (*VpcV1) NewEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype(name string, resourceType string) (_model *EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype, err error) { + _model = &EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype{ + Name: core.StringPtr(name), + ResourceType: core.StringPtr(resourceType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype) isaEndpointGatewayTargetPrototype() bool { + return true +} + +// UnmarshalEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype unmarshals an instance of EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype from the specified map of raw messages. +func UnmarshalEndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayTargetPrototypeEndpointGatewayTargetResourceTypeProviderInfrastructureServicePrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayTargetPrivatePathServiceGatewayReference : EndpointGatewayTargetPrivatePathServiceGatewayReference struct +// This model "extends" EndpointGatewayTarget +type EndpointGatewayTargetPrivatePathServiceGatewayReference struct { + // The CRN for this private path service gateway. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this private path service gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this private path service gateway. + ID *string `json:"id" validate:"required"` + + // The name for this private path service gateway. The name is unique across all private path service gateways in the + // VPC. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *PrivatePathServiceGatewayRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the EndpointGatewayTargetPrivatePathServiceGatewayReference.ResourceType property. +// The resource type. +const ( + EndpointGatewayTargetPrivatePathServiceGatewayReferenceResourceTypePrivatePathServiceGatewayConst = "private_path_service_gateway" +) + +func (*EndpointGatewayTargetPrivatePathServiceGatewayReference) isaEndpointGatewayTarget() bool { + return true +} + +// UnmarshalEndpointGatewayTargetPrivatePathServiceGatewayReference unmarshals an instance of EndpointGatewayTargetPrivatePathServiceGatewayReference from the specified map of raw messages. +func UnmarshalEndpointGatewayTargetPrivatePathServiceGatewayReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayTargetPrivatePathServiceGatewayReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalPrivatePathServiceGatewayRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayTargetProviderCloudServiceReference : EndpointGatewayTargetProviderCloudServiceReference struct +// This model "extends" EndpointGatewayTarget +type EndpointGatewayTargetProviderCloudServiceReference struct { + // The CRN for this provider cloud service, or the CRN for the user's instance of a provider cloud service. + CRN *string `json:"crn" validate:"required"` + + // The type of target. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the EndpointGatewayTargetProviderCloudServiceReference.ResourceType property. +// The type of target. +const ( + EndpointGatewayTargetProviderCloudServiceReferenceResourceTypeProviderCloudServiceConst = "provider_cloud_service" +) + +func (*EndpointGatewayTargetProviderCloudServiceReference) isaEndpointGatewayTarget() bool { + return true +} + +// UnmarshalEndpointGatewayTargetProviderCloudServiceReference unmarshals an instance of EndpointGatewayTargetProviderCloudServiceReference from the specified map of raw messages. +func UnmarshalEndpointGatewayTargetProviderCloudServiceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayTargetProviderCloudServiceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayTargetProviderInfrastructureServiceReference : The name of this provider infrastructure service. +// This model "extends" EndpointGatewayTarget +type EndpointGatewayTargetProviderInfrastructureServiceReference struct { + // The name of a provider infrastructure service. Must be: + // - `ibm-ntp-server`: An NTP (Network Time Protocol) server provided by IBM. + Name *string `json:"name" validate:"required"` + + // The type of target. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the EndpointGatewayTargetProviderInfrastructureServiceReference.ResourceType property. +// The type of target. +const ( + EndpointGatewayTargetProviderInfrastructureServiceReferenceResourceTypeProviderInfrastructureServiceConst = "provider_infrastructure_service" +) + +func (*EndpointGatewayTargetProviderInfrastructureServiceReference) isaEndpointGatewayTarget() bool { + return true +} + +// UnmarshalEndpointGatewayTargetProviderInfrastructureServiceReference unmarshals an instance of EndpointGatewayTargetProviderInfrastructureServiceReference from the specified map of raw messages. +func UnmarshalEndpointGatewayTargetProviderInfrastructureServiceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayTargetProviderInfrastructureServiceReference) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPPrototypeFloatingIPByTarget : FloatingIPPrototypeFloatingIPByTarget struct +// This model "extends" FloatingIPPrototype +type FloatingIPPrototypeFloatingIPByTarget struct { + // The name for this floating IP. The name must not be used by another floating IP in the region. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The target resource to bind this floating IP to. + // + // The target resource must not already have a floating IP bound to it if the target + // resource is: + // + // - an instance network interface + // - a bare metal server network interface with `enable_infrastructure_nat` set to `true` + // - a virtual network interface with `enable_infrastructure_nat` set to `true`. + Target FloatingIPTargetPrototypeIntf `json:"target" validate:"required"` +} + +// NewFloatingIPPrototypeFloatingIPByTarget : Instantiate FloatingIPPrototypeFloatingIPByTarget (Generic Model Constructor) +func (*VpcV1) NewFloatingIPPrototypeFloatingIPByTarget(target FloatingIPTargetPrototypeIntf) (_model *FloatingIPPrototypeFloatingIPByTarget, err error) { + _model = &FloatingIPPrototypeFloatingIPByTarget{ + Target: target, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPPrototypeFloatingIPByTarget) isaFloatingIPPrototype() bool { + return true +} + +// UnmarshalFloatingIPPrototypeFloatingIPByTarget unmarshals an instance of FloatingIPPrototypeFloatingIPByTarget from the specified map of raw messages. +func UnmarshalFloatingIPPrototypeFloatingIPByTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPPrototypeFloatingIPByTarget) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "target", &obj.Target, UnmarshalFloatingIPTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "target-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPPrototypeFloatingIPByZone : FloatingIPPrototypeFloatingIPByZone struct +// This model "extends" FloatingIPPrototype +type FloatingIPPrototypeFloatingIPByZone struct { + // The name for this floating IP. The name must not be used by another floating IP in the region. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The zone this floating IP will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` +} + +// NewFloatingIPPrototypeFloatingIPByZone : Instantiate FloatingIPPrototypeFloatingIPByZone (Generic Model Constructor) +func (*VpcV1) NewFloatingIPPrototypeFloatingIPByZone(zone ZoneIdentityIntf) (_model *FloatingIPPrototypeFloatingIPByZone, err error) { + _model = &FloatingIPPrototypeFloatingIPByZone{ + Zone: zone, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPPrototypeFloatingIPByZone) isaFloatingIPPrototype() bool { + return true +} + +// UnmarshalFloatingIPPrototypeFloatingIPByZone unmarshals an instance of FloatingIPPrototypeFloatingIPByZone from the specified map of raw messages. +func UnmarshalFloatingIPPrototypeFloatingIPByZone(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPPrototypeFloatingIPByZone) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity : Identifies a bare metal server network interface by a unique property. +// Models which "extend" this model: +// - FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID +// - FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref +// This model "extends" FloatingIPTargetPatch +type FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity struct { + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` +} + +func (*FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity) isaFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity() bool { + return true +} + +type FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityIntf interface { + FloatingIPTargetPatchIntf + isaFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity() bool +} + +func (*FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity unmarshals an instance of FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity +func (floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity *FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity.ID) { + _patch["id"] = floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity.ID + } + if !core.IsNil(floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity.Href) { + _patch["href"] = floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity.Href + } + + return +} + +// FloatingIPTargetPatchNetworkInterfaceIdentity : Identifies an instance network interface by a unique property. +// Models which "extend" this model: +// - FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID +// - FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref +// This model "extends" FloatingIPTargetPatch +type FloatingIPTargetPatchNetworkInterfaceIdentity struct { + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` +} + +func (*FloatingIPTargetPatchNetworkInterfaceIdentity) isaFloatingIPTargetPatchNetworkInterfaceIdentity() bool { + return true +} + +type FloatingIPTargetPatchNetworkInterfaceIdentityIntf interface { + FloatingIPTargetPatchIntf + isaFloatingIPTargetPatchNetworkInterfaceIdentity() bool +} + +func (*FloatingIPTargetPatchNetworkInterfaceIdentity) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchNetworkInterfaceIdentity unmarshals an instance of FloatingIPTargetPatchNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchNetworkInterfaceIdentity +func (floatingIPTargetPatchNetworkInterfaceIdentity *FloatingIPTargetPatchNetworkInterfaceIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchNetworkInterfaceIdentity.ID) { + _patch["id"] = floatingIPTargetPatchNetworkInterfaceIdentity.ID + } + if !core.IsNil(floatingIPTargetPatchNetworkInterfaceIdentity.Href) { + _patch["href"] = floatingIPTargetPatchNetworkInterfaceIdentity.Href + } + + return +} + +// FloatingIPTargetPatchVirtualNetworkInterfaceIdentity : Identifies a virtual network interface by a unique property. +// Models which "extend" this model: +// - FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID +// - FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref +// - FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN +// This model "extends" FloatingIPTargetPatch +type FloatingIPTargetPatchVirtualNetworkInterfaceIdentity struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*FloatingIPTargetPatchVirtualNetworkInterfaceIdentity) isaFloatingIPTargetPatchVirtualNetworkInterfaceIdentity() bool { + return true +} + +type FloatingIPTargetPatchVirtualNetworkInterfaceIdentityIntf interface { + FloatingIPTargetPatchIntf + isaFloatingIPTargetPatchVirtualNetworkInterfaceIdentity() bool +} + +func (*FloatingIPTargetPatchVirtualNetworkInterfaceIdentity) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchVirtualNetworkInterfaceIdentity unmarshals an instance of FloatingIPTargetPatchVirtualNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchVirtualNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchVirtualNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchVirtualNetworkInterfaceIdentity +func (floatingIPTargetPatchVirtualNetworkInterfaceIdentity *FloatingIPTargetPatchVirtualNetworkInterfaceIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchVirtualNetworkInterfaceIdentity.ID) { + _patch["id"] = floatingIPTargetPatchVirtualNetworkInterfaceIdentity.ID + } + if !core.IsNil(floatingIPTargetPatchVirtualNetworkInterfaceIdentity.Href) { + _patch["href"] = floatingIPTargetPatchVirtualNetworkInterfaceIdentity.Href + } + if !core.IsNil(floatingIPTargetPatchVirtualNetworkInterfaceIdentity.CRN) { + _patch["crn"] = floatingIPTargetPatchVirtualNetworkInterfaceIdentity.CRN + } + + return +} + +// FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity : Identifies a bare metal server network interface by a unique property. +// Models which "extend" this model: +// - FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID +// - FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref +// This model "extends" FloatingIPTargetPrototype +type FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity struct { + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` +} + +func (*FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity) isaFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity() bool { + return true +} + +type FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityIntf interface { + FloatingIPTargetPrototypeIntf + isaFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity() bool +} + +func (*FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity unmarshals an instance of FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPrototypeNetworkInterfaceIdentity : Identifies an instance network interface by a unique property. +// Models which "extend" this model: +// - FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID +// - FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref +// This model "extends" FloatingIPTargetPrototype +type FloatingIPTargetPrototypeNetworkInterfaceIdentity struct { + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` +} + +func (*FloatingIPTargetPrototypeNetworkInterfaceIdentity) isaFloatingIPTargetPrototypeNetworkInterfaceIdentity() bool { + return true +} + +type FloatingIPTargetPrototypeNetworkInterfaceIdentityIntf interface { + FloatingIPTargetPrototypeIntf + isaFloatingIPTargetPrototypeNetworkInterfaceIdentity() bool +} + +func (*FloatingIPTargetPrototypeNetworkInterfaceIdentity) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeNetworkInterfaceIdentity unmarshals an instance of FloatingIPTargetPrototypeNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity : Identifies a virtual network interface by a unique property. +// Models which "extend" this model: +// - FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID +// - FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref +// - FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN +// This model "extends" FloatingIPTargetPrototype +type FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity) isaFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +type FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityIntf interface { + FloatingIPTargetPrototypeIntf + isaFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool +} + +func (*FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity unmarshals an instance of FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetBareMetalServerNetworkInterfaceReference : FloatingIPTargetBareMetalServerNetworkInterfaceReference struct +// This model "extends" FloatingIPTarget +type FloatingIPTargetBareMetalServerNetworkInterfaceReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this bare metal server network interface. + Name *string `json:"name" validate:"required"` + + // The primary IP address of this bare metal server network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the FloatingIPTargetBareMetalServerNetworkInterfaceReference.ResourceType property. +// The resource type. +const ( + FloatingIPTargetBareMetalServerNetworkInterfaceReferenceResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*FloatingIPTargetBareMetalServerNetworkInterfaceReference) isaFloatingIPTarget() bool { + return true +} + +// UnmarshalFloatingIPTargetBareMetalServerNetworkInterfaceReference unmarshals an instance of FloatingIPTargetBareMetalServerNetworkInterfaceReference from the specified map of raw messages. +func UnmarshalFloatingIPTargetBareMetalServerNetworkInterfaceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetBareMetalServerNetworkInterfaceReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetNetworkInterfaceReference : FloatingIPTargetNetworkInterfaceReference struct +// This model "extends" FloatingIPTarget +type FloatingIPTargetNetworkInterfaceReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network interface. + Name *string `json:"name" validate:"required"` + + // The primary IP address of this instance network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the FloatingIPTargetNetworkInterfaceReference.ResourceType property. +// The resource type. +const ( + FloatingIPTargetNetworkInterfaceReferenceResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*FloatingIPTargetNetworkInterfaceReference) isaFloatingIPTarget() bool { + return true +} + +// UnmarshalFloatingIPTargetNetworkInterfaceReference unmarshals an instance of FloatingIPTargetNetworkInterfaceReference from the specified map of raw messages. +func UnmarshalFloatingIPTargetNetworkInterfaceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetNetworkInterfaceReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPublicGatewayReference : FloatingIPTargetPublicGatewayReference struct +// This model "extends" FloatingIPTarget +type FloatingIPTargetPublicGatewayReference struct { + // The CRN for this public gateway. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this public gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this public gateway. + ID *string `json:"id" validate:"required"` + + // The name for this public gateway. The name is unique across all public gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the FloatingIPTargetPublicGatewayReference.ResourceType property. +// The resource type. +const ( + FloatingIPTargetPublicGatewayReferenceResourceTypePublicGatewayConst = "public_gateway" +) + +func (*FloatingIPTargetPublicGatewayReference) isaFloatingIPTarget() bool { + return true +} + +// UnmarshalFloatingIPTargetPublicGatewayReference unmarshals an instance of FloatingIPTargetPublicGatewayReference from the specified map of raw messages. +func UnmarshalFloatingIPTargetPublicGatewayReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPublicGatewayReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetVirtualNetworkInterfaceReference : FloatingIPTargetVirtualNetworkInterfaceReference struct +// This model "extends" FloatingIPTarget +type FloatingIPTargetVirtualNetworkInterfaceReference struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` + + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `json:"name" validate:"required"` + + // The primary IP for this virtual network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` +} + +// Constants associated with the FloatingIPTargetVirtualNetworkInterfaceReference.ResourceType property. +// The resource type. +const ( + FloatingIPTargetVirtualNetworkInterfaceReferenceResourceTypeVirtualNetworkInterfaceConst = "virtual_network_interface" +) + +func (*FloatingIPTargetVirtualNetworkInterfaceReference) isaFloatingIPTarget() bool { + return true +} + +// UnmarshalFloatingIPTargetVirtualNetworkInterfaceReference unmarshals an instance of FloatingIPTargetVirtualNetworkInterfaceReference from the specified map of raw messages. +func UnmarshalFloatingIPTargetVirtualNetworkInterfaceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetVirtualNetworkInterfaceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeInstanceIdentity : Identifies a virtual server instance by a unique property. +// Models which "extend" this model: +// - FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID +// - FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN +// - FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref +// This model "extends" FlowLogCollectorTargetPrototype +type FlowLogCollectorTargetPrototypeInstanceIdentity struct { + // The unique identifier for this virtual server instance. + ID *string `json:"id,omitempty"` + + // The CRN for this virtual server instance. + CRN *string `json:"crn,omitempty"` + + // The URL for this virtual server instance. + Href *string `json:"href,omitempty"` +} + +func (*FlowLogCollectorTargetPrototypeInstanceIdentity) isaFlowLogCollectorTargetPrototypeInstanceIdentity() bool { + return true +} + +type FlowLogCollectorTargetPrototypeInstanceIdentityIntf interface { + FlowLogCollectorTargetPrototypeIntf + isaFlowLogCollectorTargetPrototypeInstanceIdentity() bool +} + +func (*FlowLogCollectorTargetPrototypeInstanceIdentity) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeInstanceIdentity unmarshals an instance of FlowLogCollectorTargetPrototypeInstanceIdentity from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeInstanceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeInstanceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity : Identifies an instance network attachment by a unique property. +// Models which "extend" this model: +// - FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID +// - FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref +// This model "extends" FlowLogCollectorTargetPrototype +type FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity struct { + // The unique identifier for this instance network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this instance network attachment. + Href *string `json:"href,omitempty"` +} + +func (*FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity) isaFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity() bool { + return true +} + +type FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityIntf interface { + FlowLogCollectorTargetPrototypeIntf + isaFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity() bool +} + +func (*FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity unmarshals an instance of FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity : Identifies an instance network interface by a unique property. +// Models which "extend" this model: +// - FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID +// - FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref +// This model "extends" FlowLogCollectorTargetPrototype +type FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity struct { + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href,omitempty"` +} + +func (*FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity) isaFlowLogCollectorTargetPrototypeNetworkInterfaceIdentity() bool { + return true +} + +type FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityIntf interface { + FlowLogCollectorTargetPrototypeIntf + isaFlowLogCollectorTargetPrototypeNetworkInterfaceIdentity() bool +} + +func (*FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeNetworkInterfaceIdentity unmarshals an instance of FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeSubnetIdentity : Identifies a subnet by a unique property. +// Models which "extend" this model: +// - FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID +// - FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN +// - FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref +// This model "extends" FlowLogCollectorTargetPrototype +type FlowLogCollectorTargetPrototypeSubnetIdentity struct { + // The unique identifier for this subnet. + ID *string `json:"id,omitempty"` + + // The CRN for this subnet. + CRN *string `json:"crn,omitempty"` + + // The URL for this subnet. + Href *string `json:"href,omitempty"` +} + +func (*FlowLogCollectorTargetPrototypeSubnetIdentity) isaFlowLogCollectorTargetPrototypeSubnetIdentity() bool { + return true +} + +type FlowLogCollectorTargetPrototypeSubnetIdentityIntf interface { + FlowLogCollectorTargetPrototypeIntf + isaFlowLogCollectorTargetPrototypeSubnetIdentity() bool +} + +func (*FlowLogCollectorTargetPrototypeSubnetIdentity) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeSubnetIdentity unmarshals an instance of FlowLogCollectorTargetPrototypeSubnetIdentity from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeSubnetIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeSubnetIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeVPCIdentity : Identifies a VPC by a unique property. +// Models which "extend" this model: +// - FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID +// - FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN +// - FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref +// This model "extends" FlowLogCollectorTargetPrototype +type FlowLogCollectorTargetPrototypeVPCIdentity struct { + // The unique identifier for this VPC. + ID *string `json:"id,omitempty"` + + // The CRN for this VPC. + CRN *string `json:"crn,omitempty"` + + // The URL for this VPC. + Href *string `json:"href,omitempty"` +} + +func (*FlowLogCollectorTargetPrototypeVPCIdentity) isaFlowLogCollectorTargetPrototypeVPCIdentity() bool { + return true +} + +type FlowLogCollectorTargetPrototypeVPCIdentityIntf interface { + FlowLogCollectorTargetPrototypeIntf + isaFlowLogCollectorTargetPrototypeVPCIdentity() bool +} + +func (*FlowLogCollectorTargetPrototypeVPCIdentity) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeVPCIdentity unmarshals an instance of FlowLogCollectorTargetPrototypeVPCIdentity from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeVPCIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeVPCIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity : Identifies a virtual network interface by a unique property. +// Models which "extend" this model: +// - FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID +// - FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref +// - FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN +// This model "extends" FlowLogCollectorTargetPrototype +type FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity) isaFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +type FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityIntf interface { + FlowLogCollectorTargetPrototypeIntf + isaFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity() bool +} + +func (*FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity unmarshals an instance of FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetInstanceNetworkAttachmentReference : FlowLogCollectorTargetInstanceNetworkAttachmentReference struct +// This model "extends" FlowLogCollectorTarget +type FlowLogCollectorTargetInstanceNetworkAttachmentReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `json:"name" validate:"required"` + + // The primary IP address of the virtual network interface for the instance network + // attachment. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The subnet of the virtual network interface for the instance network attachment. + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The virtual network interface for this instance network attachment. + VirtualNetworkInterface *VirtualNetworkInterfaceReferenceAttachmentContext `json:"virtual_network_interface" validate:"required"` +} + +// Constants associated with the FlowLogCollectorTargetInstanceNetworkAttachmentReference.ResourceType property. +// The resource type. +const ( + FlowLogCollectorTargetInstanceNetworkAttachmentReferenceResourceTypeInstanceNetworkAttachmentConst = "instance_network_attachment" +) + +func (*FlowLogCollectorTargetInstanceNetworkAttachmentReference) isaFlowLogCollectorTarget() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetInstanceNetworkAttachmentReference unmarshals an instance of FlowLogCollectorTargetInstanceNetworkAttachmentReference from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetInstanceNetworkAttachmentReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetInstanceNetworkAttachmentReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalVirtualNetworkInterfaceReferenceAttachmentContext) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetInstanceReference : FlowLogCollectorTargetInstanceReference struct +// This model "extends" FlowLogCollectorTarget +type FlowLogCollectorTargetInstanceReference struct { + // The CRN for this virtual server instance. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this virtual server instance. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual server instance. + ID *string `json:"id" validate:"required"` + + // The name for this virtual server instance. The name is unique across all virtual server instances in the region. + Name *string `json:"name" validate:"required"` +} + +func (*FlowLogCollectorTargetInstanceReference) isaFlowLogCollectorTarget() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetInstanceReference unmarshals an instance of FlowLogCollectorTargetInstanceReference from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetInstanceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetInstanceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetNetworkInterfaceReferenceTargetContext : FlowLogCollectorTargetNetworkInterfaceReferenceTargetContext struct +// This model "extends" FlowLogCollectorTarget +type FlowLogCollectorTargetNetworkInterfaceReferenceTargetContext struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network interface. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the FlowLogCollectorTargetNetworkInterfaceReferenceTargetContext.ResourceType property. +// The resource type. +const ( + FlowLogCollectorTargetNetworkInterfaceReferenceTargetContextResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*FlowLogCollectorTargetNetworkInterfaceReferenceTargetContext) isaFlowLogCollectorTarget() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetNetworkInterfaceReferenceTargetContext unmarshals an instance of FlowLogCollectorTargetNetworkInterfaceReferenceTargetContext from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetNetworkInterfaceReferenceTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetNetworkInterfaceReferenceTargetContext) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetSubnetReference : FlowLogCollectorTargetSubnetReference struct +// This model "extends" FlowLogCollectorTarget +type FlowLogCollectorTargetSubnetReference struct { + // The CRN for this subnet. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this subnet. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this subnet. + ID *string `json:"id" validate:"required"` + + // The name for this subnet. The name is unique across all subnets in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the FlowLogCollectorTargetSubnetReference.ResourceType property. +// The resource type. +const ( + FlowLogCollectorTargetSubnetReferenceResourceTypeSubnetConst = "subnet" +) + +func (*FlowLogCollectorTargetSubnetReference) isaFlowLogCollectorTarget() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetSubnetReference unmarshals an instance of FlowLogCollectorTargetSubnetReference from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetSubnetReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetSubnetReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetVPCReference : FlowLogCollectorTargetVPCReference struct +// This model "extends" FlowLogCollectorTarget +type FlowLogCollectorTargetVPCReference struct { + // The CRN for this VPC. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPC. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPC. + ID *string `json:"id" validate:"required"` + + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the FlowLogCollectorTargetVPCReference.ResourceType property. +// The resource type. +const ( + FlowLogCollectorTargetVPCReferenceResourceTypeVPCConst = "vpc" +) + +func (*FlowLogCollectorTargetVPCReference) isaFlowLogCollectorTarget() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetVPCReference unmarshals an instance of FlowLogCollectorTargetVPCReference from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetVPCReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetVPCReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext : FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext struct +// This model "extends" FlowLogCollectorTarget +type FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` + + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` + + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext.ResourceType property. +// The resource type. +const ( + FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContextResourceTypeVirtualNetworkInterfaceConst = "virtual_network_interface" +) + +func (*FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext) isaFlowLogCollectorTarget() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext unmarshals an instance of FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetVirtualNetworkInterfaceReferenceAttachmentContext) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageIdentityByCRN : ImageIdentityByCRN struct +// This model "extends" ImageIdentity +type ImageIdentityByCRN struct { + // The CRN for this image. + CRN *string `json:"crn" validate:"required"` +} + +// NewImageIdentityByCRN : Instantiate ImageIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewImageIdentityByCRN(crn string) (_model *ImageIdentityByCRN, err error) { + _model = &ImageIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ImageIdentityByCRN) isaImageIdentity() bool { + return true +} + +// UnmarshalImageIdentityByCRN unmarshals an instance of ImageIdentityByCRN from the specified map of raw messages. +func UnmarshalImageIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageIdentityByHref : ImageIdentityByHref struct +// This model "extends" ImageIdentity +type ImageIdentityByHref struct { + // The URL for this image. + Href *string `json:"href" validate:"required"` +} + +// NewImageIdentityByHref : Instantiate ImageIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewImageIdentityByHref(href string) (_model *ImageIdentityByHref, err error) { + _model = &ImageIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ImageIdentityByHref) isaImageIdentity() bool { + return true +} + +// UnmarshalImageIdentityByHref unmarshals an instance of ImageIdentityByHref from the specified map of raw messages. +func UnmarshalImageIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageIdentityByID : ImageIdentityByID struct +// This model "extends" ImageIdentity +type ImageIdentityByID struct { + // The unique identifier for this image. + ID *string `json:"id" validate:"required"` +} + +// NewImageIdentityByID : Instantiate ImageIdentityByID (Generic Model Constructor) +func (*VpcV1) NewImageIdentityByID(id string) (_model *ImageIdentityByID, err error) { + _model = &ImageIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ImageIdentityByID) isaImageIdentity() bool { + return true +} + +// UnmarshalImageIdentityByID unmarshals an instance of ImageIdentityByID from the specified map of raw messages. +func UnmarshalImageIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImagePrototypeImageByFile : ImagePrototypeImageByFile struct +// This model "extends" ImagePrototype +type ImagePrototypeImageByFile struct { + // The usage constraints to match against the requested instance or bare metal server properties to determine + // compatibility. + AllowedUse *ImageAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The deprecation date and time to set for this image. + // + // The date and time must not be in the past, and must be earlier than `obsolescence_at` + // (if `obsolescence_at` is set). + // + // If unspecified, no deprecation date and time will be set. + // + // If the deprecation date and time is reached while the image has a status of `pending`, the image's status will + // transition to `deprecated` upon its successful creation (or + // `obsolete` if the obsolescence date and time was also reached). + DeprecationAt *strfmt.DateTime `json:"deprecation_at,omitempty"` + + // The name for this image. The name must not be used by another image in the region. Names starting with `ibm-` are + // reserved for system-provided images, and are not allowed. If unspecified, the name will be a hyphenated list of + // randomly-selected words. + Name *string `json:"name,omitempty"` + + // The obsolescence date and time to set for this image. + // + // The date and time must not be in the past, and must be later than `deprecation_at` (if + // `deprecation_at` is set). + // + // If unspecified, no obsolescence date and time will be set. + // + // If the obsolescence date and time is reached while the image has a status of + // `pending`, the image's status will transition to `obsolete` upon its successful creation. + ObsolescenceAt *strfmt.DateTime `json:"obsolescence_at,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image. + // + // That representation is created by wrapping the key's value with the `encryption_key` root key (which must also be + // specified), using either [Key Protect](https://cloud.ibm.com/docs/key-protect?topic=key-protect-wrap-keys) or the + // [Hyper Protect Crypto Services](https://cloud.ibm.com/docs/services/hs-crypto?topic=hs-crypto-wrap-keys). + // + // If unspecified, the imported image is treated as unencrypted. + EncryptedDataKey *string `json:"encrypted_data_key,omitempty"` + + // The root key that was used to wrap the data key (which is ultimately represented as + // `encrypted_data_key`). Additionally, the root key will be used to encrypt volumes + // created from this image (unless an alternate `encryption_key` is specified at volume + // creation). + // + // If unspecified, the imported image is treated as unencrypted. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The file from which to create the image. + File *ImageFilePrototype `json:"file" validate:"required"` + + // The [supported operating + // system](https://cloud.ibm.com/apidocs/vpc#list-operating-systems) included in this + // image. + OperatingSystem OperatingSystemIdentityIntf `json:"operating_system" validate:"required"` +} + +// NewImagePrototypeImageByFile : Instantiate ImagePrototypeImageByFile (Generic Model Constructor) +func (*VpcV1) NewImagePrototypeImageByFile(file *ImageFilePrototype, operatingSystem OperatingSystemIdentityIntf) (_model *ImagePrototypeImageByFile, err error) { + _model = &ImagePrototypeImageByFile{ + File: file, + OperatingSystem: operatingSystem, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ImagePrototypeImageByFile) isaImagePrototype() bool { + return true +} + +// UnmarshalImagePrototypeImageByFile unmarshals an instance of ImagePrototypeImageByFile from the specified map of raw messages. +func UnmarshalImagePrototypeImageByFile(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImagePrototypeImageByFile) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalImageAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deprecation_at", &obj.DeprecationAt) + if err != nil { + err = core.SDKErrorf(err, "", "deprecation_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "obsolescence_at", &obj.ObsolescenceAt) + if err != nil { + err = core.SDKErrorf(err, "", "obsolescence_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "encrypted_data_key", &obj.EncryptedDataKey) + if err != nil { + err = core.SDKErrorf(err, "", "encrypted_data_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "file", &obj.File, UnmarshalImageFilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "file-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "operating_system", &obj.OperatingSystem, UnmarshalOperatingSystemIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "operating_system-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImagePrototypeImageBySourceVolume : ImagePrototypeImageBySourceVolume struct +// This model "extends" ImagePrototype +type ImagePrototypeImageBySourceVolume struct { + // The usage constraints to match against the requested instance or bare metal server properties to determine + // compatibility. + AllowedUse *ImageAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The deprecation date and time to set for this image. + // + // The date and time must not be in the past, and must be earlier than `obsolescence_at` + // (if `obsolescence_at` is set). + // + // If unspecified, no deprecation date and time will be set. + // + // If the deprecation date and time is reached while the image has a status of `pending`, the image's status will + // transition to `deprecated` upon its successful creation (or + // `obsolete` if the obsolescence date and time was also reached). + DeprecationAt *strfmt.DateTime `json:"deprecation_at,omitempty"` + + // The name for this image. The name must not be used by another image in the region. Names starting with `ibm-` are + // reserved for system-provided images, and are not allowed. If unspecified, the name will be a hyphenated list of + // randomly-selected words. + Name *string `json:"name,omitempty"` + + // The obsolescence date and time to set for this image. + // + // The date and time must not be in the past, and must be later than `deprecation_at` (if + // `deprecation_at` is set). + // + // If unspecified, no obsolescence date and time will be set. + // + // If the obsolescence date and time is reached while the image has a status of + // `pending`, the image's status will transition to `obsolete` upon its successful creation. + ObsolescenceAt *strfmt.DateTime `json:"obsolescence_at,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The root key used to wrap the system-generated data encryption key for the image. + // + // If unspecified, the root key from `source_volume` will be used. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The volume from which to create the image. The specified volume must: + // - Have an `operating_system`, which will be used to populate this image's + // operating system information. + // - Not be `active` or `busy`. + // + // During image creation, the specified volume may briefly become `busy`. + SourceVolume VolumeIdentityIntf `json:"source_volume" validate:"required"` +} + +// NewImagePrototypeImageBySourceVolume : Instantiate ImagePrototypeImageBySourceVolume (Generic Model Constructor) +func (*VpcV1) NewImagePrototypeImageBySourceVolume(sourceVolume VolumeIdentityIntf) (_model *ImagePrototypeImageBySourceVolume, err error) { + _model = &ImagePrototypeImageBySourceVolume{ + SourceVolume: sourceVolume, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ImagePrototypeImageBySourceVolume) isaImagePrototype() bool { + return true +} + +// UnmarshalImagePrototypeImageBySourceVolume unmarshals an instance of ImagePrototypeImageBySourceVolume from the specified map of raw messages. +func UnmarshalImagePrototypeImageBySourceVolume(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImagePrototypeImageBySourceVolume) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalImageAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "deprecation_at", &obj.DeprecationAt) + if err != nil { + err = core.SDKErrorf(err, "", "deprecation_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "obsolescence_at", &obj.ObsolescenceAt) + if err != nil { + err = core.SDKErrorf(err, "", "obsolescence_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_volume", &obj.SourceVolume, UnmarshalVolumeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceCatalogOfferingPrototypeCatalogOfferingByOffering : InstanceCatalogOfferingPrototypeCatalogOfferingByOffering struct +// This model "extends" InstanceCatalogOfferingPrototype +type InstanceCatalogOfferingPrototypeCatalogOfferingByOffering struct { + // The billing plan to use for the catalog offering version. If unspecified, no billing plan will be used (free). Must + // be specified for catalog offering versions that require a billing plan to be used. + Plan CatalogOfferingVersionPlanIdentityIntf `json:"plan,omitempty"` + + // Identifies a [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering by a unique property. + Offering CatalogOfferingIdentityIntf `json:"offering" validate:"required"` +} + +// NewInstanceCatalogOfferingPrototypeCatalogOfferingByOffering : Instantiate InstanceCatalogOfferingPrototypeCatalogOfferingByOffering (Generic Model Constructor) +func (*VpcV1) NewInstanceCatalogOfferingPrototypeCatalogOfferingByOffering(offering CatalogOfferingIdentityIntf) (_model *InstanceCatalogOfferingPrototypeCatalogOfferingByOffering, err error) { + _model = &InstanceCatalogOfferingPrototypeCatalogOfferingByOffering{ + Offering: offering, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceCatalogOfferingPrototypeCatalogOfferingByOffering) isaInstanceCatalogOfferingPrototype() bool { + return true +} + +// UnmarshalInstanceCatalogOfferingPrototypeCatalogOfferingByOffering unmarshals an instance of InstanceCatalogOfferingPrototypeCatalogOfferingByOffering from the specified map of raw messages. +func UnmarshalInstanceCatalogOfferingPrototypeCatalogOfferingByOffering(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceCatalogOfferingPrototypeCatalogOfferingByOffering) + err = core.UnmarshalModel(m, "plan", &obj.Plan, UnmarshalCatalogOfferingVersionPlanIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "offering", &obj.Offering, UnmarshalCatalogOfferingIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "offering-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceCatalogOfferingPrototypeCatalogOfferingByVersion : InstanceCatalogOfferingPrototypeCatalogOfferingByVersion struct +// This model "extends" InstanceCatalogOfferingPrototype +type InstanceCatalogOfferingPrototypeCatalogOfferingByVersion struct { + // The billing plan to use for the catalog offering version. If unspecified, no billing plan will be used (free). Must + // be specified for catalog offering versions that require a billing plan to be used. + Plan CatalogOfferingVersionPlanIdentityIntf `json:"plan,omitempty"` + + // Identifies a version of a + // [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering by a + // unique property. + Version CatalogOfferingVersionIdentityIntf `json:"version" validate:"required"` +} + +// NewInstanceCatalogOfferingPrototypeCatalogOfferingByVersion : Instantiate InstanceCatalogOfferingPrototypeCatalogOfferingByVersion (Generic Model Constructor) +func (*VpcV1) NewInstanceCatalogOfferingPrototypeCatalogOfferingByVersion(version CatalogOfferingVersionIdentityIntf) (_model *InstanceCatalogOfferingPrototypeCatalogOfferingByVersion, err error) { + _model = &InstanceCatalogOfferingPrototypeCatalogOfferingByVersion{ + Version: version, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceCatalogOfferingPrototypeCatalogOfferingByVersion) isaInstanceCatalogOfferingPrototype() bool { + return true +} + +// UnmarshalInstanceCatalogOfferingPrototypeCatalogOfferingByVersion unmarshals an instance of InstanceCatalogOfferingPrototypeCatalogOfferingByVersion from the specified map of raw messages. +func UnmarshalInstanceCatalogOfferingPrototypeCatalogOfferingByVersion(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceCatalogOfferingPrototypeCatalogOfferingByVersion) + err = core.UnmarshalModel(m, "plan", &obj.Plan, UnmarshalCatalogOfferingVersionPlanIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "plan-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "version", &obj.Version, UnmarshalCatalogOfferingVersionIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "version-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref : InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref struct +// This model "extends" InstanceClusterNetworkAttachmentBeforePrototype +type InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref struct { + // The URL for this instance cluster network attachment. + Href *string `json:"href" validate:"required"` +} + +// NewInstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref : Instantiate InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref(href string) (_model *InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref, err error) { + _model = &InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref) isaInstanceClusterNetworkAttachmentBeforePrototype() bool { + return true +} + +// UnmarshalInstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref unmarshals an instance of InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID : InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID struct +// This model "extends" InstanceClusterNetworkAttachmentBeforePrototype +type InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID struct { + // The unique identifier for this instance cluster network attachment. + ID *string `json:"id" validate:"required"` +} + +// NewInstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID : Instantiate InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID(id string) (_model *InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID, err error) { + _model = &InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID) isaInstanceClusterNetworkAttachmentBeforePrototype() bool { + return true +} + +// UnmarshalInstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID unmarshals an instance of InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentBeforePrototypeInstanceClusterNetworkAttachmentIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity : Identifies a cluster network interface by a unique property. +// Models which "extend" this model: +// - InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID +// - InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref +// This model "extends" InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface +type InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity struct { + // The unique identifier for this cluster network interface. + ID *string `json:"id,omitempty"` + + // The URL for this cluster network interface. + Href *string `json:"href,omitempty"` +} + +func (*InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity) isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity() bool { + return true +} + +type InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityIntf interface { + InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceIntf + isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity() bool +} + +func (*InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity) isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface() bool { + return true +} + +// UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity unmarshals an instance of InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceInstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment : The cluster network interface for this target. +// This model "extends" InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface +type InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceInstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. + // Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the cluster network interface. May be either + // a cluster network subnet reserved IP identity, or a cluster network subnet reserved IP + // prototype object which will be used to create a new cluster network subnet reserved IP. + // + // If a cluster network subnet reserved IP identity is provided, the specified cluster + // network subnet reserved IP must be unbound. + // + // If a cluster network subnet reserved IP prototype object with an address is provided, + // the address must be available on the cluster network interface's cluster network + // subnet. If no address is specified, an available address on the cluster network subnet + // will be automatically selected and reserved. + PrimaryIP ClusterNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The associated cluster network subnet. Required if `primary_ip` does not specify a + // cluster network subnet reserved IP identity. + Subnet ClusterNetworkSubnetIdentityIntf `json:"subnet,omitempty"` +} + +func (*InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceInstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment) isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface() bool { + return true +} + +// UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceInstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment unmarshals an instance of InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceInstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceInstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceInstanceClusterNetworkInterfacePrototypeInstanceClusterNetworkAttachment) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalClusterNetworkInterfacePrimaryIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalClusterNetworkSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionPrototypeScheduledActionPrototype : InstanceGroupManagerActionPrototypeScheduledActionPrototype struct +// Models which "extend" this model: +// - InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt +// - InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec +// This model "extends" InstanceGroupManagerActionPrototype +type InstanceGroupManagerActionPrototypeScheduledActionPrototype struct { + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The date and time the scheduled action will run. + RunAt *strfmt.DateTime `json:"run_at,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroupPrototype `json:"group,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerPrototypeIntf `json:"manager,omitempty"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototype) isaInstanceGroupManagerActionPrototypeScheduledActionPrototype() bool { + return true +} + +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeIntf interface { + InstanceGroupManagerActionPrototypeIntf + isaInstanceGroupManagerActionPrototypeScheduledActionPrototype() bool +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototype) isaInstanceGroupManagerActionPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototype unmarshals an instance of InstanceGroupManagerActionPrototypeScheduledActionPrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPrototypeScheduledActionPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "run_at", &obj.RunAt) + if err != nil { + err = core.SDKErrorf(err, "", "run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroupPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManagerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionScheduledAction : InstanceGroupManagerActionScheduledAction struct +// Models which "extend" this model: +// - InstanceGroupManagerActionScheduledActionGroupTarget +// - InstanceGroupManagerActionScheduledActionManagerTarget +// This model "extends" InstanceGroupManagerAction +type InstanceGroupManagerActionScheduledAction struct { + // Indicates whether this scheduled action will be automatically deleted after it has completed and + // `auto_delete_timeout` hours have passed. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // If `auto_delete` is `true`, and this scheduled action has finished, the hours after which it will be automatically + // deleted. If the value is `0`, the action will be deleted once it has finished. + AutoDeleteTimeout *int64 `json:"auto_delete_timeout" validate:"required"` + + // The date and time that the instance group manager action was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager action. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager action. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager action. The name is unique across all actions for the instance group + // manager. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of the instance group action + // - `active`: Action is ready to be run + // - `completed`: Action was completed successfully + // - `failed`: Action could not be completed successfully + // - `incompatible`: Action parameters are not compatible with the group or manager + // - `omitted`: Action was not applied because this action's manager was disabled + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The date and time that the instance group manager action was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The type of action for the instance group. + ActionType *string `json:"action_type" validate:"required"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` + + // The date and time the scheduled action was last applied. If absent, the action has never been applied. + LastAppliedAt *strfmt.DateTime `json:"last_applied_at,omitempty"` + + // The date and time the scheduled action will next run. If absent, the system is currently calculating the next run + // time. + NextRunAt *strfmt.DateTime `json:"next_run_at,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroup `json:"group,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerIntf `json:"manager,omitempty"` +} + +// Constants associated with the InstanceGroupManagerActionScheduledAction.ResourceType property. +// The resource type. +const ( + InstanceGroupManagerActionScheduledActionResourceTypeInstanceGroupManagerActionConst = "instance_group_manager_action" +) + +// Constants associated with the InstanceGroupManagerActionScheduledAction.Status property. +// The status of the instance group action +// - `active`: Action is ready to be run +// - `completed`: Action was completed successfully +// - `failed`: Action could not be completed successfully +// - `incompatible`: Action parameters are not compatible with the group or manager +// - `omitted`: Action was not applied because this action's manager was disabled +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupManagerActionScheduledActionStatusActiveConst = "active" + InstanceGroupManagerActionScheduledActionStatusCompletedConst = "completed" + InstanceGroupManagerActionScheduledActionStatusFailedConst = "failed" + InstanceGroupManagerActionScheduledActionStatusIncompatibleConst = "incompatible" + InstanceGroupManagerActionScheduledActionStatusOmittedConst = "omitted" +) + +// Constants associated with the InstanceGroupManagerActionScheduledAction.ActionType property. +// The type of action for the instance group. +const ( + InstanceGroupManagerActionScheduledActionActionTypeScheduledConst = "scheduled" +) + +func (*InstanceGroupManagerActionScheduledAction) isaInstanceGroupManagerActionScheduledAction() bool { + return true +} + +type InstanceGroupManagerActionScheduledActionIntf interface { + InstanceGroupManagerActionIntf + isaInstanceGroupManagerActionScheduledAction() bool +} + +func (*InstanceGroupManagerActionScheduledAction) isaInstanceGroupManagerAction() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionScheduledAction unmarshals an instance of InstanceGroupManagerActionScheduledAction from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionScheduledAction(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionScheduledAction) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete_timeout", &obj.AutoDeleteTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "action_type", &obj.ActionType) + if err != nil { + err = core.SDKErrorf(err, "", "action_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "last_applied_at", &obj.LastAppliedAt) + if err != nil { + err = core.SDKErrorf(err, "", "last_applied_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "next_run_at", &obj.NextRunAt) + if err != nil { + err = core.SDKErrorf(err, "", "next_run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroup) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManager) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerAutoScale : InstanceGroupManagerAutoScale struct +// This model "extends" InstanceGroupManager +type InstanceGroupManagerAutoScale struct { + // The date and time that the instance group manager was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager. + ID *string `json:"id" validate:"required"` + + // Indicates whether this manager will control the instance group. + ManagementEnabled *bool `json:"management_enabled" validate:"required"` + + // The name for this instance group manager. The name is unique across all managers for the instance group. + Name *string `json:"name" validate:"required"` + + // The date and time that the instance group manager was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The time window in seconds to aggregate metrics prior to evaluation. + AggregationWindow *int64 `json:"aggregation_window" validate:"required"` + + // The duration of time in seconds to pause further scale actions after scaling has taken place. + Cooldown *int64 `json:"cooldown" validate:"required"` + + // The type of instance group manager. + ManagerType *string `json:"manager_type" validate:"required"` + + // The maximum number of members in a managed instance group. + MaxMembershipCount *int64 `json:"max_membership_count" validate:"required"` + + // The minimum number of members in a managed instance group. + MinMembershipCount *int64 `json:"min_membership_count" validate:"required"` + + // The policies of the instance group manager. + Policies []InstanceGroupManagerPolicyReference `json:"policies" validate:"required"` +} + +// Constants associated with the InstanceGroupManagerAutoScale.ManagerType property. +// The type of instance group manager. +const ( + InstanceGroupManagerAutoScaleManagerTypeAutoscaleConst = "autoscale" +) + +func (*InstanceGroupManagerAutoScale) isaInstanceGroupManager() bool { + return true +} + +// UnmarshalInstanceGroupManagerAutoScale unmarshals an instance of InstanceGroupManagerAutoScale from the specified map of raw messages. +func UnmarshalInstanceGroupManagerAutoScale(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerAutoScale) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "management_enabled", &obj.ManagementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "management_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "aggregation_window", &obj.AggregationWindow) + if err != nil { + err = core.SDKErrorf(err, "", "aggregation_window-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cooldown", &obj.Cooldown) + if err != nil { + err = core.SDKErrorf(err, "", "cooldown-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manager_type", &obj.ManagerType) + if err != nil { + err = core.SDKErrorf(err, "", "manager_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "policies", &obj.Policies, UnmarshalInstanceGroupManagerPolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "policies-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype : InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype struct +// This model "extends" InstanceGroupManagerPolicyPrototype +type InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype struct { + // The name for this instance group manager policy. The name must not be used by another policy for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The type of metric to be evaluated. + MetricType *string `json:"metric_type" validate:"required"` + + // The metric value to be evaluated. + MetricValue *int64 `json:"metric_value" validate:"required"` + + // The type of policy for the instance group. + PolicyType *string `json:"policy_type" validate:"required"` +} + +// Constants associated with the InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype.MetricType property. +// The type of metric to be evaluated. +const ( + InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototypeMetricTypeCpuConst = "cpu" + InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototypeMetricTypeMemoryConst = "memory" + InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototypeMetricTypeNetworkInConst = "network_in" + InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototypeMetricTypeNetworkOutConst = "network_out" +) + +// Constants associated with the InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype.PolicyType property. +// The type of policy for the instance group. +const ( + InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototypePolicyTypeTargetConst = "target" +) + +// NewInstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype : Instantiate InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype(metricType string, metricValue int64, policyType string) (_model *InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype, err error) { + _model = &InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype{ + MetricType: core.StringPtr(metricType), + MetricValue: core.Int64Ptr(metricValue), + PolicyType: core.StringPtr(policyType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype) isaInstanceGroupManagerPolicyPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype unmarshals an instance of InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPolicyPrototypeInstanceGroupManagerTargetPolicyPrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_type", &obj.MetricType) + if err != nil { + err = core.SDKErrorf(err, "", "metric_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_value", &obj.MetricValue) + if err != nil { + err = core.SDKErrorf(err, "", "metric_value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "policy_type", &obj.PolicyType) + if err != nil { + err = core.SDKErrorf(err, "", "policy_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy : InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy struct +// This model "extends" InstanceGroupManagerPolicy +type InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy struct { + // The date and time that the instance group manager policy was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager policy. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager policy. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager policy. The name is unique across all policies for the instance group + // manager. + Name *string `json:"name" validate:"required"` + + // The date and time that the instance group manager policy was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The type of metric to be evaluated + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + MetricType *string `json:"metric_type" validate:"required"` + + // The metric value to be evaluated. + MetricValue *int64 `json:"metric_value" validate:"required"` + + // The type of policy for the instance group + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + PolicyType *string `json:"policy_type" validate:"required"` +} + +// Constants associated with the InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy.MetricType property. +// The type of metric to be evaluated +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicyMetricTypeCpuConst = "cpu" + InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicyMetricTypeMemoryConst = "memory" + InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicyMetricTypeNetworkInConst = "network_in" + InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicyMetricTypeNetworkOutConst = "network_out" +) + +// Constants associated with the InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy.PolicyType property. +// The type of policy for the instance group +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicyPolicyTypeTargetConst = "target" +) + +func (*InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy) isaInstanceGroupManagerPolicy() bool { + return true +} + +// UnmarshalInstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy unmarshals an instance of InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPolicyInstanceGroupManagerTargetPolicy) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_type", &obj.MetricType) + if err != nil { + err = core.SDKErrorf(err, "", "metric_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "metric_value", &obj.MetricValue) + if err != nil { + err = core.SDKErrorf(err, "", "metric_value-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "policy_type", &obj.PolicyType) + if err != nil { + err = core.SDKErrorf(err, "", "policy_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype : InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype struct +// This model "extends" InstanceGroupManagerPrototype +type InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype struct { + // Indicates whether this manager will control the instance group. + ManagementEnabled *bool `json:"management_enabled,omitempty"` + + // The name for this instance group manager. The name must not be used by another manager for the instance group. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The time window in seconds to aggregate metrics prior to evaluation. + AggregationWindow *int64 `json:"aggregation_window,omitempty"` + + // The duration of time in seconds to pause further scale actions after scaling has taken place. + Cooldown *int64 `json:"cooldown,omitempty"` + + // The type of instance group manager. + ManagerType *string `json:"manager_type" validate:"required"` + + // The maximum number of members in a managed instance group. + MaxMembershipCount *int64 `json:"max_membership_count" validate:"required"` + + // The minimum number of members in a managed instance group. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` +} + +// Constants associated with the InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype.ManagerType property. +// The type of instance group manager. +const ( + InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototypeManagerTypeAutoscaleConst = "autoscale" +) + +// NewInstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype : Instantiate InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype(managerType string, maxMembershipCount int64) (_model *InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype, err error) { + _model = &InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype{ + ManagerType: core.StringPtr(managerType), + MaxMembershipCount: core.Int64Ptr(maxMembershipCount), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype) isaInstanceGroupManagerPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype unmarshals an instance of InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPrototypeInstanceGroupManagerAutoScalePrototype) + err = core.UnmarshalPrimitive(m, "management_enabled", &obj.ManagementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "management_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "aggregation_window", &obj.AggregationWindow) + if err != nil { + err = core.SDKErrorf(err, "", "aggregation_window-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cooldown", &obj.Cooldown) + if err != nil { + err = core.SDKErrorf(err, "", "cooldown-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manager_type", &obj.ManagerType) + if err != nil { + err = core.SDKErrorf(err, "", "manager_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype : InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype struct +// This model "extends" InstanceGroupManagerPrototype +type InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype struct { + // Indicates whether this manager will control the instance group. + ManagementEnabled *bool `json:"management_enabled,omitempty"` + + // The name for this instance group manager. The name must not be used by another manager for the instance group. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The type of instance group manager. + ManagerType *string `json:"manager_type" validate:"required"` +} + +// Constants associated with the InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype.ManagerType property. +// The type of instance group manager. +const ( + InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototypeManagerTypeScheduledConst = "scheduled" +) + +// NewInstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype : Instantiate InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype(managerType string) (_model *InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype, err error) { + _model = &InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype{ + ManagerType: core.StringPtr(managerType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype) isaInstanceGroupManagerPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype unmarshals an instance of InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerPrototypeInstanceGroupManagerScheduledPrototype) + err = core.UnmarshalPrimitive(m, "management_enabled", &obj.ManagementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "management_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manager_type", &obj.ManagerType) + if err != nil { + err = core.SDKErrorf(err, "", "manager_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduled : InstanceGroupManagerScheduled struct +// This model "extends" InstanceGroupManager +type InstanceGroupManagerScheduled struct { + // The date and time that the instance group manager was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager. + ID *string `json:"id" validate:"required"` + + // Indicates whether this manager will control the instance group. + ManagementEnabled *bool `json:"management_enabled" validate:"required"` + + // The name for this instance group manager. The name is unique across all managers for the instance group. + Name *string `json:"name" validate:"required"` + + // The date and time that the instance group manager was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The actions of the instance group manager. + Actions []InstanceGroupManagerActionReference `json:"actions" validate:"required"` + + // The type of instance group manager. + ManagerType *string `json:"manager_type" validate:"required"` +} + +// Constants associated with the InstanceGroupManagerScheduled.ManagerType property. +// The type of instance group manager. +const ( + InstanceGroupManagerScheduledManagerTypeScheduledConst = "scheduled" +) + +func (*InstanceGroupManagerScheduled) isaInstanceGroupManager() bool { + return true +} + +// UnmarshalInstanceGroupManagerScheduled unmarshals an instance of InstanceGroupManagerScheduled from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduled(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduled) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "management_enabled", &obj.ManagementEnabled) + if err != nil { + err = core.SDKErrorf(err, "", "management_enabled-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "actions", &obj.Actions, UnmarshalInstanceGroupManagerActionReference) + if err != nil { + err = core.SDKErrorf(err, "", "actions-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "manager_type", &obj.ManagerType) + if err != nil { + err = core.SDKErrorf(err, "", "manager_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduledActionManagerAutoScale : InstanceGroupManagerScheduledActionManagerAutoScale struct +// This model "extends" InstanceGroupManagerScheduledActionManager +type InstanceGroupManagerScheduledActionManagerAutoScale struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance group manager. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager. The name is unique across all managers for the instance group. + Name *string `json:"name" validate:"required"` + + // The desired maximum number of instance group members at the scheduled time. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The desired minimum number of instance group members at the scheduled time. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` +} + +func (*InstanceGroupManagerScheduledActionManagerAutoScale) isaInstanceGroupManagerScheduledActionManager() bool { + return true +} + +// UnmarshalInstanceGroupManagerScheduledActionManagerAutoScale unmarshals an instance of InstanceGroupManagerScheduledActionManagerAutoScale from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduledActionManagerAutoScale(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduledActionManagerAutoScale) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype : The auto scale manager to update, and one or more properties to be updated. Either `id` or `href` must be specified, +// in addition to at least one of `min_membership_count` and +// `max_membership_count`. +// Models which "extend" this model: +// - InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID +// - InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref +// This model "extends" InstanceGroupManagerScheduledActionManagerPrototype +type InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype struct { + // The desired maximum number of instance group members at the scheduled time. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The desired minimum number of instance group members at the scheduled time. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` + + // The unique identifier for this instance group manager. + ID *string `json:"id,omitempty"` + + // The URL for this instance group manager. + Href *string `json:"href,omitempty"` +} + +func (*InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype) isaInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype() bool { + return true +} + +type InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeIntf interface { + InstanceGroupManagerScheduledActionManagerPrototypeIntf + isaInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype() bool +} + +func (*InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype) isaInstanceGroupManagerScheduledActionManagerPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype unmarshals an instance of InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype) + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity : Identifies a virtual network interface by a unique property. +// Models which "extend" this model: +// - InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID +// - InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref +// - InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN +// This model "extends" InstanceNetworkAttachmentPrototypeVirtualNetworkInterface +type InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool { + return true +} + +type InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityIntf interface { + InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceIntf + isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool +} + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity unmarshals an instance of InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext : The virtual network interface for this target. +// This model "extends" InstanceNetworkAttachmentPrototypeVirtualNetworkInterface +type InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on + // this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP + // identity, or a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be + // in the primary IP's subnet. + // + // If reserved IP identities are provided, the specified reserved IPs must be unbound. + // + // If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network + // interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet + // will be automatically selected and reserved. + Ips []VirtualNetworkInterfaceIPPrototypeIntf `json:"ips,omitempty"` + + // The name for this virtual network interface. The name must not be used by another virtual network interface in the + // VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are + // reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the virtual network interface. May be either a + // reserved IP identity, or a reserved IP prototype object which will be used to create a + // new reserved IP. + // + // If a reserved IP identity is provided, the specified reserved IP must be unbound. + // + // If a reserved IP prototype object with an address is provided, the address must be + // available on the virtual network interface's subnet. If no address is specified, + // an available address on the subnet will be automatically selected and reserved. + PrimaryIP VirtualNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The protocol state filtering mode to use for this virtual network interface. If + // `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` + // resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode,omitempty"` + + // The resource group to use for this virtual network interface. If unspecified, the + // virtual server instance's resource group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC + // for the subnet is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. Required if `primary_ip` does not specify a reserved IP + // identity. + Subnet SubnetIdentityIntf `json:"subnet,omitempty"` +} + +// Constants associated with the InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext.ProtocolStateFilteringMode property. +// The protocol state filtering mode to use for this virtual network interface. If +// `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` +// resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. +const ( + InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContextProtocolStateFilteringModeAutoConst = "auto" + InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContextProtocolStateFilteringModeDisabledConst = "disabled" + InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContextProtocolStateFilteringModeEnabledConst = "enabled" +) + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext unmarshals an instance of InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfacePrototypeInstanceNetworkAttachmentContext) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalVirtualNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalVirtualNetworkInterfacePrimaryIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state_filtering_mode", &obj.ProtocolStateFilteringMode) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state_filtering_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePatchProfileInstanceProfileIdentityByHref : InstancePatchProfileInstanceProfileIdentityByHref struct +// This model "extends" InstancePatchProfile +type InstancePatchProfileInstanceProfileIdentityByHref struct { + // The URL for this virtual server instance profile. + Href *string `json:"href" validate:"required"` +} + +// NewInstancePatchProfileInstanceProfileIdentityByHref : Instantiate InstancePatchProfileInstanceProfileIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstancePatchProfileInstanceProfileIdentityByHref(href string) (_model *InstancePatchProfileInstanceProfileIdentityByHref, err error) { + _model = &InstancePatchProfileInstanceProfileIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePatchProfileInstanceProfileIdentityByHref) isaInstancePatchProfile() bool { + return true +} + +// UnmarshalInstancePatchProfileInstanceProfileIdentityByHref unmarshals an instance of InstancePatchProfileInstanceProfileIdentityByHref from the specified map of raw messages. +func UnmarshalInstancePatchProfileInstanceProfileIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePatchProfileInstanceProfileIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePatchProfileInstanceProfileIdentityByHref +func (instancePatchProfileInstanceProfileIdentityByHref *InstancePatchProfileInstanceProfileIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePatchProfileInstanceProfileIdentityByHref.Href) { + _patch["href"] = instancePatchProfileInstanceProfileIdentityByHref.Href + } + + return +} + +// InstancePatchProfileInstanceProfileIdentityByName : InstancePatchProfileInstanceProfileIdentityByName struct +// This model "extends" InstancePatchProfile +type InstancePatchProfileInstanceProfileIdentityByName struct { + // The globally unique name for this virtual server instance profile. + Name *string `json:"name" validate:"required"` +} + +// NewInstancePatchProfileInstanceProfileIdentityByName : Instantiate InstancePatchProfileInstanceProfileIdentityByName (Generic Model Constructor) +func (*VpcV1) NewInstancePatchProfileInstanceProfileIdentityByName(name string) (_model *InstancePatchProfileInstanceProfileIdentityByName, err error) { + _model = &InstancePatchProfileInstanceProfileIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePatchProfileInstanceProfileIdentityByName) isaInstancePatchProfile() bool { + return true +} + +// UnmarshalInstancePatchProfileInstanceProfileIdentityByName unmarshals an instance of InstancePatchProfileInstanceProfileIdentityByName from the specified map of raw messages. +func UnmarshalInstancePatchProfileInstanceProfileIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePatchProfileInstanceProfileIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePatchProfileInstanceProfileIdentityByName +func (instancePatchProfileInstanceProfileIdentityByName *InstancePatchProfileInstanceProfileIdentityByName) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePatchProfileInstanceProfileIdentityByName.Name) { + _patch["name"] = instancePatchProfileInstanceProfileIdentityByName.Name + } + + return +} + +// InstancePlacementTargetPatchDedicatedHostGroupIdentity : Identifies a dedicated host group by a unique property. +// Models which "extend" this model: +// - InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID +// - InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN +// - InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref +// This model "extends" InstancePlacementTargetPatch +type InstancePlacementTargetPatchDedicatedHostGroupIdentity struct { + // The unique identifier for this dedicated host group. + ID *string `json:"id,omitempty"` + + // The CRN for this dedicated host group. + CRN *string `json:"crn,omitempty"` + + // The URL for this dedicated host group. + Href *string `json:"href,omitempty"` +} + +func (*InstancePlacementTargetPatchDedicatedHostGroupIdentity) isaInstancePlacementTargetPatchDedicatedHostGroupIdentity() bool { + return true +} + +type InstancePlacementTargetPatchDedicatedHostGroupIdentityIntf interface { + InstancePlacementTargetPatchIntf + isaInstancePlacementTargetPatchDedicatedHostGroupIdentity() bool +} + +func (*InstancePlacementTargetPatchDedicatedHostGroupIdentity) isaInstancePlacementTargetPatch() bool { + return true +} + +// UnmarshalInstancePlacementTargetPatchDedicatedHostGroupIdentity unmarshals an instance of InstancePlacementTargetPatchDedicatedHostGroupIdentity from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatchDedicatedHostGroupIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatchDedicatedHostGroupIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatchDedicatedHostGroupIdentity +func (instancePlacementTargetPatchDedicatedHostGroupIdentity *InstancePlacementTargetPatchDedicatedHostGroupIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatchDedicatedHostGroupIdentity.ID) { + _patch["id"] = instancePlacementTargetPatchDedicatedHostGroupIdentity.ID + } + if !core.IsNil(instancePlacementTargetPatchDedicatedHostGroupIdentity.CRN) { + _patch["crn"] = instancePlacementTargetPatchDedicatedHostGroupIdentity.CRN + } + if !core.IsNil(instancePlacementTargetPatchDedicatedHostGroupIdentity.Href) { + _patch["href"] = instancePlacementTargetPatchDedicatedHostGroupIdentity.Href + } + + return +} + +// InstancePlacementTargetPatchDedicatedHostIdentity : Identifies a dedicated host by a unique property. +// Models which "extend" this model: +// - InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID +// - InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN +// - InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref +// This model "extends" InstancePlacementTargetPatch +type InstancePlacementTargetPatchDedicatedHostIdentity struct { + // The unique identifier for this dedicated host. + ID *string `json:"id,omitempty"` + + // The CRN for this dedicated host. + CRN *string `json:"crn,omitempty"` + + // The URL for this dedicated host. + Href *string `json:"href,omitempty"` +} + +func (*InstancePlacementTargetPatchDedicatedHostIdentity) isaInstancePlacementTargetPatchDedicatedHostIdentity() bool { + return true +} + +type InstancePlacementTargetPatchDedicatedHostIdentityIntf interface { + InstancePlacementTargetPatchIntf + isaInstancePlacementTargetPatchDedicatedHostIdentity() bool +} + +func (*InstancePlacementTargetPatchDedicatedHostIdentity) isaInstancePlacementTargetPatch() bool { + return true +} + +// UnmarshalInstancePlacementTargetPatchDedicatedHostIdentity unmarshals an instance of InstancePlacementTargetPatchDedicatedHostIdentity from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatchDedicatedHostIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatchDedicatedHostIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatchDedicatedHostIdentity +func (instancePlacementTargetPatchDedicatedHostIdentity *InstancePlacementTargetPatchDedicatedHostIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatchDedicatedHostIdentity.ID) { + _patch["id"] = instancePlacementTargetPatchDedicatedHostIdentity.ID + } + if !core.IsNil(instancePlacementTargetPatchDedicatedHostIdentity.CRN) { + _patch["crn"] = instancePlacementTargetPatchDedicatedHostIdentity.CRN + } + if !core.IsNil(instancePlacementTargetPatchDedicatedHostIdentity.Href) { + _patch["href"] = instancePlacementTargetPatchDedicatedHostIdentity.Href + } + + return +} + +// InstancePlacementTargetPrototypeDedicatedHostGroupIdentity : Identifies a dedicated host group by a unique property. +// Models which "extend" this model: +// - InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID +// - InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN +// - InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref +// This model "extends" InstancePlacementTargetPrototype +type InstancePlacementTargetPrototypeDedicatedHostGroupIdentity struct { + // The unique identifier for this dedicated host group. + ID *string `json:"id,omitempty"` + + // The CRN for this dedicated host group. + CRN *string `json:"crn,omitempty"` + + // The URL for this dedicated host group. + Href *string `json:"href,omitempty"` +} + +func (*InstancePlacementTargetPrototypeDedicatedHostGroupIdentity) isaInstancePlacementTargetPrototypeDedicatedHostGroupIdentity() bool { + return true +} + +type InstancePlacementTargetPrototypeDedicatedHostGroupIdentityIntf interface { + InstancePlacementTargetPrototypeIntf + isaInstancePlacementTargetPrototypeDedicatedHostGroupIdentity() bool +} + +func (*InstancePlacementTargetPrototypeDedicatedHostGroupIdentity) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypeDedicatedHostGroupIdentity unmarshals an instance of InstancePlacementTargetPrototypeDedicatedHostGroupIdentity from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypeDedicatedHostGroupIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypeDedicatedHostGroupIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypeDedicatedHostIdentity : Identifies a dedicated host by a unique property. +// Models which "extend" this model: +// - InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID +// - InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN +// - InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref +// This model "extends" InstancePlacementTargetPrototype +type InstancePlacementTargetPrototypeDedicatedHostIdentity struct { + // The unique identifier for this dedicated host. + ID *string `json:"id,omitempty"` + + // The CRN for this dedicated host. + CRN *string `json:"crn,omitempty"` + + // The URL for this dedicated host. + Href *string `json:"href,omitempty"` +} + +func (*InstancePlacementTargetPrototypeDedicatedHostIdentity) isaInstancePlacementTargetPrototypeDedicatedHostIdentity() bool { + return true +} + +type InstancePlacementTargetPrototypeDedicatedHostIdentityIntf interface { + InstancePlacementTargetPrototypeIntf + isaInstancePlacementTargetPrototypeDedicatedHostIdentity() bool +} + +func (*InstancePlacementTargetPrototypeDedicatedHostIdentity) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypeDedicatedHostIdentity unmarshals an instance of InstancePlacementTargetPrototypeDedicatedHostIdentity from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypeDedicatedHostIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypeDedicatedHostIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypePlacementGroupIdentity : Identifies a placement group by a unique property. +// Models which "extend" this model: +// - InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID +// - InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN +// - InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref +// This model "extends" InstancePlacementTargetPrototype +type InstancePlacementTargetPrototypePlacementGroupIdentity struct { + // The unique identifier for this placement group. + ID *string `json:"id,omitempty"` + + // The CRN for this placement group. + CRN *string `json:"crn,omitempty"` + + // The URL for this placement group. + Href *string `json:"href,omitempty"` +} + +func (*InstancePlacementTargetPrototypePlacementGroupIdentity) isaInstancePlacementTargetPrototypePlacementGroupIdentity() bool { + return true +} + +type InstancePlacementTargetPrototypePlacementGroupIdentityIntf interface { + InstancePlacementTargetPrototypeIntf + isaInstancePlacementTargetPrototypePlacementGroupIdentity() bool +} + +func (*InstancePlacementTargetPrototypePlacementGroupIdentity) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypePlacementGroupIdentity unmarshals an instance of InstancePlacementTargetPrototypePlacementGroupIdentity from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypePlacementGroupIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypePlacementGroupIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetDedicatedHostGroupReference : InstancePlacementTargetDedicatedHostGroupReference struct +// This model "extends" InstancePlacementTarget +type InstancePlacementTargetDedicatedHostGroupReference struct { + // The CRN for this dedicated host group. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this dedicated host group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this dedicated host group. + ID *string `json:"id" validate:"required"` + + // The name for this dedicated host group. The name is unique across all dedicated host groups in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstancePlacementTargetDedicatedHostGroupReference.ResourceType property. +// The resource type. +const ( + InstancePlacementTargetDedicatedHostGroupReferenceResourceTypeDedicatedHostGroupConst = "dedicated_host_group" +) + +func (*InstancePlacementTargetDedicatedHostGroupReference) isaInstancePlacementTarget() bool { + return true +} + +// UnmarshalInstancePlacementTargetDedicatedHostGroupReference unmarshals an instance of InstancePlacementTargetDedicatedHostGroupReference from the specified map of raw messages. +func UnmarshalInstancePlacementTargetDedicatedHostGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetDedicatedHostGroupReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetDedicatedHostReference : InstancePlacementTargetDedicatedHostReference struct +// This model "extends" InstancePlacementTarget +type InstancePlacementTargetDedicatedHostReference struct { + // The CRN for this dedicated host. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this dedicated host. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this dedicated host. + ID *string `json:"id" validate:"required"` + + // The name for this dedicated host. The name is unique across all dedicated hosts in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstancePlacementTargetDedicatedHostReference.ResourceType property. +// The resource type. +const ( + InstancePlacementTargetDedicatedHostReferenceResourceTypeDedicatedHostConst = "dedicated_host" +) + +func (*InstancePlacementTargetDedicatedHostReference) isaInstancePlacementTarget() bool { + return true +} + +// UnmarshalInstancePlacementTargetDedicatedHostReference unmarshals an instance of InstancePlacementTargetDedicatedHostReference from the specified map of raw messages. +func UnmarshalInstancePlacementTargetDedicatedHostReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetDedicatedHostReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPlacementGroupReference : InstancePlacementTargetPlacementGroupReference struct +// This model "extends" InstancePlacementTarget +type InstancePlacementTargetPlacementGroupReference struct { + // The CRN for this placement group. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this placement group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this placement group. + ID *string `json:"id" validate:"required"` + + // The name for this placement group. The name is unique across all placement groups in the region. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the InstancePlacementTargetPlacementGroupReference.ResourceType property. +// The resource type. +const ( + InstancePlacementTargetPlacementGroupReferenceResourceTypePlacementGroupConst = "placement_group" +) + +func (*InstancePlacementTargetPlacementGroupReference) isaInstancePlacementTarget() bool { + return true +} + +// UnmarshalInstancePlacementTargetPlacementGroupReference unmarshals an instance of InstancePlacementTargetPlacementGroupReference from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPlacementGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPlacementGroupReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileBandwidthDependent : The total bandwidth shared across the network attachments or network interfaces and storage volumes of an instance +// with this profile depends on its configuration. +// This model "extends" InstanceProfileBandwidth +type InstanceProfileBandwidthDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileBandwidthDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileBandwidthDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileBandwidthDependent) isaInstanceProfileBandwidth() bool { + return true +} + +// UnmarshalInstanceProfileBandwidthDependent unmarshals an instance of InstanceProfileBandwidthDependent from the specified map of raw messages. +func UnmarshalInstanceProfileBandwidthDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileBandwidthDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileBandwidthEnum : The permitted total bandwidth values (in megabits per second) shared across the network attachments or network +// interfaces and storage volumes of an instance with this profile. +// This model "extends" InstanceProfileBandwidth +type InstanceProfileBandwidthEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileBandwidthEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileBandwidthEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileBandwidthEnum) isaInstanceProfileBandwidth() bool { + return true +} + +// UnmarshalInstanceProfileBandwidthEnum unmarshals an instance of InstanceProfileBandwidthEnum from the specified map of raw messages. +func UnmarshalInstanceProfileBandwidthEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileBandwidthEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileBandwidthFixed : The total bandwidth (in megabits per second) shared across the network attachments or network interfaces and storage +// volumes of an instance with this profile. +// This model "extends" InstanceProfileBandwidth +type InstanceProfileBandwidthFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileBandwidthFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileBandwidthFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileBandwidthFixed) isaInstanceProfileBandwidth() bool { + return true +} + +// UnmarshalInstanceProfileBandwidthFixed unmarshals an instance of InstanceProfileBandwidthFixed from the specified map of raw messages. +func UnmarshalInstanceProfileBandwidthFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileBandwidthFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileBandwidthRange : The permitted total bandwidth range (in megabits per second) shared across the network attachments or network +// interfaces and storage volumes of an instance with this profile. +// This model "extends" InstanceProfileBandwidth +type InstanceProfileBandwidthRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileBandwidthRange.Type property. +// The type for this profile field. +const ( + InstanceProfileBandwidthRangeTypeRangeConst = "range" +) + +func (*InstanceProfileBandwidthRange) isaInstanceProfileBandwidth() bool { + return true +} + +// UnmarshalInstanceProfileBandwidthRange unmarshals an instance of InstanceProfileBandwidthRange from the specified map of raw messages. +func UnmarshalInstanceProfileBandwidthRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileBandwidthRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileClusterNetworkAttachmentCountDependent : The number of cluster network attachments supported on an instance with this profile is dependent on its +// configuration. +// This model "extends" InstanceProfileClusterNetworkAttachmentCount +type InstanceProfileClusterNetworkAttachmentCountDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileClusterNetworkAttachmentCountDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileClusterNetworkAttachmentCountDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileClusterNetworkAttachmentCountDependent) isaInstanceProfileClusterNetworkAttachmentCount() bool { + return true +} + +// UnmarshalInstanceProfileClusterNetworkAttachmentCountDependent unmarshals an instance of InstanceProfileClusterNetworkAttachmentCountDependent from the specified map of raw messages. +func UnmarshalInstanceProfileClusterNetworkAttachmentCountDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileClusterNetworkAttachmentCountDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileClusterNetworkAttachmentCountEnum : The permitted values for cluster network attachment count for an instance with this profile. +// This model "extends" InstanceProfileClusterNetworkAttachmentCount +type InstanceProfileClusterNetworkAttachmentCountEnum struct { + Default *int64 `json:"default,omitempty"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileClusterNetworkAttachmentCountEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileClusterNetworkAttachmentCountEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileClusterNetworkAttachmentCountEnum) isaInstanceProfileClusterNetworkAttachmentCount() bool { + return true +} + +// UnmarshalInstanceProfileClusterNetworkAttachmentCountEnum unmarshals an instance of InstanceProfileClusterNetworkAttachmentCountEnum from the specified map of raw messages. +func UnmarshalInstanceProfileClusterNetworkAttachmentCountEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileClusterNetworkAttachmentCountEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileClusterNetworkAttachmentCountRange : The number of network attachments supported on an instance with this profile. +// This model "extends" InstanceProfileClusterNetworkAttachmentCount +type InstanceProfileClusterNetworkAttachmentCountRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + Step *int64 `json:"step,omitempty"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileClusterNetworkAttachmentCountRange.Type property. +// The type for this profile field. +const ( + InstanceProfileClusterNetworkAttachmentCountRangeTypeRangeConst = "range" +) + +func (*InstanceProfileClusterNetworkAttachmentCountRange) isaInstanceProfileClusterNetworkAttachmentCount() bool { + return true +} + +// UnmarshalInstanceProfileClusterNetworkAttachmentCountRange unmarshals an instance of InstanceProfileClusterNetworkAttachmentCountRange from the specified map of raw messages. +func UnmarshalInstanceProfileClusterNetworkAttachmentCountRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileClusterNetworkAttachmentCountRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskQuantityDependent : The number of disks of this configuration for an instance with this profile depends on its instance configuration. +// This model "extends" InstanceProfileDiskQuantity +type InstanceProfileDiskQuantityDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskQuantityDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskQuantityDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileDiskQuantityDependent) isaInstanceProfileDiskQuantity() bool { + return true +} + +// UnmarshalInstanceProfileDiskQuantityDependent unmarshals an instance of InstanceProfileDiskQuantityDependent from the specified map of raw messages. +func UnmarshalInstanceProfileDiskQuantityDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskQuantityDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskQuantityEnum : The permitted the number of disks of this configuration for an instance with this profile. +// This model "extends" InstanceProfileDiskQuantity +type InstanceProfileDiskQuantityEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskQuantityEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskQuantityEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileDiskQuantityEnum) isaInstanceProfileDiskQuantity() bool { + return true +} + +// UnmarshalInstanceProfileDiskQuantityEnum unmarshals an instance of InstanceProfileDiskQuantityEnum from the specified map of raw messages. +func UnmarshalInstanceProfileDiskQuantityEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskQuantityEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskQuantityFixed : The number of disks of this configuration for an instance with this profile. +// This model "extends" InstanceProfileDiskQuantity +type InstanceProfileDiskQuantityFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskQuantityFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskQuantityFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileDiskQuantityFixed) isaInstanceProfileDiskQuantity() bool { + return true +} + +// UnmarshalInstanceProfileDiskQuantityFixed unmarshals an instance of InstanceProfileDiskQuantityFixed from the specified map of raw messages. +func UnmarshalInstanceProfileDiskQuantityFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskQuantityFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskQuantityRange : The permitted range for the number of disks of this configuration for an instance with this profile. +// This model "extends" InstanceProfileDiskQuantity +type InstanceProfileDiskQuantityRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskQuantityRange.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskQuantityRangeTypeRangeConst = "range" +) + +func (*InstanceProfileDiskQuantityRange) isaInstanceProfileDiskQuantity() bool { + return true +} + +// UnmarshalInstanceProfileDiskQuantityRange unmarshals an instance of InstanceProfileDiskQuantityRange from the specified map of raw messages. +func UnmarshalInstanceProfileDiskQuantityRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskQuantityRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskSizeDependent : The disk size in GB (gigabytes) of this configuration for an instance with this profile depends on its instance +// configuration. +// This model "extends" InstanceProfileDiskSize +type InstanceProfileDiskSizeDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskSizeDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskSizeDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileDiskSizeDependent) isaInstanceProfileDiskSize() bool { + return true +} + +// UnmarshalInstanceProfileDiskSizeDependent unmarshals an instance of InstanceProfileDiskSizeDependent from the specified map of raw messages. +func UnmarshalInstanceProfileDiskSizeDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskSizeDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskSizeEnum : The permitted disk size in GB (gigabytes) of this configuration for an instance with this profile. +// This model "extends" InstanceProfileDiskSize +type InstanceProfileDiskSizeEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskSizeEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskSizeEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileDiskSizeEnum) isaInstanceProfileDiskSize() bool { + return true +} + +// UnmarshalInstanceProfileDiskSizeEnum unmarshals an instance of InstanceProfileDiskSizeEnum from the specified map of raw messages. +func UnmarshalInstanceProfileDiskSizeEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskSizeEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskSizeFixed : The size of the disk in GB (gigabytes). +// This model "extends" InstanceProfileDiskSize +type InstanceProfileDiskSizeFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskSizeFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskSizeFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileDiskSizeFixed) isaInstanceProfileDiskSize() bool { + return true +} + +// UnmarshalInstanceProfileDiskSizeFixed unmarshals an instance of InstanceProfileDiskSizeFixed from the specified map of raw messages. +func UnmarshalInstanceProfileDiskSizeFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskSizeFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileDiskSizeRange : The permitted range for the disk size of this configuration in GB (gigabytes) for an instance with this profile. +// This model "extends" InstanceProfileDiskSize +type InstanceProfileDiskSizeRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileDiskSizeRange.Type property. +// The type for this profile field. +const ( + InstanceProfileDiskSizeRangeTypeRangeConst = "range" +) + +func (*InstanceProfileDiskSizeRange) isaInstanceProfileDiskSize() bool { + return true +} + +// UnmarshalInstanceProfileDiskSizeRange unmarshals an instance of InstanceProfileDiskSizeRange from the specified map of raw messages. +func UnmarshalInstanceProfileDiskSizeRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileDiskSizeRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuDependent : The GPU count for an instance with this profile depends on its configuration. +// This model "extends" InstanceProfileGpu +type InstanceProfileGpuDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileGpuDependent) isaInstanceProfileGpu() bool { + return true +} + +// UnmarshalInstanceProfileGpuDependent unmarshals an instance of InstanceProfileGpuDependent from the specified map of raw messages. +func UnmarshalInstanceProfileGpuDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuEnum : The permitted GPU count values for an instance with this profile. +// This model "extends" InstanceProfileGpu +type InstanceProfileGpuEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileGpuEnum) isaInstanceProfileGpu() bool { + return true +} + +// UnmarshalInstanceProfileGpuEnum unmarshals an instance of InstanceProfileGpuEnum from the specified map of raw messages. +func UnmarshalInstanceProfileGpuEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuFixed : The GPU count for an instance with this profile. +// This model "extends" InstanceProfileGpu +type InstanceProfileGpuFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileGpuFixed) isaInstanceProfileGpu() bool { + return true +} + +// UnmarshalInstanceProfileGpuFixed unmarshals an instance of InstanceProfileGpuFixed from the specified map of raw messages. +func UnmarshalInstanceProfileGpuFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuMemoryDependent : The overall GPU memory value for an instance with this profile depends on its configuration. +// This model "extends" InstanceProfileGpuMemory +type InstanceProfileGpuMemoryDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuMemoryDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuMemoryDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileGpuMemoryDependent) isaInstanceProfileGpuMemory() bool { + return true +} + +// UnmarshalInstanceProfileGpuMemoryDependent unmarshals an instance of InstanceProfileGpuMemoryDependent from the specified map of raw messages. +func UnmarshalInstanceProfileGpuMemoryDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuMemoryDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuMemoryEnum : The permitted overall GPU memory values in GiB (gibibytes) for an instance with this profile. +// This model "extends" InstanceProfileGpuMemory +type InstanceProfileGpuMemoryEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuMemoryEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuMemoryEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileGpuMemoryEnum) isaInstanceProfileGpuMemory() bool { + return true +} + +// UnmarshalInstanceProfileGpuMemoryEnum unmarshals an instance of InstanceProfileGpuMemoryEnum from the specified map of raw messages. +func UnmarshalInstanceProfileGpuMemoryEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuMemoryEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuMemoryFixed : The overall GPU memory in GiB (gibibytes) for an instance with this profile. +// This model "extends" InstanceProfileGpuMemory +type InstanceProfileGpuMemoryFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuMemoryFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuMemoryFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileGpuMemoryFixed) isaInstanceProfileGpuMemory() bool { + return true +} + +// UnmarshalInstanceProfileGpuMemoryFixed unmarshals an instance of InstanceProfileGpuMemoryFixed from the specified map of raw messages. +func UnmarshalInstanceProfileGpuMemoryFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuMemoryFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuMemoryRange : The permitted overall GPU memory range in GiB (gibibytes) for an instance with this profile. +// This model "extends" InstanceProfileGpuMemory +type InstanceProfileGpuMemoryRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuMemoryRange.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuMemoryRangeTypeRangeConst = "range" +) + +func (*InstanceProfileGpuMemoryRange) isaInstanceProfileGpuMemory() bool { + return true +} + +// UnmarshalInstanceProfileGpuMemoryRange unmarshals an instance of InstanceProfileGpuMemoryRange from the specified map of raw messages. +func UnmarshalInstanceProfileGpuMemoryRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuMemoryRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileGpuRange : The permitted GPU count range for an instance with this profile. +// This model "extends" InstanceProfileGpu +type InstanceProfileGpuRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileGpuRange.Type property. +// The type for this profile field. +const ( + InstanceProfileGpuRangeTypeRangeConst = "range" +) + +func (*InstanceProfileGpuRange) isaInstanceProfileGpu() bool { + return true +} + +// UnmarshalInstanceProfileGpuRange unmarshals an instance of InstanceProfileGpuRange from the specified map of raw messages. +func UnmarshalInstanceProfileGpuRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileGpuRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileIdentityByHref : InstanceProfileIdentityByHref struct +// This model "extends" InstanceProfileIdentity +type InstanceProfileIdentityByHref struct { + // The URL for this virtual server instance profile. + Href *string `json:"href" validate:"required"` +} + +// NewInstanceProfileIdentityByHref : Instantiate InstanceProfileIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstanceProfileIdentityByHref(href string) (_model *InstanceProfileIdentityByHref, err error) { + _model = &InstanceProfileIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceProfileIdentityByHref) isaInstanceProfileIdentity() bool { + return true +} + +// UnmarshalInstanceProfileIdentityByHref unmarshals an instance of InstanceProfileIdentityByHref from the specified map of raw messages. +func UnmarshalInstanceProfileIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileIdentityByName : InstanceProfileIdentityByName struct +// This model "extends" InstanceProfileIdentity +type InstanceProfileIdentityByName struct { + // The globally unique name for this virtual server instance profile. + Name *string `json:"name" validate:"required"` +} + +// NewInstanceProfileIdentityByName : Instantiate InstanceProfileIdentityByName (Generic Model Constructor) +func (*VpcV1) NewInstanceProfileIdentityByName(name string) (_model *InstanceProfileIdentityByName, err error) { + _model = &InstanceProfileIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceProfileIdentityByName) isaInstanceProfileIdentity() bool { + return true +} + +// UnmarshalInstanceProfileIdentityByName unmarshals an instance of InstanceProfileIdentityByName from the specified map of raw messages. +func UnmarshalInstanceProfileIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileMemoryDependent : The memory value for an instance with this profile depends on its configuration. +// This model "extends" InstanceProfileMemory +type InstanceProfileMemoryDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileMemoryDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileMemoryDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileMemoryDependent) isaInstanceProfileMemory() bool { + return true +} + +// UnmarshalInstanceProfileMemoryDependent unmarshals an instance of InstanceProfileMemoryDependent from the specified map of raw messages. +func UnmarshalInstanceProfileMemoryDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileMemoryDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileMemoryEnum : The permitted memory values (in gibibytes) for an instance with this profile. +// This model "extends" InstanceProfileMemory +type InstanceProfileMemoryEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileMemoryEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileMemoryEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileMemoryEnum) isaInstanceProfileMemory() bool { + return true +} + +// UnmarshalInstanceProfileMemoryEnum unmarshals an instance of InstanceProfileMemoryEnum from the specified map of raw messages. +func UnmarshalInstanceProfileMemoryEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileMemoryEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileMemoryFixed : The memory (in gibibytes) for an instance with this profile. +// This model "extends" InstanceProfileMemory +type InstanceProfileMemoryFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileMemoryFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileMemoryFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileMemoryFixed) isaInstanceProfileMemory() bool { + return true +} + +// UnmarshalInstanceProfileMemoryFixed unmarshals an instance of InstanceProfileMemoryFixed from the specified map of raw messages. +func UnmarshalInstanceProfileMemoryFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileMemoryFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileMemoryRange : The permitted memory range (in gibibytes) for an instance with this profile. +// This model "extends" InstanceProfileMemory +type InstanceProfileMemoryRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileMemoryRange.Type property. +// The type for this profile field. +const ( + InstanceProfileMemoryRangeTypeRangeConst = "range" +) + +func (*InstanceProfileMemoryRange) isaInstanceProfileMemory() bool { + return true +} + +// UnmarshalInstanceProfileMemoryRange unmarshals an instance of InstanceProfileMemoryRange from the specified map of raw messages. +func UnmarshalInstanceProfileMemoryRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileMemoryRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNumaCountDependent : The total number of NUMA nodes for an instance with this profile depends on its configuration and the capacity +// constraints within the zone. +// This model "extends" InstanceProfileNumaCount +type InstanceProfileNumaCountDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileNumaCountDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileNumaCountDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileNumaCountDependent) isaInstanceProfileNumaCount() bool { + return true +} + +// UnmarshalInstanceProfileNumaCountDependent unmarshals an instance of InstanceProfileNumaCountDependent from the specified map of raw messages. +func UnmarshalInstanceProfileNumaCountDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNumaCountDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNumaCountFixed : The total number of NUMA nodes for an instance with this profile. +// This model "extends" InstanceProfileNumaCount +type InstanceProfileNumaCountFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileNumaCountFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileNumaCountFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileNumaCountFixed) isaInstanceProfileNumaCount() bool { + return true +} + +// UnmarshalInstanceProfileNumaCountFixed unmarshals an instance of InstanceProfileNumaCountFixed from the specified map of raw messages. +func UnmarshalInstanceProfileNumaCountFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNumaCountFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNetworkAttachmentCountDependent : The number of network attachments supported on an instance with this profile is dependent on its configuration. +// This model "extends" InstanceProfileNetworkAttachmentCount +type InstanceProfileNetworkAttachmentCountDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileNetworkAttachmentCountDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileNetworkAttachmentCountDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileNetworkAttachmentCountDependent) isaInstanceProfileNetworkAttachmentCount() bool { + return true +} + +// UnmarshalInstanceProfileNetworkAttachmentCountDependent unmarshals an instance of InstanceProfileNetworkAttachmentCountDependent from the specified map of raw messages. +func UnmarshalInstanceProfileNetworkAttachmentCountDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNetworkAttachmentCountDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNetworkAttachmentCountRange : The number of network attachments supported on an instance with this profile. +// This model "extends" InstanceProfileNetworkAttachmentCount +type InstanceProfileNetworkAttachmentCountRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileNetworkAttachmentCountRange.Type property. +// The type for this profile field. +const ( + InstanceProfileNetworkAttachmentCountRangeTypeRangeConst = "range" +) + +func (*InstanceProfileNetworkAttachmentCountRange) isaInstanceProfileNetworkAttachmentCount() bool { + return true +} + +// UnmarshalInstanceProfileNetworkAttachmentCountRange unmarshals an instance of InstanceProfileNetworkAttachmentCountRange from the specified map of raw messages. +func UnmarshalInstanceProfileNetworkAttachmentCountRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNetworkAttachmentCountRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNetworkInterfaceCountDependent : The number of network interfaces supported on an instance with this profile is dependent on its configuration. +// This model "extends" InstanceProfileNetworkInterfaceCount +type InstanceProfileNetworkInterfaceCountDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileNetworkInterfaceCountDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileNetworkInterfaceCountDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileNetworkInterfaceCountDependent) isaInstanceProfileNetworkInterfaceCount() bool { + return true +} + +// UnmarshalInstanceProfileNetworkInterfaceCountDependent unmarshals an instance of InstanceProfileNetworkInterfaceCountDependent from the specified map of raw messages. +func UnmarshalInstanceProfileNetworkInterfaceCountDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNetworkInterfaceCountDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileNetworkInterfaceCountRange : The number of network interfaces supported on an instance with this profile. +// This model "extends" InstanceProfileNetworkInterfaceCount +type InstanceProfileNetworkInterfaceCountRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max,omitempty"` + + // The minimum value for this profile field. + Min *int64 `json:"min,omitempty"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileNetworkInterfaceCountRange.Type property. +// The type for this profile field. +const ( + InstanceProfileNetworkInterfaceCountRangeTypeRangeConst = "range" +) + +func (*InstanceProfileNetworkInterfaceCountRange) isaInstanceProfileNetworkInterfaceCount() bool { + return true +} + +// UnmarshalInstanceProfileNetworkInterfaceCountRange unmarshals an instance of InstanceProfileNetworkInterfaceCountRange from the specified map of raw messages. +func UnmarshalInstanceProfileNetworkInterfaceCountRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileNetworkInterfaceCountRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfilePortSpeedDependent : The port speed of each network interface of an instance with this profile depends on its configuration. +// This model "extends" InstanceProfilePortSpeed +type InstanceProfilePortSpeedDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfilePortSpeedDependent.Type property. +// The type for this profile field. +const ( + InstanceProfilePortSpeedDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfilePortSpeedDependent) isaInstanceProfilePortSpeed() bool { + return true +} + +// UnmarshalInstanceProfilePortSpeedDependent unmarshals an instance of InstanceProfilePortSpeedDependent from the specified map of raw messages. +func UnmarshalInstanceProfilePortSpeedDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfilePortSpeedDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfilePortSpeedFixed : The maximum speed (in megabits per second) of each network interface of an instance with this profile. +// This model "extends" InstanceProfilePortSpeed +type InstanceProfilePortSpeedFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfilePortSpeedFixed.Type property. +// The type for this profile field. +const ( + InstanceProfilePortSpeedFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfilePortSpeedFixed) isaInstanceProfilePortSpeed() bool { + return true +} + +// UnmarshalInstanceProfilePortSpeedFixed unmarshals an instance of InstanceProfilePortSpeedFixed from the specified map of raw messages. +func UnmarshalInstanceProfilePortSpeedFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfilePortSpeedFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpuDependent : The VCPU count for an instance with this profile depends on its configuration. +// This model "extends" InstanceProfileVcpu +type InstanceProfileVcpuDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileVcpuDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileVcpuDependent) isaInstanceProfileVcpu() bool { + return true +} + +// UnmarshalInstanceProfileVcpuDependent unmarshals an instance of InstanceProfileVcpuDependent from the specified map of raw messages. +func UnmarshalInstanceProfileVcpuDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpuDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpuEnum : The permitted values for VCPU count for an instance with this profile. +// This model "extends" InstanceProfileVcpu +type InstanceProfileVcpuEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileVcpuEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileVcpuEnum) isaInstanceProfileVcpu() bool { + return true +} + +// UnmarshalInstanceProfileVcpuEnum unmarshals an instance of InstanceProfileVcpuEnum from the specified map of raw messages. +func UnmarshalInstanceProfileVcpuEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpuEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpuFixed : The VCPU count for an instance with this profile. +// This model "extends" InstanceProfileVcpu +type InstanceProfileVcpuFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileVcpuFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileVcpuFixed) isaInstanceProfileVcpu() bool { + return true +} + +// UnmarshalInstanceProfileVcpuFixed unmarshals an instance of InstanceProfileVcpuFixed from the specified map of raw messages. +func UnmarshalInstanceProfileVcpuFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpuFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpuManufacturerDependent : The VCPU Manufacturer for an instance with this profile depends on its configuration. +// This model "extends" InstanceProfileVcpuManufacturer +type InstanceProfileVcpuManufacturerDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileVcpuManufacturerDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuManufacturerDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileVcpuManufacturerDependent) isaInstanceProfileVcpuManufacturer() bool { + return true +} + +// UnmarshalInstanceProfileVcpuManufacturerDependent unmarshals an instance of InstanceProfileVcpuManufacturerDependent from the specified map of raw messages. +func UnmarshalInstanceProfileVcpuManufacturerDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpuManufacturerDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpuManufacturerFixed : InstanceProfileVcpuManufacturerFixed struct +// This model "extends" InstanceProfileVcpuManufacturer +type InstanceProfileVcpuManufacturerFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The VCPU manufacturer for an instance with this profile. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileVcpuManufacturerFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuManufacturerFixedTypeFixedConst = "fixed" +) + +// Constants associated with the InstanceProfileVcpuManufacturerFixed.Value property. +// The VCPU manufacturer for an instance with this profile. +const ( + InstanceProfileVcpuManufacturerFixedValueAmdConst = "amd" + InstanceProfileVcpuManufacturerFixedValueIBMConst = "ibm" + InstanceProfileVcpuManufacturerFixedValueIntelConst = "intel" +) + +func (*InstanceProfileVcpuManufacturerFixed) isaInstanceProfileVcpuManufacturer() bool { + return true +} + +// UnmarshalInstanceProfileVcpuManufacturerFixed unmarshals an instance of InstanceProfileVcpuManufacturerFixed from the specified map of raw messages. +func UnmarshalInstanceProfileVcpuManufacturerFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpuManufacturerFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVcpuRange : The permitted range for VCPU count for an instance with this profile. +// This model "extends" InstanceProfileVcpu +type InstanceProfileVcpuRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileVcpuRange.Type property. +// The type for this profile field. +const ( + InstanceProfileVcpuRangeTypeRangeConst = "range" +) + +func (*InstanceProfileVcpuRange) isaInstanceProfileVcpu() bool { + return true +} + +// UnmarshalInstanceProfileVcpuRange unmarshals an instance of InstanceProfileVcpuRange from the specified map of raw messages. +func UnmarshalInstanceProfileVcpuRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVcpuRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVolumeBandwidthDependent : The storage bandwidth shared across the storage volumes of an instance with this profile depends on its +// configuration. +// This model "extends" InstanceProfileVolumeBandwidth +type InstanceProfileVolumeBandwidthDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileVolumeBandwidthDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileVolumeBandwidthDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileVolumeBandwidthDependent) isaInstanceProfileVolumeBandwidth() bool { + return true +} + +// UnmarshalInstanceProfileVolumeBandwidthDependent unmarshals an instance of InstanceProfileVolumeBandwidthDependent from the specified map of raw messages. +func UnmarshalInstanceProfileVolumeBandwidthDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVolumeBandwidthDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVolumeBandwidthEnum : The permitted storage bandwidth values (in megabits per second) shared across the storage volumes of an instance with +// this profile. +// This model "extends" InstanceProfileVolumeBandwidth +type InstanceProfileVolumeBandwidthEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileVolumeBandwidthEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileVolumeBandwidthEnumTypeEnumConst = "enum" +) + +func (*InstanceProfileVolumeBandwidthEnum) isaInstanceProfileVolumeBandwidth() bool { + return true +} + +// UnmarshalInstanceProfileVolumeBandwidthEnum unmarshals an instance of InstanceProfileVolumeBandwidthEnum from the specified map of raw messages. +func UnmarshalInstanceProfileVolumeBandwidthEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVolumeBandwidthEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVolumeBandwidthFixed : The storage bandwidth (in megabits per second) shared across the storage volumes of an instance with this profile. +// This model "extends" InstanceProfileVolumeBandwidth +type InstanceProfileVolumeBandwidthFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the InstanceProfileVolumeBandwidthFixed.Type property. +// The type for this profile field. +const ( + InstanceProfileVolumeBandwidthFixedTypeFixedConst = "fixed" +) + +func (*InstanceProfileVolumeBandwidthFixed) isaInstanceProfileVolumeBandwidth() bool { + return true +} + +// UnmarshalInstanceProfileVolumeBandwidthFixed unmarshals an instance of InstanceProfileVolumeBandwidthFixed from the specified map of raw messages. +func UnmarshalInstanceProfileVolumeBandwidthFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVolumeBandwidthFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVolumeBandwidthQoSModesDependent : The volume bandwidth QoS modes for an instance with this profile depends on its configuration. +// This model "extends" InstanceProfileVolumeBandwidthQoSModes +type InstanceProfileVolumeBandwidthQoSModesDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileVolumeBandwidthQoSModesDependent.Type property. +// The type for this profile field. +const ( + InstanceProfileVolumeBandwidthQoSModesDependentTypeDependentConst = "dependent" +) + +func (*InstanceProfileVolumeBandwidthQoSModesDependent) isaInstanceProfileVolumeBandwidthQoSModes() bool { + return true +} + +// UnmarshalInstanceProfileVolumeBandwidthQoSModesDependent unmarshals an instance of InstanceProfileVolumeBandwidthQoSModesDependent from the specified map of raw messages. +func UnmarshalInstanceProfileVolumeBandwidthQoSModesDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVolumeBandwidthQoSModesDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVolumeBandwidthQoSModesEnum : InstanceProfileVolumeBandwidthQoSModesEnum struct +// This model "extends" InstanceProfileVolumeBandwidthQoSModes +type InstanceProfileVolumeBandwidthQoSModesEnum struct { + // The default volume bandwidth QoS mode for this profile. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted volume bandwidth QoS modes for an instance using this profile. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the InstanceProfileVolumeBandwidthQoSModesEnum.Default property. +// The default volume bandwidth QoS mode for this profile. +const ( + InstanceProfileVolumeBandwidthQoSModesEnumDefaultPooledConst = "pooled" + InstanceProfileVolumeBandwidthQoSModesEnumDefaultWeightedConst = "weighted" +) + +// Constants associated with the InstanceProfileVolumeBandwidthQoSModesEnum.Type property. +// The type for this profile field. +const ( + InstanceProfileVolumeBandwidthQoSModesEnumTypeEnumConst = "enum" +) + +// Constants associated with the InstanceProfileVolumeBandwidthQoSModesEnum.Values property. +// A volume bandwidth QoS mode: +// - `pooled`: All volumes attached to an instance will pool and share bandwidth. +// - `weighted`: Each volume attached to an instance will have its own bandwidth, weighted according to its IOPS. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceProfileVolumeBandwidthQoSModesEnumValuesPooledConst = "pooled" + InstanceProfileVolumeBandwidthQoSModesEnumValuesWeightedConst = "weighted" +) + +func (*InstanceProfileVolumeBandwidthQoSModesEnum) isaInstanceProfileVolumeBandwidthQoSModes() bool { + return true +} + +// UnmarshalInstanceProfileVolumeBandwidthQoSModesEnum unmarshals an instance of InstanceProfileVolumeBandwidthQoSModesEnum from the specified map of raw messages. +func UnmarshalInstanceProfileVolumeBandwidthQoSModesEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVolumeBandwidthQoSModesEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceProfileVolumeBandwidthRange : The permitted storage bandwidth range (in megabits per second) shared across the storage volumes of an instance with +// this profile. +// This model "extends" InstanceProfileVolumeBandwidth +type InstanceProfileVolumeBandwidthRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the InstanceProfileVolumeBandwidthRange.Type property. +// The type for this profile field. +const ( + InstanceProfileVolumeBandwidthRangeTypeRangeConst = "range" +) + +func (*InstanceProfileVolumeBandwidthRange) isaInstanceProfileVolumeBandwidth() bool { + return true +} + +// UnmarshalInstanceProfileVolumeBandwidthRange unmarshals an instance of InstanceProfileVolumeBandwidthRange from the specified map of raw messages. +func UnmarshalInstanceProfileVolumeBandwidthRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceProfileVolumeBandwidthRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByCatalogOffering : Create an instance by using a catalog offering. +// Models which "extend" this model: +// - InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment +// - InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface +// This model "extends" InstancePrototype +type InstancePrototypeInstanceByCatalogOffering struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering + // or offering version to use when provisioning this virtual server instance. + // + // If an offering is specified, the latest version of that offering will be used. + // + // The specified offering or offering version may be in a different account, subject + // to IAM policies. + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstancePrototypeInstanceByCatalogOffering.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByCatalogOfferingConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByCatalogOfferingConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByCatalogOfferingConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByCatalogOffering.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByCatalogOfferingVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByCatalogOfferingVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstancePrototypeInstanceByCatalogOffering) isaInstancePrototypeInstanceByCatalogOffering() bool { + return true +} + +type InstancePrototypeInstanceByCatalogOfferingIntf interface { + InstancePrototypeIntf + isaInstancePrototypeInstanceByCatalogOffering() bool +} + +func (*InstancePrototypeInstanceByCatalogOffering) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByCatalogOffering unmarshals an instance of InstancePrototypeInstanceByCatalogOffering from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByCatalogOffering(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByCatalogOffering) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByImage : Create an instance by using an image. +// +// The image's `user_data_format` must be `cloud_init`. +// Models which "extend" this model: +// - InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment +// - InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface +// This model "extends" InstancePrototype +type InstancePrototypeInstanceByImage struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstancePrototypeInstanceByImage.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByImageConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByImageConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByImageConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByImage.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByImageVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByImageVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstancePrototypeInstanceByImage) isaInstancePrototypeInstanceByImage() bool { + return true +} + +type InstancePrototypeInstanceByImageIntf interface { + InstancePrototypeIntf + isaInstancePrototypeInstanceByImage() bool +} + +func (*InstancePrototypeInstanceByImage) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByImage unmarshals an instance of InstancePrototypeInstanceByImage from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByImage(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByImage) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceBySourceSnapshot : Create an instance by using a snapshot. +// Models which "extend" this model: +// - InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment +// - InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface +// This model "extends" InstancePrototype +type InstancePrototypeInstanceBySourceSnapshot struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstancePrototypeInstanceBySourceSnapshot.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceBySourceSnapshotConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceBySourceSnapshotConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceBySourceSnapshotConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceBySourceSnapshot.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceBySourceSnapshotVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceBySourceSnapshotVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstancePrototypeInstanceBySourceSnapshot) isaInstancePrototypeInstanceBySourceSnapshot() bool { + return true +} + +type InstancePrototypeInstanceBySourceSnapshotIntf interface { + InstancePrototypeIntf + isaInstancePrototypeInstanceBySourceSnapshot() bool +} + +func (*InstancePrototypeInstanceBySourceSnapshot) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceBySourceSnapshot unmarshals an instance of InstancePrototypeInstanceBySourceSnapshot from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceBySourceSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceBySourceSnapshot) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceBySourceTemplate : Create an instance by using an instance template. +// +// The `primary_network_attachment` and `network_attachments` properties may only be specified if +// `primary_network_attachment` is specified in the source template. +// +// The `primary_network_interface` and `network_interfaces` properties may only be specified if +// `primary_network_interface` is specified in the source template. +// This model "extends" InstancePrototype +type InstancePrototypeInstanceBySourceTemplate struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering version to use when provisioning this virtual server instance. + // If an offering is specified, the latest version of that offering will be used. + // + // The specified offering or offering version may be in a different account, subject to + // IAM policies. + // + // If specified, `image` must not be specified, and `source_template` must not have + // `image` specified. + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image,omitempty"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` + + // The template to create this virtual server instance from. + SourceTemplate InstanceTemplateIdentityIntf `json:"source_template" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` +} + +// Constants associated with the InstancePrototypeInstanceBySourceTemplate.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceBySourceTemplateConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceBySourceTemplateConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceBySourceTemplateConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceBySourceTemplate.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceBySourceTemplateVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceBySourceTemplateVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceBySourceTemplate : Instantiate InstancePrototypeInstanceBySourceTemplate (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceBySourceTemplate(sourceTemplate InstanceTemplateIdentityIntf) (_model *InstancePrototypeInstanceBySourceTemplate, err error) { + _model = &InstancePrototypeInstanceBySourceTemplate{ + SourceTemplate: sourceTemplate, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceBySourceTemplate) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceBySourceTemplate unmarshals an instance of InstancePrototypeInstanceBySourceTemplate from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceBySourceTemplate(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceBySourceTemplate) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_template", &obj.SourceTemplate, UnmarshalInstanceTemplateIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_template-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByVolume : Create an instance by using a boot volume. +// Models which "extend" this model: +// - InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment +// - InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface +// This model "extends" InstancePrototype +type InstancePrototypeInstanceByVolume struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByVolumeContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstancePrototypeInstanceByVolume.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByVolumeConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByVolumeConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByVolumeConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByVolume.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByVolumeVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByVolumeVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstancePrototypeInstanceByVolume) isaInstancePrototypeInstanceByVolume() bool { + return true +} + +type InstancePrototypeInstanceByVolumeIntf interface { + InstancePrototypeIntf + isaInstancePrototypeInstanceByVolume() bool +} + +func (*InstancePrototypeInstanceByVolume) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByVolume unmarshals an instance of InstancePrototypeInstanceByVolume from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByVolume(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByVolume) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByVolumeContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateIdentityByCRN : InstanceTemplateIdentityByCRN struct +// This model "extends" InstanceTemplateIdentity +type InstanceTemplateIdentityByCRN struct { + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` +} + +// NewInstanceTemplateIdentityByCRN : Instantiate InstanceTemplateIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplateIdentityByCRN(crn string) (_model *InstanceTemplateIdentityByCRN, err error) { + _model = &InstanceTemplateIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplateIdentityByCRN) isaInstanceTemplateIdentity() bool { + return true +} + +// UnmarshalInstanceTemplateIdentityByCRN unmarshals an instance of InstanceTemplateIdentityByCRN from the specified map of raw messages. +func UnmarshalInstanceTemplateIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceTemplateIdentityByCRN +func (instanceTemplateIdentityByCRN *InstanceTemplateIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceTemplateIdentityByCRN.CRN) { + _patch["crn"] = instanceTemplateIdentityByCRN.CRN + } + + return +} + +// InstanceTemplateIdentityByHref : InstanceTemplateIdentityByHref struct +// This model "extends" InstanceTemplateIdentity +type InstanceTemplateIdentityByHref struct { + // The URL for this instance template. + Href *string `json:"href" validate:"required"` +} + +// NewInstanceTemplateIdentityByHref : Instantiate InstanceTemplateIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplateIdentityByHref(href string) (_model *InstanceTemplateIdentityByHref, err error) { + _model = &InstanceTemplateIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplateIdentityByHref) isaInstanceTemplateIdentity() bool { + return true +} + +// UnmarshalInstanceTemplateIdentityByHref unmarshals an instance of InstanceTemplateIdentityByHref from the specified map of raw messages. +func UnmarshalInstanceTemplateIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceTemplateIdentityByHref +func (instanceTemplateIdentityByHref *InstanceTemplateIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceTemplateIdentityByHref.Href) { + _patch["href"] = instanceTemplateIdentityByHref.Href + } + + return +} + +// InstanceTemplateIdentityByID : InstanceTemplateIdentityByID struct +// This model "extends" InstanceTemplateIdentity +type InstanceTemplateIdentityByID struct { + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` +} + +// NewInstanceTemplateIdentityByID : Instantiate InstanceTemplateIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplateIdentityByID(id string) (_model *InstanceTemplateIdentityByID, err error) { + _model = &InstanceTemplateIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplateIdentityByID) isaInstanceTemplateIdentity() bool { + return true +} + +// UnmarshalInstanceTemplateIdentityByID unmarshals an instance of InstanceTemplateIdentityByID from the specified map of raw messages. +func UnmarshalInstanceTemplateIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstanceTemplateIdentityByID +func (instanceTemplateIdentityByID *InstanceTemplateIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instanceTemplateIdentityByID.ID) { + _patch["id"] = instanceTemplateIdentityByID.ID + } + + return +} + +// InstanceTemplatePrototypeInstanceTemplateByCatalogOffering : Create an instance template that creates instances by using a catalog offering. +// Models which "extend" this model: +// - InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment +// - InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface +// This model "extends" InstanceTemplatePrototype +type InstanceTemplatePrototypeInstanceTemplateByCatalogOffering struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering + // or offering version to use when provisioning this virtual server instance. + // + // If an offering is specified, the latest version of that offering will be used. + // + // The specified offering or offering version may be in a different account, subject + // to IAM policies. + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByCatalogOffering.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByCatalogOffering.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplatePrototypeInstanceTemplateByCatalogOffering) isaInstanceTemplatePrototypeInstanceTemplateByCatalogOffering() bool { + return true +} + +type InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingIntf interface { + InstanceTemplatePrototypeIntf + isaInstanceTemplatePrototypeInstanceTemplateByCatalogOffering() bool +} + +func (*InstanceTemplatePrototypeInstanceTemplateByCatalogOffering) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateByCatalogOffering unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateByCatalogOffering from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateByCatalogOffering(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateByCatalogOffering) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateByImage : Create an instance template that creates instances by using an image. +// +// The image's `user_data_format` must be `cloud_init`. +// Models which "extend" this model: +// - InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment +// - InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface +// This model "extends" InstanceTemplatePrototype +type InstanceTemplatePrototypeInstanceTemplateByImage struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByImage.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByImageConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateByImageConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateByImageConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByImage.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByImageVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateByImageVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplatePrototypeInstanceTemplateByImage) isaInstanceTemplatePrototypeInstanceTemplateByImage() bool { + return true +} + +type InstanceTemplatePrototypeInstanceTemplateByImageIntf interface { + InstanceTemplatePrototypeIntf + isaInstanceTemplatePrototypeInstanceTemplateByImage() bool +} + +func (*InstanceTemplatePrototypeInstanceTemplateByImage) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateByImage unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateByImage from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateByImage(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateByImage) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot : Create an instance template that creates instances by using a snapshot. +// Models which "extend" this model: +// - InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment +// - InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface +// This model "extends" InstanceTemplatePrototype +type InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot) isaInstanceTemplatePrototypeInstanceTemplateBySourceSnapshot() bool { + return true +} + +type InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotIntf interface { + InstanceTemplatePrototypeIntf + isaInstanceTemplatePrototypeInstanceTemplateBySourceSnapshot() bool +} + +func (*InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateBySourceSnapshot unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateBySourceSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateBySourceTemplate : Create an instance template from an existing source instance template. +// +// The `primary_network_attachment` and `network_attachments` properties may only be specified if +// `primary_network_attachment` is specified in the source template. +// +// The `primary_network_interface` and `network_interfaces` properties may only be specified if +// `primary_network_interface` is specified in the source template. +// This model "extends" InstanceTemplatePrototype +type InstanceTemplatePrototypeInstanceTemplateBySourceTemplate struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) + // offering version to use when provisioning this virtual server instance. + // If an offering is specified, the latest version of that offering will be used. + // + // The specified offering or offering version may be in a different account, subject to + // IAM policies. + // + // If specified, `image` must not be specified, and `source_template` must not have + // `image` specified. + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image,omitempty"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` + + // The template to create this virtual server instance from. + SourceTemplate InstanceTemplateIdentityIntf `json:"source_template" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateBySourceTemplate.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateBySourceTemplateConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateBySourceTemplateConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateBySourceTemplateConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateBySourceTemplate.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateBySourceTemplateVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateBySourceTemplateVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstanceTemplatePrototypeInstanceTemplateBySourceTemplate : Instantiate InstanceTemplatePrototypeInstanceTemplateBySourceTemplate (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplatePrototypeInstanceTemplateBySourceTemplate(sourceTemplate InstanceTemplateIdentityIntf) (_model *InstanceTemplatePrototypeInstanceTemplateBySourceTemplate, err error) { + _model = &InstanceTemplatePrototypeInstanceTemplateBySourceTemplate{ + SourceTemplate: sourceTemplate, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplatePrototypeInstanceTemplateBySourceTemplate) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateBySourceTemplate unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateBySourceTemplate from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateBySourceTemplate(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateBySourceTemplate) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_template", &obj.SourceTemplate, UnmarshalInstanceTemplateIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_template-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext : Create an instance by using a catalog offering. +// Models which "extend" this model: +// - InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment +// - InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface +// This model "extends" InstanceTemplate +type InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The [catalog](https://cloud.ibm.com/docs/account?topic=account-restrict-by-user) offering + // or offering version to use when provisioning this virtual server instance. + // + // If an offering is specified, the latest version of that offering will be used. + // + // The specified offering or offering version may be in a different account, subject + // to IAM policies. + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext) isaInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext() bool { + return true +} + +type InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextIntf interface { + InstanceTemplateIntf + isaInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext() bool +} + +func (*InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext unmarshals an instance of InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceByImageInstanceTemplateContext : Create an instance by using an image. +// Models which "extend" this model: +// - InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment +// - InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface +// This model "extends" InstanceTemplate +type InstanceTemplateInstanceByImageInstanceTemplateContext struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstanceTemplateInstanceByImageInstanceTemplateContext.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceByImageInstanceTemplateContextConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceByImageInstanceTemplateContextConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceByImageInstanceTemplateContextConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceByImageInstanceTemplateContext.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceByImageInstanceTemplateContextVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceByImageInstanceTemplateContextVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceByImageInstanceTemplateContext) isaInstanceTemplateInstanceByImageInstanceTemplateContext() bool { + return true +} + +type InstanceTemplateInstanceByImageInstanceTemplateContextIntf interface { + InstanceTemplateIntf + isaInstanceTemplateInstanceByImageInstanceTemplateContext() bool +} + +func (*InstanceTemplateInstanceByImageInstanceTemplateContext) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceByImageInstanceTemplateContext unmarshals an instance of InstanceTemplateInstanceByImageInstanceTemplateContext from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceByImageInstanceTemplateContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceByImageInstanceTemplateContext) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext : Create an instance by using a snapshot. +// Models which "extend" this model: +// - InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment +// - InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface +// This model "extends" InstanceTemplate +type InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface,omitempty"` +} + +// Constants associated with the InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext) isaInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext() bool { + return true +} + +type InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextIntf interface { + InstanceTemplateIntf + isaInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext() bool +} + +func (*InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext unmarshals an instance of InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// KeyIdentityByCRN : KeyIdentityByCRN struct +// This model "extends" KeyIdentity +type KeyIdentityByCRN struct { + // The CRN for this key. + CRN *string `json:"crn" validate:"required"` +} + +// NewKeyIdentityByCRN : Instantiate KeyIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewKeyIdentityByCRN(crn string) (_model *KeyIdentityByCRN, err error) { + _model = &KeyIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*KeyIdentityByCRN) isaKeyIdentity() bool { + return true +} + +// UnmarshalKeyIdentityByCRN unmarshals an instance of KeyIdentityByCRN from the specified map of raw messages. +func UnmarshalKeyIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(KeyIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// KeyIdentityByFingerprint : KeyIdentityByFingerprint struct +// This model "extends" KeyIdentity +type KeyIdentityByFingerprint struct { + // The fingerprint for this key. The value is returned base64-encoded and prefixed with the hash algorithm (such as + // `SHA256`). + // + // The length of this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Fingerprint *string `json:"fingerprint" validate:"required"` +} + +// NewKeyIdentityByFingerprint : Instantiate KeyIdentityByFingerprint (Generic Model Constructor) +func (*VpcV1) NewKeyIdentityByFingerprint(fingerprint string) (_model *KeyIdentityByFingerprint, err error) { + _model = &KeyIdentityByFingerprint{ + Fingerprint: core.StringPtr(fingerprint), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*KeyIdentityByFingerprint) isaKeyIdentity() bool { + return true +} + +// UnmarshalKeyIdentityByFingerprint unmarshals an instance of KeyIdentityByFingerprint from the specified map of raw messages. +func UnmarshalKeyIdentityByFingerprint(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(KeyIdentityByFingerprint) + err = core.UnmarshalPrimitive(m, "fingerprint", &obj.Fingerprint) + if err != nil { + err = core.SDKErrorf(err, "", "fingerprint-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// KeyIdentityByHref : KeyIdentityByHref struct +// This model "extends" KeyIdentity +type KeyIdentityByHref struct { + // The URL for this key. + Href *string `json:"href" validate:"required"` +} + +// NewKeyIdentityByHref : Instantiate KeyIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewKeyIdentityByHref(href string) (_model *KeyIdentityByHref, err error) { + _model = &KeyIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*KeyIdentityByHref) isaKeyIdentity() bool { + return true +} + +// UnmarshalKeyIdentityByHref unmarshals an instance of KeyIdentityByHref from the specified map of raw messages. +func UnmarshalKeyIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(KeyIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// KeyIdentityByID : KeyIdentityByID struct +// This model "extends" KeyIdentity +type KeyIdentityByID struct { + // The unique identifier for this key. + ID *string `json:"id" validate:"required"` +} + +// NewKeyIdentityByID : Instantiate KeyIdentityByID (Generic Model Constructor) +func (*VpcV1) NewKeyIdentityByID(id string) (_model *KeyIdentityByID, err error) { + _model = &KeyIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*KeyIdentityByID) isaKeyIdentity() bool { + return true +} + +// UnmarshalKeyIdentityByID unmarshals an instance of KeyIdentityByID from the specified map of raw messages. +func UnmarshalKeyIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(KeyIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName : LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName struct +// This model "extends" LegacyCloudObjectStorageBucketIdentity +type LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName struct { + // The globally unique name of this Cloud Object Storage bucket. + Name *string `json:"name" validate:"required"` +} + +// NewLegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName : Instantiate LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName (Generic Model Constructor) +func (*VpcV1) NewLegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName(name string) (_model *LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName, err error) { + _model = &LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName) isaLegacyCloudObjectStorageBucketIdentity() bool { + return true +} + +// UnmarshalLegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName unmarshals an instance of LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName from the specified map of raw messages. +func UnmarshalLegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LegacyCloudObjectStorageBucketIdentityCloudObjectStorageBucketIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerIdentityByCRN : LoadBalancerIdentityByCRN struct +// This model "extends" LoadBalancerIdentity +type LoadBalancerIdentityByCRN struct { + // The CRN for this load balancer. + CRN *string `json:"crn" validate:"required"` +} + +// NewLoadBalancerIdentityByCRN : Instantiate LoadBalancerIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerIdentityByCRN(crn string) (_model *LoadBalancerIdentityByCRN, err error) { + _model = &LoadBalancerIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerIdentityByCRN) isaLoadBalancerIdentity() bool { + return true +} + +// UnmarshalLoadBalancerIdentityByCRN unmarshals an instance of LoadBalancerIdentityByCRN from the specified map of raw messages. +func UnmarshalLoadBalancerIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerIdentityByCRN +func (loadBalancerIdentityByCRN *LoadBalancerIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerIdentityByCRN.CRN) { + _patch["crn"] = loadBalancerIdentityByCRN.CRN + } + + return +} + +// LoadBalancerIdentityByHref : LoadBalancerIdentityByHref struct +// This model "extends" LoadBalancerIdentity +type LoadBalancerIdentityByHref struct { + // The URL for this load balancer. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerIdentityByHref : Instantiate LoadBalancerIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerIdentityByHref(href string) (_model *LoadBalancerIdentityByHref, err error) { + _model = &LoadBalancerIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerIdentityByHref) isaLoadBalancerIdentity() bool { + return true +} + +// UnmarshalLoadBalancerIdentityByHref unmarshals an instance of LoadBalancerIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerIdentityByHref +func (loadBalancerIdentityByHref *LoadBalancerIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerIdentityByHref.Href) { + _patch["href"] = loadBalancerIdentityByHref.Href + } + + return +} + +// LoadBalancerIdentityByID : LoadBalancerIdentityByID struct +// This model "extends" LoadBalancerIdentity +type LoadBalancerIdentityByID struct { + // The unique identifier for this load balancer. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerIdentityByID : Instantiate LoadBalancerIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerIdentityByID(id string) (_model *LoadBalancerIdentityByID, err error) { + _model = &LoadBalancerIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerIdentityByID) isaLoadBalancerIdentity() bool { + return true +} + +// UnmarshalLoadBalancerIdentityByID unmarshals an instance of LoadBalancerIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerIdentityByID +func (loadBalancerIdentityByID *LoadBalancerIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerIdentityByID.ID) { + _patch["id"] = loadBalancerIdentityByID.ID + } + + return +} + +// LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref : LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref struct +// This model "extends" LoadBalancerListenerDefaultPoolPatch +type LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref struct { + // The URL for this load balancer pool. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref : Instantiate LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref(href string) (_model *LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref, err error) { + _model = &LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref) isaLoadBalancerListenerDefaultPoolPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref unmarshals an instance of LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref +func (loadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref *LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref.Href) { + _patch["href"] = loadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByHref.Href + } + + return +} + +// LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID : LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID struct +// This model "extends" LoadBalancerListenerDefaultPoolPatch +type LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID : Instantiate LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID(id string) (_model *LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID, err error) { + _model = &LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID) isaLoadBalancerListenerDefaultPoolPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID unmarshals an instance of LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID +func (loadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID *LoadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID.ID) { + _patch["id"] = loadBalancerListenerDefaultPoolPatchLoadBalancerPoolIdentityByID.ID + } + + return +} + +// LoadBalancerListenerIdentityByHref : LoadBalancerListenerIdentityByHref struct +// This model "extends" LoadBalancerListenerIdentity +type LoadBalancerListenerIdentityByHref struct { + // The URL for this load balancer listener. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerListenerIdentityByHref : Instantiate LoadBalancerListenerIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerIdentityByHref(href string) (_model *LoadBalancerListenerIdentityByHref, err error) { + _model = &LoadBalancerListenerIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerIdentityByHref) isaLoadBalancerListenerIdentity() bool { + return true +} + +// UnmarshalLoadBalancerListenerIdentityByHref unmarshals an instance of LoadBalancerListenerIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerListenerIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerIdentityByHref +func (loadBalancerListenerIdentityByHref *LoadBalancerListenerIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerIdentityByHref.Href) { + _patch["href"] = loadBalancerListenerIdentityByHref.Href + } + + return +} + +// LoadBalancerListenerIdentityByID : LoadBalancerListenerIdentityByID struct +// This model "extends" LoadBalancerListenerIdentity +type LoadBalancerListenerIdentityByID struct { + // The unique identifier for this load balancer listener. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerListenerIdentityByID : Instantiate LoadBalancerListenerIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerIdentityByID(id string) (_model *LoadBalancerListenerIdentityByID, err error) { + _model = &LoadBalancerListenerIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerIdentityByID) isaLoadBalancerListenerIdentity() bool { + return true +} + +// UnmarshalLoadBalancerListenerIdentityByID unmarshals an instance of LoadBalancerListenerIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerListenerIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerIdentityByID +func (loadBalancerListenerIdentityByID *LoadBalancerListenerIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerIdentityByID.ID) { + _patch["id"] = loadBalancerListenerIdentityByID.ID + } + + return +} + +// LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity : Identifies a load balancer listener by a unique property. +// Models which "extend" this model: +// - LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID +// - LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref +// This model "extends" LoadBalancerListenerPolicyTargetPatch +type LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity struct { + // The unique identifier for this load balancer listener. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer listener. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity) isaLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity() bool { + return true +} + +type LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityIntf interface { + LoadBalancerListenerPolicyTargetPatchIntf + isaLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity() bool +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity unmarshals an instance of LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity +func (loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity *LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity.ID) { + _patch["id"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity.ID + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity.Href) { + _patch["href"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity.Href + } + + return +} + +// LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch : LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch struct +// This model "extends" LoadBalancerListenerPolicyTargetPatch +type LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code,omitempty"` + + // The target listener. + // + // The target listener must be in this load balancer, and must not be the same as the + // listener in the URL. + Listener LoadBalancerListenerIdentityIntf `json:"listener,omitempty"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch unmarshals an instance of LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch +func (loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch *LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch.HTTPStatusCode) { + _patch["http_status_code"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch.HTTPStatusCode + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch.Listener) { + _patch["listener"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch.Listener.asPatch() + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch.URI) { + _patch["uri"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyHTTPSRedirectPatch.URI + } + + return +} + +// LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch : LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch struct +// This model "extends" LoadBalancerListenerPolicyTargetPatch +type LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code,omitempty"` + + // The redirect target URL. The URL supports [RFC 6570 level 1 + // expressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2) for the following variables which expand to + // values from the originally requested URL (or the indicated defaults if the request did not include them): + // + // - `protocol` + // - `host` + // - `port` (default: `80` for HTTP requests, `443` for HTTPS requests) + // - `path` (default: '/') + // - `query` (default: '') + // + // The protocol, host, and port segments of the URL, must only contain at most one instance of the `protocol`, `host`, + // and `port` variables, respectively. The path and query segments of the URL may contain any combination of variables. + // If the substitution of `path` results in consecutive leading slashes, the leading slash from the substitution will + // be removed. Additional examples: + // - `https://{host}:8080/{port}/{host}/{path}` + // - `https://www.example.com` + // - `{protocol}://test.{host}:80/{path}`. + URL *string `json:"url,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch unmarshals an instance of LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch +func (loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch *LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch.HTTPStatusCode) { + _patch["http_status_code"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch.HTTPStatusCode + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch.URL) { + _patch["url"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerPolicyRedirectURLPatch.URL + } + + return +} + +// LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity : Identifies a load balancer pool by a unique property. +// Models which "extend" this model: +// - LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID +// - LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref +// This model "extends" LoadBalancerListenerPolicyTargetPatch +type LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity) isaLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity() bool { + return true +} + +type LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityIntf interface { + LoadBalancerListenerPolicyTargetPatchIntf + isaLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity() bool +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity unmarshals an instance of LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity +func (loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity *LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity.ID) { + _patch["id"] = loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity.ID + } + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity.Href) { + _patch["href"] = loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity.Href + } + + return +} + +// LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity : Identifies a load balancer listener by a unique property. +// Models which "extend" this model: +// - LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID +// - LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref +// This model "extends" LoadBalancerListenerPolicyTargetPrototype +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity struct { + // The unique identifier for this load balancer listener. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer listener. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity) isaLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity() bool { + return true +} + +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityIntf interface { + LoadBalancerListenerPolicyTargetPrototypeIntf + isaLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity() bool +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity unmarshals an instance of LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype : LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype struct +// This model "extends" LoadBalancerListenerPolicyTargetPrototype +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code" validate:"required"` + + // The target listener. + // + // The target listener must be in this load balancer, and must not be the same as the + // listener in the URL. + Listener LoadBalancerListenerIdentityIntf `json:"listener" validate:"required"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` +} + +// NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype : Instantiate LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype(httpStatusCode int64, listener LoadBalancerListenerIdentityIntf) (_model *LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype, err error) { + _model = &LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype{ + HTTPStatusCode: core.Int64Ptr(httpStatusCode), + Listener: listener, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype unmarshals an instance of LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyHTTPSRedirectPrototype) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype : LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype struct +// This model "extends" LoadBalancerListenerPolicyTargetPrototype +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code" validate:"required"` + + // The redirect target URL. The URL supports [RFC 6570 level 1 + // expressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2) for the following variables which expand to + // values from the originally requested URL (or the indicated defaults if the request did not include them): + // + // - `protocol` + // - `host` + // - `port` (default: `80` for HTTP requests, `443` for HTTPS requests) + // - `path` (default: '/') + // - `query` (default: '') + // + // The protocol, host, and port segments of the URL, must only contain at most one instance of the `protocol`, `host`, + // and `port` variables, respectively. The path and query segments of the URL may contain any combination of variables. + // If the substitution of `path` results in consecutive leading slashes, the leading slash from the substitution will + // be removed. Additional examples: + // - `https://{host}:8080/{port}/{host}/{path}` + // - `https://www.example.com` + // - `{protocol}://test.{host}:80/{path}`. + URL *string `json:"url" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype : Instantiate LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype(httpStatusCode int64, url string) (_model *LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype, err error) { + _model = &LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype{ + HTTPStatusCode: core.Int64Ptr(httpStatusCode), + URL: core.StringPtr(url), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype unmarshals an instance of LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerPolicyRedirectURLPrototype) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity : Identifies a load balancer pool by a unique property. +// Models which "extend" this model: +// - LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID +// - LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref +// This model "extends" LoadBalancerListenerPolicyTargetPrototype +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity) isaLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity() bool { + return true +} + +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityIntf interface { + LoadBalancerListenerPolicyTargetPrototypeIntf + isaLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity() bool +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity unmarshals an instance of LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect : LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect struct +// This model "extends" LoadBalancerListenerPolicyTarget +type LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code" validate:"required"` + + Listener *LoadBalancerListenerReference `json:"listener" validate:"required"` + + // The redirect relative target URI. + URI *string `json:"uri,omitempty"` +} + +func (*LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect) isaLoadBalancerListenerPolicyTarget() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect unmarshals an instance of LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyHTTPSRedirect) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "listener", &obj.Listener, UnmarshalLoadBalancerListenerReference) + if err != nil { + err = core.SDKErrorf(err, "", "listener-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "uri", &obj.URI) + if err != nil { + err = core.SDKErrorf(err, "", "uri-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL : LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL struct +// This model "extends" LoadBalancerListenerPolicyTarget +type LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL struct { + // The HTTP status code for this redirect. + HTTPStatusCode *int64 `json:"http_status_code" validate:"required"` + + // The redirect target URL. The URL supports [RFC 6570 level 1 + // expressions](https://datatracker.ietf.org/doc/html/rfc6570#section-1.2) for the following variables which expand to + // values from the originally requested URL (or the indicated defaults if the request did not include them): + // + // - `protocol` + // - `host` + // - `port` (default: `80` for HTTP requests, `443` for HTTPS requests) + // - `path` (default: '/') + // - `query` (default: '') + // + // The protocol, host, and port segments of the URL, must only contain at most one instance of the `protocol`, `host`, + // and `port` variables, respectively. The path and query segments of the URL may contain any combination of variables. + // If the substitution of `path` results in consecutive leading slashes, the leading slash from the substitution will + // be removed. Additional examples: + // - `https://{host}:8080/{port}/{host}/{path}` + // - `https://www.example.com` + // - `{protocol}://test.{host}:80/{path}`. + URL *string `json:"url" validate:"required"` +} + +func (*LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL) isaLoadBalancerListenerPolicyTarget() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL unmarshals an instance of LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetLoadBalancerListenerPolicyRedirectURL) + err = core.UnmarshalPrimitive(m, "http_status_code", &obj.HTTPStatusCode) + if err != nil { + err = core.SDKErrorf(err, "", "http_status_code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url", &obj.URL) + if err != nil { + err = core.SDKErrorf(err, "", "url-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetLoadBalancerListenerReference : LoadBalancerListenerPolicyTargetLoadBalancerListenerReference struct +// This model "extends" LoadBalancerListenerPolicyTarget +type LoadBalancerListenerPolicyTargetLoadBalancerListenerReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer listener. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer listener. + ID *string `json:"id" validate:"required"` +} + +func (*LoadBalancerListenerPolicyTargetLoadBalancerListenerReference) isaLoadBalancerListenerPolicyTarget() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetLoadBalancerListenerReference unmarshals an instance of LoadBalancerListenerPolicyTargetLoadBalancerListenerReference from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetLoadBalancerListenerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetLoadBalancerListenerReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetLoadBalancerPoolReference : LoadBalancerListenerPolicyTargetLoadBalancerPoolReference struct +// This model "extends" LoadBalancerListenerPolicyTarget +type LoadBalancerListenerPolicyTargetLoadBalancerPoolReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer pool. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer pool. + ID *string `json:"id" validate:"required"` + + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name *string `json:"name" validate:"required"` +} + +func (*LoadBalancerListenerPolicyTargetLoadBalancerPoolReference) isaLoadBalancerListenerPolicyTarget() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetLoadBalancerPoolReference unmarshals an instance of LoadBalancerListenerPolicyTargetLoadBalancerPoolReference from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetLoadBalancerPoolReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetLoadBalancerPoolReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref : LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref struct +// This model "extends" LoadBalancerPoolFailsafePolicyTargetPatch +type LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref struct { + // The URL for this load balancer pool. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref : Instantiate LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref(href string) (_model *LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref, err error) { + _model = &LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref) isaLoadBalancerPoolFailsafePolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref unmarshals an instance of LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref +func (loadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref *LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref.Href) { + _patch["href"] = loadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByHref.Href + } + + return +} + +// LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID : LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID struct +// This model "extends" LoadBalancerPoolFailsafePolicyTargetPatch +type LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID : Instantiate LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID(id string) (_model *LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID, err error) { + _model = &LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID) isaLoadBalancerPoolFailsafePolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID unmarshals an instance of LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID +func (loadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID *LoadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID.ID) { + _patch["id"] = loadBalancerPoolFailsafePolicyTargetPatchLoadBalancerPoolIdentityByID.ID + } + + return +} + +// LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype : LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype struct +// This model "extends" LoadBalancerPoolHealthMonitorPrototype +type LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype struct { + // The seconds to wait between health checks. Must be greater than `timeout`. + Delay *int64 `json:"delay" validate:"required"` + + // The health check max retries. + MaxRetries *int64 `json:"max_retries" validate:"required"` + + // The health check port. + // + // If specified, this overrides the pool member port values. + Port *int64 `json:"port,omitempty"` + + // The seconds to wait for a response to a health check. Must be less than `delay`. + Timeout *int64 `json:"timeout" validate:"required"` + + // The protocol type to use for health checks. + Type *string `json:"type" validate:"required"` + + // The health check URL path to use. + // + // Must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + URLPath *string `json:"url_path,omitempty"` +} + +// Constants associated with the LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype.Type property. +// The protocol type to use for health checks. +const ( + LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototypeTypeHTTPConst = "http" + LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototypeTypeHTTPSConst = "https" +) + +// NewLoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype : Instantiate LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype(delay int64, maxRetries int64, timeout int64, typeVar string) (_model *LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype, err error) { + _model = &LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype{ + Delay: core.Int64Ptr(delay), + MaxRetries: core.Int64Ptr(maxRetries), + Timeout: core.Int64Ptr(timeout), + Type: core.StringPtr(typeVar), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype) isaLoadBalancerPoolHealthMonitorPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype unmarshals an instance of LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsPrototype) + err = core.UnmarshalPrimitive(m, "delay", &obj.Delay) + if err != nil { + err = core.SDKErrorf(err, "", "delay-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_retries", &obj.MaxRetries) + if err != nil { + err = core.SDKErrorf(err, "", "max_retries-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url_path", &obj.URLPath) + if err != nil { + err = core.SDKErrorf(err, "", "url_path-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype : LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype struct +// This model "extends" LoadBalancerPoolHealthMonitorPrototype +type LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype struct { + // The seconds to wait between health checks. Must be greater than `timeout`. + Delay *int64 `json:"delay" validate:"required"` + + // The health check max retries. + MaxRetries *int64 `json:"max_retries" validate:"required"` + + // The health check port. + // + // If specified, this overrides the pool member port values. + Port *int64 `json:"port,omitempty"` + + // The seconds to wait for a response to a health check. Must be less than `delay`. + Timeout *int64 `json:"timeout" validate:"required"` + + // The protocol type to use for health checks. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype.Type property. +// The protocol type to use for health checks. +const ( + LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototypeTypeTCPConst = "tcp" +) + +// NewLoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype : Instantiate LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype(delay int64, maxRetries int64, timeout int64, typeVar string) (_model *LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype, err error) { + _model = &LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype{ + Delay: core.Int64Ptr(delay), + MaxRetries: core.Int64Ptr(maxRetries), + Timeout: core.Int64Ptr(timeout), + Type: core.StringPtr(typeVar), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype) isaLoadBalancerPoolHealthMonitorPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype unmarshals an instance of LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype from the specified map of raw messages. +func UnmarshalLoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolHealthMonitorPrototypeLoadBalancerPoolHealthMonitorTypeTCPPrototype) + err = core.UnmarshalPrimitive(m, "delay", &obj.Delay) + if err != nil { + err = core.SDKErrorf(err, "", "delay-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_retries", &obj.MaxRetries) + if err != nil { + err = core.SDKErrorf(err, "", "max_retries-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolHealthMonitorTypeHttphttps : LoadBalancerPoolHealthMonitorTypeHttphttps struct +// This model "extends" LoadBalancerPoolHealthMonitor +type LoadBalancerPoolHealthMonitorTypeHttphttps struct { + // The seconds to wait between health checks. + Delay *int64 `json:"delay" validate:"required"` + + // The health check max retries. + MaxRetries *int64 `json:"max_retries" validate:"required"` + + // The health check port. + // + // If present, this overrides the pool member port values. + Port *int64 `json:"port,omitempty"` + + // The seconds to wait for a response to a health check. + Timeout *int64 `json:"timeout" validate:"required"` + + // The protocol type used for health checks. + Type *string `json:"type" validate:"required"` + + // The health check URL path, in the format of an [origin-form request + // target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + URLPath *string `json:"url_path" validate:"required"` +} + +// Constants associated with the LoadBalancerPoolHealthMonitorTypeHttphttps.Type property. +// The protocol type used for health checks. +const ( + LoadBalancerPoolHealthMonitorTypeHttphttpsTypeHTTPConst = "http" + LoadBalancerPoolHealthMonitorTypeHttphttpsTypeHTTPSConst = "https" +) + +func (*LoadBalancerPoolHealthMonitorTypeHttphttps) isaLoadBalancerPoolHealthMonitor() bool { + return true +} + +// UnmarshalLoadBalancerPoolHealthMonitorTypeHttphttps unmarshals an instance of LoadBalancerPoolHealthMonitorTypeHttphttps from the specified map of raw messages. +func UnmarshalLoadBalancerPoolHealthMonitorTypeHttphttps(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolHealthMonitorTypeHttphttps) + err = core.UnmarshalPrimitive(m, "delay", &obj.Delay) + if err != nil { + err = core.SDKErrorf(err, "", "delay-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_retries", &obj.MaxRetries) + if err != nil { + err = core.SDKErrorf(err, "", "max_retries-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "url_path", &obj.URLPath) + if err != nil { + err = core.SDKErrorf(err, "", "url_path-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolHealthMonitorTypeTCP : LoadBalancerPoolHealthMonitorTypeTCP struct +// This model "extends" LoadBalancerPoolHealthMonitor +type LoadBalancerPoolHealthMonitorTypeTCP struct { + // The seconds to wait between health checks. + Delay *int64 `json:"delay" validate:"required"` + + // The health check max retries. + MaxRetries *int64 `json:"max_retries" validate:"required"` + + // The health check port. + // + // If present, this overrides the pool member port values. + Port *int64 `json:"port,omitempty"` + + // The seconds to wait for a response to a health check. + Timeout *int64 `json:"timeout" validate:"required"` + + // The protocol type used for health checks. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerPoolHealthMonitorTypeTCP.Type property. +// The protocol type used for health checks. +const ( + LoadBalancerPoolHealthMonitorTypeTCPTypeTCPConst = "tcp" +) + +func (*LoadBalancerPoolHealthMonitorTypeTCP) isaLoadBalancerPoolHealthMonitor() bool { + return true +} + +// UnmarshalLoadBalancerPoolHealthMonitorTypeTCP unmarshals an instance of LoadBalancerPoolHealthMonitorTypeTCP from the specified map of raw messages. +func UnmarshalLoadBalancerPoolHealthMonitorTypeTCP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolHealthMonitorTypeTCP) + err = core.UnmarshalPrimitive(m, "delay", &obj.Delay) + if err != nil { + err = core.SDKErrorf(err, "", "delay-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max_retries", &obj.MaxRetries) + if err != nil { + err = core.SDKErrorf(err, "", "max_retries-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port", &obj.Port) + if err != nil { + err = core.SDKErrorf(err, "", "port-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "timeout", &obj.Timeout) + if err != nil { + err = core.SDKErrorf(err, "", "timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref : LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref struct +// This model "extends" LoadBalancerPoolIdentity +type LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref struct { + // The URL for this load balancer pool. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref : Instantiate LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref(href string) (_model *LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref, err error) { + _model = &LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) isaLoadBalancerPoolIdentity() bool { + return true +} + +// UnmarshalLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref unmarshals an instance of LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref +func (loadBalancerPoolIdentityLoadBalancerPoolIdentityByHref *LoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolIdentityLoadBalancerPoolIdentityByHref.Href) { + _patch["href"] = loadBalancerPoolIdentityLoadBalancerPoolIdentityByHref.Href + } + + return +} + +// LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID : LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID struct +// This model "extends" LoadBalancerPoolIdentity +type LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID : Instantiate LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID(id string) (_model *LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID, err error) { + _model = &LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) isaLoadBalancerPoolIdentity() bool { + return true +} + +// UnmarshalLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID unmarshals an instance of LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID +func (loadBalancerPoolIdentityLoadBalancerPoolIdentityByID *LoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolIdentityLoadBalancerPoolIdentityByID.ID) { + _patch["id"] = loadBalancerPoolIdentityLoadBalancerPoolIdentityByID.ID + } + + return +} + +// LoadBalancerPoolMemberTargetByReservedIP : LoadBalancerPoolMemberTargetByReservedIP struct +// This model "extends" LoadBalancerPoolMemberTarget +type LoadBalancerPoolMemberTargetByReservedIP struct { + // The IP address. + // + // If the address has not yet been selected, the value will be `0.0.0.0`. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this reserved IP. + ID *string `json:"id" validate:"required"` + + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the LoadBalancerPoolMemberTargetByReservedIP.ResourceType property. +// The resource type. +const ( + LoadBalancerPoolMemberTargetByReservedIPResourceTypeSubnetReservedIPConst = "subnet_reserved_ip" +) + +func (*LoadBalancerPoolMemberTargetByReservedIP) isaLoadBalancerPoolMemberTarget() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetByReservedIP unmarshals an instance of LoadBalancerPoolMemberTargetByReservedIP from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetByReservedIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetByReservedIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberTargetPrototypeIP : LoadBalancerPoolMemberTargetPrototypeIP struct +// This model "extends" LoadBalancerPoolMemberTargetPrototype +type LoadBalancerPoolMemberTargetPrototypeIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeIP : Instantiate LoadBalancerPoolMemberTargetPrototypeIP (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeIP(address string) (_model *LoadBalancerPoolMemberTargetPrototypeIP, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeIP) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeIP unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeIP from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeIP +func (loadBalancerPoolMemberTargetPrototypeIP *LoadBalancerPoolMemberTargetPrototypeIP) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeIP.Address) { + _patch["address"] = loadBalancerPoolMemberTargetPrototypeIP.Address + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeInstanceIdentity : Identifies a virtual server instance by a unique property. +// Models which "extend" this model: +// - LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID +// - LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN +// - LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref +// This model "extends" LoadBalancerPoolMemberTargetPrototype +type LoadBalancerPoolMemberTargetPrototypeInstanceIdentity struct { + // The unique identifier for this virtual server instance. + ID *string `json:"id,omitempty"` + + // The CRN for this virtual server instance. + CRN *string `json:"crn,omitempty"` + + // The URL for this virtual server instance. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerPoolMemberTargetPrototypeInstanceIdentity) isaLoadBalancerPoolMemberTargetPrototypeInstanceIdentity() bool { + return true +} + +type LoadBalancerPoolMemberTargetPrototypeInstanceIdentityIntf interface { + LoadBalancerPoolMemberTargetPrototypeIntf + isaLoadBalancerPoolMemberTargetPrototypeInstanceIdentity() bool +} + +func (*LoadBalancerPoolMemberTargetPrototypeInstanceIdentity) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeInstanceIdentity unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeInstanceIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeInstanceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeInstanceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeInstanceIdentity +func (loadBalancerPoolMemberTargetPrototypeInstanceIdentity *LoadBalancerPoolMemberTargetPrototypeInstanceIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeInstanceIdentity.ID) { + _patch["id"] = loadBalancerPoolMemberTargetPrototypeInstanceIdentity.ID + } + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeInstanceIdentity.CRN) { + _patch["crn"] = loadBalancerPoolMemberTargetPrototypeInstanceIdentity.CRN + } + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeInstanceIdentity.Href) { + _patch["href"] = loadBalancerPoolMemberTargetPrototypeInstanceIdentity.Href + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity : Identifies a load balancer by a unique property. +// Models which "extend" this model: +// - LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID +// - LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN +// - LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref +// This model "extends" LoadBalancerPoolMemberTargetPrototype +type LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity struct { + // The unique identifier for this load balancer. + ID *string `json:"id,omitempty"` + + // The CRN for this load balancer. + CRN *string `json:"crn,omitempty"` + + // The URL for this load balancer. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity) isaLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity() bool { + return true +} + +type LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityIntf interface { + LoadBalancerPoolMemberTargetPrototypeIntf + isaLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity() bool +} + +func (*LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity +func (loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity *LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity.ID) { + _patch["id"] = loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity.ID + } + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity.CRN) { + _patch["crn"] = loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity.CRN + } + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity.Href) { + _patch["href"] = loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity.Href + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity : Identifies a reserved IP by a unique property. +// Models which "extend" this model: +// - LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID +// - LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref +// This model "extends" LoadBalancerPoolMemberTargetPrototype +type LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` +} + +func (*LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity) isaLoadBalancerPoolMemberTargetPrototypeReservedIPIdentity() bool { + return true +} + +type LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityIntf interface { + LoadBalancerPoolMemberTargetPrototypeIntf + isaLoadBalancerPoolMemberTargetPrototypeReservedIPIdentity() bool +} + +func (*LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeReservedIPIdentity unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeReservedIPIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity +func (loadBalancerPoolMemberTargetPrototypeReservedIPIdentity *LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeReservedIPIdentity.ID) { + _patch["id"] = loadBalancerPoolMemberTargetPrototypeReservedIPIdentity.ID + } + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeReservedIPIdentity.Href) { + _patch["href"] = loadBalancerPoolMemberTargetPrototypeReservedIPIdentity.Href + } + + return +} + +// LoadBalancerPoolMemberTargetIPNotReservedIP : LoadBalancerPoolMemberTargetIPNotReservedIP struct +// This model "extends" LoadBalancerPoolMemberTarget +type LoadBalancerPoolMemberTargetIPNotReservedIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +func (*LoadBalancerPoolMemberTargetIPNotReservedIP) isaLoadBalancerPoolMemberTarget() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetIPNotReservedIP unmarshals an instance of LoadBalancerPoolMemberTargetIPNotReservedIP from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetIPNotReservedIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetIPNotReservedIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberTargetInstanceReference : LoadBalancerPoolMemberTargetInstanceReference struct +// This model "extends" LoadBalancerPoolMemberTarget +type LoadBalancerPoolMemberTargetInstanceReference struct { + // The CRN for this virtual server instance. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this virtual server instance. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual server instance. + ID *string `json:"id" validate:"required"` + + // The name for this virtual server instance. The name is unique across all virtual server instances in the region. + Name *string `json:"name" validate:"required"` +} + +func (*LoadBalancerPoolMemberTargetInstanceReference) isaLoadBalancerPoolMemberTarget() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetInstanceReference unmarshals an instance of LoadBalancerPoolMemberTargetInstanceReference from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetInstanceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetInstanceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberTargetLoadBalancerReference : LoadBalancerPoolMemberTargetLoadBalancerReference struct +// This model "extends" LoadBalancerPoolMemberTarget +type LoadBalancerPoolMemberTargetLoadBalancerReference struct { + // The CRN for this load balancer. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer. + ID *string `json:"id" validate:"required"` + + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the LoadBalancerPoolMemberTargetLoadBalancerReference.ResourceType property. +// The resource type. +const ( + LoadBalancerPoolMemberTargetLoadBalancerReferenceResourceTypeLoadBalancerConst = "load_balancer" +) + +func (*LoadBalancerPoolMemberTargetLoadBalancerReference) isaLoadBalancerPoolMemberTarget() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetLoadBalancerReference unmarshals an instance of LoadBalancerPoolMemberTargetLoadBalancerReference from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetLoadBalancerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetLoadBalancerReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileAvailabilityDependent : The availability mode for a load balancer with this profile depends on its configuration. +// This model "extends" LoadBalancerProfileAvailability +type LoadBalancerProfileAvailabilityDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileAvailabilityDependent.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileAvailabilityDependentTypeDependentConst = "dependent" +) + +func (*LoadBalancerProfileAvailabilityDependent) isaLoadBalancerProfileAvailability() bool { + return true +} + +// UnmarshalLoadBalancerProfileAvailabilityDependent unmarshals an instance of LoadBalancerProfileAvailabilityDependent from the specified map of raw messages. +func UnmarshalLoadBalancerProfileAvailabilityDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileAvailabilityDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileAvailabilityFixed : The availability mode for a load balancer with this profile. +// This model "extends" LoadBalancerProfileAvailability +type LoadBalancerProfileAvailabilityFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The availability of this load balancer: + // - `subnet`: remains available if at least one zone that the load balancer's subnets reside + // in is available + // - `region`: remains available if at least one zone in the region is available. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileAvailabilityFixed.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileAvailabilityFixedTypeFixedConst = "fixed" +) + +// Constants associated with the LoadBalancerProfileAvailabilityFixed.Value property. +// The availability of this load balancer: +// - `subnet`: remains available if at least one zone that the load balancer's subnets reside +// in is available +// - `region`: remains available if at least one zone in the region is available. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerProfileAvailabilityFixedValueRegionConst = "region" + LoadBalancerProfileAvailabilityFixedValueSubnetConst = "subnet" +) + +func (*LoadBalancerProfileAvailabilityFixed) isaLoadBalancerProfileAvailability() bool { + return true +} + +// UnmarshalLoadBalancerProfileAvailabilityFixed unmarshals an instance of LoadBalancerProfileAvailabilityFixed from the specified map of raw messages. +func UnmarshalLoadBalancerProfileAvailabilityFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileAvailabilityFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileFailsafePolicyActionsDependent : The failsafe policy action configuration for a load balancer with this profile depends on its configuration. +// This model "extends" LoadBalancerProfileFailsafePolicyActions +type LoadBalancerProfileFailsafePolicyActionsDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileFailsafePolicyActionsDependent.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileFailsafePolicyActionsDependentTypeDependentConst = "dependent" +) + +func (*LoadBalancerProfileFailsafePolicyActionsDependent) isaLoadBalancerProfileFailsafePolicyActions() bool { + return true +} + +// UnmarshalLoadBalancerProfileFailsafePolicyActionsDependent unmarshals an instance of LoadBalancerProfileFailsafePolicyActionsDependent from the specified map of raw messages. +func UnmarshalLoadBalancerProfileFailsafePolicyActionsDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileFailsafePolicyActionsDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileFailsafePolicyActionsEnum : The failsafe policy action configuration for a load balancer with this profile. +// This model "extends" LoadBalancerProfileFailsafePolicyActions +type LoadBalancerProfileFailsafePolicyActionsEnum struct { + // The default failsafe policy action for this profile. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The supported failsafe policy actions. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileFailsafePolicyActionsEnum.Default property. +// The default failsafe policy action for this profile. +const ( + LoadBalancerProfileFailsafePolicyActionsEnumDefaultBypassConst = "bypass" + LoadBalancerProfileFailsafePolicyActionsEnumDefaultDropConst = "drop" + LoadBalancerProfileFailsafePolicyActionsEnumDefaultFailConst = "fail" + LoadBalancerProfileFailsafePolicyActionsEnumDefaultForwardConst = "forward" +) + +// Constants associated with the LoadBalancerProfileFailsafePolicyActionsEnum.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileFailsafePolicyActionsEnumTypeEnumConst = "enum" +) + +// Constants associated with the LoadBalancerProfileFailsafePolicyActionsEnum.Values property. +// A load balancer failsafe policy action: +// - `bypass`: Bypasses the members and sends requests directly to their destination IPs. +// - `drop`: Drops requests. +// - `fail`: Fails requests with an HTTP `503` status code. +// - `forward`: Forwards requests to the `target` pool. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + LoadBalancerProfileFailsafePolicyActionsEnumValuesBypassConst = "bypass" + LoadBalancerProfileFailsafePolicyActionsEnumValuesDropConst = "drop" + LoadBalancerProfileFailsafePolicyActionsEnumValuesFailConst = "fail" + LoadBalancerProfileFailsafePolicyActionsEnumValuesForwardConst = "forward" +) + +func (*LoadBalancerProfileFailsafePolicyActionsEnum) isaLoadBalancerProfileFailsafePolicyActions() bool { + return true +} + +// UnmarshalLoadBalancerProfileFailsafePolicyActionsEnum unmarshals an instance of LoadBalancerProfileFailsafePolicyActionsEnum from the specified map of raw messages. +func UnmarshalLoadBalancerProfileFailsafePolicyActionsEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileFailsafePolicyActionsEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileIdentityByHref : LoadBalancerProfileIdentityByHref struct +// This model "extends" LoadBalancerProfileIdentity +type LoadBalancerProfileIdentityByHref struct { + // The URL for this load balancer profile. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerProfileIdentityByHref : Instantiate LoadBalancerProfileIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerProfileIdentityByHref(href string) (_model *LoadBalancerProfileIdentityByHref, err error) { + _model = &LoadBalancerProfileIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerProfileIdentityByHref) isaLoadBalancerProfileIdentity() bool { + return true +} + +// UnmarshalLoadBalancerProfileIdentityByHref unmarshals an instance of LoadBalancerProfileIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerProfileIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileIdentityByName : LoadBalancerProfileIdentityByName struct +// This model "extends" LoadBalancerProfileIdentity +type LoadBalancerProfileIdentityByName struct { + // The globally unique name for this load balancer profile. + Name *string `json:"name" validate:"required"` +} + +// NewLoadBalancerProfileIdentityByName : Instantiate LoadBalancerProfileIdentityByName (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerProfileIdentityByName(name string) (_model *LoadBalancerProfileIdentityByName, err error) { + _model = &LoadBalancerProfileIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerProfileIdentityByName) isaLoadBalancerProfileIdentity() bool { + return true +} + +// UnmarshalLoadBalancerProfileIdentityByName unmarshals an instance of LoadBalancerProfileIdentityByName from the specified map of raw messages. +func UnmarshalLoadBalancerProfileIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileInstanceGroupsSupportedDependent : The instance groups support for a load balancer with this profile depends on its configuration. +// This model "extends" LoadBalancerProfileInstanceGroupsSupported +type LoadBalancerProfileInstanceGroupsSupportedDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileInstanceGroupsSupportedDependent.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileInstanceGroupsSupportedDependentTypeDependentConst = "dependent" +) + +func (*LoadBalancerProfileInstanceGroupsSupportedDependent) isaLoadBalancerProfileInstanceGroupsSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileInstanceGroupsSupportedDependent unmarshals an instance of LoadBalancerProfileInstanceGroupsSupportedDependent from the specified map of raw messages. +func UnmarshalLoadBalancerProfileInstanceGroupsSupportedDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileInstanceGroupsSupportedDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileInstanceGroupsSupportedFixed : The instance groups support for a load balancer with this profile. +// This model "extends" LoadBalancerProfileInstanceGroupsSupported +type LoadBalancerProfileInstanceGroupsSupportedFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *bool `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileInstanceGroupsSupportedFixed.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileInstanceGroupsSupportedFixedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileInstanceGroupsSupportedFixed) isaLoadBalancerProfileInstanceGroupsSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileInstanceGroupsSupportedFixed unmarshals an instance of LoadBalancerProfileInstanceGroupsSupportedFixed from the specified map of raw messages. +func UnmarshalLoadBalancerProfileInstanceGroupsSupportedFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileInstanceGroupsSupportedFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileRouteModeSupportedDependent : The [route mode](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vnf&interface=ui) support for a load balancer with this +// profile depends on its configuration. +// This model "extends" LoadBalancerProfileRouteModeSupported +type LoadBalancerProfileRouteModeSupportedDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileRouteModeSupportedDependent.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileRouteModeSupportedDependentTypeDependentConst = "dependent" +) + +func (*LoadBalancerProfileRouteModeSupportedDependent) isaLoadBalancerProfileRouteModeSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileRouteModeSupportedDependent unmarshals an instance of LoadBalancerProfileRouteModeSupportedDependent from the specified map of raw messages. +func UnmarshalLoadBalancerProfileRouteModeSupportedDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileRouteModeSupportedDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileRouteModeSupportedFixed : The [route mode](https://cloud.ibm.com/docs/vpc?topic=vpc-nlb-vnf&interface=ui) support for a load balancer with this +// profile. +// This model "extends" LoadBalancerProfileRouteModeSupported +type LoadBalancerProfileRouteModeSupportedFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *bool `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileRouteModeSupportedFixed.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileRouteModeSupportedFixedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileRouteModeSupportedFixed) isaLoadBalancerProfileRouteModeSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileRouteModeSupportedFixed unmarshals an instance of LoadBalancerProfileRouteModeSupportedFixed from the specified map of raw messages. +func UnmarshalLoadBalancerProfileRouteModeSupportedFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileRouteModeSupportedFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileSecurityGroupsSupportedDependent : The security group support for a load balancer with this profile depends on its configuration. +// This model "extends" LoadBalancerProfileSecurityGroupsSupported +type LoadBalancerProfileSecurityGroupsSupportedDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileSecurityGroupsSupportedDependent.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileSecurityGroupsSupportedDependentTypeDependentConst = "dependent" +) + +func (*LoadBalancerProfileSecurityGroupsSupportedDependent) isaLoadBalancerProfileSecurityGroupsSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileSecurityGroupsSupportedDependent unmarshals an instance of LoadBalancerProfileSecurityGroupsSupportedDependent from the specified map of raw messages. +func UnmarshalLoadBalancerProfileSecurityGroupsSupportedDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileSecurityGroupsSupportedDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileSecurityGroupsSupportedFixed : The security group support for a load balancer with this profile. +// This model "extends" LoadBalancerProfileSecurityGroupsSupported +type LoadBalancerProfileSecurityGroupsSupportedFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *bool `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileSecurityGroupsSupportedFixed.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileSecurityGroupsSupportedFixedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileSecurityGroupsSupportedFixed) isaLoadBalancerProfileSecurityGroupsSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileSecurityGroupsSupportedFixed unmarshals an instance of LoadBalancerProfileSecurityGroupsSupportedFixed from the specified map of raw messages. +func UnmarshalLoadBalancerProfileSecurityGroupsSupportedFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileSecurityGroupsSupportedFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent : The source IP session persistence support for a load balancer with this profile depends on its configuration. +// This model "extends" LoadBalancerProfileSourceIPSessionPersistenceSupported +type LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileSourceIPSessionPersistenceSupportedDependentTypeDependentConst = "dependent" +) + +func (*LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent) isaLoadBalancerProfileSourceIPSessionPersistenceSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileSourceIPSessionPersistenceSupportedDependent unmarshals an instance of LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent from the specified map of raw messages. +func UnmarshalLoadBalancerProfileSourceIPSessionPersistenceSupportedDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileSourceIPSessionPersistenceSupportedDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed : The source IP session persistence support for a load balancer with this profile. +// This model "extends" LoadBalancerProfileSourceIPSessionPersistenceSupported +type LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *bool `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileSourceIPSessionPersistenceSupportedFixedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed) isaLoadBalancerProfileSourceIPSessionPersistenceSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileSourceIPSessionPersistenceSupportedFixed unmarshals an instance of LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed from the specified map of raw messages. +func UnmarshalLoadBalancerProfileSourceIPSessionPersistenceSupportedFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileSourceIPSessionPersistenceSupportedFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileUDPSupportedDependent : The UDP support for a load balancer with this profile depends on its configuration. +// This model "extends" LoadBalancerProfileUDPSupported +type LoadBalancerProfileUDPSupportedDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileUDPSupportedDependent.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileUDPSupportedDependentTypeDependentConst = "dependent" +) + +func (*LoadBalancerProfileUDPSupportedDependent) isaLoadBalancerProfileUDPSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileUDPSupportedDependent unmarshals an instance of LoadBalancerProfileUDPSupportedDependent from the specified map of raw messages. +func UnmarshalLoadBalancerProfileUDPSupportedDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileUDPSupportedDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerProfileUDPSupportedFixed : The UDP support for a load balancer with this profile. +// This model "extends" LoadBalancerProfileUDPSupported +type LoadBalancerProfileUDPSupportedFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *bool `json:"value" validate:"required"` +} + +// Constants associated with the LoadBalancerProfileUDPSupportedFixed.Type property. +// The type for this profile field. +const ( + LoadBalancerProfileUDPSupportedFixedTypeFixedConst = "fixed" +) + +func (*LoadBalancerProfileUDPSupportedFixed) isaLoadBalancerProfileUDPSupported() bool { + return true +} + +// UnmarshalLoadBalancerProfileUDPSupportedFixed unmarshals an instance of LoadBalancerProfileUDPSupportedFixed from the specified map of raw messages. +func UnmarshalLoadBalancerProfileUDPSupportedFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerProfileUDPSupportedFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLIdentityByCRN : NetworkACLIdentityByCRN struct +// This model "extends" NetworkACLIdentity +type NetworkACLIdentityByCRN struct { + // The CRN for this network ACL. + CRN *string `json:"crn" validate:"required"` +} + +// NewNetworkACLIdentityByCRN : Instantiate NetworkACLIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewNetworkACLIdentityByCRN(crn string) (_model *NetworkACLIdentityByCRN, err error) { + _model = &NetworkACLIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLIdentityByCRN) isaNetworkACLIdentity() bool { + return true +} + +// UnmarshalNetworkACLIdentityByCRN unmarshals an instance of NetworkACLIdentityByCRN from the specified map of raw messages. +func UnmarshalNetworkACLIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the NetworkACLIdentityByCRN +func (networkACLIdentityByCRN *NetworkACLIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLIdentityByCRN.CRN) { + _patch["crn"] = networkACLIdentityByCRN.CRN + } + + return +} + +// NetworkACLIdentityByHref : NetworkACLIdentityByHref struct +// This model "extends" NetworkACLIdentity +type NetworkACLIdentityByHref struct { + // The URL for this network ACL. + Href *string `json:"href" validate:"required"` +} + +// NewNetworkACLIdentityByHref : Instantiate NetworkACLIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewNetworkACLIdentityByHref(href string) (_model *NetworkACLIdentityByHref, err error) { + _model = &NetworkACLIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLIdentityByHref) isaNetworkACLIdentity() bool { + return true +} + +// UnmarshalNetworkACLIdentityByHref unmarshals an instance of NetworkACLIdentityByHref from the specified map of raw messages. +func UnmarshalNetworkACLIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the NetworkACLIdentityByHref +func (networkACLIdentityByHref *NetworkACLIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLIdentityByHref.Href) { + _patch["href"] = networkACLIdentityByHref.Href + } + + return +} + +// NetworkACLIdentityByID : NetworkACLIdentityByID struct +// This model "extends" NetworkACLIdentity +type NetworkACLIdentityByID struct { + // The unique identifier for this network ACL. + ID *string `json:"id" validate:"required"` +} + +// NewNetworkACLIdentityByID : Instantiate NetworkACLIdentityByID (Generic Model Constructor) +func (*VpcV1) NewNetworkACLIdentityByID(id string) (_model *NetworkACLIdentityByID, err error) { + _model = &NetworkACLIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLIdentityByID) isaNetworkACLIdentity() bool { + return true +} + +// UnmarshalNetworkACLIdentityByID unmarshals an instance of NetworkACLIdentityByID from the specified map of raw messages. +func UnmarshalNetworkACLIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the NetworkACLIdentityByID +func (networkACLIdentityByID *NetworkACLIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLIdentityByID.ID) { + _patch["id"] = networkACLIdentityByID.ID + } + + return +} + +// NetworkACLPrototypeNetworkACLByRules : NetworkACLPrototypeNetworkACLByRules struct +// This model "extends" NetworkACLPrototype +type NetworkACLPrototypeNetworkACLByRules struct { + // The name for this network ACL. The name must not be used by another network ACL for the VPC. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The VPC this network ACL will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The prototype objects for rules to create along with this network ACL. If unspecified, no rules will be created, + // resulting in no traffic being allowed. + Rules []NetworkACLRulePrototypeNetworkACLContextIntf `json:"rules,omitempty"` +} + +// NewNetworkACLPrototypeNetworkACLByRules : Instantiate NetworkACLPrototypeNetworkACLByRules (Generic Model Constructor) +func (*VpcV1) NewNetworkACLPrototypeNetworkACLByRules(vpc VPCIdentityIntf) (_model *NetworkACLPrototypeNetworkACLByRules, err error) { + _model = &NetworkACLPrototypeNetworkACLByRules{ + VPC: vpc, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLPrototypeNetworkACLByRules) isaNetworkACLPrototype() bool { + return true +} + +// UnmarshalNetworkACLPrototypeNetworkACLByRules unmarshals an instance of NetworkACLPrototypeNetworkACLByRules from the specified map of raw messages. +func UnmarshalNetworkACLPrototypeNetworkACLByRules(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLPrototypeNetworkACLByRules) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "rules", &obj.Rules, UnmarshalNetworkACLRulePrototypeNetworkACLContext) + if err != nil { + err = core.SDKErrorf(err, "", "rules-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLPrototypeNetworkACLBySourceNetworkACL : NetworkACLPrototypeNetworkACLBySourceNetworkACL struct +// This model "extends" NetworkACLPrototype +type NetworkACLPrototypeNetworkACLBySourceNetworkACL struct { + // The name for this network ACL. The name must not be used by another network ACL for the VPC. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The VPC this network ACL will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The network ACL to copy rules from. + SourceNetworkACL NetworkACLIdentityIntf `json:"source_network_acl" validate:"required"` +} + +// NewNetworkACLPrototypeNetworkACLBySourceNetworkACL : Instantiate NetworkACLPrototypeNetworkACLBySourceNetworkACL (Generic Model Constructor) +func (*VpcV1) NewNetworkACLPrototypeNetworkACLBySourceNetworkACL(vpc VPCIdentityIntf, sourceNetworkACL NetworkACLIdentityIntf) (_model *NetworkACLPrototypeNetworkACLBySourceNetworkACL, err error) { + _model = &NetworkACLPrototypeNetworkACLBySourceNetworkACL{ + VPC: vpc, + SourceNetworkACL: sourceNetworkACL, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLPrototypeNetworkACLBySourceNetworkACL) isaNetworkACLPrototype() bool { + return true +} + +// UnmarshalNetworkACLPrototypeNetworkACLBySourceNetworkACL unmarshals an instance of NetworkACLPrototypeNetworkACLBySourceNetworkACL from the specified map of raw messages. +func UnmarshalNetworkACLPrototypeNetworkACLBySourceNetworkACL(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLPrototypeNetworkACLBySourceNetworkACL) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_network_acl", &obj.SourceNetworkACL, UnmarshalNetworkACLIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_network_acl-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref : NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref struct +// This model "extends" NetworkACLRuleBeforePatch +type NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref struct { + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` +} + +// NewNetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref : Instantiate NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref(href string) (_model *NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref, err error) { + _model = &NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref) isaNetworkACLRuleBeforePatch() bool { + return true +} + +// UnmarshalNetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref unmarshals an instance of NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref from the specified map of raw messages. +func UnmarshalNetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref +func (networkACLRuleBeforePatchNetworkACLRuleIdentityByHref *NetworkACLRuleBeforePatchNetworkACLRuleIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLRuleBeforePatchNetworkACLRuleIdentityByHref.Href) { + _patch["href"] = networkACLRuleBeforePatchNetworkACLRuleIdentityByHref.Href + } + + return +} + +// NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID : NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID struct +// This model "extends" NetworkACLRuleBeforePatch +type NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID struct { + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` +} + +// NewNetworkACLRuleBeforePatchNetworkACLRuleIdentityByID : Instantiate NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRuleBeforePatchNetworkACLRuleIdentityByID(id string) (_model *NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID, err error) { + _model = &NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID) isaNetworkACLRuleBeforePatch() bool { + return true +} + +// UnmarshalNetworkACLRuleBeforePatchNetworkACLRuleIdentityByID unmarshals an instance of NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID from the specified map of raw messages. +func UnmarshalNetworkACLRuleBeforePatchNetworkACLRuleIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID +func (networkACLRuleBeforePatchNetworkACLRuleIdentityByID *NetworkACLRuleBeforePatchNetworkACLRuleIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(networkACLRuleBeforePatchNetworkACLRuleIdentityByID.ID) { + _patch["id"] = networkACLRuleBeforePatchNetworkACLRuleIdentityByID.ID + } + + return +} + +// NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref : NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref struct +// This model "extends" NetworkACLRuleBeforePrototype +type NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref struct { + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` +} + +// NewNetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref : Instantiate NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref(href string) (_model *NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref, err error) { + _model = &NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref) isaNetworkACLRuleBeforePrototype() bool { + return true +} + +// UnmarshalNetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref unmarshals an instance of NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref from the specified map of raw messages. +func UnmarshalNetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID : NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID struct +// This model "extends" NetworkACLRuleBeforePrototype +type NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID struct { + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` +} + +// NewNetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID : Instantiate NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID(id string) (_model *NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID, err error) { + _model = &NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID) isaNetworkACLRuleBeforePrototype() bool { + return true +} + +// UnmarshalNetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID unmarshals an instance of NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID from the specified map of raw messages. +func UnmarshalNetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleBeforePrototypeNetworkACLRuleIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleItemNetworkACLRuleProtocolAll : A rule for ICMP, TCP and UDP traffic. +// This model "extends" NetworkACLRuleItem +type NetworkACLRuleItemNetworkACLRuleProtocolAll struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule that this rule is immediately before. In a rule collection, this always refers to the next item in the + // collection. If absent, this is the last rule. + Before *NetworkACLRuleReference `json:"before,omitempty"` + + // The date and time that the rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolAll.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolAllActionAllowConst = "allow" + NetworkACLRuleItemNetworkACLRuleProtocolAllActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolAll.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolAllDirectionInboundConst = "inbound" + NetworkACLRuleItemNetworkACLRuleProtocolAllDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolAll.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolAllIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolAll.Protocol property. +// The network protocol. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolAllProtocolAllConst = "all" +) + +func (*NetworkACLRuleItemNetworkACLRuleProtocolAll) isaNetworkACLRuleItem() bool { + return true +} + +// UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolAll unmarshals an instance of NetworkACLRuleItemNetworkACLRuleProtocolAll from the specified map of raw messages. +func UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolAll(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleItemNetworkACLRuleProtocolAll) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleReference) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleItemNetworkACLRuleProtocolIcmp : A rule for ICMP traffic. +// This model "extends" NetworkACLRuleItem +type NetworkACLRuleItemNetworkACLRuleProtocolIcmp struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule that this rule is immediately before. In a rule collection, this always refers to the next item in the + // collection. If absent, this is the last rule. + Before *NetworkACLRuleReference `json:"before,omitempty"` + + // The date and time that the rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The ICMP traffic code to match. + // + // If absent, all codes are matched. + Code *int64 `json:"code,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The ICMP traffic type to match. + // + // If absent, all types are matched. + Type *int64 `json:"type,omitempty"` +} + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolIcmp.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolIcmpActionAllowConst = "allow" + NetworkACLRuleItemNetworkACLRuleProtocolIcmpActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolIcmp.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolIcmpDirectionInboundConst = "inbound" + NetworkACLRuleItemNetworkACLRuleProtocolIcmpDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolIcmp.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolIcmpIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolIcmp.Protocol property. +// The network protocol. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolIcmpProtocolIcmpConst = "icmp" +) + +func (*NetworkACLRuleItemNetworkACLRuleProtocolIcmp) isaNetworkACLRuleItem() bool { + return true +} + +// UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolIcmp unmarshals an instance of NetworkACLRuleItemNetworkACLRuleProtocolIcmp from the specified map of raw messages. +func UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolIcmp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleItemNetworkACLRuleProtocolIcmp) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleReference) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleItemNetworkACLRuleProtocolTcpudp : A rule for TCP or UDP traffic. +// This model "extends" NetworkACLRuleItem +type NetworkACLRuleItemNetworkACLRuleProtocolTcpudp struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule that this rule is immediately before. In a rule collection, this always refers to the next item in the + // collection. If absent, this is the last rule. + Before *NetworkACLRuleReference `json:"before,omitempty"` + + // The date and time that the rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The inclusive upper bound of the TCP or UDP destination port range. + DestinationPortMax *int64 `json:"destination_port_max" validate:"required"` + + // The inclusive lower bound of the TCP or UDP destination port range. + DestinationPortMin *int64 `json:"destination_port_min" validate:"required"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The inclusive upper bound of the TCP or UDP source port range. + SourcePortMax *int64 `json:"source_port_max" validate:"required"` + + // The inclusive lower bound of the TCP or UDP source port range. + SourcePortMin *int64 `json:"source_port_min" validate:"required"` +} + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolTcpudp.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolTcpudpActionAllowConst = "allow" + NetworkACLRuleItemNetworkACLRuleProtocolTcpudpActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolTcpudp.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolTcpudpDirectionInboundConst = "inbound" + NetworkACLRuleItemNetworkACLRuleProtocolTcpudpDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolTcpudp.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolTcpudpIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRuleItemNetworkACLRuleProtocolTcpudp.Protocol property. +// The network protocol. +const ( + NetworkACLRuleItemNetworkACLRuleProtocolTcpudpProtocolTCPConst = "tcp" + NetworkACLRuleItemNetworkACLRuleProtocolTcpudpProtocolUDPConst = "udp" +) + +func (*NetworkACLRuleItemNetworkACLRuleProtocolTcpudp) isaNetworkACLRuleItem() bool { + return true +} + +// UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolTcpudp unmarshals an instance of NetworkACLRuleItemNetworkACLRuleProtocolTcpudp from the specified map of raw messages. +func UnmarshalNetworkACLRuleItemNetworkACLRuleProtocolTcpudp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleItemNetworkACLRuleProtocolTcpudp) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleReference) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_max", &obj.DestinationPortMax) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_min", &obj.DestinationPortMin) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_max", &obj.SourcePortMax) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_min", &obj.SourcePortMin) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_min-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype : A rule for ICMP, TCP and UDP traffic. +// This model "extends" NetworkACLRulePrototypeNetworkACLContext +type NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototypeActionAllowConst = "allow" + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototypeActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototypeDirectionInboundConst = "inbound" + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototypeDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototypeIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype.Protocol property. +// The network protocol. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototypeProtocolAllConst = "all" +) + +// NewNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype : Instantiate NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype(action string, destination string, direction string, source string, protocol string) (_model *NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype, err error) { + _model = &NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype{ + Action: core.StringPtr(action), + Destination: core.StringPtr(destination), + Direction: core.StringPtr(direction), + Source: core.StringPtr(source), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype) isaNetworkACLRulePrototypeNetworkACLContext() bool { + return true +} + +// UnmarshalNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype unmarshals an instance of NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype from the specified map of raw messages. +func UnmarshalNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolAllPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype : A rule for ICMP traffic. +// This model "extends" NetworkACLRulePrototypeNetworkACLContext +type NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The ICMP traffic code to match. + // + // If specified, `type` must also be specified. If unspecified, all codes are matched. + Code *int64 `json:"code,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The ICMP traffic type to match. + // + // If unspecified, all types are matched. + Type *int64 `json:"type,omitempty"` +} + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototypeActionAllowConst = "allow" + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototypeActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototypeDirectionInboundConst = "inbound" + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototypeDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototypeIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype.Protocol property. +// The network protocol. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototypeProtocolIcmpConst = "icmp" +) + +// NewNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype : Instantiate NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype(action string, destination string, direction string, source string, protocol string) (_model *NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype, err error) { + _model = &NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype{ + Action: core.StringPtr(action), + Destination: core.StringPtr(destination), + Direction: core.StringPtr(direction), + Source: core.StringPtr(source), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype) isaNetworkACLRulePrototypeNetworkACLContext() bool { + return true +} + +// UnmarshalNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype unmarshals an instance of NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype from the specified map of raw messages. +func UnmarshalNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolIcmpPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype : A rule for TCP or UDP traffic. +// This model "extends" NetworkACLRulePrototypeNetworkACLContext +type NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The inclusive upper bound of the TCP or UDP destination port range. + // + // If specified, `destination_port_min` must also be specified, and must not be larger. If unspecified, + // `destination_port_min` must also be unspecified, allowing traffic for all destination ports. + DestinationPortMax *int64 `json:"destination_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + // + // If specified, `destination_port_max` must also be specified, and must not be smaller. If unspecified, + // `destination_port_max` must also be unspecified, allowing traffic for all destination ports. + DestinationPortMin *int64 `json:"destination_port_min,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The inclusive upper bound of the TCP or UDP source port range. + // + // If specified, `source_port_min` must also be specified, and must not be larger. If unspecified, `source_port_min` + // must also be unspecified, allowing traffic for all source ports. + SourcePortMax *int64 `json:"source_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP source port range. + // + // If specified, `source_port_max` must also be specified, and must not be smaller. If unspecified, `source_port_max` + // must also be unspecified, allowing traffic for all source ports. + SourcePortMin *int64 `json:"source_port_min,omitempty"` +} + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototypeActionAllowConst = "allow" + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototypeActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototypeDirectionInboundConst = "inbound" + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototypeDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototypeIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype.Protocol property. +// The network protocol. +const ( + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototypeProtocolTCPConst = "tcp" + NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototypeProtocolUDPConst = "udp" +) + +// NewNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype : Instantiate NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype(action string, destination string, direction string, source string, protocol string) (_model *NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype, err error) { + _model = &NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype{ + Action: core.StringPtr(action), + Destination: core.StringPtr(destination), + Direction: core.StringPtr(direction), + Source: core.StringPtr(source), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype) isaNetworkACLRulePrototypeNetworkACLContext() bool { + return true +} + +// UnmarshalNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype unmarshals an instance of NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype from the specified map of raw messages. +func UnmarshalNetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePrototypeNetworkACLContextNetworkACLRuleProtocolTcpudpPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_max", &obj.DestinationPortMax) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_min", &obj.DestinationPortMin) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_max", &obj.SourcePortMax) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_min", &obj.SourcePortMin) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_min-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype : A rule for ICMP, TCP and UDP traffic. +// This model "extends" NetworkACLRulePrototype +type NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + Before NetworkACLRuleBeforePrototypeIntf `json:"before,omitempty"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototypeActionAllowConst = "allow" + NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototypeActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototypeDirectionInboundConst = "inbound" + NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototypeDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototypeIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype.Protocol property. +// The network protocol. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototypeProtocolAllConst = "all" +) + +// NewNetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype : Instantiate NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype(action string, destination string, direction string, source string, protocol string) (_model *NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype, err error) { + _model = &NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype{ + Action: core.StringPtr(action), + Destination: core.StringPtr(destination), + Direction: core.StringPtr(direction), + Source: core.StringPtr(source), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype) isaNetworkACLRulePrototype() bool { + return true +} + +// UnmarshalNetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype unmarshals an instance of NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype from the specified map of raw messages. +func UnmarshalNetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePrototypeNetworkACLRuleProtocolAllPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleBeforePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype : A rule for ICMP traffic. +// This model "extends" NetworkACLRulePrototype +type NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + Before NetworkACLRuleBeforePrototypeIntf `json:"before,omitempty"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The ICMP traffic code to match. + // + // If specified, `type` must also be specified. If unspecified, all codes are matched. + Code *int64 `json:"code,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The ICMP traffic type to match. + // + // If unspecified, all types are matched. + Type *int64 `json:"type,omitempty"` +} + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototypeActionAllowConst = "allow" + NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototypeActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototypeDirectionInboundConst = "inbound" + NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototypeDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototypeIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype.Protocol property. +// The network protocol. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototypeProtocolIcmpConst = "icmp" +) + +// NewNetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype : Instantiate NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype(action string, destination string, direction string, source string, protocol string) (_model *NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype, err error) { + _model = &NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype{ + Action: core.StringPtr(action), + Destination: core.StringPtr(destination), + Direction: core.StringPtr(direction), + Source: core.StringPtr(source), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype) isaNetworkACLRulePrototype() bool { + return true +} + +// UnmarshalNetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype unmarshals an instance of NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype from the specified map of raw messages. +func UnmarshalNetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePrototypeNetworkACLRuleProtocolIcmpPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleBeforePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype : A rule for TCP or UDP traffic. +// This model "extends" NetworkACLRulePrototype +type NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + Before NetworkACLRuleBeforePrototypeIntf `json:"before,omitempty"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this network ACL rule. The name must not be used by another rule for the network ACL. If unspecified, + // the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The inclusive upper bound of the TCP or UDP destination port range. + // + // If specified, `destination_port_min` must also be specified, and must not be larger. If unspecified, + // `destination_port_min` must also be unspecified, allowing traffic for all destination ports. + DestinationPortMax *int64 `json:"destination_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + // + // If specified, `destination_port_max` must also be specified, and must not be smaller. If unspecified, + // `destination_port_max` must also be unspecified, allowing traffic for all destination ports. + DestinationPortMin *int64 `json:"destination_port_min,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The inclusive upper bound of the TCP or UDP source port range. + // + // If specified, `source_port_min` must also be specified, and must not be larger. If unspecified, `source_port_min` + // must also be unspecified, allowing traffic for all source ports. + SourcePortMax *int64 `json:"source_port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP source port range. + // + // If specified, `source_port_max` must also be specified, and must not be smaller. If unspecified, `source_port_max` + // must also be unspecified, allowing traffic for all source ports. + SourcePortMin *int64 `json:"source_port_min,omitempty"` +} + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototypeActionAllowConst = "allow" + NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototypeActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototypeDirectionInboundConst = "inbound" + NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototypeDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototypeIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype.Protocol property. +// The network protocol. +const ( + NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototypeProtocolTCPConst = "tcp" + NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototypeProtocolUDPConst = "udp" +) + +// NewNetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype : Instantiate NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype (Generic Model Constructor) +func (*VpcV1) NewNetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype(action string, destination string, direction string, source string, protocol string) (_model *NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype, err error) { + _model = &NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype{ + Action: core.StringPtr(action), + Destination: core.StringPtr(destination), + Direction: core.StringPtr(direction), + Source: core.StringPtr(source), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype) isaNetworkACLRulePrototype() bool { + return true +} + +// UnmarshalNetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype unmarshals an instance of NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype from the specified map of raw messages. +func UnmarshalNetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRulePrototypeNetworkACLRuleProtocolTcpudpPrototype) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleBeforePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_max", &obj.DestinationPortMax) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_min", &obj.DestinationPortMin) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_max", &obj.SourcePortMax) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_min", &obj.SourcePortMin) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_min-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleNetworkACLRuleProtocolAll : A rule for ICMP, TCP and UDP traffic. +// This model "extends" NetworkACLRule +type NetworkACLRuleNetworkACLRuleProtocolAll struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule that this rule is immediately before. If absent, this is the last rule. + Before *NetworkACLRuleReference `json:"before,omitempty"` + + // The date and time that the rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolAll.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRuleNetworkACLRuleProtocolAllActionAllowConst = "allow" + NetworkACLRuleNetworkACLRuleProtocolAllActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolAll.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRuleNetworkACLRuleProtocolAllDirectionInboundConst = "inbound" + NetworkACLRuleNetworkACLRuleProtocolAllDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolAll.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRuleNetworkACLRuleProtocolAllIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolAll.Protocol property. +// The network protocol. +const ( + NetworkACLRuleNetworkACLRuleProtocolAllProtocolAllConst = "all" +) + +func (*NetworkACLRuleNetworkACLRuleProtocolAll) isaNetworkACLRule() bool { + return true +} + +// UnmarshalNetworkACLRuleNetworkACLRuleProtocolAll unmarshals an instance of NetworkACLRuleNetworkACLRuleProtocolAll from the specified map of raw messages. +func UnmarshalNetworkACLRuleNetworkACLRuleProtocolAll(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleNetworkACLRuleProtocolAll) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleReference) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleNetworkACLRuleProtocolIcmp : A rule for ICMP traffic. +// This model "extends" NetworkACLRule +type NetworkACLRuleNetworkACLRuleProtocolIcmp struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule that this rule is immediately before. If absent, this is the last rule. + Before *NetworkACLRuleReference `json:"before,omitempty"` + + // The date and time that the rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The ICMP traffic code to match. + // + // If absent, all codes are matched. + Code *int64 `json:"code,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The ICMP traffic type to match. + // + // If absent, all types are matched. + Type *int64 `json:"type,omitempty"` +} + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolIcmp.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRuleNetworkACLRuleProtocolIcmpActionAllowConst = "allow" + NetworkACLRuleNetworkACLRuleProtocolIcmpActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolIcmp.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRuleNetworkACLRuleProtocolIcmpDirectionInboundConst = "inbound" + NetworkACLRuleNetworkACLRuleProtocolIcmpDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolIcmp.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRuleNetworkACLRuleProtocolIcmpIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolIcmp.Protocol property. +// The network protocol. +const ( + NetworkACLRuleNetworkACLRuleProtocolIcmpProtocolIcmpConst = "icmp" +) + +func (*NetworkACLRuleNetworkACLRuleProtocolIcmp) isaNetworkACLRule() bool { + return true +} + +// UnmarshalNetworkACLRuleNetworkACLRuleProtocolIcmp unmarshals an instance of NetworkACLRuleNetworkACLRuleProtocolIcmp from the specified map of raw messages. +func UnmarshalNetworkACLRuleNetworkACLRuleProtocolIcmp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleNetworkACLRuleProtocolIcmp) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleReference) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkACLRuleNetworkACLRuleProtocolTcpudp : A rule for TCP or UDP traffic. +// This model "extends" NetworkACLRule +type NetworkACLRuleNetworkACLRuleProtocolTcpudp struct { + // The action to perform for a packet matching the rule. + Action *string `json:"action" validate:"required"` + + // The rule that this rule is immediately before. If absent, this is the last rule. + Before *NetworkACLRuleReference `json:"before,omitempty"` + + // The date and time that the rule was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The destination IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all destination addresses. + Destination *string `json:"destination" validate:"required"` + + // The direction of traffic to match. + Direction *string `json:"direction" validate:"required"` + + // The URL for this network ACL rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this network ACL rule. + ID *string `json:"id" validate:"required"` + + // The IP version for this rule. + IPVersion *string `json:"ip_version" validate:"required"` + + // The name for this network ACL rule. The name is unique across all rules for the network ACL. + Name *string `json:"name" validate:"required"` + + // The source IP address or CIDR block to match. The CIDR block `0.0.0.0/0` matches all source addresses. + Source *string `json:"source" validate:"required"` + + // The inclusive upper bound of the TCP or UDP destination port range. + DestinationPortMax *int64 `json:"destination_port_max" validate:"required"` + + // The inclusive lower bound of the TCP or UDP destination port range. + DestinationPortMin *int64 `json:"destination_port_min" validate:"required"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The inclusive upper bound of the TCP or UDP source port range. + SourcePortMax *int64 `json:"source_port_max" validate:"required"` + + // The inclusive lower bound of the TCP or UDP source port range. + SourcePortMin *int64 `json:"source_port_min" validate:"required"` +} + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolTcpudp.Action property. +// The action to perform for a packet matching the rule. +const ( + NetworkACLRuleNetworkACLRuleProtocolTcpudpActionAllowConst = "allow" + NetworkACLRuleNetworkACLRuleProtocolTcpudpActionDenyConst = "deny" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolTcpudp.Direction property. +// The direction of traffic to match. +const ( + NetworkACLRuleNetworkACLRuleProtocolTcpudpDirectionInboundConst = "inbound" + NetworkACLRuleNetworkACLRuleProtocolTcpudpDirectionOutboundConst = "outbound" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolTcpudp.IPVersion property. +// The IP version for this rule. +const ( + NetworkACLRuleNetworkACLRuleProtocolTcpudpIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the NetworkACLRuleNetworkACLRuleProtocolTcpudp.Protocol property. +// The network protocol. +const ( + NetworkACLRuleNetworkACLRuleProtocolTcpudpProtocolTCPConst = "tcp" + NetworkACLRuleNetworkACLRuleProtocolTcpudpProtocolUDPConst = "udp" +) + +func (*NetworkACLRuleNetworkACLRuleProtocolTcpudp) isaNetworkACLRule() bool { + return true +} + +// UnmarshalNetworkACLRuleNetworkACLRuleProtocolTcpudp unmarshals an instance of NetworkACLRuleNetworkACLRuleProtocolTcpudp from the specified map of raw messages. +func UnmarshalNetworkACLRuleNetworkACLRuleProtocolTcpudp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkACLRuleNetworkACLRuleProtocolTcpudp) + err = core.UnmarshalPrimitive(m, "action", &obj.Action) + if err != nil { + err = core.SDKErrorf(err, "", "action-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "before", &obj.Before, UnmarshalNetworkACLRuleReference) + if err != nil { + err = core.SDKErrorf(err, "", "before-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination", &obj.Destination) + if err != nil { + err = core.SDKErrorf(err, "", "destination-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source", &obj.Source) + if err != nil { + err = core.SDKErrorf(err, "", "source-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_max", &obj.DestinationPortMax) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "destination_port_min", &obj.DestinationPortMin) + if err != nil { + err = core.SDKErrorf(err, "", "destination_port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_max", &obj.SourcePortMax) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "source_port_min", &obj.SourcePortMin) + if err != nil { + err = core.SDKErrorf(err, "", "source_port_min-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterfaceIPPrototypeReservedIPIdentity : Identifies a reserved IP by a unique property. +// Models which "extend" this model: +// - NetworkInterfaceIPPrototypeReservedIPIdentityByID +// - NetworkInterfaceIPPrototypeReservedIPIdentityByHref +// This model "extends" NetworkInterfaceIPPrototype +type NetworkInterfaceIPPrototypeReservedIPIdentity struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` +} + +func (*NetworkInterfaceIPPrototypeReservedIPIdentity) isaNetworkInterfaceIPPrototypeReservedIPIdentity() bool { + return true +} + +type NetworkInterfaceIPPrototypeReservedIPIdentityIntf interface { + NetworkInterfaceIPPrototypeIntf + isaNetworkInterfaceIPPrototypeReservedIPIdentity() bool +} + +func (*NetworkInterfaceIPPrototypeReservedIPIdentity) isaNetworkInterfaceIPPrototype() bool { + return true +} + +// UnmarshalNetworkInterfaceIPPrototypeReservedIPIdentity unmarshals an instance of NetworkInterfaceIPPrototypeReservedIPIdentity from the specified map of raw messages. +func UnmarshalNetworkInterfaceIPPrototypeReservedIPIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfaceIPPrototypeReservedIPIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext : NetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext struct +// This model "extends" NetworkInterfaceIPPrototype +type NetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext struct { + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` +} + +func (*NetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext) isaNetworkInterfaceIPPrototype() bool { + return true +} + +// UnmarshalNetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext unmarshals an instance of NetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext from the specified map of raw messages. +func UnmarshalNetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfaceIPPrototypeReservedIPPrototypeNetworkInterfaceContext) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// OperatingSystemIdentityByHref : OperatingSystemIdentityByHref struct +// This model "extends" OperatingSystemIdentity +type OperatingSystemIdentityByHref struct { + // The URL for this operating system. + Href *string `json:"href" validate:"required"` +} + +// NewOperatingSystemIdentityByHref : Instantiate OperatingSystemIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewOperatingSystemIdentityByHref(href string) (_model *OperatingSystemIdentityByHref, err error) { + _model = &OperatingSystemIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*OperatingSystemIdentityByHref) isaOperatingSystemIdentity() bool { + return true +} + +// UnmarshalOperatingSystemIdentityByHref unmarshals an instance of OperatingSystemIdentityByHref from the specified map of raw messages. +func UnmarshalOperatingSystemIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OperatingSystemIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// OperatingSystemIdentityByName : OperatingSystemIdentityByName struct +// This model "extends" OperatingSystemIdentity +type OperatingSystemIdentityByName struct { + // The globally unique name for this operating system. + Name *string `json:"name" validate:"required"` +} + +// NewOperatingSystemIdentityByName : Instantiate OperatingSystemIdentityByName (Generic Model Constructor) +func (*VpcV1) NewOperatingSystemIdentityByName(name string) (_model *OperatingSystemIdentityByName, err error) { + _model = &OperatingSystemIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*OperatingSystemIdentityByName) isaOperatingSystemIdentity() bool { + return true +} + +// UnmarshalOperatingSystemIdentityByName unmarshals an instance of OperatingSystemIdentityByName from the specified map of raw messages. +func UnmarshalOperatingSystemIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OperatingSystemIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayFloatingIPPrototypeFloatingIPIdentity : Identifies a floating IP by a unique property. +// Models which "extend" this model: +// - PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID +// - PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN +// - PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref +// - PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress +// This model "extends" PublicGatewayFloatingIPPrototype +type PublicGatewayFloatingIPPrototypeFloatingIPIdentity struct { + // The unique identifier for this floating IP. + ID *string `json:"id,omitempty"` + + // The CRN for this floating IP. + CRN *string `json:"crn,omitempty"` + + // The URL for this floating IP. + Href *string `json:"href,omitempty"` + + // The globally unique IP address. + Address *string `json:"address,omitempty"` +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentity) isaPublicGatewayFloatingIPPrototypeFloatingIPIdentity() bool { + return true +} + +type PublicGatewayFloatingIPPrototypeFloatingIPIdentityIntf interface { + PublicGatewayFloatingIPPrototypeIntf + isaPublicGatewayFloatingIPPrototypeFloatingIPIdentity() bool +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentity) isaPublicGatewayFloatingIPPrototype() bool { + return true +} + +// UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentity unmarshals an instance of PublicGatewayFloatingIPPrototypeFloatingIPIdentity from the specified map of raw messages. +func UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayFloatingIPPrototypeFloatingIPIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext : PublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext struct +// This model "extends" PublicGatewayFloatingIPPrototype +type PublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext struct { + // The name for this floating IP. The name must not be used by another floating IP in the region. If unspecified, the + // name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext) isaPublicGatewayFloatingIPPrototype() bool { + return true +} + +// UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext unmarshals an instance of PublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext from the specified map of raw messages. +func UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayFloatingIPPrototypeFloatingIPPrototypeTargetContext) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayIdentityPublicGatewayIdentityByCRN : PublicGatewayIdentityPublicGatewayIdentityByCRN struct +// This model "extends" PublicGatewayIdentity +type PublicGatewayIdentityPublicGatewayIdentityByCRN struct { + // The CRN for this public gateway. + CRN *string `json:"crn" validate:"required"` +} + +// NewPublicGatewayIdentityPublicGatewayIdentityByCRN : Instantiate PublicGatewayIdentityPublicGatewayIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewPublicGatewayIdentityPublicGatewayIdentityByCRN(crn string) (_model *PublicGatewayIdentityPublicGatewayIdentityByCRN, err error) { + _model = &PublicGatewayIdentityPublicGatewayIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*PublicGatewayIdentityPublicGatewayIdentityByCRN) isaPublicGatewayIdentity() bool { + return true +} + +// UnmarshalPublicGatewayIdentityPublicGatewayIdentityByCRN unmarshals an instance of PublicGatewayIdentityPublicGatewayIdentityByCRN from the specified map of raw messages. +func UnmarshalPublicGatewayIdentityPublicGatewayIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayIdentityPublicGatewayIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayIdentityPublicGatewayIdentityByHref : PublicGatewayIdentityPublicGatewayIdentityByHref struct +// This model "extends" PublicGatewayIdentity +type PublicGatewayIdentityPublicGatewayIdentityByHref struct { + // The URL for this public gateway. + Href *string `json:"href" validate:"required"` +} + +// NewPublicGatewayIdentityPublicGatewayIdentityByHref : Instantiate PublicGatewayIdentityPublicGatewayIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewPublicGatewayIdentityPublicGatewayIdentityByHref(href string) (_model *PublicGatewayIdentityPublicGatewayIdentityByHref, err error) { + _model = &PublicGatewayIdentityPublicGatewayIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*PublicGatewayIdentityPublicGatewayIdentityByHref) isaPublicGatewayIdentity() bool { + return true +} + +// UnmarshalPublicGatewayIdentityPublicGatewayIdentityByHref unmarshals an instance of PublicGatewayIdentityPublicGatewayIdentityByHref from the specified map of raw messages. +func UnmarshalPublicGatewayIdentityPublicGatewayIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayIdentityPublicGatewayIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayIdentityPublicGatewayIdentityByID : PublicGatewayIdentityPublicGatewayIdentityByID struct +// This model "extends" PublicGatewayIdentity +type PublicGatewayIdentityPublicGatewayIdentityByID struct { + // The unique identifier for this public gateway. + ID *string `json:"id" validate:"required"` +} + +// NewPublicGatewayIdentityPublicGatewayIdentityByID : Instantiate PublicGatewayIdentityPublicGatewayIdentityByID (Generic Model Constructor) +func (*VpcV1) NewPublicGatewayIdentityPublicGatewayIdentityByID(id string) (_model *PublicGatewayIdentityPublicGatewayIdentityByID, err error) { + _model = &PublicGatewayIdentityPublicGatewayIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*PublicGatewayIdentityPublicGatewayIdentityByID) isaPublicGatewayIdentity() bool { + return true +} + +// UnmarshalPublicGatewayIdentityPublicGatewayIdentityByID unmarshals an instance of PublicGatewayIdentityPublicGatewayIdentityByID from the specified map of raw messages. +func UnmarshalPublicGatewayIdentityPublicGatewayIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayIdentityPublicGatewayIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RegionIdentityByHref : RegionIdentityByHref struct +// This model "extends" RegionIdentity +type RegionIdentityByHref struct { + // The URL for this region. + Href *string `json:"href" validate:"required"` +} + +// NewRegionIdentityByHref : Instantiate RegionIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewRegionIdentityByHref(href string) (_model *RegionIdentityByHref, err error) { + _model = &RegionIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RegionIdentityByHref) isaRegionIdentity() bool { + return true +} + +// UnmarshalRegionIdentityByHref unmarshals an instance of RegionIdentityByHref from the specified map of raw messages. +func UnmarshalRegionIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RegionIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RegionIdentityByHref +func (regionIdentityByHref *RegionIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(regionIdentityByHref.Href) { + _patch["href"] = regionIdentityByHref.Href + } + + return +} + +// RegionIdentityByName : RegionIdentityByName struct +// This model "extends" RegionIdentity +type RegionIdentityByName struct { + // The globally unique name for this region. + Name *string `json:"name" validate:"required"` +} + +// NewRegionIdentityByName : Instantiate RegionIdentityByName (Generic Model Constructor) +func (*VpcV1) NewRegionIdentityByName(name string) (_model *RegionIdentityByName, err error) { + _model = &RegionIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RegionIdentityByName) isaRegionIdentity() bool { + return true +} + +// UnmarshalRegionIdentityByName unmarshals an instance of RegionIdentityByName from the specified map of raw messages. +func UnmarshalRegionIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RegionIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RegionIdentityByName +func (regionIdentityByName *RegionIdentityByName) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(regionIdentityByName.Name) { + _patch["name"] = regionIdentityByName.Name + } + + return +} + +// ReservationIdentityByCRN : ReservationIdentityByCRN struct +// This model "extends" ReservationIdentity +type ReservationIdentityByCRN struct { + // The CRN for this reservation. + CRN *string `json:"crn" validate:"required"` +} + +// NewReservationIdentityByCRN : Instantiate ReservationIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewReservationIdentityByCRN(crn string) (_model *ReservationIdentityByCRN, err error) { + _model = &ReservationIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservationIdentityByCRN) isaReservationIdentity() bool { + return true +} + +// UnmarshalReservationIdentityByCRN unmarshals an instance of ReservationIdentityByCRN from the specified map of raw messages. +func UnmarshalReservationIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ReservationIdentityByCRN +func (reservationIdentityByCRN *ReservationIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(reservationIdentityByCRN.CRN) { + _patch["crn"] = reservationIdentityByCRN.CRN + } + + return +} + +// ReservationIdentityByHref : ReservationIdentityByHref struct +// This model "extends" ReservationIdentity +type ReservationIdentityByHref struct { + // The URL for this reservation. + Href *string `json:"href" validate:"required"` +} + +// NewReservationIdentityByHref : Instantiate ReservationIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewReservationIdentityByHref(href string) (_model *ReservationIdentityByHref, err error) { + _model = &ReservationIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservationIdentityByHref) isaReservationIdentity() bool { + return true +} + +// UnmarshalReservationIdentityByHref unmarshals an instance of ReservationIdentityByHref from the specified map of raw messages. +func UnmarshalReservationIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ReservationIdentityByHref +func (reservationIdentityByHref *ReservationIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(reservationIdentityByHref.Href) { + _patch["href"] = reservationIdentityByHref.Href + } + + return +} + +// ReservationIdentityByID : ReservationIdentityByID struct +// This model "extends" ReservationIdentity +type ReservationIdentityByID struct { + // The unique identifier for this reservation. + ID *string `json:"id" validate:"required"` +} + +// NewReservationIdentityByID : Instantiate ReservationIdentityByID (Generic Model Constructor) +func (*VpcV1) NewReservationIdentityByID(id string) (_model *ReservationIdentityByID, err error) { + _model = &ReservationIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservationIdentityByID) isaReservationIdentity() bool { + return true +} + +// UnmarshalReservationIdentityByID unmarshals an instance of ReservationIdentityByID from the specified map of raw messages. +func UnmarshalReservationIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ReservationIdentityByID +func (reservationIdentityByID *ReservationIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(reservationIdentityByID.ID) { + _patch["id"] = reservationIdentityByID.ID + } + + return +} + +// ReservationProfileBareMetalServerProfileReference : ReservationProfileBareMetalServerProfileReference struct +// This model "extends" ReservationProfile +type ReservationProfileBareMetalServerProfileReference struct { + // The URL for this bare metal server profile. + Href *string `json:"href" validate:"required"` + + // The name for this bare metal server profile. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservationProfileBareMetalServerProfileReference.ResourceType property. +// The resource type. +const ( + ReservationProfileBareMetalServerProfileReferenceResourceTypeBareMetalServerProfileConst = "bare_metal_server_profile" +) + +func (*ReservationProfileBareMetalServerProfileReference) isaReservationProfile() bool { + return true +} + +// UnmarshalReservationProfileBareMetalServerProfileReference unmarshals an instance of ReservationProfileBareMetalServerProfileReference from the specified map of raw messages. +func UnmarshalReservationProfileBareMetalServerProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationProfileBareMetalServerProfileReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservationProfileInstanceProfileReference : ReservationProfileInstanceProfileReference struct +// This model "extends" ReservationProfile +type ReservationProfileInstanceProfileReference struct { + // The URL for this virtual server instance profile. + Href *string `json:"href" validate:"required"` + + // The globally unique name for this virtual server instance profile. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservationProfileInstanceProfileReference.ResourceType property. +// The resource type. +const ( + ReservationProfileInstanceProfileReferenceResourceTypeInstanceProfileConst = "instance_profile" +) + +func (*ReservationProfileInstanceProfileReference) isaReservationProfile() bool { + return true +} + +// UnmarshalReservationProfileInstanceProfileReference unmarshals an instance of ReservationProfileInstanceProfileReference from the specified map of raw messages. +func UnmarshalReservationProfileInstanceProfileReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservationProfileInstanceProfileReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototypeEndpointGatewayIdentity : ReservedIPTargetPrototypeEndpointGatewayIdentity struct +// Models which "extend" this model: +// - ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID +// - ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN +// - ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref +// This model "extends" ReservedIPTargetPrototype +type ReservedIPTargetPrototypeEndpointGatewayIdentity struct { + // The unique identifier for this endpoint gateway. + ID *string `json:"id,omitempty"` + + // The CRN for this endpoint gateway. + CRN *string `json:"crn,omitempty"` + + // The URL for this endpoint gateway. + Href *string `json:"href,omitempty"` +} + +func (*ReservedIPTargetPrototypeEndpointGatewayIdentity) isaReservedIPTargetPrototypeEndpointGatewayIdentity() bool { + return true +} + +type ReservedIPTargetPrototypeEndpointGatewayIdentityIntf interface { + ReservedIPTargetPrototypeIntf + isaReservedIPTargetPrototypeEndpointGatewayIdentity() bool +} + +func (*ReservedIPTargetPrototypeEndpointGatewayIdentity) isaReservedIPTargetPrototype() bool { + return true +} + +// UnmarshalReservedIPTargetPrototypeEndpointGatewayIdentity unmarshals an instance of ReservedIPTargetPrototypeEndpointGatewayIdentity from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototypeEndpointGatewayIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototypeEndpointGatewayIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity : Identifies a virtual network interface by a unique property. +// Models which "extend" this model: +// - ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID +// - ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref +// - ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN +// This model "extends" ReservedIPTargetPrototype +type ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity) isaReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +type ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityIntf interface { + ReservedIPTargetPrototypeIntf + isaReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool +} + +func (*ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity) isaReservedIPTargetPrototype() bool { + return true +} + +// UnmarshalReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity unmarshals an instance of ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext : ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext struct +// This model "extends" ReservedIPTarget +type ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this bare metal server network interface. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext.ResourceType property. +// The resource type. +const ( + ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContextResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext) isaReservedIPTarget() bool { + return true +} + +// UnmarshalReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext unmarshals an instance of ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext from the specified map of raw messages. +func UnmarshalReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetBareMetalServerNetworkInterfaceReferenceTargetContext) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetEndpointGatewayReference : ReservedIPTargetEndpointGatewayReference struct +// This model "extends" ReservedIPTarget +type ReservedIPTargetEndpointGatewayReference struct { + // The CRN for this endpoint gateway. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this endpoint gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this endpoint gateway. + ID *string `json:"id" validate:"required"` + + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPTargetEndpointGatewayReference.ResourceType property. +// The resource type. +const ( + ReservedIPTargetEndpointGatewayReferenceResourceTypeEndpointGatewayConst = "endpoint_gateway" +) + +func (*ReservedIPTargetEndpointGatewayReference) isaReservedIPTarget() bool { + return true +} + +// UnmarshalReservedIPTargetEndpointGatewayReference unmarshals an instance of ReservedIPTargetEndpointGatewayReference from the specified map of raw messages. +func UnmarshalReservedIPTargetEndpointGatewayReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetEndpointGatewayReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetGenericResourceReference : Identifying information for a resource that is not native to the VPC API. +// This model "extends" ReservedIPTarget +type ReservedIPTargetGenericResourceReference struct { + // The CRN for the resource. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPTargetGenericResourceReference.ResourceType property. +// The resource type. +const ( + ReservedIPTargetGenericResourceReferenceResourceTypeCloudResourceConst = "cloud_resource" +) + +func (*ReservedIPTargetGenericResourceReference) isaReservedIPTarget() bool { + return true +} + +// UnmarshalReservedIPTargetGenericResourceReference unmarshals an instance of ReservedIPTargetGenericResourceReference from the specified map of raw messages. +func UnmarshalReservedIPTargetGenericResourceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetGenericResourceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetLoadBalancerReference : ReservedIPTargetLoadBalancerReference struct +// This model "extends" ReservedIPTarget +type ReservedIPTargetLoadBalancerReference struct { + // The CRN for this load balancer. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer. + ID *string `json:"id" validate:"required"` + + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPTargetLoadBalancerReference.ResourceType property. +// The resource type. +const ( + ReservedIPTargetLoadBalancerReferenceResourceTypeLoadBalancerConst = "load_balancer" +) + +func (*ReservedIPTargetLoadBalancerReference) isaReservedIPTarget() bool { + return true +} + +// UnmarshalReservedIPTargetLoadBalancerReference unmarshals an instance of ReservedIPTargetLoadBalancerReference from the specified map of raw messages. +func UnmarshalReservedIPTargetLoadBalancerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetLoadBalancerReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetNetworkInterfaceReferenceTargetContext : ReservedIPTargetNetworkInterfaceReferenceTargetContext struct +// This model "extends" ReservedIPTarget +type ReservedIPTargetNetworkInterfaceReferenceTargetContext struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network interface. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPTargetNetworkInterfaceReferenceTargetContext.ResourceType property. +// The resource type. +const ( + ReservedIPTargetNetworkInterfaceReferenceTargetContextResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*ReservedIPTargetNetworkInterfaceReferenceTargetContext) isaReservedIPTarget() bool { + return true +} + +// UnmarshalReservedIPTargetNetworkInterfaceReferenceTargetContext unmarshals an instance of ReservedIPTargetNetworkInterfaceReferenceTargetContext from the specified map of raw messages. +func UnmarshalReservedIPTargetNetworkInterfaceReferenceTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetNetworkInterfaceReferenceTargetContext) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetVPNGatewayReference : ReservedIPTargetVPNGatewayReference struct +// This model "extends" ReservedIPTarget +type ReservedIPTargetVPNGatewayReference struct { + // The CRN for this VPN gateway. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway. + ID *string `json:"id" validate:"required"` + + // The name for this VPN gateway. The name is unique across all VPN gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPTargetVPNGatewayReference.ResourceType property. +// The resource type. +const ( + ReservedIPTargetVPNGatewayReferenceResourceTypeVPNGatewayConst = "vpn_gateway" +) + +func (*ReservedIPTargetVPNGatewayReference) isaReservedIPTarget() bool { + return true +} + +// UnmarshalReservedIPTargetVPNGatewayReference unmarshals an instance of ReservedIPTargetVPNGatewayReference from the specified map of raw messages. +func UnmarshalReservedIPTargetVPNGatewayReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetVPNGatewayReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetVPNServerReference : ReservedIPTargetVPNServerReference struct +// This model "extends" ReservedIPTarget +type ReservedIPTargetVPNServerReference struct { + // The CRN for this VPN server. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN server. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN server. + ID *string `json:"id" validate:"required"` + + // The name for this VPN server. The name is unique across all VPN servers in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPTargetVPNServerReference.ResourceType property. +// The resource type. +const ( + ReservedIPTargetVPNServerReferenceResourceTypeVPNServerConst = "vpn_server" +) + +func (*ReservedIPTargetVPNServerReference) isaReservedIPTarget() bool { + return true +} + +// UnmarshalReservedIPTargetVPNServerReference unmarshals an instance of ReservedIPTargetVPNServerReference from the specified map of raw messages. +func UnmarshalReservedIPTargetVPNServerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetVPNServerReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext : ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext struct +// This model "extends" ReservedIPTarget +type ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` + + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` + + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext.ResourceType property. +// The resource type. +const ( + ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContextResourceTypeVirtualNetworkInterfaceConst = "virtual_network_interface" +) + +func (*ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext) isaReservedIPTarget() bool { + return true +} + +// UnmarshalReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext unmarshals an instance of ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext from the specified map of raw messages. +func UnmarshalReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetVirtualNetworkInterfaceReferenceReservedIPTargetContext) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResourceGroupIdentityByID : ResourceGroupIdentityByID struct +// This model "extends" ResourceGroupIdentity +type ResourceGroupIdentityByID struct { + // The unique identifier for this resource group. + ID *string `json:"id" validate:"required"` +} + +// NewResourceGroupIdentityByID : Instantiate ResourceGroupIdentityByID (Generic Model Constructor) +func (*VpcV1) NewResourceGroupIdentityByID(id string) (_model *ResourceGroupIdentityByID, err error) { + _model = &ResourceGroupIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ResourceGroupIdentityByID) isaResourceGroupIdentity() bool { + return true +} + +// UnmarshalResourceGroupIdentityByID unmarshals an instance of ResourceGroupIdentityByID from the specified map of raw messages. +func UnmarshalResourceGroupIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResourceGroupIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteCreatorVPNGatewayReference : RouteCreatorVPNGatewayReference struct +// This model "extends" RouteCreator +type RouteCreatorVPNGatewayReference struct { + // The CRN for this VPN gateway. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway. + ID *string `json:"id" validate:"required"` + + // The name for this VPN gateway. The name is unique across all VPN gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the RouteCreatorVPNGatewayReference.ResourceType property. +// The resource type. +const ( + RouteCreatorVPNGatewayReferenceResourceTypeVPNGatewayConst = "vpn_gateway" +) + +func (*RouteCreatorVPNGatewayReference) isaRouteCreator() bool { + return true +} + +// UnmarshalRouteCreatorVPNGatewayReference unmarshals an instance of RouteCreatorVPNGatewayReference from the specified map of raw messages. +func UnmarshalRouteCreatorVPNGatewayReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteCreatorVPNGatewayReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteCreatorVPNServerReference : RouteCreatorVPNServerReference struct +// This model "extends" RouteCreator +type RouteCreatorVPNServerReference struct { + // The CRN for this VPN server. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN server. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN server. + ID *string `json:"id" validate:"required"` + + // The name for this VPN server. The name is unique across all VPN servers in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the RouteCreatorVPNServerReference.ResourceType property. +// The resource type. +const ( + RouteCreatorVPNServerReferenceResourceTypeVPNServerConst = "vpn_server" +) + +func (*RouteCreatorVPNServerReference) isaRouteCreator() bool { + return true +} + +// UnmarshalRouteCreatorVPNServerReference unmarshals an instance of RouteCreatorVPNServerReference from the specified map of raw messages. +func UnmarshalRouteCreatorVPNServerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteCreatorVPNServerReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopIP : RouteNextHopIP struct +// This model "extends" RouteNextHop +type RouteNextHopIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +func (*RouteNextHopIP) isaRouteNextHop() bool { + return true +} + +// UnmarshalRouteNextHopIP unmarshals an instance of RouteNextHopIP from the specified map of raw messages. +func UnmarshalRouteNextHopIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopPatchRouteNextHopIP : RouteNextHopPatchRouteNextHopIP struct +// Models which "extend" this model: +// - RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP +// - RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP +// This model "extends" RouteNextHopPatch +type RouteNextHopPatchRouteNextHopIP struct { + // The sentinel IP address (`0.0.0.0`). + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` +} + +func (*RouteNextHopPatchRouteNextHopIP) isaRouteNextHopPatchRouteNextHopIP() bool { + return true +} + +type RouteNextHopPatchRouteNextHopIPIntf interface { + RouteNextHopPatchIntf + isaRouteNextHopPatchRouteNextHopIP() bool +} + +func (*RouteNextHopPatchRouteNextHopIP) isaRouteNextHopPatch() bool { + return true +} + +// UnmarshalRouteNextHopPatchRouteNextHopIP unmarshals an instance of RouteNextHopPatchRouteNextHopIP from the specified map of raw messages. +func UnmarshalRouteNextHopPatchRouteNextHopIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPatchRouteNextHopIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RouteNextHopPatchRouteNextHopIP +func (routeNextHopPatchRouteNextHopIP *RouteNextHopPatchRouteNextHopIP) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routeNextHopPatchRouteNextHopIP.Address) { + _patch["address"] = routeNextHopPatchRouteNextHopIP.Address + } + + return +} + +// RouteNextHopPatchVPNGatewayConnectionIdentity : Identifies a VPN gateway connection by a unique property. +// Models which "extend" this model: +// - RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID +// - RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref +// This model "extends" RouteNextHopPatch +type RouteNextHopPatchVPNGatewayConnectionIdentity struct { + // The unique identifier for this VPN gateway connection. + ID *string `json:"id,omitempty"` + + // The URL for this VPN gateway connection. + Href *string `json:"href,omitempty"` +} + +func (*RouteNextHopPatchVPNGatewayConnectionIdentity) isaRouteNextHopPatchVPNGatewayConnectionIdentity() bool { + return true +} + +type RouteNextHopPatchVPNGatewayConnectionIdentityIntf interface { + RouteNextHopPatchIntf + isaRouteNextHopPatchVPNGatewayConnectionIdentity() bool +} + +func (*RouteNextHopPatchVPNGatewayConnectionIdentity) isaRouteNextHopPatch() bool { + return true +} + +// UnmarshalRouteNextHopPatchVPNGatewayConnectionIdentity unmarshals an instance of RouteNextHopPatchVPNGatewayConnectionIdentity from the specified map of raw messages. +func UnmarshalRouteNextHopPatchVPNGatewayConnectionIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPatchVPNGatewayConnectionIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RouteNextHopPatchVPNGatewayConnectionIdentity +func (routeNextHopPatchVPNGatewayConnectionIdentity *RouteNextHopPatchVPNGatewayConnectionIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routeNextHopPatchVPNGatewayConnectionIdentity.ID) { + _patch["id"] = routeNextHopPatchVPNGatewayConnectionIdentity.ID + } + if !core.IsNil(routeNextHopPatchVPNGatewayConnectionIdentity.Href) { + _patch["href"] = routeNextHopPatchVPNGatewayConnectionIdentity.Href + } + + return +} + +// RouteNextHopPrototypeRouteNextHopIP : RouteNextHopPrototypeRouteNextHopIP struct +// Models which "extend" this model: +// - RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP +// - RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP +// This model "extends" RouteNextHopPrototype +type RouteNextHopPrototypeRouteNextHopIP struct { + // The sentinel IP address (`0.0.0.0`). + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address,omitempty"` +} + +func (*RouteNextHopPrototypeRouteNextHopIP) isaRouteNextHopPrototypeRouteNextHopIP() bool { + return true +} + +type RouteNextHopPrototypeRouteNextHopIPIntf interface { + RouteNextHopPrototypeIntf + isaRouteNextHopPrototypeRouteNextHopIP() bool +} + +func (*RouteNextHopPrototypeRouteNextHopIP) isaRouteNextHopPrototype() bool { + return true +} + +// UnmarshalRouteNextHopPrototypeRouteNextHopIP unmarshals an instance of RouteNextHopPrototypeRouteNextHopIP from the specified map of raw messages. +func UnmarshalRouteNextHopPrototypeRouteNextHopIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPrototypeRouteNextHopIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopPrototypeVPNGatewayConnectionIdentity : Identifies a VPN gateway connection by a unique property. +// Models which "extend" this model: +// - RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID +// - RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref +// This model "extends" RouteNextHopPrototype +type RouteNextHopPrototypeVPNGatewayConnectionIdentity struct { + // The unique identifier for this VPN gateway connection. + ID *string `json:"id,omitempty"` + + // The URL for this VPN gateway connection. + Href *string `json:"href,omitempty"` +} + +func (*RouteNextHopPrototypeVPNGatewayConnectionIdentity) isaRouteNextHopPrototypeVPNGatewayConnectionIdentity() bool { + return true +} + +type RouteNextHopPrototypeVPNGatewayConnectionIdentityIntf interface { + RouteNextHopPrototypeIntf + isaRouteNextHopPrototypeVPNGatewayConnectionIdentity() bool +} + +func (*RouteNextHopPrototypeVPNGatewayConnectionIdentity) isaRouteNextHopPrototype() bool { + return true +} + +// UnmarshalRouteNextHopPrototypeVPNGatewayConnectionIdentity unmarshals an instance of RouteNextHopPrototypeVPNGatewayConnectionIdentity from the specified map of raw messages. +func UnmarshalRouteNextHopPrototypeVPNGatewayConnectionIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPrototypeVPNGatewayConnectionIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopVPNGatewayConnectionReference : RouteNextHopVPNGatewayConnectionReference struct +// This model "extends" RouteNextHop +type RouteNextHopVPNGatewayConnectionReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` + + // The name for this VPN gateway connection. The name is unique across all connections for the VPN gateway. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the RouteNextHopVPNGatewayConnectionReference.ResourceType property. +// The resource type. +const ( + RouteNextHopVPNGatewayConnectionReferenceResourceTypeVPNGatewayConnectionConst = "vpn_gateway_connection" +) + +func (*RouteNextHopVPNGatewayConnectionReference) isaRouteNextHop() bool { + return true +} + +// UnmarshalRouteNextHopVPNGatewayConnectionReference unmarshals an instance of RouteNextHopVPNGatewayConnectionReference from the specified map of raw messages. +func UnmarshalRouteNextHopVPNGatewayConnectionReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopVPNGatewayConnectionReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RoutingTableIdentityByCRN : RoutingTableIdentityByCRN struct +// This model "extends" RoutingTableIdentity +type RoutingTableIdentityByCRN struct { + // The CRN for this VPC routing table. + CRN *string `json:"crn" validate:"required"` +} + +// NewRoutingTableIdentityByCRN : Instantiate RoutingTableIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewRoutingTableIdentityByCRN(crn string) (_model *RoutingTableIdentityByCRN, err error) { + _model = &RoutingTableIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RoutingTableIdentityByCRN) isaRoutingTableIdentity() bool { + return true +} + +// UnmarshalRoutingTableIdentityByCRN unmarshals an instance of RoutingTableIdentityByCRN from the specified map of raw messages. +func UnmarshalRoutingTableIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutingTableIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RoutingTableIdentityByCRN +func (routingTableIdentityByCRN *RoutingTableIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routingTableIdentityByCRN.CRN) { + _patch["crn"] = routingTableIdentityByCRN.CRN + } + + return +} + +// RoutingTableIdentityByHref : RoutingTableIdentityByHref struct +// This model "extends" RoutingTableIdentity +type RoutingTableIdentityByHref struct { + // The URL for this routing table. + Href *string `json:"href" validate:"required"` +} + +// NewRoutingTableIdentityByHref : Instantiate RoutingTableIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewRoutingTableIdentityByHref(href string) (_model *RoutingTableIdentityByHref, err error) { + _model = &RoutingTableIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RoutingTableIdentityByHref) isaRoutingTableIdentity() bool { + return true +} + +// UnmarshalRoutingTableIdentityByHref unmarshals an instance of RoutingTableIdentityByHref from the specified map of raw messages. +func UnmarshalRoutingTableIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutingTableIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RoutingTableIdentityByHref +func (routingTableIdentityByHref *RoutingTableIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routingTableIdentityByHref.Href) { + _patch["href"] = routingTableIdentityByHref.Href + } + + return +} + +// RoutingTableIdentityByID : RoutingTableIdentityByID struct +// This model "extends" RoutingTableIdentity +type RoutingTableIdentityByID struct { + // The unique identifier for this routing table. + ID *string `json:"id" validate:"required"` +} + +// NewRoutingTableIdentityByID : Instantiate RoutingTableIdentityByID (Generic Model Constructor) +func (*VpcV1) NewRoutingTableIdentityByID(id string) (_model *RoutingTableIdentityByID, err error) { + _model = &RoutingTableIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RoutingTableIdentityByID) isaRoutingTableIdentity() bool { + return true +} + +// UnmarshalRoutingTableIdentityByID unmarshals an instance of RoutingTableIdentityByID from the specified map of raw messages. +func UnmarshalRoutingTableIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RoutingTableIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RoutingTableIdentityByID +func (routingTableIdentityByID *RoutingTableIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routingTableIdentityByID.ID) { + _patch["id"] = routingTableIdentityByID.ID + } + + return +} + +// SecurityGroupIdentityByCRN : SecurityGroupIdentityByCRN struct +// This model "extends" SecurityGroupIdentity +type SecurityGroupIdentityByCRN struct { + // The CRN for this security group. + CRN *string `json:"crn" validate:"required"` +} + +// NewSecurityGroupIdentityByCRN : Instantiate SecurityGroupIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupIdentityByCRN(crn string) (_model *SecurityGroupIdentityByCRN, err error) { + _model = &SecurityGroupIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupIdentityByCRN) isaSecurityGroupIdentity() bool { + return true +} + +// UnmarshalSecurityGroupIdentityByCRN unmarshals an instance of SecurityGroupIdentityByCRN from the specified map of raw messages. +func UnmarshalSecurityGroupIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupIdentityByHref : SecurityGroupIdentityByHref struct +// This model "extends" SecurityGroupIdentity +type SecurityGroupIdentityByHref struct { + // The URL for this security group. + Href *string `json:"href" validate:"required"` +} + +// NewSecurityGroupIdentityByHref : Instantiate SecurityGroupIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupIdentityByHref(href string) (_model *SecurityGroupIdentityByHref, err error) { + _model = &SecurityGroupIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupIdentityByHref) isaSecurityGroupIdentity() bool { + return true +} + +// UnmarshalSecurityGroupIdentityByHref unmarshals an instance of SecurityGroupIdentityByHref from the specified map of raw messages. +func UnmarshalSecurityGroupIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupIdentityByID : SecurityGroupIdentityByID struct +// This model "extends" SecurityGroupIdentity +type SecurityGroupIdentityByID struct { + // The unique identifier for this security group. + ID *string `json:"id" validate:"required"` +} + +// NewSecurityGroupIdentityByID : Instantiate SecurityGroupIdentityByID (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupIdentityByID(id string) (_model *SecurityGroupIdentityByID, err error) { + _model = &SecurityGroupIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupIdentityByID) isaSecurityGroupIdentity() bool { + return true +} + +// UnmarshalSecurityGroupIdentityByID unmarshals an instance of SecurityGroupIdentityByID from the specified map of raw messages. +func UnmarshalSecurityGroupIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleLocalPatchCIDR : SecurityGroupRuleLocalPatchCIDR struct +// This model "extends" SecurityGroupRuleLocalPatch +type SecurityGroupRuleLocalPatchCIDR struct { + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block" validate:"required"` +} + +// NewSecurityGroupRuleLocalPatchCIDR : Instantiate SecurityGroupRuleLocalPatchCIDR (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleLocalPatchCIDR(cidrBlock string) (_model *SecurityGroupRuleLocalPatchCIDR, err error) { + _model = &SecurityGroupRuleLocalPatchCIDR{ + CIDRBlock: core.StringPtr(cidrBlock), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleLocalPatchCIDR) isaSecurityGroupRuleLocalPatch() bool { + return true +} + +// UnmarshalSecurityGroupRuleLocalPatchCIDR unmarshals an instance of SecurityGroupRuleLocalPatchCIDR from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocalPatchCIDR(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocalPatchCIDR) + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleLocalPatchCIDR +func (securityGroupRuleLocalPatchCIDR *SecurityGroupRuleLocalPatchCIDR) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleLocalPatchCIDR.CIDRBlock) { + _patch["cidr_block"] = securityGroupRuleLocalPatchCIDR.CIDRBlock + } + + return +} + +// SecurityGroupRuleLocalPatchIP : SecurityGroupRuleLocalPatchIP struct +// This model "extends" SecurityGroupRuleLocalPatch +type SecurityGroupRuleLocalPatchIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewSecurityGroupRuleLocalPatchIP : Instantiate SecurityGroupRuleLocalPatchIP (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleLocalPatchIP(address string) (_model *SecurityGroupRuleLocalPatchIP, err error) { + _model = &SecurityGroupRuleLocalPatchIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleLocalPatchIP) isaSecurityGroupRuleLocalPatch() bool { + return true +} + +// UnmarshalSecurityGroupRuleLocalPatchIP unmarshals an instance of SecurityGroupRuleLocalPatchIP from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocalPatchIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocalPatchIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleLocalPatchIP +func (securityGroupRuleLocalPatchIP *SecurityGroupRuleLocalPatchIP) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleLocalPatchIP.Address) { + _patch["address"] = securityGroupRuleLocalPatchIP.Address + } + + return +} + +// SecurityGroupRuleLocalPrototypeCIDR : SecurityGroupRuleLocalPrototypeCIDR struct +// This model "extends" SecurityGroupRuleLocalPrototype +type SecurityGroupRuleLocalPrototypeCIDR struct { + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block" validate:"required"` +} + +// NewSecurityGroupRuleLocalPrototypeCIDR : Instantiate SecurityGroupRuleLocalPrototypeCIDR (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleLocalPrototypeCIDR(cidrBlock string) (_model *SecurityGroupRuleLocalPrototypeCIDR, err error) { + _model = &SecurityGroupRuleLocalPrototypeCIDR{ + CIDRBlock: core.StringPtr(cidrBlock), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleLocalPrototypeCIDR) isaSecurityGroupRuleLocalPrototype() bool { + return true +} + +// UnmarshalSecurityGroupRuleLocalPrototypeCIDR unmarshals an instance of SecurityGroupRuleLocalPrototypeCIDR from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocalPrototypeCIDR(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocalPrototypeCIDR) + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleLocalPrototypeIP : SecurityGroupRuleLocalPrototypeIP struct +// This model "extends" SecurityGroupRuleLocalPrototype +type SecurityGroupRuleLocalPrototypeIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewSecurityGroupRuleLocalPrototypeIP : Instantiate SecurityGroupRuleLocalPrototypeIP (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleLocalPrototypeIP(address string) (_model *SecurityGroupRuleLocalPrototypeIP, err error) { + _model = &SecurityGroupRuleLocalPrototypeIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleLocalPrototypeIP) isaSecurityGroupRuleLocalPrototype() bool { + return true +} + +// UnmarshalSecurityGroupRuleLocalPrototypeIP unmarshals an instance of SecurityGroupRuleLocalPrototypeIP from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocalPrototypeIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocalPrototypeIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleLocalCIDR : SecurityGroupRuleLocalCIDR struct +// This model "extends" SecurityGroupRuleLocal +type SecurityGroupRuleLocalCIDR struct { + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block" validate:"required"` +} + +func (*SecurityGroupRuleLocalCIDR) isaSecurityGroupRuleLocal() bool { + return true +} + +// UnmarshalSecurityGroupRuleLocalCIDR unmarshals an instance of SecurityGroupRuleLocalCIDR from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocalCIDR(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocalCIDR) + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleLocalIP : SecurityGroupRuleLocalIP struct +// This model "extends" SecurityGroupRuleLocal +type SecurityGroupRuleLocalIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +func (*SecurityGroupRuleLocalIP) isaSecurityGroupRuleLocal() bool { + return true +} + +// UnmarshalSecurityGroupRuleLocalIP unmarshals an instance of SecurityGroupRuleLocalIP from the specified map of raw messages. +func UnmarshalSecurityGroupRuleLocalIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleLocalIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll : A rule allowing ICMP, TCP and UDP traffic. +// This model "extends" SecurityGroupRulePrototype +type SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll struct { + // The direction of traffic to allow. + Direction *string `json:"direction" validate:"required"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version,omitempty"` + + Local SecurityGroupRuleLocalPrototypeIntf `json:"local,omitempty"` + + Remote SecurityGroupRuleRemotePrototypeIntf `json:"remote,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolAllDirectionInboundConst = "inbound" + SecurityGroupRulePrototypeSecurityGroupRuleProtocolAllDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolAllIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll.Protocol property. +// The network protocol. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolAllProtocolAllConst = "all" +) + +// NewSecurityGroupRulePrototypeSecurityGroupRuleProtocolAll : Instantiate SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRulePrototypeSecurityGroupRuleProtocolAll(direction string, protocol string) (_model *SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll, err error) { + _model = &SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll{ + Direction: core.StringPtr(direction), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll) isaSecurityGroupRulePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRulePrototypeSecurityGroupRuleProtocolAll unmarshals an instance of SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll from the specified map of raw messages. +func UnmarshalSecurityGroupRulePrototypeSecurityGroupRuleProtocolAll(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRulePrototypeSecurityGroupRuleProtocolAll) + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalSecurityGroupRuleLocalPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSecurityGroupRuleRemotePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp : A rule specifying the ICMP traffic to allow. +// This model "extends" SecurityGroupRulePrototype +type SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp struct { + // The direction of traffic to allow. + Direction *string `json:"direction" validate:"required"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version,omitempty"` + + Local SecurityGroupRuleLocalPrototypeIntf `json:"local,omitempty"` + + Remote SecurityGroupRuleRemotePrototypeIntf `json:"remote,omitempty"` + + // The ICMP traffic code to allow. + // + // If specified, `type` must also be specified. If unspecified, all codes are allowed. + Code *int64 `json:"code,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The ICMP traffic type to allow. + // + // If unspecified, all types are allowed. + Type *int64 `json:"type,omitempty"` +} + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmpDirectionInboundConst = "inbound" + SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmpDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmpIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp.Protocol property. +// The network protocol. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmpProtocolIcmpConst = "icmp" +) + +// NewSecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp : Instantiate SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp(direction string, protocol string) (_model *SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp, err error) { + _model = &SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp{ + Direction: core.StringPtr(direction), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp) isaSecurityGroupRulePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp unmarshals an instance of SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp from the specified map of raw messages. +func UnmarshalSecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRulePrototypeSecurityGroupRuleProtocolIcmp) + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalSecurityGroupRuleLocalPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSecurityGroupRuleRemotePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp : A rule specifying the TCP or UDP traffic to allow. +// This model "extends" SecurityGroupRulePrototype +type SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp struct { + // The direction of traffic to allow. + Direction *string `json:"direction" validate:"required"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version,omitempty"` + + Local SecurityGroupRuleLocalPrototypeIntf `json:"local,omitempty"` + + Remote SecurityGroupRuleRemotePrototypeIntf `json:"remote,omitempty"` + + // The inclusive upper bound of the TCP or UDP destination port range. + // + // If specified, `port_min` must also be specified, and must not be larger. If unspecified, + // `port_min` must also be unspecified, allowing traffic on all destination ports. + PortMax *int64 `json:"port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + // + // If specified, `port_max` must also be specified, and must not be smaller. If unspecified, `port_max` must also be + // unspecified, allowing traffic on all destination ports. + PortMin *int64 `json:"port_min,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudpDirectionInboundConst = "inbound" + SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudpDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudpIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp.Protocol property. +// The network protocol. +const ( + SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudpProtocolTCPConst = "tcp" + SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudpProtocolUDPConst = "udp" +) + +// NewSecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp : Instantiate SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp(direction string, protocol string) (_model *SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp, err error) { + _model = &SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp{ + Direction: core.StringPtr(direction), + Protocol: core.StringPtr(protocol), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp) isaSecurityGroupRulePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp unmarshals an instance of SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp from the specified map of raw messages. +func UnmarshalSecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRulePrototypeSecurityGroupRuleProtocolTcpudp) + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalSecurityGroupRuleLocalPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSecurityGroupRuleRemotePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_max", &obj.PortMax) + if err != nil { + err = core.SDKErrorf(err, "", "port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_min", &obj.PortMin) + if err != nil { + err = core.SDKErrorf(err, "", "port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemotePatchCIDR : SecurityGroupRuleRemotePatchCIDR struct +// This model "extends" SecurityGroupRuleRemotePatch +type SecurityGroupRuleRemotePatchCIDR struct { + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block" validate:"required"` +} + +// NewSecurityGroupRuleRemotePatchCIDR : Instantiate SecurityGroupRuleRemotePatchCIDR (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePatchCIDR(cidrBlock string) (_model *SecurityGroupRuleRemotePatchCIDR, err error) { + _model = &SecurityGroupRuleRemotePatchCIDR{ + CIDRBlock: core.StringPtr(cidrBlock), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePatchCIDR) isaSecurityGroupRuleRemotePatch() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePatchCIDR unmarshals an instance of SecurityGroupRuleRemotePatchCIDR from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePatchCIDR(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePatchCIDR) + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleRemotePatchCIDR +func (securityGroupRuleRemotePatchCIDR *SecurityGroupRuleRemotePatchCIDR) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleRemotePatchCIDR.CIDRBlock) { + _patch["cidr_block"] = securityGroupRuleRemotePatchCIDR.CIDRBlock + } + + return +} + +// SecurityGroupRuleRemotePatchIP : SecurityGroupRuleRemotePatchIP struct +// This model "extends" SecurityGroupRuleRemotePatch +type SecurityGroupRuleRemotePatchIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewSecurityGroupRuleRemotePatchIP : Instantiate SecurityGroupRuleRemotePatchIP (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePatchIP(address string) (_model *SecurityGroupRuleRemotePatchIP, err error) { + _model = &SecurityGroupRuleRemotePatchIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePatchIP) isaSecurityGroupRuleRemotePatch() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePatchIP unmarshals an instance of SecurityGroupRuleRemotePatchIP from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePatchIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePatchIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleRemotePatchIP +func (securityGroupRuleRemotePatchIP *SecurityGroupRuleRemotePatchIP) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleRemotePatchIP.Address) { + _patch["address"] = securityGroupRuleRemotePatchIP.Address + } + + return +} + +// SecurityGroupRuleRemotePatchSecurityGroupIdentity : Identifies a security group by a unique property. +// Models which "extend" this model: +// - SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID +// - SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN +// - SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref +// This model "extends" SecurityGroupRuleRemotePatch +type SecurityGroupRuleRemotePatchSecurityGroupIdentity struct { + // The unique identifier for this security group. + ID *string `json:"id,omitempty"` + + // The CRN for this security group. + CRN *string `json:"crn,omitempty"` + + // The URL for this security group. + Href *string `json:"href,omitempty"` +} + +func (*SecurityGroupRuleRemotePatchSecurityGroupIdentity) isaSecurityGroupRuleRemotePatchSecurityGroupIdentity() bool { + return true +} + +type SecurityGroupRuleRemotePatchSecurityGroupIdentityIntf interface { + SecurityGroupRuleRemotePatchIntf + isaSecurityGroupRuleRemotePatchSecurityGroupIdentity() bool +} + +func (*SecurityGroupRuleRemotePatchSecurityGroupIdentity) isaSecurityGroupRuleRemotePatch() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePatchSecurityGroupIdentity unmarshals an instance of SecurityGroupRuleRemotePatchSecurityGroupIdentity from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePatchSecurityGroupIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePatchSecurityGroupIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleRemotePatchSecurityGroupIdentity +func (securityGroupRuleRemotePatchSecurityGroupIdentity *SecurityGroupRuleRemotePatchSecurityGroupIdentity) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleRemotePatchSecurityGroupIdentity.ID) { + _patch["id"] = securityGroupRuleRemotePatchSecurityGroupIdentity.ID + } + if !core.IsNil(securityGroupRuleRemotePatchSecurityGroupIdentity.CRN) { + _patch["crn"] = securityGroupRuleRemotePatchSecurityGroupIdentity.CRN + } + if !core.IsNil(securityGroupRuleRemotePatchSecurityGroupIdentity.Href) { + _patch["href"] = securityGroupRuleRemotePatchSecurityGroupIdentity.Href + } + + return +} + +// SecurityGroupRuleRemotePrototypeCIDR : SecurityGroupRuleRemotePrototypeCIDR struct +// This model "extends" SecurityGroupRuleRemotePrototype +type SecurityGroupRuleRemotePrototypeCIDR struct { + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block" validate:"required"` +} + +// NewSecurityGroupRuleRemotePrototypeCIDR : Instantiate SecurityGroupRuleRemotePrototypeCIDR (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePrototypeCIDR(cidrBlock string) (_model *SecurityGroupRuleRemotePrototypeCIDR, err error) { + _model = &SecurityGroupRuleRemotePrototypeCIDR{ + CIDRBlock: core.StringPtr(cidrBlock), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePrototypeCIDR) isaSecurityGroupRuleRemotePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePrototypeCIDR unmarshals an instance of SecurityGroupRuleRemotePrototypeCIDR from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePrototypeCIDR(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePrototypeCIDR) + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemotePrototypeIP : SecurityGroupRuleRemotePrototypeIP struct +// This model "extends" SecurityGroupRuleRemotePrototype +type SecurityGroupRuleRemotePrototypeIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewSecurityGroupRuleRemotePrototypeIP : Instantiate SecurityGroupRuleRemotePrototypeIP (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePrototypeIP(address string) (_model *SecurityGroupRuleRemotePrototypeIP, err error) { + _model = &SecurityGroupRuleRemotePrototypeIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePrototypeIP) isaSecurityGroupRuleRemotePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePrototypeIP unmarshals an instance of SecurityGroupRuleRemotePrototypeIP from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePrototypeIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePrototypeIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemotePrototypeSecurityGroupIdentity : Identifies a security group by a unique property. +// Models which "extend" this model: +// - SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID +// - SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN +// - SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref +// This model "extends" SecurityGroupRuleRemotePrototype +type SecurityGroupRuleRemotePrototypeSecurityGroupIdentity struct { + // The unique identifier for this security group. + ID *string `json:"id,omitempty"` + + // The CRN for this security group. + CRN *string `json:"crn,omitempty"` + + // The URL for this security group. + Href *string `json:"href,omitempty"` +} + +func (*SecurityGroupRuleRemotePrototypeSecurityGroupIdentity) isaSecurityGroupRuleRemotePrototypeSecurityGroupIdentity() bool { + return true +} + +type SecurityGroupRuleRemotePrototypeSecurityGroupIdentityIntf interface { + SecurityGroupRuleRemotePrototypeIntf + isaSecurityGroupRuleRemotePrototypeSecurityGroupIdentity() bool +} + +func (*SecurityGroupRuleRemotePrototypeSecurityGroupIdentity) isaSecurityGroupRuleRemotePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePrototypeSecurityGroupIdentity unmarshals an instance of SecurityGroupRuleRemotePrototypeSecurityGroupIdentity from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePrototypeSecurityGroupIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePrototypeSecurityGroupIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemoteCIDR : SecurityGroupRuleRemoteCIDR struct +// This model "extends" SecurityGroupRuleRemote +type SecurityGroupRuleRemoteCIDR struct { + // The CIDR block. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 address + // blocks in the future. + CIDRBlock *string `json:"cidr_block" validate:"required"` +} + +func (*SecurityGroupRuleRemoteCIDR) isaSecurityGroupRuleRemote() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemoteCIDR unmarshals an instance of SecurityGroupRuleRemoteCIDR from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemoteCIDR(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemoteCIDR) + err = core.UnmarshalPrimitive(m, "cidr_block", &obj.CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "cidr_block-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemoteIP : SecurityGroupRuleRemoteIP struct +// This model "extends" SecurityGroupRuleRemote +type SecurityGroupRuleRemoteIP struct { + // The IP address. + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +func (*SecurityGroupRuleRemoteIP) isaSecurityGroupRuleRemote() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemoteIP unmarshals an instance of SecurityGroupRuleRemoteIP from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemoteIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemoteIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemoteSecurityGroupReference : SecurityGroupRuleRemoteSecurityGroupReference struct +// This model "extends" SecurityGroupRuleRemote +type SecurityGroupRuleRemoteSecurityGroupReference struct { + // The CRN for this security group. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this security group. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this security group. + ID *string `json:"id" validate:"required"` + + // The name for this security group. The name is unique across all security groups for the VPC. + Name *string `json:"name" validate:"required"` +} + +func (*SecurityGroupRuleRemoteSecurityGroupReference) isaSecurityGroupRuleRemote() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemoteSecurityGroupReference unmarshals an instance of SecurityGroupRuleRemoteSecurityGroupReference from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemoteSecurityGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemoteSecurityGroupReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleSecurityGroupRuleProtocolAll : A rule allowing ICMP, TCP and UDP traffic. +// This model "extends" SecurityGroupRule +type SecurityGroupRuleSecurityGroupRuleProtocolAll struct { + // The direction of traffic to allow. + Direction *string `json:"direction" validate:"required"` + + // The URL for this security group rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this security group rule. + ID *string `json:"id" validate:"required"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version" validate:"required"` + + Local SecurityGroupRuleLocalIntf `json:"local" validate:"required"` + + Remote SecurityGroupRuleRemoteIntf `json:"remote" validate:"required"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolAll.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolAllDirectionInboundConst = "inbound" + SecurityGroupRuleSecurityGroupRuleProtocolAllDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolAll.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolAllIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolAll.Protocol property. +// The network protocol. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolAllProtocolAllConst = "all" +) + +func (*SecurityGroupRuleSecurityGroupRuleProtocolAll) isaSecurityGroupRule() bool { + return true +} + +// UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolAll unmarshals an instance of SecurityGroupRuleSecurityGroupRuleProtocolAll from the specified map of raw messages. +func UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolAll(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleSecurityGroupRuleProtocolAll) + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalSecurityGroupRuleLocal) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSecurityGroupRuleRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleSecurityGroupRuleProtocolIcmp : A rule specifying the ICMP traffic to allow. +// This model "extends" SecurityGroupRule +type SecurityGroupRuleSecurityGroupRuleProtocolIcmp struct { + // The direction of traffic to allow. + Direction *string `json:"direction" validate:"required"` + + // The URL for this security group rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this security group rule. + ID *string `json:"id" validate:"required"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version" validate:"required"` + + Local SecurityGroupRuleLocalIntf `json:"local" validate:"required"` + + Remote SecurityGroupRuleRemoteIntf `json:"remote" validate:"required"` + + // The ICMP traffic code to allow. If absent, all codes are allowed. + Code *int64 `json:"code,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` + + // The ICMP traffic type to allow. If absent, all types are allowed. + Type *int64 `json:"type,omitempty"` +} + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolIcmp.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolIcmpDirectionInboundConst = "inbound" + SecurityGroupRuleSecurityGroupRuleProtocolIcmpDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolIcmp.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolIcmpIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolIcmp.Protocol property. +// The network protocol. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolIcmpProtocolIcmpConst = "icmp" +) + +func (*SecurityGroupRuleSecurityGroupRuleProtocolIcmp) isaSecurityGroupRule() bool { + return true +} + +// UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolIcmp unmarshals an instance of SecurityGroupRuleSecurityGroupRuleProtocolIcmp from the specified map of raw messages. +func UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolIcmp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleSecurityGroupRuleProtocolIcmp) + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalSecurityGroupRuleLocal) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSecurityGroupRuleRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "code", &obj.Code) + if err != nil { + err = core.SDKErrorf(err, "", "code-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleSecurityGroupRuleProtocolTcpudp : A rule specifying the TCP or UDP traffic to allow. +// +// Either both `port_min` and `port_max` will be present, or neither. When neither is present, all destination ports are +// allowed for the protocol. When both have the same value, that single destination port is allowed. +// This model "extends" SecurityGroupRule +type SecurityGroupRuleSecurityGroupRuleProtocolTcpudp struct { + // The direction of traffic to allow. + Direction *string `json:"direction" validate:"required"` + + // The URL for this security group rule. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this security group rule. + ID *string `json:"id" validate:"required"` + + // The IP version to allow. The format of `local.address`, `remote.address`, + // `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. + // + // If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP + // version. + IPVersion *string `json:"ip_version" validate:"required"` + + Local SecurityGroupRuleLocalIntf `json:"local" validate:"required"` + + Remote SecurityGroupRuleRemoteIntf `json:"remote" validate:"required"` + + // The inclusive upper bound of the TCP or UDP destination port range. + PortMax *int64 `json:"port_max,omitempty"` + + // The inclusive lower bound of the TCP or UDP destination port range. + PortMin *int64 `json:"port_min,omitempty"` + + // The network protocol. + Protocol *string `json:"protocol" validate:"required"` +} + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolTcpudp.Direction property. +// The direction of traffic to allow. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolTcpudpDirectionInboundConst = "inbound" + SecurityGroupRuleSecurityGroupRuleProtocolTcpudpDirectionOutboundConst = "outbound" +) + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolTcpudp.IPVersion property. +// The IP version to allow. The format of `local.address`, `remote.address`, +// `local.cidr_block` or `remote.cidr_block` must match this property, if they are used. +// +// If `remote` references a security group, then this rule only applies to IP addresses in that group matching this IP +// version. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolTcpudpIPVersionIpv4Const = "ipv4" +) + +// Constants associated with the SecurityGroupRuleSecurityGroupRuleProtocolTcpudp.Protocol property. +// The network protocol. +const ( + SecurityGroupRuleSecurityGroupRuleProtocolTcpudpProtocolTCPConst = "tcp" + SecurityGroupRuleSecurityGroupRuleProtocolTcpudpProtocolUDPConst = "udp" +) + +func (*SecurityGroupRuleSecurityGroupRuleProtocolTcpudp) isaSecurityGroupRule() bool { + return true +} + +// UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolTcpudp unmarshals an instance of SecurityGroupRuleSecurityGroupRuleProtocolTcpudp from the specified map of raw messages. +func UnmarshalSecurityGroupRuleSecurityGroupRuleProtocolTcpudp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleSecurityGroupRuleProtocolTcpudp) + err = core.UnmarshalPrimitive(m, "direction", &obj.Direction) + if err != nil { + err = core.SDKErrorf(err, "", "direction-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalSecurityGroupRuleLocal) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalSecurityGroupRuleRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_max", &obj.PortMax) + if err != nil { + err = core.SDKErrorf(err, "", "port_max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "port_min", &obj.PortMin) + if err != nil { + err = core.SDKErrorf(err, "", "port_min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol", &obj.Protocol) + if err != nil { + err = core.SDKErrorf(err, "", "protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext : SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext struct +// This model "extends" SecurityGroupTargetReference +type SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this bare metal server network interface. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext.ResourceType property. +// The resource type. +const ( + SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContextResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext) isaSecurityGroupTargetReference() bool { + return true +} + +// UnmarshalSecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext unmarshals an instance of SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext from the specified map of raw messages. +func UnmarshalSecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupTargetReferenceBareMetalServerNetworkInterfaceReferenceTargetContext) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupTargetReferenceEndpointGatewayReference : SecurityGroupTargetReferenceEndpointGatewayReference struct +// This model "extends" SecurityGroupTargetReference +type SecurityGroupTargetReferenceEndpointGatewayReference struct { + // The CRN for this endpoint gateway. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this endpoint gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this endpoint gateway. + ID *string `json:"id" validate:"required"` + + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SecurityGroupTargetReferenceEndpointGatewayReference.ResourceType property. +// The resource type. +const ( + SecurityGroupTargetReferenceEndpointGatewayReferenceResourceTypeEndpointGatewayConst = "endpoint_gateway" +) + +func (*SecurityGroupTargetReferenceEndpointGatewayReference) isaSecurityGroupTargetReference() bool { + return true +} + +// UnmarshalSecurityGroupTargetReferenceEndpointGatewayReference unmarshals an instance of SecurityGroupTargetReferenceEndpointGatewayReference from the specified map of raw messages. +func UnmarshalSecurityGroupTargetReferenceEndpointGatewayReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupTargetReferenceEndpointGatewayReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupTargetReferenceLoadBalancerReference : SecurityGroupTargetReferenceLoadBalancerReference struct +// This model "extends" SecurityGroupTargetReference +type SecurityGroupTargetReferenceLoadBalancerReference struct { + // The CRN for this load balancer. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this load balancer. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this load balancer. + ID *string `json:"id" validate:"required"` + + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SecurityGroupTargetReferenceLoadBalancerReference.ResourceType property. +// The resource type. +const ( + SecurityGroupTargetReferenceLoadBalancerReferenceResourceTypeLoadBalancerConst = "load_balancer" +) + +func (*SecurityGroupTargetReferenceLoadBalancerReference) isaSecurityGroupTargetReference() bool { + return true +} + +// UnmarshalSecurityGroupTargetReferenceLoadBalancerReference unmarshals an instance of SecurityGroupTargetReferenceLoadBalancerReference from the specified map of raw messages. +func UnmarshalSecurityGroupTargetReferenceLoadBalancerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupTargetReferenceLoadBalancerReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext : SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext struct +// This model "extends" SecurityGroupTargetReference +type SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network interface. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext.ResourceType property. +// The resource type. +const ( + SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContextResourceTypeNetworkInterfaceConst = "network_interface" +) + +func (*SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext) isaSecurityGroupTargetReference() bool { + return true +} + +// UnmarshalSecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext unmarshals an instance of SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext from the specified map of raw messages. +func UnmarshalSecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupTargetReferenceNetworkInterfaceReferenceTargetContext) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupTargetReferenceVPNServerReference : SecurityGroupTargetReferenceVPNServerReference struct +// This model "extends" SecurityGroupTargetReference +type SecurityGroupTargetReferenceVPNServerReference struct { + // The CRN for this VPN server. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this VPN server. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN server. + ID *string `json:"id" validate:"required"` + + // The name for this VPN server. The name is unique across all VPN servers in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the SecurityGroupTargetReferenceVPNServerReference.ResourceType property. +// The resource type. +const ( + SecurityGroupTargetReferenceVPNServerReferenceResourceTypeVPNServerConst = "vpn_server" +) + +func (*SecurityGroupTargetReferenceVPNServerReference) isaSecurityGroupTargetReference() bool { + return true +} + +// UnmarshalSecurityGroupTargetReferenceVPNServerReference unmarshals an instance of SecurityGroupTargetReferenceVPNServerReference from the specified map of raw messages. +func UnmarshalSecurityGroupTargetReferenceVPNServerReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupTargetReferenceVPNServerReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupTargetReferenceVirtualNetworkInterfaceReference : SecurityGroupTargetReferenceVirtualNetworkInterfaceReference struct +// This model "extends" SecurityGroupTargetReference +type SecurityGroupTargetReferenceVirtualNetworkInterfaceReference struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` + + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `json:"name" validate:"required"` + + // The primary IP for this virtual network interface. + PrimaryIP *ReservedIPReference `json:"primary_ip" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The associated subnet. + Subnet *SubnetReference `json:"subnet" validate:"required"` +} + +// Constants associated with the SecurityGroupTargetReferenceVirtualNetworkInterfaceReference.ResourceType property. +// The resource type. +const ( + SecurityGroupTargetReferenceVirtualNetworkInterfaceReferenceResourceTypeVirtualNetworkInterfaceConst = "virtual_network_interface" +) + +func (*SecurityGroupTargetReferenceVirtualNetworkInterfaceReference) isaSecurityGroupTargetReference() bool { + return true +} + +// UnmarshalSecurityGroupTargetReferenceVirtualNetworkInterfaceReference unmarshals an instance of SecurityGroupTargetReferenceVirtualNetworkInterfaceReference from the specified map of raw messages. +func UnmarshalSecurityGroupTargetReferenceVirtualNetworkInterfaceReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupTargetReferenceVirtualNetworkInterfaceReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalReservedIPReference) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareAccessorBindingAccessorShareReference : ShareAccessorBindingAccessorShareReference struct +// This model "extends" ShareAccessorBindingAccessor +type ShareAccessorBindingAccessorShareReference struct { + // The CRN for this file share. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this file share. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this file share. + ID *string `json:"id" validate:"required"` + + // The name for this share. The name is unique across all shares in the region. + Name *string `json:"name" validate:"required"` + + // If present, this property indicates that the resource associated with this reference + // is remote and therefore may not be directly retrievable. + Remote *ShareRemote `json:"remote,omitempty"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ShareAccessorBindingAccessorShareReference.ResourceType property. +// The resource type. +const ( + ShareAccessorBindingAccessorShareReferenceResourceTypeShareConst = "share" +) + +func (*ShareAccessorBindingAccessorShareReference) isaShareAccessorBindingAccessor() bool { + return true +} + +// UnmarshalShareAccessorBindingAccessorShareReference unmarshals an instance of ShareAccessorBindingAccessorShareReference from the specified map of raw messages. +func UnmarshalShareAccessorBindingAccessorShareReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareAccessorBindingAccessorShareReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "remote", &obj.Remote, UnmarshalShareRemote) + if err != nil { + err = core.SDKErrorf(err, "", "remote-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareAccessorBindingAccessorWatsonxMachineLearningReference : ShareAccessorBindingAccessorWatsonxMachineLearningReference struct +// This model "extends" ShareAccessorBindingAccessor +type ShareAccessorBindingAccessorWatsonxMachineLearningReference struct { + // The CRN for the watsonx machine learning resource. + CRN *string `json:"crn" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ShareAccessorBindingAccessorWatsonxMachineLearningReference.ResourceType property. +// The resource type. +const ( + ShareAccessorBindingAccessorWatsonxMachineLearningReferenceResourceTypeWatsonxMachineLearningConst = "watsonx_machine_learning" +) + +func (*ShareAccessorBindingAccessorWatsonxMachineLearningReference) isaShareAccessorBindingAccessor() bool { + return true +} + +// UnmarshalShareAccessorBindingAccessorWatsonxMachineLearningReference unmarshals an instance of ShareAccessorBindingAccessorWatsonxMachineLearningReference from the specified map of raw messages. +func UnmarshalShareAccessorBindingAccessorWatsonxMachineLearningReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareAccessorBindingAccessorWatsonxMachineLearningReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareIdentityByCRN : ShareIdentityByCRN struct +// This model "extends" ShareIdentity +type ShareIdentityByCRN struct { + // The CRN for this file share. + CRN *string `json:"crn" validate:"required"` +} + +// NewShareIdentityByCRN : Instantiate ShareIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewShareIdentityByCRN(crn string) (_model *ShareIdentityByCRN, err error) { + _model = &ShareIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareIdentityByCRN) isaShareIdentity() bool { + return true +} + +// UnmarshalShareIdentityByCRN unmarshals an instance of ShareIdentityByCRN from the specified map of raw messages. +func UnmarshalShareIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareIdentityByHref : ShareIdentityByHref struct +// This model "extends" ShareIdentity +type ShareIdentityByHref struct { + // The URL for this file share. + Href *string `json:"href" validate:"required"` +} + +// NewShareIdentityByHref : Instantiate ShareIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewShareIdentityByHref(href string) (_model *ShareIdentityByHref, err error) { + _model = &ShareIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareIdentityByHref) isaShareIdentity() bool { + return true +} + +// UnmarshalShareIdentityByHref unmarshals an instance of ShareIdentityByHref from the specified map of raw messages. +func UnmarshalShareIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareIdentityByID : ShareIdentityByID struct +// This model "extends" ShareIdentity +type ShareIdentityByID struct { + // The unique identifier for this file share. + ID *string `json:"id" validate:"required"` +} + +// NewShareIdentityByID : Instantiate ShareIdentityByID (Generic Model Constructor) +func (*VpcV1) NewShareIdentityByID(id string) (_model *ShareIdentityByID, err error) { + _model = &ShareIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareIdentityByID) isaShareIdentity() bool { + return true +} + +// UnmarshalShareIdentityByID unmarshals an instance of ShareIdentityByID from the specified map of raw messages. +func UnmarshalShareIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup : The virtual network interface for this share mount target. The virtual network interface must: +// +// - have `allow_ip_spoofing` set to `false` +// - have `enable_infrastructure_nat` set to `true` +// - have `protocol_state_filtering_mode` set to `auto` or `enabled` +// - not be in the same VPC as an existing mount target for this share +// - not have `ips` other than the `primary_ip` address +// +// If an existing virtual network interface is specified, it must not have a floating IP bound to it, and it must not be +// the target of a flow log collector. +// +// Required if the share's `access_control_mode` is `security_group`. +// This model "extends" ShareMountTargetPrototype +type ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup struct { + // The protocol to use to access the share for this share mount target: + // - `nfs4`: NFSv4 will be used. + // + // The specified value must be listed in the share's `allowed_access_protocols`. + AccessProtocol *string `json:"access_protocol" validate:"required"` + + // The name for this share mount target. The name must not be used by another mount target for the file share. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The transit encryption mode to use for this share mount target: + // - `none`: Not encrypted in transit. + // - `ipsec`: Encrypted in transit using an instance identity certificate. The + // `access_control_mode` for the share must be `security_group`. + // - `stunnel`: Encrypted in transit using an stunnel connection. The + // `access_control_mode` for the share must be `security_group`. + // + // The specified value must be listed in the share's + // `allowed_transit_encryption_modes`. + TransitEncryption *string `json:"transit_encryption" validate:"required"` + + VirtualNetworkInterface ShareMountTargetVirtualNetworkInterfacePrototypeIntf `json:"virtual_network_interface" validate:"required"` +} + +// Constants associated with the ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup.AccessProtocol property. +// The protocol to use to access the share for this share mount target: +// - `nfs4`: NFSv4 will be used. +// +// The specified value must be listed in the share's `allowed_access_protocols`. +const ( + ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroupAccessProtocolNfs4Const = "nfs4" +) + +// Constants associated with the ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup.TransitEncryption property. +// The transit encryption mode to use for this share mount target: +// - `none`: Not encrypted in transit. +// - `ipsec`: Encrypted in transit using an instance identity certificate. The +// `access_control_mode` for the share must be `security_group`. +// - `stunnel`: Encrypted in transit using an stunnel connection. The +// `access_control_mode` for the share must be `security_group`. +// +// The specified value must be listed in the share's +// `allowed_transit_encryption_modes`. +const ( + ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroupTransitEncryptionIpsecConst = "ipsec" + ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroupTransitEncryptionNoneConst = "none" + ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroupTransitEncryptionStunnelConst = "stunnel" +) + +// NewShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup : Instantiate ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup (Generic Model Constructor) +func (*VpcV1) NewShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup(accessProtocol string, transitEncryption string, virtualNetworkInterface ShareMountTargetVirtualNetworkInterfacePrototypeIntf) (_model *ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup, err error) { + _model = &ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup{ + AccessProtocol: core.StringPtr(accessProtocol), + TransitEncryption: core.StringPtr(transitEncryption), + VirtualNetworkInterface: virtualNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup) isaShareMountTargetPrototype() bool { + return true +} + +// UnmarshalShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup unmarshals an instance of ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup from the specified map of raw messages. +func UnmarshalShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetPrototypeShareMountTargetByAccessControlModeSecurityGroup) + err = core.UnmarshalPrimitive(m, "access_protocol", &obj.AccessProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "access_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "transit_encryption", &obj.TransitEncryption) + if err != nil { + err = core.SDKErrorf(err, "", "transit_encryption-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "virtual_network_interface", &obj.VirtualNetworkInterface, UnmarshalShareMountTargetVirtualNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "virtual_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC : The VPC in which clients can mount the file share using this mount target. The VPC must not be used by another mount +// target for this share. +// +// Required if the share's `access_control_mode` is `vpc`. +// This model "extends" ShareMountTargetPrototype +type ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC struct { + // The protocol to use to access the share for this share mount target: + // - `nfs4`: NFSv4 will be used. + // + // The specified value must be listed in the share's `allowed_access_protocols`. + AccessProtocol *string `json:"access_protocol" validate:"required"` + + // The name for this share mount target. The name must not be used by another mount target for the file share. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The transit encryption mode to use for this share mount target: + // - `none`: Not encrypted in transit. + // - `ipsec`: Encrypted in transit using an instance identity certificate. The + // `access_control_mode` for the share must be `security_group`. + // - `stunnel`: Encrypted in transit using an stunnel connection. The + // `access_control_mode` for the share must be `security_group`. + // + // The specified value must be listed in the share's + // `allowed_transit_encryption_modes`. + TransitEncryption *string `json:"transit_encryption" validate:"required"` + + // Identifies a VPC by a unique property. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` +} + +// Constants associated with the ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC.AccessProtocol property. +// The protocol to use to access the share for this share mount target: +// - `nfs4`: NFSv4 will be used. +// +// The specified value must be listed in the share's `allowed_access_protocols`. +const ( + ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPCAccessProtocolNfs4Const = "nfs4" +) + +// Constants associated with the ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC.TransitEncryption property. +// The transit encryption mode to use for this share mount target: +// - `none`: Not encrypted in transit. +// - `ipsec`: Encrypted in transit using an instance identity certificate. The +// `access_control_mode` for the share must be `security_group`. +// - `stunnel`: Encrypted in transit using an stunnel connection. The +// `access_control_mode` for the share must be `security_group`. +// +// The specified value must be listed in the share's +// `allowed_transit_encryption_modes`. +const ( + ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPCTransitEncryptionIpsecConst = "ipsec" + ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPCTransitEncryptionNoneConst = "none" + ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPCTransitEncryptionStunnelConst = "stunnel" +) + +// NewShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC : Instantiate ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC (Generic Model Constructor) +func (*VpcV1) NewShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC(accessProtocol string, transitEncryption string, vpc VPCIdentityIntf) (_model *ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC, err error) { + _model = &ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC{ + AccessProtocol: core.StringPtr(accessProtocol), + TransitEncryption: core.StringPtr(transitEncryption), + VPC: vpc, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC) isaShareMountTargetPrototype() bool { + return true +} + +// UnmarshalShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC unmarshals an instance of ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC from the specified map of raw messages. +func UnmarshalShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetPrototypeShareMountTargetByAccessControlModeVPC) + err = core.UnmarshalPrimitive(m, "access_protocol", &obj.AccessProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "access_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "transit_encryption", &obj.TransitEncryption) + if err != nil { + err = core.SDKErrorf(err, "", "transit_encryption-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity : Identifies a virtual network interface by a unique property. +// Models which "extend" this model: +// - ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID +// - ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref +// - ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN +// This model "extends" ShareMountTargetVirtualNetworkInterfacePrototype +type ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id,omitempty"` + + // The URL for this virtual network interface. + Href *string `json:"href,omitempty"` + + // The CRN for this virtual network interface. + CRN *string `json:"crn,omitempty"` +} + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity) isaShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +type ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityIntf interface { + ShareMountTargetVirtualNetworkInterfacePrototypeIntf + isaShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity() bool +} + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity) isaShareMountTargetVirtualNetworkInterfacePrototype() bool { + return true +} + +// UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity unmarshals an instance of ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity from the specified map of raw messages. +func UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext : The virtual network interface for this target. +// This model "extends" ShareMountTargetVirtualNetworkInterfacePrototype +type ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on + // this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIPSpoofing *bool `json:"allow_ip_spoofing,omitempty"` + + // Indicates whether this virtual network interface will be automatically deleted when + // `target` is deleted. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // If `true`: + // - The VPC infrastructure performs any needed NAT operations. + // - `floating_ips` must not have more than one floating IP. + // + // If `false`: + // - Packets are passed unchanged to/from the virtual network interface, + // allowing the workload to perform any needed NAT operations. + // - `allow_ip_spoofing` must be `false`. + // - Can only be attached to a `target` with a `resource_type` of + // `bare_metal_server_network_attachment`. + EnableInfrastructureNat *bool `json:"enable_infrastructure_nat,omitempty"` + + // The additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP + // identity, or a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be + // in the primary IP's subnet. + // + // If reserved IP identities are provided, the specified reserved IPs must be unbound. + // + // If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network + // interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet + // will be automatically selected and reserved. + Ips []VirtualNetworkInterfaceIPPrototypeIntf `json:"ips,omitempty"` + + // The name for this virtual network interface. The name must not be used by another virtual network interface in the + // VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are + // reserved for provider-owned resources, and are not allowed. + Name *string `json:"name,omitempty"` + + // The primary IP address to bind to the virtual network interface. May be either a + // reserved IP identity, or a reserved IP prototype object which will be used to create a + // new reserved IP. + // + // If a reserved IP identity is provided, the specified reserved IP must be unbound. + // + // If a reserved IP prototype object with an address is provided, the address must be + // available on the virtual network interface's subnet. If no address is specified, + // an available address on the subnet will be automatically selected and reserved. + PrimaryIP VirtualNetworkInterfacePrimaryIPPrototypeIntf `json:"primary_ip,omitempty"` + + // The protocol state filtering mode to use for this virtual network interface. If + // `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` + // resource type: + // + // - `bare_metal_server_network_attachment`: disabled + // - `instance_network_attachment`: enabled + // - `share_mount_target`: enabled + // + // Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any + // packets that are invalid based on the current connection state and protocol. See [Protocol state filtering + // mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. + ProtocolStateFilteringMode *string `json:"protocol_state_filtering_mode,omitempty"` + + // The resource group to use for this virtual network interface. If unspecified, the + // share's resource group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC + // for the subnet is used. + SecurityGroups []SecurityGroupIdentityIntf `json:"security_groups,omitempty"` + + // The associated subnet. Required if `primary_ip` does not specify a reserved IP + // identity. + Subnet SubnetIdentityIntf `json:"subnet,omitempty"` +} + +// Constants associated with the ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext.ProtocolStateFilteringMode property. +// The protocol state filtering mode to use for this virtual network interface. If +// `auto`, protocol state packet filtering is enabled or disabled based on the virtual network interface's `target` +// resource type: +// +// - `bare_metal_server_network_attachment`: disabled +// - `instance_network_attachment`: enabled +// - `share_mount_target`: enabled +// +// Protocol state filtering monitors each network connection flowing over this virtual network interface, and drops any +// packets that are invalid based on the current connection state and protocol. See [Protocol state filtering +// mode](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#protocol-state-filtering) for more information. +const ( + ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContextProtocolStateFilteringModeAutoConst = "auto" + ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContextProtocolStateFilteringModeEnabledConst = "enabled" +) + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext) isaShareMountTargetVirtualNetworkInterfacePrototype() bool { + return true +} + +// UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext unmarshals an instance of ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext from the specified map of raw messages. +func UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfacePrototypeShareMountTargetContext) + err = core.UnmarshalPrimitive(m, "allow_ip_spoofing", &obj.AllowIPSpoofing) + if err != nil { + err = core.SDKErrorf(err, "", "allow_ip_spoofing-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_infrastructure_nat", &obj.EnableInfrastructureNat) + if err != nil { + err = core.SDKErrorf(err, "", "enable_infrastructure_nat-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ips", &obj.Ips, UnmarshalVirtualNetworkInterfaceIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ips-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_ip", &obj.PrimaryIP, UnmarshalVirtualNetworkInterfacePrimaryIPPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_ip-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "protocol_state_filtering_mode", &obj.ProtocolStateFilteringMode) + if err != nil { + err = core.SDKErrorf(err, "", "protocol_state_filtering_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "security_groups", &obj.SecurityGroups, UnmarshalSecurityGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "security_groups-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileAllowedAccessProtocolsSubset : ShareProfileAllowedAccessProtocolsSubset struct +// This model "extends" ShareProfileAllowedAccessProtocols +type ShareProfileAllowedAccessProtocolsSubset struct { + // The default allowed access protocol modes for shares with this profile. + Default []string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The possible allowed access protocols for shares with this profile: + // - `nfs4`: NFSv4 will be used. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the ShareProfileAllowedAccessProtocolsSubset.Default property. +const ( + ShareProfileAllowedAccessProtocolsSubsetDefaultNfs4Const = "nfs4" +) + +// Constants associated with the ShareProfileAllowedAccessProtocolsSubset.Type property. +// The type for this profile field. +const ( + ShareProfileAllowedAccessProtocolsSubsetTypeSubsetConst = "subset" +) + +// Constants associated with the ShareProfileAllowedAccessProtocolsSubset.Values property. +const ( + ShareProfileAllowedAccessProtocolsSubsetValuesNfs4Const = "nfs4" +) + +func (*ShareProfileAllowedAccessProtocolsSubset) isaShareProfileAllowedAccessProtocols() bool { + return true +} + +// UnmarshalShareProfileAllowedAccessProtocolsSubset unmarshals an instance of ShareProfileAllowedAccessProtocolsSubset from the specified map of raw messages. +func UnmarshalShareProfileAllowedAccessProtocolsSubset(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileAllowedAccessProtocolsSubset) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileAllowedTransitEncryptionModesSubset : ShareProfileAllowedTransitEncryptionModesSubset struct +// This model "extends" ShareProfileAllowedTransitEncryptionModes +type ShareProfileAllowedTransitEncryptionModesSubset struct { + // The default allowed transit encryption modes for shares with this profile. + Default []string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The allowed [transit encryption + // modes](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-about&interface=ui#fs-eit) for a share with this + // profile: + // - `none`: Not encrypted in transit. + // - `ipsec`: Encrypted in transit using an instance identity certificate. + // - `stunnel`: Encrypted in transit using a connection via an stunnel connection. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the ShareProfileAllowedTransitEncryptionModesSubset.Default property. +const ( + ShareProfileAllowedTransitEncryptionModesSubsetDefaultIpsecConst = "ipsec" + ShareProfileAllowedTransitEncryptionModesSubsetDefaultNoneConst = "none" + ShareProfileAllowedTransitEncryptionModesSubsetDefaultStunnelConst = "stunnel" +) + +// Constants associated with the ShareProfileAllowedTransitEncryptionModesSubset.Type property. +// The type for this profile field. +const ( + ShareProfileAllowedTransitEncryptionModesSubsetTypeSubsetConst = "subset" +) + +// Constants associated with the ShareProfileAllowedTransitEncryptionModesSubset.Values property. +const ( + ShareProfileAllowedTransitEncryptionModesSubsetValuesIpsecConst = "ipsec" + ShareProfileAllowedTransitEncryptionModesSubsetValuesNoneConst = "none" + ShareProfileAllowedTransitEncryptionModesSubsetValuesStunnelConst = "stunnel" +) + +func (*ShareProfileAllowedTransitEncryptionModesSubset) isaShareProfileAllowedTransitEncryptionModes() bool { + return true +} + +// UnmarshalShareProfileAllowedTransitEncryptionModesSubset unmarshals an instance of ShareProfileAllowedTransitEncryptionModesSubset from the specified map of raw messages. +func UnmarshalShareProfileAllowedTransitEncryptionModesSubset(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileAllowedTransitEncryptionModesSubset) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileAvailabilityModesEnum : The permitted data availability modes for a share with this profile. +// This model "extends" ShareProfileAvailabilityModes +type ShareProfileAvailabilityModesEnum struct { + // The default data availability mode for this profile. + Default *string `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The data availability mode of the share: + // - `zonal`: The data availability of this share is limited only to a single zone of a + // given region as provided by the `zone` of the share. + // - `regional`: The data availability of this share covers all zones in the region where + // the share is created. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Values []string `json:"values" validate:"required"` +} + +// Constants associated with the ShareProfileAvailabilityModesEnum.Default property. +// The default data availability mode for this profile. +const ( + ShareProfileAvailabilityModesEnumDefaultRegionalConst = "regional" + ShareProfileAvailabilityModesEnumDefaultZonalConst = "zonal" +) + +// Constants associated with the ShareProfileAvailabilityModesEnum.Type property. +// The type for this profile field. +const ( + ShareProfileAvailabilityModesEnumTypeEnumConst = "enum" +) + +// Constants associated with the ShareProfileAvailabilityModesEnum.Values property. +const ( + ShareProfileAvailabilityModesEnumValuesRegionalConst = "regional" + ShareProfileAvailabilityModesEnumValuesZonalConst = "zonal" +) + +func (*ShareProfileAvailabilityModesEnum) isaShareProfileAvailabilityModes() bool { + return true +} + +// UnmarshalShareProfileAvailabilityModesEnum unmarshals an instance of ShareProfileAvailabilityModesEnum from the specified map of raw messages. +func UnmarshalShareProfileAvailabilityModesEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileAvailabilityModesEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileAvailabilityModesFixed : The data availability mode for a share with this profile is fixed. +// This model "extends" ShareProfileAvailabilityModes +type ShareProfileAvailabilityModesFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the ShareProfileAvailabilityModesFixed.Type property. +// The type for this profile field. +const ( + ShareProfileAvailabilityModesFixedTypeFixedConst = "fixed" +) + +// Constants associated with the ShareProfileAvailabilityModesFixed.Value property. +// The value for this profile field. +const ( + ShareProfileAvailabilityModesFixedValueRegionalConst = "regional" + ShareProfileAvailabilityModesFixedValueZonalConst = "zonal" +) + +func (*ShareProfileAvailabilityModesFixed) isaShareProfileAvailabilityModes() bool { + return true +} + +// UnmarshalShareProfileAvailabilityModesFixed unmarshals an instance of ShareProfileAvailabilityModesFixed from the specified map of raw messages. +func UnmarshalShareProfileAvailabilityModesFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileAvailabilityModesFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileBandwidthDependent : The permitted bandwidth for a share with this profile depends on its configuration. +// This model "extends" ShareProfileBandwidth +type ShareProfileBandwidthDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the ShareProfileBandwidthDependent.Type property. +// The type for this profile field. +const ( + ShareProfileBandwidthDependentTypeDependentConst = "dependent" +) + +func (*ShareProfileBandwidthDependent) isaShareProfileBandwidth() bool { + return true +} + +// UnmarshalShareProfileBandwidthDependent unmarshals an instance of ShareProfileBandwidthDependent from the specified map of raw messages. +func UnmarshalShareProfileBandwidthDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileBandwidthDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileBandwidthDependentRange : The permitted bandwidth range of a share with this profile depends on its configuration. +// This model "extends" ShareProfileBandwidth +type ShareProfileBandwidthDependentRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the ShareProfileBandwidthDependentRange.Type property. +// The type for this profile field. +const ( + ShareProfileBandwidthDependentRangeTypeDependentRangeConst = "dependent_range" +) + +func (*ShareProfileBandwidthDependentRange) isaShareProfileBandwidth() bool { + return true +} + +// UnmarshalShareProfileBandwidthDependentRange unmarshals an instance of ShareProfileBandwidthDependentRange from the specified map of raw messages. +func UnmarshalShareProfileBandwidthDependentRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileBandwidthDependentRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileBandwidthEnum : The permitted bandwidth values of a share with this profile. +// This model "extends" ShareProfileBandwidth +type ShareProfileBandwidthEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the ShareProfileBandwidthEnum.Type property. +// The type for this profile field. +const ( + ShareProfileBandwidthEnumTypeEnumConst = "enum" +) + +func (*ShareProfileBandwidthEnum) isaShareProfileBandwidth() bool { + return true +} + +// UnmarshalShareProfileBandwidthEnum unmarshals an instance of ShareProfileBandwidthEnum from the specified map of raw messages. +func UnmarshalShareProfileBandwidthEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileBandwidthEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileBandwidthFixed : The permitted bandwidth of a share with this profile is fixed. +// This model "extends" ShareProfileBandwidth +type ShareProfileBandwidthFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the ShareProfileBandwidthFixed.Type property. +// The type for this profile field. +const ( + ShareProfileBandwidthFixedTypeFixedConst = "fixed" +) + +func (*ShareProfileBandwidthFixed) isaShareProfileBandwidth() bool { + return true +} + +// UnmarshalShareProfileBandwidthFixed unmarshals an instance of ShareProfileBandwidthFixed from the specified map of raw messages. +func UnmarshalShareProfileBandwidthFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileBandwidthFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileBandwidthRange : The permitted bandwidth range (in megabits per second) of a share with this profile. +// This model "extends" ShareProfileBandwidth +type ShareProfileBandwidthRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + Value *int64 `json:"value,omitempty"` +} + +// Constants associated with the ShareProfileBandwidthRange.Type property. +// The type for this profile field. +const ( + ShareProfileBandwidthRangeTypeRangeConst = "range" +) + +func (*ShareProfileBandwidthRange) isaShareProfileBandwidth() bool { + return true +} + +// UnmarshalShareProfileBandwidthRange unmarshals an instance of ShareProfileBandwidthRange from the specified map of raw messages. +func UnmarshalShareProfileBandwidthRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileBandwidthRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileCapacityDependentRange : The permitted total capacity (in gigabytes) of a share with this profile depends on its configuration. +// This model "extends" ShareProfileCapacity +type ShareProfileCapacityDependentRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the ShareProfileCapacityDependentRange.Type property. +// The type for this profile field. +const ( + ShareProfileCapacityDependentRangeTypeDependentRangeConst = "dependent_range" +) + +func (*ShareProfileCapacityDependentRange) isaShareProfileCapacity() bool { + return true +} + +// UnmarshalShareProfileCapacityDependentRange unmarshals an instance of ShareProfileCapacityDependentRange from the specified map of raw messages. +func UnmarshalShareProfileCapacityDependentRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileCapacityDependentRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileCapacityEnum : The permitted total capacities (in gigabytes) of a share with this profile. +// This model "extends" ShareProfileCapacity +type ShareProfileCapacityEnum struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the ShareProfileCapacityEnum.Type property. +// The type for this profile field. +const ( + ShareProfileCapacityEnumTypeEnumConst = "enum" +) + +func (*ShareProfileCapacityEnum) isaShareProfileCapacity() bool { + return true +} + +// UnmarshalShareProfileCapacityEnum unmarshals an instance of ShareProfileCapacityEnum from the specified map of raw messages. +func UnmarshalShareProfileCapacityEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileCapacityEnum) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileCapacityFixed : The permitted total capacity (in gigabytes) of a share with this profile is fixed. +// This model "extends" ShareProfileCapacity +type ShareProfileCapacityFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the ShareProfileCapacityFixed.Type property. +// The type for this profile field. +const ( + ShareProfileCapacityFixedTypeFixedConst = "fixed" +) + +func (*ShareProfileCapacityFixed) isaShareProfileCapacity() bool { + return true +} + +// UnmarshalShareProfileCapacityFixed unmarshals an instance of ShareProfileCapacityFixed from the specified map of raw messages. +func UnmarshalShareProfileCapacityFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileCapacityFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileCapacityRange : The permitted total capacity range (in gigabytes) of a share with this profile. +// This model "extends" ShareProfileCapacity +type ShareProfileCapacityRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the ShareProfileCapacityRange.Type property. +// The type for this profile field. +const ( + ShareProfileCapacityRangeTypeRangeConst = "range" +) + +func (*ShareProfileCapacityRange) isaShareProfileCapacity() bool { + return true +} + +// UnmarshalShareProfileCapacityRange unmarshals an instance of ShareProfileCapacityRange from the specified map of raw messages. +func UnmarshalShareProfileCapacityRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileCapacityRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileIopsDependent : The permitted IOPS for a share with this profile depends on its configuration. +// This model "extends" ShareProfileIops +type ShareProfileIopsDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the ShareProfileIopsDependent.Type property. +// The type for this profile field. +const ( + ShareProfileIopsDependentTypeDependentConst = "dependent" +) + +func (*ShareProfileIopsDependent) isaShareProfileIops() bool { + return true +} + +// UnmarshalShareProfileIopsDependent unmarshals an instance of ShareProfileIopsDependent from the specified map of raw messages. +func UnmarshalShareProfileIopsDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIopsDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileIopsDependentRange : The permitted IOPS range of a share with this profile depends on its configuration. +// This model "extends" ShareProfileIops +type ShareProfileIopsDependentRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the ShareProfileIopsDependentRange.Type property. +// The type for this profile field. +const ( + ShareProfileIopsDependentRangeTypeDependentRangeConst = "dependent_range" +) + +func (*ShareProfileIopsDependentRange) isaShareProfileIops() bool { + return true +} + +// UnmarshalShareProfileIopsDependentRange unmarshals an instance of ShareProfileIopsDependentRange from the specified map of raw messages. +func UnmarshalShareProfileIopsDependentRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIopsDependentRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileIopsEnum : The permitted IOPS values of a share with this profile. +// This model "extends" ShareProfileIops +type ShareProfileIopsEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the ShareProfileIopsEnum.Type property. +// The type for this profile field. +const ( + ShareProfileIopsEnumTypeEnumConst = "enum" +) + +func (*ShareProfileIopsEnum) isaShareProfileIops() bool { + return true +} + +// UnmarshalShareProfileIopsEnum unmarshals an instance of ShareProfileIopsEnum from the specified map of raw messages. +func UnmarshalShareProfileIopsEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIopsEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileIopsFixed : The permitted IOPS of a share with this profile is fixed. +// This model "extends" ShareProfileIops +type ShareProfileIopsFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the ShareProfileIopsFixed.Type property. +// The type for this profile field. +const ( + ShareProfileIopsFixedTypeFixedConst = "fixed" +) + +func (*ShareProfileIopsFixed) isaShareProfileIops() bool { + return true +} + +// UnmarshalShareProfileIopsFixed unmarshals an instance of ShareProfileIopsFixed from the specified map of raw messages. +func UnmarshalShareProfileIopsFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIopsFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileIopsRange : The permitted IOPS range of a share with this profile. +// This model "extends" ShareProfileIops +type ShareProfileIopsRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the ShareProfileIopsRange.Type property. +// The type for this profile field. +const ( + ShareProfileIopsRangeTypeRangeConst = "range" +) + +func (*ShareProfileIopsRange) isaShareProfileIops() bool { + return true +} + +// UnmarshalShareProfileIopsRange unmarshals an instance of ShareProfileIopsRange from the specified map of raw messages. +func UnmarshalShareProfileIopsRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIopsRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareProfileIdentityByHref : ShareProfileIdentityByHref struct +// This model "extends" ShareProfileIdentity +type ShareProfileIdentityByHref struct { + // The URL for this share profile. + Href *string `json:"href" validate:"required"` +} + +// NewShareProfileIdentityByHref : Instantiate ShareProfileIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewShareProfileIdentityByHref(href string) (_model *ShareProfileIdentityByHref, err error) { + _model = &ShareProfileIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareProfileIdentityByHref) isaShareProfileIdentity() bool { + return true +} + +// UnmarshalShareProfileIdentityByHref unmarshals an instance of ShareProfileIdentityByHref from the specified map of raw messages. +func UnmarshalShareProfileIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ShareProfileIdentityByHref +func (shareProfileIdentityByHref *ShareProfileIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(shareProfileIdentityByHref.Href) { + _patch["href"] = shareProfileIdentityByHref.Href + } + + return +} + +// ShareProfileIdentityByName : ShareProfileIdentityByName struct +// This model "extends" ShareProfileIdentity +type ShareProfileIdentityByName struct { + // The globally unique name for this share profile. + Name *string `json:"name" validate:"required"` +} + +// NewShareProfileIdentityByName : Instantiate ShareProfileIdentityByName (Generic Model Constructor) +func (*VpcV1) NewShareProfileIdentityByName(name string) (_model *ShareProfileIdentityByName, err error) { + _model = &ShareProfileIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareProfileIdentityByName) isaShareProfileIdentity() bool { + return true +} + +// UnmarshalShareProfileIdentityByName unmarshals an instance of ShareProfileIdentityByName from the specified map of raw messages. +func UnmarshalShareProfileIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ShareProfileIdentityByName +func (shareProfileIdentityByName *ShareProfileIdentityByName) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(shareProfileIdentityByName.Name) { + _patch["name"] = shareProfileIdentityByName.Name + } + + return +} + +// ShareProfileStorageGenerationFixed : The storage generation value of a share with this profile is fixed. +// This model "extends" ShareProfileStorageGeneration +type ShareProfileStorageGenerationFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the ShareProfileStorageGenerationFixed.Type property. +// The type for this profile field. +const ( + ShareProfileStorageGenerationFixedTypeFixedConst = "fixed" +) + +func (*ShareProfileStorageGenerationFixed) isaShareProfileStorageGeneration() bool { + return true +} + +// UnmarshalShareProfileStorageGenerationFixed unmarshals an instance of ShareProfileStorageGenerationFixed from the specified map of raw messages. +func UnmarshalShareProfileStorageGenerationFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareProfileStorageGenerationFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SharePrototypeShareByOriginShare : Create an accessor file share for an existing file share. The values for +// `access_control_mode`, `allowed_access_protocols`, `bandwidth`, `encryption_key`, +// `initial_owner`, `iops`, `profile`, `size`, and `zone` will be inherited from +// `origin_share`. +// +// Accessor file shares can only be created for shares with a `storage_generation` of `1`. +// This model "extends" SharePrototype +type SharePrototypeShareByOriginShare struct { + // The transit encryption modes to allow for this share. If unspecified: + // - If share mount targets are specified, then only transit encryption modes + // specified by those share mount target will be allowed. + // - Otherwise, the default allowed transit encryption modes from the profile will be + // used. + AllowedTransitEncryptionModes []string `json:"allowed_transit_encryption_modes,omitempty"` + + // The mount targets for the file share. Each mount target must be in a unique VPC. + MountTargets []ShareMountTargetPrototypeIntf `json:"mount_targets,omitempty"` + + // The name for this share. The name must not be used by another share in the region. If unspecified, the name will be + // a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ReplicaShare *SharePrototypeShareContext `json:"replica_share,omitempty"` + + // The tags for this resource. + UserTags []string `json:"user_tags,omitempty"` + + // The origin share for the accessor share. The origin share must have an + // `access_control_mode` of `security_group`, and must not have an + // `accessor_binding_role` of `accessor`. + // + // The specified share may be in a different account, subject to IAM policies. + OriginShare ShareIdentityIntf `json:"origin_share" validate:"required"` + + // The resource group to use. If unspecified, the resource group from + // the origin share will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` +} + +// Constants associated with the SharePrototypeShareByOriginShare.AllowedTransitEncryptionModes property. +const ( + SharePrototypeShareByOriginShareAllowedTransitEncryptionModesIpsecConst = "ipsec" + SharePrototypeShareByOriginShareAllowedTransitEncryptionModesNoneConst = "none" + SharePrototypeShareByOriginShareAllowedTransitEncryptionModesStunnelConst = "stunnel" +) + +// NewSharePrototypeShareByOriginShare : Instantiate SharePrototypeShareByOriginShare (Generic Model Constructor) +func (*VpcV1) NewSharePrototypeShareByOriginShare(originShare ShareIdentityIntf) (_model *SharePrototypeShareByOriginShare, err error) { + _model = &SharePrototypeShareByOriginShare{ + OriginShare: originShare, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SharePrototypeShareByOriginShare) isaSharePrototype() bool { + return true +} + +// UnmarshalSharePrototypeShareByOriginShare unmarshals an instance of SharePrototypeShareByOriginShare from the specified map of raw messages. +func UnmarshalSharePrototypeShareByOriginShare(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SharePrototypeShareByOriginShare) + err = core.UnmarshalPrimitive(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "mount_targets", &obj.MountTargets, UnmarshalShareMountTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "mount_targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "replica_share", &obj.ReplicaShare, UnmarshalSharePrototypeShareContext) + if err != nil { + err = core.SDKErrorf(err, "", "replica_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "origin_share", &obj.OriginShare, UnmarshalShareIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "origin_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SharePrototypeShareBySize : Create a file share by size. +// This model "extends" SharePrototype +type SharePrototypeShareBySize struct { + // The transit encryption modes to allow for this share. If unspecified: + // - If share mount targets are specified, then only transit encryption modes + // specified by those share mount target will be allowed. + // - Otherwise, the default allowed transit encryption modes from the profile will be + // used. + AllowedTransitEncryptionModes []string `json:"allowed_transit_encryption_modes,omitempty"` + + // The mount targets for the file share. Each mount target must be in a unique VPC. + MountTargets []ShareMountTargetPrototypeIntf `json:"mount_targets,omitempty"` + + // The name for this share. The name must not be used by another share in the region. If unspecified, the name will be + // a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ReplicaShare *SharePrototypeShareContext `json:"replica_share,omitempty"` + + // The tags for this resource. + UserTags []string `json:"user_tags,omitempty"` + + // The access control mode for the share: + // + // - `security_group`: The security groups on the virtual network interface for a + // mount target control access to the mount target. Mount targets for this share + // require a virtual network interface. + // - `vpc`: All clients in the VPC for a mount target have access to the mount target. + // Mount targets for this share require a VPC. + AccessControlMode *string `json:"access_control_mode,omitempty"` + + // The access protocols to allow for this share. If unspecified: + // - If share mount targets are specified, only the access protocols specified by those + // share mount target will be allowed. + // - Otherwise, the default access protocols from the profile will be used. + AllowedAccessProtocols []string `json:"allowed_access_protocols,omitempty"` + + // The maximum bandwidth (in megabits per second) for the file share. + // + // If the share profile has a `bandwidth.type` of `dependent` or `fixed`, this property is system-managed and must not + // be specified. Otherwise, the specified value must be within the `bandwidth` range of the share's profile. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`size` + // and + // `iops`](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The root key to use to wrap the data encryption key for the share. + // + // If unspecified, the `encryption` type for the share will be `provider_managed`. + // + // The specified key may be in a different account, subject to IAM policies. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The owner assigned to the file share at creation. Subsequent changes to the owner + // must be performed by a client that has mounted the file share. + InitialOwner *ShareInitialOwner `json:"initial_owner,omitempty"` + + // The maximum input/output operations per second (IOPS) for the file share. + // + // If the share profile has an `iops.type` of `dependent` or `fixed`, this property is system-managed and must not be + // specified. Otherwise, the specified value must be within the `iops` range of the share profile as supported by the + // share's specified size. + Iops *int64 `json:"iops,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use + // for this file share. The profile must support the share's specified IOPS and size. + Profile ShareProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The size of the file share (in gigabytes), excluding share snapshots. + // + // The specified value must be within the permitted `capacity` range of the share's profile and supported by the + // share's specified IOPS. + Size *int64 `json:"size" validate:"required"` + + // The zone this file share will reside in. For a replica share in the same region as + // the source share, this must be a different zone from the source share. + // + // This property must be specified if the share profile `availability_mode` is `zonal`, + // and must not be specified otherwise. + Zone ZoneIdentityIntf `json:"zone,omitempty"` +} + +// Constants associated with the SharePrototypeShareBySize.AllowedTransitEncryptionModes property. +const ( + SharePrototypeShareBySizeAllowedTransitEncryptionModesIpsecConst = "ipsec" + SharePrototypeShareBySizeAllowedTransitEncryptionModesNoneConst = "none" + SharePrototypeShareBySizeAllowedTransitEncryptionModesStunnelConst = "stunnel" +) + +// Constants associated with the SharePrototypeShareBySize.AccessControlMode property. +// The access control mode for the share: +// +// - `security_group`: The security groups on the virtual network interface for a +// mount target control access to the mount target. Mount targets for this share +// require a virtual network interface. +// - `vpc`: All clients in the VPC for a mount target have access to the mount target. +// Mount targets for this share require a VPC. +const ( + SharePrototypeShareBySizeAccessControlModeSecurityGroupConst = "security_group" + SharePrototypeShareBySizeAccessControlModeVPCConst = "vpc" +) + +// Constants associated with the SharePrototypeShareBySize.AllowedAccessProtocols property. +const ( + SharePrototypeShareBySizeAllowedAccessProtocolsNfs4Const = "nfs4" +) + +// NewSharePrototypeShareBySize : Instantiate SharePrototypeShareBySize (Generic Model Constructor) +func (*VpcV1) NewSharePrototypeShareBySize(profile ShareProfileIdentityIntf, size int64) (_model *SharePrototypeShareBySize, err error) { + _model = &SharePrototypeShareBySize{ + Profile: profile, + Size: core.Int64Ptr(size), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SharePrototypeShareBySize) isaSharePrototype() bool { + return true +} + +// UnmarshalSharePrototypeShareBySize unmarshals an instance of SharePrototypeShareBySize from the specified map of raw messages. +func UnmarshalSharePrototypeShareBySize(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SharePrototypeShareBySize) + err = core.UnmarshalPrimitive(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "mount_targets", &obj.MountTargets, UnmarshalShareMountTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "mount_targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "replica_share", &obj.ReplicaShare, UnmarshalSharePrototypeShareContext) + if err != nil { + err = core.SDKErrorf(err, "", "replica_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "access_control_mode", &obj.AccessControlMode) + if err != nil { + err = core.SDKErrorf(err, "", "access_control_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_access_protocols", &obj.AllowedAccessProtocols) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_access_protocols-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "initial_owner", &obj.InitialOwner, UnmarshalShareInitialOwner) + if err != nil { + err = core.SDKErrorf(err, "", "initial_owner-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalShareProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SharePrototypeShareBySourceShare : Create a replica file share for an existing file share. The values for +// `access_control_mode`, `allowed_access_protocols`, `bandwidth`, `encryption_key`, +// `initial_owner`, and `size` will be inherited from the `source_share`. +// +// Replica file shares can only be created if the source share has a `storage_generation` of +// `1`. +// This model "extends" SharePrototype +type SharePrototypeShareBySourceShare struct { + // The transit encryption modes to allow for this share. If unspecified: + // - If share mount targets are specified, then only transit encryption modes + // specified by those share mount target will be allowed. + // - Otherwise, the default allowed transit encryption modes from the profile will be + // used. + AllowedTransitEncryptionModes []string `json:"allowed_transit_encryption_modes,omitempty"` + + // The mount targets for the file share. Each mount target must be in a unique VPC. + MountTargets []ShareMountTargetPrototypeIntf `json:"mount_targets,omitempty"` + + // The name for this share. The name must not be used by another share in the region. If unspecified, the name will be + // a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ReplicaShare *SharePrototypeShareContext `json:"replica_share,omitempty"` + + // The tags for this resource. + UserTags []string `json:"user_tags,omitempty"` + + // The root key to use to wrap the data encryption key for the share. + // + // This property must be specified if the `source_share` is in a different region and has + // an `encryption` type of `user_managed`, and must not be specified otherwise (its value + // will be inherited from `source_share`). + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The maximum input/output operations per second (IOPS) for the file share. + // + // If the share profile has an `iops.type` of `dependent` or `fixed`, this property is system-managed and must not be + // specified. Otherwise, the specified value must be within the `iops` range of the share profile as supported by the + // share's specified size. + Iops *int64 `json:"iops,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use + // for this file share. The profile must: + // - support the share's specified IOPS and size, and + // - have the same `storage_generation` as the source share. + Profile ShareProfileIdentityIntf `json:"profile" validate:"required"` + + // The cron specification for the file share replication schedule. + // + // Replication of a share can be scheduled to occur at most once every 15 minutes. + // + // The scheduling frequency for this property may + // [increase](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ReplicationCronSpec *string `json:"replication_cron_spec" validate:"required"` + + // The resource group to use. If unspecified, the resource group from + // the source share will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The source file share for this replica file share. The specified file share must: + // - Not already have a replica. + // - Not be a replica. + // - Have a `storage_generation` of `1`. + // + // If source file share is specified by CRN, it may be in an [associated partner + // region](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-replication). + SourceShare ShareIdentityIntf `json:"source_share" validate:"required"` + + // The zone this file share will reside in. For a replica share in the same region as + // the source share, this must be a different zone from the source share. + // + // This property must be specified if the share profile `availability_mode` is `zonal`, + // and must not be specified otherwise. + Zone ZoneIdentityIntf `json:"zone,omitempty"` +} + +// Constants associated with the SharePrototypeShareBySourceShare.AllowedTransitEncryptionModes property. +const ( + SharePrototypeShareBySourceShareAllowedTransitEncryptionModesIpsecConst = "ipsec" + SharePrototypeShareBySourceShareAllowedTransitEncryptionModesNoneConst = "none" + SharePrototypeShareBySourceShareAllowedTransitEncryptionModesStunnelConst = "stunnel" +) + +// NewSharePrototypeShareBySourceShare : Instantiate SharePrototypeShareBySourceShare (Generic Model Constructor) +func (*VpcV1) NewSharePrototypeShareBySourceShare(profile ShareProfileIdentityIntf, replicationCronSpec string, sourceShare ShareIdentityIntf) (_model *SharePrototypeShareBySourceShare, err error) { + _model = &SharePrototypeShareBySourceShare{ + Profile: profile, + ReplicationCronSpec: core.StringPtr(replicationCronSpec), + SourceShare: sourceShare, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SharePrototypeShareBySourceShare) isaSharePrototype() bool { + return true +} + +// UnmarshalSharePrototypeShareBySourceShare unmarshals an instance of SharePrototypeShareBySourceShare from the specified map of raw messages. +func UnmarshalSharePrototypeShareBySourceShare(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SharePrototypeShareBySourceShare) + err = core.UnmarshalPrimitive(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "mount_targets", &obj.MountTargets, UnmarshalShareMountTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "mount_targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "replica_share", &obj.ReplicaShare, UnmarshalSharePrototypeShareContext) + if err != nil { + err = core.SDKErrorf(err, "", "replica_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalShareProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "replication_cron_spec", &obj.ReplicationCronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "replication_cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_share", &obj.SourceShare, UnmarshalShareIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SharePrototypeShareBySourceSnapshot : Create a file share from a source snapshot. The initial value for `access_control_mode`, +// `initial_owner` and `zone` will be inherited from `source_snapshot`. +// This model "extends" SharePrototype +type SharePrototypeShareBySourceSnapshot struct { + // The transit encryption modes to allow for this share. If unspecified: + // - If share mount targets are specified, then only transit encryption modes + // specified by those share mount target will be allowed. + // - Otherwise, the default allowed transit encryption modes from the profile will be + // used. + AllowedTransitEncryptionModes []string `json:"allowed_transit_encryption_modes,omitempty"` + + // The mount targets for the file share. Each mount target must be in a unique VPC. + MountTargets []ShareMountTargetPrototypeIntf `json:"mount_targets,omitempty"` + + // The name for this share. The name must not be used by another share in the region. If unspecified, the name will be + // a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ReplicaShare *SharePrototypeShareContext `json:"replica_share,omitempty"` + + // The tags for this resource. + UserTags []string `json:"user_tags,omitempty"` + + // The access protocols to allow for this share. If unspecified: + // - If share mount targets are specified, only the access protocols specified by those + // share mount target will be allowed. + // - Otherwise, the default access protocols from the profile will be used. + AllowedAccessProtocols []string `json:"allowed_access_protocols,omitempty"` + + // The maximum bandwidth (in megabits per second) for the file share. + // + // If the share profile has a `bandwidth.type` of `dependent` or `fixed`, this property is system-managed and must not + // be specified. Otherwise, the specified value must be within the `bandwidth` range of the share's profile. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`size` + // and + // `iops`](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The root key to use to wrap the data encryption key for the share. + // + // The specified key may be in a different account, subject to IAM policies. + // + // If unspecified, the source share's `encryption_key` will be used. + // + // For snapshots of shares with `storage_generation` of `2`, an encryption key may only + // be specified if the source share's `encryption` is `user_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The owner assigned to the file share at creation. Subsequent changes to the owner + // must be performed by a client that has mounted the file share. + // + // `initial_owner` for a share created from a source snapshot can only be specified for + // snapshots of shares with `storage_generation` of `1`. + InitialOwner *ShareInitialOwner `json:"initial_owner,omitempty"` + + // The maximum input/output operations per second (IOPS) for the file share. + // + // If the share profile has an `iops.type` of `dependent` or `fixed`, this property is system-managed and must not be + // specified. Otherwise, the specified value must be within the `iops` range of the share profile as supported by the + // share's specified size. + Iops *int64 `json:"iops,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles) to use + // for this file share. The profile must: + // - support the share's specified IOPS and size, and + // - have the same `storage_generation` as the source snapshot. + Profile ShareProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use. If unspecified, the account's [default resource + // group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The size to use for the file share (in gigabytes). The specified value must be at least the snapshot's + // `minimum_size`, and must be within the `size` range of the share's profile. + // + // If unspecified, the source snapshot's `minimum_size` will be used. + Size *int64 `json:"size,omitempty"` + + // The source snapshot to clone this file share from. + // + // This file share will reside in the same zone as the specified source snapshot. + // The snapshot must have the `lifecycle_state` as `stable` and `status` as `available` + // to be able to restore a share for it. + SourceSnapshot ShareSourceSnapshotPrototypeIntf `json:"source_snapshot" validate:"required"` +} + +// Constants associated with the SharePrototypeShareBySourceSnapshot.AllowedTransitEncryptionModes property. +const ( + SharePrototypeShareBySourceSnapshotAllowedTransitEncryptionModesIpsecConst = "ipsec" + SharePrototypeShareBySourceSnapshotAllowedTransitEncryptionModesNoneConst = "none" + SharePrototypeShareBySourceSnapshotAllowedTransitEncryptionModesStunnelConst = "stunnel" +) + +// Constants associated with the SharePrototypeShareBySourceSnapshot.AllowedAccessProtocols property. +const ( + SharePrototypeShareBySourceSnapshotAllowedAccessProtocolsNfs4Const = "nfs4" +) + +// NewSharePrototypeShareBySourceSnapshot : Instantiate SharePrototypeShareBySourceSnapshot (Generic Model Constructor) +func (*VpcV1) NewSharePrototypeShareBySourceSnapshot(profile ShareProfileIdentityIntf, sourceSnapshot ShareSourceSnapshotPrototypeIntf) (_model *SharePrototypeShareBySourceSnapshot, err error) { + _model = &SharePrototypeShareBySourceSnapshot{ + Profile: profile, + SourceSnapshot: sourceSnapshot, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SharePrototypeShareBySourceSnapshot) isaSharePrototype() bool { + return true +} + +// UnmarshalSharePrototypeShareBySourceSnapshot unmarshals an instance of SharePrototypeShareBySourceSnapshot from the specified map of raw messages. +func UnmarshalSharePrototypeShareBySourceSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SharePrototypeShareBySourceSnapshot) + err = core.UnmarshalPrimitive(m, "allowed_transit_encryption_modes", &obj.AllowedTransitEncryptionModes) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_transit_encryption_modes-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "mount_targets", &obj.MountTargets, UnmarshalShareMountTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "mount_targets-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "replica_share", &obj.ReplicaShare, UnmarshalSharePrototypeShareContext) + if err != nil { + err = core.SDKErrorf(err, "", "replica_share-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "allowed_access_protocols", &obj.AllowedAccessProtocols) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_access_protocols-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "initial_owner", &obj.InitialOwner, UnmarshalShareInitialOwner) + if err != nil { + err = core.SDKErrorf(err, "", "initial_owner-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalShareProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "size", &obj.Size) + if err != nil { + err = core.SDKErrorf(err, "", "size-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalShareSourceSnapshotPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSourceSnapshotPrototypeShareSnapshotIdentity : Identifies a share snapshot by a unique property. +// Models which "extend" this model: +// - ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID +// - ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN +// - ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref +// This model "extends" ShareSourceSnapshotPrototype +type ShareSourceSnapshotPrototypeShareSnapshotIdentity struct { + // The unique identifier for this share snapshot. + ID *string `json:"id,omitempty"` + + // The CRN for this share snapshot. + CRN *string `json:"crn,omitempty"` + + // The URL for this share snapshot. + Href *string `json:"href,omitempty"` +} + +func (*ShareSourceSnapshotPrototypeShareSnapshotIdentity) isaShareSourceSnapshotPrototypeShareSnapshotIdentity() bool { + return true +} + +type ShareSourceSnapshotPrototypeShareSnapshotIdentityIntf interface { + ShareSourceSnapshotPrototypeIntf + isaShareSourceSnapshotPrototypeShareSnapshotIdentity() bool +} + +func (*ShareSourceSnapshotPrototypeShareSnapshotIdentity) isaShareSourceSnapshotPrototype() bool { + return true +} + +// UnmarshalShareSourceSnapshotPrototypeShareSnapshotIdentity unmarshals an instance of ShareSourceSnapshotPrototypeShareSnapshotIdentity from the specified map of raw messages. +func UnmarshalShareSourceSnapshotPrototypeShareSnapshotIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSourceSnapshotPrototypeShareSnapshotIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSourceSnapshotShareSnapshotReference : ShareSourceSnapshotShareSnapshotReference struct +// This model "extends" ShareSourceSnapshot +type ShareSourceSnapshotShareSnapshotReference struct { + // The CRN for this share snapshot. + CRN *string `json:"crn" validate:"required"` + + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this share snapshot. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this share snapshot. + ID *string `json:"id" validate:"required"` + + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the ShareSourceSnapshotShareSnapshotReference.ResourceType property. +// The resource type. +const ( + ShareSourceSnapshotShareSnapshotReferenceResourceTypeShareSnapshotConst = "share_snapshot" +) + +func (*ShareSourceSnapshotShareSnapshotReference) isaShareSourceSnapshot() bool { + return true +} + +// UnmarshalShareSourceSnapshotShareSnapshotReference unmarshals an instance of ShareSourceSnapshotShareSnapshotReference from the specified map of raw messages. +func UnmarshalShareSourceSnapshotShareSnapshotReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSourceSnapshotShareSnapshotReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots : SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots struct +// This model "extends" SnapshotConsistencyGroupPrototype +type SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots struct { + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete *bool `json:"delete_snapshots_on_delete,omitempty"` + + // The name for this snapshot consistency group. The name must be unique across all snapshot consistency groups in the + // region. + // + // If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The data-consistent member snapshots to create. Each snapshot must specify a + // `source_volume` attached to the same virtual server instance, and all source volumes must have a + // `storage_generation` value of `1`. + Snapshots []SnapshotPrototypeSnapshotConsistencyGroupContext `json:"snapshots" validate:"required"` +} + +// NewSnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots : Instantiate SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots (Generic Model Constructor) +func (*VpcV1) NewSnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots(snapshots []SnapshotPrototypeSnapshotConsistencyGroupContext) (_model *SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots, err error) { + _model = &SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots{ + Snapshots: snapshots, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots) isaSnapshotConsistencyGroupPrototype() bool { + return true +} + +// UnmarshalSnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots unmarshals an instance of SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots from the specified map of raw messages. +func UnmarshalSnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots) + err = core.UnmarshalPrimitive(m, "delete_snapshots_on_delete", &obj.DeleteSnapshotsOnDelete) + if err != nil { + err = core.SDKErrorf(err, "", "delete_snapshots_on_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "snapshots", &obj.Snapshots, UnmarshalSnapshotPrototypeSnapshotConsistencyGroupContext) + if err != nil { + err = core.SDKErrorf(err, "", "snapshots-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotIdentityByCRN : SnapshotIdentityByCRN struct +// This model "extends" SnapshotIdentity +type SnapshotIdentityByCRN struct { + // The CRN of this snapshot. + CRN *string `json:"crn" validate:"required"` +} + +// NewSnapshotIdentityByCRN : Instantiate SnapshotIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewSnapshotIdentityByCRN(crn string) (_model *SnapshotIdentityByCRN, err error) { + _model = &SnapshotIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SnapshotIdentityByCRN) isaSnapshotIdentity() bool { + return true +} + +// UnmarshalSnapshotIdentityByCRN unmarshals an instance of SnapshotIdentityByCRN from the specified map of raw messages. +func UnmarshalSnapshotIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotIdentityByHref : SnapshotIdentityByHref struct +// This model "extends" SnapshotIdentity +type SnapshotIdentityByHref struct { + // The URL for this snapshot. + Href *string `json:"href" validate:"required"` +} + +// NewSnapshotIdentityByHref : Instantiate SnapshotIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewSnapshotIdentityByHref(href string) (_model *SnapshotIdentityByHref, err error) { + _model = &SnapshotIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SnapshotIdentityByHref) isaSnapshotIdentity() bool { + return true +} + +// UnmarshalSnapshotIdentityByHref unmarshals an instance of SnapshotIdentityByHref from the specified map of raw messages. +func UnmarshalSnapshotIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotIdentityByID : SnapshotIdentityByID struct +// This model "extends" SnapshotIdentity +type SnapshotIdentityByID struct { + // The unique identifier for this snapshot. + ID *string `json:"id" validate:"required"` +} + +// NewSnapshotIdentityByID : Instantiate SnapshotIdentityByID (Generic Model Constructor) +func (*VpcV1) NewSnapshotIdentityByID(id string) (_model *SnapshotIdentityByID, err error) { + _model = &SnapshotIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SnapshotIdentityByID) isaSnapshotIdentity() bool { + return true +} + +// UnmarshalSnapshotIdentityByID unmarshals an instance of SnapshotIdentityByID from the specified map of raw messages. +func UnmarshalSnapshotIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotPrototypeSnapshotBySourceSnapshot : SnapshotPrototypeSnapshotBySourceSnapshot struct +// This model "extends" SnapshotPrototype +type SnapshotPrototypeSnapshotBySourceSnapshot struct { + // The usage constraints to match against the requested instance or bare metal server properties to determine + // compatibility. + // + // Can only be specified for bootable snapshots. + AllowedUse *SnapshotAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The clones to create for this snapshot. + Clones []SnapshotClonePrototype `json:"clones,omitempty"` + + // The name for this snapshot. The name must not be used by another snapshot in the region. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this snapshot. + UserTags []string `json:"user_tags,omitempty"` + + // The root key to use to wrap the data encryption key for this snapshot. + // + // A key must be specified if and only if the source snapshot has an `encryption` type of + // `user_managed`. To maximize snapshot availability and sharing of snapshot data, specify + // a key in the same region as the new snapshot, and use the same encryption key for all + // snapshots using the same source volume. + // + // The specified key may be in a different account, subject to IAM policies. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The source snapshot (in another region) to create this snapshot from. + // The specified snapshot must not already be the source of another snapshot in this + // region. + SourceSnapshot *SnapshotIdentityByCRN `json:"source_snapshot" validate:"required"` +} + +// NewSnapshotPrototypeSnapshotBySourceSnapshot : Instantiate SnapshotPrototypeSnapshotBySourceSnapshot (Generic Model Constructor) +func (*VpcV1) NewSnapshotPrototypeSnapshotBySourceSnapshot(sourceSnapshot *SnapshotIdentityByCRN) (_model *SnapshotPrototypeSnapshotBySourceSnapshot, err error) { + _model = &SnapshotPrototypeSnapshotBySourceSnapshot{ + SourceSnapshot: sourceSnapshot, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SnapshotPrototypeSnapshotBySourceSnapshot) isaSnapshotPrototype() bool { + return true +} + +// UnmarshalSnapshotPrototypeSnapshotBySourceSnapshot unmarshals an instance of SnapshotPrototypeSnapshotBySourceSnapshot from the specified map of raw messages. +func UnmarshalSnapshotPrototypeSnapshotBySourceSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotPrototypeSnapshotBySourceSnapshot) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalSnapshotAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "clones", &obj.Clones, UnmarshalSnapshotClonePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "clones-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotIdentityByCRN) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SnapshotPrototypeSnapshotBySourceVolume : SnapshotPrototypeSnapshotBySourceVolume struct +// This model "extends" SnapshotPrototype +type SnapshotPrototypeSnapshotBySourceVolume struct { + // The usage constraints to match against the requested instance or bare metal server properties to determine + // compatibility. + // + // Can only be specified for bootable snapshots. + AllowedUse *SnapshotAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The clones to create for this snapshot. + Clones []SnapshotClonePrototype `json:"clones,omitempty"` + + // The name for this snapshot. The name must not be used by another snapshot in the region. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this snapshot. + UserTags []string `json:"user_tags,omitempty"` + + // The volume to create this snapshot from. + SourceVolume VolumeIdentityIntf `json:"source_volume" validate:"required"` +} + +// NewSnapshotPrototypeSnapshotBySourceVolume : Instantiate SnapshotPrototypeSnapshotBySourceVolume (Generic Model Constructor) +func (*VpcV1) NewSnapshotPrototypeSnapshotBySourceVolume(sourceVolume VolumeIdentityIntf) (_model *SnapshotPrototypeSnapshotBySourceVolume, err error) { + _model = &SnapshotPrototypeSnapshotBySourceVolume{ + SourceVolume: sourceVolume, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SnapshotPrototypeSnapshotBySourceVolume) isaSnapshotPrototype() bool { + return true +} + +// UnmarshalSnapshotPrototypeSnapshotBySourceVolume unmarshals an instance of SnapshotPrototypeSnapshotBySourceVolume from the specified map of raw messages. +func UnmarshalSnapshotPrototypeSnapshotBySourceVolume(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SnapshotPrototypeSnapshotBySourceVolume) + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalSnapshotAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "clones", &obj.Clones, UnmarshalSnapshotClonePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "clones-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_volume", &obj.SourceVolume, UnmarshalVolumeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_volume-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SubnetIdentityByCRN : SubnetIdentityByCRN struct +// This model "extends" SubnetIdentity +type SubnetIdentityByCRN struct { + // The CRN for this subnet. + CRN *string `json:"crn" validate:"required"` +} + +// NewSubnetIdentityByCRN : Instantiate SubnetIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewSubnetIdentityByCRN(crn string) (_model *SubnetIdentityByCRN, err error) { + _model = &SubnetIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SubnetIdentityByCRN) isaSubnetIdentity() bool { + return true +} + +// UnmarshalSubnetIdentityByCRN unmarshals an instance of SubnetIdentityByCRN from the specified map of raw messages. +func UnmarshalSubnetIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SubnetIdentityByCRN +func (subnetIdentityByCRN *SubnetIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetIdentityByCRN.CRN) { + _patch["crn"] = subnetIdentityByCRN.CRN + } + + return +} + +// SubnetIdentityByHref : SubnetIdentityByHref struct +// This model "extends" SubnetIdentity +type SubnetIdentityByHref struct { + // The URL for this subnet. + Href *string `json:"href" validate:"required"` +} + +// NewSubnetIdentityByHref : Instantiate SubnetIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewSubnetIdentityByHref(href string) (_model *SubnetIdentityByHref, err error) { + _model = &SubnetIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SubnetIdentityByHref) isaSubnetIdentity() bool { + return true +} + +// UnmarshalSubnetIdentityByHref unmarshals an instance of SubnetIdentityByHref from the specified map of raw messages. +func UnmarshalSubnetIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SubnetIdentityByHref +func (subnetIdentityByHref *SubnetIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetIdentityByHref.Href) { + _patch["href"] = subnetIdentityByHref.Href + } + + return +} + +// SubnetIdentityByID : SubnetIdentityByID struct +// This model "extends" SubnetIdentity +type SubnetIdentityByID struct { + // The unique identifier for this subnet. + ID *string `json:"id" validate:"required"` +} + +// NewSubnetIdentityByID : Instantiate SubnetIdentityByID (Generic Model Constructor) +func (*VpcV1) NewSubnetIdentityByID(id string) (_model *SubnetIdentityByID, err error) { + _model = &SubnetIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SubnetIdentityByID) isaSubnetIdentity() bool { + return true +} + +// UnmarshalSubnetIdentityByID unmarshals an instance of SubnetIdentityByID from the specified map of raw messages. +func UnmarshalSubnetIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SubnetIdentityByID +func (subnetIdentityByID *SubnetIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetIdentityByID.ID) { + _patch["id"] = subnetIdentityByID.ID + } + + return +} + +// SubnetPrototypeSubnetByCIDR : SubnetPrototypeSubnetByCIDR struct +// This model "extends" SubnetPrototype +type SubnetPrototypeSubnetByCIDR struct { + // The IP version(s) to support for this subnet. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this subnet. The name must not be used by another subnet in the VPC. If unspecified, the name will be a + // hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The network ACL to use for this subnet. + NetworkACL NetworkACLIdentityIntf `json:"network_acl,omitempty"` + + // The public gateway to use for internet-bound traffic for this subnet. If unspecified, the subnet will not be + // attached to a public gateway. + PublicGateway PublicGatewayIdentityIntf `json:"public_gateway,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The routing table to use for this subnet. If unspecified, the default routing table for the VPC is used. The routing + // table properties `route_direct_link_ingress`, + // `route_internet_ingress`, `route_transit_gateway_ingress`, and + // `route_vpc_zone_ingress` must be `false`. + RoutingTable RoutingTableIdentityIntf `json:"routing_table,omitempty"` + + // The VPC the subnet will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The IPv4 range of the subnet, expressed in CIDR format. The prefix length of the subnet's CIDR must be between `/9` + // (8,388,608 addresses) and `/29` (8 addresses). The IPv4 range of the subnet's CIDR must fall within an existing + // address prefix in the VPC and must not overlap with any existing subnet. The subnet will be created in the zone of + // the address prefix that contains the IPv4 CIDR. If zone is specified, it must match the zone of the address prefix + // that contains the subnet's IPv4 CIDR. + Ipv4CIDRBlock *string `json:"ipv4_cidr_block" validate:"required"` + + // The zone this subnet will reside in. + Zone ZoneIdentityIntf `json:"zone,omitempty"` +} + +// Constants associated with the SubnetPrototypeSubnetByCIDR.IPVersion property. +// The IP version(s) to support for this subnet. +const ( + SubnetPrototypeSubnetByCIDRIPVersionIpv4Const = "ipv4" +) + +// NewSubnetPrototypeSubnetByCIDR : Instantiate SubnetPrototypeSubnetByCIDR (Generic Model Constructor) +func (*VpcV1) NewSubnetPrototypeSubnetByCIDR(vpc VPCIdentityIntf, ipv4CIDRBlock string) (_model *SubnetPrototypeSubnetByCIDR, err error) { + _model = &SubnetPrototypeSubnetByCIDR{ + VPC: vpc, + Ipv4CIDRBlock: core.StringPtr(ipv4CIDRBlock), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SubnetPrototypeSubnetByCIDR) isaSubnetPrototype() bool { + return true +} + +// UnmarshalSubnetPrototypeSubnetByCIDR unmarshals an instance of SubnetPrototypeSubnetByCIDR from the specified map of raw messages. +func UnmarshalSubnetPrototypeSubnetByCIDR(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetPrototypeSubnetByCIDR) + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_acl", &obj.NetworkACL, UnmarshalNetworkACLIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "network_acl-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_gateway", &obj.PublicGateway, UnmarshalPublicGatewayIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "public_gateway-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routing_table", &obj.RoutingTable, UnmarshalRoutingTableIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "routing_table-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "ipv4_cidr_block", &obj.Ipv4CIDRBlock) + if err != nil { + err = core.SDKErrorf(err, "", "ipv4_cidr_block-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SubnetPrototypeSubnetByTotalCount : SubnetPrototypeSubnetByTotalCount struct +// This model "extends" SubnetPrototype +type SubnetPrototypeSubnetByTotalCount struct { + // The IP version(s) to support for this subnet. + IPVersion *string `json:"ip_version,omitempty"` + + // The name for this subnet. The name must not be used by another subnet in the VPC. If unspecified, the name will be a + // hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The network ACL to use for this subnet. + NetworkACL NetworkACLIdentityIntf `json:"network_acl,omitempty"` + + // The public gateway to use for internet-bound traffic for this subnet. If unspecified, the subnet will not be + // attached to a public gateway. + PublicGateway PublicGatewayIdentityIntf `json:"public_gateway,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The routing table to use for this subnet. If unspecified, the default routing table for the VPC is used. The routing + // table properties `route_direct_link_ingress`, + // `route_internet_ingress`, `route_transit_gateway_ingress`, and + // `route_vpc_zone_ingress` must be `false`. + RoutingTable RoutingTableIdentityIntf `json:"routing_table,omitempty"` + + // The VPC the subnet will reside in. + VPC VPCIdentityIntf `json:"vpc" validate:"required"` + + // The total number of IPv4 addresses required. Must be a power of 2. The VPC must have a default address prefix in the + // specified zone, and that prefix must have a free CIDR range with at least this number of addresses. + TotalIpv4AddressCount *int64 `json:"total_ipv4_address_count" validate:"required"` + + // The zone this subnet will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` +} + +// Constants associated with the SubnetPrototypeSubnetByTotalCount.IPVersion property. +// The IP version(s) to support for this subnet. +const ( + SubnetPrototypeSubnetByTotalCountIPVersionIpv4Const = "ipv4" +) + +// NewSubnetPrototypeSubnetByTotalCount : Instantiate SubnetPrototypeSubnetByTotalCount (Generic Model Constructor) +func (*VpcV1) NewSubnetPrototypeSubnetByTotalCount(vpc VPCIdentityIntf, totalIpv4AddressCount int64, zone ZoneIdentityIntf) (_model *SubnetPrototypeSubnetByTotalCount, err error) { + _model = &SubnetPrototypeSubnetByTotalCount{ + VPC: vpc, + TotalIpv4AddressCount: core.Int64Ptr(totalIpv4AddressCount), + Zone: zone, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SubnetPrototypeSubnetByTotalCount) isaSubnetPrototype() bool { + return true +} + +// UnmarshalSubnetPrototypeSubnetByTotalCount unmarshals an instance of SubnetPrototypeSubnetByTotalCount from the specified map of raw messages. +func UnmarshalSubnetPrototypeSubnetByTotalCount(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetPrototypeSubnetByTotalCount) + err = core.UnmarshalPrimitive(m, "ip_version", &obj.IPVersion) + if err != nil { + err = core.SDKErrorf(err, "", "ip_version-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_acl", &obj.NetworkACL, UnmarshalNetworkACLIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "network_acl-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "public_gateway", &obj.PublicGateway, UnmarshalPublicGatewayIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "public_gateway-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "routing_table", &obj.RoutingTable, UnmarshalRoutingTableIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "routing_table-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_ipv4_address_count", &obj.TotalIpv4AddressCount) + if err != nil { + err = core.SDKErrorf(err, "", "total_ipv4_address_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SubnetPublicGatewayPatchPublicGatewayIdentityByCRN : SubnetPublicGatewayPatchPublicGatewayIdentityByCRN struct +// This model "extends" SubnetPublicGatewayPatch +type SubnetPublicGatewayPatchPublicGatewayIdentityByCRN struct { + // The CRN for this public gateway. + CRN *string `json:"crn" validate:"required"` +} + +// NewSubnetPublicGatewayPatchPublicGatewayIdentityByCRN : Instantiate SubnetPublicGatewayPatchPublicGatewayIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewSubnetPublicGatewayPatchPublicGatewayIdentityByCRN(crn string) (_model *SubnetPublicGatewayPatchPublicGatewayIdentityByCRN, err error) { + _model = &SubnetPublicGatewayPatchPublicGatewayIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SubnetPublicGatewayPatchPublicGatewayIdentityByCRN) isaSubnetPublicGatewayPatch() bool { + return true +} + +// UnmarshalSubnetPublicGatewayPatchPublicGatewayIdentityByCRN unmarshals an instance of SubnetPublicGatewayPatchPublicGatewayIdentityByCRN from the specified map of raw messages. +func UnmarshalSubnetPublicGatewayPatchPublicGatewayIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetPublicGatewayPatchPublicGatewayIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SubnetPublicGatewayPatchPublicGatewayIdentityByCRN +func (subnetPublicGatewayPatchPublicGatewayIdentityByCRN *SubnetPublicGatewayPatchPublicGatewayIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetPublicGatewayPatchPublicGatewayIdentityByCRN.CRN) { + _patch["crn"] = subnetPublicGatewayPatchPublicGatewayIdentityByCRN.CRN + } + + return +} + +// SubnetPublicGatewayPatchPublicGatewayIdentityByHref : SubnetPublicGatewayPatchPublicGatewayIdentityByHref struct +// This model "extends" SubnetPublicGatewayPatch +type SubnetPublicGatewayPatchPublicGatewayIdentityByHref struct { + // The URL for this public gateway. + Href *string `json:"href" validate:"required"` +} + +// NewSubnetPublicGatewayPatchPublicGatewayIdentityByHref : Instantiate SubnetPublicGatewayPatchPublicGatewayIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewSubnetPublicGatewayPatchPublicGatewayIdentityByHref(href string) (_model *SubnetPublicGatewayPatchPublicGatewayIdentityByHref, err error) { + _model = &SubnetPublicGatewayPatchPublicGatewayIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SubnetPublicGatewayPatchPublicGatewayIdentityByHref) isaSubnetPublicGatewayPatch() bool { + return true +} + +// UnmarshalSubnetPublicGatewayPatchPublicGatewayIdentityByHref unmarshals an instance of SubnetPublicGatewayPatchPublicGatewayIdentityByHref from the specified map of raw messages. +func UnmarshalSubnetPublicGatewayPatchPublicGatewayIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetPublicGatewayPatchPublicGatewayIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SubnetPublicGatewayPatchPublicGatewayIdentityByHref +func (subnetPublicGatewayPatchPublicGatewayIdentityByHref *SubnetPublicGatewayPatchPublicGatewayIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetPublicGatewayPatchPublicGatewayIdentityByHref.Href) { + _patch["href"] = subnetPublicGatewayPatchPublicGatewayIdentityByHref.Href + } + + return +} + +// SubnetPublicGatewayPatchPublicGatewayIdentityByID : SubnetPublicGatewayPatchPublicGatewayIdentityByID struct +// This model "extends" SubnetPublicGatewayPatch +type SubnetPublicGatewayPatchPublicGatewayIdentityByID struct { + // The unique identifier for this public gateway. + ID *string `json:"id" validate:"required"` +} + +// NewSubnetPublicGatewayPatchPublicGatewayIdentityByID : Instantiate SubnetPublicGatewayPatchPublicGatewayIdentityByID (Generic Model Constructor) +func (*VpcV1) NewSubnetPublicGatewayPatchPublicGatewayIdentityByID(id string) (_model *SubnetPublicGatewayPatchPublicGatewayIdentityByID, err error) { + _model = &SubnetPublicGatewayPatchPublicGatewayIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SubnetPublicGatewayPatchPublicGatewayIdentityByID) isaSubnetPublicGatewayPatch() bool { + return true +} + +// UnmarshalSubnetPublicGatewayPatchPublicGatewayIdentityByID unmarshals an instance of SubnetPublicGatewayPatchPublicGatewayIdentityByID from the specified map of raw messages. +func UnmarshalSubnetPublicGatewayPatchPublicGatewayIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SubnetPublicGatewayPatchPublicGatewayIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SubnetPublicGatewayPatchPublicGatewayIdentityByID +func (subnetPublicGatewayPatchPublicGatewayIdentityByID *SubnetPublicGatewayPatchPublicGatewayIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(subnetPublicGatewayPatchPublicGatewayIdentityByID.ID) { + _patch["id"] = subnetPublicGatewayPatchPublicGatewayIdentityByID.ID + } + + return +} + +// TrustedProfileIdentityByCRN : TrustedProfileIdentityByCRN struct +// This model "extends" TrustedProfileIdentity +type TrustedProfileIdentityByCRN struct { + // The CRN for this trusted profile. + CRN *string `json:"crn" validate:"required"` +} + +// NewTrustedProfileIdentityByCRN : Instantiate TrustedProfileIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewTrustedProfileIdentityByCRN(crn string) (_model *TrustedProfileIdentityByCRN, err error) { + _model = &TrustedProfileIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*TrustedProfileIdentityByCRN) isaTrustedProfileIdentity() bool { + return true +} + +// UnmarshalTrustedProfileIdentityByCRN unmarshals an instance of TrustedProfileIdentityByCRN from the specified map of raw messages. +func UnmarshalTrustedProfileIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TrustedProfileIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TrustedProfileIdentityByID : TrustedProfileIdentityByID struct +// This model "extends" TrustedProfileIdentity +type TrustedProfileIdentityByID struct { + // The unique identifier for this trusted profile. + ID *string `json:"id" validate:"required"` +} + +// NewTrustedProfileIdentityByID : Instantiate TrustedProfileIdentityByID (Generic Model Constructor) +func (*VpcV1) NewTrustedProfileIdentityByID(id string) (_model *TrustedProfileIdentityByID, err error) { + _model = &TrustedProfileIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*TrustedProfileIdentityByID) isaTrustedProfileIdentity() bool { + return true +} + +// UnmarshalTrustedProfileIdentityByID unmarshals an instance of TrustedProfileIdentityByID from the specified map of raw messages. +func UnmarshalTrustedProfileIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TrustedProfileIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype : Manually specify the DNS server addresses for this VPC. +// This model "extends" VpcdnsResolverPrototype +type VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype struct { + // The DNS servers to use for this VPC. All the DNS servers must either: + // + // - have a unique `zone_affinity`, or + // - not have a `zone_affinity`. + // + // If `zone_affinity` is specified, exactly one DNS server must be specified for each zone in the region. The DHCP + // [Domain Name Server Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for a zone will list this DNS + // server first, followed by unique DNS servers from other zones if available. + // + // If `zone_affinity` is not specified, the DHCP [Domain Name Server + // Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for each zone will list all the manual DNS + // servers in the order specified. + ManualServers []DnsServerPrototype `json:"manual_servers" validate:"required"` + + // The type of the DNS resolver to use. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype.Type property. +// The type of the DNS resolver to use. +const ( + VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototypeTypeManualConst = "manual" +) + +// NewVpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype : Instantiate VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype (Generic Model Constructor) +func (*VpcV1) NewVpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype(manualServers []DnsServerPrototype, typeVar string) (_model *VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype, err error) { + _model = &VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype{ + ManualServers: manualServers, + Type: core.StringPtr(typeVar), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype) isaVpcdnsResolverPrototype() bool { + return true +} + +// UnmarshalVpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype unmarshals an instance of VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype from the specified map of raw messages. +func UnmarshalVpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverPrototypeVpcdnsResolverTypeManualPrototype) + err = core.UnmarshalModel(m, "manual_servers", &obj.ManualServers, UnmarshalDnsServerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manual_servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype : The system will provide DNS server addresses for this VPC. The system-provided DNS server addresses depend on whether +// any endpoint gateways reside in the VPC, and whether a +// [DNS Services](https://cloud.ibm.com/docs/dns-svcs) instance is configured for the VPC. +// This model "extends" VpcdnsResolverPrototype +type VpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype struct { + // The type of the DNS resolver to use. + Type *string `json:"type,omitempty"` +} + +// Constants associated with the VpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype.Type property. +// The type of the DNS resolver to use. +const ( + VpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototypeTypeSystemConst = "system" +) + +func (*VpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype) isaVpcdnsResolverPrototype() bool { + return true +} + +// UnmarshalVpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype unmarshals an instance of VpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype from the specified map of raw messages. +func UnmarshalVpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverPrototypeVpcdnsResolverTypeSystemPrototype) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolverTypeDelegated : The DNS server addresses are delegated to the DNS resolver of another VPC. +// This model "extends" VpcdnsResolver +type VpcdnsResolverTypeDelegated struct { + // The DNS servers for this VPC. The servers are populated: + // + // - by the system when `dns.resolver.type` is `system` + // - using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated` + // - using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual` + // + // The maximum number of DNS servers is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Servers []DnsServer `json:"servers" validate:"required"` + + // The type of the DNS resolver used for the VPC. + Type *string `json:"type" validate:"required"` + + // The VPC whose DNS resolver provides the DNS server addresses for this VPC. + // + // The VPC may be remote and therefore may not be directly retrievable. + VPC *VPCReferenceDnsResolverContext `json:"vpc" validate:"required"` +} + +// Constants associated with the VpcdnsResolverTypeDelegated.Type property. +// The type of the DNS resolver used for the VPC. +const ( + VpcdnsResolverTypeDelegatedTypeDelegatedConst = "delegated" +) + +func (*VpcdnsResolverTypeDelegated) isaVpcdnsResolver() bool { + return true +} + +// UnmarshalVpcdnsResolverTypeDelegated unmarshals an instance of VpcdnsResolverTypeDelegated from the specified map of raw messages. +func UnmarshalVpcdnsResolverTypeDelegated(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverTypeDelegated) + err = core.UnmarshalModel(m, "servers", &obj.Servers, UnmarshalDnsServer) + if err != nil { + err = core.SDKErrorf(err, "", "servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReferenceDnsResolverContext) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolverTypeManual : The DNS server addresses are manually specified. +// This model "extends" VpcdnsResolver +type VpcdnsResolverTypeManual struct { + // The DNS servers for this VPC. The servers are populated: + // + // - by the system when `dns.resolver.type` is `system` + // - using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated` + // - using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual` + // + // The maximum number of DNS servers is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Servers []DnsServer `json:"servers" validate:"required"` + + // The manually specified DNS servers for this VPC. + // + // If the DNS servers have `zone_affinity`, the DHCP [Domain Name Server + // Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for a zone will list the DNS server with the + // affinity for that zone first, followed by the unique DNS servers from other zones. + // + // If the DNS servers do not have `zone_affinity`, the DHCP [Domain Name Server + // Option](https://datatracker.ietf.org/doc/html/rfc2132#section-3.8) for each zone will list all the manual DNS + // servers in the order specified. + // + // The maximum number of manual DNS servers is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ManualServers []DnsServer `json:"manual_servers" validate:"required"` + + // The type of the DNS resolver used for the VPC. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VpcdnsResolverTypeManual.Type property. +// The type of the DNS resolver used for the VPC. +const ( + VpcdnsResolverTypeManualTypeManualConst = "manual" +) + +func (*VpcdnsResolverTypeManual) isaVpcdnsResolver() bool { + return true +} + +// UnmarshalVpcdnsResolverTypeManual unmarshals an instance of VpcdnsResolverTypeManual from the specified map of raw messages. +func UnmarshalVpcdnsResolverTypeManual(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverTypeManual) + err = core.UnmarshalModel(m, "servers", &obj.Servers, UnmarshalDnsServer) + if err != nil { + err = core.SDKErrorf(err, "", "servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manual_servers", &obj.ManualServers, UnmarshalDnsServer) + if err != nil { + err = core.SDKErrorf(err, "", "manual_servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolverTypeSystem : The DNS server addresses are provided by the system and depend on the configuration. +// This model "extends" VpcdnsResolver +type VpcdnsResolverTypeSystem struct { + // The DNS servers for this VPC. The servers are populated: + // + // - by the system when `dns.resolver.type` is `system` + // - using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated` + // - using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual` + // + // The maximum number of DNS servers is expected to + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Servers []DnsServer `json:"servers" validate:"required"` + + // The configuration of the system DNS resolver for this VPC. + // + // - `custom_resolver`: A custom DNS resolver is configured for this VPC. + // + // - `private_resolver`: A private DNS resolver is configured for this VPC. Applies when + // the VPC has either or both of the following: + // + // - at least one endpoint gateway residing in it + // - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it + // + // - `default`: The provider default DNS resolvers are configured for this VPC. + // + // This system DNS resolver configuration is used when the VPC has: + // + // - no custom DNS resolver configured for it, and + // - no endpoint gateways residing in it, and + // - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. + Configuration *string `json:"configuration" validate:"required"` + + // The type of the DNS resolver used for the VPC. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VpcdnsResolverTypeSystem.Configuration property. +// The configuration of the system DNS resolver for this VPC. +// +// - `custom_resolver`: A custom DNS resolver is configured for this VPC. +// +// - `private_resolver`: A private DNS resolver is configured for this VPC. Applies when +// the VPC has either or both of the following: +// +// - at least one endpoint gateway residing in it +// +// - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it +// +// - `default`: The provider default DNS resolvers are configured for this VPC. +// +// This system DNS resolver configuration is used when the VPC has: +// +// - no custom DNS resolver configured for it, and +// - no endpoint gateways residing in it, and +// - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. +const ( + VpcdnsResolverTypeSystemConfigurationCustomResolverConst = "custom_resolver" + VpcdnsResolverTypeSystemConfigurationDefaultConst = "default" + VpcdnsResolverTypeSystemConfigurationPrivateResolverConst = "private_resolver" +) + +// Constants associated with the VpcdnsResolverTypeSystem.Type property. +// The type of the DNS resolver used for the VPC. +const ( + VpcdnsResolverTypeSystemTypeSystemConst = "system" +) + +func (*VpcdnsResolverTypeSystem) isaVpcdnsResolver() bool { + return true +} + +// UnmarshalVpcdnsResolverTypeSystem unmarshals an instance of VpcdnsResolverTypeSystem from the specified map of raw messages. +func UnmarshalVpcdnsResolverTypeSystem(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverTypeSystem) + err = core.UnmarshalModel(m, "servers", &obj.Servers, UnmarshalDnsServer) + if err != nil { + err = core.SDKErrorf(err, "", "servers-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "configuration", &obj.Configuration) + if err != nil { + err = core.SDKErrorf(err, "", "configuration-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VpcdnsResolverVPCPatchVPCIdentityByCRN : VpcdnsResolverVPCPatchVPCIdentityByCRN struct +// This model "extends" VpcdnsResolverVPCPatch +type VpcdnsResolverVPCPatchVPCIdentityByCRN struct { + // The CRN for this VPC. + CRN *string `json:"crn" validate:"required"` +} + +// NewVpcdnsResolverVPCPatchVPCIdentityByCRN : Instantiate VpcdnsResolverVPCPatchVPCIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewVpcdnsResolverVPCPatchVPCIdentityByCRN(crn string) (_model *VpcdnsResolverVPCPatchVPCIdentityByCRN, err error) { + _model = &VpcdnsResolverVPCPatchVPCIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VpcdnsResolverVPCPatchVPCIdentityByCRN) isaVpcdnsResolverVPCPatch() bool { + return true +} + +// UnmarshalVpcdnsResolverVPCPatchVPCIdentityByCRN unmarshals an instance of VpcdnsResolverVPCPatchVPCIdentityByCRN from the specified map of raw messages. +func UnmarshalVpcdnsResolverVPCPatchVPCIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverVPCPatchVPCIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VpcdnsResolverVPCPatchVPCIdentityByCRN +func (vpcdnsResolverVPCPatchVPCIdentityByCRN *VpcdnsResolverVPCPatchVPCIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcdnsResolverVPCPatchVPCIdentityByCRN.CRN) { + _patch["crn"] = vpcdnsResolverVPCPatchVPCIdentityByCRN.CRN + } + + return +} + +// VpcdnsResolverVPCPatchVPCIdentityByHref : VpcdnsResolverVPCPatchVPCIdentityByHref struct +// This model "extends" VpcdnsResolverVPCPatch +type VpcdnsResolverVPCPatchVPCIdentityByHref struct { + // The URL for this VPC. + Href *string `json:"href" validate:"required"` +} + +// NewVpcdnsResolverVPCPatchVPCIdentityByHref : Instantiate VpcdnsResolverVPCPatchVPCIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVpcdnsResolverVPCPatchVPCIdentityByHref(href string) (_model *VpcdnsResolverVPCPatchVPCIdentityByHref, err error) { + _model = &VpcdnsResolverVPCPatchVPCIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VpcdnsResolverVPCPatchVPCIdentityByHref) isaVpcdnsResolverVPCPatch() bool { + return true +} + +// UnmarshalVpcdnsResolverVPCPatchVPCIdentityByHref unmarshals an instance of VpcdnsResolverVPCPatchVPCIdentityByHref from the specified map of raw messages. +func UnmarshalVpcdnsResolverVPCPatchVPCIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverVPCPatchVPCIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VpcdnsResolverVPCPatchVPCIdentityByHref +func (vpcdnsResolverVPCPatchVPCIdentityByHref *VpcdnsResolverVPCPatchVPCIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcdnsResolverVPCPatchVPCIdentityByHref.Href) { + _patch["href"] = vpcdnsResolverVPCPatchVPCIdentityByHref.Href + } + + return +} + +// VpcdnsResolverVPCPatchVPCIdentityByID : VpcdnsResolverVPCPatchVPCIdentityByID struct +// This model "extends" VpcdnsResolverVPCPatch +type VpcdnsResolverVPCPatchVPCIdentityByID struct { + // The unique identifier for this VPC. + ID *string `json:"id" validate:"required"` +} + +// NewVpcdnsResolverVPCPatchVPCIdentityByID : Instantiate VpcdnsResolverVPCPatchVPCIdentityByID (Generic Model Constructor) +func (*VpcV1) NewVpcdnsResolverVPCPatchVPCIdentityByID(id string) (_model *VpcdnsResolverVPCPatchVPCIdentityByID, err error) { + _model = &VpcdnsResolverVPCPatchVPCIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VpcdnsResolverVPCPatchVPCIdentityByID) isaVpcdnsResolverVPCPatch() bool { + return true +} + +// UnmarshalVpcdnsResolverVPCPatchVPCIdentityByID unmarshals an instance of VpcdnsResolverVPCPatchVPCIdentityByID from the specified map of raw messages. +func UnmarshalVpcdnsResolverVPCPatchVPCIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VpcdnsResolverVPCPatchVPCIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VpcdnsResolverVPCPatchVPCIdentityByID +func (vpcdnsResolverVPCPatchVPCIdentityByID *VpcdnsResolverVPCPatchVPCIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcdnsResolverVPCPatchVPCIdentityByID.ID) { + _patch["id"] = vpcdnsResolverVPCPatchVPCIdentityByID.ID + } + + return +} + +// VPCIdentityByCRN : VPCIdentityByCRN struct +// This model "extends" VPCIdentity +type VPCIdentityByCRN struct { + // The CRN for this VPC. + CRN *string `json:"crn" validate:"required"` +} + +// NewVPCIdentityByCRN : Instantiate VPCIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewVPCIdentityByCRN(crn string) (_model *VPCIdentityByCRN, err error) { + _model = &VPCIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPCIdentityByCRN) isaVPCIdentity() bool { + return true +} + +// UnmarshalVPCIdentityByCRN unmarshals an instance of VPCIdentityByCRN from the specified map of raw messages. +func UnmarshalVPCIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPCIdentityByCRN +func (vpcIdentityByCRN *VPCIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcIdentityByCRN.CRN) { + _patch["crn"] = vpcIdentityByCRN.CRN + } + + return +} + +// VPCIdentityByHref : VPCIdentityByHref struct +// This model "extends" VPCIdentity +type VPCIdentityByHref struct { + // The URL for this VPC. + Href *string `json:"href" validate:"required"` +} + +// NewVPCIdentityByHref : Instantiate VPCIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVPCIdentityByHref(href string) (_model *VPCIdentityByHref, err error) { + _model = &VPCIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPCIdentityByHref) isaVPCIdentity() bool { + return true +} + +// UnmarshalVPCIdentityByHref unmarshals an instance of VPCIdentityByHref from the specified map of raw messages. +func UnmarshalVPCIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPCIdentityByHref +func (vpcIdentityByHref *VPCIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcIdentityByHref.Href) { + _patch["href"] = vpcIdentityByHref.Href + } + + return +} + +// VPCIdentityByID : VPCIdentityByID struct +// This model "extends" VPCIdentity +type VPCIdentityByID struct { + // The unique identifier for this VPC. + ID *string `json:"id" validate:"required"` +} + +// NewVPCIdentityByID : Instantiate VPCIdentityByID (Generic Model Constructor) +func (*VpcV1) NewVPCIdentityByID(id string) (_model *VPCIdentityByID, err error) { + _model = &VPCIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPCIdentityByID) isaVPCIdentity() bool { + return true +} + +// UnmarshalVPCIdentityByID unmarshals an instance of VPCIdentityByID from the specified map of raw messages. +func UnmarshalVPCIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPCIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPCIdentityByID +func (vpcIdentityByID *VPCIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpcIdentityByID.ID) { + _patch["id"] = vpcIdentityByID.ID + } + + return +} + +// VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress : VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress struct +// This model "extends" VPNGatewayConnectionDynamicRouteModePeerPrototype +type VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + Asn *int64 `json:"asn" validate:"required"` + + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address" validate:"required"` +} + +// NewVPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress : Instantiate VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress(asn int64, address string) (_model *VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress, err error) { + _model = &VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress{ + Asn: core.Int64Ptr(asn), + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress) isaVPNGatewayConnectionDynamicRouteModePeerPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress unmarshals an instance of VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn : VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn struct +// This model "extends" VPNGatewayConnectionDynamicRouteModePeerPrototype +type VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + Asn *int64 `json:"asn" validate:"required"` + + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn" validate:"required"` +} + +// NewVPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn : Instantiate VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn(asn int64, fqdn string) (_model *VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn, err error) { + _model = &VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn{ + Asn: core.Int64Ptr(asn), + Fqdn: core.StringPtr(fqdn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn) isaVPNGatewayConnectionDynamicRouteModePeerPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn unmarshals an instance of VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress : VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress struct +// This model "extends" VPNGatewayConnectionDynamicRouteModePeer +type VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. + Asn *int64 `json:"asn" validate:"required"` + + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddressTypeAddressConst = "address" + VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddressTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress) isaVPNGatewayConnectionDynamicRouteModePeer() bool { + return true +} + +// UnmarshalVPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress unmarshals an instance of VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByAddress) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn : VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn struct +// This model "extends" VPNGatewayConnectionDynamicRouteModePeer +type VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. + Asn *int64 `json:"asn" validate:"required"` + + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdnTypeAddressConst = "address" + VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdnTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn) isaVPNGatewayConnectionDynamicRouteModePeer() bool { + return true +} + +// UnmarshalVPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn unmarshals an instance of VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionDynamicRouteModePeerVPNGatewayConnectionPeerByFqdn) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn : VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn struct +// This model "extends" VPNGatewayConnectionIkeIdentityPrototype +type VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn struct { + // The IKE identity type. + Type *string `json:"type" validate:"required"` + + // The IKE identity FQDN value. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn.Type property. +// The IKE identity type. +const ( + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdnTypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdnTypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdnTypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdnTypeKeyIDConst = "key_id" +) + +// NewVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn : Instantiate VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn(typeVar string, value string) (_model *VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn, err error) { + _model = &VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn{ + Type: core.StringPtr(typeVar), + Value: core.StringPtr(value), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn) isaVPNGatewayConnectionIkeIdentityPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn unmarshals an instance of VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityFqdn) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname : VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname struct +// This model "extends" VPNGatewayConnectionIkeIdentityPrototype +type VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname struct { + // The IKE identity type. + Type *string `json:"type" validate:"required"` + + // The IKE identity hostname value. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname.Type property. +// The IKE identity type. +const ( + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostnameTypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostnameTypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostnameTypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostnameTypeKeyIDConst = "key_id" +) + +// NewVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname : Instantiate VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname(typeVar string, value string) (_model *VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname, err error) { + _model = &VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname{ + Type: core.StringPtr(typeVar), + Value: core.StringPtr(value), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname) isaVPNGatewayConnectionIkeIdentityPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname unmarshals an instance of VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityHostname) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4 : VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4 struct +// This model "extends" VPNGatewayConnectionIkeIdentityPrototype +type VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4 struct { + // The IKE identity type. + Type *string `json:"type" validate:"required"` + + // The IKE identity IPv4 address value. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4.Type property. +// The IKE identity type. +const ( + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4TypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4TypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4TypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4TypeKeyIDConst = "key_id" +) + +// NewVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4 : Instantiate VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4 (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4(typeVar string, value string) (_model *VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4, err error) { + _model = &VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4{ + Type: core.StringPtr(typeVar), + Value: core.StringPtr(value), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4) isaVPNGatewayConnectionIkeIdentityPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4 unmarshals an instance of VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4 from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityIPv4) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID : VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID struct +// This model "extends" VPNGatewayConnectionIkeIdentityPrototype +type VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID struct { + // The IKE identity type. + Type *string `json:"type" validate:"required"` + + // The base64-encoded IKE identity key ID value. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID.Type property. +// The IKE identity type. +const ( + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyIDTypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyIDTypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyIDTypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyIDTypeKeyIDConst = "key_id" +) + +// NewVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID : Instantiate VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID(typeVar string, value string) (_model *VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID, err error) { + _model = &VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID{ + Type: core.StringPtr(typeVar), + Value: core.StringPtr(value), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID) isaVPNGatewayConnectionIkeIdentityPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID unmarshals an instance of VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityPrototypeVPNGatewayConnectionIkeIdentityKeyID) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn : VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn struct +// This model "extends" VPNGatewayConnectionIkeIdentity +type VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn struct { + // The IKE identity type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The IKE identity FQDN value. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn.Type property. +// The IKE identity type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdnTypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdnTypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdnTypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdnTypeKeyIDConst = "key_id" +) + +func (*VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn) isaVPNGatewayConnectionIkeIdentity() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn unmarshals an instance of VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityFqdn) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname : VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname struct +// This model "extends" VPNGatewayConnectionIkeIdentity +type VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname struct { + // The IKE identity type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The IKE identity hostname value. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname.Type property. +// The IKE identity type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostnameTypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostnameTypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostnameTypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostnameTypeKeyIDConst = "key_id" +) + +func (*VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname) isaVPNGatewayConnectionIkeIdentity() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname unmarshals an instance of VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityHostname) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4 : VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4 struct +// This model "extends" VPNGatewayConnectionIkeIdentity +type VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4 struct { + // The IKE identity type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The IKE identity IPv4 address value. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4.Type property. +// The IKE identity type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4TypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4TypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4TypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4TypeKeyIDConst = "key_id" +) + +func (*VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4) isaVPNGatewayConnectionIkeIdentity() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4 unmarshals an instance of VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4 from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityIPv4) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID : VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID struct +// This model "extends" VPNGatewayConnectionIkeIdentity +type VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID struct { + // The IKE identity type. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Type *string `json:"type" validate:"required"` + + // The base64-encoded IKE identity key ID value. + Value *string `json:"value" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID.Type property. +// The IKE identity type. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyIDTypeFqdnConst = "fqdn" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyIDTypeHostnameConst = "hostname" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyIDTypeIpv4AddressConst = "ipv4_address" + VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyIDTypeKeyIDConst = "key_id" +) + +func (*VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID) isaVPNGatewayConnectionIkeIdentity() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID unmarshals an instance of VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkeIdentityVPNGatewayConnectionIkeIdentityKeyID) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref : VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref struct +// This model "extends" VPNGatewayConnectionIkePolicyPatch +type VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref struct { + // The URL for this IKE policy. + Href *string `json:"href" validate:"required"` +} + +// NewVPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref : Instantiate VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref(href string) (_model *VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref, err error) { + _model = &VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref) isaVPNGatewayConnectionIkePolicyPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref unmarshals an instance of VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref +func (vpnGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref *VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref.Href) { + _patch["href"] = vpnGatewayConnectionIkePolicyPatchIkePolicyIdentityByHref.Href + } + + return +} + +// VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID : VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID struct +// This model "extends" VPNGatewayConnectionIkePolicyPatch +type VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID struct { + // The unique identifier for this IKE policy. + ID *string `json:"id" validate:"required"` +} + +// NewVPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID : Instantiate VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID(id string) (_model *VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID, err error) { + _model = &VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID) isaVPNGatewayConnectionIkePolicyPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID unmarshals an instance of VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID +func (vpnGatewayConnectionIkePolicyPatchIkePolicyIdentityByID *VPNGatewayConnectionIkePolicyPatchIkePolicyIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionIkePolicyPatchIkePolicyIdentityByID.ID) { + _patch["id"] = vpnGatewayConnectionIkePolicyPatchIkePolicyIdentityByID.ID + } + + return +} + +// VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref : VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref struct +// This model "extends" VPNGatewayConnectionIkePolicyPrototype +type VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref struct { + // The URL for this IKE policy. + Href *string `json:"href" validate:"required"` +} + +// NewVPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref : Instantiate VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref(href string) (_model *VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref, err error) { + _model = &VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref) isaVPNGatewayConnectionIkePolicyPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref unmarshals an instance of VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID : VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID struct +// This model "extends" VPNGatewayConnectionIkePolicyPrototype +type VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID struct { + // The unique identifier for this IKE policy. + ID *string `json:"id" validate:"required"` +} + +// NewVPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID : Instantiate VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID(id string) (_model *VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID, err error) { + _model = &VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID) isaVPNGatewayConnectionIkePolicyPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID unmarshals an instance of VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIkePolicyPrototypeIkePolicyIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref : VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref struct +// This model "extends" VPNGatewayConnectionIPsecPolicyPatch +type VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref struct { + // The URL for this IPsec policy. + Href *string `json:"href" validate:"required"` +} + +// NewVPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref : Instantiate VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref(href string) (_model *VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref, err error) { + _model = &VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref) isaVPNGatewayConnectionIPsecPolicyPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref unmarshals an instance of VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref +func (vpnGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref *VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref.Href) { + _patch["href"] = vpnGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByHref.Href + } + + return +} + +// VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID : VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID struct +// This model "extends" VPNGatewayConnectionIPsecPolicyPatch +type VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID struct { + // The unique identifier for this IPsec policy. + ID *string `json:"id" validate:"required"` +} + +// NewVPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID : Instantiate VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID(id string) (_model *VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID, err error) { + _model = &VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID) isaVPNGatewayConnectionIPsecPolicyPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID unmarshals an instance of VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID +func (vpnGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID *VPNGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID.ID) { + _patch["id"] = vpnGatewayConnectionIPsecPolicyPatchIPsecPolicyIdentityByID.ID + } + + return +} + +// VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref : VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref struct +// This model "extends" VPNGatewayConnectionIPsecPolicyPrototype +type VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref struct { + // The URL for this IPsec policy. + Href *string `json:"href" validate:"required"` +} + +// NewVPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref : Instantiate VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref(href string) (_model *VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref, err error) { + _model = &VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref) isaVPNGatewayConnectionIPsecPolicyPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref unmarshals an instance of VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID : VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID struct +// This model "extends" VPNGatewayConnectionIPsecPolicyPrototype +type VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID struct { + // The unique identifier for this IPsec policy. + ID *string `json:"id" validate:"required"` +} + +// NewVPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID : Instantiate VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID(id string) (_model *VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID, err error) { + _model = &VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID) isaVPNGatewayConnectionIPsecPolicyPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID unmarshals an instance of VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionIPsecPolicyPrototypeIPsecPolicyIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch : The peer VPN gateway for this connection. If `peer.type` is `ipv4_address`, only `peer.address` may be specified. If +// `peer.type` is fqdn, only `peer.fqdn` may be specified. +// Models which "extend" this model: +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch +// This model "extends" VPNGatewayConnectionPeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + Asn *int64 `json:"asn,omitempty"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch() bool { + return true +} + +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchIntf interface { + VPNGatewayConnectionPeerPatchIntf + isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch() bool +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch.Asn) { + _patch["asn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch.Asn + } + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch.Address) { + _patch["address"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch.Address + } + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch.Fqdn) { + _patch["fqdn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch.Fqdn + } + + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch : The peer VPN gateway for this connection. If `peer.type` is `ipv4_address`, only `peer.address` may be specified. If +// `peer.type` is fqdn, only `peer.fqdn` may be specified. +// Models which "extend" this model: +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch +// This model "extends" VPNGatewayConnectionPeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch struct { + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch() bool { + return true +} + +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchIntf interface { + VPNGatewayConnectionPeerPatchIntf + isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch() bool +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch.Address) { + _patch["address"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch.Address + } + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch.Fqdn) { + _patch["fqdn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch.Fqdn + } + + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch : The peer VPN gateway for this connection. If `peer.type` is `ipv4_address`, only `peer.address` may be specified. If +// `peer.type` is fqdn, only `peer.fqdn` may be specified. +// Models which "extend" this model: +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch +// - VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch +// This model "extends" VPNGatewayConnectionPeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch struct { + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch() bool { + return true +} + +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchIntf interface { + VPNGatewayConnectionPeerPatchIntf + isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch() bool +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch.Address) { + _patch["address"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch.Address + } + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch.Fqdn) { + _patch["fqdn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch.Fqdn + } + + return +} + +// VPNGatewayConnectionPolicyMode : VPNGatewayConnectionPolicyMode struct +// This model "extends" VPNGatewayConnection +type VPNGatewayConnectionPolicyMode struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up" validate:"required"` + + // The authentication mode. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AuthenticationMode *string `json:"authentication_mode" validate:"required"` + + // The date and time that this VPN gateway connection was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + DeadPeerDetection *VPNGatewayConnectionDpd `json:"dead_peer_detection" validate:"required"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode" validate:"required"` + + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` + + // The IKE policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). + IkePolicy *IkePolicyReference `json:"ike_policy,omitempty"` + + // The IPsec policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). + IpsecPolicy *IPsecPolicyReference `json:"ipsec_policy,omitempty"` + + // The mode of the VPN gateway. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Mode *string `json:"mode" validate:"required"` + + // The name for this VPN gateway connection. The name is unique across all connections for the VPN gateway. + Name *string `json:"name" validate:"required"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of a VPN gateway connection. + Status *string `json:"status" validate:"required"` + + // The reasons for the current VPN gateway connection status (if any). + StatusReasons []VPNGatewayConnectionStatusReason `json:"status_reasons" validate:"required"` + + Local *VPNGatewayConnectionPolicyModeLocal `json:"local" validate:"required"` + + Peer VPNGatewayConnectionPolicyModePeerIntf `json:"peer" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionPolicyMode.AuthenticationMode property. +// The authentication mode. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionPolicyModeAuthenticationModePskConst = "psk" +) + +// Constants associated with the VPNGatewayConnectionPolicyMode.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionPolicyModeEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionPolicyModeEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnectionPolicyMode.Mode property. +// The mode of the VPN gateway. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionPolicyModeModePolicyConst = "policy" + VPNGatewayConnectionPolicyModeModeRouteConst = "route" +) + +// Constants associated with the VPNGatewayConnectionPolicyMode.ResourceType property. +// The resource type. +const ( + VPNGatewayConnectionPolicyModeResourceTypeVPNGatewayConnectionConst = "vpn_gateway_connection" +) + +// Constants associated with the VPNGatewayConnectionPolicyMode.Status property. +// The status of a VPN gateway connection. +const ( + VPNGatewayConnectionPolicyModeStatusDownConst = "down" + VPNGatewayConnectionPolicyModeStatusUpConst = "up" +) + +func (*VPNGatewayConnectionPolicyMode) isaVPNGatewayConnection() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPolicyMode unmarshals an instance of VPNGatewayConnectionPolicyMode from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyMode(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyMode) + err = core.UnmarshalPrimitive(m, "admin_state_up", &obj.AdminStateUp) + if err != nil { + err = core.SDKErrorf(err, "", "admin_state_up-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "authentication_mode", &obj.AuthenticationMode) + if err != nil { + err = core.SDKErrorf(err, "", "authentication_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dead_peer_detection", &obj.DeadPeerDetection, UnmarshalVPNGatewayConnectionDpd) + if err != nil { + err = core.SDKErrorf(err, "", "dead_peer_detection-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "establish_mode", &obj.EstablishMode) + if err != nil { + err = core.SDKErrorf(err, "", "establish_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policy", &obj.IkePolicy, UnmarshalIkePolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policy", &obj.IpsecPolicy, UnmarshalIPsecPolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "psk", &obj.Psk) + if err != nil { + err = core.SDKErrorf(err, "", "psk-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalVPNGatewayConnectionStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalVPNGatewayConnectionPolicyModeLocal) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "peer", &obj.Peer, UnmarshalVPNGatewayConnectionPolicyModePeer) + if err != nil { + err = core.SDKErrorf(err, "", "peer-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress : VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress struct +// This model "extends" VPNGatewayConnectionPolicyModePeerPrototype +type VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress struct { + // The peer CIDRs for this VPN gateway connection. + CIDRs []string `json:"cidrs" validate:"required"` + + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address" validate:"required"` +} + +// NewVPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress : Instantiate VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress(cidrs []string, address string) (_model *VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress, err error) { + _model = &VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress{ + CIDRs: cidrs, + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress) isaVPNGatewayConnectionPolicyModePeerPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress unmarshals an instance of VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByAddress) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn : VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn struct +// This model "extends" VPNGatewayConnectionPolicyModePeerPrototype +type VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn struct { + // The peer CIDRs for this VPN gateway connection. + CIDRs []string `json:"cidrs" validate:"required"` + + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn" validate:"required"` +} + +// NewVPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn : Instantiate VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn(cidrs []string, fqdn string) (_model *VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn, err error) { + _model = &VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn{ + CIDRs: cidrs, + Fqdn: core.StringPtr(fqdn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn) isaVPNGatewayConnectionPolicyModePeerPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn unmarshals an instance of VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyModePeerPrototypeVPNGatewayConnectionPeerByFqdn) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress : VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress struct +// This model "extends" VPNGatewayConnectionPolicyModePeer +type VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress struct { + // The peer CIDRs for this VPN gateway connection. + CIDRs []string `json:"cidrs" validate:"required"` + + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddressTypeAddressConst = "address" + VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddressTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress) isaVPNGatewayConnectionPolicyModePeer() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress unmarshals an instance of VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByAddress) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn : VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn struct +// This model "extends" VPNGatewayConnectionPolicyModePeer +type VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn struct { + // The peer CIDRs for this VPN gateway connection. + CIDRs []string `json:"cidrs" validate:"required"` + + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdnTypeAddressConst = "address" + VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdnTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn) isaVPNGatewayConnectionPolicyModePeer() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn unmarshals an instance of VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPolicyModePeerVPNGatewayConnectionPeerByFqdn) + err = core.UnmarshalPrimitive(m, "cidrs", &obj.CIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype : VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype struct +// This model "extends" VPNGatewayConnectionPrototype +type VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up,omitempty"` + + DeadPeerDetection *VPNGatewayConnectionDpdPrototype `json:"dead_peer_detection,omitempty"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode,omitempty"` + + IkePolicy VPNGatewayConnectionIkePolicyPrototypeIntf `json:"ike_policy,omitempty"` + + IpsecPolicy VPNGatewayConnectionIPsecPolicyPrototypeIntf `json:"ipsec_policy,omitempty"` + + // The name for this VPN gateway connection. The name must not be used by another connection for the VPN gateway. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC + // route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower + // `public_ip` address. Before enabling it on VPN connections to on-prem private networks, review + // [distributing traffic + // restrictions](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-limitations#distributing-traffic-restrictions). + DistributeTraffic *bool `json:"distribute_traffic,omitempty"` + + Local *VPNGatewayConnectionDynamicRouteModeLocalPrototype `json:"local,omitempty"` + + Peer VPNGatewayConnectionDynamicRouteModePeerPrototypeIntf `json:"peer" validate:"required"` + + // The routing protocol for this VPN gateway connection. + RoutingProtocol *string `json:"routing_protocol" validate:"required"` + + // The VPN tunnel configuration to use for this VPN gateway connection + // (in dynamic route mode). + Tunnels []VPNGatewayConnectionTunnelPrototype `json:"tunnels" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototypeEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototypeEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype.RoutingProtocol property. +// The routing protocol for this VPN gateway connection. +const ( + VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototypeRoutingProtocolBgpConst = "bgp" +) + +// NewVPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype : Instantiate VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype(psk string, peer VPNGatewayConnectionDynamicRouteModePeerPrototypeIntf, routingProtocol string, tunnels []VPNGatewayConnectionTunnelPrototype) (_model *VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype, err error) { + _model = &VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype{ + Psk: core.StringPtr(psk), + Peer: peer, + RoutingProtocol: core.StringPtr(routingProtocol), + Tunnels: tunnels, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype) isaVPNGatewayConnectionPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype unmarshals an instance of VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPrototypeVPNGatewayConnectionDynamicRouteModePrototype) + err = core.UnmarshalPrimitive(m, "admin_state_up", &obj.AdminStateUp) + if err != nil { + err = core.SDKErrorf(err, "", "admin_state_up-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dead_peer_detection", &obj.DeadPeerDetection, UnmarshalVPNGatewayConnectionDpdPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "dead_peer_detection-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "establish_mode", &obj.EstablishMode) + if err != nil { + err = core.SDKErrorf(err, "", "establish_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policy", &obj.IkePolicy, UnmarshalVPNGatewayConnectionIkePolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policy", &obj.IpsecPolicy, UnmarshalVPNGatewayConnectionIPsecPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "psk", &obj.Psk) + if err != nil { + err = core.SDKErrorf(err, "", "psk-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "distribute_traffic", &obj.DistributeTraffic) + if err != nil { + err = core.SDKErrorf(err, "", "distribute_traffic-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalVPNGatewayConnectionDynamicRouteModeLocalPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "peer", &obj.Peer, UnmarshalVPNGatewayConnectionDynamicRouteModePeerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "peer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "routing_protocol", &obj.RoutingProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "routing_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalVPNGatewayConnectionTunnelPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "tunnels-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype : VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype struct +// This model "extends" VPNGatewayConnectionPrototype +type VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up,omitempty"` + + DeadPeerDetection *VPNGatewayConnectionDpdPrototype `json:"dead_peer_detection,omitempty"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode,omitempty"` + + IkePolicy VPNGatewayConnectionIkePolicyPrototypeIntf `json:"ike_policy,omitempty"` + + IpsecPolicy VPNGatewayConnectionIPsecPolicyPrototypeIntf `json:"ipsec_policy,omitempty"` + + // The name for this VPN gateway connection. The name must not be used by another connection for the VPN gateway. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + Local *VPNGatewayConnectionPolicyModeLocalPrototype `json:"local" validate:"required"` + + Peer VPNGatewayConnectionPolicyModePeerPrototypeIntf `json:"peer" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototypeEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototypeEstablishModePeerOnlyConst = "peer_only" +) + +// NewVPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype : Instantiate VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype(psk string, local *VPNGatewayConnectionPolicyModeLocalPrototype, peer VPNGatewayConnectionPolicyModePeerPrototypeIntf) (_model *VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype, err error) { + _model = &VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype{ + Psk: core.StringPtr(psk), + Local: local, + Peer: peer, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype) isaVPNGatewayConnectionPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype unmarshals an instance of VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPrototypeVPNGatewayConnectionPolicyModePrototype) + err = core.UnmarshalPrimitive(m, "admin_state_up", &obj.AdminStateUp) + if err != nil { + err = core.SDKErrorf(err, "", "admin_state_up-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dead_peer_detection", &obj.DeadPeerDetection, UnmarshalVPNGatewayConnectionDpdPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "dead_peer_detection-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "establish_mode", &obj.EstablishMode) + if err != nil { + err = core.SDKErrorf(err, "", "establish_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policy", &obj.IkePolicy, UnmarshalVPNGatewayConnectionIkePolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policy", &obj.IpsecPolicy, UnmarshalVPNGatewayConnectionIPsecPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "psk", &obj.Psk) + if err != nil { + err = core.SDKErrorf(err, "", "psk-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalVPNGatewayConnectionPolicyModeLocalPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "peer", &obj.Peer, UnmarshalVPNGatewayConnectionPolicyModePeerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "peer-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype : VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype struct +// This model "extends" VPNGatewayConnectionPrototype +type VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up,omitempty"` + + DeadPeerDetection *VPNGatewayConnectionDpdPrototype `json:"dead_peer_detection,omitempty"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode,omitempty"` + + IkePolicy VPNGatewayConnectionIkePolicyPrototypeIntf `json:"ike_policy,omitempty"` + + IpsecPolicy VPNGatewayConnectionIPsecPolicyPrototypeIntf `json:"ipsec_policy,omitempty"` + + // The name for this VPN gateway connection. The name must not be used by another connection for the VPN gateway. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC + // route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower + // `public_ip` address. Before enabling it on VPN connections to on-prem private networks, review + // [distributing traffic + // restrictions](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-limitations#distributing-traffic-restrictions). + DistributeTraffic *bool `json:"distribute_traffic,omitempty"` + + Local *VPNGatewayConnectionStaticRouteModeLocalPrototype `json:"local,omitempty"` + + Peer VPNGatewayConnectionStaticRouteModePeerPrototypeIntf `json:"peer" validate:"required"` + + // The routing protocol for this VPN gateway connection. + RoutingProtocol *string `json:"routing_protocol,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototypeEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototypeEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype.RoutingProtocol property. +// The routing protocol for this VPN gateway connection. +const ( + VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototypeRoutingProtocolNoneConst = "none" +) + +// NewVPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype : Instantiate VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype(psk string, peer VPNGatewayConnectionStaticRouteModePeerPrototypeIntf) (_model *VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype, err error) { + _model = &VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype{ + Psk: core.StringPtr(psk), + Peer: peer, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype) isaVPNGatewayConnectionPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype unmarshals an instance of VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPrototypeVPNGatewayConnectionStaticRouteModePrototype) + err = core.UnmarshalPrimitive(m, "admin_state_up", &obj.AdminStateUp) + if err != nil { + err = core.SDKErrorf(err, "", "admin_state_up-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dead_peer_detection", &obj.DeadPeerDetection, UnmarshalVPNGatewayConnectionDpdPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "dead_peer_detection-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "establish_mode", &obj.EstablishMode) + if err != nil { + err = core.SDKErrorf(err, "", "establish_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policy", &obj.IkePolicy, UnmarshalVPNGatewayConnectionIkePolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policy", &obj.IpsecPolicy, UnmarshalVPNGatewayConnectionIPsecPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "psk", &obj.Psk) + if err != nil { + err = core.SDKErrorf(err, "", "psk-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "distribute_traffic", &obj.DistributeTraffic) + if err != nil { + err = core.SDKErrorf(err, "", "distribute_traffic-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalVPNGatewayConnectionStaticRouteModeLocalPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "peer", &obj.Peer, UnmarshalVPNGatewayConnectionStaticRouteModePeerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "peer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "routing_protocol", &obj.RoutingProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "routing_protocol-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionRouteMode : VPNGatewayConnectionRouteMode struct +// Models which "extend" this model: +// - VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode +// - VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode +// This model "extends" VPNGatewayConnection +type VPNGatewayConnectionRouteMode struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up" validate:"required"` + + // The authentication mode. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AuthenticationMode *string `json:"authentication_mode" validate:"required"` + + // The date and time that this VPN gateway connection was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + DeadPeerDetection *VPNGatewayConnectionDpd `json:"dead_peer_detection" validate:"required"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode" validate:"required"` + + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` + + // The IKE policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). + IkePolicy *IkePolicyReference `json:"ike_policy,omitempty"` + + // The IPsec policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). + IpsecPolicy *IPsecPolicyReference `json:"ipsec_policy,omitempty"` + + // The mode of the VPN gateway. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Mode *string `json:"mode" validate:"required"` + + // The name for this VPN gateway connection. The name is unique across all connections for the VPN gateway. + Name *string `json:"name" validate:"required"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of a VPN gateway connection. + Status *string `json:"status" validate:"required"` + + // The reasons for the current VPN gateway connection status (if any). + StatusReasons []VPNGatewayConnectionStatusReason `json:"status_reasons" validate:"required"` + + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC + // route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower + // `public_ip` address. + DistributeTraffic *bool `json:"distribute_traffic,omitempty"` + + Local *VPNGatewayConnectionStaticRouteModeLocal `json:"local,omitempty"` + + Peer VPNGatewayConnectionStaticRouteModePeerIntf `json:"peer,omitempty"` + + // The routing protocol for this VPN gateway connection. + RoutingProtocol *string `json:"routing_protocol,omitempty"` + + // The VPN tunnel configuration for this VPN gateway connection (in static route mode). + Tunnels []VPNGatewayConnectionStaticRouteModeTunnel `json:"tunnels,omitempty"` +} + +// Constants associated with the VPNGatewayConnectionRouteMode.AuthenticationMode property. +// The authentication mode. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionRouteModeAuthenticationModePskConst = "psk" +) + +// Constants associated with the VPNGatewayConnectionRouteMode.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionRouteModeEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionRouteModeEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnectionRouteMode.Mode property. +// The mode of the VPN gateway. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionRouteModeModePolicyConst = "policy" + VPNGatewayConnectionRouteModeModeRouteConst = "route" +) + +// Constants associated with the VPNGatewayConnectionRouteMode.ResourceType property. +// The resource type. +const ( + VPNGatewayConnectionRouteModeResourceTypeVPNGatewayConnectionConst = "vpn_gateway_connection" +) + +// Constants associated with the VPNGatewayConnectionRouteMode.Status property. +// The status of a VPN gateway connection. +const ( + VPNGatewayConnectionRouteModeStatusDownConst = "down" + VPNGatewayConnectionRouteModeStatusUpConst = "up" +) + +// Constants associated with the VPNGatewayConnectionRouteMode.RoutingProtocol property. +// The routing protocol for this VPN gateway connection. +const ( + VPNGatewayConnectionRouteModeRoutingProtocolNoneConst = "none" +) + +func (*VPNGatewayConnectionRouteMode) isaVPNGatewayConnectionRouteMode() bool { + return true +} + +type VPNGatewayConnectionRouteModeIntf interface { + VPNGatewayConnectionIntf + isaVPNGatewayConnectionRouteMode() bool +} + +func (*VPNGatewayConnectionRouteMode) isaVPNGatewayConnection() bool { + return true +} + +// UnmarshalVPNGatewayConnectionRouteMode unmarshals an instance of VPNGatewayConnectionRouteMode from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionRouteMode(m map[string]json.RawMessage, result interface{}) (err error) { + // Retrieve discriminator value to determine correct "subclass". + var discValue string + err = core.UnmarshalPrimitive(m, "routing_protocol", &discValue) + if err != nil { + errMsg := fmt.Sprintf("error unmarshalling discriminator property 'routing_protocol': %s", err.Error()) + err = core.SDKErrorf(err, errMsg, "discriminator-unmarshal-error", common.GetComponentInfo()) + return + } + if discValue == "" { + err = core.SDKErrorf(err, "required discriminator property 'routing_protocol' not found in JSON object", "missing-discriminator", common.GetComponentInfo()) + return + } + if discValue == "bgp" { + err = core.UnmarshalModel(m, "", result, UnmarshalVPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode-error", common.GetComponentInfo()) + } + } else if discValue == "none" { + err = core.UnmarshalModel(m, "", result, UnmarshalVPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode) + if err != nil { + err = core.SDKErrorf(err, "", "unmarshal-VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode-error", common.GetComponentInfo()) + } + } else { + errMsg := fmt.Sprintf("unrecognized value for discriminator property 'routing_protocol': %s", discValue) + err = core.SDKErrorf(err, errMsg, "invalid-discriminator", common.GetComponentInfo()) + } + return +} + +// VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress : VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress struct +// This model "extends" VPNGatewayConnectionStaticRouteModePeerPrototype +type VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress struct { + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address" validate:"required"` +} + +// NewVPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress : Instantiate VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress(address string) (_model *VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress, err error) { + _model = &VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress) isaVPNGatewayConnectionStaticRouteModePeerPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress unmarshals an instance of VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByAddress) + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn : VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn struct +// This model "extends" VPNGatewayConnectionStaticRouteModePeerPrototype +type VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn struct { + // The peer IKE identity to use. + // + // If unspecified: + // - If `peer.address` is specified, the `type` will be `ipv4_address`, and the `value` will be `peer.address`. + // - If `peer.fqdn` is specified, the `type` will be `fqdn`, and the `value` will be `peer.fqdn`. + IkeIdentity VPNGatewayConnectionIkeIdentityPrototypeIntf `json:"ike_identity,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn" validate:"required"` +} + +// NewVPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn : Instantiate VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn(fqdn string) (_model *VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn, err error) { + _model = &VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn{ + Fqdn: core.StringPtr(fqdn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn) isaVPNGatewayConnectionStaticRouteModePeerPrototype() bool { + return true +} + +// UnmarshalVPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn unmarshals an instance of VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModePeerPrototypeVPNGatewayConnectionPeerByFqdn) + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress : VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress struct +// This model "extends" VPNGatewayConnectionStaticRouteModePeer +type VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress struct { + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddressTypeAddressConst = "address" + VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddressTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress) isaVPNGatewayConnectionStaticRouteModePeer() bool { + return true +} + +// UnmarshalVPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress unmarshals an instance of VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByAddress) + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn : VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn struct +// This model "extends" VPNGatewayConnectionStaticRouteModePeer +type VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn struct { + // The peer IKE identity. + IkeIdentity VPNGatewayConnectionIkeIdentityIntf `json:"ike_identity" validate:"required"` + + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `json:"type" validate:"required"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn.Type property. +// Indicates whether `peer.address` or `peer.fqdn` is used. +const ( + VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdnTypeAddressConst = "address" + VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdnTypeFqdnConst = "fqdn" +) + +func (*VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn) isaVPNGatewayConnectionStaticRouteModePeer() bool { + return true +} + +// UnmarshalVPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn unmarshals an instance of VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionStaticRouteModePeerVPNGatewayConnectionPeerByFqdn) + err = core.UnmarshalModel(m, "ike_identity", &obj.IkeIdentity, UnmarshalVPNGatewayConnectionIkeIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "ike_identity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayPolicyMode : VPNGatewayPolicyMode struct +// This model "extends" VPNGateway +type VPNGatewayPolicyMode struct { + // The connections for this VPN gateway. + Connections []VPNGatewayConnectionReference `json:"connections" validate:"required"` + + // The date and time that this VPN gateway was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this VPN gateway. + CRN *string `json:"crn" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []VPNGatewayHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this VPN gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []VPNGatewayLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the VPN gateway. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The members for the VPN gateway. + Members []VPNGatewayMember `json:"members" validate:"required"` + + // The name for this VPN gateway. The name is unique across all VPN gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this VPN gateway. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The VPC this VPN gateway resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The mode for this VPN gateway. + Mode *string `json:"mode" validate:"required"` +} + +// Constants associated with the VPNGatewayPolicyMode.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VPNGatewayPolicyModeHealthStateDegradedConst = "degraded" + VPNGatewayPolicyModeHealthStateFaultedConst = "faulted" + VPNGatewayPolicyModeHealthStateInapplicableConst = "inapplicable" + VPNGatewayPolicyModeHealthStateOkConst = "ok" +) + +// Constants associated with the VPNGatewayPolicyMode.LifecycleState property. +// The lifecycle state of the VPN gateway. +const ( + VPNGatewayPolicyModeLifecycleStateDeletingConst = "deleting" + VPNGatewayPolicyModeLifecycleStateFailedConst = "failed" + VPNGatewayPolicyModeLifecycleStatePendingConst = "pending" + VPNGatewayPolicyModeLifecycleStateStableConst = "stable" + VPNGatewayPolicyModeLifecycleStateSuspendedConst = "suspended" + VPNGatewayPolicyModeLifecycleStateUpdatingConst = "updating" + VPNGatewayPolicyModeLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VPNGatewayPolicyMode.ResourceType property. +// The resource type. +const ( + VPNGatewayPolicyModeResourceTypeVPNGatewayConst = "vpn_gateway" +) + +// Constants associated with the VPNGatewayPolicyMode.Mode property. +// The mode for this VPN gateway. +const ( + VPNGatewayPolicyModeModePolicyConst = "policy" +) + +func (*VPNGatewayPolicyMode) isaVPNGateway() bool { + return true +} + +// UnmarshalVPNGatewayPolicyMode unmarshals an instance of VPNGatewayPolicyMode from the specified map of raw messages. +func UnmarshalVPNGatewayPolicyMode(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayPolicyMode) + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalVPNGatewayConnectionReference) + if err != nil { + err = core.SDKErrorf(err, "", "connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVPNGatewayHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalVPNGatewayLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "members", &obj.Members, UnmarshalVPNGatewayMember) + if err != nil { + err = core.SDKErrorf(err, "", "members-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayPrototypeVPNGatewayPolicyModePrototype : VPNGatewayPrototypeVPNGatewayPolicyModePrototype struct +// This model "extends" VPNGatewayPrototype +type VPNGatewayPrototypeVPNGatewayPolicyModePrototype struct { + // The name for this VPN gateway. The name must not be used by another VPN gateway in the VPC. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` + + // The mode for this VPN gateway. + Mode *string `json:"mode" validate:"required"` +} + +// Constants associated with the VPNGatewayPrototypeVPNGatewayPolicyModePrototype.Mode property. +// The mode for this VPN gateway. +const ( + VPNGatewayPrototypeVPNGatewayPolicyModePrototypeModePolicyConst = "policy" +) + +// NewVPNGatewayPrototypeVPNGatewayPolicyModePrototype : Instantiate VPNGatewayPrototypeVPNGatewayPolicyModePrototype (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayPrototypeVPNGatewayPolicyModePrototype(subnet SubnetIdentityIntf, mode string) (_model *VPNGatewayPrototypeVPNGatewayPolicyModePrototype, err error) { + _model = &VPNGatewayPrototypeVPNGatewayPolicyModePrototype{ + Subnet: subnet, + Mode: core.StringPtr(mode), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayPrototypeVPNGatewayPolicyModePrototype) isaVPNGatewayPrototype() bool { + return true +} + +// UnmarshalVPNGatewayPrototypeVPNGatewayPolicyModePrototype unmarshals an instance of VPNGatewayPrototypeVPNGatewayPolicyModePrototype from the specified map of raw messages. +func UnmarshalVPNGatewayPrototypeVPNGatewayPolicyModePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayPrototypeVPNGatewayPolicyModePrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayPrototypeVPNGatewayRouteModePrototype : VPNGatewayPrototypeVPNGatewayRouteModePrototype struct +// This model "extends" VPNGatewayPrototype +type VPNGatewayPrototypeVPNGatewayRouteModePrototype struct { + // The name for this VPN gateway. The name must not be used by another VPN gateway in the VPC. If unspecified, the name + // will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + Subnet SubnetIdentityIntf `json:"subnet" validate:"required"` + + // The static CIDRs advertised through any enabled routing protocol (for example, BGP). The routing protocol will + // advertise routes with these CIDRs as route destinations. + AdvertisedCIDRs []string `json:"advertised_cidrs,omitempty"` + + // The local autonomous system number (ASN) for this VPN gateway and its connections. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + LocalAsn *int64 `json:"local_asn,omitempty"` + + // The mode for this VPN gateway. + Mode *string `json:"mode,omitempty"` +} + +// Constants associated with the VPNGatewayPrototypeVPNGatewayRouteModePrototype.Mode property. +// The mode for this VPN gateway. +const ( + VPNGatewayPrototypeVPNGatewayRouteModePrototypeModeRouteConst = "route" +) + +// NewVPNGatewayPrototypeVPNGatewayRouteModePrototype : Instantiate VPNGatewayPrototypeVPNGatewayRouteModePrototype (Generic Model Constructor) +func (*VpcV1) NewVPNGatewayPrototypeVPNGatewayRouteModePrototype(subnet SubnetIdentityIntf) (_model *VPNGatewayPrototypeVPNGatewayRouteModePrototype, err error) { + _model = &VPNGatewayPrototypeVPNGatewayRouteModePrototype{ + Subnet: subnet, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNGatewayPrototypeVPNGatewayRouteModePrototype) isaVPNGatewayPrototype() bool { + return true +} + +// UnmarshalVPNGatewayPrototypeVPNGatewayRouteModePrototype unmarshals an instance of VPNGatewayPrototypeVPNGatewayRouteModePrototype from the specified map of raw messages. +func UnmarshalVPNGatewayPrototypeVPNGatewayRouteModePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayPrototypeVPNGatewayRouteModePrototype) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertised_cidrs", &obj.AdvertisedCIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "advertised_cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "local_asn", &obj.LocalAsn) + if err != nil { + err = core.SDKErrorf(err, "", "local_asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayRouteMode : VPNGatewayRouteMode struct +// This model "extends" VPNGateway +type VPNGatewayRouteMode struct { + // The connections for this VPN gateway. + Connections []VPNGatewayConnectionReference `json:"connections" validate:"required"` + + // The date and time that this VPN gateway was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this VPN gateway. + CRN *string `json:"crn" validate:"required"` + + // The reasons for the current `health_state` (if any). + HealthReasons []VPNGatewayHealthReason `json:"health_reasons" validate:"required"` + + // The health of this resource: + // - `ok`: No abnormal behavior detected + // - `degraded`: Experiencing compromised performance, capacity, or connectivity + // - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated + // - `inapplicable`: The health state does not apply because of the current lifecycle + // state. A resource with a lifecycle state of `failed` or `deleting` will have a + // health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `json:"health_state" validate:"required"` + + // The URL for this VPN gateway. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway. + ID *string `json:"id" validate:"required"` + + // The reasons for the current `lifecycle_state` (if any). + LifecycleReasons []VPNGatewayLifecycleReason `json:"lifecycle_reasons" validate:"required"` + + // The lifecycle state of the VPN gateway. + LifecycleState *string `json:"lifecycle_state" validate:"required"` + + // The members for the VPN gateway. + Members []VPNGatewayMember `json:"members" validate:"required"` + + // The name for this VPN gateway. The name is unique across all VPN gateways in the VPC. + Name *string `json:"name" validate:"required"` + + // The resource group for this VPN gateway. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + Subnet *SubnetReference `json:"subnet" validate:"required"` + + // The VPC this VPN gateway resides in. + VPC *VPCReference `json:"vpc" validate:"required"` + + // The static CIDRs advertised through any enabled routing protocol (for example, BGP). The routing protocol will + // advertise routes with these CIDRs as route destinations. + AdvertisedCIDRs []string `json:"advertised_cidrs" validate:"required"` + + // The local autonomous system number (ASN) for this VPN gateway and its connections. + LocalAsn *int64 `json:"local_asn" validate:"required"` + + // The mode for this VPN gateway. + Mode *string `json:"mode" validate:"required"` +} + +// Constants associated with the VPNGatewayRouteMode.HealthState property. +// The health of this resource: +// - `ok`: No abnormal behavior detected +// - `degraded`: Experiencing compromised performance, capacity, or connectivity +// - `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated +// - `inapplicable`: The health state does not apply because of the current lifecycle +// state. A resource with a lifecycle state of `failed` or `deleting` will have a +// health state of `inapplicable`. A `pending` resource may also have this state. +const ( + VPNGatewayRouteModeHealthStateDegradedConst = "degraded" + VPNGatewayRouteModeHealthStateFaultedConst = "faulted" + VPNGatewayRouteModeHealthStateInapplicableConst = "inapplicable" + VPNGatewayRouteModeHealthStateOkConst = "ok" +) + +// Constants associated with the VPNGatewayRouteMode.LifecycleState property. +// The lifecycle state of the VPN gateway. +const ( + VPNGatewayRouteModeLifecycleStateDeletingConst = "deleting" + VPNGatewayRouteModeLifecycleStateFailedConst = "failed" + VPNGatewayRouteModeLifecycleStatePendingConst = "pending" + VPNGatewayRouteModeLifecycleStateStableConst = "stable" + VPNGatewayRouteModeLifecycleStateSuspendedConst = "suspended" + VPNGatewayRouteModeLifecycleStateUpdatingConst = "updating" + VPNGatewayRouteModeLifecycleStateWaitingConst = "waiting" +) + +// Constants associated with the VPNGatewayRouteMode.ResourceType property. +// The resource type. +const ( + VPNGatewayRouteModeResourceTypeVPNGatewayConst = "vpn_gateway" +) + +// Constants associated with the VPNGatewayRouteMode.Mode property. +// The mode for this VPN gateway. +const ( + VPNGatewayRouteModeModeRouteConst = "route" +) + +func (*VPNGatewayRouteMode) isaVPNGateway() bool { + return true +} + +// UnmarshalVPNGatewayRouteMode unmarshals an instance of VPNGatewayRouteMode from the specified map of raw messages. +func UnmarshalVPNGatewayRouteMode(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayRouteMode) + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalVPNGatewayConnectionReference) + if err != nil { + err = core.SDKErrorf(err, "", "connections-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "health_reasons", &obj.HealthReasons, UnmarshalVPNGatewayHealthReason) + if err != nil { + err = core.SDKErrorf(err, "", "health_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "health_state", &obj.HealthState) + if err != nil { + err = core.SDKErrorf(err, "", "health_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "lifecycle_reasons", &obj.LifecycleReasons, UnmarshalVPNGatewayLifecycleReason) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "lifecycle_state", &obj.LifecycleState) + if err != nil { + err = core.SDKErrorf(err, "", "lifecycle_state-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "members", &obj.Members, UnmarshalVPNGatewayMember) + if err != nil { + err = core.SDKErrorf(err, "", "members-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "subnet", &obj.Subnet, UnmarshalSubnetReference) + if err != nil { + err = core.SDKErrorf(err, "", "subnet-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCReference) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "advertised_cidrs", &obj.AdvertisedCIDRs) + if err != nil { + err = core.SDKErrorf(err, "", "advertised_cidrs-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "local_asn", &obj.LocalAsn) + if err != nil { + err = core.SDKErrorf(err, "", "local_asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayServiceConnectionCreatorTransitGatewayReference : VPNGatewayServiceConnectionCreatorTransitGatewayReference struct +// This model "extends" VPNGatewayServiceConnectionCreator +type VPNGatewayServiceConnectionCreatorTransitGatewayReference struct { + // The CRN for this transit gateway. + CRN *string `json:"crn" validate:"required"` + + // The unique identifier for this transit gateway. + ID *string `json:"id" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VPNGatewayServiceConnectionCreatorTransitGatewayReference.ResourceType property. +// The resource type. +const ( + VPNGatewayServiceConnectionCreatorTransitGatewayReferenceResourceTypeTransitGatewayConst = "transit_gateway" +) + +func (*VPNGatewayServiceConnectionCreatorTransitGatewayReference) isaVPNGatewayServiceConnectionCreator() bool { + return true +} + +// UnmarshalVPNGatewayServiceConnectionCreatorTransitGatewayReference unmarshals an instance of VPNGatewayServiceConnectionCreatorTransitGatewayReference from the specified map of raw messages. +func UnmarshalVPNGatewayServiceConnectionCreatorTransitGatewayReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayServiceConnectionCreatorTransitGatewayReference) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerAuthenticationByCertificate : VPNServerAuthenticationByCertificate struct +// This model "extends" VPNServerAuthentication +type VPNServerAuthenticationByCertificate struct { + // The type of authentication. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Method *string `json:"method" validate:"required"` + + // The certificate instance used for the VPN client certificate authority (CA). + ClientCa *CertificateInstanceReference `json:"client_ca" validate:"required"` + + // The certificate revocation list contents, encoded in PEM format. + Crl *string `json:"crl,omitempty"` +} + +// Constants associated with the VPNServerAuthenticationByCertificate.Method property. +// The type of authentication. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerAuthenticationByCertificateMethodCertificateConst = "certificate" + VPNServerAuthenticationByCertificateMethodUsernameConst = "username" +) + +func (*VPNServerAuthenticationByCertificate) isaVPNServerAuthentication() bool { + return true +} + +// UnmarshalVPNServerAuthenticationByCertificate unmarshals an instance of VPNServerAuthenticationByCertificate from the specified map of raw messages. +func UnmarshalVPNServerAuthenticationByCertificate(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerAuthenticationByCertificate) + err = core.UnmarshalPrimitive(m, "method", &obj.Method) + if err != nil { + err = core.SDKErrorf(err, "", "method-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "client_ca", &obj.ClientCa, UnmarshalCertificateInstanceReference) + if err != nil { + err = core.SDKErrorf(err, "", "client_ca-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crl", &obj.Crl) + if err != nil { + err = core.SDKErrorf(err, "", "crl-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerAuthenticationByUsername : VPNServerAuthenticationByUsername struct +// This model "extends" VPNServerAuthentication +type VPNServerAuthenticationByUsername struct { + // The type of authentication. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Method *string `json:"method" validate:"required"` + + // The type of identity provider to be used by VPN client. + IdentityProvider VPNServerAuthenticationByUsernameIDProviderIntf `json:"identity_provider" validate:"required"` +} + +// Constants associated with the VPNServerAuthenticationByUsername.Method property. +// The type of authentication. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerAuthenticationByUsernameMethodCertificateConst = "certificate" + VPNServerAuthenticationByUsernameMethodUsernameConst = "username" +) + +func (*VPNServerAuthenticationByUsername) isaVPNServerAuthentication() bool { + return true +} + +// UnmarshalVPNServerAuthenticationByUsername unmarshals an instance of VPNServerAuthenticationByUsername from the specified map of raw messages. +func UnmarshalVPNServerAuthenticationByUsername(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerAuthenticationByUsername) + err = core.UnmarshalPrimitive(m, "method", &obj.Method) + if err != nil { + err = core.SDKErrorf(err, "", "method-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "identity_provider", &obj.IdentityProvider, UnmarshalVPNServerAuthenticationByUsernameIDProvider) + if err != nil { + err = core.SDKErrorf(err, "", "identity_provider-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNServerAuthenticationByUsernameIDProviderByIam : VPNServerAuthenticationByUsernameIDProviderByIam struct +// This model "extends" VPNServerAuthenticationByUsernameIDProvider +type VPNServerAuthenticationByUsernameIDProviderByIam struct { + // The type of identity provider to be used by the VPN client: + // - `iam`: IBM identity and access management + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + ProviderType *string `json:"provider_type" validate:"required"` +} + +// Constants associated with the VPNServerAuthenticationByUsernameIDProviderByIam.ProviderType property. +// The type of identity provider to be used by the VPN client: +// - `iam`: IBM identity and access management +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNServerAuthenticationByUsernameIDProviderByIamProviderTypeIamConst = "iam" +) + +// NewVPNServerAuthenticationByUsernameIDProviderByIam : Instantiate VPNServerAuthenticationByUsernameIDProviderByIam (Generic Model Constructor) +func (*VpcV1) NewVPNServerAuthenticationByUsernameIDProviderByIam(providerType string) (_model *VPNServerAuthenticationByUsernameIDProviderByIam, err error) { + _model = &VPNServerAuthenticationByUsernameIDProviderByIam{ + ProviderType: core.StringPtr(providerType), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNServerAuthenticationByUsernameIDProviderByIam) isaVPNServerAuthenticationByUsernameIDProvider() bool { + return true +} + +// UnmarshalVPNServerAuthenticationByUsernameIDProviderByIam unmarshals an instance of VPNServerAuthenticationByUsernameIDProviderByIam from the specified map of raw messages. +func UnmarshalVPNServerAuthenticationByUsernameIDProviderByIam(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerAuthenticationByUsernameIDProviderByIam) + err = core.UnmarshalPrimitive(m, "provider_type", &obj.ProviderType) + if err != nil { + err = core.SDKErrorf(err, "", "provider_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNServerAuthenticationByUsernameIDProviderByIam +func (vpnServerAuthenticationByUsernameIDProviderByIam *VPNServerAuthenticationByUsernameIDProviderByIam) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnServerAuthenticationByUsernameIDProviderByIam.ProviderType) { + _patch["provider_type"] = vpnServerAuthenticationByUsernameIDProviderByIam.ProviderType + } + + return +} + +// VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype : VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype struct +// This model "extends" VPNServerAuthenticationPrototype +type VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype struct { + // The type of authentication. + Method *string `json:"method" validate:"required"` + + // The certificate instance to use for the VPN client certificate authority (CA). + ClientCa CertificateInstanceIdentityIntf `json:"client_ca" validate:"required"` + + // The certificate revocation list contents, encoded in PEM format. + Crl *string `json:"crl,omitempty"` +} + +// Constants associated with the VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype.Method property. +// The type of authentication. +const ( + VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototypeMethodCertificateConst = "certificate" + VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototypeMethodUsernameConst = "username" +) + +// NewVPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype : Instantiate VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype (Generic Model Constructor) +func (*VpcV1) NewVPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype(method string, clientCa CertificateInstanceIdentityIntf) (_model *VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype, err error) { + _model = &VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype{ + Method: core.StringPtr(method), + ClientCa: clientCa, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype) isaVPNServerAuthenticationPrototype() bool { + return true +} + +// UnmarshalVPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype unmarshals an instance of VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype from the specified map of raw messages. +func UnmarshalVPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype) + err = core.UnmarshalPrimitive(m, "method", &obj.Method) + if err != nil { + err = core.SDKErrorf(err, "", "method-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "client_ca", &obj.ClientCa, UnmarshalCertificateInstanceIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "client_ca-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crl", &obj.Crl) + if err != nil { + err = core.SDKErrorf(err, "", "crl-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype +func (vpnServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype *VPNServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype.Method) { + _patch["method"] = vpnServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype.Method + } + if !core.IsNil(vpnServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype.ClientCa) { + _patch["client_ca"] = vpnServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype.ClientCa.asPatch() + } + if !core.IsNil(vpnServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype.Crl) { + _patch["crl"] = vpnServerAuthenticationPrototypeVPNServerAuthenticationByCertificatePrototype.Crl + } + + return +} + +// VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype : VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype struct +// This model "extends" VPNServerAuthenticationPrototype +type VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype struct { + // The type of authentication. + Method *string `json:"method" validate:"required"` + + // The type of identity provider to be used by VPN client. + IdentityProvider VPNServerAuthenticationByUsernameIDProviderIntf `json:"identity_provider" validate:"required"` +} + +// Constants associated with the VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype.Method property. +// The type of authentication. +const ( + VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototypeMethodCertificateConst = "certificate" + VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototypeMethodUsernameConst = "username" +) + +// NewVPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype : Instantiate VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype (Generic Model Constructor) +func (*VpcV1) NewVPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype(method string, identityProvider VPNServerAuthenticationByUsernameIDProviderIntf) (_model *VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype, err error) { + _model = &VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype{ + Method: core.StringPtr(method), + IdentityProvider: identityProvider, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype) isaVPNServerAuthenticationPrototype() bool { + return true +} + +// UnmarshalVPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype unmarshals an instance of VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype from the specified map of raw messages. +func UnmarshalVPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype) + err = core.UnmarshalPrimitive(m, "method", &obj.Method) + if err != nil { + err = core.SDKErrorf(err, "", "method-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "identity_provider", &obj.IdentityProvider, UnmarshalVPNServerAuthenticationByUsernameIDProvider) + if err != nil { + err = core.SDKErrorf(err, "", "identity_provider-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype +func (vpnServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype *VPNServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype.Method) { + _patch["method"] = vpnServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype.Method + } + if !core.IsNil(vpnServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype.IdentityProvider) { + _patch["identity_provider"] = vpnServerAuthenticationPrototypeVPNServerAuthenticationByUsernamePrototype.IdentityProvider.asPatch() + } + + return +} + +// VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext : Identifies a reserved IP by a unique property. The reserved IP must be currently unbound and in the primary IP's +// subnet. +// Models which "extend" this model: +// - VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID +// - VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref +// This model "extends" VirtualNetworkInterfaceIPPrototype +type VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` +} + +func (*VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext) isaVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext() bool { + return true +} + +type VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextIntf interface { + VirtualNetworkInterfaceIPPrototypeIntf + isaVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext() bool +} + +func (*VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext) isaVirtualNetworkInterfaceIPPrototype() bool { + return true +} + +// UnmarshalVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext unmarshals an instance of VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceIPPrototypeReservedIPPrototypeVirtualNetworkInterfaceIPsContext : The prototype for a new reserved IP. Must be in the primary IP's subnet. +// This model "extends" VirtualNetworkInterfaceIPPrototype +type VirtualNetworkInterfaceIPPrototypeReservedIPPrototypeVirtualNetworkInterfaceIPsContext struct { + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` +} + +func (*VirtualNetworkInterfaceIPPrototypeReservedIPPrototypeVirtualNetworkInterfaceIPsContext) isaVirtualNetworkInterfaceIPPrototype() bool { + return true +} + +// UnmarshalVirtualNetworkInterfaceIPPrototypeReservedIPPrototypeVirtualNetworkInterfaceIPsContext unmarshals an instance of VirtualNetworkInterfaceIPPrototypeReservedIPPrototypeVirtualNetworkInterfaceIPsContext from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceIPPrototypeReservedIPPrototypeVirtualNetworkInterfaceIPsContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceIPPrototypeReservedIPPrototypeVirtualNetworkInterfaceIPsContext) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext : Identifies a reserved IP by a unique property. Required if `subnet` is not specified. The reserved IP must be +// currently unbound. +// Models which "extend" this model: +// - VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID +// - VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref +// This model "extends" VirtualNetworkInterfacePrimaryIPPrototype +type VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext struct { + // The unique identifier for this reserved IP. + ID *string `json:"id,omitempty"` + + // The URL for this reserved IP. + Href *string `json:"href,omitempty"` +} + +func (*VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext) isaVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext() bool { + return true +} + +type VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextIntf interface { + VirtualNetworkInterfacePrimaryIPPrototypeIntf + isaVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext() bool +} + +func (*VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext) isaVirtualNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +// UnmarshalVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext unmarshals an instance of VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext : The prototype for a new reserved IP. Requires `subnet` to be specified. +// This model "extends" VirtualNetworkInterfacePrimaryIPPrototype +type VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext struct { + // The IP address to reserve, which must not already be reserved on the subnet. + // + // If unspecified, an available address on the subnet will automatically be selected. + Address *string `json:"address,omitempty"` + + // Indicates whether this reserved IP member will be automatically deleted when either + // `target` is deleted, or the reserved IP is unbound. + AutoDelete *bool `json:"auto_delete,omitempty"` + + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with + // `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated + // list of randomly-selected words. + Name *string `json:"name,omitempty"` +} + +func (*VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext) isaVirtualNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +// UnmarshalVirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext unmarshals an instance of VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfacePrimaryIPPrototypeReservedIPPrototypeVirtualNetworkInterfacePrimaryIPContext) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext : VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext struct +// This model "extends" VirtualNetworkInterfaceTarget +type VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext struct { + // The URL for this bare metal server network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this bare metal server network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this bare metal server network attachment. The name is unique across all network attachments for the + // bare metal server. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext.ResourceType property. +// The resource type. +const ( + VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContextResourceTypeBareMetalServerNetworkAttachmentConst = "bare_metal_server_network_attachment" +) + +func (*VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext) isaVirtualNetworkInterfaceTarget() bool { + return true +} + +// UnmarshalVirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext unmarshals an instance of VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceTargetBareMetalServerNetworkAttachmentReferenceVirtualNetworkInterfaceContext) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext : VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext struct +// This model "extends" VirtualNetworkInterfaceTarget +type VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext struct { + // The URL for this instance network attachment. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance network attachment. + ID *string `json:"id" validate:"required"` + + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext.ResourceType property. +// The resource type. +const ( + VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContextResourceTypeInstanceNetworkAttachmentConst = "instance_network_attachment" +) + +func (*VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext) isaVirtualNetworkInterfaceTarget() bool { + return true +} + +// UnmarshalVirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext unmarshals an instance of VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceTargetInstanceNetworkAttachmentReferenceVirtualNetworkInterfaceContext) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceTargetShareMountTargetReference : VirtualNetworkInterfaceTargetShareMountTargetReference struct +// This model "extends" VirtualNetworkInterfaceTarget +type VirtualNetworkInterfaceTargetShareMountTargetReference struct { + // If present, this property indicates the referenced resource has been deleted, and provides + // some supplementary information. + Deleted *Deleted `json:"deleted,omitempty"` + + // The URL for this share mount target. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this share mount target. + ID *string `json:"id" validate:"required"` + + // The name for this share mount target. The name is unique across all mount targets for the file share. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` +} + +// Constants associated with the VirtualNetworkInterfaceTargetShareMountTargetReference.ResourceType property. +// The resource type. +const ( + VirtualNetworkInterfaceTargetShareMountTargetReferenceResourceTypeShareMountTargetConst = "share_mount_target" +) + +func (*VirtualNetworkInterfaceTargetShareMountTargetReference) isaVirtualNetworkInterfaceTarget() bool { + return true +} + +// UnmarshalVirtualNetworkInterfaceTargetShareMountTargetReference unmarshals an instance of VirtualNetworkInterfaceTargetShareMountTargetReference from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceTargetShareMountTargetReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceTargetShareMountTargetReference) + err = core.UnmarshalModel(m, "deleted", &obj.Deleted, UnmarshalDeleted) + if err != nil { + err = core.SDKErrorf(err, "", "deleted-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeVolumeVolumeIdentity : Identifies a volume by a unique property. +// Models which "extend" this model: +// - VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID +// - VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN +// - VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref +// This model "extends" VolumeAttachmentPrototypeVolume +type VolumeAttachmentPrototypeVolumeVolumeIdentity struct { + // The unique identifier for this volume. + ID *string `json:"id,omitempty"` + + // The CRN for this volume. + CRN *string `json:"crn,omitempty"` + + // The URL for this volume. + Href *string `json:"href,omitempty"` +} + +func (*VolumeAttachmentPrototypeVolumeVolumeIdentity) isaVolumeAttachmentPrototypeVolumeVolumeIdentity() bool { + return true +} + +type VolumeAttachmentPrototypeVolumeVolumeIdentityIntf interface { + VolumeAttachmentPrototypeVolumeIntf + isaVolumeAttachmentPrototypeVolumeVolumeIdentity() bool +} + +func (*VolumeAttachmentPrototypeVolumeVolumeIdentity) isaVolumeAttachmentPrototypeVolume() bool { + return true +} + +// UnmarshalVolumeAttachmentPrototypeVolumeVolumeIdentity unmarshals an instance of VolumeAttachmentPrototypeVolumeVolumeIdentity from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeVolumeVolumeIdentity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeVolumeVolumeIdentity) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext : VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext struct +// Models which "extend" this model: +// - VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity +// - VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot +// This model "extends" VolumeAttachmentPrototypeVolume +type VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext struct { + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for + // this volume. + Profile VolumeProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use for this volume. If unspecified, the instance's resource + // group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` + + // The capacity to use for the volume (in gigabytes). The specified value must be within the `capacity` range of the + // volume's profile. + Capacity *int64 `json:"capacity,omitempty"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The usage constraints to be matched against requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified if `source_snapshot` is bootable. If not specified, the value of + // this property will be inherited from the `source_snapshot`. + AllowedUse *VolumeAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The snapshot to use as a source for the volume's data. + // + // The specified snapshot may be in a different account, subject to IAM policies. + // + // To create a volume from a `source_snapshot`, the volume profile and the + // source snapshot must have the same `storage_generation` value. + SourceSnapshot SnapshotIdentityIntf `json:"source_snapshot,omitempty"` +} + +func (*VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext) isaVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext() bool { + return true +} + +type VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextIntf interface { + VolumeAttachmentPrototypeVolumeIntf + isaVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext() bool +} + +func (*VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext) isaVolumeAttachmentPrototypeVolume() bool { + return true +} + +// UnmarshalVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext unmarshals an instance of VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeIdentityByCRN : VolumeIdentityByCRN struct +// This model "extends" VolumeIdentity +type VolumeIdentityByCRN struct { + // The CRN for this volume. + CRN *string `json:"crn" validate:"required"` +} + +// NewVolumeIdentityByCRN : Instantiate VolumeIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewVolumeIdentityByCRN(crn string) (_model *VolumeIdentityByCRN, err error) { + _model = &VolumeIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeIdentityByCRN) isaVolumeIdentity() bool { + return true +} + +// UnmarshalVolumeIdentityByCRN unmarshals an instance of VolumeIdentityByCRN from the specified map of raw messages. +func UnmarshalVolumeIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeIdentityByHref : VolumeIdentityByHref struct +// This model "extends" VolumeIdentity +type VolumeIdentityByHref struct { + // The URL for this volume. + Href *string `json:"href" validate:"required"` +} + +// NewVolumeIdentityByHref : Instantiate VolumeIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVolumeIdentityByHref(href string) (_model *VolumeIdentityByHref, err error) { + _model = &VolumeIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeIdentityByHref) isaVolumeIdentity() bool { + return true +} + +// UnmarshalVolumeIdentityByHref unmarshals an instance of VolumeIdentityByHref from the specified map of raw messages. +func UnmarshalVolumeIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeIdentityByID : VolumeIdentityByID struct +// This model "extends" VolumeIdentity +type VolumeIdentityByID struct { + // The unique identifier for this volume. + ID *string `json:"id" validate:"required"` +} + +// NewVolumeIdentityByID : Instantiate VolumeIdentityByID (Generic Model Constructor) +func (*VpcV1) NewVolumeIdentityByID(id string) (_model *VolumeIdentityByID, err error) { + _model = &VolumeIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeIdentityByID) isaVolumeIdentity() bool { + return true +} + +// UnmarshalVolumeIdentityByID unmarshals an instance of VolumeIdentityByID from the specified map of raw messages. +func UnmarshalVolumeIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBandwidthDependent : The maximum bandwidth (in Mbps) of a volume with this profile depends on its configuration. +// This model "extends" VolumeProfileBandwidth +type VolumeProfileBandwidthDependent struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileBandwidthDependent.Type property. +// The type for this profile field. +const ( + VolumeProfileBandwidthDependentTypeDependentConst = "dependent" +) + +func (*VolumeProfileBandwidthDependent) isaVolumeProfileBandwidth() bool { + return true +} + +// UnmarshalVolumeProfileBandwidthDependent unmarshals an instance of VolumeProfileBandwidthDependent from the specified map of raw messages. +func UnmarshalVolumeProfileBandwidthDependent(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBandwidthDependent) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBandwidthDependentRange : The maximum bandwidth (in Mbps) of a volume with this profile varies depending on its configuration. +// This model "extends" VolumeProfileBandwidth +type VolumeProfileBandwidthDependentRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileBandwidthDependentRange.Type property. +// The type for this profile field. +const ( + VolumeProfileBandwidthDependentRangeTypeDependentRangeConst = "dependent_range" +) + +func (*VolumeProfileBandwidthDependentRange) isaVolumeProfileBandwidth() bool { + return true +} + +// UnmarshalVolumeProfileBandwidthDependentRange unmarshals an instance of VolumeProfileBandwidthDependentRange from the specified map of raw messages. +func UnmarshalVolumeProfileBandwidthDependentRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBandwidthDependentRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBandwidthEnum : The available maximum bandwidth values (in Mbps) of a volume with this profile. +// This model "extends" VolumeProfileBandwidth +type VolumeProfileBandwidthEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the VolumeProfileBandwidthEnum.Type property. +// The type for this profile field. +const ( + VolumeProfileBandwidthEnumTypeEnumConst = "enum" +) + +func (*VolumeProfileBandwidthEnum) isaVolumeProfileBandwidth() bool { + return true +} + +// UnmarshalVolumeProfileBandwidthEnum unmarshals an instance of VolumeProfileBandwidthEnum from the specified map of raw messages. +func UnmarshalVolumeProfileBandwidthEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBandwidthEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBandwidthFixed : The maximum bandwidth (in Mbps) of a volume with this profile is fixed. +// This model "extends" VolumeProfileBandwidth +type VolumeProfileBandwidthFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the VolumeProfileBandwidthFixed.Type property. +// The type for this profile field. +const ( + VolumeProfileBandwidthFixedTypeFixedConst = "fixed" +) + +func (*VolumeProfileBandwidthFixed) isaVolumeProfileBandwidth() bool { + return true +} + +// UnmarshalVolumeProfileBandwidthFixed unmarshals an instance of VolumeProfileBandwidthFixed from the specified map of raw messages. +func UnmarshalVolumeProfileBandwidthFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBandwidthFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBandwidthRange : The maximum bandwidth range (in Mbps) of a volume with this profile. +// This model "extends" VolumeProfileBandwidth +type VolumeProfileBandwidthRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileBandwidthRange.Type property. +// The type for this profile field. +const ( + VolumeProfileBandwidthRangeTypeRangeConst = "range" +) + +func (*VolumeProfileBandwidthRange) isaVolumeProfileBandwidth() bool { + return true +} + +// UnmarshalVolumeProfileBandwidthRange unmarshals an instance of VolumeProfileBandwidthRange from the specified map of raw messages. +func UnmarshalVolumeProfileBandwidthRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBandwidthRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBootCapacityDependentRange : The permitted total capacity (in gigabytes) of a boot volume with this profile depends on its configuration. +// This model "extends" VolumeProfileBootCapacity +type VolumeProfileBootCapacityDependentRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileBootCapacityDependentRange.Type property. +// The type for this profile field. +const ( + VolumeProfileBootCapacityDependentRangeTypeDependentRangeConst = "dependent_range" +) + +func (*VolumeProfileBootCapacityDependentRange) isaVolumeProfileBootCapacity() bool { + return true +} + +// UnmarshalVolumeProfileBootCapacityDependentRange unmarshals an instance of VolumeProfileBootCapacityDependentRange from the specified map of raw messages. +func UnmarshalVolumeProfileBootCapacityDependentRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBootCapacityDependentRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBootCapacityEnum : The permitted total capacities (in gigabytes) of a boot volume with this profile. +// This model "extends" VolumeProfileBootCapacity +type VolumeProfileBootCapacityEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the VolumeProfileBootCapacityEnum.Type property. +// The type for this profile field. +const ( + VolumeProfileBootCapacityEnumTypeEnumConst = "enum" +) + +func (*VolumeProfileBootCapacityEnum) isaVolumeProfileBootCapacity() bool { + return true +} + +// UnmarshalVolumeProfileBootCapacityEnum unmarshals an instance of VolumeProfileBootCapacityEnum from the specified map of raw messages. +func UnmarshalVolumeProfileBootCapacityEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBootCapacityEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBootCapacityFixed : The permitted total capacity (in gigabytes) of a boot volume with this profile is fixed. +// This model "extends" VolumeProfileBootCapacity +type VolumeProfileBootCapacityFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the VolumeProfileBootCapacityFixed.Type property. +// The type for this profile field. +const ( + VolumeProfileBootCapacityFixedTypeFixedConst = "fixed" +) + +func (*VolumeProfileBootCapacityFixed) isaVolumeProfileBootCapacity() bool { + return true +} + +// UnmarshalVolumeProfileBootCapacityFixed unmarshals an instance of VolumeProfileBootCapacityFixed from the specified map of raw messages. +func UnmarshalVolumeProfileBootCapacityFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBootCapacityFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileBootCapacityRange : The permitted total capacity range (in gigabytes) of a boot volume with this profile. +// This model "extends" VolumeProfileBootCapacity +type VolumeProfileBootCapacityRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileBootCapacityRange.Type property. +// The type for this profile field. +const ( + VolumeProfileBootCapacityRangeTypeRangeConst = "range" +) + +func (*VolumeProfileBootCapacityRange) isaVolumeProfileBootCapacity() bool { + return true +} + +// UnmarshalVolumeProfileBootCapacityRange unmarshals an instance of VolumeProfileBootCapacityRange from the specified map of raw messages. +func UnmarshalVolumeProfileBootCapacityRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileBootCapacityRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileCapacityDependentRange : The permitted total capacity (in gigabytes) of a data volume with this profile depends on its configuration. +// This model "extends" VolumeProfileCapacity +type VolumeProfileCapacityDependentRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileCapacityDependentRange.Type property. +// The type for this profile field. +const ( + VolumeProfileCapacityDependentRangeTypeDependentRangeConst = "dependent_range" +) + +func (*VolumeProfileCapacityDependentRange) isaVolumeProfileCapacity() bool { + return true +} + +// UnmarshalVolumeProfileCapacityDependentRange unmarshals an instance of VolumeProfileCapacityDependentRange from the specified map of raw messages. +func UnmarshalVolumeProfileCapacityDependentRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileCapacityDependentRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileCapacityEnum : The permitted total capacities (in gigabytes) of a data volume with this profile. +// This model "extends" VolumeProfileCapacity +type VolumeProfileCapacityEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the VolumeProfileCapacityEnum.Type property. +// The type for this profile field. +const ( + VolumeProfileCapacityEnumTypeEnumConst = "enum" +) + +func (*VolumeProfileCapacityEnum) isaVolumeProfileCapacity() bool { + return true +} + +// UnmarshalVolumeProfileCapacityEnum unmarshals an instance of VolumeProfileCapacityEnum from the specified map of raw messages. +func UnmarshalVolumeProfileCapacityEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileCapacityEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileCapacityFixed : The permitted total capacity (in gigabytes) of a data volume with this profile is fixed. +// This model "extends" VolumeProfileCapacity +type VolumeProfileCapacityFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the VolumeProfileCapacityFixed.Type property. +// The type for this profile field. +const ( + VolumeProfileCapacityFixedTypeFixedConst = "fixed" +) + +func (*VolumeProfileCapacityFixed) isaVolumeProfileCapacity() bool { + return true +} + +// UnmarshalVolumeProfileCapacityFixed unmarshals an instance of VolumeProfileCapacityFixed from the specified map of raw messages. +func UnmarshalVolumeProfileCapacityFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileCapacityFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileCapacityRange : The permitted total capacity range (in gigabytes) of a data volume with this profile. +// This model "extends" VolumeProfileCapacity +type VolumeProfileCapacityRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileCapacityRange.Type property. +// The type for this profile field. +const ( + VolumeProfileCapacityRangeTypeRangeConst = "range" +) + +func (*VolumeProfileCapacityRange) isaVolumeProfileCapacity() bool { + return true +} + +// UnmarshalVolumeProfileCapacityRange unmarshals an instance of VolumeProfileCapacityRange from the specified map of raw messages. +func UnmarshalVolumeProfileCapacityRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileCapacityRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileIopsDependentRange : The permitted IOPS range of a volume with this profile depends on its configuration. +// This model "extends" VolumeProfileIops +type VolumeProfileIopsDependentRange struct { + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileIopsDependentRange.Type property. +// The type for this profile field. +const ( + VolumeProfileIopsDependentRangeTypeDependentRangeConst = "dependent_range" +) + +func (*VolumeProfileIopsDependentRange) isaVolumeProfileIops() bool { + return true +} + +// UnmarshalVolumeProfileIopsDependentRange unmarshals an instance of VolumeProfileIopsDependentRange from the specified map of raw messages. +func UnmarshalVolumeProfileIopsDependentRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileIopsDependentRange) + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileIopsEnum : The permitted IOPS values of a volume with this profile. +// This model "extends" VolumeProfileIops +type VolumeProfileIopsEnum struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The permitted values for this profile field. + Values []int64 `json:"values" validate:"required"` +} + +// Constants associated with the VolumeProfileIopsEnum.Type property. +// The type for this profile field. +const ( + VolumeProfileIopsEnumTypeEnumConst = "enum" +) + +func (*VolumeProfileIopsEnum) isaVolumeProfileIops() bool { + return true +} + +// UnmarshalVolumeProfileIopsEnum unmarshals an instance of VolumeProfileIopsEnum from the specified map of raw messages. +func UnmarshalVolumeProfileIopsEnum(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileIopsEnum) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "values", &obj.Values) + if err != nil { + err = core.SDKErrorf(err, "", "values-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileIopsFixed : The permitted IOPS of a volume with this profile is fixed. +// This model "extends" VolumeProfileIops +type VolumeProfileIopsFixed struct { + // The type for this profile field. + Type *string `json:"type" validate:"required"` + + // The value for this profile field. + Value *int64 `json:"value" validate:"required"` +} + +// Constants associated with the VolumeProfileIopsFixed.Type property. +// The type for this profile field. +const ( + VolumeProfileIopsFixedTypeFixedConst = "fixed" +) + +func (*VolumeProfileIopsFixed) isaVolumeProfileIops() bool { + return true +} + +// UnmarshalVolumeProfileIopsFixed unmarshals an instance of VolumeProfileIopsFixed from the specified map of raw messages. +func UnmarshalVolumeProfileIopsFixed(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileIopsFixed) + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + err = core.SDKErrorf(err, "", "value-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileIopsRange : The permitted IOPS range of a volume with this profile. +// This model "extends" VolumeProfileIops +type VolumeProfileIopsRange struct { + // The default value for this profile field. + Default *int64 `json:"default" validate:"required"` + + // The maximum value for this profile field. + Max *int64 `json:"max" validate:"required"` + + // The minimum value for this profile field. + Min *int64 `json:"min" validate:"required"` + + // The increment step value for this profile field. + Step *int64 `json:"step" validate:"required"` + + // The type for this profile field. + Type *string `json:"type" validate:"required"` +} + +// Constants associated with the VolumeProfileIopsRange.Type property. +// The type for this profile field. +const ( + VolumeProfileIopsRangeTypeRangeConst = "range" +) + +func (*VolumeProfileIopsRange) isaVolumeProfileIops() bool { + return true +} + +// UnmarshalVolumeProfileIopsRange unmarshals an instance of VolumeProfileIopsRange from the specified map of raw messages. +func UnmarshalVolumeProfileIopsRange(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileIopsRange) + err = core.UnmarshalPrimitive(m, "default", &obj.Default) + if err != nil { + err = core.SDKErrorf(err, "", "default-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "max", &obj.Max) + if err != nil { + err = core.SDKErrorf(err, "", "max-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min", &obj.Min) + if err != nil { + err = core.SDKErrorf(err, "", "min-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "step", &obj.Step) + if err != nil { + err = core.SDKErrorf(err, "", "step-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + err = core.SDKErrorf(err, "", "type-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeProfileIdentityByHref : VolumeProfileIdentityByHref struct +// This model "extends" VolumeProfileIdentity +type VolumeProfileIdentityByHref struct { + // The URL for this volume profile. + Href *string `json:"href" validate:"required"` +} + +// NewVolumeProfileIdentityByHref : Instantiate VolumeProfileIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVolumeProfileIdentityByHref(href string) (_model *VolumeProfileIdentityByHref, err error) { + _model = &VolumeProfileIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeProfileIdentityByHref) isaVolumeProfileIdentity() bool { + return true +} + +// UnmarshalVolumeProfileIdentityByHref unmarshals an instance of VolumeProfileIdentityByHref from the specified map of raw messages. +func UnmarshalVolumeProfileIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VolumeProfileIdentityByHref +func (volumeProfileIdentityByHref *VolumeProfileIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(volumeProfileIdentityByHref.Href) { + _patch["href"] = volumeProfileIdentityByHref.Href + } + + return +} + +// VolumeProfileIdentityByName : VolumeProfileIdentityByName struct +// This model "extends" VolumeProfileIdentity +type VolumeProfileIdentityByName struct { + // The globally unique name for this volume profile. + Name *string `json:"name" validate:"required"` +} + +// NewVolumeProfileIdentityByName : Instantiate VolumeProfileIdentityByName (Generic Model Constructor) +func (*VpcV1) NewVolumeProfileIdentityByName(name string) (_model *VolumeProfileIdentityByName, err error) { + _model = &VolumeProfileIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeProfileIdentityByName) isaVolumeProfileIdentity() bool { + return true +} + +// UnmarshalVolumeProfileIdentityByName unmarshals an instance of VolumeProfileIdentityByName from the specified map of raw messages. +func UnmarshalVolumeProfileIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeProfileIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VolumeProfileIdentityByName +func (volumeProfileIdentityByName *VolumeProfileIdentityByName) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(volumeProfileIdentityByName.Name) { + _patch["name"] = volumeProfileIdentityByName.Name + } + + return +} + +// VolumePrototypeVolumeByCapacity : VolumePrototypeVolumeByCapacity struct +// This model "extends" VolumePrototype +type VolumePrototypeVolumeByCapacity struct { + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for this volume. + Profile VolumeProfileIdentityIntf `json:"profile" validate:"required"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` + + // The zone this volume will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The capacity to use for the volume (in gigabytes). The specified value must be within the `capacity` range of the + // volume's profile. + Capacity *int64 `json:"capacity" validate:"required"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` +} + +// NewVolumePrototypeVolumeByCapacity : Instantiate VolumePrototypeVolumeByCapacity (Generic Model Constructor) +func (*VpcV1) NewVolumePrototypeVolumeByCapacity(profile VolumeProfileIdentityIntf, zone ZoneIdentityIntf, capacity int64) (_model *VolumePrototypeVolumeByCapacity, err error) { + _model = &VolumePrototypeVolumeByCapacity{ + Profile: profile, + Zone: zone, + Capacity: core.Int64Ptr(capacity), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumePrototypeVolumeByCapacity) isaVolumePrototype() bool { + return true +} + +// UnmarshalVolumePrototypeVolumeByCapacity unmarshals an instance of VolumePrototypeVolumeByCapacity from the specified map of raw messages. +func UnmarshalVolumePrototypeVolumeByCapacity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumePrototypeVolumeByCapacity) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumePrototypeVolumeBySourceSnapshot : VolumePrototypeVolumeBySourceSnapshot struct +// This model "extends" VolumePrototype +type VolumePrototypeVolumeBySourceSnapshot struct { + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for this volume. + Profile VolumeProfileIdentityIntf `json:"profile" validate:"required"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` + + // The zone this volume will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The usage constraints to be matched against requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified if `source_snapshot` is bootable. If not specified, the value of + // this property will be inherited from the `source_snapshot`. + AllowedUse *VolumeAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The capacity to use for the volume (in gigabytes). The specified value must be at least the snapshot's + // `minimum_capacity`, and must be within the `capacity` range of the volume's profile. + // + // If unspecified, the capacity will be the source snapshot's `minimum_capacity`. + Capacity *int64 `json:"capacity,omitempty"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The snapshot to use as a source for the volume's data. + // + // The specified snapshot may be in a different account, subject to IAM policies. + // + // To create a volume from a `source_snapshot`, the volume profile and the + // source snapshot must have the same `storage_generation` value. + SourceSnapshot SnapshotIdentityIntf `json:"source_snapshot" validate:"required"` +} + +// NewVolumePrototypeVolumeBySourceSnapshot : Instantiate VolumePrototypeVolumeBySourceSnapshot (Generic Model Constructor) +func (*VpcV1) NewVolumePrototypeVolumeBySourceSnapshot(profile VolumeProfileIdentityIntf, zone ZoneIdentityIntf, sourceSnapshot SnapshotIdentityIntf) (_model *VolumePrototypeVolumeBySourceSnapshot, err error) { + _model = &VolumePrototypeVolumeBySourceSnapshot{ + Profile: profile, + Zone: zone, + SourceSnapshot: sourceSnapshot, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumePrototypeVolumeBySourceSnapshot) isaVolumePrototype() bool { + return true +} + +// UnmarshalVolumePrototypeVolumeBySourceSnapshot unmarshals an instance of VolumePrototypeVolumeBySourceSnapshot from the specified map of raw messages. +func UnmarshalVolumePrototypeVolumeBySourceSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumePrototypeVolumeBySourceSnapshot) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ZoneIdentityByHref : ZoneIdentityByHref struct +// This model "extends" ZoneIdentity +type ZoneIdentityByHref struct { + // The URL for this zone. + Href *string `json:"href" validate:"required"` +} + +// NewZoneIdentityByHref : Instantiate ZoneIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewZoneIdentityByHref(href string) (_model *ZoneIdentityByHref, err error) { + _model = &ZoneIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ZoneIdentityByHref) isaZoneIdentity() bool { + return true +} + +// UnmarshalZoneIdentityByHref unmarshals an instance of ZoneIdentityByHref from the specified map of raw messages. +func UnmarshalZoneIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZoneIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ZoneIdentityByHref +func (zoneIdentityByHref *ZoneIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(zoneIdentityByHref.Href) { + _patch["href"] = zoneIdentityByHref.Href + } + + return +} + +// ZoneIdentityByName : ZoneIdentityByName struct +// This model "extends" ZoneIdentity +type ZoneIdentityByName struct { + // The globally unique name for this zone. + Name *string `json:"name" validate:"required"` +} + +// NewZoneIdentityByName : Instantiate ZoneIdentityByName (Generic Model Constructor) +func (*VpcV1) NewZoneIdentityByName(name string) (_model *ZoneIdentityByName, err error) { + _model = &ZoneIdentityByName{ + Name: core.StringPtr(name), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ZoneIdentityByName) isaZoneIdentity() bool { + return true +} + +// UnmarshalZoneIdentityByName unmarshals an instance of ZoneIdentityByName from the specified map of raw messages. +func UnmarshalZoneIdentityByName(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZoneIdentityByName) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the ZoneIdentityByName +func (zoneIdentityByName *ZoneIdentityByName) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(zoneIdentityByName.Name) { + _patch["name"] = zoneIdentityByName.Name + } + + return +} + +// BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN : BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN struct +// This model "extends" BackupPolicyScopePrototypeEnterpriseIdentity +type BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN struct { + // The CRN for this enterprise. + CRN *string `json:"crn" validate:"required"` +} + +// NewBackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN : Instantiate BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewBackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN(crn string) (_model *BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN, err error) { + _model = &BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN) isaBackupPolicyScopePrototypeEnterpriseIdentity() bool { + return true +} + +func (*BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN) isaBackupPolicyScopePrototype() bool { + return true +} + +// UnmarshalBackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN unmarshals an instance of BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN from the specified map of raw messages. +func UnmarshalBackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BackupPolicyScopePrototypeEnterpriseIdentityEnterpriseIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct +// This model "extends" BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity +type BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` +} + +// NewBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : Instantiate BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(crn string) (_model *BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN, err error) { + _model = &BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN unmarshals an instance of BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct +// This model "extends" BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity +type BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct { + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` +} + +// NewBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : Instantiate BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(href string) (_model *BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref, err error) { + _model = &BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref unmarshals an instance of BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct +// This model "extends" BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity +type BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` +} + +// NewBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : Instantiate BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(id string) (_model *BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID, err error) { + _model = &BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID unmarshals an instance of BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalBareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BareMetalServerNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref : ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref struct +// This model "extends" ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext +type ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref struct { + // The URL for this cluster network subnet reserved IP. + Href *string `json:"href" validate:"required"` +} + +// NewClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref : Instantiate ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref (Generic Model Constructor) +func (*VpcV1) NewClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref(href string) (_model *ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref, err error) { + _model = &ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref) isaClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext() bool { + return true +} + +func (*ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref) isaClusterNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +// UnmarshalClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref unmarshals an instance of ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref from the specified map of raw messages. +func UnmarshalClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID : ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID struct +// This model "extends" ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext +type ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID struct { + // The unique identifier for this cluster network subnet reserved IP. + ID *string `json:"id" validate:"required"` +} + +// NewClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID : Instantiate ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID (Generic Model Constructor) +func (*VpcV1) NewClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID(id string) (_model *ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID, err error) { + _model = &ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID) isaClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContext() bool { + return true +} + +func (*ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID) isaClusterNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +// UnmarshalClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID unmarshals an instance of ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID from the specified map of raw messages. +func UnmarshalClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ClusterNetworkInterfacePrimaryIPPrototypeClusterNetworkSubnetReservedIPIdentityClusterNetworkInterfacePrimaryIPContextByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayReservedIPReservedIPIdentityByHref : EndpointGatewayReservedIPReservedIPIdentityByHref struct +// This model "extends" EndpointGatewayReservedIPReservedIPIdentity +type EndpointGatewayReservedIPReservedIPIdentityByHref struct { + // The URL for this reserved IP. + Href *string `json:"href" validate:"required"` +} + +// NewEndpointGatewayReservedIPReservedIPIdentityByHref : Instantiate EndpointGatewayReservedIPReservedIPIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewEndpointGatewayReservedIPReservedIPIdentityByHref(href string) (_model *EndpointGatewayReservedIPReservedIPIdentityByHref, err error) { + _model = &EndpointGatewayReservedIPReservedIPIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*EndpointGatewayReservedIPReservedIPIdentityByHref) isaEndpointGatewayReservedIPReservedIPIdentity() bool { + return true +} + +func (*EndpointGatewayReservedIPReservedIPIdentityByHref) isaEndpointGatewayReservedIP() bool { + return true +} + +// UnmarshalEndpointGatewayReservedIPReservedIPIdentityByHref unmarshals an instance of EndpointGatewayReservedIPReservedIPIdentityByHref from the specified map of raw messages. +func UnmarshalEndpointGatewayReservedIPReservedIPIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayReservedIPReservedIPIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// EndpointGatewayReservedIPReservedIPIdentityByID : EndpointGatewayReservedIPReservedIPIdentityByID struct +// This model "extends" EndpointGatewayReservedIPReservedIPIdentity +type EndpointGatewayReservedIPReservedIPIdentityByID struct { + // The unique identifier for this reserved IP. + ID *string `json:"id" validate:"required"` +} + +// NewEndpointGatewayReservedIPReservedIPIdentityByID : Instantiate EndpointGatewayReservedIPReservedIPIdentityByID (Generic Model Constructor) +func (*VpcV1) NewEndpointGatewayReservedIPReservedIPIdentityByID(id string) (_model *EndpointGatewayReservedIPReservedIPIdentityByID, err error) { + _model = &EndpointGatewayReservedIPReservedIPIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*EndpointGatewayReservedIPReservedIPIdentityByID) isaEndpointGatewayReservedIPReservedIPIdentity() bool { + return true +} + +func (*EndpointGatewayReservedIPReservedIPIdentityByID) isaEndpointGatewayReservedIP() bool { + return true +} + +// UnmarshalEndpointGatewayReservedIPReservedIPIdentityByID unmarshals an instance of EndpointGatewayReservedIPReservedIPIdentityByID from the specified map of raw messages. +func UnmarshalEndpointGatewayReservedIPReservedIPIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(EndpointGatewayReservedIPReservedIPIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref : FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref struct +// This model "extends" FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity +type FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref struct { + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` +} + +// NewFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref : Instantiate FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref(href string) (_model *FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref, err error) { + _model = &FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref) isaFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref unmarshals an instance of FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref +func (floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref *FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref.Href) { + _patch["href"] = floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref.Href + } + + return +} + +// FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID : FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID struct +// This model "extends" FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity +type FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID struct { + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` +} + +// NewFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID : Instantiate FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID(id string) (_model *FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID, err error) { + _model = &FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID) isaFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID unmarshals an instance of FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID +func (floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID *FloatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID.ID) { + _patch["id"] = floatingIPTargetPatchBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID.ID + } + + return +} + +// FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref : FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref struct +// This model "extends" FloatingIPTargetPatchNetworkInterfaceIdentity +type FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref struct { + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` +} + +// NewFloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref : Instantiate FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref(href string) (_model *FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref, err error) { + _model = &FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) isaFloatingIPTargetPatchNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref unmarshals an instance of FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref +func (floatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref *FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref.Href) { + _patch["href"] = floatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByHref.Href + } + + return +} + +// FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID : FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID struct +// This model "extends" FloatingIPTargetPatchNetworkInterfaceIdentity +type FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID struct { + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` +} + +// NewFloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID : Instantiate FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID(id string) (_model *FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID, err error) { + _model = &FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID) isaFloatingIPTargetPatchNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID unmarshals an instance of FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID +func (floatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID *FloatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID.ID) { + _patch["id"] = floatingIPTargetPatchNetworkInterfaceIdentityNetworkInterfaceIdentityByID.ID + } + + return +} + +// FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct +// This model "extends" FloatingIPTargetPatchVirtualNetworkInterfaceIdentity +type FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` +} + +// NewFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : Instantiate FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(crn string) (_model *FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN, err error) { + _model = &FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaFloatingIPTargetPatchVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN unmarshals an instance of FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN +func (floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN *FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN.CRN) { + _patch["crn"] = floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN.CRN + } + + return +} + +// FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct +// This model "extends" FloatingIPTargetPatchVirtualNetworkInterfaceIdentity +type FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct { + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` +} + +// NewFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : Instantiate FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(href string) (_model *FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref, err error) { + _model = &FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaFloatingIPTargetPatchVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref unmarshals an instance of FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref +func (floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref *FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref.Href) { + _patch["href"] = floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref.Href + } + + return +} + +// FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct +// This model "extends" FloatingIPTargetPatchVirtualNetworkInterfaceIdentity +type FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` +} + +// NewFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : Instantiate FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(id string) (_model *FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID, err error) { + _model = &FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaFloatingIPTargetPatchVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaFloatingIPTargetPatch() bool { + return true +} + +// UnmarshalFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID unmarshals an instance of FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalFloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID +func (floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID *FloatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID.ID) { + _patch["id"] = floatingIPTargetPatchVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID.ID + } + + return +} + +// FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref : FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref struct +// This model "extends" FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity +type FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref struct { + // The URL for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` +} + +// NewFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref : Instantiate FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref(href string) (_model *FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref, err error) { + _model = &FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref) isaFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref unmarshals an instance of FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID : FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID struct +// This model "extends" FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity +type FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID struct { + // The unique identifier for this bare metal server network interface. + // + // If this bare metal server has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` +} + +// NewFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID : Instantiate FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID(id string) (_model *FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID, err error) { + _model = &FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID) isaFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID unmarshals an instance of FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeBareMetalServerNetworkInterfaceIdentityBareMetalServerNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref : FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref struct +// This model "extends" FloatingIPTargetPrototypeNetworkInterfaceIdentity +type FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref struct { + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` +} + +// NewFloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref : Instantiate FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref(href string) (_model *FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref, err error) { + _model = &FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) isaFloatingIPTargetPrototypeNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref unmarshals an instance of FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID : FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID struct +// This model "extends" FloatingIPTargetPrototypeNetworkInterfaceIdentity +type FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID struct { + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` +} + +// NewFloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID : Instantiate FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID(id string) (_model *FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID, err error) { + _model = &FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID) isaFloatingIPTargetPrototypeNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID unmarshals an instance of FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct +// This model "extends" FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity +type FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` +} + +// NewFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : Instantiate FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(crn string) (_model *FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN, err error) { + _model = &FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN unmarshals an instance of FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct +// This model "extends" FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity +type FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct { + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` +} + +// NewFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : Instantiate FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(href string) (_model *FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref, err error) { + _model = &FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref unmarshals an instance of FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct +// This model "extends" FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity +type FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` +} + +// NewFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : Instantiate FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(id string) (_model *FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID, err error) { + _model = &FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaFloatingIPTargetPrototype() bool { + return true +} + +// UnmarshalFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID unmarshals an instance of FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalFloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FloatingIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN : FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN struct +// This model "extends" FlowLogCollectorTargetPrototypeInstanceIdentity +type FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN struct { + // The CRN for this virtual server instance. + CRN *string `json:"crn" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN : Instantiate FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN(crn string) (_model *FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN, err error) { + _model = &FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN) isaFlowLogCollectorTargetPrototypeInstanceIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN unmarshals an instance of FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref : FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref struct +// This model "extends" FlowLogCollectorTargetPrototypeInstanceIdentity +type FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref struct { + // The URL for this virtual server instance. + Href *string `json:"href" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref : Instantiate FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref(href string) (_model *FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref, err error) { + _model = &FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref) isaFlowLogCollectorTargetPrototypeInstanceIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref unmarshals an instance of FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID : FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID struct +// This model "extends" FlowLogCollectorTargetPrototypeInstanceIdentity +type FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID struct { + // The unique identifier for this virtual server instance. + ID *string `json:"id" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID : Instantiate FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID(id string) (_model *FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID, err error) { + _model = &FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID) isaFlowLogCollectorTargetPrototypeInstanceIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID unmarshals an instance of FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeInstanceIdentityInstanceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref : FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref struct +// This model "extends" FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity +type FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref struct { + // The URL for this instance network attachment. + Href *string `json:"href" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref : Instantiate FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref(href string) (_model *FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref, err error) { + _model = &FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref) isaFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref unmarshals an instance of FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID : FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID struct +// This model "extends" FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity +type FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID struct { + // The unique identifier for this instance network attachment. + ID *string `json:"id" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID : Instantiate FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID(id string) (_model *FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID, err error) { + _model = &FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID) isaFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID unmarshals an instance of FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeInstanceNetworkAttachmentIdentityInstanceNetworkAttachmentIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref : FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref struct +// This model "extends" FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity +type FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref struct { + // The URL for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment. + Href *string `json:"href" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref : Instantiate FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref(href string) (_model *FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref, err error) { + _model = &FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) isaFlowLogCollectorTargetPrototypeNetworkInterfaceIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref unmarshals an instance of FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID : FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID struct +// This model "extends" FlowLogCollectorTargetPrototypeNetworkInterfaceIdentity +type FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID struct { + // The unique identifier for this instance network interface. + // + // If this instance has network attachments, this network interface is a + // [read-only representation](https://cloud.ibm.com/docs/vpc?topic=vpc-vni-about#vni-old-api-clients) of its + // corresponding network attachment and its attached virtual network interface, and the identifier is that of the + // corresponding network attachment. + ID *string `json:"id" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID : Instantiate FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID(id string) (_model *FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID, err error) { + _model = &FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID) isaFlowLogCollectorTargetPrototypeNetworkInterfaceIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID unmarshals an instance of FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeNetworkInterfaceIdentityNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN : FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN struct +// This model "extends" FlowLogCollectorTargetPrototypeSubnetIdentity +type FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN struct { + // The CRN for this subnet. + CRN *string `json:"crn" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN : Instantiate FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN(crn string) (_model *FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN, err error) { + _model = &FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN) isaFlowLogCollectorTargetPrototypeSubnetIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN unmarshals an instance of FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref : FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref struct +// This model "extends" FlowLogCollectorTargetPrototypeSubnetIdentity +type FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref struct { + // The URL for this subnet. + Href *string `json:"href" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref : Instantiate FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref(href string) (_model *FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref, err error) { + _model = &FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref) isaFlowLogCollectorTargetPrototypeSubnetIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref unmarshals an instance of FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID : FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID struct +// This model "extends" FlowLogCollectorTargetPrototypeSubnetIdentity +type FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID struct { + // The unique identifier for this subnet. + ID *string `json:"id" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID : Instantiate FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID(id string) (_model *FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID, err error) { + _model = &FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID) isaFlowLogCollectorTargetPrototypeSubnetIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID unmarshals an instance of FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeSubnetIdentitySubnetIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN : FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN struct +// This model "extends" FlowLogCollectorTargetPrototypeVPCIdentity +type FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN struct { + // The CRN for this VPC. + CRN *string `json:"crn" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN : Instantiate FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN(crn string) (_model *FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN, err error) { + _model = &FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN) isaFlowLogCollectorTargetPrototypeVPCIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN unmarshals an instance of FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref : FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref struct +// This model "extends" FlowLogCollectorTargetPrototypeVPCIdentity +type FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref struct { + // The URL for this VPC. + Href *string `json:"href" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref : Instantiate FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref(href string) (_model *FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref, err error) { + _model = &FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref) isaFlowLogCollectorTargetPrototypeVPCIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref unmarshals an instance of FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID : FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID struct +// This model "extends" FlowLogCollectorTargetPrototypeVPCIdentity +type FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID struct { + // The unique identifier for this VPC. + ID *string `json:"id" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID : Instantiate FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID(id string) (_model *FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID, err error) { + _model = &FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID) isaFlowLogCollectorTargetPrototypeVPCIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID unmarshals an instance of FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeVPCIdentityVPCIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct +// This model "extends" FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity +type FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : Instantiate FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(crn string) (_model *FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN, err error) { + _model = &FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN unmarshals an instance of FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct +// This model "extends" FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity +type FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct { + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : Instantiate FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(href string) (_model *FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref, err error) { + _model = &FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref unmarshals an instance of FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct +// This model "extends" FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity +type FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` +} + +// NewFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : Instantiate FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(id string) (_model *FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID, err error) { + _model = &FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaFlowLogCollectorTargetPrototype() bool { + return true +} + +// UnmarshalFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID unmarshals an instance of FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalFlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(FlowLogCollectorTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref : InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref struct +// This model "extends" InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity +type InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref struct { + // The URL for this cluster network interface. + Href *string `json:"href" validate:"required"` +} + +// NewInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref : Instantiate InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref(href string) (_model *InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref, err error) { + _model = &InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref) isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity() bool { + return true +} + +func (*InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref) isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface() bool { + return true +} + +// UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref unmarshals an instance of InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID : InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID struct +// This model "extends" InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity +type InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID struct { + // The unique identifier for this cluster network interface. + ID *string `json:"id" validate:"required"` +} + +// NewInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID : Instantiate InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID(id string) (_model *InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID, err error) { + _model = &InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID) isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentity() bool { + return true +} + +func (*InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID) isaInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface() bool { + return true +} + +// UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID unmarshals an instance of InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalInstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterfaceClusterNetworkInterfaceIdentityClusterNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec : InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec struct +// Models which "extend" this model: +// - InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup +// - InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager +// This model "extends" InstanceGroupManagerActionPrototypeScheduledActionPrototype +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec struct { + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroupPrototype `json:"group,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerPrototypeIntf `json:"manager,omitempty"` +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec) isaInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec() bool { + return true +} + +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecIntf interface { + InstanceGroupManagerActionPrototypeScheduledActionPrototypeIntf + isaInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec() bool +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec) isaInstanceGroupManagerActionPrototypeScheduledActionPrototype() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec) isaInstanceGroupManagerActionPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec unmarshals an instance of InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroupPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManagerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt : InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt struct +// Models which "extend" this model: +// - InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup +// - InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager +// This model "extends" InstanceGroupManagerActionPrototypeScheduledActionPrototype +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt struct { + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The date and time the scheduled action will run. + RunAt *strfmt.DateTime `json:"run_at,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroupPrototype `json:"group,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerPrototypeIntf `json:"manager,omitempty"` +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt) isaInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt() bool { + return true +} + +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtIntf interface { + InstanceGroupManagerActionPrototypeScheduledActionPrototypeIntf + isaInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt() bool +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt) isaInstanceGroupManagerActionPrototypeScheduledActionPrototype() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt) isaInstanceGroupManagerActionPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt unmarshals an instance of InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "run_at", &obj.RunAt) + if err != nil { + err = core.SDKErrorf(err, "", "run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroupPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManagerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionScheduledActionGroupTarget : InstanceGroupManagerActionScheduledActionGroupTarget struct +// This model "extends" InstanceGroupManagerActionScheduledAction +type InstanceGroupManagerActionScheduledActionGroupTarget struct { + // Indicates whether this scheduled action will be automatically deleted after it has completed and + // `auto_delete_timeout` hours have passed. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // If `auto_delete` is `true`, and this scheduled action has finished, the hours after which it will be automatically + // deleted. If the value is `0`, the action will be deleted once it has finished. + AutoDeleteTimeout *int64 `json:"auto_delete_timeout" validate:"required"` + + // The date and time that the instance group manager action was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager action. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager action. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager action. The name is unique across all actions for the instance group + // manager. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of the instance group action + // - `active`: Action is ready to be run + // - `completed`: Action was completed successfully + // - `failed`: Action could not be completed successfully + // - `incompatible`: Action parameters are not compatible with the group or manager + // - `omitted`: Action was not applied because this action's manager was disabled + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The date and time that the instance group manager action was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The type of action for the instance group. + ActionType *string `json:"action_type" validate:"required"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` + + // The date and time the scheduled action was last applied. If absent, the action has never been applied. + LastAppliedAt *strfmt.DateTime `json:"last_applied_at,omitempty"` + + // The date and time the scheduled action will next run. If absent, the system is currently calculating the next run + // time. + NextRunAt *strfmt.DateTime `json:"next_run_at,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroup `json:"group" validate:"required"` +} + +// Constants associated with the InstanceGroupManagerActionScheduledActionGroupTarget.ResourceType property. +// The resource type. +const ( + InstanceGroupManagerActionScheduledActionGroupTargetResourceTypeInstanceGroupManagerActionConst = "instance_group_manager_action" +) + +// Constants associated with the InstanceGroupManagerActionScheduledActionGroupTarget.Status property. +// The status of the instance group action +// - `active`: Action is ready to be run +// - `completed`: Action was completed successfully +// - `failed`: Action could not be completed successfully +// - `incompatible`: Action parameters are not compatible with the group or manager +// - `omitted`: Action was not applied because this action's manager was disabled +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupManagerActionScheduledActionGroupTargetStatusActiveConst = "active" + InstanceGroupManagerActionScheduledActionGroupTargetStatusCompletedConst = "completed" + InstanceGroupManagerActionScheduledActionGroupTargetStatusFailedConst = "failed" + InstanceGroupManagerActionScheduledActionGroupTargetStatusIncompatibleConst = "incompatible" + InstanceGroupManagerActionScheduledActionGroupTargetStatusOmittedConst = "omitted" +) + +// Constants associated with the InstanceGroupManagerActionScheduledActionGroupTarget.ActionType property. +// The type of action for the instance group. +const ( + InstanceGroupManagerActionScheduledActionGroupTargetActionTypeScheduledConst = "scheduled" +) + +func (*InstanceGroupManagerActionScheduledActionGroupTarget) isaInstanceGroupManagerActionScheduledAction() bool { + return true +} + +func (*InstanceGroupManagerActionScheduledActionGroupTarget) isaInstanceGroupManagerAction() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionScheduledActionGroupTarget unmarshals an instance of InstanceGroupManagerActionScheduledActionGroupTarget from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionScheduledActionGroupTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionScheduledActionGroupTarget) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete_timeout", &obj.AutoDeleteTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "action_type", &obj.ActionType) + if err != nil { + err = core.SDKErrorf(err, "", "action_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "last_applied_at", &obj.LastAppliedAt) + if err != nil { + err = core.SDKErrorf(err, "", "last_applied_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "next_run_at", &obj.NextRunAt) + if err != nil { + err = core.SDKErrorf(err, "", "next_run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroup) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionScheduledActionManagerTarget : InstanceGroupManagerActionScheduledActionManagerTarget struct +// This model "extends" InstanceGroupManagerActionScheduledAction +type InstanceGroupManagerActionScheduledActionManagerTarget struct { + // Indicates whether this scheduled action will be automatically deleted after it has completed and + // `auto_delete_timeout` hours have passed. + AutoDelete *bool `json:"auto_delete" validate:"required"` + + // If `auto_delete` is `true`, and this scheduled action has finished, the hours after which it will be automatically + // deleted. If the value is `0`, the action will be deleted once it has finished. + AutoDeleteTimeout *int64 `json:"auto_delete_timeout" validate:"required"` + + // The date and time that the instance group manager action was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The URL for this instance group manager action. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance group manager action. + ID *string `json:"id" validate:"required"` + + // The name for this instance group manager action. The name is unique across all actions for the instance group + // manager. + Name *string `json:"name" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of the instance group action + // - `active`: Action is ready to be run + // - `completed`: Action was completed successfully + // - `failed`: Action could not be completed successfully + // - `incompatible`: Action parameters are not compatible with the group or manager + // - `omitted`: Action was not applied because this action's manager was disabled + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `json:"status" validate:"required"` + + // The date and time that the instance group manager action was updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The type of action for the instance group. + ActionType *string `json:"action_type" validate:"required"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` + + // The date and time the scheduled action was last applied. If absent, the action has never been applied. + LastAppliedAt *strfmt.DateTime `json:"last_applied_at,omitempty"` + + // The date and time the scheduled action will next run. If absent, the system is currently calculating the next run + // time. + NextRunAt *strfmt.DateTime `json:"next_run_at,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerIntf `json:"manager" validate:"required"` +} + +// Constants associated with the InstanceGroupManagerActionScheduledActionManagerTarget.ResourceType property. +// The resource type. +const ( + InstanceGroupManagerActionScheduledActionManagerTargetResourceTypeInstanceGroupManagerActionConst = "instance_group_manager_action" +) + +// Constants associated with the InstanceGroupManagerActionScheduledActionManagerTarget.Status property. +// The status of the instance group action +// - `active`: Action is ready to be run +// - `completed`: Action was completed successfully +// - `failed`: Action could not be completed successfully +// - `incompatible`: Action parameters are not compatible with the group or manager +// - `omitted`: Action was not applied because this action's manager was disabled +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + InstanceGroupManagerActionScheduledActionManagerTargetStatusActiveConst = "active" + InstanceGroupManagerActionScheduledActionManagerTargetStatusCompletedConst = "completed" + InstanceGroupManagerActionScheduledActionManagerTargetStatusFailedConst = "failed" + InstanceGroupManagerActionScheduledActionManagerTargetStatusIncompatibleConst = "incompatible" + InstanceGroupManagerActionScheduledActionManagerTargetStatusOmittedConst = "omitted" +) + +// Constants associated with the InstanceGroupManagerActionScheduledActionManagerTarget.ActionType property. +// The type of action for the instance group. +const ( + InstanceGroupManagerActionScheduledActionManagerTargetActionTypeScheduledConst = "scheduled" +) + +func (*InstanceGroupManagerActionScheduledActionManagerTarget) isaInstanceGroupManagerActionScheduledAction() bool { + return true +} + +func (*InstanceGroupManagerActionScheduledActionManagerTarget) isaInstanceGroupManagerAction() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionScheduledActionManagerTarget unmarshals an instance of InstanceGroupManagerActionScheduledActionManagerTarget from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionScheduledActionManagerTarget(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionScheduledActionManagerTarget) + err = core.UnmarshalPrimitive(m, "auto_delete", &obj.AutoDelete) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "auto_delete_timeout", &obj.AutoDeleteTimeout) + if err != nil { + err = core.SDKErrorf(err, "", "auto_delete_timeout-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "updated_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "action_type", &obj.ActionType) + if err != nil { + err = core.SDKErrorf(err, "", "action_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "last_applied_at", &obj.LastAppliedAt) + if err != nil { + err = core.SDKErrorf(err, "", "last_applied_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "next_run_at", &obj.NextRunAt) + if err != nil { + err = core.SDKErrorf(err, "", "next_run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManager) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref : InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref struct +// This model "extends" InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype +type InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref struct { + // The desired maximum number of instance group members at the scheduled time. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The desired minimum number of instance group members at the scheduled time. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` + + // The URL for this instance group manager. + Href *string `json:"href" validate:"required"` +} + +// NewInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref : Instantiate InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref(href string) (_model *InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref, err error) { + _model = &InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref) isaInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype() bool { + return true +} + +func (*InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref) isaInstanceGroupManagerScheduledActionManagerPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref unmarshals an instance of InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByHref) + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID : InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID struct +// This model "extends" InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype +type InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID struct { + // The desired maximum number of instance group members at the scheduled time. + MaxMembershipCount *int64 `json:"max_membership_count,omitempty"` + + // The desired minimum number of instance group members at the scheduled time. + MinMembershipCount *int64 `json:"min_membership_count,omitempty"` + + // The unique identifier for this instance group manager. + ID *string `json:"id" validate:"required"` +} + +// NewInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID : Instantiate InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID(id string) (_model *InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID, err error) { + _model = &InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID) isaInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototype() bool { + return true +} + +func (*InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID) isaInstanceGroupManagerScheduledActionManagerPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID unmarshals an instance of InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID from the specified map of raw messages. +func UnmarshalInstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerScheduledActionManagerPrototypeAutoScalePrototypeByID) + err = core.UnmarshalPrimitive(m, "max_membership_count", &obj.MaxMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "max_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "min_membership_count", &obj.MinMembershipCount) + if err != nil { + err = core.SDKErrorf(err, "", "min_membership_count-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct +// This model "extends" InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity +type InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` +} + +// NewInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : Instantiate InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(crn string) (_model *InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN, err error) { + _model = &InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN unmarshals an instance of InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct +// This model "extends" InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity +type InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct { + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` +} + +// NewInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : Instantiate InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(href string) (_model *InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref, err error) { + _model = &InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref unmarshals an instance of InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct +// This model "extends" InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity +type InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` +} + +// NewInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : Instantiate InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(id string) (_model *InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID, err error) { + _model = &InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaInstanceNetworkAttachmentPrototypeVirtualNetworkInterface() bool { + return true +} + +// UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID unmarshals an instance of InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalInstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceNetworkAttachmentPrototypeVirtualNetworkInterfaceVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN : InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN struct +// This model "extends" InstancePlacementTargetPatchDedicatedHostGroupIdentity +type InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN struct { + // The CRN for this dedicated host group. + CRN *string `json:"crn" validate:"required"` +} + +// NewInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN : Instantiate InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN(crn string) (_model *InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN, err error) { + _model = &InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN) isaInstancePlacementTargetPatchDedicatedHostGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN) isaInstancePlacementTargetPatch() bool { + return true +} + +// UnmarshalInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN unmarshals an instance of InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN +func (instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN *InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN.CRN) { + _patch["crn"] = instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN.CRN + } + + return +} + +// InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref : InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref struct +// This model "extends" InstancePlacementTargetPatchDedicatedHostGroupIdentity +type InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref struct { + // The URL for this dedicated host group. + Href *string `json:"href" validate:"required"` +} + +// NewInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref : Instantiate InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref(href string) (_model *InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref, err error) { + _model = &InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref) isaInstancePlacementTargetPatchDedicatedHostGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref) isaInstancePlacementTargetPatch() bool { + return true +} + +// UnmarshalInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref unmarshals an instance of InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref +func (instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref *InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref.Href) { + _patch["href"] = instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref.Href + } + + return +} + +// InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID : InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID struct +// This model "extends" InstancePlacementTargetPatchDedicatedHostGroupIdentity +type InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID struct { + // The unique identifier for this dedicated host group. + ID *string `json:"id" validate:"required"` +} + +// NewInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID : Instantiate InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID(id string) (_model *InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID, err error) { + _model = &InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID) isaInstancePlacementTargetPatchDedicatedHostGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID) isaInstancePlacementTargetPatch() bool { + return true +} + +// UnmarshalInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID unmarshals an instance of InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID +func (instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID *InstancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID.ID) { + _patch["id"] = instancePlacementTargetPatchDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID.ID + } + + return +} + +// InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN : InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN struct +// This model "extends" InstancePlacementTargetPatchDedicatedHostIdentity +type InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN struct { + // The CRN for this dedicated host. + CRN *string `json:"crn" validate:"required"` +} + +// NewInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN : Instantiate InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN(crn string) (_model *InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN, err error) { + _model = &InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN) isaInstancePlacementTargetPatchDedicatedHostIdentity() bool { + return true +} + +func (*InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN) isaInstancePlacementTargetPatch() bool { + return true +} + +// UnmarshalInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN unmarshals an instance of InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN +func (instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN *InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN.CRN) { + _patch["crn"] = instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByCRN.CRN + } + + return +} + +// InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref : InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref struct +// This model "extends" InstancePlacementTargetPatchDedicatedHostIdentity +type InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref struct { + // The URL for this dedicated host. + Href *string `json:"href" validate:"required"` +} + +// NewInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref : Instantiate InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref(href string) (_model *InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref, err error) { + _model = &InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref) isaInstancePlacementTargetPatchDedicatedHostIdentity() bool { + return true +} + +func (*InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref) isaInstancePlacementTargetPatch() bool { + return true +} + +// UnmarshalInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref unmarshals an instance of InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref +func (instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref *InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref.Href) { + _patch["href"] = instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByHref.Href + } + + return +} + +// InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID : InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID struct +// This model "extends" InstancePlacementTargetPatchDedicatedHostIdentity +type InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID struct { + // The unique identifier for this dedicated host. + ID *string `json:"id" validate:"required"` +} + +// NewInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID : Instantiate InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID(id string) (_model *InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID, err error) { + _model = &InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID) isaInstancePlacementTargetPatchDedicatedHostIdentity() bool { + return true +} + +func (*InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID) isaInstancePlacementTargetPatch() bool { + return true +} + +// UnmarshalInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID unmarshals an instance of InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID +func (instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID *InstancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID.ID) { + _patch["id"] = instancePlacementTargetPatchDedicatedHostIdentityDedicatedHostIdentityByID.ID + } + + return +} + +// InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN : InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN struct +// This model "extends" InstancePlacementTargetPrototypeDedicatedHostGroupIdentity +type InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN struct { + // The CRN for this dedicated host group. + CRN *string `json:"crn" validate:"required"` +} + +// NewInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN : Instantiate InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN(crn string) (_model *InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN, err error) { + _model = &InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN) isaInstancePlacementTargetPrototypeDedicatedHostGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN unmarshals an instance of InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref : InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref struct +// This model "extends" InstancePlacementTargetPrototypeDedicatedHostGroupIdentity +type InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref struct { + // The URL for this dedicated host group. + Href *string `json:"href" validate:"required"` +} + +// NewInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref : Instantiate InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref(href string) (_model *InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref, err error) { + _model = &InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref) isaInstancePlacementTargetPrototypeDedicatedHostGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref unmarshals an instance of InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID : InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID struct +// This model "extends" InstancePlacementTargetPrototypeDedicatedHostGroupIdentity +type InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID struct { + // The unique identifier for this dedicated host group. + ID *string `json:"id" validate:"required"` +} + +// NewInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID : Instantiate InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID(id string) (_model *InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID, err error) { + _model = &InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID) isaInstancePlacementTargetPrototypeDedicatedHostGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID unmarshals an instance of InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypeDedicatedHostGroupIdentityDedicatedHostGroupIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN : InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN struct +// This model "extends" InstancePlacementTargetPrototypeDedicatedHostIdentity +type InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN struct { + // The CRN for this dedicated host. + CRN *string `json:"crn" validate:"required"` +} + +// NewInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN : Instantiate InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN(crn string) (_model *InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN, err error) { + _model = &InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN) isaInstancePlacementTargetPrototypeDedicatedHostIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN unmarshals an instance of InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref : InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref struct +// This model "extends" InstancePlacementTargetPrototypeDedicatedHostIdentity +type InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref struct { + // The URL for this dedicated host. + Href *string `json:"href" validate:"required"` +} + +// NewInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref : Instantiate InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref(href string) (_model *InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref, err error) { + _model = &InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref) isaInstancePlacementTargetPrototypeDedicatedHostIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref unmarshals an instance of InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID : InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID struct +// This model "extends" InstancePlacementTargetPrototypeDedicatedHostIdentity +type InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID struct { + // The unique identifier for this dedicated host. + ID *string `json:"id" validate:"required"` +} + +// NewInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID : Instantiate InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID(id string) (_model *InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID, err error) { + _model = &InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID) isaInstancePlacementTargetPrototypeDedicatedHostIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID unmarshals an instance of InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypeDedicatedHostIdentityDedicatedHostIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN : InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN struct +// This model "extends" InstancePlacementTargetPrototypePlacementGroupIdentity +type InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN struct { + // The CRN for this placement group. + CRN *string `json:"crn" validate:"required"` +} + +// NewInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN : Instantiate InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN(crn string) (_model *InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN, err error) { + _model = &InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN) isaInstancePlacementTargetPrototypePlacementGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN unmarshals an instance of InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref : InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref struct +// This model "extends" InstancePlacementTargetPrototypePlacementGroupIdentity +type InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref struct { + // The URL for this placement group. + Href *string `json:"href" validate:"required"` +} + +// NewInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref : Instantiate InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref(href string) (_model *InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref, err error) { + _model = &InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref) isaInstancePlacementTargetPrototypePlacementGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref unmarshals an instance of InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID : InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID struct +// This model "extends" InstancePlacementTargetPrototypePlacementGroupIdentity +type InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID struct { + // The unique identifier for this placement group. + ID *string `json:"id" validate:"required"` +} + +// NewInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID : Instantiate InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID (Generic Model Constructor) +func (*VpcV1) NewInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID(id string) (_model *InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID, err error) { + _model = &InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID) isaInstancePlacementTargetPrototypePlacementGroupIdentity() bool { + return true +} + +func (*InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID) isaInstancePlacementTargetPrototype() bool { + return true +} + +// UnmarshalInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID unmarshals an instance of InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID from the specified map of raw messages. +func UnmarshalInstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePlacementTargetPrototypePlacementGroupIdentityPlacementGroupIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment : InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment struct +// This model "extends" InstancePrototypeInstanceByCatalogOffering +type InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment : Instantiate InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment(catalogOffering InstanceCatalogOfferingPrototypeIntf, zone ZoneIdentityIntf, primaryNetworkAttachment *InstanceNetworkAttachmentPrototype) (_model *InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment, err error) { + _model = &InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment{ + CatalogOffering: catalogOffering, + Zone: zone, + PrimaryNetworkAttachment: primaryNetworkAttachment, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment) isaInstancePrototypeInstanceByCatalogOffering() bool { + return true +} + +func (*InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment unmarshals an instance of InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface : InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface struct +// This model "extends" InstancePrototypeInstanceByCatalogOffering +type InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface : Instantiate InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface(catalogOffering InstanceCatalogOfferingPrototypeIntf, zone ZoneIdentityIntf, primaryNetworkInterface *NetworkInterfacePrototype) (_model *InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface, err error) { + _model = &InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface{ + CatalogOffering: catalogOffering, + Zone: zone, + PrimaryNetworkInterface: primaryNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface) isaInstancePrototypeInstanceByCatalogOffering() bool { + return true +} + +func (*InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface unmarshals an instance of InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByCatalogOfferingInstanceByCatalogOfferingInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment : InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment struct +// This model "extends" InstancePrototypeInstanceByImage +type InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment : Instantiate InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment(image ImageIdentityIntf, zone ZoneIdentityIntf, primaryNetworkAttachment *InstanceNetworkAttachmentPrototype) (_model *InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment, err error) { + _model = &InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment{ + Image: image, + Zone: zone, + PrimaryNetworkAttachment: primaryNetworkAttachment, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment) isaInstancePrototypeInstanceByImage() bool { + return true +} + +func (*InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment unmarshals an instance of InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface : InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface struct +// This model "extends" InstancePrototypeInstanceByImage +type InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface : Instantiate InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface(image ImageIdentityIntf, zone ZoneIdentityIntf, primaryNetworkInterface *NetworkInterfacePrototype) (_model *InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface, err error) { + _model = &InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface{ + Image: image, + Zone: zone, + PrimaryNetworkInterface: primaryNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface) isaInstancePrototypeInstanceByImage() bool { + return true +} + +func (*InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface unmarshals an instance of InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByImageInstanceByImageInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment : InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment struct +// This model "extends" InstancePrototypeInstanceBySourceSnapshot +type InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment : Instantiate InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment(bootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext, zone ZoneIdentityIntf, primaryNetworkAttachment *InstanceNetworkAttachmentPrototype) (_model *InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment, err error) { + _model = &InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment{ + BootVolumeAttachment: bootVolumeAttachment, + Zone: zone, + PrimaryNetworkAttachment: primaryNetworkAttachment, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment) isaInstancePrototypeInstanceBySourceSnapshot() bool { + return true +} + +func (*InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment unmarshals an instance of InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface : InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface struct +// This model "extends" InstancePrototypeInstanceBySourceSnapshot +type InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface : Instantiate InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface(bootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext, zone ZoneIdentityIntf, primaryNetworkInterface *NetworkInterfacePrototype) (_model *InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface, err error) { + _model = &InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface{ + BootVolumeAttachment: bootVolumeAttachment, + Zone: zone, + PrimaryNetworkInterface: primaryNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface) isaInstancePrototypeInstanceBySourceSnapshot() bool { + return true +} + +func (*InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface unmarshals an instance of InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceBySourceSnapshotInstanceBySourceSnapshotInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment : InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment struct +// This model "extends" InstancePrototypeInstanceByVolume +type InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByVolumeContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment : Instantiate InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment(bootVolumeAttachment *VolumeAttachmentPrototypeInstanceByVolumeContext, zone ZoneIdentityIntf, primaryNetworkAttachment *InstanceNetworkAttachmentPrototype) (_model *InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment, err error) { + _model = &InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment{ + BootVolumeAttachment: bootVolumeAttachment, + Zone: zone, + PrimaryNetworkAttachment: primaryNetworkAttachment, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment) isaInstancePrototypeInstanceByVolume() bool { + return true +} + +func (*InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment unmarshals an instance of InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByVolumeContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface : InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface struct +// This model "extends" InstancePrototypeInstanceByVolume +type InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this virtual server instance. The name must not be used by another virtual server instance in the + // region. If unspecified, the name will be a hyphenated list of randomly-selected words. + // + // The system hostname will be based on this name. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByVolumeContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface : Instantiate InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface (Generic Model Constructor) +func (*VpcV1) NewInstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface(bootVolumeAttachment *VolumeAttachmentPrototypeInstanceByVolumeContext, zone ZoneIdentityIntf, primaryNetworkInterface *NetworkInterfacePrototype) (_model *InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface, err error) { + _model = &InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface{ + BootVolumeAttachment: bootVolumeAttachment, + Zone: zone, + PrimaryNetworkInterface: primaryNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface) isaInstancePrototypeInstanceByVolume() bool { + return true +} + +func (*InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface) isaInstancePrototype() bool { + return true +} + +// UnmarshalInstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface unmarshals an instance of InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstancePrototypeInstanceByVolumeInstanceByVolumeInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByVolumeContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment : InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment struct +// This model "extends" InstanceTemplatePrototypeInstanceTemplateByCatalogOffering +type InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment : Instantiate InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment(catalogOffering InstanceCatalogOfferingPrototypeIntf, zone ZoneIdentityIntf, primaryNetworkAttachment *InstanceNetworkAttachmentPrototype) (_model *InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment, err error) { + _model = &InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment{ + CatalogOffering: catalogOffering, + Zone: zone, + PrimaryNetworkAttachment: primaryNetworkAttachment, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment) isaInstanceTemplatePrototypeInstanceTemplateByCatalogOffering() bool { + return true +} + +func (*InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface : InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface struct +// This model "extends" InstanceTemplatePrototypeInstanceTemplateByCatalogOffering +type InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface : Instantiate InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface(catalogOffering InstanceCatalogOfferingPrototypeIntf, zone ZoneIdentityIntf, primaryNetworkInterface *NetworkInterfacePrototype) (_model *InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface, err error) { + _model = &InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface{ + CatalogOffering: catalogOffering, + Zone: zone, + PrimaryNetworkInterface: primaryNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface) isaInstanceTemplatePrototypeInstanceTemplateByCatalogOffering() bool { + return true +} + +func (*InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateByCatalogOfferingInstanceTemplateByCatalogOfferingInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment : InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment struct +// This model "extends" InstanceTemplatePrototypeInstanceTemplateByImage +type InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment : Instantiate InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment(image ImageIdentityIntf, zone ZoneIdentityIntf, primaryNetworkAttachment *InstanceNetworkAttachmentPrototype) (_model *InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment, err error) { + _model = &InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment{ + Image: image, + Zone: zone, + PrimaryNetworkAttachment: primaryNetworkAttachment, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment) isaInstanceTemplatePrototypeInstanceTemplateByImage() bool { + return true +} + +func (*InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface : InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface struct +// This model "extends" InstanceTemplatePrototypeInstanceTemplateByImage +type InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface : Instantiate InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface(image ImageIdentityIntf, zone ZoneIdentityIntf, primaryNetworkInterface *NetworkInterfacePrototype) (_model *InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface, err error) { + _model = &InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface{ + Image: image, + Zone: zone, + PrimaryNetworkInterface: primaryNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface) isaInstanceTemplatePrototypeInstanceTemplateByImage() bool { + return true +} + +func (*InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateByImageInstanceTemplateByImageInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment : InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment struct +// This model "extends" InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot +type InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment : Instantiate InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment(bootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext, zone ZoneIdentityIntf, primaryNetworkAttachment *InstanceNetworkAttachmentPrototype) (_model *InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment, err error) { + _model = &InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment{ + BootVolumeAttachment: bootVolumeAttachment, + Zone: zone, + PrimaryNetworkAttachment: primaryNetworkAttachment, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment) isaInstanceTemplatePrototypeInstanceTemplateBySourceSnapshot() bool { + return true +} + +func (*InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface : InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface struct +// This model "extends" InstanceTemplatePrototypeInstanceTemplateBySourceSnapshot +type InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name must not be used by another instance template in the region. If + // unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +// NewInstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface : Instantiate InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface (Generic Model Constructor) +func (*VpcV1) NewInstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface(bootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext, zone ZoneIdentityIntf, primaryNetworkInterface *NetworkInterfacePrototype) (_model *InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface, err error) { + _model = &InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface{ + BootVolumeAttachment: bootVolumeAttachment, + Zone: zone, + PrimaryNetworkInterface: primaryNetworkInterface, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface) isaInstanceTemplatePrototypeInstanceTemplateBySourceSnapshot() bool { + return true +} + +func (*InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface) isaInstanceTemplatePrototype() bool { + return true +} + +// UnmarshalInstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface unmarshals an instance of InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplatePrototypeInstanceTemplateBySourceSnapshotInstanceTemplateBySourceSnapshotInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment : InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment struct +// This model "extends" InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext +type InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment) isaInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext() bool { + return true +} + +func (*InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment unmarshals an instance of InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface : InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface struct +// This model "extends" InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext +type InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + CatalogOffering InstanceCatalogOfferingPrototypeIntf `json:"catalog_offering" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface) isaInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContext() bool { + return true +} + +func (*InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface unmarshals an instance of InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceByCatalogOfferingInstanceTemplateContextInstanceByCatalogOfferingInstanceTemplateContextInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment : InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment struct +// This model "extends" InstanceTemplateInstanceByImageInstanceTemplateContext +type InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment) isaInstanceTemplateInstanceByImageInstanceTemplateContext() bool { + return true +} + +func (*InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment unmarshals an instance of InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface : InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface struct +// This model "extends" InstanceTemplateInstanceByImageInstanceTemplateContext +type InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceByImageContext `json:"boot_volume_attachment,omitempty"` + + // The image to use when provisioning the virtual server instance. + Image ImageIdentityIntf `json:"image" validate:"required"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface) isaInstanceTemplateInstanceByImageInstanceTemplateContext() bool { + return true +} + +func (*InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface unmarshals an instance of InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceByImageInstanceTemplateContextInstanceByImageInstanceTemplateContextInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment : InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment struct +// This model "extends" InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext +type InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment" validate:"required"` +} + +// Constants associated with the InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachmentConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachmentVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachmentVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment) isaInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext() bool { + return true +} + +func (*InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment unmarshals an instance of InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkAttachment) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface : InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface struct +// This model "extends" InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext +type InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface struct { + AvailabilityPolicy *InstanceAvailabilityPolicyPrototype `json:"availability_policy,omitempty"` + + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents + // a device that is connected to a cluster network. The number of network attachments must match one of the values from + // the instance profile's `cluster_network_attachment_count` before the instance can be started. + ClusterNetworkAttachments []InstanceClusterNetworkAttachmentPrototypeInstanceContext `json:"cluster_network_attachments,omitempty"` + + // The confidential compute mode to use for this virtual server instance. + // + // If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `json:"confidential_compute_mode,omitempty"` + + // The date and time that the instance template was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The CRN for this instance template. + CRN *string `json:"crn" validate:"required"` + + // The default trusted profile configuration to use for this virtual server instance + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + DefaultTrustedProfile *InstanceDefaultTrustedProfilePrototype `json:"default_trusted_profile,omitempty"` + + // Indicates whether secure boot is enabled for this virtual server instance. + // + // If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `json:"enable_secure_boot,omitempty"` + + // The URL for this instance template. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this instance template. + ID *string `json:"id" validate:"required"` + + // The public SSH keys for this virtual server instance. Keys will be made available to the virtual server instance as + // cloud-init vendor data. For cloud-init enabled images, these keys will also be added as SSH authorized keys for the + // [default user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account). + // + // For Windows images, the keys of type `rsa` must be specified, and one will be selected to encrypt [the administrator + // password](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization). Keys are optional for other images, but if + // no keys are specified, the instance will be inaccessible unless the specified image provides another means of + // access. + // + // This property's value is used when provisioning the virtual server instance, but not subsequently managed. + // Accordingly, it is reflected as an [instance + // initialization](https://cloud.ibm.com/apidocs/vpc#get-instance-initialization) property. + Keys []KeyIdentityIntf `json:"keys,omitempty"` + + MetadataService *InstanceMetadataServicePrototype `json:"metadata_service,omitempty"` + + // The name for this instance template. The name is unique across all instance templates in the region. + Name *string `json:"name" validate:"required"` + + PlacementTarget InstancePlacementTargetPrototypeIntf `json:"placement_target,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) to use for this virtual server instance. + // + // If unspecified, `bxf-2x8` will be used, but this default value may change in the future without changing the API + // version. + Profile InstanceProfileIdentityIntf `json:"profile,omitempty"` + + ReservationAffinity *InstanceReservationAffinityPrototype `json:"reservation_affinity,omitempty"` + + // The resource group for this instance template. + ResourceGroup *ResourceGroupReference `json:"resource_group" validate:"required"` + + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in + // this value will result in a corresponding decrease to + // `total_network_bandwidth`. + TotalVolumeBandwidth *int64 `json:"total_volume_bandwidth,omitempty"` + + // The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make available when setting up the virtual + // server instance. + UserData *string `json:"user_data,omitempty"` + + // The additional volume attachments to create for the virtual server instance. + VolumeAttachments []VolumeAttachmentPrototype `json:"volume_attachments,omitempty"` + + // The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the + // instance profile's `volume_bandwidth_qos_modes`. + // + // If unspecified, the default volume bandwidth QoS mode from the profile will be used. + VolumeBandwidthQosMode *string `json:"volume_bandwidth_qos_mode,omitempty"` + + // The VPC this virtual server instance will reside in. + // + // If specified, it must match the VPC for the subnets of the instance network attachments or instance network + // interfaces. + VPC VPCIdentityIntf `json:"vpc,omitempty"` + + // The boot volume attachment to create for the virtual server instance. + BootVolumeAttachment *VolumeAttachmentPrototypeInstanceBySourceSnapshotContext `json:"boot_volume_attachment" validate:"required"` + + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []InstanceNetworkAttachmentPrototype `json:"network_attachments,omitempty"` + + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachment *InstanceNetworkAttachmentPrototype `json:"primary_network_attachment,omitempty"` + + // The zone this virtual server instance will reside in. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // The additional instance network interfaces to create. + NetworkInterfaces []NetworkInterfacePrototype `json:"network_interfaces,omitempty"` + + // The primary instance network interface to create. + PrimaryNetworkInterface *NetworkInterfacePrototype `json:"primary_network_interface" validate:"required"` +} + +// Constants associated with the InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface.ConfidentialComputeMode property. +// The confidential compute mode to use for this virtual server instance. +// +// If unspecified, the default confidential compute mode from the profile will be used. +const ( + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeDisabledConst = "disabled" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeSgxConst = "sgx" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterfaceConfidentialComputeModeTdxConst = "tdx" +) + +// Constants associated with the InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface.VolumeBandwidthQosMode property. +// The volume bandwidth QoS mode to use for this virtual server instance. The specified value must be listed in the +// instance profile's `volume_bandwidth_qos_modes`. +// +// If unspecified, the default volume bandwidth QoS mode from the profile will be used. +const ( + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterfaceVolumeBandwidthQosModePooledConst = "pooled" + InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterfaceVolumeBandwidthQosModeWeightedConst = "weighted" +) + +func (*InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface) isaInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext() bool { + return true +} + +func (*InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface) isaInstanceTemplate() bool { + return true +} + +// UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface unmarshals an instance of InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface from the specified map of raw messages. +func UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContextInstanceBySourceSnapshotInstanceTemplateContextInstanceByNetworkInterface) + err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext) + if err != nil { + err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode) + if err != nil { + err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot) + if err != nil { + err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData) + if err != nil { + err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode) + if err != nil { + err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceBySourceSnapshotContext) + if err != nil { + err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref : LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref struct +// This model "extends" LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity +type LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref struct { + // The URL for this load balancer listener. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref : Instantiate LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref(href string) (_model *LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref, err error) { + _model = &LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref) isaLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity() bool { + return true +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref unmarshals an instance of LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref +func (loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref *LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref.Href) { + _patch["href"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref.Href + } + + return +} + +// LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID : LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID struct +// This model "extends" LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity +type LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID struct { + // The unique identifier for this load balancer listener. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID : Instantiate LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID(id string) (_model *LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID, err error) { + _model = &LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID) isaLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentity() bool { + return true +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID unmarshals an instance of LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID +func (loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID *LoadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID.ID) { + _patch["id"] = loadBalancerListenerPolicyTargetPatchLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID.ID + } + + return +} + +// LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref : LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref struct +// This model "extends" LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity +type LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref struct { + // The URL for this load balancer pool. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref : Instantiate LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref(href string) (_model *LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref, err error) { + _model = &LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) isaLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity() bool { + return true +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref unmarshals an instance of LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref +func (loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref *LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref.Href) { + _patch["href"] = loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref.Href + } + + return +} + +// LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID : LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID struct +// This model "extends" LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity +type LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID : Instantiate LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID(id string) (_model *LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID, err error) { + _model = &LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) isaLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentity() bool { + return true +} + +func (*LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) isaLoadBalancerListenerPolicyTargetPatch() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID unmarshals an instance of LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID +func (loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID *LoadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID.ID) { + _patch["id"] = loadBalancerListenerPolicyTargetPatchLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID.ID + } + + return +} + +// LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref : LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref struct +// This model "extends" LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref struct { + // The URL for this load balancer listener. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref : Instantiate LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref(href string) (_model *LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref, err error) { + _model = &LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref) isaLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity() bool { + return true +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref unmarshals an instance of LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID : LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID struct +// This model "extends" LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID struct { + // The unique identifier for this load balancer listener. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID : Instantiate LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID(id string) (_model *LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID, err error) { + _model = &LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID) isaLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentity() bool { + return true +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID unmarshals an instance of LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototypeLoadBalancerListenerIdentityLoadBalancerListenerIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref : LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref struct +// This model "extends" LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref struct { + // The URL for this load balancer pool. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref : Instantiate LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref(href string) (_model *LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref, err error) { + _model = &LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) isaLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity() bool { + return true +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref unmarshals an instance of LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID : LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID struct +// This model "extends" LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity +type LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID struct { + // The unique identifier for this load balancer pool. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID : Instantiate LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID(id string) (_model *LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID, err error) { + _model = &LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) isaLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentity() bool { + return true +} + +func (*LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) isaLoadBalancerListenerPolicyTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID unmarshals an instance of LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerListenerPolicyTargetPrototypeLoadBalancerPoolIdentityLoadBalancerPoolIdentityLoadBalancerPoolIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN : LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN struct +// This model "extends" LoadBalancerPoolMemberTargetPrototypeInstanceIdentity +type LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN struct { + // The CRN for this virtual server instance. + CRN *string `json:"crn" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN : Instantiate LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN(crn string) (_model *LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN) isaLoadBalancerPoolMemberTargetPrototypeInstanceIdentity() bool { + return true +} + +func (*LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN +func (loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN *LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN.CRN) { + _patch["crn"] = loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByCRN.CRN + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref : LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref struct +// This model "extends" LoadBalancerPoolMemberTargetPrototypeInstanceIdentity +type LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref struct { + // The URL for this virtual server instance. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref : Instantiate LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref(href string) (_model *LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref) isaLoadBalancerPoolMemberTargetPrototypeInstanceIdentity() bool { + return true +} + +func (*LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref +func (loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref *LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref.Href) { + _patch["href"] = loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByHref.Href + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID : LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID struct +// This model "extends" LoadBalancerPoolMemberTargetPrototypeInstanceIdentity +type LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID struct { + // The unique identifier for this virtual server instance. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID : Instantiate LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID(id string) (_model *LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID) isaLoadBalancerPoolMemberTargetPrototypeInstanceIdentity() bool { + return true +} + +func (*LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID +func (loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID *LoadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID.ID) { + _patch["id"] = loadBalancerPoolMemberTargetPrototypeInstanceIdentityInstanceIdentityByID.ID + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN : LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN struct +// This model "extends" LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity +type LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN struct { + // The CRN for this load balancer. + CRN *string `json:"crn" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN : Instantiate LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN(crn string) (_model *LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN) isaLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity() bool { + return true +} + +func (*LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN +func (loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN *LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN.CRN) { + _patch["crn"] = loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByCRN.CRN + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref : LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref struct +// This model "extends" LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity +type LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref struct { + // The URL for this load balancer. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref : Instantiate LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref(href string) (_model *LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref) isaLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity() bool { + return true +} + +func (*LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref +func (loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref *LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref.Href) { + _patch["href"] = loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByHref.Href + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID : LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID struct +// This model "extends" LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity +type LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID struct { + // The unique identifier for this load balancer. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID : Instantiate LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID(id string) (_model *LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID) isaLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentity() bool { + return true +} + +func (*LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID +func (loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID *LoadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID.ID) { + _patch["id"] = loadBalancerPoolMemberTargetPrototypeLoadBalancerIdentityLoadBalancerIdentityByID.ID + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref : LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref struct +// This model "extends" LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity +type LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref struct { + // The URL for this reserved IP. + Href *string `json:"href" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref : Instantiate LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref(href string) (_model *LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref) isaLoadBalancerPoolMemberTargetPrototypeReservedIPIdentity() bool { + return true +} + +func (*LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref +func (loadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref *LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref.Href) { + _patch["href"] = loadBalancerPoolMemberTargetPrototypeReservedIPIdentityByHref.Href + } + + return +} + +// LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID : LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID struct +// This model "extends" LoadBalancerPoolMemberTargetPrototypeReservedIPIdentity +type LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID struct { + // The unique identifier for this reserved IP. + ID *string `json:"id" validate:"required"` +} + +// NewLoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID : Instantiate LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID (Generic Model Constructor) +func (*VpcV1) NewLoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID(id string) (_model *LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID, err error) { + _model = &LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID) isaLoadBalancerPoolMemberTargetPrototypeReservedIPIdentity() bool { + return true +} + +func (*LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID) isaLoadBalancerPoolMemberTargetPrototype() bool { + return true +} + +// UnmarshalLoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID unmarshals an instance of LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID from the specified map of raw messages. +func UnmarshalLoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID +func (loadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID *LoadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(loadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID.ID) { + _patch["id"] = loadBalancerPoolMemberTargetPrototypeReservedIPIdentityByID.ID + } + + return +} + +// NetworkInterfaceIPPrototypeReservedIPIdentityByHref : NetworkInterfaceIPPrototypeReservedIPIdentityByHref struct +// This model "extends" NetworkInterfaceIPPrototypeReservedIPIdentity +type NetworkInterfaceIPPrototypeReservedIPIdentityByHref struct { + // The URL for this reserved IP. + Href *string `json:"href" validate:"required"` +} + +// NewNetworkInterfaceIPPrototypeReservedIPIdentityByHref : Instantiate NetworkInterfaceIPPrototypeReservedIPIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewNetworkInterfaceIPPrototypeReservedIPIdentityByHref(href string) (_model *NetworkInterfaceIPPrototypeReservedIPIdentityByHref, err error) { + _model = &NetworkInterfaceIPPrototypeReservedIPIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkInterfaceIPPrototypeReservedIPIdentityByHref) isaNetworkInterfaceIPPrototypeReservedIPIdentity() bool { + return true +} + +func (*NetworkInterfaceIPPrototypeReservedIPIdentityByHref) isaNetworkInterfaceIPPrototype() bool { + return true +} + +// UnmarshalNetworkInterfaceIPPrototypeReservedIPIdentityByHref unmarshals an instance of NetworkInterfaceIPPrototypeReservedIPIdentityByHref from the specified map of raw messages. +func UnmarshalNetworkInterfaceIPPrototypeReservedIPIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfaceIPPrototypeReservedIPIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// NetworkInterfaceIPPrototypeReservedIPIdentityByID : NetworkInterfaceIPPrototypeReservedIPIdentityByID struct +// This model "extends" NetworkInterfaceIPPrototypeReservedIPIdentity +type NetworkInterfaceIPPrototypeReservedIPIdentityByID struct { + // The unique identifier for this reserved IP. + ID *string `json:"id" validate:"required"` +} + +// NewNetworkInterfaceIPPrototypeReservedIPIdentityByID : Instantiate NetworkInterfaceIPPrototypeReservedIPIdentityByID (Generic Model Constructor) +func (*VpcV1) NewNetworkInterfaceIPPrototypeReservedIPIdentityByID(id string) (_model *NetworkInterfaceIPPrototypeReservedIPIdentityByID, err error) { + _model = &NetworkInterfaceIPPrototypeReservedIPIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*NetworkInterfaceIPPrototypeReservedIPIdentityByID) isaNetworkInterfaceIPPrototypeReservedIPIdentity() bool { + return true +} + +func (*NetworkInterfaceIPPrototypeReservedIPIdentityByID) isaNetworkInterfaceIPPrototype() bool { + return true +} + +// UnmarshalNetworkInterfaceIPPrototypeReservedIPIdentityByID unmarshals an instance of NetworkInterfaceIPPrototypeReservedIPIdentityByID from the specified map of raw messages. +func UnmarshalNetworkInterfaceIPPrototypeReservedIPIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(NetworkInterfaceIPPrototypeReservedIPIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress : PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress struct +// This model "extends" PublicGatewayFloatingIPPrototypeFloatingIPIdentity +type PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress struct { + // The globally unique IP address. + Address *string `json:"address" validate:"required"` +} + +// NewPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress : Instantiate PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress (Generic Model Constructor) +func (*VpcV1) NewPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress(address string) (_model *PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress, err error) { + _model = &PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress) isaPublicGatewayFloatingIPPrototypeFloatingIPIdentity() bool { + return true +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress) isaPublicGatewayFloatingIPPrototype() bool { + return true +} + +// UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress unmarshals an instance of PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress from the specified map of raw messages. +func UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByAddress) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN : PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN struct +// This model "extends" PublicGatewayFloatingIPPrototypeFloatingIPIdentity +type PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN struct { + // The CRN for this floating IP. + CRN *string `json:"crn" validate:"required"` +} + +// NewPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN : Instantiate PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN(crn string) (_model *PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN, err error) { + _model = &PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN) isaPublicGatewayFloatingIPPrototypeFloatingIPIdentity() bool { + return true +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN) isaPublicGatewayFloatingIPPrototype() bool { + return true +} + +// UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN unmarshals an instance of PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN from the specified map of raw messages. +func UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref : PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref struct +// This model "extends" PublicGatewayFloatingIPPrototypeFloatingIPIdentity +type PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref struct { + // The URL for this floating IP. + Href *string `json:"href" validate:"required"` +} + +// NewPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref : Instantiate PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref(href string) (_model *PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref, err error) { + _model = &PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref) isaPublicGatewayFloatingIPPrototypeFloatingIPIdentity() bool { + return true +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref) isaPublicGatewayFloatingIPPrototype() bool { + return true +} + +// UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref unmarshals an instance of PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref from the specified map of raw messages. +func UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID : PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID struct +// This model "extends" PublicGatewayFloatingIPPrototypeFloatingIPIdentity +type PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID struct { + // The unique identifier for this floating IP. + ID *string `json:"id" validate:"required"` +} + +// NewPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID : Instantiate PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID (Generic Model Constructor) +func (*VpcV1) NewPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID(id string) (_model *PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID, err error) { + _model = &PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID) isaPublicGatewayFloatingIPPrototypeFloatingIPIdentity() bool { + return true +} + +func (*PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID) isaPublicGatewayFloatingIPPrototype() bool { + return true +} + +// UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID unmarshals an instance of PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID from the specified map of raw messages. +func UnmarshalPublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PublicGatewayFloatingIPPrototypeFloatingIPIdentityFloatingIPIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN : ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN struct +// This model "extends" ReservedIPTargetPrototypeEndpointGatewayIdentity +type ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN struct { + // The CRN for this endpoint gateway. + CRN *string `json:"crn" validate:"required"` +} + +// NewReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN : Instantiate ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN(crn string) (_model *ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN, err error) { + _model = &ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN) isaReservedIPTargetPrototypeEndpointGatewayIdentity() bool { + return true +} + +func (*ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN) isaReservedIPTargetPrototype() bool { + return true +} + +// UnmarshalReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN unmarshals an instance of ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref : ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref struct +// This model "extends" ReservedIPTargetPrototypeEndpointGatewayIdentity +type ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref struct { + // The URL for this endpoint gateway. + Href *string `json:"href" validate:"required"` +} + +// NewReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref : Instantiate ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref(href string) (_model *ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref, err error) { + _model = &ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref) isaReservedIPTargetPrototypeEndpointGatewayIdentity() bool { + return true +} + +func (*ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref) isaReservedIPTargetPrototype() bool { + return true +} + +// UnmarshalReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref unmarshals an instance of ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID : ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID struct +// This model "extends" ReservedIPTargetPrototypeEndpointGatewayIdentity +type ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID struct { + // The unique identifier for this endpoint gateway. + ID *string `json:"id" validate:"required"` +} + +// NewReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID : Instantiate ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID (Generic Model Constructor) +func (*VpcV1) NewReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID(id string) (_model *ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID, err error) { + _model = &ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID) isaReservedIPTargetPrototypeEndpointGatewayIdentity() bool { + return true +} + +func (*ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID) isaReservedIPTargetPrototype() bool { + return true +} + +// UnmarshalReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID unmarshals an instance of ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototypeEndpointGatewayIdentityEndpointGatewayIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct +// This model "extends" ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity +type ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` +} + +// NewReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : Instantiate ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(crn string) (_model *ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN, err error) { + _model = &ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaReservedIPTargetPrototype() bool { + return true +} + +// UnmarshalReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN unmarshals an instance of ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct +// This model "extends" ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity +type ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct { + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` +} + +// NewReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : Instantiate ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(href string) (_model *ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref, err error) { + _model = &ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaReservedIPTargetPrototype() bool { + return true +} + +// UnmarshalReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref unmarshals an instance of ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct +// This model "extends" ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity +type ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` +} + +// NewReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : Instantiate ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(id string) (_model *ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID, err error) { + _model = &ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaReservedIPTargetPrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaReservedIPTargetPrototype() bool { + return true +} + +// UnmarshalReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID unmarshals an instance of ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ReservedIPTargetPrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP : RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP struct +// This model "extends" RouteNextHopPatchRouteNextHopIP +type RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP struct { + // The sentinel IP address (`0.0.0.0`). + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewRouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP : Instantiate RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP (Generic Model Constructor) +func (*VpcV1) NewRouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP(address string) (_model *RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP, err error) { + _model = &RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP) isaRouteNextHopPatchRouteNextHopIP() bool { + return true +} + +func (*RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP) isaRouteNextHopPatch() bool { + return true +} + +// UnmarshalRouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP unmarshals an instance of RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP from the specified map of raw messages. +func UnmarshalRouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP +func (routeNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP *RouteNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routeNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP.Address) { + _patch["address"] = routeNextHopPatchRouteNextHopIPRouteNextHopIPSentinelIP.Address + } + + return +} + +// RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP : RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP struct +// This model "extends" RouteNextHopPatchRouteNextHopIP +type RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP struct { + // A unicast IP address, which must not be any of the following values: + // + // - `0.0.0.0` (the sentinel IP address) + // - `224.0.0.0` to `239.255.255.255` (multicast IP addresses) + // - `255.255.255.255` (the broadcast IP address) + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewRouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP : Instantiate RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP (Generic Model Constructor) +func (*VpcV1) NewRouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP(address string) (_model *RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP, err error) { + _model = &RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP) isaRouteNextHopPatchRouteNextHopIP() bool { + return true +} + +func (*RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP) isaRouteNextHopPatch() bool { + return true +} + +// UnmarshalRouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP unmarshals an instance of RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP from the specified map of raw messages. +func UnmarshalRouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP +func (routeNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP *RouteNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routeNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP.Address) { + _patch["address"] = routeNextHopPatchRouteNextHopIPRouteNextHopIPUnicastIP.Address + } + + return +} + +// RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref : RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref struct +// This model "extends" RouteNextHopPatchVPNGatewayConnectionIdentity +type RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref struct { + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` +} + +// NewRouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref : Instantiate RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewRouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref(href string) (_model *RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref, err error) { + _model = &RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref) isaRouteNextHopPatchVPNGatewayConnectionIdentity() bool { + return true +} + +func (*RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref) isaRouteNextHopPatch() bool { + return true +} + +// UnmarshalRouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref unmarshals an instance of RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref from the specified map of raw messages. +func UnmarshalRouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref +func (routeNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref *RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routeNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref.Href) { + _patch["href"] = routeNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref.Href + } + + return +} + +// RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID : RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID struct +// This model "extends" RouteNextHopPatchVPNGatewayConnectionIdentity +type RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID struct { + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` +} + +// NewRouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID : Instantiate RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID (Generic Model Constructor) +func (*VpcV1) NewRouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID(id string) (_model *RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID, err error) { + _model = &RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID) isaRouteNextHopPatchVPNGatewayConnectionIdentity() bool { + return true +} + +func (*RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID) isaRouteNextHopPatch() bool { + return true +} + +// UnmarshalRouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID unmarshals an instance of RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID from the specified map of raw messages. +func UnmarshalRouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID +func (routeNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID *RouteNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(routeNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID.ID) { + _patch["id"] = routeNextHopPatchVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID.ID + } + + return +} + +// RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP : RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP struct +// This model "extends" RouteNextHopPrototypeRouteNextHopIP +type RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP struct { + // The sentinel IP address (`0.0.0.0`). + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewRouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP : Instantiate RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP (Generic Model Constructor) +func (*VpcV1) NewRouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP(address string) (_model *RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP, err error) { + _model = &RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP) isaRouteNextHopPrototypeRouteNextHopIP() bool { + return true +} + +func (*RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP) isaRouteNextHopPrototype() bool { + return true +} + +// UnmarshalRouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP unmarshals an instance of RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP from the specified map of raw messages. +func UnmarshalRouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPSentinelIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP : RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP struct +// This model "extends" RouteNextHopPrototypeRouteNextHopIP +type RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP struct { + // A unicast IP address, which must not be any of the following values: + // + // - `0.0.0.0` (the sentinel IP address) + // - `224.0.0.0` to `239.255.255.255` (multicast IP addresses) + // - `255.255.255.255` (the broadcast IP address) + // + // This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in + // the future. + Address *string `json:"address" validate:"required"` +} + +// NewRouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP : Instantiate RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP (Generic Model Constructor) +func (*VpcV1) NewRouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP(address string) (_model *RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP, err error) { + _model = &RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP{ + Address: core.StringPtr(address), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP) isaRouteNextHopPrototypeRouteNextHopIP() bool { + return true +} + +func (*RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP) isaRouteNextHopPrototype() bool { + return true +} + +// UnmarshalRouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP unmarshals an instance of RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP from the specified map of raw messages. +func UnmarshalRouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPrototypeRouteNextHopIPRouteNextHopIPUnicastIP) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref : RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref struct +// This model "extends" RouteNextHopPrototypeVPNGatewayConnectionIdentity +type RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref struct { + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` +} + +// NewRouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref : Instantiate RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewRouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref(href string) (_model *RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref, err error) { + _model = &RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref) isaRouteNextHopPrototypeVPNGatewayConnectionIdentity() bool { + return true +} + +func (*RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref) isaRouteNextHopPrototype() bool { + return true +} + +// UnmarshalRouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref unmarshals an instance of RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref from the specified map of raw messages. +func UnmarshalRouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID : RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID struct +// This model "extends" RouteNextHopPrototypeVPNGatewayConnectionIdentity +type RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID struct { + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` +} + +// NewRouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID : Instantiate RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID (Generic Model Constructor) +func (*VpcV1) NewRouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID(id string) (_model *RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID, err error) { + _model = &RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID) isaRouteNextHopPrototypeVPNGatewayConnectionIdentity() bool { + return true +} + +func (*RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID) isaRouteNextHopPrototype() bool { + return true +} + +// UnmarshalRouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID unmarshals an instance of RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID from the specified map of raw messages. +func UnmarshalRouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RouteNextHopPrototypeVPNGatewayConnectionIdentityVPNGatewayConnectionIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN : SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN struct +// This model "extends" SecurityGroupRuleRemotePatchSecurityGroupIdentity +type SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN struct { + // The CRN for this security group. + CRN *string `json:"crn" validate:"required"` +} + +// NewSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN : Instantiate SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN(crn string) (_model *SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN, err error) { + _model = &SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN) isaSecurityGroupRuleRemotePatchSecurityGroupIdentity() bool { + return true +} + +func (*SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN) isaSecurityGroupRuleRemotePatch() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN unmarshals an instance of SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN +func (securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN *SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN.CRN) { + _patch["crn"] = securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByCRN.CRN + } + + return +} + +// SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref : SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref struct +// This model "extends" SecurityGroupRuleRemotePatchSecurityGroupIdentity +type SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref struct { + // The URL for this security group. + Href *string `json:"href" validate:"required"` +} + +// NewSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref : Instantiate SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref(href string) (_model *SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref, err error) { + _model = &SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref) isaSecurityGroupRuleRemotePatchSecurityGroupIdentity() bool { + return true +} + +func (*SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref) isaSecurityGroupRuleRemotePatch() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref unmarshals an instance of SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref +func (securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref *SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref.Href) { + _patch["href"] = securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByHref.Href + } + + return +} + +// SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID : SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID struct +// This model "extends" SecurityGroupRuleRemotePatchSecurityGroupIdentity +type SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID struct { + // The unique identifier for this security group. + ID *string `json:"id" validate:"required"` +} + +// NewSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID : Instantiate SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID(id string) (_model *SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID, err error) { + _model = &SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID) isaSecurityGroupRuleRemotePatchSecurityGroupIdentity() bool { + return true +} + +func (*SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID) isaSecurityGroupRuleRemotePatch() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID unmarshals an instance of SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID +func (securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID *SecurityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID.ID) { + _patch["id"] = securityGroupRuleRemotePatchSecurityGroupIdentitySecurityGroupIdentityByID.ID + } + + return +} + +// SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN : SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN struct +// This model "extends" SecurityGroupRuleRemotePrototypeSecurityGroupIdentity +type SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN struct { + // The CRN for this security group. + CRN *string `json:"crn" validate:"required"` +} + +// NewSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN : Instantiate SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN(crn string) (_model *SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN, err error) { + _model = &SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN) isaSecurityGroupRuleRemotePrototypeSecurityGroupIdentity() bool { + return true +} + +func (*SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN) isaSecurityGroupRuleRemotePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN unmarshals an instance of SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref : SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref struct +// This model "extends" SecurityGroupRuleRemotePrototypeSecurityGroupIdentity +type SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref struct { + // The URL for this security group. + Href *string `json:"href" validate:"required"` +} + +// NewSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref : Instantiate SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref(href string) (_model *SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref, err error) { + _model = &SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref) isaSecurityGroupRuleRemotePrototypeSecurityGroupIdentity() bool { + return true +} + +func (*SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref) isaSecurityGroupRuleRemotePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref unmarshals an instance of SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID : SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID struct +// This model "extends" SecurityGroupRuleRemotePrototypeSecurityGroupIdentity +type SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID struct { + // The unique identifier for this security group. + ID *string `json:"id" validate:"required"` +} + +// NewSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID : Instantiate SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID (Generic Model Constructor) +func (*VpcV1) NewSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID(id string) (_model *SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID, err error) { + _model = &SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID) isaSecurityGroupRuleRemotePrototypeSecurityGroupIdentity() bool { + return true +} + +func (*SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID) isaSecurityGroupRuleRemotePrototype() bool { + return true +} + +// UnmarshalSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID unmarshals an instance of SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID from the specified map of raw messages. +func UnmarshalSecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityGroupRuleRemotePrototypeSecurityGroupIdentitySecurityGroupIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct +// This model "extends" ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity +type ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN struct { + // The CRN for this virtual network interface. + CRN *string `json:"crn" validate:"required"` +} + +// NewShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN : Instantiate ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(crn string) (_model *ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN, err error) { + _model = &ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) isaShareMountTargetVirtualNetworkInterfacePrototype() bool { + return true +} + +// UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN unmarshals an instance of ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN from the specified map of raw messages. +func UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct +// This model "extends" ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity +type ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref struct { + // The URL for this virtual network interface. + Href *string `json:"href" validate:"required"` +} + +// NewShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref : Instantiate ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(href string) (_model *ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref, err error) { + _model = &ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) isaShareMountTargetVirtualNetworkInterfacePrototype() bool { + return true +} + +// UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref unmarshals an instance of ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref from the specified map of raw messages. +func UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct +// This model "extends" ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity +type ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID struct { + // The unique identifier for this virtual network interface. + ID *string `json:"id" validate:"required"` +} + +// NewShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID : Instantiate ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID (Generic Model Constructor) +func (*VpcV1) NewShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(id string) (_model *ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID, err error) { + _model = &ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentity() bool { + return true +} + +func (*ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) isaShareMountTargetVirtualNetworkInterfacePrototype() bool { + return true +} + +// UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID unmarshals an instance of ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID from the specified map of raw messages. +func UnmarshalShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareMountTargetVirtualNetworkInterfacePrototypeVirtualNetworkInterfaceIdentityVirtualNetworkInterfaceIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN : ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN struct +// This model "extends" ShareSourceSnapshotPrototypeShareSnapshotIdentity +type ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN struct { + // The CRN for this share snapshot. + CRN *string `json:"crn" validate:"required"` +} + +// NewShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN : Instantiate ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN(crn string) (_model *ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN, err error) { + _model = &ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN) isaShareSourceSnapshotPrototypeShareSnapshotIdentity() bool { + return true +} + +func (*ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN) isaShareSourceSnapshotPrototype() bool { + return true +} + +// UnmarshalShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN unmarshals an instance of ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN from the specified map of raw messages. +func UnmarshalShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref : ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref struct +// This model "extends" ShareSourceSnapshotPrototypeShareSnapshotIdentity +type ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref struct { + // The URL for this share snapshot. + Href *string `json:"href" validate:"required"` +} + +// NewShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref : Instantiate ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref(href string) (_model *ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref, err error) { + _model = &ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref) isaShareSourceSnapshotPrototypeShareSnapshotIdentity() bool { + return true +} + +func (*ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref) isaShareSourceSnapshotPrototype() bool { + return true +} + +// UnmarshalShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref unmarshals an instance of ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref from the specified map of raw messages. +func UnmarshalShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID : ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID struct +// This model "extends" ShareSourceSnapshotPrototypeShareSnapshotIdentity +type ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID struct { + // The unique identifier for this share snapshot. + ID *string `json:"id" validate:"required"` +} + +// NewShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID : Instantiate ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID (Generic Model Constructor) +func (*VpcV1) NewShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID(id string) (_model *ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID, err error) { + _model = &ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID) isaShareSourceSnapshotPrototypeShareSnapshotIdentity() bool { + return true +} + +func (*ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID) isaShareSourceSnapshotPrototype() bool { + return true +} + +// UnmarshalShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID unmarshals an instance of ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID from the specified map of raw messages. +func UnmarshalShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ShareSourceSnapshotPrototypeShareSnapshotIdentityShareSnapshotIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch : VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch struct +// This model "extends" VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + Asn *int64 `json:"asn,omitempty"` + + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch() bool { + return true +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch.Asn) { + _patch["asn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch.Asn + } + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch.Address) { + _patch["address"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch.Address + } + + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch : VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch struct +// This model "extends" VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch struct { + // The peer autonomous system number (ASN) for this VPN gateway connection. The ASN values in the + // [restricted ASN list]( + // https://cloud.ibm.com/docs/vpc?topic=vpc-planning-considerations-vpn#dynamic-route-based-considerations) are + // reserved and unavailable. + Asn *int64 `json:"asn,omitempty"` + + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatch() bool { + return true +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch) + err = core.UnmarshalPrimitive(m, "asn", &obj.Asn) + if err != nil { + err = core.SDKErrorf(err, "", "asn-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch.Asn) { + _patch["asn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch.Asn + } + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch.Fqdn) { + _patch["fqdn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionDynamicRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch.Fqdn + } + + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch : VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch struct +// This model "extends" VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch struct { + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch() bool { + return true +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch.Address) { + _patch["address"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerAddressPatch.Address + } + + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch : VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch struct +// This model "extends" VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch struct { + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatch() bool { + return true +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch) + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch.Fqdn) { + _patch["fqdn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPolicyModePeerPatchVPNGatewayConnectionPeerFqdnPatch.Fqdn + } + + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch : VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch struct +// This model "extends" VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch struct { + // The IP address of the peer VPN gateway for this connection. + Address *string `json:"address,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch() bool { + return true +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch) + err = core.UnmarshalPrimitive(m, "address", &obj.Address) + if err != nil { + err = core.SDKErrorf(err, "", "address-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch.Address) { + _patch["address"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerAddressPatch.Address + } + + return +} + +// VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch : VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch struct +// This model "extends" VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch +type VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch struct { + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `json:"fqdn,omitempty"` +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch) isaVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatch() bool { + return true +} + +func (*VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch) isaVPNGatewayConnectionPeerPatch() bool { + return true +} + +// UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch unmarshals an instance of VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch) + err = core.UnmarshalPrimitive(m, "fqdn", &obj.Fqdn) + if err != nil { + err = core.SDKErrorf(err, "", "fqdn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// asPatch returns a generic map representation of the VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch +func (vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch *VPNGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch) asPatch() (_patch map[string]interface{}) { + _patch = map[string]interface{}{} + if !core.IsNil(vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch.Fqdn) { + _patch["fqdn"] = vpnGatewayConnectionPeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionStaticRouteModePeerPatchVPNGatewayConnectionPeerFqdnPatch.Fqdn + } + + return +} + +// VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode : VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode struct +// This model "extends" VPNGatewayConnectionRouteMode +type VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up" validate:"required"` + + // The authentication mode. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AuthenticationMode *string `json:"authentication_mode" validate:"required"` + + // The date and time that this VPN gateway connection was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + DeadPeerDetection *VPNGatewayConnectionDpd `json:"dead_peer_detection" validate:"required"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode" validate:"required"` + + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` + + // The IKE policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). + IkePolicy *IkePolicyReference `json:"ike_policy,omitempty"` + + // The IPsec policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). + IpsecPolicy *IPsecPolicyReference `json:"ipsec_policy,omitempty"` + + // The mode of the VPN gateway. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Mode *string `json:"mode" validate:"required"` + + // The name for this VPN gateway connection. The name is unique across all connections for the VPN gateway. + Name *string `json:"name" validate:"required"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of a VPN gateway connection. + Status *string `json:"status" validate:"required"` + + // The reasons for the current VPN gateway connection status (if any). + StatusReasons []VPNGatewayConnectionStatusReason `json:"status_reasons" validate:"required"` + + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC + // route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower + // `public_ip` address. + DistributeTraffic *bool `json:"distribute_traffic" validate:"required"` + + Local *VPNGatewayConnectionDynamicRouteModeLocal `json:"local" validate:"required"` + + Peer VPNGatewayConnectionDynamicRouteModePeerIntf `json:"peer" validate:"required"` + + // The routing protocol for this VPN gateway connection. + RoutingProtocol *string `json:"routing_protocol" validate:"required"` + + // The VPN tunnel configuration for this VPN gateway connection (in dynamic route mode). + Tunnels []VPNGatewayConnectionDynamicRouteModeTunnel `json:"tunnels" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode.AuthenticationMode property. +// The authentication mode. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeAuthenticationModePskConst = "psk" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode.Mode property. +// The mode of the VPN gateway. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeModePolicyConst = "policy" + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeModeRouteConst = "route" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode.ResourceType property. +// The resource type. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeResourceTypeVPNGatewayConnectionConst = "vpn_gateway_connection" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode.Status property. +// The status of a VPN gateway connection. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeStatusDownConst = "down" + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeStatusUpConst = "up" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode.RoutingProtocol property. +// The routing protocol for this VPN gateway connection. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteModeRoutingProtocolBgpConst = "bgp" +) + +func (*VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode) isaVPNGatewayConnectionRouteMode() bool { + return true +} + +func (*VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode) isaVPNGatewayConnection() bool { + return true +} + +// UnmarshalVPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode unmarshals an instance of VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionRouteModeVPNGatewayConnectionDynamicRouteMode) + err = core.UnmarshalPrimitive(m, "admin_state_up", &obj.AdminStateUp) + if err != nil { + err = core.SDKErrorf(err, "", "admin_state_up-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "authentication_mode", &obj.AuthenticationMode) + if err != nil { + err = core.SDKErrorf(err, "", "authentication_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dead_peer_detection", &obj.DeadPeerDetection, UnmarshalVPNGatewayConnectionDpd) + if err != nil { + err = core.SDKErrorf(err, "", "dead_peer_detection-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "establish_mode", &obj.EstablishMode) + if err != nil { + err = core.SDKErrorf(err, "", "establish_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policy", &obj.IkePolicy, UnmarshalIkePolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policy", &obj.IpsecPolicy, UnmarshalIPsecPolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "psk", &obj.Psk) + if err != nil { + err = core.SDKErrorf(err, "", "psk-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalVPNGatewayConnectionStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "distribute_traffic", &obj.DistributeTraffic) + if err != nil { + err = core.SDKErrorf(err, "", "distribute_traffic-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalVPNGatewayConnectionDynamicRouteModeLocal) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "peer", &obj.Peer, UnmarshalVPNGatewayConnectionDynamicRouteModePeer) + if err != nil { + err = core.SDKErrorf(err, "", "peer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "routing_protocol", &obj.RoutingProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "routing_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalVPNGatewayConnectionDynamicRouteModeTunnel) + if err != nil { + err = core.SDKErrorf(err, "", "tunnels-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode : VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode struct +// This model "extends" VPNGatewayConnectionRouteMode +type VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode struct { + // If set to false, the VPN gateway connection is shut down. + AdminStateUp *bool `json:"admin_state_up" validate:"required"` + + // The authentication mode. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + AuthenticationMode *string `json:"authentication_mode" validate:"required"` + + // The date and time that this VPN gateway connection was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + DeadPeerDetection *VPNGatewayConnectionDpd `json:"dead_peer_detection" validate:"required"` + + // The establish mode of the VPN gateway connection: + // - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol + // negotiations or rekeying processes. + // - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway + // connection. Additionally, the peer is responsible for initiating the rekeying process + // after the connection is established. If rekeying does not occur, the VPN gateway + // connection will be brought down after its lifetime expires. + EstablishMode *string `json:"establish_mode" validate:"required"` + + // The URL for this VPN gateway connection. + Href *string `json:"href" validate:"required"` + + // The unique identifier for this VPN gateway connection. + ID *string `json:"id" validate:"required"` + + // The IKE policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ike-auto-negotiation-phase-1). + IkePolicy *IkePolicyReference `json:"ike_policy,omitempty"` + + // The IPsec policy. If absent, [auto-negotiation is + // used](https://cloud.ibm.com/docs/vpc?topic=vpc-using-vpn&interface=ui#ipsec-auto-negotiation-phase-2). + IpsecPolicy *IPsecPolicyReference `json:"ipsec_policy,omitempty"` + + // The mode of the VPN gateway. + // + // The enumerated values for this property may + // [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Mode *string `json:"mode" validate:"required"` + + // The name for this VPN gateway connection. The name is unique across all connections for the VPN gateway. + Name *string `json:"name" validate:"required"` + + // The pre-shared key. + Psk *string `json:"psk" validate:"required"` + + // The resource type. + ResourceType *string `json:"resource_type" validate:"required"` + + // The status of a VPN gateway connection. + Status *string `json:"status" validate:"required"` + + // The reasons for the current VPN gateway connection status (if any). + StatusReasons []VPNGatewayConnectionStatusReason `json:"status_reasons" validate:"required"` + + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC + // route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower + // `public_ip` address. + DistributeTraffic *bool `json:"distribute_traffic" validate:"required"` + + Local *VPNGatewayConnectionStaticRouteModeLocal `json:"local" validate:"required"` + + Peer VPNGatewayConnectionStaticRouteModePeerIntf `json:"peer" validate:"required"` + + // The routing protocol for this VPN gateway connection. + RoutingProtocol *string `json:"routing_protocol" validate:"required"` + + // The VPN tunnel configuration for this VPN gateway connection (in static route mode). + Tunnels []VPNGatewayConnectionStaticRouteModeTunnel `json:"tunnels" validate:"required"` +} + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode.AuthenticationMode property. +// The authentication mode. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeAuthenticationModePskConst = "psk" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode.EstablishMode property. +// The establish mode of the VPN gateway connection: +// - `bidirectional`: Either side of the VPN gateway can initiate IKE protocol +// negotiations or rekeying processes. +// - `peer_only`: Only the peer can initiate IKE protocol negotiations for this VPN gateway +// connection. Additionally, the peer is responsible for initiating the rekeying process +// after the connection is established. If rekeying does not occur, the VPN gateway +// connection will be brought down after its lifetime expires. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeEstablishModeBidirectionalConst = "bidirectional" + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeEstablishModePeerOnlyConst = "peer_only" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode.Mode property. +// The mode of the VPN gateway. +// +// The enumerated values for this property may +// [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeModePolicyConst = "policy" + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeModeRouteConst = "route" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode.ResourceType property. +// The resource type. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeResourceTypeVPNGatewayConnectionConst = "vpn_gateway_connection" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode.Status property. +// The status of a VPN gateway connection. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeStatusDownConst = "down" + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeStatusUpConst = "up" +) + +// Constants associated with the VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode.RoutingProtocol property. +// The routing protocol for this VPN gateway connection. +const ( + VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteModeRoutingProtocolNoneConst = "none" +) + +func (*VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode) isaVPNGatewayConnectionRouteMode() bool { + return true +} + +func (*VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode) isaVPNGatewayConnection() bool { + return true +} + +// UnmarshalVPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode unmarshals an instance of VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode from the specified map of raw messages. +func UnmarshalVPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VPNGatewayConnectionRouteModeVPNGatewayConnectionStaticRouteMode) + err = core.UnmarshalPrimitive(m, "admin_state_up", &obj.AdminStateUp) + if err != nil { + err = core.SDKErrorf(err, "", "admin_state_up-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "authentication_mode", &obj.AuthenticationMode) + if err != nil { + err = core.SDKErrorf(err, "", "authentication_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "dead_peer_detection", &obj.DeadPeerDetection, UnmarshalVPNGatewayConnectionDpd) + if err != nil { + err = core.SDKErrorf(err, "", "dead_peer_detection-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "establish_mode", &obj.EstablishMode) + if err != nil { + err = core.SDKErrorf(err, "", "establish_mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ike_policy", &obj.IkePolicy, UnmarshalIkePolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "ike_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "ipsec_policy", &obj.IpsecPolicy, UnmarshalIPsecPolicyReference) + if err != nil { + err = core.SDKErrorf(err, "", "ipsec_policy-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "mode", &obj.Mode) + if err != nil { + err = core.SDKErrorf(err, "", "mode-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "psk", &obj.Psk) + if err != nil { + err = core.SDKErrorf(err, "", "psk-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "resource_type", &obj.ResourceType) + if err != nil { + err = core.SDKErrorf(err, "", "resource_type-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + err = core.SDKErrorf(err, "", "status-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "status_reasons", &obj.StatusReasons, UnmarshalVPNGatewayConnectionStatusReason) + if err != nil { + err = core.SDKErrorf(err, "", "status_reasons-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "distribute_traffic", &obj.DistributeTraffic) + if err != nil { + err = core.SDKErrorf(err, "", "distribute_traffic-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "local", &obj.Local, UnmarshalVPNGatewayConnectionStaticRouteModeLocal) + if err != nil { + err = core.SDKErrorf(err, "", "local-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "peer", &obj.Peer, UnmarshalVPNGatewayConnectionStaticRouteModePeer) + if err != nil { + err = core.SDKErrorf(err, "", "peer-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "routing_protocol", &obj.RoutingProtocol) + if err != nil { + err = core.SDKErrorf(err, "", "routing_protocol-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalVPNGatewayConnectionStaticRouteModeTunnel) + if err != nil { + err = core.SDKErrorf(err, "", "tunnels-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref : VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref struct +// This model "extends" VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext +type VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref struct { + // The URL for this reserved IP. + Href *string `json:"href" validate:"required"` +} + +// NewVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref : Instantiate VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref (Generic Model Constructor) +func (*VpcV1) NewVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref(href string) (_model *VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref, err error) { + _model = &VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref) isaVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext() bool { + return true +} + +func (*VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref) isaVirtualNetworkInterfaceIPPrototype() bool { + return true +} + +// UnmarshalVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref unmarshals an instance of VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID : VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID struct +// This model "extends" VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext +type VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID struct { + // The unique identifier for this reserved IP. + ID *string `json:"id" validate:"required"` +} + +// NewVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID : Instantiate VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID (Generic Model Constructor) +func (*VpcV1) NewVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID(id string) (_model *VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID, err error) { + _model = &VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID) isaVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContext() bool { + return true +} + +func (*VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID) isaVirtualNetworkInterfaceIPPrototype() bool { + return true +} + +// UnmarshalVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID unmarshals an instance of VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfaceIPPrototypeReservedIPIdentityVirtualNetworkInterfaceIPsContextByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref : VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref struct +// This model "extends" VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext +type VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref struct { + // The URL for this reserved IP. + Href *string `json:"href" validate:"required"` +} + +// NewVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref : Instantiate VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref (Generic Model Constructor) +func (*VpcV1) NewVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref(href string) (_model *VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref, err error) { + _model = &VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref) isaVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext() bool { + return true +} + +func (*VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref) isaVirtualNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +// UnmarshalVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref unmarshals an instance of VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID : VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID struct +// This model "extends" VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext +type VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID struct { + // The unique identifier for this reserved IP. + ID *string `json:"id" validate:"required"` +} + +// NewVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID : Instantiate VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID (Generic Model Constructor) +func (*VpcV1) NewVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID(id string) (_model *VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID, err error) { + _model = &VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID) isaVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContext() bool { + return true +} + +func (*VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID) isaVirtualNetworkInterfacePrimaryIPPrototype() bool { + return true +} + +// UnmarshalVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID unmarshals an instance of VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID from the specified map of raw messages. +func UnmarshalVirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VirtualNetworkInterfacePrimaryIPPrototypeReservedIPIdentityVirtualNetworkInterfacePrimaryIPContextByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN : VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN struct +// This model "extends" VolumeAttachmentPrototypeVolumeVolumeIdentity +type VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN struct { + // The CRN for this volume. + CRN *string `json:"crn" validate:"required"` +} + +// NewVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN : Instantiate VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN(crn string) (_model *VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN, err error) { + _model = &VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN{ + CRN: core.StringPtr(crn), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN) isaVolumeAttachmentPrototypeVolumeVolumeIdentity() bool { + return true +} + +func (*VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN) isaVolumeAttachmentPrototypeVolume() bool { + return true +} + +// UnmarshalVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN unmarshals an instance of VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByCRN) + err = core.UnmarshalPrimitive(m, "crn", &obj.CRN) + if err != nil { + err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref : VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref struct +// This model "extends" VolumeAttachmentPrototypeVolumeVolumeIdentity +type VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref struct { + // The URL for this volume. + Href *string `json:"href" validate:"required"` +} + +// NewVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref : Instantiate VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref(href string) (_model *VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref, err error) { + _model = &VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref{ + Href: core.StringPtr(href), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref) isaVolumeAttachmentPrototypeVolumeVolumeIdentity() bool { + return true +} + +func (*VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref) isaVolumeAttachmentPrototypeVolume() bool { + return true +} + +// UnmarshalVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref unmarshals an instance of VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByHref) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID : VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID struct +// This model "extends" VolumeAttachmentPrototypeVolumeVolumeIdentity +type VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID struct { + // The unique identifier for this volume. + ID *string `json:"id" validate:"required"` +} + +// NewVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID : Instantiate VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID(id string) (_model *VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID, err error) { + _model = &VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID{ + ID: core.StringPtr(id), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID) isaVolumeAttachmentPrototypeVolumeVolumeIdentity() bool { + return true +} + +func (*VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID) isaVolumeAttachmentPrototypeVolume() bool { + return true +} + +// UnmarshalVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID unmarshals an instance of VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeVolumeVolumeIdentityVolumeIdentityByID) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity : VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity struct +// This model "extends" VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext +type VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity struct { + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for this volume. + Profile VolumeProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use for this volume. If unspecified, the instance's resource group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` + + // The capacity to use for the volume (in gigabytes). The specified value must be within the `capacity` range of the + // volume's profile. + Capacity *int64 `json:"capacity" validate:"required"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` +} + +// NewVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity : Instantiate VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity(profile VolumeProfileIdentityIntf, capacity int64) (_model *VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity, err error) { + _model = &VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity{ + Profile: profile, + Capacity: core.Int64Ptr(capacity), + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity) isaVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext() bool { + return true +} + +func (*VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity) isaVolumeAttachmentPrototypeVolume() bool { + return true +} + +// UnmarshalVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity unmarshals an instance of VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeByCapacity) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot : VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot struct +// This model "extends" VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext +type VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot struct { + // The maximum bandwidth (in megabits per second) for the volume. + // + // If the volume profile has a `bandwidth.type` of `dependent`, this property is system-managed and must not be + // specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [`iops` + // and + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Bandwidth *int64 `json:"bandwidth,omitempty"` + + // The maximum I/O operations per second (IOPS) to use for this volume. + // + // If the volume profile has a `iops.type` of `dependent`, this property is system-managed and must not be specified. + // + // Provided the property is user-managed, if it is unspecified, its value will be set based on the specified [ + // `capacity`](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=api). + Iops *int64 `json:"iops,omitempty"` + + // The name for this volume. The name must not be used by another volume in the region. If unspecified, the name will + // be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles) for this volume. + Profile VolumeProfileIdentityIntf `json:"profile" validate:"required"` + + // The resource group to use for this volume. If unspecified, the instance's resource group will be used. + ResourceGroup ResourceGroupIdentityIntf `json:"resource_group,omitempty"` + + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this volume. + UserTags []string `json:"user_tags,omitempty"` + + // The usage constraints to be matched against requested instance or bare metal server + // properties to determine compatibility. + // + // Can only be specified if `source_snapshot` is bootable. If not specified, the value of + // this property will be inherited from the `source_snapshot`. + AllowedUse *VolumeAllowedUsePrototype `json:"allowed_use,omitempty"` + + // The capacity to use for the volume (in gigabytes). The specified value must be at least the snapshot's + // `minimum_capacity`, and must be within the `capacity` range of the volume's profile. + // + // If unspecified, the capacity will be the source snapshot's `minimum_capacity`. + Capacity *int64 `json:"capacity,omitempty"` + + // The root key to use to wrap the data encryption key for the volume. + // + // If unspecified, the `encryption` type for the volume will be `provider_managed`. + EncryptionKey EncryptionKeyIdentityIntf `json:"encryption_key,omitempty"` + + // The snapshot to use as a source for the volume's data. + // + // The specified snapshot may be in a different account, subject to IAM policies. + // + // To create a volume from a `source_snapshot`, the volume profile and the + // source snapshot must have the same `storage_generation` value. + SourceSnapshot SnapshotIdentityIntf `json:"source_snapshot" validate:"required"` +} + +// NewVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot : Instantiate VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot (Generic Model Constructor) +func (*VpcV1) NewVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot(profile VolumeProfileIdentityIntf, sourceSnapshot SnapshotIdentityIntf) (_model *VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot, err error) { + _model = &VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot{ + Profile: profile, + SourceSnapshot: sourceSnapshot, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot) isaVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContext() bool { + return true +} + +func (*VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot) isaVolumeAttachmentPrototypeVolume() bool { + return true +} + +// UnmarshalVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot unmarshals an instance of VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot from the specified map of raw messages. +func UnmarshalVolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(VolumeAttachmentPrototypeVolumeVolumePrototypeInstanceContextVolumePrototypeInstanceContextVolumeBySourceSnapshot) + err = core.UnmarshalPrimitive(m, "bandwidth", &obj.Bandwidth) + if err != nil { + err = core.SDKErrorf(err, "", "bandwidth-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "iops", &obj.Iops) + if err != nil { + err = core.SDKErrorf(err, "", "iops-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalVolumeProfileIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "user_tags", &obj.UserTags) + if err != nil { + err = core.SDKErrorf(err, "", "user_tags-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "allowed_use", &obj.AllowedUse, UnmarshalVolumeAllowedUsePrototype) + if err != nil { + err = core.SDKErrorf(err, "", "allowed_use-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "capacity", &obj.Capacity) + if err != nil { + err = core.SDKErrorf(err, "", "capacity-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "encryption_key", &obj.EncryptionKey, UnmarshalEncryptionKeyIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "encryption_key-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "source_snapshot", &obj.SourceSnapshot, UnmarshalSnapshotIdentity) + if err != nil { + err = core.SDKErrorf(err, "", "source_snapshot-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup : InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup struct +// This model "extends" InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup struct { + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroupPrototype `json:"group" validate:"required"` +} + +// NewInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup : Instantiate InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup(group *InstanceGroupManagerScheduledActionGroupPrototype) (_model *InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup, err error) { + _model = &InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup{ + Group: group, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup) isaInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup) isaInstanceGroupManagerActionPrototypeScheduledActionPrototype() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup) isaInstanceGroupManagerActionPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup unmarshals an instance of InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByGroup) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroupPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager : InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager struct +// This model "extends" InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager struct { + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min + // period. + CronSpec *string `json:"cron_spec,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerPrototypeIntf `json:"manager" validate:"required"` +} + +// NewInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager : Instantiate InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager(manager InstanceGroupManagerScheduledActionManagerPrototypeIntf) (_model *InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager, err error) { + _model = &InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager{ + Manager: manager, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager) isaInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpec() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager) isaInstanceGroupManagerActionPrototypeScheduledActionPrototype() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager) isaInstanceGroupManagerActionPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager unmarshals an instance of InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPrototypeScheduledActionPrototypeByCronSpecByManager) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "cron_spec", &obj.CronSpec) + if err != nil { + err = core.SDKErrorf(err, "", "cron_spec-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManagerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup : InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup struct +// This model "extends" InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup struct { + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The date and time the scheduled action will run. + RunAt *strfmt.DateTime `json:"run_at,omitempty"` + + Group *InstanceGroupManagerScheduledActionGroupPrototype `json:"group" validate:"required"` +} + +// NewInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup : Instantiate InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup(group *InstanceGroupManagerScheduledActionGroupPrototype) (_model *InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup, err error) { + _model = &InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup{ + Group: group, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup) isaInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup) isaInstanceGroupManagerActionPrototypeScheduledActionPrototype() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup) isaInstanceGroupManagerActionPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup unmarshals an instance of InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByGroup) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "run_at", &obj.RunAt) + if err != nil { + err = core.SDKErrorf(err, "", "run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "group", &obj.Group, UnmarshalInstanceGroupManagerScheduledActionGroupPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "group-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager : InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager struct +// This model "extends" InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt +type InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager struct { + // The name for this instance group manager action. The name must not be used by another action for the instance group + // manager. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `json:"name,omitempty"` + + // The date and time the scheduled action will run. + RunAt *strfmt.DateTime `json:"run_at,omitempty"` + + Manager InstanceGroupManagerScheduledActionManagerPrototypeIntf `json:"manager" validate:"required"` +} + +// NewInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager : Instantiate InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager (Generic Model Constructor) +func (*VpcV1) NewInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager(manager InstanceGroupManagerScheduledActionManagerPrototypeIntf) (_model *InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager, err error) { + _model = &InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager{ + Manager: manager, + } + err = core.ValidateStruct(_model, "required parameters") + if err != nil { + err = core.SDKErrorf(err, "", "model-missing-required", common.GetComponentInfo()) + } + return +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager) isaInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAt() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager) isaInstanceGroupManagerActionPrototypeScheduledActionPrototype() bool { + return true +} + +func (*InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager) isaInstanceGroupManagerActionPrototype() bool { + return true +} + +// UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager unmarshals an instance of InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager from the specified map of raw messages. +func UnmarshalInstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(InstanceGroupManagerActionPrototypeScheduledActionPrototypeByRunAtByManager) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalPrimitive(m, "run_at", &obj.RunAt) + if err != nil { + err = core.SDKErrorf(err, "", "run_at-error", common.GetComponentInfo()) + return + } + err = core.UnmarshalModel(m, "manager", &obj.Manager, UnmarshalInstanceGroupManagerScheduledActionManagerPrototype) + if err != nil { + err = core.SDKErrorf(err, "", "manager-error", common.GetComponentInfo()) + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BackupPoliciesPager can be used to simplify the use of the "ListBackupPolicies" method. +type BackupPoliciesPager struct { + hasNext bool + options *ListBackupPoliciesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewBackupPoliciesPager returns a new BackupPoliciesPager instance. +func (vpc *VpcV1) NewBackupPoliciesPager(options *ListBackupPoliciesOptions) (pager *BackupPoliciesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListBackupPoliciesOptions = *options + pager = &BackupPoliciesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *BackupPoliciesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *BackupPoliciesPager) GetNextWithContext(ctx context.Context) (page []BackupPolicyIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListBackupPoliciesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.BackupPolicies + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *BackupPoliciesPager) GetAllWithContext(ctx context.Context) (allItems []BackupPolicyIntf, err error) { + for pager.HasNext() { + var nextPage []BackupPolicyIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *BackupPoliciesPager) GetNext() (page []BackupPolicyIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *BackupPoliciesPager) GetAll() (allItems []BackupPolicyIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// BackupPolicyJobsPager can be used to simplify the use of the "ListBackupPolicyJobs" method. +type BackupPolicyJobsPager struct { + hasNext bool + options *ListBackupPolicyJobsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewBackupPolicyJobsPager returns a new BackupPolicyJobsPager instance. +func (vpc *VpcV1) NewBackupPolicyJobsPager(options *ListBackupPolicyJobsOptions) (pager *BackupPolicyJobsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListBackupPolicyJobsOptions = *options + pager = &BackupPolicyJobsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *BackupPolicyJobsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *BackupPolicyJobsPager) GetNextWithContext(ctx context.Context) (page []BackupPolicyJob, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListBackupPolicyJobsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Jobs + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *BackupPolicyJobsPager) GetAllWithContext(ctx context.Context) (allItems []BackupPolicyJob, err error) { + for pager.HasNext() { + var nextPage []BackupPolicyJob + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *BackupPolicyJobsPager) GetNext() (page []BackupPolicyJob, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *BackupPolicyJobsPager) GetAll() (allItems []BackupPolicyJob, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// BareMetalServerProfilesPager can be used to simplify the use of the "ListBareMetalServerProfiles" method. +type BareMetalServerProfilesPager struct { + hasNext bool + options *ListBareMetalServerProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewBareMetalServerProfilesPager returns a new BareMetalServerProfilesPager instance. +func (vpc *VpcV1) NewBareMetalServerProfilesPager(options *ListBareMetalServerProfilesOptions) (pager *BareMetalServerProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListBareMetalServerProfilesOptions = *options + pager = &BareMetalServerProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *BareMetalServerProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *BareMetalServerProfilesPager) GetNextWithContext(ctx context.Context) (page []BareMetalServerProfile, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListBareMetalServerProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Profiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *BareMetalServerProfilesPager) GetAllWithContext(ctx context.Context) (allItems []BareMetalServerProfile, err error) { + for pager.HasNext() { + var nextPage []BareMetalServerProfile + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *BareMetalServerProfilesPager) GetNext() (page []BareMetalServerProfile, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *BareMetalServerProfilesPager) GetAll() (allItems []BareMetalServerProfile, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// BareMetalServersPager can be used to simplify the use of the "ListBareMetalServers" method. +type BareMetalServersPager struct { + hasNext bool + options *ListBareMetalServersOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewBareMetalServersPager returns a new BareMetalServersPager instance. +func (vpc *VpcV1) NewBareMetalServersPager(options *ListBareMetalServersOptions) (pager *BareMetalServersPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListBareMetalServersOptions = *options + pager = &BareMetalServersPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *BareMetalServersPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *BareMetalServersPager) GetNextWithContext(ctx context.Context) (page []BareMetalServer, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListBareMetalServersWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.BareMetalServers + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *BareMetalServersPager) GetAllWithContext(ctx context.Context) (allItems []BareMetalServer, err error) { + for pager.HasNext() { + var nextPage []BareMetalServer + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *BareMetalServersPager) GetNext() (page []BareMetalServer, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *BareMetalServersPager) GetAll() (allItems []BareMetalServer, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// BareMetalServerNetworkAttachmentsPager can be used to simplify the use of the "ListBareMetalServerNetworkAttachments" method. +type BareMetalServerNetworkAttachmentsPager struct { + hasNext bool + options *ListBareMetalServerNetworkAttachmentsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewBareMetalServerNetworkAttachmentsPager returns a new BareMetalServerNetworkAttachmentsPager instance. +func (vpc *VpcV1) NewBareMetalServerNetworkAttachmentsPager(options *ListBareMetalServerNetworkAttachmentsOptions) (pager *BareMetalServerNetworkAttachmentsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListBareMetalServerNetworkAttachmentsOptions = *options + pager = &BareMetalServerNetworkAttachmentsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *BareMetalServerNetworkAttachmentsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *BareMetalServerNetworkAttachmentsPager) GetNextWithContext(ctx context.Context) (page []BareMetalServerNetworkAttachmentIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListBareMetalServerNetworkAttachmentsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.NetworkAttachments + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *BareMetalServerNetworkAttachmentsPager) GetAllWithContext(ctx context.Context) (allItems []BareMetalServerNetworkAttachmentIntf, err error) { + for pager.HasNext() { + var nextPage []BareMetalServerNetworkAttachmentIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *BareMetalServerNetworkAttachmentsPager) GetNext() (page []BareMetalServerNetworkAttachmentIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *BareMetalServerNetworkAttachmentsPager) GetAll() (allItems []BareMetalServerNetworkAttachmentIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// BareMetalServerNetworkInterfacesPager can be used to simplify the use of the "ListBareMetalServerNetworkInterfaces" method. +type BareMetalServerNetworkInterfacesPager struct { + hasNext bool + options *ListBareMetalServerNetworkInterfacesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewBareMetalServerNetworkInterfacesPager returns a new BareMetalServerNetworkInterfacesPager instance. +func (vpc *VpcV1) NewBareMetalServerNetworkInterfacesPager(options *ListBareMetalServerNetworkInterfacesOptions) (pager *BareMetalServerNetworkInterfacesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListBareMetalServerNetworkInterfacesOptions = *options + pager = &BareMetalServerNetworkInterfacesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *BareMetalServerNetworkInterfacesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *BareMetalServerNetworkInterfacesPager) GetNextWithContext(ctx context.Context) (page []BareMetalServerNetworkInterfaceIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListBareMetalServerNetworkInterfacesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.NetworkInterfaces + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *BareMetalServerNetworkInterfacesPager) GetAllWithContext(ctx context.Context) (allItems []BareMetalServerNetworkInterfaceIntf, err error) { + for pager.HasNext() { + var nextPage []BareMetalServerNetworkInterfaceIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *BareMetalServerNetworkInterfacesPager) GetNext() (page []BareMetalServerNetworkInterfaceIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *BareMetalServerNetworkInterfacesPager) GetAll() (allItems []BareMetalServerNetworkInterfaceIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ClusterNetworkProfilesPager can be used to simplify the use of the "ListClusterNetworkProfiles" method. +type ClusterNetworkProfilesPager struct { + hasNext bool + options *ListClusterNetworkProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewClusterNetworkProfilesPager returns a new ClusterNetworkProfilesPager instance. +func (vpc *VpcV1) NewClusterNetworkProfilesPager(options *ListClusterNetworkProfilesOptions) (pager *ClusterNetworkProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListClusterNetworkProfilesOptions = *options + pager = &ClusterNetworkProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ClusterNetworkProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ClusterNetworkProfilesPager) GetNextWithContext(ctx context.Context) (page []ClusterNetworkProfile, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListClusterNetworkProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Profiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ClusterNetworkProfilesPager) GetAllWithContext(ctx context.Context) (allItems []ClusterNetworkProfile, err error) { + for pager.HasNext() { + var nextPage []ClusterNetworkProfile + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworkProfilesPager) GetNext() (page []ClusterNetworkProfile, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworkProfilesPager) GetAll() (allItems []ClusterNetworkProfile, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ClusterNetworksPager can be used to simplify the use of the "ListClusterNetworks" method. +type ClusterNetworksPager struct { + hasNext bool + options *ListClusterNetworksOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewClusterNetworksPager returns a new ClusterNetworksPager instance. +func (vpc *VpcV1) NewClusterNetworksPager(options *ListClusterNetworksOptions) (pager *ClusterNetworksPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListClusterNetworksOptions = *options + pager = &ClusterNetworksPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ClusterNetworksPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ClusterNetworksPager) GetNextWithContext(ctx context.Context) (page []ClusterNetwork, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListClusterNetworksWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.ClusterNetworks + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ClusterNetworksPager) GetAllWithContext(ctx context.Context) (allItems []ClusterNetwork, err error) { + for pager.HasNext() { + var nextPage []ClusterNetwork + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworksPager) GetNext() (page []ClusterNetwork, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworksPager) GetAll() (allItems []ClusterNetwork, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ClusterNetworkInterfacesPager can be used to simplify the use of the "ListClusterNetworkInterfaces" method. +type ClusterNetworkInterfacesPager struct { + hasNext bool + options *ListClusterNetworkInterfacesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewClusterNetworkInterfacesPager returns a new ClusterNetworkInterfacesPager instance. +func (vpc *VpcV1) NewClusterNetworkInterfacesPager(options *ListClusterNetworkInterfacesOptions) (pager *ClusterNetworkInterfacesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListClusterNetworkInterfacesOptions = *options + pager = &ClusterNetworkInterfacesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ClusterNetworkInterfacesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ClusterNetworkInterfacesPager) GetNextWithContext(ctx context.Context) (page []ClusterNetworkInterface, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListClusterNetworkInterfacesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Interfaces + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ClusterNetworkInterfacesPager) GetAllWithContext(ctx context.Context) (allItems []ClusterNetworkInterface, err error) { + for pager.HasNext() { + var nextPage []ClusterNetworkInterface + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworkInterfacesPager) GetNext() (page []ClusterNetworkInterface, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworkInterfacesPager) GetAll() (allItems []ClusterNetworkInterface, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ClusterNetworkSubnetsPager can be used to simplify the use of the "ListClusterNetworkSubnets" method. +type ClusterNetworkSubnetsPager struct { + hasNext bool + options *ListClusterNetworkSubnetsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewClusterNetworkSubnetsPager returns a new ClusterNetworkSubnetsPager instance. +func (vpc *VpcV1) NewClusterNetworkSubnetsPager(options *ListClusterNetworkSubnetsOptions) (pager *ClusterNetworkSubnetsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListClusterNetworkSubnetsOptions = *options + pager = &ClusterNetworkSubnetsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ClusterNetworkSubnetsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ClusterNetworkSubnetsPager) GetNextWithContext(ctx context.Context) (page []ClusterNetworkSubnet, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListClusterNetworkSubnetsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Subnets + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ClusterNetworkSubnetsPager) GetAllWithContext(ctx context.Context) (allItems []ClusterNetworkSubnet, err error) { + for pager.HasNext() { + var nextPage []ClusterNetworkSubnet + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworkSubnetsPager) GetNext() (page []ClusterNetworkSubnet, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworkSubnetsPager) GetAll() (allItems []ClusterNetworkSubnet, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ClusterNetworkSubnetReservedIpsPager can be used to simplify the use of the "ListClusterNetworkSubnetReservedIps" method. +type ClusterNetworkSubnetReservedIpsPager struct { + hasNext bool + options *ListClusterNetworkSubnetReservedIpsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewClusterNetworkSubnetReservedIpsPager returns a new ClusterNetworkSubnetReservedIpsPager instance. +func (vpc *VpcV1) NewClusterNetworkSubnetReservedIpsPager(options *ListClusterNetworkSubnetReservedIpsOptions) (pager *ClusterNetworkSubnetReservedIpsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListClusterNetworkSubnetReservedIpsOptions = *options + pager = &ClusterNetworkSubnetReservedIpsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ClusterNetworkSubnetReservedIpsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ClusterNetworkSubnetReservedIpsPager) GetNextWithContext(ctx context.Context) (page []ClusterNetworkSubnetReservedIP, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListClusterNetworkSubnetReservedIpsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.ReservedIps + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ClusterNetworkSubnetReservedIpsPager) GetAllWithContext(ctx context.Context) (allItems []ClusterNetworkSubnetReservedIP, err error) { + for pager.HasNext() { + var nextPage []ClusterNetworkSubnetReservedIP + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworkSubnetReservedIpsPager) GetNext() (page []ClusterNetworkSubnetReservedIP, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ClusterNetworkSubnetReservedIpsPager) GetAll() (allItems []ClusterNetworkSubnetReservedIP, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DedicatedHostGroupsPager can be used to simplify the use of the "ListDedicatedHostGroups" method. +type DedicatedHostGroupsPager struct { + hasNext bool + options *ListDedicatedHostGroupsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewDedicatedHostGroupsPager returns a new DedicatedHostGroupsPager instance. +func (vpc *VpcV1) NewDedicatedHostGroupsPager(options *ListDedicatedHostGroupsOptions) (pager *DedicatedHostGroupsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListDedicatedHostGroupsOptions = *options + pager = &DedicatedHostGroupsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *DedicatedHostGroupsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *DedicatedHostGroupsPager) GetNextWithContext(ctx context.Context) (page []DedicatedHostGroup, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListDedicatedHostGroupsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Groups + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *DedicatedHostGroupsPager) GetAllWithContext(ctx context.Context) (allItems []DedicatedHostGroup, err error) { + for pager.HasNext() { + var nextPage []DedicatedHostGroup + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *DedicatedHostGroupsPager) GetNext() (page []DedicatedHostGroup, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *DedicatedHostGroupsPager) GetAll() (allItems []DedicatedHostGroup, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DedicatedHostProfilesPager can be used to simplify the use of the "ListDedicatedHostProfiles" method. +type DedicatedHostProfilesPager struct { + hasNext bool + options *ListDedicatedHostProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewDedicatedHostProfilesPager returns a new DedicatedHostProfilesPager instance. +func (vpc *VpcV1) NewDedicatedHostProfilesPager(options *ListDedicatedHostProfilesOptions) (pager *DedicatedHostProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListDedicatedHostProfilesOptions = *options + pager = &DedicatedHostProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *DedicatedHostProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *DedicatedHostProfilesPager) GetNextWithContext(ctx context.Context) (page []DedicatedHostProfile, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListDedicatedHostProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Profiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *DedicatedHostProfilesPager) GetAllWithContext(ctx context.Context) (allItems []DedicatedHostProfile, err error) { + for pager.HasNext() { + var nextPage []DedicatedHostProfile + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *DedicatedHostProfilesPager) GetNext() (page []DedicatedHostProfile, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *DedicatedHostProfilesPager) GetAll() (allItems []DedicatedHostProfile, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// DedicatedHostsPager can be used to simplify the use of the "ListDedicatedHosts" method. +type DedicatedHostsPager struct { + hasNext bool + options *ListDedicatedHostsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewDedicatedHostsPager returns a new DedicatedHostsPager instance. +func (vpc *VpcV1) NewDedicatedHostsPager(options *ListDedicatedHostsOptions) (pager *DedicatedHostsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListDedicatedHostsOptions = *options + pager = &DedicatedHostsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *DedicatedHostsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *DedicatedHostsPager) GetNextWithContext(ctx context.Context) (page []DedicatedHost, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListDedicatedHostsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.DedicatedHosts + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *DedicatedHostsPager) GetAllWithContext(ctx context.Context) (allItems []DedicatedHost, err error) { + for pager.HasNext() { + var nextPage []DedicatedHost + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *DedicatedHostsPager) GetNext() (page []DedicatedHost, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *DedicatedHostsPager) GetAll() (allItems []DedicatedHost, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// EndpointGatewaysPager can be used to simplify the use of the "ListEndpointGateways" method. +type EndpointGatewaysPager struct { + hasNext bool + options *ListEndpointGatewaysOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewEndpointGatewaysPager returns a new EndpointGatewaysPager instance. +func (vpc *VpcV1) NewEndpointGatewaysPager(options *ListEndpointGatewaysOptions) (pager *EndpointGatewaysPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListEndpointGatewaysOptions = *options + pager = &EndpointGatewaysPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *EndpointGatewaysPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *EndpointGatewaysPager) GetNextWithContext(ctx context.Context) (page []EndpointGateway, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListEndpointGatewaysWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.EndpointGateways + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *EndpointGatewaysPager) GetAllWithContext(ctx context.Context) (allItems []EndpointGateway, err error) { + for pager.HasNext() { + var nextPage []EndpointGateway + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *EndpointGatewaysPager) GetNext() (page []EndpointGateway, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *EndpointGatewaysPager) GetAll() (allItems []EndpointGateway, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// EndpointGatewayIpsPager can be used to simplify the use of the "ListEndpointGatewayIps" method. +type EndpointGatewayIpsPager struct { + hasNext bool + options *ListEndpointGatewayIpsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewEndpointGatewayIpsPager returns a new EndpointGatewayIpsPager instance. +func (vpc *VpcV1) NewEndpointGatewayIpsPager(options *ListEndpointGatewayIpsOptions) (pager *EndpointGatewayIpsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListEndpointGatewayIpsOptions = *options + pager = &EndpointGatewayIpsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *EndpointGatewayIpsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *EndpointGatewayIpsPager) GetNextWithContext(ctx context.Context) (page []ReservedIP, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListEndpointGatewayIpsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Ips + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *EndpointGatewayIpsPager) GetAllWithContext(ctx context.Context) (allItems []ReservedIP, err error) { + for pager.HasNext() { + var nextPage []ReservedIP + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *EndpointGatewayIpsPager) GetNext() (page []ReservedIP, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *EndpointGatewayIpsPager) GetAll() (allItems []ReservedIP, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// FloatingIpsPager can be used to simplify the use of the "ListFloatingIps" method. +type FloatingIpsPager struct { + hasNext bool + options *ListFloatingIpsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewFloatingIpsPager returns a new FloatingIpsPager instance. +func (vpc *VpcV1) NewFloatingIpsPager(options *ListFloatingIpsOptions) (pager *FloatingIpsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListFloatingIpsOptions = *options + pager = &FloatingIpsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *FloatingIpsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *FloatingIpsPager) GetNextWithContext(ctx context.Context) (page []FloatingIP, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListFloatingIpsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.FloatingIps + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *FloatingIpsPager) GetAllWithContext(ctx context.Context) (allItems []FloatingIP, err error) { + for pager.HasNext() { + var nextPage []FloatingIP + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *FloatingIpsPager) GetNext() (page []FloatingIP, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *FloatingIpsPager) GetAll() (allItems []FloatingIP, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// FlowLogCollectorsPager can be used to simplify the use of the "ListFlowLogCollectors" method. +type FlowLogCollectorsPager struct { + hasNext bool + options *ListFlowLogCollectorsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewFlowLogCollectorsPager returns a new FlowLogCollectorsPager instance. +func (vpc *VpcV1) NewFlowLogCollectorsPager(options *ListFlowLogCollectorsOptions) (pager *FlowLogCollectorsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListFlowLogCollectorsOptions = *options + pager = &FlowLogCollectorsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *FlowLogCollectorsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *FlowLogCollectorsPager) GetNextWithContext(ctx context.Context) (page []FlowLogCollector, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListFlowLogCollectorsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.FlowLogCollectors + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *FlowLogCollectorsPager) GetAllWithContext(ctx context.Context) (allItems []FlowLogCollector, err error) { + for pager.HasNext() { + var nextPage []FlowLogCollector + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *FlowLogCollectorsPager) GetNext() (page []FlowLogCollector, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *FlowLogCollectorsPager) GetAll() (allItems []FlowLogCollector, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ImagesPager can be used to simplify the use of the "ListImages" method. +type ImagesPager struct { + hasNext bool + options *ListImagesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewImagesPager returns a new ImagesPager instance. +func (vpc *VpcV1) NewImagesPager(options *ListImagesOptions) (pager *ImagesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListImagesOptions = *options + pager = &ImagesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ImagesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ImagesPager) GetNextWithContext(ctx context.Context) (page []Image, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListImagesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Images + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ImagesPager) GetAllWithContext(ctx context.Context) (allItems []Image, err error) { + for pager.HasNext() { + var nextPage []Image + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ImagesPager) GetNext() (page []Image, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ImagesPager) GetAll() (allItems []Image, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ImageBareMetalServerProfilesPager can be used to simplify the use of the "ListImageBareMetalServerProfiles" method. +type ImageBareMetalServerProfilesPager struct { + hasNext bool + options *ListImageBareMetalServerProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewImageBareMetalServerProfilesPager returns a new ImageBareMetalServerProfilesPager instance. +func (vpc *VpcV1) NewImageBareMetalServerProfilesPager(options *ListImageBareMetalServerProfilesOptions) (pager *ImageBareMetalServerProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListImageBareMetalServerProfilesOptions = *options + pager = &ImageBareMetalServerProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ImageBareMetalServerProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ImageBareMetalServerProfilesPager) GetNextWithContext(ctx context.Context) (page []BareMetalServerProfileReference, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListImageBareMetalServerProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.BareMetalServerProfiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ImageBareMetalServerProfilesPager) GetAllWithContext(ctx context.Context) (allItems []BareMetalServerProfileReference, err error) { + for pager.HasNext() { + var nextPage []BareMetalServerProfileReference + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ImageBareMetalServerProfilesPager) GetNext() (page []BareMetalServerProfileReference, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ImageBareMetalServerProfilesPager) GetAll() (allItems []BareMetalServerProfileReference, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ImageInstanceProfilesPager can be used to simplify the use of the "ListImageInstanceProfiles" method. +type ImageInstanceProfilesPager struct { + hasNext bool + options *ListImageInstanceProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewImageInstanceProfilesPager returns a new ImageInstanceProfilesPager instance. +func (vpc *VpcV1) NewImageInstanceProfilesPager(options *ListImageInstanceProfilesOptions) (pager *ImageInstanceProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListImageInstanceProfilesOptions = *options + pager = &ImageInstanceProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ImageInstanceProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ImageInstanceProfilesPager) GetNextWithContext(ctx context.Context) (page []InstanceProfileReference, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListImageInstanceProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.InstanceProfiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ImageInstanceProfilesPager) GetAllWithContext(ctx context.Context) (allItems []InstanceProfileReference, err error) { + for pager.HasNext() { + var nextPage []InstanceProfileReference + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ImageInstanceProfilesPager) GetNext() (page []InstanceProfileReference, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ImageInstanceProfilesPager) GetAll() (allItems []InstanceProfileReference, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// OperatingSystemsPager can be used to simplify the use of the "ListOperatingSystems" method. +type OperatingSystemsPager struct { + hasNext bool + options *ListOperatingSystemsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewOperatingSystemsPager returns a new OperatingSystemsPager instance. +func (vpc *VpcV1) NewOperatingSystemsPager(options *ListOperatingSystemsOptions) (pager *OperatingSystemsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListOperatingSystemsOptions = *options + pager = &OperatingSystemsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *OperatingSystemsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *OperatingSystemsPager) GetNextWithContext(ctx context.Context) (page []OperatingSystem, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListOperatingSystemsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.OperatingSystems + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *OperatingSystemsPager) GetAllWithContext(ctx context.Context) (allItems []OperatingSystem, err error) { + for pager.HasNext() { + var nextPage []OperatingSystem + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *OperatingSystemsPager) GetNext() (page []OperatingSystem, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *OperatingSystemsPager) GetAll() (allItems []OperatingSystem, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// InstanceGroupsPager can be used to simplify the use of the "ListInstanceGroups" method. +type InstanceGroupsPager struct { + hasNext bool + options *ListInstanceGroupsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewInstanceGroupsPager returns a new InstanceGroupsPager instance. +func (vpc *VpcV1) NewInstanceGroupsPager(options *ListInstanceGroupsOptions) (pager *InstanceGroupsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListInstanceGroupsOptions = *options + pager = &InstanceGroupsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *InstanceGroupsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *InstanceGroupsPager) GetNextWithContext(ctx context.Context) (page []InstanceGroup, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListInstanceGroupsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.InstanceGroups + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *InstanceGroupsPager) GetAllWithContext(ctx context.Context) (allItems []InstanceGroup, err error) { + for pager.HasNext() { + var nextPage []InstanceGroup + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupsPager) GetNext() (page []InstanceGroup, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupsPager) GetAll() (allItems []InstanceGroup, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// InstanceGroupManagersPager can be used to simplify the use of the "ListInstanceGroupManagers" method. +type InstanceGroupManagersPager struct { + hasNext bool + options *ListInstanceGroupManagersOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewInstanceGroupManagersPager returns a new InstanceGroupManagersPager instance. +func (vpc *VpcV1) NewInstanceGroupManagersPager(options *ListInstanceGroupManagersOptions) (pager *InstanceGroupManagersPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListInstanceGroupManagersOptions = *options + pager = &InstanceGroupManagersPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *InstanceGroupManagersPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *InstanceGroupManagersPager) GetNextWithContext(ctx context.Context) (page []InstanceGroupManagerIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListInstanceGroupManagersWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Managers + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *InstanceGroupManagersPager) GetAllWithContext(ctx context.Context) (allItems []InstanceGroupManagerIntf, err error) { + for pager.HasNext() { + var nextPage []InstanceGroupManagerIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupManagersPager) GetNext() (page []InstanceGroupManagerIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupManagersPager) GetAll() (allItems []InstanceGroupManagerIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// InstanceGroupManagerActionsPager can be used to simplify the use of the "ListInstanceGroupManagerActions" method. +type InstanceGroupManagerActionsPager struct { + hasNext bool + options *ListInstanceGroupManagerActionsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewInstanceGroupManagerActionsPager returns a new InstanceGroupManagerActionsPager instance. +func (vpc *VpcV1) NewInstanceGroupManagerActionsPager(options *ListInstanceGroupManagerActionsOptions) (pager *InstanceGroupManagerActionsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListInstanceGroupManagerActionsOptions = *options + pager = &InstanceGroupManagerActionsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *InstanceGroupManagerActionsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *InstanceGroupManagerActionsPager) GetNextWithContext(ctx context.Context) (page []InstanceGroupManagerActionIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListInstanceGroupManagerActionsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Actions + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *InstanceGroupManagerActionsPager) GetAllWithContext(ctx context.Context) (allItems []InstanceGroupManagerActionIntf, err error) { + for pager.HasNext() { + var nextPage []InstanceGroupManagerActionIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupManagerActionsPager) GetNext() (page []InstanceGroupManagerActionIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupManagerActionsPager) GetAll() (allItems []InstanceGroupManagerActionIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// InstanceGroupManagerPoliciesPager can be used to simplify the use of the "ListInstanceGroupManagerPolicies" method. +type InstanceGroupManagerPoliciesPager struct { + hasNext bool + options *ListInstanceGroupManagerPoliciesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewInstanceGroupManagerPoliciesPager returns a new InstanceGroupManagerPoliciesPager instance. +func (vpc *VpcV1) NewInstanceGroupManagerPoliciesPager(options *ListInstanceGroupManagerPoliciesOptions) (pager *InstanceGroupManagerPoliciesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListInstanceGroupManagerPoliciesOptions = *options + pager = &InstanceGroupManagerPoliciesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *InstanceGroupManagerPoliciesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *InstanceGroupManagerPoliciesPager) GetNextWithContext(ctx context.Context) (page []InstanceGroupManagerPolicyIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListInstanceGroupManagerPoliciesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Policies + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *InstanceGroupManagerPoliciesPager) GetAllWithContext(ctx context.Context) (allItems []InstanceGroupManagerPolicyIntf, err error) { + for pager.HasNext() { + var nextPage []InstanceGroupManagerPolicyIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupManagerPoliciesPager) GetNext() (page []InstanceGroupManagerPolicyIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupManagerPoliciesPager) GetAll() (allItems []InstanceGroupManagerPolicyIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// InstanceGroupMembershipsPager can be used to simplify the use of the "ListInstanceGroupMemberships" method. +type InstanceGroupMembershipsPager struct { + hasNext bool + options *ListInstanceGroupMembershipsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewInstanceGroupMembershipsPager returns a new InstanceGroupMembershipsPager instance. +func (vpc *VpcV1) NewInstanceGroupMembershipsPager(options *ListInstanceGroupMembershipsOptions) (pager *InstanceGroupMembershipsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListInstanceGroupMembershipsOptions = *options + pager = &InstanceGroupMembershipsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *InstanceGroupMembershipsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *InstanceGroupMembershipsPager) GetNextWithContext(ctx context.Context) (page []InstanceGroupMembership, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListInstanceGroupMembershipsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Memberships + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *InstanceGroupMembershipsPager) GetAllWithContext(ctx context.Context) (allItems []InstanceGroupMembership, err error) { + for pager.HasNext() { + var nextPage []InstanceGroupMembership + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupMembershipsPager) GetNext() (page []InstanceGroupMembership, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *InstanceGroupMembershipsPager) GetAll() (allItems []InstanceGroupMembership, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// InstancesPager can be used to simplify the use of the "ListInstances" method. +type InstancesPager struct { + hasNext bool + options *ListInstancesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewInstancesPager returns a new InstancesPager instance. +func (vpc *VpcV1) NewInstancesPager(options *ListInstancesOptions) (pager *InstancesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListInstancesOptions = *options + pager = &InstancesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *InstancesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *InstancesPager) GetNextWithContext(ctx context.Context) (page []Instance, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListInstancesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Instances + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *InstancesPager) GetAllWithContext(ctx context.Context) (allItems []Instance, err error) { + for pager.HasNext() { + var nextPage []Instance + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *InstancesPager) GetNext() (page []Instance, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *InstancesPager) GetAll() (allItems []Instance, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// InstanceClusterNetworkAttachmentsPager can be used to simplify the use of the "ListInstanceClusterNetworkAttachments" method. +type InstanceClusterNetworkAttachmentsPager struct { + hasNext bool + options *ListInstanceClusterNetworkAttachmentsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewInstanceClusterNetworkAttachmentsPager returns a new InstanceClusterNetworkAttachmentsPager instance. +func (vpc *VpcV1) NewInstanceClusterNetworkAttachmentsPager(options *ListInstanceClusterNetworkAttachmentsOptions) (pager *InstanceClusterNetworkAttachmentsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListInstanceClusterNetworkAttachmentsOptions = *options + pager = &InstanceClusterNetworkAttachmentsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *InstanceClusterNetworkAttachmentsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *InstanceClusterNetworkAttachmentsPager) GetNextWithContext(ctx context.Context) (page []InstanceClusterNetworkAttachment, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListInstanceClusterNetworkAttachmentsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.ClusterNetworkAttachments + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *InstanceClusterNetworkAttachmentsPager) GetAllWithContext(ctx context.Context) (allItems []InstanceClusterNetworkAttachment, err error) { + for pager.HasNext() { + var nextPage []InstanceClusterNetworkAttachment + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *InstanceClusterNetworkAttachmentsPager) GetNext() (page []InstanceClusterNetworkAttachment, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *InstanceClusterNetworkAttachmentsPager) GetAll() (allItems []InstanceClusterNetworkAttachment, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// InstanceNetworkInterfaceIpsPager can be used to simplify the use of the "ListInstanceNetworkInterfaceIps" method. +type InstanceNetworkInterfaceIpsPager struct { + hasNext bool + options *ListInstanceNetworkInterfaceIpsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewInstanceNetworkInterfaceIpsPager returns a new InstanceNetworkInterfaceIpsPager instance. +func (vpc *VpcV1) NewInstanceNetworkInterfaceIpsPager(options *ListInstanceNetworkInterfaceIpsOptions) (pager *InstanceNetworkInterfaceIpsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListInstanceNetworkInterfaceIpsOptions = *options + pager = &InstanceNetworkInterfaceIpsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *InstanceNetworkInterfaceIpsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *InstanceNetworkInterfaceIpsPager) GetNextWithContext(ctx context.Context) (page []ReservedIP, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListInstanceNetworkInterfaceIpsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Ips + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *InstanceNetworkInterfaceIpsPager) GetAllWithContext(ctx context.Context) (allItems []ReservedIP, err error) { + for pager.HasNext() { + var nextPage []ReservedIP + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *InstanceNetworkInterfaceIpsPager) GetNext() (page []ReservedIP, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *InstanceNetworkInterfaceIpsPager) GetAll() (allItems []ReservedIP, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// KeysPager can be used to simplify the use of the "ListKeys" method. +type KeysPager struct { + hasNext bool + options *ListKeysOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewKeysPager returns a new KeysPager instance. +func (vpc *VpcV1) NewKeysPager(options *ListKeysOptions) (pager *KeysPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListKeysOptions = *options + pager = &KeysPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *KeysPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *KeysPager) GetNextWithContext(ctx context.Context) (page []Key, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListKeysWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Keys + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *KeysPager) GetAllWithContext(ctx context.Context) (allItems []Key, err error) { + for pager.HasNext() { + var nextPage []Key + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *KeysPager) GetNext() (page []Key, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *KeysPager) GetAll() (allItems []Key, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// LoadBalancerProfilesPager can be used to simplify the use of the "ListLoadBalancerProfiles" method. +type LoadBalancerProfilesPager struct { + hasNext bool + options *ListLoadBalancerProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewLoadBalancerProfilesPager returns a new LoadBalancerProfilesPager instance. +func (vpc *VpcV1) NewLoadBalancerProfilesPager(options *ListLoadBalancerProfilesOptions) (pager *LoadBalancerProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListLoadBalancerProfilesOptions = *options + pager = &LoadBalancerProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *LoadBalancerProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *LoadBalancerProfilesPager) GetNextWithContext(ctx context.Context) (page []LoadBalancerProfile, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListLoadBalancerProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Profiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *LoadBalancerProfilesPager) GetAllWithContext(ctx context.Context) (allItems []LoadBalancerProfile, err error) { + for pager.HasNext() { + var nextPage []LoadBalancerProfile + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *LoadBalancerProfilesPager) GetNext() (page []LoadBalancerProfile, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *LoadBalancerProfilesPager) GetAll() (allItems []LoadBalancerProfile, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// LoadBalancersPager can be used to simplify the use of the "ListLoadBalancers" method. +type LoadBalancersPager struct { + hasNext bool + options *ListLoadBalancersOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewLoadBalancersPager returns a new LoadBalancersPager instance. +func (vpc *VpcV1) NewLoadBalancersPager(options *ListLoadBalancersOptions) (pager *LoadBalancersPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListLoadBalancersOptions = *options + pager = &LoadBalancersPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *LoadBalancersPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *LoadBalancersPager) GetNextWithContext(ctx context.Context) (page []LoadBalancer, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListLoadBalancersWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.LoadBalancers + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *LoadBalancersPager) GetAllWithContext(ctx context.Context) (allItems []LoadBalancer, err error) { + for pager.HasNext() { + var nextPage []LoadBalancer + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *LoadBalancersPager) GetNext() (page []LoadBalancer, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *LoadBalancersPager) GetAll() (allItems []LoadBalancer, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// NetworkAclsPager can be used to simplify the use of the "ListNetworkAcls" method. +type NetworkAclsPager struct { + hasNext bool + options *ListNetworkAclsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewNetworkAclsPager returns a new NetworkAclsPager instance. +func (vpc *VpcV1) NewNetworkAclsPager(options *ListNetworkAclsOptions) (pager *NetworkAclsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListNetworkAclsOptions = *options + pager = &NetworkAclsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *NetworkAclsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *NetworkAclsPager) GetNextWithContext(ctx context.Context) (page []NetworkACL, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListNetworkAclsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.NetworkAcls + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *NetworkAclsPager) GetAllWithContext(ctx context.Context) (allItems []NetworkACL, err error) { + for pager.HasNext() { + var nextPage []NetworkACL + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *NetworkAclsPager) GetNext() (page []NetworkACL, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *NetworkAclsPager) GetAll() (allItems []NetworkACL, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// NetworkACLRulesPager can be used to simplify the use of the "ListNetworkACLRules" method. +type NetworkACLRulesPager struct { + hasNext bool + options *ListNetworkACLRulesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewNetworkACLRulesPager returns a new NetworkACLRulesPager instance. +func (vpc *VpcV1) NewNetworkACLRulesPager(options *ListNetworkACLRulesOptions) (pager *NetworkACLRulesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListNetworkACLRulesOptions = *options + pager = &NetworkACLRulesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *NetworkACLRulesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *NetworkACLRulesPager) GetNextWithContext(ctx context.Context) (page []NetworkACLRuleItemIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListNetworkACLRulesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Rules + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *NetworkACLRulesPager) GetAllWithContext(ctx context.Context) (allItems []NetworkACLRuleItemIntf, err error) { + for pager.HasNext() { + var nextPage []NetworkACLRuleItemIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *NetworkACLRulesPager) GetNext() (page []NetworkACLRuleItemIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *NetworkACLRulesPager) GetAll() (allItems []NetworkACLRuleItemIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// PlacementGroupsPager can be used to simplify the use of the "ListPlacementGroups" method. +type PlacementGroupsPager struct { + hasNext bool + options *ListPlacementGroupsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewPlacementGroupsPager returns a new PlacementGroupsPager instance. +func (vpc *VpcV1) NewPlacementGroupsPager(options *ListPlacementGroupsOptions) (pager *PlacementGroupsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListPlacementGroupsOptions = *options + pager = &PlacementGroupsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *PlacementGroupsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *PlacementGroupsPager) GetNextWithContext(ctx context.Context) (page []PlacementGroup, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListPlacementGroupsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.PlacementGroups + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *PlacementGroupsPager) GetAllWithContext(ctx context.Context) (allItems []PlacementGroup, err error) { + for pager.HasNext() { + var nextPage []PlacementGroup + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *PlacementGroupsPager) GetNext() (page []PlacementGroup, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *PlacementGroupsPager) GetAll() (allItems []PlacementGroup, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// PrivatePathServiceGatewaysPager can be used to simplify the use of the "ListPrivatePathServiceGateways" method. +type PrivatePathServiceGatewaysPager struct { + hasNext bool + options *ListPrivatePathServiceGatewaysOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewPrivatePathServiceGatewaysPager returns a new PrivatePathServiceGatewaysPager instance. +func (vpc *VpcV1) NewPrivatePathServiceGatewaysPager(options *ListPrivatePathServiceGatewaysOptions) (pager *PrivatePathServiceGatewaysPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListPrivatePathServiceGatewaysOptions = *options + pager = &PrivatePathServiceGatewaysPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *PrivatePathServiceGatewaysPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *PrivatePathServiceGatewaysPager) GetNextWithContext(ctx context.Context) (page []PrivatePathServiceGateway, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListPrivatePathServiceGatewaysWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.PrivatePathServiceGateways + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *PrivatePathServiceGatewaysPager) GetAllWithContext(ctx context.Context) (allItems []PrivatePathServiceGateway, err error) { + for pager.HasNext() { + var nextPage []PrivatePathServiceGateway + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *PrivatePathServiceGatewaysPager) GetNext() (page []PrivatePathServiceGateway, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *PrivatePathServiceGatewaysPager) GetAll() (allItems []PrivatePathServiceGateway, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// PrivatePathServiceGatewayAccountPoliciesPager can be used to simplify the use of the "ListPrivatePathServiceGatewayAccountPolicies" method. +type PrivatePathServiceGatewayAccountPoliciesPager struct { + hasNext bool + options *ListPrivatePathServiceGatewayAccountPoliciesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewPrivatePathServiceGatewayAccountPoliciesPager returns a new PrivatePathServiceGatewayAccountPoliciesPager instance. +func (vpc *VpcV1) NewPrivatePathServiceGatewayAccountPoliciesPager(options *ListPrivatePathServiceGatewayAccountPoliciesOptions) (pager *PrivatePathServiceGatewayAccountPoliciesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListPrivatePathServiceGatewayAccountPoliciesOptions = *options + pager = &PrivatePathServiceGatewayAccountPoliciesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *PrivatePathServiceGatewayAccountPoliciesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *PrivatePathServiceGatewayAccountPoliciesPager) GetNextWithContext(ctx context.Context) (page []PrivatePathServiceGatewayAccountPolicy, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListPrivatePathServiceGatewayAccountPoliciesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.AccountPolicies + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *PrivatePathServiceGatewayAccountPoliciesPager) GetAllWithContext(ctx context.Context) (allItems []PrivatePathServiceGatewayAccountPolicy, err error) { + for pager.HasNext() { + var nextPage []PrivatePathServiceGatewayAccountPolicy + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *PrivatePathServiceGatewayAccountPoliciesPager) GetNext() (page []PrivatePathServiceGatewayAccountPolicy, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *PrivatePathServiceGatewayAccountPoliciesPager) GetAll() (allItems []PrivatePathServiceGatewayAccountPolicy, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// PrivatePathServiceGatewayEndpointGatewayBindingsPager can be used to simplify the use of the "ListPrivatePathServiceGatewayEndpointGatewayBindings" method. +type PrivatePathServiceGatewayEndpointGatewayBindingsPager struct { + hasNext bool + options *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewPrivatePathServiceGatewayEndpointGatewayBindingsPager returns a new PrivatePathServiceGatewayEndpointGatewayBindingsPager instance. +func (vpc *VpcV1) NewPrivatePathServiceGatewayEndpointGatewayBindingsPager(options *ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions) (pager *PrivatePathServiceGatewayEndpointGatewayBindingsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListPrivatePathServiceGatewayEndpointGatewayBindingsOptions = *options + pager = &PrivatePathServiceGatewayEndpointGatewayBindingsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *PrivatePathServiceGatewayEndpointGatewayBindingsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *PrivatePathServiceGatewayEndpointGatewayBindingsPager) GetNextWithContext(ctx context.Context) (page []PrivatePathServiceGatewayEndpointGatewayBinding, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListPrivatePathServiceGatewayEndpointGatewayBindingsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.EndpointGatewayBindings + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *PrivatePathServiceGatewayEndpointGatewayBindingsPager) GetAllWithContext(ctx context.Context) (allItems []PrivatePathServiceGatewayEndpointGatewayBinding, err error) { + for pager.HasNext() { + var nextPage []PrivatePathServiceGatewayEndpointGatewayBinding + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *PrivatePathServiceGatewayEndpointGatewayBindingsPager) GetNext() (page []PrivatePathServiceGatewayEndpointGatewayBinding, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *PrivatePathServiceGatewayEndpointGatewayBindingsPager) GetAll() (allItems []PrivatePathServiceGatewayEndpointGatewayBinding, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// PublicAddressRangesPager can be used to simplify the use of the "ListPublicAddressRanges" method. +type PublicAddressRangesPager struct { + hasNext bool + options *ListPublicAddressRangesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewPublicAddressRangesPager returns a new PublicAddressRangesPager instance. +func (vpc *VpcV1) NewPublicAddressRangesPager(options *ListPublicAddressRangesOptions) (pager *PublicAddressRangesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListPublicAddressRangesOptions = *options + pager = &PublicAddressRangesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *PublicAddressRangesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *PublicAddressRangesPager) GetNextWithContext(ctx context.Context) (page []PublicAddressRange, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListPublicAddressRangesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.PublicAddressRanges + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *PublicAddressRangesPager) GetAllWithContext(ctx context.Context) (allItems []PublicAddressRange, err error) { + for pager.HasNext() { + var nextPage []PublicAddressRange + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *PublicAddressRangesPager) GetNext() (page []PublicAddressRange, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *PublicAddressRangesPager) GetAll() (allItems []PublicAddressRange, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// PublicGatewaysPager can be used to simplify the use of the "ListPublicGateways" method. +type PublicGatewaysPager struct { + hasNext bool + options *ListPublicGatewaysOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewPublicGatewaysPager returns a new PublicGatewaysPager instance. +func (vpc *VpcV1) NewPublicGatewaysPager(options *ListPublicGatewaysOptions) (pager *PublicGatewaysPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListPublicGatewaysOptions = *options + pager = &PublicGatewaysPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *PublicGatewaysPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *PublicGatewaysPager) GetNextWithContext(ctx context.Context) (page []PublicGateway, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListPublicGatewaysWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.PublicGateways + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *PublicGatewaysPager) GetAllWithContext(ctx context.Context) (allItems []PublicGateway, err error) { + for pager.HasNext() { + var nextPage []PublicGateway + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *PublicGatewaysPager) GetNext() (page []PublicGateway, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *PublicGatewaysPager) GetAll() (allItems []PublicGateway, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ReservationsPager can be used to simplify the use of the "ListReservations" method. +type ReservationsPager struct { + hasNext bool + options *ListReservationsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewReservationsPager returns a new ReservationsPager instance. +func (vpc *VpcV1) NewReservationsPager(options *ListReservationsOptions) (pager *ReservationsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListReservationsOptions = *options + pager = &ReservationsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ReservationsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ReservationsPager) GetNextWithContext(ctx context.Context) (page []Reservation, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListReservationsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Reservations + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ReservationsPager) GetAllWithContext(ctx context.Context) (allItems []Reservation, err error) { + for pager.HasNext() { + var nextPage []Reservation + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ReservationsPager) GetNext() (page []Reservation, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ReservationsPager) GetAll() (allItems []Reservation, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SecurityGroupsPager can be used to simplify the use of the "ListSecurityGroups" method. +type SecurityGroupsPager struct { + hasNext bool + options *ListSecurityGroupsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewSecurityGroupsPager returns a new SecurityGroupsPager instance. +func (vpc *VpcV1) NewSecurityGroupsPager(options *ListSecurityGroupsOptions) (pager *SecurityGroupsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListSecurityGroupsOptions = *options + pager = &SecurityGroupsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *SecurityGroupsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *SecurityGroupsPager) GetNextWithContext(ctx context.Context) (page []SecurityGroup, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListSecurityGroupsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.SecurityGroups + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *SecurityGroupsPager) GetAllWithContext(ctx context.Context) (allItems []SecurityGroup, err error) { + for pager.HasNext() { + var nextPage []SecurityGroup + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *SecurityGroupsPager) GetNext() (page []SecurityGroup, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *SecurityGroupsPager) GetAll() (allItems []SecurityGroup, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SecurityGroupTargetsPager can be used to simplify the use of the "ListSecurityGroupTargets" method. +type SecurityGroupTargetsPager struct { + hasNext bool + options *ListSecurityGroupTargetsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewSecurityGroupTargetsPager returns a new SecurityGroupTargetsPager instance. +func (vpc *VpcV1) NewSecurityGroupTargetsPager(options *ListSecurityGroupTargetsOptions) (pager *SecurityGroupTargetsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListSecurityGroupTargetsOptions = *options + pager = &SecurityGroupTargetsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *SecurityGroupTargetsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *SecurityGroupTargetsPager) GetNextWithContext(ctx context.Context) (page []SecurityGroupTargetReferenceIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListSecurityGroupTargetsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Targets + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *SecurityGroupTargetsPager) GetAllWithContext(ctx context.Context) (allItems []SecurityGroupTargetReferenceIntf, err error) { + for pager.HasNext() { + var nextPage []SecurityGroupTargetReferenceIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *SecurityGroupTargetsPager) GetNext() (page []SecurityGroupTargetReferenceIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *SecurityGroupTargetsPager) GetAll() (allItems []SecurityGroupTargetReferenceIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ShareProfilesPager can be used to simplify the use of the "ListShareProfiles" method. +type ShareProfilesPager struct { + hasNext bool + options *ListShareProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewShareProfilesPager returns a new ShareProfilesPager instance. +func (vpc *VpcV1) NewShareProfilesPager(options *ListShareProfilesOptions) (pager *ShareProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListShareProfilesOptions = *options + pager = &ShareProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ShareProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ShareProfilesPager) GetNextWithContext(ctx context.Context) (page []ShareProfile, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListShareProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Profiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ShareProfilesPager) GetAllWithContext(ctx context.Context) (allItems []ShareProfile, err error) { + for pager.HasNext() { + var nextPage []ShareProfile + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ShareProfilesPager) GetNext() (page []ShareProfile, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ShareProfilesPager) GetAll() (allItems []ShareProfile, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SharesPager can be used to simplify the use of the "ListShares" method. +type SharesPager struct { + hasNext bool + options *ListSharesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewSharesPager returns a new SharesPager instance. +func (vpc *VpcV1) NewSharesPager(options *ListSharesOptions) (pager *SharesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListSharesOptions = *options + pager = &SharesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *SharesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *SharesPager) GetNextWithContext(ctx context.Context) (page []Share, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListSharesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Shares + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *SharesPager) GetAllWithContext(ctx context.Context) (allItems []Share, err error) { + for pager.HasNext() { + var nextPage []Share + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *SharesPager) GetNext() (page []Share, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *SharesPager) GetAll() (allItems []Share, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ShareAccessorBindingsPager can be used to simplify the use of the "ListShareAccessorBindings" method. +type ShareAccessorBindingsPager struct { + hasNext bool + options *ListShareAccessorBindingsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewShareAccessorBindingsPager returns a new ShareAccessorBindingsPager instance. +func (vpc *VpcV1) NewShareAccessorBindingsPager(options *ListShareAccessorBindingsOptions) (pager *ShareAccessorBindingsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListShareAccessorBindingsOptions = *options + pager = &ShareAccessorBindingsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ShareAccessorBindingsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ShareAccessorBindingsPager) GetNextWithContext(ctx context.Context) (page []ShareAccessorBinding, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListShareAccessorBindingsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.AccessorBindings + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ShareAccessorBindingsPager) GetAllWithContext(ctx context.Context) (allItems []ShareAccessorBinding, err error) { + for pager.HasNext() { + var nextPage []ShareAccessorBinding + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ShareAccessorBindingsPager) GetNext() (page []ShareAccessorBinding, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ShareAccessorBindingsPager) GetAll() (allItems []ShareAccessorBinding, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ShareMountTargetsPager can be used to simplify the use of the "ListShareMountTargets" method. +type ShareMountTargetsPager struct { + hasNext bool + options *ListShareMountTargetsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewShareMountTargetsPager returns a new ShareMountTargetsPager instance. +func (vpc *VpcV1) NewShareMountTargetsPager(options *ListShareMountTargetsOptions) (pager *ShareMountTargetsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListShareMountTargetsOptions = *options + pager = &ShareMountTargetsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ShareMountTargetsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ShareMountTargetsPager) GetNextWithContext(ctx context.Context) (page []ShareMountTarget, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListShareMountTargetsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.MountTargets + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ShareMountTargetsPager) GetAllWithContext(ctx context.Context) (allItems []ShareMountTarget, err error) { + for pager.HasNext() { + var nextPage []ShareMountTarget + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ShareMountTargetsPager) GetNext() (page []ShareMountTarget, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ShareMountTargetsPager) GetAll() (allItems []ShareMountTarget, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// ShareSnapshotsPager can be used to simplify the use of the "ListShareSnapshots" method. +type ShareSnapshotsPager struct { + hasNext bool + options *ListShareSnapshotsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewShareSnapshotsPager returns a new ShareSnapshotsPager instance. +func (vpc *VpcV1) NewShareSnapshotsPager(options *ListShareSnapshotsOptions) (pager *ShareSnapshotsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListShareSnapshotsOptions = *options + pager = &ShareSnapshotsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *ShareSnapshotsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *ShareSnapshotsPager) GetNextWithContext(ctx context.Context) (page []ShareSnapshot, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListShareSnapshotsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Snapshots + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *ShareSnapshotsPager) GetAllWithContext(ctx context.Context) (allItems []ShareSnapshot, err error) { + for pager.HasNext() { + var nextPage []ShareSnapshot + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *ShareSnapshotsPager) GetNext() (page []ShareSnapshot, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *ShareSnapshotsPager) GetAll() (allItems []ShareSnapshot, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SnapshotConsistencyGroupsPager can be used to simplify the use of the "ListSnapshotConsistencyGroups" method. +type SnapshotConsistencyGroupsPager struct { + hasNext bool + options *ListSnapshotConsistencyGroupsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewSnapshotConsistencyGroupsPager returns a new SnapshotConsistencyGroupsPager instance. +func (vpc *VpcV1) NewSnapshotConsistencyGroupsPager(options *ListSnapshotConsistencyGroupsOptions) (pager *SnapshotConsistencyGroupsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListSnapshotConsistencyGroupsOptions = *options + pager = &SnapshotConsistencyGroupsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *SnapshotConsistencyGroupsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *SnapshotConsistencyGroupsPager) GetNextWithContext(ctx context.Context) (page []SnapshotConsistencyGroup, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListSnapshotConsistencyGroupsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.SnapshotConsistencyGroups + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *SnapshotConsistencyGroupsPager) GetAllWithContext(ctx context.Context) (allItems []SnapshotConsistencyGroup, err error) { + for pager.HasNext() { + var nextPage []SnapshotConsistencyGroup + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *SnapshotConsistencyGroupsPager) GetNext() (page []SnapshotConsistencyGroup, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *SnapshotConsistencyGroupsPager) GetAll() (allItems []SnapshotConsistencyGroup, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SnapshotsPager can be used to simplify the use of the "ListSnapshots" method. +type SnapshotsPager struct { + hasNext bool + options *ListSnapshotsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewSnapshotsPager returns a new SnapshotsPager instance. +func (vpc *VpcV1) NewSnapshotsPager(options *ListSnapshotsOptions) (pager *SnapshotsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListSnapshotsOptions = *options + pager = &SnapshotsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *SnapshotsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *SnapshotsPager) GetNextWithContext(ctx context.Context) (page []Snapshot, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListSnapshotsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Snapshots + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *SnapshotsPager) GetAllWithContext(ctx context.Context) (allItems []Snapshot, err error) { + for pager.HasNext() { + var nextPage []Snapshot + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *SnapshotsPager) GetNext() (page []Snapshot, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *SnapshotsPager) GetAll() (allItems []Snapshot, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SnapshotInstanceProfilesPager can be used to simplify the use of the "ListSnapshotInstanceProfiles" method. +type SnapshotInstanceProfilesPager struct { + hasNext bool + options *ListSnapshotInstanceProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewSnapshotInstanceProfilesPager returns a new SnapshotInstanceProfilesPager instance. +func (vpc *VpcV1) NewSnapshotInstanceProfilesPager(options *ListSnapshotInstanceProfilesOptions) (pager *SnapshotInstanceProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListSnapshotInstanceProfilesOptions = *options + pager = &SnapshotInstanceProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *SnapshotInstanceProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *SnapshotInstanceProfilesPager) GetNextWithContext(ctx context.Context) (page []InstanceProfileReference, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListSnapshotInstanceProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.InstanceProfiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *SnapshotInstanceProfilesPager) GetAllWithContext(ctx context.Context) (allItems []InstanceProfileReference, err error) { + for pager.HasNext() { + var nextPage []InstanceProfileReference + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *SnapshotInstanceProfilesPager) GetNext() (page []InstanceProfileReference, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *SnapshotInstanceProfilesPager) GetAll() (allItems []InstanceProfileReference, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SubnetsPager can be used to simplify the use of the "ListSubnets" method. +type SubnetsPager struct { + hasNext bool + options *ListSubnetsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewSubnetsPager returns a new SubnetsPager instance. +func (vpc *VpcV1) NewSubnetsPager(options *ListSubnetsOptions) (pager *SubnetsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListSubnetsOptions = *options + pager = &SubnetsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *SubnetsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *SubnetsPager) GetNextWithContext(ctx context.Context) (page []Subnet, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListSubnetsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Subnets + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *SubnetsPager) GetAllWithContext(ctx context.Context) (allItems []Subnet, err error) { + for pager.HasNext() { + var nextPage []Subnet + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *SubnetsPager) GetNext() (page []Subnet, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *SubnetsPager) GetAll() (allItems []Subnet, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// SubnetReservedIpsPager can be used to simplify the use of the "ListSubnetReservedIps" method. +type SubnetReservedIpsPager struct { + hasNext bool + options *ListSubnetReservedIpsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewSubnetReservedIpsPager returns a new SubnetReservedIpsPager instance. +func (vpc *VpcV1) NewSubnetReservedIpsPager(options *ListSubnetReservedIpsOptions) (pager *SubnetReservedIpsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListSubnetReservedIpsOptions = *options + pager = &SubnetReservedIpsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *SubnetReservedIpsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *SubnetReservedIpsPager) GetNextWithContext(ctx context.Context) (page []ReservedIP, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListSubnetReservedIpsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.ReservedIps + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *SubnetReservedIpsPager) GetAllWithContext(ctx context.Context) (allItems []ReservedIP, err error) { + for pager.HasNext() { + var nextPage []ReservedIP + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *SubnetReservedIpsPager) GetNext() (page []ReservedIP, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *SubnetReservedIpsPager) GetAll() (allItems []ReservedIP, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VirtualNetworkInterfacesPager can be used to simplify the use of the "ListVirtualNetworkInterfaces" method. +type VirtualNetworkInterfacesPager struct { + hasNext bool + options *ListVirtualNetworkInterfacesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVirtualNetworkInterfacesPager returns a new VirtualNetworkInterfacesPager instance. +func (vpc *VpcV1) NewVirtualNetworkInterfacesPager(options *ListVirtualNetworkInterfacesOptions) (pager *VirtualNetworkInterfacesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVirtualNetworkInterfacesOptions = *options + pager = &VirtualNetworkInterfacesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VirtualNetworkInterfacesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VirtualNetworkInterfacesPager) GetNextWithContext(ctx context.Context) (page []VirtualNetworkInterface, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVirtualNetworkInterfacesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.VirtualNetworkInterfaces + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VirtualNetworkInterfacesPager) GetAllWithContext(ctx context.Context) (allItems []VirtualNetworkInterface, err error) { + for pager.HasNext() { + var nextPage []VirtualNetworkInterface + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VirtualNetworkInterfacesPager) GetNext() (page []VirtualNetworkInterface, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VirtualNetworkInterfacesPager) GetAll() (allItems []VirtualNetworkInterface, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// NetworkInterfaceFloatingIpsPager can be used to simplify the use of the "ListNetworkInterfaceFloatingIps" method. +type NetworkInterfaceFloatingIpsPager struct { + hasNext bool + options *ListNetworkInterfaceFloatingIpsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewNetworkInterfaceFloatingIpsPager returns a new NetworkInterfaceFloatingIpsPager instance. +func (vpc *VpcV1) NewNetworkInterfaceFloatingIpsPager(options *ListNetworkInterfaceFloatingIpsOptions) (pager *NetworkInterfaceFloatingIpsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListNetworkInterfaceFloatingIpsOptions = *options + pager = &NetworkInterfaceFloatingIpsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *NetworkInterfaceFloatingIpsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *NetworkInterfaceFloatingIpsPager) GetNextWithContext(ctx context.Context) (page []FloatingIPReference, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListNetworkInterfaceFloatingIpsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.FloatingIps + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *NetworkInterfaceFloatingIpsPager) GetAllWithContext(ctx context.Context) (allItems []FloatingIPReference, err error) { + for pager.HasNext() { + var nextPage []FloatingIPReference + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *NetworkInterfaceFloatingIpsPager) GetNext() (page []FloatingIPReference, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *NetworkInterfaceFloatingIpsPager) GetAll() (allItems []FloatingIPReference, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VirtualNetworkInterfaceIpsPager can be used to simplify the use of the "ListVirtualNetworkInterfaceIps" method. +type VirtualNetworkInterfaceIpsPager struct { + hasNext bool + options *ListVirtualNetworkInterfaceIpsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVirtualNetworkInterfaceIpsPager returns a new VirtualNetworkInterfaceIpsPager instance. +func (vpc *VpcV1) NewVirtualNetworkInterfaceIpsPager(options *ListVirtualNetworkInterfaceIpsOptions) (pager *VirtualNetworkInterfaceIpsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVirtualNetworkInterfaceIpsOptions = *options + pager = &VirtualNetworkInterfaceIpsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VirtualNetworkInterfaceIpsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VirtualNetworkInterfaceIpsPager) GetNextWithContext(ctx context.Context) (page []ReservedIPReference, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVirtualNetworkInterfaceIpsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Ips + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VirtualNetworkInterfaceIpsPager) GetAllWithContext(ctx context.Context) (allItems []ReservedIPReference, err error) { + for pager.HasNext() { + var nextPage []ReservedIPReference + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VirtualNetworkInterfaceIpsPager) GetNext() (page []ReservedIPReference, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VirtualNetworkInterfaceIpsPager) GetAll() (allItems []ReservedIPReference, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VolumeProfilesPager can be used to simplify the use of the "ListVolumeProfiles" method. +type VolumeProfilesPager struct { + hasNext bool + options *ListVolumeProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVolumeProfilesPager returns a new VolumeProfilesPager instance. +func (vpc *VpcV1) NewVolumeProfilesPager(options *ListVolumeProfilesOptions) (pager *VolumeProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVolumeProfilesOptions = *options + pager = &VolumeProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VolumeProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VolumeProfilesPager) GetNextWithContext(ctx context.Context) (page []VolumeProfile, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVolumeProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Profiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VolumeProfilesPager) GetAllWithContext(ctx context.Context) (allItems []VolumeProfile, err error) { + for pager.HasNext() { + var nextPage []VolumeProfile + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VolumeProfilesPager) GetNext() (page []VolumeProfile, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VolumeProfilesPager) GetAll() (allItems []VolumeProfile, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VolumesPager can be used to simplify the use of the "ListVolumes" method. +type VolumesPager struct { + hasNext bool + options *ListVolumesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVolumesPager returns a new VolumesPager instance. +func (vpc *VpcV1) NewVolumesPager(options *ListVolumesOptions) (pager *VolumesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVolumesOptions = *options + pager = &VolumesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VolumesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VolumesPager) GetNextWithContext(ctx context.Context) (page []Volume, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVolumesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Volumes + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VolumesPager) GetAllWithContext(ctx context.Context) (allItems []Volume, err error) { + for pager.HasNext() { + var nextPage []Volume + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VolumesPager) GetNext() (page []Volume, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VolumesPager) GetAll() (allItems []Volume, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VolumeInstanceProfilesPager can be used to simplify the use of the "ListVolumeInstanceProfiles" method. +type VolumeInstanceProfilesPager struct { + hasNext bool + options *ListVolumeInstanceProfilesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVolumeInstanceProfilesPager returns a new VolumeInstanceProfilesPager instance. +func (vpc *VpcV1) NewVolumeInstanceProfilesPager(options *ListVolumeInstanceProfilesOptions) (pager *VolumeInstanceProfilesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVolumeInstanceProfilesOptions = *options + pager = &VolumeInstanceProfilesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VolumeInstanceProfilesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VolumeInstanceProfilesPager) GetNextWithContext(ctx context.Context) (page []InstanceProfileReference, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVolumeInstanceProfilesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.InstanceProfiles + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VolumeInstanceProfilesPager) GetAllWithContext(ctx context.Context) (allItems []InstanceProfileReference, err error) { + for pager.HasNext() { + var nextPage []InstanceProfileReference + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VolumeInstanceProfilesPager) GetNext() (page []InstanceProfileReference, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VolumeInstanceProfilesPager) GetAll() (allItems []InstanceProfileReference, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VpcsPager can be used to simplify the use of the "ListVpcs" method. +type VpcsPager struct { + hasNext bool + options *ListVpcsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVpcsPager returns a new VpcsPager instance. +func (vpc *VpcV1) NewVpcsPager(options *ListVpcsOptions) (pager *VpcsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVpcsOptions = *options + pager = &VpcsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VpcsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VpcsPager) GetNextWithContext(ctx context.Context) (page []VPC, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVpcsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Vpcs + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VpcsPager) GetAllWithContext(ctx context.Context) (allItems []VPC, err error) { + for pager.HasNext() { + var nextPage []VPC + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VpcsPager) GetNext() (page []VPC, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VpcsPager) GetAll() (allItems []VPC, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPCAddressPrefixesPager can be used to simplify the use of the "ListVPCAddressPrefixes" method. +type VPCAddressPrefixesPager struct { + hasNext bool + options *ListVPCAddressPrefixesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPCAddressPrefixesPager returns a new VPCAddressPrefixesPager instance. +func (vpc *VpcV1) NewVPCAddressPrefixesPager(options *ListVPCAddressPrefixesOptions) (pager *VPCAddressPrefixesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPCAddressPrefixesOptions = *options + pager = &VPCAddressPrefixesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPCAddressPrefixesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPCAddressPrefixesPager) GetNextWithContext(ctx context.Context) (page []AddressPrefix, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPCAddressPrefixesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.AddressPrefixes + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPCAddressPrefixesPager) GetAllWithContext(ctx context.Context) (allItems []AddressPrefix, err error) { + for pager.HasNext() { + var nextPage []AddressPrefix + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPCAddressPrefixesPager) GetNext() (page []AddressPrefix, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPCAddressPrefixesPager) GetAll() (allItems []AddressPrefix, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPCDnsResolutionBindingsPager can be used to simplify the use of the "ListVPCDnsResolutionBindings" method. +type VPCDnsResolutionBindingsPager struct { + hasNext bool + options *ListVPCDnsResolutionBindingsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPCDnsResolutionBindingsPager returns a new VPCDnsResolutionBindingsPager instance. +func (vpc *VpcV1) NewVPCDnsResolutionBindingsPager(options *ListVPCDnsResolutionBindingsOptions) (pager *VPCDnsResolutionBindingsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPCDnsResolutionBindingsOptions = *options + pager = &VPCDnsResolutionBindingsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPCDnsResolutionBindingsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPCDnsResolutionBindingsPager) GetNextWithContext(ctx context.Context) (page []VpcdnsResolutionBinding, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPCDnsResolutionBindingsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.DnsResolutionBindings + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPCDnsResolutionBindingsPager) GetAllWithContext(ctx context.Context) (allItems []VpcdnsResolutionBinding, err error) { + for pager.HasNext() { + var nextPage []VpcdnsResolutionBinding + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPCDnsResolutionBindingsPager) GetNext() (page []VpcdnsResolutionBinding, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPCDnsResolutionBindingsPager) GetAll() (allItems []VpcdnsResolutionBinding, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPCRoutesPager can be used to simplify the use of the "ListVPCRoutes" method. +type VPCRoutesPager struct { + hasNext bool + options *ListVPCRoutesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPCRoutesPager returns a new VPCRoutesPager instance. +func (vpc *VpcV1) NewVPCRoutesPager(options *ListVPCRoutesOptions) (pager *VPCRoutesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPCRoutesOptions = *options + pager = &VPCRoutesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPCRoutesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPCRoutesPager) GetNextWithContext(ctx context.Context) (page []Route, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPCRoutesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Routes + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPCRoutesPager) GetAllWithContext(ctx context.Context) (allItems []Route, err error) { + for pager.HasNext() { + var nextPage []Route + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPCRoutesPager) GetNext() (page []Route, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPCRoutesPager) GetAll() (allItems []Route, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPCRoutingTablesPager can be used to simplify the use of the "ListVPCRoutingTables" method. +type VPCRoutingTablesPager struct { + hasNext bool + options *ListVPCRoutingTablesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPCRoutingTablesPager returns a new VPCRoutingTablesPager instance. +func (vpc *VpcV1) NewVPCRoutingTablesPager(options *ListVPCRoutingTablesOptions) (pager *VPCRoutingTablesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPCRoutingTablesOptions = *options + pager = &VPCRoutingTablesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPCRoutingTablesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPCRoutingTablesPager) GetNextWithContext(ctx context.Context) (page []RoutingTable, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPCRoutingTablesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.RoutingTables + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPCRoutingTablesPager) GetAllWithContext(ctx context.Context) (allItems []RoutingTable, err error) { + for pager.HasNext() { + var nextPage []RoutingTable + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPCRoutingTablesPager) GetNext() (page []RoutingTable, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPCRoutingTablesPager) GetAll() (allItems []RoutingTable, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPCRoutingTableRoutesPager can be used to simplify the use of the "ListVPCRoutingTableRoutes" method. +type VPCRoutingTableRoutesPager struct { + hasNext bool + options *ListVPCRoutingTableRoutesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPCRoutingTableRoutesPager returns a new VPCRoutingTableRoutesPager instance. +func (vpc *VpcV1) NewVPCRoutingTableRoutesPager(options *ListVPCRoutingTableRoutesOptions) (pager *VPCRoutingTableRoutesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPCRoutingTableRoutesOptions = *options + pager = &VPCRoutingTableRoutesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPCRoutingTableRoutesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPCRoutingTableRoutesPager) GetNextWithContext(ctx context.Context) (page []Route, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPCRoutingTableRoutesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Routes + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPCRoutingTableRoutesPager) GetAllWithContext(ctx context.Context) (allItems []Route, err error) { + for pager.HasNext() { + var nextPage []Route + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPCRoutingTableRoutesPager) GetNext() (page []Route, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPCRoutingTableRoutesPager) GetAll() (allItems []Route, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// IkePoliciesPager can be used to simplify the use of the "ListIkePolicies" method. +type IkePoliciesPager struct { + hasNext bool + options *ListIkePoliciesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewIkePoliciesPager returns a new IkePoliciesPager instance. +func (vpc *VpcV1) NewIkePoliciesPager(options *ListIkePoliciesOptions) (pager *IkePoliciesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListIkePoliciesOptions = *options + pager = &IkePoliciesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *IkePoliciesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *IkePoliciesPager) GetNextWithContext(ctx context.Context) (page []IkePolicy, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListIkePoliciesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.IkePolicies + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *IkePoliciesPager) GetAllWithContext(ctx context.Context) (allItems []IkePolicy, err error) { + for pager.HasNext() { + var nextPage []IkePolicy + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *IkePoliciesPager) GetNext() (page []IkePolicy, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *IkePoliciesPager) GetAll() (allItems []IkePolicy, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// IkePolicyConnectionsPager can be used to simplify the use of the "ListIkePolicyConnections" method. +type IkePolicyConnectionsPager struct { + hasNext bool + options *ListIkePolicyConnectionsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewIkePolicyConnectionsPager returns a new IkePolicyConnectionsPager instance. +func (vpc *VpcV1) NewIkePolicyConnectionsPager(options *ListIkePolicyConnectionsOptions) (pager *IkePolicyConnectionsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListIkePolicyConnectionsOptions = *options + pager = &IkePolicyConnectionsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *IkePolicyConnectionsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *IkePolicyConnectionsPager) GetNextWithContext(ctx context.Context) (page []VPNGatewayConnectionIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListIkePolicyConnectionsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Connections + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *IkePolicyConnectionsPager) GetAllWithContext(ctx context.Context) (allItems []VPNGatewayConnectionIntf, err error) { + for pager.HasNext() { + var nextPage []VPNGatewayConnectionIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *IkePolicyConnectionsPager) GetNext() (page []VPNGatewayConnectionIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *IkePolicyConnectionsPager) GetAll() (allItems []VPNGatewayConnectionIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// IpsecPoliciesPager can be used to simplify the use of the "ListIpsecPolicies" method. +type IpsecPoliciesPager struct { + hasNext bool + options *ListIpsecPoliciesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewIpsecPoliciesPager returns a new IpsecPoliciesPager instance. +func (vpc *VpcV1) NewIpsecPoliciesPager(options *ListIpsecPoliciesOptions) (pager *IpsecPoliciesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListIpsecPoliciesOptions = *options + pager = &IpsecPoliciesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *IpsecPoliciesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *IpsecPoliciesPager) GetNextWithContext(ctx context.Context) (page []IPsecPolicy, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListIpsecPoliciesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.IpsecPolicies + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *IpsecPoliciesPager) GetAllWithContext(ctx context.Context) (allItems []IPsecPolicy, err error) { + for pager.HasNext() { + var nextPage []IPsecPolicy + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *IpsecPoliciesPager) GetNext() (page []IPsecPolicy, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *IpsecPoliciesPager) GetAll() (allItems []IPsecPolicy, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// IpsecPolicyConnectionsPager can be used to simplify the use of the "ListIpsecPolicyConnections" method. +type IpsecPolicyConnectionsPager struct { + hasNext bool + options *ListIpsecPolicyConnectionsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewIpsecPolicyConnectionsPager returns a new IpsecPolicyConnectionsPager instance. +func (vpc *VpcV1) NewIpsecPolicyConnectionsPager(options *ListIpsecPolicyConnectionsOptions) (pager *IpsecPolicyConnectionsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListIpsecPolicyConnectionsOptions = *options + pager = &IpsecPolicyConnectionsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *IpsecPolicyConnectionsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *IpsecPolicyConnectionsPager) GetNextWithContext(ctx context.Context) (page []VPNGatewayConnectionIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListIpsecPolicyConnectionsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Connections + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *IpsecPolicyConnectionsPager) GetAllWithContext(ctx context.Context) (allItems []VPNGatewayConnectionIntf, err error) { + for pager.HasNext() { + var nextPage []VPNGatewayConnectionIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *IpsecPolicyConnectionsPager) GetNext() (page []VPNGatewayConnectionIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *IpsecPolicyConnectionsPager) GetAll() (allItems []VPNGatewayConnectionIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPNGatewaysPager can be used to simplify the use of the "ListVPNGateways" method. +type VPNGatewaysPager struct { + hasNext bool + options *ListVPNGatewaysOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPNGatewaysPager returns a new VPNGatewaysPager instance. +func (vpc *VpcV1) NewVPNGatewaysPager(options *ListVPNGatewaysOptions) (pager *VPNGatewaysPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPNGatewaysOptions = *options + pager = &VPNGatewaysPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPNGatewaysPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPNGatewaysPager) GetNextWithContext(ctx context.Context) (page []VPNGatewayIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPNGatewaysWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.VPNGateways + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPNGatewaysPager) GetAllWithContext(ctx context.Context) (allItems []VPNGatewayIntf, err error) { + for pager.HasNext() { + var nextPage []VPNGatewayIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPNGatewaysPager) GetNext() (page []VPNGatewayIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPNGatewaysPager) GetAll() (allItems []VPNGatewayIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPNGatewayConnectionsPager can be used to simplify the use of the "ListVPNGatewayConnections" method. +type VPNGatewayConnectionsPager struct { + hasNext bool + options *ListVPNGatewayConnectionsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPNGatewayConnectionsPager returns a new VPNGatewayConnectionsPager instance. +func (vpc *VpcV1) NewVPNGatewayConnectionsPager(options *ListVPNGatewayConnectionsOptions) (pager *VPNGatewayConnectionsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPNGatewayConnectionsOptions = *options + pager = &VPNGatewayConnectionsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPNGatewayConnectionsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPNGatewayConnectionsPager) GetNextWithContext(ctx context.Context) (page []VPNGatewayConnectionIntf, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPNGatewayConnectionsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Connections + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPNGatewayConnectionsPager) GetAllWithContext(ctx context.Context) (allItems []VPNGatewayConnectionIntf, err error) { + for pager.HasNext() { + var nextPage []VPNGatewayConnectionIntf + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPNGatewayConnectionsPager) GetNext() (page []VPNGatewayConnectionIntf, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPNGatewayConnectionsPager) GetAll() (allItems []VPNGatewayConnectionIntf, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPNGatewayServiceConnectionsPager can be used to simplify the use of the "ListVPNGatewayServiceConnections" method. +type VPNGatewayServiceConnectionsPager struct { + hasNext bool + options *ListVPNGatewayServiceConnectionsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPNGatewayServiceConnectionsPager returns a new VPNGatewayServiceConnectionsPager instance. +func (vpc *VpcV1) NewVPNGatewayServiceConnectionsPager(options *ListVPNGatewayServiceConnectionsOptions) (pager *VPNGatewayServiceConnectionsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPNGatewayServiceConnectionsOptions = *options + pager = &VPNGatewayServiceConnectionsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPNGatewayServiceConnectionsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPNGatewayServiceConnectionsPager) GetNextWithContext(ctx context.Context) (page []VPNGatewayServiceConnection, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPNGatewayServiceConnectionsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.ServiceConnections + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPNGatewayServiceConnectionsPager) GetAllWithContext(ctx context.Context) (allItems []VPNGatewayServiceConnection, err error) { + for pager.HasNext() { + var nextPage []VPNGatewayServiceConnection + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPNGatewayServiceConnectionsPager) GetNext() (page []VPNGatewayServiceConnection, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPNGatewayServiceConnectionsPager) GetAll() (allItems []VPNGatewayServiceConnection, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPNServersPager can be used to simplify the use of the "ListVPNServers" method. +type VPNServersPager struct { + hasNext bool + options *ListVPNServersOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPNServersPager returns a new VPNServersPager instance. +func (vpc *VpcV1) NewVPNServersPager(options *ListVPNServersOptions) (pager *VPNServersPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPNServersOptions = *options + pager = &VPNServersPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPNServersPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPNServersPager) GetNextWithContext(ctx context.Context) (page []VPNServer, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPNServersWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.VPNServers + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPNServersPager) GetAllWithContext(ctx context.Context) (allItems []VPNServer, err error) { + for pager.HasNext() { + var nextPage []VPNServer + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPNServersPager) GetNext() (page []VPNServer, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPNServersPager) GetAll() (allItems []VPNServer, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPNServerClientsPager can be used to simplify the use of the "ListVPNServerClients" method. +type VPNServerClientsPager struct { + hasNext bool + options *ListVPNServerClientsOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPNServerClientsPager returns a new VPNServerClientsPager instance. +func (vpc *VpcV1) NewVPNServerClientsPager(options *ListVPNServerClientsOptions) (pager *VPNServerClientsPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPNServerClientsOptions = *options + pager = &VPNServerClientsPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPNServerClientsPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPNServerClientsPager) GetNextWithContext(ctx context.Context) (page []VPNServerClient, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPNServerClientsWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Clients + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPNServerClientsPager) GetAllWithContext(ctx context.Context) (allItems []VPNServerClient, err error) { + for pager.HasNext() { + var nextPage []VPNServerClient + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPNServerClientsPager) GetNext() (page []VPNServerClient, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPNServerClientsPager) GetAll() (allItems []VPNServerClient, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// VPNServerRoutesPager can be used to simplify the use of the "ListVPNServerRoutes" method. +type VPNServerRoutesPager struct { + hasNext bool + options *ListVPNServerRoutesOptions + client *VpcV1 + pageContext struct { + next *string + } +} + +// NewVPNServerRoutesPager returns a new VPNServerRoutesPager instance. +func (vpc *VpcV1) NewVPNServerRoutesPager(options *ListVPNServerRoutesOptions) (pager *VPNServerRoutesPager, err error) { + if options.Start != nil && *options.Start != "" { + err = core.SDKErrorf(nil, "the 'options.Start' field should not be set", "no-query-setting", common.GetComponentInfo()) + return + } + + var optionsCopy ListVPNServerRoutesOptions = *options + pager = &VPNServerRoutesPager{ + hasNext: true, + options: &optionsCopy, + client: vpc, + } + return +} + +// HasNext returns true if there are potentially more results to be retrieved. +func (pager *VPNServerRoutesPager) HasNext() bool { + return pager.hasNext +} + +// GetNextWithContext returns the next page of results using the specified Context. +func (pager *VPNServerRoutesPager) GetNextWithContext(ctx context.Context) (page []VPNServerRoute, err error) { + if !pager.HasNext() { + return nil, fmt.Errorf("no more results available") + } + + pager.options.Start = pager.pageContext.next + + result, _, err := pager.client.ListVPNServerRoutesWithContext(ctx, pager.options) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + + var next *string + if result.Next != nil { + var start *string + start, err = core.GetQueryParam(result.Next.Href, "start") + if err != nil { + errMsg := fmt.Sprintf("error retrieving 'start' query parameter from URL '%s': %s", *result.Next.Href, err.Error()) + err = core.SDKErrorf(err, errMsg, "get-query-error", common.GetComponentInfo()) + return + } + next = start + } + pager.pageContext.next = next + pager.hasNext = (pager.pageContext.next != nil) + page = result.Routes + + return +} + +// GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly +// until all pages of results have been retrieved. +func (pager *VPNServerRoutesPager) GetAllWithContext(ctx context.Context) (allItems []VPNServerRoute, err error) { + for pager.HasNext() { + var nextPage []VPNServerRoute + nextPage, err = pager.GetNextWithContext(ctx) + if err != nil { + err = core.RepurposeSDKProblem(err, "error-getting-next-page") + return + } + allItems = append(allItems, nextPage...) + } + return +} + +// GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. +func (pager *VPNServerRoutesPager) GetNext() (page []VPNServerRoute, err error) { + page, err = pager.GetNextWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} + +// GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. +func (pager *VPNServerRoutesPager) GetAll() (allItems []VPNServerRoute, err error) { + allItems, err = pager.GetAllWithContext(context.Background()) + err = core.RepurposeSDKProblem(err, "") + return +} diff --git a/vendor/github.com/go-logr/logr/.golangci.yaml b/vendor/github.com/go-logr/logr/.golangci.yaml new file mode 100644 index 000000000..0ed62c1a1 --- /dev/null +++ b/vendor/github.com/go-logr/logr/.golangci.yaml @@ -0,0 +1,28 @@ +version: "2" + +run: + timeout: 1m + tests: true + +linters: + default: none + enable: # please keep this alphabetized + - asasalint + - asciicheck + - copyloopvar + - dupl + - errcheck + - forcetypeassert + - goconst + - gocritic + - govet + - ineffassign + - misspell + - musttag + - revive + - staticcheck + - unused + +issues: + max-issues-per-linter: 0 + max-same-issues: 10 diff --git a/vendor/github.com/go-logr/logr/CHANGELOG.md b/vendor/github.com/go-logr/logr/CHANGELOG.md new file mode 100644 index 000000000..c35696004 --- /dev/null +++ b/vendor/github.com/go-logr/logr/CHANGELOG.md @@ -0,0 +1,6 @@ +# CHANGELOG + +## v1.0.0-rc1 + +This is the first logged release. Major changes (including breaking changes) +have occurred since earlier tags. diff --git a/vendor/github.com/go-logr/logr/CONTRIBUTING.md b/vendor/github.com/go-logr/logr/CONTRIBUTING.md new file mode 100644 index 000000000..5d37e294c --- /dev/null +++ b/vendor/github.com/go-logr/logr/CONTRIBUTING.md @@ -0,0 +1,17 @@ +# Contributing + +Logr is open to pull-requests, provided they fit within the intended scope of +the project. Specifically, this library aims to be VERY small and minimalist, +with no external dependencies. + +## Compatibility + +This project intends to follow [semantic versioning](http://semver.org) and +is very strict about compatibility. Any proposed changes MUST follow those +rules. + +## Performance + +As a logging library, logr must be as light-weight as possible. Any proposed +code change must include results of running the [benchmark](./benchmark) +before and after the change. diff --git a/vendor/github.com/go-logr/logr/LICENSE b/vendor/github.com/go-logr/logr/LICENSE new file mode 100644 index 000000000..8dada3eda --- /dev/null +++ b/vendor/github.com/go-logr/logr/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-logr/logr/README.md b/vendor/github.com/go-logr/logr/README.md new file mode 100644 index 000000000..7c7f0c69c --- /dev/null +++ b/vendor/github.com/go-logr/logr/README.md @@ -0,0 +1,407 @@ +# A minimal logging API for Go + +[![Go Reference](https://pkg.go.dev/badge/github.com/go-logr/logr.svg)](https://pkg.go.dev/github.com/go-logr/logr) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-logr/logr)](https://goreportcard.com/report/github.com/go-logr/logr) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/go-logr/logr/badge)](https://securityscorecards.dev/viewer/?platform=github.com&org=go-logr&repo=logr) + +logr offers an(other) opinion on how Go programs and libraries can do logging +without becoming coupled to a particular logging implementation. This is not +an implementation of logging - it is an API. In fact it is two APIs with two +different sets of users. + +The `Logger` type is intended for application and library authors. It provides +a relatively small API which can be used everywhere you want to emit logs. It +defers the actual act of writing logs (to files, to stdout, or whatever) to the +`LogSink` interface. + +The `LogSink` interface is intended for logging library implementers. It is a +pure interface which can be implemented by logging frameworks to provide the actual logging +functionality. + +This decoupling allows application and library developers to write code in +terms of `logr.Logger` (which has very low dependency fan-out) while the +implementation of logging is managed "up stack" (e.g. in or near `main()`.) +Application developers can then switch out implementations as necessary. + +Many people assert that libraries should not be logging, and as such efforts +like this are pointless. Those people are welcome to convince the authors of +the tens-of-thousands of libraries that *DO* write logs that they are all +wrong. In the meantime, logr takes a more practical approach. + +## Typical usage + +Somewhere, early in an application's life, it will make a decision about which +logging library (implementation) it actually wants to use. Something like: + +``` + func main() { + // ... other setup code ... + + // Create the "root" logger. We have chosen the "logimpl" implementation, + // which takes some initial parameters and returns a logr.Logger. + logger := logimpl.New(param1, param2) + + // ... other setup code ... +``` + +Most apps will call into other libraries, create structures to govern the flow, +etc. The `logr.Logger` object can be passed to these other libraries, stored +in structs, or even used as a package-global variable, if needed. For example: + +``` + app := createTheAppObject(logger) + app.Run() +``` + +Outside of this early setup, no other packages need to know about the choice of +implementation. They write logs in terms of the `logr.Logger` that they +received: + +``` + type appObject struct { + // ... other fields ... + logger logr.Logger + // ... other fields ... + } + + func (app *appObject) Run() { + app.logger.Info("starting up", "timestamp", time.Now()) + + // ... app code ... +``` + +## Background + +If the Go standard library had defined an interface for logging, this project +probably would not be needed. Alas, here we are. + +When the Go developers started developing such an interface with +[slog](https://github.com/golang/go/issues/56345), they adopted some of the +logr design but also left out some parts and changed others: + +| Feature | logr | slog | +|---------|------|------| +| High-level API | `Logger` (passed by value) | `Logger` (passed by [pointer](https://github.com/golang/go/issues/59126)) | +| Low-level API | `LogSink` | `Handler` | +| Stack unwinding | done by `LogSink` | done by `Logger` | +| Skipping helper functions | `WithCallDepth`, `WithCallStackHelper` | [not supported by Logger](https://github.com/golang/go/issues/59145) | +| Generating a value for logging on demand | `Marshaler` | `LogValuer` | +| Log levels | >= 0, higher meaning "less important" | positive and negative, with 0 for "info" and higher meaning "more important" | +| Error log entries | always logged, don't have a verbosity level | normal log entries with level >= `LevelError` | +| Passing logger via context | `NewContext`, `FromContext` | no API | +| Adding a name to a logger | `WithName` | no API | +| Modify verbosity of log entries in a call chain | `V` | no API | +| Grouping of key/value pairs | not supported | `WithGroup`, `GroupValue` | +| Pass context for extracting additional values | no API | API variants like `InfoCtx` | + +The high-level slog API is explicitly meant to be one of many different APIs +that can be layered on top of a shared `slog.Handler`. logr is one such +alternative API, with [interoperability](#slog-interoperability) provided by +some conversion functions. + +### Inspiration + +Before you consider this package, please read [this blog post by the +inimitable Dave Cheney][warning-makes-no-sense]. We really appreciate what +he has to say, and it largely aligns with our own experiences. + +### Differences from Dave's ideas + +The main differences are: + +1. Dave basically proposes doing away with the notion of a logging API in favor +of `fmt.Printf()`. We disagree, especially when you consider things like output +locations, timestamps, file and line decorations, and structured logging. This +package restricts the logging API to just 2 types of logs: info and error. + +Info logs are things you want to tell the user which are not errors. Error +logs are, well, errors. If your code receives an `error` from a subordinate +function call and is logging that `error` *and not returning it*, use error +logs. + +2. Verbosity-levels on info logs. This gives developers a chance to indicate +arbitrary grades of importance for info logs, without assigning names with +semantic meaning such as "warning", "trace", and "debug." Superficially this +may feel very similar, but the primary difference is the lack of semantics. +Because verbosity is a numerical value, it's safe to assume that an app running +with higher verbosity means more (and less important) logs will be generated. + +## Implementations (non-exhaustive) + +There are implementations for the following logging libraries: + +- **a function** (can bridge to non-structured libraries): [funcr](https://github.com/go-logr/logr/tree/master/funcr) +- **a testing.T** (for use in Go tests, with JSON-like output): [testr](https://github.com/go-logr/logr/tree/master/testr) +- **github.com/google/glog**: [glogr](https://github.com/go-logr/glogr) +- **k8s.io/klog** (for Kubernetes): [klogr](https://git.k8s.io/klog/klogr) +- **a testing.T** (with klog-like text output): [ktesting](https://git.k8s.io/klog/ktesting) +- **go.uber.org/zap**: [zapr](https://github.com/go-logr/zapr) +- **log** (the Go standard library logger): [stdr](https://github.com/go-logr/stdr) +- **github.com/sirupsen/logrus**: [logrusr](https://github.com/bombsimon/logrusr) +- **github.com/wojas/genericr**: [genericr](https://github.com/wojas/genericr) (makes it easy to implement your own backend) +- **logfmt** (Heroku style [logging](https://www.brandur.org/logfmt)): [logfmtr](https://github.com/iand/logfmtr) +- **github.com/rs/zerolog**: [zerologr](https://github.com/go-logr/zerologr) +- **github.com/go-kit/log**: [gokitlogr](https://github.com/tonglil/gokitlogr) (also compatible with github.com/go-kit/kit/log since v0.12.0) +- **bytes.Buffer** (writing to a buffer): [bufrlogr](https://github.com/tonglil/buflogr) (useful for ensuring values were logged, like during testing) + +## slog interoperability + +Interoperability goes both ways, using the `logr.Logger` API with a `slog.Handler` +and using the `slog.Logger` API with a `logr.LogSink`. `FromSlogHandler` and +`ToSlogHandler` convert between a `logr.Logger` and a `slog.Handler`. +As usual, `slog.New` can be used to wrap such a `slog.Handler` in the high-level +slog API. + +### Using a `logr.LogSink` as backend for slog + +Ideally, a logr sink implementation should support both logr and slog by +implementing both the normal logr interface(s) and `SlogSink`. Because +of a conflict in the parameters of the common `Enabled` method, it is [not +possible to implement both slog.Handler and logr.Sink in the same +type](https://github.com/golang/go/issues/59110). + +If both are supported, log calls can go from the high-level APIs to the backend +without the need to convert parameters. `FromSlogHandler` and `ToSlogHandler` can +convert back and forth without adding additional wrappers, with one exception: +when `Logger.V` was used to adjust the verbosity for a `slog.Handler`, then +`ToSlogHandler` has to use a wrapper which adjusts the verbosity for future +log calls. + +Such an implementation should also support values that implement specific +interfaces from both packages for logging (`logr.Marshaler`, `slog.LogValuer`, +`slog.GroupValue`). logr does not convert those. + +Not supporting slog has several drawbacks: +- Recording source code locations works correctly if the handler gets called + through `slog.Logger`, but may be wrong in other cases. That's because a + `logr.Sink` does its own stack unwinding instead of using the program counter + provided by the high-level API. +- slog levels <= 0 can be mapped to logr levels by negating the level without a + loss of information. But all slog levels > 0 (e.g. `slog.LevelWarning` as + used by `slog.Logger.Warn`) must be mapped to 0 before calling the sink + because logr does not support "more important than info" levels. +- The slog group concept is supported by prefixing each key in a key/value + pair with the group names, separated by a dot. For structured output like + JSON it would be better to group the key/value pairs inside an object. +- Special slog values and interfaces don't work as expected. +- The overhead is likely to be higher. + +These drawbacks are severe enough that applications using a mixture of slog and +logr should switch to a different backend. + +### Using a `slog.Handler` as backend for logr + +Using a plain `slog.Handler` without support for logr works better than the +other direction: +- All logr verbosity levels can be mapped 1:1 to their corresponding slog level + by negating them. +- Stack unwinding is done by the `SlogSink` and the resulting program + counter is passed to the `slog.Handler`. +- Names added via `Logger.WithName` are gathered and recorded in an additional + attribute with `logger` as key and the names separated by slash as value. +- `Logger.Error` is turned into a log record with `slog.LevelError` as level + and an additional attribute with `err` as key, if an error was provided. + +The main drawback is that `logr.Marshaler` will not be supported. Types should +ideally support both `logr.Marshaler` and `slog.Valuer`. If compatibility +with logr implementations without slog support is not important, then +`slog.Valuer` is sufficient. + +### Context support for slog + +Storing a logger in a `context.Context` is not supported by +slog. `NewContextWithSlogLogger` and `FromContextAsSlogLogger` can be +used to fill this gap. They store and retrieve a `slog.Logger` pointer +under the same context key that is also used by `NewContext` and +`FromContext` for `logr.Logger` value. + +When `NewContextWithSlogLogger` is followed by `FromContext`, the latter will +automatically convert the `slog.Logger` to a +`logr.Logger`. `FromContextAsSlogLogger` does the same for the other direction. + +With this approach, binaries which use either slog or logr are as efficient as +possible with no unnecessary allocations. This is also why the API stores a +`slog.Logger` pointer: when storing a `slog.Handler`, creating a `slog.Logger` +on retrieval would need to allocate one. + +The downside is that switching back and forth needs more allocations. Because +logr is the API that is already in use by different packages, in particular +Kubernetes, the recommendation is to use the `logr.Logger` API in code which +uses contextual logging. + +An alternative to adding values to a logger and storing that logger in the +context is to store the values in the context and to configure a logging +backend to extract those values when emitting log entries. This only works when +log calls are passed the context, which is not supported by the logr API. + +With the slog API, it is possible, but not +required. https://github.com/veqryn/slog-context is a package for slog which +provides additional support code for this approach. It also contains wrappers +for the context functions in logr, so developers who prefer to not use the logr +APIs directly can use those instead and the resulting code will still be +interoperable with logr. + +## FAQ + +### Conceptual + +#### Why structured logging? + +- **Structured logs are more easily queryable**: Since you've got + key-value pairs, it's much easier to query your structured logs for + particular values by filtering on the contents of a particular key -- + think searching request logs for error codes, Kubernetes reconcilers for + the name and namespace of the reconciled object, etc. + +- **Structured logging makes it easier to have cross-referenceable logs**: + Similarly to searchability, if you maintain conventions around your + keys, it becomes easy to gather all log lines related to a particular + concept. + +- **Structured logs allow better dimensions of filtering**: if you have + structure to your logs, you've got more precise control over how much + information is logged -- you might choose in a particular configuration + to log certain keys but not others, only log lines where a certain key + matches a certain value, etc., instead of just having v-levels and names + to key off of. + +- **Structured logs better represent structured data**: sometimes, the + data that you want to log is inherently structured (think tuple-link + objects.) Structured logs allow you to preserve that structure when + outputting. + +#### Why V-levels? + +**V-levels give operators an easy way to control the chattiness of log +operations**. V-levels provide a way for a given package to distinguish +the relative importance or verbosity of a given log message. Then, if +a particular logger or package is logging too many messages, the user +of the package can simply change the v-levels for that library. + +#### Why not named levels, like Info/Warning/Error? + +Read [Dave Cheney's post][warning-makes-no-sense]. Then read [Differences +from Dave's ideas](#differences-from-daves-ideas). + +#### Why not allow format strings, too? + +**Format strings negate many of the benefits of structured logs**: + +- They're not easily searchable without resorting to fuzzy searching, + regular expressions, etc. + +- They don't store structured data well, since contents are flattened into + a string. + +- They're not cross-referenceable. + +- They don't compress easily, since the message is not constant. + +(Unless you turn positional parameters into key-value pairs with numerical +keys, at which point you've gotten key-value logging with meaningless +keys.) + +### Practical + +#### Why key-value pairs, and not a map? + +Key-value pairs are *much* easier to optimize, especially around +allocations. Zap (a structured logger that inspired logr's interface) has +[performance measurements](https://github.com/uber-go/zap#performance) +that show this quite nicely. + +While the interface ends up being a little less obvious, you get +potentially better performance, plus avoid making users type +`map[string]string{}` every time they want to log. + +#### What if my V-levels differ between libraries? + +That's fine. Control your V-levels on a per-logger basis, and use the +`WithName` method to pass different loggers to different libraries. + +Generally, you should take care to ensure that you have relatively +consistent V-levels within a given logger, however, as this makes deciding +on what verbosity of logs to request easier. + +#### But I really want to use a format string! + +That's not actually a question. Assuming your question is "how do +I convert my mental model of logging with format strings to logging with +constant messages": + +1. Figure out what the error actually is, as you'd write in a TL;DR style, + and use that as a message. + +2. For every place you'd write a format specifier, look to the word before + it, and add that as a key value pair. + +For instance, consider the following examples (all taken from spots in the +Kubernetes codebase): + +- `klog.V(4).Infof("Client is returning errors: code %v, error %v", + responseCode, err)` becomes `logger.Error(err, "client returned an + error", "code", responseCode)` + +- `klog.V(4).Infof("Got a Retry-After %ds response for attempt %d to %v", + seconds, retries, url)` becomes `logger.V(4).Info("got a retry-after + response when requesting url", "attempt", retries, "after + seconds", seconds, "url", url)` + +If you *really* must use a format string, use it in a key's value, and +call `fmt.Sprintf` yourself. For instance: `log.Printf("unable to +reflect over type %T")` becomes `logger.Info("unable to reflect over +type", "type", fmt.Sprintf("%T"))`. In general though, the cases where +this is necessary should be few and far between. + +#### How do I choose my V-levels? + +This is basically the only hard constraint: increase V-levels to denote +more verbose or more debug-y logs. + +Otherwise, you can start out with `0` as "you always want to see this", +`1` as "common logging that you might *possibly* want to turn off", and +`10` as "I would like to performance-test your log collection stack." + +Then gradually choose levels in between as you need them, working your way +down from 10 (for debug and trace style logs) and up from 1 (for chattier +info-type logs). For reference, slog pre-defines -4 for debug logs +(corresponds to 4 in logr), which matches what is +[recommended for Kubernetes](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md#what-method-to-use). + +#### How do I choose my keys? + +Keys are fairly flexible, and can hold more or less any string +value. For best compatibility with implementations and consistency +with existing code in other projects, there are a few conventions you +should consider. + +- Make your keys human-readable. +- Constant keys are generally a good idea. +- Be consistent across your codebase. +- Keys should naturally match parts of the message string. +- Use lower case for simple keys and + [lowerCamelCase](https://en.wiktionary.org/wiki/lowerCamelCase) for + more complex ones. Kubernetes is one example of a project that has + [adopted that + convention](https://github.com/kubernetes/community/blob/HEAD/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments). + +While key names are mostly unrestricted (and spaces are acceptable), +it's generally a good idea to stick to printable ascii characters, or at +least match the general character set of your log lines. + +#### Why should keys be constant values? + +The point of structured logging is to make later log processing easier. Your +keys are, effectively, the schema of each log message. If you use different +keys across instances of the same log line, you will make your structured logs +much harder to use. `Sprintf()` is for values, not for keys! + +#### Why is this not a pure interface? + +The Logger type is implemented as a struct in order to allow the Go compiler to +optimize things like high-V `Info` logs that are not triggered. Not all of +these implementations are implemented yet, but this structure was suggested as +a way to ensure they *can* be implemented. All of the real work is behind the +`LogSink` interface. + +[warning-makes-no-sense]: http://dave.cheney.net/2015/11/05/lets-talk-about-logging diff --git a/vendor/github.com/go-logr/logr/SECURITY.md b/vendor/github.com/go-logr/logr/SECURITY.md new file mode 100644 index 000000000..1ca756fc7 --- /dev/null +++ b/vendor/github.com/go-logr/logr/SECURITY.md @@ -0,0 +1,18 @@ +# Security Policy + +If you have discovered a security vulnerability in this project, please report it +privately. **Do not disclose it as a public issue.** This gives us time to work with you +to fix the issue before public exposure, reducing the chance that the exploit will be +used before a patch is released. + +You may submit the report in the following ways: + +- send an email to go-logr-security@googlegroups.com +- send us a [private vulnerability report](https://github.com/go-logr/logr/security/advisories/new) + +Please provide the following information in your report: + +- A description of the vulnerability and its impact +- How to reproduce the issue + +We ask that you give us 90 days to work on a fix before public exposure. diff --git a/vendor/github.com/go-logr/logr/context.go b/vendor/github.com/go-logr/logr/context.go new file mode 100644 index 000000000..de8bcc3ad --- /dev/null +++ b/vendor/github.com/go-logr/logr/context.go @@ -0,0 +1,33 @@ +/* +Copyright 2023 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package logr + +// contextKey is how we find Loggers in a context.Context. With Go < 1.21, +// the value is always a Logger value. With Go >= 1.21, the value can be a +// Logger value or a slog.Logger pointer. +type contextKey struct{} + +// notFoundError exists to carry an IsNotFound method. +type notFoundError struct{} + +func (notFoundError) Error() string { + return "no logr.Logger was present" +} + +func (notFoundError) IsNotFound() bool { + return true +} diff --git a/vendor/github.com/go-logr/logr/context_noslog.go b/vendor/github.com/go-logr/logr/context_noslog.go new file mode 100644 index 000000000..f012f9a18 --- /dev/null +++ b/vendor/github.com/go-logr/logr/context_noslog.go @@ -0,0 +1,49 @@ +//go:build !go1.21 +// +build !go1.21 + +/* +Copyright 2019 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package logr + +import ( + "context" +) + +// FromContext returns a Logger from ctx or an error if no Logger is found. +func FromContext(ctx context.Context) (Logger, error) { + if v, ok := ctx.Value(contextKey{}).(Logger); ok { + return v, nil + } + + return Logger{}, notFoundError{} +} + +// FromContextOrDiscard returns a Logger from ctx. If no Logger is found, this +// returns a Logger that discards all log messages. +func FromContextOrDiscard(ctx context.Context) Logger { + if v, ok := ctx.Value(contextKey{}).(Logger); ok { + return v + } + + return Discard() +} + +// NewContext returns a new Context, derived from ctx, which carries the +// provided Logger. +func NewContext(ctx context.Context, logger Logger) context.Context { + return context.WithValue(ctx, contextKey{}, logger) +} diff --git a/vendor/github.com/go-logr/logr/context_slog.go b/vendor/github.com/go-logr/logr/context_slog.go new file mode 100644 index 000000000..065ef0b82 --- /dev/null +++ b/vendor/github.com/go-logr/logr/context_slog.go @@ -0,0 +1,83 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2019 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package logr + +import ( + "context" + "fmt" + "log/slog" +) + +// FromContext returns a Logger from ctx or an error if no Logger is found. +func FromContext(ctx context.Context) (Logger, error) { + v := ctx.Value(contextKey{}) + if v == nil { + return Logger{}, notFoundError{} + } + + switch v := v.(type) { + case Logger: + return v, nil + case *slog.Logger: + return FromSlogHandler(v.Handler()), nil + default: + // Not reached. + panic(fmt.Sprintf("unexpected value type for logr context key: %T", v)) + } +} + +// FromContextAsSlogLogger returns a slog.Logger from ctx or nil if no such Logger is found. +func FromContextAsSlogLogger(ctx context.Context) *slog.Logger { + v := ctx.Value(contextKey{}) + if v == nil { + return nil + } + + switch v := v.(type) { + case Logger: + return slog.New(ToSlogHandler(v)) + case *slog.Logger: + return v + default: + // Not reached. + panic(fmt.Sprintf("unexpected value type for logr context key: %T", v)) + } +} + +// FromContextOrDiscard returns a Logger from ctx. If no Logger is found, this +// returns a Logger that discards all log messages. +func FromContextOrDiscard(ctx context.Context) Logger { + if logger, err := FromContext(ctx); err == nil { + return logger + } + return Discard() +} + +// NewContext returns a new Context, derived from ctx, which carries the +// provided Logger. +func NewContext(ctx context.Context, logger Logger) context.Context { + return context.WithValue(ctx, contextKey{}, logger) +} + +// NewContextWithSlogLogger returns a new Context, derived from ctx, which carries the +// provided slog.Logger. +func NewContextWithSlogLogger(ctx context.Context, logger *slog.Logger) context.Context { + return context.WithValue(ctx, contextKey{}, logger) +} diff --git a/vendor/github.com/go-logr/logr/discard.go b/vendor/github.com/go-logr/logr/discard.go new file mode 100644 index 000000000..99fe8be93 --- /dev/null +++ b/vendor/github.com/go-logr/logr/discard.go @@ -0,0 +1,24 @@ +/* +Copyright 2020 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package logr + +// Discard returns a Logger that discards all messages logged to it. It can be +// used whenever the caller is not interested in the logs. Logger instances +// produced by this function always compare as equal. +func Discard() Logger { + return New(nil) +} diff --git a/vendor/github.com/go-logr/logr/funcr/funcr.go b/vendor/github.com/go-logr/logr/funcr/funcr.go new file mode 100644 index 000000000..b22c57d71 --- /dev/null +++ b/vendor/github.com/go-logr/logr/funcr/funcr.go @@ -0,0 +1,914 @@ +/* +Copyright 2021 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Package funcr implements formatting of structured log messages and +// optionally captures the call site and timestamp. +// +// The simplest way to use it is via its implementation of a +// github.com/go-logr/logr.LogSink with output through an arbitrary +// "write" function. See New and NewJSON for details. +// +// # Custom LogSinks +// +// For users who need more control, a funcr.Formatter can be embedded inside +// your own custom LogSink implementation. This is useful when the LogSink +// needs to implement additional methods, for example. +// +// # Formatting +// +// This will respect logr.Marshaler, fmt.Stringer, and error interfaces for +// values which are being logged. When rendering a struct, funcr will use Go's +// standard JSON tags (all except "string"). +package funcr + +import ( + "bytes" + "encoding" + "encoding/json" + "fmt" + "path/filepath" + "reflect" + "runtime" + "strconv" + "strings" + "time" + + "github.com/go-logr/logr" +) + +// New returns a logr.Logger which is implemented by an arbitrary function. +func New(fn func(prefix, args string), opts Options) logr.Logger { + return logr.New(newSink(fn, NewFormatter(opts))) +} + +// NewJSON returns a logr.Logger which is implemented by an arbitrary function +// and produces JSON output. +func NewJSON(fn func(obj string), opts Options) logr.Logger { + fnWrapper := func(_, obj string) { + fn(obj) + } + return logr.New(newSink(fnWrapper, NewFormatterJSON(opts))) +} + +// Underlier exposes access to the underlying logging function. Since +// callers only have a logr.Logger, they have to know which +// implementation is in use, so this interface is less of an +// abstraction and more of a way to test type conversion. +type Underlier interface { + GetUnderlying() func(prefix, args string) +} + +func newSink(fn func(prefix, args string), formatter Formatter) logr.LogSink { + l := &fnlogger{ + Formatter: formatter, + write: fn, + } + // For skipping fnlogger.Info and fnlogger.Error. + l.AddCallDepth(1) // via Formatter + return l +} + +// Options carries parameters which influence the way logs are generated. +type Options struct { + // LogCaller tells funcr to add a "caller" key to some or all log lines. + // This has some overhead, so some users might not want it. + LogCaller MessageClass + + // LogCallerFunc tells funcr to also log the calling function name. This + // has no effect if caller logging is not enabled (see Options.LogCaller). + LogCallerFunc bool + + // LogTimestamp tells funcr to add a "ts" key to log lines. This has some + // overhead, so some users might not want it. + LogTimestamp bool + + // TimestampFormat tells funcr how to render timestamps when LogTimestamp + // is enabled. If not specified, a default format will be used. For more + // details, see docs for Go's time.Layout. + TimestampFormat string + + // LogInfoLevel tells funcr what key to use to log the info level. + // If not specified, the info level will be logged as "level". + // If this is set to "", the info level will not be logged at all. + LogInfoLevel *string + + // Verbosity tells funcr which V logs to produce. Higher values enable + // more logs. Info logs at or below this level will be written, while logs + // above this level will be discarded. + Verbosity int + + // RenderBuiltinsHook allows users to mutate the list of key-value pairs + // while a log line is being rendered. The kvList argument follows logr + // conventions - each pair of slice elements is comprised of a string key + // and an arbitrary value (verified and sanitized before calling this + // hook). The value returned must follow the same conventions. This hook + // can be used to audit or modify logged data. For example, you might want + // to prefix all of funcr's built-in keys with some string. This hook is + // only called for built-in (provided by funcr itself) key-value pairs. + // Equivalent hooks are offered for key-value pairs saved via + // logr.Logger.WithValues or Formatter.AddValues (see RenderValuesHook) and + // for user-provided pairs (see RenderArgsHook). + RenderBuiltinsHook func(kvList []any) []any + + // RenderValuesHook is the same as RenderBuiltinsHook, except that it is + // only called for key-value pairs saved via logr.Logger.WithValues. See + // RenderBuiltinsHook for more details. + RenderValuesHook func(kvList []any) []any + + // RenderArgsHook is the same as RenderBuiltinsHook, except that it is only + // called for key-value pairs passed directly to Info and Error. See + // RenderBuiltinsHook for more details. + RenderArgsHook func(kvList []any) []any + + // MaxLogDepth tells funcr how many levels of nested fields (e.g. a struct + // that contains a struct, etc.) it may log. Every time it finds a struct, + // slice, array, or map the depth is increased by one. When the maximum is + // reached, the value will be converted to a string indicating that the max + // depth has been exceeded. If this field is not specified, a default + // value will be used. + MaxLogDepth int +} + +// MessageClass indicates which category or categories of messages to consider. +type MessageClass int + +const ( + // None ignores all message classes. + None MessageClass = iota + // All considers all message classes. + All + // Info only considers info messages. + Info + // Error only considers error messages. + Error +) + +// fnlogger inherits some of its LogSink implementation from Formatter +// and just needs to add some glue code. +type fnlogger struct { + Formatter + write func(prefix, args string) +} + +func (l fnlogger) WithName(name string) logr.LogSink { + l.AddName(name) // via Formatter + return &l +} + +func (l fnlogger) WithValues(kvList ...any) logr.LogSink { + l.AddValues(kvList) // via Formatter + return &l +} + +func (l fnlogger) WithCallDepth(depth int) logr.LogSink { + l.AddCallDepth(depth) // via Formatter + return &l +} + +func (l fnlogger) Info(level int, msg string, kvList ...any) { + prefix, args := l.FormatInfo(level, msg, kvList) + l.write(prefix, args) +} + +func (l fnlogger) Error(err error, msg string, kvList ...any) { + prefix, args := l.FormatError(err, msg, kvList) + l.write(prefix, args) +} + +func (l fnlogger) GetUnderlying() func(prefix, args string) { + return l.write +} + +// Assert conformance to the interfaces. +var _ logr.LogSink = &fnlogger{} +var _ logr.CallDepthLogSink = &fnlogger{} +var _ Underlier = &fnlogger{} + +// NewFormatter constructs a Formatter which emits a JSON-like key=value format. +func NewFormatter(opts Options) Formatter { + return newFormatter(opts, outputKeyValue) +} + +// NewFormatterJSON constructs a Formatter which emits strict JSON. +func NewFormatterJSON(opts Options) Formatter { + return newFormatter(opts, outputJSON) +} + +// Defaults for Options. +const defaultTimestampFormat = "2006-01-02 15:04:05.000000" +const defaultMaxLogDepth = 16 + +func newFormatter(opts Options, outfmt outputFormat) Formatter { + if opts.TimestampFormat == "" { + opts.TimestampFormat = defaultTimestampFormat + } + if opts.MaxLogDepth == 0 { + opts.MaxLogDepth = defaultMaxLogDepth + } + if opts.LogInfoLevel == nil { + opts.LogInfoLevel = new(string) + *opts.LogInfoLevel = "level" + } + f := Formatter{ + outputFormat: outfmt, + prefix: "", + values: nil, + depth: 0, + opts: &opts, + } + return f +} + +// Formatter is an opaque struct which can be embedded in a LogSink +// implementation. It should be constructed with NewFormatter. Some of +// its methods directly implement logr.LogSink. +type Formatter struct { + outputFormat outputFormat + prefix string + values []any + valuesStr string + depth int + opts *Options + groupName string // for slog groups + groups []groupDef +} + +// outputFormat indicates which outputFormat to use. +type outputFormat int + +const ( + // outputKeyValue emits a JSON-like key=value format, but not strict JSON. + outputKeyValue outputFormat = iota + // outputJSON emits strict JSON. + outputJSON +) + +// groupDef represents a saved group. The values may be empty, but we don't +// know if we need to render the group until the final record is rendered. +type groupDef struct { + name string + values string +} + +// PseudoStruct is a list of key-value pairs that gets logged as a struct. +type PseudoStruct []any + +// render produces a log line, ready to use. +func (f Formatter) render(builtins, args []any) string { + // Empirically bytes.Buffer is faster than strings.Builder for this. + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + + if f.outputFormat == outputJSON { + buf.WriteByte('{') // for the whole record + } + + // Render builtins + vals := builtins + if hook := f.opts.RenderBuiltinsHook; hook != nil { + vals = hook(f.sanitize(vals)) + } + f.flatten(buf, vals, false) // keys are ours, no need to escape + continuing := len(builtins) > 0 + + // Turn the inner-most group into a string + argsStr := func() string { + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + + vals = args + if hook := f.opts.RenderArgsHook; hook != nil { + vals = hook(f.sanitize(vals)) + } + f.flatten(buf, vals, true) // escape user-provided keys + + return buf.String() + }() + + // Render the stack of groups from the inside out. + bodyStr := f.renderGroup(f.groupName, f.valuesStr, argsStr) + for i := len(f.groups) - 1; i >= 0; i-- { + grp := &f.groups[i] + if grp.values == "" && bodyStr == "" { + // no contents, so we must elide the whole group + continue + } + bodyStr = f.renderGroup(grp.name, grp.values, bodyStr) + } + + if bodyStr != "" { + if continuing { + buf.WriteByte(f.comma()) + } + buf.WriteString(bodyStr) + } + + if f.outputFormat == outputJSON { + buf.WriteByte('}') // for the whole record + } + + return buf.String() +} + +// renderGroup returns a string representation of the named group with rendered +// values and args. If the name is empty, this will return the values and args, +// joined. If the name is not empty, this will return a single key-value pair, +// where the value is a grouping of the values and args. If the values and +// args are both empty, this will return an empty string, even if the name was +// specified. +func (f Formatter) renderGroup(name string, values string, args string) string { + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + + needClosingBrace := false + if name != "" && (values != "" || args != "") { + buf.WriteString(f.quoted(name, true)) // escape user-provided keys + buf.WriteByte(f.colon()) + buf.WriteByte('{') + needClosingBrace = true + } + + continuing := false + if values != "" { + buf.WriteString(values) + continuing = true + } + + if args != "" { + if continuing { + buf.WriteByte(f.comma()) + } + buf.WriteString(args) + } + + if needClosingBrace { + buf.WriteByte('}') + } + + return buf.String() +} + +// flatten renders a list of key-value pairs into a buffer. If escapeKeys is +// true, the keys are assumed to have non-JSON-compatible characters in them +// and must be evaluated for escapes. +// +// This function returns a potentially modified version of kvList, which +// ensures that there is a value for every key (adding a value if needed) and +// that each key is a string (substituting a key if needed). +func (f Formatter) flatten(buf *bytes.Buffer, kvList []any, escapeKeys bool) []any { + // This logic overlaps with sanitize() but saves one type-cast per key, + // which can be measurable. + if len(kvList)%2 != 0 { + kvList = append(kvList, noValue) + } + copied := false + for i := 0; i < len(kvList); i += 2 { + k, ok := kvList[i].(string) + if !ok { + if !copied { + newList := make([]any, len(kvList)) + copy(newList, kvList) + kvList = newList + copied = true + } + k = f.nonStringKey(kvList[i]) + kvList[i] = k + } + v := kvList[i+1] + + if i > 0 { + if f.outputFormat == outputJSON { + buf.WriteByte(f.comma()) + } else { + // In theory the format could be something we don't understand. In + // practice, we control it, so it won't be. + buf.WriteByte(' ') + } + } + + buf.WriteString(f.quoted(k, escapeKeys)) + buf.WriteByte(f.colon()) + buf.WriteString(f.pretty(v)) + } + return kvList +} + +func (f Formatter) quoted(str string, escape bool) string { + if escape { + return prettyString(str) + } + // this is faster + return `"` + str + `"` +} + +func (f Formatter) comma() byte { + if f.outputFormat == outputJSON { + return ',' + } + return ' ' +} + +func (f Formatter) colon() byte { + if f.outputFormat == outputJSON { + return ':' + } + return '=' +} + +func (f Formatter) pretty(value any) string { + return f.prettyWithFlags(value, 0, 0) +} + +const ( + flagRawStruct = 0x1 // do not print braces on structs +) + +// TODO: This is not fast. Most of the overhead goes here. +func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string { + if depth > f.opts.MaxLogDepth { + return `""` + } + + // Handle types that take full control of logging. + if v, ok := value.(logr.Marshaler); ok { + // Replace the value with what the type wants to get logged. + // That then gets handled below via reflection. + value = invokeMarshaler(v) + } + + // Handle types that want to format themselves. + switch v := value.(type) { + case fmt.Stringer: + value = invokeStringer(v) + case error: + value = invokeError(v) + } + + // Handling the most common types without reflect is a small perf win. + switch v := value.(type) { + case bool: + return strconv.FormatBool(v) + case string: + return prettyString(v) + case int: + return strconv.FormatInt(int64(v), 10) + case int8: + return strconv.FormatInt(int64(v), 10) + case int16: + return strconv.FormatInt(int64(v), 10) + case int32: + return strconv.FormatInt(int64(v), 10) + case int64: + return strconv.FormatInt(int64(v), 10) + case uint: + return strconv.FormatUint(uint64(v), 10) + case uint8: + return strconv.FormatUint(uint64(v), 10) + case uint16: + return strconv.FormatUint(uint64(v), 10) + case uint32: + return strconv.FormatUint(uint64(v), 10) + case uint64: + return strconv.FormatUint(v, 10) + case uintptr: + return strconv.FormatUint(uint64(v), 10) + case float32: + return strconv.FormatFloat(float64(v), 'f', -1, 32) + case float64: + return strconv.FormatFloat(v, 'f', -1, 64) + case complex64: + return `"` + strconv.FormatComplex(complex128(v), 'f', -1, 64) + `"` + case complex128: + return `"` + strconv.FormatComplex(v, 'f', -1, 128) + `"` + case PseudoStruct: + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + v = f.sanitize(v) + if flags&flagRawStruct == 0 { + buf.WriteByte('{') + } + for i := 0; i < len(v); i += 2 { + if i > 0 { + buf.WriteByte(f.comma()) + } + k, _ := v[i].(string) // sanitize() above means no need to check success + // arbitrary keys might need escaping + buf.WriteString(prettyString(k)) + buf.WriteByte(f.colon()) + buf.WriteString(f.prettyWithFlags(v[i+1], 0, depth+1)) + } + if flags&flagRawStruct == 0 { + buf.WriteByte('}') + } + return buf.String() + } + + buf := bytes.NewBuffer(make([]byte, 0, 256)) + t := reflect.TypeOf(value) + if t == nil { + return "null" + } + v := reflect.ValueOf(value) + switch t.Kind() { + case reflect.Bool: + return strconv.FormatBool(v.Bool()) + case reflect.String: + return prettyString(v.String()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return strconv.FormatInt(int64(v.Int()), 10) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return strconv.FormatUint(uint64(v.Uint()), 10) + case reflect.Float32: + return strconv.FormatFloat(float64(v.Float()), 'f', -1, 32) + case reflect.Float64: + return strconv.FormatFloat(v.Float(), 'f', -1, 64) + case reflect.Complex64: + return `"` + strconv.FormatComplex(complex128(v.Complex()), 'f', -1, 64) + `"` + case reflect.Complex128: + return `"` + strconv.FormatComplex(v.Complex(), 'f', -1, 128) + `"` + case reflect.Struct: + if flags&flagRawStruct == 0 { + buf.WriteByte('{') + } + printComma := false // testing i>0 is not enough because of JSON omitted fields + for i := 0; i < t.NumField(); i++ { + fld := t.Field(i) + if fld.PkgPath != "" { + // reflect says this field is only defined for non-exported fields. + continue + } + if !v.Field(i).CanInterface() { + // reflect isn't clear exactly what this means, but we can't use it. + continue + } + name := "" + omitempty := false + if tag, found := fld.Tag.Lookup("json"); found { + if tag == "-" { + continue + } + if comma := strings.Index(tag, ","); comma != -1 { + if n := tag[:comma]; n != "" { + name = n + } + rest := tag[comma:] + if strings.Contains(rest, ",omitempty,") || strings.HasSuffix(rest, ",omitempty") { + omitempty = true + } + } else { + name = tag + } + } + if omitempty && isEmpty(v.Field(i)) { + continue + } + if printComma { + buf.WriteByte(f.comma()) + } + printComma = true // if we got here, we are rendering a field + if fld.Anonymous && fld.Type.Kind() == reflect.Struct && name == "" { + buf.WriteString(f.prettyWithFlags(v.Field(i).Interface(), flags|flagRawStruct, depth+1)) + continue + } + if name == "" { + name = fld.Name + } + // field names can't contain characters which need escaping + buf.WriteString(f.quoted(name, false)) + buf.WriteByte(f.colon()) + buf.WriteString(f.prettyWithFlags(v.Field(i).Interface(), 0, depth+1)) + } + if flags&flagRawStruct == 0 { + buf.WriteByte('}') + } + return buf.String() + case reflect.Slice, reflect.Array: + // If this is outputing as JSON make sure this isn't really a json.RawMessage. + // If so just emit "as-is" and don't pretty it as that will just print + // it as [X,Y,Z,...] which isn't terribly useful vs the string form you really want. + if f.outputFormat == outputJSON { + if rm, ok := value.(json.RawMessage); ok { + // If it's empty make sure we emit an empty value as the array style would below. + if len(rm) > 0 { + buf.Write(rm) + } else { + buf.WriteString("null") + } + return buf.String() + } + } + buf.WriteByte('[') + for i := 0; i < v.Len(); i++ { + if i > 0 { + buf.WriteByte(f.comma()) + } + e := v.Index(i) + buf.WriteString(f.prettyWithFlags(e.Interface(), 0, depth+1)) + } + buf.WriteByte(']') + return buf.String() + case reflect.Map: + buf.WriteByte('{') + // This does not sort the map keys, for best perf. + it := v.MapRange() + i := 0 + for it.Next() { + if i > 0 { + buf.WriteByte(f.comma()) + } + // If a map key supports TextMarshaler, use it. + keystr := "" + if m, ok := it.Key().Interface().(encoding.TextMarshaler); ok { + txt, err := m.MarshalText() + if err != nil { + keystr = fmt.Sprintf("", err.Error()) + } else { + keystr = string(txt) + } + keystr = prettyString(keystr) + } else { + // prettyWithFlags will produce already-escaped values + keystr = f.prettyWithFlags(it.Key().Interface(), 0, depth+1) + if t.Key().Kind() != reflect.String { + // JSON only does string keys. Unlike Go's standard JSON, we'll + // convert just about anything to a string. + keystr = prettyString(keystr) + } + } + buf.WriteString(keystr) + buf.WriteByte(f.colon()) + buf.WriteString(f.prettyWithFlags(it.Value().Interface(), 0, depth+1)) + i++ + } + buf.WriteByte('}') + return buf.String() + case reflect.Ptr, reflect.Interface: + if v.IsNil() { + return "null" + } + return f.prettyWithFlags(v.Elem().Interface(), 0, depth) + } + return fmt.Sprintf(`""`, t.Kind().String()) +} + +func prettyString(s string) string { + // Avoid escaping (which does allocations) if we can. + if needsEscape(s) { + return strconv.Quote(s) + } + b := bytes.NewBuffer(make([]byte, 0, 1024)) + b.WriteByte('"') + b.WriteString(s) + b.WriteByte('"') + return b.String() +} + +// needsEscape determines whether the input string needs to be escaped or not, +// without doing any allocations. +func needsEscape(s string) bool { + for _, r := range s { + if !strconv.IsPrint(r) || r == '\\' || r == '"' { + return true + } + } + return false +} + +func isEmpty(v reflect.Value) bool { + switch v.Kind() { + case reflect.Array, reflect.Map, reflect.Slice, reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Complex64, reflect.Complex128: + return v.Complex() == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + } + return false +} + +func invokeMarshaler(m logr.Marshaler) (ret any) { + defer func() { + if r := recover(); r != nil { + ret = fmt.Sprintf("", r) + } + }() + return m.MarshalLog() +} + +func invokeStringer(s fmt.Stringer) (ret string) { + defer func() { + if r := recover(); r != nil { + ret = fmt.Sprintf("", r) + } + }() + return s.String() +} + +func invokeError(e error) (ret string) { + defer func() { + if r := recover(); r != nil { + ret = fmt.Sprintf("", r) + } + }() + return e.Error() +} + +// Caller represents the original call site for a log line, after considering +// logr.Logger.WithCallDepth and logr.Logger.WithCallStackHelper. The File and +// Line fields will always be provided, while the Func field is optional. +// Users can set the render hook fields in Options to examine logged key-value +// pairs, one of which will be {"caller", Caller} if the Options.LogCaller +// field is enabled for the given MessageClass. +type Caller struct { + // File is the basename of the file for this call site. + File string `json:"file"` + // Line is the line number in the file for this call site. + Line int `json:"line"` + // Func is the function name for this call site, or empty if + // Options.LogCallerFunc is not enabled. + Func string `json:"function,omitempty"` +} + +func (f Formatter) caller() Caller { + // +1 for this frame, +1 for Info/Error. + pc, file, line, ok := runtime.Caller(f.depth + 2) + if !ok { + return Caller{"", 0, ""} + } + fn := "" + if f.opts.LogCallerFunc { + if fp := runtime.FuncForPC(pc); fp != nil { + fn = fp.Name() + } + } + + return Caller{filepath.Base(file), line, fn} +} + +const noValue = "" + +func (f Formatter) nonStringKey(v any) string { + return fmt.Sprintf("", f.snippet(v)) +} + +// snippet produces a short snippet string of an arbitrary value. +func (f Formatter) snippet(v any) string { + const snipLen = 16 + + snip := f.pretty(v) + if len(snip) > snipLen { + snip = snip[:snipLen] + } + return snip +} + +// sanitize ensures that a list of key-value pairs has a value for every key +// (adding a value if needed) and that each key is a string (substituting a key +// if needed). +func (f Formatter) sanitize(kvList []any) []any { + if len(kvList)%2 != 0 { + kvList = append(kvList, noValue) + } + for i := 0; i < len(kvList); i += 2 { + _, ok := kvList[i].(string) + if !ok { + kvList[i] = f.nonStringKey(kvList[i]) + } + } + return kvList +} + +// startGroup opens a new group scope (basically a sub-struct), which locks all +// the current saved values and starts them anew. This is needed to satisfy +// slog. +func (f *Formatter) startGroup(name string) { + // Unnamed groups are just inlined. + if name == "" { + return + } + + n := len(f.groups) + f.groups = append(f.groups[:n:n], groupDef{f.groupName, f.valuesStr}) + + // Start collecting new values. + f.groupName = name + f.valuesStr = "" + f.values = nil +} + +// Init configures this Formatter from runtime info, such as the call depth +// imposed by logr itself. +// Note that this receiver is a pointer, so depth can be saved. +func (f *Formatter) Init(info logr.RuntimeInfo) { + f.depth += info.CallDepth +} + +// Enabled checks whether an info message at the given level should be logged. +func (f Formatter) Enabled(level int) bool { + return level <= f.opts.Verbosity +} + +// GetDepth returns the current depth of this Formatter. This is useful for +// implementations which do their own caller attribution. +func (f Formatter) GetDepth() int { + return f.depth +} + +// FormatInfo renders an Info log message into strings. The prefix will be +// empty when no names were set (via AddNames), or when the output is +// configured for JSON. +func (f Formatter) FormatInfo(level int, msg string, kvList []any) (prefix, argsStr string) { + args := make([]any, 0, 64) // using a constant here impacts perf + prefix = f.prefix + if f.outputFormat == outputJSON { + args = append(args, "logger", prefix) + prefix = "" + } + if f.opts.LogTimestamp { + args = append(args, "ts", time.Now().Format(f.opts.TimestampFormat)) + } + if policy := f.opts.LogCaller; policy == All || policy == Info { + args = append(args, "caller", f.caller()) + } + if key := *f.opts.LogInfoLevel; key != "" { + args = append(args, key, level) + } + args = append(args, "msg", msg) + return prefix, f.render(args, kvList) +} + +// FormatError renders an Error log message into strings. The prefix will be +// empty when no names were set (via AddNames), or when the output is +// configured for JSON. +func (f Formatter) FormatError(err error, msg string, kvList []any) (prefix, argsStr string) { + args := make([]any, 0, 64) // using a constant here impacts perf + prefix = f.prefix + if f.outputFormat == outputJSON { + args = append(args, "logger", prefix) + prefix = "" + } + if f.opts.LogTimestamp { + args = append(args, "ts", time.Now().Format(f.opts.TimestampFormat)) + } + if policy := f.opts.LogCaller; policy == All || policy == Error { + args = append(args, "caller", f.caller()) + } + args = append(args, "msg", msg) + var loggableErr any + if err != nil { + loggableErr = err.Error() + } + args = append(args, "error", loggableErr) + return prefix, f.render(args, kvList) +} + +// AddName appends the specified name. funcr uses '/' characters to separate +// name elements. Callers should not pass '/' in the provided name string, but +// this library does not actually enforce that. +func (f *Formatter) AddName(name string) { + if len(f.prefix) > 0 { + f.prefix += "/" + } + f.prefix += name +} + +// AddValues adds key-value pairs to the set of saved values to be logged with +// each log line. +func (f *Formatter) AddValues(kvList []any) { + // Three slice args forces a copy. + n := len(f.values) + f.values = append(f.values[:n:n], kvList...) + + vals := f.values + if hook := f.opts.RenderValuesHook; hook != nil { + vals = hook(f.sanitize(vals)) + } + + // Pre-render values, so we don't have to do it on each Info/Error call. + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + f.flatten(buf, vals, true) // escape user-provided keys + f.valuesStr = buf.String() +} + +// AddCallDepth increases the number of stack-frames to skip when attributing +// the log line to a file and line. +func (f *Formatter) AddCallDepth(depth int) { + f.depth += depth +} diff --git a/vendor/github.com/go-logr/logr/funcr/slogsink.go b/vendor/github.com/go-logr/logr/funcr/slogsink.go new file mode 100644 index 000000000..7bd84761e --- /dev/null +++ b/vendor/github.com/go-logr/logr/funcr/slogsink.go @@ -0,0 +1,105 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package funcr + +import ( + "context" + "log/slog" + + "github.com/go-logr/logr" +) + +var _ logr.SlogSink = &fnlogger{} + +const extraSlogSinkDepth = 3 // 2 for slog, 1 for SlogSink + +func (l fnlogger) Handle(_ context.Context, record slog.Record) error { + kvList := make([]any, 0, 2*record.NumAttrs()) + record.Attrs(func(attr slog.Attr) bool { + kvList = attrToKVs(attr, kvList) + return true + }) + + if record.Level >= slog.LevelError { + l.WithCallDepth(extraSlogSinkDepth).Error(nil, record.Message, kvList...) + } else { + level := l.levelFromSlog(record.Level) + l.WithCallDepth(extraSlogSinkDepth).Info(level, record.Message, kvList...) + } + return nil +} + +func (l fnlogger) WithAttrs(attrs []slog.Attr) logr.SlogSink { + kvList := make([]any, 0, 2*len(attrs)) + for _, attr := range attrs { + kvList = attrToKVs(attr, kvList) + } + l.AddValues(kvList) + return &l +} + +func (l fnlogger) WithGroup(name string) logr.SlogSink { + l.startGroup(name) + return &l +} + +// attrToKVs appends a slog.Attr to a logr-style kvList. It handle slog Groups +// and other details of slog. +func attrToKVs(attr slog.Attr, kvList []any) []any { + attrVal := attr.Value.Resolve() + if attrVal.Kind() == slog.KindGroup { + groupVal := attrVal.Group() + grpKVs := make([]any, 0, 2*len(groupVal)) + for _, attr := range groupVal { + grpKVs = attrToKVs(attr, grpKVs) + } + if attr.Key == "" { + // slog says we have to inline these + kvList = append(kvList, grpKVs...) + } else { + kvList = append(kvList, attr.Key, PseudoStruct(grpKVs)) + } + } else if attr.Key != "" { + kvList = append(kvList, attr.Key, attrVal.Any()) + } + + return kvList +} + +// levelFromSlog adjusts the level by the logger's verbosity and negates it. +// It ensures that the result is >= 0. This is necessary because the result is +// passed to a LogSink and that API did not historically document whether +// levels could be negative or what that meant. +// +// Some example usage: +// +// logrV0 := getMyLogger() +// logrV2 := logrV0.V(2) +// slogV2 := slog.New(logr.ToSlogHandler(logrV2)) +// slogV2.Debug("msg") // =~ logrV2.V(4) =~ logrV0.V(6) +// slogV2.Info("msg") // =~ logrV2.V(0) =~ logrV0.V(2) +// slogv2.Warn("msg") // =~ logrV2.V(-4) =~ logrV0.V(0) +func (l fnlogger) levelFromSlog(level slog.Level) int { + result := -level + if result < 0 { + result = 0 // because LogSink doesn't expect negative V levels + } + return int(result) +} diff --git a/vendor/github.com/go-logr/logr/logr.go b/vendor/github.com/go-logr/logr/logr.go new file mode 100644 index 000000000..b4428e105 --- /dev/null +++ b/vendor/github.com/go-logr/logr/logr.go @@ -0,0 +1,520 @@ +/* +Copyright 2019 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// This design derives from Dave Cheney's blog: +// http://dave.cheney.net/2015/11/05/lets-talk-about-logging + +// Package logr defines a general-purpose logging API and abstract interfaces +// to back that API. Packages in the Go ecosystem can depend on this package, +// while callers can implement logging with whatever backend is appropriate. +// +// # Usage +// +// Logging is done using a Logger instance. Logger is a concrete type with +// methods, which defers the actual logging to a LogSink interface. The main +// methods of Logger are Info() and Error(). Arguments to Info() and Error() +// are key/value pairs rather than printf-style formatted strings, emphasizing +// "structured logging". +// +// With Go's standard log package, we might write: +// +// log.Printf("setting target value %s", targetValue) +// +// With logr's structured logging, we'd write: +// +// logger.Info("setting target", "value", targetValue) +// +// Errors are much the same. Instead of: +// +// log.Printf("failed to open the pod bay door for user %s: %v", user, err) +// +// We'd write: +// +// logger.Error(err, "failed to open the pod bay door", "user", user) +// +// Info() and Error() are very similar, but they are separate methods so that +// LogSink implementations can choose to do things like attach additional +// information (such as stack traces) on calls to Error(). Error() messages are +// always logged, regardless of the current verbosity. If there is no error +// instance available, passing nil is valid. +// +// # Verbosity +// +// Often we want to log information only when the application in "verbose +// mode". To write log lines that are more verbose, Logger has a V() method. +// The higher the V-level of a log line, the less critical it is considered. +// Log-lines with V-levels that are not enabled (as per the LogSink) will not +// be written. Level V(0) is the default, and logger.V(0).Info() has the same +// meaning as logger.Info(). Negative V-levels have the same meaning as V(0). +// Error messages do not have a verbosity level and are always logged. +// +// Where we might have written: +// +// if flVerbose >= 2 { +// log.Printf("an unusual thing happened") +// } +// +// We can write: +// +// logger.V(2).Info("an unusual thing happened") +// +// # Logger Names +// +// Logger instances can have name strings so that all messages logged through +// that instance have additional context. For example, you might want to add +// a subsystem name: +// +// logger.WithName("compactor").Info("started", "time", time.Now()) +// +// The WithName() method returns a new Logger, which can be passed to +// constructors or other functions for further use. Repeated use of WithName() +// will accumulate name "segments". These name segments will be joined in some +// way by the LogSink implementation. It is strongly recommended that name +// segments contain simple identifiers (letters, digits, and hyphen), and do +// not contain characters that could muddle the log output or confuse the +// joining operation (e.g. whitespace, commas, periods, slashes, brackets, +// quotes, etc). +// +// # Saved Values +// +// Logger instances can store any number of key/value pairs, which will be +// logged alongside all messages logged through that instance. For example, +// you might want to create a Logger instance per managed object: +// +// With the standard log package, we might write: +// +// log.Printf("decided to set field foo to value %q for object %s/%s", +// targetValue, object.Namespace, object.Name) +// +// With logr we'd write: +// +// // Elsewhere: set up the logger to log the object name. +// obj.logger = mainLogger.WithValues( +// "name", obj.name, "namespace", obj.namespace) +// +// // later on... +// obj.logger.Info("setting foo", "value", targetValue) +// +// # Best Practices +// +// Logger has very few hard rules, with the goal that LogSink implementations +// might have a lot of freedom to differentiate. There are, however, some +// things to consider. +// +// The log message consists of a constant message attached to the log line. +// This should generally be a simple description of what's occurring, and should +// never be a format string. Variable information can then be attached using +// named values. +// +// Keys are arbitrary strings, but should generally be constant values. Values +// may be any Go value, but how the value is formatted is determined by the +// LogSink implementation. +// +// Logger instances are meant to be passed around by value. Code that receives +// such a value can call its methods without having to check whether the +// instance is ready for use. +// +// The zero logger (= Logger{}) is identical to Discard() and discards all log +// entries. Code that receives a Logger by value can simply call it, the methods +// will never crash. For cases where passing a logger is optional, a pointer to Logger +// should be used. +// +// # Key Naming Conventions +// +// Keys are not strictly required to conform to any specification or regex, but +// it is recommended that they: +// - be human-readable and meaningful (not auto-generated or simple ordinals) +// - be constant (not dependent on input data) +// - contain only printable characters +// - not contain whitespace or punctuation +// - use lower case for simple keys and lowerCamelCase for more complex ones +// +// These guidelines help ensure that log data is processed properly regardless +// of the log implementation. For example, log implementations will try to +// output JSON data or will store data for later database (e.g. SQL) queries. +// +// While users are generally free to use key names of their choice, it's +// generally best to avoid using the following keys, as they're frequently used +// by implementations: +// - "caller": the calling information (file/line) of a particular log line +// - "error": the underlying error value in the `Error` method +// - "level": the log level +// - "logger": the name of the associated logger +// - "msg": the log message +// - "stacktrace": the stack trace associated with a particular log line or +// error (often from the `Error` message) +// - "ts": the timestamp for a log line +// +// Implementations are encouraged to make use of these keys to represent the +// above concepts, when necessary (for example, in a pure-JSON output form, it +// would be necessary to represent at least message and timestamp as ordinary +// named values). +// +// # Break Glass +// +// Implementations may choose to give callers access to the underlying +// logging implementation. The recommended pattern for this is: +// +// // Underlier exposes access to the underlying logging implementation. +// // Since callers only have a logr.Logger, they have to know which +// // implementation is in use, so this interface is less of an abstraction +// // and more of way to test type conversion. +// type Underlier interface { +// GetUnderlying() +// } +// +// Logger grants access to the sink to enable type assertions like this: +// +// func DoSomethingWithImpl(log logr.Logger) { +// if underlier, ok := log.GetSink().(impl.Underlier); ok { +// implLogger := underlier.GetUnderlying() +// ... +// } +// } +// +// Custom `With*` functions can be implemented by copying the complete +// Logger struct and replacing the sink in the copy: +// +// // WithFooBar changes the foobar parameter in the log sink and returns a +// // new logger with that modified sink. It does nothing for loggers where +// // the sink doesn't support that parameter. +// func WithFoobar(log logr.Logger, foobar int) logr.Logger { +// if foobarLogSink, ok := log.GetSink().(FoobarSink); ok { +// log = log.WithSink(foobarLogSink.WithFooBar(foobar)) +// } +// return log +// } +// +// Don't use New to construct a new Logger with a LogSink retrieved from an +// existing Logger. Source code attribution might not work correctly and +// unexported fields in Logger get lost. +// +// Beware that the same LogSink instance may be shared by different logger +// instances. Calling functions that modify the LogSink will affect all of +// those. +package logr + +// New returns a new Logger instance. This is primarily used by libraries +// implementing LogSink, rather than end users. Passing a nil sink will create +// a Logger which discards all log lines. +func New(sink LogSink) Logger { + logger := Logger{} + logger.setSink(sink) + if sink != nil { + sink.Init(runtimeInfo) + } + return logger +} + +// setSink stores the sink and updates any related fields. It mutates the +// logger and thus is only safe to use for loggers that are not currently being +// used concurrently. +func (l *Logger) setSink(sink LogSink) { + l.sink = sink +} + +// GetSink returns the stored sink. +func (l Logger) GetSink() LogSink { + return l.sink +} + +// WithSink returns a copy of the logger with the new sink. +func (l Logger) WithSink(sink LogSink) Logger { + l.setSink(sink) + return l +} + +// Logger is an interface to an abstract logging implementation. This is a +// concrete type for performance reasons, but all the real work is passed on to +// a LogSink. Implementations of LogSink should provide their own constructors +// that return Logger, not LogSink. +// +// The underlying sink can be accessed through GetSink and be modified through +// WithSink. This enables the implementation of custom extensions (see "Break +// Glass" in the package documentation). Normally the sink should be used only +// indirectly. +type Logger struct { + sink LogSink + level int +} + +// Enabled tests whether this Logger is enabled. For example, commandline +// flags might be used to set the logging verbosity and disable some info logs. +func (l Logger) Enabled() bool { + // Some implementations of LogSink look at the caller in Enabled (e.g. + // different verbosity levels per package or file), but we only pass one + // CallDepth in (via Init). This means that all calls from Logger to the + // LogSink's Enabled, Info, and Error methods must have the same number of + // frames. In other words, Logger methods can't call other Logger methods + // which call these LogSink methods unless we do it the same in all paths. + return l.sink != nil && l.sink.Enabled(l.level) +} + +// Info logs a non-error message with the given key/value pairs as context. +// +// The msg argument should be used to add some constant description to the log +// line. The key/value pairs can then be used to add additional variable +// information. The key/value pairs must alternate string keys and arbitrary +// values. +func (l Logger) Info(msg string, keysAndValues ...any) { + if l.sink == nil { + return + } + if l.sink.Enabled(l.level) { // see comment in Enabled + if withHelper, ok := l.sink.(CallStackHelperLogSink); ok { + withHelper.GetCallStackHelper()() + } + l.sink.Info(l.level, msg, keysAndValues...) + } +} + +// Error logs an error, with the given message and key/value pairs as context. +// It functions similarly to Info, but may have unique behavior, and should be +// preferred for logging errors (see the package documentations for more +// information). The log message will always be emitted, regardless of +// verbosity level. +// +// The msg argument should be used to add context to any underlying error, +// while the err argument should be used to attach the actual error that +// triggered this log line, if present. The err parameter is optional +// and nil may be passed instead of an error instance. +func (l Logger) Error(err error, msg string, keysAndValues ...any) { + if l.sink == nil { + return + } + if withHelper, ok := l.sink.(CallStackHelperLogSink); ok { + withHelper.GetCallStackHelper()() + } + l.sink.Error(err, msg, keysAndValues...) +} + +// V returns a new Logger instance for a specific verbosity level, relative to +// this Logger. In other words, V-levels are additive. A higher verbosity +// level means a log message is less important. Negative V-levels are treated +// as 0. +func (l Logger) V(level int) Logger { + if l.sink == nil { + return l + } + if level < 0 { + level = 0 + } + l.level += level + return l +} + +// GetV returns the verbosity level of the logger. If the logger's LogSink is +// nil as in the Discard logger, this will always return 0. +func (l Logger) GetV() int { + // 0 if l.sink nil because of the if check in V above. + return l.level +} + +// WithValues returns a new Logger instance with additional key/value pairs. +// See Info for documentation on how key/value pairs work. +func (l Logger) WithValues(keysAndValues ...any) Logger { + if l.sink == nil { + return l + } + l.setSink(l.sink.WithValues(keysAndValues...)) + return l +} + +// WithName returns a new Logger instance with the specified name element added +// to the Logger's name. Successive calls with WithName append additional +// suffixes to the Logger's name. It's strongly recommended that name segments +// contain only letters, digits, and hyphens (see the package documentation for +// more information). +func (l Logger) WithName(name string) Logger { + if l.sink == nil { + return l + } + l.setSink(l.sink.WithName(name)) + return l +} + +// WithCallDepth returns a Logger instance that offsets the call stack by the +// specified number of frames when logging call site information, if possible. +// This is useful for users who have helper functions between the "real" call +// site and the actual calls to Logger methods. If depth is 0 the attribution +// should be to the direct caller of this function. If depth is 1 the +// attribution should skip 1 call frame, and so on. Successive calls to this +// are additive. +// +// If the underlying log implementation supports a WithCallDepth(int) method, +// it will be called and the result returned. If the implementation does not +// support CallDepthLogSink, the original Logger will be returned. +// +// To skip one level, WithCallStackHelper() should be used instead of +// WithCallDepth(1) because it works with implementions that support the +// CallDepthLogSink and/or CallStackHelperLogSink interfaces. +func (l Logger) WithCallDepth(depth int) Logger { + if l.sink == nil { + return l + } + if withCallDepth, ok := l.sink.(CallDepthLogSink); ok { + l.setSink(withCallDepth.WithCallDepth(depth)) + } + return l +} + +// WithCallStackHelper returns a new Logger instance that skips the direct +// caller when logging call site information, if possible. This is useful for +// users who have helper functions between the "real" call site and the actual +// calls to Logger methods and want to support loggers which depend on marking +// each individual helper function, like loggers based on testing.T. +// +// In addition to using that new logger instance, callers also must call the +// returned function. +// +// If the underlying log implementation supports a WithCallDepth(int) method, +// WithCallDepth(1) will be called to produce a new logger. If it supports a +// WithCallStackHelper() method, that will be also called. If the +// implementation does not support either of these, the original Logger will be +// returned. +func (l Logger) WithCallStackHelper() (func(), Logger) { + if l.sink == nil { + return func() {}, l + } + var helper func() + if withCallDepth, ok := l.sink.(CallDepthLogSink); ok { + l.setSink(withCallDepth.WithCallDepth(1)) + } + if withHelper, ok := l.sink.(CallStackHelperLogSink); ok { + helper = withHelper.GetCallStackHelper() + } else { + helper = func() {} + } + return helper, l +} + +// IsZero returns true if this logger is an uninitialized zero value +func (l Logger) IsZero() bool { + return l.sink == nil +} + +// RuntimeInfo holds information that the logr "core" library knows which +// LogSinks might want to know. +type RuntimeInfo struct { + // CallDepth is the number of call frames the logr library adds between the + // end-user and the LogSink. LogSink implementations which choose to print + // the original logging site (e.g. file & line) should climb this many + // additional frames to find it. + CallDepth int +} + +// runtimeInfo is a static global. It must not be changed at run time. +var runtimeInfo = RuntimeInfo{ + CallDepth: 1, +} + +// LogSink represents a logging implementation. End-users will generally not +// interact with this type. +type LogSink interface { + // Init receives optional information about the logr library for LogSink + // implementations that need it. + Init(info RuntimeInfo) + + // Enabled tests whether this LogSink is enabled at the specified V-level. + // For example, commandline flags might be used to set the logging + // verbosity and disable some info logs. + Enabled(level int) bool + + // Info logs a non-error message with the given key/value pairs as context. + // The level argument is provided for optional logging. This method will + // only be called when Enabled(level) is true. See Logger.Info for more + // details. + Info(level int, msg string, keysAndValues ...any) + + // Error logs an error, with the given message and key/value pairs as + // context. See Logger.Error for more details. + Error(err error, msg string, keysAndValues ...any) + + // WithValues returns a new LogSink with additional key/value pairs. See + // Logger.WithValues for more details. + WithValues(keysAndValues ...any) LogSink + + // WithName returns a new LogSink with the specified name appended. See + // Logger.WithName for more details. + WithName(name string) LogSink +} + +// CallDepthLogSink represents a LogSink that knows how to climb the call stack +// to identify the original call site and can offset the depth by a specified +// number of frames. This is useful for users who have helper functions +// between the "real" call site and the actual calls to Logger methods. +// Implementations that log information about the call site (such as file, +// function, or line) would otherwise log information about the intermediate +// helper functions. +// +// This is an optional interface and implementations are not required to +// support it. +type CallDepthLogSink interface { + // WithCallDepth returns a LogSink that will offset the call + // stack by the specified number of frames when logging call + // site information. + // + // If depth is 0, the LogSink should skip exactly the number + // of call frames defined in RuntimeInfo.CallDepth when Info + // or Error are called, i.e. the attribution should be to the + // direct caller of Logger.Info or Logger.Error. + // + // If depth is 1 the attribution should skip 1 call frame, and so on. + // Successive calls to this are additive. + WithCallDepth(depth int) LogSink +} + +// CallStackHelperLogSink represents a LogSink that knows how to climb +// the call stack to identify the original call site and can skip +// intermediate helper functions if they mark themselves as +// helper. Go's testing package uses that approach. +// +// This is useful for users who have helper functions between the +// "real" call site and the actual calls to Logger methods. +// Implementations that log information about the call site (such as +// file, function, or line) would otherwise log information about the +// intermediate helper functions. +// +// This is an optional interface and implementations are not required +// to support it. Implementations that choose to support this must not +// simply implement it as WithCallDepth(1), because +// Logger.WithCallStackHelper will call both methods if they are +// present. This should only be implemented for LogSinks that actually +// need it, as with testing.T. +type CallStackHelperLogSink interface { + // GetCallStackHelper returns a function that must be called + // to mark the direct caller as helper function when logging + // call site information. + GetCallStackHelper() func() +} + +// Marshaler is an optional interface that logged values may choose to +// implement. Loggers with structured output, such as JSON, should +// log the object return by the MarshalLog method instead of the +// original value. +type Marshaler interface { + // MarshalLog can be used to: + // - ensure that structs are not logged as strings when the original + // value has a String method: return a different type without a + // String method + // - select which fields of a complex type should get logged: + // return a simpler struct with fewer fields + // - log unexported fields: return a different struct + // with exported fields + // + // It may return any value of any type. + MarshalLog() any +} diff --git a/vendor/github.com/go-logr/logr/sloghandler.go b/vendor/github.com/go-logr/logr/sloghandler.go new file mode 100644 index 000000000..82d1ba494 --- /dev/null +++ b/vendor/github.com/go-logr/logr/sloghandler.go @@ -0,0 +1,192 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package logr + +import ( + "context" + "log/slog" +) + +type slogHandler struct { + // May be nil, in which case all logs get discarded. + sink LogSink + // Non-nil if sink is non-nil and implements SlogSink. + slogSink SlogSink + + // groupPrefix collects values from WithGroup calls. It gets added as + // prefix to value keys when handling a log record. + groupPrefix string + + // levelBias can be set when constructing the handler to influence the + // slog.Level of log records. A positive levelBias reduces the + // slog.Level value. slog has no API to influence this value after the + // handler got created, so it can only be set indirectly through + // Logger.V. + levelBias slog.Level +} + +var _ slog.Handler = &slogHandler{} + +// groupSeparator is used to concatenate WithGroup names and attribute keys. +const groupSeparator = "." + +// GetLevel is used for black box unit testing. +func (l *slogHandler) GetLevel() slog.Level { + return l.levelBias +} + +func (l *slogHandler) Enabled(_ context.Context, level slog.Level) bool { + return l.sink != nil && (level >= slog.LevelError || l.sink.Enabled(l.levelFromSlog(level))) +} + +func (l *slogHandler) Handle(ctx context.Context, record slog.Record) error { + if l.slogSink != nil { + // Only adjust verbosity level of log entries < slog.LevelError. + if record.Level < slog.LevelError { + record.Level -= l.levelBias + } + return l.slogSink.Handle(ctx, record) + } + + // No need to check for nil sink here because Handle will only be called + // when Enabled returned true. + + kvList := make([]any, 0, 2*record.NumAttrs()) + record.Attrs(func(attr slog.Attr) bool { + kvList = attrToKVs(attr, l.groupPrefix, kvList) + return true + }) + if record.Level >= slog.LevelError { + l.sinkWithCallDepth().Error(nil, record.Message, kvList...) + } else { + level := l.levelFromSlog(record.Level) + l.sinkWithCallDepth().Info(level, record.Message, kvList...) + } + return nil +} + +// sinkWithCallDepth adjusts the stack unwinding so that when Error or Info +// are called by Handle, code in slog gets skipped. +// +// This offset currently (Go 1.21.0) works for calls through +// slog.New(ToSlogHandler(...)). There's no guarantee that the call +// chain won't change. Wrapping the handler will also break unwinding. It's +// still better than not adjusting at all.... +// +// This cannot be done when constructing the handler because FromSlogHandler needs +// access to the original sink without this adjustment. A second copy would +// work, but then WithAttrs would have to be called for both of them. +func (l *slogHandler) sinkWithCallDepth() LogSink { + if sink, ok := l.sink.(CallDepthLogSink); ok { + return sink.WithCallDepth(2) + } + return l.sink +} + +func (l *slogHandler) WithAttrs(attrs []slog.Attr) slog.Handler { + if l.sink == nil || len(attrs) == 0 { + return l + } + + clone := *l + if l.slogSink != nil { + clone.slogSink = l.slogSink.WithAttrs(attrs) + clone.sink = clone.slogSink + } else { + kvList := make([]any, 0, 2*len(attrs)) + for _, attr := range attrs { + kvList = attrToKVs(attr, l.groupPrefix, kvList) + } + clone.sink = l.sink.WithValues(kvList...) + } + return &clone +} + +func (l *slogHandler) WithGroup(name string) slog.Handler { + if l.sink == nil { + return l + } + if name == "" { + // slog says to inline empty groups + return l + } + clone := *l + if l.slogSink != nil { + clone.slogSink = l.slogSink.WithGroup(name) + clone.sink = clone.slogSink + } else { + clone.groupPrefix = addPrefix(clone.groupPrefix, name) + } + return &clone +} + +// attrToKVs appends a slog.Attr to a logr-style kvList. It handle slog Groups +// and other details of slog. +func attrToKVs(attr slog.Attr, groupPrefix string, kvList []any) []any { + attrVal := attr.Value.Resolve() + if attrVal.Kind() == slog.KindGroup { + groupVal := attrVal.Group() + grpKVs := make([]any, 0, 2*len(groupVal)) + prefix := groupPrefix + if attr.Key != "" { + prefix = addPrefix(groupPrefix, attr.Key) + } + for _, attr := range groupVal { + grpKVs = attrToKVs(attr, prefix, grpKVs) + } + kvList = append(kvList, grpKVs...) + } else if attr.Key != "" { + kvList = append(kvList, addPrefix(groupPrefix, attr.Key), attrVal.Any()) + } + + return kvList +} + +func addPrefix(prefix, name string) string { + if prefix == "" { + return name + } + if name == "" { + return prefix + } + return prefix + groupSeparator + name +} + +// levelFromSlog adjusts the level by the logger's verbosity and negates it. +// It ensures that the result is >= 0. This is necessary because the result is +// passed to a LogSink and that API did not historically document whether +// levels could be negative or what that meant. +// +// Some example usage: +// +// logrV0 := getMyLogger() +// logrV2 := logrV0.V(2) +// slogV2 := slog.New(logr.ToSlogHandler(logrV2)) +// slogV2.Debug("msg") // =~ logrV2.V(4) =~ logrV0.V(6) +// slogV2.Info("msg") // =~ logrV2.V(0) =~ logrV0.V(2) +// slogv2.Warn("msg") // =~ logrV2.V(-4) =~ logrV0.V(0) +func (l *slogHandler) levelFromSlog(level slog.Level) int { + result := -level + result += l.levelBias // in case the original Logger had a V level + if result < 0 { + result = 0 // because LogSink doesn't expect negative V levels + } + return int(result) +} diff --git a/vendor/github.com/go-logr/logr/slogr.go b/vendor/github.com/go-logr/logr/slogr.go new file mode 100644 index 000000000..28a83d024 --- /dev/null +++ b/vendor/github.com/go-logr/logr/slogr.go @@ -0,0 +1,100 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package logr + +import ( + "context" + "log/slog" +) + +// FromSlogHandler returns a Logger which writes to the slog.Handler. +// +// The logr verbosity level is mapped to slog levels such that V(0) becomes +// slog.LevelInfo and V(4) becomes slog.LevelDebug. +func FromSlogHandler(handler slog.Handler) Logger { + if handler, ok := handler.(*slogHandler); ok { + if handler.sink == nil { + return Discard() + } + return New(handler.sink).V(int(handler.levelBias)) + } + return New(&slogSink{handler: handler}) +} + +// ToSlogHandler returns a slog.Handler which writes to the same sink as the Logger. +// +// The returned logger writes all records with level >= slog.LevelError as +// error log entries with LogSink.Error, regardless of the verbosity level of +// the Logger: +// +// logger := +// slog.New(ToSlogHandler(logger.V(10))).Error(...) -> logSink.Error(...) +// +// The level of all other records gets reduced by the verbosity +// level of the Logger and the result is negated. If it happens +// to be negative, then it gets replaced by zero because a LogSink +// is not expected to handled negative levels: +// +// slog.New(ToSlogHandler(logger)).Debug(...) -> logger.GetSink().Info(level=4, ...) +// slog.New(ToSlogHandler(logger)).Warning(...) -> logger.GetSink().Info(level=0, ...) +// slog.New(ToSlogHandler(logger)).Info(...) -> logger.GetSink().Info(level=0, ...) +// slog.New(ToSlogHandler(logger.V(4))).Info(...) -> logger.GetSink().Info(level=4, ...) +func ToSlogHandler(logger Logger) slog.Handler { + if sink, ok := logger.GetSink().(*slogSink); ok && logger.GetV() == 0 { + return sink.handler + } + + handler := &slogHandler{sink: logger.GetSink(), levelBias: slog.Level(logger.GetV())} + if slogSink, ok := handler.sink.(SlogSink); ok { + handler.slogSink = slogSink + } + return handler +} + +// SlogSink is an optional interface that a LogSink can implement to support +// logging through the slog.Logger or slog.Handler APIs better. It then should +// also support special slog values like slog.Group. When used as a +// slog.Handler, the advantages are: +// +// - stack unwinding gets avoided in favor of logging the pre-recorded PC, +// as intended by slog +// - proper grouping of key/value pairs via WithGroup +// - verbosity levels > slog.LevelInfo can be recorded +// - less overhead +// +// Both APIs (Logger and slog.Logger/Handler) then are supported equally +// well. Developers can pick whatever API suits them better and/or mix +// packages which use either API in the same binary with a common logging +// implementation. +// +// This interface is necessary because the type implementing the LogSink +// interface cannot also implement the slog.Handler interface due to the +// different prototype of the common Enabled method. +// +// An implementation could support both interfaces in two different types, but then +// additional interfaces would be needed to convert between those types in FromSlogHandler +// and ToSlogHandler. +type SlogSink interface { + LogSink + + Handle(ctx context.Context, record slog.Record) error + WithAttrs(attrs []slog.Attr) SlogSink + WithGroup(name string) SlogSink +} diff --git a/vendor/github.com/go-logr/logr/slogsink.go b/vendor/github.com/go-logr/logr/slogsink.go new file mode 100644 index 000000000..4060fcbc2 --- /dev/null +++ b/vendor/github.com/go-logr/logr/slogsink.go @@ -0,0 +1,120 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package logr + +import ( + "context" + "log/slog" + "runtime" + "time" +) + +var ( + _ LogSink = &slogSink{} + _ CallDepthLogSink = &slogSink{} + _ Underlier = &slogSink{} +) + +// Underlier is implemented by the LogSink returned by NewFromLogHandler. +type Underlier interface { + // GetUnderlying returns the Handler used by the LogSink. + GetUnderlying() slog.Handler +} + +const ( + // nameKey is used to log the `WithName` values as an additional attribute. + nameKey = "logger" + + // errKey is used to log the error parameter of Error as an additional attribute. + errKey = "err" +) + +type slogSink struct { + callDepth int + name string + handler slog.Handler +} + +func (l *slogSink) Init(info RuntimeInfo) { + l.callDepth = info.CallDepth +} + +func (l *slogSink) GetUnderlying() slog.Handler { + return l.handler +} + +func (l *slogSink) WithCallDepth(depth int) LogSink { + newLogger := *l + newLogger.callDepth += depth + return &newLogger +} + +func (l *slogSink) Enabled(level int) bool { + return l.handler.Enabled(context.Background(), slog.Level(-level)) +} + +func (l *slogSink) Info(level int, msg string, kvList ...interface{}) { + l.log(nil, msg, slog.Level(-level), kvList...) +} + +func (l *slogSink) Error(err error, msg string, kvList ...interface{}) { + l.log(err, msg, slog.LevelError, kvList...) +} + +func (l *slogSink) log(err error, msg string, level slog.Level, kvList ...interface{}) { + var pcs [1]uintptr + // skip runtime.Callers, this function, Info/Error, and all helper functions above that. + runtime.Callers(3+l.callDepth, pcs[:]) + + record := slog.NewRecord(time.Now(), level, msg, pcs[0]) + if l.name != "" { + record.AddAttrs(slog.String(nameKey, l.name)) + } + if err != nil { + record.AddAttrs(slog.Any(errKey, err)) + } + record.Add(kvList...) + _ = l.handler.Handle(context.Background(), record) +} + +func (l slogSink) WithName(name string) LogSink { + if l.name != "" { + l.name += "/" + } + l.name += name + return &l +} + +func (l slogSink) WithValues(kvList ...interface{}) LogSink { + l.handler = l.handler.WithAttrs(kvListToAttrs(kvList...)) + return &l +} + +func kvListToAttrs(kvList ...interface{}) []slog.Attr { + // We don't need the record itself, only its Add method. + record := slog.NewRecord(time.Time{}, 0, "", 0) + record.Add(kvList...) + attrs := make([]slog.Attr, 0, record.NumAttrs()) + record.Attrs(func(attr slog.Attr) bool { + attrs = append(attrs, attr) + return true + }) + return attrs +} diff --git a/vendor/github.com/go-logr/stdr/LICENSE b/vendor/github.com/go-logr/stdr/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/github.com/go-logr/stdr/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-logr/stdr/README.md b/vendor/github.com/go-logr/stdr/README.md new file mode 100644 index 000000000..515866789 --- /dev/null +++ b/vendor/github.com/go-logr/stdr/README.md @@ -0,0 +1,6 @@ +# Minimal Go logging using logr and Go's standard library + +[![Go Reference](https://pkg.go.dev/badge/github.com/go-logr/stdr.svg)](https://pkg.go.dev/github.com/go-logr/stdr) + +This package implements the [logr interface](https://github.com/go-logr/logr) +in terms of Go's standard log package(https://pkg.go.dev/log). diff --git a/vendor/github.com/go-logr/stdr/stdr.go b/vendor/github.com/go-logr/stdr/stdr.go new file mode 100644 index 000000000..93a8aab51 --- /dev/null +++ b/vendor/github.com/go-logr/stdr/stdr.go @@ -0,0 +1,170 @@ +/* +Copyright 2019 The logr Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Package stdr implements github.com/go-logr/logr.Logger in terms of +// Go's standard log package. +package stdr + +import ( + "log" + "os" + + "github.com/go-logr/logr" + "github.com/go-logr/logr/funcr" +) + +// The global verbosity level. See SetVerbosity(). +var globalVerbosity int + +// SetVerbosity sets the global level against which all info logs will be +// compared. If this is greater than or equal to the "V" of the logger, the +// message will be logged. A higher value here means more logs will be written. +// The previous verbosity value is returned. This is not concurrent-safe - +// callers must be sure to call it from only one goroutine. +func SetVerbosity(v int) int { + old := globalVerbosity + globalVerbosity = v + return old +} + +// New returns a logr.Logger which is implemented by Go's standard log package, +// or something like it. If std is nil, this will use a default logger +// instead. +// +// Example: stdr.New(log.New(os.Stderr, "", log.LstdFlags|log.Lshortfile))) +func New(std StdLogger) logr.Logger { + return NewWithOptions(std, Options{}) +} + +// NewWithOptions returns a logr.Logger which is implemented by Go's standard +// log package, or something like it. See New for details. +func NewWithOptions(std StdLogger, opts Options) logr.Logger { + if std == nil { + // Go's log.Default() is only available in 1.16 and higher. + std = log.New(os.Stderr, "", log.LstdFlags) + } + + if opts.Depth < 0 { + opts.Depth = 0 + } + + fopts := funcr.Options{ + LogCaller: funcr.MessageClass(opts.LogCaller), + } + + sl := &logger{ + Formatter: funcr.NewFormatter(fopts), + std: std, + } + + // For skipping our own logger.Info/Error. + sl.Formatter.AddCallDepth(1 + opts.Depth) + + return logr.New(sl) +} + +// Options carries parameters which influence the way logs are generated. +type Options struct { + // Depth biases the assumed number of call frames to the "true" caller. + // This is useful when the calling code calls a function which then calls + // stdr (e.g. a logging shim to another API). Values less than zero will + // be treated as zero. + Depth int + + // LogCaller tells stdr to add a "caller" key to some or all log lines. + // Go's log package has options to log this natively, too. + LogCaller MessageClass + + // TODO: add an option to log the date/time +} + +// MessageClass indicates which category or categories of messages to consider. +type MessageClass int + +const ( + // None ignores all message classes. + None MessageClass = iota + // All considers all message classes. + All + // Info only considers info messages. + Info + // Error only considers error messages. + Error +) + +// StdLogger is the subset of the Go stdlib log.Logger API that is needed for +// this adapter. +type StdLogger interface { + // Output is the same as log.Output and log.Logger.Output. + Output(calldepth int, logline string) error +} + +type logger struct { + funcr.Formatter + std StdLogger +} + +var _ logr.LogSink = &logger{} +var _ logr.CallDepthLogSink = &logger{} + +func (l logger) Enabled(level int) bool { + return globalVerbosity >= level +} + +func (l logger) Info(level int, msg string, kvList ...interface{}) { + prefix, args := l.FormatInfo(level, msg, kvList) + if prefix != "" { + args = prefix + ": " + args + } + _ = l.std.Output(l.Formatter.GetDepth()+1, args) +} + +func (l logger) Error(err error, msg string, kvList ...interface{}) { + prefix, args := l.FormatError(err, msg, kvList) + if prefix != "" { + args = prefix + ": " + args + } + _ = l.std.Output(l.Formatter.GetDepth()+1, args) +} + +func (l logger) WithName(name string) logr.LogSink { + l.Formatter.AddName(name) + return &l +} + +func (l logger) WithValues(kvList ...interface{}) logr.LogSink { + l.Formatter.AddValues(kvList) + return &l +} + +func (l logger) WithCallDepth(depth int) logr.LogSink { + l.Formatter.AddCallDepth(depth) + return &l +} + +// Underlier exposes access to the underlying logging implementation. Since +// callers only have a logr.Logger, they have to know which implementation is +// in use, so this interface is less of an abstraction and more of way to test +// type conversion. +type Underlier interface { + GetUnderlying() StdLogger +} + +// GetUnderlying returns the StdLogger underneath this logger. Since StdLogger +// is itself an interface, the result may or may not be a Go log.Logger. +func (l logger) GetUnderlying() StdLogger { + return l.std +} diff --git a/vendor/github.com/go-openapi/analysis/.codecov.yml b/vendor/github.com/go-openapi/analysis/.codecov.yml new file mode 100644 index 000000000..841c4281e --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/.codecov.yml @@ -0,0 +1,5 @@ +coverage: + status: + patch: + default: + target: 80% diff --git a/vendor/github.com/go-openapi/analysis/.gitattributes b/vendor/github.com/go-openapi/analysis/.gitattributes new file mode 100644 index 000000000..d020be8ea --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/.gitattributes @@ -0,0 +1,2 @@ +*.go text eol=lf + diff --git a/vendor/github.com/go-openapi/analysis/.gitignore b/vendor/github.com/go-openapi/analysis/.gitignore new file mode 100644 index 000000000..87c3bd3e6 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/.gitignore @@ -0,0 +1,5 @@ +secrets.yml +coverage.out +coverage.txt +*.cov +.idea diff --git a/vendor/github.com/go-openapi/analysis/.golangci.yml b/vendor/github.com/go-openapi/analysis/.golangci.yml new file mode 100644 index 000000000..22f8d21cc --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/.golangci.yml @@ -0,0 +1,61 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 45 + maligned: + suggest-new: true + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + +linters: + enable-all: true + disable: + - maligned + - unparam + - lll + - gochecknoinits + - gochecknoglobals + - funlen + - godox + - gocognit + - whitespace + - wsl + - wrapcheck + - testpackage + - nlreturn + - gomnd + - exhaustivestruct + - goerr113 + - errorlint + - nestif + - godot + - gofumpt + - paralleltest + - tparallel + - thelper + - ifshort + - exhaustruct + - varnamelen + - gci + - depguard + - errchkjson + - inamedparam + - nonamedreturns + - musttag + - ireturn + - forcetypeassert + - cyclop + # deprecated linters + - deadcode + - interfacer + - scopelint + - varcheck + - structcheck + - golint + - nosnakecase diff --git a/vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/analysis/LICENSE b/vendor/github.com/go-openapi/analysis/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/analysis/README.md b/vendor/github.com/go-openapi/analysis/README.md new file mode 100644 index 000000000..e005d4b37 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/README.md @@ -0,0 +1,27 @@ +# OpenAPI analysis [![Build Status](https://github.com/go-openapi/analysis/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/analysis/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/analysis/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/analysis) + +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/analysis/master/LICENSE) +[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/analysis.svg)](https://pkg.go.dev/github.com/go-openapi/analysis) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/analysis)](https://goreportcard.com/report/github.com/go-openapi/analysis) + + +A foundational library to analyze an OAI specification document for easier reasoning about the content. + +## What's inside? + +* An analyzer providing methods to walk the functional content of a specification +* A spec flattener producing a self-contained document bundle, while preserving `$ref`s +* A spec merger ("mixin") to merge several spec documents into a primary spec +* A spec "fixer" ensuring that response descriptions are non empty + +[Documentation](https://pkg.go.dev/github.com/go-openapi/analysis) + +## FAQ + +* Does this library support OpenAPI 3? + +> No. +> This package currently only supports OpenAPI 2.0 (aka Swagger 2.0). +> There is no plan to make it evolve toward supporting OpenAPI 3.x. +> This [discussion thread](https://github.com/go-openapi/spec/issues/21) relates the full story. diff --git a/vendor/github.com/go-openapi/analysis/analyzer.go b/vendor/github.com/go-openapi/analysis/analyzer.go new file mode 100644 index 000000000..c17aee1b6 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/analyzer.go @@ -0,0 +1,1064 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package analysis + +import ( + "fmt" + slashpath "path" + "strconv" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/spec" + "github.com/go-openapi/swag" +) + +type referenceAnalysis struct { + schemas map[string]spec.Ref + responses map[string]spec.Ref + parameters map[string]spec.Ref + items map[string]spec.Ref + headerItems map[string]spec.Ref + parameterItems map[string]spec.Ref + allRefs map[string]spec.Ref + pathItems map[string]spec.Ref +} + +func (r *referenceAnalysis) addRef(key string, ref spec.Ref) { + r.allRefs["#"+key] = ref +} + +func (r *referenceAnalysis) addItemsRef(key string, items *spec.Items, location string) { + r.items["#"+key] = items.Ref + r.addRef(key, items.Ref) + if location == "header" { + // NOTE: in swagger 2.0, headers and parameters (but not body param schemas) are simple schemas + // and $ref are not supported here. However it is possible to analyze this. + r.headerItems["#"+key] = items.Ref + } else { + r.parameterItems["#"+key] = items.Ref + } +} + +func (r *referenceAnalysis) addSchemaRef(key string, ref SchemaRef) { + r.schemas["#"+key] = ref.Schema.Ref + r.addRef(key, ref.Schema.Ref) +} + +func (r *referenceAnalysis) addResponseRef(key string, resp *spec.Response) { + r.responses["#"+key] = resp.Ref + r.addRef(key, resp.Ref) +} + +func (r *referenceAnalysis) addParamRef(key string, param *spec.Parameter) { + r.parameters["#"+key] = param.Ref + r.addRef(key, param.Ref) +} + +func (r *referenceAnalysis) addPathItemRef(key string, pathItem *spec.PathItem) { + r.pathItems["#"+key] = pathItem.Ref + r.addRef(key, pathItem.Ref) +} + +type patternAnalysis struct { + parameters map[string]string + headers map[string]string + items map[string]string + schemas map[string]string + allPatterns map[string]string +} + +func (p *patternAnalysis) addPattern(key, pattern string) { + p.allPatterns["#"+key] = pattern +} + +func (p *patternAnalysis) addParameterPattern(key, pattern string) { + p.parameters["#"+key] = pattern + p.addPattern(key, pattern) +} + +func (p *patternAnalysis) addHeaderPattern(key, pattern string) { + p.headers["#"+key] = pattern + p.addPattern(key, pattern) +} + +func (p *patternAnalysis) addItemsPattern(key, pattern string) { + p.items["#"+key] = pattern + p.addPattern(key, pattern) +} + +func (p *patternAnalysis) addSchemaPattern(key, pattern string) { + p.schemas["#"+key] = pattern + p.addPattern(key, pattern) +} + +type enumAnalysis struct { + parameters map[string][]interface{} + headers map[string][]interface{} + items map[string][]interface{} + schemas map[string][]interface{} + allEnums map[string][]interface{} +} + +func (p *enumAnalysis) addEnum(key string, enum []interface{}) { + p.allEnums["#"+key] = enum +} + +func (p *enumAnalysis) addParameterEnum(key string, enum []interface{}) { + p.parameters["#"+key] = enum + p.addEnum(key, enum) +} + +func (p *enumAnalysis) addHeaderEnum(key string, enum []interface{}) { + p.headers["#"+key] = enum + p.addEnum(key, enum) +} + +func (p *enumAnalysis) addItemsEnum(key string, enum []interface{}) { + p.items["#"+key] = enum + p.addEnum(key, enum) +} + +func (p *enumAnalysis) addSchemaEnum(key string, enum []interface{}) { + p.schemas["#"+key] = enum + p.addEnum(key, enum) +} + +// New takes a swagger spec object and returns an analyzed spec document. +// The analyzed document contains a number of indices that make it easier to +// reason about semantics of a swagger specification for use in code generation +// or validation etc. +func New(doc *spec.Swagger) *Spec { + a := &Spec{ + spec: doc, + references: referenceAnalysis{}, + patterns: patternAnalysis{}, + enums: enumAnalysis{}, + } + a.reset() + a.initialize() + + return a +} + +// Spec is an analyzed specification object. It takes a swagger spec object and turns it into a registry +// with a bunch of utility methods to act on the information in the spec. +type Spec struct { + spec *spec.Swagger + consumes map[string]struct{} + produces map[string]struct{} + authSchemes map[string]struct{} + operations map[string]map[string]*spec.Operation + references referenceAnalysis + patterns patternAnalysis + enums enumAnalysis + allSchemas map[string]SchemaRef + allOfs map[string]SchemaRef +} + +func (s *Spec) reset() { + s.consumes = make(map[string]struct{}, 150) + s.produces = make(map[string]struct{}, 150) + s.authSchemes = make(map[string]struct{}, 150) + s.operations = make(map[string]map[string]*spec.Operation, 150) + s.allSchemas = make(map[string]SchemaRef, 150) + s.allOfs = make(map[string]SchemaRef, 150) + s.references.schemas = make(map[string]spec.Ref, 150) + s.references.pathItems = make(map[string]spec.Ref, 150) + s.references.responses = make(map[string]spec.Ref, 150) + s.references.parameters = make(map[string]spec.Ref, 150) + s.references.items = make(map[string]spec.Ref, 150) + s.references.headerItems = make(map[string]spec.Ref, 150) + s.references.parameterItems = make(map[string]spec.Ref, 150) + s.references.allRefs = make(map[string]spec.Ref, 150) + s.patterns.parameters = make(map[string]string, 150) + s.patterns.headers = make(map[string]string, 150) + s.patterns.items = make(map[string]string, 150) + s.patterns.schemas = make(map[string]string, 150) + s.patterns.allPatterns = make(map[string]string, 150) + s.enums.parameters = make(map[string][]interface{}, 150) + s.enums.headers = make(map[string][]interface{}, 150) + s.enums.items = make(map[string][]interface{}, 150) + s.enums.schemas = make(map[string][]interface{}, 150) + s.enums.allEnums = make(map[string][]interface{}, 150) +} + +func (s *Spec) reload() { + s.reset() + s.initialize() +} + +func (s *Spec) initialize() { + for _, c := range s.spec.Consumes { + s.consumes[c] = struct{}{} + } + for _, c := range s.spec.Produces { + s.produces[c] = struct{}{} + } + for _, ss := range s.spec.Security { + for k := range ss { + s.authSchemes[k] = struct{}{} + } + } + for path, pathItem := range s.AllPaths() { + s.analyzeOperations(path, &pathItem) //#nosec + } + + for name, parameter := range s.spec.Parameters { + refPref := slashpath.Join("/parameters", jsonpointer.Escape(name)) + if parameter.Items != nil { + s.analyzeItems("items", parameter.Items, refPref, "parameter") + } + if parameter.In == "body" && parameter.Schema != nil { + s.analyzeSchema("schema", parameter.Schema, refPref) + } + if parameter.Pattern != "" { + s.patterns.addParameterPattern(refPref, parameter.Pattern) + } + if len(parameter.Enum) > 0 { + s.enums.addParameterEnum(refPref, parameter.Enum) + } + } + + for name, response := range s.spec.Responses { + refPref := slashpath.Join("/responses", jsonpointer.Escape(name)) + for k, v := range response.Headers { + hRefPref := slashpath.Join(refPref, "headers", k) + if v.Items != nil { + s.analyzeItems("items", v.Items, hRefPref, "header") + } + if v.Pattern != "" { + s.patterns.addHeaderPattern(hRefPref, v.Pattern) + } + if len(v.Enum) > 0 { + s.enums.addHeaderEnum(hRefPref, v.Enum) + } + } + if response.Schema != nil { + s.analyzeSchema("schema", response.Schema, refPref) + } + } + + for name := range s.spec.Definitions { + schema := s.spec.Definitions[name] + s.analyzeSchema(name, &schema, "/definitions") + } + // TODO: after analyzing all things and flattening schemas etc + // resolve all the collected references to their final representations + // best put in a separate method because this could get expensive +} + +func (s *Spec) analyzeOperations(path string, pi *spec.PathItem) { + // TODO: resolve refs here? + // Currently, operations declared via pathItem $ref are known only after expansion + op := pi + if pi.Ref.String() != "" { + key := slashpath.Join("/paths", jsonpointer.Escape(path)) + s.references.addPathItemRef(key, pi) + } + s.analyzeOperation("GET", path, op.Get) + s.analyzeOperation("PUT", path, op.Put) + s.analyzeOperation("POST", path, op.Post) + s.analyzeOperation("PATCH", path, op.Patch) + s.analyzeOperation("DELETE", path, op.Delete) + s.analyzeOperation("HEAD", path, op.Head) + s.analyzeOperation("OPTIONS", path, op.Options) + for i, param := range op.Parameters { + refPref := slashpath.Join("/paths", jsonpointer.Escape(path), "parameters", strconv.Itoa(i)) + if param.Ref.String() != "" { + s.references.addParamRef(refPref, ¶m) //#nosec + } + if param.Pattern != "" { + s.patterns.addParameterPattern(refPref, param.Pattern) + } + if len(param.Enum) > 0 { + s.enums.addParameterEnum(refPref, param.Enum) + } + if param.Items != nil { + s.analyzeItems("items", param.Items, refPref, "parameter") + } + if param.Schema != nil { + s.analyzeSchema("schema", param.Schema, refPref) + } + } +} + +func (s *Spec) analyzeItems(name string, items *spec.Items, prefix, location string) { + if items == nil { + return + } + refPref := slashpath.Join(prefix, name) + s.analyzeItems(name, items.Items, refPref, location) + if items.Ref.String() != "" { + s.references.addItemsRef(refPref, items, location) + } + if items.Pattern != "" { + s.patterns.addItemsPattern(refPref, items.Pattern) + } + if len(items.Enum) > 0 { + s.enums.addItemsEnum(refPref, items.Enum) + } +} + +func (s *Spec) analyzeParameter(prefix string, i int, param spec.Parameter) { + refPref := slashpath.Join(prefix, "parameters", strconv.Itoa(i)) + if param.Ref.String() != "" { + s.references.addParamRef(refPref, ¶m) //#nosec + } + + if param.Pattern != "" { + s.patterns.addParameterPattern(refPref, param.Pattern) + } + + if len(param.Enum) > 0 { + s.enums.addParameterEnum(refPref, param.Enum) + } + + s.analyzeItems("items", param.Items, refPref, "parameter") + if param.In == "body" && param.Schema != nil { + s.analyzeSchema("schema", param.Schema, refPref) + } +} + +func (s *Spec) analyzeOperation(method, path string, op *spec.Operation) { + if op == nil { + return + } + + for _, c := range op.Consumes { + s.consumes[c] = struct{}{} + } + + for _, c := range op.Produces { + s.produces[c] = struct{}{} + } + + for _, ss := range op.Security { + for k := range ss { + s.authSchemes[k] = struct{}{} + } + } + + if _, ok := s.operations[method]; !ok { + s.operations[method] = make(map[string]*spec.Operation) + } + + s.operations[method][path] = op + prefix := slashpath.Join("/paths", jsonpointer.Escape(path), strings.ToLower(method)) + for i, param := range op.Parameters { + s.analyzeParameter(prefix, i, param) + } + + if op.Responses == nil { + return + } + + if op.Responses.Default != nil { + s.analyzeDefaultResponse(prefix, op.Responses.Default) + } + + for k, res := range op.Responses.StatusCodeResponses { + s.analyzeResponse(prefix, k, res) + } +} + +func (s *Spec) analyzeDefaultResponse(prefix string, res *spec.Response) { + refPref := slashpath.Join(prefix, "responses", "default") + if res.Ref.String() != "" { + s.references.addResponseRef(refPref, res) + } + + for k, v := range res.Headers { + hRefPref := slashpath.Join(refPref, "headers", k) + s.analyzeItems("items", v.Items, hRefPref, "header") + if v.Pattern != "" { + s.patterns.addHeaderPattern(hRefPref, v.Pattern) + } + } + + if res.Schema != nil { + s.analyzeSchema("schema", res.Schema, refPref) + } +} + +func (s *Spec) analyzeResponse(prefix string, k int, res spec.Response) { + refPref := slashpath.Join(prefix, "responses", strconv.Itoa(k)) + if res.Ref.String() != "" { + s.references.addResponseRef(refPref, &res) //#nosec + } + + for k, v := range res.Headers { + hRefPref := slashpath.Join(refPref, "headers", k) + s.analyzeItems("items", v.Items, hRefPref, "header") + if v.Pattern != "" { + s.patterns.addHeaderPattern(hRefPref, v.Pattern) + } + + if len(v.Enum) > 0 { + s.enums.addHeaderEnum(hRefPref, v.Enum) + } + } + + if res.Schema != nil { + s.analyzeSchema("schema", res.Schema, refPref) + } +} + +func (s *Spec) analyzeSchema(name string, schema *spec.Schema, prefix string) { + refURI := slashpath.Join(prefix, jsonpointer.Escape(name)) + schRef := SchemaRef{ + Name: name, + Schema: schema, + Ref: spec.MustCreateRef("#" + refURI), + TopLevel: prefix == "/definitions", + } + + s.allSchemas["#"+refURI] = schRef + + if schema.Ref.String() != "" { + s.references.addSchemaRef(refURI, schRef) + } + + if schema.Pattern != "" { + s.patterns.addSchemaPattern(refURI, schema.Pattern) + } + + if len(schema.Enum) > 0 { + s.enums.addSchemaEnum(refURI, schema.Enum) + } + + for k, v := range schema.Definitions { + v := v + s.analyzeSchema(k, &v, slashpath.Join(refURI, "definitions")) + } + + for k, v := range schema.Properties { + v := v + s.analyzeSchema(k, &v, slashpath.Join(refURI, "properties")) + } + + for k, v := range schema.PatternProperties { + v := v + // NOTE: swagger 2.0 does not support PatternProperties. + // However it is possible to analyze this in a schema + s.analyzeSchema(k, &v, slashpath.Join(refURI, "patternProperties")) + } + + for i := range schema.AllOf { + v := &schema.AllOf[i] + s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "allOf")) + } + + if len(schema.AllOf) > 0 { + s.allOfs["#"+refURI] = schRef + } + + for i := range schema.AnyOf { + v := &schema.AnyOf[i] + // NOTE: swagger 2.0 does not support anyOf constructs. + // However it is possible to analyze this in a schema + s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "anyOf")) + } + + for i := range schema.OneOf { + v := &schema.OneOf[i] + // NOTE: swagger 2.0 does not support oneOf constructs. + // However it is possible to analyze this in a schema + s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "oneOf")) + } + + if schema.Not != nil { + // NOTE: swagger 2.0 does not support "not" constructs. + // However it is possible to analyze this in a schema + s.analyzeSchema("not", schema.Not, refURI) + } + + if schema.AdditionalProperties != nil && schema.AdditionalProperties.Schema != nil { + s.analyzeSchema("additionalProperties", schema.AdditionalProperties.Schema, refURI) + } + + if schema.AdditionalItems != nil && schema.AdditionalItems.Schema != nil { + // NOTE: swagger 2.0 does not support AdditionalItems. + // However it is possible to analyze this in a schema + s.analyzeSchema("additionalItems", schema.AdditionalItems.Schema, refURI) + } + + if schema.Items != nil { + if schema.Items.Schema != nil { + s.analyzeSchema("items", schema.Items.Schema, refURI) + } + + for i := range schema.Items.Schemas { + sch := &schema.Items.Schemas[i] + s.analyzeSchema(strconv.Itoa(i), sch, slashpath.Join(refURI, "items")) + } + } +} + +// SecurityRequirement is a representation of a security requirement for an operation +type SecurityRequirement struct { + Name string + Scopes []string +} + +// SecurityRequirementsFor gets the security requirements for the operation +func (s *Spec) SecurityRequirementsFor(operation *spec.Operation) [][]SecurityRequirement { + if s.spec.Security == nil && operation.Security == nil { + return nil + } + + schemes := s.spec.Security + if operation.Security != nil { + schemes = operation.Security + } + + result := [][]SecurityRequirement{} + for _, scheme := range schemes { + if len(scheme) == 0 { + // append a zero object for anonymous + result = append(result, []SecurityRequirement{{}}) + + continue + } + + var reqs []SecurityRequirement + for k, v := range scheme { + if v == nil { + v = []string{} + } + reqs = append(reqs, SecurityRequirement{Name: k, Scopes: v}) + } + + result = append(result, reqs) + } + + return result +} + +// SecurityDefinitionsForRequirements gets the matching security definitions for a set of requirements +func (s *Spec) SecurityDefinitionsForRequirements(requirements []SecurityRequirement) map[string]spec.SecurityScheme { + result := make(map[string]spec.SecurityScheme) + + for _, v := range requirements { + if definition, ok := s.spec.SecurityDefinitions[v.Name]; ok { + if definition != nil { + result[v.Name] = *definition + } + } + } + + return result +} + +// SecurityDefinitionsFor gets the matching security definitions for a set of requirements +func (s *Spec) SecurityDefinitionsFor(operation *spec.Operation) map[string]spec.SecurityScheme { + requirements := s.SecurityRequirementsFor(operation) + if len(requirements) == 0 { + return nil + } + + result := make(map[string]spec.SecurityScheme) + for _, reqs := range requirements { + for _, v := range reqs { + if v.Name == "" { + // optional requirement + continue + } + + if _, ok := result[v.Name]; ok { + // duplicate requirement + continue + } + + if definition, ok := s.spec.SecurityDefinitions[v.Name]; ok { + if definition != nil { + result[v.Name] = *definition + } + } + } + } + + return result +} + +// ConsumesFor gets the mediatypes for the operation +func (s *Spec) ConsumesFor(operation *spec.Operation) []string { + if len(operation.Consumes) == 0 { + cons := make(map[string]struct{}, len(s.spec.Consumes)) + for _, k := range s.spec.Consumes { + cons[k] = struct{}{} + } + + return s.structMapKeys(cons) + } + + cons := make(map[string]struct{}, len(operation.Consumes)) + for _, c := range operation.Consumes { + cons[c] = struct{}{} + } + + return s.structMapKeys(cons) +} + +// ProducesFor gets the mediatypes for the operation +func (s *Spec) ProducesFor(operation *spec.Operation) []string { + if len(operation.Produces) == 0 { + prod := make(map[string]struct{}, len(s.spec.Produces)) + for _, k := range s.spec.Produces { + prod[k] = struct{}{} + } + + return s.structMapKeys(prod) + } + + prod := make(map[string]struct{}, len(operation.Produces)) + for _, c := range operation.Produces { + prod[c] = struct{}{} + } + + return s.structMapKeys(prod) +} + +func mapKeyFromParam(param *spec.Parameter) string { + return fmt.Sprintf("%s#%s", param.In, fieldNameFromParam(param)) +} + +func fieldNameFromParam(param *spec.Parameter) string { + // TODO: this should be x-go-name + if nm, ok := param.Extensions.GetString("go-name"); ok { + return nm + } + + return swag.ToGoName(param.Name) +} + +// ErrorOnParamFunc is a callback function to be invoked +// whenever an error is encountered while resolving references +// on parameters. +// +// This function takes as input the spec.Parameter which triggered the +// error and the error itself. +// +// If the callback function returns false, the calling function should bail. +// +// If it returns true, the calling function should continue evaluating parameters. +// A nil ErrorOnParamFunc must be evaluated as equivalent to panic(). +type ErrorOnParamFunc func(spec.Parameter, error) bool + +func (s *Spec) paramsAsMap(parameters []spec.Parameter, res map[string]spec.Parameter, callmeOnError ErrorOnParamFunc) { + for _, param := range parameters { + pr := param + if pr.Ref.String() == "" { + res[mapKeyFromParam(&pr)] = pr + + continue + } + + // resolve $ref + if callmeOnError == nil { + callmeOnError = func(_ spec.Parameter, err error) bool { + panic(err) + } + } + + obj, _, err := pr.Ref.GetPointer().Get(s.spec) + if err != nil { + if callmeOnError(param, fmt.Errorf("invalid reference: %q", pr.Ref.String())) { + continue + } + + break + } + + objAsParam, ok := obj.(spec.Parameter) + if !ok { + if callmeOnError(param, fmt.Errorf("resolved reference is not a parameter: %q", pr.Ref.String())) { + continue + } + + break + } + + pr = objAsParam + res[mapKeyFromParam(&pr)] = pr + } +} + +// ParametersFor the specified operation id. +// +// Assumes parameters properly resolve references if any and that +// such references actually resolve to a parameter object. +// Otherwise, panics. +func (s *Spec) ParametersFor(operationID string) []spec.Parameter { + return s.SafeParametersFor(operationID, nil) +} + +// SafeParametersFor the specified operation id. +// +// Does not assume parameters properly resolve references or that +// such references actually resolve to a parameter object. +// +// Upon error, invoke a ErrorOnParamFunc callback with the erroneous +// parameters. If the callback is set to nil, panics upon errors. +func (s *Spec) SafeParametersFor(operationID string, callmeOnError ErrorOnParamFunc) []spec.Parameter { + gatherParams := func(pi *spec.PathItem, op *spec.Operation) []spec.Parameter { + bag := make(map[string]spec.Parameter) + s.paramsAsMap(pi.Parameters, bag, callmeOnError) + s.paramsAsMap(op.Parameters, bag, callmeOnError) + + var res []spec.Parameter + for _, v := range bag { + res = append(res, v) + } + + return res + } + + for _, pi := range s.spec.Paths.Paths { + if pi.Get != nil && pi.Get.ID == operationID { + return gatherParams(&pi, pi.Get) //#nosec + } + if pi.Head != nil && pi.Head.ID == operationID { + return gatherParams(&pi, pi.Head) //#nosec + } + if pi.Options != nil && pi.Options.ID == operationID { + return gatherParams(&pi, pi.Options) //#nosec + } + if pi.Post != nil && pi.Post.ID == operationID { + return gatherParams(&pi, pi.Post) //#nosec + } + if pi.Patch != nil && pi.Patch.ID == operationID { + return gatherParams(&pi, pi.Patch) //#nosec + } + if pi.Put != nil && pi.Put.ID == operationID { + return gatherParams(&pi, pi.Put) //#nosec + } + if pi.Delete != nil && pi.Delete.ID == operationID { + return gatherParams(&pi, pi.Delete) //#nosec + } + } + + return nil +} + +// ParamsFor the specified method and path. Aggregates them with the defaults etc, so it's all the params that +// apply for the method and path. +// +// Assumes parameters properly resolve references if any and that +// such references actually resolve to a parameter object. +// Otherwise, panics. +func (s *Spec) ParamsFor(method, path string) map[string]spec.Parameter { + return s.SafeParamsFor(method, path, nil) +} + +// SafeParamsFor the specified method and path. Aggregates them with the defaults etc, so it's all the params that +// apply for the method and path. +// +// Does not assume parameters properly resolve references or that +// such references actually resolve to a parameter object. +// +// Upon error, invoke a ErrorOnParamFunc callback with the erroneous +// parameters. If the callback is set to nil, panics upon errors. +func (s *Spec) SafeParamsFor(method, path string, callmeOnError ErrorOnParamFunc) map[string]spec.Parameter { + res := make(map[string]spec.Parameter) + if pi, ok := s.spec.Paths.Paths[path]; ok { + s.paramsAsMap(pi.Parameters, res, callmeOnError) + s.paramsAsMap(s.operations[strings.ToUpper(method)][path].Parameters, res, callmeOnError) + } + + return res +} + +// OperationForName gets the operation for the given id +func (s *Spec) OperationForName(operationID string) (string, string, *spec.Operation, bool) { + for method, pathItem := range s.operations { + for path, op := range pathItem { + if operationID == op.ID { + return method, path, op, true + } + } + } + + return "", "", nil, false +} + +// OperationFor the given method and path +func (s *Spec) OperationFor(method, path string) (*spec.Operation, bool) { + if mp, ok := s.operations[strings.ToUpper(method)]; ok { + op, fn := mp[path] + + return op, fn + } + + return nil, false +} + +// Operations gathers all the operations specified in the spec document +func (s *Spec) Operations() map[string]map[string]*spec.Operation { + return s.operations +} + +func (s *Spec) structMapKeys(mp map[string]struct{}) []string { + if len(mp) == 0 { + return nil + } + + result := make([]string, 0, len(mp)) + for k := range mp { + result = append(result, k) + } + + return result +} + +// AllPaths returns all the paths in the swagger spec +func (s *Spec) AllPaths() map[string]spec.PathItem { + if s.spec == nil || s.spec.Paths == nil { + return nil + } + + return s.spec.Paths.Paths +} + +// OperationIDs gets all the operation ids based on method an dpath +func (s *Spec) OperationIDs() []string { + if len(s.operations) == 0 { + return nil + } + + result := make([]string, 0, len(s.operations)) + for method, v := range s.operations { + for p, o := range v { + if o.ID != "" { + result = append(result, o.ID) + } else { + result = append(result, fmt.Sprintf("%s %s", strings.ToUpper(method), p)) + } + } + } + + return result +} + +// OperationMethodPaths gets all the operation ids based on method an dpath +func (s *Spec) OperationMethodPaths() []string { + if len(s.operations) == 0 { + return nil + } + + result := make([]string, 0, len(s.operations)) + for method, v := range s.operations { + for p := range v { + result = append(result, fmt.Sprintf("%s %s", strings.ToUpper(method), p)) + } + } + + return result +} + +// RequiredConsumes gets all the distinct consumes that are specified in the specification document +func (s *Spec) RequiredConsumes() []string { + return s.structMapKeys(s.consumes) +} + +// RequiredProduces gets all the distinct produces that are specified in the specification document +func (s *Spec) RequiredProduces() []string { + return s.structMapKeys(s.produces) +} + +// RequiredSecuritySchemes gets all the distinct security schemes that are specified in the swagger spec +func (s *Spec) RequiredSecuritySchemes() []string { + return s.structMapKeys(s.authSchemes) +} + +// SchemaRef is a reference to a schema +type SchemaRef struct { + Name string + Ref spec.Ref + Schema *spec.Schema + TopLevel bool +} + +// SchemasWithAllOf returns schema references to all schemas that are defined +// with an allOf key +func (s *Spec) SchemasWithAllOf() (result []SchemaRef) { + for _, v := range s.allOfs { + result = append(result, v) + } + + return +} + +// AllDefinitions returns schema references for all the definitions that were discovered +func (s *Spec) AllDefinitions() (result []SchemaRef) { + for _, v := range s.allSchemas { + result = append(result, v) + } + + return +} + +// AllDefinitionReferences returns json refs for all the discovered schemas +func (s *Spec) AllDefinitionReferences() (result []string) { + for _, v := range s.references.schemas { + result = append(result, v.String()) + } + + return +} + +// AllParameterReferences returns json refs for all the discovered parameters +func (s *Spec) AllParameterReferences() (result []string) { + for _, v := range s.references.parameters { + result = append(result, v.String()) + } + + return +} + +// AllResponseReferences returns json refs for all the discovered responses +func (s *Spec) AllResponseReferences() (result []string) { + for _, v := range s.references.responses { + result = append(result, v.String()) + } + + return +} + +// AllPathItemReferences returns the references for all the items +func (s *Spec) AllPathItemReferences() (result []string) { + for _, v := range s.references.pathItems { + result = append(result, v.String()) + } + + return +} + +// AllItemsReferences returns the references for all the items in simple schemas (parameters or headers). +// +// NOTE: since Swagger 2.0 forbids $ref in simple params, this should always yield an empty slice for a valid +// Swagger 2.0 spec. +func (s *Spec) AllItemsReferences() (result []string) { + for _, v := range s.references.items { + result = append(result, v.String()) + } + + return +} + +// AllReferences returns all the references found in the document, with possible duplicates +func (s *Spec) AllReferences() (result []string) { + for _, v := range s.references.allRefs { + result = append(result, v.String()) + } + + return +} + +// AllRefs returns all the unique references found in the document +func (s *Spec) AllRefs() (result []spec.Ref) { + set := make(map[string]struct{}) + for _, v := range s.references.allRefs { + a := v.String() + if a == "" { + continue + } + + if _, ok := set[a]; !ok { + set[a] = struct{}{} + result = append(result, v) + } + } + + return +} + +func cloneStringMap(source map[string]string) map[string]string { + res := make(map[string]string, len(source)) + for k, v := range source { + res[k] = v + } + + return res +} + +func cloneEnumMap(source map[string][]interface{}) map[string][]interface{} { + res := make(map[string][]interface{}, len(source)) + for k, v := range source { + res[k] = v + } + + return res +} + +// ParameterPatterns returns all the patterns found in parameters +// the map is cloned to avoid accidental changes +func (s *Spec) ParameterPatterns() map[string]string { + return cloneStringMap(s.patterns.parameters) +} + +// HeaderPatterns returns all the patterns found in response headers +// the map is cloned to avoid accidental changes +func (s *Spec) HeaderPatterns() map[string]string { + return cloneStringMap(s.patterns.headers) +} + +// ItemsPatterns returns all the patterns found in simple array items +// the map is cloned to avoid accidental changes +func (s *Spec) ItemsPatterns() map[string]string { + return cloneStringMap(s.patterns.items) +} + +// SchemaPatterns returns all the patterns found in schemas +// the map is cloned to avoid accidental changes +func (s *Spec) SchemaPatterns() map[string]string { + return cloneStringMap(s.patterns.schemas) +} + +// AllPatterns returns all the patterns found in the spec +// the map is cloned to avoid accidental changes +func (s *Spec) AllPatterns() map[string]string { + return cloneStringMap(s.patterns.allPatterns) +} + +// ParameterEnums returns all the enums found in parameters +// the map is cloned to avoid accidental changes +func (s *Spec) ParameterEnums() map[string][]interface{} { + return cloneEnumMap(s.enums.parameters) +} + +// HeaderEnums returns all the enums found in response headers +// the map is cloned to avoid accidental changes +func (s *Spec) HeaderEnums() map[string][]interface{} { + return cloneEnumMap(s.enums.headers) +} + +// ItemsEnums returns all the enums found in simple array items +// the map is cloned to avoid accidental changes +func (s *Spec) ItemsEnums() map[string][]interface{} { + return cloneEnumMap(s.enums.items) +} + +// SchemaEnums returns all the enums found in schemas +// the map is cloned to avoid accidental changes +func (s *Spec) SchemaEnums() map[string][]interface{} { + return cloneEnumMap(s.enums.schemas) +} + +// AllEnums returns all the enums found in the spec +// the map is cloned to avoid accidental changes +func (s *Spec) AllEnums() map[string][]interface{} { + return cloneEnumMap(s.enums.allEnums) +} diff --git a/vendor/github.com/go-openapi/analysis/debug.go b/vendor/github.com/go-openapi/analysis/debug.go new file mode 100644 index 000000000..33c15704e --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/debug.go @@ -0,0 +1,23 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package analysis + +import ( + "os" + + "github.com/go-openapi/analysis/internal/debug" +) + +var debugLog = debug.GetLogger("analysis", os.Getenv("SWAGGER_DEBUG") != "") diff --git a/vendor/github.com/go-openapi/analysis/doc.go b/vendor/github.com/go-openapi/analysis/doc.go new file mode 100644 index 000000000..e8d9f9b13 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/doc.go @@ -0,0 +1,43 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* +Package analysis provides methods to work with a Swagger specification document from +package go-openapi/spec. + +## Analyzing a specification + +An analysed specification object (type Spec) provides methods to work with swagger definition. + +## Flattening or expanding a specification + +Flattening a specification bundles all remote $ref in the main spec document. +Depending on flattening options, additional preprocessing may take place: + - full flattening: replacing all inline complex constructs by a named entry in #/definitions + - expand: replace all $ref's in the document by their expanded content + +## Merging several specifications + +Mixin several specifications merges all Swagger constructs, and warns about found conflicts. + +## Fixing a specification + +Unmarshalling a specification with golang json unmarshalling may lead to +some unwanted result on present but empty fields. + +## Analyzing a Swagger schema + +Swagger schemas are analyzed to determine their complexity and qualify their content. +*/ +package analysis diff --git a/vendor/github.com/go-openapi/analysis/fixer.go b/vendor/github.com/go-openapi/analysis/fixer.go new file mode 100644 index 000000000..7c2ca0841 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/fixer.go @@ -0,0 +1,79 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package analysis + +import "github.com/go-openapi/spec" + +// FixEmptyResponseDescriptions replaces empty ("") response +// descriptions in the input with "(empty)" to ensure that the +// resulting Swagger is stays valid. The problem appears to arise +// from reading in valid specs that have a explicit response +// description of "" (valid, response.description is required), but +// due to zero values being omitted upon re-serializing (omitempty) we +// lose them unless we stick some chars in there. +func FixEmptyResponseDescriptions(s *spec.Swagger) { + for k, v := range s.Responses { + FixEmptyDesc(&v) //#nosec + s.Responses[k] = v + } + + if s.Paths == nil { + return + } + + for _, v := range s.Paths.Paths { + if v.Get != nil { + FixEmptyDescs(v.Get.Responses) + } + if v.Put != nil { + FixEmptyDescs(v.Put.Responses) + } + if v.Post != nil { + FixEmptyDescs(v.Post.Responses) + } + if v.Delete != nil { + FixEmptyDescs(v.Delete.Responses) + } + if v.Options != nil { + FixEmptyDescs(v.Options.Responses) + } + if v.Head != nil { + FixEmptyDescs(v.Head.Responses) + } + if v.Patch != nil { + FixEmptyDescs(v.Patch.Responses) + } + } +} + +// FixEmptyDescs adds "(empty)" as the description for any Response in +// the given Responses object that doesn't already have one. +func FixEmptyDescs(rs *spec.Responses) { + FixEmptyDesc(rs.Default) + for k, v := range rs.StatusCodeResponses { + FixEmptyDesc(&v) //#nosec + rs.StatusCodeResponses[k] = v + } +} + +// FixEmptyDesc adds "(empty)" as the description to the given +// Response object if it doesn't already have one and isn't a +// ref. No-op on nil input. +func FixEmptyDesc(rs *spec.Response) { + if rs == nil || rs.Description != "" || rs.Ref.Ref.GetURL() != nil { + return + } + rs.Description = "(empty)" +} diff --git a/vendor/github.com/go-openapi/analysis/flatten.go b/vendor/github.com/go-openapi/analysis/flatten.go new file mode 100644 index 000000000..ebedcc9df --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/flatten.go @@ -0,0 +1,814 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package analysis + +import ( + "fmt" + "log" + "path" + "sort" + "strings" + + "github.com/go-openapi/analysis/internal/flatten/normalize" + "github.com/go-openapi/analysis/internal/flatten/operations" + "github.com/go-openapi/analysis/internal/flatten/replace" + "github.com/go-openapi/analysis/internal/flatten/schutils" + "github.com/go-openapi/analysis/internal/flatten/sortref" + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/spec" +) + +const definitionsPath = "#/definitions" + +// newRef stores information about refs created during the flattening process +type newRef struct { + key string + newName string + path string + isOAIGen bool + resolved bool + schema *spec.Schema + parents []string +} + +// context stores intermediary results from flatten +type context struct { + newRefs map[string]*newRef + warnings []string + resolved map[string]string +} + +func newContext() *context { + return &context{ + newRefs: make(map[string]*newRef, 150), + warnings: make([]string, 0), + resolved: make(map[string]string, 50), + } +} + +// Flatten an analyzed spec and produce a self-contained spec bundle. +// +// There is a minimal and a full flattening mode. +// +// Minimally flattening a spec means: +// - Expanding parameters, responses, path items, parameter items and header items (references to schemas are left +// unscathed) +// - Importing external (http, file) references so they become internal to the document +// - Moving every JSON pointer to a $ref to a named definition (i.e. the reworked spec does not contain pointers +// like "$ref": "#/definitions/myObject/allOfs/1") +// +// A minimally flattened spec thus guarantees the following properties: +// - all $refs point to a local definition (i.e. '#/definitions/...') +// - definitions are unique +// +// NOTE: arbitrary JSON pointers (other than $refs to top level definitions) are rewritten as definitions if they +// represent a complex schema or express commonality in the spec. +// Otherwise, they are simply expanded. +// Self-referencing JSON pointers cannot resolve to a type and trigger an error. +// +// Minimal flattening is necessary and sufficient for codegen rendering using go-swagger. +// +// Fully flattening a spec means: +// - Moving every complex inline schema to be a definition with an auto-generated name in a depth-first fashion. +// +// By complex, we mean every JSON object with some properties. +// Arrays, when they do not define a tuple, +// or empty objects with or without additionalProperties, are not considered complex and remain inline. +// +// NOTE: rewritten schemas get a vendor extension x-go-gen-location so we know from which part of the spec definitions +// have been created. +// +// Available flattening options: +// - Minimal: stops flattening after minimal $ref processing, leaving schema constructs untouched +// - Expand: expand all $ref's in the document (inoperant if Minimal set to true) +// - Verbose: croaks about name conflicts detected +// - RemoveUnused: removes unused parameters, responses and definitions after expansion/flattening +// +// NOTE: expansion removes all $ref save circular $ref, which remain in place +// +// TODO: additional options +// - ProgagateNameExtensions: ensure that created entries properly follow naming rules when their parent have set a +// x-go-name extension +// - LiftAllOfs: +// - limit the flattening of allOf members when simple objects +// - merge allOf with validation only +// - merge allOf with extensions only +// - ... +func Flatten(opts FlattenOpts) error { + debugLog("FlattenOpts: %#v", opts) + + opts.flattenContext = newContext() + + // 1. Recursively expand responses, parameters, path items and items in simple schemas. + // + // This simplifies the spec and leaves only the $ref's in schema objects. + if err := expand(&opts); err != nil { + return err + } + + // 2. Strip the current document from absolute $ref's that actually a in the root, + // so we can recognize them as proper definitions + // + // In particular, this works around issue go-openapi/spec#76: leading absolute file in $ref is stripped + if err := normalizeRef(&opts); err != nil { + return err + } + + // 3. Optionally remove shared parameters and responses already expanded (now unused). + // + // Operation parameters (i.e. under paths) remain. + if opts.RemoveUnused { + removeUnusedShared(&opts) + } + + // 4. Import all remote references. + if err := importReferences(&opts); err != nil { + return err + } + + // 5. full flattening: rewrite inline schemas (schemas that aren't simple types or arrays or maps) + if !opts.Minimal && !opts.Expand { + if err := nameInlinedSchemas(&opts); err != nil { + return err + } + } + + // 6. Rewrite JSON pointers other than $ref to named definitions + // and attempt to resolve conflicting names whenever possible. + if err := stripPointersAndOAIGen(&opts); err != nil { + return err + } + + // 7. Strip the spec from unused definitions + if opts.RemoveUnused { + removeUnused(&opts) + } + + // 8. Issue warning notifications, if any + opts.croak() + + // TODO: simplify known schema patterns to flat objects with properties + // examples: + // - lift simple allOf object, + // - empty allOf with validation only or extensions only + // - rework allOf arrays + // - rework allOf additionalProperties + + return nil +} + +func expand(opts *FlattenOpts) error { + if err := spec.ExpandSpec(opts.Swagger(), opts.ExpandOpts(!opts.Expand)); err != nil { + return err + } + + opts.Spec.reload() // re-analyze + + return nil +} + +// normalizeRef strips the current file from any absolute file $ref. This works around issue go-openapi/spec#76: +// leading absolute file in $ref is stripped +func normalizeRef(opts *FlattenOpts) error { + debugLog("normalizeRef") + + altered := false + for k, w := range opts.Spec.references.allRefs { + if !strings.HasPrefix(w.String(), opts.BasePath+definitionsPath) { // may be a mix of / and \, depending on OS + continue + } + + altered = true + debugLog("stripping absolute path for: %s", w.String()) + + // strip the base path from definition + if err := replace.UpdateRef(opts.Swagger(), k, + spec.MustCreateRef(path.Join(definitionsPath, path.Base(w.String())))); err != nil { + return err + } + } + + if altered { + opts.Spec.reload() // re-analyze + } + + return nil +} + +func removeUnusedShared(opts *FlattenOpts) { + opts.Swagger().Parameters = nil + opts.Swagger().Responses = nil + + opts.Spec.reload() // re-analyze +} + +func importReferences(opts *FlattenOpts) error { + var ( + imported bool + err error + ) + + for !imported && err == nil { + // iteratively import remote references until none left. + // This inlining deals with name conflicts by introducing auto-generated names ("OAIGen") + imported, err = importExternalReferences(opts) + + opts.Spec.reload() // re-analyze + } + + return err +} + +// nameInlinedSchemas replaces every complex inline construct by a named definition. +func nameInlinedSchemas(opts *FlattenOpts) error { + debugLog("nameInlinedSchemas") + + namer := &InlineSchemaNamer{ + Spec: opts.Swagger(), + Operations: operations.AllOpRefsByRef(opts.Spec, nil), + flattenContext: opts.flattenContext, + opts: opts, + } + + depthFirst := sortref.DepthFirst(opts.Spec.allSchemas) + for _, key := range depthFirst { + sch := opts.Spec.allSchemas[key] + if sch.Schema == nil || sch.Schema.Ref.String() != "" || sch.TopLevel { + continue + } + + asch, err := Schema(SchemaOpts{Schema: sch.Schema, Root: opts.Swagger(), BasePath: opts.BasePath}) + if err != nil { + return fmt.Errorf("schema analysis [%s]: %w", key, err) + } + + if asch.isAnalyzedAsComplex() { // move complex schemas to definitions + if err := namer.Name(key, sch.Schema, asch); err != nil { + return err + } + } + } + + opts.Spec.reload() // re-analyze + + return nil +} + +func removeUnused(opts *FlattenOpts) { + for removeUnusedSinglePass(opts) { + // continue until no unused definition remains + } +} + +func removeUnusedSinglePass(opts *FlattenOpts) (hasRemoved bool) { + expected := make(map[string]struct{}) + for k := range opts.Swagger().Definitions { + expected[path.Join(definitionsPath, jsonpointer.Escape(k))] = struct{}{} + } + + for _, k := range opts.Spec.AllDefinitionReferences() { + delete(expected, k) + } + + for k := range expected { + hasRemoved = true + debugLog("removing unused definition %s", path.Base(k)) + if opts.Verbose { + log.Printf("info: removing unused definition: %s", path.Base(k)) + } + delete(opts.Swagger().Definitions, path.Base(k)) + } + + opts.Spec.reload() // re-analyze + + return hasRemoved +} + +func importKnownRef(entry sortref.RefRevIdx, refStr, newName string, opts *FlattenOpts) error { + // rewrite ref with already resolved external ref (useful for cyclical refs): + // rewrite external refs to local ones + debugLog("resolving known ref [%s] to %s", refStr, newName) + + for _, key := range entry.Keys { + if err := replace.UpdateRef(opts.Swagger(), key, spec.MustCreateRef(path.Join(definitionsPath, newName))); err != nil { + return err + } + } + + return nil +} + +func importNewRef(entry sortref.RefRevIdx, refStr string, opts *FlattenOpts) error { + var ( + isOAIGen bool + newName string + ) + + debugLog("resolving schema from remote $ref [%s]", refStr) + + sch, err := spec.ResolveRefWithBase(opts.Swagger(), &entry.Ref, opts.ExpandOpts(false)) + if err != nil { + return fmt.Errorf("could not resolve schema: %w", err) + } + + // at this stage only $ref analysis matters + partialAnalyzer := &Spec{ + references: referenceAnalysis{}, + patterns: patternAnalysis{}, + enums: enumAnalysis{}, + } + partialAnalyzer.reset() + partialAnalyzer.analyzeSchema("", sch, "/") + + // now rewrite those refs with rebase + for key, ref := range partialAnalyzer.references.allRefs { + if err := replace.UpdateRef(sch, key, spec.MustCreateRef(normalize.RebaseRef(entry.Ref.String(), ref.String()))); err != nil { + return fmt.Errorf("failed to rewrite ref for key %q at %s: %w", key, entry.Ref.String(), err) + } + } + + // generate a unique name - isOAIGen means that a naming conflict was resolved by changing the name + newName, isOAIGen = uniqifyName(opts.Swagger().Definitions, nameFromRef(entry.Ref, opts)) + debugLog("new name for [%s]: %s - with name conflict:%t", strings.Join(entry.Keys, ", "), newName, isOAIGen) + + opts.flattenContext.resolved[refStr] = newName + + // rewrite the external refs to local ones + for _, key := range entry.Keys { + if err := replace.UpdateRef(opts.Swagger(), key, + spec.MustCreateRef(path.Join(definitionsPath, newName))); err != nil { + return err + } + + // keep track of created refs + resolved := false + if _, ok := opts.flattenContext.newRefs[key]; ok { + resolved = opts.flattenContext.newRefs[key].resolved + } + + debugLog("keeping track of ref: %s (%s), resolved: %t", key, newName, resolved) + opts.flattenContext.newRefs[key] = &newRef{ + key: key, + newName: newName, + path: path.Join(definitionsPath, newName), + isOAIGen: isOAIGen, + resolved: resolved, + schema: sch, + } + } + + // add the resolved schema to the definitions + schutils.Save(opts.Swagger(), newName, sch) + + return nil +} + +// importExternalReferences iteratively digs remote references and imports them into the main schema. +// +// At every iteration, new remotes may be found when digging deeper: they are rebased to the current schema before being imported. +// +// This returns true when no more remote references can be found. +func importExternalReferences(opts *FlattenOpts) (bool, error) { + debugLog("importExternalReferences") + + groupedRefs := sortref.ReverseIndex(opts.Spec.references.schemas, opts.BasePath) + sortedRefStr := make([]string, 0, len(groupedRefs)) + if opts.flattenContext == nil { + opts.flattenContext = newContext() + } + + // sort $ref resolution to ensure deterministic name conflict resolution + for refStr := range groupedRefs { + sortedRefStr = append(sortedRefStr, refStr) + } + sort.Strings(sortedRefStr) + + complete := true + + for _, refStr := range sortedRefStr { + entry := groupedRefs[refStr] + if entry.Ref.HasFragmentOnly { + continue + } + + complete = false + + newName := opts.flattenContext.resolved[refStr] + if newName != "" { + if err := importKnownRef(entry, refStr, newName, opts); err != nil { + return false, err + } + + continue + } + + // resolve schemas + if err := importNewRef(entry, refStr, opts); err != nil { + return false, err + } + } + + // maintains ref index entries + for k := range opts.flattenContext.newRefs { + r := opts.flattenContext.newRefs[k] + + // update tracking with resolved schemas + if r.schema.Ref.String() != "" { + ref := spec.MustCreateRef(r.path) + sch, err := spec.ResolveRefWithBase(opts.Swagger(), &ref, opts.ExpandOpts(false)) + if err != nil { + return false, fmt.Errorf("could not resolve schema: %w", err) + } + + r.schema = sch + } + + if r.path == k { + continue + } + + // update tracking with renamed keys: got a cascade of refs + renamed := *r + renamed.key = r.path + opts.flattenContext.newRefs[renamed.path] = &renamed + + // indirect ref + r.newName = path.Base(k) + r.schema = spec.RefSchema(r.path) + r.path = k + r.isOAIGen = strings.Contains(k, "OAIGen") + } + + return complete, nil +} + +// stripPointersAndOAIGen removes anonymous JSON pointers from spec and chain with name conflicts handler. +// This loops until the spec has no such pointer and all name conflicts have been reduced as much as possible. +func stripPointersAndOAIGen(opts *FlattenOpts) error { + // name all JSON pointers to anonymous documents + if err := namePointers(opts); err != nil { + return err + } + + // remove unnecessary OAIGen ref (created when flattening external refs creates name conflicts) + hasIntroducedPointerOrInline, ers := stripOAIGen(opts) + if ers != nil { + return ers + } + + // iterate as pointer or OAIGen resolution may introduce inline schemas or pointers + for hasIntroducedPointerOrInline { + if !opts.Minimal { + opts.Spec.reload() // re-analyze + if err := nameInlinedSchemas(opts); err != nil { + return err + } + } + + if err := namePointers(opts); err != nil { + return err + } + + // restrip and re-analyze + var err error + if hasIntroducedPointerOrInline, err = stripOAIGen(opts); err != nil { + return err + } + } + + return nil +} + +// stripOAIGen strips the spec from unnecessary OAIGen constructs, initially created to dedupe flattened definitions. +// +// A dedupe is deemed unnecessary whenever: +// - the only conflict is with its (single) parent: OAIGen is merged into its parent (reinlining) +// - there is a conflict with multiple parents: merge OAIGen in first parent, the rewrite other parents to point to +// the first parent. +// +// This function returns true whenever it re-inlined a complex schema, so the caller may chose to iterate +// pointer and name resolution again. +func stripOAIGen(opts *FlattenOpts) (bool, error) { + debugLog("stripOAIGen") + replacedWithComplex := false + + // figure out referers of OAIGen definitions (doing it before the ref start mutating) + for _, r := range opts.flattenContext.newRefs { + updateRefParents(opts.Spec.references.allRefs, r) + } + + for k := range opts.flattenContext.newRefs { + r := opts.flattenContext.newRefs[k] + debugLog("newRefs[%s]: isOAIGen: %t, resolved: %t, name: %s, path:%s, #parents: %d, parents: %v, ref: %s", + k, r.isOAIGen, r.resolved, r.newName, r.path, len(r.parents), r.parents, r.schema.Ref.String()) + + if !r.isOAIGen || len(r.parents) == 0 { + continue + } + + hasReplacedWithComplex, err := stripOAIGenForRef(opts, k, r) + if err != nil { + return replacedWithComplex, err + } + + replacedWithComplex = replacedWithComplex || hasReplacedWithComplex + } + + debugLog("replacedWithComplex: %t", replacedWithComplex) + opts.Spec.reload() // re-analyze + + return replacedWithComplex, nil +} + +// updateRefParents updates all parents of an updated $ref +func updateRefParents(allRefs map[string]spec.Ref, r *newRef) { + if !r.isOAIGen || r.resolved { // bail on already resolved entries (avoid looping) + return + } + for k, v := range allRefs { + if r.path != v.String() { + continue + } + + found := false + for _, p := range r.parents { + if p == k { + found = true + + break + } + } + if !found { + r.parents = append(r.parents, k) + } + } +} + +func stripOAIGenForRef(opts *FlattenOpts, k string, r *newRef) (bool, error) { + replacedWithComplex := false + + pr := sortref.TopmostFirst(r.parents) + + // rewrite first parent schema in hierarchical then lexicographical order + debugLog("rewrite first parent %s with schema", pr[0]) + if err := replace.UpdateRefWithSchema(opts.Swagger(), pr[0], r.schema); err != nil { + return false, err + } + + if pa, ok := opts.flattenContext.newRefs[pr[0]]; ok && pa.isOAIGen { + // update parent in ref index entry + debugLog("update parent entry: %s", pr[0]) + pa.schema = r.schema + pa.resolved = false + replacedWithComplex = true + } + + // rewrite other parents to point to first parent + if len(pr) > 1 { + for _, p := range pr[1:] { + replacingRef := spec.MustCreateRef(pr[0]) + + // set complex when replacing ref is an anonymous jsonpointer: further processing may be required + replacedWithComplex = replacedWithComplex || path.Dir(replacingRef.String()) != definitionsPath + debugLog("rewrite parent with ref: %s", replacingRef.String()) + + // NOTE: it is possible at this stage to introduce json pointers (to non-definitions places). + // Those are stripped later on. + if err := replace.UpdateRef(opts.Swagger(), p, replacingRef); err != nil { + return false, err + } + + if pa, ok := opts.flattenContext.newRefs[p]; ok && pa.isOAIGen { + // update parent in ref index + debugLog("update parent entry: %s", p) + pa.schema = r.schema + pa.resolved = false + replacedWithComplex = true + } + } + } + + // remove OAIGen definition + debugLog("removing definition %s", path.Base(r.path)) + delete(opts.Swagger().Definitions, path.Base(r.path)) + + // propagate changes in ref index for keys which have this one as a parent + for kk, value := range opts.flattenContext.newRefs { + if kk == k || !value.isOAIGen || value.resolved { + continue + } + + found := false + newParents := make([]string, 0, len(value.parents)) + for _, parent := range value.parents { + switch { + case parent == r.path: + found = true + parent = pr[0] + case strings.HasPrefix(parent, r.path+"/"): + found = true + parent = path.Join(pr[0], strings.TrimPrefix(parent, r.path)) + } + + newParents = append(newParents, parent) + } + + if found { + value.parents = newParents + } + } + + // mark naming conflict as resolved + debugLog("marking naming conflict resolved for key: %s", r.key) + opts.flattenContext.newRefs[r.key].isOAIGen = false + opts.flattenContext.newRefs[r.key].resolved = true + + // determine if the previous substitution did inline a complex schema + if r.schema != nil && r.schema.Ref.String() == "" { // inline schema + asch, err := Schema(SchemaOpts{Schema: r.schema, Root: opts.Swagger(), BasePath: opts.BasePath}) + if err != nil { + return false, err + } + + debugLog("re-inlined schema: parent: %s, %t", pr[0], asch.isAnalyzedAsComplex()) + replacedWithComplex = replacedWithComplex || !(path.Dir(pr[0]) == definitionsPath) && asch.isAnalyzedAsComplex() + } + + return replacedWithComplex, nil +} + +// namePointers replaces all JSON pointers to anonymous documents by a $ref to a new named definitions. +// +// This is carried on depth-first. Pointers to $refs which are top level definitions are replaced by the $ref itself. +// Pointers to simple types are expanded, unless they express commonality (i.e. several such $ref are used). +func namePointers(opts *FlattenOpts) error { + debugLog("name pointers") + + refsToReplace := make(map[string]SchemaRef, len(opts.Spec.references.schemas)) + for k, ref := range opts.Spec.references.allRefs { + debugLog("name pointers: %q => %#v", k, ref) + if path.Dir(ref.String()) == definitionsPath { + // this a ref to a top-level definition: ok + continue + } + + result, err := replace.DeepestRef(opts.Swagger(), opts.ExpandOpts(false), ref) + if err != nil { + return fmt.Errorf("at %s, %w", k, err) + } + + replacingRef := result.Ref + sch := result.Schema + if opts.flattenContext != nil { + opts.flattenContext.warnings = append(opts.flattenContext.warnings, result.Warnings...) + } + + debugLog("planning pointer to replace at %s: %s, resolved to: %s", k, ref.String(), replacingRef.String()) + refsToReplace[k] = SchemaRef{ + Name: k, // caller + Ref: replacingRef, // called + Schema: sch, + TopLevel: path.Dir(replacingRef.String()) == definitionsPath, + } + } + + depthFirst := sortref.DepthFirst(refsToReplace) + namer := &InlineSchemaNamer{ + Spec: opts.Swagger(), + Operations: operations.AllOpRefsByRef(opts.Spec, nil), + flattenContext: opts.flattenContext, + opts: opts, + } + + for _, key := range depthFirst { + v := refsToReplace[key] + // update current replacement, which may have been updated by previous changes of deeper elements + result, erd := replace.DeepestRef(opts.Swagger(), opts.ExpandOpts(false), v.Ref) + if erd != nil { + return fmt.Errorf("at %s, %w", key, erd) + } + + if opts.flattenContext != nil { + opts.flattenContext.warnings = append(opts.flattenContext.warnings, result.Warnings...) + } + + v.Ref = result.Ref + v.Schema = result.Schema + v.TopLevel = path.Dir(result.Ref.String()) == definitionsPath + debugLog("replacing pointer at %s: resolved to: %s", key, v.Ref.String()) + + if v.TopLevel { + debugLog("replace pointer %s by canonical definition: %s", key, v.Ref.String()) + + // if the schema is a $ref to a top level definition, just rewrite the pointer to this $ref + if err := replace.UpdateRef(opts.Swagger(), key, v.Ref); err != nil { + return err + } + + continue + } + + if err := flattenAnonPointer(key, v, refsToReplace, namer, opts); err != nil { + return err + } + } + + opts.Spec.reload() // re-analyze + + return nil +} + +func flattenAnonPointer(key string, v SchemaRef, refsToReplace map[string]SchemaRef, namer *InlineSchemaNamer, opts *FlattenOpts) error { + // this is a JSON pointer to an anonymous document (internal or external): + // create a definition for this schema when: + // - it is a complex schema + // - or it is pointed by more than one $ref (i.e. expresses commonality) + // otherwise, expand the pointer (single reference to a simple type) + // + // The named definition for this follows the target's key, not the caller's + debugLog("namePointers at %s for %s", key, v.Ref.String()) + + // qualify the expanded schema + asch, ers := Schema(SchemaOpts{Schema: v.Schema, Root: opts.Swagger(), BasePath: opts.BasePath}) + if ers != nil { + return fmt.Errorf("schema analysis [%s]: %w", key, ers) + } + callers := make([]string, 0, 64) + + debugLog("looking for callers") + + an := New(opts.Swagger()) + for k, w := range an.references.allRefs { + r, err := replace.DeepestRef(opts.Swagger(), opts.ExpandOpts(false), w) + if err != nil { + return fmt.Errorf("at %s, %w", key, err) + } + + if opts.flattenContext != nil { + opts.flattenContext.warnings = append(opts.flattenContext.warnings, r.Warnings...) + } + + if r.Ref.String() == v.Ref.String() { + callers = append(callers, k) + } + } + + debugLog("callers for %s: %d", v.Ref.String(), len(callers)) + if len(callers) == 0 { + // has already been updated and resolved + return nil + } + + parts := sortref.KeyParts(v.Ref.String()) + debugLog("number of callers for %s: %d", v.Ref.String(), len(callers)) + + // identifying edge case when the namer did nothing because we point to a non-schema object + // no definition is created and we expand the $ref for all callers + debugLog("decide what to do with the schema pointed to: asch.IsSimpleSchema=%t, len(callers)=%d, parts.IsSharedParam=%t, parts.IsSharedResponse=%t", + asch.IsSimpleSchema, len(callers), parts.IsSharedParam(), parts.IsSharedResponse(), + ) + + if (!asch.IsSimpleSchema || len(callers) > 1) && !parts.IsSharedParam() && !parts.IsSharedResponse() { + debugLog("replace JSON pointer at [%s] by definition: %s", key, v.Ref.String()) + if err := namer.Name(v.Ref.String(), v.Schema, asch); err != nil { + return err + } + + // regular case: we named the $ref as a definition, and we move all callers to this new $ref + for _, caller := range callers { + if caller == key { + continue + } + + // move $ref for next to resolve + debugLog("identified caller of %s at [%s]", v.Ref.String(), caller) + c := refsToReplace[caller] + c.Ref = v.Ref + refsToReplace[caller] = c + } + + return nil + } + + // everything that is a simple schema and not factorizable is expanded + debugLog("expand JSON pointer for key=%s", key) + + if err := replace.UpdateRefWithSchema(opts.Swagger(), key, v.Schema); err != nil { + return err + } + // NOTE: there is no other caller to update + + return nil +} diff --git a/vendor/github.com/go-openapi/analysis/flatten_name.go b/vendor/github.com/go-openapi/analysis/flatten_name.go new file mode 100644 index 000000000..c7d7938eb --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/flatten_name.go @@ -0,0 +1,308 @@ +package analysis + +import ( + "fmt" + "path" + "sort" + "strings" + + "github.com/go-openapi/analysis/internal/flatten/operations" + "github.com/go-openapi/analysis/internal/flatten/replace" + "github.com/go-openapi/analysis/internal/flatten/schutils" + "github.com/go-openapi/analysis/internal/flatten/sortref" + "github.com/go-openapi/spec" + "github.com/go-openapi/swag" +) + +// InlineSchemaNamer finds a new name for an inlined type +type InlineSchemaNamer struct { + Spec *spec.Swagger + Operations map[string]operations.OpRef + flattenContext *context + opts *FlattenOpts +} + +// Name yields a new name for the inline schema +func (isn *InlineSchemaNamer) Name(key string, schema *spec.Schema, aschema *AnalyzedSchema) error { + debugLog("naming inlined schema at %s", key) + + parts := sortref.KeyParts(key) + for _, name := range namesFromKey(parts, aschema, isn.Operations) { + if name == "" { + continue + } + + // create unique name + mangle := mangler(isn.opts) + newName, isOAIGen := uniqifyName(isn.Spec.Definitions, mangle(name)) + + // clone schema + sch := schutils.Clone(schema) + + // replace values on schema + debugLog("rewriting schema to ref: key=%s with new name: %s", key, newName) + if err := replace.RewriteSchemaToRef(isn.Spec, key, + spec.MustCreateRef(path.Join(definitionsPath, newName))); err != nil { + return fmt.Errorf("error while creating definition %q from inline schema: %w", newName, err) + } + + // rewrite any dependent $ref pointing to this place, + // when not already pointing to a top-level definition. + // + // NOTE: this is important if such referers use arbitrary JSON pointers. + an := New(isn.Spec) + for k, v := range an.references.allRefs { + r, erd := replace.DeepestRef(isn.opts.Swagger(), isn.opts.ExpandOpts(false), v) + if erd != nil { + return fmt.Errorf("at %s, %w", k, erd) + } + + if isn.opts.flattenContext != nil { + isn.opts.flattenContext.warnings = append(isn.opts.flattenContext.warnings, r.Warnings...) + } + + if r.Ref.String() != key && (r.Ref.String() != path.Join(definitionsPath, newName) || path.Dir(v.String()) == definitionsPath) { + continue + } + + debugLog("found a $ref to a rewritten schema: %s points to %s", k, v.String()) + + // rewrite $ref to the new target + if err := replace.UpdateRef(isn.Spec, k, + spec.MustCreateRef(path.Join(definitionsPath, newName))); err != nil { + return err + } + } + + // NOTE: this extension is currently not used by go-swagger (provided for information only) + sch.AddExtension("x-go-gen-location", GenLocation(parts)) + + // save cloned schema to definitions + schutils.Save(isn.Spec, newName, sch) + + // keep track of created refs + if isn.flattenContext == nil { + continue + } + + debugLog("track created ref: key=%s, newName=%s, isOAIGen=%t", key, newName, isOAIGen) + resolved := false + + if _, ok := isn.flattenContext.newRefs[key]; ok { + resolved = isn.flattenContext.newRefs[key].resolved + } + + isn.flattenContext.newRefs[key] = &newRef{ + key: key, + newName: newName, + path: path.Join(definitionsPath, newName), + isOAIGen: isOAIGen, + resolved: resolved, + schema: sch, + } + } + + return nil +} + +// uniqifyName yields a unique name for a definition +func uniqifyName(definitions spec.Definitions, name string) (string, bool) { + isOAIGen := false + if name == "" { + name = "oaiGen" + isOAIGen = true + } + + if len(definitions) == 0 { + return name, isOAIGen + } + + unq := true + for k := range definitions { + if strings.EqualFold(k, name) { + unq = false + + break + } + } + + if unq { + return name, isOAIGen + } + + name += "OAIGen" + isOAIGen = true + var idx int + unique := name + _, known := definitions[unique] + + for known { + idx++ + unique = fmt.Sprintf("%s%d", name, idx) + _, known = definitions[unique] + } + + return unique, isOAIGen +} + +func namesFromKey(parts sortref.SplitKey, aschema *AnalyzedSchema, operations map[string]operations.OpRef) []string { + var ( + baseNames [][]string + startIndex int + ) + + switch { + case parts.IsOperation(): + baseNames, startIndex = namesForOperation(parts, operations) + case parts.IsDefinition(): + baseNames, startIndex = namesForDefinition(parts) + default: + // this a non-standard pointer: build a name by concatenating its parts + baseNames = [][]string{parts} + startIndex = len(baseNames) + 1 + } + + result := make([]string, 0, len(baseNames)) + for _, segments := range baseNames { + nm := parts.BuildName(segments, startIndex, partAdder(aschema)) + if nm == "" { + continue + } + + result = append(result, nm) + } + sort.Strings(result) + + debugLog("names from parts: %v => %v", parts, result) + return result +} + +func namesForParam(parts sortref.SplitKey, operations map[string]operations.OpRef) ([][]string, int) { + var ( + baseNames [][]string + startIndex int + ) + + piref := parts.PathItemRef() + if piref.String() != "" && parts.IsOperationParam() { + if op, ok := operations[piref.String()]; ok { + startIndex = 5 + baseNames = append(baseNames, []string{op.ID, "params", "body"}) + } + } else if parts.IsSharedOperationParam() { + pref := parts.PathRef() + for k, v := range operations { + if strings.HasPrefix(k, pref.String()) { + startIndex = 4 + baseNames = append(baseNames, []string{v.ID, "params", "body"}) + } + } + } + + return baseNames, startIndex +} + +func namesForOperation(parts sortref.SplitKey, operations map[string]operations.OpRef) ([][]string, int) { + var ( + baseNames [][]string + startIndex int + ) + + // params + if parts.IsOperationParam() || parts.IsSharedOperationParam() { + baseNames, startIndex = namesForParam(parts, operations) + } + + // responses + if parts.IsOperationResponse() { + piref := parts.PathItemRef() + if piref.String() != "" { + if op, ok := operations[piref.String()]; ok { + startIndex = 6 + baseNames = append(baseNames, []string{op.ID, parts.ResponseName(), "body"}) + } + } + } + + return baseNames, startIndex +} + +func namesForDefinition(parts sortref.SplitKey) ([][]string, int) { + nm := parts.DefinitionName() + if nm != "" { + return [][]string{{parts.DefinitionName()}}, 2 + } + + return [][]string{}, 0 +} + +// partAdder knows how to interpret a schema when it comes to build a name from parts +func partAdder(aschema *AnalyzedSchema) sortref.PartAdder { + return func(part string) []string { + segments := make([]string, 0, 2) + + if part == "items" || part == "additionalItems" { + if aschema.IsTuple || aschema.IsTupleWithExtra { + segments = append(segments, "tuple") + } else { + segments = append(segments, "items") + } + + if part == "additionalItems" { + segments = append(segments, part) + } + + return segments + } + + segments = append(segments, part) + + return segments + } +} + +func mangler(o *FlattenOpts) func(string) string { + if o.KeepNames { + return func(in string) string { return in } + } + + return swag.ToJSONName +} + +func nameFromRef(ref spec.Ref, o *FlattenOpts) string { + mangle := mangler(o) + + u := ref.GetURL() + if u.Fragment != "" { + return mangle(path.Base(u.Fragment)) + } + + if u.Path != "" { + bn := path.Base(u.Path) + if bn != "" && bn != "/" { + ext := path.Ext(bn) + if ext != "" { + return mangle(bn[:len(bn)-len(ext)]) + } + + return mangle(bn) + } + } + + return mangle(strings.ReplaceAll(u.Host, ".", " ")) +} + +// GenLocation indicates from which section of the specification (models or operations) a definition has been created. +// +// This is reflected in the output spec with a "x-go-gen-location" extension. At the moment, this is provided +// for information only. +func GenLocation(parts sortref.SplitKey) string { + switch { + case parts.IsOperation(): + return "operations" + case parts.IsDefinition(): + return "models" + default: + return "" + } +} diff --git a/vendor/github.com/go-openapi/analysis/flatten_options.go b/vendor/github.com/go-openapi/analysis/flatten_options.go new file mode 100644 index 000000000..c943fe1e8 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/flatten_options.go @@ -0,0 +1,79 @@ +package analysis + +import ( + "log" + + "github.com/go-openapi/spec" +) + +// FlattenOpts configuration for flattening a swagger specification. +// +// The BasePath parameter is used to locate remote relative $ref found in the specification. +// This path is a file: it points to the location of the root document and may be either a local +// file path or a URL. +// +// If none specified, relative references (e.g. "$ref": "folder/schema.yaml#/definitions/...") +// found in the spec are searched from the current working directory. +type FlattenOpts struct { + Spec *Spec // The analyzed spec to work with + flattenContext *context // Internal context to track flattening activity + + BasePath string // The location of the root document for this spec to resolve relative $ref + + // Flattening options + Expand bool // When true, skip flattening the spec and expand it instead (if Minimal is false) + Minimal bool // When true, do not decompose complex structures such as allOf + Verbose bool // enable some reporting on possible name conflicts detected + RemoveUnused bool // When true, remove unused parameters, responses and definitions after expansion/flattening + ContinueOnError bool // Continue when spec expansion issues are found + KeepNames bool // Do not attempt to jsonify names from references when flattening + + /* Extra keys */ + _ struct{} // require keys +} + +// ExpandOpts creates a spec.ExpandOptions to configure expanding a specification document. +func (f *FlattenOpts) ExpandOpts(skipSchemas bool) *spec.ExpandOptions { + return &spec.ExpandOptions{ + RelativeBase: f.BasePath, + SkipSchemas: skipSchemas, + ContinueOnError: f.ContinueOnError, + } +} + +// Swagger gets the swagger specification for this flatten operation +func (f *FlattenOpts) Swagger() *spec.Swagger { + return f.Spec.spec +} + +// croak logs notifications and warnings about valid, but possibly unwanted constructs resulting +// from flattening a spec +func (f *FlattenOpts) croak() { + if !f.Verbose { + return + } + + reported := make(map[string]bool, len(f.flattenContext.newRefs)) + for _, v := range f.Spec.references.allRefs { + // warns about duplicate handling + for _, r := range f.flattenContext.newRefs { + if r.isOAIGen && r.path == v.String() { + reported[r.newName] = true + } + } + } + + for k := range reported { + log.Printf("warning: duplicate flattened definition name resolved as %s", k) + } + + // warns about possible type mismatches + uniqueMsg := make(map[string]bool) + for _, msg := range f.flattenContext.warnings { + if _, ok := uniqueMsg[msg]; ok { + continue + } + log.Printf("warning: %s", msg) + uniqueMsg[msg] = true + } +} diff --git a/vendor/github.com/go-openapi/analysis/internal/debug/debug.go b/vendor/github.com/go-openapi/analysis/internal/debug/debug.go new file mode 100644 index 000000000..39f55a97b --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/internal/debug/debug.go @@ -0,0 +1,41 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package debug + +import ( + "fmt" + "log" + "os" + "path/filepath" + "runtime" +) + +var ( + output = os.Stdout +) + +// GetLogger provides a prefix debug logger +func GetLogger(prefix string, debug bool) func(string, ...interface{}) { + if debug { + logger := log.New(output, prefix+":", log.LstdFlags) + + return func(msg string, args ...interface{}) { + _, file1, pos1, _ := runtime.Caller(1) + logger.Printf("%s:%d: %s", filepath.Base(file1), pos1, fmt.Sprintf(msg, args...)) + } + } + + return func(_ string, _ ...interface{}) {} +} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/normalize/normalize.go b/vendor/github.com/go-openapi/analysis/internal/flatten/normalize/normalize.go new file mode 100644 index 000000000..8c9df0580 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/internal/flatten/normalize/normalize.go @@ -0,0 +1,87 @@ +package normalize + +import ( + "net/url" + "path" + "path/filepath" + "strings" + + "github.com/go-openapi/spec" +) + +// RebaseRef rebases a remote ref relative to a base ref. +// +// NOTE: does not support JSONschema ID for $ref (we assume we are working with swagger specs here). +// +// NOTE(windows): +// * refs are assumed to have been normalized with drive letter lower cased (from go-openapi/spec) +// * "/ in paths may appear as escape sequences +func RebaseRef(baseRef string, ref string) string { + baseRef, _ = url.PathUnescape(baseRef) + ref, _ = url.PathUnescape(ref) + + if baseRef == "" || baseRef == "." || strings.HasPrefix(baseRef, "#") { + return ref + } + + parts := strings.Split(ref, "#") + + baseParts := strings.Split(baseRef, "#") + baseURL, _ := url.Parse(baseParts[0]) + if strings.HasPrefix(ref, "#") { + if baseURL.Host == "" { + return strings.Join([]string{baseParts[0], parts[1]}, "#") + } + + return strings.Join([]string{baseParts[0], parts[1]}, "#") + } + + refURL, _ := url.Parse(parts[0]) + if refURL.Host != "" || filepath.IsAbs(parts[0]) { + // not rebasing an absolute path + return ref + } + + // there is a relative path + var basePath string + if baseURL.Host != "" { + // when there is a host, standard URI rules apply (with "/") + baseURL.Path = path.Dir(baseURL.Path) + baseURL.Path = path.Join(baseURL.Path, "/"+parts[0]) + + return baseURL.String() + } + + // this is a local relative path + // basePart[0] and parts[0] are local filesystem directories/files + basePath = filepath.Dir(baseParts[0]) + relPath := filepath.Join(basePath, string(filepath.Separator)+parts[0]) + if len(parts) > 1 { + return strings.Join([]string{relPath, parts[1]}, "#") + } + + return relPath +} + +// Path renders absolute path on remote file refs +// +// NOTE(windows): +// * refs are assumed to have been normalized with drive letter lower cased (from go-openapi/spec) +// * "/ in paths may appear as escape sequences +func Path(ref spec.Ref, basePath string) string { + uri, _ := url.PathUnescape(ref.String()) + if ref.HasFragmentOnly || filepath.IsAbs(uri) { + return uri + } + + refURL, _ := url.Parse(uri) + if refURL.Host != "" { + return uri + } + + parts := strings.Split(uri, "#") + // BasePath, parts[0] are local filesystem directories, guaranteed to be absolute at this stage + parts[0] = filepath.Join(filepath.Dir(basePath), parts[0]) + + return strings.Join(parts, "#") +} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/operations/operations.go b/vendor/github.com/go-openapi/analysis/internal/flatten/operations/operations.go new file mode 100644 index 000000000..7f3a2b871 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/internal/flatten/operations/operations.go @@ -0,0 +1,90 @@ +package operations + +import ( + "path" + "sort" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/spec" + "github.com/go-openapi/swag" +) + +// AllOpRefsByRef returns an index of sortable operations +func AllOpRefsByRef(specDoc Provider, operationIDs []string) map[string]OpRef { + return OpRefsByRef(GatherOperations(specDoc, operationIDs)) +} + +// OpRefsByRef indexes a map of sortable operations +func OpRefsByRef(oprefs map[string]OpRef) map[string]OpRef { + result := make(map[string]OpRef, len(oprefs)) + for _, v := range oprefs { + result[v.Ref.String()] = v + } + + return result +} + +// OpRef is an indexable, sortable operation +type OpRef struct { + Method string + Path string + Key string + ID string + Op *spec.Operation + Ref spec.Ref +} + +// OpRefs is a sortable collection of operations +type OpRefs []OpRef + +func (o OpRefs) Len() int { return len(o) } +func (o OpRefs) Swap(i, j int) { o[i], o[j] = o[j], o[i] } +func (o OpRefs) Less(i, j int) bool { return o[i].Key < o[j].Key } + +// Provider knows how to collect operations from a spec +type Provider interface { + Operations() map[string]map[string]*spec.Operation +} + +// GatherOperations builds a map of sorted operations from a spec +func GatherOperations(specDoc Provider, operationIDs []string) map[string]OpRef { + var oprefs OpRefs + + for method, pathItem := range specDoc.Operations() { + for pth, operation := range pathItem { + vv := *operation + oprefs = append(oprefs, OpRef{ + Key: swag.ToGoName(strings.ToLower(method) + " " + pth), + Method: method, + Path: pth, + ID: vv.ID, + Op: &vv, + Ref: spec.MustCreateRef("#" + path.Join("/paths", jsonpointer.Escape(pth), method)), + }) + } + } + + sort.Sort(oprefs) + + operations := make(map[string]OpRef) + for _, opr := range oprefs { + nm := opr.ID + if nm == "" { + nm = opr.Key + } + + oo, found := operations[nm] + if found && oo.Method != opr.Method && oo.Path != opr.Path { + nm = opr.Key + } + + if len(operationIDs) == 0 || swag.ContainsStrings(operationIDs, opr.ID) || swag.ContainsStrings(operationIDs, nm) { + opr.ID = nm + opr.Op.ID = nm + operations[nm] = opr + } + } + + return operations +} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/replace/replace.go b/vendor/github.com/go-openapi/analysis/internal/flatten/replace/replace.go new file mode 100644 index 000000000..c0f43e728 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/internal/flatten/replace/replace.go @@ -0,0 +1,458 @@ +package replace + +import ( + "encoding/json" + "fmt" + "net/url" + "os" + "path" + "strconv" + + "github.com/go-openapi/analysis/internal/debug" + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/spec" +) + +const definitionsPath = "#/definitions" + +var debugLog = debug.GetLogger("analysis/flatten/replace", os.Getenv("SWAGGER_DEBUG") != "") + +// RewriteSchemaToRef replaces a schema with a Ref +func RewriteSchemaToRef(sp *spec.Swagger, key string, ref spec.Ref) error { + debugLog("rewriting schema to ref for %s with %s", key, ref.String()) + _, value, err := getPointerFromKey(sp, key) + if err != nil { + return err + } + + switch refable := value.(type) { + case *spec.Schema: + return rewriteParentRef(sp, key, ref) + + case spec.Schema: + return rewriteParentRef(sp, key, ref) + + case *spec.SchemaOrArray: + if refable.Schema != nil { + refable.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + } + + case *spec.SchemaOrBool: + if refable.Schema != nil { + refable.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + } + case map[string]interface{}: // this happens e.g. if a schema points to an extension unmarshaled as map[string]interface{} + return rewriteParentRef(sp, key, ref) + default: + return fmt.Errorf("no schema with ref found at %s for %T", key, value) + } + + return nil +} + +func rewriteParentRef(sp *spec.Swagger, key string, ref spec.Ref) error { + parent, entry, pvalue, err := getParentFromKey(sp, key) + if err != nil { + return err + } + + debugLog("rewriting holder for %T", pvalue) + switch container := pvalue.(type) { + case spec.Response: + if err := rewriteParentRef(sp, "#"+parent, ref); err != nil { + return err + } + + case *spec.Response: + container.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case *spec.Responses: + statusCode, err := strconv.Atoi(entry) + if err != nil { + return fmt.Errorf("%s not a number: %w", key[1:], err) + } + resp := container.StatusCodeResponses[statusCode] + resp.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + container.StatusCodeResponses[statusCode] = resp + + case map[string]spec.Response: + resp := container[entry] + resp.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + container[entry] = resp + + case spec.Parameter: + if err := rewriteParentRef(sp, "#"+parent, ref); err != nil { + return err + } + + case map[string]spec.Parameter: + param := container[entry] + param.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + container[entry] = param + + case []spec.Parameter: + idx, err := strconv.Atoi(entry) + if err != nil { + return fmt.Errorf("%s not a number: %w", key[1:], err) + } + param := container[idx] + param.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + container[idx] = param + + case spec.Definitions: + container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case map[string]spec.Schema: + container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case []spec.Schema: + idx, err := strconv.Atoi(entry) + if err != nil { + return fmt.Errorf("%s not a number: %w", key[1:], err) + } + container[idx] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case *spec.SchemaOrArray: + // NOTE: this is necessarily an array - otherwise, the parent would be *Schema + idx, err := strconv.Atoi(entry) + if err != nil { + return fmt.Errorf("%s not a number: %w", key[1:], err) + } + container.Schemas[idx] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case spec.SchemaProperties: + container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case *interface{}: + *container = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + // NOTE: can't have case *spec.SchemaOrBool = parent in this case is *Schema + + default: + return fmt.Errorf("unhandled parent schema rewrite %s (%T)", key, pvalue) + } + + return nil +} + +// getPointerFromKey retrieves the content of the JSON pointer "key" +func getPointerFromKey(sp interface{}, key string) (string, interface{}, error) { + switch sp.(type) { + case *spec.Schema: + case *spec.Swagger: + default: + panic("unexpected type used in getPointerFromKey") + } + if key == "#/" { + return "", sp, nil + } + // unescape chars in key, e.g. "{}" from path params + pth, _ := url.PathUnescape(key[1:]) + ptr, err := jsonpointer.New(pth) + if err != nil { + return "", nil, err + } + + value, _, err := ptr.Get(sp) + if err != nil { + debugLog("error when getting key: %s with path: %s", key, pth) + + return "", nil, err + } + + return pth, value, nil +} + +// getParentFromKey retrieves the container of the JSON pointer "key" +func getParentFromKey(sp interface{}, key string) (string, string, interface{}, error) { + switch sp.(type) { + case *spec.Schema: + case *spec.Swagger: + default: + panic("unexpected type used in getPointerFromKey") + } + // unescape chars in key, e.g. "{}" from path params + pth, _ := url.PathUnescape(key[1:]) + + parent, entry := path.Dir(pth), path.Base(pth) + debugLog("getting schema holder at: %s, with entry: %s", parent, entry) + + pptr, err := jsonpointer.New(parent) + if err != nil { + return "", "", nil, err + } + pvalue, _, err := pptr.Get(sp) + if err != nil { + return "", "", nil, fmt.Errorf("can't get parent for %s: %w", parent, err) + } + + return parent, entry, pvalue, nil +} + +// UpdateRef replaces a ref by another one +func UpdateRef(sp interface{}, key string, ref spec.Ref) error { + switch sp.(type) { + case *spec.Schema: + case *spec.Swagger: + default: + panic("unexpected type used in getPointerFromKey") + } + debugLog("updating ref for %s with %s", key, ref.String()) + pth, value, err := getPointerFromKey(sp, key) + if err != nil { + return err + } + + switch refable := value.(type) { + case *spec.Schema: + refable.Ref = ref + case *spec.SchemaOrArray: + if refable.Schema != nil { + refable.Schema.Ref = ref + } + case *spec.SchemaOrBool: + if refable.Schema != nil { + refable.Schema.Ref = ref + } + case spec.Schema: + debugLog("rewriting holder for %T", refable) + _, entry, pvalue, erp := getParentFromKey(sp, key) + if erp != nil { + return err + } + switch container := pvalue.(type) { + case spec.Definitions: + container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case map[string]spec.Schema: + container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case []spec.Schema: + idx, err := strconv.Atoi(entry) + if err != nil { + return fmt.Errorf("%s not a number: %w", pth, err) + } + container[idx] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case *spec.SchemaOrArray: + // NOTE: this is necessarily an array - otherwise, the parent would be *Schema + idx, err := strconv.Atoi(entry) + if err != nil { + return fmt.Errorf("%s not a number: %w", pth, err) + } + container.Schemas[idx] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + case spec.SchemaProperties: + container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} + + // NOTE: can't have case *spec.SchemaOrBool = parent in this case is *Schema + + default: + return fmt.Errorf("unhandled container type at %s: %T", key, value) + } + + default: + return fmt.Errorf("no schema with ref found at %s for %T", key, value) + } + + return nil +} + +// UpdateRefWithSchema replaces a ref with a schema (i.e. re-inline schema) +func UpdateRefWithSchema(sp *spec.Swagger, key string, sch *spec.Schema) error { + debugLog("updating ref for %s with schema", key) + pth, value, err := getPointerFromKey(sp, key) + if err != nil { + return err + } + + switch refable := value.(type) { + case *spec.Schema: + *refable = *sch + case spec.Schema: + _, entry, pvalue, erp := getParentFromKey(sp, key) + if erp != nil { + return err + } + switch container := pvalue.(type) { + case spec.Definitions: + container[entry] = *sch + + case map[string]spec.Schema: + container[entry] = *sch + + case []spec.Schema: + idx, err := strconv.Atoi(entry) + if err != nil { + return fmt.Errorf("%s not a number: %w", pth, err) + } + container[idx] = *sch + + case *spec.SchemaOrArray: + // NOTE: this is necessarily an array - otherwise, the parent would be *Schema + idx, err := strconv.Atoi(entry) + if err != nil { + return fmt.Errorf("%s not a number: %w", pth, err) + } + container.Schemas[idx] = *sch + + case spec.SchemaProperties: + container[entry] = *sch + + // NOTE: can't have case *spec.SchemaOrBool = parent in this case is *Schema + + default: + return fmt.Errorf("unhandled type for parent of [%s]: %T", key, value) + } + case *spec.SchemaOrArray: + *refable.Schema = *sch + // NOTE: can't have case *spec.SchemaOrBool = parent in this case is *Schema + case *spec.SchemaOrBool: + *refable.Schema = *sch + default: + return fmt.Errorf("no schema with ref found at %s for %T", key, value) + } + + return nil +} + +// DeepestRefResult holds the results from DeepestRef analysis +type DeepestRefResult struct { + Ref spec.Ref + Schema *spec.Schema + Warnings []string +} + +// DeepestRef finds the first definition ref, from a cascade of nested refs which are not definitions. +// - if no definition is found, returns the deepest ref. +// - pointers to external files are expanded +// +// NOTE: all external $ref's are assumed to be already expanded at this stage. +func DeepestRef(sp *spec.Swagger, opts *spec.ExpandOptions, ref spec.Ref) (*DeepestRefResult, error) { + if !ref.HasFragmentOnly { + // we found an external $ref, which is odd at this stage: + // do nothing on external $refs + return &DeepestRefResult{Ref: ref}, nil + } + + currentRef := ref + visited := make(map[string]bool, 64) + warnings := make([]string, 0, 2) + +DOWNREF: + for currentRef.String() != "" { + if path.Dir(currentRef.String()) == definitionsPath { + // this is a top-level definition: stop here and return this ref + return &DeepestRefResult{Ref: currentRef}, nil + } + + if _, beenThere := visited[currentRef.String()]; beenThere { + return nil, + fmt.Errorf("cannot resolve cyclic chain of pointers under %s", currentRef.String()) + } + + visited[currentRef.String()] = true + value, _, err := currentRef.GetPointer().Get(sp) + if err != nil { + return nil, err + } + + switch refable := value.(type) { + case *spec.Schema: + if refable.Ref.String() == "" { + break DOWNREF + } + currentRef = refable.Ref + + case spec.Schema: + if refable.Ref.String() == "" { + break DOWNREF + } + currentRef = refable.Ref + + case *spec.SchemaOrArray: + if refable.Schema == nil || refable.Schema != nil && refable.Schema.Ref.String() == "" { + break DOWNREF + } + currentRef = refable.Schema.Ref + + case *spec.SchemaOrBool: + if refable.Schema == nil || refable.Schema != nil && refable.Schema.Ref.String() == "" { + break DOWNREF + } + currentRef = refable.Schema.Ref + + case spec.Response: + // a pointer points to a schema initially marshalled in responses section... + // Attempt to convert this to a schema. If this fails, the spec is invalid + asJSON, _ := refable.MarshalJSON() + var asSchema spec.Schema + + err := asSchema.UnmarshalJSON(asJSON) + if err != nil { + return nil, + fmt.Errorf("invalid type for resolved JSON pointer %s. Expected a schema a, got: %T (%v)", + currentRef.String(), value, err, + ) + } + warnings = append(warnings, fmt.Sprintf("found $ref %q (response) interpreted as schema", currentRef.String())) + + if asSchema.Ref.String() == "" { + break DOWNREF + } + currentRef = asSchema.Ref + + case spec.Parameter: + // a pointer points to a schema initially marshalled in parameters section... + // Attempt to convert this to a schema. If this fails, the spec is invalid + asJSON, _ := refable.MarshalJSON() + var asSchema spec.Schema + if err := asSchema.UnmarshalJSON(asJSON); err != nil { + return nil, + fmt.Errorf("invalid type for resolved JSON pointer %s. Expected a schema a, got: %T (%v)", + currentRef.String(), value, err, + ) + } + + warnings = append(warnings, fmt.Sprintf("found $ref %q (parameter) interpreted as schema", currentRef.String())) + + if asSchema.Ref.String() == "" { + break DOWNREF + } + currentRef = asSchema.Ref + + default: + // fallback: attempts to resolve the pointer as a schema + if refable == nil { + break DOWNREF + } + + asJSON, _ := json.Marshal(refable) + var asSchema spec.Schema + if err := asSchema.UnmarshalJSON(asJSON); err != nil { + return nil, + fmt.Errorf("unhandled type to resolve JSON pointer %s. Expected a Schema, got: %T (%v)", + currentRef.String(), value, err, + ) + } + warnings = append(warnings, fmt.Sprintf("found $ref %q (%T) interpreted as schema", currentRef.String(), refable)) + + if asSchema.Ref.String() == "" { + break DOWNREF + } + currentRef = asSchema.Ref + } + } + + // assess what schema we're ending with + sch, erv := spec.ResolveRefWithBase(sp, ¤tRef, opts) + if erv != nil { + return nil, erv + } + + if sch == nil { + return nil, fmt.Errorf("no schema found at %s", currentRef.String()) + } + + return &DeepestRefResult{Ref: currentRef, Schema: sch, Warnings: warnings}, nil +} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/schutils/flatten_schema.go b/vendor/github.com/go-openapi/analysis/internal/flatten/schutils/flatten_schema.go new file mode 100644 index 000000000..4590236e6 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/internal/flatten/schutils/flatten_schema.go @@ -0,0 +1,29 @@ +// Package schutils provides tools to save or clone a schema +// when flattening a spec. +package schutils + +import ( + "github.com/go-openapi/spec" + "github.com/go-openapi/swag" +) + +// Save registers a schema as an entry in spec #/definitions +func Save(sp *spec.Swagger, name string, schema *spec.Schema) { + if schema == nil { + return + } + + if sp.Definitions == nil { + sp.Definitions = make(map[string]spec.Schema, 150) + } + + sp.Definitions[name] = *schema +} + +// Clone deep-clones a schema +func Clone(schema *spec.Schema) *spec.Schema { + var sch spec.Schema + _ = swag.FromDynamicJSON(schema, &sch) + + return &sch +} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/keys.go b/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/keys.go new file mode 100644 index 000000000..ac80fc2e8 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/keys.go @@ -0,0 +1,201 @@ +package sortref + +import ( + "net/http" + "path" + "strconv" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/spec" +) + +const ( + paths = "paths" + responses = "responses" + parameters = "parameters" + definitions = "definitions" +) + +var ( + ignoredKeys map[string]struct{} + validMethods map[string]struct{} +) + +func init() { + ignoredKeys = map[string]struct{}{ + "schema": {}, + "properties": {}, + "not": {}, + "anyOf": {}, + "oneOf": {}, + } + + validMethods = map[string]struct{}{ + "GET": {}, + "HEAD": {}, + "OPTIONS": {}, + "PATCH": {}, + "POST": {}, + "PUT": {}, + "DELETE": {}, + } +} + +// Key represent a key item constructed from /-separated segments +type Key struct { + Segments int + Key string +} + +// Keys is a sortable collable collection of Keys +type Keys []Key + +func (k Keys) Len() int { return len(k) } +func (k Keys) Swap(i, j int) { k[i], k[j] = k[j], k[i] } +func (k Keys) Less(i, j int) bool { + return k[i].Segments > k[j].Segments || (k[i].Segments == k[j].Segments && k[i].Key < k[j].Key) +} + +// KeyParts construct a SplitKey with all its /-separated segments decomposed. It is sortable. +func KeyParts(key string) SplitKey { + var res []string + for _, part := range strings.Split(key[1:], "/") { + if part != "" { + res = append(res, jsonpointer.Unescape(part)) + } + } + + return res +} + +// SplitKey holds of the parts of a /-separated key, so that their location may be determined. +type SplitKey []string + +// IsDefinition is true when the split key is in the #/definitions section of a spec +func (s SplitKey) IsDefinition() bool { + return len(s) > 1 && s[0] == definitions +} + +// DefinitionName yields the name of the definition +func (s SplitKey) DefinitionName() string { + if !s.IsDefinition() { + return "" + } + + return s[1] +} + +func (s SplitKey) isKeyName(i int) bool { + if i <= 0 { + return false + } + + count := 0 + for idx := i - 1; idx > 0; idx-- { + if s[idx] != "properties" { + break + } + count++ + } + + return count%2 != 0 +} + +// PartAdder know how to construct the components of a new name +type PartAdder func(string) []string + +// BuildName builds a name from segments +func (s SplitKey) BuildName(segments []string, startIndex int, adder PartAdder) string { + for i, part := range s[startIndex:] { + if _, ignored := ignoredKeys[part]; !ignored || s.isKeyName(startIndex+i) { + segments = append(segments, adder(part)...) + } + } + + return strings.Join(segments, " ") +} + +// IsOperation is true when the split key is in the operations section +func (s SplitKey) IsOperation() bool { + return len(s) > 1 && s[0] == paths +} + +// IsSharedOperationParam is true when the split key is in the parameters section of a path +func (s SplitKey) IsSharedOperationParam() bool { + return len(s) > 2 && s[0] == paths && s[2] == parameters +} + +// IsSharedParam is true when the split key is in the #/parameters section of a spec +func (s SplitKey) IsSharedParam() bool { + return len(s) > 1 && s[0] == parameters +} + +// IsOperationParam is true when the split key is in the parameters section of an operation +func (s SplitKey) IsOperationParam() bool { + return len(s) > 3 && s[0] == paths && s[3] == parameters +} + +// IsOperationResponse is true when the split key is in the responses section of an operation +func (s SplitKey) IsOperationResponse() bool { + return len(s) > 3 && s[0] == paths && s[3] == responses +} + +// IsSharedResponse is true when the split key is in the #/responses section of a spec +func (s SplitKey) IsSharedResponse() bool { + return len(s) > 1 && s[0] == responses +} + +// IsDefaultResponse is true when the split key is the default response for an operation +func (s SplitKey) IsDefaultResponse() bool { + return len(s) > 4 && s[0] == paths && s[3] == responses && s[4] == "default" +} + +// IsStatusCodeResponse is true when the split key is an operation response with a status code +func (s SplitKey) IsStatusCodeResponse() bool { + isInt := func() bool { + _, err := strconv.Atoi(s[4]) + + return err == nil + } + + return len(s) > 4 && s[0] == paths && s[3] == responses && isInt() +} + +// ResponseName yields either the status code or "Default" for a response +func (s SplitKey) ResponseName() string { + if s.IsStatusCodeResponse() { + code, _ := strconv.Atoi(s[4]) + + return http.StatusText(code) + } + + if s.IsDefaultResponse() { + return "Default" + } + + return "" +} + +// PathItemRef constructs a $ref object from a split key of the form /{path}/{method} +func (s SplitKey) PathItemRef() spec.Ref { + if len(s) < 3 { + return spec.Ref{} + } + + pth, method := s[1], s[2] + if _, isValidMethod := validMethods[strings.ToUpper(method)]; !isValidMethod && !strings.HasPrefix(method, "x-") { + return spec.Ref{} + } + + return spec.MustCreateRef("#" + path.Join("/", paths, jsonpointer.Escape(pth), strings.ToUpper(method))) +} + +// PathRef constructs a $ref object from a split key of the form /paths/{reference} +func (s SplitKey) PathRef() spec.Ref { + if !s.IsOperation() { + return spec.Ref{} + } + + return spec.MustCreateRef("#" + path.Join("/", paths, jsonpointer.Escape(s[1]))) +} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/sort_ref.go b/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/sort_ref.go new file mode 100644 index 000000000..73243df87 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/sort_ref.go @@ -0,0 +1,141 @@ +package sortref + +import ( + "reflect" + "sort" + "strings" + + "github.com/go-openapi/analysis/internal/flatten/normalize" + "github.com/go-openapi/spec" +) + +var depthGroupOrder = []string{ + "sharedParam", "sharedResponse", "sharedOpParam", "opParam", "codeResponse", "defaultResponse", "definition", +} + +type mapIterator struct { + len int + mapIter *reflect.MapIter +} + +func (i *mapIterator) Next() bool { + return i.mapIter.Next() +} + +func (i *mapIterator) Len() int { + return i.len +} + +func (i *mapIterator) Key() string { + return i.mapIter.Key().String() +} + +func mustMapIterator(anyMap interface{}) *mapIterator { + val := reflect.ValueOf(anyMap) + + return &mapIterator{mapIter: val.MapRange(), len: val.Len()} +} + +// DepthFirst sorts a map of anything. It groups keys by category +// (shared params, op param, statuscode response, default response, definitions) +// sort groups internally by number of parts in the key and lexical names +// flatten groups into a single list of keys +func DepthFirst(in interface{}) []string { + iterator := mustMapIterator(in) + sorted := make([]string, 0, iterator.Len()) + grouped := make(map[string]Keys, iterator.Len()) + + for iterator.Next() { + k := iterator.Key() + split := KeyParts(k) + var pk string + + if split.IsSharedOperationParam() { + pk = "sharedOpParam" + } + if split.IsOperationParam() { + pk = "opParam" + } + if split.IsStatusCodeResponse() { + pk = "codeResponse" + } + if split.IsDefaultResponse() { + pk = "defaultResponse" + } + if split.IsDefinition() { + pk = "definition" + } + if split.IsSharedParam() { + pk = "sharedParam" + } + if split.IsSharedResponse() { + pk = "sharedResponse" + } + grouped[pk] = append(grouped[pk], Key{Segments: len(split), Key: k}) + } + + for _, pk := range depthGroupOrder { + res := grouped[pk] + sort.Sort(res) + + for _, v := range res { + sorted = append(sorted, v.Key) + } + } + + return sorted +} + +// topMostRefs is able to sort refs by hierarchical then lexicographic order, +// yielding refs ordered breadth-first. +type topmostRefs []string + +func (k topmostRefs) Len() int { return len(k) } +func (k topmostRefs) Swap(i, j int) { k[i], k[j] = k[j], k[i] } +func (k topmostRefs) Less(i, j int) bool { + li, lj := len(strings.Split(k[i], "/")), len(strings.Split(k[j], "/")) + if li == lj { + return k[i] < k[j] + } + + return li < lj +} + +// TopmostFirst sorts references by depth +func TopmostFirst(refs []string) []string { + res := topmostRefs(refs) + sort.Sort(res) + + return res +} + +// RefRevIdx is a reverse index for references +type RefRevIdx struct { + Ref spec.Ref + Keys []string +} + +// ReverseIndex builds a reverse index for references in schemas +func ReverseIndex(schemas map[string]spec.Ref, basePath string) map[string]RefRevIdx { + collected := make(map[string]RefRevIdx) + for key, schRef := range schemas { + // normalize paths before sorting, + // so we get together keys that are from the same external file + normalizedPath := normalize.Path(schRef, basePath) + + entry, ok := collected[normalizedPath] + if ok { + entry.Keys = append(entry.Keys, key) + collected[normalizedPath] = entry + + continue + } + + collected[normalizedPath] = RefRevIdx{ + Ref: schRef, + Keys: []string{key}, + } + } + + return collected +} diff --git a/vendor/github.com/go-openapi/analysis/mixin.go b/vendor/github.com/go-openapi/analysis/mixin.go new file mode 100644 index 000000000..7785a29b2 --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/mixin.go @@ -0,0 +1,515 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package analysis + +import ( + "fmt" + "reflect" + + "github.com/go-openapi/spec" +) + +// Mixin modifies the primary swagger spec by adding the paths and +// definitions from the mixin specs. Top level parameters and +// responses from the mixins are also carried over. Operation id +// collisions are avoided by appending "Mixin" but only if +// needed. +// +// The following parts of primary are subject to merge, filling empty details +// - Info +// - BasePath +// - Host +// - ExternalDocs +// +// Consider calling FixEmptyResponseDescriptions() on the modified primary +// if you read them from storage and they are valid to start with. +// +// Entries in "paths", "definitions", "parameters" and "responses" are +// added to the primary in the order of the given mixins. If the entry +// already exists in primary it is skipped with a warning message. +// +// The count of skipped entries (from collisions) is returned so any +// deviation from the number expected can flag a warning in your build +// scripts. Carefully review the collisions before accepting them; +// consider renaming things if possible. +// +// No key normalization takes place (paths, type defs, +// etc). Ensure they are canonical if your downstream tools do +// key normalization of any form. +// +// Merging schemes (http, https), and consumers/producers do not account for +// collisions. +func Mixin(primary *spec.Swagger, mixins ...*spec.Swagger) []string { + skipped := make([]string, 0, len(mixins)) + opIDs := getOpIDs(primary) + initPrimary(primary) + + for i, m := range mixins { + skipped = append(skipped, mergeSwaggerProps(primary, m)...) + + skipped = append(skipped, mergeConsumes(primary, m)...) + + skipped = append(skipped, mergeProduces(primary, m)...) + + skipped = append(skipped, mergeTags(primary, m)...) + + skipped = append(skipped, mergeSchemes(primary, m)...) + + skipped = append(skipped, mergeSecurityDefinitions(primary, m)...) + + skipped = append(skipped, mergeSecurityRequirements(primary, m)...) + + skipped = append(skipped, mergeDefinitions(primary, m)...) + + // merging paths requires a map of operationIDs to work with + skipped = append(skipped, mergePaths(primary, m, opIDs, i)...) + + skipped = append(skipped, mergeParameters(primary, m)...) + + skipped = append(skipped, mergeResponses(primary, m)...) + } + + return skipped +} + +// getOpIDs extracts all the paths..operationIds from the given +// spec and returns them as the keys in a map with 'true' values. +func getOpIDs(s *spec.Swagger) map[string]bool { + rv := make(map[string]bool) + if s.Paths == nil { + return rv + } + + for _, v := range s.Paths.Paths { + piops := pathItemOps(v) + + for _, op := range piops { + rv[op.ID] = true + } + } + + return rv +} + +func pathItemOps(p spec.PathItem) []*spec.Operation { + var rv []*spec.Operation + rv = appendOp(rv, p.Get) + rv = appendOp(rv, p.Put) + rv = appendOp(rv, p.Post) + rv = appendOp(rv, p.Delete) + rv = appendOp(rv, p.Head) + rv = appendOp(rv, p.Patch) + + return rv +} + +func appendOp(ops []*spec.Operation, op *spec.Operation) []*spec.Operation { + if op == nil { + return ops + } + + return append(ops, op) +} + +func mergeSecurityDefinitions(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { + for k, v := range m.SecurityDefinitions { + if _, exists := primary.SecurityDefinitions[k]; exists { + warn := fmt.Sprintf( + "SecurityDefinitions entry '%v' already exists in primary or higher priority mixin, skipping\n", k) + skipped = append(skipped, warn) + + continue + } + + primary.SecurityDefinitions[k] = v + } + + return +} + +func mergeSecurityRequirements(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { + for _, v := range m.Security { + found := false + for _, vv := range primary.Security { + if reflect.DeepEqual(v, vv) { + found = true + + break + } + } + + if found { + warn := fmt.Sprintf( + "Security requirement: '%v' already exists in primary or higher priority mixin, skipping\n", v) + skipped = append(skipped, warn) + + continue + } + primary.Security = append(primary.Security, v) + } + + return +} + +func mergeDefinitions(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { + for k, v := range m.Definitions { + // assume name collisions represent IDENTICAL type. careful. + if _, exists := primary.Definitions[k]; exists { + warn := fmt.Sprintf( + "definitions entry '%v' already exists in primary or higher priority mixin, skipping\n", k) + skipped = append(skipped, warn) + + continue + } + primary.Definitions[k] = v + } + + return +} + +func mergePaths(primary *spec.Swagger, m *spec.Swagger, opIDs map[string]bool, mixIndex int) (skipped []string) { + if m.Paths != nil { + for k, v := range m.Paths.Paths { + if _, exists := primary.Paths.Paths[k]; exists { + warn := fmt.Sprintf( + "paths entry '%v' already exists in primary or higher priority mixin, skipping\n", k) + skipped = append(skipped, warn) + + continue + } + + // Swagger requires that operationIds be + // unique within a spec. If we find a + // collision we append "Mixin0" to the + // operatoinId we are adding, where 0 is mixin + // index. We assume that operationIds with + // all the proivded specs are already unique. + piops := pathItemOps(v) + for _, piop := range piops { + if opIDs[piop.ID] { + piop.ID = fmt.Sprintf("%v%v%v", piop.ID, "Mixin", mixIndex) + } + opIDs[piop.ID] = true + } + primary.Paths.Paths[k] = v + } + } + + return +} + +func mergeParameters(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { + for k, v := range m.Parameters { + // could try to rename on conflict but would + // have to fix $refs in the mixin. Complain + // for now + if _, exists := primary.Parameters[k]; exists { + warn := fmt.Sprintf( + "top level parameters entry '%v' already exists in primary or higher priority mixin, skipping\n", k) + skipped = append(skipped, warn) + + continue + } + primary.Parameters[k] = v + } + + return +} + +func mergeResponses(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { + for k, v := range m.Responses { + // could try to rename on conflict but would + // have to fix $refs in the mixin. Complain + // for now + if _, exists := primary.Responses[k]; exists { + warn := fmt.Sprintf( + "top level responses entry '%v' already exists in primary or higher priority mixin, skipping\n", k) + skipped = append(skipped, warn) + + continue + } + primary.Responses[k] = v + } + + return skipped +} + +func mergeConsumes(primary *spec.Swagger, m *spec.Swagger) []string { + for _, v := range m.Consumes { + found := false + for _, vv := range primary.Consumes { + if v == vv { + found = true + + break + } + } + + if found { + // no warning here: we just skip it + continue + } + primary.Consumes = append(primary.Consumes, v) + } + + return []string{} +} + +func mergeProduces(primary *spec.Swagger, m *spec.Swagger) []string { + for _, v := range m.Produces { + found := false + for _, vv := range primary.Produces { + if v == vv { + found = true + + break + } + } + + if found { + // no warning here: we just skip it + continue + } + primary.Produces = append(primary.Produces, v) + } + + return []string{} +} + +func mergeTags(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { + for _, v := range m.Tags { + found := false + for _, vv := range primary.Tags { + if v.Name == vv.Name { + found = true + + break + } + } + + if found { + warn := fmt.Sprintf( + "top level tags entry with name '%v' already exists in primary or higher priority mixin, skipping\n", + v.Name, + ) + skipped = append(skipped, warn) + + continue + } + + primary.Tags = append(primary.Tags, v) + } + + return +} + +func mergeSchemes(primary *spec.Swagger, m *spec.Swagger) []string { + for _, v := range m.Schemes { + found := false + for _, vv := range primary.Schemes { + if v == vv { + found = true + + break + } + } + + if found { + // no warning here: we just skip it + continue + } + primary.Schemes = append(primary.Schemes, v) + } + + return []string{} +} + +func mergeSwaggerProps(primary *spec.Swagger, m *spec.Swagger) []string { + var skipped, skippedInfo, skippedDocs []string + + primary.Extensions, skipped = mergeExtensions(primary.Extensions, m.Extensions) + + // merging details in swagger top properties + if primary.Host == "" { + primary.Host = m.Host + } + + if primary.BasePath == "" { + primary.BasePath = m.BasePath + } + + if primary.Info == nil { + primary.Info = m.Info + } else if m.Info != nil { + skippedInfo = mergeInfo(primary.Info, m.Info) + skipped = append(skipped, skippedInfo...) + } + + if primary.ExternalDocs == nil { + primary.ExternalDocs = m.ExternalDocs + } else if m != nil { + skippedDocs = mergeExternalDocs(primary.ExternalDocs, m.ExternalDocs) + skipped = append(skipped, skippedDocs...) + } + + return skipped +} + +//nolint:unparam +func mergeExternalDocs(primary *spec.ExternalDocumentation, m *spec.ExternalDocumentation) []string { + if primary.Description == "" { + primary.Description = m.Description + } + + if primary.URL == "" { + primary.URL = m.URL + } + + return nil +} + +func mergeInfo(primary *spec.Info, m *spec.Info) []string { + var sk, skipped []string + + primary.Extensions, sk = mergeExtensions(primary.Extensions, m.Extensions) + skipped = append(skipped, sk...) + + if primary.Description == "" { + primary.Description = m.Description + } + + if primary.Title == "" { + primary.Description = m.Description + } + + if primary.TermsOfService == "" { + primary.TermsOfService = m.TermsOfService + } + + if primary.Version == "" { + primary.Version = m.Version + } + + if primary.Contact == nil { + primary.Contact = m.Contact + } else if m.Contact != nil { + var csk []string + primary.Contact.Extensions, csk = mergeExtensions(primary.Contact.Extensions, m.Contact.Extensions) + skipped = append(skipped, csk...) + + if primary.Contact.Name == "" { + primary.Contact.Name = m.Contact.Name + } + + if primary.Contact.URL == "" { + primary.Contact.URL = m.Contact.URL + } + + if primary.Contact.Email == "" { + primary.Contact.Email = m.Contact.Email + } + } + + if primary.License == nil { + primary.License = m.License + } else if m.License != nil { + var lsk []string + primary.License.Extensions, lsk = mergeExtensions(primary.License.Extensions, m.License.Extensions) + skipped = append(skipped, lsk...) + + if primary.License.Name == "" { + primary.License.Name = m.License.Name + } + + if primary.License.URL == "" { + primary.License.URL = m.License.URL + } + } + + return skipped +} + +func mergeExtensions(primary spec.Extensions, m spec.Extensions) (result spec.Extensions, skipped []string) { + if primary == nil { + result = m + + return + } + + if m == nil { + result = primary + + return + } + + result = primary + for k, v := range m { + if _, found := primary[k]; found { + skipped = append(skipped, k) + + continue + } + + primary[k] = v + } + + return +} + +func initPrimary(primary *spec.Swagger) { + if primary.SecurityDefinitions == nil { + primary.SecurityDefinitions = make(map[string]*spec.SecurityScheme) + } + + if primary.Security == nil { + primary.Security = make([]map[string][]string, 0, 10) + } + + if primary.Produces == nil { + primary.Produces = make([]string, 0, 10) + } + + if primary.Consumes == nil { + primary.Consumes = make([]string, 0, 10) + } + + if primary.Tags == nil { + primary.Tags = make([]spec.Tag, 0, 10) + } + + if primary.Schemes == nil { + primary.Schemes = make([]string, 0, 10) + } + + if primary.Paths == nil { + primary.Paths = &spec.Paths{Paths: make(map[string]spec.PathItem)} + } + + if primary.Paths.Paths == nil { + primary.Paths.Paths = make(map[string]spec.PathItem) + } + + if primary.Definitions == nil { + primary.Definitions = make(spec.Definitions) + } + + if primary.Parameters == nil { + primary.Parameters = make(map[string]spec.Parameter) + } + + if primary.Responses == nil { + primary.Responses = make(map[string]spec.Response) + } +} diff --git a/vendor/github.com/go-openapi/analysis/schema.go b/vendor/github.com/go-openapi/analysis/schema.go new file mode 100644 index 000000000..ab190db5b --- /dev/null +++ b/vendor/github.com/go-openapi/analysis/schema.go @@ -0,0 +1,256 @@ +package analysis + +import ( + "errors" + + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +// SchemaOpts configures the schema analyzer +type SchemaOpts struct { + Schema *spec.Schema + Root interface{} + BasePath string + _ struct{} +} + +// Schema analysis, will classify the schema according to known +// patterns. +func Schema(opts SchemaOpts) (*AnalyzedSchema, error) { + if opts.Schema == nil { + return nil, errors.New("no schema to analyze") + } + + a := &AnalyzedSchema{ + schema: opts.Schema, + root: opts.Root, + basePath: opts.BasePath, + } + + a.initializeFlags() + a.inferKnownType() + a.inferEnum() + a.inferBaseType() + + if err := a.inferMap(); err != nil { + return nil, err + } + if err := a.inferArray(); err != nil { + return nil, err + } + + a.inferTuple() + + if err := a.inferFromRef(); err != nil { + return nil, err + } + + a.inferSimpleSchema() + + return a, nil +} + +// AnalyzedSchema indicates what the schema represents +type AnalyzedSchema struct { + schema *spec.Schema + root interface{} + basePath string + + hasProps bool + hasAllOf bool + hasItems bool + hasAdditionalProps bool + hasAdditionalItems bool + hasRef bool + + IsKnownType bool + IsSimpleSchema bool + IsArray bool + IsSimpleArray bool + IsMap bool + IsSimpleMap bool + IsExtendedObject bool + IsTuple bool + IsTupleWithExtra bool + IsBaseType bool + IsEnum bool +} + +// Inherits copies value fields from other onto this schema +func (a *AnalyzedSchema) inherits(other *AnalyzedSchema) { + if other == nil { + return + } + a.hasProps = other.hasProps + a.hasAllOf = other.hasAllOf + a.hasItems = other.hasItems + a.hasAdditionalItems = other.hasAdditionalItems + a.hasAdditionalProps = other.hasAdditionalProps + a.hasRef = other.hasRef + + a.IsKnownType = other.IsKnownType + a.IsSimpleSchema = other.IsSimpleSchema + a.IsArray = other.IsArray + a.IsSimpleArray = other.IsSimpleArray + a.IsMap = other.IsMap + a.IsSimpleMap = other.IsSimpleMap + a.IsExtendedObject = other.IsExtendedObject + a.IsTuple = other.IsTuple + a.IsTupleWithExtra = other.IsTupleWithExtra + a.IsBaseType = other.IsBaseType + a.IsEnum = other.IsEnum +} + +func (a *AnalyzedSchema) inferFromRef() error { + if a.hasRef { + sch := new(spec.Schema) + sch.Ref = a.schema.Ref + err := spec.ExpandSchema(sch, a.root, nil) + if err != nil { + return err + } + rsch, err := Schema(SchemaOpts{ + Schema: sch, + Root: a.root, + BasePath: a.basePath, + }) + if err != nil { + // NOTE(fredbi): currently the only cause for errors is + // unresolved ref. Since spec.ExpandSchema() expands the + // schema recursively, there is no chance to get there, + // until we add more causes for error in this schema analysis. + return err + } + a.inherits(rsch) + } + + return nil +} + +func (a *AnalyzedSchema) inferSimpleSchema() { + a.IsSimpleSchema = a.IsKnownType || a.IsSimpleArray || a.IsSimpleMap +} + +func (a *AnalyzedSchema) inferKnownType() { + tpe := a.schema.Type + format := a.schema.Format + a.IsKnownType = tpe.Contains("boolean") || + tpe.Contains("integer") || + tpe.Contains("number") || + tpe.Contains("string") || + (format != "" && strfmt.Default.ContainsName(format)) || + (a.isObjectType() && !a.hasProps && !a.hasAllOf && !a.hasAdditionalProps && !a.hasAdditionalItems) +} + +func (a *AnalyzedSchema) inferMap() error { + if !a.isObjectType() { + return nil + } + + hasExtra := a.hasProps || a.hasAllOf + a.IsMap = a.hasAdditionalProps && !hasExtra + a.IsExtendedObject = a.hasAdditionalProps && hasExtra + + if !a.IsMap { + return nil + } + + // maps + if a.schema.AdditionalProperties.Schema != nil { + msch, err := Schema(SchemaOpts{ + Schema: a.schema.AdditionalProperties.Schema, + Root: a.root, + BasePath: a.basePath, + }) + if err != nil { + return err + } + a.IsSimpleMap = msch.IsSimpleSchema + } else if a.schema.AdditionalProperties.Allows { + a.IsSimpleMap = true + } + + return nil +} + +func (a *AnalyzedSchema) inferArray() error { + // an array has Items defined as an object schema, otherwise we qualify this JSON array as a tuple + // (yes, even if the Items array contains only one element). + // arrays in JSON schema may be unrestricted (i.e no Items specified). + // Note that arrays in Swagger MUST have Items. Nonetheless, we analyze unrestricted arrays. + // + // NOTE: the spec package misses the distinction between: + // items: [] and items: {}, so we consider both arrays here. + a.IsArray = a.isArrayType() && (a.schema.Items == nil || a.schema.Items.Schemas == nil) + if a.IsArray && a.hasItems { + if a.schema.Items.Schema != nil { + itsch, err := Schema(SchemaOpts{ + Schema: a.schema.Items.Schema, + Root: a.root, + BasePath: a.basePath, + }) + if err != nil { + return err + } + + a.IsSimpleArray = itsch.IsSimpleSchema + } + } + + if a.IsArray && !a.hasItems { + a.IsSimpleArray = true + } + + return nil +} + +func (a *AnalyzedSchema) inferTuple() { + tuple := a.hasItems && a.schema.Items.Schemas != nil + a.IsTuple = tuple && !a.hasAdditionalItems + a.IsTupleWithExtra = tuple && a.hasAdditionalItems +} + +func (a *AnalyzedSchema) inferBaseType() { + if a.isObjectType() { + a.IsBaseType = a.schema.Discriminator != "" + } +} + +func (a *AnalyzedSchema) inferEnum() { + a.IsEnum = len(a.schema.Enum) > 0 +} + +func (a *AnalyzedSchema) initializeFlags() { + a.hasProps = len(a.schema.Properties) > 0 + a.hasAllOf = len(a.schema.AllOf) > 0 + a.hasRef = a.schema.Ref.String() != "" + + a.hasItems = a.schema.Items != nil && + (a.schema.Items.Schema != nil || len(a.schema.Items.Schemas) > 0) + + a.hasAdditionalProps = a.schema.AdditionalProperties != nil && + (a.schema.AdditionalProperties.Schema != nil || a.schema.AdditionalProperties.Allows) + + a.hasAdditionalItems = a.schema.AdditionalItems != nil && + (a.schema.AdditionalItems.Schema != nil || a.schema.AdditionalItems.Allows) +} + +func (a *AnalyzedSchema) isObjectType() bool { + return !a.hasRef && (a.schema.Type == nil || a.schema.Type.Contains("") || a.schema.Type.Contains("object")) +} + +func (a *AnalyzedSchema) isArrayType() bool { + return !a.hasRef && (a.schema.Type != nil && a.schema.Type.Contains("array")) +} + +// isAnalyzedAsComplex determines if an analyzed schema is eligible to flattening (i.e. it is "complex"). +// +// Complex means the schema is any of: +// - a simple type (primitive) +// - an array of something (items are possibly complex ; if this is the case, items will generate a definition) +// - a map of something (additionalProperties are possibly complex ; if this is the case, additionalProperties will +// generate a definition) +func (a *AnalyzedSchema) isAnalyzedAsComplex() bool { + return !a.IsSimpleSchema && !a.IsArray && !a.IsMap +} diff --git a/vendor/github.com/go-openapi/errors/.gitattributes b/vendor/github.com/go-openapi/errors/.gitattributes new file mode 100644 index 000000000..a0717e4b3 --- /dev/null +++ b/vendor/github.com/go-openapi/errors/.gitattributes @@ -0,0 +1 @@ +*.go text eol=lf \ No newline at end of file diff --git a/vendor/github.com/go-openapi/errors/.gitignore b/vendor/github.com/go-openapi/errors/.gitignore new file mode 100644 index 000000000..dd91ed6a0 --- /dev/null +++ b/vendor/github.com/go-openapi/errors/.gitignore @@ -0,0 +1,2 @@ +secrets.yml +coverage.out diff --git a/vendor/github.com/go-openapi/errors/.golangci.yml b/vendor/github.com/go-openapi/errors/.golangci.yml new file mode 100644 index 000000000..5609b4fea --- /dev/null +++ b/vendor/github.com/go-openapi/errors/.golangci.yml @@ -0,0 +1,75 @@ +version: "2" +linters: + default: all + disable: + - cyclop + - depguard + - errchkjson + - errorlint + - exhaustruct + - forcetypeassert + - funlen + - gochecknoglobals + - gochecknoinits + - gocognit + - godot + - godox + - gosmopolitan + - inamedparam + #- intrange # disabled while < go1.22 + - ireturn + - lll + - musttag + - nestif + - nlreturn + - noinlineerr + - nonamedreturns + - paralleltest + - recvcheck + - testpackage + - thelper + - tparallel + - unparam + - varnamelen + - whitespace + - wrapcheck + - wsl + - wsl_v5 + settings: + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + gocyclo: + min-complexity: 45 + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ +issues: + # Maximum issues count per one linter. + # Set to 0 to disable. + # Default: 50 + max-issues-per-linter: 0 + # Maximum count of issues with the same text. + # Set to 0 to disable. + # Default: 3 + max-same-issues: 0 diff --git a/vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/errors/LICENSE b/vendor/github.com/go-openapi/errors/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/errors/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/errors/README.md b/vendor/github.com/go-openapi/errors/README.md new file mode 100644 index 000000000..d7e3a18bc --- /dev/null +++ b/vendor/github.com/go-openapi/errors/README.md @@ -0,0 +1,12 @@ +# OpenAPI errors [![Build Status](https://github.com/go-openapi/errors/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/errors/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/errors/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/errors) + +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/errors/master/LICENSE) +[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/errors.svg)](https://pkg.go.dev/github.com/go-openapi/errors) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/errors)](https://goreportcard.com/report/github.com/go-openapi/errors) + +Shared errors and error interface used throughout the various libraries found in the go-openapi toolkit. + +## Licensing + +This library ships under the [SPDX-License-Identifier: Apache-2.0](./LICENSE). diff --git a/vendor/github.com/go-openapi/errors/api.go b/vendor/github.com/go-openapi/errors/api.go new file mode 100644 index 000000000..d39233baf --- /dev/null +++ b/vendor/github.com/go-openapi/errors/api.go @@ -0,0 +1,181 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package errors + +import ( + "encoding/json" + "fmt" + "net/http" + "reflect" + "strings" +) + +// DefaultHTTPCode is used when the error Code cannot be used as an HTTP code. +var DefaultHTTPCode = http.StatusUnprocessableEntity + +// Error represents a error interface all swagger framework errors implement +type Error interface { + error + Code() int32 +} + +type apiError struct { + code int32 + message string +} + +func (a *apiError) Error() string { + return a.message +} + +func (a *apiError) Code() int32 { + return a.code +} + +// MarshalJSON implements the JSON encoding interface +func (a apiError) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]any{ + "code": a.code, + "message": a.message, + }) +} + +// New creates a new API error with a code and a message +func New(code int32, message string, args ...any) Error { + if len(args) > 0 { + return &apiError{ + code: code, + message: fmt.Sprintf(message, args...), + } + } + return &apiError{ + code: code, + message: message, + } +} + +// NotFound creates a new not found error +func NotFound(message string, args ...any) Error { + if message == "" { + message = "Not found" + } + return New(http.StatusNotFound, message, args...) +} + +// NotImplemented creates a new not implemented error +func NotImplemented(message string) Error { + return New(http.StatusNotImplemented, "%s", message) +} + +// MethodNotAllowedError represents an error for when the path matches but the method doesn't +type MethodNotAllowedError struct { + code int32 + Allowed []string + message string +} + +func (m *MethodNotAllowedError) Error() string { + return m.message +} + +// Code the error code +func (m *MethodNotAllowedError) Code() int32 { + return m.code +} + +// MarshalJSON implements the JSON encoding interface +func (m MethodNotAllowedError) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]any{ + "code": m.code, + "message": m.message, + "allowed": m.Allowed, + }) +} + +func errorAsJSON(err Error) []byte { + //nolint:errchkjson + b, _ := json.Marshal(struct { + Code int32 `json:"code"` + Message string `json:"message"` + }{err.Code(), err.Error()}) + return b +} + +func flattenComposite(errs *CompositeError) *CompositeError { + var res []error + for _, er := range errs.Errors { + switch e := er.(type) { + case *CompositeError: + if e != nil && len(e.Errors) > 0 { + flat := flattenComposite(e) + if len(flat.Errors) > 0 { + res = append(res, flat.Errors...) + } + } + default: + if e != nil { + res = append(res, e) + } + } + } + return CompositeValidationError(res...) +} + +// MethodNotAllowed creates a new method not allowed error +func MethodNotAllowed(requested string, allow []string) Error { + msg := fmt.Sprintf("method %s is not allowed, but [%s] are", requested, strings.Join(allow, ",")) + return &MethodNotAllowedError{ + code: http.StatusMethodNotAllowed, + Allowed: allow, + message: msg, + } +} + +// ServeError implements the http error handler interface +func ServeError(rw http.ResponseWriter, r *http.Request, err error) { + rw.Header().Set("Content-Type", "application/json") + switch e := err.(type) { + case *CompositeError: + er := flattenComposite(e) + // strips composite errors to first element only + if len(er.Errors) > 0 { + ServeError(rw, r, er.Errors[0]) + } else { + // guard against empty CompositeError (invalid construct) + ServeError(rw, r, nil) + } + case *MethodNotAllowedError: + rw.Header().Add("Allow", strings.Join(e.Allowed, ",")) + rw.WriteHeader(asHTTPCode(int(e.Code()))) + if r == nil || r.Method != http.MethodHead { + _, _ = rw.Write(errorAsJSON(e)) + } + case Error: + value := reflect.ValueOf(e) + if value.Kind() == reflect.Ptr && value.IsNil() { + rw.WriteHeader(http.StatusInternalServerError) + _, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, "Unknown error"))) + return + } + rw.WriteHeader(asHTTPCode(int(e.Code()))) + if r == nil || r.Method != http.MethodHead { + _, _ = rw.Write(errorAsJSON(e)) + } + case nil: + rw.WriteHeader(http.StatusInternalServerError) + _, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, "Unknown error"))) + default: + rw.WriteHeader(http.StatusInternalServerError) + if r == nil || r.Method != http.MethodHead { + _, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, "%v", err))) + } + } +} + +func asHTTPCode(input int) int { + if input >= maximumValidHTTPCode { + return DefaultHTTPCode + } + return input +} diff --git a/vendor/github.com/go-openapi/errors/auth.go b/vendor/github.com/go-openapi/errors/auth.go new file mode 100644 index 000000000..08de582e5 --- /dev/null +++ b/vendor/github.com/go-openapi/errors/auth.go @@ -0,0 +1,11 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package errors + +import "net/http" + +// Unauthenticated returns an unauthenticated error +func Unauthenticated(scheme string) Error { + return New(http.StatusUnauthorized, "unauthenticated for %s", scheme) +} diff --git a/vendor/github.com/go-openapi/errors/doc.go b/vendor/github.com/go-openapi/errors/doc.go new file mode 100644 index 000000000..b4627f30f --- /dev/null +++ b/vendor/github.com/go-openapi/errors/doc.go @@ -0,0 +1,15 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +/* +Package errors provides an Error interface and several concrete types +implementing this interface to manage API errors and JSON-schema validation +errors. + +A middleware handler ServeError() is provided to serve the errors types +it defines. + +It is used throughout the various go-openapi toolkit libraries +(https://github.com/go-openapi). +*/ +package errors diff --git a/vendor/github.com/go-openapi/errors/headers.go b/vendor/github.com/go-openapi/errors/headers.go new file mode 100644 index 000000000..2d837c34a --- /dev/null +++ b/vendor/github.com/go-openapi/errors/headers.go @@ -0,0 +1,92 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package errors + +import ( + "encoding/json" + "fmt" + "net/http" +) + +// Validation represents a failure of a precondition +type Validation struct { //nolint: errname + code int32 + Name string + In string + Value any + message string + Values []any +} + +func (e *Validation) Error() string { + return e.message +} + +// Code the error code +func (e *Validation) Code() int32 { + return e.code +} + +// MarshalJSON implements the JSON encoding interface +func (e Validation) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]any{ + "code": e.code, + "message": e.message, + "in": e.In, + "name": e.Name, + "value": e.Value, + "values": e.Values, + }) +} + +// ValidateName sets the name for a validation or updates it for a nested property +func (e *Validation) ValidateName(name string) *Validation { + if name != "" { + if e.Name == "" { + e.Name = name + e.message = name + e.message + } else { + e.Name = name + "." + e.Name + e.message = name + "." + e.message + } + } + return e +} + +const ( + contentTypeFail = `unsupported media type %q, only %v are allowed` + responseFormatFail = `unsupported media type requested, only %v are available` +) + +// InvalidContentType error for an invalid content type +func InvalidContentType(value string, allowed []string) *Validation { + values := make([]any, 0, len(allowed)) + for _, v := range allowed { + values = append(values, v) + } + return &Validation{ + code: http.StatusUnsupportedMediaType, + Name: "Content-Type", + In: "header", + Value: value, + Values: values, + message: fmt.Sprintf(contentTypeFail, value, allowed), + } +} + +// InvalidResponseFormat error for an unacceptable response format request +func InvalidResponseFormat(value string, allowed []string) *Validation { + values := make([]any, 0, len(allowed)) + for _, v := range allowed { + values = append(values, v) + } + return &Validation{ + code: http.StatusNotAcceptable, + Name: "Accept", + In: "header", + Value: value, + Values: values, + message: fmt.Sprintf(responseFormatFail, allowed), + } +} diff --git a/vendor/github.com/go-openapi/errors/middleware.go b/vendor/github.com/go-openapi/errors/middleware.go new file mode 100644 index 000000000..c434e59a6 --- /dev/null +++ b/vendor/github.com/go-openapi/errors/middleware.go @@ -0,0 +1,39 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package errors + +import ( + "bytes" + "fmt" + "strings" +) + +// APIVerificationFailed is an error that contains all the missing info for a mismatched section +// between the api registrations and the api spec +type APIVerificationFailed struct { //nolint: errname + Section string `json:"section,omitempty"` + MissingSpecification []string `json:"missingSpecification,omitempty"` + MissingRegistration []string `json:"missingRegistration,omitempty"` +} + +func (v *APIVerificationFailed) Error() string { + buf := bytes.NewBuffer(nil) + + hasRegMissing := len(v.MissingRegistration) > 0 + hasSpecMissing := len(v.MissingSpecification) > 0 + + if hasRegMissing { + fmt.Fprintf(buf, "missing [%s] %s registrations", strings.Join(v.MissingRegistration, ", "), v.Section) + } + + if hasRegMissing && hasSpecMissing { + buf.WriteString("\n") + } + + if hasSpecMissing { + fmt.Fprintf(buf, "missing from spec file [%s] %s", strings.Join(v.MissingSpecification, ", "), v.Section) + } + + return buf.String() +} diff --git a/vendor/github.com/go-openapi/errors/parsing.go b/vendor/github.com/go-openapi/errors/parsing.go new file mode 100644 index 000000000..ea2a7c603 --- /dev/null +++ b/vendor/github.com/go-openapi/errors/parsing.go @@ -0,0 +1,68 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package errors + +import ( + "encoding/json" + "fmt" + "net/http" +) + +// ParseError represents a parsing error +type ParseError struct { + code int32 + Name string + In string + Value string + Reason error + message string +} + +// NewParseError creates a new parse error +func NewParseError(name, in, value string, reason error) *ParseError { + var msg string + if in == "" { + msg = fmt.Sprintf(parseErrorTemplContentNoIn, name, value, reason) + } else { + msg = fmt.Sprintf(parseErrorTemplContent, name, in, value, reason) + } + return &ParseError{ + code: http.StatusBadRequest, + Name: name, + In: in, + Value: value, + Reason: reason, + message: msg, + } +} + +func (e *ParseError) Error() string { + return e.message +} + +// Code returns the http status code for this error +func (e *ParseError) Code() int32 { + return e.code +} + +// MarshalJSON implements the JSON encoding interface +func (e ParseError) MarshalJSON() ([]byte, error) { + var reason string + if e.Reason != nil { + reason = e.Reason.Error() + } + return json.Marshal(map[string]any{ + "code": e.code, + "message": e.message, + "in": e.In, + "name": e.Name, + "value": e.Value, + "reason": reason, + }) +} + +const ( + parseErrorTemplContent = `parsing %s %s from %q failed, because %s` + parseErrorTemplContentNoIn = `parsing %s from %q failed, because %s` +) diff --git a/vendor/github.com/go-openapi/errors/schema.go b/vendor/github.com/go-openapi/errors/schema.go new file mode 100644 index 000000000..e59ca4f86 --- /dev/null +++ b/vendor/github.com/go-openapi/errors/schema.go @@ -0,0 +1,608 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package errors + +import ( + "encoding/json" + "fmt" + "net/http" + "strings" +) + +const ( + invalidType = "%s is an invalid type name" + typeFail = "%s in %s must be of type %s" + typeFailWithData = "%s in %s must be of type %s: %q" + typeFailWithError = "%s in %s must be of type %s, because: %s" + requiredFail = "%s in %s is required" + readOnlyFail = "%s in %s is readOnly" + tooLongMessage = "%s in %s should be at most %d chars long" + tooShortMessage = "%s in %s should be at least %d chars long" + patternFail = "%s in %s should match '%s'" + enumFail = "%s in %s should be one of %v" + multipleOfFail = "%s in %s should be a multiple of %v" + maximumIncFail = "%s in %s should be less than or equal to %v" + maximumExcFail = "%s in %s should be less than %v" + minIncFail = "%s in %s should be greater than or equal to %v" + minExcFail = "%s in %s should be greater than %v" + uniqueFail = "%s in %s shouldn't contain duplicates" + maximumItemsFail = "%s in %s should have at most %d items" + minItemsFail = "%s in %s should have at least %d items" + typeFailNoIn = "%s must be of type %s" + typeFailWithDataNoIn = "%s must be of type %s: %q" + typeFailWithErrorNoIn = "%s must be of type %s, because: %s" + requiredFailNoIn = "%s is required" + readOnlyFailNoIn = "%s is readOnly" + tooLongMessageNoIn = "%s should be at most %d chars long" + tooShortMessageNoIn = "%s should be at least %d chars long" + patternFailNoIn = "%s should match '%s'" + enumFailNoIn = "%s should be one of %v" + multipleOfFailNoIn = "%s should be a multiple of %v" + maximumIncFailNoIn = "%s should be less than or equal to %v" + maximumExcFailNoIn = "%s should be less than %v" + minIncFailNoIn = "%s should be greater than or equal to %v" + minExcFailNoIn = "%s should be greater than %v" + uniqueFailNoIn = "%s shouldn't contain duplicates" + maximumItemsFailNoIn = "%s should have at most %d items" + minItemsFailNoIn = "%s should have at least %d items" + noAdditionalItems = "%s in %s can't have additional items" + noAdditionalItemsNoIn = "%s can't have additional items" + tooFewProperties = "%s in %s should have at least %d properties" + tooFewPropertiesNoIn = "%s should have at least %d properties" + tooManyProperties = "%s in %s should have at most %d properties" + tooManyPropertiesNoIn = "%s should have at most %d properties" + unallowedProperty = "%s.%s in %s is a forbidden property" + unallowedPropertyNoIn = "%s.%s is a forbidden property" + failedAllPatternProps = "%s.%s in %s failed all pattern properties" + failedAllPatternPropsNoIn = "%s.%s failed all pattern properties" + multipleOfMustBePositive = "factor MultipleOf declared for %s must be positive: %v" +) + +const maximumValidHTTPCode = 600 + +// All code responses can be used to differentiate errors for different handling +// by the consuming program +const ( + // CompositeErrorCode remains 422 for backwards-compatibility + // and to separate it from validation errors with cause + CompositeErrorCode = http.StatusUnprocessableEntity + + // InvalidTypeCode is used for any subclass of invalid types + InvalidTypeCode = maximumValidHTTPCode + iota + RequiredFailCode + TooLongFailCode + TooShortFailCode + PatternFailCode + EnumFailCode + MultipleOfFailCode + MaxFailCode + MinFailCode + UniqueFailCode + MaxItemsFailCode + MinItemsFailCode + NoAdditionalItemsCode + TooFewPropertiesCode + TooManyPropertiesCode + UnallowedPropertyCode + FailedAllPatternPropsCode + MultipleOfMustBePositiveCode + ReadOnlyFailCode +) + +// CompositeError is an error that groups several errors together +type CompositeError struct { + Errors []error + code int32 + message string +} + +// Code for this error +func (c *CompositeError) Code() int32 { + return c.code +} + +func (c *CompositeError) Error() string { + if len(c.Errors) > 0 { + msgs := []string{c.message + ":"} + for _, e := range c.Errors { + msgs = append(msgs, e.Error()) + } + return strings.Join(msgs, "\n") + } + return c.message +} + +func (c *CompositeError) Unwrap() []error { + return c.Errors +} + +// MarshalJSON implements the JSON encoding interface +func (c CompositeError) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]any{ + "code": c.code, + "message": c.message, + "errors": c.Errors, + }) +} + +// CompositeValidationError an error to wrap a bunch of other errors +func CompositeValidationError(errors ...error) *CompositeError { + return &CompositeError{ + code: CompositeErrorCode, + Errors: append(make([]error, 0, len(errors)), errors...), + message: "validation failure list", + } +} + +// ValidateName recursively sets the name for all validations or updates them for nested properties +func (c *CompositeError) ValidateName(name string) *CompositeError { + for i, e := range c.Errors { + if ve, ok := e.(*Validation); ok { + c.Errors[i] = ve.ValidateName(name) + } else if ce, ok := e.(*CompositeError); ok { + c.Errors[i] = ce.ValidateName(name) + } + } + + return c +} + +// FailedAllPatternProperties an error for when the property doesn't match a pattern +func FailedAllPatternProperties(name, in, key string) *Validation { + msg := fmt.Sprintf(failedAllPatternProps, name, key, in) + if in == "" { + msg = fmt.Sprintf(failedAllPatternPropsNoIn, name, key) + } + return &Validation{ + code: FailedAllPatternPropsCode, + Name: name, + In: in, + Value: key, + message: msg, + } +} + +// PropertyNotAllowed an error for when the property doesn't match a pattern +func PropertyNotAllowed(name, in, key string) *Validation { + msg := fmt.Sprintf(unallowedProperty, name, key, in) + if in == "" { + msg = fmt.Sprintf(unallowedPropertyNoIn, name, key) + } + return &Validation{ + code: UnallowedPropertyCode, + Name: name, + In: in, + Value: key, + message: msg, + } +} + +// TooFewProperties an error for an object with too few properties +func TooFewProperties(name, in string, n int64) *Validation { + msg := fmt.Sprintf(tooFewProperties, name, in, n) + if in == "" { + msg = fmt.Sprintf(tooFewPropertiesNoIn, name, n) + } + return &Validation{ + code: TooFewPropertiesCode, + Name: name, + In: in, + Value: n, + message: msg, + } +} + +// TooManyProperties an error for an object with too many properties +func TooManyProperties(name, in string, n int64) *Validation { + msg := fmt.Sprintf(tooManyProperties, name, in, n) + if in == "" { + msg = fmt.Sprintf(tooManyPropertiesNoIn, name, n) + } + return &Validation{ + code: TooManyPropertiesCode, + Name: name, + In: in, + Value: n, + message: msg, + } +} + +// AdditionalItemsNotAllowed an error for invalid additional items +func AdditionalItemsNotAllowed(name, in string) *Validation { + msg := fmt.Sprintf(noAdditionalItems, name, in) + if in == "" { + msg = fmt.Sprintf(noAdditionalItemsNoIn, name) + } + return &Validation{ + code: NoAdditionalItemsCode, + Name: name, + In: in, + message: msg, + } +} + +// InvalidCollectionFormat another flavor of invalid type error +func InvalidCollectionFormat(name, in, format string) *Validation { + return &Validation{ + code: InvalidTypeCode, + Name: name, + In: in, + Value: format, + message: fmt.Sprintf("the collection format %q is not supported for the %s param %q", format, in, name), + } +} + +// InvalidTypeName an error for when the type is invalid +func InvalidTypeName(typeName string) *Validation { + return &Validation{ + code: InvalidTypeCode, + Value: typeName, + message: fmt.Sprintf(invalidType, typeName), + } +} + +// InvalidType creates an error for when the type is invalid +func InvalidType(name, in, typeName string, value any) *Validation { + var message string + + if in != "" { + switch value.(type) { + case string: + message = fmt.Sprintf(typeFailWithData, name, in, typeName, value) + case error: + message = fmt.Sprintf(typeFailWithError, name, in, typeName, value) + default: + message = fmt.Sprintf(typeFail, name, in, typeName) + } + } else { + switch value.(type) { + case string: + message = fmt.Sprintf(typeFailWithDataNoIn, name, typeName, value) + case error: + message = fmt.Sprintf(typeFailWithErrorNoIn, name, typeName, value) + default: + message = fmt.Sprintf(typeFailNoIn, name, typeName) + } + } + + return &Validation{ + code: InvalidTypeCode, + Name: name, + In: in, + Value: value, + message: message, + } + +} + +// DuplicateItems error for when an array contains duplicates +func DuplicateItems(name, in string) *Validation { + msg := fmt.Sprintf(uniqueFail, name, in) + if in == "" { + msg = fmt.Sprintf(uniqueFailNoIn, name) + } + return &Validation{ + code: UniqueFailCode, + Name: name, + In: in, + message: msg, + } +} + +// TooManyItems error for when an array contains too many items +func TooManyItems(name, in string, maximum int64, value any) *Validation { + msg := fmt.Sprintf(maximumItemsFail, name, in, maximum) + if in == "" { + msg = fmt.Sprintf(maximumItemsFailNoIn, name, maximum) + } + + return &Validation{ + code: MaxItemsFailCode, + Name: name, + In: in, + Value: value, + message: msg, + } +} + +// TooFewItems error for when an array contains too few items +func TooFewItems(name, in string, minimum int64, value any) *Validation { + msg := fmt.Sprintf(minItemsFail, name, in, minimum) + if in == "" { + msg = fmt.Sprintf(minItemsFailNoIn, name, minimum) + } + return &Validation{ + code: MinItemsFailCode, + Name: name, + In: in, + Value: value, + message: msg, + } +} + +// ExceedsMaximumInt error for when maximumimum validation fails +func ExceedsMaximumInt(name, in string, maximum int64, exclusive bool, value any) *Validation { + var message string + if in == "" { + m := maximumIncFailNoIn + if exclusive { + m = maximumExcFailNoIn + } + message = fmt.Sprintf(m, name, maximum) + } else { + m := maximumIncFail + if exclusive { + m = maximumExcFail + } + message = fmt.Sprintf(m, name, in, maximum) + } + return &Validation{ + code: MaxFailCode, + Name: name, + In: in, + Value: value, + message: message, + } +} + +// ExceedsMaximumUint error for when maximumimum validation fails +func ExceedsMaximumUint(name, in string, maximum uint64, exclusive bool, value any) *Validation { + var message string + if in == "" { + m := maximumIncFailNoIn + if exclusive { + m = maximumExcFailNoIn + } + message = fmt.Sprintf(m, name, maximum) + } else { + m := maximumIncFail + if exclusive { + m = maximumExcFail + } + message = fmt.Sprintf(m, name, in, maximum) + } + return &Validation{ + code: MaxFailCode, + Name: name, + In: in, + Value: value, + message: message, + } +} + +// ExceedsMaximum error for when maximumimum validation fails +func ExceedsMaximum(name, in string, maximum float64, exclusive bool, value any) *Validation { + var message string + if in == "" { + m := maximumIncFailNoIn + if exclusive { + m = maximumExcFailNoIn + } + message = fmt.Sprintf(m, name, maximum) + } else { + m := maximumIncFail + if exclusive { + m = maximumExcFail + } + message = fmt.Sprintf(m, name, in, maximum) + } + return &Validation{ + code: MaxFailCode, + Name: name, + In: in, + Value: value, + message: message, + } +} + +// ExceedsMinimumInt error for when minimum validation fails +func ExceedsMinimumInt(name, in string, minimum int64, exclusive bool, value any) *Validation { + var message string + if in == "" { + m := minIncFailNoIn + if exclusive { + m = minExcFailNoIn + } + message = fmt.Sprintf(m, name, minimum) + } else { + m := minIncFail + if exclusive { + m = minExcFail + } + message = fmt.Sprintf(m, name, in, minimum) + } + return &Validation{ + code: MinFailCode, + Name: name, + In: in, + Value: value, + message: message, + } +} + +// ExceedsMinimumUint error for when minimum validation fails +func ExceedsMinimumUint(name, in string, minimum uint64, exclusive bool, value any) *Validation { + var message string + if in == "" { + m := minIncFailNoIn + if exclusive { + m = minExcFailNoIn + } + message = fmt.Sprintf(m, name, minimum) + } else { + m := minIncFail + if exclusive { + m = minExcFail + } + message = fmt.Sprintf(m, name, in, minimum) + } + return &Validation{ + code: MinFailCode, + Name: name, + In: in, + Value: value, + message: message, + } +} + +// ExceedsMinimum error for when minimum validation fails +func ExceedsMinimum(name, in string, minimum float64, exclusive bool, value any) *Validation { + var message string + if in == "" { + m := minIncFailNoIn + if exclusive { + m = minExcFailNoIn + } + message = fmt.Sprintf(m, name, minimum) + } else { + m := minIncFail + if exclusive { + m = minExcFail + } + message = fmt.Sprintf(m, name, in, minimum) + } + return &Validation{ + code: MinFailCode, + Name: name, + In: in, + Value: value, + message: message, + } +} + +// NotMultipleOf error for when multiple of validation fails +func NotMultipleOf(name, in string, multiple, value any) *Validation { + var msg string + if in == "" { + msg = fmt.Sprintf(multipleOfFailNoIn, name, multiple) + } else { + msg = fmt.Sprintf(multipleOfFail, name, in, multiple) + } + return &Validation{ + code: MultipleOfFailCode, + Name: name, + In: in, + Value: value, + message: msg, + } +} + +// EnumFail error for when an enum validation fails +func EnumFail(name, in string, value any, values []any) *Validation { + var msg string + if in == "" { + msg = fmt.Sprintf(enumFailNoIn, name, values) + } else { + msg = fmt.Sprintf(enumFail, name, in, values) + } + + return &Validation{ + code: EnumFailCode, + Name: name, + In: in, + Value: value, + Values: values, + message: msg, + } +} + +// Required error for when a value is missing +func Required(name, in string, value any) *Validation { + var msg string + if in == "" { + msg = fmt.Sprintf(requiredFailNoIn, name) + } else { + msg = fmt.Sprintf(requiredFail, name, in) + } + return &Validation{ + code: RequiredFailCode, + Name: name, + In: in, + Value: value, + message: msg, + } +} + +// ReadOnly error for when a value is present in request +func ReadOnly(name, in string, value any) *Validation { + var msg string + if in == "" { + msg = fmt.Sprintf(readOnlyFailNoIn, name) + } else { + msg = fmt.Sprintf(readOnlyFail, name, in) + } + return &Validation{ + code: ReadOnlyFailCode, + Name: name, + In: in, + Value: value, + message: msg, + } +} + +// TooLong error for when a string is too long +func TooLong(name, in string, maximum int64, value any) *Validation { + var msg string + if in == "" { + msg = fmt.Sprintf(tooLongMessageNoIn, name, maximum) + } else { + msg = fmt.Sprintf(tooLongMessage, name, in, maximum) + } + return &Validation{ + code: TooLongFailCode, + Name: name, + In: in, + Value: value, + message: msg, + } +} + +// TooShort error for when a string is too short +func TooShort(name, in string, minimum int64, value any) *Validation { + var msg string + if in == "" { + msg = fmt.Sprintf(tooShortMessageNoIn, name, minimum) + } else { + msg = fmt.Sprintf(tooShortMessage, name, in, minimum) + } + + return &Validation{ + code: TooShortFailCode, + Name: name, + In: in, + Value: value, + message: msg, + } +} + +// FailedPattern error for when a string fails a regex pattern match +// the pattern that is returned is the ECMA syntax version of the pattern not the golang version. +func FailedPattern(name, in, pattern string, value any) *Validation { + var msg string + if in == "" { + msg = fmt.Sprintf(patternFailNoIn, name, pattern) + } else { + msg = fmt.Sprintf(patternFail, name, in, pattern) + } + + return &Validation{ + code: PatternFailCode, + Name: name, + In: in, + Value: value, + message: msg, + } +} + +// MultipleOfMustBePositive error for when a +// multipleOf factor is negative +func MultipleOfMustBePositive(name, in string, factor any) *Validation { + return &Validation{ + code: MultipleOfMustBePositiveCode, + Name: name, + In: in, + Value: factor, + message: fmt.Sprintf(multipleOfMustBePositive, name, factor), + } +} diff --git a/vendor/github.com/go-openapi/jsonpointer/.editorconfig b/vendor/github.com/go-openapi/jsonpointer/.editorconfig new file mode 100644 index 000000000..3152da69a --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/jsonpointer/.gitignore b/vendor/github.com/go-openapi/jsonpointer/.gitignore new file mode 100644 index 000000000..769c24400 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/.gitignore @@ -0,0 +1 @@ +secrets.yml diff --git a/vendor/github.com/go-openapi/jsonpointer/.golangci.yml b/vendor/github.com/go-openapi/jsonpointer/.golangci.yml new file mode 100644 index 000000000..d2fafb8a2 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/.golangci.yml @@ -0,0 +1,56 @@ +linters-settings: + gocyclo: + min-complexity: 45 + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + +linters: + enable-all: true + disable: + - recvcheck + - unparam + - lll + - gochecknoinits + - gochecknoglobals + - funlen + - godox + - gocognit + - whitespace + - wsl + - wrapcheck + - testpackage + - nlreturn + - errorlint + - nestif + - godot + - gofumpt + - paralleltest + - tparallel + - thelper + - exhaustruct + - varnamelen + - gci + - depguard + - errchkjson + - inamedparam + - nonamedreturns + - musttag + - ireturn + - forcetypeassert + - cyclop + # deprecated linters + #- deadcode + #- interfacer + #- scopelint + #- varcheck + #- structcheck + #- golint + #- nosnakecase + #- maligned + #- goerr113 + #- ifshort + #- gomnd + #- exhaustivestruct diff --git a/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/jsonpointer/LICENSE b/vendor/github.com/go-openapi/jsonpointer/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/jsonpointer/README.md b/vendor/github.com/go-openapi/jsonpointer/README.md new file mode 100644 index 000000000..0108f1d57 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/README.md @@ -0,0 +1,19 @@ +# gojsonpointer [![Build Status](https://github.com/go-openapi/jsonpointer/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/jsonpointer/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/jsonpointer/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/jsonpointer) + +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/jsonpointer/master/LICENSE) +[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/jsonpointer.svg)](https://pkg.go.dev/github.com/go-openapi/jsonpointer) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/jsonpointer)](https://goreportcard.com/report/github.com/go-openapi/jsonpointer) + +An implementation of JSON Pointer - Go language + +## Status +Completed YES + +Tested YES + +## References +http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 + +### Note +The 4.Evaluation part of the previous reference, starting with 'If the currently referenced value is a JSON array, the reference token MUST contain either...' is not implemented. diff --git a/vendor/github.com/go-openapi/jsonpointer/errors.go b/vendor/github.com/go-openapi/jsonpointer/errors.go new file mode 100644 index 000000000..b84343d9d --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/errors.go @@ -0,0 +1,18 @@ +package jsonpointer + +type pointerError string + +func (e pointerError) Error() string { + return string(e) +} + +const ( + // ErrPointer is an error raised by the jsonpointer package + ErrPointer pointerError = "JSON pointer error" + + // ErrInvalidStart states that a JSON pointer must start with a separator ("/") + ErrInvalidStart pointerError = `JSON pointer must be empty or start with a "` + pointerSeparator + + // ErrUnsupportedValueType indicates that a value of the wrong type is being set + ErrUnsupportedValueType pointerError = "only structs, pointers, maps and slices are supported for setting values" +) diff --git a/vendor/github.com/go-openapi/jsonpointer/pointer.go b/vendor/github.com/go-openapi/jsonpointer/pointer.go new file mode 100644 index 000000000..a08cd68ac --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/pointer.go @@ -0,0 +1,530 @@ +// Copyright 2013 sigu-399 ( https://github.com/sigu-399 ) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// author sigu-399 +// author-github https://github.com/sigu-399 +// author-mail sigu.399@gmail.com +// +// repository-name jsonpointer +// repository-desc An implementation of JSON Pointer - Go language +// +// description Main and unique file. +// +// created 25-02-2013 + +package jsonpointer + +import ( + "encoding/json" + "errors" + "fmt" + "reflect" + "strconv" + "strings" + + "github.com/go-openapi/swag" +) + +const ( + emptyPointer = `` + pointerSeparator = `/` +) + +var jsonPointableType = reflect.TypeOf(new(JSONPointable)).Elem() +var jsonSetableType = reflect.TypeOf(new(JSONSetable)).Elem() + +// JSONPointable is an interface for structs to implement when they need to customize the +// json pointer process +type JSONPointable interface { + JSONLookup(string) (any, error) +} + +// JSONSetable is an interface for structs to implement when they need to customize the +// json pointer process +type JSONSetable interface { + JSONSet(string, any) error +} + +// New creates a new json pointer for the given string +func New(jsonPointerString string) (Pointer, error) { + + var p Pointer + err := p.parse(jsonPointerString) + return p, err + +} + +// Pointer the json pointer reprsentation +type Pointer struct { + referenceTokens []string +} + +// "Constructor", parses the given string JSON pointer +func (p *Pointer) parse(jsonPointerString string) error { + + var err error + + if jsonPointerString != emptyPointer { + if !strings.HasPrefix(jsonPointerString, pointerSeparator) { + err = errors.Join(ErrInvalidStart, ErrPointer) + } else { + referenceTokens := strings.Split(jsonPointerString, pointerSeparator) + p.referenceTokens = append(p.referenceTokens, referenceTokens[1:]...) + } + } + + return err +} + +// Get uses the pointer to retrieve a value from a JSON document +func (p *Pointer) Get(document any) (any, reflect.Kind, error) { + return p.get(document, swag.DefaultJSONNameProvider) +} + +// Set uses the pointer to set a value from a JSON document +func (p *Pointer) Set(document any, value any) (any, error) { + return document, p.set(document, value, swag.DefaultJSONNameProvider) +} + +// GetForToken gets a value for a json pointer token 1 level deep +func GetForToken(document any, decodedToken string) (any, reflect.Kind, error) { + return getSingleImpl(document, decodedToken, swag.DefaultJSONNameProvider) +} + +// SetForToken gets a value for a json pointer token 1 level deep +func SetForToken(document any, decodedToken string, value any) (any, error) { + return document, setSingleImpl(document, value, decodedToken, swag.DefaultJSONNameProvider) +} + +func isNil(input any) bool { + if input == nil { + return true + } + + kind := reflect.TypeOf(input).Kind() + switch kind { //nolint:exhaustive + case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan: + return reflect.ValueOf(input).IsNil() + default: + return false + } +} + +func getSingleImpl(node any, decodedToken string, nameProvider *swag.NameProvider) (any, reflect.Kind, error) { + rValue := reflect.Indirect(reflect.ValueOf(node)) + kind := rValue.Kind() + if isNil(node) { + return nil, kind, fmt.Errorf("nil value has no field %q: %w", decodedToken, ErrPointer) + } + + switch typed := node.(type) { + case JSONPointable: + r, err := typed.JSONLookup(decodedToken) + if err != nil { + return nil, kind, err + } + return r, kind, nil + case *any: // case of a pointer to interface, that is not resolved by reflect.Indirect + return getSingleImpl(*typed, decodedToken, nameProvider) + } + + switch kind { //nolint:exhaustive + case reflect.Struct: + nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) + if !ok { + return nil, kind, fmt.Errorf("object has no field %q: %w", decodedToken, ErrPointer) + } + fld := rValue.FieldByName(nm) + return fld.Interface(), kind, nil + + case reflect.Map: + kv := reflect.ValueOf(decodedToken) + mv := rValue.MapIndex(kv) + + if mv.IsValid() { + return mv.Interface(), kind, nil + } + return nil, kind, fmt.Errorf("object has no key %q: %w", decodedToken, ErrPointer) + + case reflect.Slice: + tokenIndex, err := strconv.Atoi(decodedToken) + if err != nil { + return nil, kind, err + } + sLength := rValue.Len() + if tokenIndex < 0 || tokenIndex >= sLength { + return nil, kind, fmt.Errorf("index out of bounds array[0,%d] index '%d': %w", sLength-1, tokenIndex, ErrPointer) + } + + elem := rValue.Index(tokenIndex) + return elem.Interface(), kind, nil + + default: + return nil, kind, fmt.Errorf("invalid token reference %q: %w", decodedToken, ErrPointer) + } + +} + +func setSingleImpl(node, data any, decodedToken string, nameProvider *swag.NameProvider) error { + rValue := reflect.Indirect(reflect.ValueOf(node)) + + if ns, ok := node.(JSONSetable); ok { // pointer impl + return ns.JSONSet(decodedToken, data) + } + + if rValue.Type().Implements(jsonSetableType) { + return node.(JSONSetable).JSONSet(decodedToken, data) + } + + switch rValue.Kind() { //nolint:exhaustive + case reflect.Struct: + nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) + if !ok { + return fmt.Errorf("object has no field %q: %w", decodedToken, ErrPointer) + } + fld := rValue.FieldByName(nm) + if fld.IsValid() { + fld.Set(reflect.ValueOf(data)) + } + return nil + + case reflect.Map: + kv := reflect.ValueOf(decodedToken) + rValue.SetMapIndex(kv, reflect.ValueOf(data)) + return nil + + case reflect.Slice: + tokenIndex, err := strconv.Atoi(decodedToken) + if err != nil { + return err + } + sLength := rValue.Len() + if tokenIndex < 0 || tokenIndex >= sLength { + return fmt.Errorf("index out of bounds array[0,%d] index '%d': %w", sLength, tokenIndex, ErrPointer) + } + + elem := rValue.Index(tokenIndex) + if !elem.CanSet() { + return fmt.Errorf("can't set slice index %s to %v: %w", decodedToken, data, ErrPointer) + } + elem.Set(reflect.ValueOf(data)) + return nil + + default: + return fmt.Errorf("invalid token reference %q: %w", decodedToken, ErrPointer) + } + +} + +func (p *Pointer) get(node any, nameProvider *swag.NameProvider) (any, reflect.Kind, error) { + + if nameProvider == nil { + nameProvider = swag.DefaultJSONNameProvider + } + + kind := reflect.Invalid + + // Full document when empty + if len(p.referenceTokens) == 0 { + return node, kind, nil + } + + for _, token := range p.referenceTokens { + decodedToken := Unescape(token) + + r, knd, err := getSingleImpl(node, decodedToken, nameProvider) + if err != nil { + return nil, knd, err + } + node = r + } + + rValue := reflect.ValueOf(node) + kind = rValue.Kind() + + return node, kind, nil +} + +func (p *Pointer) set(node, data any, nameProvider *swag.NameProvider) error { + knd := reflect.ValueOf(node).Kind() + + if knd != reflect.Ptr && knd != reflect.Struct && knd != reflect.Map && knd != reflect.Slice && knd != reflect.Array { + return errors.Join( + ErrUnsupportedValueType, + ErrPointer, + ) + } + + if nameProvider == nil { + nameProvider = swag.DefaultJSONNameProvider + } + + // Full document when empty + if len(p.referenceTokens) == 0 { + return nil + } + + lastI := len(p.referenceTokens) - 1 + for i, token := range p.referenceTokens { + isLastToken := i == lastI + decodedToken := Unescape(token) + + if isLastToken { + + return setSingleImpl(node, data, decodedToken, nameProvider) + } + + rValue := reflect.Indirect(reflect.ValueOf(node)) + kind := rValue.Kind() + + if rValue.Type().Implements(jsonPointableType) { + r, err := node.(JSONPointable).JSONLookup(decodedToken) + if err != nil { + return err + } + fld := reflect.ValueOf(r) + if fld.CanAddr() && fld.Kind() != reflect.Interface && fld.Kind() != reflect.Map && fld.Kind() != reflect.Slice && fld.Kind() != reflect.Ptr { + node = fld.Addr().Interface() + continue + } + node = r + continue + } + + switch kind { //nolint:exhaustive + case reflect.Struct: + nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) + if !ok { + return fmt.Errorf("object has no field %q: %w", decodedToken, ErrPointer) + } + fld := rValue.FieldByName(nm) + if fld.CanAddr() && fld.Kind() != reflect.Interface && fld.Kind() != reflect.Map && fld.Kind() != reflect.Slice && fld.Kind() != reflect.Ptr { + node = fld.Addr().Interface() + continue + } + node = fld.Interface() + + case reflect.Map: + kv := reflect.ValueOf(decodedToken) + mv := rValue.MapIndex(kv) + + if !mv.IsValid() { + return fmt.Errorf("object has no key %q: %w", decodedToken, ErrPointer) + } + if mv.CanAddr() && mv.Kind() != reflect.Interface && mv.Kind() != reflect.Map && mv.Kind() != reflect.Slice && mv.Kind() != reflect.Ptr { + node = mv.Addr().Interface() + continue + } + node = mv.Interface() + + case reflect.Slice: + tokenIndex, err := strconv.Atoi(decodedToken) + if err != nil { + return err + } + sLength := rValue.Len() + if tokenIndex < 0 || tokenIndex >= sLength { + return fmt.Errorf("index out of bounds array[0,%d] index '%d': %w", sLength, tokenIndex, ErrPointer) + } + + elem := rValue.Index(tokenIndex) + if elem.CanAddr() && elem.Kind() != reflect.Interface && elem.Kind() != reflect.Map && elem.Kind() != reflect.Slice && elem.Kind() != reflect.Ptr { + node = elem.Addr().Interface() + continue + } + node = elem.Interface() + + default: + return fmt.Errorf("invalid token reference %q: %w", decodedToken, ErrPointer) + } + + } + + return nil +} + +// DecodedTokens returns the decoded tokens +func (p *Pointer) DecodedTokens() []string { + result := make([]string, 0, len(p.referenceTokens)) + for _, t := range p.referenceTokens { + result = append(result, Unescape(t)) + } + return result +} + +// IsEmpty returns true if this is an empty json pointer +// this indicates that it points to the root document +func (p *Pointer) IsEmpty() bool { + return len(p.referenceTokens) == 0 +} + +// Pointer to string representation function +func (p *Pointer) String() string { + + if len(p.referenceTokens) == 0 { + return emptyPointer + } + + pointerString := pointerSeparator + strings.Join(p.referenceTokens, pointerSeparator) + + return pointerString +} + +func (p *Pointer) Offset(document string) (int64, error) { + dec := json.NewDecoder(strings.NewReader(document)) + var offset int64 + for _, ttk := range p.DecodedTokens() { + tk, err := dec.Token() + if err != nil { + return 0, err + } + switch tk := tk.(type) { + case json.Delim: + switch tk { + case '{': + offset, err = offsetSingleObject(dec, ttk) + if err != nil { + return 0, err + } + case '[': + offset, err = offsetSingleArray(dec, ttk) + if err != nil { + return 0, err + } + default: + return 0, fmt.Errorf("invalid token %#v: %w", tk, ErrPointer) + } + default: + return 0, fmt.Errorf("invalid token %#v: %w", tk, ErrPointer) + } + } + return offset, nil +} + +func offsetSingleObject(dec *json.Decoder, decodedToken string) (int64, error) { + for dec.More() { + offset := dec.InputOffset() + tk, err := dec.Token() + if err != nil { + return 0, err + } + switch tk := tk.(type) { + case json.Delim: + switch tk { + case '{': + if err = drainSingle(dec); err != nil { + return 0, err + } + case '[': + if err = drainSingle(dec); err != nil { + return 0, err + } + } + case string: + if tk == decodedToken { + return offset, nil + } + default: + return 0, fmt.Errorf("invalid token %#v: %w", tk, ErrPointer) + } + } + return 0, fmt.Errorf("token reference %q not found: %w", decodedToken, ErrPointer) +} + +func offsetSingleArray(dec *json.Decoder, decodedToken string) (int64, error) { + idx, err := strconv.Atoi(decodedToken) + if err != nil { + return 0, fmt.Errorf("token reference %q is not a number: %v: %w", decodedToken, err, ErrPointer) + } + var i int + for i = 0; i < idx && dec.More(); i++ { + tk, err := dec.Token() + if err != nil { + return 0, err + } + + if delim, isDelim := tk.(json.Delim); isDelim { + switch delim { + case '{': + if err = drainSingle(dec); err != nil { + return 0, err + } + case '[': + if err = drainSingle(dec); err != nil { + return 0, err + } + } + } + } + + if !dec.More() { + return 0, fmt.Errorf("token reference %q not found: %w", decodedToken, ErrPointer) + } + return dec.InputOffset(), nil +} + +// drainSingle drains a single level of object or array. +// The decoder has to guarantee the beginning delim (i.e. '{' or '[') has been consumed. +func drainSingle(dec *json.Decoder) error { + for dec.More() { + tk, err := dec.Token() + if err != nil { + return err + } + if delim, isDelim := tk.(json.Delim); isDelim { + switch delim { + case '{': + if err = drainSingle(dec); err != nil { + return err + } + case '[': + if err = drainSingle(dec); err != nil { + return err + } + } + } + } + + // Consumes the ending delim + if _, err := dec.Token(); err != nil { + return err + } + return nil +} + +// Specific JSON pointer encoding here +// ~0 => ~ +// ~1 => / +// ... and vice versa + +const ( + encRefTok0 = `~0` + encRefTok1 = `~1` + decRefTok0 = `~` + decRefTok1 = `/` +) + +// Unescape unescapes a json pointer reference token string to the original representation +func Unescape(token string) string { + step1 := strings.ReplaceAll(token, encRefTok1, decRefTok1) + step2 := strings.ReplaceAll(step1, encRefTok0, decRefTok0) + return step2 +} + +// Escape escapes a pointer reference token string +func Escape(token string) string { + step1 := strings.ReplaceAll(token, decRefTok0, encRefTok0) + step2 := strings.ReplaceAll(step1, decRefTok1, encRefTok1) + return step2 +} diff --git a/vendor/github.com/go-openapi/jsonreference/.gitignore b/vendor/github.com/go-openapi/jsonreference/.gitignore new file mode 100644 index 000000000..769c24400 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/.gitignore @@ -0,0 +1 @@ +secrets.yml diff --git a/vendor/github.com/go-openapi/jsonreference/.golangci.yml b/vendor/github.com/go-openapi/jsonreference/.golangci.yml new file mode 100644 index 000000000..22f8d21cc --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/.golangci.yml @@ -0,0 +1,61 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 45 + maligned: + suggest-new: true + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + +linters: + enable-all: true + disable: + - maligned + - unparam + - lll + - gochecknoinits + - gochecknoglobals + - funlen + - godox + - gocognit + - whitespace + - wsl + - wrapcheck + - testpackage + - nlreturn + - gomnd + - exhaustivestruct + - goerr113 + - errorlint + - nestif + - godot + - gofumpt + - paralleltest + - tparallel + - thelper + - ifshort + - exhaustruct + - varnamelen + - gci + - depguard + - errchkjson + - inamedparam + - nonamedreturns + - musttag + - ireturn + - forcetypeassert + - cyclop + # deprecated linters + - deadcode + - interfacer + - scopelint + - varcheck + - structcheck + - golint + - nosnakecase diff --git a/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/jsonreference/LICENSE b/vendor/github.com/go-openapi/jsonreference/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/jsonreference/README.md b/vendor/github.com/go-openapi/jsonreference/README.md new file mode 100644 index 000000000..c7fc2049c --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/README.md @@ -0,0 +1,19 @@ +# gojsonreference [![Build Status](https://github.com/go-openapi/jsonreference/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/jsonreference/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/jsonreference/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/jsonreference) + +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/jsonreference/master/LICENSE) +[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/jsonreference.svg)](https://pkg.go.dev/github.com/go-openapi/jsonreference) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/jsonreference)](https://goreportcard.com/report/github.com/go-openapi/jsonreference) + +An implementation of JSON Reference - Go language + +## Status +Feature complete. Stable API + +## Dependencies +* https://github.com/go-openapi/jsonpointer + +## References + +* http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 +* http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03 diff --git a/vendor/github.com/go-openapi/jsonreference/internal/normalize_url.go b/vendor/github.com/go-openapi/jsonreference/internal/normalize_url.go new file mode 100644 index 000000000..f0610cf1e --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/internal/normalize_url.go @@ -0,0 +1,69 @@ +package internal + +import ( + "net/url" + "regexp" + "strings" +) + +const ( + defaultHTTPPort = ":80" + defaultHTTPSPort = ":443" +) + +// Regular expressions used by the normalizations +var rxPort = regexp.MustCompile(`(:\d+)/?$`) +var rxDupSlashes = regexp.MustCompile(`/{2,}`) + +// NormalizeURL will normalize the specified URL +// This was added to replace a previous call to the no longer maintained purell library: +// The call that was used looked like the following: +// +// url.Parse(purell.NormalizeURL(parsed, purell.FlagsSafe|purell.FlagRemoveDuplicateSlashes)) +// +// To explain all that was included in the call above, purell.FlagsSafe was really just the following: +// - FlagLowercaseScheme +// - FlagLowercaseHost +// - FlagRemoveDefaultPort +// - FlagRemoveDuplicateSlashes (and this was mixed in with the |) +// +// This also normalizes the URL into its urlencoded form by removing RawPath and RawFragment. +func NormalizeURL(u *url.URL) { + lowercaseScheme(u) + lowercaseHost(u) + removeDefaultPort(u) + removeDuplicateSlashes(u) + + u.RawPath = "" + u.RawFragment = "" +} + +func lowercaseScheme(u *url.URL) { + if len(u.Scheme) > 0 { + u.Scheme = strings.ToLower(u.Scheme) + } +} + +func lowercaseHost(u *url.URL) { + if len(u.Host) > 0 { + u.Host = strings.ToLower(u.Host) + } +} + +func removeDefaultPort(u *url.URL) { + if len(u.Host) > 0 { + scheme := strings.ToLower(u.Scheme) + u.Host = rxPort.ReplaceAllStringFunc(u.Host, func(val string) string { + if (scheme == "http" && val == defaultHTTPPort) || (scheme == "https" && val == defaultHTTPSPort) { + return "" + } + return val + }) + } +} + +func removeDuplicateSlashes(u *url.URL) { + if len(u.Path) > 0 { + u.Path = rxDupSlashes.ReplaceAllString(u.Path, "/") + } +} diff --git a/vendor/github.com/go-openapi/jsonreference/reference.go b/vendor/github.com/go-openapi/jsonreference/reference.go new file mode 100644 index 000000000..cfdef03e5 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/reference.go @@ -0,0 +1,158 @@ +// Copyright 2013 sigu-399 ( https://github.com/sigu-399 ) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// author sigu-399 +// author-github https://github.com/sigu-399 +// author-mail sigu.399@gmail.com +// +// repository-name jsonreference +// repository-desc An implementation of JSON Reference - Go language +// +// description Main and unique file. +// +// created 26-02-2013 + +package jsonreference + +import ( + "errors" + "net/url" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/jsonreference/internal" +) + +const ( + fragmentRune = `#` +) + +// New creates a new reference for the given string +func New(jsonReferenceString string) (Ref, error) { + + var r Ref + err := r.parse(jsonReferenceString) + return r, err + +} + +// MustCreateRef parses the ref string and panics when it's invalid. +// Use the New method for a version that returns an error +func MustCreateRef(ref string) Ref { + r, err := New(ref) + if err != nil { + panic(err) + } + return r +} + +// Ref represents a json reference object +type Ref struct { + referenceURL *url.URL + referencePointer jsonpointer.Pointer + + HasFullURL bool + HasURLPathOnly bool + HasFragmentOnly bool + HasFileScheme bool + HasFullFilePath bool +} + +// GetURL gets the URL for this reference +func (r *Ref) GetURL() *url.URL { + return r.referenceURL +} + +// GetPointer gets the json pointer for this reference +func (r *Ref) GetPointer() *jsonpointer.Pointer { + return &r.referencePointer +} + +// String returns the best version of the url for this reference +func (r *Ref) String() string { + + if r.referenceURL != nil { + return r.referenceURL.String() + } + + if r.HasFragmentOnly { + return fragmentRune + r.referencePointer.String() + } + + return r.referencePointer.String() +} + +// IsRoot returns true if this reference is a root document +func (r *Ref) IsRoot() bool { + return r.referenceURL != nil && + !r.IsCanonical() && + !r.HasURLPathOnly && + r.referenceURL.Fragment == "" +} + +// IsCanonical returns true when this pointer starts with http(s):// or file:// +func (r *Ref) IsCanonical() bool { + return (r.HasFileScheme && r.HasFullFilePath) || (!r.HasFileScheme && r.HasFullURL) +} + +// "Constructor", parses the given string JSON reference +func (r *Ref) parse(jsonReferenceString string) error { + + parsed, err := url.Parse(jsonReferenceString) + if err != nil { + return err + } + + internal.NormalizeURL(parsed) + + r.referenceURL = parsed + refURL := r.referenceURL + + if refURL.Scheme != "" && refURL.Host != "" { + r.HasFullURL = true + } else { + if refURL.Path != "" { + r.HasURLPathOnly = true + } else if refURL.RawQuery == "" && refURL.Fragment != "" { + r.HasFragmentOnly = true + } + } + + r.HasFileScheme = refURL.Scheme == "file" + r.HasFullFilePath = strings.HasPrefix(refURL.Path, "/") + + // invalid json-pointer error means url has no json-pointer fragment. simply ignore error + r.referencePointer, _ = jsonpointer.New(refURL.Fragment) + + return nil +} + +// Inherits creates a new reference from a parent and a child +// If the child cannot inherit from the parent, an error is returned +func (r *Ref) Inherits(child Ref) (*Ref, error) { + childURL := child.GetURL() + parentURL := r.GetURL() + if childURL == nil { + return nil, errors.New("child url is nil") + } + if parentURL == nil { + return &child, nil + } + + ref, err := New(parentURL.ResolveReference(childURL).String()) + if err != nil { + return nil, err + } + return &ref, nil +} diff --git a/vendor/github.com/go-openapi/loads/.editorconfig b/vendor/github.com/go-openapi/loads/.editorconfig new file mode 100644 index 000000000..3152da69a --- /dev/null +++ b/vendor/github.com/go-openapi/loads/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/loads/.gitignore b/vendor/github.com/go-openapi/loads/.gitignore new file mode 100644 index 000000000..e4f15f17b --- /dev/null +++ b/vendor/github.com/go-openapi/loads/.gitignore @@ -0,0 +1,4 @@ +secrets.yml +coverage.out +profile.cov +profile.out diff --git a/vendor/github.com/go-openapi/loads/.golangci.yml b/vendor/github.com/go-openapi/loads/.golangci.yml new file mode 100644 index 000000000..22f8d21cc --- /dev/null +++ b/vendor/github.com/go-openapi/loads/.golangci.yml @@ -0,0 +1,61 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 45 + maligned: + suggest-new: true + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + +linters: + enable-all: true + disable: + - maligned + - unparam + - lll + - gochecknoinits + - gochecknoglobals + - funlen + - godox + - gocognit + - whitespace + - wsl + - wrapcheck + - testpackage + - nlreturn + - gomnd + - exhaustivestruct + - goerr113 + - errorlint + - nestif + - godot + - gofumpt + - paralleltest + - tparallel + - thelper + - ifshort + - exhaustruct + - varnamelen + - gci + - depguard + - errchkjson + - inamedparam + - nonamedreturns + - musttag + - ireturn + - forcetypeassert + - cyclop + # deprecated linters + - deadcode + - interfacer + - scopelint + - varcheck + - structcheck + - golint + - nosnakecase diff --git a/vendor/github.com/go-openapi/loads/.travis.yml b/vendor/github.com/go-openapi/loads/.travis.yml new file mode 100644 index 000000000..cd4a7c331 --- /dev/null +++ b/vendor/github.com/go-openapi/loads/.travis.yml @@ -0,0 +1,25 @@ +after_success: +- bash <(curl -s https://codecov.io/bash) +go: +- 1.16.x +- 1.x +install: +- go get gotest.tools/gotestsum +language: go +arch: +- amd64 +- ppc64le +jobs: + include: + # include linting job, but only for latest go version and amd64 arch + - go: 1.x + arch: amd64 + install: + go get github.com/golangci/golangci-lint/cmd/golangci-lint + script: + - golangci-lint run --new-from-rev master +notifications: + slack: + secure: OxkPwVp35qBTUilgWC8xykSj+sGMcj0h8IIOKD+Rflx2schZVlFfdYdyVBM+s9OqeOfvtuvnR9v1Ye2rPKAvcjWdC4LpRGUsgmItZaI6Um8Aj6+K9udCw5qrtZVfOVmRu8LieH//XznWWKdOultUuniW0MLqw5+II87Gd00RWbCGi0hk0PykHe7uK+PDA2BEbqyZ2WKKYCvfB3j+0nrFOHScXqnh0V05l2E83J4+Sgy1fsPy+1WdX58ZlNBG333ibaC1FS79XvKSmTgKRkx3+YBo97u6ZtUmJa5WZjf2OdLG3KIckGWAv6R5xgxeU31N0Ng8L332w/Edpp2O/M2bZwdnKJ8hJQikXIAQbICbr+lTDzsoNzMdEIYcHpJ5hjPbiUl3Bmd+Jnsjf5McgAZDiWIfpCKZ29tPCEkVwRsOCqkyPRMNMzHHmoja495P5jR+ODS7+J8RFg5xgcnOgpP9D4Wlhztlf5WyZMpkLxTUD+bZq2SRf50HfHFXTkfq22zPl3d1eq0yrLwh/Z/fWKkfb6SyysROL8y6s8u3dpFX1YHSg0BR6i913h4aoZw9B2BG27cafLLTwKYsp2dFo1PWl4O6u9giFJIeqwloZHLKKrwh0cBFhB7RH0I58asxkZpCH6uWjJierahmHe7iS+E6i+9oCHkOZ59hmCYNimIs3hM= +script: +- gotestsum -f short-verbose -- -race -timeout=20m -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/loads/LICENSE b/vendor/github.com/go-openapi/loads/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/loads/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/loads/README.md b/vendor/github.com/go-openapi/loads/README.md new file mode 100644 index 000000000..f8bd440df --- /dev/null +++ b/vendor/github.com/go-openapi/loads/README.md @@ -0,0 +1,6 @@ +# Loads OAI specs [![Build Status](https://github.com/go-openapi/loads/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/loads/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/loads/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/loads) + +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/loads/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/loads?status.svg)](http://godoc.org/github.com/go-openapi/loads) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/loads)](https://goreportcard.com/report/github.com/go-openapi/loads) + +Loading of OAI specification documents from local or remote locations. Supports JSON and YAML documents. diff --git a/vendor/github.com/go-openapi/loads/doc.go b/vendor/github.com/go-openapi/loads/doc.go new file mode 100644 index 000000000..5bcaef5db --- /dev/null +++ b/vendor/github.com/go-openapi/loads/doc.go @@ -0,0 +1,18 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package loads provides document loading methods for swagger (OAI) specifications. +// +// It is used by other go-openapi packages to load and run analysis on local or remote spec documents. +package loads diff --git a/vendor/github.com/go-openapi/loads/loaders.go b/vendor/github.com/go-openapi/loads/loaders.go new file mode 100644 index 000000000..b2d1e034c --- /dev/null +++ b/vendor/github.com/go-openapi/loads/loaders.go @@ -0,0 +1,133 @@ +package loads + +import ( + "encoding/json" + "errors" + "net/url" + + "github.com/go-openapi/spec" + "github.com/go-openapi/swag" +) + +var ( + // Default chain of loaders, defined at the package level. + // + // By default this matches json and yaml documents. + // + // May be altered with AddLoader(). + loaders *loader +) + +func init() { + jsonLoader := &loader{ + DocLoaderWithMatch: DocLoaderWithMatch{ + Match: func(_ string) bool { + return true + }, + Fn: JSONDoc, + }, + } + + loaders = jsonLoader.WithHead(&loader{ + DocLoaderWithMatch: DocLoaderWithMatch{ + Match: swag.YAMLMatcher, + Fn: swag.YAMLDoc, + }, + }) + + // sets the global default loader for go-openapi/spec + spec.PathLoader = loaders.Load +} + +// DocLoader represents a doc loader type +type DocLoader func(string) (json.RawMessage, error) + +// DocMatcher represents a predicate to check if a loader matches +type DocMatcher func(string) bool + +// DocLoaderWithMatch describes a loading function for a given extension match. +type DocLoaderWithMatch struct { + Fn DocLoader + Match DocMatcher +} + +// NewDocLoaderWithMatch builds a DocLoaderWithMatch to be used in load options +func NewDocLoaderWithMatch(fn DocLoader, matcher DocMatcher) DocLoaderWithMatch { + return DocLoaderWithMatch{ + Fn: fn, + Match: matcher, + } +} + +type loader struct { + DocLoaderWithMatch + Next *loader +} + +// WithHead adds a loader at the head of the current stack +func (l *loader) WithHead(head *loader) *loader { + if head == nil { + return l + } + head.Next = l + return head +} + +// WithNext adds a loader at the trail of the current stack +func (l *loader) WithNext(next *loader) *loader { + l.Next = next + return next +} + +// Load the raw document from path +func (l *loader) Load(path string) (json.RawMessage, error) { + _, erp := url.Parse(path) + if erp != nil { + return nil, erp + } + + lastErr := errors.New("no loader matched") // default error if no match was found + for ldr := l; ldr != nil; ldr = ldr.Next { + if ldr.Match != nil && !ldr.Match(path) { + continue + } + + // try then move to next one if there is an error + b, err := ldr.Fn(path) + if err == nil { + return b, nil + } + + lastErr = err + } + + return nil, lastErr +} + +// JSONDoc loads a json document from either a file or a remote url +func JSONDoc(path string) (json.RawMessage, error) { + data, err := swag.LoadFromFileOrHTTP(path) + if err != nil { + return nil, err + } + return json.RawMessage(data), nil +} + +// AddLoader for a document, executed before other previously set loaders. +// +// This sets the configuration at the package level. +// +// NOTE: +// - this updates the default loader used by github.com/go-openapi/spec +// - since this sets package level globals, you shouln't call this concurrently +func AddLoader(predicate DocMatcher, load DocLoader) { + loaders = loaders.WithHead(&loader{ + DocLoaderWithMatch: DocLoaderWithMatch{ + Match: predicate, + Fn: load, + }, + }) + + // sets the global default loader for go-openapi/spec + spec.PathLoader = loaders.Load +} diff --git a/vendor/github.com/go-openapi/loads/options.go b/vendor/github.com/go-openapi/loads/options.go new file mode 100644 index 000000000..f8305d560 --- /dev/null +++ b/vendor/github.com/go-openapi/loads/options.go @@ -0,0 +1,61 @@ +package loads + +type options struct { + loader *loader +} + +func defaultOptions() *options { + return &options{ + loader: loaders, + } +} + +func loaderFromOptions(options []LoaderOption) *loader { + opts := defaultOptions() + for _, apply := range options { + apply(opts) + } + + return opts.loader +} + +// LoaderOption allows to fine-tune the spec loader behavior +type LoaderOption func(*options) + +// WithDocLoader sets a custom loader for loading specs +func WithDocLoader(l DocLoader) LoaderOption { + return func(opt *options) { + if l == nil { + return + } + opt.loader = &loader{ + DocLoaderWithMatch: DocLoaderWithMatch{ + Fn: l, + }, + } + } +} + +// WithDocLoaderMatches sets a chain of custom loaders for loading specs +// for different extension matches. +// +// Loaders are executed in the order of provided DocLoaderWithMatch'es. +func WithDocLoaderMatches(l ...DocLoaderWithMatch) LoaderOption { + return func(opt *options) { + var final, prev *loader + for _, ldr := range l { + if ldr.Fn == nil { + continue + } + + if prev == nil { + final = &loader{DocLoaderWithMatch: ldr} + prev = final + continue + } + + prev = prev.WithNext(&loader{DocLoaderWithMatch: ldr}) + } + opt.loader = final + } +} diff --git a/vendor/github.com/go-openapi/loads/spec.go b/vendor/github.com/go-openapi/loads/spec.go new file mode 100644 index 000000000..c9039cd5d --- /dev/null +++ b/vendor/github.com/go-openapi/loads/spec.go @@ -0,0 +1,275 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package loads + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "fmt" + + "github.com/go-openapi/analysis" + "github.com/go-openapi/spec" + "github.com/go-openapi/swag" +) + +func init() { + gob.Register(map[string]interface{}{}) + gob.Register([]interface{}{}) +} + +// Document represents a swagger spec document +type Document struct { + // specAnalyzer + Analyzer *analysis.Spec + spec *spec.Swagger + specFilePath string + origSpec *spec.Swagger + schema *spec.Schema + pathLoader *loader + raw json.RawMessage +} + +// JSONSpec loads a spec from a json document +func JSONSpec(path string, options ...LoaderOption) (*Document, error) { + data, err := JSONDoc(path) + if err != nil { + return nil, err + } + // convert to json + doc, err := Analyzed(data, "", options...) + if err != nil { + return nil, err + } + + doc.specFilePath = path + + return doc, nil +} + +// Embedded returns a Document based on embedded specs. No analysis is required +func Embedded(orig, flat json.RawMessage, options ...LoaderOption) (*Document, error) { + var origSpec, flatSpec spec.Swagger + if err := json.Unmarshal(orig, &origSpec); err != nil { + return nil, err + } + if err := json.Unmarshal(flat, &flatSpec); err != nil { + return nil, err + } + return &Document{ + raw: orig, + origSpec: &origSpec, + spec: &flatSpec, + pathLoader: loaderFromOptions(options), + }, nil +} + +// Spec loads a new spec document from a local or remote path +func Spec(path string, options ...LoaderOption) (*Document, error) { + ldr := loaderFromOptions(options) + + b, err := ldr.Load(path) + if err != nil { + return nil, err + } + + document, err := Analyzed(b, "", options...) + if err != nil { + return nil, err + } + + document.specFilePath = path + document.pathLoader = ldr + + return document, nil +} + +// Analyzed creates a new analyzed spec document for a root json.RawMessage. +func Analyzed(data json.RawMessage, version string, options ...LoaderOption) (*Document, error) { + if version == "" { + version = "2.0" + } + if version != "2.0" { + return nil, fmt.Errorf("spec version %q is not supported", version) + } + + raw, err := trimData(data) // trim blanks, then convert yaml docs into json + if err != nil { + return nil, err + } + + swspec := new(spec.Swagger) + if err = json.Unmarshal(raw, swspec); err != nil { + return nil, err + } + + origsqspec, err := cloneSpec(swspec) + if err != nil { + return nil, err + } + + d := &Document{ + Analyzer: analysis.New(swspec), // NOTE: at this moment, analysis does not follow $refs to documents outside the root doc + schema: spec.MustLoadSwagger20Schema(), + spec: swspec, + raw: raw, + origSpec: origsqspec, + pathLoader: loaderFromOptions(options), + } + + return d, nil +} + +func trimData(in json.RawMessage) (json.RawMessage, error) { + trimmed := bytes.TrimSpace(in) + if len(trimmed) == 0 { + return in, nil + } + + if trimmed[0] == '{' || trimmed[0] == '[' { + return trimmed, nil + } + + // assume yaml doc: convert it to json + yml, err := swag.BytesToYAMLDoc(trimmed) + if err != nil { + return nil, fmt.Errorf("analyzed: %v", err) + } + + d, err := swag.YAMLToJSON(yml) + if err != nil { + return nil, fmt.Errorf("analyzed: %v", err) + } + + return d, nil +} + +// Expanded expands the $ref fields in the spec document and returns a new spec document +func (d *Document) Expanded(options ...*spec.ExpandOptions) (*Document, error) { + swspec := new(spec.Swagger) + if err := json.Unmarshal(d.raw, swspec); err != nil { + return nil, err + } + + var expandOptions *spec.ExpandOptions + if len(options) > 0 { + expandOptions = options[0] + if expandOptions.RelativeBase == "" { + expandOptions.RelativeBase = d.specFilePath + } + } else { + expandOptions = &spec.ExpandOptions{ + RelativeBase: d.specFilePath, + } + } + + if expandOptions.PathLoader == nil { + if d.pathLoader != nil { + // use loader from Document options + expandOptions.PathLoader = d.pathLoader.Load + } else { + // use package level loader + expandOptions.PathLoader = loaders.Load + } + } + + if err := spec.ExpandSpec(swspec, expandOptions); err != nil { + return nil, err + } + + dd := &Document{ + Analyzer: analysis.New(swspec), + spec: swspec, + specFilePath: d.specFilePath, + schema: spec.MustLoadSwagger20Schema(), + raw: d.raw, + origSpec: d.origSpec, + } + return dd, nil +} + +// BasePath the base path for the API specified by this spec +func (d *Document) BasePath() string { + return d.spec.BasePath +} + +// Version returns the version of this spec +func (d *Document) Version() string { + return d.spec.Swagger +} + +// Schema returns the swagger 2.0 schema +func (d *Document) Schema() *spec.Schema { + return d.schema +} + +// Spec returns the swagger spec object model +func (d *Document) Spec() *spec.Swagger { + return d.spec +} + +// Host returns the host for the API +func (d *Document) Host() string { + return d.spec.Host +} + +// Raw returns the raw swagger spec as json bytes +func (d *Document) Raw() json.RawMessage { + return d.raw +} + +// OrigSpec yields the original spec +func (d *Document) OrigSpec() *spec.Swagger { + return d.origSpec +} + +// ResetDefinitions gives a shallow copy with the models reset to the original spec +func (d *Document) ResetDefinitions() *Document { + defs := make(map[string]spec.Schema, len(d.origSpec.Definitions)) + for k, v := range d.origSpec.Definitions { + defs[k] = v + } + + d.spec.Definitions = defs + return d +} + +// Pristine creates a new pristine document instance based on the input data +func (d *Document) Pristine() *Document { + raw, _ := json.Marshal(d.Spec()) + dd, _ := Analyzed(raw, d.Version()) + dd.pathLoader = d.pathLoader + dd.specFilePath = d.specFilePath + + return dd +} + +// SpecFilePath returns the file path of the spec if one is defined +func (d *Document) SpecFilePath() string { + return d.specFilePath +} + +func cloneSpec(src *spec.Swagger) (*spec.Swagger, error) { + var b bytes.Buffer + if err := gob.NewEncoder(&b).Encode(src); err != nil { + return nil, err + } + + var dst spec.Swagger + if err := gob.NewDecoder(&b).Decode(&dst); err != nil { + return nil, err + } + return &dst, nil +} diff --git a/vendor/github.com/go-openapi/runtime/.editorconfig b/vendor/github.com/go-openapi/runtime/.editorconfig new file mode 100644 index 000000000..3152da69a --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/runtime/.gitattributes b/vendor/github.com/go-openapi/runtime/.gitattributes new file mode 100644 index 000000000..d207b1802 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/.gitattributes @@ -0,0 +1 @@ +*.go text eol=lf diff --git a/vendor/github.com/go-openapi/runtime/.gitignore b/vendor/github.com/go-openapi/runtime/.gitignore new file mode 100644 index 000000000..fea8b84ec --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/.gitignore @@ -0,0 +1,5 @@ +secrets.yml +coverage.out +*.cov +*.out +playground diff --git a/vendor/github.com/go-openapi/runtime/.golangci.yml b/vendor/github.com/go-openapi/runtime/.golangci.yml new file mode 100644 index 000000000..1c75557ba --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/.golangci.yml @@ -0,0 +1,62 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 45 + maligned: + suggest-new: true + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + +linters: + enable-all: true + disable: + - nilerr # nilerr crashes on this repo + - maligned + - unparam + - lll + - gochecknoinits + - gochecknoglobals + - funlen + - godox + - gocognit + - whitespace + - wsl + - wrapcheck + - testpackage + - nlreturn + - gomnd + - exhaustivestruct + - goerr113 + - errorlint + - nestif + - godot + - gofumpt + - paralleltest + - tparallel + - thelper + - ifshort + - exhaustruct + - varnamelen + - gci + - depguard + - errchkjson + - inamedparam + - nonamedreturns + - musttag + - ireturn + - forcetypeassert + - cyclop + # deprecated linters + - deadcode + - interfacer + - scopelint + - varcheck + - structcheck + - golint + - nosnakecase diff --git a/vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/runtime/LICENSE b/vendor/github.com/go-openapi/runtime/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/runtime/README.md b/vendor/github.com/go-openapi/runtime/README.md new file mode 100644 index 000000000..b07e0ad9d --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/README.md @@ -0,0 +1,10 @@ +# runtime [![Build Status](https://github.com/go-openapi/runtime/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/runtime/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/runtime/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/runtime) + +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/runtime/master/LICENSE) +[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/runtime.svg)](https://pkg.go.dev/github.com/go-openapi/runtime) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/runtime)](https://goreportcard.com/report/github.com/go-openapi/runtime) + +# go OpenAPI toolkit runtime + +The runtime component for use in code generation or as untyped usage. diff --git a/vendor/github.com/go-openapi/runtime/bytestream.go b/vendor/github.com/go-openapi/runtime/bytestream.go new file mode 100644 index 000000000..f8fb48223 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/bytestream.go @@ -0,0 +1,222 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "bytes" + "encoding" + "errors" + "fmt" + "io" + "reflect" + + "github.com/go-openapi/swag" +) + +func defaultCloser() error { return nil } + +type byteStreamOpt func(opts *byteStreamOpts) + +// ClosesStream when the bytestream consumer or producer is finished +func ClosesStream(opts *byteStreamOpts) { + opts.Close = true +} + +type byteStreamOpts struct { + Close bool +} + +// ByteStreamConsumer creates a consumer for byte streams. +// +// The consumer consumes from a provided reader into the data passed by reference. +// +// Supported output underlying types and interfaces, prioritized in this order: +// - io.ReaderFrom (for maximum control) +// - io.Writer (performs io.Copy) +// - encoding.BinaryUnmarshaler +// - *string +// - *[]byte +func ByteStreamConsumer(opts ...byteStreamOpt) Consumer { + var vals byteStreamOpts + for _, opt := range opts { + opt(&vals) + } + + return ConsumerFunc(func(reader io.Reader, data interface{}) error { + if reader == nil { + return errors.New("ByteStreamConsumer requires a reader") // early exit + } + if data == nil { + return errors.New("nil destination for ByteStreamConsumer") + } + + closer := defaultCloser + if vals.Close { + if cl, isReaderCloser := reader.(io.Closer); isReaderCloser { + closer = cl.Close + } + } + defer func() { + _ = closer() + }() + + if readerFrom, isReaderFrom := data.(io.ReaderFrom); isReaderFrom { + _, err := readerFrom.ReadFrom(reader) + return err + } + + if writer, isDataWriter := data.(io.Writer); isDataWriter { + _, err := io.Copy(writer, reader) + return err + } + + // buffers input before writing to data + var buf bytes.Buffer + _, err := buf.ReadFrom(reader) + if err != nil { + return err + } + b := buf.Bytes() + + switch destinationPointer := data.(type) { + case encoding.BinaryUnmarshaler: + return destinationPointer.UnmarshalBinary(b) + case *any: + switch (*destinationPointer).(type) { + case string: + *destinationPointer = string(b) + + return nil + + case []byte: + *destinationPointer = b + + return nil + } + default: + // check for the underlying type to be pointer to []byte or string, + if ptr := reflect.TypeOf(data); ptr.Kind() != reflect.Ptr { + return errors.New("destination must be a pointer") + } + + v := reflect.Indirect(reflect.ValueOf(data)) + t := v.Type() + + switch { + case t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8: + v.SetBytes(b) + return nil + + case t.Kind() == reflect.String: + v.SetString(string(b)) + return nil + } + } + + return fmt.Errorf("%v (%T) is not supported by the ByteStreamConsumer, %s", + data, data, "can be resolved by supporting Writer/BinaryUnmarshaler interface") + }) +} + +// ByteStreamProducer creates a producer for byte streams. +// +// The producer takes input data then writes to an output writer (essentially as a pipe). +// +// Supported input underlying types and interfaces, prioritized in this order: +// - io.WriterTo (for maximum control) +// - io.Reader (performs io.Copy). A ReadCloser is closed before exiting. +// - encoding.BinaryMarshaler +// - error (writes as a string) +// - []byte +// - string +// - struct, other slices: writes as JSON +func ByteStreamProducer(opts ...byteStreamOpt) Producer { + var vals byteStreamOpts + for _, opt := range opts { + opt(&vals) + } + + return ProducerFunc(func(writer io.Writer, data interface{}) error { + if writer == nil { + return errors.New("ByteStreamProducer requires a writer") // early exit + } + if data == nil { + return errors.New("nil data for ByteStreamProducer") + } + + closer := defaultCloser + if vals.Close { + if cl, isWriterCloser := writer.(io.Closer); isWriterCloser { + closer = cl.Close + } + } + defer func() { + _ = closer() + }() + + if rc, isDataCloser := data.(io.ReadCloser); isDataCloser { + defer rc.Close() + } + + switch origin := data.(type) { + case io.WriterTo: + _, err := origin.WriteTo(writer) + return err + + case io.Reader: + _, err := io.Copy(writer, origin) + return err + + case encoding.BinaryMarshaler: + bytes, err := origin.MarshalBinary() + if err != nil { + return err + } + + _, err = writer.Write(bytes) + return err + + case error: + _, err := writer.Write([]byte(origin.Error())) + return err + + default: + v := reflect.Indirect(reflect.ValueOf(data)) + t := v.Type() + + switch { + case t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8: + _, err := writer.Write(v.Bytes()) + return err + + case t.Kind() == reflect.String: + _, err := writer.Write([]byte(v.String())) + return err + + case t.Kind() == reflect.Struct || t.Kind() == reflect.Slice: + b, err := swag.WriteJSON(data) + if err != nil { + return err + } + + _, err = writer.Write(b) + return err + } + } + + return fmt.Errorf("%v (%T) is not supported by the ByteStreamProducer, %s", + data, data, "can be resolved by supporting Reader/BinaryMarshaler interface") + }) +} diff --git a/vendor/github.com/go-openapi/runtime/client/auth_info.go b/vendor/github.com/go-openapi/runtime/client/auth_info.go new file mode 100644 index 000000000..4f26e9234 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client/auth_info.go @@ -0,0 +1,77 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package client + +import ( + "encoding/base64" + + "github.com/go-openapi/strfmt" + + "github.com/go-openapi/runtime" +) + +// PassThroughAuth never manipulates the request +var PassThroughAuth runtime.ClientAuthInfoWriter + +func init() { + PassThroughAuth = runtime.ClientAuthInfoWriterFunc(func(_ runtime.ClientRequest, _ strfmt.Registry) error { return nil }) +} + +// BasicAuth provides a basic auth info writer +func BasicAuth(username, password string) runtime.ClientAuthInfoWriter { + return runtime.ClientAuthInfoWriterFunc(func(r runtime.ClientRequest, _ strfmt.Registry) error { + encoded := base64.StdEncoding.EncodeToString([]byte(username + ":" + password)) + return r.SetHeaderParam(runtime.HeaderAuthorization, "Basic "+encoded) + }) +} + +// APIKeyAuth provides an API key auth info writer +func APIKeyAuth(name, in, value string) runtime.ClientAuthInfoWriter { + if in == "query" { + return runtime.ClientAuthInfoWriterFunc(func(r runtime.ClientRequest, _ strfmt.Registry) error { + return r.SetQueryParam(name, value) + }) + } + + if in == "header" { + return runtime.ClientAuthInfoWriterFunc(func(r runtime.ClientRequest, _ strfmt.Registry) error { + return r.SetHeaderParam(name, value) + }) + } + return nil +} + +// BearerToken provides a header based oauth2 bearer access token auth info writer +func BearerToken(token string) runtime.ClientAuthInfoWriter { + return runtime.ClientAuthInfoWriterFunc(func(r runtime.ClientRequest, _ strfmt.Registry) error { + return r.SetHeaderParam(runtime.HeaderAuthorization, "Bearer "+token) + }) +} + +// Compose combines multiple ClientAuthInfoWriters into a single one. +// Useful when multiple auth headers are needed. +func Compose(auths ...runtime.ClientAuthInfoWriter) runtime.ClientAuthInfoWriter { + return runtime.ClientAuthInfoWriterFunc(func(r runtime.ClientRequest, _ strfmt.Registry) error { + for _, auth := range auths { + if auth == nil { + continue + } + if err := auth.AuthenticateRequest(r, nil); err != nil { + return err + } + } + return nil + }) +} diff --git a/vendor/github.com/go-openapi/runtime/client/keepalive.go b/vendor/github.com/go-openapi/runtime/client/keepalive.go new file mode 100644 index 000000000..7dd6b51c4 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client/keepalive.go @@ -0,0 +1,54 @@ +package client + +import ( + "io" + "net/http" + "sync/atomic" +) + +// KeepAliveTransport drains the remaining body from a response +// so that go will reuse the TCP connections. +// This is not enabled by default because there are servers where +// the response never gets closed and that would make the code hang forever. +// So instead it's provided as a http client middleware that can be used to override +// any request. +func KeepAliveTransport(rt http.RoundTripper) http.RoundTripper { + return &keepAliveTransport{wrapped: rt} +} + +type keepAliveTransport struct { + wrapped http.RoundTripper +} + +func (k *keepAliveTransport) RoundTrip(r *http.Request) (*http.Response, error) { + resp, err := k.wrapped.RoundTrip(r) + if err != nil { + return resp, err + } + resp.Body = &drainingReadCloser{rdr: resp.Body} + return resp, nil +} + +type drainingReadCloser struct { + rdr io.ReadCloser + seenEOF uint32 +} + +func (d *drainingReadCloser) Read(p []byte) (n int, err error) { + n, err = d.rdr.Read(p) + if err == io.EOF || n == 0 { + atomic.StoreUint32(&d.seenEOF, 1) + } + return +} + +func (d *drainingReadCloser) Close() error { + // drain buffer + if atomic.LoadUint32(&d.seenEOF) != 1 { + // If the reader side (a HTTP server) is misbehaving, it still may send + // some bytes, but the closer ignores them to keep the underling + // connection open. + _, _ = io.Copy(io.Discard, d.rdr) + } + return d.rdr.Close() +} diff --git a/vendor/github.com/go-openapi/runtime/client/opentelemetry.go b/vendor/github.com/go-openapi/runtime/client/opentelemetry.go new file mode 100644 index 000000000..256cd1b4f --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client/opentelemetry.go @@ -0,0 +1,211 @@ +package client + +import ( + "fmt" + "net/http" + "strings" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/codes" + "go.opentelemetry.io/otel/propagation" + semconv "go.opentelemetry.io/otel/semconv/v1.17.0" + "go.opentelemetry.io/otel/semconv/v1.17.0/httpconv" + "go.opentelemetry.io/otel/trace" +) + +const ( + instrumentationVersion = "1.0.0" + tracerName = "go-openapi" +) + +type config struct { + Tracer trace.Tracer + Propagator propagation.TextMapPropagator + SpanStartOptions []trace.SpanStartOption + SpanNameFormatter func(*runtime.ClientOperation) string + TracerProvider trace.TracerProvider +} + +type OpenTelemetryOpt interface { + apply(*config) +} + +type optionFunc func(*config) + +func (o optionFunc) apply(c *config) { + o(c) +} + +// WithTracerProvider specifies a tracer provider to use for creating a tracer. +// If none is specified, the global provider is used. +func WithTracerProvider(provider trace.TracerProvider) OpenTelemetryOpt { + return optionFunc(func(c *config) { + if provider != nil { + c.TracerProvider = provider + } + }) +} + +// WithPropagators configures specific propagators. If this +// option isn't specified, then the global TextMapPropagator is used. +func WithPropagators(ps propagation.TextMapPropagator) OpenTelemetryOpt { + return optionFunc(func(c *config) { + if ps != nil { + c.Propagator = ps + } + }) +} + +// WithSpanOptions configures an additional set of +// trace.SpanOptions, which are applied to each new span. +func WithSpanOptions(opts ...trace.SpanStartOption) OpenTelemetryOpt { + return optionFunc(func(c *config) { + c.SpanStartOptions = append(c.SpanStartOptions, opts...) + }) +} + +// WithSpanNameFormatter takes a function that will be called on every +// request and the returned string will become the Span Name. +func WithSpanNameFormatter(f func(op *runtime.ClientOperation) string) OpenTelemetryOpt { + return optionFunc(func(c *config) { + c.SpanNameFormatter = f + }) +} + +func defaultTransportFormatter(op *runtime.ClientOperation) string { + if op.ID != "" { + return op.ID + } + + return fmt.Sprintf("%s_%s", strings.ToLower(op.Method), op.PathPattern) +} + +type openTelemetryTransport struct { + transport runtime.ClientTransport + host string + tracer trace.Tracer + config *config +} + +func newOpenTelemetryTransport(transport runtime.ClientTransport, host string, opts []OpenTelemetryOpt) *openTelemetryTransport { + tr := &openTelemetryTransport{ + transport: transport, + host: host, + } + + defaultOpts := []OpenTelemetryOpt{ + WithSpanOptions(trace.WithSpanKind(trace.SpanKindClient)), + WithSpanNameFormatter(defaultTransportFormatter), + WithPropagators(otel.GetTextMapPropagator()), + WithTracerProvider(otel.GetTracerProvider()), + } + + c := newConfig(append(defaultOpts, opts...)...) + tr.config = c + + return tr +} + +func (t *openTelemetryTransport) Submit(op *runtime.ClientOperation) (interface{}, error) { + if op.Context == nil { + return t.transport.Submit(op) + } + + params := op.Params + reader := op.Reader + + var span trace.Span + defer func() { + if span != nil { + span.End() + } + }() + + op.Params = runtime.ClientRequestWriterFunc(func(req runtime.ClientRequest, reg strfmt.Registry) error { + span = t.newOpenTelemetrySpan(op, req.GetHeaderParams()) + return params.WriteToRequest(req, reg) + }) + + op.Reader = runtime.ClientResponseReaderFunc(func(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + if span != nil { + statusCode := response.Code() + // NOTE: this is replaced by semconv.HTTPResponseStatusCode in semconv v1.21 + span.SetAttributes(semconv.HTTPStatusCode(statusCode)) + // NOTE: the conversion from HTTP status code to trace code is no longer available with + // semconv v1.21 + span.SetStatus(httpconv.ServerStatus(statusCode)) + } + + return reader.ReadResponse(response, consumer) + }) + + submit, err := t.transport.Submit(op) + if err != nil && span != nil { + span.RecordError(err) + span.SetStatus(codes.Error, err.Error()) + } + + return submit, err +} + +func (t *openTelemetryTransport) newOpenTelemetrySpan(op *runtime.ClientOperation, header http.Header) trace.Span { + ctx := op.Context + + tracer := t.tracer + if tracer == nil { + if span := trace.SpanFromContext(ctx); span.SpanContext().IsValid() { + tracer = newTracer(span.TracerProvider()) + } else { + tracer = newTracer(otel.GetTracerProvider()) + } + } + + ctx, span := tracer.Start(ctx, t.config.SpanNameFormatter(op), t.config.SpanStartOptions...) + + var scheme string + if len(op.Schemes) > 0 { + scheme = op.Schemes[0] + } + + span.SetAttributes( + attribute.String("net.peer.name", t.host), + attribute.String(string(semconv.HTTPRouteKey), op.PathPattern), + attribute.String(string(semconv.HTTPMethodKey), op.Method), + attribute.String("span.kind", trace.SpanKindClient.String()), + attribute.String("http.scheme", scheme), + ) + + carrier := propagation.HeaderCarrier(header) + t.config.Propagator.Inject(ctx, carrier) + + return span +} + +func newTracer(tp trace.TracerProvider) trace.Tracer { + return tp.Tracer(tracerName, trace.WithInstrumentationVersion(version())) +} + +func newConfig(opts ...OpenTelemetryOpt) *config { + c := &config{ + Propagator: otel.GetTextMapPropagator(), + } + + for _, opt := range opts { + opt.apply(c) + } + + // Tracer is only initialized if manually specified. Otherwise, can be passed with the tracing context. + if c.TracerProvider != nil { + c.Tracer = newTracer(c.TracerProvider) + } + + return c +} + +// Version is the current release version of the go-runtime instrumentation. +func version() string { + return instrumentationVersion +} diff --git a/vendor/github.com/go-openapi/runtime/client/opentracing.go b/vendor/github.com/go-openapi/runtime/client/opentracing.go new file mode 100644 index 000000000..627286d12 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client/opentracing.go @@ -0,0 +1,99 @@ +package client + +import ( + "fmt" + "net/http" + + "github.com/go-openapi/strfmt" + "github.com/opentracing/opentracing-go" + "github.com/opentracing/opentracing-go/ext" + "github.com/opentracing/opentracing-go/log" + + "github.com/go-openapi/runtime" +) + +type tracingTransport struct { + transport runtime.ClientTransport + host string + opts []opentracing.StartSpanOption +} + +func newOpenTracingTransport(transport runtime.ClientTransport, host string, opts []opentracing.StartSpanOption, +) runtime.ClientTransport { + return &tracingTransport{ + transport: transport, + host: host, + opts: opts, + } +} + +func (t *tracingTransport) Submit(op *runtime.ClientOperation) (interface{}, error) { + if op.Context == nil { + return t.transport.Submit(op) + } + + params := op.Params + reader := op.Reader + + var span opentracing.Span + defer func() { + if span != nil { + span.Finish() + } + }() + + op.Params = runtime.ClientRequestWriterFunc(func(req runtime.ClientRequest, reg strfmt.Registry) error { + span = createClientSpan(op, req.GetHeaderParams(), t.host, t.opts) + return params.WriteToRequest(req, reg) + }) + + op.Reader = runtime.ClientResponseReaderFunc(func(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + if span != nil { + code := response.Code() + ext.HTTPStatusCode.Set(span, uint16(code)) + if code >= 400 { + ext.Error.Set(span, true) + } + } + return reader.ReadResponse(response, consumer) + }) + + submit, err := t.transport.Submit(op) + if err != nil && span != nil { + ext.Error.Set(span, true) + span.LogFields(log.Error(err)) + } + return submit, err +} + +func createClientSpan(op *runtime.ClientOperation, header http.Header, host string, + opts []opentracing.StartSpanOption) opentracing.Span { + ctx := op.Context + span := opentracing.SpanFromContext(ctx) + + if span != nil { + opts = append(opts, ext.SpanKindRPCClient) + span, _ = opentracing.StartSpanFromContextWithTracer( + ctx, span.Tracer(), operationName(op), opts...) + + ext.Component.Set(span, "go-openapi") + ext.PeerHostname.Set(span, host) + span.SetTag("http.path", op.PathPattern) + ext.HTTPMethod.Set(span, op.Method) + + _ = span.Tracer().Inject( + span.Context(), + opentracing.HTTPHeaders, + opentracing.HTTPHeadersCarrier(header)) + + return span + } + return nil +} + +func operationName(op *runtime.ClientOperation) string { + if op.ID != "" { + return op.ID + } + return fmt.Sprintf("%s_%s", op.Method, op.PathPattern) +} diff --git a/vendor/github.com/go-openapi/runtime/client/request.go b/vendor/github.com/go-openapi/runtime/client/request.go new file mode 100644 index 000000000..c4a891d0b --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client/request.go @@ -0,0 +1,482 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package client + +import ( + "bytes" + "context" + "fmt" + "io" + "log" + "mime/multipart" + "net/http" + "net/textproto" + "net/url" + "os" + "path" + "path/filepath" + "strings" + "time" + + "github.com/go-openapi/strfmt" + + "github.com/go-openapi/runtime" +) + +// NewRequest creates a new swagger http client request +func newRequest(method, pathPattern string, writer runtime.ClientRequestWriter) *request { + return &request{ + pathPattern: pathPattern, + method: method, + writer: writer, + header: make(http.Header), + query: make(url.Values), + timeout: DefaultTimeout, + getBody: getRequestBuffer, + } +} + +// Request represents a swagger client request. +// +// This Request struct converts to a HTTP request. +// There might be others that convert to other transports. +// There is no error checking here, it is assumed to be used after a spec has been validated. +// so impossible combinations should not arise (hopefully). +// +// The main purpose of this struct is to hide the machinery of adding params to a transport request. +// The generated code only implements what is necessary to turn a param into a valid value for these methods. +type request struct { + pathPattern string + method string + writer runtime.ClientRequestWriter + + pathParams map[string]string + header http.Header + query url.Values + formFields url.Values + fileFields map[string][]runtime.NamedReadCloser + payload interface{} + timeout time.Duration + buf *bytes.Buffer + + getBody func(r *request) []byte +} + +var ( + // ensure interface compliance + _ runtime.ClientRequest = new(request) +) + +func (r *request) isMultipart(mediaType string) bool { + if len(r.fileFields) > 0 { + return true + } + + return runtime.MultipartFormMime == mediaType +} + +// BuildHTTP creates a new http request based on the data from the params +func (r *request) BuildHTTP(mediaType, basePath string, producers map[string]runtime.Producer, registry strfmt.Registry) (*http.Request, error) { + return r.buildHTTP(mediaType, basePath, producers, registry, nil) +} +func escapeQuotes(s string) string { + return strings.NewReplacer("\\", "\\\\", `"`, "\\\"").Replace(s) +} + +func logClose(err error, pw *io.PipeWriter) { + log.Println(err) + closeErr := pw.CloseWithError(err) + if closeErr != nil { + log.Println(closeErr) + } +} + +func (r *request) buildHTTP(mediaType, basePath string, producers map[string]runtime.Producer, registry strfmt.Registry, auth runtime.ClientAuthInfoWriter) (*http.Request, error) { //nolint:gocyclo,maintidx + // build the data + if err := r.writer.WriteToRequest(r, registry); err != nil { + return nil, err + } + + // Our body must be an io.Reader. + // When we create the http.Request, if we pass it a + // bytes.Buffer then it will wrap it in an io.ReadCloser + // and set the content length automatically. + var body io.Reader + var pr *io.PipeReader + var pw *io.PipeWriter + + r.buf = bytes.NewBuffer(nil) + if r.payload != nil || len(r.formFields) > 0 || len(r.fileFields) > 0 { + body = r.buf + if r.isMultipart(mediaType) { + pr, pw = io.Pipe() + body = pr + } + } + + // check if this is a form type request + if len(r.formFields) > 0 || len(r.fileFields) > 0 { + if !r.isMultipart(mediaType) { + r.header.Set(runtime.HeaderContentType, mediaType) + formString := r.formFields.Encode() + r.buf.WriteString(formString) + goto DoneChoosingBodySource + } + + mp := multipart.NewWriter(pw) + r.header.Set(runtime.HeaderContentType, mangleContentType(mediaType, mp.Boundary())) + + go func() { + defer func() { + mp.Close() + pw.Close() + }() + + for fn, v := range r.formFields { + for _, vi := range v { + if err := mp.WriteField(fn, vi); err != nil { + logClose(err, pw) + return + } + } + } + + defer func() { + for _, ff := range r.fileFields { + for _, ffi := range ff { + ffi.Close() + } + } + }() + for fn, f := range r.fileFields { + for _, fi := range f { + var fileContentType string + if p, ok := fi.(interface { + ContentType() string + }); ok { + fileContentType = p.ContentType() + } else { + // Need to read the data so that we can detect the content type + buf := make([]byte, 512) + size, err := fi.Read(buf) + if err != nil && err != io.EOF { + logClose(err, pw) + return + } + fileContentType = http.DetectContentType(buf) + fi = runtime.NamedReader(fi.Name(), io.MultiReader(bytes.NewReader(buf[:size]), fi)) + } + + // Create the MIME headers for the new part + h := make(textproto.MIMEHeader) + h.Set("Content-Disposition", + fmt.Sprintf(`form-data; name="%s"; filename="%s"`, + escapeQuotes(fn), escapeQuotes(filepath.Base(fi.Name())))) + h.Set("Content-Type", fileContentType) + + wrtr, err := mp.CreatePart(h) + if err != nil { + logClose(err, pw) + return + } + if _, err := io.Copy(wrtr, fi); err != nil { + logClose(err, pw) + } + } + } + }() + + goto DoneChoosingBodySource + } + + // if there is payload, use the producer to write the payload, and then + // set the header to the content-type appropriate for the payload produced + if r.payload != nil { + // TODO: infer most appropriate content type based on the producer used, + // and the `consumers` section of the spec/operation + r.header.Set(runtime.HeaderContentType, mediaType) + if rdr, ok := r.payload.(io.ReadCloser); ok { + body = rdr + goto DoneChoosingBodySource + } + + if rdr, ok := r.payload.(io.Reader); ok { + body = rdr + goto DoneChoosingBodySource + } + + producer := producers[mediaType] + if err := producer.Produce(r.buf, r.payload); err != nil { + return nil, err + } + } + +DoneChoosingBodySource: + + if runtime.CanHaveBody(r.method) && body != nil && r.header.Get(runtime.HeaderContentType) == "" { + r.header.Set(runtime.HeaderContentType, mediaType) + } + + if auth != nil { + // If we're not using r.buf as our http.Request's body, + // either the payload is an io.Reader or io.ReadCloser, + // or we're doing a multipart form/file. + // + // In those cases, if the AuthenticateRequest call asks for the body, + // we must read it into a buffer and provide that, then use that buffer + // as the body of our http.Request. + // + // This is done in-line with the GetBody() request rather than ahead + // of time, because there's no way to know if the AuthenticateRequest + // will even ask for the body of the request. + // + // If for some reason the copy fails, there's no way to return that + // error to the GetBody() call, so return it afterwards. + // + // An error from the copy action is prioritized over any error + // from the AuthenticateRequest call, because the mis-read + // body may have interfered with the auth. + // + var copyErr error + if buf, ok := body.(*bytes.Buffer); body != nil && (!ok || buf != r.buf) { + var copied bool + r.getBody = func(r *request) []byte { + if copied { + return getRequestBuffer(r) + } + + defer func() { + copied = true + }() + + if _, copyErr = io.Copy(r.buf, body); copyErr != nil { + return nil + } + + if closer, ok := body.(io.ReadCloser); ok { + if copyErr = closer.Close(); copyErr != nil { + return nil + } + } + + body = r.buf + return getRequestBuffer(r) + } + } + + authErr := auth.AuthenticateRequest(r, registry) + + if copyErr != nil { + return nil, fmt.Errorf("error retrieving the response body: %v", copyErr) + } + + if authErr != nil { + return nil, authErr + } + } + + // In case the basePath or the request pathPattern include static query parameters, + // parse those out before constructing the final path. The parameters themselves + // will be merged with the ones set by the client, with the priority given first to + // the ones set by the client, then the path pattern, and lastly the base path. + basePathURL, err := url.Parse(basePath) + if err != nil { + return nil, err + } + staticQueryParams := basePathURL.Query() + + pathPatternURL, err := url.Parse(r.pathPattern) + if err != nil { + return nil, err + } + for name, values := range pathPatternURL.Query() { + if _, present := staticQueryParams[name]; present { + staticQueryParams.Del(name) + } + for _, value := range values { + staticQueryParams.Add(name, value) + } + } + + // create http request + var reinstateSlash bool + if pathPatternURL.Path != "" && pathPatternURL.Path != "/" && pathPatternURL.Path[len(pathPatternURL.Path)-1] == '/' { + reinstateSlash = true + } + + urlPath := path.Join(basePathURL.Path, pathPatternURL.Path) + for k, v := range r.pathParams { + urlPath = strings.ReplaceAll(urlPath, "{"+k+"}", url.PathEscape(v)) + } + if reinstateSlash { + urlPath += "/" + } + + req, err := http.NewRequestWithContext(context.Background(), r.method, urlPath, body) + if err != nil { + return nil, err + } + + originalParams := r.GetQueryParams() + + // Merge the query parameters extracted from the basePath with the ones set by + // the client in this struct. In case of conflict, the client wins. + for k, v := range staticQueryParams { + _, present := originalParams[k] + if !present { + if err = r.SetQueryParam(k, v...); err != nil { + return nil, err + } + } + } + + req.URL.RawQuery = r.query.Encode() + req.Header = r.header + + return req, nil +} + +func mangleContentType(mediaType, boundary string) string { + if strings.ToLower(mediaType) == runtime.URLencodedFormMime { + return fmt.Sprintf("%s; boundary=%s", mediaType, boundary) + } + return "multipart/form-data; boundary=" + boundary +} + +func (r *request) GetMethod() string { + return r.method +} + +func (r *request) GetPath() string { + path := r.pathPattern + for k, v := range r.pathParams { + path = strings.ReplaceAll(path, "{"+k+"}", v) + } + return path +} + +func (r *request) GetBody() []byte { + return r.getBody(r) +} + +func getRequestBuffer(r *request) []byte { + if r.buf == nil { + return nil + } + return r.buf.Bytes() +} + +// SetHeaderParam adds a header param to the request +// when there is only 1 value provided for the varargs, it will set it. +// when there are several values provided for the varargs it will add it (no overriding) +func (r *request) SetHeaderParam(name string, values ...string) error { + if r.header == nil { + r.header = make(http.Header) + } + r.header[http.CanonicalHeaderKey(name)] = values + return nil +} + +// GetHeaderParams returns the all headers currently set for the request +func (r *request) GetHeaderParams() http.Header { + return r.header +} + +// SetQueryParam adds a query param to the request +// when there is only 1 value provided for the varargs, it will set it. +// when there are several values provided for the varargs it will add it (no overriding) +func (r *request) SetQueryParam(name string, values ...string) error { + if r.query == nil { + r.query = make(url.Values) + } + r.query[name] = values + return nil +} + +// GetQueryParams returns a copy of all query params currently set for the request +func (r *request) GetQueryParams() url.Values { + var result = make(url.Values) + for key, value := range r.query { + result[key] = append([]string{}, value...) + } + return result +} + +// SetFormParam adds a forn param to the request +// when there is only 1 value provided for the varargs, it will set it. +// when there are several values provided for the varargs it will add it (no overriding) +func (r *request) SetFormParam(name string, values ...string) error { + if r.formFields == nil { + r.formFields = make(url.Values) + } + r.formFields[name] = values + return nil +} + +// SetPathParam adds a path param to the request +func (r *request) SetPathParam(name string, value string) error { + if r.pathParams == nil { + r.pathParams = make(map[string]string) + } + + r.pathParams[name] = value + return nil +} + +// SetFileParam adds a file param to the request +func (r *request) SetFileParam(name string, files ...runtime.NamedReadCloser) error { + for _, file := range files { + if actualFile, ok := file.(*os.File); ok { + fi, err := os.Stat(actualFile.Name()) + if err != nil { + return err + } + if fi.IsDir() { + return fmt.Errorf("%q is a directory, only files are supported", file.Name()) + } + } + } + + if r.fileFields == nil { + r.fileFields = make(map[string][]runtime.NamedReadCloser) + } + if r.formFields == nil { + r.formFields = make(url.Values) + } + + r.fileFields[name] = files + return nil +} + +func (r *request) GetFileParam() map[string][]runtime.NamedReadCloser { + return r.fileFields +} + +// SetBodyParam sets a body parameter on the request. +// This does not yet serialze the object, this happens as late as possible. +func (r *request) SetBodyParam(payload interface{}) error { + r.payload = payload + return nil +} + +func (r *request) GetBodyParam() interface{} { + return r.payload +} + +// SetTimeout sets the timeout for a request +func (r *request) SetTimeout(timeout time.Duration) error { + r.timeout = timeout + return nil +} diff --git a/vendor/github.com/go-openapi/runtime/client/response.go b/vendor/github.com/go-openapi/runtime/client/response.go new file mode 100644 index 000000000..0bbd388bc --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client/response.go @@ -0,0 +1,50 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package client + +import ( + "io" + "net/http" + + "github.com/go-openapi/runtime" +) + +var _ runtime.ClientResponse = response{} + +func newResponse(resp *http.Response) runtime.ClientResponse { return response{resp: resp} } + +type response struct { + resp *http.Response +} + +func (r response) Code() int { + return r.resp.StatusCode +} + +func (r response) Message() string { + return r.resp.Status +} + +func (r response) GetHeader(name string) string { + return r.resp.Header.Get(name) +} + +func (r response) GetHeaders(name string) []string { + return r.resp.Header.Values(name) +} + +func (r response) Body() io.ReadCloser { + return r.resp.Body +} diff --git a/vendor/github.com/go-openapi/runtime/client/runtime.go b/vendor/github.com/go-openapi/runtime/client/runtime.go new file mode 100644 index 000000000..5bd4d75d9 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client/runtime.go @@ -0,0 +1,552 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package client + +import ( + "context" + "crypto" + "crypto/ecdsa" + "crypto/rsa" + "crypto/tls" + "crypto/x509" + "encoding/pem" + "errors" + "fmt" + "mime" + "net/http" + "net/http/httputil" + "os" + "strings" + "sync" + "time" + + "github.com/go-openapi/strfmt" + "github.com/opentracing/opentracing-go" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/logger" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/runtime/yamlpc" +) + +const ( + schemeHTTP = "http" + schemeHTTPS = "https" +) + +// TLSClientOptions to configure client authentication with mutual TLS +type TLSClientOptions struct { + // Certificate is the path to a PEM-encoded certificate to be used for + // client authentication. If set then Key must also be set. + Certificate string + + // LoadedCertificate is the certificate to be used for client authentication. + // This field is ignored if Certificate is set. If this field is set, LoadedKey + // is also required. + LoadedCertificate *x509.Certificate + + // Key is the path to an unencrypted PEM-encoded private key for client + // authentication. This field is required if Certificate is set. + Key string + + // LoadedKey is the key for client authentication. This field is required if + // LoadedCertificate is set. + LoadedKey crypto.PrivateKey + + // CA is a path to a PEM-encoded certificate that specifies the root certificate + // to use when validating the TLS certificate presented by the server. If this field + // (and LoadedCA) is not set, the system certificate pool is used. This field is ignored if LoadedCA + // is set. + CA string + + // LoadedCA specifies the root certificate to use when validating the server's TLS certificate. + // If this field (and CA) is not set, the system certificate pool is used. + LoadedCA *x509.Certificate + + // LoadedCAPool specifies a pool of RootCAs to use when validating the server's TLS certificate. + // If set, it will be combined with the other loaded certificates (see LoadedCA and CA). + // If neither LoadedCA or CA is set, the provided pool with override the system + // certificate pool. + // The caller must not use the supplied pool after calling TLSClientAuth. + LoadedCAPool *x509.CertPool + + // ServerName specifies the hostname to use when verifying the server certificate. + // If this field is set then InsecureSkipVerify will be ignored and treated as + // false. + ServerName string + + // InsecureSkipVerify controls whether the certificate chain and hostname presented + // by the server are validated. If true, any certificate is accepted. + InsecureSkipVerify bool + + // VerifyPeerCertificate, if not nil, is called after normal + // certificate verification. It receives the raw ASN.1 certificates + // provided by the peer and also any verified chains that normal processing found. + // If it returns a non-nil error, the handshake is aborted and that error results. + // + // If normal verification fails then the handshake will abort before + // considering this callback. If normal verification is disabled by + // setting InsecureSkipVerify then this callback will be considered but + // the verifiedChains argument will always be nil. + VerifyPeerCertificate func(rawCerts [][]byte, verifiedChains [][]*x509.Certificate) error + + // SessionTicketsDisabled may be set to true to disable session ticket and + // PSK (resumption) support. Note that on clients, session ticket support is + // also disabled if ClientSessionCache is nil. + SessionTicketsDisabled bool + + // ClientSessionCache is a cache of ClientSessionState entries for TLS + // session resumption. It is only used by clients. + ClientSessionCache tls.ClientSessionCache + + // Prevents callers using unkeyed fields. + _ struct{} +} + +// TLSClientAuth creates a tls.Config for mutual auth +func TLSClientAuth(opts TLSClientOptions) (*tls.Config, error) { + // create client tls config + cfg := &tls.Config{ + MinVersion: tls.VersionTLS12, + } + + // load client cert if specified + if opts.Certificate != "" { + cert, err := tls.LoadX509KeyPair(opts.Certificate, opts.Key) + if err != nil { + return nil, fmt.Errorf("tls client cert: %v", err) + } + cfg.Certificates = []tls.Certificate{cert} + } else if opts.LoadedCertificate != nil { + block := pem.Block{Type: "CERTIFICATE", Bytes: opts.LoadedCertificate.Raw} + certPem := pem.EncodeToMemory(&block) + + var keyBytes []byte + switch k := opts.LoadedKey.(type) { + case *rsa.PrivateKey: + keyBytes = x509.MarshalPKCS1PrivateKey(k) + case *ecdsa.PrivateKey: + var err error + keyBytes, err = x509.MarshalECPrivateKey(k) + if err != nil { + return nil, fmt.Errorf("tls client priv key: %v", err) + } + default: + return nil, errors.New("tls client priv key: unsupported key type") + } + + block = pem.Block{Type: "PRIVATE KEY", Bytes: keyBytes} + keyPem := pem.EncodeToMemory(&block) + + cert, err := tls.X509KeyPair(certPem, keyPem) + if err != nil { + return nil, fmt.Errorf("tls client cert: %v", err) + } + cfg.Certificates = []tls.Certificate{cert} + } + + cfg.InsecureSkipVerify = opts.InsecureSkipVerify + + cfg.VerifyPeerCertificate = opts.VerifyPeerCertificate + cfg.SessionTicketsDisabled = opts.SessionTicketsDisabled + cfg.ClientSessionCache = opts.ClientSessionCache + + // When no CA certificate is provided, default to the system cert pool + // that way when a request is made to a server known by the system trust store, + // the name is still verified + switch { + case opts.LoadedCA != nil: + caCertPool := basePool(opts.LoadedCAPool) + caCertPool.AddCert(opts.LoadedCA) + cfg.RootCAs = caCertPool + case opts.CA != "": + // load ca cert + caCert, err := os.ReadFile(opts.CA) + if err != nil { + return nil, fmt.Errorf("tls client ca: %v", err) + } + caCertPool := basePool(opts.LoadedCAPool) + caCertPool.AppendCertsFromPEM(caCert) + cfg.RootCAs = caCertPool + case opts.LoadedCAPool != nil: + cfg.RootCAs = opts.LoadedCAPool + } + + // apply servername overrride + if opts.ServerName != "" { + cfg.InsecureSkipVerify = false + cfg.ServerName = opts.ServerName + } + + return cfg, nil +} + +func basePool(pool *x509.CertPool) *x509.CertPool { + if pool == nil { + return x509.NewCertPool() + } + return pool +} + +// TLSTransport creates a http client transport suitable for mutual tls auth +func TLSTransport(opts TLSClientOptions) (http.RoundTripper, error) { + cfg, err := TLSClientAuth(opts) + if err != nil { + return nil, err + } + + return &http.Transport{TLSClientConfig: cfg}, nil +} + +// TLSClient creates a http.Client for mutual auth +func TLSClient(opts TLSClientOptions) (*http.Client, error) { + transport, err := TLSTransport(opts) + if err != nil { + return nil, err + } + return &http.Client{Transport: transport}, nil +} + +// DefaultTimeout the default request timeout +var DefaultTimeout = 30 * time.Second + +// Runtime represents an API client that uses the transport +// to make http requests based on a swagger specification. +type Runtime struct { + DefaultMediaType string + DefaultAuthentication runtime.ClientAuthInfoWriter + Consumers map[string]runtime.Consumer + Producers map[string]runtime.Producer + + Transport http.RoundTripper + Jar http.CookieJar + // Spec *spec.Document + Host string + BasePath string + Formats strfmt.Registry + Context context.Context //nolint:containedctx // we precisely want this type to contain the request context + + Debug bool + logger logger.Logger + + clientOnce *sync.Once + client *http.Client + schemes []string + response ClientResponseFunc +} + +// New creates a new default runtime for a swagger api runtime.Client +func New(host, basePath string, schemes []string) *Runtime { + var rt Runtime + rt.DefaultMediaType = runtime.JSONMime + + // TODO: actually infer this stuff from the spec + rt.Consumers = map[string]runtime.Consumer{ + runtime.YAMLMime: yamlpc.YAMLConsumer(), + runtime.JSONMime: runtime.JSONConsumer(), + runtime.XMLMime: runtime.XMLConsumer(), + runtime.TextMime: runtime.TextConsumer(), + runtime.HTMLMime: runtime.TextConsumer(), + runtime.CSVMime: runtime.CSVConsumer(), + runtime.DefaultMime: runtime.ByteStreamConsumer(), + } + rt.Producers = map[string]runtime.Producer{ + runtime.YAMLMime: yamlpc.YAMLProducer(), + runtime.JSONMime: runtime.JSONProducer(), + runtime.XMLMime: runtime.XMLProducer(), + runtime.TextMime: runtime.TextProducer(), + runtime.HTMLMime: runtime.TextProducer(), + runtime.CSVMime: runtime.CSVProducer(), + runtime.DefaultMime: runtime.ByteStreamProducer(), + } + rt.Transport = http.DefaultTransport + rt.Jar = nil + rt.Host = host + rt.BasePath = basePath + rt.Context = context.Background() + rt.clientOnce = new(sync.Once) + if !strings.HasPrefix(rt.BasePath, "/") { + rt.BasePath = "/" + rt.BasePath + } + + rt.Debug = logger.DebugEnabled() + rt.logger = logger.StandardLogger{} + rt.response = newResponse + + if len(schemes) > 0 { + rt.schemes = schemes + } + return &rt +} + +// NewWithClient allows you to create a new transport with a configured http.Client +func NewWithClient(host, basePath string, schemes []string, client *http.Client) *Runtime { + rt := New(host, basePath, schemes) + if client != nil { + rt.clientOnce.Do(func() { + rt.client = client + }) + } + return rt +} + +// WithOpenTracing adds opentracing support to the provided runtime. +// A new client span is created for each request. +// If the context of the client operation does not contain an active span, no span is created. +// The provided opts are applied to each spans - for example to add global tags. +func (r *Runtime) WithOpenTracing(opts ...opentracing.StartSpanOption) runtime.ClientTransport { + return newOpenTracingTransport(r, r.Host, opts) +} + +// WithOpenTelemetry adds opentelemetry support to the provided runtime. +// A new client span is created for each request. +// If the context of the client operation does not contain an active span, no span is created. +// The provided opts are applied to each spans - for example to add global tags. +func (r *Runtime) WithOpenTelemetry(opts ...OpenTelemetryOpt) runtime.ClientTransport { + return newOpenTelemetryTransport(r, r.Host, opts) +} + +func (r *Runtime) pickScheme(schemes []string) string { + if v := r.selectScheme(r.schemes); v != "" { + return v + } + if v := r.selectScheme(schemes); v != "" { + return v + } + return schemeHTTP +} + +func (r *Runtime) selectScheme(schemes []string) string { + schLen := len(schemes) + if schLen == 0 { + return "" + } + + scheme := schemes[0] + // prefer https, but skip when not possible + if scheme != schemeHTTPS && schLen > 1 { + for _, sch := range schemes { + if sch == schemeHTTPS { + scheme = sch + break + } + } + } + return scheme +} + +func transportOrDefault(left, right http.RoundTripper) http.RoundTripper { + if left == nil { + return right + } + return left +} + +// EnableConnectionReuse drains the remaining body from a response +// so that go will reuse the TCP connections. +// +// This is not enabled by default because there are servers where +// the response never gets closed and that would make the code hang forever. +// So instead it's provided as a http client middleware that can be used to override +// any request. +func (r *Runtime) EnableConnectionReuse() { + if r.client == nil { + r.Transport = KeepAliveTransport( + transportOrDefault(r.Transport, http.DefaultTransport), + ) + return + } + + r.client.Transport = KeepAliveTransport( + transportOrDefault(r.client.Transport, + transportOrDefault(r.Transport, http.DefaultTransport), + ), + ) +} + +// takes a client operation and creates equivalent http.Request +func (r *Runtime) createHttpRequest(operation *runtime.ClientOperation) (*request, *http.Request, error) { //nolint:revive,stylecheck + params, _, auth := operation.Params, operation.Reader, operation.AuthInfo + + request := newRequest(operation.Method, operation.PathPattern, params) + + var accept []string + accept = append(accept, operation.ProducesMediaTypes...) + if err := request.SetHeaderParam(runtime.HeaderAccept, accept...); err != nil { + return nil, nil, err + } + + if auth == nil && r.DefaultAuthentication != nil { + auth = runtime.ClientAuthInfoWriterFunc(func(req runtime.ClientRequest, reg strfmt.Registry) error { + if req.GetHeaderParams().Get(runtime.HeaderAuthorization) != "" { + return nil + } + return r.DefaultAuthentication.AuthenticateRequest(req, reg) + }) + } + // if auth != nil { + // if err := auth.AuthenticateRequest(request, r.Formats); err != nil { + // return nil, err + // } + //} + + // TODO: pick appropriate media type + cmt := r.DefaultMediaType + for _, mediaType := range operation.ConsumesMediaTypes { + // Pick first non-empty media type + if mediaType != "" { + cmt = mediaType + break + } + } + + if _, ok := r.Producers[cmt]; !ok && cmt != runtime.MultipartFormMime && cmt != runtime.URLencodedFormMime { + return nil, nil, fmt.Errorf("none of producers: %v registered. try %s", r.Producers, cmt) + } + + req, err := request.buildHTTP(cmt, r.BasePath, r.Producers, r.Formats, auth) + if err != nil { + return nil, nil, err + } + req.URL.Scheme = r.pickScheme(operation.Schemes) + req.URL.Host = r.Host + req.Host = r.Host + return request, req, nil +} + +func (r *Runtime) CreateHttpRequest(operation *runtime.ClientOperation) (req *http.Request, err error) { //nolint:revive,stylecheck + _, req, err = r.createHttpRequest(operation) + return +} + +// Submit a request and when there is a body on success it will turn that into the result +// all other things are turned into an api error for swagger which retains the status code +func (r *Runtime) Submit(operation *runtime.ClientOperation) (interface{}, error) { + _, readResponse, _ := operation.Params, operation.Reader, operation.AuthInfo + + request, req, err := r.createHttpRequest(operation) + if err != nil { + return nil, err + } + + r.clientOnce.Do(func() { + r.client = &http.Client{ + Transport: r.Transport, + Jar: r.Jar, + } + }) + + if r.Debug { + b, err2 := httputil.DumpRequestOut(req, true) + if err2 != nil { + return nil, err2 + } + r.logger.Debugf("%s\n", string(b)) + } + + var parentCtx context.Context + switch { + case operation.Context != nil: + parentCtx = operation.Context + case r.Context != nil: + parentCtx = r.Context + default: + parentCtx = context.Background() + } + + var ( + ctx context.Context + cancel context.CancelFunc + ) + if request.timeout == 0 { + // There may be a deadline in the context passed to the operation. + // Otherwise, there is no timeout set. + ctx, cancel = context.WithCancel(parentCtx) + } else { + // Sets the timeout passed from request params (by default runtime.DefaultTimeout). + // If there is already a deadline in the parent context, the shortest will + // apply. + ctx, cancel = context.WithTimeout(parentCtx, request.timeout) + } + defer cancel() + + var client *http.Client + if operation.Client != nil { + client = operation.Client + } else { + client = r.client + } + req = req.WithContext(ctx) + res, err := client.Do(req) // make requests, by default follows 10 redirects before failing + if err != nil { + return nil, err + } + defer res.Body.Close() + + ct := res.Header.Get(runtime.HeaderContentType) + if ct == "" { // this should really never occur + ct = r.DefaultMediaType + } + + if r.Debug { + printBody := true + if ct == runtime.DefaultMime { + printBody = false // Spare the terminal from a binary blob. + } + b, err2 := httputil.DumpResponse(res, printBody) + if err2 != nil { + return nil, err2 + } + r.logger.Debugf("%s\n", string(b)) + } + + mt, _, err := mime.ParseMediaType(ct) + if err != nil { + return nil, fmt.Errorf("parse content type: %s", err) + } + + cons, ok := r.Consumers[mt] + if !ok { + if cons, ok = r.Consumers["*/*"]; !ok { + // scream about not knowing what to do + return nil, fmt.Errorf("no consumer: %q", ct) + } + } + return readResponse.ReadResponse(r.response(res), cons) +} + +// SetDebug changes the debug flag. +// It ensures that client and middlewares have the set debug level. +func (r *Runtime) SetDebug(debug bool) { + r.Debug = debug + middleware.Debug = debug +} + +// SetLogger changes the logger stream. +// It ensures that client and middlewares use the same logger. +func (r *Runtime) SetLogger(logger logger.Logger) { + r.logger = logger + middleware.Logger = logger +} + +type ClientResponseFunc = func(*http.Response) runtime.ClientResponse //nolint:revive + +// SetResponseReader changes the response reader implementation. +func (r *Runtime) SetResponseReader(f ClientResponseFunc) { + if f == nil { + return + } + r.response = f +} diff --git a/vendor/github.com/go-openapi/runtime/client_auth_info.go b/vendor/github.com/go-openapi/runtime/client_auth_info.go new file mode 100644 index 000000000..c6c97d9a7 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client_auth_info.go @@ -0,0 +1,30 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import "github.com/go-openapi/strfmt" + +// A ClientAuthInfoWriterFunc converts a function to a request writer interface +type ClientAuthInfoWriterFunc func(ClientRequest, strfmt.Registry) error + +// AuthenticateRequest adds authentication data to the request +func (fn ClientAuthInfoWriterFunc) AuthenticateRequest(req ClientRequest, reg strfmt.Registry) error { + return fn(req, reg) +} + +// A ClientAuthInfoWriter implementor knows how to write authentication info to a request +type ClientAuthInfoWriter interface { + AuthenticateRequest(ClientRequest, strfmt.Registry) error +} diff --git a/vendor/github.com/go-openapi/runtime/client_operation.go b/vendor/github.com/go-openapi/runtime/client_operation.go new file mode 100644 index 000000000..5a5d63563 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client_operation.go @@ -0,0 +1,41 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "context" + "net/http" +) + +// ClientOperation represents the context for a swagger operation to be submitted to the transport +type ClientOperation struct { + ID string + Method string + PathPattern string + ProducesMediaTypes []string + ConsumesMediaTypes []string + Schemes []string + AuthInfo ClientAuthInfoWriter + Params ClientRequestWriter + Reader ClientResponseReader + Context context.Context //nolint:containedctx // we precisely want this type to contain the request context + Client *http.Client +} + +// A ClientTransport implementor knows how to submit Request objects to some destination +type ClientTransport interface { + // Submit(string, RequestWriter, ResponseReader, AuthInfoWriter) (interface{}, error) + Submit(*ClientOperation) (interface{}, error) +} diff --git a/vendor/github.com/go-openapi/runtime/client_request.go b/vendor/github.com/go-openapi/runtime/client_request.go new file mode 100644 index 000000000..4ebb2deab --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client_request.go @@ -0,0 +1,152 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "io" + "net/http" + "net/url" + "time" + + "github.com/go-openapi/strfmt" +) + +// ClientRequestWriterFunc converts a function to a request writer interface +type ClientRequestWriterFunc func(ClientRequest, strfmt.Registry) error + +// WriteToRequest adds data to the request +func (fn ClientRequestWriterFunc) WriteToRequest(req ClientRequest, reg strfmt.Registry) error { + return fn(req, reg) +} + +// ClientRequestWriter is an interface for things that know how to write to a request +type ClientRequestWriter interface { + WriteToRequest(ClientRequest, strfmt.Registry) error +} + +// ClientRequest is an interface for things that know how to +// add information to a swagger client request. +type ClientRequest interface { //nolint:interfacebloat // a swagger-capable request is quite rich, hence the many getter/setters + SetHeaderParam(string, ...string) error + + GetHeaderParams() http.Header + + SetQueryParam(string, ...string) error + + SetFormParam(string, ...string) error + + SetPathParam(string, string) error + + GetQueryParams() url.Values + + SetFileParam(string, ...NamedReadCloser) error + + SetBodyParam(interface{}) error + + SetTimeout(time.Duration) error + + GetMethod() string + + GetPath() string + + GetBody() []byte + + GetBodyParam() interface{} + + GetFileParam() map[string][]NamedReadCloser +} + +// NamedReadCloser represents a named ReadCloser interface +type NamedReadCloser interface { + io.ReadCloser + Name() string +} + +// NamedReader creates a NamedReadCloser for use as file upload +func NamedReader(name string, rdr io.Reader) NamedReadCloser { + rc, ok := rdr.(io.ReadCloser) + if !ok { + rc = io.NopCloser(rdr) + } + return &namedReadCloser{ + name: name, + cr: rc, + } +} + +type namedReadCloser struct { + name string + cr io.ReadCloser +} + +func (n *namedReadCloser) Close() error { + return n.cr.Close() +} +func (n *namedReadCloser) Read(p []byte) (int, error) { + return n.cr.Read(p) +} +func (n *namedReadCloser) Name() string { + return n.name +} + +type TestClientRequest struct { + Headers http.Header + Body interface{} +} + +func (t *TestClientRequest) SetHeaderParam(name string, values ...string) error { + if t.Headers == nil { + t.Headers = make(http.Header) + } + t.Headers.Set(name, values[0]) + return nil +} + +func (t *TestClientRequest) SetQueryParam(_ string, _ ...string) error { return nil } + +func (t *TestClientRequest) SetFormParam(_ string, _ ...string) error { return nil } + +func (t *TestClientRequest) SetPathParam(_ string, _ string) error { return nil } + +func (t *TestClientRequest) SetFileParam(_ string, _ ...NamedReadCloser) error { return nil } + +func (t *TestClientRequest) SetBodyParam(body interface{}) error { + t.Body = body + return nil +} + +func (t *TestClientRequest) SetTimeout(time.Duration) error { + return nil +} + +func (t *TestClientRequest) GetQueryParams() url.Values { return nil } + +func (t *TestClientRequest) GetMethod() string { return "" } + +func (t *TestClientRequest) GetPath() string { return "" } + +func (t *TestClientRequest) GetBody() []byte { return nil } + +func (t *TestClientRequest) GetBodyParam() interface{} { + return t.Body +} + +func (t *TestClientRequest) GetFileParam() map[string][]NamedReadCloser { + return nil +} + +func (t *TestClientRequest) GetHeaderParams() http.Header { + return t.Headers +} diff --git a/vendor/github.com/go-openapi/runtime/client_response.go b/vendor/github.com/go-openapi/runtime/client_response.go new file mode 100644 index 000000000..0d1691149 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/client_response.go @@ -0,0 +1,110 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "encoding/json" + "fmt" + "io" +) + +// A ClientResponse represents a client response +// This bridges between responses obtained from different transports +type ClientResponse interface { + Code() int + Message() string + GetHeader(string) string + GetHeaders(string) []string + Body() io.ReadCloser +} + +// A ClientResponseReaderFunc turns a function into a ClientResponseReader interface implementation +type ClientResponseReaderFunc func(ClientResponse, Consumer) (interface{}, error) + +// ReadResponse reads the response +func (read ClientResponseReaderFunc) ReadResponse(resp ClientResponse, consumer Consumer) (interface{}, error) { + return read(resp, consumer) +} + +// A ClientResponseReader is an interface for things want to read a response. +// An application of this is to create structs from response values +type ClientResponseReader interface { + ReadResponse(ClientResponse, Consumer) (interface{}, error) +} + +// NewAPIError creates a new API error +func NewAPIError(opName string, payload interface{}, code int) *APIError { + return &APIError{ + OperationName: opName, + Response: payload, + Code: code, + } +} + +// APIError wraps an error model and captures the status code +type APIError struct { + OperationName string + Response interface{} + Code int +} + +func (o *APIError) Error() string { + var resp []byte + if err, ok := o.Response.(error); ok { + resp = []byte("'" + err.Error() + "'") + } else { + resp, _ = json.Marshal(o.Response) + } + return fmt.Sprintf("%s (status %d): %s", o.OperationName, o.Code, resp) +} + +func (o *APIError) String() string { + return o.Error() +} + +// IsSuccess returns true when this elapse o k response returns a 2xx status code +func (o *APIError) IsSuccess() bool { + return o.Code/100 == 2 +} + +// IsRedirect returns true when this elapse o k response returns a 3xx status code +func (o *APIError) IsRedirect() bool { + return o.Code/100 == 3 +} + +// IsClientError returns true when this elapse o k response returns a 4xx status code +func (o *APIError) IsClientError() bool { + return o.Code/100 == 4 +} + +// IsServerError returns true when this elapse o k response returns a 5xx status code +func (o *APIError) IsServerError() bool { + return o.Code/100 == 5 +} + +// IsCode returns true when this elapse o k response returns a 4xx status code +func (o *APIError) IsCode(code int) bool { + return o.Code == code +} + +// A ClientResponseStatus is a common interface implemented by all responses on the generated code +// You can use this to treat any client response based on status code +type ClientResponseStatus interface { + IsSuccess() bool + IsRedirect() bool + IsClientError() bool + IsServerError() bool + IsCode(int) bool +} diff --git a/vendor/github.com/go-openapi/runtime/constants.go b/vendor/github.com/go-openapi/runtime/constants.go new file mode 100644 index 000000000..515969242 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/constants.go @@ -0,0 +1,49 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +const ( + // HeaderContentType represents a http content-type header, it's value is supposed to be a mime type + HeaderContentType = "Content-Type" + + // HeaderTransferEncoding represents a http transfer-encoding header. + HeaderTransferEncoding = "Transfer-Encoding" + + // HeaderAccept the Accept header + HeaderAccept = "Accept" + // HeaderAuthorization the Authorization header + HeaderAuthorization = "Authorization" + + charsetKey = "charset" + + // DefaultMime the default fallback mime type + DefaultMime = "application/octet-stream" + // JSONMime the json mime type + JSONMime = "application/json" + // YAMLMime the yaml mime type + YAMLMime = "application/x-yaml" + // XMLMime the xml mime type + XMLMime = "application/xml" + // TextMime the text mime type + TextMime = "text/plain" + // HTMLMime the html mime type + HTMLMime = "text/html" + // CSVMime the csv mime type + CSVMime = "text/csv" + // MultipartFormMime the multipart form mime type + MultipartFormMime = "multipart/form-data" + // URLencodedFormMime the url encoded form mime type + URLencodedFormMime = "application/x-www-form-urlencoded" +) diff --git a/vendor/github.com/go-openapi/runtime/csv.go b/vendor/github.com/go-openapi/runtime/csv.go new file mode 100644 index 000000000..c9597bcd6 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/csv.go @@ -0,0 +1,350 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "bytes" + "context" + "encoding" + "encoding/csv" + "errors" + "fmt" + "io" + "reflect" + + "golang.org/x/sync/errgroup" +) + +// CSVConsumer creates a new CSV consumer. +// +// The consumer consumes CSV records from a provided reader into the data passed by reference. +// +// CSVOpts options may be specified to alter the default CSV behavior on the reader and the writer side (e.g. separator, skip header, ...). +// The defaults are those of the standard library's csv.Reader and csv.Writer. +// +// Supported output underlying types and interfaces, prioritized in this order: +// - *csv.Writer +// - CSVWriter (writer options are ignored) +// - io.Writer (as raw bytes) +// - io.ReaderFrom (as raw bytes) +// - encoding.BinaryUnmarshaler (as raw bytes) +// - *[][]string (as a collection of records) +// - *[]byte (as raw bytes) +// - *string (a raw bytes) +// +// The consumer prioritizes situations where buffering the input is not required. +func CSVConsumer(opts ...CSVOpt) Consumer { + o := csvOptsWithDefaults(opts) + + return ConsumerFunc(func(reader io.Reader, data interface{}) error { + if reader == nil { + return errors.New("CSVConsumer requires a reader") + } + if data == nil { + return errors.New("nil destination for CSVConsumer") + } + + csvReader := csv.NewReader(reader) + o.applyToReader(csvReader) + closer := defaultCloser + if o.closeStream { + if cl, isReaderCloser := reader.(io.Closer); isReaderCloser { + closer = cl.Close + } + } + defer func() { + _ = closer() + }() + + switch destination := data.(type) { + case *csv.Writer: + csvWriter := destination + o.applyToWriter(csvWriter) + + return pipeCSV(csvWriter, csvReader, o) + + case CSVWriter: + csvWriter := destination + // no writer options available + + return pipeCSV(csvWriter, csvReader, o) + + case io.Writer: + csvWriter := csv.NewWriter(destination) + o.applyToWriter(csvWriter) + + return pipeCSV(csvWriter, csvReader, o) + + case io.ReaderFrom: + var buf bytes.Buffer + csvWriter := csv.NewWriter(&buf) + o.applyToWriter(csvWriter) + if err := bufferedCSV(csvWriter, csvReader, o); err != nil { + return err + } + _, err := destination.ReadFrom(&buf) + + return err + + case encoding.BinaryUnmarshaler: + var buf bytes.Buffer + csvWriter := csv.NewWriter(&buf) + o.applyToWriter(csvWriter) + if err := bufferedCSV(csvWriter, csvReader, o); err != nil { + return err + } + + return destination.UnmarshalBinary(buf.Bytes()) + + default: + // support *[][]string, *[]byte, *string + if ptr := reflect.TypeOf(data); ptr.Kind() != reflect.Ptr { + return errors.New("destination must be a pointer") + } + + v := reflect.Indirect(reflect.ValueOf(data)) + t := v.Type() + + switch { + case t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Slice && t.Elem().Elem().Kind() == reflect.String: + csvWriter := &csvRecordsWriter{} + // writer options are ignored + if err := pipeCSV(csvWriter, csvReader, o); err != nil { + return err + } + + v.Grow(len(csvWriter.records)) + v.SetCap(len(csvWriter.records)) // in case Grow was unnessary, trim down the capacity + v.SetLen(len(csvWriter.records)) + reflect.Copy(v, reflect.ValueOf(csvWriter.records)) + + return nil + + case t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8: + var buf bytes.Buffer + csvWriter := csv.NewWriter(&buf) + o.applyToWriter(csvWriter) + if err := bufferedCSV(csvWriter, csvReader, o); err != nil { + return err + } + v.SetBytes(buf.Bytes()) + + return nil + + case t.Kind() == reflect.String: + var buf bytes.Buffer + csvWriter := csv.NewWriter(&buf) + o.applyToWriter(csvWriter) + if err := bufferedCSV(csvWriter, csvReader, o); err != nil { + return err + } + v.SetString(buf.String()) + + return nil + + default: + return fmt.Errorf("%v (%T) is not supported by the CSVConsumer, %s", + data, data, "can be resolved by supporting CSVWriter/Writer/BinaryUnmarshaler interface", + ) + } + } + }) +} + +// CSVProducer creates a new CSV producer. +// +// The producer takes input data then writes as CSV to an output writer (essentially as a pipe). +// +// Supported input underlying types and interfaces, prioritized in this order: +// - *csv.Reader +// - CSVReader (reader options are ignored) +// - io.Reader +// - io.WriterTo +// - encoding.BinaryMarshaler +// - [][]string +// - []byte +// - string +// +// The producer prioritizes situations where buffering the input is not required. +func CSVProducer(opts ...CSVOpt) Producer { + o := csvOptsWithDefaults(opts) + + return ProducerFunc(func(writer io.Writer, data interface{}) error { + if writer == nil { + return errors.New("CSVProducer requires a writer") + } + if data == nil { + return errors.New("nil data for CSVProducer") + } + + csvWriter := csv.NewWriter(writer) + o.applyToWriter(csvWriter) + closer := defaultCloser + if o.closeStream { + if cl, isWriterCloser := writer.(io.Closer); isWriterCloser { + closer = cl.Close + } + } + defer func() { + _ = closer() + }() + + if rc, isDataCloser := data.(io.ReadCloser); isDataCloser { + defer rc.Close() + } + + switch origin := data.(type) { + case *csv.Reader: + csvReader := origin + o.applyToReader(csvReader) + + return pipeCSV(csvWriter, csvReader, o) + + case CSVReader: + csvReader := origin + // no reader options available + + return pipeCSV(csvWriter, csvReader, o) + + case io.Reader: + csvReader := csv.NewReader(origin) + o.applyToReader(csvReader) + + return pipeCSV(csvWriter, csvReader, o) + + case io.WriterTo: + // async piping of the writes performed by WriteTo + r, w := io.Pipe() + csvReader := csv.NewReader(r) + o.applyToReader(csvReader) + + pipe, _ := errgroup.WithContext(context.Background()) + pipe.Go(func() error { + _, err := origin.WriteTo(w) + _ = w.Close() + return err + }) + + pipe.Go(func() error { + defer func() { + _ = r.Close() + }() + + return pipeCSV(csvWriter, csvReader, o) + }) + + return pipe.Wait() + + case encoding.BinaryMarshaler: + buf, err := origin.MarshalBinary() + if err != nil { + return err + } + rdr := bytes.NewBuffer(buf) + csvReader := csv.NewReader(rdr) + + return bufferedCSV(csvWriter, csvReader, o) + + default: + // support [][]string, []byte, string (or pointers to those) + v := reflect.Indirect(reflect.ValueOf(data)) + t := v.Type() + + switch { + case t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Slice && t.Elem().Elem().Kind() == reflect.String: + csvReader := &csvRecordsWriter{ + records: make([][]string, v.Len()), + } + reflect.Copy(reflect.ValueOf(csvReader.records), v) + + return pipeCSV(csvWriter, csvReader, o) + + case t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8: + buf := bytes.NewBuffer(v.Bytes()) + csvReader := csv.NewReader(buf) + o.applyToReader(csvReader) + + return bufferedCSV(csvWriter, csvReader, o) + + case t.Kind() == reflect.String: + buf := bytes.NewBufferString(v.String()) + csvReader := csv.NewReader(buf) + o.applyToReader(csvReader) + + return bufferedCSV(csvWriter, csvReader, o) + + default: + return fmt.Errorf("%v (%T) is not supported by the CSVProducer, %s", + data, data, "can be resolved by supporting CSVReader/Reader/BinaryMarshaler interface", + ) + } + } + }) +} + +// pipeCSV copies CSV records from a CSV reader to a CSV writer +func pipeCSV(csvWriter CSVWriter, csvReader CSVReader, opts csvOpts) error { + for ; opts.skippedLines > 0; opts.skippedLines-- { + _, err := csvReader.Read() + if err != nil { + if errors.Is(err, io.EOF) { + return nil + } + + return err + } + } + + for { + record, err := csvReader.Read() + if err != nil { + if errors.Is(err, io.EOF) { + break + } + + return err + } + + if err := csvWriter.Write(record); err != nil { + return err + } + } + + csvWriter.Flush() + + return csvWriter.Error() +} + +// bufferedCSV copies CSV records from a CSV reader to a CSV writer, +// by first reading all records then writing them at once. +func bufferedCSV(csvWriter *csv.Writer, csvReader *csv.Reader, opts csvOpts) error { + for ; opts.skippedLines > 0; opts.skippedLines-- { + _, err := csvReader.Read() + if err != nil { + if errors.Is(err, io.EOF) { + return nil + } + + return err + } + } + + records, err := csvReader.ReadAll() + if err != nil { + return err + } + + return csvWriter.WriteAll(records) +} diff --git a/vendor/github.com/go-openapi/runtime/csv_options.go b/vendor/github.com/go-openapi/runtime/csv_options.go new file mode 100644 index 000000000..c16464c57 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/csv_options.go @@ -0,0 +1,121 @@ +package runtime + +import ( + "encoding/csv" + "io" +) + +// CSVOpts alter the behavior of the CSV consumer or producer. +type CSVOpt func(*csvOpts) + +type csvOpts struct { + csvReader csv.Reader + csvWriter csv.Writer + skippedLines int + closeStream bool +} + +// WithCSVReaderOpts specifies the options to csv.Reader +// when reading CSV. +func WithCSVReaderOpts(reader csv.Reader) CSVOpt { + return func(o *csvOpts) { + o.csvReader = reader + } +} + +// WithCSVWriterOpts specifies the options to csv.Writer +// when writing CSV. +func WithCSVWriterOpts(writer csv.Writer) CSVOpt { + return func(o *csvOpts) { + o.csvWriter = writer + } +} + +// WithCSVSkipLines will skip header lines. +func WithCSVSkipLines(skipped int) CSVOpt { + return func(o *csvOpts) { + o.skippedLines = skipped + } +} + +func WithCSVClosesStream() CSVOpt { + return func(o *csvOpts) { + o.closeStream = true + } +} + +func (o csvOpts) applyToReader(in *csv.Reader) { + if o.csvReader.Comma != 0 { + in.Comma = o.csvReader.Comma + } + if o.csvReader.Comment != 0 { + in.Comment = o.csvReader.Comment + } + if o.csvReader.FieldsPerRecord != 0 { + in.FieldsPerRecord = o.csvReader.FieldsPerRecord + } + + in.LazyQuotes = o.csvReader.LazyQuotes + in.TrimLeadingSpace = o.csvReader.TrimLeadingSpace + in.ReuseRecord = o.csvReader.ReuseRecord +} + +func (o csvOpts) applyToWriter(in *csv.Writer) { + if o.csvWriter.Comma != 0 { + in.Comma = o.csvWriter.Comma + } + in.UseCRLF = o.csvWriter.UseCRLF +} + +func csvOptsWithDefaults(opts []CSVOpt) csvOpts { + var o csvOpts + for _, apply := range opts { + apply(&o) + } + + return o +} + +type CSVWriter interface { + Write([]string) error + Flush() + Error() error +} + +type CSVReader interface { + Read() ([]string, error) +} + +var ( + _ CSVWriter = &csvRecordsWriter{} + _ CSVReader = &csvRecordsWriter{} +) + +// csvRecordsWriter is an internal container to move CSV records back and forth +type csvRecordsWriter struct { + i int + records [][]string +} + +func (w *csvRecordsWriter) Write(record []string) error { + w.records = append(w.records, record) + + return nil +} + +func (w *csvRecordsWriter) Read() ([]string, error) { + if w.i >= len(w.records) { + return nil, io.EOF + } + defer func() { + w.i++ + }() + + return w.records[w.i], nil +} + +func (w *csvRecordsWriter) Flush() {} + +func (w *csvRecordsWriter) Error() error { + return nil +} diff --git a/vendor/github.com/go-openapi/runtime/discard.go b/vendor/github.com/go-openapi/runtime/discard.go new file mode 100644 index 000000000..0d390cfd6 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/discard.go @@ -0,0 +1,9 @@ +package runtime + +import "io" + +// DiscardConsumer does absolutely nothing, it's a black hole. +var DiscardConsumer = ConsumerFunc(func(_ io.Reader, _ interface{}) error { return nil }) + +// DiscardProducer does absolutely nothing, it's a black hole. +var DiscardProducer = ProducerFunc(func(_ io.Writer, _ interface{}) error { return nil }) diff --git a/vendor/github.com/go-openapi/runtime/file.go b/vendor/github.com/go-openapi/runtime/file.go new file mode 100644 index 000000000..397d8a459 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/file.go @@ -0,0 +1,19 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import "github.com/go-openapi/swag" + +type File = swag.File diff --git a/vendor/github.com/go-openapi/runtime/headers.go b/vendor/github.com/go-openapi/runtime/headers.go new file mode 100644 index 000000000..4d111db4f --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/headers.go @@ -0,0 +1,45 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "mime" + "net/http" + + "github.com/go-openapi/errors" +) + +// ContentType parses a content type header +func ContentType(headers http.Header) (string, string, error) { + ct := headers.Get(HeaderContentType) + orig := ct + if ct == "" { + ct = DefaultMime + } + if ct == "" { + return "", "", nil + } + + mt, opts, err := mime.ParseMediaType(ct) + if err != nil { + return "", "", errors.NewParseError(HeaderContentType, "header", orig, err) + } + + if cs, ok := opts[charsetKey]; ok { + return mt, cs, nil + } + + return mt, "", nil +} diff --git a/vendor/github.com/go-openapi/runtime/interfaces.go b/vendor/github.com/go-openapi/runtime/interfaces.go new file mode 100644 index 000000000..e33412868 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/interfaces.go @@ -0,0 +1,112 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "context" + "io" + "net/http" + + "github.com/go-openapi/strfmt" +) + +// OperationHandlerFunc an adapter for a function to the OperationHandler interface +type OperationHandlerFunc func(interface{}) (interface{}, error) + +// Handle implements the operation handler interface +func (s OperationHandlerFunc) Handle(data interface{}) (interface{}, error) { + return s(data) +} + +// OperationHandler a handler for a swagger operation +type OperationHandler interface { + Handle(interface{}) (interface{}, error) +} + +// ConsumerFunc represents a function that can be used as a consumer +type ConsumerFunc func(io.Reader, interface{}) error + +// Consume consumes the reader into the data parameter +func (fn ConsumerFunc) Consume(reader io.Reader, data interface{}) error { + return fn(reader, data) +} + +// Consumer implementations know how to bind the values on the provided interface to +// data provided by the request body +type Consumer interface { + // Consume performs the binding of request values + Consume(io.Reader, interface{}) error +} + +// ProducerFunc represents a function that can be used as a producer +type ProducerFunc func(io.Writer, interface{}) error + +// Produce produces the response for the provided data +func (f ProducerFunc) Produce(writer io.Writer, data interface{}) error { + return f(writer, data) +} + +// Producer implementations know how to turn the provided interface into a valid +// HTTP response +type Producer interface { + // Produce writes to the http response + Produce(io.Writer, interface{}) error +} + +// AuthenticatorFunc turns a function into an authenticator +type AuthenticatorFunc func(interface{}) (bool, interface{}, error) + +// Authenticate authenticates the request with the provided data +func (f AuthenticatorFunc) Authenticate(params interface{}) (bool, interface{}, error) { + return f(params) +} + +// Authenticator represents an authentication strategy +// implementations of Authenticator know how to authenticate the +// request data and translate that into a valid principal object or an error +type Authenticator interface { + Authenticate(interface{}) (bool, interface{}, error) +} + +// AuthorizerFunc turns a function into an authorizer +type AuthorizerFunc func(*http.Request, interface{}) error + +// Authorize authorizes the processing of the request for the principal +func (f AuthorizerFunc) Authorize(r *http.Request, principal interface{}) error { + return f(r, principal) +} + +// Authorizer represents an authorization strategy +// implementations of Authorizer know how to authorize the principal object +// using the request data and returns error if unauthorized +type Authorizer interface { + Authorize(*http.Request, interface{}) error +} + +// Validatable types implementing this interface allow customizing their validation +// this will be used instead of the reflective validation based on the spec document. +// the implementations are assumed to have been generated by the swagger tool so they should +// contain all the validations obtained from the spec +type Validatable interface { + Validate(strfmt.Registry) error +} + +// ContextValidatable types implementing this interface allow customizing their validation +// this will be used instead of the reflective validation based on the spec document. +// the implementations are assumed to have been generated by the swagger tool so they should +// contain all the context validations obtained from the spec +type ContextValidatable interface { + ContextValidate(context.Context, strfmt.Registry) error +} diff --git a/vendor/github.com/go-openapi/runtime/json.go b/vendor/github.com/go-openapi/runtime/json.go new file mode 100644 index 000000000..5a690559c --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/json.go @@ -0,0 +1,38 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "encoding/json" + "io" +) + +// JSONConsumer creates a new JSON consumer +func JSONConsumer() Consumer { + return ConsumerFunc(func(reader io.Reader, data interface{}) error { + dec := json.NewDecoder(reader) + dec.UseNumber() // preserve number formats + return dec.Decode(data) + }) +} + +// JSONProducer creates a new JSON producer +func JSONProducer() Producer { + return ProducerFunc(func(writer io.Writer, data interface{}) error { + enc := json.NewEncoder(writer) + enc.SetEscapeHTML(false) + return enc.Encode(data) + }) +} diff --git a/vendor/github.com/go-openapi/runtime/logger/logger.go b/vendor/github.com/go-openapi/runtime/logger/logger.go new file mode 100644 index 000000000..6f4debcc1 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/logger/logger.go @@ -0,0 +1,20 @@ +package logger + +import "os" + +type Logger interface { + Printf(format string, args ...interface{}) + Debugf(format string, args ...interface{}) +} + +func DebugEnabled() bool { + d := os.Getenv("SWAGGER_DEBUG") + if d != "" && d != "false" && d != "0" { + return true + } + d = os.Getenv("DEBUG") + if d != "" && d != "false" && d != "0" { + return true + } + return false +} diff --git a/vendor/github.com/go-openapi/runtime/logger/standard.go b/vendor/github.com/go-openapi/runtime/logger/standard.go new file mode 100644 index 000000000..30035a777 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/logger/standard.go @@ -0,0 +1,24 @@ +package logger + +import ( + "fmt" + "os" +) + +var _ Logger = StandardLogger{} + +type StandardLogger struct{} + +func (StandardLogger) Printf(format string, args ...interface{}) { + if len(format) == 0 || format[len(format)-1] != '\n' { + format += "\n" + } + fmt.Fprintf(os.Stderr, format, args...) +} + +func (StandardLogger) Debugf(format string, args ...interface{}) { + if len(format) == 0 || format[len(format)-1] != '\n' { + format += "\n" + } + fmt.Fprintf(os.Stderr, format, args...) +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/context.go b/vendor/github.com/go-openapi/runtime/middleware/context.go new file mode 100644 index 000000000..44cecf118 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/context.go @@ -0,0 +1,722 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import ( + stdContext "context" + "fmt" + "net/http" + "net/url" + "path" + "strings" + "sync" + + "github.com/go-openapi/analysis" + "github.com/go-openapi/errors" + "github.com/go-openapi/loads" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/logger" + "github.com/go-openapi/runtime/middleware/untyped" + "github.com/go-openapi/runtime/security" +) + +// Debug when true turns on verbose logging +var Debug = logger.DebugEnabled() + +// Logger is the standard libray logger used for printing debug messages +var Logger logger.Logger = logger.StandardLogger{} + +func debugLogfFunc(lg logger.Logger) func(string, ...any) { + if logger.DebugEnabled() { + if lg == nil { + return Logger.Debugf + } + + return lg.Debugf + } + + // muted logger + return func(_ string, _ ...any) {} +} + +// A Builder can create middlewares +type Builder func(http.Handler) http.Handler + +// PassthroughBuilder returns the handler, aka the builder identity function +func PassthroughBuilder(handler http.Handler) http.Handler { return handler } + +// RequestBinder is an interface for types to implement +// when they want to be able to bind from a request +type RequestBinder interface { + BindRequest(*http.Request, *MatchedRoute) error +} + +// Responder is an interface for types to implement +// when they want to be considered for writing HTTP responses +type Responder interface { + WriteResponse(http.ResponseWriter, runtime.Producer) +} + +// ResponderFunc wraps a func as a Responder interface +type ResponderFunc func(http.ResponseWriter, runtime.Producer) + +// WriteResponse writes to the response +func (fn ResponderFunc) WriteResponse(rw http.ResponseWriter, pr runtime.Producer) { + fn(rw, pr) +} + +// Context is a type safe wrapper around an untyped request context +// used throughout to store request context with the standard context attached +// to the http.Request +type Context struct { + spec *loads.Document + analyzer *analysis.Spec + api RoutableAPI + router Router + debugLogf func(string, ...any) // a logging function to debug context and all components using it +} + +type routableUntypedAPI struct { + api *untyped.API + hlock *sync.Mutex + handlers map[string]map[string]http.Handler + defaultConsumes string + defaultProduces string +} + +func newRoutableUntypedAPI(spec *loads.Document, api *untyped.API, context *Context) *routableUntypedAPI { + var handlers map[string]map[string]http.Handler + if spec == nil || api == nil { + return nil + } + analyzer := analysis.New(spec.Spec()) + for method, hls := range analyzer.Operations() { + um := strings.ToUpper(method) + for path, op := range hls { + schemes := analyzer.SecurityRequirementsFor(op) + + if oh, ok := api.OperationHandlerFor(method, path); ok { + if handlers == nil { + handlers = make(map[string]map[string]http.Handler) + } + if b, ok := handlers[um]; !ok || b == nil { + handlers[um] = make(map[string]http.Handler) + } + + var handler http.Handler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // lookup route info in the context + route, rCtx, _ := context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + + // bind and validate the request using reflection + var bound interface{} + var validation error + bound, r, validation = context.BindAndValidate(r, route) + if validation != nil { + context.Respond(w, r, route.Produces, route, validation) + return + } + + // actually handle the request + result, err := oh.Handle(bound) + if err != nil { + // respond with failure + context.Respond(w, r, route.Produces, route, err) + return + } + + // respond with success + context.Respond(w, r, route.Produces, route, result) + }) + + if len(schemes) > 0 { + handler = newSecureAPI(context, handler) + } + handlers[um][path] = handler + } + } + } + + return &routableUntypedAPI{ + api: api, + hlock: new(sync.Mutex), + handlers: handlers, + defaultProduces: api.DefaultProduces, + defaultConsumes: api.DefaultConsumes, + } +} + +func (r *routableUntypedAPI) HandlerFor(method, path string) (http.Handler, bool) { + r.hlock.Lock() + paths, ok := r.handlers[strings.ToUpper(method)] + if !ok { + r.hlock.Unlock() + return nil, false + } + handler, ok := paths[path] + r.hlock.Unlock() + return handler, ok +} +func (r *routableUntypedAPI) ServeErrorFor(_ string) func(http.ResponseWriter, *http.Request, error) { + return r.api.ServeError +} +func (r *routableUntypedAPI) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer { + return r.api.ConsumersFor(mediaTypes) +} +func (r *routableUntypedAPI) ProducersFor(mediaTypes []string) map[string]runtime.Producer { + return r.api.ProducersFor(mediaTypes) +} +func (r *routableUntypedAPI) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator { + return r.api.AuthenticatorsFor(schemes) +} +func (r *routableUntypedAPI) Authorizer() runtime.Authorizer { + return r.api.Authorizer() +} +func (r *routableUntypedAPI) Formats() strfmt.Registry { + return r.api.Formats() +} + +func (r *routableUntypedAPI) DefaultProduces() string { + return r.defaultProduces +} + +func (r *routableUntypedAPI) DefaultConsumes() string { + return r.defaultConsumes +} + +// NewRoutableContext creates a new context for a routable API. +// +// If a nil Router is provided, the DefaultRouter (denco-based) will be used. +func NewRoutableContext(spec *loads.Document, routableAPI RoutableAPI, routes Router) *Context { + var an *analysis.Spec + if spec != nil { + an = analysis.New(spec.Spec()) + } + + return NewRoutableContextWithAnalyzedSpec(spec, an, routableAPI, routes) +} + +// NewRoutableContextWithAnalyzedSpec is like NewRoutableContext but takes as input an already analysed spec. +// +// If a nil Router is provided, the DefaultRouter (denco-based) will be used. +func NewRoutableContextWithAnalyzedSpec(spec *loads.Document, an *analysis.Spec, routableAPI RoutableAPI, routes Router) *Context { + // Either there are no spec doc and analysis, or both of them. + if !((spec == nil && an == nil) || (spec != nil && an != nil)) { + panic(errors.New(http.StatusInternalServerError, "routable context requires either both spec doc and analysis, or none of them")) + } + + return &Context{ + spec: spec, + api: routableAPI, + analyzer: an, + router: routes, + debugLogf: debugLogfFunc(nil), + } +} + +// NewContext creates a new context wrapper. +// +// If a nil Router is provided, the DefaultRouter (denco-based) will be used. +func NewContext(spec *loads.Document, api *untyped.API, routes Router) *Context { + var an *analysis.Spec + if spec != nil { + an = analysis.New(spec.Spec()) + } + ctx := &Context{ + spec: spec, + analyzer: an, + router: routes, + debugLogf: debugLogfFunc(nil), + } + ctx.api = newRoutableUntypedAPI(spec, api, ctx) + + return ctx +} + +// Serve serves the specified spec with the specified api registrations as a http.Handler +func Serve(spec *loads.Document, api *untyped.API) http.Handler { + return ServeWithBuilder(spec, api, PassthroughBuilder) +} + +// ServeWithBuilder serves the specified spec with the specified api registrations as a http.Handler that is decorated +// by the Builder +func ServeWithBuilder(spec *loads.Document, api *untyped.API, builder Builder) http.Handler { + context := NewContext(spec, api, nil) + return context.APIHandler(builder) +} + +type contextKey int8 + +const ( + _ contextKey = iota + ctxContentType + ctxResponseFormat + ctxMatchedRoute + ctxBoundParams + ctxSecurityPrincipal + ctxSecurityScopes +) + +// MatchedRouteFrom request context value. +func MatchedRouteFrom(req *http.Request) *MatchedRoute { + mr := req.Context().Value(ctxMatchedRoute) + if mr == nil { + return nil + } + if res, ok := mr.(*MatchedRoute); ok { + return res + } + return nil +} + +// SecurityPrincipalFrom request context value. +func SecurityPrincipalFrom(req *http.Request) interface{} { + return req.Context().Value(ctxSecurityPrincipal) +} + +// SecurityScopesFrom request context value. +func SecurityScopesFrom(req *http.Request) []string { + rs := req.Context().Value(ctxSecurityScopes) + if res, ok := rs.([]string); ok { + return res + } + return nil +} + +type contentTypeValue struct { + MediaType string + Charset string +} + +// BasePath returns the base path for this API +func (c *Context) BasePath() string { + return c.spec.BasePath() +} + +// SetLogger allows for injecting a logger to catch debug entries. +// +// The logger is enabled in DEBUG mode only. +func (c *Context) SetLogger(lg logger.Logger) { + c.debugLogf = debugLogfFunc(lg) +} + +// RequiredProduces returns the accepted content types for responses +func (c *Context) RequiredProduces() []string { + return c.analyzer.RequiredProduces() +} + +// BindValidRequest binds a params object to a request but only when the request is valid +// if the request is not valid an error will be returned +func (c *Context) BindValidRequest(request *http.Request, route *MatchedRoute, binder RequestBinder) error { + var res []error + var requestContentType string + + // check and validate content type, select consumer + if runtime.HasBody(request) { + ct, _, err := runtime.ContentType(request.Header) + if err != nil { + res = append(res, err) + } else { + c.debugLogf("validating content type for %q against [%s]", ct, strings.Join(route.Consumes, ", ")) + if err := validateContentType(route.Consumes, ct); err != nil { + res = append(res, err) + } + if len(res) == 0 { + cons, ok := route.Consumers[ct] + if !ok { + res = append(res, errors.New(500, "no consumer registered for %s", ct)) + } else { + route.Consumer = cons + requestContentType = ct + } + } + } + } + + // check and validate the response format + if len(res) == 0 { + // if the route does not provide Produces and a default contentType could not be identified + // based on a body, typical for GET and DELETE requests, then default contentType to. + if len(route.Produces) == 0 && requestContentType == "" { + requestContentType = "*/*" + } + + if str := NegotiateContentType(request, route.Produces, requestContentType); str == "" { + res = append(res, errors.InvalidResponseFormat(request.Header.Get(runtime.HeaderAccept), route.Produces)) + } + } + + // now bind the request with the provided binder + // it's assumed the binder will also validate the request and return an error if the + // request is invalid + if binder != nil && len(res) == 0 { + if err := binder.BindRequest(request, route); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContentType gets the parsed value of a content type +// Returns the media type, its charset and a shallow copy of the request +// when its context doesn't contain the content type value, otherwise it returns +// the same request +// Returns the error that runtime.ContentType may retunrs. +func (c *Context) ContentType(request *http.Request) (string, string, *http.Request, error) { + var rCtx = request.Context() + + if v, ok := rCtx.Value(ctxContentType).(*contentTypeValue); ok { + return v.MediaType, v.Charset, request, nil + } + + mt, cs, err := runtime.ContentType(request.Header) + if err != nil { + return "", "", nil, err + } + rCtx = stdContext.WithValue(rCtx, ctxContentType, &contentTypeValue{mt, cs}) + return mt, cs, request.WithContext(rCtx), nil +} + +// LookupRoute looks a route up and returns true when it is found +func (c *Context) LookupRoute(request *http.Request) (*MatchedRoute, bool) { + if route, ok := c.router.Lookup(request.Method, request.URL.EscapedPath()); ok { + return route, ok + } + return nil, false +} + +// RouteInfo tries to match a route for this request +// Returns the matched route, a shallow copy of the request if its context +// contains the matched router, otherwise the same request, and a bool to +// indicate if it the request matches one of the routes, if it doesn't +// then it returns false and nil for the other two return values +func (c *Context) RouteInfo(request *http.Request) (*MatchedRoute, *http.Request, bool) { + var rCtx = request.Context() + + if v, ok := rCtx.Value(ctxMatchedRoute).(*MatchedRoute); ok { + return v, request, ok + } + + if route, ok := c.LookupRoute(request); ok { + rCtx = stdContext.WithValue(rCtx, ctxMatchedRoute, route) + return route, request.WithContext(rCtx), ok + } + + return nil, nil, false +} + +// ResponseFormat negotiates the response content type +// Returns the response format and a shallow copy of the request if its context +// doesn't contain the response format, otherwise the same request +func (c *Context) ResponseFormat(r *http.Request, offers []string) (string, *http.Request) { + var rCtx = r.Context() + + if v, ok := rCtx.Value(ctxResponseFormat).(string); ok { + c.debugLogf("[%s %s] found response format %q in context", r.Method, r.URL.Path, v) + return v, r + } + + format := NegotiateContentType(r, offers, "") + if format != "" { + c.debugLogf("[%s %s] set response format %q in context", r.Method, r.URL.Path, format) + r = r.WithContext(stdContext.WithValue(rCtx, ctxResponseFormat, format)) + } + c.debugLogf("[%s %s] negotiated response format %q", r.Method, r.URL.Path, format) + return format, r +} + +// AllowedMethods gets the allowed methods for the path of this request +func (c *Context) AllowedMethods(request *http.Request) []string { + return c.router.OtherMethods(request.Method, request.URL.EscapedPath()) +} + +// ResetAuth removes the current principal from the request context +func (c *Context) ResetAuth(request *http.Request) *http.Request { + rctx := request.Context() + rctx = stdContext.WithValue(rctx, ctxSecurityPrincipal, nil) + rctx = stdContext.WithValue(rctx, ctxSecurityScopes, nil) + return request.WithContext(rctx) +} + +// Authorize authorizes the request +// Returns the principal object and a shallow copy of the request when its +// context doesn't contain the principal, otherwise the same request or an error +// (the last) if one of the authenticators returns one or an Unauthenticated error +func (c *Context) Authorize(request *http.Request, route *MatchedRoute) (interface{}, *http.Request, error) { + if route == nil || !route.HasAuth() { + return nil, nil, nil + } + + var rCtx = request.Context() + if v := rCtx.Value(ctxSecurityPrincipal); v != nil { + return v, request, nil + } + + applies, usr, err := route.Authenticators.Authenticate(request, route) + if !applies || err != nil || !route.Authenticators.AllowsAnonymous() && usr == nil { + if err != nil { + return nil, nil, err + } + return nil, nil, errors.Unauthenticated("invalid credentials") + } + if route.Authorizer != nil { + if err := route.Authorizer.Authorize(request, usr); err != nil { + if _, ok := err.(errors.Error); ok { + return nil, nil, err + } + + return nil, nil, errors.New(http.StatusForbidden, err.Error()) + } + } + + rCtx = request.Context() + + rCtx = stdContext.WithValue(rCtx, ctxSecurityPrincipal, usr) + rCtx = stdContext.WithValue(rCtx, ctxSecurityScopes, route.Authenticator.AllScopes()) + return usr, request.WithContext(rCtx), nil +} + +// BindAndValidate binds and validates the request +// Returns the validation map and a shallow copy of the request when its context +// doesn't contain the validation, otherwise it returns the same request or an +// CompositeValidationError error +func (c *Context) BindAndValidate(request *http.Request, matched *MatchedRoute) (interface{}, *http.Request, error) { + var rCtx = request.Context() + + if v, ok := rCtx.Value(ctxBoundParams).(*validation); ok { + c.debugLogf("got cached validation (valid: %t)", len(v.result) == 0) + if len(v.result) > 0 { + return v.bound, request, errors.CompositeValidationError(v.result...) + } + return v.bound, request, nil + } + result := validateRequest(c, request, matched) + rCtx = stdContext.WithValue(rCtx, ctxBoundParams, result) + request = request.WithContext(rCtx) + if len(result.result) > 0 { + return result.bound, request, errors.CompositeValidationError(result.result...) + } + c.debugLogf("no validation errors found") + return result.bound, request, nil +} + +// NotFound the default not found responder for when no route has been matched yet +func (c *Context) NotFound(rw http.ResponseWriter, r *http.Request) { + c.Respond(rw, r, []string{c.api.DefaultProduces()}, nil, errors.NotFound("not found")) +} + +// Respond renders the response after doing some content negotiation +func (c *Context) Respond(rw http.ResponseWriter, r *http.Request, produces []string, route *MatchedRoute, data interface{}) { + c.debugLogf("responding to %s %s with produces: %v", r.Method, r.URL.Path, produces) + offers := []string{} + for _, mt := range produces { + if mt != c.api.DefaultProduces() { + offers = append(offers, mt) + } + } + // the default producer is last so more specific producers take precedence + offers = append(offers, c.api.DefaultProduces()) + c.debugLogf("offers: %v", offers) + + var format string + format, r = c.ResponseFormat(r, offers) + rw.Header().Set(runtime.HeaderContentType, format) + + if resp, ok := data.(Responder); ok { + producers := route.Producers + // producers contains keys with normalized format, if a format has MIME type parameter such as `text/plain; charset=utf-8` + // then you must provide `text/plain` to get the correct producer. HOWEVER, format here is not normalized. + prod, ok := producers[normalizeOffer(format)] + if !ok { + prods := c.api.ProducersFor(normalizeOffers([]string{c.api.DefaultProduces()})) + pr, ok := prods[c.api.DefaultProduces()] + if !ok { + panic(errors.New(http.StatusInternalServerError, cantFindProducer(format))) + } + prod = pr + } + resp.WriteResponse(rw, prod) + return + } + + if err, ok := data.(error); ok { + if format == "" { + rw.Header().Set(runtime.HeaderContentType, runtime.JSONMime) + } + + if realm := security.FailedBasicAuth(r); realm != "" { + rw.Header().Set("WWW-Authenticate", fmt.Sprintf("Basic realm=%q", realm)) + } + + if route == nil || route.Operation == nil { + c.api.ServeErrorFor("")(rw, r, err) + return + } + c.api.ServeErrorFor(route.Operation.ID)(rw, r, err) + return + } + + if route == nil || route.Operation == nil { + rw.WriteHeader(http.StatusOK) + if r.Method == http.MethodHead { + return + } + producers := c.api.ProducersFor(normalizeOffers(offers)) + prod, ok := producers[format] + if !ok { + panic(errors.New(http.StatusInternalServerError, cantFindProducer(format))) + } + if err := prod.Produce(rw, data); err != nil { + panic(err) // let the recovery middleware deal with this + } + return + } + + if _, code, ok := route.Operation.SuccessResponse(); ok { + rw.WriteHeader(code) + if code == http.StatusNoContent || r.Method == http.MethodHead { + return + } + + producers := route.Producers + prod, ok := producers[format] + if !ok { + if !ok { + prods := c.api.ProducersFor(normalizeOffers([]string{c.api.DefaultProduces()})) + pr, ok := prods[c.api.DefaultProduces()] + if !ok { + panic(errors.New(http.StatusInternalServerError, cantFindProducer(format))) + } + prod = pr + } + } + if err := prod.Produce(rw, data); err != nil { + panic(err) // let the recovery middleware deal with this + } + return + } + + c.api.ServeErrorFor(route.Operation.ID)(rw, r, errors.New(http.StatusInternalServerError, "can't produce response")) +} + +// APIHandlerSwaggerUI returns a handler to serve the API. +// +// This handler includes a swagger spec, router and the contract defined in the swagger spec. +// +// A spec UI (SwaggerUI) is served at {API base path}/docs and the spec document at /swagger.json +// (these can be modified with uiOptions). +func (c *Context) APIHandlerSwaggerUI(builder Builder, opts ...UIOption) http.Handler { + b := builder + if b == nil { + b = PassthroughBuilder + } + + specPath, uiOpts, specOpts := c.uiOptionsForHandler(opts) + var swaggerUIOpts SwaggerUIOpts + fromCommonToAnyOptions(uiOpts, &swaggerUIOpts) + + return Spec(specPath, c.spec.Raw(), SwaggerUI(swaggerUIOpts, c.RoutesHandler(b)), specOpts...) +} + +// APIHandlerRapiDoc returns a handler to serve the API. +// +// This handler includes a swagger spec, router and the contract defined in the swagger spec. +// +// A spec UI (RapiDoc) is served at {API base path}/docs and the spec document at /swagger.json +// (these can be modified with uiOptions). +func (c *Context) APIHandlerRapiDoc(builder Builder, opts ...UIOption) http.Handler { + b := builder + if b == nil { + b = PassthroughBuilder + } + + specPath, uiOpts, specOpts := c.uiOptionsForHandler(opts) + var rapidocUIOpts RapiDocOpts + fromCommonToAnyOptions(uiOpts, &rapidocUIOpts) + + return Spec(specPath, c.spec.Raw(), RapiDoc(rapidocUIOpts, c.RoutesHandler(b)), specOpts...) +} + +// APIHandler returns a handler to serve the API. +// +// This handler includes a swagger spec, router and the contract defined in the swagger spec. +// +// A spec UI (Redoc) is served at {API base path}/docs and the spec document at /swagger.json +// (these can be modified with uiOptions). +func (c *Context) APIHandler(builder Builder, opts ...UIOption) http.Handler { + b := builder + if b == nil { + b = PassthroughBuilder + } + + specPath, uiOpts, specOpts := c.uiOptionsForHandler(opts) + var redocOpts RedocOpts + fromCommonToAnyOptions(uiOpts, &redocOpts) + + return Spec(specPath, c.spec.Raw(), Redoc(redocOpts, c.RoutesHandler(b)), specOpts...) +} + +func (c Context) uiOptionsForHandler(opts []UIOption) (string, uiOptions, []SpecOption) { + var title string + sp := c.spec.Spec() + if sp != nil && sp.Info != nil && sp.Info.Title != "" { + title = sp.Info.Title + } + + // default options (may be overridden) + optsForContext := []UIOption{ + WithUIBasePath(c.BasePath()), + WithUITitle(title), + } + optsForContext = append(optsForContext, opts...) + uiOpts := uiOptionsWithDefaults(optsForContext) + + // If spec URL is provided, there is a non-default path to serve the spec. + // This makes sure that the UI middleware is aligned with the Spec middleware. + u, _ := url.Parse(uiOpts.SpecURL) + var specPath string + if u != nil { + specPath = u.Path + } + + pth, doc := path.Split(specPath) + if pth == "." { + pth = "" + } + + return pth, uiOpts, []SpecOption{WithSpecDocument(doc)} +} + +// RoutesHandler returns a handler to serve the API, just the routes and the contract defined in the swagger spec +func (c *Context) RoutesHandler(builder Builder) http.Handler { + b := builder + if b == nil { + b = PassthroughBuilder + } + return NewRouter(c, b(NewOperationExecutor(c))) +} + +func cantFindProducer(format string) string { + return "can't find a producer for " + format +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/denco/LICENSE b/vendor/github.com/go-openapi/runtime/middleware/denco/LICENSE new file mode 100644 index 000000000..e65039ad8 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/denco/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Naoya Inada + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/go-openapi/runtime/middleware/denco/README.md b/vendor/github.com/go-openapi/runtime/middleware/denco/README.md new file mode 100644 index 000000000..30109e17d --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/denco/README.md @@ -0,0 +1,180 @@ +# Denco [![Build Status](https://travis-ci.org/naoina/denco.png?branch=master)](https://travis-ci.org/naoina/denco) + +The fast and flexible HTTP request router for [Go](http://golang.org). + +Denco is based on Double-Array implementation of [Kocha-urlrouter](https://github.com/naoina/kocha-urlrouter). +However, Denco is optimized and some features added. + +## Features + +* Fast (See [go-http-routing-benchmark](https://github.com/naoina/go-http-routing-benchmark)) +* [URL patterns](#url-patterns) (`/foo/:bar` and `/foo/*wildcard`) +* Small (but enough) URL router API +* HTTP request multiplexer like `http.ServeMux` + +## Installation + + go get -u github.com/go-openapi/runtime/middleware/denco + +## Using as HTTP request multiplexer + +```go +package main + +import ( + "fmt" + "log" + "net/http" + + "github.com/go-openapi/runtime/middleware/denco" +) + +func Index(w http.ResponseWriter, r *http.Request, params denco.Params) { + fmt.Fprintf(w, "Welcome to Denco!\n") +} + +func User(w http.ResponseWriter, r *http.Request, params denco.Params) { + fmt.Fprintf(w, "Hello %s!\n", params.Get("name")) +} + +func main() { + mux := denco.NewMux() + handler, err := mux.Build([]denco.Handler{ + mux.GET("/", Index), + mux.GET("/user/:name", User), + mux.POST("/user/:name", User), + }) + if err != nil { + panic(err) + } + log.Fatal(http.ListenAndServe(":8080", handler)) +} +``` + +## Using as URL router + +```go +package main + +import ( + "fmt" + + "github.com/go-openapi/runtime/middleware/denco" +) + +type route struct { + name string +} + +func main() { + router := denco.New() + router.Build([]denco.Record{ + {"/", &route{"root"}}, + {"/user/:id", &route{"user"}}, + {"/user/:name/:id", &route{"username"}}, + {"/static/*filepath", &route{"static"}}, + }) + + data, params, found := router.Lookup("/") + // print `&main.route{name:"root"}, denco.Params(nil), true`. + fmt.Printf("%#v, %#v, %#v\n", data, params, found) + + data, params, found = router.Lookup("/user/hoge") + // print `&main.route{name:"user"}, denco.Params{denco.Param{Name:"id", Value:"hoge"}}, true`. + fmt.Printf("%#v, %#v, %#v\n", data, params, found) + + data, params, found = router.Lookup("/user/hoge/7") + // print `&main.route{name:"username"}, denco.Params{denco.Param{Name:"name", Value:"hoge"}, denco.Param{Name:"id", Value:"7"}}, true`. + fmt.Printf("%#v, %#v, %#v\n", data, params, found) + + data, params, found = router.Lookup("/static/path/to/file") + // print `&main.route{name:"static"}, denco.Params{denco.Param{Name:"filepath", Value:"path/to/file"}}, true`. + fmt.Printf("%#v, %#v, %#v\n", data, params, found) +} +``` + +See [Godoc](http://godoc.org/github.com/go-openapi/runtime/middleware/denco) for more details. + +## Getting the value of path parameter + +You can get the value of path parameter by 2 ways. + +1. Using [`denco.Params.Get`](http://godoc.org/github.com/go-openapi/runtime/middleware/denco#Params.Get) method +2. Find by loop + +```go +package main + +import ( + "fmt" + + "github.com/go-openapi/runtime/middleware/denco" +) + +func main() { + router := denco.New() + if err := router.Build([]denco.Record{ + {"/user/:name/:id", "route1"}, + }); err != nil { + panic(err) + } + + // 1. Using denco.Params.Get method. + _, params, _ := router.Lookup("/user/alice/1") + name := params.Get("name") + if name != "" { + fmt.Printf("Hello %s.\n", name) // prints "Hello alice.". + } + + // 2. Find by loop. + for _, param := range params { + if param.Name == "name" { + fmt.Printf("Hello %s.\n", name) // prints "Hello alice.". + } + } +} +``` + +## URL patterns + +Denco's route matching strategy is "most nearly matching". + +When routes `/:name` and `/alice` have been built, URI `/alice` matches the route `/alice`, not `/:name`. +Because URI `/alice` is more match with the route `/alice` than `/:name`. + +For more example, when routes below have been built: + +``` +/user/alice +/user/:name +/user/:name/:id +/user/alice/:id +/user/:id/bob +``` + +Routes matching are: + +``` +/user/alice => "/user/alice" (no match with "/user/:name") +/user/bob => "/user/:name" +/user/naoina/1 => "/user/:name/1" +/user/alice/1 => "/user/alice/:id" (no match with "/user/:name/:id") +/user/1/bob => "/user/:id/bob" (no match with "/user/:name/:id") +/user/alice/bob => "/user/alice/:id" (no match with "/user/:name/:id" and "/user/:id/bob") +``` + +## Limitation + +Denco has some limitations below. + +* Number of param records (such as `/:name`) must be less than 2^22 +* Number of elements of internal slice must be less than 2^22 + +## Benchmarks + + cd $GOPATH/github.com/go-openapi/runtime/middleware/denco + go test -bench . -benchmem + +## License + +Denco is licensed under the MIT License. diff --git a/vendor/github.com/go-openapi/runtime/middleware/denco/router.go b/vendor/github.com/go-openapi/runtime/middleware/denco/router.go new file mode 100644 index 000000000..4377f77a4 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/denco/router.go @@ -0,0 +1,467 @@ +// Package denco provides fast URL router. +package denco + +import ( + "errors" + "fmt" + "sort" + "strings" +) + +const ( + // ParamCharacter is a special character for path parameter. + ParamCharacter = ':' + + // WildcardCharacter is a special character for wildcard path parameter. + WildcardCharacter = '*' + + // TerminationCharacter is a special character for end of path. + TerminationCharacter = '#' + + // SeparatorCharacter separates path segments. + SeparatorCharacter = '/' + + // PathParamCharacter indicates a RESTCONF path param + PathParamCharacter = '=' + + // MaxSize is max size of records and internal slice. + MaxSize = (1 << 22) - 1 +) + +// Router represents a URL router. +type Router struct { + param *doubleArray + // SizeHint expects the maximum number of path parameters in records to Build. + // SizeHint will be used to determine the capacity of the memory to allocate. + // By default, SizeHint will be determined from given records to Build. + SizeHint int + + static map[string]interface{} +} + +// New returns a new Router. +func New() *Router { + return &Router{ + SizeHint: -1, + static: make(map[string]interface{}), + param: newDoubleArray(), + } +} + +// Lookup returns data and path parameters that associated with path. +// params is a slice of the Param that arranged in the order in which parameters appeared. +// e.g. when built routing path is "/path/to/:id/:name" and given path is "/path/to/1/alice". params order is [{"id": "1"}, {"name": "alice"}], not [{"name": "alice"}, {"id": "1"}]. +func (rt *Router) Lookup(path string) (data interface{}, params Params, found bool) { + if data, found = rt.static[path]; found { + return data, nil, true + } + if len(rt.param.node) == 1 { + return nil, nil, false + } + nd, params, found := rt.param.lookup(path, make([]Param, 0, rt.SizeHint), 1) + if !found { + return nil, nil, false + } + for i := 0; i < len(params); i++ { + params[i].Name = nd.paramNames[i] + } + return nd.data, params, true +} + +// Build builds URL router from records. +func (rt *Router) Build(records []Record) error { + statics, params := makeRecords(records) + if len(params) > MaxSize { + return errors.New("denco: too many records") + } + if rt.SizeHint < 0 { + rt.SizeHint = 0 + for _, p := range params { + size := 0 + for _, k := range p.Key { + if k == ParamCharacter || k == WildcardCharacter { + size++ + } + } + if size > rt.SizeHint { + rt.SizeHint = size + } + } + } + for _, r := range statics { + rt.static[r.Key] = r.Value + } + if err := rt.param.build(params, 1, 0, make(map[int]struct{})); err != nil { + return err + } + return nil +} + +// Param represents name and value of path parameter. +type Param struct { + Name string + Value string +} + +// Params represents the name and value of path parameters. +type Params []Param + +// Get gets the first value associated with the given name. +// If there are no values associated with the key, Get returns "". +func (ps Params) Get(name string) string { + for _, p := range ps { + if p.Name == name { + return p.Value + } + } + return "" +} + +type doubleArray struct { + bc []baseCheck + node []*node +} + +func newDoubleArray() *doubleArray { + return &doubleArray{ + bc: []baseCheck{0}, + node: []*node{nil}, // A start index is adjusting to 1 because 0 will be used as a mark of non-existent node. + } +} + +// baseCheck contains BASE, CHECK and Extra flags. +// From the top, 22bits of BASE, 2bits of Extra flags and 8bits of CHECK. +// +// BASE (22bit) | Extra flags (2bit) | CHECK (8bit) +// +// |----------------------|--|--------| +// 32 10 8 0 +type baseCheck uint32 + +func (bc baseCheck) Base() int { + return int(bc >> 10) +} + +func (bc *baseCheck) SetBase(base int) { + *bc |= baseCheck(base) << 10 +} + +func (bc baseCheck) Check() byte { + return byte(bc) +} + +func (bc *baseCheck) SetCheck(check byte) { + *bc |= baseCheck(check) +} + +func (bc baseCheck) IsEmpty() bool { + return bc&0xfffffcff == 0 +} + +func (bc baseCheck) IsSingleParam() bool { + return bc¶mTypeSingle == paramTypeSingle +} + +func (bc baseCheck) IsWildcardParam() bool { + return bc¶mTypeWildcard == paramTypeWildcard +} + +func (bc baseCheck) IsAnyParam() bool { + return bc¶mTypeAny != 0 +} + +func (bc *baseCheck) SetSingleParam() { + *bc |= (1 << 8) +} + +func (bc *baseCheck) SetWildcardParam() { + *bc |= (1 << 9) +} + +const ( + paramTypeSingle = 0x0100 + paramTypeWildcard = 0x0200 + paramTypeAny = 0x0300 +) + +func (da *doubleArray) lookup(path string, params []Param, idx int) (*node, []Param, bool) { + indices := make([]uint64, 0, 1) + for i := 0; i < len(path); i++ { + if da.bc[idx].IsAnyParam() { + indices = append(indices, (uint64(i)<<32)|(uint64(idx)&0xffffffff)) + } + c := path[i] + if idx = nextIndex(da.bc[idx].Base(), c); idx >= len(da.bc) || da.bc[idx].Check() != c { + goto BACKTRACKING + } + } + if next := nextIndex(da.bc[idx].Base(), TerminationCharacter); next < len(da.bc) && da.bc[next].Check() == TerminationCharacter { + return da.node[da.bc[next].Base()], params, true + } + +BACKTRACKING: + for j := len(indices) - 1; j >= 0; j-- { + i, idx := int(indices[j]>>32), int(indices[j]&0xffffffff) + if da.bc[idx].IsSingleParam() { + nextIdx := nextIndex(da.bc[idx].Base(), ParamCharacter) + if nextIdx >= len(da.bc) { + break + } + + next := NextSeparator(path, i) + nextParams := params + nextParams = append(nextParams, Param{Value: path[i:next]}) + if nd, nextNextParams, found := da.lookup(path[next:], nextParams, nextIdx); found { + return nd, nextNextParams, true + } + } + + if da.bc[idx].IsWildcardParam() { + nextIdx := nextIndex(da.bc[idx].Base(), WildcardCharacter) + nextParams := params + nextParams = append(nextParams, Param{Value: path[i:]}) + return da.node[da.bc[nextIdx].Base()], nextParams, true + } + } + return nil, nil, false +} + +// build builds double-array from records. +func (da *doubleArray) build(srcs []*record, idx, depth int, usedBase map[int]struct{}) error { + sort.Stable(recordSlice(srcs)) + base, siblings, leaf, err := da.arrange(srcs, idx, depth, usedBase) + if err != nil { + return err + } + if leaf != nil { + nd, err := makeNode(leaf) + if err != nil { + return err + } + da.bc[idx].SetBase(len(da.node)) + da.node = append(da.node, nd) + } + for _, sib := range siblings { + da.setCheck(nextIndex(base, sib.c), sib.c) + } + for _, sib := range siblings { + records := srcs[sib.start:sib.end] + switch sib.c { + case ParamCharacter: + for _, r := range records { + next := NextSeparator(r.Key, depth+1) + name := r.Key[depth+1 : next] + r.paramNames = append(r.paramNames, name) + r.Key = r.Key[next:] + } + da.bc[idx].SetSingleParam() + if err := da.build(records, nextIndex(base, sib.c), 0, usedBase); err != nil { + return err + } + case WildcardCharacter: + r := records[0] + name := r.Key[depth+1 : len(r.Key)-1] + r.paramNames = append(r.paramNames, name) + r.Key = "" + da.bc[idx].SetWildcardParam() + if err := da.build(records, nextIndex(base, sib.c), 0, usedBase); err != nil { + return err + } + default: + if err := da.build(records, nextIndex(base, sib.c), depth+1, usedBase); err != nil { + return err + } + } + } + return nil +} + +// setBase sets BASE. +func (da *doubleArray) setBase(i, base int) { + da.bc[i].SetBase(base) +} + +// setCheck sets CHECK. +func (da *doubleArray) setCheck(i int, check byte) { + da.bc[i].SetCheck(check) +} + +// findEmptyIndex returns an index of unused BASE/CHECK node. +func (da *doubleArray) findEmptyIndex(start int) int { + i := start + for ; i < len(da.bc); i++ { + if da.bc[i].IsEmpty() { + break + } + } + return i +} + +// findBase returns good BASE. +func (da *doubleArray) findBase(siblings []sibling, start int, usedBase map[int]struct{}) (base int) { + for idx, firstChar := start+1, siblings[0].c; ; idx = da.findEmptyIndex(idx + 1) { + base = nextIndex(idx, firstChar) + if _, used := usedBase[base]; used { + continue + } + i := 0 + for ; i < len(siblings); i++ { + next := nextIndex(base, siblings[i].c) + if len(da.bc) <= next { + da.bc = append(da.bc, make([]baseCheck, next-len(da.bc)+1)...) + } + if !da.bc[next].IsEmpty() { + break + } + } + if i == len(siblings) { + break + } + } + usedBase[base] = struct{}{} + return base +} + +func (da *doubleArray) arrange(records []*record, idx, depth int, usedBase map[int]struct{}) (base int, siblings []sibling, leaf *record, err error) { + siblings, leaf, err = makeSiblings(records, depth) + if err != nil { + return -1, nil, nil, err + } + if len(siblings) < 1 { + return -1, nil, leaf, nil + } + base = da.findBase(siblings, idx, usedBase) + if base > MaxSize { + return -1, nil, nil, errors.New("denco: too many elements of internal slice") + } + da.setBase(idx, base) + return base, siblings, leaf, err +} + +// node represents a node of Double-Array. +type node struct { + data interface{} + + // Names of path parameters. + paramNames []string +} + +// makeNode returns a new node from record. +func makeNode(r *record) (*node, error) { + dups := make(map[string]bool) + for _, name := range r.paramNames { + if dups[name] { + return nil, fmt.Errorf("denco: path parameter `%v' is duplicated in the key `%v'", name, r.Key) + } + dups[name] = true + } + return &node{data: r.Value, paramNames: r.paramNames}, nil +} + +// sibling represents an intermediate data of build for Double-Array. +type sibling struct { + // An index of start of duplicated characters. + start int + + // An index of end of duplicated characters. + end int + + // A character of sibling. + c byte +} + +// nextIndex returns a next index of array of BASE/CHECK. +func nextIndex(base int, c byte) int { + return base ^ int(c) +} + +// makeSiblings returns slice of sibling. +func makeSiblings(records []*record, depth int) (sib []sibling, leaf *record, err error) { + var ( + pc byte + n int + ) + for i, r := range records { + if len(r.Key) <= depth { + leaf = r + continue + } + c := r.Key[depth] + switch { + case pc < c: + sib = append(sib, sibling{start: i, c: c}) + case pc == c: + continue + default: + return nil, nil, errors.New("denco: BUG: routing table hasn't been sorted") + } + if n > 0 { + sib[n-1].end = i + } + pc = c + n++ + } + if n == 0 { + return nil, leaf, nil + } + sib[n-1].end = len(records) + return sib, leaf, nil +} + +// Record represents a record data for router construction. +type Record struct { + // Key for router construction. + Key string + + // Result value for Key. + Value interface{} +} + +// NewRecord returns a new Record. +func NewRecord(key string, value interface{}) Record { + return Record{ + Key: key, + Value: value, + } +} + +// record represents a record that use to build the Double-Array. +type record struct { + Record + paramNames []string +} + +// makeRecords returns the records that use to build Double-Arrays. +func makeRecords(srcs []Record) (statics, params []*record) { + termChar := string(TerminationCharacter) + paramPrefix := string(SeparatorCharacter) + string(ParamCharacter) + wildcardPrefix := string(SeparatorCharacter) + string(WildcardCharacter) + restconfPrefix := string(PathParamCharacter) + string(ParamCharacter) + for _, r := range srcs { + if strings.Contains(r.Key, paramPrefix) || strings.Contains(r.Key, wildcardPrefix) || strings.Contains(r.Key, restconfPrefix) { + r.Key += termChar + params = append(params, &record{Record: r}) + } else { + statics = append(statics, &record{Record: r}) + } + } + return statics, params +} + +// recordSlice represents a slice of Record for sort and implements the sort.Interface. +type recordSlice []*record + +// Len implements the sort.Interface.Len. +func (rs recordSlice) Len() int { + return len(rs) +} + +// Less implements the sort.Interface.Less. +func (rs recordSlice) Less(i, j int) bool { + return rs[i].Key < rs[j].Key +} + +// Swap implements the sort.Interface.Swap. +func (rs recordSlice) Swap(i, j int) { + rs[i], rs[j] = rs[j], rs[i] +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/denco/server.go b/vendor/github.com/go-openapi/runtime/middleware/denco/server.go new file mode 100644 index 000000000..0886713c1 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/denco/server.go @@ -0,0 +1,106 @@ +package denco + +import ( + "net/http" +) + +// Mux represents a multiplexer for HTTP request. +type Mux struct{} + +// NewMux returns a new Mux. +func NewMux() *Mux { + return &Mux{} +} + +// GET is shorthand of Mux.Handler("GET", path, handler). +func (m *Mux) GET(path string, handler HandlerFunc) Handler { + return m.Handler("GET", path, handler) +} + +// POST is shorthand of Mux.Handler("POST", path, handler). +func (m *Mux) POST(path string, handler HandlerFunc) Handler { + return m.Handler("POST", path, handler) +} + +// PUT is shorthand of Mux.Handler("PUT", path, handler). +func (m *Mux) PUT(path string, handler HandlerFunc) Handler { + return m.Handler("PUT", path, handler) +} + +// HEAD is shorthand of Mux.Handler("HEAD", path, handler). +func (m *Mux) HEAD(path string, handler HandlerFunc) Handler { + return m.Handler("HEAD", path, handler) +} + +// Handler returns a handler for HTTP method. +func (m *Mux) Handler(method, path string, handler HandlerFunc) Handler { + return Handler{ + Method: method, + Path: path, + Func: handler, + } +} + +// Build builds a http.Handler. +func (m *Mux) Build(handlers []Handler) (http.Handler, error) { + recordMap := make(map[string][]Record) + for _, h := range handlers { + recordMap[h.Method] = append(recordMap[h.Method], NewRecord(h.Path, h.Func)) + } + mux := newServeMux() + for m, records := range recordMap { + router := New() + if err := router.Build(records); err != nil { + return nil, err + } + mux.routers[m] = router + } + return mux, nil +} + +// Handler represents a handler of HTTP request. +type Handler struct { + // Method is an HTTP method. + Method string + + // Path is a routing path for handler. + Path string + + // Func is a function of handler of HTTP request. + Func HandlerFunc +} + +// The HandlerFunc type is aliased to type of handler function. +type HandlerFunc func(w http.ResponseWriter, r *http.Request, params Params) + +type serveMux struct { + routers map[string]*Router +} + +func newServeMux() *serveMux { + return &serveMux{ + routers: make(map[string]*Router), + } +} + +// ServeHTTP implements http.Handler interface. +func (mux *serveMux) ServeHTTP(w http.ResponseWriter, r *http.Request) { + handler, params := mux.handler(r.Method, r.URL.Path) + handler(w, r, params) +} + +func (mux *serveMux) handler(method, path string) (HandlerFunc, []Param) { + if router, found := mux.routers[method]; found { + if handler, params, found := router.Lookup(path); found { + return handler.(HandlerFunc), params + } + } + return NotFound, nil +} + +// NotFound replies to the request with an HTTP 404 not found error. +// NotFound is called when unknown HTTP method or a handler not found. +// If you want to use the your own NotFound handler, please overwrite this variable. +var NotFound = func(w http.ResponseWriter, r *http.Request, _ Params) { + http.NotFound(w, r) +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/denco/util.go b/vendor/github.com/go-openapi/runtime/middleware/denco/util.go new file mode 100644 index 000000000..edc1f6ab8 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/denco/util.go @@ -0,0 +1,12 @@ +package denco + +// NextSeparator returns an index of next separator in path. +func NextSeparator(path string, start int) int { + for start < len(path) { + if c := path[start]; c == '/' || c == TerminationCharacter { + break + } + start++ + } + return start +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/doc.go b/vendor/github.com/go-openapi/runtime/middleware/doc.go new file mode 100644 index 000000000..836a98850 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/doc.go @@ -0,0 +1,63 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* +Package middleware provides the library with helper functions for serving swagger APIs. + +Pseudo middleware handler + + import ( + "net/http" + + "github.com/go-openapi/errors" + ) + + func newCompleteMiddleware(ctx *Context) http.Handler { + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + // use context to lookup routes + if matched, ok := ctx.RouteInfo(r); ok { + + if matched.NeedsAuth() { + if _, err := ctx.Authorize(r, matched); err != nil { + ctx.Respond(rw, r, matched.Produces, matched, err) + return + } + } + + bound, validation := ctx.BindAndValidate(r, matched) + if validation != nil { + ctx.Respond(rw, r, matched.Produces, matched, validation) + return + } + + result, err := matched.Handler.Handle(bound) + if err != nil { + ctx.Respond(rw, r, matched.Produces, matched, err) + return + } + + ctx.Respond(rw, r, matched.Produces, matched, result) + return + } + + // Not found, check if it exists in the other methods first + if others := ctx.AllowedMethods(r); len(others) > 0 { + ctx.Respond(rw, r, ctx.spec.RequiredProduces(), nil, errors.MethodNotAllowed(r.Method, others)) + return + } + ctx.Respond(rw, r, ctx.spec.RequiredProduces(), nil, errors.NotFound("path %s was not found", r.URL.Path)) + }) + } +*/ +package middleware diff --git a/vendor/github.com/go-openapi/runtime/middleware/header/header.go b/vendor/github.com/go-openapi/runtime/middleware/header/header.go new file mode 100644 index 000000000..df073c87d --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/header/header.go @@ -0,0 +1,332 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd. + +// this file was taken from the github.com/golang/gddo repository + +// Package header provides functions for parsing HTTP headers. +package header + +import ( + "net/http" + "strings" + "time" +) + +// Octet types from RFC 2616. +var octetTypes [256]octetType + +type octetType byte + +const ( + isToken octetType = 1 << iota + isSpace +) + +func init() { + // OCTET = + // CHAR = + // CTL = + // CR = + // LF = + // SP = + // HT = + // <"> = + // CRLF = CR LF + // LWS = [CRLF] 1*( SP | HT ) + // TEXT = + // separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <"> + // | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT + // token = 1* + // qdtext = > + + for c := 0; c < 256; c++ { + var t octetType + isCtl := c <= 31 || c == 127 + isChar := 0 <= c && c <= 127 + isSeparator := strings.ContainsRune(" \t\"(),/:;<=>?@[]\\{}", rune(c)) + if strings.ContainsRune(" \t\r\n", rune(c)) { + t |= isSpace + } + if isChar && !isCtl && !isSeparator { + t |= isToken + } + octetTypes[c] = t + } +} + +// Copy returns a shallow copy of the header. +func Copy(header http.Header) http.Header { + h := make(http.Header) + for k, vs := range header { + h[k] = vs + } + return h +} + +var timeLayouts = []string{"Mon, 02 Jan 2006 15:04:05 GMT", time.RFC850, time.ANSIC} + +// ParseTime parses the header as time. The zero value is returned if the +// header is not present or there is an error parsing the +// header. +func ParseTime(header http.Header, key string) time.Time { + if s := header.Get(key); s != "" { + for _, layout := range timeLayouts { + if t, err := time.Parse(layout, s); err == nil { + return t.UTC() + } + } + } + return time.Time{} +} + +// ParseList parses a comma separated list of values. Commas are ignored in +// quoted strings. Quoted values are not unescaped or unquoted. Whitespace is +// trimmed. +func ParseList(header http.Header, key string) []string { + var result []string + for _, s := range header[http.CanonicalHeaderKey(key)] { + begin := 0 + end := 0 + escape := false + quote := false + for i := 0; i < len(s); i++ { + b := s[i] + switch { + case escape: + escape = false + end = i + 1 + case quote: + switch b { + case '\\': + escape = true + case '"': + quote = false + } + end = i + 1 + case b == '"': + quote = true + end = i + 1 + case octetTypes[b]&isSpace != 0: + if begin == end { + begin = i + 1 + end = begin + } + case b == ',': + if begin < end { + result = append(result, s[begin:end]) + } + begin = i + 1 + end = begin + default: + end = i + 1 + } + } + if begin < end { + result = append(result, s[begin:end]) + } + } + return result +} + +// ParseValueAndParams parses a comma separated list of values with optional +// semicolon separated name-value pairs. Content-Type and Content-Disposition +// headers are in this format. +func ParseValueAndParams(header http.Header, key string) (string, map[string]string) { + return parseValueAndParams(header.Get(key)) +} + +func parseValueAndParams(s string) (value string, params map[string]string) { + params = make(map[string]string) + value, s = expectTokenSlash(s) + if value == "" { + return + } + value = strings.ToLower(value) + s = skipSpace(s) + for strings.HasPrefix(s, ";") { + var pkey string + pkey, s = expectToken(skipSpace(s[1:])) + if pkey == "" { + return + } + if !strings.HasPrefix(s, "=") { + return + } + var pvalue string + pvalue, s = expectTokenOrQuoted(s[1:]) + if pvalue == "" { + return + } + pkey = strings.ToLower(pkey) + params[pkey] = pvalue + s = skipSpace(s) + } + return +} + +// AcceptSpec ... +type AcceptSpec struct { + Value string + Q float64 +} + +// ParseAccept2 ... +func ParseAccept2(header http.Header, key string) (specs []AcceptSpec) { + for _, en := range ParseList(header, key) { + v, p := parseValueAndParams(en) + var spec AcceptSpec + spec.Value = v + spec.Q = 1.0 + if p != nil { + if q, ok := p["q"]; ok { + spec.Q, _ = expectQuality(q) + } + } + if spec.Q < 0.0 { + continue + } + specs = append(specs, spec) + } + + return +} + +// ParseAccept parses Accept* headers. +func ParseAccept(header http.Header, key string) []AcceptSpec { + var specs []AcceptSpec +loop: + for _, s := range header[key] { + for { + var spec AcceptSpec + spec.Value, s = expectTokenSlash(s) + if spec.Value == "" { + continue loop + } + spec.Q = 1.0 + s = skipSpace(s) + if strings.HasPrefix(s, ";") { + s = skipSpace(s[1:]) + for !strings.HasPrefix(s, "q=") && s != "" && !strings.HasPrefix(s, ",") { + s = skipSpace(s[1:]) + } + if strings.HasPrefix(s, "q=") { + spec.Q, s = expectQuality(s[2:]) + if spec.Q < 0.0 { + continue loop + } + } + } + + specs = append(specs, spec) + s = skipSpace(s) + if !strings.HasPrefix(s, ",") { + continue loop + } + s = skipSpace(s[1:]) + } + } + + return specs +} + +func skipSpace(s string) (rest string) { + i := 0 + for ; i < len(s); i++ { + if octetTypes[s[i]]&isSpace == 0 { + break + } + } + return s[i:] +} + +func expectToken(s string) (token, rest string) { + i := 0 + for ; i < len(s); i++ { + if octetTypes[s[i]]&isToken == 0 { + break + } + } + return s[:i], s[i:] +} + +func expectTokenSlash(s string) (token, rest string) { + i := 0 + for ; i < len(s); i++ { + b := s[i] + if (octetTypes[b]&isToken == 0) && b != '/' { + break + } + } + return s[:i], s[i:] +} + +func expectQuality(s string) (q float64, rest string) { + switch { + case len(s) == 0: + return -1, "" + case s[0] == '0': + // q is already 0 + s = s[1:] + case s[0] == '1': + s = s[1:] + q = 1 + case s[0] == '.': + // q is already 0 + default: + return -1, "" + } + if !strings.HasPrefix(s, ".") { + return q, s + } + s = s[1:] + i := 0 + n := 0 + d := 1 + for ; i < len(s); i++ { + b := s[i] + if b < '0' || b > '9' { + break + } + n = n*10 + int(b) - '0' + d *= 10 + } + return q + float64(n)/float64(d), s[i:] +} + +func expectTokenOrQuoted(s string) (value string, rest string) { + if !strings.HasPrefix(s, "\"") { + return expectToken(s) + } + s = s[1:] + for i := 0; i < len(s); i++ { + switch s[i] { + case '"': + return s[:i], s[i+1:] + case '\\': + p := make([]byte, len(s)-1) + j := copy(p, s[:i]) + escape := true + for i++; i < len(s); i++ { + b := s[i] + switch { + case escape: + escape = false + p[j] = b + j++ + case b == '\\': + escape = true + case b == '"': + return string(p[:j]), s[i+1:] + default: + p[j] = b + j++ + } + } + return "", "" + } + } + return "", "" +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/negotiate.go b/vendor/github.com/go-openapi/runtime/middleware/negotiate.go new file mode 100644 index 000000000..a9b6f27d3 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/negotiate.go @@ -0,0 +1,98 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd. + +// this file was taken from the github.com/golang/gddo repository + +package middleware + +import ( + "net/http" + "strings" + + "github.com/go-openapi/runtime/middleware/header" +) + +// NegotiateContentEncoding returns the best offered content encoding for the +// request's Accept-Encoding header. If two offers match with equal weight and +// then the offer earlier in the list is preferred. If no offers are +// acceptable, then "" is returned. +func NegotiateContentEncoding(r *http.Request, offers []string) string { + bestOffer := "identity" + bestQ := -1.0 + specs := header.ParseAccept(r.Header, "Accept-Encoding") + for _, offer := range offers { + for _, spec := range specs { + if spec.Q > bestQ && + (spec.Value == "*" || spec.Value == offer) { + bestQ = spec.Q + bestOffer = offer + } + } + } + if bestQ == 0 { + bestOffer = "" + } + return bestOffer +} + +// NegotiateContentType returns the best offered content type for the request's +// Accept header. If two offers match with equal weight, then the more specific +// offer is preferred. For example, text/* trumps */*. If two offers match +// with equal weight and specificity, then the offer earlier in the list is +// preferred. If no offers match, then defaultOffer is returned. +func NegotiateContentType(r *http.Request, offers []string, defaultOffer string) string { + bestOffer := defaultOffer + bestQ := -1.0 + bestWild := 3 + specs := header.ParseAccept(r.Header, "Accept") + for _, rawOffer := range offers { + offer := normalizeOffer(rawOffer) + // No Accept header: just return the first offer. + if len(specs) == 0 { + return rawOffer + } + for _, spec := range specs { + switch { + case spec.Q == 0.0: + // ignore + case spec.Q < bestQ: + // better match found + case spec.Value == "*/*": + if spec.Q > bestQ || bestWild > 2 { + bestQ = spec.Q + bestWild = 2 + bestOffer = rawOffer + } + case strings.HasSuffix(spec.Value, "/*"): + if strings.HasPrefix(offer, spec.Value[:len(spec.Value)-1]) && + (spec.Q > bestQ || bestWild > 1) { + bestQ = spec.Q + bestWild = 1 + bestOffer = rawOffer + } + default: + if spec.Value == offer && + (spec.Q > bestQ || bestWild > 0) { + bestQ = spec.Q + bestWild = 0 + bestOffer = rawOffer + } + } + } + } + return bestOffer +} + +func normalizeOffers(orig []string) (norm []string) { + for _, o := range orig { + norm = append(norm, normalizeOffer(o)) + } + return +} + +func normalizeOffer(orig string) string { + return strings.SplitN(orig, ";", 2)[0] +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/not_implemented.go b/vendor/github.com/go-openapi/runtime/middleware/not_implemented.go new file mode 100644 index 000000000..bc6942a0f --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/not_implemented.go @@ -0,0 +1,67 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import ( + "net/http" + + "github.com/go-openapi/runtime" +) + +type errorResp struct { + code int + response interface{} + headers http.Header +} + +func (e *errorResp) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + for k, v := range e.headers { + for _, val := range v { + rw.Header().Add(k, val) + } + } + if e.code > 0 { + rw.WriteHeader(e.code) + } else { + rw.WriteHeader(http.StatusInternalServerError) + } + if err := producer.Produce(rw, e.response); err != nil { + Logger.Printf("failed to write error response: %v", err) + } +} + +// NotImplemented the error response when the response is not implemented +func NotImplemented(message string) Responder { + return Error(http.StatusNotImplemented, message) +} + +// Error creates a generic responder for returning errors, the data will be serialized +// with the matching producer for the request +func Error(code int, data interface{}, headers ...http.Header) Responder { + var hdr http.Header + for _, h := range headers { + for k, v := range h { + if hdr == nil { + hdr = make(http.Header) + } + hdr[k] = v + } + } + return &errorResp{ + code: code, + response: data, + headers: hdr, + } +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/operation.go b/vendor/github.com/go-openapi/runtime/middleware/operation.go new file mode 100644 index 000000000..1175a63cf --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/operation.go @@ -0,0 +1,30 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import "net/http" + +// NewOperationExecutor creates a context aware middleware that handles the operations after routing +func NewOperationExecutor(ctx *Context) http.Handler { + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + // use context to lookup routes + route, rCtx, _ := ctx.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + + route.Handler.ServeHTTP(rw, r) + }) +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/parameter.go b/vendor/github.com/go-openapi/runtime/middleware/parameter.go new file mode 100644 index 000000000..9c3353a95 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/parameter.go @@ -0,0 +1,491 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import ( + "encoding" + "encoding/base64" + "fmt" + "io" + "net/http" + "reflect" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" + + "github.com/go-openapi/runtime" +) + +const defaultMaxMemory = 32 << 20 + +const ( + typeString = "string" + typeArray = "array" +) + +var textUnmarshalType = reflect.TypeOf(new(encoding.TextUnmarshaler)).Elem() + +func newUntypedParamBinder(param spec.Parameter, spec *spec.Swagger, formats strfmt.Registry) *untypedParamBinder { + binder := new(untypedParamBinder) + binder.Name = param.Name + binder.parameter = ¶m + binder.formats = formats + if param.In != "body" { + binder.validator = validate.NewParamValidator(¶m, formats) + } else { + binder.validator = validate.NewSchemaValidator(param.Schema, spec, param.Name, formats) + } + + return binder +} + +type untypedParamBinder struct { + parameter *spec.Parameter + formats strfmt.Registry + Name string + validator validate.EntityValidator +} + +func (p *untypedParamBinder) Type() reflect.Type { + return p.typeForSchema(p.parameter.Type, p.parameter.Format, p.parameter.Items) +} + +func (p *untypedParamBinder) typeForSchema(tpe, format string, items *spec.Items) reflect.Type { + switch tpe { + case "boolean": + return reflect.TypeOf(true) + + case typeString: + if tt, ok := p.formats.GetType(format); ok { + return tt + } + return reflect.TypeOf("") + + case "integer": + switch format { + case "int8": + return reflect.TypeOf(int8(0)) + case "int16": + return reflect.TypeOf(int16(0)) + case "int32": + return reflect.TypeOf(int32(0)) + case "int64": + return reflect.TypeOf(int64(0)) + default: + return reflect.TypeOf(int64(0)) + } + + case "number": + switch format { + case "float": + return reflect.TypeOf(float32(0)) + case "double": + return reflect.TypeOf(float64(0)) + } + + case typeArray: + if items == nil { + return nil + } + itemsType := p.typeForSchema(items.Type, items.Format, items.Items) + if itemsType == nil { + return nil + } + return reflect.MakeSlice(reflect.SliceOf(itemsType), 0, 0).Type() + + case "file": + return reflect.TypeOf(&runtime.File{}).Elem() + + case "object": + return reflect.TypeOf(map[string]interface{}{}) + } + return nil +} + +func (p *untypedParamBinder) allowsMulti() bool { + return p.parameter.In == "query" || p.parameter.In == "formData" +} + +func (p *untypedParamBinder) readValue(values runtime.Gettable, target reflect.Value) ([]string, bool, bool, error) { + name, in, cf, tpe := p.parameter.Name, p.parameter.In, p.parameter.CollectionFormat, p.parameter.Type + if tpe == typeArray { + if cf == "multi" { + if !p.allowsMulti() { + return nil, false, false, errors.InvalidCollectionFormat(name, in, cf) + } + vv, hasKey, _ := values.GetOK(name) + return vv, false, hasKey, nil + } + + v, hk, hv := values.GetOK(name) + if !hv { + return nil, false, hk, nil + } + d, c, e := p.readFormattedSliceFieldValue(v[len(v)-1], target) + return d, c, hk, e + } + + vv, hk, _ := values.GetOK(name) + return vv, false, hk, nil +} + +func (p *untypedParamBinder) Bind(request *http.Request, routeParams RouteParams, consumer runtime.Consumer, target reflect.Value) error { + // fmt.Println("binding", p.name, "as", p.Type()) + switch p.parameter.In { + case "query": + data, custom, hasKey, err := p.readValue(runtime.Values(request.URL.Query()), target) + if err != nil { + return err + } + if custom { + return nil + } + + return p.bindValue(data, hasKey, target) + + case "header": + data, custom, hasKey, err := p.readValue(runtime.Values(request.Header), target) + if err != nil { + return err + } + if custom { + return nil + } + return p.bindValue(data, hasKey, target) + + case "path": + data, custom, hasKey, err := p.readValue(routeParams, target) + if err != nil { + return err + } + if custom { + return nil + } + return p.bindValue(data, hasKey, target) + + case "formData": + var err error + var mt string + + mt, _, e := runtime.ContentType(request.Header) + if e != nil { + // because of the interface conversion go thinks the error is not nil + // so we first check for nil and then set the err var if it's not nil + err = e + } + + if err != nil { + return errors.InvalidContentType("", []string{"multipart/form-data", "application/x-www-form-urlencoded"}) + } + + if mt != "multipart/form-data" && mt != "application/x-www-form-urlencoded" { + return errors.InvalidContentType(mt, []string{"multipart/form-data", "application/x-www-form-urlencoded"}) + } + + if mt == "multipart/form-data" { + if err = request.ParseMultipartForm(defaultMaxMemory); err != nil { + return errors.NewParseError(p.Name, p.parameter.In, "", err) + } + } + + if err = request.ParseForm(); err != nil { + return errors.NewParseError(p.Name, p.parameter.In, "", err) + } + + if p.parameter.Type == "file" { + file, header, ffErr := request.FormFile(p.parameter.Name) + if ffErr != nil { + if p.parameter.Required { + return errors.NewParseError(p.Name, p.parameter.In, "", ffErr) + } + + return nil + } + + target.Set(reflect.ValueOf(runtime.File{Data: file, Header: header})) + return nil + } + + if request.MultipartForm != nil { + data, custom, hasKey, rvErr := p.readValue(runtime.Values(request.MultipartForm.Value), target) + if rvErr != nil { + return rvErr + } + if custom { + return nil + } + return p.bindValue(data, hasKey, target) + } + data, custom, hasKey, err := p.readValue(runtime.Values(request.PostForm), target) + if err != nil { + return err + } + if custom { + return nil + } + return p.bindValue(data, hasKey, target) + + case "body": + newValue := reflect.New(target.Type()) + if !runtime.HasBody(request) { + if p.parameter.Default != nil { + target.Set(reflect.ValueOf(p.parameter.Default)) + } + + return nil + } + if err := consumer.Consume(request.Body, newValue.Interface()); err != nil { + if err == io.EOF && p.parameter.Default != nil { + target.Set(reflect.ValueOf(p.parameter.Default)) + return nil + } + tpe := p.parameter.Type + if p.parameter.Format != "" { + tpe = p.parameter.Format + } + return errors.InvalidType(p.Name, p.parameter.In, tpe, nil) + } + target.Set(reflect.Indirect(newValue)) + return nil + default: + return errors.New(500, fmt.Sprintf("invalid parameter location %q", p.parameter.In)) + } +} + +func (p *untypedParamBinder) bindValue(data []string, hasKey bool, target reflect.Value) error { + if p.parameter.Type == typeArray { + return p.setSliceFieldValue(target, p.parameter.Default, data, hasKey) + } + var d string + if len(data) > 0 { + d = data[len(data)-1] + } + return p.setFieldValue(target, p.parameter.Default, d, hasKey) +} + +func (p *untypedParamBinder) setFieldValue(target reflect.Value, defaultValue interface{}, data string, hasKey bool) error { //nolint:gocyclo + tpe := p.parameter.Type + if p.parameter.Format != "" { + tpe = p.parameter.Format + } + + if (!hasKey || (!p.parameter.AllowEmptyValue && data == "")) && p.parameter.Required && p.parameter.Default == nil { + return errors.Required(p.Name, p.parameter.In, data) + } + + ok, err := p.tryUnmarshaler(target, defaultValue, data) + if err != nil { + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + if ok { + return nil + } + + defVal := reflect.Zero(target.Type()) + if defaultValue != nil { + defVal = reflect.ValueOf(defaultValue) + } + + if tpe == "byte" { + if data == "" { + if target.CanSet() { + target.SetBytes(defVal.Bytes()) + } + return nil + } + + b, err := base64.StdEncoding.DecodeString(data) + if err != nil { + b, err = base64.URLEncoding.DecodeString(data) + if err != nil { + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + } + if target.CanSet() { + target.SetBytes(b) + } + return nil + } + + switch target.Kind() { //nolint:exhaustive // we want to check only types that map from a swagger parameter + case reflect.Bool: + if data == "" { + if target.CanSet() { + target.SetBool(defVal.Bool()) + } + return nil + } + b, err := swag.ConvertBool(data) + if err != nil { + return err + } + if target.CanSet() { + target.SetBool(b) + } + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + if data == "" { + if target.CanSet() { + rd := defVal.Convert(reflect.TypeOf(int64(0))) + target.SetInt(rd.Int()) + } + return nil + } + i, err := strconv.ParseInt(data, 10, 64) + if err != nil { + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + if target.OverflowInt(i) { + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + if target.CanSet() { + target.SetInt(i) + } + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + if data == "" { + if target.CanSet() { + rd := defVal.Convert(reflect.TypeOf(uint64(0))) + target.SetUint(rd.Uint()) + } + return nil + } + u, err := strconv.ParseUint(data, 10, 64) + if err != nil { + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + if target.OverflowUint(u) { + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + if target.CanSet() { + target.SetUint(u) + } + + case reflect.Float32, reflect.Float64: + if data == "" { + if target.CanSet() { + rd := defVal.Convert(reflect.TypeOf(float64(0))) + target.SetFloat(rd.Float()) + } + return nil + } + f, err := strconv.ParseFloat(data, 64) + if err != nil { + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + if target.OverflowFloat(f) { + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + if target.CanSet() { + target.SetFloat(f) + } + + case reflect.String: + value := data + if value == "" { + value = defVal.String() + } + // validate string + if target.CanSet() { + target.SetString(value) + } + + case reflect.Ptr: + if data == "" && defVal.Kind() == reflect.Ptr { + if target.CanSet() { + target.Set(defVal) + } + return nil + } + newVal := reflect.New(target.Type().Elem()) + if err := p.setFieldValue(reflect.Indirect(newVal), defVal, data, hasKey); err != nil { + return err + } + if target.CanSet() { + target.Set(newVal) + } + + default: + return errors.InvalidType(p.Name, p.parameter.In, tpe, data) + } + return nil +} + +func (p *untypedParamBinder) tryUnmarshaler(target reflect.Value, defaultValue interface{}, data string) (bool, error) { + if !target.CanSet() { + return false, nil + } + // When a type implements encoding.TextUnmarshaler we'll use that instead of reflecting some more + if reflect.PtrTo(target.Type()).Implements(textUnmarshalType) { + if defaultValue != nil && len(data) == 0 { + target.Set(reflect.ValueOf(defaultValue)) + return true, nil + } + value := reflect.New(target.Type()) + if err := value.Interface().(encoding.TextUnmarshaler).UnmarshalText([]byte(data)); err != nil { + return true, err + } + target.Set(reflect.Indirect(value)) + return true, nil + } + return false, nil +} + +func (p *untypedParamBinder) readFormattedSliceFieldValue(data string, target reflect.Value) ([]string, bool, error) { + ok, err := p.tryUnmarshaler(target, p.parameter.Default, data) + if err != nil { + return nil, true, err + } + if ok { + return nil, true, nil + } + + return swag.SplitByFormat(data, p.parameter.CollectionFormat), false, nil +} + +func (p *untypedParamBinder) setSliceFieldValue(target reflect.Value, defaultValue interface{}, data []string, hasKey bool) error { + sz := len(data) + if (!hasKey || (!p.parameter.AllowEmptyValue && (sz == 0 || (sz == 1 && data[0] == "")))) && p.parameter.Required && defaultValue == nil { + return errors.Required(p.Name, p.parameter.In, data) + } + + defVal := reflect.Zero(target.Type()) + if defaultValue != nil { + defVal = reflect.ValueOf(defaultValue) + } + + if !target.CanSet() { + return nil + } + if sz == 0 { + target.Set(defVal) + return nil + } + + value := reflect.MakeSlice(reflect.SliceOf(target.Type().Elem()), sz, sz) + + for i := 0; i < sz; i++ { + if err := p.setFieldValue(value.Index(i), nil, data[i], hasKey); err != nil { + return err + } + } + + target.Set(value) + + return nil +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/rapidoc.go b/vendor/github.com/go-openapi/runtime/middleware/rapidoc.go new file mode 100644 index 000000000..ef75e7441 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/rapidoc.go @@ -0,0 +1,80 @@ +package middleware + +import ( + "bytes" + "fmt" + "html/template" + "net/http" + "path" +) + +// RapiDocOpts configures the RapiDoc middlewares +type RapiDocOpts struct { + // BasePath for the UI, defaults to: / + BasePath string + + // Path combines with BasePath to construct the path to the UI, defaults to: "docs". + Path string + + // SpecURL is the URL of the spec document. + // + // Defaults to: /swagger.json + SpecURL string + + // Title for the documentation site, default to: API documentation + Title string + + // Template specifies a custom template to serve the UI + Template string + + // RapiDocURL points to the js asset that generates the rapidoc site. + // + // Defaults to https://unpkg.com/rapidoc/dist/rapidoc-min.js + RapiDocURL string +} + +func (r *RapiDocOpts) EnsureDefaults() { + common := toCommonUIOptions(r) + common.EnsureDefaults() + fromCommonToAnyOptions(common, r) + + // rapidoc-specifics + if r.RapiDocURL == "" { + r.RapiDocURL = rapidocLatest + } + if r.Template == "" { + r.Template = rapidocTemplate + } +} + +// RapiDoc creates a middleware to serve a documentation site for a swagger spec. +// +// This allows for altering the spec before starting the http listener. +func RapiDoc(opts RapiDocOpts, next http.Handler) http.Handler { + opts.EnsureDefaults() + + pth := path.Join(opts.BasePath, opts.Path) + tmpl := template.Must(template.New("rapidoc").Parse(opts.Template)) + assets := bytes.NewBuffer(nil) + if err := tmpl.Execute(assets, opts); err != nil { + panic(fmt.Errorf("cannot execute template: %w", err)) + } + + return serveUI(pth, assets.Bytes(), next) +} + +const ( + rapidocLatest = "https://unpkg.com/rapidoc/dist/rapidoc-min.js" + rapidocTemplate = ` + + + {{ .Title }} + + + + + + + +` +) diff --git a/vendor/github.com/go-openapi/runtime/middleware/redoc.go b/vendor/github.com/go-openapi/runtime/middleware/redoc.go new file mode 100644 index 000000000..b96b01e7f --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/redoc.go @@ -0,0 +1,94 @@ +package middleware + +import ( + "bytes" + "fmt" + "html/template" + "net/http" + "path" +) + +// RedocOpts configures the Redoc middlewares +type RedocOpts struct { + // BasePath for the UI, defaults to: / + BasePath string + + // Path combines with BasePath to construct the path to the UI, defaults to: "docs". + Path string + + // SpecURL is the URL of the spec document. + // + // Defaults to: /swagger.json + SpecURL string + + // Title for the documentation site, default to: API documentation + Title string + + // Template specifies a custom template to serve the UI + Template string + + // RedocURL points to the js that generates the redoc site. + // + // Defaults to: https://cdn.jsdelivr.net/npm/redoc/bundles/redoc.standalone.js + RedocURL string +} + +// EnsureDefaults in case some options are missing +func (r *RedocOpts) EnsureDefaults() { + common := toCommonUIOptions(r) + common.EnsureDefaults() + fromCommonToAnyOptions(common, r) + + // redoc-specifics + if r.RedocURL == "" { + r.RedocURL = redocLatest + } + if r.Template == "" { + r.Template = redocTemplate + } +} + +// Redoc creates a middleware to serve a documentation site for a swagger spec. +// +// This allows for altering the spec before starting the http listener. +func Redoc(opts RedocOpts, next http.Handler) http.Handler { + opts.EnsureDefaults() + + pth := path.Join(opts.BasePath, opts.Path) + tmpl := template.Must(template.New("redoc").Parse(opts.Template)) + assets := bytes.NewBuffer(nil) + if err := tmpl.Execute(assets, opts); err != nil { + panic(fmt.Errorf("cannot execute template: %w", err)) + } + + return serveUI(pth, assets.Bytes(), next) +} + +const ( + redocLatest = "https://cdn.jsdelivr.net/npm/redoc/bundles/redoc.standalone.js" + redocTemplate = ` + + + {{ .Title }} + + + + + + + + + + + + + +` +) diff --git a/vendor/github.com/go-openapi/runtime/middleware/request.go b/vendor/github.com/go-openapi/runtime/middleware/request.go new file mode 100644 index 000000000..82e143665 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/request.go @@ -0,0 +1,117 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import ( + "net/http" + "reflect" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/logger" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +// UntypedRequestBinder binds and validates the data from a http request +type UntypedRequestBinder struct { + Spec *spec.Swagger + Parameters map[string]spec.Parameter + Formats strfmt.Registry + paramBinders map[string]*untypedParamBinder + debugLogf func(string, ...any) // a logging function to debug context and all components using it +} + +// NewUntypedRequestBinder creates a new binder for reading a request. +func NewUntypedRequestBinder(parameters map[string]spec.Parameter, spec *spec.Swagger, formats strfmt.Registry) *UntypedRequestBinder { + binders := make(map[string]*untypedParamBinder) + for fieldName, param := range parameters { + binders[fieldName] = newUntypedParamBinder(param, spec, formats) + } + return &UntypedRequestBinder{ + Parameters: parameters, + paramBinders: binders, + Spec: spec, + Formats: formats, + debugLogf: debugLogfFunc(nil), + } +} + +// Bind perform the databinding and validation +func (o *UntypedRequestBinder) Bind(request *http.Request, routeParams RouteParams, consumer runtime.Consumer, data interface{}) error { + val := reflect.Indirect(reflect.ValueOf(data)) + isMap := val.Kind() == reflect.Map + var result []error + o.debugLogf("binding %d parameters for %s %s", len(o.Parameters), request.Method, request.URL.EscapedPath()) + for fieldName, param := range o.Parameters { + binder := o.paramBinders[fieldName] + o.debugLogf("binding parameter %s for %s %s", fieldName, request.Method, request.URL.EscapedPath()) + var target reflect.Value + if !isMap { + binder.Name = fieldName + target = val.FieldByName(fieldName) + } + + if isMap { + tpe := binder.Type() + if tpe == nil { + if param.Schema.Type.Contains(typeArray) { + tpe = reflect.TypeOf([]interface{}{}) + } else { + tpe = reflect.TypeOf(map[string]interface{}{}) + } + } + target = reflect.Indirect(reflect.New(tpe)) + } + + if !target.IsValid() { + result = append(result, errors.New(500, "parameter name %q is an unknown field", binder.Name)) + continue + } + + if err := binder.Bind(request, routeParams, consumer, target); err != nil { + result = append(result, err) + continue + } + + if binder.validator != nil { + rr := binder.validator.Validate(target.Interface()) + if rr != nil && rr.HasErrors() { + result = append(result, rr.AsError()) + } + } + + if isMap { + val.SetMapIndex(reflect.ValueOf(param.Name), target) + } + } + + if len(result) > 0 { + return errors.CompositeValidationError(result...) + } + + return nil +} + +// SetLogger allows for injecting a logger to catch debug entries. +// +// The logger is enabled in DEBUG mode only. +func (o *UntypedRequestBinder) SetLogger(lg logger.Logger) { + o.debugLogf = debugLogfFunc(lg) +} + +func (o *UntypedRequestBinder) setDebugLogf(fn func(string, ...any)) { + o.debugLogf = fn +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/router.go b/vendor/github.com/go-openapi/runtime/middleware/router.go new file mode 100644 index 000000000..3a6aee90e --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/router.go @@ -0,0 +1,531 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import ( + "fmt" + "net/http" + "net/url" + fpath "path" + "regexp" + "strings" + + "github.com/go-openapi/runtime/logger" + "github.com/go-openapi/runtime/security" + "github.com/go-openapi/swag" + + "github.com/go-openapi/analysis" + "github.com/go-openapi/errors" + "github.com/go-openapi/loads" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware/denco" +) + +// RouteParam is a object to capture route params in a framework agnostic way. +// implementations of the muxer should use these route params to communicate with the +// swagger framework +type RouteParam struct { + Name string + Value string +} + +// RouteParams the collection of route params +type RouteParams []RouteParam + +// Get gets the value for the route param for the specified key +func (r RouteParams) Get(name string) string { + vv, _, _ := r.GetOK(name) + if len(vv) > 0 { + return vv[len(vv)-1] + } + return "" +} + +// GetOK gets the value but also returns booleans to indicate if a key or value +// is present. This aids in validation and satisfies an interface in use there +// +// The returned values are: data, has key, has value +func (r RouteParams) GetOK(name string) ([]string, bool, bool) { + for _, p := range r { + if p.Name == name { + return []string{p.Value}, true, p.Value != "" + } + } + return nil, false, false +} + +// NewRouter creates a new context-aware router middleware +func NewRouter(ctx *Context, next http.Handler) http.Handler { + if ctx.router == nil { + ctx.router = DefaultRouter(ctx.spec, ctx.api, WithDefaultRouterLoggerFunc(ctx.debugLogf)) + } + + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + if _, rCtx, ok := ctx.RouteInfo(r); ok { + next.ServeHTTP(rw, rCtx) + return + } + + // Not found, check if it exists in the other methods first + if others := ctx.AllowedMethods(r); len(others) > 0 { + ctx.Respond(rw, r, ctx.analyzer.RequiredProduces(), nil, errors.MethodNotAllowed(r.Method, others)) + return + } + + ctx.Respond(rw, r, ctx.analyzer.RequiredProduces(), nil, errors.NotFound("path %s was not found", r.URL.EscapedPath())) + }) +} + +// RoutableAPI represents an interface for things that can serve +// as a provider of implementations for the swagger router +type RoutableAPI interface { + HandlerFor(string, string) (http.Handler, bool) + ServeErrorFor(string) func(http.ResponseWriter, *http.Request, error) + ConsumersFor([]string) map[string]runtime.Consumer + ProducersFor([]string) map[string]runtime.Producer + AuthenticatorsFor(map[string]spec.SecurityScheme) map[string]runtime.Authenticator + Authorizer() runtime.Authorizer + Formats() strfmt.Registry + DefaultProduces() string + DefaultConsumes() string +} + +// Router represents a swagger-aware router +type Router interface { + Lookup(method, path string) (*MatchedRoute, bool) + OtherMethods(method, path string) []string +} + +type defaultRouteBuilder struct { + spec *loads.Document + analyzer *analysis.Spec + api RoutableAPI + records map[string][]denco.Record + debugLogf func(string, ...any) // a logging function to debug context and all components using it +} + +type defaultRouter struct { + spec *loads.Document + routers map[string]*denco.Router + debugLogf func(string, ...any) // a logging function to debug context and all components using it +} + +func newDefaultRouteBuilder(spec *loads.Document, api RoutableAPI, opts ...DefaultRouterOpt) *defaultRouteBuilder { + var o defaultRouterOpts + for _, apply := range opts { + apply(&o) + } + if o.debugLogf == nil { + o.debugLogf = debugLogfFunc(nil) // defaults to standard logger + } + + return &defaultRouteBuilder{ + spec: spec, + analyzer: analysis.New(spec.Spec()), + api: api, + records: make(map[string][]denco.Record), + debugLogf: o.debugLogf, + } +} + +// DefaultRouterOpt allows to inject optional behavior to the default router. +type DefaultRouterOpt func(*defaultRouterOpts) + +type defaultRouterOpts struct { + debugLogf func(string, ...any) +} + +// WithDefaultRouterLogger sets the debug logger for the default router. +// +// This is enabled only in DEBUG mode. +func WithDefaultRouterLogger(lg logger.Logger) DefaultRouterOpt { + return func(o *defaultRouterOpts) { + o.debugLogf = debugLogfFunc(lg) + } +} + +// WithDefaultRouterLoggerFunc sets a logging debug method for the default router. +func WithDefaultRouterLoggerFunc(fn func(string, ...any)) DefaultRouterOpt { + return func(o *defaultRouterOpts) { + o.debugLogf = fn + } +} + +// DefaultRouter creates a default implementation of the router +func DefaultRouter(spec *loads.Document, api RoutableAPI, opts ...DefaultRouterOpt) Router { + builder := newDefaultRouteBuilder(spec, api, opts...) + if spec != nil { + for method, paths := range builder.analyzer.Operations() { + for path, operation := range paths { + fp := fpath.Join(spec.BasePath(), path) + builder.debugLogf("adding route %s %s %q", method, fp, operation.ID) + builder.AddRoute(method, fp, operation) + } + } + } + return builder.Build() +} + +// RouteAuthenticator is an authenticator that can compose several authenticators together. +// It also knows when it contains an authenticator that allows for anonymous pass through. +// Contains a group of 1 or more authenticators that have a logical AND relationship +type RouteAuthenticator struct { + Authenticator map[string]runtime.Authenticator + Schemes []string + Scopes map[string][]string + allScopes []string + commonScopes []string + allowAnonymous bool +} + +func (ra *RouteAuthenticator) AllowsAnonymous() bool { + return ra.allowAnonymous +} + +// AllScopes returns a list of unique scopes that is the combination +// of all the scopes in the requirements +func (ra *RouteAuthenticator) AllScopes() []string { + return ra.allScopes +} + +// CommonScopes returns a list of unique scopes that are common in all the +// scopes in the requirements +func (ra *RouteAuthenticator) CommonScopes() []string { + return ra.commonScopes +} + +// Authenticate Authenticator interface implementation +func (ra *RouteAuthenticator) Authenticate(req *http.Request, route *MatchedRoute) (bool, interface{}, error) { + if ra.allowAnonymous { + route.Authenticator = ra + return true, nil, nil + } + // iterate in proper order + var lastResult interface{} + for _, scheme := range ra.Schemes { + if authenticator, ok := ra.Authenticator[scheme]; ok { + applies, princ, err := authenticator.Authenticate(&security.ScopedAuthRequest{ + Request: req, + RequiredScopes: ra.Scopes[scheme], + }) + if !applies { + return false, nil, nil + } + if err != nil { + route.Authenticator = ra + return true, nil, err + } + lastResult = princ + } + } + route.Authenticator = ra + return true, lastResult, nil +} + +func stringSliceUnion(slices ...[]string) []string { + unique := make(map[string]struct{}) + var result []string + for _, slice := range slices { + for _, entry := range slice { + if _, ok := unique[entry]; ok { + continue + } + unique[entry] = struct{}{} + result = append(result, entry) + } + } + return result +} + +func stringSliceIntersection(slices ...[]string) []string { + unique := make(map[string]int) + var intersection []string + + total := len(slices) + var emptyCnt int + for _, slice := range slices { + if len(slice) == 0 { + emptyCnt++ + continue + } + + for _, entry := range slice { + unique[entry]++ + if unique[entry] == total-emptyCnt { // this entry appeared in all the non-empty slices + intersection = append(intersection, entry) + } + } + } + + return intersection +} + +// RouteAuthenticators represents a group of authenticators that represent a logical OR +type RouteAuthenticators []RouteAuthenticator + +// AllowsAnonymous returns true when there is an authenticator that means optional auth +func (ras RouteAuthenticators) AllowsAnonymous() bool { + for _, ra := range ras { + if ra.AllowsAnonymous() { + return true + } + } + return false +} + +// Authenticate method implemention so this collection can be used as authenticator +func (ras RouteAuthenticators) Authenticate(req *http.Request, route *MatchedRoute) (bool, interface{}, error) { + var lastError error + var allowsAnon bool + var anonAuth RouteAuthenticator + + for _, ra := range ras { + if ra.AllowsAnonymous() { + anonAuth = ra + allowsAnon = true + continue + } + applies, usr, err := ra.Authenticate(req, route) + if !applies || err != nil || usr == nil { + if err != nil { + lastError = err + } + continue + } + return applies, usr, nil + } + + if allowsAnon && lastError == nil { + route.Authenticator = &anonAuth + return true, nil, lastError + } + return lastError != nil, nil, lastError +} + +type routeEntry struct { + PathPattern string + BasePath string + Operation *spec.Operation + Consumes []string + Consumers map[string]runtime.Consumer + Produces []string + Producers map[string]runtime.Producer + Parameters map[string]spec.Parameter + Handler http.Handler + Formats strfmt.Registry + Binder *UntypedRequestBinder + Authenticators RouteAuthenticators + Authorizer runtime.Authorizer +} + +// MatchedRoute represents the route that was matched in this request +type MatchedRoute struct { + routeEntry + Params RouteParams + Consumer runtime.Consumer + Producer runtime.Producer + Authenticator *RouteAuthenticator +} + +// HasAuth returns true when the route has a security requirement defined +func (m *MatchedRoute) HasAuth() bool { + return len(m.Authenticators) > 0 +} + +// NeedsAuth returns true when the request still +// needs to perform authentication +func (m *MatchedRoute) NeedsAuth() bool { + return m.HasAuth() && m.Authenticator == nil +} + +func (d *defaultRouter) Lookup(method, path string) (*MatchedRoute, bool) { + mth := strings.ToUpper(method) + d.debugLogf("looking up route for %s %s", method, path) + if Debug { + if len(d.routers) == 0 { + d.debugLogf("there are no known routers") + } + for meth := range d.routers { + d.debugLogf("got a router for %s", meth) + } + } + if router, ok := d.routers[mth]; ok { + if m, rp, ok := router.Lookup(fpath.Clean(path)); ok && m != nil { + if entry, ok := m.(*routeEntry); ok { + d.debugLogf("found a route for %s %s with %d parameters", method, path, len(entry.Parameters)) + var params RouteParams + for _, p := range rp { + v, err := url.PathUnescape(p.Value) + if err != nil { + d.debugLogf("failed to escape %q: %v", p.Value, err) + v = p.Value + } + // a workaround to handle fragment/composing parameters until they are supported in denco router + // check if this parameter is a fragment within a path segment + if xpos := strings.Index(entry.PathPattern, fmt.Sprintf("{%s}", p.Name)) + len(p.Name) + 2; xpos < len(entry.PathPattern) && entry.PathPattern[xpos] != '/' { + // extract fragment parameters + ep := strings.Split(entry.PathPattern[xpos:], "/")[0] + pnames, pvalues := decodeCompositParams(p.Name, v, ep, nil, nil) + for i, pname := range pnames { + params = append(params, RouteParam{Name: pname, Value: pvalues[i]}) + } + } else { + // use the parameter directly + params = append(params, RouteParam{Name: p.Name, Value: v}) + } + } + return &MatchedRoute{routeEntry: *entry, Params: params}, true + } + } else { + d.debugLogf("couldn't find a route by path for %s %s", method, path) + } + } else { + d.debugLogf("couldn't find a route by method for %s %s", method, path) + } + return nil, false +} + +func (d *defaultRouter) OtherMethods(method, path string) []string { + mn := strings.ToUpper(method) + var methods []string + for k, v := range d.routers { + if k != mn { + if _, _, ok := v.Lookup(fpath.Clean(path)); ok { + methods = append(methods, k) + continue + } + } + } + return methods +} + +func (d *defaultRouter) SetLogger(lg logger.Logger) { + d.debugLogf = debugLogfFunc(lg) +} + +// convert swagger parameters per path segment into a denco parameter as multiple parameters per segment are not supported in denco +var pathConverter = regexp.MustCompile(`{(.+?)}([^/]*)`) + +func decodeCompositParams(name string, value string, pattern string, names []string, values []string) ([]string, []string) { + pleft := strings.Index(pattern, "{") + names = append(names, name) + if pleft < 0 { + if strings.HasSuffix(value, pattern) { + values = append(values, value[:len(value)-len(pattern)]) + } else { + values = append(values, "") + } + } else { + toskip := pattern[:pleft] + pright := strings.Index(pattern, "}") + vright := strings.Index(value, toskip) + if vright >= 0 { + values = append(values, value[:vright]) + } else { + values = append(values, "") + value = "" + } + return decodeCompositParams(pattern[pleft+1:pright], value[vright+len(toskip):], pattern[pright+1:], names, values) + } + return names, values +} + +func (d *defaultRouteBuilder) AddRoute(method, path string, operation *spec.Operation) { + mn := strings.ToUpper(method) + + bp := fpath.Clean(d.spec.BasePath()) + if len(bp) > 0 && bp[len(bp)-1] == '/' { + bp = bp[:len(bp)-1] + } + + d.debugLogf("operation: %#v", *operation) + if handler, ok := d.api.HandlerFor(method, strings.TrimPrefix(path, bp)); ok { + consumes := d.analyzer.ConsumesFor(operation) + produces := d.analyzer.ProducesFor(operation) + parameters := d.analyzer.ParamsFor(method, strings.TrimPrefix(path, bp)) + + // add API defaults if not part of the spec + if defConsumes := d.api.DefaultConsumes(); defConsumes != "" && !swag.ContainsStringsCI(consumes, defConsumes) { + consumes = append(consumes, defConsumes) + } + + if defProduces := d.api.DefaultProduces(); defProduces != "" && !swag.ContainsStringsCI(produces, defProduces) { + produces = append(produces, defProduces) + } + + requestBinder := NewUntypedRequestBinder(parameters, d.spec.Spec(), d.api.Formats()) + requestBinder.setDebugLogf(d.debugLogf) + record := denco.NewRecord(pathConverter.ReplaceAllString(path, ":$1"), &routeEntry{ + BasePath: bp, + PathPattern: path, + Operation: operation, + Handler: handler, + Consumes: consumes, + Produces: produces, + Consumers: d.api.ConsumersFor(normalizeOffers(consumes)), + Producers: d.api.ProducersFor(normalizeOffers(produces)), + Parameters: parameters, + Formats: d.api.Formats(), + Binder: requestBinder, + Authenticators: d.buildAuthenticators(operation), + Authorizer: d.api.Authorizer(), + }) + d.records[mn] = append(d.records[mn], record) + } +} + +func (d *defaultRouteBuilder) buildAuthenticators(operation *spec.Operation) RouteAuthenticators { + requirements := d.analyzer.SecurityRequirementsFor(operation) + auths := make([]RouteAuthenticator, 0, len(requirements)) + for _, reqs := range requirements { + schemes := make([]string, 0, len(reqs)) + scopes := make(map[string][]string, len(reqs)) + scopeSlices := make([][]string, 0, len(reqs)) + for _, req := range reqs { + schemes = append(schemes, req.Name) + scopes[req.Name] = req.Scopes + scopeSlices = append(scopeSlices, req.Scopes) + } + + definitions := d.analyzer.SecurityDefinitionsForRequirements(reqs) + authenticators := d.api.AuthenticatorsFor(definitions) + auths = append(auths, RouteAuthenticator{ + Authenticator: authenticators, + Schemes: schemes, + Scopes: scopes, + allScopes: stringSliceUnion(scopeSlices...), + commonScopes: stringSliceIntersection(scopeSlices...), + allowAnonymous: len(reqs) == 1 && reqs[0].Name == "", + }) + } + return auths +} + +func (d *defaultRouteBuilder) Build() *defaultRouter { + routers := make(map[string]*denco.Router) + for method, records := range d.records { + router := denco.New() + _ = router.Build(records) + routers[method] = router + } + return &defaultRouter{ + spec: d.spec, + routers: routers, + debugLogf: d.debugLogf, + } +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/security.go b/vendor/github.com/go-openapi/runtime/middleware/security.go new file mode 100644 index 000000000..2b061caef --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/security.go @@ -0,0 +1,39 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import "net/http" + +func newSecureAPI(ctx *Context, next http.Handler) http.Handler { + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := ctx.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + if route != nil && !route.NeedsAuth() { + next.ServeHTTP(rw, r) + return + } + + _, rCtx, err := ctx.Authorize(r, route) + if err != nil { + ctx.Respond(rw, r, route.Produces, route, err) + return + } + r = rCtx + + next.ServeHTTP(rw, r) + }) +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/spec.go b/vendor/github.com/go-openapi/runtime/middleware/spec.go new file mode 100644 index 000000000..87e17e342 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/spec.go @@ -0,0 +1,102 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import ( + "net/http" + "path" +) + +const ( + contentTypeHeader = "Content-Type" + applicationJSON = "application/json" +) + +// SpecOption can be applied to the Spec serving middleware +type SpecOption func(*specOptions) + +var defaultSpecOptions = specOptions{ + Path: "", + Document: "swagger.json", +} + +type specOptions struct { + Path string + Document string +} + +func specOptionsWithDefaults(opts []SpecOption) specOptions { + o := defaultSpecOptions + for _, apply := range opts { + apply(&o) + } + + return o +} + +// Spec creates a middleware to serve a swagger spec as a JSON document. +// +// This allows for altering the spec before starting the http listener. +// +// The basePath argument indicates the path of the spec document (defaults to "/"). +// Additional SpecOption can be used to change the name of the document (defaults to "swagger.json"). +func Spec(basePath string, b []byte, next http.Handler, opts ...SpecOption) http.Handler { + if basePath == "" { + basePath = "/" + } + o := specOptionsWithDefaults(opts) + pth := path.Join(basePath, o.Path, o.Document) + + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + if path.Clean(r.URL.Path) == pth { + rw.Header().Set(contentTypeHeader, applicationJSON) + rw.WriteHeader(http.StatusOK) + _, _ = rw.Write(b) + + return + } + + if next != nil { + next.ServeHTTP(rw, r) + + return + } + + rw.Header().Set(contentTypeHeader, applicationJSON) + rw.WriteHeader(http.StatusNotFound) + }) +} + +// WithSpecPath sets the path to be joined to the base path of the Spec middleware. +// +// This is empty by default. +func WithSpecPath(pth string) SpecOption { + return func(o *specOptions) { + o.Path = pth + } +} + +// WithSpecDocument sets the name of the JSON document served as a spec. +// +// By default, this is "swagger.json" +func WithSpecDocument(doc string) SpecOption { + return func(o *specOptions) { + if doc == "" { + return + } + + o.Document = doc + } +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/swaggerui.go b/vendor/github.com/go-openapi/runtime/middleware/swaggerui.go new file mode 100644 index 000000000..ec3c10cba --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/swaggerui.go @@ -0,0 +1,175 @@ +package middleware + +import ( + "bytes" + "fmt" + "html/template" + "net/http" + "path" +) + +// SwaggerUIOpts configures the SwaggerUI middleware +type SwaggerUIOpts struct { + // BasePath for the API, defaults to: / + BasePath string + + // Path combines with BasePath to construct the path to the UI, defaults to: "docs". + Path string + + // SpecURL is the URL of the spec document. + // + // Defaults to: /swagger.json + SpecURL string + + // Title for the documentation site, default to: API documentation + Title string + + // Template specifies a custom template to serve the UI + Template string + + // OAuthCallbackURL the url called after OAuth2 login + OAuthCallbackURL string + + // The three components needed to embed swagger-ui + + // SwaggerURL points to the js that generates the SwaggerUI site. + // + // Defaults to: https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js + SwaggerURL string + + SwaggerPresetURL string + SwaggerStylesURL string + + Favicon32 string + Favicon16 string +} + +// EnsureDefaults in case some options are missing +func (r *SwaggerUIOpts) EnsureDefaults() { + r.ensureDefaults() + + if r.Template == "" { + r.Template = swaggeruiTemplate + } +} + +func (r *SwaggerUIOpts) EnsureDefaultsOauth2() { + r.ensureDefaults() + + if r.Template == "" { + r.Template = swaggerOAuthTemplate + } +} + +func (r *SwaggerUIOpts) ensureDefaults() { + common := toCommonUIOptions(r) + common.EnsureDefaults() + fromCommonToAnyOptions(common, r) + + // swaggerui-specifics + if r.OAuthCallbackURL == "" { + r.OAuthCallbackURL = path.Join(r.BasePath, r.Path, "oauth2-callback") + } + if r.SwaggerURL == "" { + r.SwaggerURL = swaggerLatest + } + if r.SwaggerPresetURL == "" { + r.SwaggerPresetURL = swaggerPresetLatest + } + if r.SwaggerStylesURL == "" { + r.SwaggerStylesURL = swaggerStylesLatest + } + if r.Favicon16 == "" { + r.Favicon16 = swaggerFavicon16Latest + } + if r.Favicon32 == "" { + r.Favicon32 = swaggerFavicon32Latest + } +} + +// SwaggerUI creates a middleware to serve a documentation site for a swagger spec. +// +// This allows for altering the spec before starting the http listener. +func SwaggerUI(opts SwaggerUIOpts, next http.Handler) http.Handler { + opts.EnsureDefaults() + + pth := path.Join(opts.BasePath, opts.Path) + tmpl := template.Must(template.New("swaggerui").Parse(opts.Template)) + assets := bytes.NewBuffer(nil) + if err := tmpl.Execute(assets, opts); err != nil { + panic(fmt.Errorf("cannot execute template: %w", err)) + } + + return serveUI(pth, assets.Bytes(), next) +} + +const ( + swaggerLatest = "https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js" + swaggerPresetLatest = "https://unpkg.com/swagger-ui-dist/swagger-ui-standalone-preset.js" + swaggerStylesLatest = "https://unpkg.com/swagger-ui-dist/swagger-ui.css" + swaggerFavicon32Latest = "https://unpkg.com/swagger-ui-dist/favicon-32x32.png" + swaggerFavicon16Latest = "https://unpkg.com/swagger-ui-dist/favicon-16x16.png" + swaggeruiTemplate = ` + + + + + {{ .Title }} + + + + + + + + +
+ + + + + + +` +) diff --git a/vendor/github.com/go-openapi/runtime/middleware/swaggerui_oauth2.go b/vendor/github.com/go-openapi/runtime/middleware/swaggerui_oauth2.go new file mode 100644 index 000000000..e81212f71 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/swaggerui_oauth2.go @@ -0,0 +1,105 @@ +package middleware + +import ( + "bytes" + "fmt" + "net/http" + "text/template" +) + +func SwaggerUIOAuth2Callback(opts SwaggerUIOpts, next http.Handler) http.Handler { + opts.EnsureDefaultsOauth2() + + pth := opts.OAuthCallbackURL + tmpl := template.Must(template.New("swaggeroauth").Parse(opts.Template)) + assets := bytes.NewBuffer(nil) + if err := tmpl.Execute(assets, opts); err != nil { + panic(fmt.Errorf("cannot execute template: %w", err)) + } + + return serveUI(pth, assets.Bytes(), next) +} + +const ( + swaggerOAuthTemplate = ` + + + + {{ .Title }} + + + + + +` +) diff --git a/vendor/github.com/go-openapi/runtime/middleware/ui_options.go b/vendor/github.com/go-openapi/runtime/middleware/ui_options.go new file mode 100644 index 000000000..b86efa008 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/ui_options.go @@ -0,0 +1,173 @@ +package middleware + +import ( + "bytes" + "encoding/gob" + "fmt" + "net/http" + "path" + "strings" +) + +const ( + // constants that are common to all UI-serving middlewares + defaultDocsPath = "docs" + defaultDocsURL = "/swagger.json" + defaultDocsTitle = "API Documentation" +) + +// uiOptions defines common options for UI serving middlewares. +type uiOptions struct { + // BasePath for the UI, defaults to: / + BasePath string + + // Path combines with BasePath to construct the path to the UI, defaults to: "docs". + Path string + + // SpecURL is the URL of the spec document. + // + // Defaults to: /swagger.json + SpecURL string + + // Title for the documentation site, default to: API documentation + Title string + + // Template specifies a custom template to serve the UI + Template string +} + +// toCommonUIOptions converts any UI option type to retain the common options. +// +// This uses gob encoding/decoding to convert common fields from one struct to another. +func toCommonUIOptions(opts interface{}) uiOptions { + var buf bytes.Buffer + enc := gob.NewEncoder(&buf) + dec := gob.NewDecoder(&buf) + var o uiOptions + err := enc.Encode(opts) + if err != nil { + panic(err) + } + + err = dec.Decode(&o) + if err != nil { + panic(err) + } + + return o +} + +func fromCommonToAnyOptions[T any](source uiOptions, target *T) { + var buf bytes.Buffer + enc := gob.NewEncoder(&buf) + dec := gob.NewDecoder(&buf) + err := enc.Encode(source) + if err != nil { + panic(err) + } + + err = dec.Decode(target) + if err != nil { + panic(err) + } +} + +// UIOption can be applied to UI serving middleware, such as Context.APIHandler or +// Context.APIHandlerSwaggerUI to alter the defaut behavior. +type UIOption func(*uiOptions) + +func uiOptionsWithDefaults(opts []UIOption) uiOptions { + var o uiOptions + for _, apply := range opts { + apply(&o) + } + + return o +} + +// WithUIBasePath sets the base path from where to serve the UI assets. +// +// By default, Context middleware sets this value to the API base path. +func WithUIBasePath(base string) UIOption { + return func(o *uiOptions) { + if !strings.HasPrefix(base, "/") { + base = "/" + base + } + o.BasePath = base + } +} + +// WithUIPath sets the path from where to serve the UI assets (i.e. /{basepath}/{path}. +func WithUIPath(pth string) UIOption { + return func(o *uiOptions) { + o.Path = pth + } +} + +// WithUISpecURL sets the path from where to serve swagger spec document. +// +// This may be specified as a full URL or a path. +// +// By default, this is "/swagger.json" +func WithUISpecURL(specURL string) UIOption { + return func(o *uiOptions) { + o.SpecURL = specURL + } +} + +// WithUITitle sets the title of the UI. +// +// By default, Context middleware sets this value to the title found in the API spec. +func WithUITitle(title string) UIOption { + return func(o *uiOptions) { + o.Title = title + } +} + +// WithTemplate allows to set a custom template for the UI. +// +// UI middleware will panic if the template does not parse or execute properly. +func WithTemplate(tpl string) UIOption { + return func(o *uiOptions) { + o.Template = tpl + } +} + +// EnsureDefaults in case some options are missing +func (r *uiOptions) EnsureDefaults() { + if r.BasePath == "" { + r.BasePath = "/" + } + if r.Path == "" { + r.Path = defaultDocsPath + } + if r.SpecURL == "" { + r.SpecURL = defaultDocsURL + } + if r.Title == "" { + r.Title = defaultDocsTitle + } +} + +// serveUI creates a middleware that serves a templated asset as text/html. +func serveUI(pth string, assets []byte, next http.Handler) http.Handler { + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + if path.Clean(r.URL.Path) == pth { + rw.Header().Set(contentTypeHeader, "text/html; charset=utf-8") + rw.WriteHeader(http.StatusOK) + _, _ = rw.Write(assets) + + return + } + + if next != nil { + next.ServeHTTP(rw, r) + + return + } + + rw.Header().Set(contentTypeHeader, "text/plain") + rw.WriteHeader(http.StatusNotFound) + _, _ = rw.Write([]byte(fmt.Sprintf("%q not found", pth))) + }) +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/untyped/api.go b/vendor/github.com/go-openapi/runtime/middleware/untyped/api.go new file mode 100644 index 000000000..7b7269bd1 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/untyped/api.go @@ -0,0 +1,287 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package untyped + +import ( + "fmt" + "net/http" + "sort" + "strings" + + "github.com/go-openapi/analysis" + "github.com/go-openapi/errors" + "github.com/go-openapi/loads" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + + "github.com/go-openapi/runtime" +) + +// NewAPI creates the default untyped API +func NewAPI(spec *loads.Document) *API { + var an *analysis.Spec + if spec != nil && spec.Spec() != nil { + an = analysis.New(spec.Spec()) + } + api := &API{ + spec: spec, + analyzer: an, + consumers: make(map[string]runtime.Consumer, 10), + producers: make(map[string]runtime.Producer, 10), + authenticators: make(map[string]runtime.Authenticator), + operations: make(map[string]map[string]runtime.OperationHandler), + ServeError: errors.ServeError, + Models: make(map[string]func() interface{}), + formats: strfmt.NewFormats(), + } + return api.WithJSONDefaults() +} + +// API represents an untyped mux for a swagger spec +type API struct { + spec *loads.Document + analyzer *analysis.Spec + DefaultProduces string + DefaultConsumes string + consumers map[string]runtime.Consumer + producers map[string]runtime.Producer + authenticators map[string]runtime.Authenticator + authorizer runtime.Authorizer + operations map[string]map[string]runtime.OperationHandler + ServeError func(http.ResponseWriter, *http.Request, error) + Models map[string]func() interface{} + formats strfmt.Registry +} + +// WithJSONDefaults loads the json defaults for this api +func (d *API) WithJSONDefaults() *API { + d.DefaultConsumes = runtime.JSONMime + d.DefaultProduces = runtime.JSONMime + d.consumers[runtime.JSONMime] = runtime.JSONConsumer() + d.producers[runtime.JSONMime] = runtime.JSONProducer() + return d +} + +// WithoutJSONDefaults clears the json defaults for this api +func (d *API) WithoutJSONDefaults() *API { + d.DefaultConsumes = "" + d.DefaultProduces = "" + delete(d.consumers, runtime.JSONMime) + delete(d.producers, runtime.JSONMime) + return d +} + +// Formats returns the registered string formats +func (d *API) Formats() strfmt.Registry { + if d.formats == nil { + d.formats = strfmt.NewFormats() + } + return d.formats +} + +// RegisterFormat registers a custom format validator +func (d *API) RegisterFormat(name string, format strfmt.Format, validator strfmt.Validator) { + if d.formats == nil { + d.formats = strfmt.NewFormats() + } + d.formats.Add(name, format, validator) +} + +// RegisterAuth registers an auth handler in this api +func (d *API) RegisterAuth(scheme string, handler runtime.Authenticator) { + if d.authenticators == nil { + d.authenticators = make(map[string]runtime.Authenticator) + } + d.authenticators[scheme] = handler +} + +// RegisterAuthorizer registers an authorizer handler in this api +func (d *API) RegisterAuthorizer(handler runtime.Authorizer) { + d.authorizer = handler +} + +// RegisterConsumer registers a consumer for a media type. +func (d *API) RegisterConsumer(mediaType string, handler runtime.Consumer) { + if d.consumers == nil { + d.consumers = make(map[string]runtime.Consumer, 10) + } + d.consumers[strings.ToLower(mediaType)] = handler +} + +// RegisterProducer registers a producer for a media type +func (d *API) RegisterProducer(mediaType string, handler runtime.Producer) { + if d.producers == nil { + d.producers = make(map[string]runtime.Producer, 10) + } + d.producers[strings.ToLower(mediaType)] = handler +} + +// RegisterOperation registers an operation handler for an operation name +func (d *API) RegisterOperation(method, path string, handler runtime.OperationHandler) { + if d.operations == nil { + d.operations = make(map[string]map[string]runtime.OperationHandler, 30) + } + um := strings.ToUpper(method) + if b, ok := d.operations[um]; !ok || b == nil { + d.operations[um] = make(map[string]runtime.OperationHandler) + } + d.operations[um][path] = handler +} + +// OperationHandlerFor returns the operation handler for the specified id if it can be found +func (d *API) OperationHandlerFor(method, path string) (runtime.OperationHandler, bool) { + if d.operations == nil { + return nil, false + } + if pi, ok := d.operations[strings.ToUpper(method)]; ok { + h, ok := pi[path] + return h, ok + } + return nil, false +} + +// ConsumersFor gets the consumers for the specified media types +func (d *API) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer { + result := make(map[string]runtime.Consumer) + for _, mt := range mediaTypes { + if consumer, ok := d.consumers[mt]; ok { + result[mt] = consumer + } + } + return result +} + +// ProducersFor gets the producers for the specified media types +func (d *API) ProducersFor(mediaTypes []string) map[string]runtime.Producer { + result := make(map[string]runtime.Producer) + for _, mt := range mediaTypes { + if producer, ok := d.producers[mt]; ok { + result[mt] = producer + } + } + return result +} + +// AuthenticatorsFor gets the authenticators for the specified security schemes +func (d *API) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator { + result := make(map[string]runtime.Authenticator) + for k := range schemes { + if a, ok := d.authenticators[k]; ok { + result[k] = a + } + } + return result +} + +// Authorizer returns the registered authorizer +func (d *API) Authorizer() runtime.Authorizer { + return d.authorizer +} + +// Validate validates this API for any missing items +func (d *API) Validate() error { + return d.validate() +} + +// validateWith validates the registrations in this API against the provided spec analyzer +func (d *API) validate() error { + consumes := make([]string, 0, len(d.consumers)) + for k := range d.consumers { + consumes = append(consumes, k) + } + + produces := make([]string, 0, len(d.producers)) + for k := range d.producers { + produces = append(produces, k) + } + + authenticators := make([]string, 0, len(d.authenticators)) + for k := range d.authenticators { + authenticators = append(authenticators, k) + } + + operations := make([]string, 0, len(d.operations)) + for m, v := range d.operations { + for p := range v { + operations = append(operations, fmt.Sprintf("%s %s", strings.ToUpper(m), p)) + } + } + + secDefinitions := d.spec.Spec().SecurityDefinitions + definedAuths := make([]string, 0, len(secDefinitions)) + for k := range secDefinitions { + definedAuths = append(definedAuths, k) + } + + if err := d.verify("consumes", consumes, d.analyzer.RequiredConsumes()); err != nil { + return err + } + if err := d.verify("produces", produces, d.analyzer.RequiredProduces()); err != nil { + return err + } + if err := d.verify("operation", operations, d.analyzer.OperationMethodPaths()); err != nil { + return err + } + + requiredAuths := d.analyzer.RequiredSecuritySchemes() + if err := d.verify("auth scheme", authenticators, requiredAuths); err != nil { + return err + } + if err := d.verify("security definitions", definedAuths, requiredAuths); err != nil { + return err + } + return nil +} + +func (d *API) verify(name string, registrations []string, expectations []string) error { + sort.Strings(registrations) + sort.Strings(expectations) + + expected := map[string]struct{}{} + seen := map[string]struct{}{} + + for _, v := range expectations { + expected[v] = struct{}{} + } + + var unspecified []string + for _, v := range registrations { + seen[v] = struct{}{} + if _, ok := expected[v]; !ok { + unspecified = append(unspecified, v) + } + } + + for k := range seen { + delete(expected, k) + } + + unregistered := make([]string, 0, len(expected)) + for k := range expected { + unregistered = append(unregistered, k) + } + sort.Strings(unspecified) + sort.Strings(unregistered) + + if len(unregistered) > 0 || len(unspecified) > 0 { + return &errors.APIVerificationFailed{ + Section: name, + MissingSpecification: unspecified, + MissingRegistration: unregistered, + } + } + + return nil +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/validation.go b/vendor/github.com/go-openapi/runtime/middleware/validation.go new file mode 100644 index 000000000..0a5356c60 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/validation.go @@ -0,0 +1,130 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package middleware + +import ( + "mime" + "net/http" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + + "github.com/go-openapi/runtime" +) + +type validation struct { + context *Context + result []error + request *http.Request + route *MatchedRoute + bound map[string]interface{} +} + +// ContentType validates the content type of a request +func validateContentType(allowed []string, actual string) error { + if len(allowed) == 0 { + return nil + } + mt, _, err := mime.ParseMediaType(actual) + if err != nil { + return errors.InvalidContentType(actual, allowed) + } + if swag.ContainsStringsCI(allowed, mt) { + return nil + } + if swag.ContainsStringsCI(allowed, "*/*") { + return nil + } + parts := strings.Split(actual, "/") + if len(parts) == 2 && swag.ContainsStringsCI(allowed, parts[0]+"/*") { + return nil + } + return errors.InvalidContentType(actual, allowed) +} + +func validateRequest(ctx *Context, request *http.Request, route *MatchedRoute) *validation { + validate := &validation{ + context: ctx, + request: request, + route: route, + bound: make(map[string]interface{}), + } + validate.debugLogf("validating request %s %s", request.Method, request.URL.EscapedPath()) + + validate.contentType() + if len(validate.result) == 0 { + validate.responseFormat() + } + if len(validate.result) == 0 { + validate.parameters() + } + + return validate +} + +func (v *validation) debugLogf(format string, args ...any) { + v.context.debugLogf(format, args...) +} + +func (v *validation) parameters() { + v.debugLogf("validating request parameters for %s %s", v.request.Method, v.request.URL.EscapedPath()) + if result := v.route.Binder.Bind(v.request, v.route.Params, v.route.Consumer, v.bound); result != nil { + if result.Error() == "validation failure list" { + for _, e := range result.(*errors.Validation).Value.([]interface{}) { + v.result = append(v.result, e.(error)) + } + return + } + v.result = append(v.result, result) + } +} + +func (v *validation) contentType() { + if len(v.result) == 0 && runtime.HasBody(v.request) { + v.debugLogf("validating body content type for %s %s", v.request.Method, v.request.URL.EscapedPath()) + ct, _, req, err := v.context.ContentType(v.request) + if err != nil { + v.result = append(v.result, err) + } else { + v.request = req + } + + if len(v.result) == 0 { + v.debugLogf("validating content type for %q against [%s]", ct, strings.Join(v.route.Consumes, ", ")) + if err := validateContentType(v.route.Consumes, ct); err != nil { + v.result = append(v.result, err) + } + } + if ct != "" && v.route.Consumer == nil { + cons, ok := v.route.Consumers[ct] + if !ok { + v.result = append(v.result, errors.New(500, "no consumer registered for %s", ct)) + } else { + v.route.Consumer = cons + } + } + } +} + +func (v *validation) responseFormat() { + // if the route provides values for Produces and no format could be identify then return an error. + // if the route does not specify values for Produces then treat request as valid since the API designer + // choose not to specify the format for responses. + if str, rCtx := v.context.ResponseFormat(v.request, v.route.Produces); str == "" && len(v.route.Produces) > 0 { + v.request = rCtx + v.result = append(v.result, errors.InvalidResponseFormat(v.request.Header.Get(runtime.HeaderAccept), v.route.Produces)) + } +} diff --git a/vendor/github.com/go-openapi/runtime/request.go b/vendor/github.com/go-openapi/runtime/request.go new file mode 100644 index 000000000..9e3e1ecb1 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/request.go @@ -0,0 +1,149 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "bufio" + "context" + "errors" + "io" + "net/http" + "strings" + + "github.com/go-openapi/swag" +) + +// CanHaveBody returns true if this method can have a body +func CanHaveBody(method string) bool { + mn := strings.ToUpper(method) + return mn == "POST" || mn == "PUT" || mn == "PATCH" || mn == "DELETE" +} + +// IsSafe returns true if this is a request with a safe method +func IsSafe(r *http.Request) bool { + mn := strings.ToUpper(r.Method) + return mn == "GET" || mn == "HEAD" +} + +// AllowsBody returns true if the request allows for a body +func AllowsBody(r *http.Request) bool { + mn := strings.ToUpper(r.Method) + return mn != "HEAD" +} + +// HasBody returns true if this method needs a content-type +func HasBody(r *http.Request) bool { + // happy case: we have a content length set + if r.ContentLength > 0 { + return true + } + + if r.Header.Get("content-length") != "" { + // in this case, no Transfer-Encoding should be present + // we have a header set but it was explicitly set to 0, so we assume no body + return false + } + + rdr := newPeekingReader(r.Body) + r.Body = rdr + return rdr.HasContent() +} + +func newPeekingReader(r io.ReadCloser) *peekingReader { + if r == nil { + return nil + } + return &peekingReader{ + underlying: bufio.NewReader(r), + orig: r, + } +} + +type peekingReader struct { + underlying interface { + Buffered() int + Peek(int) ([]byte, error) + Read([]byte) (int, error) + } + orig io.ReadCloser +} + +func (p *peekingReader) HasContent() bool { + if p == nil { + return false + } + if p.underlying.Buffered() > 0 { + return true + } + b, err := p.underlying.Peek(1) + if err != nil { + return false + } + return len(b) > 0 +} + +func (p *peekingReader) Read(d []byte) (int, error) { + if p == nil { + return 0, io.EOF + } + if p.underlying == nil { + return 0, io.ErrUnexpectedEOF + } + return p.underlying.Read(d) +} + +func (p *peekingReader) Close() error { + if p.underlying == nil { + return errors.New("reader already closed") + } + p.underlying = nil + if p.orig != nil { + return p.orig.Close() + } + return nil +} + +// JSONRequest creates a new http request with json headers set. +// +// It uses context.Background. +func JSONRequest(method, urlStr string, body io.Reader) (*http.Request, error) { + req, err := http.NewRequestWithContext(context.Background(), method, urlStr, body) + if err != nil { + return nil, err + } + req.Header.Add(HeaderContentType, JSONMime) + req.Header.Add(HeaderAccept, JSONMime) + return req, nil +} + +// Gettable for things with a method GetOK(string) (data string, hasKey bool, hasValue bool) +type Gettable interface { + GetOK(string) ([]string, bool, bool) +} + +// ReadSingleValue reads a single value from the source +func ReadSingleValue(values Gettable, name string) string { + vv, _, hv := values.GetOK(name) + if hv { + return vv[len(vv)-1] + } + return "" +} + +// ReadCollectionValue reads a collection value from a string data source +func ReadCollectionValue(values Gettable, name, collectionFormat string) []string { + v := ReadSingleValue(values, name) + return swag.SplitByFormat(v, collectionFormat) +} diff --git a/vendor/github.com/go-openapi/runtime/security/authenticator.go b/vendor/github.com/go-openapi/runtime/security/authenticator.go new file mode 100644 index 000000000..bb30472bb --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/security/authenticator.go @@ -0,0 +1,277 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package security + +import ( + "context" + "net/http" + "strings" + + "github.com/go-openapi/errors" + + "github.com/go-openapi/runtime" +) + +const ( + query = "query" + header = "header" + accessTokenParam = "access_token" +) + +// HttpAuthenticator is a function that authenticates a HTTP request +func HttpAuthenticator(handler func(*http.Request) (bool, interface{}, error)) runtime.Authenticator { //nolint:revive,stylecheck + return runtime.AuthenticatorFunc(func(params interface{}) (bool, interface{}, error) { + if request, ok := params.(*http.Request); ok { + return handler(request) + } + if scoped, ok := params.(*ScopedAuthRequest); ok { + return handler(scoped.Request) + } + return false, nil, nil + }) +} + +// ScopedAuthenticator is a function that authenticates a HTTP request against a list of valid scopes +func ScopedAuthenticator(handler func(*ScopedAuthRequest) (bool, interface{}, error)) runtime.Authenticator { + return runtime.AuthenticatorFunc(func(params interface{}) (bool, interface{}, error) { + if request, ok := params.(*ScopedAuthRequest); ok { + return handler(request) + } + return false, nil, nil + }) +} + +// UserPassAuthentication authentication function +type UserPassAuthentication func(string, string) (interface{}, error) + +// UserPassAuthenticationCtx authentication function with context.Context +type UserPassAuthenticationCtx func(context.Context, string, string) (context.Context, interface{}, error) + +// TokenAuthentication authentication function +type TokenAuthentication func(string) (interface{}, error) + +// TokenAuthenticationCtx authentication function with context.Context +type TokenAuthenticationCtx func(context.Context, string) (context.Context, interface{}, error) + +// ScopedTokenAuthentication authentication function +type ScopedTokenAuthentication func(string, []string) (interface{}, error) + +// ScopedTokenAuthenticationCtx authentication function with context.Context +type ScopedTokenAuthenticationCtx func(context.Context, string, []string) (context.Context, interface{}, error) + +var DefaultRealmName = "API" + +type secCtxKey uint8 + +const ( + failedBasicAuth secCtxKey = iota + oauth2SchemeName +) + +func FailedBasicAuth(r *http.Request) string { + return FailedBasicAuthCtx(r.Context()) +} + +func FailedBasicAuthCtx(ctx context.Context) string { + v, ok := ctx.Value(failedBasicAuth).(string) + if !ok { + return "" + } + return v +} + +func OAuth2SchemeName(r *http.Request) string { + return OAuth2SchemeNameCtx(r.Context()) +} + +func OAuth2SchemeNameCtx(ctx context.Context) string { + v, ok := ctx.Value(oauth2SchemeName).(string) + if !ok { + return "" + } + return v +} + +// BasicAuth creates a basic auth authenticator with the provided authentication function +func BasicAuth(authenticate UserPassAuthentication) runtime.Authenticator { + return BasicAuthRealm(DefaultRealmName, authenticate) +} + +// BasicAuthRealm creates a basic auth authenticator with the provided authentication function and realm name +func BasicAuthRealm(realm string, authenticate UserPassAuthentication) runtime.Authenticator { + if realm == "" { + realm = DefaultRealmName + } + + return HttpAuthenticator(func(r *http.Request) (bool, interface{}, error) { + if usr, pass, ok := r.BasicAuth(); ok { + p, err := authenticate(usr, pass) + if err != nil { + *r = *r.WithContext(context.WithValue(r.Context(), failedBasicAuth, realm)) + } + return true, p, err + } + *r = *r.WithContext(context.WithValue(r.Context(), failedBasicAuth, realm)) + return false, nil, nil + }) +} + +// BasicAuthCtx creates a basic auth authenticator with the provided authentication function with support for context.Context +func BasicAuthCtx(authenticate UserPassAuthenticationCtx) runtime.Authenticator { + return BasicAuthRealmCtx(DefaultRealmName, authenticate) +} + +// BasicAuthRealmCtx creates a basic auth authenticator with the provided authentication function and realm name with support for context.Context +func BasicAuthRealmCtx(realm string, authenticate UserPassAuthenticationCtx) runtime.Authenticator { + if realm == "" { + realm = DefaultRealmName + } + + return HttpAuthenticator(func(r *http.Request) (bool, interface{}, error) { + if usr, pass, ok := r.BasicAuth(); ok { + ctx, p, err := authenticate(r.Context(), usr, pass) + if err != nil { + ctx = context.WithValue(ctx, failedBasicAuth, realm) + } + *r = *r.WithContext(ctx) + return true, p, err + } + *r = *r.WithContext(context.WithValue(r.Context(), failedBasicAuth, realm)) + return false, nil, nil + }) +} + +// APIKeyAuth creates an authenticator that uses a token for authorization. +// This token can be obtained from either a header or a query string +func APIKeyAuth(name, in string, authenticate TokenAuthentication) runtime.Authenticator { + inl := strings.ToLower(in) + if inl != query && inl != header { + // panic because this is most likely a typo + panic(errors.New(500, "api key auth: in value needs to be either \"query\" or \"header\"")) + } + + var getToken func(*http.Request) string + switch inl { + case header: + getToken = func(r *http.Request) string { return r.Header.Get(name) } + case query: + getToken = func(r *http.Request) string { return r.URL.Query().Get(name) } + } + + return HttpAuthenticator(func(r *http.Request) (bool, interface{}, error) { + token := getToken(r) + if token == "" { + return false, nil, nil + } + + p, err := authenticate(token) + return true, p, err + }) +} + +// APIKeyAuthCtx creates an authenticator that uses a token for authorization with support for context.Context. +// This token can be obtained from either a header or a query string +func APIKeyAuthCtx(name, in string, authenticate TokenAuthenticationCtx) runtime.Authenticator { + inl := strings.ToLower(in) + if inl != query && inl != header { + // panic because this is most likely a typo + panic(errors.New(500, "api key auth: in value needs to be either \"query\" or \"header\"")) + } + + var getToken func(*http.Request) string + switch inl { + case header: + getToken = func(r *http.Request) string { return r.Header.Get(name) } + case query: + getToken = func(r *http.Request) string { return r.URL.Query().Get(name) } + } + + return HttpAuthenticator(func(r *http.Request) (bool, interface{}, error) { + token := getToken(r) + if token == "" { + return false, nil, nil + } + + ctx, p, err := authenticate(r.Context(), token) + *r = *r.WithContext(ctx) + return true, p, err + }) +} + +// ScopedAuthRequest contains both a http request and the required scopes for a particular operation +type ScopedAuthRequest struct { + Request *http.Request + RequiredScopes []string +} + +// BearerAuth for use with oauth2 flows +func BearerAuth(name string, authenticate ScopedTokenAuthentication) runtime.Authenticator { + const prefix = "Bearer " + return ScopedAuthenticator(func(r *ScopedAuthRequest) (bool, interface{}, error) { + var token string + hdr := r.Request.Header.Get(runtime.HeaderAuthorization) + if strings.HasPrefix(hdr, prefix) { + token = strings.TrimPrefix(hdr, prefix) + } + if token == "" { + qs := r.Request.URL.Query() + token = qs.Get(accessTokenParam) + } + //#nosec + ct, _, _ := runtime.ContentType(r.Request.Header) + if token == "" && (ct == "application/x-www-form-urlencoded" || ct == "multipart/form-data") { + token = r.Request.FormValue(accessTokenParam) + } + + if token == "" { + return false, nil, nil + } + + rctx := context.WithValue(r.Request.Context(), oauth2SchemeName, name) + *r.Request = *r.Request.WithContext(rctx) + p, err := authenticate(token, r.RequiredScopes) + return true, p, err + }) +} + +// BearerAuthCtx for use with oauth2 flows with support for context.Context. +func BearerAuthCtx(name string, authenticate ScopedTokenAuthenticationCtx) runtime.Authenticator { + const prefix = "Bearer " + return ScopedAuthenticator(func(r *ScopedAuthRequest) (bool, interface{}, error) { + var token string + hdr := r.Request.Header.Get(runtime.HeaderAuthorization) + if strings.HasPrefix(hdr, prefix) { + token = strings.TrimPrefix(hdr, prefix) + } + if token == "" { + qs := r.Request.URL.Query() + token = qs.Get(accessTokenParam) + } + //#nosec + ct, _, _ := runtime.ContentType(r.Request.Header) + if token == "" && (ct == "application/x-www-form-urlencoded" || ct == "multipart/form-data") { + token = r.Request.FormValue(accessTokenParam) + } + + if token == "" { + return false, nil, nil + } + + rctx := context.WithValue(r.Request.Context(), oauth2SchemeName, name) + ctx, p, err := authenticate(rctx, token, r.RequiredScopes) + *r.Request = *r.Request.WithContext(ctx) + return true, p, err + }) +} diff --git a/vendor/github.com/go-openapi/runtime/security/authorizer.go b/vendor/github.com/go-openapi/runtime/security/authorizer.go new file mode 100644 index 000000000..00c1a4d6a --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/security/authorizer.go @@ -0,0 +1,27 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package security + +import ( + "net/http" + + "github.com/go-openapi/runtime" +) + +// Authorized provides a default implementation of the Authorizer interface where all +// requests are authorized (successful) +func Authorized() runtime.Authorizer { + return runtime.AuthorizerFunc(func(_ *http.Request, _ interface{}) error { return nil }) +} diff --git a/vendor/github.com/go-openapi/runtime/statuses.go b/vendor/github.com/go-openapi/runtime/statuses.go new file mode 100644 index 000000000..3b011a0bf --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/statuses.go @@ -0,0 +1,90 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +// Statuses lists the most common HTTP status codes to default message +// taken from https://httpstatuses.com/ +var Statuses = map[int]string{ + 100: "Continue", + 101: "Switching Protocols", + 102: "Processing", + 103: "Checkpoint", + 122: "URI too long", + 200: "OK", + 201: "Created", + 202: "Accepted", + 203: "Request Processed", + 204: "No Content", + 205: "Reset Content", + 206: "Partial Content", + 207: "Multi-Status", + 208: "Already Reported", + 226: "IM Used", + 300: "Multiple Choices", + 301: "Moved Permanently", + 302: "Found", + 303: "See Other", + 304: "Not Modified", + 305: "Use Proxy", + 306: "Switch Proxy", + 307: "Temporary Redirect", + 308: "Permanent Redirect", + 400: "Bad Request", + 401: "Unauthorized", + 402: "Payment Required", + 403: "Forbidden", + 404: "Not Found", + 405: "Method Not Allowed", + 406: "Not Acceptable", + 407: "Proxy Authentication Required", + 408: "Request Timeout", + 409: "Conflict", + 410: "Gone", + 411: "Length Required", + 412: "Precondition Failed", + 413: "Request Entity Too Large", + 414: "Request-URI Too Long", + 415: "Unsupported Media Type", + 416: "Request Range Not Satisfiable", + 417: "Expectation Failed", + 418: "I'm a teapot", + 420: "Enhance Your Calm", + 422: "Unprocessable Entity", + 423: "Locked", + 424: "Failed Dependency", + 426: "Upgrade Required", + 428: "Precondition Required", + 429: "Too Many Requests", + 431: "Request Header Fields Too Large", + 444: "No Response", + 449: "Retry With", + 450: "Blocked by Windows Parental Controls", + 451: "Wrong Exchange Server", + 499: "Client Closed Request", + 500: "Internal Server Error", + 501: "Not Implemented", + 502: "Bad Gateway", + 503: "Service Unavailable", + 504: "Gateway Timeout", + 505: "HTTP Version Not Supported", + 506: "Variant Also Negotiates", + 507: "Insufficient Storage", + 508: "Loop Detected", + 509: "Bandwidth Limit Exceeded", + 510: "Not Extended", + 511: "Network Authentication Required", + 598: "Network read timeout error", + 599: "Network connect timeout error", +} diff --git a/vendor/github.com/go-openapi/runtime/text.go b/vendor/github.com/go-openapi/runtime/text.go new file mode 100644 index 000000000..f33320b7d --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/text.go @@ -0,0 +1,116 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "bytes" + "encoding" + "errors" + "fmt" + "io" + "reflect" + + "github.com/go-openapi/swag" +) + +// TextConsumer creates a new text consumer +func TextConsumer() Consumer { + return ConsumerFunc(func(reader io.Reader, data interface{}) error { + if reader == nil { + return errors.New("TextConsumer requires a reader") // early exit + } + + buf := new(bytes.Buffer) + _, err := buf.ReadFrom(reader) + if err != nil { + return err + } + b := buf.Bytes() + + // If the buffer is empty, no need to unmarshal it, which causes a panic. + if len(b) == 0 { + return nil + } + + if tu, ok := data.(encoding.TextUnmarshaler); ok { + err := tu.UnmarshalText(b) + if err != nil { + return fmt.Errorf("text consumer: %v", err) + } + + return nil + } + + t := reflect.TypeOf(data) + if data != nil && t.Kind() == reflect.Ptr { + v := reflect.Indirect(reflect.ValueOf(data)) + if t.Elem().Kind() == reflect.String { + v.SetString(string(b)) + return nil + } + } + + return fmt.Errorf("%v (%T) is not supported by the TextConsumer, %s", + data, data, "can be resolved by supporting TextUnmarshaler interface") + }) +} + +// TextProducer creates a new text producer +func TextProducer() Producer { + return ProducerFunc(func(writer io.Writer, data interface{}) error { + if writer == nil { + return errors.New("TextProducer requires a writer") // early exit + } + + if data == nil { + return errors.New("no data given to produce text from") + } + + if tm, ok := data.(encoding.TextMarshaler); ok { + txt, err := tm.MarshalText() + if err != nil { + return fmt.Errorf("text producer: %v", err) + } + _, err = writer.Write(txt) + return err + } + + if str, ok := data.(error); ok { + _, err := writer.Write([]byte(str.Error())) + return err + } + + if str, ok := data.(fmt.Stringer); ok { + _, err := writer.Write([]byte(str.String())) + return err + } + + v := reflect.Indirect(reflect.ValueOf(data)) + if t := v.Type(); t.Kind() == reflect.Struct || t.Kind() == reflect.Slice { + b, err := swag.WriteJSON(data) + if err != nil { + return err + } + _, err = writer.Write(b) + return err + } + if v.Kind() != reflect.String { + return fmt.Errorf("%T is not a supported type by the TextProducer", data) + } + + _, err := writer.Write([]byte(v.String())) + return err + }) +} diff --git a/vendor/github.com/go-openapi/runtime/values.go b/vendor/github.com/go-openapi/runtime/values.go new file mode 100644 index 000000000..11f5732af --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/values.go @@ -0,0 +1,19 @@ +package runtime + +// Values typically represent parameters on a http request. +type Values map[string][]string + +// GetOK returns the values collection for the given key. +// When the key is present in the map it will return true for hasKey. +// When the value is not empty it will return true for hasValue. +func (v Values) GetOK(key string) (value []string, hasKey bool, hasValue bool) { + value, hasKey = v[key] + if !hasKey { + return + } + if len(value) == 0 { + return + } + hasValue = true + return +} diff --git a/vendor/github.com/go-openapi/runtime/xml.go b/vendor/github.com/go-openapi/runtime/xml.go new file mode 100644 index 000000000..821c7393d --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/xml.go @@ -0,0 +1,36 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runtime + +import ( + "encoding/xml" + "io" +) + +// XMLConsumer creates a new XML consumer +func XMLConsumer() Consumer { + return ConsumerFunc(func(reader io.Reader, data interface{}) error { + dec := xml.NewDecoder(reader) + return dec.Decode(data) + }) +} + +// XMLProducer creates a new XML producer +func XMLProducer() Producer { + return ProducerFunc(func(writer io.Writer, data interface{}) error { + enc := xml.NewEncoder(writer) + return enc.Encode(data) + }) +} diff --git a/vendor/github.com/go-openapi/runtime/yamlpc/yaml.go b/vendor/github.com/go-openapi/runtime/yamlpc/yaml.go new file mode 100644 index 000000000..a1a0a589d --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/yamlpc/yaml.go @@ -0,0 +1,39 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yamlpc + +import ( + "io" + + "github.com/go-openapi/runtime" + "gopkg.in/yaml.v3" +) + +// YAMLConsumer creates a consumer for yaml data +func YAMLConsumer() runtime.Consumer { + return runtime.ConsumerFunc(func(r io.Reader, v interface{}) error { + dec := yaml.NewDecoder(r) + return dec.Decode(v) + }) +} + +// YAMLProducer creates a producer for yaml data +func YAMLProducer() runtime.Producer { + return runtime.ProducerFunc(func(w io.Writer, v interface{}) error { + enc := yaml.NewEncoder(w) + defer enc.Close() + return enc.Encode(v) + }) +} diff --git a/vendor/github.com/go-openapi/spec/.editorconfig b/vendor/github.com/go-openapi/spec/.editorconfig new file mode 100644 index 000000000..3152da69a --- /dev/null +++ b/vendor/github.com/go-openapi/spec/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/spec/.gitignore b/vendor/github.com/go-openapi/spec/.gitignore new file mode 100644 index 000000000..f47cb2045 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/.gitignore @@ -0,0 +1 @@ +*.out diff --git a/vendor/github.com/go-openapi/spec/.golangci.yml b/vendor/github.com/go-openapi/spec/.golangci.yml new file mode 100644 index 000000000..22f8d21cc --- /dev/null +++ b/vendor/github.com/go-openapi/spec/.golangci.yml @@ -0,0 +1,61 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 45 + maligned: + suggest-new: true + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + +linters: + enable-all: true + disable: + - maligned + - unparam + - lll + - gochecknoinits + - gochecknoglobals + - funlen + - godox + - gocognit + - whitespace + - wsl + - wrapcheck + - testpackage + - nlreturn + - gomnd + - exhaustivestruct + - goerr113 + - errorlint + - nestif + - godot + - gofumpt + - paralleltest + - tparallel + - thelper + - ifshort + - exhaustruct + - varnamelen + - gci + - depguard + - errchkjson + - inamedparam + - nonamedreturns + - musttag + - ireturn + - forcetypeassert + - cyclop + # deprecated linters + - deadcode + - interfacer + - scopelint + - varcheck + - structcheck + - golint + - nosnakecase diff --git a/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/spec/LICENSE b/vendor/github.com/go-openapi/spec/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/spec/README.md b/vendor/github.com/go-openapi/spec/README.md new file mode 100644 index 000000000..7fd2810c6 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/README.md @@ -0,0 +1,54 @@ +# OpenAPI v2 object model [![Build Status](https://github.com/go-openapi/spec/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/spec/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/spec/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/spec) + +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/spec/master/LICENSE) +[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/spec.svg)](https://pkg.go.dev/github.com/go-openapi/spec) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/spec)](https://goreportcard.com/report/github.com/go-openapi/spec) + +The object model for OpenAPI specification documents. + +### FAQ + +* What does this do? + +> 1. This package knows how to marshal and unmarshal Swagger API specifications into a golang object model +> 2. It knows how to resolve $ref and expand them to make a single root document + +* How does it play with the rest of the go-openapi packages ? + +> 1. This package is at the core of the go-openapi suite of packages and [code generator](https://github.com/go-swagger/go-swagger) +> 2. There is a [spec loading package](https://github.com/go-openapi/loads) to fetch specs as JSON or YAML from local or remote locations +> 3. There is a [spec validation package](https://github.com/go-openapi/validate) built on top of it +> 4. There is a [spec analysis package](https://github.com/go-openapi/analysis) built on top of it, to analyze, flatten, fix and merge spec documents + +* Does this library support OpenAPI 3? + +> No. +> This package currently only supports OpenAPI 2.0 (aka Swagger 2.0). +> There is no plan to make it evolve toward supporting OpenAPI 3.x. +> This [discussion thread](https://github.com/go-openapi/spec/issues/21) relates the full story. +> +> An early attempt to support Swagger 3 may be found at: https://github.com/go-openapi/spec3 + +* Does the unmarshaling support YAML? + +> Not directly. The exposed types know only how to unmarshal from JSON. +> +> In order to load a YAML document as a Swagger spec, you need to use the loaders provided by +> github.com/go-openapi/loads +> +> Take a look at the example there: https://pkg.go.dev/github.com/go-openapi/loads#example-Spec +> +> See also https://github.com/go-openapi/spec/issues/164 + +* How can I validate a spec? + +> Validation is provided by [the validate package](http://github.com/go-openapi/validate) + +* Why do we have an `ID` field for `Schema` which is not part of the swagger spec? + +> We found jsonschema compatibility more important: since `id` in jsonschema influences +> how `$ref` are resolved. +> This `id` does not conflict with any property named `id`. +> +> See also https://github.com/go-openapi/spec/issues/23 diff --git a/vendor/github.com/go-openapi/spec/cache.go b/vendor/github.com/go-openapi/spec/cache.go new file mode 100644 index 000000000..122993b44 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/cache.go @@ -0,0 +1,98 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "sync" +) + +// ResolutionCache a cache for resolving urls +type ResolutionCache interface { + Get(string) (interface{}, bool) + Set(string, interface{}) +} + +type simpleCache struct { + lock sync.RWMutex + store map[string]interface{} +} + +func (s *simpleCache) ShallowClone() ResolutionCache { + store := make(map[string]interface{}, len(s.store)) + s.lock.RLock() + for k, v := range s.store { + store[k] = v + } + s.lock.RUnlock() + + return &simpleCache{ + store: store, + } +} + +// Get retrieves a cached URI +func (s *simpleCache) Get(uri string) (interface{}, bool) { + s.lock.RLock() + v, ok := s.store[uri] + + s.lock.RUnlock() + return v, ok +} + +// Set caches a URI +func (s *simpleCache) Set(uri string, data interface{}) { + s.lock.Lock() + s.store[uri] = data + s.lock.Unlock() +} + +var ( + // resCache is a package level cache for $ref resolution and expansion. + // It is initialized lazily by methods that have the need for it: no + // memory is allocated unless some expander methods are called. + // + // It is initialized with JSON schema and swagger schema, + // which do not mutate during normal operations. + // + // All subsequent utilizations of this cache are produced from a shallow + // clone of this initial version. + resCache *simpleCache + onceCache sync.Once + + _ ResolutionCache = &simpleCache{} +) + +// initResolutionCache initializes the URI resolution cache. To be wrapped in a sync.Once.Do call. +func initResolutionCache() { + resCache = defaultResolutionCache() +} + +func defaultResolutionCache() *simpleCache { + return &simpleCache{store: map[string]interface{}{ + "http://swagger.io/v2/schema.json": MustLoadSwagger20Schema(), + "http://json-schema.org/draft-04/schema": MustLoadJSONSchemaDraft04(), + }} +} + +func cacheOrDefault(cache ResolutionCache) ResolutionCache { + onceCache.Do(initResolutionCache) + + if cache != nil { + return cache + } + + // get a shallow clone of the base cache with swagger and json schema + return resCache.ShallowClone() +} diff --git a/vendor/github.com/go-openapi/spec/contact_info.go b/vendor/github.com/go-openapi/spec/contact_info.go new file mode 100644 index 000000000..2f7bb219b --- /dev/null +++ b/vendor/github.com/go-openapi/spec/contact_info.go @@ -0,0 +1,57 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/swag" +) + +// ContactInfo contact information for the exposed API. +// +// For more information: http://goo.gl/8us55a#contactObject +type ContactInfo struct { + ContactInfoProps + VendorExtensible +} + +// ContactInfoProps hold the properties of a ContactInfo object +type ContactInfoProps struct { + Name string `json:"name,omitempty"` + URL string `json:"url,omitempty"` + Email string `json:"email,omitempty"` +} + +// UnmarshalJSON hydrates ContactInfo from json +func (c *ContactInfo) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &c.ContactInfoProps); err != nil { + return err + } + return json.Unmarshal(data, &c.VendorExtensible) +} + +// MarshalJSON produces ContactInfo as json +func (c ContactInfo) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(c.ContactInfoProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(c.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} diff --git a/vendor/github.com/go-openapi/spec/debug.go b/vendor/github.com/go-openapi/spec/debug.go new file mode 100644 index 000000000..fc889f6d0 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/debug.go @@ -0,0 +1,49 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "fmt" + "log" + "os" + "path" + "runtime" +) + +// Debug is true when the SWAGGER_DEBUG env var is not empty. +// +// It enables a more verbose logging of this package. +var Debug = os.Getenv("SWAGGER_DEBUG") != "" + +var ( + // specLogger is a debug logger for this package + specLogger *log.Logger +) + +func init() { + debugOptions() +} + +func debugOptions() { + specLogger = log.New(os.Stdout, "spec:", log.LstdFlags) +} + +func debugLog(msg string, args ...interface{}) { + // A private, trivial trace logger, based on go-openapi/spec/expander.go:debugLog() + if Debug { + _, file1, pos1, _ := runtime.Caller(1) + specLogger.Printf("%s:%d: %s", path.Base(file1), pos1, fmt.Sprintf(msg, args...)) + } +} diff --git a/vendor/github.com/go-openapi/spec/embed.go b/vendor/github.com/go-openapi/spec/embed.go new file mode 100644 index 000000000..1f4284750 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/embed.go @@ -0,0 +1,17 @@ +package spec + +import ( + "embed" + "path" +) + +//go:embed schemas/*.json schemas/*/*.json +var assets embed.FS + +func jsonschemaDraft04JSONBytes() ([]byte, error) { + return assets.ReadFile(path.Join("schemas", "jsonschema-draft-04.json")) +} + +func v2SchemaJSONBytes() ([]byte, error) { + return assets.ReadFile(path.Join("schemas", "v2", "schema.json")) +} diff --git a/vendor/github.com/go-openapi/spec/errors.go b/vendor/github.com/go-openapi/spec/errors.go new file mode 100644 index 000000000..6992c7ba7 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/errors.go @@ -0,0 +1,19 @@ +package spec + +import "errors" + +// Error codes +var ( + // ErrUnknownTypeForReference indicates that a resolved reference was found in an unsupported container type + ErrUnknownTypeForReference = errors.New("unknown type for the resolved reference") + + // ErrResolveRefNeedsAPointer indicates that a $ref target must be a valid JSON pointer + ErrResolveRefNeedsAPointer = errors.New("resolve ref: target needs to be a pointer") + + // ErrDerefUnsupportedType indicates that a resolved reference was found in an unsupported container type. + // At the moment, $ref are supported only inside: schemas, parameters, responses, path items + ErrDerefUnsupportedType = errors.New("deref: unsupported type") + + // ErrExpandUnsupportedType indicates that $ref expansion is attempted on some invalid type + ErrExpandUnsupportedType = errors.New("expand: unsupported type. Input should be of type *Parameter or *Response") +) diff --git a/vendor/github.com/go-openapi/spec/expander.go b/vendor/github.com/go-openapi/spec/expander.go new file mode 100644 index 000000000..b81a5699a --- /dev/null +++ b/vendor/github.com/go-openapi/spec/expander.go @@ -0,0 +1,607 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "fmt" +) + +// ExpandOptions provides options for the spec expander. +// +// RelativeBase is the path to the root document. This can be a remote URL or a path to a local file. +// +// If left empty, the root document is assumed to be located in the current working directory: +// all relative $ref's will be resolved from there. +// +// PathLoader injects a document loading method. By default, this resolves to the function provided by the SpecLoader package variable. +type ExpandOptions struct { + RelativeBase string // the path to the root document to expand. This is a file, not a directory + SkipSchemas bool // do not expand schemas, just paths, parameters and responses + ContinueOnError bool // continue expanding even after and error is found + PathLoader func(string) (json.RawMessage, error) `json:"-"` // the document loading method that takes a path as input and yields a json document + AbsoluteCircularRef bool // circular $ref remaining after expansion remain absolute URLs +} + +func optionsOrDefault(opts *ExpandOptions) *ExpandOptions { + if opts != nil { + clone := *opts // shallow clone to avoid internal changes to be propagated to the caller + if clone.RelativeBase != "" { + clone.RelativeBase = normalizeBase(clone.RelativeBase) + } + // if the relative base is empty, let the schema loader choose a pseudo root document + return &clone + } + return &ExpandOptions{} +} + +// ExpandSpec expands the references in a swagger spec +func ExpandSpec(spec *Swagger, options *ExpandOptions) error { + options = optionsOrDefault(options) + resolver := defaultSchemaLoader(spec, options, nil, nil) + + specBasePath := options.RelativeBase + + if !options.SkipSchemas { + for key, definition := range spec.Definitions { + parentRefs := make([]string, 0, 10) + parentRefs = append(parentRefs, "#/definitions/"+key) + + def, err := expandSchema(definition, parentRefs, resolver, specBasePath) + if resolver.shouldStopOnError(err) { + return err + } + if def != nil { + spec.Definitions[key] = *def + } + } + } + + for key := range spec.Parameters { + parameter := spec.Parameters[key] + if err := expandParameterOrResponse(¶meter, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Parameters[key] = parameter + } + + for key := range spec.Responses { + response := spec.Responses[key] + if err := expandParameterOrResponse(&response, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Responses[key] = response + } + + if spec.Paths != nil { + for key := range spec.Paths.Paths { + pth := spec.Paths.Paths[key] + if err := expandPathItem(&pth, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Paths.Paths[key] = pth + } + } + + return nil +} + +const rootBase = ".root" + +// baseForRoot loads in the cache the root document and produces a fake ".root" base path entry +// for further $ref resolution +func baseForRoot(root interface{}, cache ResolutionCache) string { + // cache the root document to resolve $ref's + normalizedBase := normalizeBase(rootBase) + + if root == nil { + // ensure that we never leave a nil root: always cache the root base pseudo-document + cachedRoot, found := cache.Get(normalizedBase) + if found && cachedRoot != nil { + // the cache is already preloaded with a root + return normalizedBase + } + + root = map[string]interface{}{} + } + + cache.Set(normalizedBase, root) + + return normalizedBase +} + +// ExpandSchema expands the refs in the schema object with reference to the root object. +// +// go-openapi/validate uses this function. +// +// Notice that it is impossible to reference a json schema in a different document other than root +// (use ExpandSchemaWithBasePath to resolve external references). +// +// Setting the cache is optional and this parameter may safely be left to nil. +func ExpandSchema(schema *Schema, root interface{}, cache ResolutionCache) error { + cache = cacheOrDefault(cache) + if root == nil { + root = schema + } + + opts := &ExpandOptions{ + // when a root is specified, cache the root as an in-memory document for $ref retrieval + RelativeBase: baseForRoot(root, cache), + SkipSchemas: false, + ContinueOnError: false, + } + + return ExpandSchemaWithBasePath(schema, cache, opts) +} + +// ExpandSchemaWithBasePath expands the refs in the schema object, base path configured through expand options. +// +// Setting the cache is optional and this parameter may safely be left to nil. +func ExpandSchemaWithBasePath(schema *Schema, cache ResolutionCache, opts *ExpandOptions) error { + if schema == nil { + return nil + } + + cache = cacheOrDefault(cache) + + opts = optionsOrDefault(opts) + + resolver := defaultSchemaLoader(nil, opts, cache, nil) + + parentRefs := make([]string, 0, 10) + s, err := expandSchema(*schema, parentRefs, resolver, opts.RelativeBase) + if err != nil { + return err + } + if s != nil { + // guard for when continuing on error + *schema = *s + } + + return nil +} + +func expandItems(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { + if target.Items == nil { + return &target, nil + } + + // array + if target.Items.Schema != nil { + t, err := expandSchema(*target.Items.Schema, parentRefs, resolver, basePath) + if err != nil { + return nil, err + } + *target.Items.Schema = *t + } + + // tuple + for i := range target.Items.Schemas { + t, err := expandSchema(target.Items.Schemas[i], parentRefs, resolver, basePath) + if err != nil { + return nil, err + } + target.Items.Schemas[i] = *t + } + + return &target, nil +} + +func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { + if target.Ref.String() == "" && target.Ref.IsRoot() { + newRef := normalizeRef(&target.Ref, basePath) + target.Ref = *newRef + return &target, nil + } + + // change the base path of resolution when an ID is encountered + // otherwise the basePath should inherit the parent's + if target.ID != "" { + basePath, _ = resolver.setSchemaID(target, target.ID, basePath) + } + + if target.Ref.String() != "" { + if !resolver.options.SkipSchemas { + return expandSchemaRef(target, parentRefs, resolver, basePath) + } + + // when "expand" with SkipSchema, we just rebase the existing $ref without replacing + // the full schema. + rebasedRef, err := NewRef(normalizeURI(target.Ref.String(), basePath)) + if err != nil { + return nil, err + } + target.Ref = denormalizeRef(&rebasedRef, resolver.context.basePath, resolver.context.rootID) + + return &target, nil + } + + for k := range target.Definitions { + tt, err := expandSchema(target.Definitions[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if tt != nil { + target.Definitions[k] = *tt + } + } + + t, err := expandItems(target, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target = *t + } + + for i := range target.AllOf { + t, err := expandSchema(target.AllOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.AllOf[i] = *t + } + } + + for i := range target.AnyOf { + t, err := expandSchema(target.AnyOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.AnyOf[i] = *t + } + } + + for i := range target.OneOf { + t, err := expandSchema(target.OneOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.OneOf[i] = *t + } + } + + if target.Not != nil { + t, err := expandSchema(*target.Not, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.Not = *t + } + } + + for k := range target.Properties { + t, err := expandSchema(target.Properties[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.Properties[k] = *t + } + } + + if target.AdditionalProperties != nil && target.AdditionalProperties.Schema != nil { + t, err := expandSchema(*target.AdditionalProperties.Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.AdditionalProperties.Schema = *t + } + } + + for k := range target.PatternProperties { + t, err := expandSchema(target.PatternProperties[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.PatternProperties[k] = *t + } + } + + for k := range target.Dependencies { + if target.Dependencies[k].Schema != nil { + t, err := expandSchema(*target.Dependencies[k].Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.Dependencies[k].Schema = *t + } + } + } + + if target.AdditionalItems != nil && target.AdditionalItems.Schema != nil { + t, err := expandSchema(*target.AdditionalItems.Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.AdditionalItems.Schema = *t + } + } + return &target, nil +} + +func expandSchemaRef(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { + // if a Ref is found, all sibling fields are skipped + // Ref also changes the resolution scope of children expandSchema + + // here the resolution scope is changed because a $ref was encountered + normalizedRef := normalizeRef(&target.Ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if resolver.isCircular(normalizedRef, basePath, parentRefs...) { + // this means there is a cycle in the recursion tree: return the Ref + // - circular refs cannot be expanded. We leave them as ref. + // - denormalization means that a new local file ref is set relative to the original basePath + debugLog("short circuit circular ref: basePath: %s, normalizedPath: %s, normalized ref: %s", + basePath, normalizedBasePath, normalizedRef.String()) + if !resolver.options.AbsoluteCircularRef { + target.Ref = denormalizeRef(normalizedRef, resolver.context.basePath, resolver.context.rootID) + } else { + target.Ref = *normalizedRef + } + return &target, nil + } + + var t *Schema + err := resolver.Resolve(&target.Ref, &t, basePath) + if resolver.shouldStopOnError(err) { + return nil, err + } + + if t == nil { + // guard for when continuing on error + return &target, nil + } + + parentRefs = append(parentRefs, normalizedRef.String()) + transitiveResolver := resolver.transitiveResolver(basePath, target.Ref) + + basePath = resolver.updateBasePath(transitiveResolver, normalizedBasePath) + + return expandSchema(*t, parentRefs, transitiveResolver, basePath) +} + +func expandPathItem(pathItem *PathItem, resolver *schemaLoader, basePath string) error { + if pathItem == nil { + return nil + } + + parentRefs := make([]string, 0, 10) + if err := resolver.deref(pathItem, parentRefs, basePath); resolver.shouldStopOnError(err) { + return err + } + + if pathItem.Ref.String() != "" { + transitiveResolver := resolver.transitiveResolver(basePath, pathItem.Ref) + basePath = transitiveResolver.updateBasePath(resolver, basePath) + resolver = transitiveResolver + } + + pathItem.Ref = Ref{} + for i := range pathItem.Parameters { + if err := expandParameterOrResponse(&(pathItem.Parameters[i]), resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + } + + ops := []*Operation{ + pathItem.Get, + pathItem.Head, + pathItem.Options, + pathItem.Put, + pathItem.Post, + pathItem.Patch, + pathItem.Delete, + } + for _, op := range ops { + if err := expandOperation(op, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + } + + return nil +} + +func expandOperation(op *Operation, resolver *schemaLoader, basePath string) error { + if op == nil { + return nil + } + + for i := range op.Parameters { + param := op.Parameters[i] + if err := expandParameterOrResponse(¶m, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + op.Parameters[i] = param + } + + if op.Responses == nil { + return nil + } + + responses := op.Responses + if err := expandParameterOrResponse(responses.Default, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + + for code := range responses.StatusCodeResponses { + response := responses.StatusCodeResponses[code] + if err := expandParameterOrResponse(&response, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + responses.StatusCodeResponses[code] = response + } + + return nil +} + +// ExpandResponseWithRoot expands a response based on a root document, not a fetchable document +// +// Notice that it is impossible to reference a json schema in a different document other than root +// (use ExpandResponse to resolve external references). +// +// Setting the cache is optional and this parameter may safely be left to nil. +func ExpandResponseWithRoot(response *Response, root interface{}, cache ResolutionCache) error { + cache = cacheOrDefault(cache) + opts := &ExpandOptions{ + RelativeBase: baseForRoot(root, cache), + } + resolver := defaultSchemaLoader(root, opts, cache, nil) + + return expandParameterOrResponse(response, resolver, opts.RelativeBase) +} + +// ExpandResponse expands a response based on a basepath +// +// All refs inside response will be resolved relative to basePath +func ExpandResponse(response *Response, basePath string) error { + opts := optionsOrDefault(&ExpandOptions{ + RelativeBase: basePath, + }) + resolver := defaultSchemaLoader(nil, opts, nil, nil) + + return expandParameterOrResponse(response, resolver, opts.RelativeBase) +} + +// ExpandParameterWithRoot expands a parameter based on a root document, not a fetchable document. +// +// Notice that it is impossible to reference a json schema in a different document other than root +// (use ExpandParameter to resolve external references). +func ExpandParameterWithRoot(parameter *Parameter, root interface{}, cache ResolutionCache) error { + cache = cacheOrDefault(cache) + + opts := &ExpandOptions{ + RelativeBase: baseForRoot(root, cache), + } + resolver := defaultSchemaLoader(root, opts, cache, nil) + + return expandParameterOrResponse(parameter, resolver, opts.RelativeBase) +} + +// ExpandParameter expands a parameter based on a basepath. +// This is the exported version of expandParameter +// all refs inside parameter will be resolved relative to basePath +func ExpandParameter(parameter *Parameter, basePath string) error { + opts := optionsOrDefault(&ExpandOptions{ + RelativeBase: basePath, + }) + resolver := defaultSchemaLoader(nil, opts, nil, nil) + + return expandParameterOrResponse(parameter, resolver, opts.RelativeBase) +} + +func getRefAndSchema(input interface{}) (*Ref, *Schema, error) { + var ( + ref *Ref + sch *Schema + ) + + switch refable := input.(type) { + case *Parameter: + if refable == nil { + return nil, nil, nil + } + ref = &refable.Ref + sch = refable.Schema + case *Response: + if refable == nil { + return nil, nil, nil + } + ref = &refable.Ref + sch = refable.Schema + default: + return nil, nil, fmt.Errorf("unsupported type: %T: %w", input, ErrExpandUnsupportedType) + } + + return ref, sch, nil +} + +func expandParameterOrResponse(input interface{}, resolver *schemaLoader, basePath string) error { + ref, sch, err := getRefAndSchema(input) + if err != nil { + return err + } + + if ref == nil && sch == nil { // nothing to do + return nil + } + + parentRefs := make([]string, 0, 10) + if ref != nil { + // dereference this $ref + if err = resolver.deref(input, parentRefs, basePath); resolver.shouldStopOnError(err) { + return err + } + + ref, sch, _ = getRefAndSchema(input) + } + + if ref.String() != "" { + transitiveResolver := resolver.transitiveResolver(basePath, *ref) + basePath = resolver.updateBasePath(transitiveResolver, basePath) + resolver = transitiveResolver + } + + if sch == nil { + // nothing to be expanded + if ref != nil { + *ref = Ref{} + } + + return nil + } + + if sch.Ref.String() != "" { + rebasedRef, ern := NewRef(normalizeURI(sch.Ref.String(), basePath)) + if ern != nil { + return ern + } + + if resolver.isCircular(&rebasedRef, basePath, parentRefs...) { + // this is a circular $ref: stop expansion + if !resolver.options.AbsoluteCircularRef { + sch.Ref = denormalizeRef(&rebasedRef, resolver.context.basePath, resolver.context.rootID) + } else { + sch.Ref = rebasedRef + } + } + } + + // $ref expansion or rebasing is performed by expandSchema below + if ref != nil { + *ref = Ref{} + } + + // expand schema + // yes, we do it even if options.SkipSchema is true: we have to go down that rabbit hole and rebase nested $ref) + s, err := expandSchema(*sch, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return err + } + + if s != nil { // guard for when continuing on error + *sch = *s + } + + return nil +} diff --git a/vendor/github.com/go-openapi/spec/external_docs.go b/vendor/github.com/go-openapi/spec/external_docs.go new file mode 100644 index 000000000..88add91b2 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/external_docs.go @@ -0,0 +1,24 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +// ExternalDocumentation allows referencing an external resource for +// extended documentation. +// +// For more information: http://goo.gl/8us55a#externalDocumentationObject +type ExternalDocumentation struct { + Description string `json:"description,omitempty"` + URL string `json:"url,omitempty"` +} diff --git a/vendor/github.com/go-openapi/spec/header.go b/vendor/github.com/go-openapi/spec/header.go new file mode 100644 index 000000000..9dfd17b18 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/header.go @@ -0,0 +1,203 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + jsonArray = "array" +) + +// HeaderProps describes a response header +type HeaderProps struct { + Description string `json:"description,omitempty"` +} + +// Header describes a header for a response of the API +// +// For more information: http://goo.gl/8us55a#headerObject +type Header struct { + CommonValidations + SimpleSchema + VendorExtensible + HeaderProps +} + +// ResponseHeader creates a new header instance for use in a response +func ResponseHeader() *Header { + return new(Header) +} + +// WithDescription sets the description on this response, allows for chaining +func (h *Header) WithDescription(description string) *Header { + h.Description = description + return h +} + +// Typed a fluent builder method for the type of parameter +func (h *Header) Typed(tpe, format string) *Header { + h.Type = tpe + h.Format = format + return h +} + +// CollectionOf a fluent builder method for an array item +func (h *Header) CollectionOf(items *Items, format string) *Header { + h.Type = jsonArray + h.Items = items + h.CollectionFormat = format + return h +} + +// WithDefault sets the default value on this item +func (h *Header) WithDefault(defaultValue interface{}) *Header { + h.Default = defaultValue + return h +} + +// WithMaxLength sets a max length value +func (h *Header) WithMaxLength(max int64) *Header { + h.MaxLength = &max + return h +} + +// WithMinLength sets a min length value +func (h *Header) WithMinLength(min int64) *Header { + h.MinLength = &min + return h +} + +// WithPattern sets a pattern value +func (h *Header) WithPattern(pattern string) *Header { + h.Pattern = pattern + return h +} + +// WithMultipleOf sets a multiple of value +func (h *Header) WithMultipleOf(number float64) *Header { + h.MultipleOf = &number + return h +} + +// WithMaximum sets a maximum number value +func (h *Header) WithMaximum(max float64, exclusive bool) *Header { + h.Maximum = &max + h.ExclusiveMaximum = exclusive + return h +} + +// WithMinimum sets a minimum number value +func (h *Header) WithMinimum(min float64, exclusive bool) *Header { + h.Minimum = &min + h.ExclusiveMinimum = exclusive + return h +} + +// WithEnum sets a the enum values (replace) +func (h *Header) WithEnum(values ...interface{}) *Header { + h.Enum = append([]interface{}{}, values...) + return h +} + +// WithMaxItems sets the max items +func (h *Header) WithMaxItems(size int64) *Header { + h.MaxItems = &size + return h +} + +// WithMinItems sets the min items +func (h *Header) WithMinItems(size int64) *Header { + h.MinItems = &size + return h +} + +// UniqueValues dictates that this array can only have unique items +func (h *Header) UniqueValues() *Header { + h.UniqueItems = true + return h +} + +// AllowDuplicates this array can have duplicates +func (h *Header) AllowDuplicates() *Header { + h.UniqueItems = false + return h +} + +// WithValidations is a fluent method to set header validations +func (h *Header) WithValidations(val CommonValidations) *Header { + h.SetValidations(SchemaValidations{CommonValidations: val}) + return h +} + +// MarshalJSON marshal this to JSON +func (h Header) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(h.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(h.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(h.HeaderProps) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2, b3), nil +} + +// UnmarshalJSON unmarshals this header from JSON +func (h *Header) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &h.CommonValidations); err != nil { + return err + } + if err := json.Unmarshal(data, &h.SimpleSchema); err != nil { + return err + } + if err := json.Unmarshal(data, &h.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &h.HeaderProps) +} + +// JSONLookup look up a value by the json property name +func (h Header) JSONLookup(token string) (interface{}, error) { + if ex, ok := h.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(h.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(h.SimpleSchema, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(h.HeaderProps, token) + return r, err +} diff --git a/vendor/github.com/go-openapi/spec/info.go b/vendor/github.com/go-openapi/spec/info.go new file mode 100644 index 000000000..582f0fd4c --- /dev/null +++ b/vendor/github.com/go-openapi/spec/info.go @@ -0,0 +1,184 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "strconv" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// Extensions vendor specific extensions +type Extensions map[string]interface{} + +// Add adds a value to these extensions +func (e Extensions) Add(key string, value interface{}) { + realKey := strings.ToLower(key) + e[realKey] = value +} + +// GetString gets a string value from the extensions +func (e Extensions) GetString(key string) (string, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + str, ok := v.(string) + return str, ok + } + return "", false +} + +// GetInt gets a int value from the extensions +func (e Extensions) GetInt(key string) (int, bool) { + realKey := strings.ToLower(key) + + if v, ok := e.GetString(realKey); ok { + if r, err := strconv.Atoi(v); err == nil { + return r, true + } + } + + if v, ok := e[realKey]; ok { + if r, rOk := v.(float64); rOk { + return int(r), true + } + } + return -1, false +} + +// GetBool gets a string value from the extensions +func (e Extensions) GetBool(key string) (bool, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + str, ok := v.(bool) + return str, ok + } + return false, false +} + +// GetStringSlice gets a string value from the extensions +func (e Extensions) GetStringSlice(key string) ([]string, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + arr, isSlice := v.([]interface{}) + if !isSlice { + return nil, false + } + var strs []string + for _, iface := range arr { + str, isString := iface.(string) + if !isString { + return nil, false + } + strs = append(strs, str) + } + return strs, ok + } + return nil, false +} + +// VendorExtensible composition block. +type VendorExtensible struct { + Extensions Extensions +} + +// AddExtension adds an extension to this extensible object +func (v *VendorExtensible) AddExtension(key string, value interface{}) { + if value == nil { + return + } + if v.Extensions == nil { + v.Extensions = make(map[string]interface{}) + } + v.Extensions.Add(key, value) +} + +// MarshalJSON marshals the extensions to json +func (v VendorExtensible) MarshalJSON() ([]byte, error) { + toser := make(map[string]interface{}) + for k, v := range v.Extensions { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + toser[k] = v + } + } + return json.Marshal(toser) +} + +// UnmarshalJSON for this extensible object +func (v *VendorExtensible) UnmarshalJSON(data []byte) error { + var d map[string]interface{} + if err := json.Unmarshal(data, &d); err != nil { + return err + } + for k, vv := range d { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + if v.Extensions == nil { + v.Extensions = map[string]interface{}{} + } + v.Extensions[k] = vv + } + } + return nil +} + +// InfoProps the properties for an info definition +type InfoProps struct { + Description string `json:"description,omitempty"` + Title string `json:"title,omitempty"` + TermsOfService string `json:"termsOfService,omitempty"` + Contact *ContactInfo `json:"contact,omitempty"` + License *License `json:"license,omitempty"` + Version string `json:"version,omitempty"` +} + +// Info object provides metadata about the API. +// The metadata can be used by the clients if needed, and can be presented in the Swagger-UI for convenience. +// +// For more information: http://goo.gl/8us55a#infoObject +type Info struct { + VendorExtensible + InfoProps +} + +// JSONLookup look up a value by the json property name +func (i Info) JSONLookup(token string) (interface{}, error) { + if ex, ok := i.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(i.InfoProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (i Info) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(i.InfoProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(i.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (i *Info) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &i.InfoProps); err != nil { + return err + } + return json.Unmarshal(data, &i.VendorExtensible) +} diff --git a/vendor/github.com/go-openapi/spec/items.go b/vendor/github.com/go-openapi/spec/items.go new file mode 100644 index 000000000..e2afb2133 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/items.go @@ -0,0 +1,234 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + jsonRef = "$ref" +) + +// SimpleSchema describe swagger simple schemas for parameters and headers +type SimpleSchema struct { + Type string `json:"type,omitempty"` + Nullable bool `json:"nullable,omitempty"` + Format string `json:"format,omitempty"` + Items *Items `json:"items,omitempty"` + CollectionFormat string `json:"collectionFormat,omitempty"` + Default interface{} `json:"default,omitempty"` + Example interface{} `json:"example,omitempty"` +} + +// TypeName return the type (or format) of a simple schema +func (s *SimpleSchema) TypeName() string { + if s.Format != "" { + return s.Format + } + return s.Type +} + +// ItemsTypeName yields the type of items in a simple schema array +func (s *SimpleSchema) ItemsTypeName() string { + if s.Items == nil { + return "" + } + return s.Items.TypeName() +} + +// Items a limited subset of JSON-Schema's items object. +// It is used by parameter definitions that are not located in "body". +// +// For more information: http://goo.gl/8us55a#items-object +type Items struct { + Refable + CommonValidations + SimpleSchema + VendorExtensible +} + +// NewItems creates a new instance of items +func NewItems() *Items { + return &Items{} +} + +// Typed a fluent builder method for the type of item +func (i *Items) Typed(tpe, format string) *Items { + i.Type = tpe + i.Format = format + return i +} + +// AsNullable flags this schema as nullable. +func (i *Items) AsNullable() *Items { + i.Nullable = true + return i +} + +// CollectionOf a fluent builder method for an array item +func (i *Items) CollectionOf(items *Items, format string) *Items { + i.Type = jsonArray + i.Items = items + i.CollectionFormat = format + return i +} + +// WithDefault sets the default value on this item +func (i *Items) WithDefault(defaultValue interface{}) *Items { + i.Default = defaultValue + return i +} + +// WithMaxLength sets a max length value +func (i *Items) WithMaxLength(max int64) *Items { + i.MaxLength = &max + return i +} + +// WithMinLength sets a min length value +func (i *Items) WithMinLength(min int64) *Items { + i.MinLength = &min + return i +} + +// WithPattern sets a pattern value +func (i *Items) WithPattern(pattern string) *Items { + i.Pattern = pattern + return i +} + +// WithMultipleOf sets a multiple of value +func (i *Items) WithMultipleOf(number float64) *Items { + i.MultipleOf = &number + return i +} + +// WithMaximum sets a maximum number value +func (i *Items) WithMaximum(max float64, exclusive bool) *Items { + i.Maximum = &max + i.ExclusiveMaximum = exclusive + return i +} + +// WithMinimum sets a minimum number value +func (i *Items) WithMinimum(min float64, exclusive bool) *Items { + i.Minimum = &min + i.ExclusiveMinimum = exclusive + return i +} + +// WithEnum sets a the enum values (replace) +func (i *Items) WithEnum(values ...interface{}) *Items { + i.Enum = append([]interface{}{}, values...) + return i +} + +// WithMaxItems sets the max items +func (i *Items) WithMaxItems(size int64) *Items { + i.MaxItems = &size + return i +} + +// WithMinItems sets the min items +func (i *Items) WithMinItems(size int64) *Items { + i.MinItems = &size + return i +} + +// UniqueValues dictates that this array can only have unique items +func (i *Items) UniqueValues() *Items { + i.UniqueItems = true + return i +} + +// AllowDuplicates this array can have duplicates +func (i *Items) AllowDuplicates() *Items { + i.UniqueItems = false + return i +} + +// WithValidations is a fluent method to set Items validations +func (i *Items) WithValidations(val CommonValidations) *Items { + i.SetValidations(SchemaValidations{CommonValidations: val}) + return i +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (i *Items) UnmarshalJSON(data []byte) error { + var validations CommonValidations + if err := json.Unmarshal(data, &validations); err != nil { + return err + } + var ref Refable + if err := json.Unmarshal(data, &ref); err != nil { + return err + } + var simpleSchema SimpleSchema + if err := json.Unmarshal(data, &simpleSchema); err != nil { + return err + } + var vendorExtensible VendorExtensible + if err := json.Unmarshal(data, &vendorExtensible); err != nil { + return err + } + i.Refable = ref + i.CommonValidations = validations + i.SimpleSchema = simpleSchema + i.VendorExtensible = vendorExtensible + return nil +} + +// MarshalJSON converts this items object to JSON +func (i Items) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(i.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(i.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(i.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(i.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b4, b3, b1, b2), nil +} + +// JSONLookup look up a value by the json property name +func (i Items) JSONLookup(token string) (interface{}, error) { + if token == jsonRef { + return &i.Ref, nil + } + + r, _, err := jsonpointer.GetForToken(i.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(i.SimpleSchema, token) + return r, err +} diff --git a/vendor/github.com/go-openapi/spec/license.go b/vendor/github.com/go-openapi/spec/license.go new file mode 100644 index 000000000..b42f80368 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/license.go @@ -0,0 +1,56 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/swag" +) + +// License information for the exposed API. +// +// For more information: http://goo.gl/8us55a#licenseObject +type License struct { + LicenseProps + VendorExtensible +} + +// LicenseProps holds the properties of a License object +type LicenseProps struct { + Name string `json:"name,omitempty"` + URL string `json:"url,omitempty"` +} + +// UnmarshalJSON hydrates License from json +func (l *License) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &l.LicenseProps); err != nil { + return err + } + return json.Unmarshal(data, &l.VendorExtensible) +} + +// MarshalJSON produces License as json +func (l License) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(l.LicenseProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(l.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} diff --git a/vendor/github.com/go-openapi/spec/normalizer.go b/vendor/github.com/go-openapi/spec/normalizer.go new file mode 100644 index 000000000..e8b600994 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/normalizer.go @@ -0,0 +1,202 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "net/url" + "path" + "strings" +) + +const fileScheme = "file" + +// normalizeURI ensures that all $ref paths used internally by the expander are canonicalized. +// +// NOTE(windows): there is a tolerance over the strict URI format on windows. +// +// The normalizer accepts relative file URLs like 'Path\File.JSON' as well as absolute file URLs like +// 'C:\Path\file.Yaml'. +// +// Both are canonicalized with a "file://" scheme, slashes and a lower-cased path: +// 'file:///c:/path/file.yaml' +// +// URLs can be specified with a file scheme, like in 'file:///folder/file.json' or +// 'file:///c:\folder\File.json'. +// +// URLs like file://C:\folder are considered invalid (i.e. there is no host 'c:\folder') and a "repair" +// is attempted. +// +// The base path argument is assumed to be canonicalized (e.g. using normalizeBase()). +func normalizeURI(refPath, base string) string { + refURL, err := parseURL(refPath) + if err != nil { + specLogger.Printf("warning: invalid URI in $ref %q: %v", refPath, err) + refURL, refPath = repairURI(refPath) + } + + fixWindowsURI(refURL, refPath) // noop on non-windows OS + + refURL.Path = path.Clean(refURL.Path) + if refURL.Path == "." { + refURL.Path = "" + } + + r := MustCreateRef(refURL.String()) + if r.IsCanonical() { + return refURL.String() + } + + baseURL, _ := parseURL(base) + if path.IsAbs(refURL.Path) { + baseURL.Path = refURL.Path + } else if refURL.Path != "" { + baseURL.Path = path.Join(path.Dir(baseURL.Path), refURL.Path) + } + // copying fragment from ref to base + baseURL.Fragment = refURL.Fragment + + return baseURL.String() +} + +// denormalizeRef returns the simplest notation for a normalized $ref, given the path of the original root document. +// +// When calling this, we assume that: +// * $ref is a canonical URI +// * originalRelativeBase is a canonical URI +// +// denormalizeRef is currently used when we rewrite a $ref after a circular $ref has been detected. +// In this case, expansion stops and normally renders the internal canonical $ref. +// +// This internal $ref is eventually rebased to the original RelativeBase used for the expansion. +// +// There is a special case for schemas that are anchored with an "id": +// in that case, the rebasing is performed // against the id only if this is an anchor for the initial root document. +// All other intermediate "id"'s found along the way are ignored for the purpose of rebasing. +func denormalizeRef(ref *Ref, originalRelativeBase, id string) Ref { + debugLog("denormalizeRef called:\n$ref: %q\noriginal: %s\nroot ID:%s", ref.String(), originalRelativeBase, id) + + if ref.String() == "" || ref.IsRoot() || ref.HasFragmentOnly { + // short circuit: $ref to current doc + return *ref + } + + if id != "" { + idBaseURL, err := parseURL(id) + if err == nil { // if the schema id is not usable as a URI, ignore it + if ref, ok := rebase(ref, idBaseURL, true); ok { // rebase, but keep references to root unchaged (do not want $ref: "") + // $ref relative to the ID of the schema in the root document + return ref + } + } + } + + originalRelativeBaseURL, _ := parseURL(originalRelativeBase) + + r, _ := rebase(ref, originalRelativeBaseURL, false) + + return r +} + +func rebase(ref *Ref, v *url.URL, notEqual bool) (Ref, bool) { + var newBase url.URL + + u := ref.GetURL() + + if u.Scheme != v.Scheme || u.Host != v.Host { + return *ref, false + } + + docPath := v.Path + v.Path = path.Dir(v.Path) + + if v.Path == "." { + v.Path = "" + } else if !strings.HasSuffix(v.Path, "/") { + v.Path += "/" + } + + newBase.Fragment = u.Fragment + + if strings.HasPrefix(u.Path, docPath) { + newBase.Path = strings.TrimPrefix(u.Path, docPath) + } else { + newBase.Path = strings.TrimPrefix(u.Path, v.Path) + } + + if notEqual && newBase.Path == "" && newBase.Fragment == "" { + // do not want rebasing to end up in an empty $ref + return *ref, false + } + + if path.IsAbs(newBase.Path) { + // whenever we end up with an absolute path, specify the scheme and host + newBase.Scheme = v.Scheme + newBase.Host = v.Host + } + + return MustCreateRef(newBase.String()), true +} + +// normalizeRef canonicalize a Ref, using a canonical relativeBase as its absolute anchor +func normalizeRef(ref *Ref, relativeBase string) *Ref { + r := MustCreateRef(normalizeURI(ref.String(), relativeBase)) + return &r +} + +// normalizeBase performs a normalization of the input base path. +// +// This always yields a canonical URI (absolute), usable for the document cache. +// +// It ensures that all further internal work on basePath may safely assume +// a non-empty, cross-platform, canonical URI (i.e. absolute). +// +// This normalization tolerates windows paths (e.g. C:\x\y\File.dat) and transform this +// in a file:// URL with lower cased drive letter and path. +// +// See also: https://en.wikipedia.org/wiki/File_URI_scheme +func normalizeBase(in string) string { + u, err := parseURL(in) + if err != nil { + specLogger.Printf("warning: invalid URI in RelativeBase %q: %v", in, err) + u, in = repairURI(in) + } + + u.Fragment = "" // any fragment in the base is irrelevant + + fixWindowsURI(u, in) // noop on non-windows OS + + u.Path = path.Clean(u.Path) + if u.Path == "." { // empty after Clean() + u.Path = "" + } + + if u.Scheme != "" { + if path.IsAbs(u.Path) || u.Scheme != fileScheme { + // this is absolute or explicitly not a local file: we're good + return u.String() + } + } + + // no scheme or file scheme with relative path: assume file and make it absolute + // enforce scheme file://... with absolute path. + // + // If the input path is relative, we anchor the path to the current working directory. + // NOTE: we may end up with a host component. Leave it unchanged: e.g. file://host/folder/file.json + + u.Scheme = fileScheme + u.Path = absPath(u.Path) // platform-dependent + u.RawQuery = "" // any query component is irrelevant for a base + return u.String() +} diff --git a/vendor/github.com/go-openapi/spec/normalizer_nonwindows.go b/vendor/github.com/go-openapi/spec/normalizer_nonwindows.go new file mode 100644 index 000000000..f19f1a8fb --- /dev/null +++ b/vendor/github.com/go-openapi/spec/normalizer_nonwindows.go @@ -0,0 +1,44 @@ +//go:build !windows +// +build !windows + +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "net/url" + "path/filepath" +) + +// absPath makes a file path absolute and compatible with a URI path component. +// +// The parameter must be a path, not an URI. +func absPath(in string) string { + anchored, err := filepath.Abs(in) + if err != nil { + specLogger.Printf("warning: could not resolve current working directory: %v", err) + return in + } + return anchored +} + +func repairURI(in string) (*url.URL, string) { + u, _ := parseURL("") + debugLog("repaired URI: original: %q, repaired: %q", in, "") + return u, "" +} + +func fixWindowsURI(_ *url.URL, _ string) { +} diff --git a/vendor/github.com/go-openapi/spec/normalizer_windows.go b/vendor/github.com/go-openapi/spec/normalizer_windows.go new file mode 100644 index 000000000..a66c532db --- /dev/null +++ b/vendor/github.com/go-openapi/spec/normalizer_windows.go @@ -0,0 +1,154 @@ +// -build windows + +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "net/url" + "os" + "path" + "path/filepath" + "strings" +) + +// absPath makes a file path absolute and compatible with a URI path component +// +// The parameter must be a path, not an URI. +func absPath(in string) string { + // NOTE(windows): filepath.Abs exhibits a special behavior on windows for empty paths. + // See https://github.com/golang/go/issues/24441 + if in == "" { + in = "." + } + + anchored, err := filepath.Abs(in) + if err != nil { + specLogger.Printf("warning: could not resolve current working directory: %v", err) + return in + } + + pth := strings.ReplaceAll(strings.ToLower(anchored), `\`, `/`) + if !strings.HasPrefix(pth, "/") { + pth = "/" + pth + } + + return path.Clean(pth) +} + +// repairURI tolerates invalid file URIs with common typos +// such as 'file://E:\folder\file', that break the regular URL parser. +// +// Adopting the same defaults as for unixes (e.g. return an empty path) would +// result into a counter-intuitive result for that case (e.g. E:\folder\file is +// eventually resolved as the current directory). The repair will detect the missing "/". +// +// Note that this only works for the file scheme. +func repairURI(in string) (*url.URL, string) { + const prefix = fileScheme + "://" + if !strings.HasPrefix(in, prefix) { + // giving up: resolve to empty path + u, _ := parseURL("") + + return u, "" + } + + // attempt the repair, stripping the scheme should be sufficient + u, _ := parseURL(strings.TrimPrefix(in, prefix)) + debugLog("repaired URI: original: %q, repaired: %q", in, u.String()) + + return u, u.String() +} + +// fixWindowsURI tolerates an absolute file path on windows such as C:\Base\File.yaml or \\host\share\Base\File.yaml +// and makes it a canonical URI: file:///c:/base/file.yaml +// +// Catch 22 notes for Windows: +// +// * There may be a drive letter on windows (it is lower-cased) +// * There may be a share UNC, e.g. \\server\folder\data.xml +// * Paths are case insensitive +// * Paths may already contain slashes +// * Paths must be slashed +// +// NOTE: there is no escaping. "/" may be valid separators just like "\". +// We don't use ToSlash() (which escapes everything) because windows now also +// tolerates the use of "/". Hence, both C:\File.yaml and C:/File.yaml will work. +func fixWindowsURI(u *url.URL, in string) { + drive := filepath.VolumeName(in) + + if len(drive) > 0 { + if len(u.Scheme) == 1 && strings.EqualFold(u.Scheme, drive[:1]) { // a path with a drive letter + u.Scheme = fileScheme + u.Host = "" + u.Path = strings.Join([]string{drive, u.Opaque, u.Path}, `/`) // reconstruct the full path component (no fragment, no query) + } else if u.Host == "" && strings.HasPrefix(u.Path, drive) { // a path with a \\host volume + // NOTE: the special host@port syntax for UNC is not supported (yet) + u.Scheme = fileScheme + + // this is a modified version of filepath.Dir() to apply on the VolumeName itself + i := len(drive) - 1 + for i >= 0 && !os.IsPathSeparator(drive[i]) { + i-- + } + host := drive[:i] // \\host\share => host + + u.Path = strings.TrimPrefix(u.Path, host) + u.Host = strings.TrimPrefix(host, `\\`) + } + + u.Opaque = "" + u.Path = strings.ReplaceAll(strings.ToLower(u.Path), `\`, `/`) + + // ensure we form an absolute path + if !strings.HasPrefix(u.Path, "/") { + u.Path = "/" + u.Path + } + + u.Path = path.Clean(u.Path) + + return + } + + if u.Scheme == fileScheme { + // Handle dodgy cases for file://{...} URIs on windows. + // A canonical URI should always be followed by an absolute path. + // + // Examples: + // * file:///folder/file => valid, unchanged + // * file:///c:\folder\file => slashed + // * file:///./folder/file => valid, cleaned to remove the dot + // * file:///.\folder\file => remapped to cwd + // * file:///. => dodgy, remapped to / (consistent with the behavior on unix) + // * file:///.. => dodgy, remapped to / (consistent with the behavior on unix) + if (!path.IsAbs(u.Path) && !filepath.IsAbs(u.Path)) || (strings.HasPrefix(u.Path, `/.`) && strings.Contains(u.Path, `\`)) { + // ensure we form an absolute path + u.Path, _ = filepath.Abs(strings.TrimLeft(u.Path, `/`)) + if !strings.HasPrefix(u.Path, "/") { + u.Path = "/" + u.Path + } + } + u.Path = strings.ToLower(u.Path) + } + + // NOTE: lower case normalization does not propagate to inner resources, + // generated when rebasing: when joining a relative URI with a file to an absolute base, + // only the base is currently lower-cased. + // + // For now, we assume this is good enough for most use cases + // and try not to generate too many differences + // between the output produced on different platforms. + u.Path = path.Clean(strings.ReplaceAll(u.Path, `\`, `/`)) +} diff --git a/vendor/github.com/go-openapi/spec/operation.go b/vendor/github.com/go-openapi/spec/operation.go new file mode 100644 index 000000000..a69cca881 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/operation.go @@ -0,0 +1,400 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "sort" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +func init() { + gob.Register(map[string]interface{}{}) + gob.Register([]interface{}{}) +} + +// OperationProps describes an operation +// +// NOTES: +// - schemes, when present must be from [http, https, ws, wss]: see validate +// - Security is handled as a special case: see MarshalJSON function +type OperationProps struct { + Description string `json:"description,omitempty"` + Consumes []string `json:"consumes,omitempty"` + Produces []string `json:"produces,omitempty"` + Schemes []string `json:"schemes,omitempty"` + Tags []string `json:"tags,omitempty"` + Summary string `json:"summary,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` + ID string `json:"operationId,omitempty"` + Deprecated bool `json:"deprecated,omitempty"` + Security []map[string][]string `json:"security,omitempty"` + Parameters []Parameter `json:"parameters,omitempty"` + Responses *Responses `json:"responses,omitempty"` +} + +// MarshalJSON takes care of serializing operation properties to JSON +// +// We use a custom marhaller here to handle a special cases related to +// the Security field. We need to preserve zero length slice +// while omitting the field when the value is nil/unset. +func (op OperationProps) MarshalJSON() ([]byte, error) { + type Alias OperationProps + if op.Security == nil { + return json.Marshal(&struct { + Security []map[string][]string `json:"security,omitempty"` + *Alias + }{ + Security: op.Security, + Alias: (*Alias)(&op), + }) + } + return json.Marshal(&struct { + Security []map[string][]string `json:"security"` + *Alias + }{ + Security: op.Security, + Alias: (*Alias)(&op), + }) +} + +// Operation describes a single API operation on a path. +// +// For more information: http://goo.gl/8us55a#operationObject +type Operation struct { + VendorExtensible + OperationProps +} + +// SuccessResponse gets a success response model +func (o *Operation) SuccessResponse() (*Response, int, bool) { + if o.Responses == nil { + return nil, 0, false + } + + responseCodes := make([]int, 0, len(o.Responses.StatusCodeResponses)) + for k := range o.Responses.StatusCodeResponses { + if k >= 200 && k < 300 { + responseCodes = append(responseCodes, k) + } + } + if len(responseCodes) > 0 { + sort.Ints(responseCodes) + v := o.Responses.StatusCodeResponses[responseCodes[0]] + return &v, responseCodes[0], true + } + + return o.Responses.Default, 0, false +} + +// JSONLookup look up a value by the json property name +func (o Operation) JSONLookup(token string) (interface{}, error) { + if ex, ok := o.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(o.OperationProps, token) + return r, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (o *Operation) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &o.OperationProps); err != nil { + return err + } + return json.Unmarshal(data, &o.VendorExtensible) +} + +// MarshalJSON converts this items object to JSON +func (o Operation) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(o.OperationProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(o.VendorExtensible) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} + +// NewOperation creates a new operation instance. +// It expects an ID as parameter but not passing an ID is also valid. +func NewOperation(id string) *Operation { + op := new(Operation) + op.ID = id + return op +} + +// WithID sets the ID property on this operation, allows for chaining. +func (o *Operation) WithID(id string) *Operation { + o.ID = id + return o +} + +// WithDescription sets the description on this operation, allows for chaining +func (o *Operation) WithDescription(description string) *Operation { + o.Description = description + return o +} + +// WithSummary sets the summary on this operation, allows for chaining +func (o *Operation) WithSummary(summary string) *Operation { + o.Summary = summary + return o +} + +// WithExternalDocs sets/removes the external docs for/from this operation. +// When you pass empty strings as params the external documents will be removed. +// When you pass non-empty string as one value then those values will be used on the external docs object. +// So when you pass a non-empty description, you should also pass the url and vice versa. +func (o *Operation) WithExternalDocs(description, url string) *Operation { + if description == "" && url == "" { + o.ExternalDocs = nil + return o + } + + if o.ExternalDocs == nil { + o.ExternalDocs = &ExternalDocumentation{} + } + o.ExternalDocs.Description = description + o.ExternalDocs.URL = url + return o +} + +// Deprecate marks the operation as deprecated +func (o *Operation) Deprecate() *Operation { + o.Deprecated = true + return o +} + +// Undeprecate marks the operation as not deprected +func (o *Operation) Undeprecate() *Operation { + o.Deprecated = false + return o +} + +// WithConsumes adds media types for incoming body values +func (o *Operation) WithConsumes(mediaTypes ...string) *Operation { + o.Consumes = append(o.Consumes, mediaTypes...) + return o +} + +// WithProduces adds media types for outgoing body values +func (o *Operation) WithProduces(mediaTypes ...string) *Operation { + o.Produces = append(o.Produces, mediaTypes...) + return o +} + +// WithTags adds tags for this operation +func (o *Operation) WithTags(tags ...string) *Operation { + o.Tags = append(o.Tags, tags...) + return o +} + +// AddParam adds a parameter to this operation, when a parameter for that location +// and with that name already exists it will be replaced +func (o *Operation) AddParam(param *Parameter) *Operation { + if param == nil { + return o + } + + for i, p := range o.Parameters { + if p.Name == param.Name && p.In == param.In { + params := make([]Parameter, 0, len(o.Parameters)+1) + params = append(params, o.Parameters[:i]...) + params = append(params, *param) + params = append(params, o.Parameters[i+1:]...) + o.Parameters = params + + return o + } + } + + o.Parameters = append(o.Parameters, *param) + return o +} + +// RemoveParam removes a parameter from the operation +func (o *Operation) RemoveParam(name, in string) *Operation { + for i, p := range o.Parameters { + if p.Name == name && p.In == in { + o.Parameters = append(o.Parameters[:i], o.Parameters[i+1:]...) + return o + } + } + return o +} + +// SecuredWith adds a security scope to this operation. +func (o *Operation) SecuredWith(name string, scopes ...string) *Operation { + o.Security = append(o.Security, map[string][]string{name: scopes}) + return o +} + +// WithDefaultResponse adds a default response to the operation. +// Passing a nil value will remove the response +func (o *Operation) WithDefaultResponse(response *Response) *Operation { + return o.RespondsWith(0, response) +} + +// RespondsWith adds a status code response to the operation. +// When the code is 0 the value of the response will be used as default response value. +// When the value of the response is nil it will be removed from the operation +func (o *Operation) RespondsWith(code int, response *Response) *Operation { + if o.Responses == nil { + o.Responses = new(Responses) + } + if code == 0 { + o.Responses.Default = response + return o + } + if response == nil { + delete(o.Responses.StatusCodeResponses, code) + return o + } + if o.Responses.StatusCodeResponses == nil { + o.Responses.StatusCodeResponses = make(map[int]Response) + } + o.Responses.StatusCodeResponses[code] = *response + return o +} + +type opsAlias OperationProps + +type gobAlias struct { + Security []map[string]struct { + List []string + Pad bool + } + Alias *opsAlias + SecurityIsEmpty bool +} + +// GobEncode provides a safe gob encoder for Operation, including empty security requirements +func (o Operation) GobEncode() ([]byte, error) { + raw := struct { + Ext VendorExtensible + Props OperationProps + }{ + Ext: o.VendorExtensible, + Props: o.OperationProps, + } + var b bytes.Buffer + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Operation, including empty security requirements +func (o *Operation) GobDecode(b []byte) error { + var raw struct { + Ext VendorExtensible + Props OperationProps + } + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + o.VendorExtensible = raw.Ext + o.OperationProps = raw.Props + return nil +} + +// GobEncode provides a safe gob encoder for Operation, including empty security requirements +func (op OperationProps) GobEncode() ([]byte, error) { + raw := gobAlias{ + Alias: (*opsAlias)(&op), + } + + var b bytes.Buffer + if op.Security == nil { + // nil security requirement + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + if len(op.Security) == 0 { + // empty, but non-nil security requirement + raw.SecurityIsEmpty = true + raw.Alias.Security = nil + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + raw.Security = make([]map[string]struct { + List []string + Pad bool + }, 0, len(op.Security)) + for _, req := range op.Security { + v := make(map[string]struct { + List []string + Pad bool + }, len(req)) + for k, val := range req { + v[k] = struct { + List []string + Pad bool + }{ + List: val, + } + } + raw.Security = append(raw.Security, v) + } + + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Operation, including empty security requirements +func (op *OperationProps) GobDecode(b []byte) error { + var raw gobAlias + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + if raw.Alias == nil { + return nil + } + + switch { + case raw.SecurityIsEmpty: + // empty, but non-nil security requirement + raw.Alias.Security = []map[string][]string{} + case len(raw.Alias.Security) == 0: + // nil security requirement + raw.Alias.Security = nil + default: + raw.Alias.Security = make([]map[string][]string, 0, len(raw.Security)) + for _, req := range raw.Security { + v := make(map[string][]string, len(req)) + for k, val := range req { + v[k] = make([]string, 0, len(val.List)) + v[k] = append(v[k], val.List...) + } + raw.Alias.Security = append(raw.Alias.Security, v) + } + } + + *op = *(*OperationProps)(raw.Alias) + return nil +} diff --git a/vendor/github.com/go-openapi/spec/parameter.go b/vendor/github.com/go-openapi/spec/parameter.go new file mode 100644 index 000000000..bd4f1cdb0 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/parameter.go @@ -0,0 +1,326 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// QueryParam creates a query parameter +func QueryParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "query"}} +} + +// HeaderParam creates a header parameter, this is always required by default +func HeaderParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "header", Required: true}} +} + +// PathParam creates a path parameter, this is always required +func PathParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "path", Required: true}} +} + +// BodyParam creates a body parameter +func BodyParam(name string, schema *Schema) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "body", Schema: schema}} +} + +// FormDataParam creates a body parameter +func FormDataParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "formData"}} +} + +// FileParam creates a body parameter +func FileParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "formData"}, + SimpleSchema: SimpleSchema{Type: "file"}} +} + +// SimpleArrayParam creates a param for a simple array (string, int, date etc) +func SimpleArrayParam(name, tpe, fmt string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name}, + SimpleSchema: SimpleSchema{Type: jsonArray, CollectionFormat: "csv", + Items: &Items{SimpleSchema: SimpleSchema{Type: tpe, Format: fmt}}}} +} + +// ParamRef creates a parameter that's a json reference +func ParamRef(uri string) *Parameter { + p := new(Parameter) + p.Ref = MustCreateRef(uri) + return p +} + +// ParamProps describes the specific attributes of an operation parameter +// +// NOTE: +// - Schema is defined when "in" == "body": see validate +// - AllowEmptyValue is allowed where "in" == "query" || "formData" +type ParamProps struct { + Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + In string `json:"in,omitempty"` + Required bool `json:"required,omitempty"` + Schema *Schema `json:"schema,omitempty"` + AllowEmptyValue bool `json:"allowEmptyValue,omitempty"` +} + +// Parameter a unique parameter is defined by a combination of a [name](#parameterName) and [location](#parameterIn). +// +// There are five possible parameter types. +// - Path - Used together with [Path Templating](#pathTemplating), where the parameter value is actually part +// of the operation's URL. This does not include the host or base path of the API. For example, in `/items/{itemId}`, +// the path parameter is `itemId`. +// - Query - Parameters that are appended to the URL. For example, in `/items?id=###`, the query parameter is `id`. +// - Header - Custom headers that are expected as part of the request. +// - Body - The payload that's appended to the HTTP request. Since there can only be one payload, there can only be +// _one_ body parameter. The name of the body parameter has no effect on the parameter itself and is used for +// documentation purposes only. Since Form parameters are also in the payload, body and form parameters cannot exist +// together for the same operation. +// - Form - Used to describe the payload of an HTTP request when either `application/x-www-form-urlencoded` or +// `multipart/form-data` are used as the content type of the request (in Swagger's definition, +// the [`consumes`](#operationConsumes) property of an operation). This is the only parameter type that can be used +// to send files, thus supporting the `file` type. Since form parameters are sent in the payload, they cannot be +// declared together with a body parameter for the same operation. Form parameters have a different format based on +// the content-type used (for further details, consult http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4). +// - `application/x-www-form-urlencoded` - Similar to the format of Query parameters but as a payload. +// For example, `foo=1&bar=swagger` - both `foo` and `bar` are form parameters. This is normally used for simple +// parameters that are being transferred. +// - `multipart/form-data` - each parameter takes a section in the payload with an internal header. +// For example, for the header `Content-Disposition: form-data; name="submit-name"` the name of the parameter is +// `submit-name`. This type of form parameters is more commonly used for file transfers. +// +// For more information: http://goo.gl/8us55a#parameterObject +type Parameter struct { + Refable + CommonValidations + SimpleSchema + VendorExtensible + ParamProps +} + +// JSONLookup look up a value by the json property name +func (p Parameter) JSONLookup(token string) (interface{}, error) { + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + if token == jsonRef { + return &p.Ref, nil + } + + r, _, err := jsonpointer.GetForToken(p.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(p.SimpleSchema, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(p.ParamProps, token) + return r, err +} + +// WithDescription a fluent builder method for the description of the parameter +func (p *Parameter) WithDescription(description string) *Parameter { + p.Description = description + return p +} + +// Named a fluent builder method to override the name of the parameter +func (p *Parameter) Named(name string) *Parameter { + p.Name = name + return p +} + +// WithLocation a fluent builder method to override the location of the parameter +func (p *Parameter) WithLocation(in string) *Parameter { + p.In = in + return p +} + +// Typed a fluent builder method for the type of the parameter value +func (p *Parameter) Typed(tpe, format string) *Parameter { + p.Type = tpe + p.Format = format + return p +} + +// CollectionOf a fluent builder method for an array parameter +func (p *Parameter) CollectionOf(items *Items, format string) *Parameter { + p.Type = jsonArray + p.Items = items + p.CollectionFormat = format + return p +} + +// WithDefault sets the default value on this parameter +func (p *Parameter) WithDefault(defaultValue interface{}) *Parameter { + p.AsOptional() // with default implies optional + p.Default = defaultValue + return p +} + +// AllowsEmptyValues flags this parameter as being ok with empty values +func (p *Parameter) AllowsEmptyValues() *Parameter { + p.AllowEmptyValue = true + return p +} + +// NoEmptyValues flags this parameter as not liking empty values +func (p *Parameter) NoEmptyValues() *Parameter { + p.AllowEmptyValue = false + return p +} + +// AsOptional flags this parameter as optional +func (p *Parameter) AsOptional() *Parameter { + p.Required = false + return p +} + +// AsRequired flags this parameter as required +func (p *Parameter) AsRequired() *Parameter { + if p.Default != nil { // with a default required makes no sense + return p + } + p.Required = true + return p +} + +// WithMaxLength sets a max length value +func (p *Parameter) WithMaxLength(max int64) *Parameter { + p.MaxLength = &max + return p +} + +// WithMinLength sets a min length value +func (p *Parameter) WithMinLength(min int64) *Parameter { + p.MinLength = &min + return p +} + +// WithPattern sets a pattern value +func (p *Parameter) WithPattern(pattern string) *Parameter { + p.Pattern = pattern + return p +} + +// WithMultipleOf sets a multiple of value +func (p *Parameter) WithMultipleOf(number float64) *Parameter { + p.MultipleOf = &number + return p +} + +// WithMaximum sets a maximum number value +func (p *Parameter) WithMaximum(max float64, exclusive bool) *Parameter { + p.Maximum = &max + p.ExclusiveMaximum = exclusive + return p +} + +// WithMinimum sets a minimum number value +func (p *Parameter) WithMinimum(min float64, exclusive bool) *Parameter { + p.Minimum = &min + p.ExclusiveMinimum = exclusive + return p +} + +// WithEnum sets a the enum values (replace) +func (p *Parameter) WithEnum(values ...interface{}) *Parameter { + p.Enum = append([]interface{}{}, values...) + return p +} + +// WithMaxItems sets the max items +func (p *Parameter) WithMaxItems(size int64) *Parameter { + p.MaxItems = &size + return p +} + +// WithMinItems sets the min items +func (p *Parameter) WithMinItems(size int64) *Parameter { + p.MinItems = &size + return p +} + +// UniqueValues dictates that this array can only have unique items +func (p *Parameter) UniqueValues() *Parameter { + p.UniqueItems = true + return p +} + +// AllowDuplicates this array can have duplicates +func (p *Parameter) AllowDuplicates() *Parameter { + p.UniqueItems = false + return p +} + +// WithValidations is a fluent method to set parameter validations +func (p *Parameter) WithValidations(val CommonValidations) *Parameter { + p.SetValidations(SchemaValidations{CommonValidations: val}) + return p +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *Parameter) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &p.CommonValidations); err != nil { + return err + } + if err := json.Unmarshal(data, &p.Refable); err != nil { + return err + } + if err := json.Unmarshal(data, &p.SimpleSchema); err != nil { + return err + } + if err := json.Unmarshal(data, &p.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &p.ParamProps) +} + +// MarshalJSON converts this items object to JSON +func (p Parameter) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(p.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(p.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(p.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + b5, err := json.Marshal(p.ParamProps) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b3, b1, b2, b4, b5), nil +} diff --git a/vendor/github.com/go-openapi/spec/path_item.go b/vendor/github.com/go-openapi/spec/path_item.go new file mode 100644 index 000000000..68fc8e901 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/path_item.go @@ -0,0 +1,87 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// PathItemProps the path item specific properties +type PathItemProps struct { + Get *Operation `json:"get,omitempty"` + Put *Operation `json:"put,omitempty"` + Post *Operation `json:"post,omitempty"` + Delete *Operation `json:"delete,omitempty"` + Options *Operation `json:"options,omitempty"` + Head *Operation `json:"head,omitempty"` + Patch *Operation `json:"patch,omitempty"` + Parameters []Parameter `json:"parameters,omitempty"` +} + +// PathItem describes the operations available on a single path. +// A Path Item may be empty, due to [ACL constraints](http://goo.gl/8us55a#securityFiltering). +// The path itself is still exposed to the documentation viewer but they will +// not know which operations and parameters are available. +// +// For more information: http://goo.gl/8us55a#pathItemObject +type PathItem struct { + Refable + VendorExtensible + PathItemProps +} + +// JSONLookup look up a value by the json property name +func (p PathItem) JSONLookup(token string) (interface{}, error) { + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + if token == jsonRef { + return &p.Ref, nil + } + r, _, err := jsonpointer.GetForToken(p.PathItemProps, token) + return r, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *PathItem) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &p.Refable); err != nil { + return err + } + if err := json.Unmarshal(data, &p.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &p.PathItemProps) +} + +// MarshalJSON converts this items object to JSON +func (p PathItem) MarshalJSON() ([]byte, error) { + b3, err := json.Marshal(p.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + b5, err := json.Marshal(p.PathItemProps) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b3, b4, b5) + return concated, nil +} diff --git a/vendor/github.com/go-openapi/spec/paths.go b/vendor/github.com/go-openapi/spec/paths.go new file mode 100644 index 000000000..9dc82a290 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/paths.go @@ -0,0 +1,97 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/go-openapi/swag" +) + +// Paths holds the relative paths to the individual endpoints. +// The path is appended to the [`basePath`](http://goo.gl/8us55a#swaggerBasePath) in order +// to construct the full URL. +// The Paths may be empty, due to [ACL constraints](http://goo.gl/8us55a#securityFiltering). +// +// For more information: http://goo.gl/8us55a#pathsObject +type Paths struct { + VendorExtensible + Paths map[string]PathItem `json:"-"` // custom serializer to flatten this, each entry must start with "/" +} + +// JSONLookup look up a value by the json property name +func (p Paths) JSONLookup(token string) (interface{}, error) { + if pi, ok := p.Paths[token]; ok { + return &pi, nil + } + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + return nil, fmt.Errorf("object has no field %q", token) +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *Paths) UnmarshalJSON(data []byte) error { + var res map[string]json.RawMessage + if err := json.Unmarshal(data, &res); err != nil { + return err + } + for k, v := range res { + if strings.HasPrefix(strings.ToLower(k), "x-") { + if p.Extensions == nil { + p.Extensions = make(map[string]interface{}) + } + var d interface{} + if err := json.Unmarshal(v, &d); err != nil { + return err + } + p.Extensions[k] = d + } + if strings.HasPrefix(k, "/") { + if p.Paths == nil { + p.Paths = make(map[string]PathItem) + } + var pi PathItem + if err := json.Unmarshal(v, &pi); err != nil { + return err + } + p.Paths[k] = pi + } + } + return nil +} + +// MarshalJSON converts this items object to JSON +func (p Paths) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + + pths := make(map[string]PathItem) + for k, v := range p.Paths { + if strings.HasPrefix(k, "/") { + pths[k] = v + } + } + b2, err := json.Marshal(pths) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} diff --git a/vendor/github.com/go-openapi/spec/properties.go b/vendor/github.com/go-openapi/spec/properties.go new file mode 100644 index 000000000..91d2435f0 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/properties.go @@ -0,0 +1,91 @@ +package spec + +import ( + "bytes" + "encoding/json" + "reflect" + "sort" +) + +// OrderSchemaItem holds a named schema (e.g. from a property of an object) +type OrderSchemaItem struct { + Name string + Schema +} + +// OrderSchemaItems is a sortable slice of named schemas. +// The ordering is defined by the x-order schema extension. +type OrderSchemaItems []OrderSchemaItem + +// MarshalJSON produces a json object with keys defined by the name schemas +// of the OrderSchemaItems slice, keeping the original order of the slice. +func (items OrderSchemaItems) MarshalJSON() ([]byte, error) { + buf := bytes.NewBuffer(nil) + buf.WriteString("{") + for i := range items { + if i > 0 { + buf.WriteString(",") + } + buf.WriteString("\"") + buf.WriteString(items[i].Name) + buf.WriteString("\":") + bs, err := json.Marshal(&items[i].Schema) + if err != nil { + return nil, err + } + buf.Write(bs) + } + buf.WriteString("}") + return buf.Bytes(), nil +} + +func (items OrderSchemaItems) Len() int { return len(items) } +func (items OrderSchemaItems) Swap(i, j int) { items[i], items[j] = items[j], items[i] } +func (items OrderSchemaItems) Less(i, j int) (ret bool) { + ii, oki := items[i].Extensions.GetInt("x-order") + ij, okj := items[j].Extensions.GetInt("x-order") + if oki { + if okj { + defer func() { + if err := recover(); err != nil { + defer func() { + if err = recover(); err != nil { + ret = items[i].Name < items[j].Name + } + }() + ret = reflect.ValueOf(ii).String() < reflect.ValueOf(ij).String() + } + }() + return ii < ij + } + return true + } else if okj { + return false + } + return items[i].Name < items[j].Name +} + +// SchemaProperties is a map representing the properties of a Schema object. +// It knows how to transform its keys into an ordered slice. +type SchemaProperties map[string]Schema + +// ToOrderedSchemaItems transforms the map of properties into a sortable slice +func (properties SchemaProperties) ToOrderedSchemaItems() OrderSchemaItems { + items := make(OrderSchemaItems, 0, len(properties)) + for k, v := range properties { + items = append(items, OrderSchemaItem{ + Name: k, + Schema: v, + }) + } + sort.Sort(items) + return items +} + +// MarshalJSON produces properties as json, keeping their order. +func (properties SchemaProperties) MarshalJSON() ([]byte, error) { + if properties == nil { + return []byte("null"), nil + } + return json.Marshal(properties.ToOrderedSchemaItems()) +} diff --git a/vendor/github.com/go-openapi/spec/ref.go b/vendor/github.com/go-openapi/spec/ref.go new file mode 100644 index 000000000..b0ef9bd9c --- /dev/null +++ b/vendor/github.com/go-openapi/spec/ref.go @@ -0,0 +1,193 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "net/http" + "os" + "path/filepath" + + "github.com/go-openapi/jsonreference" +) + +// Refable is a struct for things that accept a $ref property +type Refable struct { + Ref Ref +} + +// MarshalJSON marshals the ref to json +func (r Refable) MarshalJSON() ([]byte, error) { + return r.Ref.MarshalJSON() +} + +// UnmarshalJSON unmarshalss the ref from json +func (r *Refable) UnmarshalJSON(d []byte) error { + return json.Unmarshal(d, &r.Ref) +} + +// Ref represents a json reference that is potentially resolved +type Ref struct { + jsonreference.Ref +} + +// RemoteURI gets the remote uri part of the ref +func (r *Ref) RemoteURI() string { + if r.String() == "" { + return "" + } + + u := *r.GetURL() + u.Fragment = "" + return u.String() +} + +// IsValidURI returns true when the url the ref points to can be found +func (r *Ref) IsValidURI(basepaths ...string) bool { + if r.String() == "" { + return true + } + + v := r.RemoteURI() + if v == "" { + return true + } + + if r.HasFullURL { + //nolint:noctx,gosec + rr, err := http.Get(v) + if err != nil { + return false + } + defer rr.Body.Close() + + return rr.StatusCode/100 == 2 + } + + if !(r.HasFileScheme || r.HasFullFilePath || r.HasURLPathOnly) { + return false + } + + // check for local file + pth := v + if r.HasURLPathOnly { + base := "." + if len(basepaths) > 0 { + base = filepath.Dir(filepath.Join(basepaths...)) + } + p, e := filepath.Abs(filepath.ToSlash(filepath.Join(base, pth))) + if e != nil { + return false + } + pth = p + } + + fi, err := os.Stat(filepath.ToSlash(pth)) + if err != nil { + return false + } + + return !fi.IsDir() +} + +// Inherits creates a new reference from a parent and a child +// If the child cannot inherit from the parent, an error is returned +func (r *Ref) Inherits(child Ref) (*Ref, error) { + ref, err := r.Ref.Inherits(child.Ref) + if err != nil { + return nil, err + } + return &Ref{Ref: *ref}, nil +} + +// NewRef creates a new instance of a ref object +// returns an error when the reference uri is an invalid uri +func NewRef(refURI string) (Ref, error) { + ref, err := jsonreference.New(refURI) + if err != nil { + return Ref{}, err + } + return Ref{Ref: ref}, nil +} + +// MustCreateRef creates a ref object but panics when refURI is invalid. +// Use the NewRef method for a version that returns an error. +func MustCreateRef(refURI string) Ref { + return Ref{Ref: jsonreference.MustCreateRef(refURI)} +} + +// MarshalJSON marshals this ref into a JSON object +func (r Ref) MarshalJSON() ([]byte, error) { + str := r.String() + if str == "" { + if r.IsRoot() { + return []byte(`{"$ref":""}`), nil + } + return []byte("{}"), nil + } + v := map[string]interface{}{"$ref": str} + return json.Marshal(v) +} + +// UnmarshalJSON unmarshals this ref from a JSON object +func (r *Ref) UnmarshalJSON(d []byte) error { + var v map[string]interface{} + if err := json.Unmarshal(d, &v); err != nil { + return err + } + return r.fromMap(v) +} + +// GobEncode provides a safe gob encoder for Ref +func (r Ref) GobEncode() ([]byte, error) { + var b bytes.Buffer + raw, err := r.MarshalJSON() + if err != nil { + return nil, err + } + err = gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Ref +func (r *Ref) GobDecode(b []byte) error { + var raw []byte + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + return json.Unmarshal(raw, r) +} + +func (r *Ref) fromMap(v map[string]interface{}) error { + if v == nil { + return nil + } + + if vv, ok := v["$ref"]; ok { + if str, ok := vv.(string); ok { + ref, err := jsonreference.New(str) + if err != nil { + return err + } + *r = Ref{Ref: ref} + } + } + + return nil +} diff --git a/vendor/github.com/go-openapi/spec/resolver.go b/vendor/github.com/go-openapi/spec/resolver.go new file mode 100644 index 000000000..47d1ee13f --- /dev/null +++ b/vendor/github.com/go-openapi/spec/resolver.go @@ -0,0 +1,127 @@ +package spec + +import ( + "fmt" + + "github.com/go-openapi/swag" +) + +func resolveAnyWithBase(root interface{}, ref *Ref, result interface{}, options *ExpandOptions) error { + options = optionsOrDefault(options) + resolver := defaultSchemaLoader(root, options, nil, nil) + + if err := resolver.Resolve(ref, result, options.RelativeBase); err != nil { + return err + } + + return nil +} + +// ResolveRefWithBase resolves a reference against a context root with preservation of base path +func ResolveRefWithBase(root interface{}, ref *Ref, options *ExpandOptions) (*Schema, error) { + result := new(Schema) + + if err := resolveAnyWithBase(root, ref, result, options); err != nil { + return nil, err + } + + return result, nil +} + +// ResolveRef resolves a reference for a schema against a context root +// ref is guaranteed to be in root (no need to go to external files) +// +// ResolveRef is ONLY called from the code generation module +func ResolveRef(root interface{}, ref *Ref) (*Schema, error) { + res, _, err := ref.GetPointer().Get(root) + if err != nil { + return nil, err + } + + switch sch := res.(type) { + case Schema: + return &sch, nil + case *Schema: + return sch, nil + case map[string]interface{}: + newSch := new(Schema) + if err = swag.DynamicJSONToStruct(sch, newSch); err != nil { + return nil, err + } + return newSch, nil + default: + return nil, fmt.Errorf("type: %T: %w", sch, ErrUnknownTypeForReference) + } +} + +// ResolveParameterWithBase resolves a parameter reference against a context root and base path +func ResolveParameterWithBase(root interface{}, ref Ref, options *ExpandOptions) (*Parameter, error) { + result := new(Parameter) + + if err := resolveAnyWithBase(root, &ref, result, options); err != nil { + return nil, err + } + + return result, nil +} + +// ResolveParameter resolves a parameter reference against a context root +func ResolveParameter(root interface{}, ref Ref) (*Parameter, error) { + return ResolveParameterWithBase(root, ref, nil) +} + +// ResolveResponseWithBase resolves response a reference against a context root and base path +func ResolveResponseWithBase(root interface{}, ref Ref, options *ExpandOptions) (*Response, error) { + result := new(Response) + + err := resolveAnyWithBase(root, &ref, result, options) + if err != nil { + return nil, err + } + + return result, nil +} + +// ResolveResponse resolves response a reference against a context root +func ResolveResponse(root interface{}, ref Ref) (*Response, error) { + return ResolveResponseWithBase(root, ref, nil) +} + +// ResolvePathItemWithBase resolves response a path item against a context root and base path +func ResolvePathItemWithBase(root interface{}, ref Ref, options *ExpandOptions) (*PathItem, error) { + result := new(PathItem) + + if err := resolveAnyWithBase(root, &ref, result, options); err != nil { + return nil, err + } + + return result, nil +} + +// ResolvePathItem resolves response a path item against a context root and base path +// +// Deprecated: use ResolvePathItemWithBase instead +func ResolvePathItem(root interface{}, ref Ref, options *ExpandOptions) (*PathItem, error) { + return ResolvePathItemWithBase(root, ref, options) +} + +// ResolveItemsWithBase resolves parameter items reference against a context root and base path. +// +// NOTE: stricly speaking, this construct is not supported by Swagger 2.0. +// Similarly, $ref are forbidden in response headers. +func ResolveItemsWithBase(root interface{}, ref Ref, options *ExpandOptions) (*Items, error) { + result := new(Items) + + if err := resolveAnyWithBase(root, &ref, result, options); err != nil { + return nil, err + } + + return result, nil +} + +// ResolveItems resolves parameter items reference against a context root and base path. +// +// Deprecated: use ResolveItemsWithBase instead +func ResolveItems(root interface{}, ref Ref, options *ExpandOptions) (*Items, error) { + return ResolveItemsWithBase(root, ref, options) +} diff --git a/vendor/github.com/go-openapi/spec/response.go b/vendor/github.com/go-openapi/spec/response.go new file mode 100644 index 000000000..0340b60d8 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/response.go @@ -0,0 +1,152 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// ResponseProps properties specific to a response +type ResponseProps struct { + Description string `json:"description"` + Schema *Schema `json:"schema,omitempty"` + Headers map[string]Header `json:"headers,omitempty"` + Examples map[string]interface{} `json:"examples,omitempty"` +} + +// Response describes a single response from an API Operation. +// +// For more information: http://goo.gl/8us55a#responseObject +type Response struct { + Refable + ResponseProps + VendorExtensible +} + +// JSONLookup look up a value by the json property name +func (r Response) JSONLookup(token string) (interface{}, error) { + if ex, ok := r.Extensions[token]; ok { + return &ex, nil + } + if token == "$ref" { + return &r.Ref, nil + } + ptr, _, err := jsonpointer.GetForToken(r.ResponseProps, token) + return ptr, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (r *Response) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &r.ResponseProps); err != nil { + return err + } + if err := json.Unmarshal(data, &r.Refable); err != nil { + return err + } + return json.Unmarshal(data, &r.VendorExtensible) +} + +// MarshalJSON converts this items object to JSON +func (r Response) MarshalJSON() ([]byte, error) { + var ( + b1 []byte + err error + ) + + if r.Ref.String() == "" { + // when there is no $ref, empty description is rendered as an empty string + b1, err = json.Marshal(r.ResponseProps) + } else { + // when there is $ref inside the schema, description should be omitempty-ied + b1, err = json.Marshal(struct { + Description string `json:"description,omitempty"` + Schema *Schema `json:"schema,omitempty"` + Headers map[string]Header `json:"headers,omitempty"` + Examples map[string]interface{} `json:"examples,omitempty"` + }{ + Description: r.ResponseProps.Description, + Schema: r.ResponseProps.Schema, + Examples: r.ResponseProps.Examples, + }) + } + if err != nil { + return nil, err + } + + b2, err := json.Marshal(r.Refable) + if err != nil { + return nil, err + } + b3, err := json.Marshal(r.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2, b3), nil +} + +// NewResponse creates a new response instance +func NewResponse() *Response { + return new(Response) +} + +// ResponseRef creates a response as a json reference +func ResponseRef(url string) *Response { + resp := NewResponse() + resp.Ref = MustCreateRef(url) + return resp +} + +// WithDescription sets the description on this response, allows for chaining +func (r *Response) WithDescription(description string) *Response { + r.Description = description + return r +} + +// WithSchema sets the schema on this response, allows for chaining. +// Passing a nil argument removes the schema from this response +func (r *Response) WithSchema(schema *Schema) *Response { + r.Schema = schema + return r +} + +// AddHeader adds a header to this response +func (r *Response) AddHeader(name string, header *Header) *Response { + if header == nil { + return r.RemoveHeader(name) + } + if r.Headers == nil { + r.Headers = make(map[string]Header) + } + r.Headers[name] = *header + return r +} + +// RemoveHeader removes a header from this response +func (r *Response) RemoveHeader(name string) *Response { + delete(r.Headers, name) + return r +} + +// AddExample adds an example to this response +func (r *Response) AddExample(mediaType string, example interface{}) *Response { + if r.Examples == nil { + r.Examples = make(map[string]interface{}) + } + r.Examples[mediaType] = example + return r +} diff --git a/vendor/github.com/go-openapi/spec/responses.go b/vendor/github.com/go-openapi/spec/responses.go new file mode 100644 index 000000000..16c3076fe --- /dev/null +++ b/vendor/github.com/go-openapi/spec/responses.go @@ -0,0 +1,140 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "fmt" + "reflect" + "strconv" + "strings" + + "github.com/go-openapi/swag" +) + +// Responses is a container for the expected responses of an operation. +// The container maps a HTTP response code to the expected response. +// It is not expected from the documentation to necessarily cover all possible HTTP response codes, +// since they may not be known in advance. However, it is expected from the documentation to cover +// a successful operation response and any known errors. +// +// The `default` can be used a default response object for all HTTP codes that are not covered +// individually by the specification. +// +// The `Responses Object` MUST contain at least one response code, and it SHOULD be the response +// for a successful operation call. +// +// For more information: http://goo.gl/8us55a#responsesObject +type Responses struct { + VendorExtensible + ResponsesProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (r Responses) JSONLookup(token string) (interface{}, error) { + if token == "default" { + return r.Default, nil + } + if ex, ok := r.Extensions[token]; ok { + return &ex, nil + } + if i, err := strconv.Atoi(token); err == nil { + if scr, ok := r.StatusCodeResponses[i]; ok { + return scr, nil + } + } + return nil, fmt.Errorf("object has no field %q", token) +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (r *Responses) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &r.ResponsesProps); err != nil { + return err + } + + if err := json.Unmarshal(data, &r.VendorExtensible); err != nil { + return err + } + if reflect.DeepEqual(ResponsesProps{}, r.ResponsesProps) { + r.ResponsesProps = ResponsesProps{} + } + return nil +} + +// MarshalJSON converts this items object to JSON +func (r Responses) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(r.ResponsesProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(r.VendorExtensible) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} + +// ResponsesProps describes all responses for an operation. +// It tells what is the default response and maps all responses with a +// HTTP status code. +type ResponsesProps struct { + Default *Response + StatusCodeResponses map[int]Response +} + +// MarshalJSON marshals responses as JSON +func (r ResponsesProps) MarshalJSON() ([]byte, error) { + toser := map[string]Response{} + if r.Default != nil { + toser["default"] = *r.Default + } + for k, v := range r.StatusCodeResponses { + toser[strconv.Itoa(k)] = v + } + return json.Marshal(toser) +} + +// UnmarshalJSON unmarshals responses from JSON +func (r *ResponsesProps) UnmarshalJSON(data []byte) error { + var res map[string]json.RawMessage + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + if v, ok := res["default"]; ok { + var defaultRes Response + if err := json.Unmarshal(v, &defaultRes); err != nil { + return err + } + r.Default = &defaultRes + delete(res, "default") + } + for k, v := range res { + if !strings.HasPrefix(k, "x-") { + var statusCodeResp Response + if err := json.Unmarshal(v, &statusCodeResp); err != nil { + return err + } + if nk, err := strconv.Atoi(k); err == nil { + if r.StatusCodeResponses == nil { + r.StatusCodeResponses = map[int]Response{} + } + r.StatusCodeResponses[nk] = statusCodeResp + } + } + } + return nil +} diff --git a/vendor/github.com/go-openapi/spec/schema.go b/vendor/github.com/go-openapi/spec/schema.go new file mode 100644 index 000000000..4e9be8576 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/schema.go @@ -0,0 +1,645 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// BooleanProperty creates a boolean property +func BooleanProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"boolean"}}} +} + +// BoolProperty creates a boolean property +func BoolProperty() *Schema { return BooleanProperty() } + +// StringProperty creates a string property +func StringProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}}} +} + +// CharProperty creates a string property +func CharProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}}} +} + +// Float64Property creates a float64/double property +func Float64Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"number"}, Format: "double"}} +} + +// Float32Property creates a float32/float property +func Float32Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"number"}, Format: "float"}} +} + +// Int8Property creates an int8 property +func Int8Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int8"}} +} + +// Int16Property creates an int16 property +func Int16Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int16"}} +} + +// Int32Property creates an int32 property +func Int32Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int32"}} +} + +// Int64Property creates an int64 property +func Int64Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int64"}} +} + +// StrFmtProperty creates a property for the named string format +func StrFmtProperty(format string) *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: format}} +} + +// DateProperty creates a date property +func DateProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: "date"}} +} + +// DateTimeProperty creates a date time property +func DateTimeProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: "date-time"}} +} + +// MapProperty creates a map property +func MapProperty(property *Schema) *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"object"}, + AdditionalProperties: &SchemaOrBool{Allows: true, Schema: property}}} +} + +// RefProperty creates a ref property +func RefProperty(name string) *Schema { + return &Schema{SchemaProps: SchemaProps{Ref: MustCreateRef(name)}} +} + +// RefSchema creates a ref property +func RefSchema(name string) *Schema { + return &Schema{SchemaProps: SchemaProps{Ref: MustCreateRef(name)}} +} + +// ArrayProperty creates an array property +func ArrayProperty(items *Schema) *Schema { + if items == nil { + return &Schema{SchemaProps: SchemaProps{Type: []string{"array"}}} + } + return &Schema{SchemaProps: SchemaProps{Items: &SchemaOrArray{Schema: items}, Type: []string{"array"}}} +} + +// ComposedSchema creates a schema with allOf +func ComposedSchema(schemas ...Schema) *Schema { + s := new(Schema) + s.AllOf = schemas + return s +} + +// SchemaURL represents a schema url +type SchemaURL string + +// MarshalJSON marshal this to JSON +func (r SchemaURL) MarshalJSON() ([]byte, error) { + if r == "" { + return []byte("{}"), nil + } + v := map[string]interface{}{"$schema": string(r)} + return json.Marshal(v) +} + +// UnmarshalJSON unmarshal this from JSON +func (r *SchemaURL) UnmarshalJSON(data []byte) error { + var v map[string]interface{} + if err := json.Unmarshal(data, &v); err != nil { + return err + } + return r.fromMap(v) +} + +func (r *SchemaURL) fromMap(v map[string]interface{}) error { + if v == nil { + return nil + } + if vv, ok := v["$schema"]; ok { + if str, ok := vv.(string); ok { + u, err := parseURL(str) + if err != nil { + return err + } + + *r = SchemaURL(u.String()) + } + } + return nil +} + +// SchemaProps describes a JSON schema (draft 4) +type SchemaProps struct { + ID string `json:"id,omitempty"` + Ref Ref `json:"-"` + Schema SchemaURL `json:"-"` + Description string `json:"description,omitempty"` + Type StringOrArray `json:"type,omitempty"` + Nullable bool `json:"nullable,omitempty"` + Format string `json:"format,omitempty"` + Title string `json:"title,omitempty"` + Default interface{} `json:"default,omitempty"` + Maximum *float64 `json:"maximum,omitempty"` + ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` + Minimum *float64 `json:"minimum,omitempty"` + ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` + MaxLength *int64 `json:"maxLength,omitempty"` + MinLength *int64 `json:"minLength,omitempty"` + Pattern string `json:"pattern,omitempty"` + MaxItems *int64 `json:"maxItems,omitempty"` + MinItems *int64 `json:"minItems,omitempty"` + UniqueItems bool `json:"uniqueItems,omitempty"` + MultipleOf *float64 `json:"multipleOf,omitempty"` + Enum []interface{} `json:"enum,omitempty"` + MaxProperties *int64 `json:"maxProperties,omitempty"` + MinProperties *int64 `json:"minProperties,omitempty"` + Required []string `json:"required,omitempty"` + Items *SchemaOrArray `json:"items,omitempty"` + AllOf []Schema `json:"allOf,omitempty"` + OneOf []Schema `json:"oneOf,omitempty"` + AnyOf []Schema `json:"anyOf,omitempty"` + Not *Schema `json:"not,omitempty"` + Properties SchemaProperties `json:"properties,omitempty"` + AdditionalProperties *SchemaOrBool `json:"additionalProperties,omitempty"` + PatternProperties SchemaProperties `json:"patternProperties,omitempty"` + Dependencies Dependencies `json:"dependencies,omitempty"` + AdditionalItems *SchemaOrBool `json:"additionalItems,omitempty"` + Definitions Definitions `json:"definitions,omitempty"` +} + +// SwaggerSchemaProps are additional properties supported by swagger schemas, but not JSON-schema (draft 4) +type SwaggerSchemaProps struct { + Discriminator string `json:"discriminator,omitempty"` + ReadOnly bool `json:"readOnly,omitempty"` + XML *XMLObject `json:"xml,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` + Example interface{} `json:"example,omitempty"` +} + +// Schema the schema object allows the definition of input and output data types. +// These types can be objects, but also primitives and arrays. +// This object is based on the [JSON Schema Specification Draft 4](http://json-schema.org/) +// and uses a predefined subset of it. +// On top of this subset, there are extensions provided by this specification to allow for more complete documentation. +// +// For more information: http://goo.gl/8us55a#schemaObject +type Schema struct { + VendorExtensible + SchemaProps + SwaggerSchemaProps + ExtraProps map[string]interface{} `json:"-"` +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s Schema) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + + if ex, ok := s.ExtraProps[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(s.SchemaProps, token) + if r != nil || (err != nil && !strings.HasPrefix(err.Error(), "object has no field")) { + return r, err + } + r, _, err = jsonpointer.GetForToken(s.SwaggerSchemaProps, token) + return r, err +} + +// WithID sets the id for this schema, allows for chaining +func (s *Schema) WithID(id string) *Schema { + s.ID = id + return s +} + +// WithTitle sets the title for this schema, allows for chaining +func (s *Schema) WithTitle(title string) *Schema { + s.Title = title + return s +} + +// WithDescription sets the description for this schema, allows for chaining +func (s *Schema) WithDescription(description string) *Schema { + s.Description = description + return s +} + +// WithProperties sets the properties for this schema +func (s *Schema) WithProperties(schemas map[string]Schema) *Schema { + s.Properties = schemas + return s +} + +// SetProperty sets a property on this schema +func (s *Schema) SetProperty(name string, schema Schema) *Schema { + if s.Properties == nil { + s.Properties = make(map[string]Schema) + } + s.Properties[name] = schema + return s +} + +// WithAllOf sets the all of property +func (s *Schema) WithAllOf(schemas ...Schema) *Schema { + s.AllOf = schemas + return s +} + +// WithMaxProperties sets the max number of properties an object can have +func (s *Schema) WithMaxProperties(max int64) *Schema { + s.MaxProperties = &max + return s +} + +// WithMinProperties sets the min number of properties an object must have +func (s *Schema) WithMinProperties(min int64) *Schema { + s.MinProperties = &min + return s +} + +// Typed sets the type of this schema for a single value item +func (s *Schema) Typed(tpe, format string) *Schema { + s.Type = []string{tpe} + s.Format = format + return s +} + +// AddType adds a type with potential format to the types for this schema +func (s *Schema) AddType(tpe, format string) *Schema { + s.Type = append(s.Type, tpe) + if format != "" { + s.Format = format + } + return s +} + +// AsNullable flags this schema as nullable. +func (s *Schema) AsNullable() *Schema { + s.Nullable = true + return s +} + +// CollectionOf a fluent builder method for an array parameter +func (s *Schema) CollectionOf(items Schema) *Schema { + s.Type = []string{jsonArray} + s.Items = &SchemaOrArray{Schema: &items} + return s +} + +// WithDefault sets the default value on this parameter +func (s *Schema) WithDefault(defaultValue interface{}) *Schema { + s.Default = defaultValue + return s +} + +// WithRequired flags this parameter as required +func (s *Schema) WithRequired(items ...string) *Schema { + s.Required = items + return s +} + +// AddRequired adds field names to the required properties array +func (s *Schema) AddRequired(items ...string) *Schema { + s.Required = append(s.Required, items...) + return s +} + +// WithMaxLength sets a max length value +func (s *Schema) WithMaxLength(max int64) *Schema { + s.MaxLength = &max + return s +} + +// WithMinLength sets a min length value +func (s *Schema) WithMinLength(min int64) *Schema { + s.MinLength = &min + return s +} + +// WithPattern sets a pattern value +func (s *Schema) WithPattern(pattern string) *Schema { + s.Pattern = pattern + return s +} + +// WithMultipleOf sets a multiple of value +func (s *Schema) WithMultipleOf(number float64) *Schema { + s.MultipleOf = &number + return s +} + +// WithMaximum sets a maximum number value +func (s *Schema) WithMaximum(max float64, exclusive bool) *Schema { + s.Maximum = &max + s.ExclusiveMaximum = exclusive + return s +} + +// WithMinimum sets a minimum number value +func (s *Schema) WithMinimum(min float64, exclusive bool) *Schema { + s.Minimum = &min + s.ExclusiveMinimum = exclusive + return s +} + +// WithEnum sets a the enum values (replace) +func (s *Schema) WithEnum(values ...interface{}) *Schema { + s.Enum = append([]interface{}{}, values...) + return s +} + +// WithMaxItems sets the max items +func (s *Schema) WithMaxItems(size int64) *Schema { + s.MaxItems = &size + return s +} + +// WithMinItems sets the min items +func (s *Schema) WithMinItems(size int64) *Schema { + s.MinItems = &size + return s +} + +// UniqueValues dictates that this array can only have unique items +func (s *Schema) UniqueValues() *Schema { + s.UniqueItems = true + return s +} + +// AllowDuplicates this array can have duplicates +func (s *Schema) AllowDuplicates() *Schema { + s.UniqueItems = false + return s +} + +// AddToAllOf adds a schema to the allOf property +func (s *Schema) AddToAllOf(schemas ...Schema) *Schema { + s.AllOf = append(s.AllOf, schemas...) + return s +} + +// WithDiscriminator sets the name of the discriminator field +func (s *Schema) WithDiscriminator(discriminator string) *Schema { + s.Discriminator = discriminator + return s +} + +// AsReadOnly flags this schema as readonly +func (s *Schema) AsReadOnly() *Schema { + s.ReadOnly = true + return s +} + +// AsWritable flags this schema as writeable (not read-only) +func (s *Schema) AsWritable() *Schema { + s.ReadOnly = false + return s +} + +// WithExample sets the example for this schema +func (s *Schema) WithExample(example interface{}) *Schema { + s.Example = example + return s +} + +// WithExternalDocs sets/removes the external docs for/from this schema. +// When you pass empty strings as params the external documents will be removed. +// When you pass non-empty string as one value then those values will be used on the external docs object. +// So when you pass a non-empty description, you should also pass the url and vice versa. +func (s *Schema) WithExternalDocs(description, url string) *Schema { + if description == "" && url == "" { + s.ExternalDocs = nil + return s + } + + if s.ExternalDocs == nil { + s.ExternalDocs = &ExternalDocumentation{} + } + s.ExternalDocs.Description = description + s.ExternalDocs.URL = url + return s +} + +// WithXMLName sets the xml name for the object +func (s *Schema) WithXMLName(name string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Name = name + return s +} + +// WithXMLNamespace sets the xml namespace for the object +func (s *Schema) WithXMLNamespace(namespace string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Namespace = namespace + return s +} + +// WithXMLPrefix sets the xml prefix for the object +func (s *Schema) WithXMLPrefix(prefix string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Prefix = prefix + return s +} + +// AsXMLAttribute flags this object as xml attribute +func (s *Schema) AsXMLAttribute() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Attribute = true + return s +} + +// AsXMLElement flags this object as an xml node +func (s *Schema) AsXMLElement() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Attribute = false + return s +} + +// AsWrappedXML flags this object as wrapped, this is mostly useful for array types +func (s *Schema) AsWrappedXML() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Wrapped = true + return s +} + +// AsUnwrappedXML flags this object as an xml node +func (s *Schema) AsUnwrappedXML() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Wrapped = false + return s +} + +// SetValidations defines all schema validations. +// +// NOTE: Required, ReadOnly, AllOf, AnyOf, OneOf and Not are not considered. +func (s *Schema) SetValidations(val SchemaValidations) { + s.Maximum = val.Maximum + s.ExclusiveMaximum = val.ExclusiveMaximum + s.Minimum = val.Minimum + s.ExclusiveMinimum = val.ExclusiveMinimum + s.MaxLength = val.MaxLength + s.MinLength = val.MinLength + s.Pattern = val.Pattern + s.MaxItems = val.MaxItems + s.MinItems = val.MinItems + s.UniqueItems = val.UniqueItems + s.MultipleOf = val.MultipleOf + s.Enum = val.Enum + s.MinProperties = val.MinProperties + s.MaxProperties = val.MaxProperties + s.PatternProperties = val.PatternProperties +} + +// WithValidations is a fluent method to set schema validations +func (s *Schema) WithValidations(val SchemaValidations) *Schema { + s.SetValidations(val) + return s +} + +// Validations returns a clone of the validations for this schema +func (s Schema) Validations() SchemaValidations { + return SchemaValidations{ + CommonValidations: CommonValidations{ + Maximum: s.Maximum, + ExclusiveMaximum: s.ExclusiveMaximum, + Minimum: s.Minimum, + ExclusiveMinimum: s.ExclusiveMinimum, + MaxLength: s.MaxLength, + MinLength: s.MinLength, + Pattern: s.Pattern, + MaxItems: s.MaxItems, + MinItems: s.MinItems, + UniqueItems: s.UniqueItems, + MultipleOf: s.MultipleOf, + Enum: s.Enum, + }, + MinProperties: s.MinProperties, + MaxProperties: s.MaxProperties, + PatternProperties: s.PatternProperties, + } +} + +// MarshalJSON marshal this to JSON +func (s Schema) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(s.SchemaProps) + if err != nil { + return nil, fmt.Errorf("schema props %v", err) + } + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, fmt.Errorf("vendor props %v", err) + } + b3, err := s.Ref.MarshalJSON() + if err != nil { + return nil, fmt.Errorf("ref prop %v", err) + } + b4, err := s.Schema.MarshalJSON() + if err != nil { + return nil, fmt.Errorf("schema prop %v", err) + } + b5, err := json.Marshal(s.SwaggerSchemaProps) + if err != nil { + return nil, fmt.Errorf("common validations %v", err) + } + var b6 []byte + if s.ExtraProps != nil { + jj, err := json.Marshal(s.ExtraProps) + if err != nil { + return nil, fmt.Errorf("extra props %v", err) + } + b6 = jj + } + return swag.ConcatJSON(b1, b2, b3, b4, b5, b6), nil +} + +// UnmarshalJSON marshal this from JSON +func (s *Schema) UnmarshalJSON(data []byte) error { + props := struct { + SchemaProps + SwaggerSchemaProps + }{} + if err := json.Unmarshal(data, &props); err != nil { + return err + } + + sch := Schema{ + SchemaProps: props.SchemaProps, + SwaggerSchemaProps: props.SwaggerSchemaProps, + } + + var d map[string]interface{} + if err := json.Unmarshal(data, &d); err != nil { + return err + } + + _ = sch.Ref.fromMap(d) + _ = sch.Schema.fromMap(d) + + delete(d, "$ref") + delete(d, "$schema") + for _, pn := range swag.DefaultJSONNameProvider.GetJSONNames(s) { + delete(d, pn) + } + + for k, vv := range d { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + if sch.Extensions == nil { + sch.Extensions = map[string]interface{}{} + } + sch.Extensions[k] = vv + continue + } + if sch.ExtraProps == nil { + sch.ExtraProps = map[string]interface{}{} + } + sch.ExtraProps[k] = vv + } + + *s = sch + + return nil +} diff --git a/vendor/github.com/go-openapi/spec/schema_loader.go b/vendor/github.com/go-openapi/spec/schema_loader.go new file mode 100644 index 000000000..0059b99ae --- /dev/null +++ b/vendor/github.com/go-openapi/spec/schema_loader.go @@ -0,0 +1,331 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + "fmt" + "log" + "net/url" + "reflect" + "strings" + + "github.com/go-openapi/swag" +) + +// PathLoader is a function to use when loading remote refs. +// +// This is a package level default. It may be overridden or bypassed by +// specifying the loader in ExpandOptions. +// +// NOTE: if you are using the go-openapi/loads package, it will override +// this value with its own default (a loader to retrieve YAML documents as +// well as JSON ones). +var PathLoader = func(pth string) (json.RawMessage, error) { + data, err := swag.LoadFromFileOrHTTP(pth) + if err != nil { + return nil, err + } + return json.RawMessage(data), nil +} + +// resolverContext allows to share a context during spec processing. +// At the moment, it just holds the index of circular references found. +type resolverContext struct { + // circulars holds all visited circular references, to shortcircuit $ref resolution. + // + // This structure is privately instantiated and needs not be locked against + // concurrent access, unless we chose to implement a parallel spec walking. + circulars map[string]bool + basePath string + loadDoc func(string) (json.RawMessage, error) + rootID string +} + +func newResolverContext(options *ExpandOptions) *resolverContext { + expandOptions := optionsOrDefault(options) + + // path loader may be overridden by options + var loader func(string) (json.RawMessage, error) + if expandOptions.PathLoader == nil { + loader = PathLoader + } else { + loader = expandOptions.PathLoader + } + + return &resolverContext{ + circulars: make(map[string]bool), + basePath: expandOptions.RelativeBase, // keep the root base path in context + loadDoc: loader, + } +} + +type schemaLoader struct { + root interface{} + options *ExpandOptions + cache ResolutionCache + context *resolverContext +} + +func (r *schemaLoader) transitiveResolver(basePath string, ref Ref) *schemaLoader { + if ref.IsRoot() || ref.HasFragmentOnly { + return r + } + + baseRef := MustCreateRef(basePath) + currentRef := normalizeRef(&ref, basePath) + if strings.HasPrefix(currentRef.String(), baseRef.String()) { + return r + } + + // set a new root against which to resolve + rootURL := currentRef.GetURL() + rootURL.Fragment = "" + root, _ := r.cache.Get(rootURL.String()) + + // shallow copy of resolver options to set a new RelativeBase when + // traversing multiple documents + newOptions := r.options + newOptions.RelativeBase = rootURL.String() + + return defaultSchemaLoader(root, newOptions, r.cache, r.context) +} + +func (r *schemaLoader) updateBasePath(transitive *schemaLoader, basePath string) string { + if transitive != r { + if transitive.options != nil && transitive.options.RelativeBase != "" { + return normalizeBase(transitive.options.RelativeBase) + } + } + + return basePath +} + +func (r *schemaLoader) resolveRef(ref *Ref, target interface{}, basePath string) error { + tgt := reflect.ValueOf(target) + if tgt.Kind() != reflect.Ptr { + return ErrResolveRefNeedsAPointer + } + + if ref.GetURL() == nil { + return nil + } + + var ( + res interface{} + data interface{} + err error + ) + + // Resolve against the root if it isn't nil, and if ref is pointing at the root, or has a fragment only which means + // it is pointing somewhere in the root. + root := r.root + if (ref.IsRoot() || ref.HasFragmentOnly) && root == nil && basePath != "" { + if baseRef, erb := NewRef(basePath); erb == nil { + root, _, _, _ = r.load(baseRef.GetURL()) + } + } + + if (ref.IsRoot() || ref.HasFragmentOnly) && root != nil { + data = root + } else { + baseRef := normalizeRef(ref, basePath) + data, _, _, err = r.load(baseRef.GetURL()) + if err != nil { + return err + } + } + + res = data + if ref.String() != "" { + res, _, err = ref.GetPointer().Get(data) + if err != nil { + return err + } + } + return swag.DynamicJSONToStruct(res, target) +} + +func (r *schemaLoader) load(refURL *url.URL) (interface{}, url.URL, bool, error) { + debugLog("loading schema from url: %s", refURL) + toFetch := *refURL + toFetch.Fragment = "" + + var err error + pth := toFetch.String() + normalized := normalizeBase(pth) + debugLog("loading doc from: %s", normalized) + + data, fromCache := r.cache.Get(normalized) + if fromCache { + return data, toFetch, fromCache, nil + } + + b, err := r.context.loadDoc(normalized) + if err != nil { + return nil, url.URL{}, false, err + } + + var doc interface{} + if err := json.Unmarshal(b, &doc); err != nil { + return nil, url.URL{}, false, err + } + r.cache.Set(normalized, doc) + + return doc, toFetch, fromCache, nil +} + +// isCircular detects cycles in sequences of $ref. +// +// It relies on a private context (which needs not be locked). +func (r *schemaLoader) isCircular(ref *Ref, basePath string, parentRefs ...string) (foundCycle bool) { + normalizedRef := normalizeURI(ref.String(), basePath) + if _, ok := r.context.circulars[normalizedRef]; ok { + // circular $ref has been already detected in another explored cycle + foundCycle = true + return + } + foundCycle = swag.ContainsStrings(parentRefs, normalizedRef) // normalized windows url's are lower cased + if foundCycle { + r.context.circulars[normalizedRef] = true + } + return +} + +// Resolve resolves a reference against basePath and stores the result in target. +// +// Resolve is not in charge of following references: it only resolves ref by following its URL. +// +// If the schema the ref is referring to holds nested refs, Resolve doesn't resolve them. +// +// If basePath is an empty string, ref is resolved against the root schema stored in the schemaLoader struct +func (r *schemaLoader) Resolve(ref *Ref, target interface{}, basePath string) error { + return r.resolveRef(ref, target, basePath) +} + +func (r *schemaLoader) deref(input interface{}, parentRefs []string, basePath string) error { + var ref *Ref + switch refable := input.(type) { + case *Schema: + ref = &refable.Ref + case *Parameter: + ref = &refable.Ref + case *Response: + ref = &refable.Ref + case *PathItem: + ref = &refable.Ref + default: + return fmt.Errorf("unsupported type: %T: %w", input, ErrDerefUnsupportedType) + } + + curRef := ref.String() + if curRef == "" { + return nil + } + + normalizedRef := normalizeRef(ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if r.isCircular(normalizedRef, basePath, parentRefs...) { + return nil + } + + if err := r.resolveRef(ref, input, basePath); r.shouldStopOnError(err) { + return err + } + + if ref.String() == "" || ref.String() == curRef { + // done with rereferencing + return nil + } + + parentRefs = append(parentRefs, normalizedRef.String()) + return r.deref(input, parentRefs, normalizedBasePath) +} + +func (r *schemaLoader) shouldStopOnError(err error) bool { + if err != nil && !r.options.ContinueOnError { + return true + } + + if err != nil { + log.Println(err) + } + + return false +} + +func (r *schemaLoader) setSchemaID(target interface{}, id, basePath string) (string, string) { + debugLog("schema has ID: %s", id) + + // handling the case when id is a folder + // remember that basePath has to point to a file + var refPath string + if strings.HasSuffix(id, "/") { + // ensure this is detected as a file, not a folder + refPath = fmt.Sprintf("%s%s", id, "placeholder.json") + } else { + refPath = id + } + + // updates the current base path + // * important: ID can be a relative path + // * registers target to be fetchable from the new base proposed by this id + newBasePath := normalizeURI(refPath, basePath) + + // store found IDs for possible future reuse in $ref + r.cache.Set(newBasePath, target) + + // the root document has an ID: all $ref relative to that ID may + // be rebased relative to the root document + if basePath == r.context.basePath { + debugLog("root document is a schema with ID: %s (normalized as:%s)", id, newBasePath) + r.context.rootID = newBasePath + } + + return newBasePath, refPath +} + +func defaultSchemaLoader( + root interface{}, + expandOptions *ExpandOptions, + cache ResolutionCache, + context *resolverContext) *schemaLoader { + + if expandOptions == nil { + expandOptions = &ExpandOptions{} + } + + cache = cacheOrDefault(cache) + + if expandOptions.RelativeBase == "" { + // if no relative base is provided, assume the root document + // contains all $ref, or at least, that the relative documents + // may be resolved from the current working directory. + expandOptions.RelativeBase = baseForRoot(root, cache) + } + debugLog("effective expander options: %#v", expandOptions) + + if context == nil { + context = newResolverContext(expandOptions) + } + + return &schemaLoader{ + root: root, + options: expandOptions, + cache: cache, + context: context, + } +} diff --git a/vendor/github.com/go-openapi/spec/schemas/jsonschema-draft-04.json b/vendor/github.com/go-openapi/spec/schemas/jsonschema-draft-04.json new file mode 100644 index 000000000..bcbb84743 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/schemas/jsonschema-draft-04.json @@ -0,0 +1,149 @@ +{ + "id": "http://json-schema.org/draft-04/schema#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Core schema meta-schema", + "definitions": { + "schemaArray": { + "type": "array", + "minItems": 1, + "items": { "$ref": "#" } + }, + "positiveInteger": { + "type": "integer", + "minimum": 0 + }, + "positiveIntegerDefault0": { + "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ] + }, + "simpleTypes": { + "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] + }, + "stringArray": { + "type": "array", + "items": { "type": "string" }, + "minItems": 1, + "uniqueItems": true + } + }, + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "$schema": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "default": {}, + "multipleOf": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true + }, + "maximum": { + "type": "number" + }, + "exclusiveMaximum": { + "type": "boolean", + "default": false + }, + "minimum": { + "type": "number" + }, + "exclusiveMinimum": { + "type": "boolean", + "default": false + }, + "maxLength": { "$ref": "#/definitions/positiveInteger" }, + "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" }, + "pattern": { + "type": "string", + "format": "regex" + }, + "additionalItems": { + "anyOf": [ + { "type": "boolean" }, + { "$ref": "#" } + ], + "default": {} + }, + "items": { + "anyOf": [ + { "$ref": "#" }, + { "$ref": "#/definitions/schemaArray" } + ], + "default": {} + }, + "maxItems": { "$ref": "#/definitions/positiveInteger" }, + "minItems": { "$ref": "#/definitions/positiveIntegerDefault0" }, + "uniqueItems": { + "type": "boolean", + "default": false + }, + "maxProperties": { "$ref": "#/definitions/positiveInteger" }, + "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" }, + "required": { "$ref": "#/definitions/stringArray" }, + "additionalProperties": { + "anyOf": [ + { "type": "boolean" }, + { "$ref": "#" } + ], + "default": {} + }, + "definitions": { + "type": "object", + "additionalProperties": { "$ref": "#" }, + "default": {} + }, + "properties": { + "type": "object", + "additionalProperties": { "$ref": "#" }, + "default": {} + }, + "patternProperties": { + "type": "object", + "additionalProperties": { "$ref": "#" }, + "default": {} + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { "$ref": "#" }, + { "$ref": "#/definitions/stringArray" } + ] + } + }, + "enum": { + "type": "array", + "minItems": 1, + "uniqueItems": true + }, + "type": { + "anyOf": [ + { "$ref": "#/definitions/simpleTypes" }, + { + "type": "array", + "items": { "$ref": "#/definitions/simpleTypes" }, + "minItems": 1, + "uniqueItems": true + } + ] + }, + "format": { "type": "string" }, + "allOf": { "$ref": "#/definitions/schemaArray" }, + "anyOf": { "$ref": "#/definitions/schemaArray" }, + "oneOf": { "$ref": "#/definitions/schemaArray" }, + "not": { "$ref": "#" } + }, + "dependencies": { + "exclusiveMaximum": [ "maximum" ], + "exclusiveMinimum": [ "minimum" ] + }, + "default": {} +} diff --git a/vendor/github.com/go-openapi/spec/schemas/v2/schema.json b/vendor/github.com/go-openapi/spec/schemas/v2/schema.json new file mode 100644 index 000000000..ebe10ed32 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/schemas/v2/schema.json @@ -0,0 +1,1607 @@ +{ + "title": "A JSON Schema for Swagger 2.0 API.", + "id": "http://swagger.io/v2/schema.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "required": [ + "swagger", + "info", + "paths" + ], + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "swagger": { + "type": "string", + "enum": [ + "2.0" + ], + "description": "The Swagger version of this document." + }, + "info": { + "$ref": "#/definitions/info" + }, + "host": { + "type": "string", + "pattern": "^[^{}/ :\\\\]+(?::\\d+)?$", + "description": "The host (name or ip) of the API. Example: 'swagger.io'" + }, + "basePath": { + "type": "string", + "pattern": "^/", + "description": "The base path to the API. Example: '/api'." + }, + "schemes": { + "$ref": "#/definitions/schemesList" + }, + "consumes": { + "description": "A list of MIME types accepted by the API.", + "allOf": [ + { + "$ref": "#/definitions/mediaTypeList" + } + ] + }, + "produces": { + "description": "A list of MIME types the API can produce.", + "allOf": [ + { + "$ref": "#/definitions/mediaTypeList" + } + ] + }, + "paths": { + "$ref": "#/definitions/paths" + }, + "definitions": { + "$ref": "#/definitions/definitions" + }, + "parameters": { + "$ref": "#/definitions/parameterDefinitions" + }, + "responses": { + "$ref": "#/definitions/responseDefinitions" + }, + "security": { + "$ref": "#/definitions/security" + }, + "securityDefinitions": { + "$ref": "#/definitions/securityDefinitions" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/tag" + }, + "uniqueItems": true + }, + "externalDocs": { + "$ref": "#/definitions/externalDocs" + } + }, + "definitions": { + "info": { + "type": "object", + "description": "General information about the API.", + "required": [ + "version", + "title" + ], + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "title": { + "type": "string", + "description": "A unique and precise title of the API." + }, + "version": { + "type": "string", + "description": "A semantic version number of the API." + }, + "description": { + "type": "string", + "description": "A longer description of the API. Should be different from the title. GitHub Flavored Markdown is allowed." + }, + "termsOfService": { + "type": "string", + "description": "The terms of service for the API." + }, + "contact": { + "$ref": "#/definitions/contact" + }, + "license": { + "$ref": "#/definitions/license" + } + } + }, + "contact": { + "type": "object", + "description": "Contact information for the owners of the API.", + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "The identifying name of the contact person/organization." + }, + "url": { + "type": "string", + "description": "The URL pointing to the contact information.", + "format": "uri" + }, + "email": { + "type": "string", + "description": "The email address of the contact person/organization.", + "format": "email" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "license": { + "type": "object", + "required": [ + "name" + ], + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "The name of the license type. It's encouraged to use an OSI compatible license." + }, + "url": { + "type": "string", + "description": "The URL pointing to the license.", + "format": "uri" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "paths": { + "type": "object", + "description": "Relative paths to the individual endpoints. They must be relative to the 'basePath'.", + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + }, + "^/": { + "$ref": "#/definitions/pathItem" + } + }, + "additionalProperties": false + }, + "definitions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/schema" + }, + "description": "One or more JSON objects describing the schemas being consumed and produced by the API." + }, + "parameterDefinitions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/parameter" + }, + "description": "One or more JSON representations for parameters" + }, + "responseDefinitions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/response" + }, + "description": "One or more JSON representations for responses" + }, + "externalDocs": { + "type": "object", + "additionalProperties": false, + "description": "information about external documentation", + "required": [ + "url" + ], + "properties": { + "description": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "examples": { + "type": "object", + "additionalProperties": true + }, + "mimeType": { + "type": "string", + "description": "The MIME type of the HTTP message." + }, + "operation": { + "type": "object", + "required": [ + "responses" + ], + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "summary": { + "type": "string", + "description": "A brief summary of the operation." + }, + "description": { + "type": "string", + "description": "A longer description of the operation, GitHub Flavored Markdown is allowed." + }, + "externalDocs": { + "$ref": "#/definitions/externalDocs" + }, + "operationId": { + "type": "string", + "description": "A unique identifier of the operation." + }, + "produces": { + "description": "A list of MIME types the API can produce.", + "allOf": [ + { + "$ref": "#/definitions/mediaTypeList" + } + ] + }, + "consumes": { + "description": "A list of MIME types the API can consume.", + "allOf": [ + { + "$ref": "#/definitions/mediaTypeList" + } + ] + }, + "parameters": { + "$ref": "#/definitions/parametersList" + }, + "responses": { + "$ref": "#/definitions/responses" + }, + "schemes": { + "$ref": "#/definitions/schemesList" + }, + "deprecated": { + "type": "boolean", + "default": false + }, + "security": { + "$ref": "#/definitions/security" + } + } + }, + "pathItem": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "$ref": { + "type": "string" + }, + "get": { + "$ref": "#/definitions/operation" + }, + "put": { + "$ref": "#/definitions/operation" + }, + "post": { + "$ref": "#/definitions/operation" + }, + "delete": { + "$ref": "#/definitions/operation" + }, + "options": { + "$ref": "#/definitions/operation" + }, + "head": { + "$ref": "#/definitions/operation" + }, + "patch": { + "$ref": "#/definitions/operation" + }, + "parameters": { + "$ref": "#/definitions/parametersList" + } + } + }, + "responses": { + "type": "object", + "description": "Response objects names can either be any valid HTTP status code or 'default'.", + "minProperties": 1, + "additionalProperties": false, + "patternProperties": { + "^([0-9]{3})$|^(default)$": { + "$ref": "#/definitions/responseValue" + }, + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "not": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + } + }, + "responseValue": { + "oneOf": [ + { + "$ref": "#/definitions/response" + }, + { + "$ref": "#/definitions/jsonReference" + } + ] + }, + "response": { + "type": "object", + "required": [ + "description" + ], + "properties": { + "description": { + "type": "string" + }, + "schema": { + "oneOf": [ + { + "$ref": "#/definitions/schema" + }, + { + "$ref": "#/definitions/fileSchema" + } + ] + }, + "headers": { + "$ref": "#/definitions/headers" + }, + "examples": { + "$ref": "#/definitions/examples" + } + }, + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "headers": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/header" + } + }, + "header": { + "type": "object", + "additionalProperties": false, + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ] + }, + "format": { + "type": "string" + }, + "items": { + "$ref": "#/definitions/primitivesItems" + }, + "collectionFormat": { + "$ref": "#/definitions/collectionFormat" + }, + "default": { + "$ref": "#/definitions/default" + }, + "maximum": { + "$ref": "#/definitions/maximum" + }, + "exclusiveMaximum": { + "$ref": "#/definitions/exclusiveMaximum" + }, + "minimum": { + "$ref": "#/definitions/minimum" + }, + "exclusiveMinimum": { + "$ref": "#/definitions/exclusiveMinimum" + }, + "maxLength": { + "$ref": "#/definitions/maxLength" + }, + "minLength": { + "$ref": "#/definitions/minLength" + }, + "pattern": { + "$ref": "#/definitions/pattern" + }, + "maxItems": { + "$ref": "#/definitions/maxItems" + }, + "minItems": { + "$ref": "#/definitions/minItems" + }, + "uniqueItems": { + "$ref": "#/definitions/uniqueItems" + }, + "enum": { + "$ref": "#/definitions/enum" + }, + "multipleOf": { + "$ref": "#/definitions/multipleOf" + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "vendorExtension": { + "description": "Any property starting with x- is valid.", + "additionalProperties": true, + "additionalItems": true + }, + "bodyParameter": { + "type": "object", + "required": [ + "name", + "in", + "schema" + ], + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "description": { + "type": "string", + "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." + }, + "name": { + "type": "string", + "description": "The name of the parameter." + }, + "in": { + "type": "string", + "description": "Determines the location of the parameter.", + "enum": [ + "body" + ] + }, + "required": { + "type": "boolean", + "description": "Determines whether or not this parameter is required or optional.", + "default": false + }, + "schema": { + "$ref": "#/definitions/schema" + } + }, + "additionalProperties": false + }, + "headerParameterSubSchema": { + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "required": { + "type": "boolean", + "description": "Determines whether or not this parameter is required or optional.", + "default": false + }, + "in": { + "type": "string", + "description": "Determines the location of the parameter.", + "enum": [ + "header" + ] + }, + "description": { + "type": "string", + "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." + }, + "name": { + "type": "string", + "description": "The name of the parameter." + }, + "type": { + "type": "string", + "enum": [ + "string", + "number", + "boolean", + "integer", + "array" + ] + }, + "format": { + "type": "string" + }, + "items": { + "$ref": "#/definitions/primitivesItems" + }, + "collectionFormat": { + "$ref": "#/definitions/collectionFormat" + }, + "default": { + "$ref": "#/definitions/default" + }, + "maximum": { + "$ref": "#/definitions/maximum" + }, + "exclusiveMaximum": { + "$ref": "#/definitions/exclusiveMaximum" + }, + "minimum": { + "$ref": "#/definitions/minimum" + }, + "exclusiveMinimum": { + "$ref": "#/definitions/exclusiveMinimum" + }, + "maxLength": { + "$ref": "#/definitions/maxLength" + }, + "minLength": { + "$ref": "#/definitions/minLength" + }, + "pattern": { + "$ref": "#/definitions/pattern" + }, + "maxItems": { + "$ref": "#/definitions/maxItems" + }, + "minItems": { + "$ref": "#/definitions/minItems" + }, + "uniqueItems": { + "$ref": "#/definitions/uniqueItems" + }, + "enum": { + "$ref": "#/definitions/enum" + }, + "multipleOf": { + "$ref": "#/definitions/multipleOf" + } + } + }, + "queryParameterSubSchema": { + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "required": { + "type": "boolean", + "description": "Determines whether or not this parameter is required or optional.", + "default": false + }, + "in": { + "type": "string", + "description": "Determines the location of the parameter.", + "enum": [ + "query" + ] + }, + "description": { + "type": "string", + "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." + }, + "name": { + "type": "string", + "description": "The name of the parameter." + }, + "allowEmptyValue": { + "type": "boolean", + "default": false, + "description": "allows sending a parameter by name only or with an empty value." + }, + "type": { + "type": "string", + "enum": [ + "string", + "number", + "boolean", + "integer", + "array" + ] + }, + "format": { + "type": "string" + }, + "items": { + "$ref": "#/definitions/primitivesItems" + }, + "collectionFormat": { + "$ref": "#/definitions/collectionFormatWithMulti" + }, + "default": { + "$ref": "#/definitions/default" + }, + "maximum": { + "$ref": "#/definitions/maximum" + }, + "exclusiveMaximum": { + "$ref": "#/definitions/exclusiveMaximum" + }, + "minimum": { + "$ref": "#/definitions/minimum" + }, + "exclusiveMinimum": { + "$ref": "#/definitions/exclusiveMinimum" + }, + "maxLength": { + "$ref": "#/definitions/maxLength" + }, + "minLength": { + "$ref": "#/definitions/minLength" + }, + "pattern": { + "$ref": "#/definitions/pattern" + }, + "maxItems": { + "$ref": "#/definitions/maxItems" + }, + "minItems": { + "$ref": "#/definitions/minItems" + }, + "uniqueItems": { + "$ref": "#/definitions/uniqueItems" + }, + "enum": { + "$ref": "#/definitions/enum" + }, + "multipleOf": { + "$ref": "#/definitions/multipleOf" + } + } + }, + "formDataParameterSubSchema": { + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "required": { + "type": "boolean", + "description": "Determines whether or not this parameter is required or optional.", + "default": false + }, + "in": { + "type": "string", + "description": "Determines the location of the parameter.", + "enum": [ + "formData" + ] + }, + "description": { + "type": "string", + "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." + }, + "name": { + "type": "string", + "description": "The name of the parameter." + }, + "allowEmptyValue": { + "type": "boolean", + "default": false, + "description": "allows sending a parameter by name only or with an empty value." + }, + "type": { + "type": "string", + "enum": [ + "string", + "number", + "boolean", + "integer", + "array", + "file" + ] + }, + "format": { + "type": "string" + }, + "items": { + "$ref": "#/definitions/primitivesItems" + }, + "collectionFormat": { + "$ref": "#/definitions/collectionFormatWithMulti" + }, + "default": { + "$ref": "#/definitions/default" + }, + "maximum": { + "$ref": "#/definitions/maximum" + }, + "exclusiveMaximum": { + "$ref": "#/definitions/exclusiveMaximum" + }, + "minimum": { + "$ref": "#/definitions/minimum" + }, + "exclusiveMinimum": { + "$ref": "#/definitions/exclusiveMinimum" + }, + "maxLength": { + "$ref": "#/definitions/maxLength" + }, + "minLength": { + "$ref": "#/definitions/minLength" + }, + "pattern": { + "$ref": "#/definitions/pattern" + }, + "maxItems": { + "$ref": "#/definitions/maxItems" + }, + "minItems": { + "$ref": "#/definitions/minItems" + }, + "uniqueItems": { + "$ref": "#/definitions/uniqueItems" + }, + "enum": { + "$ref": "#/definitions/enum" + }, + "multipleOf": { + "$ref": "#/definitions/multipleOf" + } + } + }, + "pathParameterSubSchema": { + "additionalProperties": false, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "required": [ + "required" + ], + "properties": { + "required": { + "type": "boolean", + "enum": [ + true + ], + "description": "Determines whether or not this parameter is required or optional." + }, + "in": { + "type": "string", + "description": "Determines the location of the parameter.", + "enum": [ + "path" + ] + }, + "description": { + "type": "string", + "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." + }, + "name": { + "type": "string", + "description": "The name of the parameter." + }, + "type": { + "type": "string", + "enum": [ + "string", + "number", + "boolean", + "integer", + "array" + ] + }, + "format": { + "type": "string" + }, + "items": { + "$ref": "#/definitions/primitivesItems" + }, + "collectionFormat": { + "$ref": "#/definitions/collectionFormat" + }, + "default": { + "$ref": "#/definitions/default" + }, + "maximum": { + "$ref": "#/definitions/maximum" + }, + "exclusiveMaximum": { + "$ref": "#/definitions/exclusiveMaximum" + }, + "minimum": { + "$ref": "#/definitions/minimum" + }, + "exclusiveMinimum": { + "$ref": "#/definitions/exclusiveMinimum" + }, + "maxLength": { + "$ref": "#/definitions/maxLength" + }, + "minLength": { + "$ref": "#/definitions/minLength" + }, + "pattern": { + "$ref": "#/definitions/pattern" + }, + "maxItems": { + "$ref": "#/definitions/maxItems" + }, + "minItems": { + "$ref": "#/definitions/minItems" + }, + "uniqueItems": { + "$ref": "#/definitions/uniqueItems" + }, + "enum": { + "$ref": "#/definitions/enum" + }, + "multipleOf": { + "$ref": "#/definitions/multipleOf" + } + } + }, + "nonBodyParameter": { + "type": "object", + "required": [ + "name", + "in", + "type" + ], + "oneOf": [ + { + "$ref": "#/definitions/headerParameterSubSchema" + }, + { + "$ref": "#/definitions/formDataParameterSubSchema" + }, + { + "$ref": "#/definitions/queryParameterSubSchema" + }, + { + "$ref": "#/definitions/pathParameterSubSchema" + } + ] + }, + "parameter": { + "oneOf": [ + { + "$ref": "#/definitions/bodyParameter" + }, + { + "$ref": "#/definitions/nonBodyParameter" + } + ] + }, + "schema": { + "type": "object", + "description": "A deterministic version of a JSON Schema object.", + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "properties": { + "$ref": { + "type": "string" + }, + "format": { + "type": "string" + }, + "title": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/title" + }, + "description": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/description" + }, + "default": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/default" + }, + "multipleOf": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" + }, + "maximum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" + }, + "exclusiveMaximum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" + }, + "minimum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" + }, + "exclusiveMinimum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" + }, + "maxLength": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" + }, + "minLength": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" + }, + "pattern": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" + }, + "maxItems": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" + }, + "minItems": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" + }, + "uniqueItems": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" + }, + "maxProperties": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" + }, + "minProperties": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" + }, + "required": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" + }, + "enum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/enum" + }, + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/definitions/schema" + }, + { + "type": "boolean" + } + ], + "default": {} + }, + "type": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/type" + }, + "items": { + "anyOf": [ + { + "$ref": "#/definitions/schema" + }, + { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/schema" + } + } + ], + "default": {} + }, + "allOf": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/schema" + } + }, + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/schema" + }, + "default": {} + }, + "discriminator": { + "type": "string" + }, + "readOnly": { + "type": "boolean", + "default": false + }, + "xml": { + "$ref": "#/definitions/xml" + }, + "externalDocs": { + "$ref": "#/definitions/externalDocs" + }, + "example": {} + }, + "additionalProperties": false + }, + "fileSchema": { + "type": "object", + "description": "A deterministic version of a JSON Schema object.", + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + }, + "required": [ + "type" + ], + "properties": { + "format": { + "type": "string" + }, + "title": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/title" + }, + "description": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/description" + }, + "default": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/default" + }, + "required": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" + }, + "type": { + "type": "string", + "enum": [ + "file" + ] + }, + "readOnly": { + "type": "boolean", + "default": false + }, + "externalDocs": { + "$ref": "#/definitions/externalDocs" + }, + "example": {} + }, + "additionalProperties": false + }, + "primitivesItems": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "string", + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ] + }, + "format": { + "type": "string" + }, + "items": { + "$ref": "#/definitions/primitivesItems" + }, + "collectionFormat": { + "$ref": "#/definitions/collectionFormat" + }, + "default": { + "$ref": "#/definitions/default" + }, + "maximum": { + "$ref": "#/definitions/maximum" + }, + "exclusiveMaximum": { + "$ref": "#/definitions/exclusiveMaximum" + }, + "minimum": { + "$ref": "#/definitions/minimum" + }, + "exclusiveMinimum": { + "$ref": "#/definitions/exclusiveMinimum" + }, + "maxLength": { + "$ref": "#/definitions/maxLength" + }, + "minLength": { + "$ref": "#/definitions/minLength" + }, + "pattern": { + "$ref": "#/definitions/pattern" + }, + "maxItems": { + "$ref": "#/definitions/maxItems" + }, + "minItems": { + "$ref": "#/definitions/minItems" + }, + "uniqueItems": { + "$ref": "#/definitions/uniqueItems" + }, + "enum": { + "$ref": "#/definitions/enum" + }, + "multipleOf": { + "$ref": "#/definitions/multipleOf" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "security": { + "type": "array", + "items": { + "$ref": "#/definitions/securityRequirement" + }, + "uniqueItems": true + }, + "securityRequirement": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "xml": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "attribute": { + "type": "boolean", + "default": false + }, + "wrapped": { + "type": "boolean", + "default": false + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "tag": { + "type": "object", + "additionalProperties": false, + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "externalDocs": { + "$ref": "#/definitions/externalDocs" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "securityDefinitions": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/definitions/basicAuthenticationSecurity" + }, + { + "$ref": "#/definitions/apiKeySecurity" + }, + { + "$ref": "#/definitions/oauth2ImplicitSecurity" + }, + { + "$ref": "#/definitions/oauth2PasswordSecurity" + }, + { + "$ref": "#/definitions/oauth2ApplicationSecurity" + }, + { + "$ref": "#/definitions/oauth2AccessCodeSecurity" + } + ] + } + }, + "basicAuthenticationSecurity": { + "type": "object", + "additionalProperties": false, + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "basic" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "apiKeySecurity": { + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "name", + "in" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "apiKey" + ] + }, + "name": { + "type": "string" + }, + "in": { + "type": "string", + "enum": [ + "header", + "query" + ] + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "oauth2ImplicitSecurity": { + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "flow", + "authorizationUrl" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "flow": { + "type": "string", + "enum": [ + "implicit" + ] + }, + "scopes": { + "$ref": "#/definitions/oauth2Scopes" + }, + "authorizationUrl": { + "type": "string", + "format": "uri" + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "oauth2PasswordSecurity": { + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "flow", + "tokenUrl" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "flow": { + "type": "string", + "enum": [ + "password" + ] + }, + "scopes": { + "$ref": "#/definitions/oauth2Scopes" + }, + "tokenUrl": { + "type": "string", + "format": "uri" + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "oauth2ApplicationSecurity": { + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "flow", + "tokenUrl" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "flow": { + "type": "string", + "enum": [ + "application" + ] + }, + "scopes": { + "$ref": "#/definitions/oauth2Scopes" + }, + "tokenUrl": { + "type": "string", + "format": "uri" + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "oauth2AccessCodeSecurity": { + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "flow", + "authorizationUrl", + "tokenUrl" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "oauth2" + ] + }, + "flow": { + "type": "string", + "enum": [ + "accessCode" + ] + }, + "scopes": { + "$ref": "#/definitions/oauth2Scopes" + }, + "authorizationUrl": { + "type": "string", + "format": "uri" + }, + "tokenUrl": { + "type": "string", + "format": "uri" + }, + "description": { + "type": "string" + } + }, + "patternProperties": { + "^x-": { + "$ref": "#/definitions/vendorExtension" + } + } + }, + "oauth2Scopes": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "mediaTypeList": { + "type": "array", + "items": { + "$ref": "#/definitions/mimeType" + }, + "uniqueItems": true + }, + "parametersList": { + "type": "array", + "description": "The parameters needed to send a valid API call.", + "additionalItems": false, + "items": { + "oneOf": [ + { + "$ref": "#/definitions/parameter" + }, + { + "$ref": "#/definitions/jsonReference" + } + ] + }, + "uniqueItems": true + }, + "schemesList": { + "type": "array", + "description": "The transfer protocol of the API.", + "items": { + "type": "string", + "enum": [ + "http", + "https", + "ws", + "wss" + ] + }, + "uniqueItems": true + }, + "collectionFormat": { + "type": "string", + "enum": [ + "csv", + "ssv", + "tsv", + "pipes" + ], + "default": "csv" + }, + "collectionFormatWithMulti": { + "type": "string", + "enum": [ + "csv", + "ssv", + "tsv", + "pipes", + "multi" + ], + "default": "csv" + }, + "title": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/title" + }, + "description": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/description" + }, + "default": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/default" + }, + "multipleOf": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" + }, + "maximum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" + }, + "exclusiveMaximum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" + }, + "minimum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" + }, + "exclusiveMinimum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" + }, + "maxLength": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" + }, + "minLength": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" + }, + "pattern": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" + }, + "maxItems": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" + }, + "minItems": { + "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" + }, + "uniqueItems": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" + }, + "enum": { + "$ref": "http://json-schema.org/draft-04/schema#/properties/enum" + }, + "jsonReference": { + "type": "object", + "required": [ + "$ref" + ], + "additionalProperties": false, + "properties": { + "$ref": { + "type": "string" + } + } + } + } +} diff --git a/vendor/github.com/go-openapi/spec/security_scheme.go b/vendor/github.com/go-openapi/spec/security_scheme.go new file mode 100644 index 000000000..9d0bdae90 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/security_scheme.go @@ -0,0 +1,170 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + basic = "basic" + apiKey = "apiKey" + oauth2 = "oauth2" + implicit = "implicit" + password = "password" + application = "application" + accessCode = "accessCode" +) + +// BasicAuth creates a basic auth security scheme +func BasicAuth() *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{Type: basic}} +} + +// APIKeyAuth creates an api key auth security scheme +func APIKeyAuth(fieldName, valueSource string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{Type: apiKey, Name: fieldName, In: valueSource}} +} + +// OAuth2Implicit creates an implicit flow oauth2 security scheme +func OAuth2Implicit(authorizationURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: implicit, + AuthorizationURL: authorizationURL, + }} +} + +// OAuth2Password creates a password flow oauth2 security scheme +func OAuth2Password(tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: password, + TokenURL: tokenURL, + }} +} + +// OAuth2Application creates an application flow oauth2 security scheme +func OAuth2Application(tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: application, + TokenURL: tokenURL, + }} +} + +// OAuth2AccessToken creates an access token flow oauth2 security scheme +func OAuth2AccessToken(authorizationURL, tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: accessCode, + AuthorizationURL: authorizationURL, + TokenURL: tokenURL, + }} +} + +// SecuritySchemeProps describes a swagger security scheme in the securityDefinitions section +type SecuritySchemeProps struct { + Description string `json:"description,omitempty"` + Type string `json:"type"` + Name string `json:"name,omitempty"` // api key + In string `json:"in,omitempty"` // api key + Flow string `json:"flow,omitempty"` // oauth2 + AuthorizationURL string `json:"authorizationUrl"` // oauth2 + TokenURL string `json:"tokenUrl,omitempty"` // oauth2 + Scopes map[string]string `json:"scopes,omitempty"` // oauth2 +} + +// AddScope adds a scope to this security scheme +func (s *SecuritySchemeProps) AddScope(scope, description string) { + if s.Scopes == nil { + s.Scopes = make(map[string]string) + } + s.Scopes[scope] = description +} + +// SecurityScheme allows the definition of a security scheme that can be used by the operations. +// Supported schemes are basic authentication, an API key (either as a header or as a query parameter) +// and OAuth2's common flows (implicit, password, application and access code). +// +// For more information: http://goo.gl/8us55a#securitySchemeObject +type SecurityScheme struct { + VendorExtensible + SecuritySchemeProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SecurityScheme) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(s.SecuritySchemeProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (s SecurityScheme) MarshalJSON() ([]byte, error) { + var ( + b1 []byte + err error + ) + + if s.Type == oauth2 && (s.Flow == "implicit" || s.Flow == "accessCode") { + // when oauth2 for implicit or accessCode flows, empty AuthorizationURL is added as empty string + b1, err = json.Marshal(s.SecuritySchemeProps) + } else { + // when not oauth2, empty AuthorizationURL should be omitted + b1, err = json.Marshal(struct { + Description string `json:"description,omitempty"` + Type string `json:"type"` + Name string `json:"name,omitempty"` // api key + In string `json:"in,omitempty"` // api key + Flow string `json:"flow,omitempty"` // oauth2 + AuthorizationURL string `json:"authorizationUrl,omitempty"` // oauth2 + TokenURL string `json:"tokenUrl,omitempty"` // oauth2 + Scopes map[string]string `json:"scopes,omitempty"` // oauth2 + }{ + Description: s.Description, + Type: s.Type, + Name: s.Name, + In: s.In, + Flow: s.Flow, + AuthorizationURL: s.AuthorizationURL, + TokenURL: s.TokenURL, + Scopes: s.Scopes, + }) + } + if err != nil { + return nil, err + } + + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (s *SecurityScheme) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &s.SecuritySchemeProps); err != nil { + return err + } + return json.Unmarshal(data, &s.VendorExtensible) +} diff --git a/vendor/github.com/go-openapi/spec/spec.go b/vendor/github.com/go-openapi/spec/spec.go new file mode 100644 index 000000000..876aa1275 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/spec.go @@ -0,0 +1,78 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" +) + +//go:generate curl -L --progress -o ./schemas/v2/schema.json http://swagger.io/v2/schema.json +//go:generate curl -L --progress -o ./schemas/jsonschema-draft-04.json http://json-schema.org/draft-04/schema +//go:generate go-bindata -pkg=spec -prefix=./schemas -ignore=.*\.md ./schemas/... +//go:generate perl -pi -e s,Json,JSON,g bindata.go + +const ( + // SwaggerSchemaURL the url for the swagger 2.0 schema to validate specs + SwaggerSchemaURL = "http://swagger.io/v2/schema.json#" + // JSONSchemaURL the url for the json schema + JSONSchemaURL = "http://json-schema.org/draft-04/schema#" +) + +// MustLoadJSONSchemaDraft04 panics when Swagger20Schema returns an error +func MustLoadJSONSchemaDraft04() *Schema { + d, e := JSONSchemaDraft04() + if e != nil { + panic(e) + } + return d +} + +// JSONSchemaDraft04 loads the json schema document for json shema draft04 +func JSONSchemaDraft04() (*Schema, error) { + b, err := jsonschemaDraft04JSONBytes() + if err != nil { + return nil, err + } + + schema := new(Schema) + if err := json.Unmarshal(b, schema); err != nil { + return nil, err + } + return schema, nil +} + +// MustLoadSwagger20Schema panics when Swagger20Schema returns an error +func MustLoadSwagger20Schema() *Schema { + d, e := Swagger20Schema() + if e != nil { + panic(e) + } + return d +} + +// Swagger20Schema loads the swagger 2.0 schema from the embedded assets +func Swagger20Schema() (*Schema, error) { + + b, err := v2SchemaJSONBytes() + if err != nil { + return nil, err + } + + schema := new(Schema) + if err := json.Unmarshal(b, schema); err != nil { + return nil, err + } + return schema, nil +} diff --git a/vendor/github.com/go-openapi/spec/swagger.go b/vendor/github.com/go-openapi/spec/swagger.go new file mode 100644 index 000000000..1590fd175 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/swagger.go @@ -0,0 +1,448 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "fmt" + "strconv" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// Swagger this is the root document object for the API specification. +// It combines what previously was the Resource Listing and API Declaration (version 1.2 and earlier) +// together into one document. +// +// For more information: http://goo.gl/8us55a#swagger-object- +type Swagger struct { + VendorExtensible + SwaggerProps +} + +// JSONLookup look up a value by the json property name +func (s Swagger) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(s.SwaggerProps, token) + return r, err +} + +// MarshalJSON marshals this swagger structure to json +func (s Swagger) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(s.SwaggerProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON unmarshals a swagger spec from json +func (s *Swagger) UnmarshalJSON(data []byte) error { + var sw Swagger + if err := json.Unmarshal(data, &sw.SwaggerProps); err != nil { + return err + } + if err := json.Unmarshal(data, &sw.VendorExtensible); err != nil { + return err + } + *s = sw + return nil +} + +// GobEncode provides a safe gob encoder for Swagger, including extensions +func (s Swagger) GobEncode() ([]byte, error) { + var b bytes.Buffer + raw := struct { + Props SwaggerProps + Ext VendorExtensible + }{ + Props: s.SwaggerProps, + Ext: s.VendorExtensible, + } + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Swagger, including extensions +func (s *Swagger) GobDecode(b []byte) error { + var raw struct { + Props SwaggerProps + Ext VendorExtensible + } + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + s.SwaggerProps = raw.Props + s.VendorExtensible = raw.Ext + return nil +} + +// SwaggerProps captures the top-level properties of an Api specification +// +// NOTE: validation rules +// - the scheme, when present must be from [http, https, ws, wss] +// - BasePath must start with a leading "/" +// - Paths is required +type SwaggerProps struct { + ID string `json:"id,omitempty"` + Consumes []string `json:"consumes,omitempty"` + Produces []string `json:"produces,omitempty"` + Schemes []string `json:"schemes,omitempty"` + Swagger string `json:"swagger,omitempty"` + Info *Info `json:"info,omitempty"` + Host string `json:"host,omitempty"` + BasePath string `json:"basePath,omitempty"` + Paths *Paths `json:"paths"` + Definitions Definitions `json:"definitions,omitempty"` + Parameters map[string]Parameter `json:"parameters,omitempty"` + Responses map[string]Response `json:"responses,omitempty"` + SecurityDefinitions SecurityDefinitions `json:"securityDefinitions,omitempty"` + Security []map[string][]string `json:"security,omitempty"` + Tags []Tag `json:"tags,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` +} + +type swaggerPropsAlias SwaggerProps + +type gobSwaggerPropsAlias struct { + Security []map[string]struct { + List []string + Pad bool + } + Alias *swaggerPropsAlias + SecurityIsEmpty bool +} + +// GobEncode provides a safe gob encoder for SwaggerProps, including empty security requirements +func (o SwaggerProps) GobEncode() ([]byte, error) { + raw := gobSwaggerPropsAlias{ + Alias: (*swaggerPropsAlias)(&o), + } + + var b bytes.Buffer + if o.Security == nil { + // nil security requirement + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + if len(o.Security) == 0 { + // empty, but non-nil security requirement + raw.SecurityIsEmpty = true + raw.Alias.Security = nil + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + raw.Security = make([]map[string]struct { + List []string + Pad bool + }, 0, len(o.Security)) + for _, req := range o.Security { + v := make(map[string]struct { + List []string + Pad bool + }, len(req)) + for k, val := range req { + v[k] = struct { + List []string + Pad bool + }{ + List: val, + } + } + raw.Security = append(raw.Security, v) + } + + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for SwaggerProps, including empty security requirements +func (o *SwaggerProps) GobDecode(b []byte) error { + var raw gobSwaggerPropsAlias + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + if raw.Alias == nil { + return nil + } + + switch { + case raw.SecurityIsEmpty: + // empty, but non-nil security requirement + raw.Alias.Security = []map[string][]string{} + case len(raw.Alias.Security) == 0: + // nil security requirement + raw.Alias.Security = nil + default: + raw.Alias.Security = make([]map[string][]string, 0, len(raw.Security)) + for _, req := range raw.Security { + v := make(map[string][]string, len(req)) + for k, val := range req { + v[k] = make([]string, 0, len(val.List)) + v[k] = append(v[k], val.List...) + } + raw.Alias.Security = append(raw.Alias.Security, v) + } + } + + *o = *(*SwaggerProps)(raw.Alias) + return nil +} + +// Dependencies represent a dependencies property +type Dependencies map[string]SchemaOrStringArray + +// SchemaOrBool represents a schema or boolean value, is biased towards true for the boolean property +type SchemaOrBool struct { + Allows bool + Schema *Schema +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrBool) JSONLookup(token string) (interface{}, error) { + if token == "allows" { + return s.Allows, nil + } + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +var jsTrue = []byte("true") +var jsFalse = []byte("false") + +// MarshalJSON convert this object to JSON +func (s SchemaOrBool) MarshalJSON() ([]byte, error) { + if s.Schema != nil { + return json.Marshal(s.Schema) + } + + if s.Schema == nil && !s.Allows { + return jsFalse, nil + } + return jsTrue, nil +} + +// UnmarshalJSON converts this bool or schema object from a JSON structure +func (s *SchemaOrBool) UnmarshalJSON(data []byte) error { + var nw SchemaOrBool + if len(data) > 0 { + if data[0] == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + nw.Allows = !bytes.Equal(data, []byte("false")) + } + *s = nw + return nil +} + +// SchemaOrStringArray represents a schema or a string array +type SchemaOrStringArray struct { + Schema *Schema + Property []string +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrStringArray) JSONLookup(token string) (interface{}, error) { + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +// MarshalJSON converts this schema object or array into JSON structure +func (s SchemaOrStringArray) MarshalJSON() ([]byte, error) { + if len(s.Property) > 0 { + return json.Marshal(s.Property) + } + if s.Schema != nil { + return json.Marshal(s.Schema) + } + return []byte("null"), nil +} + +// UnmarshalJSON converts this schema object or array from a JSON structure +func (s *SchemaOrStringArray) UnmarshalJSON(data []byte) error { + var first byte + if len(data) > 1 { + first = data[0] + } + var nw SchemaOrStringArray + if first == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + if first == '[' { + if err := json.Unmarshal(data, &nw.Property); err != nil { + return err + } + } + *s = nw + return nil +} + +// Definitions contains the models explicitly defined in this spec +// An object to hold data types that can be consumed and produced by operations. +// These data types can be primitives, arrays or models. +// +// For more information: http://goo.gl/8us55a#definitionsObject +type Definitions map[string]Schema + +// SecurityDefinitions a declaration of the security schemes available to be used in the specification. +// This does not enforce the security schemes on the operations and only serves to provide +// the relevant details for each scheme. +// +// For more information: http://goo.gl/8us55a#securityDefinitionsObject +type SecurityDefinitions map[string]*SecurityScheme + +// StringOrArray represents a value that can either be a string +// or an array of strings. Mainly here for serialization purposes +type StringOrArray []string + +// Contains returns true when the value is contained in the slice +func (s StringOrArray) Contains(value string) bool { + for _, str := range s { + if str == value { + return true + } + } + return false +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrArray) JSONLookup(token string) (interface{}, error) { + if _, err := strconv.Atoi(token); err == nil { + r, _, err := jsonpointer.GetForToken(s.Schemas, token) + return r, err + } + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +// UnmarshalJSON unmarshals this string or array object from a JSON array or JSON string +func (s *StringOrArray) UnmarshalJSON(data []byte) error { + var first byte + if len(data) > 1 { + first = data[0] + } + + if first == '[' { + var parsed []string + if err := json.Unmarshal(data, &parsed); err != nil { + return err + } + *s = StringOrArray(parsed) + return nil + } + + var single interface{} + if err := json.Unmarshal(data, &single); err != nil { + return err + } + if single == nil { + return nil + } + switch v := single.(type) { + case string: + *s = StringOrArray([]string{v}) + return nil + default: + return fmt.Errorf("only string or array is allowed, not %T", single) + } +} + +// MarshalJSON converts this string or array to a JSON array or JSON string +func (s StringOrArray) MarshalJSON() ([]byte, error) { + if len(s) == 1 { + return json.Marshal([]string(s)[0]) + } + return json.Marshal([]string(s)) +} + +// SchemaOrArray represents a value that can either be a Schema +// or an array of Schema. Mainly here for serialization purposes +type SchemaOrArray struct { + Schema *Schema + Schemas []Schema +} + +// Len returns the number of schemas in this property +func (s SchemaOrArray) Len() int { + if s.Schema != nil { + return 1 + } + return len(s.Schemas) +} + +// ContainsType returns true when one of the schemas is of the specified type +func (s *SchemaOrArray) ContainsType(name string) bool { + if s.Schema != nil { + return s.Schema.Type != nil && s.Schema.Type.Contains(name) + } + return false +} + +// MarshalJSON converts this schema object or array into JSON structure +func (s SchemaOrArray) MarshalJSON() ([]byte, error) { + if len(s.Schemas) > 0 { + return json.Marshal(s.Schemas) + } + return json.Marshal(s.Schema) +} + +// UnmarshalJSON converts this schema object or array from a JSON structure +func (s *SchemaOrArray) UnmarshalJSON(data []byte) error { + var nw SchemaOrArray + var first byte + if len(data) > 1 { + first = data[0] + } + if first == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + if first == '[' { + if err := json.Unmarshal(data, &nw.Schemas); err != nil { + return err + } + } + *s = nw + return nil +} + +// vim:set ft=go noet sts=2 sw=2 ts=2: diff --git a/vendor/github.com/go-openapi/spec/tag.go b/vendor/github.com/go-openapi/spec/tag.go new file mode 100644 index 000000000..faa3d3de1 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/tag.go @@ -0,0 +1,75 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// TagProps describe a tag entry in the top level tags section of a swagger spec +type TagProps struct { + Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` +} + +// NewTag creates a new tag +func NewTag(name, description string, externalDocs *ExternalDocumentation) Tag { + return Tag{TagProps: TagProps{Description: description, Name: name, ExternalDocs: externalDocs}} +} + +// Tag allows adding meta data to a single tag that is used by the +// [Operation Object](http://goo.gl/8us55a#operationObject). +// It is not mandatory to have a Tag Object per tag used there. +// +// For more information: http://goo.gl/8us55a#tagObject +type Tag struct { + VendorExtensible + TagProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (t Tag) JSONLookup(token string) (interface{}, error) { + if ex, ok := t.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(t.TagProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (t Tag) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(t.TagProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(t.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (t *Tag) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &t.TagProps); err != nil { + return err + } + return json.Unmarshal(data, &t.VendorExtensible) +} diff --git a/vendor/github.com/go-openapi/spec/url_go19.go b/vendor/github.com/go-openapi/spec/url_go19.go new file mode 100644 index 000000000..5bdfe40bc --- /dev/null +++ b/vendor/github.com/go-openapi/spec/url_go19.go @@ -0,0 +1,11 @@ +package spec + +import "net/url" + +func parseURL(s string) (*url.URL, error) { + u, err := url.Parse(s) + if err == nil { + u.OmitHost = false + } + return u, err +} diff --git a/vendor/github.com/go-openapi/spec/validations.go b/vendor/github.com/go-openapi/spec/validations.go new file mode 100644 index 000000000..6360a8ea7 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/validations.go @@ -0,0 +1,215 @@ +package spec + +// CommonValidations describe common JSON-schema validations +type CommonValidations struct { + Maximum *float64 `json:"maximum,omitempty"` + ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` + Minimum *float64 `json:"minimum,omitempty"` + ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` + MaxLength *int64 `json:"maxLength,omitempty"` + MinLength *int64 `json:"minLength,omitempty"` + Pattern string `json:"pattern,omitempty"` + MaxItems *int64 `json:"maxItems,omitempty"` + MinItems *int64 `json:"minItems,omitempty"` + UniqueItems bool `json:"uniqueItems,omitempty"` + MultipleOf *float64 `json:"multipleOf,omitempty"` + Enum []interface{} `json:"enum,omitempty"` +} + +// SetValidations defines all validations for a simple schema. +// +// NOTE: the input is the larger set of validations available for schemas. +// For simple schemas, MinProperties and MaxProperties are ignored. +func (v *CommonValidations) SetValidations(val SchemaValidations) { + v.Maximum = val.Maximum + v.ExclusiveMaximum = val.ExclusiveMaximum + v.Minimum = val.Minimum + v.ExclusiveMinimum = val.ExclusiveMinimum + v.MaxLength = val.MaxLength + v.MinLength = val.MinLength + v.Pattern = val.Pattern + v.MaxItems = val.MaxItems + v.MinItems = val.MinItems + v.UniqueItems = val.UniqueItems + v.MultipleOf = val.MultipleOf + v.Enum = val.Enum +} + +type clearedValidation struct { + Validation string + Value interface{} +} + +type clearedValidations []clearedValidation + +func (c clearedValidations) apply(cbs []func(string, interface{})) { + for _, cb := range cbs { + for _, cleared := range c { + cb(cleared.Validation, cleared.Value) + } + } +} + +// ClearNumberValidations clears all number validations. +// +// Some callbacks may be set by the caller to capture changed values. +func (v *CommonValidations) ClearNumberValidations(cbs ...func(string, interface{})) { + done := make(clearedValidations, 0, 5) + defer func() { + done.apply(cbs) + }() + + if v.Minimum != nil { + done = append(done, clearedValidation{Validation: "minimum", Value: v.Minimum}) + v.Minimum = nil + } + if v.Maximum != nil { + done = append(done, clearedValidation{Validation: "maximum", Value: v.Maximum}) + v.Maximum = nil + } + if v.ExclusiveMaximum { + done = append(done, clearedValidation{Validation: "exclusiveMaximum", Value: v.ExclusiveMaximum}) + v.ExclusiveMaximum = false + } + if v.ExclusiveMinimum { + done = append(done, clearedValidation{Validation: "exclusiveMinimum", Value: v.ExclusiveMinimum}) + v.ExclusiveMinimum = false + } + if v.MultipleOf != nil { + done = append(done, clearedValidation{Validation: "multipleOf", Value: v.MultipleOf}) + v.MultipleOf = nil + } +} + +// ClearStringValidations clears all string validations. +// +// Some callbacks may be set by the caller to capture changed values. +func (v *CommonValidations) ClearStringValidations(cbs ...func(string, interface{})) { + done := make(clearedValidations, 0, 3) + defer func() { + done.apply(cbs) + }() + + if v.Pattern != "" { + done = append(done, clearedValidation{Validation: "pattern", Value: v.Pattern}) + v.Pattern = "" + } + if v.MinLength != nil { + done = append(done, clearedValidation{Validation: "minLength", Value: v.MinLength}) + v.MinLength = nil + } + if v.MaxLength != nil { + done = append(done, clearedValidation{Validation: "maxLength", Value: v.MaxLength}) + v.MaxLength = nil + } +} + +// ClearArrayValidations clears all array validations. +// +// Some callbacks may be set by the caller to capture changed values. +func (v *CommonValidations) ClearArrayValidations(cbs ...func(string, interface{})) { + done := make(clearedValidations, 0, 3) + defer func() { + done.apply(cbs) + }() + + if v.MaxItems != nil { + done = append(done, clearedValidation{Validation: "maxItems", Value: v.MaxItems}) + v.MaxItems = nil + } + if v.MinItems != nil { + done = append(done, clearedValidation{Validation: "minItems", Value: v.MinItems}) + v.MinItems = nil + } + if v.UniqueItems { + done = append(done, clearedValidation{Validation: "uniqueItems", Value: v.UniqueItems}) + v.UniqueItems = false + } +} + +// Validations returns a clone of the validations for a simple schema. +// +// NOTE: in the context of simple schema objects, MinProperties, MaxProperties +// and PatternProperties remain unset. +func (v CommonValidations) Validations() SchemaValidations { + return SchemaValidations{ + CommonValidations: v, + } +} + +// HasNumberValidations indicates if the validations are for numbers or integers +func (v CommonValidations) HasNumberValidations() bool { + return v.Maximum != nil || v.Minimum != nil || v.MultipleOf != nil +} + +// HasStringValidations indicates if the validations are for strings +func (v CommonValidations) HasStringValidations() bool { + return v.MaxLength != nil || v.MinLength != nil || v.Pattern != "" +} + +// HasArrayValidations indicates if the validations are for arrays +func (v CommonValidations) HasArrayValidations() bool { + return v.MaxItems != nil || v.MinItems != nil || v.UniqueItems +} + +// HasEnum indicates if the validation includes some enum constraint +func (v CommonValidations) HasEnum() bool { + return len(v.Enum) > 0 +} + +// SchemaValidations describes the validation properties of a schema +// +// NOTE: at this moment, this is not embedded in SchemaProps because this would induce a breaking change +// in the exported members: all initializers using litterals would fail. +type SchemaValidations struct { + CommonValidations + + PatternProperties SchemaProperties `json:"patternProperties,omitempty"` + MaxProperties *int64 `json:"maxProperties,omitempty"` + MinProperties *int64 `json:"minProperties,omitempty"` +} + +// HasObjectValidations indicates if the validations are for objects +func (v SchemaValidations) HasObjectValidations() bool { + return v.MaxProperties != nil || v.MinProperties != nil || v.PatternProperties != nil +} + +// SetValidations for schema validations +func (v *SchemaValidations) SetValidations(val SchemaValidations) { + v.CommonValidations.SetValidations(val) + v.PatternProperties = val.PatternProperties + v.MaxProperties = val.MaxProperties + v.MinProperties = val.MinProperties +} + +// Validations for a schema +func (v SchemaValidations) Validations() SchemaValidations { + val := v.CommonValidations.Validations() + val.PatternProperties = v.PatternProperties + val.MinProperties = v.MinProperties + val.MaxProperties = v.MaxProperties + return val +} + +// ClearObjectValidations returns a clone of the validations with all object validations cleared. +// +// Some callbacks may be set by the caller to capture changed values. +func (v *SchemaValidations) ClearObjectValidations(cbs ...func(string, interface{})) { + done := make(clearedValidations, 0, 3) + defer func() { + done.apply(cbs) + }() + + if v.MaxProperties != nil { + done = append(done, clearedValidation{Validation: "maxProperties", Value: v.MaxProperties}) + v.MaxProperties = nil + } + if v.MinProperties != nil { + done = append(done, clearedValidation{Validation: "minProperties", Value: v.MinProperties}) + v.MinProperties = nil + } + if v.PatternProperties != nil { + done = append(done, clearedValidation{Validation: "patternProperties", Value: v.PatternProperties}) + v.PatternProperties = nil + } +} diff --git a/vendor/github.com/go-openapi/spec/xml_object.go b/vendor/github.com/go-openapi/spec/xml_object.go new file mode 100644 index 000000000..945a46703 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/xml_object.go @@ -0,0 +1,68 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package spec + +// XMLObject a metadata object that allows for more fine-tuned XML model definitions. +// +// For more information: http://goo.gl/8us55a#xmlObject +type XMLObject struct { + Name string `json:"name,omitempty"` + Namespace string `json:"namespace,omitempty"` + Prefix string `json:"prefix,omitempty"` + Attribute bool `json:"attribute,omitempty"` + Wrapped bool `json:"wrapped,omitempty"` +} + +// WithName sets the xml name for the object +func (x *XMLObject) WithName(name string) *XMLObject { + x.Name = name + return x +} + +// WithNamespace sets the xml namespace for the object +func (x *XMLObject) WithNamespace(namespace string) *XMLObject { + x.Namespace = namespace + return x +} + +// WithPrefix sets the xml prefix for the object +func (x *XMLObject) WithPrefix(prefix string) *XMLObject { + x.Prefix = prefix + return x +} + +// AsAttribute flags this object as xml attribute +func (x *XMLObject) AsAttribute() *XMLObject { + x.Attribute = true + return x +} + +// AsElement flags this object as an xml node +func (x *XMLObject) AsElement() *XMLObject { + x.Attribute = false + return x +} + +// AsWrapped flags this object as wrapped, this is mostly useful for array types +func (x *XMLObject) AsWrapped() *XMLObject { + x.Wrapped = true + return x +} + +// AsUnwrapped flags this object as an xml node +func (x *XMLObject) AsUnwrapped() *XMLObject { + x.Wrapped = false + return x +} diff --git a/vendor/github.com/go-openapi/strfmt/.editorconfig b/vendor/github.com/go-openapi/strfmt/.editorconfig new file mode 100644 index 000000000..3152da69a --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/strfmt/.gitattributes b/vendor/github.com/go-openapi/strfmt/.gitattributes new file mode 100644 index 000000000..d020be8ea --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/.gitattributes @@ -0,0 +1,2 @@ +*.go text eol=lf + diff --git a/vendor/github.com/go-openapi/strfmt/.gitignore b/vendor/github.com/go-openapi/strfmt/.gitignore new file mode 100644 index 000000000..dd91ed6a0 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/.gitignore @@ -0,0 +1,2 @@ +secrets.yml +coverage.out diff --git a/vendor/github.com/go-openapi/strfmt/.golangci.yml b/vendor/github.com/go-openapi/strfmt/.golangci.yml new file mode 100644 index 000000000..1ad5adf47 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/.golangci.yml @@ -0,0 +1,75 @@ +version: "2" +linters: + default: all + disable: + - cyclop + - depguard + - errchkjson + - errorlint + - exhaustruct + - forcetypeassert + - funlen + - gochecknoglobals + - gochecknoinits + - gocognit + - godot + - godox + - gosmopolitan + - inamedparam + - intrange + - ireturn + - lll + - musttag + - nestif + - nlreturn + - nonamedreturns + - noinlineerr + - paralleltest + - recvcheck + - testpackage + - thelper + - tparallel + - unparam + - varnamelen + - whitespace + - wrapcheck + - wsl + - wsl_v5 + settings: + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + gocyclo: + min-complexity: 45 + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ +issues: + # Maximum issues count per one linter. + # Set to 0 to disable. + # Default: 50 + max-issues-per-linter: 0 + # Maximum count of issues with the same text. + # Set to 0 to disable. + # Default: 3 + max-same-issues: 0 diff --git a/vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/strfmt/LICENSE b/vendor/github.com/go-openapi/strfmt/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/strfmt/README.md b/vendor/github.com/go-openapi/strfmt/README.md new file mode 100644 index 000000000..de5afe137 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/README.md @@ -0,0 +1,92 @@ +# Strfmt [![Build Status](https://github.com/go-openapi/strfmt/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/strfmt/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/strfmt/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/strfmt) +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/strfmt/master/LICENSE) +[![GoDoc](https://godoc.org/github.com/go-openapi/strfmt?status.svg)](http://godoc.org/github.com/go-openapi/strfmt) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/strfmt)](https://goreportcard.com/report/github.com/go-openapi/strfmt) + +This package exposes a registry of data types to support string formats in the go-openapi toolkit. + +strfmt represents a well known string format such as credit card or email. The go toolkit for OpenAPI specifications knows how to deal with those. + +## Supported data formats +go-openapi/strfmt follows the swagger 2.0 specification with the following formats +defined [here](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types). + +It also provides convenient extensions to go-openapi users. + +- [x] JSON-schema draft 4 formats + - date-time + - email + - hostname + - ipv4 + - ipv6 + - uri +- [x] swagger 2.0 format extensions + - binary + - byte (e.g. base64 encoded string) + - date (e.g. "1970-01-01") + - password +- [x] go-openapi custom format extensions + - bsonobjectid (BSON objectID) + - creditcard + - duration (e.g. "3 weeks", "1ms") + - hexcolor (e.g. "#FFFFFF") + - isbn, isbn10, isbn13 + - mac (e.g "01:02:03:04:05:06") + - rgbcolor (e.g. "rgb(100,100,100)") + - ssn + - uuid, uuid3, uuid4, uuid5, uuid7 + - cidr (e.g. "192.0.2.1/24", "2001:db8:a0b:12f0::1/32") + - ulid (e.g. "00000PP9HGSBSSDZ1JTEXBJ0PW", [spec](https://github.com/ulid/spec)) + +> NOTE: as the name stands for, this package is intended to support string formatting only. +> It does not provide validation for numerical values with swagger format extension for JSON types "number" or +> "integer" (e.g. float, double, int32...). + +## Type conversion + +All types defined here are stringers and may be converted to strings with `.String()`. +Note that most types defined by this package may be converted directly to string like `string(Email{})`. + +`Date` and `DateTime` may be converted directly to `time.Time` like `time.Time(Time{})`. +Similarly, you can convert `Duration` to `time.Duration` as in `time.Duration(Duration{})` + +## Using pointers + +The `conv` subpackage provides helpers to convert the types to and from pointers, just like `go-openapi/swag` does +with primitive types. + +## Format types +Types defined in strfmt expose marshaling and validation capabilities. + +List of defined types: +- Base64 +- CreditCard +- Date +- DateTime +- Duration +- Email +- HexColor +- Hostname +- IPv4 +- IPv6 +- CIDR +- ISBN +- ISBN10 +- ISBN13 +- MAC +- ObjectId +- Password +- RGBColor +- SSN +- URI +- UUID +- [UUID3](https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-3) +- [UUID4](https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-4) +- [UUID5](https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-5) +- [UUID7](https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-7) +- [ULID](https://github.com/ulid/spec) + +## Licensing + +This library ships under the [SPDX-License-Identifier: Apache-2.0](./LICENSE). diff --git a/vendor/github.com/go-openapi/strfmt/bson.go b/vendor/github.com/go-openapi/strfmt/bson.go new file mode 100644 index 000000000..0eec8f643 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/bson.go @@ -0,0 +1,115 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + "database/sql/driver" + "fmt" + + bsonprim "go.mongodb.org/mongo-driver/bson/primitive" +) + +func init() { + var id ObjectId + // register this format in the default registry + Default.Add("bsonobjectid", &id, IsBSONObjectID) +} + +// IsBSONObjectID returns true when the string is a valid BSON.ObjectId +func IsBSONObjectID(str string) bool { + _, err := bsonprim.ObjectIDFromHex(str) + return err == nil +} + +// ObjectId represents a BSON object ID (alias to go.mongodb.org/mongo-driver/bson/primitive.ObjectID) +// +// swagger:strfmt bsonobjectid +type ObjectId bsonprim.ObjectID //nolint:revive + +// NewObjectId creates a ObjectId from a Hex String +func NewObjectId(hex string) ObjectId { //nolint:revive + oid, err := bsonprim.ObjectIDFromHex(hex) + if err != nil { + panic(err) + } + return ObjectId(oid) +} + +// MarshalText turns this instance into text +func (id ObjectId) MarshalText() ([]byte, error) { + oid := bsonprim.ObjectID(id) + if oid == bsonprim.NilObjectID { + return nil, nil + } + return []byte(oid.Hex()), nil +} + +// UnmarshalText hydrates this instance from text +func (id *ObjectId) UnmarshalText(data []byte) error { // validation is performed later on + if len(data) == 0 { + *id = ObjectId(bsonprim.NilObjectID) + return nil + } + oidstr := string(data) + oid, err := bsonprim.ObjectIDFromHex(oidstr) + if err != nil { + return err + } + *id = ObjectId(oid) + return nil +} + +// Scan read a value from a database driver +func (id *ObjectId) Scan(raw any) error { + var data []byte + switch v := raw.(type) { + case []byte: + data = v + case string: + data = []byte(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.URI from: %#v: %w", v, ErrFormat) + } + + return id.UnmarshalText(data) +} + +// Value converts a value to a database driver value +func (id ObjectId) Value() (driver.Value, error) { + return driver.Value(bsonprim.ObjectID(id).Hex()), nil +} + +func (id ObjectId) String() string { + return bsonprim.ObjectID(id).Hex() +} + +// MarshalJSON returns the ObjectId as JSON +func (id ObjectId) MarshalJSON() ([]byte, error) { + return bsonprim.ObjectID(id).MarshalJSON() +} + +// UnmarshalJSON sets the ObjectId from JSON +func (id *ObjectId) UnmarshalJSON(data []byte) error { + var obj bsonprim.ObjectID + if err := obj.UnmarshalJSON(data); err != nil { + return err + } + *id = ObjectId(obj) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (id *ObjectId) DeepCopyInto(out *ObjectId) { + *out = *id +} + +// DeepCopy copies the receiver into a new ObjectId. +func (id *ObjectId) DeepCopy() *ObjectId { + if id == nil { + return nil + } + out := new(ObjectId) + id.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/go-openapi/strfmt/date.go b/vendor/github.com/go-openapi/strfmt/date.go new file mode 100644 index 000000000..8aa17b8ea --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/date.go @@ -0,0 +1,151 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + "database/sql/driver" + "encoding/json" + "fmt" + "time" +) + +func init() { + d := Date{} + // register this format in the default registry + Default.Add("date", &d, IsDate) +} + +// IsDate returns true when the string is a valid date +func IsDate(str string) bool { + _, err := time.Parse(RFC3339FullDate, str) + return err == nil +} + +const ( + // RFC3339FullDate represents a full-date as specified by RFC3339 + // See: http://goo.gl/xXOvVd + RFC3339FullDate = "2006-01-02" +) + +// Date represents a date from the API +// +// swagger:strfmt date +type Date time.Time + +// String converts this date into a string +func (d Date) String() string { + return time.Time(d).Format(RFC3339FullDate) +} + +// UnmarshalText parses a text representation into a date type +func (d *Date) UnmarshalText(text []byte) error { + if len(text) == 0 { + return nil + } + dd, err := time.ParseInLocation(RFC3339FullDate, string(text), DefaultTimeLocation) + if err != nil { + return err + } + *d = Date(dd) + return nil +} + +// MarshalText serializes this date type to string +func (d Date) MarshalText() ([]byte, error) { + return []byte(d.String()), nil +} + +// Scan scans a Date value from database driver type. +func (d *Date) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + return d.UnmarshalText(v) + case string: + return d.UnmarshalText([]byte(v)) + case time.Time: + *d = Date(v) + return nil + case nil: + *d = Date{} + return nil + default: + return fmt.Errorf("cannot sql.Scan() strfmt.Date from: %#v: %w", v, ErrFormat) + } +} + +// Value converts Date to a primitive value ready to written to a database. +func (d Date) Value() (driver.Value, error) { + return driver.Value(d.String()), nil +} + +// MarshalJSON returns the Date as JSON +func (d Date) MarshalJSON() ([]byte, error) { + return json.Marshal(time.Time(d).Format(RFC3339FullDate)) +} + +// UnmarshalJSON sets the Date from JSON +func (d *Date) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var strdate string + if err := json.Unmarshal(data, &strdate); err != nil { + return err + } + tt, err := time.ParseInLocation(RFC3339FullDate, strdate, DefaultTimeLocation) + if err != nil { + return err + } + *d = Date(tt) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (d *Date) DeepCopyInto(out *Date) { + *out = *d +} + +// DeepCopy copies the receiver into a new Date. +func (d *Date) DeepCopy() *Date { + if d == nil { + return nil + } + out := new(Date) + d.DeepCopyInto(out) + return out +} + +// GobEncode implements the gob.GobEncoder interface. +func (d Date) GobEncode() ([]byte, error) { + return d.MarshalBinary() +} + +// GobDecode implements the gob.GobDecoder interface. +func (d *Date) GobDecode(data []byte) error { + return d.UnmarshalBinary(data) +} + +// MarshalBinary implements the encoding.BinaryMarshaler interface. +func (d Date) MarshalBinary() ([]byte, error) { + return time.Time(d).MarshalBinary() +} + +// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface. +func (d *Date) UnmarshalBinary(data []byte) error { + var original time.Time + + err := original.UnmarshalBinary(data) + if err != nil { + return err + } + + *d = Date(original) + + return nil +} + +// Equal checks if two Date instances are equal +func (d Date) Equal(d2 Date) bool { + return time.Time(d).Equal(time.Time(d2)) +} diff --git a/vendor/github.com/go-openapi/strfmt/default.go b/vendor/github.com/go-openapi/strfmt/default.go new file mode 100644 index 000000000..8a80cfbdb --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/default.go @@ -0,0 +1,2110 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + "database/sql/driver" + "encoding/base64" + "encoding/json" + "fmt" + "net" + "net/mail" + "net/netip" + "net/url" + "regexp" + "strconv" + "strings" + + "github.com/google/uuid" + "golang.org/x/net/idna" +) + +const ( + // HostnamePattern http://json-schema.org/latest/json-schema-validation.html#anchor114. + // + // Deprecated: this package no longer uses regular expressions to validate hostnames. + HostnamePattern = `^([a-zA-Z0-9\p{S}\p{L}]((-?[a-zA-Z0-9\p{S}\p{L}]{0,62})?)|([a-zA-Z0-9\p{S}\p{L}](([a-zA-Z0-9-\p{S}\p{L}]{0,61}[a-zA-Z0-9\p{S}\p{L}])?)(\.)){1,}([a-zA-Z0-9-\p{L}]){2,63})$` + + // json null type + jsonNull = "null" +) + +const ( + // UUIDPattern Regex for UUID that allows uppercase + // + // Deprecated: strfmt no longer uses regular expressions to validate UUIDs. + UUIDPattern = `(?i)(^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$)|(^[0-9a-f]{32}$)` + + // UUID3Pattern Regex for UUID3 that allows uppercase + // + // Deprecated: strfmt no longer uses regular expressions to validate UUIDs. + UUID3Pattern = `(?i)(^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$)|(^[0-9a-f]{12}3[0-9a-f]{3}?[0-9a-f]{16}$)` + + // UUID4Pattern Regex for UUID4 that allows uppercase + // + // Deprecated: strfmt no longer uses regular expressions to validate UUIDs. + UUID4Pattern = `(?i)(^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$)|(^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$)` + + // UUID5Pattern Regex for UUID5 that allows uppercase + // + // Deprecated: strfmt no longer uses regular expressions to validate UUIDs. + UUID5Pattern = `(?i)(^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$)|(^[0-9a-f]{12}5[0-9a-f]{3}[89ab][0-9a-f]{15}$)` + + isbn10Pattern string = "^(?:[0-9]{9}X|[0-9]{10})$" + isbn13Pattern string = "^(?:[0-9]{13})$" + usCardPattern string = "^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11}|6[27][0-9]{14})$" + ssnPattern string = `^\d{3}[- ]?\d{2}[- ]?\d{4}$` + hexColorPattern string = "^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$" + rgbColorPattern string = "^rgb\\(\\s*(0|[1-9]\\d?|1\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*(0|[1-9]\\d?|1\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*(0|[1-9]\\d?|1\\d\\d?|2[0-4]\\d|25[0-5])\\s*\\)$" +) + +const ( + isbnVersion10 = 10 + isbnVersion13 = 13 + decimalBase = 10 +) + +var ( + idnaHostChecker = idna.New( + idna.ValidateForRegistration(), // shorthand for [idna.StrictDomainName], [idna.ValidateLabels], [idna.VerifyDNSLength], [idna.BidiRule] + ) + + whiteSpacesAndMinus = regexp.MustCompile(`[\s-]+`) + rxISBN10 = regexp.MustCompile(isbn10Pattern) + rxISBN13 = regexp.MustCompile(isbn13Pattern) + rxCreditCard = regexp.MustCompile(usCardPattern) + rxSSN = regexp.MustCompile(ssnPattern) + rxHexcolor = regexp.MustCompile(hexColorPattern) + rxRGBcolor = regexp.MustCompile(rgbColorPattern) +) + +// IsHostname returns true when the string is a valid hostname. +// +// It follows the rules detailed at https://url.spec.whatwg.org/#concept-host-parser +// and implemented by most modern web browsers. +// +// It supports IDNA rules regarding internationalized names with unicode. +// +// Besides: +// * the empty string is not a valid host name +// * a trailing dot is allowed in names and IPv4's (not IPv6) +// * a host name can be a valid IPv4 (with decimal, octal or hexadecimal numbers) or IPv6 address +// * IPv6 zones are disallowed +// * top-level domains can be unicode (cf. https://www.iana.org/domains/root/db). +// +// NOTE: this validator doesn't check top-level domains against the IANA root database. +// It merely ensures that a top-level domain in a FQDN is at least 2 code points long. +func IsHostname(str string) bool { + if len(str) == 0 { + return false + } + + // IP v6 check + if ipv6Cleaned, found := strings.CutPrefix(str, "["); found { + ipv6Cleaned, found = strings.CutSuffix(ipv6Cleaned, "]") + if !found { + return false + } + + return isValidIPv6(ipv6Cleaned) + } + + // IDNA check + res, err := idnaHostChecker.ToASCII(strings.ToLower(str)) + if err != nil || res == "" { + return false + } + + parts := strings.Split(res, ".") + + // IP v4 check + lastPart, lastIndex, shouldBeIPv4 := domainEndsAsNumber(parts) + if shouldBeIPv4 { + // domain ends in a number: must be an IPv4 + return isValidIPv4(parts[:lastIndex+1]) // if the last part is a trailing dot, remove it + } + + // check TLD length (excluding trailing dot) + const minTLDLength = 2 + if lastIndex > 0 && len(lastPart) < minTLDLength { + return false + } + + return true +} + +// domainEndsAsNumber determines if a domain name ends with a decimal, octal or hex digit, +// accounting for a possible trailing dot (the last part being empty in that case). +// +// It returns the last non-trailing dot part and if that part consists only of (dec/hex/oct) digits. +func domainEndsAsNumber(parts []string) (lastPart string, lastIndex int, ok bool) { + // NOTE: using ParseUint(x, 0, 32) is not an option, as the IPv4 format supported why WHATWG + // doesn't support notations such as "0b1001" (binary digits) or "0o666" (alternate notation for octal digits). + lastIndex = len(parts) - 1 + lastPart = parts[lastIndex] + if len(lastPart) == 0 { + // trailing dot + if len(parts) == 1 { // dot-only string: normally already ruled out by the IDNA check above + return lastPart, lastIndex, false + } + + lastIndex-- + lastPart = parts[lastIndex] + } + + if startOfHexDigit(lastPart) { + for _, b := range []byte(lastPart[2:]) { + if !isHexDigit(b) { + return lastPart, lastIndex, false + } + } + + return lastPart, lastIndex, true + } + + // check for decimal and octal + for _, b := range []byte(lastPart) { + if !isASCIIDigit(b) { + return lastPart, lastIndex, false + } + } + + return lastPart, lastIndex, true +} + +func startOfHexDigit(str string) bool { + return strings.HasPrefix(str, "0x") // the input has already been lower-cased +} + +func startOfOctalDigit(str string) bool { + if str == "0" { + // a single "0" is considered decimal + return false + } + + return strings.HasPrefix(str, "0") +} + +func isValidIPv6(str string) bool { + // disallow empty ipv6 address + if len(str) == 0 { + return false + } + + addr, err := netip.ParseAddr(str) + if err != nil { + return false + } + + if !addr.Is6() { + return false + } + + // explicit desupport of IPv6 zones + if addr.Zone() != "" { + return false + } + + return true +} + +// isValidIPv4 parses an IPv4 with deciaml, hex or octal digit parts. +// +// We can't rely on [netip.ParseAddr] because we may get a mix of decimal, octal and hex digits. +// +// Examples of valid addresses not supported by [netip.ParseAddr] or [net.ParseIP]: +// +// "192.0x00A80001" +// "0300.0250.0340.001" +// "1.0x.1.1" +// +// But not: +// +// "0b1010.2.3.4" +// "0o07.2.3.4" +func isValidIPv4(parts []string) bool { + // NOTE: using ParseUint(x, 0, 32) is not an option, even though it would simplify this code a lot. + // The IPv4 format supported why WHATWG doesn't support notations such as "0b1001" (binary digits) + // or "0o666" (alternate notation for octal digits). + const ( + maxPartsInIPv4 = 4 + maxDigitsInPart = 11 // max size of a 4-bytes hex or octal digit + ) + + if len(parts) == 0 || len(parts) > maxPartsInIPv4 { + return false + } + + // we call this when we know that the last part is a digit part, so len(lastPart)>0 + + digits := make([]uint64, 0, maxPartsInIPv4) + for _, part := range parts { + if len(part) == 0 { // empty part: this case has normally been already ruled out by the IDNA check above + return false + } + + if len(part) > maxDigitsInPart { // whether decimal, octal or hex, an address can't exceed that length + return false + } + + if !isASCIIDigit(part[0]) { // start of an IPv4 part is always a digit + return false + } + + switch { + case startOfHexDigit(part): + const hexDigitOffset = 2 + hexString := part[hexDigitOffset:] + if len(hexString) == 0 { // 0x part: assume 0 + digits = append(digits, 0) + + continue + } + + hexDigit, err := strconv.ParseUint(hexString, 16, 32) + if err != nil { + return false + } + + digits = append(digits, hexDigit) + + continue + + case startOfOctalDigit(part): + const octDigitOffset = 1 + octString := part[octDigitOffset:] // we know that this is not empty + octDigit, err := strconv.ParseUint(octString, 8, 32) + if err != nil { + return false + } + + digits = append(digits, octDigit) + + default: // assume decimal digits (0-255) + // we know that we don't have a leading 0 (would have been caught by octal digit) + decDigit, err := strconv.ParseUint(part, 10, 8) + if err != nil { + return false + } + + digits = append(digits, decDigit) + } + } + + // now check the digits: the last digit may encompass several parts of the address + lastDigit := digits[len(digits)-1] + if lastDigit > uint64(1)< 1 { + const maxUint8 = uint64(^uint8(0)) + + for i := range len(digits) - 2 { + if digits[i] > maxUint8 { + return false + } + } + } + + return true +} + +func isHexDigit(c byte) bool { + switch { + case '0' <= c && c <= '9': + return true + case 'a' <= c && c <= 'f': // assume the input string to be lower case + return true + } + return false +} + +func isASCIIDigit(c byte) bool { + return c >= '0' && c <= '9' +} + +// IsUUID returns true is the string matches a UUID (in any version, including v6 and v7), upper case is allowed +func IsUUID(str string) bool { + _, err := uuid.Parse(str) + return err == nil +} + +const ( + uuidV3 = 3 + uuidV4 = 4 + uuidV5 = 5 + uuidV7 = 7 +) + +// IsUUID3 returns true is the string matches a UUID v3, upper case is allowed +func IsUUID3(str string) bool { + id, err := uuid.Parse(str) + return err == nil && id.Version() == uuid.Version(uuidV3) +} + +// IsUUID4 returns true is the string matches a UUID v4, upper case is allowed +func IsUUID4(str string) bool { + id, err := uuid.Parse(str) + return err == nil && id.Version() == uuid.Version(uuidV4) +} + +// IsUUID5 returns true is the string matches a UUID v5, upper case is allowed +func IsUUID5(str string) bool { + id, err := uuid.Parse(str) + return err == nil && id.Version() == uuid.Version(uuidV5) +} + +// IsUUID7 returns true is the string matches a UUID v7, upper case is allowed +func IsUUID7(str string) bool { + id, err := uuid.Parse(str) + return err == nil && id.Version() == uuid.Version(uuidV7) +} + +// IsEmail validates an email address. +func IsEmail(str string) bool { + addr, e := mail.ParseAddress(str) + return e == nil && addr.Address != "" +} + +func init() { + // register formats in the default registry: + // - byte + // - creditcard + // - email + // - hexcolor + // - hostname + // - ipv4 + // - ipv6 + // - cidr + // - isbn + // - isbn10 + // - isbn13 + // - mac + // - password + // - rgbcolor + // - ssn + // - uri + // - uuid + // - uuid3 + // - uuid4 + // - uuid5 + // - uuid7 + u := URI("") + Default.Add("uri", &u, isRequestURI) + + eml := Email("") + Default.Add("email", &eml, IsEmail) + + hn := Hostname("") + Default.Add("hostname", &hn, IsHostname) + + ip4 := IPv4("") + Default.Add("ipv4", &ip4, isIPv4) + + ip6 := IPv6("") + Default.Add("ipv6", &ip6, isIPv6) + + cidr := CIDR("") + Default.Add("cidr", &cidr, isCIDR) + + mac := MAC("") + Default.Add("mac", &mac, isMAC) + + uid := UUID("") + Default.Add("uuid", &uid, IsUUID) + + uid3 := UUID3("") + Default.Add("uuid3", &uid3, IsUUID3) + + uid4 := UUID4("") + Default.Add("uuid4", &uid4, IsUUID4) + + uid5 := UUID5("") + Default.Add("uuid5", &uid5, IsUUID5) + + uid7 := UUID7("") + Default.Add("uuid7", &uid7, IsUUID7) + + isbn := ISBN("") + Default.Add("isbn", &isbn, func(str string) bool { return isISBN10(str) || isISBN13(str) }) + + isbn10 := ISBN10("") + Default.Add("isbn10", &isbn10, isISBN10) + + isbn13 := ISBN13("") + Default.Add("isbn13", &isbn13, isISBN13) + + cc := CreditCard("") + Default.Add("creditcard", &cc, isCreditCard) + + ssn := SSN("") + Default.Add("ssn", &ssn, isSSN) + + hc := HexColor("") + Default.Add("hexcolor", &hc, isHexcolor) + + rc := RGBColor("") + Default.Add("rgbcolor", &rc, isRGBcolor) + + b64 := Base64([]byte(nil)) + Default.Add("byte", &b64, isBase64) + + pw := Password("") + Default.Add("password", &pw, func(_ string) bool { return true }) +} + +// Base64 represents a base64 encoded string, using URLEncoding alphabet +// +// swagger:strfmt byte +type Base64 []byte + +// MarshalText turns this instance into text +func (b Base64) MarshalText() ([]byte, error) { + enc := base64.URLEncoding + src := []byte(b) + buf := make([]byte, enc.EncodedLen(len(src))) + enc.Encode(buf, src) + return buf, nil +} + +// UnmarshalText hydrates this instance from text +func (b *Base64) UnmarshalText(data []byte) error { // validation is performed later on + enc := base64.URLEncoding + dbuf := make([]byte, enc.DecodedLen(len(data))) + + n, err := enc.Decode(dbuf, data) + if err != nil { + return err + } + + *b = dbuf[:n] + return nil +} + +// Scan read a value from a database driver +func (b *Base64) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + dbuf := make([]byte, base64.StdEncoding.DecodedLen(len(v))) + n, err := base64.StdEncoding.Decode(dbuf, v) + if err != nil { + return err + } + *b = dbuf[:n] + case string: + vv, err := base64.StdEncoding.DecodeString(v) + if err != nil { + return err + } + *b = Base64(vv) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.Base64 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (b Base64) Value() (driver.Value, error) { + return driver.Value(b.String()), nil +} + +func (b Base64) String() string { + return base64.StdEncoding.EncodeToString([]byte(b)) +} + +// MarshalJSON returns the Base64 as JSON +func (b Base64) MarshalJSON() ([]byte, error) { + return json.Marshal(b.String()) +} + +// UnmarshalJSON sets the Base64 from JSON +func (b *Base64) UnmarshalJSON(data []byte) error { + var b64str string + if err := json.Unmarshal(data, &b64str); err != nil { + return err + } + vb, err := base64.StdEncoding.DecodeString(b64str) + if err != nil { + return err + } + *b = Base64(vb) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (b *Base64) DeepCopyInto(out *Base64) { + *out = *b +} + +// DeepCopy copies the receiver into a new Base64. +func (b *Base64) DeepCopy() *Base64 { + if b == nil { + return nil + } + out := new(Base64) + b.DeepCopyInto(out) + return out +} + +// URI represents the uri string format as specified by the json schema spec +// +// swagger:strfmt uri +type URI string + +// MarshalText turns this instance into text +func (u URI) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *URI) UnmarshalText(data []byte) error { // validation is performed later on + *u = URI(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *URI) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = URI(string(v)) + case string: + *u = URI(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.URI from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u URI) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u URI) String() string { + return string(u) +} + +// MarshalJSON returns the URI as JSON +func (u URI) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the URI from JSON +func (u *URI) UnmarshalJSON(data []byte) error { + var uristr string + if err := json.Unmarshal(data, &uristr); err != nil { + return err + } + *u = URI(uristr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *URI) DeepCopyInto(out *URI) { + *out = *u +} + +// DeepCopy copies the receiver into a new URI. +func (u *URI) DeepCopy() *URI { + if u == nil { + return nil + } + out := new(URI) + u.DeepCopyInto(out) + return out +} + +// Email represents the email string format as specified by the json schema spec +// +// swagger:strfmt email +type Email string + +// MarshalText turns this instance into text +func (e Email) MarshalText() ([]byte, error) { + return []byte(string(e)), nil +} + +// UnmarshalText hydrates this instance from text +func (e *Email) UnmarshalText(data []byte) error { // validation is performed later on + *e = Email(string(data)) + return nil +} + +// Scan read a value from a database driver +func (e *Email) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *e = Email(string(v)) + case string: + *e = Email(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.Email from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (e Email) Value() (driver.Value, error) { + return driver.Value(string(e)), nil +} + +func (e Email) String() string { + return string(e) +} + +// MarshalJSON returns the Email as JSON +func (e Email) MarshalJSON() ([]byte, error) { + return json.Marshal(string(e)) +} + +// UnmarshalJSON sets the Email from JSON +func (e *Email) UnmarshalJSON(data []byte) error { + var estr string + if err := json.Unmarshal(data, &estr); err != nil { + return err + } + *e = Email(estr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (e *Email) DeepCopyInto(out *Email) { + *out = *e +} + +// DeepCopy copies the receiver into a new Email. +func (e *Email) DeepCopy() *Email { + if e == nil { + return nil + } + out := new(Email) + e.DeepCopyInto(out) + return out +} + +// Hostname represents the hostname string format as specified by the json schema spec +// +// swagger:strfmt hostname +type Hostname string + +// MarshalText turns this instance into text +func (h Hostname) MarshalText() ([]byte, error) { + return []byte(string(h)), nil +} + +// UnmarshalText hydrates this instance from text +func (h *Hostname) UnmarshalText(data []byte) error { // validation is performed later on + *h = Hostname(string(data)) + return nil +} + +// Scan read a value from a database driver +func (h *Hostname) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *h = Hostname(string(v)) + case string: + *h = Hostname(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.Hostname from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (h Hostname) Value() (driver.Value, error) { + return driver.Value(string(h)), nil +} + +func (h Hostname) String() string { + return string(h) +} + +// MarshalJSON returns the Hostname as JSON +func (h Hostname) MarshalJSON() ([]byte, error) { + return json.Marshal(string(h)) +} + +// UnmarshalJSON sets the Hostname from JSON +func (h *Hostname) UnmarshalJSON(data []byte) error { + var hstr string + if err := json.Unmarshal(data, &hstr); err != nil { + return err + } + *h = Hostname(hstr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (h *Hostname) DeepCopyInto(out *Hostname) { + *out = *h +} + +// DeepCopy copies the receiver into a new Hostname. +func (h *Hostname) DeepCopy() *Hostname { + if h == nil { + return nil + } + out := new(Hostname) + h.DeepCopyInto(out) + return out +} + +// IPv4 represents an IP v4 address +// +// swagger:strfmt ipv4 +type IPv4 string + +// MarshalText turns this instance into text +func (u IPv4) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *IPv4) UnmarshalText(data []byte) error { // validation is performed later on + *u = IPv4(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *IPv4) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = IPv4(string(v)) + case string: + *u = IPv4(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.IPv4 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u IPv4) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u IPv4) String() string { + return string(u) +} + +// MarshalJSON returns the IPv4 as JSON +func (u IPv4) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the IPv4 from JSON +func (u *IPv4) UnmarshalJSON(data []byte) error { + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = IPv4(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *IPv4) DeepCopyInto(out *IPv4) { + *out = *u +} + +// DeepCopy copies the receiver into a new IPv4. +func (u *IPv4) DeepCopy() *IPv4 { + if u == nil { + return nil + } + out := new(IPv4) + u.DeepCopyInto(out) + return out +} + +// IPv6 represents an IP v6 address +// +// swagger:strfmt ipv6 +type IPv6 string + +// MarshalText turns this instance into text +func (u IPv6) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *IPv6) UnmarshalText(data []byte) error { // validation is performed later on + *u = IPv6(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *IPv6) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = IPv6(string(v)) + case string: + *u = IPv6(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.IPv6 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u IPv6) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u IPv6) String() string { + return string(u) +} + +// MarshalJSON returns the IPv6 as JSON +func (u IPv6) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the IPv6 from JSON +func (u *IPv6) UnmarshalJSON(data []byte) error { + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = IPv6(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *IPv6) DeepCopyInto(out *IPv6) { + *out = *u +} + +// DeepCopy copies the receiver into a new IPv6. +func (u *IPv6) DeepCopy() *IPv6 { + if u == nil { + return nil + } + out := new(IPv6) + u.DeepCopyInto(out) + return out +} + +// CIDR represents a Classless Inter-Domain Routing notation +// +// swagger:strfmt cidr +type CIDR string + +// MarshalText turns this instance into text +func (u CIDR) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *CIDR) UnmarshalText(data []byte) error { // validation is performed later on + *u = CIDR(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *CIDR) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = CIDR(string(v)) + case string: + *u = CIDR(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.CIDR from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u CIDR) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u CIDR) String() string { + return string(u) +} + +// MarshalJSON returns the CIDR as JSON +func (u CIDR) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the CIDR from JSON +func (u *CIDR) UnmarshalJSON(data []byte) error { + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = CIDR(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *CIDR) DeepCopyInto(out *CIDR) { + *out = *u +} + +// DeepCopy copies the receiver into a new CIDR. +func (u *CIDR) DeepCopy() *CIDR { + if u == nil { + return nil + } + out := new(CIDR) + u.DeepCopyInto(out) + return out +} + +// MAC represents a 48 bit MAC address +// +// swagger:strfmt mac +type MAC string + +// MarshalText turns this instance into text +func (u MAC) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *MAC) UnmarshalText(data []byte) error { // validation is performed later on + *u = MAC(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *MAC) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = MAC(string(v)) + case string: + *u = MAC(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.IPv4 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u MAC) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u MAC) String() string { + return string(u) +} + +// MarshalJSON returns the MAC as JSON +func (u MAC) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the MAC from JSON +func (u *MAC) UnmarshalJSON(data []byte) error { + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = MAC(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *MAC) DeepCopyInto(out *MAC) { + *out = *u +} + +// DeepCopy copies the receiver into a new MAC. +func (u *MAC) DeepCopy() *MAC { + if u == nil { + return nil + } + out := new(MAC) + u.DeepCopyInto(out) + return out +} + +// UUID represents a uuid string format +// +// swagger:strfmt uuid +type UUID string + +// MarshalText turns this instance into text +func (u UUID) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *UUID) UnmarshalText(data []byte) error { // validation is performed later on + *u = UUID(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *UUID) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = UUID(string(v)) + case string: + *u = UUID(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.UUID from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u UUID) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u UUID) String() string { + return string(u) +} + +// MarshalJSON returns the UUID as JSON +func (u UUID) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the UUID from JSON +func (u *UUID) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = UUID(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *UUID) DeepCopyInto(out *UUID) { + *out = *u +} + +// DeepCopy copies the receiver into a new UUID. +func (u *UUID) DeepCopy() *UUID { + if u == nil { + return nil + } + out := new(UUID) + u.DeepCopyInto(out) + return out +} + +// UUID3 represents a uuid3 string format +// +// swagger:strfmt uuid3 +type UUID3 string + +// MarshalText turns this instance into text +func (u UUID3) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *UUID3) UnmarshalText(data []byte) error { // validation is performed later on + *u = UUID3(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *UUID3) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = UUID3(string(v)) + case string: + *u = UUID3(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.UUID3 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u UUID3) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u UUID3) String() string { + return string(u) +} + +// MarshalJSON returns the UUID as JSON +func (u UUID3) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the UUID from JSON +func (u *UUID3) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = UUID3(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *UUID3) DeepCopyInto(out *UUID3) { + *out = *u +} + +// DeepCopy copies the receiver into a new UUID3. +func (u *UUID3) DeepCopy() *UUID3 { + if u == nil { + return nil + } + out := new(UUID3) + u.DeepCopyInto(out) + return out +} + +// UUID4 represents a uuid4 string format +// +// swagger:strfmt uuid4 +type UUID4 string + +// MarshalText turns this instance into text +func (u UUID4) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *UUID4) UnmarshalText(data []byte) error { // validation is performed later on + *u = UUID4(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *UUID4) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = UUID4(string(v)) + case string: + *u = UUID4(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.UUID4 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u UUID4) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u UUID4) String() string { + return string(u) +} + +// MarshalJSON returns the UUID as JSON +func (u UUID4) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the UUID from JSON +func (u *UUID4) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = UUID4(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *UUID4) DeepCopyInto(out *UUID4) { + *out = *u +} + +// DeepCopy copies the receiver into a new UUID4. +func (u *UUID4) DeepCopy() *UUID4 { + if u == nil { + return nil + } + out := new(UUID4) + u.DeepCopyInto(out) + return out +} + +// UUID5 represents a uuid5 string format +// +// swagger:strfmt uuid5 +type UUID5 string + +// MarshalText turns this instance into text +func (u UUID5) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *UUID5) UnmarshalText(data []byte) error { // validation is performed later on + *u = UUID5(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *UUID5) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = UUID5(string(v)) + case string: + *u = UUID5(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.UUID5 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u UUID5) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u UUID5) String() string { + return string(u) +} + +// MarshalJSON returns the UUID as JSON +func (u UUID5) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the UUID from JSON +func (u *UUID5) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = UUID5(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *UUID5) DeepCopyInto(out *UUID5) { + *out = *u +} + +// DeepCopy copies the receiver into a new UUID5. +func (u *UUID5) DeepCopy() *UUID5 { + if u == nil { + return nil + } + out := new(UUID5) + u.DeepCopyInto(out) + return out +} + +// UUID7 represents a uuid7 string format +// +// swagger:strfmt uuid7 +type UUID7 string + +// MarshalText turns this instance into text +func (u UUID7) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *UUID7) UnmarshalText(data []byte) error { // validation is performed later on + *u = UUID7(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *UUID7) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = UUID7(string(v)) + case string: + *u = UUID7(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.UUID7 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u UUID7) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u UUID7) String() string { + return string(u) +} + +// MarshalJSON returns the UUID as JSON +func (u UUID7) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the UUID from JSON +func (u *UUID7) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = UUID7(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *UUID7) DeepCopyInto(out *UUID7) { + *out = *u +} + +// DeepCopy copies the receiver into a new UUID7. +func (u *UUID7) DeepCopy() *UUID7 { + if u == nil { + return nil + } + out := new(UUID7) + u.DeepCopyInto(out) + return out +} + +// ISBN represents an isbn string format +// +// swagger:strfmt isbn +type ISBN string + +// MarshalText turns this instance into text +func (u ISBN) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *ISBN) UnmarshalText(data []byte) error { // validation is performed later on + *u = ISBN(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *ISBN) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = ISBN(string(v)) + case string: + *u = ISBN(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.ISBN from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u ISBN) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u ISBN) String() string { + return string(u) +} + +// MarshalJSON returns the ISBN as JSON +func (u ISBN) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the ISBN from JSON +func (u *ISBN) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = ISBN(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *ISBN) DeepCopyInto(out *ISBN) { + *out = *u +} + +// DeepCopy copies the receiver into a new ISBN. +func (u *ISBN) DeepCopy() *ISBN { + if u == nil { + return nil + } + out := new(ISBN) + u.DeepCopyInto(out) + return out +} + +// ISBN10 represents an isbn 10 string format +// +// swagger:strfmt isbn10 +type ISBN10 string + +// MarshalText turns this instance into text +func (u ISBN10) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *ISBN10) UnmarshalText(data []byte) error { // validation is performed later on + *u = ISBN10(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *ISBN10) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = ISBN10(string(v)) + case string: + *u = ISBN10(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.ISBN10 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u ISBN10) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u ISBN10) String() string { + return string(u) +} + +// MarshalJSON returns the ISBN10 as JSON +func (u ISBN10) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the ISBN10 from JSON +func (u *ISBN10) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = ISBN10(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *ISBN10) DeepCopyInto(out *ISBN10) { + *out = *u +} + +// DeepCopy copies the receiver into a new ISBN10. +func (u *ISBN10) DeepCopy() *ISBN10 { + if u == nil { + return nil + } + out := new(ISBN10) + u.DeepCopyInto(out) + return out +} + +// ISBN13 represents an isbn 13 string format +// +// swagger:strfmt isbn13 +type ISBN13 string + +// MarshalText turns this instance into text +func (u ISBN13) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *ISBN13) UnmarshalText(data []byte) error { // validation is performed later on + *u = ISBN13(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *ISBN13) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = ISBN13(string(v)) + case string: + *u = ISBN13(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.ISBN13 from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u ISBN13) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u ISBN13) String() string { + return string(u) +} + +// MarshalJSON returns the ISBN13 as JSON +func (u ISBN13) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the ISBN13 from JSON +func (u *ISBN13) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = ISBN13(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *ISBN13) DeepCopyInto(out *ISBN13) { + *out = *u +} + +// DeepCopy copies the receiver into a new ISBN13. +func (u *ISBN13) DeepCopy() *ISBN13 { + if u == nil { + return nil + } + out := new(ISBN13) + u.DeepCopyInto(out) + return out +} + +// CreditCard represents a credit card string format +// +// swagger:strfmt creditcard +type CreditCard string + +// MarshalText turns this instance into text +func (u CreditCard) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *CreditCard) UnmarshalText(data []byte) error { // validation is performed later on + *u = CreditCard(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *CreditCard) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = CreditCard(string(v)) + case string: + *u = CreditCard(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.CreditCard from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u CreditCard) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u CreditCard) String() string { + return string(u) +} + +// MarshalJSON returns the CreditCard as JSON +func (u CreditCard) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the CreditCard from JSON +func (u *CreditCard) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = CreditCard(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *CreditCard) DeepCopyInto(out *CreditCard) { + *out = *u +} + +// DeepCopy copies the receiver into a new CreditCard. +func (u *CreditCard) DeepCopy() *CreditCard { + if u == nil { + return nil + } + out := new(CreditCard) + u.DeepCopyInto(out) + return out +} + +// SSN represents a social security string format +// +// swagger:strfmt ssn +type SSN string + +// MarshalText turns this instance into text +func (u SSN) MarshalText() ([]byte, error) { + return []byte(string(u)), nil +} + +// UnmarshalText hydrates this instance from text +func (u *SSN) UnmarshalText(data []byte) error { // validation is performed later on + *u = SSN(string(data)) + return nil +} + +// Scan read a value from a database driver +func (u *SSN) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *u = SSN(string(v)) + case string: + *u = SSN(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.SSN from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (u SSN) Value() (driver.Value, error) { + return driver.Value(string(u)), nil +} + +func (u SSN) String() string { + return string(u) +} + +// MarshalJSON returns the SSN as JSON +func (u SSN) MarshalJSON() ([]byte, error) { + return json.Marshal(string(u)) +} + +// UnmarshalJSON sets the SSN from JSON +func (u *SSN) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *u = SSN(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *SSN) DeepCopyInto(out *SSN) { + *out = *u +} + +// DeepCopy copies the receiver into a new SSN. +func (u *SSN) DeepCopy() *SSN { + if u == nil { + return nil + } + out := new(SSN) + u.DeepCopyInto(out) + return out +} + +// HexColor represents a hex color string format +// +// swagger:strfmt hexcolor +type HexColor string + +// MarshalText turns this instance into text +func (h HexColor) MarshalText() ([]byte, error) { + return []byte(string(h)), nil +} + +// UnmarshalText hydrates this instance from text +func (h *HexColor) UnmarshalText(data []byte) error { // validation is performed later on + *h = HexColor(string(data)) + return nil +} + +// Scan read a value from a database driver +func (h *HexColor) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *h = HexColor(string(v)) + case string: + *h = HexColor(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.HexColor from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (h HexColor) Value() (driver.Value, error) { + return driver.Value(string(h)), nil +} + +func (h HexColor) String() string { + return string(h) +} + +// MarshalJSON returns the HexColor as JSON +func (h HexColor) MarshalJSON() ([]byte, error) { + return json.Marshal(string(h)) +} + +// UnmarshalJSON sets the HexColor from JSON +func (h *HexColor) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *h = HexColor(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (h *HexColor) DeepCopyInto(out *HexColor) { + *out = *h +} + +// DeepCopy copies the receiver into a new HexColor. +func (h *HexColor) DeepCopy() *HexColor { + if h == nil { + return nil + } + out := new(HexColor) + h.DeepCopyInto(out) + return out +} + +// RGBColor represents a RGB color string format +// +// swagger:strfmt rgbcolor +type RGBColor string + +// MarshalText turns this instance into text +func (r RGBColor) MarshalText() ([]byte, error) { + return []byte(string(r)), nil +} + +// UnmarshalText hydrates this instance from text +func (r *RGBColor) UnmarshalText(data []byte) error { // validation is performed later on + *r = RGBColor(string(data)) + return nil +} + +// Scan read a value from a database driver +func (r *RGBColor) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *r = RGBColor(string(v)) + case string: + *r = RGBColor(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.RGBColor from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (r RGBColor) Value() (driver.Value, error) { + return driver.Value(string(r)), nil +} + +func (r RGBColor) String() string { + return string(r) +} + +// MarshalJSON returns the RGBColor as JSON +func (r RGBColor) MarshalJSON() ([]byte, error) { + return json.Marshal(string(r)) +} + +// UnmarshalJSON sets the RGBColor from JSON +func (r *RGBColor) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *r = RGBColor(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (r *RGBColor) DeepCopyInto(out *RGBColor) { + *out = *r +} + +// DeepCopy copies the receiver into a new RGBColor. +func (r *RGBColor) DeepCopy() *RGBColor { + if r == nil { + return nil + } + out := new(RGBColor) + r.DeepCopyInto(out) + return out +} + +// Password represents a password. +// This has no validations and is mainly used as a marker for UI components. +// +// swagger:strfmt password +type Password string + +// MarshalText turns this instance into text +func (r Password) MarshalText() ([]byte, error) { + return []byte(string(r)), nil +} + +// UnmarshalText hydrates this instance from text +func (r *Password) UnmarshalText(data []byte) error { // validation is performed later on + *r = Password(string(data)) + return nil +} + +// Scan read a value from a database driver +func (r *Password) Scan(raw any) error { + switch v := raw.(type) { + case []byte: + *r = Password(string(v)) + case string: + *r = Password(v) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.Password from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts a value to a database driver value +func (r Password) Value() (driver.Value, error) { + return driver.Value(string(r)), nil +} + +func (r Password) String() string { + return string(r) +} + +// MarshalJSON returns the Password as JSON +func (r Password) MarshalJSON() ([]byte, error) { + return json.Marshal(string(r)) +} + +// UnmarshalJSON sets the Password from JSON +func (r *Password) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + *r = Password(ustr) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (r *Password) DeepCopyInto(out *Password) { + *out = *r +} + +// DeepCopy copies the receiver into a new Password. +func (r *Password) DeepCopy() *Password { + if r == nil { + return nil + } + out := new(Password) + r.DeepCopyInto(out) + return out +} + +func isRequestURI(rawurl string) bool { + _, err := url.ParseRequestURI(rawurl) + return err == nil +} + +// isIPv4 checks if the string is an IP version 4. +func isIPv4(str string) bool { + ip := net.ParseIP(str) + return ip != nil && strings.Contains(str, ".") +} + +// isIPv6 checks if the string is an IP version 6. +func isIPv6(str string) bool { + ip := net.ParseIP(str) + return ip != nil && strings.Contains(str, ":") +} + +// isCIDR checks if the string is an valid CIDR notiation (IPV4 & IPV6) +func isCIDR(str string) bool { + _, _, err := net.ParseCIDR(str) + return err == nil +} + +// isMAC checks if a string is valid MAC address. +// Possible MAC formats: +// 01:23:45:67:89:ab +// 01:23:45:67:89:ab:cd:ef +// 01-23-45-67-89-ab +// 01-23-45-67-89-ab-cd-ef +// 0123.4567.89ab +// 0123.4567.89ab.cdef +func isMAC(str string) bool { + _, err := net.ParseMAC(str) + return err == nil +} + +// isISBN checks if the string is an ISBN (version 10 or 13). +// If version value is not equal to 10 or 13, it will be checks both variants. +func isISBN(str string, version int) bool { + sanitized := whiteSpacesAndMinus.ReplaceAllString(str, "") + var checksum int32 + var i int32 + + switch version { + case isbnVersion10: + if !rxISBN10.MatchString(sanitized) { + return false + } + for i = range isbnVersion10 - 1 { + checksum += (i + 1) * int32(sanitized[i]-'0') + } + if sanitized[isbnVersion10-1] == 'X' { + checksum += isbnVersion10 * isbnVersion10 + } else { + checksum += isbnVersion10 * int32(sanitized[isbnVersion10-1]-'0') + } + if checksum%(isbnVersion10+1) == 0 { + return true + } + return false + case isbnVersion13: + if !rxISBN13.MatchString(sanitized) { + return false + } + factor := []int32{1, 3} + for i = range isbnVersion13 - 1 { + checksum += factor[i%2] * int32(sanitized[i]-'0') + } + return (int32(sanitized[isbnVersion13-1]-'0'))-((decimalBase-(checksum%decimalBase))%decimalBase) == 0 + default: + return isISBN(str, isbnVersion10) || isISBN(str, isbnVersion13) + } +} + +// isISBN10 checks if the string is an ISBN version 10. +func isISBN10(str string) bool { + return isISBN(str, isbnVersion10) +} + +// isISBN13 checks if the string is an ISBN version 13. +func isISBN13(str string) bool { + return isISBN(str, isbnVersion13) +} + +// isCreditCard checks if the string is a credit card. +func isCreditCard(str string) bool { + sanitized := whiteSpacesAndMinus.ReplaceAllString(str, "") + if !rxCreditCard.MatchString(sanitized) { + return false + } + + number, err := strconv.ParseInt(sanitized, 0, 64) + if err != nil { + return false + } + number, lastDigit := number/decimalBase, number%decimalBase + + var sum int64 + for i := 0; number > 0; i++ { + digit := number % decimalBase + + if i%2 == 0 { + digit *= 2 + if digit > decimalBase-1 { + digit -= decimalBase - 1 + } + } + + sum += digit + number /= decimalBase + } + + return (sum+lastDigit)%decimalBase == 0 +} + +// isSSN will validate the given string as a U.S. Social Security Number +func isSSN(str string) bool { + if str == "" || len(str) != 11 { + return false + } + return rxSSN.MatchString(str) +} + +// isHexcolor checks if the string is a hexadecimal color. +func isHexcolor(str string) bool { + return rxHexcolor.MatchString(str) +} + +// isRGBcolor checks if the string is a valid RGB color in form rgb(RRR, GGG, BBB). +func isRGBcolor(str string) bool { + return rxRGBcolor.MatchString(str) +} + +// isBase64 checks if a string is base64 encoded. +func isBase64(str string) bool { + _, err := base64.StdEncoding.DecodeString(str) + + return err == nil +} diff --git a/vendor/github.com/go-openapi/strfmt/doc.go b/vendor/github.com/go-openapi/strfmt/doc.go new file mode 100644 index 000000000..5825b7210 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/doc.go @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +// Package strfmt contains custom string formats +// +// TODO: add info on how to define and register a custom format +package strfmt diff --git a/vendor/github.com/go-openapi/strfmt/duration.go b/vendor/github.com/go-openapi/strfmt/duration.go new file mode 100644 index 000000000..908c1b02f --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/duration.go @@ -0,0 +1,206 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + "database/sql/driver" + "encoding/json" + "fmt" + "math" + "regexp" + "strconv" + "strings" + "time" +) + +func init() { + d := Duration(0) + // register this format in the default registry + Default.Add("duration", &d, IsDuration) +} + +const ( + hoursInDay = 24 + daysInWeek = 7 +) + +var ( + timeUnits = [][]string{ + {"ns", "nano"}, + {"us", "µs", "micro"}, + {"ms", "milli"}, + {"s", "sec"}, + {"m", "min"}, + {"h", "hr", "hour"}, + {"d", "day"}, + {"w", "wk", "week"}, + } + + timeMultiplier = map[string]time.Duration{ + "ns": time.Nanosecond, + "us": time.Microsecond, + "ms": time.Millisecond, + "s": time.Second, + "m": time.Minute, + "h": time.Hour, + "d": hoursInDay * time.Hour, + "w": hoursInDay * daysInWeek * time.Hour, + } + + durationMatcher = regexp.MustCompile(`^(((?:-\s?)?\d+)(\.\d+)?\s*([A-Za-zµ]+))`) +) + +// IsDuration returns true if the provided string is a valid duration +func IsDuration(str string) bool { + _, err := ParseDuration(str) + return err == nil +} + +// Duration represents a duration +// +// Duration stores a period of time as a nanosecond count, with the largest +// repesentable duration being approximately 290 years. +// +// swagger:strfmt duration +type Duration time.Duration + +// MarshalText turns this instance into text +func (d Duration) MarshalText() ([]byte, error) { + return []byte(time.Duration(d).String()), nil +} + +// UnmarshalText hydrates this instance from text +func (d *Duration) UnmarshalText(data []byte) error { // validation is performed later on + dd, err := ParseDuration(string(data)) + if err != nil { + return err + } + *d = Duration(dd) + return nil +} + +// ParseDuration parses a duration from a string, compatible with scala duration syntax +func ParseDuration(cand string) (time.Duration, error) { + if dur, err := time.ParseDuration(cand); err == nil { + return dur, nil + } + + var dur time.Duration + ok := false + const expectGroups = 4 + for _, match := range durationMatcher.FindAllStringSubmatch(cand, -1) { + if len(match) < expectGroups { + continue + } + + // remove possible leading - and spaces + value, negative := strings.CutPrefix(match[2], "-") + + // if the duration contains a decimal separator determine a divising factor + const neutral = 1.0 + divisor := neutral + decimal, hasDecimal := strings.CutPrefix(match[3], ".") + if hasDecimal { + divisor = math.Pow10(len(decimal)) + value += decimal // consider the value as an integer: will change units later on + } + + // if the string is a valid duration, parse it + factor, err := strconv.Atoi(strings.TrimSpace(value)) // converts string to int + if err != nil { + return 0, err + } + + if negative { + factor = -factor + } + + unit := strings.ToLower(strings.TrimSpace(match[4])) + + for _, variants := range timeUnits { + last := len(variants) - 1 + multiplier := timeMultiplier[variants[0]] + + for i, variant := range variants { + if (last == i && strings.HasPrefix(unit, variant)) || strings.EqualFold(variant, unit) { + ok = true + if divisor != neutral { + multiplier = time.Duration(float64(multiplier) / divisor) // convert to duration only after having reduced the scale + } + dur += (time.Duration(factor) * multiplier) + } + } + } + } + + if ok { + return dur, nil + } + return 0, fmt.Errorf("unable to parse %s as duration: %w", cand, ErrFormat) +} + +// Scan reads a Duration value from database driver type. +func (d *Duration) Scan(raw any) error { + switch v := raw.(type) { + // TODO: case []byte: // ? + case int64: + *d = Duration(v) + case float64: + *d = Duration(int64(v)) + case nil: + *d = Duration(0) + default: + return fmt.Errorf("cannot sql.Scan() strfmt.Duration from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts Duration to a primitive value ready to be written to a database. +func (d Duration) Value() (driver.Value, error) { + return driver.Value(int64(d)), nil +} + +// String converts this duration to a string +func (d Duration) String() string { + return time.Duration(d).String() +} + +// MarshalJSON returns the Duration as JSON +func (d Duration) MarshalJSON() ([]byte, error) { + return json.Marshal(time.Duration(d).String()) +} + +// UnmarshalJSON sets the Duration from JSON +func (d *Duration) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + + var dstr string + if err := json.Unmarshal(data, &dstr); err != nil { + return err + } + tt, err := ParseDuration(dstr) + if err != nil { + return err + } + *d = Duration(tt) + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (d *Duration) DeepCopyInto(out *Duration) { + *out = *d +} + +// DeepCopy copies the receiver into a new Duration. +func (d *Duration) DeepCopy() *Duration { + if d == nil { + return nil + } + out := new(Duration) + d.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/go-openapi/strfmt/errors.go b/vendor/github.com/go-openapi/strfmt/errors.go new file mode 100644 index 000000000..9faa37cf2 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/errors.go @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +type strfmtError string + +// ErrFormat is an error raised by the strfmt package +const ErrFormat strfmtError = "format error" + +func (e strfmtError) Error() string { + return string(e) +} diff --git a/vendor/github.com/go-openapi/strfmt/format.go b/vendor/github.com/go-openapi/strfmt/format.go new file mode 100644 index 000000000..d9d9e04c2 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/format.go @@ -0,0 +1,297 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + "encoding" + "fmt" + "reflect" + "slices" + "strings" + "sync" + "time" + + "github.com/go-openapi/errors" + "github.com/go-viper/mapstructure/v2" +) + +// Default is the default formats registry +var Default = NewSeededFormats(nil, nil) + +// Validator represents a validator for a string format. +type Validator func(string) bool + +// NewFormats creates a new formats registry seeded with the values from the default +func NewFormats() Registry { + //nolint:forcetypeassert + return NewSeededFormats(Default.(*defaultFormats).data, nil) +} + +// NewSeededFormats creates a new formats registry +func NewSeededFormats(seeds []knownFormat, normalizer NameNormalizer) Registry { + if normalizer == nil { + normalizer = DefaultNameNormalizer + } + // copy here, don't modify the original + return &defaultFormats{ + data: slices.Clone(seeds), + normalizeName: normalizer, + } +} + +type knownFormat struct { + Name string + OrigName string + Type reflect.Type + Validator Validator +} + +// NameNormalizer is a function that normalizes a format name. +type NameNormalizer func(string) string + +// DefaultNameNormalizer removes all dashes +func DefaultNameNormalizer(name string) string { + return strings.ReplaceAll(name, "-", "") +} + +type defaultFormats struct { + sync.Mutex + + data []knownFormat + normalizeName NameNormalizer +} + +// MapStructureHookFunc is a decode hook function for mapstructure +func (f *defaultFormats) MapStructureHookFunc() mapstructure.DecodeHookFunc { + return func(from reflect.Type, to reflect.Type, obj any) (any, error) { + if from.Kind() != reflect.String { + return obj, nil + } + data, ok := obj.(string) + if !ok { + return nil, fmt.Errorf("failed to cast %+v to string: %w", obj, ErrFormat) + } + + for _, v := range f.data { + tpe, _ := f.GetType(v.Name) + if to == tpe { + switch v.Name { + case "date": + d, err := time.ParseInLocation(RFC3339FullDate, data, DefaultTimeLocation) + if err != nil { + return nil, err + } + return Date(d), nil + case "datetime": + input := data + if len(input) == 0 { + return nil, fmt.Errorf("empty string is an invalid datetime format: %w", ErrFormat) + } + return ParseDateTime(input) + case "duration": + dur, err := ParseDuration(data) + if err != nil { + return nil, err + } + return Duration(dur), nil + case "uri": + return URI(data), nil + case "email": + return Email(data), nil + case "uuid": + return UUID(data), nil + case "uuid3": + return UUID3(data), nil + case "uuid4": + return UUID4(data), nil + case "uuid5": + return UUID5(data), nil + case "uuid7": + return UUID7(data), nil + case "hostname": + return Hostname(data), nil + case "ipv4": + return IPv4(data), nil + case "ipv6": + return IPv6(data), nil + case "cidr": + return CIDR(data), nil + case "mac": + return MAC(data), nil + case "isbn": + return ISBN(data), nil + case "isbn10": + return ISBN10(data), nil + case "isbn13": + return ISBN13(data), nil + case "creditcard": + return CreditCard(data), nil + case "ssn": + return SSN(data), nil + case "hexcolor": + return HexColor(data), nil + case "rgbcolor": + return RGBColor(data), nil + case "byte": + return Base64(data), nil + case "password": + return Password(data), nil + case "ulid": + ulid, err := ParseULID(data) + if err != nil { + return nil, err + } + return ulid, nil + default: + return nil, errors.InvalidTypeName(v.Name) + } + } + } + return data, nil + } +} + +// Add adds a new format, return true if this was a new item instead of a replacement +func (f *defaultFormats) Add(name string, strfmt Format, validator Validator) bool { + f.Lock() + defer f.Unlock() + + nme := f.normalizeName(name) + + tpe := reflect.TypeOf(strfmt) + if tpe.Kind() == reflect.Ptr { + tpe = tpe.Elem() + } + + for i := range f.data { + v := &f.data[i] + if v.Name == nme { + v.Type = tpe + v.Validator = validator + return false + } + } + + // turns out it's new after all + f.data = append(f.data, knownFormat{Name: nme, OrigName: name, Type: tpe, Validator: validator}) + return true +} + +// GetType gets the type for the specified name +func (f *defaultFormats) GetType(name string) (reflect.Type, bool) { + f.Lock() + defer f.Unlock() + nme := f.normalizeName(name) + for _, v := range f.data { + if v.Name == nme { + return v.Type, true + } + } + return nil, false +} + +// DelByName removes the format by the specified name, returns true when an item was actually removed +func (f *defaultFormats) DelByName(name string) bool { + f.Lock() + defer f.Unlock() + + nme := f.normalizeName(name) + + for i, v := range f.data { + if v.Name == nme { + f.data[i] = knownFormat{} // release + f.data = append(f.data[:i], f.data[i+1:]...) + return true + } + } + return false +} + +// DelByFormat removes the specified format, returns true when an item was actually removed +func (f *defaultFormats) DelByFormat(strfmt Format) bool { + f.Lock() + defer f.Unlock() + + tpe := reflect.TypeOf(strfmt) + if tpe.Kind() == reflect.Ptr { + tpe = tpe.Elem() + } + + for i, v := range f.data { + if v.Type == tpe { + f.data[i] = knownFormat{} // release + f.data = append(f.data[:i], f.data[i+1:]...) + return true + } + } + return false +} + +// ContainsName returns true if this registry contains the specified name +func (f *defaultFormats) ContainsName(name string) bool { + f.Lock() + defer f.Unlock() + nme := f.normalizeName(name) + for _, v := range f.data { + if v.Name == nme { + return true + } + } + return false +} + +// ContainsFormat returns true if this registry contains the specified format +func (f *defaultFormats) ContainsFormat(strfmt Format) bool { + f.Lock() + defer f.Unlock() + tpe := reflect.TypeOf(strfmt) + if tpe.Kind() == reflect.Ptr { + tpe = tpe.Elem() + } + + for _, v := range f.data { + if v.Type == tpe { + return true + } + } + return false +} + +// Validates passed data against format. +// +// Note that the format name is automatically normalized, e.g. one may +// use "date-time" to use the "datetime" format validator. +func (f *defaultFormats) Validates(name, data string) bool { + f.Lock() + defer f.Unlock() + nme := f.normalizeName(name) + for _, v := range f.data { + if v.Name == nme { + return v.Validator(data) + } + } + return false +} + +// Parse a string into the appropriate format representation type. +// +// E.g. parsing a string a "date" will return a Date type. +func (f *defaultFormats) Parse(name, data string) (any, error) { + f.Lock() + defer f.Unlock() + nme := f.normalizeName(name) + for _, v := range f.data { + if v.Name == nme { + nw := reflect.New(v.Type).Interface() + if dec, ok := nw.(encoding.TextUnmarshaler); ok { + if err := dec.UnmarshalText([]byte(data)); err != nil { + return nil, err + } + return nw, nil + } + return nil, errors.InvalidTypeName(name) + } + } + return nil, errors.InvalidTypeName(name) +} diff --git a/vendor/github.com/go-openapi/strfmt/ifaces.go b/vendor/github.com/go-openapi/strfmt/ifaces.go new file mode 100644 index 000000000..1b9e72c64 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/ifaces.go @@ -0,0 +1,32 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + "encoding" + "reflect" + + "github.com/go-viper/mapstructure/v2" +) + +// Format represents a string format. +// +// All implementations of Format provide a string representation and text +// marshaling/unmarshaling interface to be used by encoders (e.g. encoding/json). +type Format interface { + String() string + encoding.TextMarshaler + encoding.TextUnmarshaler +} + +// Registry is a registry of string formats, with a validation method. +type Registry interface { + Add(string, Format, Validator) bool + DelByName(string) bool + GetType(string) (reflect.Type, bool) + ContainsName(string) bool + Validates(string, string) bool + Parse(string, string) (any, error) + MapStructureHookFunc() mapstructure.DecodeHookFunc +} diff --git a/vendor/github.com/go-openapi/strfmt/mongo.go b/vendor/github.com/go-openapi/strfmt/mongo.go new file mode 100644 index 000000000..641fed9b1 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/mongo.go @@ -0,0 +1,646 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + "encoding/base64" + "encoding/binary" + "fmt" + "time" + + "github.com/oklog/ulid" + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/bson/bsontype" + bsonprim "go.mongodb.org/mongo-driver/bson/primitive" +) + +var ( + _ bson.Marshaler = Date{} + _ bson.Unmarshaler = &Date{} + _ bson.Marshaler = Base64{} + _ bson.Unmarshaler = &Base64{} + _ bson.Marshaler = Duration(0) + _ bson.Unmarshaler = (*Duration)(nil) + _ bson.Marshaler = DateTime{} + _ bson.Unmarshaler = &DateTime{} + _ bson.Marshaler = ULID{} + _ bson.Unmarshaler = &ULID{} + _ bson.Marshaler = URI("") + _ bson.Unmarshaler = (*URI)(nil) + _ bson.Marshaler = Email("") + _ bson.Unmarshaler = (*Email)(nil) + _ bson.Marshaler = Hostname("") + _ bson.Unmarshaler = (*Hostname)(nil) + _ bson.Marshaler = IPv4("") + _ bson.Unmarshaler = (*IPv4)(nil) + _ bson.Marshaler = IPv6("") + _ bson.Unmarshaler = (*IPv6)(nil) + _ bson.Marshaler = CIDR("") + _ bson.Unmarshaler = (*CIDR)(nil) + _ bson.Marshaler = MAC("") + _ bson.Unmarshaler = (*MAC)(nil) + _ bson.Marshaler = Password("") + _ bson.Unmarshaler = (*Password)(nil) + _ bson.Marshaler = UUID("") + _ bson.Unmarshaler = (*UUID)(nil) + _ bson.Marshaler = UUID3("") + _ bson.Unmarshaler = (*UUID3)(nil) + _ bson.Marshaler = UUID4("") + _ bson.Unmarshaler = (*UUID4)(nil) + _ bson.Marshaler = UUID5("") + _ bson.Unmarshaler = (*UUID5)(nil) + _ bson.Marshaler = UUID7("") + _ bson.Unmarshaler = (*UUID7)(nil) + _ bson.Marshaler = ISBN("") + _ bson.Unmarshaler = (*ISBN)(nil) + _ bson.Marshaler = ISBN10("") + _ bson.Unmarshaler = (*ISBN10)(nil) + _ bson.Marshaler = ISBN13("") + _ bson.Unmarshaler = (*ISBN13)(nil) + _ bson.Marshaler = CreditCard("") + _ bson.Unmarshaler = (*CreditCard)(nil) + _ bson.Marshaler = SSN("") + _ bson.Unmarshaler = (*SSN)(nil) + _ bson.Marshaler = HexColor("") + _ bson.Unmarshaler = (*HexColor)(nil) + _ bson.Marshaler = RGBColor("") + _ bson.Unmarshaler = (*RGBColor)(nil) + _ bson.Marshaler = ObjectId{} + _ bson.Unmarshaler = &ObjectId{} + + _ bson.ValueMarshaler = DateTime{} + _ bson.ValueUnmarshaler = &DateTime{} + _ bson.ValueMarshaler = ObjectId{} + _ bson.ValueUnmarshaler = &ObjectId{} +) + +const ( + millisec = 1000 + microsec = 1_000_000 + bsonDateTimeSize = 8 +) + +func (d Date) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": d.String()}) +} + +func (d *Date) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if data, ok := m["data"].(string); ok { + rd, err := time.ParseInLocation(RFC3339FullDate, data, DefaultTimeLocation) + if err != nil { + return err + } + *d = Date(rd) + return nil + } + + return fmt.Errorf("couldn't unmarshal bson bytes value as Date: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (b Base64) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": b.String()}) +} + +// UnmarshalBSON document into this value +func (b *Base64) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if bd, ok := m["data"].(string); ok { + vb, err := base64.StdEncoding.DecodeString(bd) + if err != nil { + return err + } + *b = Base64(vb) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as base64: %w", ErrFormat) +} + +func (d Duration) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": d.String()}) +} + +func (d *Duration) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if data, ok := m["data"].(string); ok { + rd, err := ParseDuration(data) + if err != nil { + return err + } + *d = Duration(rd) + return nil + } + + return fmt.Errorf("couldn't unmarshal bson bytes value as Date: %w", ErrFormat) +} + +// MarshalBSON renders the DateTime as a BSON document +func (t DateTime) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": t}) +} + +// UnmarshalBSON reads the DateTime from a BSON document +func (t *DateTime) UnmarshalBSON(data []byte) error { + var obj struct { + Data DateTime + } + + if err := bson.Unmarshal(data, &obj); err != nil { + return err + } + + *t = obj.Data + + return nil +} + +// MarshalBSONValue is an interface implemented by types that can marshal themselves +// into a BSON document represented as bytes. The bytes returned must be a valid +// BSON document if the error is nil. +// +// Marshals a DateTime as a bson.TypeDateTime, an int64 representing +// milliseconds since epoch. +func (t DateTime) MarshalBSONValue() (bsontype.Type, []byte, error) { + // UnixNano cannot be used directly, the result of calling UnixNano on the zero + // Time is undefined. Thats why we use time.Nanosecond() instead. + + tNorm := NormalizeTimeForMarshal(time.Time(t)) + i64 := tNorm.Unix()*millisec + int64(tNorm.Nanosecond())/microsec + buf := make([]byte, bsonDateTimeSize) + binary.LittleEndian.PutUint64(buf, uint64(i64)) //nolint:gosec // it's okay to handle negative int64 this way + + return bson.TypeDateTime, buf, nil +} + +// UnmarshalBSONValue is an interface implemented by types that can unmarshal a +// BSON value representation of themselves. The BSON bytes and type can be +// assumed to be valid. UnmarshalBSONValue must copy the BSON value bytes if it +// wishes to retain the data after returning. +func (t *DateTime) UnmarshalBSONValue(tpe bsontype.Type, data []byte) error { + if tpe == bson.TypeNull { + *t = DateTime{} + return nil + } + + if len(data) != bsonDateTimeSize { + return fmt.Errorf("bson date field length not exactly %d bytes: %w", bsonDateTimeSize, ErrFormat) + } + + i64 := int64(binary.LittleEndian.Uint64(data)) //nolint:gosec // it's okay if we overflow and get a negative datetime + *t = DateTime(time.Unix(i64/millisec, i64%millisec*microsec)) + + return nil +} + +// MarshalBSON document from this value +func (u ULID) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *ULID) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + id, err := ulid.ParseStrict(ud) + if err != nil { + return fmt.Errorf("couldn't parse bson bytes as ULID: %w: %w", err, ErrFormat) + } + u.ULID = id + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as ULID: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u URI) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *URI) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = URI(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as uri: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (e Email) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": e.String()}) +} + +// UnmarshalBSON document into this value +func (e *Email) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *e = Email(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as email: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (h Hostname) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": h.String()}) +} + +// UnmarshalBSON document into this value +func (h *Hostname) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *h = Hostname(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as hostname: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u IPv4) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *IPv4) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = IPv4(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as ipv4: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u IPv6) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *IPv6) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = IPv6(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as ipv6: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u CIDR) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *CIDR) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = CIDR(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as CIDR: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u MAC) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *MAC) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = MAC(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as MAC: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (r Password) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": r.String()}) +} + +// UnmarshalBSON document into this value +func (r *Password) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *r = Password(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as Password: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u UUID) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *UUID) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = UUID(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as UUID: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u UUID3) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *UUID3) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = UUID3(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as UUID3: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u UUID4) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *UUID4) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = UUID4(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as UUID4: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u UUID5) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *UUID5) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = UUID5(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as UUID5: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u UUID7) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *UUID7) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = UUID7(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as UUID7: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u ISBN) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *ISBN) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = ISBN(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as ISBN: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u ISBN10) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *ISBN10) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = ISBN10(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as ISBN10: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u ISBN13) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *ISBN13) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = ISBN13(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as ISBN13: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u CreditCard) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *CreditCard) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = CreditCard(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as CreditCard: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (u SSN) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": u.String()}) +} + +// UnmarshalBSON document into this value +func (u *SSN) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *u = SSN(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as SSN: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (h HexColor) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": h.String()}) +} + +// UnmarshalBSON document into this value +func (h *HexColor) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *h = HexColor(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as HexColor: %w", ErrFormat) +} + +// MarshalBSON document from this value +func (r RGBColor) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": r.String()}) +} + +// UnmarshalBSON document into this value +func (r *RGBColor) UnmarshalBSON(data []byte) error { + var m bson.M + if err := bson.Unmarshal(data, &m); err != nil { + return err + } + + if ud, ok := m["data"].(string); ok { + *r = RGBColor(ud) + return nil + } + return fmt.Errorf("couldn't unmarshal bson bytes as RGBColor: %w", ErrFormat) +} + +// MarshalBSON renders the object id as a BSON document +func (id ObjectId) MarshalBSON() ([]byte, error) { + return bson.Marshal(bson.M{"data": bsonprim.ObjectID(id)}) +} + +// UnmarshalBSON reads the objectId from a BSON document +func (id *ObjectId) UnmarshalBSON(data []byte) error { + var obj struct { + Data bsonprim.ObjectID + } + if err := bson.Unmarshal(data, &obj); err != nil { + return err + } + *id = ObjectId(obj.Data) + return nil +} + +// MarshalBSONValue is an interface implemented by types that can marshal themselves +// into a BSON document represented as bytes. The bytes returned must be a valid +// BSON document if the error is nil. +func (id ObjectId) MarshalBSONValue() (bsontype.Type, []byte, error) { + oid := bsonprim.ObjectID(id) + return bson.TypeObjectID, oid[:], nil +} + +// UnmarshalBSONValue is an interface implemented by types that can unmarshal a +// BSON value representation of themselves. The BSON bytes and type can be +// assumed to be valid. UnmarshalBSONValue must copy the BSON value bytes if it +// wishes to retain the data after returning. +func (id *ObjectId) UnmarshalBSONValue(_ bsontype.Type, data []byte) error { + var oid bsonprim.ObjectID + copy(oid[:], data) + *id = ObjectId(oid) + return nil +} diff --git a/vendor/github.com/go-openapi/strfmt/time.go b/vendor/github.com/go-openapi/strfmt/time.go new file mode 100644 index 000000000..8085aaf69 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/time.go @@ -0,0 +1,258 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + "database/sql/driver" + "encoding/json" + "fmt" + "regexp" + "strings" + "time" +) + +var ( + // UnixZero sets the zero unix UTC timestamp we want to compare against. + // + // Unix 0 for an EST timezone is not equivalent to a UTC timezone. + UnixZero = time.Unix(0, 0).UTC() +) + +func init() { + dt := DateTime{} + Default.Add("datetime", &dt, IsDateTime) +} + +// IsDateTime returns true when the string is a valid date-time. +// +// JSON datetime format consist of a date and a time separated by a "T", e.g. 2012-04-23T18:25:43.511Z. +func IsDateTime(str string) bool { + const ( + minDateTimeLength = 4 + minParts = 2 + ) + if len(str) < minDateTimeLength { + return false + } + s := strings.Split(strings.ToLower(str), "t") + if len(s) < minParts || !IsDate(s[0]) { + return false + } + + matches := rxDateTime.FindAllStringSubmatch(s[1], -1) + if len(matches) == 0 || len(matches[0]) == 0 { + return false + } + m := matches[0] + res := m[1] <= "23" && m[2] <= "59" && m[3] <= "59" + return res +} + +const ( + // RFC3339Millis represents a ISO8601 format to millis instead of to nanos + RFC3339Millis = "2006-01-02T15:04:05.000Z07:00" + // RFC3339MillisNoColon represents a ISO8601 format to millis instead of to nanos + RFC3339MillisNoColon = "2006-01-02T15:04:05.000Z0700" + // RFC3339Micro represents a ISO8601 format to micro instead of to nano + RFC3339Micro = "2006-01-02T15:04:05.000000Z07:00" + // RFC3339MicroNoColon represents a ISO8601 format to micro instead of to nano + RFC3339MicroNoColon = "2006-01-02T15:04:05.000000Z0700" + // ISO8601LocalTime represents a ISO8601 format to ISO8601 in local time (no timezone) + ISO8601LocalTime = "2006-01-02T15:04:05" + // ISO8601TimeWithReducedPrecision represents a ISO8601 format with reduced precision (dropped secs) + ISO8601TimeWithReducedPrecision = "2006-01-02T15:04Z" + // ISO8601TimeWithReducedPrecisionLocaltime represents a ISO8601 format with reduced precision and no timezone (dropped seconds + no timezone) + ISO8601TimeWithReducedPrecisionLocaltime = "2006-01-02T15:04" + // ISO8601TimeUniversalSortableDateTimePattern represents a ISO8601 universal sortable date time pattern. + ISO8601TimeUniversalSortableDateTimePattern = "2006-01-02 15:04:05" + // ISO8601TimeUniversalSortableDateTimePatternShortForm is the short form of ISO8601TimeUniversalSortableDateTimePattern + ISO8601TimeUniversalSortableDateTimePatternShortForm = "2006-01-02" + // DateTimePattern pattern to match for the date-time format from http://tools.ietf.org/html/rfc3339#section-5.6 + DateTimePattern = `^([0-9]{2}):([0-9]{2}):([0-9]{2})(.[0-9]+)?(z|([+-][0-9]{2}:[0-9]{2}))$` +) + +var ( + rxDateTime = regexp.MustCompile(DateTimePattern) + + // DateTimeFormats is the collection of formats used by ParseDateTime() + DateTimeFormats = []string{RFC3339Micro, RFC3339MicroNoColon, RFC3339Millis, RFC3339MillisNoColon, time.RFC3339, time.RFC3339Nano, ISO8601LocalTime, ISO8601TimeWithReducedPrecision, ISO8601TimeWithReducedPrecisionLocaltime, ISO8601TimeUniversalSortableDateTimePattern, ISO8601TimeUniversalSortableDateTimePatternShortForm} + + // MarshalFormat sets the time resolution format used for marshaling time (set to milliseconds) + MarshalFormat = RFC3339Millis + + // NormalizeTimeForMarshal provides a normalization function on time before marshalling (e.g. time.UTC). + // By default, the time value is not changed. + NormalizeTimeForMarshal = func(t time.Time) time.Time { return t } + + // DefaultTimeLocation provides a location for a time when the time zone is not encoded in the string (ex: ISO8601 Local variants). + DefaultTimeLocation = time.UTC +) + +// ParseDateTime parses a string that represents an ISO8601 time or a unix epoch +func ParseDateTime(data string) (DateTime, error) { + if data == "" { + return NewDateTime(), nil + } + var lastError error + for _, layout := range DateTimeFormats { + dd, err := time.ParseInLocation(layout, data, DefaultTimeLocation) + if err != nil { + lastError = err + continue + } + return DateTime(dd), nil + } + return DateTime{}, lastError +} + +// DateTime is a time but it serializes to ISO8601 format with millis. +// +// It knows how to read 3 different variations of a RFC3339 date time. +// Most APIs we encounter want either millisecond or second precision times. +// This just tries to make it worry-free. +// +// swagger:strfmt date-time +type DateTime time.Time + +// NewDateTime is a representation of the UNIX epoch (January 1, 1970 00:00:00 UTC) for the [DateTime] type. +// +// Notice that this is not the zero value of the [DateTime] type. +// +// You may use [DateTime.IsUNIXZero] to check against this value. +func NewDateTime() DateTime { + return DateTime(time.Unix(0, 0).UTC()) +} + +// MakeDateTime is a representation of the zero value of the [DateTime] type (January 1, year 1, 00:00:00 UTC). +// +// You may use [Datetime.IsZero] to check against this value. +func MakeDateTime() DateTime { + return DateTime(time.Time{}) +} + +// String converts this time to a string +func (t DateTime) String() string { + return NormalizeTimeForMarshal(time.Time(t)).Format(MarshalFormat) +} + +// IsZero returns whether the date time is a zero value +func (t DateTime) IsZero() bool { + return time.Time(t).IsZero() +} + +// IsUnixZero returns whether the date time is equivalent to time.Unix(0, 0).UTC(). +func (t DateTime) IsUnixZero() bool { + return time.Time(t).Equal(UnixZero) +} + +// MarshalText implements the text marshaller interface +func (t DateTime) MarshalText() ([]byte, error) { + return []byte(t.String()), nil +} + +// UnmarshalText implements the text unmarshaller interface +func (t *DateTime) UnmarshalText(text []byte) error { + tt, err := ParseDateTime(string(text)) + if err != nil { + return err + } + *t = tt + return nil +} + +// Scan scans a DateTime value from database driver type. +func (t *DateTime) Scan(raw any) error { + // TODO: case int64: and case float64: ? + switch v := raw.(type) { + case []byte: + return t.UnmarshalText(v) + case string: + return t.UnmarshalText([]byte(v)) + case time.Time: + *t = DateTime(v) + case nil: + *t = DateTime{} + default: + return fmt.Errorf("cannot sql.Scan() strfmt.DateTime from: %#v: %w", v, ErrFormat) + } + + return nil +} + +// Value converts DateTime to a primitive value ready to written to a database. +func (t DateTime) Value() (driver.Value, error) { + return driver.Value(t.String()), nil +} + +// MarshalJSON returns the DateTime as JSON +func (t DateTime) MarshalJSON() ([]byte, error) { + return json.Marshal(NormalizeTimeForMarshal(time.Time(t)).Format(MarshalFormat)) +} + +// UnmarshalJSON sets the DateTime from JSON +func (t *DateTime) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + + var tstr string + if err := json.Unmarshal(data, &tstr); err != nil { + return err + } + tt, err := ParseDateTime(tstr) + if err != nil { + return err + } + *t = tt + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (t *DateTime) DeepCopyInto(out *DateTime) { + *out = *t +} + +// DeepCopy copies the receiver into a new DateTime. +func (t *DateTime) DeepCopy() *DateTime { + if t == nil { + return nil + } + out := new(DateTime) + t.DeepCopyInto(out) + return out +} + +// GobEncode implements the gob.GobEncoder interface. +func (t DateTime) GobEncode() ([]byte, error) { + return t.MarshalBinary() +} + +// GobDecode implements the gob.GobDecoder interface. +func (t *DateTime) GobDecode(data []byte) error { + return t.UnmarshalBinary(data) +} + +// MarshalBinary implements the encoding.BinaryMarshaler interface. +func (t DateTime) MarshalBinary() ([]byte, error) { + return NormalizeTimeForMarshal(time.Time(t)).MarshalBinary() +} + +// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface. +func (t *DateTime) UnmarshalBinary(data []byte) error { + var original time.Time + + err := original.UnmarshalBinary(data) + if err != nil { + return err + } + + *t = DateTime(original) + + return nil +} + +// Equal checks if two DateTime instances are equal using time.Time's Equal method +func (t DateTime) Equal(t2 DateTime) bool { + return time.Time(t).Equal(time.Time(t2)) +} diff --git a/vendor/github.com/go-openapi/strfmt/ulid.go b/vendor/github.com/go-openapi/strfmt/ulid.go new file mode 100644 index 000000000..85c5b53e6 --- /dev/null +++ b/vendor/github.com/go-openapi/strfmt/ulid.go @@ -0,0 +1,208 @@ +// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers +// SPDX-License-Identifier: Apache-2.0 + +package strfmt + +import ( + cryptorand "crypto/rand" + "database/sql/driver" + "encoding/json" + "fmt" + "io" + "sync" + + "github.com/oklog/ulid" +) + +// ULID represents a ulid string format +// ref: +// +// https://github.com/ulid/spec +// +// impl: +// +// https://github.com/oklog/ulid +// +// swagger:strfmt ulid +type ULID struct { + ulid.ULID +} + +var ( + ulidEntropyPool = sync.Pool{ + New: func() any { + return cryptorand.Reader + }, + } + + ULIDScanDefaultFunc = func(raw any) (ULID, error) { + u := NewULIDZero() + switch x := raw.(type) { + case nil: + // zerp ulid + return u, nil + case string: + if x == "" { + // zero ulid + return u, nil + } + return u, u.UnmarshalText([]byte(x)) + case []byte: + return u, u.UnmarshalText(x) + } + + return u, fmt.Errorf("cannot sql.Scan() strfmt.ULID from: %#v: %w", raw, ulid.ErrScanValue) + } + + // ULIDScanOverrideFunc allows you to override the Scan method of the ULID type + ULIDScanOverrideFunc = ULIDScanDefaultFunc + + ULIDValueDefaultFunc = func(u ULID) (driver.Value, error) { + return driver.Value(u.String()), nil + } + + // ULIDValueOverrideFunc allows you to override the Value method of the ULID type + ULIDValueOverrideFunc = ULIDValueDefaultFunc +) + +func init() { + // register formats in the default registry: + // - ulid + ulid := ULID{} + Default.Add("ulid", &ulid, IsULID) +} + +// IsULID checks if provided string is ULID format +// Be noticed that this function considers overflowed ULID as non-ulid. +// For more details see https://github.com/ulid/spec +func IsULID(str string) bool { + _, err := ulid.ParseStrict(str) + return err == nil +} + +// ParseULID parses a string that represents an valid ULID +func ParseULID(str string) (ULID, error) { + var u ULID + + return u, u.UnmarshalText([]byte(str)) +} + +// NewULIDZero returns a zero valued ULID type +func NewULIDZero() ULID { + return ULID{} +} + +// NewULID generates new unique ULID value and a error if any +func NewULID() (ULID, error) { + var u ULID + + obj := ulidEntropyPool.Get() + entropy, ok := obj.(io.Reader) + if !ok { + return u, fmt.Errorf("failed to cast %+v to io.Reader: %w", obj, ErrFormat) + } + + id, err := ulid.New(ulid.Now(), entropy) + if err != nil { + return u, err + } + ulidEntropyPool.Put(entropy) + + u.ULID = id + return u, nil +} + +// GetULID returns underlying instance of ULID +func (u *ULID) GetULID() any { + return u.ULID +} + +// MarshalText returns this instance into text +func (u ULID) MarshalText() ([]byte, error) { + return u.ULID.MarshalText() +} + +// UnmarshalText hydrates this instance from text +func (u *ULID) UnmarshalText(data []byte) error { // validation is performed later on + return u.ULID.UnmarshalText(data) +} + +// Scan reads a value from a database driver +func (u *ULID) Scan(raw any) error { + ul, err := ULIDScanOverrideFunc(raw) + if err == nil { + *u = ul + } + return err +} + +// Value converts a value to a database driver value +func (u ULID) Value() (driver.Value, error) { + return ULIDValueOverrideFunc(u) +} + +func (u ULID) String() string { + return u.ULID.String() +} + +// MarshalJSON returns the ULID as JSON +func (u ULID) MarshalJSON() ([]byte, error) { + return json.Marshal(u.String()) +} + +// UnmarshalJSON sets the ULID from JSON +func (u *ULID) UnmarshalJSON(data []byte) error { + if string(data) == jsonNull { + return nil + } + var ustr string + if err := json.Unmarshal(data, &ustr); err != nil { + return err + } + id, err := ulid.ParseStrict(ustr) + if err != nil { + return fmt.Errorf("couldn't parse JSON value as ULID: %w", err) + } + u.ULID = id + return nil +} + +// DeepCopyInto copies the receiver and writes its value into out. +func (u *ULID) DeepCopyInto(out *ULID) { + *out = *u +} + +// DeepCopy copies the receiver into a new ULID. +func (u *ULID) DeepCopy() *ULID { + if u == nil { + return nil + } + out := new(ULID) + u.DeepCopyInto(out) + return out +} + +// GobEncode implements the gob.GobEncoder interface. +func (u ULID) GobEncode() ([]byte, error) { + return u.ULID.MarshalBinary() +} + +// GobDecode implements the gob.GobDecoder interface. +func (u *ULID) GobDecode(data []byte) error { + return u.ULID.UnmarshalBinary(data) +} + +// MarshalBinary implements the encoding.BinaryMarshaler interface. +func (u ULID) MarshalBinary() ([]byte, error) { + return u.ULID.MarshalBinary() +} + +// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface. +func (u *ULID) UnmarshalBinary(data []byte) error { + return u.ULID.UnmarshalBinary(data) +} + +// Equal checks if two ULID instances are equal by their underlying type +func (u ULID) Equal(other ULID) bool { + return u.ULID == other.ULID +} diff --git a/vendor/github.com/go-openapi/swag/.editorconfig b/vendor/github.com/go-openapi/swag/.editorconfig new file mode 100644 index 000000000..3152da69a --- /dev/null +++ b/vendor/github.com/go-openapi/swag/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/swag/.gitattributes b/vendor/github.com/go-openapi/swag/.gitattributes new file mode 100644 index 000000000..49ad52766 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/.gitattributes @@ -0,0 +1,2 @@ +# gofmt always uses LF, whereas Git uses CRLF on Windows. +*.go text eol=lf diff --git a/vendor/github.com/go-openapi/swag/.gitignore b/vendor/github.com/go-openapi/swag/.gitignore new file mode 100644 index 000000000..c4b1b64f0 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/.gitignore @@ -0,0 +1,5 @@ +secrets.yml +vendor +Godeps +.idea +*.out diff --git a/vendor/github.com/go-openapi/swag/.golangci.yml b/vendor/github.com/go-openapi/swag/.golangci.yml new file mode 100644 index 000000000..d2fafb8a2 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/.golangci.yml @@ -0,0 +1,56 @@ +linters-settings: + gocyclo: + min-complexity: 45 + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + +linters: + enable-all: true + disable: + - recvcheck + - unparam + - lll + - gochecknoinits + - gochecknoglobals + - funlen + - godox + - gocognit + - whitespace + - wsl + - wrapcheck + - testpackage + - nlreturn + - errorlint + - nestif + - godot + - gofumpt + - paralleltest + - tparallel + - thelper + - exhaustruct + - varnamelen + - gci + - depguard + - errchkjson + - inamedparam + - nonamedreturns + - musttag + - ireturn + - forcetypeassert + - cyclop + # deprecated linters + #- deadcode + #- interfacer + #- scopelint + #- varcheck + #- structcheck + #- golint + #- nosnakecase + #- maligned + #- goerr113 + #- ifshort + #- gomnd + #- exhaustivestruct diff --git a/vendor/github.com/go-openapi/swag/BENCHMARK.md b/vendor/github.com/go-openapi/swag/BENCHMARK.md new file mode 100644 index 000000000..e7f28ed6b --- /dev/null +++ b/vendor/github.com/go-openapi/swag/BENCHMARK.md @@ -0,0 +1,52 @@ +# Benchmarks + +## Name mangling utilities + +```bash +go test -bench XXX -run XXX -benchtime 30s +``` + +### Benchmarks at b3e7a5386f996177e4808f11acb2aa93a0f660df + +``` +goos: linux +goarch: amd64 +pkg: github.com/go-openapi/swag +cpu: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz +BenchmarkToXXXName/ToGoName-4 862623 44101 ns/op 10450 B/op 732 allocs/op +BenchmarkToXXXName/ToVarName-4 853656 40728 ns/op 10468 B/op 734 allocs/op +BenchmarkToXXXName/ToFileName-4 1268312 27813 ns/op 9785 B/op 617 allocs/op +BenchmarkToXXXName/ToCommandName-4 1276322 27903 ns/op 9785 B/op 617 allocs/op +BenchmarkToXXXName/ToHumanNameLower-4 895334 40354 ns/op 10472 B/op 731 allocs/op +BenchmarkToXXXName/ToHumanNameTitle-4 882441 40678 ns/op 10566 B/op 749 allocs/op +``` + +### Benchmarks after PR #79 + +~ x10 performance improvement and ~ /100 memory allocations. + +``` +goos: linux +goarch: amd64 +pkg: github.com/go-openapi/swag +cpu: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz +BenchmarkToXXXName/ToGoName-4 9595830 3991 ns/op 42 B/op 5 allocs/op +BenchmarkToXXXName/ToVarName-4 9194276 3984 ns/op 62 B/op 7 allocs/op +BenchmarkToXXXName/ToFileName-4 17002711 2123 ns/op 147 B/op 7 allocs/op +BenchmarkToXXXName/ToCommandName-4 16772926 2111 ns/op 147 B/op 7 allocs/op +BenchmarkToXXXName/ToHumanNameLower-4 9788331 3749 ns/op 92 B/op 6 allocs/op +BenchmarkToXXXName/ToHumanNameTitle-4 9188260 3941 ns/op 104 B/op 6 allocs/op +``` + +``` +goos: linux +goarch: amd64 +pkg: github.com/go-openapi/swag +cpu: AMD Ryzen 7 5800X 8-Core Processor +BenchmarkToXXXName/ToGoName-16 18527378 1972 ns/op 42 B/op 5 allocs/op +BenchmarkToXXXName/ToVarName-16 15552692 2093 ns/op 62 B/op 7 allocs/op +BenchmarkToXXXName/ToFileName-16 32161176 1117 ns/op 147 B/op 7 allocs/op +BenchmarkToXXXName/ToCommandName-16 32256634 1137 ns/op 147 B/op 7 allocs/op +BenchmarkToXXXName/ToHumanNameLower-16 18599661 1946 ns/op 92 B/op 6 allocs/op +BenchmarkToXXXName/ToHumanNameTitle-16 17581353 2054 ns/op 105 B/op 6 allocs/op +``` diff --git a/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/swag/LICENSE b/vendor/github.com/go-openapi/swag/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/README.md b/vendor/github.com/go-openapi/swag/README.md new file mode 100644 index 000000000..a72922299 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/README.md @@ -0,0 +1,23 @@ +# Swag [![Build Status](https://github.com/go-openapi/swag/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/swag/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/swag/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/swag) + +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/swag/master/LICENSE) +[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/swag.svg)](https://pkg.go.dev/github.com/go-openapi/swag) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/swag)](https://goreportcard.com/report/github.com/go-openapi/swag) + +Contains a bunch of helper functions for go-openapi and go-swagger projects. + +You may also use it standalone for your projects. + +* convert between value and pointers for builtin types +* convert from string to builtin types (wraps strconv) +* fast json concatenation +* search in path +* load from file or http +* name mangling + + +This repo has only few dependencies outside of the standard library: + +* YAML utilities depend on `gopkg.in/yaml.v3` +* `github.com/mailru/easyjson v0.7.7` diff --git a/vendor/github.com/go-openapi/swag/convert.go b/vendor/github.com/go-openapi/swag/convert.go new file mode 100644 index 000000000..fc085aeb8 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/convert.go @@ -0,0 +1,208 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "math" + "strconv" + "strings" +) + +// same as ECMA Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER +const ( + maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 + minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 + epsilon float64 = 1e-9 +) + +// IsFloat64AJSONInteger allow for integers [-2^53, 2^53-1] inclusive +func IsFloat64AJSONInteger(f float64) bool { + if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { + return false + } + fa := math.Abs(f) + g := float64(uint64(f)) + ga := math.Abs(g) + + diff := math.Abs(f - g) + + // more info: https://floating-point-gui.de/errors/comparison/#look-out-for-edge-cases + switch { + case f == g: // best case + return true + case f == float64(int64(f)) || f == float64(uint64(f)): // optimistic case + return true + case f == 0 || g == 0 || diff < math.SmallestNonzeroFloat64: // very close to 0 values + return diff < (epsilon * math.SmallestNonzeroFloat64) + } + // check the relative error + return diff/math.Min(fa+ga, math.MaxFloat64) < epsilon +} + +var evaluatesAsTrue map[string]struct{} + +func init() { + evaluatesAsTrue = map[string]struct{}{ + "true": {}, + "1": {}, + "yes": {}, + "ok": {}, + "y": {}, + "on": {}, + "selected": {}, + "checked": {}, + "t": {}, + "enabled": {}, + } +} + +// ConvertBool turn a string into a boolean +func ConvertBool(str string) (bool, error) { + _, ok := evaluatesAsTrue[strings.ToLower(str)] + return ok, nil +} + +// ConvertFloat32 turn a string into a float32 +func ConvertFloat32(str string) (float32, error) { + f, err := strconv.ParseFloat(str, 32) + if err != nil { + return 0, err + } + return float32(f), nil +} + +// ConvertFloat64 turn a string into a float64 +func ConvertFloat64(str string) (float64, error) { + return strconv.ParseFloat(str, 64) +} + +// ConvertInt8 turn a string into an int8 +func ConvertInt8(str string) (int8, error) { + i, err := strconv.ParseInt(str, 10, 8) + if err != nil { + return 0, err + } + return int8(i), nil +} + +// ConvertInt16 turn a string into an int16 +func ConvertInt16(str string) (int16, error) { + i, err := strconv.ParseInt(str, 10, 16) + if err != nil { + return 0, err + } + return int16(i), nil +} + +// ConvertInt32 turn a string into an int32 +func ConvertInt32(str string) (int32, error) { + i, err := strconv.ParseInt(str, 10, 32) + if err != nil { + return 0, err + } + return int32(i), nil +} + +// ConvertInt64 turn a string into an int64 +func ConvertInt64(str string) (int64, error) { + return strconv.ParseInt(str, 10, 64) +} + +// ConvertUint8 turn a string into an uint8 +func ConvertUint8(str string) (uint8, error) { + i, err := strconv.ParseUint(str, 10, 8) + if err != nil { + return 0, err + } + return uint8(i), nil +} + +// ConvertUint16 turn a string into an uint16 +func ConvertUint16(str string) (uint16, error) { + i, err := strconv.ParseUint(str, 10, 16) + if err != nil { + return 0, err + } + return uint16(i), nil +} + +// ConvertUint32 turn a string into an uint32 +func ConvertUint32(str string) (uint32, error) { + i, err := strconv.ParseUint(str, 10, 32) + if err != nil { + return 0, err + } + return uint32(i), nil +} + +// ConvertUint64 turn a string into an uint64 +func ConvertUint64(str string) (uint64, error) { + return strconv.ParseUint(str, 10, 64) +} + +// FormatBool turns a boolean into a string +func FormatBool(value bool) string { + return strconv.FormatBool(value) +} + +// FormatFloat32 turns a float32 into a string +func FormatFloat32(value float32) string { + return strconv.FormatFloat(float64(value), 'f', -1, 32) +} + +// FormatFloat64 turns a float64 into a string +func FormatFloat64(value float64) string { + return strconv.FormatFloat(value, 'f', -1, 64) +} + +// FormatInt8 turns an int8 into a string +func FormatInt8(value int8) string { + return strconv.FormatInt(int64(value), 10) +} + +// FormatInt16 turns an int16 into a string +func FormatInt16(value int16) string { + return strconv.FormatInt(int64(value), 10) +} + +// FormatInt32 turns an int32 into a string +func FormatInt32(value int32) string { + return strconv.Itoa(int(value)) +} + +// FormatInt64 turns an int64 into a string +func FormatInt64(value int64) string { + return strconv.FormatInt(value, 10) +} + +// FormatUint8 turns an uint8 into a string +func FormatUint8(value uint8) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint16 turns an uint16 into a string +func FormatUint16(value uint16) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint32 turns an uint32 into a string +func FormatUint32(value uint32) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint64 turns an uint64 into a string +func FormatUint64(value uint64) string { + return strconv.FormatUint(value, 10) +} diff --git a/vendor/github.com/go-openapi/swag/convert_types.go b/vendor/github.com/go-openapi/swag/convert_types.go new file mode 100644 index 000000000..c49cc473a --- /dev/null +++ b/vendor/github.com/go-openapi/swag/convert_types.go @@ -0,0 +1,730 @@ +package swag + +import "time" + +// This file was taken from the aws go sdk + +// String returns a pointer to of the string value passed in. +func String(v string) *string { + return &v +} + +// StringValue returns the value of the string pointer passed in or +// "" if the pointer is nil. +func StringValue(v *string) string { + if v != nil { + return *v + } + return "" +} + +// StringSlice converts a slice of string values into a slice of +// string pointers +func StringSlice(src []string) []*string { + dst := make([]*string, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// StringValueSlice converts a slice of string pointers into a slice of +// string values +func StringValueSlice(src []*string) []string { + dst := make([]string, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// StringMap converts a string map of string values into a string +// map of string pointers +func StringMap(src map[string]string) map[string]*string { + dst := make(map[string]*string) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// StringValueMap converts a string map of string pointers into a string +// map of string values +func StringValueMap(src map[string]*string) map[string]string { + dst := make(map[string]string) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Bool returns a pointer to of the bool value passed in. +func Bool(v bool) *bool { + return &v +} + +// BoolValue returns the value of the bool pointer passed in or +// false if the pointer is nil. +func BoolValue(v *bool) bool { + if v != nil { + return *v + } + return false +} + +// BoolSlice converts a slice of bool values into a slice of +// bool pointers +func BoolSlice(src []bool) []*bool { + dst := make([]*bool, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// BoolValueSlice converts a slice of bool pointers into a slice of +// bool values +func BoolValueSlice(src []*bool) []bool { + dst := make([]bool, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// BoolMap converts a string map of bool values into a string +// map of bool pointers +func BoolMap(src map[string]bool) map[string]*bool { + dst := make(map[string]*bool) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// BoolValueMap converts a string map of bool pointers into a string +// map of bool values +func BoolValueMap(src map[string]*bool) map[string]bool { + dst := make(map[string]bool) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int returns a pointer to of the int value passed in. +func Int(v int) *int { + return &v +} + +// IntValue returns the value of the int pointer passed in or +// 0 if the pointer is nil. +func IntValue(v *int) int { + if v != nil { + return *v + } + return 0 +} + +// IntSlice converts a slice of int values into a slice of +// int pointers +func IntSlice(src []int) []*int { + dst := make([]*int, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// IntValueSlice converts a slice of int pointers into a slice of +// int values +func IntValueSlice(src []*int) []int { + dst := make([]int, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// IntMap converts a string map of int values into a string +// map of int pointers +func IntMap(src map[string]int) map[string]*int { + dst := make(map[string]*int) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// IntValueMap converts a string map of int pointers into a string +// map of int values +func IntValueMap(src map[string]*int) map[string]int { + dst := make(map[string]int) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int32 returns a pointer to of the int32 value passed in. +func Int32(v int32) *int32 { + return &v +} + +// Int32Value returns the value of the int32 pointer passed in or +// 0 if the pointer is nil. +func Int32Value(v *int32) int32 { + if v != nil { + return *v + } + return 0 +} + +// Int32Slice converts a slice of int32 values into a slice of +// int32 pointers +func Int32Slice(src []int32) []*int32 { + dst := make([]*int32, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Int32ValueSlice converts a slice of int32 pointers into a slice of +// int32 values +func Int32ValueSlice(src []*int32) []int32 { + dst := make([]int32, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Int32Map converts a string map of int32 values into a string +// map of int32 pointers +func Int32Map(src map[string]int32) map[string]*int32 { + dst := make(map[string]*int32) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Int32ValueMap converts a string map of int32 pointers into a string +// map of int32 values +func Int32ValueMap(src map[string]*int32) map[string]int32 { + dst := make(map[string]int32) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int64 returns a pointer to of the int64 value passed in. +func Int64(v int64) *int64 { + return &v +} + +// Int64Value returns the value of the int64 pointer passed in or +// 0 if the pointer is nil. +func Int64Value(v *int64) int64 { + if v != nil { + return *v + } + return 0 +} + +// Int64Slice converts a slice of int64 values into a slice of +// int64 pointers +func Int64Slice(src []int64) []*int64 { + dst := make([]*int64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Int64ValueSlice converts a slice of int64 pointers into a slice of +// int64 values +func Int64ValueSlice(src []*int64) []int64 { + dst := make([]int64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Int64Map converts a string map of int64 values into a string +// map of int64 pointers +func Int64Map(src map[string]int64) map[string]*int64 { + dst := make(map[string]*int64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Int64ValueMap converts a string map of int64 pointers into a string +// map of int64 values +func Int64ValueMap(src map[string]*int64) map[string]int64 { + dst := make(map[string]int64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint16 returns a pointer to of the uint16 value passed in. +func Uint16(v uint16) *uint16 { + return &v +} + +// Uint16Value returns the value of the uint16 pointer passed in or +// 0 if the pointer is nil. +func Uint16Value(v *uint16) uint16 { + if v != nil { + return *v + } + + return 0 +} + +// Uint16Slice converts a slice of uint16 values into a slice of +// uint16 pointers +func Uint16Slice(src []uint16) []*uint16 { + dst := make([]*uint16, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + + return dst +} + +// Uint16ValueSlice converts a slice of uint16 pointers into a slice of +// uint16 values +func Uint16ValueSlice(src []*uint16) []uint16 { + dst := make([]uint16, len(src)) + + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + + return dst +} + +// Uint16Map converts a string map of uint16 values into a string +// map of uint16 pointers +func Uint16Map(src map[string]uint16) map[string]*uint16 { + dst := make(map[string]*uint16) + + for k, val := range src { + v := val + dst[k] = &v + } + + return dst +} + +// Uint16ValueMap converts a string map of uint16 pointers into a string +// map of uint16 values +func Uint16ValueMap(src map[string]*uint16) map[string]uint16 { + dst := make(map[string]uint16) + + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + + return dst +} + +// Uint returns a pointer to of the uint value passed in. +func Uint(v uint) *uint { + return &v +} + +// UintValue returns the value of the uint pointer passed in or +// 0 if the pointer is nil. +func UintValue(v *uint) uint { + if v != nil { + return *v + } + return 0 +} + +// UintSlice converts a slice of uint values into a slice of +// uint pointers +func UintSlice(src []uint) []*uint { + dst := make([]*uint, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// UintValueSlice converts a slice of uint pointers into a slice of +// uint values +func UintValueSlice(src []*uint) []uint { + dst := make([]uint, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// UintMap converts a string map of uint values into a string +// map of uint pointers +func UintMap(src map[string]uint) map[string]*uint { + dst := make(map[string]*uint) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// UintValueMap converts a string map of uint pointers into a string +// map of uint values +func UintValueMap(src map[string]*uint) map[string]uint { + dst := make(map[string]uint) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint32 returns a pointer to of the uint32 value passed in. +func Uint32(v uint32) *uint32 { + return &v +} + +// Uint32Value returns the value of the uint32 pointer passed in or +// 0 if the pointer is nil. +func Uint32Value(v *uint32) uint32 { + if v != nil { + return *v + } + return 0 +} + +// Uint32Slice converts a slice of uint32 values into a slice of +// uint32 pointers +func Uint32Slice(src []uint32) []*uint32 { + dst := make([]*uint32, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Uint32ValueSlice converts a slice of uint32 pointers into a slice of +// uint32 values +func Uint32ValueSlice(src []*uint32) []uint32 { + dst := make([]uint32, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Uint32Map converts a string map of uint32 values into a string +// map of uint32 pointers +func Uint32Map(src map[string]uint32) map[string]*uint32 { + dst := make(map[string]*uint32) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Uint32ValueMap converts a string map of uint32 pointers into a string +// map of uint32 values +func Uint32ValueMap(src map[string]*uint32) map[string]uint32 { + dst := make(map[string]uint32) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint64 returns a pointer to of the uint64 value passed in. +func Uint64(v uint64) *uint64 { + return &v +} + +// Uint64Value returns the value of the uint64 pointer passed in or +// 0 if the pointer is nil. +func Uint64Value(v *uint64) uint64 { + if v != nil { + return *v + } + return 0 +} + +// Uint64Slice converts a slice of uint64 values into a slice of +// uint64 pointers +func Uint64Slice(src []uint64) []*uint64 { + dst := make([]*uint64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Uint64ValueSlice converts a slice of uint64 pointers into a slice of +// uint64 values +func Uint64ValueSlice(src []*uint64) []uint64 { + dst := make([]uint64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Uint64Map converts a string map of uint64 values into a string +// map of uint64 pointers +func Uint64Map(src map[string]uint64) map[string]*uint64 { + dst := make(map[string]*uint64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Uint64ValueMap converts a string map of uint64 pointers into a string +// map of uint64 values +func Uint64ValueMap(src map[string]*uint64) map[string]uint64 { + dst := make(map[string]uint64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Float32 returns a pointer to of the float32 value passed in. +func Float32(v float32) *float32 { + return &v +} + +// Float32Value returns the value of the float32 pointer passed in or +// 0 if the pointer is nil. +func Float32Value(v *float32) float32 { + if v != nil { + return *v + } + + return 0 +} + +// Float32Slice converts a slice of float32 values into a slice of +// float32 pointers +func Float32Slice(src []float32) []*float32 { + dst := make([]*float32, len(src)) + + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + + return dst +} + +// Float32ValueSlice converts a slice of float32 pointers into a slice of +// float32 values +func Float32ValueSlice(src []*float32) []float32 { + dst := make([]float32, len(src)) + + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + + return dst +} + +// Float32Map converts a string map of float32 values into a string +// map of float32 pointers +func Float32Map(src map[string]float32) map[string]*float32 { + dst := make(map[string]*float32) + + for k, val := range src { + v := val + dst[k] = &v + } + + return dst +} + +// Float32ValueMap converts a string map of float32 pointers into a string +// map of float32 values +func Float32ValueMap(src map[string]*float32) map[string]float32 { + dst := make(map[string]float32) + + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + + return dst +} + +// Float64 returns a pointer to of the float64 value passed in. +func Float64(v float64) *float64 { + return &v +} + +// Float64Value returns the value of the float64 pointer passed in or +// 0 if the pointer is nil. +func Float64Value(v *float64) float64 { + if v != nil { + return *v + } + return 0 +} + +// Float64Slice converts a slice of float64 values into a slice of +// float64 pointers +func Float64Slice(src []float64) []*float64 { + dst := make([]*float64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Float64ValueSlice converts a slice of float64 pointers into a slice of +// float64 values +func Float64ValueSlice(src []*float64) []float64 { + dst := make([]float64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Float64Map converts a string map of float64 values into a string +// map of float64 pointers +func Float64Map(src map[string]float64) map[string]*float64 { + dst := make(map[string]*float64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Float64ValueMap converts a string map of float64 pointers into a string +// map of float64 values +func Float64ValueMap(src map[string]*float64) map[string]float64 { + dst := make(map[string]float64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Time returns a pointer to of the time.Time value passed in. +func Time(v time.Time) *time.Time { + return &v +} + +// TimeValue returns the value of the time.Time pointer passed in or +// time.Time{} if the pointer is nil. +func TimeValue(v *time.Time) time.Time { + if v != nil { + return *v + } + return time.Time{} +} + +// TimeSlice converts a slice of time.Time values into a slice of +// time.Time pointers +func TimeSlice(src []time.Time) []*time.Time { + dst := make([]*time.Time, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// TimeValueSlice converts a slice of time.Time pointers into a slice of +// time.Time values +func TimeValueSlice(src []*time.Time) []time.Time { + dst := make([]time.Time, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// TimeMap converts a string map of time.Time values into a string +// map of time.Time pointers +func TimeMap(src map[string]time.Time) map[string]*time.Time { + dst := make(map[string]*time.Time) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// TimeValueMap converts a string map of time.Time pointers into a string +// map of time.Time values +func TimeValueMap(src map[string]*time.Time) map[string]time.Time { + dst := make(map[string]time.Time) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} diff --git a/vendor/github.com/go-openapi/swag/doc.go b/vendor/github.com/go-openapi/swag/doc.go new file mode 100644 index 000000000..55094cb74 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/doc.go @@ -0,0 +1,31 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* +Package swag contains a bunch of helper functions for go-openapi and go-swagger projects. + +You may also use it standalone for your projects. + + - convert between value and pointers for builtin types + - convert from string to builtin types (wraps strconv) + - fast json concatenation + - search in path + - load from file or http + - name mangling + +This repo has only few dependencies outside of the standard library: + + - YAML utilities depend on gopkg.in/yaml.v2 +*/ +package swag diff --git a/vendor/github.com/go-openapi/swag/errors.go b/vendor/github.com/go-openapi/swag/errors.go new file mode 100644 index 000000000..6c67fbf92 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/errors.go @@ -0,0 +1,15 @@ +package swag + +type swagError string + +const ( + // ErrYAML is an error raised by YAML utilities + ErrYAML swagError = "yaml error" + + // ErrLoader is an error raised by the file loader utility + ErrLoader swagError = "loader error" +) + +func (e swagError) Error() string { + return string(e) +} diff --git a/vendor/github.com/go-openapi/swag/file.go b/vendor/github.com/go-openapi/swag/file.go new file mode 100644 index 000000000..16accc55f --- /dev/null +++ b/vendor/github.com/go-openapi/swag/file.go @@ -0,0 +1,33 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import "mime/multipart" + +// File represents an uploaded file. +type File struct { + Data multipart.File + Header *multipart.FileHeader +} + +// Read bytes from the file +func (f *File) Read(p []byte) (n int, err error) { + return f.Data.Read(p) +} + +// Close the file +func (f *File) Close() error { + return f.Data.Close() +} diff --git a/vendor/github.com/go-openapi/swag/initialism_index.go b/vendor/github.com/go-openapi/swag/initialism_index.go new file mode 100644 index 000000000..20a359bb6 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/initialism_index.go @@ -0,0 +1,202 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "sort" + "strings" + "sync" +) + +var ( + // commonInitialisms are common acronyms that are kept as whole uppercased words. + commonInitialisms *indexOfInitialisms + + // initialisms is a slice of sorted initialisms + initialisms []string + + // a copy of initialisms pre-baked as []rune + initialismsRunes [][]rune + initialismsUpperCased [][]rune + + isInitialism func(string) bool + + maxAllocMatches int +) + +func init() { + // Taken from https://github.com/golang/lint/blob/3390df4df2787994aea98de825b964ac7944b817/lint.go#L732-L769 + configuredInitialisms := map[string]bool{ + "ACL": true, + "API": true, + "ASCII": true, + "CPU": true, + "CSS": true, + "DNS": true, + "EOF": true, + "GUID": true, + "HTML": true, + "HTTPS": true, + "HTTP": true, + "ID": true, + "IP": true, + "IPv4": true, + "IPv6": true, + "JSON": true, + "LHS": true, + "OAI": true, + "QPS": true, + "RAM": true, + "RHS": true, + "RPC": true, + "SLA": true, + "SMTP": true, + "SQL": true, + "SSH": true, + "TCP": true, + "TLS": true, + "TTL": true, + "UDP": true, + "UI": true, + "UID": true, + "UUID": true, + "URI": true, + "URL": true, + "UTF8": true, + "VM": true, + "XML": true, + "XMPP": true, + "XSRF": true, + "XSS": true, + } + + // a thread-safe index of initialisms + commonInitialisms = newIndexOfInitialisms().load(configuredInitialisms) + initialisms = commonInitialisms.sorted() + initialismsRunes = asRunes(initialisms) + initialismsUpperCased = asUpperCased(initialisms) + maxAllocMatches = maxAllocHeuristic(initialismsRunes) + + // a test function + isInitialism = commonInitialisms.isInitialism +} + +func asRunes(in []string) [][]rune { + out := make([][]rune, len(in)) + for i, initialism := range in { + out[i] = []rune(initialism) + } + + return out +} + +func asUpperCased(in []string) [][]rune { + out := make([][]rune, len(in)) + + for i, initialism := range in { + out[i] = []rune(upper(trim(initialism))) + } + + return out +} + +func maxAllocHeuristic(in [][]rune) int { + heuristic := make(map[rune]int) + for _, initialism := range in { + heuristic[initialism[0]]++ + } + + var maxAlloc int + for _, val := range heuristic { + if val > maxAlloc { + maxAlloc = val + } + } + + return maxAlloc +} + +// AddInitialisms add additional initialisms +func AddInitialisms(words ...string) { + for _, word := range words { + // commonInitialisms[upper(word)] = true + commonInitialisms.add(upper(word)) + } + // sort again + initialisms = commonInitialisms.sorted() + initialismsRunes = asRunes(initialisms) + initialismsUpperCased = asUpperCased(initialisms) +} + +// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms. +// Since go1.9, this may be implemented with sync.Map. +type indexOfInitialisms struct { + sortMutex *sync.Mutex + index *sync.Map +} + +func newIndexOfInitialisms() *indexOfInitialisms { + return &indexOfInitialisms{ + sortMutex: new(sync.Mutex), + index: new(sync.Map), + } +} + +func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms { + m.sortMutex.Lock() + defer m.sortMutex.Unlock() + for k, v := range initial { + m.index.Store(k, v) + } + return m +} + +func (m *indexOfInitialisms) isInitialism(key string) bool { + _, ok := m.index.Load(key) + return ok +} + +func (m *indexOfInitialisms) add(key string) *indexOfInitialisms { + m.index.Store(key, true) + return m +} + +func (m *indexOfInitialisms) sorted() (result []string) { + m.sortMutex.Lock() + defer m.sortMutex.Unlock() + m.index.Range(func(key, _ interface{}) bool { + k := key.(string) + result = append(result, k) + return true + }) + sort.Sort(sort.Reverse(byInitialism(result))) + return +} + +type byInitialism []string + +func (s byInitialism) Len() int { + return len(s) +} +func (s byInitialism) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} +func (s byInitialism) Less(i, j int) bool { + if len(s[i]) != len(s[j]) { + return len(s[i]) < len(s[j]) + } + + return strings.Compare(s[i], s[j]) > 0 +} diff --git a/vendor/github.com/go-openapi/swag/json.go b/vendor/github.com/go-openapi/swag/json.go new file mode 100644 index 000000000..c7caa9908 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/json.go @@ -0,0 +1,313 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "bytes" + "encoding/json" + "log" + "reflect" + "strings" + "sync" + + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" +) + +// nullJSON represents a JSON object with null type +var nullJSON = []byte("null") + +// DefaultJSONNameProvider the default cache for types +var DefaultJSONNameProvider = NewNameProvider() + +const comma = byte(',') + +var closers map[byte]byte + +func init() { + closers = map[byte]byte{ + '{': '}', + '[': ']', + } +} + +type ejMarshaler interface { + MarshalEasyJSON(w *jwriter.Writer) +} + +type ejUnmarshaler interface { + UnmarshalEasyJSON(w *jlexer.Lexer) +} + +// WriteJSON writes json data, prefers finding an appropriate interface to short-circuit the marshaler +// so it takes the fastest option available. +func WriteJSON(data interface{}) ([]byte, error) { + if d, ok := data.(ejMarshaler); ok { + jw := new(jwriter.Writer) + d.MarshalEasyJSON(jw) + return jw.BuildBytes() + } + if d, ok := data.(json.Marshaler); ok { + return d.MarshalJSON() + } + return json.Marshal(data) +} + +// ReadJSON reads json data, prefers finding an appropriate interface to short-circuit the unmarshaler +// so it takes the fastest option available +func ReadJSON(data []byte, value interface{}) error { + trimmedData := bytes.Trim(data, "\x00") + if d, ok := value.(ejUnmarshaler); ok { + jl := &jlexer.Lexer{Data: trimmedData} + d.UnmarshalEasyJSON(jl) + return jl.Error() + } + if d, ok := value.(json.Unmarshaler); ok { + return d.UnmarshalJSON(trimmedData) + } + return json.Unmarshal(trimmedData, value) +} + +// DynamicJSONToStruct converts an untyped json structure into a struct +func DynamicJSONToStruct(data interface{}, target interface{}) error { + // TODO: convert straight to a json typed map (mergo + iterate?) + b, err := WriteJSON(data) + if err != nil { + return err + } + return ReadJSON(b, target) +} + +// ConcatJSON concatenates multiple json objects efficiently +func ConcatJSON(blobs ...[]byte) []byte { + if len(blobs) == 0 { + return nil + } + + last := len(blobs) - 1 + for blobs[last] == nil || bytes.Equal(blobs[last], nullJSON) { + // strips trailing null objects + last-- + if last < 0 { + // there was nothing but "null"s or nil... + return nil + } + } + if last == 0 { + return blobs[0] + } + + var opening, closing byte + var idx, a int + buf := bytes.NewBuffer(nil) + + for i, b := range blobs[:last+1] { + if b == nil || bytes.Equal(b, nullJSON) { + // a null object is in the list: skip it + continue + } + if len(b) > 0 && opening == 0 { // is this an array or an object? + opening, closing = b[0], closers[b[0]] + } + + if opening != '{' && opening != '[' { + continue // don't know how to concatenate non container objects + } + + const minLengthIfNotEmpty = 3 + if len(b) < minLengthIfNotEmpty { // yep empty but also the last one, so closing this thing + if i == last && a > 0 { + if err := buf.WriteByte(closing); err != nil { + log.Println(err) + } + } + continue + } + + idx = 0 + if a > 0 { // we need to join with a comma for everything beyond the first non-empty item + if err := buf.WriteByte(comma); err != nil { + log.Println(err) + } + idx = 1 // this is not the first or the last so we want to drop the leading bracket + } + + if i != last { // not the last one, strip brackets + if _, err := buf.Write(b[idx : len(b)-1]); err != nil { + log.Println(err) + } + } else { // last one, strip only the leading bracket + if _, err := buf.Write(b[idx:]); err != nil { + log.Println(err) + } + } + a++ + } + // somehow it ended up being empty, so provide a default value + if buf.Len() == 0 { + if err := buf.WriteByte(opening); err != nil { + log.Println(err) + } + if err := buf.WriteByte(closing); err != nil { + log.Println(err) + } + } + return buf.Bytes() +} + +// ToDynamicJSON turns an object into a properly JSON typed structure +func ToDynamicJSON(data interface{}) interface{} { + // TODO: convert straight to a json typed map (mergo + iterate?) + b, err := json.Marshal(data) + if err != nil { + log.Println(err) + } + var res interface{} + if err := json.Unmarshal(b, &res); err != nil { + log.Println(err) + } + return res +} + +// FromDynamicJSON turns an object into a properly JSON typed structure +func FromDynamicJSON(data, target interface{}) error { + b, err := json.Marshal(data) + if err != nil { + log.Println(err) + } + return json.Unmarshal(b, target) +} + +// NameProvider represents an object capable of translating from go property names +// to json property names +// This type is thread-safe. +type NameProvider struct { + lock *sync.Mutex + index map[reflect.Type]nameIndex +} + +type nameIndex struct { + jsonNames map[string]string + goNames map[string]string +} + +// NewNameProvider creates a new name provider +func NewNameProvider() *NameProvider { + return &NameProvider{ + lock: &sync.Mutex{}, + index: make(map[reflect.Type]nameIndex), + } +} + +func buildnameIndex(tpe reflect.Type, idx, reverseIdx map[string]string) { + for i := 0; i < tpe.NumField(); i++ { + targetDes := tpe.Field(i) + + if targetDes.PkgPath != "" { // unexported + continue + } + + if targetDes.Anonymous { // walk embedded structures tree down first + buildnameIndex(targetDes.Type, idx, reverseIdx) + continue + } + + if tag := targetDes.Tag.Get("json"); tag != "" { + + parts := strings.Split(tag, ",") + if len(parts) == 0 { + continue + } + + nm := parts[0] + if nm == "-" { + continue + } + if nm == "" { // empty string means we want to use the Go name + nm = targetDes.Name + } + + idx[nm] = targetDes.Name + reverseIdx[targetDes.Name] = nm + } + } +} + +func newNameIndex(tpe reflect.Type) nameIndex { + var idx = make(map[string]string, tpe.NumField()) + var reverseIdx = make(map[string]string, tpe.NumField()) + + buildnameIndex(tpe, idx, reverseIdx) + return nameIndex{jsonNames: idx, goNames: reverseIdx} +} + +// GetJSONNames gets all the json property names for a type +func (n *NameProvider) GetJSONNames(subject interface{}) []string { + n.lock.Lock() + defer n.lock.Unlock() + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + + res := make([]string, 0, len(names.jsonNames)) + for k := range names.jsonNames { + res = append(res, k) + } + return res +} + +// GetJSONName gets the json name for a go property name +func (n *NameProvider) GetJSONName(subject interface{}, name string) (string, bool) { + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + return n.GetJSONNameForType(tpe, name) +} + +// GetJSONNameForType gets the json name for a go property name on a given type +func (n *NameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool) { + n.lock.Lock() + defer n.lock.Unlock() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + nme, ok := names.goNames[name] + return nme, ok +} + +func (n *NameProvider) makeNameIndex(tpe reflect.Type) nameIndex { + names := newNameIndex(tpe) + n.index[tpe] = names + return names +} + +// GetGoName gets the go name for a json property name +func (n *NameProvider) GetGoName(subject interface{}, name string) (string, bool) { + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + return n.GetGoNameForType(tpe, name) +} + +// GetGoNameForType gets the go name for a given type for a json property name +func (n *NameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool) { + n.lock.Lock() + defer n.lock.Unlock() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + nme, ok := names.jsonNames[name] + return nme, ok +} diff --git a/vendor/github.com/go-openapi/swag/loading.go b/vendor/github.com/go-openapi/swag/loading.go new file mode 100644 index 000000000..658a24b78 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading.go @@ -0,0 +1,176 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "fmt" + "io" + "log" + "net/http" + "net/url" + "os" + "path" + "path/filepath" + "runtime" + "strings" + "time" +) + +// LoadHTTPTimeout the default timeout for load requests +var LoadHTTPTimeout = 30 * time.Second + +// LoadHTTPBasicAuthUsername the username to use when load requests require basic auth +var LoadHTTPBasicAuthUsername = "" + +// LoadHTTPBasicAuthPassword the password to use when load requests require basic auth +var LoadHTTPBasicAuthPassword = "" + +// LoadHTTPCustomHeaders an optional collection of custom HTTP headers for load requests +var LoadHTTPCustomHeaders = map[string]string{} + +// LoadFromFileOrHTTP loads the bytes from a file or a remote http server based on the path passed in +func LoadFromFileOrHTTP(pth string) ([]byte, error) { + return LoadStrategy(pth, os.ReadFile, loadHTTPBytes(LoadHTTPTimeout))(pth) +} + +// LoadFromFileOrHTTPWithTimeout loads the bytes from a file or a remote http server based on the path passed in +// timeout arg allows for per request overriding of the request timeout +func LoadFromFileOrHTTPWithTimeout(pth string, timeout time.Duration) ([]byte, error) { + return LoadStrategy(pth, os.ReadFile, loadHTTPBytes(timeout))(pth) +} + +// LoadStrategy returns a loader function for a given path or URI. +// +// The load strategy returns the remote load for any path starting with `http`. +// So this works for any URI with a scheme `http` or `https`. +// +// The fallback strategy is to call the local loader. +// +// The local loader takes a local file system path (absolute or relative) as argument, +// or alternatively a `file://...` URI, **without host** (see also below for windows). +// +// There are a few liberalities, initially intended to be tolerant regarding the URI syntax, +// especially on windows. +// +// Before the local loader is called, the given path is transformed: +// - percent-encoded characters are unescaped +// - simple paths (e.g. `./folder/file`) are passed as-is +// - on windows, occurrences of `/` are replaced by `\`, so providing a relative path such a `folder/file` works too. +// +// For paths provided as URIs with the "file" scheme, please note that: +// - `file://` is simply stripped. +// This means that the host part of the URI is not parsed at all. +// For example, `file:///folder/file" becomes "/folder/file`, +// but `file://localhost/folder/file` becomes `localhost/folder/file` on unix systems. +// Similarly, `file://./folder/file` yields `./folder/file`. +// - on windows, `file://...` can take a host so as to specify an UNC share location. +// +// Reminder about windows-specifics: +// - `file://host/folder/file` becomes an UNC path like `\\host\folder\file` (no port specification is supported) +// - `file:///c:/folder/file` becomes `C:\folder\file` +// - `file://c:/folder/file` is tolerated (without leading `/`) and becomes `c:\folder\file` +func LoadStrategy(pth string, local, remote func(string) ([]byte, error)) func(string) ([]byte, error) { + if strings.HasPrefix(pth, "http") { + return remote + } + + return func(p string) ([]byte, error) { + upth, err := url.PathUnescape(p) + if err != nil { + return nil, err + } + + if !strings.HasPrefix(p, `file://`) { + // regular file path provided: just normalize slashes + return local(filepath.FromSlash(upth)) + } + + if runtime.GOOS != "windows" { + // crude processing: this leaves full URIs with a host with a (mostly) unexpected result + upth = strings.TrimPrefix(upth, `file://`) + + return local(filepath.FromSlash(upth)) + } + + // windows-only pre-processing of file://... URIs + + // support for canonical file URIs on windows. + u, err := url.Parse(filepath.ToSlash(upth)) + if err != nil { + return nil, err + } + + if u.Host != "" { + // assume UNC name (volume share) + // NOTE: UNC port not yet supported + + // when the "host" segment is a drive letter: + // file://C:/folder/... => C:\folder + upth = path.Clean(strings.Join([]string{u.Host, u.Path}, `/`)) + if !strings.HasSuffix(u.Host, ":") && u.Host[0] != '.' { + // tolerance: if we have a leading dot, this can't be a host + // file://host/share/folder\... ==> \\host\share\path\folder + upth = "//" + upth + } + } else { + // no host, let's figure out if this is a drive letter + upth = strings.TrimPrefix(upth, `file://`) + first, _, _ := strings.Cut(strings.TrimPrefix(u.Path, "/"), "/") + if strings.HasSuffix(first, ":") { + // drive letter in the first segment: + // file:///c:/folder/... ==> strip the leading slash + upth = strings.TrimPrefix(upth, `/`) + } + } + + return local(filepath.FromSlash(upth)) + } +} + +func loadHTTPBytes(timeout time.Duration) func(path string) ([]byte, error) { + return func(path string) ([]byte, error) { + client := &http.Client{Timeout: timeout} + req, err := http.NewRequest(http.MethodGet, path, nil) //nolint:noctx + if err != nil { + return nil, err + } + + if LoadHTTPBasicAuthUsername != "" && LoadHTTPBasicAuthPassword != "" { + req.SetBasicAuth(LoadHTTPBasicAuthUsername, LoadHTTPBasicAuthPassword) + } + + for key, val := range LoadHTTPCustomHeaders { + req.Header.Set(key, val) + } + + resp, err := client.Do(req) + defer func() { + if resp != nil { + if e := resp.Body.Close(); e != nil { + log.Println(e) + } + } + }() + if err != nil { + return nil, err + } + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("could not access document at %q [%s]: %w", path, resp.Status, ErrLoader) + } + + return io.ReadAll(resp.Body) + } +} diff --git a/vendor/github.com/go-openapi/swag/name_lexem.go b/vendor/github.com/go-openapi/swag/name_lexem.go new file mode 100644 index 000000000..8bb64ac32 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/name_lexem.go @@ -0,0 +1,93 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "unicode" + "unicode/utf8" +) + +type ( + lexemKind uint8 + + nameLexem struct { + original string + matchedInitialism string + kind lexemKind + } +) + +const ( + lexemKindCasualName lexemKind = iota + lexemKindInitialismName +) + +func newInitialismNameLexem(original, matchedInitialism string) nameLexem { + return nameLexem{ + kind: lexemKindInitialismName, + original: original, + matchedInitialism: matchedInitialism, + } +} + +func newCasualNameLexem(original string) nameLexem { + return nameLexem{ + kind: lexemKindCasualName, + original: original, + } +} + +func (l nameLexem) GetUnsafeGoName() string { + if l.kind == lexemKindInitialismName { + return l.matchedInitialism + } + + var ( + first rune + rest string + ) + + for i, orig := range l.original { + if i == 0 { + first = orig + continue + } + + if i > 0 { + rest = l.original[i:] + break + } + } + + if len(l.original) > 1 { + b := poolOfBuffers.BorrowBuffer(utf8.UTFMax + len(rest)) + defer func() { + poolOfBuffers.RedeemBuffer(b) + }() + b.WriteRune(unicode.ToUpper(first)) + b.WriteString(lower(rest)) + return b.String() + } + + return l.original +} + +func (l nameLexem) GetOriginal() string { + return l.original +} + +func (l nameLexem) IsInitialism() bool { + return l.kind == lexemKindInitialismName +} diff --git a/vendor/github.com/go-openapi/swag/net.go b/vendor/github.com/go-openapi/swag/net.go new file mode 100644 index 000000000..821235f84 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/net.go @@ -0,0 +1,38 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "net" + "strconv" +) + +// SplitHostPort splits a network address into a host and a port. +// The port is -1 when there is no port to be found +func SplitHostPort(addr string) (host string, port int, err error) { + h, p, err := net.SplitHostPort(addr) + if err != nil { + return "", -1, err + } + if p == "" { + return "", -1, &net.AddrError{Err: "missing port in address", Addr: addr} + } + + pi, err := strconv.Atoi(p) + if err != nil { + return "", -1, err + } + return h, pi, nil +} diff --git a/vendor/github.com/go-openapi/swag/path.go b/vendor/github.com/go-openapi/swag/path.go new file mode 100644 index 000000000..941bd0176 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/path.go @@ -0,0 +1,59 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "os" + "path/filepath" + "runtime" + "strings" +) + +const ( + // GOPATHKey represents the env key for gopath + GOPATHKey = "GOPATH" +) + +// FindInSearchPath finds a package in a provided lists of paths +func FindInSearchPath(searchPath, pkg string) string { + pathsList := filepath.SplitList(searchPath) + for _, path := range pathsList { + if evaluatedPath, err := filepath.EvalSymlinks(filepath.Join(path, "src", pkg)); err == nil { + if _, err := os.Stat(evaluatedPath); err == nil { + return evaluatedPath + } + } + } + return "" +} + +// FindInGoSearchPath finds a package in the $GOPATH:$GOROOT +func FindInGoSearchPath(pkg string) string { + return FindInSearchPath(FullGoSearchPath(), pkg) +} + +// FullGoSearchPath gets the search paths for finding packages +func FullGoSearchPath() string { + allPaths := os.Getenv(GOPATHKey) + if allPaths == "" { + allPaths = filepath.Join(os.Getenv("HOME"), "go") + } + if allPaths != "" { + allPaths = strings.Join([]string{allPaths, runtime.GOROOT()}, ":") + } else { + allPaths = runtime.GOROOT() + } + return allPaths +} diff --git a/vendor/github.com/go-openapi/swag/split.go b/vendor/github.com/go-openapi/swag/split.go new file mode 100644 index 000000000..274727a86 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/split.go @@ -0,0 +1,508 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "bytes" + "sync" + "unicode" + "unicode/utf8" +) + +type ( + splitter struct { + initialisms []string + initialismsRunes [][]rune + initialismsUpperCased [][]rune // initialisms cached in their trimmed, upper-cased version + postSplitInitialismCheck bool + } + + splitterOption func(*splitter) + + initialismMatch struct { + body []rune + start, end int + complete bool + } + initialismMatches []initialismMatch +) + +type ( + // memory pools of temporary objects. + // + // These are used to recycle temporarily allocated objects + // and relieve the GC from undue pressure. + + matchesPool struct { + *sync.Pool + } + + buffersPool struct { + *sync.Pool + } + + lexemsPool struct { + *sync.Pool + } + + splittersPool struct { + *sync.Pool + } +) + +var ( + // poolOfMatches holds temporary slices for recycling during the initialism match process + poolOfMatches = matchesPool{ + Pool: &sync.Pool{ + New: func() any { + s := make(initialismMatches, 0, maxAllocMatches) + + return &s + }, + }, + } + + poolOfBuffers = buffersPool{ + Pool: &sync.Pool{ + New: func() any { + return new(bytes.Buffer) + }, + }, + } + + poolOfLexems = lexemsPool{ + Pool: &sync.Pool{ + New: func() any { + s := make([]nameLexem, 0, maxAllocMatches) + + return &s + }, + }, + } + + poolOfSplitters = splittersPool{ + Pool: &sync.Pool{ + New: func() any { + s := newSplitter() + + return &s + }, + }, + } +) + +// nameReplaceTable finds a word representation for special characters. +func nameReplaceTable(r rune) (string, bool) { + switch r { + case '@': + return "At ", true + case '&': + return "And ", true + case '|': + return "Pipe ", true + case '$': + return "Dollar ", true + case '!': + return "Bang ", true + case '-': + return "", true + case '_': + return "", true + default: + return "", false + } +} + +// split calls the splitter. +// +// Use newSplitter for more control and options +func split(str string) []string { + s := poolOfSplitters.BorrowSplitter() + lexems := s.split(str) + result := make([]string, 0, len(*lexems)) + + for _, lexem := range *lexems { + result = append(result, lexem.GetOriginal()) + } + poolOfLexems.RedeemLexems(lexems) + poolOfSplitters.RedeemSplitter(s) + + return result + +} + +func newSplitter(options ...splitterOption) splitter { + s := splitter{ + postSplitInitialismCheck: false, + initialisms: initialisms, + initialismsRunes: initialismsRunes, + initialismsUpperCased: initialismsUpperCased, + } + + for _, option := range options { + option(&s) + } + + return s +} + +// withPostSplitInitialismCheck allows to catch initialisms after main split process +func withPostSplitInitialismCheck(s *splitter) { + s.postSplitInitialismCheck = true +} + +func (p matchesPool) BorrowMatches() *initialismMatches { + s := p.Get().(*initialismMatches) + *s = (*s)[:0] // reset slice, keep allocated capacity + + return s +} + +func (p buffersPool) BorrowBuffer(size int) *bytes.Buffer { + s := p.Get().(*bytes.Buffer) + s.Reset() + + if s.Cap() < size { + s.Grow(size) + } + + return s +} + +func (p lexemsPool) BorrowLexems() *[]nameLexem { + s := p.Get().(*[]nameLexem) + *s = (*s)[:0] // reset slice, keep allocated capacity + + return s +} + +func (p splittersPool) BorrowSplitter(options ...splitterOption) *splitter { + s := p.Get().(*splitter) + s.postSplitInitialismCheck = false // reset options + for _, apply := range options { + apply(s) + } + + return s +} + +func (p matchesPool) RedeemMatches(s *initialismMatches) { + p.Put(s) +} + +func (p buffersPool) RedeemBuffer(s *bytes.Buffer) { + p.Put(s) +} + +func (p lexemsPool) RedeemLexems(s *[]nameLexem) { + p.Put(s) +} + +func (p splittersPool) RedeemSplitter(s *splitter) { + p.Put(s) +} + +func (m initialismMatch) isZero() bool { + return m.start == 0 && m.end == 0 +} + +func (s splitter) split(name string) *[]nameLexem { + nameRunes := []rune(name) + matches := s.gatherInitialismMatches(nameRunes) + if matches == nil { + return poolOfLexems.BorrowLexems() + } + + return s.mapMatchesToNameLexems(nameRunes, matches) +} + +func (s splitter) gatherInitialismMatches(nameRunes []rune) *initialismMatches { + var matches *initialismMatches + + for currentRunePosition, currentRune := range nameRunes { + // recycle these allocations as we loop over runes + // with such recycling, only 2 slices should be allocated per call + // instead of o(n). + newMatches := poolOfMatches.BorrowMatches() + + // check current initialism matches + if matches != nil { // skip first iteration + for _, match := range *matches { + if keepCompleteMatch := match.complete; keepCompleteMatch { + *newMatches = append(*newMatches, match) + continue + } + + // drop failed match + currentMatchRune := match.body[currentRunePosition-match.start] + if currentMatchRune != currentRune { + continue + } + + // try to complete ongoing match + if currentRunePosition-match.start == len(match.body)-1 { + // we are close; the next step is to check the symbol ahead + // if it is a small letter, then it is not the end of match + // but beginning of the next word + + if currentRunePosition < len(nameRunes)-1 { + nextRune := nameRunes[currentRunePosition+1] + if newWord := unicode.IsLower(nextRune); newWord { + // oh ok, it was the start of a new word + continue + } + } + + match.complete = true + match.end = currentRunePosition + } + + *newMatches = append(*newMatches, match) + } + } + + // check for new initialism matches + for i := range s.initialisms { + initialismRunes := s.initialismsRunes[i] + if initialismRunes[0] == currentRune { + *newMatches = append(*newMatches, initialismMatch{ + start: currentRunePosition, + body: initialismRunes, + complete: false, + }) + } + } + + if matches != nil { + poolOfMatches.RedeemMatches(matches) + } + matches = newMatches + } + + // up to the caller to redeem this last slice + return matches +} + +func (s splitter) mapMatchesToNameLexems(nameRunes []rune, matches *initialismMatches) *[]nameLexem { + nameLexems := poolOfLexems.BorrowLexems() + + var lastAcceptedMatch initialismMatch + for _, match := range *matches { + if !match.complete { + continue + } + + if firstMatch := lastAcceptedMatch.isZero(); firstMatch { + s.appendBrokenDownCasualString(nameLexems, nameRunes[:match.start]) + *nameLexems = append(*nameLexems, s.breakInitialism(string(match.body))) + + lastAcceptedMatch = match + + continue + } + + if overlappedMatch := match.start <= lastAcceptedMatch.end; overlappedMatch { + continue + } + + middle := nameRunes[lastAcceptedMatch.end+1 : match.start] + s.appendBrokenDownCasualString(nameLexems, middle) + *nameLexems = append(*nameLexems, s.breakInitialism(string(match.body))) + + lastAcceptedMatch = match + } + + // we have not found any accepted matches + if lastAcceptedMatch.isZero() { + *nameLexems = (*nameLexems)[:0] + s.appendBrokenDownCasualString(nameLexems, nameRunes) + } else if lastAcceptedMatch.end+1 != len(nameRunes) { + rest := nameRunes[lastAcceptedMatch.end+1:] + s.appendBrokenDownCasualString(nameLexems, rest) + } + + poolOfMatches.RedeemMatches(matches) + + return nameLexems +} + +func (s splitter) breakInitialism(original string) nameLexem { + return newInitialismNameLexem(original, original) +} + +func (s splitter) appendBrokenDownCasualString(segments *[]nameLexem, str []rune) { + currentSegment := poolOfBuffers.BorrowBuffer(len(str)) // unlike strings.Builder, bytes.Buffer initial storage can reused + defer func() { + poolOfBuffers.RedeemBuffer(currentSegment) + }() + + addCasualNameLexem := func(original string) { + *segments = append(*segments, newCasualNameLexem(original)) + } + + addInitialismNameLexem := func(original, match string) { + *segments = append(*segments, newInitialismNameLexem(original, match)) + } + + var addNameLexem func(string) + if s.postSplitInitialismCheck { + addNameLexem = func(original string) { + for i := range s.initialisms { + if isEqualFoldIgnoreSpace(s.initialismsUpperCased[i], original) { + addInitialismNameLexem(original, s.initialisms[i]) + + return + } + } + + addCasualNameLexem(original) + } + } else { + addNameLexem = addCasualNameLexem + } + + for _, rn := range str { + if replace, found := nameReplaceTable(rn); found { + if currentSegment.Len() > 0 { + addNameLexem(currentSegment.String()) + currentSegment.Reset() + } + + if replace != "" { + addNameLexem(replace) + } + + continue + } + + if !unicode.In(rn, unicode.L, unicode.M, unicode.N, unicode.Pc) { + if currentSegment.Len() > 0 { + addNameLexem(currentSegment.String()) + currentSegment.Reset() + } + + continue + } + + if unicode.IsUpper(rn) { + if currentSegment.Len() > 0 { + addNameLexem(currentSegment.String()) + } + currentSegment.Reset() + } + + currentSegment.WriteRune(rn) + } + + if currentSegment.Len() > 0 { + addNameLexem(currentSegment.String()) + } +} + +// isEqualFoldIgnoreSpace is the same as strings.EqualFold, but +// it ignores leading and trailing blank spaces in the compared +// string. +// +// base is assumed to be composed of upper-cased runes, and be already +// trimmed. +// +// This code is heavily inspired from strings.EqualFold. +func isEqualFoldIgnoreSpace(base []rune, str string) bool { + var i, baseIndex int + // equivalent to b := []byte(str), but without data copy + b := hackStringBytes(str) + + for i < len(b) { + if c := b[i]; c < utf8.RuneSelf { + // fast path for ASCII + if c != ' ' && c != '\t' { + break + } + i++ + + continue + } + + // unicode case + r, size := utf8.DecodeRune(b[i:]) + if !unicode.IsSpace(r) { + break + } + i += size + } + + if i >= len(b) { + return len(base) == 0 + } + + for _, baseRune := range base { + if i >= len(b) { + break + } + + if c := b[i]; c < utf8.RuneSelf { + // single byte rune case (ASCII) + if baseRune >= utf8.RuneSelf { + return false + } + + baseChar := byte(baseRune) + if c != baseChar && + !('a' <= c && c <= 'z' && c-'a'+'A' == baseChar) { + return false + } + + baseIndex++ + i++ + + continue + } + + // unicode case + r, size := utf8.DecodeRune(b[i:]) + if unicode.ToUpper(r) != baseRune { + return false + } + baseIndex++ + i += size + } + + if baseIndex != len(base) { + return false + } + + // all passed: now we should only have blanks + for i < len(b) { + if c := b[i]; c < utf8.RuneSelf { + // fast path for ASCII + if c != ' ' && c != '\t' { + return false + } + i++ + + continue + } + + // unicode case + r, size := utf8.DecodeRune(b[i:]) + if !unicode.IsSpace(r) { + return false + } + + i += size + } + + return true +} diff --git a/vendor/github.com/go-openapi/swag/string_bytes.go b/vendor/github.com/go-openapi/swag/string_bytes.go new file mode 100644 index 000000000..90745d5ca --- /dev/null +++ b/vendor/github.com/go-openapi/swag/string_bytes.go @@ -0,0 +1,8 @@ +package swag + +import "unsafe" + +// hackStringBytes returns the (unsafe) underlying bytes slice of a string. +func hackStringBytes(str string) []byte { + return unsafe.Slice(unsafe.StringData(str), len(str)) +} diff --git a/vendor/github.com/go-openapi/swag/util.go b/vendor/github.com/go-openapi/swag/util.go new file mode 100644 index 000000000..5051401c4 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/util.go @@ -0,0 +1,364 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "reflect" + "strings" + "unicode" + "unicode/utf8" +) + +// GoNamePrefixFunc sets an optional rule to prefix go names +// which do not start with a letter. +// +// The prefix function is assumed to return a string that starts with an upper case letter. +// +// e.g. to help convert "123" into "{prefix}123" +// +// The default is to prefix with "X" +var GoNamePrefixFunc func(string) string + +func prefixFunc(name, in string) string { + if GoNamePrefixFunc == nil { + return "X" + in + } + + return GoNamePrefixFunc(name) + in +} + +const ( + // collectionFormatComma = "csv" + collectionFormatSpace = "ssv" + collectionFormatTab = "tsv" + collectionFormatPipe = "pipes" + collectionFormatMulti = "multi" +) + +// JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute): +// +// ssv: space separated value +// tsv: tab separated value +// pipes: pipe (|) separated value +// csv: comma separated value (default) +func JoinByFormat(data []string, format string) []string { + if len(data) == 0 { + return data + } + var sep string + switch format { + case collectionFormatSpace: + sep = " " + case collectionFormatTab: + sep = "\t" + case collectionFormatPipe: + sep = "|" + case collectionFormatMulti: + return data + default: + sep = "," + } + return []string{strings.Join(data, sep)} +} + +// SplitByFormat splits a string by a known format: +// +// ssv: space separated value +// tsv: tab separated value +// pipes: pipe (|) separated value +// csv: comma separated value (default) +func SplitByFormat(data, format string) []string { + if data == "" { + return nil + } + var sep string + switch format { + case collectionFormatSpace: + sep = " " + case collectionFormatTab: + sep = "\t" + case collectionFormatPipe: + sep = "|" + case collectionFormatMulti: + return nil + default: + sep = "," + } + var result []string + for _, s := range strings.Split(data, sep) { + if ts := strings.TrimSpace(s); ts != "" { + result = append(result, ts) + } + } + return result +} + +// Removes leading whitespaces +func trim(str string) string { + return strings.TrimSpace(str) +} + +// Shortcut to strings.ToUpper() +func upper(str string) string { + return strings.ToUpper(trim(str)) +} + +// Shortcut to strings.ToLower() +func lower(str string) string { + return strings.ToLower(trim(str)) +} + +// Camelize an uppercased word +func Camelize(word string) string { + camelized := poolOfBuffers.BorrowBuffer(len(word)) + defer func() { + poolOfBuffers.RedeemBuffer(camelized) + }() + + for pos, ru := range []rune(word) { + if pos > 0 { + camelized.WriteRune(unicode.ToLower(ru)) + } else { + camelized.WriteRune(unicode.ToUpper(ru)) + } + } + return camelized.String() +} + +// ToFileName lowercases and underscores a go type name +func ToFileName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for _, w := range in { + out = append(out, lower(w)) + } + + return strings.Join(out, "_") +} + +// ToCommandName lowercases and underscores a go type name +func ToCommandName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for _, w := range in { + out = append(out, lower(w)) + } + return strings.Join(out, "-") +} + +// ToHumanNameLower represents a code name as a human series of words +func ToHumanNameLower(name string) string { + s := poolOfSplitters.BorrowSplitter(withPostSplitInitialismCheck) + in := s.split(name) + poolOfSplitters.RedeemSplitter(s) + out := make([]string, 0, len(*in)) + + for _, w := range *in { + if !w.IsInitialism() { + out = append(out, lower(w.GetOriginal())) + } else { + out = append(out, trim(w.GetOriginal())) + } + } + poolOfLexems.RedeemLexems(in) + + return strings.Join(out, " ") +} + +// ToHumanNameTitle represents a code name as a human series of words with the first letters titleized +func ToHumanNameTitle(name string) string { + s := poolOfSplitters.BorrowSplitter(withPostSplitInitialismCheck) + in := s.split(name) + poolOfSplitters.RedeemSplitter(s) + + out := make([]string, 0, len(*in)) + for _, w := range *in { + original := trim(w.GetOriginal()) + if !w.IsInitialism() { + out = append(out, Camelize(original)) + } else { + out = append(out, original) + } + } + poolOfLexems.RedeemLexems(in) + + return strings.Join(out, " ") +} + +// ToJSONName camelcases a name which can be underscored or pascal cased +func ToJSONName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for i, w := range in { + if i == 0 { + out = append(out, lower(w)) + continue + } + out = append(out, Camelize(trim(w))) + } + return strings.Join(out, "") +} + +// ToVarName camelcases a name which can be underscored or pascal cased +func ToVarName(name string) string { + res := ToGoName(name) + if isInitialism(res) { + return lower(res) + } + if len(res) <= 1 { + return lower(res) + } + return lower(res[:1]) + res[1:] +} + +// ToGoName translates a swagger name which can be underscored or camel cased to a name that golint likes +func ToGoName(name string) string { + s := poolOfSplitters.BorrowSplitter(withPostSplitInitialismCheck) + lexems := s.split(name) + poolOfSplitters.RedeemSplitter(s) + defer func() { + poolOfLexems.RedeemLexems(lexems) + }() + lexemes := *lexems + + if len(lexemes) == 0 { + return "" + } + + result := poolOfBuffers.BorrowBuffer(len(name)) + defer func() { + poolOfBuffers.RedeemBuffer(result) + }() + + // check if not starting with a letter, upper case + firstPart := lexemes[0].GetUnsafeGoName() + if lexemes[0].IsInitialism() { + firstPart = upper(firstPart) + } + + if c := firstPart[0]; c < utf8.RuneSelf { + // ASCII + switch { + case 'A' <= c && c <= 'Z': + result.WriteString(firstPart) + case 'a' <= c && c <= 'z': + result.WriteByte(c - 'a' + 'A') + result.WriteString(firstPart[1:]) + default: + result.WriteString(prefixFunc(name, firstPart)) + // NOTE: no longer check if prefixFunc returns a string that starts with uppercase: + // assume this is always the case + } + } else { + // unicode + firstRune, _ := utf8.DecodeRuneInString(firstPart) + switch { + case !unicode.IsLetter(firstRune): + result.WriteString(prefixFunc(name, firstPart)) + case !unicode.IsUpper(firstRune): + result.WriteString(prefixFunc(name, firstPart)) + /* + result.WriteRune(unicode.ToUpper(firstRune)) + result.WriteString(firstPart[offset:]) + */ + default: + result.WriteString(firstPart) + } + } + + for _, lexem := range lexemes[1:] { + goName := lexem.GetUnsafeGoName() + + // to support old behavior + if lexem.IsInitialism() { + goName = upper(goName) + } + result.WriteString(goName) + } + + return result.String() +} + +// ContainsStrings searches a slice of strings for a case-sensitive match +func ContainsStrings(coll []string, item string) bool { + for _, a := range coll { + if a == item { + return true + } + } + return false +} + +// ContainsStringsCI searches a slice of strings for a case-insensitive match +func ContainsStringsCI(coll []string, item string) bool { + for _, a := range coll { + if strings.EqualFold(a, item) { + return true + } + } + return false +} + +type zeroable interface { + IsZero() bool +} + +// IsZero returns true when the value passed into the function is a zero value. +// This allows for safer checking of interface values. +func IsZero(data interface{}) bool { + v := reflect.ValueOf(data) + // check for nil data + switch v.Kind() { //nolint:exhaustive + case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + if v.IsNil() { + return true + } + } + + // check for things that have an IsZero method instead + if vv, ok := data.(zeroable); ok { + return vv.IsZero() + } + + // continue with slightly more complex reflection + switch v.Kind() { //nolint:exhaustive + case reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Struct, reflect.Array: + return reflect.DeepEqual(data, reflect.Zero(v.Type()).Interface()) + case reflect.Invalid: + return true + default: + return false + } +} + +// CommandLineOptionsGroup represents a group of user-defined command line options +type CommandLineOptionsGroup struct { + ShortDescription string + LongDescription string + Options interface{} +} diff --git a/vendor/github.com/go-openapi/swag/yaml.go b/vendor/github.com/go-openapi/swag/yaml.go new file mode 100644 index 000000000..575346539 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/yaml.go @@ -0,0 +1,481 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package swag + +import ( + "encoding/json" + "fmt" + "path/filepath" + "reflect" + "sort" + "strconv" + + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" + yaml "gopkg.in/yaml.v3" +) + +// YAMLMatcher matches yaml +func YAMLMatcher(path string) bool { + ext := filepath.Ext(path) + return ext == ".yaml" || ext == ".yml" +} + +// YAMLToJSON converts YAML unmarshaled data into json compatible data +func YAMLToJSON(data interface{}) (json.RawMessage, error) { + jm, err := transformData(data) + if err != nil { + return nil, err + } + b, err := WriteJSON(jm) + return json.RawMessage(b), err +} + +// BytesToYAMLDoc converts a byte slice into a YAML document +func BytesToYAMLDoc(data []byte) (interface{}, error) { + var document yaml.Node // preserve order that is present in the document + if err := yaml.Unmarshal(data, &document); err != nil { + return nil, err + } + if document.Kind != yaml.DocumentNode || len(document.Content) != 1 || document.Content[0].Kind != yaml.MappingNode { + return nil, fmt.Errorf("only YAML documents that are objects are supported: %w", ErrYAML) + } + return &document, nil +} + +func yamlNode(root *yaml.Node) (interface{}, error) { + switch root.Kind { + case yaml.DocumentNode: + return yamlDocument(root) + case yaml.SequenceNode: + return yamlSequence(root) + case yaml.MappingNode: + return yamlMapping(root) + case yaml.ScalarNode: + return yamlScalar(root) + case yaml.AliasNode: + return yamlNode(root.Alias) + default: + return nil, fmt.Errorf("unsupported YAML node type: %v: %w", root.Kind, ErrYAML) + } +} + +func yamlDocument(node *yaml.Node) (interface{}, error) { + if len(node.Content) != 1 { + return nil, fmt.Errorf("unexpected YAML Document node content length: %d: %w", len(node.Content), ErrYAML) + } + return yamlNode(node.Content[0]) +} + +func yamlMapping(node *yaml.Node) (interface{}, error) { + const sensibleAllocDivider = 2 + m := make(JSONMapSlice, len(node.Content)/sensibleAllocDivider) + + var j int + for i := 0; i < len(node.Content); i += 2 { + var nmi JSONMapItem + k, err := yamlStringScalarC(node.Content[i]) + if err != nil { + return nil, fmt.Errorf("unable to decode YAML map key: %w: %w", err, ErrYAML) + } + nmi.Key = k + v, err := yamlNode(node.Content[i+1]) + if err != nil { + return nil, fmt.Errorf("unable to process YAML map value for key %q: %w: %w", k, err, ErrYAML) + } + nmi.Value = v + m[j] = nmi + j++ + } + return m, nil +} + +func yamlSequence(node *yaml.Node) (interface{}, error) { + s := make([]interface{}, 0) + + for i := 0; i < len(node.Content); i++ { + + v, err := yamlNode(node.Content[i]) + if err != nil { + return nil, fmt.Errorf("unable to decode YAML sequence value: %w: %w", err, ErrYAML) + } + s = append(s, v) + } + return s, nil +} + +const ( // See https://yaml.org/type/ + yamlStringScalar = "tag:yaml.org,2002:str" + yamlIntScalar = "tag:yaml.org,2002:int" + yamlBoolScalar = "tag:yaml.org,2002:bool" + yamlFloatScalar = "tag:yaml.org,2002:float" + yamlTimestamp = "tag:yaml.org,2002:timestamp" + yamlNull = "tag:yaml.org,2002:null" +) + +func yamlScalar(node *yaml.Node) (interface{}, error) { + switch node.LongTag() { + case yamlStringScalar: + return node.Value, nil + case yamlBoolScalar: + b, err := strconv.ParseBool(node.Value) + if err != nil { + return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting bool content: %w: %w", node.Value, err, ErrYAML) + } + return b, nil + case yamlIntScalar: + i, err := strconv.ParseInt(node.Value, 10, 64) + if err != nil { + return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting integer content: %w: %w", node.Value, err, ErrYAML) + } + return i, nil + case yamlFloatScalar: + f, err := strconv.ParseFloat(node.Value, 64) + if err != nil { + return nil, fmt.Errorf("unable to process scalar node. Got %q. Expecting float content: %w: %w", node.Value, err, ErrYAML) + } + return f, nil + case yamlTimestamp: + return node.Value, nil + case yamlNull: + return nil, nil //nolint:nilnil + default: + return nil, fmt.Errorf("YAML tag %q is not supported: %w", node.LongTag(), ErrYAML) + } +} + +func yamlStringScalarC(node *yaml.Node) (string, error) { + if node.Kind != yaml.ScalarNode { + return "", fmt.Errorf("expecting a string scalar but got %q: %w", node.Kind, ErrYAML) + } + switch node.LongTag() { + case yamlStringScalar, yamlIntScalar, yamlFloatScalar: + return node.Value, nil + default: + return "", fmt.Errorf("YAML tag %q is not supported as map key: %w", node.LongTag(), ErrYAML) + } +} + +// JSONMapSlice represent a JSON object, with the order of keys maintained +type JSONMapSlice []JSONMapItem + +// MarshalJSON renders a JSONMapSlice as JSON +func (s JSONMapSlice) MarshalJSON() ([]byte, error) { + w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} + s.MarshalEasyJSON(w) + return w.BuildBytes() +} + +// MarshalEasyJSON renders a JSONMapSlice as JSON, using easyJSON +func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer) { + w.RawByte('{') + + ln := len(s) + last := ln - 1 + for i := 0; i < ln; i++ { + s[i].MarshalEasyJSON(w) + if i != last { // last item + w.RawByte(',') + } + } + + w.RawByte('}') +} + +// UnmarshalJSON makes a JSONMapSlice from JSON +func (s *JSONMapSlice) UnmarshalJSON(data []byte) error { + l := jlexer.Lexer{Data: data} + s.UnmarshalEasyJSON(&l) + return l.Error() +} + +// UnmarshalEasyJSON makes a JSONMapSlice from JSON, using easyJSON +func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer) { + if in.IsNull() { + in.Skip() + return + } + + var result JSONMapSlice + in.Delim('{') + for !in.IsDelim('}') { + var mi JSONMapItem + mi.UnmarshalEasyJSON(in) + result = append(result, mi) + } + *s = result +} + +func (s JSONMapSlice) MarshalYAML() (interface{}, error) { + var n yaml.Node + n.Kind = yaml.DocumentNode + var nodes []*yaml.Node + for _, item := range s { + nn, err := json2yaml(item.Value) + if err != nil { + return nil, err + } + ns := []*yaml.Node{ + { + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: item.Key, + }, + nn, + } + nodes = append(nodes, ns...) + } + + n.Content = []*yaml.Node{ + { + Kind: yaml.MappingNode, + Content: nodes, + }, + } + + return yaml.Marshal(&n) +} + +func isNil(input interface{}) bool { + if input == nil { + return true + } + kind := reflect.TypeOf(input).Kind() + switch kind { //nolint:exhaustive + case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan: + return reflect.ValueOf(input).IsNil() + default: + return false + } +} + +func json2yaml(item interface{}) (*yaml.Node, error) { + if isNil(item) { + return &yaml.Node{ + Kind: yaml.ScalarNode, + Value: "null", + }, nil + } + + switch val := item.(type) { + case JSONMapSlice: + var n yaml.Node + n.Kind = yaml.MappingNode + for i := range val { + childNode, err := json2yaml(&val[i].Value) + if err != nil { + return nil, err + } + n.Content = append(n.Content, &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: val[i].Key, + }, childNode) + } + return &n, nil + case map[string]interface{}: + var n yaml.Node + n.Kind = yaml.MappingNode + keys := make([]string, 0, len(val)) + for k := range val { + keys = append(keys, k) + } + sort.Strings(keys) + + for _, k := range keys { + v := val[k] + childNode, err := json2yaml(v) + if err != nil { + return nil, err + } + n.Content = append(n.Content, &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: k, + }, childNode) + } + return &n, nil + case []interface{}: + var n yaml.Node + n.Kind = yaml.SequenceNode + for i := range val { + childNode, err := json2yaml(val[i]) + if err != nil { + return nil, err + } + n.Content = append(n.Content, childNode) + } + return &n, nil + case string: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlStringScalar, + Value: val, + }, nil + case float64: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlFloatScalar, + Value: strconv.FormatFloat(val, 'f', -1, 64), + }, nil + case int64: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlIntScalar, + Value: strconv.FormatInt(val, 10), + }, nil + case uint64: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlIntScalar, + Value: strconv.FormatUint(val, 10), + }, nil + case bool: + return &yaml.Node{ + Kind: yaml.ScalarNode, + Tag: yamlBoolScalar, + Value: strconv.FormatBool(val), + }, nil + default: + return nil, fmt.Errorf("unhandled type: %T: %w", val, ErrYAML) + } +} + +// JSONMapItem represents the value of a key in a JSON object held by JSONMapSlice +type JSONMapItem struct { + Key string + Value interface{} +} + +// MarshalJSON renders a JSONMapItem as JSON +func (s JSONMapItem) MarshalJSON() ([]byte, error) { + w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} + s.MarshalEasyJSON(w) + return w.BuildBytes() +} + +// MarshalEasyJSON renders a JSONMapItem as JSON, using easyJSON +func (s JSONMapItem) MarshalEasyJSON(w *jwriter.Writer) { + w.String(s.Key) + w.RawByte(':') + w.Raw(WriteJSON(s.Value)) +} + +// UnmarshalJSON makes a JSONMapItem from JSON +func (s *JSONMapItem) UnmarshalJSON(data []byte) error { + l := jlexer.Lexer{Data: data} + s.UnmarshalEasyJSON(&l) + return l.Error() +} + +// UnmarshalEasyJSON makes a JSONMapItem from JSON, using easyJSON +func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer) { + key := in.UnsafeString() + in.WantColon() + value := in.Interface() + in.WantComma() + s.Key = key + s.Value = value +} + +func transformData(input interface{}) (out interface{}, err error) { + format := func(t interface{}) (string, error) { + switch k := t.(type) { + case string: + return k, nil + case uint: + return strconv.FormatUint(uint64(k), 10), nil + case uint8: + return strconv.FormatUint(uint64(k), 10), nil + case uint16: + return strconv.FormatUint(uint64(k), 10), nil + case uint32: + return strconv.FormatUint(uint64(k), 10), nil + case uint64: + return strconv.FormatUint(k, 10), nil + case int: + return strconv.Itoa(k), nil + case int8: + return strconv.FormatInt(int64(k), 10), nil + case int16: + return strconv.FormatInt(int64(k), 10), nil + case int32: + return strconv.FormatInt(int64(k), 10), nil + case int64: + return strconv.FormatInt(k, 10), nil + default: + return "", fmt.Errorf("unexpected map key type, got: %T: %w", k, ErrYAML) + } + } + + switch in := input.(type) { + case yaml.Node: + return yamlNode(&in) + case *yaml.Node: + return yamlNode(in) + case map[interface{}]interface{}: + o := make(JSONMapSlice, 0, len(in)) + for ke, va := range in { + var nmi JSONMapItem + if nmi.Key, err = format(ke); err != nil { + return nil, err + } + + v, ert := transformData(va) + if ert != nil { + return nil, ert + } + nmi.Value = v + o = append(o, nmi) + } + return o, nil + case []interface{}: + len1 := len(in) + o := make([]interface{}, len1) + for i := 0; i < len1; i++ { + o[i], err = transformData(in[i]) + if err != nil { + return nil, err + } + } + return o, nil + } + return input, nil +} + +// YAMLDoc loads a yaml document from either http or a file and converts it to json +func YAMLDoc(path string) (json.RawMessage, error) { + yamlDoc, err := YAMLData(path) + if err != nil { + return nil, err + } + + data, err := YAMLToJSON(yamlDoc) + if err != nil { + return nil, err + } + + return data, nil +} + +// YAMLData loads a yaml document from either http or a file +func YAMLData(path string) (interface{}, error) { + data, err := LoadFromFileOrHTTP(path) + if err != nil { + return nil, err + } + + return BytesToYAMLDoc(data) +} diff --git a/vendor/github.com/go-openapi/validate/.editorconfig b/vendor/github.com/go-openapi/validate/.editorconfig new file mode 100644 index 000000000..3152da69a --- /dev/null +++ b/vendor/github.com/go-openapi/validate/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/validate/.gitattributes b/vendor/github.com/go-openapi/validate/.gitattributes new file mode 100644 index 000000000..49ad52766 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/.gitattributes @@ -0,0 +1,2 @@ +# gofmt always uses LF, whereas Git uses CRLF on Windows. +*.go text eol=lf diff --git a/vendor/github.com/go-openapi/validate/.gitignore b/vendor/github.com/go-openapi/validate/.gitignore new file mode 100644 index 000000000..fea8b84ec --- /dev/null +++ b/vendor/github.com/go-openapi/validate/.gitignore @@ -0,0 +1,5 @@ +secrets.yml +coverage.out +*.cov +*.out +playground diff --git a/vendor/github.com/go-openapi/validate/.golangci.yml b/vendor/github.com/go-openapi/validate/.golangci.yml new file mode 100644 index 000000000..22f8d21cc --- /dev/null +++ b/vendor/github.com/go-openapi/validate/.golangci.yml @@ -0,0 +1,61 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 45 + maligned: + suggest-new: true + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 3 + +linters: + enable-all: true + disable: + - maligned + - unparam + - lll + - gochecknoinits + - gochecknoglobals + - funlen + - godox + - gocognit + - whitespace + - wsl + - wrapcheck + - testpackage + - nlreturn + - gomnd + - exhaustivestruct + - goerr113 + - errorlint + - nestif + - godot + - gofumpt + - paralleltest + - tparallel + - thelper + - ifshort + - exhaustruct + - varnamelen + - gci + - depguard + - errchkjson + - inamedparam + - nonamedreturns + - musttag + - ireturn + - forcetypeassert + - cyclop + # deprecated linters + - deadcode + - interfacer + - scopelint + - varcheck + - structcheck + - golint + - nosnakecase diff --git a/vendor/github.com/go-openapi/validate/BENCHMARK.md b/vendor/github.com/go-openapi/validate/BENCHMARK.md new file mode 100644 index 000000000..79cf6a077 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/BENCHMARK.md @@ -0,0 +1,31 @@ +# Benchmark + +Validating the Kubernetes Swagger API + +## v0.22.6: 60,000,000 allocs +``` +goos: linux +goarch: amd64 +pkg: github.com/go-openapi/validate +cpu: AMD Ryzen 7 5800X 8-Core Processor +Benchmark_KubernetesSpec/validating_kubernetes_API-16 1 8549863982 ns/op 7067424936 B/op 59583275 allocs/op +``` + +## After refact PR: minor but noticable improvements: 25,000,000 allocs +``` +go test -bench Spec +goos: linux +goarch: amd64 +pkg: github.com/go-openapi/validate +cpu: AMD Ryzen 7 5800X 8-Core Processor +Benchmark_KubernetesSpec/validating_kubernetes_API-16 1 4064535557 ns/op 3379715592 B/op 25320330 allocs/op +``` + +## After reduce GC pressure PR: 17,000,000 allocs +``` +goos: linux +goarch: amd64 +pkg: github.com/go-openapi/validate +cpu: AMD Ryzen 7 5800X 8-Core Processor +Benchmark_KubernetesSpec/validating_kubernetes_API-16 1 3758414145 ns/op 2593881496 B/op 17111373 allocs/op +``` diff --git a/vendor/github.com/go-openapi/validate/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/validate/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..9322b065e --- /dev/null +++ b/vendor/github.com/go-openapi/validate/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/validate/LICENSE b/vendor/github.com/go-openapi/validate/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/validate/README.md b/vendor/github.com/go-openapi/validate/README.md new file mode 100644 index 000000000..e8e1bb218 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/README.md @@ -0,0 +1,36 @@ +# Validation helpers [![Build Status](https://github.com/go-openapi/validate/actions/workflows/go-test.yml/badge.svg)](https://github.com/go-openapi/validate/actions?query=workflow%3A"go+test") [![codecov](https://codecov.io/gh/go-openapi/validate/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/validate) + +[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/validate/master/LICENSE) +[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/validate.svg)](https://pkg.go.dev/github.com/go-openapi/validate) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/validate)](https://goreportcard.com/report/github.com/go-openapi/validate) + +This package provides helpers to validate Swagger 2.0. specification (aka OpenAPI 2.0). + +Reference can be found here: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md. + +## What's inside? + +* A validator for Swagger specifications +* A validator for JSON schemas draft4 +* Helper functions to validate individual values (used by code generated by [go-swagger](https://github.com/go-swagger/go-swagger)). + * Required, RequiredNumber, RequiredString + * ReadOnly + * UniqueItems, MaxItems, MinItems + * Enum, EnumCase + * Pattern, MinLength, MaxLength + * Minimum, Maximum, MultipleOf + * FormatOf + +[Documentation](https://pkg.go.dev/github.com/go-openapi/validate) + +## FAQ + +* Does this library support OpenAPI 3? + +> No. +> This package currently only supports OpenAPI 2.0 (aka Swagger 2.0). +> There is no plan to make it evolve toward supporting OpenAPI 3.x. +> This [discussion thread](https://github.com/go-openapi/spec/issues/21) relates the full story. +> +> An early attempt to support Swagger 3 may be found at: https://github.com/go-openapi/spec3 diff --git a/vendor/github.com/go-openapi/validate/context.go b/vendor/github.com/go-openapi/validate/context.go new file mode 100644 index 000000000..89977173b --- /dev/null +++ b/vendor/github.com/go-openapi/validate/context.go @@ -0,0 +1,56 @@ +package validate + +import ( + "context" +) + +// validateCtxKey is the key type of context key in this pkg +type validateCtxKey string + +const ( + operationTypeKey validateCtxKey = "operationTypeKey" +) + +type operationType string + +const ( + request operationType = "request" + response operationType = "response" + none operationType = "none" // not specified in ctx +) + +var operationTypeEnum = []operationType{request, response, none} + +// WithOperationRequest returns a new context with operationType request +// in context value +func WithOperationRequest(ctx context.Context) context.Context { + return withOperation(ctx, request) +} + +// WithOperationRequest returns a new context with operationType response +// in context value +func WithOperationResponse(ctx context.Context) context.Context { + return withOperation(ctx, response) +} + +func withOperation(ctx context.Context, operation operationType) context.Context { + return context.WithValue(ctx, operationTypeKey, operation) +} + +// extractOperationType extracts the operation type from ctx +// if not specified or of unknown value, return none operation type +func extractOperationType(ctx context.Context) operationType { + v := ctx.Value(operationTypeKey) + if v == nil { + return none + } + res, ok := v.(operationType) + if !ok { + return none + } + // validate the value is in operation enum + if err := Enum("", "", res, operationTypeEnum); err != nil { + return none + } + return res +} diff --git a/vendor/github.com/go-openapi/validate/debug.go b/vendor/github.com/go-openapi/validate/debug.go new file mode 100644 index 000000000..8815fd935 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/debug.go @@ -0,0 +1,47 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "fmt" + "log" + "os" + "path/filepath" + "runtime" +) + +var ( + // Debug is true when the SWAGGER_DEBUG env var is not empty. + // It enables a more verbose logging of validators. + Debug = os.Getenv("SWAGGER_DEBUG") != "" + // validateLogger is a debug logger for this package + validateLogger *log.Logger +) + +func init() { + debugOptions() +} + +func debugOptions() { + validateLogger = log.New(os.Stdout, "validate:", log.LstdFlags) +} + +func debugLog(msg string, args ...interface{}) { + // A private, trivial trace logger, based on go-openapi/spec/expander.go:debugLog() + if Debug { + _, file1, pos1, _ := runtime.Caller(1) + validateLogger.Printf("%s:%d: %s", filepath.Base(file1), pos1, fmt.Sprintf(msg, args...)) + } +} diff --git a/vendor/github.com/go-openapi/validate/default_validator.go b/vendor/github.com/go-openapi/validate/default_validator.go new file mode 100644 index 000000000..e0dd93839 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/default_validator.go @@ -0,0 +1,304 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "fmt" + "strings" + + "github.com/go-openapi/spec" +) + +// defaultValidator validates default values in a spec. +// According to Swagger spec, default values MUST validate their schema. +type defaultValidator struct { + SpecValidator *SpecValidator + visitedSchemas map[string]struct{} + schemaOptions *SchemaValidatorOptions +} + +// resetVisited resets the internal state of visited schemas +func (d *defaultValidator) resetVisited() { + if d.visitedSchemas == nil { + d.visitedSchemas = make(map[string]struct{}) + + return + } + + // TODO(go1.21): clear(ex.visitedSchemas) + for k := range d.visitedSchemas { + delete(d.visitedSchemas, k) + } +} + +func isVisited(path string, visitedSchemas map[string]struct{}) bool { + _, found := visitedSchemas[path] + if found { + return true + } + + // search for overlapping paths + var ( + parent string + suffix string + ) + for i := len(path) - 2; i >= 0; i-- { + r := path[i] + if r != '.' { + continue + } + + parent = path[0:i] + suffix = path[i+1:] + + if strings.HasSuffix(parent, suffix) { + return true + } + } + + return false +} + +// beingVisited asserts a schema is being visited +func (d *defaultValidator) beingVisited(path string) { + d.visitedSchemas[path] = struct{}{} +} + +// isVisited tells if a path has already been visited +func (d *defaultValidator) isVisited(path string) bool { + return isVisited(path, d.visitedSchemas) +} + +// Validate validates the default values declared in the swagger spec +func (d *defaultValidator) Validate() *Result { + errs := pools.poolOfResults.BorrowResult() // will redeem when merged + + if d == nil || d.SpecValidator == nil { + return errs + } + d.resetVisited() + errs.Merge(d.validateDefaultValueValidAgainstSchema()) // error - + return errs +} + +func (d *defaultValidator) validateDefaultValueValidAgainstSchema() *Result { + // every default value that is specified must validate against the schema for that property + // headers, items, parameters, schema + + res := pools.poolOfResults.BorrowResult() // will redeem when merged + s := d.SpecValidator + + for method, pathItem := range s.expandedAnalyzer().Operations() { + for path, op := range pathItem { + // parameters + for _, param := range paramHelp.safeExpandedParamsFor(path, method, op.ID, res, s) { + if param.Default != nil && param.Required { + res.AddWarnings(requiredHasDefaultMsg(param.Name, param.In)) + } + + // reset explored schemas to get depth-first recursive-proof exploration + d.resetVisited() + + // Check simple parameters first + // default values provided must validate against their inline definition (no explicit schema) + if param.Default != nil && param.Schema == nil { + // check param default value is valid + red := newParamValidator(¶m, s.KnownFormats, d.schemaOptions).Validate(param.Default) //#nosec + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + // Recursively follows Items and Schemas + if param.Items != nil { + red := d.validateDefaultValueItemsAgainstSchema(param.Name, param.In, ¶m, param.Items) //#nosec + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueItemsDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + if param.Schema != nil { + // Validate default value against schema + red := d.validateDefaultValueSchemaAgainstSchema(param.Name, param.In, param.Schema) + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + } + + if op.Responses != nil { + if op.Responses.Default != nil { + // Same constraint on default Response + res.Merge(d.validateDefaultInResponse(op.Responses.Default, jsonDefault, path, 0, op.ID)) + } + // Same constraint on regular Responses + if op.Responses.StatusCodeResponses != nil { // Safeguard + for code, r := range op.Responses.StatusCodeResponses { + res.Merge(d.validateDefaultInResponse(&r, "response", path, code, op.ID)) //#nosec + } + } + } else if op.ID != "" { + // Empty op.ID means there is no meaningful operation: no need to report a specific message + res.AddErrors(noValidResponseMsg(op.ID)) + } + } + } + if s.spec.Spec().Definitions != nil { // Safeguard + // reset explored schemas to get depth-first recursive-proof exploration + d.resetVisited() + for nm, sch := range s.spec.Spec().Definitions { + res.Merge(d.validateDefaultValueSchemaAgainstSchema("definitions."+nm, "body", &sch)) //#nosec + } + } + return res +} + +func (d *defaultValidator) validateDefaultInResponse(resp *spec.Response, responseType, path string, responseCode int, operationID string) *Result { + s := d.SpecValidator + + response, res := responseHelp.expandResponseRef(resp, path, s) + if !res.IsValid() { + return res + } + + responseName, responseCodeAsStr := responseHelp.responseMsgVariants(responseType, responseCode) + + if response.Headers != nil { // Safeguard + for nm, h := range response.Headers { + // reset explored schemas to get depth-first recursive-proof exploration + d.resetVisited() + + if h.Default != nil { + red := newHeaderValidator(nm, &h, s.KnownFormats, d.schemaOptions).Validate(h.Default) //#nosec + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueHeaderDoesNotValidateMsg(operationID, nm, responseName)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + // Headers have inline definition, like params + if h.Items != nil { + red := d.validateDefaultValueItemsAgainstSchema(nm, "header", &h, h.Items) //#nosec + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueHeaderItemsDoesNotValidateMsg(operationID, nm, responseName)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + if _, err := compileRegexp(h.Pattern); err != nil { + res.AddErrors(invalidPatternInHeaderMsg(operationID, nm, responseName, h.Pattern, err)) + } + + // Headers don't have schema + } + } + if response.Schema != nil { + // reset explored schemas to get depth-first recursive-proof exploration + d.resetVisited() + + red := d.validateDefaultValueSchemaAgainstSchema(responseCodeAsStr, "response", response.Schema) + if red.HasErrorsOrWarnings() { + // Additional message to make sure the context of the error is not lost + res.AddErrors(defaultValueInDoesNotValidateMsg(operationID, responseName)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + return res +} + +func (d *defaultValidator) validateDefaultValueSchemaAgainstSchema(path, in string, schema *spec.Schema) *Result { + if schema == nil || d.isVisited(path) { + // Avoids recursing if we are already done with that check + return nil + } + d.beingVisited(path) + res := pools.poolOfResults.BorrowResult() + s := d.SpecValidator + + if schema.Default != nil { + res.Merge( + newSchemaValidator(schema, s.spec.Spec(), path+".default", s.KnownFormats, d.schemaOptions).Validate(schema.Default), + ) + } + if schema.Items != nil { + if schema.Items.Schema != nil { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(path+".items.default", in, schema.Items.Schema)) + } + // Multiple schemas in items + if schema.Items.Schemas != nil { // Safeguard + for i, sch := range schema.Items.Schemas { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.items[%d].default", path, i), in, &sch)) //#nosec + } + } + } + if _, err := compileRegexp(schema.Pattern); err != nil { + res.AddErrors(invalidPatternInMsg(path, in, schema.Pattern)) + } + if schema.AdditionalItems != nil && schema.AdditionalItems.Schema != nil { + // NOTE: we keep validating values, even though additionalItems is not supported by Swagger 2.0 (and 3.0 as well) + res.Merge(d.validateDefaultValueSchemaAgainstSchema(path+".additionalItems", in, schema.AdditionalItems.Schema)) + } + for propName, prop := range schema.Properties { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(path+"."+propName, in, &prop)) //#nosec + } + for propName, prop := range schema.PatternProperties { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(path+"."+propName, in, &prop)) //#nosec + } + if schema.AdditionalProperties != nil && schema.AdditionalProperties.Schema != nil { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(path+".additionalProperties", in, schema.AdditionalProperties.Schema)) + } + if schema.AllOf != nil { + for i, aoSch := range schema.AllOf { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.allOf[%d]", path, i), in, &aoSch)) //#nosec + } + } + return res +} + +// TODO: Temporary duplicated code. Need to refactor with examples + +func (d *defaultValidator) validateDefaultValueItemsAgainstSchema(path, in string, root interface{}, items *spec.Items) *Result { + res := pools.poolOfResults.BorrowResult() + s := d.SpecValidator + if items != nil { + if items.Default != nil { + res.Merge( + newItemsValidator(path, in, items, root, s.KnownFormats, d.schemaOptions).Validate(0, items.Default), + ) + } + if items.Items != nil { + res.Merge(d.validateDefaultValueItemsAgainstSchema(path+"[0].default", in, root, items.Items)) + } + if _, err := compileRegexp(items.Pattern); err != nil { + res.AddErrors(invalidPatternInMsg(path, in, items.Pattern)) + } + } + return res +} diff --git a/vendor/github.com/go-openapi/validate/doc.go b/vendor/github.com/go-openapi/validate/doc.go new file mode 100644 index 000000000..d2b901eab --- /dev/null +++ b/vendor/github.com/go-openapi/validate/doc.go @@ -0,0 +1,87 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* +Package validate provides methods to validate a swagger specification, +as well as tools to validate data against their schema. + +This package follows Swagger 2.0. specification (aka OpenAPI 2.0). Reference +can be found here: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md. + +# Validating a specification + +Validates a spec document (from JSON or YAML) against the JSON schema for swagger, +then checks a number of extra rules that can't be expressed in JSON schema. + +Entry points: + - Spec() + - NewSpecValidator() + - SpecValidator.Validate() + +Reported as errors: + + [x] definition can't declare a property that's already defined by one of its ancestors + [x] definition's ancestor can't be a descendant of the same model + [x] path uniqueness: each api path should be non-verbatim (account for path param names) unique per method. Validation can be laxed by disabling StrictPathParamUniqueness. + [x] each security reference should contain only unique scopes + [x] each security scope in a security definition should be unique + [x] parameters in path must be unique + [x] each path parameter must correspond to a parameter placeholder and vice versa + [x] each referenceable definition must have references + [x] each definition property listed in the required array must be defined in the properties of the model + [x] each parameter should have a unique `name` and `type` combination + [x] each operation should have only 1 parameter of type body + [x] each reference must point to a valid object + [x] every default value that is specified must validate against the schema for that property + [x] items property is required for all schemas/definitions of type `array` + [x] path parameters must be declared a required + [x] headers must not contain $ref + [x] schema and property examples provided must validate against their respective object's schema + [x] examples provided must validate their schema + +Reported as warnings: + + [x] path parameters should not contain any of [{,},\w] + [x] empty path + [x] unused definitions + [x] unsupported validation of examples on non-JSON media types + [x] examples in response without schema + [x] readOnly properties should not be required + +# Validating a schema + +The schema validation toolkit validates data against JSON-schema-draft 04 schema. + +It is tested against the full json-schema-testing-suite (https://github.com/json-schema-org/JSON-Schema-Test-Suite), +except for the optional part (bignum, ECMA regexp, ...). + +It supports the complete JSON-schema vocabulary, including keywords not supported by Swagger (e.g. additionalItems, ...) + +Entry points: + - AgainstSchema() + - ... + +# Known limitations + +With the current version of this package, the following aspects of swagger are not yet supported: + + [ ] errors and warnings are not reported with key/line number in spec + [ ] default values and examples on responses only support application/json producer type + [ ] invalid numeric constraints (such as Minimum, etc..) are not checked except for default and example values + [ ] rules for collectionFormat are not implemented + [ ] no validation rule for polymorphism support (discriminator) [not done here] + [ ] valid js ECMA regexp not supported by Go regexp engine are considered invalid + [ ] arbitrary large numbers are not supported: max is math.MaxFloat64 +*/ +package validate diff --git a/vendor/github.com/go-openapi/validate/example_validator.go b/vendor/github.com/go-openapi/validate/example_validator.go new file mode 100644 index 000000000..d08956973 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/example_validator.go @@ -0,0 +1,299 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "fmt" + + "github.com/go-openapi/spec" +) + +// ExampleValidator validates example values defined in a spec +type exampleValidator struct { + SpecValidator *SpecValidator + visitedSchemas map[string]struct{} + schemaOptions *SchemaValidatorOptions +} + +// resetVisited resets the internal state of visited schemas +func (ex *exampleValidator) resetVisited() { + if ex.visitedSchemas == nil { + ex.visitedSchemas = make(map[string]struct{}) + + return + } + + // TODO(go1.21): clear(ex.visitedSchemas) + for k := range ex.visitedSchemas { + delete(ex.visitedSchemas, k) + } +} + +// beingVisited asserts a schema is being visited +func (ex *exampleValidator) beingVisited(path string) { + ex.visitedSchemas[path] = struct{}{} +} + +// isVisited tells if a path has already been visited +func (ex *exampleValidator) isVisited(path string) bool { + return isVisited(path, ex.visitedSchemas) +} + +// Validate validates the example values declared in the swagger spec +// Example values MUST conform to their schema. +// +// With Swagger 2.0, examples are supported in: +// - schemas +// - individual property +// - responses +func (ex *exampleValidator) Validate() *Result { + errs := pools.poolOfResults.BorrowResult() + + if ex == nil || ex.SpecValidator == nil { + return errs + } + ex.resetVisited() + errs.Merge(ex.validateExampleValueValidAgainstSchema()) // error - + + return errs +} + +func (ex *exampleValidator) validateExampleValueValidAgainstSchema() *Result { + // every example value that is specified must validate against the schema for that property + // in: schemas, properties, object, items + // not in: headers, parameters without schema + + res := pools.poolOfResults.BorrowResult() + s := ex.SpecValidator + + for method, pathItem := range s.expandedAnalyzer().Operations() { + for path, op := range pathItem { + // parameters + for _, param := range paramHelp.safeExpandedParamsFor(path, method, op.ID, res, s) { + + // As of swagger 2.0, Examples are not supported in simple parameters + // However, it looks like it is supported by go-openapi + + // reset explored schemas to get depth-first recursive-proof exploration + ex.resetVisited() + + // Check simple parameters first + // default values provided must validate against their inline definition (no explicit schema) + if param.Example != nil && param.Schema == nil { + // check param default value is valid + red := newParamValidator(¶m, s.KnownFormats, ex.schemaOptions).Validate(param.Example) //#nosec + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueDoesNotValidateMsg(param.Name, param.In)) + res.MergeAsWarnings(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + // Recursively follows Items and Schemas + if param.Items != nil { + red := ex.validateExampleValueItemsAgainstSchema(param.Name, param.In, ¶m, param.Items) //#nosec + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueItemsDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + if param.Schema != nil { + // Validate example value against schema + red := ex.validateExampleValueSchemaAgainstSchema(param.Name, param.In, param.Schema) + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + } + + if op.Responses != nil { + if op.Responses.Default != nil { + // Same constraint on default Response + res.Merge(ex.validateExampleInResponse(op.Responses.Default, jsonDefault, path, 0, op.ID)) + } + // Same constraint on regular Responses + if op.Responses.StatusCodeResponses != nil { // Safeguard + for code, r := range op.Responses.StatusCodeResponses { + res.Merge(ex.validateExampleInResponse(&r, "response", path, code, op.ID)) //#nosec + } + } + } else if op.ID != "" { + // Empty op.ID means there is no meaningful operation: no need to report a specific message + res.AddErrors(noValidResponseMsg(op.ID)) + } + } + } + if s.spec.Spec().Definitions != nil { // Safeguard + // reset explored schemas to get depth-first recursive-proof exploration + ex.resetVisited() + for nm, sch := range s.spec.Spec().Definitions { + res.Merge(ex.validateExampleValueSchemaAgainstSchema("definitions."+nm, "body", &sch)) //#nosec + } + } + return res +} + +func (ex *exampleValidator) validateExampleInResponse(resp *spec.Response, responseType, path string, responseCode int, operationID string) *Result { + s := ex.SpecValidator + + response, res := responseHelp.expandResponseRef(resp, path, s) + if !res.IsValid() { // Safeguard + return res + } + + responseName, responseCodeAsStr := responseHelp.responseMsgVariants(responseType, responseCode) + + if response.Headers != nil { // Safeguard + for nm, h := range response.Headers { + // reset explored schemas to get depth-first recursive-proof exploration + ex.resetVisited() + + if h.Example != nil { + red := newHeaderValidator(nm, &h, s.KnownFormats, ex.schemaOptions).Validate(h.Example) //#nosec + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueHeaderDoesNotValidateMsg(operationID, nm, responseName)) + res.MergeAsWarnings(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + // Headers have inline definition, like params + if h.Items != nil { + red := ex.validateExampleValueItemsAgainstSchema(nm, "header", &h, h.Items) //#nosec + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueHeaderItemsDoesNotValidateMsg(operationID, nm, responseName)) + res.MergeAsWarnings(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + if _, err := compileRegexp(h.Pattern); err != nil { + res.AddErrors(invalidPatternInHeaderMsg(operationID, nm, responseName, h.Pattern, err)) + } + + // Headers don't have schema + } + } + if response.Schema != nil { + // reset explored schemas to get depth-first recursive-proof exploration + ex.resetVisited() + + red := ex.validateExampleValueSchemaAgainstSchema(responseCodeAsStr, "response", response.Schema) + if red.HasErrorsOrWarnings() { + // Additional message to make sure the context of the error is not lost + res.AddWarnings(exampleValueInDoesNotValidateMsg(operationID, responseName)) + res.Merge(red) + } else if red.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(red) + } + } + + if response.Examples != nil { + if response.Schema != nil { + if example, ok := response.Examples["application/json"]; ok { + res.MergeAsWarnings( + newSchemaValidator(response.Schema, s.spec.Spec(), path+".examples", s.KnownFormats, s.schemaOptions).Validate(example), + ) + } else { + // TODO: validate other media types too + res.AddWarnings(examplesMimeNotSupportedMsg(operationID, responseName)) + } + } else { + res.AddWarnings(examplesWithoutSchemaMsg(operationID, responseName)) + } + } + return res +} + +func (ex *exampleValidator) validateExampleValueSchemaAgainstSchema(path, in string, schema *spec.Schema) *Result { + if schema == nil || ex.isVisited(path) { + // Avoids recursing if we are already done with that check + return nil + } + ex.beingVisited(path) + s := ex.SpecValidator + res := pools.poolOfResults.BorrowResult() + + if schema.Example != nil { + res.MergeAsWarnings( + newSchemaValidator(schema, s.spec.Spec(), path+".example", s.KnownFormats, ex.schemaOptions).Validate(schema.Example), + ) + } + if schema.Items != nil { + if schema.Items.Schema != nil { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(path+".items.example", in, schema.Items.Schema)) + } + // Multiple schemas in items + if schema.Items.Schemas != nil { // Safeguard + for i, sch := range schema.Items.Schemas { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(fmt.Sprintf("%s.items[%d].example", path, i), in, &sch)) //#nosec + } + } + } + if _, err := compileRegexp(schema.Pattern); err != nil { + res.AddErrors(invalidPatternInMsg(path, in, schema.Pattern)) + } + if schema.AdditionalItems != nil && schema.AdditionalItems.Schema != nil { + // NOTE: we keep validating values, even though additionalItems is unsupported in Swagger 2.0 (and 3.0 as well) + res.Merge(ex.validateExampleValueSchemaAgainstSchema(path+".additionalItems", in, schema.AdditionalItems.Schema)) + } + for propName, prop := range schema.Properties { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(path+"."+propName, in, &prop)) //#nosec + } + for propName, prop := range schema.PatternProperties { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(path+"."+propName, in, &prop)) //#nosec + } + if schema.AdditionalProperties != nil && schema.AdditionalProperties.Schema != nil { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(path+".additionalProperties", in, schema.AdditionalProperties.Schema)) + } + if schema.AllOf != nil { + for i, aoSch := range schema.AllOf { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(fmt.Sprintf("%s.allOf[%d]", path, i), in, &aoSch)) //#nosec + } + } + return res +} + +// TODO: Temporary duplicated code. Need to refactor with examples +// + +func (ex *exampleValidator) validateExampleValueItemsAgainstSchema(path, in string, root interface{}, items *spec.Items) *Result { + res := pools.poolOfResults.BorrowResult() + s := ex.SpecValidator + if items != nil { + if items.Example != nil { + res.MergeAsWarnings( + newItemsValidator(path, in, items, root, s.KnownFormats, ex.schemaOptions).Validate(0, items.Example), + ) + } + if items.Items != nil { + res.Merge(ex.validateExampleValueItemsAgainstSchema(path+"[0].example", in, root, items.Items)) + } + if _, err := compileRegexp(items.Pattern); err != nil { + res.AddErrors(invalidPatternInMsg(path, in, items.Pattern)) + } + } + + return res +} diff --git a/vendor/github.com/go-openapi/validate/formats.go b/vendor/github.com/go-openapi/validate/formats.go new file mode 100644 index 000000000..f4e355213 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/formats.go @@ -0,0 +1,99 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "reflect" + + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +type formatValidator struct { + Path string + In string + Format string + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +func newFormatValidator(path, in, format string, formats strfmt.Registry, opts *SchemaValidatorOptions) *formatValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var f *formatValidator + if opts.recycleValidators { + f = pools.poolOfFormatValidators.BorrowValidator() + } else { + f = new(formatValidator) + } + + f.Path = path + f.In = in + f.Format = format + f.KnownFormats = formats + f.Options = opts + + return f +} + +func (f *formatValidator) SetPath(path string) { + f.Path = path +} + +func (f *formatValidator) Applies(source interface{}, kind reflect.Kind) bool { + if source == nil || f.KnownFormats == nil { + return false + } + + switch source := source.(type) { + case *spec.Items: + return kind == reflect.String && f.KnownFormats.ContainsName(source.Format) + case *spec.Parameter: + return kind == reflect.String && f.KnownFormats.ContainsName(source.Format) + case *spec.Schema: + return kind == reflect.String && f.KnownFormats.ContainsName(source.Format) + case *spec.Header: + return kind == reflect.String && f.KnownFormats.ContainsName(source.Format) + default: + return false + } +} + +func (f *formatValidator) Validate(val interface{}) *Result { + if f.Options.recycleValidators { + defer func() { + f.redeem() + }() + } + + var result *Result + if f.Options.recycleResult { + result = pools.poolOfResults.BorrowResult() + } else { + result = new(Result) + } + + if err := FormatOf(f.Path, f.In, f.Format, val.(string), f.KnownFormats); err != nil { + result.AddErrors(err) + } + + return result +} + +func (f *formatValidator) redeem() { + pools.poolOfFormatValidators.RedeemValidator(f) +} diff --git a/vendor/github.com/go-openapi/validate/helpers.go b/vendor/github.com/go-openapi/validate/helpers.go new file mode 100644 index 000000000..757e403d9 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/helpers.go @@ -0,0 +1,333 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +// TODO: define this as package validate/internal +// This must be done while keeping CI intact with all tests and test coverage + +import ( + "reflect" + "strconv" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" +) + +const ( + swaggerBody = "body" + swaggerExample = "example" + swaggerExamples = "examples" +) + +const ( + objectType = "object" + arrayType = "array" + stringType = "string" + integerType = "integer" + numberType = "number" + booleanType = "boolean" + fileType = "file" + nullType = "null" +) + +const ( + jsonProperties = "properties" + jsonItems = "items" + jsonType = "type" + // jsonSchema = "schema" + jsonDefault = "default" +) + +const ( + stringFormatDate = "date" + stringFormatDateTime = "date-time" + stringFormatPassword = "password" + stringFormatByte = "byte" + // stringFormatBinary = "binary" + stringFormatCreditCard = "creditcard" + stringFormatDuration = "duration" + stringFormatEmail = "email" + stringFormatHexColor = "hexcolor" + stringFormatHostname = "hostname" + stringFormatIPv4 = "ipv4" + stringFormatIPv6 = "ipv6" + stringFormatISBN = "isbn" + stringFormatISBN10 = "isbn10" + stringFormatISBN13 = "isbn13" + stringFormatMAC = "mac" + stringFormatBSONObjectID = "bsonobjectid" + stringFormatRGBColor = "rgbcolor" + stringFormatSSN = "ssn" + stringFormatURI = "uri" + stringFormatUUID = "uuid" + stringFormatUUID3 = "uuid3" + stringFormatUUID4 = "uuid4" + stringFormatUUID5 = "uuid5" + + integerFormatInt32 = "int32" + integerFormatInt64 = "int64" + integerFormatUInt32 = "uint32" + integerFormatUInt64 = "uint64" + + numberFormatFloat32 = "float32" + numberFormatFloat64 = "float64" + numberFormatFloat = "float" + numberFormatDouble = "double" +) + +// Helpers available at the package level +var ( + pathHelp *pathHelper + valueHelp *valueHelper + errorHelp *errorHelper + paramHelp *paramHelper + responseHelp *responseHelper +) + +type errorHelper struct { + // A collection of unexported helpers for error construction +} + +func (h *errorHelper) sErr(err errors.Error, recycle bool) *Result { + // Builds a Result from standard errors.Error + var result *Result + if recycle { + result = pools.poolOfResults.BorrowResult() + } else { + result = new(Result) + } + result.Errors = []error{err} + + return result +} + +func (h *errorHelper) addPointerError(res *Result, err error, ref string, fromPath string) *Result { + // Provides more context on error messages + // reported by the jsoinpointer package by altering the passed Result + if err != nil { + res.AddErrors(cannotResolveRefMsg(fromPath, ref, err)) + } + return res +} + +type pathHelper struct { + // A collection of unexported helpers for path validation +} + +func (h *pathHelper) stripParametersInPath(path string) string { + // Returns a path stripped from all path parameters, with multiple or trailing slashes removed. + // + // Stripping is performed on a slash-separated basis, e.g '/a{/b}' remains a{/b} and not /a. + // - Trailing "/" make a difference, e.g. /a/ !~ /a (ex: canary/bitbucket.org/swagger.json) + // - presence or absence of a parameter makes a difference, e.g. /a/{log} !~ /a/ (ex: canary/kubernetes/swagger.json) + + // Regexp to extract parameters from path, with surrounding {}. + // NOTE: important non-greedy modifier + rexParsePathParam := mustCompileRegexp(`{[^{}]+?}`) + strippedSegments := []string{} + + for _, segment := range strings.Split(path, "/") { + strippedSegments = append(strippedSegments, rexParsePathParam.ReplaceAllString(segment, "X")) + } + return strings.Join(strippedSegments, "/") +} + +func (h *pathHelper) extractPathParams(path string) (params []string) { + // Extracts all params from a path, with surrounding "{}" + rexParsePathParam := mustCompileRegexp(`{[^{}]+?}`) + + for _, segment := range strings.Split(path, "/") { + for _, v := range rexParsePathParam.FindAllStringSubmatch(segment, -1) { + params = append(params, v...) + } + } + return +} + +type valueHelper struct { + // A collection of unexported helpers for value validation +} + +func (h *valueHelper) asInt64(val interface{}) int64 { + // Number conversion function for int64, without error checking + // (implements an implicit type upgrade). + v := reflect.ValueOf(val) + switch v.Kind() { //nolint:exhaustive + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return int64(v.Uint()) + case reflect.Float32, reflect.Float64: + return int64(v.Float()) + default: + // panic("Non numeric value in asInt64()") + return 0 + } +} + +func (h *valueHelper) asUint64(val interface{}) uint64 { + // Number conversion function for uint64, without error checking + // (implements an implicit type upgrade). + v := reflect.ValueOf(val) + switch v.Kind() { //nolint:exhaustive + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return uint64(v.Int()) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return v.Uint() + case reflect.Float32, reflect.Float64: + return uint64(v.Float()) + default: + // panic("Non numeric value in asUint64()") + return 0 + } +} + +// Same for unsigned floats +func (h *valueHelper) asFloat64(val interface{}) float64 { + // Number conversion function for float64, without error checking + // (implements an implicit type upgrade). + v := reflect.ValueOf(val) + switch v.Kind() { //nolint:exhaustive + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return float64(v.Int()) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return float64(v.Uint()) + case reflect.Float32, reflect.Float64: + return v.Float() + default: + // panic("Non numeric value in asFloat64()") + return 0 + } +} + +type paramHelper struct { + // A collection of unexported helpers for parameters resolution +} + +func (h *paramHelper) safeExpandedParamsFor(path, method, operationID string, res *Result, s *SpecValidator) (params []spec.Parameter) { + operation, ok := s.expandedAnalyzer().OperationFor(method, path) + if ok { + // expand parameters first if necessary + resolvedParams := []spec.Parameter{} + for _, ppr := range operation.Parameters { + resolvedParam, red := h.resolveParam(path, method, operationID, &ppr, s) //#nosec + res.Merge(red) + if resolvedParam != nil { + resolvedParams = append(resolvedParams, *resolvedParam) + } + } + // remove params with invalid expansion from Slice + operation.Parameters = resolvedParams + + for _, ppr := range s.expandedAnalyzer().SafeParamsFor(method, path, + func(_ spec.Parameter, err error) bool { + // since params have already been expanded, there are few causes for error + res.AddErrors(someParametersBrokenMsg(path, method, operationID)) + // original error from analyzer + res.AddErrors(err) + return true + }) { + params = append(params, ppr) + } + } + return +} + +func (h *paramHelper) resolveParam(path, method, operationID string, param *spec.Parameter, s *SpecValidator) (*spec.Parameter, *Result) { + // Ensure parameter is expanded + var err error + res := new(Result) + isRef := param.Ref.String() != "" + if s.spec.SpecFilePath() == "" { + err = spec.ExpandParameterWithRoot(param, s.spec.Spec(), nil) + } else { + err = spec.ExpandParameter(param, s.spec.SpecFilePath()) + + } + if err != nil { // Safeguard + // NOTE: we may enter here when the whole parameter is an unresolved $ref + refPath := strings.Join([]string{"\"" + path + "\"", method}, ".") + errorHelp.addPointerError(res, err, param.Ref.String(), refPath) + return nil, res + } + res.Merge(h.checkExpandedParam(param, param.Name, param.In, operationID, isRef)) + return param, res +} + +func (h *paramHelper) checkExpandedParam(pr *spec.Parameter, path, in, operation string, isRef bool) *Result { + // Secure parameter structure after $ref resolution + res := new(Result) + simpleZero := spec.SimpleSchema{} + // Try to explain why... best guess + switch { + case pr.In == swaggerBody && (pr.SimpleSchema != simpleZero && pr.SimpleSchema.Type != objectType): + if isRef { + // Most likely, a $ref with a sibling is an unwanted situation: in itself this is a warning... + // but we detect it because of the following error: + // schema took over Parameter for an unexplained reason + res.AddWarnings(refShouldNotHaveSiblingsMsg(path, operation)) + } + res.AddErrors(invalidParameterDefinitionMsg(path, in, operation)) + case pr.In != swaggerBody && pr.Schema != nil: + if isRef { + res.AddWarnings(refShouldNotHaveSiblingsMsg(path, operation)) + } + res.AddErrors(invalidParameterDefinitionAsSchemaMsg(path, in, operation)) + case (pr.In == swaggerBody && pr.Schema == nil) || (pr.In != swaggerBody && pr.SimpleSchema == simpleZero): + // Other unexpected mishaps + res.AddErrors(invalidParameterDefinitionMsg(path, in, operation)) + } + return res +} + +type responseHelper struct { + // A collection of unexported helpers for response resolution +} + +func (r *responseHelper) expandResponseRef( + response *spec.Response, + path string, s *SpecValidator) (*spec.Response, *Result) { + // Ensure response is expanded + var err error + res := new(Result) + if s.spec.SpecFilePath() == "" { + // there is no physical document to resolve $ref in response + err = spec.ExpandResponseWithRoot(response, s.spec.Spec(), nil) + } else { + err = spec.ExpandResponse(response, s.spec.SpecFilePath()) + } + if err != nil { // Safeguard + // NOTE: we may enter here when the whole response is an unresolved $ref. + errorHelp.addPointerError(res, err, response.Ref.String(), path) + return nil, res + } + + return response, res +} + +func (r *responseHelper) responseMsgVariants( + responseType string, + responseCode int) (responseName, responseCodeAsStr string) { + // Path variants for messages + if responseType == jsonDefault { + responseCodeAsStr = jsonDefault + responseName = "default response" + } else { + responseCodeAsStr = strconv.Itoa(responseCode) + responseName = "response " + responseCodeAsStr + } + return +} diff --git a/vendor/github.com/go-openapi/validate/object_validator.go b/vendor/github.com/go-openapi/validate/object_validator.go new file mode 100644 index 000000000..dff73fa98 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/object_validator.go @@ -0,0 +1,431 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "fmt" + "reflect" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +type objectValidator struct { + Path string + In string + MaxProperties *int64 + MinProperties *int64 + Required []string + Properties map[string]spec.Schema + AdditionalProperties *spec.SchemaOrBool + PatternProperties map[string]spec.Schema + Root interface{} + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions + splitPath []string +} + +func newObjectValidator(path, in string, + maxProperties, minProperties *int64, required []string, properties spec.SchemaProperties, + additionalProperties *spec.SchemaOrBool, patternProperties spec.SchemaProperties, + root interface{}, formats strfmt.Registry, opts *SchemaValidatorOptions) *objectValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var v *objectValidator + if opts.recycleValidators { + v = pools.poolOfObjectValidators.BorrowValidator() + } else { + v = new(objectValidator) + } + + v.Path = path + v.In = in + v.MaxProperties = maxProperties + v.MinProperties = minProperties + v.Required = required + v.Properties = properties + v.AdditionalProperties = additionalProperties + v.PatternProperties = patternProperties + v.Root = root + v.KnownFormats = formats + v.Options = opts + v.splitPath = strings.Split(v.Path, ".") + + return v +} + +func (o *objectValidator) SetPath(path string) { + o.Path = path + o.splitPath = strings.Split(path, ".") +} + +func (o *objectValidator) Applies(source interface{}, kind reflect.Kind) bool { + // TODO: this should also work for structs + // there is a problem in the type validator where it will be unhappy about null values + // so that requires more testing + _, isSchema := source.(*spec.Schema) + return isSchema && (kind == reflect.Map || kind == reflect.Struct) +} + +func (o *objectValidator) isProperties() bool { + p := o.splitPath + return len(p) > 1 && p[len(p)-1] == jsonProperties && p[len(p)-2] != jsonProperties +} + +func (o *objectValidator) isDefault() bool { + p := o.splitPath + return len(p) > 1 && p[len(p)-1] == jsonDefault && p[len(p)-2] != jsonDefault +} + +func (o *objectValidator) isExample() bool { + p := o.splitPath + return len(p) > 1 && (p[len(p)-1] == swaggerExample || p[len(p)-1] == swaggerExamples) && p[len(p)-2] != swaggerExample +} + +func (o *objectValidator) checkArrayMustHaveItems(res *Result, val map[string]interface{}) { + // for swagger 2.0 schemas, there is an additional constraint to have array items defined explicitly. + // with pure jsonschema draft 4, one may have arrays with undefined items (i.e. any type). + if val == nil { + return + } + + t, typeFound := val[jsonType] + if !typeFound { + return + } + + tpe, isString := t.(string) + if !isString || tpe != arrayType { + return + } + + item, itemsKeyFound := val[jsonItems] + if itemsKeyFound { + return + } + + res.AddErrors(errors.Required(jsonItems, o.Path, item)) +} + +func (o *objectValidator) checkItemsMustBeTypeArray(res *Result, val map[string]interface{}) { + if val == nil { + return + } + + if o.isProperties() || o.isDefault() || o.isExample() { + return + } + + _, itemsKeyFound := val[jsonItems] + if !itemsKeyFound { + return + } + + t, typeFound := val[jsonType] + if !typeFound { + // there is no type + res.AddErrors(errors.Required(jsonType, o.Path, t)) + } + + if tpe, isString := t.(string); !isString || tpe != arrayType { + res.AddErrors(errors.InvalidType(o.Path, o.In, arrayType, nil)) + } +} + +func (o *objectValidator) precheck(res *Result, val map[string]interface{}) { + if o.Options.EnableArrayMustHaveItemsCheck { + o.checkArrayMustHaveItems(res, val) + } + if o.Options.EnableObjectArrayTypeCheck { + o.checkItemsMustBeTypeArray(res, val) + } +} + +func (o *objectValidator) Validate(data interface{}) *Result { + if o.Options.recycleValidators { + defer func() { + o.redeem() + }() + } + + var val map[string]interface{} + if data != nil { + var ok bool + val, ok = data.(map[string]interface{}) + if !ok { + return errorHelp.sErr(invalidObjectMsg(o.Path, o.In), o.Options.recycleResult) + } + } + numKeys := int64(len(val)) + + if o.MinProperties != nil && numKeys < *o.MinProperties { + return errorHelp.sErr(errors.TooFewProperties(o.Path, o.In, *o.MinProperties), o.Options.recycleResult) + } + if o.MaxProperties != nil && numKeys > *o.MaxProperties { + return errorHelp.sErr(errors.TooManyProperties(o.Path, o.In, *o.MaxProperties), o.Options.recycleResult) + } + + var res *Result + if o.Options.recycleResult { + res = pools.poolOfResults.BorrowResult() + } else { + res = new(Result) + } + + o.precheck(res, val) + + // check validity of field names + if o.AdditionalProperties != nil && !o.AdditionalProperties.Allows { + // Case: additionalProperties: false + o.validateNoAdditionalProperties(val, res) + } else { + // Cases: empty additionalProperties (implying: true), or additionalProperties: true, or additionalProperties: { <> } + o.validateAdditionalProperties(val, res) + } + + o.validatePropertiesSchema(val, res) + + // Check patternProperties + // TODO: it looks like we have done that twice in many cases + for key, value := range val { + _, regularProperty := o.Properties[key] + matched, _, patterns := o.validatePatternProperty(key, value, res) // applies to regular properties as well + if regularProperty || !matched { + continue + } + + for _, pName := range patterns { + if v, ok := o.PatternProperties[pName]; ok { + r := newSchemaValidator(&v, o.Root, o.Path+"."+key, o.KnownFormats, o.Options).Validate(value) + res.mergeForField(data.(map[string]interface{}), key, r) + } + } + } + + return res +} + +func (o *objectValidator) validateNoAdditionalProperties(val map[string]interface{}, res *Result) { + for k := range val { + if k == "$schema" || k == "id" { + // special properties "$schema" and "id" are ignored + continue + } + + _, regularProperty := o.Properties[k] + if regularProperty { + continue + } + + matched := false + for pk := range o.PatternProperties { + re, err := compileRegexp(pk) + if err != nil { + continue + } + if matches := re.MatchString(k); matches { + matched = true + break + } + } + if matched { + continue + } + + res.AddErrors(errors.PropertyNotAllowed(o.Path, o.In, k)) + + // BUG(fredbi): This section should move to a part dedicated to spec validation as + // it will conflict with regular schemas where a property "headers" is defined. + + // + // Croaks a more explicit message on top of the standard one + // on some recognized cases. + // + // NOTE: edge cases with invalid type assertion are simply ignored here. + // NOTE: prefix your messages here by "IMPORTANT!" so there are not filtered + // by higher level callers (the IMPORTANT! tag will be eventually + // removed). + if k != "headers" || val[k] == nil { + continue + } + + // $ref is forbidden in header + headers, mapOk := val[k].(map[string]interface{}) + if !mapOk { + continue + } + + for headerKey, headerBody := range headers { + if headerBody == nil { + continue + } + + headerSchema, mapOfMapOk := headerBody.(map[string]interface{}) + if !mapOfMapOk { + continue + } + + _, found := headerSchema["$ref"] + if !found { + continue + } + + refString, stringOk := headerSchema["$ref"].(string) + if !stringOk { + continue + } + + msg := strings.Join([]string{", one may not use $ref=\":", refString, "\""}, "") + res.AddErrors(refNotAllowedInHeaderMsg(o.Path, headerKey, msg)) + /* + case "$ref": + if val[k] != nil { + // TODO: check context of that ref: warn about siblings, check against invalid context + } + */ + } + } +} + +func (o *objectValidator) validateAdditionalProperties(val map[string]interface{}, res *Result) { + for key, value := range val { + _, regularProperty := o.Properties[key] + if regularProperty { + continue + } + + // Validates property against "patternProperties" if applicable + // BUG(fredbi): succeededOnce is always false + + // NOTE: how about regular properties which do not match patternProperties? + matched, succeededOnce, _ := o.validatePatternProperty(key, value, res) + if matched || succeededOnce { + continue + } + + if o.AdditionalProperties == nil || o.AdditionalProperties.Schema == nil { + continue + } + + // Cases: properties which are not regular properties and have not been matched by the PatternProperties validator + // AdditionalProperties as Schema + r := newSchemaValidator(o.AdditionalProperties.Schema, o.Root, o.Path+"."+key, o.KnownFormats, o.Options).Validate(value) + res.mergeForField(val, key, r) + } + // Valid cases: additionalProperties: true or undefined +} + +func (o *objectValidator) validatePropertiesSchema(val map[string]interface{}, res *Result) { + createdFromDefaults := map[string]struct{}{} + + // Property types: + // - regular Property + pSchema := pools.poolOfSchemas.BorrowSchema() // recycle a spec.Schema object which lifespan extends only to the validation of properties + defer func() { + pools.poolOfSchemas.RedeemSchema(pSchema) + }() + + for pName := range o.Properties { + *pSchema = o.Properties[pName] + var rName string + if o.Path == "" { + rName = pName + } else { + rName = o.Path + "." + pName + } + + // Recursively validates each property against its schema + v, ok := val[pName] + if ok { + r := newSchemaValidator(pSchema, o.Root, rName, o.KnownFormats, o.Options).Validate(v) + res.mergeForField(val, pName, r) + + continue + } + + if pSchema.Default != nil { + // if a default value is defined, creates the property from defaults + // NOTE: JSON schema does not enforce default values to be valid against schema. Swagger does. + createdFromDefaults[pName] = struct{}{} + if !o.Options.skipSchemataResult { + res.addPropertySchemata(val, pName, pSchema) // this shallow-clones the content of the pSchema pointer + } + } + } + + if len(o.Required) == 0 { + return + } + + // Check required properties + for _, k := range o.Required { + v, ok := val[k] + if ok { + continue + } + _, isCreatedFromDefaults := createdFromDefaults[k] + if isCreatedFromDefaults { + continue + } + + res.AddErrors(errors.Required(fmt.Sprintf("%s.%s", o.Path, k), o.In, v)) + } +} + +// TODO: succeededOnce is not used anywhere +func (o *objectValidator) validatePatternProperty(key string, value interface{}, result *Result) (bool, bool, []string) { + if len(o.PatternProperties) == 0 { + return false, false, nil + } + + matched := false + succeededOnce := false + patterns := make([]string, 0, len(o.PatternProperties)) + + schema := pools.poolOfSchemas.BorrowSchema() + defer func() { + pools.poolOfSchemas.RedeemSchema(schema) + }() + + for k := range o.PatternProperties { + re, err := compileRegexp(k) + if err != nil { + continue + } + + match := re.MatchString(key) + if !match { + continue + } + + *schema = o.PatternProperties[k] + patterns = append(patterns, k) + matched = true + validator := newSchemaValidator(schema, o.Root, fmt.Sprintf("%s.%s", o.Path, key), o.KnownFormats, o.Options) + + res := validator.Validate(value) + result.Merge(res) + } + + return matched, succeededOnce, patterns +} + +func (o *objectValidator) redeem() { + pools.poolOfObjectValidators.RedeemValidator(o) +} diff --git a/vendor/github.com/go-openapi/validate/options.go b/vendor/github.com/go-openapi/validate/options.go new file mode 100644 index 000000000..cfe9b0660 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/options.go @@ -0,0 +1,62 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import "sync" + +// Opts specifies validation options for a SpecValidator. +// +// NOTE: other options might be needed, for example a go-swagger specific mode. +type Opts struct { + ContinueOnErrors bool // true: continue reporting errors, even if spec is invalid + + // StrictPathParamUniqueness enables a strict validation of paths that include + // path parameters. When true, it will enforce that for each method, the path + // is unique, regardless of path parameters such that GET:/petstore/{id} and + // GET:/petstore/{pet} anre considered duplicate paths. + // + // Consider disabling if path parameters can include slashes such as + // GET:/v1/{shelve} and GET:/v1/{book}, where the IDs are "shelve/*" and + // /"shelve/*/book/*" respectively. + StrictPathParamUniqueness bool + SkipSchemataResult bool +} + +var ( + defaultOpts = Opts{ + // default is to stop validation on errors + ContinueOnErrors: false, + + // StrictPathParamUniqueness is defaulted to true. This maintains existing + // behavior. + StrictPathParamUniqueness: true, + } + + defaultOptsMutex = &sync.Mutex{} +) + +// SetContinueOnErrors sets global default behavior regarding spec validation errors reporting. +// +// For extended error reporting, you most likely want to set it to true. +// For faster validation, it's better to give up early when a spec is detected as invalid: set it to false (this is the default). +// +// Setting this mode does NOT affect the validation status. +// +// NOTE: this method affects global defaults. It is not suitable for a concurrent usage. +func SetContinueOnErrors(c bool) { + defer defaultOptsMutex.Unlock() + defaultOptsMutex.Lock() + defaultOpts.ContinueOnErrors = c +} diff --git a/vendor/github.com/go-openapi/validate/pools.go b/vendor/github.com/go-openapi/validate/pools.go new file mode 100644 index 000000000..3ddce4dcc --- /dev/null +++ b/vendor/github.com/go-openapi/validate/pools.go @@ -0,0 +1,366 @@ +//go:build !validatedebug + +package validate + +import ( + "sync" + + "github.com/go-openapi/spec" +) + +var pools allPools + +func init() { + resetPools() +} + +func resetPools() { + // NOTE: for testing purpose, we might want to reset pools after calling Validate twice. + // The pool is corrupted in that case: calling Put twice inserts a duplicate in the pool + // and further calls to Get are mishandled. + + pools = allPools{ + poolOfSchemaValidators: schemaValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &SchemaValidator{} + + return s + }, + }, + }, + poolOfObjectValidators: objectValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &objectValidator{} + + return s + }, + }, + }, + poolOfSliceValidators: sliceValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &schemaSliceValidator{} + + return s + }, + }, + }, + poolOfItemsValidators: itemsValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &itemsValidator{} + + return s + }, + }, + }, + poolOfBasicCommonValidators: basicCommonValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &basicCommonValidator{} + + return s + }, + }, + }, + poolOfHeaderValidators: headerValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &HeaderValidator{} + + return s + }, + }, + }, + poolOfParamValidators: paramValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &ParamValidator{} + + return s + }, + }, + }, + poolOfBasicSliceValidators: basicSliceValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &basicSliceValidator{} + + return s + }, + }, + }, + poolOfNumberValidators: numberValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &numberValidator{} + + return s + }, + }, + }, + poolOfStringValidators: stringValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &stringValidator{} + + return s + }, + }, + }, + poolOfSchemaPropsValidators: schemaPropsValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &schemaPropsValidator{} + + return s + }, + }, + }, + poolOfFormatValidators: formatValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &formatValidator{} + + return s + }, + }, + }, + poolOfTypeValidators: typeValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &typeValidator{} + + return s + }, + }, + }, + poolOfSchemas: schemasPool{ + Pool: &sync.Pool{ + New: func() any { + s := &spec.Schema{} + + return s + }, + }, + }, + poolOfResults: resultsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &Result{} + + return s + }, + }, + }, + } +} + +type ( + allPools struct { + // memory pools for all validator objects. + // + // Each pool can be borrowed from and redeemed to. + poolOfSchemaValidators schemaValidatorsPool + poolOfObjectValidators objectValidatorsPool + poolOfSliceValidators sliceValidatorsPool + poolOfItemsValidators itemsValidatorsPool + poolOfBasicCommonValidators basicCommonValidatorsPool + poolOfHeaderValidators headerValidatorsPool + poolOfParamValidators paramValidatorsPool + poolOfBasicSliceValidators basicSliceValidatorsPool + poolOfNumberValidators numberValidatorsPool + poolOfStringValidators stringValidatorsPool + poolOfSchemaPropsValidators schemaPropsValidatorsPool + poolOfFormatValidators formatValidatorsPool + poolOfTypeValidators typeValidatorsPool + poolOfSchemas schemasPool + poolOfResults resultsPool + } + + schemaValidatorsPool struct { + *sync.Pool + } + + objectValidatorsPool struct { + *sync.Pool + } + + sliceValidatorsPool struct { + *sync.Pool + } + + itemsValidatorsPool struct { + *sync.Pool + } + + basicCommonValidatorsPool struct { + *sync.Pool + } + + headerValidatorsPool struct { + *sync.Pool + } + + paramValidatorsPool struct { + *sync.Pool + } + + basicSliceValidatorsPool struct { + *sync.Pool + } + + numberValidatorsPool struct { + *sync.Pool + } + + stringValidatorsPool struct { + *sync.Pool + } + + schemaPropsValidatorsPool struct { + *sync.Pool + } + + formatValidatorsPool struct { + *sync.Pool + } + + typeValidatorsPool struct { + *sync.Pool + } + + schemasPool struct { + *sync.Pool + } + + resultsPool struct { + *sync.Pool + } +) + +func (p schemaValidatorsPool) BorrowValidator() *SchemaValidator { + return p.Get().(*SchemaValidator) +} + +func (p schemaValidatorsPool) RedeemValidator(s *SchemaValidator) { + // NOTE: s might be nil. In that case, Put is a noop. + p.Put(s) +} + +func (p objectValidatorsPool) BorrowValidator() *objectValidator { + return p.Get().(*objectValidator) +} + +func (p objectValidatorsPool) RedeemValidator(s *objectValidator) { + p.Put(s) +} + +func (p sliceValidatorsPool) BorrowValidator() *schemaSliceValidator { + return p.Get().(*schemaSliceValidator) +} + +func (p sliceValidatorsPool) RedeemValidator(s *schemaSliceValidator) { + p.Put(s) +} + +func (p itemsValidatorsPool) BorrowValidator() *itemsValidator { + return p.Get().(*itemsValidator) +} + +func (p itemsValidatorsPool) RedeemValidator(s *itemsValidator) { + p.Put(s) +} + +func (p basicCommonValidatorsPool) BorrowValidator() *basicCommonValidator { + return p.Get().(*basicCommonValidator) +} + +func (p basicCommonValidatorsPool) RedeemValidator(s *basicCommonValidator) { + p.Put(s) +} + +func (p headerValidatorsPool) BorrowValidator() *HeaderValidator { + return p.Get().(*HeaderValidator) +} + +func (p headerValidatorsPool) RedeemValidator(s *HeaderValidator) { + p.Put(s) +} + +func (p paramValidatorsPool) BorrowValidator() *ParamValidator { + return p.Get().(*ParamValidator) +} + +func (p paramValidatorsPool) RedeemValidator(s *ParamValidator) { + p.Put(s) +} + +func (p basicSliceValidatorsPool) BorrowValidator() *basicSliceValidator { + return p.Get().(*basicSliceValidator) +} + +func (p basicSliceValidatorsPool) RedeemValidator(s *basicSliceValidator) { + p.Put(s) +} + +func (p numberValidatorsPool) BorrowValidator() *numberValidator { + return p.Get().(*numberValidator) +} + +func (p numberValidatorsPool) RedeemValidator(s *numberValidator) { + p.Put(s) +} + +func (p stringValidatorsPool) BorrowValidator() *stringValidator { + return p.Get().(*stringValidator) +} + +func (p stringValidatorsPool) RedeemValidator(s *stringValidator) { + p.Put(s) +} + +func (p schemaPropsValidatorsPool) BorrowValidator() *schemaPropsValidator { + return p.Get().(*schemaPropsValidator) +} + +func (p schemaPropsValidatorsPool) RedeemValidator(s *schemaPropsValidator) { + p.Put(s) +} + +func (p formatValidatorsPool) BorrowValidator() *formatValidator { + return p.Get().(*formatValidator) +} + +func (p formatValidatorsPool) RedeemValidator(s *formatValidator) { + p.Put(s) +} + +func (p typeValidatorsPool) BorrowValidator() *typeValidator { + return p.Get().(*typeValidator) +} + +func (p typeValidatorsPool) RedeemValidator(s *typeValidator) { + p.Put(s) +} + +func (p schemasPool) BorrowSchema() *spec.Schema { + return p.Get().(*spec.Schema) +} + +func (p schemasPool) RedeemSchema(s *spec.Schema) { + p.Put(s) +} + +func (p resultsPool) BorrowResult() *Result { + return p.Get().(*Result).cleared() +} + +func (p resultsPool) RedeemResult(s *Result) { + if s == emptyResult { + return + } + p.Put(s) +} diff --git a/vendor/github.com/go-openapi/validate/pools_debug.go b/vendor/github.com/go-openapi/validate/pools_debug.go new file mode 100644 index 000000000..12949f02a --- /dev/null +++ b/vendor/github.com/go-openapi/validate/pools_debug.go @@ -0,0 +1,1012 @@ +//go:build validatedebug + +package validate + +import ( + "fmt" + "runtime" + "sync" + "testing" + + "github.com/go-openapi/spec" +) + +// This version of the pools is to be used for debugging and testing, with build tag "validatedebug". +// +// In this mode, the pools are tracked for allocation and redemption of borrowed objects, so we can +// verify a few behaviors of the validators. The debug pools panic when an invalid usage pattern is detected. + +var pools allPools + +func init() { + resetPools() +} + +func resetPools() { + // NOTE: for testing purpose, we might want to reset pools after calling Validate twice. + // The pool is corrupted in that case: calling Put twice inserts a duplicate in the pool + // and further calls to Get are mishandled. + + pools = allPools{ + poolOfSchemaValidators: schemaValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &SchemaValidator{} + + return s + }, + }, + debugMap: make(map[*SchemaValidator]status), + allocMap: make(map[*SchemaValidator]string), + redeemMap: make(map[*SchemaValidator]string), + }, + poolOfObjectValidators: objectValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &objectValidator{} + + return s + }, + }, + debugMap: make(map[*objectValidator]status), + allocMap: make(map[*objectValidator]string), + redeemMap: make(map[*objectValidator]string), + }, + poolOfSliceValidators: sliceValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &schemaSliceValidator{} + + return s + }, + }, + debugMap: make(map[*schemaSliceValidator]status), + allocMap: make(map[*schemaSliceValidator]string), + redeemMap: make(map[*schemaSliceValidator]string), + }, + poolOfItemsValidators: itemsValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &itemsValidator{} + + return s + }, + }, + debugMap: make(map[*itemsValidator]status), + allocMap: make(map[*itemsValidator]string), + redeemMap: make(map[*itemsValidator]string), + }, + poolOfBasicCommonValidators: basicCommonValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &basicCommonValidator{} + + return s + }, + }, + debugMap: make(map[*basicCommonValidator]status), + allocMap: make(map[*basicCommonValidator]string), + redeemMap: make(map[*basicCommonValidator]string), + }, + poolOfHeaderValidators: headerValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &HeaderValidator{} + + return s + }, + }, + debugMap: make(map[*HeaderValidator]status), + allocMap: make(map[*HeaderValidator]string), + redeemMap: make(map[*HeaderValidator]string), + }, + poolOfParamValidators: paramValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &ParamValidator{} + + return s + }, + }, + debugMap: make(map[*ParamValidator]status), + allocMap: make(map[*ParamValidator]string), + redeemMap: make(map[*ParamValidator]string), + }, + poolOfBasicSliceValidators: basicSliceValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &basicSliceValidator{} + + return s + }, + }, + debugMap: make(map[*basicSliceValidator]status), + allocMap: make(map[*basicSliceValidator]string), + redeemMap: make(map[*basicSliceValidator]string), + }, + poolOfNumberValidators: numberValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &numberValidator{} + + return s + }, + }, + debugMap: make(map[*numberValidator]status), + allocMap: make(map[*numberValidator]string), + redeemMap: make(map[*numberValidator]string), + }, + poolOfStringValidators: stringValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &stringValidator{} + + return s + }, + }, + debugMap: make(map[*stringValidator]status), + allocMap: make(map[*stringValidator]string), + redeemMap: make(map[*stringValidator]string), + }, + poolOfSchemaPropsValidators: schemaPropsValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &schemaPropsValidator{} + + return s + }, + }, + debugMap: make(map[*schemaPropsValidator]status), + allocMap: make(map[*schemaPropsValidator]string), + redeemMap: make(map[*schemaPropsValidator]string), + }, + poolOfFormatValidators: formatValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &formatValidator{} + + return s + }, + }, + debugMap: make(map[*formatValidator]status), + allocMap: make(map[*formatValidator]string), + redeemMap: make(map[*formatValidator]string), + }, + poolOfTypeValidators: typeValidatorsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &typeValidator{} + + return s + }, + }, + debugMap: make(map[*typeValidator]status), + allocMap: make(map[*typeValidator]string), + redeemMap: make(map[*typeValidator]string), + }, + poolOfSchemas: schemasPool{ + Pool: &sync.Pool{ + New: func() any { + s := &spec.Schema{} + + return s + }, + }, + debugMap: make(map[*spec.Schema]status), + allocMap: make(map[*spec.Schema]string), + redeemMap: make(map[*spec.Schema]string), + }, + poolOfResults: resultsPool{ + Pool: &sync.Pool{ + New: func() any { + s := &Result{} + + return s + }, + }, + debugMap: make(map[*Result]status), + allocMap: make(map[*Result]string), + redeemMap: make(map[*Result]string), + }, + } +} + +const ( + statusFresh status = iota + 1 + statusRecycled + statusRedeemed +) + +func (s status) String() string { + switch s { + case statusFresh: + return "fresh" + case statusRecycled: + return "recycled" + case statusRedeemed: + return "redeemed" + default: + panic(fmt.Errorf("invalid status: %d", s)) + } +} + +type ( + // Debug + status uint8 + + allPools struct { + // memory pools for all validator objects. + // + // Each pool can be borrowed from and redeemed to. + poolOfSchemaValidators schemaValidatorsPool + poolOfObjectValidators objectValidatorsPool + poolOfSliceValidators sliceValidatorsPool + poolOfItemsValidators itemsValidatorsPool + poolOfBasicCommonValidators basicCommonValidatorsPool + poolOfHeaderValidators headerValidatorsPool + poolOfParamValidators paramValidatorsPool + poolOfBasicSliceValidators basicSliceValidatorsPool + poolOfNumberValidators numberValidatorsPool + poolOfStringValidators stringValidatorsPool + poolOfSchemaPropsValidators schemaPropsValidatorsPool + poolOfFormatValidators formatValidatorsPool + poolOfTypeValidators typeValidatorsPool + poolOfSchemas schemasPool + poolOfResults resultsPool + } + + schemaValidatorsPool struct { + *sync.Pool + debugMap map[*SchemaValidator]status + allocMap map[*SchemaValidator]string + redeemMap map[*SchemaValidator]string + mx sync.Mutex + } + + objectValidatorsPool struct { + *sync.Pool + debugMap map[*objectValidator]status + allocMap map[*objectValidator]string + redeemMap map[*objectValidator]string + mx sync.Mutex + } + + sliceValidatorsPool struct { + *sync.Pool + debugMap map[*schemaSliceValidator]status + allocMap map[*schemaSliceValidator]string + redeemMap map[*schemaSliceValidator]string + mx sync.Mutex + } + + itemsValidatorsPool struct { + *sync.Pool + debugMap map[*itemsValidator]status + allocMap map[*itemsValidator]string + redeemMap map[*itemsValidator]string + mx sync.Mutex + } + + basicCommonValidatorsPool struct { + *sync.Pool + debugMap map[*basicCommonValidator]status + allocMap map[*basicCommonValidator]string + redeemMap map[*basicCommonValidator]string + mx sync.Mutex + } + + headerValidatorsPool struct { + *sync.Pool + debugMap map[*HeaderValidator]status + allocMap map[*HeaderValidator]string + redeemMap map[*HeaderValidator]string + mx sync.Mutex + } + + paramValidatorsPool struct { + *sync.Pool + debugMap map[*ParamValidator]status + allocMap map[*ParamValidator]string + redeemMap map[*ParamValidator]string + mx sync.Mutex + } + + basicSliceValidatorsPool struct { + *sync.Pool + debugMap map[*basicSliceValidator]status + allocMap map[*basicSliceValidator]string + redeemMap map[*basicSliceValidator]string + mx sync.Mutex + } + + numberValidatorsPool struct { + *sync.Pool + debugMap map[*numberValidator]status + allocMap map[*numberValidator]string + redeemMap map[*numberValidator]string + mx sync.Mutex + } + + stringValidatorsPool struct { + *sync.Pool + debugMap map[*stringValidator]status + allocMap map[*stringValidator]string + redeemMap map[*stringValidator]string + mx sync.Mutex + } + + schemaPropsValidatorsPool struct { + *sync.Pool + debugMap map[*schemaPropsValidator]status + allocMap map[*schemaPropsValidator]string + redeemMap map[*schemaPropsValidator]string + mx sync.Mutex + } + + formatValidatorsPool struct { + *sync.Pool + debugMap map[*formatValidator]status + allocMap map[*formatValidator]string + redeemMap map[*formatValidator]string + mx sync.Mutex + } + + typeValidatorsPool struct { + *sync.Pool + debugMap map[*typeValidator]status + allocMap map[*typeValidator]string + redeemMap map[*typeValidator]string + mx sync.Mutex + } + + schemasPool struct { + *sync.Pool + debugMap map[*spec.Schema]status + allocMap map[*spec.Schema]string + redeemMap map[*spec.Schema]string + mx sync.Mutex + } + + resultsPool struct { + *sync.Pool + debugMap map[*Result]status + allocMap map[*Result]string + redeemMap map[*Result]string + mx sync.Mutex + } +) + +func (p *schemaValidatorsPool) BorrowValidator() *SchemaValidator { + s := p.Get().(*SchemaValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled schema should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *schemaValidatorsPool) RedeemValidator(s *SchemaValidator) { + // NOTE: s might be nil. In that case, Put is a noop. + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed schema should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed schema should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *objectValidatorsPool) BorrowValidator() *objectValidator { + s := p.Get().(*objectValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled object should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *objectValidatorsPool) RedeemValidator(s *objectValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed object should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed object should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *sliceValidatorsPool) BorrowValidator() *schemaSliceValidator { + s := p.Get().(*schemaSliceValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled schemaSliceValidator should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *sliceValidatorsPool) RedeemValidator(s *schemaSliceValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed schemaSliceValidator should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed schemaSliceValidator should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *itemsValidatorsPool) BorrowValidator() *itemsValidator { + s := p.Get().(*itemsValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled itemsValidator should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *itemsValidatorsPool) RedeemValidator(s *itemsValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed itemsValidator should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed itemsValidator should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *basicCommonValidatorsPool) BorrowValidator() *basicCommonValidator { + s := p.Get().(*basicCommonValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled basicCommonValidator should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *basicCommonValidatorsPool) RedeemValidator(s *basicCommonValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed basicCommonValidator should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed basicCommonValidator should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *headerValidatorsPool) BorrowValidator() *HeaderValidator { + s := p.Get().(*HeaderValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled HeaderValidator should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *headerValidatorsPool) RedeemValidator(s *HeaderValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed header should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed header should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *paramValidatorsPool) BorrowValidator() *ParamValidator { + s := p.Get().(*ParamValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled param should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *paramValidatorsPool) RedeemValidator(s *ParamValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed param should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed param should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *basicSliceValidatorsPool) BorrowValidator() *basicSliceValidator { + s := p.Get().(*basicSliceValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled basicSliceValidator should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *basicSliceValidatorsPool) RedeemValidator(s *basicSliceValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed basicSliceValidator should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed basicSliceValidator should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *numberValidatorsPool) BorrowValidator() *numberValidator { + s := p.Get().(*numberValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled number should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *numberValidatorsPool) RedeemValidator(s *numberValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed number should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed number should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *stringValidatorsPool) BorrowValidator() *stringValidator { + s := p.Get().(*stringValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled string should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *stringValidatorsPool) RedeemValidator(s *stringValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed string should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed string should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *schemaPropsValidatorsPool) BorrowValidator() *schemaPropsValidator { + s := p.Get().(*schemaPropsValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled param should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *schemaPropsValidatorsPool) RedeemValidator(s *schemaPropsValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed schemaProps should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed schemaProps should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *formatValidatorsPool) BorrowValidator() *formatValidator { + s := p.Get().(*formatValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled format should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *formatValidatorsPool) RedeemValidator(s *formatValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed format should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed format should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *typeValidatorsPool) BorrowValidator() *typeValidator { + s := p.Get().(*typeValidator) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled type should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *typeValidatorsPool) RedeemValidator(s *typeValidator) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed type should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic(fmt.Errorf("redeemed type should have been allocated from a fresh or recycled pointer. Got status %s, already redeamed at: %s", x, p.redeemMap[s])) + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *schemasPool) BorrowSchema() *spec.Schema { + s := p.Get().(*spec.Schema) + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled spec.Schema should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *schemasPool) RedeemSchema(s *spec.Schema) { + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed spec.Schema should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed spec.Schema should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *resultsPool) BorrowResult() *Result { + s := p.Get().(*Result).cleared() + + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + p.debugMap[s] = statusFresh + } else { + if x != statusRedeemed { + panic("recycled result should have been redeemed") + } + p.debugMap[s] = statusRecycled + } + p.allocMap[s] = caller() + + return s +} + +func (p *resultsPool) RedeemResult(s *Result) { + if s == emptyResult { + if len(s.Errors) > 0 || len(s.Warnings) > 0 { + panic("empty result should not mutate") + } + return + } + p.mx.Lock() + defer p.mx.Unlock() + x, ok := p.debugMap[s] + if !ok { + panic("redeemed Result should have been allocated") + } + if x != statusRecycled && x != statusFresh { + panic("redeemed Result should have been allocated from a fresh or recycled pointer") + } + p.debugMap[s] = statusRedeemed + p.redeemMap[s] = caller() + p.Put(s) +} + +func (p *allPools) allIsRedeemed(t testing.TB) bool { + outcome := true + for k, v := range p.poolOfSchemaValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("schemaValidator should be redeemed. Allocated by: %s", p.poolOfSchemaValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfObjectValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("objectValidator should be redeemed. Allocated by: %s", p.poolOfObjectValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfSliceValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("sliceValidator should be redeemed. Allocated by: %s", p.poolOfSliceValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfItemsValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("itemsValidator should be redeemed. Allocated by: %s", p.poolOfItemsValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfBasicCommonValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("basicCommonValidator should be redeemed. Allocated by: %s", p.poolOfBasicCommonValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfHeaderValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("headerValidator should be redeemed. Allocated by: %s", p.poolOfHeaderValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfParamValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("paramValidator should be redeemed. Allocated by: %s", p.poolOfParamValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfBasicSliceValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("basicSliceValidator should be redeemed. Allocated by: %s", p.poolOfBasicSliceValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfNumberValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("numberValidator should be redeemed. Allocated by: %s", p.poolOfNumberValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfStringValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("stringValidator should be redeemed. Allocated by: %s", p.poolOfStringValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfSchemaPropsValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("schemaPropsValidator should be redeemed. Allocated by: %s", p.poolOfSchemaPropsValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfFormatValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("formatValidator should be redeemed. Allocated by: %s", p.poolOfFormatValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfTypeValidators.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("typeValidator should be redeemed. Allocated by: %s", p.poolOfTypeValidators.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfSchemas.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("schemas should be redeemed. Allocated by: %s", p.poolOfSchemas.allocMap[k]) + outcome = false + } + for k, v := range p.poolOfResults.debugMap { + if v == statusRedeemed { + continue + } + t.Logf("result should be redeemed. Allocated by: %s", p.poolOfResults.allocMap[k]) + outcome = false + } + + return outcome +} + +func caller() string { + pc, _, _, _ := runtime.Caller(3) //nolint:dogsled + from, line := runtime.FuncForPC(pc).FileLine(pc) + + return fmt.Sprintf("%s:%d", from, line) +} diff --git a/vendor/github.com/go-openapi/validate/result.go b/vendor/github.com/go-openapi/validate/result.go new file mode 100644 index 000000000..c80804a93 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/result.go @@ -0,0 +1,563 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + stderrors "errors" + "reflect" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" +) + +var emptyResult = &Result{MatchCount: 1} + +// Result represents a validation result set, composed of +// errors and warnings. +// +// It is used to keep track of all detected errors and warnings during +// the validation of a specification. +// +// Matchcount is used to determine +// which errors are relevant in the case of AnyOf, OneOf +// schema validation. Results from the validation branch +// with most matches get eventually selected. +// +// TODO: keep path of key originating the error +type Result struct { + Errors []error + Warnings []error + MatchCount int + + // the object data + data interface{} + + // Schemata for the root object + rootObjectSchemata schemata + // Schemata for object fields + fieldSchemata []fieldSchemata + // Schemata for slice items + itemSchemata []itemSchemata + + cachedFieldSchemata map[FieldKey][]*spec.Schema + cachedItemSchemata map[ItemKey][]*spec.Schema + + wantsRedeemOnMerge bool +} + +// FieldKey is a pair of an object and a field, usable as a key for a map. +type FieldKey struct { + object reflect.Value // actually a map[string]interface{}, but the latter cannot be a key + field string +} + +// ItemKey is a pair of a slice and an index, usable as a key for a map. +type ItemKey struct { + slice reflect.Value // actually a []interface{}, but the latter cannot be a key + index int +} + +// NewFieldKey returns a pair of an object and field usable as a key of a map. +func NewFieldKey(obj map[string]interface{}, field string) FieldKey { + return FieldKey{object: reflect.ValueOf(obj), field: field} +} + +// Object returns the underlying object of this key. +func (fk *FieldKey) Object() map[string]interface{} { + return fk.object.Interface().(map[string]interface{}) +} + +// Field returns the underlying field of this key. +func (fk *FieldKey) Field() string { + return fk.field +} + +// NewItemKey returns a pair of a slice and index usable as a key of a map. +func NewItemKey(slice interface{}, i int) ItemKey { + return ItemKey{slice: reflect.ValueOf(slice), index: i} +} + +// Slice returns the underlying slice of this key. +func (ik *ItemKey) Slice() []interface{} { + return ik.slice.Interface().([]interface{}) +} + +// Index returns the underlying index of this key. +func (ik *ItemKey) Index() int { + return ik.index +} + +type fieldSchemata struct { + obj map[string]interface{} + field string + schemata schemata +} + +type itemSchemata struct { + slice reflect.Value + index int + schemata schemata +} + +// Merge merges this result with the other one(s), preserving match counts etc. +func (r *Result) Merge(others ...*Result) *Result { + for _, other := range others { + if other == nil { + continue + } + r.mergeWithoutRootSchemata(other) + r.rootObjectSchemata.Append(other.rootObjectSchemata) + if other.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(other) + } + } + return r +} + +// Data returns the original data object used for validation. Mutating this renders +// the result invalid. +func (r *Result) Data() interface{} { + return r.data +} + +// RootObjectSchemata returns the schemata which apply to the root object. +func (r *Result) RootObjectSchemata() []*spec.Schema { + return r.rootObjectSchemata.Slice() +} + +// FieldSchemata returns the schemata which apply to fields in objects. +func (r *Result) FieldSchemata() map[FieldKey][]*spec.Schema { + if r.cachedFieldSchemata != nil { + return r.cachedFieldSchemata + } + + ret := make(map[FieldKey][]*spec.Schema, len(r.fieldSchemata)) + for _, fs := range r.fieldSchemata { + key := NewFieldKey(fs.obj, fs.field) + if fs.schemata.one != nil { + ret[key] = append(ret[key], fs.schemata.one) + } else if len(fs.schemata.multiple) > 0 { + ret[key] = append(ret[key], fs.schemata.multiple...) + } + } + r.cachedFieldSchemata = ret + + return ret +} + +// ItemSchemata returns the schemata which apply to items in slices. +func (r *Result) ItemSchemata() map[ItemKey][]*spec.Schema { + if r.cachedItemSchemata != nil { + return r.cachedItemSchemata + } + + ret := make(map[ItemKey][]*spec.Schema, len(r.itemSchemata)) + for _, ss := range r.itemSchemata { + key := NewItemKey(ss.slice, ss.index) + if ss.schemata.one != nil { + ret[key] = append(ret[key], ss.schemata.one) + } else if len(ss.schemata.multiple) > 0 { + ret[key] = append(ret[key], ss.schemata.multiple...) + } + } + r.cachedItemSchemata = ret + return ret +} + +func (r *Result) resetCaches() { + r.cachedFieldSchemata = nil + r.cachedItemSchemata = nil +} + +// mergeForField merges other into r, assigning other's root schemata to the given Object and field name. +// +//nolint:unparam +func (r *Result) mergeForField(obj map[string]interface{}, field string, other *Result) *Result { + if other == nil { + return r + } + r.mergeWithoutRootSchemata(other) + + if other.rootObjectSchemata.Len() > 0 { + if r.fieldSchemata == nil { + r.fieldSchemata = make([]fieldSchemata, len(obj)) + } + // clone other schemata, as other is about to be redeemed to the pool + r.fieldSchemata = append(r.fieldSchemata, fieldSchemata{ + obj: obj, + field: field, + schemata: other.rootObjectSchemata.Clone(), + }) + } + if other.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(other) + } + + return r +} + +// mergeForSlice merges other into r, assigning other's root schemata to the given slice and index. +// +//nolint:unparam +func (r *Result) mergeForSlice(slice reflect.Value, i int, other *Result) *Result { + if other == nil { + return r + } + r.mergeWithoutRootSchemata(other) + + if other.rootObjectSchemata.Len() > 0 { + if r.itemSchemata == nil { + r.itemSchemata = make([]itemSchemata, slice.Len()) + } + // clone other schemata, as other is about to be redeemed to the pool + r.itemSchemata = append(r.itemSchemata, itemSchemata{ + slice: slice, + index: i, + schemata: other.rootObjectSchemata.Clone(), + }) + } + + if other.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(other) + } + + return r +} + +// addRootObjectSchemata adds the given schemata for the root object of the result. +// +// Since the slice schemata might be reused, it is shallow-cloned before saving it into the result. +func (r *Result) addRootObjectSchemata(s *spec.Schema) { + clone := *s + r.rootObjectSchemata.Append(schemata{one: &clone}) +} + +// addPropertySchemata adds the given schemata for the object and field. +// +// Since the slice schemata might be reused, it is shallow-cloned before saving it into the result. +func (r *Result) addPropertySchemata(obj map[string]interface{}, fld string, schema *spec.Schema) { + if r.fieldSchemata == nil { + r.fieldSchemata = make([]fieldSchemata, 0, len(obj)) + } + clone := *schema + r.fieldSchemata = append(r.fieldSchemata, fieldSchemata{obj: obj, field: fld, schemata: schemata{one: &clone}}) +} + +/* +// addSliceSchemata adds the given schemata for the slice and index. +// The slice schemata might be reused. I.e. do not modify it after being added to a result. +func (r *Result) addSliceSchemata(slice reflect.Value, i int, schema *spec.Schema) { + if r.itemSchemata == nil { + r.itemSchemata = make([]itemSchemata, 0, slice.Len()) + } + r.itemSchemata = append(r.itemSchemata, itemSchemata{slice: slice, index: i, schemata: schemata{one: schema}}) +} +*/ + +// mergeWithoutRootSchemata merges other into r, ignoring the rootObject schemata. +func (r *Result) mergeWithoutRootSchemata(other *Result) { + r.resetCaches() + r.AddErrors(other.Errors...) + r.AddWarnings(other.Warnings...) + r.MatchCount += other.MatchCount + + if other.fieldSchemata != nil { + if r.fieldSchemata == nil { + r.fieldSchemata = make([]fieldSchemata, 0, len(other.fieldSchemata)) + } + for _, field := range other.fieldSchemata { + field.schemata = field.schemata.Clone() + r.fieldSchemata = append(r.fieldSchemata, field) + } + } + + if other.itemSchemata != nil { + if r.itemSchemata == nil { + r.itemSchemata = make([]itemSchemata, 0, len(other.itemSchemata)) + } + for _, field := range other.itemSchemata { + field.schemata = field.schemata.Clone() + r.itemSchemata = append(r.itemSchemata, field) + } + } +} + +// MergeAsErrors merges this result with the other one(s), preserving match counts etc. +// +// Warnings from input are merged as Errors in the returned merged Result. +func (r *Result) MergeAsErrors(others ...*Result) *Result { + for _, other := range others { + if other != nil { + r.resetCaches() + r.AddErrors(other.Errors...) + r.AddErrors(other.Warnings...) + r.MatchCount += other.MatchCount + if other.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(other) + } + } + } + return r +} + +// MergeAsWarnings merges this result with the other one(s), preserving match counts etc. +// +// Errors from input are merged as Warnings in the returned merged Result. +func (r *Result) MergeAsWarnings(others ...*Result) *Result { + for _, other := range others { + if other != nil { + r.resetCaches() + r.AddWarnings(other.Errors...) + r.AddWarnings(other.Warnings...) + r.MatchCount += other.MatchCount + if other.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(other) + } + } + } + return r +} + +// AddErrors adds errors to this validation result (if not already reported). +// +// Since the same check may be passed several times while exploring the +// spec structure (via $ref, ...) reported messages are kept +// unique. +func (r *Result) AddErrors(errors ...error) { + for _, e := range errors { + found := false + if e != nil { + for _, isReported := range r.Errors { + if e.Error() == isReported.Error() { + found = true + break + } + } + if !found { + r.Errors = append(r.Errors, e) + } + } + } +} + +// AddWarnings adds warnings to this validation result (if not already reported). +func (r *Result) AddWarnings(warnings ...error) { + for _, e := range warnings { + found := false + if e != nil { + for _, isReported := range r.Warnings { + if e.Error() == isReported.Error() { + found = true + break + } + } + if !found { + r.Warnings = append(r.Warnings, e) + } + } + } +} + +func (r *Result) keepRelevantErrors() *Result { + // TODO: this one is going to disapear... + // keepRelevantErrors strips a result from standard errors and keeps + // the ones which are supposedly more accurate. + // + // The original result remains unaffected (creates a new instance of Result). + // This method is used to work around the "matchCount" filter which would otherwise + // strip our result from some accurate error reporting from lower level validators. + // + // NOTE: this implementation with a placeholder (IMPORTANT!) is neither clean nor + // very efficient. On the other hand, relying on go-openapi/errors to manipulate + // codes would require to change a lot here. So, for the moment, let's go with + // placeholders. + strippedErrors := []error{} + for _, e := range r.Errors { + if strings.HasPrefix(e.Error(), "IMPORTANT!") { + strippedErrors = append(strippedErrors, stderrors.New(strings.TrimPrefix(e.Error(), "IMPORTANT!"))) + } + } + strippedWarnings := []error{} + for _, e := range r.Warnings { + if strings.HasPrefix(e.Error(), "IMPORTANT!") { + strippedWarnings = append(strippedWarnings, stderrors.New(strings.TrimPrefix(e.Error(), "IMPORTANT!"))) + } + } + var strippedResult *Result + if r.wantsRedeemOnMerge { + strippedResult = pools.poolOfResults.BorrowResult() + } else { + strippedResult = new(Result) + } + strippedResult.Errors = strippedErrors + strippedResult.Warnings = strippedWarnings + return strippedResult +} + +// IsValid returns true when this result is valid. +// +// Returns true on a nil *Result. +func (r *Result) IsValid() bool { + if r == nil { + return true + } + return len(r.Errors) == 0 +} + +// HasErrors returns true when this result is invalid. +// +// Returns false on a nil *Result. +func (r *Result) HasErrors() bool { + if r == nil { + return false + } + return !r.IsValid() +} + +// HasWarnings returns true when this result contains warnings. +// +// Returns false on a nil *Result. +func (r *Result) HasWarnings() bool { + if r == nil { + return false + } + return len(r.Warnings) > 0 +} + +// HasErrorsOrWarnings returns true when this result contains +// either errors or warnings. +// +// Returns false on a nil *Result. +func (r *Result) HasErrorsOrWarnings() bool { + if r == nil { + return false + } + return len(r.Errors) > 0 || len(r.Warnings) > 0 +} + +// Inc increments the match count +func (r *Result) Inc() { + r.MatchCount++ +} + +// AsError renders this result as an error interface +// +// TODO: reporting / pretty print with path ordered and indented +func (r *Result) AsError() error { + if r.IsValid() { + return nil + } + return errors.CompositeValidationError(r.Errors...) +} + +func (r *Result) cleared() *Result { + // clear the Result to be reusable. Keep allocated capacity. + r.Errors = r.Errors[:0] + r.Warnings = r.Warnings[:0] + r.MatchCount = 0 + r.data = nil + r.rootObjectSchemata.one = nil + r.rootObjectSchemata.multiple = r.rootObjectSchemata.multiple[:0] + r.fieldSchemata = r.fieldSchemata[:0] + r.itemSchemata = r.itemSchemata[:0] + for k := range r.cachedFieldSchemata { + delete(r.cachedFieldSchemata, k) + } + for k := range r.cachedItemSchemata { + delete(r.cachedItemSchemata, k) + } + r.wantsRedeemOnMerge = true // mark this result as eligible for redeem when merged into another + + return r +} + +// schemata is an arbitrary number of schemata. It does a distinction between zero, +// one and many schemata to avoid slice allocations. +type schemata struct { + // one is set if there is exactly one schema. In that case multiple must be nil. + one *spec.Schema + // multiple is an arbitrary number of schemas. If it is set, one must be nil. + multiple []*spec.Schema +} + +func (s *schemata) Len() int { + if s.one != nil { + return 1 + } + return len(s.multiple) +} + +func (s *schemata) Slice() []*spec.Schema { + if s == nil { + return nil + } + if s.one != nil { + return []*spec.Schema{s.one} + } + return s.multiple +} + +// appendSchemata appends the schemata in other to s. It mutates s in-place. +func (s *schemata) Append(other schemata) { + if other.one == nil && len(other.multiple) == 0 { + return + } + if s.one == nil && len(s.multiple) == 0 { + *s = other + return + } + + if s.one != nil { + if other.one != nil { + s.multiple = []*spec.Schema{s.one, other.one} + } else { + t := make([]*spec.Schema, 0, 1+len(other.multiple)) + s.multiple = append(append(t, s.one), other.multiple...) + } + s.one = nil + } else { + if other.one != nil { + s.multiple = append(s.multiple, other.one) + } else { + if cap(s.multiple) >= len(s.multiple)+len(other.multiple) { + s.multiple = append(s.multiple, other.multiple...) + } else { + t := make([]*spec.Schema, 0, len(s.multiple)+len(other.multiple)) + s.multiple = append(append(t, s.multiple...), other.multiple...) + } + } + } +} + +func (s schemata) Clone() schemata { + var clone schemata + + if s.one != nil { + clone.one = new(spec.Schema) + *clone.one = *s.one + } + + if len(s.multiple) > 0 { + clone.multiple = make([]*spec.Schema, len(s.multiple)) + for idx := 0; idx < len(s.multiple); idx++ { + sp := new(spec.Schema) + *sp = *s.multiple[idx] + clone.multiple[idx] = sp + } + } + + return clone +} diff --git a/vendor/github.com/go-openapi/validate/rexp.go b/vendor/github.com/go-openapi/validate/rexp.go new file mode 100644 index 000000000..76de03e1f --- /dev/null +++ b/vendor/github.com/go-openapi/validate/rexp.go @@ -0,0 +1,71 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + re "regexp" + "sync" + "sync/atomic" +) + +// Cache for compiled regular expressions +var ( + cacheMutex = &sync.Mutex{} + reDict = atomic.Value{} // map[string]*re.Regexp +) + +func compileRegexp(pattern string) (*re.Regexp, error) { + if cache, ok := reDict.Load().(map[string]*re.Regexp); ok { + if r := cache[pattern]; r != nil { + return r, nil + } + } + + r, err := re.Compile(pattern) + if err != nil { + return nil, err + } + cacheRegexp(r) + return r, nil +} + +func mustCompileRegexp(pattern string) *re.Regexp { + if cache, ok := reDict.Load().(map[string]*re.Regexp); ok { + if r := cache[pattern]; r != nil { + return r + } + } + + r := re.MustCompile(pattern) + cacheRegexp(r) + return r +} + +func cacheRegexp(r *re.Regexp) { + cacheMutex.Lock() + defer cacheMutex.Unlock() + + if cache, ok := reDict.Load().(map[string]*re.Regexp); !ok || cache[r.String()] == nil { + newCache := map[string]*re.Regexp{ + r.String(): r, + } + + for k, v := range cache { + newCache[k] = v + } + + reDict.Store(newCache) + } +} diff --git a/vendor/github.com/go-openapi/validate/schema.go b/vendor/github.com/go-openapi/validate/schema.go new file mode 100644 index 000000000..db65264fd --- /dev/null +++ b/vendor/github.com/go-openapi/validate/schema.go @@ -0,0 +1,354 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "encoding/json" + "reflect" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SchemaValidator validates data against a JSON schema +type SchemaValidator struct { + Path string + in string + Schema *spec.Schema + validators [8]valueValidator + Root interface{} + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +// AgainstSchema validates the specified data against the provided schema, using a registry of supported formats. +// +// When no pre-parsed *spec.Schema structure is provided, it uses a JSON schema as default. See example. +func AgainstSchema(schema *spec.Schema, data interface{}, formats strfmt.Registry, options ...Option) error { + res := NewSchemaValidator(schema, nil, "", formats, + append(options, WithRecycleValidators(true), withRecycleResults(true))..., + ).Validate(data) + defer func() { + pools.poolOfResults.RedeemResult(res) + }() + + if res.HasErrors() { + return errors.CompositeValidationError(res.Errors...) + } + + return nil +} + +// NewSchemaValidator creates a new schema validator. +// +// Panics if the provided schema is invalid. +func NewSchemaValidator(schema *spec.Schema, rootSchema interface{}, root string, formats strfmt.Registry, options ...Option) *SchemaValidator { + opts := new(SchemaValidatorOptions) + for _, o := range options { + o(opts) + } + + return newSchemaValidator(schema, rootSchema, root, formats, opts) +} + +func newSchemaValidator(schema *spec.Schema, rootSchema interface{}, root string, formats strfmt.Registry, opts *SchemaValidatorOptions) *SchemaValidator { + if schema == nil { + return nil + } + + if rootSchema == nil { + rootSchema = schema + } + + if schema.ID != "" || schema.Ref.String() != "" || schema.Ref.IsRoot() { + err := spec.ExpandSchema(schema, rootSchema, nil) + if err != nil { + msg := invalidSchemaProvidedMsg(err).Error() + panic(msg) + } + } + + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var s *SchemaValidator + if opts.recycleValidators { + s = pools.poolOfSchemaValidators.BorrowValidator() + } else { + s = new(SchemaValidator) + } + + s.Path = root + s.in = "body" + s.Schema = schema + s.Root = rootSchema + s.Options = opts + s.KnownFormats = formats + + s.validators = [8]valueValidator{ + s.typeValidator(), + s.schemaPropsValidator(), + s.stringValidator(), + s.formatValidator(), + s.numberValidator(), + s.sliceValidator(), + s.commonValidator(), + s.objectValidator(), + } + + return s +} + +// SetPath sets the path for this schema valdiator +func (s *SchemaValidator) SetPath(path string) { + s.Path = path +} + +// Applies returns true when this schema validator applies +func (s *SchemaValidator) Applies(source interface{}, _ reflect.Kind) bool { + _, ok := source.(*spec.Schema) + return ok +} + +// Validate validates the data against the schema +func (s *SchemaValidator) Validate(data interface{}) *Result { + if s == nil { + return emptyResult + } + + if s.Options.recycleValidators { + defer func() { + s.redeemChildren() + s.redeem() // one-time use validator + }() + } + + var result *Result + if s.Options.recycleResult { + result = pools.poolOfResults.BorrowResult() + result.data = data + } else { + result = &Result{data: data} + } + + if s.Schema != nil && !s.Options.skipSchemataResult { + result.addRootObjectSchemata(s.Schema) + } + + if data == nil { + // early exit with minimal validation + result.Merge(s.validators[0].Validate(data)) // type validator + result.Merge(s.validators[6].Validate(data)) // common validator + + if s.Options.recycleValidators { + s.validators[0] = nil + s.validators[6] = nil + } + + return result + } + + tpe := reflect.TypeOf(data) + kind := tpe.Kind() + for kind == reflect.Ptr { + tpe = tpe.Elem() + kind = tpe.Kind() + } + d := data + + if kind == reflect.Struct { + // NOTE: since reflect retrieves the true nature of types + // this means that all strfmt types passed here (e.g. strfmt.Datetime, etc..) + // are converted here to strings, and structs are systematically converted + // to map[string]interface{}. + d = swag.ToDynamicJSON(data) + } + + // TODO: this part should be handed over to type validator + // Handle special case of json.Number data (number marshalled as string) + isnumber := s.Schema.Type.Contains(numberType) || s.Schema.Type.Contains(integerType) + if num, ok := data.(json.Number); ok && isnumber { + if s.Schema.Type.Contains(integerType) { // avoid lossy conversion + in, erri := num.Int64() + if erri != nil { + result.AddErrors(invalidTypeConversionMsg(s.Path, erri)) + result.Inc() + + return result + } + d = in + } else { + nf, errf := num.Float64() + if errf != nil { + result.AddErrors(invalidTypeConversionMsg(s.Path, errf)) + result.Inc() + + return result + } + d = nf + } + + tpe = reflect.TypeOf(d) + kind = tpe.Kind() + } + + for idx, v := range s.validators { + if !v.Applies(s.Schema, kind) { + if s.Options.recycleValidators { + // Validate won't be called, so relinquish this validator + if redeemableChildren, ok := v.(interface{ redeemChildren() }); ok { + redeemableChildren.redeemChildren() + } + if redeemable, ok := v.(interface{ redeem() }); ok { + redeemable.redeem() + } + s.validators[idx] = nil // prevents further (unsafe) usage + } + + continue + } + + result.Merge(v.Validate(d)) + if s.Options.recycleValidators { + s.validators[idx] = nil // prevents further (unsafe) usage + } + result.Inc() + } + result.Inc() + + return result +} + +func (s *SchemaValidator) typeValidator() valueValidator { + return newTypeValidator( + s.Path, + s.in, + s.Schema.Type, + s.Schema.Nullable, + s.Schema.Format, + s.Options, + ) +} + +func (s *SchemaValidator) commonValidator() valueValidator { + return newBasicCommonValidator( + s.Path, + s.in, + s.Schema.Default, + s.Schema.Enum, + s.Options, + ) +} + +func (s *SchemaValidator) sliceValidator() valueValidator { + return newSliceValidator( + s.Path, + s.in, + s.Schema.MaxItems, + s.Schema.MinItems, + s.Schema.UniqueItems, + s.Schema.AdditionalItems, + s.Schema.Items, + s.Root, + s.KnownFormats, + s.Options, + ) +} + +func (s *SchemaValidator) numberValidator() valueValidator { + return newNumberValidator( + s.Path, + s.in, + s.Schema.Default, + s.Schema.MultipleOf, + s.Schema.Maximum, + s.Schema.ExclusiveMaximum, + s.Schema.Minimum, + s.Schema.ExclusiveMinimum, + "", + "", + s.Options, + ) +} + +func (s *SchemaValidator) stringValidator() valueValidator { + return newStringValidator( + s.Path, + s.in, + nil, + false, + false, + s.Schema.MaxLength, + s.Schema.MinLength, + s.Schema.Pattern, + s.Options, + ) +} + +func (s *SchemaValidator) formatValidator() valueValidator { + return newFormatValidator( + s.Path, + s.in, + s.Schema.Format, + s.KnownFormats, + s.Options, + ) +} + +func (s *SchemaValidator) schemaPropsValidator() valueValidator { + sch := s.Schema + return newSchemaPropsValidator( + s.Path, s.in, sch.AllOf, sch.OneOf, sch.AnyOf, sch.Not, sch.Dependencies, s.Root, s.KnownFormats, + s.Options, + ) +} + +func (s *SchemaValidator) objectValidator() valueValidator { + return newObjectValidator( + s.Path, + s.in, + s.Schema.MaxProperties, + s.Schema.MinProperties, + s.Schema.Required, + s.Schema.Properties, + s.Schema.AdditionalProperties, + s.Schema.PatternProperties, + s.Root, + s.KnownFormats, + s.Options, + ) +} + +func (s *SchemaValidator) redeem() { + pools.poolOfSchemaValidators.RedeemValidator(s) +} + +func (s *SchemaValidator) redeemChildren() { + for i, validator := range s.validators { + if validator == nil { + continue + } + if redeemableChildren, ok := validator.(interface{ redeemChildren() }); ok { + redeemableChildren.redeemChildren() + } + if redeemable, ok := validator.(interface{ redeem() }); ok { + redeemable.redeem() + } + s.validators[i] = nil // free up allocated children if not in pool + } +} diff --git a/vendor/github.com/go-openapi/validate/schema_messages.go b/vendor/github.com/go-openapi/validate/schema_messages.go new file mode 100644 index 000000000..786e2e355 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/schema_messages.go @@ -0,0 +1,78 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "github.com/go-openapi/errors" +) + +// Error messages related to schema validation and returned as results. +const ( + // ArrayDoesNotAllowAdditionalItemsError when an additionalItems construct is not verified by the array values provided. + // + // TODO: should move to package go-openapi/errors + ArrayDoesNotAllowAdditionalItemsError = "array doesn't allow for additional items" + + // HasDependencyError indicates that a dependencies construct was not verified + HasDependencyError = "%q has a dependency on %s" + + // InvalidSchemaProvidedError indicates that the schema provided to validate a value cannot be properly compiled + InvalidSchemaProvidedError = "Invalid schema provided to SchemaValidator: %v" + + // InvalidTypeConversionError indicates that a numerical conversion for the given type could not be carried on + InvalidTypeConversionError = "invalid type conversion in %s: %v " + + // MustValidateAtLeastOneSchemaError indicates that in a AnyOf construct, none of the schema constraints specified were verified + MustValidateAtLeastOneSchemaError = "%q must validate at least one schema (anyOf)" + + // MustValidateOnlyOneSchemaError indicates that in a OneOf construct, either none of the schema constraints specified were verified, or several were + MustValidateOnlyOneSchemaError = "%q must validate one and only one schema (oneOf). %s" + + // MustValidateAllSchemasError indicates that in a AllOf construct, at least one of the schema constraints specified were not verified + // + // TODO: punctuation in message + MustValidateAllSchemasError = "%q must validate all the schemas (allOf)%s" + + // MustNotValidateSchemaError indicates that in a Not construct, the schema constraint specified was verified + MustNotValidateSchemaError = "%q must not validate the schema (not)" +) + +// Warning messages related to schema validation and returned as results +const () + +func invalidSchemaProvidedMsg(err error) errors.Error { + return errors.New(InternalErrorCode, InvalidSchemaProvidedError, err) +} +func invalidTypeConversionMsg(path string, err error) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidTypeConversionError, path, err) +} +func mustValidateOnlyOneSchemaMsg(path, additionalMsg string) errors.Error { + return errors.New(errors.CompositeErrorCode, MustValidateOnlyOneSchemaError, path, additionalMsg) +} +func mustValidateAtLeastOneSchemaMsg(path string) errors.Error { + return errors.New(errors.CompositeErrorCode, MustValidateAtLeastOneSchemaError, path) +} +func mustValidateAllSchemasMsg(path, additionalMsg string) errors.Error { + return errors.New(errors.CompositeErrorCode, MustValidateAllSchemasError, path, additionalMsg) +} +func mustNotValidatechemaMsg(path string) errors.Error { + return errors.New(errors.CompositeErrorCode, MustNotValidateSchemaError, path) +} +func hasADependencyMsg(path, depkey string) errors.Error { + return errors.New(errors.CompositeErrorCode, HasDependencyError, path, depkey) +} +func arrayDoesNotAllowAdditionalItemsMsg() errors.Error { + return errors.New(errors.CompositeErrorCode, ArrayDoesNotAllowAdditionalItemsError) +} diff --git a/vendor/github.com/go-openapi/validate/schema_option.go b/vendor/github.com/go-openapi/validate/schema_option.go new file mode 100644 index 000000000..65eeebeaa --- /dev/null +++ b/vendor/github.com/go-openapi/validate/schema_option.go @@ -0,0 +1,83 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +// SchemaValidatorOptions defines optional rules for schema validation +type SchemaValidatorOptions struct { + EnableObjectArrayTypeCheck bool + EnableArrayMustHaveItemsCheck bool + recycleValidators bool + recycleResult bool + skipSchemataResult bool +} + +// Option sets optional rules for schema validation +type Option func(*SchemaValidatorOptions) + +// EnableObjectArrayTypeCheck activates the swagger rule: an items must be in type: array +func EnableObjectArrayTypeCheck(enable bool) Option { + return func(svo *SchemaValidatorOptions) { + svo.EnableObjectArrayTypeCheck = enable + } +} + +// EnableArrayMustHaveItemsCheck activates the swagger rule: an array must have items defined +func EnableArrayMustHaveItemsCheck(enable bool) Option { + return func(svo *SchemaValidatorOptions) { + svo.EnableArrayMustHaveItemsCheck = enable + } +} + +// SwaggerSchema activates swagger schema validation rules +func SwaggerSchema(enable bool) Option { + return func(svo *SchemaValidatorOptions) { + svo.EnableObjectArrayTypeCheck = enable + svo.EnableArrayMustHaveItemsCheck = enable + } +} + +// WithRecycleValidators saves memory allocations and makes validators +// available for a single use of Validate() only. +// +// When a validator is recycled, called MUST not call the Validate() method twice. +func WithRecycleValidators(enable bool) Option { + return func(svo *SchemaValidatorOptions) { + svo.recycleValidators = enable + } +} + +func withRecycleResults(enable bool) Option { + return func(svo *SchemaValidatorOptions) { + svo.recycleResult = enable + } +} + +// WithSkipSchemataResult skips the deep audit payload stored in validation Result +func WithSkipSchemataResult(enable bool) Option { + return func(svo *SchemaValidatorOptions) { + svo.skipSchemataResult = enable + } +} + +// Options returns the current set of options +func (svo SchemaValidatorOptions) Options() []Option { + return []Option{ + EnableObjectArrayTypeCheck(svo.EnableObjectArrayTypeCheck), + EnableArrayMustHaveItemsCheck(svo.EnableArrayMustHaveItemsCheck), + WithRecycleValidators(svo.recycleValidators), + withRecycleResults(svo.recycleResult), + WithSkipSchemataResult(svo.skipSchemataResult), + } +} diff --git a/vendor/github.com/go-openapi/validate/schema_props.go b/vendor/github.com/go-openapi/validate/schema_props.go new file mode 100644 index 000000000..1ca379244 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/schema_props.go @@ -0,0 +1,356 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "fmt" + "reflect" + + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +type schemaPropsValidator struct { + Path string + In string + AllOf []spec.Schema + OneOf []spec.Schema + AnyOf []spec.Schema + Not *spec.Schema + Dependencies spec.Dependencies + anyOfValidators []*SchemaValidator + allOfValidators []*SchemaValidator + oneOfValidators []*SchemaValidator + notValidator *SchemaValidator + Root interface{} + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +func (s *schemaPropsValidator) SetPath(path string) { + s.Path = path +} + +func newSchemaPropsValidator( + path string, in string, allOf, oneOf, anyOf []spec.Schema, not *spec.Schema, deps spec.Dependencies, root interface{}, formats strfmt.Registry, + opts *SchemaValidatorOptions) *schemaPropsValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + anyValidators := make([]*SchemaValidator, 0, len(anyOf)) + for i := range anyOf { + anyValidators = append(anyValidators, newSchemaValidator(&anyOf[i], root, path, formats, opts)) + } + allValidators := make([]*SchemaValidator, 0, len(allOf)) + for i := range allOf { + allValidators = append(allValidators, newSchemaValidator(&allOf[i], root, path, formats, opts)) + } + oneValidators := make([]*SchemaValidator, 0, len(oneOf)) + for i := range oneOf { + oneValidators = append(oneValidators, newSchemaValidator(&oneOf[i], root, path, formats, opts)) + } + + var notValidator *SchemaValidator + if not != nil { + notValidator = newSchemaValidator(not, root, path, formats, opts) + } + + var s *schemaPropsValidator + if opts.recycleValidators { + s = pools.poolOfSchemaPropsValidators.BorrowValidator() + } else { + s = new(schemaPropsValidator) + } + + s.Path = path + s.In = in + s.AllOf = allOf + s.OneOf = oneOf + s.AnyOf = anyOf + s.Not = not + s.Dependencies = deps + s.anyOfValidators = anyValidators + s.allOfValidators = allValidators + s.oneOfValidators = oneValidators + s.notValidator = notValidator + s.Root = root + s.KnownFormats = formats + s.Options = opts + + return s +} + +func (s *schemaPropsValidator) Applies(source interface{}, _ reflect.Kind) bool { + _, isSchema := source.(*spec.Schema) + return isSchema +} + +func (s *schemaPropsValidator) Validate(data interface{}) *Result { + var mainResult *Result + if s.Options.recycleResult { + mainResult = pools.poolOfResults.BorrowResult() + } else { + mainResult = new(Result) + } + + // Intermediary error results + + // IMPORTANT! messages from underlying validators + var keepResultAnyOf, keepResultOneOf, keepResultAllOf *Result + + if s.Options.recycleValidators { + defer func() { + s.redeemChildren() + s.redeem() + + // results are redeemed when merged + }() + } + + if len(s.anyOfValidators) > 0 { + keepResultAnyOf = pools.poolOfResults.BorrowResult() + s.validateAnyOf(data, mainResult, keepResultAnyOf) + } + + if len(s.oneOfValidators) > 0 { + keepResultOneOf = pools.poolOfResults.BorrowResult() + s.validateOneOf(data, mainResult, keepResultOneOf) + } + + if len(s.allOfValidators) > 0 { + keepResultAllOf = pools.poolOfResults.BorrowResult() + s.validateAllOf(data, mainResult, keepResultAllOf) + } + + if s.notValidator != nil { + s.validateNot(data, mainResult) + } + + if s.Dependencies != nil && len(s.Dependencies) > 0 && reflect.TypeOf(data).Kind() == reflect.Map { + s.validateDependencies(data, mainResult) + } + + mainResult.Inc() + + // In the end we retain best failures for schema validation + // plus, if any, composite errors which may explain special cases (tagged as IMPORTANT!). + return mainResult.Merge(keepResultAllOf, keepResultOneOf, keepResultAnyOf) +} + +func (s *schemaPropsValidator) validateAnyOf(data interface{}, mainResult, keepResultAnyOf *Result) { + // Validates at least one in anyOf schemas + var bestFailures *Result + + for i, anyOfSchema := range s.anyOfValidators { + result := anyOfSchema.Validate(data) + if s.Options.recycleValidators { + s.anyOfValidators[i] = nil + } + // We keep inner IMPORTANT! errors no matter what MatchCount tells us + keepResultAnyOf.Merge(result.keepRelevantErrors()) // merges (and redeems) a new instance of Result + + if result.IsValid() { + if bestFailures != nil && bestFailures.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(bestFailures) + } + + _ = keepResultAnyOf.cleared() + mainResult.Merge(result) + + return + } + + // MatchCount is used to select errors from the schema with most positive checks + if bestFailures == nil || result.MatchCount > bestFailures.MatchCount { + if bestFailures != nil && bestFailures.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(bestFailures) + } + bestFailures = result + + continue + } + + if result.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(result) // this result is ditched + } + } + + mainResult.AddErrors(mustValidateAtLeastOneSchemaMsg(s.Path)) + mainResult.Merge(bestFailures) +} + +func (s *schemaPropsValidator) validateOneOf(data interface{}, mainResult, keepResultOneOf *Result) { + // Validates exactly one in oneOf schemas + var ( + firstSuccess, bestFailures *Result + validated int + ) + + for i, oneOfSchema := range s.oneOfValidators { + result := oneOfSchema.Validate(data) + if s.Options.recycleValidators { + s.oneOfValidators[i] = nil + } + + // We keep inner IMPORTANT! errors no matter what MatchCount tells us + keepResultOneOf.Merge(result.keepRelevantErrors()) // merges (and redeems) a new instance of Result + + if result.IsValid() { + validated++ + _ = keepResultOneOf.cleared() + + if firstSuccess == nil { + firstSuccess = result + } else if result.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(result) // this result is ditched + } + + continue + } + + // MatchCount is used to select errors from the schema with most positive checks + if validated == 0 && (bestFailures == nil || result.MatchCount > bestFailures.MatchCount) { + if bestFailures != nil && bestFailures.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(bestFailures) + } + bestFailures = result + } else if result.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(result) // this result is ditched + } + } + + switch validated { + case 0: + mainResult.AddErrors(mustValidateOnlyOneSchemaMsg(s.Path, "Found none valid")) + mainResult.Merge(bestFailures) + // firstSucess necessarily nil + case 1: + mainResult.Merge(firstSuccess) + if bestFailures != nil && bestFailures.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(bestFailures) + } + default: + mainResult.AddErrors(mustValidateOnlyOneSchemaMsg(s.Path, fmt.Sprintf("Found %d valid alternatives", validated))) + mainResult.Merge(bestFailures) + if firstSuccess != nil && firstSuccess.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(firstSuccess) + } + } +} + +func (s *schemaPropsValidator) validateAllOf(data interface{}, mainResult, keepResultAllOf *Result) { + // Validates all of allOf schemas + var validated int + + for i, allOfSchema := range s.allOfValidators { + result := allOfSchema.Validate(data) + if s.Options.recycleValidators { + s.allOfValidators[i] = nil + } + // We keep inner IMPORTANT! errors no matter what MatchCount tells us + keepResultAllOf.Merge(result.keepRelevantErrors()) + if result.IsValid() { + validated++ + } + mainResult.Merge(result) + } + + switch validated { + case 0: + mainResult.AddErrors(mustValidateAllSchemasMsg(s.Path, ". None validated")) + case len(s.allOfValidators): + default: + mainResult.AddErrors(mustValidateAllSchemasMsg(s.Path, "")) + } +} + +func (s *schemaPropsValidator) validateNot(data interface{}, mainResult *Result) { + result := s.notValidator.Validate(data) + if s.Options.recycleValidators { + s.notValidator = nil + } + // We keep inner IMPORTANT! errors no matter what MatchCount tells us + if result.IsValid() { + mainResult.AddErrors(mustNotValidatechemaMsg(s.Path)) + } + if result.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(result) // this result is ditched + } +} + +func (s *schemaPropsValidator) validateDependencies(data interface{}, mainResult *Result) { + val := data.(map[string]interface{}) + for key := range val { + dep, ok := s.Dependencies[key] + if !ok { + continue + } + + if dep.Schema != nil { + mainResult.Merge( + newSchemaValidator(dep.Schema, s.Root, s.Path+"."+key, s.KnownFormats, s.Options).Validate(data), + ) + continue + } + + if len(dep.Property) > 0 { + for _, depKey := range dep.Property { + if _, ok := val[depKey]; !ok { + mainResult.AddErrors(hasADependencyMsg(s.Path, depKey)) + } + } + } + } +} + +func (s *schemaPropsValidator) redeem() { + pools.poolOfSchemaPropsValidators.RedeemValidator(s) +} + +func (s *schemaPropsValidator) redeemChildren() { + for _, v := range s.anyOfValidators { + if v == nil { + continue + } + v.redeemChildren() + v.redeem() + } + s.anyOfValidators = nil + + for _, v := range s.allOfValidators { + if v == nil { + continue + } + v.redeemChildren() + v.redeem() + } + s.allOfValidators = nil + + for _, v := range s.oneOfValidators { + if v == nil { + continue + } + v.redeemChildren() + v.redeem() + } + s.oneOfValidators = nil + + if s.notValidator != nil { + s.notValidator.redeemChildren() + s.notValidator.redeem() + s.notValidator = nil + } +} diff --git a/vendor/github.com/go-openapi/validate/slice_validator.go b/vendor/github.com/go-openapi/validate/slice_validator.go new file mode 100644 index 000000000..13bb02087 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/slice_validator.go @@ -0,0 +1,150 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "fmt" + "reflect" + + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +type schemaSliceValidator struct { + Path string + In string + MaxItems *int64 + MinItems *int64 + UniqueItems bool + AdditionalItems *spec.SchemaOrBool + Items *spec.SchemaOrArray + Root interface{} + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +func newSliceValidator(path, in string, + maxItems, minItems *int64, uniqueItems bool, + additionalItems *spec.SchemaOrBool, items *spec.SchemaOrArray, + root interface{}, formats strfmt.Registry, opts *SchemaValidatorOptions) *schemaSliceValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var v *schemaSliceValidator + if opts.recycleValidators { + v = pools.poolOfSliceValidators.BorrowValidator() + } else { + v = new(schemaSliceValidator) + } + + v.Path = path + v.In = in + v.MaxItems = maxItems + v.MinItems = minItems + v.UniqueItems = uniqueItems + v.AdditionalItems = additionalItems + v.Items = items + v.Root = root + v.KnownFormats = formats + v.Options = opts + + return v +} + +func (s *schemaSliceValidator) SetPath(path string) { + s.Path = path +} + +func (s *schemaSliceValidator) Applies(source interface{}, kind reflect.Kind) bool { + _, ok := source.(*spec.Schema) + r := ok && kind == reflect.Slice + return r +} + +func (s *schemaSliceValidator) Validate(data interface{}) *Result { + if s.Options.recycleValidators { + defer func() { + s.redeem() + }() + } + + var result *Result + if s.Options.recycleResult { + result = pools.poolOfResults.BorrowResult() + } else { + result = new(Result) + } + if data == nil { + return result + } + val := reflect.ValueOf(data) + size := val.Len() + + if s.Items != nil && s.Items.Schema != nil { + for i := 0; i < size; i++ { + validator := newSchemaValidator(s.Items.Schema, s.Root, s.Path, s.KnownFormats, s.Options) + validator.SetPath(fmt.Sprintf("%s.%d", s.Path, i)) + value := val.Index(i) + result.mergeForSlice(val, i, validator.Validate(value.Interface())) + } + } + + itemsSize := 0 + if s.Items != nil && len(s.Items.Schemas) > 0 { + itemsSize = len(s.Items.Schemas) + for i := 0; i < itemsSize; i++ { + if size <= i { + break + } + + validator := newSchemaValidator(&s.Items.Schemas[i], s.Root, fmt.Sprintf("%s.%d", s.Path, i), s.KnownFormats, s.Options) + result.mergeForSlice(val, i, validator.Validate(val.Index(i).Interface())) + } + } + if s.AdditionalItems != nil && itemsSize < size { + if s.Items != nil && len(s.Items.Schemas) > 0 && !s.AdditionalItems.Allows { + result.AddErrors(arrayDoesNotAllowAdditionalItemsMsg()) + } + if s.AdditionalItems.Schema != nil { + for i := itemsSize; i < size-itemsSize+1; i++ { + validator := newSchemaValidator(s.AdditionalItems.Schema, s.Root, fmt.Sprintf("%s.%d", s.Path, i), s.KnownFormats, s.Options) + result.mergeForSlice(val, i, validator.Validate(val.Index(i).Interface())) + } + } + } + + if s.MinItems != nil { + if err := MinItems(s.Path, s.In, int64(size), *s.MinItems); err != nil { + result.AddErrors(err) + } + } + if s.MaxItems != nil { + if err := MaxItems(s.Path, s.In, int64(size), *s.MaxItems); err != nil { + result.AddErrors(err) + } + } + if s.UniqueItems { + if err := UniqueItems(s.Path, s.In, val.Interface()); err != nil { + result.AddErrors(err) + } + } + result.Inc() + return result +} + +func (s *schemaSliceValidator) redeem() { + pools.poolOfSliceValidators.RedeemValidator(s) +} diff --git a/vendor/github.com/go-openapi/validate/spec.go b/vendor/github.com/go-openapi/validate/spec.go new file mode 100644 index 000000000..965452566 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/spec.go @@ -0,0 +1,852 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "fmt" + "sort" + "strings" + + "github.com/go-openapi/analysis" + "github.com/go-openapi/errors" + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/loads" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Spec validates an OpenAPI 2.0 specification document. +// +// Returns an error flattening in a single standard error, all validation messages. +// +// - TODO: $ref should not have siblings +// - TODO: make sure documentation reflects all checks and warnings +// - TODO: check on discriminators +// - TODO: explicit message on unsupported keywords (better than "forbidden property"...) +// - TODO: full list of unresolved refs +// - TODO: validate numeric constraints (issue#581): this should be handled like defaults and examples +// - TODO: option to determine if we validate for go-swagger or in a more general context +// - TODO: check on required properties to support anyOf, allOf, oneOf +// +// NOTE: SecurityScopes are maps: no need to check uniqueness +func Spec(doc *loads.Document, formats strfmt.Registry) error { + errs, _ /*warns*/ := NewSpecValidator(doc.Schema(), formats).Validate(doc) + if errs.HasErrors() { + return errors.CompositeValidationError(errs.Errors...) + } + return nil +} + +// SpecValidator validates a swagger 2.0 spec +type SpecValidator struct { + schema *spec.Schema // swagger 2.0 schema + spec *loads.Document + analyzer *analysis.Spec + expanded *loads.Document + KnownFormats strfmt.Registry + Options Opts // validation options + schemaOptions *SchemaValidatorOptions +} + +// NewSpecValidator creates a new swagger spec validator instance +func NewSpecValidator(schema *spec.Schema, formats strfmt.Registry) *SpecValidator { + // schema options that apply to all called validators + schemaOptions := new(SchemaValidatorOptions) + for _, o := range []Option{ + SwaggerSchema(true), + WithRecycleValidators(true), + // withRecycleResults(true), + } { + o(schemaOptions) + } + + return &SpecValidator{ + schema: schema, + KnownFormats: formats, + Options: defaultOpts, + schemaOptions: schemaOptions, + } +} + +// Validate validates the swagger spec +func (s *SpecValidator) Validate(data interface{}) (*Result, *Result) { + s.schemaOptions.skipSchemataResult = s.Options.SkipSchemataResult + var sd *loads.Document + errs, warnings := new(Result), new(Result) + + if v, ok := data.(*loads.Document); ok { + sd = v + } + if sd == nil { + errs.AddErrors(invalidDocumentMsg()) + return errs, warnings // no point in continuing + } + s.spec = sd + s.analyzer = analysis.New(sd.Spec()) + + // Raw spec unmarshalling errors + var obj interface{} + if err := json.Unmarshal(sd.Raw(), &obj); err != nil { + // NOTE: under normal conditions, the *load.Document has been already unmarshalled + // So this one is just a paranoid check on the behavior of the spec package + panic(InvalidDocumentError) + } + + defer func() { + // errs holds all errors and warnings, + // warnings only warnings + errs.MergeAsWarnings(warnings) + warnings.AddErrors(errs.Warnings...) + }() + + // Swagger schema validator + schv := newSchemaValidator(s.schema, nil, "", s.KnownFormats, s.schemaOptions) + errs.Merge(schv.Validate(obj)) // error - + // There may be a point in continuing to try and determine more accurate errors + if !s.Options.ContinueOnErrors && errs.HasErrors() { + return errs, warnings // no point in continuing + } + + errs.Merge(s.validateReferencesValid()) // error - + // There may be a point in continuing to try and determine more accurate errors + if !s.Options.ContinueOnErrors && errs.HasErrors() { + return errs, warnings // no point in continuing + } + + errs.Merge(s.validateDuplicateOperationIDs()) + errs.Merge(s.validateDuplicatePropertyNames()) // error - + errs.Merge(s.validateParameters()) // error - + errs.Merge(s.validateItems()) // error - + + // Properties in required definition MUST validate their schema + // Properties SHOULD NOT be declared as both required and readOnly (warning) + errs.Merge(s.validateRequiredDefinitions()) // error and warning + + // There may be a point in continuing to try and determine more accurate errors + if !s.Options.ContinueOnErrors && errs.HasErrors() { + return errs, warnings // no point in continuing + } + + // Values provided as default MUST validate their schema + df := &defaultValidator{SpecValidator: s, schemaOptions: s.schemaOptions} + errs.Merge(df.Validate()) + + // Values provided as examples MUST validate their schema + // Value provided as examples in a response without schema generate a warning + // Known limitations: examples in responses for mime type not application/json are ignored (warning) + ex := &exampleValidator{SpecValidator: s, schemaOptions: s.schemaOptions} + errs.Merge(ex.Validate()) + + errs.Merge(s.validateNonEmptyPathParamNames()) + + // errs.Merge(s.validateRefNoSibling()) // warning only + errs.Merge(s.validateReferenced()) // warning only + + return errs, warnings +} + +func (s *SpecValidator) validateNonEmptyPathParamNames() *Result { + res := pools.poolOfResults.BorrowResult() + if s.spec.Spec().Paths == nil { + // There is no Paths object: error + res.AddErrors(noValidPathMsg()) + + return res + } + + if s.spec.Spec().Paths.Paths == nil { + // Paths may be empty: warning + res.AddWarnings(noValidPathMsg()) + + return res + } + + for k := range s.spec.Spec().Paths.Paths { + if strings.Contains(k, "{}") { + res.AddErrors(emptyPathParameterMsg(k)) + } + } + + return res +} + +func (s *SpecValidator) validateDuplicateOperationIDs() *Result { + // OperationID, if specified, must be unique across the board + var analyzer *analysis.Spec + if s.expanded != nil { + // $ref are valid: we can analyze operations on an expanded spec + analyzer = analysis.New(s.expanded.Spec()) + } else { + // fallback on possible incomplete picture because of previous errors + analyzer = s.analyzer + } + res := pools.poolOfResults.BorrowResult() + known := make(map[string]int) + for _, v := range analyzer.OperationIDs() { + if v != "" { + known[v]++ + } + } + for k, v := range known { + if v > 1 { + res.AddErrors(nonUniqueOperationIDMsg(k, v)) + } + } + return res +} + +type dupProp struct { + Name string + Definition string +} + +func (s *SpecValidator) validateDuplicatePropertyNames() *Result { + // definition can't declare a property that's already defined by one of its ancestors + res := pools.poolOfResults.BorrowResult() + for k, sch := range s.spec.Spec().Definitions { + if len(sch.AllOf) == 0 { + continue + } + + knownanc := map[string]struct{}{ + "#/definitions/" + k: {}, + } + + ancs, rec := s.validateCircularAncestry(k, sch, knownanc) + if rec != nil && (rec.HasErrors() || !rec.HasWarnings()) { + res.Merge(rec) + } + if len(ancs) > 0 { + res.AddErrors(circularAncestryDefinitionMsg(k, ancs)) + return res + } + + knowns := make(map[string]struct{}) + dups, rep := s.validateSchemaPropertyNames(k, sch, knowns) + if rep != nil && (rep.HasErrors() || rep.HasWarnings()) { + res.Merge(rep) + } + if len(dups) > 0 { + var pns []string + for _, v := range dups { + pns = append(pns, v.Definition+"."+v.Name) + } + res.AddErrors(duplicatePropertiesMsg(k, pns)) + } + + } + return res +} + +func (s *SpecValidator) resolveRef(ref *spec.Ref) (*spec.Schema, error) { + if s.spec.SpecFilePath() != "" { + return spec.ResolveRefWithBase(s.spec.Spec(), ref, &spec.ExpandOptions{RelativeBase: s.spec.SpecFilePath()}) + } + // NOTE: it looks like with the new spec resolver, this code is now unrecheable + return spec.ResolveRef(s.spec.Spec(), ref) +} + +func (s *SpecValidator) validateSchemaPropertyNames(nm string, sch spec.Schema, knowns map[string]struct{}) ([]dupProp, *Result) { + var dups []dupProp + + schn := nm + schc := &sch + res := pools.poolOfResults.BorrowResult() + + for schc.Ref.String() != "" { + // gather property names + reso, err := s.resolveRef(&schc.Ref) + if err != nil { + errorHelp.addPointerError(res, err, schc.Ref.String(), nm) + return dups, res + } + schc = reso + schn = sch.Ref.String() + } + + if len(schc.AllOf) > 0 { + for _, chld := range schc.AllOf { + dup, rep := s.validateSchemaPropertyNames(schn, chld, knowns) + if rep != nil && (rep.HasErrors() || rep.HasWarnings()) { + res.Merge(rep) + } + dups = append(dups, dup...) + } + return dups, res + } + + for k := range schc.Properties { + _, ok := knowns[k] + if ok { + dups = append(dups, dupProp{Name: k, Definition: schn}) + } else { + knowns[k] = struct{}{} + } + } + + return dups, res +} + +func (s *SpecValidator) validateCircularAncestry(nm string, sch spec.Schema, knowns map[string]struct{}) ([]string, *Result) { + res := pools.poolOfResults.BorrowResult() + + if sch.Ref.String() == "" && len(sch.AllOf) == 0 { // Safeguard. We should not be able to actually get there + return nil, res + } + var ancs []string + + schn := nm + schc := &sch + + for schc.Ref.String() != "" { + reso, err := s.resolveRef(&schc.Ref) + if err != nil { + errorHelp.addPointerError(res, err, schc.Ref.String(), nm) + return ancs, res + } + schc = reso + schn = sch.Ref.String() + } + + if schn != nm && schn != "" { + if _, ok := knowns[schn]; ok { + ancs = append(ancs, schn) + } + knowns[schn] = struct{}{} + + if len(ancs) > 0 { + return ancs, res + } + } + + if len(schc.AllOf) > 0 { + for _, chld := range schc.AllOf { + if chld.Ref.String() != "" || len(chld.AllOf) > 0 { + anc, rec := s.validateCircularAncestry(schn, chld, knowns) + if rec != nil && (rec.HasErrors() || !rec.HasWarnings()) { + res.Merge(rec) + } + ancs = append(ancs, anc...) + if len(ancs) > 0 { + return ancs, res + } + } + } + } + return ancs, res +} + +func (s *SpecValidator) validateItems() *Result { + // validate parameter, items, schema and response objects for presence of item if type is array + res := pools.poolOfResults.BorrowResult() + + for method, pi := range s.analyzer.Operations() { + for path, op := range pi { + for _, param := range paramHelp.safeExpandedParamsFor(path, method, op.ID, res, s) { + + if param.TypeName() == arrayType && param.ItemsTypeName() == "" { + res.AddErrors(arrayInParamRequiresItemsMsg(param.Name, op.ID)) + continue + } + if param.In != swaggerBody { + if param.Items != nil { + items := param.Items + for items.TypeName() == arrayType { + if items.ItemsTypeName() == "" { + res.AddErrors(arrayInParamRequiresItemsMsg(param.Name, op.ID)) + break + } + items = items.Items + } + } + } else { + // In: body + if param.Schema != nil { + res.Merge(s.validateSchemaItems(*param.Schema, fmt.Sprintf("body param %q", param.Name), op.ID)) + } + } + } + + var responses []spec.Response + if op.Responses != nil { + if op.Responses.Default != nil { + responses = append(responses, *op.Responses.Default) + } + if op.Responses.StatusCodeResponses != nil { + for _, v := range op.Responses.StatusCodeResponses { + responses = append(responses, v) + } + } + } + + for _, resp := range responses { + // Response headers with array + for hn, hv := range resp.Headers { + if hv.TypeName() == arrayType && hv.ItemsTypeName() == "" { + res.AddErrors(arrayInHeaderRequiresItemsMsg(hn, op.ID)) + } + } + if resp.Schema != nil { + res.Merge(s.validateSchemaItems(*resp.Schema, "response body", op.ID)) + } + } + } + } + return res +} + +// Verifies constraints on array type +func (s *SpecValidator) validateSchemaItems(schema spec.Schema, prefix, opID string) *Result { + res := pools.poolOfResults.BorrowResult() + if !schema.Type.Contains(arrayType) { + return res + } + + if schema.Items == nil || schema.Items.Len() == 0 { + res.AddErrors(arrayRequiresItemsMsg(prefix, opID)) + return res + } + + if schema.Items.Schema != nil { + schema = *schema.Items.Schema + if _, err := compileRegexp(schema.Pattern); err != nil { + res.AddErrors(invalidItemsPatternMsg(prefix, opID, schema.Pattern)) + } + + res.Merge(s.validateSchemaItems(schema, prefix, opID)) + } + return res +} + +func (s *SpecValidator) validatePathParamPresence(path string, fromPath, fromOperation []string) *Result { + // Each defined operation path parameters must correspond to a named element in the API's path pattern. + // (For example, you cannot have a path parameter named id for the following path /pets/{petId} but you must have a path parameter named petId.) + res := pools.poolOfResults.BorrowResult() + for _, l := range fromPath { + var matched bool + for _, r := range fromOperation { + if l == "{"+r+"}" { + matched = true + break + } + } + if !matched { + res.AddErrors(noParameterInPathMsg(l)) + } + } + + for _, p := range fromOperation { + var matched bool + for _, r := range fromPath { + if "{"+p+"}" == r { + matched = true + break + } + } + if !matched { + res.AddErrors(pathParamNotInPathMsg(path, p)) + } + } + + return res +} + +func (s *SpecValidator) validateReferenced() *Result { + var res Result + res.MergeAsWarnings(s.validateReferencedParameters()) + res.MergeAsWarnings(s.validateReferencedResponses()) + res.MergeAsWarnings(s.validateReferencedDefinitions()) + return &res +} + +func (s *SpecValidator) validateReferencedParameters() *Result { + // Each referenceable definition should have references. + params := s.spec.Spec().Parameters + if len(params) == 0 { + return nil + } + + expected := make(map[string]struct{}) + for k := range params { + expected["#/parameters/"+jsonpointer.Escape(k)] = struct{}{} + } + for _, k := range s.analyzer.AllParameterReferences() { + delete(expected, k) + } + + if len(expected) == 0 { + return nil + } + result := pools.poolOfResults.BorrowResult() + for k := range expected { + result.AddWarnings(unusedParamMsg(k)) + } + return result +} + +func (s *SpecValidator) validateReferencedResponses() *Result { + // Each referenceable definition should have references. + responses := s.spec.Spec().Responses + if len(responses) == 0 { + return nil + } + + expected := make(map[string]struct{}) + for k := range responses { + expected["#/responses/"+jsonpointer.Escape(k)] = struct{}{} + } + for _, k := range s.analyzer.AllResponseReferences() { + delete(expected, k) + } + + if len(expected) == 0 { + return nil + } + result := pools.poolOfResults.BorrowResult() + for k := range expected { + result.AddWarnings(unusedResponseMsg(k)) + } + return result +} + +func (s *SpecValidator) validateReferencedDefinitions() *Result { + // Each referenceable definition must have references. + defs := s.spec.Spec().Definitions + if len(defs) == 0 { + return nil + } + + expected := make(map[string]struct{}) + for k := range defs { + expected["#/definitions/"+jsonpointer.Escape(k)] = struct{}{} + } + for _, k := range s.analyzer.AllDefinitionReferences() { + delete(expected, k) + } + + if len(expected) == 0 { + return nil + } + + result := new(Result) + for k := range expected { + result.AddWarnings(unusedDefinitionMsg(k)) + } + return result +} + +func (s *SpecValidator) validateRequiredDefinitions() *Result { + // Each property listed in the required array must be defined in the properties of the model + res := pools.poolOfResults.BorrowResult() + +DEFINITIONS: + for d, schema := range s.spec.Spec().Definitions { + if schema.Required != nil { // Safeguard + for _, pn := range schema.Required { + red := s.validateRequiredProperties(pn, d, &schema) //#nosec + res.Merge(red) + if !red.IsValid() && !s.Options.ContinueOnErrors { + break DEFINITIONS // there is an error, let's stop that bleeding + } + } + } + } + return res +} + +func (s *SpecValidator) validateRequiredProperties(path, in string, v *spec.Schema) *Result { + // Takes care of recursive property definitions, which may be nested in additionalProperties schemas + res := pools.poolOfResults.BorrowResult() + propertyMatch := false + patternMatch := false + additionalPropertiesMatch := false + isReadOnly := false + + // Regular properties + if _, ok := v.Properties[path]; ok { + propertyMatch = true + isReadOnly = v.Properties[path].ReadOnly + } + + // NOTE: patternProperties are not supported in swagger. Even though, we continue validation here + // We check all defined patterns: if one regexp is invalid, croaks an error + for pp, pv := range v.PatternProperties { + re, err := compileRegexp(pp) + if err != nil { + res.AddErrors(invalidPatternMsg(pp, in)) + } else if re.MatchString(path) { + patternMatch = true + if !propertyMatch { + isReadOnly = pv.ReadOnly + } + } + } + + if !(propertyMatch || patternMatch) { + if v.AdditionalProperties != nil { + if v.AdditionalProperties.Allows && v.AdditionalProperties.Schema == nil { + additionalPropertiesMatch = true + } else if v.AdditionalProperties.Schema != nil { + // additionalProperties as schema are upported in swagger + // recursively validates additionalProperties schema + // TODO : anyOf, allOf, oneOf like in schemaPropsValidator + red := s.validateRequiredProperties(path, in, v.AdditionalProperties.Schema) + if red.IsValid() { + additionalPropertiesMatch = true + if !propertyMatch && !patternMatch { + isReadOnly = v.AdditionalProperties.Schema.ReadOnly + } + } + res.Merge(red) + } + } + } + + if !(propertyMatch || patternMatch || additionalPropertiesMatch) { + res.AddErrors(requiredButNotDefinedMsg(path, in)) + } + + if isReadOnly { + res.AddWarnings(readOnlyAndRequiredMsg(in, path)) + } + return res +} + +func (s *SpecValidator) validateParameters() *Result { + // - for each method, path is unique, regardless of path parameters + // e.g. GET:/petstore/{id}, GET:/petstore/{pet}, GET:/petstore are + // considered duplicate paths, if StrictPathParamUniqueness is enabled. + // - each parameter should have a unique `name` and `type` combination + // - each operation should have only 1 parameter of type body + // - there must be at most 1 parameter in body + // - parameters with pattern property must specify valid patterns + // - $ref in parameters must resolve + // - path param must be required + res := pools.poolOfResults.BorrowResult() + rexGarbledPathSegment := mustCompileRegexp(`.*[{}\s]+.*`) + for method, pi := range s.expandedAnalyzer().Operations() { + methodPaths := make(map[string]map[string]string) + for path, op := range pi { + if s.Options.StrictPathParamUniqueness { + pathToAdd := pathHelp.stripParametersInPath(path) + + // Warn on garbled path afer param stripping + if rexGarbledPathSegment.MatchString(pathToAdd) { + res.AddWarnings(pathStrippedParamGarbledMsg(pathToAdd)) + } + + // Check uniqueness of stripped paths + if _, found := methodPaths[method][pathToAdd]; found { + + // Sort names for stable, testable output + if strings.Compare(path, methodPaths[method][pathToAdd]) < 0 { + res.AddErrors(pathOverlapMsg(path, methodPaths[method][pathToAdd])) + } else { + res.AddErrors(pathOverlapMsg(methodPaths[method][pathToAdd], path)) + } + } else { + if _, found := methodPaths[method]; !found { + methodPaths[method] = map[string]string{} + } + methodPaths[method][pathToAdd] = path // Original non stripped path + + } + } + + var bodyParams []string + var paramNames []string + var hasForm, hasBody bool + + // Check parameters names uniqueness for operation + // TODO: should be done after param expansion + res.Merge(s.checkUniqueParams(path, method, op)) + + // pick the root schema from the swagger specification which describes a parameter + origSchema, ok := s.schema.Definitions["parameter"] + if !ok { + panic("unexpected swagger schema: missing #/definitions/parameter") + } + // clone it once to avoid expanding a global schema (e.g. swagger spec) + paramSchema, err := deepCloneSchema(origSchema) + if err != nil { + panic(fmt.Errorf("can't clone schema: %v", err)) + } + + for _, pr := range paramHelp.safeExpandedParamsFor(path, method, op.ID, res, s) { + // An expanded parameter must validate the Parameter schema (an unexpanded $ref always passes high-level schema validation) + schv := newSchemaValidator(¶mSchema, s.schema, fmt.Sprintf("%s.%s.parameters.%s", path, method, pr.Name), s.KnownFormats, s.schemaOptions) + obj := swag.ToDynamicJSON(pr) + res.Merge(schv.Validate(obj)) + + // Validate pattern regexp for parameters with a Pattern property + if _, err := compileRegexp(pr.Pattern); err != nil { + res.AddErrors(invalidPatternInParamMsg(op.ID, pr.Name, pr.Pattern)) + } + + // There must be at most one parameter in body: list them all + if pr.In == swaggerBody { + bodyParams = append(bodyParams, fmt.Sprintf("%q", pr.Name)) + hasBody = true + } + + if pr.In == "path" { + paramNames = append(paramNames, pr.Name) + // Path declared in path must have the required: true property + if !pr.Required { + res.AddErrors(pathParamRequiredMsg(op.ID, pr.Name)) + } + } + + if pr.In == "formData" { + hasForm = true + } + + if !(pr.Type == numberType || pr.Type == integerType) && + (pr.Maximum != nil || pr.Minimum != nil || pr.MultipleOf != nil) { + // A non-numeric parameter has validation keywords for numeric instances (number and integer) + res.AddWarnings(parameterValidationTypeMismatchMsg(pr.Name, path, pr.Type)) + } + + if !(pr.Type == stringType) && + // A non-string parameter has validation keywords for strings + (pr.MaxLength != nil || pr.MinLength != nil || pr.Pattern != "") { + res.AddWarnings(parameterValidationTypeMismatchMsg(pr.Name, path, pr.Type)) + } + + if !(pr.Type == arrayType) && + // A non-array parameter has validation keywords for arrays + (pr.MaxItems != nil || pr.MinItems != nil || pr.UniqueItems) { + res.AddWarnings(parameterValidationTypeMismatchMsg(pr.Name, path, pr.Type)) + } + } + + // In:formData and In:body are mutually exclusive + if hasBody && hasForm { + res.AddErrors(bothFormDataAndBodyMsg(op.ID)) + } + // There must be at most one body param + // Accurately report situations when more than 1 body param is declared (possibly unnamed) + if len(bodyParams) > 1 { + sort.Strings(bodyParams) + res.AddErrors(multipleBodyParamMsg(op.ID, bodyParams)) + } + + // Check uniqueness of parameters in path + paramsInPath := pathHelp.extractPathParams(path) + for i, p := range paramsInPath { + for j, q := range paramsInPath { + if p == q && i > j { + res.AddErrors(pathParamNotUniqueMsg(path, p, q)) + break + } + } + } + + // Warns about possible malformed params in path + rexGarbledParam := mustCompileRegexp(`{.*[{}\s]+.*}`) + for _, p := range paramsInPath { + if rexGarbledParam.MatchString(p) { + res.AddWarnings(pathParamGarbledMsg(path, p)) + } + } + + // Match params from path vs params from params section + res.Merge(s.validatePathParamPresence(path, paramsInPath, paramNames)) + } + } + return res +} + +func (s *SpecValidator) validateReferencesValid() *Result { + // each reference must point to a valid object + res := pools.poolOfResults.BorrowResult() + for _, r := range s.analyzer.AllRefs() { + if !r.IsValidURI(s.spec.SpecFilePath()) { // Safeguard - spec should always yield a valid URI + res.AddErrors(invalidRefMsg(r.String())) + } + } + if !res.HasErrors() { + // NOTE: with default settings, loads.Document.Expanded() + // stops on first error. Anyhow, the expand option to continue + // on errors fails to report errors at all. + exp, err := s.spec.Expanded() + if err != nil { + res.AddErrors(unresolvedReferencesMsg(err)) + } + s.expanded = exp + } + return res +} + +func (s *SpecValidator) checkUniqueParams(path, method string, op *spec.Operation) *Result { + // Check for duplicate parameters declaration in param section. + // Each parameter should have a unique `name` and `type` combination + // NOTE: this could be factorized in analysis (when constructing the params map) + // However, there are some issues with such a factorization: + // - analysis does not seem to fully expand params + // - param keys may be altered by x-go-name + res := pools.poolOfResults.BorrowResult() + pnames := make(map[string]struct{}) + + if op.Parameters != nil { // Safeguard + for _, ppr := range op.Parameters { + var ok bool + pr, red := paramHelp.resolveParam(path, method, op.ID, &ppr, s) //#nosec + res.Merge(red) + + if pr != nil && pr.Name != "" { // params with empty name does no participate the check + key := fmt.Sprintf("%s#%s", pr.In, pr.Name) + + if _, ok = pnames[key]; ok { + res.AddErrors(duplicateParamNameMsg(pr.In, pr.Name, op.ID)) + } + pnames[key] = struct{}{} + } + } + } + return res +} + +// SetContinueOnErrors sets the ContinueOnErrors option for this validator. +func (s *SpecValidator) SetContinueOnErrors(c bool) { + s.Options.ContinueOnErrors = c +} + +// expandedAnalyzer returns expanded.Analyzer when it is available. +// otherwise just analyzer. +func (s *SpecValidator) expandedAnalyzer() *analysis.Spec { + if s.expanded != nil && s.expanded.Analyzer != nil { + return s.expanded.Analyzer + } + return s.analyzer +} + +func deepCloneSchema(src spec.Schema) (spec.Schema, error) { + var b bytes.Buffer + if err := gob.NewEncoder(&b).Encode(src); err != nil { + return spec.Schema{}, err + } + + var dst spec.Schema + if err := gob.NewDecoder(&b).Decode(&dst); err != nil { + return spec.Schema{}, err + } + + return dst, nil +} diff --git a/vendor/github.com/go-openapi/validate/spec_messages.go b/vendor/github.com/go-openapi/validate/spec_messages.go new file mode 100644 index 000000000..6d1f0f819 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/spec_messages.go @@ -0,0 +1,366 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "net/http" + + "github.com/go-openapi/errors" +) + +// Error messages related to spec validation and returned as results. +const ( + // ArrayRequiresItemsError ... + ArrayRequiresItemsError = "%s for %q is a collection without an element type (array requires items definition)" + + // ArrayInParamRequiresItemsError ... + ArrayInParamRequiresItemsError = "param %q for %q is a collection without an element type (array requires item definition)" + + // ArrayInHeaderRequiresItemsError ... + ArrayInHeaderRequiresItemsError = "header %q for %q is a collection without an element type (array requires items definition)" + + // BothFormDataAndBodyError indicates that an operation specifies both a body and a formData parameter, which is forbidden + BothFormDataAndBodyError = "operation %q has both formData and body parameters. Only one such In: type may be used for a given operation" + + // CannotResolveRefError when a $ref could not be resolved + CannotResolveReferenceError = "could not resolve reference in %s to $ref %s: %v" + + // CircularAncestryDefinitionError ... + CircularAncestryDefinitionError = "definition %q has circular ancestry: %v" + + // DefaultValueDoesNotValidateError results from an invalid default value provided + DefaultValueDoesNotValidateError = "default value for %s in %s does not validate its schema" + + // DefaultValueItemsDoesNotValidateError results from an invalid default value provided for Items + DefaultValueItemsDoesNotValidateError = "default value for %s.items in %s does not validate its schema" + + // DefaultValueHeaderDoesNotValidateError results from an invalid default value provided in header + DefaultValueHeaderDoesNotValidateError = "in operation %q, default value in header %s for %s does not validate its schema" + + // DefaultValueHeaderItemsDoesNotValidateError results from an invalid default value provided in header.items + DefaultValueHeaderItemsDoesNotValidateError = "in operation %q, default value in header.items %s for %s does not validate its schema" + + // DefaultValueInDoesNotValidateError ... + DefaultValueInDoesNotValidateError = "in operation %q, default value in %s does not validate its schema" + + // DuplicateParamNameError ... + DuplicateParamNameError = "duplicate parameter name %q for %q in operation %q" + + // DuplicatePropertiesError ... + DuplicatePropertiesError = "definition %q contains duplicate properties: %v" + + // ExampleValueDoesNotValidateError results from an invalid example value provided + ExampleValueDoesNotValidateError = "example value for %s in %s does not validate its schema" + + // ExampleValueItemsDoesNotValidateError results from an invalid example value provided for Items + ExampleValueItemsDoesNotValidateError = "example value for %s.items in %s does not validate its schema" + + // ExampleValueHeaderDoesNotValidateError results from an invalid example value provided in header + ExampleValueHeaderDoesNotValidateError = "in operation %q, example value in header %s for %s does not validate its schema" + + // ExampleValueHeaderItemsDoesNotValidateError results from an invalid example value provided in header.items + ExampleValueHeaderItemsDoesNotValidateError = "in operation %q, example value in header.items %s for %s does not validate its schema" + + // ExampleValueInDoesNotValidateError ... + ExampleValueInDoesNotValidateError = "in operation %q, example value in %s does not validate its schema" + + // EmptyPathParameterError means that a path parameter was found empty (e.g. "{}") + EmptyPathParameterError = "%q contains an empty path parameter" + + // InvalidDocumentError states that spec validation only processes spec.Document objects + InvalidDocumentError = "spec validator can only validate spec.Document objects" + + // InvalidItemsPatternError indicates an Items definition with invalid pattern + InvalidItemsPatternError = "%s for %q has invalid items pattern: %q" + + // InvalidParameterDefinitionError indicates an error detected on a parameter definition + InvalidParameterDefinitionError = "invalid definition for parameter %s in %s in operation %q" + + // InvalidParameterDefinitionAsSchemaError indicates an error detected on a parameter definition, which was mistaken with a schema definition. + // Most likely, this situation is encountered whenever a $ref has been added as a sibling of the parameter definition. + InvalidParameterDefinitionAsSchemaError = "invalid definition as Schema for parameter %s in %s in operation %q" + + // InvalidPatternError ... + InvalidPatternError = "pattern %q is invalid in %s" + + // InvalidPatternInError indicates an invalid pattern in a schema or items definition + InvalidPatternInError = "%s in %s has invalid pattern: %q" + + // InvalidPatternInHeaderError indicates a header definition with an invalid pattern + InvalidPatternInHeaderError = "in operation %q, header %s for %s has invalid pattern %q: %v" + + // InvalidPatternInParamError ... + InvalidPatternInParamError = "operation %q has invalid pattern in param %q: %q" + + // InvalidReferenceError indicates that a $ref property could not be resolved + InvalidReferenceError = "invalid ref %q" + + // InvalidResponseDefinitionAsSchemaError indicates an error detected on a response definition, which was mistaken with a schema definition. + // Most likely, this situation is encountered whenever a $ref has been added as a sibling of the response definition. + InvalidResponseDefinitionAsSchemaError = "invalid definition as Schema for response %s in %s" + + // MultipleBodyParamError indicates that an operation specifies multiple parameter with in: body + MultipleBodyParamError = "operation %q has more than 1 body param: %v" + + // NonUniqueOperationIDError indicates that the same operationId has been specified several times + NonUniqueOperationIDError = "%q is defined %d times" + + // NoParameterInPathError indicates that a path was found without any parameter + NoParameterInPathError = "path param %q has no parameter definition" + + // NoValidPathErrorOrWarning indicates that no single path could be validated. If Paths is empty, this message is only a warning. + NoValidPathErrorOrWarning = "spec has no valid path defined" + + // NoValidResponseError indicates that no valid response description could be found for an operation + NoValidResponseError = "operation %q has no valid response" + + // PathOverlapError ... + PathOverlapError = "path %s overlaps with %s" + + // PathParamNotInPathError indicates that a parameter specified with in: path was not found in the path specification + PathParamNotInPathError = "path param %q is not present in path %q" + + // PathParamNotUniqueError ... + PathParamNotUniqueError = "params in path %q must be unique: %q conflicts with %q" + + // PathParamNotRequiredError ... + PathParamRequiredError = "in operation %q,path param %q must be declared as required" + + // RefNotAllowedInHeaderError indicates a $ref was found in a header definition, which is not allowed by Swagger + RefNotAllowedInHeaderError = "IMPORTANT!in %q: $ref are not allowed in headers. In context for header %q%s" + + // RequiredButNotDefinedError ... + RequiredButNotDefinedError = "%q is present in required but not defined as property in definition %q" + + // SomeParametersBrokenError indicates that some parameters could not be resolved, which might result in partial checks to be carried on + SomeParametersBrokenError = "some parameters definitions are broken in %q.%s. Cannot carry on full checks on parameters for operation %s" + + // UnresolvedReferencesError indicates that at least one $ref could not be resolved + UnresolvedReferencesError = "some references could not be resolved in spec. First found: %v" +) + +// Warning messages related to spec validation and returned as results +const ( + // ExamplesWithoutSchemaWarning indicates that examples are provided for a response,but not schema to validate the example against + ExamplesWithoutSchemaWarning = "Examples provided without schema in operation %q, %s" + + // ExamplesMimeNotSupportedWarning indicates that examples are provided with a mime type different than application/json, which + // the validator dos not support yetl + ExamplesMimeNotSupportedWarning = "No validation attempt for examples for media types other than application/json, in operation %q, %s" + + // PathParamGarbledWarning ... + PathParamGarbledWarning = "in path %q, param %q contains {,} or white space. Albeit not stricly illegal, this is probably no what you want" + + // ParamValidationTypeMismatch indicates that parameter has validation which does not match its type + ParamValidationTypeMismatch = "validation keywords of parameter %q in path %q don't match its type %s" + + // PathStrippedParamGarbledWarning ... + PathStrippedParamGarbledWarning = "path stripped from path parameters %s contains {,} or white space. This is probably no what you want." + + // ReadOnlyAndRequiredWarning ... + ReadOnlyAndRequiredWarning = "Required property %s in %q should not be marked as both required and readOnly" + + // RefShouldNotHaveSiblingsWarning indicates that a $ref was found with a sibling definition. This results in the $ref taking over its siblings, + // which is most likely not wanted. + RefShouldNotHaveSiblingsWarning = "$ref property should have no sibling in %q.%s" + + // RequiredHasDefaultWarning indicates that a required parameter property should not have a default + RequiredHasDefaultWarning = "%s in %s has a default value and is required as parameter" + + // UnusedDefinitionWarning ... + UnusedDefinitionWarning = "definition %q is not used anywhere" + + // UnusedParamWarning ... + UnusedParamWarning = "parameter %q is not used anywhere" + + // UnusedResponseWarning ... + UnusedResponseWarning = "response %q is not used anywhere" + + InvalidObject = "expected an object in %q.%s" +) + +// Additional error codes +const ( + // InternalErrorCode reports an internal technical error + InternalErrorCode = http.StatusInternalServerError + // NotFoundErrorCode indicates that a resource (e.g. a $ref) could not be found + NotFoundErrorCode = http.StatusNotFound +) + +func invalidDocumentMsg() errors.Error { + return errors.New(InternalErrorCode, InvalidDocumentError) +} +func invalidRefMsg(path string) errors.Error { + return errors.New(NotFoundErrorCode, InvalidReferenceError, path) +} +func unresolvedReferencesMsg(err error) errors.Error { + return errors.New(errors.CompositeErrorCode, UnresolvedReferencesError, err) +} +func noValidPathMsg() errors.Error { + return errors.New(errors.CompositeErrorCode, NoValidPathErrorOrWarning) +} +func emptyPathParameterMsg(path string) errors.Error { + return errors.New(errors.CompositeErrorCode, EmptyPathParameterError, path) +} +func nonUniqueOperationIDMsg(path string, i int) errors.Error { + return errors.New(errors.CompositeErrorCode, NonUniqueOperationIDError, path, i) +} +func circularAncestryDefinitionMsg(path string, args interface{}) errors.Error { + return errors.New(errors.CompositeErrorCode, CircularAncestryDefinitionError, path, args) +} +func duplicatePropertiesMsg(path string, args interface{}) errors.Error { + return errors.New(errors.CompositeErrorCode, DuplicatePropertiesError, path, args) +} +func pathParamNotInPathMsg(path, param string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathParamNotInPathError, param, path) +} +func arrayRequiresItemsMsg(path, operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, ArrayRequiresItemsError, path, operation) +} +func arrayInParamRequiresItemsMsg(path, operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, ArrayInParamRequiresItemsError, path, operation) +} +func arrayInHeaderRequiresItemsMsg(path, operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, ArrayInHeaderRequiresItemsError, path, operation) +} +func invalidItemsPatternMsg(path, operation, pattern string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidItemsPatternError, path, operation, pattern) +} +func invalidPatternMsg(pattern, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidPatternError, pattern, path) +} +func requiredButNotDefinedMsg(path, definition string) errors.Error { + return errors.New(errors.CompositeErrorCode, RequiredButNotDefinedError, path, definition) +} +func pathParamGarbledMsg(path, param string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathParamGarbledWarning, path, param) +} +func pathStrippedParamGarbledMsg(path string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathStrippedParamGarbledWarning, path) +} +func pathOverlapMsg(path, arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathOverlapError, path, arg) +} +func invalidPatternInParamMsg(operation, param, pattern string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidPatternInParamError, operation, param, pattern) +} +func pathParamRequiredMsg(operation, param string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathParamRequiredError, operation, param) +} +func bothFormDataAndBodyMsg(operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, BothFormDataAndBodyError, operation) +} +func multipleBodyParamMsg(operation string, args interface{}) errors.Error { + return errors.New(errors.CompositeErrorCode, MultipleBodyParamError, operation, args) +} +func pathParamNotUniqueMsg(path, param, arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathParamNotUniqueError, path, param, arg) +} +func duplicateParamNameMsg(path, param, operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, DuplicateParamNameError, param, path, operation) +} +func unusedParamMsg(arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, UnusedParamWarning, arg) +} +func unusedDefinitionMsg(arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, UnusedDefinitionWarning, arg) +} +func unusedResponseMsg(arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, UnusedResponseWarning, arg) +} +func readOnlyAndRequiredMsg(path, param string) errors.Error { + return errors.New(errors.CompositeErrorCode, ReadOnlyAndRequiredWarning, param, path) +} +func noParameterInPathMsg(param string) errors.Error { + return errors.New(errors.CompositeErrorCode, NoParameterInPathError, param) +} +func requiredHasDefaultMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, RequiredHasDefaultWarning, param, path) +} +func defaultValueDoesNotValidateMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueDoesNotValidateError, param, path) +} +func defaultValueItemsDoesNotValidateMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueItemsDoesNotValidateError, param, path) +} +func noValidResponseMsg(operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, NoValidResponseError, operation) +} +func defaultValueHeaderDoesNotValidateMsg(operation, header, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueHeaderDoesNotValidateError, operation, header, path) +} +func defaultValueHeaderItemsDoesNotValidateMsg(operation, header, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueHeaderItemsDoesNotValidateError, operation, header, path) +} +func invalidPatternInHeaderMsg(operation, header, path, pattern string, args interface{}) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidPatternInHeaderError, operation, header, path, pattern, args) +} +func invalidPatternInMsg(path, in, pattern string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidPatternInError, path, in, pattern) +} +func defaultValueInDoesNotValidateMsg(operation, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueInDoesNotValidateError, operation, path) +} +func exampleValueDoesNotValidateMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueDoesNotValidateError, param, path) +} +func exampleValueItemsDoesNotValidateMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueItemsDoesNotValidateError, param, path) +} +func exampleValueHeaderDoesNotValidateMsg(operation, header, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueHeaderDoesNotValidateError, operation, header, path) +} +func exampleValueHeaderItemsDoesNotValidateMsg(operation, header, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueHeaderItemsDoesNotValidateError, operation, header, path) +} +func exampleValueInDoesNotValidateMsg(operation, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueInDoesNotValidateError, operation, path) +} +func examplesWithoutSchemaMsg(operation, response string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExamplesWithoutSchemaWarning, operation, response) +} +func examplesMimeNotSupportedMsg(operation, response string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExamplesMimeNotSupportedWarning, operation, response) +} +func refNotAllowedInHeaderMsg(path, header, ref string) errors.Error { + return errors.New(errors.CompositeErrorCode, RefNotAllowedInHeaderError, path, header, ref) +} +func cannotResolveRefMsg(path, ref string, err error) errors.Error { + return errors.New(errors.CompositeErrorCode, CannotResolveReferenceError, path, ref, err) +} +func invalidParameterDefinitionMsg(path, method, operationID string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidParameterDefinitionError, path, method, operationID) +} +func invalidParameterDefinitionAsSchemaMsg(path, method, operationID string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidParameterDefinitionAsSchemaError, path, method, operationID) +} +func parameterValidationTypeMismatchMsg(param, path, typ string) errors.Error { + return errors.New(errors.CompositeErrorCode, ParamValidationTypeMismatch, param, path, typ) +} +func invalidObjectMsg(path, in string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidObject, path, in) +} + +// disabled +// +// func invalidResponseDefinitionAsSchemaMsg(path, method string) errors.Error { +// return errors.New(errors.CompositeErrorCode, InvalidResponseDefinitionAsSchemaError, path, method) +// } +func someParametersBrokenMsg(path, method, operationID string) errors.Error { + return errors.New(errors.CompositeErrorCode, SomeParametersBrokenError, path, method, operationID) +} +func refShouldNotHaveSiblingsMsg(path, operationID string) errors.Error { + return errors.New(errors.CompositeErrorCode, RefShouldNotHaveSiblingsWarning, operationID, path) +} diff --git a/vendor/github.com/go-openapi/validate/type.go b/vendor/github.com/go-openapi/validate/type.go new file mode 100644 index 000000000..f87abb3d5 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/type.go @@ -0,0 +1,213 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "reflect" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +type typeValidator struct { + Path string + In string + Type spec.StringOrArray + Nullable bool + Format string + Options *SchemaValidatorOptions +} + +func newTypeValidator(path, in string, typ spec.StringOrArray, nullable bool, format string, opts *SchemaValidatorOptions) *typeValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var t *typeValidator + if opts.recycleValidators { + t = pools.poolOfTypeValidators.BorrowValidator() + } else { + t = new(typeValidator) + } + + t.Path = path + t.In = in + t.Type = typ + t.Nullable = nullable + t.Format = format + t.Options = opts + + return t +} + +func (t *typeValidator) schemaInfoForType(data interface{}) (string, string) { + // internal type to JSON type with swagger 2.0 format (with go-openapi/strfmt extensions), + // see https://github.com/go-openapi/strfmt/blob/master/README.md + // TODO: this switch really is some sort of reverse lookup for formats. It should be provided by strfmt. + switch data.(type) { + case []byte, strfmt.Base64, *strfmt.Base64: + return stringType, stringFormatByte + case strfmt.CreditCard, *strfmt.CreditCard: + return stringType, stringFormatCreditCard + case strfmt.Date, *strfmt.Date: + return stringType, stringFormatDate + case strfmt.DateTime, *strfmt.DateTime: + return stringType, stringFormatDateTime + case strfmt.Duration, *strfmt.Duration: + return stringType, stringFormatDuration + case swag.File, *swag.File: + return fileType, "" + case strfmt.Email, *strfmt.Email: + return stringType, stringFormatEmail + case strfmt.HexColor, *strfmt.HexColor: + return stringType, stringFormatHexColor + case strfmt.Hostname, *strfmt.Hostname: + return stringType, stringFormatHostname + case strfmt.IPv4, *strfmt.IPv4: + return stringType, stringFormatIPv4 + case strfmt.IPv6, *strfmt.IPv6: + return stringType, stringFormatIPv6 + case strfmt.ISBN, *strfmt.ISBN: + return stringType, stringFormatISBN + case strfmt.ISBN10, *strfmt.ISBN10: + return stringType, stringFormatISBN10 + case strfmt.ISBN13, *strfmt.ISBN13: + return stringType, stringFormatISBN13 + case strfmt.MAC, *strfmt.MAC: + return stringType, stringFormatMAC + case strfmt.ObjectId, *strfmt.ObjectId: + return stringType, stringFormatBSONObjectID + case strfmt.Password, *strfmt.Password: + return stringType, stringFormatPassword + case strfmt.RGBColor, *strfmt.RGBColor: + return stringType, stringFormatRGBColor + case strfmt.SSN, *strfmt.SSN: + return stringType, stringFormatSSN + case strfmt.URI, *strfmt.URI: + return stringType, stringFormatURI + case strfmt.UUID, *strfmt.UUID: + return stringType, stringFormatUUID + case strfmt.UUID3, *strfmt.UUID3: + return stringType, stringFormatUUID3 + case strfmt.UUID4, *strfmt.UUID4: + return stringType, stringFormatUUID4 + case strfmt.UUID5, *strfmt.UUID5: + return stringType, stringFormatUUID5 + // TODO: missing binary (io.ReadCloser) + // TODO: missing json.Number + default: + val := reflect.ValueOf(data) + tpe := val.Type() + switch tpe.Kind() { //nolint:exhaustive + case reflect.Bool: + return booleanType, "" + case reflect.String: + return stringType, "" + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Uint8, reflect.Uint16, reflect.Uint32: + // NOTE: that is the spec. With go-openapi, is that not uint32 for unsigned integers? + return integerType, integerFormatInt32 + case reflect.Int, reflect.Int64, reflect.Uint, reflect.Uint64: + return integerType, integerFormatInt64 + case reflect.Float32: + // NOTE: is that not numberFormatFloat? + return numberType, numberFormatFloat32 + case reflect.Float64: + // NOTE: is that not "double"? + return numberType, numberFormatFloat64 + // NOTE: go arrays (reflect.Array) are not supported (fixed length) + case reflect.Slice: + return arrayType, "" + case reflect.Map, reflect.Struct: + return objectType, "" + case reflect.Interface: + // What to do here? + panic("dunno what to do here") + case reflect.Ptr: + return t.schemaInfoForType(reflect.Indirect(val).Interface()) + } + } + return "", "" +} + +func (t *typeValidator) SetPath(path string) { + t.Path = path +} + +func (t *typeValidator) Applies(source interface{}, _ reflect.Kind) bool { + // typeValidator applies to Schema, Parameter and Header objects + switch source.(type) { + case *spec.Schema: + case *spec.Parameter: + case *spec.Header: + default: + return false + } + + return (len(t.Type) > 0 || t.Format != "") +} + +func (t *typeValidator) Validate(data interface{}) *Result { + if t.Options.recycleValidators { + defer func() { + t.redeem() + }() + } + + if data == nil { + // nil or zero value for the passed structure require Type: null + if len(t.Type) > 0 && !t.Type.Contains(nullType) && !t.Nullable { // TODO: if a property is not required it also passes this + return errorHelp.sErr(errors.InvalidType(t.Path, t.In, strings.Join(t.Type, ","), nullType), t.Options.recycleResult) + } + + return emptyResult + } + + // check if the type matches, should be used in every validator chain as first item + val := reflect.Indirect(reflect.ValueOf(data)) + kind := val.Kind() + + // infer schema type (JSON) and format from passed data type + schType, format := t.schemaInfoForType(data) + + // check numerical types + // TODO: check unsigned ints + // TODO: check json.Number (see schema.go) + isLowerInt := t.Format == integerFormatInt64 && format == integerFormatInt32 + isLowerFloat := t.Format == numberFormatFloat64 && format == numberFormatFloat32 + isFloatInt := schType == numberType && swag.IsFloat64AJSONInteger(val.Float()) && t.Type.Contains(integerType) + isIntFloat := schType == integerType && t.Type.Contains(numberType) + + if kind != reflect.String && kind != reflect.Slice && t.Format != "" && !(t.Type.Contains(schType) || format == t.Format || isFloatInt || isIntFloat || isLowerInt || isLowerFloat) { + // TODO: test case + return errorHelp.sErr(errors.InvalidType(t.Path, t.In, t.Format, format), t.Options.recycleResult) + } + + if !(t.Type.Contains(numberType) || t.Type.Contains(integerType)) && t.Format != "" && (kind == reflect.String || kind == reflect.Slice) { + return emptyResult + } + + if !(t.Type.Contains(schType) || isFloatInt || isIntFloat) { + return errorHelp.sErr(errors.InvalidType(t.Path, t.In, strings.Join(t.Type, ","), schType), t.Options.recycleResult) + } + + return emptyResult +} + +func (t *typeValidator) redeem() { + pools.poolOfTypeValidators.RedeemValidator(t) +} diff --git a/vendor/github.com/go-openapi/validate/update-fixtures.sh b/vendor/github.com/go-openapi/validate/update-fixtures.sh new file mode 100644 index 000000000..21b06e2b0 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/update-fixtures.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -eu -o pipefail +dir=$(git rev-parse --show-toplevel) +scratch=$(mktemp -d -t tmp.XXXXXXXXXX) + +function finish { + rm -rf "$scratch" +} +trap finish EXIT SIGHUP SIGINT SIGTERM + +cd "$scratch" +git clone https://github.com/json-schema-org/JSON-Schema-Test-Suite Suite +cp -r Suite/tests/draft4/* "$dir/fixtures/jsonschema_suite" +cp -a Suite/remotes "$dir/fixtures/jsonschema_suite" diff --git a/vendor/github.com/go-openapi/validate/validator.go b/vendor/github.com/go-openapi/validate/validator.go new file mode 100644 index 000000000..c083aecc9 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/validator.go @@ -0,0 +1,1051 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "fmt" + "reflect" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +// An EntityValidator is an interface for things that can validate entities +type EntityValidator interface { + Validate(interface{}) *Result +} + +type valueValidator interface { + SetPath(path string) + Applies(interface{}, reflect.Kind) bool + Validate(interface{}) *Result +} + +type itemsValidator struct { + items *spec.Items + root interface{} + path string + in string + validators [6]valueValidator + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +func newItemsValidator(path, in string, items *spec.Items, root interface{}, formats strfmt.Registry, opts *SchemaValidatorOptions) *itemsValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var iv *itemsValidator + if opts.recycleValidators { + iv = pools.poolOfItemsValidators.BorrowValidator() + } else { + iv = new(itemsValidator) + } + + iv.path = path + iv.in = in + iv.items = items + iv.root = root + iv.KnownFormats = formats + iv.Options = opts + iv.validators = [6]valueValidator{ + iv.typeValidator(), + iv.stringValidator(), + iv.formatValidator(), + iv.numberValidator(), + iv.sliceValidator(), + iv.commonValidator(), + } + return iv +} + +func (i *itemsValidator) Validate(index int, data interface{}) *Result { + if i.Options.recycleValidators { + defer func() { + i.redeemChildren() + i.redeem() + }() + } + + tpe := reflect.TypeOf(data) + kind := tpe.Kind() + var result *Result + if i.Options.recycleResult { + result = pools.poolOfResults.BorrowResult() + } else { + result = new(Result) + } + + path := fmt.Sprintf("%s.%d", i.path, index) + + for idx, validator := range i.validators { + if !validator.Applies(i.root, kind) { + if i.Options.recycleValidators { + // Validate won't be called, so relinquish this validator + if redeemableChildren, ok := validator.(interface{ redeemChildren() }); ok { + redeemableChildren.redeemChildren() + } + if redeemable, ok := validator.(interface{ redeem() }); ok { + redeemable.redeem() + } + i.validators[idx] = nil // prevents further (unsafe) usage + } + + continue + } + + validator.SetPath(path) + err := validator.Validate(data) + if i.Options.recycleValidators { + i.validators[idx] = nil // prevents further (unsafe) usage + } + if err != nil { + result.Inc() + if err.HasErrors() { + result.Merge(err) + + break + } + + result.Merge(err) + } + } + + return result +} + +func (i *itemsValidator) typeValidator() valueValidator { + return newTypeValidator( + i.path, + i.in, + spec.StringOrArray([]string{i.items.Type}), + i.items.Nullable, + i.items.Format, + i.Options, + ) +} + +func (i *itemsValidator) commonValidator() valueValidator { + return newBasicCommonValidator( + "", + i.in, + i.items.Default, + i.items.Enum, + i.Options, + ) +} + +func (i *itemsValidator) sliceValidator() valueValidator { + return newBasicSliceValidator( + "", + i.in, + i.items.Default, + i.items.MaxItems, + i.items.MinItems, + i.items.UniqueItems, + i.items.Items, + i.root, + i.KnownFormats, + i.Options, + ) +} + +func (i *itemsValidator) numberValidator() valueValidator { + return newNumberValidator( + "", + i.in, + i.items.Default, + i.items.MultipleOf, + i.items.Maximum, + i.items.ExclusiveMaximum, + i.items.Minimum, + i.items.ExclusiveMinimum, + i.items.Type, + i.items.Format, + i.Options, + ) +} + +func (i *itemsValidator) stringValidator() valueValidator { + return newStringValidator( + "", + i.in, + i.items.Default, + false, // Required + false, // AllowEmpty + i.items.MaxLength, + i.items.MinLength, + i.items.Pattern, + i.Options, + ) +} + +func (i *itemsValidator) formatValidator() valueValidator { + return newFormatValidator( + "", + i.in, + i.items.Format, + i.KnownFormats, + i.Options, + ) +} + +func (i *itemsValidator) redeem() { + pools.poolOfItemsValidators.RedeemValidator(i) +} + +func (i *itemsValidator) redeemChildren() { + for idx, validator := range i.validators { + if validator == nil { + continue + } + if redeemableChildren, ok := validator.(interface{ redeemChildren() }); ok { + redeemableChildren.redeemChildren() + } + if redeemable, ok := validator.(interface{ redeem() }); ok { + redeemable.redeem() + } + i.validators[idx] = nil // free up allocated children if not in pool + } +} + +type basicCommonValidator struct { + Path string + In string + Default interface{} + Enum []interface{} + Options *SchemaValidatorOptions +} + +func newBasicCommonValidator(path, in string, def interface{}, enum []interface{}, opts *SchemaValidatorOptions) *basicCommonValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var b *basicCommonValidator + if opts.recycleValidators { + b = pools.poolOfBasicCommonValidators.BorrowValidator() + } else { + b = new(basicCommonValidator) + } + + b.Path = path + b.In = in + b.Default = def + b.Enum = enum + b.Options = opts + + return b +} + +func (b *basicCommonValidator) SetPath(path string) { + b.Path = path +} + +func (b *basicCommonValidator) Applies(source interface{}, _ reflect.Kind) bool { + switch source.(type) { + case *spec.Parameter, *spec.Schema, *spec.Header: + return true + default: + return false + } +} + +func (b *basicCommonValidator) Validate(data interface{}) (res *Result) { + if b.Options.recycleValidators { + defer func() { + b.redeem() + }() + } + + if len(b.Enum) == 0 { + return nil + } + + for _, enumValue := range b.Enum { + actualType := reflect.TypeOf(enumValue) + if actualType == nil { // Safeguard + continue + } + + expectedValue := reflect.ValueOf(data) + if expectedValue.IsValid() && + expectedValue.Type().ConvertibleTo(actualType) && + reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), enumValue) { + return nil + } + } + + return errorHelp.sErr(errors.EnumFail(b.Path, b.In, data, b.Enum), b.Options.recycleResult) +} + +func (b *basicCommonValidator) redeem() { + pools.poolOfBasicCommonValidators.RedeemValidator(b) +} + +// A HeaderValidator has very limited subset of validations to apply +type HeaderValidator struct { + name string + header *spec.Header + validators [6]valueValidator + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +// NewHeaderValidator creates a new header validator object +func NewHeaderValidator(name string, header *spec.Header, formats strfmt.Registry, options ...Option) *HeaderValidator { + opts := new(SchemaValidatorOptions) + for _, o := range options { + o(opts) + } + + return newHeaderValidator(name, header, formats, opts) +} + +func newHeaderValidator(name string, header *spec.Header, formats strfmt.Registry, opts *SchemaValidatorOptions) *HeaderValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var p *HeaderValidator + if opts.recycleValidators { + p = pools.poolOfHeaderValidators.BorrowValidator() + } else { + p = new(HeaderValidator) + } + + p.name = name + p.header = header + p.KnownFormats = formats + p.Options = opts + p.validators = [6]valueValidator{ + newTypeValidator( + name, + "header", + spec.StringOrArray([]string{header.Type}), + header.Nullable, + header.Format, + p.Options, + ), + p.stringValidator(), + p.formatValidator(), + p.numberValidator(), + p.sliceValidator(), + p.commonValidator(), + } + + return p +} + +// Validate the value of the header against its schema +func (p *HeaderValidator) Validate(data interface{}) *Result { + if p.Options.recycleValidators { + defer func() { + p.redeemChildren() + p.redeem() + }() + } + + if data == nil { + return nil + } + + var result *Result + if p.Options.recycleResult { + result = pools.poolOfResults.BorrowResult() + } else { + result = new(Result) + } + + tpe := reflect.TypeOf(data) + kind := tpe.Kind() + + for idx, validator := range p.validators { + if !validator.Applies(p.header, kind) { + if p.Options.recycleValidators { + // Validate won't be called, so relinquish this validator + if redeemableChildren, ok := validator.(interface{ redeemChildren() }); ok { + redeemableChildren.redeemChildren() + } + if redeemable, ok := validator.(interface{ redeem() }); ok { + redeemable.redeem() + } + p.validators[idx] = nil // prevents further (unsafe) usage + } + + continue + } + + err := validator.Validate(data) + if p.Options.recycleValidators { + p.validators[idx] = nil // prevents further (unsafe) usage + } + if err != nil { + if err.HasErrors() { + result.Merge(err) + break + } + result.Merge(err) + } + } + + return result +} + +func (p *HeaderValidator) commonValidator() valueValidator { + return newBasicCommonValidator( + p.name, + "response", + p.header.Default, + p.header.Enum, + p.Options, + ) +} + +func (p *HeaderValidator) sliceValidator() valueValidator { + return newBasicSliceValidator( + p.name, + "response", + p.header.Default, + p.header.MaxItems, + p.header.MinItems, + p.header.UniqueItems, + p.header.Items, + p.header, + p.KnownFormats, + p.Options, + ) +} + +func (p *HeaderValidator) numberValidator() valueValidator { + return newNumberValidator( + p.name, + "response", + p.header.Default, + p.header.MultipleOf, + p.header.Maximum, + p.header.ExclusiveMaximum, + p.header.Minimum, + p.header.ExclusiveMinimum, + p.header.Type, + p.header.Format, + p.Options, + ) +} + +func (p *HeaderValidator) stringValidator() valueValidator { + return newStringValidator( + p.name, + "response", + p.header.Default, + true, + false, + p.header.MaxLength, + p.header.MinLength, + p.header.Pattern, + p.Options, + ) +} + +func (p *HeaderValidator) formatValidator() valueValidator { + return newFormatValidator( + p.name, + "response", + p.header.Format, + p.KnownFormats, + p.Options, + ) +} + +func (p *HeaderValidator) redeem() { + pools.poolOfHeaderValidators.RedeemValidator(p) +} + +func (p *HeaderValidator) redeemChildren() { + for idx, validator := range p.validators { + if validator == nil { + continue + } + if redeemableChildren, ok := validator.(interface{ redeemChildren() }); ok { + redeemableChildren.redeemChildren() + } + if redeemable, ok := validator.(interface{ redeem() }); ok { + redeemable.redeem() + } + p.validators[idx] = nil // free up allocated children if not in pool + } +} + +// A ParamValidator has very limited subset of validations to apply +type ParamValidator struct { + param *spec.Parameter + validators [6]valueValidator + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +// NewParamValidator creates a new param validator object +func NewParamValidator(param *spec.Parameter, formats strfmt.Registry, options ...Option) *ParamValidator { + opts := new(SchemaValidatorOptions) + for _, o := range options { + o(opts) + } + + return newParamValidator(param, formats, opts) +} + +func newParamValidator(param *spec.Parameter, formats strfmt.Registry, opts *SchemaValidatorOptions) *ParamValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var p *ParamValidator + if opts.recycleValidators { + p = pools.poolOfParamValidators.BorrowValidator() + } else { + p = new(ParamValidator) + } + + p.param = param + p.KnownFormats = formats + p.Options = opts + p.validators = [6]valueValidator{ + newTypeValidator( + param.Name, + param.In, + spec.StringOrArray([]string{param.Type}), + param.Nullable, + param.Format, + p.Options, + ), + p.stringValidator(), + p.formatValidator(), + p.numberValidator(), + p.sliceValidator(), + p.commonValidator(), + } + + return p +} + +// Validate the data against the description of the parameter +func (p *ParamValidator) Validate(data interface{}) *Result { + if data == nil { + return nil + } + + var result *Result + if p.Options.recycleResult { + result = pools.poolOfResults.BorrowResult() + } else { + result = new(Result) + } + + tpe := reflect.TypeOf(data) + kind := tpe.Kind() + + if p.Options.recycleValidators { + defer func() { + p.redeemChildren() + p.redeem() + }() + } + + // TODO: validate type + for idx, validator := range p.validators { + if !validator.Applies(p.param, kind) { + if p.Options.recycleValidators { + // Validate won't be called, so relinquish this validator + if redeemableChildren, ok := validator.(interface{ redeemChildren() }); ok { + redeemableChildren.redeemChildren() + } + if redeemable, ok := validator.(interface{ redeem() }); ok { + redeemable.redeem() + } + p.validators[idx] = nil // prevents further (unsafe) usage + } + + continue + } + + err := validator.Validate(data) + if p.Options.recycleValidators { + p.validators[idx] = nil // prevents further (unsafe) usage + } + if err != nil { + if err.HasErrors() { + result.Merge(err) + break + } + result.Merge(err) + } + } + + return result +} + +func (p *ParamValidator) commonValidator() valueValidator { + return newBasicCommonValidator( + p.param.Name, + p.param.In, + p.param.Default, + p.param.Enum, + p.Options, + ) +} + +func (p *ParamValidator) sliceValidator() valueValidator { + return newBasicSliceValidator( + p.param.Name, + p.param.In, + p.param.Default, + p.param.MaxItems, + p.param.MinItems, + p.param.UniqueItems, + p.param.Items, + p.param, + p.KnownFormats, + p.Options, + ) +} + +func (p *ParamValidator) numberValidator() valueValidator { + return newNumberValidator( + p.param.Name, + p.param.In, + p.param.Default, + p.param.MultipleOf, + p.param.Maximum, + p.param.ExclusiveMaximum, + p.param.Minimum, + p.param.ExclusiveMinimum, + p.param.Type, + p.param.Format, + p.Options, + ) +} + +func (p *ParamValidator) stringValidator() valueValidator { + return newStringValidator( + p.param.Name, + p.param.In, + p.param.Default, + p.param.Required, + p.param.AllowEmptyValue, + p.param.MaxLength, + p.param.MinLength, + p.param.Pattern, + p.Options, + ) +} + +func (p *ParamValidator) formatValidator() valueValidator { + return newFormatValidator( + p.param.Name, + p.param.In, + p.param.Format, + p.KnownFormats, + p.Options, + ) +} + +func (p *ParamValidator) redeem() { + pools.poolOfParamValidators.RedeemValidator(p) +} + +func (p *ParamValidator) redeemChildren() { + for idx, validator := range p.validators { + if validator == nil { + continue + } + if redeemableChildren, ok := validator.(interface{ redeemChildren() }); ok { + redeemableChildren.redeemChildren() + } + if redeemable, ok := validator.(interface{ redeem() }); ok { + redeemable.redeem() + } + p.validators[idx] = nil // free up allocated children if not in pool + } +} + +type basicSliceValidator struct { + Path string + In string + Default interface{} + MaxItems *int64 + MinItems *int64 + UniqueItems bool + Items *spec.Items + Source interface{} + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +func newBasicSliceValidator( + path, in string, + def interface{}, maxItems, minItems *int64, uniqueItems bool, items *spec.Items, + source interface{}, formats strfmt.Registry, + opts *SchemaValidatorOptions) *basicSliceValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var s *basicSliceValidator + if opts.recycleValidators { + s = pools.poolOfBasicSliceValidators.BorrowValidator() + } else { + s = new(basicSliceValidator) + } + + s.Path = path + s.In = in + s.Default = def + s.MaxItems = maxItems + s.MinItems = minItems + s.UniqueItems = uniqueItems + s.Items = items + s.Source = source + s.KnownFormats = formats + s.Options = opts + + return s +} + +func (s *basicSliceValidator) SetPath(path string) { + s.Path = path +} + +func (s *basicSliceValidator) Applies(source interface{}, kind reflect.Kind) bool { + switch source.(type) { + case *spec.Parameter, *spec.Items, *spec.Header: + return kind == reflect.Slice + default: + return false + } +} + +func (s *basicSliceValidator) Validate(data interface{}) *Result { + if s.Options.recycleValidators { + defer func() { + s.redeem() + }() + } + val := reflect.ValueOf(data) + + size := int64(val.Len()) + if s.MinItems != nil { + if err := MinItems(s.Path, s.In, size, *s.MinItems); err != nil { + return errorHelp.sErr(err, s.Options.recycleResult) + } + } + + if s.MaxItems != nil { + if err := MaxItems(s.Path, s.In, size, *s.MaxItems); err != nil { + return errorHelp.sErr(err, s.Options.recycleResult) + } + } + + if s.UniqueItems { + if err := UniqueItems(s.Path, s.In, data); err != nil { + return errorHelp.sErr(err, s.Options.recycleResult) + } + } + + if s.Items == nil { + return nil + } + + for i := 0; i < int(size); i++ { + itemsValidator := newItemsValidator(s.Path, s.In, s.Items, s.Source, s.KnownFormats, s.Options) + ele := val.Index(i) + if err := itemsValidator.Validate(i, ele.Interface()); err != nil { + if err.HasErrors() { + return err + } + if err.wantsRedeemOnMerge { + pools.poolOfResults.RedeemResult(err) + } + } + } + + return nil +} + +func (s *basicSliceValidator) redeem() { + pools.poolOfBasicSliceValidators.RedeemValidator(s) +} + +type numberValidator struct { + Path string + In string + Default interface{} + MultipleOf *float64 + Maximum *float64 + ExclusiveMaximum bool + Minimum *float64 + ExclusiveMinimum bool + // Allows for more accurate behavior regarding integers + Type string + Format string + Options *SchemaValidatorOptions +} + +func newNumberValidator( + path, in string, def interface{}, + multipleOf, maximum *float64, exclusiveMaximum bool, minimum *float64, exclusiveMinimum bool, + typ, format string, + opts *SchemaValidatorOptions) *numberValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var n *numberValidator + if opts.recycleValidators { + n = pools.poolOfNumberValidators.BorrowValidator() + } else { + n = new(numberValidator) + } + + n.Path = path + n.In = in + n.Default = def + n.MultipleOf = multipleOf + n.Maximum = maximum + n.ExclusiveMaximum = exclusiveMaximum + n.Minimum = minimum + n.ExclusiveMinimum = exclusiveMinimum + n.Type = typ + n.Format = format + n.Options = opts + + return n +} + +func (n *numberValidator) SetPath(path string) { + n.Path = path +} + +func (n *numberValidator) Applies(source interface{}, kind reflect.Kind) bool { + switch source.(type) { + case *spec.Parameter, *spec.Schema, *spec.Items, *spec.Header: + isInt := kind >= reflect.Int && kind <= reflect.Uint64 + isFloat := kind == reflect.Float32 || kind == reflect.Float64 + return isInt || isFloat + default: + return false + } +} + +// Validate provides a validator for generic JSON numbers, +// +// By default, numbers are internally represented as float64. +// Formats float, or float32 may alter this behavior by mapping to float32. +// A special validation process is followed for integers, with optional "format": +// this is an attempt to provide a validation with native types. +// +// NOTE: since the constraint specified (boundary, multipleOf) is unmarshalled +// as float64, loss of information remains possible (e.g. on very large integers). +// +// Since this value directly comes from the unmarshalling, it is not possible +// at this stage of processing to check further and guarantee the correctness of such values. +// +// Normally, the JSON Number.MAX_SAFE_INTEGER (resp. Number.MIN_SAFE_INTEGER) +// would check we do not get such a loss. +// +// If this is the case, replace AddErrors() by AddWarnings() and IsValid() by !HasWarnings(). +// +// TODO: consider replacing boundary check errors by simple warnings. +// +// TODO: default boundaries with MAX_SAFE_INTEGER are not checked (specific to json.Number?) +func (n *numberValidator) Validate(val interface{}) *Result { + if n.Options.recycleValidators { + defer func() { + n.redeem() + }() + } + + var res, resMultiple, resMinimum, resMaximum *Result + if n.Options.recycleResult { + res = pools.poolOfResults.BorrowResult() + } else { + res = new(Result) + } + + // Used only to attempt to validate constraint on value, + // even though value or constraint specified do not match type and format + data := valueHelp.asFloat64(val) + + // Is the provided value within the range of the specified numeric type and format? + res.AddErrors(IsValueValidAgainstRange(val, n.Type, n.Format, "Checked", n.Path)) + + if n.MultipleOf != nil { + resMultiple = pools.poolOfResults.BorrowResult() + + // Is the constraint specifier within the range of the specific numeric type and format? + resMultiple.AddErrors(IsValueValidAgainstRange(*n.MultipleOf, n.Type, n.Format, "MultipleOf", n.Path)) + if resMultiple.IsValid() { + // Constraint validated with compatible types + if err := MultipleOfNativeType(n.Path, n.In, val, *n.MultipleOf); err != nil { + resMultiple.Merge(errorHelp.sErr(err, n.Options.recycleResult)) + } + } else { + // Constraint nevertheless validated, converted as general number + if err := MultipleOf(n.Path, n.In, data, *n.MultipleOf); err != nil { + resMultiple.Merge(errorHelp.sErr(err, n.Options.recycleResult)) + } + } + } + + if n.Maximum != nil { + resMaximum = pools.poolOfResults.BorrowResult() + + // Is the constraint specifier within the range of the specific numeric type and format? + resMaximum.AddErrors(IsValueValidAgainstRange(*n.Maximum, n.Type, n.Format, "Maximum boundary", n.Path)) + if resMaximum.IsValid() { + // Constraint validated with compatible types + if err := MaximumNativeType(n.Path, n.In, val, *n.Maximum, n.ExclusiveMaximum); err != nil { + resMaximum.Merge(errorHelp.sErr(err, n.Options.recycleResult)) + } + } else { + // Constraint nevertheless validated, converted as general number + if err := Maximum(n.Path, n.In, data, *n.Maximum, n.ExclusiveMaximum); err != nil { + resMaximum.Merge(errorHelp.sErr(err, n.Options.recycleResult)) + } + } + } + + if n.Minimum != nil { + resMinimum = pools.poolOfResults.BorrowResult() + + // Is the constraint specifier within the range of the specific numeric type and format? + resMinimum.AddErrors(IsValueValidAgainstRange(*n.Minimum, n.Type, n.Format, "Minimum boundary", n.Path)) + if resMinimum.IsValid() { + // Constraint validated with compatible types + if err := MinimumNativeType(n.Path, n.In, val, *n.Minimum, n.ExclusiveMinimum); err != nil { + resMinimum.Merge(errorHelp.sErr(err, n.Options.recycleResult)) + } + } else { + // Constraint nevertheless validated, converted as general number + if err := Minimum(n.Path, n.In, data, *n.Minimum, n.ExclusiveMinimum); err != nil { + resMinimum.Merge(errorHelp.sErr(err, n.Options.recycleResult)) + } + } + } + res.Merge(resMultiple, resMinimum, resMaximum) + res.Inc() + + return res +} + +func (n *numberValidator) redeem() { + pools.poolOfNumberValidators.RedeemValidator(n) +} + +type stringValidator struct { + Path string + In string + Default interface{} + Required bool + AllowEmptyValue bool + MaxLength *int64 + MinLength *int64 + Pattern string + Options *SchemaValidatorOptions +} + +func newStringValidator( + path, in string, + def interface{}, required, allowEmpty bool, maxLength, minLength *int64, pattern string, + opts *SchemaValidatorOptions) *stringValidator { + if opts == nil { + opts = new(SchemaValidatorOptions) + } + + var s *stringValidator + if opts.recycleValidators { + s = pools.poolOfStringValidators.BorrowValidator() + } else { + s = new(stringValidator) + } + + s.Path = path + s.In = in + s.Default = def + s.Required = required + s.AllowEmptyValue = allowEmpty + s.MaxLength = maxLength + s.MinLength = minLength + s.Pattern = pattern + s.Options = opts + + return s +} + +func (s *stringValidator) SetPath(path string) { + s.Path = path +} + +func (s *stringValidator) Applies(source interface{}, kind reflect.Kind) bool { + switch source.(type) { + case *spec.Parameter, *spec.Schema, *spec.Items, *spec.Header: + return kind == reflect.String + default: + return false + } +} + +func (s *stringValidator) Validate(val interface{}) *Result { + if s.Options.recycleValidators { + defer func() { + s.redeem() + }() + } + + data, ok := val.(string) + if !ok { + return errorHelp.sErr(errors.InvalidType(s.Path, s.In, stringType, val), s.Options.recycleResult) + } + + if s.Required && !s.AllowEmptyValue && (s.Default == nil || s.Default == "") { + if err := RequiredString(s.Path, s.In, data); err != nil { + return errorHelp.sErr(err, s.Options.recycleResult) + } + } + + if s.MaxLength != nil { + if err := MaxLength(s.Path, s.In, data, *s.MaxLength); err != nil { + return errorHelp.sErr(err, s.Options.recycleResult) + } + } + + if s.MinLength != nil { + if err := MinLength(s.Path, s.In, data, *s.MinLength); err != nil { + return errorHelp.sErr(err, s.Options.recycleResult) + } + } + + if s.Pattern != "" { + if err := Pattern(s.Path, s.In, data, s.Pattern); err != nil { + return errorHelp.sErr(err, s.Options.recycleResult) + } + } + return nil +} + +func (s *stringValidator) redeem() { + pools.poolOfStringValidators.RedeemValidator(s) +} diff --git a/vendor/github.com/go-openapi/validate/values.go b/vendor/github.com/go-openapi/validate/values.go new file mode 100644 index 000000000..5f6f5ee61 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/values.go @@ -0,0 +1,450 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package validate + +import ( + "context" + "fmt" + "reflect" + "strings" + "unicode/utf8" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Enum validates if the data is a member of the enum +func Enum(path, in string, data interface{}, enum interface{}) *errors.Validation { + return EnumCase(path, in, data, enum, true) +} + +// EnumCase validates if the data is a member of the enum and may respect case-sensitivity for strings +func EnumCase(path, in string, data interface{}, enum interface{}, caseSensitive bool) *errors.Validation { + val := reflect.ValueOf(enum) + if val.Kind() != reflect.Slice { + return nil + } + + dataString := convertEnumCaseStringKind(data, caseSensitive) + var values []interface{} + for i := 0; i < val.Len(); i++ { + ele := val.Index(i) + enumValue := ele.Interface() + if data != nil { + if reflect.DeepEqual(data, enumValue) { + return nil + } + enumString := convertEnumCaseStringKind(enumValue, caseSensitive) + if dataString != nil && enumString != nil && strings.EqualFold(*dataString, *enumString) { + return nil + } + actualType := reflect.TypeOf(enumValue) + if actualType == nil { // Safeguard. Frankly, I don't know how we may get a nil + continue + } + expectedValue := reflect.ValueOf(data) + if expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) { + // Attempt comparison after type conversion + if reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), enumValue) { + return nil + } + } + } + values = append(values, enumValue) + } + return errors.EnumFail(path, in, data, values) +} + +// convertEnumCaseStringKind converts interface if it is kind of string and case insensitivity is set +func convertEnumCaseStringKind(value interface{}, caseSensitive bool) *string { + if caseSensitive { + return nil + } + + val := reflect.ValueOf(value) + if val.Kind() != reflect.String { + return nil + } + + str := fmt.Sprintf("%v", value) + return &str +} + +// MinItems validates that there are at least n items in a slice +func MinItems(path, in string, size, min int64) *errors.Validation { + if size < min { + return errors.TooFewItems(path, in, min, size) + } + return nil +} + +// MaxItems validates that there are at most n items in a slice +func MaxItems(path, in string, size, max int64) *errors.Validation { + if size > max { + return errors.TooManyItems(path, in, max, size) + } + return nil +} + +// UniqueItems validates that the provided slice has unique elements +func UniqueItems(path, in string, data interface{}) *errors.Validation { + val := reflect.ValueOf(data) + if val.Kind() != reflect.Slice { + return nil + } + var unique []interface{} + for i := 0; i < val.Len(); i++ { + v := val.Index(i).Interface() + for _, u := range unique { + if reflect.DeepEqual(v, u) { + return errors.DuplicateItems(path, in) + } + } + unique = append(unique, v) + } + return nil +} + +// MinLength validates a string for minimum length +func MinLength(path, in, data string, minLength int64) *errors.Validation { + strLen := int64(utf8.RuneCountInString(data)) + if strLen < minLength { + return errors.TooShort(path, in, minLength, data) + } + return nil +} + +// MaxLength validates a string for maximum length +func MaxLength(path, in, data string, maxLength int64) *errors.Validation { + strLen := int64(utf8.RuneCountInString(data)) + if strLen > maxLength { + return errors.TooLong(path, in, maxLength, data) + } + return nil +} + +// ReadOnly validates an interface for readonly +func ReadOnly(ctx context.Context, path, in string, data interface{}) *errors.Validation { + + // read only is only validated when operationType is request + if op := extractOperationType(ctx); op != request { + return nil + } + + // data must be of zero value of its type + val := reflect.ValueOf(data) + if val.IsValid() { + if reflect.DeepEqual(reflect.Zero(val.Type()).Interface(), val.Interface()) { + return nil + } + } else { + return nil + } + + return errors.ReadOnly(path, in, data) +} + +// Required validates an interface for requiredness +func Required(path, in string, data interface{}) *errors.Validation { + val := reflect.ValueOf(data) + if val.IsValid() { + if reflect.DeepEqual(reflect.Zero(val.Type()).Interface(), val.Interface()) { + return errors.Required(path, in, data) + } + return nil + } + return errors.Required(path, in, data) +} + +// RequiredString validates a string for requiredness +func RequiredString(path, in, data string) *errors.Validation { + if data == "" { + return errors.Required(path, in, data) + } + return nil +} + +// RequiredNumber validates a number for requiredness +func RequiredNumber(path, in string, data float64) *errors.Validation { + if data == 0 { + return errors.Required(path, in, data) + } + return nil +} + +// Pattern validates a string against a regular expression +func Pattern(path, in, data, pattern string) *errors.Validation { + re, err := compileRegexp(pattern) + if err != nil { + return errors.FailedPattern(path, in, fmt.Sprintf("%s, but pattern is invalid: %s", pattern, err.Error()), data) + } + if !re.MatchString(data) { + return errors.FailedPattern(path, in, pattern, data) + } + return nil +} + +// MaximumInt validates if a number is smaller than a given maximum +func MaximumInt(path, in string, data, max int64, exclusive bool) *errors.Validation { + if (!exclusive && data > max) || (exclusive && data >= max) { + return errors.ExceedsMaximumInt(path, in, max, exclusive, data) + } + return nil +} + +// MaximumUint validates if a number is smaller than a given maximum +func MaximumUint(path, in string, data, max uint64, exclusive bool) *errors.Validation { + if (!exclusive && data > max) || (exclusive && data >= max) { + return errors.ExceedsMaximumUint(path, in, max, exclusive, data) + } + return nil +} + +// Maximum validates if a number is smaller than a given maximum +func Maximum(path, in string, data, max float64, exclusive bool) *errors.Validation { + if (!exclusive && data > max) || (exclusive && data >= max) { + return errors.ExceedsMaximum(path, in, max, exclusive, data) + } + return nil +} + +// Minimum validates if a number is smaller than a given minimum +func Minimum(path, in string, data, min float64, exclusive bool) *errors.Validation { + if (!exclusive && data < min) || (exclusive && data <= min) { + return errors.ExceedsMinimum(path, in, min, exclusive, data) + } + return nil +} + +// MinimumInt validates if a number is smaller than a given minimum +func MinimumInt(path, in string, data, min int64, exclusive bool) *errors.Validation { + if (!exclusive && data < min) || (exclusive && data <= min) { + return errors.ExceedsMinimumInt(path, in, min, exclusive, data) + } + return nil +} + +// MinimumUint validates if a number is smaller than a given minimum +func MinimumUint(path, in string, data, min uint64, exclusive bool) *errors.Validation { + if (!exclusive && data < min) || (exclusive && data <= min) { + return errors.ExceedsMinimumUint(path, in, min, exclusive, data) + } + return nil +} + +// MultipleOf validates if the provided number is a multiple of the factor +func MultipleOf(path, in string, data, factor float64) *errors.Validation { + // multipleOf factor must be positive + if factor <= 0 { + return errors.MultipleOfMustBePositive(path, in, factor) + } + var mult float64 + if factor < 1 { + mult = 1 / factor * data + } else { + mult = data / factor + } + if !swag.IsFloat64AJSONInteger(mult) { + return errors.NotMultipleOf(path, in, factor, data) + } + return nil +} + +// MultipleOfInt validates if the provided integer is a multiple of the factor +func MultipleOfInt(path, in string, data int64, factor int64) *errors.Validation { + // multipleOf factor must be positive + if factor <= 0 { + return errors.MultipleOfMustBePositive(path, in, factor) + } + mult := data / factor + if mult*factor != data { + return errors.NotMultipleOf(path, in, factor, data) + } + return nil +} + +// MultipleOfUint validates if the provided unsigned integer is a multiple of the factor +func MultipleOfUint(path, in string, data, factor uint64) *errors.Validation { + // multipleOf factor must be positive + if factor == 0 { + return errors.MultipleOfMustBePositive(path, in, factor) + } + mult := data / factor + if mult*factor != data { + return errors.NotMultipleOf(path, in, factor, data) + } + return nil +} + +// FormatOf validates if a string matches a format in the format registry +func FormatOf(path, in, format, data string, registry strfmt.Registry) *errors.Validation { + if registry == nil { + registry = strfmt.Default + } + if ok := registry.ContainsName(format); !ok { + return errors.InvalidTypeName(format) + } + if ok := registry.Validates(format, data); !ok { + return errors.InvalidType(path, in, format, data) + } + return nil +} + +// MaximumNativeType provides native type constraint validation as a facade +// to various numeric types versions of Maximum constraint check. +// +// Assumes that any possible loss conversion during conversion has been +// checked beforehand. +// +// NOTE: currently, the max value is marshalled as a float64, no matter what, +// which means there may be a loss during conversions (e.g. for very large integers) +// +// TODO: Normally, a JSON MAX_SAFE_INTEGER check would ensure conversion remains loss-free +func MaximumNativeType(path, in string, val interface{}, max float64, exclusive bool) *errors.Validation { + kind := reflect.ValueOf(val).Type().Kind() + switch kind { //nolint:exhaustive + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + value := valueHelp.asInt64(val) + return MaximumInt(path, in, value, int64(max), exclusive) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + value := valueHelp.asUint64(val) + if max < 0 { + return errors.ExceedsMaximum(path, in, max, exclusive, val) + } + return MaximumUint(path, in, value, uint64(max), exclusive) + case reflect.Float32, reflect.Float64: + fallthrough + default: + value := valueHelp.asFloat64(val) + return Maximum(path, in, value, max, exclusive) + } +} + +// MinimumNativeType provides native type constraint validation as a facade +// to various numeric types versions of Minimum constraint check. +// +// Assumes that any possible loss conversion during conversion has been +// checked beforehand. +// +// NOTE: currently, the min value is marshalled as a float64, no matter what, +// which means there may be a loss during conversions (e.g. for very large integers) +// +// TODO: Normally, a JSON MAX_SAFE_INTEGER check would ensure conversion remains loss-free +func MinimumNativeType(path, in string, val interface{}, min float64, exclusive bool) *errors.Validation { + kind := reflect.ValueOf(val).Type().Kind() + switch kind { //nolint:exhaustive + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + value := valueHelp.asInt64(val) + return MinimumInt(path, in, value, int64(min), exclusive) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + value := valueHelp.asUint64(val) + if min < 0 { + return nil + } + return MinimumUint(path, in, value, uint64(min), exclusive) + case reflect.Float32, reflect.Float64: + fallthrough + default: + value := valueHelp.asFloat64(val) + return Minimum(path, in, value, min, exclusive) + } +} + +// MultipleOfNativeType provides native type constraint validation as a facade +// to various numeric types version of MultipleOf constraint check. +// +// Assumes that any possible loss conversion during conversion has been +// checked beforehand. +// +// NOTE: currently, the multipleOf factor is marshalled as a float64, no matter what, +// which means there may be a loss during conversions (e.g. for very large integers) +// +// TODO: Normally, a JSON MAX_SAFE_INTEGER check would ensure conversion remains loss-free +func MultipleOfNativeType(path, in string, val interface{}, multipleOf float64) *errors.Validation { + kind := reflect.ValueOf(val).Type().Kind() + switch kind { //nolint:exhaustive + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + value := valueHelp.asInt64(val) + return MultipleOfInt(path, in, value, int64(multipleOf)) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + value := valueHelp.asUint64(val) + return MultipleOfUint(path, in, value, uint64(multipleOf)) + case reflect.Float32, reflect.Float64: + fallthrough + default: + value := valueHelp.asFloat64(val) + return MultipleOf(path, in, value, multipleOf) + } +} + +// IsValueValidAgainstRange checks that a numeric value is compatible with +// the range defined by Type and Format, that is, may be converted without loss. +// +// NOTE: this check is about type capacity and not formal verification such as: 1.0 != 1L +func IsValueValidAgainstRange(val interface{}, typeName, format, prefix, path string) error { + kind := reflect.ValueOf(val).Type().Kind() + + // What is the string representation of val + var stringRep string + switch kind { //nolint:exhaustive + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + stringRep = swag.FormatUint64(valueHelp.asUint64(val)) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + stringRep = swag.FormatInt64(valueHelp.asInt64(val)) + case reflect.Float32, reflect.Float64: + stringRep = swag.FormatFloat64(valueHelp.asFloat64(val)) + default: + return fmt.Errorf("%s value number range checking called with invalid (non numeric) val type in %s", prefix, path) + } + + var errVal error + + switch typeName { + case integerType: + switch format { + case integerFormatInt32: + _, errVal = swag.ConvertInt32(stringRep) + case integerFormatUInt32: + _, errVal = swag.ConvertUint32(stringRep) + case integerFormatUInt64: + _, errVal = swag.ConvertUint64(stringRep) + case integerFormatInt64: + fallthrough + default: + _, errVal = swag.ConvertInt64(stringRep) + } + case numberType: + fallthrough + default: + switch format { + case numberFormatFloat, numberFormatFloat32: + _, errVal = swag.ConvertFloat32(stringRep) + case numberFormatDouble, numberFormatFloat64: + fallthrough + default: + // No check can be performed here since + // no number beyond float64 is supported + } + } + if errVal != nil { // We don't report the actual errVal from strconv + if format != "" { + errVal = fmt.Errorf("%s value must be of type %s with format %s in %s", prefix, typeName, format, path) + } else { + errVal = fmt.Errorf("%s value must be of type %s (default format) in %s", prefix, typeName, path) + } + } + return errVal +} diff --git a/vendor/github.com/hashicorp/go-cleanhttp/LICENSE b/vendor/github.com/hashicorp/go-cleanhttp/LICENSE new file mode 100644 index 000000000..e87a115e4 --- /dev/null +++ b/vendor/github.com/hashicorp/go-cleanhttp/LICENSE @@ -0,0 +1,363 @@ +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + diff --git a/vendor/github.com/hashicorp/go-cleanhttp/README.md b/vendor/github.com/hashicorp/go-cleanhttp/README.md new file mode 100644 index 000000000..036e5313f --- /dev/null +++ b/vendor/github.com/hashicorp/go-cleanhttp/README.md @@ -0,0 +1,30 @@ +# cleanhttp + +Functions for accessing "clean" Go http.Client values + +------------- + +The Go standard library contains a default `http.Client` called +`http.DefaultClient`. It is a common idiom in Go code to start with +`http.DefaultClient` and tweak it as necessary, and in fact, this is +encouraged; from the `http` package documentation: + +> The Client's Transport typically has internal state (cached TCP connections), +so Clients should be reused instead of created as needed. Clients are safe for +concurrent use by multiple goroutines. + +Unfortunately, this is a shared value, and it is not uncommon for libraries to +assume that they are free to modify it at will. With enough dependencies, it +can be very easy to encounter strange problems and race conditions due to +manipulation of this shared value across libraries and goroutines (clients are +safe for concurrent use, but writing values to the client struct itself is not +protected). + +Making things worse is the fact that a bare `http.Client` will use a default +`http.Transport` called `http.DefaultTransport`, which is another global value +that behaves the same way. So it is not simply enough to replace +`http.DefaultClient` with `&http.Client{}`. + +This repository provides some simple functions to get a "clean" `http.Client` +-- one that uses the same default values as the Go standard library, but +returns a client that does not share any state with other clients. diff --git a/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go b/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go new file mode 100644 index 000000000..fe28d15b6 --- /dev/null +++ b/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go @@ -0,0 +1,58 @@ +package cleanhttp + +import ( + "net" + "net/http" + "runtime" + "time" +) + +// DefaultTransport returns a new http.Transport with similar default values to +// http.DefaultTransport, but with idle connections and keepalives disabled. +func DefaultTransport() *http.Transport { + transport := DefaultPooledTransport() + transport.DisableKeepAlives = true + transport.MaxIdleConnsPerHost = -1 + return transport +} + +// DefaultPooledTransport returns a new http.Transport with similar default +// values to http.DefaultTransport. Do not use this for transient transports as +// it can leak file descriptors over time. Only use this for transports that +// will be re-used for the same host(s). +func DefaultPooledTransport() *http.Transport { + transport := &http.Transport{ + Proxy: http.ProxyFromEnvironment, + DialContext: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + DualStack: true, + }).DialContext, + MaxIdleConns: 100, + IdleConnTimeout: 90 * time.Second, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + ForceAttemptHTTP2: true, + MaxIdleConnsPerHost: runtime.GOMAXPROCS(0) + 1, + } + return transport +} + +// DefaultClient returns a new http.Client with similar default values to +// http.Client, but with a non-shared Transport, idle connections disabled, and +// keepalives disabled. +func DefaultClient() *http.Client { + return &http.Client{ + Transport: DefaultTransport(), + } +} + +// DefaultPooledClient returns a new http.Client with similar default values to +// http.Client, but with a shared Transport. Do not use this function for +// transient clients as it can leak file descriptors over time. Only use this +// for clients that will be re-used for the same host(s). +func DefaultPooledClient() *http.Client { + return &http.Client{ + Transport: DefaultPooledTransport(), + } +} diff --git a/vendor/github.com/hashicorp/go-cleanhttp/doc.go b/vendor/github.com/hashicorp/go-cleanhttp/doc.go new file mode 100644 index 000000000..05841092a --- /dev/null +++ b/vendor/github.com/hashicorp/go-cleanhttp/doc.go @@ -0,0 +1,20 @@ +// Package cleanhttp offers convenience utilities for acquiring "clean" +// http.Transport and http.Client structs. +// +// Values set on http.DefaultClient and http.DefaultTransport affect all +// callers. This can have detrimental effects, esepcially in TLS contexts, +// where client or root certificates set to talk to multiple endpoints can end +// up displacing each other, leading to hard-to-debug issues. This package +// provides non-shared http.Client and http.Transport structs to ensure that +// the configuration will not be overwritten by other parts of the application +// or dependencies. +// +// The DefaultClient and DefaultTransport functions disable idle connections +// and keepalives. Without ensuring that idle connections are closed before +// garbage collection, short-term clients/transports can leak file descriptors, +// eventually leading to "too many open files" errors. If you will be +// connecting to the same hosts repeatedly from the same client, you can use +// DefaultPooledClient to receive a client that has connection pooling +// semantics similar to http.DefaultClient. +// +package cleanhttp diff --git a/vendor/github.com/hashicorp/go-cleanhttp/handlers.go b/vendor/github.com/hashicorp/go-cleanhttp/handlers.go new file mode 100644 index 000000000..3c845dc0d --- /dev/null +++ b/vendor/github.com/hashicorp/go-cleanhttp/handlers.go @@ -0,0 +1,48 @@ +package cleanhttp + +import ( + "net/http" + "strings" + "unicode" +) + +// HandlerInput provides input options to cleanhttp's handlers +type HandlerInput struct { + ErrStatus int +} + +// PrintablePathCheckHandler is a middleware that ensures the request path +// contains only printable runes. +func PrintablePathCheckHandler(next http.Handler, input *HandlerInput) http.Handler { + // Nil-check on input to make it optional + if input == nil { + input = &HandlerInput{ + ErrStatus: http.StatusBadRequest, + } + } + + // Default to http.StatusBadRequest on error + if input.ErrStatus == 0 { + input.ErrStatus = http.StatusBadRequest + } + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r != nil { + // Check URL path for non-printable characters + idx := strings.IndexFunc(r.URL.Path, func(c rune) bool { + return !unicode.IsPrint(c) + }) + + if idx != -1 { + w.WriteHeader(input.ErrStatus) + return + } + + if next != nil { + next.ServeHTTP(w, r) + } + } + + return + }) +} diff --git a/vendor/github.com/hashicorp/go-retryablehttp/.gitignore b/vendor/github.com/hashicorp/go-retryablehttp/.gitignore new file mode 100644 index 000000000..4e309e0b3 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/.gitignore @@ -0,0 +1,4 @@ +.idea/ +*.iml +*.test +.vscode/ \ No newline at end of file diff --git a/vendor/github.com/hashicorp/go-retryablehttp/.go-version b/vendor/github.com/hashicorp/go-retryablehttp/.go-version new file mode 100644 index 000000000..a1b6e17d6 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/.go-version @@ -0,0 +1 @@ +1.23 diff --git a/vendor/github.com/hashicorp/go-retryablehttp/.golangci.yml b/vendor/github.com/hashicorp/go-retryablehttp/.golangci.yml new file mode 100644 index 000000000..4ff1a93b0 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/.golangci.yml @@ -0,0 +1,11 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +linters: + disable-all: true + enable: + - errcheck + - staticcheck + - gosimple + - govet +output_format: colored-line-number diff --git a/vendor/github.com/hashicorp/go-retryablehttp/CHANGELOG.md b/vendor/github.com/hashicorp/go-retryablehttp/CHANGELOG.md new file mode 100644 index 000000000..68a627c6d --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/CHANGELOG.md @@ -0,0 +1,33 @@ +## 0.7.7 (May 30, 2024) + +BUG FIXES: + +- client: avoid potentially leaking URL-embedded basic authentication credentials in logs (#158) + +## 0.7.6 (May 9, 2024) + +ENHANCEMENTS: + +- client: support a `RetryPrepare` function for modifying the request before retrying (#216) +- client: support HTTP-date values for `Retry-After` header value (#138) +- client: avoid reading entire body when the body is a `*bytes.Reader` (#197) + +BUG FIXES: + +- client: fix a broken check for invalid server certificate in go 1.20+ (#210) + +## 0.7.5 (Nov 8, 2023) + +BUG FIXES: + +- client: fixes an issue where the request body is not preserved on temporary redirects or re-established HTTP/2 connections (#207) + +## 0.7.4 (Jun 6, 2023) + +BUG FIXES: + +- client: fixing an issue where the Content-Type header wouldn't be sent with an empty payload when using HTTP/2 (#194) + +## 0.7.3 (May 15, 2023) + +Initial release diff --git a/vendor/github.com/hashicorp/go-retryablehttp/CODEOWNERS b/vendor/github.com/hashicorp/go-retryablehttp/CODEOWNERS new file mode 100644 index 000000000..85b44a129 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/CODEOWNERS @@ -0,0 +1,13 @@ +# Each line is a file pattern followed by one or more owners. +# More on CODEOWNERS files: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners + +# Default owner +* @hashicorp/team-ip-compliance @hashicorp/go-retryablehttp-maintainers + +# Add override rules below. Each line is a file/folder pattern followed by one or more owners. +# Being an owner means those groups or individuals will be added as reviewers to PRs affecting +# those areas of the code. +# Examples: +# /docs/ @docs-team +# *.js @js-team +# *.go @go-team diff --git a/vendor/github.com/hashicorp/go-retryablehttp/LICENSE b/vendor/github.com/hashicorp/go-retryablehttp/LICENSE new file mode 100644 index 000000000..f4f97ee58 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/LICENSE @@ -0,0 +1,365 @@ +Copyright (c) 2015 HashiCorp, Inc. + +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + diff --git a/vendor/github.com/hashicorp/go-retryablehttp/Makefile b/vendor/github.com/hashicorp/go-retryablehttp/Makefile new file mode 100644 index 000000000..07b85a132 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/Makefile @@ -0,0 +1,11 @@ +default: test + +test: + go vet ./... + go test -v -race ./... -coverprofile=coverage.out + +updatedeps: + go get -f -t -u ./... + go get -f -u ./... + +.PHONY: default test updatedeps diff --git a/vendor/github.com/hashicorp/go-retryablehttp/README.md b/vendor/github.com/hashicorp/go-retryablehttp/README.md new file mode 100644 index 000000000..145a62f21 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/README.md @@ -0,0 +1,62 @@ +go-retryablehttp +================ + +[![Build Status](http://img.shields.io/travis/hashicorp/go-retryablehttp.svg?style=flat-square)][travis] +[![Go Documentation](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)][godocs] + +[travis]: http://travis-ci.org/hashicorp/go-retryablehttp +[godocs]: http://godoc.org/github.com/hashicorp/go-retryablehttp + +The `retryablehttp` package provides a familiar HTTP client interface with +automatic retries and exponential backoff. It is a thin wrapper over the +standard `net/http` client library and exposes nearly the same public API. This +makes `retryablehttp` very easy to drop into existing programs. + +`retryablehttp` performs automatic retries under certain conditions. Mainly, if +an error is returned by the client (connection errors, etc.), or if a 500-range +response code is received (except 501), then a retry is invoked after a wait +period. Otherwise, the response is returned and left to the caller to +interpret. + +The main difference from `net/http` is that requests which take a request body +(POST/PUT et. al) can have the body provided in a number of ways (some more or +less efficient) that allow "rewinding" the request body if the initial request +fails so that the full request can be attempted again. See the +[godoc](http://godoc.org/github.com/hashicorp/go-retryablehttp) for more +details. + +Version 0.6.0 and before are compatible with Go prior to 1.12. From 0.6.1 onward, Go 1.12+ is required. +From 0.6.7 onward, Go 1.13+ is required. + +Example Use +=========== + +Using this library should look almost identical to what you would do with +`net/http`. The most simple example of a GET request is shown below: + +```go +resp, err := retryablehttp.Get("/foo") +if err != nil { + panic(err) +} +``` + +The returned response object is an `*http.Response`, the same thing you would +usually get from `net/http`. Had the request failed one or more times, the above +call would block and retry with exponential backoff. + +## Getting a stdlib `*http.Client` with retries + +It's possible to convert a `*retryablehttp.Client` directly to a `*http.Client`. +This makes use of retryablehttp broadly applicable with minimal effort. Simply +configure a `*retryablehttp.Client` as you wish, and then call `StandardClient()`: + +```go +retryClient := retryablehttp.NewClient() +retryClient.RetryMax = 10 + +standardClient := retryClient.StandardClient() // *http.Client +``` + +For more usage and examples see the +[pkg.go.dev](https://pkg.go.dev/github.com/hashicorp/go-retryablehttp). diff --git a/vendor/github.com/hashicorp/go-retryablehttp/cert_error_go119.go b/vendor/github.com/hashicorp/go-retryablehttp/cert_error_go119.go new file mode 100644 index 000000000..b2b27e872 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/cert_error_go119.go @@ -0,0 +1,14 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +//go:build !go1.20 +// +build !go1.20 + +package retryablehttp + +import "crypto/x509" + +func isCertError(err error) bool { + _, ok := err.(x509.UnknownAuthorityError) + return ok +} diff --git a/vendor/github.com/hashicorp/go-retryablehttp/cert_error_go120.go b/vendor/github.com/hashicorp/go-retryablehttp/cert_error_go120.go new file mode 100644 index 000000000..a3cd315a2 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/cert_error_go120.go @@ -0,0 +1,14 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +//go:build go1.20 +// +build go1.20 + +package retryablehttp + +import "crypto/tls" + +func isCertError(err error) bool { + _, ok := err.(*tls.CertificateVerificationError) + return ok +} diff --git a/vendor/github.com/hashicorp/go-retryablehttp/client.go b/vendor/github.com/hashicorp/go-retryablehttp/client.go new file mode 100644 index 000000000..91059f7de --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/client.go @@ -0,0 +1,938 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Package retryablehttp provides a familiar HTTP client interface with +// automatic retries and exponential backoff. It is a thin wrapper over the +// standard net/http client library and exposes nearly the same public API. +// This makes retryablehttp very easy to drop into existing programs. +// +// retryablehttp performs automatic retries under certain conditions. Mainly, if +// an error is returned by the client (connection errors etc), or if a 500-range +// response is received, then a retry is invoked. Otherwise, the response is +// returned and left to the caller to interpret. +// +// Requests which take a request body should provide a non-nil function +// parameter. The best choice is to provide either a function satisfying +// ReaderFunc which provides multiple io.Readers in an efficient manner, a +// *bytes.Buffer (the underlying raw byte slice will be used) or a raw byte +// slice. As it is a reference type, and we will wrap it as needed by readers, +// we can efficiently re-use the request body without needing to copy it. If an +// io.Reader (such as a *bytes.Reader) is provided, the full body will be read +// prior to the first request, and will be efficiently re-used for any retries. +// ReadSeeker can be used, but some users have observed occasional data races +// between the net/http library and the Seek functionality of some +// implementations of ReadSeeker, so should be avoided if possible. +package retryablehttp + +import ( + "bytes" + "context" + "fmt" + "io" + "log" + "math" + "math/rand" + "net/http" + "net/url" + "os" + "regexp" + "strconv" + "strings" + "sync" + "time" + + cleanhttp "github.com/hashicorp/go-cleanhttp" +) + +var ( + // Default retry configuration + defaultRetryWaitMin = 1 * time.Second + defaultRetryWaitMax = 30 * time.Second + defaultRetryMax = 4 + + // defaultLogger is the logger provided with defaultClient + defaultLogger = log.New(os.Stderr, "", log.LstdFlags) + + // defaultClient is used for performing requests without explicitly making + // a new client. It is purposely private to avoid modifications. + defaultClient = NewClient() + + // We need to consume response bodies to maintain http connections, but + // limit the size we consume to respReadLimit. + respReadLimit = int64(4096) + + // timeNow sets the function that returns the current time. + // This defaults to time.Now. Changes to this should only be done in tests. + timeNow = time.Now + + // A regular expression to match the error returned by net/http when the + // configured number of redirects is exhausted. This error isn't typed + // specifically so we resort to matching on the error string. + redirectsErrorRe = regexp.MustCompile(`stopped after \d+ redirects\z`) + + // A regular expression to match the error returned by net/http when the + // scheme specified in the URL is invalid. This error isn't typed + // specifically so we resort to matching on the error string. + schemeErrorRe = regexp.MustCompile(`unsupported protocol scheme`) + + // A regular expression to match the error returned by net/http when a + // request header or value is invalid. This error isn't typed + // specifically so we resort to matching on the error string. + invalidHeaderErrorRe = regexp.MustCompile(`invalid header`) + + // A regular expression to match the error returned by net/http when the + // TLS certificate is not trusted. This error isn't typed + // specifically so we resort to matching on the error string. + notTrustedErrorRe = regexp.MustCompile(`certificate is not trusted`) +) + +// ReaderFunc is the type of function that can be given natively to NewRequest +type ReaderFunc func() (io.Reader, error) + +// ResponseHandlerFunc is a type of function that takes in a Response, and does something with it. +// The ResponseHandlerFunc is called when the HTTP client successfully receives a response and the +// CheckRetry function indicates that a retry of the base request is not necessary. +// If an error is returned from this function, the CheckRetry policy will be used to determine +// whether to retry the whole request (including this handler). +// +// Make sure to check status codes! Even if the request was completed it may have a non-2xx status code. +// +// The response body is not automatically closed. It must be closed either by the ResponseHandlerFunc or +// by the caller out-of-band. Failure to do so will result in a memory leak. +type ResponseHandlerFunc func(*http.Response) error + +// LenReader is an interface implemented by many in-memory io.Reader's. Used +// for automatically sending the right Content-Length header when possible. +type LenReader interface { + Len() int +} + +// Request wraps the metadata needed to create HTTP requests. +type Request struct { + // body is a seekable reader over the request body payload. This is + // used to rewind the request data in between retries. + body ReaderFunc + + responseHandler ResponseHandlerFunc + + // Embed an HTTP request directly. This makes a *Request act exactly + // like an *http.Request so that all meta methods are supported. + *http.Request +} + +// WithContext returns wrapped Request with a shallow copy of underlying *http.Request +// with its context changed to ctx. The provided ctx must be non-nil. +func (r *Request) WithContext(ctx context.Context) *Request { + return &Request{ + body: r.body, + responseHandler: r.responseHandler, + Request: r.Request.WithContext(ctx), + } +} + +// SetResponseHandler allows setting the response handler. +func (r *Request) SetResponseHandler(fn ResponseHandlerFunc) { + r.responseHandler = fn +} + +// BodyBytes allows accessing the request body. It is an analogue to +// http.Request's Body variable, but it returns a copy of the underlying data +// rather than consuming it. +// +// This function is not thread-safe; do not call it at the same time as another +// call, or at the same time this request is being used with Client.Do. +func (r *Request) BodyBytes() ([]byte, error) { + if r.body == nil { + return nil, nil + } + body, err := r.body() + if err != nil { + return nil, err + } + buf := new(bytes.Buffer) + _, err = buf.ReadFrom(body) + if err != nil { + return nil, err + } + return buf.Bytes(), nil +} + +// SetBody allows setting the request body. +// +// It is useful if a new body needs to be set without constructing a new Request. +func (r *Request) SetBody(rawBody interface{}) error { + bodyReader, contentLength, err := getBodyReaderAndContentLength(rawBody) + if err != nil { + return err + } + r.body = bodyReader + r.ContentLength = contentLength + if bodyReader != nil { + r.GetBody = func() (io.ReadCloser, error) { + body, err := bodyReader() + if err != nil { + return nil, err + } + if rc, ok := body.(io.ReadCloser); ok { + return rc, nil + } + return io.NopCloser(body), nil + } + } else { + r.GetBody = func() (io.ReadCloser, error) { return http.NoBody, nil } + } + return nil +} + +// WriteTo allows copying the request body into a writer. +// +// It writes data to w until there's no more data to write or +// when an error occurs. The return int64 value is the number of bytes +// written. Any error encountered during the write is also returned. +// The signature matches io.WriterTo interface. +func (r *Request) WriteTo(w io.Writer) (int64, error) { + body, err := r.body() + if err != nil { + return 0, err + } + if c, ok := body.(io.Closer); ok { + defer c.Close() + } + return io.Copy(w, body) +} + +func getBodyReaderAndContentLength(rawBody interface{}) (ReaderFunc, int64, error) { + var bodyReader ReaderFunc + var contentLength int64 + + switch body := rawBody.(type) { + // If they gave us a function already, great! Use it. + case ReaderFunc: + bodyReader = body + tmp, err := body() + if err != nil { + return nil, 0, err + } + if lr, ok := tmp.(LenReader); ok { + contentLength = int64(lr.Len()) + } + if c, ok := tmp.(io.Closer); ok { + c.Close() + } + + case func() (io.Reader, error): + bodyReader = body + tmp, err := body() + if err != nil { + return nil, 0, err + } + if lr, ok := tmp.(LenReader); ok { + contentLength = int64(lr.Len()) + } + if c, ok := tmp.(io.Closer); ok { + c.Close() + } + + // If a regular byte slice, we can read it over and over via new + // readers + case []byte: + buf := body + bodyReader = func() (io.Reader, error) { + return bytes.NewReader(buf), nil + } + contentLength = int64(len(buf)) + + // If a bytes.Buffer we can read the underlying byte slice over and + // over + case *bytes.Buffer: + buf := body + bodyReader = func() (io.Reader, error) { + return bytes.NewReader(buf.Bytes()), nil + } + contentLength = int64(buf.Len()) + + // We prioritize *bytes.Reader here because we don't really want to + // deal with it seeking so want it to match here instead of the + // io.ReadSeeker case. + case *bytes.Reader: + snapshot := *body + bodyReader = func() (io.Reader, error) { + r := snapshot + return &r, nil + } + contentLength = int64(body.Len()) + + // Compat case + case io.ReadSeeker: + raw := body + bodyReader = func() (io.Reader, error) { + _, err := raw.Seek(0, 0) + return io.NopCloser(raw), err + } + if lr, ok := raw.(LenReader); ok { + contentLength = int64(lr.Len()) + } + + // Read all in so we can reset + case io.Reader: + buf, err := io.ReadAll(body) + if err != nil { + return nil, 0, err + } + if len(buf) == 0 { + bodyReader = func() (io.Reader, error) { + return http.NoBody, nil + } + contentLength = 0 + } else { + bodyReader = func() (io.Reader, error) { + return bytes.NewReader(buf), nil + } + contentLength = int64(len(buf)) + } + + // No body provided, nothing to do + case nil: + + // Unrecognized type + default: + return nil, 0, fmt.Errorf("cannot handle type %T", rawBody) + } + return bodyReader, contentLength, nil +} + +// FromRequest wraps an http.Request in a retryablehttp.Request +func FromRequest(r *http.Request) (*Request, error) { + bodyReader, _, err := getBodyReaderAndContentLength(r.Body) + if err != nil { + return nil, err + } + // Could assert contentLength == r.ContentLength + return &Request{body: bodyReader, Request: r}, nil +} + +// NewRequest creates a new wrapped request. +func NewRequest(method, url string, rawBody interface{}) (*Request, error) { + return NewRequestWithContext(context.Background(), method, url, rawBody) +} + +// NewRequestWithContext creates a new wrapped request with the provided context. +// +// The context controls the entire lifetime of a request and its response: +// obtaining a connection, sending the request, and reading the response headers and body. +func NewRequestWithContext(ctx context.Context, method, url string, rawBody interface{}) (*Request, error) { + httpReq, err := http.NewRequestWithContext(ctx, method, url, nil) + if err != nil { + return nil, err + } + + req := &Request{ + Request: httpReq, + } + if err := req.SetBody(rawBody); err != nil { + return nil, err + } + + return req, nil +} + +// Logger interface allows to use other loggers than +// standard log.Logger. +type Logger interface { + Printf(string, ...interface{}) +} + +// LeveledLogger is an interface that can be implemented by any logger or a +// logger wrapper to provide leveled logging. The methods accept a message +// string and a variadic number of key-value pairs. For log.Printf style +// formatting where message string contains a format specifier, use Logger +// interface. +type LeveledLogger interface { + Error(msg string, keysAndValues ...interface{}) + Info(msg string, keysAndValues ...interface{}) + Debug(msg string, keysAndValues ...interface{}) + Warn(msg string, keysAndValues ...interface{}) +} + +// hookLogger adapts an LeveledLogger to Logger for use by the existing hook functions +// without changing the API. +type hookLogger struct { + LeveledLogger +} + +func (h hookLogger) Printf(s string, args ...interface{}) { + h.Info(fmt.Sprintf(s, args...)) +} + +// RequestLogHook allows a function to run before each retry. The HTTP +// request which will be made, and the retry number (0 for the initial +// request) are available to users. The internal logger is exposed to +// consumers. +type RequestLogHook func(Logger, *http.Request, int) + +// ResponseLogHook is like RequestLogHook, but allows running a function +// on each HTTP response. This function will be invoked at the end of +// every HTTP request executed, regardless of whether a subsequent retry +// needs to be performed or not. If the response body is read or closed +// from this method, this will affect the response returned from Do(). +type ResponseLogHook func(Logger, *http.Response) + +// CheckRetry specifies a policy for handling retries. It is called +// following each request with the response and error values returned by +// the http.Client. If CheckRetry returns false, the Client stops retrying +// and returns the response to the caller. If CheckRetry returns an error, +// that error value is returned in lieu of the error from the request. The +// Client will close any response body when retrying, but if the retry is +// aborted it is up to the CheckRetry callback to properly close any +// response body before returning. +type CheckRetry func(ctx context.Context, resp *http.Response, err error) (bool, error) + +// Backoff specifies a policy for how long to wait between retries. +// It is called after a failing request to determine the amount of time +// that should pass before trying again. +type Backoff func(min, max time.Duration, attemptNum int, resp *http.Response) time.Duration + +// ErrorHandler is called if retries are expired, containing the last status +// from the http library. If not specified, default behavior for the library is +// to close the body and return an error indicating how many tries were +// attempted. If overriding this, be sure to close the body if needed. +type ErrorHandler func(resp *http.Response, err error, numTries int) (*http.Response, error) + +// PrepareRetry is called before retry operation. It can be used for example to re-sign the request +type PrepareRetry func(req *http.Request) error + +// Client is used to make HTTP requests. It adds additional functionality +// like automatic retries to tolerate minor outages. +type Client struct { + HTTPClient *http.Client // Internal HTTP client. + Logger interface{} // Customer logger instance. Can be either Logger or LeveledLogger + + RetryWaitMin time.Duration // Minimum time to wait + RetryWaitMax time.Duration // Maximum time to wait + RetryMax int // Maximum number of retries + + // RequestLogHook allows a user-supplied function to be called + // before each retry. + RequestLogHook RequestLogHook + + // ResponseLogHook allows a user-supplied function to be called + // with the response from each HTTP request executed. + ResponseLogHook ResponseLogHook + + // CheckRetry specifies the policy for handling retries, and is called + // after each request. The default policy is DefaultRetryPolicy. + CheckRetry CheckRetry + + // Backoff specifies the policy for how long to wait between retries + Backoff Backoff + + // ErrorHandler specifies the custom error handler to use, if any + ErrorHandler ErrorHandler + + // PrepareRetry can prepare the request for retry operation, for example re-sign it + PrepareRetry PrepareRetry + + loggerInit sync.Once + clientInit sync.Once +} + +// NewClient creates a new Client with default settings. +func NewClient() *Client { + return &Client{ + HTTPClient: cleanhttp.DefaultPooledClient(), + Logger: defaultLogger, + RetryWaitMin: defaultRetryWaitMin, + RetryWaitMax: defaultRetryWaitMax, + RetryMax: defaultRetryMax, + CheckRetry: DefaultRetryPolicy, + Backoff: DefaultBackoff, + } +} + +func (c *Client) logger() interface{} { + c.loggerInit.Do(func() { + if c.Logger == nil { + return + } + + switch c.Logger.(type) { + case Logger, LeveledLogger: + // ok + default: + // This should happen in dev when they are setting Logger and work on code, not in prod. + panic(fmt.Sprintf("invalid logger type passed, must be Logger or LeveledLogger, was %T", c.Logger)) + } + }) + + return c.Logger +} + +// DefaultRetryPolicy provides a default callback for Client.CheckRetry, which +// will retry on connection errors and server errors. +func DefaultRetryPolicy(ctx context.Context, resp *http.Response, err error) (bool, error) { + // do not retry on context.Canceled or context.DeadlineExceeded + if ctx.Err() != nil { + return false, ctx.Err() + } + + // don't propagate other errors + shouldRetry, _ := baseRetryPolicy(resp, err) + return shouldRetry, nil +} + +// ErrorPropagatedRetryPolicy is the same as DefaultRetryPolicy, except it +// propagates errors back instead of returning nil. This allows you to inspect +// why it decided to retry or not. +func ErrorPropagatedRetryPolicy(ctx context.Context, resp *http.Response, err error) (bool, error) { + // do not retry on context.Canceled or context.DeadlineExceeded + if ctx.Err() != nil { + return false, ctx.Err() + } + + return baseRetryPolicy(resp, err) +} + +func baseRetryPolicy(resp *http.Response, err error) (bool, error) { + if err != nil { + if v, ok := err.(*url.Error); ok { + // Don't retry if the error was due to too many redirects. + if redirectsErrorRe.MatchString(v.Error()) { + return false, v + } + + // Don't retry if the error was due to an invalid protocol scheme. + if schemeErrorRe.MatchString(v.Error()) { + return false, v + } + + // Don't retry if the error was due to an invalid header. + if invalidHeaderErrorRe.MatchString(v.Error()) { + return false, v + } + + // Don't retry if the error was due to TLS cert verification failure. + if notTrustedErrorRe.MatchString(v.Error()) { + return false, v + } + if isCertError(v.Err) { + return false, v + } + } + + // The error is likely recoverable so retry. + return true, nil + } + + // 429 Too Many Requests is recoverable. Sometimes the server puts + // a Retry-After response header to indicate when the server is + // available to start processing request from client. + if resp.StatusCode == http.StatusTooManyRequests { + return true, nil + } + + // Check the response code. We retry on 500-range responses to allow + // the server time to recover, as 500's are typically not permanent + // errors and may relate to outages on the server side. This will catch + // invalid response codes as well, like 0 and 999. + if resp.StatusCode == 0 || (resp.StatusCode >= 500 && resp.StatusCode != http.StatusNotImplemented) { + return true, fmt.Errorf("unexpected HTTP status %s", resp.Status) + } + + return false, nil +} + +// DefaultBackoff provides a default callback for Client.Backoff which +// will perform exponential backoff based on the attempt number and limited +// by the provided minimum and maximum durations. +// +// It also tries to parse Retry-After response header when a http.StatusTooManyRequests +// (HTTP Code 429) is found in the resp parameter. Hence it will return the number of +// seconds the server states it may be ready to process more requests from this client. +func DefaultBackoff(min, max time.Duration, attemptNum int, resp *http.Response) time.Duration { + if resp != nil { + if resp.StatusCode == http.StatusTooManyRequests || resp.StatusCode == http.StatusServiceUnavailable { + if sleep, ok := parseRetryAfterHeader(resp.Header["Retry-After"]); ok { + return sleep + } + } + } + + mult := math.Pow(2, float64(attemptNum)) * float64(min) + sleep := time.Duration(mult) + if float64(sleep) != mult || sleep > max { + sleep = max + } + return sleep +} + +// parseRetryAfterHeader parses the Retry-After header and returns the +// delay duration according to the spec: https://httpwg.org/specs/rfc7231.html#header.retry-after +// The bool returned will be true if the header was successfully parsed. +// Otherwise, the header was either not present, or was not parseable according to the spec. +// +// Retry-After headers come in two flavors: Seconds or HTTP-Date +// +// Examples: +// * Retry-After: Fri, 31 Dec 1999 23:59:59 GMT +// * Retry-After: 120 +func parseRetryAfterHeader(headers []string) (time.Duration, bool) { + if len(headers) == 0 || headers[0] == "" { + return 0, false + } + header := headers[0] + // Retry-After: 120 + if sleep, err := strconv.ParseInt(header, 10, 64); err == nil { + if sleep < 0 { // a negative sleep doesn't make sense + return 0, false + } + return time.Second * time.Duration(sleep), true + } + + // Retry-After: Fri, 31 Dec 1999 23:59:59 GMT + retryTime, err := time.Parse(time.RFC1123, header) + if err != nil { + return 0, false + } + if until := retryTime.Sub(timeNow()); until > 0 { + return until, true + } + // date is in the past + return 0, true +} + +// LinearJitterBackoff provides a callback for Client.Backoff which will +// perform linear backoff based on the attempt number and with jitter to +// prevent a thundering herd. +// +// min and max here are *not* absolute values. The number to be multiplied by +// the attempt number will be chosen at random from between them, thus they are +// bounding the jitter. +// +// For instance: +// * To get strictly linear backoff of one second increasing each retry, set +// both to one second (1s, 2s, 3s, 4s, ...) +// * To get a small amount of jitter centered around one second increasing each +// retry, set to around one second, such as a min of 800ms and max of 1200ms +// (892ms, 2102ms, 2945ms, 4312ms, ...) +// * To get extreme jitter, set to a very wide spread, such as a min of 100ms +// and a max of 20s (15382ms, 292ms, 51321ms, 35234ms, ...) +func LinearJitterBackoff(min, max time.Duration, attemptNum int, resp *http.Response) time.Duration { + // attemptNum always starts at zero but we want to start at 1 for multiplication + attemptNum++ + + if max <= min { + // Unclear what to do here, or they are the same, so return min * + // attemptNum + return min * time.Duration(attemptNum) + } + + // Seed rand; doing this every time is fine + source := rand.New(rand.NewSource(int64(time.Now().Nanosecond()))) + + // Pick a random number that lies somewhere between the min and max and + // multiply by the attemptNum. attemptNum starts at zero so we always + // increment here. We first get a random percentage, then apply that to the + // difference between min and max, and add to min. + jitter := source.Float64() * float64(max-min) + jitterMin := int64(jitter) + int64(min) + return time.Duration(jitterMin * int64(attemptNum)) +} + +// RateLimitLinearJitterBackoff wraps the retryablehttp.LinearJitterBackoff. +// It first checks if the response status code is http.StatusTooManyRequests +// (HTTP Code 429) or http.StatusServiceUnavailable (HTTP Code 503). If it is +// and the response contains a Retry-After response header, it will wait the +// amount of time specified by the header. Otherwise, this calls +// LinearJitterBackoff. +func RateLimitLinearJitterBackoff(min, max time.Duration, attemptNum int, resp *http.Response) time.Duration { + if resp != nil { + if resp.StatusCode == http.StatusTooManyRequests || resp.StatusCode == http.StatusServiceUnavailable { + if sleep, ok := parseRetryAfterHeader(resp.Header["Retry-After"]); ok { + return sleep + } + } + } + return LinearJitterBackoff(min, max, attemptNum, resp) +} + +// PassthroughErrorHandler is an ErrorHandler that directly passes through the +// values from the net/http library for the final request. The body is not +// closed. +func PassthroughErrorHandler(resp *http.Response, err error, _ int) (*http.Response, error) { + return resp, err +} + +// Do wraps calling an HTTP method with retries. +func (c *Client) Do(req *Request) (*http.Response, error) { + c.clientInit.Do(func() { + if c.HTTPClient == nil { + c.HTTPClient = cleanhttp.DefaultPooledClient() + } + }) + + logger := c.logger() + + if logger != nil { + switch v := logger.(type) { + case LeveledLogger: + v.Debug("performing request", "method", req.Method, "url", redactURL(req.URL)) + case Logger: + v.Printf("[DEBUG] %s %s", req.Method, redactURL(req.URL)) + } + } + + var resp *http.Response + var attempt int + var shouldRetry bool + var doErr, respErr, checkErr, prepareErr error + + for i := 0; ; i++ { + doErr, respErr, prepareErr = nil, nil, nil + attempt++ + + // Always rewind the request body when non-nil. + if req.body != nil { + body, err := req.body() + if err != nil { + c.HTTPClient.CloseIdleConnections() + return resp, err + } + if c, ok := body.(io.ReadCloser); ok { + req.Body = c + } else { + req.Body = io.NopCloser(body) + } + } + + if c.RequestLogHook != nil { + switch v := logger.(type) { + case LeveledLogger: + c.RequestLogHook(hookLogger{v}, req.Request, i) + case Logger: + c.RequestLogHook(v, req.Request, i) + default: + c.RequestLogHook(nil, req.Request, i) + } + } + + // Attempt the request + resp, doErr = c.HTTPClient.Do(req.Request) + + // Check if we should continue with retries. + shouldRetry, checkErr = c.CheckRetry(req.Context(), resp, doErr) + if !shouldRetry && doErr == nil && req.responseHandler != nil { + respErr = req.responseHandler(resp) + shouldRetry, checkErr = c.CheckRetry(req.Context(), resp, respErr) + } + + err := doErr + if respErr != nil { + err = respErr + } + if err != nil { + switch v := logger.(type) { + case LeveledLogger: + v.Error("request failed", "error", err, "method", req.Method, "url", redactURL(req.URL)) + case Logger: + v.Printf("[ERR] %s %s request failed: %v", req.Method, redactURL(req.URL), err) + } + } else { + // Call this here to maintain the behavior of logging all requests, + // even if CheckRetry signals to stop. + if c.ResponseLogHook != nil { + // Call the response logger function if provided. + switch v := logger.(type) { + case LeveledLogger: + c.ResponseLogHook(hookLogger{v}, resp) + case Logger: + c.ResponseLogHook(v, resp) + default: + c.ResponseLogHook(nil, resp) + } + } + } + + if !shouldRetry { + break + } + + // We do this before drainBody because there's no need for the I/O if + // we're breaking out + remain := c.RetryMax - i + if remain <= 0 { + break + } + + // We're going to retry, consume any response to reuse the connection. + if doErr == nil { + c.drainBody(resp.Body) + } + + wait := c.Backoff(c.RetryWaitMin, c.RetryWaitMax, i, resp) + if logger != nil { + desc := fmt.Sprintf("%s %s", req.Method, redactURL(req.URL)) + if resp != nil { + desc = fmt.Sprintf("%s (status: %d)", desc, resp.StatusCode) + } + switch v := logger.(type) { + case LeveledLogger: + v.Debug("retrying request", "request", desc, "timeout", wait, "remaining", remain) + case Logger: + v.Printf("[DEBUG] %s: retrying in %s (%d left)", desc, wait, remain) + } + } + timer := time.NewTimer(wait) + select { + case <-req.Context().Done(): + timer.Stop() + c.HTTPClient.CloseIdleConnections() + return nil, req.Context().Err() + case <-timer.C: + } + + // Make shallow copy of http Request so that we can modify its body + // without racing against the closeBody call in persistConn.writeLoop. + httpreq := *req.Request + req.Request = &httpreq + + if c.PrepareRetry != nil { + if err := c.PrepareRetry(req.Request); err != nil { + prepareErr = err + break + } + } + } + + // this is the closest we have to success criteria + if doErr == nil && respErr == nil && checkErr == nil && prepareErr == nil && !shouldRetry { + return resp, nil + } + + defer c.HTTPClient.CloseIdleConnections() + + var err error + if prepareErr != nil { + err = prepareErr + } else if checkErr != nil { + err = checkErr + } else if respErr != nil { + err = respErr + } else { + err = doErr + } + + if c.ErrorHandler != nil { + return c.ErrorHandler(resp, err, attempt) + } + + // By default, we close the response body and return an error without + // returning the response + if resp != nil { + c.drainBody(resp.Body) + } + + // this means CheckRetry thought the request was a failure, but didn't + // communicate why + if err == nil { + return nil, fmt.Errorf("%s %s giving up after %d attempt(s)", + req.Method, redactURL(req.URL), attempt) + } + + return nil, fmt.Errorf("%s %s giving up after %d attempt(s): %w", + req.Method, redactURL(req.URL), attempt, err) +} + +// Try to read the response body so we can reuse this connection. +func (c *Client) drainBody(body io.ReadCloser) { + defer body.Close() + _, err := io.Copy(io.Discard, io.LimitReader(body, respReadLimit)) + if err != nil { + if c.logger() != nil { + switch v := c.logger().(type) { + case LeveledLogger: + v.Error("error reading response body", "error", err) + case Logger: + v.Printf("[ERR] error reading response body: %v", err) + } + } + } +} + +// Get is a shortcut for doing a GET request without making a new client. +func Get(url string) (*http.Response, error) { + return defaultClient.Get(url) +} + +// Get is a convenience helper for doing simple GET requests. +func (c *Client) Get(url string) (*http.Response, error) { + req, err := NewRequest("GET", url, nil) + if err != nil { + return nil, err + } + return c.Do(req) +} + +// Head is a shortcut for doing a HEAD request without making a new client. +func Head(url string) (*http.Response, error) { + return defaultClient.Head(url) +} + +// Head is a convenience method for doing simple HEAD requests. +func (c *Client) Head(url string) (*http.Response, error) { + req, err := NewRequest("HEAD", url, nil) + if err != nil { + return nil, err + } + return c.Do(req) +} + +// Post is a shortcut for doing a POST request without making a new client. +// The bodyType parameter sets the "Content-Type" header of the request. +func Post(url, bodyType string, body interface{}) (*http.Response, error) { + return defaultClient.Post(url, bodyType, body) +} + +// Post is a convenience method for doing simple POST requests. +// The bodyType parameter sets the "Content-Type" header of the request. +func (c *Client) Post(url, bodyType string, body interface{}) (*http.Response, error) { + req, err := NewRequest("POST", url, body) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", bodyType) + return c.Do(req) +} + +// PostForm is a shortcut to perform a POST with form data without creating +// a new client. +func PostForm(url string, data url.Values) (*http.Response, error) { + return defaultClient.PostForm(url, data) +} + +// PostForm is a convenience method for doing simple POST operations using +// pre-filled url.Values form data. +func (c *Client) PostForm(url string, data url.Values) (*http.Response, error) { + return c.Post(url, "application/x-www-form-urlencoded", strings.NewReader(data.Encode())) +} + +// StandardClient returns a stdlib *http.Client with a custom Transport, which +// shims in a *retryablehttp.Client for added retries. +func (c *Client) StandardClient() *http.Client { + return &http.Client{ + Transport: &RoundTripper{Client: c}, + } +} + +// Taken from url.URL#Redacted() which was introduced in go 1.15. +// We can switch to using it directly if we'll bump the minimum required go version. +func redactURL(u *url.URL) string { + if u == nil { + return "" + } + + ru := *u + if _, has := ru.User.Password(); has { + ru.User = url.UserPassword(ru.User.Username(), "xxxxx") + } + return ru.String() +} diff --git a/vendor/github.com/hashicorp/go-retryablehttp/roundtripper.go b/vendor/github.com/hashicorp/go-retryablehttp/roundtripper.go new file mode 100644 index 000000000..8c407adb3 --- /dev/null +++ b/vendor/github.com/hashicorp/go-retryablehttp/roundtripper.go @@ -0,0 +1,55 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package retryablehttp + +import ( + "errors" + "net/http" + "net/url" + "sync" +) + +// RoundTripper implements the http.RoundTripper interface, using a retrying +// HTTP client to execute requests. +// +// It is important to note that retryablehttp doesn't always act exactly as a +// RoundTripper should. This is highly dependent on the retryable client's +// configuration. +type RoundTripper struct { + // The client to use during requests. If nil, the default retryablehttp + // client and settings will be used. + Client *Client + + // once ensures that the logic to initialize the default client runs at + // most once, in a single thread. + once sync.Once +} + +// init initializes the underlying retryable client. +func (rt *RoundTripper) init() { + if rt.Client == nil { + rt.Client = NewClient() + } +} + +// RoundTrip satisfies the http.RoundTripper interface. +func (rt *RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + rt.once.Do(rt.init) + + // Convert the request to be retryable. + retryableReq, err := FromRequest(req) + if err != nil { + return nil, err + } + + // Execute the request. + resp, err := rt.Client.Do(retryableReq) + // If we got an error returned by standard library's `Do` method, unwrap it + // otherwise we will wind up erroneously re-nesting the error. + if _, ok := err.(*url.Error); ok { + return resp, errors.Unwrap(err) + } + + return resp, err +} diff --git a/vendor/github.com/josharian/intern/README.md b/vendor/github.com/josharian/intern/README.md new file mode 100644 index 000000000..ffc44b219 --- /dev/null +++ b/vendor/github.com/josharian/intern/README.md @@ -0,0 +1,5 @@ +Docs: https://godoc.org/github.com/josharian/intern + +See also [Go issue 5160](https://golang.org/issue/5160). + +License: MIT diff --git a/vendor/github.com/josharian/intern/intern.go b/vendor/github.com/josharian/intern/intern.go new file mode 100644 index 000000000..7acb1fe90 --- /dev/null +++ b/vendor/github.com/josharian/intern/intern.go @@ -0,0 +1,44 @@ +// Package intern interns strings. +// Interning is best effort only. +// Interned strings may be removed automatically +// at any time without notification. +// All functions may be called concurrently +// with themselves and each other. +package intern + +import "sync" + +var ( + pool sync.Pool = sync.Pool{ + New: func() interface{} { + return make(map[string]string) + }, + } +) + +// String returns s, interned. +func String(s string) string { + m := pool.Get().(map[string]string) + c, ok := m[s] + if ok { + pool.Put(m) + return c + } + m[s] = s + pool.Put(m) + return s +} + +// Bytes returns b converted to a string, interned. +func Bytes(b []byte) string { + m := pool.Get().(map[string]string) + c, ok := m[string(b)] + if ok { + pool.Put(m) + return c + } + s := string(b) + m[s] = s + pool.Put(m) + return s +} diff --git a/vendor/github.com/josharian/intern/license.md b/vendor/github.com/josharian/intern/license.md new file mode 100644 index 000000000..353d3055f --- /dev/null +++ b/vendor/github.com/josharian/intern/license.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Josh Bleecher Snyder + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mailru/easyjson/LICENSE b/vendor/github.com/mailru/easyjson/LICENSE new file mode 100644 index 000000000..fbff658f7 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/LICENSE @@ -0,0 +1,7 @@ +Copyright (c) 2016 Mail.Ru Group + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/mailru/easyjson/buffer/pool.go b/vendor/github.com/mailru/easyjson/buffer/pool.go new file mode 100644 index 000000000..598a54af9 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/buffer/pool.go @@ -0,0 +1,278 @@ +// Package buffer implements a buffer for serialization, consisting of a chain of []byte-s to +// reduce copying and to allow reuse of individual chunks. +package buffer + +import ( + "io" + "net" + "sync" +) + +// PoolConfig contains configuration for the allocation and reuse strategy. +type PoolConfig struct { + StartSize int // Minimum chunk size that is allocated. + PooledSize int // Minimum chunk size that is reused, reusing chunks too small will result in overhead. + MaxSize int // Maximum chunk size that will be allocated. +} + +var config = PoolConfig{ + StartSize: 128, + PooledSize: 512, + MaxSize: 32768, +} + +// Reuse pool: chunk size -> pool. +var buffers = map[int]*sync.Pool{} + +func initBuffers() { + for l := config.PooledSize; l <= config.MaxSize; l *= 2 { + buffers[l] = new(sync.Pool) + } +} + +func init() { + initBuffers() +} + +// Init sets up a non-default pooling and allocation strategy. Should be run before serialization is done. +func Init(cfg PoolConfig) { + config = cfg + initBuffers() +} + +// putBuf puts a chunk to reuse pool if it can be reused. +func putBuf(buf []byte) { + size := cap(buf) + if size < config.PooledSize { + return + } + if c := buffers[size]; c != nil { + c.Put(buf[:0]) + } +} + +// getBuf gets a chunk from reuse pool or creates a new one if reuse failed. +func getBuf(size int) []byte { + if size >= config.PooledSize { + if c := buffers[size]; c != nil { + v := c.Get() + if v != nil { + return v.([]byte) + } + } + } + return make([]byte, 0, size) +} + +// Buffer is a buffer optimized for serialization without extra copying. +type Buffer struct { + + // Buf is the current chunk that can be used for serialization. + Buf []byte + + toPool []byte + bufs [][]byte +} + +// EnsureSpace makes sure that the current chunk contains at least s free bytes, +// possibly creating a new chunk. +func (b *Buffer) EnsureSpace(s int) { + if cap(b.Buf)-len(b.Buf) < s { + b.ensureSpaceSlow(s) + } +} + +func (b *Buffer) ensureSpaceSlow(s int) { + l := len(b.Buf) + if l > 0 { + if cap(b.toPool) != cap(b.Buf) { + // Chunk was reallocated, toPool can be pooled. + putBuf(b.toPool) + } + if cap(b.bufs) == 0 { + b.bufs = make([][]byte, 0, 8) + } + b.bufs = append(b.bufs, b.Buf) + l = cap(b.toPool) * 2 + } else { + l = config.StartSize + } + + if l > config.MaxSize { + l = config.MaxSize + } + b.Buf = getBuf(l) + b.toPool = b.Buf +} + +// AppendByte appends a single byte to buffer. +func (b *Buffer) AppendByte(data byte) { + b.EnsureSpace(1) + b.Buf = append(b.Buf, data) +} + +// AppendBytes appends a byte slice to buffer. +func (b *Buffer) AppendBytes(data []byte) { + if len(data) <= cap(b.Buf)-len(b.Buf) { + b.Buf = append(b.Buf, data...) // fast path + } else { + b.appendBytesSlow(data) + } +} + +func (b *Buffer) appendBytesSlow(data []byte) { + for len(data) > 0 { + b.EnsureSpace(1) + + sz := cap(b.Buf) - len(b.Buf) + if sz > len(data) { + sz = len(data) + } + + b.Buf = append(b.Buf, data[:sz]...) + data = data[sz:] + } +} + +// AppendString appends a string to buffer. +func (b *Buffer) AppendString(data string) { + if len(data) <= cap(b.Buf)-len(b.Buf) { + b.Buf = append(b.Buf, data...) // fast path + } else { + b.appendStringSlow(data) + } +} + +func (b *Buffer) appendStringSlow(data string) { + for len(data) > 0 { + b.EnsureSpace(1) + + sz := cap(b.Buf) - len(b.Buf) + if sz > len(data) { + sz = len(data) + } + + b.Buf = append(b.Buf, data[:sz]...) + data = data[sz:] + } +} + +// Size computes the size of a buffer by adding sizes of every chunk. +func (b *Buffer) Size() int { + size := len(b.Buf) + for _, buf := range b.bufs { + size += len(buf) + } + return size +} + +// DumpTo outputs the contents of a buffer to a writer and resets the buffer. +func (b *Buffer) DumpTo(w io.Writer) (written int, err error) { + bufs := net.Buffers(b.bufs) + if len(b.Buf) > 0 { + bufs = append(bufs, b.Buf) + } + n, err := bufs.WriteTo(w) + + for _, buf := range b.bufs { + putBuf(buf) + } + putBuf(b.toPool) + + b.bufs = nil + b.Buf = nil + b.toPool = nil + + return int(n), err +} + +// BuildBytes creates a single byte slice with all the contents of the buffer. Data is +// copied if it does not fit in a single chunk. You can optionally provide one byte +// slice as argument that it will try to reuse. +func (b *Buffer) BuildBytes(reuse ...[]byte) []byte { + if len(b.bufs) == 0 { + ret := b.Buf + b.toPool = nil + b.Buf = nil + return ret + } + + var ret []byte + size := b.Size() + + // If we got a buffer as argument and it is big enough, reuse it. + if len(reuse) == 1 && cap(reuse[0]) >= size { + ret = reuse[0][:0] + } else { + ret = make([]byte, 0, size) + } + for _, buf := range b.bufs { + ret = append(ret, buf...) + putBuf(buf) + } + + ret = append(ret, b.Buf...) + putBuf(b.toPool) + + b.bufs = nil + b.toPool = nil + b.Buf = nil + + return ret +} + +type readCloser struct { + offset int + bufs [][]byte +} + +func (r *readCloser) Read(p []byte) (n int, err error) { + for _, buf := range r.bufs { + // Copy as much as we can. + x := copy(p[n:], buf[r.offset:]) + n += x // Increment how much we filled. + + // Did we empty the whole buffer? + if r.offset+x == len(buf) { + // On to the next buffer. + r.offset = 0 + r.bufs = r.bufs[1:] + + // We can release this buffer. + putBuf(buf) + } else { + r.offset += x + } + + if n == len(p) { + break + } + } + // No buffers left or nothing read? + if len(r.bufs) == 0 { + err = io.EOF + } + return +} + +func (r *readCloser) Close() error { + // Release all remaining buffers. + for _, buf := range r.bufs { + putBuf(buf) + } + // In case Close gets called multiple times. + r.bufs = nil + + return nil +} + +// ReadCloser creates an io.ReadCloser with all the contents of the buffer. +func (b *Buffer) ReadCloser() io.ReadCloser { + ret := &readCloser{0, append(b.bufs, b.Buf)} + + b.bufs = nil + b.toPool = nil + b.Buf = nil + + return ret +} diff --git a/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go b/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go new file mode 100644 index 000000000..e68108f86 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go @@ -0,0 +1,21 @@ +// This file will only be included to the build if neither +// easyjson_nounsafe nor appengine build tag is set. See README notes +// for more details. + +//+build !easyjson_nounsafe +//+build !appengine + +package jlexer + +import ( + "unsafe" +) + +// bytesToStr creates a string pointing at the slice to avoid copying. +// +// Warning: the string returned by the function should be used with care, as the whole input data +// chunk may be either blocked from being freed by GC because of a single string or the buffer.Data +// may be garbage-collected even when the string exists. +func bytesToStr(data []byte) string { + return *(*string)(unsafe.Pointer(&data)) +} diff --git a/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go b/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go new file mode 100644 index 000000000..864d1be67 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go @@ -0,0 +1,13 @@ +// This file is included to the build if any of the buildtags below +// are defined. Refer to README notes for more details. + +//+build easyjson_nounsafe appengine + +package jlexer + +// bytesToStr creates a string normally from []byte +// +// Note that this method is roughly 1.5x slower than using the 'unsafe' method. +func bytesToStr(data []byte) string { + return string(data) +} diff --git a/vendor/github.com/mailru/easyjson/jlexer/error.go b/vendor/github.com/mailru/easyjson/jlexer/error.go new file mode 100644 index 000000000..e90ec40d0 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jlexer/error.go @@ -0,0 +1,15 @@ +package jlexer + +import "fmt" + +// LexerError implements the error interface and represents all possible errors that can be +// generated during parsing the JSON data. +type LexerError struct { + Reason string + Offset int + Data string +} + +func (l *LexerError) Error() string { + return fmt.Sprintf("parse error: %s near offset %d of '%s'", l.Reason, l.Offset, l.Data) +} diff --git a/vendor/github.com/mailru/easyjson/jlexer/lexer.go b/vendor/github.com/mailru/easyjson/jlexer/lexer.go new file mode 100644 index 000000000..a27705b12 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jlexer/lexer.go @@ -0,0 +1,1257 @@ +// Package jlexer contains a JSON lexer implementation. +// +// It is expected that it is mostly used with generated parser code, so the interface is tuned +// for a parser that knows what kind of data is expected. +package jlexer + +import ( + "bytes" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "io" + "strconv" + "unicode" + "unicode/utf16" + "unicode/utf8" + + "github.com/josharian/intern" +) + +// TokenKind determines type of a token. +type TokenKind byte + +const ( + TokenUndef TokenKind = iota // No token. + TokenDelim // Delimiter: one of '{', '}', '[' or ']'. + TokenString // A string literal, e.g. "abc\u1234" + TokenNumber // Number literal, e.g. 1.5e5 + TokenBool // Boolean literal: true or false. + TokenNull // null keyword. +) + +// token describes a single token: type, position in the input and value. +type token struct { + kind TokenKind // Type of a token. + + boolValue bool // Value if a boolean literal token. + byteValueCloned bool // true if byteValue was allocated and does not refer to original json body + byteValue []byte // Raw value of a token. + delimValue byte +} + +// Lexer is a JSON lexer: it iterates over JSON tokens in a byte slice. +type Lexer struct { + Data []byte // Input data given to the lexer. + + start int // Start of the current token. + pos int // Current unscanned position in the input stream. + token token // Last scanned token, if token.kind != TokenUndef. + + firstElement bool // Whether current element is the first in array or an object. + wantSep byte // A comma or a colon character, which need to occur before a token. + + UseMultipleErrors bool // If we want to use multiple errors. + fatalError error // Fatal error occurred during lexing. It is usually a syntax error. + multipleErrors []*LexerError // Semantic errors occurred during lexing. Marshalling will be continued after finding this errors. +} + +// FetchToken scans the input for the next token. +func (r *Lexer) FetchToken() { + r.token.kind = TokenUndef + r.start = r.pos + + // Check if r.Data has r.pos element + // If it doesn't, it mean corrupted input data + if len(r.Data) < r.pos { + r.errParse("Unexpected end of data") + return + } + // Determine the type of a token by skipping whitespace and reading the + // first character. + for _, c := range r.Data[r.pos:] { + switch c { + case ':', ',': + if r.wantSep == c { + r.pos++ + r.start++ + r.wantSep = 0 + } else { + r.errSyntax() + } + + case ' ', '\t', '\r', '\n': + r.pos++ + r.start++ + + case '"': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = TokenString + r.fetchString() + return + + case '{', '[': + if r.wantSep != 0 { + r.errSyntax() + } + r.firstElement = true + r.token.kind = TokenDelim + r.token.delimValue = r.Data[r.pos] + r.pos++ + return + + case '}', ']': + if !r.firstElement && (r.wantSep != ',') { + r.errSyntax() + } + r.wantSep = 0 + r.token.kind = TokenDelim + r.token.delimValue = r.Data[r.pos] + r.pos++ + return + + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-': + if r.wantSep != 0 { + r.errSyntax() + } + r.token.kind = TokenNumber + r.fetchNumber() + return + + case 'n': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = TokenNull + r.fetchNull() + return + + case 't': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = TokenBool + r.token.boolValue = true + r.fetchTrue() + return + + case 'f': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = TokenBool + r.token.boolValue = false + r.fetchFalse() + return + + default: + r.errSyntax() + return + } + } + r.fatalError = io.EOF + return +} + +// isTokenEnd returns true if the char can follow a non-delimiter token +func isTokenEnd(c byte) bool { + return c == ' ' || c == '\t' || c == '\r' || c == '\n' || c == '[' || c == ']' || c == '{' || c == '}' || c == ',' || c == ':' +} + +// fetchNull fetches and checks remaining bytes of null keyword. +func (r *Lexer) fetchNull() { + r.pos += 4 + if r.pos > len(r.Data) || + r.Data[r.pos-3] != 'u' || + r.Data[r.pos-2] != 'l' || + r.Data[r.pos-1] != 'l' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 4 + r.errSyntax() + } +} + +// fetchTrue fetches and checks remaining bytes of true keyword. +func (r *Lexer) fetchTrue() { + r.pos += 4 + if r.pos > len(r.Data) || + r.Data[r.pos-3] != 'r' || + r.Data[r.pos-2] != 'u' || + r.Data[r.pos-1] != 'e' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 4 + r.errSyntax() + } +} + +// fetchFalse fetches and checks remaining bytes of false keyword. +func (r *Lexer) fetchFalse() { + r.pos += 5 + if r.pos > len(r.Data) || + r.Data[r.pos-4] != 'a' || + r.Data[r.pos-3] != 'l' || + r.Data[r.pos-2] != 's' || + r.Data[r.pos-1] != 'e' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 5 + r.errSyntax() + } +} + +// fetchNumber scans a number literal token. +func (r *Lexer) fetchNumber() { + hasE := false + afterE := false + hasDot := false + + r.pos++ + for i, c := range r.Data[r.pos:] { + switch { + case c >= '0' && c <= '9': + afterE = false + case c == '.' && !hasDot: + hasDot = true + case (c == 'e' || c == 'E') && !hasE: + hasE = true + hasDot = true + afterE = true + case (c == '+' || c == '-') && afterE: + afterE = false + default: + r.pos += i + if !isTokenEnd(c) { + r.errSyntax() + } else { + r.token.byteValue = r.Data[r.start:r.pos] + } + return + } + } + + r.pos = len(r.Data) + r.token.byteValue = r.Data[r.start:] +} + +// findStringLen tries to scan into the string literal for ending quote char to determine required size. +// The size will be exact if no escapes are present and may be inexact if there are escaped chars. +func findStringLen(data []byte) (isValid bool, length int) { + for { + idx := bytes.IndexByte(data, '"') + if idx == -1 { + return false, len(data) + } + if idx == 0 || (idx > 0 && data[idx-1] != '\\') { + return true, length + idx + } + + // count \\\\\\\ sequences. even number of slashes means quote is not really escaped + cnt := 1 + for idx-cnt-1 >= 0 && data[idx-cnt-1] == '\\' { + cnt++ + } + if cnt%2 == 0 { + return true, length + idx + } + + length += idx + 1 + data = data[idx+1:] + } +} + +// unescapeStringToken performs unescaping of string token. +// if no escaping is needed, original string is returned, otherwise - a new one allocated +func (r *Lexer) unescapeStringToken() (err error) { + data := r.token.byteValue + var unescapedData []byte + + for { + i := bytes.IndexByte(data, '\\') + if i == -1 { + break + } + + escapedRune, escapedBytes, err := decodeEscape(data[i:]) + if err != nil { + r.errParse(err.Error()) + return err + } + + if unescapedData == nil { + unescapedData = make([]byte, 0, len(r.token.byteValue)) + } + + var d [4]byte + s := utf8.EncodeRune(d[:], escapedRune) + unescapedData = append(unescapedData, data[:i]...) + unescapedData = append(unescapedData, d[:s]...) + + data = data[i+escapedBytes:] + } + + if unescapedData != nil { + r.token.byteValue = append(unescapedData, data...) + r.token.byteValueCloned = true + } + return +} + +// getu4 decodes \uXXXX from the beginning of s, returning the hex value, +// or it returns -1. +func getu4(s []byte) rune { + if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { + return -1 + } + var val rune + for i := 2; i < len(s) && i < 6; i++ { + var v byte + c := s[i] + switch c { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + v = c - '0' + case 'a', 'b', 'c', 'd', 'e', 'f': + v = c - 'a' + 10 + case 'A', 'B', 'C', 'D', 'E', 'F': + v = c - 'A' + 10 + default: + return -1 + } + + val <<= 4 + val |= rune(v) + } + return val +} + +// decodeEscape processes a single escape sequence and returns number of bytes processed. +func decodeEscape(data []byte) (decoded rune, bytesProcessed int, err error) { + if len(data) < 2 { + return 0, 0, errors.New("incorrect escape symbol \\ at the end of token") + } + + c := data[1] + switch c { + case '"', '/', '\\': + return rune(c), 2, nil + case 'b': + return '\b', 2, nil + case 'f': + return '\f', 2, nil + case 'n': + return '\n', 2, nil + case 'r': + return '\r', 2, nil + case 't': + return '\t', 2, nil + case 'u': + rr := getu4(data) + if rr < 0 { + return 0, 0, errors.New("incorrectly escaped \\uXXXX sequence") + } + + read := 6 + if utf16.IsSurrogate(rr) { + rr1 := getu4(data[read:]) + if dec := utf16.DecodeRune(rr, rr1); dec != unicode.ReplacementChar { + read += 6 + rr = dec + } else { + rr = unicode.ReplacementChar + } + } + return rr, read, nil + } + + return 0, 0, errors.New("incorrectly escaped bytes") +} + +// fetchString scans a string literal token. +func (r *Lexer) fetchString() { + r.pos++ + data := r.Data[r.pos:] + + isValid, length := findStringLen(data) + if !isValid { + r.pos += length + r.errParse("unterminated string literal") + return + } + r.token.byteValue = data[:length] + r.pos += length + 1 // skip closing '"' as well +} + +// scanToken scans the next token if no token is currently available in the lexer. +func (r *Lexer) scanToken() { + if r.token.kind != TokenUndef || r.fatalError != nil { + return + } + + r.FetchToken() +} + +// consume resets the current token to allow scanning the next one. +func (r *Lexer) consume() { + r.token.kind = TokenUndef + r.token.byteValueCloned = false + r.token.delimValue = 0 +} + +// Ok returns true if no error (including io.EOF) was encountered during scanning. +func (r *Lexer) Ok() bool { + return r.fatalError == nil +} + +const maxErrorContextLen = 13 + +func (r *Lexer) errParse(what string) { + if r.fatalError == nil { + var str string + if len(r.Data)-r.pos <= maxErrorContextLen { + str = string(r.Data) + } else { + str = string(r.Data[r.pos:r.pos+maxErrorContextLen-3]) + "..." + } + r.fatalError = &LexerError{ + Reason: what, + Offset: r.pos, + Data: str, + } + } +} + +func (r *Lexer) errSyntax() { + r.errParse("syntax error") +} + +func (r *Lexer) errInvalidToken(expected string) { + if r.fatalError != nil { + return + } + if r.UseMultipleErrors { + r.pos = r.start + r.consume() + r.SkipRecursive() + switch expected { + case "[": + r.token.delimValue = ']' + r.token.kind = TokenDelim + case "{": + r.token.delimValue = '}' + r.token.kind = TokenDelim + } + r.addNonfatalError(&LexerError{ + Reason: fmt.Sprintf("expected %s", expected), + Offset: r.start, + Data: string(r.Data[r.start:r.pos]), + }) + return + } + + var str string + if len(r.token.byteValue) <= maxErrorContextLen { + str = string(r.token.byteValue) + } else { + str = string(r.token.byteValue[:maxErrorContextLen-3]) + "..." + } + r.fatalError = &LexerError{ + Reason: fmt.Sprintf("expected %s", expected), + Offset: r.pos, + Data: str, + } +} + +func (r *Lexer) GetPos() int { + return r.pos +} + +// Delim consumes a token and verifies that it is the given delimiter. +func (r *Lexer) Delim(c byte) { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + + if !r.Ok() || r.token.delimValue != c { + r.consume() // errInvalidToken can change token if UseMultipleErrors is enabled. + r.errInvalidToken(string([]byte{c})) + } else { + r.consume() + } +} + +// IsDelim returns true if there was no scanning error and next token is the given delimiter. +func (r *Lexer) IsDelim(c byte) bool { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + return !r.Ok() || r.token.delimValue == c +} + +// Null verifies that the next token is null and consumes it. +func (r *Lexer) Null() { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != TokenNull { + r.errInvalidToken("null") + } + r.consume() +} + +// IsNull returns true if the next token is a null keyword. +func (r *Lexer) IsNull() bool { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + return r.Ok() && r.token.kind == TokenNull +} + +// Skip skips a single token. +func (r *Lexer) Skip() { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + r.consume() +} + +// SkipRecursive skips next array or object completely, or just skips a single token if not +// an array/object. +// +// Note: no syntax validation is performed on the skipped data. +func (r *Lexer) SkipRecursive() { + r.scanToken() + var start, end byte + startPos := r.start + + switch r.token.delimValue { + case '{': + start, end = '{', '}' + case '[': + start, end = '[', ']' + default: + r.consume() + return + } + + r.consume() + + level := 1 + inQuotes := false + wasEscape := false + + for i, c := range r.Data[r.pos:] { + switch { + case c == start && !inQuotes: + level++ + case c == end && !inQuotes: + level-- + if level == 0 { + r.pos += i + 1 + if !json.Valid(r.Data[startPos:r.pos]) { + r.pos = len(r.Data) + r.fatalError = &LexerError{ + Reason: "skipped array/object json value is invalid", + Offset: r.pos, + Data: string(r.Data[r.pos:]), + } + } + return + } + case c == '\\' && inQuotes: + wasEscape = !wasEscape + continue + case c == '"' && inQuotes: + inQuotes = wasEscape + case c == '"': + inQuotes = true + } + wasEscape = false + } + r.pos = len(r.Data) + r.fatalError = &LexerError{ + Reason: "EOF reached while skipping array/object or token", + Offset: r.pos, + Data: string(r.Data[r.pos:]), + } +} + +// Raw fetches the next item recursively as a data slice +func (r *Lexer) Raw() []byte { + r.SkipRecursive() + if !r.Ok() { + return nil + } + return r.Data[r.start:r.pos] +} + +// IsStart returns whether the lexer is positioned at the start +// of an input string. +func (r *Lexer) IsStart() bool { + return r.pos == 0 +} + +// Consumed reads all remaining bytes from the input, publishing an error if +// there is anything but whitespace remaining. +func (r *Lexer) Consumed() { + if r.pos > len(r.Data) || !r.Ok() { + return + } + + for _, c := range r.Data[r.pos:] { + if c != ' ' && c != '\t' && c != '\r' && c != '\n' { + r.AddError(&LexerError{ + Reason: "invalid character '" + string(c) + "' after top-level value", + Offset: r.pos, + Data: string(r.Data[r.pos:]), + }) + return + } + + r.pos++ + r.start++ + } +} + +func (r *Lexer) unsafeString(skipUnescape bool) (string, []byte) { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != TokenString { + r.errInvalidToken("string") + return "", nil + } + if !skipUnescape { + if err := r.unescapeStringToken(); err != nil { + r.errInvalidToken("string") + return "", nil + } + } + + bytes := r.token.byteValue + ret := bytesToStr(r.token.byteValue) + r.consume() + return ret, bytes +} + +// UnsafeString returns the string value if the token is a string literal. +// +// Warning: returned string may point to the input buffer, so the string should not outlive +// the input buffer. Intended pattern of usage is as an argument to a switch statement. +func (r *Lexer) UnsafeString() string { + ret, _ := r.unsafeString(false) + return ret +} + +// UnsafeBytes returns the byte slice if the token is a string literal. +func (r *Lexer) UnsafeBytes() []byte { + _, ret := r.unsafeString(false) + return ret +} + +// UnsafeFieldName returns current member name string token +func (r *Lexer) UnsafeFieldName(skipUnescape bool) string { + ret, _ := r.unsafeString(skipUnescape) + return ret +} + +// String reads a string literal. +func (r *Lexer) String() string { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != TokenString { + r.errInvalidToken("string") + return "" + } + if err := r.unescapeStringToken(); err != nil { + r.errInvalidToken("string") + return "" + } + var ret string + if r.token.byteValueCloned { + ret = bytesToStr(r.token.byteValue) + } else { + ret = string(r.token.byteValue) + } + r.consume() + return ret +} + +// StringIntern reads a string literal, and performs string interning on it. +func (r *Lexer) StringIntern() string { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != TokenString { + r.errInvalidToken("string") + return "" + } + if err := r.unescapeStringToken(); err != nil { + r.errInvalidToken("string") + return "" + } + ret := intern.Bytes(r.token.byteValue) + r.consume() + return ret +} + +// Bytes reads a string literal and base64 decodes it into a byte slice. +func (r *Lexer) Bytes() []byte { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != TokenString { + r.errInvalidToken("string") + return nil + } + if err := r.unescapeStringToken(); err != nil { + r.errInvalidToken("string") + return nil + } + ret := make([]byte, base64.StdEncoding.DecodedLen(len(r.token.byteValue))) + n, err := base64.StdEncoding.Decode(ret, r.token.byteValue) + if err != nil { + r.fatalError = &LexerError{ + Reason: err.Error(), + } + return nil + } + + r.consume() + return ret[:n] +} + +// Bool reads a true or false boolean keyword. +func (r *Lexer) Bool() bool { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != TokenBool { + r.errInvalidToken("bool") + return false + } + ret := r.token.boolValue + r.consume() + return ret +} + +func (r *Lexer) number() string { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != TokenNumber { + r.errInvalidToken("number") + return "" + } + ret := bytesToStr(r.token.byteValue) + r.consume() + return ret +} + +func (r *Lexer) Uint8() uint8 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint8(n) +} + +func (r *Lexer) Uint16() uint16 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint16(n) +} + +func (r *Lexer) Uint32() uint32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint32(n) +} + +func (r *Lexer) Uint64() uint64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Uint() uint { + return uint(r.Uint64()) +} + +func (r *Lexer) Int8() int8 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int8(n) +} + +func (r *Lexer) Int16() int16 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int16(n) +} + +func (r *Lexer) Int32() int32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int32(n) +} + +func (r *Lexer) Int64() int64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Int() int { + return int(r.Int64()) +} + +func (r *Lexer) Uint8Str() uint8 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint8(n) +} + +func (r *Lexer) Uint16Str() uint16 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint16(n) +} + +func (r *Lexer) Uint32Str() uint32 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint32(n) +} + +func (r *Lexer) Uint64Str() uint64 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) UintStr() uint { + return uint(r.Uint64Str()) +} + +func (r *Lexer) UintptrStr() uintptr { + return uintptr(r.Uint64Str()) +} + +func (r *Lexer) Int8Str() int8 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int8(n) +} + +func (r *Lexer) Int16Str() int16 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int16(n) +} + +func (r *Lexer) Int32Str() int32 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int32(n) +} + +func (r *Lexer) Int64Str() int64 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) IntStr() int { + return int(r.Int64Str()) +} + +func (r *Lexer) Float32() float32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseFloat(s, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return float32(n) +} + +func (r *Lexer) Float32Str() float32 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + n, err := strconv.ParseFloat(s, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return float32(n) +} + +func (r *Lexer) Float64() float64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseFloat(s, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Float64Str() float64 { + s, b := r.unsafeString(false) + if !r.Ok() { + return 0 + } + n, err := strconv.ParseFloat(s, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) Error() error { + return r.fatalError +} + +func (r *Lexer) AddError(e error) { + if r.fatalError == nil { + r.fatalError = e + } +} + +func (r *Lexer) AddNonFatalError(e error) { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Data: string(r.Data[r.start:r.pos]), + Reason: e.Error(), + }) +} + +func (r *Lexer) addNonfatalError(err *LexerError) { + if r.UseMultipleErrors { + // We don't want to add errors with the same offset. + if len(r.multipleErrors) != 0 && r.multipleErrors[len(r.multipleErrors)-1].Offset == err.Offset { + return + } + r.multipleErrors = append(r.multipleErrors, err) + return + } + r.fatalError = err +} + +func (r *Lexer) GetNonFatalErrors() []*LexerError { + return r.multipleErrors +} + +// JsonNumber fetches and json.Number from 'encoding/json' package. +// Both int, float or string, contains them are valid values +func (r *Lexer) JsonNumber() json.Number { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() { + r.errInvalidToken("json.Number") + return json.Number("") + } + + switch r.token.kind { + case TokenString: + return json.Number(r.String()) + case TokenNumber: + return json.Number(r.Raw()) + case TokenNull: + r.Null() + return json.Number("") + default: + r.errSyntax() + return json.Number("") + } +} + +// Interface fetches an interface{} analogous to the 'encoding/json' package. +func (r *Lexer) Interface() interface{} { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + + if !r.Ok() { + return nil + } + switch r.token.kind { + case TokenString: + return r.String() + case TokenNumber: + return r.Float64() + case TokenBool: + return r.Bool() + case TokenNull: + r.Null() + return nil + } + + if r.token.delimValue == '{' { + r.consume() + + ret := map[string]interface{}{} + for !r.IsDelim('}') { + key := r.String() + r.WantColon() + ret[key] = r.Interface() + r.WantComma() + } + r.Delim('}') + + if r.Ok() { + return ret + } else { + return nil + } + } else if r.token.delimValue == '[' { + r.consume() + + ret := []interface{}{} + for !r.IsDelim(']') { + ret = append(ret, r.Interface()) + r.WantComma() + } + r.Delim(']') + + if r.Ok() { + return ret + } else { + return nil + } + } + r.errSyntax() + return nil +} + +// WantComma requires a comma to be present before fetching next token. +func (r *Lexer) WantComma() { + r.wantSep = ',' + r.firstElement = false +} + +// WantColon requires a colon to be present before fetching next token. +func (r *Lexer) WantColon() { + r.wantSep = ':' + r.firstElement = false +} + +// CurrentToken returns current token kind if there were no errors and TokenUndef otherwise +func (r *Lexer) CurrentToken() TokenKind { + if r.token.kind == TokenUndef && r.Ok() { + r.FetchToken() + } + + if !r.Ok() { + return TokenUndef + } + + return r.token.kind +} diff --git a/vendor/github.com/mailru/easyjson/jwriter/writer.go b/vendor/github.com/mailru/easyjson/jwriter/writer.go new file mode 100644 index 000000000..34b0ade46 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jwriter/writer.go @@ -0,0 +1,417 @@ +// Package jwriter contains a JSON writer. +package jwriter + +import ( + "io" + "strconv" + "unicode/utf8" + + "github.com/mailru/easyjson/buffer" +) + +// Flags describe various encoding options. The behavior may be actually implemented in the encoder, but +// Flags field in Writer is used to set and pass them around. +type Flags int + +const ( + NilMapAsEmpty Flags = 1 << iota // Encode nil map as '{}' rather than 'null'. + NilSliceAsEmpty // Encode nil slice as '[]' rather than 'null'. +) + +// Writer is a JSON writer. +type Writer struct { + Flags Flags + + Error error + Buffer buffer.Buffer + NoEscapeHTML bool +} + +// Size returns the size of the data that was written out. +func (w *Writer) Size() int { + return w.Buffer.Size() +} + +// DumpTo outputs the data to given io.Writer, resetting the buffer. +func (w *Writer) DumpTo(out io.Writer) (written int, err error) { + return w.Buffer.DumpTo(out) +} + +// BuildBytes returns writer data as a single byte slice. You can optionally provide one byte slice +// as argument that it will try to reuse. +func (w *Writer) BuildBytes(reuse ...[]byte) ([]byte, error) { + if w.Error != nil { + return nil, w.Error + } + + return w.Buffer.BuildBytes(reuse...), nil +} + +// ReadCloser returns an io.ReadCloser that can be used to read the data. +// ReadCloser also resets the buffer. +func (w *Writer) ReadCloser() (io.ReadCloser, error) { + if w.Error != nil { + return nil, w.Error + } + + return w.Buffer.ReadCloser(), nil +} + +// RawByte appends raw binary data to the buffer. +func (w *Writer) RawByte(c byte) { + w.Buffer.AppendByte(c) +} + +// RawByte appends raw binary data to the buffer. +func (w *Writer) RawString(s string) { + w.Buffer.AppendString(s) +} + +// RawBytesString appends string from bytes to the buffer. +func (w *Writer) RawBytesString(data []byte, err error) { + switch { + case w.Error != nil: + return + case err != nil: + w.Error = err + default: + w.String(string(data)) + } +} + +// Raw appends raw binary data to the buffer or sets the error if it is given. Useful for +// calling with results of MarshalJSON-like functions. +func (w *Writer) Raw(data []byte, err error) { + switch { + case w.Error != nil: + return + case err != nil: + w.Error = err + case len(data) > 0: + w.Buffer.AppendBytes(data) + default: + w.RawString("null") + } +} + +// RawText encloses raw binary data in quotes and appends in to the buffer. +// Useful for calling with results of MarshalText-like functions. +func (w *Writer) RawText(data []byte, err error) { + switch { + case w.Error != nil: + return + case err != nil: + w.Error = err + case len(data) > 0: + w.String(string(data)) + default: + w.RawString("null") + } +} + +// Base64Bytes appends data to the buffer after base64 encoding it +func (w *Writer) Base64Bytes(data []byte) { + if data == nil { + w.Buffer.AppendString("null") + return + } + w.Buffer.AppendByte('"') + w.base64(data) + w.Buffer.AppendByte('"') +} + +func (w *Writer) Uint8(n uint8) { + w.Buffer.EnsureSpace(3) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint16(n uint16) { + w.Buffer.EnsureSpace(5) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint32(n uint32) { + w.Buffer.EnsureSpace(10) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint(n uint) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint64(n uint64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, n, 10) +} + +func (w *Writer) Int8(n int8) { + w.Buffer.EnsureSpace(4) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int16(n int16) { + w.Buffer.EnsureSpace(6) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int32(n int32) { + w.Buffer.EnsureSpace(11) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int(n int) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int64(n int64) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, n, 10) +} + +func (w *Writer) Uint8Str(n uint8) { + w.Buffer.EnsureSpace(3) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint16Str(n uint16) { + w.Buffer.EnsureSpace(5) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint32Str(n uint32) { + w.Buffer.EnsureSpace(10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) UintStr(n uint) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint64Str(n uint64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, n, 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) UintptrStr(n uintptr) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int8Str(n int8) { + w.Buffer.EnsureSpace(4) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int16Str(n int16) { + w.Buffer.EnsureSpace(6) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int32Str(n int32) { + w.Buffer.EnsureSpace(11) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) IntStr(n int) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int64Str(n int64) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, n, 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Float32(n float32) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 32) +} + +func (w *Writer) Float32Str(n float32) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 32) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Float64(n float64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, n, 'g', -1, 64) +} + +func (w *Writer) Float64Str(n float64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 64) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Bool(v bool) { + w.Buffer.EnsureSpace(5) + if v { + w.Buffer.Buf = append(w.Buffer.Buf, "true"...) + } else { + w.Buffer.Buf = append(w.Buffer.Buf, "false"...) + } +} + +const chars = "0123456789abcdef" + +func getTable(falseValues ...int) [128]bool { + table := [128]bool{} + + for i := 0; i < 128; i++ { + table[i] = true + } + + for _, v := range falseValues { + table[v] = false + } + + return table +} + +var ( + htmlEscapeTable = getTable(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, '"', '&', '<', '>', '\\') + htmlNoEscapeTable = getTable(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, '"', '\\') +) + +func (w *Writer) String(s string) { + w.Buffer.AppendByte('"') + + // Portions of the string that contain no escapes are appended as + // byte slices. + + p := 0 // last non-escape symbol + + escapeTable := &htmlEscapeTable + if w.NoEscapeHTML { + escapeTable = &htmlNoEscapeTable + } + + for i := 0; i < len(s); { + c := s[i] + + if c < utf8.RuneSelf { + if escapeTable[c] { + // single-width character, no escaping is required + i++ + continue + } + + w.Buffer.AppendString(s[p:i]) + switch c { + case '\t': + w.Buffer.AppendString(`\t`) + case '\r': + w.Buffer.AppendString(`\r`) + case '\n': + w.Buffer.AppendString(`\n`) + case '\\': + w.Buffer.AppendString(`\\`) + case '"': + w.Buffer.AppendString(`\"`) + default: + w.Buffer.AppendString(`\u00`) + w.Buffer.AppendByte(chars[c>>4]) + w.Buffer.AppendByte(chars[c&0xf]) + } + + i++ + p = i + continue + } + + // broken utf + runeValue, runeWidth := utf8.DecodeRuneInString(s[i:]) + if runeValue == utf8.RuneError && runeWidth == 1 { + w.Buffer.AppendString(s[p:i]) + w.Buffer.AppendString(`\ufffd`) + i++ + p = i + continue + } + + // jsonp stuff - tab separator and line separator + if runeValue == '\u2028' || runeValue == '\u2029' { + w.Buffer.AppendString(s[p:i]) + w.Buffer.AppendString(`\u202`) + w.Buffer.AppendByte(chars[runeValue&0xf]) + i += runeWidth + p = i + continue + } + i += runeWidth + } + w.Buffer.AppendString(s[p:]) + w.Buffer.AppendByte('"') +} + +const encode = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" +const padChar = '=' + +func (w *Writer) base64(in []byte) { + + if len(in) == 0 { + return + } + + w.Buffer.EnsureSpace(((len(in)-1)/3 + 1) * 4) + + si := 0 + n := (len(in) / 3) * 3 + + for si < n { + // Convert 3x 8bit source bytes into 4 bytes + val := uint(in[si+0])<<16 | uint(in[si+1])<<8 | uint(in[si+2]) + + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>18&0x3F], encode[val>>12&0x3F], encode[val>>6&0x3F], encode[val&0x3F]) + + si += 3 + } + + remain := len(in) - si + if remain == 0 { + return + } + + // Add the remaining small block + val := uint(in[si+0]) << 16 + if remain == 2 { + val |= uint(in[si+1]) << 8 + } + + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>18&0x3F], encode[val>>12&0x3F]) + + switch remain { + case 2: + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>6&0x3F], byte(padChar)) + case 1: + w.Buffer.Buf = append(w.Buffer.Buf, byte(padChar), byte(padChar)) + } +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/LICENSE b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeAutoscaleGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeAutoscaleGroup.go new file mode 100644 index 000000000..59690d866 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeAutoscaleGroup.go @@ -0,0 +1,300 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeAutoscaleGroup struct { + pulumi.CustomResourceState + + // Cooldown value + Cooldown pulumi.IntOutput `pulumi:"cooldown"` + HealthCheck pulumi.StringMapOutput `pulumi:"healthCheck"` + // Maximum member count + MaximumMemberCount pulumi.IntOutput `pulumi:"maximumMemberCount"` + // Minimum member count + MinimumMemberCount pulumi.IntOutput `pulumi:"minimumMemberCount"` + // Name + Name pulumi.StringOutput `pulumi:"name"` + // List of network VLAN ids + NetworkVlanIds pulumi.IntArrayOutput `pulumi:"networkVlanIds"` + // Port number + Port pulumi.IntPtrOutput `pulumi:"port"` + // regional group + RegionalGroup pulumi.StringOutput `pulumi:"regionalGroup"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Termination policy + TerminationPolicy pulumi.StringOutput `pulumi:"terminationPolicy"` + // Virtual guest member template + VirtualGuestMemberTemplates ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput `pulumi:"virtualGuestMemberTemplates"` + // virtual server ID + VirtualServerId pulumi.IntPtrOutput `pulumi:"virtualServerId"` +} + +// NewComputeAutoscaleGroup registers a new resource with the given unique name, arguments, and options. +func NewComputeAutoscaleGroup(ctx *pulumi.Context, + name string, args *ComputeAutoscaleGroupArgs, opts ...pulumi.ResourceOption) (*ComputeAutoscaleGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Cooldown == nil { + return nil, errors.New("invalid value for required argument 'Cooldown'") + } + if args.MaximumMemberCount == nil { + return nil, errors.New("invalid value for required argument 'MaximumMemberCount'") + } + if args.MinimumMemberCount == nil { + return nil, errors.New("invalid value for required argument 'MinimumMemberCount'") + } + if args.RegionalGroup == nil { + return nil, errors.New("invalid value for required argument 'RegionalGroup'") + } + if args.TerminationPolicy == nil { + return nil, errors.New("invalid value for required argument 'TerminationPolicy'") + } + if args.VirtualGuestMemberTemplates == nil { + return nil, errors.New("invalid value for required argument 'VirtualGuestMemberTemplates'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeAutoscaleGroup + err := ctx.RegisterResource("ibmcloud:index/computeAutoscaleGroup:ComputeAutoscaleGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeAutoscaleGroup gets an existing ComputeAutoscaleGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeAutoscaleGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeAutoscaleGroupState, opts ...pulumi.ResourceOption) (*ComputeAutoscaleGroup, error) { + var resource ComputeAutoscaleGroup + err := ctx.ReadResource("ibmcloud:index/computeAutoscaleGroup:ComputeAutoscaleGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeAutoscaleGroup resources. +type computeAutoscaleGroupState struct { + // Cooldown value + Cooldown *int `pulumi:"cooldown"` + HealthCheck map[string]string `pulumi:"healthCheck"` + // Maximum member count + MaximumMemberCount *int `pulumi:"maximumMemberCount"` + // Minimum member count + MinimumMemberCount *int `pulumi:"minimumMemberCount"` + // Name + Name *string `pulumi:"name"` + // List of network VLAN ids + NetworkVlanIds []int `pulumi:"networkVlanIds"` + // Port number + Port *int `pulumi:"port"` + // regional group + RegionalGroup *string `pulumi:"regionalGroup"` + // List of tags + Tags []string `pulumi:"tags"` + // Termination policy + TerminationPolicy *string `pulumi:"terminationPolicy"` + // Virtual guest member template + VirtualGuestMemberTemplates []ComputeAutoscaleGroupVirtualGuestMemberTemplate `pulumi:"virtualGuestMemberTemplates"` + // virtual server ID + VirtualServerId *int `pulumi:"virtualServerId"` +} + +type ComputeAutoscaleGroupState struct { + // Cooldown value + Cooldown pulumi.IntPtrInput + HealthCheck pulumi.StringMapInput + // Maximum member count + MaximumMemberCount pulumi.IntPtrInput + // Minimum member count + MinimumMemberCount pulumi.IntPtrInput + // Name + Name pulumi.StringPtrInput + // List of network VLAN ids + NetworkVlanIds pulumi.IntArrayInput + // Port number + Port pulumi.IntPtrInput + // regional group + RegionalGroup pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput + // Termination policy + TerminationPolicy pulumi.StringPtrInput + // Virtual guest member template + VirtualGuestMemberTemplates ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayInput + // virtual server ID + VirtualServerId pulumi.IntPtrInput +} + +func (ComputeAutoscaleGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*computeAutoscaleGroupState)(nil)).Elem() +} + +type computeAutoscaleGroupArgs struct { + // Cooldown value + Cooldown int `pulumi:"cooldown"` + HealthCheck map[string]string `pulumi:"healthCheck"` + // Maximum member count + MaximumMemberCount int `pulumi:"maximumMemberCount"` + // Minimum member count + MinimumMemberCount int `pulumi:"minimumMemberCount"` + // Name + Name *string `pulumi:"name"` + // List of network VLAN ids + NetworkVlanIds []int `pulumi:"networkVlanIds"` + // Port number + Port *int `pulumi:"port"` + // regional group + RegionalGroup string `pulumi:"regionalGroup"` + // List of tags + Tags []string `pulumi:"tags"` + // Termination policy + TerminationPolicy string `pulumi:"terminationPolicy"` + // Virtual guest member template + VirtualGuestMemberTemplates []ComputeAutoscaleGroupVirtualGuestMemberTemplate `pulumi:"virtualGuestMemberTemplates"` + // virtual server ID + VirtualServerId *int `pulumi:"virtualServerId"` +} + +// The set of arguments for constructing a ComputeAutoscaleGroup resource. +type ComputeAutoscaleGroupArgs struct { + // Cooldown value + Cooldown pulumi.IntInput + HealthCheck pulumi.StringMapInput + // Maximum member count + MaximumMemberCount pulumi.IntInput + // Minimum member count + MinimumMemberCount pulumi.IntInput + // Name + Name pulumi.StringPtrInput + // List of network VLAN ids + NetworkVlanIds pulumi.IntArrayInput + // Port number + Port pulumi.IntPtrInput + // regional group + RegionalGroup pulumi.StringInput + // List of tags + Tags pulumi.StringArrayInput + // Termination policy + TerminationPolicy pulumi.StringInput + // Virtual guest member template + VirtualGuestMemberTemplates ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayInput + // virtual server ID + VirtualServerId pulumi.IntPtrInput +} + +func (ComputeAutoscaleGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeAutoscaleGroupArgs)(nil)).Elem() +} + +type ComputeAutoscaleGroupInput interface { + pulumi.Input + + ToComputeAutoscaleGroupOutput() ComputeAutoscaleGroupOutput + ToComputeAutoscaleGroupOutputWithContext(ctx context.Context) ComputeAutoscaleGroupOutput +} + +func (*ComputeAutoscaleGroup) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeAutoscaleGroup)(nil)).Elem() +} + +func (i *ComputeAutoscaleGroup) ToComputeAutoscaleGroupOutput() ComputeAutoscaleGroupOutput { + return i.ToComputeAutoscaleGroupOutputWithContext(context.Background()) +} + +func (i *ComputeAutoscaleGroup) ToComputeAutoscaleGroupOutputWithContext(ctx context.Context) ComputeAutoscaleGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscaleGroupOutput) +} + +type ComputeAutoscaleGroupOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscaleGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeAutoscaleGroup)(nil)).Elem() +} + +func (o ComputeAutoscaleGroupOutput) ToComputeAutoscaleGroupOutput() ComputeAutoscaleGroupOutput { + return o +} + +func (o ComputeAutoscaleGroupOutput) ToComputeAutoscaleGroupOutputWithContext(ctx context.Context) ComputeAutoscaleGroupOutput { + return o +} + +// Cooldown value +func (o ComputeAutoscaleGroupOutput) Cooldown() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.IntOutput { return v.Cooldown }).(pulumi.IntOutput) +} + +func (o ComputeAutoscaleGroupOutput) HealthCheck() pulumi.StringMapOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.StringMapOutput { return v.HealthCheck }).(pulumi.StringMapOutput) +} + +// Maximum member count +func (o ComputeAutoscaleGroupOutput) MaximumMemberCount() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.IntOutput { return v.MaximumMemberCount }).(pulumi.IntOutput) +} + +// Minimum member count +func (o ComputeAutoscaleGroupOutput) MinimumMemberCount() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.IntOutput { return v.MinimumMemberCount }).(pulumi.IntOutput) +} + +// Name +func (o ComputeAutoscaleGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// List of network VLAN ids +func (o ComputeAutoscaleGroupOutput) NetworkVlanIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.IntArrayOutput { return v.NetworkVlanIds }).(pulumi.IntArrayOutput) +} + +// Port number +func (o ComputeAutoscaleGroupOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.IntPtrOutput { return v.Port }).(pulumi.IntPtrOutput) +} + +// regional group +func (o ComputeAutoscaleGroupOutput) RegionalGroup() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.StringOutput { return v.RegionalGroup }).(pulumi.StringOutput) +} + +// List of tags +func (o ComputeAutoscaleGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Termination policy +func (o ComputeAutoscaleGroupOutput) TerminationPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.StringOutput { return v.TerminationPolicy }).(pulumi.StringOutput) +} + +// Virtual guest member template +func (o ComputeAutoscaleGroupOutput) VirtualGuestMemberTemplates() ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput { + return v.VirtualGuestMemberTemplates + }).(ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput) +} + +// virtual server ID +func (o ComputeAutoscaleGroupOutput) VirtualServerId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeAutoscaleGroup) pulumi.IntPtrOutput { return v.VirtualServerId }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscaleGroupInput)(nil)).Elem(), &ComputeAutoscaleGroup{}) + pulumi.RegisterOutputType(ComputeAutoscaleGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeAutoscalePolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeAutoscalePolicy.go new file mode 100644 index 000000000..8ea328be6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeAutoscalePolicy.go @@ -0,0 +1,214 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeAutoscalePolicy struct { + pulumi.CustomResourceState + + // cooldown value + Cooldown pulumi.IntPtrOutput `pulumi:"cooldown"` + // Name + Name pulumi.StringOutput `pulumi:"name"` + // Scale amount + ScaleAmount pulumi.IntOutput `pulumi:"scaleAmount"` + // scale group ID + ScaleGroupId pulumi.IntOutput `pulumi:"scaleGroupId"` + // scale type + ScaleType pulumi.StringOutput `pulumi:"scaleType"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` + Triggers ComputeAutoscalePolicyTriggerArrayOutput `pulumi:"triggers"` +} + +// NewComputeAutoscalePolicy registers a new resource with the given unique name, arguments, and options. +func NewComputeAutoscalePolicy(ctx *pulumi.Context, + name string, args *ComputeAutoscalePolicyArgs, opts ...pulumi.ResourceOption) (*ComputeAutoscalePolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ScaleAmount == nil { + return nil, errors.New("invalid value for required argument 'ScaleAmount'") + } + if args.ScaleGroupId == nil { + return nil, errors.New("invalid value for required argument 'ScaleGroupId'") + } + if args.ScaleType == nil { + return nil, errors.New("invalid value for required argument 'ScaleType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeAutoscalePolicy + err := ctx.RegisterResource("ibmcloud:index/computeAutoscalePolicy:ComputeAutoscalePolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeAutoscalePolicy gets an existing ComputeAutoscalePolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeAutoscalePolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeAutoscalePolicyState, opts ...pulumi.ResourceOption) (*ComputeAutoscalePolicy, error) { + var resource ComputeAutoscalePolicy + err := ctx.ReadResource("ibmcloud:index/computeAutoscalePolicy:ComputeAutoscalePolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeAutoscalePolicy resources. +type computeAutoscalePolicyState struct { + // cooldown value + Cooldown *int `pulumi:"cooldown"` + // Name + Name *string `pulumi:"name"` + // Scale amount + ScaleAmount *int `pulumi:"scaleAmount"` + // scale group ID + ScaleGroupId *int `pulumi:"scaleGroupId"` + // scale type + ScaleType *string `pulumi:"scaleType"` + // List of tags + Tags []string `pulumi:"tags"` + Triggers []ComputeAutoscalePolicyTrigger `pulumi:"triggers"` +} + +type ComputeAutoscalePolicyState struct { + // cooldown value + Cooldown pulumi.IntPtrInput + // Name + Name pulumi.StringPtrInput + // Scale amount + ScaleAmount pulumi.IntPtrInput + // scale group ID + ScaleGroupId pulumi.IntPtrInput + // scale type + ScaleType pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput + Triggers ComputeAutoscalePolicyTriggerArrayInput +} + +func (ComputeAutoscalePolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*computeAutoscalePolicyState)(nil)).Elem() +} + +type computeAutoscalePolicyArgs struct { + // cooldown value + Cooldown *int `pulumi:"cooldown"` + // Name + Name *string `pulumi:"name"` + // Scale amount + ScaleAmount int `pulumi:"scaleAmount"` + // scale group ID + ScaleGroupId int `pulumi:"scaleGroupId"` + // scale type + ScaleType string `pulumi:"scaleType"` + // List of tags + Tags []string `pulumi:"tags"` + Triggers []ComputeAutoscalePolicyTrigger `pulumi:"triggers"` +} + +// The set of arguments for constructing a ComputeAutoscalePolicy resource. +type ComputeAutoscalePolicyArgs struct { + // cooldown value + Cooldown pulumi.IntPtrInput + // Name + Name pulumi.StringPtrInput + // Scale amount + ScaleAmount pulumi.IntInput + // scale group ID + ScaleGroupId pulumi.IntInput + // scale type + ScaleType pulumi.StringInput + // List of tags + Tags pulumi.StringArrayInput + Triggers ComputeAutoscalePolicyTriggerArrayInput +} + +func (ComputeAutoscalePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeAutoscalePolicyArgs)(nil)).Elem() +} + +type ComputeAutoscalePolicyInput interface { + pulumi.Input + + ToComputeAutoscalePolicyOutput() ComputeAutoscalePolicyOutput + ToComputeAutoscalePolicyOutputWithContext(ctx context.Context) ComputeAutoscalePolicyOutput +} + +func (*ComputeAutoscalePolicy) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeAutoscalePolicy)(nil)).Elem() +} + +func (i *ComputeAutoscalePolicy) ToComputeAutoscalePolicyOutput() ComputeAutoscalePolicyOutput { + return i.ToComputeAutoscalePolicyOutputWithContext(context.Background()) +} + +func (i *ComputeAutoscalePolicy) ToComputeAutoscalePolicyOutputWithContext(ctx context.Context) ComputeAutoscalePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscalePolicyOutput) +} + +type ComputeAutoscalePolicyOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscalePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeAutoscalePolicy)(nil)).Elem() +} + +func (o ComputeAutoscalePolicyOutput) ToComputeAutoscalePolicyOutput() ComputeAutoscalePolicyOutput { + return o +} + +func (o ComputeAutoscalePolicyOutput) ToComputeAutoscalePolicyOutputWithContext(ctx context.Context) ComputeAutoscalePolicyOutput { + return o +} + +// cooldown value +func (o ComputeAutoscalePolicyOutput) Cooldown() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeAutoscalePolicy) pulumi.IntPtrOutput { return v.Cooldown }).(pulumi.IntPtrOutput) +} + +// Name +func (o ComputeAutoscalePolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeAutoscalePolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Scale amount +func (o ComputeAutoscalePolicyOutput) ScaleAmount() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeAutoscalePolicy) pulumi.IntOutput { return v.ScaleAmount }).(pulumi.IntOutput) +} + +// scale group ID +func (o ComputeAutoscalePolicyOutput) ScaleGroupId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeAutoscalePolicy) pulumi.IntOutput { return v.ScaleGroupId }).(pulumi.IntOutput) +} + +// scale type +func (o ComputeAutoscalePolicyOutput) ScaleType() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeAutoscalePolicy) pulumi.StringOutput { return v.ScaleType }).(pulumi.StringOutput) +} + +// List of tags +func (o ComputeAutoscalePolicyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeAutoscalePolicy) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o ComputeAutoscalePolicyOutput) Triggers() ComputeAutoscalePolicyTriggerArrayOutput { + return o.ApplyT(func(v *ComputeAutoscalePolicy) ComputeAutoscalePolicyTriggerArrayOutput { return v.Triggers }).(ComputeAutoscalePolicyTriggerArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscalePolicyInput)(nil)).Elem(), &ComputeAutoscalePolicy{}) + pulumi.RegisterOutputType(ComputeAutoscalePolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeBareMetal.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeBareMetal.go new file mode 100644 index 000000000..083a32b58 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeBareMetal.go @@ -0,0 +1,625 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeBareMetal struct { + pulumi.CustomResourceState + + BlockStorageIds pulumi.IntArrayOutput `pulumi:"blockStorageIds"` + Datacenter pulumi.StringOutput `pulumi:"datacenter"` + DiskKeyNames pulumi.StringArrayOutput `pulumi:"diskKeyNames"` + // Domain name + Domain pulumi.StringOutput `pulumi:"domain"` + ExtendedHardwareTesting pulumi.BoolPtrOutput `pulumi:"extendedHardwareTesting"` + FileStorageIds pulumi.IntArrayOutput `pulumi:"fileStorageIds"` + // Fixed config preset value + FixedConfigPreset pulumi.StringPtrOutput `pulumi:"fixedConfigPreset"` + // The unique global identifier of the bare metal server + GlobalIdentifier pulumi.StringOutput `pulumi:"globalIdentifier"` + GpuKeyName pulumi.StringPtrOutput `pulumi:"gpuKeyName"` + GpuSecondaryKeyName pulumi.StringPtrOutput `pulumi:"gpuSecondaryKeyName"` + // Host name + Hostname pulumi.StringPtrOutput `pulumi:"hostname"` + // Enables hourly billing + HourlyBilling pulumi.BoolPtrOutput `pulumi:"hourlyBilling"` + // OS image template ID + ImageTemplateId pulumi.IntPtrOutput `pulumi:"imageTemplateId"` + Ipv6Address pulumi.StringOutput `pulumi:"ipv6Address"` + Ipv6AddressId pulumi.IntOutput `pulumi:"ipv6AddressId"` + // Boolean value true if IPV6 ia enabled or false + Ipv6Enabled pulumi.BoolPtrOutput `pulumi:"ipv6Enabled"` + // boolean value true if ipv6 static is enabled else false + Ipv6StaticEnabled pulumi.BoolPtrOutput `pulumi:"ipv6StaticEnabled"` + Memory pulumi.IntOutput `pulumi:"memory"` + // Network speed in MBPS + NetworkSpeed pulumi.IntPtrOutput `pulumi:"networkSpeed"` + // Optional notes info + Notes pulumi.StringPtrOutput `pulumi:"notes"` + OsKeyName pulumi.StringPtrOutput `pulumi:"osKeyName"` + // OS refernece code value + OsReferenceCode pulumi.StringOutput `pulumi:"osReferenceCode"` + PackageKeyName pulumi.StringPtrOutput `pulumi:"packageKeyName"` + PostInstallScriptUri pulumi.StringPtrOutput `pulumi:"postInstallScriptUri"` + PrivateIpv4Address pulumi.StringOutput `pulumi:"privateIpv4Address"` + PrivateIpv4AddressId pulumi.IntOutput `pulumi:"privateIpv4AddressId"` + // only private network configured if is true + PrivateNetworkOnly pulumi.BoolPtrOutput `pulumi:"privateNetworkOnly"` + PrivateSubnet pulumi.StringOutput `pulumi:"privateSubnet"` + PrivateVlanId pulumi.IntOutput `pulumi:"privateVlanId"` + ProcessKeyName pulumi.StringPtrOutput `pulumi:"processKeyName"` + PublicBandwidth pulumi.IntOutput `pulumi:"publicBandwidth"` + PublicIpv4Address pulumi.StringOutput `pulumi:"publicIpv4Address"` + PublicIpv4AddressId pulumi.IntOutput `pulumi:"publicIpv4AddressId"` + PublicSubnet pulumi.StringOutput `pulumi:"publicSubnet"` + PublicVlanId pulumi.IntOutput `pulumi:"publicVlanId"` + // Quote ID for Quote based provisioning + QuoteId pulumi.IntPtrOutput `pulumi:"quoteId"` + RedundantNetwork pulumi.BoolPtrOutput `pulumi:"redundantNetwork"` + RedundantPowerSupply pulumi.BoolOutput `pulumi:"redundantPowerSupply"` + RestrictedNetwork pulumi.BoolPtrOutput `pulumi:"restrictedNetwork"` + SecondaryIpAddresses pulumi.StringArrayOutput `pulumi:"secondaryIpAddresses"` + // Secondary IP addresses count + SecondaryIpCount pulumi.IntPtrOutput `pulumi:"secondaryIpCount"` + SoftwareGuardExtensions pulumi.BoolPtrOutput `pulumi:"softwareGuardExtensions"` + // SSH KEY IDS list + SshKeyIds pulumi.IntArrayOutput `pulumi:"sshKeyIds"` + StorageGroups ComputeBareMetalStorageGroupArrayOutput `pulumi:"storageGroups"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // TCP monitoring enabled if set as true + TcpMonitoring pulumi.BoolPtrOutput `pulumi:"tcpMonitoring"` + UnbondedNetwork pulumi.BoolPtrOutput `pulumi:"unbondedNetwork"` + // User metadata info + UserMetadata pulumi.StringPtrOutput `pulumi:"userMetadata"` +} + +// NewComputeBareMetal registers a new resource with the given unique name, arguments, and options. +func NewComputeBareMetal(ctx *pulumi.Context, + name string, args *ComputeBareMetalArgs, opts ...pulumi.ResourceOption) (*ComputeBareMetal, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Domain == nil { + return nil, errors.New("invalid value for required argument 'Domain'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeBareMetal + err := ctx.RegisterResource("ibmcloud:index/computeBareMetal:ComputeBareMetal", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeBareMetal gets an existing ComputeBareMetal resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeBareMetal(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeBareMetalState, opts ...pulumi.ResourceOption) (*ComputeBareMetal, error) { + var resource ComputeBareMetal + err := ctx.ReadResource("ibmcloud:index/computeBareMetal:ComputeBareMetal", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeBareMetal resources. +type computeBareMetalState struct { + BlockStorageIds []int `pulumi:"blockStorageIds"` + Datacenter *string `pulumi:"datacenter"` + DiskKeyNames []string `pulumi:"diskKeyNames"` + // Domain name + Domain *string `pulumi:"domain"` + ExtendedHardwareTesting *bool `pulumi:"extendedHardwareTesting"` + FileStorageIds []int `pulumi:"fileStorageIds"` + // Fixed config preset value + FixedConfigPreset *string `pulumi:"fixedConfigPreset"` + // The unique global identifier of the bare metal server + GlobalIdentifier *string `pulumi:"globalIdentifier"` + GpuKeyName *string `pulumi:"gpuKeyName"` + GpuSecondaryKeyName *string `pulumi:"gpuSecondaryKeyName"` + // Host name + Hostname *string `pulumi:"hostname"` + // Enables hourly billing + HourlyBilling *bool `pulumi:"hourlyBilling"` + // OS image template ID + ImageTemplateId *int `pulumi:"imageTemplateId"` + Ipv6Address *string `pulumi:"ipv6Address"` + Ipv6AddressId *int `pulumi:"ipv6AddressId"` + // Boolean value true if IPV6 ia enabled or false + Ipv6Enabled *bool `pulumi:"ipv6Enabled"` + // boolean value true if ipv6 static is enabled else false + Ipv6StaticEnabled *bool `pulumi:"ipv6StaticEnabled"` + Memory *int `pulumi:"memory"` + // Network speed in MBPS + NetworkSpeed *int `pulumi:"networkSpeed"` + // Optional notes info + Notes *string `pulumi:"notes"` + OsKeyName *string `pulumi:"osKeyName"` + // OS refernece code value + OsReferenceCode *string `pulumi:"osReferenceCode"` + PackageKeyName *string `pulumi:"packageKeyName"` + PostInstallScriptUri *string `pulumi:"postInstallScriptUri"` + PrivateIpv4Address *string `pulumi:"privateIpv4Address"` + PrivateIpv4AddressId *int `pulumi:"privateIpv4AddressId"` + // only private network configured if is true + PrivateNetworkOnly *bool `pulumi:"privateNetworkOnly"` + PrivateSubnet *string `pulumi:"privateSubnet"` + PrivateVlanId *int `pulumi:"privateVlanId"` + ProcessKeyName *string `pulumi:"processKeyName"` + PublicBandwidth *int `pulumi:"publicBandwidth"` + PublicIpv4Address *string `pulumi:"publicIpv4Address"` + PublicIpv4AddressId *int `pulumi:"publicIpv4AddressId"` + PublicSubnet *string `pulumi:"publicSubnet"` + PublicVlanId *int `pulumi:"publicVlanId"` + // Quote ID for Quote based provisioning + QuoteId *int `pulumi:"quoteId"` + RedundantNetwork *bool `pulumi:"redundantNetwork"` + RedundantPowerSupply *bool `pulumi:"redundantPowerSupply"` + RestrictedNetwork *bool `pulumi:"restrictedNetwork"` + SecondaryIpAddresses []string `pulumi:"secondaryIpAddresses"` + // Secondary IP addresses count + SecondaryIpCount *int `pulumi:"secondaryIpCount"` + SoftwareGuardExtensions *bool `pulumi:"softwareGuardExtensions"` + // SSH KEY IDS list + SshKeyIds []int `pulumi:"sshKeyIds"` + StorageGroups []ComputeBareMetalStorageGroup `pulumi:"storageGroups"` + Tags []string `pulumi:"tags"` + // TCP monitoring enabled if set as true + TcpMonitoring *bool `pulumi:"tcpMonitoring"` + UnbondedNetwork *bool `pulumi:"unbondedNetwork"` + // User metadata info + UserMetadata *string `pulumi:"userMetadata"` +} + +type ComputeBareMetalState struct { + BlockStorageIds pulumi.IntArrayInput + Datacenter pulumi.StringPtrInput + DiskKeyNames pulumi.StringArrayInput + // Domain name + Domain pulumi.StringPtrInput + ExtendedHardwareTesting pulumi.BoolPtrInput + FileStorageIds pulumi.IntArrayInput + // Fixed config preset value + FixedConfigPreset pulumi.StringPtrInput + // The unique global identifier of the bare metal server + GlobalIdentifier pulumi.StringPtrInput + GpuKeyName pulumi.StringPtrInput + GpuSecondaryKeyName pulumi.StringPtrInput + // Host name + Hostname pulumi.StringPtrInput + // Enables hourly billing + HourlyBilling pulumi.BoolPtrInput + // OS image template ID + ImageTemplateId pulumi.IntPtrInput + Ipv6Address pulumi.StringPtrInput + Ipv6AddressId pulumi.IntPtrInput + // Boolean value true if IPV6 ia enabled or false + Ipv6Enabled pulumi.BoolPtrInput + // boolean value true if ipv6 static is enabled else false + Ipv6StaticEnabled pulumi.BoolPtrInput + Memory pulumi.IntPtrInput + // Network speed in MBPS + NetworkSpeed pulumi.IntPtrInput + // Optional notes info + Notes pulumi.StringPtrInput + OsKeyName pulumi.StringPtrInput + // OS refernece code value + OsReferenceCode pulumi.StringPtrInput + PackageKeyName pulumi.StringPtrInput + PostInstallScriptUri pulumi.StringPtrInput + PrivateIpv4Address pulumi.StringPtrInput + PrivateIpv4AddressId pulumi.IntPtrInput + // only private network configured if is true + PrivateNetworkOnly pulumi.BoolPtrInput + PrivateSubnet pulumi.StringPtrInput + PrivateVlanId pulumi.IntPtrInput + ProcessKeyName pulumi.StringPtrInput + PublicBandwidth pulumi.IntPtrInput + PublicIpv4Address pulumi.StringPtrInput + PublicIpv4AddressId pulumi.IntPtrInput + PublicSubnet pulumi.StringPtrInput + PublicVlanId pulumi.IntPtrInput + // Quote ID for Quote based provisioning + QuoteId pulumi.IntPtrInput + RedundantNetwork pulumi.BoolPtrInput + RedundantPowerSupply pulumi.BoolPtrInput + RestrictedNetwork pulumi.BoolPtrInput + SecondaryIpAddresses pulumi.StringArrayInput + // Secondary IP addresses count + SecondaryIpCount pulumi.IntPtrInput + SoftwareGuardExtensions pulumi.BoolPtrInput + // SSH KEY IDS list + SshKeyIds pulumi.IntArrayInput + StorageGroups ComputeBareMetalStorageGroupArrayInput + Tags pulumi.StringArrayInput + // TCP monitoring enabled if set as true + TcpMonitoring pulumi.BoolPtrInput + UnbondedNetwork pulumi.BoolPtrInput + // User metadata info + UserMetadata pulumi.StringPtrInput +} + +func (ComputeBareMetalState) ElementType() reflect.Type { + return reflect.TypeOf((*computeBareMetalState)(nil)).Elem() +} + +type computeBareMetalArgs struct { + BlockStorageIds []int `pulumi:"blockStorageIds"` + Datacenter *string `pulumi:"datacenter"` + DiskKeyNames []string `pulumi:"diskKeyNames"` + // Domain name + Domain string `pulumi:"domain"` + ExtendedHardwareTesting *bool `pulumi:"extendedHardwareTesting"` + FileStorageIds []int `pulumi:"fileStorageIds"` + // Fixed config preset value + FixedConfigPreset *string `pulumi:"fixedConfigPreset"` + GpuKeyName *string `pulumi:"gpuKeyName"` + GpuSecondaryKeyName *string `pulumi:"gpuSecondaryKeyName"` + // Host name + Hostname *string `pulumi:"hostname"` + // Enables hourly billing + HourlyBilling *bool `pulumi:"hourlyBilling"` + // OS image template ID + ImageTemplateId *int `pulumi:"imageTemplateId"` + // Boolean value true if IPV6 ia enabled or false + Ipv6Enabled *bool `pulumi:"ipv6Enabled"` + // boolean value true if ipv6 static is enabled else false + Ipv6StaticEnabled *bool `pulumi:"ipv6StaticEnabled"` + Memory *int `pulumi:"memory"` + // Network speed in MBPS + NetworkSpeed *int `pulumi:"networkSpeed"` + // Optional notes info + Notes *string `pulumi:"notes"` + OsKeyName *string `pulumi:"osKeyName"` + // OS refernece code value + OsReferenceCode *string `pulumi:"osReferenceCode"` + PackageKeyName *string `pulumi:"packageKeyName"` + PostInstallScriptUri *string `pulumi:"postInstallScriptUri"` + // only private network configured if is true + PrivateNetworkOnly *bool `pulumi:"privateNetworkOnly"` + PrivateSubnet *string `pulumi:"privateSubnet"` + PrivateVlanId *int `pulumi:"privateVlanId"` + ProcessKeyName *string `pulumi:"processKeyName"` + PublicBandwidth *int `pulumi:"publicBandwidth"` + PublicSubnet *string `pulumi:"publicSubnet"` + PublicVlanId *int `pulumi:"publicVlanId"` + // Quote ID for Quote based provisioning + QuoteId *int `pulumi:"quoteId"` + RedundantNetwork *bool `pulumi:"redundantNetwork"` + RedundantPowerSupply *bool `pulumi:"redundantPowerSupply"` + RestrictedNetwork *bool `pulumi:"restrictedNetwork"` + // Secondary IP addresses count + SecondaryIpCount *int `pulumi:"secondaryIpCount"` + SoftwareGuardExtensions *bool `pulumi:"softwareGuardExtensions"` + // SSH KEY IDS list + SshKeyIds []int `pulumi:"sshKeyIds"` + StorageGroups []ComputeBareMetalStorageGroup `pulumi:"storageGroups"` + Tags []string `pulumi:"tags"` + // TCP monitoring enabled if set as true + TcpMonitoring *bool `pulumi:"tcpMonitoring"` + UnbondedNetwork *bool `pulumi:"unbondedNetwork"` + // User metadata info + UserMetadata *string `pulumi:"userMetadata"` +} + +// The set of arguments for constructing a ComputeBareMetal resource. +type ComputeBareMetalArgs struct { + BlockStorageIds pulumi.IntArrayInput + Datacenter pulumi.StringPtrInput + DiskKeyNames pulumi.StringArrayInput + // Domain name + Domain pulumi.StringInput + ExtendedHardwareTesting pulumi.BoolPtrInput + FileStorageIds pulumi.IntArrayInput + // Fixed config preset value + FixedConfigPreset pulumi.StringPtrInput + GpuKeyName pulumi.StringPtrInput + GpuSecondaryKeyName pulumi.StringPtrInput + // Host name + Hostname pulumi.StringPtrInput + // Enables hourly billing + HourlyBilling pulumi.BoolPtrInput + // OS image template ID + ImageTemplateId pulumi.IntPtrInput + // Boolean value true if IPV6 ia enabled or false + Ipv6Enabled pulumi.BoolPtrInput + // boolean value true if ipv6 static is enabled else false + Ipv6StaticEnabled pulumi.BoolPtrInput + Memory pulumi.IntPtrInput + // Network speed in MBPS + NetworkSpeed pulumi.IntPtrInput + // Optional notes info + Notes pulumi.StringPtrInput + OsKeyName pulumi.StringPtrInput + // OS refernece code value + OsReferenceCode pulumi.StringPtrInput + PackageKeyName pulumi.StringPtrInput + PostInstallScriptUri pulumi.StringPtrInput + // only private network configured if is true + PrivateNetworkOnly pulumi.BoolPtrInput + PrivateSubnet pulumi.StringPtrInput + PrivateVlanId pulumi.IntPtrInput + ProcessKeyName pulumi.StringPtrInput + PublicBandwidth pulumi.IntPtrInput + PublicSubnet pulumi.StringPtrInput + PublicVlanId pulumi.IntPtrInput + // Quote ID for Quote based provisioning + QuoteId pulumi.IntPtrInput + RedundantNetwork pulumi.BoolPtrInput + RedundantPowerSupply pulumi.BoolPtrInput + RestrictedNetwork pulumi.BoolPtrInput + // Secondary IP addresses count + SecondaryIpCount pulumi.IntPtrInput + SoftwareGuardExtensions pulumi.BoolPtrInput + // SSH KEY IDS list + SshKeyIds pulumi.IntArrayInput + StorageGroups ComputeBareMetalStorageGroupArrayInput + Tags pulumi.StringArrayInput + // TCP monitoring enabled if set as true + TcpMonitoring pulumi.BoolPtrInput + UnbondedNetwork pulumi.BoolPtrInput + // User metadata info + UserMetadata pulumi.StringPtrInput +} + +func (ComputeBareMetalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeBareMetalArgs)(nil)).Elem() +} + +type ComputeBareMetalInput interface { + pulumi.Input + + ToComputeBareMetalOutput() ComputeBareMetalOutput + ToComputeBareMetalOutputWithContext(ctx context.Context) ComputeBareMetalOutput +} + +func (*ComputeBareMetal) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeBareMetal)(nil)).Elem() +} + +func (i *ComputeBareMetal) ToComputeBareMetalOutput() ComputeBareMetalOutput { + return i.ToComputeBareMetalOutputWithContext(context.Background()) +} + +func (i *ComputeBareMetal) ToComputeBareMetalOutputWithContext(ctx context.Context) ComputeBareMetalOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeBareMetalOutput) +} + +type ComputeBareMetalOutput struct{ *pulumi.OutputState } + +func (ComputeBareMetalOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeBareMetal)(nil)).Elem() +} + +func (o ComputeBareMetalOutput) ToComputeBareMetalOutput() ComputeBareMetalOutput { + return o +} + +func (o ComputeBareMetalOutput) ToComputeBareMetalOutputWithContext(ctx context.Context) ComputeBareMetalOutput { + return o +} + +func (o ComputeBareMetalOutput) BlockStorageIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntArrayOutput { return v.BlockStorageIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeBareMetalOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.Datacenter }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) DiskKeyNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringArrayOutput { return v.DiskKeyNames }).(pulumi.StringArrayOutput) +} + +// Domain name +func (o ComputeBareMetalOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) ExtendedHardwareTesting() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.ExtendedHardwareTesting }).(pulumi.BoolPtrOutput) +} + +func (o ComputeBareMetalOutput) FileStorageIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntArrayOutput { return v.FileStorageIds }).(pulumi.IntArrayOutput) +} + +// Fixed config preset value +func (o ComputeBareMetalOutput) FixedConfigPreset() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.FixedConfigPreset }).(pulumi.StringPtrOutput) +} + +// The unique global identifier of the bare metal server +func (o ComputeBareMetalOutput) GlobalIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.GlobalIdentifier }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) GpuKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.GpuKeyName }).(pulumi.StringPtrOutput) +} + +func (o ComputeBareMetalOutput) GpuSecondaryKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.GpuSecondaryKeyName }).(pulumi.StringPtrOutput) +} + +// Host name +func (o ComputeBareMetalOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.Hostname }).(pulumi.StringPtrOutput) +} + +// Enables hourly billing +func (o ComputeBareMetalOutput) HourlyBilling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.HourlyBilling }).(pulumi.BoolPtrOutput) +} + +// OS image template ID +func (o ComputeBareMetalOutput) ImageTemplateId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntPtrOutput { return v.ImageTemplateId }).(pulumi.IntPtrOutput) +} + +func (o ComputeBareMetalOutput) Ipv6Address() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.Ipv6Address }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) Ipv6AddressId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntOutput { return v.Ipv6AddressId }).(pulumi.IntOutput) +} + +// Boolean value true if IPV6 ia enabled or false +func (o ComputeBareMetalOutput) Ipv6Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.Ipv6Enabled }).(pulumi.BoolPtrOutput) +} + +// boolean value true if ipv6 static is enabled else false +func (o ComputeBareMetalOutput) Ipv6StaticEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.Ipv6StaticEnabled }).(pulumi.BoolPtrOutput) +} + +func (o ComputeBareMetalOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntOutput { return v.Memory }).(pulumi.IntOutput) +} + +// Network speed in MBPS +func (o ComputeBareMetalOutput) NetworkSpeed() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntPtrOutput { return v.NetworkSpeed }).(pulumi.IntPtrOutput) +} + +// Optional notes info +func (o ComputeBareMetalOutput) Notes() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.Notes }).(pulumi.StringPtrOutput) +} + +func (o ComputeBareMetalOutput) OsKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.OsKeyName }).(pulumi.StringPtrOutput) +} + +// OS refernece code value +func (o ComputeBareMetalOutput) OsReferenceCode() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.OsReferenceCode }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) PackageKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.PackageKeyName }).(pulumi.StringPtrOutput) +} + +func (o ComputeBareMetalOutput) PostInstallScriptUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.PostInstallScriptUri }).(pulumi.StringPtrOutput) +} + +func (o ComputeBareMetalOutput) PrivateIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.PrivateIpv4Address }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) PrivateIpv4AddressId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntOutput { return v.PrivateIpv4AddressId }).(pulumi.IntOutput) +} + +// only private network configured if is true +func (o ComputeBareMetalOutput) PrivateNetworkOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.PrivateNetworkOnly }).(pulumi.BoolPtrOutput) +} + +func (o ComputeBareMetalOutput) PrivateSubnet() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.PrivateSubnet }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) PrivateVlanId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntOutput { return v.PrivateVlanId }).(pulumi.IntOutput) +} + +func (o ComputeBareMetalOutput) ProcessKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.ProcessKeyName }).(pulumi.StringPtrOutput) +} + +func (o ComputeBareMetalOutput) PublicBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntOutput { return v.PublicBandwidth }).(pulumi.IntOutput) +} + +func (o ComputeBareMetalOutput) PublicIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.PublicIpv4Address }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) PublicIpv4AddressId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntOutput { return v.PublicIpv4AddressId }).(pulumi.IntOutput) +} + +func (o ComputeBareMetalOutput) PublicSubnet() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringOutput { return v.PublicSubnet }).(pulumi.StringOutput) +} + +func (o ComputeBareMetalOutput) PublicVlanId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntOutput { return v.PublicVlanId }).(pulumi.IntOutput) +} + +// Quote ID for Quote based provisioning +func (o ComputeBareMetalOutput) QuoteId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntPtrOutput { return v.QuoteId }).(pulumi.IntPtrOutput) +} + +func (o ComputeBareMetalOutput) RedundantNetwork() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.RedundantNetwork }).(pulumi.BoolPtrOutput) +} + +func (o ComputeBareMetalOutput) RedundantPowerSupply() pulumi.BoolOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolOutput { return v.RedundantPowerSupply }).(pulumi.BoolOutput) +} + +func (o ComputeBareMetalOutput) RestrictedNetwork() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.RestrictedNetwork }).(pulumi.BoolPtrOutput) +} + +func (o ComputeBareMetalOutput) SecondaryIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringArrayOutput { return v.SecondaryIpAddresses }).(pulumi.StringArrayOutput) +} + +// Secondary IP addresses count +func (o ComputeBareMetalOutput) SecondaryIpCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntPtrOutput { return v.SecondaryIpCount }).(pulumi.IntPtrOutput) +} + +func (o ComputeBareMetalOutput) SoftwareGuardExtensions() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.SoftwareGuardExtensions }).(pulumi.BoolPtrOutput) +} + +// SSH KEY IDS list +func (o ComputeBareMetalOutput) SshKeyIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.IntArrayOutput { return v.SshKeyIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeBareMetalOutput) StorageGroups() ComputeBareMetalStorageGroupArrayOutput { + return o.ApplyT(func(v *ComputeBareMetal) ComputeBareMetalStorageGroupArrayOutput { return v.StorageGroups }).(ComputeBareMetalStorageGroupArrayOutput) +} + +func (o ComputeBareMetalOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// TCP monitoring enabled if set as true +func (o ComputeBareMetalOutput) TcpMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.TcpMonitoring }).(pulumi.BoolPtrOutput) +} + +func (o ComputeBareMetalOutput) UnbondedNetwork() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.BoolPtrOutput { return v.UnbondedNetwork }).(pulumi.BoolPtrOutput) +} + +// User metadata info +func (o ComputeBareMetalOutput) UserMetadata() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeBareMetal) pulumi.StringPtrOutput { return v.UserMetadata }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeBareMetalInput)(nil)).Elem(), &ComputeBareMetal{}) + pulumi.RegisterOutputType(ComputeBareMetalOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeDedicatedHost.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeDedicatedHost.go new file mode 100644 index 000000000..8580b32aa --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeDedicatedHost.go @@ -0,0 +1,259 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeDedicatedHost struct { + pulumi.CustomResourceState + + // The capacity that the dedicated host's CPU allocation is restricted to. + CpuCount pulumi.IntOutput `pulumi:"cpuCount"` + // The data center in which the dedicatated host is to be provisioned. + Datacenter pulumi.StringOutput `pulumi:"datacenter"` + // The capacity that the dedicated host's disk allocation is restricted to. + DiskCapacity pulumi.IntOutput `pulumi:"diskCapacity"` + // The domain of dedicatated host. + Domain pulumi.StringOutput `pulumi:"domain"` + // The flavor of the dedicatated host. + Flavor pulumi.StringPtrOutput `pulumi:"flavor"` + // The host name of dedicatated host. + Hostname pulumi.StringOutput `pulumi:"hostname"` + // The billing type for the dedicatated host. + HourlyBilling pulumi.BoolPtrOutput `pulumi:"hourlyBilling"` + // The capacity that the dedicated host's memory allocation is restricted to. + MemoryCapacity pulumi.IntOutput `pulumi:"memoryCapacity"` + // The hostname of the primary router that the dedicated host is associated with. + RouterHostname pulumi.StringOutput `pulumi:"routerHostname"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + WaitTimeMinutes pulumi.IntPtrOutput `pulumi:"waitTimeMinutes"` +} + +// NewComputeDedicatedHost registers a new resource with the given unique name, arguments, and options. +func NewComputeDedicatedHost(ctx *pulumi.Context, + name string, args *ComputeDedicatedHostArgs, opts ...pulumi.ResourceOption) (*ComputeDedicatedHost, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Datacenter == nil { + return nil, errors.New("invalid value for required argument 'Datacenter'") + } + if args.Domain == nil { + return nil, errors.New("invalid value for required argument 'Domain'") + } + if args.Hostname == nil { + return nil, errors.New("invalid value for required argument 'Hostname'") + } + if args.RouterHostname == nil { + return nil, errors.New("invalid value for required argument 'RouterHostname'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeDedicatedHost + err := ctx.RegisterResource("ibmcloud:index/computeDedicatedHost:ComputeDedicatedHost", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeDedicatedHost gets an existing ComputeDedicatedHost resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeDedicatedHost(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeDedicatedHostState, opts ...pulumi.ResourceOption) (*ComputeDedicatedHost, error) { + var resource ComputeDedicatedHost + err := ctx.ReadResource("ibmcloud:index/computeDedicatedHost:ComputeDedicatedHost", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeDedicatedHost resources. +type computeDedicatedHostState struct { + // The capacity that the dedicated host's CPU allocation is restricted to. + CpuCount *int `pulumi:"cpuCount"` + // The data center in which the dedicatated host is to be provisioned. + Datacenter *string `pulumi:"datacenter"` + // The capacity that the dedicated host's disk allocation is restricted to. + DiskCapacity *int `pulumi:"diskCapacity"` + // The domain of dedicatated host. + Domain *string `pulumi:"domain"` + // The flavor of the dedicatated host. + Flavor *string `pulumi:"flavor"` + // The host name of dedicatated host. + Hostname *string `pulumi:"hostname"` + // The billing type for the dedicatated host. + HourlyBilling *bool `pulumi:"hourlyBilling"` + // The capacity that the dedicated host's memory allocation is restricted to. + MemoryCapacity *int `pulumi:"memoryCapacity"` + // The hostname of the primary router that the dedicated host is associated with. + RouterHostname *string `pulumi:"routerHostname"` + Tags []string `pulumi:"tags"` + WaitTimeMinutes *int `pulumi:"waitTimeMinutes"` +} + +type ComputeDedicatedHostState struct { + // The capacity that the dedicated host's CPU allocation is restricted to. + CpuCount pulumi.IntPtrInput + // The data center in which the dedicatated host is to be provisioned. + Datacenter pulumi.StringPtrInput + // The capacity that the dedicated host's disk allocation is restricted to. + DiskCapacity pulumi.IntPtrInput + // The domain of dedicatated host. + Domain pulumi.StringPtrInput + // The flavor of the dedicatated host. + Flavor pulumi.StringPtrInput + // The host name of dedicatated host. + Hostname pulumi.StringPtrInput + // The billing type for the dedicatated host. + HourlyBilling pulumi.BoolPtrInput + // The capacity that the dedicated host's memory allocation is restricted to. + MemoryCapacity pulumi.IntPtrInput + // The hostname of the primary router that the dedicated host is associated with. + RouterHostname pulumi.StringPtrInput + Tags pulumi.StringArrayInput + WaitTimeMinutes pulumi.IntPtrInput +} + +func (ComputeDedicatedHostState) ElementType() reflect.Type { + return reflect.TypeOf((*computeDedicatedHostState)(nil)).Elem() +} + +type computeDedicatedHostArgs struct { + // The data center in which the dedicatated host is to be provisioned. + Datacenter string `pulumi:"datacenter"` + // The domain of dedicatated host. + Domain string `pulumi:"domain"` + // The flavor of the dedicatated host. + Flavor *string `pulumi:"flavor"` + // The host name of dedicatated host. + Hostname string `pulumi:"hostname"` + // The billing type for the dedicatated host. + HourlyBilling *bool `pulumi:"hourlyBilling"` + // The hostname of the primary router that the dedicated host is associated with. + RouterHostname string `pulumi:"routerHostname"` + Tags []string `pulumi:"tags"` + WaitTimeMinutes *int `pulumi:"waitTimeMinutes"` +} + +// The set of arguments for constructing a ComputeDedicatedHost resource. +type ComputeDedicatedHostArgs struct { + // The data center in which the dedicatated host is to be provisioned. + Datacenter pulumi.StringInput + // The domain of dedicatated host. + Domain pulumi.StringInput + // The flavor of the dedicatated host. + Flavor pulumi.StringPtrInput + // The host name of dedicatated host. + Hostname pulumi.StringInput + // The billing type for the dedicatated host. + HourlyBilling pulumi.BoolPtrInput + // The hostname of the primary router that the dedicated host is associated with. + RouterHostname pulumi.StringInput + Tags pulumi.StringArrayInput + WaitTimeMinutes pulumi.IntPtrInput +} + +func (ComputeDedicatedHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeDedicatedHostArgs)(nil)).Elem() +} + +type ComputeDedicatedHostInput interface { + pulumi.Input + + ToComputeDedicatedHostOutput() ComputeDedicatedHostOutput + ToComputeDedicatedHostOutputWithContext(ctx context.Context) ComputeDedicatedHostOutput +} + +func (*ComputeDedicatedHost) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeDedicatedHost)(nil)).Elem() +} + +func (i *ComputeDedicatedHost) ToComputeDedicatedHostOutput() ComputeDedicatedHostOutput { + return i.ToComputeDedicatedHostOutputWithContext(context.Background()) +} + +func (i *ComputeDedicatedHost) ToComputeDedicatedHostOutputWithContext(ctx context.Context) ComputeDedicatedHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeDedicatedHostOutput) +} + +type ComputeDedicatedHostOutput struct{ *pulumi.OutputState } + +func (ComputeDedicatedHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeDedicatedHost)(nil)).Elem() +} + +func (o ComputeDedicatedHostOutput) ToComputeDedicatedHostOutput() ComputeDedicatedHostOutput { + return o +} + +func (o ComputeDedicatedHostOutput) ToComputeDedicatedHostOutputWithContext(ctx context.Context) ComputeDedicatedHostOutput { + return o +} + +// The capacity that the dedicated host's CPU allocation is restricted to. +func (o ComputeDedicatedHostOutput) CpuCount() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.IntOutput { return v.CpuCount }).(pulumi.IntOutput) +} + +// The data center in which the dedicatated host is to be provisioned. +func (o ComputeDedicatedHostOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.StringOutput { return v.Datacenter }).(pulumi.StringOutput) +} + +// The capacity that the dedicated host's disk allocation is restricted to. +func (o ComputeDedicatedHostOutput) DiskCapacity() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.IntOutput { return v.DiskCapacity }).(pulumi.IntOutput) +} + +// The domain of dedicatated host. +func (o ComputeDedicatedHostOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) +} + +// The flavor of the dedicatated host. +func (o ComputeDedicatedHostOutput) Flavor() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.StringPtrOutput { return v.Flavor }).(pulumi.StringPtrOutput) +} + +// The host name of dedicatated host. +func (o ComputeDedicatedHostOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.StringOutput { return v.Hostname }).(pulumi.StringOutput) +} + +// The billing type for the dedicatated host. +func (o ComputeDedicatedHostOutput) HourlyBilling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.BoolPtrOutput { return v.HourlyBilling }).(pulumi.BoolPtrOutput) +} + +// The capacity that the dedicated host's memory allocation is restricted to. +func (o ComputeDedicatedHostOutput) MemoryCapacity() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.IntOutput { return v.MemoryCapacity }).(pulumi.IntOutput) +} + +// The hostname of the primary router that the dedicated host is associated with. +func (o ComputeDedicatedHostOutput) RouterHostname() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.StringOutput { return v.RouterHostname }).(pulumi.StringOutput) +} + +func (o ComputeDedicatedHostOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o ComputeDedicatedHostOutput) WaitTimeMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeDedicatedHost) pulumi.IntPtrOutput { return v.WaitTimeMinutes }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeDedicatedHostInput)(nil)).Elem(), &ComputeDedicatedHost{}) + pulumi.RegisterOutputType(ComputeDedicatedHostOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeMonitor.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeMonitor.go new file mode 100644 index 000000000..a6c2ab64c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeMonitor.go @@ -0,0 +1,220 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeMonitor struct { + pulumi.CustomResourceState + + // Guest ID + GuestId pulumi.IntOutput `pulumi:"guestId"` + // IP Address + IpAddress pulumi.StringPtrOutput `pulumi:"ipAddress"` + // List of users notified + NotifiedUsers pulumi.IntArrayOutput `pulumi:"notifiedUsers"` + // Query Type ID + QueryTypeId pulumi.IntOutput `pulumi:"queryTypeId"` + // Response action ID + ResponseActionId pulumi.IntOutput `pulumi:"responseActionId"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // wait cycles count + WaitCycles pulumi.IntPtrOutput `pulumi:"waitCycles"` +} + +// NewComputeMonitor registers a new resource with the given unique name, arguments, and options. +func NewComputeMonitor(ctx *pulumi.Context, + name string, args *ComputeMonitorArgs, opts ...pulumi.ResourceOption) (*ComputeMonitor, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.GuestId == nil { + return nil, errors.New("invalid value for required argument 'GuestId'") + } + if args.QueryTypeId == nil { + return nil, errors.New("invalid value for required argument 'QueryTypeId'") + } + if args.ResponseActionId == nil { + return nil, errors.New("invalid value for required argument 'ResponseActionId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeMonitor + err := ctx.RegisterResource("ibmcloud:index/computeMonitor:ComputeMonitor", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeMonitor gets an existing ComputeMonitor resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeMonitor(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeMonitorState, opts ...pulumi.ResourceOption) (*ComputeMonitor, error) { + var resource ComputeMonitor + err := ctx.ReadResource("ibmcloud:index/computeMonitor:ComputeMonitor", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeMonitor resources. +type computeMonitorState struct { + // Guest ID + GuestId *int `pulumi:"guestId"` + // IP Address + IpAddress *string `pulumi:"ipAddress"` + // List of users notified + NotifiedUsers []int `pulumi:"notifiedUsers"` + // Query Type ID + QueryTypeId *int `pulumi:"queryTypeId"` + // Response action ID + ResponseActionId *int `pulumi:"responseActionId"` + // List of tags + Tags []string `pulumi:"tags"` + // wait cycles count + WaitCycles *int `pulumi:"waitCycles"` +} + +type ComputeMonitorState struct { + // Guest ID + GuestId pulumi.IntPtrInput + // IP Address + IpAddress pulumi.StringPtrInput + // List of users notified + NotifiedUsers pulumi.IntArrayInput + // Query Type ID + QueryTypeId pulumi.IntPtrInput + // Response action ID + ResponseActionId pulumi.IntPtrInput + // List of tags + Tags pulumi.StringArrayInput + // wait cycles count + WaitCycles pulumi.IntPtrInput +} + +func (ComputeMonitorState) ElementType() reflect.Type { + return reflect.TypeOf((*computeMonitorState)(nil)).Elem() +} + +type computeMonitorArgs struct { + // Guest ID + GuestId int `pulumi:"guestId"` + // IP Address + IpAddress *string `pulumi:"ipAddress"` + // List of users notified + NotifiedUsers []int `pulumi:"notifiedUsers"` + // Query Type ID + QueryTypeId int `pulumi:"queryTypeId"` + // Response action ID + ResponseActionId int `pulumi:"responseActionId"` + // List of tags + Tags []string `pulumi:"tags"` + // wait cycles count + WaitCycles *int `pulumi:"waitCycles"` +} + +// The set of arguments for constructing a ComputeMonitor resource. +type ComputeMonitorArgs struct { + // Guest ID + GuestId pulumi.IntInput + // IP Address + IpAddress pulumi.StringPtrInput + // List of users notified + NotifiedUsers pulumi.IntArrayInput + // Query Type ID + QueryTypeId pulumi.IntInput + // Response action ID + ResponseActionId pulumi.IntInput + // List of tags + Tags pulumi.StringArrayInput + // wait cycles count + WaitCycles pulumi.IntPtrInput +} + +func (ComputeMonitorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeMonitorArgs)(nil)).Elem() +} + +type ComputeMonitorInput interface { + pulumi.Input + + ToComputeMonitorOutput() ComputeMonitorOutput + ToComputeMonitorOutputWithContext(ctx context.Context) ComputeMonitorOutput +} + +func (*ComputeMonitor) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeMonitor)(nil)).Elem() +} + +func (i *ComputeMonitor) ToComputeMonitorOutput() ComputeMonitorOutput { + return i.ToComputeMonitorOutputWithContext(context.Background()) +} + +func (i *ComputeMonitor) ToComputeMonitorOutputWithContext(ctx context.Context) ComputeMonitorOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeMonitorOutput) +} + +type ComputeMonitorOutput struct{ *pulumi.OutputState } + +func (ComputeMonitorOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeMonitor)(nil)).Elem() +} + +func (o ComputeMonitorOutput) ToComputeMonitorOutput() ComputeMonitorOutput { + return o +} + +func (o ComputeMonitorOutput) ToComputeMonitorOutputWithContext(ctx context.Context) ComputeMonitorOutput { + return o +} + +// Guest ID +func (o ComputeMonitorOutput) GuestId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeMonitor) pulumi.IntOutput { return v.GuestId }).(pulumi.IntOutput) +} + +// IP Address +func (o ComputeMonitorOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeMonitor) pulumi.StringPtrOutput { return v.IpAddress }).(pulumi.StringPtrOutput) +} + +// List of users notified +func (o ComputeMonitorOutput) NotifiedUsers() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeMonitor) pulumi.IntArrayOutput { return v.NotifiedUsers }).(pulumi.IntArrayOutput) +} + +// Query Type ID +func (o ComputeMonitorOutput) QueryTypeId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeMonitor) pulumi.IntOutput { return v.QueryTypeId }).(pulumi.IntOutput) +} + +// Response action ID +func (o ComputeMonitorOutput) ResponseActionId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeMonitor) pulumi.IntOutput { return v.ResponseActionId }).(pulumi.IntOutput) +} + +// List of tags +func (o ComputeMonitorOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeMonitor) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// wait cycles count +func (o ComputeMonitorOutput) WaitCycles() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeMonitor) pulumi.IntPtrOutput { return v.WaitCycles }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeMonitorInput)(nil)).Elem(), &ComputeMonitor{}) + pulumi.RegisterOutputType(ComputeMonitorOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computePlacementGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computePlacementGroup.go new file mode 100644 index 000000000..ae21beb01 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computePlacementGroup.go @@ -0,0 +1,187 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputePlacementGroup struct { + pulumi.CustomResourceState + + // Dataceneter name + Datacenter pulumi.StringOutput `pulumi:"datacenter"` + // Name + Name pulumi.StringOutput `pulumi:"name"` + // Pod name + Pod pulumi.StringOutput `pulumi:"pod"` + // Rule info + Rule pulumi.StringPtrOutput `pulumi:"rule"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` +} + +// NewComputePlacementGroup registers a new resource with the given unique name, arguments, and options. +func NewComputePlacementGroup(ctx *pulumi.Context, + name string, args *ComputePlacementGroupArgs, opts ...pulumi.ResourceOption) (*ComputePlacementGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Datacenter == nil { + return nil, errors.New("invalid value for required argument 'Datacenter'") + } + if args.Pod == nil { + return nil, errors.New("invalid value for required argument 'Pod'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputePlacementGroup + err := ctx.RegisterResource("ibmcloud:index/computePlacementGroup:ComputePlacementGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputePlacementGroup gets an existing ComputePlacementGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputePlacementGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputePlacementGroupState, opts ...pulumi.ResourceOption) (*ComputePlacementGroup, error) { + var resource ComputePlacementGroup + err := ctx.ReadResource("ibmcloud:index/computePlacementGroup:ComputePlacementGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputePlacementGroup resources. +type computePlacementGroupState struct { + // Dataceneter name + Datacenter *string `pulumi:"datacenter"` + // Name + Name *string `pulumi:"name"` + // Pod name + Pod *string `pulumi:"pod"` + // Rule info + Rule *string `pulumi:"rule"` + // List of tags + Tags []string `pulumi:"tags"` +} + +type ComputePlacementGroupState struct { + // Dataceneter name + Datacenter pulumi.StringPtrInput + // Name + Name pulumi.StringPtrInput + // Pod name + Pod pulumi.StringPtrInput + // Rule info + Rule pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput +} + +func (ComputePlacementGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*computePlacementGroupState)(nil)).Elem() +} + +type computePlacementGroupArgs struct { + // Dataceneter name + Datacenter string `pulumi:"datacenter"` + // Name + Name *string `pulumi:"name"` + // Pod name + Pod string `pulumi:"pod"` + // Rule info + Rule *string `pulumi:"rule"` + // List of tags + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a ComputePlacementGroup resource. +type ComputePlacementGroupArgs struct { + // Dataceneter name + Datacenter pulumi.StringInput + // Name + Name pulumi.StringPtrInput + // Pod name + Pod pulumi.StringInput + // Rule info + Rule pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput +} + +func (ComputePlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computePlacementGroupArgs)(nil)).Elem() +} + +type ComputePlacementGroupInput interface { + pulumi.Input + + ToComputePlacementGroupOutput() ComputePlacementGroupOutput + ToComputePlacementGroupOutputWithContext(ctx context.Context) ComputePlacementGroupOutput +} + +func (*ComputePlacementGroup) ElementType() reflect.Type { + return reflect.TypeOf((**ComputePlacementGroup)(nil)).Elem() +} + +func (i *ComputePlacementGroup) ToComputePlacementGroupOutput() ComputePlacementGroupOutput { + return i.ToComputePlacementGroupOutputWithContext(context.Background()) +} + +func (i *ComputePlacementGroup) ToComputePlacementGroupOutputWithContext(ctx context.Context) ComputePlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputePlacementGroupOutput) +} + +type ComputePlacementGroupOutput struct{ *pulumi.OutputState } + +func (ComputePlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputePlacementGroup)(nil)).Elem() +} + +func (o ComputePlacementGroupOutput) ToComputePlacementGroupOutput() ComputePlacementGroupOutput { + return o +} + +func (o ComputePlacementGroupOutput) ToComputePlacementGroupOutputWithContext(ctx context.Context) ComputePlacementGroupOutput { + return o +} + +// Dataceneter name +func (o ComputePlacementGroupOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v *ComputePlacementGroup) pulumi.StringOutput { return v.Datacenter }).(pulumi.StringOutput) +} + +// Name +func (o ComputePlacementGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ComputePlacementGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Pod name +func (o ComputePlacementGroupOutput) Pod() pulumi.StringOutput { + return o.ApplyT(func(v *ComputePlacementGroup) pulumi.StringOutput { return v.Pod }).(pulumi.StringOutput) +} + +// Rule info +func (o ComputePlacementGroupOutput) Rule() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputePlacementGroup) pulumi.StringPtrOutput { return v.Rule }).(pulumi.StringPtrOutput) +} + +// List of tags +func (o ComputePlacementGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputePlacementGroup) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputePlacementGroupInput)(nil)).Elem(), &ComputePlacementGroup{}) + pulumi.RegisterOutputType(ComputePlacementGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeProvisioningHook.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeProvisioningHook.go new file mode 100644 index 000000000..9a979dea0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeProvisioningHook.go @@ -0,0 +1,154 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeProvisioningHook struct { + pulumi.CustomResourceState + + // Provision hook name + Name pulumi.StringOutput `pulumi:"name"` + // Tags associated with resource + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // URI of the hook + Uri pulumi.StringOutput `pulumi:"uri"` +} + +// NewComputeProvisioningHook registers a new resource with the given unique name, arguments, and options. +func NewComputeProvisioningHook(ctx *pulumi.Context, + name string, args *ComputeProvisioningHookArgs, opts ...pulumi.ResourceOption) (*ComputeProvisioningHook, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Uri == nil { + return nil, errors.New("invalid value for required argument 'Uri'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeProvisioningHook + err := ctx.RegisterResource("ibmcloud:index/computeProvisioningHook:ComputeProvisioningHook", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeProvisioningHook gets an existing ComputeProvisioningHook resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeProvisioningHook(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeProvisioningHookState, opts ...pulumi.ResourceOption) (*ComputeProvisioningHook, error) { + var resource ComputeProvisioningHook + err := ctx.ReadResource("ibmcloud:index/computeProvisioningHook:ComputeProvisioningHook", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeProvisioningHook resources. +type computeProvisioningHookState struct { + // Provision hook name + Name *string `pulumi:"name"` + // Tags associated with resource + Tags []string `pulumi:"tags"` + // URI of the hook + Uri *string `pulumi:"uri"` +} + +type ComputeProvisioningHookState struct { + // Provision hook name + Name pulumi.StringPtrInput + // Tags associated with resource + Tags pulumi.StringArrayInput + // URI of the hook + Uri pulumi.StringPtrInput +} + +func (ComputeProvisioningHookState) ElementType() reflect.Type { + return reflect.TypeOf((*computeProvisioningHookState)(nil)).Elem() +} + +type computeProvisioningHookArgs struct { + // Provision hook name + Name *string `pulumi:"name"` + // Tags associated with resource + Tags []string `pulumi:"tags"` + // URI of the hook + Uri string `pulumi:"uri"` +} + +// The set of arguments for constructing a ComputeProvisioningHook resource. +type ComputeProvisioningHookArgs struct { + // Provision hook name + Name pulumi.StringPtrInput + // Tags associated with resource + Tags pulumi.StringArrayInput + // URI of the hook + Uri pulumi.StringInput +} + +func (ComputeProvisioningHookArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeProvisioningHookArgs)(nil)).Elem() +} + +type ComputeProvisioningHookInput interface { + pulumi.Input + + ToComputeProvisioningHookOutput() ComputeProvisioningHookOutput + ToComputeProvisioningHookOutputWithContext(ctx context.Context) ComputeProvisioningHookOutput +} + +func (*ComputeProvisioningHook) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeProvisioningHook)(nil)).Elem() +} + +func (i *ComputeProvisioningHook) ToComputeProvisioningHookOutput() ComputeProvisioningHookOutput { + return i.ToComputeProvisioningHookOutputWithContext(context.Background()) +} + +func (i *ComputeProvisioningHook) ToComputeProvisioningHookOutputWithContext(ctx context.Context) ComputeProvisioningHookOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeProvisioningHookOutput) +} + +type ComputeProvisioningHookOutput struct{ *pulumi.OutputState } + +func (ComputeProvisioningHookOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeProvisioningHook)(nil)).Elem() +} + +func (o ComputeProvisioningHookOutput) ToComputeProvisioningHookOutput() ComputeProvisioningHookOutput { + return o +} + +func (o ComputeProvisioningHookOutput) ToComputeProvisioningHookOutputWithContext(ctx context.Context) ComputeProvisioningHookOutput { + return o +} + +// Provision hook name +func (o ComputeProvisioningHookOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeProvisioningHook) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Tags associated with resource +func (o ComputeProvisioningHookOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeProvisioningHook) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// URI of the hook +func (o ComputeProvisioningHookOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeProvisioningHook) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeProvisioningHookInput)(nil)).Elem(), &ComputeProvisioningHook{}) + pulumi.RegisterOutputType(ComputeProvisioningHookOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeReservedCapacity.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeReservedCapacity.go new file mode 100644 index 000000000..67969c50f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeReservedCapacity.go @@ -0,0 +1,223 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeReservedCapacity struct { + pulumi.CustomResourceState + + // Dataceneter name + Datacenter pulumi.StringOutput `pulumi:"datacenter"` + // flavor of the reserved capacity + Flavor pulumi.StringOutput `pulumi:"flavor"` + // Force the creation of reserved capacity with same name + ForceCreate pulumi.BoolPtrOutput `pulumi:"forceCreate"` + // no of the instances + Instances pulumi.IntOutput `pulumi:"instances"` + // Name + Name pulumi.StringOutput `pulumi:"name"` + // Pod name + Pod pulumi.StringOutput `pulumi:"pod"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` +} + +// NewComputeReservedCapacity registers a new resource with the given unique name, arguments, and options. +func NewComputeReservedCapacity(ctx *pulumi.Context, + name string, args *ComputeReservedCapacityArgs, opts ...pulumi.ResourceOption) (*ComputeReservedCapacity, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Datacenter == nil { + return nil, errors.New("invalid value for required argument 'Datacenter'") + } + if args.Flavor == nil { + return nil, errors.New("invalid value for required argument 'Flavor'") + } + if args.Instances == nil { + return nil, errors.New("invalid value for required argument 'Instances'") + } + if args.Pod == nil { + return nil, errors.New("invalid value for required argument 'Pod'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeReservedCapacity + err := ctx.RegisterResource("ibmcloud:index/computeReservedCapacity:ComputeReservedCapacity", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeReservedCapacity gets an existing ComputeReservedCapacity resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeReservedCapacity(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeReservedCapacityState, opts ...pulumi.ResourceOption) (*ComputeReservedCapacity, error) { + var resource ComputeReservedCapacity + err := ctx.ReadResource("ibmcloud:index/computeReservedCapacity:ComputeReservedCapacity", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeReservedCapacity resources. +type computeReservedCapacityState struct { + // Dataceneter name + Datacenter *string `pulumi:"datacenter"` + // flavor of the reserved capacity + Flavor *string `pulumi:"flavor"` + // Force the creation of reserved capacity with same name + ForceCreate *bool `pulumi:"forceCreate"` + // no of the instances + Instances *int `pulumi:"instances"` + // Name + Name *string `pulumi:"name"` + // Pod name + Pod *string `pulumi:"pod"` + // List of tags + Tags []string `pulumi:"tags"` +} + +type ComputeReservedCapacityState struct { + // Dataceneter name + Datacenter pulumi.StringPtrInput + // flavor of the reserved capacity + Flavor pulumi.StringPtrInput + // Force the creation of reserved capacity with same name + ForceCreate pulumi.BoolPtrInput + // no of the instances + Instances pulumi.IntPtrInput + // Name + Name pulumi.StringPtrInput + // Pod name + Pod pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput +} + +func (ComputeReservedCapacityState) ElementType() reflect.Type { + return reflect.TypeOf((*computeReservedCapacityState)(nil)).Elem() +} + +type computeReservedCapacityArgs struct { + // Dataceneter name + Datacenter string `pulumi:"datacenter"` + // flavor of the reserved capacity + Flavor string `pulumi:"flavor"` + // Force the creation of reserved capacity with same name + ForceCreate *bool `pulumi:"forceCreate"` + // no of the instances + Instances int `pulumi:"instances"` + // Name + Name *string `pulumi:"name"` + // Pod name + Pod string `pulumi:"pod"` + // List of tags + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a ComputeReservedCapacity resource. +type ComputeReservedCapacityArgs struct { + // Dataceneter name + Datacenter pulumi.StringInput + // flavor of the reserved capacity + Flavor pulumi.StringInput + // Force the creation of reserved capacity with same name + ForceCreate pulumi.BoolPtrInput + // no of the instances + Instances pulumi.IntInput + // Name + Name pulumi.StringPtrInput + // Pod name + Pod pulumi.StringInput + // List of tags + Tags pulumi.StringArrayInput +} + +func (ComputeReservedCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeReservedCapacityArgs)(nil)).Elem() +} + +type ComputeReservedCapacityInput interface { + pulumi.Input + + ToComputeReservedCapacityOutput() ComputeReservedCapacityOutput + ToComputeReservedCapacityOutputWithContext(ctx context.Context) ComputeReservedCapacityOutput +} + +func (*ComputeReservedCapacity) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeReservedCapacity)(nil)).Elem() +} + +func (i *ComputeReservedCapacity) ToComputeReservedCapacityOutput() ComputeReservedCapacityOutput { + return i.ToComputeReservedCapacityOutputWithContext(context.Background()) +} + +func (i *ComputeReservedCapacity) ToComputeReservedCapacityOutputWithContext(ctx context.Context) ComputeReservedCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeReservedCapacityOutput) +} + +type ComputeReservedCapacityOutput struct{ *pulumi.OutputState } + +func (ComputeReservedCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeReservedCapacity)(nil)).Elem() +} + +func (o ComputeReservedCapacityOutput) ToComputeReservedCapacityOutput() ComputeReservedCapacityOutput { + return o +} + +func (o ComputeReservedCapacityOutput) ToComputeReservedCapacityOutputWithContext(ctx context.Context) ComputeReservedCapacityOutput { + return o +} + +// Dataceneter name +func (o ComputeReservedCapacityOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeReservedCapacity) pulumi.StringOutput { return v.Datacenter }).(pulumi.StringOutput) +} + +// flavor of the reserved capacity +func (o ComputeReservedCapacityOutput) Flavor() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeReservedCapacity) pulumi.StringOutput { return v.Flavor }).(pulumi.StringOutput) +} + +// Force the creation of reserved capacity with same name +func (o ComputeReservedCapacityOutput) ForceCreate() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeReservedCapacity) pulumi.BoolPtrOutput { return v.ForceCreate }).(pulumi.BoolPtrOutput) +} + +// no of the instances +func (o ComputeReservedCapacityOutput) Instances() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeReservedCapacity) pulumi.IntOutput { return v.Instances }).(pulumi.IntOutput) +} + +// Name +func (o ComputeReservedCapacityOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeReservedCapacity) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Pod name +func (o ComputeReservedCapacityOutput) Pod() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeReservedCapacity) pulumi.StringOutput { return v.Pod }).(pulumi.StringOutput) +} + +// List of tags +func (o ComputeReservedCapacityOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeReservedCapacity) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeReservedCapacityInput)(nil)).Elem(), &ComputeReservedCapacity{}) + pulumi.RegisterOutputType(ComputeReservedCapacityOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeSshKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeSshKey.go new file mode 100644 index 000000000..3ab3697a0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeSshKey.go @@ -0,0 +1,183 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeSshKey struct { + pulumi.CustomResourceState + + // SSH key fingerprint + Fingerprint pulumi.StringOutput `pulumi:"fingerprint"` + // SSH Key label + Label pulumi.StringOutput `pulumi:"label"` + // Additional notes + Notes pulumi.StringPtrOutput `pulumi:"notes"` + // Plublic Key info + PublicKey pulumi.StringOutput `pulumi:"publicKey"` + // List of tags for the resource + Tags pulumi.StringArrayOutput `pulumi:"tags"` +} + +// NewComputeSshKey registers a new resource with the given unique name, arguments, and options. +func NewComputeSshKey(ctx *pulumi.Context, + name string, args *ComputeSshKeyArgs, opts ...pulumi.ResourceOption) (*ComputeSshKey, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Label == nil { + return nil, errors.New("invalid value for required argument 'Label'") + } + if args.PublicKey == nil { + return nil, errors.New("invalid value for required argument 'PublicKey'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeSshKey + err := ctx.RegisterResource("ibmcloud:index/computeSshKey:ComputeSshKey", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeSshKey gets an existing ComputeSshKey resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeSshKey(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeSshKeyState, opts ...pulumi.ResourceOption) (*ComputeSshKey, error) { + var resource ComputeSshKey + err := ctx.ReadResource("ibmcloud:index/computeSshKey:ComputeSshKey", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeSshKey resources. +type computeSshKeyState struct { + // SSH key fingerprint + Fingerprint *string `pulumi:"fingerprint"` + // SSH Key label + Label *string `pulumi:"label"` + // Additional notes + Notes *string `pulumi:"notes"` + // Plublic Key info + PublicKey *string `pulumi:"publicKey"` + // List of tags for the resource + Tags []string `pulumi:"tags"` +} + +type ComputeSshKeyState struct { + // SSH key fingerprint + Fingerprint pulumi.StringPtrInput + // SSH Key label + Label pulumi.StringPtrInput + // Additional notes + Notes pulumi.StringPtrInput + // Plublic Key info + PublicKey pulumi.StringPtrInput + // List of tags for the resource + Tags pulumi.StringArrayInput +} + +func (ComputeSshKeyState) ElementType() reflect.Type { + return reflect.TypeOf((*computeSshKeyState)(nil)).Elem() +} + +type computeSshKeyArgs struct { + // SSH Key label + Label string `pulumi:"label"` + // Additional notes + Notes *string `pulumi:"notes"` + // Plublic Key info + PublicKey string `pulumi:"publicKey"` + // List of tags for the resource + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a ComputeSshKey resource. +type ComputeSshKeyArgs struct { + // SSH Key label + Label pulumi.StringInput + // Additional notes + Notes pulumi.StringPtrInput + // Plublic Key info + PublicKey pulumi.StringInput + // List of tags for the resource + Tags pulumi.StringArrayInput +} + +func (ComputeSshKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeSshKeyArgs)(nil)).Elem() +} + +type ComputeSshKeyInput interface { + pulumi.Input + + ToComputeSshKeyOutput() ComputeSshKeyOutput + ToComputeSshKeyOutputWithContext(ctx context.Context) ComputeSshKeyOutput +} + +func (*ComputeSshKey) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeSshKey)(nil)).Elem() +} + +func (i *ComputeSshKey) ToComputeSshKeyOutput() ComputeSshKeyOutput { + return i.ToComputeSshKeyOutputWithContext(context.Background()) +} + +func (i *ComputeSshKey) ToComputeSshKeyOutputWithContext(ctx context.Context) ComputeSshKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeSshKeyOutput) +} + +type ComputeSshKeyOutput struct{ *pulumi.OutputState } + +func (ComputeSshKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeSshKey)(nil)).Elem() +} + +func (o ComputeSshKeyOutput) ToComputeSshKeyOutput() ComputeSshKeyOutput { + return o +} + +func (o ComputeSshKeyOutput) ToComputeSshKeyOutputWithContext(ctx context.Context) ComputeSshKeyOutput { + return o +} + +// SSH key fingerprint +func (o ComputeSshKeyOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSshKey) pulumi.StringOutput { return v.Fingerprint }).(pulumi.StringOutput) +} + +// SSH Key label +func (o ComputeSshKeyOutput) Label() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSshKey) pulumi.StringOutput { return v.Label }).(pulumi.StringOutput) +} + +// Additional notes +func (o ComputeSshKeyOutput) Notes() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeSshKey) pulumi.StringPtrOutput { return v.Notes }).(pulumi.StringPtrOutput) +} + +// Plublic Key info +func (o ComputeSshKeyOutput) PublicKey() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSshKey) pulumi.StringOutput { return v.PublicKey }).(pulumi.StringOutput) +} + +// List of tags for the resource +func (o ComputeSshKeyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeSshKey) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeSshKeyInput)(nil)).Elem(), &ComputeSshKey{}) + pulumi.RegisterOutputType(ComputeSshKeyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeSslCertificate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeSslCertificate.go new file mode 100644 index 000000000..e6c0624bb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeSslCertificate.go @@ -0,0 +1,267 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeSslCertificate struct { + pulumi.CustomResourceState + + // SSL Certifcate + Certificate pulumi.StringOutput `pulumi:"certificate"` + // Common name + CommonName pulumi.StringOutput `pulumi:"commonName"` + // certificate creation date + CreateDate pulumi.StringOutput `pulumi:"createDate"` + // Intermediate certificate value + IntermediateCertificate pulumi.StringPtrOutput `pulumi:"intermediateCertificate"` + // SSL key size + KeySize pulumi.IntOutput `pulumi:"keySize"` + // certificate modificatiob date + ModifyDate pulumi.StringOutput `pulumi:"modifyDate"` + // Organization name + OrganizationName pulumi.StringOutput `pulumi:"organizationName"` + // SSL Private Key + PrivateKey pulumi.StringOutput `pulumi:"privateKey"` + // Tags set for resource + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Validity begins from + ValidityBegin pulumi.StringOutput `pulumi:"validityBegin"` + // Validity days + ValidityDays pulumi.IntOutput `pulumi:"validityDays"` + // Validity ends before + ValidityEnd pulumi.StringOutput `pulumi:"validityEnd"` +} + +// NewComputeSslCertificate registers a new resource with the given unique name, arguments, and options. +func NewComputeSslCertificate(ctx *pulumi.Context, + name string, args *ComputeSslCertificateArgs, opts ...pulumi.ResourceOption) (*ComputeSslCertificate, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Certificate == nil { + return nil, errors.New("invalid value for required argument 'Certificate'") + } + if args.PrivateKey == nil { + return nil, errors.New("invalid value for required argument 'PrivateKey'") + } + if args.PrivateKey != nil { + args.PrivateKey = pulumi.ToSecret(args.PrivateKey).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "privateKey", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeSslCertificate + err := ctx.RegisterResource("ibmcloud:index/computeSslCertificate:ComputeSslCertificate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeSslCertificate gets an existing ComputeSslCertificate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeSslCertificate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeSslCertificateState, opts ...pulumi.ResourceOption) (*ComputeSslCertificate, error) { + var resource ComputeSslCertificate + err := ctx.ReadResource("ibmcloud:index/computeSslCertificate:ComputeSslCertificate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeSslCertificate resources. +type computeSslCertificateState struct { + // SSL Certifcate + Certificate *string `pulumi:"certificate"` + // Common name + CommonName *string `pulumi:"commonName"` + // certificate creation date + CreateDate *string `pulumi:"createDate"` + // Intermediate certificate value + IntermediateCertificate *string `pulumi:"intermediateCertificate"` + // SSL key size + KeySize *int `pulumi:"keySize"` + // certificate modificatiob date + ModifyDate *string `pulumi:"modifyDate"` + // Organization name + OrganizationName *string `pulumi:"organizationName"` + // SSL Private Key + PrivateKey *string `pulumi:"privateKey"` + // Tags set for resource + Tags []string `pulumi:"tags"` + // Validity begins from + ValidityBegin *string `pulumi:"validityBegin"` + // Validity days + ValidityDays *int `pulumi:"validityDays"` + // Validity ends before + ValidityEnd *string `pulumi:"validityEnd"` +} + +type ComputeSslCertificateState struct { + // SSL Certifcate + Certificate pulumi.StringPtrInput + // Common name + CommonName pulumi.StringPtrInput + // certificate creation date + CreateDate pulumi.StringPtrInput + // Intermediate certificate value + IntermediateCertificate pulumi.StringPtrInput + // SSL key size + KeySize pulumi.IntPtrInput + // certificate modificatiob date + ModifyDate pulumi.StringPtrInput + // Organization name + OrganizationName pulumi.StringPtrInput + // SSL Private Key + PrivateKey pulumi.StringPtrInput + // Tags set for resource + Tags pulumi.StringArrayInput + // Validity begins from + ValidityBegin pulumi.StringPtrInput + // Validity days + ValidityDays pulumi.IntPtrInput + // Validity ends before + ValidityEnd pulumi.StringPtrInput +} + +func (ComputeSslCertificateState) ElementType() reflect.Type { + return reflect.TypeOf((*computeSslCertificateState)(nil)).Elem() +} + +type computeSslCertificateArgs struct { + // SSL Certifcate + Certificate string `pulumi:"certificate"` + // Intermediate certificate value + IntermediateCertificate *string `pulumi:"intermediateCertificate"` + // SSL Private Key + PrivateKey string `pulumi:"privateKey"` + // Tags set for resource + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a ComputeSslCertificate resource. +type ComputeSslCertificateArgs struct { + // SSL Certifcate + Certificate pulumi.StringInput + // Intermediate certificate value + IntermediateCertificate pulumi.StringPtrInput + // SSL Private Key + PrivateKey pulumi.StringInput + // Tags set for resource + Tags pulumi.StringArrayInput +} + +func (ComputeSslCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeSslCertificateArgs)(nil)).Elem() +} + +type ComputeSslCertificateInput interface { + pulumi.Input + + ToComputeSslCertificateOutput() ComputeSslCertificateOutput + ToComputeSslCertificateOutputWithContext(ctx context.Context) ComputeSslCertificateOutput +} + +func (*ComputeSslCertificate) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeSslCertificate)(nil)).Elem() +} + +func (i *ComputeSslCertificate) ToComputeSslCertificateOutput() ComputeSslCertificateOutput { + return i.ToComputeSslCertificateOutputWithContext(context.Background()) +} + +func (i *ComputeSslCertificate) ToComputeSslCertificateOutputWithContext(ctx context.Context) ComputeSslCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeSslCertificateOutput) +} + +type ComputeSslCertificateOutput struct{ *pulumi.OutputState } + +func (ComputeSslCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeSslCertificate)(nil)).Elem() +} + +func (o ComputeSslCertificateOutput) ToComputeSslCertificateOutput() ComputeSslCertificateOutput { + return o +} + +func (o ComputeSslCertificateOutput) ToComputeSslCertificateOutputWithContext(ctx context.Context) ComputeSslCertificateOutput { + return o +} + +// SSL Certifcate +func (o ComputeSslCertificateOutput) Certificate() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringOutput { return v.Certificate }).(pulumi.StringOutput) +} + +// Common name +func (o ComputeSslCertificateOutput) CommonName() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringOutput { return v.CommonName }).(pulumi.StringOutput) +} + +// certificate creation date +func (o ComputeSslCertificateOutput) CreateDate() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringOutput { return v.CreateDate }).(pulumi.StringOutput) +} + +// Intermediate certificate value +func (o ComputeSslCertificateOutput) IntermediateCertificate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringPtrOutput { return v.IntermediateCertificate }).(pulumi.StringPtrOutput) +} + +// SSL key size +func (o ComputeSslCertificateOutput) KeySize() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.IntOutput { return v.KeySize }).(pulumi.IntOutput) +} + +// certificate modificatiob date +func (o ComputeSslCertificateOutput) ModifyDate() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringOutput { return v.ModifyDate }).(pulumi.StringOutput) +} + +// Organization name +func (o ComputeSslCertificateOutput) OrganizationName() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringOutput { return v.OrganizationName }).(pulumi.StringOutput) +} + +// SSL Private Key +func (o ComputeSslCertificateOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringOutput { return v.PrivateKey }).(pulumi.StringOutput) +} + +// Tags set for resource +func (o ComputeSslCertificateOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Validity begins from +func (o ComputeSslCertificateOutput) ValidityBegin() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringOutput { return v.ValidityBegin }).(pulumi.StringOutput) +} + +// Validity days +func (o ComputeSslCertificateOutput) ValidityDays() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.IntOutput { return v.ValidityDays }).(pulumi.IntOutput) +} + +// Validity ends before +func (o ComputeSslCertificateOutput) ValidityEnd() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeSslCertificate) pulumi.StringOutput { return v.ValidityEnd }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeSslCertificateInput)(nil)).Elem(), &ComputeSslCertificate{}) + pulumi.RegisterOutputType(ComputeSslCertificateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeUser.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeUser.go new file mode 100644 index 000000000..836388797 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeUser.go @@ -0,0 +1,410 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeUser struct { + pulumi.CustomResourceState + + // Address info of the user + Address1 pulumi.StringOutput `pulumi:"address1"` + // Address info of the user + Address2 pulumi.StringPtrOutput `pulumi:"address2"` + // API key for the user + ApiKey pulumi.StringOutput `pulumi:"apiKey"` + // City name + City pulumi.StringOutput `pulumi:"city"` + // comapany name + CompanyName pulumi.StringOutput `pulumi:"companyName"` + // Country name + Country pulumi.StringOutput `pulumi:"country"` + // email address of the user + Email pulumi.StringOutput `pulumi:"email"` + // First name of the user + FirstName pulumi.StringOutput `pulumi:"firstName"` + // API Key info of the user + HasApiKey pulumi.BoolPtrOutput `pulumi:"hasApiKey"` + // IBM ID of the user + IbmId pulumi.StringOutput `pulumi:"ibmId"` + // Last name of the user + LastName pulumi.StringOutput `pulumi:"lastName"` + // password for the user + Password pulumi.StringPtrOutput `pulumi:"password"` + // set of persmissions assigned for the user + Permissions pulumi.StringArrayOutput `pulumi:"permissions"` + // Satate name + State pulumi.StringOutput `pulumi:"state"` + // Tags set for the resources + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // time zone info + Timezone pulumi.StringOutput `pulumi:"timezone"` + // user status info + UserStatus pulumi.StringPtrOutput `pulumi:"userStatus"` + // user name + Username pulumi.StringOutput `pulumi:"username"` +} + +// NewComputeUser registers a new resource with the given unique name, arguments, and options. +func NewComputeUser(ctx *pulumi.Context, + name string, args *ComputeUserArgs, opts ...pulumi.ResourceOption) (*ComputeUser, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Address1 == nil { + return nil, errors.New("invalid value for required argument 'Address1'") + } + if args.City == nil { + return nil, errors.New("invalid value for required argument 'City'") + } + if args.CompanyName == nil { + return nil, errors.New("invalid value for required argument 'CompanyName'") + } + if args.Country == nil { + return nil, errors.New("invalid value for required argument 'Country'") + } + if args.Email == nil { + return nil, errors.New("invalid value for required argument 'Email'") + } + if args.FirstName == nil { + return nil, errors.New("invalid value for required argument 'FirstName'") + } + if args.LastName == nil { + return nil, errors.New("invalid value for required argument 'LastName'") + } + if args.State == nil { + return nil, errors.New("invalid value for required argument 'State'") + } + if args.Timezone == nil { + return nil, errors.New("invalid value for required argument 'Timezone'") + } + if args.ApiKey != nil { + args.ApiKey = pulumi.ToSecret(args.ApiKey).(pulumi.StringPtrInput) + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "apiKey", + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeUser + err := ctx.RegisterResource("ibmcloud:index/computeUser:ComputeUser", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeUser gets an existing ComputeUser resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeUser(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeUserState, opts ...pulumi.ResourceOption) (*ComputeUser, error) { + var resource ComputeUser + err := ctx.ReadResource("ibmcloud:index/computeUser:ComputeUser", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeUser resources. +type computeUserState struct { + // Address info of the user + Address1 *string `pulumi:"address1"` + // Address info of the user + Address2 *string `pulumi:"address2"` + // API key for the user + ApiKey *string `pulumi:"apiKey"` + // City name + City *string `pulumi:"city"` + // comapany name + CompanyName *string `pulumi:"companyName"` + // Country name + Country *string `pulumi:"country"` + // email address of the user + Email *string `pulumi:"email"` + // First name of the user + FirstName *string `pulumi:"firstName"` + // API Key info of the user + HasApiKey *bool `pulumi:"hasApiKey"` + // IBM ID of the user + IbmId *string `pulumi:"ibmId"` + // Last name of the user + LastName *string `pulumi:"lastName"` + // password for the user + Password *string `pulumi:"password"` + // set of persmissions assigned for the user + Permissions []string `pulumi:"permissions"` + // Satate name + State *string `pulumi:"state"` + // Tags set for the resources + Tags []string `pulumi:"tags"` + // time zone info + Timezone *string `pulumi:"timezone"` + // user status info + UserStatus *string `pulumi:"userStatus"` + // user name + Username *string `pulumi:"username"` +} + +type ComputeUserState struct { + // Address info of the user + Address1 pulumi.StringPtrInput + // Address info of the user + Address2 pulumi.StringPtrInput + // API key for the user + ApiKey pulumi.StringPtrInput + // City name + City pulumi.StringPtrInput + // comapany name + CompanyName pulumi.StringPtrInput + // Country name + Country pulumi.StringPtrInput + // email address of the user + Email pulumi.StringPtrInput + // First name of the user + FirstName pulumi.StringPtrInput + // API Key info of the user + HasApiKey pulumi.BoolPtrInput + // IBM ID of the user + IbmId pulumi.StringPtrInput + // Last name of the user + LastName pulumi.StringPtrInput + // password for the user + Password pulumi.StringPtrInput + // set of persmissions assigned for the user + Permissions pulumi.StringArrayInput + // Satate name + State pulumi.StringPtrInput + // Tags set for the resources + Tags pulumi.StringArrayInput + // time zone info + Timezone pulumi.StringPtrInput + // user status info + UserStatus pulumi.StringPtrInput + // user name + Username pulumi.StringPtrInput +} + +func (ComputeUserState) ElementType() reflect.Type { + return reflect.TypeOf((*computeUserState)(nil)).Elem() +} + +type computeUserArgs struct { + // Address info of the user + Address1 string `pulumi:"address1"` + // Address info of the user + Address2 *string `pulumi:"address2"` + // API key for the user + ApiKey *string `pulumi:"apiKey"` + // City name + City string `pulumi:"city"` + // comapany name + CompanyName string `pulumi:"companyName"` + // Country name + Country string `pulumi:"country"` + // email address of the user + Email string `pulumi:"email"` + // First name of the user + FirstName string `pulumi:"firstName"` + // API Key info of the user + HasApiKey *bool `pulumi:"hasApiKey"` + // Last name of the user + LastName string `pulumi:"lastName"` + // password for the user + Password *string `pulumi:"password"` + // set of persmissions assigned for the user + Permissions []string `pulumi:"permissions"` + // Satate name + State string `pulumi:"state"` + // Tags set for the resources + Tags []string `pulumi:"tags"` + // time zone info + Timezone string `pulumi:"timezone"` + // user status info + UserStatus *string `pulumi:"userStatus"` + // user name + Username *string `pulumi:"username"` +} + +// The set of arguments for constructing a ComputeUser resource. +type ComputeUserArgs struct { + // Address info of the user + Address1 pulumi.StringInput + // Address info of the user + Address2 pulumi.StringPtrInput + // API key for the user + ApiKey pulumi.StringPtrInput + // City name + City pulumi.StringInput + // comapany name + CompanyName pulumi.StringInput + // Country name + Country pulumi.StringInput + // email address of the user + Email pulumi.StringInput + // First name of the user + FirstName pulumi.StringInput + // API Key info of the user + HasApiKey pulumi.BoolPtrInput + // Last name of the user + LastName pulumi.StringInput + // password for the user + Password pulumi.StringPtrInput + // set of persmissions assigned for the user + Permissions pulumi.StringArrayInput + // Satate name + State pulumi.StringInput + // Tags set for the resources + Tags pulumi.StringArrayInput + // time zone info + Timezone pulumi.StringInput + // user status info + UserStatus pulumi.StringPtrInput + // user name + Username pulumi.StringPtrInput +} + +func (ComputeUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeUserArgs)(nil)).Elem() +} + +type ComputeUserInput interface { + pulumi.Input + + ToComputeUserOutput() ComputeUserOutput + ToComputeUserOutputWithContext(ctx context.Context) ComputeUserOutput +} + +func (*ComputeUser) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeUser)(nil)).Elem() +} + +func (i *ComputeUser) ToComputeUserOutput() ComputeUserOutput { + return i.ToComputeUserOutputWithContext(context.Background()) +} + +func (i *ComputeUser) ToComputeUserOutputWithContext(ctx context.Context) ComputeUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeUserOutput) +} + +type ComputeUserOutput struct{ *pulumi.OutputState } + +func (ComputeUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeUser)(nil)).Elem() +} + +func (o ComputeUserOutput) ToComputeUserOutput() ComputeUserOutput { + return o +} + +func (o ComputeUserOutput) ToComputeUserOutputWithContext(ctx context.Context) ComputeUserOutput { + return o +} + +// Address info of the user +func (o ComputeUserOutput) Address1() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.Address1 }).(pulumi.StringOutput) +} + +// Address info of the user +func (o ComputeUserOutput) Address2() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringPtrOutput { return v.Address2 }).(pulumi.StringPtrOutput) +} + +// API key for the user +func (o ComputeUserOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.ApiKey }).(pulumi.StringOutput) +} + +// City name +func (o ComputeUserOutput) City() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.City }).(pulumi.StringOutput) +} + +// comapany name +func (o ComputeUserOutput) CompanyName() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.CompanyName }).(pulumi.StringOutput) +} + +// Country name +func (o ComputeUserOutput) Country() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.Country }).(pulumi.StringOutput) +} + +// email address of the user +func (o ComputeUserOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.Email }).(pulumi.StringOutput) +} + +// First name of the user +func (o ComputeUserOutput) FirstName() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.FirstName }).(pulumi.StringOutput) +} + +// API Key info of the user +func (o ComputeUserOutput) HasApiKey() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.BoolPtrOutput { return v.HasApiKey }).(pulumi.BoolPtrOutput) +} + +// IBM ID of the user +func (o ComputeUserOutput) IbmId() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.IbmId }).(pulumi.StringOutput) +} + +// Last name of the user +func (o ComputeUserOutput) LastName() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.LastName }).(pulumi.StringOutput) +} + +// password for the user +func (o ComputeUserOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) +} + +// set of persmissions assigned for the user +func (o ComputeUserOutput) Permissions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringArrayOutput { return v.Permissions }).(pulumi.StringArrayOutput) +} + +// Satate name +func (o ComputeUserOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Tags set for the resources +func (o ComputeUserOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// time zone info +func (o ComputeUserOutput) Timezone() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.Timezone }).(pulumi.StringOutput) +} + +// user status info +func (o ComputeUserOutput) UserStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringPtrOutput { return v.UserStatus }).(pulumi.StringPtrOutput) +} + +// user name +func (o ComputeUserOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeUser) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeUserInput)(nil)).Elem(), &ComputeUser{}) + pulumi.RegisterOutputType(ComputeUserOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeVmInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeVmInstance.go new file mode 100644 index 000000000..3786179e7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/computeVmInstance.go @@ -0,0 +1,688 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ComputeVmInstance struct { + pulumi.CustomResourceState + + BlockStorageIds pulumi.IntArrayOutput `pulumi:"blockStorageIds"` + BulkVms ComputeVmInstanceBulkVmArrayOutput `pulumi:"bulkVms"` + Cores pulumi.IntOutput `pulumi:"cores"` + Datacenter pulumi.StringOutput `pulumi:"datacenter"` + // The user provided datacenter options + DatacenterChoices pulumi.StringMapArrayOutput `pulumi:"datacenterChoices"` + DedicatedAcctHostOnly pulumi.BoolPtrOutput `pulumi:"dedicatedAcctHostOnly"` + DedicatedHostId pulumi.IntPtrOutput `pulumi:"dedicatedHostId"` + DedicatedHostName pulumi.StringPtrOutput `pulumi:"dedicatedHostName"` + Disks pulumi.IntArrayOutput `pulumi:"disks"` + Domain pulumi.StringPtrOutput `pulumi:"domain"` + Evault pulumi.IntPtrOutput `pulumi:"evault"` + FileStorageIds pulumi.IntArrayOutput `pulumi:"fileStorageIds"` + // Flavor key name used to provision vm. + FlavorKeyName pulumi.StringOutput `pulumi:"flavorKeyName"` + Hostname pulumi.StringPtrOutput `pulumi:"hostname"` + HourlyBilling pulumi.BoolPtrOutput `pulumi:"hourlyBilling"` + ImageId pulumi.IntPtrOutput `pulumi:"imageId"` + IpAddressId pulumi.IntOutput `pulumi:"ipAddressId"` + IpAddressIdPrivate pulumi.IntOutput `pulumi:"ipAddressIdPrivate"` + Ipv4Address pulumi.StringOutput `pulumi:"ipv4Address"` + Ipv4AddressPrivate pulumi.StringOutput `pulumi:"ipv4AddressPrivate"` + Ipv6Address pulumi.StringOutput `pulumi:"ipv6Address"` + Ipv6AddressId pulumi.IntOutput `pulumi:"ipv6AddressId"` + Ipv6Enabled pulumi.BoolPtrOutput `pulumi:"ipv6Enabled"` + Ipv6StaticEnabled pulumi.BoolPtrOutput `pulumi:"ipv6StaticEnabled"` + LocalDisk pulumi.BoolPtrOutput `pulumi:"localDisk"` + Memory pulumi.IntOutput `pulumi:"memory"` + NetworkSpeed pulumi.IntPtrOutput `pulumi:"networkSpeed"` + Notes pulumi.StringPtrOutput `pulumi:"notes"` + OsReferenceCode pulumi.StringPtrOutput `pulumi:"osReferenceCode"` + // The placement group id + PlacementGroupId pulumi.IntPtrOutput `pulumi:"placementGroupId"` + // The placement group name + PlacementGroupName pulumi.StringPtrOutput `pulumi:"placementGroupName"` + PostInstallScriptUri pulumi.StringPtrOutput `pulumi:"postInstallScriptUri"` + PrivateInterfaceId pulumi.IntOutput `pulumi:"privateInterfaceId"` + PrivateNetworkOnly pulumi.BoolPtrOutput `pulumi:"privateNetworkOnly"` + PrivateSecurityGroupIds pulumi.IntArrayOutput `pulumi:"privateSecurityGroupIds"` + PrivateSubnet pulumi.StringOutput `pulumi:"privateSubnet"` + PrivateSubnetId pulumi.IntOutput `pulumi:"privateSubnetId"` + PrivateVlanId pulumi.IntOutput `pulumi:"privateVlanId"` + PublicBandwidthLimited pulumi.IntOutput `pulumi:"publicBandwidthLimited"` + PublicBandwidthUnlimited pulumi.BoolPtrOutput `pulumi:"publicBandwidthUnlimited"` + PublicInterfaceId pulumi.IntOutput `pulumi:"publicInterfaceId"` + PublicIpv6Subnet pulumi.StringOutput `pulumi:"publicIpv6Subnet"` + PublicIpv6SubnetId pulumi.IntOutput `pulumi:"publicIpv6SubnetId"` + PublicSecurityGroupIds pulumi.IntArrayOutput `pulumi:"publicSecurityGroupIds"` + PublicSubnet pulumi.StringOutput `pulumi:"publicSubnet"` + PublicSubnetId pulumi.IntOutput `pulumi:"publicSubnetId"` + PublicVlanId pulumi.IntOutput `pulumi:"publicVlanId"` + // Quote ID for Quote based provisioning + QuoteId pulumi.IntPtrOutput `pulumi:"quoteId"` + // The reserved group id + ReservedCapacityId pulumi.IntPtrOutput `pulumi:"reservedCapacityId"` + // The reserved group id + ReservedCapacityName pulumi.StringPtrOutput `pulumi:"reservedCapacityName"` + // The primary disk of reserved instance + ReservedInstancePrimaryDisk pulumi.IntPtrOutput `pulumi:"reservedInstancePrimaryDisk"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + SecondaryIpAddresses pulumi.StringArrayOutput `pulumi:"secondaryIpAddresses"` + SecondaryIpCount pulumi.IntPtrOutput `pulumi:"secondaryIpCount"` + SshKeyIds pulumi.IntArrayOutput `pulumi:"sshKeyIds"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + Transient pulumi.BoolPtrOutput `pulumi:"transient"` + UserMetadata pulumi.StringPtrOutput `pulumi:"userMetadata"` + // Deprecated: This field is deprecated. Use timeouts block instead + WaitTimeMinutes pulumi.IntPtrOutput `pulumi:"waitTimeMinutes"` +} + +// NewComputeVmInstance registers a new resource with the given unique name, arguments, and options. +func NewComputeVmInstance(ctx *pulumi.Context, + name string, args *ComputeVmInstanceArgs, opts ...pulumi.ResourceOption) (*ComputeVmInstance, error) { + if args == nil { + args = &ComputeVmInstanceArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeVmInstance + err := ctx.RegisterResource("ibmcloud:index/computeVmInstance:ComputeVmInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeVmInstance gets an existing ComputeVmInstance resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetComputeVmInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeVmInstanceState, opts ...pulumi.ResourceOption) (*ComputeVmInstance, error) { + var resource ComputeVmInstance + err := ctx.ReadResource("ibmcloud:index/computeVmInstance:ComputeVmInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeVmInstance resources. +type computeVmInstanceState struct { + BlockStorageIds []int `pulumi:"blockStorageIds"` + BulkVms []ComputeVmInstanceBulkVm `pulumi:"bulkVms"` + Cores *int `pulumi:"cores"` + Datacenter *string `pulumi:"datacenter"` + // The user provided datacenter options + DatacenterChoices []map[string]string `pulumi:"datacenterChoices"` + DedicatedAcctHostOnly *bool `pulumi:"dedicatedAcctHostOnly"` + DedicatedHostId *int `pulumi:"dedicatedHostId"` + DedicatedHostName *string `pulumi:"dedicatedHostName"` + Disks []int `pulumi:"disks"` + Domain *string `pulumi:"domain"` + Evault *int `pulumi:"evault"` + FileStorageIds []int `pulumi:"fileStorageIds"` + // Flavor key name used to provision vm. + FlavorKeyName *string `pulumi:"flavorKeyName"` + Hostname *string `pulumi:"hostname"` + HourlyBilling *bool `pulumi:"hourlyBilling"` + ImageId *int `pulumi:"imageId"` + IpAddressId *int `pulumi:"ipAddressId"` + IpAddressIdPrivate *int `pulumi:"ipAddressIdPrivate"` + Ipv4Address *string `pulumi:"ipv4Address"` + Ipv4AddressPrivate *string `pulumi:"ipv4AddressPrivate"` + Ipv6Address *string `pulumi:"ipv6Address"` + Ipv6AddressId *int `pulumi:"ipv6AddressId"` + Ipv6Enabled *bool `pulumi:"ipv6Enabled"` + Ipv6StaticEnabled *bool `pulumi:"ipv6StaticEnabled"` + LocalDisk *bool `pulumi:"localDisk"` + Memory *int `pulumi:"memory"` + NetworkSpeed *int `pulumi:"networkSpeed"` + Notes *string `pulumi:"notes"` + OsReferenceCode *string `pulumi:"osReferenceCode"` + // The placement group id + PlacementGroupId *int `pulumi:"placementGroupId"` + // The placement group name + PlacementGroupName *string `pulumi:"placementGroupName"` + PostInstallScriptUri *string `pulumi:"postInstallScriptUri"` + PrivateInterfaceId *int `pulumi:"privateInterfaceId"` + PrivateNetworkOnly *bool `pulumi:"privateNetworkOnly"` + PrivateSecurityGroupIds []int `pulumi:"privateSecurityGroupIds"` + PrivateSubnet *string `pulumi:"privateSubnet"` + PrivateSubnetId *int `pulumi:"privateSubnetId"` + PrivateVlanId *int `pulumi:"privateVlanId"` + PublicBandwidthLimited *int `pulumi:"publicBandwidthLimited"` + PublicBandwidthUnlimited *bool `pulumi:"publicBandwidthUnlimited"` + PublicInterfaceId *int `pulumi:"publicInterfaceId"` + PublicIpv6Subnet *string `pulumi:"publicIpv6Subnet"` + PublicIpv6SubnetId *int `pulumi:"publicIpv6SubnetId"` + PublicSecurityGroupIds []int `pulumi:"publicSecurityGroupIds"` + PublicSubnet *string `pulumi:"publicSubnet"` + PublicSubnetId *int `pulumi:"publicSubnetId"` + PublicVlanId *int `pulumi:"publicVlanId"` + // Quote ID for Quote based provisioning + QuoteId *int `pulumi:"quoteId"` + // The reserved group id + ReservedCapacityId *int `pulumi:"reservedCapacityId"` + // The reserved group id + ReservedCapacityName *string `pulumi:"reservedCapacityName"` + // The primary disk of reserved instance + ReservedInstancePrimaryDisk *int `pulumi:"reservedInstancePrimaryDisk"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + SecondaryIpAddresses []string `pulumi:"secondaryIpAddresses"` + SecondaryIpCount *int `pulumi:"secondaryIpCount"` + SshKeyIds []int `pulumi:"sshKeyIds"` + Tags []string `pulumi:"tags"` + Transient *bool `pulumi:"transient"` + UserMetadata *string `pulumi:"userMetadata"` + // Deprecated: This field is deprecated. Use timeouts block instead + WaitTimeMinutes *int `pulumi:"waitTimeMinutes"` +} + +type ComputeVmInstanceState struct { + BlockStorageIds pulumi.IntArrayInput + BulkVms ComputeVmInstanceBulkVmArrayInput + Cores pulumi.IntPtrInput + Datacenter pulumi.StringPtrInput + // The user provided datacenter options + DatacenterChoices pulumi.StringMapArrayInput + DedicatedAcctHostOnly pulumi.BoolPtrInput + DedicatedHostId pulumi.IntPtrInput + DedicatedHostName pulumi.StringPtrInput + Disks pulumi.IntArrayInput + Domain pulumi.StringPtrInput + Evault pulumi.IntPtrInput + FileStorageIds pulumi.IntArrayInput + // Flavor key name used to provision vm. + FlavorKeyName pulumi.StringPtrInput + Hostname pulumi.StringPtrInput + HourlyBilling pulumi.BoolPtrInput + ImageId pulumi.IntPtrInput + IpAddressId pulumi.IntPtrInput + IpAddressIdPrivate pulumi.IntPtrInput + Ipv4Address pulumi.StringPtrInput + Ipv4AddressPrivate pulumi.StringPtrInput + Ipv6Address pulumi.StringPtrInput + Ipv6AddressId pulumi.IntPtrInput + Ipv6Enabled pulumi.BoolPtrInput + Ipv6StaticEnabled pulumi.BoolPtrInput + LocalDisk pulumi.BoolPtrInput + Memory pulumi.IntPtrInput + NetworkSpeed pulumi.IntPtrInput + Notes pulumi.StringPtrInput + OsReferenceCode pulumi.StringPtrInput + // The placement group id + PlacementGroupId pulumi.IntPtrInput + // The placement group name + PlacementGroupName pulumi.StringPtrInput + PostInstallScriptUri pulumi.StringPtrInput + PrivateInterfaceId pulumi.IntPtrInput + PrivateNetworkOnly pulumi.BoolPtrInput + PrivateSecurityGroupIds pulumi.IntArrayInput + PrivateSubnet pulumi.StringPtrInput + PrivateSubnetId pulumi.IntPtrInput + PrivateVlanId pulumi.IntPtrInput + PublicBandwidthLimited pulumi.IntPtrInput + PublicBandwidthUnlimited pulumi.BoolPtrInput + PublicInterfaceId pulumi.IntPtrInput + PublicIpv6Subnet pulumi.StringPtrInput + PublicIpv6SubnetId pulumi.IntPtrInput + PublicSecurityGroupIds pulumi.IntArrayInput + PublicSubnet pulumi.StringPtrInput + PublicSubnetId pulumi.IntPtrInput + PublicVlanId pulumi.IntPtrInput + // Quote ID for Quote based provisioning + QuoteId pulumi.IntPtrInput + // The reserved group id + ReservedCapacityId pulumi.IntPtrInput + // The reserved group id + ReservedCapacityName pulumi.StringPtrInput + // The primary disk of reserved instance + ReservedInstancePrimaryDisk pulumi.IntPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + SecondaryIpAddresses pulumi.StringArrayInput + SecondaryIpCount pulumi.IntPtrInput + SshKeyIds pulumi.IntArrayInput + Tags pulumi.StringArrayInput + Transient pulumi.BoolPtrInput + UserMetadata pulumi.StringPtrInput + // Deprecated: This field is deprecated. Use timeouts block instead + WaitTimeMinutes pulumi.IntPtrInput +} + +func (ComputeVmInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*computeVmInstanceState)(nil)).Elem() +} + +type computeVmInstanceArgs struct { + BlockStorageIds []int `pulumi:"blockStorageIds"` + BulkVms []ComputeVmInstanceBulkVm `pulumi:"bulkVms"` + Cores *int `pulumi:"cores"` + Datacenter *string `pulumi:"datacenter"` + // The user provided datacenter options + DatacenterChoices []map[string]string `pulumi:"datacenterChoices"` + DedicatedAcctHostOnly *bool `pulumi:"dedicatedAcctHostOnly"` + DedicatedHostId *int `pulumi:"dedicatedHostId"` + DedicatedHostName *string `pulumi:"dedicatedHostName"` + Disks []int `pulumi:"disks"` + Domain *string `pulumi:"domain"` + Evault *int `pulumi:"evault"` + FileStorageIds []int `pulumi:"fileStorageIds"` + // Flavor key name used to provision vm. + FlavorKeyName *string `pulumi:"flavorKeyName"` + Hostname *string `pulumi:"hostname"` + HourlyBilling *bool `pulumi:"hourlyBilling"` + ImageId *int `pulumi:"imageId"` + Ipv6Enabled *bool `pulumi:"ipv6Enabled"` + Ipv6StaticEnabled *bool `pulumi:"ipv6StaticEnabled"` + LocalDisk *bool `pulumi:"localDisk"` + Memory *int `pulumi:"memory"` + NetworkSpeed *int `pulumi:"networkSpeed"` + Notes *string `pulumi:"notes"` + OsReferenceCode *string `pulumi:"osReferenceCode"` + // The placement group id + PlacementGroupId *int `pulumi:"placementGroupId"` + // The placement group name + PlacementGroupName *string `pulumi:"placementGroupName"` + PostInstallScriptUri *string `pulumi:"postInstallScriptUri"` + PrivateNetworkOnly *bool `pulumi:"privateNetworkOnly"` + PrivateSecurityGroupIds []int `pulumi:"privateSecurityGroupIds"` + PrivateSubnet *string `pulumi:"privateSubnet"` + PrivateVlanId *int `pulumi:"privateVlanId"` + PublicBandwidthLimited *int `pulumi:"publicBandwidthLimited"` + PublicBandwidthUnlimited *bool `pulumi:"publicBandwidthUnlimited"` + PublicSecurityGroupIds []int `pulumi:"publicSecurityGroupIds"` + PublicSubnet *string `pulumi:"publicSubnet"` + PublicVlanId *int `pulumi:"publicVlanId"` + // Quote ID for Quote based provisioning + QuoteId *int `pulumi:"quoteId"` + // The reserved group id + ReservedCapacityId *int `pulumi:"reservedCapacityId"` + // The reserved group id + ReservedCapacityName *string `pulumi:"reservedCapacityName"` + // The primary disk of reserved instance + ReservedInstancePrimaryDisk *int `pulumi:"reservedInstancePrimaryDisk"` + SecondaryIpCount *int `pulumi:"secondaryIpCount"` + SshKeyIds []int `pulumi:"sshKeyIds"` + Tags []string `pulumi:"tags"` + Transient *bool `pulumi:"transient"` + UserMetadata *string `pulumi:"userMetadata"` + // Deprecated: This field is deprecated. Use timeouts block instead + WaitTimeMinutes *int `pulumi:"waitTimeMinutes"` +} + +// The set of arguments for constructing a ComputeVmInstance resource. +type ComputeVmInstanceArgs struct { + BlockStorageIds pulumi.IntArrayInput + BulkVms ComputeVmInstanceBulkVmArrayInput + Cores pulumi.IntPtrInput + Datacenter pulumi.StringPtrInput + // The user provided datacenter options + DatacenterChoices pulumi.StringMapArrayInput + DedicatedAcctHostOnly pulumi.BoolPtrInput + DedicatedHostId pulumi.IntPtrInput + DedicatedHostName pulumi.StringPtrInput + Disks pulumi.IntArrayInput + Domain pulumi.StringPtrInput + Evault pulumi.IntPtrInput + FileStorageIds pulumi.IntArrayInput + // Flavor key name used to provision vm. + FlavorKeyName pulumi.StringPtrInput + Hostname pulumi.StringPtrInput + HourlyBilling pulumi.BoolPtrInput + ImageId pulumi.IntPtrInput + Ipv6Enabled pulumi.BoolPtrInput + Ipv6StaticEnabled pulumi.BoolPtrInput + LocalDisk pulumi.BoolPtrInput + Memory pulumi.IntPtrInput + NetworkSpeed pulumi.IntPtrInput + Notes pulumi.StringPtrInput + OsReferenceCode pulumi.StringPtrInput + // The placement group id + PlacementGroupId pulumi.IntPtrInput + // The placement group name + PlacementGroupName pulumi.StringPtrInput + PostInstallScriptUri pulumi.StringPtrInput + PrivateNetworkOnly pulumi.BoolPtrInput + PrivateSecurityGroupIds pulumi.IntArrayInput + PrivateSubnet pulumi.StringPtrInput + PrivateVlanId pulumi.IntPtrInput + PublicBandwidthLimited pulumi.IntPtrInput + PublicBandwidthUnlimited pulumi.BoolPtrInput + PublicSecurityGroupIds pulumi.IntArrayInput + PublicSubnet pulumi.StringPtrInput + PublicVlanId pulumi.IntPtrInput + // Quote ID for Quote based provisioning + QuoteId pulumi.IntPtrInput + // The reserved group id + ReservedCapacityId pulumi.IntPtrInput + // The reserved group id + ReservedCapacityName pulumi.StringPtrInput + // The primary disk of reserved instance + ReservedInstancePrimaryDisk pulumi.IntPtrInput + SecondaryIpCount pulumi.IntPtrInput + SshKeyIds pulumi.IntArrayInput + Tags pulumi.StringArrayInput + Transient pulumi.BoolPtrInput + UserMetadata pulumi.StringPtrInput + // Deprecated: This field is deprecated. Use timeouts block instead + WaitTimeMinutes pulumi.IntPtrInput +} + +func (ComputeVmInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeVmInstanceArgs)(nil)).Elem() +} + +type ComputeVmInstanceInput interface { + pulumi.Input + + ToComputeVmInstanceOutput() ComputeVmInstanceOutput + ToComputeVmInstanceOutputWithContext(ctx context.Context) ComputeVmInstanceOutput +} + +func (*ComputeVmInstance) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeVmInstance)(nil)).Elem() +} + +func (i *ComputeVmInstance) ToComputeVmInstanceOutput() ComputeVmInstanceOutput { + return i.ToComputeVmInstanceOutputWithContext(context.Background()) +} + +func (i *ComputeVmInstance) ToComputeVmInstanceOutputWithContext(ctx context.Context) ComputeVmInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeVmInstanceOutput) +} + +type ComputeVmInstanceOutput struct{ *pulumi.OutputState } + +func (ComputeVmInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeVmInstance)(nil)).Elem() +} + +func (o ComputeVmInstanceOutput) ToComputeVmInstanceOutput() ComputeVmInstanceOutput { + return o +} + +func (o ComputeVmInstanceOutput) ToComputeVmInstanceOutputWithContext(ctx context.Context) ComputeVmInstanceOutput { + return o +} + +func (o ComputeVmInstanceOutput) BlockStorageIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntArrayOutput { return v.BlockStorageIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeVmInstanceOutput) BulkVms() ComputeVmInstanceBulkVmArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) ComputeVmInstanceBulkVmArrayOutput { return v.BulkVms }).(ComputeVmInstanceBulkVmArrayOutput) +} + +func (o ComputeVmInstanceOutput) Cores() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.Cores }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.Datacenter }).(pulumi.StringOutput) +} + +// The user provided datacenter options +func (o ComputeVmInstanceOutput) DatacenterChoices() pulumi.StringMapArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringMapArrayOutput { return v.DatacenterChoices }).(pulumi.StringMapArrayOutput) +} + +func (o ComputeVmInstanceOutput) DedicatedAcctHostOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.BoolPtrOutput { return v.DedicatedAcctHostOnly }).(pulumi.BoolPtrOutput) +} + +func (o ComputeVmInstanceOutput) DedicatedHostId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.DedicatedHostId }).(pulumi.IntPtrOutput) +} + +func (o ComputeVmInstanceOutput) DedicatedHostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.DedicatedHostName }).(pulumi.StringPtrOutput) +} + +func (o ComputeVmInstanceOutput) Disks() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntArrayOutput { return v.Disks }).(pulumi.IntArrayOutput) +} + +func (o ComputeVmInstanceOutput) Domain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.Domain }).(pulumi.StringPtrOutput) +} + +func (o ComputeVmInstanceOutput) Evault() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.Evault }).(pulumi.IntPtrOutput) +} + +func (o ComputeVmInstanceOutput) FileStorageIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntArrayOutput { return v.FileStorageIds }).(pulumi.IntArrayOutput) +} + +// Flavor key name used to provision vm. +func (o ComputeVmInstanceOutput) FlavorKeyName() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.FlavorKeyName }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.Hostname }).(pulumi.StringPtrOutput) +} + +func (o ComputeVmInstanceOutput) HourlyBilling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.BoolPtrOutput { return v.HourlyBilling }).(pulumi.BoolPtrOutput) +} + +func (o ComputeVmInstanceOutput) ImageId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.ImageId }).(pulumi.IntPtrOutput) +} + +func (o ComputeVmInstanceOutput) IpAddressId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.IpAddressId }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) IpAddressIdPrivate() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.IpAddressIdPrivate }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) Ipv4Address() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.Ipv4Address }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceOutput) Ipv4AddressPrivate() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.Ipv4AddressPrivate }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceOutput) Ipv6Address() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.Ipv6Address }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceOutput) Ipv6AddressId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.Ipv6AddressId }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) Ipv6Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.BoolPtrOutput { return v.Ipv6Enabled }).(pulumi.BoolPtrOutput) +} + +func (o ComputeVmInstanceOutput) Ipv6StaticEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.BoolPtrOutput { return v.Ipv6StaticEnabled }).(pulumi.BoolPtrOutput) +} + +func (o ComputeVmInstanceOutput) LocalDisk() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.BoolPtrOutput { return v.LocalDisk }).(pulumi.BoolPtrOutput) +} + +func (o ComputeVmInstanceOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.Memory }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) NetworkSpeed() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.NetworkSpeed }).(pulumi.IntPtrOutput) +} + +func (o ComputeVmInstanceOutput) Notes() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.Notes }).(pulumi.StringPtrOutput) +} + +func (o ComputeVmInstanceOutput) OsReferenceCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.OsReferenceCode }).(pulumi.StringPtrOutput) +} + +// The placement group id +func (o ComputeVmInstanceOutput) PlacementGroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.PlacementGroupId }).(pulumi.IntPtrOutput) +} + +// The placement group name +func (o ComputeVmInstanceOutput) PlacementGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.PlacementGroupName }).(pulumi.StringPtrOutput) +} + +func (o ComputeVmInstanceOutput) PostInstallScriptUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.PostInstallScriptUri }).(pulumi.StringPtrOutput) +} + +func (o ComputeVmInstanceOutput) PrivateInterfaceId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.PrivateInterfaceId }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) PrivateNetworkOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.BoolPtrOutput { return v.PrivateNetworkOnly }).(pulumi.BoolPtrOutput) +} + +func (o ComputeVmInstanceOutput) PrivateSecurityGroupIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntArrayOutput { return v.PrivateSecurityGroupIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeVmInstanceOutput) PrivateSubnet() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.PrivateSubnet }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceOutput) PrivateSubnetId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.PrivateSubnetId }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) PrivateVlanId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.PrivateVlanId }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) PublicBandwidthLimited() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.PublicBandwidthLimited }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) PublicBandwidthUnlimited() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.BoolPtrOutput { return v.PublicBandwidthUnlimited }).(pulumi.BoolPtrOutput) +} + +func (o ComputeVmInstanceOutput) PublicInterfaceId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.PublicInterfaceId }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) PublicIpv6Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.PublicIpv6Subnet }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceOutput) PublicIpv6SubnetId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.PublicIpv6SubnetId }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) PublicSecurityGroupIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntArrayOutput { return v.PublicSecurityGroupIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeVmInstanceOutput) PublicSubnet() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.PublicSubnet }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceOutput) PublicSubnetId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.PublicSubnetId }).(pulumi.IntOutput) +} + +func (o ComputeVmInstanceOutput) PublicVlanId() pulumi.IntOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntOutput { return v.PublicVlanId }).(pulumi.IntOutput) +} + +// Quote ID for Quote based provisioning +func (o ComputeVmInstanceOutput) QuoteId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.QuoteId }).(pulumi.IntPtrOutput) +} + +// The reserved group id +func (o ComputeVmInstanceOutput) ReservedCapacityId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.ReservedCapacityId }).(pulumi.IntPtrOutput) +} + +// The reserved group id +func (o ComputeVmInstanceOutput) ReservedCapacityName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.ReservedCapacityName }).(pulumi.StringPtrOutput) +} + +// The primary disk of reserved instance +func (o ComputeVmInstanceOutput) ReservedInstancePrimaryDisk() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.ReservedInstancePrimaryDisk }).(pulumi.IntPtrOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o ComputeVmInstanceOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The name of the resource +func (o ComputeVmInstanceOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o ComputeVmInstanceOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceOutput) SecondaryIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringArrayOutput { return v.SecondaryIpAddresses }).(pulumi.StringArrayOutput) +} + +func (o ComputeVmInstanceOutput) SecondaryIpCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.SecondaryIpCount }).(pulumi.IntPtrOutput) +} + +func (o ComputeVmInstanceOutput) SshKeyIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntArrayOutput { return v.SshKeyIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeVmInstanceOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o ComputeVmInstanceOutput) Transient() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.BoolPtrOutput { return v.Transient }).(pulumi.BoolPtrOutput) +} + +func (o ComputeVmInstanceOutput) UserMetadata() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.StringPtrOutput { return v.UserMetadata }).(pulumi.StringPtrOutput) +} + +// Deprecated: This field is deprecated. Use timeouts block instead +func (o ComputeVmInstanceOutput) WaitTimeMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ComputeVmInstance) pulumi.IntPtrOutput { return v.WaitTimeMinutes }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeVmInstanceInput)(nil)).Elem(), &ComputeVmInstance{}) + pulumi.RegisterOutputType(ComputeVmInstanceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBackupPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBackupPolicy.go new file mode 100644 index 000000000..7ceda3cff --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBackupPolicy.go @@ -0,0 +1,207 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type CosBackupPolicy struct { + pulumi.CustomResourceState + + // The type of backup to support. + BackupType pulumi.StringOutput `pulumi:"backupType"` + // Bucket Crn of the source bucket. + BucketCrn pulumi.StringOutput `pulumi:"bucketCrn"` + // Number of days after which the objects inside backup vault should be deleted. + InitialDeleteAfterDays pulumi.IntOutput `pulumi:"initialDeleteAfterDays"` + // Id of the backup policy applied on the source bucket + PolicyId pulumi.StringOutput `pulumi:"policyId"` + // Name of the backup policy to be applied on the source bucket. + PolicyName pulumi.StringOutput `pulumi:"policyName"` + // The CRN for a COS BackupVault. + TargetBackupVaultCrn pulumi.StringOutput `pulumi:"targetBackupVaultCrn"` +} + +// NewCosBackupPolicy registers a new resource with the given unique name, arguments, and options. +func NewCosBackupPolicy(ctx *pulumi.Context, + name string, args *CosBackupPolicyArgs, opts ...pulumi.ResourceOption) (*CosBackupPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BackupType == nil { + return nil, errors.New("invalid value for required argument 'BackupType'") + } + if args.BucketCrn == nil { + return nil, errors.New("invalid value for required argument 'BucketCrn'") + } + if args.InitialDeleteAfterDays == nil { + return nil, errors.New("invalid value for required argument 'InitialDeleteAfterDays'") + } + if args.PolicyName == nil { + return nil, errors.New("invalid value for required argument 'PolicyName'") + } + if args.TargetBackupVaultCrn == nil { + return nil, errors.New("invalid value for required argument 'TargetBackupVaultCrn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CosBackupPolicy + err := ctx.RegisterResource("ibmcloud:index/cosBackupPolicy:CosBackupPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCosBackupPolicy gets an existing CosBackupPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCosBackupPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CosBackupPolicyState, opts ...pulumi.ResourceOption) (*CosBackupPolicy, error) { + var resource CosBackupPolicy + err := ctx.ReadResource("ibmcloud:index/cosBackupPolicy:CosBackupPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CosBackupPolicy resources. +type cosBackupPolicyState struct { + // The type of backup to support. + BackupType *string `pulumi:"backupType"` + // Bucket Crn of the source bucket. + BucketCrn *string `pulumi:"bucketCrn"` + // Number of days after which the objects inside backup vault should be deleted. + InitialDeleteAfterDays *int `pulumi:"initialDeleteAfterDays"` + // Id of the backup policy applied on the source bucket + PolicyId *string `pulumi:"policyId"` + // Name of the backup policy to be applied on the source bucket. + PolicyName *string `pulumi:"policyName"` + // The CRN for a COS BackupVault. + TargetBackupVaultCrn *string `pulumi:"targetBackupVaultCrn"` +} + +type CosBackupPolicyState struct { + // The type of backup to support. + BackupType pulumi.StringPtrInput + // Bucket Crn of the source bucket. + BucketCrn pulumi.StringPtrInput + // Number of days after which the objects inside backup vault should be deleted. + InitialDeleteAfterDays pulumi.IntPtrInput + // Id of the backup policy applied on the source bucket + PolicyId pulumi.StringPtrInput + // Name of the backup policy to be applied on the source bucket. + PolicyName pulumi.StringPtrInput + // The CRN for a COS BackupVault. + TargetBackupVaultCrn pulumi.StringPtrInput +} + +func (CosBackupPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*cosBackupPolicyState)(nil)).Elem() +} + +type cosBackupPolicyArgs struct { + // The type of backup to support. + BackupType string `pulumi:"backupType"` + // Bucket Crn of the source bucket. + BucketCrn string `pulumi:"bucketCrn"` + // Number of days after which the objects inside backup vault should be deleted. + InitialDeleteAfterDays int `pulumi:"initialDeleteAfterDays"` + // Name of the backup policy to be applied on the source bucket. + PolicyName string `pulumi:"policyName"` + // The CRN for a COS BackupVault. + TargetBackupVaultCrn string `pulumi:"targetBackupVaultCrn"` +} + +// The set of arguments for constructing a CosBackupPolicy resource. +type CosBackupPolicyArgs struct { + // The type of backup to support. + BackupType pulumi.StringInput + // Bucket Crn of the source bucket. + BucketCrn pulumi.StringInput + // Number of days after which the objects inside backup vault should be deleted. + InitialDeleteAfterDays pulumi.IntInput + // Name of the backup policy to be applied on the source bucket. + PolicyName pulumi.StringInput + // The CRN for a COS BackupVault. + TargetBackupVaultCrn pulumi.StringInput +} + +func (CosBackupPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cosBackupPolicyArgs)(nil)).Elem() +} + +type CosBackupPolicyInput interface { + pulumi.Input + + ToCosBackupPolicyOutput() CosBackupPolicyOutput + ToCosBackupPolicyOutputWithContext(ctx context.Context) CosBackupPolicyOutput +} + +func (*CosBackupPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**CosBackupPolicy)(nil)).Elem() +} + +func (i *CosBackupPolicy) ToCosBackupPolicyOutput() CosBackupPolicyOutput { + return i.ToCosBackupPolicyOutputWithContext(context.Background()) +} + +func (i *CosBackupPolicy) ToCosBackupPolicyOutputWithContext(ctx context.Context) CosBackupPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBackupPolicyOutput) +} + +type CosBackupPolicyOutput struct{ *pulumi.OutputState } + +func (CosBackupPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBackupPolicy)(nil)).Elem() +} + +func (o CosBackupPolicyOutput) ToCosBackupPolicyOutput() CosBackupPolicyOutput { + return o +} + +func (o CosBackupPolicyOutput) ToCosBackupPolicyOutputWithContext(ctx context.Context) CosBackupPolicyOutput { + return o +} + +// The type of backup to support. +func (o CosBackupPolicyOutput) BackupType() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupPolicy) pulumi.StringOutput { return v.BackupType }).(pulumi.StringOutput) +} + +// Bucket Crn of the source bucket. +func (o CosBackupPolicyOutput) BucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupPolicy) pulumi.StringOutput { return v.BucketCrn }).(pulumi.StringOutput) +} + +// Number of days after which the objects inside backup vault should be deleted. +func (o CosBackupPolicyOutput) InitialDeleteAfterDays() pulumi.IntOutput { + return o.ApplyT(func(v *CosBackupPolicy) pulumi.IntOutput { return v.InitialDeleteAfterDays }).(pulumi.IntOutput) +} + +// Id of the backup policy applied on the source bucket +func (o CosBackupPolicyOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupPolicy) pulumi.StringOutput { return v.PolicyId }).(pulumi.StringOutput) +} + +// Name of the backup policy to be applied on the source bucket. +func (o CosBackupPolicyOutput) PolicyName() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupPolicy) pulumi.StringOutput { return v.PolicyName }).(pulumi.StringOutput) +} + +// The CRN for a COS BackupVault. +func (o CosBackupPolicyOutput) TargetBackupVaultCrn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupPolicy) pulumi.StringOutput { return v.TargetBackupVaultCrn }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CosBackupPolicyInput)(nil)).Elem(), &CosBackupPolicy{}) + pulumi.RegisterOutputType(CosBackupPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBackupVault.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBackupVault.go new file mode 100644 index 000000000..d7a1b48e3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBackupVault.go @@ -0,0 +1,216 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type CosBackupVault struct { + pulumi.CustomResourceState + + // Activity Tracking configuration.Whether to send notifications for management events on the BackupVault. + ActivityTrackingManagementEvents pulumi.BoolPtrOutput `pulumi:"activityTrackingManagementEvents"` + // CRN of resource instance + BackupVaultCrn pulumi.StringOutput `pulumi:"backupVaultCrn"` + // Name of the Backup Vault. + BackupVaultName pulumi.StringOutput `pulumi:"backupVaultName"` + // The CRN for a KeyProtect root key. + KmsKeyCrn pulumi.StringPtrOutput `pulumi:"kmsKeyCrn"` + // Metrics Monitoring configuration.Whether usage metrics are collected for this BackupVault. + MetricsMonitoringUsageMetrics pulumi.BoolPtrOutput `pulumi:"metricsMonitoringUsageMetrics"` + // Location where backup vault to be created. + Region pulumi.StringOutput `pulumi:"region"` + // Instance id for the backup vault. + ServiceInstanceId pulumi.StringOutput `pulumi:"serviceInstanceId"` +} + +// NewCosBackupVault registers a new resource with the given unique name, arguments, and options. +func NewCosBackupVault(ctx *pulumi.Context, + name string, args *CosBackupVaultArgs, opts ...pulumi.ResourceOption) (*CosBackupVault, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BackupVaultName == nil { + return nil, errors.New("invalid value for required argument 'BackupVaultName'") + } + if args.Region == nil { + return nil, errors.New("invalid value for required argument 'Region'") + } + if args.ServiceInstanceId == nil { + return nil, errors.New("invalid value for required argument 'ServiceInstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CosBackupVault + err := ctx.RegisterResource("ibmcloud:index/cosBackupVault:CosBackupVault", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCosBackupVault gets an existing CosBackupVault resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCosBackupVault(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CosBackupVaultState, opts ...pulumi.ResourceOption) (*CosBackupVault, error) { + var resource CosBackupVault + err := ctx.ReadResource("ibmcloud:index/cosBackupVault:CosBackupVault", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CosBackupVault resources. +type cosBackupVaultState struct { + // Activity Tracking configuration.Whether to send notifications for management events on the BackupVault. + ActivityTrackingManagementEvents *bool `pulumi:"activityTrackingManagementEvents"` + // CRN of resource instance + BackupVaultCrn *string `pulumi:"backupVaultCrn"` + // Name of the Backup Vault. + BackupVaultName *string `pulumi:"backupVaultName"` + // The CRN for a KeyProtect root key. + KmsKeyCrn *string `pulumi:"kmsKeyCrn"` + // Metrics Monitoring configuration.Whether usage metrics are collected for this BackupVault. + MetricsMonitoringUsageMetrics *bool `pulumi:"metricsMonitoringUsageMetrics"` + // Location where backup vault to be created. + Region *string `pulumi:"region"` + // Instance id for the backup vault. + ServiceInstanceId *string `pulumi:"serviceInstanceId"` +} + +type CosBackupVaultState struct { + // Activity Tracking configuration.Whether to send notifications for management events on the BackupVault. + ActivityTrackingManagementEvents pulumi.BoolPtrInput + // CRN of resource instance + BackupVaultCrn pulumi.StringPtrInput + // Name of the Backup Vault. + BackupVaultName pulumi.StringPtrInput + // The CRN for a KeyProtect root key. + KmsKeyCrn pulumi.StringPtrInput + // Metrics Monitoring configuration.Whether usage metrics are collected for this BackupVault. + MetricsMonitoringUsageMetrics pulumi.BoolPtrInput + // Location where backup vault to be created. + Region pulumi.StringPtrInput + // Instance id for the backup vault. + ServiceInstanceId pulumi.StringPtrInput +} + +func (CosBackupVaultState) ElementType() reflect.Type { + return reflect.TypeOf((*cosBackupVaultState)(nil)).Elem() +} + +type cosBackupVaultArgs struct { + // Activity Tracking configuration.Whether to send notifications for management events on the BackupVault. + ActivityTrackingManagementEvents *bool `pulumi:"activityTrackingManagementEvents"` + // Name of the Backup Vault. + BackupVaultName string `pulumi:"backupVaultName"` + // The CRN for a KeyProtect root key. + KmsKeyCrn *string `pulumi:"kmsKeyCrn"` + // Metrics Monitoring configuration.Whether usage metrics are collected for this BackupVault. + MetricsMonitoringUsageMetrics *bool `pulumi:"metricsMonitoringUsageMetrics"` + // Location where backup vault to be created. + Region string `pulumi:"region"` + // Instance id for the backup vault. + ServiceInstanceId string `pulumi:"serviceInstanceId"` +} + +// The set of arguments for constructing a CosBackupVault resource. +type CosBackupVaultArgs struct { + // Activity Tracking configuration.Whether to send notifications for management events on the BackupVault. + ActivityTrackingManagementEvents pulumi.BoolPtrInput + // Name of the Backup Vault. + BackupVaultName pulumi.StringInput + // The CRN for a KeyProtect root key. + KmsKeyCrn pulumi.StringPtrInput + // Metrics Monitoring configuration.Whether usage metrics are collected for this BackupVault. + MetricsMonitoringUsageMetrics pulumi.BoolPtrInput + // Location where backup vault to be created. + Region pulumi.StringInput + // Instance id for the backup vault. + ServiceInstanceId pulumi.StringInput +} + +func (CosBackupVaultArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cosBackupVaultArgs)(nil)).Elem() +} + +type CosBackupVaultInput interface { + pulumi.Input + + ToCosBackupVaultOutput() CosBackupVaultOutput + ToCosBackupVaultOutputWithContext(ctx context.Context) CosBackupVaultOutput +} + +func (*CosBackupVault) ElementType() reflect.Type { + return reflect.TypeOf((**CosBackupVault)(nil)).Elem() +} + +func (i *CosBackupVault) ToCosBackupVaultOutput() CosBackupVaultOutput { + return i.ToCosBackupVaultOutputWithContext(context.Background()) +} + +func (i *CosBackupVault) ToCosBackupVaultOutputWithContext(ctx context.Context) CosBackupVaultOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBackupVaultOutput) +} + +type CosBackupVaultOutput struct{ *pulumi.OutputState } + +func (CosBackupVaultOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBackupVault)(nil)).Elem() +} + +func (o CosBackupVaultOutput) ToCosBackupVaultOutput() CosBackupVaultOutput { + return o +} + +func (o CosBackupVaultOutput) ToCosBackupVaultOutputWithContext(ctx context.Context) CosBackupVaultOutput { + return o +} + +// Activity Tracking configuration.Whether to send notifications for management events on the BackupVault. +func (o CosBackupVaultOutput) ActivityTrackingManagementEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBackupVault) pulumi.BoolPtrOutput { return v.ActivityTrackingManagementEvents }).(pulumi.BoolPtrOutput) +} + +// CRN of resource instance +func (o CosBackupVaultOutput) BackupVaultCrn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupVault) pulumi.StringOutput { return v.BackupVaultCrn }).(pulumi.StringOutput) +} + +// Name of the Backup Vault. +func (o CosBackupVaultOutput) BackupVaultName() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupVault) pulumi.StringOutput { return v.BackupVaultName }).(pulumi.StringOutput) +} + +// The CRN for a KeyProtect root key. +func (o CosBackupVaultOutput) KmsKeyCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBackupVault) pulumi.StringPtrOutput { return v.KmsKeyCrn }).(pulumi.StringPtrOutput) +} + +// Metrics Monitoring configuration.Whether usage metrics are collected for this BackupVault. +func (o CosBackupVaultOutput) MetricsMonitoringUsageMetrics() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBackupVault) pulumi.BoolPtrOutput { return v.MetricsMonitoringUsageMetrics }).(pulumi.BoolPtrOutput) +} + +// Location where backup vault to be created. +func (o CosBackupVaultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupVault) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Instance id for the backup vault. +func (o CosBackupVaultOutput) ServiceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *CosBackupVault) pulumi.StringOutput { return v.ServiceInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CosBackupVaultInput)(nil)).Elem(), &CosBackupVault{}) + pulumi.RegisterOutputType(CosBackupVaultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucket.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucket.go new file mode 100644 index 000000000..0faad6fec --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucket.go @@ -0,0 +1,524 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type CosBucket struct { + pulumi.CustomResourceState + + // Enable abort incomplete multipart upload to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + AbortIncompleteMultipartUploadDays CosBucketAbortIncompleteMultipartUploadDayArrayOutput `pulumi:"abortIncompleteMultipartUploadDays"` + // Enables sending log data to IBM Cloud Activity Tracker to provide visibility into bucket management, object read and write events. + ActivityTracking CosBucketActivityTrackingPtrOutput `pulumi:"activityTracking"` + // List of IPv4 or IPv6 addresses + AllowedIps pulumi.StringArrayOutput `pulumi:"allowedIps"` + // Enable configuration archiveRule (glacier/accelerated) to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ArchiveRule CosBucketArchiveRulePtrOutput `pulumi:"archiveRule"` + // COS Bucket name + BucketName pulumi.StringOutput `pulumi:"bucketName"` + // CRN of resource instance + Crn pulumi.StringOutput `pulumi:"crn"` + // Cros region location info + CrossRegionLocation pulumi.StringPtrOutput `pulumi:"crossRegionLocation"` + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrOutput `pulumi:"endpointType"` + // Enable configuration expireRule to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ExpireRules CosBucketExpireRuleArrayOutput `pulumi:"expireRules"` + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"` + // sets a maximum amount of storage (in bytes) available for a bucket + HardQuota pulumi.IntPtrOutput `pulumi:"hardQuota"` + // CRN of the key you want to use data at rest encryption + KeyProtect pulumi.StringPtrOutput `pulumi:"keyProtect"` + // CRN of the key you want to use data at rest encryption + KmsKeyCrn pulumi.StringPtrOutput `pulumi:"kmsKeyCrn"` + // Enables sending metrics to IBM Cloud Monitoring.All metrics are opt-in + MetricsMonitoring CosBucketMetricsMonitoringPtrOutput `pulumi:"metricsMonitoring"` + // Enable configuration expireRule to COS Bucket after a defined period of time + NoncurrentVersionExpiration CosBucketNoncurrentVersionExpirationPtrOutput `pulumi:"noncurrentVersionExpiration"` + // Enable objectlock for the bucket. When enabled, buckets within the container vault can have Object Lock Configuration applied to the bucket. + ObjectLock pulumi.BoolPtrOutput `pulumi:"objectLock"` + // Protect objects from accidental deletion or overwrites. Versioning allows you to keep multiple versions of an object protecting from unintentional data loss. + ObjectVersioning CosBucketObjectVersioningPtrOutput `pulumi:"objectVersioning"` + // Region Location info. + RegionLocation pulumi.StringPtrOutput `pulumi:"regionLocation"` + // resource instance ID + ResourceInstanceId pulumi.StringOutput `pulumi:"resourceInstanceId"` + // A retention policy is enabled at the IBM Cloud Object Storage bucket level. Minimum, maximum and default retention period are defined by this policy and apply to all objects in the bucket. + RetentionRule CosBucketRetentionRulePtrOutput `pulumi:"retentionRule"` + // Direct endpoint for the COS bucket + S3EndpointDirect pulumi.StringOutput `pulumi:"s3EndpointDirect"` + // Private endpoint for the COS bucket + S3EndpointPrivate pulumi.StringOutput `pulumi:"s3EndpointPrivate"` + // Public endpoint for the COS bucket + S3EndpointPublic pulumi.StringOutput `pulumi:"s3EndpointPublic"` + // Provide satellite location info. + SatelliteLocationId pulumi.StringPtrOutput `pulumi:"satelliteLocationId"` + // single site location info + SingleSiteLocation pulumi.StringPtrOutput `pulumi:"singleSiteLocation"` + // Storage class info + StorageClass pulumi.StringOutput `pulumi:"storageClass"` +} + +// NewCosBucket registers a new resource with the given unique name, arguments, and options. +func NewCosBucket(ctx *pulumi.Context, + name string, args *CosBucketArgs, opts ...pulumi.ResourceOption) (*CosBucket, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BucketName == nil { + return nil, errors.New("invalid value for required argument 'BucketName'") + } + if args.ResourceInstanceId == nil { + return nil, errors.New("invalid value for required argument 'ResourceInstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CosBucket + err := ctx.RegisterResource("ibmcloud:index/cosBucket:CosBucket", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCosBucket gets an existing CosBucket resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCosBucket(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CosBucketState, opts ...pulumi.ResourceOption) (*CosBucket, error) { + var resource CosBucket + err := ctx.ReadResource("ibmcloud:index/cosBucket:CosBucket", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CosBucket resources. +type cosBucketState struct { + // Enable abort incomplete multipart upload to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + AbortIncompleteMultipartUploadDays []CosBucketAbortIncompleteMultipartUploadDay `pulumi:"abortIncompleteMultipartUploadDays"` + // Enables sending log data to IBM Cloud Activity Tracker to provide visibility into bucket management, object read and write events. + ActivityTracking *CosBucketActivityTracking `pulumi:"activityTracking"` + // List of IPv4 or IPv6 addresses + AllowedIps []string `pulumi:"allowedIps"` + // Enable configuration archiveRule (glacier/accelerated) to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ArchiveRule *CosBucketArchiveRule `pulumi:"archiveRule"` + // COS Bucket name + BucketName *string `pulumi:"bucketName"` + // CRN of resource instance + Crn *string `pulumi:"crn"` + // Cros region location info + CrossRegionLocation *string `pulumi:"crossRegionLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // Enable configuration expireRule to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ExpireRules []CosBucketExpireRule `pulumi:"expireRules"` + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete *bool `pulumi:"forceDelete"` + // sets a maximum amount of storage (in bytes) available for a bucket + HardQuota *int `pulumi:"hardQuota"` + // CRN of the key you want to use data at rest encryption + KeyProtect *string `pulumi:"keyProtect"` + // CRN of the key you want to use data at rest encryption + KmsKeyCrn *string `pulumi:"kmsKeyCrn"` + // Enables sending metrics to IBM Cloud Monitoring.All metrics are opt-in + MetricsMonitoring *CosBucketMetricsMonitoring `pulumi:"metricsMonitoring"` + // Enable configuration expireRule to COS Bucket after a defined period of time + NoncurrentVersionExpiration *CosBucketNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpiration"` + // Enable objectlock for the bucket. When enabled, buckets within the container vault can have Object Lock Configuration applied to the bucket. + ObjectLock *bool `pulumi:"objectLock"` + // Protect objects from accidental deletion or overwrites. Versioning allows you to keep multiple versions of an object protecting from unintentional data loss. + ObjectVersioning *CosBucketObjectVersioning `pulumi:"objectVersioning"` + // Region Location info. + RegionLocation *string `pulumi:"regionLocation"` + // resource instance ID + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // A retention policy is enabled at the IBM Cloud Object Storage bucket level. Minimum, maximum and default retention period are defined by this policy and apply to all objects in the bucket. + RetentionRule *CosBucketRetentionRule `pulumi:"retentionRule"` + // Direct endpoint for the COS bucket + S3EndpointDirect *string `pulumi:"s3EndpointDirect"` + // Private endpoint for the COS bucket + S3EndpointPrivate *string `pulumi:"s3EndpointPrivate"` + // Public endpoint for the COS bucket + S3EndpointPublic *string `pulumi:"s3EndpointPublic"` + // Provide satellite location info. + SatelliteLocationId *string `pulumi:"satelliteLocationId"` + // single site location info + SingleSiteLocation *string `pulumi:"singleSiteLocation"` + // Storage class info + StorageClass *string `pulumi:"storageClass"` +} + +type CosBucketState struct { + // Enable abort incomplete multipart upload to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + AbortIncompleteMultipartUploadDays CosBucketAbortIncompleteMultipartUploadDayArrayInput + // Enables sending log data to IBM Cloud Activity Tracker to provide visibility into bucket management, object read and write events. + ActivityTracking CosBucketActivityTrackingPtrInput + // List of IPv4 or IPv6 addresses + AllowedIps pulumi.StringArrayInput + // Enable configuration archiveRule (glacier/accelerated) to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ArchiveRule CosBucketArchiveRulePtrInput + // COS Bucket name + BucketName pulumi.StringPtrInput + // CRN of resource instance + Crn pulumi.StringPtrInput + // Cros region location info + CrossRegionLocation pulumi.StringPtrInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // Enable configuration expireRule to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ExpireRules CosBucketExpireRuleArrayInput + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete pulumi.BoolPtrInput + // sets a maximum amount of storage (in bytes) available for a bucket + HardQuota pulumi.IntPtrInput + // CRN of the key you want to use data at rest encryption + KeyProtect pulumi.StringPtrInput + // CRN of the key you want to use data at rest encryption + KmsKeyCrn pulumi.StringPtrInput + // Enables sending metrics to IBM Cloud Monitoring.All metrics are opt-in + MetricsMonitoring CosBucketMetricsMonitoringPtrInput + // Enable configuration expireRule to COS Bucket after a defined period of time + NoncurrentVersionExpiration CosBucketNoncurrentVersionExpirationPtrInput + // Enable objectlock for the bucket. When enabled, buckets within the container vault can have Object Lock Configuration applied to the bucket. + ObjectLock pulumi.BoolPtrInput + // Protect objects from accidental deletion or overwrites. Versioning allows you to keep multiple versions of an object protecting from unintentional data loss. + ObjectVersioning CosBucketObjectVersioningPtrInput + // Region Location info. + RegionLocation pulumi.StringPtrInput + // resource instance ID + ResourceInstanceId pulumi.StringPtrInput + // A retention policy is enabled at the IBM Cloud Object Storage bucket level. Minimum, maximum and default retention period are defined by this policy and apply to all objects in the bucket. + RetentionRule CosBucketRetentionRulePtrInput + // Direct endpoint for the COS bucket + S3EndpointDirect pulumi.StringPtrInput + // Private endpoint for the COS bucket + S3EndpointPrivate pulumi.StringPtrInput + // Public endpoint for the COS bucket + S3EndpointPublic pulumi.StringPtrInput + // Provide satellite location info. + SatelliteLocationId pulumi.StringPtrInput + // single site location info + SingleSiteLocation pulumi.StringPtrInput + // Storage class info + StorageClass pulumi.StringPtrInput +} + +func (CosBucketState) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketState)(nil)).Elem() +} + +type cosBucketArgs struct { + // Enable abort incomplete multipart upload to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + AbortIncompleteMultipartUploadDays []CosBucketAbortIncompleteMultipartUploadDay `pulumi:"abortIncompleteMultipartUploadDays"` + // Enables sending log data to IBM Cloud Activity Tracker to provide visibility into bucket management, object read and write events. + ActivityTracking *CosBucketActivityTracking `pulumi:"activityTracking"` + // List of IPv4 or IPv6 addresses + AllowedIps []string `pulumi:"allowedIps"` + // Enable configuration archiveRule (glacier/accelerated) to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ArchiveRule *CosBucketArchiveRule `pulumi:"archiveRule"` + // COS Bucket name + BucketName string `pulumi:"bucketName"` + // Cros region location info + CrossRegionLocation *string `pulumi:"crossRegionLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // Enable configuration expireRule to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ExpireRules []CosBucketExpireRule `pulumi:"expireRules"` + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete *bool `pulumi:"forceDelete"` + // sets a maximum amount of storage (in bytes) available for a bucket + HardQuota *int `pulumi:"hardQuota"` + // CRN of the key you want to use data at rest encryption + KeyProtect *string `pulumi:"keyProtect"` + // CRN of the key you want to use data at rest encryption + KmsKeyCrn *string `pulumi:"kmsKeyCrn"` + // Enables sending metrics to IBM Cloud Monitoring.All metrics are opt-in + MetricsMonitoring *CosBucketMetricsMonitoring `pulumi:"metricsMonitoring"` + // Enable configuration expireRule to COS Bucket after a defined period of time + NoncurrentVersionExpiration *CosBucketNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpiration"` + // Enable objectlock for the bucket. When enabled, buckets within the container vault can have Object Lock Configuration applied to the bucket. + ObjectLock *bool `pulumi:"objectLock"` + // Protect objects from accidental deletion or overwrites. Versioning allows you to keep multiple versions of an object protecting from unintentional data loss. + ObjectVersioning *CosBucketObjectVersioning `pulumi:"objectVersioning"` + // Region Location info. + RegionLocation *string `pulumi:"regionLocation"` + // resource instance ID + ResourceInstanceId string `pulumi:"resourceInstanceId"` + // A retention policy is enabled at the IBM Cloud Object Storage bucket level. Minimum, maximum and default retention period are defined by this policy and apply to all objects in the bucket. + RetentionRule *CosBucketRetentionRule `pulumi:"retentionRule"` + // Provide satellite location info. + SatelliteLocationId *string `pulumi:"satelliteLocationId"` + // single site location info + SingleSiteLocation *string `pulumi:"singleSiteLocation"` + // Storage class info + StorageClass *string `pulumi:"storageClass"` +} + +// The set of arguments for constructing a CosBucket resource. +type CosBucketArgs struct { + // Enable abort incomplete multipart upload to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + AbortIncompleteMultipartUploadDays CosBucketAbortIncompleteMultipartUploadDayArrayInput + // Enables sending log data to IBM Cloud Activity Tracker to provide visibility into bucket management, object read and write events. + ActivityTracking CosBucketActivityTrackingPtrInput + // List of IPv4 or IPv6 addresses + AllowedIps pulumi.StringArrayInput + // Enable configuration archiveRule (glacier/accelerated) to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ArchiveRule CosBucketArchiveRulePtrInput + // COS Bucket name + BucketName pulumi.StringInput + // Cros region location info + CrossRegionLocation pulumi.StringPtrInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // Enable configuration expireRule to COS Bucket after a defined period of time + // + // Deprecated: Use the CosBucketLifecycleConfiguration resource instead + ExpireRules CosBucketExpireRuleArrayInput + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete pulumi.BoolPtrInput + // sets a maximum amount of storage (in bytes) available for a bucket + HardQuota pulumi.IntPtrInput + // CRN of the key you want to use data at rest encryption + KeyProtect pulumi.StringPtrInput + // CRN of the key you want to use data at rest encryption + KmsKeyCrn pulumi.StringPtrInput + // Enables sending metrics to IBM Cloud Monitoring.All metrics are opt-in + MetricsMonitoring CosBucketMetricsMonitoringPtrInput + // Enable configuration expireRule to COS Bucket after a defined period of time + NoncurrentVersionExpiration CosBucketNoncurrentVersionExpirationPtrInput + // Enable objectlock for the bucket. When enabled, buckets within the container vault can have Object Lock Configuration applied to the bucket. + ObjectLock pulumi.BoolPtrInput + // Protect objects from accidental deletion or overwrites. Versioning allows you to keep multiple versions of an object protecting from unintentional data loss. + ObjectVersioning CosBucketObjectVersioningPtrInput + // Region Location info. + RegionLocation pulumi.StringPtrInput + // resource instance ID + ResourceInstanceId pulumi.StringInput + // A retention policy is enabled at the IBM Cloud Object Storage bucket level. Minimum, maximum and default retention period are defined by this policy and apply to all objects in the bucket. + RetentionRule CosBucketRetentionRulePtrInput + // Provide satellite location info. + SatelliteLocationId pulumi.StringPtrInput + // single site location info + SingleSiteLocation pulumi.StringPtrInput + // Storage class info + StorageClass pulumi.StringPtrInput +} + +func (CosBucketArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketArgs)(nil)).Elem() +} + +type CosBucketInput interface { + pulumi.Input + + ToCosBucketOutput() CosBucketOutput + ToCosBucketOutputWithContext(ctx context.Context) CosBucketOutput +} + +func (*CosBucket) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucket)(nil)).Elem() +} + +func (i *CosBucket) ToCosBucketOutput() CosBucketOutput { + return i.ToCosBucketOutputWithContext(context.Background()) +} + +func (i *CosBucket) ToCosBucketOutputWithContext(ctx context.Context) CosBucketOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketOutput) +} + +type CosBucketOutput struct{ *pulumi.OutputState } + +func (CosBucketOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucket)(nil)).Elem() +} + +func (o CosBucketOutput) ToCosBucketOutput() CosBucketOutput { + return o +} + +func (o CosBucketOutput) ToCosBucketOutputWithContext(ctx context.Context) CosBucketOutput { + return o +} + +// Enable abort incomplete multipart upload to COS Bucket after a defined period of time +// +// Deprecated: Use the CosBucketLifecycleConfiguration resource instead +func (o CosBucketOutput) AbortIncompleteMultipartUploadDays() CosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return o.ApplyT(func(v *CosBucket) CosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return v.AbortIncompleteMultipartUploadDays + }).(CosBucketAbortIncompleteMultipartUploadDayArrayOutput) +} + +// Enables sending log data to IBM Cloud Activity Tracker to provide visibility into bucket management, object read and write events. +func (o CosBucketOutput) ActivityTracking() CosBucketActivityTrackingPtrOutput { + return o.ApplyT(func(v *CosBucket) CosBucketActivityTrackingPtrOutput { return v.ActivityTracking }).(CosBucketActivityTrackingPtrOutput) +} + +// List of IPv4 or IPv6 addresses +func (o CosBucketOutput) AllowedIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringArrayOutput { return v.AllowedIps }).(pulumi.StringArrayOutput) +} + +// Enable configuration archiveRule (glacier/accelerated) to COS Bucket after a defined period of time +// +// Deprecated: Use the CosBucketLifecycleConfiguration resource instead +func (o CosBucketOutput) ArchiveRule() CosBucketArchiveRulePtrOutput { + return o.ApplyT(func(v *CosBucket) CosBucketArchiveRulePtrOutput { return v.ArchiveRule }).(CosBucketArchiveRulePtrOutput) +} + +// COS Bucket name +func (o CosBucketOutput) BucketName() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringOutput { return v.BucketName }).(pulumi.StringOutput) +} + +// CRN of resource instance +func (o CosBucketOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Cros region location info +func (o CosBucketOutput) CrossRegionLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringPtrOutput { return v.CrossRegionLocation }).(pulumi.StringPtrOutput) +} + +// COS endpoint type: public, private, direct +func (o CosBucketOutput) EndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringPtrOutput { return v.EndpointType }).(pulumi.StringPtrOutput) +} + +// Enable configuration expireRule to COS Bucket after a defined period of time +// +// Deprecated: Use the CosBucketLifecycleConfiguration resource instead +func (o CosBucketOutput) ExpireRules() CosBucketExpireRuleArrayOutput { + return o.ApplyT(func(v *CosBucket) CosBucketExpireRuleArrayOutput { return v.ExpireRules }).(CosBucketExpireRuleArrayOutput) +} + +// COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. +func (o CosBucketOutput) ForceDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.BoolPtrOutput { return v.ForceDelete }).(pulumi.BoolPtrOutput) +} + +// sets a maximum amount of storage (in bytes) available for a bucket +func (o CosBucketOutput) HardQuota() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.IntPtrOutput { return v.HardQuota }).(pulumi.IntPtrOutput) +} + +// CRN of the key you want to use data at rest encryption +func (o CosBucketOutput) KeyProtect() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringPtrOutput { return v.KeyProtect }).(pulumi.StringPtrOutput) +} + +// CRN of the key you want to use data at rest encryption +func (o CosBucketOutput) KmsKeyCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringPtrOutput { return v.KmsKeyCrn }).(pulumi.StringPtrOutput) +} + +// Enables sending metrics to IBM Cloud Monitoring.All metrics are opt-in +func (o CosBucketOutput) MetricsMonitoring() CosBucketMetricsMonitoringPtrOutput { + return o.ApplyT(func(v *CosBucket) CosBucketMetricsMonitoringPtrOutput { return v.MetricsMonitoring }).(CosBucketMetricsMonitoringPtrOutput) +} + +// Enable configuration expireRule to COS Bucket after a defined period of time +func (o CosBucketOutput) NoncurrentVersionExpiration() CosBucketNoncurrentVersionExpirationPtrOutput { + return o.ApplyT(func(v *CosBucket) CosBucketNoncurrentVersionExpirationPtrOutput { return v.NoncurrentVersionExpiration }).(CosBucketNoncurrentVersionExpirationPtrOutput) +} + +// Enable objectlock for the bucket. When enabled, buckets within the container vault can have Object Lock Configuration applied to the bucket. +func (o CosBucketOutput) ObjectLock() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.BoolPtrOutput { return v.ObjectLock }).(pulumi.BoolPtrOutput) +} + +// Protect objects from accidental deletion or overwrites. Versioning allows you to keep multiple versions of an object protecting from unintentional data loss. +func (o CosBucketOutput) ObjectVersioning() CosBucketObjectVersioningPtrOutput { + return o.ApplyT(func(v *CosBucket) CosBucketObjectVersioningPtrOutput { return v.ObjectVersioning }).(CosBucketObjectVersioningPtrOutput) +} + +// Region Location info. +func (o CosBucketOutput) RegionLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringPtrOutput { return v.RegionLocation }).(pulumi.StringPtrOutput) +} + +// resource instance ID +func (o CosBucketOutput) ResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringOutput { return v.ResourceInstanceId }).(pulumi.StringOutput) +} + +// A retention policy is enabled at the IBM Cloud Object Storage bucket level. Minimum, maximum and default retention period are defined by this policy and apply to all objects in the bucket. +func (o CosBucketOutput) RetentionRule() CosBucketRetentionRulePtrOutput { + return o.ApplyT(func(v *CosBucket) CosBucketRetentionRulePtrOutput { return v.RetentionRule }).(CosBucketRetentionRulePtrOutput) +} + +// Direct endpoint for the COS bucket +func (o CosBucketOutput) S3EndpointDirect() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringOutput { return v.S3EndpointDirect }).(pulumi.StringOutput) +} + +// Private endpoint for the COS bucket +func (o CosBucketOutput) S3EndpointPrivate() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringOutput { return v.S3EndpointPrivate }).(pulumi.StringOutput) +} + +// Public endpoint for the COS bucket +func (o CosBucketOutput) S3EndpointPublic() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringOutput { return v.S3EndpointPublic }).(pulumi.StringOutput) +} + +// Provide satellite location info. +func (o CosBucketOutput) SatelliteLocationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringPtrOutput { return v.SatelliteLocationId }).(pulumi.StringPtrOutput) +} + +// single site location info +func (o CosBucketOutput) SingleSiteLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringPtrOutput { return v.SingleSiteLocation }).(pulumi.StringPtrOutput) +} + +// Storage class info +func (o CosBucketOutput) StorageClass() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucket) pulumi.StringOutput { return v.StorageClass }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketInput)(nil)).Elem(), &CosBucket{}) + pulumi.RegisterOutputType(CosBucketOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketLifecycleConfiguration.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketLifecycleConfiguration.go new file mode 100644 index 000000000..5cdc37543 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketLifecycleConfiguration.go @@ -0,0 +1,171 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type CosBucketLifecycleConfiguration struct { + pulumi.CustomResourceState + + // COS bucket CRN + BucketCrn pulumi.StringOutput `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation pulumi.StringOutput `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrOutput `pulumi:"endpointType"` + LifecycleRules CosBucketLifecycleConfigurationLifecycleRuleArrayOutput `pulumi:"lifecycleRules"` +} + +// NewCosBucketLifecycleConfiguration registers a new resource with the given unique name, arguments, and options. +func NewCosBucketLifecycleConfiguration(ctx *pulumi.Context, + name string, args *CosBucketLifecycleConfigurationArgs, opts ...pulumi.ResourceOption) (*CosBucketLifecycleConfiguration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BucketCrn == nil { + return nil, errors.New("invalid value for required argument 'BucketCrn'") + } + if args.BucketLocation == nil { + return nil, errors.New("invalid value for required argument 'BucketLocation'") + } + if args.LifecycleRules == nil { + return nil, errors.New("invalid value for required argument 'LifecycleRules'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CosBucketLifecycleConfiguration + err := ctx.RegisterResource("ibmcloud:index/cosBucketLifecycleConfiguration:CosBucketLifecycleConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCosBucketLifecycleConfiguration gets an existing CosBucketLifecycleConfiguration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCosBucketLifecycleConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CosBucketLifecycleConfigurationState, opts ...pulumi.ResourceOption) (*CosBucketLifecycleConfiguration, error) { + var resource CosBucketLifecycleConfiguration + err := ctx.ReadResource("ibmcloud:index/cosBucketLifecycleConfiguration:CosBucketLifecycleConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CosBucketLifecycleConfiguration resources. +type cosBucketLifecycleConfigurationState struct { + // COS bucket CRN + BucketCrn *string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation *string `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + LifecycleRules []CosBucketLifecycleConfigurationLifecycleRule `pulumi:"lifecycleRules"` +} + +type CosBucketLifecycleConfigurationState struct { + // COS bucket CRN + BucketCrn pulumi.StringPtrInput + // COS bucket location + BucketLocation pulumi.StringPtrInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + LifecycleRules CosBucketLifecycleConfigurationLifecycleRuleArrayInput +} + +func (CosBucketLifecycleConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketLifecycleConfigurationState)(nil)).Elem() +} + +type cosBucketLifecycleConfigurationArgs struct { + // COS bucket CRN + BucketCrn string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation string `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + LifecycleRules []CosBucketLifecycleConfigurationLifecycleRule `pulumi:"lifecycleRules"` +} + +// The set of arguments for constructing a CosBucketLifecycleConfiguration resource. +type CosBucketLifecycleConfigurationArgs struct { + // COS bucket CRN + BucketCrn pulumi.StringInput + // COS bucket location + BucketLocation pulumi.StringInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + LifecycleRules CosBucketLifecycleConfigurationLifecycleRuleArrayInput +} + +func (CosBucketLifecycleConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketLifecycleConfigurationArgs)(nil)).Elem() +} + +type CosBucketLifecycleConfigurationInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationOutput() CosBucketLifecycleConfigurationOutput + ToCosBucketLifecycleConfigurationOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationOutput +} + +func (*CosBucketLifecycleConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfiguration)(nil)).Elem() +} + +func (i *CosBucketLifecycleConfiguration) ToCosBucketLifecycleConfigurationOutput() CosBucketLifecycleConfigurationOutput { + return i.ToCosBucketLifecycleConfigurationOutputWithContext(context.Background()) +} + +func (i *CosBucketLifecycleConfiguration) ToCosBucketLifecycleConfigurationOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationOutput) +} + +type CosBucketLifecycleConfigurationOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfiguration)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationOutput) ToCosBucketLifecycleConfigurationOutput() CosBucketLifecycleConfigurationOutput { + return o +} + +func (o CosBucketLifecycleConfigurationOutput) ToCosBucketLifecycleConfigurationOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationOutput { + return o +} + +// COS bucket CRN +func (o CosBucketLifecycleConfigurationOutput) BucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfiguration) pulumi.StringOutput { return v.BucketCrn }).(pulumi.StringOutput) +} + +// COS bucket location +func (o CosBucketLifecycleConfigurationOutput) BucketLocation() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfiguration) pulumi.StringOutput { return v.BucketLocation }).(pulumi.StringOutput) +} + +// COS endpoint type: public, private, direct +func (o CosBucketLifecycleConfigurationOutput) EndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfiguration) pulumi.StringPtrOutput { return v.EndpointType }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationOutput) LifecycleRules() CosBucketLifecycleConfigurationLifecycleRuleArrayOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfiguration) CosBucketLifecycleConfigurationLifecycleRuleArrayOutput { + return v.LifecycleRules + }).(CosBucketLifecycleConfigurationLifecycleRuleArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationInput)(nil)).Elem(), &CosBucketLifecycleConfiguration{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketObject.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketObject.go new file mode 100644 index 000000000..43e43158e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketObject.go @@ -0,0 +1,372 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type CosBucketObject struct { + pulumi.CustomResourceState + + // COS object body + Body pulumi.StringOutput `pulumi:"body"` + // COS bucket CRN + BucketCrn pulumi.StringOutput `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation pulumi.StringOutput `pulumi:"bucketLocation"` + // COS object content + Content pulumi.StringPtrOutput `pulumi:"content"` + // COS object content in base64 encoding + ContentBase64 pulumi.StringPtrOutput `pulumi:"contentBase64"` + // COS object content file path + ContentFile pulumi.StringPtrOutput `pulumi:"contentFile"` + // COS object content length + ContentLength pulumi.IntOutput `pulumi:"contentLength"` + // COS object content type + ContentType pulumi.StringOutput `pulumi:"contentType"` + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrOutput `pulumi:"endpointType"` + // COS object MD5 hexdigest + Etag pulumi.StringOutput `pulumi:"etag"` + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"` + // COS object key + Key pulumi.StringOutput `pulumi:"key"` + // COS object last modified date + LastModified pulumi.StringOutput `pulumi:"lastModified"` + // An object lock configuration on the object, the valid states are ON/OFF. When ON prevents deletion of the object version. + ObjectLockLegalHoldStatus pulumi.StringPtrOutput `pulumi:"objectLockLegalHoldStatus"` + // Retention modes apply different levels of protection to the objects. + ObjectLockMode pulumi.StringPtrOutput `pulumi:"objectLockMode"` + // An object cannot be deleted when the current time is earlier than the retainUntilDate. After this date, the object can be deleted. + ObjectLockRetainUntilDate pulumi.StringPtrOutput `pulumi:"objectLockRetainUntilDate"` + // Access the object using an SQL Query instance.The reference url is used to perform queries against objects storing structured data. + ObjectSqlUrl pulumi.StringOutput `pulumi:"objectSqlUrl"` + VersionId pulumi.StringOutput `pulumi:"versionId"` + // Redirect a request to another object or an URL + WebsiteRedirect pulumi.StringPtrOutput `pulumi:"websiteRedirect"` +} + +// NewCosBucketObject registers a new resource with the given unique name, arguments, and options. +func NewCosBucketObject(ctx *pulumi.Context, + name string, args *CosBucketObjectArgs, opts ...pulumi.ResourceOption) (*CosBucketObject, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BucketCrn == nil { + return nil, errors.New("invalid value for required argument 'BucketCrn'") + } + if args.BucketLocation == nil { + return nil, errors.New("invalid value for required argument 'BucketLocation'") + } + if args.Key == nil { + return nil, errors.New("invalid value for required argument 'Key'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CosBucketObject + err := ctx.RegisterResource("ibmcloud:index/cosBucketObject:CosBucketObject", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCosBucketObject gets an existing CosBucketObject resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCosBucketObject(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CosBucketObjectState, opts ...pulumi.ResourceOption) (*CosBucketObject, error) { + var resource CosBucketObject + err := ctx.ReadResource("ibmcloud:index/cosBucketObject:CosBucketObject", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CosBucketObject resources. +type cosBucketObjectState struct { + // COS object body + Body *string `pulumi:"body"` + // COS bucket CRN + BucketCrn *string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation *string `pulumi:"bucketLocation"` + // COS object content + Content *string `pulumi:"content"` + // COS object content in base64 encoding + ContentBase64 *string `pulumi:"contentBase64"` + // COS object content file path + ContentFile *string `pulumi:"contentFile"` + // COS object content length + ContentLength *int `pulumi:"contentLength"` + // COS object content type + ContentType *string `pulumi:"contentType"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // COS object MD5 hexdigest + Etag *string `pulumi:"etag"` + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete *bool `pulumi:"forceDelete"` + // COS object key + Key *string `pulumi:"key"` + // COS object last modified date + LastModified *string `pulumi:"lastModified"` + // An object lock configuration on the object, the valid states are ON/OFF. When ON prevents deletion of the object version. + ObjectLockLegalHoldStatus *string `pulumi:"objectLockLegalHoldStatus"` + // Retention modes apply different levels of protection to the objects. + ObjectLockMode *string `pulumi:"objectLockMode"` + // An object cannot be deleted when the current time is earlier than the retainUntilDate. After this date, the object can be deleted. + ObjectLockRetainUntilDate *string `pulumi:"objectLockRetainUntilDate"` + // Access the object using an SQL Query instance.The reference url is used to perform queries against objects storing structured data. + ObjectSqlUrl *string `pulumi:"objectSqlUrl"` + VersionId *string `pulumi:"versionId"` + // Redirect a request to another object or an URL + WebsiteRedirect *string `pulumi:"websiteRedirect"` +} + +type CosBucketObjectState struct { + // COS object body + Body pulumi.StringPtrInput + // COS bucket CRN + BucketCrn pulumi.StringPtrInput + // COS bucket location + BucketLocation pulumi.StringPtrInput + // COS object content + Content pulumi.StringPtrInput + // COS object content in base64 encoding + ContentBase64 pulumi.StringPtrInput + // COS object content file path + ContentFile pulumi.StringPtrInput + // COS object content length + ContentLength pulumi.IntPtrInput + // COS object content type + ContentType pulumi.StringPtrInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // COS object MD5 hexdigest + Etag pulumi.StringPtrInput + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete pulumi.BoolPtrInput + // COS object key + Key pulumi.StringPtrInput + // COS object last modified date + LastModified pulumi.StringPtrInput + // An object lock configuration on the object, the valid states are ON/OFF. When ON prevents deletion of the object version. + ObjectLockLegalHoldStatus pulumi.StringPtrInput + // Retention modes apply different levels of protection to the objects. + ObjectLockMode pulumi.StringPtrInput + // An object cannot be deleted when the current time is earlier than the retainUntilDate. After this date, the object can be deleted. + ObjectLockRetainUntilDate pulumi.StringPtrInput + // Access the object using an SQL Query instance.The reference url is used to perform queries against objects storing structured data. + ObjectSqlUrl pulumi.StringPtrInput + VersionId pulumi.StringPtrInput + // Redirect a request to another object or an URL + WebsiteRedirect pulumi.StringPtrInput +} + +func (CosBucketObjectState) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketObjectState)(nil)).Elem() +} + +type cosBucketObjectArgs struct { + // COS bucket CRN + BucketCrn string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation string `pulumi:"bucketLocation"` + // COS object content + Content *string `pulumi:"content"` + // COS object content in base64 encoding + ContentBase64 *string `pulumi:"contentBase64"` + // COS object content file path + ContentFile *string `pulumi:"contentFile"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // COS object MD5 hexdigest + Etag *string `pulumi:"etag"` + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete *bool `pulumi:"forceDelete"` + // COS object key + Key string `pulumi:"key"` + // An object lock configuration on the object, the valid states are ON/OFF. When ON prevents deletion of the object version. + ObjectLockLegalHoldStatus *string `pulumi:"objectLockLegalHoldStatus"` + // Retention modes apply different levels of protection to the objects. + ObjectLockMode *string `pulumi:"objectLockMode"` + // An object cannot be deleted when the current time is earlier than the retainUntilDate. After this date, the object can be deleted. + ObjectLockRetainUntilDate *string `pulumi:"objectLockRetainUntilDate"` + // Redirect a request to another object or an URL + WebsiteRedirect *string `pulumi:"websiteRedirect"` +} + +// The set of arguments for constructing a CosBucketObject resource. +type CosBucketObjectArgs struct { + // COS bucket CRN + BucketCrn pulumi.StringInput + // COS bucket location + BucketLocation pulumi.StringInput + // COS object content + Content pulumi.StringPtrInput + // COS object content in base64 encoding + ContentBase64 pulumi.StringPtrInput + // COS object content file path + ContentFile pulumi.StringPtrInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // COS object MD5 hexdigest + Etag pulumi.StringPtrInput + // COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. + ForceDelete pulumi.BoolPtrInput + // COS object key + Key pulumi.StringInput + // An object lock configuration on the object, the valid states are ON/OFF. When ON prevents deletion of the object version. + ObjectLockLegalHoldStatus pulumi.StringPtrInput + // Retention modes apply different levels of protection to the objects. + ObjectLockMode pulumi.StringPtrInput + // An object cannot be deleted when the current time is earlier than the retainUntilDate. After this date, the object can be deleted. + ObjectLockRetainUntilDate pulumi.StringPtrInput + // Redirect a request to another object or an URL + WebsiteRedirect pulumi.StringPtrInput +} + +func (CosBucketObjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketObjectArgs)(nil)).Elem() +} + +type CosBucketObjectInput interface { + pulumi.Input + + ToCosBucketObjectOutput() CosBucketObjectOutput + ToCosBucketObjectOutputWithContext(ctx context.Context) CosBucketObjectOutput +} + +func (*CosBucketObject) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObject)(nil)).Elem() +} + +func (i *CosBucketObject) ToCosBucketObjectOutput() CosBucketObjectOutput { + return i.ToCosBucketObjectOutputWithContext(context.Background()) +} + +func (i *CosBucketObject) ToCosBucketObjectOutputWithContext(ctx context.Context) CosBucketObjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectOutput) +} + +type CosBucketObjectOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObject)(nil)).Elem() +} + +func (o CosBucketObjectOutput) ToCosBucketObjectOutput() CosBucketObjectOutput { + return o +} + +func (o CosBucketObjectOutput) ToCosBucketObjectOutputWithContext(ctx context.Context) CosBucketObjectOutput { + return o +} + +// COS object body +func (o CosBucketObjectOutput) Body() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.Body }).(pulumi.StringOutput) +} + +// COS bucket CRN +func (o CosBucketObjectOutput) BucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.BucketCrn }).(pulumi.StringOutput) +} + +// COS bucket location +func (o CosBucketObjectOutput) BucketLocation() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.BucketLocation }).(pulumi.StringOutput) +} + +// COS object content +func (o CosBucketObjectOutput) Content() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringPtrOutput { return v.Content }).(pulumi.StringPtrOutput) +} + +// COS object content in base64 encoding +func (o CosBucketObjectOutput) ContentBase64() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringPtrOutput { return v.ContentBase64 }).(pulumi.StringPtrOutput) +} + +// COS object content file path +func (o CosBucketObjectOutput) ContentFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringPtrOutput { return v.ContentFile }).(pulumi.StringPtrOutput) +} + +// COS object content length +func (o CosBucketObjectOutput) ContentLength() pulumi.IntOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.IntOutput { return v.ContentLength }).(pulumi.IntOutput) +} + +// COS object content type +func (o CosBucketObjectOutput) ContentType() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.ContentType }).(pulumi.StringOutput) +} + +// COS endpoint type: public, private, direct +func (o CosBucketObjectOutput) EndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringPtrOutput { return v.EndpointType }).(pulumi.StringPtrOutput) +} + +// COS object MD5 hexdigest +func (o CosBucketObjectOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) +} + +// COS buckets need to be empty before they can be deleted. forceDelete option empty the bucket and delete it. +func (o CosBucketObjectOutput) ForceDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.BoolPtrOutput { return v.ForceDelete }).(pulumi.BoolPtrOutput) +} + +// COS object key +func (o CosBucketObjectOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) +} + +// COS object last modified date +func (o CosBucketObjectOutput) LastModified() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.LastModified }).(pulumi.StringOutput) +} + +// An object lock configuration on the object, the valid states are ON/OFF. When ON prevents deletion of the object version. +func (o CosBucketObjectOutput) ObjectLockLegalHoldStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringPtrOutput { return v.ObjectLockLegalHoldStatus }).(pulumi.StringPtrOutput) +} + +// Retention modes apply different levels of protection to the objects. +func (o CosBucketObjectOutput) ObjectLockMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringPtrOutput { return v.ObjectLockMode }).(pulumi.StringPtrOutput) +} + +// An object cannot be deleted when the current time is earlier than the retainUntilDate. After this date, the object can be deleted. +func (o CosBucketObjectOutput) ObjectLockRetainUntilDate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringPtrOutput { return v.ObjectLockRetainUntilDate }).(pulumi.StringPtrOutput) +} + +// Access the object using an SQL Query instance.The reference url is used to perform queries against objects storing structured data. +func (o CosBucketObjectOutput) ObjectSqlUrl() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.ObjectSqlUrl }).(pulumi.StringOutput) +} + +func (o CosBucketObjectOutput) VersionId() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringOutput { return v.VersionId }).(pulumi.StringOutput) +} + +// Redirect a request to another object or an URL +func (o CosBucketObjectOutput) WebsiteRedirect() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObject) pulumi.StringPtrOutput { return v.WebsiteRedirect }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectInput)(nil)).Elem(), &CosBucketObject{}) + pulumi.RegisterOutputType(CosBucketObjectOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketObjectLockConfiguration.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketObjectLockConfiguration.go new file mode 100644 index 000000000..aab61df98 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketObjectLockConfiguration.go @@ -0,0 +1,177 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type CosBucketObjectLockConfiguration struct { + pulumi.CustomResourceState + + // COS bucket CRN + BucketCrn pulumi.StringOutput `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation pulumi.StringOutput `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrOutput `pulumi:"endpointType"` + // Bucket level object lock settings includes Days, Years, Mode. + ObjectLockConfiguration CosBucketObjectLockConfigurationObjectLockConfigurationOutput `pulumi:"objectLockConfiguration"` +} + +// NewCosBucketObjectLockConfiguration registers a new resource with the given unique name, arguments, and options. +func NewCosBucketObjectLockConfiguration(ctx *pulumi.Context, + name string, args *CosBucketObjectLockConfigurationArgs, opts ...pulumi.ResourceOption) (*CosBucketObjectLockConfiguration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BucketCrn == nil { + return nil, errors.New("invalid value for required argument 'BucketCrn'") + } + if args.BucketLocation == nil { + return nil, errors.New("invalid value for required argument 'BucketLocation'") + } + if args.ObjectLockConfiguration == nil { + return nil, errors.New("invalid value for required argument 'ObjectLockConfiguration'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CosBucketObjectLockConfiguration + err := ctx.RegisterResource("ibmcloud:index/cosBucketObjectLockConfiguration:CosBucketObjectLockConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCosBucketObjectLockConfiguration gets an existing CosBucketObjectLockConfiguration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCosBucketObjectLockConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CosBucketObjectLockConfigurationState, opts ...pulumi.ResourceOption) (*CosBucketObjectLockConfiguration, error) { + var resource CosBucketObjectLockConfiguration + err := ctx.ReadResource("ibmcloud:index/cosBucketObjectLockConfiguration:CosBucketObjectLockConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CosBucketObjectLockConfiguration resources. +type cosBucketObjectLockConfigurationState struct { + // COS bucket CRN + BucketCrn *string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation *string `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // Bucket level object lock settings includes Days, Years, Mode. + ObjectLockConfiguration *CosBucketObjectLockConfigurationObjectLockConfiguration `pulumi:"objectLockConfiguration"` +} + +type CosBucketObjectLockConfigurationState struct { + // COS bucket CRN + BucketCrn pulumi.StringPtrInput + // COS bucket location + BucketLocation pulumi.StringPtrInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // Bucket level object lock settings includes Days, Years, Mode. + ObjectLockConfiguration CosBucketObjectLockConfigurationObjectLockConfigurationPtrInput +} + +func (CosBucketObjectLockConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketObjectLockConfigurationState)(nil)).Elem() +} + +type cosBucketObjectLockConfigurationArgs struct { + // COS bucket CRN + BucketCrn string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation string `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // Bucket level object lock settings includes Days, Years, Mode. + ObjectLockConfiguration CosBucketObjectLockConfigurationObjectLockConfiguration `pulumi:"objectLockConfiguration"` +} + +// The set of arguments for constructing a CosBucketObjectLockConfiguration resource. +type CosBucketObjectLockConfigurationArgs struct { + // COS bucket CRN + BucketCrn pulumi.StringInput + // COS bucket location + BucketLocation pulumi.StringInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // Bucket level object lock settings includes Days, Years, Mode. + ObjectLockConfiguration CosBucketObjectLockConfigurationObjectLockConfigurationInput +} + +func (CosBucketObjectLockConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketObjectLockConfigurationArgs)(nil)).Elem() +} + +type CosBucketObjectLockConfigurationInput interface { + pulumi.Input + + ToCosBucketObjectLockConfigurationOutput() CosBucketObjectLockConfigurationOutput + ToCosBucketObjectLockConfigurationOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationOutput +} + +func (*CosBucketObjectLockConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectLockConfiguration)(nil)).Elem() +} + +func (i *CosBucketObjectLockConfiguration) ToCosBucketObjectLockConfigurationOutput() CosBucketObjectLockConfigurationOutput { + return i.ToCosBucketObjectLockConfigurationOutputWithContext(context.Background()) +} + +func (i *CosBucketObjectLockConfiguration) ToCosBucketObjectLockConfigurationOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationOutput) +} + +type CosBucketObjectLockConfigurationOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectLockConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectLockConfiguration)(nil)).Elem() +} + +func (o CosBucketObjectLockConfigurationOutput) ToCosBucketObjectLockConfigurationOutput() CosBucketObjectLockConfigurationOutput { + return o +} + +func (o CosBucketObjectLockConfigurationOutput) ToCosBucketObjectLockConfigurationOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationOutput { + return o +} + +// COS bucket CRN +func (o CosBucketObjectLockConfigurationOutput) BucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfiguration) pulumi.StringOutput { return v.BucketCrn }).(pulumi.StringOutput) +} + +// COS bucket location +func (o CosBucketObjectLockConfigurationOutput) BucketLocation() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfiguration) pulumi.StringOutput { return v.BucketLocation }).(pulumi.StringOutput) +} + +// COS endpoint type: public, private, direct +func (o CosBucketObjectLockConfigurationOutput) EndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfiguration) pulumi.StringPtrOutput { return v.EndpointType }).(pulumi.StringPtrOutput) +} + +// Bucket level object lock settings includes Days, Years, Mode. +func (o CosBucketObjectLockConfigurationOutput) ObjectLockConfiguration() CosBucketObjectLockConfigurationObjectLockConfigurationOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfiguration) CosBucketObjectLockConfigurationObjectLockConfigurationOutput { + return v.ObjectLockConfiguration + }).(CosBucketObjectLockConfigurationObjectLockConfigurationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectLockConfigurationInput)(nil)).Elem(), &CosBucketObjectLockConfiguration{}) + pulumi.RegisterOutputType(CosBucketObjectLockConfigurationOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketReplicationRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketReplicationRule.go new file mode 100644 index 000000000..d4b3e7b05 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketReplicationRule.go @@ -0,0 +1,177 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type CosBucketReplicationRule struct { + pulumi.CustomResourceState + + // COS bucket CRN + BucketCrn pulumi.StringOutput `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation pulumi.StringOutput `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrOutput `pulumi:"endpointType"` + // Replicate objects between buckets, replicate across source and destination. A container for replication rules can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. + ReplicationRules CosBucketReplicationRuleReplicationRuleArrayOutput `pulumi:"replicationRules"` +} + +// NewCosBucketReplicationRule registers a new resource with the given unique name, arguments, and options. +func NewCosBucketReplicationRule(ctx *pulumi.Context, + name string, args *CosBucketReplicationRuleArgs, opts ...pulumi.ResourceOption) (*CosBucketReplicationRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BucketCrn == nil { + return nil, errors.New("invalid value for required argument 'BucketCrn'") + } + if args.BucketLocation == nil { + return nil, errors.New("invalid value for required argument 'BucketLocation'") + } + if args.ReplicationRules == nil { + return nil, errors.New("invalid value for required argument 'ReplicationRules'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CosBucketReplicationRule + err := ctx.RegisterResource("ibmcloud:index/cosBucketReplicationRule:CosBucketReplicationRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCosBucketReplicationRule gets an existing CosBucketReplicationRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCosBucketReplicationRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CosBucketReplicationRuleState, opts ...pulumi.ResourceOption) (*CosBucketReplicationRule, error) { + var resource CosBucketReplicationRule + err := ctx.ReadResource("ibmcloud:index/cosBucketReplicationRule:CosBucketReplicationRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CosBucketReplicationRule resources. +type cosBucketReplicationRuleState struct { + // COS bucket CRN + BucketCrn *string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation *string `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // Replicate objects between buckets, replicate across source and destination. A container for replication rules can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. + ReplicationRules []CosBucketReplicationRuleReplicationRule `pulumi:"replicationRules"` +} + +type CosBucketReplicationRuleState struct { + // COS bucket CRN + BucketCrn pulumi.StringPtrInput + // COS bucket location + BucketLocation pulumi.StringPtrInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // Replicate objects between buckets, replicate across source and destination. A container for replication rules can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. + ReplicationRules CosBucketReplicationRuleReplicationRuleArrayInput +} + +func (CosBucketReplicationRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketReplicationRuleState)(nil)).Elem() +} + +type cosBucketReplicationRuleArgs struct { + // COS bucket CRN + BucketCrn string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation string `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // Replicate objects between buckets, replicate across source and destination. A container for replication rules can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. + ReplicationRules []CosBucketReplicationRuleReplicationRule `pulumi:"replicationRules"` +} + +// The set of arguments for constructing a CosBucketReplicationRule resource. +type CosBucketReplicationRuleArgs struct { + // COS bucket CRN + BucketCrn pulumi.StringInput + // COS bucket location + BucketLocation pulumi.StringInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // Replicate objects between buckets, replicate across source and destination. A container for replication rules can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. + ReplicationRules CosBucketReplicationRuleReplicationRuleArrayInput +} + +func (CosBucketReplicationRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketReplicationRuleArgs)(nil)).Elem() +} + +type CosBucketReplicationRuleInput interface { + pulumi.Input + + ToCosBucketReplicationRuleOutput() CosBucketReplicationRuleOutput + ToCosBucketReplicationRuleOutputWithContext(ctx context.Context) CosBucketReplicationRuleOutput +} + +func (*CosBucketReplicationRule) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketReplicationRule)(nil)).Elem() +} + +func (i *CosBucketReplicationRule) ToCosBucketReplicationRuleOutput() CosBucketReplicationRuleOutput { + return i.ToCosBucketReplicationRuleOutputWithContext(context.Background()) +} + +func (i *CosBucketReplicationRule) ToCosBucketReplicationRuleOutputWithContext(ctx context.Context) CosBucketReplicationRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketReplicationRuleOutput) +} + +type CosBucketReplicationRuleOutput struct{ *pulumi.OutputState } + +func (CosBucketReplicationRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketReplicationRule)(nil)).Elem() +} + +func (o CosBucketReplicationRuleOutput) ToCosBucketReplicationRuleOutput() CosBucketReplicationRuleOutput { + return o +} + +func (o CosBucketReplicationRuleOutput) ToCosBucketReplicationRuleOutputWithContext(ctx context.Context) CosBucketReplicationRuleOutput { + return o +} + +// COS bucket CRN +func (o CosBucketReplicationRuleOutput) BucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketReplicationRule) pulumi.StringOutput { return v.BucketCrn }).(pulumi.StringOutput) +} + +// COS bucket location +func (o CosBucketReplicationRuleOutput) BucketLocation() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketReplicationRule) pulumi.StringOutput { return v.BucketLocation }).(pulumi.StringOutput) +} + +// COS endpoint type: public, private, direct +func (o CosBucketReplicationRuleOutput) EndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketReplicationRule) pulumi.StringPtrOutput { return v.EndpointType }).(pulumi.StringPtrOutput) +} + +// Replicate objects between buckets, replicate across source and destination. A container for replication rules can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. +func (o CosBucketReplicationRuleOutput) ReplicationRules() CosBucketReplicationRuleReplicationRuleArrayOutput { + return o.ApplyT(func(v *CosBucketReplicationRule) CosBucketReplicationRuleReplicationRuleArrayOutput { + return v.ReplicationRules + }).(CosBucketReplicationRuleReplicationRuleArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketReplicationRuleInput)(nil)).Elem(), &CosBucketReplicationRule{}) + pulumi.RegisterOutputType(CosBucketReplicationRuleOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketWebsiteConfiguration.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketWebsiteConfiguration.go new file mode 100644 index 000000000..002a32ca6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/cosBucketWebsiteConfiguration.go @@ -0,0 +1,184 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type CosBucketWebsiteConfiguration struct { + pulumi.CustomResourceState + + // COS bucket CRN + BucketCrn pulumi.StringOutput `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation pulumi.StringOutput `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrOutput `pulumi:"endpointType"` + // Configuration for Hosting a static website on COS with public access. + WebsiteConfiguration CosBucketWebsiteConfigurationWebsiteConfigurationOutput `pulumi:"websiteConfiguration"` + WebsiteEndpoint pulumi.StringOutput `pulumi:"websiteEndpoint"` +} + +// NewCosBucketWebsiteConfiguration registers a new resource with the given unique name, arguments, and options. +func NewCosBucketWebsiteConfiguration(ctx *pulumi.Context, + name string, args *CosBucketWebsiteConfigurationArgs, opts ...pulumi.ResourceOption) (*CosBucketWebsiteConfiguration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BucketCrn == nil { + return nil, errors.New("invalid value for required argument 'BucketCrn'") + } + if args.BucketLocation == nil { + return nil, errors.New("invalid value for required argument 'BucketLocation'") + } + if args.WebsiteConfiguration == nil { + return nil, errors.New("invalid value for required argument 'WebsiteConfiguration'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CosBucketWebsiteConfiguration + err := ctx.RegisterResource("ibmcloud:index/cosBucketWebsiteConfiguration:CosBucketWebsiteConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCosBucketWebsiteConfiguration gets an existing CosBucketWebsiteConfiguration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCosBucketWebsiteConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CosBucketWebsiteConfigurationState, opts ...pulumi.ResourceOption) (*CosBucketWebsiteConfiguration, error) { + var resource CosBucketWebsiteConfiguration + err := ctx.ReadResource("ibmcloud:index/cosBucketWebsiteConfiguration:CosBucketWebsiteConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CosBucketWebsiteConfiguration resources. +type cosBucketWebsiteConfigurationState struct { + // COS bucket CRN + BucketCrn *string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation *string `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // Configuration for Hosting a static website on COS with public access. + WebsiteConfiguration *CosBucketWebsiteConfigurationWebsiteConfiguration `pulumi:"websiteConfiguration"` + WebsiteEndpoint *string `pulumi:"websiteEndpoint"` +} + +type CosBucketWebsiteConfigurationState struct { + // COS bucket CRN + BucketCrn pulumi.StringPtrInput + // COS bucket location + BucketLocation pulumi.StringPtrInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // Configuration for Hosting a static website on COS with public access. + WebsiteConfiguration CosBucketWebsiteConfigurationWebsiteConfigurationPtrInput + WebsiteEndpoint pulumi.StringPtrInput +} + +func (CosBucketWebsiteConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketWebsiteConfigurationState)(nil)).Elem() +} + +type cosBucketWebsiteConfigurationArgs struct { + // COS bucket CRN + BucketCrn string `pulumi:"bucketCrn"` + // COS bucket location + BucketLocation string `pulumi:"bucketLocation"` + // COS endpoint type: public, private, direct + EndpointType *string `pulumi:"endpointType"` + // Configuration for Hosting a static website on COS with public access. + WebsiteConfiguration CosBucketWebsiteConfigurationWebsiteConfiguration `pulumi:"websiteConfiguration"` +} + +// The set of arguments for constructing a CosBucketWebsiteConfiguration resource. +type CosBucketWebsiteConfigurationArgs struct { + // COS bucket CRN + BucketCrn pulumi.StringInput + // COS bucket location + BucketLocation pulumi.StringInput + // COS endpoint type: public, private, direct + EndpointType pulumi.StringPtrInput + // Configuration for Hosting a static website on COS with public access. + WebsiteConfiguration CosBucketWebsiteConfigurationWebsiteConfigurationInput +} + +func (CosBucketWebsiteConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cosBucketWebsiteConfigurationArgs)(nil)).Elem() +} + +type CosBucketWebsiteConfigurationInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationOutput() CosBucketWebsiteConfigurationOutput + ToCosBucketWebsiteConfigurationOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationOutput +} + +func (*CosBucketWebsiteConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfiguration)(nil)).Elem() +} + +func (i *CosBucketWebsiteConfiguration) ToCosBucketWebsiteConfigurationOutput() CosBucketWebsiteConfigurationOutput { + return i.ToCosBucketWebsiteConfigurationOutputWithContext(context.Background()) +} + +func (i *CosBucketWebsiteConfiguration) ToCosBucketWebsiteConfigurationOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationOutput) +} + +type CosBucketWebsiteConfigurationOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfiguration)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationOutput) ToCosBucketWebsiteConfigurationOutput() CosBucketWebsiteConfigurationOutput { + return o +} + +func (o CosBucketWebsiteConfigurationOutput) ToCosBucketWebsiteConfigurationOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationOutput { + return o +} + +// COS bucket CRN +func (o CosBucketWebsiteConfigurationOutput) BucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfiguration) pulumi.StringOutput { return v.BucketCrn }).(pulumi.StringOutput) +} + +// COS bucket location +func (o CosBucketWebsiteConfigurationOutput) BucketLocation() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfiguration) pulumi.StringOutput { return v.BucketLocation }).(pulumi.StringOutput) +} + +// COS endpoint type: public, private, direct +func (o CosBucketWebsiteConfigurationOutput) EndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfiguration) pulumi.StringPtrOutput { return v.EndpointType }).(pulumi.StringPtrOutput) +} + +// Configuration for Hosting a static website on COS with public access. +func (o CosBucketWebsiteConfigurationOutput) WebsiteConfiguration() CosBucketWebsiteConfigurationWebsiteConfigurationOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfiguration) CosBucketWebsiteConfigurationWebsiteConfigurationOutput { + return v.WebsiteConfiguration + }).(CosBucketWebsiteConfigurationWebsiteConfigurationOutput) +} + +func (o CosBucketWebsiteConfigurationOutput) WebsiteEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfiguration) pulumi.StringOutput { return v.WebsiteEndpoint }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationInput)(nil)).Elem(), &CosBucketWebsiteConfiguration{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/doc.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/doc.go new file mode 100644 index 000000000..9721748fe --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/doc.go @@ -0,0 +1,2 @@ +// A Pulumi package for creating and managing IBM Cloud resources. +package ibmcloud diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeBareMetal.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeBareMetal.go new file mode 100644 index 000000000..ff4a6d0e6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeBareMetal.go @@ -0,0 +1,241 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupComputeBareMetal(ctx *pulumi.Context, args *LookupComputeBareMetalArgs, opts ...pulumi.InvokeOption) (*LookupComputeBareMetalResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupComputeBareMetalResult + err := ctx.Invoke("ibmcloud:index/getComputeBareMetal:getComputeBareMetal", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getComputeBareMetal. +type LookupComputeBareMetalArgs struct { + Domain *string `pulumi:"domain"` + GlobalIdentifier *string `pulumi:"globalIdentifier"` + Hostname *string `pulumi:"hostname"` + MostRecent *bool `pulumi:"mostRecent"` +} + +// A collection of values returned by getComputeBareMetal. +type LookupComputeBareMetalResult struct { + BlockStorageIds []int `pulumi:"blockStorageIds"` + Datacenter string `pulumi:"datacenter"` + Domain string `pulumi:"domain"` + FileStorageIds []int `pulumi:"fileStorageIds"` + GlobalIdentifier string `pulumi:"globalIdentifier"` + Hostname string `pulumi:"hostname"` + HourlyBilling bool `pulumi:"hourlyBilling"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Ipv6Address string `pulumi:"ipv6Address"` + Ipv6AddressId int `pulumi:"ipv6AddressId"` + Ipv6Enabled bool `pulumi:"ipv6Enabled"` + Memory int `pulumi:"memory"` + MostRecent *bool `pulumi:"mostRecent"` + NetworkSpeed int `pulumi:"networkSpeed"` + Notes string `pulumi:"notes"` + OsReferenceCode string `pulumi:"osReferenceCode"` + PrivateIpv4Address string `pulumi:"privateIpv4Address"` + PrivateIpv4AddressId int `pulumi:"privateIpv4AddressId"` + PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` + PrivateSubnet int `pulumi:"privateSubnet"` + PrivateVlanId int `pulumi:"privateVlanId"` + PublicBandwidth int `pulumi:"publicBandwidth"` + PublicIpv4Address string `pulumi:"publicIpv4Address"` + PublicIpv4AddressId int `pulumi:"publicIpv4AddressId"` + PublicSubnet int `pulumi:"publicSubnet"` + PublicVlanId int `pulumi:"publicVlanId"` + RedundantNetwork bool `pulumi:"redundantNetwork"` + RedundantPowerSupply bool `pulumi:"redundantPowerSupply"` + SecondaryIpAddresses []string `pulumi:"secondaryIpAddresses"` + SecondaryIpCount int `pulumi:"secondaryIpCount"` + Tags []string `pulumi:"tags"` + UnbondedNetwork bool `pulumi:"unbondedNetwork"` + UserMetadata string `pulumi:"userMetadata"` +} + +func LookupComputeBareMetalOutput(ctx *pulumi.Context, args LookupComputeBareMetalOutputArgs, opts ...pulumi.InvokeOption) LookupComputeBareMetalResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupComputeBareMetalResultOutput, error) { + args := v.(LookupComputeBareMetalArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getComputeBareMetal:getComputeBareMetal", args, LookupComputeBareMetalResultOutput{}, options).(LookupComputeBareMetalResultOutput), nil + }).(LookupComputeBareMetalResultOutput) +} + +// A collection of arguments for invoking getComputeBareMetal. +type LookupComputeBareMetalOutputArgs struct { + Domain pulumi.StringPtrInput `pulumi:"domain"` + GlobalIdentifier pulumi.StringPtrInput `pulumi:"globalIdentifier"` + Hostname pulumi.StringPtrInput `pulumi:"hostname"` + MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"` +} + +func (LookupComputeBareMetalOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeBareMetalArgs)(nil)).Elem() +} + +// A collection of values returned by getComputeBareMetal. +type LookupComputeBareMetalResultOutput struct{ *pulumi.OutputState } + +func (LookupComputeBareMetalResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeBareMetalResult)(nil)).Elem() +} + +func (o LookupComputeBareMetalResultOutput) ToLookupComputeBareMetalResultOutput() LookupComputeBareMetalResultOutput { + return o +} + +func (o LookupComputeBareMetalResultOutput) ToLookupComputeBareMetalResultOutputWithContext(ctx context.Context) LookupComputeBareMetalResultOutput { + return o +} + +func (o LookupComputeBareMetalResultOutput) BlockStorageIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) []int { return v.BlockStorageIds }).(pulumi.IntArrayOutput) +} + +func (o LookupComputeBareMetalResultOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.Datacenter }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.Domain }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) FileStorageIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) []int { return v.FileStorageIds }).(pulumi.IntArrayOutput) +} + +func (o LookupComputeBareMetalResultOutput) GlobalIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.GlobalIdentifier }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.Hostname }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) HourlyBilling() pulumi.BoolOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) bool { return v.HourlyBilling }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupComputeBareMetalResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) Ipv6Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.Ipv6Address }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) Ipv6AddressId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.Ipv6AddressId }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) Ipv6Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) bool { return v.Ipv6Enabled }).(pulumi.BoolOutput) +} + +func (o LookupComputeBareMetalResultOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.Memory }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) MostRecent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) *bool { return v.MostRecent }).(pulumi.BoolPtrOutput) +} + +func (o LookupComputeBareMetalResultOutput) NetworkSpeed() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.NetworkSpeed }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) Notes() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.Notes }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) OsReferenceCode() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.OsReferenceCode }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) PrivateIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.PrivateIpv4Address }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) PrivateIpv4AddressId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.PrivateIpv4AddressId }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) PrivateNetworkOnly() pulumi.BoolOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) +} + +func (o LookupComputeBareMetalResultOutput) PrivateSubnet() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.PrivateSubnet }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) PrivateVlanId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.PrivateVlanId }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) PublicBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.PublicBandwidth }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) PublicIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.PublicIpv4Address }).(pulumi.StringOutput) +} + +func (o LookupComputeBareMetalResultOutput) PublicIpv4AddressId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.PublicIpv4AddressId }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) PublicSubnet() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.PublicSubnet }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) PublicVlanId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.PublicVlanId }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) RedundantNetwork() pulumi.BoolOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) bool { return v.RedundantNetwork }).(pulumi.BoolOutput) +} + +func (o LookupComputeBareMetalResultOutput) RedundantPowerSupply() pulumi.BoolOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) bool { return v.RedundantPowerSupply }).(pulumi.BoolOutput) +} + +func (o LookupComputeBareMetalResultOutput) SecondaryIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) []string { return v.SecondaryIpAddresses }).(pulumi.StringArrayOutput) +} + +func (o LookupComputeBareMetalResultOutput) SecondaryIpCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) int { return v.SecondaryIpCount }).(pulumi.IntOutput) +} + +func (o LookupComputeBareMetalResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupComputeBareMetalResultOutput) UnbondedNetwork() pulumi.BoolOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) bool { return v.UnbondedNetwork }).(pulumi.BoolOutput) +} + +func (o LookupComputeBareMetalResultOutput) UserMetadata() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeBareMetalResult) string { return v.UserMetadata }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupComputeBareMetalResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeImageTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeImageTemplate.go new file mode 100644 index 000000000..5d70b375a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeImageTemplate.go @@ -0,0 +1,78 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetComputeImageTemplate(ctx *pulumi.Context, args *GetComputeImageTemplateArgs, opts ...pulumi.InvokeOption) (*GetComputeImageTemplateResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetComputeImageTemplateResult + err := ctx.Invoke("ibmcloud:index/getComputeImageTemplate:getComputeImageTemplate", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getComputeImageTemplate. +type GetComputeImageTemplateArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getComputeImageTemplate. +type GetComputeImageTemplateResult struct { + Id int `pulumi:"id"` + Name string `pulumi:"name"` +} + +func GetComputeImageTemplateOutput(ctx *pulumi.Context, args GetComputeImageTemplateOutputArgs, opts ...pulumi.InvokeOption) GetComputeImageTemplateResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetComputeImageTemplateResultOutput, error) { + args := v.(GetComputeImageTemplateArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getComputeImageTemplate:getComputeImageTemplate", args, GetComputeImageTemplateResultOutput{}, options).(GetComputeImageTemplateResultOutput), nil + }).(GetComputeImageTemplateResultOutput) +} + +// A collection of arguments for invoking getComputeImageTemplate. +type GetComputeImageTemplateOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetComputeImageTemplateOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetComputeImageTemplateArgs)(nil)).Elem() +} + +// A collection of values returned by getComputeImageTemplate. +type GetComputeImageTemplateResultOutput struct{ *pulumi.OutputState } + +func (GetComputeImageTemplateResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetComputeImageTemplateResult)(nil)).Elem() +} + +func (o GetComputeImageTemplateResultOutput) ToGetComputeImageTemplateResultOutput() GetComputeImageTemplateResultOutput { + return o +} + +func (o GetComputeImageTemplateResultOutput) ToGetComputeImageTemplateResultOutputWithContext(ctx context.Context) GetComputeImageTemplateResultOutput { + return o +} + +func (o GetComputeImageTemplateResultOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetComputeImageTemplateResult) int { return v.Id }).(pulumi.IntOutput) +} + +func (o GetComputeImageTemplateResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetComputeImageTemplateResult) string { return v.Name }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetComputeImageTemplateResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputePlacementGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputePlacementGroup.go new file mode 100644 index 000000000..4f017fbce --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputePlacementGroup.go @@ -0,0 +1,102 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupComputePlacementGroup(ctx *pulumi.Context, args *LookupComputePlacementGroupArgs, opts ...pulumi.InvokeOption) (*LookupComputePlacementGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupComputePlacementGroupResult + err := ctx.Invoke("ibmcloud:index/getComputePlacementGroup:getComputePlacementGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getComputePlacementGroup. +type LookupComputePlacementGroupArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getComputePlacementGroup. +type LookupComputePlacementGroupResult struct { + Datacenter string `pulumi:"datacenter"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + Pod string `pulumi:"pod"` + Rule string `pulumi:"rule"` + VirtualGuests []GetComputePlacementGroupVirtualGuest `pulumi:"virtualGuests"` +} + +func LookupComputePlacementGroupOutput(ctx *pulumi.Context, args LookupComputePlacementGroupOutputArgs, opts ...pulumi.InvokeOption) LookupComputePlacementGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupComputePlacementGroupResultOutput, error) { + args := v.(LookupComputePlacementGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getComputePlacementGroup:getComputePlacementGroup", args, LookupComputePlacementGroupResultOutput{}, options).(LookupComputePlacementGroupResultOutput), nil + }).(LookupComputePlacementGroupResultOutput) +} + +// A collection of arguments for invoking getComputePlacementGroup. +type LookupComputePlacementGroupOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupComputePlacementGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputePlacementGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getComputePlacementGroup. +type LookupComputePlacementGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupComputePlacementGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputePlacementGroupResult)(nil)).Elem() +} + +func (o LookupComputePlacementGroupResultOutput) ToLookupComputePlacementGroupResultOutput() LookupComputePlacementGroupResultOutput { + return o +} + +func (o LookupComputePlacementGroupResultOutput) ToLookupComputePlacementGroupResultOutputWithContext(ctx context.Context) LookupComputePlacementGroupResultOutput { + return o +} + +func (o LookupComputePlacementGroupResultOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputePlacementGroupResult) string { return v.Datacenter }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupComputePlacementGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputePlacementGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupComputePlacementGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputePlacementGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupComputePlacementGroupResultOutput) Pod() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputePlacementGroupResult) string { return v.Pod }).(pulumi.StringOutput) +} + +func (o LookupComputePlacementGroupResultOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputePlacementGroupResult) string { return v.Rule }).(pulumi.StringOutput) +} + +func (o LookupComputePlacementGroupResultOutput) VirtualGuests() GetComputePlacementGroupVirtualGuestArrayOutput { + return o.ApplyT(func(v LookupComputePlacementGroupResult) []GetComputePlacementGroupVirtualGuest { + return v.VirtualGuests + }).(GetComputePlacementGroupVirtualGuestArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupComputePlacementGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeReservedCapacity.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeReservedCapacity.go new file mode 100644 index 000000000..015ad5e85 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeReservedCapacity.go @@ -0,0 +1,114 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupComputeReservedCapacity(ctx *pulumi.Context, args *LookupComputeReservedCapacityArgs, opts ...pulumi.InvokeOption) (*LookupComputeReservedCapacityResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupComputeReservedCapacityResult + err := ctx.Invoke("ibmcloud:index/getComputeReservedCapacity:getComputeReservedCapacity", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getComputeReservedCapacity. +type LookupComputeReservedCapacityArgs struct { + MostRecent *bool `pulumi:"mostRecent"` + Name string `pulumi:"name"` +} + +// A collection of values returned by getComputeReservedCapacity. +type LookupComputeReservedCapacityResult struct { + Datacenter string `pulumi:"datacenter"` + Flavor string `pulumi:"flavor"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instances int `pulumi:"instances"` + MostRecent *bool `pulumi:"mostRecent"` + Name string `pulumi:"name"` + Pod string `pulumi:"pod"` + VirtualGuests []GetComputeReservedCapacityVirtualGuest `pulumi:"virtualGuests"` +} + +func LookupComputeReservedCapacityOutput(ctx *pulumi.Context, args LookupComputeReservedCapacityOutputArgs, opts ...pulumi.InvokeOption) LookupComputeReservedCapacityResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupComputeReservedCapacityResultOutput, error) { + args := v.(LookupComputeReservedCapacityArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getComputeReservedCapacity:getComputeReservedCapacity", args, LookupComputeReservedCapacityResultOutput{}, options).(LookupComputeReservedCapacityResultOutput), nil + }).(LookupComputeReservedCapacityResultOutput) +} + +// A collection of arguments for invoking getComputeReservedCapacity. +type LookupComputeReservedCapacityOutputArgs struct { + MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupComputeReservedCapacityOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeReservedCapacityArgs)(nil)).Elem() +} + +// A collection of values returned by getComputeReservedCapacity. +type LookupComputeReservedCapacityResultOutput struct{ *pulumi.OutputState } + +func (LookupComputeReservedCapacityResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeReservedCapacityResult)(nil)).Elem() +} + +func (o LookupComputeReservedCapacityResultOutput) ToLookupComputeReservedCapacityResultOutput() LookupComputeReservedCapacityResultOutput { + return o +} + +func (o LookupComputeReservedCapacityResultOutput) ToLookupComputeReservedCapacityResultOutputWithContext(ctx context.Context) LookupComputeReservedCapacityResultOutput { + return o +} + +func (o LookupComputeReservedCapacityResultOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeReservedCapacityResult) string { return v.Datacenter }).(pulumi.StringOutput) +} + +func (o LookupComputeReservedCapacityResultOutput) Flavor() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeReservedCapacityResult) string { return v.Flavor }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupComputeReservedCapacityResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeReservedCapacityResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupComputeReservedCapacityResultOutput) Instances() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeReservedCapacityResult) int { return v.Instances }).(pulumi.IntOutput) +} + +func (o LookupComputeReservedCapacityResultOutput) MostRecent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupComputeReservedCapacityResult) *bool { return v.MostRecent }).(pulumi.BoolPtrOutput) +} + +func (o LookupComputeReservedCapacityResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeReservedCapacityResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupComputeReservedCapacityResultOutput) Pod() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeReservedCapacityResult) string { return v.Pod }).(pulumi.StringOutput) +} + +func (o LookupComputeReservedCapacityResultOutput) VirtualGuests() GetComputeReservedCapacityVirtualGuestArrayOutput { + return o.ApplyT(func(v LookupComputeReservedCapacityResult) []GetComputeReservedCapacityVirtualGuest { + return v.VirtualGuests + }).(GetComputeReservedCapacityVirtualGuestArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupComputeReservedCapacityResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeSshKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeSshKey.go new file mode 100644 index 000000000..71f314ca4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeSshKey.go @@ -0,0 +1,102 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupComputeSshKey(ctx *pulumi.Context, args *LookupComputeSshKeyArgs, opts ...pulumi.InvokeOption) (*LookupComputeSshKeyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupComputeSshKeyResult + err := ctx.Invoke("ibmcloud:index/getComputeSshKey:getComputeSshKey", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getComputeSshKey. +type LookupComputeSshKeyArgs struct { + Label string `pulumi:"label"` + MostRecent *bool `pulumi:"mostRecent"` +} + +// A collection of values returned by getComputeSshKey. +type LookupComputeSshKeyResult struct { + Fingerprint string `pulumi:"fingerprint"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Label string `pulumi:"label"` + MostRecent *bool `pulumi:"mostRecent"` + Notes string `pulumi:"notes"` + PublicKey string `pulumi:"publicKey"` +} + +func LookupComputeSshKeyOutput(ctx *pulumi.Context, args LookupComputeSshKeyOutputArgs, opts ...pulumi.InvokeOption) LookupComputeSshKeyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupComputeSshKeyResultOutput, error) { + args := v.(LookupComputeSshKeyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getComputeSshKey:getComputeSshKey", args, LookupComputeSshKeyResultOutput{}, options).(LookupComputeSshKeyResultOutput), nil + }).(LookupComputeSshKeyResultOutput) +} + +// A collection of arguments for invoking getComputeSshKey. +type LookupComputeSshKeyOutputArgs struct { + Label pulumi.StringInput `pulumi:"label"` + MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"` +} + +func (LookupComputeSshKeyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeSshKeyArgs)(nil)).Elem() +} + +// A collection of values returned by getComputeSshKey. +type LookupComputeSshKeyResultOutput struct{ *pulumi.OutputState } + +func (LookupComputeSshKeyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeSshKeyResult)(nil)).Elem() +} + +func (o LookupComputeSshKeyResultOutput) ToLookupComputeSshKeyResultOutput() LookupComputeSshKeyResultOutput { + return o +} + +func (o LookupComputeSshKeyResultOutput) ToLookupComputeSshKeyResultOutputWithContext(ctx context.Context) LookupComputeSshKeyResultOutput { + return o +} + +func (o LookupComputeSshKeyResultOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeSshKeyResult) string { return v.Fingerprint }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupComputeSshKeyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeSshKeyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupComputeSshKeyResultOutput) Label() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeSshKeyResult) string { return v.Label }).(pulumi.StringOutput) +} + +func (o LookupComputeSshKeyResultOutput) MostRecent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupComputeSshKeyResult) *bool { return v.MostRecent }).(pulumi.BoolPtrOutput) +} + +func (o LookupComputeSshKeyResultOutput) Notes() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeSshKeyResult) string { return v.Notes }).(pulumi.StringOutput) +} + +func (o LookupComputeSshKeyResultOutput) PublicKey() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeSshKeyResult) string { return v.PublicKey }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupComputeSshKeyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeVmInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeVmInstance.go new file mode 100644 index 000000000..f54396fd2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getComputeVmInstance.go @@ -0,0 +1,189 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupComputeVmInstance(ctx *pulumi.Context, args *LookupComputeVmInstanceArgs, opts ...pulumi.InvokeOption) (*LookupComputeVmInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupComputeVmInstanceResult + err := ctx.Invoke("ibmcloud:index/getComputeVmInstance:getComputeVmInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getComputeVmInstance. +type LookupComputeVmInstanceArgs struct { + Domain string `pulumi:"domain"` + Hostname string `pulumi:"hostname"` + MostRecent *bool `pulumi:"mostRecent"` +} + +// A collection of values returned by getComputeVmInstance. +type LookupComputeVmInstanceResult struct { + Cores int `pulumi:"cores"` + Datacenter string `pulumi:"datacenter"` + Domain string `pulumi:"domain"` + Hostname string `pulumi:"hostname"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IpAddressId int `pulumi:"ipAddressId"` + IpAddressIdPrivate int `pulumi:"ipAddressIdPrivate"` + Ipv4Address string `pulumi:"ipv4Address"` + Ipv4AddressPrivate string `pulumi:"ipv4AddressPrivate"` + Ipv6Address string `pulumi:"ipv6Address"` + Ipv6AddressId int `pulumi:"ipv6AddressId"` + LastKnownPowerState string `pulumi:"lastKnownPowerState"` + MostRecent *bool `pulumi:"mostRecent"` + PowerState string `pulumi:"powerState"` + PrivateInterfaceId int `pulumi:"privateInterfaceId"` + PrivateSubnetId int `pulumi:"privateSubnetId"` + PublicInterfaceId int `pulumi:"publicInterfaceId"` + PublicIpv6Subnet string `pulumi:"publicIpv6Subnet"` + PublicIpv6SubnetId string `pulumi:"publicIpv6SubnetId"` + PublicSubnetId int `pulumi:"publicSubnetId"` + SecondaryIpAddresses []string `pulumi:"secondaryIpAddresses"` + SecondaryIpCount int `pulumi:"secondaryIpCount"` + Status string `pulumi:"status"` +} + +func LookupComputeVmInstanceOutput(ctx *pulumi.Context, args LookupComputeVmInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupComputeVmInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupComputeVmInstanceResultOutput, error) { + args := v.(LookupComputeVmInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getComputeVmInstance:getComputeVmInstance", args, LookupComputeVmInstanceResultOutput{}, options).(LookupComputeVmInstanceResultOutput), nil + }).(LookupComputeVmInstanceResultOutput) +} + +// A collection of arguments for invoking getComputeVmInstance. +type LookupComputeVmInstanceOutputArgs struct { + Domain pulumi.StringInput `pulumi:"domain"` + Hostname pulumi.StringInput `pulumi:"hostname"` + MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"` +} + +func (LookupComputeVmInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeVmInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getComputeVmInstance. +type LookupComputeVmInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupComputeVmInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeVmInstanceResult)(nil)).Elem() +} + +func (o LookupComputeVmInstanceResultOutput) ToLookupComputeVmInstanceResultOutput() LookupComputeVmInstanceResultOutput { + return o +} + +func (o LookupComputeVmInstanceResultOutput) ToLookupComputeVmInstanceResultOutputWithContext(ctx context.Context) LookupComputeVmInstanceResultOutput { + return o +} + +func (o LookupComputeVmInstanceResultOutput) Cores() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.Cores }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) Datacenter() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.Datacenter }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.Domain }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.Hostname }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupComputeVmInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) IpAddressId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.IpAddressId }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) IpAddressIdPrivate() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.IpAddressIdPrivate }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) Ipv4Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.Ipv4Address }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) Ipv4AddressPrivate() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.Ipv4AddressPrivate }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) Ipv6Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.Ipv6Address }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) Ipv6AddressId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.Ipv6AddressId }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) LastKnownPowerState() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.LastKnownPowerState }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) MostRecent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) *bool { return v.MostRecent }).(pulumi.BoolPtrOutput) +} + +func (o LookupComputeVmInstanceResultOutput) PowerState() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.PowerState }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) PrivateInterfaceId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.PrivateInterfaceId }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) PrivateSubnetId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.PrivateSubnetId }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) PublicInterfaceId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.PublicInterfaceId }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) PublicIpv6Subnet() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.PublicIpv6Subnet }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) PublicIpv6SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.PublicIpv6SubnetId }).(pulumi.StringOutput) +} + +func (o LookupComputeVmInstanceResultOutput) PublicSubnetId() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.PublicSubnetId }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) SecondaryIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) []string { return v.SecondaryIpAddresses }).(pulumi.StringArrayOutput) +} + +func (o LookupComputeVmInstanceResultOutput) SecondaryIpCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) int { return v.SecondaryIpCount }).(pulumi.IntOutput) +} + +func (o LookupComputeVmInstanceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupComputeVmInstanceResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupComputeVmInstanceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBackupPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBackupPolicy.go new file mode 100644 index 000000000..37deefc6c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBackupPolicy.go @@ -0,0 +1,107 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupCosBackupPolicy(ctx *pulumi.Context, args *LookupCosBackupPolicyArgs, opts ...pulumi.InvokeOption) (*LookupCosBackupPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupCosBackupPolicyResult + err := ctx.Invoke("ibmcloud:index/getCosBackupPolicy:getCosBackupPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCosBackupPolicy. +type LookupCosBackupPolicyArgs struct { + BucketName string `pulumi:"bucketName"` + PolicyId string `pulumi:"policyId"` +} + +// A collection of values returned by getCosBackupPolicy. +type LookupCosBackupPolicyResult struct { + BackupType string `pulumi:"backupType"` + BucketName string `pulumi:"bucketName"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InitialDeleteAfterDays int `pulumi:"initialDeleteAfterDays"` + PolicyId string `pulumi:"policyId"` + PolicyName string `pulumi:"policyName"` + TargetBackupVaultCrn string `pulumi:"targetBackupVaultCrn"` +} + +func LookupCosBackupPolicyOutput(ctx *pulumi.Context, args LookupCosBackupPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupCosBackupPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupCosBackupPolicyResultOutput, error) { + args := v.(LookupCosBackupPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getCosBackupPolicy:getCosBackupPolicy", args, LookupCosBackupPolicyResultOutput{}, options).(LookupCosBackupPolicyResultOutput), nil + }).(LookupCosBackupPolicyResultOutput) +} + +// A collection of arguments for invoking getCosBackupPolicy. +type LookupCosBackupPolicyOutputArgs struct { + BucketName pulumi.StringInput `pulumi:"bucketName"` + PolicyId pulumi.StringInput `pulumi:"policyId"` +} + +func (LookupCosBackupPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCosBackupPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getCosBackupPolicy. +type LookupCosBackupPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupCosBackupPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCosBackupPolicyResult)(nil)).Elem() +} + +func (o LookupCosBackupPolicyResultOutput) ToLookupCosBackupPolicyResultOutput() LookupCosBackupPolicyResultOutput { + return o +} + +func (o LookupCosBackupPolicyResultOutput) ToLookupCosBackupPolicyResultOutputWithContext(ctx context.Context) LookupCosBackupPolicyResultOutput { + return o +} + +func (o LookupCosBackupPolicyResultOutput) BackupType() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupPolicyResult) string { return v.BackupType }).(pulumi.StringOutput) +} + +func (o LookupCosBackupPolicyResultOutput) BucketName() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupPolicyResult) string { return v.BucketName }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupCosBackupPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupCosBackupPolicyResultOutput) InitialDeleteAfterDays() pulumi.IntOutput { + return o.ApplyT(func(v LookupCosBackupPolicyResult) int { return v.InitialDeleteAfterDays }).(pulumi.IntOutput) +} + +func (o LookupCosBackupPolicyResultOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupPolicyResult) string { return v.PolicyId }).(pulumi.StringOutput) +} + +func (o LookupCosBackupPolicyResultOutput) PolicyName() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupPolicyResult) string { return v.PolicyName }).(pulumi.StringOutput) +} + +func (o LookupCosBackupPolicyResultOutput) TargetBackupVaultCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupPolicyResult) string { return v.TargetBackupVaultCrn }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupCosBackupPolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBackupVault.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBackupVault.go new file mode 100644 index 000000000..b8dd0ea2f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBackupVault.go @@ -0,0 +1,109 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupCosBackupVault(ctx *pulumi.Context, args *LookupCosBackupVaultArgs, opts ...pulumi.InvokeOption) (*LookupCosBackupVaultResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupCosBackupVaultResult + err := ctx.Invoke("ibmcloud:index/getCosBackupVault:getCosBackupVault", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCosBackupVault. +type LookupCosBackupVaultArgs struct { + BackupVaultName string `pulumi:"backupVaultName"` + Region string `pulumi:"region"` + ServiceInstanceId string `pulumi:"serviceInstanceId"` +} + +// A collection of values returned by getCosBackupVault. +type LookupCosBackupVaultResult struct { + ActivityTrackingManagementEvents bool `pulumi:"activityTrackingManagementEvents"` + BackupVaultName string `pulumi:"backupVaultName"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + KmsKeyCrn string `pulumi:"kmsKeyCrn"` + MetricsMonitoringUsageMetrics bool `pulumi:"metricsMonitoringUsageMetrics"` + Region string `pulumi:"region"` + ServiceInstanceId string `pulumi:"serviceInstanceId"` +} + +func LookupCosBackupVaultOutput(ctx *pulumi.Context, args LookupCosBackupVaultOutputArgs, opts ...pulumi.InvokeOption) LookupCosBackupVaultResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupCosBackupVaultResultOutput, error) { + args := v.(LookupCosBackupVaultArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getCosBackupVault:getCosBackupVault", args, LookupCosBackupVaultResultOutput{}, options).(LookupCosBackupVaultResultOutput), nil + }).(LookupCosBackupVaultResultOutput) +} + +// A collection of arguments for invoking getCosBackupVault. +type LookupCosBackupVaultOutputArgs struct { + BackupVaultName pulumi.StringInput `pulumi:"backupVaultName"` + Region pulumi.StringInput `pulumi:"region"` + ServiceInstanceId pulumi.StringInput `pulumi:"serviceInstanceId"` +} + +func (LookupCosBackupVaultOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCosBackupVaultArgs)(nil)).Elem() +} + +// A collection of values returned by getCosBackupVault. +type LookupCosBackupVaultResultOutput struct{ *pulumi.OutputState } + +func (LookupCosBackupVaultResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCosBackupVaultResult)(nil)).Elem() +} + +func (o LookupCosBackupVaultResultOutput) ToLookupCosBackupVaultResultOutput() LookupCosBackupVaultResultOutput { + return o +} + +func (o LookupCosBackupVaultResultOutput) ToLookupCosBackupVaultResultOutputWithContext(ctx context.Context) LookupCosBackupVaultResultOutput { + return o +} + +func (o LookupCosBackupVaultResultOutput) ActivityTrackingManagementEvents() pulumi.BoolOutput { + return o.ApplyT(func(v LookupCosBackupVaultResult) bool { return v.ActivityTrackingManagementEvents }).(pulumi.BoolOutput) +} + +func (o LookupCosBackupVaultResultOutput) BackupVaultName() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupVaultResult) string { return v.BackupVaultName }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupCosBackupVaultResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupVaultResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupCosBackupVaultResultOutput) KmsKeyCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupVaultResult) string { return v.KmsKeyCrn }).(pulumi.StringOutput) +} + +func (o LookupCosBackupVaultResultOutput) MetricsMonitoringUsageMetrics() pulumi.BoolOutput { + return o.ApplyT(func(v LookupCosBackupVaultResult) bool { return v.MetricsMonitoringUsageMetrics }).(pulumi.BoolOutput) +} + +func (o LookupCosBackupVaultResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupVaultResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o LookupCosBackupVaultResultOutput) ServiceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBackupVaultResult) string { return v.ServiceInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupCosBackupVaultResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBucket.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBucket.go new file mode 100644 index 000000000..6e870c208 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBucket.go @@ -0,0 +1,251 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupCosBucket(ctx *pulumi.Context, args *LookupCosBucketArgs, opts ...pulumi.InvokeOption) (*LookupCosBucketResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupCosBucketResult + err := ctx.Invoke("ibmcloud:index/getCosBucket:getCosBucket", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCosBucket. +type LookupCosBucketArgs struct { + BucketName string `pulumi:"bucketName"` + BucketRegion *string `pulumi:"bucketRegion"` + BucketType *string `pulumi:"bucketType"` + EndpointType *string `pulumi:"endpointType"` + ResourceInstanceId string `pulumi:"resourceInstanceId"` + SatelliteLocationId *string `pulumi:"satelliteLocationId"` +} + +// A collection of values returned by getCosBucket. +type LookupCosBucketResult struct { + AbortIncompleteMultipartUploadDays []GetCosBucketAbortIncompleteMultipartUploadDay `pulumi:"abortIncompleteMultipartUploadDays"` + ActivityTrackings []GetCosBucketActivityTracking `pulumi:"activityTrackings"` + AllowedIps []string `pulumi:"allowedIps"` + ArchiveRules []GetCosBucketArchiveRule `pulumi:"archiveRules"` + BucketName string `pulumi:"bucketName"` + BucketRegion *string `pulumi:"bucketRegion"` + BucketType *string `pulumi:"bucketType"` + Crn string `pulumi:"crn"` + CrossRegionLocation string `pulumi:"crossRegionLocation"` + EndpointType *string `pulumi:"endpointType"` + ExpireRules []GetCosBucketExpireRule `pulumi:"expireRules"` + HardQuota int `pulumi:"hardQuota"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + KeyProtect string `pulumi:"keyProtect"` + KmsKeyCrn string `pulumi:"kmsKeyCrn"` + LifecycleRules []GetCosBucketLifecycleRule `pulumi:"lifecycleRules"` + MetricsMonitorings []GetCosBucketMetricsMonitoring `pulumi:"metricsMonitorings"` + NoncurrentVersionExpirations []GetCosBucketNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpirations"` + ObjectLock bool `pulumi:"objectLock"` + ObjectLockConfigurations []GetCosBucketObjectLockConfigurationType `pulumi:"objectLockConfigurations"` + ObjectVersionings []GetCosBucketObjectVersioning `pulumi:"objectVersionings"` + RegionLocation string `pulumi:"regionLocation"` + ReplicationRules []GetCosBucketReplicationRuleType `pulumi:"replicationRules"` + ResourceInstanceId string `pulumi:"resourceInstanceId"` + RetentionRules []GetCosBucketRetentionRule `pulumi:"retentionRules"` + S3EndpointDirect string `pulumi:"s3EndpointDirect"` + S3EndpointPrivate string `pulumi:"s3EndpointPrivate"` + S3EndpointPublic string `pulumi:"s3EndpointPublic"` + SatelliteLocationId *string `pulumi:"satelliteLocationId"` + SingleSiteLocation string `pulumi:"singleSiteLocation"` + StorageClass string `pulumi:"storageClass"` + WebsiteConfigurations []GetCosBucketWebsiteConfigurationType `pulumi:"websiteConfigurations"` + WebsiteEndpoint string `pulumi:"websiteEndpoint"` +} + +func LookupCosBucketOutput(ctx *pulumi.Context, args LookupCosBucketOutputArgs, opts ...pulumi.InvokeOption) LookupCosBucketResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupCosBucketResultOutput, error) { + args := v.(LookupCosBucketArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getCosBucket:getCosBucket", args, LookupCosBucketResultOutput{}, options).(LookupCosBucketResultOutput), nil + }).(LookupCosBucketResultOutput) +} + +// A collection of arguments for invoking getCosBucket. +type LookupCosBucketOutputArgs struct { + BucketName pulumi.StringInput `pulumi:"bucketName"` + BucketRegion pulumi.StringPtrInput `pulumi:"bucketRegion"` + BucketType pulumi.StringPtrInput `pulumi:"bucketType"` + EndpointType pulumi.StringPtrInput `pulumi:"endpointType"` + ResourceInstanceId pulumi.StringInput `pulumi:"resourceInstanceId"` + SatelliteLocationId pulumi.StringPtrInput `pulumi:"satelliteLocationId"` +} + +func (LookupCosBucketOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCosBucketArgs)(nil)).Elem() +} + +// A collection of values returned by getCosBucket. +type LookupCosBucketResultOutput struct{ *pulumi.OutputState } + +func (LookupCosBucketResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCosBucketResult)(nil)).Elem() +} + +func (o LookupCosBucketResultOutput) ToLookupCosBucketResultOutput() LookupCosBucketResultOutput { + return o +} + +func (o LookupCosBucketResultOutput) ToLookupCosBucketResultOutputWithContext(ctx context.Context) LookupCosBucketResultOutput { + return o +} + +func (o LookupCosBucketResultOutput) AbortIncompleteMultipartUploadDays() GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketAbortIncompleteMultipartUploadDay { + return v.AbortIncompleteMultipartUploadDays + }).(GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput) +} + +func (o LookupCosBucketResultOutput) ActivityTrackings() GetCosBucketActivityTrackingArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketActivityTracking { return v.ActivityTrackings }).(GetCosBucketActivityTrackingArrayOutput) +} + +func (o LookupCosBucketResultOutput) AllowedIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []string { return v.AllowedIps }).(pulumi.StringArrayOutput) +} + +func (o LookupCosBucketResultOutput) ArchiveRules() GetCosBucketArchiveRuleArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketArchiveRule { return v.ArchiveRules }).(GetCosBucketArchiveRuleArrayOutput) +} + +func (o LookupCosBucketResultOutput) BucketName() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.BucketName }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) BucketRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCosBucketResult) *string { return v.BucketRegion }).(pulumi.StringPtrOutput) +} + +func (o LookupCosBucketResultOutput) BucketType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCosBucketResult) *string { return v.BucketType }).(pulumi.StringPtrOutput) +} + +func (o LookupCosBucketResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) CrossRegionLocation() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.CrossRegionLocation }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) EndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCosBucketResult) *string { return v.EndpointType }).(pulumi.StringPtrOutput) +} + +func (o LookupCosBucketResultOutput) ExpireRules() GetCosBucketExpireRuleArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketExpireRule { return v.ExpireRules }).(GetCosBucketExpireRuleArrayOutput) +} + +func (o LookupCosBucketResultOutput) HardQuota() pulumi.IntOutput { + return o.ApplyT(func(v LookupCosBucketResult) int { return v.HardQuota }).(pulumi.IntOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupCosBucketResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) KeyProtect() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.KeyProtect }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) KmsKeyCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.KmsKeyCrn }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) LifecycleRules() GetCosBucketLifecycleRuleArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketLifecycleRule { return v.LifecycleRules }).(GetCosBucketLifecycleRuleArrayOutput) +} + +func (o LookupCosBucketResultOutput) MetricsMonitorings() GetCosBucketMetricsMonitoringArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketMetricsMonitoring { return v.MetricsMonitorings }).(GetCosBucketMetricsMonitoringArrayOutput) +} + +func (o LookupCosBucketResultOutput) NoncurrentVersionExpirations() GetCosBucketNoncurrentVersionExpirationArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketNoncurrentVersionExpiration { + return v.NoncurrentVersionExpirations + }).(GetCosBucketNoncurrentVersionExpirationArrayOutput) +} + +func (o LookupCosBucketResultOutput) ObjectLock() pulumi.BoolOutput { + return o.ApplyT(func(v LookupCosBucketResult) bool { return v.ObjectLock }).(pulumi.BoolOutput) +} + +func (o LookupCosBucketResultOutput) ObjectLockConfigurations() GetCosBucketObjectLockConfigurationTypeArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketObjectLockConfigurationType { + return v.ObjectLockConfigurations + }).(GetCosBucketObjectLockConfigurationTypeArrayOutput) +} + +func (o LookupCosBucketResultOutput) ObjectVersionings() GetCosBucketObjectVersioningArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketObjectVersioning { return v.ObjectVersionings }).(GetCosBucketObjectVersioningArrayOutput) +} + +func (o LookupCosBucketResultOutput) RegionLocation() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.RegionLocation }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) ReplicationRules() GetCosBucketReplicationRuleTypeArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketReplicationRuleType { return v.ReplicationRules }).(GetCosBucketReplicationRuleTypeArrayOutput) +} + +func (o LookupCosBucketResultOutput) ResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.ResourceInstanceId }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) RetentionRules() GetCosBucketRetentionRuleArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketRetentionRule { return v.RetentionRules }).(GetCosBucketRetentionRuleArrayOutput) +} + +func (o LookupCosBucketResultOutput) S3EndpointDirect() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.S3EndpointDirect }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) S3EndpointPrivate() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.S3EndpointPrivate }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) S3EndpointPublic() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.S3EndpointPublic }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) SatelliteLocationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCosBucketResult) *string { return v.SatelliteLocationId }).(pulumi.StringPtrOutput) +} + +func (o LookupCosBucketResultOutput) SingleSiteLocation() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.SingleSiteLocation }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) StorageClass() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.StorageClass }).(pulumi.StringOutput) +} + +func (o LookupCosBucketResultOutput) WebsiteConfigurations() GetCosBucketWebsiteConfigurationTypeArrayOutput { + return o.ApplyT(func(v LookupCosBucketResult) []GetCosBucketWebsiteConfigurationType { return v.WebsiteConfigurations }).(GetCosBucketWebsiteConfigurationTypeArrayOutput) +} + +func (o LookupCosBucketResultOutput) WebsiteEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketResult) string { return v.WebsiteEndpoint }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupCosBucketResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBucketObject.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBucketObject.go new file mode 100644 index 000000000..733d52897 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getCosBucketObject.go @@ -0,0 +1,156 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupCosBucketObject(ctx *pulumi.Context, args *LookupCosBucketObjectArgs, opts ...pulumi.InvokeOption) (*LookupCosBucketObjectResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupCosBucketObjectResult + err := ctx.Invoke("ibmcloud:index/getCosBucketObject:getCosBucketObject", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCosBucketObject. +type LookupCosBucketObjectArgs struct { + BucketCrn string `pulumi:"bucketCrn"` + BucketLocation string `pulumi:"bucketLocation"` + EndpointType *string `pulumi:"endpointType"` + Key string `pulumi:"key"` +} + +// A collection of values returned by getCosBucketObject. +type LookupCosBucketObjectResult struct { + Body string `pulumi:"body"` + BucketCrn string `pulumi:"bucketCrn"` + BucketLocation string `pulumi:"bucketLocation"` + ContentLength int `pulumi:"contentLength"` + ContentType string `pulumi:"contentType"` + EndpointType *string `pulumi:"endpointType"` + Etag string `pulumi:"etag"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Key string `pulumi:"key"` + LastModified string `pulumi:"lastModified"` + ObjectLockLegalHoldStatus string `pulumi:"objectLockLegalHoldStatus"` + ObjectLockMode string `pulumi:"objectLockMode"` + ObjectLockRetainUntilDate string `pulumi:"objectLockRetainUntilDate"` + ObjectSqlUrl string `pulumi:"objectSqlUrl"` + VersionId string `pulumi:"versionId"` + WebsiteRedirect string `pulumi:"websiteRedirect"` +} + +func LookupCosBucketObjectOutput(ctx *pulumi.Context, args LookupCosBucketObjectOutputArgs, opts ...pulumi.InvokeOption) LookupCosBucketObjectResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupCosBucketObjectResultOutput, error) { + args := v.(LookupCosBucketObjectArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getCosBucketObject:getCosBucketObject", args, LookupCosBucketObjectResultOutput{}, options).(LookupCosBucketObjectResultOutput), nil + }).(LookupCosBucketObjectResultOutput) +} + +// A collection of arguments for invoking getCosBucketObject. +type LookupCosBucketObjectOutputArgs struct { + BucketCrn pulumi.StringInput `pulumi:"bucketCrn"` + BucketLocation pulumi.StringInput `pulumi:"bucketLocation"` + EndpointType pulumi.StringPtrInput `pulumi:"endpointType"` + Key pulumi.StringInput `pulumi:"key"` +} + +func (LookupCosBucketObjectOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCosBucketObjectArgs)(nil)).Elem() +} + +// A collection of values returned by getCosBucketObject. +type LookupCosBucketObjectResultOutput struct{ *pulumi.OutputState } + +func (LookupCosBucketObjectResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCosBucketObjectResult)(nil)).Elem() +} + +func (o LookupCosBucketObjectResultOutput) ToLookupCosBucketObjectResultOutput() LookupCosBucketObjectResultOutput { + return o +} + +func (o LookupCosBucketObjectResultOutput) ToLookupCosBucketObjectResultOutputWithContext(ctx context.Context) LookupCosBucketObjectResultOutput { + return o +} + +func (o LookupCosBucketObjectResultOutput) Body() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.Body }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) BucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.BucketCrn }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) BucketLocation() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.BucketLocation }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) ContentLength() pulumi.IntOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) int { return v.ContentLength }).(pulumi.IntOutput) +} + +func (o LookupCosBucketObjectResultOutput) ContentType() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.ContentType }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) EndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) *string { return v.EndpointType }).(pulumi.StringPtrOutput) +} + +func (o LookupCosBucketObjectResultOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.Etag }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupCosBucketObjectResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.Key }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) LastModified() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.LastModified }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) ObjectLockLegalHoldStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.ObjectLockLegalHoldStatus }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) ObjectLockMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.ObjectLockMode }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) ObjectLockRetainUntilDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.ObjectLockRetainUntilDate }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) ObjectSqlUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.ObjectSqlUrl }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) VersionId() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.VersionId }).(pulumi.StringOutput) +} + +func (o LookupCosBucketObjectResultOutput) WebsiteRedirect() pulumi.StringOutput { + return o.ApplyT(func(v LookupCosBucketObjectResult) string { return v.WebsiteRedirect }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupCosBucketObjectResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroup.go new file mode 100644 index 000000000..a8ad26589 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroup.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamAccessGroup(ctx *pulumi.Context, args *LookupIamAccessGroupArgs, opts ...pulumi.InvokeOption) (*LookupIamAccessGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamAccessGroupResult + err := ctx.Invoke("ibmcloud:index/getIamAccessGroup:getIamAccessGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccessGroup. +type LookupIamAccessGroupArgs struct { + AccessGroupName *string `pulumi:"accessGroupName"` +} + +// A collection of values returned by getIamAccessGroup. +type LookupIamAccessGroupResult struct { + AccessGroupName *string `pulumi:"accessGroupName"` + Groups []GetIamAccessGroupGroup `pulumi:"groups"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func LookupIamAccessGroupOutput(ctx *pulumi.Context, args LookupIamAccessGroupOutputArgs, opts ...pulumi.InvokeOption) LookupIamAccessGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamAccessGroupResultOutput, error) { + args := v.(LookupIamAccessGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccessGroup:getIamAccessGroup", args, LookupIamAccessGroupResultOutput{}, options).(LookupIamAccessGroupResultOutput), nil + }).(LookupIamAccessGroupResultOutput) +} + +// A collection of arguments for invoking getIamAccessGroup. +type LookupIamAccessGroupOutputArgs struct { + AccessGroupName pulumi.StringPtrInput `pulumi:"accessGroupName"` +} + +func (LookupIamAccessGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccessGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccessGroup. +type LookupIamAccessGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupIamAccessGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccessGroupResult)(nil)).Elem() +} + +func (o LookupIamAccessGroupResultOutput) ToLookupIamAccessGroupResultOutput() LookupIamAccessGroupResultOutput { + return o +} + +func (o LookupIamAccessGroupResultOutput) ToLookupIamAccessGroupResultOutputWithContext(ctx context.Context) LookupIamAccessGroupResultOutput { + return o +} + +func (o LookupIamAccessGroupResultOutput) AccessGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccessGroupResult) *string { return v.AccessGroupName }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccessGroupResultOutput) Groups() GetIamAccessGroupGroupArrayOutput { + return o.ApplyT(func(v LookupIamAccessGroupResult) []GetIamAccessGroupGroup { return v.Groups }).(GetIamAccessGroupGroupArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamAccessGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamAccessGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupPolicy.go new file mode 100644 index 000000000..78e9f0f1b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupPolicy.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamAccessGroupPolicy(ctx *pulumi.Context, args *LookupIamAccessGroupPolicyArgs, opts ...pulumi.InvokeOption) (*LookupIamAccessGroupPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamAccessGroupPolicyResult + err := ctx.Invoke("ibmcloud:index/getIamAccessGroupPolicy:getIamAccessGroupPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccessGroupPolicy. +type LookupIamAccessGroupPolicyArgs struct { + AccessGroupId string `pulumi:"accessGroupId"` + Sort *string `pulumi:"sort"` + TransactionId *string `pulumi:"transactionId"` +} + +// A collection of values returned by getIamAccessGroupPolicy. +type LookupIamAccessGroupPolicyResult struct { + AccessGroupId string `pulumi:"accessGroupId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Policies []GetIamAccessGroupPolicyPolicy `pulumi:"policies"` + Sort *string `pulumi:"sort"` + TransactionId string `pulumi:"transactionId"` +} + +func LookupIamAccessGroupPolicyOutput(ctx *pulumi.Context, args LookupIamAccessGroupPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIamAccessGroupPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamAccessGroupPolicyResultOutput, error) { + args := v.(LookupIamAccessGroupPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccessGroupPolicy:getIamAccessGroupPolicy", args, LookupIamAccessGroupPolicyResultOutput{}, options).(LookupIamAccessGroupPolicyResultOutput), nil + }).(LookupIamAccessGroupPolicyResultOutput) +} + +// A collection of arguments for invoking getIamAccessGroupPolicy. +type LookupIamAccessGroupPolicyOutputArgs struct { + AccessGroupId pulumi.StringInput `pulumi:"accessGroupId"` + Sort pulumi.StringPtrInput `pulumi:"sort"` + TransactionId pulumi.StringPtrInput `pulumi:"transactionId"` +} + +func (LookupIamAccessGroupPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccessGroupPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccessGroupPolicy. +type LookupIamAccessGroupPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIamAccessGroupPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccessGroupPolicyResult)(nil)).Elem() +} + +func (o LookupIamAccessGroupPolicyResultOutput) ToLookupIamAccessGroupPolicyResultOutput() LookupIamAccessGroupPolicyResultOutput { + return o +} + +func (o LookupIamAccessGroupPolicyResultOutput) ToLookupIamAccessGroupPolicyResultOutputWithContext(ctx context.Context) LookupIamAccessGroupPolicyResultOutput { + return o +} + +func (o LookupIamAccessGroupPolicyResultOutput) AccessGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessGroupPolicyResult) string { return v.AccessGroupId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamAccessGroupPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessGroupPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamAccessGroupPolicyResultOutput) Policies() GetIamAccessGroupPolicyPolicyArrayOutput { + return o.ApplyT(func(v LookupIamAccessGroupPolicyResult) []GetIamAccessGroupPolicyPolicy { return v.Policies }).(GetIamAccessGroupPolicyPolicyArrayOutput) +} + +func (o LookupIamAccessGroupPolicyResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccessGroupPolicyResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccessGroupPolicyResultOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessGroupPolicyResult) string { return v.TransactionId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamAccessGroupPolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupTemplateAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupTemplateAssignment.go new file mode 100644 index 000000000..ce53d6b22 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupTemplateAssignment.go @@ -0,0 +1,149 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamAccessGroupTemplateAssignment(ctx *pulumi.Context, args *LookupIamAccessGroupTemplateAssignmentArgs, opts ...pulumi.InvokeOption) (*LookupIamAccessGroupTemplateAssignmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamAccessGroupTemplateAssignmentResult + err := ctx.Invoke("ibmcloud:index/getIamAccessGroupTemplateAssignment:getIamAccessGroupTemplateAssignment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccessGroupTemplateAssignment. +type LookupIamAccessGroupTemplateAssignmentArgs struct { + Status *string `pulumi:"status"` + Target *string `pulumi:"target"` + TemplateId *string `pulumi:"templateId"` + TemplateVersion *string `pulumi:"templateVersion"` + TransactionId *string `pulumi:"transactionId"` +} + +// A collection of values returned by getIamAccessGroupTemplateAssignment. +type LookupIamAccessGroupTemplateAssignmentResult struct { + AccountId string `pulumi:"accountId"` + Assignments []GetIamAccessGroupTemplateAssignmentAssignment `pulumi:"assignments"` + Firsts []GetIamAccessGroupTemplateAssignmentFirst `pulumi:"firsts"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lasts []GetIamAccessGroupTemplateAssignmentLast `pulumi:"lasts"` + Limit int `pulumi:"limit"` + Offset int `pulumi:"offset"` + Status *string `pulumi:"status"` + Target *string `pulumi:"target"` + TemplateId *string `pulumi:"templateId"` + TemplateVersion *string `pulumi:"templateVersion"` + TotalCount int `pulumi:"totalCount"` + TransactionId *string `pulumi:"transactionId"` +} + +func LookupIamAccessGroupTemplateAssignmentOutput(ctx *pulumi.Context, args LookupIamAccessGroupTemplateAssignmentOutputArgs, opts ...pulumi.InvokeOption) LookupIamAccessGroupTemplateAssignmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamAccessGroupTemplateAssignmentResultOutput, error) { + args := v.(LookupIamAccessGroupTemplateAssignmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccessGroupTemplateAssignment:getIamAccessGroupTemplateAssignment", args, LookupIamAccessGroupTemplateAssignmentResultOutput{}, options).(LookupIamAccessGroupTemplateAssignmentResultOutput), nil + }).(LookupIamAccessGroupTemplateAssignmentResultOutput) +} + +// A collection of arguments for invoking getIamAccessGroupTemplateAssignment. +type LookupIamAccessGroupTemplateAssignmentOutputArgs struct { + Status pulumi.StringPtrInput `pulumi:"status"` + Target pulumi.StringPtrInput `pulumi:"target"` + TemplateId pulumi.StringPtrInput `pulumi:"templateId"` + TemplateVersion pulumi.StringPtrInput `pulumi:"templateVersion"` + TransactionId pulumi.StringPtrInput `pulumi:"transactionId"` +} + +func (LookupIamAccessGroupTemplateAssignmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccessGroupTemplateAssignmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccessGroupTemplateAssignment. +type LookupIamAccessGroupTemplateAssignmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIamAccessGroupTemplateAssignmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccessGroupTemplateAssignmentResult)(nil)).Elem() +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) ToLookupIamAccessGroupTemplateAssignmentResultOutput() LookupIamAccessGroupTemplateAssignmentResultOutput { + return o +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) ToLookupIamAccessGroupTemplateAssignmentResultOutputWithContext(ctx context.Context) LookupIamAccessGroupTemplateAssignmentResultOutput { + return o +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) Assignments() GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) []GetIamAccessGroupTemplateAssignmentAssignment { + return v.Assignments + }).(GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) Firsts() GetIamAccessGroupTemplateAssignmentFirstArrayOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) []GetIamAccessGroupTemplateAssignmentFirst { + return v.Firsts + }).(GetIamAccessGroupTemplateAssignmentFirstArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) Lasts() GetIamAccessGroupTemplateAssignmentLastArrayOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) []GetIamAccessGroupTemplateAssignmentLast { + return v.Lasts + }).(GetIamAccessGroupTemplateAssignmentLastArrayOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) Limit() pulumi.IntOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) int { return v.Limit }).(pulumi.IntOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) Offset() pulumi.IntOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) int { return v.Offset }).(pulumi.IntOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) *string { return v.Target }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) TemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) *string { return v.TemplateId }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) TemplateVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) *string { return v.TemplateVersion }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func (o LookupIamAccessGroupTemplateAssignmentResultOutput) TransactionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccessGroupTemplateAssignmentResult) *string { return v.TransactionId }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamAccessGroupTemplateAssignmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupTemplateVersions.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupTemplateVersions.go new file mode 100644 index 000000000..80eee0408 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessGroupTemplateVersions.go @@ -0,0 +1,108 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamAccessGroupTemplateVersions(ctx *pulumi.Context, args *GetIamAccessGroupTemplateVersionsArgs, opts ...pulumi.InvokeOption) (*GetIamAccessGroupTemplateVersionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamAccessGroupTemplateVersionsResult + err := ctx.Invoke("ibmcloud:index/getIamAccessGroupTemplateVersions:getIamAccessGroupTemplateVersions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccessGroupTemplateVersions. +type GetIamAccessGroupTemplateVersionsArgs struct { + TemplateId string `pulumi:"templateId"` +} + +// A collection of values returned by getIamAccessGroupTemplateVersions. +type GetIamAccessGroupTemplateVersionsResult struct { + Firsts []GetIamAccessGroupTemplateVersionsFirst `pulumi:"firsts"` + GroupTemplateVersions []GetIamAccessGroupTemplateVersionsGroupTemplateVersion `pulumi:"groupTemplateVersions"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lasts []GetIamAccessGroupTemplateVersionsLast `pulumi:"lasts"` + Previouses []GetIamAccessGroupTemplateVersionsPreviouse `pulumi:"previouses"` + TemplateId string `pulumi:"templateId"` +} + +func GetIamAccessGroupTemplateVersionsOutput(ctx *pulumi.Context, args GetIamAccessGroupTemplateVersionsOutputArgs, opts ...pulumi.InvokeOption) GetIamAccessGroupTemplateVersionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamAccessGroupTemplateVersionsResultOutput, error) { + args := v.(GetIamAccessGroupTemplateVersionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccessGroupTemplateVersions:getIamAccessGroupTemplateVersions", args, GetIamAccessGroupTemplateVersionsResultOutput{}, options).(GetIamAccessGroupTemplateVersionsResultOutput), nil + }).(GetIamAccessGroupTemplateVersionsResultOutput) +} + +// A collection of arguments for invoking getIamAccessGroupTemplateVersions. +type GetIamAccessGroupTemplateVersionsOutputArgs struct { + TemplateId pulumi.StringInput `pulumi:"templateId"` +} + +func (GetIamAccessGroupTemplateVersionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccessGroupTemplateVersions. +type GetIamAccessGroupTemplateVersionsResultOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsResult)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsResultOutput) ToGetIamAccessGroupTemplateVersionsResultOutput() GetIamAccessGroupTemplateVersionsResultOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsResultOutput) ToGetIamAccessGroupTemplateVersionsResultOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsResultOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsResultOutput) Firsts() GetIamAccessGroupTemplateVersionsFirstArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsResult) []GetIamAccessGroupTemplateVersionsFirst { + return v.Firsts + }).(GetIamAccessGroupTemplateVersionsFirstArrayOutput) +} + +func (o GetIamAccessGroupTemplateVersionsResultOutput) GroupTemplateVersions() GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsResult) []GetIamAccessGroupTemplateVersionsGroupTemplateVersion { + return v.GroupTemplateVersions + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamAccessGroupTemplateVersionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamAccessGroupTemplateVersionsResultOutput) Lasts() GetIamAccessGroupTemplateVersionsLastArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsResult) []GetIamAccessGroupTemplateVersionsLast { + return v.Lasts + }).(GetIamAccessGroupTemplateVersionsLastArrayOutput) +} + +func (o GetIamAccessGroupTemplateVersionsResultOutput) Previouses() GetIamAccessGroupTemplateVersionsPreviouseArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsResult) []GetIamAccessGroupTemplateVersionsPreviouse { + return v.Previouses + }).(GetIamAccessGroupTemplateVersionsPreviouseArrayOutput) +} + +func (o GetIamAccessGroupTemplateVersionsResultOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsResult) string { return v.TemplateId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessTag.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessTag.go new file mode 100644 index 000000000..f3d3a206b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccessTag.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamAccessTag(ctx *pulumi.Context, args *LookupIamAccessTagArgs, opts ...pulumi.InvokeOption) (*LookupIamAccessTagResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamAccessTagResult + err := ctx.Invoke("ibmcloud:index/getIamAccessTag:getIamAccessTag", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccessTag. +type LookupIamAccessTagArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIamAccessTag. +type LookupIamAccessTagResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + TagType string `pulumi:"tagType"` +} + +func LookupIamAccessTagOutput(ctx *pulumi.Context, args LookupIamAccessTagOutputArgs, opts ...pulumi.InvokeOption) LookupIamAccessTagResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamAccessTagResultOutput, error) { + args := v.(LookupIamAccessTagArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccessTag:getIamAccessTag", args, LookupIamAccessTagResultOutput{}, options).(LookupIamAccessTagResultOutput), nil + }).(LookupIamAccessTagResultOutput) +} + +// A collection of arguments for invoking getIamAccessTag. +type LookupIamAccessTagOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIamAccessTagOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccessTagArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccessTag. +type LookupIamAccessTagResultOutput struct{ *pulumi.OutputState } + +func (LookupIamAccessTagResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccessTagResult)(nil)).Elem() +} + +func (o LookupIamAccessTagResultOutput) ToLookupIamAccessTagResultOutput() LookupIamAccessTagResultOutput { + return o +} + +func (o LookupIamAccessTagResultOutput) ToLookupIamAccessTagResultOutputWithContext(ctx context.Context) LookupIamAccessTagResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamAccessTagResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessTagResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamAccessTagResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessTagResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamAccessTagResultOutput) TagType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccessTagResult) string { return v.TagType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamAccessTagResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettings.go new file mode 100644 index 000000000..1db90a2ff --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettings.go @@ -0,0 +1,164 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamAccountSettings(ctx *pulumi.Context, args *LookupIamAccountSettingsArgs, opts ...pulumi.InvokeOption) (*LookupIamAccountSettingsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamAccountSettingsResult + err := ctx.Invoke("ibmcloud:index/getIamAccountSettings:getIamAccountSettings", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccountSettings. +type LookupIamAccountSettingsArgs struct { + IncludeHistory *bool `pulumi:"includeHistory"` + ResolveUserMfa *bool `pulumi:"resolveUserMfa"` +} + +// A collection of values returned by getIamAccountSettings. +type LookupIamAccountSettingsResult struct { + AccountId string `pulumi:"accountId"` + AllowedIpAddresses string `pulumi:"allowedIpAddresses"` + EntityTag string `pulumi:"entityTag"` + Histories []GetIamAccountSettingsHistory `pulumi:"histories"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IncludeHistory *bool `pulumi:"includeHistory"` + MaxSessionsPerIdentity string `pulumi:"maxSessionsPerIdentity"` + Mfa string `pulumi:"mfa"` + ResolveUserMfa *bool `pulumi:"resolveUserMfa"` + RestrictCreatePlatformApikey string `pulumi:"restrictCreatePlatformApikey"` + RestrictCreateServiceId string `pulumi:"restrictCreateServiceId"` + RestrictUserDomains []GetIamAccountSettingsRestrictUserDomain `pulumi:"restrictUserDomains"` + RestrictUserListVisibility string `pulumi:"restrictUserListVisibility"` + SessionExpirationInSeconds string `pulumi:"sessionExpirationInSeconds"` + SessionInvalidationInSeconds string `pulumi:"sessionInvalidationInSeconds"` + SystemAccessTokenExpirationInSeconds string `pulumi:"systemAccessTokenExpirationInSeconds"` + SystemRefreshTokenExpirationInSeconds string `pulumi:"systemRefreshTokenExpirationInSeconds"` + UserMfas []GetIamAccountSettingsUserMfa `pulumi:"userMfas"` +} + +func LookupIamAccountSettingsOutput(ctx *pulumi.Context, args LookupIamAccountSettingsOutputArgs, opts ...pulumi.InvokeOption) LookupIamAccountSettingsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamAccountSettingsResultOutput, error) { + args := v.(LookupIamAccountSettingsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccountSettings:getIamAccountSettings", args, LookupIamAccountSettingsResultOutput{}, options).(LookupIamAccountSettingsResultOutput), nil + }).(LookupIamAccountSettingsResultOutput) +} + +// A collection of arguments for invoking getIamAccountSettings. +type LookupIamAccountSettingsOutputArgs struct { + IncludeHistory pulumi.BoolPtrInput `pulumi:"includeHistory"` + ResolveUserMfa pulumi.BoolPtrInput `pulumi:"resolveUserMfa"` +} + +func (LookupIamAccountSettingsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccountSettingsArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccountSettings. +type LookupIamAccountSettingsResultOutput struct{ *pulumi.OutputState } + +func (LookupIamAccountSettingsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccountSettingsResult)(nil)).Elem() +} + +func (o LookupIamAccountSettingsResultOutput) ToLookupIamAccountSettingsResultOutput() LookupIamAccountSettingsResultOutput { + return o +} + +func (o LookupIamAccountSettingsResultOutput) ToLookupIamAccountSettingsResultOutputWithContext(ctx context.Context) LookupIamAccountSettingsResultOutput { + return o +} + +func (o LookupIamAccountSettingsResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) AllowedIpAddresses() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.AllowedIpAddresses }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) Histories() GetIamAccountSettingsHistoryArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) []GetIamAccountSettingsHistory { return v.Histories }).(GetIamAccountSettingsHistoryArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamAccountSettingsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) IncludeHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) *bool { return v.IncludeHistory }).(pulumi.BoolPtrOutput) +} + +func (o LookupIamAccountSettingsResultOutput) MaxSessionsPerIdentity() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.MaxSessionsPerIdentity }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.Mfa }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) ResolveUserMfa() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) *bool { return v.ResolveUserMfa }).(pulumi.BoolPtrOutput) +} + +func (o LookupIamAccountSettingsResultOutput) RestrictCreatePlatformApikey() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.RestrictCreatePlatformApikey }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) RestrictCreateServiceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.RestrictCreateServiceId }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) RestrictUserDomains() GetIamAccountSettingsRestrictUserDomainArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) []GetIamAccountSettingsRestrictUserDomain { + return v.RestrictUserDomains + }).(GetIamAccountSettingsRestrictUserDomainArrayOutput) +} + +func (o LookupIamAccountSettingsResultOutput) RestrictUserListVisibility() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.RestrictUserListVisibility }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) SessionExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.SessionExpirationInSeconds }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) SessionInvalidationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.SessionInvalidationInSeconds }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) SystemAccessTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.SystemAccessTokenExpirationInSeconds }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) SystemRefreshTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) string { return v.SystemRefreshTokenExpirationInSeconds }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsResultOutput) UserMfas() GetIamAccountSettingsUserMfaArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsResult) []GetIamAccountSettingsUserMfa { return v.UserMfas }).(GetIamAccountSettingsUserMfaArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamAccountSettingsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsExternalInteraction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsExternalInteraction.go new file mode 100644 index 000000000..cdc62e2bc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsExternalInteraction.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamAccountSettingsExternalInteraction(ctx *pulumi.Context, args *LookupIamAccountSettingsExternalInteractionArgs, opts ...pulumi.InvokeOption) (*LookupIamAccountSettingsExternalInteractionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamAccountSettingsExternalInteractionResult + err := ctx.Invoke("ibmcloud:index/getIamAccountSettingsExternalInteraction:getIamAccountSettingsExternalInteraction", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccountSettingsExternalInteraction. +type LookupIamAccountSettingsExternalInteractionArgs struct { + AcceptLanguage *string `pulumi:"acceptLanguage"` + AccountId string `pulumi:"accountId"` +} + +// A collection of values returned by getIamAccountSettingsExternalInteraction. +type LookupIamAccountSettingsExternalInteractionResult struct { + AcceptLanguage *string `pulumi:"acceptLanguage"` + AccountId string `pulumi:"accountId"` + ExternalAccountIdentityInteractions []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction `pulumi:"externalAccountIdentityInteractions"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func LookupIamAccountSettingsExternalInteractionOutput(ctx *pulumi.Context, args LookupIamAccountSettingsExternalInteractionOutputArgs, opts ...pulumi.InvokeOption) LookupIamAccountSettingsExternalInteractionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamAccountSettingsExternalInteractionResultOutput, error) { + args := v.(LookupIamAccountSettingsExternalInteractionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccountSettingsExternalInteraction:getIamAccountSettingsExternalInteraction", args, LookupIamAccountSettingsExternalInteractionResultOutput{}, options).(LookupIamAccountSettingsExternalInteractionResultOutput), nil + }).(LookupIamAccountSettingsExternalInteractionResultOutput) +} + +// A collection of arguments for invoking getIamAccountSettingsExternalInteraction. +type LookupIamAccountSettingsExternalInteractionOutputArgs struct { + AcceptLanguage pulumi.StringPtrInput `pulumi:"acceptLanguage"` + AccountId pulumi.StringInput `pulumi:"accountId"` +} + +func (LookupIamAccountSettingsExternalInteractionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccountSettingsExternalInteractionArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccountSettingsExternalInteraction. +type LookupIamAccountSettingsExternalInteractionResultOutput struct{ *pulumi.OutputState } + +func (LookupIamAccountSettingsExternalInteractionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccountSettingsExternalInteractionResult)(nil)).Elem() +} + +func (o LookupIamAccountSettingsExternalInteractionResultOutput) ToLookupIamAccountSettingsExternalInteractionResultOutput() LookupIamAccountSettingsExternalInteractionResultOutput { + return o +} + +func (o LookupIamAccountSettingsExternalInteractionResultOutput) ToLookupIamAccountSettingsExternalInteractionResultOutputWithContext(ctx context.Context) LookupIamAccountSettingsExternalInteractionResultOutput { + return o +} + +func (o LookupIamAccountSettingsExternalInteractionResultOutput) AcceptLanguage() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsExternalInteractionResult) *string { return v.AcceptLanguage }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccountSettingsExternalInteractionResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsExternalInteractionResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsExternalInteractionResultOutput) ExternalAccountIdentityInteractions() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsExternalInteractionResult) []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction { + return v.ExternalAccountIdentityInteractions + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamAccountSettingsExternalInteractionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsExternalInteractionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamAccountSettingsExternalInteractionResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsTemplate.go new file mode 100644 index 000000000..59e7bce03 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsTemplate.go @@ -0,0 +1,156 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamAccountSettingsTemplate(ctx *pulumi.Context, args *LookupIamAccountSettingsTemplateArgs, opts ...pulumi.InvokeOption) (*LookupIamAccountSettingsTemplateResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamAccountSettingsTemplateResult + err := ctx.Invoke("ibmcloud:index/getIamAccountSettingsTemplate:getIamAccountSettingsTemplate", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccountSettingsTemplate. +type LookupIamAccountSettingsTemplateArgs struct { + IncludeHistory *bool `pulumi:"includeHistory"` + TemplateId string `pulumi:"templateId"` + Version *string `pulumi:"version"` +} + +// A collection of values returned by getIamAccountSettingsTemplate. +type LookupIamAccountSettingsTemplateResult struct { + AccountId string `pulumi:"accountId"` + AccountSettings []GetIamAccountSettingsTemplateAccountSetting `pulumi:"accountSettings"` + Committed bool `pulumi:"committed"` + CreatedAt string `pulumi:"createdAt"` + CreatedById string `pulumi:"createdById"` + Crn string `pulumi:"crn"` + Description string `pulumi:"description"` + EntityTag string `pulumi:"entityTag"` + Histories []GetIamAccountSettingsTemplateHistory `pulumi:"histories"` + Id string `pulumi:"id"` + IncludeHistory *bool `pulumi:"includeHistory"` + LastModifiedAt string `pulumi:"lastModifiedAt"` + LastModifiedById string `pulumi:"lastModifiedById"` + Name string `pulumi:"name"` + TemplateId string `pulumi:"templateId"` + Version *string `pulumi:"version"` +} + +func LookupIamAccountSettingsTemplateOutput(ctx *pulumi.Context, args LookupIamAccountSettingsTemplateOutputArgs, opts ...pulumi.InvokeOption) LookupIamAccountSettingsTemplateResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamAccountSettingsTemplateResultOutput, error) { + args := v.(LookupIamAccountSettingsTemplateArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccountSettingsTemplate:getIamAccountSettingsTemplate", args, LookupIamAccountSettingsTemplateResultOutput{}, options).(LookupIamAccountSettingsTemplateResultOutput), nil + }).(LookupIamAccountSettingsTemplateResultOutput) +} + +// A collection of arguments for invoking getIamAccountSettingsTemplate. +type LookupIamAccountSettingsTemplateOutputArgs struct { + IncludeHistory pulumi.BoolPtrInput `pulumi:"includeHistory"` + TemplateId pulumi.StringInput `pulumi:"templateId"` + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (LookupIamAccountSettingsTemplateOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccountSettingsTemplateArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccountSettingsTemplate. +type LookupIamAccountSettingsTemplateResultOutput struct{ *pulumi.OutputState } + +func (LookupIamAccountSettingsTemplateResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccountSettingsTemplateResult)(nil)).Elem() +} + +func (o LookupIamAccountSettingsTemplateResultOutput) ToLookupIamAccountSettingsTemplateResultOutput() LookupIamAccountSettingsTemplateResultOutput { + return o +} + +func (o LookupIamAccountSettingsTemplateResultOutput) ToLookupIamAccountSettingsTemplateResultOutputWithContext(ctx context.Context) LookupIamAccountSettingsTemplateResultOutput { + return o +} + +func (o LookupIamAccountSettingsTemplateResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) AccountSettings() GetIamAccountSettingsTemplateAccountSettingArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) []GetIamAccountSettingsTemplateAccountSetting { + return v.AccountSettings + }).(GetIamAccountSettingsTemplateAccountSettingArrayOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) bool { return v.Committed }).(pulumi.BoolOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.CreatedById }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) Histories() GetIamAccountSettingsTemplateHistoryArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) []GetIamAccountSettingsTemplateHistory { + return v.Histories + }).(GetIamAccountSettingsTemplateHistoryArrayOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) IncludeHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) *bool { return v.IncludeHistory }).(pulumi.BoolPtrOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) string { return v.TemplateId }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateResultOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateResult) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamAccountSettingsTemplateResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsTemplateAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsTemplateAssignment.go new file mode 100644 index 000000000..30dba0c55 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAccountSettingsTemplateAssignment.go @@ -0,0 +1,174 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamAccountSettingsTemplateAssignment(ctx *pulumi.Context, args *LookupIamAccountSettingsTemplateAssignmentArgs, opts ...pulumi.InvokeOption) (*LookupIamAccountSettingsTemplateAssignmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamAccountSettingsTemplateAssignmentResult + err := ctx.Invoke("ibmcloud:index/getIamAccountSettingsTemplateAssignment:getIamAccountSettingsTemplateAssignment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAccountSettingsTemplateAssignment. +type LookupIamAccountSettingsTemplateAssignmentArgs struct { + AssignmentId string `pulumi:"assignmentId"` + IncludeHistory *bool `pulumi:"includeHistory"` + Target *string `pulumi:"target"` + TargetType *string `pulumi:"targetType"` + TemplateId *string `pulumi:"templateId"` + TemplateVersion *int `pulumi:"templateVersion"` +} + +// A collection of values returned by getIamAccountSettingsTemplateAssignment. +type LookupIamAccountSettingsTemplateAssignmentResult struct { + AccountId string `pulumi:"accountId"` + AssignmentId string `pulumi:"assignmentId"` + Contexts []GetIamAccountSettingsTemplateAssignmentContext `pulumi:"contexts"` + CreatedAt string `pulumi:"createdAt"` + CreatedById string `pulumi:"createdById"` + EntityTag string `pulumi:"entityTag"` + Histories []GetIamAccountSettingsTemplateAssignmentHistory `pulumi:"histories"` + Href string `pulumi:"href"` + Id string `pulumi:"id"` + IncludeHistory *bool `pulumi:"includeHistory"` + LastModifiedAt string `pulumi:"lastModifiedAt"` + LastModifiedById string `pulumi:"lastModifiedById"` + Resources []GetIamAccountSettingsTemplateAssignmentResource `pulumi:"resources"` + Status string `pulumi:"status"` + Target *string `pulumi:"target"` + TargetType *string `pulumi:"targetType"` + TemplateId *string `pulumi:"templateId"` + TemplateVersion *int `pulumi:"templateVersion"` +} + +func LookupIamAccountSettingsTemplateAssignmentOutput(ctx *pulumi.Context, args LookupIamAccountSettingsTemplateAssignmentOutputArgs, opts ...pulumi.InvokeOption) LookupIamAccountSettingsTemplateAssignmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamAccountSettingsTemplateAssignmentResultOutput, error) { + args := v.(LookupIamAccountSettingsTemplateAssignmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAccountSettingsTemplateAssignment:getIamAccountSettingsTemplateAssignment", args, LookupIamAccountSettingsTemplateAssignmentResultOutput{}, options).(LookupIamAccountSettingsTemplateAssignmentResultOutput), nil + }).(LookupIamAccountSettingsTemplateAssignmentResultOutput) +} + +// A collection of arguments for invoking getIamAccountSettingsTemplateAssignment. +type LookupIamAccountSettingsTemplateAssignmentOutputArgs struct { + AssignmentId pulumi.StringInput `pulumi:"assignmentId"` + IncludeHistory pulumi.BoolPtrInput `pulumi:"includeHistory"` + Target pulumi.StringPtrInput `pulumi:"target"` + TargetType pulumi.StringPtrInput `pulumi:"targetType"` + TemplateId pulumi.StringPtrInput `pulumi:"templateId"` + TemplateVersion pulumi.IntPtrInput `pulumi:"templateVersion"` +} + +func (LookupIamAccountSettingsTemplateAssignmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccountSettingsTemplateAssignmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAccountSettingsTemplateAssignment. +type LookupIamAccountSettingsTemplateAssignmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIamAccountSettingsTemplateAssignmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamAccountSettingsTemplateAssignmentResult)(nil)).Elem() +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) ToLookupIamAccountSettingsTemplateAssignmentResultOutput() LookupIamAccountSettingsTemplateAssignmentResultOutput { + return o +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) ToLookupIamAccountSettingsTemplateAssignmentResultOutputWithContext(ctx context.Context) LookupIamAccountSettingsTemplateAssignmentResultOutput { + return o +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.AssignmentId }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) Contexts() GetIamAccountSettingsTemplateAssignmentContextArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) []GetIamAccountSettingsTemplateAssignmentContext { + return v.Contexts + }).(GetIamAccountSettingsTemplateAssignmentContextArrayOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.CreatedById }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) Histories() GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) []GetIamAccountSettingsTemplateAssignmentHistory { + return v.Histories + }).(GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) IncludeHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) *bool { return v.IncludeHistory }).(pulumi.BoolPtrOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) Resources() GetIamAccountSettingsTemplateAssignmentResourceArrayOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) []GetIamAccountSettingsTemplateAssignmentResource { + return v.Resources + }).(GetIamAccountSettingsTemplateAssignmentResourceArrayOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) *string { return v.Target }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) TargetType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) *string { return v.TargetType }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) TemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) *string { return v.TemplateId }).(pulumi.StringPtrOutput) +} + +func (o LookupIamAccountSettingsTemplateAssignmentResultOutput) TemplateVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupIamAccountSettingsTemplateAssignmentResult) *int { return v.TemplateVersion }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamAccountSettingsTemplateAssignmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlAssignment.go new file mode 100644 index 000000000..694c013c7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlAssignment.go @@ -0,0 +1,139 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamActionControlAssignment(ctx *pulumi.Context, args *LookupIamActionControlAssignmentArgs, opts ...pulumi.InvokeOption) (*LookupIamActionControlAssignmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamActionControlAssignmentResult + err := ctx.Invoke("ibmcloud:index/getIamActionControlAssignment:getIamActionControlAssignment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamActionControlAssignment. +type LookupIamActionControlAssignmentArgs struct { + AssignmentId string `pulumi:"assignmentId"` +} + +// A collection of values returned by getIamActionControlAssignment. +type LookupIamActionControlAssignmentResult struct { + AccountId string `pulumi:"accountId"` + AssignmentId string `pulumi:"assignmentId"` + CreatedAt string `pulumi:"createdAt"` + CreatedById string `pulumi:"createdById"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LastModifiedAt string `pulumi:"lastModifiedAt"` + LastModifiedById string `pulumi:"lastModifiedById"` + Operation string `pulumi:"operation"` + Resources []GetIamActionControlAssignmentResource `pulumi:"resources"` + Status string `pulumi:"status"` + Targets []GetIamActionControlAssignmentTarget `pulumi:"targets"` + Templates []GetIamActionControlAssignmentTemplate `pulumi:"templates"` +} + +func LookupIamActionControlAssignmentOutput(ctx *pulumi.Context, args LookupIamActionControlAssignmentOutputArgs, opts ...pulumi.InvokeOption) LookupIamActionControlAssignmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamActionControlAssignmentResultOutput, error) { + args := v.(LookupIamActionControlAssignmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamActionControlAssignment:getIamActionControlAssignment", args, LookupIamActionControlAssignmentResultOutput{}, options).(LookupIamActionControlAssignmentResultOutput), nil + }).(LookupIamActionControlAssignmentResultOutput) +} + +// A collection of arguments for invoking getIamActionControlAssignment. +type LookupIamActionControlAssignmentOutputArgs struct { + AssignmentId pulumi.StringInput `pulumi:"assignmentId"` +} + +func (LookupIamActionControlAssignmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamActionControlAssignmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIamActionControlAssignment. +type LookupIamActionControlAssignmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIamActionControlAssignmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamActionControlAssignmentResult)(nil)).Elem() +} + +func (o LookupIamActionControlAssignmentResultOutput) ToLookupIamActionControlAssignmentResultOutput() LookupIamActionControlAssignmentResultOutput { + return o +} + +func (o LookupIamActionControlAssignmentResultOutput) ToLookupIamActionControlAssignmentResultOutputWithContext(ctx context.Context) LookupIamActionControlAssignmentResultOutput { + return o +} + +func (o LookupIamActionControlAssignmentResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.AssignmentId }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.CreatedById }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamActionControlAssignmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.Operation }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) Resources() GetIamActionControlAssignmentResourceArrayOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) []GetIamActionControlAssignmentResource { + return v.Resources + }).(GetIamActionControlAssignmentResourceArrayOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) Targets() GetIamActionControlAssignmentTargetArrayOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) []GetIamActionControlAssignmentTarget { return v.Targets }).(GetIamActionControlAssignmentTargetArrayOutput) +} + +func (o LookupIamActionControlAssignmentResultOutput) Templates() GetIamActionControlAssignmentTemplateArrayOutput { + return o.ApplyT(func(v LookupIamActionControlAssignmentResult) []GetIamActionControlAssignmentTemplate { + return v.Templates + }).(GetIamActionControlAssignmentTemplateArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamActionControlAssignmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlAssignments.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlAssignments.go new file mode 100644 index 000000000..246f8fbd5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlAssignments.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamActionControlAssignments(ctx *pulumi.Context, args *GetIamActionControlAssignmentsArgs, opts ...pulumi.InvokeOption) (*GetIamActionControlAssignmentsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamActionControlAssignmentsResult + err := ctx.Invoke("ibmcloud:index/getIamActionControlAssignments:getIamActionControlAssignments", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamActionControlAssignments. +type GetIamActionControlAssignmentsArgs struct { + TemplateId *string `pulumi:"templateId"` + TemplateVersion *string `pulumi:"templateVersion"` +} + +// A collection of values returned by getIamActionControlAssignments. +type GetIamActionControlAssignmentsResult struct { + Assignments []GetIamActionControlAssignmentsAssignment `pulumi:"assignments"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + TemplateId *string `pulumi:"templateId"` + TemplateVersion *string `pulumi:"templateVersion"` +} + +func GetIamActionControlAssignmentsOutput(ctx *pulumi.Context, args GetIamActionControlAssignmentsOutputArgs, opts ...pulumi.InvokeOption) GetIamActionControlAssignmentsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamActionControlAssignmentsResultOutput, error) { + args := v.(GetIamActionControlAssignmentsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamActionControlAssignments:getIamActionControlAssignments", args, GetIamActionControlAssignmentsResultOutput{}, options).(GetIamActionControlAssignmentsResultOutput), nil + }).(GetIamActionControlAssignmentsResultOutput) +} + +// A collection of arguments for invoking getIamActionControlAssignments. +type GetIamActionControlAssignmentsOutputArgs struct { + TemplateId pulumi.StringPtrInput `pulumi:"templateId"` + TemplateVersion pulumi.StringPtrInput `pulumi:"templateVersion"` +} + +func (GetIamActionControlAssignmentsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsArgs)(nil)).Elem() +} + +// A collection of values returned by getIamActionControlAssignments. +type GetIamActionControlAssignmentsResultOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsResult)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsResultOutput) ToGetIamActionControlAssignmentsResultOutput() GetIamActionControlAssignmentsResultOutput { + return o +} + +func (o GetIamActionControlAssignmentsResultOutput) ToGetIamActionControlAssignmentsResultOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsResultOutput { + return o +} + +func (o GetIamActionControlAssignmentsResultOutput) Assignments() GetIamActionControlAssignmentsAssignmentArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsResult) []GetIamActionControlAssignmentsAssignment { + return v.Assignments + }).(GetIamActionControlAssignmentsAssignmentArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamActionControlAssignmentsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamActionControlAssignmentsResultOutput) TemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsResult) *string { return v.TemplateId }).(pulumi.StringPtrOutput) +} + +func (o GetIamActionControlAssignmentsResultOutput) TemplateVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsResult) *string { return v.TemplateVersion }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamActionControlAssignmentsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlTemplate.go new file mode 100644 index 000000000..1b9b3d2a0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlTemplate.go @@ -0,0 +1,66 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamActionControlTemplate(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupIamActionControlTemplateResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamActionControlTemplateResult + err := ctx.Invoke("ibmcloud:index/getIamActionControlTemplate:getIamActionControlTemplate", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIamActionControlTemplate. +type LookupIamActionControlTemplateResult struct { + ActionControlTemplates []GetIamActionControlTemplateActionControlTemplate `pulumi:"actionControlTemplates"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func LookupIamActionControlTemplateOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) LookupIamActionControlTemplateResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (LookupIamActionControlTemplateResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamActionControlTemplate:getIamActionControlTemplate", nil, LookupIamActionControlTemplateResultOutput{}, options).(LookupIamActionControlTemplateResultOutput), nil + }).(LookupIamActionControlTemplateResultOutput) +} + +// A collection of values returned by getIamActionControlTemplate. +type LookupIamActionControlTemplateResultOutput struct{ *pulumi.OutputState } + +func (LookupIamActionControlTemplateResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamActionControlTemplateResult)(nil)).Elem() +} + +func (o LookupIamActionControlTemplateResultOutput) ToLookupIamActionControlTemplateResultOutput() LookupIamActionControlTemplateResultOutput { + return o +} + +func (o LookupIamActionControlTemplateResultOutput) ToLookupIamActionControlTemplateResultOutputWithContext(ctx context.Context) LookupIamActionControlTemplateResultOutput { + return o +} + +func (o LookupIamActionControlTemplateResultOutput) ActionControlTemplates() GetIamActionControlTemplateActionControlTemplateArrayOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateResult) []GetIamActionControlTemplateActionControlTemplate { + return v.ActionControlTemplates + }).(GetIamActionControlTemplateActionControlTemplateArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamActionControlTemplateResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamActionControlTemplateResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlTemplateVersion.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlTemplateVersion.go new file mode 100644 index 000000000..848f09705 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamActionControlTemplateVersion.go @@ -0,0 +1,144 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamActionControlTemplateVersion(ctx *pulumi.Context, args *LookupIamActionControlTemplateVersionArgs, opts ...pulumi.InvokeOption) (*LookupIamActionControlTemplateVersionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamActionControlTemplateVersionResult + err := ctx.Invoke("ibmcloud:index/getIamActionControlTemplateVersion:getIamActionControlTemplateVersion", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamActionControlTemplateVersion. +type LookupIamActionControlTemplateVersionArgs struct { + ActionControlTemplateId string `pulumi:"actionControlTemplateId"` + Version string `pulumi:"version"` +} + +// A collection of values returned by getIamActionControlTemplateVersion. +type LookupIamActionControlTemplateVersionResult struct { + AccountId string `pulumi:"accountId"` + ActionControlTemplateId string `pulumi:"actionControlTemplateId"` + ActionControls []GetIamActionControlTemplateVersionActionControl `pulumi:"actionControls"` + Committed bool `pulumi:"committed"` + CreatedAt string `pulumi:"createdAt"` + CreatedById string `pulumi:"createdById"` + Description string `pulumi:"description"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LastModifiedAt string `pulumi:"lastModifiedAt"` + LastModifiedById string `pulumi:"lastModifiedById"` + Name string `pulumi:"name"` + State string `pulumi:"state"` + Version string `pulumi:"version"` +} + +func LookupIamActionControlTemplateVersionOutput(ctx *pulumi.Context, args LookupIamActionControlTemplateVersionOutputArgs, opts ...pulumi.InvokeOption) LookupIamActionControlTemplateVersionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamActionControlTemplateVersionResultOutput, error) { + args := v.(LookupIamActionControlTemplateVersionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamActionControlTemplateVersion:getIamActionControlTemplateVersion", args, LookupIamActionControlTemplateVersionResultOutput{}, options).(LookupIamActionControlTemplateVersionResultOutput), nil + }).(LookupIamActionControlTemplateVersionResultOutput) +} + +// A collection of arguments for invoking getIamActionControlTemplateVersion. +type LookupIamActionControlTemplateVersionOutputArgs struct { + ActionControlTemplateId pulumi.StringInput `pulumi:"actionControlTemplateId"` + Version pulumi.StringInput `pulumi:"version"` +} + +func (LookupIamActionControlTemplateVersionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamActionControlTemplateVersionArgs)(nil)).Elem() +} + +// A collection of values returned by getIamActionControlTemplateVersion. +type LookupIamActionControlTemplateVersionResultOutput struct{ *pulumi.OutputState } + +func (LookupIamActionControlTemplateVersionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamActionControlTemplateVersionResult)(nil)).Elem() +} + +func (o LookupIamActionControlTemplateVersionResultOutput) ToLookupIamActionControlTemplateVersionResultOutput() LookupIamActionControlTemplateVersionResultOutput { + return o +} + +func (o LookupIamActionControlTemplateVersionResultOutput) ToLookupIamActionControlTemplateVersionResultOutputWithContext(ctx context.Context) LookupIamActionControlTemplateVersionResultOutput { + return o +} + +func (o LookupIamActionControlTemplateVersionResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) ActionControlTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.ActionControlTemplateId }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) ActionControls() GetIamActionControlTemplateVersionActionControlArrayOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) []GetIamActionControlTemplateVersionActionControl { + return v.ActionControls + }).(GetIamActionControlTemplateVersionActionControlArrayOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) bool { return v.Committed }).(pulumi.BoolOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.CreatedById }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamActionControlTemplateVersionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o LookupIamActionControlTemplateVersionResultOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamActionControlTemplateVersionResult) string { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamActionControlTemplateVersionResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamApiKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamApiKey.go new file mode 100644 index 000000000..66c7a3fb8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamApiKey.go @@ -0,0 +1,130 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamApiKey(ctx *pulumi.Context, args *LookupIamApiKeyArgs, opts ...pulumi.InvokeOption) (*LookupIamApiKeyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamApiKeyResult + err := ctx.Invoke("ibmcloud:index/getIamApiKey:getIamApiKey", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamApiKey. +type LookupIamApiKeyArgs struct { + ApikeyId string `pulumi:"apikeyId"` +} + +// A collection of values returned by getIamApiKey. +type LookupIamApiKeyResult struct { + AccountId string `pulumi:"accountId"` + ApikeyId string `pulumi:"apikeyId"` + CreatedAt string `pulumi:"createdAt"` + CreatedBy string `pulumi:"createdBy"` + Crn string `pulumi:"crn"` + Description string `pulumi:"description"` + EntityTag string `pulumi:"entityTag"` + IamId string `pulumi:"iamId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Locked bool `pulumi:"locked"` + ModifiedAt string `pulumi:"modifiedAt"` + Name string `pulumi:"name"` +} + +func LookupIamApiKeyOutput(ctx *pulumi.Context, args LookupIamApiKeyOutputArgs, opts ...pulumi.InvokeOption) LookupIamApiKeyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamApiKeyResultOutput, error) { + args := v.(LookupIamApiKeyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamApiKey:getIamApiKey", args, LookupIamApiKeyResultOutput{}, options).(LookupIamApiKeyResultOutput), nil + }).(LookupIamApiKeyResultOutput) +} + +// A collection of arguments for invoking getIamApiKey. +type LookupIamApiKeyOutputArgs struct { + ApikeyId pulumi.StringInput `pulumi:"apikeyId"` +} + +func (LookupIamApiKeyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamApiKeyArgs)(nil)).Elem() +} + +// A collection of values returned by getIamApiKey. +type LookupIamApiKeyResultOutput struct{ *pulumi.OutputState } + +func (LookupIamApiKeyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamApiKeyResult)(nil)).Elem() +} + +func (o LookupIamApiKeyResultOutput) ToLookupIamApiKeyResultOutput() LookupIamApiKeyResultOutput { + return o +} + +func (o LookupIamApiKeyResultOutput) ToLookupIamApiKeyResultOutputWithContext(ctx context.Context) LookupIamApiKeyResultOutput { + return o +} + +func (o LookupIamApiKeyResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) ApikeyId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.ApikeyId }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.CreatedBy }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.IamId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamApiKeyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) Locked() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) bool { return v.Locked }).(pulumi.BoolOutput) +} + +func (o LookupIamApiKeyResultOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.ModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamApiKeyResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamApiKeyResult) string { return v.Name }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamApiKeyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAuthToken.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAuthToken.go new file mode 100644 index 000000000..c756c3ce4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAuthToken.go @@ -0,0 +1,79 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamAuthToken(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIamAuthTokenResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamAuthTokenResult + err := ctx.Invoke("ibmcloud:index/getIamAuthToken:getIamAuthToken", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIamAuthToken. +type GetIamAuthTokenResult struct { + IamAccessToken string `pulumi:"iamAccessToken"` + IamRefreshToken string `pulumi:"iamRefreshToken"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + UaaAccessToken string `pulumi:"uaaAccessToken"` + UaaRefreshToken string `pulumi:"uaaRefreshToken"` +} + +func GetIamAuthTokenOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIamAuthTokenResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIamAuthTokenResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAuthToken:getIamAuthToken", nil, GetIamAuthTokenResultOutput{}, options).(GetIamAuthTokenResultOutput), nil + }).(GetIamAuthTokenResultOutput) +} + +// A collection of values returned by getIamAuthToken. +type GetIamAuthTokenResultOutput struct{ *pulumi.OutputState } + +func (GetIamAuthTokenResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAuthTokenResult)(nil)).Elem() +} + +func (o GetIamAuthTokenResultOutput) ToGetIamAuthTokenResultOutput() GetIamAuthTokenResultOutput { + return o +} + +func (o GetIamAuthTokenResultOutput) ToGetIamAuthTokenResultOutputWithContext(ctx context.Context) GetIamAuthTokenResultOutput { + return o +} + +func (o GetIamAuthTokenResultOutput) IamAccessToken() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthTokenResult) string { return v.IamAccessToken }).(pulumi.StringOutput) +} + +func (o GetIamAuthTokenResultOutput) IamRefreshToken() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthTokenResult) string { return v.IamRefreshToken }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamAuthTokenResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthTokenResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamAuthTokenResultOutput) UaaAccessToken() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthTokenResult) string { return v.UaaAccessToken }).(pulumi.StringOutput) +} + +func (o GetIamAuthTokenResultOutput) UaaRefreshToken() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthTokenResult) string { return v.UaaRefreshToken }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamAuthTokenResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAuthorizationPolicies.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAuthorizationPolicies.go new file mode 100644 index 000000000..6bfee1072 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamAuthorizationPolicies.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamAuthorizationPolicies(ctx *pulumi.Context, args *GetIamAuthorizationPoliciesArgs, opts ...pulumi.InvokeOption) (*GetIamAuthorizationPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamAuthorizationPoliciesResult + err := ctx.Invoke("ibmcloud:index/getIamAuthorizationPolicies:getIamAuthorizationPolicies", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamAuthorizationPolicies. +type GetIamAuthorizationPoliciesArgs struct { + AccountId *string `pulumi:"accountId"` + Sort *string `pulumi:"sort"` + TransactionId *string `pulumi:"transactionId"` +} + +// A collection of values returned by getIamAuthorizationPolicies. +type GetIamAuthorizationPoliciesResult struct { + AccountId string `pulumi:"accountId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Policies []GetIamAuthorizationPoliciesPolicy `pulumi:"policies"` + Sort *string `pulumi:"sort"` + TransactionId string `pulumi:"transactionId"` +} + +func GetIamAuthorizationPoliciesOutput(ctx *pulumi.Context, args GetIamAuthorizationPoliciesOutputArgs, opts ...pulumi.InvokeOption) GetIamAuthorizationPoliciesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamAuthorizationPoliciesResultOutput, error) { + args := v.(GetIamAuthorizationPoliciesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamAuthorizationPolicies:getIamAuthorizationPolicies", args, GetIamAuthorizationPoliciesResultOutput{}, options).(GetIamAuthorizationPoliciesResultOutput), nil + }).(GetIamAuthorizationPoliciesResultOutput) +} + +// A collection of arguments for invoking getIamAuthorizationPolicies. +type GetIamAuthorizationPoliciesOutputArgs struct { + AccountId pulumi.StringPtrInput `pulumi:"accountId"` + Sort pulumi.StringPtrInput `pulumi:"sort"` + TransactionId pulumi.StringPtrInput `pulumi:"transactionId"` +} + +func (GetIamAuthorizationPoliciesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAuthorizationPoliciesArgs)(nil)).Elem() +} + +// A collection of values returned by getIamAuthorizationPolicies. +type GetIamAuthorizationPoliciesResultOutput struct{ *pulumi.OutputState } + +func (GetIamAuthorizationPoliciesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAuthorizationPoliciesResult)(nil)).Elem() +} + +func (o GetIamAuthorizationPoliciesResultOutput) ToGetIamAuthorizationPoliciesResultOutput() GetIamAuthorizationPoliciesResultOutput { + return o +} + +func (o GetIamAuthorizationPoliciesResultOutput) ToGetIamAuthorizationPoliciesResultOutputWithContext(ctx context.Context) GetIamAuthorizationPoliciesResultOutput { + return o +} + +func (o GetIamAuthorizationPoliciesResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamAuthorizationPoliciesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamAuthorizationPoliciesResultOutput) Policies() GetIamAuthorizationPoliciesPolicyArrayOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesResult) []GetIamAuthorizationPoliciesPolicy { return v.Policies }).(GetIamAuthorizationPoliciesPolicyArrayOutput) +} + +func (o GetIamAuthorizationPoliciesResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func (o GetIamAuthorizationPoliciesResultOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesResult) string { return v.TransactionId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamAuthorizationPoliciesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamEffectiveAccountSettings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamEffectiveAccountSettings.go new file mode 100644 index 000000000..5a8e5fa8d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamEffectiveAccountSettings.go @@ -0,0 +1,115 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamEffectiveAccountSettings(ctx *pulumi.Context, args *GetIamEffectiveAccountSettingsArgs, opts ...pulumi.InvokeOption) (*GetIamEffectiveAccountSettingsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamEffectiveAccountSettingsResult + err := ctx.Invoke("ibmcloud:index/getIamEffectiveAccountSettings:getIamEffectiveAccountSettings", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamEffectiveAccountSettings. +type GetIamEffectiveAccountSettingsArgs struct { + AccountId string `pulumi:"accountId"` + IncludeHistory *bool `pulumi:"includeHistory"` + ResolveUserMfa *bool `pulumi:"resolveUserMfa"` +} + +// A collection of values returned by getIamEffectiveAccountSettings. +type GetIamEffectiveAccountSettingsResult struct { + AccountId string `pulumi:"accountId"` + Accounts []GetIamEffectiveAccountSettingsAccount `pulumi:"accounts"` + AssignedTemplates []GetIamEffectiveAccountSettingsAssignedTemplate `pulumi:"assignedTemplates"` + Effectives []GetIamEffectiveAccountSettingsEffective `pulumi:"effectives"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IncludeHistory *bool `pulumi:"includeHistory"` + ResolveUserMfa *bool `pulumi:"resolveUserMfa"` +} + +func GetIamEffectiveAccountSettingsOutput(ctx *pulumi.Context, args GetIamEffectiveAccountSettingsOutputArgs, opts ...pulumi.InvokeOption) GetIamEffectiveAccountSettingsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamEffectiveAccountSettingsResultOutput, error) { + args := v.(GetIamEffectiveAccountSettingsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamEffectiveAccountSettings:getIamEffectiveAccountSettings", args, GetIamEffectiveAccountSettingsResultOutput{}, options).(GetIamEffectiveAccountSettingsResultOutput), nil + }).(GetIamEffectiveAccountSettingsResultOutput) +} + +// A collection of arguments for invoking getIamEffectiveAccountSettings. +type GetIamEffectiveAccountSettingsOutputArgs struct { + AccountId pulumi.StringInput `pulumi:"accountId"` + IncludeHistory pulumi.BoolPtrInput `pulumi:"includeHistory"` + ResolveUserMfa pulumi.BoolPtrInput `pulumi:"resolveUserMfa"` +} + +func (GetIamEffectiveAccountSettingsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsArgs)(nil)).Elem() +} + +// A collection of values returned by getIamEffectiveAccountSettings. +type GetIamEffectiveAccountSettingsResultOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsResult)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsResultOutput) ToGetIamEffectiveAccountSettingsResultOutput() GetIamEffectiveAccountSettingsResultOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsResultOutput) ToGetIamEffectiveAccountSettingsResultOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsResultOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o GetIamEffectiveAccountSettingsResultOutput) Accounts() GetIamEffectiveAccountSettingsAccountArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsResult) []GetIamEffectiveAccountSettingsAccount { + return v.Accounts + }).(GetIamEffectiveAccountSettingsAccountArrayOutput) +} + +func (o GetIamEffectiveAccountSettingsResultOutput) AssignedTemplates() GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsResult) []GetIamEffectiveAccountSettingsAssignedTemplate { + return v.AssignedTemplates + }).(GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput) +} + +func (o GetIamEffectiveAccountSettingsResultOutput) Effectives() GetIamEffectiveAccountSettingsEffectiveArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsResult) []GetIamEffectiveAccountSettingsEffective { + return v.Effectives + }).(GetIamEffectiveAccountSettingsEffectiveArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamEffectiveAccountSettingsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamEffectiveAccountSettingsResultOutput) IncludeHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsResult) *bool { return v.IncludeHistory }).(pulumi.BoolPtrOutput) +} + +func (o GetIamEffectiveAccountSettingsResultOutput) ResolveUserMfa() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsResult) *bool { return v.ResolveUserMfa }).(pulumi.BoolPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyAssignment.go new file mode 100644 index 000000000..01ed80e9e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyAssignment.go @@ -0,0 +1,135 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamPolicyAssignment(ctx *pulumi.Context, args *LookupIamPolicyAssignmentArgs, opts ...pulumi.InvokeOption) (*LookupIamPolicyAssignmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamPolicyAssignmentResult + err := ctx.Invoke("ibmcloud:index/getIamPolicyAssignment:getIamPolicyAssignment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamPolicyAssignment. +type LookupIamPolicyAssignmentArgs struct { + AssignmentId string `pulumi:"assignmentId"` + Version *string `pulumi:"version"` +} + +// A collection of values returned by getIamPolicyAssignment. +type LookupIamPolicyAssignmentResult struct { + AccountId string `pulumi:"accountId"` + AssignmentId string `pulumi:"assignmentId"` + CreatedAt string `pulumi:"createdAt"` + CreatedById string `pulumi:"createdById"` + Href string `pulumi:"href"` + Id string `pulumi:"id"` + LastModifiedAt string `pulumi:"lastModifiedAt"` + LastModifiedById string `pulumi:"lastModifiedById"` + Resources []GetIamPolicyAssignmentResource `pulumi:"resources"` + Subject map[string]string `pulumi:"subject"` + Target map[string]string `pulumi:"target"` + Template map[string]string `pulumi:"template"` + Version *string `pulumi:"version"` +} + +func LookupIamPolicyAssignmentOutput(ctx *pulumi.Context, args LookupIamPolicyAssignmentOutputArgs, opts ...pulumi.InvokeOption) LookupIamPolicyAssignmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamPolicyAssignmentResultOutput, error) { + args := v.(LookupIamPolicyAssignmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamPolicyAssignment:getIamPolicyAssignment", args, LookupIamPolicyAssignmentResultOutput{}, options).(LookupIamPolicyAssignmentResultOutput), nil + }).(LookupIamPolicyAssignmentResultOutput) +} + +// A collection of arguments for invoking getIamPolicyAssignment. +type LookupIamPolicyAssignmentOutputArgs struct { + AssignmentId pulumi.StringInput `pulumi:"assignmentId"` + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (LookupIamPolicyAssignmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamPolicyAssignmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIamPolicyAssignment. +type LookupIamPolicyAssignmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIamPolicyAssignmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamPolicyAssignmentResult)(nil)).Elem() +} + +func (o LookupIamPolicyAssignmentResultOutput) ToLookupIamPolicyAssignmentResultOutput() LookupIamPolicyAssignmentResultOutput { + return o +} + +func (o LookupIamPolicyAssignmentResultOutput) ToLookupIamPolicyAssignmentResultOutputWithContext(ctx context.Context) LookupIamPolicyAssignmentResultOutput { + return o +} + +func (o LookupIamPolicyAssignmentResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) string { return v.AssignmentId }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) string { return v.CreatedById }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) Resources() GetIamPolicyAssignmentResourceArrayOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) []GetIamPolicyAssignmentResource { return v.Resources }).(GetIamPolicyAssignmentResourceArrayOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) Subject() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) map[string]string { return v.Subject }).(pulumi.StringMapOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) Target() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) map[string]string { return v.Target }).(pulumi.StringMapOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) Template() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) map[string]string { return v.Template }).(pulumi.StringMapOutput) +} + +func (o LookupIamPolicyAssignmentResultOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamPolicyAssignmentResult) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamPolicyAssignmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyAssignments.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyAssignments.go new file mode 100644 index 000000000..a9b66ebba --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyAssignments.go @@ -0,0 +1,106 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamPolicyAssignments(ctx *pulumi.Context, args *GetIamPolicyAssignmentsArgs, opts ...pulumi.InvokeOption) (*GetIamPolicyAssignmentsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamPolicyAssignmentsResult + err := ctx.Invoke("ibmcloud:index/getIamPolicyAssignments:getIamPolicyAssignments", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamPolicyAssignments. +type GetIamPolicyAssignmentsArgs struct { + AcceptLanguage *string `pulumi:"acceptLanguage"` + TemplateId *string `pulumi:"templateId"` + TemplateVersion *string `pulumi:"templateVersion"` + Version *string `pulumi:"version"` +} + +// A collection of values returned by getIamPolicyAssignments. +type GetIamPolicyAssignmentsResult struct { + AcceptLanguage *string `pulumi:"acceptLanguage"` + Assignments []GetIamPolicyAssignmentsAssignment `pulumi:"assignments"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + TemplateId *string `pulumi:"templateId"` + TemplateVersion *string `pulumi:"templateVersion"` + Version *string `pulumi:"version"` +} + +func GetIamPolicyAssignmentsOutput(ctx *pulumi.Context, args GetIamPolicyAssignmentsOutputArgs, opts ...pulumi.InvokeOption) GetIamPolicyAssignmentsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamPolicyAssignmentsResultOutput, error) { + args := v.(GetIamPolicyAssignmentsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamPolicyAssignments:getIamPolicyAssignments", args, GetIamPolicyAssignmentsResultOutput{}, options).(GetIamPolicyAssignmentsResultOutput), nil + }).(GetIamPolicyAssignmentsResultOutput) +} + +// A collection of arguments for invoking getIamPolicyAssignments. +type GetIamPolicyAssignmentsOutputArgs struct { + AcceptLanguage pulumi.StringPtrInput `pulumi:"acceptLanguage"` + TemplateId pulumi.StringPtrInput `pulumi:"templateId"` + TemplateVersion pulumi.StringPtrInput `pulumi:"templateVersion"` + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (GetIamPolicyAssignmentsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsArgs)(nil)).Elem() +} + +// A collection of values returned by getIamPolicyAssignments. +type GetIamPolicyAssignmentsResultOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsResult)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsResultOutput) ToGetIamPolicyAssignmentsResultOutput() GetIamPolicyAssignmentsResultOutput { + return o +} + +func (o GetIamPolicyAssignmentsResultOutput) ToGetIamPolicyAssignmentsResultOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsResultOutput { + return o +} + +func (o GetIamPolicyAssignmentsResultOutput) AcceptLanguage() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsResult) *string { return v.AcceptLanguage }).(pulumi.StringPtrOutput) +} + +func (o GetIamPolicyAssignmentsResultOutput) Assignments() GetIamPolicyAssignmentsAssignmentArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsResult) []GetIamPolicyAssignmentsAssignment { return v.Assignments }).(GetIamPolicyAssignmentsAssignmentArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamPolicyAssignmentsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamPolicyAssignmentsResultOutput) TemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsResult) *string { return v.TemplateId }).(pulumi.StringPtrOutput) +} + +func (o GetIamPolicyAssignmentsResultOutput) TemplateVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsResult) *string { return v.TemplateVersion }).(pulumi.StringPtrOutput) +} + +func (o GetIamPolicyAssignmentsResultOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsResult) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamPolicyAssignmentsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyTemplate.go new file mode 100644 index 000000000..e3bee6916 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyTemplate.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamPolicyTemplate(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupIamPolicyTemplateResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamPolicyTemplateResult + err := ctx.Invoke("ibmcloud:index/getIamPolicyTemplate:getIamPolicyTemplate", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIamPolicyTemplate. +type LookupIamPolicyTemplateResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PolicyTemplates []GetIamPolicyTemplatePolicyTemplate `pulumi:"policyTemplates"` +} + +func LookupIamPolicyTemplateOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) LookupIamPolicyTemplateResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (LookupIamPolicyTemplateResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamPolicyTemplate:getIamPolicyTemplate", nil, LookupIamPolicyTemplateResultOutput{}, options).(LookupIamPolicyTemplateResultOutput), nil + }).(LookupIamPolicyTemplateResultOutput) +} + +// A collection of values returned by getIamPolicyTemplate. +type LookupIamPolicyTemplateResultOutput struct{ *pulumi.OutputState } + +func (LookupIamPolicyTemplateResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamPolicyTemplateResult)(nil)).Elem() +} + +func (o LookupIamPolicyTemplateResultOutput) ToLookupIamPolicyTemplateResultOutput() LookupIamPolicyTemplateResultOutput { + return o +} + +func (o LookupIamPolicyTemplateResultOutput) ToLookupIamPolicyTemplateResultOutputWithContext(ctx context.Context) LookupIamPolicyTemplateResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamPolicyTemplateResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyTemplateResultOutput) PolicyTemplates() GetIamPolicyTemplatePolicyTemplateArrayOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateResult) []GetIamPolicyTemplatePolicyTemplate { return v.PolicyTemplates }).(GetIamPolicyTemplatePolicyTemplateArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamPolicyTemplateResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyTemplateVersion.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyTemplateVersion.go new file mode 100644 index 000000000..ef4e740ff --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamPolicyTemplateVersion.go @@ -0,0 +1,110 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamPolicyTemplateVersion(ctx *pulumi.Context, args *LookupIamPolicyTemplateVersionArgs, opts ...pulumi.InvokeOption) (*LookupIamPolicyTemplateVersionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamPolicyTemplateVersionResult + err := ctx.Invoke("ibmcloud:index/getIamPolicyTemplateVersion:getIamPolicyTemplateVersion", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamPolicyTemplateVersion. +type LookupIamPolicyTemplateVersionArgs struct { + PolicyTemplateId string `pulumi:"policyTemplateId"` + Version string `pulumi:"version"` +} + +// A collection of values returned by getIamPolicyTemplateVersion. +type LookupIamPolicyTemplateVersionResult struct { + AccountId string `pulumi:"accountId"` + Committed bool `pulumi:"committed"` + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + Policies []GetIamPolicyTemplateVersionPolicy `pulumi:"policies"` + PolicyTemplateId string `pulumi:"policyTemplateId"` + Version string `pulumi:"version"` +} + +func LookupIamPolicyTemplateVersionOutput(ctx *pulumi.Context, args LookupIamPolicyTemplateVersionOutputArgs, opts ...pulumi.InvokeOption) LookupIamPolicyTemplateVersionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamPolicyTemplateVersionResultOutput, error) { + args := v.(LookupIamPolicyTemplateVersionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamPolicyTemplateVersion:getIamPolicyTemplateVersion", args, LookupIamPolicyTemplateVersionResultOutput{}, options).(LookupIamPolicyTemplateVersionResultOutput), nil + }).(LookupIamPolicyTemplateVersionResultOutput) +} + +// A collection of arguments for invoking getIamPolicyTemplateVersion. +type LookupIamPolicyTemplateVersionOutputArgs struct { + PolicyTemplateId pulumi.StringInput `pulumi:"policyTemplateId"` + Version pulumi.StringInput `pulumi:"version"` +} + +func (LookupIamPolicyTemplateVersionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamPolicyTemplateVersionArgs)(nil)).Elem() +} + +// A collection of values returned by getIamPolicyTemplateVersion. +type LookupIamPolicyTemplateVersionResultOutput struct{ *pulumi.OutputState } + +func (LookupIamPolicyTemplateVersionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamPolicyTemplateVersionResult)(nil)).Elem() +} + +func (o LookupIamPolicyTemplateVersionResultOutput) ToLookupIamPolicyTemplateVersionResultOutput() LookupIamPolicyTemplateVersionResultOutput { + return o +} + +func (o LookupIamPolicyTemplateVersionResultOutput) ToLookupIamPolicyTemplateVersionResultOutputWithContext(ctx context.Context) LookupIamPolicyTemplateVersionResultOutput { + return o +} + +func (o LookupIamPolicyTemplateVersionResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateVersionResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyTemplateVersionResultOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateVersionResult) bool { return v.Committed }).(pulumi.BoolOutput) +} + +func (o LookupIamPolicyTemplateVersionResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateVersionResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyTemplateVersionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateVersionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyTemplateVersionResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateVersionResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyTemplateVersionResultOutput) Policies() GetIamPolicyTemplateVersionPolicyArrayOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateVersionResult) []GetIamPolicyTemplateVersionPolicy { return v.Policies }).(GetIamPolicyTemplateVersionPolicyArrayOutput) +} + +func (o LookupIamPolicyTemplateVersionResultOutput) PolicyTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateVersionResult) string { return v.PolicyTemplateId }).(pulumi.StringOutput) +} + +func (o LookupIamPolicyTemplateVersionResultOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamPolicyTemplateVersionResult) string { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamPolicyTemplateVersionResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamRoleActions.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamRoleActions.go new file mode 100644 index 000000000..603a439bf --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamRoleActions.go @@ -0,0 +1,105 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamRoleActions(ctx *pulumi.Context, args *GetIamRoleActionsArgs, opts ...pulumi.InvokeOption) (*GetIamRoleActionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamRoleActionsResult + err := ctx.Invoke("ibmcloud:index/getIamRoleActions:getIamRoleActions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamRoleActions. +type GetIamRoleActionsArgs struct { + Service string `pulumi:"service"` +} + +// A collection of values returned by getIamRoleActions. +type GetIamRoleActionsResult struct { + Actions map[string]string `pulumi:"actions"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Managers []string `pulumi:"managers"` + ReaderPluses []string `pulumi:"readerPluses"` + Readers []string `pulumi:"readers"` + Service string `pulumi:"service"` + Writers []string `pulumi:"writers"` +} + +func GetIamRoleActionsOutput(ctx *pulumi.Context, args GetIamRoleActionsOutputArgs, opts ...pulumi.InvokeOption) GetIamRoleActionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamRoleActionsResultOutput, error) { + args := v.(GetIamRoleActionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamRoleActions:getIamRoleActions", args, GetIamRoleActionsResultOutput{}, options).(GetIamRoleActionsResultOutput), nil + }).(GetIamRoleActionsResultOutput) +} + +// A collection of arguments for invoking getIamRoleActions. +type GetIamRoleActionsOutputArgs struct { + Service pulumi.StringInput `pulumi:"service"` +} + +func (GetIamRoleActionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamRoleActionsArgs)(nil)).Elem() +} + +// A collection of values returned by getIamRoleActions. +type GetIamRoleActionsResultOutput struct{ *pulumi.OutputState } + +func (GetIamRoleActionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamRoleActionsResult)(nil)).Elem() +} + +func (o GetIamRoleActionsResultOutput) ToGetIamRoleActionsResultOutput() GetIamRoleActionsResultOutput { + return o +} + +func (o GetIamRoleActionsResultOutput) ToGetIamRoleActionsResultOutputWithContext(ctx context.Context) GetIamRoleActionsResultOutput { + return o +} + +func (o GetIamRoleActionsResultOutput) Actions() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamRoleActionsResult) map[string]string { return v.Actions }).(pulumi.StringMapOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamRoleActionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamRoleActionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamRoleActionsResultOutput) Managers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamRoleActionsResult) []string { return v.Managers }).(pulumi.StringArrayOutput) +} + +func (o GetIamRoleActionsResultOutput) ReaderPluses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamRoleActionsResult) []string { return v.ReaderPluses }).(pulumi.StringArrayOutput) +} + +func (o GetIamRoleActionsResultOutput) Readers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamRoleActionsResult) []string { return v.Readers }).(pulumi.StringArrayOutput) +} + +func (o GetIamRoleActionsResultOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GetIamRoleActionsResult) string { return v.Service }).(pulumi.StringOutput) +} + +func (o GetIamRoleActionsResultOutput) Writers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamRoleActionsResult) []string { return v.Writers }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamRoleActionsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamRoles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamRoles.go new file mode 100644 index 000000000..eb580f4fb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamRoles.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamRoles(ctx *pulumi.Context, args *GetIamRolesArgs, opts ...pulumi.InvokeOption) (*GetIamRolesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamRolesResult + err := ctx.Invoke("ibmcloud:index/getIamRoles:getIamRoles", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamRoles. +type GetIamRolesArgs struct { + Service *string `pulumi:"service"` +} + +// A collection of values returned by getIamRoles. +type GetIamRolesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Roles []GetIamRolesRole `pulumi:"roles"` + Service *string `pulumi:"service"` +} + +func GetIamRolesOutput(ctx *pulumi.Context, args GetIamRolesOutputArgs, opts ...pulumi.InvokeOption) GetIamRolesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamRolesResultOutput, error) { + args := v.(GetIamRolesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamRoles:getIamRoles", args, GetIamRolesResultOutput{}, options).(GetIamRolesResultOutput), nil + }).(GetIamRolesResultOutput) +} + +// A collection of arguments for invoking getIamRoles. +type GetIamRolesOutputArgs struct { + Service pulumi.StringPtrInput `pulumi:"service"` +} + +func (GetIamRolesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamRolesArgs)(nil)).Elem() +} + +// A collection of values returned by getIamRoles. +type GetIamRolesResultOutput struct{ *pulumi.OutputState } + +func (GetIamRolesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamRolesResult)(nil)).Elem() +} + +func (o GetIamRolesResultOutput) ToGetIamRolesResultOutput() GetIamRolesResultOutput { + return o +} + +func (o GetIamRolesResultOutput) ToGetIamRolesResultOutputWithContext(ctx context.Context) GetIamRolesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamRolesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamRolesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamRolesResultOutput) Roles() GetIamRolesRoleArrayOutput { + return o.ApplyT(func(v GetIamRolesResult) []GetIamRolesRole { return v.Roles }).(GetIamRolesRoleArrayOutput) +} + +func (o GetIamRolesResultOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamRolesResult) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamRolesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamServiceId.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamServiceId.go new file mode 100644 index 000000000..84187f587 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamServiceId.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamServiceId(ctx *pulumi.Context, args *LookupIamServiceIdArgs, opts ...pulumi.InvokeOption) (*LookupIamServiceIdResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamServiceIdResult + err := ctx.Invoke("ibmcloud:index/getIamServiceId:getIamServiceId", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamServiceId. +type LookupIamServiceIdArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIamServiceId. +type LookupIamServiceIdResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + ServiceIds []GetIamServiceIdServiceId `pulumi:"serviceIds"` +} + +func LookupIamServiceIdOutput(ctx *pulumi.Context, args LookupIamServiceIdOutputArgs, opts ...pulumi.InvokeOption) LookupIamServiceIdResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamServiceIdResultOutput, error) { + args := v.(LookupIamServiceIdArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamServiceId:getIamServiceId", args, LookupIamServiceIdResultOutput{}, options).(LookupIamServiceIdResultOutput), nil + }).(LookupIamServiceIdResultOutput) +} + +// A collection of arguments for invoking getIamServiceId. +type LookupIamServiceIdOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIamServiceIdOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamServiceIdArgs)(nil)).Elem() +} + +// A collection of values returned by getIamServiceId. +type LookupIamServiceIdResultOutput struct{ *pulumi.OutputState } + +func (LookupIamServiceIdResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamServiceIdResult)(nil)).Elem() +} + +func (o LookupIamServiceIdResultOutput) ToLookupIamServiceIdResultOutput() LookupIamServiceIdResultOutput { + return o +} + +func (o LookupIamServiceIdResultOutput) ToLookupIamServiceIdResultOutputWithContext(ctx context.Context) LookupIamServiceIdResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamServiceIdResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamServiceIdResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamServiceIdResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamServiceIdResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamServiceIdResultOutput) ServiceIds() GetIamServiceIdServiceIdArrayOutput { + return o.ApplyT(func(v LookupIamServiceIdResult) []GetIamServiceIdServiceId { return v.ServiceIds }).(GetIamServiceIdServiceIdArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamServiceIdResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamServicePolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamServicePolicy.go new file mode 100644 index 000000000..ca0d4dae4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamServicePolicy.go @@ -0,0 +1,110 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamServicePolicy(ctx *pulumi.Context, args *LookupIamServicePolicyArgs, opts ...pulumi.InvokeOption) (*LookupIamServicePolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamServicePolicyResult + err := ctx.Invoke("ibmcloud:index/getIamServicePolicy:getIamServicePolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamServicePolicy. +type LookupIamServicePolicyArgs struct { + IamId *string `pulumi:"iamId"` + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + IamServiceId *string `pulumi:"iamServiceId"` + Sort *string `pulumi:"sort"` + TransactionId *string `pulumi:"transactionId"` +} + +// A collection of values returned by getIamServicePolicy. +type LookupIamServicePolicyResult struct { + IamId *string `pulumi:"iamId"` + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + IamServiceId *string `pulumi:"iamServiceId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Policies []GetIamServicePolicyPolicy `pulumi:"policies"` + Sort *string `pulumi:"sort"` + TransactionId string `pulumi:"transactionId"` +} + +func LookupIamServicePolicyOutput(ctx *pulumi.Context, args LookupIamServicePolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIamServicePolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamServicePolicyResultOutput, error) { + args := v.(LookupIamServicePolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamServicePolicy:getIamServicePolicy", args, LookupIamServicePolicyResultOutput{}, options).(LookupIamServicePolicyResultOutput), nil + }).(LookupIamServicePolicyResultOutput) +} + +// A collection of arguments for invoking getIamServicePolicy. +type LookupIamServicePolicyOutputArgs struct { + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + IamServiceId pulumi.StringPtrInput `pulumi:"iamServiceId"` + Sort pulumi.StringPtrInput `pulumi:"sort"` + TransactionId pulumi.StringPtrInput `pulumi:"transactionId"` +} + +func (LookupIamServicePolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamServicePolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIamServicePolicy. +type LookupIamServicePolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIamServicePolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamServicePolicyResult)(nil)).Elem() +} + +func (o LookupIamServicePolicyResultOutput) ToLookupIamServicePolicyResultOutput() LookupIamServicePolicyResultOutput { + return o +} + +func (o LookupIamServicePolicyResultOutput) ToLookupIamServicePolicyResultOutputWithContext(ctx context.Context) LookupIamServicePolicyResultOutput { + return o +} + +func (o LookupIamServicePolicyResultOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamServicePolicyResult) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. +func (o LookupIamServicePolicyResultOutput) IamServiceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamServicePolicyResult) *string { return v.IamServiceId }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamServicePolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamServicePolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamServicePolicyResultOutput) Policies() GetIamServicePolicyPolicyArrayOutput { + return o.ApplyT(func(v LookupIamServicePolicyResult) []GetIamServicePolicyPolicy { return v.Policies }).(GetIamServicePolicyPolicyArrayOutput) +} + +func (o LookupIamServicePolicyResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamServicePolicyResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func (o LookupIamServicePolicyResultOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamServicePolicyResult) string { return v.TransactionId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamServicePolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfile.go new file mode 100644 index 000000000..4e62b6e82 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfile.go @@ -0,0 +1,145 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamTrustedProfile(ctx *pulumi.Context, args *LookupIamTrustedProfileArgs, opts ...pulumi.InvokeOption) (*LookupIamTrustedProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamTrustedProfileResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfile:getIamTrustedProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfile. +type LookupIamTrustedProfileArgs struct { + ProfileId string `pulumi:"profileId"` +} + +// A collection of values returned by getIamTrustedProfile. +type LookupIamTrustedProfileResult struct { + AccountId string `pulumi:"accountId"` + AssignmentId string `pulumi:"assignmentId"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Description string `pulumi:"description"` + EntityTag string `pulumi:"entityTag"` + Histories []GetIamTrustedProfileHistory `pulumi:"histories"` + IamId string `pulumi:"iamId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ImsAccountId int `pulumi:"imsAccountId"` + ImsUserId int `pulumi:"imsUserId"` + ModifiedAt string `pulumi:"modifiedAt"` + Name string `pulumi:"name"` + ProfileId string `pulumi:"profileId"` + TemplateId string `pulumi:"templateId"` +} + +func LookupIamTrustedProfileOutput(ctx *pulumi.Context, args LookupIamTrustedProfileOutputArgs, opts ...pulumi.InvokeOption) LookupIamTrustedProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamTrustedProfileResultOutput, error) { + args := v.(LookupIamTrustedProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfile:getIamTrustedProfile", args, LookupIamTrustedProfileResultOutput{}, options).(LookupIamTrustedProfileResultOutput), nil + }).(LookupIamTrustedProfileResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfile. +type LookupIamTrustedProfileOutputArgs struct { + ProfileId pulumi.StringInput `pulumi:"profileId"` +} + +func (LookupIamTrustedProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfile. +type LookupIamTrustedProfileResultOutput struct{ *pulumi.OutputState } + +func (LookupIamTrustedProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileResult)(nil)).Elem() +} + +func (o LookupIamTrustedProfileResultOutput) ToLookupIamTrustedProfileResultOutput() LookupIamTrustedProfileResultOutput { + return o +} + +func (o LookupIamTrustedProfileResultOutput) ToLookupIamTrustedProfileResultOutputWithContext(ctx context.Context) LookupIamTrustedProfileResultOutput { + return o +} + +func (o LookupIamTrustedProfileResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.AssignmentId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) Histories() GetIamTrustedProfileHistoryArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) []GetIamTrustedProfileHistory { return v.Histories }).(GetIamTrustedProfileHistoryArrayOutput) +} + +func (o LookupIamTrustedProfileResultOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.IamId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamTrustedProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) ImsAccountId() pulumi.IntOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) int { return v.ImsAccountId }).(pulumi.IntOutput) +} + +func (o LookupIamTrustedProfileResultOutput) ImsUserId() pulumi.IntOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) int { return v.ImsUserId }).(pulumi.IntOutput) +} + +func (o LookupIamTrustedProfileResultOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.ModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.ProfileId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileResultOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileResult) string { return v.TemplateId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamTrustedProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileClaimRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileClaimRule.go new file mode 100644 index 000000000..b69c65d35 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileClaimRule.go @@ -0,0 +1,134 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamTrustedProfileClaimRule(ctx *pulumi.Context, args *LookupIamTrustedProfileClaimRuleArgs, opts ...pulumi.InvokeOption) (*LookupIamTrustedProfileClaimRuleResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamTrustedProfileClaimRuleResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfileClaimRule:getIamTrustedProfileClaimRule", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfileClaimRule. +type LookupIamTrustedProfileClaimRuleArgs struct { + ProfileId string `pulumi:"profileId"` + RuleId string `pulumi:"ruleId"` +} + +// A collection of values returned by getIamTrustedProfileClaimRule. +type LookupIamTrustedProfileClaimRuleResult struct { + Conditions []GetIamTrustedProfileClaimRuleCondition `pulumi:"conditions"` + CrType string `pulumi:"crType"` + CreatedAt string `pulumi:"createdAt"` + EntityTag string `pulumi:"entityTag"` + Expiration int `pulumi:"expiration"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ModifiedAt string `pulumi:"modifiedAt"` + Name string `pulumi:"name"` + ProfileId string `pulumi:"profileId"` + RealmName string `pulumi:"realmName"` + RuleId string `pulumi:"ruleId"` + Type string `pulumi:"type"` +} + +func LookupIamTrustedProfileClaimRuleOutput(ctx *pulumi.Context, args LookupIamTrustedProfileClaimRuleOutputArgs, opts ...pulumi.InvokeOption) LookupIamTrustedProfileClaimRuleResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamTrustedProfileClaimRuleResultOutput, error) { + args := v.(LookupIamTrustedProfileClaimRuleArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfileClaimRule:getIamTrustedProfileClaimRule", args, LookupIamTrustedProfileClaimRuleResultOutput{}, options).(LookupIamTrustedProfileClaimRuleResultOutput), nil + }).(LookupIamTrustedProfileClaimRuleResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfileClaimRule. +type LookupIamTrustedProfileClaimRuleOutputArgs struct { + ProfileId pulumi.StringInput `pulumi:"profileId"` + RuleId pulumi.StringInput `pulumi:"ruleId"` +} + +func (LookupIamTrustedProfileClaimRuleOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileClaimRuleArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfileClaimRule. +type LookupIamTrustedProfileClaimRuleResultOutput struct{ *pulumi.OutputState } + +func (LookupIamTrustedProfileClaimRuleResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileClaimRuleResult)(nil)).Elem() +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) ToLookupIamTrustedProfileClaimRuleResultOutput() LookupIamTrustedProfileClaimRuleResultOutput { + return o +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) ToLookupIamTrustedProfileClaimRuleResultOutputWithContext(ctx context.Context) LookupIamTrustedProfileClaimRuleResultOutput { + return o +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) Conditions() GetIamTrustedProfileClaimRuleConditionArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) []GetIamTrustedProfileClaimRuleCondition { + return v.Conditions + }).(GetIamTrustedProfileClaimRuleConditionArrayOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) CrType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.CrType }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) Expiration() pulumi.IntOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) int { return v.Expiration }).(pulumi.IntOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamTrustedProfileClaimRuleResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.ModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.ProfileId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) RealmName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.RealmName }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.RuleId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileClaimRuleResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileClaimRuleResult) string { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamTrustedProfileClaimRuleResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileClaimRules.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileClaimRules.go new file mode 100644 index 000000000..47af7a23d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileClaimRules.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamTrustedProfileClaimRules(ctx *pulumi.Context, args *GetIamTrustedProfileClaimRulesArgs, opts ...pulumi.InvokeOption) (*GetIamTrustedProfileClaimRulesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamTrustedProfileClaimRulesResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfileClaimRules:getIamTrustedProfileClaimRules", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfileClaimRules. +type GetIamTrustedProfileClaimRulesArgs struct { + ProfileId string `pulumi:"profileId"` +} + +// A collection of values returned by getIamTrustedProfileClaimRules. +type GetIamTrustedProfileClaimRulesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ProfileId string `pulumi:"profileId"` + Rules []GetIamTrustedProfileClaimRulesRule `pulumi:"rules"` +} + +func GetIamTrustedProfileClaimRulesOutput(ctx *pulumi.Context, args GetIamTrustedProfileClaimRulesOutputArgs, opts ...pulumi.InvokeOption) GetIamTrustedProfileClaimRulesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamTrustedProfileClaimRulesResultOutput, error) { + args := v.(GetIamTrustedProfileClaimRulesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfileClaimRules:getIamTrustedProfileClaimRules", args, GetIamTrustedProfileClaimRulesResultOutput{}, options).(GetIamTrustedProfileClaimRulesResultOutput), nil + }).(GetIamTrustedProfileClaimRulesResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfileClaimRules. +type GetIamTrustedProfileClaimRulesOutputArgs struct { + ProfileId pulumi.StringInput `pulumi:"profileId"` +} + +func (GetIamTrustedProfileClaimRulesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileClaimRulesArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfileClaimRules. +type GetIamTrustedProfileClaimRulesResultOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileClaimRulesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileClaimRulesResult)(nil)).Elem() +} + +func (o GetIamTrustedProfileClaimRulesResultOutput) ToGetIamTrustedProfileClaimRulesResultOutput() GetIamTrustedProfileClaimRulesResultOutput { + return o +} + +func (o GetIamTrustedProfileClaimRulesResultOutput) ToGetIamTrustedProfileClaimRulesResultOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamTrustedProfileClaimRulesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamTrustedProfileClaimRulesResultOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesResult) string { return v.ProfileId }).(pulumi.StringOutput) +} + +func (o GetIamTrustedProfileClaimRulesResultOutput) Rules() GetIamTrustedProfileClaimRulesRuleArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesResult) []GetIamTrustedProfileClaimRulesRule { return v.Rules }).(GetIamTrustedProfileClaimRulesRuleArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamTrustedProfileClaimRulesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileIdentities.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileIdentities.go new file mode 100644 index 000000000..2aaa2c73c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileIdentities.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamTrustedProfileIdentities(ctx *pulumi.Context, args *LookupIamTrustedProfileIdentitiesArgs, opts ...pulumi.InvokeOption) (*LookupIamTrustedProfileIdentitiesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamTrustedProfileIdentitiesResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfileIdentities:getIamTrustedProfileIdentities", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfileIdentities. +type LookupIamTrustedProfileIdentitiesArgs struct { + ProfileId string `pulumi:"profileId"` +} + +// A collection of values returned by getIamTrustedProfileIdentities. +type LookupIamTrustedProfileIdentitiesResult struct { + EntityTag string `pulumi:"entityTag"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identities []GetIamTrustedProfileIdentitiesIdentity `pulumi:"identities"` + ProfileId string `pulumi:"profileId"` +} + +func LookupIamTrustedProfileIdentitiesOutput(ctx *pulumi.Context, args LookupIamTrustedProfileIdentitiesOutputArgs, opts ...pulumi.InvokeOption) LookupIamTrustedProfileIdentitiesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamTrustedProfileIdentitiesResultOutput, error) { + args := v.(LookupIamTrustedProfileIdentitiesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfileIdentities:getIamTrustedProfileIdentities", args, LookupIamTrustedProfileIdentitiesResultOutput{}, options).(LookupIamTrustedProfileIdentitiesResultOutput), nil + }).(LookupIamTrustedProfileIdentitiesResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfileIdentities. +type LookupIamTrustedProfileIdentitiesOutputArgs struct { + ProfileId pulumi.StringInput `pulumi:"profileId"` +} + +func (LookupIamTrustedProfileIdentitiesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileIdentitiesArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfileIdentities. +type LookupIamTrustedProfileIdentitiesResultOutput struct{ *pulumi.OutputState } + +func (LookupIamTrustedProfileIdentitiesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileIdentitiesResult)(nil)).Elem() +} + +func (o LookupIamTrustedProfileIdentitiesResultOutput) ToLookupIamTrustedProfileIdentitiesResultOutput() LookupIamTrustedProfileIdentitiesResultOutput { + return o +} + +func (o LookupIamTrustedProfileIdentitiesResultOutput) ToLookupIamTrustedProfileIdentitiesResultOutputWithContext(ctx context.Context) LookupIamTrustedProfileIdentitiesResultOutput { + return o +} + +func (o LookupIamTrustedProfileIdentitiesResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentitiesResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamTrustedProfileIdentitiesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentitiesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileIdentitiesResultOutput) Identities() GetIamTrustedProfileIdentitiesIdentityArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentitiesResult) []GetIamTrustedProfileIdentitiesIdentity { + return v.Identities + }).(GetIamTrustedProfileIdentitiesIdentityArrayOutput) +} + +func (o LookupIamTrustedProfileIdentitiesResultOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentitiesResult) string { return v.ProfileId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamTrustedProfileIdentitiesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileIdentity.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileIdentity.go new file mode 100644 index 000000000..7b141fbe2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileIdentity.go @@ -0,0 +1,119 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamTrustedProfileIdentity(ctx *pulumi.Context, args *LookupIamTrustedProfileIdentityArgs, opts ...pulumi.InvokeOption) (*LookupIamTrustedProfileIdentityResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamTrustedProfileIdentityResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfileIdentity:getIamTrustedProfileIdentity", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfileIdentity. +type LookupIamTrustedProfileIdentityArgs struct { + IdentifierId string `pulumi:"identifierId"` + IdentityType string `pulumi:"identityType"` + ProfileId string `pulumi:"profileId"` +} + +// A collection of values returned by getIamTrustedProfileIdentity. +type LookupIamTrustedProfileIdentityResult struct { + Accounts []string `pulumi:"accounts"` + Description string `pulumi:"description"` + IamId string `pulumi:"iamId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + IdentifierId string `pulumi:"identifierId"` + IdentityType string `pulumi:"identityType"` + ProfileId string `pulumi:"profileId"` + Type string `pulumi:"type"` +} + +func LookupIamTrustedProfileIdentityOutput(ctx *pulumi.Context, args LookupIamTrustedProfileIdentityOutputArgs, opts ...pulumi.InvokeOption) LookupIamTrustedProfileIdentityResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamTrustedProfileIdentityResultOutput, error) { + args := v.(LookupIamTrustedProfileIdentityArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfileIdentity:getIamTrustedProfileIdentity", args, LookupIamTrustedProfileIdentityResultOutput{}, options).(LookupIamTrustedProfileIdentityResultOutput), nil + }).(LookupIamTrustedProfileIdentityResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfileIdentity. +type LookupIamTrustedProfileIdentityOutputArgs struct { + IdentifierId pulumi.StringInput `pulumi:"identifierId"` + IdentityType pulumi.StringInput `pulumi:"identityType"` + ProfileId pulumi.StringInput `pulumi:"profileId"` +} + +func (LookupIamTrustedProfileIdentityOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileIdentityArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfileIdentity. +type LookupIamTrustedProfileIdentityResultOutput struct{ *pulumi.OutputState } + +func (LookupIamTrustedProfileIdentityResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileIdentityResult)(nil)).Elem() +} + +func (o LookupIamTrustedProfileIdentityResultOutput) ToLookupIamTrustedProfileIdentityResultOutput() LookupIamTrustedProfileIdentityResultOutput { + return o +} + +func (o LookupIamTrustedProfileIdentityResultOutput) ToLookupIamTrustedProfileIdentityResultOutputWithContext(ctx context.Context) LookupIamTrustedProfileIdentityResultOutput { + return o +} + +func (o LookupIamTrustedProfileIdentityResultOutput) Accounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) []string { return v.Accounts }).(pulumi.StringArrayOutput) +} + +func (o LookupIamTrustedProfileIdentityResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileIdentityResultOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) string { return v.IamId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamTrustedProfileIdentityResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileIdentityResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileIdentityResultOutput) IdentifierId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) string { return v.IdentifierId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileIdentityResultOutput) IdentityType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) string { return v.IdentityType }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileIdentityResultOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) string { return v.ProfileId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileIdentityResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileIdentityResult) string { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamTrustedProfileIdentityResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileLink.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileLink.go new file mode 100644 index 000000000..e3ee46f1f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileLink.go @@ -0,0 +1,117 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamTrustedProfileLink(ctx *pulumi.Context, args *LookupIamTrustedProfileLinkArgs, opts ...pulumi.InvokeOption) (*LookupIamTrustedProfileLinkResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamTrustedProfileLinkResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfileLink:getIamTrustedProfileLink", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfileLink. +type LookupIamTrustedProfileLinkArgs struct { + LinkId string `pulumi:"linkId"` + ProfileId string `pulumi:"profileId"` +} + +// A collection of values returned by getIamTrustedProfileLink. +type LookupIamTrustedProfileLinkResult struct { + CrType string `pulumi:"crType"` + CreatedAt string `pulumi:"createdAt"` + EntityTag string `pulumi:"entityTag"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LinkId string `pulumi:"linkId"` + Links []GetIamTrustedProfileLinkLink `pulumi:"links"` + ModifiedAt string `pulumi:"modifiedAt"` + Name string `pulumi:"name"` + ProfileId string `pulumi:"profileId"` +} + +func LookupIamTrustedProfileLinkOutput(ctx *pulumi.Context, args LookupIamTrustedProfileLinkOutputArgs, opts ...pulumi.InvokeOption) LookupIamTrustedProfileLinkResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamTrustedProfileLinkResultOutput, error) { + args := v.(LookupIamTrustedProfileLinkArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfileLink:getIamTrustedProfileLink", args, LookupIamTrustedProfileLinkResultOutput{}, options).(LookupIamTrustedProfileLinkResultOutput), nil + }).(LookupIamTrustedProfileLinkResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfileLink. +type LookupIamTrustedProfileLinkOutputArgs struct { + LinkId pulumi.StringInput `pulumi:"linkId"` + ProfileId pulumi.StringInput `pulumi:"profileId"` +} + +func (LookupIamTrustedProfileLinkOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileLinkArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfileLink. +type LookupIamTrustedProfileLinkResultOutput struct{ *pulumi.OutputState } + +func (LookupIamTrustedProfileLinkResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileLinkResult)(nil)).Elem() +} + +func (o LookupIamTrustedProfileLinkResultOutput) ToLookupIamTrustedProfileLinkResultOutput() LookupIamTrustedProfileLinkResultOutput { + return o +} + +func (o LookupIamTrustedProfileLinkResultOutput) ToLookupIamTrustedProfileLinkResultOutputWithContext(ctx context.Context) LookupIamTrustedProfileLinkResultOutput { + return o +} + +func (o LookupIamTrustedProfileLinkResultOutput) CrType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) string { return v.CrType }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileLinkResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileLinkResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamTrustedProfileLinkResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileLinkResultOutput) LinkId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) string { return v.LinkId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileLinkResultOutput) Links() GetIamTrustedProfileLinkLinkArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) []GetIamTrustedProfileLinkLink { return v.Links }).(GetIamTrustedProfileLinkLinkArrayOutput) +} + +func (o LookupIamTrustedProfileLinkResultOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) string { return v.ModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileLinkResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileLinkResultOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileLinkResult) string { return v.ProfileId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamTrustedProfileLinkResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileLinks.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileLinks.go new file mode 100644 index 000000000..9e9205b4d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileLinks.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamTrustedProfileLinks(ctx *pulumi.Context, args *GetIamTrustedProfileLinksArgs, opts ...pulumi.InvokeOption) (*GetIamTrustedProfileLinksResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamTrustedProfileLinksResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfileLinks:getIamTrustedProfileLinks", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfileLinks. +type GetIamTrustedProfileLinksArgs struct { + ProfileId string `pulumi:"profileId"` +} + +// A collection of values returned by getIamTrustedProfileLinks. +type GetIamTrustedProfileLinksResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Links []GetIamTrustedProfileLinksLink `pulumi:"links"` + ProfileId string `pulumi:"profileId"` +} + +func GetIamTrustedProfileLinksOutput(ctx *pulumi.Context, args GetIamTrustedProfileLinksOutputArgs, opts ...pulumi.InvokeOption) GetIamTrustedProfileLinksResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamTrustedProfileLinksResultOutput, error) { + args := v.(GetIamTrustedProfileLinksArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfileLinks:getIamTrustedProfileLinks", args, GetIamTrustedProfileLinksResultOutput{}, options).(GetIamTrustedProfileLinksResultOutput), nil + }).(GetIamTrustedProfileLinksResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfileLinks. +type GetIamTrustedProfileLinksOutputArgs struct { + ProfileId pulumi.StringInput `pulumi:"profileId"` +} + +func (GetIamTrustedProfileLinksOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileLinksArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfileLinks. +type GetIamTrustedProfileLinksResultOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileLinksResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileLinksResult)(nil)).Elem() +} + +func (o GetIamTrustedProfileLinksResultOutput) ToGetIamTrustedProfileLinksResultOutput() GetIamTrustedProfileLinksResultOutput { + return o +} + +func (o GetIamTrustedProfileLinksResultOutput) ToGetIamTrustedProfileLinksResultOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamTrustedProfileLinksResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamTrustedProfileLinksResultOutput) Links() GetIamTrustedProfileLinksLinkArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksResult) []GetIamTrustedProfileLinksLink { return v.Links }).(GetIamTrustedProfileLinksLinkArrayOutput) +} + +func (o GetIamTrustedProfileLinksResultOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksResult) string { return v.ProfileId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamTrustedProfileLinksResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfilePolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfilePolicy.go new file mode 100644 index 000000000..c767ad87b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfilePolicy.go @@ -0,0 +1,110 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamTrustedProfilePolicy(ctx *pulumi.Context, args *LookupIamTrustedProfilePolicyArgs, opts ...pulumi.InvokeOption) (*LookupIamTrustedProfilePolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamTrustedProfilePolicyResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfilePolicy:getIamTrustedProfilePolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfilePolicy. +type LookupIamTrustedProfilePolicyArgs struct { + IamId *string `pulumi:"iamId"` + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + ProfileId *string `pulumi:"profileId"` + Sort *string `pulumi:"sort"` + TransactionId *string `pulumi:"transactionId"` +} + +// A collection of values returned by getIamTrustedProfilePolicy. +type LookupIamTrustedProfilePolicyResult struct { + IamId *string `pulumi:"iamId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Policies []GetIamTrustedProfilePolicyPolicy `pulumi:"policies"` + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + ProfileId *string `pulumi:"profileId"` + Sort *string `pulumi:"sort"` + TransactionId string `pulumi:"transactionId"` +} + +func LookupIamTrustedProfilePolicyOutput(ctx *pulumi.Context, args LookupIamTrustedProfilePolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIamTrustedProfilePolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamTrustedProfilePolicyResultOutput, error) { + args := v.(LookupIamTrustedProfilePolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfilePolicy:getIamTrustedProfilePolicy", args, LookupIamTrustedProfilePolicyResultOutput{}, options).(LookupIamTrustedProfilePolicyResultOutput), nil + }).(LookupIamTrustedProfilePolicyResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfilePolicy. +type LookupIamTrustedProfilePolicyOutputArgs struct { + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + ProfileId pulumi.StringPtrInput `pulumi:"profileId"` + Sort pulumi.StringPtrInput `pulumi:"sort"` + TransactionId pulumi.StringPtrInput `pulumi:"transactionId"` +} + +func (LookupIamTrustedProfilePolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfilePolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfilePolicy. +type LookupIamTrustedProfilePolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIamTrustedProfilePolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfilePolicyResult)(nil)).Elem() +} + +func (o LookupIamTrustedProfilePolicyResultOutput) ToLookupIamTrustedProfilePolicyResultOutput() LookupIamTrustedProfilePolicyResultOutput { + return o +} + +func (o LookupIamTrustedProfilePolicyResultOutput) ToLookupIamTrustedProfilePolicyResultOutputWithContext(ctx context.Context) LookupIamTrustedProfilePolicyResultOutput { + return o +} + +func (o LookupIamTrustedProfilePolicyResultOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamTrustedProfilePolicyResult) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamTrustedProfilePolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfilePolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfilePolicyResultOutput) Policies() GetIamTrustedProfilePolicyPolicyArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfilePolicyResult) []GetIamTrustedProfilePolicyPolicy { return v.Policies }).(GetIamTrustedProfilePolicyPolicyArrayOutput) +} + +// Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. +func (o LookupIamTrustedProfilePolicyResultOutput) ProfileId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamTrustedProfilePolicyResult) *string { return v.ProfileId }).(pulumi.StringPtrOutput) +} + +func (o LookupIamTrustedProfilePolicyResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamTrustedProfilePolicyResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func (o LookupIamTrustedProfilePolicyResultOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfilePolicyResult) string { return v.TransactionId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamTrustedProfilePolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileTemplate.go new file mode 100644 index 000000000..e4e21856c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileTemplate.go @@ -0,0 +1,161 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamTrustedProfileTemplate(ctx *pulumi.Context, args *LookupIamTrustedProfileTemplateArgs, opts ...pulumi.InvokeOption) (*LookupIamTrustedProfileTemplateResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamTrustedProfileTemplateResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfileTemplate:getIamTrustedProfileTemplate", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfileTemplate. +type LookupIamTrustedProfileTemplateArgs struct { + IncludeHistory *bool `pulumi:"includeHistory"` + TemplateId string `pulumi:"templateId"` + Version *string `pulumi:"version"` +} + +// A collection of values returned by getIamTrustedProfileTemplate. +type LookupIamTrustedProfileTemplateResult struct { + AccountId string `pulumi:"accountId"` + Committed bool `pulumi:"committed"` + CreatedAt string `pulumi:"createdAt"` + CreatedById string `pulumi:"createdById"` + Crn string `pulumi:"crn"` + Description string `pulumi:"description"` + EntityTag string `pulumi:"entityTag"` + Histories []GetIamTrustedProfileTemplateHistory `pulumi:"histories"` + Id string `pulumi:"id"` + IncludeHistory *bool `pulumi:"includeHistory"` + LastModifiedAt string `pulumi:"lastModifiedAt"` + LastModifiedById string `pulumi:"lastModifiedById"` + Name string `pulumi:"name"` + PolicyTemplateReferences []GetIamTrustedProfileTemplatePolicyTemplateReference `pulumi:"policyTemplateReferences"` + Profiles []GetIamTrustedProfileTemplateProfile `pulumi:"profiles"` + TemplateId string `pulumi:"templateId"` + Version *string `pulumi:"version"` +} + +func LookupIamTrustedProfileTemplateOutput(ctx *pulumi.Context, args LookupIamTrustedProfileTemplateOutputArgs, opts ...pulumi.InvokeOption) LookupIamTrustedProfileTemplateResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamTrustedProfileTemplateResultOutput, error) { + args := v.(LookupIamTrustedProfileTemplateArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfileTemplate:getIamTrustedProfileTemplate", args, LookupIamTrustedProfileTemplateResultOutput{}, options).(LookupIamTrustedProfileTemplateResultOutput), nil + }).(LookupIamTrustedProfileTemplateResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfileTemplate. +type LookupIamTrustedProfileTemplateOutputArgs struct { + IncludeHistory pulumi.BoolPtrInput `pulumi:"includeHistory"` + TemplateId pulumi.StringInput `pulumi:"templateId"` + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (LookupIamTrustedProfileTemplateOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileTemplateArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfileTemplate. +type LookupIamTrustedProfileTemplateResultOutput struct{ *pulumi.OutputState } + +func (LookupIamTrustedProfileTemplateResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileTemplateResult)(nil)).Elem() +} + +func (o LookupIamTrustedProfileTemplateResultOutput) ToLookupIamTrustedProfileTemplateResultOutput() LookupIamTrustedProfileTemplateResultOutput { + return o +} + +func (o LookupIamTrustedProfileTemplateResultOutput) ToLookupIamTrustedProfileTemplateResultOutputWithContext(ctx context.Context) LookupIamTrustedProfileTemplateResultOutput { + return o +} + +func (o LookupIamTrustedProfileTemplateResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) bool { return v.Committed }).(pulumi.BoolOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.CreatedById }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) Histories() GetIamTrustedProfileTemplateHistoryArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) []GetIamTrustedProfileTemplateHistory { + return v.Histories + }).(GetIamTrustedProfileTemplateHistoryArrayOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) IncludeHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) *bool { return v.IncludeHistory }).(pulumi.BoolPtrOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) PolicyTemplateReferences() GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) []GetIamTrustedProfileTemplatePolicyTemplateReference { + return v.PolicyTemplateReferences + }).(GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) Profiles() GetIamTrustedProfileTemplateProfileArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) []GetIamTrustedProfileTemplateProfile { return v.Profiles }).(GetIamTrustedProfileTemplateProfileArrayOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) string { return v.TemplateId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateResultOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateResult) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamTrustedProfileTemplateResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileTemplateAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileTemplateAssignment.go new file mode 100644 index 000000000..5c99814d3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfileTemplateAssignment.go @@ -0,0 +1,166 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamTrustedProfileTemplateAssignment(ctx *pulumi.Context, args *LookupIamTrustedProfileTemplateAssignmentArgs, opts ...pulumi.InvokeOption) (*LookupIamTrustedProfileTemplateAssignmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamTrustedProfileTemplateAssignmentResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfileTemplateAssignment:getIamTrustedProfileTemplateAssignment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfileTemplateAssignment. +type LookupIamTrustedProfileTemplateAssignmentArgs struct { + AssignmentId string `pulumi:"assignmentId"` + IncludeHistory *bool `pulumi:"includeHistory"` +} + +// A collection of values returned by getIamTrustedProfileTemplateAssignment. +type LookupIamTrustedProfileTemplateAssignmentResult struct { + AccountId string `pulumi:"accountId"` + AssignmentId string `pulumi:"assignmentId"` + Contexts []GetIamTrustedProfileTemplateAssignmentContext `pulumi:"contexts"` + CreatedAt string `pulumi:"createdAt"` + CreatedById string `pulumi:"createdById"` + EntityTag string `pulumi:"entityTag"` + Histories []GetIamTrustedProfileTemplateAssignmentHistory `pulumi:"histories"` + Href string `pulumi:"href"` + Id string `pulumi:"id"` + IncludeHistory *bool `pulumi:"includeHistory"` + LastModifiedAt string `pulumi:"lastModifiedAt"` + LastModifiedById string `pulumi:"lastModifiedById"` + Resources []GetIamTrustedProfileTemplateAssignmentResource `pulumi:"resources"` + Status string `pulumi:"status"` + Target string `pulumi:"target"` + TargetType string `pulumi:"targetType"` + TemplateId string `pulumi:"templateId"` + TemplateVersion int `pulumi:"templateVersion"` +} + +func LookupIamTrustedProfileTemplateAssignmentOutput(ctx *pulumi.Context, args LookupIamTrustedProfileTemplateAssignmentOutputArgs, opts ...pulumi.InvokeOption) LookupIamTrustedProfileTemplateAssignmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamTrustedProfileTemplateAssignmentResultOutput, error) { + args := v.(LookupIamTrustedProfileTemplateAssignmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfileTemplateAssignment:getIamTrustedProfileTemplateAssignment", args, LookupIamTrustedProfileTemplateAssignmentResultOutput{}, options).(LookupIamTrustedProfileTemplateAssignmentResultOutput), nil + }).(LookupIamTrustedProfileTemplateAssignmentResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfileTemplateAssignment. +type LookupIamTrustedProfileTemplateAssignmentOutputArgs struct { + AssignmentId pulumi.StringInput `pulumi:"assignmentId"` + IncludeHistory pulumi.BoolPtrInput `pulumi:"includeHistory"` +} + +func (LookupIamTrustedProfileTemplateAssignmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileTemplateAssignmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfileTemplateAssignment. +type LookupIamTrustedProfileTemplateAssignmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIamTrustedProfileTemplateAssignmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamTrustedProfileTemplateAssignmentResult)(nil)).Elem() +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) ToLookupIamTrustedProfileTemplateAssignmentResultOutput() LookupIamTrustedProfileTemplateAssignmentResultOutput { + return o +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) ToLookupIamTrustedProfileTemplateAssignmentResultOutputWithContext(ctx context.Context) LookupIamTrustedProfileTemplateAssignmentResultOutput { + return o +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.AssignmentId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) Contexts() GetIamTrustedProfileTemplateAssignmentContextArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) []GetIamTrustedProfileTemplateAssignmentContext { + return v.Contexts + }).(GetIamTrustedProfileTemplateAssignmentContextArrayOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.CreatedById }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.EntityTag }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) Histories() GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) []GetIamTrustedProfileTemplateAssignmentHistory { + return v.Histories + }).(GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) IncludeHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) *bool { return v.IncludeHistory }).(pulumi.BoolPtrOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) Resources() GetIamTrustedProfileTemplateAssignmentResourceArrayOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) []GetIamTrustedProfileTemplateAssignmentResource { + return v.Resources + }).(GetIamTrustedProfileTemplateAssignmentResourceArrayOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.Target }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) TargetType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.TargetType }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) string { return v.TemplateId }).(pulumi.StringOutput) +} + +func (o LookupIamTrustedProfileTemplateAssignmentResultOutput) TemplateVersion() pulumi.IntOutput { + return o.ApplyT(func(v LookupIamTrustedProfileTemplateAssignmentResult) int { return v.TemplateVersion }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamTrustedProfileTemplateAssignmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfiles.go new file mode 100644 index 000000000..1e00f54d8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamTrustedProfiles.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamTrustedProfiles(ctx *pulumi.Context, args *GetIamTrustedProfilesArgs, opts ...pulumi.InvokeOption) (*GetIamTrustedProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamTrustedProfilesResult + err := ctx.Invoke("ibmcloud:index/getIamTrustedProfiles:getIamTrustedProfiles", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamTrustedProfiles. +type GetIamTrustedProfilesArgs struct { + AccountId string `pulumi:"accountId"` + IncludeHistory *bool `pulumi:"includeHistory"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIamTrustedProfiles. +type GetIamTrustedProfilesResult struct { + AccountId string `pulumi:"accountId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IncludeHistory *bool `pulumi:"includeHistory"` + Name *string `pulumi:"name"` + Profiles []GetIamTrustedProfilesProfile `pulumi:"profiles"` +} + +func GetIamTrustedProfilesOutput(ctx *pulumi.Context, args GetIamTrustedProfilesOutputArgs, opts ...pulumi.InvokeOption) GetIamTrustedProfilesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamTrustedProfilesResultOutput, error) { + args := v.(GetIamTrustedProfilesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamTrustedProfiles:getIamTrustedProfiles", args, GetIamTrustedProfilesResultOutput{}, options).(GetIamTrustedProfilesResultOutput), nil + }).(GetIamTrustedProfilesResultOutput) +} + +// A collection of arguments for invoking getIamTrustedProfiles. +type GetIamTrustedProfilesOutputArgs struct { + AccountId pulumi.StringInput `pulumi:"accountId"` + IncludeHistory pulumi.BoolPtrInput `pulumi:"includeHistory"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (GetIamTrustedProfilesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilesArgs)(nil)).Elem() +} + +// A collection of values returned by getIamTrustedProfiles. +type GetIamTrustedProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilesResult)(nil)).Elem() +} + +func (o GetIamTrustedProfilesResultOutput) ToGetIamTrustedProfilesResultOutput() GetIamTrustedProfilesResultOutput { + return o +} + +func (o GetIamTrustedProfilesResultOutput) ToGetIamTrustedProfilesResultOutputWithContext(ctx context.Context) GetIamTrustedProfilesResultOutput { + return o +} + +func (o GetIamTrustedProfilesResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamTrustedProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamTrustedProfilesResultOutput) IncludeHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetIamTrustedProfilesResult) *bool { return v.IncludeHistory }).(pulumi.BoolPtrOutput) +} + +func (o GetIamTrustedProfilesResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamTrustedProfilesResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIamTrustedProfilesResultOutput) Profiles() GetIamTrustedProfilesProfileArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilesResult) []GetIamTrustedProfilesProfile { return v.Profiles }).(GetIamTrustedProfilesProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamTrustedProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserMfaEnrollments.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserMfaEnrollments.go new file mode 100644 index 000000000..e9f027b1c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserMfaEnrollments.go @@ -0,0 +1,104 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamUserMfaEnrollments(ctx *pulumi.Context, args *GetIamUserMfaEnrollmentsArgs, opts ...pulumi.InvokeOption) (*GetIamUserMfaEnrollmentsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamUserMfaEnrollmentsResult + err := ctx.Invoke("ibmcloud:index/getIamUserMfaEnrollments:getIamUserMfaEnrollments", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamUserMfaEnrollments. +type GetIamUserMfaEnrollmentsArgs struct { + AccountId string `pulumi:"accountId"` + IamId string `pulumi:"iamId"` +} + +// A collection of values returned by getIamUserMfaEnrollments. +type GetIamUserMfaEnrollmentsResult struct { + AccountBasedMfas []GetIamUserMfaEnrollmentsAccountBasedMfa `pulumi:"accountBasedMfas"` + AccountId string `pulumi:"accountId"` + EffectiveMfaType string `pulumi:"effectiveMfaType"` + IamId string `pulumi:"iamId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IdBasedMfas []GetIamUserMfaEnrollmentsIdBasedMfa `pulumi:"idBasedMfas"` +} + +func GetIamUserMfaEnrollmentsOutput(ctx *pulumi.Context, args GetIamUserMfaEnrollmentsOutputArgs, opts ...pulumi.InvokeOption) GetIamUserMfaEnrollmentsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamUserMfaEnrollmentsResultOutput, error) { + args := v.(GetIamUserMfaEnrollmentsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamUserMfaEnrollments:getIamUserMfaEnrollments", args, GetIamUserMfaEnrollmentsResultOutput{}, options).(GetIamUserMfaEnrollmentsResultOutput), nil + }).(GetIamUserMfaEnrollmentsResultOutput) +} + +// A collection of arguments for invoking getIamUserMfaEnrollments. +type GetIamUserMfaEnrollmentsOutputArgs struct { + AccountId pulumi.StringInput `pulumi:"accountId"` + IamId pulumi.StringInput `pulumi:"iamId"` +} + +func (GetIamUserMfaEnrollmentsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsArgs)(nil)).Elem() +} + +// A collection of values returned by getIamUserMfaEnrollments. +type GetIamUserMfaEnrollmentsResultOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsResult)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsResultOutput) ToGetIamUserMfaEnrollmentsResultOutput() GetIamUserMfaEnrollmentsResultOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsResultOutput) ToGetIamUserMfaEnrollmentsResultOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsResultOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsResultOutput) AccountBasedMfas() GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsResult) []GetIamUserMfaEnrollmentsAccountBasedMfa { + return v.AccountBasedMfas + }).(GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput) +} + +func (o GetIamUserMfaEnrollmentsResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o GetIamUserMfaEnrollmentsResultOutput) EffectiveMfaType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsResult) string { return v.EffectiveMfaType }).(pulumi.StringOutput) +} + +func (o GetIamUserMfaEnrollmentsResultOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsResult) string { return v.IamId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamUserMfaEnrollmentsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamUserMfaEnrollmentsResultOutput) IdBasedMfas() GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsResult) []GetIamUserMfaEnrollmentsIdBasedMfa { return v.IdBasedMfas }).(GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserPolicy.go new file mode 100644 index 000000000..f2321d55e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserPolicy.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIamUserPolicy(ctx *pulumi.Context, args *LookupIamUserPolicyArgs, opts ...pulumi.InvokeOption) (*LookupIamUserPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIamUserPolicyResult + err := ctx.Invoke("ibmcloud:index/getIamUserPolicy:getIamUserPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamUserPolicy. +type LookupIamUserPolicyArgs struct { + IbmId string `pulumi:"ibmId"` + Sort *string `pulumi:"sort"` + TransactionId *string `pulumi:"transactionId"` +} + +// A collection of values returned by getIamUserPolicy. +type LookupIamUserPolicyResult struct { + IbmId string `pulumi:"ibmId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Policies []GetIamUserPolicyPolicy `pulumi:"policies"` + Sort *string `pulumi:"sort"` + TransactionId string `pulumi:"transactionId"` +} + +func LookupIamUserPolicyOutput(ctx *pulumi.Context, args LookupIamUserPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIamUserPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIamUserPolicyResultOutput, error) { + args := v.(LookupIamUserPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamUserPolicy:getIamUserPolicy", args, LookupIamUserPolicyResultOutput{}, options).(LookupIamUserPolicyResultOutput), nil + }).(LookupIamUserPolicyResultOutput) +} + +// A collection of arguments for invoking getIamUserPolicy. +type LookupIamUserPolicyOutputArgs struct { + IbmId pulumi.StringInput `pulumi:"ibmId"` + Sort pulumi.StringPtrInput `pulumi:"sort"` + TransactionId pulumi.StringPtrInput `pulumi:"transactionId"` +} + +func (LookupIamUserPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamUserPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIamUserPolicy. +type LookupIamUserPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIamUserPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIamUserPolicyResult)(nil)).Elem() +} + +func (o LookupIamUserPolicyResultOutput) ToLookupIamUserPolicyResultOutput() LookupIamUserPolicyResultOutput { + return o +} + +func (o LookupIamUserPolicyResultOutput) ToLookupIamUserPolicyResultOutputWithContext(ctx context.Context) LookupIamUserPolicyResultOutput { + return o +} + +func (o LookupIamUserPolicyResultOutput) IbmId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamUserPolicyResult) string { return v.IbmId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIamUserPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamUserPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIamUserPolicyResultOutput) Policies() GetIamUserPolicyPolicyArrayOutput { + return o.ApplyT(func(v LookupIamUserPolicyResult) []GetIamUserPolicyPolicy { return v.Policies }).(GetIamUserPolicyPolicyArrayOutput) +} + +func (o LookupIamUserPolicyResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIamUserPolicyResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func (o LookupIamUserPolicyResultOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIamUserPolicyResult) string { return v.TransactionId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIamUserPolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserProfile.go new file mode 100644 index 000000000..1eb26584b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUserProfile.go @@ -0,0 +1,130 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamUserProfile(ctx *pulumi.Context, args *GetIamUserProfileArgs, opts ...pulumi.InvokeOption) (*GetIamUserProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamUserProfileResult + err := ctx.Invoke("ibmcloud:index/getIamUserProfile:getIamUserProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIamUserProfile. +type GetIamUserProfileArgs struct { + IamId string `pulumi:"iamId"` +} + +// A collection of values returned by getIamUserProfile. +type GetIamUserProfileResult struct { + AccountId string `pulumi:"accountId"` + AllowedIpAddresses []string `pulumi:"allowedIpAddresses"` + Altphonenumber string `pulumi:"altphonenumber"` + Email string `pulumi:"email"` + Firstname string `pulumi:"firstname"` + IamId string `pulumi:"iamId"` + IbmId string `pulumi:"ibmId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lastname string `pulumi:"lastname"` + Phonenumber string `pulumi:"phonenumber"` + State string `pulumi:"state"` + UserId string `pulumi:"userId"` +} + +func GetIamUserProfileOutput(ctx *pulumi.Context, args GetIamUserProfileOutputArgs, opts ...pulumi.InvokeOption) GetIamUserProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIamUserProfileResultOutput, error) { + args := v.(GetIamUserProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamUserProfile:getIamUserProfile", args, GetIamUserProfileResultOutput{}, options).(GetIamUserProfileResultOutput), nil + }).(GetIamUserProfileResultOutput) +} + +// A collection of arguments for invoking getIamUserProfile. +type GetIamUserProfileOutputArgs struct { + IamId pulumi.StringInput `pulumi:"iamId"` +} + +func (GetIamUserProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIamUserProfile. +type GetIamUserProfileResultOutput struct{ *pulumi.OutputState } + +func (GetIamUserProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserProfileResult)(nil)).Elem() +} + +func (o GetIamUserProfileResultOutput) ToGetIamUserProfileResultOutput() GetIamUserProfileResultOutput { + return o +} + +func (o GetIamUserProfileResultOutput) ToGetIamUserProfileResultOutputWithContext(ctx context.Context) GetIamUserProfileResultOutput { + return o +} + +func (o GetIamUserProfileResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) AllowedIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamUserProfileResult) []string { return v.AllowedIpAddresses }).(pulumi.StringArrayOutput) +} + +func (o GetIamUserProfileResultOutput) Altphonenumber() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.Altphonenumber }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.Email }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) Firstname() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.Firstname }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.IamId }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) IbmId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.IbmId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamUserProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) Lastname() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.Lastname }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) Phonenumber() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.Phonenumber }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o GetIamUserProfileResultOutput) UserId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserProfileResult) string { return v.UserId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamUserProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUsers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUsers.go new file mode 100644 index 000000000..ade788e83 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIamUsers.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIamUsers(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIamUsersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIamUsersResult + err := ctx.Invoke("ibmcloud:index/getIamUsers:getIamUsers", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIamUsers. +type GetIamUsersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Users []GetIamUsersUser `pulumi:"users"` +} + +func GetIamUsersOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIamUsersResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIamUsersResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIamUsers:getIamUsers", nil, GetIamUsersResultOutput{}, options).(GetIamUsersResultOutput), nil + }).(GetIamUsersResultOutput) +} + +// A collection of values returned by getIamUsers. +type GetIamUsersResultOutput struct{ *pulumi.OutputState } + +func (GetIamUsersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUsersResult)(nil)).Elem() +} + +func (o GetIamUsersResultOutput) ToGetIamUsersResultOutput() GetIamUsersResultOutput { + return o +} + +func (o GetIamUsersResultOutput) ToGetIamUsersResultOutputWithContext(ctx context.Context) GetIamUsersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIamUsersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamUsersResultOutput) Users() GetIamUsersUserArrayOutput { + return o.ApplyT(func(v GetIamUsersResult) []GetIamUsersUser { return v.Users }).(GetIamUsersUserArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIamUsersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicies.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicies.go new file mode 100644 index 000000000..fca0c0d1e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicies.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBackupPolicies(ctx *pulumi.Context, args *GetIsBackupPoliciesArgs, opts ...pulumi.InvokeOption) (*GetIsBackupPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBackupPoliciesResult + err := ctx.Invoke("ibmcloud:index/getIsBackupPolicies:getIsBackupPolicies", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBackupPolicies. +type GetIsBackupPoliciesArgs struct { + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + Tag *string `pulumi:"tag"` +} + +// A collection of values returned by getIsBackupPolicies. +type GetIsBackupPoliciesResult struct { + BackupPolicies []GetIsBackupPoliciesBackupPolicy `pulumi:"backupPolicies"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + Tag *string `pulumi:"tag"` +} + +func GetIsBackupPoliciesOutput(ctx *pulumi.Context, args GetIsBackupPoliciesOutputArgs, opts ...pulumi.InvokeOption) GetIsBackupPoliciesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBackupPoliciesResultOutput, error) { + args := v.(GetIsBackupPoliciesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBackupPolicies:getIsBackupPolicies", args, GetIsBackupPoliciesResultOutput{}, options).(GetIsBackupPoliciesResultOutput), nil + }).(GetIsBackupPoliciesResultOutput) +} + +// A collection of arguments for invoking getIsBackupPolicies. +type GetIsBackupPoliciesOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + Tag pulumi.StringPtrInput `pulumi:"tag"` +} + +func (GetIsBackupPoliciesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBackupPolicies. +type GetIsBackupPoliciesResultOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesResult)(nil)).Elem() +} + +func (o GetIsBackupPoliciesResultOutput) ToGetIsBackupPoliciesResultOutput() GetIsBackupPoliciesResultOutput { + return o +} + +func (o GetIsBackupPoliciesResultOutput) ToGetIsBackupPoliciesResultOutputWithContext(ctx context.Context) GetIsBackupPoliciesResultOutput { + return o +} + +func (o GetIsBackupPoliciesResultOutput) BackupPolicies() GetIsBackupPoliciesBackupPolicyArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesResult) []GetIsBackupPoliciesBackupPolicy { return v.BackupPolicies }).(GetIsBackupPoliciesBackupPolicyArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBackupPoliciesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBackupPoliciesResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBackupPoliciesResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsBackupPoliciesResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBackupPoliciesResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsBackupPoliciesResultOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBackupPoliciesResult) *string { return v.Tag }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBackupPoliciesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicy.go new file mode 100644 index 000000000..a896d020f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicy.go @@ -0,0 +1,162 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsBackupPolicy(ctx *pulumi.Context, args *LookupIsBackupPolicyArgs, opts ...pulumi.InvokeOption) (*LookupIsBackupPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsBackupPolicyResult + err := ctx.Invoke("ibmcloud:index/getIsBackupPolicy:getIsBackupPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBackupPolicy. +type LookupIsBackupPolicyArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsBackupPolicy. +type LookupIsBackupPolicyResult struct { + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + HealthReasons []GetIsBackupPolicyHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + IncludedContents []string `pulumi:"includedContents"` + LastJobCompletedAt string `pulumi:"lastJobCompletedAt"` + LifecycleState string `pulumi:"lifecycleState"` + MatchResourceType string `pulumi:"matchResourceType"` + MatchResourceTypes []string `pulumi:"matchResourceTypes"` + MatchUserTags []string `pulumi:"matchUserTags"` + Name string `pulumi:"name"` + Plans []GetIsBackupPolicyPlanType `pulumi:"plans"` + ResourceGroups []GetIsBackupPolicyResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + Scopes []GetIsBackupPolicyScope `pulumi:"scopes"` +} + +func LookupIsBackupPolicyOutput(ctx *pulumi.Context, args LookupIsBackupPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIsBackupPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsBackupPolicyResultOutput, error) { + args := v.(LookupIsBackupPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBackupPolicy:getIsBackupPolicy", args, LookupIsBackupPolicyResultOutput{}, options).(LookupIsBackupPolicyResultOutput), nil + }).(LookupIsBackupPolicyResultOutput) +} + +// A collection of arguments for invoking getIsBackupPolicy. +type LookupIsBackupPolicyOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsBackupPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBackupPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBackupPolicy. +type LookupIsBackupPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIsBackupPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBackupPolicyResult)(nil)).Elem() +} + +func (o LookupIsBackupPolicyResultOutput) ToLookupIsBackupPolicyResultOutput() LookupIsBackupPolicyResultOutput { + return o +} + +func (o LookupIsBackupPolicyResultOutput) ToLookupIsBackupPolicyResultOutputWithContext(ctx context.Context) LookupIsBackupPolicyResultOutput { + return o +} + +func (o LookupIsBackupPolicyResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) HealthReasons() GetIsBackupPolicyHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) []GetIsBackupPolicyHealthReason { return v.HealthReasons }).(GetIsBackupPolicyHealthReasonArrayOutput) +} + +func (o LookupIsBackupPolicyResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsBackupPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsBackupPolicyResultOutput) IncludedContents() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) []string { return v.IncludedContents }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBackupPolicyResultOutput) LastJobCompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.LastJobCompletedAt }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) MatchResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.MatchResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) MatchResourceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) []string { return v.MatchResourceTypes }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBackupPolicyResultOutput) MatchUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) []string { return v.MatchUserTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBackupPolicyResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) Plans() GetIsBackupPolicyPlanTypeArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) []GetIsBackupPolicyPlanType { return v.Plans }).(GetIsBackupPolicyPlanTypeArrayOutput) +} + +func (o LookupIsBackupPolicyResultOutput) ResourceGroups() GetIsBackupPolicyResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) []GetIsBackupPolicyResourceGroup { return v.ResourceGroups }).(GetIsBackupPolicyResourceGroupArrayOutput) +} + +func (o LookupIsBackupPolicyResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyResultOutput) Scopes() GetIsBackupPolicyScopeArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyResult) []GetIsBackupPolicyScope { return v.Scopes }).(GetIsBackupPolicyScopeArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsBackupPolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyJob.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyJob.go new file mode 100644 index 000000000..655e2f8e5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyJob.go @@ -0,0 +1,157 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBackupPolicyJob(ctx *pulumi.Context, args *GetIsBackupPolicyJobArgs, opts ...pulumi.InvokeOption) (*GetIsBackupPolicyJobResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBackupPolicyJobResult + err := ctx.Invoke("ibmcloud:index/getIsBackupPolicyJob:getIsBackupPolicyJob", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBackupPolicyJob. +type GetIsBackupPolicyJobArgs struct { + BackupPolicyId string `pulumi:"backupPolicyId"` + Identifier string `pulumi:"identifier"` +} + +// A collection of values returned by getIsBackupPolicyJob. +type GetIsBackupPolicyJobResult struct { + AutoDelete bool `pulumi:"autoDelete"` + AutoDeleteAfter int `pulumi:"autoDeleteAfter"` + BackupPolicyId string `pulumi:"backupPolicyId"` + BackupPolicyPlans []GetIsBackupPolicyJobBackupPolicyPlan `pulumi:"backupPolicyPlans"` + CompletedAt string `pulumi:"completedAt"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + JobType string `pulumi:"jobType"` + ResourceType string `pulumi:"resourceType"` + SourceInstances []GetIsBackupPolicyJobSourceInstance `pulumi:"sourceInstances"` + SourceShares []GetIsBackupPolicyJobSourceShare `pulumi:"sourceShares"` + SourceVolumes []GetIsBackupPolicyJobSourceVolume `pulumi:"sourceVolumes"` + Status string `pulumi:"status"` + StatusReasons []GetIsBackupPolicyJobStatusReason `pulumi:"statusReasons"` + TargetSnapshots []GetIsBackupPolicyJobTargetSnapshot `pulumi:"targetSnapshots"` +} + +func GetIsBackupPolicyJobOutput(ctx *pulumi.Context, args GetIsBackupPolicyJobOutputArgs, opts ...pulumi.InvokeOption) GetIsBackupPolicyJobResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBackupPolicyJobResultOutput, error) { + args := v.(GetIsBackupPolicyJobArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBackupPolicyJob:getIsBackupPolicyJob", args, GetIsBackupPolicyJobResultOutput{}, options).(GetIsBackupPolicyJobResultOutput), nil + }).(GetIsBackupPolicyJobResultOutput) +} + +// A collection of arguments for invoking getIsBackupPolicyJob. +type GetIsBackupPolicyJobOutputArgs struct { + BackupPolicyId pulumi.StringInput `pulumi:"backupPolicyId"` + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (GetIsBackupPolicyJobOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBackupPolicyJob. +type GetIsBackupPolicyJobResultOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobResult)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobResultOutput) ToGetIsBackupPolicyJobResultOutput() GetIsBackupPolicyJobResultOutput { + return o +} + +func (o GetIsBackupPolicyJobResultOutput) ToGetIsBackupPolicyJobResultOutputWithContext(ctx context.Context) GetIsBackupPolicyJobResultOutput { + return o +} + +func (o GetIsBackupPolicyJobResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) AutoDeleteAfter() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) int { return v.AutoDeleteAfter }).(pulumi.IntOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) BackupPolicyId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.BackupPolicyId }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) BackupPolicyPlans() GetIsBackupPolicyJobBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) []GetIsBackupPolicyJobBackupPolicyPlan { return v.BackupPolicyPlans }).(GetIsBackupPolicyJobBackupPolicyPlanArrayOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) CompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.CompletedAt }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBackupPolicyJobResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) JobType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.JobType }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) SourceInstances() GetIsBackupPolicyJobSourceInstanceArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) []GetIsBackupPolicyJobSourceInstance { return v.SourceInstances }).(GetIsBackupPolicyJobSourceInstanceArrayOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) SourceShares() GetIsBackupPolicyJobSourceShareArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) []GetIsBackupPolicyJobSourceShare { return v.SourceShares }).(GetIsBackupPolicyJobSourceShareArrayOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) SourceVolumes() GetIsBackupPolicyJobSourceVolumeArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) []GetIsBackupPolicyJobSourceVolume { return v.SourceVolumes }).(GetIsBackupPolicyJobSourceVolumeArrayOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) StatusReasons() GetIsBackupPolicyJobStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) []GetIsBackupPolicyJobStatusReason { return v.StatusReasons }).(GetIsBackupPolicyJobStatusReasonArrayOutput) +} + +func (o GetIsBackupPolicyJobResultOutput) TargetSnapshots() GetIsBackupPolicyJobTargetSnapshotArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobResult) []GetIsBackupPolicyJobTargetSnapshot { return v.TargetSnapshots }).(GetIsBackupPolicyJobTargetSnapshotArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBackupPolicyJobResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyJobs.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyJobs.go new file mode 100644 index 000000000..1d9a63282 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyJobs.go @@ -0,0 +1,120 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBackupPolicyJobs(ctx *pulumi.Context, args *GetIsBackupPolicyJobsArgs, opts ...pulumi.InvokeOption) (*GetIsBackupPolicyJobsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBackupPolicyJobsResult + err := ctx.Invoke("ibmcloud:index/getIsBackupPolicyJobs:getIsBackupPolicyJobs", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBackupPolicyJobs. +type GetIsBackupPolicyJobsArgs struct { + BackupPolicyId string `pulumi:"backupPolicyId"` + BackupPolicyPlanId *string `pulumi:"backupPolicyPlanId"` + SourceId *string `pulumi:"sourceId"` + Status *string `pulumi:"status"` + TargetSnapshotsCrns []string `pulumi:"targetSnapshotsCrns"` + TargetSnapshotsIds []string `pulumi:"targetSnapshotsIds"` +} + +// A collection of values returned by getIsBackupPolicyJobs. +type GetIsBackupPolicyJobsResult struct { + BackupPolicyId string `pulumi:"backupPolicyId"` + BackupPolicyPlanId *string `pulumi:"backupPolicyPlanId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Jobs []GetIsBackupPolicyJobsJob `pulumi:"jobs"` + SourceId *string `pulumi:"sourceId"` + Status *string `pulumi:"status"` + TargetSnapshotsCrns []string `pulumi:"targetSnapshotsCrns"` + TargetSnapshotsIds []string `pulumi:"targetSnapshotsIds"` +} + +func GetIsBackupPolicyJobsOutput(ctx *pulumi.Context, args GetIsBackupPolicyJobsOutputArgs, opts ...pulumi.InvokeOption) GetIsBackupPolicyJobsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBackupPolicyJobsResultOutput, error) { + args := v.(GetIsBackupPolicyJobsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBackupPolicyJobs:getIsBackupPolicyJobs", args, GetIsBackupPolicyJobsResultOutput{}, options).(GetIsBackupPolicyJobsResultOutput), nil + }).(GetIsBackupPolicyJobsResultOutput) +} + +// A collection of arguments for invoking getIsBackupPolicyJobs. +type GetIsBackupPolicyJobsOutputArgs struct { + BackupPolicyId pulumi.StringInput `pulumi:"backupPolicyId"` + BackupPolicyPlanId pulumi.StringPtrInput `pulumi:"backupPolicyPlanId"` + SourceId pulumi.StringPtrInput `pulumi:"sourceId"` + Status pulumi.StringPtrInput `pulumi:"status"` + TargetSnapshotsCrns pulumi.StringArrayInput `pulumi:"targetSnapshotsCrns"` + TargetSnapshotsIds pulumi.StringArrayInput `pulumi:"targetSnapshotsIds"` +} + +func (GetIsBackupPolicyJobsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBackupPolicyJobs. +type GetIsBackupPolicyJobsResultOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsResult)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsResultOutput) ToGetIsBackupPolicyJobsResultOutput() GetIsBackupPolicyJobsResultOutput { + return o +} + +func (o GetIsBackupPolicyJobsResultOutput) ToGetIsBackupPolicyJobsResultOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsResultOutput { + return o +} + +func (o GetIsBackupPolicyJobsResultOutput) BackupPolicyId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsResult) string { return v.BackupPolicyId }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobsResultOutput) BackupPolicyPlanId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsResult) *string { return v.BackupPolicyPlanId }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBackupPolicyJobsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyJobsResultOutput) Jobs() GetIsBackupPolicyJobsJobArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsResult) []GetIsBackupPolicyJobsJob { return v.Jobs }).(GetIsBackupPolicyJobsJobArrayOutput) +} + +func (o GetIsBackupPolicyJobsResultOutput) SourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsResult) *string { return v.SourceId }).(pulumi.StringPtrOutput) +} + +func (o GetIsBackupPolicyJobsResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func (o GetIsBackupPolicyJobsResultOutput) TargetSnapshotsCrns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsResult) []string { return v.TargetSnapshotsCrns }).(pulumi.StringArrayOutput) +} + +func (o GetIsBackupPolicyJobsResultOutput) TargetSnapshotsIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsResult) []string { return v.TargetSnapshotsIds }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBackupPolicyJobsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyPlan.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyPlan.go new file mode 100644 index 000000000..0d1333530 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyPlan.go @@ -0,0 +1,153 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsBackupPolicyPlan(ctx *pulumi.Context, args *LookupIsBackupPolicyPlanArgs, opts ...pulumi.InvokeOption) (*LookupIsBackupPolicyPlanResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsBackupPolicyPlanResult + err := ctx.Invoke("ibmcloud:index/getIsBackupPolicyPlan:getIsBackupPolicyPlan", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBackupPolicyPlan. +type LookupIsBackupPolicyPlanArgs struct { + BackupPolicyId string `pulumi:"backupPolicyId"` + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsBackupPolicyPlan. +type LookupIsBackupPolicyPlanResult struct { + Active bool `pulumi:"active"` + AttachUserTags []string `pulumi:"attachUserTags"` + BackupPolicyId string `pulumi:"backupPolicyId"` + ClonePolicies []GetIsBackupPolicyPlanClonePolicy `pulumi:"clonePolicies"` + CopyUserTags bool `pulumi:"copyUserTags"` + CreatedAt string `pulumi:"createdAt"` + CronSpec string `pulumi:"cronSpec"` + DeletionTriggers []GetIsBackupPolicyPlanDeletionTrigger `pulumi:"deletionTriggers"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + RemoteRegionPolicies []GetIsBackupPolicyPlanRemoteRegionPolicy `pulumi:"remoteRegionPolicies"` + ResourceType string `pulumi:"resourceType"` +} + +func LookupIsBackupPolicyPlanOutput(ctx *pulumi.Context, args LookupIsBackupPolicyPlanOutputArgs, opts ...pulumi.InvokeOption) LookupIsBackupPolicyPlanResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsBackupPolicyPlanResultOutput, error) { + args := v.(LookupIsBackupPolicyPlanArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBackupPolicyPlan:getIsBackupPolicyPlan", args, LookupIsBackupPolicyPlanResultOutput{}, options).(LookupIsBackupPolicyPlanResultOutput), nil + }).(LookupIsBackupPolicyPlanResultOutput) +} + +// A collection of arguments for invoking getIsBackupPolicyPlan. +type LookupIsBackupPolicyPlanOutputArgs struct { + BackupPolicyId pulumi.StringInput `pulumi:"backupPolicyId"` + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsBackupPolicyPlanOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBackupPolicyPlanArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBackupPolicyPlan. +type LookupIsBackupPolicyPlanResultOutput struct{ *pulumi.OutputState } + +func (LookupIsBackupPolicyPlanResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBackupPolicyPlanResult)(nil)).Elem() +} + +func (o LookupIsBackupPolicyPlanResultOutput) ToLookupIsBackupPolicyPlanResultOutput() LookupIsBackupPolicyPlanResultOutput { + return o +} + +func (o LookupIsBackupPolicyPlanResultOutput) ToLookupIsBackupPolicyPlanResultOutputWithContext(ctx context.Context) LookupIsBackupPolicyPlanResultOutput { + return o +} + +func (o LookupIsBackupPolicyPlanResultOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) bool { return v.Active }).(pulumi.BoolOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) AttachUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) []string { return v.AttachUserTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) BackupPolicyId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) string { return v.BackupPolicyId }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) ClonePolicies() GetIsBackupPolicyPlanClonePolicyArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) []GetIsBackupPolicyPlanClonePolicy { return v.ClonePolicies }).(GetIsBackupPolicyPlanClonePolicyArrayOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) CopyUserTags() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) bool { return v.CopyUserTags }).(pulumi.BoolOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) CronSpec() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) string { return v.CronSpec }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) DeletionTriggers() GetIsBackupPolicyPlanDeletionTriggerArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) []GetIsBackupPolicyPlanDeletionTrigger { + return v.DeletionTriggers + }).(GetIsBackupPolicyPlanDeletionTriggerArrayOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsBackupPolicyPlanResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) RemoteRegionPolicies() GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) []GetIsBackupPolicyPlanRemoteRegionPolicy { + return v.RemoteRegionPolicies + }).(GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput) +} + +func (o LookupIsBackupPolicyPlanResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBackupPolicyPlanResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsBackupPolicyPlanResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyPlans.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyPlans.go new file mode 100644 index 000000000..df34fce9f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBackupPolicyPlans.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBackupPolicyPlans(ctx *pulumi.Context, args *GetIsBackupPolicyPlansArgs, opts ...pulumi.InvokeOption) (*GetIsBackupPolicyPlansResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBackupPolicyPlansResult + err := ctx.Invoke("ibmcloud:index/getIsBackupPolicyPlans:getIsBackupPolicyPlans", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBackupPolicyPlans. +type GetIsBackupPolicyPlansArgs struct { + BackupPolicyId string `pulumi:"backupPolicyId"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsBackupPolicyPlans. +type GetIsBackupPolicyPlansResult struct { + BackupPolicyId string `pulumi:"backupPolicyId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + Plans []GetIsBackupPolicyPlansPlan `pulumi:"plans"` +} + +func GetIsBackupPolicyPlansOutput(ctx *pulumi.Context, args GetIsBackupPolicyPlansOutputArgs, opts ...pulumi.InvokeOption) GetIsBackupPolicyPlansResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBackupPolicyPlansResultOutput, error) { + args := v.(GetIsBackupPolicyPlansArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBackupPolicyPlans:getIsBackupPolicyPlans", args, GetIsBackupPolicyPlansResultOutput{}, options).(GetIsBackupPolicyPlansResultOutput), nil + }).(GetIsBackupPolicyPlansResultOutput) +} + +// A collection of arguments for invoking getIsBackupPolicyPlans. +type GetIsBackupPolicyPlansOutputArgs struct { + BackupPolicyId pulumi.StringInput `pulumi:"backupPolicyId"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (GetIsBackupPolicyPlansOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBackupPolicyPlans. +type GetIsBackupPolicyPlansResultOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansResult)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansResultOutput) ToGetIsBackupPolicyPlansResultOutput() GetIsBackupPolicyPlansResultOutput { + return o +} + +func (o GetIsBackupPolicyPlansResultOutput) ToGetIsBackupPolicyPlansResultOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansResultOutput { + return o +} + +func (o GetIsBackupPolicyPlansResultOutput) BackupPolicyId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansResult) string { return v.BackupPolicyId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBackupPolicyPlansResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyPlansResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsBackupPolicyPlansResultOutput) Plans() GetIsBackupPolicyPlansPlanArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansResult) []GetIsBackupPolicyPlansPlan { return v.Plans }).(GetIsBackupPolicyPlansPlanArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBackupPolicyPlansResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServer.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServer.go new file mode 100644 index 000000000..7d9b5cba8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServer.go @@ -0,0 +1,254 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsBareMetalServer(ctx *pulumi.Context, args *LookupIsBareMetalServerArgs, opts ...pulumi.InvokeOption) (*LookupIsBareMetalServerResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsBareMetalServerResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServer:getIsBareMetalServer", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServer. +type LookupIsBareMetalServerArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsBareMetalServer. +type LookupIsBareMetalServerResult struct { + AccessTags []string `pulumi:"accessTags"` + Bandwidth int `pulumi:"bandwidth"` + BootTarget string `pulumi:"bootTarget"` + Cpus []GetIsBareMetalServerCpus `pulumi:"cpus"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Disks []GetIsBareMetalServerDiskType `pulumi:"disks"` + EnableSecureBoot bool `pulumi:"enableSecureBoot"` + FirmwareUpdateTypeAvailable string `pulumi:"firmwareUpdateTypeAvailable"` + HealthReasons []GetIsBareMetalServerHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + Image string `pulumi:"image"` + Keys []string `pulumi:"keys"` + Memory int `pulumi:"memory"` + MetadataServices []GetIsBareMetalServerMetadataService `pulumi:"metadataServices"` + Name string `pulumi:"name"` + NetworkAttachments []GetIsBareMetalServerNetworkAttachmentType `pulumi:"networkAttachments"` + NetworkInterfaces []GetIsBareMetalServerNetworkInterfaceType `pulumi:"networkInterfaces"` + PrimaryNetworkAttachments []GetIsBareMetalServerPrimaryNetworkAttachment `pulumi:"primaryNetworkAttachments"` + PrimaryNetworkInterfaces []GetIsBareMetalServerPrimaryNetworkInterface `pulumi:"primaryNetworkInterfaces"` + Profile string `pulumi:"profile"` + ReservationAffinities []GetIsBareMetalServerReservationAffinity `pulumi:"reservationAffinities"` + Reservations []GetIsBareMetalServerReservation `pulumi:"reservations"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceType string `pulumi:"resourceType"` + Status string `pulumi:"status"` + StatusReasons []GetIsBareMetalServerStatusReason `pulumi:"statusReasons"` + Tags []string `pulumi:"tags"` + TrustedPlatformModules []GetIsBareMetalServerTrustedPlatformModule `pulumi:"trustedPlatformModules"` + Vpc string `pulumi:"vpc"` + Zone string `pulumi:"zone"` +} + +func LookupIsBareMetalServerOutput(ctx *pulumi.Context, args LookupIsBareMetalServerOutputArgs, opts ...pulumi.InvokeOption) LookupIsBareMetalServerResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsBareMetalServerResultOutput, error) { + args := v.(LookupIsBareMetalServerArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServer:getIsBareMetalServer", args, LookupIsBareMetalServerResultOutput{}, options).(LookupIsBareMetalServerResultOutput), nil + }).(LookupIsBareMetalServerResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServer. +type LookupIsBareMetalServerOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsBareMetalServerOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServer. +type LookupIsBareMetalServerResultOutput struct{ *pulumi.OutputState } + +func (LookupIsBareMetalServerResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerResult)(nil)).Elem() +} + +func (o LookupIsBareMetalServerResultOutput) ToLookupIsBareMetalServerResultOutput() LookupIsBareMetalServerResultOutput { + return o +} + +func (o LookupIsBareMetalServerResultOutput) ToLookupIsBareMetalServerResultOutputWithContext(ctx context.Context) LookupIsBareMetalServerResultOutput { + return o +} + +func (o LookupIsBareMetalServerResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +func (o LookupIsBareMetalServerResultOutput) BootTarget() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.BootTarget }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Cpus() GetIsBareMetalServerCpusArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerCpus { return v.Cpus }).(GetIsBareMetalServerCpusArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Disks() GetIsBareMetalServerDiskTypeArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerDiskType { return v.Disks }).(GetIsBareMetalServerDiskTypeArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) EnableSecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) bool { return v.EnableSecureBoot }).(pulumi.BoolOutput) +} + +func (o LookupIsBareMetalServerResultOutput) FirmwareUpdateTypeAvailable() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.FirmwareUpdateTypeAvailable }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) HealthReasons() GetIsBareMetalServerHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerHealthReason { return v.HealthReasons }).(GetIsBareMetalServerHealthReasonArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsBareMetalServerResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Image }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []string { return v.Keys }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) int { return v.Memory }).(pulumi.IntOutput) +} + +func (o LookupIsBareMetalServerResultOutput) MetadataServices() GetIsBareMetalServerMetadataServiceArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerMetadataService { return v.MetadataServices }).(GetIsBareMetalServerMetadataServiceArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) NetworkAttachments() GetIsBareMetalServerNetworkAttachmentTypeArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerNetworkAttachmentType { + return v.NetworkAttachments + }).(GetIsBareMetalServerNetworkAttachmentTypeArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) NetworkInterfaces() GetIsBareMetalServerNetworkInterfaceTypeArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerNetworkInterfaceType { + return v.NetworkInterfaces + }).(GetIsBareMetalServerNetworkInterfaceTypeArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) PrimaryNetworkAttachments() GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerPrimaryNetworkAttachment { + return v.PrimaryNetworkAttachments + }).(GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) PrimaryNetworkInterfaces() GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerPrimaryNetworkInterface { + return v.PrimaryNetworkInterfaces + }).(GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) ReservationAffinities() GetIsBareMetalServerReservationAffinityArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerReservationAffinity { + return v.ReservationAffinities + }).(GetIsBareMetalServerReservationAffinityArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Reservations() GetIsBareMetalServerReservationArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerReservation { return v.Reservations }).(GetIsBareMetalServerReservationArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) StatusReasons() GetIsBareMetalServerStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerStatusReason { return v.StatusReasons }).(GetIsBareMetalServerStatusReasonArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) TrustedPlatformModules() GetIsBareMetalServerTrustedPlatformModuleArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) []GetIsBareMetalServerTrustedPlatformModule { + return v.TrustedPlatformModules + }).(GetIsBareMetalServerTrustedPlatformModuleArrayOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsBareMetalServerResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerDisk.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerDisk.go new file mode 100644 index 000000000..2454bb373 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerDisk.go @@ -0,0 +1,115 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsBareMetalServerDisk(ctx *pulumi.Context, args *LookupIsBareMetalServerDiskArgs, opts ...pulumi.InvokeOption) (*LookupIsBareMetalServerDiskResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsBareMetalServerDiskResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerDisk:getIsBareMetalServerDisk", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerDisk. +type LookupIsBareMetalServerDiskArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` + Disk string `pulumi:"disk"` +} + +// A collection of values returned by getIsBareMetalServerDisk. +type LookupIsBareMetalServerDiskResult struct { + AllowedUses []GetIsBareMetalServerDiskAllowedUse `pulumi:"allowedUses"` + BareMetalServer string `pulumi:"bareMetalServer"` + Disk string `pulumi:"disk"` + Href string `pulumi:"href"` + Id string `pulumi:"id"` + InterfaceType string `pulumi:"interfaceType"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + Size int `pulumi:"size"` +} + +func LookupIsBareMetalServerDiskOutput(ctx *pulumi.Context, args LookupIsBareMetalServerDiskOutputArgs, opts ...pulumi.InvokeOption) LookupIsBareMetalServerDiskResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsBareMetalServerDiskResultOutput, error) { + args := v.(LookupIsBareMetalServerDiskArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerDisk:getIsBareMetalServerDisk", args, LookupIsBareMetalServerDiskResultOutput{}, options).(LookupIsBareMetalServerDiskResultOutput), nil + }).(LookupIsBareMetalServerDiskResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerDisk. +type LookupIsBareMetalServerDiskOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + Disk pulumi.StringInput `pulumi:"disk"` +} + +func (LookupIsBareMetalServerDiskOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerDiskArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerDisk. +type LookupIsBareMetalServerDiskResultOutput struct{ *pulumi.OutputState } + +func (LookupIsBareMetalServerDiskResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerDiskResult)(nil)).Elem() +} + +func (o LookupIsBareMetalServerDiskResultOutput) ToLookupIsBareMetalServerDiskResultOutput() LookupIsBareMetalServerDiskResultOutput { + return o +} + +func (o LookupIsBareMetalServerDiskResultOutput) ToLookupIsBareMetalServerDiskResultOutputWithContext(ctx context.Context) LookupIsBareMetalServerDiskResultOutput { + return o +} + +func (o LookupIsBareMetalServerDiskResultOutput) AllowedUses() GetIsBareMetalServerDiskAllowedUseArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) []GetIsBareMetalServerDiskAllowedUse { return v.AllowedUses }).(GetIsBareMetalServerDiskAllowedUseArrayOutput) +} + +func (o LookupIsBareMetalServerDiskResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerDiskResultOutput) Disk() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) string { return v.Disk }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerDiskResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerDiskResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerDiskResultOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerDiskResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerDiskResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerDiskResultOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsBareMetalServerDiskResult) int { return v.Size }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsBareMetalServerDiskResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerDisks.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerDisks.go new file mode 100644 index 000000000..00372998a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerDisks.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServerDisks(ctx *pulumi.Context, args *GetIsBareMetalServerDisksArgs, opts ...pulumi.InvokeOption) (*GetIsBareMetalServerDisksResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServerDisksResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerDisks:getIsBareMetalServerDisks", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerDisks. +type GetIsBareMetalServerDisksArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` +} + +// A collection of values returned by getIsBareMetalServerDisks. +type GetIsBareMetalServerDisksResult struct { + BareMetalServer string `pulumi:"bareMetalServer"` + Disks []GetIsBareMetalServerDisksDisk `pulumi:"disks"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func GetIsBareMetalServerDisksOutput(ctx *pulumi.Context, args GetIsBareMetalServerDisksOutputArgs, opts ...pulumi.InvokeOption) GetIsBareMetalServerDisksResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBareMetalServerDisksResultOutput, error) { + args := v.(GetIsBareMetalServerDisksArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerDisks:getIsBareMetalServerDisks", args, GetIsBareMetalServerDisksResultOutput{}, options).(GetIsBareMetalServerDisksResultOutput), nil + }).(GetIsBareMetalServerDisksResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerDisks. +type GetIsBareMetalServerDisksOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` +} + +func (GetIsBareMetalServerDisksOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDisksArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerDisks. +type GetIsBareMetalServerDisksResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDisksResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDisksResult)(nil)).Elem() +} + +func (o GetIsBareMetalServerDisksResultOutput) ToGetIsBareMetalServerDisksResultOutput() GetIsBareMetalServerDisksResultOutput { + return o +} + +func (o GetIsBareMetalServerDisksResultOutput) ToGetIsBareMetalServerDisksResultOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksResultOutput { + return o +} + +func (o GetIsBareMetalServerDisksResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerDisksResultOutput) Disks() GetIsBareMetalServerDisksDiskArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksResult) []GetIsBareMetalServerDisksDisk { return v.Disks }).(GetIsBareMetalServerDisksDiskArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServerDisksResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServerDisksResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerInitialization.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerInitialization.go new file mode 100644 index 000000000..fa2cce4d1 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerInitialization.go @@ -0,0 +1,123 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsBareMetalServerInitialization(ctx *pulumi.Context, args *LookupIsBareMetalServerInitializationArgs, opts ...pulumi.InvokeOption) (*LookupIsBareMetalServerInitializationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsBareMetalServerInitializationResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerInitialization:getIsBareMetalServerInitialization", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerInitialization. +type LookupIsBareMetalServerInitializationArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` + Passphrase *string `pulumi:"passphrase"` + PrivateKey *string `pulumi:"privateKey"` +} + +// A collection of values returned by getIsBareMetalServerInitialization. +type LookupIsBareMetalServerInitializationResult struct { + BareMetalServer string `pulumi:"bareMetalServer"` + DefaultTrustedProfiles []GetIsBareMetalServerInitializationDefaultTrustedProfile `pulumi:"defaultTrustedProfiles"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Image string `pulumi:"image"` + ImageName string `pulumi:"imageName"` + Keys []string `pulumi:"keys"` + Passphrase *string `pulumi:"passphrase"` + PrivateKey *string `pulumi:"privateKey"` + UserAccounts []GetIsBareMetalServerInitializationUserAccount `pulumi:"userAccounts"` +} + +func LookupIsBareMetalServerInitializationOutput(ctx *pulumi.Context, args LookupIsBareMetalServerInitializationOutputArgs, opts ...pulumi.InvokeOption) LookupIsBareMetalServerInitializationResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsBareMetalServerInitializationResultOutput, error) { + args := v.(LookupIsBareMetalServerInitializationArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerInitialization:getIsBareMetalServerInitialization", args, LookupIsBareMetalServerInitializationResultOutput{}, options).(LookupIsBareMetalServerInitializationResultOutput), nil + }).(LookupIsBareMetalServerInitializationResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerInitialization. +type LookupIsBareMetalServerInitializationOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + Passphrase pulumi.StringPtrInput `pulumi:"passphrase"` + PrivateKey pulumi.StringPtrInput `pulumi:"privateKey"` +} + +func (LookupIsBareMetalServerInitializationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerInitializationArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerInitialization. +type LookupIsBareMetalServerInitializationResultOutput struct{ *pulumi.OutputState } + +func (LookupIsBareMetalServerInitializationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerInitializationResult)(nil)).Elem() +} + +func (o LookupIsBareMetalServerInitializationResultOutput) ToLookupIsBareMetalServerInitializationResultOutput() LookupIsBareMetalServerInitializationResultOutput { + return o +} + +func (o LookupIsBareMetalServerInitializationResultOutput) ToLookupIsBareMetalServerInitializationResultOutputWithContext(ctx context.Context) LookupIsBareMetalServerInitializationResultOutput { + return o +} + +func (o LookupIsBareMetalServerInitializationResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerInitializationResultOutput) DefaultTrustedProfiles() GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) []GetIsBareMetalServerInitializationDefaultTrustedProfile { + return v.DefaultTrustedProfiles + }).(GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsBareMetalServerInitializationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerInitializationResultOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) string { return v.Image }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerInitializationResultOutput) ImageName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) string { return v.ImageName }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerInitializationResultOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) []string { return v.Keys }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBareMetalServerInitializationResultOutput) Passphrase() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) *string { return v.Passphrase }).(pulumi.StringPtrOutput) +} + +func (o LookupIsBareMetalServerInitializationResultOutput) PrivateKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) *string { return v.PrivateKey }).(pulumi.StringPtrOutput) +} + +func (o LookupIsBareMetalServerInitializationResultOutput) UserAccounts() GetIsBareMetalServerInitializationUserAccountArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerInitializationResult) []GetIsBareMetalServerInitializationUserAccount { + return v.UserAccounts + }).(GetIsBareMetalServerInitializationUserAccountArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsBareMetalServerInitializationResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkAttachment.go new file mode 100644 index 000000000..7a572ebc0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkAttachment.go @@ -0,0 +1,170 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsBareMetalServerNetworkAttachment(ctx *pulumi.Context, args *LookupIsBareMetalServerNetworkAttachmentArgs, opts ...pulumi.InvokeOption) (*LookupIsBareMetalServerNetworkAttachmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsBareMetalServerNetworkAttachmentResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerNetworkAttachment:getIsBareMetalServerNetworkAttachment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkAttachment. +type LookupIsBareMetalServerNetworkAttachmentArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` + NetworkAttachment string `pulumi:"networkAttachment"` +} + +// A collection of values returned by getIsBareMetalServerNetworkAttachment. +type LookupIsBareMetalServerNetworkAttachmentResult struct { + AllowToFloat bool `pulumi:"allowToFloat"` + AllowedVlans []int `pulumi:"allowedVlans"` + BareMetalServer string `pulumi:"bareMetalServer"` + BareMetalServerNetworkAttachmentId string `pulumi:"bareMetalServerNetworkAttachmentId"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InterfaceType string `pulumi:"interfaceType"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + NetworkAttachment string `pulumi:"networkAttachment"` + PortSpeed int `pulumi:"portSpeed"` + PrimaryIps []GetIsBareMetalServerNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + ResourceType string `pulumi:"resourceType"` + Subnets []GetIsBareMetalServerNetworkAttachmentSubnet `pulumi:"subnets"` + Type string `pulumi:"type"` + VirtualNetworkInterfaces []GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` + Vlan int `pulumi:"vlan"` +} + +func LookupIsBareMetalServerNetworkAttachmentOutput(ctx *pulumi.Context, args LookupIsBareMetalServerNetworkAttachmentOutputArgs, opts ...pulumi.InvokeOption) LookupIsBareMetalServerNetworkAttachmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsBareMetalServerNetworkAttachmentResultOutput, error) { + args := v.(LookupIsBareMetalServerNetworkAttachmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerNetworkAttachment:getIsBareMetalServerNetworkAttachment", args, LookupIsBareMetalServerNetworkAttachmentResultOutput{}, options).(LookupIsBareMetalServerNetworkAttachmentResultOutput), nil + }).(LookupIsBareMetalServerNetworkAttachmentResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkAttachment. +type LookupIsBareMetalServerNetworkAttachmentOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + NetworkAttachment pulumi.StringInput `pulumi:"networkAttachment"` +} + +func (LookupIsBareMetalServerNetworkAttachmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerNetworkAttachmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerNetworkAttachment. +type LookupIsBareMetalServerNetworkAttachmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIsBareMetalServerNetworkAttachmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerNetworkAttachmentResult)(nil)).Elem() +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) ToLookupIsBareMetalServerNetworkAttachmentResultOutput() LookupIsBareMetalServerNetworkAttachmentResultOutput { + return o +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) ToLookupIsBareMetalServerNetworkAttachmentResultOutputWithContext(ctx context.Context) LookupIsBareMetalServerNetworkAttachmentResultOutput { + return o +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) AllowToFloat() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) bool { return v.AllowToFloat }).(pulumi.BoolOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) []int { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) BareMetalServerNetworkAttachmentId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { + return v.BareMetalServerNetworkAttachmentId + }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) NetworkAttachment() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.NetworkAttachment }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) PrimaryIps() GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) []GetIsBareMetalServerNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) Subnets() GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) []GetIsBareMetalServerNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) VirtualNetworkInterfaces() GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) []GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +func (o LookupIsBareMetalServerNetworkAttachmentResultOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkAttachmentResult) int { return v.Vlan }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsBareMetalServerNetworkAttachmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkAttachments.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkAttachments.go new file mode 100644 index 000000000..5ef8e1345 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkAttachments.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServerNetworkAttachments(ctx *pulumi.Context, args *GetIsBareMetalServerNetworkAttachmentsArgs, opts ...pulumi.InvokeOption) (*GetIsBareMetalServerNetworkAttachmentsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServerNetworkAttachmentsResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerNetworkAttachments:getIsBareMetalServerNetworkAttachments", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkAttachments. +type GetIsBareMetalServerNetworkAttachmentsArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` +} + +// A collection of values returned by getIsBareMetalServerNetworkAttachments. +type GetIsBareMetalServerNetworkAttachmentsResult struct { + BareMetalServer string `pulumi:"bareMetalServer"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkAttachments []GetIsBareMetalServerNetworkAttachmentsNetworkAttachment `pulumi:"networkAttachments"` +} + +func GetIsBareMetalServerNetworkAttachmentsOutput(ctx *pulumi.Context, args GetIsBareMetalServerNetworkAttachmentsOutputArgs, opts ...pulumi.InvokeOption) GetIsBareMetalServerNetworkAttachmentsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBareMetalServerNetworkAttachmentsResultOutput, error) { + args := v.(GetIsBareMetalServerNetworkAttachmentsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerNetworkAttachments:getIsBareMetalServerNetworkAttachments", args, GetIsBareMetalServerNetworkAttachmentsResultOutput{}, options).(GetIsBareMetalServerNetworkAttachmentsResultOutput), nil + }).(GetIsBareMetalServerNetworkAttachmentsResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkAttachments. +type GetIsBareMetalServerNetworkAttachmentsOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` +} + +func (GetIsBareMetalServerNetworkAttachmentsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerNetworkAttachments. +type GetIsBareMetalServerNetworkAttachmentsResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsResult)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsResultOutput) ToGetIsBareMetalServerNetworkAttachmentsResultOutput() GetIsBareMetalServerNetworkAttachmentsResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsResultOutput) ToGetIsBareMetalServerNetworkAttachmentsResultOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServerNetworkAttachmentsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkAttachmentsResultOutput) NetworkAttachments() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsResult) []GetIsBareMetalServerNetworkAttachmentsNetworkAttachment { + return v.NetworkAttachments + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterface.go new file mode 100644 index 000000000..ff76b6031 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterface.go @@ -0,0 +1,176 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsBareMetalServerNetworkInterface(ctx *pulumi.Context, args *LookupIsBareMetalServerNetworkInterfaceArgs, opts ...pulumi.InvokeOption) (*LookupIsBareMetalServerNetworkInterfaceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsBareMetalServerNetworkInterfaceResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerNetworkInterface:getIsBareMetalServerNetworkInterface", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterface. +type LookupIsBareMetalServerNetworkInterfaceArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` + NetworkInterface string `pulumi:"networkInterface"` +} + +// A collection of values returned by getIsBareMetalServerNetworkInterface. +type LookupIsBareMetalServerNetworkInterfaceResult struct { + AllowInterfaceToFloat bool `pulumi:"allowInterfaceToFloat"` + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + AllowedVlans []int `pulumi:"allowedVlans"` + BareMetalServer string `pulumi:"bareMetalServer"` + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + FloatingIps []GetIsBareMetalServerNetworkInterfaceFloatingIpType `pulumi:"floatingIps"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InterfaceType string `pulumi:"interfaceType"` + MacAddress string `pulumi:"macAddress"` + Name string `pulumi:"name"` + NetworkInterface string `pulumi:"networkInterface"` + PortSpeed int `pulumi:"portSpeed"` + PrimaryIps []GetIsBareMetalServerNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + ResourceType string `pulumi:"resourceType"` + SecurityGroups []string `pulumi:"securityGroups"` + Status string `pulumi:"status"` + Subnet string `pulumi:"subnet"` + Type string `pulumi:"type"` + Vlan int `pulumi:"vlan"` +} + +func LookupIsBareMetalServerNetworkInterfaceOutput(ctx *pulumi.Context, args LookupIsBareMetalServerNetworkInterfaceOutputArgs, opts ...pulumi.InvokeOption) LookupIsBareMetalServerNetworkInterfaceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsBareMetalServerNetworkInterfaceResultOutput, error) { + args := v.(LookupIsBareMetalServerNetworkInterfaceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerNetworkInterface:getIsBareMetalServerNetworkInterface", args, LookupIsBareMetalServerNetworkInterfaceResultOutput{}, options).(LookupIsBareMetalServerNetworkInterfaceResultOutput), nil + }).(LookupIsBareMetalServerNetworkInterfaceResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterface. +type LookupIsBareMetalServerNetworkInterfaceOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + NetworkInterface pulumi.StringInput `pulumi:"networkInterface"` +} + +func (LookupIsBareMetalServerNetworkInterfaceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerNetworkInterfaceArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerNetworkInterface. +type LookupIsBareMetalServerNetworkInterfaceResultOutput struct{ *pulumi.OutputState } + +func (LookupIsBareMetalServerNetworkInterfaceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerNetworkInterfaceResult)(nil)).Elem() +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) ToLookupIsBareMetalServerNetworkInterfaceResultOutput() LookupIsBareMetalServerNetworkInterfaceResultOutput { + return o +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) ToLookupIsBareMetalServerNetworkInterfaceResultOutputWithContext(ctx context.Context) LookupIsBareMetalServerNetworkInterfaceResultOutput { + return o +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) AllowInterfaceToFloat() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) bool { return v.AllowInterfaceToFloat }).(pulumi.BoolOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) []int { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) bool { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) FloatingIps() GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) []GetIsBareMetalServerNetworkInterfaceFloatingIpType { + return v.FloatingIps + }).(GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.MacAddress }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.NetworkInterface }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) PrimaryIps() GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) []GetIsBareMetalServerNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.Subnet }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceResultOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceResult) int { return v.Vlan }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsBareMetalServerNetworkInterfaceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceFloatingIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceFloatingIp.go new file mode 100644 index 000000000..d5b14ad4d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceFloatingIp.go @@ -0,0 +1,124 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsBareMetalServerNetworkInterfaceFloatingIp(ctx *pulumi.Context, args *LookupIsBareMetalServerNetworkInterfaceFloatingIpArgs, opts ...pulumi.InvokeOption) (*LookupIsBareMetalServerNetworkInterfaceFloatingIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsBareMetalServerNetworkInterfaceFloatingIpResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerNetworkInterfaceFloatingIp:getIsBareMetalServerNetworkInterfaceFloatingIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaceFloatingIp. +type LookupIsBareMetalServerNetworkInterfaceFloatingIpArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` + FloatingIp string `pulumi:"floatingIp"` + NetworkInterface string `pulumi:"networkInterface"` +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaceFloatingIp. +type LookupIsBareMetalServerNetworkInterfaceFloatingIpResult struct { + Address string `pulumi:"address"` + BareMetalServer string `pulumi:"bareMetalServer"` + Crn string `pulumi:"crn"` + FloatingIp string `pulumi:"floatingIp"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + NetworkInterface string `pulumi:"networkInterface"` + Status string `pulumi:"status"` + Target string `pulumi:"target"` + Zone string `pulumi:"zone"` +} + +func LookupIsBareMetalServerNetworkInterfaceFloatingIpOutput(ctx *pulumi.Context, args LookupIsBareMetalServerNetworkInterfaceFloatingIpOutputArgs, opts ...pulumi.InvokeOption) LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput, error) { + args := v.(LookupIsBareMetalServerNetworkInterfaceFloatingIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerNetworkInterfaceFloatingIp:getIsBareMetalServerNetworkInterfaceFloatingIp", args, LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput{}, options).(LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput), nil + }).(LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaceFloatingIp. +type LookupIsBareMetalServerNetworkInterfaceFloatingIpOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + FloatingIp pulumi.StringInput `pulumi:"floatingIp"` + NetworkInterface pulumi.StringInput `pulumi:"networkInterface"` +} + +func (LookupIsBareMetalServerNetworkInterfaceFloatingIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerNetworkInterfaceFloatingIpArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaceFloatingIp. +type LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput struct{ *pulumi.OutputState } + +func (LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsBareMetalServerNetworkInterfaceFloatingIpResult)(nil)).Elem() +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) ToLookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput() LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput { + return o +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) ToLookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutputWithContext(ctx context.Context) LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput { + return o +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.Address }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) FloatingIp() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.FloatingIp }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.NetworkInterface }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.Target }).(pulumi.StringOutput) +} + +func (o LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsBareMetalServerNetworkInterfaceFloatingIpResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsBareMetalServerNetworkInterfaceFloatingIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceFloatingIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceFloatingIps.go new file mode 100644 index 000000000..4e8fa83f5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceFloatingIps.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServerNetworkInterfaceFloatingIps(ctx *pulumi.Context, args *GetIsBareMetalServerNetworkInterfaceFloatingIpsArgs, opts ...pulumi.InvokeOption) (*GetIsBareMetalServerNetworkInterfaceFloatingIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServerNetworkInterfaceFloatingIpsResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerNetworkInterfaceFloatingIps:getIsBareMetalServerNetworkInterfaceFloatingIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaceFloatingIps. +type GetIsBareMetalServerNetworkInterfaceFloatingIpsArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` + NetworkInterface string `pulumi:"networkInterface"` +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaceFloatingIps. +type GetIsBareMetalServerNetworkInterfaceFloatingIpsResult struct { + BareMetalServer string `pulumi:"bareMetalServer"` + FloatingIps []GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp `pulumi:"floatingIps"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkInterface string `pulumi:"networkInterface"` +} + +func GetIsBareMetalServerNetworkInterfaceFloatingIpsOutput(ctx *pulumi.Context, args GetIsBareMetalServerNetworkInterfaceFloatingIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput, error) { + args := v.(GetIsBareMetalServerNetworkInterfaceFloatingIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerNetworkInterfaceFloatingIps:getIsBareMetalServerNetworkInterfaceFloatingIps", args, GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput{}, options).(GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput), nil + }).(GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaceFloatingIps. +type GetIsBareMetalServerNetworkInterfaceFloatingIpsOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + NetworkInterface pulumi.StringInput `pulumi:"networkInterface"` +} + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaceFloatingIps. +type GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpsResult)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput) FloatingIps() GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsResult) []GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp { + return v.FloatingIps + }).(GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsResult) string { return v.NetworkInterface }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceFloatingIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceReservedIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceReservedIp.go new file mode 100644 index 000000000..4d455c9fc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceReservedIp.go @@ -0,0 +1,134 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServerNetworkInterfaceReservedIp(ctx *pulumi.Context, args *GetIsBareMetalServerNetworkInterfaceReservedIpArgs, opts ...pulumi.InvokeOption) (*GetIsBareMetalServerNetworkInterfaceReservedIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServerNetworkInterfaceReservedIpResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerNetworkInterfaceReservedIp:getIsBareMetalServerNetworkInterfaceReservedIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaceReservedIp. +type GetIsBareMetalServerNetworkInterfaceReservedIpArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` + NetworkInterface string `pulumi:"networkInterface"` + ReservedIp string `pulumi:"reservedIp"` +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaceReservedIp. +type GetIsBareMetalServerNetworkInterfaceReservedIpResult struct { + Address string `pulumi:"address"` + AutoDelete bool `pulumi:"autoDelete"` + BareMetalServer string `pulumi:"bareMetalServer"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + NetworkInterface string `pulumi:"networkInterface"` + Owner string `pulumi:"owner"` + ReservedIp string `pulumi:"reservedIp"` + ResourceType string `pulumi:"resourceType"` + Target string `pulumi:"target"` +} + +func GetIsBareMetalServerNetworkInterfaceReservedIpOutput(ctx *pulumi.Context, args GetIsBareMetalServerNetworkInterfaceReservedIpOutputArgs, opts ...pulumi.InvokeOption) GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput, error) { + args := v.(GetIsBareMetalServerNetworkInterfaceReservedIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerNetworkInterfaceReservedIp:getIsBareMetalServerNetworkInterfaceReservedIp", args, GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput{}, options).(GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput), nil + }).(GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaceReservedIp. +type GetIsBareMetalServerNetworkInterfaceReservedIpOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + NetworkInterface pulumi.StringInput `pulumi:"networkInterface"` + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` +} + +func (GetIsBareMetalServerNetworkInterfaceReservedIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceReservedIpArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaceReservedIp. +type GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceReservedIpResult)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) ToGetIsBareMetalServerNetworkInterfaceReservedIpResultOutput() GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) ToGetIsBareMetalServerNetworkInterfaceReservedIpResultOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.Address }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.NetworkInterface }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.Owner }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpResult) string { return v.Target }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceReservedIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceReservedIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceReservedIps.go new file mode 100644 index 000000000..ac30092b4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaceReservedIps.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServerNetworkInterfaceReservedIps(ctx *pulumi.Context, args *GetIsBareMetalServerNetworkInterfaceReservedIpsArgs, opts ...pulumi.InvokeOption) (*GetIsBareMetalServerNetworkInterfaceReservedIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServerNetworkInterfaceReservedIpsResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerNetworkInterfaceReservedIps:getIsBareMetalServerNetworkInterfaceReservedIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaceReservedIps. +type GetIsBareMetalServerNetworkInterfaceReservedIpsArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` + NetworkInterface string `pulumi:"networkInterface"` +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaceReservedIps. +type GetIsBareMetalServerNetworkInterfaceReservedIpsResult struct { + BareMetalServer string `pulumi:"bareMetalServer"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkInterface string `pulumi:"networkInterface"` + ReservedIps []GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp `pulumi:"reservedIps"` + TotalCount int `pulumi:"totalCount"` +} + +func GetIsBareMetalServerNetworkInterfaceReservedIpsOutput(ctx *pulumi.Context, args GetIsBareMetalServerNetworkInterfaceReservedIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput, error) { + args := v.(GetIsBareMetalServerNetworkInterfaceReservedIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerNetworkInterfaceReservedIps:getIsBareMetalServerNetworkInterfaceReservedIps", args, GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput{}, options).(GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput), nil + }).(GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaceReservedIps. +type GetIsBareMetalServerNetworkInterfaceReservedIpsOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + NetworkInterface pulumi.StringInput `pulumi:"networkInterface"` +} + +func (GetIsBareMetalServerNetworkInterfaceReservedIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceReservedIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaceReservedIps. +type GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceReservedIpsResult)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) ToGetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput() GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) ToGetIsBareMetalServerNetworkInterfaceReservedIpsResultOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsResult) string { return v.NetworkInterface }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) ReservedIps() GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsResult) []GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp { + return v.ReservedIps + }).(GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceReservedIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaces.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaces.go new file mode 100644 index 000000000..47a0b3761 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerNetworkInterfaces.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServerNetworkInterfaces(ctx *pulumi.Context, args *GetIsBareMetalServerNetworkInterfacesArgs, opts ...pulumi.InvokeOption) (*GetIsBareMetalServerNetworkInterfacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServerNetworkInterfacesResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerNetworkInterfaces:getIsBareMetalServerNetworkInterfaces", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaces. +type GetIsBareMetalServerNetworkInterfacesArgs struct { + BareMetalServer string `pulumi:"bareMetalServer"` +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaces. +type GetIsBareMetalServerNetworkInterfacesResult struct { + BareMetalServer string `pulumi:"bareMetalServer"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkInterfaces []GetIsBareMetalServerNetworkInterfacesNetworkInterface `pulumi:"networkInterfaces"` +} + +func GetIsBareMetalServerNetworkInterfacesOutput(ctx *pulumi.Context, args GetIsBareMetalServerNetworkInterfacesOutputArgs, opts ...pulumi.InvokeOption) GetIsBareMetalServerNetworkInterfacesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBareMetalServerNetworkInterfacesResultOutput, error) { + args := v.(GetIsBareMetalServerNetworkInterfacesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerNetworkInterfaces:getIsBareMetalServerNetworkInterfaces", args, GetIsBareMetalServerNetworkInterfacesResultOutput{}, options).(GetIsBareMetalServerNetworkInterfacesResultOutput), nil + }).(GetIsBareMetalServerNetworkInterfacesResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerNetworkInterfaces. +type GetIsBareMetalServerNetworkInterfacesOutputArgs struct { + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` +} + +func (GetIsBareMetalServerNetworkInterfacesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerNetworkInterfaces. +type GetIsBareMetalServerNetworkInterfacesResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesResult)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacesResultOutput) ToGetIsBareMetalServerNetworkInterfacesResultOutput() GetIsBareMetalServerNetworkInterfacesResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesResultOutput) ToGetIsBareMetalServerNetworkInterfacesResultOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesResultOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesResultOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesResult) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServerNetworkInterfacesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfacesResultOutput) NetworkInterfaces() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesResult) []GetIsBareMetalServerNetworkInterfacesNetworkInterface { + return v.NetworkInterfaces + }).(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerProfile.go new file mode 100644 index 000000000..e887df87a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerProfile.go @@ -0,0 +1,180 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServerProfile(ctx *pulumi.Context, args *GetIsBareMetalServerProfileArgs, opts ...pulumi.InvokeOption) (*GetIsBareMetalServerProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServerProfileResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerProfile:getIsBareMetalServerProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServerProfile. +type GetIsBareMetalServerProfileArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsBareMetalServerProfile. +type GetIsBareMetalServerProfileResult struct { + Bandwidths []GetIsBareMetalServerProfileBandwidth `pulumi:"bandwidths"` + ConsoleTypes []GetIsBareMetalServerProfileConsoleType `pulumi:"consoleTypes"` + CpuArchitectures []GetIsBareMetalServerProfileCpuArchitecture `pulumi:"cpuArchitectures"` + CpuCoreCounts []GetIsBareMetalServerProfileCpuCoreCount `pulumi:"cpuCoreCounts"` + CpuSocketCounts []GetIsBareMetalServerProfileCpuSocketCount `pulumi:"cpuSocketCounts"` + Disks []GetIsBareMetalServerProfileDisk `pulumi:"disks"` + Family string `pulumi:"family"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Memories []GetIsBareMetalServerProfileMemory `pulumi:"memories"` + Name string `pulumi:"name"` + NetworkAttachmentCounts []GetIsBareMetalServerProfileNetworkAttachmentCount `pulumi:"networkAttachmentCounts"` + NetworkInterfaceCounts []GetIsBareMetalServerProfileNetworkInterfaceCount `pulumi:"networkInterfaceCounts"` + OsArchitectures []GetIsBareMetalServerProfileOsArchitecture `pulumi:"osArchitectures"` + ReservationTerms []GetIsBareMetalServerProfileReservationTerm `pulumi:"reservationTerms"` + ResourceType string `pulumi:"resourceType"` + SupportedTrustedPlatformModuleModes []GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode `pulumi:"supportedTrustedPlatformModuleModes"` + VirtualNetworkInterfacesSupporteds []GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported `pulumi:"virtualNetworkInterfacesSupporteds"` +} + +func GetIsBareMetalServerProfileOutput(ctx *pulumi.Context, args GetIsBareMetalServerProfileOutputArgs, opts ...pulumi.InvokeOption) GetIsBareMetalServerProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBareMetalServerProfileResultOutput, error) { + args := v.(GetIsBareMetalServerProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerProfile:getIsBareMetalServerProfile", args, GetIsBareMetalServerProfileResultOutput{}, options).(GetIsBareMetalServerProfileResultOutput), nil + }).(GetIsBareMetalServerProfileResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServerProfile. +type GetIsBareMetalServerProfileOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBareMetalServerProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServerProfile. +type GetIsBareMetalServerProfileResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileResult)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileResultOutput) ToGetIsBareMetalServerProfileResultOutput() GetIsBareMetalServerProfileResultOutput { + return o +} + +func (o GetIsBareMetalServerProfileResultOutput) ToGetIsBareMetalServerProfileResultOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileResultOutput { + return o +} + +func (o GetIsBareMetalServerProfileResultOutput) Bandwidths() GetIsBareMetalServerProfileBandwidthArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileBandwidth { return v.Bandwidths }).(GetIsBareMetalServerProfileBandwidthArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) ConsoleTypes() GetIsBareMetalServerProfileConsoleTypeArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileConsoleType { + return v.ConsoleTypes + }).(GetIsBareMetalServerProfileConsoleTypeArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) CpuArchitectures() GetIsBareMetalServerProfileCpuArchitectureArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileCpuArchitecture { + return v.CpuArchitectures + }).(GetIsBareMetalServerProfileCpuArchitectureArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) CpuCoreCounts() GetIsBareMetalServerProfileCpuCoreCountArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileCpuCoreCount { + return v.CpuCoreCounts + }).(GetIsBareMetalServerProfileCpuCoreCountArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) CpuSocketCounts() GetIsBareMetalServerProfileCpuSocketCountArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileCpuSocketCount { + return v.CpuSocketCounts + }).(GetIsBareMetalServerProfileCpuSocketCountArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) Disks() GetIsBareMetalServerProfileDiskArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileDisk { return v.Disks }).(GetIsBareMetalServerProfileDiskArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServerProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) Memories() GetIsBareMetalServerProfileMemoryArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileMemory { return v.Memories }).(GetIsBareMetalServerProfileMemoryArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) NetworkAttachmentCounts() GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileNetworkAttachmentCount { + return v.NetworkAttachmentCounts + }).(GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) NetworkInterfaceCounts() GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileNetworkInterfaceCount { + return v.NetworkInterfaceCounts + }).(GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) OsArchitectures() GetIsBareMetalServerProfileOsArchitectureArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileOsArchitecture { + return v.OsArchitectures + }).(GetIsBareMetalServerProfileOsArchitectureArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) ReservationTerms() GetIsBareMetalServerProfileReservationTermArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileReservationTerm { + return v.ReservationTerms + }).(GetIsBareMetalServerProfileReservationTermArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) SupportedTrustedPlatformModuleModes() GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode { + return v.SupportedTrustedPlatformModuleModes + }).(GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput) +} + +func (o GetIsBareMetalServerProfileResultOutput) VirtualNetworkInterfacesSupporteds() GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileResult) []GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported { + return v.VirtualNetworkInterfacesSupporteds + }).(GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServerProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerProfiles.go new file mode 100644 index 000000000..729ddcd69 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServerProfiles.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServerProfiles(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsBareMetalServerProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServerProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServerProfiles:getIsBareMetalServerProfiles", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsBareMetalServerProfiles. +type GetIsBareMetalServerProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Profiles []GetIsBareMetalServerProfilesProfile `pulumi:"profiles"` +} + +func GetIsBareMetalServerProfilesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsBareMetalServerProfilesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsBareMetalServerProfilesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServerProfiles:getIsBareMetalServerProfiles", nil, GetIsBareMetalServerProfilesResultOutput{}, options).(GetIsBareMetalServerProfilesResultOutput), nil + }).(GetIsBareMetalServerProfilesResultOutput) +} + +// A collection of values returned by getIsBareMetalServerProfiles. +type GetIsBareMetalServerProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesResult)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesResultOutput) ToGetIsBareMetalServerProfilesResultOutput() GetIsBareMetalServerProfilesResultOutput { + return o +} + +func (o GetIsBareMetalServerProfilesResultOutput) ToGetIsBareMetalServerProfilesResultOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServerProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerProfilesResultOutput) Profiles() GetIsBareMetalServerProfilesProfileArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesResult) []GetIsBareMetalServerProfilesProfile { return v.Profiles }).(GetIsBareMetalServerProfilesProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServers.go new file mode 100644 index 000000000..94694b2e8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsBareMetalServers.go @@ -0,0 +1,134 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsBareMetalServers(ctx *pulumi.Context, args *GetIsBareMetalServersArgs, opts ...pulumi.InvokeOption) (*GetIsBareMetalServersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsBareMetalServersResult + err := ctx.Invoke("ibmcloud:index/getIsBareMetalServers:getIsBareMetalServers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsBareMetalServers. +type GetIsBareMetalServersArgs struct { + Name *string `pulumi:"name"` + NetworkInterfacesSubnet *string `pulumi:"networkInterfacesSubnet"` + NetworkInterfacesSubnetCrn *string `pulumi:"networkInterfacesSubnetCrn"` + NetworkInterfacesSubnetName *string `pulumi:"networkInterfacesSubnetName"` + ResourceGroup *string `pulumi:"resourceGroup"` + Vpc *string `pulumi:"vpc"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcName *string `pulumi:"vpcName"` +} + +// A collection of values returned by getIsBareMetalServers. +type GetIsBareMetalServersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + NetworkInterfacesSubnet *string `pulumi:"networkInterfacesSubnet"` + NetworkInterfacesSubnetCrn *string `pulumi:"networkInterfacesSubnetCrn"` + NetworkInterfacesSubnetName *string `pulumi:"networkInterfacesSubnetName"` + ResourceGroup *string `pulumi:"resourceGroup"` + Servers []GetIsBareMetalServersServer `pulumi:"servers"` + Vpc *string `pulumi:"vpc"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcName *string `pulumi:"vpcName"` +} + +func GetIsBareMetalServersOutput(ctx *pulumi.Context, args GetIsBareMetalServersOutputArgs, opts ...pulumi.InvokeOption) GetIsBareMetalServersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsBareMetalServersResultOutput, error) { + args := v.(GetIsBareMetalServersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsBareMetalServers:getIsBareMetalServers", args, GetIsBareMetalServersResultOutput{}, options).(GetIsBareMetalServersResultOutput), nil + }).(GetIsBareMetalServersResultOutput) +} + +// A collection of arguments for invoking getIsBareMetalServers. +type GetIsBareMetalServersOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + NetworkInterfacesSubnet pulumi.StringPtrInput `pulumi:"networkInterfacesSubnet"` + NetworkInterfacesSubnetCrn pulumi.StringPtrInput `pulumi:"networkInterfacesSubnetCrn"` + NetworkInterfacesSubnetName pulumi.StringPtrInput `pulumi:"networkInterfacesSubnetName"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + Vpc pulumi.StringPtrInput `pulumi:"vpc"` + VpcCrn pulumi.StringPtrInput `pulumi:"vpcCrn"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` +} + +func (GetIsBareMetalServersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersArgs)(nil)).Elem() +} + +// A collection of values returned by getIsBareMetalServers. +type GetIsBareMetalServersResultOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersResult)(nil)).Elem() +} + +func (o GetIsBareMetalServersResultOutput) ToGetIsBareMetalServersResultOutput() GetIsBareMetalServersResultOutput { + return o +} + +func (o GetIsBareMetalServersResultOutput) ToGetIsBareMetalServersResultOutputWithContext(ctx context.Context) GetIsBareMetalServersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsBareMetalServersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsBareMetalServersResultOutput) NetworkInterfacesSubnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) *string { return v.NetworkInterfacesSubnet }).(pulumi.StringPtrOutput) +} + +func (o GetIsBareMetalServersResultOutput) NetworkInterfacesSubnetCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) *string { return v.NetworkInterfacesSubnetCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsBareMetalServersResultOutput) NetworkInterfacesSubnetName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) *string { return v.NetworkInterfacesSubnetName }).(pulumi.StringPtrOutput) +} + +func (o GetIsBareMetalServersResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsBareMetalServersResultOutput) Servers() GetIsBareMetalServersServerArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) []GetIsBareMetalServersServer { return v.Servers }).(GetIsBareMetalServersServerArrayOutput) +} + +func (o GetIsBareMetalServersResultOutput) Vpc() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) *string { return v.Vpc }).(pulumi.StringPtrOutput) +} + +func (o GetIsBareMetalServersResultOutput) VpcCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) *string { return v.VpcCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsBareMetalServersResultOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsBareMetalServersResult) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsBareMetalServersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetwork.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetwork.go new file mode 100644 index 000000000..3f3ccecba --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetwork.go @@ -0,0 +1,140 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsClusterNetwork(ctx *pulumi.Context, args *LookupIsClusterNetworkArgs, opts ...pulumi.InvokeOption) (*LookupIsClusterNetworkResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsClusterNetworkResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetwork:getIsClusterNetwork", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetwork. +type LookupIsClusterNetworkArgs struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` +} + +// A collection of values returned by getIsClusterNetwork. +type LookupIsClusterNetworkResult struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleReasons []GetIsClusterNetworkLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + Profiles []GetIsClusterNetworkProfile `pulumi:"profiles"` + ResourceGroups []GetIsClusterNetworkResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + SubnetPrefixes []GetIsClusterNetworkSubnetPrefix `pulumi:"subnetPrefixes"` + Vpcs []GetIsClusterNetworkVpc `pulumi:"vpcs"` + Zones []GetIsClusterNetworkZone `pulumi:"zones"` +} + +func LookupIsClusterNetworkOutput(ctx *pulumi.Context, args LookupIsClusterNetworkOutputArgs, opts ...pulumi.InvokeOption) LookupIsClusterNetworkResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsClusterNetworkResultOutput, error) { + args := v.(LookupIsClusterNetworkArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetwork:getIsClusterNetwork", args, LookupIsClusterNetworkResultOutput{}, options).(LookupIsClusterNetworkResultOutput), nil + }).(LookupIsClusterNetworkResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetwork. +type LookupIsClusterNetworkOutputArgs struct { + ClusterNetworkId pulumi.StringInput `pulumi:"clusterNetworkId"` +} + +func (LookupIsClusterNetworkOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetwork. +type LookupIsClusterNetworkResultOutput struct{ *pulumi.OutputState } + +func (LookupIsClusterNetworkResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkResult)(nil)).Elem() +} + +func (o LookupIsClusterNetworkResultOutput) ToLookupIsClusterNetworkResultOutput() LookupIsClusterNetworkResultOutput { + return o +} + +func (o LookupIsClusterNetworkResultOutput) ToLookupIsClusterNetworkResultOutputWithContext(ctx context.Context) LookupIsClusterNetworkResultOutput { + return o +} + +func (o LookupIsClusterNetworkResultOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) string { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsClusterNetworkResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkResultOutput) LifecycleReasons() GetIsClusterNetworkLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) []GetIsClusterNetworkLifecycleReason { return v.LifecycleReasons }).(GetIsClusterNetworkLifecycleReasonArrayOutput) +} + +func (o LookupIsClusterNetworkResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkResultOutput) Profiles() GetIsClusterNetworkProfileArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) []GetIsClusterNetworkProfile { return v.Profiles }).(GetIsClusterNetworkProfileArrayOutput) +} + +func (o LookupIsClusterNetworkResultOutput) ResourceGroups() GetIsClusterNetworkResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) []GetIsClusterNetworkResourceGroup { return v.ResourceGroups }).(GetIsClusterNetworkResourceGroupArrayOutput) +} + +func (o LookupIsClusterNetworkResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkResultOutput) SubnetPrefixes() GetIsClusterNetworkSubnetPrefixArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) []GetIsClusterNetworkSubnetPrefix { return v.SubnetPrefixes }).(GetIsClusterNetworkSubnetPrefixArrayOutput) +} + +func (o LookupIsClusterNetworkResultOutput) Vpcs() GetIsClusterNetworkVpcArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) []GetIsClusterNetworkVpc { return v.Vpcs }).(GetIsClusterNetworkVpcArrayOutput) +} + +func (o LookupIsClusterNetworkResultOutput) Zones() GetIsClusterNetworkZoneArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkResult) []GetIsClusterNetworkZone { return v.Zones }).(GetIsClusterNetworkZoneArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsClusterNetworkResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkInterface.go new file mode 100644 index 000000000..340ad8210 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkInterface.go @@ -0,0 +1,166 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsClusterNetworkInterface(ctx *pulumi.Context, args *LookupIsClusterNetworkInterfaceArgs, opts ...pulumi.InvokeOption) (*LookupIsClusterNetworkInterfaceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsClusterNetworkInterfaceResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworkInterface:getIsClusterNetworkInterface", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetworkInterface. +type LookupIsClusterNetworkInterfaceArgs struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + ClusterNetworkInterfaceId string `pulumi:"clusterNetworkInterfaceId"` +} + +// A collection of values returned by getIsClusterNetworkInterface. +type LookupIsClusterNetworkInterfaceResult struct { + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + AutoDelete bool `pulumi:"autoDelete"` + ClusterNetworkId string `pulumi:"clusterNetworkId"` + ClusterNetworkInterfaceId string `pulumi:"clusterNetworkInterfaceId"` + CreatedAt string `pulumi:"createdAt"` + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleReasons []GetIsClusterNetworkInterfaceLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + MacAddress string `pulumi:"macAddress"` + Name string `pulumi:"name"` + PrimaryIps []GetIsClusterNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + ResourceType string `pulumi:"resourceType"` + Subnets []GetIsClusterNetworkInterfaceSubnet `pulumi:"subnets"` + Targets []GetIsClusterNetworkInterfaceTarget `pulumi:"targets"` + Vpcs []GetIsClusterNetworkInterfaceVpc `pulumi:"vpcs"` + Zones []GetIsClusterNetworkInterfaceZone `pulumi:"zones"` +} + +func LookupIsClusterNetworkInterfaceOutput(ctx *pulumi.Context, args LookupIsClusterNetworkInterfaceOutputArgs, opts ...pulumi.InvokeOption) LookupIsClusterNetworkInterfaceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsClusterNetworkInterfaceResultOutput, error) { + args := v.(LookupIsClusterNetworkInterfaceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworkInterface:getIsClusterNetworkInterface", args, LookupIsClusterNetworkInterfaceResultOutput{}, options).(LookupIsClusterNetworkInterfaceResultOutput), nil + }).(LookupIsClusterNetworkInterfaceResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetworkInterface. +type LookupIsClusterNetworkInterfaceOutputArgs struct { + ClusterNetworkId pulumi.StringInput `pulumi:"clusterNetworkId"` + ClusterNetworkInterfaceId pulumi.StringInput `pulumi:"clusterNetworkInterfaceId"` +} + +func (LookupIsClusterNetworkInterfaceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkInterfaceArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetworkInterface. +type LookupIsClusterNetworkInterfaceResultOutput struct{ *pulumi.OutputState } + +func (LookupIsClusterNetworkInterfaceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkInterfaceResult)(nil)).Elem() +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) ToLookupIsClusterNetworkInterfaceResultOutput() LookupIsClusterNetworkInterfaceResultOutput { + return o +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) ToLookupIsClusterNetworkInterfaceResultOutputWithContext(ctx context.Context) LookupIsClusterNetworkInterfaceResultOutput { + return o +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) ClusterNetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.ClusterNetworkInterfaceId }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) bool { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsClusterNetworkInterfaceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) LifecycleReasons() GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) []GetIsClusterNetworkInterfaceLifecycleReason { + return v.LifecycleReasons + }).(GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.MacAddress }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) PrimaryIps() GetIsClusterNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) []GetIsClusterNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsClusterNetworkInterfacePrimaryIpArrayOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) Subnets() GetIsClusterNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) []GetIsClusterNetworkInterfaceSubnet { return v.Subnets }).(GetIsClusterNetworkInterfaceSubnetArrayOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) Targets() GetIsClusterNetworkInterfaceTargetArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) []GetIsClusterNetworkInterfaceTarget { return v.Targets }).(GetIsClusterNetworkInterfaceTargetArrayOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) Vpcs() GetIsClusterNetworkInterfaceVpcArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) []GetIsClusterNetworkInterfaceVpc { return v.Vpcs }).(GetIsClusterNetworkInterfaceVpcArrayOutput) +} + +func (o LookupIsClusterNetworkInterfaceResultOutput) Zones() GetIsClusterNetworkInterfaceZoneArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkInterfaceResult) []GetIsClusterNetworkInterfaceZone { return v.Zones }).(GetIsClusterNetworkInterfaceZoneArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsClusterNetworkInterfaceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkInterfaces.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkInterfaces.go new file mode 100644 index 000000000..80b9e2699 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkInterfaces.go @@ -0,0 +1,101 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsClusterNetworkInterfaces(ctx *pulumi.Context, args *GetIsClusterNetworkInterfacesArgs, opts ...pulumi.InvokeOption) (*GetIsClusterNetworkInterfacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsClusterNetworkInterfacesResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworkInterfaces:getIsClusterNetworkInterfaces", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetworkInterfaces. +type GetIsClusterNetworkInterfacesArgs struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + Name *string `pulumi:"name"` + Sort *string `pulumi:"sort"` +} + +// A collection of values returned by getIsClusterNetworkInterfaces. +type GetIsClusterNetworkInterfacesResult struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Interfaces []GetIsClusterNetworkInterfacesInterface `pulumi:"interfaces"` + Name *string `pulumi:"name"` + Sort *string `pulumi:"sort"` +} + +func GetIsClusterNetworkInterfacesOutput(ctx *pulumi.Context, args GetIsClusterNetworkInterfacesOutputArgs, opts ...pulumi.InvokeOption) GetIsClusterNetworkInterfacesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsClusterNetworkInterfacesResultOutput, error) { + args := v.(GetIsClusterNetworkInterfacesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworkInterfaces:getIsClusterNetworkInterfaces", args, GetIsClusterNetworkInterfacesResultOutput{}, options).(GetIsClusterNetworkInterfacesResultOutput), nil + }).(GetIsClusterNetworkInterfacesResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetworkInterfaces. +type GetIsClusterNetworkInterfacesOutputArgs struct { + ClusterNetworkId pulumi.StringInput `pulumi:"clusterNetworkId"` + Name pulumi.StringPtrInput `pulumi:"name"` + Sort pulumi.StringPtrInput `pulumi:"sort"` +} + +func (GetIsClusterNetworkInterfacesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetworkInterfaces. +type GetIsClusterNetworkInterfacesResultOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesResult)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesResultOutput) ToGetIsClusterNetworkInterfacesResultOutput() GetIsClusterNetworkInterfacesResultOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesResultOutput) ToGetIsClusterNetworkInterfacesResultOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesResultOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesResultOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesResult) string { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsClusterNetworkInterfacesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsClusterNetworkInterfacesResultOutput) Interfaces() GetIsClusterNetworkInterfacesInterfaceArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesResult) []GetIsClusterNetworkInterfacesInterface { + return v.Interfaces + }).(GetIsClusterNetworkInterfacesInterfaceArrayOutput) +} + +func (o GetIsClusterNetworkInterfacesResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworkInterfacesResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkProfile.go new file mode 100644 index 000000000..fa2be9665 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkProfile.go @@ -0,0 +1,107 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsClusterNetworkProfile(ctx *pulumi.Context, args *LookupIsClusterNetworkProfileArgs, opts ...pulumi.InvokeOption) (*LookupIsClusterNetworkProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsClusterNetworkProfileResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworkProfile:getIsClusterNetworkProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetworkProfile. +type LookupIsClusterNetworkProfileArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsClusterNetworkProfile. +type LookupIsClusterNetworkProfileResult struct { + Family string `pulumi:"family"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + SupportedInstanceProfiles []GetIsClusterNetworkProfileSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + Zones []GetIsClusterNetworkProfileZone `pulumi:"zones"` +} + +func LookupIsClusterNetworkProfileOutput(ctx *pulumi.Context, args LookupIsClusterNetworkProfileOutputArgs, opts ...pulumi.InvokeOption) LookupIsClusterNetworkProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsClusterNetworkProfileResultOutput, error) { + args := v.(LookupIsClusterNetworkProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworkProfile:getIsClusterNetworkProfile", args, LookupIsClusterNetworkProfileResultOutput{}, options).(LookupIsClusterNetworkProfileResultOutput), nil + }).(LookupIsClusterNetworkProfileResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetworkProfile. +type LookupIsClusterNetworkProfileOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsClusterNetworkProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetworkProfile. +type LookupIsClusterNetworkProfileResultOutput struct{ *pulumi.OutputState } + +func (LookupIsClusterNetworkProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkProfileResult)(nil)).Elem() +} + +func (o LookupIsClusterNetworkProfileResultOutput) ToLookupIsClusterNetworkProfileResultOutput() LookupIsClusterNetworkProfileResultOutput { + return o +} + +func (o LookupIsClusterNetworkProfileResultOutput) ToLookupIsClusterNetworkProfileResultOutputWithContext(ctx context.Context) LookupIsClusterNetworkProfileResultOutput { + return o +} + +func (o LookupIsClusterNetworkProfileResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkProfileResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkProfileResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkProfileResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsClusterNetworkProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkProfileResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkProfileResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkProfileResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkProfileResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkProfileResultOutput) SupportedInstanceProfiles() GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkProfileResult) []GetIsClusterNetworkProfileSupportedInstanceProfile { + return v.SupportedInstanceProfiles + }).(GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput) +} + +func (o LookupIsClusterNetworkProfileResultOutput) Zones() GetIsClusterNetworkProfileZoneArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkProfileResult) []GetIsClusterNetworkProfileZone { return v.Zones }).(GetIsClusterNetworkProfileZoneArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsClusterNetworkProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkProfiles.go new file mode 100644 index 000000000..91420bc2a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkProfiles.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsClusterNetworkProfiles(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsClusterNetworkProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsClusterNetworkProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworkProfiles:getIsClusterNetworkProfiles", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsClusterNetworkProfiles. +type GetIsClusterNetworkProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Profiles []GetIsClusterNetworkProfilesProfile `pulumi:"profiles"` +} + +func GetIsClusterNetworkProfilesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsClusterNetworkProfilesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsClusterNetworkProfilesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworkProfiles:getIsClusterNetworkProfiles", nil, GetIsClusterNetworkProfilesResultOutput{}, options).(GetIsClusterNetworkProfilesResultOutput), nil + }).(GetIsClusterNetworkProfilesResultOutput) +} + +// A collection of values returned by getIsClusterNetworkProfiles. +type GetIsClusterNetworkProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfilesResult)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfilesResultOutput) ToGetIsClusterNetworkProfilesResultOutput() GetIsClusterNetworkProfilesResultOutput { + return o +} + +func (o GetIsClusterNetworkProfilesResultOutput) ToGetIsClusterNetworkProfilesResultOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsClusterNetworkProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsClusterNetworkProfilesResultOutput) Profiles() GetIsClusterNetworkProfilesProfileArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesResult) []GetIsClusterNetworkProfilesProfile { return v.Profiles }).(GetIsClusterNetworkProfilesProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsClusterNetworkProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnet.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnet.go new file mode 100644 index 000000000..756941038 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnet.go @@ -0,0 +1,139 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsClusterNetworkSubnet(ctx *pulumi.Context, args *LookupIsClusterNetworkSubnetArgs, opts ...pulumi.InvokeOption) (*LookupIsClusterNetworkSubnetResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsClusterNetworkSubnetResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworkSubnet:getIsClusterNetworkSubnet", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetworkSubnet. +type LookupIsClusterNetworkSubnetArgs struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId string `pulumi:"clusterNetworkSubnetId"` +} + +// A collection of values returned by getIsClusterNetworkSubnet. +type LookupIsClusterNetworkSubnetResult struct { + AvailableIpv4AddressCount int `pulumi:"availableIpv4AddressCount"` + ClusterNetworkId string `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId string `pulumi:"clusterNetworkSubnetId"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IpVersion string `pulumi:"ipVersion"` + Ipv4CidrBlock string `pulumi:"ipv4CidrBlock"` + LifecycleReasons []GetIsClusterNetworkSubnetLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + TotalIpv4AddressCount int `pulumi:"totalIpv4AddressCount"` +} + +func LookupIsClusterNetworkSubnetOutput(ctx *pulumi.Context, args LookupIsClusterNetworkSubnetOutputArgs, opts ...pulumi.InvokeOption) LookupIsClusterNetworkSubnetResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsClusterNetworkSubnetResultOutput, error) { + args := v.(LookupIsClusterNetworkSubnetArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworkSubnet:getIsClusterNetworkSubnet", args, LookupIsClusterNetworkSubnetResultOutput{}, options).(LookupIsClusterNetworkSubnetResultOutput), nil + }).(LookupIsClusterNetworkSubnetResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetworkSubnet. +type LookupIsClusterNetworkSubnetOutputArgs struct { + ClusterNetworkId pulumi.StringInput `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId pulumi.StringInput `pulumi:"clusterNetworkSubnetId"` +} + +func (LookupIsClusterNetworkSubnetOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkSubnetArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetworkSubnet. +type LookupIsClusterNetworkSubnetResultOutput struct{ *pulumi.OutputState } + +func (LookupIsClusterNetworkSubnetResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkSubnetResult)(nil)).Elem() +} + +func (o LookupIsClusterNetworkSubnetResultOutput) ToLookupIsClusterNetworkSubnetResultOutput() LookupIsClusterNetworkSubnetResultOutput { + return o +} + +func (o LookupIsClusterNetworkSubnetResultOutput) ToLookupIsClusterNetworkSubnetResultOutputWithContext(ctx context.Context) LookupIsClusterNetworkSubnetResultOutput { + return o +} + +func (o LookupIsClusterNetworkSubnetResultOutput) AvailableIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) int { return v.AvailableIpv4AddressCount }).(pulumi.IntOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) ClusterNetworkSubnetId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.ClusterNetworkSubnetId }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsClusterNetworkSubnetResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.IpVersion }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) Ipv4CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.Ipv4CidrBlock }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) LifecycleReasons() GetIsClusterNetworkSubnetLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) []GetIsClusterNetworkSubnetLifecycleReason { + return v.LifecycleReasons + }).(GetIsClusterNetworkSubnetLifecycleReasonArrayOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetResultOutput) TotalIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetResult) int { return v.TotalIpv4AddressCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsClusterNetworkSubnetResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnetReservedIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnetReservedIp.go new file mode 100644 index 000000000..ab163b1ba --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnetReservedIp.go @@ -0,0 +1,148 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsClusterNetworkSubnetReservedIp(ctx *pulumi.Context, args *LookupIsClusterNetworkSubnetReservedIpArgs, opts ...pulumi.InvokeOption) (*LookupIsClusterNetworkSubnetReservedIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsClusterNetworkSubnetReservedIpResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworkSubnetReservedIp:getIsClusterNetworkSubnetReservedIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetworkSubnetReservedIp. +type LookupIsClusterNetworkSubnetReservedIpArgs struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId string `pulumi:"clusterNetworkSubnetId"` + ClusterNetworkSubnetReservedIpId string `pulumi:"clusterNetworkSubnetReservedIpId"` +} + +// A collection of values returned by getIsClusterNetworkSubnetReservedIp. +type LookupIsClusterNetworkSubnetReservedIpResult struct { + Address string `pulumi:"address"` + AutoDelete bool `pulumi:"autoDelete"` + ClusterNetworkId string `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId string `pulumi:"clusterNetworkSubnetId"` + ClusterNetworkSubnetReservedIpId string `pulumi:"clusterNetworkSubnetReservedIpId"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleReasons []GetIsClusterNetworkSubnetReservedIpLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + Owner string `pulumi:"owner"` + ResourceType string `pulumi:"resourceType"` + Targets []GetIsClusterNetworkSubnetReservedIpTarget `pulumi:"targets"` +} + +func LookupIsClusterNetworkSubnetReservedIpOutput(ctx *pulumi.Context, args LookupIsClusterNetworkSubnetReservedIpOutputArgs, opts ...pulumi.InvokeOption) LookupIsClusterNetworkSubnetReservedIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsClusterNetworkSubnetReservedIpResultOutput, error) { + args := v.(LookupIsClusterNetworkSubnetReservedIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworkSubnetReservedIp:getIsClusterNetworkSubnetReservedIp", args, LookupIsClusterNetworkSubnetReservedIpResultOutput{}, options).(LookupIsClusterNetworkSubnetReservedIpResultOutput), nil + }).(LookupIsClusterNetworkSubnetReservedIpResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetworkSubnetReservedIp. +type LookupIsClusterNetworkSubnetReservedIpOutputArgs struct { + ClusterNetworkId pulumi.StringInput `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId pulumi.StringInput `pulumi:"clusterNetworkSubnetId"` + ClusterNetworkSubnetReservedIpId pulumi.StringInput `pulumi:"clusterNetworkSubnetReservedIpId"` +} + +func (LookupIsClusterNetworkSubnetReservedIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkSubnetReservedIpArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetworkSubnetReservedIp. +type LookupIsClusterNetworkSubnetReservedIpResultOutput struct{ *pulumi.OutputState } + +func (LookupIsClusterNetworkSubnetReservedIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsClusterNetworkSubnetReservedIpResult)(nil)).Elem() +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) ToLookupIsClusterNetworkSubnetReservedIpResultOutput() LookupIsClusterNetworkSubnetReservedIpResultOutput { + return o +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) ToLookupIsClusterNetworkSubnetReservedIpResultOutputWithContext(ctx context.Context) LookupIsClusterNetworkSubnetReservedIpResultOutput { + return o +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.Address }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) ClusterNetworkSubnetId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.ClusterNetworkSubnetId }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) ClusterNetworkSubnetReservedIpId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.ClusterNetworkSubnetReservedIpId }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) LifecycleReasons() GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) []GetIsClusterNetworkSubnetReservedIpLifecycleReason { + return v.LifecycleReasons + }).(GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.Owner }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsClusterNetworkSubnetReservedIpResultOutput) Targets() GetIsClusterNetworkSubnetReservedIpTargetArrayOutput { + return o.ApplyT(func(v LookupIsClusterNetworkSubnetReservedIpResult) []GetIsClusterNetworkSubnetReservedIpTarget { + return v.Targets + }).(GetIsClusterNetworkSubnetReservedIpTargetArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsClusterNetworkSubnetReservedIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnetReservedIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnetReservedIps.go new file mode 100644 index 000000000..c1fb88702 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnetReservedIps.go @@ -0,0 +1,108 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsClusterNetworkSubnetReservedIps(ctx *pulumi.Context, args *GetIsClusterNetworkSubnetReservedIpsArgs, opts ...pulumi.InvokeOption) (*GetIsClusterNetworkSubnetReservedIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsClusterNetworkSubnetReservedIpsResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworkSubnetReservedIps:getIsClusterNetworkSubnetReservedIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetworkSubnetReservedIps. +type GetIsClusterNetworkSubnetReservedIpsArgs struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId string `pulumi:"clusterNetworkSubnetId"` + Name *string `pulumi:"name"` + Sort *string `pulumi:"sort"` +} + +// A collection of values returned by getIsClusterNetworkSubnetReservedIps. +type GetIsClusterNetworkSubnetReservedIpsResult struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId string `pulumi:"clusterNetworkSubnetId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ReservedIps []GetIsClusterNetworkSubnetReservedIpsReservedIp `pulumi:"reservedIps"` + Sort *string `pulumi:"sort"` +} + +func GetIsClusterNetworkSubnetReservedIpsOutput(ctx *pulumi.Context, args GetIsClusterNetworkSubnetReservedIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsClusterNetworkSubnetReservedIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsClusterNetworkSubnetReservedIpsResultOutput, error) { + args := v.(GetIsClusterNetworkSubnetReservedIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworkSubnetReservedIps:getIsClusterNetworkSubnetReservedIps", args, GetIsClusterNetworkSubnetReservedIpsResultOutput{}, options).(GetIsClusterNetworkSubnetReservedIpsResultOutput), nil + }).(GetIsClusterNetworkSubnetReservedIpsResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetworkSubnetReservedIps. +type GetIsClusterNetworkSubnetReservedIpsOutputArgs struct { + ClusterNetworkId pulumi.StringInput `pulumi:"clusterNetworkId"` + ClusterNetworkSubnetId pulumi.StringInput `pulumi:"clusterNetworkSubnetId"` + Name pulumi.StringPtrInput `pulumi:"name"` + Sort pulumi.StringPtrInput `pulumi:"sort"` +} + +func (GetIsClusterNetworkSubnetReservedIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetworkSubnetReservedIps. +type GetIsClusterNetworkSubnetReservedIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsResult)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsResultOutput) ToGetIsClusterNetworkSubnetReservedIpsResultOutput() GetIsClusterNetworkSubnetReservedIpsResultOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsResultOutput) ToGetIsClusterNetworkSubnetReservedIpsResultOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsResultOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsResultOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsResult) string { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +func (o GetIsClusterNetworkSubnetReservedIpsResultOutput) ClusterNetworkSubnetId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsResult) string { return v.ClusterNetworkSubnetId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsClusterNetworkSubnetReservedIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsClusterNetworkSubnetReservedIpsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworkSubnetReservedIpsResultOutput) ReservedIps() GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsResult) []GetIsClusterNetworkSubnetReservedIpsReservedIp { + return v.ReservedIps + }).(GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput) +} + +func (o GetIsClusterNetworkSubnetReservedIpsResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnets.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnets.go new file mode 100644 index 000000000..090e248ce --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworkSubnets.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsClusterNetworkSubnets(ctx *pulumi.Context, args *GetIsClusterNetworkSubnetsArgs, opts ...pulumi.InvokeOption) (*GetIsClusterNetworkSubnetsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsClusterNetworkSubnetsResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworkSubnets:getIsClusterNetworkSubnets", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetworkSubnets. +type GetIsClusterNetworkSubnetsArgs struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + Name *string `pulumi:"name"` + Sort *string `pulumi:"sort"` +} + +// A collection of values returned by getIsClusterNetworkSubnets. +type GetIsClusterNetworkSubnetsResult struct { + ClusterNetworkId string `pulumi:"clusterNetworkId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + Sort *string `pulumi:"sort"` + Subnets []GetIsClusterNetworkSubnetsSubnet `pulumi:"subnets"` +} + +func GetIsClusterNetworkSubnetsOutput(ctx *pulumi.Context, args GetIsClusterNetworkSubnetsOutputArgs, opts ...pulumi.InvokeOption) GetIsClusterNetworkSubnetsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsClusterNetworkSubnetsResultOutput, error) { + args := v.(GetIsClusterNetworkSubnetsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworkSubnets:getIsClusterNetworkSubnets", args, GetIsClusterNetworkSubnetsResultOutput{}, options).(GetIsClusterNetworkSubnetsResultOutput), nil + }).(GetIsClusterNetworkSubnetsResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetworkSubnets. +type GetIsClusterNetworkSubnetsOutputArgs struct { + ClusterNetworkId pulumi.StringInput `pulumi:"clusterNetworkId"` + Name pulumi.StringPtrInput `pulumi:"name"` + Sort pulumi.StringPtrInput `pulumi:"sort"` +} + +func (GetIsClusterNetworkSubnetsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetworkSubnets. +type GetIsClusterNetworkSubnetsResultOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetsResult)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetsResultOutput) ToGetIsClusterNetworkSubnetsResultOutput() GetIsClusterNetworkSubnetsResultOutput { + return o +} + +func (o GetIsClusterNetworkSubnetsResultOutput) ToGetIsClusterNetworkSubnetsResultOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsResultOutput { + return o +} + +func (o GetIsClusterNetworkSubnetsResultOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsResult) string { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsClusterNetworkSubnetsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsClusterNetworkSubnetsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworkSubnetsResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworkSubnetsResultOutput) Subnets() GetIsClusterNetworkSubnetsSubnetArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsResult) []GetIsClusterNetworkSubnetsSubnet { return v.Subnets }).(GetIsClusterNetworkSubnetsSubnetArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworks.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworks.go new file mode 100644 index 000000000..e69ab10a6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsClusterNetworks.go @@ -0,0 +1,120 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsClusterNetworks(ctx *pulumi.Context, args *GetIsClusterNetworksArgs, opts ...pulumi.InvokeOption) (*GetIsClusterNetworksResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsClusterNetworksResult + err := ctx.Invoke("ibmcloud:index/getIsClusterNetworks:getIsClusterNetworks", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsClusterNetworks. +type GetIsClusterNetworksArgs struct { + Name *string `pulumi:"name"` + ResourceGroupId *string `pulumi:"resourceGroupId"` + Sort *string `pulumi:"sort"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcId *string `pulumi:"vpcId"` + VpcName *string `pulumi:"vpcName"` +} + +// A collection of values returned by getIsClusterNetworks. +type GetIsClusterNetworksResult struct { + ClusterNetworks []GetIsClusterNetworksClusterNetwork `pulumi:"clusterNetworks"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroupId *string `pulumi:"resourceGroupId"` + Sort *string `pulumi:"sort"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcId *string `pulumi:"vpcId"` + VpcName *string `pulumi:"vpcName"` +} + +func GetIsClusterNetworksOutput(ctx *pulumi.Context, args GetIsClusterNetworksOutputArgs, opts ...pulumi.InvokeOption) GetIsClusterNetworksResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsClusterNetworksResultOutput, error) { + args := v.(GetIsClusterNetworksArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsClusterNetworks:getIsClusterNetworks", args, GetIsClusterNetworksResultOutput{}, options).(GetIsClusterNetworksResultOutput), nil + }).(GetIsClusterNetworksResultOutput) +} + +// A collection of arguments for invoking getIsClusterNetworks. +type GetIsClusterNetworksOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + Sort pulumi.StringPtrInput `pulumi:"sort"` + VpcCrn pulumi.StringPtrInput `pulumi:"vpcCrn"` + VpcId pulumi.StringPtrInput `pulumi:"vpcId"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` +} + +func (GetIsClusterNetworksOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksArgs)(nil)).Elem() +} + +// A collection of values returned by getIsClusterNetworks. +type GetIsClusterNetworksResultOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksResult)(nil)).Elem() +} + +func (o GetIsClusterNetworksResultOutput) ToGetIsClusterNetworksResultOutput() GetIsClusterNetworksResultOutput { + return o +} + +func (o GetIsClusterNetworksResultOutput) ToGetIsClusterNetworksResultOutputWithContext(ctx context.Context) GetIsClusterNetworksResultOutput { + return o +} + +func (o GetIsClusterNetworksResultOutput) ClusterNetworks() GetIsClusterNetworksClusterNetworkArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworksResult) []GetIsClusterNetworksClusterNetwork { return v.ClusterNetworks }).(GetIsClusterNetworksClusterNetworkArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsClusterNetworksResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsClusterNetworksResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworksResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworksResultOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworksResult) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworksResultOutput) Sort() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworksResult) *string { return v.Sort }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworksResultOutput) VpcCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworksResult) *string { return v.VpcCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworksResultOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworksResult) *string { return v.VpcId }).(pulumi.StringPtrOutput) +} + +func (o GetIsClusterNetworksResultOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsClusterNetworksResult) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsClusterNetworksResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHost.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHost.go new file mode 100644 index 000000000..d652cad19 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHost.go @@ -0,0 +1,196 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsDedicatedHost(ctx *pulumi.Context, args *LookupIsDedicatedHostArgs, opts ...pulumi.InvokeOption) (*LookupIsDedicatedHostResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsDedicatedHostResult + err := ctx.Invoke("ibmcloud:index/getIsDedicatedHost:getIsDedicatedHost", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsDedicatedHost. +type LookupIsDedicatedHostArgs struct { + HostGroup string `pulumi:"hostGroup"` + Name string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsDedicatedHost. +type LookupIsDedicatedHostResult struct { + AccessTags []string `pulumi:"accessTags"` + AvailableMemory int `pulumi:"availableMemory"` + AvailableVcpus []GetIsDedicatedHostAvailableVcpus `pulumi:"availableVcpus"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Disks []GetIsDedicatedHostDisk `pulumi:"disks"` + HostGroup string `pulumi:"hostGroup"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstancePlacementEnabled bool `pulumi:"instancePlacementEnabled"` + Instances []GetIsDedicatedHostInstance `pulumi:"instances"` + LifecycleState string `pulumi:"lifecycleState"` + Memory int `pulumi:"memory"` + Name string `pulumi:"name"` + Numas []GetIsDedicatedHostNuma `pulumi:"numas"` + Profiles []GetIsDedicatedHostProfile `pulumi:"profiles"` + Provisionable bool `pulumi:"provisionable"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceType string `pulumi:"resourceType"` + SocketCount int `pulumi:"socketCount"` + State string `pulumi:"state"` + SupportedInstanceProfiles []GetIsDedicatedHostSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + Vcpus []GetIsDedicatedHostVcpus `pulumi:"vcpus"` + Zone string `pulumi:"zone"` +} + +func LookupIsDedicatedHostOutput(ctx *pulumi.Context, args LookupIsDedicatedHostOutputArgs, opts ...pulumi.InvokeOption) LookupIsDedicatedHostResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsDedicatedHostResultOutput, error) { + args := v.(LookupIsDedicatedHostArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsDedicatedHost:getIsDedicatedHost", args, LookupIsDedicatedHostResultOutput{}, options).(LookupIsDedicatedHostResultOutput), nil + }).(LookupIsDedicatedHostResultOutput) +} + +// A collection of arguments for invoking getIsDedicatedHost. +type LookupIsDedicatedHostOutputArgs struct { + HostGroup pulumi.StringInput `pulumi:"hostGroup"` + Name pulumi.StringInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (LookupIsDedicatedHostOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsDedicatedHostArgs)(nil)).Elem() +} + +// A collection of values returned by getIsDedicatedHost. +type LookupIsDedicatedHostResultOutput struct{ *pulumi.OutputState } + +func (LookupIsDedicatedHostResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsDedicatedHostResult)(nil)).Elem() +} + +func (o LookupIsDedicatedHostResultOutput) ToLookupIsDedicatedHostResultOutput() LookupIsDedicatedHostResultOutput { + return o +} + +func (o LookupIsDedicatedHostResultOutput) ToLookupIsDedicatedHostResultOutputWithContext(ctx context.Context) LookupIsDedicatedHostResultOutput { + return o +} + +func (o LookupIsDedicatedHostResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsDedicatedHostResultOutput) AvailableMemory() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) int { return v.AvailableMemory }).(pulumi.IntOutput) +} + +func (o LookupIsDedicatedHostResultOutput) AvailableVcpus() GetIsDedicatedHostAvailableVcpusArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) []GetIsDedicatedHostAvailableVcpus { return v.AvailableVcpus }).(GetIsDedicatedHostAvailableVcpusArrayOutput) +} + +func (o LookupIsDedicatedHostResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Disks() GetIsDedicatedHostDiskArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) []GetIsDedicatedHostDisk { return v.Disks }).(GetIsDedicatedHostDiskArrayOutput) +} + +func (o LookupIsDedicatedHostResultOutput) HostGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.HostGroup }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsDedicatedHostResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) InstancePlacementEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) bool { return v.InstancePlacementEnabled }).(pulumi.BoolOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Instances() GetIsDedicatedHostInstanceArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) []GetIsDedicatedHostInstance { return v.Instances }).(GetIsDedicatedHostInstanceArrayOutput) +} + +func (o LookupIsDedicatedHostResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) int { return v.Memory }).(pulumi.IntOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Numas() GetIsDedicatedHostNumaArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) []GetIsDedicatedHostNuma { return v.Numas }).(GetIsDedicatedHostNumaArrayOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Profiles() GetIsDedicatedHostProfileArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) []GetIsDedicatedHostProfile { return v.Profiles }).(GetIsDedicatedHostProfileArrayOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Provisionable() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) bool { return v.Provisionable }).(pulumi.BoolOutput) +} + +func (o LookupIsDedicatedHostResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) SocketCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) int { return v.SocketCount }).(pulumi.IntOutput) +} + +func (o LookupIsDedicatedHostResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostResultOutput) SupportedInstanceProfiles() GetIsDedicatedHostSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) []GetIsDedicatedHostSupportedInstanceProfile { + return v.SupportedInstanceProfiles + }).(GetIsDedicatedHostSupportedInstanceProfileArrayOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Vcpus() GetIsDedicatedHostVcpusArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) []GetIsDedicatedHostVcpus { return v.Vcpus }).(GetIsDedicatedHostVcpusArrayOutput) +} + +func (o LookupIsDedicatedHostResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsDedicatedHostResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostDisk.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostDisk.go new file mode 100644 index 000000000..cae5d84f0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostDisk.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsDedicatedHostDisk(ctx *pulumi.Context, args *LookupIsDedicatedHostDiskArgs, opts ...pulumi.InvokeOption) (*LookupIsDedicatedHostDiskResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsDedicatedHostDiskResult + err := ctx.Invoke("ibmcloud:index/getIsDedicatedHostDisk:getIsDedicatedHostDisk", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsDedicatedHostDisk. +type LookupIsDedicatedHostDiskArgs struct { + DedicatedHost string `pulumi:"dedicatedHost"` + Disk string `pulumi:"disk"` +} + +// A collection of values returned by getIsDedicatedHostDisk. +type LookupIsDedicatedHostDiskResult struct { + Available int `pulumi:"available"` + CreatedAt string `pulumi:"createdAt"` + DedicatedHost string `pulumi:"dedicatedHost"` + Disk string `pulumi:"disk"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceDisks []GetIsDedicatedHostDiskInstanceDisk `pulumi:"instanceDisks"` + InterfaceType string `pulumi:"interfaceType"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + Provisionable bool `pulumi:"provisionable"` + ResourceType string `pulumi:"resourceType"` + Size int `pulumi:"size"` + SupportedInstanceInterfaceTypes []string `pulumi:"supportedInstanceInterfaceTypes"` +} + +func LookupIsDedicatedHostDiskOutput(ctx *pulumi.Context, args LookupIsDedicatedHostDiskOutputArgs, opts ...pulumi.InvokeOption) LookupIsDedicatedHostDiskResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsDedicatedHostDiskResultOutput, error) { + args := v.(LookupIsDedicatedHostDiskArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsDedicatedHostDisk:getIsDedicatedHostDisk", args, LookupIsDedicatedHostDiskResultOutput{}, options).(LookupIsDedicatedHostDiskResultOutput), nil + }).(LookupIsDedicatedHostDiskResultOutput) +} + +// A collection of arguments for invoking getIsDedicatedHostDisk. +type LookupIsDedicatedHostDiskOutputArgs struct { + DedicatedHost pulumi.StringInput `pulumi:"dedicatedHost"` + Disk pulumi.StringInput `pulumi:"disk"` +} + +func (LookupIsDedicatedHostDiskOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsDedicatedHostDiskArgs)(nil)).Elem() +} + +// A collection of values returned by getIsDedicatedHostDisk. +type LookupIsDedicatedHostDiskResultOutput struct{ *pulumi.OutputState } + +func (LookupIsDedicatedHostDiskResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsDedicatedHostDiskResult)(nil)).Elem() +} + +func (o LookupIsDedicatedHostDiskResultOutput) ToLookupIsDedicatedHostDiskResultOutput() LookupIsDedicatedHostDiskResultOutput { + return o +} + +func (o LookupIsDedicatedHostDiskResultOutput) ToLookupIsDedicatedHostDiskResultOutputWithContext(ctx context.Context) LookupIsDedicatedHostDiskResultOutput { + return o +} + +func (o LookupIsDedicatedHostDiskResultOutput) Available() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) int { return v.Available }).(pulumi.IntOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) DedicatedHost() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.DedicatedHost }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) Disk() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.Disk }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsDedicatedHostDiskResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) InstanceDisks() GetIsDedicatedHostDiskInstanceDiskArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) []GetIsDedicatedHostDiskInstanceDisk { return v.InstanceDisks }).(GetIsDedicatedHostDiskInstanceDiskArrayOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) Provisionable() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) bool { return v.Provisionable }).(pulumi.BoolOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) int { return v.Size }).(pulumi.IntOutput) +} + +func (o LookupIsDedicatedHostDiskResultOutput) SupportedInstanceInterfaceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostDiskResult) []string { return v.SupportedInstanceInterfaceTypes }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsDedicatedHostDiskResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostDisks.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostDisks.go new file mode 100644 index 000000000..9fde99384 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostDisks.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsDedicatedHostDisks(ctx *pulumi.Context, args *GetIsDedicatedHostDisksArgs, opts ...pulumi.InvokeOption) (*GetIsDedicatedHostDisksResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsDedicatedHostDisksResult + err := ctx.Invoke("ibmcloud:index/getIsDedicatedHostDisks:getIsDedicatedHostDisks", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsDedicatedHostDisks. +type GetIsDedicatedHostDisksArgs struct { + DedicatedHost string `pulumi:"dedicatedHost"` +} + +// A collection of values returned by getIsDedicatedHostDisks. +type GetIsDedicatedHostDisksResult struct { + DedicatedHost string `pulumi:"dedicatedHost"` + Disks []GetIsDedicatedHostDisksDisk `pulumi:"disks"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func GetIsDedicatedHostDisksOutput(ctx *pulumi.Context, args GetIsDedicatedHostDisksOutputArgs, opts ...pulumi.InvokeOption) GetIsDedicatedHostDisksResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsDedicatedHostDisksResultOutput, error) { + args := v.(GetIsDedicatedHostDisksArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsDedicatedHostDisks:getIsDedicatedHostDisks", args, GetIsDedicatedHostDisksResultOutput{}, options).(GetIsDedicatedHostDisksResultOutput), nil + }).(GetIsDedicatedHostDisksResultOutput) +} + +// A collection of arguments for invoking getIsDedicatedHostDisks. +type GetIsDedicatedHostDisksOutputArgs struct { + DedicatedHost pulumi.StringInput `pulumi:"dedicatedHost"` +} + +func (GetIsDedicatedHostDisksOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisksArgs)(nil)).Elem() +} + +// A collection of values returned by getIsDedicatedHostDisks. +type GetIsDedicatedHostDisksResultOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDisksResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisksResult)(nil)).Elem() +} + +func (o GetIsDedicatedHostDisksResultOutput) ToGetIsDedicatedHostDisksResultOutput() GetIsDedicatedHostDisksResultOutput { + return o +} + +func (o GetIsDedicatedHostDisksResultOutput) ToGetIsDedicatedHostDisksResultOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksResultOutput { + return o +} + +func (o GetIsDedicatedHostDisksResultOutput) DedicatedHost() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksResult) string { return v.DedicatedHost }).(pulumi.StringOutput) +} + +func (o GetIsDedicatedHostDisksResultOutput) Disks() GetIsDedicatedHostDisksDiskArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksResult) []GetIsDedicatedHostDisksDisk { return v.Disks }).(GetIsDedicatedHostDisksDiskArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsDedicatedHostDisksResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsDedicatedHostDisksResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostGroup.go new file mode 100644 index 000000000..813277fe5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostGroup.go @@ -0,0 +1,134 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsDedicatedHostGroup(ctx *pulumi.Context, args *LookupIsDedicatedHostGroupArgs, opts ...pulumi.InvokeOption) (*LookupIsDedicatedHostGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsDedicatedHostGroupResult + err := ctx.Invoke("ibmcloud:index/getIsDedicatedHostGroup:getIsDedicatedHostGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsDedicatedHostGroup. +type LookupIsDedicatedHostGroupArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsDedicatedHostGroup. +type LookupIsDedicatedHostGroupResult struct { + Class string `pulumi:"class"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + DedicatedHosts []GetIsDedicatedHostGroupDedicatedHost `pulumi:"dedicatedHosts"` + Family string `pulumi:"family"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceType string `pulumi:"resourceType"` + SupportedInstanceProfiles []GetIsDedicatedHostGroupSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + Zone string `pulumi:"zone"` +} + +func LookupIsDedicatedHostGroupOutput(ctx *pulumi.Context, args LookupIsDedicatedHostGroupOutputArgs, opts ...pulumi.InvokeOption) LookupIsDedicatedHostGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsDedicatedHostGroupResultOutput, error) { + args := v.(LookupIsDedicatedHostGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsDedicatedHostGroup:getIsDedicatedHostGroup", args, LookupIsDedicatedHostGroupResultOutput{}, options).(LookupIsDedicatedHostGroupResultOutput), nil + }).(LookupIsDedicatedHostGroupResultOutput) +} + +// A collection of arguments for invoking getIsDedicatedHostGroup. +type LookupIsDedicatedHostGroupOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsDedicatedHostGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsDedicatedHostGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getIsDedicatedHostGroup. +type LookupIsDedicatedHostGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupIsDedicatedHostGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsDedicatedHostGroupResult)(nil)).Elem() +} + +func (o LookupIsDedicatedHostGroupResultOutput) ToLookupIsDedicatedHostGroupResultOutput() LookupIsDedicatedHostGroupResultOutput { + return o +} + +func (o LookupIsDedicatedHostGroupResultOutput) ToLookupIsDedicatedHostGroupResultOutputWithContext(ctx context.Context) LookupIsDedicatedHostGroupResultOutput { + return o +} + +func (o LookupIsDedicatedHostGroupResultOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.Class }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) DedicatedHosts() GetIsDedicatedHostGroupDedicatedHostArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) []GetIsDedicatedHostGroupDedicatedHost { + return v.DedicatedHosts + }).(GetIsDedicatedHostGroupDedicatedHostArrayOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsDedicatedHostGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) SupportedInstanceProfiles() GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) []GetIsDedicatedHostGroupSupportedInstanceProfile { + return v.SupportedInstanceProfiles + }).(GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput) +} + +func (o LookupIsDedicatedHostGroupResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostGroupResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsDedicatedHostGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostGroups.go new file mode 100644 index 000000000..9b3737ab1 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostGroups.go @@ -0,0 +1,104 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsDedicatedHostGroups(ctx *pulumi.Context, args *GetIsDedicatedHostGroupsArgs, opts ...pulumi.InvokeOption) (*GetIsDedicatedHostGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsDedicatedHostGroupsResult + err := ctx.Invoke("ibmcloud:index/getIsDedicatedHostGroups:getIsDedicatedHostGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsDedicatedHostGroups. +type GetIsDedicatedHostGroupsArgs struct { + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + Zone *string `pulumi:"zone"` +} + +// A collection of values returned by getIsDedicatedHostGroups. +type GetIsDedicatedHostGroupsResult struct { + HostGroups []GetIsDedicatedHostGroupsHostGroup `pulumi:"hostGroups"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + TotalCount int `pulumi:"totalCount"` + Zone *string `pulumi:"zone"` +} + +func GetIsDedicatedHostGroupsOutput(ctx *pulumi.Context, args GetIsDedicatedHostGroupsOutputArgs, opts ...pulumi.InvokeOption) GetIsDedicatedHostGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsDedicatedHostGroupsResultOutput, error) { + args := v.(GetIsDedicatedHostGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsDedicatedHostGroups:getIsDedicatedHostGroups", args, GetIsDedicatedHostGroupsResultOutput{}, options).(GetIsDedicatedHostGroupsResultOutput), nil + }).(GetIsDedicatedHostGroupsResultOutput) +} + +// A collection of arguments for invoking getIsDedicatedHostGroups. +type GetIsDedicatedHostGroupsOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (GetIsDedicatedHostGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsDedicatedHostGroups. +type GetIsDedicatedHostGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsResult)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsResultOutput) ToGetIsDedicatedHostGroupsResultOutput() GetIsDedicatedHostGroupsResultOutput { + return o +} + +func (o GetIsDedicatedHostGroupsResultOutput) ToGetIsDedicatedHostGroupsResultOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsResultOutput { + return o +} + +func (o GetIsDedicatedHostGroupsResultOutput) HostGroups() GetIsDedicatedHostGroupsHostGroupArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsResult) []GetIsDedicatedHostGroupsHostGroup { return v.HostGroups }).(GetIsDedicatedHostGroupsHostGroupArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsDedicatedHostGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsDedicatedHostGroupsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsDedicatedHostGroupsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsDedicatedHostGroupsResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func (o GetIsDedicatedHostGroupsResultOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsResult) *string { return v.Zone }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostProfile.go new file mode 100644 index 000000000..59b0d5a92 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostProfile.go @@ -0,0 +1,143 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsDedicatedHostProfile(ctx *pulumi.Context, args *LookupIsDedicatedHostProfileArgs, opts ...pulumi.InvokeOption) (*LookupIsDedicatedHostProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsDedicatedHostProfileResult + err := ctx.Invoke("ibmcloud:index/getIsDedicatedHostProfile:getIsDedicatedHostProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsDedicatedHostProfile. +type LookupIsDedicatedHostProfileArgs struct { + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsDedicatedHostProfile. +type LookupIsDedicatedHostProfileResult struct { + Class string `pulumi:"class"` + Disks []GetIsDedicatedHostProfileDisk `pulumi:"disks"` + Family string `pulumi:"family"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Memories []GetIsDedicatedHostProfileMemory `pulumi:"memories"` + Name *string `pulumi:"name"` + SocketCounts []GetIsDedicatedHostProfileSocketCount `pulumi:"socketCounts"` + Status string `pulumi:"status"` + SupportedInstanceProfiles []GetIsDedicatedHostProfileSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + VcpuArchitectures []GetIsDedicatedHostProfileVcpuArchitecture `pulumi:"vcpuArchitectures"` + VcpuCounts []GetIsDedicatedHostProfileVcpuCount `pulumi:"vcpuCounts"` + VcpuManufacturers []GetIsDedicatedHostProfileVcpuManufacturer `pulumi:"vcpuManufacturers"` +} + +func LookupIsDedicatedHostProfileOutput(ctx *pulumi.Context, args LookupIsDedicatedHostProfileOutputArgs, opts ...pulumi.InvokeOption) LookupIsDedicatedHostProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsDedicatedHostProfileResultOutput, error) { + args := v.(LookupIsDedicatedHostProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsDedicatedHostProfile:getIsDedicatedHostProfile", args, LookupIsDedicatedHostProfileResultOutput{}, options).(LookupIsDedicatedHostProfileResultOutput), nil + }).(LookupIsDedicatedHostProfileResultOutput) +} + +// A collection of arguments for invoking getIsDedicatedHostProfile. +type LookupIsDedicatedHostProfileOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsDedicatedHostProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsDedicatedHostProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIsDedicatedHostProfile. +type LookupIsDedicatedHostProfileResultOutput struct{ *pulumi.OutputState } + +func (LookupIsDedicatedHostProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsDedicatedHostProfileResult)(nil)).Elem() +} + +func (o LookupIsDedicatedHostProfileResultOutput) ToLookupIsDedicatedHostProfileResultOutput() LookupIsDedicatedHostProfileResultOutput { + return o +} + +func (o LookupIsDedicatedHostProfileResultOutput) ToLookupIsDedicatedHostProfileResultOutputWithContext(ctx context.Context) LookupIsDedicatedHostProfileResultOutput { + return o +} + +func (o LookupIsDedicatedHostProfileResultOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) string { return v.Class }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) Disks() GetIsDedicatedHostProfileDiskArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) []GetIsDedicatedHostProfileDisk { return v.Disks }).(GetIsDedicatedHostProfileDiskArrayOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsDedicatedHostProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) Memories() GetIsDedicatedHostProfileMemoryArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) []GetIsDedicatedHostProfileMemory { return v.Memories }).(GetIsDedicatedHostProfileMemoryArrayOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) SocketCounts() GetIsDedicatedHostProfileSocketCountArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) []GetIsDedicatedHostProfileSocketCount { + return v.SocketCounts + }).(GetIsDedicatedHostProfileSocketCountArrayOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) SupportedInstanceProfiles() GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) []GetIsDedicatedHostProfileSupportedInstanceProfile { + return v.SupportedInstanceProfiles + }).(GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) VcpuArchitectures() GetIsDedicatedHostProfileVcpuArchitectureArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) []GetIsDedicatedHostProfileVcpuArchitecture { + return v.VcpuArchitectures + }).(GetIsDedicatedHostProfileVcpuArchitectureArrayOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) VcpuCounts() GetIsDedicatedHostProfileVcpuCountArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) []GetIsDedicatedHostProfileVcpuCount { return v.VcpuCounts }).(GetIsDedicatedHostProfileVcpuCountArrayOutput) +} + +func (o LookupIsDedicatedHostProfileResultOutput) VcpuManufacturers() GetIsDedicatedHostProfileVcpuManufacturerArrayOutput { + return o.ApplyT(func(v LookupIsDedicatedHostProfileResult) []GetIsDedicatedHostProfileVcpuManufacturer { + return v.VcpuManufacturers + }).(GetIsDedicatedHostProfileVcpuManufacturerArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsDedicatedHostProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostProfiles.go new file mode 100644 index 000000000..673127b25 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHostProfiles.go @@ -0,0 +1,69 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsDedicatedHostProfiles(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsDedicatedHostProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsDedicatedHostProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsDedicatedHostProfiles:getIsDedicatedHostProfiles", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsDedicatedHostProfiles. +type GetIsDedicatedHostProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Profiles []GetIsDedicatedHostProfilesProfile `pulumi:"profiles"` + TotalCount int `pulumi:"totalCount"` +} + +func GetIsDedicatedHostProfilesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsDedicatedHostProfilesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsDedicatedHostProfilesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsDedicatedHostProfiles:getIsDedicatedHostProfiles", nil, GetIsDedicatedHostProfilesResultOutput{}, options).(GetIsDedicatedHostProfilesResultOutput), nil + }).(GetIsDedicatedHostProfilesResultOutput) +} + +// A collection of values returned by getIsDedicatedHostProfiles. +type GetIsDedicatedHostProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesResult)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesResultOutput) ToGetIsDedicatedHostProfilesResultOutput() GetIsDedicatedHostProfilesResultOutput { + return o +} + +func (o GetIsDedicatedHostProfilesResultOutput) ToGetIsDedicatedHostProfilesResultOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsDedicatedHostProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsDedicatedHostProfilesResultOutput) Profiles() GetIsDedicatedHostProfilesProfileArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesResult) []GetIsDedicatedHostProfilesProfile { return v.Profiles }).(GetIsDedicatedHostProfilesProfileArrayOutput) +} + +func (o GetIsDedicatedHostProfilesResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHosts.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHosts.go new file mode 100644 index 000000000..7dcbb1fb8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsDedicatedHosts.go @@ -0,0 +1,111 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsDedicatedHosts(ctx *pulumi.Context, args *GetIsDedicatedHostsArgs, opts ...pulumi.InvokeOption) (*GetIsDedicatedHostsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsDedicatedHostsResult + err := ctx.Invoke("ibmcloud:index/getIsDedicatedHosts:getIsDedicatedHosts", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsDedicatedHosts. +type GetIsDedicatedHostsArgs struct { + HostGroup *string `pulumi:"hostGroup"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + Zone *string `pulumi:"zone"` +} + +// A collection of values returned by getIsDedicatedHosts. +type GetIsDedicatedHostsResult struct { + DedicatedHosts []GetIsDedicatedHostsDedicatedHost `pulumi:"dedicatedHosts"` + HostGroup *string `pulumi:"hostGroup"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + TotalCount int `pulumi:"totalCount"` + Zone *string `pulumi:"zone"` +} + +func GetIsDedicatedHostsOutput(ctx *pulumi.Context, args GetIsDedicatedHostsOutputArgs, opts ...pulumi.InvokeOption) GetIsDedicatedHostsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsDedicatedHostsResultOutput, error) { + args := v.(GetIsDedicatedHostsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsDedicatedHosts:getIsDedicatedHosts", args, GetIsDedicatedHostsResultOutput{}, options).(GetIsDedicatedHostsResultOutput), nil + }).(GetIsDedicatedHostsResultOutput) +} + +// A collection of arguments for invoking getIsDedicatedHosts. +type GetIsDedicatedHostsOutputArgs struct { + HostGroup pulumi.StringPtrInput `pulumi:"hostGroup"` + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (GetIsDedicatedHostsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsDedicatedHosts. +type GetIsDedicatedHostsResultOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsResult)(nil)).Elem() +} + +func (o GetIsDedicatedHostsResultOutput) ToGetIsDedicatedHostsResultOutput() GetIsDedicatedHostsResultOutput { + return o +} + +func (o GetIsDedicatedHostsResultOutput) ToGetIsDedicatedHostsResultOutputWithContext(ctx context.Context) GetIsDedicatedHostsResultOutput { + return o +} + +func (o GetIsDedicatedHostsResultOutput) DedicatedHosts() GetIsDedicatedHostsDedicatedHostArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsResult) []GetIsDedicatedHostsDedicatedHost { return v.DedicatedHosts }).(GetIsDedicatedHostsDedicatedHostArrayOutput) +} + +func (o GetIsDedicatedHostsResultOutput) HostGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsDedicatedHostsResult) *string { return v.HostGroup }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsDedicatedHostsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsDedicatedHostsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsDedicatedHostsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsDedicatedHostsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsDedicatedHostsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsDedicatedHostsResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func (o GetIsDedicatedHostsResultOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsDedicatedHostsResult) *string { return v.Zone }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsDedicatedHostsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsEndpointGatewayTargets.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsEndpointGatewayTargets.go new file mode 100644 index 000000000..5cf39db1b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsEndpointGatewayTargets.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsEndpointGatewayTargets(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsEndpointGatewayTargetsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsEndpointGatewayTargetsResult + err := ctx.Invoke("ibmcloud:index/getIsEndpointGatewayTargets:getIsEndpointGatewayTargets", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsEndpointGatewayTargets. +type GetIsEndpointGatewayTargetsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Resources []GetIsEndpointGatewayTargetsResource `pulumi:"resources"` +} + +func GetIsEndpointGatewayTargetsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsEndpointGatewayTargetsResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsEndpointGatewayTargetsResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsEndpointGatewayTargets:getIsEndpointGatewayTargets", nil, GetIsEndpointGatewayTargetsResultOutput{}, options).(GetIsEndpointGatewayTargetsResultOutput), nil + }).(GetIsEndpointGatewayTargetsResultOutput) +} + +// A collection of values returned by getIsEndpointGatewayTargets. +type GetIsEndpointGatewayTargetsResultOutput struct{ *pulumi.OutputState } + +func (GetIsEndpointGatewayTargetsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsEndpointGatewayTargetsResult)(nil)).Elem() +} + +func (o GetIsEndpointGatewayTargetsResultOutput) ToGetIsEndpointGatewayTargetsResultOutput() GetIsEndpointGatewayTargetsResultOutput { + return o +} + +func (o GetIsEndpointGatewayTargetsResultOutput) ToGetIsEndpointGatewayTargetsResultOutputWithContext(ctx context.Context) GetIsEndpointGatewayTargetsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsEndpointGatewayTargetsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsEndpointGatewayTargetsResultOutput) Resources() GetIsEndpointGatewayTargetsResourceArrayOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResult) []GetIsEndpointGatewayTargetsResource { return v.Resources }).(GetIsEndpointGatewayTargetsResourceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsEndpointGatewayTargetsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFloatingIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFloatingIp.go new file mode 100644 index 000000000..aa623e624 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFloatingIp.go @@ -0,0 +1,120 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsFloatingIp(ctx *pulumi.Context, args *LookupIsFloatingIpArgs, opts ...pulumi.InvokeOption) (*LookupIsFloatingIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsFloatingIpResult + err := ctx.Invoke("ibmcloud:index/getIsFloatingIp:getIsFloatingIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsFloatingIp. +type LookupIsFloatingIpArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsFloatingIp. +type LookupIsFloatingIpResult struct { + AccessTags []string `pulumi:"accessTags"` + Address string `pulumi:"address"` + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + Status string `pulumi:"status"` + Tags []string `pulumi:"tags"` + Target string `pulumi:"target"` + TargetLists []GetIsFloatingIpTargetList `pulumi:"targetLists"` + Zone string `pulumi:"zone"` +} + +func LookupIsFloatingIpOutput(ctx *pulumi.Context, args LookupIsFloatingIpOutputArgs, opts ...pulumi.InvokeOption) LookupIsFloatingIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsFloatingIpResultOutput, error) { + args := v.(LookupIsFloatingIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsFloatingIp:getIsFloatingIp", args, LookupIsFloatingIpResultOutput{}, options).(LookupIsFloatingIpResultOutput), nil + }).(LookupIsFloatingIpResultOutput) +} + +// A collection of arguments for invoking getIsFloatingIp. +type LookupIsFloatingIpOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsFloatingIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsFloatingIpArgs)(nil)).Elem() +} + +// A collection of values returned by getIsFloatingIp. +type LookupIsFloatingIpResultOutput struct{ *pulumi.OutputState } + +func (LookupIsFloatingIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsFloatingIpResult)(nil)).Elem() +} + +func (o LookupIsFloatingIpResultOutput) ToLookupIsFloatingIpResultOutput() LookupIsFloatingIpResultOutput { + return o +} + +func (o LookupIsFloatingIpResultOutput) ToLookupIsFloatingIpResultOutputWithContext(ctx context.Context) LookupIsFloatingIpResultOutput { + return o +} + +func (o LookupIsFloatingIpResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsFloatingIpResultOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) string { return v.Address }).(pulumi.StringOutput) +} + +func (o LookupIsFloatingIpResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsFloatingIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsFloatingIpResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsFloatingIpResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsFloatingIpResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsFloatingIpResultOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) string { return v.Target }).(pulumi.StringOutput) +} + +func (o LookupIsFloatingIpResultOutput) TargetLists() GetIsFloatingIpTargetListArrayOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) []GetIsFloatingIpTargetList { return v.TargetLists }).(GetIsFloatingIpTargetListArrayOutput) +} + +func (o LookupIsFloatingIpResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFloatingIpResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsFloatingIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFloatingIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFloatingIps.go new file mode 100644 index 000000000..43dc5eaec --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFloatingIps.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsFloatingIps(ctx *pulumi.Context, args *GetIsFloatingIpsArgs, opts ...pulumi.InvokeOption) (*GetIsFloatingIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsFloatingIpsResult + err := ctx.Invoke("ibmcloud:index/getIsFloatingIps:getIsFloatingIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsFloatingIps. +type GetIsFloatingIpsArgs struct { + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsFloatingIps. +type GetIsFloatingIpsResult struct { + FloatingIps []GetIsFloatingIpsFloatingIp `pulumi:"floatingIps"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +func GetIsFloatingIpsOutput(ctx *pulumi.Context, args GetIsFloatingIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsFloatingIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsFloatingIpsResultOutput, error) { + args := v.(GetIsFloatingIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsFloatingIps:getIsFloatingIps", args, GetIsFloatingIpsResultOutput{}, options).(GetIsFloatingIpsResultOutput), nil + }).(GetIsFloatingIpsResultOutput) +} + +// A collection of arguments for invoking getIsFloatingIps. +type GetIsFloatingIpsOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsFloatingIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsFloatingIps. +type GetIsFloatingIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsResult)(nil)).Elem() +} + +func (o GetIsFloatingIpsResultOutput) ToGetIsFloatingIpsResultOutput() GetIsFloatingIpsResultOutput { + return o +} + +func (o GetIsFloatingIpsResultOutput) ToGetIsFloatingIpsResultOutputWithContext(ctx context.Context) GetIsFloatingIpsResultOutput { + return o +} + +func (o GetIsFloatingIpsResultOutput) FloatingIps() GetIsFloatingIpsFloatingIpArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpsResult) []GetIsFloatingIpsFloatingIp { return v.FloatingIps }).(GetIsFloatingIpsFloatingIpArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsFloatingIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsFloatingIpsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFloatingIpsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsFloatingIpsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFloatingIpsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsFloatingIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFlowLog.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFlowLog.go new file mode 100644 index 000000000..c04bf4a3d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFlowLog.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsFlowLog(ctx *pulumi.Context, args *LookupIsFlowLogArgs, opts ...pulumi.InvokeOption) (*LookupIsFlowLogResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsFlowLogResult + err := ctx.Invoke("ibmcloud:index/getIsFlowLog:getIsFlowLog", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsFlowLog. +type LookupIsFlowLogArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsFlowLog. +type LookupIsFlowLogResult struct { + AccessTags []string `pulumi:"accessTags"` + Active bool `pulumi:"active"` + AutoDelete bool `pulumi:"autoDelete"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + LifecycleState string `pulumi:"lifecycleState"` + Name *string `pulumi:"name"` + ResourceGroups []GetIsFlowLogResourceGroup `pulumi:"resourceGroups"` + StorageBuckets []GetIsFlowLogStorageBucket `pulumi:"storageBuckets"` + Targets []GetIsFlowLogTarget `pulumi:"targets"` + Vpcs []GetIsFlowLogVpc `pulumi:"vpcs"` +} + +func LookupIsFlowLogOutput(ctx *pulumi.Context, args LookupIsFlowLogOutputArgs, opts ...pulumi.InvokeOption) LookupIsFlowLogResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsFlowLogResultOutput, error) { + args := v.(LookupIsFlowLogArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsFlowLog:getIsFlowLog", args, LookupIsFlowLogResultOutput{}, options).(LookupIsFlowLogResultOutput), nil + }).(LookupIsFlowLogResultOutput) +} + +// A collection of arguments for invoking getIsFlowLog. +type LookupIsFlowLogOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsFlowLogOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsFlowLogArgs)(nil)).Elem() +} + +// A collection of values returned by getIsFlowLog. +type LookupIsFlowLogResultOutput struct{ *pulumi.OutputState } + +func (LookupIsFlowLogResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsFlowLogResult)(nil)).Elem() +} + +func (o LookupIsFlowLogResultOutput) ToLookupIsFlowLogResultOutput() LookupIsFlowLogResultOutput { + return o +} + +func (o LookupIsFlowLogResultOutput) ToLookupIsFlowLogResultOutputWithContext(ctx context.Context) LookupIsFlowLogResultOutput { + return o +} + +func (o LookupIsFlowLogResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsFlowLogResultOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) bool { return v.Active }).(pulumi.BoolOutput) +} + +func (o LookupIsFlowLogResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsFlowLogResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsFlowLogResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsFlowLogResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsFlowLogResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsFlowLogResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsFlowLogResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsFlowLogResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsFlowLogResultOutput) ResourceGroups() GetIsFlowLogResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) []GetIsFlowLogResourceGroup { return v.ResourceGroups }).(GetIsFlowLogResourceGroupArrayOutput) +} + +func (o LookupIsFlowLogResultOutput) StorageBuckets() GetIsFlowLogStorageBucketArrayOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) []GetIsFlowLogStorageBucket { return v.StorageBuckets }).(GetIsFlowLogStorageBucketArrayOutput) +} + +func (o LookupIsFlowLogResultOutput) Targets() GetIsFlowLogTargetArrayOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) []GetIsFlowLogTarget { return v.Targets }).(GetIsFlowLogTargetArrayOutput) +} + +func (o LookupIsFlowLogResultOutput) Vpcs() GetIsFlowLogVpcArrayOutput { + return o.ApplyT(func(v LookupIsFlowLogResult) []GetIsFlowLogVpc { return v.Vpcs }).(GetIsFlowLogVpcArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsFlowLogResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFlowLogs.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFlowLogs.go new file mode 100644 index 000000000..a50e80cfa --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsFlowLogs.go @@ -0,0 +1,127 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsFlowLogs(ctx *pulumi.Context, args *GetIsFlowLogsArgs, opts ...pulumi.InvokeOption) (*GetIsFlowLogsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsFlowLogsResult + err := ctx.Invoke("ibmcloud:index/getIsFlowLogs:getIsFlowLogs", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsFlowLogs. +type GetIsFlowLogsArgs struct { + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + Target *string `pulumi:"target"` + TargetResourceType *string `pulumi:"targetResourceType"` + Vpc *string `pulumi:"vpc"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcName *string `pulumi:"vpcName"` +} + +// A collection of values returned by getIsFlowLogs. +type GetIsFlowLogsResult struct { + FlowLogCollectors []GetIsFlowLogsFlowLogCollector `pulumi:"flowLogCollectors"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + Target *string `pulumi:"target"` + TargetResourceType *string `pulumi:"targetResourceType"` + Vpc *string `pulumi:"vpc"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcName *string `pulumi:"vpcName"` +} + +func GetIsFlowLogsOutput(ctx *pulumi.Context, args GetIsFlowLogsOutputArgs, opts ...pulumi.InvokeOption) GetIsFlowLogsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsFlowLogsResultOutput, error) { + args := v.(GetIsFlowLogsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsFlowLogs:getIsFlowLogs", args, GetIsFlowLogsResultOutput{}, options).(GetIsFlowLogsResultOutput), nil + }).(GetIsFlowLogsResultOutput) +} + +// A collection of arguments for invoking getIsFlowLogs. +type GetIsFlowLogsOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + Target pulumi.StringPtrInput `pulumi:"target"` + TargetResourceType pulumi.StringPtrInput `pulumi:"targetResourceType"` + Vpc pulumi.StringPtrInput `pulumi:"vpc"` + VpcCrn pulumi.StringPtrInput `pulumi:"vpcCrn"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` +} + +func (GetIsFlowLogsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsFlowLogs. +type GetIsFlowLogsResultOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogsResult)(nil)).Elem() +} + +func (o GetIsFlowLogsResultOutput) ToGetIsFlowLogsResultOutput() GetIsFlowLogsResultOutput { + return o +} + +func (o GetIsFlowLogsResultOutput) ToGetIsFlowLogsResultOutputWithContext(ctx context.Context) GetIsFlowLogsResultOutput { + return o +} + +func (o GetIsFlowLogsResultOutput) FlowLogCollectors() GetIsFlowLogsFlowLogCollectorArrayOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) []GetIsFlowLogsFlowLogCollector { return v.FlowLogCollectors }).(GetIsFlowLogsFlowLogCollectorArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsFlowLogsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsFlowLogsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsFlowLogsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsFlowLogsResultOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) *string { return v.Target }).(pulumi.StringPtrOutput) +} + +func (o GetIsFlowLogsResultOutput) TargetResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) *string { return v.TargetResourceType }).(pulumi.StringPtrOutput) +} + +func (o GetIsFlowLogsResultOutput) Vpc() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) *string { return v.Vpc }).(pulumi.StringPtrOutput) +} + +func (o GetIsFlowLogsResultOutput) VpcCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) *string { return v.VpcCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsFlowLogsResultOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsFlowLogsResult) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsFlowLogsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIkePolicies.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIkePolicies.go new file mode 100644 index 000000000..08ffa2b96 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIkePolicies.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsIkePolicies(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsIkePoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsIkePoliciesResult + err := ctx.Invoke("ibmcloud:index/getIsIkePolicies:getIsIkePolicies", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsIkePolicies. +type GetIsIkePoliciesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IkePolicies []GetIsIkePoliciesIkePolicy `pulumi:"ikePolicies"` +} + +func GetIsIkePoliciesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsIkePoliciesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsIkePoliciesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsIkePolicies:getIsIkePolicies", nil, GetIsIkePoliciesResultOutput{}, options).(GetIsIkePoliciesResultOutput), nil + }).(GetIsIkePoliciesResultOutput) +} + +// A collection of values returned by getIsIkePolicies. +type GetIsIkePoliciesResultOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesResult)(nil)).Elem() +} + +func (o GetIsIkePoliciesResultOutput) ToGetIsIkePoliciesResultOutput() GetIsIkePoliciesResultOutput { + return o +} + +func (o GetIsIkePoliciesResultOutput) ToGetIsIkePoliciesResultOutputWithContext(ctx context.Context) GetIsIkePoliciesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsIkePoliciesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsIkePoliciesResultOutput) IkePolicies() GetIsIkePoliciesIkePolicyArrayOutput { + return o.ApplyT(func(v GetIsIkePoliciesResult) []GetIsIkePoliciesIkePolicy { return v.IkePolicies }).(GetIsIkePoliciesIkePolicyArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsIkePoliciesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIkePolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIkePolicy.go new file mode 100644 index 000000000..223bc0857 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIkePolicy.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsIkePolicy(ctx *pulumi.Context, args *LookupIsIkePolicyArgs, opts ...pulumi.InvokeOption) (*LookupIsIkePolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsIkePolicyResult + err := ctx.Invoke("ibmcloud:index/getIsIkePolicy:getIsIkePolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsIkePolicy. +type LookupIsIkePolicyArgs struct { + IkePolicy *string `pulumi:"ikePolicy"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsIkePolicy. +type LookupIsIkePolicyResult struct { + AuthenticationAlgorithm string `pulumi:"authenticationAlgorithm"` + Connections []GetIsIkePolicyConnection `pulumi:"connections"` + CreatedAt string `pulumi:"createdAt"` + DhGroup int `pulumi:"dhGroup"` + EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IkePolicy *string `pulumi:"ikePolicy"` + IkeVersion int `pulumi:"ikeVersion"` + KeyLifetime int `pulumi:"keyLifetime"` + Name *string `pulumi:"name"` + NegotiationMode string `pulumi:"negotiationMode"` + ResourceGroups []GetIsIkePolicyResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` +} + +func LookupIsIkePolicyOutput(ctx *pulumi.Context, args LookupIsIkePolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIsIkePolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsIkePolicyResultOutput, error) { + args := v.(LookupIsIkePolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsIkePolicy:getIsIkePolicy", args, LookupIsIkePolicyResultOutput{}, options).(LookupIsIkePolicyResultOutput), nil + }).(LookupIsIkePolicyResultOutput) +} + +// A collection of arguments for invoking getIsIkePolicy. +type LookupIsIkePolicyOutputArgs struct { + IkePolicy pulumi.StringPtrInput `pulumi:"ikePolicy"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsIkePolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsIkePolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIsIkePolicy. +type LookupIsIkePolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIsIkePolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsIkePolicyResult)(nil)).Elem() +} + +func (o LookupIsIkePolicyResultOutput) ToLookupIsIkePolicyResultOutput() LookupIsIkePolicyResultOutput { + return o +} + +func (o LookupIsIkePolicyResultOutput) ToLookupIsIkePolicyResultOutputWithContext(ctx context.Context) LookupIsIkePolicyResultOutput { + return o +} + +func (o LookupIsIkePolicyResultOutput) AuthenticationAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) string { return v.AuthenticationAlgorithm }).(pulumi.StringOutput) +} + +func (o LookupIsIkePolicyResultOutput) Connections() GetIsIkePolicyConnectionArrayOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) []GetIsIkePolicyConnection { return v.Connections }).(GetIsIkePolicyConnectionArrayOutput) +} + +func (o LookupIsIkePolicyResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsIkePolicyResultOutput) DhGroup() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) int { return v.DhGroup }).(pulumi.IntOutput) +} + +func (o LookupIsIkePolicyResultOutput) EncryptionAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) string { return v.EncryptionAlgorithm }).(pulumi.StringOutput) +} + +func (o LookupIsIkePolicyResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsIkePolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsIkePolicyResultOutput) IkePolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) *string { return v.IkePolicy }).(pulumi.StringPtrOutput) +} + +func (o LookupIsIkePolicyResultOutput) IkeVersion() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) int { return v.IkeVersion }).(pulumi.IntOutput) +} + +func (o LookupIsIkePolicyResultOutput) KeyLifetime() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) int { return v.KeyLifetime }).(pulumi.IntOutput) +} + +func (o LookupIsIkePolicyResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsIkePolicyResultOutput) NegotiationMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) string { return v.NegotiationMode }).(pulumi.StringOutput) +} + +func (o LookupIsIkePolicyResultOutput) ResourceGroups() GetIsIkePolicyResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) []GetIsIkePolicyResourceGroup { return v.ResourceGroups }).(GetIsIkePolicyResourceGroupArrayOutput) +} + +func (o LookupIsIkePolicyResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIkePolicyResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsIkePolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImage.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImage.go new file mode 100644 index 000000000..0cdd05d3b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImage.go @@ -0,0 +1,189 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsImage(ctx *pulumi.Context, args *LookupIsImageArgs, opts ...pulumi.InvokeOption) (*LookupIsImageResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsImageResult + err := ctx.Invoke("ibmcloud:index/getIsImage:getIsImage", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsImage. +type LookupIsImageArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` + Visibility *string `pulumi:"visibility"` +} + +// A collection of values returned by getIsImage. +type LookupIsImageResult struct { + AccessTags []string `pulumi:"accessTags"` + AllowedUses []GetIsImageAllowedUse `pulumi:"allowedUses"` + Architecture string `pulumi:"architecture"` + CatalogOfferings []GetIsImageCatalogOffering `pulumi:"catalogOfferings"` + Checksum string `pulumi:"checksum"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + DeprecationAt string `pulumi:"deprecationAt"` + Encryption string `pulumi:"encryption"` + EncryptionKey string `pulumi:"encryptionKey"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` + ObsolescenceAt string `pulumi:"obsolescenceAt"` + OperatingSystems []GetIsImageOperatingSystem `pulumi:"operatingSystems"` + Os string `pulumi:"os"` + Remotes []GetIsImageRemote `pulumi:"remotes"` + ResourceGroups []GetIsImageResourceGroup `pulumi:"resourceGroups"` + SourceVolume string `pulumi:"sourceVolume"` + Status string `pulumi:"status"` + StatusReasons []GetIsImageStatusReason `pulumi:"statusReasons"` + UserDataFormat string `pulumi:"userDataFormat"` + Visibility *string `pulumi:"visibility"` +} + +func LookupIsImageOutput(ctx *pulumi.Context, args LookupIsImageOutputArgs, opts ...pulumi.InvokeOption) LookupIsImageResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsImageResultOutput, error) { + args := v.(LookupIsImageArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsImage:getIsImage", args, LookupIsImageResultOutput{}, options).(LookupIsImageResultOutput), nil + }).(LookupIsImageResultOutput) +} + +// A collection of arguments for invoking getIsImage. +type LookupIsImageOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` + Visibility pulumi.StringPtrInput `pulumi:"visibility"` +} + +func (LookupIsImageOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsImageArgs)(nil)).Elem() +} + +// A collection of values returned by getIsImage. +type LookupIsImageResultOutput struct{ *pulumi.OutputState } + +func (LookupIsImageResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsImageResult)(nil)).Elem() +} + +func (o LookupIsImageResultOutput) ToLookupIsImageResultOutput() LookupIsImageResultOutput { + return o +} + +func (o LookupIsImageResultOutput) ToLookupIsImageResultOutputWithContext(ctx context.Context) LookupIsImageResultOutput { + return o +} + +func (o LookupIsImageResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsImageResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsImageResultOutput) AllowedUses() GetIsImageAllowedUseArrayOutput { + return o.ApplyT(func(v LookupIsImageResult) []GetIsImageAllowedUse { return v.AllowedUses }).(GetIsImageAllowedUseArrayOutput) +} + +func (o LookupIsImageResultOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.Architecture }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) CatalogOfferings() GetIsImageCatalogOfferingArrayOutput { + return o.ApplyT(func(v LookupIsImageResult) []GetIsImageCatalogOffering { return v.CatalogOfferings }).(GetIsImageCatalogOfferingArrayOutput) +} + +func (o LookupIsImageResultOutput) Checksum() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.Checksum }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) DeprecationAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.DeprecationAt }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.Encryption }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsImageResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsImageResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsImageResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsImageResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsImageResultOutput) ObsolescenceAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.ObsolescenceAt }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) OperatingSystems() GetIsImageOperatingSystemArrayOutput { + return o.ApplyT(func(v LookupIsImageResult) []GetIsImageOperatingSystem { return v.OperatingSystems }).(GetIsImageOperatingSystemArrayOutput) +} + +func (o LookupIsImageResultOutput) Os() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.Os }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) Remotes() GetIsImageRemoteArrayOutput { + return o.ApplyT(func(v LookupIsImageResult) []GetIsImageRemote { return v.Remotes }).(GetIsImageRemoteArrayOutput) +} + +func (o LookupIsImageResultOutput) ResourceGroups() GetIsImageResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsImageResult) []GetIsImageResourceGroup { return v.ResourceGroups }).(GetIsImageResourceGroupArrayOutput) +} + +func (o LookupIsImageResultOutput) SourceVolume() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.SourceVolume }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) StatusReasons() GetIsImageStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsImageResult) []GetIsImageStatusReason { return v.StatusReasons }).(GetIsImageStatusReasonArrayOutput) +} + +func (o LookupIsImageResultOutput) UserDataFormat() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageResult) string { return v.UserDataFormat }).(pulumi.StringOutput) +} + +func (o LookupIsImageResultOutput) Visibility() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsImageResult) *string { return v.Visibility }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsImageResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageBareMetalServerProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageBareMetalServerProfiles.go new file mode 100644 index 000000000..8a1050e61 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageBareMetalServerProfiles.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsImageBareMetalServerProfiles(ctx *pulumi.Context, args *GetIsImageBareMetalServerProfilesArgs, opts ...pulumi.InvokeOption) (*GetIsImageBareMetalServerProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsImageBareMetalServerProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsImageBareMetalServerProfiles:getIsImageBareMetalServerProfiles", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsImageBareMetalServerProfiles. +type GetIsImageBareMetalServerProfilesArgs struct { + Identifier string `pulumi:"identifier"` +} + +// A collection of values returned by getIsImageBareMetalServerProfiles. +type GetIsImageBareMetalServerProfilesResult struct { + BareMetalServerProfiles []GetIsImageBareMetalServerProfilesBareMetalServerProfile `pulumi:"bareMetalServerProfiles"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` +} + +func GetIsImageBareMetalServerProfilesOutput(ctx *pulumi.Context, args GetIsImageBareMetalServerProfilesOutputArgs, opts ...pulumi.InvokeOption) GetIsImageBareMetalServerProfilesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsImageBareMetalServerProfilesResultOutput, error) { + args := v.(GetIsImageBareMetalServerProfilesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsImageBareMetalServerProfiles:getIsImageBareMetalServerProfiles", args, GetIsImageBareMetalServerProfilesResultOutput{}, options).(GetIsImageBareMetalServerProfilesResultOutput), nil + }).(GetIsImageBareMetalServerProfilesResultOutput) +} + +// A collection of arguments for invoking getIsImageBareMetalServerProfiles. +type GetIsImageBareMetalServerProfilesOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (GetIsImageBareMetalServerProfilesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageBareMetalServerProfilesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsImageBareMetalServerProfiles. +type GetIsImageBareMetalServerProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsImageBareMetalServerProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageBareMetalServerProfilesResult)(nil)).Elem() +} + +func (o GetIsImageBareMetalServerProfilesResultOutput) ToGetIsImageBareMetalServerProfilesResultOutput() GetIsImageBareMetalServerProfilesResultOutput { + return o +} + +func (o GetIsImageBareMetalServerProfilesResultOutput) ToGetIsImageBareMetalServerProfilesResultOutputWithContext(ctx context.Context) GetIsImageBareMetalServerProfilesResultOutput { + return o +} + +func (o GetIsImageBareMetalServerProfilesResultOutput) BareMetalServerProfiles() GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput { + return o.ApplyT(func(v GetIsImageBareMetalServerProfilesResult) []GetIsImageBareMetalServerProfilesBareMetalServerProfile { + return v.BareMetalServerProfiles + }).(GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsImageBareMetalServerProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageBareMetalServerProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsImageBareMetalServerProfilesResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageBareMetalServerProfilesResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsImageBareMetalServerProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageExportJob.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageExportJob.go new file mode 100644 index 000000000..c0fbfb1c5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageExportJob.go @@ -0,0 +1,152 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsImageExportJob(ctx *pulumi.Context, args *LookupIsImageExportJobArgs, opts ...pulumi.InvokeOption) (*LookupIsImageExportJobResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsImageExportJobResult + err := ctx.Invoke("ibmcloud:index/getIsImageExportJob:getIsImageExportJob", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsImageExportJob. +type LookupIsImageExportJobArgs struct { + Image string `pulumi:"image"` + ImageExportJob string `pulumi:"imageExportJob"` +} + +// A collection of values returned by getIsImageExportJob. +type LookupIsImageExportJobResult struct { + CompletedAt string `pulumi:"completedAt"` + CreatedAt string `pulumi:"createdAt"` + EncryptedDataKey string `pulumi:"encryptedDataKey"` + Format string `pulumi:"format"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Image string `pulumi:"image"` + ImageExportJob string `pulumi:"imageExportJob"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + StartedAt string `pulumi:"startedAt"` + Status string `pulumi:"status"` + StatusReasons []GetIsImageExportJobStatusReason `pulumi:"statusReasons"` + StorageBuckets []GetIsImageExportJobStorageBucket `pulumi:"storageBuckets"` + StorageHref string `pulumi:"storageHref"` + StorageObjects []GetIsImageExportJobStorageObject `pulumi:"storageObjects"` +} + +func LookupIsImageExportJobOutput(ctx *pulumi.Context, args LookupIsImageExportJobOutputArgs, opts ...pulumi.InvokeOption) LookupIsImageExportJobResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsImageExportJobResultOutput, error) { + args := v.(LookupIsImageExportJobArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsImageExportJob:getIsImageExportJob", args, LookupIsImageExportJobResultOutput{}, options).(LookupIsImageExportJobResultOutput), nil + }).(LookupIsImageExportJobResultOutput) +} + +// A collection of arguments for invoking getIsImageExportJob. +type LookupIsImageExportJobOutputArgs struct { + Image pulumi.StringInput `pulumi:"image"` + ImageExportJob pulumi.StringInput `pulumi:"imageExportJob"` +} + +func (LookupIsImageExportJobOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsImageExportJobArgs)(nil)).Elem() +} + +// A collection of values returned by getIsImageExportJob. +type LookupIsImageExportJobResultOutput struct{ *pulumi.OutputState } + +func (LookupIsImageExportJobResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsImageExportJobResult)(nil)).Elem() +} + +func (o LookupIsImageExportJobResultOutput) ToLookupIsImageExportJobResultOutput() LookupIsImageExportJobResultOutput { + return o +} + +func (o LookupIsImageExportJobResultOutput) ToLookupIsImageExportJobResultOutputWithContext(ctx context.Context) LookupIsImageExportJobResultOutput { + return o +} + +func (o LookupIsImageExportJobResultOutput) CompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.CompletedAt }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) EncryptedDataKey() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.EncryptedDataKey }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.Format }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsImageExportJobResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.Image }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) ImageExportJob() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.ImageExportJob }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) StartedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.StartedAt }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) StatusReasons() GetIsImageExportJobStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) []GetIsImageExportJobStatusReason { return v.StatusReasons }).(GetIsImageExportJobStatusReasonArrayOutput) +} + +func (o LookupIsImageExportJobResultOutput) StorageBuckets() GetIsImageExportJobStorageBucketArrayOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) []GetIsImageExportJobStorageBucket { return v.StorageBuckets }).(GetIsImageExportJobStorageBucketArrayOutput) +} + +func (o LookupIsImageExportJobResultOutput) StorageHref() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) string { return v.StorageHref }).(pulumi.StringOutput) +} + +func (o LookupIsImageExportJobResultOutput) StorageObjects() GetIsImageExportJobStorageObjectArrayOutput { + return o.ApplyT(func(v LookupIsImageExportJobResult) []GetIsImageExportJobStorageObject { return v.StorageObjects }).(GetIsImageExportJobStorageObjectArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsImageExportJobResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageExportJobs.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageExportJobs.go new file mode 100644 index 000000000..8ccd6ad7d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageExportJobs.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsImageExportJobs(ctx *pulumi.Context, args *GetIsImageExportJobsArgs, opts ...pulumi.InvokeOption) (*GetIsImageExportJobsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsImageExportJobsResult + err := ctx.Invoke("ibmcloud:index/getIsImageExportJobs:getIsImageExportJobs", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsImageExportJobs. +type GetIsImageExportJobsArgs struct { + Image string `pulumi:"image"` +} + +// A collection of values returned by getIsImageExportJobs. +type GetIsImageExportJobsResult struct { + ExportJobs []GetIsImageExportJobsExportJob `pulumi:"exportJobs"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Image string `pulumi:"image"` +} + +func GetIsImageExportJobsOutput(ctx *pulumi.Context, args GetIsImageExportJobsOutputArgs, opts ...pulumi.InvokeOption) GetIsImageExportJobsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsImageExportJobsResultOutput, error) { + args := v.(GetIsImageExportJobsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsImageExportJobs:getIsImageExportJobs", args, GetIsImageExportJobsResultOutput{}, options).(GetIsImageExportJobsResultOutput), nil + }).(GetIsImageExportJobsResultOutput) +} + +// A collection of arguments for invoking getIsImageExportJobs. +type GetIsImageExportJobsOutputArgs struct { + Image pulumi.StringInput `pulumi:"image"` +} + +func (GetIsImageExportJobsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsImageExportJobs. +type GetIsImageExportJobsResultOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsResult)(nil)).Elem() +} + +func (o GetIsImageExportJobsResultOutput) ToGetIsImageExportJobsResultOutput() GetIsImageExportJobsResultOutput { + return o +} + +func (o GetIsImageExportJobsResultOutput) ToGetIsImageExportJobsResultOutputWithContext(ctx context.Context) GetIsImageExportJobsResultOutput { + return o +} + +func (o GetIsImageExportJobsResultOutput) ExportJobs() GetIsImageExportJobsExportJobArrayOutput { + return o.ApplyT(func(v GetIsImageExportJobsResult) []GetIsImageExportJobsExportJob { return v.ExportJobs }).(GetIsImageExportJobsExportJobArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsImageExportJobsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsImageExportJobsResultOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsResult) string { return v.Image }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsImageExportJobsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageInstanceProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageInstanceProfiles.go new file mode 100644 index 000000000..53ac55df5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImageInstanceProfiles.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsImageInstanceProfiles(ctx *pulumi.Context, args *GetIsImageInstanceProfilesArgs, opts ...pulumi.InvokeOption) (*GetIsImageInstanceProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsImageInstanceProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsImageInstanceProfiles:getIsImageInstanceProfiles", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsImageInstanceProfiles. +type GetIsImageInstanceProfilesArgs struct { + Identifier string `pulumi:"identifier"` +} + +// A collection of values returned by getIsImageInstanceProfiles. +type GetIsImageInstanceProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + InstanceProfiles []GetIsImageInstanceProfilesInstanceProfile `pulumi:"instanceProfiles"` +} + +func GetIsImageInstanceProfilesOutput(ctx *pulumi.Context, args GetIsImageInstanceProfilesOutputArgs, opts ...pulumi.InvokeOption) GetIsImageInstanceProfilesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsImageInstanceProfilesResultOutput, error) { + args := v.(GetIsImageInstanceProfilesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsImageInstanceProfiles:getIsImageInstanceProfiles", args, GetIsImageInstanceProfilesResultOutput{}, options).(GetIsImageInstanceProfilesResultOutput), nil + }).(GetIsImageInstanceProfilesResultOutput) +} + +// A collection of arguments for invoking getIsImageInstanceProfiles. +type GetIsImageInstanceProfilesOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (GetIsImageInstanceProfilesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageInstanceProfilesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsImageInstanceProfiles. +type GetIsImageInstanceProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsImageInstanceProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageInstanceProfilesResult)(nil)).Elem() +} + +func (o GetIsImageInstanceProfilesResultOutput) ToGetIsImageInstanceProfilesResultOutput() GetIsImageInstanceProfilesResultOutput { + return o +} + +func (o GetIsImageInstanceProfilesResultOutput) ToGetIsImageInstanceProfilesResultOutputWithContext(ctx context.Context) GetIsImageInstanceProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsImageInstanceProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageInstanceProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsImageInstanceProfilesResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageInstanceProfilesResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o GetIsImageInstanceProfilesResultOutput) InstanceProfiles() GetIsImageInstanceProfilesInstanceProfileArrayOutput { + return o.ApplyT(func(v GetIsImageInstanceProfilesResult) []GetIsImageInstanceProfilesInstanceProfile { + return v.InstanceProfiles + }).(GetIsImageInstanceProfilesInstanceProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsImageInstanceProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImages.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImages.go new file mode 100644 index 000000000..d57a97f37 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsImages.go @@ -0,0 +1,127 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsImages(ctx *pulumi.Context, args *GetIsImagesArgs, opts ...pulumi.InvokeOption) (*GetIsImagesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsImagesResult + err := ctx.Invoke("ibmcloud:index/getIsImages:getIsImages", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsImages. +type GetIsImagesArgs struct { + CatalogManaged *bool `pulumi:"catalogManaged"` + Name *string `pulumi:"name"` + RemoteAccountId *string `pulumi:"remoteAccountId"` + ResourceGroup *string `pulumi:"resourceGroup"` + Status *string `pulumi:"status"` + UserDataFormats []string `pulumi:"userDataFormats"` + Visibility *string `pulumi:"visibility"` +} + +// A collection of values returned by getIsImages. +type GetIsImagesResult struct { + CatalogManaged *bool `pulumi:"catalogManaged"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Images []GetIsImagesImage `pulumi:"images"` + Name *string `pulumi:"name"` + RemoteAccountId *string `pulumi:"remoteAccountId"` + ResourceGroup *string `pulumi:"resourceGroup"` + Status *string `pulumi:"status"` + UserDataFormats []string `pulumi:"userDataFormats"` + Visibility *string `pulumi:"visibility"` +} + +func GetIsImagesOutput(ctx *pulumi.Context, args GetIsImagesOutputArgs, opts ...pulumi.InvokeOption) GetIsImagesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsImagesResultOutput, error) { + args := v.(GetIsImagesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsImages:getIsImages", args, GetIsImagesResultOutput{}, options).(GetIsImagesResultOutput), nil + }).(GetIsImagesResultOutput) +} + +// A collection of arguments for invoking getIsImages. +type GetIsImagesOutputArgs struct { + CatalogManaged pulumi.BoolPtrInput `pulumi:"catalogManaged"` + Name pulumi.StringPtrInput `pulumi:"name"` + RemoteAccountId pulumi.StringPtrInput `pulumi:"remoteAccountId"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + Status pulumi.StringPtrInput `pulumi:"status"` + UserDataFormats pulumi.StringArrayInput `pulumi:"userDataFormats"` + Visibility pulumi.StringPtrInput `pulumi:"visibility"` +} + +func (GetIsImagesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsImages. +type GetIsImagesResultOutput struct{ *pulumi.OutputState } + +func (GetIsImagesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesResult)(nil)).Elem() +} + +func (o GetIsImagesResultOutput) ToGetIsImagesResultOutput() GetIsImagesResultOutput { + return o +} + +func (o GetIsImagesResultOutput) ToGetIsImagesResultOutputWithContext(ctx context.Context) GetIsImagesResultOutput { + return o +} + +func (o GetIsImagesResultOutput) CatalogManaged() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetIsImagesResult) *bool { return v.CatalogManaged }).(pulumi.BoolPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsImagesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsImagesResultOutput) Images() GetIsImagesImageArrayOutput { + return o.ApplyT(func(v GetIsImagesResult) []GetIsImagesImage { return v.Images }).(GetIsImagesImageArrayOutput) +} + +func (o GetIsImagesResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsImagesResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsImagesResultOutput) RemoteAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsImagesResult) *string { return v.RemoteAccountId }).(pulumi.StringPtrOutput) +} + +func (o GetIsImagesResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsImagesResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsImagesResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsImagesResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func (o GetIsImagesResultOutput) UserDataFormats() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsImagesResult) []string { return v.UserDataFormats }).(pulumi.StringArrayOutput) +} + +func (o GetIsImagesResultOutput) Visibility() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsImagesResult) *string { return v.Visibility }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsImagesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstance.go new file mode 100644 index 000000000..170fd6c6c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstance.go @@ -0,0 +1,340 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstance(ctx *pulumi.Context, args *LookupIsInstanceArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceResult + err := ctx.Invoke("ibmcloud:index/getIsInstance:getIsInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstance. +type LookupIsInstanceArgs struct { + Name string `pulumi:"name"` + Passphrase *string `pulumi:"passphrase"` + PrivateKey *string `pulumi:"privateKey"` +} + +// A collection of values returned by getIsInstance. +type LookupIsInstanceResult struct { + AccessTags []string `pulumi:"accessTags"` + AvailabilityPolicyHostFailure string `pulumi:"availabilityPolicyHostFailure"` + Bandwidth int `pulumi:"bandwidth"` + BootVolumes []GetIsInstanceBootVolume `pulumi:"bootVolumes"` + CatalogOfferings []GetIsInstanceCatalogOffering `pulumi:"catalogOfferings"` + ClusterNetworkAttachments []GetIsInstanceClusterNetworkAttachmentType `pulumi:"clusterNetworkAttachments"` + ClusterNetworks []GetIsInstanceClusterNetwork `pulumi:"clusterNetworks"` + ConfidentialComputeMode string `pulumi:"confidentialComputeMode"` + Crn string `pulumi:"crn"` + Disks []GetIsInstanceDisk `pulumi:"disks"` + EnableSecureBoot bool `pulumi:"enableSecureBoot"` + Gpus []GetIsInstanceGpus `pulumi:"gpus"` + HealthReasons []GetIsInstanceHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Image string `pulumi:"image"` + Keys []GetIsInstanceKey `pulumi:"keys"` + LifecycleReasons []GetIsInstanceLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Memory int `pulumi:"memory"` + MetadataServiceEnabled bool `pulumi:"metadataServiceEnabled"` + MetadataServices []GetIsInstanceMetadataService `pulumi:"metadataServices"` + Name string `pulumi:"name"` + NetworkAttachments []GetIsInstanceNetworkAttachmentType `pulumi:"networkAttachments"` + NetworkInterfaces []GetIsInstanceNetworkInterfaceType `pulumi:"networkInterfaces"` + NumaCount int `pulumi:"numaCount"` + Passphrase *string `pulumi:"passphrase"` + Password string `pulumi:"password"` + PlacementTargets []GetIsInstancePlacementTarget `pulumi:"placementTargets"` + PrimaryNetworkAttachments []GetIsInstancePrimaryNetworkAttachment `pulumi:"primaryNetworkAttachments"` + PrimaryNetworkInterfaces []GetIsInstancePrimaryNetworkInterface `pulumi:"primaryNetworkInterfaces"` + PrivateKey *string `pulumi:"privateKey"` + Profile string `pulumi:"profile"` + ReservationAffinities []GetIsInstanceReservationAffinity `pulumi:"reservationAffinities"` + Reservations []GetIsInstanceReservation `pulumi:"reservations"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + ResourceStatus string `pulumi:"resourceStatus"` + Status string `pulumi:"status"` + StatusReasons []GetIsInstanceStatusReason `pulumi:"statusReasons"` + Tags []string `pulumi:"tags"` + TotalNetworkBandwidth int `pulumi:"totalNetworkBandwidth"` + TotalVolumeBandwidth int `pulumi:"totalVolumeBandwidth"` + Vcpus []GetIsInstanceVcpus `pulumi:"vcpus"` + VolumeAttachments []GetIsInstanceVolumeAttachmentType `pulumi:"volumeAttachments"` + VolumeBandwidthQosMode string `pulumi:"volumeBandwidthQosMode"` + Volumes []string `pulumi:"volumes"` + Vpc string `pulumi:"vpc"` + Zone string `pulumi:"zone"` +} + +func LookupIsInstanceOutput(ctx *pulumi.Context, args LookupIsInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceResultOutput, error) { + args := v.(LookupIsInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstance:getIsInstance", args, LookupIsInstanceResultOutput{}, options).(LookupIsInstanceResultOutput), nil + }).(LookupIsInstanceResultOutput) +} + +// A collection of arguments for invoking getIsInstance. +type LookupIsInstanceOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` + Passphrase pulumi.StringPtrInput `pulumi:"passphrase"` + PrivateKey pulumi.StringPtrInput `pulumi:"privateKey"` +} + +func (LookupIsInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstance. +type LookupIsInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceResult)(nil)).Elem() +} + +func (o LookupIsInstanceResultOutput) ToLookupIsInstanceResultOutput() LookupIsInstanceResultOutput { + return o +} + +func (o LookupIsInstanceResultOutput) ToLookupIsInstanceResultOutputWithContext(ctx context.Context) LookupIsInstanceResultOutput { + return o +} + +func (o LookupIsInstanceResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsInstanceResultOutput) AvailabilityPolicyHostFailure() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.AvailabilityPolicyHostFailure }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceResult) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceResultOutput) BootVolumes() GetIsInstanceBootVolumeArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceBootVolume { return v.BootVolumes }).(GetIsInstanceBootVolumeArrayOutput) +} + +func (o LookupIsInstanceResultOutput) CatalogOfferings() GetIsInstanceCatalogOfferingArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceCatalogOffering { return v.CatalogOfferings }).(GetIsInstanceCatalogOfferingArrayOutput) +} + +func (o LookupIsInstanceResultOutput) ClusterNetworkAttachments() GetIsInstanceClusterNetworkAttachmentTypeArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceClusterNetworkAttachmentType { + return v.ClusterNetworkAttachments + }).(GetIsInstanceClusterNetworkAttachmentTypeArrayOutput) +} + +func (o LookupIsInstanceResultOutput) ClusterNetworks() GetIsInstanceClusterNetworkArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceClusterNetwork { return v.ClusterNetworks }).(GetIsInstanceClusterNetworkArrayOutput) +} + +func (o LookupIsInstanceResultOutput) ConfidentialComputeMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.ConfidentialComputeMode }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Disks() GetIsInstanceDiskArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceDisk { return v.Disks }).(GetIsInstanceDiskArrayOutput) +} + +func (o LookupIsInstanceResultOutput) EnableSecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceResult) bool { return v.EnableSecureBoot }).(pulumi.BoolOutput) +} + +func (o LookupIsInstanceResultOutput) Gpus() GetIsInstanceGpusArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceGpus { return v.Gpus }).(GetIsInstanceGpusArrayOutput) +} + +func (o LookupIsInstanceResultOutput) HealthReasons() GetIsInstanceHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceHealthReason { return v.HealthReasons }).(GetIsInstanceHealthReasonArrayOutput) +} + +func (o LookupIsInstanceResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Image }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Keys() GetIsInstanceKeyArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceKey { return v.Keys }).(GetIsInstanceKeyArrayOutput) +} + +func (o LookupIsInstanceResultOutput) LifecycleReasons() GetIsInstanceLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceLifecycleReason { return v.LifecycleReasons }).(GetIsInstanceLifecycleReasonArrayOutput) +} + +func (o LookupIsInstanceResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceResult) int { return v.Memory }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceResultOutput) MetadataServiceEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceResult) bool { return v.MetadataServiceEnabled }).(pulumi.BoolOutput) +} + +func (o LookupIsInstanceResultOutput) MetadataServices() GetIsInstanceMetadataServiceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceMetadataService { return v.MetadataServices }).(GetIsInstanceMetadataServiceArrayOutput) +} + +func (o LookupIsInstanceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) NetworkAttachments() GetIsInstanceNetworkAttachmentTypeArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceNetworkAttachmentType { return v.NetworkAttachments }).(GetIsInstanceNetworkAttachmentTypeArrayOutput) +} + +func (o LookupIsInstanceResultOutput) NetworkInterfaces() GetIsInstanceNetworkInterfaceTypeArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceNetworkInterfaceType { return v.NetworkInterfaces }).(GetIsInstanceNetworkInterfaceTypeArrayOutput) +} + +func (o LookupIsInstanceResultOutput) NumaCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceResult) int { return v.NumaCount }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceResultOutput) Passphrase() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsInstanceResult) *string { return v.Passphrase }).(pulumi.StringPtrOutput) +} + +func (o LookupIsInstanceResultOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Password }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) PlacementTargets() GetIsInstancePlacementTargetArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstancePlacementTarget { return v.PlacementTargets }).(GetIsInstancePlacementTargetArrayOutput) +} + +func (o LookupIsInstanceResultOutput) PrimaryNetworkAttachments() GetIsInstancePrimaryNetworkAttachmentArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstancePrimaryNetworkAttachment { + return v.PrimaryNetworkAttachments + }).(GetIsInstancePrimaryNetworkAttachmentArrayOutput) +} + +func (o LookupIsInstanceResultOutput) PrimaryNetworkInterfaces() GetIsInstancePrimaryNetworkInterfaceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstancePrimaryNetworkInterface { + return v.PrimaryNetworkInterfaces + }).(GetIsInstancePrimaryNetworkInterfaceArrayOutput) +} + +func (o LookupIsInstanceResultOutput) PrivateKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsInstanceResult) *string { return v.PrivateKey }).(pulumi.StringPtrOutput) +} + +func (o LookupIsInstanceResultOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) ReservationAffinities() GetIsInstanceReservationAffinityArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceReservationAffinity { return v.ReservationAffinities }).(GetIsInstanceReservationAffinityArrayOutput) +} + +func (o LookupIsInstanceResultOutput) Reservations() GetIsInstanceReservationArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceReservation { return v.Reservations }).(GetIsInstanceReservationArrayOutput) +} + +func (o LookupIsInstanceResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) StatusReasons() GetIsInstanceStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceStatusReason { return v.StatusReasons }).(GetIsInstanceStatusReasonArrayOutput) +} + +func (o LookupIsInstanceResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsInstanceResultOutput) TotalNetworkBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceResult) int { return v.TotalNetworkBandwidth }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceResultOutput) TotalVolumeBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceResult) int { return v.TotalVolumeBandwidth }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceResultOutput) Vcpus() GetIsInstanceVcpusArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceVcpus { return v.Vcpus }).(GetIsInstanceVcpusArrayOutput) +} + +func (o LookupIsInstanceResultOutput) VolumeAttachments() GetIsInstanceVolumeAttachmentTypeArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []GetIsInstanceVolumeAttachmentType { return v.VolumeAttachments }).(GetIsInstanceVolumeAttachmentTypeArrayOutput) +} + +func (o LookupIsInstanceResultOutput) VolumeBandwidthQosMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.VolumeBandwidthQosMode }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Volumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsInstanceResult) []string { return v.Volumes }).(pulumi.StringArrayOutput) +} + +func (o LookupIsInstanceResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceClusterNetworkAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceClusterNetworkAttachment.go new file mode 100644 index 000000000..eecf17fac --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceClusterNetworkAttachment.go @@ -0,0 +1,130 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceClusterNetworkAttachment(ctx *pulumi.Context, args *LookupIsInstanceClusterNetworkAttachmentArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceClusterNetworkAttachmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceClusterNetworkAttachmentResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceClusterNetworkAttachment:getIsInstanceClusterNetworkAttachment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceClusterNetworkAttachment. +type LookupIsInstanceClusterNetworkAttachmentArgs struct { + InstanceClusterNetworkAttachmentId string `pulumi:"instanceClusterNetworkAttachmentId"` + InstanceId string `pulumi:"instanceId"` +} + +// A collection of values returned by getIsInstanceClusterNetworkAttachment. +type LookupIsInstanceClusterNetworkAttachmentResult struct { + Befores []GetIsInstanceClusterNetworkAttachmentBefore `pulumi:"befores"` + ClusterNetworkInterfaces []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface `pulumi:"clusterNetworkInterfaces"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceClusterNetworkAttachmentId string `pulumi:"instanceClusterNetworkAttachmentId"` + InstanceId string `pulumi:"instanceId"` + LifecycleReasons []GetIsInstanceClusterNetworkAttachmentLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` +} + +func LookupIsInstanceClusterNetworkAttachmentOutput(ctx *pulumi.Context, args LookupIsInstanceClusterNetworkAttachmentOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceClusterNetworkAttachmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceClusterNetworkAttachmentResultOutput, error) { + args := v.(LookupIsInstanceClusterNetworkAttachmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceClusterNetworkAttachment:getIsInstanceClusterNetworkAttachment", args, LookupIsInstanceClusterNetworkAttachmentResultOutput{}, options).(LookupIsInstanceClusterNetworkAttachmentResultOutput), nil + }).(LookupIsInstanceClusterNetworkAttachmentResultOutput) +} + +// A collection of arguments for invoking getIsInstanceClusterNetworkAttachment. +type LookupIsInstanceClusterNetworkAttachmentOutputArgs struct { + InstanceClusterNetworkAttachmentId pulumi.StringInput `pulumi:"instanceClusterNetworkAttachmentId"` + InstanceId pulumi.StringInput `pulumi:"instanceId"` +} + +func (LookupIsInstanceClusterNetworkAttachmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceClusterNetworkAttachmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceClusterNetworkAttachment. +type LookupIsInstanceClusterNetworkAttachmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceClusterNetworkAttachmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceClusterNetworkAttachmentResult)(nil)).Elem() +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) ToLookupIsInstanceClusterNetworkAttachmentResultOutput() LookupIsInstanceClusterNetworkAttachmentResultOutput { + return o +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) ToLookupIsInstanceClusterNetworkAttachmentResultOutputWithContext(ctx context.Context) LookupIsInstanceClusterNetworkAttachmentResultOutput { + return o +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) Befores() GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) []GetIsInstanceClusterNetworkAttachmentBefore { + return v.Befores + }).(GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput) +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) ClusterNetworkInterfaces() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface { + return v.ClusterNetworkInterfaces + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) InstanceClusterNetworkAttachmentId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) string { + return v.InstanceClusterNetworkAttachmentId + }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) LifecycleReasons() GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) []GetIsInstanceClusterNetworkAttachmentLifecycleReason { + return v.LifecycleReasons + }).(GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceClusterNetworkAttachmentResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceClusterNetworkAttachmentResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceClusterNetworkAttachmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceClusterNetworkAttachments.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceClusterNetworkAttachments.go new file mode 100644 index 000000000..fdaaa344b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceClusterNetworkAttachments.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceClusterNetworkAttachments(ctx *pulumi.Context, args *GetIsInstanceClusterNetworkAttachmentsArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceClusterNetworkAttachmentsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceClusterNetworkAttachmentsResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceClusterNetworkAttachments:getIsInstanceClusterNetworkAttachments", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceClusterNetworkAttachments. +type GetIsInstanceClusterNetworkAttachmentsArgs struct { + InstanceId string `pulumi:"instanceId"` +} + +// A collection of values returned by getIsInstanceClusterNetworkAttachments. +type GetIsInstanceClusterNetworkAttachmentsResult struct { + ClusterNetworkAttachments []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment `pulumi:"clusterNetworkAttachments"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceId string `pulumi:"instanceId"` +} + +func GetIsInstanceClusterNetworkAttachmentsOutput(ctx *pulumi.Context, args GetIsInstanceClusterNetworkAttachmentsOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceClusterNetworkAttachmentsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceClusterNetworkAttachmentsResultOutput, error) { + args := v.(GetIsInstanceClusterNetworkAttachmentsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceClusterNetworkAttachments:getIsInstanceClusterNetworkAttachments", args, GetIsInstanceClusterNetworkAttachmentsResultOutput{}, options).(GetIsInstanceClusterNetworkAttachmentsResultOutput), nil + }).(GetIsInstanceClusterNetworkAttachmentsResultOutput) +} + +// A collection of arguments for invoking getIsInstanceClusterNetworkAttachments. +type GetIsInstanceClusterNetworkAttachmentsOutputArgs struct { + InstanceId pulumi.StringInput `pulumi:"instanceId"` +} + +func (GetIsInstanceClusterNetworkAttachmentsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceClusterNetworkAttachments. +type GetIsInstanceClusterNetworkAttachmentsResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsResult)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsResultOutput) ToGetIsInstanceClusterNetworkAttachmentsResultOutput() GetIsInstanceClusterNetworkAttachmentsResultOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsResultOutput) ToGetIsInstanceClusterNetworkAttachmentsResultOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsResultOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsResultOutput) ClusterNetworkAttachments() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsResult) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment { + return v.ClusterNetworkAttachments + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceClusterNetworkAttachmentsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceClusterNetworkAttachmentsResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceDisk.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceDisk.go new file mode 100644 index 000000000..e0233bc21 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceDisk.go @@ -0,0 +1,117 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceDisk(ctx *pulumi.Context, args *LookupIsInstanceDiskArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceDiskResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceDiskResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceDisk:getIsInstanceDisk", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceDisk. +type LookupIsInstanceDiskArgs struct { + Disk string `pulumi:"disk"` + Instance string `pulumi:"instance"` +} + +// A collection of values returned by getIsInstanceDisk. +type LookupIsInstanceDiskResult struct { + CreatedAt string `pulumi:"createdAt"` + Disk string `pulumi:"disk"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instance string `pulumi:"instance"` + InterfaceType string `pulumi:"interfaceType"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + Size int `pulumi:"size"` +} + +func LookupIsInstanceDiskOutput(ctx *pulumi.Context, args LookupIsInstanceDiskOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceDiskResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceDiskResultOutput, error) { + args := v.(LookupIsInstanceDiskArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceDisk:getIsInstanceDisk", args, LookupIsInstanceDiskResultOutput{}, options).(LookupIsInstanceDiskResultOutput), nil + }).(LookupIsInstanceDiskResultOutput) +} + +// A collection of arguments for invoking getIsInstanceDisk. +type LookupIsInstanceDiskOutputArgs struct { + Disk pulumi.StringInput `pulumi:"disk"` + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (LookupIsInstanceDiskOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceDiskArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceDisk. +type LookupIsInstanceDiskResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceDiskResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceDiskResult)(nil)).Elem() +} + +func (o LookupIsInstanceDiskResultOutput) ToLookupIsInstanceDiskResultOutput() LookupIsInstanceDiskResultOutput { + return o +} + +func (o LookupIsInstanceDiskResultOutput) ToLookupIsInstanceDiskResultOutputWithContext(ctx context.Context) LookupIsInstanceDiskResultOutput { + return o +} + +func (o LookupIsInstanceDiskResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceDiskResultOutput) Disk() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) string { return v.Disk }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceDiskResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceDiskResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceDiskResultOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) string { return v.Instance }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceDiskResultOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceDiskResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceDiskResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceDiskResultOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceDiskResult) int { return v.Size }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceDiskResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceDisks.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceDisks.go new file mode 100644 index 000000000..82d10639b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceDisks.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceDisks(ctx *pulumi.Context, args *GetIsInstanceDisksArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceDisksResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceDisksResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceDisks:getIsInstanceDisks", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceDisks. +type GetIsInstanceDisksArgs struct { + Instance string `pulumi:"instance"` +} + +// A collection of values returned by getIsInstanceDisks. +type GetIsInstanceDisksResult struct { + Disks []GetIsInstanceDisksDisk `pulumi:"disks"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instance string `pulumi:"instance"` +} + +func GetIsInstanceDisksOutput(ctx *pulumi.Context, args GetIsInstanceDisksOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceDisksResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceDisksResultOutput, error) { + args := v.(GetIsInstanceDisksArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceDisks:getIsInstanceDisks", args, GetIsInstanceDisksResultOutput{}, options).(GetIsInstanceDisksResultOutput), nil + }).(GetIsInstanceDisksResultOutput) +} + +// A collection of arguments for invoking getIsInstanceDisks. +type GetIsInstanceDisksOutputArgs struct { + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsInstanceDisksOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceDisksArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceDisks. +type GetIsInstanceDisksResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceDisksResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceDisksResult)(nil)).Elem() +} + +func (o GetIsInstanceDisksResultOutput) ToGetIsInstanceDisksResultOutput() GetIsInstanceDisksResultOutput { + return o +} + +func (o GetIsInstanceDisksResultOutput) ToGetIsInstanceDisksResultOutputWithContext(ctx context.Context) GetIsInstanceDisksResultOutput { + return o +} + +func (o GetIsInstanceDisksResultOutput) Disks() GetIsInstanceDisksDiskArrayOutput { + return o.ApplyT(func(v GetIsInstanceDisksResult) []GetIsInstanceDisksDisk { return v.Disks }).(GetIsInstanceDisksDiskArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceDisksResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisksResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceDisksResultOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisksResult) string { return v.Instance }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceDisksResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroup.go new file mode 100644 index 000000000..ca6c99ac2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroup.go @@ -0,0 +1,135 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceGroup(ctx *pulumi.Context, args *LookupIsInstanceGroupArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceGroupResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroup:getIsInstanceGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroup. +type LookupIsInstanceGroupArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsInstanceGroup. +type LookupIsInstanceGroupResult struct { + AccessTags []string `pulumi:"accessTags"` + ApplicationPort int `pulumi:"applicationPort"` + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceTemplate string `pulumi:"instanceTemplate"` + LoadBalancerPool string `pulumi:"loadBalancerPool"` + Managers []string `pulumi:"managers"` + MembershipCount int `pulumi:"membershipCount"` + Name string `pulumi:"name"` + ResourceGroup string `pulumi:"resourceGroup"` + Status string `pulumi:"status"` + Subnets []string `pulumi:"subnets"` + Vpc string `pulumi:"vpc"` +} + +func LookupIsInstanceGroupOutput(ctx *pulumi.Context, args LookupIsInstanceGroupOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceGroupResultOutput, error) { + args := v.(LookupIsInstanceGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroup:getIsInstanceGroup", args, LookupIsInstanceGroupResultOutput{}, options).(LookupIsInstanceGroupResultOutput), nil + }).(LookupIsInstanceGroupResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroup. +type LookupIsInstanceGroupOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsInstanceGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroup. +type LookupIsInstanceGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupResult)(nil)).Elem() +} + +func (o LookupIsInstanceGroupResultOutput) ToLookupIsInstanceGroupResultOutput() LookupIsInstanceGroupResultOutput { + return o +} + +func (o LookupIsInstanceGroupResultOutput) ToLookupIsInstanceGroupResultOutputWithContext(ctx context.Context) LookupIsInstanceGroupResultOutput { + return o +} + +func (o LookupIsInstanceGroupResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsInstanceGroupResultOutput) ApplicationPort() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) int { return v.ApplicationPort }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupResultOutput) InstanceTemplate() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) string { return v.InstanceTemplate }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupResultOutput) LoadBalancerPool() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) string { return v.LoadBalancerPool }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupResultOutput) Managers() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) []string { return v.Managers }).(pulumi.StringArrayOutput) +} + +func (o LookupIsInstanceGroupResultOutput) MembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) int { return v.MembershipCount }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupResultOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) []string { return v.Subnets }).(pulumi.StringArrayOutput) +} + +func (o LookupIsInstanceGroupResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManager.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManager.go new file mode 100644 index 000000000..42506ac46 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManager.go @@ -0,0 +1,127 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceGroupManager(ctx *pulumi.Context, args *LookupIsInstanceGroupManagerArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceGroupManagerResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceGroupManagerResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroupManager:getIsInstanceGroupManager", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroupManager. +type LookupIsInstanceGroupManagerArgs struct { + InstanceGroup string `pulumi:"instanceGroup"` + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsInstanceGroupManager. +type LookupIsInstanceGroupManagerResult struct { + Actions []GetIsInstanceGroupManagerActionType `pulumi:"actions"` + AggregationWindow int `pulumi:"aggregationWindow"` + Cooldown int `pulumi:"cooldown"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup string `pulumi:"instanceGroup"` + ManagerId string `pulumi:"managerId"` + ManagerType string `pulumi:"managerType"` + MaxMembershipCount int `pulumi:"maxMembershipCount"` + MinMembershipCount int `pulumi:"minMembershipCount"` + Name string `pulumi:"name"` + Policies []string `pulumi:"policies"` +} + +func LookupIsInstanceGroupManagerOutput(ctx *pulumi.Context, args LookupIsInstanceGroupManagerOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceGroupManagerResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceGroupManagerResultOutput, error) { + args := v.(LookupIsInstanceGroupManagerArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroupManager:getIsInstanceGroupManager", args, LookupIsInstanceGroupManagerResultOutput{}, options).(LookupIsInstanceGroupManagerResultOutput), nil + }).(LookupIsInstanceGroupManagerResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroupManager. +type LookupIsInstanceGroupManagerOutputArgs struct { + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsInstanceGroupManagerOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupManagerArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroupManager. +type LookupIsInstanceGroupManagerResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceGroupManagerResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupManagerResult)(nil)).Elem() +} + +func (o LookupIsInstanceGroupManagerResultOutput) ToLookupIsInstanceGroupManagerResultOutput() LookupIsInstanceGroupManagerResultOutput { + return o +} + +func (o LookupIsInstanceGroupManagerResultOutput) ToLookupIsInstanceGroupManagerResultOutputWithContext(ctx context.Context) LookupIsInstanceGroupManagerResultOutput { + return o +} + +func (o LookupIsInstanceGroupManagerResultOutput) Actions() GetIsInstanceGroupManagerActionTypeArrayOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) []GetIsInstanceGroupManagerActionType { return v.Actions }).(GetIsInstanceGroupManagerActionTypeArrayOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) AggregationWindow() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) int { return v.AggregationWindow }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) Cooldown() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) int { return v.Cooldown }).(pulumi.IntOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceGroupManagerResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) ManagerId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) string { return v.ManagerId }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) ManagerType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) string { return v.ManagerType }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) MaxMembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) int { return v.MaxMembershipCount }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) MinMembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) int { return v.MinMembershipCount }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerResultOutput) Policies() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerResult) []string { return v.Policies }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceGroupManagerResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerAction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerAction.go new file mode 100644 index 000000000..dd4767e0b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerAction.go @@ -0,0 +1,179 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceGroupManagerAction(ctx *pulumi.Context, args *LookupIsInstanceGroupManagerActionArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceGroupManagerActionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceGroupManagerActionResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroupManagerAction:getIsInstanceGroupManagerAction", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroupManagerAction. +type LookupIsInstanceGroupManagerActionArgs struct { + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManager string `pulumi:"instanceGroupManager"` + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsInstanceGroupManagerAction. +type LookupIsInstanceGroupManagerActionResult struct { + ActionId string `pulumi:"actionId"` + ActionType string `pulumi:"actionType"` + AutoDelete bool `pulumi:"autoDelete"` + AutoDeleteTimeout int `pulumi:"autoDeleteTimeout"` + CreatedAt string `pulumi:"createdAt"` + CronSpec string `pulumi:"cronSpec"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManager string `pulumi:"instanceGroupManager"` + LastAppliedAt string `pulumi:"lastAppliedAt"` + MaxMembershipCount int `pulumi:"maxMembershipCount"` + MembershipCount int `pulumi:"membershipCount"` + MinMembershipCount int `pulumi:"minMembershipCount"` + Name string `pulumi:"name"` + NextRunAt string `pulumi:"nextRunAt"` + ResourceType string `pulumi:"resourceType"` + RunAt string `pulumi:"runAt"` + Status string `pulumi:"status"` + TargetManager string `pulumi:"targetManager"` + TargetManagerName string `pulumi:"targetManagerName"` + UpdatedAt string `pulumi:"updatedAt"` +} + +func LookupIsInstanceGroupManagerActionOutput(ctx *pulumi.Context, args LookupIsInstanceGroupManagerActionOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceGroupManagerActionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceGroupManagerActionResultOutput, error) { + args := v.(LookupIsInstanceGroupManagerActionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroupManagerAction:getIsInstanceGroupManagerAction", args, LookupIsInstanceGroupManagerActionResultOutput{}, options).(LookupIsInstanceGroupManagerActionResultOutput), nil + }).(LookupIsInstanceGroupManagerActionResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroupManagerAction. +type LookupIsInstanceGroupManagerActionOutputArgs struct { + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` + InstanceGroupManager pulumi.StringInput `pulumi:"instanceGroupManager"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsInstanceGroupManagerActionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupManagerActionArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroupManagerAction. +type LookupIsInstanceGroupManagerActionResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceGroupManagerActionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupManagerActionResult)(nil)).Elem() +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) ToLookupIsInstanceGroupManagerActionResultOutput() LookupIsInstanceGroupManagerActionResultOutput { + return o +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) ToLookupIsInstanceGroupManagerActionResultOutputWithContext(ctx context.Context) LookupIsInstanceGroupManagerActionResultOutput { + return o +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) ActionId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.ActionId }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) ActionType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.ActionType }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) AutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) int { return v.AutoDeleteTimeout }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) CronSpec() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.CronSpec }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceGroupManagerActionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) InstanceGroupManager() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.InstanceGroupManager }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) LastAppliedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.LastAppliedAt }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) MaxMembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) int { return v.MaxMembershipCount }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) MembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) int { return v.MembershipCount }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) MinMembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) int { return v.MinMembershipCount }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) NextRunAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.NextRunAt }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) RunAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.RunAt }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) TargetManager() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.TargetManager }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) TargetManagerName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.TargetManagerName }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerActionResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerActionResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceGroupManagerActionResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerActions.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerActions.go new file mode 100644 index 000000000..11c3b521f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerActions.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceGroupManagerActions(ctx *pulumi.Context, args *GetIsInstanceGroupManagerActionsArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceGroupManagerActionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceGroupManagerActionsResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroupManagerActions:getIsInstanceGroupManagerActions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroupManagerActions. +type GetIsInstanceGroupManagerActionsArgs struct { + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManager string `pulumi:"instanceGroupManager"` +} + +// A collection of values returned by getIsInstanceGroupManagerActions. +type GetIsInstanceGroupManagerActionsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManager string `pulumi:"instanceGroupManager"` + InstanceGroupManagerActions []GetIsInstanceGroupManagerActionsInstanceGroupManagerAction `pulumi:"instanceGroupManagerActions"` +} + +func GetIsInstanceGroupManagerActionsOutput(ctx *pulumi.Context, args GetIsInstanceGroupManagerActionsOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceGroupManagerActionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceGroupManagerActionsResultOutput, error) { + args := v.(GetIsInstanceGroupManagerActionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroupManagerActions:getIsInstanceGroupManagerActions", args, GetIsInstanceGroupManagerActionsResultOutput{}, options).(GetIsInstanceGroupManagerActionsResultOutput), nil + }).(GetIsInstanceGroupManagerActionsResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroupManagerActions. +type GetIsInstanceGroupManagerActionsOutputArgs struct { + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` + InstanceGroupManager pulumi.StringInput `pulumi:"instanceGroupManager"` +} + +func (GetIsInstanceGroupManagerActionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerActionsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroupManagerActions. +type GetIsInstanceGroupManagerActionsResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagerActionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerActionsResult)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagerActionsResultOutput) ToGetIsInstanceGroupManagerActionsResultOutput() GetIsInstanceGroupManagerActionsResultOutput { + return o +} + +func (o GetIsInstanceGroupManagerActionsResultOutput) ToGetIsInstanceGroupManagerActionsResultOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceGroupManagerActionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerActionsResultOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsResult) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerActionsResultOutput) InstanceGroupManager() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsResult) string { return v.InstanceGroupManager }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerActionsResultOutput) InstanceGroupManagerActions() GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsResult) []GetIsInstanceGroupManagerActionsInstanceGroupManagerAction { + return v.InstanceGroupManagerActions + }).(GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceGroupManagerActionsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerPolicies.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerPolicies.go new file mode 100644 index 000000000..1270c0d23 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerPolicies.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceGroupManagerPolicies(ctx *pulumi.Context, args *GetIsInstanceGroupManagerPoliciesArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceGroupManagerPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceGroupManagerPoliciesResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroupManagerPolicies:getIsInstanceGroupManagerPolicies", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroupManagerPolicies. +type GetIsInstanceGroupManagerPoliciesArgs struct { + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManager string `pulumi:"instanceGroupManager"` +} + +// A collection of values returned by getIsInstanceGroupManagerPolicies. +type GetIsInstanceGroupManagerPoliciesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManager string `pulumi:"instanceGroupManager"` + InstanceGroupManagerPolicies []GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy `pulumi:"instanceGroupManagerPolicies"` +} + +func GetIsInstanceGroupManagerPoliciesOutput(ctx *pulumi.Context, args GetIsInstanceGroupManagerPoliciesOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceGroupManagerPoliciesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceGroupManagerPoliciesResultOutput, error) { + args := v.(GetIsInstanceGroupManagerPoliciesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroupManagerPolicies:getIsInstanceGroupManagerPolicies", args, GetIsInstanceGroupManagerPoliciesResultOutput{}, options).(GetIsInstanceGroupManagerPoliciesResultOutput), nil + }).(GetIsInstanceGroupManagerPoliciesResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroupManagerPolicies. +type GetIsInstanceGroupManagerPoliciesOutputArgs struct { + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` + InstanceGroupManager pulumi.StringInput `pulumi:"instanceGroupManager"` +} + +func (GetIsInstanceGroupManagerPoliciesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerPoliciesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroupManagerPolicies. +type GetIsInstanceGroupManagerPoliciesResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagerPoliciesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerPoliciesResult)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagerPoliciesResultOutput) ToGetIsInstanceGroupManagerPoliciesResultOutput() GetIsInstanceGroupManagerPoliciesResultOutput { + return o +} + +func (o GetIsInstanceGroupManagerPoliciesResultOutput) ToGetIsInstanceGroupManagerPoliciesResultOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerPoliciesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceGroupManagerPoliciesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerPoliciesResultOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesResult) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerPoliciesResultOutput) InstanceGroupManager() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesResult) string { return v.InstanceGroupManager }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerPoliciesResultOutput) InstanceGroupManagerPolicies() GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesResult) []GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy { + return v.InstanceGroupManagerPolicies + }).(GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceGroupManagerPoliciesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerPolicy.go new file mode 100644 index 000000000..e317cba44 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagerPolicy.go @@ -0,0 +1,114 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceGroupManagerPolicy(ctx *pulumi.Context, args *LookupIsInstanceGroupManagerPolicyArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceGroupManagerPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceGroupManagerPolicyResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroupManagerPolicy:getIsInstanceGroupManagerPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroupManagerPolicy. +type LookupIsInstanceGroupManagerPolicyArgs struct { + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManager string `pulumi:"instanceGroupManager"` + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsInstanceGroupManagerPolicy. +type LookupIsInstanceGroupManagerPolicyResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManager string `pulumi:"instanceGroupManager"` + MetricType string `pulumi:"metricType"` + MetricValue int `pulumi:"metricValue"` + Name string `pulumi:"name"` + PolicyId string `pulumi:"policyId"` + PolicyType string `pulumi:"policyType"` +} + +func LookupIsInstanceGroupManagerPolicyOutput(ctx *pulumi.Context, args LookupIsInstanceGroupManagerPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceGroupManagerPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceGroupManagerPolicyResultOutput, error) { + args := v.(LookupIsInstanceGroupManagerPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroupManagerPolicy:getIsInstanceGroupManagerPolicy", args, LookupIsInstanceGroupManagerPolicyResultOutput{}, options).(LookupIsInstanceGroupManagerPolicyResultOutput), nil + }).(LookupIsInstanceGroupManagerPolicyResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroupManagerPolicy. +type LookupIsInstanceGroupManagerPolicyOutputArgs struct { + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` + InstanceGroupManager pulumi.StringInput `pulumi:"instanceGroupManager"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsInstanceGroupManagerPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupManagerPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroupManagerPolicy. +type LookupIsInstanceGroupManagerPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceGroupManagerPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupManagerPolicyResult)(nil)).Elem() +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) ToLookupIsInstanceGroupManagerPolicyResultOutput() LookupIsInstanceGroupManagerPolicyResultOutput { + return o +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) ToLookupIsInstanceGroupManagerPolicyResultOutputWithContext(ctx context.Context) LookupIsInstanceGroupManagerPolicyResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceGroupManagerPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerPolicyResult) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) InstanceGroupManager() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerPolicyResult) string { return v.InstanceGroupManager }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) MetricType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerPolicyResult) string { return v.MetricType }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) MetricValue() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerPolicyResult) int { return v.MetricValue }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerPolicyResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerPolicyResult) string { return v.PolicyId }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupManagerPolicyResultOutput) PolicyType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupManagerPolicyResult) string { return v.PolicyType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceGroupManagerPolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagers.go new file mode 100644 index 000000000..f9aec143d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupManagers.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceGroupManagers(ctx *pulumi.Context, args *GetIsInstanceGroupManagersArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceGroupManagersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceGroupManagersResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroupManagers:getIsInstanceGroupManagers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroupManagers. +type GetIsInstanceGroupManagersArgs struct { + InstanceGroup string `pulumi:"instanceGroup"` +} + +// A collection of values returned by getIsInstanceGroupManagers. +type GetIsInstanceGroupManagersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupManagers []GetIsInstanceGroupManagersInstanceGroupManager `pulumi:"instanceGroupManagers"` +} + +func GetIsInstanceGroupManagersOutput(ctx *pulumi.Context, args GetIsInstanceGroupManagersOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceGroupManagersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceGroupManagersResultOutput, error) { + args := v.(GetIsInstanceGroupManagersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroupManagers:getIsInstanceGroupManagers", args, GetIsInstanceGroupManagersResultOutput{}, options).(GetIsInstanceGroupManagersResultOutput), nil + }).(GetIsInstanceGroupManagersResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroupManagers. +type GetIsInstanceGroupManagersOutputArgs struct { + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` +} + +func (GetIsInstanceGroupManagersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagersArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroupManagers. +type GetIsInstanceGroupManagersResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagersResult)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagersResultOutput) ToGetIsInstanceGroupManagersResultOutput() GetIsInstanceGroupManagersResultOutput { + return o +} + +func (o GetIsInstanceGroupManagersResultOutput) ToGetIsInstanceGroupManagersResultOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceGroupManagersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagersResultOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersResult) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagersResultOutput) InstanceGroupManagers() GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersResult) []GetIsInstanceGroupManagersInstanceGroupManager { + return v.InstanceGroupManagers + }).(GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceGroupManagersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupMembership.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupMembership.go new file mode 100644 index 000000000..9053ed329 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupMembership.go @@ -0,0 +1,121 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceGroupMembership(ctx *pulumi.Context, args *LookupIsInstanceGroupMembershipArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceGroupMembershipResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceGroupMembershipResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroupMembership:getIsInstanceGroupMembership", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroupMembership. +type LookupIsInstanceGroupMembershipArgs struct { + InstanceGroup string `pulumi:"instanceGroup"` + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsInstanceGroupMembership. +type LookupIsInstanceGroupMembershipResult struct { + DeleteInstanceOnMembershipDelete bool `pulumi:"deleteInstanceOnMembershipDelete"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup string `pulumi:"instanceGroup"` + InstanceGroupMembership string `pulumi:"instanceGroupMembership"` + InstanceTemplates []GetIsInstanceGroupMembershipInstanceTemplate `pulumi:"instanceTemplates"` + Instances []GetIsInstanceGroupMembershipInstance `pulumi:"instances"` + LoadBalancerPoolMember string `pulumi:"loadBalancerPoolMember"` + Name string `pulumi:"name"` + Status string `pulumi:"status"` +} + +func LookupIsInstanceGroupMembershipOutput(ctx *pulumi.Context, args LookupIsInstanceGroupMembershipOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceGroupMembershipResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceGroupMembershipResultOutput, error) { + args := v.(LookupIsInstanceGroupMembershipArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroupMembership:getIsInstanceGroupMembership", args, LookupIsInstanceGroupMembershipResultOutput{}, options).(LookupIsInstanceGroupMembershipResultOutput), nil + }).(LookupIsInstanceGroupMembershipResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroupMembership. +type LookupIsInstanceGroupMembershipOutputArgs struct { + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsInstanceGroupMembershipOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupMembershipArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroupMembership. +type LookupIsInstanceGroupMembershipResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceGroupMembershipResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceGroupMembershipResult)(nil)).Elem() +} + +func (o LookupIsInstanceGroupMembershipResultOutput) ToLookupIsInstanceGroupMembershipResultOutput() LookupIsInstanceGroupMembershipResultOutput { + return o +} + +func (o LookupIsInstanceGroupMembershipResultOutput) ToLookupIsInstanceGroupMembershipResultOutputWithContext(ctx context.Context) LookupIsInstanceGroupMembershipResultOutput { + return o +} + +func (o LookupIsInstanceGroupMembershipResultOutput) DeleteInstanceOnMembershipDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) bool { return v.DeleteInstanceOnMembershipDelete }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceGroupMembershipResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupMembershipResultOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupMembershipResultOutput) InstanceGroupMembership() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) string { return v.InstanceGroupMembership }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupMembershipResultOutput) InstanceTemplates() GetIsInstanceGroupMembershipInstanceTemplateArrayOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) []GetIsInstanceGroupMembershipInstanceTemplate { + return v.InstanceTemplates + }).(GetIsInstanceGroupMembershipInstanceTemplateArrayOutput) +} + +func (o LookupIsInstanceGroupMembershipResultOutput) Instances() GetIsInstanceGroupMembershipInstanceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) []GetIsInstanceGroupMembershipInstance { + return v.Instances + }).(GetIsInstanceGroupMembershipInstanceArrayOutput) +} + +func (o LookupIsInstanceGroupMembershipResultOutput) LoadBalancerPoolMember() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) string { return v.LoadBalancerPoolMember }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupMembershipResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceGroupMembershipResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceGroupMembershipResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceGroupMembershipResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupMemberships.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupMemberships.go new file mode 100644 index 000000000..91315b75d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroupMemberships.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceGroupMemberships(ctx *pulumi.Context, args *GetIsInstanceGroupMembershipsArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceGroupMembershipsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceGroupMembershipsResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroupMemberships:getIsInstanceGroupMemberships", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceGroupMemberships. +type GetIsInstanceGroupMembershipsArgs struct { + InstanceGroup string `pulumi:"instanceGroup"` +} + +// A collection of values returned by getIsInstanceGroupMemberships. +type GetIsInstanceGroupMembershipsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup string `pulumi:"instanceGroup"` + Memberships []GetIsInstanceGroupMembershipsMembership `pulumi:"memberships"` +} + +func GetIsInstanceGroupMembershipsOutput(ctx *pulumi.Context, args GetIsInstanceGroupMembershipsOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceGroupMembershipsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceGroupMembershipsResultOutput, error) { + args := v.(GetIsInstanceGroupMembershipsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroupMemberships:getIsInstanceGroupMemberships", args, GetIsInstanceGroupMembershipsResultOutput{}, options).(GetIsInstanceGroupMembershipsResultOutput), nil + }).(GetIsInstanceGroupMembershipsResultOutput) +} + +// A collection of arguments for invoking getIsInstanceGroupMemberships. +type GetIsInstanceGroupMembershipsOutputArgs struct { + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` +} + +func (GetIsInstanceGroupMembershipsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceGroupMemberships. +type GetIsInstanceGroupMembershipsResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipsResult)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipsResultOutput) ToGetIsInstanceGroupMembershipsResultOutput() GetIsInstanceGroupMembershipsResultOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsResultOutput) ToGetIsInstanceGroupMembershipsResultOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceGroupMembershipsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupMembershipsResultOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsResult) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupMembershipsResultOutput) Memberships() GetIsInstanceGroupMembershipsMembershipArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsResult) []GetIsInstanceGroupMembershipsMembership { + return v.Memberships + }).(GetIsInstanceGroupMembershipsMembershipArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroups.go new file mode 100644 index 000000000..8b6b9416d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceGroups.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceGroups(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsInstanceGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceGroupsResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceGroups:getIsInstanceGroups", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsInstanceGroups. +type GetIsInstanceGroupsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroups []GetIsInstanceGroupsInstanceGroup `pulumi:"instanceGroups"` +} + +func GetIsInstanceGroupsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsInstanceGroupsResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsInstanceGroupsResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceGroups:getIsInstanceGroups", nil, GetIsInstanceGroupsResultOutput{}, options).(GetIsInstanceGroupsResultOutput), nil + }).(GetIsInstanceGroupsResultOutput) +} + +// A collection of values returned by getIsInstanceGroups. +type GetIsInstanceGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsResult)(nil)).Elem() +} + +func (o GetIsInstanceGroupsResultOutput) ToGetIsInstanceGroupsResultOutput() GetIsInstanceGroupsResultOutput { + return o +} + +func (o GetIsInstanceGroupsResultOutput) ToGetIsInstanceGroupsResultOutputWithContext(ctx context.Context) GetIsInstanceGroupsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupsResultOutput) InstanceGroups() GetIsInstanceGroupsInstanceGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsResult) []GetIsInstanceGroupsInstanceGroup { return v.InstanceGroups }).(GetIsInstanceGroupsInstanceGroupArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkAttachment.go new file mode 100644 index 000000000..cb0933304 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkAttachment.go @@ -0,0 +1,143 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceNetworkAttachment(ctx *pulumi.Context, args *LookupIsInstanceNetworkAttachmentArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceNetworkAttachmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceNetworkAttachmentResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceNetworkAttachment:getIsInstanceNetworkAttachment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceNetworkAttachment. +type LookupIsInstanceNetworkAttachmentArgs struct { + Instance string `pulumi:"instance"` + NetworkAttachment string `pulumi:"networkAttachment"` +} + +// A collection of values returned by getIsInstanceNetworkAttachment. +type LookupIsInstanceNetworkAttachmentResult struct { + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instance string `pulumi:"instance"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + NetworkAttachment string `pulumi:"networkAttachment"` + PortSpeed int `pulumi:"portSpeed"` + PrimaryIps []GetIsInstanceNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + ResourceType string `pulumi:"resourceType"` + Subnets []GetIsInstanceNetworkAttachmentSubnet `pulumi:"subnets"` + Type string `pulumi:"type"` + VirtualNetworkInterfaces []GetIsInstanceNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +func LookupIsInstanceNetworkAttachmentOutput(ctx *pulumi.Context, args LookupIsInstanceNetworkAttachmentOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceNetworkAttachmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceNetworkAttachmentResultOutput, error) { + args := v.(LookupIsInstanceNetworkAttachmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceNetworkAttachment:getIsInstanceNetworkAttachment", args, LookupIsInstanceNetworkAttachmentResultOutput{}, options).(LookupIsInstanceNetworkAttachmentResultOutput), nil + }).(LookupIsInstanceNetworkAttachmentResultOutput) +} + +// A collection of arguments for invoking getIsInstanceNetworkAttachment. +type LookupIsInstanceNetworkAttachmentOutputArgs struct { + Instance pulumi.StringInput `pulumi:"instance"` + NetworkAttachment pulumi.StringInput `pulumi:"networkAttachment"` +} + +func (LookupIsInstanceNetworkAttachmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceNetworkAttachmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceNetworkAttachment. +type LookupIsInstanceNetworkAttachmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceNetworkAttachmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceNetworkAttachmentResult)(nil)).Elem() +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) ToLookupIsInstanceNetworkAttachmentResultOutput() LookupIsInstanceNetworkAttachmentResultOutput { + return o +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) ToLookupIsInstanceNetworkAttachmentResultOutputWithContext(ctx context.Context) LookupIsInstanceNetworkAttachmentResultOutput { + return o +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceNetworkAttachmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.Instance }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) NetworkAttachment() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.NetworkAttachment }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) PrimaryIps() GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) []GetIsInstanceNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) Subnets() GetIsInstanceNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) []GetIsInstanceNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsInstanceNetworkAttachmentSubnetArrayOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkAttachmentResultOutput) VirtualNetworkInterfaces() GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkAttachmentResult) []GetIsInstanceNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceNetworkAttachmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkAttachments.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkAttachments.go new file mode 100644 index 000000000..e30196d8b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkAttachments.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceNetworkAttachments(ctx *pulumi.Context, args *GetIsInstanceNetworkAttachmentsArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceNetworkAttachmentsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceNetworkAttachmentsResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceNetworkAttachments:getIsInstanceNetworkAttachments", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceNetworkAttachments. +type GetIsInstanceNetworkAttachmentsArgs struct { + Instance string `pulumi:"instance"` +} + +// A collection of values returned by getIsInstanceNetworkAttachments. +type GetIsInstanceNetworkAttachmentsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instance string `pulumi:"instance"` + NetworkAttachments []GetIsInstanceNetworkAttachmentsNetworkAttachment `pulumi:"networkAttachments"` +} + +func GetIsInstanceNetworkAttachmentsOutput(ctx *pulumi.Context, args GetIsInstanceNetworkAttachmentsOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceNetworkAttachmentsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceNetworkAttachmentsResultOutput, error) { + args := v.(GetIsInstanceNetworkAttachmentsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceNetworkAttachments:getIsInstanceNetworkAttachments", args, GetIsInstanceNetworkAttachmentsResultOutput{}, options).(GetIsInstanceNetworkAttachmentsResultOutput), nil + }).(GetIsInstanceNetworkAttachmentsResultOutput) +} + +// A collection of arguments for invoking getIsInstanceNetworkAttachments. +type GetIsInstanceNetworkAttachmentsOutputArgs struct { + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsInstanceNetworkAttachmentsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceNetworkAttachments. +type GetIsInstanceNetworkAttachmentsResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsResult)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsResultOutput) ToGetIsInstanceNetworkAttachmentsResultOutput() GetIsInstanceNetworkAttachmentsResultOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsResultOutput) ToGetIsInstanceNetworkAttachmentsResultOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceNetworkAttachmentsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkAttachmentsResultOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsResult) string { return v.Instance }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkAttachmentsResultOutput) NetworkAttachments() GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsResult) []GetIsInstanceNetworkAttachmentsNetworkAttachment { + return v.NetworkAttachments + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterface.go new file mode 100644 index 000000000..ce777687f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterface.go @@ -0,0 +1,158 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceNetworkInterface(ctx *pulumi.Context, args *LookupIsInstanceNetworkInterfaceArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceNetworkInterfaceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceNetworkInterfaceResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceNetworkInterface:getIsInstanceNetworkInterface", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceNetworkInterface. +type LookupIsInstanceNetworkInterfaceArgs struct { + InstanceName string `pulumi:"instanceName"` + NetworkInterfaceName string `pulumi:"networkInterfaceName"` +} + +// A collection of values returned by getIsInstanceNetworkInterface. +type LookupIsInstanceNetworkInterfaceResult struct { + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + CreatedAt string `pulumi:"createdAt"` + FloatingIps []GetIsInstanceNetworkInterfaceFloatingIpType `pulumi:"floatingIps"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceName string `pulumi:"instanceName"` + Name string `pulumi:"name"` + NetworkInterfaceName string `pulumi:"networkInterfaceName"` + PortSpeed int `pulumi:"portSpeed"` + PrimaryIps []GetIsInstanceNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + ResourceType string `pulumi:"resourceType"` + SecurityGroups []GetIsInstanceNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` + Status string `pulumi:"status"` + Subnets []GetIsInstanceNetworkInterfaceSubnet `pulumi:"subnets"` + Type string `pulumi:"type"` +} + +func LookupIsInstanceNetworkInterfaceOutput(ctx *pulumi.Context, args LookupIsInstanceNetworkInterfaceOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceNetworkInterfaceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceNetworkInterfaceResultOutput, error) { + args := v.(LookupIsInstanceNetworkInterfaceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceNetworkInterface:getIsInstanceNetworkInterface", args, LookupIsInstanceNetworkInterfaceResultOutput{}, options).(LookupIsInstanceNetworkInterfaceResultOutput), nil + }).(LookupIsInstanceNetworkInterfaceResultOutput) +} + +// A collection of arguments for invoking getIsInstanceNetworkInterface. +type LookupIsInstanceNetworkInterfaceOutputArgs struct { + InstanceName pulumi.StringInput `pulumi:"instanceName"` + NetworkInterfaceName pulumi.StringInput `pulumi:"networkInterfaceName"` +} + +func (LookupIsInstanceNetworkInterfaceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceNetworkInterfaceArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceNetworkInterface. +type LookupIsInstanceNetworkInterfaceResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceNetworkInterfaceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceNetworkInterfaceResult)(nil)).Elem() +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) ToLookupIsInstanceNetworkInterfaceResultOutput() LookupIsInstanceNetworkInterfaceResultOutput { + return o +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) ToLookupIsInstanceNetworkInterfaceResultOutputWithContext(ctx context.Context) LookupIsInstanceNetworkInterfaceResultOutput { + return o +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) FloatingIps() GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) []GetIsInstanceNetworkInterfaceFloatingIpType { + return v.FloatingIps + }).(GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceNetworkInterfaceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.InstanceName }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) NetworkInterfaceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.NetworkInterfaceName }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) PrimaryIps() GetIsInstanceNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) []GetIsInstanceNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceNetworkInterfacePrimaryIpArrayOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) SecurityGroups() GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) []GetIsInstanceNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) Subnets() GetIsInstanceNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) []GetIsInstanceNetworkInterfaceSubnet { return v.Subnets }).(GetIsInstanceNetworkInterfaceSubnetArrayOutput) +} + +func (o LookupIsInstanceNetworkInterfaceResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceNetworkInterfaceResult) string { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceNetworkInterfaceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaceReservedIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaceReservedIp.go new file mode 100644 index 000000000..23ea03020 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaceReservedIp.go @@ -0,0 +1,134 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceNetworkInterfaceReservedIp(ctx *pulumi.Context, args *GetIsInstanceNetworkInterfaceReservedIpArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceNetworkInterfaceReservedIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceNetworkInterfaceReservedIpResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceNetworkInterfaceReservedIp:getIsInstanceNetworkInterfaceReservedIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceNetworkInterfaceReservedIp. +type GetIsInstanceNetworkInterfaceReservedIpArgs struct { + Instance string `pulumi:"instance"` + NetworkInterface string `pulumi:"networkInterface"` + ReservedIp string `pulumi:"reservedIp"` +} + +// A collection of values returned by getIsInstanceNetworkInterfaceReservedIp. +type GetIsInstanceNetworkInterfaceReservedIpResult struct { + Address string `pulumi:"address"` + AutoDelete bool `pulumi:"autoDelete"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instance string `pulumi:"instance"` + Name string `pulumi:"name"` + NetworkInterface string `pulumi:"networkInterface"` + Owner string `pulumi:"owner"` + ReservedIp string `pulumi:"reservedIp"` + ResourceType string `pulumi:"resourceType"` + Target string `pulumi:"target"` +} + +func GetIsInstanceNetworkInterfaceReservedIpOutput(ctx *pulumi.Context, args GetIsInstanceNetworkInterfaceReservedIpOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceNetworkInterfaceReservedIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceNetworkInterfaceReservedIpResultOutput, error) { + args := v.(GetIsInstanceNetworkInterfaceReservedIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceNetworkInterfaceReservedIp:getIsInstanceNetworkInterfaceReservedIp", args, GetIsInstanceNetworkInterfaceReservedIpResultOutput{}, options).(GetIsInstanceNetworkInterfaceReservedIpResultOutput), nil + }).(GetIsInstanceNetworkInterfaceReservedIpResultOutput) +} + +// A collection of arguments for invoking getIsInstanceNetworkInterfaceReservedIp. +type GetIsInstanceNetworkInterfaceReservedIpOutputArgs struct { + Instance pulumi.StringInput `pulumi:"instance"` + NetworkInterface pulumi.StringInput `pulumi:"networkInterface"` + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` +} + +func (GetIsInstanceNetworkInterfaceReservedIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceReservedIpArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceNetworkInterfaceReservedIp. +type GetIsInstanceNetworkInterfaceReservedIpResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceReservedIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceReservedIpResult)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) ToGetIsInstanceNetworkInterfaceReservedIpResultOutput() GetIsInstanceNetworkInterfaceReservedIpResultOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) ToGetIsInstanceNetworkInterfaceReservedIpResultOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceReservedIpResultOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.Address }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.Instance }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.NetworkInterface }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.Owner }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpResultOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpResult) string { return v.Target }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceReservedIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaceReservedIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaceReservedIps.go new file mode 100644 index 000000000..5691665da --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaceReservedIps.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceNetworkInterfaceReservedIps(ctx *pulumi.Context, args *GetIsInstanceNetworkInterfaceReservedIpsArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceNetworkInterfaceReservedIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceNetworkInterfaceReservedIpsResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceNetworkInterfaceReservedIps:getIsInstanceNetworkInterfaceReservedIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceNetworkInterfaceReservedIps. +type GetIsInstanceNetworkInterfaceReservedIpsArgs struct { + Instance string `pulumi:"instance"` + NetworkInterface string `pulumi:"networkInterface"` +} + +// A collection of values returned by getIsInstanceNetworkInterfaceReservedIps. +type GetIsInstanceNetworkInterfaceReservedIpsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instance string `pulumi:"instance"` + NetworkInterface string `pulumi:"networkInterface"` + ReservedIps []GetIsInstanceNetworkInterfaceReservedIpsReservedIp `pulumi:"reservedIps"` + TotalCount int `pulumi:"totalCount"` +} + +func GetIsInstanceNetworkInterfaceReservedIpsOutput(ctx *pulumi.Context, args GetIsInstanceNetworkInterfaceReservedIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceNetworkInterfaceReservedIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceNetworkInterfaceReservedIpsResultOutput, error) { + args := v.(GetIsInstanceNetworkInterfaceReservedIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceNetworkInterfaceReservedIps:getIsInstanceNetworkInterfaceReservedIps", args, GetIsInstanceNetworkInterfaceReservedIpsResultOutput{}, options).(GetIsInstanceNetworkInterfaceReservedIpsResultOutput), nil + }).(GetIsInstanceNetworkInterfaceReservedIpsResultOutput) +} + +// A collection of arguments for invoking getIsInstanceNetworkInterfaceReservedIps. +type GetIsInstanceNetworkInterfaceReservedIpsOutputArgs struct { + Instance pulumi.StringInput `pulumi:"instance"` + NetworkInterface pulumi.StringInput `pulumi:"networkInterface"` +} + +func (GetIsInstanceNetworkInterfaceReservedIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceReservedIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceNetworkInterfaceReservedIps. +type GetIsInstanceNetworkInterfaceReservedIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceReservedIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceReservedIpsResult)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsResultOutput) ToGetIsInstanceNetworkInterfaceReservedIpsResultOutput() GetIsInstanceNetworkInterfaceReservedIpsResultOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsResultOutput) ToGetIsInstanceNetworkInterfaceReservedIpsResultOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceReservedIpsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceNetworkInterfaceReservedIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsResultOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsResult) string { return v.Instance }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsResultOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsResult) string { return v.NetworkInterface }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsResultOutput) ReservedIps() GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsResult) []GetIsInstanceNetworkInterfaceReservedIpsReservedIp { + return v.ReservedIps + }).(GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput) +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceReservedIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaces.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaces.go new file mode 100644 index 000000000..e8c01a47a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceNetworkInterfaces.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceNetworkInterfaces(ctx *pulumi.Context, args *GetIsInstanceNetworkInterfacesArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceNetworkInterfacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceNetworkInterfacesResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceNetworkInterfaces:getIsInstanceNetworkInterfaces", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceNetworkInterfaces. +type GetIsInstanceNetworkInterfacesArgs struct { + InstanceName string `pulumi:"instanceName"` +} + +// A collection of values returned by getIsInstanceNetworkInterfaces. +type GetIsInstanceNetworkInterfacesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceName string `pulumi:"instanceName"` + NetworkInterfaces []GetIsInstanceNetworkInterfacesNetworkInterface `pulumi:"networkInterfaces"` + TotalCount int `pulumi:"totalCount"` +} + +func GetIsInstanceNetworkInterfacesOutput(ctx *pulumi.Context, args GetIsInstanceNetworkInterfacesOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceNetworkInterfacesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceNetworkInterfacesResultOutput, error) { + args := v.(GetIsInstanceNetworkInterfacesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceNetworkInterfaces:getIsInstanceNetworkInterfaces", args, GetIsInstanceNetworkInterfacesResultOutput{}, options).(GetIsInstanceNetworkInterfacesResultOutput), nil + }).(GetIsInstanceNetworkInterfacesResultOutput) +} + +// A collection of arguments for invoking getIsInstanceNetworkInterfaces. +type GetIsInstanceNetworkInterfacesOutputArgs struct { + InstanceName pulumi.StringInput `pulumi:"instanceName"` +} + +func (GetIsInstanceNetworkInterfacesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceNetworkInterfaces. +type GetIsInstanceNetworkInterfacesResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesResult)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesResultOutput) ToGetIsInstanceNetworkInterfacesResultOutput() GetIsInstanceNetworkInterfacesResultOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesResultOutput) ToGetIsInstanceNetworkInterfacesResultOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceNetworkInterfacesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfacesResultOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesResult) string { return v.InstanceName }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkInterfacesResultOutput) NetworkInterfaces() GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesResult) []GetIsInstanceNetworkInterfacesNetworkInterface { + return v.NetworkInterfaces + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput) +} + +func (o GetIsInstanceNetworkInterfacesResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceProfile.go new file mode 100644 index 000000000..a65114faf --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceProfile.go @@ -0,0 +1,229 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceProfile(ctx *pulumi.Context, args *GetIsInstanceProfileArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceProfileResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceProfile:getIsInstanceProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceProfile. +type GetIsInstanceProfileArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsInstanceProfile. +type GetIsInstanceProfileResult struct { + Architecture string `pulumi:"architecture"` + ArchitectureType string `pulumi:"architectureType"` + ArchitectureValues []string `pulumi:"architectureValues"` + Bandwidths []GetIsInstanceProfileBandwidth `pulumi:"bandwidths"` + ClusterNetworkAttachmentCounts []GetIsInstanceProfileClusterNetworkAttachmentCount `pulumi:"clusterNetworkAttachmentCounts"` + ConfidentialComputeModes []GetIsInstanceProfileConfidentialComputeMode `pulumi:"confidentialComputeModes"` + Disks []GetIsInstanceProfileDisk `pulumi:"disks"` + Family string `pulumi:"family"` + GpuCounts []GetIsInstanceProfileGpuCount `pulumi:"gpuCounts"` + GpuManufacturers []GetIsInstanceProfileGpuManufacturer `pulumi:"gpuManufacturers"` + GpuMemories []GetIsInstanceProfileGpuMemory `pulumi:"gpuMemories"` + GpuModels []GetIsInstanceProfileGpuModel `pulumi:"gpuModels"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Memories []GetIsInstanceProfileMemory `pulumi:"memories"` + Name string `pulumi:"name"` + NetworkAttachmentCounts []GetIsInstanceProfileNetworkAttachmentCount `pulumi:"networkAttachmentCounts"` + NetworkInterfaceCounts []GetIsInstanceProfileNetworkInterfaceCount `pulumi:"networkInterfaceCounts"` + NumaCounts []GetIsInstanceProfileNumaCount `pulumi:"numaCounts"` + PortSpeeds []GetIsInstanceProfilePortSpeed `pulumi:"portSpeeds"` + ReservationTerms []GetIsInstanceProfileReservationTerm `pulumi:"reservationTerms"` + SecureBootModes []GetIsInstanceProfileSecureBootMode `pulumi:"secureBootModes"` + Status string `pulumi:"status"` + SupportedClusterNetworkProfiles []GetIsInstanceProfileSupportedClusterNetworkProfile `pulumi:"supportedClusterNetworkProfiles"` + TotalVolumeBandwidths []GetIsInstanceProfileTotalVolumeBandwidth `pulumi:"totalVolumeBandwidths"` + VcpuArchitectures []GetIsInstanceProfileVcpuArchitecture `pulumi:"vcpuArchitectures"` + VcpuCounts []GetIsInstanceProfileVcpuCount `pulumi:"vcpuCounts"` + VcpuManufacturers []GetIsInstanceProfileVcpuManufacturer `pulumi:"vcpuManufacturers"` + VolumeBandwidthQosModes []GetIsInstanceProfileVolumeBandwidthQosMode `pulumi:"volumeBandwidthQosModes"` +} + +func GetIsInstanceProfileOutput(ctx *pulumi.Context, args GetIsInstanceProfileOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceProfileResultOutput, error) { + args := v.(GetIsInstanceProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceProfile:getIsInstanceProfile", args, GetIsInstanceProfileResultOutput{}, options).(GetIsInstanceProfileResultOutput), nil + }).(GetIsInstanceProfileResultOutput) +} + +// A collection of arguments for invoking getIsInstanceProfile. +type GetIsInstanceProfileOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceProfile. +type GetIsInstanceProfileResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileResult)(nil)).Elem() +} + +func (o GetIsInstanceProfileResultOutput) ToGetIsInstanceProfileResultOutput() GetIsInstanceProfileResultOutput { + return o +} + +func (o GetIsInstanceProfileResultOutput) ToGetIsInstanceProfileResultOutputWithContext(ctx context.Context) GetIsInstanceProfileResultOutput { + return o +} + +func (o GetIsInstanceProfileResultOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) string { return v.Architecture }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfileResultOutput) ArchitectureType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) string { return v.ArchitectureType }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfileResultOutput) ArchitectureValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []string { return v.ArchitectureValues }).(pulumi.StringArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) Bandwidths() GetIsInstanceProfileBandwidthArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileBandwidth { return v.Bandwidths }).(GetIsInstanceProfileBandwidthArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) ClusterNetworkAttachmentCounts() GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileClusterNetworkAttachmentCount { + return v.ClusterNetworkAttachmentCounts + }).(GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) ConfidentialComputeModes() GetIsInstanceProfileConfidentialComputeModeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileConfidentialComputeMode { + return v.ConfidentialComputeModes + }).(GetIsInstanceProfileConfidentialComputeModeArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) Disks() GetIsInstanceProfileDiskArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileDisk { return v.Disks }).(GetIsInstanceProfileDiskArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfileResultOutput) GpuCounts() GetIsInstanceProfileGpuCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileGpuCount { return v.GpuCounts }).(GetIsInstanceProfileGpuCountArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) GpuManufacturers() GetIsInstanceProfileGpuManufacturerArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileGpuManufacturer { return v.GpuManufacturers }).(GetIsInstanceProfileGpuManufacturerArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) GpuMemories() GetIsInstanceProfileGpuMemoryArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileGpuMemory { return v.GpuMemories }).(GetIsInstanceProfileGpuMemoryArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) GpuModels() GetIsInstanceProfileGpuModelArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileGpuModel { return v.GpuModels }).(GetIsInstanceProfileGpuModelArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfileResultOutput) Memories() GetIsInstanceProfileMemoryArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileMemory { return v.Memories }).(GetIsInstanceProfileMemoryArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfileResultOutput) NetworkAttachmentCounts() GetIsInstanceProfileNetworkAttachmentCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileNetworkAttachmentCount { + return v.NetworkAttachmentCounts + }).(GetIsInstanceProfileNetworkAttachmentCountArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) NetworkInterfaceCounts() GetIsInstanceProfileNetworkInterfaceCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileNetworkInterfaceCount { + return v.NetworkInterfaceCounts + }).(GetIsInstanceProfileNetworkInterfaceCountArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) NumaCounts() GetIsInstanceProfileNumaCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileNumaCount { return v.NumaCounts }).(GetIsInstanceProfileNumaCountArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) PortSpeeds() GetIsInstanceProfilePortSpeedArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfilePortSpeed { return v.PortSpeeds }).(GetIsInstanceProfilePortSpeedArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) ReservationTerms() GetIsInstanceProfileReservationTermArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileReservationTerm { return v.ReservationTerms }).(GetIsInstanceProfileReservationTermArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) SecureBootModes() GetIsInstanceProfileSecureBootModeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileSecureBootMode { return v.SecureBootModes }).(GetIsInstanceProfileSecureBootModeArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfileResultOutput) SupportedClusterNetworkProfiles() GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileSupportedClusterNetworkProfile { + return v.SupportedClusterNetworkProfiles + }).(GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) TotalVolumeBandwidths() GetIsInstanceProfileTotalVolumeBandwidthArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileTotalVolumeBandwidth { + return v.TotalVolumeBandwidths + }).(GetIsInstanceProfileTotalVolumeBandwidthArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) VcpuArchitectures() GetIsInstanceProfileVcpuArchitectureArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileVcpuArchitecture { return v.VcpuArchitectures }).(GetIsInstanceProfileVcpuArchitectureArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) VcpuCounts() GetIsInstanceProfileVcpuCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileVcpuCount { return v.VcpuCounts }).(GetIsInstanceProfileVcpuCountArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) VcpuManufacturers() GetIsInstanceProfileVcpuManufacturerArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileVcpuManufacturer { return v.VcpuManufacturers }).(GetIsInstanceProfileVcpuManufacturerArrayOutput) +} + +func (o GetIsInstanceProfileResultOutput) VolumeBandwidthQosModes() GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileResult) []GetIsInstanceProfileVolumeBandwidthQosMode { + return v.VolumeBandwidthQosModes + }).(GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceProfiles.go new file mode 100644 index 000000000..94467f346 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceProfiles.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceProfiles(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsInstanceProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceProfiles:getIsInstanceProfiles", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsInstanceProfiles. +type GetIsInstanceProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Profiles []GetIsInstanceProfilesProfile `pulumi:"profiles"` +} + +func GetIsInstanceProfilesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsInstanceProfilesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsInstanceProfilesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceProfiles:getIsInstanceProfiles", nil, GetIsInstanceProfilesResultOutput{}, options).(GetIsInstanceProfilesResultOutput), nil + }).(GetIsInstanceProfilesResultOutput) +} + +// A collection of values returned by getIsInstanceProfiles. +type GetIsInstanceProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesResult)(nil)).Elem() +} + +func (o GetIsInstanceProfilesResultOutput) ToGetIsInstanceProfilesResultOutput() GetIsInstanceProfilesResultOutput { + return o +} + +func (o GetIsInstanceProfilesResultOutput) ToGetIsInstanceProfilesResultOutputWithContext(ctx context.Context) GetIsInstanceProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfilesResultOutput) Profiles() GetIsInstanceProfilesProfileArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesResult) []GetIsInstanceProfilesProfile { return v.Profiles }).(GetIsInstanceProfilesProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceTemplate.go new file mode 100644 index 000000000..d6e580e0c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceTemplate.go @@ -0,0 +1,249 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceTemplate(ctx *pulumi.Context, args *LookupIsInstanceTemplateArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceTemplateResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceTemplateResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceTemplate:getIsInstanceTemplate", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceTemplate. +type LookupIsInstanceTemplateArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsInstanceTemplate. +type LookupIsInstanceTemplateResult struct { + AvailabilityPolicyHostFailure string `pulumi:"availabilityPolicyHostFailure"` + BootVolumeAttachments []GetIsInstanceTemplateBootVolumeAttachment `pulumi:"bootVolumeAttachments"` + CatalogOfferings []GetIsInstanceTemplateCatalogOffering `pulumi:"catalogOfferings"` + ClusterNetworkAttachments []GetIsInstanceTemplateClusterNetworkAttachment `pulumi:"clusterNetworkAttachments"` + ConfidentialComputeMode string `pulumi:"confidentialComputeMode"` + Crn string `pulumi:"crn"` + DefaultTrustedProfileAutoLink bool `pulumi:"defaultTrustedProfileAutoLink"` + DefaultTrustedProfileTarget string `pulumi:"defaultTrustedProfileTarget"` + EnableSecureBoot bool `pulumi:"enableSecureBoot"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + Image string `pulumi:"image"` + Keys []string `pulumi:"keys"` + MetadataServiceEnabled bool `pulumi:"metadataServiceEnabled"` + MetadataServices []GetIsInstanceTemplateMetadataService `pulumi:"metadataServices"` + Name string `pulumi:"name"` + NetworkAttachments []GetIsInstanceTemplateNetworkAttachment `pulumi:"networkAttachments"` + NetworkInterfaces []GetIsInstanceTemplateNetworkInterface `pulumi:"networkInterfaces"` + PlacementTargets []GetIsInstanceTemplatePlacementTarget `pulumi:"placementTargets"` + PrimaryNetworkAttachments []GetIsInstanceTemplatePrimaryNetworkAttachment `pulumi:"primaryNetworkAttachments"` + PrimaryNetworkInterfaces []GetIsInstanceTemplatePrimaryNetworkInterface `pulumi:"primaryNetworkInterfaces"` + Profile string `pulumi:"profile"` + ReservationAffinities []GetIsInstanceTemplateReservationAffinity `pulumi:"reservationAffinities"` + ResourceGroup string `pulumi:"resourceGroup"` + TotalVolumeBandwidth int `pulumi:"totalVolumeBandwidth"` + UserData string `pulumi:"userData"` + VolumeAttachments []GetIsInstanceTemplateVolumeAttachment `pulumi:"volumeAttachments"` + VolumeBandwidthQosMode string `pulumi:"volumeBandwidthQosMode"` + Vpc string `pulumi:"vpc"` + Zone string `pulumi:"zone"` +} + +func LookupIsInstanceTemplateOutput(ctx *pulumi.Context, args LookupIsInstanceTemplateOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceTemplateResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceTemplateResultOutput, error) { + args := v.(LookupIsInstanceTemplateArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceTemplate:getIsInstanceTemplate", args, LookupIsInstanceTemplateResultOutput{}, options).(LookupIsInstanceTemplateResultOutput), nil + }).(LookupIsInstanceTemplateResultOutput) +} + +// A collection of arguments for invoking getIsInstanceTemplate. +type LookupIsInstanceTemplateOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsInstanceTemplateOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceTemplateArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceTemplate. +type LookupIsInstanceTemplateResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceTemplateResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceTemplateResult)(nil)).Elem() +} + +func (o LookupIsInstanceTemplateResultOutput) ToLookupIsInstanceTemplateResultOutput() LookupIsInstanceTemplateResultOutput { + return o +} + +func (o LookupIsInstanceTemplateResultOutput) ToLookupIsInstanceTemplateResultOutputWithContext(ctx context.Context) LookupIsInstanceTemplateResultOutput { + return o +} + +func (o LookupIsInstanceTemplateResultOutput) AvailabilityPolicyHostFailure() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.AvailabilityPolicyHostFailure }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) BootVolumeAttachments() GetIsInstanceTemplateBootVolumeAttachmentArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplateBootVolumeAttachment { + return v.BootVolumeAttachments + }).(GetIsInstanceTemplateBootVolumeAttachmentArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) CatalogOfferings() GetIsInstanceTemplateCatalogOfferingArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplateCatalogOffering { + return v.CatalogOfferings + }).(GetIsInstanceTemplateCatalogOfferingArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) ClusterNetworkAttachments() GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplateClusterNetworkAttachment { + return v.ClusterNetworkAttachments + }).(GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) ConfidentialComputeMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.ConfidentialComputeMode }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) DefaultTrustedProfileAutoLink() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) bool { return v.DefaultTrustedProfileAutoLink }).(pulumi.BoolOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) DefaultTrustedProfileTarget() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.DefaultTrustedProfileTarget }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) EnableSecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) bool { return v.EnableSecureBoot }).(pulumi.BoolOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceTemplateResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Image }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []string { return v.Keys }).(pulumi.StringArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) MetadataServiceEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) bool { return v.MetadataServiceEnabled }).(pulumi.BoolOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) MetadataServices() GetIsInstanceTemplateMetadataServiceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplateMetadataService { + return v.MetadataServices + }).(GetIsInstanceTemplateMetadataServiceArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) NetworkAttachments() GetIsInstanceTemplateNetworkAttachmentArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplateNetworkAttachment { + return v.NetworkAttachments + }).(GetIsInstanceTemplateNetworkAttachmentArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) NetworkInterfaces() GetIsInstanceTemplateNetworkInterfaceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplateNetworkInterface { + return v.NetworkInterfaces + }).(GetIsInstanceTemplateNetworkInterfaceArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) PlacementTargets() GetIsInstanceTemplatePlacementTargetArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplatePlacementTarget { + return v.PlacementTargets + }).(GetIsInstanceTemplatePlacementTargetArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) PrimaryNetworkAttachments() GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplatePrimaryNetworkAttachment { + return v.PrimaryNetworkAttachments + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) PrimaryNetworkInterfaces() GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplatePrimaryNetworkInterface { + return v.PrimaryNetworkInterfaces + }).(GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) ReservationAffinities() GetIsInstanceTemplateReservationAffinityArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplateReservationAffinity { + return v.ReservationAffinities + }).(GetIsInstanceTemplateReservationAffinityArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) TotalVolumeBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) int { return v.TotalVolumeBandwidth }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) UserData() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.UserData }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) VolumeAttachments() GetIsInstanceTemplateVolumeAttachmentArrayOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) []GetIsInstanceTemplateVolumeAttachment { + return v.VolumeAttachments + }).(GetIsInstanceTemplateVolumeAttachmentArrayOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) VolumeBandwidthQosMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.VolumeBandwidthQosMode }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceTemplateResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceTemplateResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceTemplateResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceTemplates.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceTemplates.go new file mode 100644 index 000000000..38f7c497d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceTemplates.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceTemplates(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsInstanceTemplatesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceTemplatesResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceTemplates:getIsInstanceTemplates", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsInstanceTemplates. +type GetIsInstanceTemplatesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Templates []GetIsInstanceTemplatesTemplate `pulumi:"templates"` +} + +func GetIsInstanceTemplatesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsInstanceTemplatesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsInstanceTemplatesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceTemplates:getIsInstanceTemplates", nil, GetIsInstanceTemplatesResultOutput{}, options).(GetIsInstanceTemplatesResultOutput), nil + }).(GetIsInstanceTemplatesResultOutput) +} + +// A collection of values returned by getIsInstanceTemplates. +type GetIsInstanceTemplatesResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesResult)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesResultOutput) ToGetIsInstanceTemplatesResultOutput() GetIsInstanceTemplatesResultOutput { + return o +} + +func (o GetIsInstanceTemplatesResultOutput) ToGetIsInstanceTemplatesResultOutputWithContext(ctx context.Context) GetIsInstanceTemplatesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceTemplatesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesResultOutput) Templates() GetIsInstanceTemplatesTemplateArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesResult) []GetIsInstanceTemplatesTemplate { return v.Templates }).(GetIsInstanceTemplatesTemplateArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceTemplatesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceVolumeAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceVolumeAttachment.go new file mode 100644 index 000000000..aa80683d4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceVolumeAttachment.go @@ -0,0 +1,129 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsInstanceVolumeAttachment(ctx *pulumi.Context, args *LookupIsInstanceVolumeAttachmentArgs, opts ...pulumi.InvokeOption) (*LookupIsInstanceVolumeAttachmentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsInstanceVolumeAttachmentResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceVolumeAttachment:getIsInstanceVolumeAttachment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceVolumeAttachment. +type LookupIsInstanceVolumeAttachmentArgs struct { + Instance string `pulumi:"instance"` + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsInstanceVolumeAttachment. +type LookupIsInstanceVolumeAttachmentResult struct { + Bandwidth int `pulumi:"bandwidth"` + DeleteVolumeOnInstanceDelete bool `pulumi:"deleteVolumeOnInstanceDelete"` + Device string `pulumi:"device"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instance string `pulumi:"instance"` + Name string `pulumi:"name"` + Status string `pulumi:"status"` + Type string `pulumi:"type"` + VolumeAttachmentId string `pulumi:"volumeAttachmentId"` + VolumeReferences []GetIsInstanceVolumeAttachmentVolumeReference `pulumi:"volumeReferences"` +} + +func LookupIsInstanceVolumeAttachmentOutput(ctx *pulumi.Context, args LookupIsInstanceVolumeAttachmentOutputArgs, opts ...pulumi.InvokeOption) LookupIsInstanceVolumeAttachmentResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsInstanceVolumeAttachmentResultOutput, error) { + args := v.(LookupIsInstanceVolumeAttachmentArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceVolumeAttachment:getIsInstanceVolumeAttachment", args, LookupIsInstanceVolumeAttachmentResultOutput{}, options).(LookupIsInstanceVolumeAttachmentResultOutput), nil + }).(LookupIsInstanceVolumeAttachmentResultOutput) +} + +// A collection of arguments for invoking getIsInstanceVolumeAttachment. +type LookupIsInstanceVolumeAttachmentOutputArgs struct { + Instance pulumi.StringInput `pulumi:"instance"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsInstanceVolumeAttachmentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceVolumeAttachmentArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceVolumeAttachment. +type LookupIsInstanceVolumeAttachmentResultOutput struct{ *pulumi.OutputState } + +func (LookupIsInstanceVolumeAttachmentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsInstanceVolumeAttachmentResult)(nil)).Elem() +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) ToLookupIsInstanceVolumeAttachmentResultOutput() LookupIsInstanceVolumeAttachmentResultOutput { + return o +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) ToLookupIsInstanceVolumeAttachmentResultOutputWithContext(ctx context.Context) LookupIsInstanceVolumeAttachmentResultOutput { + return o +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) Device() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) string { return v.Device }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsInstanceVolumeAttachmentResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) string { return v.Instance }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) VolumeAttachmentId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) string { return v.VolumeAttachmentId }).(pulumi.StringOutput) +} + +func (o LookupIsInstanceVolumeAttachmentResultOutput) VolumeReferences() GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput { + return o.ApplyT(func(v LookupIsInstanceVolumeAttachmentResult) []GetIsInstanceVolumeAttachmentVolumeReference { + return v.VolumeReferences + }).(GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsInstanceVolumeAttachmentResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceVolumeAttachments.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceVolumeAttachments.go new file mode 100644 index 000000000..98734fbf5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstanceVolumeAttachments.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstanceVolumeAttachments(ctx *pulumi.Context, args *GetIsInstanceVolumeAttachmentsArgs, opts ...pulumi.InvokeOption) (*GetIsInstanceVolumeAttachmentsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstanceVolumeAttachmentsResult + err := ctx.Invoke("ibmcloud:index/getIsInstanceVolumeAttachments:getIsInstanceVolumeAttachments", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstanceVolumeAttachments. +type GetIsInstanceVolumeAttachmentsArgs struct { + Instance string `pulumi:"instance"` +} + +// A collection of values returned by getIsInstanceVolumeAttachments. +type GetIsInstanceVolumeAttachmentsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instance string `pulumi:"instance"` + VolumeAttachments []GetIsInstanceVolumeAttachmentsVolumeAttachment `pulumi:"volumeAttachments"` +} + +func GetIsInstanceVolumeAttachmentsOutput(ctx *pulumi.Context, args GetIsInstanceVolumeAttachmentsOutputArgs, opts ...pulumi.InvokeOption) GetIsInstanceVolumeAttachmentsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstanceVolumeAttachmentsResultOutput, error) { + args := v.(GetIsInstanceVolumeAttachmentsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstanceVolumeAttachments:getIsInstanceVolumeAttachments", args, GetIsInstanceVolumeAttachmentsResultOutput{}, options).(GetIsInstanceVolumeAttachmentsResultOutput), nil + }).(GetIsInstanceVolumeAttachmentsResultOutput) +} + +// A collection of arguments for invoking getIsInstanceVolumeAttachments. +type GetIsInstanceVolumeAttachmentsOutputArgs struct { + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsInstanceVolumeAttachmentsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstanceVolumeAttachments. +type GetIsInstanceVolumeAttachmentsResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentsResult)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentsResultOutput) ToGetIsInstanceVolumeAttachmentsResultOutput() GetIsInstanceVolumeAttachmentsResultOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentsResultOutput) ToGetIsInstanceVolumeAttachmentsResultOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstanceVolumeAttachmentsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceVolumeAttachmentsResultOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsResult) string { return v.Instance }).(pulumi.StringOutput) +} + +func (o GetIsInstanceVolumeAttachmentsResultOutput) VolumeAttachments() GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsResult) []GetIsInstanceVolumeAttachmentsVolumeAttachment { + return v.VolumeAttachments + }).(GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstances.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstances.go new file mode 100644 index 000000000..d4bf0adc6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsInstances.go @@ -0,0 +1,169 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsInstances(ctx *pulumi.Context, args *GetIsInstancesArgs, opts ...pulumi.InvokeOption) (*GetIsInstancesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsInstancesResult + err := ctx.Invoke("ibmcloud:index/getIsInstances:getIsInstances", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsInstances. +type GetIsInstancesArgs struct { + ClusterNetworkCrn *string `pulumi:"clusterNetworkCrn"` + ClusterNetworkId *string `pulumi:"clusterNetworkId"` + ClusterNetworkName *string `pulumi:"clusterNetworkName"` + DedicatedHost *string `pulumi:"dedicatedHost"` + DedicatedHostName *string `pulumi:"dedicatedHostName"` + InstanceGroup *string `pulumi:"instanceGroup"` + InstanceGroupName *string `pulumi:"instanceGroupName"` + PlacementGroup *string `pulumi:"placementGroup"` + PlacementGroupName *string `pulumi:"placementGroupName"` + ResourceGroup *string `pulumi:"resourceGroup"` + Vpc *string `pulumi:"vpc"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcName *string `pulumi:"vpcName"` +} + +// A collection of values returned by getIsInstances. +type GetIsInstancesResult struct { + ClusterNetworkCrn *string `pulumi:"clusterNetworkCrn"` + ClusterNetworkId *string `pulumi:"clusterNetworkId"` + ClusterNetworkName *string `pulumi:"clusterNetworkName"` + DedicatedHost *string `pulumi:"dedicatedHost"` + DedicatedHostName *string `pulumi:"dedicatedHostName"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroup *string `pulumi:"instanceGroup"` + InstanceGroupName *string `pulumi:"instanceGroupName"` + Instances []GetIsInstancesInstance `pulumi:"instances"` + PlacementGroup *string `pulumi:"placementGroup"` + PlacementGroupName *string `pulumi:"placementGroupName"` + ResourceGroup *string `pulumi:"resourceGroup"` + Vpc *string `pulumi:"vpc"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcName *string `pulumi:"vpcName"` +} + +func GetIsInstancesOutput(ctx *pulumi.Context, args GetIsInstancesOutputArgs, opts ...pulumi.InvokeOption) GetIsInstancesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsInstancesResultOutput, error) { + args := v.(GetIsInstancesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsInstances:getIsInstances", args, GetIsInstancesResultOutput{}, options).(GetIsInstancesResultOutput), nil + }).(GetIsInstancesResultOutput) +} + +// A collection of arguments for invoking getIsInstances. +type GetIsInstancesOutputArgs struct { + ClusterNetworkCrn pulumi.StringPtrInput `pulumi:"clusterNetworkCrn"` + ClusterNetworkId pulumi.StringPtrInput `pulumi:"clusterNetworkId"` + ClusterNetworkName pulumi.StringPtrInput `pulumi:"clusterNetworkName"` + DedicatedHost pulumi.StringPtrInput `pulumi:"dedicatedHost"` + DedicatedHostName pulumi.StringPtrInput `pulumi:"dedicatedHostName"` + InstanceGroup pulumi.StringPtrInput `pulumi:"instanceGroup"` + InstanceGroupName pulumi.StringPtrInput `pulumi:"instanceGroupName"` + PlacementGroup pulumi.StringPtrInput `pulumi:"placementGroup"` + PlacementGroupName pulumi.StringPtrInput `pulumi:"placementGroupName"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + Vpc pulumi.StringPtrInput `pulumi:"vpc"` + VpcCrn pulumi.StringPtrInput `pulumi:"vpcCrn"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` +} + +func (GetIsInstancesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsInstances. +type GetIsInstancesResultOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesResult)(nil)).Elem() +} + +func (o GetIsInstancesResultOutput) ToGetIsInstancesResultOutput() GetIsInstancesResultOutput { + return o +} + +func (o GetIsInstancesResultOutput) ToGetIsInstancesResultOutputWithContext(ctx context.Context) GetIsInstancesResultOutput { + return o +} + +func (o GetIsInstancesResultOutput) ClusterNetworkCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.ClusterNetworkCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) ClusterNetworkId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.ClusterNetworkId }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) ClusterNetworkName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.ClusterNetworkName }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) DedicatedHost() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.DedicatedHost }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) DedicatedHostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.DedicatedHostName }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsInstancesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstancesResultOutput) InstanceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.InstanceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) InstanceGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.InstanceGroupName }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) Instances() GetIsInstancesInstanceArrayOutput { + return o.ApplyT(func(v GetIsInstancesResult) []GetIsInstancesInstance { return v.Instances }).(GetIsInstancesInstanceArrayOutput) +} + +func (o GetIsInstancesResultOutput) PlacementGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.PlacementGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) PlacementGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.PlacementGroupName }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) Vpc() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.Vpc }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) VpcCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.VpcCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsInstancesResultOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsInstancesResult) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsInstancesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIpsecPolicies.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIpsecPolicies.go new file mode 100644 index 000000000..2c520d806 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIpsecPolicies.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsIpsecPolicies(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsIpsecPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsIpsecPoliciesResult + err := ctx.Invoke("ibmcloud:index/getIsIpsecPolicies:getIsIpsecPolicies", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsIpsecPolicies. +type GetIsIpsecPoliciesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IpsecPolicies []GetIsIpsecPoliciesIpsecPolicy `pulumi:"ipsecPolicies"` +} + +func GetIsIpsecPoliciesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsIpsecPoliciesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsIpsecPoliciesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsIpsecPolicies:getIsIpsecPolicies", nil, GetIsIpsecPoliciesResultOutput{}, options).(GetIsIpsecPoliciesResultOutput), nil + }).(GetIsIpsecPoliciesResultOutput) +} + +// A collection of values returned by getIsIpsecPolicies. +type GetIsIpsecPoliciesResultOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesResult)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesResultOutput) ToGetIsIpsecPoliciesResultOutput() GetIsIpsecPoliciesResultOutput { + return o +} + +func (o GetIsIpsecPoliciesResultOutput) ToGetIsIpsecPoliciesResultOutputWithContext(ctx context.Context) GetIsIpsecPoliciesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsIpsecPoliciesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsIpsecPoliciesResultOutput) IpsecPolicies() GetIsIpsecPoliciesIpsecPolicyArrayOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesResult) []GetIsIpsecPoliciesIpsecPolicy { return v.IpsecPolicies }).(GetIsIpsecPoliciesIpsecPolicyArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsIpsecPoliciesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIpsecPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIpsecPolicy.go new file mode 100644 index 000000000..965668811 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsIpsecPolicy.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsIpsecPolicy(ctx *pulumi.Context, args *LookupIsIpsecPolicyArgs, opts ...pulumi.InvokeOption) (*LookupIsIpsecPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsIpsecPolicyResult + err := ctx.Invoke("ibmcloud:index/getIsIpsecPolicy:getIsIpsecPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsIpsecPolicy. +type LookupIsIpsecPolicyArgs struct { + IpsecPolicy *string `pulumi:"ipsecPolicy"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsIpsecPolicy. +type LookupIsIpsecPolicyResult struct { + AuthenticationAlgorithm string `pulumi:"authenticationAlgorithm"` + Connections []GetIsIpsecPolicyConnection `pulumi:"connections"` + CreatedAt string `pulumi:"createdAt"` + EncapsulationMode string `pulumi:"encapsulationMode"` + EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IpsecPolicy *string `pulumi:"ipsecPolicy"` + KeyLifetime int `pulumi:"keyLifetime"` + Name *string `pulumi:"name"` + Pfs string `pulumi:"pfs"` + ResourceGroups []GetIsIpsecPolicyResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + TransformProtocol string `pulumi:"transformProtocol"` +} + +func LookupIsIpsecPolicyOutput(ctx *pulumi.Context, args LookupIsIpsecPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIsIpsecPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsIpsecPolicyResultOutput, error) { + args := v.(LookupIsIpsecPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsIpsecPolicy:getIsIpsecPolicy", args, LookupIsIpsecPolicyResultOutput{}, options).(LookupIsIpsecPolicyResultOutput), nil + }).(LookupIsIpsecPolicyResultOutput) +} + +// A collection of arguments for invoking getIsIpsecPolicy. +type LookupIsIpsecPolicyOutputArgs struct { + IpsecPolicy pulumi.StringPtrInput `pulumi:"ipsecPolicy"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsIpsecPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsIpsecPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIsIpsecPolicy. +type LookupIsIpsecPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIsIpsecPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsIpsecPolicyResult)(nil)).Elem() +} + +func (o LookupIsIpsecPolicyResultOutput) ToLookupIsIpsecPolicyResultOutput() LookupIsIpsecPolicyResultOutput { + return o +} + +func (o LookupIsIpsecPolicyResultOutput) ToLookupIsIpsecPolicyResultOutputWithContext(ctx context.Context) LookupIsIpsecPolicyResultOutput { + return o +} + +func (o LookupIsIpsecPolicyResultOutput) AuthenticationAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.AuthenticationAlgorithm }).(pulumi.StringOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) Connections() GetIsIpsecPolicyConnectionArrayOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) []GetIsIpsecPolicyConnection { return v.Connections }).(GetIsIpsecPolicyConnectionArrayOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) EncapsulationMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.EncapsulationMode }).(pulumi.StringOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) EncryptionAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.EncryptionAlgorithm }).(pulumi.StringOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsIpsecPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) IpsecPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) *string { return v.IpsecPolicy }).(pulumi.StringPtrOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) KeyLifetime() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) int { return v.KeyLifetime }).(pulumi.IntOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) Pfs() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.Pfs }).(pulumi.StringOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) ResourceGroups() GetIsIpsecPolicyResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) []GetIsIpsecPolicyResourceGroup { return v.ResourceGroups }).(GetIsIpsecPolicyResourceGroupArrayOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsIpsecPolicyResultOutput) TransformProtocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsIpsecPolicyResult) string { return v.TransformProtocol }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsIpsecPolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLb.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLb.go new file mode 100644 index 000000000..ed8547122 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLb.go @@ -0,0 +1,232 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsLb(ctx *pulumi.Context, args *LookupIsLbArgs, opts ...pulumi.InvokeOption) (*LookupIsLbResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsLbResult + err := ctx.Invoke("ibmcloud:index/getIsLb:getIsLb", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLb. +type LookupIsLbArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsLb. +type LookupIsLbResult struct { + AccessMode string `pulumi:"accessMode"` + AccessTags []string `pulumi:"accessTags"` + AttachedLoadBalancerPoolMembers []GetIsLbAttachedLoadBalancerPoolMember `pulumi:"attachedLoadBalancerPoolMembers"` + Availability string `pulumi:"availability"` + Crn string `pulumi:"crn"` + Dns []GetIsLbDn `pulumi:"dns"` + FailsafePolicyActions []string `pulumi:"failsafePolicyActions"` + Hostname string `pulumi:"hostname"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceGroupsSupported bool `pulumi:"instanceGroupsSupported"` + Listeners []string `pulumi:"listeners"` + Logging bool `pulumi:"logging"` + Name string `pulumi:"name"` + OperatingStatus string `pulumi:"operatingStatus"` + Pools []GetIsLbPoolType `pulumi:"pools"` + PrivateIp []GetIsLbPrivateIp `pulumi:"privateIp"` + PrivateIps []string `pulumi:"privateIps"` + Profile map[string]string `pulumi:"profile"` + PublicIps []string `pulumi:"publicIps"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + RouteMode bool `pulumi:"routeMode"` + SecurityGroupSupported bool `pulumi:"securityGroupSupported"` + SecurityGroups []string `pulumi:"securityGroups"` + SourceIpSessionPersistenceSupported bool `pulumi:"sourceIpSessionPersistenceSupported"` + Status string `pulumi:"status"` + Subnets []string `pulumi:"subnets"` + Tags []string `pulumi:"tags"` + Type string `pulumi:"type"` + UdpSupported bool `pulumi:"udpSupported"` +} + +func LookupIsLbOutput(ctx *pulumi.Context, args LookupIsLbOutputArgs, opts ...pulumi.InvokeOption) LookupIsLbResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsLbResultOutput, error) { + args := v.(LookupIsLbArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLb:getIsLb", args, LookupIsLbResultOutput{}, options).(LookupIsLbResultOutput), nil + }).(LookupIsLbResultOutput) +} + +// A collection of arguments for invoking getIsLb. +type LookupIsLbOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsLbOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLb. +type LookupIsLbResultOutput struct{ *pulumi.OutputState } + +func (LookupIsLbResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbResult)(nil)).Elem() +} + +func (o LookupIsLbResultOutput) ToLookupIsLbResultOutput() LookupIsLbResultOutput { + return o +} + +func (o LookupIsLbResultOutput) ToLookupIsLbResultOutputWithContext(ctx context.Context) LookupIsLbResultOutput { + return o +} + +func (o LookupIsLbResultOutput) AccessMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.AccessMode }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsLbResultOutput) AttachedLoadBalancerPoolMembers() GetIsLbAttachedLoadBalancerPoolMemberArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []GetIsLbAttachedLoadBalancerPoolMember { + return v.AttachedLoadBalancerPoolMembers + }).(GetIsLbAttachedLoadBalancerPoolMemberArrayOutput) +} + +func (o LookupIsLbResultOutput) Availability() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.Availability }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) Dns() GetIsLbDnArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []GetIsLbDn { return v.Dns }).(GetIsLbDnArrayOutput) +} + +func (o LookupIsLbResultOutput) FailsafePolicyActions() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []string { return v.FailsafePolicyActions }).(pulumi.StringArrayOutput) +} + +func (o LookupIsLbResultOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.Hostname }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsLbResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) InstanceGroupsSupported() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsLbResult) bool { return v.InstanceGroupsSupported }).(pulumi.BoolOutput) +} + +func (o LookupIsLbResultOutput) Listeners() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []string { return v.Listeners }).(pulumi.StringArrayOutput) +} + +func (o LookupIsLbResultOutput) Logging() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsLbResult) bool { return v.Logging }).(pulumi.BoolOutput) +} + +func (o LookupIsLbResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) OperatingStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.OperatingStatus }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) Pools() GetIsLbPoolTypeArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []GetIsLbPoolType { return v.Pools }).(GetIsLbPoolTypeArrayOutput) +} + +func (o LookupIsLbResultOutput) PrivateIp() GetIsLbPrivateIpArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []GetIsLbPrivateIp { return v.PrivateIp }).(GetIsLbPrivateIpArrayOutput) +} + +func (o LookupIsLbResultOutput) PrivateIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []string { return v.PrivateIps }).(pulumi.StringArrayOutput) +} + +func (o LookupIsLbResultOutput) Profile() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupIsLbResult) map[string]string { return v.Profile }).(pulumi.StringMapOutput) +} + +func (o LookupIsLbResultOutput) PublicIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []string { return v.PublicIps }).(pulumi.StringArrayOutput) +} + +func (o LookupIsLbResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) RouteMode() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsLbResult) bool { return v.RouteMode }).(pulumi.BoolOutput) +} + +func (o LookupIsLbResultOutput) SecurityGroupSupported() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsLbResult) bool { return v.SecurityGroupSupported }).(pulumi.BoolOutput) +} + +func (o LookupIsLbResultOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o LookupIsLbResultOutput) SourceIpSessionPersistenceSupported() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsLbResult) bool { return v.SourceIpSessionPersistenceSupported }).(pulumi.BoolOutput) +} + +func (o LookupIsLbResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []string { return v.Subnets }).(pulumi.StringArrayOutput) +} + +func (o LookupIsLbResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsLbResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsLbResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o LookupIsLbResultOutput) UdpSupported() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsLbResult) bool { return v.UdpSupported }).(pulumi.BoolOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsLbResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListener.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListener.go new file mode 100644 index 000000000..09044615d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListener.go @@ -0,0 +1,157 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsLbListener(ctx *pulumi.Context, args *LookupIsLbListenerArgs, opts ...pulumi.InvokeOption) (*LookupIsLbListenerResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsLbListenerResult + err := ctx.Invoke("ibmcloud:index/getIsLbListener:getIsLbListener", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbListener. +type LookupIsLbListenerArgs struct { + Lb string `pulumi:"lb"` + ListenerId string `pulumi:"listenerId"` +} + +// A collection of values returned by getIsLbListener. +type LookupIsLbListenerResult struct { + AcceptProxyProtocol bool `pulumi:"acceptProxyProtocol"` + CertificateInstances []GetIsLbListenerCertificateInstance `pulumi:"certificateInstances"` + ConnectionLimit int `pulumi:"connectionLimit"` + CreatedAt string `pulumi:"createdAt"` + DefaultPools []GetIsLbListenerDefaultPool `pulumi:"defaultPools"` + Href string `pulumi:"href"` + HttpsRedirects []GetIsLbListenerHttpsRedirect `pulumi:"httpsRedirects"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IdleConnectionTimeout int `pulumi:"idleConnectionTimeout"` + Lb string `pulumi:"lb"` + ListenerId string `pulumi:"listenerId"` + Policies []GetIsLbListenerPolicyType `pulumi:"policies"` + Port int `pulumi:"port"` + PortMax int `pulumi:"portMax"` + PortMin int `pulumi:"portMin"` + Protocol string `pulumi:"protocol"` + ProvisioningStatus string `pulumi:"provisioningStatus"` +} + +func LookupIsLbListenerOutput(ctx *pulumi.Context, args LookupIsLbListenerOutputArgs, opts ...pulumi.InvokeOption) LookupIsLbListenerResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsLbListenerResultOutput, error) { + args := v.(LookupIsLbListenerArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbListener:getIsLbListener", args, LookupIsLbListenerResultOutput{}, options).(LookupIsLbListenerResultOutput), nil + }).(LookupIsLbListenerResultOutput) +} + +// A collection of arguments for invoking getIsLbListener. +type LookupIsLbListenerOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` + ListenerId pulumi.StringInput `pulumi:"listenerId"` +} + +func (LookupIsLbListenerOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbListenerArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbListener. +type LookupIsLbListenerResultOutput struct{ *pulumi.OutputState } + +func (LookupIsLbListenerResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbListenerResult)(nil)).Elem() +} + +func (o LookupIsLbListenerResultOutput) ToLookupIsLbListenerResultOutput() LookupIsLbListenerResultOutput { + return o +} + +func (o LookupIsLbListenerResultOutput) ToLookupIsLbListenerResultOutputWithContext(ctx context.Context) LookupIsLbListenerResultOutput { + return o +} + +func (o LookupIsLbListenerResultOutput) AcceptProxyProtocol() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) bool { return v.AcceptProxyProtocol }).(pulumi.BoolOutput) +} + +func (o LookupIsLbListenerResultOutput) CertificateInstances() GetIsLbListenerCertificateInstanceArrayOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) []GetIsLbListenerCertificateInstance { return v.CertificateInstances }).(GetIsLbListenerCertificateInstanceArrayOutput) +} + +func (o LookupIsLbListenerResultOutput) ConnectionLimit() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) int { return v.ConnectionLimit }).(pulumi.IntOutput) +} + +func (o LookupIsLbListenerResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerResultOutput) DefaultPools() GetIsLbListenerDefaultPoolArrayOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) []GetIsLbListenerDefaultPool { return v.DefaultPools }).(GetIsLbListenerDefaultPoolArrayOutput) +} + +func (o LookupIsLbListenerResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerResultOutput) HttpsRedirects() GetIsLbListenerHttpsRedirectArrayOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) []GetIsLbListenerHttpsRedirect { return v.HttpsRedirects }).(GetIsLbListenerHttpsRedirectArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsLbListenerResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerResultOutput) IdleConnectionTimeout() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) int { return v.IdleConnectionTimeout }).(pulumi.IntOutput) +} + +func (o LookupIsLbListenerResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerResultOutput) ListenerId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) string { return v.ListenerId }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerResultOutput) Policies() GetIsLbListenerPolicyTypeArrayOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) []GetIsLbListenerPolicyType { return v.Policies }).(GetIsLbListenerPolicyTypeArrayOutput) +} + +func (o LookupIsLbListenerResultOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) int { return v.Port }).(pulumi.IntOutput) +} + +func (o LookupIsLbListenerResultOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) int { return v.PortMax }).(pulumi.IntOutput) +} + +func (o LookupIsLbListenerResultOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) int { return v.PortMin }).(pulumi.IntOutput) +} + +func (o LookupIsLbListenerResultOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) string { return v.Protocol }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerResultOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerResult) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsLbListenerResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicies.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicies.go new file mode 100644 index 000000000..37a103a29 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicies.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsLbListenerPolicies(ctx *pulumi.Context, args *GetIsLbListenerPoliciesArgs, opts ...pulumi.InvokeOption) (*GetIsLbListenerPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsLbListenerPoliciesResult + err := ctx.Invoke("ibmcloud:index/getIsLbListenerPolicies:getIsLbListenerPolicies", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbListenerPolicies. +type GetIsLbListenerPoliciesArgs struct { + Lb string `pulumi:"lb"` + Listener string `pulumi:"listener"` +} + +// A collection of values returned by getIsLbListenerPolicies. +type GetIsLbListenerPoliciesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lb string `pulumi:"lb"` + Listener string `pulumi:"listener"` + Policies []GetIsLbListenerPoliciesPolicy `pulumi:"policies"` +} + +func GetIsLbListenerPoliciesOutput(ctx *pulumi.Context, args GetIsLbListenerPoliciesOutputArgs, opts ...pulumi.InvokeOption) GetIsLbListenerPoliciesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsLbListenerPoliciesResultOutput, error) { + args := v.(GetIsLbListenerPoliciesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbListenerPolicies:getIsLbListenerPolicies", args, GetIsLbListenerPoliciesResultOutput{}, options).(GetIsLbListenerPoliciesResultOutput), nil + }).(GetIsLbListenerPoliciesResultOutput) +} + +// A collection of arguments for invoking getIsLbListenerPolicies. +type GetIsLbListenerPoliciesOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` + Listener pulumi.StringInput `pulumi:"listener"` +} + +func (GetIsLbListenerPoliciesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbListenerPolicies. +type GetIsLbListenerPoliciesResultOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesResult)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesResultOutput) ToGetIsLbListenerPoliciesResultOutput() GetIsLbListenerPoliciesResultOutput { + return o +} + +func (o GetIsLbListenerPoliciesResultOutput) ToGetIsLbListenerPoliciesResultOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsLbListenerPoliciesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPoliciesResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPoliciesResultOutput) Listener() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesResult) string { return v.Listener }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPoliciesResultOutput) Policies() GetIsLbListenerPoliciesPolicyArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesResult) []GetIsLbListenerPoliciesPolicy { return v.Policies }).(GetIsLbListenerPoliciesPolicyArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsLbListenerPoliciesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicy.go new file mode 100644 index 000000000..7ad4e6eb7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicy.go @@ -0,0 +1,134 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsLbListenerPolicy(ctx *pulumi.Context, args *LookupIsLbListenerPolicyArgs, opts ...pulumi.InvokeOption) (*LookupIsLbListenerPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsLbListenerPolicyResult + err := ctx.Invoke("ibmcloud:index/getIsLbListenerPolicy:getIsLbListenerPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbListenerPolicy. +type LookupIsLbListenerPolicyArgs struct { + Lb string `pulumi:"lb"` + Listener string `pulumi:"listener"` + PolicyId string `pulumi:"policyId"` +} + +// A collection of values returned by getIsLbListenerPolicy. +type LookupIsLbListenerPolicyResult struct { + Action string `pulumi:"action"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lb string `pulumi:"lb"` + Listener string `pulumi:"listener"` + Name string `pulumi:"name"` + PolicyId string `pulumi:"policyId"` + Priority int `pulumi:"priority"` + ProvisioningStatus string `pulumi:"provisioningStatus"` + Rules []GetIsLbListenerPolicyRuleType `pulumi:"rules"` + Targets []GetIsLbListenerPolicyTarget `pulumi:"targets"` +} + +func LookupIsLbListenerPolicyOutput(ctx *pulumi.Context, args LookupIsLbListenerPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIsLbListenerPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsLbListenerPolicyResultOutput, error) { + args := v.(LookupIsLbListenerPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbListenerPolicy:getIsLbListenerPolicy", args, LookupIsLbListenerPolicyResultOutput{}, options).(LookupIsLbListenerPolicyResultOutput), nil + }).(LookupIsLbListenerPolicyResultOutput) +} + +// A collection of arguments for invoking getIsLbListenerPolicy. +type LookupIsLbListenerPolicyOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` + Listener pulumi.StringInput `pulumi:"listener"` + PolicyId pulumi.StringInput `pulumi:"policyId"` +} + +func (LookupIsLbListenerPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbListenerPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbListenerPolicy. +type LookupIsLbListenerPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIsLbListenerPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbListenerPolicyResult)(nil)).Elem() +} + +func (o LookupIsLbListenerPolicyResultOutput) ToLookupIsLbListenerPolicyResultOutput() LookupIsLbListenerPolicyResultOutput { + return o +} + +func (o LookupIsLbListenerPolicyResultOutput) ToLookupIsLbListenerPolicyResultOutputWithContext(ctx context.Context) LookupIsLbListenerPolicyResultOutput { + return o +} + +func (o LookupIsLbListenerPolicyResultOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.Action }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsLbListenerPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) Listener() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.Listener }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.PolicyId }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) int { return v.Priority }).(pulumi.IntOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) Rules() GetIsLbListenerPolicyRuleTypeArrayOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) []GetIsLbListenerPolicyRuleType { return v.Rules }).(GetIsLbListenerPolicyRuleTypeArrayOutput) +} + +func (o LookupIsLbListenerPolicyResultOutput) Targets() GetIsLbListenerPolicyTargetArrayOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyResult) []GetIsLbListenerPolicyTarget { return v.Targets }).(GetIsLbListenerPolicyTargetArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsLbListenerPolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicyRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicyRule.go new file mode 100644 index 000000000..6a00874d4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicyRule.go @@ -0,0 +1,136 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsLbListenerPolicyRule(ctx *pulumi.Context, args *LookupIsLbListenerPolicyRuleArgs, opts ...pulumi.InvokeOption) (*LookupIsLbListenerPolicyRuleResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsLbListenerPolicyRuleResult + err := ctx.Invoke("ibmcloud:index/getIsLbListenerPolicyRule:getIsLbListenerPolicyRule", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbListenerPolicyRule. +type LookupIsLbListenerPolicyRuleArgs struct { + Lb string `pulumi:"lb"` + Listener string `pulumi:"listener"` + Policy string `pulumi:"policy"` + Rule string `pulumi:"rule"` +} + +// A collection of values returned by getIsLbListenerPolicyRule. +type LookupIsLbListenerPolicyRuleResult struct { + Condition string `pulumi:"condition"` + CreatedAt string `pulumi:"createdAt"` + Field string `pulumi:"field"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lb string `pulumi:"lb"` + Listener string `pulumi:"listener"` + Policy string `pulumi:"policy"` + ProvisioningStatus string `pulumi:"provisioningStatus"` + Rule string `pulumi:"rule"` + Type string `pulumi:"type"` + Value string `pulumi:"value"` +} + +func LookupIsLbListenerPolicyRuleOutput(ctx *pulumi.Context, args LookupIsLbListenerPolicyRuleOutputArgs, opts ...pulumi.InvokeOption) LookupIsLbListenerPolicyRuleResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsLbListenerPolicyRuleResultOutput, error) { + args := v.(LookupIsLbListenerPolicyRuleArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbListenerPolicyRule:getIsLbListenerPolicyRule", args, LookupIsLbListenerPolicyRuleResultOutput{}, options).(LookupIsLbListenerPolicyRuleResultOutput), nil + }).(LookupIsLbListenerPolicyRuleResultOutput) +} + +// A collection of arguments for invoking getIsLbListenerPolicyRule. +type LookupIsLbListenerPolicyRuleOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` + Listener pulumi.StringInput `pulumi:"listener"` + Policy pulumi.StringInput `pulumi:"policy"` + Rule pulumi.StringInput `pulumi:"rule"` +} + +func (LookupIsLbListenerPolicyRuleOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbListenerPolicyRuleArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbListenerPolicyRule. +type LookupIsLbListenerPolicyRuleResultOutput struct{ *pulumi.OutputState } + +func (LookupIsLbListenerPolicyRuleResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbListenerPolicyRuleResult)(nil)).Elem() +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) ToLookupIsLbListenerPolicyRuleResultOutput() LookupIsLbListenerPolicyRuleResultOutput { + return o +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) ToLookupIsLbListenerPolicyRuleResultOutputWithContext(ctx context.Context) LookupIsLbListenerPolicyRuleResultOutput { + return o +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Condition() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Condition }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Field() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Field }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsLbListenerPolicyRuleResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Listener() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Listener }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Policy }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Rule }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o LookupIsLbListenerPolicyRuleResultOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbListenerPolicyRuleResult) string { return v.Value }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsLbListenerPolicyRuleResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicyRules.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicyRules.go new file mode 100644 index 000000000..68388505a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListenerPolicyRules.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsLbListenerPolicyRules(ctx *pulumi.Context, args *GetIsLbListenerPolicyRulesArgs, opts ...pulumi.InvokeOption) (*GetIsLbListenerPolicyRulesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsLbListenerPolicyRulesResult + err := ctx.Invoke("ibmcloud:index/getIsLbListenerPolicyRules:getIsLbListenerPolicyRules", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbListenerPolicyRules. +type GetIsLbListenerPolicyRulesArgs struct { + Lb string `pulumi:"lb"` + Listener string `pulumi:"listener"` + Policy string `pulumi:"policy"` +} + +// A collection of values returned by getIsLbListenerPolicyRules. +type GetIsLbListenerPolicyRulesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lb string `pulumi:"lb"` + Listener string `pulumi:"listener"` + Policy string `pulumi:"policy"` + Rules []GetIsLbListenerPolicyRulesRule `pulumi:"rules"` +} + +func GetIsLbListenerPolicyRulesOutput(ctx *pulumi.Context, args GetIsLbListenerPolicyRulesOutputArgs, opts ...pulumi.InvokeOption) GetIsLbListenerPolicyRulesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsLbListenerPolicyRulesResultOutput, error) { + args := v.(GetIsLbListenerPolicyRulesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbListenerPolicyRules:getIsLbListenerPolicyRules", args, GetIsLbListenerPolicyRulesResultOutput{}, options).(GetIsLbListenerPolicyRulesResultOutput), nil + }).(GetIsLbListenerPolicyRulesResultOutput) +} + +// A collection of arguments for invoking getIsLbListenerPolicyRules. +type GetIsLbListenerPolicyRulesOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` + Listener pulumi.StringInput `pulumi:"listener"` + Policy pulumi.StringInput `pulumi:"policy"` +} + +func (GetIsLbListenerPolicyRulesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyRulesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbListenerPolicyRules. +type GetIsLbListenerPolicyRulesResultOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyRulesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyRulesResult)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyRulesResultOutput) ToGetIsLbListenerPolicyRulesResultOutput() GetIsLbListenerPolicyRulesResultOutput { + return o +} + +func (o GetIsLbListenerPolicyRulesResultOutput) ToGetIsLbListenerPolicyRulesResultOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRulesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsLbListenerPolicyRulesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPolicyRulesResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPolicyRulesResultOutput) Listener() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesResult) string { return v.Listener }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPolicyRulesResultOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesResult) string { return v.Policy }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPolicyRulesResultOutput) Rules() GetIsLbListenerPolicyRulesRuleArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesResult) []GetIsLbListenerPolicyRulesRule { return v.Rules }).(GetIsLbListenerPolicyRulesRuleArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsLbListenerPolicyRulesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListeners.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListeners.go new file mode 100644 index 000000000..2bb44984c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbListeners.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsLbListeners(ctx *pulumi.Context, args *GetIsLbListenersArgs, opts ...pulumi.InvokeOption) (*GetIsLbListenersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsLbListenersResult + err := ctx.Invoke("ibmcloud:index/getIsLbListeners:getIsLbListeners", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbListeners. +type GetIsLbListenersArgs struct { + Lb string `pulumi:"lb"` +} + +// A collection of values returned by getIsLbListeners. +type GetIsLbListenersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lb string `pulumi:"lb"` + Listeners []GetIsLbListenersListener `pulumi:"listeners"` +} + +func GetIsLbListenersOutput(ctx *pulumi.Context, args GetIsLbListenersOutputArgs, opts ...pulumi.InvokeOption) GetIsLbListenersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsLbListenersResultOutput, error) { + args := v.(GetIsLbListenersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbListeners:getIsLbListeners", args, GetIsLbListenersResultOutput{}, options).(GetIsLbListenersResultOutput), nil + }).(GetIsLbListenersResultOutput) +} + +// A collection of arguments for invoking getIsLbListeners. +type GetIsLbListenersOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` +} + +func (GetIsLbListenersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbListeners. +type GetIsLbListenersResultOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersResult)(nil)).Elem() +} + +func (o GetIsLbListenersResultOutput) ToGetIsLbListenersResultOutput() GetIsLbListenersResultOutput { + return o +} + +func (o GetIsLbListenersResultOutput) ToGetIsLbListenersResultOutputWithContext(ctx context.Context) GetIsLbListenersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsLbListenersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbListenersResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o GetIsLbListenersResultOutput) Listeners() GetIsLbListenersListenerArrayOutput { + return o.ApplyT(func(v GetIsLbListenersResult) []GetIsLbListenersListener { return v.Listeners }).(GetIsLbListenersListenerArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsLbListenersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPool.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPool.go new file mode 100644 index 000000000..79c7f95c0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPool.go @@ -0,0 +1,149 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsLbPool(ctx *pulumi.Context, args *LookupIsLbPoolArgs, opts ...pulumi.InvokeOption) (*LookupIsLbPoolResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsLbPoolResult + err := ctx.Invoke("ibmcloud:index/getIsLbPool:getIsLbPool", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbPool. +type LookupIsLbPoolArgs struct { + Identifier *string `pulumi:"identifier"` + Lb string `pulumi:"lb"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsLbPool. +type LookupIsLbPoolResult struct { + Algorithm string `pulumi:"algorithm"` + CreatedAt string `pulumi:"createdAt"` + FailsafePolicies []GetIsLbPoolFailsafePolicy `pulumi:"failsafePolicies"` + HealthMonitors []GetIsLbPoolHealthMonitor `pulumi:"healthMonitors"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + InstanceGroups []GetIsLbPoolInstanceGroup `pulumi:"instanceGroups"` + Lb string `pulumi:"lb"` + Members []GetIsLbPoolMemberType `pulumi:"members"` + Name string `pulumi:"name"` + Protocol string `pulumi:"protocol"` + ProvisioningStatus string `pulumi:"provisioningStatus"` + ProxyProtocol string `pulumi:"proxyProtocol"` + SessionPersistences []GetIsLbPoolSessionPersistence `pulumi:"sessionPersistences"` +} + +func LookupIsLbPoolOutput(ctx *pulumi.Context, args LookupIsLbPoolOutputArgs, opts ...pulumi.InvokeOption) LookupIsLbPoolResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsLbPoolResultOutput, error) { + args := v.(LookupIsLbPoolArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbPool:getIsLbPool", args, LookupIsLbPoolResultOutput{}, options).(LookupIsLbPoolResultOutput), nil + }).(LookupIsLbPoolResultOutput) +} + +// A collection of arguments for invoking getIsLbPool. +type LookupIsLbPoolOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Lb pulumi.StringInput `pulumi:"lb"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsLbPoolOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbPoolArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbPool. +type LookupIsLbPoolResultOutput struct{ *pulumi.OutputState } + +func (LookupIsLbPoolResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbPoolResult)(nil)).Elem() +} + +func (o LookupIsLbPoolResultOutput) ToLookupIsLbPoolResultOutput() LookupIsLbPoolResultOutput { + return o +} + +func (o LookupIsLbPoolResultOutput) ToLookupIsLbPoolResultOutputWithContext(ctx context.Context) LookupIsLbPoolResultOutput { + return o +} + +func (o LookupIsLbPoolResultOutput) Algorithm() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.Algorithm }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolResultOutput) FailsafePolicies() GetIsLbPoolFailsafePolicyArrayOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) []GetIsLbPoolFailsafePolicy { return v.FailsafePolicies }).(GetIsLbPoolFailsafePolicyArrayOutput) +} + +func (o LookupIsLbPoolResultOutput) HealthMonitors() GetIsLbPoolHealthMonitorArrayOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) []GetIsLbPoolHealthMonitor { return v.HealthMonitors }).(GetIsLbPoolHealthMonitorArrayOutput) +} + +func (o LookupIsLbPoolResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsLbPoolResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsLbPoolResultOutput) InstanceGroups() GetIsLbPoolInstanceGroupArrayOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) []GetIsLbPoolInstanceGroup { return v.InstanceGroups }).(GetIsLbPoolInstanceGroupArrayOutput) +} + +func (o LookupIsLbPoolResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolResultOutput) Members() GetIsLbPoolMemberTypeArrayOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) []GetIsLbPoolMemberType { return v.Members }).(GetIsLbPoolMemberTypeArrayOutput) +} + +func (o LookupIsLbPoolResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolResultOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.Protocol }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolResultOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolResultOutput) ProxyProtocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) string { return v.ProxyProtocol }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolResultOutput) SessionPersistences() GetIsLbPoolSessionPersistenceArrayOutput { + return o.ApplyT(func(v LookupIsLbPoolResult) []GetIsLbPoolSessionPersistence { return v.SessionPersistences }).(GetIsLbPoolSessionPersistenceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsLbPoolResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPoolMember.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPoolMember.go new file mode 100644 index 000000000..eab084d42 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPoolMember.go @@ -0,0 +1,129 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsLbPoolMember(ctx *pulumi.Context, args *LookupIsLbPoolMemberArgs, opts ...pulumi.InvokeOption) (*LookupIsLbPoolMemberResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsLbPoolMemberResult + err := ctx.Invoke("ibmcloud:index/getIsLbPoolMember:getIsLbPoolMember", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbPoolMember. +type LookupIsLbPoolMemberArgs struct { + Lb string `pulumi:"lb"` + Member string `pulumi:"member"` + Pool string `pulumi:"pool"` +} + +// A collection of values returned by getIsLbPoolMember. +type LookupIsLbPoolMemberResult struct { + CreatedAt string `pulumi:"createdAt"` + Health string `pulumi:"health"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lb string `pulumi:"lb"` + Member string `pulumi:"member"` + Pool string `pulumi:"pool"` + Port int `pulumi:"port"` + ProvisioningStatus string `pulumi:"provisioningStatus"` + Targets []GetIsLbPoolMemberTarget `pulumi:"targets"` + Weight int `pulumi:"weight"` +} + +func LookupIsLbPoolMemberOutput(ctx *pulumi.Context, args LookupIsLbPoolMemberOutputArgs, opts ...pulumi.InvokeOption) LookupIsLbPoolMemberResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsLbPoolMemberResultOutput, error) { + args := v.(LookupIsLbPoolMemberArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbPoolMember:getIsLbPoolMember", args, LookupIsLbPoolMemberResultOutput{}, options).(LookupIsLbPoolMemberResultOutput), nil + }).(LookupIsLbPoolMemberResultOutput) +} + +// A collection of arguments for invoking getIsLbPoolMember. +type LookupIsLbPoolMemberOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` + Member pulumi.StringInput `pulumi:"member"` + Pool pulumi.StringInput `pulumi:"pool"` +} + +func (LookupIsLbPoolMemberOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbPoolMemberArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbPoolMember. +type LookupIsLbPoolMemberResultOutput struct{ *pulumi.OutputState } + +func (LookupIsLbPoolMemberResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsLbPoolMemberResult)(nil)).Elem() +} + +func (o LookupIsLbPoolMemberResultOutput) ToLookupIsLbPoolMemberResultOutput() LookupIsLbPoolMemberResultOutput { + return o +} + +func (o LookupIsLbPoolMemberResultOutput) ToLookupIsLbPoolMemberResultOutputWithContext(ctx context.Context) LookupIsLbPoolMemberResultOutput { + return o +} + +func (o LookupIsLbPoolMemberResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) Health() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) string { return v.Health }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsLbPoolMemberResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) Member() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) string { return v.Member }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) Pool() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) string { return v.Pool }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) int { return v.Port }).(pulumi.IntOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) Targets() GetIsLbPoolMemberTargetArrayOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) []GetIsLbPoolMemberTarget { return v.Targets }).(GetIsLbPoolMemberTargetArrayOutput) +} + +func (o LookupIsLbPoolMemberResultOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsLbPoolMemberResult) int { return v.Weight }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsLbPoolMemberResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPoolMembers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPoolMembers.go new file mode 100644 index 000000000..a3e0dc0c2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPoolMembers.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsLbPoolMembers(ctx *pulumi.Context, args *GetIsLbPoolMembersArgs, opts ...pulumi.InvokeOption) (*GetIsLbPoolMembersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsLbPoolMembersResult + err := ctx.Invoke("ibmcloud:index/getIsLbPoolMembers:getIsLbPoolMembers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbPoolMembers. +type GetIsLbPoolMembersArgs struct { + Lb string `pulumi:"lb"` + Pool string `pulumi:"pool"` +} + +// A collection of values returned by getIsLbPoolMembers. +type GetIsLbPoolMembersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lb string `pulumi:"lb"` + Members []GetIsLbPoolMembersMember `pulumi:"members"` + Pool string `pulumi:"pool"` +} + +func GetIsLbPoolMembersOutput(ctx *pulumi.Context, args GetIsLbPoolMembersOutputArgs, opts ...pulumi.InvokeOption) GetIsLbPoolMembersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsLbPoolMembersResultOutput, error) { + args := v.(GetIsLbPoolMembersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbPoolMembers:getIsLbPoolMembers", args, GetIsLbPoolMembersResultOutput{}, options).(GetIsLbPoolMembersResultOutput), nil + }).(GetIsLbPoolMembersResultOutput) +} + +// A collection of arguments for invoking getIsLbPoolMembers. +type GetIsLbPoolMembersOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` + Pool pulumi.StringInput `pulumi:"pool"` +} + +func (GetIsLbPoolMembersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMembersArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbPoolMembers. +type GetIsLbPoolMembersResultOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMembersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMembersResult)(nil)).Elem() +} + +func (o GetIsLbPoolMembersResultOutput) ToGetIsLbPoolMembersResultOutput() GetIsLbPoolMembersResultOutput { + return o +} + +func (o GetIsLbPoolMembersResultOutput) ToGetIsLbPoolMembersResultOutputWithContext(ctx context.Context) GetIsLbPoolMembersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsLbPoolMembersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbPoolMembersResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o GetIsLbPoolMembersResultOutput) Members() GetIsLbPoolMembersMemberArrayOutput { + return o.ApplyT(func(v GetIsLbPoolMembersResult) []GetIsLbPoolMembersMember { return v.Members }).(GetIsLbPoolMembersMemberArrayOutput) +} + +func (o GetIsLbPoolMembersResultOutput) Pool() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersResult) string { return v.Pool }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsLbPoolMembersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPools.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPools.go new file mode 100644 index 000000000..6f6221b59 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbPools.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsLbPools(ctx *pulumi.Context, args *GetIsLbPoolsArgs, opts ...pulumi.InvokeOption) (*GetIsLbPoolsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsLbPoolsResult + err := ctx.Invoke("ibmcloud:index/getIsLbPools:getIsLbPools", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbPools. +type GetIsLbPoolsArgs struct { + Lb string `pulumi:"lb"` +} + +// A collection of values returned by getIsLbPools. +type GetIsLbPoolsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Lb string `pulumi:"lb"` + Pools []GetIsLbPoolsPool `pulumi:"pools"` +} + +func GetIsLbPoolsOutput(ctx *pulumi.Context, args GetIsLbPoolsOutputArgs, opts ...pulumi.InvokeOption) GetIsLbPoolsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsLbPoolsResultOutput, error) { + args := v.(GetIsLbPoolsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbPools:getIsLbPools", args, GetIsLbPoolsResultOutput{}, options).(GetIsLbPoolsResultOutput), nil + }).(GetIsLbPoolsResultOutput) +} + +// A collection of arguments for invoking getIsLbPools. +type GetIsLbPoolsOutputArgs struct { + Lb pulumi.StringInput `pulumi:"lb"` +} + +func (GetIsLbPoolsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbPools. +type GetIsLbPoolsResultOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsResult)(nil)).Elem() +} + +func (o GetIsLbPoolsResultOutput) ToGetIsLbPoolsResultOutput() GetIsLbPoolsResultOutput { + return o +} + +func (o GetIsLbPoolsResultOutput) ToGetIsLbPoolsResultOutputWithContext(ctx context.Context) GetIsLbPoolsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsLbPoolsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbPoolsResultOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsResult) string { return v.Lb }).(pulumi.StringOutput) +} + +func (o GetIsLbPoolsResultOutput) Pools() GetIsLbPoolsPoolArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsResult) []GetIsLbPoolsPool { return v.Pools }).(GetIsLbPoolsPoolArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsLbPoolsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbProfile.go new file mode 100644 index 000000000..a96886832 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbProfile.go @@ -0,0 +1,132 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsLbProfile(ctx *pulumi.Context, args *GetIsLbProfileArgs, opts ...pulumi.InvokeOption) (*GetIsLbProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsLbProfileResult + err := ctx.Invoke("ibmcloud:index/getIsLbProfile:getIsLbProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbProfile. +type GetIsLbProfileArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsLbProfile. +type GetIsLbProfileResult struct { + AccessModes []GetIsLbProfileAccessMode `pulumi:"accessModes"` + FailsafePolicyActions []GetIsLbProfileFailsafePolicyAction `pulumi:"failsafePolicyActions"` + Family string `pulumi:"family"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + RouteModeSupported bool `pulumi:"routeModeSupported"` + RouteModeType string `pulumi:"routeModeType"` + TargetableLoadBalancerProfiles []GetIsLbProfileTargetableLoadBalancerProfile `pulumi:"targetableLoadBalancerProfiles"` + TargetableResourceTypes []GetIsLbProfileTargetableResourceType `pulumi:"targetableResourceTypes"` + UdpSupported bool `pulumi:"udpSupported"` + UdpSupportedType string `pulumi:"udpSupportedType"` +} + +func GetIsLbProfileOutput(ctx *pulumi.Context, args GetIsLbProfileOutputArgs, opts ...pulumi.InvokeOption) GetIsLbProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsLbProfileResultOutput, error) { + args := v.(GetIsLbProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbProfile:getIsLbProfile", args, GetIsLbProfileResultOutput{}, options).(GetIsLbProfileResultOutput), nil + }).(GetIsLbProfileResultOutput) +} + +// A collection of arguments for invoking getIsLbProfile. +type GetIsLbProfileOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbProfile. +type GetIsLbProfileResultOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileResult)(nil)).Elem() +} + +func (o GetIsLbProfileResultOutput) ToGetIsLbProfileResultOutput() GetIsLbProfileResultOutput { + return o +} + +func (o GetIsLbProfileResultOutput) ToGetIsLbProfileResultOutputWithContext(ctx context.Context) GetIsLbProfileResultOutput { + return o +} + +func (o GetIsLbProfileResultOutput) AccessModes() GetIsLbProfileAccessModeArrayOutput { + return o.ApplyT(func(v GetIsLbProfileResult) []GetIsLbProfileAccessMode { return v.AccessModes }).(GetIsLbProfileAccessModeArrayOutput) +} + +func (o GetIsLbProfileResultOutput) FailsafePolicyActions() GetIsLbProfileFailsafePolicyActionArrayOutput { + return o.ApplyT(func(v GetIsLbProfileResult) []GetIsLbProfileFailsafePolicyAction { return v.FailsafePolicyActions }).(GetIsLbProfileFailsafePolicyActionArrayOutput) +} + +func (o GetIsLbProfileResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o GetIsLbProfileResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsLbProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbProfileResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsLbProfileResultOutput) RouteModeSupported() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbProfileResult) bool { return v.RouteModeSupported }).(pulumi.BoolOutput) +} + +func (o GetIsLbProfileResultOutput) RouteModeType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileResult) string { return v.RouteModeType }).(pulumi.StringOutput) +} + +func (o GetIsLbProfileResultOutput) TargetableLoadBalancerProfiles() GetIsLbProfileTargetableLoadBalancerProfileArrayOutput { + return o.ApplyT(func(v GetIsLbProfileResult) []GetIsLbProfileTargetableLoadBalancerProfile { + return v.TargetableLoadBalancerProfiles + }).(GetIsLbProfileTargetableLoadBalancerProfileArrayOutput) +} + +func (o GetIsLbProfileResultOutput) TargetableResourceTypes() GetIsLbProfileTargetableResourceTypeArrayOutput { + return o.ApplyT(func(v GetIsLbProfileResult) []GetIsLbProfileTargetableResourceType { return v.TargetableResourceTypes }).(GetIsLbProfileTargetableResourceTypeArrayOutput) +} + +func (o GetIsLbProfileResultOutput) UdpSupported() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbProfileResult) bool { return v.UdpSupported }).(pulumi.BoolOutput) +} + +func (o GetIsLbProfileResultOutput) UdpSupportedType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileResult) string { return v.UdpSupportedType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsLbProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbProfiles.go new file mode 100644 index 000000000..3360ab43f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbProfiles.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsLbProfiles(ctx *pulumi.Context, args *GetIsLbProfilesArgs, opts ...pulumi.InvokeOption) (*GetIsLbProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsLbProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsLbProfiles:getIsLbProfiles", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsLbProfiles. +type GetIsLbProfilesArgs struct { + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsLbProfiles. +type GetIsLbProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LbProfiles []GetIsLbProfilesLbProfile `pulumi:"lbProfiles"` + Name *string `pulumi:"name"` +} + +func GetIsLbProfilesOutput(ctx *pulumi.Context, args GetIsLbProfilesOutputArgs, opts ...pulumi.InvokeOption) GetIsLbProfilesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsLbProfilesResultOutput, error) { + args := v.(GetIsLbProfilesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbProfiles:getIsLbProfiles", args, GetIsLbProfilesResultOutput{}, options).(GetIsLbProfilesResultOutput), nil + }).(GetIsLbProfilesResultOutput) +} + +// A collection of arguments for invoking getIsLbProfiles. +type GetIsLbProfilesOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (GetIsLbProfilesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsLbProfiles. +type GetIsLbProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesResult)(nil)).Elem() +} + +func (o GetIsLbProfilesResultOutput) ToGetIsLbProfilesResultOutput() GetIsLbProfilesResultOutput { + return o +} + +func (o GetIsLbProfilesResultOutput) ToGetIsLbProfilesResultOutputWithContext(ctx context.Context) GetIsLbProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsLbProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbProfilesResultOutput) LbProfiles() GetIsLbProfilesLbProfileArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesResult) []GetIsLbProfilesLbProfile { return v.LbProfiles }).(GetIsLbProfilesLbProfileArrayOutput) +} + +func (o GetIsLbProfilesResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsLbProfilesResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsLbProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbs.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbs.go new file mode 100644 index 000000000..9a4427930 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsLbs.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsLbs(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsLbsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsLbsResult + err := ctx.Invoke("ibmcloud:index/getIsLbs:getIsLbs", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsLbs. +type GetIsLbsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LoadBalancers []GetIsLbsLoadBalancer `pulumi:"loadBalancers"` +} + +func GetIsLbsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsLbsResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsLbsResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsLbs:getIsLbs", nil, GetIsLbsResultOutput{}, options).(GetIsLbsResultOutput), nil + }).(GetIsLbsResultOutput) +} + +// A collection of values returned by getIsLbs. +type GetIsLbsResultOutput struct{ *pulumi.OutputState } + +func (GetIsLbsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsResult)(nil)).Elem() +} + +func (o GetIsLbsResultOutput) ToGetIsLbsResultOutput() GetIsLbsResultOutput { + return o +} + +func (o GetIsLbsResultOutput) ToGetIsLbsResultOutputWithContext(ctx context.Context) GetIsLbsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsLbsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbsResultOutput) LoadBalancers() GetIsLbsLoadBalancerArrayOutput { + return o.ApplyT(func(v GetIsLbsResult) []GetIsLbsLoadBalancer { return v.LoadBalancers }).(GetIsLbsLoadBalancerArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsLbsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAcl.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAcl.go new file mode 100644 index 000000000..aaaddfa91 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAcl.go @@ -0,0 +1,134 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsNetworkAcl(ctx *pulumi.Context, args *LookupIsNetworkAclArgs, opts ...pulumi.InvokeOption) (*LookupIsNetworkAclResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsNetworkAclResult + err := ctx.Invoke("ibmcloud:index/getIsNetworkAcl:getIsNetworkAcl", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsNetworkAcl. +type LookupIsNetworkAclArgs struct { + Name *string `pulumi:"name"` + NetworkAcl *string `pulumi:"networkAcl"` + VpcName *string `pulumi:"vpcName"` +} + +// A collection of values returned by getIsNetworkAcl. +type LookupIsNetworkAclResult struct { + AccessTags []string `pulumi:"accessTags"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + NetworkAcl *string `pulumi:"networkAcl"` + ResourceGroups []GetIsNetworkAclResourceGroup `pulumi:"resourceGroups"` + Rules []GetIsNetworkAclRuleType `pulumi:"rules"` + Subnets []GetIsNetworkAclSubnet `pulumi:"subnets"` + VpcName *string `pulumi:"vpcName"` + Vpcs []GetIsNetworkAclVpc `pulumi:"vpcs"` +} + +func LookupIsNetworkAclOutput(ctx *pulumi.Context, args LookupIsNetworkAclOutputArgs, opts ...pulumi.InvokeOption) LookupIsNetworkAclResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsNetworkAclResultOutput, error) { + args := v.(LookupIsNetworkAclArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsNetworkAcl:getIsNetworkAcl", args, LookupIsNetworkAclResultOutput{}, options).(LookupIsNetworkAclResultOutput), nil + }).(LookupIsNetworkAclResultOutput) +} + +// A collection of arguments for invoking getIsNetworkAcl. +type LookupIsNetworkAclOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + NetworkAcl pulumi.StringPtrInput `pulumi:"networkAcl"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` +} + +func (LookupIsNetworkAclOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsNetworkAclArgs)(nil)).Elem() +} + +// A collection of values returned by getIsNetworkAcl. +type LookupIsNetworkAclResultOutput struct{ *pulumi.OutputState } + +func (LookupIsNetworkAclResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsNetworkAclResult)(nil)).Elem() +} + +func (o LookupIsNetworkAclResultOutput) ToLookupIsNetworkAclResultOutput() LookupIsNetworkAclResultOutput { + return o +} + +func (o LookupIsNetworkAclResultOutput) ToLookupIsNetworkAclResultOutputWithContext(ctx context.Context) LookupIsNetworkAclResultOutput { + return o +} + +func (o LookupIsNetworkAclResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsNetworkAclResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsNetworkAclResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsNetworkAclResultOutput) NetworkAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) *string { return v.NetworkAcl }).(pulumi.StringPtrOutput) +} + +func (o LookupIsNetworkAclResultOutput) ResourceGroups() GetIsNetworkAclResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) []GetIsNetworkAclResourceGroup { return v.ResourceGroups }).(GetIsNetworkAclResourceGroupArrayOutput) +} + +func (o LookupIsNetworkAclResultOutput) Rules() GetIsNetworkAclRuleTypeArrayOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) []GetIsNetworkAclRuleType { return v.Rules }).(GetIsNetworkAclRuleTypeArrayOutput) +} + +func (o LookupIsNetworkAclResultOutput) Subnets() GetIsNetworkAclSubnetArrayOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) []GetIsNetworkAclSubnet { return v.Subnets }).(GetIsNetworkAclSubnetArrayOutput) +} + +func (o LookupIsNetworkAclResultOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +func (o LookupIsNetworkAclResultOutput) Vpcs() GetIsNetworkAclVpcArrayOutput { + return o.ApplyT(func(v LookupIsNetworkAclResult) []GetIsNetworkAclVpc { return v.Vpcs }).(GetIsNetworkAclVpcArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsNetworkAclResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAclRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAclRule.go new file mode 100644 index 000000000..31d499780 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAclRule.go @@ -0,0 +1,147 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsNetworkAclRule(ctx *pulumi.Context, args *LookupIsNetworkAclRuleArgs, opts ...pulumi.InvokeOption) (*LookupIsNetworkAclRuleResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsNetworkAclRuleResult + err := ctx.Invoke("ibmcloud:index/getIsNetworkAclRule:getIsNetworkAclRule", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsNetworkAclRule. +type LookupIsNetworkAclRuleArgs struct { + Name string `pulumi:"name"` + NetworkAcl string `pulumi:"networkAcl"` +} + +// A collection of values returned by getIsNetworkAclRule. +type LookupIsNetworkAclRuleResult struct { + Action string `pulumi:"action"` + Before string `pulumi:"before"` + Destination string `pulumi:"destination"` + Direction string `pulumi:"direction"` + Href string `pulumi:"href"` + Icmps []GetIsNetworkAclRuleIcmp `pulumi:"icmps"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IpVersion string `pulumi:"ipVersion"` + Name string `pulumi:"name"` + NetworkAcl string `pulumi:"networkAcl"` + Protocol string `pulumi:"protocol"` + RuleId string `pulumi:"ruleId"` + Source string `pulumi:"source"` + Tcps []GetIsNetworkAclRuleTcp `pulumi:"tcps"` + Udps []GetIsNetworkAclRuleUdp `pulumi:"udps"` +} + +func LookupIsNetworkAclRuleOutput(ctx *pulumi.Context, args LookupIsNetworkAclRuleOutputArgs, opts ...pulumi.InvokeOption) LookupIsNetworkAclRuleResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsNetworkAclRuleResultOutput, error) { + args := v.(LookupIsNetworkAclRuleArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsNetworkAclRule:getIsNetworkAclRule", args, LookupIsNetworkAclRuleResultOutput{}, options).(LookupIsNetworkAclRuleResultOutput), nil + }).(LookupIsNetworkAclRuleResultOutput) +} + +// A collection of arguments for invoking getIsNetworkAclRule. +type LookupIsNetworkAclRuleOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` + NetworkAcl pulumi.StringInput `pulumi:"networkAcl"` +} + +func (LookupIsNetworkAclRuleOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsNetworkAclRuleArgs)(nil)).Elem() +} + +// A collection of values returned by getIsNetworkAclRule. +type LookupIsNetworkAclRuleResultOutput struct{ *pulumi.OutputState } + +func (LookupIsNetworkAclRuleResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsNetworkAclRuleResult)(nil)).Elem() +} + +func (o LookupIsNetworkAclRuleResultOutput) ToLookupIsNetworkAclRuleResultOutput() LookupIsNetworkAclRuleResultOutput { + return o +} + +func (o LookupIsNetworkAclRuleResultOutput) ToLookupIsNetworkAclRuleResultOutputWithContext(ctx context.Context) LookupIsNetworkAclRuleResultOutput { + return o +} + +func (o LookupIsNetworkAclRuleResultOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Action }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Before() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Before }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Destination }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Direction }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Icmps() GetIsNetworkAclRuleIcmpArrayOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) []GetIsNetworkAclRuleIcmp { return v.Icmps }).(GetIsNetworkAclRuleIcmpArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsNetworkAclRuleResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.IpVersion }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) NetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.NetworkAcl }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Protocol }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.RuleId }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) string { return v.Source }).(pulumi.StringOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Tcps() GetIsNetworkAclRuleTcpArrayOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) []GetIsNetworkAclRuleTcp { return v.Tcps }).(GetIsNetworkAclRuleTcpArrayOutput) +} + +func (o LookupIsNetworkAclRuleResultOutput) Udps() GetIsNetworkAclRuleUdpArrayOutput { + return o.ApplyT(func(v LookupIsNetworkAclRuleResult) []GetIsNetworkAclRuleUdp { return v.Udps }).(GetIsNetworkAclRuleUdpArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsNetworkAclRuleResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAclRules.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAclRules.go new file mode 100644 index 000000000..88658a641 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAclRules.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsNetworkAclRules(ctx *pulumi.Context, args *GetIsNetworkAclRulesArgs, opts ...pulumi.InvokeOption) (*GetIsNetworkAclRulesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsNetworkAclRulesResult + err := ctx.Invoke("ibmcloud:index/getIsNetworkAclRules:getIsNetworkAclRules", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsNetworkAclRules. +type GetIsNetworkAclRulesArgs struct { + Direction *string `pulumi:"direction"` + NetworkAcl string `pulumi:"networkAcl"` +} + +// A collection of values returned by getIsNetworkAclRules. +type GetIsNetworkAclRulesResult struct { + Direction *string `pulumi:"direction"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkAcl string `pulumi:"networkAcl"` + Rules []GetIsNetworkAclRulesRule `pulumi:"rules"` +} + +func GetIsNetworkAclRulesOutput(ctx *pulumi.Context, args GetIsNetworkAclRulesOutputArgs, opts ...pulumi.InvokeOption) GetIsNetworkAclRulesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsNetworkAclRulesResultOutput, error) { + args := v.(GetIsNetworkAclRulesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsNetworkAclRules:getIsNetworkAclRules", args, GetIsNetworkAclRulesResultOutput{}, options).(GetIsNetworkAclRulesResultOutput), nil + }).(GetIsNetworkAclRulesResultOutput) +} + +// A collection of arguments for invoking getIsNetworkAclRules. +type GetIsNetworkAclRulesOutputArgs struct { + Direction pulumi.StringPtrInput `pulumi:"direction"` + NetworkAcl pulumi.StringInput `pulumi:"networkAcl"` +} + +func (GetIsNetworkAclRulesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsNetworkAclRules. +type GetIsNetworkAclRulesResultOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesResult)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesResultOutput) ToGetIsNetworkAclRulesResultOutput() GetIsNetworkAclRulesResultOutput { + return o +} + +func (o GetIsNetworkAclRulesResultOutput) ToGetIsNetworkAclRulesResultOutputWithContext(ctx context.Context) GetIsNetworkAclRulesResultOutput { + return o +} + +func (o GetIsNetworkAclRulesResultOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesResult) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsNetworkAclRulesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsNetworkAclRulesResultOutput) NetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesResult) string { return v.NetworkAcl }).(pulumi.StringOutput) +} + +func (o GetIsNetworkAclRulesResultOutput) Rules() GetIsNetworkAclRulesRuleArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesResult) []GetIsNetworkAclRulesRule { return v.Rules }).(GetIsNetworkAclRulesRuleArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsNetworkAclRulesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAcls.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAcls.go new file mode 100644 index 000000000..4de556412 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsNetworkAcls.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsNetworkAcls(ctx *pulumi.Context, args *GetIsNetworkAclsArgs, opts ...pulumi.InvokeOption) (*GetIsNetworkAclsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsNetworkAclsResult + err := ctx.Invoke("ibmcloud:index/getIsNetworkAcls:getIsNetworkAcls", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsNetworkAcls. +type GetIsNetworkAclsArgs struct { + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsNetworkAcls. +type GetIsNetworkAclsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkAcls []GetIsNetworkAclsNetworkAcl `pulumi:"networkAcls"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +func GetIsNetworkAclsOutput(ctx *pulumi.Context, args GetIsNetworkAclsOutputArgs, opts ...pulumi.InvokeOption) GetIsNetworkAclsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsNetworkAclsResultOutput, error) { + args := v.(GetIsNetworkAclsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsNetworkAcls:getIsNetworkAcls", args, GetIsNetworkAclsResultOutput{}, options).(GetIsNetworkAclsResultOutput), nil + }).(GetIsNetworkAclsResultOutput) +} + +// A collection of arguments for invoking getIsNetworkAcls. +type GetIsNetworkAclsOutputArgs struct { + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsNetworkAclsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsNetworkAcls. +type GetIsNetworkAclsResultOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsResult)(nil)).Elem() +} + +func (o GetIsNetworkAclsResultOutput) ToGetIsNetworkAclsResultOutput() GetIsNetworkAclsResultOutput { + return o +} + +func (o GetIsNetworkAclsResultOutput) ToGetIsNetworkAclsResultOutputWithContext(ctx context.Context) GetIsNetworkAclsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsNetworkAclsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsNetworkAclsResultOutput) NetworkAcls() GetIsNetworkAclsNetworkAclArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsResult) []GetIsNetworkAclsNetworkAcl { return v.NetworkAcls }).(GetIsNetworkAclsNetworkAclArrayOutput) +} + +func (o GetIsNetworkAclsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsNetworkAclsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsNetworkAclsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsOperatingSystem.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsOperatingSystem.go new file mode 100644 index 000000000..c70ad4b89 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsOperatingSystem.go @@ -0,0 +1,125 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsOperatingSystem(ctx *pulumi.Context, args *GetIsOperatingSystemArgs, opts ...pulumi.InvokeOption) (*GetIsOperatingSystemResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsOperatingSystemResult + err := ctx.Invoke("ibmcloud:index/getIsOperatingSystem:getIsOperatingSystem", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsOperatingSystem. +type GetIsOperatingSystemArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsOperatingSystem. +type GetIsOperatingSystemResult struct { + AllowUserImageCreation bool `pulumi:"allowUserImageCreation"` + Architecture string `pulumi:"architecture"` + DedicatedHostOnly bool `pulumi:"dedicatedHostOnly"` + DisplayName string `pulumi:"displayName"` + Family string `pulumi:"family"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + UserDataFormat string `pulumi:"userDataFormat"` + Vendor string `pulumi:"vendor"` + Version string `pulumi:"version"` +} + +func GetIsOperatingSystemOutput(ctx *pulumi.Context, args GetIsOperatingSystemOutputArgs, opts ...pulumi.InvokeOption) GetIsOperatingSystemResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsOperatingSystemResultOutput, error) { + args := v.(GetIsOperatingSystemArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsOperatingSystem:getIsOperatingSystem", args, GetIsOperatingSystemResultOutput{}, options).(GetIsOperatingSystemResultOutput), nil + }).(GetIsOperatingSystemResultOutput) +} + +// A collection of arguments for invoking getIsOperatingSystem. +type GetIsOperatingSystemOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsOperatingSystemOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsOperatingSystemArgs)(nil)).Elem() +} + +// A collection of values returned by getIsOperatingSystem. +type GetIsOperatingSystemResultOutput struct{ *pulumi.OutputState } + +func (GetIsOperatingSystemResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsOperatingSystemResult)(nil)).Elem() +} + +func (o GetIsOperatingSystemResultOutput) ToGetIsOperatingSystemResultOutput() GetIsOperatingSystemResultOutput { + return o +} + +func (o GetIsOperatingSystemResultOutput) ToGetIsOperatingSystemResultOutputWithContext(ctx context.Context) GetIsOperatingSystemResultOutput { + return o +} + +func (o GetIsOperatingSystemResultOutput) AllowUserImageCreation() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) bool { return v.AllowUserImageCreation }).(pulumi.BoolOutput) +} + +func (o GetIsOperatingSystemResultOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.Architecture }).(pulumi.StringOutput) +} + +func (o GetIsOperatingSystemResultOutput) DedicatedHostOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) bool { return v.DedicatedHostOnly }).(pulumi.BoolOutput) +} + +func (o GetIsOperatingSystemResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +func (o GetIsOperatingSystemResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o GetIsOperatingSystemResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsOperatingSystemResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsOperatingSystemResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsOperatingSystemResultOutput) UserDataFormat() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.UserDataFormat }).(pulumi.StringOutput) +} + +func (o GetIsOperatingSystemResultOutput) Vendor() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.Vendor }).(pulumi.StringOutput) +} + +func (o GetIsOperatingSystemResultOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemResult) string { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsOperatingSystemResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsOperatingSystems.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsOperatingSystems.go new file mode 100644 index 000000000..48ea45be0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsOperatingSystems.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsOperatingSystems(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsOperatingSystemsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsOperatingSystemsResult + err := ctx.Invoke("ibmcloud:index/getIsOperatingSystems:getIsOperatingSystems", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsOperatingSystems. +type GetIsOperatingSystemsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + OperatingSystems []GetIsOperatingSystemsOperatingSystem `pulumi:"operatingSystems"` +} + +func GetIsOperatingSystemsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsOperatingSystemsResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsOperatingSystemsResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsOperatingSystems:getIsOperatingSystems", nil, GetIsOperatingSystemsResultOutput{}, options).(GetIsOperatingSystemsResultOutput), nil + }).(GetIsOperatingSystemsResultOutput) +} + +// A collection of values returned by getIsOperatingSystems. +type GetIsOperatingSystemsResultOutput struct{ *pulumi.OutputState } + +func (GetIsOperatingSystemsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsOperatingSystemsResult)(nil)).Elem() +} + +func (o GetIsOperatingSystemsResultOutput) ToGetIsOperatingSystemsResultOutput() GetIsOperatingSystemsResultOutput { + return o +} + +func (o GetIsOperatingSystemsResultOutput) ToGetIsOperatingSystemsResultOutputWithContext(ctx context.Context) GetIsOperatingSystemsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsOperatingSystemsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsOperatingSystemsResultOutput) OperatingSystems() GetIsOperatingSystemsOperatingSystemArrayOutput { + return o.ApplyT(func(v GetIsOperatingSystemsResult) []GetIsOperatingSystemsOperatingSystem { return v.OperatingSystems }).(GetIsOperatingSystemsOperatingSystemArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsOperatingSystemsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPlacementGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPlacementGroup.go new file mode 100644 index 000000000..83b751c36 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPlacementGroup.go @@ -0,0 +1,125 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsPlacementGroup(ctx *pulumi.Context, args *LookupIsPlacementGroupArgs, opts ...pulumi.InvokeOption) (*LookupIsPlacementGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsPlacementGroupResult + err := ctx.Invoke("ibmcloud:index/getIsPlacementGroup:getIsPlacementGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPlacementGroup. +type LookupIsPlacementGroupArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsPlacementGroup. +type LookupIsPlacementGroupResult struct { + AccessTags []string `pulumi:"accessTags"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + ResourceGroups []GetIsPlacementGroupResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + Strategy string `pulumi:"strategy"` + Tags []string `pulumi:"tags"` +} + +func LookupIsPlacementGroupOutput(ctx *pulumi.Context, args LookupIsPlacementGroupOutputArgs, opts ...pulumi.InvokeOption) LookupIsPlacementGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsPlacementGroupResultOutput, error) { + args := v.(LookupIsPlacementGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPlacementGroup:getIsPlacementGroup", args, LookupIsPlacementGroupResultOutput{}, options).(LookupIsPlacementGroupResultOutput), nil + }).(LookupIsPlacementGroupResultOutput) +} + +// A collection of arguments for invoking getIsPlacementGroup. +type LookupIsPlacementGroupOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsPlacementGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPlacementGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPlacementGroup. +type LookupIsPlacementGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupIsPlacementGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPlacementGroupResult)(nil)).Elem() +} + +func (o LookupIsPlacementGroupResultOutput) ToLookupIsPlacementGroupResultOutput() LookupIsPlacementGroupResultOutput { + return o +} + +func (o LookupIsPlacementGroupResultOutput) ToLookupIsPlacementGroupResultOutputWithContext(ctx context.Context) LookupIsPlacementGroupResultOutput { + return o +} + +func (o LookupIsPlacementGroupResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsPlacementGroupResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsPlacementGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsPlacementGroupResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsPlacementGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsPlacementGroupResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsPlacementGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsPlacementGroupResultOutput) ResourceGroups() GetIsPlacementGroupResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) []GetIsPlacementGroupResourceGroup { return v.ResourceGroups }).(GetIsPlacementGroupResourceGroupArrayOutput) +} + +func (o LookupIsPlacementGroupResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsPlacementGroupResultOutput) Strategy() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) string { return v.Strategy }).(pulumi.StringOutput) +} + +func (o LookupIsPlacementGroupResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsPlacementGroupResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsPlacementGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPlacementGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPlacementGroups.go new file mode 100644 index 000000000..9db425826 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPlacementGroups.go @@ -0,0 +1,69 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsPlacementGroups(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsPlacementGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsPlacementGroupsResult + err := ctx.Invoke("ibmcloud:index/getIsPlacementGroups:getIsPlacementGroups", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsPlacementGroups. +type GetIsPlacementGroupsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PlacementGroups []GetIsPlacementGroupsPlacementGroup `pulumi:"placementGroups"` + TotalCount int `pulumi:"totalCount"` +} + +func GetIsPlacementGroupsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsPlacementGroupsResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsPlacementGroupsResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPlacementGroups:getIsPlacementGroups", nil, GetIsPlacementGroupsResultOutput{}, options).(GetIsPlacementGroupsResultOutput), nil + }).(GetIsPlacementGroupsResultOutput) +} + +// A collection of values returned by getIsPlacementGroups. +type GetIsPlacementGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetIsPlacementGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPlacementGroupsResult)(nil)).Elem() +} + +func (o GetIsPlacementGroupsResultOutput) ToGetIsPlacementGroupsResultOutput() GetIsPlacementGroupsResultOutput { + return o +} + +func (o GetIsPlacementGroupsResultOutput) ToGetIsPlacementGroupsResultOutputWithContext(ctx context.Context) GetIsPlacementGroupsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsPlacementGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsPlacementGroupsResultOutput) PlacementGroups() GetIsPlacementGroupsPlacementGroupArrayOutput { + return o.ApplyT(func(v GetIsPlacementGroupsResult) []GetIsPlacementGroupsPlacementGroup { return v.PlacementGroups }).(GetIsPlacementGroupsPlacementGroupArrayOutput) +} + +func (o GetIsPlacementGroupsResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsPlacementGroupsResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsPlacementGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGateway.go new file mode 100644 index 000000000..174eb632e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGateway.go @@ -0,0 +1,178 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsPrivatePathServiceGateway(ctx *pulumi.Context, args *LookupIsPrivatePathServiceGatewayArgs, opts ...pulumi.InvokeOption) (*LookupIsPrivatePathServiceGatewayResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsPrivatePathServiceGatewayResult + err := ctx.Invoke("ibmcloud:index/getIsPrivatePathServiceGateway:getIsPrivatePathServiceGateway", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPrivatePathServiceGateway. +type LookupIsPrivatePathServiceGatewayArgs struct { + PrivatePathServiceGateway *string `pulumi:"privatePathServiceGateway"` + PrivatePathServiceGatewayName *string `pulumi:"privatePathServiceGatewayName"` +} + +// A collection of values returned by getIsPrivatePathServiceGateway. +type LookupIsPrivatePathServiceGatewayResult struct { + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + DefaultAccessPolicy string `pulumi:"defaultAccessPolicy"` + EndpointGatewayBindingAutoDelete bool `pulumi:"endpointGatewayBindingAutoDelete"` + EndpointGatewayBindingAutoDeleteTimeout int `pulumi:"endpointGatewayBindingAutoDeleteTimeout"` + EndpointGatewayCount int `pulumi:"endpointGatewayCount"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleState string `pulumi:"lifecycleState"` + LoadBalancers []GetIsPrivatePathServiceGatewayLoadBalancer `pulumi:"loadBalancers"` + Name string `pulumi:"name"` + PrivatePathServiceGateway *string `pulumi:"privatePathServiceGateway"` + PrivatePathServiceGatewayName *string `pulumi:"privatePathServiceGatewayName"` + Published bool `pulumi:"published"` + Regions []GetIsPrivatePathServiceGatewayRegion `pulumi:"regions"` + ResourceGroups []GetIsPrivatePathServiceGatewayResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + ServiceEndpoints []string `pulumi:"serviceEndpoints"` + Vpcs []GetIsPrivatePathServiceGatewayVpc `pulumi:"vpcs"` + ZonalAffinity bool `pulumi:"zonalAffinity"` +} + +func LookupIsPrivatePathServiceGatewayOutput(ctx *pulumi.Context, args LookupIsPrivatePathServiceGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupIsPrivatePathServiceGatewayResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsPrivatePathServiceGatewayResultOutput, error) { + args := v.(LookupIsPrivatePathServiceGatewayArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPrivatePathServiceGateway:getIsPrivatePathServiceGateway", args, LookupIsPrivatePathServiceGatewayResultOutput{}, options).(LookupIsPrivatePathServiceGatewayResultOutput), nil + }).(LookupIsPrivatePathServiceGatewayResultOutput) +} + +// A collection of arguments for invoking getIsPrivatePathServiceGateway. +type LookupIsPrivatePathServiceGatewayOutputArgs struct { + PrivatePathServiceGateway pulumi.StringPtrInput `pulumi:"privatePathServiceGateway"` + PrivatePathServiceGatewayName pulumi.StringPtrInput `pulumi:"privatePathServiceGatewayName"` +} + +func (LookupIsPrivatePathServiceGatewayOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPrivatePathServiceGatewayArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPrivatePathServiceGateway. +type LookupIsPrivatePathServiceGatewayResultOutput struct{ *pulumi.OutputState } + +func (LookupIsPrivatePathServiceGatewayResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPrivatePathServiceGatewayResult)(nil)).Elem() +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) ToLookupIsPrivatePathServiceGatewayResultOutput() LookupIsPrivatePathServiceGatewayResultOutput { + return o +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) ToLookupIsPrivatePathServiceGatewayResultOutputWithContext(ctx context.Context) LookupIsPrivatePathServiceGatewayResultOutput { + return o +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) DefaultAccessPolicy() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) string { return v.DefaultAccessPolicy }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) EndpointGatewayBindingAutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) bool { return v.EndpointGatewayBindingAutoDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) EndpointGatewayBindingAutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) int { return v.EndpointGatewayBindingAutoDeleteTimeout }).(pulumi.IntOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) EndpointGatewayCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) int { return v.EndpointGatewayCount }).(pulumi.IntOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsPrivatePathServiceGatewayResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) LoadBalancers() GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) []GetIsPrivatePathServiceGatewayLoadBalancer { + return v.LoadBalancers + }).(GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) PrivatePathServiceGateway() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) *string { return v.PrivatePathServiceGateway }).(pulumi.StringPtrOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) PrivatePathServiceGatewayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) *string { return v.PrivatePathServiceGatewayName }).(pulumi.StringPtrOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) Published() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) bool { return v.Published }).(pulumi.BoolOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) Regions() GetIsPrivatePathServiceGatewayRegionArrayOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) []GetIsPrivatePathServiceGatewayRegion { + return v.Regions + }).(GetIsPrivatePathServiceGatewayRegionArrayOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) ResourceGroups() GetIsPrivatePathServiceGatewayResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) []GetIsPrivatePathServiceGatewayResourceGroup { + return v.ResourceGroups + }).(GetIsPrivatePathServiceGatewayResourceGroupArrayOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) ServiceEndpoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) []string { return v.ServiceEndpoints }).(pulumi.StringArrayOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) Vpcs() GetIsPrivatePathServiceGatewayVpcArrayOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) []GetIsPrivatePathServiceGatewayVpc { return v.Vpcs }).(GetIsPrivatePathServiceGatewayVpcArrayOutput) +} + +func (o LookupIsPrivatePathServiceGatewayResultOutput) ZonalAffinity() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayResult) bool { return v.ZonalAffinity }).(pulumi.BoolOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsPrivatePathServiceGatewayResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayAccountPolicies.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayAccountPolicies.go new file mode 100644 index 000000000..0a00ec4f0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayAccountPolicies.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsPrivatePathServiceGatewayAccountPolicies(ctx *pulumi.Context, args *GetIsPrivatePathServiceGatewayAccountPoliciesArgs, opts ...pulumi.InvokeOption) (*GetIsPrivatePathServiceGatewayAccountPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsPrivatePathServiceGatewayAccountPoliciesResult + err := ctx.Invoke("ibmcloud:index/getIsPrivatePathServiceGatewayAccountPolicies:getIsPrivatePathServiceGatewayAccountPolicies", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPrivatePathServiceGatewayAccountPolicies. +type GetIsPrivatePathServiceGatewayAccountPoliciesArgs struct { + Account *string `pulumi:"account"` + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` +} + +// A collection of values returned by getIsPrivatePathServiceGatewayAccountPolicies. +type GetIsPrivatePathServiceGatewayAccountPoliciesResult struct { + Account *string `pulumi:"account"` + AccountPolicies []GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy `pulumi:"accountPolicies"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` +} + +func GetIsPrivatePathServiceGatewayAccountPoliciesOutput(ctx *pulumi.Context, args GetIsPrivatePathServiceGatewayAccountPoliciesOutputArgs, opts ...pulumi.InvokeOption) GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput, error) { + args := v.(GetIsPrivatePathServiceGatewayAccountPoliciesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPrivatePathServiceGatewayAccountPolicies:getIsPrivatePathServiceGatewayAccountPolicies", args, GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput{}, options).(GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput), nil + }).(GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput) +} + +// A collection of arguments for invoking getIsPrivatePathServiceGatewayAccountPolicies. +type GetIsPrivatePathServiceGatewayAccountPoliciesOutputArgs struct { + Account pulumi.StringPtrInput `pulumi:"account"` + PrivatePathServiceGateway pulumi.StringInput `pulumi:"privatePathServiceGateway"` +} + +func (GetIsPrivatePathServiceGatewayAccountPoliciesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPrivatePathServiceGatewayAccountPolicies. +type GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesResult)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesResultOutput() GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesResultOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput) Account() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesResult) *string { return v.Account }).(pulumi.StringPtrOutput) +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput) AccountPolicies() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesResult) []GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy { + return v.AccountPolicies + }).(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesResult) string { return v.PrivatePathServiceGateway }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayAccountPoliciesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayAccountPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayAccountPolicy.go new file mode 100644 index 000000000..c67abe01d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayAccountPolicy.go @@ -0,0 +1,121 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsPrivatePathServiceGatewayAccountPolicy(ctx *pulumi.Context, args *LookupIsPrivatePathServiceGatewayAccountPolicyArgs, opts ...pulumi.InvokeOption) (*LookupIsPrivatePathServiceGatewayAccountPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsPrivatePathServiceGatewayAccountPolicyResult + err := ctx.Invoke("ibmcloud:index/getIsPrivatePathServiceGatewayAccountPolicy:getIsPrivatePathServiceGatewayAccountPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPrivatePathServiceGatewayAccountPolicy. +type LookupIsPrivatePathServiceGatewayAccountPolicyArgs struct { + AccountPolicy string `pulumi:"accountPolicy"` + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` +} + +// A collection of values returned by getIsPrivatePathServiceGatewayAccountPolicy. +type LookupIsPrivatePathServiceGatewayAccountPolicyResult struct { + AccessPolicy string `pulumi:"accessPolicy"` + AccountPolicy string `pulumi:"accountPolicy"` + Accounts []GetIsPrivatePathServiceGatewayAccountPolicyAccount `pulumi:"accounts"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` + ResourceType string `pulumi:"resourceType"` + UpdatedAt string `pulumi:"updatedAt"` +} + +func LookupIsPrivatePathServiceGatewayAccountPolicyOutput(ctx *pulumi.Context, args LookupIsPrivatePathServiceGatewayAccountPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput, error) { + args := v.(LookupIsPrivatePathServiceGatewayAccountPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPrivatePathServiceGatewayAccountPolicy:getIsPrivatePathServiceGatewayAccountPolicy", args, LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput{}, options).(LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput), nil + }).(LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) +} + +// A collection of arguments for invoking getIsPrivatePathServiceGatewayAccountPolicy. +type LookupIsPrivatePathServiceGatewayAccountPolicyOutputArgs struct { + AccountPolicy pulumi.StringInput `pulumi:"accountPolicy"` + PrivatePathServiceGateway pulumi.StringInput `pulumi:"privatePathServiceGateway"` +} + +func (LookupIsPrivatePathServiceGatewayAccountPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPrivatePathServiceGatewayAccountPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPrivatePathServiceGatewayAccountPolicy. +type LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPrivatePathServiceGatewayAccountPolicyResult)(nil)).Elem() +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) ToLookupIsPrivatePathServiceGatewayAccountPolicyResultOutput() LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput { + return o +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) ToLookupIsPrivatePathServiceGatewayAccountPolicyResultOutputWithContext(ctx context.Context) LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput { + return o +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) AccessPolicy() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) string { return v.AccessPolicy }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) AccountPolicy() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) string { return v.AccountPolicy }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) Accounts() GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) []GetIsPrivatePathServiceGatewayAccountPolicyAccount { + return v.Accounts + }).(GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput) +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) string { + return v.PrivatePathServiceGateway + }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPrivatePathServiceGatewayAccountPolicyResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsPrivatePathServiceGatewayAccountPolicyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayEndpointGatewayBinding.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayEndpointGatewayBinding.go new file mode 100644 index 000000000..f77d4293d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayEndpointGatewayBinding.go @@ -0,0 +1,133 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsPrivatePathServiceGatewayEndpointGatewayBinding(ctx *pulumi.Context, args *GetIsPrivatePathServiceGatewayEndpointGatewayBindingArgs, opts ...pulumi.InvokeOption) (*GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult + err := ctx.Invoke("ibmcloud:index/getIsPrivatePathServiceGatewayEndpointGatewayBinding:getIsPrivatePathServiceGatewayEndpointGatewayBinding", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPrivatePathServiceGatewayEndpointGatewayBinding. +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingArgs struct { + EndpointGatewayBinding string `pulumi:"endpointGatewayBinding"` + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` +} + +// A collection of values returned by getIsPrivatePathServiceGatewayEndpointGatewayBinding. +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult struct { + Accounts []GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount `pulumi:"accounts"` + CreatedAt string `pulumi:"createdAt"` + EndpointGatewayBinding string `pulumi:"endpointGatewayBinding"` + ExpirationAt string `pulumi:"expirationAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleState string `pulumi:"lifecycleState"` + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` + ResourceType string `pulumi:"resourceType"` + Status string `pulumi:"status"` + UpdatedAt string `pulumi:"updatedAt"` +} + +func GetIsPrivatePathServiceGatewayEndpointGatewayBindingOutput(ctx *pulumi.Context, args GetIsPrivatePathServiceGatewayEndpointGatewayBindingOutputArgs, opts ...pulumi.InvokeOption) GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput, error) { + args := v.(GetIsPrivatePathServiceGatewayEndpointGatewayBindingArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPrivatePathServiceGatewayEndpointGatewayBinding:getIsPrivatePathServiceGatewayEndpointGatewayBinding", args, GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput{}, options).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput), nil + }).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) +} + +// A collection of arguments for invoking getIsPrivatePathServiceGatewayEndpointGatewayBinding. +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingOutputArgs struct { + EndpointGatewayBinding pulumi.StringInput `pulumi:"endpointGatewayBinding"` + PrivatePathServiceGateway pulumi.StringInput `pulumi:"privatePathServiceGateway"` +} + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPrivatePathServiceGatewayEndpointGatewayBinding. +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) Accounts() GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) []GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount { + return v.Accounts + }).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) EndpointGatewayBinding() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { + return v.EndpointGatewayBinding + }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) ExpirationAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { return v.ExpirationAt }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { + return v.PrivatePathServiceGateway + }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayEndpointGatewayBindingResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayEndpointGatewayBindings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayEndpointGatewayBindings.go new file mode 100644 index 000000000..b2039166c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGatewayEndpointGatewayBindings.go @@ -0,0 +1,103 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsPrivatePathServiceGatewayEndpointGatewayBindings(ctx *pulumi.Context, args *GetIsPrivatePathServiceGatewayEndpointGatewayBindingsArgs, opts ...pulumi.InvokeOption) (*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult + err := ctx.Invoke("ibmcloud:index/getIsPrivatePathServiceGatewayEndpointGatewayBindings:getIsPrivatePathServiceGatewayEndpointGatewayBindings", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPrivatePathServiceGatewayEndpointGatewayBindings. +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsArgs struct { + Account *string `pulumi:"account"` + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` + Status *string `pulumi:"status"` +} + +// A collection of values returned by getIsPrivatePathServiceGatewayEndpointGatewayBindings. +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult struct { + Account *string `pulumi:"account"` + EndpointGatewayBindings []GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding `pulumi:"endpointGatewayBindings"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` + Status *string `pulumi:"status"` +} + +func GetIsPrivatePathServiceGatewayEndpointGatewayBindingsOutput(ctx *pulumi.Context, args GetIsPrivatePathServiceGatewayEndpointGatewayBindingsOutputArgs, opts ...pulumi.InvokeOption) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput, error) { + args := v.(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPrivatePathServiceGatewayEndpointGatewayBindings:getIsPrivatePathServiceGatewayEndpointGatewayBindings", args, GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput{}, options).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput), nil + }).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) +} + +// A collection of arguments for invoking getIsPrivatePathServiceGatewayEndpointGatewayBindings. +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsOutputArgs struct { + Account pulumi.StringPtrInput `pulumi:"account"` + PrivatePathServiceGateway pulumi.StringInput `pulumi:"privatePathServiceGateway"` + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPrivatePathServiceGatewayEndpointGatewayBindings. +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) Account() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult) *string { return v.Account }).(pulumi.StringPtrOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) EndpointGatewayBindings() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult) []GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding { + return v.EndpointGatewayBindings + }).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult) string { + return v.PrivatePathServiceGateway + }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGateways.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGateways.go new file mode 100644 index 000000000..722074809 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPrivatePathServiceGateways.go @@ -0,0 +1,66 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsPrivatePathServiceGateways(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsPrivatePathServiceGatewaysResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsPrivatePathServiceGatewaysResult + err := ctx.Invoke("ibmcloud:index/getIsPrivatePathServiceGateways:getIsPrivatePathServiceGateways", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsPrivatePathServiceGateways. +type GetIsPrivatePathServiceGatewaysResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PrivatePathServiceGateways []GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway `pulumi:"privatePathServiceGateways"` +} + +func GetIsPrivatePathServiceGatewaysOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsPrivatePathServiceGatewaysResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsPrivatePathServiceGatewaysResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPrivatePathServiceGateways:getIsPrivatePathServiceGateways", nil, GetIsPrivatePathServiceGatewaysResultOutput{}, options).(GetIsPrivatePathServiceGatewaysResultOutput), nil + }).(GetIsPrivatePathServiceGatewaysResultOutput) +} + +// A collection of values returned by getIsPrivatePathServiceGateways. +type GetIsPrivatePathServiceGatewaysResultOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysResult)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysResultOutput) ToGetIsPrivatePathServiceGatewaysResultOutput() GetIsPrivatePathServiceGatewaysResultOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysResultOutput) ToGetIsPrivatePathServiceGatewaysResultOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsPrivatePathServiceGatewaysResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsPrivatePathServiceGatewaysResultOutput) PrivatePathServiceGateways() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysResult) []GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway { + return v.PrivatePathServiceGateways + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicAddressRange.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicAddressRange.go new file mode 100644 index 000000000..a0acef359 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicAddressRange.go @@ -0,0 +1,144 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsPublicAddressRange(ctx *pulumi.Context, args *LookupIsPublicAddressRangeArgs, opts ...pulumi.InvokeOption) (*LookupIsPublicAddressRangeResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsPublicAddressRangeResult + err := ctx.Invoke("ibmcloud:index/getIsPublicAddressRange:getIsPublicAddressRange", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPublicAddressRange. +type LookupIsPublicAddressRangeArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsPublicAddressRange. +type LookupIsPublicAddressRangeResult struct { + AccessTags []string `pulumi:"accessTags"` + Cidr string `pulumi:"cidr"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + Ipv4AddressCount int `pulumi:"ipv4AddressCount"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + ResourceGroups []GetIsPublicAddressRangeResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + Tags []string `pulumi:"tags"` + Targets []GetIsPublicAddressRangeTarget `pulumi:"targets"` +} + +func LookupIsPublicAddressRangeOutput(ctx *pulumi.Context, args LookupIsPublicAddressRangeOutputArgs, opts ...pulumi.InvokeOption) LookupIsPublicAddressRangeResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsPublicAddressRangeResultOutput, error) { + args := v.(LookupIsPublicAddressRangeArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPublicAddressRange:getIsPublicAddressRange", args, LookupIsPublicAddressRangeResultOutput{}, options).(LookupIsPublicAddressRangeResultOutput), nil + }).(LookupIsPublicAddressRangeResultOutput) +} + +// A collection of arguments for invoking getIsPublicAddressRange. +type LookupIsPublicAddressRangeOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsPublicAddressRangeOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPublicAddressRangeArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPublicAddressRange. +type LookupIsPublicAddressRangeResultOutput struct{ *pulumi.OutputState } + +func (LookupIsPublicAddressRangeResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPublicAddressRangeResult)(nil)).Elem() +} + +func (o LookupIsPublicAddressRangeResultOutput) ToLookupIsPublicAddressRangeResultOutput() LookupIsPublicAddressRangeResultOutput { + return o +} + +func (o LookupIsPublicAddressRangeResultOutput) ToLookupIsPublicAddressRangeResultOutputWithContext(ctx context.Context) LookupIsPublicAddressRangeResultOutput { + return o +} + +func (o LookupIsPublicAddressRangeResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) string { return v.Cidr }).(pulumi.StringOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsPublicAddressRangeResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) Ipv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) int { return v.Ipv4AddressCount }).(pulumi.IntOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) ResourceGroups() GetIsPublicAddressRangeResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) []GetIsPublicAddressRangeResourceGroup { + return v.ResourceGroups + }).(GetIsPublicAddressRangeResourceGroupArrayOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsPublicAddressRangeResultOutput) Targets() GetIsPublicAddressRangeTargetArrayOutput { + return o.ApplyT(func(v LookupIsPublicAddressRangeResult) []GetIsPublicAddressRangeTarget { return v.Targets }).(GetIsPublicAddressRangeTargetArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsPublicAddressRangeResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicAddressRanges.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicAddressRanges.go new file mode 100644 index 000000000..3a02e9023 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicAddressRanges.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsPublicAddressRanges(ctx *pulumi.Context, args *GetIsPublicAddressRangesArgs, opts ...pulumi.InvokeOption) (*GetIsPublicAddressRangesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsPublicAddressRangesResult + err := ctx.Invoke("ibmcloud:index/getIsPublicAddressRanges:getIsPublicAddressRanges", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPublicAddressRanges. +type GetIsPublicAddressRangesArgs struct { + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsPublicAddressRanges. +type GetIsPublicAddressRangesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PublicAddressRanges []GetIsPublicAddressRangesPublicAddressRange `pulumi:"publicAddressRanges"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +func GetIsPublicAddressRangesOutput(ctx *pulumi.Context, args GetIsPublicAddressRangesOutputArgs, opts ...pulumi.InvokeOption) GetIsPublicAddressRangesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsPublicAddressRangesResultOutput, error) { + args := v.(GetIsPublicAddressRangesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPublicAddressRanges:getIsPublicAddressRanges", args, GetIsPublicAddressRangesResultOutput{}, options).(GetIsPublicAddressRangesResultOutput), nil + }).(GetIsPublicAddressRangesResultOutput) +} + +// A collection of arguments for invoking getIsPublicAddressRanges. +type GetIsPublicAddressRangesOutputArgs struct { + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsPublicAddressRangesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPublicAddressRanges. +type GetIsPublicAddressRangesResultOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesResult)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesResultOutput) ToGetIsPublicAddressRangesResultOutput() GetIsPublicAddressRangesResultOutput { + return o +} + +func (o GetIsPublicAddressRangesResultOutput) ToGetIsPublicAddressRangesResultOutputWithContext(ctx context.Context) GetIsPublicAddressRangesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsPublicAddressRangesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsPublicAddressRangesResultOutput) PublicAddressRanges() GetIsPublicAddressRangesPublicAddressRangeArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesResult) []GetIsPublicAddressRangesPublicAddressRange { + return v.PublicAddressRanges + }).(GetIsPublicAddressRangesPublicAddressRangeArrayOutput) +} + +func (o GetIsPublicAddressRangesResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsPublicAddressRangesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicGateway.go new file mode 100644 index 000000000..988e1b33d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicGateway.go @@ -0,0 +1,147 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsPublicGateway(ctx *pulumi.Context, args *LookupIsPublicGatewayArgs, opts ...pulumi.InvokeOption) (*LookupIsPublicGatewayResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsPublicGatewayResult + err := ctx.Invoke("ibmcloud:index/getIsPublicGateway:getIsPublicGateway", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPublicGateway. +type LookupIsPublicGatewayArgs struct { + Name string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsPublicGateway. +type LookupIsPublicGatewayResult struct { + AccessTags []string `pulumi:"accessTags"` + Crn string `pulumi:"crn"` + FloatingIp map[string]string `pulumi:"floatingIp"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + ResourceStatus string `pulumi:"resourceStatus"` + Status string `pulumi:"status"` + Tags []string `pulumi:"tags"` + Vpc string `pulumi:"vpc"` + Zone string `pulumi:"zone"` +} + +func LookupIsPublicGatewayOutput(ctx *pulumi.Context, args LookupIsPublicGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupIsPublicGatewayResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsPublicGatewayResultOutput, error) { + args := v.(LookupIsPublicGatewayArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPublicGateway:getIsPublicGateway", args, LookupIsPublicGatewayResultOutput{}, options).(LookupIsPublicGatewayResultOutput), nil + }).(LookupIsPublicGatewayResultOutput) +} + +// A collection of arguments for invoking getIsPublicGateway. +type LookupIsPublicGatewayOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (LookupIsPublicGatewayOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPublicGatewayArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPublicGateway. +type LookupIsPublicGatewayResultOutput struct{ *pulumi.OutputState } + +func (LookupIsPublicGatewayResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsPublicGatewayResult)(nil)).Elem() +} + +func (o LookupIsPublicGatewayResultOutput) ToLookupIsPublicGatewayResultOutput() LookupIsPublicGatewayResultOutput { + return o +} + +func (o LookupIsPublicGatewayResultOutput) ToLookupIsPublicGatewayResultOutputWithContext(ctx context.Context) LookupIsPublicGatewayResultOutput { + return o +} + +func (o LookupIsPublicGatewayResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsPublicGatewayResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) FloatingIp() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) map[string]string { return v.FloatingIp }).(pulumi.StringMapOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsPublicGatewayResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsPublicGatewayResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o LookupIsPublicGatewayResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsPublicGatewayResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsPublicGatewayResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicGateways.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicGateways.go new file mode 100644 index 000000000..0434f58cd --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsPublicGateways.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsPublicGateways(ctx *pulumi.Context, args *GetIsPublicGatewaysArgs, opts ...pulumi.InvokeOption) (*GetIsPublicGatewaysResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsPublicGatewaysResult + err := ctx.Invoke("ibmcloud:index/getIsPublicGateways:getIsPublicGateways", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsPublicGateways. +type GetIsPublicGatewaysArgs struct { + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsPublicGateways. +type GetIsPublicGatewaysResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PublicGateways []GetIsPublicGatewaysPublicGateway `pulumi:"publicGateways"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +func GetIsPublicGatewaysOutput(ctx *pulumi.Context, args GetIsPublicGatewaysOutputArgs, opts ...pulumi.InvokeOption) GetIsPublicGatewaysResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsPublicGatewaysResultOutput, error) { + args := v.(GetIsPublicGatewaysArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsPublicGateways:getIsPublicGateways", args, GetIsPublicGatewaysResultOutput{}, options).(GetIsPublicGatewaysResultOutput), nil + }).(GetIsPublicGatewaysResultOutput) +} + +// A collection of arguments for invoking getIsPublicGateways. +type GetIsPublicGatewaysOutputArgs struct { + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsPublicGatewaysOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicGatewaysArgs)(nil)).Elem() +} + +// A collection of values returned by getIsPublicGateways. +type GetIsPublicGatewaysResultOutput struct{ *pulumi.OutputState } + +func (GetIsPublicGatewaysResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicGatewaysResult)(nil)).Elem() +} + +func (o GetIsPublicGatewaysResultOutput) ToGetIsPublicGatewaysResultOutput() GetIsPublicGatewaysResultOutput { + return o +} + +func (o GetIsPublicGatewaysResultOutput) ToGetIsPublicGatewaysResultOutputWithContext(ctx context.Context) GetIsPublicGatewaysResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsPublicGatewaysResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsPublicGatewaysResultOutput) PublicGateways() GetIsPublicGatewaysPublicGatewayArrayOutput { + return o.ApplyT(func(v GetIsPublicGatewaysResult) []GetIsPublicGatewaysPublicGateway { return v.PublicGateways }).(GetIsPublicGatewaysPublicGatewayArrayOutput) +} + +func (o GetIsPublicGatewaysResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsPublicGatewaysResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsPublicGatewaysResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsRegion.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsRegion.go new file mode 100644 index 000000000..4c604fb06 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsRegion.go @@ -0,0 +1,90 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsRegion(ctx *pulumi.Context, args *GetIsRegionArgs, opts ...pulumi.InvokeOption) (*GetIsRegionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsRegionResult + err := ctx.Invoke("ibmcloud:index/getIsRegion:getIsRegion", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsRegion. +type GetIsRegionArgs struct { + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsRegion. +type GetIsRegionResult struct { + Endpoint string `pulumi:"endpoint"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + Status string `pulumi:"status"` +} + +func GetIsRegionOutput(ctx *pulumi.Context, args GetIsRegionOutputArgs, opts ...pulumi.InvokeOption) GetIsRegionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsRegionResultOutput, error) { + args := v.(GetIsRegionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsRegion:getIsRegion", args, GetIsRegionResultOutput{}, options).(GetIsRegionResultOutput), nil + }).(GetIsRegionResultOutput) +} + +// A collection of arguments for invoking getIsRegion. +type GetIsRegionOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (GetIsRegionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsRegionArgs)(nil)).Elem() +} + +// A collection of values returned by getIsRegion. +type GetIsRegionResultOutput struct{ *pulumi.OutputState } + +func (GetIsRegionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsRegionResult)(nil)).Elem() +} + +func (o GetIsRegionResultOutput) ToGetIsRegionResultOutput() GetIsRegionResultOutput { + return o +} + +func (o GetIsRegionResultOutput) ToGetIsRegionResultOutputWithContext(ctx context.Context) GetIsRegionResultOutput { + return o +} + +func (o GetIsRegionResultOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetIsRegionResult) string { return v.Endpoint }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsRegionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsRegionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsRegionResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsRegionResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsRegionResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsRegionResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsRegionResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsRegions.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsRegions.go new file mode 100644 index 000000000..f7006e028 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsRegions.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsRegions(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsRegionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsRegionsResult + err := ctx.Invoke("ibmcloud:index/getIsRegions:getIsRegions", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsRegions. +type GetIsRegionsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Regions []GetIsRegionsRegion `pulumi:"regions"` +} + +func GetIsRegionsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsRegionsResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsRegionsResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsRegions:getIsRegions", nil, GetIsRegionsResultOutput{}, options).(GetIsRegionsResultOutput), nil + }).(GetIsRegionsResultOutput) +} + +// A collection of values returned by getIsRegions. +type GetIsRegionsResultOutput struct{ *pulumi.OutputState } + +func (GetIsRegionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsRegionsResult)(nil)).Elem() +} + +func (o GetIsRegionsResultOutput) ToGetIsRegionsResultOutput() GetIsRegionsResultOutput { + return o +} + +func (o GetIsRegionsResultOutput) ToGetIsRegionsResultOutputWithContext(ctx context.Context) GetIsRegionsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsRegionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsRegionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsRegionsResultOutput) Regions() GetIsRegionsRegionArrayOutput { + return o.ApplyT(func(v GetIsRegionsResult) []GetIsRegionsRegion { return v.Regions }).(GetIsRegionsRegionArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsRegionsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsReservation.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsReservation.go new file mode 100644 index 000000000..e97052888 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsReservation.go @@ -0,0 +1,154 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsReservation(ctx *pulumi.Context, args *LookupIsReservationArgs, opts ...pulumi.InvokeOption) (*LookupIsReservationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsReservationResult + err := ctx.Invoke("ibmcloud:index/getIsReservation:getIsReservation", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsReservation. +type LookupIsReservationArgs struct { + Capacities []GetIsReservationCapacity `pulumi:"capacities"` + CommittedUses []GetIsReservationCommittedUse `pulumi:"committedUses"` + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsReservation. +type LookupIsReservationResult struct { + AffinityPolicy string `pulumi:"affinityPolicy"` + Capacities []GetIsReservationCapacity `pulumi:"capacities"` + CommittedUses []GetIsReservationCommittedUse `pulumi:"committedUses"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Href string `pulumi:"href"` + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + Profiles []GetIsReservationProfile `pulumi:"profiles"` + ResourceGroups []GetIsReservationResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + Status string `pulumi:"status"` + StatusReasons []GetIsReservationStatusReason `pulumi:"statusReasons"` + Zone string `pulumi:"zone"` +} + +func LookupIsReservationOutput(ctx *pulumi.Context, args LookupIsReservationOutputArgs, opts ...pulumi.InvokeOption) LookupIsReservationResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsReservationResultOutput, error) { + args := v.(LookupIsReservationArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsReservation:getIsReservation", args, LookupIsReservationResultOutput{}, options).(LookupIsReservationResultOutput), nil + }).(LookupIsReservationResultOutput) +} + +// A collection of arguments for invoking getIsReservation. +type LookupIsReservationOutputArgs struct { + Capacities GetIsReservationCapacityArrayInput `pulumi:"capacities"` + CommittedUses GetIsReservationCommittedUseArrayInput `pulumi:"committedUses"` + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsReservationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsReservationArgs)(nil)).Elem() +} + +// A collection of values returned by getIsReservation. +type LookupIsReservationResultOutput struct{ *pulumi.OutputState } + +func (LookupIsReservationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsReservationResult)(nil)).Elem() +} + +func (o LookupIsReservationResultOutput) ToLookupIsReservationResultOutput() LookupIsReservationResultOutput { + return o +} + +func (o LookupIsReservationResultOutput) ToLookupIsReservationResultOutputWithContext(ctx context.Context) LookupIsReservationResultOutput { + return o +} + +func (o LookupIsReservationResultOutput) AffinityPolicy() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.AffinityPolicy }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) Capacities() GetIsReservationCapacityArrayOutput { + return o.ApplyT(func(v LookupIsReservationResult) []GetIsReservationCapacity { return v.Capacities }).(GetIsReservationCapacityArrayOutput) +} + +func (o LookupIsReservationResultOutput) CommittedUses() GetIsReservationCommittedUseArrayOutput { + return o.ApplyT(func(v LookupIsReservationResult) []GetIsReservationCommittedUse { return v.CommittedUses }).(GetIsReservationCommittedUseArrayOutput) +} + +func (o LookupIsReservationResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsReservationResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsReservationResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) Profiles() GetIsReservationProfileArrayOutput { + return o.ApplyT(func(v LookupIsReservationResult) []GetIsReservationProfile { return v.Profiles }).(GetIsReservationProfileArrayOutput) +} + +func (o LookupIsReservationResultOutput) ResourceGroups() GetIsReservationResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsReservationResult) []GetIsReservationResourceGroup { return v.ResourceGroups }).(GetIsReservationResourceGroupArrayOutput) +} + +func (o LookupIsReservationResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsReservationResultOutput) StatusReasons() GetIsReservationStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsReservationResult) []GetIsReservationStatusReason { return v.StatusReasons }).(GetIsReservationStatusReasonArrayOutput) +} + +func (o LookupIsReservationResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsReservationResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsReservationResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsReservations.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsReservations.go new file mode 100644 index 000000000..788781208 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsReservations.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsReservations(ctx *pulumi.Context, args *GetIsReservationsArgs, opts ...pulumi.InvokeOption) (*GetIsReservationsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsReservationsResult + err := ctx.Invoke("ibmcloud:index/getIsReservations:getIsReservations", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsReservations. +type GetIsReservationsArgs struct { + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + ZoneName *string `pulumi:"zoneName"` +} + +// A collection of values returned by getIsReservations. +type GetIsReservationsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + Reservations []GetIsReservationsReservation `pulumi:"reservations"` + ResourceGroup *string `pulumi:"resourceGroup"` + ZoneName *string `pulumi:"zoneName"` +} + +func GetIsReservationsOutput(ctx *pulumi.Context, args GetIsReservationsOutputArgs, opts ...pulumi.InvokeOption) GetIsReservationsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsReservationsResultOutput, error) { + args := v.(GetIsReservationsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsReservations:getIsReservations", args, GetIsReservationsResultOutput{}, options).(GetIsReservationsResultOutput), nil + }).(GetIsReservationsResultOutput) +} + +// A collection of arguments for invoking getIsReservations. +type GetIsReservationsOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + ZoneName pulumi.StringPtrInput `pulumi:"zoneName"` +} + +func (GetIsReservationsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsReservations. +type GetIsReservationsResultOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsResult)(nil)).Elem() +} + +func (o GetIsReservationsResultOutput) ToGetIsReservationsResultOutput() GetIsReservationsResultOutput { + return o +} + +func (o GetIsReservationsResultOutput) ToGetIsReservationsResultOutputWithContext(ctx context.Context) GetIsReservationsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsReservationsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsReservationsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsReservationsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsReservationsResultOutput) Reservations() GetIsReservationsReservationArrayOutput { + return o.ApplyT(func(v GetIsReservationsResult) []GetIsReservationsReservation { return v.Reservations }).(GetIsReservationsReservationArrayOutput) +} + +func (o GetIsReservationsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsReservationsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsReservationsResultOutput) ZoneName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsReservationsResult) *string { return v.ZoneName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsReservationsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroup.go new file mode 100644 index 000000000..5cee442ba --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroup.go @@ -0,0 +1,141 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsSecurityGroup(ctx *pulumi.Context, args *LookupIsSecurityGroupArgs, opts ...pulumi.InvokeOption) (*LookupIsSecurityGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsSecurityGroupResult + err := ctx.Invoke("ibmcloud:index/getIsSecurityGroup:getIsSecurityGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSecurityGroup. +type LookupIsSecurityGroupArgs struct { + Name string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + Vpc *string `pulumi:"vpc"` + VpcName *string `pulumi:"vpcName"` +} + +// A collection of values returned by getIsSecurityGroup. +type LookupIsSecurityGroupResult struct { + AccessTags []string `pulumi:"accessTags"` + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + Rules []GetIsSecurityGroupRuleType `pulumi:"rules"` + Tags []string `pulumi:"tags"` + Vpc string `pulumi:"vpc"` + VpcName string `pulumi:"vpcName"` +} + +func LookupIsSecurityGroupOutput(ctx *pulumi.Context, args LookupIsSecurityGroupOutputArgs, opts ...pulumi.InvokeOption) LookupIsSecurityGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsSecurityGroupResultOutput, error) { + args := v.(LookupIsSecurityGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSecurityGroup:getIsSecurityGroup", args, LookupIsSecurityGroupResultOutput{}, options).(LookupIsSecurityGroupResultOutput), nil + }).(LookupIsSecurityGroupResultOutput) +} + +// A collection of arguments for invoking getIsSecurityGroup. +type LookupIsSecurityGroupOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + Vpc pulumi.StringPtrInput `pulumi:"vpc"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` +} + +func (LookupIsSecurityGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSecurityGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSecurityGroup. +type LookupIsSecurityGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupIsSecurityGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSecurityGroupResult)(nil)).Elem() +} + +func (o LookupIsSecurityGroupResultOutput) ToLookupIsSecurityGroupResultOutput() LookupIsSecurityGroupResultOutput { + return o +} + +func (o LookupIsSecurityGroupResultOutput) ToLookupIsSecurityGroupResultOutputWithContext(ctx context.Context) LookupIsSecurityGroupResultOutput { + return o +} + +func (o LookupIsSecurityGroupResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSecurityGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsSecurityGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupResultOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupResultOutput) Rules() GetIsSecurityGroupRuleTypeArrayOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) []GetIsSecurityGroupRuleType { return v.Rules }).(GetIsSecurityGroupRuleTypeArrayOutput) +} + +func (o LookupIsSecurityGroupResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSecurityGroupResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupResultOutput) VpcName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupResult) string { return v.VpcName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsSecurityGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupRule.go new file mode 100644 index 000000000..09c625e39 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupRule.go @@ -0,0 +1,137 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsSecurityGroupRule(ctx *pulumi.Context, args *LookupIsSecurityGroupRuleArgs, opts ...pulumi.InvokeOption) (*LookupIsSecurityGroupRuleResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsSecurityGroupRuleResult + err := ctx.Invoke("ibmcloud:index/getIsSecurityGroupRule:getIsSecurityGroupRule", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSecurityGroupRule. +type LookupIsSecurityGroupRuleArgs struct { + SecurityGroup string `pulumi:"securityGroup"` + SecurityGroupRule string `pulumi:"securityGroupRule"` +} + +// A collection of values returned by getIsSecurityGroupRule. +type LookupIsSecurityGroupRuleResult struct { + Code int `pulumi:"code"` + Direction string `pulumi:"direction"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IpVersion string `pulumi:"ipVersion"` + Locals []GetIsSecurityGroupRuleLocal `pulumi:"locals"` + PortMax int `pulumi:"portMax"` + PortMin int `pulumi:"portMin"` + Protocol string `pulumi:"protocol"` + Remotes []GetIsSecurityGroupRuleRemote `pulumi:"remotes"` + SecurityGroup string `pulumi:"securityGroup"` + SecurityGroupRule string `pulumi:"securityGroupRule"` + Type int `pulumi:"type"` +} + +func LookupIsSecurityGroupRuleOutput(ctx *pulumi.Context, args LookupIsSecurityGroupRuleOutputArgs, opts ...pulumi.InvokeOption) LookupIsSecurityGroupRuleResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsSecurityGroupRuleResultOutput, error) { + args := v.(LookupIsSecurityGroupRuleArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSecurityGroupRule:getIsSecurityGroupRule", args, LookupIsSecurityGroupRuleResultOutput{}, options).(LookupIsSecurityGroupRuleResultOutput), nil + }).(LookupIsSecurityGroupRuleResultOutput) +} + +// A collection of arguments for invoking getIsSecurityGroupRule. +type LookupIsSecurityGroupRuleOutputArgs struct { + SecurityGroup pulumi.StringInput `pulumi:"securityGroup"` + SecurityGroupRule pulumi.StringInput `pulumi:"securityGroupRule"` +} + +func (LookupIsSecurityGroupRuleOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSecurityGroupRuleArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSecurityGroupRule. +type LookupIsSecurityGroupRuleResultOutput struct{ *pulumi.OutputState } + +func (LookupIsSecurityGroupRuleResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSecurityGroupRuleResult)(nil)).Elem() +} + +func (o LookupIsSecurityGroupRuleResultOutput) ToLookupIsSecurityGroupRuleResultOutput() LookupIsSecurityGroupRuleResultOutput { + return o +} + +func (o LookupIsSecurityGroupRuleResultOutput) ToLookupIsSecurityGroupRuleResultOutputWithContext(ctx context.Context) LookupIsSecurityGroupRuleResultOutput { + return o +} + +func (o LookupIsSecurityGroupRuleResultOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) int { return v.Code }).(pulumi.IntOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) string { return v.Direction }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsSecurityGroupRuleResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) string { return v.IpVersion }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) Locals() GetIsSecurityGroupRuleLocalArrayOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) []GetIsSecurityGroupRuleLocal { return v.Locals }).(GetIsSecurityGroupRuleLocalArrayOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) int { return v.PortMax }).(pulumi.IntOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) int { return v.PortMin }).(pulumi.IntOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) string { return v.Protocol }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) Remotes() GetIsSecurityGroupRuleRemoteArrayOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) []GetIsSecurityGroupRuleRemote { return v.Remotes }).(GetIsSecurityGroupRuleRemoteArrayOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) SecurityGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) string { return v.SecurityGroup }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) SecurityGroupRule() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) string { return v.SecurityGroupRule }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupRuleResultOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSecurityGroupRuleResult) int { return v.Type }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsSecurityGroupRuleResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupRules.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupRules.go new file mode 100644 index 000000000..d2d56594f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupRules.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSecurityGroupRules(ctx *pulumi.Context, args *GetIsSecurityGroupRulesArgs, opts ...pulumi.InvokeOption) (*GetIsSecurityGroupRulesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSecurityGroupRulesResult + err := ctx.Invoke("ibmcloud:index/getIsSecurityGroupRules:getIsSecurityGroupRules", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSecurityGroupRules. +type GetIsSecurityGroupRulesArgs struct { + SecurityGroup string `pulumi:"securityGroup"` +} + +// A collection of values returned by getIsSecurityGroupRules. +type GetIsSecurityGroupRulesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Rules []GetIsSecurityGroupRulesRule `pulumi:"rules"` + SecurityGroup string `pulumi:"securityGroup"` +} + +func GetIsSecurityGroupRulesOutput(ctx *pulumi.Context, args GetIsSecurityGroupRulesOutputArgs, opts ...pulumi.InvokeOption) GetIsSecurityGroupRulesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSecurityGroupRulesResultOutput, error) { + args := v.(GetIsSecurityGroupRulesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSecurityGroupRules:getIsSecurityGroupRules", args, GetIsSecurityGroupRulesResultOutput{}, options).(GetIsSecurityGroupRulesResultOutput), nil + }).(GetIsSecurityGroupRulesResultOutput) +} + +// A collection of arguments for invoking getIsSecurityGroupRules. +type GetIsSecurityGroupRulesOutputArgs struct { + SecurityGroup pulumi.StringInput `pulumi:"securityGroup"` +} + +func (GetIsSecurityGroupRulesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSecurityGroupRules. +type GetIsSecurityGroupRulesResultOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesResult)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesResultOutput) ToGetIsSecurityGroupRulesResultOutput() GetIsSecurityGroupRulesResultOutput { + return o +} + +func (o GetIsSecurityGroupRulesResultOutput) ToGetIsSecurityGroupRulesResultOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSecurityGroupRulesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSecurityGroupRulesResultOutput) Rules() GetIsSecurityGroupRulesRuleArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesResult) []GetIsSecurityGroupRulesRule { return v.Rules }).(GetIsSecurityGroupRulesRuleArrayOutput) +} + +func (o GetIsSecurityGroupRulesResultOutput) SecurityGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesResult) string { return v.SecurityGroup }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSecurityGroupRulesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupTarget.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupTarget.go new file mode 100644 index 000000000..95ac54cf5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupTarget.go @@ -0,0 +1,107 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsSecurityGroupTarget(ctx *pulumi.Context, args *LookupIsSecurityGroupTargetArgs, opts ...pulumi.InvokeOption) (*LookupIsSecurityGroupTargetResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsSecurityGroupTargetResult + err := ctx.Invoke("ibmcloud:index/getIsSecurityGroupTarget:getIsSecurityGroupTarget", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSecurityGroupTarget. +type LookupIsSecurityGroupTargetArgs struct { + Name string `pulumi:"name"` + SecurityGroup string `pulumi:"securityGroup"` +} + +// A collection of values returned by getIsSecurityGroupTarget. +type LookupIsSecurityGroupTargetResult struct { + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MoreInfo string `pulumi:"moreInfo"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + SecurityGroup string `pulumi:"securityGroup"` + Target string `pulumi:"target"` +} + +func LookupIsSecurityGroupTargetOutput(ctx *pulumi.Context, args LookupIsSecurityGroupTargetOutputArgs, opts ...pulumi.InvokeOption) LookupIsSecurityGroupTargetResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsSecurityGroupTargetResultOutput, error) { + args := v.(LookupIsSecurityGroupTargetArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSecurityGroupTarget:getIsSecurityGroupTarget", args, LookupIsSecurityGroupTargetResultOutput{}, options).(LookupIsSecurityGroupTargetResultOutput), nil + }).(LookupIsSecurityGroupTargetResultOutput) +} + +// A collection of arguments for invoking getIsSecurityGroupTarget. +type LookupIsSecurityGroupTargetOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` + SecurityGroup pulumi.StringInput `pulumi:"securityGroup"` +} + +func (LookupIsSecurityGroupTargetOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSecurityGroupTargetArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSecurityGroupTarget. +type LookupIsSecurityGroupTargetResultOutput struct{ *pulumi.OutputState } + +func (LookupIsSecurityGroupTargetResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSecurityGroupTargetResult)(nil)).Elem() +} + +func (o LookupIsSecurityGroupTargetResultOutput) ToLookupIsSecurityGroupTargetResultOutput() LookupIsSecurityGroupTargetResultOutput { + return o +} + +func (o LookupIsSecurityGroupTargetResultOutput) ToLookupIsSecurityGroupTargetResultOutputWithContext(ctx context.Context) LookupIsSecurityGroupTargetResultOutput { + return o +} + +func (o LookupIsSecurityGroupTargetResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupTargetResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsSecurityGroupTargetResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupTargetResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupTargetResultOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupTargetResult) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupTargetResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupTargetResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupTargetResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupTargetResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupTargetResultOutput) SecurityGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupTargetResult) string { return v.SecurityGroup }).(pulumi.StringOutput) +} + +func (o LookupIsSecurityGroupTargetResultOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSecurityGroupTargetResult) string { return v.Target }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsSecurityGroupTargetResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupTargets.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupTargets.go new file mode 100644 index 000000000..443593d8f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroupTargets.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSecurityGroupTargets(ctx *pulumi.Context, args *GetIsSecurityGroupTargetsArgs, opts ...pulumi.InvokeOption) (*GetIsSecurityGroupTargetsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSecurityGroupTargetsResult + err := ctx.Invoke("ibmcloud:index/getIsSecurityGroupTargets:getIsSecurityGroupTargets", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSecurityGroupTargets. +type GetIsSecurityGroupTargetsArgs struct { + SecurityGroup string `pulumi:"securityGroup"` +} + +// A collection of values returned by getIsSecurityGroupTargets. +type GetIsSecurityGroupTargetsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + SecurityGroup string `pulumi:"securityGroup"` + Targets []GetIsSecurityGroupTargetsTarget `pulumi:"targets"` +} + +func GetIsSecurityGroupTargetsOutput(ctx *pulumi.Context, args GetIsSecurityGroupTargetsOutputArgs, opts ...pulumi.InvokeOption) GetIsSecurityGroupTargetsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSecurityGroupTargetsResultOutput, error) { + args := v.(GetIsSecurityGroupTargetsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSecurityGroupTargets:getIsSecurityGroupTargets", args, GetIsSecurityGroupTargetsResultOutput{}, options).(GetIsSecurityGroupTargetsResultOutput), nil + }).(GetIsSecurityGroupTargetsResultOutput) +} + +// A collection of arguments for invoking getIsSecurityGroupTargets. +type GetIsSecurityGroupTargetsOutputArgs struct { + SecurityGroup pulumi.StringInput `pulumi:"securityGroup"` +} + +func (GetIsSecurityGroupTargetsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupTargetsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSecurityGroupTargets. +type GetIsSecurityGroupTargetsResultOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupTargetsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupTargetsResult)(nil)).Elem() +} + +func (o GetIsSecurityGroupTargetsResultOutput) ToGetIsSecurityGroupTargetsResultOutput() GetIsSecurityGroupTargetsResultOutput { + return o +} + +func (o GetIsSecurityGroupTargetsResultOutput) ToGetIsSecurityGroupTargetsResultOutputWithContext(ctx context.Context) GetIsSecurityGroupTargetsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSecurityGroupTargetsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupTargetsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSecurityGroupTargetsResultOutput) SecurityGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupTargetsResult) string { return v.SecurityGroup }).(pulumi.StringOutput) +} + +func (o GetIsSecurityGroupTargetsResultOutput) Targets() GetIsSecurityGroupTargetsTargetArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupTargetsResult) []GetIsSecurityGroupTargetsTarget { return v.Targets }).(GetIsSecurityGroupTargetsTargetArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSecurityGroupTargetsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroups.go new file mode 100644 index 000000000..eb03c07d9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSecurityGroups.go @@ -0,0 +1,106 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSecurityGroups(ctx *pulumi.Context, args *GetIsSecurityGroupsArgs, opts ...pulumi.InvokeOption) (*GetIsSecurityGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSecurityGroupsResult + err := ctx.Invoke("ibmcloud:index/getIsSecurityGroups:getIsSecurityGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSecurityGroups. +type GetIsSecurityGroupsArgs struct { + ResourceGroup *string `pulumi:"resourceGroup"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcId *string `pulumi:"vpcId"` + VpcName *string `pulumi:"vpcName"` +} + +// A collection of values returned by getIsSecurityGroups. +type GetIsSecurityGroupsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResourceGroup *string `pulumi:"resourceGroup"` + SecurityGroups []GetIsSecurityGroupsSecurityGroup `pulumi:"securityGroups"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcId *string `pulumi:"vpcId"` + VpcName *string `pulumi:"vpcName"` +} + +func GetIsSecurityGroupsOutput(ctx *pulumi.Context, args GetIsSecurityGroupsOutputArgs, opts ...pulumi.InvokeOption) GetIsSecurityGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSecurityGroupsResultOutput, error) { + args := v.(GetIsSecurityGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSecurityGroups:getIsSecurityGroups", args, GetIsSecurityGroupsResultOutput{}, options).(GetIsSecurityGroupsResultOutput), nil + }).(GetIsSecurityGroupsResultOutput) +} + +// A collection of arguments for invoking getIsSecurityGroups. +type GetIsSecurityGroupsOutputArgs struct { + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + VpcCrn pulumi.StringPtrInput `pulumi:"vpcCrn"` + VpcId pulumi.StringPtrInput `pulumi:"vpcId"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` +} + +func (GetIsSecurityGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSecurityGroups. +type GetIsSecurityGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsResult)(nil)).Elem() +} + +func (o GetIsSecurityGroupsResultOutput) ToGetIsSecurityGroupsResultOutput() GetIsSecurityGroupsResultOutput { + return o +} + +func (o GetIsSecurityGroupsResultOutput) ToGetIsSecurityGroupsResultOutputWithContext(ctx context.Context) GetIsSecurityGroupsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSecurityGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSecurityGroupsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSecurityGroupsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsSecurityGroupsResultOutput) SecurityGroups() GetIsSecurityGroupsSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsResult) []GetIsSecurityGroupsSecurityGroup { return v.SecurityGroups }).(GetIsSecurityGroupsSecurityGroupArrayOutput) +} + +func (o GetIsSecurityGroupsResultOutput) VpcCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSecurityGroupsResult) *string { return v.VpcCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsSecurityGroupsResultOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSecurityGroupsResult) *string { return v.VpcId }).(pulumi.StringPtrOutput) +} + +func (o GetIsSecurityGroupsResultOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSecurityGroupsResult) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSecurityGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShare.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShare.go new file mode 100644 index 000000000..0b8e5f74d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShare.go @@ -0,0 +1,267 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsShare(ctx *pulumi.Context, args *LookupIsShareArgs, opts ...pulumi.InvokeOption) (*LookupIsShareResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsShareResult + err := ctx.Invoke("ibmcloud:index/getIsShare:getIsShare", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShare. +type LookupIsShareArgs struct { + Name *string `pulumi:"name"` + Share *string `pulumi:"share"` +} + +// A collection of values returned by getIsShare. +type LookupIsShareResult struct { + AccessControlMode string `pulumi:"accessControlMode"` + AccessTags []string `pulumi:"accessTags"` + AccessorBindingRole string `pulumi:"accessorBindingRole"` + AccessorBindings []GetIsShareAccessorBinding `pulumi:"accessorBindings"` + AllowedAccessProtocols []string `pulumi:"allowedAccessProtocols"` + AllowedTransitEncryptionModes []string `pulumi:"allowedTransitEncryptionModes"` + AvailabilityMode string `pulumi:"availabilityMode"` + Bandwidth int `pulumi:"bandwidth"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Encryption string `pulumi:"encryption"` + EncryptionKey string `pulumi:"encryptionKey"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Iops int `pulumi:"iops"` + LatestJobs []GetIsShareLatestJob `pulumi:"latestJobs"` + LatestSyncs []GetIsShareLatestSync `pulumi:"latestSyncs"` + LifecycleState string `pulumi:"lifecycleState"` + MountTargets []GetIsShareMountTargetType `pulumi:"mountTargets"` + Name string `pulumi:"name"` + OriginShares []GetIsShareOriginShare `pulumi:"originShares"` + Profile string `pulumi:"profile"` + ReplicaShares []GetIsShareReplicaShare `pulumi:"replicaShares"` + ReplicationCronSpec string `pulumi:"replicationCronSpec"` + ReplicationRole string `pulumi:"replicationRole"` + ReplicationStatus string `pulumi:"replicationStatus"` + ReplicationStatusReasons []GetIsShareReplicationStatusReason `pulumi:"replicationStatusReasons"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceType string `pulumi:"resourceType"` + Share *string `pulumi:"share"` + ShareTargets []GetIsShareShareTarget `pulumi:"shareTargets"` + Size int `pulumi:"size"` + SnapshotCount int `pulumi:"snapshotCount"` + SnapshotSize int `pulumi:"snapshotSize"` + SourceShares []GetIsShareSourceShare `pulumi:"sourceShares"` + SourceSnapshots []GetIsShareSourceSnapshot `pulumi:"sourceSnapshots"` + StorageGeneration int `pulumi:"storageGeneration"` + Tags []string `pulumi:"tags"` + Zone string `pulumi:"zone"` +} + +func LookupIsShareOutput(ctx *pulumi.Context, args LookupIsShareOutputArgs, opts ...pulumi.InvokeOption) LookupIsShareResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsShareResultOutput, error) { + args := v.(LookupIsShareArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShare:getIsShare", args, LookupIsShareResultOutput{}, options).(LookupIsShareResultOutput), nil + }).(LookupIsShareResultOutput) +} + +// A collection of arguments for invoking getIsShare. +type LookupIsShareOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + Share pulumi.StringPtrInput `pulumi:"share"` +} + +func (LookupIsShareOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsShareArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShare. +type LookupIsShareResultOutput struct{ *pulumi.OutputState } + +func (LookupIsShareResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsShareResult)(nil)).Elem() +} + +func (o LookupIsShareResultOutput) ToLookupIsShareResultOutput() LookupIsShareResultOutput { + return o +} + +func (o LookupIsShareResultOutput) ToLookupIsShareResultOutputWithContext(ctx context.Context) LookupIsShareResultOutput { + return o +} + +func (o LookupIsShareResultOutput) AccessControlMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.AccessControlMode }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsShareResultOutput) AccessorBindingRole() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.AccessorBindingRole }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) AccessorBindings() GetIsShareAccessorBindingArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareAccessorBinding { return v.AccessorBindings }).(GetIsShareAccessorBindingArrayOutput) +} + +func (o LookupIsShareResultOutput) AllowedAccessProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []string { return v.AllowedAccessProtocols }).(pulumi.StringArrayOutput) +} + +func (o LookupIsShareResultOutput) AllowedTransitEncryptionModes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []string { return v.AllowedTransitEncryptionModes }).(pulumi.StringArrayOutput) +} + +func (o LookupIsShareResultOutput) AvailabilityMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.AvailabilityMode }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsShareResult) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +func (o LookupIsShareResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.Encryption }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsShareResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsShareResult) int { return v.Iops }).(pulumi.IntOutput) +} + +func (o LookupIsShareResultOutput) LatestJobs() GetIsShareLatestJobArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareLatestJob { return v.LatestJobs }).(GetIsShareLatestJobArrayOutput) +} + +func (o LookupIsShareResultOutput) LatestSyncs() GetIsShareLatestSyncArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareLatestSync { return v.LatestSyncs }).(GetIsShareLatestSyncArrayOutput) +} + +func (o LookupIsShareResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) MountTargets() GetIsShareMountTargetTypeArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareMountTargetType { return v.MountTargets }).(GetIsShareMountTargetTypeArrayOutput) +} + +func (o LookupIsShareResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) OriginShares() GetIsShareOriginShareArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareOriginShare { return v.OriginShares }).(GetIsShareOriginShareArrayOutput) +} + +func (o LookupIsShareResultOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) ReplicaShares() GetIsShareReplicaShareArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareReplicaShare { return v.ReplicaShares }).(GetIsShareReplicaShareArrayOutput) +} + +func (o LookupIsShareResultOutput) ReplicationCronSpec() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.ReplicationCronSpec }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) ReplicationRole() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.ReplicationRole }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) ReplicationStatusReasons() GetIsShareReplicationStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareReplicationStatusReason { return v.ReplicationStatusReasons }).(GetIsShareReplicationStatusReasonArrayOutput) +} + +func (o LookupIsShareResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsShareResultOutput) Share() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsShareResult) *string { return v.Share }).(pulumi.StringPtrOutput) +} + +func (o LookupIsShareResultOutput) ShareTargets() GetIsShareShareTargetArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareShareTarget { return v.ShareTargets }).(GetIsShareShareTargetArrayOutput) +} + +func (o LookupIsShareResultOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsShareResult) int { return v.Size }).(pulumi.IntOutput) +} + +func (o LookupIsShareResultOutput) SnapshotCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsShareResult) int { return v.SnapshotCount }).(pulumi.IntOutput) +} + +func (o LookupIsShareResultOutput) SnapshotSize() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsShareResult) int { return v.SnapshotSize }).(pulumi.IntOutput) +} + +func (o LookupIsShareResultOutput) SourceShares() GetIsShareSourceShareArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareSourceShare { return v.SourceShares }).(GetIsShareSourceShareArrayOutput) +} + +func (o LookupIsShareResultOutput) SourceSnapshots() GetIsShareSourceSnapshotArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []GetIsShareSourceSnapshot { return v.SourceSnapshots }).(GetIsShareSourceSnapshotArrayOutput) +} + +func (o LookupIsShareResultOutput) StorageGeneration() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsShareResult) int { return v.StorageGeneration }).(pulumi.IntOutput) +} + +func (o LookupIsShareResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsShareResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsShareResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsShareResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareAccessorBinding.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareAccessorBinding.go new file mode 100644 index 000000000..7b3bc5ddf --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareAccessorBinding.go @@ -0,0 +1,112 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsShareAccessorBinding(ctx *pulumi.Context, args *LookupIsShareAccessorBindingArgs, opts ...pulumi.InvokeOption) (*LookupIsShareAccessorBindingResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsShareAccessorBindingResult + err := ctx.Invoke("ibmcloud:index/getIsShareAccessorBinding:getIsShareAccessorBinding", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShareAccessorBinding. +type LookupIsShareAccessorBindingArgs struct { + AccessorBinding string `pulumi:"accessorBinding"` + Share string `pulumi:"share"` +} + +// A collection of values returned by getIsShareAccessorBinding. +type LookupIsShareAccessorBindingResult struct { + AccessorBinding string `pulumi:"accessorBinding"` + Accessors []GetIsShareAccessorBindingAccessor `pulumi:"accessors"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleState string `pulumi:"lifecycleState"` + ResourceType string `pulumi:"resourceType"` + Share string `pulumi:"share"` +} + +func LookupIsShareAccessorBindingOutput(ctx *pulumi.Context, args LookupIsShareAccessorBindingOutputArgs, opts ...pulumi.InvokeOption) LookupIsShareAccessorBindingResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsShareAccessorBindingResultOutput, error) { + args := v.(LookupIsShareAccessorBindingArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShareAccessorBinding:getIsShareAccessorBinding", args, LookupIsShareAccessorBindingResultOutput{}, options).(LookupIsShareAccessorBindingResultOutput), nil + }).(LookupIsShareAccessorBindingResultOutput) +} + +// A collection of arguments for invoking getIsShareAccessorBinding. +type LookupIsShareAccessorBindingOutputArgs struct { + AccessorBinding pulumi.StringInput `pulumi:"accessorBinding"` + Share pulumi.StringInput `pulumi:"share"` +} + +func (LookupIsShareAccessorBindingOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsShareAccessorBindingArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShareAccessorBinding. +type LookupIsShareAccessorBindingResultOutput struct{ *pulumi.OutputState } + +func (LookupIsShareAccessorBindingResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsShareAccessorBindingResult)(nil)).Elem() +} + +func (o LookupIsShareAccessorBindingResultOutput) ToLookupIsShareAccessorBindingResultOutput() LookupIsShareAccessorBindingResultOutput { + return o +} + +func (o LookupIsShareAccessorBindingResultOutput) ToLookupIsShareAccessorBindingResultOutputWithContext(ctx context.Context) LookupIsShareAccessorBindingResultOutput { + return o +} + +func (o LookupIsShareAccessorBindingResultOutput) AccessorBinding() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareAccessorBindingResult) string { return v.AccessorBinding }).(pulumi.StringOutput) +} + +func (o LookupIsShareAccessorBindingResultOutput) Accessors() GetIsShareAccessorBindingAccessorArrayOutput { + return o.ApplyT(func(v LookupIsShareAccessorBindingResult) []GetIsShareAccessorBindingAccessor { return v.Accessors }).(GetIsShareAccessorBindingAccessorArrayOutput) +} + +func (o LookupIsShareAccessorBindingResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareAccessorBindingResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsShareAccessorBindingResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareAccessorBindingResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsShareAccessorBindingResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareAccessorBindingResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsShareAccessorBindingResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareAccessorBindingResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsShareAccessorBindingResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareAccessorBindingResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsShareAccessorBindingResultOutput) Share() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareAccessorBindingResult) string { return v.Share }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsShareAccessorBindingResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareAccessorBindings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareAccessorBindings.go new file mode 100644 index 000000000..a3fc56d22 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareAccessorBindings.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsShareAccessorBindings(ctx *pulumi.Context, args *GetIsShareAccessorBindingsArgs, opts ...pulumi.InvokeOption) (*GetIsShareAccessorBindingsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsShareAccessorBindingsResult + err := ctx.Invoke("ibmcloud:index/getIsShareAccessorBindings:getIsShareAccessorBindings", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShareAccessorBindings. +type GetIsShareAccessorBindingsArgs struct { + Share string `pulumi:"share"` +} + +// A collection of values returned by getIsShareAccessorBindings. +type GetIsShareAccessorBindingsResult struct { + AccessorBindings []GetIsShareAccessorBindingsAccessorBinding `pulumi:"accessorBindings"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Share string `pulumi:"share"` +} + +func GetIsShareAccessorBindingsOutput(ctx *pulumi.Context, args GetIsShareAccessorBindingsOutputArgs, opts ...pulumi.InvokeOption) GetIsShareAccessorBindingsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsShareAccessorBindingsResultOutput, error) { + args := v.(GetIsShareAccessorBindingsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShareAccessorBindings:getIsShareAccessorBindings", args, GetIsShareAccessorBindingsResultOutput{}, options).(GetIsShareAccessorBindingsResultOutput), nil + }).(GetIsShareAccessorBindingsResultOutput) +} + +// A collection of arguments for invoking getIsShareAccessorBindings. +type GetIsShareAccessorBindingsOutputArgs struct { + Share pulumi.StringInput `pulumi:"share"` +} + +func (GetIsShareAccessorBindingsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShareAccessorBindings. +type GetIsShareAccessorBindingsResultOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsResult)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsResultOutput) ToGetIsShareAccessorBindingsResultOutput() GetIsShareAccessorBindingsResultOutput { + return o +} + +func (o GetIsShareAccessorBindingsResultOutput) ToGetIsShareAccessorBindingsResultOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsResultOutput { + return o +} + +func (o GetIsShareAccessorBindingsResultOutput) AccessorBindings() GetIsShareAccessorBindingsAccessorBindingArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsResult) []GetIsShareAccessorBindingsAccessorBinding { + return v.AccessorBindings + }).(GetIsShareAccessorBindingsAccessorBindingArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsShareAccessorBindingsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsShareAccessorBindingsResultOutput) Share() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsResult) string { return v.Share }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsShareAccessorBindingsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareMountTarget.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareMountTarget.go new file mode 100644 index 000000000..3894b037f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareMountTarget.go @@ -0,0 +1,168 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsShareMountTarget(ctx *pulumi.Context, args *LookupIsShareMountTargetArgs, opts ...pulumi.InvokeOption) (*LookupIsShareMountTargetResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsShareMountTargetResult + err := ctx.Invoke("ibmcloud:index/getIsShareMountTarget:getIsShareMountTarget", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShareMountTarget. +type LookupIsShareMountTargetArgs struct { + MountTarget *string `pulumi:"mountTarget"` + MountTargetName *string `pulumi:"mountTargetName"` + Share *string `pulumi:"share"` + ShareName *string `pulumi:"shareName"` +} + +// A collection of values returned by getIsShareMountTarget. +type LookupIsShareMountTargetResult struct { + AccessControlMode string `pulumi:"accessControlMode"` + AccessProtocol string `pulumi:"accessProtocol"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleState string `pulumi:"lifecycleState"` + MountPath string `pulumi:"mountPath"` + MountTarget *string `pulumi:"mountTarget"` + MountTargetName *string `pulumi:"mountTargetName"` + Name string `pulumi:"name"` + PrimaryIps []GetIsShareMountTargetPrimaryIp `pulumi:"primaryIps"` + ResourceType string `pulumi:"resourceType"` + Share *string `pulumi:"share"` + ShareName *string `pulumi:"shareName"` + Subnets []GetIsShareMountTargetSubnet `pulumi:"subnets"` + TransitEncryption string `pulumi:"transitEncryption"` + VirtualNetworkInterfaces []GetIsShareMountTargetVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` + Vpcs []GetIsShareMountTargetVpc `pulumi:"vpcs"` +} + +func LookupIsShareMountTargetOutput(ctx *pulumi.Context, args LookupIsShareMountTargetOutputArgs, opts ...pulumi.InvokeOption) LookupIsShareMountTargetResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsShareMountTargetResultOutput, error) { + args := v.(LookupIsShareMountTargetArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShareMountTarget:getIsShareMountTarget", args, LookupIsShareMountTargetResultOutput{}, options).(LookupIsShareMountTargetResultOutput), nil + }).(LookupIsShareMountTargetResultOutput) +} + +// A collection of arguments for invoking getIsShareMountTarget. +type LookupIsShareMountTargetOutputArgs struct { + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` + MountTargetName pulumi.StringPtrInput `pulumi:"mountTargetName"` + Share pulumi.StringPtrInput `pulumi:"share"` + ShareName pulumi.StringPtrInput `pulumi:"shareName"` +} + +func (LookupIsShareMountTargetOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsShareMountTargetArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShareMountTarget. +type LookupIsShareMountTargetResultOutput struct{ *pulumi.OutputState } + +func (LookupIsShareMountTargetResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsShareMountTargetResult)(nil)).Elem() +} + +func (o LookupIsShareMountTargetResultOutput) ToLookupIsShareMountTargetResultOutput() LookupIsShareMountTargetResultOutput { + return o +} + +func (o LookupIsShareMountTargetResultOutput) ToLookupIsShareMountTargetResultOutputWithContext(ctx context.Context) LookupIsShareMountTargetResultOutput { + return o +} + +func (o LookupIsShareMountTargetResultOutput) AccessControlMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.AccessControlMode }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) AccessProtocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.AccessProtocol }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsShareMountTargetResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) MountPath() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.MountPath }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +func (o LookupIsShareMountTargetResultOutput) MountTargetName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) *string { return v.MountTargetName }).(pulumi.StringPtrOutput) +} + +func (o LookupIsShareMountTargetResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) PrimaryIps() GetIsShareMountTargetPrimaryIpArrayOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) []GetIsShareMountTargetPrimaryIp { return v.PrimaryIps }).(GetIsShareMountTargetPrimaryIpArrayOutput) +} + +func (o LookupIsShareMountTargetResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) Share() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) *string { return v.Share }).(pulumi.StringPtrOutput) +} + +func (o LookupIsShareMountTargetResultOutput) ShareName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) *string { return v.ShareName }).(pulumi.StringPtrOutput) +} + +func (o LookupIsShareMountTargetResultOutput) Subnets() GetIsShareMountTargetSubnetArrayOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) []GetIsShareMountTargetSubnet { return v.Subnets }).(GetIsShareMountTargetSubnetArrayOutput) +} + +func (o LookupIsShareMountTargetResultOutput) TransitEncryption() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) string { return v.TransitEncryption }).(pulumi.StringOutput) +} + +func (o LookupIsShareMountTargetResultOutput) VirtualNetworkInterfaces() GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) []GetIsShareMountTargetVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput) +} + +func (o LookupIsShareMountTargetResultOutput) Vpcs() GetIsShareMountTargetVpcArrayOutput { + return o.ApplyT(func(v LookupIsShareMountTargetResult) []GetIsShareMountTargetVpc { return v.Vpcs }).(GetIsShareMountTargetVpcArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsShareMountTargetResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareMountTargets.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareMountTargets.go new file mode 100644 index 000000000..078e5e4ad --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareMountTargets.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsShareMountTargets(ctx *pulumi.Context, args *GetIsShareMountTargetsArgs, opts ...pulumi.InvokeOption) (*GetIsShareMountTargetsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsShareMountTargetsResult + err := ctx.Invoke("ibmcloud:index/getIsShareMountTargets:getIsShareMountTargets", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShareMountTargets. +type GetIsShareMountTargetsArgs struct { + Name *string `pulumi:"name"` + Share string `pulumi:"share"` +} + +// A collection of values returned by getIsShareMountTargets. +type GetIsShareMountTargetsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MountTargets []GetIsShareMountTargetsMountTarget `pulumi:"mountTargets"` + Name string `pulumi:"name"` + Share string `pulumi:"share"` +} + +func GetIsShareMountTargetsOutput(ctx *pulumi.Context, args GetIsShareMountTargetsOutputArgs, opts ...pulumi.InvokeOption) GetIsShareMountTargetsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsShareMountTargetsResultOutput, error) { + args := v.(GetIsShareMountTargetsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShareMountTargets:getIsShareMountTargets", args, GetIsShareMountTargetsResultOutput{}, options).(GetIsShareMountTargetsResultOutput), nil + }).(GetIsShareMountTargetsResultOutput) +} + +// A collection of arguments for invoking getIsShareMountTargets. +type GetIsShareMountTargetsOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + Share pulumi.StringInput `pulumi:"share"` +} + +func (GetIsShareMountTargetsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShareMountTargets. +type GetIsShareMountTargetsResultOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsResult)(nil)).Elem() +} + +func (o GetIsShareMountTargetsResultOutput) ToGetIsShareMountTargetsResultOutput() GetIsShareMountTargetsResultOutput { + return o +} + +func (o GetIsShareMountTargetsResultOutput) ToGetIsShareMountTargetsResultOutputWithContext(ctx context.Context) GetIsShareMountTargetsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsShareMountTargetsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsShareMountTargetsResultOutput) MountTargets() GetIsShareMountTargetsMountTargetArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsResult) []GetIsShareMountTargetsMountTarget { return v.MountTargets }).(GetIsShareMountTargetsMountTargetArrayOutput) +} + +func (o GetIsShareMountTargetsResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsShareMountTargetsResultOutput) Share() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsResult) string { return v.Share }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsShareMountTargetsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareProfile.go new file mode 100644 index 000000000..498f8eb07 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareProfile.go @@ -0,0 +1,129 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsShareProfile(ctx *pulumi.Context, args *GetIsShareProfileArgs, opts ...pulumi.InvokeOption) (*GetIsShareProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsShareProfileResult + err := ctx.Invoke("ibmcloud:index/getIsShareProfile:getIsShareProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShareProfile. +type GetIsShareProfileArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsShareProfile. +type GetIsShareProfileResult struct { + AllowedAccessProtocols []GetIsShareProfileAllowedAccessProtocol `pulumi:"allowedAccessProtocols"` + AllowedTransitEncryptionModes []GetIsShareProfileAllowedTransitEncryptionMode `pulumi:"allowedTransitEncryptionModes"` + AvailabilityModes []GetIsShareProfileAvailabilityMode `pulumi:"availabilityModes"` + Bandwidths []GetIsShareProfileBandwidth `pulumi:"bandwidths"` + Capacities []GetIsShareProfileCapacity `pulumi:"capacities"` + Family string `pulumi:"family"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Iops []GetIsShareProfileIop `pulumi:"iops"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` +} + +func GetIsShareProfileOutput(ctx *pulumi.Context, args GetIsShareProfileOutputArgs, opts ...pulumi.InvokeOption) GetIsShareProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsShareProfileResultOutput, error) { + args := v.(GetIsShareProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShareProfile:getIsShareProfile", args, GetIsShareProfileResultOutput{}, options).(GetIsShareProfileResultOutput), nil + }).(GetIsShareProfileResultOutput) +} + +// A collection of arguments for invoking getIsShareProfile. +type GetIsShareProfileOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShareProfile. +type GetIsShareProfileResultOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileResult)(nil)).Elem() +} + +func (o GetIsShareProfileResultOutput) ToGetIsShareProfileResultOutput() GetIsShareProfileResultOutput { + return o +} + +func (o GetIsShareProfileResultOutput) ToGetIsShareProfileResultOutputWithContext(ctx context.Context) GetIsShareProfileResultOutput { + return o +} + +func (o GetIsShareProfileResultOutput) AllowedAccessProtocols() GetIsShareProfileAllowedAccessProtocolArrayOutput { + return o.ApplyT(func(v GetIsShareProfileResult) []GetIsShareProfileAllowedAccessProtocol { + return v.AllowedAccessProtocols + }).(GetIsShareProfileAllowedAccessProtocolArrayOutput) +} + +func (o GetIsShareProfileResultOutput) AllowedTransitEncryptionModes() GetIsShareProfileAllowedTransitEncryptionModeArrayOutput { + return o.ApplyT(func(v GetIsShareProfileResult) []GetIsShareProfileAllowedTransitEncryptionMode { + return v.AllowedTransitEncryptionModes + }).(GetIsShareProfileAllowedTransitEncryptionModeArrayOutput) +} + +func (o GetIsShareProfileResultOutput) AvailabilityModes() GetIsShareProfileAvailabilityModeArrayOutput { + return o.ApplyT(func(v GetIsShareProfileResult) []GetIsShareProfileAvailabilityMode { return v.AvailabilityModes }).(GetIsShareProfileAvailabilityModeArrayOutput) +} + +func (o GetIsShareProfileResultOutput) Bandwidths() GetIsShareProfileBandwidthArrayOutput { + return o.ApplyT(func(v GetIsShareProfileResult) []GetIsShareProfileBandwidth { return v.Bandwidths }).(GetIsShareProfileBandwidthArrayOutput) +} + +func (o GetIsShareProfileResultOutput) Capacities() GetIsShareProfileCapacityArrayOutput { + return o.ApplyT(func(v GetIsShareProfileResult) []GetIsShareProfileCapacity { return v.Capacities }).(GetIsShareProfileCapacityArrayOutput) +} + +func (o GetIsShareProfileResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o GetIsShareProfileResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsShareProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsShareProfileResultOutput) Iops() GetIsShareProfileIopArrayOutput { + return o.ApplyT(func(v GetIsShareProfileResult) []GetIsShareProfileIop { return v.Iops }).(GetIsShareProfileIopArrayOutput) +} + +func (o GetIsShareProfileResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsShareProfileResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsShareProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareProfiles.go new file mode 100644 index 000000000..9b9cf3804 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareProfiles.go @@ -0,0 +1,69 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsShareProfiles(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsShareProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsShareProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsShareProfiles:getIsShareProfiles", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsShareProfiles. +type GetIsShareProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Profiles []GetIsShareProfilesProfile `pulumi:"profiles"` + TotalCount int `pulumi:"totalCount"` +} + +func GetIsShareProfilesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsShareProfilesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsShareProfilesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShareProfiles:getIsShareProfiles", nil, GetIsShareProfilesResultOutput{}, options).(GetIsShareProfilesResultOutput), nil + }).(GetIsShareProfilesResultOutput) +} + +// A collection of values returned by getIsShareProfiles. +type GetIsShareProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesResult)(nil)).Elem() +} + +func (o GetIsShareProfilesResultOutput) ToGetIsShareProfilesResultOutput() GetIsShareProfilesResultOutput { + return o +} + +func (o GetIsShareProfilesResultOutput) ToGetIsShareProfilesResultOutputWithContext(ctx context.Context) GetIsShareProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsShareProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsShareProfilesResultOutput) Profiles() GetIsShareProfilesProfileArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesResult) []GetIsShareProfilesProfile { return v.Profiles }).(GetIsShareProfilesProfileArrayOutput) +} + +func (o GetIsShareProfilesResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsShareProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareSnapshot.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareSnapshot.go new file mode 100644 index 000000000..a8dd946ab --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareSnapshot.go @@ -0,0 +1,167 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsShareSnapshot(ctx *pulumi.Context, args *LookupIsShareSnapshotArgs, opts ...pulumi.InvokeOption) (*LookupIsShareSnapshotResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsShareSnapshotResult + err := ctx.Invoke("ibmcloud:index/getIsShareSnapshot:getIsShareSnapshot", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShareSnapshot. +type LookupIsShareSnapshotArgs struct { + Share string `pulumi:"share"` + ShareSnapshot string `pulumi:"shareSnapshot"` +} + +// A collection of values returned by getIsShareSnapshot. +type LookupIsShareSnapshotResult struct { + BackupPolicyPlans []GetIsShareSnapshotBackupPolicyPlan `pulumi:"backupPolicyPlans"` + CapturedAt string `pulumi:"capturedAt"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Fingerprint string `pulumi:"fingerprint"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleState string `pulumi:"lifecycleState"` + MinimumSize int `pulumi:"minimumSize"` + Name string `pulumi:"name"` + ResourceGroups []GetIsShareSnapshotResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + Share string `pulumi:"share"` + ShareSnapshot string `pulumi:"shareSnapshot"` + Status string `pulumi:"status"` + StatusReasons []GetIsShareSnapshotStatusReason `pulumi:"statusReasons"` + Tags []string `pulumi:"tags"` + UserTags []string `pulumi:"userTags"` + Zones []GetIsShareSnapshotZone `pulumi:"zones"` +} + +func LookupIsShareSnapshotOutput(ctx *pulumi.Context, args LookupIsShareSnapshotOutputArgs, opts ...pulumi.InvokeOption) LookupIsShareSnapshotResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsShareSnapshotResultOutput, error) { + args := v.(LookupIsShareSnapshotArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShareSnapshot:getIsShareSnapshot", args, LookupIsShareSnapshotResultOutput{}, options).(LookupIsShareSnapshotResultOutput), nil + }).(LookupIsShareSnapshotResultOutput) +} + +// A collection of arguments for invoking getIsShareSnapshot. +type LookupIsShareSnapshotOutputArgs struct { + Share pulumi.StringInput `pulumi:"share"` + ShareSnapshot pulumi.StringInput `pulumi:"shareSnapshot"` +} + +func (LookupIsShareSnapshotOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsShareSnapshotArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShareSnapshot. +type LookupIsShareSnapshotResultOutput struct{ *pulumi.OutputState } + +func (LookupIsShareSnapshotResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsShareSnapshotResult)(nil)).Elem() +} + +func (o LookupIsShareSnapshotResultOutput) ToLookupIsShareSnapshotResultOutput() LookupIsShareSnapshotResultOutput { + return o +} + +func (o LookupIsShareSnapshotResultOutput) ToLookupIsShareSnapshotResultOutputWithContext(ctx context.Context) LookupIsShareSnapshotResultOutput { + return o +} + +func (o LookupIsShareSnapshotResultOutput) BackupPolicyPlans() GetIsShareSnapshotBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) []GetIsShareSnapshotBackupPolicyPlan { return v.BackupPolicyPlans }).(GetIsShareSnapshotBackupPolicyPlanArrayOutput) +} + +func (o LookupIsShareSnapshotResultOutput) CapturedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.CapturedAt }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.Fingerprint }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsShareSnapshotResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) MinimumSize() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) int { return v.MinimumSize }).(pulumi.IntOutput) +} + +func (o LookupIsShareSnapshotResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) ResourceGroups() GetIsShareSnapshotResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) []GetIsShareSnapshotResourceGroup { return v.ResourceGroups }).(GetIsShareSnapshotResourceGroupArrayOutput) +} + +func (o LookupIsShareSnapshotResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) Share() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.Share }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) ShareSnapshot() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.ShareSnapshot }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsShareSnapshotResultOutput) StatusReasons() GetIsShareSnapshotStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) []GetIsShareSnapshotStatusReason { return v.StatusReasons }).(GetIsShareSnapshotStatusReasonArrayOutput) +} + +func (o LookupIsShareSnapshotResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsShareSnapshotResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsShareSnapshotResultOutput) Zones() GetIsShareSnapshotZoneArrayOutput { + return o.ApplyT(func(v LookupIsShareSnapshotResult) []GetIsShareSnapshotZone { return v.Zones }).(GetIsShareSnapshotZoneArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsShareSnapshotResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareSnapshots.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareSnapshots.go new file mode 100644 index 000000000..ccdc1685e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShareSnapshots.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsShareSnapshots(ctx *pulumi.Context, args *GetIsShareSnapshotsArgs, opts ...pulumi.InvokeOption) (*GetIsShareSnapshotsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsShareSnapshotsResult + err := ctx.Invoke("ibmcloud:index/getIsShareSnapshots:getIsShareSnapshots", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShareSnapshots. +type GetIsShareSnapshotsArgs struct { + BackupPolicyPlan *string `pulumi:"backupPolicyPlan"` + Name *string `pulumi:"name"` + Share *string `pulumi:"share"` +} + +// A collection of values returned by getIsShareSnapshots. +type GetIsShareSnapshotsResult struct { + BackupPolicyPlan *string `pulumi:"backupPolicyPlan"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + Share *string `pulumi:"share"` + Snapshots []GetIsShareSnapshotsSnapshot `pulumi:"snapshots"` +} + +func GetIsShareSnapshotsOutput(ctx *pulumi.Context, args GetIsShareSnapshotsOutputArgs, opts ...pulumi.InvokeOption) GetIsShareSnapshotsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsShareSnapshotsResultOutput, error) { + args := v.(GetIsShareSnapshotsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShareSnapshots:getIsShareSnapshots", args, GetIsShareSnapshotsResultOutput{}, options).(GetIsShareSnapshotsResultOutput), nil + }).(GetIsShareSnapshotsResultOutput) +} + +// A collection of arguments for invoking getIsShareSnapshots. +type GetIsShareSnapshotsOutputArgs struct { + BackupPolicyPlan pulumi.StringPtrInput `pulumi:"backupPolicyPlan"` + Name pulumi.StringPtrInput `pulumi:"name"` + Share pulumi.StringPtrInput `pulumi:"share"` +} + +func (GetIsShareSnapshotsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShareSnapshots. +type GetIsShareSnapshotsResultOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsResult)(nil)).Elem() +} + +func (o GetIsShareSnapshotsResultOutput) ToGetIsShareSnapshotsResultOutput() GetIsShareSnapshotsResultOutput { + return o +} + +func (o GetIsShareSnapshotsResultOutput) ToGetIsShareSnapshotsResultOutputWithContext(ctx context.Context) GetIsShareSnapshotsResultOutput { + return o +} + +func (o GetIsShareSnapshotsResultOutput) BackupPolicyPlan() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsShareSnapshotsResult) *string { return v.BackupPolicyPlan }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsShareSnapshotsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsShareSnapshotsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsShareSnapshotsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsShareSnapshotsResultOutput) Share() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsShareSnapshotsResult) *string { return v.Share }).(pulumi.StringPtrOutput) +} + +func (o GetIsShareSnapshotsResultOutput) Snapshots() GetIsShareSnapshotsSnapshotArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsResult) []GetIsShareSnapshotsSnapshot { return v.Snapshots }).(GetIsShareSnapshotsSnapshotArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsShareSnapshotsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShares.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShares.go new file mode 100644 index 000000000..db68144c2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsShares.go @@ -0,0 +1,97 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsShares(ctx *pulumi.Context, args *GetIsSharesArgs, opts ...pulumi.InvokeOption) (*GetIsSharesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSharesResult + err := ctx.Invoke("ibmcloud:index/getIsShares:getIsShares", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsShares. +type GetIsSharesArgs struct { + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsShares. +type GetIsSharesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + Shares []GetIsSharesShare `pulumi:"shares"` + TotalCount int `pulumi:"totalCount"` +} + +func GetIsSharesOutput(ctx *pulumi.Context, args GetIsSharesOutputArgs, opts ...pulumi.InvokeOption) GetIsSharesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSharesResultOutput, error) { + args := v.(GetIsSharesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsShares:getIsShares", args, GetIsSharesResultOutput{}, options).(GetIsSharesResultOutput), nil + }).(GetIsSharesResultOutput) +} + +// A collection of arguments for invoking getIsShares. +type GetIsSharesOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsSharesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsShares. +type GetIsSharesResultOutput struct{ *pulumi.OutputState } + +func (GetIsSharesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesResult)(nil)).Elem() +} + +func (o GetIsSharesResultOutput) ToGetIsSharesResultOutput() GetIsSharesResultOutput { + return o +} + +func (o GetIsSharesResultOutput) ToGetIsSharesResultOutputWithContext(ctx context.Context) GetIsSharesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSharesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSharesResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSharesResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsSharesResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSharesResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsSharesResultOutput) Shares() GetIsSharesShareArrayOutput { + return o.ApplyT(func(v GetIsSharesResult) []GetIsSharesShare { return v.Shares }).(GetIsSharesShareArrayOutput) +} + +func (o GetIsSharesResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSharesResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSharesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshot.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshot.go new file mode 100644 index 000000000..29eaca474 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshot.go @@ -0,0 +1,211 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsSnapshot(ctx *pulumi.Context, args *LookupIsSnapshotArgs, opts ...pulumi.InvokeOption) (*LookupIsSnapshotResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsSnapshotResult + err := ctx.Invoke("ibmcloud:index/getIsSnapshot:getIsSnapshot", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSnapshot. +type LookupIsSnapshotArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` + SourceSnapshots []GetIsSnapshotSourceSnapshot `pulumi:"sourceSnapshots"` +} + +// A collection of values returned by getIsSnapshot. +type LookupIsSnapshotResult struct { + AccessTags []string `pulumi:"accessTags"` + AllowedUses []GetIsSnapshotAllowedUse `pulumi:"allowedUses"` + BackupPolicyPlans []GetIsSnapshotBackupPolicyPlan `pulumi:"backupPolicyPlans"` + Bootable bool `pulumi:"bootable"` + CapturedAt string `pulumi:"capturedAt"` + CatalogOfferings []GetIsSnapshotCatalogOffering `pulumi:"catalogOfferings"` + Clones []string `pulumi:"clones"` + Copies []GetIsSnapshotCopy `pulumi:"copies"` + Crn string `pulumi:"crn"` + Encryption string `pulumi:"encryption"` + EncryptionKey string `pulumi:"encryptionKey"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + LifecycleState string `pulumi:"lifecycleState"` + MinimumCapacity int `pulumi:"minimumCapacity"` + Name *string `pulumi:"name"` + OperatingSystem string `pulumi:"operatingSystem"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceType string `pulumi:"resourceType"` + ServiceTags []string `pulumi:"serviceTags"` + Size int `pulumi:"size"` + SnapshotConsistencyGroups []GetIsSnapshotSnapshotConsistencyGroup `pulumi:"snapshotConsistencyGroups"` + SourceImage string `pulumi:"sourceImage"` + SourceSnapshots []GetIsSnapshotSourceSnapshot `pulumi:"sourceSnapshots"` + SourceVolume string `pulumi:"sourceVolume"` + Tags []string `pulumi:"tags"` +} + +func LookupIsSnapshotOutput(ctx *pulumi.Context, args LookupIsSnapshotOutputArgs, opts ...pulumi.InvokeOption) LookupIsSnapshotResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsSnapshotResultOutput, error) { + args := v.(LookupIsSnapshotArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSnapshot:getIsSnapshot", args, LookupIsSnapshotResultOutput{}, options).(LookupIsSnapshotResultOutput), nil + }).(LookupIsSnapshotResultOutput) +} + +// A collection of arguments for invoking getIsSnapshot. +type LookupIsSnapshotOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` + SourceSnapshots GetIsSnapshotSourceSnapshotArrayInput `pulumi:"sourceSnapshots"` +} + +func (LookupIsSnapshotOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSnapshotArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSnapshot. +type LookupIsSnapshotResultOutput struct{ *pulumi.OutputState } + +func (LookupIsSnapshotResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSnapshotResult)(nil)).Elem() +} + +func (o LookupIsSnapshotResultOutput) ToLookupIsSnapshotResultOutput() LookupIsSnapshotResultOutput { + return o +} + +func (o LookupIsSnapshotResultOutput) ToLookupIsSnapshotResultOutputWithContext(ctx context.Context) LookupIsSnapshotResultOutput { + return o +} + +func (o LookupIsSnapshotResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) AllowedUses() GetIsSnapshotAllowedUseArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []GetIsSnapshotAllowedUse { return v.AllowedUses }).(GetIsSnapshotAllowedUseArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) BackupPolicyPlans() GetIsSnapshotBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []GetIsSnapshotBackupPolicyPlan { return v.BackupPolicyPlans }).(GetIsSnapshotBackupPolicyPlanArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) Bootable() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) bool { return v.Bootable }).(pulumi.BoolOutput) +} + +func (o LookupIsSnapshotResultOutput) CapturedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.CapturedAt }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) CatalogOfferings() GetIsSnapshotCatalogOfferingArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []GetIsSnapshotCatalogOffering { return v.CatalogOfferings }).(GetIsSnapshotCatalogOfferingArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) Clones() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []string { return v.Clones }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) Copies() GetIsSnapshotCopyArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []GetIsSnapshotCopy { return v.Copies }).(GetIsSnapshotCopyArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.Encryption }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsSnapshotResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsSnapshotResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) MinimumCapacity() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) int { return v.MinimumCapacity }).(pulumi.IntOutput) +} + +func (o LookupIsSnapshotResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsSnapshotResultOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.OperatingSystem }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) ServiceTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []string { return v.ServiceTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) int { return v.Size }).(pulumi.IntOutput) +} + +func (o LookupIsSnapshotResultOutput) SnapshotConsistencyGroups() GetIsSnapshotSnapshotConsistencyGroupArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []GetIsSnapshotSnapshotConsistencyGroup { + return v.SnapshotConsistencyGroups + }).(GetIsSnapshotSnapshotConsistencyGroupArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) SourceImage() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.SourceImage }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) SourceSnapshots() GetIsSnapshotSourceSnapshotArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []GetIsSnapshotSourceSnapshot { return v.SourceSnapshots }).(GetIsSnapshotSourceSnapshotArrayOutput) +} + +func (o LookupIsSnapshotResultOutput) SourceVolume() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) string { return v.SourceVolume }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsSnapshotResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotClone.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotClone.go new file mode 100644 index 000000000..06c4e198f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotClone.go @@ -0,0 +1,97 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSnapshotClone(ctx *pulumi.Context, args *GetIsSnapshotCloneArgs, opts ...pulumi.InvokeOption) (*GetIsSnapshotCloneResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSnapshotCloneResult + err := ctx.Invoke("ibmcloud:index/getIsSnapshotClone:getIsSnapshotClone", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSnapshotClone. +type GetIsSnapshotCloneArgs struct { + Snapshot string `pulumi:"snapshot"` + Zone string `pulumi:"zone"` +} + +// A collection of values returned by getIsSnapshotClone. +type GetIsSnapshotCloneResult struct { + Available bool `pulumi:"available"` + CreatedAt string `pulumi:"createdAt"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Snapshot string `pulumi:"snapshot"` + Zone string `pulumi:"zone"` +} + +func GetIsSnapshotCloneOutput(ctx *pulumi.Context, args GetIsSnapshotCloneOutputArgs, opts ...pulumi.InvokeOption) GetIsSnapshotCloneResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSnapshotCloneResultOutput, error) { + args := v.(GetIsSnapshotCloneArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSnapshotClone:getIsSnapshotClone", args, GetIsSnapshotCloneResultOutput{}, options).(GetIsSnapshotCloneResultOutput), nil + }).(GetIsSnapshotCloneResultOutput) +} + +// A collection of arguments for invoking getIsSnapshotClone. +type GetIsSnapshotCloneOutputArgs struct { + Snapshot pulumi.StringInput `pulumi:"snapshot"` + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsSnapshotCloneOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCloneArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSnapshotClone. +type GetIsSnapshotCloneResultOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCloneResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCloneResult)(nil)).Elem() +} + +func (o GetIsSnapshotCloneResultOutput) ToGetIsSnapshotCloneResultOutput() GetIsSnapshotCloneResultOutput { + return o +} + +func (o GetIsSnapshotCloneResultOutput) ToGetIsSnapshotCloneResultOutputWithContext(ctx context.Context) GetIsSnapshotCloneResultOutput { + return o +} + +func (o GetIsSnapshotCloneResultOutput) Available() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsSnapshotCloneResult) bool { return v.Available }).(pulumi.BoolOutput) +} + +func (o GetIsSnapshotCloneResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCloneResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSnapshotCloneResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCloneResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSnapshotCloneResultOutput) Snapshot() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCloneResult) string { return v.Snapshot }).(pulumi.StringOutput) +} + +func (o GetIsSnapshotCloneResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCloneResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSnapshotCloneResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotClones.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotClones.go new file mode 100644 index 000000000..09ff019bc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotClones.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSnapshotClones(ctx *pulumi.Context, args *GetIsSnapshotClonesArgs, opts ...pulumi.InvokeOption) (*GetIsSnapshotClonesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSnapshotClonesResult + err := ctx.Invoke("ibmcloud:index/getIsSnapshotClones:getIsSnapshotClones", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSnapshotClones. +type GetIsSnapshotClonesArgs struct { + Snapshot string `pulumi:"snapshot"` +} + +// A collection of values returned by getIsSnapshotClones. +type GetIsSnapshotClonesResult struct { + Clones []GetIsSnapshotClonesClone `pulumi:"clones"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Snapshot string `pulumi:"snapshot"` +} + +func GetIsSnapshotClonesOutput(ctx *pulumi.Context, args GetIsSnapshotClonesOutputArgs, opts ...pulumi.InvokeOption) GetIsSnapshotClonesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSnapshotClonesResultOutput, error) { + args := v.(GetIsSnapshotClonesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSnapshotClones:getIsSnapshotClones", args, GetIsSnapshotClonesResultOutput{}, options).(GetIsSnapshotClonesResultOutput), nil + }).(GetIsSnapshotClonesResultOutput) +} + +// A collection of arguments for invoking getIsSnapshotClones. +type GetIsSnapshotClonesOutputArgs struct { + Snapshot pulumi.StringInput `pulumi:"snapshot"` +} + +func (GetIsSnapshotClonesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotClonesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSnapshotClones. +type GetIsSnapshotClonesResultOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotClonesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotClonesResult)(nil)).Elem() +} + +func (o GetIsSnapshotClonesResultOutput) ToGetIsSnapshotClonesResultOutput() GetIsSnapshotClonesResultOutput { + return o +} + +func (o GetIsSnapshotClonesResultOutput) ToGetIsSnapshotClonesResultOutputWithContext(ctx context.Context) GetIsSnapshotClonesResultOutput { + return o +} + +func (o GetIsSnapshotClonesResultOutput) Clones() GetIsSnapshotClonesCloneArrayOutput { + return o.ApplyT(func(v GetIsSnapshotClonesResult) []GetIsSnapshotClonesClone { return v.Clones }).(GetIsSnapshotClonesCloneArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSnapshotClonesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotClonesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSnapshotClonesResultOutput) Snapshot() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotClonesResult) string { return v.Snapshot }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSnapshotClonesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotConsistencyGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotConsistencyGroup.go new file mode 100644 index 000000000..a9f402f23 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotConsistencyGroup.go @@ -0,0 +1,157 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsSnapshotConsistencyGroup(ctx *pulumi.Context, args *LookupIsSnapshotConsistencyGroupArgs, opts ...pulumi.InvokeOption) (*LookupIsSnapshotConsistencyGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsSnapshotConsistencyGroupResult + err := ctx.Invoke("ibmcloud:index/getIsSnapshotConsistencyGroup:getIsSnapshotConsistencyGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSnapshotConsistencyGroup. +type LookupIsSnapshotConsistencyGroupArgs struct { + AccessTags []string `pulumi:"accessTags"` + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` + Tags []string `pulumi:"tags"` +} + +// A collection of values returned by getIsSnapshotConsistencyGroup. +type LookupIsSnapshotConsistencyGroupResult struct { + AccessTags []string `pulumi:"accessTags"` + BackupPolicyPlans []GetIsSnapshotConsistencyGroupBackupPolicyPlan `pulumi:"backupPolicyPlans"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + DeleteSnapshotsOnDelete bool `pulumi:"deleteSnapshotsOnDelete"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + LifecycleState string `pulumi:"lifecycleState"` + Name *string `pulumi:"name"` + ResourceGroups []GetIsSnapshotConsistencyGroupResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + ServiceTags []string `pulumi:"serviceTags"` + Snapshots []GetIsSnapshotConsistencyGroupSnapshot `pulumi:"snapshots"` + Tags []string `pulumi:"tags"` +} + +func LookupIsSnapshotConsistencyGroupOutput(ctx *pulumi.Context, args LookupIsSnapshotConsistencyGroupOutputArgs, opts ...pulumi.InvokeOption) LookupIsSnapshotConsistencyGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsSnapshotConsistencyGroupResultOutput, error) { + args := v.(LookupIsSnapshotConsistencyGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSnapshotConsistencyGroup:getIsSnapshotConsistencyGroup", args, LookupIsSnapshotConsistencyGroupResultOutput{}, options).(LookupIsSnapshotConsistencyGroupResultOutput), nil + }).(LookupIsSnapshotConsistencyGroupResultOutput) +} + +// A collection of arguments for invoking getIsSnapshotConsistencyGroup. +type LookupIsSnapshotConsistencyGroupOutputArgs struct { + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (LookupIsSnapshotConsistencyGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSnapshotConsistencyGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSnapshotConsistencyGroup. +type LookupIsSnapshotConsistencyGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupIsSnapshotConsistencyGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSnapshotConsistencyGroupResult)(nil)).Elem() +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) ToLookupIsSnapshotConsistencyGroupResultOutput() LookupIsSnapshotConsistencyGroupResultOutput { + return o +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) ToLookupIsSnapshotConsistencyGroupResultOutputWithContext(ctx context.Context) LookupIsSnapshotConsistencyGroupResultOutput { + return o +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) BackupPolicyPlans() GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) []GetIsSnapshotConsistencyGroupBackupPolicyPlan { + return v.BackupPolicyPlans + }).(GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) DeleteSnapshotsOnDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) bool { return v.DeleteSnapshotsOnDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsSnapshotConsistencyGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) ResourceGroups() GetIsSnapshotConsistencyGroupResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) []GetIsSnapshotConsistencyGroupResourceGroup { + return v.ResourceGroups + }).(GetIsSnapshotConsistencyGroupResourceGroupArrayOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) ServiceTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) []string { return v.ServiceTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) Snapshots() GetIsSnapshotConsistencyGroupSnapshotArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) []GetIsSnapshotConsistencyGroupSnapshot { + return v.Snapshots + }).(GetIsSnapshotConsistencyGroupSnapshotArrayOutput) +} + +func (o LookupIsSnapshotConsistencyGroupResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSnapshotConsistencyGroupResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsSnapshotConsistencyGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotConsistencyGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotConsistencyGroups.go new file mode 100644 index 000000000..ed7cf3ee3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotConsistencyGroups.go @@ -0,0 +1,101 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSnapshotConsistencyGroups(ctx *pulumi.Context, args *GetIsSnapshotConsistencyGroupsArgs, opts ...pulumi.InvokeOption) (*GetIsSnapshotConsistencyGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSnapshotConsistencyGroupsResult + err := ctx.Invoke("ibmcloud:index/getIsSnapshotConsistencyGroups:getIsSnapshotConsistencyGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSnapshotConsistencyGroups. +type GetIsSnapshotConsistencyGroupsArgs struct { + BackupPolicyPlan *string `pulumi:"backupPolicyPlan"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsSnapshotConsistencyGroups. +type GetIsSnapshotConsistencyGroupsResult struct { + BackupPolicyPlan *string `pulumi:"backupPolicyPlan"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + SnapshotConsistencyGroups []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup `pulumi:"snapshotConsistencyGroups"` +} + +func GetIsSnapshotConsistencyGroupsOutput(ctx *pulumi.Context, args GetIsSnapshotConsistencyGroupsOutputArgs, opts ...pulumi.InvokeOption) GetIsSnapshotConsistencyGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSnapshotConsistencyGroupsResultOutput, error) { + args := v.(GetIsSnapshotConsistencyGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSnapshotConsistencyGroups:getIsSnapshotConsistencyGroups", args, GetIsSnapshotConsistencyGroupsResultOutput{}, options).(GetIsSnapshotConsistencyGroupsResultOutput), nil + }).(GetIsSnapshotConsistencyGroupsResultOutput) +} + +// A collection of arguments for invoking getIsSnapshotConsistencyGroups. +type GetIsSnapshotConsistencyGroupsOutputArgs struct { + BackupPolicyPlan pulumi.StringPtrInput `pulumi:"backupPolicyPlan"` + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsSnapshotConsistencyGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSnapshotConsistencyGroups. +type GetIsSnapshotConsistencyGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsResult)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsResultOutput) ToGetIsSnapshotConsistencyGroupsResultOutput() GetIsSnapshotConsistencyGroupsResultOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsResultOutput) ToGetIsSnapshotConsistencyGroupsResultOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsResultOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsResultOutput) BackupPolicyPlan() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsResult) *string { return v.BackupPolicyPlan }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSnapshotConsistencyGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSnapshotConsistencyGroupsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotConsistencyGroupsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotConsistencyGroupsResultOutput) SnapshotConsistencyGroups() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsResult) []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup { + return v.SnapshotConsistencyGroups + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotInstanceProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotInstanceProfiles.go new file mode 100644 index 000000000..82f4b51cd --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshotInstanceProfiles.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSnapshotInstanceProfiles(ctx *pulumi.Context, args *GetIsSnapshotInstanceProfilesArgs, opts ...pulumi.InvokeOption) (*GetIsSnapshotInstanceProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSnapshotInstanceProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsSnapshotInstanceProfiles:getIsSnapshotInstanceProfiles", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSnapshotInstanceProfiles. +type GetIsSnapshotInstanceProfilesArgs struct { + Identifier string `pulumi:"identifier"` +} + +// A collection of values returned by getIsSnapshotInstanceProfiles. +type GetIsSnapshotInstanceProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + InstanceProfiles []GetIsSnapshotInstanceProfilesInstanceProfile `pulumi:"instanceProfiles"` +} + +func GetIsSnapshotInstanceProfilesOutput(ctx *pulumi.Context, args GetIsSnapshotInstanceProfilesOutputArgs, opts ...pulumi.InvokeOption) GetIsSnapshotInstanceProfilesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSnapshotInstanceProfilesResultOutput, error) { + args := v.(GetIsSnapshotInstanceProfilesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSnapshotInstanceProfiles:getIsSnapshotInstanceProfiles", args, GetIsSnapshotInstanceProfilesResultOutput{}, options).(GetIsSnapshotInstanceProfilesResultOutput), nil + }).(GetIsSnapshotInstanceProfilesResultOutput) +} + +// A collection of arguments for invoking getIsSnapshotInstanceProfiles. +type GetIsSnapshotInstanceProfilesOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (GetIsSnapshotInstanceProfilesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotInstanceProfilesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSnapshotInstanceProfiles. +type GetIsSnapshotInstanceProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotInstanceProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotInstanceProfilesResult)(nil)).Elem() +} + +func (o GetIsSnapshotInstanceProfilesResultOutput) ToGetIsSnapshotInstanceProfilesResultOutput() GetIsSnapshotInstanceProfilesResultOutput { + return o +} + +func (o GetIsSnapshotInstanceProfilesResultOutput) ToGetIsSnapshotInstanceProfilesResultOutputWithContext(ctx context.Context) GetIsSnapshotInstanceProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSnapshotInstanceProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotInstanceProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSnapshotInstanceProfilesResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotInstanceProfilesResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o GetIsSnapshotInstanceProfilesResultOutput) InstanceProfiles() GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput { + return o.ApplyT(func(v GetIsSnapshotInstanceProfilesResult) []GetIsSnapshotInstanceProfilesInstanceProfile { + return v.InstanceProfiles + }).(GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSnapshotInstanceProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshots.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshots.go new file mode 100644 index 000000000..a76cae619 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSnapshots.go @@ -0,0 +1,183 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSnapshots(ctx *pulumi.Context, args *GetIsSnapshotsArgs, opts ...pulumi.InvokeOption) (*GetIsSnapshotsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSnapshotsResult + err := ctx.Invoke("ibmcloud:index/getIsSnapshots:getIsSnapshots", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSnapshots. +type GetIsSnapshotsArgs struct { + BackupPolicyPlanId *string `pulumi:"backupPolicyPlanId"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + SnapshotConsistencyGroupCrn *string `pulumi:"snapshotConsistencyGroupCrn"` + SnapshotConsistencyGroupId *string `pulumi:"snapshotConsistencyGroupId"` + SnapshotCopiesCrn *string `pulumi:"snapshotCopiesCrn"` + SnapshotCopiesId *string `pulumi:"snapshotCopiesId"` + SnapshotCopiesName *string `pulumi:"snapshotCopiesName"` + SnapshotCopiesRemoteRegionName *string `pulumi:"snapshotCopiesRemoteRegionName"` + SnapshotSourceVolumeRemoteRegionName *string `pulumi:"snapshotSourceVolumeRemoteRegionName"` + SourceImage *string `pulumi:"sourceImage"` + SourceSnapshotId *string `pulumi:"sourceSnapshotId"` + SourceSnapshotRemoteRegionName *string `pulumi:"sourceSnapshotRemoteRegionName"` + SourceVolume *string `pulumi:"sourceVolume"` + Tag *string `pulumi:"tag"` +} + +// A collection of values returned by getIsSnapshots. +type GetIsSnapshotsResult struct { + BackupPolicyPlanId *string `pulumi:"backupPolicyPlanId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + SnapshotConsistencyGroupCrn *string `pulumi:"snapshotConsistencyGroupCrn"` + SnapshotConsistencyGroupId *string `pulumi:"snapshotConsistencyGroupId"` + SnapshotCopiesCrn *string `pulumi:"snapshotCopiesCrn"` + SnapshotCopiesId *string `pulumi:"snapshotCopiesId"` + SnapshotCopiesName *string `pulumi:"snapshotCopiesName"` + SnapshotCopiesRemoteRegionName *string `pulumi:"snapshotCopiesRemoteRegionName"` + SnapshotSourceVolumeRemoteRegionName *string `pulumi:"snapshotSourceVolumeRemoteRegionName"` + Snapshots []GetIsSnapshotsSnapshot `pulumi:"snapshots"` + SourceImage *string `pulumi:"sourceImage"` + SourceSnapshotId *string `pulumi:"sourceSnapshotId"` + SourceSnapshotRemoteRegionName *string `pulumi:"sourceSnapshotRemoteRegionName"` + SourceVolume *string `pulumi:"sourceVolume"` + Tag *string `pulumi:"tag"` +} + +func GetIsSnapshotsOutput(ctx *pulumi.Context, args GetIsSnapshotsOutputArgs, opts ...pulumi.InvokeOption) GetIsSnapshotsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSnapshotsResultOutput, error) { + args := v.(GetIsSnapshotsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSnapshots:getIsSnapshots", args, GetIsSnapshotsResultOutput{}, options).(GetIsSnapshotsResultOutput), nil + }).(GetIsSnapshotsResultOutput) +} + +// A collection of arguments for invoking getIsSnapshots. +type GetIsSnapshotsOutputArgs struct { + BackupPolicyPlanId pulumi.StringPtrInput `pulumi:"backupPolicyPlanId"` + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + SnapshotConsistencyGroupCrn pulumi.StringPtrInput `pulumi:"snapshotConsistencyGroupCrn"` + SnapshotConsistencyGroupId pulumi.StringPtrInput `pulumi:"snapshotConsistencyGroupId"` + SnapshotCopiesCrn pulumi.StringPtrInput `pulumi:"snapshotCopiesCrn"` + SnapshotCopiesId pulumi.StringPtrInput `pulumi:"snapshotCopiesId"` + SnapshotCopiesName pulumi.StringPtrInput `pulumi:"snapshotCopiesName"` + SnapshotCopiesRemoteRegionName pulumi.StringPtrInput `pulumi:"snapshotCopiesRemoteRegionName"` + SnapshotSourceVolumeRemoteRegionName pulumi.StringPtrInput `pulumi:"snapshotSourceVolumeRemoteRegionName"` + SourceImage pulumi.StringPtrInput `pulumi:"sourceImage"` + SourceSnapshotId pulumi.StringPtrInput `pulumi:"sourceSnapshotId"` + SourceSnapshotRemoteRegionName pulumi.StringPtrInput `pulumi:"sourceSnapshotRemoteRegionName"` + SourceVolume pulumi.StringPtrInput `pulumi:"sourceVolume"` + Tag pulumi.StringPtrInput `pulumi:"tag"` +} + +func (GetIsSnapshotsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSnapshots. +type GetIsSnapshotsResultOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsResult)(nil)).Elem() +} + +func (o GetIsSnapshotsResultOutput) ToGetIsSnapshotsResultOutput() GetIsSnapshotsResultOutput { + return o +} + +func (o GetIsSnapshotsResultOutput) ToGetIsSnapshotsResultOutputWithContext(ctx context.Context) GetIsSnapshotsResultOutput { + return o +} + +func (o GetIsSnapshotsResultOutput) BackupPolicyPlanId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.BackupPolicyPlanId }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSnapshotsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSnapshotsResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SnapshotConsistencyGroupCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SnapshotConsistencyGroupCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SnapshotConsistencyGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SnapshotConsistencyGroupId }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SnapshotCopiesCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SnapshotCopiesCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SnapshotCopiesId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SnapshotCopiesId }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SnapshotCopiesName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SnapshotCopiesName }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SnapshotCopiesRemoteRegionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SnapshotCopiesRemoteRegionName }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SnapshotSourceVolumeRemoteRegionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SnapshotSourceVolumeRemoteRegionName }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) Snapshots() GetIsSnapshotsSnapshotArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) []GetIsSnapshotsSnapshot { return v.Snapshots }).(GetIsSnapshotsSnapshotArrayOutput) +} + +func (o GetIsSnapshotsResultOutput) SourceImage() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SourceImage }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SourceSnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SourceSnapshotId }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SourceSnapshotRemoteRegionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SourceSnapshotRemoteRegionName }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) SourceVolume() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.SourceVolume }).(pulumi.StringPtrOutput) +} + +func (o GetIsSnapshotsResultOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSnapshotsResult) *string { return v.Tag }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSnapshotsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSourceShare.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSourceShare.go new file mode 100644 index 000000000..682ff41df --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSourceShare.go @@ -0,0 +1,100 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSourceShare(ctx *pulumi.Context, args *GetIsSourceShareArgs, opts ...pulumi.InvokeOption) (*GetIsSourceShareResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSourceShareResult + err := ctx.Invoke("ibmcloud:index/getIsSourceShare:getIsSourceShare", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSourceShare. +type GetIsSourceShareArgs struct { + ShareReplica string `pulumi:"shareReplica"` +} + +// A collection of values returned by getIsSourceShare. +type GetIsSourceShareResult struct { + Crn string `pulumi:"crn"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + ShareReplica string `pulumi:"shareReplica"` +} + +func GetIsSourceShareOutput(ctx *pulumi.Context, args GetIsSourceShareOutputArgs, opts ...pulumi.InvokeOption) GetIsSourceShareResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSourceShareResultOutput, error) { + args := v.(GetIsSourceShareArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSourceShare:getIsSourceShare", args, GetIsSourceShareResultOutput{}, options).(GetIsSourceShareResultOutput), nil + }).(GetIsSourceShareResultOutput) +} + +// A collection of arguments for invoking getIsSourceShare. +type GetIsSourceShareOutputArgs struct { + ShareReplica pulumi.StringInput `pulumi:"shareReplica"` +} + +func (GetIsSourceShareOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSourceShareArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSourceShare. +type GetIsSourceShareResultOutput struct{ *pulumi.OutputState } + +func (GetIsSourceShareResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSourceShareResult)(nil)).Elem() +} + +func (o GetIsSourceShareResultOutput) ToGetIsSourceShareResultOutput() GetIsSourceShareResultOutput { + return o +} + +func (o GetIsSourceShareResultOutput) ToGetIsSourceShareResultOutputWithContext(ctx context.Context) GetIsSourceShareResultOutput { + return o +} + +func (o GetIsSourceShareResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSourceShareResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o GetIsSourceShareResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSourceShareResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSourceShareResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSourceShareResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSourceShareResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSourceShareResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsSourceShareResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSourceShareResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsSourceShareResultOutput) ShareReplica() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSourceShareResult) string { return v.ShareReplica }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSourceShareResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSshKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSshKey.go new file mode 100644 index 000000000..48b5916de --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSshKey.go @@ -0,0 +1,152 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsSshKey(ctx *pulumi.Context, args *LookupIsSshKeyArgs, opts ...pulumi.InvokeOption) (*LookupIsSshKeyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsSshKeyResult + err := ctx.Invoke("ibmcloud:index/getIsSshKey:getIsSshKey", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSshKey. +type LookupIsSshKeyArgs struct { + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsSshKey. +type LookupIsSshKeyResult struct { + AccessTags []string `pulumi:"accessTags"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Fingerprint string `pulumi:"fingerprint"` + Href string `pulumi:"href"` + Id *string `pulumi:"id"` + Length int `pulumi:"length"` + Name *string `pulumi:"name"` + PublicKey string `pulumi:"publicKey"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroup *string `pulumi:"resourceGroup"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + Tags []string `pulumi:"tags"` + Type string `pulumi:"type"` +} + +func LookupIsSshKeyOutput(ctx *pulumi.Context, args LookupIsSshKeyOutputArgs, opts ...pulumi.InvokeOption) LookupIsSshKeyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsSshKeyResultOutput, error) { + args := v.(LookupIsSshKeyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSshKey:getIsSshKey", args, LookupIsSshKeyResultOutput{}, options).(LookupIsSshKeyResultOutput), nil + }).(LookupIsSshKeyResultOutput) +} + +// A collection of arguments for invoking getIsSshKey. +type LookupIsSshKeyOutputArgs struct { + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (LookupIsSshKeyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSshKeyArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSshKey. +type LookupIsSshKeyResultOutput struct{ *pulumi.OutputState } + +func (LookupIsSshKeyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSshKeyResult)(nil)).Elem() +} + +func (o LookupIsSshKeyResultOutput) ToLookupIsSshKeyResultOutput() LookupIsSshKeyResultOutput { + return o +} + +func (o LookupIsSshKeyResultOutput) ToLookupIsSshKeyResultOutputWithContext(ctx context.Context) LookupIsSshKeyResultOutput { + return o +} + +func (o LookupIsSshKeyResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSshKeyResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.Fingerprint }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o LookupIsSshKeyResultOutput) Length() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) int { return v.Length }).(pulumi.IntOutput) +} + +func (o LookupIsSshKeyResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsSshKeyResultOutput) PublicKey() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.PublicKey }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o LookupIsSshKeyResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupIsSshKeyResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSshKeyResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSshKeyResult) string { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsSshKeyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSshKeys.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSshKeys.go new file mode 100644 index 000000000..de16b4dcb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSshKeys.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSshKeys(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsSshKeysResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSshKeysResult + err := ctx.Invoke("ibmcloud:index/getIsSshKeys:getIsSshKeys", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsSshKeys. +type GetIsSshKeysResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Keys []GetIsSshKeysKey `pulumi:"keys"` +} + +func GetIsSshKeysOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsSshKeysResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsSshKeysResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSshKeys:getIsSshKeys", nil, GetIsSshKeysResultOutput{}, options).(GetIsSshKeysResultOutput), nil + }).(GetIsSshKeysResultOutput) +} + +// A collection of values returned by getIsSshKeys. +type GetIsSshKeysResultOutput struct{ *pulumi.OutputState } + +func (GetIsSshKeysResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSshKeysResult)(nil)).Elem() +} + +func (o GetIsSshKeysResultOutput) ToGetIsSshKeysResultOutput() GetIsSshKeysResultOutput { + return o +} + +func (o GetIsSshKeysResultOutput) ToGetIsSshKeysResultOutputWithContext(ctx context.Context) GetIsSshKeysResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSshKeysResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSshKeysResultOutput) Keys() GetIsSshKeysKeyArrayOutput { + return o.ApplyT(func(v GetIsSshKeysResult) []GetIsSshKeysKey { return v.Keys }).(GetIsSshKeysKeyArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSshKeysResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnet.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnet.go new file mode 100644 index 000000000..dbe6c57f4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnet.go @@ -0,0 +1,184 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsSubnet(ctx *pulumi.Context, args *LookupIsSubnetArgs, opts ...pulumi.InvokeOption) (*LookupIsSubnetResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsSubnetResult + err := ctx.Invoke("ibmcloud:index/getIsSubnet:getIsSubnet", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSubnet. +type LookupIsSubnetArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` + Vpc *string `pulumi:"vpc"` +} + +// A collection of values returned by getIsSubnet. +type LookupIsSubnetResult struct { + AccessTags []string `pulumi:"accessTags"` + AvailableIpv4AddressCount int `pulumi:"availableIpv4AddressCount"` + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + Ipv4CidrBlock string `pulumi:"ipv4CidrBlock"` + Name string `pulumi:"name"` + NetworkAcl string `pulumi:"networkAcl"` + PublicGateway string `pulumi:"publicGateway"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + ResourceStatus string `pulumi:"resourceStatus"` + RoutingTables []GetIsSubnetRoutingTable `pulumi:"routingTables"` + Status string `pulumi:"status"` + Tags []string `pulumi:"tags"` + TotalIpv4AddressCount int `pulumi:"totalIpv4AddressCount"` + Vpc string `pulumi:"vpc"` + VpcName string `pulumi:"vpcName"` + Zone string `pulumi:"zone"` +} + +func LookupIsSubnetOutput(ctx *pulumi.Context, args LookupIsSubnetOutputArgs, opts ...pulumi.InvokeOption) LookupIsSubnetResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsSubnetResultOutput, error) { + args := v.(LookupIsSubnetArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSubnet:getIsSubnet", args, LookupIsSubnetResultOutput{}, options).(LookupIsSubnetResultOutput), nil + }).(LookupIsSubnetResultOutput) +} + +// A collection of arguments for invoking getIsSubnet. +type LookupIsSubnetOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` + Vpc pulumi.StringPtrInput `pulumi:"vpc"` +} + +func (LookupIsSubnetOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSubnetArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSubnet. +type LookupIsSubnetResultOutput struct{ *pulumi.OutputState } + +func (LookupIsSubnetResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSubnetResult)(nil)).Elem() +} + +func (o LookupIsSubnetResultOutput) ToLookupIsSubnetResultOutput() LookupIsSubnetResultOutput { + return o +} + +func (o LookupIsSubnetResultOutput) ToLookupIsSubnetResultOutputWithContext(ctx context.Context) LookupIsSubnetResultOutput { + return o +} + +func (o LookupIsSubnetResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSubnetResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSubnetResultOutput) AvailableIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSubnetResult) int { return v.AvailableIpv4AddressCount }).(pulumi.IntOutput) +} + +func (o LookupIsSubnetResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsSubnetResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsSubnetResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsSubnetResultOutput) Ipv4CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.Ipv4CidrBlock }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) NetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.NetworkAcl }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) PublicGateway() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.PublicGateway }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) RoutingTables() GetIsSubnetRoutingTableArrayOutput { + return o.ApplyT(func(v LookupIsSubnetResult) []GetIsSubnetRoutingTable { return v.RoutingTables }).(GetIsSubnetRoutingTableArrayOutput) +} + +func (o LookupIsSubnetResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsSubnetResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsSubnetResultOutput) TotalIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsSubnetResult) int { return v.TotalIpv4AddressCount }).(pulumi.IntOutput) +} + +func (o LookupIsSubnetResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) VpcName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.VpcName }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsSubnetResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnetReservedIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnetReservedIp.go new file mode 100644 index 000000000..a44c1959a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnetReservedIp.go @@ -0,0 +1,144 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsSubnetReservedIp(ctx *pulumi.Context, args *LookupIsSubnetReservedIpArgs, opts ...pulumi.InvokeOption) (*LookupIsSubnetReservedIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsSubnetReservedIpResult + err := ctx.Invoke("ibmcloud:index/getIsSubnetReservedIp:getIsSubnetReservedIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSubnetReservedIp. +type LookupIsSubnetReservedIpArgs struct { + ReservedIp string `pulumi:"reservedIp"` + Subnet string `pulumi:"subnet"` +} + +// A collection of values returned by getIsSubnetReservedIp. +type LookupIsSubnetReservedIpResult struct { + Address string `pulumi:"address"` + AutoDelete bool `pulumi:"autoDelete"` + CreatedAt string `pulumi:"createdAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + Owner string `pulumi:"owner"` + ReservedIp string `pulumi:"reservedIp"` + ResourceType string `pulumi:"resourceType"` + Subnet string `pulumi:"subnet"` + Target string `pulumi:"target"` + TargetCrn string `pulumi:"targetCrn"` + TargetReferences []GetIsSubnetReservedIpTargetReference `pulumi:"targetReferences"` +} + +func LookupIsSubnetReservedIpOutput(ctx *pulumi.Context, args LookupIsSubnetReservedIpOutputArgs, opts ...pulumi.InvokeOption) LookupIsSubnetReservedIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsSubnetReservedIpResultOutput, error) { + args := v.(LookupIsSubnetReservedIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSubnetReservedIp:getIsSubnetReservedIp", args, LookupIsSubnetReservedIpResultOutput{}, options).(LookupIsSubnetReservedIpResultOutput), nil + }).(LookupIsSubnetReservedIpResultOutput) +} + +// A collection of arguments for invoking getIsSubnetReservedIp. +type LookupIsSubnetReservedIpOutputArgs struct { + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (LookupIsSubnetReservedIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSubnetReservedIpArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSubnetReservedIp. +type LookupIsSubnetReservedIpResultOutput struct{ *pulumi.OutputState } + +func (LookupIsSubnetReservedIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsSubnetReservedIpResult)(nil)).Elem() +} + +func (o LookupIsSubnetReservedIpResultOutput) ToLookupIsSubnetReservedIpResultOutput() LookupIsSubnetReservedIpResultOutput { + return o +} + +func (o LookupIsSubnetReservedIpResultOutput) ToLookupIsSubnetReservedIpResultOutputWithContext(ctx context.Context) LookupIsSubnetReservedIpResultOutput { + return o +} + +func (o LookupIsSubnetReservedIpResultOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.Address }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsSubnetReservedIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.Owner }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.Subnet }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.Target }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) TargetCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) string { return v.TargetCrn }).(pulumi.StringOutput) +} + +func (o LookupIsSubnetReservedIpResultOutput) TargetReferences() GetIsSubnetReservedIpTargetReferenceArrayOutput { + return o.ApplyT(func(v LookupIsSubnetReservedIpResult) []GetIsSubnetReservedIpTargetReference { + return v.TargetReferences + }).(GetIsSubnetReservedIpTargetReferenceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsSubnetReservedIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnetReservedIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnetReservedIps.go new file mode 100644 index 000000000..d052dab54 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnetReservedIps.go @@ -0,0 +1,90 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSubnetReservedIps(ctx *pulumi.Context, args *GetIsSubnetReservedIpsArgs, opts ...pulumi.InvokeOption) (*GetIsSubnetReservedIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSubnetReservedIpsResult + err := ctx.Invoke("ibmcloud:index/getIsSubnetReservedIps:getIsSubnetReservedIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSubnetReservedIps. +type GetIsSubnetReservedIpsArgs struct { + Subnet string `pulumi:"subnet"` +} + +// A collection of values returned by getIsSubnetReservedIps. +type GetIsSubnetReservedIpsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ReservedIps []GetIsSubnetReservedIpsReservedIp `pulumi:"reservedIps"` + Subnet string `pulumi:"subnet"` + TotalCount int `pulumi:"totalCount"` +} + +func GetIsSubnetReservedIpsOutput(ctx *pulumi.Context, args GetIsSubnetReservedIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsSubnetReservedIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSubnetReservedIpsResultOutput, error) { + args := v.(GetIsSubnetReservedIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSubnetReservedIps:getIsSubnetReservedIps", args, GetIsSubnetReservedIpsResultOutput{}, options).(GetIsSubnetReservedIpsResultOutput), nil + }).(GetIsSubnetReservedIpsResultOutput) +} + +// A collection of arguments for invoking getIsSubnetReservedIps. +type GetIsSubnetReservedIpsOutputArgs struct { + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsSubnetReservedIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSubnetReservedIps. +type GetIsSubnetReservedIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpsResult)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpsResultOutput) ToGetIsSubnetReservedIpsResultOutput() GetIsSubnetReservedIpsResultOutput { + return o +} + +func (o GetIsSubnetReservedIpsResultOutput) ToGetIsSubnetReservedIpsResultOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSubnetReservedIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSubnetReservedIpsResultOutput) ReservedIps() GetIsSubnetReservedIpsReservedIpArrayOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsResult) []GetIsSubnetReservedIpsReservedIp { return v.ReservedIps }).(GetIsSubnetReservedIpsReservedIpArrayOutput) +} + +func (o GetIsSubnetReservedIpsResultOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsResult) string { return v.Subnet }).(pulumi.StringOutput) +} + +func (o GetIsSubnetReservedIpsResultOutput) TotalCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsResult) int { return v.TotalCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSubnetReservedIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnets.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnets.go new file mode 100644 index 000000000..d999e83d1 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsSubnets.go @@ -0,0 +1,127 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsSubnets(ctx *pulumi.Context, args *GetIsSubnetsArgs, opts ...pulumi.InvokeOption) (*GetIsSubnetsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsSubnetsResult + err := ctx.Invoke("ibmcloud:index/getIsSubnets:getIsSubnets", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsSubnets. +type GetIsSubnetsArgs struct { + ResourceGroup *string `pulumi:"resourceGroup"` + RoutingTable *string `pulumi:"routingTable"` + RoutingTableName *string `pulumi:"routingTableName"` + Vpc *string `pulumi:"vpc"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcName *string `pulumi:"vpcName"` + Zone *string `pulumi:"zone"` +} + +// A collection of values returned by getIsSubnets. +type GetIsSubnetsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResourceGroup *string `pulumi:"resourceGroup"` + RoutingTable *string `pulumi:"routingTable"` + RoutingTableName *string `pulumi:"routingTableName"` + Subnets []GetIsSubnetsSubnet `pulumi:"subnets"` + Vpc *string `pulumi:"vpc"` + VpcCrn *string `pulumi:"vpcCrn"` + VpcName *string `pulumi:"vpcName"` + Zone *string `pulumi:"zone"` +} + +func GetIsSubnetsOutput(ctx *pulumi.Context, args GetIsSubnetsOutputArgs, opts ...pulumi.InvokeOption) GetIsSubnetsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsSubnetsResultOutput, error) { + args := v.(GetIsSubnetsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsSubnets:getIsSubnets", args, GetIsSubnetsResultOutput{}, options).(GetIsSubnetsResultOutput), nil + }).(GetIsSubnetsResultOutput) +} + +// A collection of arguments for invoking getIsSubnets. +type GetIsSubnetsOutputArgs struct { + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + RoutingTable pulumi.StringPtrInput `pulumi:"routingTable"` + RoutingTableName pulumi.StringPtrInput `pulumi:"routingTableName"` + Vpc pulumi.StringPtrInput `pulumi:"vpc"` + VpcCrn pulumi.StringPtrInput `pulumi:"vpcCrn"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (GetIsSubnetsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsSubnets. +type GetIsSubnetsResultOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetsResult)(nil)).Elem() +} + +func (o GetIsSubnetsResultOutput) ToGetIsSubnetsResultOutput() GetIsSubnetsResultOutput { + return o +} + +func (o GetIsSubnetsResultOutput) ToGetIsSubnetsResultOutputWithContext(ctx context.Context) GetIsSubnetsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsSubnetsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSubnetsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsSubnetsResultOutput) RoutingTable() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSubnetsResult) *string { return v.RoutingTable }).(pulumi.StringPtrOutput) +} + +func (o GetIsSubnetsResultOutput) RoutingTableName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSubnetsResult) *string { return v.RoutingTableName }).(pulumi.StringPtrOutput) +} + +func (o GetIsSubnetsResultOutput) Subnets() GetIsSubnetsSubnetArrayOutput { + return o.ApplyT(func(v GetIsSubnetsResult) []GetIsSubnetsSubnet { return v.Subnets }).(GetIsSubnetsSubnetArrayOutput) +} + +func (o GetIsSubnetsResultOutput) Vpc() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSubnetsResult) *string { return v.Vpc }).(pulumi.StringPtrOutput) +} + +func (o GetIsSubnetsResultOutput) VpcCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSubnetsResult) *string { return v.VpcCrn }).(pulumi.StringPtrOutput) +} + +func (o GetIsSubnetsResultOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSubnetsResult) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +func (o GetIsSubnetsResultOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsSubnetsResult) *string { return v.Zone }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsSubnetsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGateway.go new file mode 100644 index 000000000..848debe4b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGateway.go @@ -0,0 +1,157 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVirtualEndpointGateway(ctx *pulumi.Context, args *LookupIsVirtualEndpointGatewayArgs, opts ...pulumi.InvokeOption) (*LookupIsVirtualEndpointGatewayResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVirtualEndpointGatewayResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualEndpointGateway:getIsVirtualEndpointGateway", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualEndpointGateway. +type LookupIsVirtualEndpointGatewayArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsVirtualEndpointGateway. +type LookupIsVirtualEndpointGatewayResult struct { + AccessTags []string `pulumi:"accessTags"` + AllowDnsResolutionBinding bool `pulumi:"allowDnsResolutionBinding"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + HealthState string `pulumi:"healthState"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Ips []GetIsVirtualEndpointGatewayIpType `pulumi:"ips"` + LifecycleReasons []GetIsVirtualEndpointGatewayLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceType string `pulumi:"resourceType"` + SecurityGroups []string `pulumi:"securityGroups"` + ServiceEndpoints []string `pulumi:"serviceEndpoints"` + Tags []string `pulumi:"tags"` + Targets []GetIsVirtualEndpointGatewayTarget `pulumi:"targets"` + Vpc string `pulumi:"vpc"` +} + +func LookupIsVirtualEndpointGatewayOutput(ctx *pulumi.Context, args LookupIsVirtualEndpointGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupIsVirtualEndpointGatewayResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVirtualEndpointGatewayResultOutput, error) { + args := v.(LookupIsVirtualEndpointGatewayArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualEndpointGateway:getIsVirtualEndpointGateway", args, LookupIsVirtualEndpointGatewayResultOutput{}, options).(LookupIsVirtualEndpointGatewayResultOutput), nil + }).(LookupIsVirtualEndpointGatewayResultOutput) +} + +// A collection of arguments for invoking getIsVirtualEndpointGateway. +type LookupIsVirtualEndpointGatewayOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupIsVirtualEndpointGatewayOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVirtualEndpointGatewayArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualEndpointGateway. +type LookupIsVirtualEndpointGatewayResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVirtualEndpointGatewayResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVirtualEndpointGatewayResult)(nil)).Elem() +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) ToLookupIsVirtualEndpointGatewayResultOutput() LookupIsVirtualEndpointGatewayResultOutput { + return o +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) ToLookupIsVirtualEndpointGatewayResultOutputWithContext(ctx context.Context) LookupIsVirtualEndpointGatewayResultOutput { + return o +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) AllowDnsResolutionBinding() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) bool { return v.AllowDnsResolutionBinding }).(pulumi.BoolOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVirtualEndpointGatewayResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) Ips() GetIsVirtualEndpointGatewayIpTypeArrayOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) []GetIsVirtualEndpointGatewayIpType { return v.Ips }).(GetIsVirtualEndpointGatewayIpTypeArrayOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) LifecycleReasons() GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) []GetIsVirtualEndpointGatewayLifecycleReason { + return v.LifecycleReasons + }).(GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) ServiceEndpoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) []string { return v.ServiceEndpoints }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) Targets() GetIsVirtualEndpointGatewayTargetArrayOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) []GetIsVirtualEndpointGatewayTarget { return v.Targets }).(GetIsVirtualEndpointGatewayTargetArrayOutput) +} + +func (o LookupIsVirtualEndpointGatewayResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualEndpointGatewayResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVirtualEndpointGatewayResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGatewayIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGatewayIps.go new file mode 100644 index 000000000..5b8e74dbf --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGatewayIps.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVirtualEndpointGatewayIps(ctx *pulumi.Context, args *GetIsVirtualEndpointGatewayIpsArgs, opts ...pulumi.InvokeOption) (*GetIsVirtualEndpointGatewayIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVirtualEndpointGatewayIpsResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualEndpointGatewayIps:getIsVirtualEndpointGatewayIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualEndpointGatewayIps. +type GetIsVirtualEndpointGatewayIpsArgs struct { + Gateway string `pulumi:"gateway"` +} + +// A collection of values returned by getIsVirtualEndpointGatewayIps. +type GetIsVirtualEndpointGatewayIpsResult struct { + Gateway string `pulumi:"gateway"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Ips []GetIsVirtualEndpointGatewayIpsIp `pulumi:"ips"` +} + +func GetIsVirtualEndpointGatewayIpsOutput(ctx *pulumi.Context, args GetIsVirtualEndpointGatewayIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsVirtualEndpointGatewayIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVirtualEndpointGatewayIpsResultOutput, error) { + args := v.(GetIsVirtualEndpointGatewayIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualEndpointGatewayIps:getIsVirtualEndpointGatewayIps", args, GetIsVirtualEndpointGatewayIpsResultOutput{}, options).(GetIsVirtualEndpointGatewayIpsResultOutput), nil + }).(GetIsVirtualEndpointGatewayIpsResultOutput) +} + +// A collection of arguments for invoking getIsVirtualEndpointGatewayIps. +type GetIsVirtualEndpointGatewayIpsOutputArgs struct { + Gateway pulumi.StringInput `pulumi:"gateway"` +} + +func (GetIsVirtualEndpointGatewayIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualEndpointGatewayIps. +type GetIsVirtualEndpointGatewayIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsResult)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayIpsResultOutput) ToGetIsVirtualEndpointGatewayIpsResultOutput() GetIsVirtualEndpointGatewayIpsResultOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpsResultOutput) ToGetIsVirtualEndpointGatewayIpsResultOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsResultOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpsResultOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsResult) string { return v.Gateway }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVirtualEndpointGatewayIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVirtualEndpointGatewayIpsResultOutput) Ips() GetIsVirtualEndpointGatewayIpsIpArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsResult) []GetIsVirtualEndpointGatewayIpsIp { return v.Ips }).(GetIsVirtualEndpointGatewayIpsIpArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGateways.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGateways.go new file mode 100644 index 000000000..8ff6c10e7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualEndpointGateways.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVirtualEndpointGateways(ctx *pulumi.Context, args *GetIsVirtualEndpointGatewaysArgs, opts ...pulumi.InvokeOption) (*GetIsVirtualEndpointGatewaysResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVirtualEndpointGatewaysResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualEndpointGateways:getIsVirtualEndpointGateways", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualEndpointGateways. +type GetIsVirtualEndpointGatewaysArgs struct { + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsVirtualEndpointGateways. +type GetIsVirtualEndpointGatewaysResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + VirtualEndpointGateways []GetIsVirtualEndpointGatewaysVirtualEndpointGateway `pulumi:"virtualEndpointGateways"` +} + +func GetIsVirtualEndpointGatewaysOutput(ctx *pulumi.Context, args GetIsVirtualEndpointGatewaysOutputArgs, opts ...pulumi.InvokeOption) GetIsVirtualEndpointGatewaysResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVirtualEndpointGatewaysResultOutput, error) { + args := v.(GetIsVirtualEndpointGatewaysArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualEndpointGateways:getIsVirtualEndpointGateways", args, GetIsVirtualEndpointGatewaysResultOutput{}, options).(GetIsVirtualEndpointGatewaysResultOutput), nil + }).(GetIsVirtualEndpointGatewaysResultOutput) +} + +// A collection of arguments for invoking getIsVirtualEndpointGateways. +type GetIsVirtualEndpointGatewaysOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsVirtualEndpointGatewaysOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualEndpointGateways. +type GetIsVirtualEndpointGatewaysResultOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysResult)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysResultOutput) ToGetIsVirtualEndpointGatewaysResultOutput() GetIsVirtualEndpointGatewaysResultOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysResultOutput) ToGetIsVirtualEndpointGatewaysResultOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVirtualEndpointGatewaysResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVirtualEndpointGatewaysResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsVirtualEndpointGatewaysResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsVirtualEndpointGatewaysResultOutput) VirtualEndpointGateways() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysResult) []GetIsVirtualEndpointGatewaysVirtualEndpointGateway { + return v.VirtualEndpointGateways + }).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterface.go new file mode 100644 index 000000000..ae428aa97 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterface.go @@ -0,0 +1,191 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVirtualNetworkInterface(ctx *pulumi.Context, args *LookupIsVirtualNetworkInterfaceArgs, opts ...pulumi.InvokeOption) (*LookupIsVirtualNetworkInterfaceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVirtualNetworkInterfaceResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualNetworkInterface:getIsVirtualNetworkInterface", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualNetworkInterface. +type LookupIsVirtualNetworkInterfaceArgs struct { + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +// A collection of values returned by getIsVirtualNetworkInterface. +type LookupIsVirtualNetworkInterfaceResult struct { + AccessTags []string `pulumi:"accessTags"` + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + AutoDelete bool `pulumi:"autoDelete"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Ips []GetIsVirtualNetworkInterfaceIpType `pulumi:"ips"` + LifecycleState string `pulumi:"lifecycleState"` + MacAddress string `pulumi:"macAddress"` + Name string `pulumi:"name"` + PrimaryIps []GetIsVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + ProtocolStateFilteringMode string `pulumi:"protocolStateFilteringMode"` + ResourceGroups []GetIsVirtualNetworkInterfaceResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + SecurityGroups []GetIsVirtualNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` + Subnets []GetIsVirtualNetworkInterfaceSubnet `pulumi:"subnets"` + Tags []string `pulumi:"tags"` + Targets []GetIsVirtualNetworkInterfaceTarget `pulumi:"targets"` + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` + Vpcs []GetIsVirtualNetworkInterfaceVpc `pulumi:"vpcs"` + Zones []GetIsVirtualNetworkInterfaceZone `pulumi:"zones"` +} + +func LookupIsVirtualNetworkInterfaceOutput(ctx *pulumi.Context, args LookupIsVirtualNetworkInterfaceOutputArgs, opts ...pulumi.InvokeOption) LookupIsVirtualNetworkInterfaceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVirtualNetworkInterfaceResultOutput, error) { + args := v.(LookupIsVirtualNetworkInterfaceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualNetworkInterface:getIsVirtualNetworkInterface", args, LookupIsVirtualNetworkInterfaceResultOutput{}, options).(LookupIsVirtualNetworkInterfaceResultOutput), nil + }).(LookupIsVirtualNetworkInterfaceResultOutput) +} + +// A collection of arguments for invoking getIsVirtualNetworkInterface. +type LookupIsVirtualNetworkInterfaceOutputArgs struct { + VirtualNetworkInterface pulumi.StringInput `pulumi:"virtualNetworkInterface"` +} + +func (LookupIsVirtualNetworkInterfaceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVirtualNetworkInterfaceArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualNetworkInterface. +type LookupIsVirtualNetworkInterfaceResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVirtualNetworkInterfaceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVirtualNetworkInterfaceResult)(nil)).Elem() +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) ToLookupIsVirtualNetworkInterfaceResultOutput() LookupIsVirtualNetworkInterfaceResultOutput { + return o +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) ToLookupIsVirtualNetworkInterfaceResultOutputWithContext(ctx context.Context) LookupIsVirtualNetworkInterfaceResultOutput { + return o +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) bool { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVirtualNetworkInterfaceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Ips() GetIsVirtualNetworkInterfaceIpTypeArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []GetIsVirtualNetworkInterfaceIpType { return v.Ips }).(GetIsVirtualNetworkInterfaceIpTypeArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.MacAddress }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) PrimaryIps() GetIsVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []GetIsVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) ProtocolStateFilteringMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.ProtocolStateFilteringMode }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) ResourceGroups() GetIsVirtualNetworkInterfaceResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []GetIsVirtualNetworkInterfaceResourceGroup { + return v.ResourceGroups + }).(GetIsVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) SecurityGroups() GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []GetIsVirtualNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Subnets() GetIsVirtualNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []GetIsVirtualNetworkInterfaceSubnet { return v.Subnets }).(GetIsVirtualNetworkInterfaceSubnetArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Targets() GetIsVirtualNetworkInterfaceTargetArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []GetIsVirtualNetworkInterfaceTarget { return v.Targets }).(GetIsVirtualNetworkInterfaceTargetArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) VirtualNetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) string { return v.VirtualNetworkInterface }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Vpcs() GetIsVirtualNetworkInterfaceVpcArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []GetIsVirtualNetworkInterfaceVpc { return v.Vpcs }).(GetIsVirtualNetworkInterfaceVpcArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceResultOutput) Zones() GetIsVirtualNetworkInterfaceZoneArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceResult) []GetIsVirtualNetworkInterfaceZone { return v.Zones }).(GetIsVirtualNetworkInterfaceZoneArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVirtualNetworkInterfaceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceFloatingIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceFloatingIp.go new file mode 100644 index 000000000..43424681e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceFloatingIp.go @@ -0,0 +1,116 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVirtualNetworkInterfaceFloatingIp(ctx *pulumi.Context, args *LookupIsVirtualNetworkInterfaceFloatingIpArgs, opts ...pulumi.InvokeOption) (*LookupIsVirtualNetworkInterfaceFloatingIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVirtualNetworkInterfaceFloatingIpResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualNetworkInterfaceFloatingIp:getIsVirtualNetworkInterfaceFloatingIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaceFloatingIp. +type LookupIsVirtualNetworkInterfaceFloatingIpArgs struct { + Deleteds []GetIsVirtualNetworkInterfaceFloatingIpDeleted `pulumi:"deleteds"` + FloatingIp string `pulumi:"floatingIp"` + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +// A collection of values returned by getIsVirtualNetworkInterfaceFloatingIp. +type LookupIsVirtualNetworkInterfaceFloatingIpResult struct { + Address string `pulumi:"address"` + Crn string `pulumi:"crn"` + Deleteds []GetIsVirtualNetworkInterfaceFloatingIpDeleted `pulumi:"deleteds"` + FloatingIp string `pulumi:"floatingIp"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +func LookupIsVirtualNetworkInterfaceFloatingIpOutput(ctx *pulumi.Context, args LookupIsVirtualNetworkInterfaceFloatingIpOutputArgs, opts ...pulumi.InvokeOption) LookupIsVirtualNetworkInterfaceFloatingIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVirtualNetworkInterfaceFloatingIpResultOutput, error) { + args := v.(LookupIsVirtualNetworkInterfaceFloatingIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualNetworkInterfaceFloatingIp:getIsVirtualNetworkInterfaceFloatingIp", args, LookupIsVirtualNetworkInterfaceFloatingIpResultOutput{}, options).(LookupIsVirtualNetworkInterfaceFloatingIpResultOutput), nil + }).(LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaceFloatingIp. +type LookupIsVirtualNetworkInterfaceFloatingIpOutputArgs struct { + Deleteds GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayInput `pulumi:"deleteds"` + FloatingIp pulumi.StringInput `pulumi:"floatingIp"` + VirtualNetworkInterface pulumi.StringInput `pulumi:"virtualNetworkInterface"` +} + +func (LookupIsVirtualNetworkInterfaceFloatingIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVirtualNetworkInterfaceFloatingIpArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualNetworkInterfaceFloatingIp. +type LookupIsVirtualNetworkInterfaceFloatingIpResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVirtualNetworkInterfaceFloatingIpResult)(nil)).Elem() +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) ToLookupIsVirtualNetworkInterfaceFloatingIpResultOutput() LookupIsVirtualNetworkInterfaceFloatingIpResultOutput { + return o +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) ToLookupIsVirtualNetworkInterfaceFloatingIpResultOutputWithContext(ctx context.Context) LookupIsVirtualNetworkInterfaceFloatingIpResultOutput { + return o +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceFloatingIpResult) string { return v.Address }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceFloatingIpResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) Deleteds() GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceFloatingIpResult) []GetIsVirtualNetworkInterfaceFloatingIpDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) FloatingIp() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceFloatingIpResult) string { return v.FloatingIp }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceFloatingIpResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceFloatingIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceFloatingIpResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceFloatingIpResultOutput) VirtualNetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceFloatingIpResult) string { return v.VirtualNetworkInterface }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVirtualNetworkInterfaceFloatingIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceFloatingIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceFloatingIps.go new file mode 100644 index 000000000..ee746cc34 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceFloatingIps.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVirtualNetworkInterfaceFloatingIps(ctx *pulumi.Context, args *GetIsVirtualNetworkInterfaceFloatingIpsArgs, opts ...pulumi.InvokeOption) (*GetIsVirtualNetworkInterfaceFloatingIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVirtualNetworkInterfaceFloatingIpsResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualNetworkInterfaceFloatingIps:getIsVirtualNetworkInterfaceFloatingIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaceFloatingIps. +type GetIsVirtualNetworkInterfaceFloatingIpsArgs struct { + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +// A collection of values returned by getIsVirtualNetworkInterfaceFloatingIps. +type GetIsVirtualNetworkInterfaceFloatingIpsResult struct { + FloatingIps []GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp `pulumi:"floatingIps"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +func GetIsVirtualNetworkInterfaceFloatingIpsOutput(ctx *pulumi.Context, args GetIsVirtualNetworkInterfaceFloatingIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsVirtualNetworkInterfaceFloatingIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVirtualNetworkInterfaceFloatingIpsResultOutput, error) { + args := v.(GetIsVirtualNetworkInterfaceFloatingIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualNetworkInterfaceFloatingIps:getIsVirtualNetworkInterfaceFloatingIps", args, GetIsVirtualNetworkInterfaceFloatingIpsResultOutput{}, options).(GetIsVirtualNetworkInterfaceFloatingIpsResultOutput), nil + }).(GetIsVirtualNetworkInterfaceFloatingIpsResultOutput) +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaceFloatingIps. +type GetIsVirtualNetworkInterfaceFloatingIpsOutputArgs struct { + VirtualNetworkInterface pulumi.StringInput `pulumi:"virtualNetworkInterface"` +} + +func (GetIsVirtualNetworkInterfaceFloatingIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualNetworkInterfaceFloatingIps. +type GetIsVirtualNetworkInterfaceFloatingIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceFloatingIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsResult)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsResultOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsResultOutput() GetIsVirtualNetworkInterfaceFloatingIpsResultOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsResultOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsResultOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsResultOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsResultOutput) FloatingIps() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsResult) []GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp { + return v.FloatingIps + }).(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVirtualNetworkInterfaceFloatingIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsResultOutput) VirtualNetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsResult) string { return v.VirtualNetworkInterface }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceFloatingIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceIp.go new file mode 100644 index 000000000..010c09f5d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceIp.go @@ -0,0 +1,105 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVirtualNetworkInterfaceIp(ctx *pulumi.Context, args *LookupIsVirtualNetworkInterfaceIpArgs, opts ...pulumi.InvokeOption) (*LookupIsVirtualNetworkInterfaceIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVirtualNetworkInterfaceIpResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualNetworkInterfaceIp:getIsVirtualNetworkInterfaceIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaceIp. +type LookupIsVirtualNetworkInterfaceIpArgs struct { + ReservedIp string `pulumi:"reservedIp"` + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +// A collection of values returned by getIsVirtualNetworkInterfaceIp. +type LookupIsVirtualNetworkInterfaceIpResult struct { + Address string `pulumi:"address"` + Href string `pulumi:"href"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + ReservedIp string `pulumi:"reservedIp"` + ResourceType string `pulumi:"resourceType"` + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +func LookupIsVirtualNetworkInterfaceIpOutput(ctx *pulumi.Context, args LookupIsVirtualNetworkInterfaceIpOutputArgs, opts ...pulumi.InvokeOption) LookupIsVirtualNetworkInterfaceIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVirtualNetworkInterfaceIpResultOutput, error) { + args := v.(LookupIsVirtualNetworkInterfaceIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualNetworkInterfaceIp:getIsVirtualNetworkInterfaceIp", args, LookupIsVirtualNetworkInterfaceIpResultOutput{}, options).(LookupIsVirtualNetworkInterfaceIpResultOutput), nil + }).(LookupIsVirtualNetworkInterfaceIpResultOutput) +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaceIp. +type LookupIsVirtualNetworkInterfaceIpOutputArgs struct { + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + VirtualNetworkInterface pulumi.StringInput `pulumi:"virtualNetworkInterface"` +} + +func (LookupIsVirtualNetworkInterfaceIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVirtualNetworkInterfaceIpArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualNetworkInterfaceIp. +type LookupIsVirtualNetworkInterfaceIpResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVirtualNetworkInterfaceIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVirtualNetworkInterfaceIpResult)(nil)).Elem() +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) ToLookupIsVirtualNetworkInterfaceIpResultOutput() LookupIsVirtualNetworkInterfaceIpResultOutput { + return o +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) ToLookupIsVirtualNetworkInterfaceIpResultOutputWithContext(ctx context.Context) LookupIsVirtualNetworkInterfaceIpResultOutput { + return o +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceIpResult) string { return v.Address }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceIpResult) string { return v.Href }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceIpResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceIpResult) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceIpResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVirtualNetworkInterfaceIpResultOutput) VirtualNetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVirtualNetworkInterfaceIpResult) string { return v.VirtualNetworkInterface }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVirtualNetworkInterfaceIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceIps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceIps.go new file mode 100644 index 000000000..7be871e8c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaceIps.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVirtualNetworkInterfaceIps(ctx *pulumi.Context, args *GetIsVirtualNetworkInterfaceIpsArgs, opts ...pulumi.InvokeOption) (*GetIsVirtualNetworkInterfaceIpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVirtualNetworkInterfaceIpsResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualNetworkInterfaceIps:getIsVirtualNetworkInterfaceIps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaceIps. +type GetIsVirtualNetworkInterfaceIpsArgs struct { + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +// A collection of values returned by getIsVirtualNetworkInterfaceIps. +type GetIsVirtualNetworkInterfaceIpsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ReservedIps []GetIsVirtualNetworkInterfaceIpsReservedIp `pulumi:"reservedIps"` + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +func GetIsVirtualNetworkInterfaceIpsOutput(ctx *pulumi.Context, args GetIsVirtualNetworkInterfaceIpsOutputArgs, opts ...pulumi.InvokeOption) GetIsVirtualNetworkInterfaceIpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVirtualNetworkInterfaceIpsResultOutput, error) { + args := v.(GetIsVirtualNetworkInterfaceIpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualNetworkInterfaceIps:getIsVirtualNetworkInterfaceIps", args, GetIsVirtualNetworkInterfaceIpsResultOutput{}, options).(GetIsVirtualNetworkInterfaceIpsResultOutput), nil + }).(GetIsVirtualNetworkInterfaceIpsResultOutput) +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaceIps. +type GetIsVirtualNetworkInterfaceIpsOutputArgs struct { + VirtualNetworkInterface pulumi.StringInput `pulumi:"virtualNetworkInterface"` +} + +func (GetIsVirtualNetworkInterfaceIpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualNetworkInterfaceIps. +type GetIsVirtualNetworkInterfaceIpsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceIpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpsResult)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceIpsResultOutput) ToGetIsVirtualNetworkInterfaceIpsResultOutput() GetIsVirtualNetworkInterfaceIpsResultOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpsResultOutput) ToGetIsVirtualNetworkInterfaceIpsResultOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVirtualNetworkInterfaceIpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVirtualNetworkInterfaceIpsResultOutput) ReservedIps() GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsResult) []GetIsVirtualNetworkInterfaceIpsReservedIp { + return v.ReservedIps + }).(GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput) +} + +func (o GetIsVirtualNetworkInterfaceIpsResultOutput) VirtualNetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsResult) string { return v.VirtualNetworkInterface }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceIpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaces.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaces.go new file mode 100644 index 000000000..fbd31a5e8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVirtualNetworkInterfaces.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVirtualNetworkInterfaces(ctx *pulumi.Context, args *GetIsVirtualNetworkInterfacesArgs, opts ...pulumi.InvokeOption) (*GetIsVirtualNetworkInterfacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVirtualNetworkInterfacesResult + err := ctx.Invoke("ibmcloud:index/getIsVirtualNetworkInterfaces:getIsVirtualNetworkInterfaces", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaces. +type GetIsVirtualNetworkInterfacesArgs struct { + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsVirtualNetworkInterfaces. +type GetIsVirtualNetworkInterfacesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResourceGroup *string `pulumi:"resourceGroup"` + VirtualNetworkInterfaces []GetIsVirtualNetworkInterfacesVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +func GetIsVirtualNetworkInterfacesOutput(ctx *pulumi.Context, args GetIsVirtualNetworkInterfacesOutputArgs, opts ...pulumi.InvokeOption) GetIsVirtualNetworkInterfacesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVirtualNetworkInterfacesResultOutput, error) { + args := v.(GetIsVirtualNetworkInterfacesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVirtualNetworkInterfaces:getIsVirtualNetworkInterfaces", args, GetIsVirtualNetworkInterfacesResultOutput{}, options).(GetIsVirtualNetworkInterfacesResultOutput), nil + }).(GetIsVirtualNetworkInterfacesResultOutput) +} + +// A collection of arguments for invoking getIsVirtualNetworkInterfaces. +type GetIsVirtualNetworkInterfacesOutputArgs struct { + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsVirtualNetworkInterfacesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVirtualNetworkInterfaces. +type GetIsVirtualNetworkInterfacesResultOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesResult)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesResultOutput) ToGetIsVirtualNetworkInterfacesResultOutput() GetIsVirtualNetworkInterfacesResultOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesResultOutput) ToGetIsVirtualNetworkInterfacesResultOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVirtualNetworkInterfacesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVirtualNetworkInterfacesResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsVirtualNetworkInterfacesResultOutput) VirtualNetworkInterfaces() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesResult) []GetIsVirtualNetworkInterfacesVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolume.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolume.go new file mode 100644 index 000000000..ff45cefd2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolume.go @@ -0,0 +1,244 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVolume(ctx *pulumi.Context, args *LookupIsVolumeArgs, opts ...pulumi.InvokeOption) (*LookupIsVolumeResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVolumeResult + err := ctx.Invoke("ibmcloud:index/getIsVolume:getIsVolume", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVolume. +type LookupIsVolumeArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` + Zone *string `pulumi:"zone"` +} + +// A collection of values returned by getIsVolume. +type LookupIsVolumeResult struct { + AccessTags []string `pulumi:"accessTags"` + Active bool `pulumi:"active"` + AdjustableCapacityStates []string `pulumi:"adjustableCapacityStates"` + AdjustableIopsStates []string `pulumi:"adjustableIopsStates"` + AllowedUses []GetIsVolumeAllowedUse `pulumi:"allowedUses"` + AttachmentState string `pulumi:"attachmentState"` + Bandwidth int `pulumi:"bandwidth"` + Busy bool `pulumi:"busy"` + Capacity int `pulumi:"capacity"` + CatalogOfferings []GetIsVolumeCatalogOffering `pulumi:"catalogOfferings"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + EncryptionKey string `pulumi:"encryptionKey"` + EncryptionType string `pulumi:"encryptionType"` + HealthReasons []GetIsVolumeHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + Iops int `pulumi:"iops"` + Name *string `pulumi:"name"` + OperatingSystems []GetIsVolumeOperatingSystem `pulumi:"operatingSystems"` + Profile string `pulumi:"profile"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + ResourceStatus string `pulumi:"resourceStatus"` + SourceSnapshot string `pulumi:"sourceSnapshot"` + Status string `pulumi:"status"` + StatusReasons []GetIsVolumeStatusReason `pulumi:"statusReasons"` + StorageGeneration int `pulumi:"storageGeneration"` + Tags []string `pulumi:"tags"` + Zone string `pulumi:"zone"` +} + +func LookupIsVolumeOutput(ctx *pulumi.Context, args LookupIsVolumeOutputArgs, opts ...pulumi.InvokeOption) LookupIsVolumeResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVolumeResultOutput, error) { + args := v.(LookupIsVolumeArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVolume:getIsVolume", args, LookupIsVolumeResultOutput{}, options).(LookupIsVolumeResultOutput), nil + }).(LookupIsVolumeResultOutput) +} + +// A collection of arguments for invoking getIsVolume. +type LookupIsVolumeOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (LookupIsVolumeOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVolumeArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVolume. +type LookupIsVolumeResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVolumeResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVolumeResult)(nil)).Elem() +} + +func (o LookupIsVolumeResultOutput) ToLookupIsVolumeResultOutput() LookupIsVolumeResultOutput { + return o +} + +func (o LookupIsVolumeResultOutput) ToLookupIsVolumeResultOutputWithContext(ctx context.Context) LookupIsVolumeResultOutput { + return o +} + +func (o LookupIsVolumeResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVolumeResultOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVolumeResult) bool { return v.Active }).(pulumi.BoolOutput) +} + +func (o LookupIsVolumeResultOutput) AdjustableCapacityStates() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []string { return v.AdjustableCapacityStates }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVolumeResultOutput) AdjustableIopsStates() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []string { return v.AdjustableIopsStates }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVolumeResultOutput) AllowedUses() GetIsVolumeAllowedUseArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []GetIsVolumeAllowedUse { return v.AllowedUses }).(GetIsVolumeAllowedUseArrayOutput) +} + +func (o LookupIsVolumeResultOutput) AttachmentState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.AttachmentState }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVolumeResult) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +func (o LookupIsVolumeResultOutput) Busy() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVolumeResult) bool { return v.Busy }).(pulumi.BoolOutput) +} + +func (o LookupIsVolumeResultOutput) Capacity() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVolumeResult) int { return v.Capacity }).(pulumi.IntOutput) +} + +func (o LookupIsVolumeResultOutput) CatalogOfferings() GetIsVolumeCatalogOfferingArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []GetIsVolumeCatalogOffering { return v.CatalogOfferings }).(GetIsVolumeCatalogOfferingArrayOutput) +} + +func (o LookupIsVolumeResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) EncryptionType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.EncryptionType }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) HealthReasons() GetIsVolumeHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []GetIsVolumeHealthReason { return v.HealthReasons }).(GetIsVolumeHealthReasonArrayOutput) +} + +func (o LookupIsVolumeResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVolumeResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVolumeResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVolumeResultOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVolumeResult) int { return v.Iops }).(pulumi.IntOutput) +} + +func (o LookupIsVolumeResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVolumeResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVolumeResultOutput) OperatingSystems() GetIsVolumeOperatingSystemArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []GetIsVolumeOperatingSystem { return v.OperatingSystems }).(GetIsVolumeOperatingSystemArrayOutput) +} + +func (o LookupIsVolumeResultOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) SourceSnapshot() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.SourceSnapshot }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsVolumeResultOutput) StatusReasons() GetIsVolumeStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []GetIsVolumeStatusReason { return v.StatusReasons }).(GetIsVolumeStatusReasonArrayOutput) +} + +func (o LookupIsVolumeResultOutput) StorageGeneration() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVolumeResult) int { return v.StorageGeneration }).(pulumi.IntOutput) +} + +func (o LookupIsVolumeResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVolumeResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVolumeResultOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVolumeResult) string { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVolumeResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeInstanceProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeInstanceProfiles.go new file mode 100644 index 000000000..1a1bdbe8a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeInstanceProfiles.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVolumeInstanceProfiles(ctx *pulumi.Context, args *GetIsVolumeInstanceProfilesArgs, opts ...pulumi.InvokeOption) (*GetIsVolumeInstanceProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVolumeInstanceProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsVolumeInstanceProfiles:getIsVolumeInstanceProfiles", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVolumeInstanceProfiles. +type GetIsVolumeInstanceProfilesArgs struct { + Identifier string `pulumi:"identifier"` +} + +// A collection of values returned by getIsVolumeInstanceProfiles. +type GetIsVolumeInstanceProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + InstanceProfiles []GetIsVolumeInstanceProfilesInstanceProfile `pulumi:"instanceProfiles"` +} + +func GetIsVolumeInstanceProfilesOutput(ctx *pulumi.Context, args GetIsVolumeInstanceProfilesOutputArgs, opts ...pulumi.InvokeOption) GetIsVolumeInstanceProfilesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVolumeInstanceProfilesResultOutput, error) { + args := v.(GetIsVolumeInstanceProfilesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVolumeInstanceProfiles:getIsVolumeInstanceProfiles", args, GetIsVolumeInstanceProfilesResultOutput{}, options).(GetIsVolumeInstanceProfilesResultOutput), nil + }).(GetIsVolumeInstanceProfilesResultOutput) +} + +// A collection of arguments for invoking getIsVolumeInstanceProfiles. +type GetIsVolumeInstanceProfilesOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (GetIsVolumeInstanceProfilesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeInstanceProfilesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVolumeInstanceProfiles. +type GetIsVolumeInstanceProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeInstanceProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeInstanceProfilesResult)(nil)).Elem() +} + +func (o GetIsVolumeInstanceProfilesResultOutput) ToGetIsVolumeInstanceProfilesResultOutput() GetIsVolumeInstanceProfilesResultOutput { + return o +} + +func (o GetIsVolumeInstanceProfilesResultOutput) ToGetIsVolumeInstanceProfilesResultOutputWithContext(ctx context.Context) GetIsVolumeInstanceProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVolumeInstanceProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeInstanceProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVolumeInstanceProfilesResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeInstanceProfilesResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o GetIsVolumeInstanceProfilesResultOutput) InstanceProfiles() GetIsVolumeInstanceProfilesInstanceProfileArrayOutput { + return o.ApplyT(func(v GetIsVolumeInstanceProfilesResult) []GetIsVolumeInstanceProfilesInstanceProfile { + return v.InstanceProfiles + }).(GetIsVolumeInstanceProfilesInstanceProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVolumeInstanceProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeProfile.go new file mode 100644 index 000000000..7fe7c3cee --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeProfile.go @@ -0,0 +1,119 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVolumeProfile(ctx *pulumi.Context, args *GetIsVolumeProfileArgs, opts ...pulumi.InvokeOption) (*GetIsVolumeProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVolumeProfileResult + err := ctx.Invoke("ibmcloud:index/getIsVolumeProfile:getIsVolumeProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVolumeProfile. +type GetIsVolumeProfileArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getIsVolumeProfile. +type GetIsVolumeProfileResult struct { + AdjustableCapacityStates []GetIsVolumeProfileAdjustableCapacityState `pulumi:"adjustableCapacityStates"` + AdjustableIopsStates []GetIsVolumeProfileAdjustableIopsState `pulumi:"adjustableIopsStates"` + BootCapacities []GetIsVolumeProfileBootCapacity `pulumi:"bootCapacities"` + Capacities []GetIsVolumeProfileCapacity `pulumi:"capacities"` + Family string `pulumi:"family"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Iops []GetIsVolumeProfileIop `pulumi:"iops"` + Name string `pulumi:"name"` +} + +func GetIsVolumeProfileOutput(ctx *pulumi.Context, args GetIsVolumeProfileOutputArgs, opts ...pulumi.InvokeOption) GetIsVolumeProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVolumeProfileResultOutput, error) { + args := v.(GetIsVolumeProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVolumeProfile:getIsVolumeProfile", args, GetIsVolumeProfileResultOutput{}, options).(GetIsVolumeProfileResultOutput), nil + }).(GetIsVolumeProfileResultOutput) +} + +// A collection of arguments for invoking getIsVolumeProfile. +type GetIsVolumeProfileOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVolumeProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVolumeProfile. +type GetIsVolumeProfileResultOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileResult)(nil)).Elem() +} + +func (o GetIsVolumeProfileResultOutput) ToGetIsVolumeProfileResultOutput() GetIsVolumeProfileResultOutput { + return o +} + +func (o GetIsVolumeProfileResultOutput) ToGetIsVolumeProfileResultOutputWithContext(ctx context.Context) GetIsVolumeProfileResultOutput { + return o +} + +func (o GetIsVolumeProfileResultOutput) AdjustableCapacityStates() GetIsVolumeProfileAdjustableCapacityStateArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) []GetIsVolumeProfileAdjustableCapacityState { + return v.AdjustableCapacityStates + }).(GetIsVolumeProfileAdjustableCapacityStateArrayOutput) +} + +func (o GetIsVolumeProfileResultOutput) AdjustableIopsStates() GetIsVolumeProfileAdjustableIopsStateArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) []GetIsVolumeProfileAdjustableIopsState { + return v.AdjustableIopsStates + }).(GetIsVolumeProfileAdjustableIopsStateArrayOutput) +} + +func (o GetIsVolumeProfileResultOutput) BootCapacities() GetIsVolumeProfileBootCapacityArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) []GetIsVolumeProfileBootCapacity { return v.BootCapacities }).(GetIsVolumeProfileBootCapacityArrayOutput) +} + +func (o GetIsVolumeProfileResultOutput) Capacities() GetIsVolumeProfileCapacityArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) []GetIsVolumeProfileCapacity { return v.Capacities }).(GetIsVolumeProfileCapacityArrayOutput) +} + +func (o GetIsVolumeProfileResultOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) string { return v.Family }).(pulumi.StringOutput) +} + +func (o GetIsVolumeProfileResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVolumeProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVolumeProfileResultOutput) Iops() GetIsVolumeProfileIopArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) []GetIsVolumeProfileIop { return v.Iops }).(GetIsVolumeProfileIopArrayOutput) +} + +func (o GetIsVolumeProfileResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileResult) string { return v.Name }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVolumeProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeProfiles.go new file mode 100644 index 000000000..ef2bbb69b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumeProfiles.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVolumeProfiles(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIsVolumeProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVolumeProfilesResult + err := ctx.Invoke("ibmcloud:index/getIsVolumeProfiles:getIsVolumeProfiles", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIsVolumeProfiles. +type GetIsVolumeProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Profiles []GetIsVolumeProfilesProfile `pulumi:"profiles"` +} + +func GetIsVolumeProfilesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIsVolumeProfilesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIsVolumeProfilesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVolumeProfiles:getIsVolumeProfiles", nil, GetIsVolumeProfilesResultOutput{}, options).(GetIsVolumeProfilesResultOutput), nil + }).(GetIsVolumeProfilesResultOutput) +} + +// A collection of values returned by getIsVolumeProfiles. +type GetIsVolumeProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesResult)(nil)).Elem() +} + +func (o GetIsVolumeProfilesResultOutput) ToGetIsVolumeProfilesResultOutput() GetIsVolumeProfilesResultOutput { + return o +} + +func (o GetIsVolumeProfilesResultOutput) ToGetIsVolumeProfilesResultOutputWithContext(ctx context.Context) GetIsVolumeProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVolumeProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVolumeProfilesResultOutput) Profiles() GetIsVolumeProfilesProfileArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesResult) []GetIsVolumeProfilesProfile { return v.Profiles }).(GetIsVolumeProfilesProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVolumeProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumes.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumes.go new file mode 100644 index 000000000..413889295 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVolumes.go @@ -0,0 +1,120 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVolumes(ctx *pulumi.Context, args *GetIsVolumesArgs, opts ...pulumi.InvokeOption) (*GetIsVolumesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVolumesResult + err := ctx.Invoke("ibmcloud:index/getIsVolumes:getIsVolumes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVolumes. +type GetIsVolumesArgs struct { + AttachmentState *string `pulumi:"attachmentState"` + Encryption *string `pulumi:"encryption"` + OperatingSystemArchitecture *string `pulumi:"operatingSystemArchitecture"` + OperatingSystemFamily *string `pulumi:"operatingSystemFamily"` + VolumeName *string `pulumi:"volumeName"` + ZoneName *string `pulumi:"zoneName"` +} + +// A collection of values returned by getIsVolumes. +type GetIsVolumesResult struct { + AttachmentState *string `pulumi:"attachmentState"` + Encryption *string `pulumi:"encryption"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + OperatingSystemArchitecture *string `pulumi:"operatingSystemArchitecture"` + OperatingSystemFamily *string `pulumi:"operatingSystemFamily"` + VolumeName *string `pulumi:"volumeName"` + Volumes []GetIsVolumesVolume `pulumi:"volumes"` + ZoneName *string `pulumi:"zoneName"` +} + +func GetIsVolumesOutput(ctx *pulumi.Context, args GetIsVolumesOutputArgs, opts ...pulumi.InvokeOption) GetIsVolumesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVolumesResultOutput, error) { + args := v.(GetIsVolumesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVolumes:getIsVolumes", args, GetIsVolumesResultOutput{}, options).(GetIsVolumesResultOutput), nil + }).(GetIsVolumesResultOutput) +} + +// A collection of arguments for invoking getIsVolumes. +type GetIsVolumesOutputArgs struct { + AttachmentState pulumi.StringPtrInput `pulumi:"attachmentState"` + Encryption pulumi.StringPtrInput `pulumi:"encryption"` + OperatingSystemArchitecture pulumi.StringPtrInput `pulumi:"operatingSystemArchitecture"` + OperatingSystemFamily pulumi.StringPtrInput `pulumi:"operatingSystemFamily"` + VolumeName pulumi.StringPtrInput `pulumi:"volumeName"` + ZoneName pulumi.StringPtrInput `pulumi:"zoneName"` +} + +func (GetIsVolumesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVolumes. +type GetIsVolumesResultOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesResult)(nil)).Elem() +} + +func (o GetIsVolumesResultOutput) ToGetIsVolumesResultOutput() GetIsVolumesResultOutput { + return o +} + +func (o GetIsVolumesResultOutput) ToGetIsVolumesResultOutputWithContext(ctx context.Context) GetIsVolumesResultOutput { + return o +} + +func (o GetIsVolumesResultOutput) AttachmentState() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVolumesResult) *string { return v.AttachmentState }).(pulumi.StringPtrOutput) +} + +func (o GetIsVolumesResultOutput) Encryption() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVolumesResult) *string { return v.Encryption }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVolumesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVolumesResultOutput) OperatingSystemArchitecture() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVolumesResult) *string { return v.OperatingSystemArchitecture }).(pulumi.StringPtrOutput) +} + +func (o GetIsVolumesResultOutput) OperatingSystemFamily() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVolumesResult) *string { return v.OperatingSystemFamily }).(pulumi.StringPtrOutput) +} + +func (o GetIsVolumesResultOutput) VolumeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVolumesResult) *string { return v.VolumeName }).(pulumi.StringPtrOutput) +} + +func (o GetIsVolumesResultOutput) Volumes() GetIsVolumesVolumeArrayOutput { + return o.ApplyT(func(v GetIsVolumesResult) []GetIsVolumesVolume { return v.Volumes }).(GetIsVolumesVolumeArrayOutput) +} + +func (o GetIsVolumesResultOutput) ZoneName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVolumesResult) *string { return v.ZoneName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVolumesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpc.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpc.go new file mode 100644 index 000000000..dd20a6a9d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpc.go @@ -0,0 +1,224 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpc(ctx *pulumi.Context, args *LookupIsVpcArgs, opts ...pulumi.InvokeOption) (*LookupIsVpcResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpcResult + err := ctx.Invoke("ibmcloud:index/getIsVpc:getIsVpc", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpc. +type LookupIsVpcArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsVpc. +type LookupIsVpcResult struct { + AccessTags []string `pulumi:"accessTags"` + // Deprecated: Classic access is deprecated + ClassicAccess bool `pulumi:"classicAccess"` + Crn string `pulumi:"crn"` + CseSourceAddresses []GetIsVpcCseSourceAddress `pulumi:"cseSourceAddresses"` + DefaultAddressPrefixes map[string]string `pulumi:"defaultAddressPrefixes"` + DefaultNetworkAcl string `pulumi:"defaultNetworkAcl"` + DefaultNetworkAclCrn string `pulumi:"defaultNetworkAclCrn"` + DefaultNetworkAclName string `pulumi:"defaultNetworkAclName"` + DefaultRoutingTable string `pulumi:"defaultRoutingTable"` + DefaultRoutingTableName string `pulumi:"defaultRoutingTableName"` + DefaultSecurityGroup string `pulumi:"defaultSecurityGroup"` + DefaultSecurityGroupCrn string `pulumi:"defaultSecurityGroupCrn"` + DefaultSecurityGroupName string `pulumi:"defaultSecurityGroupName"` + Dns []GetIsVpcDn `pulumi:"dns"` + HealthReasons []GetIsVpcHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` + PublicAddressRanges []GetIsVpcPublicAddressRange `pulumi:"publicAddressRanges"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroup string `pulumi:"resourceGroup"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + ResourceStatus string `pulumi:"resourceStatus"` + SecurityGroups []GetIsVpcSecurityGroup `pulumi:"securityGroups"` + Status string `pulumi:"status"` + Subnets []GetIsVpcSubnet `pulumi:"subnets"` + Tags []string `pulumi:"tags"` +} + +func LookupIsVpcOutput(ctx *pulumi.Context, args LookupIsVpcOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpcResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpcResultOutput, error) { + args := v.(LookupIsVpcArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpc:getIsVpc", args, LookupIsVpcResultOutput{}, options).(LookupIsVpcResultOutput), nil + }).(LookupIsVpcResultOutput) +} + +// A collection of arguments for invoking getIsVpc. +type LookupIsVpcOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsVpcOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpc. +type LookupIsVpcResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpcResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcResult)(nil)).Elem() +} + +func (o LookupIsVpcResultOutput) ToLookupIsVpcResultOutput() LookupIsVpcResultOutput { + return o +} + +func (o LookupIsVpcResultOutput) ToLookupIsVpcResultOutputWithContext(ctx context.Context) LookupIsVpcResultOutput { + return o +} + +func (o LookupIsVpcResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpcResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Deprecated: Classic access is deprecated +func (o LookupIsVpcResultOutput) ClassicAccess() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcResult) bool { return v.ClassicAccess }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) CseSourceAddresses() GetIsVpcCseSourceAddressArrayOutput { + return o.ApplyT(func(v LookupIsVpcResult) []GetIsVpcCseSourceAddress { return v.CseSourceAddresses }).(GetIsVpcCseSourceAddressArrayOutput) +} + +func (o LookupIsVpcResultOutput) DefaultAddressPrefixes() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupIsVpcResult) map[string]string { return v.DefaultAddressPrefixes }).(pulumi.StringMapOutput) +} + +func (o LookupIsVpcResultOutput) DefaultNetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.DefaultNetworkAcl }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) DefaultNetworkAclCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.DefaultNetworkAclCrn }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) DefaultNetworkAclName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.DefaultNetworkAclName }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) DefaultRoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.DefaultRoutingTable }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) DefaultRoutingTableName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.DefaultRoutingTableName }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) DefaultSecurityGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.DefaultSecurityGroup }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) DefaultSecurityGroupCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.DefaultSecurityGroupCrn }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) DefaultSecurityGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.DefaultSecurityGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) Dns() GetIsVpcDnArrayOutput { + return o.ApplyT(func(v LookupIsVpcResult) []GetIsVpcDn { return v.Dns }).(GetIsVpcDnArrayOutput) +} + +func (o LookupIsVpcResultOutput) HealthReasons() GetIsVpcHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpcResult) []GetIsVpcHealthReason { return v.HealthReasons }).(GetIsVpcHealthReasonArrayOutput) +} + +func (o LookupIsVpcResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpcResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcResultOutput) PublicAddressRanges() GetIsVpcPublicAddressRangeArrayOutput { + return o.ApplyT(func(v LookupIsVpcResult) []GetIsVpcPublicAddressRange { return v.PublicAddressRanges }).(GetIsVpcPublicAddressRangeArrayOutput) +} + +func (o LookupIsVpcResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) SecurityGroups() GetIsVpcSecurityGroupArrayOutput { + return o.ApplyT(func(v LookupIsVpcResult) []GetIsVpcSecurityGroup { return v.SecurityGroups }).(GetIsVpcSecurityGroupArrayOutput) +} + +func (o LookupIsVpcResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsVpcResultOutput) Subnets() GetIsVpcSubnetArrayOutput { + return o.ApplyT(func(v LookupIsVpcResult) []GetIsVpcSubnet { return v.Subnets }).(GetIsVpcSubnetArrayOutput) +} + +func (o LookupIsVpcResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpcResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpcResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcAddressPrefix.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcAddressPrefix.go new file mode 100644 index 000000000..d59ccd234 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcAddressPrefix.go @@ -0,0 +1,136 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpcAddressPrefix(ctx *pulumi.Context, args *LookupIsVpcAddressPrefixArgs, opts ...pulumi.InvokeOption) (*LookupIsVpcAddressPrefixResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpcAddressPrefixResult + err := ctx.Invoke("ibmcloud:index/getIsVpcAddressPrefix:getIsVpcAddressPrefix", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcAddressPrefix. +type LookupIsVpcAddressPrefixArgs struct { + AddressPrefix *string `pulumi:"addressPrefix"` + AddressPrefixName *string `pulumi:"addressPrefixName"` + Vpc *string `pulumi:"vpc"` + VpcName *string `pulumi:"vpcName"` +} + +// A collection of values returned by getIsVpcAddressPrefix. +type LookupIsVpcAddressPrefixResult struct { + AddressPrefix *string `pulumi:"addressPrefix"` + AddressPrefixName *string `pulumi:"addressPrefixName"` + Cidr string `pulumi:"cidr"` + CreatedAt string `pulumi:"createdAt"` + HasSubnets bool `pulumi:"hasSubnets"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IsDefault bool `pulumi:"isDefault"` + Name string `pulumi:"name"` + Vpc *string `pulumi:"vpc"` + VpcName *string `pulumi:"vpcName"` + Zones []GetIsVpcAddressPrefixZone `pulumi:"zones"` +} + +func LookupIsVpcAddressPrefixOutput(ctx *pulumi.Context, args LookupIsVpcAddressPrefixOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpcAddressPrefixResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpcAddressPrefixResultOutput, error) { + args := v.(LookupIsVpcAddressPrefixArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcAddressPrefix:getIsVpcAddressPrefix", args, LookupIsVpcAddressPrefixResultOutput{}, options).(LookupIsVpcAddressPrefixResultOutput), nil + }).(LookupIsVpcAddressPrefixResultOutput) +} + +// A collection of arguments for invoking getIsVpcAddressPrefix. +type LookupIsVpcAddressPrefixOutputArgs struct { + AddressPrefix pulumi.StringPtrInput `pulumi:"addressPrefix"` + AddressPrefixName pulumi.StringPtrInput `pulumi:"addressPrefixName"` + Vpc pulumi.StringPtrInput `pulumi:"vpc"` + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` +} + +func (LookupIsVpcAddressPrefixOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcAddressPrefixArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcAddressPrefix. +type LookupIsVpcAddressPrefixResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpcAddressPrefixResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcAddressPrefixResult)(nil)).Elem() +} + +func (o LookupIsVpcAddressPrefixResultOutput) ToLookupIsVpcAddressPrefixResultOutput() LookupIsVpcAddressPrefixResultOutput { + return o +} + +func (o LookupIsVpcAddressPrefixResultOutput) ToLookupIsVpcAddressPrefixResultOutputWithContext(ctx context.Context) LookupIsVpcAddressPrefixResultOutput { + return o +} + +func (o LookupIsVpcAddressPrefixResultOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) AddressPrefixName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) *string { return v.AddressPrefixName }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) string { return v.Cidr }).(pulumi.StringOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) HasSubnets() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) bool { return v.HasSubnets }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpcAddressPrefixResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) IsDefault() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) bool { return v.IsDefault }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) Vpc() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) *string { return v.Vpc }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcAddressPrefixResultOutput) Zones() GetIsVpcAddressPrefixZoneArrayOutput { + return o.ApplyT(func(v LookupIsVpcAddressPrefixResult) []GetIsVpcAddressPrefixZone { return v.Zones }).(GetIsVpcAddressPrefixZoneArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpcAddressPrefixResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcAddressPrefixes.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcAddressPrefixes.go new file mode 100644 index 000000000..355593714 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcAddressPrefixes.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpcAddressPrefixes(ctx *pulumi.Context, args *GetIsVpcAddressPrefixesArgs, opts ...pulumi.InvokeOption) (*GetIsVpcAddressPrefixesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpcAddressPrefixesResult + err := ctx.Invoke("ibmcloud:index/getIsVpcAddressPrefixes:getIsVpcAddressPrefixes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcAddressPrefixes. +type GetIsVpcAddressPrefixesArgs struct { + Name *string `pulumi:"name"` + Vpc string `pulumi:"vpc"` +} + +// A collection of values returned by getIsVpcAddressPrefixes. +type GetIsVpcAddressPrefixesResult struct { + AddressPrefixes []GetIsVpcAddressPrefixesAddressPrefix `pulumi:"addressPrefixes"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name *string `pulumi:"name"` + Vpc string `pulumi:"vpc"` +} + +func GetIsVpcAddressPrefixesOutput(ctx *pulumi.Context, args GetIsVpcAddressPrefixesOutputArgs, opts ...pulumi.InvokeOption) GetIsVpcAddressPrefixesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpcAddressPrefixesResultOutput, error) { + args := v.(GetIsVpcAddressPrefixesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcAddressPrefixes:getIsVpcAddressPrefixes", args, GetIsVpcAddressPrefixesResultOutput{}, options).(GetIsVpcAddressPrefixesResultOutput), nil + }).(GetIsVpcAddressPrefixesResultOutput) +} + +// A collection of arguments for invoking getIsVpcAddressPrefixes. +type GetIsVpcAddressPrefixesOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + Vpc pulumi.StringInput `pulumi:"vpc"` +} + +func (GetIsVpcAddressPrefixesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcAddressPrefixesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcAddressPrefixes. +type GetIsVpcAddressPrefixesResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpcAddressPrefixesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcAddressPrefixesResult)(nil)).Elem() +} + +func (o GetIsVpcAddressPrefixesResultOutput) ToGetIsVpcAddressPrefixesResultOutput() GetIsVpcAddressPrefixesResultOutput { + return o +} + +func (o GetIsVpcAddressPrefixesResultOutput) ToGetIsVpcAddressPrefixesResultOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesResultOutput { + return o +} + +func (o GetIsVpcAddressPrefixesResultOutput) AddressPrefixes() GetIsVpcAddressPrefixesAddressPrefixArrayOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesResult) []GetIsVpcAddressPrefixesAddressPrefix { return v.AddressPrefixes }).(GetIsVpcAddressPrefixesAddressPrefixArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpcAddressPrefixesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpcAddressPrefixesResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o GetIsVpcAddressPrefixesResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpcAddressPrefixesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDefaultRoutingTable.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDefaultRoutingTable.go new file mode 100644 index 000000000..59c41957b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDefaultRoutingTable.go @@ -0,0 +1,167 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpcDefaultRoutingTable(ctx *pulumi.Context, args *GetIsVpcDefaultRoutingTableArgs, opts ...pulumi.InvokeOption) (*GetIsVpcDefaultRoutingTableResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpcDefaultRoutingTableResult + err := ctx.Invoke("ibmcloud:index/getIsVpcDefaultRoutingTable:getIsVpcDefaultRoutingTable", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcDefaultRoutingTable. +type GetIsVpcDefaultRoutingTableArgs struct { + Vpc string `pulumi:"vpc"` +} + +// A collection of values returned by getIsVpcDefaultRoutingTable. +type GetIsVpcDefaultRoutingTableResult struct { + AccessTags []string `pulumi:"accessTags"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + DefaultRoutingTable string `pulumi:"defaultRoutingTable"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IsDefault bool `pulumi:"isDefault"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + ResourceGroups []GetIsVpcDefaultRoutingTableResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + RouteDirectLinkIngress bool `pulumi:"routeDirectLinkIngress"` + RouteInternetIngress bool `pulumi:"routeInternetIngress"` + RouteTransitGatewayIngress bool `pulumi:"routeTransitGatewayIngress"` + RouteVpcZoneIngress bool `pulumi:"routeVpcZoneIngress"` + Routes []GetIsVpcDefaultRoutingTableRoute `pulumi:"routes"` + Subnets []GetIsVpcDefaultRoutingTableSubnet `pulumi:"subnets"` + Tags []string `pulumi:"tags"` + Vpc string `pulumi:"vpc"` +} + +func GetIsVpcDefaultRoutingTableOutput(ctx *pulumi.Context, args GetIsVpcDefaultRoutingTableOutputArgs, opts ...pulumi.InvokeOption) GetIsVpcDefaultRoutingTableResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpcDefaultRoutingTableResultOutput, error) { + args := v.(GetIsVpcDefaultRoutingTableArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcDefaultRoutingTable:getIsVpcDefaultRoutingTable", args, GetIsVpcDefaultRoutingTableResultOutput{}, options).(GetIsVpcDefaultRoutingTableResultOutput), nil + }).(GetIsVpcDefaultRoutingTableResultOutput) +} + +// A collection of arguments for invoking getIsVpcDefaultRoutingTable. +type GetIsVpcDefaultRoutingTableOutputArgs struct { + Vpc pulumi.StringInput `pulumi:"vpc"` +} + +func (GetIsVpcDefaultRoutingTableOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDefaultRoutingTableArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcDefaultRoutingTable. +type GetIsVpcDefaultRoutingTableResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDefaultRoutingTableResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDefaultRoutingTableResult)(nil)).Elem() +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) ToGetIsVpcDefaultRoutingTableResultOutput() GetIsVpcDefaultRoutingTableResultOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) ToGetIsVpcDefaultRoutingTableResultOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableResultOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) DefaultRoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.DefaultRoutingTable }).(pulumi.StringOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpcDefaultRoutingTableResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) IsDefault() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) bool { return v.IsDefault }).(pulumi.BoolOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) ResourceGroups() GetIsVpcDefaultRoutingTableResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) []GetIsVpcDefaultRoutingTableResourceGroup { + return v.ResourceGroups + }).(GetIsVpcDefaultRoutingTableResourceGroupArrayOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) RouteDirectLinkIngress() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) bool { return v.RouteDirectLinkIngress }).(pulumi.BoolOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) RouteInternetIngress() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) bool { return v.RouteInternetIngress }).(pulumi.BoolOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) RouteTransitGatewayIngress() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) bool { return v.RouteTransitGatewayIngress }).(pulumi.BoolOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) RouteVpcZoneIngress() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) bool { return v.RouteVpcZoneIngress }).(pulumi.BoolOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) Routes() GetIsVpcDefaultRoutingTableRouteArrayOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) []GetIsVpcDefaultRoutingTableRoute { return v.Routes }).(GetIsVpcDefaultRoutingTableRouteArrayOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) Subnets() GetIsVpcDefaultRoutingTableSubnetArrayOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) []GetIsVpcDefaultRoutingTableSubnet { return v.Subnets }).(GetIsVpcDefaultRoutingTableSubnetArrayOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o GetIsVpcDefaultRoutingTableResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpcDefaultRoutingTableResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDnsResolutionBinding.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDnsResolutionBinding.go new file mode 100644 index 000000000..613624737 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDnsResolutionBinding.go @@ -0,0 +1,136 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpcDnsResolutionBinding(ctx *pulumi.Context, args *LookupIsVpcDnsResolutionBindingArgs, opts ...pulumi.InvokeOption) (*LookupIsVpcDnsResolutionBindingResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpcDnsResolutionBindingResult + err := ctx.Invoke("ibmcloud:index/getIsVpcDnsResolutionBinding:getIsVpcDnsResolutionBinding", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcDnsResolutionBinding. +type LookupIsVpcDnsResolutionBindingArgs struct { + Identifier string `pulumi:"identifier"` + VpcId string `pulumi:"vpcId"` +} + +// A collection of values returned by getIsVpcDnsResolutionBinding. +type LookupIsVpcDnsResolutionBindingResult struct { + CreatedAt string `pulumi:"createdAt"` + EndpointGateways []GetIsVpcDnsResolutionBindingEndpointGateway `pulumi:"endpointGateways"` + HealthReasons []GetIsVpcDnsResolutionBindingHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + VpcId string `pulumi:"vpcId"` + Vpcs []GetIsVpcDnsResolutionBindingVpc `pulumi:"vpcs"` +} + +func LookupIsVpcDnsResolutionBindingOutput(ctx *pulumi.Context, args LookupIsVpcDnsResolutionBindingOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpcDnsResolutionBindingResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpcDnsResolutionBindingResultOutput, error) { + args := v.(LookupIsVpcDnsResolutionBindingArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcDnsResolutionBinding:getIsVpcDnsResolutionBinding", args, LookupIsVpcDnsResolutionBindingResultOutput{}, options).(LookupIsVpcDnsResolutionBindingResultOutput), nil + }).(LookupIsVpcDnsResolutionBindingResultOutput) +} + +// A collection of arguments for invoking getIsVpcDnsResolutionBinding. +type LookupIsVpcDnsResolutionBindingOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (LookupIsVpcDnsResolutionBindingOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcDnsResolutionBindingArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcDnsResolutionBinding. +type LookupIsVpcDnsResolutionBindingResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpcDnsResolutionBindingResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcDnsResolutionBindingResult)(nil)).Elem() +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) ToLookupIsVpcDnsResolutionBindingResultOutput() LookupIsVpcDnsResolutionBindingResultOutput { + return o +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) ToLookupIsVpcDnsResolutionBindingResultOutputWithContext(ctx context.Context) LookupIsVpcDnsResolutionBindingResultOutput { + return o +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) EndpointGateways() GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) []GetIsVpcDnsResolutionBindingEndpointGateway { + return v.EndpointGateways + }).(GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) HealthReasons() GetIsVpcDnsResolutionBindingHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) []GetIsVpcDnsResolutionBindingHealthReason { + return v.HealthReasons + }).(GetIsVpcDnsResolutionBindingHealthReasonArrayOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpcDnsResolutionBindingResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) string { return v.VpcId }).(pulumi.StringOutput) +} + +func (o LookupIsVpcDnsResolutionBindingResultOutput) Vpcs() GetIsVpcDnsResolutionBindingVpcArrayOutput { + return o.ApplyT(func(v LookupIsVpcDnsResolutionBindingResult) []GetIsVpcDnsResolutionBindingVpc { return v.Vpcs }).(GetIsVpcDnsResolutionBindingVpcArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpcDnsResolutionBindingResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDnsResolutionBindings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDnsResolutionBindings.go new file mode 100644 index 000000000..404faf386 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcDnsResolutionBindings.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpcDnsResolutionBindings(ctx *pulumi.Context, args *GetIsVpcDnsResolutionBindingsArgs, opts ...pulumi.InvokeOption) (*GetIsVpcDnsResolutionBindingsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpcDnsResolutionBindingsResult + err := ctx.Invoke("ibmcloud:index/getIsVpcDnsResolutionBindings:getIsVpcDnsResolutionBindings", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcDnsResolutionBindings. +type GetIsVpcDnsResolutionBindingsArgs struct { + VpcId string `pulumi:"vpcId"` +} + +// A collection of values returned by getIsVpcDnsResolutionBindings. +type GetIsVpcDnsResolutionBindingsResult struct { + DnsResolutionBindings []GetIsVpcDnsResolutionBindingsDnsResolutionBinding `pulumi:"dnsResolutionBindings"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + VpcId string `pulumi:"vpcId"` +} + +func GetIsVpcDnsResolutionBindingsOutput(ctx *pulumi.Context, args GetIsVpcDnsResolutionBindingsOutputArgs, opts ...pulumi.InvokeOption) GetIsVpcDnsResolutionBindingsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpcDnsResolutionBindingsResultOutput, error) { + args := v.(GetIsVpcDnsResolutionBindingsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcDnsResolutionBindings:getIsVpcDnsResolutionBindings", args, GetIsVpcDnsResolutionBindingsResultOutput{}, options).(GetIsVpcDnsResolutionBindingsResultOutput), nil + }).(GetIsVpcDnsResolutionBindingsResultOutput) +} + +// A collection of arguments for invoking getIsVpcDnsResolutionBindings. +type GetIsVpcDnsResolutionBindingsOutputArgs struct { + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (GetIsVpcDnsResolutionBindingsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcDnsResolutionBindings. +type GetIsVpcDnsResolutionBindingsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsResult)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsResultOutput) ToGetIsVpcDnsResolutionBindingsResultOutput() GetIsVpcDnsResolutionBindingsResultOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsResultOutput) ToGetIsVpcDnsResolutionBindingsResultOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsResultOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsResultOutput) DnsResolutionBindings() GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsResult) []GetIsVpcDnsResolutionBindingsDnsResolutionBinding { + return v.DnsResolutionBindings + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpcDnsResolutionBindingsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpcDnsResolutionBindingsResultOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsResult) string { return v.VpcId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTable.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTable.go new file mode 100644 index 000000000..050250050 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTable.go @@ -0,0 +1,181 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpcRoutingTable(ctx *pulumi.Context, args *LookupIsVpcRoutingTableArgs, opts ...pulumi.InvokeOption) (*LookupIsVpcRoutingTableResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpcRoutingTableResult + err := ctx.Invoke("ibmcloud:index/getIsVpcRoutingTable:getIsVpcRoutingTable", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcRoutingTable. +type LookupIsVpcRoutingTableArgs struct { + Name *string `pulumi:"name"` + RoutingTable *string `pulumi:"routingTable"` + Vpc string `pulumi:"vpc"` +} + +// A collection of values returned by getIsVpcRoutingTable. +type LookupIsVpcRoutingTableResult struct { + AcceptRoutesFroms []GetIsVpcRoutingTableAcceptRoutesFrom `pulumi:"acceptRoutesFroms"` + AccessTags []string `pulumi:"accessTags"` + AdvertiseRoutesTos []string `pulumi:"advertiseRoutesTos"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IsDefault bool `pulumi:"isDefault"` + LifecycleState string `pulumi:"lifecycleState"` + Name *string `pulumi:"name"` + ResourceGroups []GetIsVpcRoutingTableResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + RouteDirectLinkIngress bool `pulumi:"routeDirectLinkIngress"` + RouteInternetIngress bool `pulumi:"routeInternetIngress"` + RouteTransitGatewayIngress bool `pulumi:"routeTransitGatewayIngress"` + RouteVpcZoneIngress bool `pulumi:"routeVpcZoneIngress"` + Routes []GetIsVpcRoutingTableRouteType `pulumi:"routes"` + RoutingTable *string `pulumi:"routingTable"` + Subnets []GetIsVpcRoutingTableSubnet `pulumi:"subnets"` + Tags []string `pulumi:"tags"` + Vpc string `pulumi:"vpc"` +} + +func LookupIsVpcRoutingTableOutput(ctx *pulumi.Context, args LookupIsVpcRoutingTableOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpcRoutingTableResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpcRoutingTableResultOutput, error) { + args := v.(LookupIsVpcRoutingTableArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcRoutingTable:getIsVpcRoutingTable", args, LookupIsVpcRoutingTableResultOutput{}, options).(LookupIsVpcRoutingTableResultOutput), nil + }).(LookupIsVpcRoutingTableResultOutput) +} + +// A collection of arguments for invoking getIsVpcRoutingTable. +type LookupIsVpcRoutingTableOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + RoutingTable pulumi.StringPtrInput `pulumi:"routingTable"` + Vpc pulumi.StringInput `pulumi:"vpc"` +} + +func (LookupIsVpcRoutingTableOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcRoutingTableArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcRoutingTable. +type LookupIsVpcRoutingTableResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpcRoutingTableResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcRoutingTableResult)(nil)).Elem() +} + +func (o LookupIsVpcRoutingTableResultOutput) ToLookupIsVpcRoutingTableResultOutput() LookupIsVpcRoutingTableResultOutput { + return o +} + +func (o LookupIsVpcRoutingTableResultOutput) ToLookupIsVpcRoutingTableResultOutputWithContext(ctx context.Context) LookupIsVpcRoutingTableResultOutput { + return o +} + +func (o LookupIsVpcRoutingTableResultOutput) AcceptRoutesFroms() GetIsVpcRoutingTableAcceptRoutesFromArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) []GetIsVpcRoutingTableAcceptRoutesFrom { + return v.AcceptRoutesFroms + }).(GetIsVpcRoutingTableAcceptRoutesFromArrayOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) AdvertiseRoutesTos() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) []string { return v.AdvertiseRoutesTos }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpcRoutingTableResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) IsDefault() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) bool { return v.IsDefault }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) ResourceGroups() GetIsVpcRoutingTableResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) []GetIsVpcRoutingTableResourceGroup { return v.ResourceGroups }).(GetIsVpcRoutingTableResourceGroupArrayOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) RouteDirectLinkIngress() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) bool { return v.RouteDirectLinkIngress }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) RouteInternetIngress() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) bool { return v.RouteInternetIngress }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) RouteTransitGatewayIngress() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) bool { return v.RouteTransitGatewayIngress }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) RouteVpcZoneIngress() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) bool { return v.RouteVpcZoneIngress }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) Routes() GetIsVpcRoutingTableRouteTypeArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) []GetIsVpcRoutingTableRouteType { return v.Routes }).(GetIsVpcRoutingTableRouteTypeArrayOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) RoutingTable() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) *string { return v.RoutingTable }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) Subnets() GetIsVpcRoutingTableSubnetArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) []GetIsVpcRoutingTableSubnet { return v.Subnets }).(GetIsVpcRoutingTableSubnetArrayOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVpcRoutingTableResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpcRoutingTableResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTableRoute.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTableRoute.go new file mode 100644 index 000000000..93b5aacdb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTableRoute.go @@ -0,0 +1,156 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpcRoutingTableRoute(ctx *pulumi.Context, args *LookupIsVpcRoutingTableRouteArgs, opts ...pulumi.InvokeOption) (*LookupIsVpcRoutingTableRouteResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpcRoutingTableRouteResult + err := ctx.Invoke("ibmcloud:index/getIsVpcRoutingTableRoute:getIsVpcRoutingTableRoute", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcRoutingTableRoute. +type LookupIsVpcRoutingTableRouteArgs struct { + Name *string `pulumi:"name"` + RouteId *string `pulumi:"routeId"` + RoutingTable string `pulumi:"routingTable"` + Vpc string `pulumi:"vpc"` +} + +// A collection of values returned by getIsVpcRoutingTableRoute. +type LookupIsVpcRoutingTableRouteResult struct { + Action string `pulumi:"action"` + Advertise bool `pulumi:"advertise"` + CreatedAt string `pulumi:"createdAt"` + Creators []GetIsVpcRoutingTableRouteCreator `pulumi:"creators"` + Destination string `pulumi:"destination"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleState string `pulumi:"lifecycleState"` + Name *string `pulumi:"name"` + NextHops []GetIsVpcRoutingTableRouteNextHop `pulumi:"nextHops"` + Origin string `pulumi:"origin"` + Priority int `pulumi:"priority"` + RouteId *string `pulumi:"routeId"` + RoutingTable string `pulumi:"routingTable"` + Vpc string `pulumi:"vpc"` + Zones []GetIsVpcRoutingTableRouteZone `pulumi:"zones"` +} + +func LookupIsVpcRoutingTableRouteOutput(ctx *pulumi.Context, args LookupIsVpcRoutingTableRouteOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpcRoutingTableRouteResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpcRoutingTableRouteResultOutput, error) { + args := v.(LookupIsVpcRoutingTableRouteArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcRoutingTableRoute:getIsVpcRoutingTableRoute", args, LookupIsVpcRoutingTableRouteResultOutput{}, options).(LookupIsVpcRoutingTableRouteResultOutput), nil + }).(LookupIsVpcRoutingTableRouteResultOutput) +} + +// A collection of arguments for invoking getIsVpcRoutingTableRoute. +type LookupIsVpcRoutingTableRouteOutputArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + RouteId pulumi.StringPtrInput `pulumi:"routeId"` + RoutingTable pulumi.StringInput `pulumi:"routingTable"` + Vpc pulumi.StringInput `pulumi:"vpc"` +} + +func (LookupIsVpcRoutingTableRouteOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcRoutingTableRouteArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcRoutingTableRoute. +type LookupIsVpcRoutingTableRouteResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpcRoutingTableRouteResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpcRoutingTableRouteResult)(nil)).Elem() +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) ToLookupIsVpcRoutingTableRouteResultOutput() LookupIsVpcRoutingTableRouteResultOutput { + return o +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) ToLookupIsVpcRoutingTableRouteResultOutputWithContext(ctx context.Context) LookupIsVpcRoutingTableRouteResultOutput { + return o +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.Action }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Advertise() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) bool { return v.Advertise }).(pulumi.BoolOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Creators() GetIsVpcRoutingTableRouteCreatorArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) []GetIsVpcRoutingTableRouteCreator { return v.Creators }).(GetIsVpcRoutingTableRouteCreatorArrayOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.Destination }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpcRoutingTableRouteResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) NextHops() GetIsVpcRoutingTableRouteNextHopArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) []GetIsVpcRoutingTableRouteNextHop { return v.NextHops }).(GetIsVpcRoutingTableRouteNextHopArrayOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Origin() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.Origin }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) int { return v.Priority }).(pulumi.IntOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) RouteId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) *string { return v.RouteId }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) RoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.RoutingTable }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o LookupIsVpcRoutingTableRouteResultOutput) Zones() GetIsVpcRoutingTableRouteZoneArrayOutput { + return o.ApplyT(func(v LookupIsVpcRoutingTableRouteResult) []GetIsVpcRoutingTableRouteZone { return v.Zones }).(GetIsVpcRoutingTableRouteZoneArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpcRoutingTableRouteResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTableRoutes.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTableRoutes.go new file mode 100644 index 000000000..24843c2d7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTableRoutes.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpcRoutingTableRoutes(ctx *pulumi.Context, args *GetIsVpcRoutingTableRoutesArgs, opts ...pulumi.InvokeOption) (*GetIsVpcRoutingTableRoutesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpcRoutingTableRoutesResult + err := ctx.Invoke("ibmcloud:index/getIsVpcRoutingTableRoutes:getIsVpcRoutingTableRoutes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcRoutingTableRoutes. +type GetIsVpcRoutingTableRoutesArgs struct { + RoutingTable string `pulumi:"routingTable"` + Vpc string `pulumi:"vpc"` +} + +// A collection of values returned by getIsVpcRoutingTableRoutes. +type GetIsVpcRoutingTableRoutesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Routes []GetIsVpcRoutingTableRoutesRoute `pulumi:"routes"` + RoutingTable string `pulumi:"routingTable"` + Vpc string `pulumi:"vpc"` +} + +func GetIsVpcRoutingTableRoutesOutput(ctx *pulumi.Context, args GetIsVpcRoutingTableRoutesOutputArgs, opts ...pulumi.InvokeOption) GetIsVpcRoutingTableRoutesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpcRoutingTableRoutesResultOutput, error) { + args := v.(GetIsVpcRoutingTableRoutesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcRoutingTableRoutes:getIsVpcRoutingTableRoutes", args, GetIsVpcRoutingTableRoutesResultOutput{}, options).(GetIsVpcRoutingTableRoutesResultOutput), nil + }).(GetIsVpcRoutingTableRoutesResultOutput) +} + +// A collection of arguments for invoking getIsVpcRoutingTableRoutes. +type GetIsVpcRoutingTableRoutesOutputArgs struct { + RoutingTable pulumi.StringInput `pulumi:"routingTable"` + Vpc pulumi.StringInput `pulumi:"vpc"` +} + +func (GetIsVpcRoutingTableRoutesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRoutesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcRoutingTableRoutes. +type GetIsVpcRoutingTableRoutesResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRoutesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRoutesResult)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRoutesResultOutput) ToGetIsVpcRoutingTableRoutesResultOutput() GetIsVpcRoutingTableRoutesResultOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesResultOutput) ToGetIsVpcRoutingTableRoutesResultOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpcRoutingTableRoutesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpcRoutingTableRoutesResultOutput) Routes() GetIsVpcRoutingTableRoutesRouteArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesResult) []GetIsVpcRoutingTableRoutesRoute { return v.Routes }).(GetIsVpcRoutingTableRoutesRouteArrayOutput) +} + +func (o GetIsVpcRoutingTableRoutesResultOutput) RoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesResult) string { return v.RoutingTable }).(pulumi.StringOutput) +} + +func (o GetIsVpcRoutingTableRoutesResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpcRoutingTableRoutesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTables.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTables.go new file mode 100644 index 000000000..978107614 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcRoutingTables.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpcRoutingTables(ctx *pulumi.Context, args *GetIsVpcRoutingTablesArgs, opts ...pulumi.InvokeOption) (*GetIsVpcRoutingTablesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpcRoutingTablesResult + err := ctx.Invoke("ibmcloud:index/getIsVpcRoutingTables:getIsVpcRoutingTables", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcRoutingTables. +type GetIsVpcRoutingTablesArgs struct { + IsDefault *bool `pulumi:"isDefault"` + Vpc string `pulumi:"vpc"` +} + +// A collection of values returned by getIsVpcRoutingTables. +type GetIsVpcRoutingTablesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IsDefault *bool `pulumi:"isDefault"` + RoutingTables []GetIsVpcRoutingTablesRoutingTable `pulumi:"routingTables"` + Vpc string `pulumi:"vpc"` +} + +func GetIsVpcRoutingTablesOutput(ctx *pulumi.Context, args GetIsVpcRoutingTablesOutputArgs, opts ...pulumi.InvokeOption) GetIsVpcRoutingTablesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpcRoutingTablesResultOutput, error) { + args := v.(GetIsVpcRoutingTablesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcRoutingTables:getIsVpcRoutingTables", args, GetIsVpcRoutingTablesResultOutput{}, options).(GetIsVpcRoutingTablesResultOutput), nil + }).(GetIsVpcRoutingTablesResultOutput) +} + +// A collection of arguments for invoking getIsVpcRoutingTables. +type GetIsVpcRoutingTablesOutputArgs struct { + IsDefault pulumi.BoolPtrInput `pulumi:"isDefault"` + Vpc pulumi.StringInput `pulumi:"vpc"` +} + +func (GetIsVpcRoutingTablesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcRoutingTables. +type GetIsVpcRoutingTablesResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesResult)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesResultOutput) ToGetIsVpcRoutingTablesResultOutput() GetIsVpcRoutingTablesResultOutput { + return o +} + +func (o GetIsVpcRoutingTablesResultOutput) ToGetIsVpcRoutingTablesResultOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpcRoutingTablesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpcRoutingTablesResultOutput) IsDefault() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesResult) *bool { return v.IsDefault }).(pulumi.BoolPtrOutput) +} + +func (o GetIsVpcRoutingTablesResultOutput) RoutingTables() GetIsVpcRoutingTablesRoutingTableArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesResult) []GetIsVpcRoutingTablesRoutingTable { return v.RoutingTables }).(GetIsVpcRoutingTablesRoutingTableArrayOutput) +} + +func (o GetIsVpcRoutingTablesResultOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesResult) string { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpcRoutingTablesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcs.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcs.go new file mode 100644 index 000000000..f65f0b671 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpcs.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpcs(ctx *pulumi.Context, args *GetIsVpcsArgs, opts ...pulumi.InvokeOption) (*GetIsVpcsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpcsResult + err := ctx.Invoke("ibmcloud:index/getIsVpcs:getIsVpcs", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpcs. +type GetIsVpcsArgs struct { + ClassicAccess *bool `pulumi:"classicAccess"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsVpcs. +type GetIsVpcsResult struct { + ClassicAccess *bool `pulumi:"classicAccess"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResourceGroup *string `pulumi:"resourceGroup"` + Vpcs []GetIsVpcsVpc `pulumi:"vpcs"` +} + +func GetIsVpcsOutput(ctx *pulumi.Context, args GetIsVpcsOutputArgs, opts ...pulumi.InvokeOption) GetIsVpcsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpcsResultOutput, error) { + args := v.(GetIsVpcsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpcs:getIsVpcs", args, GetIsVpcsResultOutput{}, options).(GetIsVpcsResultOutput), nil + }).(GetIsVpcsResultOutput) +} + +// A collection of arguments for invoking getIsVpcs. +type GetIsVpcsOutputArgs struct { + ClassicAccess pulumi.BoolPtrInput `pulumi:"classicAccess"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsVpcsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpcs. +type GetIsVpcsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsResult)(nil)).Elem() +} + +func (o GetIsVpcsResultOutput) ToGetIsVpcsResultOutput() GetIsVpcsResultOutput { + return o +} + +func (o GetIsVpcsResultOutput) ToGetIsVpcsResultOutputWithContext(ctx context.Context) GetIsVpcsResultOutput { + return o +} + +func (o GetIsVpcsResultOutput) ClassicAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetIsVpcsResult) *bool { return v.ClassicAccess }).(pulumi.BoolPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpcsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpcsResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVpcsResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsVpcsResultOutput) Vpcs() GetIsVpcsVpcArrayOutput { + return o.ApplyT(func(v GetIsVpcsResult) []GetIsVpcsVpc { return v.Vpcs }).(GetIsVpcsVpcArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpcsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGateway.go new file mode 100644 index 000000000..b894f5e3f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGateway.go @@ -0,0 +1,177 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpnGateway(ctx *pulumi.Context, args *LookupIsVpnGatewayArgs, opts ...pulumi.InvokeOption) (*LookupIsVpnGatewayResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpnGatewayResult + err := ctx.Invoke("ibmcloud:index/getIsVpnGateway:getIsVpnGateway", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnGateway. +type LookupIsVpnGatewayArgs struct { + VpnGateway *string `pulumi:"vpnGateway"` + VpnGatewayName *string `pulumi:"vpnGatewayName"` +} + +// A collection of values returned by getIsVpnGateway. +type LookupIsVpnGatewayResult struct { + AccessTags []string `pulumi:"accessTags"` + Connections []GetIsVpnGatewayConnectionType `pulumi:"connections"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + HealthReasons []GetIsVpnGatewayHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LifecycleReasons []GetIsVpnGatewayLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Members []GetIsVpnGatewayMember `pulumi:"members"` + Mode string `pulumi:"mode"` + Name string `pulumi:"name"` + ResourceGroups []GetIsVpnGatewayResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + Status string `pulumi:"status"` + Subnets []GetIsVpnGatewaySubnet `pulumi:"subnets"` + Tags []string `pulumi:"tags"` + Vpcs []GetIsVpnGatewayVpc `pulumi:"vpcs"` + VpnGateway *string `pulumi:"vpnGateway"` + VpnGatewayName *string `pulumi:"vpnGatewayName"` +} + +func LookupIsVpnGatewayOutput(ctx *pulumi.Context, args LookupIsVpnGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpnGatewayResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpnGatewayResultOutput, error) { + args := v.(LookupIsVpnGatewayArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnGateway:getIsVpnGateway", args, LookupIsVpnGatewayResultOutput{}, options).(LookupIsVpnGatewayResultOutput), nil + }).(LookupIsVpnGatewayResultOutput) +} + +// A collection of arguments for invoking getIsVpnGateway. +type LookupIsVpnGatewayOutputArgs struct { + VpnGateway pulumi.StringPtrInput `pulumi:"vpnGateway"` + VpnGatewayName pulumi.StringPtrInput `pulumi:"vpnGatewayName"` +} + +func (LookupIsVpnGatewayOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnGatewayArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnGateway. +type LookupIsVpnGatewayResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpnGatewayResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnGatewayResult)(nil)).Elem() +} + +func (o LookupIsVpnGatewayResultOutput) ToLookupIsVpnGatewayResultOutput() LookupIsVpnGatewayResultOutput { + return o +} + +func (o LookupIsVpnGatewayResultOutput) ToLookupIsVpnGatewayResultOutputWithContext(ctx context.Context) LookupIsVpnGatewayResultOutput { + return o +} + +func (o LookupIsVpnGatewayResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Connections() GetIsVpnGatewayConnectionTypeArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []GetIsVpnGatewayConnectionType { return v.Connections }).(GetIsVpnGatewayConnectionTypeArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) HealthReasons() GetIsVpnGatewayHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []GetIsVpnGatewayHealthReason { return v.HealthReasons }).(GetIsVpnGatewayHealthReasonArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpnGatewayResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) LifecycleReasons() GetIsVpnGatewayLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []GetIsVpnGatewayLifecycleReason { return v.LifecycleReasons }).(GetIsVpnGatewayLifecycleReasonArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Members() GetIsVpnGatewayMemberArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []GetIsVpnGatewayMember { return v.Members }).(GetIsVpnGatewayMemberArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.Mode }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) ResourceGroups() GetIsVpnGatewayResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []GetIsVpnGatewayResourceGroup { return v.ResourceGroups }).(GetIsVpnGatewayResourceGroupArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Subnets() GetIsVpnGatewaySubnetArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []GetIsVpnGatewaySubnet { return v.Subnets }).(GetIsVpnGatewaySubnetArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) Vpcs() GetIsVpnGatewayVpcArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) []GetIsVpnGatewayVpc { return v.Vpcs }).(GetIsVpnGatewayVpcArrayOutput) +} + +func (o LookupIsVpnGatewayResultOutput) VpnGateway() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) *string { return v.VpnGateway }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpnGatewayResultOutput) VpnGatewayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpnGatewayResult) *string { return v.VpnGatewayName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpnGatewayResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnection.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnection.go new file mode 100644 index 000000000..374fb7eee --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnection.go @@ -0,0 +1,223 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpnGatewayConnection(ctx *pulumi.Context, args *LookupIsVpnGatewayConnectionArgs, opts ...pulumi.InvokeOption) (*LookupIsVpnGatewayConnectionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpnGatewayConnectionResult + err := ctx.Invoke("ibmcloud:index/getIsVpnGatewayConnection:getIsVpnGatewayConnection", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnGatewayConnection. +type LookupIsVpnGatewayConnectionArgs struct { + VpnGateway *string `pulumi:"vpnGateway"` + VpnGatewayConnection *string `pulumi:"vpnGatewayConnection"` + VpnGatewayConnectionName *string `pulumi:"vpnGatewayConnectionName"` + VpnGatewayName *string `pulumi:"vpnGatewayName"` +} + +// A collection of values returned by getIsVpnGatewayConnection. +type LookupIsVpnGatewayConnectionResult struct { + AdminStateUp bool `pulumi:"adminStateUp"` + AuthenticationMode string `pulumi:"authenticationMode"` + CreatedAt string `pulumi:"createdAt"` + DeadPeerDetections []GetIsVpnGatewayConnectionDeadPeerDetection `pulumi:"deadPeerDetections"` + DistributeTraffic bool `pulumi:"distributeTraffic"` + EstablishMode string `pulumi:"establishMode"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IkePolicies []GetIsVpnGatewayConnectionIkePolicy `pulumi:"ikePolicies"` + IpsecPolicies []GetIsVpnGatewayConnectionIpsecPolicy `pulumi:"ipsecPolicies"` + // Deprecated: local_cidrs is deprecated, use local instead + LocalCidrs []string `pulumi:"localCidrs"` + Locals []GetIsVpnGatewayConnectionLocal `pulumi:"locals"` + Mode string `pulumi:"mode"` + Name string `pulumi:"name"` + // Deprecated: peer_address is deprecated, use peer instead + PeerAddress string `pulumi:"peerAddress"` + // Deprecated: peer_cidrs is deprecated, use peer instead + PeerCidrs []string `pulumi:"peerCidrs"` + Peers []GetIsVpnGatewayConnectionPeer `pulumi:"peers"` + Psk string `pulumi:"psk"` + ResourceType string `pulumi:"resourceType"` + RoutingProtocol string `pulumi:"routingProtocol"` + Status string `pulumi:"status"` + StatusReasons []GetIsVpnGatewayConnectionStatusReason `pulumi:"statusReasons"` + Tunnels []GetIsVpnGatewayConnectionTunnel `pulumi:"tunnels"` + VpnGateway *string `pulumi:"vpnGateway"` + VpnGatewayConnection *string `pulumi:"vpnGatewayConnection"` + VpnGatewayConnectionName *string `pulumi:"vpnGatewayConnectionName"` + VpnGatewayName *string `pulumi:"vpnGatewayName"` +} + +func LookupIsVpnGatewayConnectionOutput(ctx *pulumi.Context, args LookupIsVpnGatewayConnectionOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpnGatewayConnectionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpnGatewayConnectionResultOutput, error) { + args := v.(LookupIsVpnGatewayConnectionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnGatewayConnection:getIsVpnGatewayConnection", args, LookupIsVpnGatewayConnectionResultOutput{}, options).(LookupIsVpnGatewayConnectionResultOutput), nil + }).(LookupIsVpnGatewayConnectionResultOutput) +} + +// A collection of arguments for invoking getIsVpnGatewayConnection. +type LookupIsVpnGatewayConnectionOutputArgs struct { + VpnGateway pulumi.StringPtrInput `pulumi:"vpnGateway"` + VpnGatewayConnection pulumi.StringPtrInput `pulumi:"vpnGatewayConnection"` + VpnGatewayConnectionName pulumi.StringPtrInput `pulumi:"vpnGatewayConnectionName"` + VpnGatewayName pulumi.StringPtrInput `pulumi:"vpnGatewayName"` +} + +func (LookupIsVpnGatewayConnectionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnGatewayConnectionArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnGatewayConnection. +type LookupIsVpnGatewayConnectionResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpnGatewayConnectionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnGatewayConnectionResult)(nil)).Elem() +} + +func (o LookupIsVpnGatewayConnectionResultOutput) ToLookupIsVpnGatewayConnectionResultOutput() LookupIsVpnGatewayConnectionResultOutput { + return o +} + +func (o LookupIsVpnGatewayConnectionResultOutput) ToLookupIsVpnGatewayConnectionResultOutputWithContext(ctx context.Context) LookupIsVpnGatewayConnectionResultOutput { + return o +} + +func (o LookupIsVpnGatewayConnectionResultOutput) AdminStateUp() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) bool { return v.AdminStateUp }).(pulumi.BoolOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) AuthenticationMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.AuthenticationMode }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) DeadPeerDetections() GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []GetIsVpnGatewayConnectionDeadPeerDetection { + return v.DeadPeerDetections + }).(GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) DistributeTraffic() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) bool { return v.DistributeTraffic }).(pulumi.BoolOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) EstablishMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.EstablishMode }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpnGatewayConnectionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) IkePolicies() GetIsVpnGatewayConnectionIkePolicyArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []GetIsVpnGatewayConnectionIkePolicy { return v.IkePolicies }).(GetIsVpnGatewayConnectionIkePolicyArrayOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) IpsecPolicies() GetIsVpnGatewayConnectionIpsecPolicyArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []GetIsVpnGatewayConnectionIpsecPolicy { + return v.IpsecPolicies + }).(GetIsVpnGatewayConnectionIpsecPolicyArrayOutput) +} + +// Deprecated: local_cidrs is deprecated, use local instead +func (o LookupIsVpnGatewayConnectionResultOutput) LocalCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []string { return v.LocalCidrs }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) Locals() GetIsVpnGatewayConnectionLocalArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []GetIsVpnGatewayConnectionLocal { return v.Locals }).(GetIsVpnGatewayConnectionLocalArrayOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.Mode }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Deprecated: peer_address is deprecated, use peer instead +func (o LookupIsVpnGatewayConnectionResultOutput) PeerAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.PeerAddress }).(pulumi.StringOutput) +} + +// Deprecated: peer_cidrs is deprecated, use peer instead +func (o LookupIsVpnGatewayConnectionResultOutput) PeerCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []string { return v.PeerCidrs }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) Peers() GetIsVpnGatewayConnectionPeerArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []GetIsVpnGatewayConnectionPeer { return v.Peers }).(GetIsVpnGatewayConnectionPeerArrayOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) Psk() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.Psk }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) RoutingProtocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.RoutingProtocol }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) StatusReasons() GetIsVpnGatewayConnectionStatusReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []GetIsVpnGatewayConnectionStatusReason { + return v.StatusReasons + }).(GetIsVpnGatewayConnectionStatusReasonArrayOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) Tunnels() GetIsVpnGatewayConnectionTunnelArrayOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) []GetIsVpnGatewayConnectionTunnel { return v.Tunnels }).(GetIsVpnGatewayConnectionTunnelArrayOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) VpnGateway() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) *string { return v.VpnGateway }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) VpnGatewayConnection() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) *string { return v.VpnGatewayConnection }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) VpnGatewayConnectionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) *string { return v.VpnGatewayConnectionName }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpnGatewayConnectionResultOutput) VpnGatewayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpnGatewayConnectionResult) *string { return v.VpnGatewayName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpnGatewayConnectionResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnectionLocalCidrs.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnectionLocalCidrs.go new file mode 100644 index 000000000..670d25e51 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnectionLocalCidrs.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpnGatewayConnectionLocalCidrs(ctx *pulumi.Context, args *GetIsVpnGatewayConnectionLocalCidrsArgs, opts ...pulumi.InvokeOption) (*GetIsVpnGatewayConnectionLocalCidrsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpnGatewayConnectionLocalCidrsResult + err := ctx.Invoke("ibmcloud:index/getIsVpnGatewayConnectionLocalCidrs:getIsVpnGatewayConnectionLocalCidrs", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnGatewayConnectionLocalCidrs. +type GetIsVpnGatewayConnectionLocalCidrsArgs struct { + VpnGateway string `pulumi:"vpnGateway"` + VpnGatewayConnection string `pulumi:"vpnGatewayConnection"` +} + +// A collection of values returned by getIsVpnGatewayConnectionLocalCidrs. +type GetIsVpnGatewayConnectionLocalCidrsResult struct { + Cidrs []string `pulumi:"cidrs"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + VpnGateway string `pulumi:"vpnGateway"` + VpnGatewayConnection string `pulumi:"vpnGatewayConnection"` +} + +func GetIsVpnGatewayConnectionLocalCidrsOutput(ctx *pulumi.Context, args GetIsVpnGatewayConnectionLocalCidrsOutputArgs, opts ...pulumi.InvokeOption) GetIsVpnGatewayConnectionLocalCidrsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpnGatewayConnectionLocalCidrsResultOutput, error) { + args := v.(GetIsVpnGatewayConnectionLocalCidrsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnGatewayConnectionLocalCidrs:getIsVpnGatewayConnectionLocalCidrs", args, GetIsVpnGatewayConnectionLocalCidrsResultOutput{}, options).(GetIsVpnGatewayConnectionLocalCidrsResultOutput), nil + }).(GetIsVpnGatewayConnectionLocalCidrsResultOutput) +} + +// A collection of arguments for invoking getIsVpnGatewayConnectionLocalCidrs. +type GetIsVpnGatewayConnectionLocalCidrsOutputArgs struct { + VpnGateway pulumi.StringInput `pulumi:"vpnGateway"` + VpnGatewayConnection pulumi.StringInput `pulumi:"vpnGatewayConnection"` +} + +func (GetIsVpnGatewayConnectionLocalCidrsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionLocalCidrsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnGatewayConnectionLocalCidrs. +type GetIsVpnGatewayConnectionLocalCidrsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionLocalCidrsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionLocalCidrsResult)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionLocalCidrsResultOutput) ToGetIsVpnGatewayConnectionLocalCidrsResultOutput() GetIsVpnGatewayConnectionLocalCidrsResultOutput { + return o +} + +func (o GetIsVpnGatewayConnectionLocalCidrsResultOutput) ToGetIsVpnGatewayConnectionLocalCidrsResultOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalCidrsResultOutput { + return o +} + +func (o GetIsVpnGatewayConnectionLocalCidrsResultOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionLocalCidrsResult) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpnGatewayConnectionLocalCidrsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionLocalCidrsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpnGatewayConnectionLocalCidrsResultOutput) VpnGateway() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionLocalCidrsResult) string { return v.VpnGateway }).(pulumi.StringOutput) +} + +func (o GetIsVpnGatewayConnectionLocalCidrsResultOutput) VpnGatewayConnection() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionLocalCidrsResult) string { return v.VpnGatewayConnection }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionLocalCidrsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnectionPeerCidrs.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnectionPeerCidrs.go new file mode 100644 index 000000000..b51903623 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnectionPeerCidrs.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpnGatewayConnectionPeerCidrs(ctx *pulumi.Context, args *GetIsVpnGatewayConnectionPeerCidrsArgs, opts ...pulumi.InvokeOption) (*GetIsVpnGatewayConnectionPeerCidrsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpnGatewayConnectionPeerCidrsResult + err := ctx.Invoke("ibmcloud:index/getIsVpnGatewayConnectionPeerCidrs:getIsVpnGatewayConnectionPeerCidrs", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnGatewayConnectionPeerCidrs. +type GetIsVpnGatewayConnectionPeerCidrsArgs struct { + VpnGateway string `pulumi:"vpnGateway"` + VpnGatewayConnection string `pulumi:"vpnGatewayConnection"` +} + +// A collection of values returned by getIsVpnGatewayConnectionPeerCidrs. +type GetIsVpnGatewayConnectionPeerCidrsResult struct { + Cidrs []string `pulumi:"cidrs"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + VpnGateway string `pulumi:"vpnGateway"` + VpnGatewayConnection string `pulumi:"vpnGatewayConnection"` +} + +func GetIsVpnGatewayConnectionPeerCidrsOutput(ctx *pulumi.Context, args GetIsVpnGatewayConnectionPeerCidrsOutputArgs, opts ...pulumi.InvokeOption) GetIsVpnGatewayConnectionPeerCidrsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpnGatewayConnectionPeerCidrsResultOutput, error) { + args := v.(GetIsVpnGatewayConnectionPeerCidrsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnGatewayConnectionPeerCidrs:getIsVpnGatewayConnectionPeerCidrs", args, GetIsVpnGatewayConnectionPeerCidrsResultOutput{}, options).(GetIsVpnGatewayConnectionPeerCidrsResultOutput), nil + }).(GetIsVpnGatewayConnectionPeerCidrsResultOutput) +} + +// A collection of arguments for invoking getIsVpnGatewayConnectionPeerCidrs. +type GetIsVpnGatewayConnectionPeerCidrsOutputArgs struct { + VpnGateway pulumi.StringInput `pulumi:"vpnGateway"` + VpnGatewayConnection pulumi.StringInput `pulumi:"vpnGatewayConnection"` +} + +func (GetIsVpnGatewayConnectionPeerCidrsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionPeerCidrsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnGatewayConnectionPeerCidrs. +type GetIsVpnGatewayConnectionPeerCidrsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionPeerCidrsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionPeerCidrsResult)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionPeerCidrsResultOutput) ToGetIsVpnGatewayConnectionPeerCidrsResultOutput() GetIsVpnGatewayConnectionPeerCidrsResultOutput { + return o +} + +func (o GetIsVpnGatewayConnectionPeerCidrsResultOutput) ToGetIsVpnGatewayConnectionPeerCidrsResultOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerCidrsResultOutput { + return o +} + +func (o GetIsVpnGatewayConnectionPeerCidrsResultOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeerCidrsResult) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpnGatewayConnectionPeerCidrsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeerCidrsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpnGatewayConnectionPeerCidrsResultOutput) VpnGateway() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeerCidrsResult) string { return v.VpnGateway }).(pulumi.StringOutput) +} + +func (o GetIsVpnGatewayConnectionPeerCidrsResultOutput) VpnGatewayConnection() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeerCidrsResult) string { return v.VpnGatewayConnection }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionPeerCidrsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnections.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnections.go new file mode 100644 index 000000000..541f99601 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGatewayConnections.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpnGatewayConnections(ctx *pulumi.Context, args *GetIsVpnGatewayConnectionsArgs, opts ...pulumi.InvokeOption) (*GetIsVpnGatewayConnectionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpnGatewayConnectionsResult + err := ctx.Invoke("ibmcloud:index/getIsVpnGatewayConnections:getIsVpnGatewayConnections", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnGatewayConnections. +type GetIsVpnGatewayConnectionsArgs struct { + Status *string `pulumi:"status"` + VpnGateway string `pulumi:"vpnGateway"` +} + +// A collection of values returned by getIsVpnGatewayConnections. +type GetIsVpnGatewayConnectionsResult struct { + Connections []GetIsVpnGatewayConnectionsConnection `pulumi:"connections"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Status *string `pulumi:"status"` + VpnGateway string `pulumi:"vpnGateway"` +} + +func GetIsVpnGatewayConnectionsOutput(ctx *pulumi.Context, args GetIsVpnGatewayConnectionsOutputArgs, opts ...pulumi.InvokeOption) GetIsVpnGatewayConnectionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpnGatewayConnectionsResultOutput, error) { + args := v.(GetIsVpnGatewayConnectionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnGatewayConnections:getIsVpnGatewayConnections", args, GetIsVpnGatewayConnectionsResultOutput{}, options).(GetIsVpnGatewayConnectionsResultOutput), nil + }).(GetIsVpnGatewayConnectionsResultOutput) +} + +// A collection of arguments for invoking getIsVpnGatewayConnections. +type GetIsVpnGatewayConnectionsOutputArgs struct { + Status pulumi.StringPtrInput `pulumi:"status"` + VpnGateway pulumi.StringInput `pulumi:"vpnGateway"` +} + +func (GetIsVpnGatewayConnectionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnGatewayConnections. +type GetIsVpnGatewayConnectionsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsResult)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsResultOutput) ToGetIsVpnGatewayConnectionsResultOutput() GetIsVpnGatewayConnectionsResultOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsResultOutput) ToGetIsVpnGatewayConnectionsResultOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsResultOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsResultOutput) Connections() GetIsVpnGatewayConnectionsConnectionArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsResult) []GetIsVpnGatewayConnectionsConnection { return v.Connections }).(GetIsVpnGatewayConnectionsConnectionArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpnGatewayConnectionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpnGatewayConnectionsResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func (o GetIsVpnGatewayConnectionsResultOutput) VpnGateway() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsResult) string { return v.VpnGateway }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGateways.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGateways.go new file mode 100644 index 000000000..4ea958694 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnGateways.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpnGateways(ctx *pulumi.Context, args *GetIsVpnGatewaysArgs, opts ...pulumi.InvokeOption) (*GetIsVpnGatewaysResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpnGatewaysResult + err := ctx.Invoke("ibmcloud:index/getIsVpnGateways:getIsVpnGateways", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnGateways. +type GetIsVpnGatewaysArgs struct { + Mode *string `pulumi:"mode"` + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// A collection of values returned by getIsVpnGateways. +type GetIsVpnGatewaysResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Mode *string `pulumi:"mode"` + ResourceGroup *string `pulumi:"resourceGroup"` + VpnGateways []GetIsVpnGatewaysVpnGateway `pulumi:"vpnGateways"` +} + +func GetIsVpnGatewaysOutput(ctx *pulumi.Context, args GetIsVpnGatewaysOutputArgs, opts ...pulumi.InvokeOption) GetIsVpnGatewaysResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpnGatewaysResultOutput, error) { + args := v.(GetIsVpnGatewaysArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnGateways:getIsVpnGateways", args, GetIsVpnGatewaysResultOutput{}, options).(GetIsVpnGatewaysResultOutput), nil + }).(GetIsVpnGatewaysResultOutput) +} + +// A collection of arguments for invoking getIsVpnGateways. +type GetIsVpnGatewaysOutputArgs struct { + Mode pulumi.StringPtrInput `pulumi:"mode"` + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` +} + +func (GetIsVpnGatewaysOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnGateways. +type GetIsVpnGatewaysResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysResult)(nil)).Elem() +} + +func (o GetIsVpnGatewaysResultOutput) ToGetIsVpnGatewaysResultOutput() GetIsVpnGatewaysResultOutput { + return o +} + +func (o GetIsVpnGatewaysResultOutput) ToGetIsVpnGatewaysResultOutputWithContext(ctx context.Context) GetIsVpnGatewaysResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpnGatewaysResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpnGatewaysResultOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVpnGatewaysResult) *string { return v.Mode }).(pulumi.StringPtrOutput) +} + +func (o GetIsVpnGatewaysResultOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVpnGatewaysResult) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +func (o GetIsVpnGatewaysResultOutput) VpnGateways() GetIsVpnGatewaysVpnGatewayArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaysResult) []GetIsVpnGatewaysVpnGateway { return v.VpnGateways }).(GetIsVpnGatewaysVpnGatewayArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpnGatewaysResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServer.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServer.go new file mode 100644 index 000000000..4b533cee4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServer.go @@ -0,0 +1,212 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpnServer(ctx *pulumi.Context, args *LookupIsVpnServerArgs, opts ...pulumi.InvokeOption) (*LookupIsVpnServerResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpnServerResult + err := ctx.Invoke("ibmcloud:index/getIsVpnServer:getIsVpnServer", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnServer. +type LookupIsVpnServerArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getIsVpnServer. +type LookupIsVpnServerResult struct { + AccessTags []string `pulumi:"accessTags"` + Certificates []GetIsVpnServerCertificate `pulumi:"certificates"` + ClientAuthentications []GetIsVpnServerClientAuthentication `pulumi:"clientAuthentications"` + ClientAutoDelete bool `pulumi:"clientAutoDelete"` + ClientAutoDeleteTimeout int `pulumi:"clientAutoDeleteTimeout"` + ClientDnsServerIps []GetIsVpnServerClientDnsServerIp `pulumi:"clientDnsServerIps"` + ClientIdleTimeout int `pulumi:"clientIdleTimeout"` + ClientIpPool string `pulumi:"clientIpPool"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + EnableSplitTunneling bool `pulumi:"enableSplitTunneling"` + HealthReasons []GetIsVpnServerHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + Hostname string `pulumi:"hostname"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + LifecycleReasons []GetIsVpnServerLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + Port int `pulumi:"port"` + PrivateIps []GetIsVpnServerPrivateIp `pulumi:"privateIps"` + Protocol string `pulumi:"protocol"` + ResourceGroups []GetIsVpnServerResourceGroup `pulumi:"resourceGroups"` + ResourceType string `pulumi:"resourceType"` + SecurityGroups []GetIsVpnServerSecurityGroup `pulumi:"securityGroups"` + Subnets []GetIsVpnServerSubnet `pulumi:"subnets"` + Vpcs []GetIsVpnServerVpc `pulumi:"vpcs"` +} + +func LookupIsVpnServerOutput(ctx *pulumi.Context, args LookupIsVpnServerOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpnServerResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpnServerResultOutput, error) { + args := v.(LookupIsVpnServerArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnServer:getIsVpnServer", args, LookupIsVpnServerResultOutput{}, options).(LookupIsVpnServerResultOutput), nil + }).(LookupIsVpnServerResultOutput) +} + +// A collection of arguments for invoking getIsVpnServer. +type LookupIsVpnServerOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupIsVpnServerOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnServerArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnServer. +type LookupIsVpnServerResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpnServerResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnServerResult)(nil)).Elem() +} + +func (o LookupIsVpnServerResultOutput) ToLookupIsVpnServerResultOutput() LookupIsVpnServerResultOutput { + return o +} + +func (o LookupIsVpnServerResultOutput) ToLookupIsVpnServerResultOutputWithContext(ctx context.Context) LookupIsVpnServerResultOutput { + return o +} + +func (o LookupIsVpnServerResultOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) Certificates() GetIsVpnServerCertificateArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerCertificate { return v.Certificates }).(GetIsVpnServerCertificateArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) ClientAuthentications() GetIsVpnServerClientAuthenticationArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerClientAuthentication { return v.ClientAuthentications }).(GetIsVpnServerClientAuthenticationArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) ClientAutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) bool { return v.ClientAutoDelete }).(pulumi.BoolOutput) +} + +func (o LookupIsVpnServerResultOutput) ClientAutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) int { return v.ClientAutoDeleteTimeout }).(pulumi.IntOutput) +} + +func (o LookupIsVpnServerResultOutput) ClientDnsServerIps() GetIsVpnServerClientDnsServerIpArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerClientDnsServerIp { return v.ClientDnsServerIps }).(GetIsVpnServerClientDnsServerIpArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) ClientIdleTimeout() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) int { return v.ClientIdleTimeout }).(pulumi.IntOutput) +} + +func (o LookupIsVpnServerResultOutput) ClientIpPool() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.ClientIpPool }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) EnableSplitTunneling() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) bool { return v.EnableSplitTunneling }).(pulumi.BoolOutput) +} + +func (o LookupIsVpnServerResultOutput) HealthReasons() GetIsVpnServerHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerHealthReason { return v.HealthReasons }).(GetIsVpnServerHealthReasonArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.Hostname }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpnServerResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpnServerResultOutput) LifecycleReasons() GetIsVpnServerLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerLifecycleReason { return v.LifecycleReasons }).(GetIsVpnServerLifecycleReasonArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) int { return v.Port }).(pulumi.IntOutput) +} + +func (o LookupIsVpnServerResultOutput) PrivateIps() GetIsVpnServerPrivateIpArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerPrivateIp { return v.PrivateIps }).(GetIsVpnServerPrivateIpArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.Protocol }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) ResourceGroups() GetIsVpnServerResourceGroupArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerResourceGroup { return v.ResourceGroups }).(GetIsVpnServerResourceGroupArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerResultOutput) SecurityGroups() GetIsVpnServerSecurityGroupArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerSecurityGroup { return v.SecurityGroups }).(GetIsVpnServerSecurityGroupArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) Subnets() GetIsVpnServerSubnetArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerSubnet { return v.Subnets }).(GetIsVpnServerSubnetArrayOutput) +} + +func (o LookupIsVpnServerResultOutput) Vpcs() GetIsVpnServerVpcArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerResult) []GetIsVpnServerVpc { return v.Vpcs }).(GetIsVpnServerVpcArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpnServerResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClient.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClient.go new file mode 100644 index 000000000..dfd8ae714 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClient.go @@ -0,0 +1,137 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpnServerClient(ctx *pulumi.Context, args *LookupIsVpnServerClientArgs, opts ...pulumi.InvokeOption) (*LookupIsVpnServerClientResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpnServerClientResult + err := ctx.Invoke("ibmcloud:index/getIsVpnServerClient:getIsVpnServerClient", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnServerClient. +type LookupIsVpnServerClientArgs struct { + Identifier string `pulumi:"identifier"` + VpnServer string `pulumi:"vpnServer"` +} + +// A collection of values returned by getIsVpnServerClient. +type LookupIsVpnServerClientResult struct { + ClientIps []GetIsVpnServerClientClientIp `pulumi:"clientIps"` + CommonName string `pulumi:"commonName"` + CreatedAt string `pulumi:"createdAt"` + DisconnectedAt string `pulumi:"disconnectedAt"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier string `pulumi:"identifier"` + RemoteIps []GetIsVpnServerClientRemoteIp `pulumi:"remoteIps"` + RemotePort int `pulumi:"remotePort"` + ResourceType string `pulumi:"resourceType"` + Status string `pulumi:"status"` + Username string `pulumi:"username"` + VpnServer string `pulumi:"vpnServer"` +} + +func LookupIsVpnServerClientOutput(ctx *pulumi.Context, args LookupIsVpnServerClientOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpnServerClientResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpnServerClientResultOutput, error) { + args := v.(LookupIsVpnServerClientArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnServerClient:getIsVpnServerClient", args, LookupIsVpnServerClientResultOutput{}, options).(LookupIsVpnServerClientResultOutput), nil + }).(LookupIsVpnServerClientResultOutput) +} + +// A collection of arguments for invoking getIsVpnServerClient. +type LookupIsVpnServerClientOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` + VpnServer pulumi.StringInput `pulumi:"vpnServer"` +} + +func (LookupIsVpnServerClientOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnServerClientArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnServerClient. +type LookupIsVpnServerClientResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpnServerClientResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnServerClientResult)(nil)).Elem() +} + +func (o LookupIsVpnServerClientResultOutput) ToLookupIsVpnServerClientResultOutput() LookupIsVpnServerClientResultOutput { + return o +} + +func (o LookupIsVpnServerClientResultOutput) ToLookupIsVpnServerClientResultOutputWithContext(ctx context.Context) LookupIsVpnServerClientResultOutput { + return o +} + +func (o LookupIsVpnServerClientResultOutput) ClientIps() GetIsVpnServerClientClientIpArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) []GetIsVpnServerClientClientIp { return v.ClientIps }).(GetIsVpnServerClientClientIpArrayOutput) +} + +func (o LookupIsVpnServerClientResultOutput) CommonName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.CommonName }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerClientResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerClientResultOutput) DisconnectedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.DisconnectedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerClientResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpnServerClientResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerClientResultOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.Identifier }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerClientResultOutput) RemoteIps() GetIsVpnServerClientRemoteIpArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) []GetIsVpnServerClientRemoteIp { return v.RemoteIps }).(GetIsVpnServerClientRemoteIpArrayOutput) +} + +func (o LookupIsVpnServerClientResultOutput) RemotePort() pulumi.IntOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) int { return v.RemotePort }).(pulumi.IntOutput) +} + +func (o LookupIsVpnServerClientResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerClientResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerClientResultOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.Username }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerClientResultOutput) VpnServer() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerClientResult) string { return v.VpnServer }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpnServerClientResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClientConfiguration.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClientConfiguration.go new file mode 100644 index 000000000..5ad68fd5a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClientConfiguration.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpnServerClientConfiguration(ctx *pulumi.Context, args *GetIsVpnServerClientConfigurationArgs, opts ...pulumi.InvokeOption) (*GetIsVpnServerClientConfigurationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpnServerClientConfigurationResult + err := ctx.Invoke("ibmcloud:index/getIsVpnServerClientConfiguration:getIsVpnServerClientConfiguration", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnServerClientConfiguration. +type GetIsVpnServerClientConfigurationArgs struct { + FilePath *string `pulumi:"filePath"` + VpnServer string `pulumi:"vpnServer"` +} + +// A collection of values returned by getIsVpnServerClientConfiguration. +type GetIsVpnServerClientConfigurationResult struct { + FilePath *string `pulumi:"filePath"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + VpnServer string `pulumi:"vpnServer"` + VpnServerClientConfiguration string `pulumi:"vpnServerClientConfiguration"` +} + +func GetIsVpnServerClientConfigurationOutput(ctx *pulumi.Context, args GetIsVpnServerClientConfigurationOutputArgs, opts ...pulumi.InvokeOption) GetIsVpnServerClientConfigurationResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpnServerClientConfigurationResultOutput, error) { + args := v.(GetIsVpnServerClientConfigurationArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnServerClientConfiguration:getIsVpnServerClientConfiguration", args, GetIsVpnServerClientConfigurationResultOutput{}, options).(GetIsVpnServerClientConfigurationResultOutput), nil + }).(GetIsVpnServerClientConfigurationResultOutput) +} + +// A collection of arguments for invoking getIsVpnServerClientConfiguration. +type GetIsVpnServerClientConfigurationOutputArgs struct { + FilePath pulumi.StringPtrInput `pulumi:"filePath"` + VpnServer pulumi.StringInput `pulumi:"vpnServer"` +} + +func (GetIsVpnServerClientConfigurationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientConfigurationArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnServerClientConfiguration. +type GetIsVpnServerClientConfigurationResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientConfigurationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientConfigurationResult)(nil)).Elem() +} + +func (o GetIsVpnServerClientConfigurationResultOutput) ToGetIsVpnServerClientConfigurationResultOutput() GetIsVpnServerClientConfigurationResultOutput { + return o +} + +func (o GetIsVpnServerClientConfigurationResultOutput) ToGetIsVpnServerClientConfigurationResultOutputWithContext(ctx context.Context) GetIsVpnServerClientConfigurationResultOutput { + return o +} + +func (o GetIsVpnServerClientConfigurationResultOutput) FilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVpnServerClientConfigurationResult) *string { return v.FilePath }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpnServerClientConfigurationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientConfigurationResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpnServerClientConfigurationResultOutput) VpnServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientConfigurationResult) string { return v.VpnServer }).(pulumi.StringOutput) +} + +func (o GetIsVpnServerClientConfigurationResultOutput) VpnServerClientConfiguration() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientConfigurationResult) string { return v.VpnServerClientConfiguration }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpnServerClientConfigurationResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClients.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClients.go new file mode 100644 index 000000000..e768ce593 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerClients.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpnServerClients(ctx *pulumi.Context, args *GetIsVpnServerClientsArgs, opts ...pulumi.InvokeOption) (*GetIsVpnServerClientsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpnServerClientsResult + err := ctx.Invoke("ibmcloud:index/getIsVpnServerClients:getIsVpnServerClients", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnServerClients. +type GetIsVpnServerClientsArgs struct { + VpnServer string `pulumi:"vpnServer"` +} + +// A collection of values returned by getIsVpnServerClients. +type GetIsVpnServerClientsResult struct { + Clients []GetIsVpnServerClientsClient `pulumi:"clients"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + VpnServer string `pulumi:"vpnServer"` +} + +func GetIsVpnServerClientsOutput(ctx *pulumi.Context, args GetIsVpnServerClientsOutputArgs, opts ...pulumi.InvokeOption) GetIsVpnServerClientsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpnServerClientsResultOutput, error) { + args := v.(GetIsVpnServerClientsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnServerClients:getIsVpnServerClients", args, GetIsVpnServerClientsResultOutput{}, options).(GetIsVpnServerClientsResultOutput), nil + }).(GetIsVpnServerClientsResultOutput) +} + +// A collection of arguments for invoking getIsVpnServerClients. +type GetIsVpnServerClientsOutputArgs struct { + VpnServer pulumi.StringInput `pulumi:"vpnServer"` +} + +func (GetIsVpnServerClientsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientsArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnServerClients. +type GetIsVpnServerClientsResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientsResult)(nil)).Elem() +} + +func (o GetIsVpnServerClientsResultOutput) ToGetIsVpnServerClientsResultOutput() GetIsVpnServerClientsResultOutput { + return o +} + +func (o GetIsVpnServerClientsResultOutput) ToGetIsVpnServerClientsResultOutputWithContext(ctx context.Context) GetIsVpnServerClientsResultOutput { + return o +} + +func (o GetIsVpnServerClientsResultOutput) Clients() GetIsVpnServerClientsClientArrayOutput { + return o.ApplyT(func(v GetIsVpnServerClientsResult) []GetIsVpnServerClientsClient { return v.Clients }).(GetIsVpnServerClientsClientArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpnServerClientsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpnServerClientsResultOutput) VpnServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsResult) string { return v.VpnServer }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpnServerClientsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerRoute.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerRoute.go new file mode 100644 index 000000000..6daaa52c3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerRoute.go @@ -0,0 +1,139 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupIsVpnServerRoute(ctx *pulumi.Context, args *LookupIsVpnServerRouteArgs, opts ...pulumi.InvokeOption) (*LookupIsVpnServerRouteResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIsVpnServerRouteResult + err := ctx.Invoke("ibmcloud:index/getIsVpnServerRoute:getIsVpnServerRoute", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnServerRoute. +type LookupIsVpnServerRouteArgs struct { + Identifier *string `pulumi:"identifier"` + Name *string `pulumi:"name"` + VpnServer string `pulumi:"vpnServer"` +} + +// A collection of values returned by getIsVpnServerRoute. +type LookupIsVpnServerRouteResult struct { + Action string `pulumi:"action"` + CreatedAt string `pulumi:"createdAt"` + Destination string `pulumi:"destination"` + HealthReasons []GetIsVpnServerRouteHealthReason `pulumi:"healthReasons"` + HealthState string `pulumi:"healthState"` + Href string `pulumi:"href"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + LifecycleReasons []GetIsVpnServerRouteLifecycleReason `pulumi:"lifecycleReasons"` + LifecycleState string `pulumi:"lifecycleState"` + Name string `pulumi:"name"` + ResourceType string `pulumi:"resourceType"` + VpnServer string `pulumi:"vpnServer"` +} + +func LookupIsVpnServerRouteOutput(ctx *pulumi.Context, args LookupIsVpnServerRouteOutputArgs, opts ...pulumi.InvokeOption) LookupIsVpnServerRouteResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupIsVpnServerRouteResultOutput, error) { + args := v.(LookupIsVpnServerRouteArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnServerRoute:getIsVpnServerRoute", args, LookupIsVpnServerRouteResultOutput{}, options).(LookupIsVpnServerRouteResultOutput), nil + }).(LookupIsVpnServerRouteResultOutput) +} + +// A collection of arguments for invoking getIsVpnServerRoute. +type LookupIsVpnServerRouteOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Name pulumi.StringPtrInput `pulumi:"name"` + VpnServer pulumi.StringInput `pulumi:"vpnServer"` +} + +func (LookupIsVpnServerRouteOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnServerRouteArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnServerRoute. +type LookupIsVpnServerRouteResultOutput struct{ *pulumi.OutputState } + +func (LookupIsVpnServerRouteResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIsVpnServerRouteResult)(nil)).Elem() +} + +func (o LookupIsVpnServerRouteResultOutput) ToLookupIsVpnServerRouteResultOutput() LookupIsVpnServerRouteResultOutput { + return o +} + +func (o LookupIsVpnServerRouteResultOutput) ToLookupIsVpnServerRouteResultOutputWithContext(ctx context.Context) LookupIsVpnServerRouteResultOutput { + return o +} + +func (o LookupIsVpnServerRouteResultOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.Action }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.Destination }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) HealthReasons() GetIsVpnServerRouteHealthReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) []GetIsVpnServerRouteHealthReason { return v.HealthReasons }).(GetIsVpnServerRouteHealthReasonArrayOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.HealthState }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.Href }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIsVpnServerRouteResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) LifecycleReasons() GetIsVpnServerRouteLifecycleReasonArrayOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) []GetIsVpnServerRouteLifecycleReason { return v.LifecycleReasons }).(GetIsVpnServerRouteLifecycleReasonArrayOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o LookupIsVpnServerRouteResultOutput) VpnServer() pulumi.StringOutput { + return o.ApplyT(func(v LookupIsVpnServerRouteResult) string { return v.VpnServer }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIsVpnServerRouteResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerRoutes.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerRoutes.go new file mode 100644 index 000000000..6c4088203 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServerRoutes.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpnServerRoutes(ctx *pulumi.Context, args *GetIsVpnServerRoutesArgs, opts ...pulumi.InvokeOption) (*GetIsVpnServerRoutesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpnServerRoutesResult + err := ctx.Invoke("ibmcloud:index/getIsVpnServerRoutes:getIsVpnServerRoutes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnServerRoutes. +type GetIsVpnServerRoutesArgs struct { + VpnServer string `pulumi:"vpnServer"` +} + +// A collection of values returned by getIsVpnServerRoutes. +type GetIsVpnServerRoutesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Routes []GetIsVpnServerRoutesRoute `pulumi:"routes"` + VpnServer string `pulumi:"vpnServer"` +} + +func GetIsVpnServerRoutesOutput(ctx *pulumi.Context, args GetIsVpnServerRoutesOutputArgs, opts ...pulumi.InvokeOption) GetIsVpnServerRoutesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpnServerRoutesResultOutput, error) { + args := v.(GetIsVpnServerRoutesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnServerRoutes:getIsVpnServerRoutes", args, GetIsVpnServerRoutesResultOutput{}, options).(GetIsVpnServerRoutesResultOutput), nil + }).(GetIsVpnServerRoutesResultOutput) +} + +// A collection of arguments for invoking getIsVpnServerRoutes. +type GetIsVpnServerRoutesOutputArgs struct { + VpnServer pulumi.StringInput `pulumi:"vpnServer"` +} + +func (GetIsVpnServerRoutesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRoutesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnServerRoutes. +type GetIsVpnServerRoutesResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRoutesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRoutesResult)(nil)).Elem() +} + +func (o GetIsVpnServerRoutesResultOutput) ToGetIsVpnServerRoutesResultOutput() GetIsVpnServerRoutesResultOutput { + return o +} + +func (o GetIsVpnServerRoutesResultOutput) ToGetIsVpnServerRoutesResultOutputWithContext(ctx context.Context) GetIsVpnServerRoutesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpnServerRoutesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpnServerRoutesResultOutput) Routes() GetIsVpnServerRoutesRouteArrayOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesResult) []GetIsVpnServerRoutesRoute { return v.Routes }).(GetIsVpnServerRoutesRouteArrayOutput) +} + +func (o GetIsVpnServerRoutesResultOutput) VpnServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesResult) string { return v.VpnServer }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpnServerRoutesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServers.go new file mode 100644 index 000000000..81f15fbd5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsVpnServers.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsVpnServers(ctx *pulumi.Context, args *GetIsVpnServersArgs, opts ...pulumi.InvokeOption) (*GetIsVpnServersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsVpnServersResult + err := ctx.Invoke("ibmcloud:index/getIsVpnServers:getIsVpnServers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsVpnServers. +type GetIsVpnServersArgs struct { + ResourceGroupId *string `pulumi:"resourceGroupId"` +} + +// A collection of values returned by getIsVpnServers. +type GetIsVpnServersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResourceGroupId *string `pulumi:"resourceGroupId"` + VpnServers []GetIsVpnServersVpnServer `pulumi:"vpnServers"` +} + +func GetIsVpnServersOutput(ctx *pulumi.Context, args GetIsVpnServersOutputArgs, opts ...pulumi.InvokeOption) GetIsVpnServersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsVpnServersResultOutput, error) { + args := v.(GetIsVpnServersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsVpnServers:getIsVpnServers", args, GetIsVpnServersResultOutput{}, options).(GetIsVpnServersResultOutput), nil + }).(GetIsVpnServersResultOutput) +} + +// A collection of arguments for invoking getIsVpnServers. +type GetIsVpnServersOutputArgs struct { + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` +} + +func (GetIsVpnServersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersArgs)(nil)).Elem() +} + +// A collection of values returned by getIsVpnServers. +type GetIsVpnServersResultOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersResult)(nil)).Elem() +} + +func (o GetIsVpnServersResultOutput) ToGetIsVpnServersResultOutput() GetIsVpnServersResultOutput { + return o +} + +func (o GetIsVpnServersResultOutput) ToGetIsVpnServersResultOutputWithContext(ctx context.Context) GetIsVpnServersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsVpnServersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsVpnServersResultOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsVpnServersResult) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +func (o GetIsVpnServersResultOutput) VpnServers() GetIsVpnServersVpnServerArrayOutput { + return o.ApplyT(func(v GetIsVpnServersResult) []GetIsVpnServersVpnServer { return v.VpnServers }).(GetIsVpnServersVpnServerArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsVpnServersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsZone.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsZone.go new file mode 100644 index 000000000..bc375de97 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsZone.go @@ -0,0 +1,102 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsZone(ctx *pulumi.Context, args *GetIsZoneArgs, opts ...pulumi.InvokeOption) (*GetIsZoneResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsZoneResult + err := ctx.Invoke("ibmcloud:index/getIsZone:getIsZone", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsZone. +type GetIsZoneArgs struct { + Name string `pulumi:"name"` + Region string `pulumi:"region"` +} + +// A collection of values returned by getIsZone. +type GetIsZoneResult struct { + DataCenter string `pulumi:"dataCenter"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + Region string `pulumi:"region"` + Status string `pulumi:"status"` + UniversalName string `pulumi:"universalName"` +} + +func GetIsZoneOutput(ctx *pulumi.Context, args GetIsZoneOutputArgs, opts ...pulumi.InvokeOption) GetIsZoneResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsZoneResultOutput, error) { + args := v.(GetIsZoneArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsZone:getIsZone", args, GetIsZoneResultOutput{}, options).(GetIsZoneResultOutput), nil + }).(GetIsZoneResultOutput) +} + +// A collection of arguments for invoking getIsZone. +type GetIsZoneOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` + Region pulumi.StringInput `pulumi:"region"` +} + +func (GetIsZoneOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsZoneArgs)(nil)).Elem() +} + +// A collection of values returned by getIsZone. +type GetIsZoneResultOutput struct{ *pulumi.OutputState } + +func (GetIsZoneResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsZoneResult)(nil)).Elem() +} + +func (o GetIsZoneResultOutput) ToGetIsZoneResultOutput() GetIsZoneResultOutput { + return o +} + +func (o GetIsZoneResultOutput) ToGetIsZoneResultOutputWithContext(ctx context.Context) GetIsZoneResultOutput { + return o +} + +func (o GetIsZoneResultOutput) DataCenter() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZoneResult) string { return v.DataCenter }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsZoneResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZoneResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsZoneResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZoneResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsZoneResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZoneResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o GetIsZoneResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZoneResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetIsZoneResultOutput) UniversalName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZoneResult) string { return v.UniversalName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsZoneResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsZones.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsZones.go new file mode 100644 index 000000000..2ed94f4ee --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getIsZones.go @@ -0,0 +1,97 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetIsZones(ctx *pulumi.Context, args *GetIsZonesArgs, opts ...pulumi.InvokeOption) (*GetIsZonesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIsZonesResult + err := ctx.Invoke("ibmcloud:index/getIsZones:getIsZones", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIsZones. +type GetIsZonesArgs struct { + Region string `pulumi:"region"` + Status *string `pulumi:"status"` +} + +// A collection of values returned by getIsZones. +type GetIsZonesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Region string `pulumi:"region"` + Status *string `pulumi:"status"` + ZoneInfos []GetIsZonesZoneInfo `pulumi:"zoneInfos"` + Zones []string `pulumi:"zones"` +} + +func GetIsZonesOutput(ctx *pulumi.Context, args GetIsZonesOutputArgs, opts ...pulumi.InvokeOption) GetIsZonesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetIsZonesResultOutput, error) { + args := v.(GetIsZonesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getIsZones:getIsZones", args, GetIsZonesResultOutput{}, options).(GetIsZonesResultOutput), nil + }).(GetIsZonesResultOutput) +} + +// A collection of arguments for invoking getIsZones. +type GetIsZonesOutputArgs struct { + Region pulumi.StringInput `pulumi:"region"` + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (GetIsZonesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsZonesArgs)(nil)).Elem() +} + +// A collection of values returned by getIsZones. +type GetIsZonesResultOutput struct{ *pulumi.OutputState } + +func (GetIsZonesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsZonesResult)(nil)).Elem() +} + +func (o GetIsZonesResultOutput) ToGetIsZonesResultOutput() GetIsZonesResultOutput { + return o +} + +func (o GetIsZonesResultOutput) ToGetIsZonesResultOutputWithContext(ctx context.Context) GetIsZonesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetIsZonesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZonesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsZonesResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZonesResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o GetIsZonesResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIsZonesResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func (o GetIsZonesResultOutput) ZoneInfos() GetIsZonesZoneInfoArrayOutput { + return o.ApplyT(func(v GetIsZonesResult) []GetIsZonesZoneInfo { return v.ZoneInfos }).(GetIsZonesZoneInfoArrayOutput) +} + +func (o GetIsZonesResultOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsZonesResult) []string { return v.Zones }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIsZonesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiAvailableHosts.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiAvailableHosts.go new file mode 100644 index 000000000..967b3a4c5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiAvailableHosts.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiAvailableHosts(ctx *pulumi.Context, args *GetPiAvailableHostsArgs, opts ...pulumi.InvokeOption) (*GetPiAvailableHostsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiAvailableHostsResult + err := ctx.Invoke("ibmcloud:index/getPiAvailableHosts:getPiAvailableHosts", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiAvailableHosts. +type GetPiAvailableHostsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiAvailableHosts. +type GetPiAvailableHostsResult struct { + AvailableHosts []GetPiAvailableHostsAvailableHost `pulumi:"availableHosts"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiAvailableHostsOutput(ctx *pulumi.Context, args GetPiAvailableHostsOutputArgs, opts ...pulumi.InvokeOption) GetPiAvailableHostsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiAvailableHostsResultOutput, error) { + args := v.(GetPiAvailableHostsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiAvailableHosts:getPiAvailableHosts", args, GetPiAvailableHostsResultOutput{}, options).(GetPiAvailableHostsResultOutput), nil + }).(GetPiAvailableHostsResultOutput) +} + +// A collection of arguments for invoking getPiAvailableHosts. +type GetPiAvailableHostsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiAvailableHostsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiAvailableHostsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiAvailableHosts. +type GetPiAvailableHostsResultOutput struct{ *pulumi.OutputState } + +func (GetPiAvailableHostsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiAvailableHostsResult)(nil)).Elem() +} + +func (o GetPiAvailableHostsResultOutput) ToGetPiAvailableHostsResultOutput() GetPiAvailableHostsResultOutput { + return o +} + +func (o GetPiAvailableHostsResultOutput) ToGetPiAvailableHostsResultOutputWithContext(ctx context.Context) GetPiAvailableHostsResultOutput { + return o +} + +func (o GetPiAvailableHostsResultOutput) AvailableHosts() GetPiAvailableHostsAvailableHostArrayOutput { + return o.ApplyT(func(v GetPiAvailableHostsResult) []GetPiAvailableHostsAvailableHost { return v.AvailableHosts }).(GetPiAvailableHostsAvailableHostArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiAvailableHostsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiAvailableHostsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiAvailableHostsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiAvailableHostsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiAvailableHostsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCatalogImages.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCatalogImages.go new file mode 100644 index 000000000..6600f708d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCatalogImages.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiCatalogImages(ctx *pulumi.Context, args *GetPiCatalogImagesArgs, opts ...pulumi.InvokeOption) (*GetPiCatalogImagesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiCatalogImagesResult + err := ctx.Invoke("ibmcloud:index/getPiCatalogImages:getPiCatalogImages", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiCatalogImages. +type GetPiCatalogImagesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Sap *bool `pulumi:"sap"` + Vtl *bool `pulumi:"vtl"` +} + +// A collection of values returned by getPiCatalogImages. +type GetPiCatalogImagesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Images []GetPiCatalogImagesImage `pulumi:"images"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Sap *bool `pulumi:"sap"` + Vtl *bool `pulumi:"vtl"` +} + +func GetPiCatalogImagesOutput(ctx *pulumi.Context, args GetPiCatalogImagesOutputArgs, opts ...pulumi.InvokeOption) GetPiCatalogImagesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiCatalogImagesResultOutput, error) { + args := v.(GetPiCatalogImagesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiCatalogImages:getPiCatalogImages", args, GetPiCatalogImagesResultOutput{}, options).(GetPiCatalogImagesResultOutput), nil + }).(GetPiCatalogImagesResultOutput) +} + +// A collection of arguments for invoking getPiCatalogImages. +type GetPiCatalogImagesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + Sap pulumi.BoolPtrInput `pulumi:"sap"` + Vtl pulumi.BoolPtrInput `pulumi:"vtl"` +} + +func (GetPiCatalogImagesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCatalogImagesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiCatalogImages. +type GetPiCatalogImagesResultOutput struct{ *pulumi.OutputState } + +func (GetPiCatalogImagesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCatalogImagesResult)(nil)).Elem() +} + +func (o GetPiCatalogImagesResultOutput) ToGetPiCatalogImagesResultOutput() GetPiCatalogImagesResultOutput { + return o +} + +func (o GetPiCatalogImagesResultOutput) ToGetPiCatalogImagesResultOutputWithContext(ctx context.Context) GetPiCatalogImagesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiCatalogImagesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiCatalogImagesResultOutput) Images() GetPiCatalogImagesImageArrayOutput { + return o.ApplyT(func(v GetPiCatalogImagesResult) []GetPiCatalogImagesImage { return v.Images }).(GetPiCatalogImagesImageArrayOutput) +} + +func (o GetPiCatalogImagesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiCatalogImagesResultOutput) Sap() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetPiCatalogImagesResult) *bool { return v.Sap }).(pulumi.BoolPtrOutput) +} + +func (o GetPiCatalogImagesResultOutput) Vtl() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetPiCatalogImagesResult) *bool { return v.Vtl }).(pulumi.BoolPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiCatalogImagesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudConnection.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudConnection.go new file mode 100644 index 000000000..37afa5ae3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudConnection.go @@ -0,0 +1,157 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiCloudConnection(ctx *pulumi.Context, args *LookupPiCloudConnectionArgs, opts ...pulumi.InvokeOption) (*LookupPiCloudConnectionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiCloudConnectionResult + err := ctx.Invoke("ibmcloud:index/getPiCloudConnection:getPiCloudConnection", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiCloudConnection. +type LookupPiCloudConnectionArgs struct { + PiCloudConnectionName string `pulumi:"piCloudConnectionName"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiCloudConnection. +type LookupPiCloudConnectionResult struct { + ClassicEnabled bool `pulumi:"classicEnabled"` + ConnectionMode string `pulumi:"connectionMode"` + GlobalRouting bool `pulumi:"globalRouting"` + GreDestinationAddress string `pulumi:"greDestinationAddress"` + GreSourceAddress string `pulumi:"greSourceAddress"` + IbmIpAddress string `pulumi:"ibmIpAddress"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Metered bool `pulumi:"metered"` + Networks []string `pulumi:"networks"` + PiCloudConnectionName string `pulumi:"piCloudConnectionName"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Port string `pulumi:"port"` + Speed int `pulumi:"speed"` + Status string `pulumi:"status"` + UserIpAddress string `pulumi:"userIpAddress"` + VpcCrns []string `pulumi:"vpcCrns"` + VpcEnabled bool `pulumi:"vpcEnabled"` +} + +func LookupPiCloudConnectionOutput(ctx *pulumi.Context, args LookupPiCloudConnectionOutputArgs, opts ...pulumi.InvokeOption) LookupPiCloudConnectionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiCloudConnectionResultOutput, error) { + args := v.(LookupPiCloudConnectionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiCloudConnection:getPiCloudConnection", args, LookupPiCloudConnectionResultOutput{}, options).(LookupPiCloudConnectionResultOutput), nil + }).(LookupPiCloudConnectionResultOutput) +} + +// A collection of arguments for invoking getPiCloudConnection. +type LookupPiCloudConnectionOutputArgs struct { + PiCloudConnectionName pulumi.StringInput `pulumi:"piCloudConnectionName"` + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (LookupPiCloudConnectionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiCloudConnectionArgs)(nil)).Elem() +} + +// A collection of values returned by getPiCloudConnection. +type LookupPiCloudConnectionResultOutput struct{ *pulumi.OutputState } + +func (LookupPiCloudConnectionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiCloudConnectionResult)(nil)).Elem() +} + +func (o LookupPiCloudConnectionResultOutput) ToLookupPiCloudConnectionResultOutput() LookupPiCloudConnectionResultOutput { + return o +} + +func (o LookupPiCloudConnectionResultOutput) ToLookupPiCloudConnectionResultOutputWithContext(ctx context.Context) LookupPiCloudConnectionResultOutput { + return o +} + +func (o LookupPiCloudConnectionResultOutput) ClassicEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) bool { return v.ClassicEnabled }).(pulumi.BoolOutput) +} + +func (o LookupPiCloudConnectionResultOutput) ConnectionMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.ConnectionMode }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) GlobalRouting() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) bool { return v.GlobalRouting }).(pulumi.BoolOutput) +} + +func (o LookupPiCloudConnectionResultOutput) GreDestinationAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.GreDestinationAddress }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) GreSourceAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.GreSourceAddress }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) IbmIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.IbmIpAddress }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiCloudConnectionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) Metered() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) bool { return v.Metered }).(pulumi.BoolOutput) +} + +func (o LookupPiCloudConnectionResultOutput) Networks() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) []string { return v.Networks }).(pulumi.StringArrayOutput) +} + +func (o LookupPiCloudConnectionResultOutput) PiCloudConnectionName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.PiCloudConnectionName }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) Port() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.Port }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) Speed() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) int { return v.Speed }).(pulumi.IntOutput) +} + +func (o LookupPiCloudConnectionResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) UserIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) string { return v.UserIpAddress }).(pulumi.StringOutput) +} + +func (o LookupPiCloudConnectionResultOutput) VpcCrns() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) []string { return v.VpcCrns }).(pulumi.StringArrayOutput) +} + +func (o LookupPiCloudConnectionResultOutput) VpcEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiCloudConnectionResult) bool { return v.VpcEnabled }).(pulumi.BoolOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiCloudConnectionResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudConnections.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudConnections.go new file mode 100644 index 000000000..69bdf1fa9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudConnections.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiCloudConnections(ctx *pulumi.Context, args *GetPiCloudConnectionsArgs, opts ...pulumi.InvokeOption) (*GetPiCloudConnectionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiCloudConnectionsResult + err := ctx.Invoke("ibmcloud:index/getPiCloudConnections:getPiCloudConnections", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiCloudConnections. +type GetPiCloudConnectionsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiCloudConnections. +type GetPiCloudConnectionsResult struct { + Connections []GetPiCloudConnectionsConnection `pulumi:"connections"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiCloudConnectionsOutput(ctx *pulumi.Context, args GetPiCloudConnectionsOutputArgs, opts ...pulumi.InvokeOption) GetPiCloudConnectionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiCloudConnectionsResultOutput, error) { + args := v.(GetPiCloudConnectionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiCloudConnections:getPiCloudConnections", args, GetPiCloudConnectionsResultOutput{}, options).(GetPiCloudConnectionsResultOutput), nil + }).(GetPiCloudConnectionsResultOutput) +} + +// A collection of arguments for invoking getPiCloudConnections. +type GetPiCloudConnectionsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiCloudConnectionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCloudConnectionsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiCloudConnections. +type GetPiCloudConnectionsResultOutput struct{ *pulumi.OutputState } + +func (GetPiCloudConnectionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCloudConnectionsResult)(nil)).Elem() +} + +func (o GetPiCloudConnectionsResultOutput) ToGetPiCloudConnectionsResultOutput() GetPiCloudConnectionsResultOutput { + return o +} + +func (o GetPiCloudConnectionsResultOutput) ToGetPiCloudConnectionsResultOutputWithContext(ctx context.Context) GetPiCloudConnectionsResultOutput { + return o +} + +func (o GetPiCloudConnectionsResultOutput) Connections() GetPiCloudConnectionsConnectionArrayOutput { + return o.ApplyT(func(v GetPiCloudConnectionsResult) []GetPiCloudConnectionsConnection { return v.Connections }).(GetPiCloudConnectionsConnectionArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiCloudConnectionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiCloudConnectionsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiCloudConnectionsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudInstance.go new file mode 100644 index 000000000..e5c37831f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiCloudInstance.go @@ -0,0 +1,130 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiCloudInstance(ctx *pulumi.Context, args *GetPiCloudInstanceArgs, opts ...pulumi.InvokeOption) (*GetPiCloudInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiCloudInstanceResult + err := ctx.Invoke("ibmcloud:index/getPiCloudInstance:getPiCloudInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiCloudInstance. +type GetPiCloudInstanceArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiCloudInstance. +type GetPiCloudInstanceResult struct { + Capabilities []string `pulumi:"capabilities"` + Enabled bool `pulumi:"enabled"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PvmInstances []GetPiCloudInstancePvmInstance `pulumi:"pvmInstances"` + Region string `pulumi:"region"` + TenantId string `pulumi:"tenantId"` + TotalInstances float64 `pulumi:"totalInstances"` + TotalMemoryConsumed float64 `pulumi:"totalMemoryConsumed"` + TotalProcessorsConsumed float64 `pulumi:"totalProcessorsConsumed"` + TotalSsdStorageConsumed float64 `pulumi:"totalSsdStorageConsumed"` + TotalStandardStorageConsumed float64 `pulumi:"totalStandardStorageConsumed"` +} + +func GetPiCloudInstanceOutput(ctx *pulumi.Context, args GetPiCloudInstanceOutputArgs, opts ...pulumi.InvokeOption) GetPiCloudInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiCloudInstanceResultOutput, error) { + args := v.(GetPiCloudInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiCloudInstance:getPiCloudInstance", args, GetPiCloudInstanceResultOutput{}, options).(GetPiCloudInstanceResultOutput), nil + }).(GetPiCloudInstanceResultOutput) +} + +// A collection of arguments for invoking getPiCloudInstance. +type GetPiCloudInstanceOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiCloudInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCloudInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getPiCloudInstance. +type GetPiCloudInstanceResultOutput struct{ *pulumi.OutputState } + +func (GetPiCloudInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCloudInstanceResult)(nil)).Elem() +} + +func (o GetPiCloudInstanceResultOutput) ToGetPiCloudInstanceResultOutput() GetPiCloudInstanceResultOutput { + return o +} + +func (o GetPiCloudInstanceResultOutput) ToGetPiCloudInstanceResultOutputWithContext(ctx context.Context) GetPiCloudInstanceResultOutput { + return o +} + +func (o GetPiCloudInstanceResultOutput) Capabilities() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiCloudInstanceResult) []string { return v.Capabilities }).(pulumi.StringArrayOutput) +} + +func (o GetPiCloudInstanceResultOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiCloudInstanceResult) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiCloudInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiCloudInstanceResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstanceResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiCloudInstanceResultOutput) PvmInstances() GetPiCloudInstancePvmInstanceArrayOutput { + return o.ApplyT(func(v GetPiCloudInstanceResult) []GetPiCloudInstancePvmInstance { return v.PvmInstances }).(GetPiCloudInstancePvmInstanceArrayOutput) +} + +func (o GetPiCloudInstanceResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstanceResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o GetPiCloudInstanceResultOutput) TenantId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstanceResult) string { return v.TenantId }).(pulumi.StringOutput) +} + +func (o GetPiCloudInstanceResultOutput) TotalInstances() pulumi.Float64Output { + return o.ApplyT(func(v GetPiCloudInstanceResult) float64 { return v.TotalInstances }).(pulumi.Float64Output) +} + +func (o GetPiCloudInstanceResultOutput) TotalMemoryConsumed() pulumi.Float64Output { + return o.ApplyT(func(v GetPiCloudInstanceResult) float64 { return v.TotalMemoryConsumed }).(pulumi.Float64Output) +} + +func (o GetPiCloudInstanceResultOutput) TotalProcessorsConsumed() pulumi.Float64Output { + return o.ApplyT(func(v GetPiCloudInstanceResult) float64 { return v.TotalProcessorsConsumed }).(pulumi.Float64Output) +} + +func (o GetPiCloudInstanceResultOutput) TotalSsdStorageConsumed() pulumi.Float64Output { + return o.ApplyT(func(v GetPiCloudInstanceResult) float64 { return v.TotalSsdStorageConsumed }).(pulumi.Float64Output) +} + +func (o GetPiCloudInstanceResultOutput) TotalStandardStorageConsumed() pulumi.Float64Output { + return o.ApplyT(func(v GetPiCloudInstanceResult) float64 { return v.TotalStandardStorageConsumed }).(pulumi.Float64Output) +} + +func init() { + pulumi.RegisterOutputType(GetPiCloudInstanceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiConsoleLanguages.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiConsoleLanguages.go new file mode 100644 index 000000000..96ac02073 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiConsoleLanguages.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiConsoleLanguages(ctx *pulumi.Context, args *GetPiConsoleLanguagesArgs, opts ...pulumi.InvokeOption) (*GetPiConsoleLanguagesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiConsoleLanguagesResult + err := ctx.Invoke("ibmcloud:index/getPiConsoleLanguages:getPiConsoleLanguages", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiConsoleLanguages. +type GetPiConsoleLanguagesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` +} + +// A collection of values returned by getPiConsoleLanguages. +type GetPiConsoleLanguagesResult struct { + ConsoleLanguages []GetPiConsoleLanguagesConsoleLanguage `pulumi:"consoleLanguages"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` +} + +func GetPiConsoleLanguagesOutput(ctx *pulumi.Context, args GetPiConsoleLanguagesOutputArgs, opts ...pulumi.InvokeOption) GetPiConsoleLanguagesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiConsoleLanguagesResultOutput, error) { + args := v.(GetPiConsoleLanguagesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiConsoleLanguages:getPiConsoleLanguages", args, GetPiConsoleLanguagesResultOutput{}, options).(GetPiConsoleLanguagesResultOutput), nil + }).(GetPiConsoleLanguagesResultOutput) +} + +// A collection of arguments for invoking getPiConsoleLanguages. +type GetPiConsoleLanguagesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiInstanceName pulumi.StringInput `pulumi:"piInstanceName"` +} + +func (GetPiConsoleLanguagesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiConsoleLanguagesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiConsoleLanguages. +type GetPiConsoleLanguagesResultOutput struct{ *pulumi.OutputState } + +func (GetPiConsoleLanguagesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiConsoleLanguagesResult)(nil)).Elem() +} + +func (o GetPiConsoleLanguagesResultOutput) ToGetPiConsoleLanguagesResultOutput() GetPiConsoleLanguagesResultOutput { + return o +} + +func (o GetPiConsoleLanguagesResultOutput) ToGetPiConsoleLanguagesResultOutputWithContext(ctx context.Context) GetPiConsoleLanguagesResultOutput { + return o +} + +func (o GetPiConsoleLanguagesResultOutput) ConsoleLanguages() GetPiConsoleLanguagesConsoleLanguageArrayOutput { + return o.ApplyT(func(v GetPiConsoleLanguagesResult) []GetPiConsoleLanguagesConsoleLanguage { return v.ConsoleLanguages }).(GetPiConsoleLanguagesConsoleLanguageArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiConsoleLanguagesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiConsoleLanguagesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiConsoleLanguagesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiConsoleLanguagesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiConsoleLanguagesResultOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiConsoleLanguagesResult) string { return v.PiInstanceName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiConsoleLanguagesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDatacenter.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDatacenter.go new file mode 100644 index 000000000..a98f19dde --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDatacenter.go @@ -0,0 +1,117 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiDatacenter(ctx *pulumi.Context, args *GetPiDatacenterArgs, opts ...pulumi.InvokeOption) (*GetPiDatacenterResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiDatacenterResult + err := ctx.Invoke("ibmcloud:index/getPiDatacenter:getPiDatacenter", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiDatacenter. +type GetPiDatacenterArgs struct { + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + PiDatacenterZone *string `pulumi:"piDatacenterZone"` +} + +// A collection of values returned by getPiDatacenter. +type GetPiDatacenterResult struct { + CapabilityDetails []GetPiDatacenterCapabilityDetail `pulumi:"capabilityDetails"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + PiDatacenterCapabilities map[string]bool `pulumi:"piDatacenterCapabilities"` + PiDatacenterHref string `pulumi:"piDatacenterHref"` + PiDatacenterLocation map[string]string `pulumi:"piDatacenterLocation"` + PiDatacenterStatus string `pulumi:"piDatacenterStatus"` + PiDatacenterType string `pulumi:"piDatacenterType"` + PiDatacenterZone *string `pulumi:"piDatacenterZone"` +} + +func GetPiDatacenterOutput(ctx *pulumi.Context, args GetPiDatacenterOutputArgs, opts ...pulumi.InvokeOption) GetPiDatacenterResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiDatacenterResultOutput, error) { + args := v.(GetPiDatacenterArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiDatacenter:getPiDatacenter", args, GetPiDatacenterResultOutput{}, options).(GetPiDatacenterResultOutput), nil + }).(GetPiDatacenterResultOutput) +} + +// A collection of arguments for invoking getPiDatacenter. +type GetPiDatacenterOutputArgs struct { + PiCloudInstanceId pulumi.StringPtrInput `pulumi:"piCloudInstanceId"` + PiDatacenterZone pulumi.StringPtrInput `pulumi:"piDatacenterZone"` +} + +func (GetPiDatacenterOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterArgs)(nil)).Elem() +} + +// A collection of values returned by getPiDatacenter. +type GetPiDatacenterResultOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterResult)(nil)).Elem() +} + +func (o GetPiDatacenterResultOutput) ToGetPiDatacenterResultOutput() GetPiDatacenterResultOutput { + return o +} + +func (o GetPiDatacenterResultOutput) ToGetPiDatacenterResultOutputWithContext(ctx context.Context) GetPiDatacenterResultOutput { + return o +} + +func (o GetPiDatacenterResultOutput) CapabilityDetails() GetPiDatacenterCapabilityDetailArrayOutput { + return o.ApplyT(func(v GetPiDatacenterResult) []GetPiDatacenterCapabilityDetail { return v.CapabilityDetails }).(GetPiDatacenterCapabilityDetailArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiDatacenterResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacenterResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiDatacenterResultOutput) PiCloudInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPiDatacenterResult) *string { return v.PiCloudInstanceId }).(pulumi.StringPtrOutput) +} + +func (o GetPiDatacenterResultOutput) PiDatacenterCapabilities() pulumi.BoolMapOutput { + return o.ApplyT(func(v GetPiDatacenterResult) map[string]bool { return v.PiDatacenterCapabilities }).(pulumi.BoolMapOutput) +} + +func (o GetPiDatacenterResultOutput) PiDatacenterHref() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacenterResult) string { return v.PiDatacenterHref }).(pulumi.StringOutput) +} + +func (o GetPiDatacenterResultOutput) PiDatacenterLocation() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiDatacenterResult) map[string]string { return v.PiDatacenterLocation }).(pulumi.StringMapOutput) +} + +func (o GetPiDatacenterResultOutput) PiDatacenterStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacenterResult) string { return v.PiDatacenterStatus }).(pulumi.StringOutput) +} + +func (o GetPiDatacenterResultOutput) PiDatacenterType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacenterResult) string { return v.PiDatacenterType }).(pulumi.StringOutput) +} + +func (o GetPiDatacenterResultOutput) PiDatacenterZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPiDatacenterResult) *string { return v.PiDatacenterZone }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiDatacenterResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDatacenters.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDatacenters.go new file mode 100644 index 000000000..0e0972f5d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDatacenters.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiDatacenters(ctx *pulumi.Context, args *GetPiDatacentersArgs, opts ...pulumi.InvokeOption) (*GetPiDatacentersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiDatacentersResult + err := ctx.Invoke("ibmcloud:index/getPiDatacenters:getPiDatacenters", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiDatacenters. +type GetPiDatacentersArgs struct { + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiDatacenters. +type GetPiDatacentersResult struct { + Datacenters []GetPiDatacentersDatacenter `pulumi:"datacenters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` +} + +func GetPiDatacentersOutput(ctx *pulumi.Context, args GetPiDatacentersOutputArgs, opts ...pulumi.InvokeOption) GetPiDatacentersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiDatacentersResultOutput, error) { + args := v.(GetPiDatacentersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiDatacenters:getPiDatacenters", args, GetPiDatacentersResultOutput{}, options).(GetPiDatacentersResultOutput), nil + }).(GetPiDatacentersResultOutput) +} + +// A collection of arguments for invoking getPiDatacenters. +type GetPiDatacentersOutputArgs struct { + PiCloudInstanceId pulumi.StringPtrInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiDatacentersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersArgs)(nil)).Elem() +} + +// A collection of values returned by getPiDatacenters. +type GetPiDatacentersResultOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersResult)(nil)).Elem() +} + +func (o GetPiDatacentersResultOutput) ToGetPiDatacentersResultOutput() GetPiDatacentersResultOutput { + return o +} + +func (o GetPiDatacentersResultOutput) ToGetPiDatacentersResultOutputWithContext(ctx context.Context) GetPiDatacentersResultOutput { + return o +} + +func (o GetPiDatacentersResultOutput) Datacenters() GetPiDatacentersDatacenterArrayOutput { + return o.ApplyT(func(v GetPiDatacentersResult) []GetPiDatacentersDatacenter { return v.Datacenters }).(GetPiDatacentersDatacenterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiDatacentersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacentersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiDatacentersResultOutput) PiCloudInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPiDatacentersResult) *string { return v.PiCloudInstanceId }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiDatacentersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDhcp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDhcp.go new file mode 100644 index 000000000..7e52e84ae --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDhcp.go @@ -0,0 +1,114 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiDhcp(ctx *pulumi.Context, args *LookupPiDhcpArgs, opts ...pulumi.InvokeOption) (*LookupPiDhcpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiDhcpResult + err := ctx.Invoke("ibmcloud:index/getPiDhcp:getPiDhcp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiDhcp. +type LookupPiDhcpArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiDhcpId string `pulumi:"piDhcpId"` +} + +// A collection of values returned by getPiDhcp. +type LookupPiDhcpResult struct { + // Deprecated: The field is deprecated, use piDhcpId instead. + DhcpId string `pulumi:"dhcpId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Leases []GetPiDhcpLease `pulumi:"leases"` + NetworkId string `pulumi:"networkId"` + NetworkName string `pulumi:"networkName"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiDhcpId string `pulumi:"piDhcpId"` + Status string `pulumi:"status"` +} + +func LookupPiDhcpOutput(ctx *pulumi.Context, args LookupPiDhcpOutputArgs, opts ...pulumi.InvokeOption) LookupPiDhcpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiDhcpResultOutput, error) { + args := v.(LookupPiDhcpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiDhcp:getPiDhcp", args, LookupPiDhcpResultOutput{}, options).(LookupPiDhcpResultOutput), nil + }).(LookupPiDhcpResultOutput) +} + +// A collection of arguments for invoking getPiDhcp. +type LookupPiDhcpOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiDhcpId pulumi.StringInput `pulumi:"piDhcpId"` +} + +func (LookupPiDhcpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiDhcpArgs)(nil)).Elem() +} + +// A collection of values returned by getPiDhcp. +type LookupPiDhcpResultOutput struct{ *pulumi.OutputState } + +func (LookupPiDhcpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiDhcpResult)(nil)).Elem() +} + +func (o LookupPiDhcpResultOutput) ToLookupPiDhcpResultOutput() LookupPiDhcpResultOutput { + return o +} + +func (o LookupPiDhcpResultOutput) ToLookupPiDhcpResultOutputWithContext(ctx context.Context) LookupPiDhcpResultOutput { + return o +} + +// Deprecated: The field is deprecated, use piDhcpId instead. +func (o LookupPiDhcpResultOutput) DhcpId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiDhcpResult) string { return v.DhcpId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiDhcpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiDhcpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiDhcpResultOutput) Leases() GetPiDhcpLeaseArrayOutput { + return o.ApplyT(func(v LookupPiDhcpResult) []GetPiDhcpLease { return v.Leases }).(GetPiDhcpLeaseArrayOutput) +} + +func (o LookupPiDhcpResultOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiDhcpResult) string { return v.NetworkId }).(pulumi.StringOutput) +} + +func (o LookupPiDhcpResultOutput) NetworkName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiDhcpResult) string { return v.NetworkName }).(pulumi.StringOutput) +} + +func (o LookupPiDhcpResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiDhcpResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiDhcpResultOutput) PiDhcpId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiDhcpResult) string { return v.PiDhcpId }).(pulumi.StringOutput) +} + +func (o LookupPiDhcpResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiDhcpResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiDhcpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDhcps.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDhcps.go new file mode 100644 index 000000000..0905f2c8e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDhcps.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiDhcps(ctx *pulumi.Context, args *GetPiDhcpsArgs, opts ...pulumi.InvokeOption) (*GetPiDhcpsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiDhcpsResult + err := ctx.Invoke("ibmcloud:index/getPiDhcps:getPiDhcps", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiDhcps. +type GetPiDhcpsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiDhcps. +type GetPiDhcpsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Servers []GetPiDhcpsServer `pulumi:"servers"` +} + +func GetPiDhcpsOutput(ctx *pulumi.Context, args GetPiDhcpsOutputArgs, opts ...pulumi.InvokeOption) GetPiDhcpsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiDhcpsResultOutput, error) { + args := v.(GetPiDhcpsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiDhcps:getPiDhcps", args, GetPiDhcpsResultOutput{}, options).(GetPiDhcpsResultOutput), nil + }).(GetPiDhcpsResultOutput) +} + +// A collection of arguments for invoking getPiDhcps. +type GetPiDhcpsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiDhcpsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDhcpsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiDhcps. +type GetPiDhcpsResultOutput struct{ *pulumi.OutputState } + +func (GetPiDhcpsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDhcpsResult)(nil)).Elem() +} + +func (o GetPiDhcpsResultOutput) ToGetPiDhcpsResultOutput() GetPiDhcpsResultOutput { + return o +} + +func (o GetPiDhcpsResultOutput) ToGetPiDhcpsResultOutputWithContext(ctx context.Context) GetPiDhcpsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiDhcpsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDhcpsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiDhcpsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDhcpsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiDhcpsResultOutput) Servers() GetPiDhcpsServerArrayOutput { + return o.ApplyT(func(v GetPiDhcpsResult) []GetPiDhcpsServer { return v.Servers }).(GetPiDhcpsServerArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiDhcpsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDisasterRecoveryLocation.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDisasterRecoveryLocation.go new file mode 100644 index 000000000..d17aa9d1a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDisasterRecoveryLocation.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiDisasterRecoveryLocation(ctx *pulumi.Context, args *GetPiDisasterRecoveryLocationArgs, opts ...pulumi.InvokeOption) (*GetPiDisasterRecoveryLocationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiDisasterRecoveryLocationResult + err := ctx.Invoke("ibmcloud:index/getPiDisasterRecoveryLocation:getPiDisasterRecoveryLocation", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiDisasterRecoveryLocation. +type GetPiDisasterRecoveryLocationArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiDisasterRecoveryLocation. +type GetPiDisasterRecoveryLocationResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Location string `pulumi:"location"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + ReplicationSites []GetPiDisasterRecoveryLocationReplicationSite `pulumi:"replicationSites"` +} + +func GetPiDisasterRecoveryLocationOutput(ctx *pulumi.Context, args GetPiDisasterRecoveryLocationOutputArgs, opts ...pulumi.InvokeOption) GetPiDisasterRecoveryLocationResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiDisasterRecoveryLocationResultOutput, error) { + args := v.(GetPiDisasterRecoveryLocationArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiDisasterRecoveryLocation:getPiDisasterRecoveryLocation", args, GetPiDisasterRecoveryLocationResultOutput{}, options).(GetPiDisasterRecoveryLocationResultOutput), nil + }).(GetPiDisasterRecoveryLocationResultOutput) +} + +// A collection of arguments for invoking getPiDisasterRecoveryLocation. +type GetPiDisasterRecoveryLocationOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiDisasterRecoveryLocationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationArgs)(nil)).Elem() +} + +// A collection of values returned by getPiDisasterRecoveryLocation. +type GetPiDisasterRecoveryLocationResultOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationResult)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationResultOutput) ToGetPiDisasterRecoveryLocationResultOutput() GetPiDisasterRecoveryLocationResultOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationResultOutput) ToGetPiDisasterRecoveryLocationResultOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiDisasterRecoveryLocationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiDisasterRecoveryLocationResultOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationResult) string { return v.Location }).(pulumi.StringOutput) +} + +func (o GetPiDisasterRecoveryLocationResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiDisasterRecoveryLocationResultOutput) ReplicationSites() GetPiDisasterRecoveryLocationReplicationSiteArrayOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationResult) []GetPiDisasterRecoveryLocationReplicationSite { + return v.ReplicationSites + }).(GetPiDisasterRecoveryLocationReplicationSiteArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDisasterRecoveryLocations.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDisasterRecoveryLocations.go new file mode 100644 index 000000000..7036190a9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiDisasterRecoveryLocations.go @@ -0,0 +1,66 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiDisasterRecoveryLocations(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetPiDisasterRecoveryLocationsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiDisasterRecoveryLocationsResult + err := ctx.Invoke("ibmcloud:index/getPiDisasterRecoveryLocations:getPiDisasterRecoveryLocations", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getPiDisasterRecoveryLocations. +type GetPiDisasterRecoveryLocationsResult struct { + DisasterRecoveryLocations []GetPiDisasterRecoveryLocationsDisasterRecoveryLocation `pulumi:"disasterRecoveryLocations"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} + +func GetPiDisasterRecoveryLocationsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetPiDisasterRecoveryLocationsResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetPiDisasterRecoveryLocationsResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiDisasterRecoveryLocations:getPiDisasterRecoveryLocations", nil, GetPiDisasterRecoveryLocationsResultOutput{}, options).(GetPiDisasterRecoveryLocationsResultOutput), nil + }).(GetPiDisasterRecoveryLocationsResultOutput) +} + +// A collection of values returned by getPiDisasterRecoveryLocations. +type GetPiDisasterRecoveryLocationsResultOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationsResult)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationsResultOutput) ToGetPiDisasterRecoveryLocationsResultOutput() GetPiDisasterRecoveryLocationsResultOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsResultOutput) ToGetPiDisasterRecoveryLocationsResultOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsResultOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsResultOutput) DisasterRecoveryLocations() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsResult) []GetPiDisasterRecoveryLocationsDisasterRecoveryLocation { + return v.DisasterRecoveryLocations + }).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiDisasterRecoveryLocationsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHost.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHost.go new file mode 100644 index 000000000..4f52badc7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHost.go @@ -0,0 +1,132 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiHost(ctx *pulumi.Context, args *LookupPiHostArgs, opts ...pulumi.InvokeOption) (*LookupPiHostResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiHostResult + err := ctx.Invoke("ibmcloud:index/getPiHost:getPiHost", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiHost. +type LookupPiHostArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiHostId string `pulumi:"piHostId"` +} + +// A collection of values returned by getPiHost. +type LookupPiHostResult struct { + Capacities []GetPiHostCapacity `pulumi:"capacities"` + Crn string `pulumi:"crn"` + DisplayName string `pulumi:"displayName"` + HostGroup map[string]string `pulumi:"hostGroup"` + HostReference int `pulumi:"hostReference"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiHostId string `pulumi:"piHostId"` + State string `pulumi:"state"` + Status string `pulumi:"status"` + SysType string `pulumi:"sysType"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiHostOutput(ctx *pulumi.Context, args LookupPiHostOutputArgs, opts ...pulumi.InvokeOption) LookupPiHostResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiHostResultOutput, error) { + args := v.(LookupPiHostArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiHost:getPiHost", args, LookupPiHostResultOutput{}, options).(LookupPiHostResultOutput), nil + }).(LookupPiHostResultOutput) +} + +// A collection of arguments for invoking getPiHost. +type LookupPiHostOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiHostId pulumi.StringInput `pulumi:"piHostId"` +} + +func (LookupPiHostOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiHostArgs)(nil)).Elem() +} + +// A collection of values returned by getPiHost. +type LookupPiHostResultOutput struct{ *pulumi.OutputState } + +func (LookupPiHostResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiHostResult)(nil)).Elem() +} + +func (o LookupPiHostResultOutput) ToLookupPiHostResultOutput() LookupPiHostResultOutput { + return o +} + +func (o LookupPiHostResultOutput) ToLookupPiHostResultOutputWithContext(ctx context.Context) LookupPiHostResultOutput { + return o +} + +func (o LookupPiHostResultOutput) Capacities() GetPiHostCapacityArrayOutput { + return o.ApplyT(func(v LookupPiHostResult) []GetPiHostCapacity { return v.Capacities }).(GetPiHostCapacityArrayOutput) +} + +func (o LookupPiHostResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiHostResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +func (o LookupPiHostResultOutput) HostGroup() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupPiHostResult) map[string]string { return v.HostGroup }).(pulumi.StringMapOutput) +} + +func (o LookupPiHostResultOutput) HostReference() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiHostResult) int { return v.HostReference }).(pulumi.IntOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiHostResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiHostResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiHostResultOutput) PiHostId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostResult) string { return v.PiHostId }).(pulumi.StringOutput) +} + +func (o LookupPiHostResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o LookupPiHostResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupPiHostResultOutput) SysType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostResult) string { return v.SysType }).(pulumi.StringOutput) +} + +func (o LookupPiHostResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiHostResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiHostResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHostGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHostGroup.go new file mode 100644 index 000000000..eab433650 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHostGroup.go @@ -0,0 +1,112 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiHostGroup(ctx *pulumi.Context, args *LookupPiHostGroupArgs, opts ...pulumi.InvokeOption) (*LookupPiHostGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiHostGroupResult + err := ctx.Invoke("ibmcloud:index/getPiHostGroup:getPiHostGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiHostGroup. +type LookupPiHostGroupArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiHostGroupId string `pulumi:"piHostGroupId"` +} + +// A collection of values returned by getPiHostGroup. +type LookupPiHostGroupResult struct { + CreationDate string `pulumi:"creationDate"` + Hosts []string `pulumi:"hosts"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiHostGroupId string `pulumi:"piHostGroupId"` + Primary string `pulumi:"primary"` + Secondaries []string `pulumi:"secondaries"` +} + +func LookupPiHostGroupOutput(ctx *pulumi.Context, args LookupPiHostGroupOutputArgs, opts ...pulumi.InvokeOption) LookupPiHostGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiHostGroupResultOutput, error) { + args := v.(LookupPiHostGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiHostGroup:getPiHostGroup", args, LookupPiHostGroupResultOutput{}, options).(LookupPiHostGroupResultOutput), nil + }).(LookupPiHostGroupResultOutput) +} + +// A collection of arguments for invoking getPiHostGroup. +type LookupPiHostGroupOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiHostGroupId pulumi.StringInput `pulumi:"piHostGroupId"` +} + +func (LookupPiHostGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiHostGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getPiHostGroup. +type LookupPiHostGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupPiHostGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiHostGroupResult)(nil)).Elem() +} + +func (o LookupPiHostGroupResultOutput) ToLookupPiHostGroupResultOutput() LookupPiHostGroupResultOutput { + return o +} + +func (o LookupPiHostGroupResultOutput) ToLookupPiHostGroupResultOutputWithContext(ctx context.Context) LookupPiHostGroupResultOutput { + return o +} + +func (o LookupPiHostGroupResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostGroupResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o LookupPiHostGroupResultOutput) Hosts() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiHostGroupResult) []string { return v.Hosts }).(pulumi.StringArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiHostGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiHostGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiHostGroupResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostGroupResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiHostGroupResultOutput) PiHostGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostGroupResult) string { return v.PiHostGroupId }).(pulumi.StringOutput) +} + +func (o LookupPiHostGroupResultOutput) Primary() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiHostGroupResult) string { return v.Primary }).(pulumi.StringOutput) +} + +func (o LookupPiHostGroupResultOutput) Secondaries() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiHostGroupResult) []string { return v.Secondaries }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiHostGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHostGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHostGroups.go new file mode 100644 index 000000000..5419ca6f6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHostGroups.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiHostGroups(ctx *pulumi.Context, args *GetPiHostGroupsArgs, opts ...pulumi.InvokeOption) (*GetPiHostGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiHostGroupsResult + err := ctx.Invoke("ibmcloud:index/getPiHostGroups:getPiHostGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiHostGroups. +type GetPiHostGroupsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiHostGroups. +type GetPiHostGroupsResult struct { + HostGroups []GetPiHostGroupsHostGroup `pulumi:"hostGroups"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiHostGroupsOutput(ctx *pulumi.Context, args GetPiHostGroupsOutputArgs, opts ...pulumi.InvokeOption) GetPiHostGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiHostGroupsResultOutput, error) { + args := v.(GetPiHostGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiHostGroups:getPiHostGroups", args, GetPiHostGroupsResultOutput{}, options).(GetPiHostGroupsResultOutput), nil + }).(GetPiHostGroupsResultOutput) +} + +// A collection of arguments for invoking getPiHostGroups. +type GetPiHostGroupsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiHostGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiHostGroups. +type GetPiHostGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetPiHostGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostGroupsResult)(nil)).Elem() +} + +func (o GetPiHostGroupsResultOutput) ToGetPiHostGroupsResultOutput() GetPiHostGroupsResultOutput { + return o +} + +func (o GetPiHostGroupsResultOutput) ToGetPiHostGroupsResultOutputWithContext(ctx context.Context) GetPiHostGroupsResultOutput { + return o +} + +func (o GetPiHostGroupsResultOutput) HostGroups() GetPiHostGroupsHostGroupArrayOutput { + return o.ApplyT(func(v GetPiHostGroupsResult) []GetPiHostGroupsHostGroup { return v.HostGroups }).(GetPiHostGroupsHostGroupArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiHostGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiHostGroupsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostGroupsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiHostGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHosts.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHosts.go new file mode 100644 index 000000000..36847aa21 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiHosts.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiHosts(ctx *pulumi.Context, args *GetPiHostsArgs, opts ...pulumi.InvokeOption) (*GetPiHostsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiHostsResult + err := ctx.Invoke("ibmcloud:index/getPiHosts:getPiHosts", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiHosts. +type GetPiHostsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiHosts. +type GetPiHostsResult struct { + Hosts []GetPiHostsHost `pulumi:"hosts"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiHostsOutput(ctx *pulumi.Context, args GetPiHostsOutputArgs, opts ...pulumi.InvokeOption) GetPiHostsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiHostsResultOutput, error) { + args := v.(GetPiHostsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiHosts:getPiHosts", args, GetPiHostsResultOutput{}, options).(GetPiHostsResultOutput), nil + }).(GetPiHostsResultOutput) +} + +// A collection of arguments for invoking getPiHosts. +type GetPiHostsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiHostsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiHosts. +type GetPiHostsResultOutput struct{ *pulumi.OutputState } + +func (GetPiHostsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostsResult)(nil)).Elem() +} + +func (o GetPiHostsResultOutput) ToGetPiHostsResultOutput() GetPiHostsResultOutput { + return o +} + +func (o GetPiHostsResultOutput) ToGetPiHostsResultOutputWithContext(ctx context.Context) GetPiHostsResultOutput { + return o +} + +func (o GetPiHostsResultOutput) Hosts() GetPiHostsHostArrayOutput { + return o.ApplyT(func(v GetPiHostsResult) []GetPiHostsHost { return v.Hosts }).(GetPiHostsHostArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiHostsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiHostsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiHostsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiImage.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiImage.go new file mode 100644 index 000000000..5aa7bfdaa --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiImage.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiImage(ctx *pulumi.Context, args *LookupPiImageArgs, opts ...pulumi.InvokeOption) (*LookupPiImageResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiImageResult + err := ctx.Invoke("ibmcloud:index/getPiImage:getPiImage", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiImage. +type LookupPiImageArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiImageName string `pulumi:"piImageName"` +} + +// A collection of values returned by getPiImage. +type LookupPiImageResult struct { + Architecture string `pulumi:"architecture"` + Crn string `pulumi:"crn"` + Hypervisor string `pulumi:"hypervisor"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ImageType string `pulumi:"imageType"` + OperatingSystem string `pulumi:"operatingSystem"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiImageName string `pulumi:"piImageName"` + Size int `pulumi:"size"` + SourceChecksum string `pulumi:"sourceChecksum"` + State string `pulumi:"state"` + StoragePool string `pulumi:"storagePool"` + StorageType string `pulumi:"storageType"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiImageOutput(ctx *pulumi.Context, args LookupPiImageOutputArgs, opts ...pulumi.InvokeOption) LookupPiImageResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiImageResultOutput, error) { + args := v.(LookupPiImageArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiImage:getPiImage", args, LookupPiImageResultOutput{}, options).(LookupPiImageResultOutput), nil + }).(LookupPiImageResultOutput) +} + +// A collection of arguments for invoking getPiImage. +type LookupPiImageOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiImageName pulumi.StringInput `pulumi:"piImageName"` +} + +func (LookupPiImageOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiImageArgs)(nil)).Elem() +} + +// A collection of values returned by getPiImage. +type LookupPiImageResultOutput struct{ *pulumi.OutputState } + +func (LookupPiImageResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiImageResult)(nil)).Elem() +} + +func (o LookupPiImageResultOutput) ToLookupPiImageResultOutput() LookupPiImageResultOutput { + return o +} + +func (o LookupPiImageResultOutput) ToLookupPiImageResultOutputWithContext(ctx context.Context) LookupPiImageResultOutput { + return o +} + +func (o LookupPiImageResultOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.Architecture }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) Hypervisor() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.Hypervisor }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiImageResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) ImageType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.ImageType }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.OperatingSystem }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) PiImageName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.PiImageName }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiImageResult) int { return v.Size }).(pulumi.IntOutput) +} + +func (o LookupPiImageResultOutput) SourceChecksum() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.SourceChecksum }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.StoragePool }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiImageResult) string { return v.StorageType }).(pulumi.StringOutput) +} + +func (o LookupPiImageResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiImageResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiImageResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiImages.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiImages.go new file mode 100644 index 000000000..67a258a4d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiImages.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiImages(ctx *pulumi.Context, args *GetPiImagesArgs, opts ...pulumi.InvokeOption) (*GetPiImagesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiImagesResult + err := ctx.Invoke("ibmcloud:index/getPiImages:getPiImages", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiImages. +type GetPiImagesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiImages. +type GetPiImagesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ImageInfos []GetPiImagesImageInfo `pulumi:"imageInfos"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiImagesOutput(ctx *pulumi.Context, args GetPiImagesOutputArgs, opts ...pulumi.InvokeOption) GetPiImagesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiImagesResultOutput, error) { + args := v.(GetPiImagesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiImages:getPiImages", args, GetPiImagesResultOutput{}, options).(GetPiImagesResultOutput), nil + }).(GetPiImagesResultOutput) +} + +// A collection of arguments for invoking getPiImages. +type GetPiImagesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiImagesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiImagesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiImages. +type GetPiImagesResultOutput struct{ *pulumi.OutputState } + +func (GetPiImagesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiImagesResult)(nil)).Elem() +} + +func (o GetPiImagesResultOutput) ToGetPiImagesResultOutput() GetPiImagesResultOutput { + return o +} + +func (o GetPiImagesResultOutput) ToGetPiImagesResultOutputWithContext(ctx context.Context) GetPiImagesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiImagesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiImagesResultOutput) ImageInfos() GetPiImagesImageInfoArrayOutput { + return o.ApplyT(func(v GetPiImagesResult) []GetPiImagesImageInfo { return v.ImageInfos }).(GetPiImagesImageInfoArrayOutput) +} + +func (o GetPiImagesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiImagesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstance.go new file mode 100644 index 000000000..b28de0dcd --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstance.go @@ -0,0 +1,267 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiInstance(ctx *pulumi.Context, args *LookupPiInstanceArgs, opts ...pulumi.InvokeOption) (*LookupPiInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiInstanceResult + err := ctx.Invoke("ibmcloud:index/getPiInstance:getPiInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiInstance. +type LookupPiInstanceArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` +} + +// A collection of values returned by getPiInstance. +type LookupPiInstanceResult struct { + Crn string `pulumi:"crn"` + DedicatedHostId string `pulumi:"dedicatedHostId"` + DeploymentType string `pulumi:"deploymentType"` + EffectiveProcessorCompatibilityMode string `pulumi:"effectiveProcessorCompatibilityMode"` + Fault map[string]string `pulumi:"fault"` + HealthStatus string `pulumi:"healthStatus"` + IbmiCss bool `pulumi:"ibmiCss"` + IbmiPha bool `pulumi:"ibmiPha"` + IbmiRds bool `pulumi:"ibmiRds"` + IbmiRdsUsers int `pulumi:"ibmiRdsUsers"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LicenseRepositoryCapacity int `pulumi:"licenseRepositoryCapacity"` + MaxVirtualCores int `pulumi:"maxVirtualCores"` + Maxmem float64 `pulumi:"maxmem"` + Maxproc float64 `pulumi:"maxproc"` + Memory float64 `pulumi:"memory"` + MinVirtualCores int `pulumi:"minVirtualCores"` + Minmem float64 `pulumi:"minmem"` + Minproc float64 `pulumi:"minproc"` + Networks []GetPiInstanceNetwork `pulumi:"networks"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` + PinPolicy string `pulumi:"pinPolicy"` + PlacementGroupId string `pulumi:"placementGroupId"` + PreferredProcessorCompatibilityMode string `pulumi:"preferredProcessorCompatibilityMode"` + Processors float64 `pulumi:"processors"` + Proctype string `pulumi:"proctype"` + ServerName string `pulumi:"serverName"` + SharedProcessorPool string `pulumi:"sharedProcessorPool"` + SharedProcessorPoolId string `pulumi:"sharedProcessorPoolId"` + Status string `pulumi:"status"` + StorageConnection string `pulumi:"storageConnection"` + StoragePool string `pulumi:"storagePool"` + StoragePoolAffinity bool `pulumi:"storagePoolAffinity"` + StorageType string `pulumi:"storageType"` + UserTags []string `pulumi:"userTags"` + VirtualCoresAssigned int `pulumi:"virtualCoresAssigned"` + VirtualSerialNumbers []GetPiInstanceVirtualSerialNumber `pulumi:"virtualSerialNumbers"` + Volumes []string `pulumi:"volumes"` +} + +func LookupPiInstanceOutput(ctx *pulumi.Context, args LookupPiInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupPiInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiInstanceResultOutput, error) { + args := v.(LookupPiInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiInstance:getPiInstance", args, LookupPiInstanceResultOutput{}, options).(LookupPiInstanceResultOutput), nil + }).(LookupPiInstanceResultOutput) +} + +// A collection of arguments for invoking getPiInstance. +type LookupPiInstanceOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiInstanceName pulumi.StringInput `pulumi:"piInstanceName"` +} + +func (LookupPiInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getPiInstance. +type LookupPiInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupPiInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiInstanceResult)(nil)).Elem() +} + +func (o LookupPiInstanceResultOutput) ToLookupPiInstanceResultOutput() LookupPiInstanceResultOutput { + return o +} + +func (o LookupPiInstanceResultOutput) ToLookupPiInstanceResultOutputWithContext(ctx context.Context) LookupPiInstanceResultOutput { + return o +} + +func (o LookupPiInstanceResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) DedicatedHostId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.DedicatedHostId }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) DeploymentType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.DeploymentType }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) EffectiveProcessorCompatibilityMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.EffectiveProcessorCompatibilityMode }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) Fault() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupPiInstanceResult) map[string]string { return v.Fault }).(pulumi.StringMapOutput) +} + +func (o LookupPiInstanceResultOutput) HealthStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.HealthStatus }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) IbmiCss() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiInstanceResult) bool { return v.IbmiCss }).(pulumi.BoolOutput) +} + +func (o LookupPiInstanceResultOutput) IbmiPha() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiInstanceResult) bool { return v.IbmiPha }).(pulumi.BoolOutput) +} + +func (o LookupPiInstanceResultOutput) IbmiRds() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiInstanceResult) bool { return v.IbmiRds }).(pulumi.BoolOutput) +} + +func (o LookupPiInstanceResultOutput) IbmiRdsUsers() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiInstanceResult) int { return v.IbmiRdsUsers }).(pulumi.IntOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) LicenseRepositoryCapacity() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiInstanceResult) int { return v.LicenseRepositoryCapacity }).(pulumi.IntOutput) +} + +func (o LookupPiInstanceResultOutput) MaxVirtualCores() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiInstanceResult) int { return v.MaxVirtualCores }).(pulumi.IntOutput) +} + +func (o LookupPiInstanceResultOutput) Maxmem() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiInstanceResult) float64 { return v.Maxmem }).(pulumi.Float64Output) +} + +func (o LookupPiInstanceResultOutput) Maxproc() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiInstanceResult) float64 { return v.Maxproc }).(pulumi.Float64Output) +} + +func (o LookupPiInstanceResultOutput) Memory() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiInstanceResult) float64 { return v.Memory }).(pulumi.Float64Output) +} + +func (o LookupPiInstanceResultOutput) MinVirtualCores() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiInstanceResult) int { return v.MinVirtualCores }).(pulumi.IntOutput) +} + +func (o LookupPiInstanceResultOutput) Minmem() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiInstanceResult) float64 { return v.Minmem }).(pulumi.Float64Output) +} + +func (o LookupPiInstanceResultOutput) Minproc() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiInstanceResult) float64 { return v.Minproc }).(pulumi.Float64Output) +} + +func (o LookupPiInstanceResultOutput) Networks() GetPiInstanceNetworkArrayOutput { + return o.ApplyT(func(v LookupPiInstanceResult) []GetPiInstanceNetwork { return v.Networks }).(GetPiInstanceNetworkArrayOutput) +} + +func (o LookupPiInstanceResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.PiInstanceName }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) PinPolicy() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.PinPolicy }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) PlacementGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.PlacementGroupId }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) PreferredProcessorCompatibilityMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.PreferredProcessorCompatibilityMode }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) Processors() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiInstanceResult) float64 { return v.Processors }).(pulumi.Float64Output) +} + +func (o LookupPiInstanceResultOutput) Proctype() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.Proctype }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) ServerName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.ServerName }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) SharedProcessorPool() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.SharedProcessorPool }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) SharedProcessorPoolId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.SharedProcessorPoolId }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) StorageConnection() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.StorageConnection }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.StoragePool }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) StoragePoolAffinity() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiInstanceResult) bool { return v.StoragePoolAffinity }).(pulumi.BoolOutput) +} + +func (o LookupPiInstanceResultOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceResult) string { return v.StorageType }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiInstanceResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func (o LookupPiInstanceResultOutput) VirtualCoresAssigned() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiInstanceResult) int { return v.VirtualCoresAssigned }).(pulumi.IntOutput) +} + +func (o LookupPiInstanceResultOutput) VirtualSerialNumbers() GetPiInstanceVirtualSerialNumberArrayOutput { + return o.ApplyT(func(v LookupPiInstanceResult) []GetPiInstanceVirtualSerialNumber { return v.VirtualSerialNumbers }).(GetPiInstanceVirtualSerialNumberArrayOutput) +} + +func (o LookupPiInstanceResultOutput) Volumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiInstanceResult) []string { return v.Volumes }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiInstanceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceIp.go new file mode 100644 index 000000000..0e25bb18e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceIp.go @@ -0,0 +1,146 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiInstanceIp(ctx *pulumi.Context, args *GetPiInstanceIpArgs, opts ...pulumi.InvokeOption) (*GetPiInstanceIpResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiInstanceIpResult + err := ctx.Invoke("ibmcloud:index/getPiInstanceIp:getPiInstanceIp", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiInstanceIp. +type GetPiInstanceIpArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` + PiNetworkName string `pulumi:"piNetworkName"` +} + +// A collection of values returned by getPiInstanceIp. +type GetPiInstanceIpResult struct { + ExternalIp string `pulumi:"externalIp"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Ip string `pulumi:"ip"` + Ipoctet string `pulumi:"ipoctet"` + MacAddress string `pulumi:"macAddress"` + // Deprecated: Deprecated, use macAddress instead + Macaddress string `pulumi:"macaddress"` + NetworkId string `pulumi:"networkId"` + NetworkInterfaceId string `pulumi:"networkInterfaceId"` + NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` + NetworkSecurityGroupsHreves []string `pulumi:"networkSecurityGroupsHreves"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` + PiNetworkName string `pulumi:"piNetworkName"` + Type string `pulumi:"type"` +} + +func GetPiInstanceIpOutput(ctx *pulumi.Context, args GetPiInstanceIpOutputArgs, opts ...pulumi.InvokeOption) GetPiInstanceIpResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiInstanceIpResultOutput, error) { + args := v.(GetPiInstanceIpArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiInstanceIp:getPiInstanceIp", args, GetPiInstanceIpResultOutput{}, options).(GetPiInstanceIpResultOutput), nil + }).(GetPiInstanceIpResultOutput) +} + +// A collection of arguments for invoking getPiInstanceIp. +type GetPiInstanceIpOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiInstanceName pulumi.StringInput `pulumi:"piInstanceName"` + PiNetworkName pulumi.StringInput `pulumi:"piNetworkName"` +} + +func (GetPiInstanceIpOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceIpArgs)(nil)).Elem() +} + +// A collection of values returned by getPiInstanceIp. +type GetPiInstanceIpResultOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceIpResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceIpResult)(nil)).Elem() +} + +func (o GetPiInstanceIpResultOutput) ToGetPiInstanceIpResultOutput() GetPiInstanceIpResultOutput { + return o +} + +func (o GetPiInstanceIpResultOutput) ToGetPiInstanceIpResultOutputWithContext(ctx context.Context) GetPiInstanceIpResultOutput { + return o +} + +func (o GetPiInstanceIpResultOutput) ExternalIp() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.ExternalIp }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiInstanceIpResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.Ip }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) Ipoctet() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.Ipoctet }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// Deprecated: Deprecated, use macAddress instead +func (o GetPiInstanceIpResultOutput) Macaddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.Macaddress }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.NetworkId }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) NetworkSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) []string { return v.NetworkSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +func (o GetPiInstanceIpResultOutput) NetworkSecurityGroupsHreves() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) []string { return v.NetworkSecurityGroupsHreves }).(pulumi.StringArrayOutput) +} + +func (o GetPiInstanceIpResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.PiInstanceName }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) PiNetworkName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.PiNetworkName }).(pulumi.StringOutput) +} + +func (o GetPiInstanceIpResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceIpResult) string { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiInstanceIpResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceSnapshot.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceSnapshot.go new file mode 100644 index 000000000..46dc18b4b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceSnapshot.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiInstanceSnapshot(ctx *pulumi.Context, args *LookupPiInstanceSnapshotArgs, opts ...pulumi.InvokeOption) (*LookupPiInstanceSnapshotResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiInstanceSnapshotResult + err := ctx.Invoke("ibmcloud:index/getPiInstanceSnapshot:getPiInstanceSnapshot", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiInstanceSnapshot. +type LookupPiInstanceSnapshotArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSnapshotId string `pulumi:"piSnapshotId"` +} + +// A collection of values returned by getPiInstanceSnapshot. +type LookupPiInstanceSnapshotResult struct { + Action string `pulumi:"action"` + CreationDate string `pulumi:"creationDate"` + Crn string `pulumi:"crn"` + Description string `pulumi:"description"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LastUpdatedDate string `pulumi:"lastUpdatedDate"` + Name string `pulumi:"name"` + PercentComplete int `pulumi:"percentComplete"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSnapshotId string `pulumi:"piSnapshotId"` + Status string `pulumi:"status"` + StatusDetail string `pulumi:"statusDetail"` + UserTags []string `pulumi:"userTags"` + VolumeSnapshots map[string]string `pulumi:"volumeSnapshots"` +} + +func LookupPiInstanceSnapshotOutput(ctx *pulumi.Context, args LookupPiInstanceSnapshotOutputArgs, opts ...pulumi.InvokeOption) LookupPiInstanceSnapshotResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiInstanceSnapshotResultOutput, error) { + args := v.(LookupPiInstanceSnapshotArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiInstanceSnapshot:getPiInstanceSnapshot", args, LookupPiInstanceSnapshotResultOutput{}, options).(LookupPiInstanceSnapshotResultOutput), nil + }).(LookupPiInstanceSnapshotResultOutput) +} + +// A collection of arguments for invoking getPiInstanceSnapshot. +type LookupPiInstanceSnapshotOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiSnapshotId pulumi.StringInput `pulumi:"piSnapshotId"` +} + +func (LookupPiInstanceSnapshotOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiInstanceSnapshotArgs)(nil)).Elem() +} + +// A collection of values returned by getPiInstanceSnapshot. +type LookupPiInstanceSnapshotResultOutput struct{ *pulumi.OutputState } + +func (LookupPiInstanceSnapshotResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiInstanceSnapshotResult)(nil)).Elem() +} + +func (o LookupPiInstanceSnapshotResultOutput) ToLookupPiInstanceSnapshotResultOutput() LookupPiInstanceSnapshotResultOutput { + return o +} + +func (o LookupPiInstanceSnapshotResultOutput) ToLookupPiInstanceSnapshotResultOutputWithContext(ctx context.Context) LookupPiInstanceSnapshotResultOutput { + return o +} + +func (o LookupPiInstanceSnapshotResultOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.Action }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiInstanceSnapshotResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) LastUpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.LastUpdatedDate }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) PercentComplete() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) int { return v.PercentComplete }).(pulumi.IntOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) PiSnapshotId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.PiSnapshotId }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) StatusDetail() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) string { return v.StatusDetail }).(pulumi.StringOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func (o LookupPiInstanceSnapshotResultOutput) VolumeSnapshots() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupPiInstanceSnapshotResult) map[string]string { return v.VolumeSnapshots }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiInstanceSnapshotResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceSnapshots.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceSnapshots.go new file mode 100644 index 000000000..eae73b3c1 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceSnapshots.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiInstanceSnapshots(ctx *pulumi.Context, args *GetPiInstanceSnapshotsArgs, opts ...pulumi.InvokeOption) (*GetPiInstanceSnapshotsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiInstanceSnapshotsResult + err := ctx.Invoke("ibmcloud:index/getPiInstanceSnapshots:getPiInstanceSnapshots", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiInstanceSnapshots. +type GetPiInstanceSnapshotsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiInstanceSnapshots. +type GetPiInstanceSnapshotsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceSnapshots []GetPiInstanceSnapshotsInstanceSnapshot `pulumi:"instanceSnapshots"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiInstanceSnapshotsOutput(ctx *pulumi.Context, args GetPiInstanceSnapshotsOutputArgs, opts ...pulumi.InvokeOption) GetPiInstanceSnapshotsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiInstanceSnapshotsResultOutput, error) { + args := v.(GetPiInstanceSnapshotsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiInstanceSnapshots:getPiInstanceSnapshots", args, GetPiInstanceSnapshotsResultOutput{}, options).(GetPiInstanceSnapshotsResultOutput), nil + }).(GetPiInstanceSnapshotsResultOutput) +} + +// A collection of arguments for invoking getPiInstanceSnapshots. +type GetPiInstanceSnapshotsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiInstanceSnapshotsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceSnapshotsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiInstanceSnapshots. +type GetPiInstanceSnapshotsResultOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceSnapshotsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceSnapshotsResult)(nil)).Elem() +} + +func (o GetPiInstanceSnapshotsResultOutput) ToGetPiInstanceSnapshotsResultOutput() GetPiInstanceSnapshotsResultOutput { + return o +} + +func (o GetPiInstanceSnapshotsResultOutput) ToGetPiInstanceSnapshotsResultOutputWithContext(ctx context.Context) GetPiInstanceSnapshotsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiInstanceSnapshotsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiInstanceSnapshotsResultOutput) InstanceSnapshots() GetPiInstanceSnapshotsInstanceSnapshotArrayOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsResult) []GetPiInstanceSnapshotsInstanceSnapshot { + return v.InstanceSnapshots + }).(GetPiInstanceSnapshotsInstanceSnapshotArrayOutput) +} + +func (o GetPiInstanceSnapshotsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiInstanceSnapshotsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceVolumes.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceVolumes.go new file mode 100644 index 000000000..47717ca86 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstanceVolumes.go @@ -0,0 +1,97 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiInstanceVolumes(ctx *pulumi.Context, args *GetPiInstanceVolumesArgs, opts ...pulumi.InvokeOption) (*GetPiInstanceVolumesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiInstanceVolumesResult + err := ctx.Invoke("ibmcloud:index/getPiInstanceVolumes:getPiInstanceVolumes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiInstanceVolumes. +type GetPiInstanceVolumesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` +} + +// A collection of values returned by getPiInstanceVolumes. +type GetPiInstanceVolumesResult struct { + BootVolumeId string `pulumi:"bootVolumeId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceVolumes []GetPiInstanceVolumesInstanceVolume `pulumi:"instanceVolumes"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` +} + +func GetPiInstanceVolumesOutput(ctx *pulumi.Context, args GetPiInstanceVolumesOutputArgs, opts ...pulumi.InvokeOption) GetPiInstanceVolumesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiInstanceVolumesResultOutput, error) { + args := v.(GetPiInstanceVolumesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiInstanceVolumes:getPiInstanceVolumes", args, GetPiInstanceVolumesResultOutput{}, options).(GetPiInstanceVolumesResultOutput), nil + }).(GetPiInstanceVolumesResultOutput) +} + +// A collection of arguments for invoking getPiInstanceVolumes. +type GetPiInstanceVolumesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiInstanceName pulumi.StringInput `pulumi:"piInstanceName"` +} + +func (GetPiInstanceVolumesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceVolumesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiInstanceVolumes. +type GetPiInstanceVolumesResultOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceVolumesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceVolumesResult)(nil)).Elem() +} + +func (o GetPiInstanceVolumesResultOutput) ToGetPiInstanceVolumesResultOutput() GetPiInstanceVolumesResultOutput { + return o +} + +func (o GetPiInstanceVolumesResultOutput) ToGetPiInstanceVolumesResultOutputWithContext(ctx context.Context) GetPiInstanceVolumesResultOutput { + return o +} + +func (o GetPiInstanceVolumesResultOutput) BootVolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesResult) string { return v.BootVolumeId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiInstanceVolumesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiInstanceVolumesResultOutput) InstanceVolumes() GetPiInstanceVolumesInstanceVolumeArrayOutput { + return o.ApplyT(func(v GetPiInstanceVolumesResult) []GetPiInstanceVolumesInstanceVolume { return v.InstanceVolumes }).(GetPiInstanceVolumesInstanceVolumeArrayOutput) +} + +func (o GetPiInstanceVolumesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiInstanceVolumesResultOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesResult) string { return v.PiInstanceName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiInstanceVolumesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstances.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstances.go new file mode 100644 index 000000000..3b93c216e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiInstances.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiInstances(ctx *pulumi.Context, args *GetPiInstancesArgs, opts ...pulumi.InvokeOption) (*GetPiInstancesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiInstancesResult + err := ctx.Invoke("ibmcloud:index/getPiInstances:getPiInstances", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiInstances. +type GetPiInstancesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiInstances. +type GetPiInstancesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PvmInstances []GetPiInstancesPvmInstance `pulumi:"pvmInstances"` +} + +func GetPiInstancesOutput(ctx *pulumi.Context, args GetPiInstancesOutputArgs, opts ...pulumi.InvokeOption) GetPiInstancesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiInstancesResultOutput, error) { + args := v.(GetPiInstancesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiInstances:getPiInstances", args, GetPiInstancesResultOutput{}, options).(GetPiInstancesResultOutput), nil + }).(GetPiInstancesResultOutput) +} + +// A collection of arguments for invoking getPiInstances. +type GetPiInstancesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiInstancesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstancesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiInstances. +type GetPiInstancesResultOutput struct{ *pulumi.OutputState } + +func (GetPiInstancesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstancesResult)(nil)).Elem() +} + +func (o GetPiInstancesResultOutput) ToGetPiInstancesResultOutput() GetPiInstancesResultOutput { + return o +} + +func (o GetPiInstancesResultOutput) ToGetPiInstancesResultOutputWithContext(ctx context.Context) GetPiInstancesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiInstancesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiInstancesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiInstancesResultOutput) PvmInstances() GetPiInstancesPvmInstanceArrayOutput { + return o.ApplyT(func(v GetPiInstancesResult) []GetPiInstancesPvmInstance { return v.PvmInstances }).(GetPiInstancesPvmInstanceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiInstancesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiKey.go new file mode 100644 index 000000000..e8f13433a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiKey.go @@ -0,0 +1,133 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiKey(ctx *pulumi.Context, args *LookupPiKeyArgs, opts ...pulumi.InvokeOption) (*LookupPiKeyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiKeyResult + err := ctx.Invoke("ibmcloud:index/getPiKey:getPiKey", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiKey. +type LookupPiKeyArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Deprecated: The piKeyName field is deprecated. Please use piSshKeyId instead + PiKeyName *string `pulumi:"piKeyName"` + PiSshKeyId *string `pulumi:"piSshKeyId"` +} + +// A collection of values returned by getPiKey. +type LookupPiKeyResult struct { + CreationDate string `pulumi:"creationDate"` + Description string `pulumi:"description"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Deprecated: The piKeyName field is deprecated. Please use piSshKeyId instead + PiKeyName *string `pulumi:"piKeyName"` + PiSshKeyId *string `pulumi:"piSshKeyId"` + PrimaryWorkspace bool `pulumi:"primaryWorkspace"` + SshKey string `pulumi:"sshKey"` + SshKeyId string `pulumi:"sshKeyId"` + Visibility string `pulumi:"visibility"` +} + +func LookupPiKeyOutput(ctx *pulumi.Context, args LookupPiKeyOutputArgs, opts ...pulumi.InvokeOption) LookupPiKeyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiKeyResultOutput, error) { + args := v.(LookupPiKeyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiKey:getPiKey", args, LookupPiKeyResultOutput{}, options).(LookupPiKeyResultOutput), nil + }).(LookupPiKeyResultOutput) +} + +// A collection of arguments for invoking getPiKey. +type LookupPiKeyOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + // Deprecated: The piKeyName field is deprecated. Please use piSshKeyId instead + PiKeyName pulumi.StringPtrInput `pulumi:"piKeyName"` + PiSshKeyId pulumi.StringPtrInput `pulumi:"piSshKeyId"` +} + +func (LookupPiKeyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiKeyArgs)(nil)).Elem() +} + +// A collection of values returned by getPiKey. +type LookupPiKeyResultOutput struct{ *pulumi.OutputState } + +func (LookupPiKeyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiKeyResult)(nil)).Elem() +} + +func (o LookupPiKeyResultOutput) ToLookupPiKeyResultOutput() LookupPiKeyResultOutput { + return o +} + +func (o LookupPiKeyResultOutput) ToLookupPiKeyResultOutputWithContext(ctx context.Context) LookupPiKeyResultOutput { + return o +} + +func (o LookupPiKeyResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiKeyResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o LookupPiKeyResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiKeyResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiKeyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiKeyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiKeyResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiKeyResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiKeyResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiKeyResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Deprecated: The piKeyName field is deprecated. Please use piSshKeyId instead +func (o LookupPiKeyResultOutput) PiKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPiKeyResult) *string { return v.PiKeyName }).(pulumi.StringPtrOutput) +} + +func (o LookupPiKeyResultOutput) PiSshKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPiKeyResult) *string { return v.PiSshKeyId }).(pulumi.StringPtrOutput) +} + +func (o LookupPiKeyResultOutput) PrimaryWorkspace() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiKeyResult) bool { return v.PrimaryWorkspace }).(pulumi.BoolOutput) +} + +func (o LookupPiKeyResultOutput) SshKey() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiKeyResult) string { return v.SshKey }).(pulumi.StringOutput) +} + +func (o LookupPiKeyResultOutput) SshKeyId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiKeyResult) string { return v.SshKeyId }).(pulumi.StringOutput) +} + +func (o LookupPiKeyResultOutput) Visibility() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiKeyResult) string { return v.Visibility }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiKeyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiKeys.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiKeys.go new file mode 100644 index 000000000..1594363b5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiKeys.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiKeys(ctx *pulumi.Context, args *GetPiKeysArgs, opts ...pulumi.InvokeOption) (*GetPiKeysResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiKeysResult + err := ctx.Invoke("ibmcloud:index/getPiKeys:getPiKeys", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiKeys. +type GetPiKeysArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiKeys. +type GetPiKeysResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Keys []GetPiKeysKey `pulumi:"keys"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiKeysOutput(ctx *pulumi.Context, args GetPiKeysOutputArgs, opts ...pulumi.InvokeOption) GetPiKeysResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiKeysResultOutput, error) { + args := v.(GetPiKeysArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiKeys:getPiKeys", args, GetPiKeysResultOutput{}, options).(GetPiKeysResultOutput), nil + }).(GetPiKeysResultOutput) +} + +// A collection of arguments for invoking getPiKeys. +type GetPiKeysOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiKeysOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiKeysArgs)(nil)).Elem() +} + +// A collection of values returned by getPiKeys. +type GetPiKeysResultOutput struct{ *pulumi.OutputState } + +func (GetPiKeysResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiKeysResult)(nil)).Elem() +} + +func (o GetPiKeysResultOutput) ToGetPiKeysResultOutput() GetPiKeysResultOutput { + return o +} + +func (o GetPiKeysResultOutput) ToGetPiKeysResultOutputWithContext(ctx context.Context) GetPiKeysResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiKeysResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiKeysResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiKeysResultOutput) Keys() GetPiKeysKeyArrayOutput { + return o.ApplyT(func(v GetPiKeysResult) []GetPiKeysKey { return v.Keys }).(GetPiKeysKeyArrayOutput) +} + +func (o GetPiKeysResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiKeysResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiKeysResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetwork.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetwork.go new file mode 100644 index 000000000..8e6cac799 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetwork.go @@ -0,0 +1,182 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiNetwork(ctx *pulumi.Context, args *LookupPiNetworkArgs, opts ...pulumi.InvokeOption) (*LookupPiNetworkResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiNetworkResult + err := ctx.Invoke("ibmcloud:index/getPiNetwork:getPiNetwork", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetwork. +type LookupPiNetworkArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkId *string `pulumi:"piNetworkId"` + // Deprecated: The piNetworkName field is deprecated. Please use piNetworkId instead + PiNetworkName *string `pulumi:"piNetworkName"` +} + +// A collection of values returned by getPiNetwork. +type LookupPiNetworkResult struct { + Advertise string `pulumi:"advertise"` + ArpBroadcast string `pulumi:"arpBroadcast"` + AvailableIpCount float64 `pulumi:"availableIpCount"` + Cidr string `pulumi:"cidr"` + Crn string `pulumi:"crn"` + Dns []string `pulumi:"dns"` + Gateway string `pulumi:"gateway"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Mtu int `pulumi:"mtu"` + Name string `pulumi:"name"` + NetworkAddressTranslations []GetPiNetworkNetworkAddressTranslation `pulumi:"networkAddressTranslations"` + // Deprecated: This field is deprecated + PeerId string `pulumi:"peerId"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkId *string `pulumi:"piNetworkId"` + // Deprecated: The piNetworkName field is deprecated. Please use piNetworkId instead + PiNetworkName *string `pulumi:"piNetworkName"` + Type string `pulumi:"type"` + UsedIpCount float64 `pulumi:"usedIpCount"` + UsedIpPercent float64 `pulumi:"usedIpPercent"` + UserTags []string `pulumi:"userTags"` + VlanId int `pulumi:"vlanId"` +} + +func LookupPiNetworkOutput(ctx *pulumi.Context, args LookupPiNetworkOutputArgs, opts ...pulumi.InvokeOption) LookupPiNetworkResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiNetworkResultOutput, error) { + args := v.(LookupPiNetworkArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetwork:getPiNetwork", args, LookupPiNetworkResultOutput{}, options).(LookupPiNetworkResultOutput), nil + }).(LookupPiNetworkResultOutput) +} + +// A collection of arguments for invoking getPiNetwork. +type LookupPiNetworkOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiNetworkId pulumi.StringPtrInput `pulumi:"piNetworkId"` + // Deprecated: The piNetworkName field is deprecated. Please use piNetworkId instead + PiNetworkName pulumi.StringPtrInput `pulumi:"piNetworkName"` +} + +func (LookupPiNetworkOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetwork. +type LookupPiNetworkResultOutput struct{ *pulumi.OutputState } + +func (LookupPiNetworkResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkResult)(nil)).Elem() +} + +func (o LookupPiNetworkResultOutput) ToLookupPiNetworkResultOutput() LookupPiNetworkResultOutput { + return o +} + +func (o LookupPiNetworkResultOutput) ToLookupPiNetworkResultOutputWithContext(ctx context.Context) LookupPiNetworkResultOutput { + return o +} + +func (o LookupPiNetworkResultOutput) Advertise() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.Advertise }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) ArpBroadcast() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.ArpBroadcast }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) AvailableIpCount() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiNetworkResult) float64 { return v.AvailableIpCount }).(pulumi.Float64Output) +} + +func (o LookupPiNetworkResultOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.Cidr }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) Dns() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiNetworkResult) []string { return v.Dns }).(pulumi.StringArrayOutput) +} + +func (o LookupPiNetworkResultOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.Gateway }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiNetworkResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) Mtu() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiNetworkResult) int { return v.Mtu }).(pulumi.IntOutput) +} + +func (o LookupPiNetworkResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) NetworkAddressTranslations() GetPiNetworkNetworkAddressTranslationArrayOutput { + return o.ApplyT(func(v LookupPiNetworkResult) []GetPiNetworkNetworkAddressTranslation { + return v.NetworkAddressTranslations + }).(GetPiNetworkNetworkAddressTranslationArrayOutput) +} + +// Deprecated: This field is deprecated +func (o LookupPiNetworkResultOutput) PeerId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.PeerId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) PiNetworkId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPiNetworkResult) *string { return v.PiNetworkId }).(pulumi.StringPtrOutput) +} + +// Deprecated: The piNetworkName field is deprecated. Please use piNetworkId instead +func (o LookupPiNetworkResultOutput) PiNetworkName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPiNetworkResult) *string { return v.PiNetworkName }).(pulumi.StringPtrOutput) +} + +func (o LookupPiNetworkResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkResultOutput) UsedIpCount() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiNetworkResult) float64 { return v.UsedIpCount }).(pulumi.Float64Output) +} + +func (o LookupPiNetworkResultOutput) UsedIpPercent() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiNetworkResult) float64 { return v.UsedIpPercent }).(pulumi.Float64Output) +} + +func (o LookupPiNetworkResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiNetworkResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func (o LookupPiNetworkResultOutput) VlanId() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiNetworkResult) int { return v.VlanId }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiNetworkResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkAddressGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkAddressGroup.go new file mode 100644 index 000000000..639585506 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkAddressGroup.go @@ -0,0 +1,107 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiNetworkAddressGroup(ctx *pulumi.Context, args *LookupPiNetworkAddressGroupArgs, opts ...pulumi.InvokeOption) (*LookupPiNetworkAddressGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiNetworkAddressGroupResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkAddressGroup:getPiNetworkAddressGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkAddressGroup. +type LookupPiNetworkAddressGroupArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkAddressGroupId string `pulumi:"piNetworkAddressGroupId"` +} + +// A collection of values returned by getPiNetworkAddressGroup. +type LookupPiNetworkAddressGroupResult struct { + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Members []GetPiNetworkAddressGroupMemberType `pulumi:"members"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkAddressGroupId string `pulumi:"piNetworkAddressGroupId"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiNetworkAddressGroupOutput(ctx *pulumi.Context, args LookupPiNetworkAddressGroupOutputArgs, opts ...pulumi.InvokeOption) LookupPiNetworkAddressGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiNetworkAddressGroupResultOutput, error) { + args := v.(LookupPiNetworkAddressGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkAddressGroup:getPiNetworkAddressGroup", args, LookupPiNetworkAddressGroupResultOutput{}, options).(LookupPiNetworkAddressGroupResultOutput), nil + }).(LookupPiNetworkAddressGroupResultOutput) +} + +// A collection of arguments for invoking getPiNetworkAddressGroup. +type LookupPiNetworkAddressGroupOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiNetworkAddressGroupId pulumi.StringInput `pulumi:"piNetworkAddressGroupId"` +} + +func (LookupPiNetworkAddressGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkAddressGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkAddressGroup. +type LookupPiNetworkAddressGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupPiNetworkAddressGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkAddressGroupResult)(nil)).Elem() +} + +func (o LookupPiNetworkAddressGroupResultOutput) ToLookupPiNetworkAddressGroupResultOutput() LookupPiNetworkAddressGroupResultOutput { + return o +} + +func (o LookupPiNetworkAddressGroupResultOutput) ToLookupPiNetworkAddressGroupResultOutputWithContext(ctx context.Context) LookupPiNetworkAddressGroupResultOutput { + return o +} + +func (o LookupPiNetworkAddressGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkAddressGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiNetworkAddressGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkAddressGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkAddressGroupResultOutput) Members() GetPiNetworkAddressGroupMemberTypeArrayOutput { + return o.ApplyT(func(v LookupPiNetworkAddressGroupResult) []GetPiNetworkAddressGroupMemberType { return v.Members }).(GetPiNetworkAddressGroupMemberTypeArrayOutput) +} + +func (o LookupPiNetworkAddressGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkAddressGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkAddressGroupResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkAddressGroupResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkAddressGroupResultOutput) PiNetworkAddressGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkAddressGroupResult) string { return v.PiNetworkAddressGroupId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkAddressGroupResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiNetworkAddressGroupResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiNetworkAddressGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkAddressGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkAddressGroups.go new file mode 100644 index 000000000..deca9a0f2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkAddressGroups.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiNetworkAddressGroups(ctx *pulumi.Context, args *GetPiNetworkAddressGroupsArgs, opts ...pulumi.InvokeOption) (*GetPiNetworkAddressGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiNetworkAddressGroupsResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkAddressGroups:getPiNetworkAddressGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkAddressGroups. +type GetPiNetworkAddressGroupsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiNetworkAddressGroups. +type GetPiNetworkAddressGroupsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkAddressGroups []GetPiNetworkAddressGroupsNetworkAddressGroup `pulumi:"networkAddressGroups"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiNetworkAddressGroupsOutput(ctx *pulumi.Context, args GetPiNetworkAddressGroupsOutputArgs, opts ...pulumi.InvokeOption) GetPiNetworkAddressGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiNetworkAddressGroupsResultOutput, error) { + args := v.(GetPiNetworkAddressGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkAddressGroups:getPiNetworkAddressGroups", args, GetPiNetworkAddressGroupsResultOutput{}, options).(GetPiNetworkAddressGroupsResultOutput), nil + }).(GetPiNetworkAddressGroupsResultOutput) +} + +// A collection of arguments for invoking getPiNetworkAddressGroups. +type GetPiNetworkAddressGroupsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiNetworkAddressGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkAddressGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkAddressGroups. +type GetPiNetworkAddressGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkAddressGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkAddressGroupsResult)(nil)).Elem() +} + +func (o GetPiNetworkAddressGroupsResultOutput) ToGetPiNetworkAddressGroupsResultOutput() GetPiNetworkAddressGroupsResultOutput { + return o +} + +func (o GetPiNetworkAddressGroupsResultOutput) ToGetPiNetworkAddressGroupsResultOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiNetworkAddressGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiNetworkAddressGroupsResultOutput) NetworkAddressGroups() GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsResult) []GetPiNetworkAddressGroupsNetworkAddressGroup { + return v.NetworkAddressGroups + }).(GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput) +} + +func (o GetPiNetworkAddressGroupsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiNetworkAddressGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkInterface.go new file mode 100644 index 000000000..975a895f7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkInterface.go @@ -0,0 +1,146 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiNetworkInterface(ctx *pulumi.Context, args *LookupPiNetworkInterfaceArgs, opts ...pulumi.InvokeOption) (*LookupPiNetworkInterfaceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiNetworkInterfaceResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkInterface:getPiNetworkInterface", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkInterface. +type LookupPiNetworkInterfaceArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkId string `pulumi:"piNetworkId"` + PiNetworkInterfaceId string `pulumi:"piNetworkInterfaceId"` +} + +// A collection of values returned by getPiNetworkInterface. +type LookupPiNetworkInterfaceResult struct { + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instances []GetPiNetworkInterfaceInstance `pulumi:"instances"` + IpAddress string `pulumi:"ipAddress"` + MacAddress string `pulumi:"macAddress"` + Name string `pulumi:"name"` + NetworkInterfaceId string `pulumi:"networkInterfaceId"` + // Deprecated: Deprecated, use networkSecurityGroupIds instead. + NetworkSecurityGroupId string `pulumi:"networkSecurityGroupId"` + NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkId string `pulumi:"piNetworkId"` + PiNetworkInterfaceId string `pulumi:"piNetworkInterfaceId"` + Status string `pulumi:"status"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiNetworkInterfaceOutput(ctx *pulumi.Context, args LookupPiNetworkInterfaceOutputArgs, opts ...pulumi.InvokeOption) LookupPiNetworkInterfaceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiNetworkInterfaceResultOutput, error) { + args := v.(LookupPiNetworkInterfaceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkInterface:getPiNetworkInterface", args, LookupPiNetworkInterfaceResultOutput{}, options).(LookupPiNetworkInterfaceResultOutput), nil + }).(LookupPiNetworkInterfaceResultOutput) +} + +// A collection of arguments for invoking getPiNetworkInterface. +type LookupPiNetworkInterfaceOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiNetworkId pulumi.StringInput `pulumi:"piNetworkId"` + PiNetworkInterfaceId pulumi.StringInput `pulumi:"piNetworkInterfaceId"` +} + +func (LookupPiNetworkInterfaceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkInterfaceArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkInterface. +type LookupPiNetworkInterfaceResultOutput struct{ *pulumi.OutputState } + +func (LookupPiNetworkInterfaceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkInterfaceResult)(nil)).Elem() +} + +func (o LookupPiNetworkInterfaceResultOutput) ToLookupPiNetworkInterfaceResultOutput() LookupPiNetworkInterfaceResultOutput { + return o +} + +func (o LookupPiNetworkInterfaceResultOutput) ToLookupPiNetworkInterfaceResultOutputWithContext(ctx context.Context) LookupPiNetworkInterfaceResultOutput { + return o +} + +func (o LookupPiNetworkInterfaceResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiNetworkInterfaceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) Instances() GetPiNetworkInterfaceInstanceArrayOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) []GetPiNetworkInterfaceInstance { return v.Instances }).(GetPiNetworkInterfaceInstanceArrayOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) IpAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.IpAddress }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.MacAddress }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +} + +// Deprecated: Deprecated, use networkSecurityGroupIds instead. +func (o LookupPiNetworkInterfaceResultOutput) NetworkSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.NetworkSecurityGroupId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) NetworkSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) []string { return v.NetworkSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) PiNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.PiNetworkId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) PiNetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.PiNetworkInterfaceId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkInterfaceResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiNetworkInterfaceResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiNetworkInterfaceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkInterfaces.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkInterfaces.go new file mode 100644 index 000000000..91dcb6f97 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkInterfaces.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiNetworkInterfaces(ctx *pulumi.Context, args *GetPiNetworkInterfacesArgs, opts ...pulumi.InvokeOption) (*GetPiNetworkInterfacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiNetworkInterfacesResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkInterfaces:getPiNetworkInterfaces", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkInterfaces. +type GetPiNetworkInterfacesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkId string `pulumi:"piNetworkId"` +} + +// A collection of values returned by getPiNetworkInterfaces. +type GetPiNetworkInterfacesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Interfaces []GetPiNetworkInterfacesInterface `pulumi:"interfaces"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkId string `pulumi:"piNetworkId"` +} + +func GetPiNetworkInterfacesOutput(ctx *pulumi.Context, args GetPiNetworkInterfacesOutputArgs, opts ...pulumi.InvokeOption) GetPiNetworkInterfacesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiNetworkInterfacesResultOutput, error) { + args := v.(GetPiNetworkInterfacesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkInterfaces:getPiNetworkInterfaces", args, GetPiNetworkInterfacesResultOutput{}, options).(GetPiNetworkInterfacesResultOutput), nil + }).(GetPiNetworkInterfacesResultOutput) +} + +// A collection of arguments for invoking getPiNetworkInterfaces. +type GetPiNetworkInterfacesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiNetworkId pulumi.StringInput `pulumi:"piNetworkId"` +} + +func (GetPiNetworkInterfacesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkInterfacesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkInterfaces. +type GetPiNetworkInterfacesResultOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkInterfacesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkInterfacesResult)(nil)).Elem() +} + +func (o GetPiNetworkInterfacesResultOutput) ToGetPiNetworkInterfacesResultOutput() GetPiNetworkInterfacesResultOutput { + return o +} + +func (o GetPiNetworkInterfacesResultOutput) ToGetPiNetworkInterfacesResultOutputWithContext(ctx context.Context) GetPiNetworkInterfacesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiNetworkInterfacesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiNetworkInterfacesResultOutput) Interfaces() GetPiNetworkInterfacesInterfaceArrayOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesResult) []GetPiNetworkInterfacesInterface { return v.Interfaces }).(GetPiNetworkInterfacesInterfaceArrayOutput) +} + +func (o GetPiNetworkInterfacesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiNetworkInterfacesResultOutput) PiNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesResult) string { return v.PiNetworkId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiNetworkInterfacesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeer.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeer.go new file mode 100644 index 000000000..6338be07d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeer.go @@ -0,0 +1,167 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiNetworkPeer(ctx *pulumi.Context, args *LookupPiNetworkPeerArgs, opts ...pulumi.InvokeOption) (*LookupPiNetworkPeerResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiNetworkPeerResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkPeer:getPiNetworkPeer", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkPeer. +type LookupPiNetworkPeerArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkPeerId string `pulumi:"piNetworkPeerId"` +} + +// A collection of values returned by getPiNetworkPeer. +type LookupPiNetworkPeerResult struct { + CreationDate string `pulumi:"creationDate"` + CustomerAsn int `pulumi:"customerAsn"` + CustomerCidr string `pulumi:"customerCidr"` + DefaultExportRouteFilter string `pulumi:"defaultExportRouteFilter"` + DefaultImportRouteFilter string `pulumi:"defaultImportRouteFilter"` + Error string `pulumi:"error"` + ExportRouteFilters []GetPiNetworkPeerExportRouteFilter `pulumi:"exportRouteFilters"` + IbmAsn int `pulumi:"ibmAsn"` + IbmCidr string `pulumi:"ibmCidr"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ImportRouteFilters []GetPiNetworkPeerImportRouteFilter `pulumi:"importRouteFilters"` + Name string `pulumi:"name"` + PeerInterfaceId string `pulumi:"peerInterfaceId"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkPeerId string `pulumi:"piNetworkPeerId"` + State string `pulumi:"state"` + Type string `pulumi:"type"` + UpdatedDate string `pulumi:"updatedDate"` + Vlan int `pulumi:"vlan"` +} + +func LookupPiNetworkPeerOutput(ctx *pulumi.Context, args LookupPiNetworkPeerOutputArgs, opts ...pulumi.InvokeOption) LookupPiNetworkPeerResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiNetworkPeerResultOutput, error) { + args := v.(LookupPiNetworkPeerArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkPeer:getPiNetworkPeer", args, LookupPiNetworkPeerResultOutput{}, options).(LookupPiNetworkPeerResultOutput), nil + }).(LookupPiNetworkPeerResultOutput) +} + +// A collection of arguments for invoking getPiNetworkPeer. +type LookupPiNetworkPeerOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiNetworkPeerId pulumi.StringInput `pulumi:"piNetworkPeerId"` +} + +func (LookupPiNetworkPeerOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkPeerArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkPeer. +type LookupPiNetworkPeerResultOutput struct{ *pulumi.OutputState } + +func (LookupPiNetworkPeerResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkPeerResult)(nil)).Elem() +} + +func (o LookupPiNetworkPeerResultOutput) ToLookupPiNetworkPeerResultOutput() LookupPiNetworkPeerResultOutput { + return o +} + +func (o LookupPiNetworkPeerResultOutput) ToLookupPiNetworkPeerResultOutputWithContext(ctx context.Context) LookupPiNetworkPeerResultOutput { + return o +} + +func (o LookupPiNetworkPeerResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) CustomerAsn() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) int { return v.CustomerAsn }).(pulumi.IntOutput) +} + +func (o LookupPiNetworkPeerResultOutput) CustomerCidr() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.CustomerCidr }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) DefaultExportRouteFilter() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.DefaultExportRouteFilter }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) DefaultImportRouteFilter() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.DefaultImportRouteFilter }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.Error }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) ExportRouteFilters() GetPiNetworkPeerExportRouteFilterArrayOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) []GetPiNetworkPeerExportRouteFilter { return v.ExportRouteFilters }).(GetPiNetworkPeerExportRouteFilterArrayOutput) +} + +func (o LookupPiNetworkPeerResultOutput) IbmAsn() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) int { return v.IbmAsn }).(pulumi.IntOutput) +} + +func (o LookupPiNetworkPeerResultOutput) IbmCidr() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.IbmCidr }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiNetworkPeerResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) ImportRouteFilters() GetPiNetworkPeerImportRouteFilterArrayOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) []GetPiNetworkPeerImportRouteFilter { return v.ImportRouteFilters }).(GetPiNetworkPeerImportRouteFilterArrayOutput) +} + +func (o LookupPiNetworkPeerResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) PeerInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.PeerInterfaceId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) PiNetworkPeerId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.PiNetworkPeerId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) UpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) string { return v.UpdatedDate }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerResultOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiNetworkPeerResult) int { return v.Vlan }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiNetworkPeerResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeerInterfaces.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeerInterfaces.go new file mode 100644 index 000000000..48e67d999 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeerInterfaces.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiNetworkPeerInterfaces(ctx *pulumi.Context, args *GetPiNetworkPeerInterfacesArgs, opts ...pulumi.InvokeOption) (*GetPiNetworkPeerInterfacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiNetworkPeerInterfacesResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkPeerInterfaces:getPiNetworkPeerInterfaces", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkPeerInterfaces. +type GetPiNetworkPeerInterfacesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiNetworkPeerInterfaces. +type GetPiNetworkPeerInterfacesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PeerInterfaces []GetPiNetworkPeerInterfacesPeerInterface `pulumi:"peerInterfaces"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiNetworkPeerInterfacesOutput(ctx *pulumi.Context, args GetPiNetworkPeerInterfacesOutputArgs, opts ...pulumi.InvokeOption) GetPiNetworkPeerInterfacesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiNetworkPeerInterfacesResultOutput, error) { + args := v.(GetPiNetworkPeerInterfacesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkPeerInterfaces:getPiNetworkPeerInterfaces", args, GetPiNetworkPeerInterfacesResultOutput{}, options).(GetPiNetworkPeerInterfacesResultOutput), nil + }).(GetPiNetworkPeerInterfacesResultOutput) +} + +// A collection of arguments for invoking getPiNetworkPeerInterfaces. +type GetPiNetworkPeerInterfacesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiNetworkPeerInterfacesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeerInterfacesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkPeerInterfaces. +type GetPiNetworkPeerInterfacesResultOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeerInterfacesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeerInterfacesResult)(nil)).Elem() +} + +func (o GetPiNetworkPeerInterfacesResultOutput) ToGetPiNetworkPeerInterfacesResultOutput() GetPiNetworkPeerInterfacesResultOutput { + return o +} + +func (o GetPiNetworkPeerInterfacesResultOutput) ToGetPiNetworkPeerInterfacesResultOutputWithContext(ctx context.Context) GetPiNetworkPeerInterfacesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiNetworkPeerInterfacesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerInterfacesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiNetworkPeerInterfacesResultOutput) PeerInterfaces() GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput { + return o.ApplyT(func(v GetPiNetworkPeerInterfacesResult) []GetPiNetworkPeerInterfacesPeerInterface { + return v.PeerInterfaces + }).(GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput) +} + +func (o GetPiNetworkPeerInterfacesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerInterfacesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiNetworkPeerInterfacesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeerRouteFilter.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeerRouteFilter.go new file mode 100644 index 000000000..dc9aa6f2a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeerRouteFilter.go @@ -0,0 +1,144 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiNetworkPeerRouteFilter(ctx *pulumi.Context, args *LookupPiNetworkPeerRouteFilterArgs, opts ...pulumi.InvokeOption) (*LookupPiNetworkPeerRouteFilterResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiNetworkPeerRouteFilterResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkPeerRouteFilter:getPiNetworkPeerRouteFilter", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkPeerRouteFilter. +type LookupPiNetworkPeerRouteFilterArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkPeerId string `pulumi:"piNetworkPeerId"` + PiRouteFilterId string `pulumi:"piRouteFilterId"` +} + +// A collection of values returned by getPiNetworkPeerRouteFilter. +type LookupPiNetworkPeerRouteFilterResult struct { + Action string `pulumi:"action"` + CreationDate string `pulumi:"creationDate"` + Direction string `pulumi:"direction"` + Error string `pulumi:"error"` + Ge int `pulumi:"ge"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Index int `pulumi:"index"` + Le int `pulumi:"le"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkPeerId string `pulumi:"piNetworkPeerId"` + PiRouteFilterId string `pulumi:"piRouteFilterId"` + Prefix string `pulumi:"prefix"` + RouteFilterId string `pulumi:"routeFilterId"` + State string `pulumi:"state"` +} + +func LookupPiNetworkPeerRouteFilterOutput(ctx *pulumi.Context, args LookupPiNetworkPeerRouteFilterOutputArgs, opts ...pulumi.InvokeOption) LookupPiNetworkPeerRouteFilterResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiNetworkPeerRouteFilterResultOutput, error) { + args := v.(LookupPiNetworkPeerRouteFilterArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkPeerRouteFilter:getPiNetworkPeerRouteFilter", args, LookupPiNetworkPeerRouteFilterResultOutput{}, options).(LookupPiNetworkPeerRouteFilterResultOutput), nil + }).(LookupPiNetworkPeerRouteFilterResultOutput) +} + +// A collection of arguments for invoking getPiNetworkPeerRouteFilter. +type LookupPiNetworkPeerRouteFilterOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiNetworkPeerId pulumi.StringInput `pulumi:"piNetworkPeerId"` + PiRouteFilterId pulumi.StringInput `pulumi:"piRouteFilterId"` +} + +func (LookupPiNetworkPeerRouteFilterOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkPeerRouteFilterArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkPeerRouteFilter. +type LookupPiNetworkPeerRouteFilterResultOutput struct{ *pulumi.OutputState } + +func (LookupPiNetworkPeerRouteFilterResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkPeerRouteFilterResult)(nil)).Elem() +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) ToLookupPiNetworkPeerRouteFilterResultOutput() LookupPiNetworkPeerRouteFilterResultOutput { + return o +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) ToLookupPiNetworkPeerRouteFilterResultOutputWithContext(ctx context.Context) LookupPiNetworkPeerRouteFilterResultOutput { + return o +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.Action }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.Direction }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.Error }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) Ge() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) int { return v.Ge }).(pulumi.IntOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiNetworkPeerRouteFilterResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) Index() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) int { return v.Index }).(pulumi.IntOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) Le() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) int { return v.Le }).(pulumi.IntOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) PiNetworkPeerId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.PiNetworkPeerId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) PiRouteFilterId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.PiRouteFilterId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) RouteFilterId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.RouteFilterId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkPeerRouteFilterResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkPeerRouteFilterResult) string { return v.State }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiNetworkPeerRouteFilterResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeers.go new file mode 100644 index 000000000..d0d1316df --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPeers.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiNetworkPeers(ctx *pulumi.Context, args *GetPiNetworkPeersArgs, opts ...pulumi.InvokeOption) (*GetPiNetworkPeersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiNetworkPeersResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkPeers:getPiNetworkPeers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkPeers. +type GetPiNetworkPeersArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiNetworkPeers. +type GetPiNetworkPeersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkPeers []GetPiNetworkPeersNetworkPeer `pulumi:"networkPeers"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiNetworkPeersOutput(ctx *pulumi.Context, args GetPiNetworkPeersOutputArgs, opts ...pulumi.InvokeOption) GetPiNetworkPeersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiNetworkPeersResultOutput, error) { + args := v.(GetPiNetworkPeersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkPeers:getPiNetworkPeers", args, GetPiNetworkPeersResultOutput{}, options).(GetPiNetworkPeersResultOutput), nil + }).(GetPiNetworkPeersResultOutput) +} + +// A collection of arguments for invoking getPiNetworkPeers. +type GetPiNetworkPeersOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiNetworkPeersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeersArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkPeers. +type GetPiNetworkPeersResultOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeersResult)(nil)).Elem() +} + +func (o GetPiNetworkPeersResultOutput) ToGetPiNetworkPeersResultOutput() GetPiNetworkPeersResultOutput { + return o +} + +func (o GetPiNetworkPeersResultOutput) ToGetPiNetworkPeersResultOutputWithContext(ctx context.Context) GetPiNetworkPeersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiNetworkPeersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiNetworkPeersResultOutput) NetworkPeers() GetPiNetworkPeersNetworkPeerArrayOutput { + return o.ApplyT(func(v GetPiNetworkPeersResult) []GetPiNetworkPeersNetworkPeer { return v.NetworkPeers }).(GetPiNetworkPeersNetworkPeerArrayOutput) +} + +func (o GetPiNetworkPeersResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiNetworkPeersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPort.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPort.go new file mode 100644 index 000000000..2e442f66d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkPort.go @@ -0,0 +1,103 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiNetworkPort(ctx *pulumi.Context, args *GetPiNetworkPortArgs, opts ...pulumi.InvokeOption) (*GetPiNetworkPortResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiNetworkPortResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkPort:getPiNetworkPort", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkPort. +type GetPiNetworkPortArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkId *string `pulumi:"piNetworkId"` + // Deprecated: The piNetworkName field is deprecated. Please use piNetworkId instead + PiNetworkName *string `pulumi:"piNetworkName"` +} + +// A collection of values returned by getPiNetworkPort. +type GetPiNetworkPortResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkPorts []GetPiNetworkPortNetworkPort `pulumi:"networkPorts"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkId *string `pulumi:"piNetworkId"` + // Deprecated: The piNetworkName field is deprecated. Please use piNetworkId instead + PiNetworkName *string `pulumi:"piNetworkName"` +} + +func GetPiNetworkPortOutput(ctx *pulumi.Context, args GetPiNetworkPortOutputArgs, opts ...pulumi.InvokeOption) GetPiNetworkPortResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiNetworkPortResultOutput, error) { + args := v.(GetPiNetworkPortArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkPort:getPiNetworkPort", args, GetPiNetworkPortResultOutput{}, options).(GetPiNetworkPortResultOutput), nil + }).(GetPiNetworkPortResultOutput) +} + +// A collection of arguments for invoking getPiNetworkPort. +type GetPiNetworkPortOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiNetworkId pulumi.StringPtrInput `pulumi:"piNetworkId"` + // Deprecated: The piNetworkName field is deprecated. Please use piNetworkId instead + PiNetworkName pulumi.StringPtrInput `pulumi:"piNetworkName"` +} + +func (GetPiNetworkPortOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPortArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkPort. +type GetPiNetworkPortResultOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPortResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPortResult)(nil)).Elem() +} + +func (o GetPiNetworkPortResultOutput) ToGetPiNetworkPortResultOutput() GetPiNetworkPortResultOutput { + return o +} + +func (o GetPiNetworkPortResultOutput) ToGetPiNetworkPortResultOutputWithContext(ctx context.Context) GetPiNetworkPortResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiNetworkPortResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiNetworkPortResultOutput) NetworkPorts() GetPiNetworkPortNetworkPortArrayOutput { + return o.ApplyT(func(v GetPiNetworkPortResult) []GetPiNetworkPortNetworkPort { return v.NetworkPorts }).(GetPiNetworkPortNetworkPortArrayOutput) +} + +func (o GetPiNetworkPortResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiNetworkPortResultOutput) PiNetworkId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPiNetworkPortResult) *string { return v.PiNetworkId }).(pulumi.StringPtrOutput) +} + +// Deprecated: The piNetworkName field is deprecated. Please use piNetworkId instead +func (o GetPiNetworkPortResultOutput) PiNetworkName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPiNetworkPortResult) *string { return v.PiNetworkName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiNetworkPortResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkSecurityGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkSecurityGroup.go new file mode 100644 index 000000000..3304052fb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkSecurityGroup.go @@ -0,0 +1,117 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiNetworkSecurityGroup(ctx *pulumi.Context, args *LookupPiNetworkSecurityGroupArgs, opts ...pulumi.InvokeOption) (*LookupPiNetworkSecurityGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiNetworkSecurityGroupResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkSecurityGroup:getPiNetworkSecurityGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkSecurityGroup. +type LookupPiNetworkSecurityGroupArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkSecurityGroupId string `pulumi:"piNetworkSecurityGroupId"` +} + +// A collection of values returned by getPiNetworkSecurityGroup. +type LookupPiNetworkSecurityGroupResult struct { + Crn string `pulumi:"crn"` + Default bool `pulumi:"default"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Members []GetPiNetworkSecurityGroupMemberType `pulumi:"members"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiNetworkSecurityGroupId string `pulumi:"piNetworkSecurityGroupId"` + Rules []GetPiNetworkSecurityGroupRuleType `pulumi:"rules"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiNetworkSecurityGroupOutput(ctx *pulumi.Context, args LookupPiNetworkSecurityGroupOutputArgs, opts ...pulumi.InvokeOption) LookupPiNetworkSecurityGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiNetworkSecurityGroupResultOutput, error) { + args := v.(LookupPiNetworkSecurityGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkSecurityGroup:getPiNetworkSecurityGroup", args, LookupPiNetworkSecurityGroupResultOutput{}, options).(LookupPiNetworkSecurityGroupResultOutput), nil + }).(LookupPiNetworkSecurityGroupResultOutput) +} + +// A collection of arguments for invoking getPiNetworkSecurityGroup. +type LookupPiNetworkSecurityGroupOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiNetworkSecurityGroupId pulumi.StringInput `pulumi:"piNetworkSecurityGroupId"` +} + +func (LookupPiNetworkSecurityGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkSecurityGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkSecurityGroup. +type LookupPiNetworkSecurityGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupPiNetworkSecurityGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiNetworkSecurityGroupResult)(nil)).Elem() +} + +func (o LookupPiNetworkSecurityGroupResultOutput) ToLookupPiNetworkSecurityGroupResultOutput() LookupPiNetworkSecurityGroupResultOutput { + return o +} + +func (o LookupPiNetworkSecurityGroupResultOutput) ToLookupPiNetworkSecurityGroupResultOutputWithContext(ctx context.Context) LookupPiNetworkSecurityGroupResultOutput { + return o +} + +func (o LookupPiNetworkSecurityGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkSecurityGroupResultOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) bool { return v.Default }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiNetworkSecurityGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkSecurityGroupResultOutput) Members() GetPiNetworkSecurityGroupMemberTypeArrayOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) []GetPiNetworkSecurityGroupMemberType { return v.Members }).(GetPiNetworkSecurityGroupMemberTypeArrayOutput) +} + +func (o LookupPiNetworkSecurityGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkSecurityGroupResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkSecurityGroupResultOutput) PiNetworkSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) string { return v.PiNetworkSecurityGroupId }).(pulumi.StringOutput) +} + +func (o LookupPiNetworkSecurityGroupResultOutput) Rules() GetPiNetworkSecurityGroupRuleTypeArrayOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) []GetPiNetworkSecurityGroupRuleType { return v.Rules }).(GetPiNetworkSecurityGroupRuleTypeArrayOutput) +} + +func (o LookupPiNetworkSecurityGroupResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiNetworkSecurityGroupResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiNetworkSecurityGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkSecurityGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkSecurityGroups.go new file mode 100644 index 000000000..893f47568 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworkSecurityGroups.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiNetworkSecurityGroups(ctx *pulumi.Context, args *GetPiNetworkSecurityGroupsArgs, opts ...pulumi.InvokeOption) (*GetPiNetworkSecurityGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiNetworkSecurityGroupsResult + err := ctx.Invoke("ibmcloud:index/getPiNetworkSecurityGroups:getPiNetworkSecurityGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworkSecurityGroups. +type GetPiNetworkSecurityGroupsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiNetworkSecurityGroups. +type GetPiNetworkSecurityGroupsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NetworkSecurityGroups []GetPiNetworkSecurityGroupsNetworkSecurityGroup `pulumi:"networkSecurityGroups"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiNetworkSecurityGroupsOutput(ctx *pulumi.Context, args GetPiNetworkSecurityGroupsOutputArgs, opts ...pulumi.InvokeOption) GetPiNetworkSecurityGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiNetworkSecurityGroupsResultOutput, error) { + args := v.(GetPiNetworkSecurityGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworkSecurityGroups:getPiNetworkSecurityGroups", args, GetPiNetworkSecurityGroupsResultOutput{}, options).(GetPiNetworkSecurityGroupsResultOutput), nil + }).(GetPiNetworkSecurityGroupsResultOutput) +} + +// A collection of arguments for invoking getPiNetworkSecurityGroups. +type GetPiNetworkSecurityGroupsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiNetworkSecurityGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworkSecurityGroups. +type GetPiNetworkSecurityGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsResult)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsResultOutput) ToGetPiNetworkSecurityGroupsResultOutput() GetPiNetworkSecurityGroupsResultOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsResultOutput) ToGetPiNetworkSecurityGroupsResultOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiNetworkSecurityGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiNetworkSecurityGroupsResultOutput) NetworkSecurityGroups() GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsResult) []GetPiNetworkSecurityGroupsNetworkSecurityGroup { + return v.NetworkSecurityGroups + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput) +} + +func (o GetPiNetworkSecurityGroupsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworks.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworks.go new file mode 100644 index 000000000..c649f7b6c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiNetworks.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiNetworks(ctx *pulumi.Context, args *GetPiNetworksArgs, opts ...pulumi.InvokeOption) (*GetPiNetworksResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiNetworksResult + err := ctx.Invoke("ibmcloud:index/getPiNetworks:getPiNetworks", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiNetworks. +type GetPiNetworksArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiNetworks. +type GetPiNetworksResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Networks []GetPiNetworksNetwork `pulumi:"networks"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiNetworksOutput(ctx *pulumi.Context, args GetPiNetworksOutputArgs, opts ...pulumi.InvokeOption) GetPiNetworksResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiNetworksResultOutput, error) { + args := v.(GetPiNetworksArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiNetworks:getPiNetworks", args, GetPiNetworksResultOutput{}, options).(GetPiNetworksResultOutput), nil + }).(GetPiNetworksResultOutput) +} + +// A collection of arguments for invoking getPiNetworks. +type GetPiNetworksOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiNetworksOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworksArgs)(nil)).Elem() +} + +// A collection of values returned by getPiNetworks. +type GetPiNetworksResultOutput struct{ *pulumi.OutputState } + +func (GetPiNetworksResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworksResult)(nil)).Elem() +} + +func (o GetPiNetworksResultOutput) ToGetPiNetworksResultOutput() GetPiNetworksResultOutput { + return o +} + +func (o GetPiNetworksResultOutput) ToGetPiNetworksResultOutputWithContext(ctx context.Context) GetPiNetworksResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiNetworksResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiNetworksResultOutput) Networks() GetPiNetworksNetworkArrayOutput { + return o.ApplyT(func(v GetPiNetworksResult) []GetPiNetworksNetwork { return v.Networks }).(GetPiNetworksNetworkArrayOutput) +} + +func (o GetPiNetworksResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiNetworksResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPlacementGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPlacementGroup.go new file mode 100644 index 000000000..dae26d945 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPlacementGroup.go @@ -0,0 +1,123 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiPlacementGroup(ctx *pulumi.Context, args *LookupPiPlacementGroupArgs, opts ...pulumi.InvokeOption) (*LookupPiPlacementGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiPlacementGroupResult + err := ctx.Invoke("ibmcloud:index/getPiPlacementGroup:getPiPlacementGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiPlacementGroup. +type LookupPiPlacementGroupArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiPlacementGroupId *string `pulumi:"piPlacementGroupId"` + // Deprecated: The piPlacementGroupName field is deprecated. Please use piPlacementGroupId instead. + PiPlacementGroupName *string `pulumi:"piPlacementGroupName"` +} + +// A collection of values returned by getPiPlacementGroup. +type LookupPiPlacementGroupResult struct { + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Members []string `pulumi:"members"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiPlacementGroupId *string `pulumi:"piPlacementGroupId"` + // Deprecated: The piPlacementGroupName field is deprecated. Please use piPlacementGroupId instead. + PiPlacementGroupName *string `pulumi:"piPlacementGroupName"` + Policy string `pulumi:"policy"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiPlacementGroupOutput(ctx *pulumi.Context, args LookupPiPlacementGroupOutputArgs, opts ...pulumi.InvokeOption) LookupPiPlacementGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiPlacementGroupResultOutput, error) { + args := v.(LookupPiPlacementGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiPlacementGroup:getPiPlacementGroup", args, LookupPiPlacementGroupResultOutput{}, options).(LookupPiPlacementGroupResultOutput), nil + }).(LookupPiPlacementGroupResultOutput) +} + +// A collection of arguments for invoking getPiPlacementGroup. +type LookupPiPlacementGroupOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiPlacementGroupId pulumi.StringPtrInput `pulumi:"piPlacementGroupId"` + // Deprecated: The piPlacementGroupName field is deprecated. Please use piPlacementGroupId instead. + PiPlacementGroupName pulumi.StringPtrInput `pulumi:"piPlacementGroupName"` +} + +func (LookupPiPlacementGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiPlacementGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getPiPlacementGroup. +type LookupPiPlacementGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupPiPlacementGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiPlacementGroupResult)(nil)).Elem() +} + +func (o LookupPiPlacementGroupResultOutput) ToLookupPiPlacementGroupResultOutput() LookupPiPlacementGroupResultOutput { + return o +} + +func (o LookupPiPlacementGroupResultOutput) ToLookupPiPlacementGroupResultOutputWithContext(ctx context.Context) LookupPiPlacementGroupResultOutput { + return o +} + +func (o LookupPiPlacementGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiPlacementGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiPlacementGroupResultOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +func (o LookupPiPlacementGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiPlacementGroupResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiPlacementGroupResultOutput) PiPlacementGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) *string { return v.PiPlacementGroupId }).(pulumi.StringPtrOutput) +} + +// Deprecated: The piPlacementGroupName field is deprecated. Please use piPlacementGroupId instead. +func (o LookupPiPlacementGroupResultOutput) PiPlacementGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) *string { return v.PiPlacementGroupName }).(pulumi.StringPtrOutput) +} + +func (o LookupPiPlacementGroupResultOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) string { return v.Policy }).(pulumi.StringOutput) +} + +func (o LookupPiPlacementGroupResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiPlacementGroupResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiPlacementGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPlacementGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPlacementGroups.go new file mode 100644 index 000000000..e41fa5f3b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPlacementGroups.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiPlacementGroups(ctx *pulumi.Context, args *GetPiPlacementGroupsArgs, opts ...pulumi.InvokeOption) (*GetPiPlacementGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiPlacementGroupsResult + err := ctx.Invoke("ibmcloud:index/getPiPlacementGroups:getPiPlacementGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiPlacementGroups. +type GetPiPlacementGroupsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiPlacementGroups. +type GetPiPlacementGroupsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PlacementGroups []GetPiPlacementGroupsPlacementGroup `pulumi:"placementGroups"` +} + +func GetPiPlacementGroupsOutput(ctx *pulumi.Context, args GetPiPlacementGroupsOutputArgs, opts ...pulumi.InvokeOption) GetPiPlacementGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiPlacementGroupsResultOutput, error) { + args := v.(GetPiPlacementGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiPlacementGroups:getPiPlacementGroups", args, GetPiPlacementGroupsResultOutput{}, options).(GetPiPlacementGroupsResultOutput), nil + }).(GetPiPlacementGroupsResultOutput) +} + +// A collection of arguments for invoking getPiPlacementGroups. +type GetPiPlacementGroupsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiPlacementGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPlacementGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiPlacementGroups. +type GetPiPlacementGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetPiPlacementGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPlacementGroupsResult)(nil)).Elem() +} + +func (o GetPiPlacementGroupsResultOutput) ToGetPiPlacementGroupsResultOutput() GetPiPlacementGroupsResultOutput { + return o +} + +func (o GetPiPlacementGroupsResultOutput) ToGetPiPlacementGroupsResultOutputWithContext(ctx context.Context) GetPiPlacementGroupsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiPlacementGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPlacementGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiPlacementGroupsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPlacementGroupsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiPlacementGroupsResultOutput) PlacementGroups() GetPiPlacementGroupsPlacementGroupArrayOutput { + return o.ApplyT(func(v GetPiPlacementGroupsResult) []GetPiPlacementGroupsPlacementGroup { return v.PlacementGroups }).(GetPiPlacementGroupsPlacementGroupArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiPlacementGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPublicNetwork.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPublicNetwork.go new file mode 100644 index 000000000..334329be6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPublicNetwork.go @@ -0,0 +1,100 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiPublicNetwork(ctx *pulumi.Context, args *GetPiPublicNetworkArgs, opts ...pulumi.InvokeOption) (*GetPiPublicNetworkResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiPublicNetworkResult + err := ctx.Invoke("ibmcloud:index/getPiPublicNetwork:getPiPublicNetwork", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiPublicNetwork. +type GetPiPublicNetworkArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiPublicNetwork. +type GetPiPublicNetworkResult struct { + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Type string `pulumi:"type"` + VlanId int `pulumi:"vlanId"` +} + +func GetPiPublicNetworkOutput(ctx *pulumi.Context, args GetPiPublicNetworkOutputArgs, opts ...pulumi.InvokeOption) GetPiPublicNetworkResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiPublicNetworkResultOutput, error) { + args := v.(GetPiPublicNetworkArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiPublicNetwork:getPiPublicNetwork", args, GetPiPublicNetworkResultOutput{}, options).(GetPiPublicNetworkResultOutput), nil + }).(GetPiPublicNetworkResultOutput) +} + +// A collection of arguments for invoking getPiPublicNetwork. +type GetPiPublicNetworkOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiPublicNetworkOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPublicNetworkArgs)(nil)).Elem() +} + +// A collection of values returned by getPiPublicNetwork. +type GetPiPublicNetworkResultOutput struct{ *pulumi.OutputState } + +func (GetPiPublicNetworkResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPublicNetworkResult)(nil)).Elem() +} + +func (o GetPiPublicNetworkResultOutput) ToGetPiPublicNetworkResultOutput() GetPiPublicNetworkResultOutput { + return o +} + +func (o GetPiPublicNetworkResultOutput) ToGetPiPublicNetworkResultOutputWithContext(ctx context.Context) GetPiPublicNetworkResultOutput { + return o +} + +func (o GetPiPublicNetworkResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPublicNetworkResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiPublicNetworkResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPublicNetworkResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiPublicNetworkResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPublicNetworkResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetPiPublicNetworkResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPublicNetworkResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiPublicNetworkResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPublicNetworkResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o GetPiPublicNetworkResultOutput) VlanId() pulumi.IntOutput { + return o.ApplyT(func(v GetPiPublicNetworkResult) int { return v.VlanId }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiPublicNetworkResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPvmSnapshots.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPvmSnapshots.go new file mode 100644 index 000000000..2182a1dcc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiPvmSnapshots.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiPvmSnapshots(ctx *pulumi.Context, args *GetPiPvmSnapshotsArgs, opts ...pulumi.InvokeOption) (*GetPiPvmSnapshotsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiPvmSnapshotsResult + err := ctx.Invoke("ibmcloud:index/getPiPvmSnapshots:getPiPvmSnapshots", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiPvmSnapshots. +type GetPiPvmSnapshotsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` +} + +// A collection of values returned by getPiPvmSnapshots. +type GetPiPvmSnapshotsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceName string `pulumi:"piInstanceName"` + PvmSnapshots []GetPiPvmSnapshotsPvmSnapshot `pulumi:"pvmSnapshots"` +} + +func GetPiPvmSnapshotsOutput(ctx *pulumi.Context, args GetPiPvmSnapshotsOutputArgs, opts ...pulumi.InvokeOption) GetPiPvmSnapshotsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiPvmSnapshotsResultOutput, error) { + args := v.(GetPiPvmSnapshotsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiPvmSnapshots:getPiPvmSnapshots", args, GetPiPvmSnapshotsResultOutput{}, options).(GetPiPvmSnapshotsResultOutput), nil + }).(GetPiPvmSnapshotsResultOutput) +} + +// A collection of arguments for invoking getPiPvmSnapshots. +type GetPiPvmSnapshotsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiInstanceName pulumi.StringInput `pulumi:"piInstanceName"` +} + +func (GetPiPvmSnapshotsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPvmSnapshotsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiPvmSnapshots. +type GetPiPvmSnapshotsResultOutput struct{ *pulumi.OutputState } + +func (GetPiPvmSnapshotsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPvmSnapshotsResult)(nil)).Elem() +} + +func (o GetPiPvmSnapshotsResultOutput) ToGetPiPvmSnapshotsResultOutput() GetPiPvmSnapshotsResultOutput { + return o +} + +func (o GetPiPvmSnapshotsResultOutput) ToGetPiPvmSnapshotsResultOutputWithContext(ctx context.Context) GetPiPvmSnapshotsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiPvmSnapshotsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiPvmSnapshotsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiPvmSnapshotsResultOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsResult) string { return v.PiInstanceName }).(pulumi.StringOutput) +} + +func (o GetPiPvmSnapshotsResultOutput) PvmSnapshots() GetPiPvmSnapshotsPvmSnapshotArrayOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsResult) []GetPiPvmSnapshotsPvmSnapshot { return v.PvmSnapshots }).(GetPiPvmSnapshotsPvmSnapshotArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiPvmSnapshotsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRoute.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRoute.go new file mode 100644 index 000000000..f0e76fbed --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRoute.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiRoute(ctx *pulumi.Context, args *LookupPiRouteArgs, opts ...pulumi.InvokeOption) (*LookupPiRouteResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiRouteResult + err := ctx.Invoke("ibmcloud:index/getPiRoute:getPiRoute", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiRoute. +type LookupPiRouteArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiRouteId string `pulumi:"piRouteId"` +} + +// A collection of values returned by getPiRoute. +type LookupPiRouteResult struct { + Action string `pulumi:"action"` + Advertise string `pulumi:"advertise"` + Crn string `pulumi:"crn"` + Destination string `pulumi:"destination"` + DestinationType string `pulumi:"destinationType"` + Enabled bool `pulumi:"enabled"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + NextHop string `pulumi:"nextHop"` + NextHopType string `pulumi:"nextHopType"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiRouteId string `pulumi:"piRouteId"` + State string `pulumi:"state"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiRouteOutput(ctx *pulumi.Context, args LookupPiRouteOutputArgs, opts ...pulumi.InvokeOption) LookupPiRouteResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiRouteResultOutput, error) { + args := v.(LookupPiRouteArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiRoute:getPiRoute", args, LookupPiRouteResultOutput{}, options).(LookupPiRouteResultOutput), nil + }).(LookupPiRouteResultOutput) +} + +// A collection of arguments for invoking getPiRoute. +type LookupPiRouteOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiRouteId pulumi.StringInput `pulumi:"piRouteId"` +} + +func (LookupPiRouteOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiRouteArgs)(nil)).Elem() +} + +// A collection of values returned by getPiRoute. +type LookupPiRouteResultOutput struct{ *pulumi.OutputState } + +func (LookupPiRouteResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiRouteResult)(nil)).Elem() +} + +func (o LookupPiRouteResultOutput) ToLookupPiRouteResultOutput() LookupPiRouteResultOutput { + return o +} + +func (o LookupPiRouteResultOutput) ToLookupPiRouteResultOutputWithContext(ctx context.Context) LookupPiRouteResultOutput { + return o +} + +func (o LookupPiRouteResultOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.Action }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) Advertise() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.Advertise }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.Destination }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) DestinationType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.DestinationType }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiRouteResult) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiRouteResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) NextHop() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.NextHop }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) NextHopType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.NextHopType }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) PiRouteId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.PiRouteId }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiRouteResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o LookupPiRouteResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiRouteResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiRouteResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRouteReport.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRouteReport.go new file mode 100644 index 000000000..b2ac40723 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRouteReport.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiRouteReport(ctx *pulumi.Context, args *GetPiRouteReportArgs, opts ...pulumi.InvokeOption) (*GetPiRouteReportResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiRouteReportResult + err := ctx.Invoke("ibmcloud:index/getPiRouteReport:getPiRouteReport", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiRouteReport. +type GetPiRouteReportArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiRouteReport. +type GetPiRouteReportResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Routes []GetPiRouteReportRoute `pulumi:"routes"` +} + +func GetPiRouteReportOutput(ctx *pulumi.Context, args GetPiRouteReportOutputArgs, opts ...pulumi.InvokeOption) GetPiRouteReportResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiRouteReportResultOutput, error) { + args := v.(GetPiRouteReportArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiRouteReport:getPiRouteReport", args, GetPiRouteReportResultOutput{}, options).(GetPiRouteReportResultOutput), nil + }).(GetPiRouteReportResultOutput) +} + +// A collection of arguments for invoking getPiRouteReport. +type GetPiRouteReportOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiRouteReportOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiRouteReportArgs)(nil)).Elem() +} + +// A collection of values returned by getPiRouteReport. +type GetPiRouteReportResultOutput struct{ *pulumi.OutputState } + +func (GetPiRouteReportResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiRouteReportResult)(nil)).Elem() +} + +func (o GetPiRouteReportResultOutput) ToGetPiRouteReportResultOutput() GetPiRouteReportResultOutput { + return o +} + +func (o GetPiRouteReportResultOutput) ToGetPiRouteReportResultOutputWithContext(ctx context.Context) GetPiRouteReportResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiRouteReportResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRouteReportResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiRouteReportResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRouteReportResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiRouteReportResultOutput) Routes() GetPiRouteReportRouteArrayOutput { + return o.ApplyT(func(v GetPiRouteReportResult) []GetPiRouteReportRoute { return v.Routes }).(GetPiRouteReportRouteArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiRouteReportResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRoutes.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRoutes.go new file mode 100644 index 000000000..da3a0e04f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiRoutes.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiRoutes(ctx *pulumi.Context, args *GetPiRoutesArgs, opts ...pulumi.InvokeOption) (*GetPiRoutesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiRoutesResult + err := ctx.Invoke("ibmcloud:index/getPiRoutes:getPiRoutes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiRoutes. +type GetPiRoutesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiRoutes. +type GetPiRoutesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Routes []GetPiRoutesRoute `pulumi:"routes"` +} + +func GetPiRoutesOutput(ctx *pulumi.Context, args GetPiRoutesOutputArgs, opts ...pulumi.InvokeOption) GetPiRoutesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiRoutesResultOutput, error) { + args := v.(GetPiRoutesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiRoutes:getPiRoutes", args, GetPiRoutesResultOutput{}, options).(GetPiRoutesResultOutput), nil + }).(GetPiRoutesResultOutput) +} + +// A collection of arguments for invoking getPiRoutes. +type GetPiRoutesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiRoutesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiRoutesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiRoutes. +type GetPiRoutesResultOutput struct{ *pulumi.OutputState } + +func (GetPiRoutesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiRoutesResult)(nil)).Elem() +} + +func (o GetPiRoutesResultOutput) ToGetPiRoutesResultOutput() GetPiRoutesResultOutput { + return o +} + +func (o GetPiRoutesResultOutput) ToGetPiRoutesResultOutputWithContext(ctx context.Context) GetPiRoutesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiRoutesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiRoutesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiRoutesResultOutput) Routes() GetPiRoutesRouteArrayOutput { + return o.ApplyT(func(v GetPiRoutesResult) []GetPiRoutesRoute { return v.Routes }).(GetPiRoutesRouteArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiRoutesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSapProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSapProfile.go new file mode 100644 index 000000000..9c6253f6e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSapProfile.go @@ -0,0 +1,132 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiSapProfile(ctx *pulumi.Context, args *GetPiSapProfileArgs, opts ...pulumi.InvokeOption) (*GetPiSapProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiSapProfileResult + err := ctx.Invoke("ibmcloud:index/getPiSapProfile:getPiSapProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiSapProfile. +type GetPiSapProfileArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSapProfileId string `pulumi:"piSapProfileId"` +} + +// A collection of values returned by getPiSapProfile. +type GetPiSapProfileResult struct { + Certified bool `pulumi:"certified"` + Cores int `pulumi:"cores"` + DefaultSystem string `pulumi:"defaultSystem"` + FullSystemProfile bool `pulumi:"fullSystemProfile"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Memory int `pulumi:"memory"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSapProfileId string `pulumi:"piSapProfileId"` + Saps int `pulumi:"saps"` + SupportedSystems []string `pulumi:"supportedSystems"` + Type string `pulumi:"type"` + WorkloadTypes []string `pulumi:"workloadTypes"` +} + +func GetPiSapProfileOutput(ctx *pulumi.Context, args GetPiSapProfileOutputArgs, opts ...pulumi.InvokeOption) GetPiSapProfileResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiSapProfileResultOutput, error) { + args := v.(GetPiSapProfileArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiSapProfile:getPiSapProfile", args, GetPiSapProfileResultOutput{}, options).(GetPiSapProfileResultOutput), nil + }).(GetPiSapProfileResultOutput) +} + +// A collection of arguments for invoking getPiSapProfile. +type GetPiSapProfileOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiSapProfileId pulumi.StringInput `pulumi:"piSapProfileId"` +} + +func (GetPiSapProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSapProfileArgs)(nil)).Elem() +} + +// A collection of values returned by getPiSapProfile. +type GetPiSapProfileResultOutput struct{ *pulumi.OutputState } + +func (GetPiSapProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSapProfileResult)(nil)).Elem() +} + +func (o GetPiSapProfileResultOutput) ToGetPiSapProfileResultOutput() GetPiSapProfileResultOutput { + return o +} + +func (o GetPiSapProfileResultOutput) ToGetPiSapProfileResultOutputWithContext(ctx context.Context) GetPiSapProfileResultOutput { + return o +} + +func (o GetPiSapProfileResultOutput) Certified() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiSapProfileResult) bool { return v.Certified }).(pulumi.BoolOutput) +} + +func (o GetPiSapProfileResultOutput) Cores() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSapProfileResult) int { return v.Cores }).(pulumi.IntOutput) +} + +func (o GetPiSapProfileResultOutput) DefaultSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfileResult) string { return v.DefaultSystem }).(pulumi.StringOutput) +} + +func (o GetPiSapProfileResultOutput) FullSystemProfile() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiSapProfileResult) bool { return v.FullSystemProfile }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiSapProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfileResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiSapProfileResultOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSapProfileResult) int { return v.Memory }).(pulumi.IntOutput) +} + +func (o GetPiSapProfileResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfileResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiSapProfileResultOutput) PiSapProfileId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfileResult) string { return v.PiSapProfileId }).(pulumi.StringOutput) +} + +func (o GetPiSapProfileResultOutput) Saps() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSapProfileResult) int { return v.Saps }).(pulumi.IntOutput) +} + +func (o GetPiSapProfileResultOutput) SupportedSystems() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiSapProfileResult) []string { return v.SupportedSystems }).(pulumi.StringArrayOutput) +} + +func (o GetPiSapProfileResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfileResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o GetPiSapProfileResultOutput) WorkloadTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiSapProfileResult) []string { return v.WorkloadTypes }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiSapProfileResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSapProfiles.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSapProfiles.go new file mode 100644 index 000000000..5fe612d94 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSapProfiles.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiSapProfiles(ctx *pulumi.Context, args *GetPiSapProfilesArgs, opts ...pulumi.InvokeOption) (*GetPiSapProfilesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiSapProfilesResult + err := ctx.Invoke("ibmcloud:index/getPiSapProfiles:getPiSapProfiles", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiSapProfiles. +type GetPiSapProfilesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiFamilyFilter *string `pulumi:"piFamilyFilter"` + PiPrefixFilter *string `pulumi:"piPrefixFilter"` +} + +// A collection of values returned by getPiSapProfiles. +type GetPiSapProfilesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiFamilyFilter *string `pulumi:"piFamilyFilter"` + PiPrefixFilter *string `pulumi:"piPrefixFilter"` + Profiles []GetPiSapProfilesProfile `pulumi:"profiles"` +} + +func GetPiSapProfilesOutput(ctx *pulumi.Context, args GetPiSapProfilesOutputArgs, opts ...pulumi.InvokeOption) GetPiSapProfilesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiSapProfilesResultOutput, error) { + args := v.(GetPiSapProfilesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiSapProfiles:getPiSapProfiles", args, GetPiSapProfilesResultOutput{}, options).(GetPiSapProfilesResultOutput), nil + }).(GetPiSapProfilesResultOutput) +} + +// A collection of arguments for invoking getPiSapProfiles. +type GetPiSapProfilesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiFamilyFilter pulumi.StringPtrInput `pulumi:"piFamilyFilter"` + PiPrefixFilter pulumi.StringPtrInput `pulumi:"piPrefixFilter"` +} + +func (GetPiSapProfilesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSapProfilesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiSapProfiles. +type GetPiSapProfilesResultOutput struct{ *pulumi.OutputState } + +func (GetPiSapProfilesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSapProfilesResult)(nil)).Elem() +} + +func (o GetPiSapProfilesResultOutput) ToGetPiSapProfilesResultOutput() GetPiSapProfilesResultOutput { + return o +} + +func (o GetPiSapProfilesResultOutput) ToGetPiSapProfilesResultOutputWithContext(ctx context.Context) GetPiSapProfilesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiSapProfilesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfilesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiSapProfilesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfilesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiSapProfilesResultOutput) PiFamilyFilter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPiSapProfilesResult) *string { return v.PiFamilyFilter }).(pulumi.StringPtrOutput) +} + +func (o GetPiSapProfilesResultOutput) PiPrefixFilter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPiSapProfilesResult) *string { return v.PiPrefixFilter }).(pulumi.StringPtrOutput) +} + +func (o GetPiSapProfilesResultOutput) Profiles() GetPiSapProfilesProfileArrayOutput { + return o.ApplyT(func(v GetPiSapProfilesResult) []GetPiSapProfilesProfile { return v.Profiles }).(GetPiSapProfilesProfileArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiSapProfilesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSharedProcessorPool.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSharedProcessorPool.go new file mode 100644 index 000000000..cff4763a2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSharedProcessorPool.go @@ -0,0 +1,147 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiSharedProcessorPool(ctx *pulumi.Context, args *LookupPiSharedProcessorPoolArgs, opts ...pulumi.InvokeOption) (*LookupPiSharedProcessorPoolResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiSharedProcessorPoolResult + err := ctx.Invoke("ibmcloud:index/getPiSharedProcessorPool:getPiSharedProcessorPool", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiSharedProcessorPool. +type LookupPiSharedProcessorPoolArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSharedProcessorPoolId string `pulumi:"piSharedProcessorPoolId"` +} + +// A collection of values returned by getPiSharedProcessorPool. +type LookupPiSharedProcessorPoolResult struct { + AllocatedCores float64 `pulumi:"allocatedCores"` + AvailableCores float64 `pulumi:"availableCores"` + CreationDate string `pulumi:"creationDate"` + Crn string `pulumi:"crn"` + DedicatedHostId string `pulumi:"dedicatedHostId"` + HostId int `pulumi:"hostId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Instances []GetPiSharedProcessorPoolInstance `pulumi:"instances"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSharedProcessorPoolId string `pulumi:"piSharedProcessorPoolId"` + ReservedCores int `pulumi:"reservedCores"` + Status string `pulumi:"status"` + StatusDetail string `pulumi:"statusDetail"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiSharedProcessorPoolOutput(ctx *pulumi.Context, args LookupPiSharedProcessorPoolOutputArgs, opts ...pulumi.InvokeOption) LookupPiSharedProcessorPoolResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiSharedProcessorPoolResultOutput, error) { + args := v.(LookupPiSharedProcessorPoolArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiSharedProcessorPool:getPiSharedProcessorPool", args, LookupPiSharedProcessorPoolResultOutput{}, options).(LookupPiSharedProcessorPoolResultOutput), nil + }).(LookupPiSharedProcessorPoolResultOutput) +} + +// A collection of arguments for invoking getPiSharedProcessorPool. +type LookupPiSharedProcessorPoolOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiSharedProcessorPoolId pulumi.StringInput `pulumi:"piSharedProcessorPoolId"` +} + +func (LookupPiSharedProcessorPoolOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiSharedProcessorPoolArgs)(nil)).Elem() +} + +// A collection of values returned by getPiSharedProcessorPool. +type LookupPiSharedProcessorPoolResultOutput struct{ *pulumi.OutputState } + +func (LookupPiSharedProcessorPoolResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiSharedProcessorPoolResult)(nil)).Elem() +} + +func (o LookupPiSharedProcessorPoolResultOutput) ToLookupPiSharedProcessorPoolResultOutput() LookupPiSharedProcessorPoolResultOutput { + return o +} + +func (o LookupPiSharedProcessorPoolResultOutput) ToLookupPiSharedProcessorPoolResultOutputWithContext(ctx context.Context) LookupPiSharedProcessorPoolResultOutput { + return o +} + +func (o LookupPiSharedProcessorPoolResultOutput) AllocatedCores() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) float64 { return v.AllocatedCores }).(pulumi.Float64Output) +} + +func (o LookupPiSharedProcessorPoolResultOutput) AvailableCores() pulumi.Float64Output { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) float64 { return v.AvailableCores }).(pulumi.Float64Output) +} + +func (o LookupPiSharedProcessorPoolResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) DedicatedHostId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.DedicatedHostId }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) HostId() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) int { return v.HostId }).(pulumi.IntOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiSharedProcessorPoolResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) Instances() GetPiSharedProcessorPoolInstanceArrayOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) []GetPiSharedProcessorPoolInstance { return v.Instances }).(GetPiSharedProcessorPoolInstanceArrayOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) PiSharedProcessorPoolId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.PiSharedProcessorPoolId }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) ReservedCores() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) int { return v.ReservedCores }).(pulumi.IntOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) StatusDetail() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) string { return v.StatusDetail }).(pulumi.StringOutput) +} + +func (o LookupPiSharedProcessorPoolResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiSharedProcessorPoolResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiSharedProcessorPoolResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSharedProcessorPools.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSharedProcessorPools.go new file mode 100644 index 000000000..020e215aa --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSharedProcessorPools.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiSharedProcessorPools(ctx *pulumi.Context, args *GetPiSharedProcessorPoolsArgs, opts ...pulumi.InvokeOption) (*GetPiSharedProcessorPoolsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiSharedProcessorPoolsResult + err := ctx.Invoke("ibmcloud:index/getPiSharedProcessorPools:getPiSharedProcessorPools", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiSharedProcessorPools. +type GetPiSharedProcessorPoolsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiSharedProcessorPools. +type GetPiSharedProcessorPoolsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + SharedProcessorPools []GetPiSharedProcessorPoolsSharedProcessorPool `pulumi:"sharedProcessorPools"` +} + +func GetPiSharedProcessorPoolsOutput(ctx *pulumi.Context, args GetPiSharedProcessorPoolsOutputArgs, opts ...pulumi.InvokeOption) GetPiSharedProcessorPoolsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiSharedProcessorPoolsResultOutput, error) { + args := v.(GetPiSharedProcessorPoolsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiSharedProcessorPools:getPiSharedProcessorPools", args, GetPiSharedProcessorPoolsResultOutput{}, options).(GetPiSharedProcessorPoolsResultOutput), nil + }).(GetPiSharedProcessorPoolsResultOutput) +} + +// A collection of arguments for invoking getPiSharedProcessorPools. +type GetPiSharedProcessorPoolsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiSharedProcessorPoolsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSharedProcessorPoolsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiSharedProcessorPools. +type GetPiSharedProcessorPoolsResultOutput struct{ *pulumi.OutputState } + +func (GetPiSharedProcessorPoolsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSharedProcessorPoolsResult)(nil)).Elem() +} + +func (o GetPiSharedProcessorPoolsResultOutput) ToGetPiSharedProcessorPoolsResultOutput() GetPiSharedProcessorPoolsResultOutput { + return o +} + +func (o GetPiSharedProcessorPoolsResultOutput) ToGetPiSharedProcessorPoolsResultOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiSharedProcessorPoolsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiSharedProcessorPoolsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiSharedProcessorPoolsResultOutput) SharedProcessorPools() GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsResult) []GetPiSharedProcessorPoolsSharedProcessorPool { + return v.SharedProcessorPools + }).(GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiSharedProcessorPoolsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSoftwareTiers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSoftwareTiers.go new file mode 100644 index 000000000..ce5180c7a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSoftwareTiers.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiSoftwareTiers(ctx *pulumi.Context, args *GetPiSoftwareTiersArgs, opts ...pulumi.InvokeOption) (*GetPiSoftwareTiersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiSoftwareTiersResult + err := ctx.Invoke("ibmcloud:index/getPiSoftwareTiers:getPiSoftwareTiers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiSoftwareTiers. +type GetPiSoftwareTiersArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiSoftwareTiers. +type GetPiSoftwareTiersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + SupportedSoftwareTiers []GetPiSoftwareTiersSupportedSoftwareTier `pulumi:"supportedSoftwareTiers"` +} + +func GetPiSoftwareTiersOutput(ctx *pulumi.Context, args GetPiSoftwareTiersOutputArgs, opts ...pulumi.InvokeOption) GetPiSoftwareTiersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiSoftwareTiersResultOutput, error) { + args := v.(GetPiSoftwareTiersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiSoftwareTiers:getPiSoftwareTiers", args, GetPiSoftwareTiersResultOutput{}, options).(GetPiSoftwareTiersResultOutput), nil + }).(GetPiSoftwareTiersResultOutput) +} + +// A collection of arguments for invoking getPiSoftwareTiers. +type GetPiSoftwareTiersOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiSoftwareTiersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSoftwareTiersArgs)(nil)).Elem() +} + +// A collection of values returned by getPiSoftwareTiers. +type GetPiSoftwareTiersResultOutput struct{ *pulumi.OutputState } + +func (GetPiSoftwareTiersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSoftwareTiersResult)(nil)).Elem() +} + +func (o GetPiSoftwareTiersResultOutput) ToGetPiSoftwareTiersResultOutput() GetPiSoftwareTiersResultOutput { + return o +} + +func (o GetPiSoftwareTiersResultOutput) ToGetPiSoftwareTiersResultOutputWithContext(ctx context.Context) GetPiSoftwareTiersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiSoftwareTiersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSoftwareTiersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiSoftwareTiersResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSoftwareTiersResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiSoftwareTiersResultOutput) SupportedSoftwareTiers() GetPiSoftwareTiersSupportedSoftwareTierArrayOutput { + return o.ApplyT(func(v GetPiSoftwareTiersResult) []GetPiSoftwareTiersSupportedSoftwareTier { + return v.SupportedSoftwareTiers + }).(GetPiSoftwareTiersSupportedSoftwareTierArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiSoftwareTiersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSppPlacementGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSppPlacementGroup.go new file mode 100644 index 000000000..2119ae9a6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSppPlacementGroup.go @@ -0,0 +1,112 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiSppPlacementGroup(ctx *pulumi.Context, args *LookupPiSppPlacementGroupArgs, opts ...pulumi.InvokeOption) (*LookupPiSppPlacementGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiSppPlacementGroupResult + err := ctx.Invoke("ibmcloud:index/getPiSppPlacementGroup:getPiSppPlacementGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiSppPlacementGroup. +type LookupPiSppPlacementGroupArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSppPlacementGroupId string `pulumi:"piSppPlacementGroupId"` +} + +// A collection of values returned by getPiSppPlacementGroup. +type LookupPiSppPlacementGroupResult struct { + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Members []string `pulumi:"members"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSppPlacementGroupId string `pulumi:"piSppPlacementGroupId"` + Policy string `pulumi:"policy"` + UserTags []string `pulumi:"userTags"` +} + +func LookupPiSppPlacementGroupOutput(ctx *pulumi.Context, args LookupPiSppPlacementGroupOutputArgs, opts ...pulumi.InvokeOption) LookupPiSppPlacementGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiSppPlacementGroupResultOutput, error) { + args := v.(LookupPiSppPlacementGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiSppPlacementGroup:getPiSppPlacementGroup", args, LookupPiSppPlacementGroupResultOutput{}, options).(LookupPiSppPlacementGroupResultOutput), nil + }).(LookupPiSppPlacementGroupResultOutput) +} + +// A collection of arguments for invoking getPiSppPlacementGroup. +type LookupPiSppPlacementGroupOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiSppPlacementGroupId pulumi.StringInput `pulumi:"piSppPlacementGroupId"` +} + +func (LookupPiSppPlacementGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiSppPlacementGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getPiSppPlacementGroup. +type LookupPiSppPlacementGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupPiSppPlacementGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiSppPlacementGroupResult)(nil)).Elem() +} + +func (o LookupPiSppPlacementGroupResultOutput) ToLookupPiSppPlacementGroupResultOutput() LookupPiSppPlacementGroupResultOutput { + return o +} + +func (o LookupPiSppPlacementGroupResultOutput) ToLookupPiSppPlacementGroupResultOutputWithContext(ctx context.Context) LookupPiSppPlacementGroupResultOutput { + return o +} + +func (o LookupPiSppPlacementGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSppPlacementGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiSppPlacementGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSppPlacementGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiSppPlacementGroupResultOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiSppPlacementGroupResult) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +func (o LookupPiSppPlacementGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSppPlacementGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiSppPlacementGroupResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSppPlacementGroupResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiSppPlacementGroupResultOutput) PiSppPlacementGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSppPlacementGroupResult) string { return v.PiSppPlacementGroupId }).(pulumi.StringOutput) +} + +func (o LookupPiSppPlacementGroupResultOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiSppPlacementGroupResult) string { return v.Policy }).(pulumi.StringOutput) +} + +func (o LookupPiSppPlacementGroupResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiSppPlacementGroupResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiSppPlacementGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSppPlacementGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSppPlacementGroups.go new file mode 100644 index 000000000..bfea1a78c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSppPlacementGroups.go @@ -0,0 +1,87 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiSppPlacementGroups(ctx *pulumi.Context, args *GetPiSppPlacementGroupsArgs, opts ...pulumi.InvokeOption) (*GetPiSppPlacementGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiSppPlacementGroupsResult + err := ctx.Invoke("ibmcloud:index/getPiSppPlacementGroups:getPiSppPlacementGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiSppPlacementGroups. +type GetPiSppPlacementGroupsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiSppPlacementGroups. +type GetPiSppPlacementGroupsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + SppPlacementGroups []GetPiSppPlacementGroupsSppPlacementGroup `pulumi:"sppPlacementGroups"` +} + +func GetPiSppPlacementGroupsOutput(ctx *pulumi.Context, args GetPiSppPlacementGroupsOutputArgs, opts ...pulumi.InvokeOption) GetPiSppPlacementGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiSppPlacementGroupsResultOutput, error) { + args := v.(GetPiSppPlacementGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiSppPlacementGroups:getPiSppPlacementGroups", args, GetPiSppPlacementGroupsResultOutput{}, options).(GetPiSppPlacementGroupsResultOutput), nil + }).(GetPiSppPlacementGroupsResultOutput) +} + +// A collection of arguments for invoking getPiSppPlacementGroups. +type GetPiSppPlacementGroupsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiSppPlacementGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSppPlacementGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiSppPlacementGroups. +type GetPiSppPlacementGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetPiSppPlacementGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSppPlacementGroupsResult)(nil)).Elem() +} + +func (o GetPiSppPlacementGroupsResultOutput) ToGetPiSppPlacementGroupsResultOutput() GetPiSppPlacementGroupsResultOutput { + return o +} + +func (o GetPiSppPlacementGroupsResultOutput) ToGetPiSppPlacementGroupsResultOutputWithContext(ctx context.Context) GetPiSppPlacementGroupsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiSppPlacementGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiSppPlacementGroupsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiSppPlacementGroupsResultOutput) SppPlacementGroups() GetPiSppPlacementGroupsSppPlacementGroupArrayOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsResult) []GetPiSppPlacementGroupsSppPlacementGroup { + return v.SppPlacementGroups + }).(GetPiSppPlacementGroupsSppPlacementGroupArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiSppPlacementGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStoragePoolCapacity.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStoragePoolCapacity.go new file mode 100644 index 000000000..81d615806 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStoragePoolCapacity.go @@ -0,0 +1,107 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiStoragePoolCapacity(ctx *pulumi.Context, args *GetPiStoragePoolCapacityArgs, opts ...pulumi.InvokeOption) (*GetPiStoragePoolCapacityResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiStoragePoolCapacityResult + err := ctx.Invoke("ibmcloud:index/getPiStoragePoolCapacity:getPiStoragePoolCapacity", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiStoragePoolCapacity. +type GetPiStoragePoolCapacityArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiStoragePool string `pulumi:"piStoragePool"` +} + +// A collection of values returned by getPiStoragePoolCapacity. +type GetPiStoragePoolCapacityResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MaxAllocationSize int `pulumi:"maxAllocationSize"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiStoragePool string `pulumi:"piStoragePool"` + ReplicationEnabled bool `pulumi:"replicationEnabled"` + StorageType string `pulumi:"storageType"` + TotalCapacity int `pulumi:"totalCapacity"` +} + +func GetPiStoragePoolCapacityOutput(ctx *pulumi.Context, args GetPiStoragePoolCapacityOutputArgs, opts ...pulumi.InvokeOption) GetPiStoragePoolCapacityResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiStoragePoolCapacityResultOutput, error) { + args := v.(GetPiStoragePoolCapacityArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiStoragePoolCapacity:getPiStoragePoolCapacity", args, GetPiStoragePoolCapacityResultOutput{}, options).(GetPiStoragePoolCapacityResultOutput), nil + }).(GetPiStoragePoolCapacityResultOutput) +} + +// A collection of arguments for invoking getPiStoragePoolCapacity. +type GetPiStoragePoolCapacityOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiStoragePool pulumi.StringInput `pulumi:"piStoragePool"` +} + +func (GetPiStoragePoolCapacityOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStoragePoolCapacityArgs)(nil)).Elem() +} + +// A collection of values returned by getPiStoragePoolCapacity. +type GetPiStoragePoolCapacityResultOutput struct{ *pulumi.OutputState } + +func (GetPiStoragePoolCapacityResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStoragePoolCapacityResult)(nil)).Elem() +} + +func (o GetPiStoragePoolCapacityResultOutput) ToGetPiStoragePoolCapacityResultOutput() GetPiStoragePoolCapacityResultOutput { + return o +} + +func (o GetPiStoragePoolCapacityResultOutput) ToGetPiStoragePoolCapacityResultOutputWithContext(ctx context.Context) GetPiStoragePoolCapacityResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiStoragePoolCapacityResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStoragePoolCapacityResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiStoragePoolCapacityResultOutput) MaxAllocationSize() pulumi.IntOutput { + return o.ApplyT(func(v GetPiStoragePoolCapacityResult) int { return v.MaxAllocationSize }).(pulumi.IntOutput) +} + +func (o GetPiStoragePoolCapacityResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStoragePoolCapacityResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiStoragePoolCapacityResultOutput) PiStoragePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStoragePoolCapacityResult) string { return v.PiStoragePool }).(pulumi.StringOutput) +} + +func (o GetPiStoragePoolCapacityResultOutput) ReplicationEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiStoragePoolCapacityResult) bool { return v.ReplicationEnabled }).(pulumi.BoolOutput) +} + +func (o GetPiStoragePoolCapacityResultOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStoragePoolCapacityResult) string { return v.StorageType }).(pulumi.StringOutput) +} + +func (o GetPiStoragePoolCapacityResultOutput) TotalCapacity() pulumi.IntOutput { + return o.ApplyT(func(v GetPiStoragePoolCapacityResult) int { return v.TotalCapacity }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiStoragePoolCapacityResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStoragePoolsCapacity.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStoragePoolsCapacity.go new file mode 100644 index 000000000..e902a7bc2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStoragePoolsCapacity.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiStoragePoolsCapacity(ctx *pulumi.Context, args *GetPiStoragePoolsCapacityArgs, opts ...pulumi.InvokeOption) (*GetPiStoragePoolsCapacityResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiStoragePoolsCapacityResult + err := ctx.Invoke("ibmcloud:index/getPiStoragePoolsCapacity:getPiStoragePoolsCapacity", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiStoragePoolsCapacity. +type GetPiStoragePoolsCapacityArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiStoragePoolsCapacity. +type GetPiStoragePoolsCapacityResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MaxStorageAllocation map[string]string `pulumi:"maxStorageAllocation"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + StoragePoolsCapacities []GetPiStoragePoolsCapacityStoragePoolsCapacity `pulumi:"storagePoolsCapacities"` +} + +func GetPiStoragePoolsCapacityOutput(ctx *pulumi.Context, args GetPiStoragePoolsCapacityOutputArgs, opts ...pulumi.InvokeOption) GetPiStoragePoolsCapacityResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiStoragePoolsCapacityResultOutput, error) { + args := v.(GetPiStoragePoolsCapacityArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiStoragePoolsCapacity:getPiStoragePoolsCapacity", args, GetPiStoragePoolsCapacityResultOutput{}, options).(GetPiStoragePoolsCapacityResultOutput), nil + }).(GetPiStoragePoolsCapacityResultOutput) +} + +// A collection of arguments for invoking getPiStoragePoolsCapacity. +type GetPiStoragePoolsCapacityOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiStoragePoolsCapacityOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStoragePoolsCapacityArgs)(nil)).Elem() +} + +// A collection of values returned by getPiStoragePoolsCapacity. +type GetPiStoragePoolsCapacityResultOutput struct{ *pulumi.OutputState } + +func (GetPiStoragePoolsCapacityResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStoragePoolsCapacityResult)(nil)).Elem() +} + +func (o GetPiStoragePoolsCapacityResultOutput) ToGetPiStoragePoolsCapacityResultOutput() GetPiStoragePoolsCapacityResultOutput { + return o +} + +func (o GetPiStoragePoolsCapacityResultOutput) ToGetPiStoragePoolsCapacityResultOutputWithContext(ctx context.Context) GetPiStoragePoolsCapacityResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiStoragePoolsCapacityResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiStoragePoolsCapacityResultOutput) MaxStorageAllocation() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityResult) map[string]string { return v.MaxStorageAllocation }).(pulumi.StringMapOutput) +} + +func (o GetPiStoragePoolsCapacityResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiStoragePoolsCapacityResultOutput) StoragePoolsCapacities() GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityResult) []GetPiStoragePoolsCapacityStoragePoolsCapacity { + return v.StoragePoolsCapacities + }).(GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiStoragePoolsCapacityResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTiers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTiers.go new file mode 100644 index 000000000..a0b822448 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTiers.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiStorageTiers(ctx *pulumi.Context, args *GetPiStorageTiersArgs, opts ...pulumi.InvokeOption) (*GetPiStorageTiersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiStorageTiersResult + err := ctx.Invoke("ibmcloud:index/getPiStorageTiers:getPiStorageTiers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiStorageTiers. +type GetPiStorageTiersArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiStorageTiers. +type GetPiStorageTiersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + RegionStorageTiers []GetPiStorageTiersRegionStorageTier `pulumi:"regionStorageTiers"` +} + +func GetPiStorageTiersOutput(ctx *pulumi.Context, args GetPiStorageTiersOutputArgs, opts ...pulumi.InvokeOption) GetPiStorageTiersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiStorageTiersResultOutput, error) { + args := v.(GetPiStorageTiersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiStorageTiers:getPiStorageTiers", args, GetPiStorageTiersResultOutput{}, options).(GetPiStorageTiersResultOutput), nil + }).(GetPiStorageTiersResultOutput) +} + +// A collection of arguments for invoking getPiStorageTiers. +type GetPiStorageTiersOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiStorageTiersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTiersArgs)(nil)).Elem() +} + +// A collection of values returned by getPiStorageTiers. +type GetPiStorageTiersResultOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTiersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTiersResult)(nil)).Elem() +} + +func (o GetPiStorageTiersResultOutput) ToGetPiStorageTiersResultOutput() GetPiStorageTiersResultOutput { + return o +} + +func (o GetPiStorageTiersResultOutput) ToGetPiStorageTiersResultOutputWithContext(ctx context.Context) GetPiStorageTiersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiStorageTiersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTiersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiStorageTiersResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTiersResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiStorageTiersResultOutput) RegionStorageTiers() GetPiStorageTiersRegionStorageTierArrayOutput { + return o.ApplyT(func(v GetPiStorageTiersResult) []GetPiStorageTiersRegionStorageTier { return v.RegionStorageTiers }).(GetPiStorageTiersRegionStorageTierArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiStorageTiersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTypeCapacity.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTypeCapacity.go new file mode 100644 index 000000000..e802ec965 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTypeCapacity.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiStorageTypeCapacity(ctx *pulumi.Context, args *GetPiStorageTypeCapacityArgs, opts ...pulumi.InvokeOption) (*GetPiStorageTypeCapacityResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiStorageTypeCapacityResult + err := ctx.Invoke("ibmcloud:index/getPiStorageTypeCapacity:getPiStorageTypeCapacity", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiStorageTypeCapacity. +type GetPiStorageTypeCapacityArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiStorageType string `pulumi:"piStorageType"` +} + +// A collection of values returned by getPiStorageTypeCapacity. +type GetPiStorageTypeCapacityResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MaxStorageAllocation map[string]string `pulumi:"maxStorageAllocation"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiStorageType string `pulumi:"piStorageType"` + StoragePoolsCapacities []GetPiStorageTypeCapacityStoragePoolsCapacity `pulumi:"storagePoolsCapacities"` +} + +func GetPiStorageTypeCapacityOutput(ctx *pulumi.Context, args GetPiStorageTypeCapacityOutputArgs, opts ...pulumi.InvokeOption) GetPiStorageTypeCapacityResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiStorageTypeCapacityResultOutput, error) { + args := v.(GetPiStorageTypeCapacityArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiStorageTypeCapacity:getPiStorageTypeCapacity", args, GetPiStorageTypeCapacityResultOutput{}, options).(GetPiStorageTypeCapacityResultOutput), nil + }).(GetPiStorageTypeCapacityResultOutput) +} + +// A collection of arguments for invoking getPiStorageTypeCapacity. +type GetPiStorageTypeCapacityOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiStorageType pulumi.StringInput `pulumi:"piStorageType"` +} + +func (GetPiStorageTypeCapacityOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypeCapacityArgs)(nil)).Elem() +} + +// A collection of values returned by getPiStorageTypeCapacity. +type GetPiStorageTypeCapacityResultOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTypeCapacityResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypeCapacityResult)(nil)).Elem() +} + +func (o GetPiStorageTypeCapacityResultOutput) ToGetPiStorageTypeCapacityResultOutput() GetPiStorageTypeCapacityResultOutput { + return o +} + +func (o GetPiStorageTypeCapacityResultOutput) ToGetPiStorageTypeCapacityResultOutputWithContext(ctx context.Context) GetPiStorageTypeCapacityResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiStorageTypeCapacityResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiStorageTypeCapacityResultOutput) MaxStorageAllocation() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityResult) map[string]string { return v.MaxStorageAllocation }).(pulumi.StringMapOutput) +} + +func (o GetPiStorageTypeCapacityResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiStorageTypeCapacityResultOutput) PiStorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityResult) string { return v.PiStorageType }).(pulumi.StringOutput) +} + +func (o GetPiStorageTypeCapacityResultOutput) StoragePoolsCapacities() GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityResult) []GetPiStorageTypeCapacityStoragePoolsCapacity { + return v.StoragePoolsCapacities + }).(GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiStorageTypeCapacityResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTypesCapacity.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTypesCapacity.go new file mode 100644 index 000000000..23d13cd28 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiStorageTypesCapacity.go @@ -0,0 +1,92 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiStorageTypesCapacity(ctx *pulumi.Context, args *GetPiStorageTypesCapacityArgs, opts ...pulumi.InvokeOption) (*GetPiStorageTypesCapacityResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiStorageTypesCapacityResult + err := ctx.Invoke("ibmcloud:index/getPiStorageTypesCapacity:getPiStorageTypesCapacity", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiStorageTypesCapacity. +type GetPiStorageTypesCapacityArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiStorageTypesCapacity. +type GetPiStorageTypesCapacityResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MaxStorageAllocation map[string]string `pulumi:"maxStorageAllocation"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + StorageTypesCapacities []GetPiStorageTypesCapacityStorageTypesCapacity `pulumi:"storageTypesCapacities"` +} + +func GetPiStorageTypesCapacityOutput(ctx *pulumi.Context, args GetPiStorageTypesCapacityOutputArgs, opts ...pulumi.InvokeOption) GetPiStorageTypesCapacityResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiStorageTypesCapacityResultOutput, error) { + args := v.(GetPiStorageTypesCapacityArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiStorageTypesCapacity:getPiStorageTypesCapacity", args, GetPiStorageTypesCapacityResultOutput{}, options).(GetPiStorageTypesCapacityResultOutput), nil + }).(GetPiStorageTypesCapacityResultOutput) +} + +// A collection of arguments for invoking getPiStorageTypesCapacity. +type GetPiStorageTypesCapacityOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiStorageTypesCapacityOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypesCapacityArgs)(nil)).Elem() +} + +// A collection of values returned by getPiStorageTypesCapacity. +type GetPiStorageTypesCapacityResultOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTypesCapacityResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypesCapacityResult)(nil)).Elem() +} + +func (o GetPiStorageTypesCapacityResultOutput) ToGetPiStorageTypesCapacityResultOutput() GetPiStorageTypesCapacityResultOutput { + return o +} + +func (o GetPiStorageTypesCapacityResultOutput) ToGetPiStorageTypesCapacityResultOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiStorageTypesCapacityResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiStorageTypesCapacityResultOutput) MaxStorageAllocation() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityResult) map[string]string { return v.MaxStorageAllocation }).(pulumi.StringMapOutput) +} + +func (o GetPiStorageTypesCapacityResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiStorageTypesCapacityResultOutput) StorageTypesCapacities() GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityResult) []GetPiStorageTypesCapacityStorageTypesCapacity { + return v.StorageTypesCapacities + }).(GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiStorageTypesCapacityResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSystemPools.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSystemPools.go new file mode 100644 index 000000000..8d09e0d68 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiSystemPools.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiSystemPools(ctx *pulumi.Context, args *GetPiSystemPoolsArgs, opts ...pulumi.InvokeOption) (*GetPiSystemPoolsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiSystemPoolsResult + err := ctx.Invoke("ibmcloud:index/getPiSystemPools:getPiSystemPools", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiSystemPools. +type GetPiSystemPoolsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiSystemPools. +type GetPiSystemPoolsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + SystemPools []GetPiSystemPoolsSystemPool `pulumi:"systemPools"` +} + +func GetPiSystemPoolsOutput(ctx *pulumi.Context, args GetPiSystemPoolsOutputArgs, opts ...pulumi.InvokeOption) GetPiSystemPoolsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiSystemPoolsResultOutput, error) { + args := v.(GetPiSystemPoolsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiSystemPools:getPiSystemPools", args, GetPiSystemPoolsResultOutput{}, options).(GetPiSystemPoolsResultOutput), nil + }).(GetPiSystemPoolsResultOutput) +} + +// A collection of arguments for invoking getPiSystemPools. +type GetPiSystemPoolsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiSystemPoolsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSystemPoolsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiSystemPools. +type GetPiSystemPoolsResultOutput struct{ *pulumi.OutputState } + +func (GetPiSystemPoolsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSystemPoolsResult)(nil)).Elem() +} + +func (o GetPiSystemPoolsResultOutput) ToGetPiSystemPoolsResultOutput() GetPiSystemPoolsResultOutput { + return o +} + +func (o GetPiSystemPoolsResultOutput) ToGetPiSystemPoolsResultOutputWithContext(ctx context.Context) GetPiSystemPoolsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiSystemPoolsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSystemPoolsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiSystemPoolsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSystemPoolsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiSystemPoolsResultOutput) SystemPools() GetPiSystemPoolsSystemPoolArrayOutput { + return o.ApplyT(func(v GetPiSystemPoolsResult) []GetPiSystemPoolsSystemPool { return v.SystemPools }).(GetPiSystemPoolsSystemPoolArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiSystemPoolsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiTenant.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiTenant.go new file mode 100644 index 000000000..eb260a093 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiTenant.go @@ -0,0 +1,100 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiTenant(ctx *pulumi.Context, args *GetPiTenantArgs, opts ...pulumi.InvokeOption) (*GetPiTenantResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiTenantResult + err := ctx.Invoke("ibmcloud:index/getPiTenant:getPiTenant", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiTenant. +type GetPiTenantArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiTenant. +type GetPiTenantResult struct { + CloudInstances []GetPiTenantCloudInstance `pulumi:"cloudInstances"` + CreationDate string `pulumi:"creationDate"` + Enabled bool `pulumi:"enabled"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + TenantName string `pulumi:"tenantName"` +} + +func GetPiTenantOutput(ctx *pulumi.Context, args GetPiTenantOutputArgs, opts ...pulumi.InvokeOption) GetPiTenantResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiTenantResultOutput, error) { + args := v.(GetPiTenantArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiTenant:getPiTenant", args, GetPiTenantResultOutput{}, options).(GetPiTenantResultOutput), nil + }).(GetPiTenantResultOutput) +} + +// A collection of arguments for invoking getPiTenant. +type GetPiTenantOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiTenantOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiTenantArgs)(nil)).Elem() +} + +// A collection of values returned by getPiTenant. +type GetPiTenantResultOutput struct{ *pulumi.OutputState } + +func (GetPiTenantResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiTenantResult)(nil)).Elem() +} + +func (o GetPiTenantResultOutput) ToGetPiTenantResultOutput() GetPiTenantResultOutput { + return o +} + +func (o GetPiTenantResultOutput) ToGetPiTenantResultOutputWithContext(ctx context.Context) GetPiTenantResultOutput { + return o +} + +func (o GetPiTenantResultOutput) CloudInstances() GetPiTenantCloudInstanceArrayOutput { + return o.ApplyT(func(v GetPiTenantResult) []GetPiTenantCloudInstance { return v.CloudInstances }).(GetPiTenantCloudInstanceArrayOutput) +} + +func (o GetPiTenantResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiTenantResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o GetPiTenantResultOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiTenantResult) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiTenantResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiTenantResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiTenantResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiTenantResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiTenantResultOutput) TenantName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiTenantResult) string { return v.TenantName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiTenantResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVirtualSerialNumber.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVirtualSerialNumber.go new file mode 100644 index 000000000..77e5ae56c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVirtualSerialNumber.go @@ -0,0 +1,102 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiVirtualSerialNumber(ctx *pulumi.Context, args *LookupPiVirtualSerialNumberArgs, opts ...pulumi.InvokeOption) (*LookupPiVirtualSerialNumberResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiVirtualSerialNumberResult + err := ctx.Invoke("ibmcloud:index/getPiVirtualSerialNumber:getPiVirtualSerialNumber", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVirtualSerialNumber. +type LookupPiVirtualSerialNumberArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSerial string `pulumi:"piSerial"` +} + +// A collection of values returned by getPiVirtualSerialNumber. +type LookupPiVirtualSerialNumberResult struct { + Description string `pulumi:"description"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceId string `pulumi:"instanceId"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiSerial string `pulumi:"piSerial"` + SoftwareTier string `pulumi:"softwareTier"` +} + +func LookupPiVirtualSerialNumberOutput(ctx *pulumi.Context, args LookupPiVirtualSerialNumberOutputArgs, opts ...pulumi.InvokeOption) LookupPiVirtualSerialNumberResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiVirtualSerialNumberResultOutput, error) { + args := v.(LookupPiVirtualSerialNumberArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVirtualSerialNumber:getPiVirtualSerialNumber", args, LookupPiVirtualSerialNumberResultOutput{}, options).(LookupPiVirtualSerialNumberResultOutput), nil + }).(LookupPiVirtualSerialNumberResultOutput) +} + +// A collection of arguments for invoking getPiVirtualSerialNumber. +type LookupPiVirtualSerialNumberOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiSerial pulumi.StringInput `pulumi:"piSerial"` +} + +func (LookupPiVirtualSerialNumberOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVirtualSerialNumberArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVirtualSerialNumber. +type LookupPiVirtualSerialNumberResultOutput struct{ *pulumi.OutputState } + +func (LookupPiVirtualSerialNumberResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVirtualSerialNumberResult)(nil)).Elem() +} + +func (o LookupPiVirtualSerialNumberResultOutput) ToLookupPiVirtualSerialNumberResultOutput() LookupPiVirtualSerialNumberResultOutput { + return o +} + +func (o LookupPiVirtualSerialNumberResultOutput) ToLookupPiVirtualSerialNumberResultOutputWithContext(ctx context.Context) LookupPiVirtualSerialNumberResultOutput { + return o +} + +func (o LookupPiVirtualSerialNumberResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVirtualSerialNumberResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiVirtualSerialNumberResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVirtualSerialNumberResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiVirtualSerialNumberResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVirtualSerialNumberResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiVirtualSerialNumberResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVirtualSerialNumberResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiVirtualSerialNumberResultOutput) PiSerial() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVirtualSerialNumberResult) string { return v.PiSerial }).(pulumi.StringOutput) +} + +func (o LookupPiVirtualSerialNumberResultOutput) SoftwareTier() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVirtualSerialNumberResult) string { return v.SoftwareTier }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiVirtualSerialNumberResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVirtualSerialNumbers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVirtualSerialNumbers.go new file mode 100644 index 000000000..7c4dc656e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVirtualSerialNumbers.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVirtualSerialNumbers(ctx *pulumi.Context, args *GetPiVirtualSerialNumbersArgs, opts ...pulumi.InvokeOption) (*GetPiVirtualSerialNumbersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVirtualSerialNumbersResult + err := ctx.Invoke("ibmcloud:index/getPiVirtualSerialNumbers:getPiVirtualSerialNumbers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVirtualSerialNumbers. +type GetPiVirtualSerialNumbersArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceId *string `pulumi:"piInstanceId"` +} + +// A collection of values returned by getPiVirtualSerialNumbers. +type GetPiVirtualSerialNumbersResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiInstanceId *string `pulumi:"piInstanceId"` + VirtualSerialNumbers []GetPiVirtualSerialNumbersVirtualSerialNumber `pulumi:"virtualSerialNumbers"` +} + +func GetPiVirtualSerialNumbersOutput(ctx *pulumi.Context, args GetPiVirtualSerialNumbersOutputArgs, opts ...pulumi.InvokeOption) GetPiVirtualSerialNumbersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVirtualSerialNumbersResultOutput, error) { + args := v.(GetPiVirtualSerialNumbersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVirtualSerialNumbers:getPiVirtualSerialNumbers", args, GetPiVirtualSerialNumbersResultOutput{}, options).(GetPiVirtualSerialNumbersResultOutput), nil + }).(GetPiVirtualSerialNumbersResultOutput) +} + +// A collection of arguments for invoking getPiVirtualSerialNumbers. +type GetPiVirtualSerialNumbersOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiInstanceId pulumi.StringPtrInput `pulumi:"piInstanceId"` +} + +func (GetPiVirtualSerialNumbersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVirtualSerialNumbersArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVirtualSerialNumbers. +type GetPiVirtualSerialNumbersResultOutput struct{ *pulumi.OutputState } + +func (GetPiVirtualSerialNumbersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVirtualSerialNumbersResult)(nil)).Elem() +} + +func (o GetPiVirtualSerialNumbersResultOutput) ToGetPiVirtualSerialNumbersResultOutput() GetPiVirtualSerialNumbersResultOutput { + return o +} + +func (o GetPiVirtualSerialNumbersResultOutput) ToGetPiVirtualSerialNumbersResultOutputWithContext(ctx context.Context) GetPiVirtualSerialNumbersResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVirtualSerialNumbersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVirtualSerialNumbersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVirtualSerialNumbersResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVirtualSerialNumbersResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVirtualSerialNumbersResultOutput) PiInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPiVirtualSerialNumbersResult) *string { return v.PiInstanceId }).(pulumi.StringPtrOutput) +} + +func (o GetPiVirtualSerialNumbersResultOutput) VirtualSerialNumbers() GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput { + return o.ApplyT(func(v GetPiVirtualSerialNumbersResult) []GetPiVirtualSerialNumbersVirtualSerialNumber { + return v.VirtualSerialNumbers + }).(GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVirtualSerialNumbersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolume.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolume.go new file mode 100644 index 000000000..5dbefd8dc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolume.go @@ -0,0 +1,233 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiVolume(ctx *pulumi.Context, args *LookupPiVolumeArgs, opts ...pulumi.InvokeOption) (*LookupPiVolumeResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiVolumeResult + err := ctx.Invoke("ibmcloud:index/getPiVolume:getPiVolume", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolume. +type LookupPiVolumeArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeId *string `pulumi:"piVolumeId"` + // Deprecated: The piVolumeName field is deprecated. Please use piVolumeId instead + PiVolumeName *string `pulumi:"piVolumeName"` +} + +// A collection of values returned by getPiVolume. +type LookupPiVolumeResult struct { + Auxiliary bool `pulumi:"auxiliary"` + AuxiliaryVolumeName string `pulumi:"auxiliaryVolumeName"` + Bootable bool `pulumi:"bootable"` + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + CreationDate string `pulumi:"creationDate"` + Crn string `pulumi:"crn"` + DiskType string `pulumi:"diskType"` + FreezeTime string `pulumi:"freezeTime"` + GroupId string `pulumi:"groupId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IoThrottleRate string `pulumi:"ioThrottleRate"` + LastUpdateDate string `pulumi:"lastUpdateDate"` + MasterVolumeName string `pulumi:"masterVolumeName"` + MirroringState string `pulumi:"mirroringState"` + Name string `pulumi:"name"` + OutOfBandDeleted bool `pulumi:"outOfBandDeleted"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeId *string `pulumi:"piVolumeId"` + // Deprecated: The piVolumeName field is deprecated. Please use piVolumeId instead + PiVolumeName *string `pulumi:"piVolumeName"` + PrimaryRole string `pulumi:"primaryRole"` + ReplicationEnabled bool `pulumi:"replicationEnabled"` + ReplicationSites []string `pulumi:"replicationSites"` + ReplicationStatus string `pulumi:"replicationStatus"` + ReplicationType string `pulumi:"replicationType"` + Shreable bool `pulumi:"shreable"` + Size int `pulumi:"size"` + State string `pulumi:"state"` + UserTags []string `pulumi:"userTags"` + VolumePool string `pulumi:"volumePool"` + VolumeType string `pulumi:"volumeType"` + Wwn string `pulumi:"wwn"` +} + +func LookupPiVolumeOutput(ctx *pulumi.Context, args LookupPiVolumeOutputArgs, opts ...pulumi.InvokeOption) LookupPiVolumeResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiVolumeResultOutput, error) { + args := v.(LookupPiVolumeArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolume:getPiVolume", args, LookupPiVolumeResultOutput{}, options).(LookupPiVolumeResultOutput), nil + }).(LookupPiVolumeResultOutput) +} + +// A collection of arguments for invoking getPiVolume. +type LookupPiVolumeOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeId pulumi.StringPtrInput `pulumi:"piVolumeId"` + // Deprecated: The piVolumeName field is deprecated. Please use piVolumeId instead + PiVolumeName pulumi.StringPtrInput `pulumi:"piVolumeName"` +} + +func (LookupPiVolumeOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVolumeArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolume. +type LookupPiVolumeResultOutput struct{ *pulumi.OutputState } + +func (LookupPiVolumeResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVolumeResult)(nil)).Elem() +} + +func (o LookupPiVolumeResultOutput) ToLookupPiVolumeResultOutput() LookupPiVolumeResultOutput { + return o +} + +func (o LookupPiVolumeResultOutput) ToLookupPiVolumeResultOutputWithContext(ctx context.Context) LookupPiVolumeResultOutput { + return o +} + +func (o LookupPiVolumeResultOutput) Auxiliary() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiVolumeResult) bool { return v.Auxiliary }).(pulumi.BoolOutput) +} + +func (o LookupPiVolumeResultOutput) AuxiliaryVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.AuxiliaryVolumeName }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) Bootable() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiVolumeResult) bool { return v.Bootable }).(pulumi.BoolOutput) +} + +func (o LookupPiVolumeResultOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.DiskType }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) FreezeTime() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.FreezeTime }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.GroupId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiVolumeResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) IoThrottleRate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.IoThrottleRate }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) LastUpdateDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.LastUpdateDate }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) MasterVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.MasterVolumeName }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) MirroringState() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.MirroringState }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) OutOfBandDeleted() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiVolumeResult) bool { return v.OutOfBandDeleted }).(pulumi.BoolOutput) +} + +func (o LookupPiVolumeResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) PiVolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPiVolumeResult) *string { return v.PiVolumeId }).(pulumi.StringPtrOutput) +} + +// Deprecated: The piVolumeName field is deprecated. Please use piVolumeId instead +func (o LookupPiVolumeResultOutput) PiVolumeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPiVolumeResult) *string { return v.PiVolumeName }).(pulumi.StringPtrOutput) +} + +func (o LookupPiVolumeResultOutput) PrimaryRole() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.PrimaryRole }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) ReplicationEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiVolumeResult) bool { return v.ReplicationEnabled }).(pulumi.BoolOutput) +} + +func (o LookupPiVolumeResultOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiVolumeResult) []string { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +func (o LookupPiVolumeResultOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) ReplicationType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.ReplicationType }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) Shreable() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiVolumeResult) bool { return v.Shreable }).(pulumi.BoolOutput) +} + +func (o LookupPiVolumeResultOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiVolumeResult) int { return v.Size }).(pulumi.IntOutput) +} + +func (o LookupPiVolumeResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiVolumeResult) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func (o LookupPiVolumeResultOutput) VolumePool() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.VolumePool }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) VolumeType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.VolumeType }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeResultOutput) Wwn() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeResult) string { return v.Wwn }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiVolumeResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeClone.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeClone.go new file mode 100644 index 000000000..fa1dcdf69 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeClone.go @@ -0,0 +1,107 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiVolumeClone(ctx *pulumi.Context, args *LookupPiVolumeCloneArgs, opts ...pulumi.InvokeOption) (*LookupPiVolumeCloneResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiVolumeCloneResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeClone:getPiVolumeClone", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeClone. +type LookupPiVolumeCloneArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeCloneTaskId string `pulumi:"piVolumeCloneTaskId"` +} + +// A collection of values returned by getPiVolumeClone. +type LookupPiVolumeCloneResult struct { + CloneVolumes []GetPiVolumeCloneCloneVolume `pulumi:"cloneVolumes"` + FailureReason string `pulumi:"failureReason"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PercentComplete int `pulumi:"percentComplete"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeCloneTaskId string `pulumi:"piVolumeCloneTaskId"` + Status string `pulumi:"status"` +} + +func LookupPiVolumeCloneOutput(ctx *pulumi.Context, args LookupPiVolumeCloneOutputArgs, opts ...pulumi.InvokeOption) LookupPiVolumeCloneResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiVolumeCloneResultOutput, error) { + args := v.(LookupPiVolumeCloneArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeClone:getPiVolumeClone", args, LookupPiVolumeCloneResultOutput{}, options).(LookupPiVolumeCloneResultOutput), nil + }).(LookupPiVolumeCloneResultOutput) +} + +// A collection of arguments for invoking getPiVolumeClone. +type LookupPiVolumeCloneOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeCloneTaskId pulumi.StringInput `pulumi:"piVolumeCloneTaskId"` +} + +func (LookupPiVolumeCloneOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVolumeCloneArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeClone. +type LookupPiVolumeCloneResultOutput struct{ *pulumi.OutputState } + +func (LookupPiVolumeCloneResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVolumeCloneResult)(nil)).Elem() +} + +func (o LookupPiVolumeCloneResultOutput) ToLookupPiVolumeCloneResultOutput() LookupPiVolumeCloneResultOutput { + return o +} + +func (o LookupPiVolumeCloneResultOutput) ToLookupPiVolumeCloneResultOutputWithContext(ctx context.Context) LookupPiVolumeCloneResultOutput { + return o +} + +func (o LookupPiVolumeCloneResultOutput) CloneVolumes() GetPiVolumeCloneCloneVolumeArrayOutput { + return o.ApplyT(func(v LookupPiVolumeCloneResult) []GetPiVolumeCloneCloneVolume { return v.CloneVolumes }).(GetPiVolumeCloneCloneVolumeArrayOutput) +} + +func (o LookupPiVolumeCloneResultOutput) FailureReason() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeCloneResult) string { return v.FailureReason }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiVolumeCloneResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeCloneResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeCloneResultOutput) PercentComplete() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiVolumeCloneResult) int { return v.PercentComplete }).(pulumi.IntOutput) +} + +func (o LookupPiVolumeCloneResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeCloneResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeCloneResultOutput) PiVolumeCloneTaskId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeCloneResult) string { return v.PiVolumeCloneTaskId }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeCloneResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeCloneResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiVolumeCloneResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeFlashCopyMappings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeFlashCopyMappings.go new file mode 100644 index 000000000..02f3da9e6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeFlashCopyMappings.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeFlashCopyMappings(ctx *pulumi.Context, args *GetPiVolumeFlashCopyMappingsArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeFlashCopyMappingsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeFlashCopyMappingsResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeFlashCopyMappings:getPiVolumeFlashCopyMappings", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeFlashCopyMappings. +type GetPiVolumeFlashCopyMappingsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeId string `pulumi:"piVolumeId"` +} + +// A collection of values returned by getPiVolumeFlashCopyMappings. +type GetPiVolumeFlashCopyMappingsResult struct { + FlashCopyMappings []GetPiVolumeFlashCopyMappingsFlashCopyMapping `pulumi:"flashCopyMappings"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeId string `pulumi:"piVolumeId"` +} + +func GetPiVolumeFlashCopyMappingsOutput(ctx *pulumi.Context, args GetPiVolumeFlashCopyMappingsOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeFlashCopyMappingsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeFlashCopyMappingsResultOutput, error) { + args := v.(GetPiVolumeFlashCopyMappingsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeFlashCopyMappings:getPiVolumeFlashCopyMappings", args, GetPiVolumeFlashCopyMappingsResultOutput{}, options).(GetPiVolumeFlashCopyMappingsResultOutput), nil + }).(GetPiVolumeFlashCopyMappingsResultOutput) +} + +// A collection of arguments for invoking getPiVolumeFlashCopyMappings. +type GetPiVolumeFlashCopyMappingsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeId pulumi.StringInput `pulumi:"piVolumeId"` +} + +func (GetPiVolumeFlashCopyMappingsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeFlashCopyMappingsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeFlashCopyMappings. +type GetPiVolumeFlashCopyMappingsResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeFlashCopyMappingsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeFlashCopyMappingsResult)(nil)).Elem() +} + +func (o GetPiVolumeFlashCopyMappingsResultOutput) ToGetPiVolumeFlashCopyMappingsResultOutput() GetPiVolumeFlashCopyMappingsResultOutput { + return o +} + +func (o GetPiVolumeFlashCopyMappingsResultOutput) ToGetPiVolumeFlashCopyMappingsResultOutputWithContext(ctx context.Context) GetPiVolumeFlashCopyMappingsResultOutput { + return o +} + +func (o GetPiVolumeFlashCopyMappingsResultOutput) FlashCopyMappings() GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsResult) []GetPiVolumeFlashCopyMappingsFlashCopyMapping { + return v.FlashCopyMappings + }).(GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeFlashCopyMappingsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeFlashCopyMappingsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeFlashCopyMappingsResultOutput) PiVolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsResult) string { return v.PiVolumeId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeFlashCopyMappingsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroup.go new file mode 100644 index 000000000..c80e5e490 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroup.go @@ -0,0 +1,129 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiVolumeGroup(ctx *pulumi.Context, args *LookupPiVolumeGroupArgs, opts ...pulumi.InvokeOption) (*LookupPiVolumeGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiVolumeGroupResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeGroup:getPiVolumeGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeGroup. +type LookupPiVolumeGroupArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` +} + +// A collection of values returned by getPiVolumeGroup. +type LookupPiVolumeGroupResult struct { + Auxiliary bool `pulumi:"auxiliary"` + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` + ReplicationSites []string `pulumi:"replicationSites"` + ReplicationStatus string `pulumi:"replicationStatus"` + Status string `pulumi:"status"` + StatusDescriptionErrors []GetPiVolumeGroupStatusDescriptionError `pulumi:"statusDescriptionErrors"` + StoragePool string `pulumi:"storagePool"` + VolumeGroupName string `pulumi:"volumeGroupName"` +} + +func LookupPiVolumeGroupOutput(ctx *pulumi.Context, args LookupPiVolumeGroupOutputArgs, opts ...pulumi.InvokeOption) LookupPiVolumeGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiVolumeGroupResultOutput, error) { + args := v.(LookupPiVolumeGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeGroup:getPiVolumeGroup", args, LookupPiVolumeGroupResultOutput{}, options).(LookupPiVolumeGroupResultOutput), nil + }).(LookupPiVolumeGroupResultOutput) +} + +// A collection of arguments for invoking getPiVolumeGroup. +type LookupPiVolumeGroupOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeGroupId pulumi.StringInput `pulumi:"piVolumeGroupId"` +} + +func (LookupPiVolumeGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVolumeGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeGroup. +type LookupPiVolumeGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupPiVolumeGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVolumeGroupResult)(nil)).Elem() +} + +func (o LookupPiVolumeGroupResultOutput) ToLookupPiVolumeGroupResultOutput() LookupPiVolumeGroupResultOutput { + return o +} + +func (o LookupPiVolumeGroupResultOutput) ToLookupPiVolumeGroupResultOutputWithContext(ctx context.Context) LookupPiVolumeGroupResultOutput { + return o +} + +func (o LookupPiVolumeGroupResultOutput) Auxiliary() pulumi.BoolOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) bool { return v.Auxiliary }).(pulumi.BoolOutput) +} + +func (o LookupPiVolumeGroupResultOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) string { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiVolumeGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeGroupResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeGroupResultOutput) PiVolumeGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) string { return v.PiVolumeGroupId }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeGroupResultOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) []string { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +func (o LookupPiVolumeGroupResultOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) string { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeGroupResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeGroupResultOutput) StatusDescriptionErrors() GetPiVolumeGroupStatusDescriptionErrorArrayOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) []GetPiVolumeGroupStatusDescriptionError { + return v.StatusDescriptionErrors + }).(GetPiVolumeGroupStatusDescriptionErrorArrayOutput) +} + +func (o LookupPiVolumeGroupResultOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) string { return v.StoragePool }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeGroupResultOutput) VolumeGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeGroupResult) string { return v.VolumeGroupName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiVolumeGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupDetails.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupDetails.go new file mode 100644 index 000000000..ce0eb373c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupDetails.go @@ -0,0 +1,134 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeGroupDetails(ctx *pulumi.Context, args *GetPiVolumeGroupDetailsArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeGroupDetailsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeGroupDetailsResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeGroupDetails:getPiVolumeGroupDetails", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeGroupDetails. +type GetPiVolumeGroupDetailsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` +} + +// A collection of values returned by getPiVolumeGroupDetails. +type GetPiVolumeGroupDetailsResult struct { + Auxiliary bool `pulumi:"auxiliary"` + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` + ReplicationSites []string `pulumi:"replicationSites"` + ReplicationStatus string `pulumi:"replicationStatus"` + Status string `pulumi:"status"` + StatusDescriptionErrors []GetPiVolumeGroupDetailsStatusDescriptionError `pulumi:"statusDescriptionErrors"` + StoragePool string `pulumi:"storagePool"` + VolumeGroupName string `pulumi:"volumeGroupName"` + VolumeIds []string `pulumi:"volumeIds"` +} + +func GetPiVolumeGroupDetailsOutput(ctx *pulumi.Context, args GetPiVolumeGroupDetailsOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeGroupDetailsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeGroupDetailsResultOutput, error) { + args := v.(GetPiVolumeGroupDetailsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeGroupDetails:getPiVolumeGroupDetails", args, GetPiVolumeGroupDetailsResultOutput{}, options).(GetPiVolumeGroupDetailsResultOutput), nil + }).(GetPiVolumeGroupDetailsResultOutput) +} + +// A collection of arguments for invoking getPiVolumeGroupDetails. +type GetPiVolumeGroupDetailsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeGroupId pulumi.StringInput `pulumi:"piVolumeGroupId"` +} + +func (GetPiVolumeGroupDetailsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupDetailsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeGroupDetails. +type GetPiVolumeGroupDetailsResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupDetailsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupDetailsResult)(nil)).Elem() +} + +func (o GetPiVolumeGroupDetailsResultOutput) ToGetPiVolumeGroupDetailsResultOutput() GetPiVolumeGroupDetailsResultOutput { + return o +} + +func (o GetPiVolumeGroupDetailsResultOutput) ToGetPiVolumeGroupDetailsResultOutputWithContext(ctx context.Context) GetPiVolumeGroupDetailsResultOutput { + return o +} + +func (o GetPiVolumeGroupDetailsResultOutput) Auxiliary() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) bool { return v.Auxiliary }).(pulumi.BoolOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) string { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeGroupDetailsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) PiVolumeGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) string { return v.PiVolumeGroupId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) []string { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) string { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) StatusDescriptionErrors() GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) []GetPiVolumeGroupDetailsStatusDescriptionError { + return v.StatusDescriptionErrors + }).(GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) string { return v.StoragePool }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) VolumeGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) string { return v.VolumeGroupName }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupDetailsResultOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsResult) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeGroupDetailsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupRemoteCopyRelationships.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupRemoteCopyRelationships.go new file mode 100644 index 000000000..87dd6f582 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupRemoteCopyRelationships.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeGroupRemoteCopyRelationships(ctx *pulumi.Context, args *GetPiVolumeGroupRemoteCopyRelationshipsArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeGroupRemoteCopyRelationshipsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeGroupRemoteCopyRelationshipsResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeGroupRemoteCopyRelationships:getPiVolumeGroupRemoteCopyRelationships", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeGroupRemoteCopyRelationships. +type GetPiVolumeGroupRemoteCopyRelationshipsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` +} + +// A collection of values returned by getPiVolumeGroupRemoteCopyRelationships. +type GetPiVolumeGroupRemoteCopyRelationshipsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` + RemoteCopyRelationships []GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship `pulumi:"remoteCopyRelationships"` +} + +func GetPiVolumeGroupRemoteCopyRelationshipsOutput(ctx *pulumi.Context, args GetPiVolumeGroupRemoteCopyRelationshipsOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeGroupRemoteCopyRelationshipsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeGroupRemoteCopyRelationshipsResultOutput, error) { + args := v.(GetPiVolumeGroupRemoteCopyRelationshipsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeGroupRemoteCopyRelationships:getPiVolumeGroupRemoteCopyRelationships", args, GetPiVolumeGroupRemoteCopyRelationshipsResultOutput{}, options).(GetPiVolumeGroupRemoteCopyRelationshipsResultOutput), nil + }).(GetPiVolumeGroupRemoteCopyRelationshipsResultOutput) +} + +// A collection of arguments for invoking getPiVolumeGroupRemoteCopyRelationships. +type GetPiVolumeGroupRemoteCopyRelationshipsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeGroupId pulumi.StringInput `pulumi:"piVolumeGroupId"` +} + +func (GetPiVolumeGroupRemoteCopyRelationshipsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupRemoteCopyRelationshipsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeGroupRemoteCopyRelationships. +type GetPiVolumeGroupRemoteCopyRelationshipsResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupRemoteCopyRelationshipsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupRemoteCopyRelationshipsResult)(nil)).Elem() +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsResultOutput) ToGetPiVolumeGroupRemoteCopyRelationshipsResultOutput() GetPiVolumeGroupRemoteCopyRelationshipsResultOutput { + return o +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsResultOutput) ToGetPiVolumeGroupRemoteCopyRelationshipsResultOutputWithContext(ctx context.Context) GetPiVolumeGroupRemoteCopyRelationshipsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeGroupRemoteCopyRelationshipsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsResultOutput) PiVolumeGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsResult) string { return v.PiVolumeGroupId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsResultOutput) RemoteCopyRelationships() GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsResult) []GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship { + return v.RemoteCopyRelationships + }).(GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeGroupRemoteCopyRelationshipsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupStorageDetails.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupStorageDetails.go new file mode 100644 index 000000000..85eaebfc8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupStorageDetails.go @@ -0,0 +1,132 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeGroupStorageDetails(ctx *pulumi.Context, args *GetPiVolumeGroupStorageDetailsArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeGroupStorageDetailsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeGroupStorageDetailsResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeGroupStorageDetails:getPiVolumeGroupStorageDetails", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeGroupStorageDetails. +type GetPiVolumeGroupStorageDetailsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` +} + +// A collection of values returned by getPiVolumeGroupStorageDetails. +type GetPiVolumeGroupStorageDetailsResult struct { + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + CyclePeriodSeconds int `pulumi:"cyclePeriodSeconds"` + CyclingMode string `pulumi:"cyclingMode"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + NumberOfVolumes int `pulumi:"numberOfVolumes"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` + PrimaryRole string `pulumi:"primaryRole"` + RemoteCopyRelationshipNames []string `pulumi:"remoteCopyRelationshipNames"` + ReplicationType string `pulumi:"replicationType"` + State string `pulumi:"state"` + Synchronized string `pulumi:"synchronized"` +} + +func GetPiVolumeGroupStorageDetailsOutput(ctx *pulumi.Context, args GetPiVolumeGroupStorageDetailsOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeGroupStorageDetailsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeGroupStorageDetailsResultOutput, error) { + args := v.(GetPiVolumeGroupStorageDetailsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeGroupStorageDetails:getPiVolumeGroupStorageDetails", args, GetPiVolumeGroupStorageDetailsResultOutput{}, options).(GetPiVolumeGroupStorageDetailsResultOutput), nil + }).(GetPiVolumeGroupStorageDetailsResultOutput) +} + +// A collection of arguments for invoking getPiVolumeGroupStorageDetails. +type GetPiVolumeGroupStorageDetailsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeGroupId pulumi.StringInput `pulumi:"piVolumeGroupId"` +} + +func (GetPiVolumeGroupStorageDetailsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupStorageDetailsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeGroupStorageDetails. +type GetPiVolumeGroupStorageDetailsResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupStorageDetailsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupStorageDetailsResult)(nil)).Elem() +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) ToGetPiVolumeGroupStorageDetailsResultOutput() GetPiVolumeGroupStorageDetailsResultOutput { + return o +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) ToGetPiVolumeGroupStorageDetailsResultOutputWithContext(ctx context.Context) GetPiVolumeGroupStorageDetailsResultOutput { + return o +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) CyclePeriodSeconds() pulumi.IntOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) int { return v.CyclePeriodSeconds }).(pulumi.IntOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) CyclingMode() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.CyclingMode }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeGroupStorageDetailsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) NumberOfVolumes() pulumi.IntOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) int { return v.NumberOfVolumes }).(pulumi.IntOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) PiVolumeGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.PiVolumeGroupId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) PrimaryRole() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.PrimaryRole }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) RemoteCopyRelationshipNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) []string { return v.RemoteCopyRelationshipNames }).(pulumi.StringArrayOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) ReplicationType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.ReplicationType }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupStorageDetailsResultOutput) Synchronized() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStorageDetailsResult) string { return v.Synchronized }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeGroupStorageDetailsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroups.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroups.go new file mode 100644 index 000000000..2eaa77070 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroups.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeGroups(ctx *pulumi.Context, args *GetPiVolumeGroupsArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeGroupsResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeGroups:getPiVolumeGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeGroups. +type GetPiVolumeGroupsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiVolumeGroups. +type GetPiVolumeGroupsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + VolumeGroups []GetPiVolumeGroupsVolumeGroup `pulumi:"volumeGroups"` +} + +func GetPiVolumeGroupsOutput(ctx *pulumi.Context, args GetPiVolumeGroupsOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeGroupsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeGroupsResultOutput, error) { + args := v.(GetPiVolumeGroupsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeGroups:getPiVolumeGroups", args, GetPiVolumeGroupsResultOutput{}, options).(GetPiVolumeGroupsResultOutput), nil + }).(GetPiVolumeGroupsResultOutput) +} + +// A collection of arguments for invoking getPiVolumeGroups. +type GetPiVolumeGroupsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiVolumeGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeGroups. +type GetPiVolumeGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsResult)(nil)).Elem() +} + +func (o GetPiVolumeGroupsResultOutput) ToGetPiVolumeGroupsResultOutput() GetPiVolumeGroupsResultOutput { + return o +} + +func (o GetPiVolumeGroupsResultOutput) ToGetPiVolumeGroupsResultOutputWithContext(ctx context.Context) GetPiVolumeGroupsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupsResultOutput) VolumeGroups() GetPiVolumeGroupsVolumeGroupArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsResult) []GetPiVolumeGroupsVolumeGroup { return v.VolumeGroups }).(GetPiVolumeGroupsVolumeGroupArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeGroupsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupsDetails.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupsDetails.go new file mode 100644 index 000000000..3ac3db61c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeGroupsDetails.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeGroupsDetails(ctx *pulumi.Context, args *GetPiVolumeGroupsDetailsArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeGroupsDetailsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeGroupsDetailsResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeGroupsDetails:getPiVolumeGroupsDetails", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeGroupsDetails. +type GetPiVolumeGroupsDetailsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiVolumeGroupsDetails. +type GetPiVolumeGroupsDetailsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + VolumeGroups []GetPiVolumeGroupsDetailsVolumeGroup `pulumi:"volumeGroups"` +} + +func GetPiVolumeGroupsDetailsOutput(ctx *pulumi.Context, args GetPiVolumeGroupsDetailsOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeGroupsDetailsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeGroupsDetailsResultOutput, error) { + args := v.(GetPiVolumeGroupsDetailsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeGroupsDetails:getPiVolumeGroupsDetails", args, GetPiVolumeGroupsDetailsResultOutput{}, options).(GetPiVolumeGroupsDetailsResultOutput), nil + }).(GetPiVolumeGroupsDetailsResultOutput) +} + +// A collection of arguments for invoking getPiVolumeGroupsDetails. +type GetPiVolumeGroupsDetailsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiVolumeGroupsDetailsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsDetailsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeGroupsDetails. +type GetPiVolumeGroupsDetailsResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsDetailsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsDetailsResult)(nil)).Elem() +} + +func (o GetPiVolumeGroupsDetailsResultOutput) ToGetPiVolumeGroupsDetailsResultOutput() GetPiVolumeGroupsDetailsResultOutput { + return o +} + +func (o GetPiVolumeGroupsDetailsResultOutput) ToGetPiVolumeGroupsDetailsResultOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeGroupsDetailsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupsDetailsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeGroupsDetailsResultOutput) VolumeGroups() GetPiVolumeGroupsDetailsVolumeGroupArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsResult) []GetPiVolumeGroupsDetailsVolumeGroup { return v.VolumeGroups }).(GetPiVolumeGroupsDetailsVolumeGroupArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeGroupsDetailsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeOnboarding.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeOnboarding.go new file mode 100644 index 000000000..8123d8904 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeOnboarding.go @@ -0,0 +1,124 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiVolumeOnboarding(ctx *pulumi.Context, args *LookupPiVolumeOnboardingArgs, opts ...pulumi.InvokeOption) (*LookupPiVolumeOnboardingResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiVolumeOnboardingResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeOnboarding:getPiVolumeOnboarding", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeOnboarding. +type LookupPiVolumeOnboardingArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeOnboardingId string `pulumi:"piVolumeOnboardingId"` +} + +// A collection of values returned by getPiVolumeOnboarding. +type LookupPiVolumeOnboardingResult struct { + CreateTime string `pulumi:"createTime"` + Description string `pulumi:"description"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InputVolumes []string `pulumi:"inputVolumes"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeOnboardingId string `pulumi:"piVolumeOnboardingId"` + Progress int `pulumi:"progress"` + ResultsOnboardedVolumes []string `pulumi:"resultsOnboardedVolumes"` + ResultsVolumeOnboardingFailures []GetPiVolumeOnboardingResultsVolumeOnboardingFailure `pulumi:"resultsVolumeOnboardingFailures"` + Status string `pulumi:"status"` +} + +func LookupPiVolumeOnboardingOutput(ctx *pulumi.Context, args LookupPiVolumeOnboardingOutputArgs, opts ...pulumi.InvokeOption) LookupPiVolumeOnboardingResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiVolumeOnboardingResultOutput, error) { + args := v.(LookupPiVolumeOnboardingArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeOnboarding:getPiVolumeOnboarding", args, LookupPiVolumeOnboardingResultOutput{}, options).(LookupPiVolumeOnboardingResultOutput), nil + }).(LookupPiVolumeOnboardingResultOutput) +} + +// A collection of arguments for invoking getPiVolumeOnboarding. +type LookupPiVolumeOnboardingOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeOnboardingId pulumi.StringInput `pulumi:"piVolumeOnboardingId"` +} + +func (LookupPiVolumeOnboardingOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVolumeOnboardingArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeOnboarding. +type LookupPiVolumeOnboardingResultOutput struct{ *pulumi.OutputState } + +func (LookupPiVolumeOnboardingResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiVolumeOnboardingResult)(nil)).Elem() +} + +func (o LookupPiVolumeOnboardingResultOutput) ToLookupPiVolumeOnboardingResultOutput() LookupPiVolumeOnboardingResultOutput { + return o +} + +func (o LookupPiVolumeOnboardingResultOutput) ToLookupPiVolumeOnboardingResultOutputWithContext(ctx context.Context) LookupPiVolumeOnboardingResultOutput { + return o +} + +func (o LookupPiVolumeOnboardingResultOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) string { return v.CreateTime }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeOnboardingResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiVolumeOnboardingResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeOnboardingResultOutput) InputVolumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) []string { return v.InputVolumes }).(pulumi.StringArrayOutput) +} + +func (o LookupPiVolumeOnboardingResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeOnboardingResultOutput) PiVolumeOnboardingId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) string { return v.PiVolumeOnboardingId }).(pulumi.StringOutput) +} + +func (o LookupPiVolumeOnboardingResultOutput) Progress() pulumi.IntOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) int { return v.Progress }).(pulumi.IntOutput) +} + +func (o LookupPiVolumeOnboardingResultOutput) ResultsOnboardedVolumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) []string { return v.ResultsOnboardedVolumes }).(pulumi.StringArrayOutput) +} + +func (o LookupPiVolumeOnboardingResultOutput) ResultsVolumeOnboardingFailures() GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) []GetPiVolumeOnboardingResultsVolumeOnboardingFailure { + return v.ResultsVolumeOnboardingFailures + }).(GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) +} + +func (o LookupPiVolumeOnboardingResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiVolumeOnboardingResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiVolumeOnboardingResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeOnboardings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeOnboardings.go new file mode 100644 index 000000000..10a011f1c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeOnboardings.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeOnboardings(ctx *pulumi.Context, args *GetPiVolumeOnboardingsArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeOnboardingsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeOnboardingsResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeOnboardings:getPiVolumeOnboardings", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeOnboardings. +type GetPiVolumeOnboardingsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiVolumeOnboardings. +type GetPiVolumeOnboardingsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Onboardings []GetPiVolumeOnboardingsOnboarding `pulumi:"onboardings"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +func GetPiVolumeOnboardingsOutput(ctx *pulumi.Context, args GetPiVolumeOnboardingsOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeOnboardingsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeOnboardingsResultOutput, error) { + args := v.(GetPiVolumeOnboardingsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeOnboardings:getPiVolumeOnboardings", args, GetPiVolumeOnboardingsResultOutput{}, options).(GetPiVolumeOnboardingsResultOutput), nil + }).(GetPiVolumeOnboardingsResultOutput) +} + +// A collection of arguments for invoking getPiVolumeOnboardings. +type GetPiVolumeOnboardingsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiVolumeOnboardingsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeOnboardingsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeOnboardings. +type GetPiVolumeOnboardingsResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeOnboardingsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeOnboardingsResult)(nil)).Elem() +} + +func (o GetPiVolumeOnboardingsResultOutput) ToGetPiVolumeOnboardingsResultOutput() GetPiVolumeOnboardingsResultOutput { + return o +} + +func (o GetPiVolumeOnboardingsResultOutput) ToGetPiVolumeOnboardingsResultOutputWithContext(ctx context.Context) GetPiVolumeOnboardingsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeOnboardingsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeOnboardingsResultOutput) Onboardings() GetPiVolumeOnboardingsOnboardingArrayOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingsResult) []GetPiVolumeOnboardingsOnboarding { return v.Onboardings }).(GetPiVolumeOnboardingsOnboardingArrayOutput) +} + +func (o GetPiVolumeOnboardingsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeOnboardingsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeRemoteCopyRelationship.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeRemoteCopyRelationship.go new file mode 100644 index 000000000..13f610a3c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeRemoteCopyRelationship.go @@ -0,0 +1,162 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeRemoteCopyRelationship(ctx *pulumi.Context, args *GetPiVolumeRemoteCopyRelationshipArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeRemoteCopyRelationshipResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeRemoteCopyRelationshipResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeRemoteCopyRelationship:getPiVolumeRemoteCopyRelationship", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeRemoteCopyRelationship. +type GetPiVolumeRemoteCopyRelationshipArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeId string `pulumi:"piVolumeId"` +} + +// A collection of values returned by getPiVolumeRemoteCopyRelationship. +type GetPiVolumeRemoteCopyRelationshipResult struct { + AuxiliaryChangedVolumeName string `pulumi:"auxiliaryChangedVolumeName"` + AuxiliaryVolumeName string `pulumi:"auxiliaryVolumeName"` + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + CopyType string `pulumi:"copyType"` + CyclePeriodSeconds int `pulumi:"cyclePeriodSeconds"` + CyclingMode string `pulumi:"cyclingMode"` + FreezeTime string `pulumi:"freezeTime"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MasterChangedVolumeName string `pulumi:"masterChangedVolumeName"` + MasterVolumeName string `pulumi:"masterVolumeName"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeId string `pulumi:"piVolumeId"` + PrimaryRole string `pulumi:"primaryRole"` + Progress int `pulumi:"progress"` + RemoteCopyId string `pulumi:"remoteCopyId"` + State string `pulumi:"state"` + Synchronized string `pulumi:"synchronized"` +} + +func GetPiVolumeRemoteCopyRelationshipOutput(ctx *pulumi.Context, args GetPiVolumeRemoteCopyRelationshipOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeRemoteCopyRelationshipResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeRemoteCopyRelationshipResultOutput, error) { + args := v.(GetPiVolumeRemoteCopyRelationshipArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeRemoteCopyRelationship:getPiVolumeRemoteCopyRelationship", args, GetPiVolumeRemoteCopyRelationshipResultOutput{}, options).(GetPiVolumeRemoteCopyRelationshipResultOutput), nil + }).(GetPiVolumeRemoteCopyRelationshipResultOutput) +} + +// A collection of arguments for invoking getPiVolumeRemoteCopyRelationship. +type GetPiVolumeRemoteCopyRelationshipOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeId pulumi.StringInput `pulumi:"piVolumeId"` +} + +func (GetPiVolumeRemoteCopyRelationshipOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeRemoteCopyRelationshipArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeRemoteCopyRelationship. +type GetPiVolumeRemoteCopyRelationshipResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeRemoteCopyRelationshipResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeRemoteCopyRelationshipResult)(nil)).Elem() +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) ToGetPiVolumeRemoteCopyRelationshipResultOutput() GetPiVolumeRemoteCopyRelationshipResultOutput { + return o +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) ToGetPiVolumeRemoteCopyRelationshipResultOutputWithContext(ctx context.Context) GetPiVolumeRemoteCopyRelationshipResultOutput { + return o +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) AuxiliaryChangedVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.AuxiliaryChangedVolumeName }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) AuxiliaryVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.AuxiliaryVolumeName }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) CopyType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.CopyType }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) CyclePeriodSeconds() pulumi.IntOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) int { return v.CyclePeriodSeconds }).(pulumi.IntOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) CyclingMode() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.CyclingMode }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) FreezeTime() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.FreezeTime }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) MasterChangedVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.MasterChangedVolumeName }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) MasterVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.MasterVolumeName }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) PiVolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.PiVolumeId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) PrimaryRole() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.PrimaryRole }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) Progress() pulumi.IntOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) int { return v.Progress }).(pulumi.IntOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) RemoteCopyId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.RemoteCopyId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o GetPiVolumeRemoteCopyRelationshipResultOutput) Synchronized() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeRemoteCopyRelationshipResult) string { return v.Synchronized }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeRemoteCopyRelationshipResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeSnapshot.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeSnapshot.go new file mode 100644 index 000000000..f1f04f1d2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeSnapshot.go @@ -0,0 +1,124 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeSnapshot(ctx *pulumi.Context, args *GetPiVolumeSnapshotArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeSnapshotResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeSnapshotResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeSnapshot:getPiVolumeSnapshot", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeSnapshot. +type GetPiVolumeSnapshotArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeSnapshotId string `pulumi:"piVolumeSnapshotId"` +} + +// A collection of values returned by getPiVolumeSnapshot. +type GetPiVolumeSnapshotResult struct { + CreationDate string `pulumi:"creationDate"` + // Deprecated: This field is deprecated. + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiVolumeSnapshotId string `pulumi:"piVolumeSnapshotId"` + Size float64 `pulumi:"size"` + Status string `pulumi:"status"` + UpdatedDate string `pulumi:"updatedDate"` + VolumeId string `pulumi:"volumeId"` +} + +func GetPiVolumeSnapshotOutput(ctx *pulumi.Context, args GetPiVolumeSnapshotOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeSnapshotResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeSnapshotResultOutput, error) { + args := v.(GetPiVolumeSnapshotArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeSnapshot:getPiVolumeSnapshot", args, GetPiVolumeSnapshotResultOutput{}, options).(GetPiVolumeSnapshotResultOutput), nil + }).(GetPiVolumeSnapshotResultOutput) +} + +// A collection of arguments for invoking getPiVolumeSnapshot. +type GetPiVolumeSnapshotOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` + PiVolumeSnapshotId pulumi.StringInput `pulumi:"piVolumeSnapshotId"` +} + +func (GetPiVolumeSnapshotOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeSnapshotArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeSnapshot. +type GetPiVolumeSnapshotResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeSnapshotResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeSnapshotResult)(nil)).Elem() +} + +func (o GetPiVolumeSnapshotResultOutput) ToGetPiVolumeSnapshotResultOutput() GetPiVolumeSnapshotResultOutput { + return o +} + +func (o GetPiVolumeSnapshotResultOutput) ToGetPiVolumeSnapshotResultOutputWithContext(ctx context.Context) GetPiVolumeSnapshotResultOutput { + return o +} + +func (o GetPiVolumeSnapshotResultOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// Deprecated: This field is deprecated. +func (o GetPiVolumeSnapshotResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeSnapshotResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeSnapshotResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetPiVolumeSnapshotResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeSnapshotResultOutput) PiVolumeSnapshotId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.PiVolumeSnapshotId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeSnapshotResultOutput) Size() pulumi.Float64Output { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) float64 { return v.Size }).(pulumi.Float64Output) +} + +func (o GetPiVolumeSnapshotResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetPiVolumeSnapshotResultOutput) UpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.UpdatedDate }).(pulumi.StringOutput) +} + +func (o GetPiVolumeSnapshotResultOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotResult) string { return v.VolumeId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeSnapshotResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeSnapshots.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeSnapshots.go new file mode 100644 index 000000000..a9dc6481c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumeSnapshots.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumeSnapshots(ctx *pulumi.Context, args *GetPiVolumeSnapshotsArgs, opts ...pulumi.InvokeOption) (*GetPiVolumeSnapshotsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumeSnapshotsResult + err := ctx.Invoke("ibmcloud:index/getPiVolumeSnapshots:getPiVolumeSnapshots", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumeSnapshots. +type GetPiVolumeSnapshotsArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiVolumeSnapshots. +type GetPiVolumeSnapshotsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + VolumeSnapshots []GetPiVolumeSnapshotsVolumeSnapshot `pulumi:"volumeSnapshots"` +} + +func GetPiVolumeSnapshotsOutput(ctx *pulumi.Context, args GetPiVolumeSnapshotsOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumeSnapshotsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumeSnapshotsResultOutput, error) { + args := v.(GetPiVolumeSnapshotsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumeSnapshots:getPiVolumeSnapshots", args, GetPiVolumeSnapshotsResultOutput{}, options).(GetPiVolumeSnapshotsResultOutput), nil + }).(GetPiVolumeSnapshotsResultOutput) +} + +// A collection of arguments for invoking getPiVolumeSnapshots. +type GetPiVolumeSnapshotsOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiVolumeSnapshotsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeSnapshotsArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumeSnapshots. +type GetPiVolumeSnapshotsResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeSnapshotsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeSnapshotsResult)(nil)).Elem() +} + +func (o GetPiVolumeSnapshotsResultOutput) ToGetPiVolumeSnapshotsResultOutput() GetPiVolumeSnapshotsResultOutput { + return o +} + +func (o GetPiVolumeSnapshotsResultOutput) ToGetPiVolumeSnapshotsResultOutputWithContext(ctx context.Context) GetPiVolumeSnapshotsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumeSnapshotsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumeSnapshotsResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumeSnapshotsResultOutput) VolumeSnapshots() GetPiVolumeSnapshotsVolumeSnapshotArrayOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsResult) []GetPiVolumeSnapshotsVolumeSnapshot { return v.VolumeSnapshots }).(GetPiVolumeSnapshotsVolumeSnapshotArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumeSnapshotsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumes.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumes.go new file mode 100644 index 000000000..d755c9fd4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiVolumes.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiVolumes(ctx *pulumi.Context, args *GetPiVolumesArgs, opts ...pulumi.InvokeOption) (*GetPiVolumesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiVolumesResult + err := ctx.Invoke("ibmcloud:index/getPiVolumes:getPiVolumes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiVolumes. +type GetPiVolumesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiVolumes. +type GetPiVolumesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Volumes []GetPiVolumesVolume `pulumi:"volumes"` +} + +func GetPiVolumesOutput(ctx *pulumi.Context, args GetPiVolumesOutputArgs, opts ...pulumi.InvokeOption) GetPiVolumesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiVolumesResultOutput, error) { + args := v.(GetPiVolumesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiVolumes:getPiVolumes", args, GetPiVolumesResultOutput{}, options).(GetPiVolumesResultOutput), nil + }).(GetPiVolumesResultOutput) +} + +// A collection of arguments for invoking getPiVolumes. +type GetPiVolumesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiVolumesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiVolumes. +type GetPiVolumesResultOutput struct{ *pulumi.OutputState } + +func (GetPiVolumesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumesResult)(nil)).Elem() +} + +func (o GetPiVolumesResultOutput) ToGetPiVolumesResultOutput() GetPiVolumesResultOutput { + return o +} + +func (o GetPiVolumesResultOutput) ToGetPiVolumesResultOutputWithContext(ctx context.Context) GetPiVolumesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiVolumesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiVolumesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiVolumesResultOutput) Volumes() GetPiVolumesVolumeArrayOutput { + return o.ApplyT(func(v GetPiVolumesResult) []GetPiVolumesVolume { return v.Volumes }).(GetPiVolumesVolumeArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiVolumesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiWorkspace.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiWorkspace.go new file mode 100644 index 000000000..b9a922f5c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiWorkspace.go @@ -0,0 +1,110 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupPiWorkspace(ctx *pulumi.Context, args *LookupPiWorkspaceArgs, opts ...pulumi.InvokeOption) (*LookupPiWorkspaceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupPiWorkspaceResult + err := ctx.Invoke("ibmcloud:index/getPiWorkspace:getPiWorkspace", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiWorkspace. +type LookupPiWorkspaceArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiWorkspace. +type LookupPiWorkspaceResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + PiWorkspaceCapabilities map[string]bool `pulumi:"piWorkspaceCapabilities"` + PiWorkspaceDetails []GetPiWorkspacePiWorkspaceDetail `pulumi:"piWorkspaceDetails"` + PiWorkspaceLocation map[string]string `pulumi:"piWorkspaceLocation"` + PiWorkspaceName string `pulumi:"piWorkspaceName"` + PiWorkspaceStatus string `pulumi:"piWorkspaceStatus"` + PiWorkspaceType string `pulumi:"piWorkspaceType"` +} + +func LookupPiWorkspaceOutput(ctx *pulumi.Context, args LookupPiWorkspaceOutputArgs, opts ...pulumi.InvokeOption) LookupPiWorkspaceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupPiWorkspaceResultOutput, error) { + args := v.(LookupPiWorkspaceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiWorkspace:getPiWorkspace", args, LookupPiWorkspaceResultOutput{}, options).(LookupPiWorkspaceResultOutput), nil + }).(LookupPiWorkspaceResultOutput) +} + +// A collection of arguments for invoking getPiWorkspace. +type LookupPiWorkspaceOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (LookupPiWorkspaceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiWorkspaceArgs)(nil)).Elem() +} + +// A collection of values returned by getPiWorkspace. +type LookupPiWorkspaceResultOutput struct{ *pulumi.OutputState } + +func (LookupPiWorkspaceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupPiWorkspaceResult)(nil)).Elem() +} + +func (o LookupPiWorkspaceResultOutput) ToLookupPiWorkspaceResultOutput() LookupPiWorkspaceResultOutput { + return o +} + +func (o LookupPiWorkspaceResultOutput) ToLookupPiWorkspaceResultOutputWithContext(ctx context.Context) LookupPiWorkspaceResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupPiWorkspaceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiWorkspaceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupPiWorkspaceResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiWorkspaceResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o LookupPiWorkspaceResultOutput) PiWorkspaceCapabilities() pulumi.BoolMapOutput { + return o.ApplyT(func(v LookupPiWorkspaceResult) map[string]bool { return v.PiWorkspaceCapabilities }).(pulumi.BoolMapOutput) +} + +func (o LookupPiWorkspaceResultOutput) PiWorkspaceDetails() GetPiWorkspacePiWorkspaceDetailArrayOutput { + return o.ApplyT(func(v LookupPiWorkspaceResult) []GetPiWorkspacePiWorkspaceDetail { return v.PiWorkspaceDetails }).(GetPiWorkspacePiWorkspaceDetailArrayOutput) +} + +func (o LookupPiWorkspaceResultOutput) PiWorkspaceLocation() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupPiWorkspaceResult) map[string]string { return v.PiWorkspaceLocation }).(pulumi.StringMapOutput) +} + +func (o LookupPiWorkspaceResultOutput) PiWorkspaceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiWorkspaceResult) string { return v.PiWorkspaceName }).(pulumi.StringOutput) +} + +func (o LookupPiWorkspaceResultOutput) PiWorkspaceStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiWorkspaceResult) string { return v.PiWorkspaceStatus }).(pulumi.StringOutput) +} + +func (o LookupPiWorkspaceResultOutput) PiWorkspaceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPiWorkspaceResult) string { return v.PiWorkspaceType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupPiWorkspaceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiWorkspaces.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiWorkspaces.go new file mode 100644 index 000000000..66d715e25 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getPiWorkspaces.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetPiWorkspaces(ctx *pulumi.Context, args *GetPiWorkspacesArgs, opts ...pulumi.InvokeOption) (*GetPiWorkspacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPiWorkspacesResult + err := ctx.Invoke("ibmcloud:index/getPiWorkspaces:getPiWorkspaces", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPiWorkspaces. +type GetPiWorkspacesArgs struct { + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// A collection of values returned by getPiWorkspaces. +type GetPiWorkspacesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + Workspaces []GetPiWorkspacesWorkspace `pulumi:"workspaces"` +} + +func GetPiWorkspacesOutput(ctx *pulumi.Context, args GetPiWorkspacesOutputArgs, opts ...pulumi.InvokeOption) GetPiWorkspacesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPiWorkspacesResultOutput, error) { + args := v.(GetPiWorkspacesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getPiWorkspaces:getPiWorkspaces", args, GetPiWorkspacesResultOutput{}, options).(GetPiWorkspacesResultOutput), nil + }).(GetPiWorkspacesResultOutput) +} + +// A collection of arguments for invoking getPiWorkspaces. +type GetPiWorkspacesOutputArgs struct { + PiCloudInstanceId pulumi.StringInput `pulumi:"piCloudInstanceId"` +} + +func (GetPiWorkspacesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesArgs)(nil)).Elem() +} + +// A collection of values returned by getPiWorkspaces. +type GetPiWorkspacesResultOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesResult)(nil)).Elem() +} + +func (o GetPiWorkspacesResultOutput) ToGetPiWorkspacesResultOutput() GetPiWorkspacesResultOutput { + return o +} + +func (o GetPiWorkspacesResultOutput) ToGetPiWorkspacesResultOutputWithContext(ctx context.Context) GetPiWorkspacesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetPiWorkspacesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPiWorkspacesResultOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesResult) string { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +func (o GetPiWorkspacesResultOutput) Workspaces() GetPiWorkspacesWorkspaceArrayOutput { + return o.ApplyT(func(v GetPiWorkspacesResult) []GetPiWorkspacesWorkspace { return v.Workspaces }).(GetPiWorkspacesWorkspaceArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPiWorkspacesResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceGroup.go new file mode 100644 index 000000000..628d87402 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceGroup.go @@ -0,0 +1,137 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupResourceGroup(ctx *pulumi.Context, args *LookupResourceGroupArgs, opts ...pulumi.InvokeOption) (*LookupResourceGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupResourceGroupResult + err := ctx.Invoke("ibmcloud:index/getResourceGroup:getResourceGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getResourceGroup. +type LookupResourceGroupArgs struct { + IsDefault *bool `pulumi:"isDefault"` + Name *string `pulumi:"name"` +} + +// A collection of values returned by getResourceGroup. +type LookupResourceGroupResult struct { + AccountId string `pulumi:"accountId"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IsDefault bool `pulumi:"isDefault"` + Name string `pulumi:"name"` + PaymentMethodsUrl string `pulumi:"paymentMethodsUrl"` + QuotaId string `pulumi:"quotaId"` + QuotaUrl string `pulumi:"quotaUrl"` + ResourceLinkages []string `pulumi:"resourceLinkages"` + State string `pulumi:"state"` + TeamsUrl string `pulumi:"teamsUrl"` + UpdatedAt string `pulumi:"updatedAt"` +} + +func LookupResourceGroupOutput(ctx *pulumi.Context, args LookupResourceGroupOutputArgs, opts ...pulumi.InvokeOption) LookupResourceGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupResourceGroupResultOutput, error) { + args := v.(LookupResourceGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getResourceGroup:getResourceGroup", args, LookupResourceGroupResultOutput{}, options).(LookupResourceGroupResultOutput), nil + }).(LookupResourceGroupResultOutput) +} + +// A collection of arguments for invoking getResourceGroup. +type LookupResourceGroupOutputArgs struct { + IsDefault pulumi.BoolPtrInput `pulumi:"isDefault"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupResourceGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupResourceGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getResourceGroup. +type LookupResourceGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupResourceGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupResourceGroupResult)(nil)).Elem() +} + +func (o LookupResourceGroupResultOutput) ToLookupResourceGroupResultOutput() LookupResourceGroupResultOutput { + return o +} + +func (o LookupResourceGroupResultOutput) ToLookupResourceGroupResultOutputWithContext(ctx context.Context) LookupResourceGroupResultOutput { + return o +} + +func (o LookupResourceGroupResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupResourceGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) IsDefault() pulumi.BoolOutput { + return o.ApplyT(func(v LookupResourceGroupResult) bool { return v.IsDefault }).(pulumi.BoolOutput) +} + +func (o LookupResourceGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) PaymentMethodsUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.PaymentMethodsUrl }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) QuotaId() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.QuotaId }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) QuotaUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.QuotaUrl }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) ResourceLinkages() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupResourceGroupResult) []string { return v.ResourceLinkages }).(pulumi.StringArrayOutput) +} + +func (o LookupResourceGroupResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.State }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) TeamsUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.TeamsUrl }).(pulumi.StringOutput) +} + +func (o LookupResourceGroupResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceGroupResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupResourceGroupResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceInstance.go new file mode 100644 index 000000000..ff2d2ff3e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceInstance.go @@ -0,0 +1,173 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupResourceInstance(ctx *pulumi.Context, args *LookupResourceInstanceArgs, opts ...pulumi.InvokeOption) (*LookupResourceInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupResourceInstanceResult + err := ctx.Invoke("ibmcloud:index/getResourceInstance:getResourceInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getResourceInstance. +type LookupResourceInstanceArgs struct { + Identifier *string `pulumi:"identifier"` + Location *string `pulumi:"location"` + Name *string `pulumi:"name"` + ResourceGroupId *string `pulumi:"resourceGroupId"` + Service *string `pulumi:"service"` +} + +// A collection of values returned by getResourceInstance. +type LookupResourceInstanceResult struct { + Crn string `pulumi:"crn"` + Extensions map[string]string `pulumi:"extensions"` + Guid string `pulumi:"guid"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + Location string `pulumi:"location"` + Name string `pulumi:"name"` + OnetimeCredentials bool `pulumi:"onetimeCredentials"` + ParametersJson string `pulumi:"parametersJson"` + Plan string `pulumi:"plan"` + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroupId string `pulumi:"resourceGroupId"` + ResourceGroupName string `pulumi:"resourceGroupName"` + ResourceName string `pulumi:"resourceName"` + ResourceStatus string `pulumi:"resourceStatus"` + Service string `pulumi:"service"` + Status string `pulumi:"status"` + Tags []string `pulumi:"tags"` +} + +func LookupResourceInstanceOutput(ctx *pulumi.Context, args LookupResourceInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupResourceInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupResourceInstanceResultOutput, error) { + args := v.(LookupResourceInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getResourceInstance:getResourceInstance", args, LookupResourceInstanceResultOutput{}, options).(LookupResourceInstanceResultOutput), nil + }).(LookupResourceInstanceResultOutput) +} + +// A collection of arguments for invoking getResourceInstance. +type LookupResourceInstanceOutputArgs struct { + Identifier pulumi.StringPtrInput `pulumi:"identifier"` + Location pulumi.StringPtrInput `pulumi:"location"` + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + Service pulumi.StringPtrInput `pulumi:"service"` +} + +func (LookupResourceInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupResourceInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getResourceInstance. +type LookupResourceInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupResourceInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupResourceInstanceResult)(nil)).Elem() +} + +func (o LookupResourceInstanceResultOutput) ToLookupResourceInstanceResultOutput() LookupResourceInstanceResultOutput { + return o +} + +func (o LookupResourceInstanceResultOutput) ToLookupResourceInstanceResultOutputWithContext(ctx context.Context) LookupResourceInstanceResultOutput { + return o +} + +func (o LookupResourceInstanceResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) Extensions() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) map[string]string { return v.Extensions }).(pulumi.StringMapOutput) +} + +func (o LookupResourceInstanceResultOutput) Guid() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.Guid }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupResourceInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupResourceInstanceResultOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.Location }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) OnetimeCredentials() pulumi.BoolOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) bool { return v.OnetimeCredentials }).(pulumi.BoolOutput) +} + +func (o LookupResourceInstanceResultOutput) ParametersJson() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.ParametersJson }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) Plan() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.Plan }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.ResourceGroupId }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.Service }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupResourceInstanceResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupResourceInstanceResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupResourceInstanceResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceKey.go new file mode 100644 index 000000000..de67826cb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceKey.go @@ -0,0 +1,131 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupResourceKey(ctx *pulumi.Context, args *LookupResourceKeyArgs, opts ...pulumi.InvokeOption) (*LookupResourceKeyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupResourceKeyResult + err := ctx.Invoke("ibmcloud:index/getResourceKey:getResourceKey", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getResourceKey. +type LookupResourceKeyArgs struct { + MostRecent *bool `pulumi:"mostRecent"` + Name string `pulumi:"name"` + ResourceAliasId *string `pulumi:"resourceAliasId"` + ResourceInstanceId *string `pulumi:"resourceInstanceId"` +} + +// A collection of values returned by getResourceKey. +type LookupResourceKeyResult struct { + Credentials map[string]string `pulumi:"credentials"` + CredentialsJson string `pulumi:"credentialsJson"` + Crn string `pulumi:"crn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MostRecent *bool `pulumi:"mostRecent"` + Name string `pulumi:"name"` + OnetimeCredentials bool `pulumi:"onetimeCredentials"` + ResourceAliasId *string `pulumi:"resourceAliasId"` + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + Role string `pulumi:"role"` + Status string `pulumi:"status"` +} + +func LookupResourceKeyOutput(ctx *pulumi.Context, args LookupResourceKeyOutputArgs, opts ...pulumi.InvokeOption) LookupResourceKeyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupResourceKeyResultOutput, error) { + args := v.(LookupResourceKeyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getResourceKey:getResourceKey", args, LookupResourceKeyResultOutput{}, options).(LookupResourceKeyResultOutput), nil + }).(LookupResourceKeyResultOutput) +} + +// A collection of arguments for invoking getResourceKey. +type LookupResourceKeyOutputArgs struct { + MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"` + Name pulumi.StringInput `pulumi:"name"` + ResourceAliasId pulumi.StringPtrInput `pulumi:"resourceAliasId"` + ResourceInstanceId pulumi.StringPtrInput `pulumi:"resourceInstanceId"` +} + +func (LookupResourceKeyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupResourceKeyArgs)(nil)).Elem() +} + +// A collection of values returned by getResourceKey. +type LookupResourceKeyResultOutput struct{ *pulumi.OutputState } + +func (LookupResourceKeyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupResourceKeyResult)(nil)).Elem() +} + +func (o LookupResourceKeyResultOutput) ToLookupResourceKeyResultOutput() LookupResourceKeyResultOutput { + return o +} + +func (o LookupResourceKeyResultOutput) ToLookupResourceKeyResultOutputWithContext(ctx context.Context) LookupResourceKeyResultOutput { + return o +} + +func (o LookupResourceKeyResultOutput) Credentials() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupResourceKeyResult) map[string]string { return v.Credentials }).(pulumi.StringMapOutput) +} + +func (o LookupResourceKeyResultOutput) CredentialsJson() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceKeyResult) string { return v.CredentialsJson }).(pulumi.StringOutput) +} + +func (o LookupResourceKeyResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceKeyResult) string { return v.Crn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupResourceKeyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceKeyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupResourceKeyResultOutput) MostRecent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupResourceKeyResult) *bool { return v.MostRecent }).(pulumi.BoolPtrOutput) +} + +func (o LookupResourceKeyResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceKeyResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupResourceKeyResultOutput) OnetimeCredentials() pulumi.BoolOutput { + return o.ApplyT(func(v LookupResourceKeyResult) bool { return v.OnetimeCredentials }).(pulumi.BoolOutput) +} + +func (o LookupResourceKeyResultOutput) ResourceAliasId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupResourceKeyResult) *string { return v.ResourceAliasId }).(pulumi.StringPtrOutput) +} + +func (o LookupResourceKeyResultOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupResourceKeyResult) *string { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +func (o LookupResourceKeyResultOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceKeyResult) string { return v.Role }).(pulumi.StringOutput) +} + +func (o LookupResourceKeyResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceKeyResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupResourceKeyResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceQuota.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceQuota.go new file mode 100644 index 000000000..5c6b13307 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceQuota.go @@ -0,0 +1,115 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetResourceQuota(ctx *pulumi.Context, args *GetResourceQuotaArgs, opts ...pulumi.InvokeOption) (*GetResourceQuotaResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetResourceQuotaResult + err := ctx.Invoke("ibmcloud:index/getResourceQuota:getResourceQuota", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getResourceQuota. +type GetResourceQuotaArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getResourceQuota. +type GetResourceQuotaResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MaxAppInstanceMemory string `pulumi:"maxAppInstanceMemory"` + MaxApps int `pulumi:"maxApps"` + MaxInstancesPerApp int `pulumi:"maxInstancesPerApp"` + MaxServiceInstances int `pulumi:"maxServiceInstances"` + Name string `pulumi:"name"` + TotalAppMemory string `pulumi:"totalAppMemory"` + Type string `pulumi:"type"` + VsiLimit int `pulumi:"vsiLimit"` +} + +func GetResourceQuotaOutput(ctx *pulumi.Context, args GetResourceQuotaOutputArgs, opts ...pulumi.InvokeOption) GetResourceQuotaResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetResourceQuotaResultOutput, error) { + args := v.(GetResourceQuotaArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getResourceQuota:getResourceQuota", args, GetResourceQuotaResultOutput{}, options).(GetResourceQuotaResultOutput), nil + }).(GetResourceQuotaResultOutput) +} + +// A collection of arguments for invoking getResourceQuota. +type GetResourceQuotaOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetResourceQuotaOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetResourceQuotaArgs)(nil)).Elem() +} + +// A collection of values returned by getResourceQuota. +type GetResourceQuotaResultOutput struct{ *pulumi.OutputState } + +func (GetResourceQuotaResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetResourceQuotaResult)(nil)).Elem() +} + +func (o GetResourceQuotaResultOutput) ToGetResourceQuotaResultOutput() GetResourceQuotaResultOutput { + return o +} + +func (o GetResourceQuotaResultOutput) ToGetResourceQuotaResultOutputWithContext(ctx context.Context) GetResourceQuotaResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetResourceQuotaResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetResourceQuotaResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetResourceQuotaResultOutput) MaxAppInstanceMemory() pulumi.StringOutput { + return o.ApplyT(func(v GetResourceQuotaResult) string { return v.MaxAppInstanceMemory }).(pulumi.StringOutput) +} + +func (o GetResourceQuotaResultOutput) MaxApps() pulumi.IntOutput { + return o.ApplyT(func(v GetResourceQuotaResult) int { return v.MaxApps }).(pulumi.IntOutput) +} + +func (o GetResourceQuotaResultOutput) MaxInstancesPerApp() pulumi.IntOutput { + return o.ApplyT(func(v GetResourceQuotaResult) int { return v.MaxInstancesPerApp }).(pulumi.IntOutput) +} + +func (o GetResourceQuotaResultOutput) MaxServiceInstances() pulumi.IntOutput { + return o.ApplyT(func(v GetResourceQuotaResult) int { return v.MaxServiceInstances }).(pulumi.IntOutput) +} + +func (o GetResourceQuotaResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetResourceQuotaResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetResourceQuotaResultOutput) TotalAppMemory() pulumi.StringOutput { + return o.ApplyT(func(v GetResourceQuotaResult) string { return v.TotalAppMemory }).(pulumi.StringOutput) +} + +func (o GetResourceQuotaResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetResourceQuotaResult) string { return v.Type }).(pulumi.StringOutput) +} + +func (o GetResourceQuotaResultOutput) VsiLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetResourceQuotaResult) int { return v.VsiLimit }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetResourceQuotaResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceTag.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceTag.go new file mode 100644 index 000000000..1e0f48b56 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getResourceTag.go @@ -0,0 +1,99 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupResourceTag(ctx *pulumi.Context, args *LookupResourceTagArgs, opts ...pulumi.InvokeOption) (*LookupResourceTagResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupResourceTagResult + err := ctx.Invoke("ibmcloud:index/getResourceTag:getResourceTag", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getResourceTag. +type LookupResourceTagArgs struct { + ResourceId *string `pulumi:"resourceId"` + ResourceType *string `pulumi:"resourceType"` + TagType *string `pulumi:"tagType"` +} + +// A collection of values returned by getResourceTag. +type LookupResourceTagResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResourceId *string `pulumi:"resourceId"` + ResourceType *string `pulumi:"resourceType"` + TagType *string `pulumi:"tagType"` + Tags []string `pulumi:"tags"` +} + +func LookupResourceTagOutput(ctx *pulumi.Context, args LookupResourceTagOutputArgs, opts ...pulumi.InvokeOption) LookupResourceTagResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupResourceTagResultOutput, error) { + args := v.(LookupResourceTagArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getResourceTag:getResourceTag", args, LookupResourceTagResultOutput{}, options).(LookupResourceTagResultOutput), nil + }).(LookupResourceTagResultOutput) +} + +// A collection of arguments for invoking getResourceTag. +type LookupResourceTagOutputArgs struct { + ResourceId pulumi.StringPtrInput `pulumi:"resourceId"` + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + TagType pulumi.StringPtrInput `pulumi:"tagType"` +} + +func (LookupResourceTagOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupResourceTagArgs)(nil)).Elem() +} + +// A collection of values returned by getResourceTag. +type LookupResourceTagResultOutput struct{ *pulumi.OutputState } + +func (LookupResourceTagResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupResourceTagResult)(nil)).Elem() +} + +func (o LookupResourceTagResultOutput) ToLookupResourceTagResultOutput() LookupResourceTagResultOutput { + return o +} + +func (o LookupResourceTagResultOutput) ToLookupResourceTagResultOutputWithContext(ctx context.Context) LookupResourceTagResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupResourceTagResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupResourceTagResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupResourceTagResultOutput) ResourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupResourceTagResult) *string { return v.ResourceId }).(pulumi.StringPtrOutput) +} + +func (o LookupResourceTagResultOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupResourceTagResult) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +func (o LookupResourceTagResultOutput) TagType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupResourceTagResult) *string { return v.TagType }).(pulumi.StringPtrOutput) +} + +func (o LookupResourceTagResultOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupResourceTagResult) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupResourceTagResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgConnectionPrefixFilter.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgConnectionPrefixFilter.go new file mode 100644 index 000000000..287cc26ad --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgConnectionPrefixFilter.go @@ -0,0 +1,129 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupTgConnectionPrefixFilter(ctx *pulumi.Context, args *LookupTgConnectionPrefixFilterArgs, opts ...pulumi.InvokeOption) (*LookupTgConnectionPrefixFilterResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupTgConnectionPrefixFilterResult + err := ctx.Invoke("ibmcloud:index/getTgConnectionPrefixFilter:getTgConnectionPrefixFilter", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTgConnectionPrefixFilter. +type LookupTgConnectionPrefixFilterArgs struct { + ConnectionId string `pulumi:"connectionId"` + FilterId string `pulumi:"filterId"` + Gateway string `pulumi:"gateway"` +} + +// A collection of values returned by getTgConnectionPrefixFilter. +type LookupTgConnectionPrefixFilterResult struct { + Action string `pulumi:"action"` + Before string `pulumi:"before"` + ConnectionId string `pulumi:"connectionId"` + CreatedAt string `pulumi:"createdAt"` + FilterId string `pulumi:"filterId"` + Gateway string `pulumi:"gateway"` + Ge int `pulumi:"ge"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Le int `pulumi:"le"` + Prefix string `pulumi:"prefix"` + UpdatedAt string `pulumi:"updatedAt"` +} + +func LookupTgConnectionPrefixFilterOutput(ctx *pulumi.Context, args LookupTgConnectionPrefixFilterOutputArgs, opts ...pulumi.InvokeOption) LookupTgConnectionPrefixFilterResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupTgConnectionPrefixFilterResultOutput, error) { + args := v.(LookupTgConnectionPrefixFilterArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getTgConnectionPrefixFilter:getTgConnectionPrefixFilter", args, LookupTgConnectionPrefixFilterResultOutput{}, options).(LookupTgConnectionPrefixFilterResultOutput), nil + }).(LookupTgConnectionPrefixFilterResultOutput) +} + +// A collection of arguments for invoking getTgConnectionPrefixFilter. +type LookupTgConnectionPrefixFilterOutputArgs struct { + ConnectionId pulumi.StringInput `pulumi:"connectionId"` + FilterId pulumi.StringInput `pulumi:"filterId"` + Gateway pulumi.StringInput `pulumi:"gateway"` +} + +func (LookupTgConnectionPrefixFilterOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTgConnectionPrefixFilterArgs)(nil)).Elem() +} + +// A collection of values returned by getTgConnectionPrefixFilter. +type LookupTgConnectionPrefixFilterResultOutput struct{ *pulumi.OutputState } + +func (LookupTgConnectionPrefixFilterResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTgConnectionPrefixFilterResult)(nil)).Elem() +} + +func (o LookupTgConnectionPrefixFilterResultOutput) ToLookupTgConnectionPrefixFilterResultOutput() LookupTgConnectionPrefixFilterResultOutput { + return o +} + +func (o LookupTgConnectionPrefixFilterResultOutput) ToLookupTgConnectionPrefixFilterResultOutputWithContext(ctx context.Context) LookupTgConnectionPrefixFilterResultOutput { + return o +} + +func (o LookupTgConnectionPrefixFilterResultOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.Action }).(pulumi.StringOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) Before() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.Before }).(pulumi.StringOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.ConnectionId }).(pulumi.StringOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) FilterId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.FilterId }).(pulumi.StringOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.Gateway }).(pulumi.StringOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) Ge() pulumi.IntOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) int { return v.Ge }).(pulumi.IntOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupTgConnectionPrefixFilterResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) Le() pulumi.IntOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) int { return v.Le }).(pulumi.IntOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o LookupTgConnectionPrefixFilterResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgConnectionPrefixFilterResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupTgConnectionPrefixFilterResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgConnectionPrefixFilters.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgConnectionPrefixFilters.go new file mode 100644 index 000000000..bb6883431 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgConnectionPrefixFilters.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetTgConnectionPrefixFilters(ctx *pulumi.Context, args *GetTgConnectionPrefixFiltersArgs, opts ...pulumi.InvokeOption) (*GetTgConnectionPrefixFiltersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetTgConnectionPrefixFiltersResult + err := ctx.Invoke("ibmcloud:index/getTgConnectionPrefixFilters:getTgConnectionPrefixFilters", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTgConnectionPrefixFilters. +type GetTgConnectionPrefixFiltersArgs struct { + ConnectionId string `pulumi:"connectionId"` + Gateway string `pulumi:"gateway"` +} + +// A collection of values returned by getTgConnectionPrefixFilters. +type GetTgConnectionPrefixFiltersResult struct { + ConnectionId string `pulumi:"connectionId"` + Gateway string `pulumi:"gateway"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PrefixFilters []GetTgConnectionPrefixFiltersPrefixFilter `pulumi:"prefixFilters"` +} + +func GetTgConnectionPrefixFiltersOutput(ctx *pulumi.Context, args GetTgConnectionPrefixFiltersOutputArgs, opts ...pulumi.InvokeOption) GetTgConnectionPrefixFiltersResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetTgConnectionPrefixFiltersResultOutput, error) { + args := v.(GetTgConnectionPrefixFiltersArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getTgConnectionPrefixFilters:getTgConnectionPrefixFilters", args, GetTgConnectionPrefixFiltersResultOutput{}, options).(GetTgConnectionPrefixFiltersResultOutput), nil + }).(GetTgConnectionPrefixFiltersResultOutput) +} + +// A collection of arguments for invoking getTgConnectionPrefixFilters. +type GetTgConnectionPrefixFiltersOutputArgs struct { + ConnectionId pulumi.StringInput `pulumi:"connectionId"` + Gateway pulumi.StringInput `pulumi:"gateway"` +} + +func (GetTgConnectionPrefixFiltersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgConnectionPrefixFiltersArgs)(nil)).Elem() +} + +// A collection of values returned by getTgConnectionPrefixFilters. +type GetTgConnectionPrefixFiltersResultOutput struct{ *pulumi.OutputState } + +func (GetTgConnectionPrefixFiltersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgConnectionPrefixFiltersResult)(nil)).Elem() +} + +func (o GetTgConnectionPrefixFiltersResultOutput) ToGetTgConnectionPrefixFiltersResultOutput() GetTgConnectionPrefixFiltersResultOutput { + return o +} + +func (o GetTgConnectionPrefixFiltersResultOutput) ToGetTgConnectionPrefixFiltersResultOutputWithContext(ctx context.Context) GetTgConnectionPrefixFiltersResultOutput { + return o +} + +func (o GetTgConnectionPrefixFiltersResultOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersResult) string { return v.ConnectionId }).(pulumi.StringOutput) +} + +func (o GetTgConnectionPrefixFiltersResultOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersResult) string { return v.Gateway }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetTgConnectionPrefixFiltersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgConnectionPrefixFiltersResultOutput) PrefixFilters() GetTgConnectionPrefixFiltersPrefixFilterArrayOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersResult) []GetTgConnectionPrefixFiltersPrefixFilter { + return v.PrefixFilters + }).(GetTgConnectionPrefixFiltersPrefixFilterArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetTgConnectionPrefixFiltersResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgGateway.go new file mode 100644 index 000000000..b4c1f1753 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgGateway.go @@ -0,0 +1,125 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupTgGateway(ctx *pulumi.Context, args *LookupTgGatewayArgs, opts ...pulumi.InvokeOption) (*LookupTgGatewayResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupTgGatewayResult + err := ctx.Invoke("ibmcloud:index/getTgGateway:getTgGateway", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTgGateway. +type LookupTgGatewayArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getTgGateway. +type LookupTgGatewayResult struct { + Connections []GetTgGatewayConnection `pulumi:"connections"` + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Global bool `pulumi:"global"` + GreEnhancedRoutePropagation bool `pulumi:"greEnhancedRoutePropagation"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Location string `pulumi:"location"` + Name string `pulumi:"name"` + ResourceGroup string `pulumi:"resourceGroup"` + Status string `pulumi:"status"` + UpdatedAt string `pulumi:"updatedAt"` +} + +func LookupTgGatewayOutput(ctx *pulumi.Context, args LookupTgGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupTgGatewayResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupTgGatewayResultOutput, error) { + args := v.(LookupTgGatewayArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getTgGateway:getTgGateway", args, LookupTgGatewayResultOutput{}, options).(LookupTgGatewayResultOutput), nil + }).(LookupTgGatewayResultOutput) +} + +// A collection of arguments for invoking getTgGateway. +type LookupTgGatewayOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupTgGatewayOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTgGatewayArgs)(nil)).Elem() +} + +// A collection of values returned by getTgGateway. +type LookupTgGatewayResultOutput struct{ *pulumi.OutputState } + +func (LookupTgGatewayResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTgGatewayResult)(nil)).Elem() +} + +func (o LookupTgGatewayResultOutput) ToLookupTgGatewayResultOutput() LookupTgGatewayResultOutput { + return o +} + +func (o LookupTgGatewayResultOutput) ToLookupTgGatewayResultOutputWithContext(ctx context.Context) LookupTgGatewayResultOutput { + return o +} + +func (o LookupTgGatewayResultOutput) Connections() GetTgGatewayConnectionArrayOutput { + return o.ApplyT(func(v LookupTgGatewayResult) []GetTgGatewayConnection { return v.Connections }).(GetTgGatewayConnectionArrayOutput) +} + +func (o LookupTgGatewayResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgGatewayResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupTgGatewayResultOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgGatewayResult) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o LookupTgGatewayResultOutput) Global() pulumi.BoolOutput { + return o.ApplyT(func(v LookupTgGatewayResult) bool { return v.Global }).(pulumi.BoolOutput) +} + +func (o LookupTgGatewayResultOutput) GreEnhancedRoutePropagation() pulumi.BoolOutput { + return o.ApplyT(func(v LookupTgGatewayResult) bool { return v.GreEnhancedRoutePropagation }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupTgGatewayResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgGatewayResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupTgGatewayResultOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgGatewayResult) string { return v.Location }).(pulumi.StringOutput) +} + +func (o LookupTgGatewayResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgGatewayResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupTgGatewayResultOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgGatewayResult) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o LookupTgGatewayResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgGatewayResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupTgGatewayResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgGatewayResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupTgGatewayResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgGateways.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgGateways.go new file mode 100644 index 000000000..ac9a1b5ea --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgGateways.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetTgGateways(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetTgGatewaysResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetTgGatewaysResult + err := ctx.Invoke("ibmcloud:index/getTgGateways:getTgGateways", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getTgGateways. +type GetTgGatewaysResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + TransitGateways []GetTgGatewaysTransitGateway `pulumi:"transitGateways"` +} + +func GetTgGatewaysOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetTgGatewaysResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetTgGatewaysResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getTgGateways:getTgGateways", nil, GetTgGatewaysResultOutput{}, options).(GetTgGatewaysResultOutput), nil + }).(GetTgGatewaysResultOutput) +} + +// A collection of values returned by getTgGateways. +type GetTgGatewaysResultOutput struct{ *pulumi.OutputState } + +func (GetTgGatewaysResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgGatewaysResult)(nil)).Elem() +} + +func (o GetTgGatewaysResultOutput) ToGetTgGatewaysResultOutput() GetTgGatewaysResultOutput { + return o +} + +func (o GetTgGatewaysResultOutput) ToGetTgGatewaysResultOutputWithContext(ctx context.Context) GetTgGatewaysResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetTgGatewaysResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgGatewaysResultOutput) TransitGateways() GetTgGatewaysTransitGatewayArrayOutput { + return o.ApplyT(func(v GetTgGatewaysResult) []GetTgGatewaysTransitGateway { return v.TransitGateways }).(GetTgGatewaysTransitGatewayArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetTgGatewaysResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgLocation.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgLocation.go new file mode 100644 index 000000000..406a25d77 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgLocation.go @@ -0,0 +1,95 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetTgLocation(ctx *pulumi.Context, args *GetTgLocationArgs, opts ...pulumi.InvokeOption) (*GetTgLocationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetTgLocationResult + err := ctx.Invoke("ibmcloud:index/getTgLocation:getTgLocation", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTgLocation. +type GetTgLocationArgs struct { + Name string `pulumi:"name"` +} + +// A collection of values returned by getTgLocation. +type GetTgLocationResult struct { + BillingLocation string `pulumi:"billingLocation"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + LocalConnectionLocations []GetTgLocationLocalConnectionLocation `pulumi:"localConnectionLocations"` + Name string `pulumi:"name"` + Type string `pulumi:"type"` +} + +func GetTgLocationOutput(ctx *pulumi.Context, args GetTgLocationOutputArgs, opts ...pulumi.InvokeOption) GetTgLocationResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetTgLocationResultOutput, error) { + args := v.(GetTgLocationArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getTgLocation:getTgLocation", args, GetTgLocationResultOutput{}, options).(GetTgLocationResultOutput), nil + }).(GetTgLocationResultOutput) +} + +// A collection of arguments for invoking getTgLocation. +type GetTgLocationOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetTgLocationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgLocationArgs)(nil)).Elem() +} + +// A collection of values returned by getTgLocation. +type GetTgLocationResultOutput struct{ *pulumi.OutputState } + +func (GetTgLocationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgLocationResult)(nil)).Elem() +} + +func (o GetTgLocationResultOutput) ToGetTgLocationResultOutput() GetTgLocationResultOutput { + return o +} + +func (o GetTgLocationResultOutput) ToGetTgLocationResultOutputWithContext(ctx context.Context) GetTgLocationResultOutput { + return o +} + +func (o GetTgLocationResultOutput) BillingLocation() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationResult) string { return v.BillingLocation }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetTgLocationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgLocationResultOutput) LocalConnectionLocations() GetTgLocationLocalConnectionLocationArrayOutput { + return o.ApplyT(func(v GetTgLocationResult) []GetTgLocationLocalConnectionLocation { return v.LocalConnectionLocations }).(GetTgLocationLocalConnectionLocationArrayOutput) +} + +func (o GetTgLocationResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetTgLocationResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationResult) string { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetTgLocationResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgLocations.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgLocations.go new file mode 100644 index 000000000..9735bf6c8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgLocations.go @@ -0,0 +1,64 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetTgLocations(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetTgLocationsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetTgLocationsResult + err := ctx.Invoke("ibmcloud:index/getTgLocations:getTgLocations", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getTgLocations. +type GetTgLocationsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Locations []GetTgLocationsLocation `pulumi:"locations"` +} + +func GetTgLocationsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetTgLocationsResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetTgLocationsResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getTgLocations:getTgLocations", nil, GetTgLocationsResultOutput{}, options).(GetTgLocationsResultOutput), nil + }).(GetTgLocationsResultOutput) +} + +// A collection of values returned by getTgLocations. +type GetTgLocationsResultOutput struct{ *pulumi.OutputState } + +func (GetTgLocationsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgLocationsResult)(nil)).Elem() +} + +func (o GetTgLocationsResultOutput) ToGetTgLocationsResultOutput() GetTgLocationsResultOutput { + return o +} + +func (o GetTgLocationsResultOutput) ToGetTgLocationsResultOutputWithContext(ctx context.Context) GetTgLocationsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetTgLocationsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgLocationsResultOutput) Locations() GetTgLocationsLocationArrayOutput { + return o.ApplyT(func(v GetTgLocationsResult) []GetTgLocationsLocation { return v.Locations }).(GetTgLocationsLocationArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetTgLocationsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgRouteReport.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgRouteReport.go new file mode 100644 index 000000000..fff4916ae --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgRouteReport.go @@ -0,0 +1,112 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupTgRouteReport(ctx *pulumi.Context, args *LookupTgRouteReportArgs, opts ...pulumi.InvokeOption) (*LookupTgRouteReportResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupTgRouteReportResult + err := ctx.Invoke("ibmcloud:index/getTgRouteReport:getTgRouteReport", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTgRouteReport. +type LookupTgRouteReportArgs struct { + Gateway string `pulumi:"gateway"` + RouteReport string `pulumi:"routeReport"` +} + +// A collection of values returned by getTgRouteReport. +type LookupTgRouteReportResult struct { + Connections []GetTgRouteReportConnection `pulumi:"connections"` + CreatedAt string `pulumi:"createdAt"` + Gateway string `pulumi:"gateway"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + OverlappingRoutes []GetTgRouteReportOverlappingRoute `pulumi:"overlappingRoutes"` + RouteReport string `pulumi:"routeReport"` + Status string `pulumi:"status"` + UpdatedAt string `pulumi:"updatedAt"` +} + +func LookupTgRouteReportOutput(ctx *pulumi.Context, args LookupTgRouteReportOutputArgs, opts ...pulumi.InvokeOption) LookupTgRouteReportResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupTgRouteReportResultOutput, error) { + args := v.(LookupTgRouteReportArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getTgRouteReport:getTgRouteReport", args, LookupTgRouteReportResultOutput{}, options).(LookupTgRouteReportResultOutput), nil + }).(LookupTgRouteReportResultOutput) +} + +// A collection of arguments for invoking getTgRouteReport. +type LookupTgRouteReportOutputArgs struct { + Gateway pulumi.StringInput `pulumi:"gateway"` + RouteReport pulumi.StringInput `pulumi:"routeReport"` +} + +func (LookupTgRouteReportOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTgRouteReportArgs)(nil)).Elem() +} + +// A collection of values returned by getTgRouteReport. +type LookupTgRouteReportResultOutput struct{ *pulumi.OutputState } + +func (LookupTgRouteReportResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTgRouteReportResult)(nil)).Elem() +} + +func (o LookupTgRouteReportResultOutput) ToLookupTgRouteReportResultOutput() LookupTgRouteReportResultOutput { + return o +} + +func (o LookupTgRouteReportResultOutput) ToLookupTgRouteReportResultOutputWithContext(ctx context.Context) LookupTgRouteReportResultOutput { + return o +} + +func (o LookupTgRouteReportResultOutput) Connections() GetTgRouteReportConnectionArrayOutput { + return o.ApplyT(func(v LookupTgRouteReportResult) []GetTgRouteReportConnection { return v.Connections }).(GetTgRouteReportConnectionArrayOutput) +} + +func (o LookupTgRouteReportResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgRouteReportResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o LookupTgRouteReportResultOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgRouteReportResult) string { return v.Gateway }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupTgRouteReportResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgRouteReportResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupTgRouteReportResultOutput) OverlappingRoutes() GetTgRouteReportOverlappingRouteArrayOutput { + return o.ApplyT(func(v LookupTgRouteReportResult) []GetTgRouteReportOverlappingRoute { return v.OverlappingRoutes }).(GetTgRouteReportOverlappingRouteArrayOutput) +} + +func (o LookupTgRouteReportResultOutput) RouteReport() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgRouteReportResult) string { return v.RouteReport }).(pulumi.StringOutput) +} + +func (o LookupTgRouteReportResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgRouteReportResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o LookupTgRouteReportResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupTgRouteReportResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupTgRouteReportResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgRouteReports.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgRouteReports.go new file mode 100644 index 000000000..104d03015 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/getTgRouteReports.go @@ -0,0 +1,85 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func GetTgRouteReports(ctx *pulumi.Context, args *GetTgRouteReportsArgs, opts ...pulumi.InvokeOption) (*GetTgRouteReportsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetTgRouteReportsResult + err := ctx.Invoke("ibmcloud:index/getTgRouteReports:getTgRouteReports", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTgRouteReports. +type GetTgRouteReportsArgs struct { + Gateway string `pulumi:"gateway"` +} + +// A collection of values returned by getTgRouteReports. +type GetTgRouteReportsResult struct { + Gateway string `pulumi:"gateway"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + RouteReports []GetTgRouteReportsRouteReport `pulumi:"routeReports"` +} + +func GetTgRouteReportsOutput(ctx *pulumi.Context, args GetTgRouteReportsOutputArgs, opts ...pulumi.InvokeOption) GetTgRouteReportsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetTgRouteReportsResultOutput, error) { + args := v.(GetTgRouteReportsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("ibmcloud:index/getTgRouteReports:getTgRouteReports", args, GetTgRouteReportsResultOutput{}, options).(GetTgRouteReportsResultOutput), nil + }).(GetTgRouteReportsResultOutput) +} + +// A collection of arguments for invoking getTgRouteReports. +type GetTgRouteReportsOutputArgs struct { + Gateway pulumi.StringInput `pulumi:"gateway"` +} + +func (GetTgRouteReportsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsArgs)(nil)).Elem() +} + +// A collection of values returned by getTgRouteReports. +type GetTgRouteReportsResultOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsResult)(nil)).Elem() +} + +func (o GetTgRouteReportsResultOutput) ToGetTgRouteReportsResultOutput() GetTgRouteReportsResultOutput { + return o +} + +func (o GetTgRouteReportsResultOutput) ToGetTgRouteReportsResultOutputWithContext(ctx context.Context) GetTgRouteReportsResultOutput { + return o +} + +func (o GetTgRouteReportsResultOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsResult) string { return v.Gateway }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetTgRouteReportsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportsResultOutput) RouteReports() GetTgRouteReportsRouteReportArrayOutput { + return o.ApplyT(func(v GetTgRouteReportsResult) []GetTgRouteReportsRouteReport { return v.RouteReports }).(GetTgRouteReportsRouteReportArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetTgRouteReportsResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroup.go new file mode 100644 index 000000000..5e68b77ea --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroup.go @@ -0,0 +1,162 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessGroup struct { + pulumi.CustomResourceState + + // CRN of the access group + Crn pulumi.StringOutput `pulumi:"crn"` + // Description of the access group + Description pulumi.StringPtrOutput `pulumi:"description"` + // Name of the access group + Name pulumi.StringOutput `pulumi:"name"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamAccessGroup registers a new resource with the given unique name, arguments, and options. +func NewIamAccessGroup(ctx *pulumi.Context, + name string, args *IamAccessGroupArgs, opts ...pulumi.ResourceOption) (*IamAccessGroup, error) { + if args == nil { + args = &IamAccessGroupArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessGroup + err := ctx.RegisterResource("ibmcloud:index/iamAccessGroup:IamAccessGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessGroup gets an existing IamAccessGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessGroupState, opts ...pulumi.ResourceOption) (*IamAccessGroup, error) { + var resource IamAccessGroup + err := ctx.ReadResource("ibmcloud:index/iamAccessGroup:IamAccessGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessGroup resources. +type iamAccessGroupState struct { + // CRN of the access group + Crn *string `pulumi:"crn"` + // Description of the access group + Description *string `pulumi:"description"` + // Name of the access group + Name *string `pulumi:"name"` + Tags []string `pulumi:"tags"` + Version *string `pulumi:"version"` +} + +type IamAccessGroupState struct { + // CRN of the access group + Crn pulumi.StringPtrInput + // Description of the access group + Description pulumi.StringPtrInput + // Name of the access group + Name pulumi.StringPtrInput + Tags pulumi.StringArrayInput + Version pulumi.StringPtrInput +} + +func (IamAccessGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupState)(nil)).Elem() +} + +type iamAccessGroupArgs struct { + // Description of the access group + Description *string `pulumi:"description"` + // Name of the access group + Name *string `pulumi:"name"` + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IamAccessGroup resource. +type IamAccessGroupArgs struct { + // Description of the access group + Description pulumi.StringPtrInput + // Name of the access group + Name pulumi.StringPtrInput + Tags pulumi.StringArrayInput +} + +func (IamAccessGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupArgs)(nil)).Elem() +} + +type IamAccessGroupInput interface { + pulumi.Input + + ToIamAccessGroupOutput() IamAccessGroupOutput + ToIamAccessGroupOutputWithContext(ctx context.Context) IamAccessGroupOutput +} + +func (*IamAccessGroup) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroup)(nil)).Elem() +} + +func (i *IamAccessGroup) ToIamAccessGroupOutput() IamAccessGroupOutput { + return i.ToIamAccessGroupOutputWithContext(context.Background()) +} + +func (i *IamAccessGroup) ToIamAccessGroupOutputWithContext(ctx context.Context) IamAccessGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupOutput) +} + +type IamAccessGroupOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroup)(nil)).Elem() +} + +func (o IamAccessGroupOutput) ToIamAccessGroupOutput() IamAccessGroupOutput { + return o +} + +func (o IamAccessGroupOutput) ToIamAccessGroupOutputWithContext(ctx context.Context) IamAccessGroupOutput { + return o +} + +// CRN of the access group +func (o IamAccessGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Description of the access group +func (o IamAccessGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroup) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Name of the access group +func (o IamAccessGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o IamAccessGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroup) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o IamAccessGroupOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroup) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupInput)(nil)).Elem(), &IamAccessGroup{}) + pulumi.RegisterOutputType(IamAccessGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupAccountSettings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupAccountSettings.go new file mode 100644 index 000000000..ae0ab4e3f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupAccountSettings.go @@ -0,0 +1,135 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessGroupAccountSettings struct { + pulumi.CustomResourceState + + // Id of the account + AccountId pulumi.StringOutput `pulumi:"accountId"` + // Flag to enable/disable public access groups + PublicAccessEnabled pulumi.BoolOutput `pulumi:"publicAccessEnabled"` +} + +// NewIamAccessGroupAccountSettings registers a new resource with the given unique name, arguments, and options. +func NewIamAccessGroupAccountSettings(ctx *pulumi.Context, + name string, args *IamAccessGroupAccountSettingsArgs, opts ...pulumi.ResourceOption) (*IamAccessGroupAccountSettings, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PublicAccessEnabled == nil { + return nil, errors.New("invalid value for required argument 'PublicAccessEnabled'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessGroupAccountSettings + err := ctx.RegisterResource("ibmcloud:index/iamAccessGroupAccountSettings:IamAccessGroupAccountSettings", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessGroupAccountSettings gets an existing IamAccessGroupAccountSettings resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessGroupAccountSettings(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessGroupAccountSettingsState, opts ...pulumi.ResourceOption) (*IamAccessGroupAccountSettings, error) { + var resource IamAccessGroupAccountSettings + err := ctx.ReadResource("ibmcloud:index/iamAccessGroupAccountSettings:IamAccessGroupAccountSettings", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessGroupAccountSettings resources. +type iamAccessGroupAccountSettingsState struct { + // Id of the account + AccountId *string `pulumi:"accountId"` + // Flag to enable/disable public access groups + PublicAccessEnabled *bool `pulumi:"publicAccessEnabled"` +} + +type IamAccessGroupAccountSettingsState struct { + // Id of the account + AccountId pulumi.StringPtrInput + // Flag to enable/disable public access groups + PublicAccessEnabled pulumi.BoolPtrInput +} + +func (IamAccessGroupAccountSettingsState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupAccountSettingsState)(nil)).Elem() +} + +type iamAccessGroupAccountSettingsArgs struct { + // Flag to enable/disable public access groups + PublicAccessEnabled bool `pulumi:"publicAccessEnabled"` +} + +// The set of arguments for constructing a IamAccessGroupAccountSettings resource. +type IamAccessGroupAccountSettingsArgs struct { + // Flag to enable/disable public access groups + PublicAccessEnabled pulumi.BoolInput +} + +func (IamAccessGroupAccountSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupAccountSettingsArgs)(nil)).Elem() +} + +type IamAccessGroupAccountSettingsInput interface { + pulumi.Input + + ToIamAccessGroupAccountSettingsOutput() IamAccessGroupAccountSettingsOutput + ToIamAccessGroupAccountSettingsOutputWithContext(ctx context.Context) IamAccessGroupAccountSettingsOutput +} + +func (*IamAccessGroupAccountSettings) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupAccountSettings)(nil)).Elem() +} + +func (i *IamAccessGroupAccountSettings) ToIamAccessGroupAccountSettingsOutput() IamAccessGroupAccountSettingsOutput { + return i.ToIamAccessGroupAccountSettingsOutputWithContext(context.Background()) +} + +func (i *IamAccessGroupAccountSettings) ToIamAccessGroupAccountSettingsOutputWithContext(ctx context.Context) IamAccessGroupAccountSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupAccountSettingsOutput) +} + +type IamAccessGroupAccountSettingsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupAccountSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupAccountSettings)(nil)).Elem() +} + +func (o IamAccessGroupAccountSettingsOutput) ToIamAccessGroupAccountSettingsOutput() IamAccessGroupAccountSettingsOutput { + return o +} + +func (o IamAccessGroupAccountSettingsOutput) ToIamAccessGroupAccountSettingsOutputWithContext(ctx context.Context) IamAccessGroupAccountSettingsOutput { + return o +} + +// Id of the account +func (o IamAccessGroupAccountSettingsOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupAccountSettings) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// Flag to enable/disable public access groups +func (o IamAccessGroupAccountSettingsOutput) PublicAccessEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *IamAccessGroupAccountSettings) pulumi.BoolOutput { return v.PublicAccessEnabled }).(pulumi.BoolOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupAccountSettingsInput)(nil)).Elem(), &IamAccessGroupAccountSettings{}) + pulumi.RegisterOutputType(IamAccessGroupAccountSettingsOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupDynamicRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupDynamicRule.go new file mode 100644 index 000000000..b51d0c2c9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupDynamicRule.go @@ -0,0 +1,204 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessGroupDynamicRule struct { + pulumi.CustomResourceState + + // Unique identifier of the access group + AccessGroupId pulumi.StringOutput `pulumi:"accessGroupId"` + // conditions info + Conditions IamAccessGroupDynamicRuleConditionArrayOutput `pulumi:"conditions"` + // The expiration in hours + Expiration pulumi.IntOutput `pulumi:"expiration"` + // The realm name or identity proivider url + IdentityProvider pulumi.StringOutput `pulumi:"identityProvider"` + // The name of the Rule + Name pulumi.StringOutput `pulumi:"name"` + // id of the rule + RuleId pulumi.StringOutput `pulumi:"ruleId"` +} + +// NewIamAccessGroupDynamicRule registers a new resource with the given unique name, arguments, and options. +func NewIamAccessGroupDynamicRule(ctx *pulumi.Context, + name string, args *IamAccessGroupDynamicRuleArgs, opts ...pulumi.ResourceOption) (*IamAccessGroupDynamicRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccessGroupId == nil { + return nil, errors.New("invalid value for required argument 'AccessGroupId'") + } + if args.Conditions == nil { + return nil, errors.New("invalid value for required argument 'Conditions'") + } + if args.Expiration == nil { + return nil, errors.New("invalid value for required argument 'Expiration'") + } + if args.IdentityProvider == nil { + return nil, errors.New("invalid value for required argument 'IdentityProvider'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessGroupDynamicRule + err := ctx.RegisterResource("ibmcloud:index/iamAccessGroupDynamicRule:IamAccessGroupDynamicRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessGroupDynamicRule gets an existing IamAccessGroupDynamicRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessGroupDynamicRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessGroupDynamicRuleState, opts ...pulumi.ResourceOption) (*IamAccessGroupDynamicRule, error) { + var resource IamAccessGroupDynamicRule + err := ctx.ReadResource("ibmcloud:index/iamAccessGroupDynamicRule:IamAccessGroupDynamicRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessGroupDynamicRule resources. +type iamAccessGroupDynamicRuleState struct { + // Unique identifier of the access group + AccessGroupId *string `pulumi:"accessGroupId"` + // conditions info + Conditions []IamAccessGroupDynamicRuleCondition `pulumi:"conditions"` + // The expiration in hours + Expiration *int `pulumi:"expiration"` + // The realm name or identity proivider url + IdentityProvider *string `pulumi:"identityProvider"` + // The name of the Rule + Name *string `pulumi:"name"` + // id of the rule + RuleId *string `pulumi:"ruleId"` +} + +type IamAccessGroupDynamicRuleState struct { + // Unique identifier of the access group + AccessGroupId pulumi.StringPtrInput + // conditions info + Conditions IamAccessGroupDynamicRuleConditionArrayInput + // The expiration in hours + Expiration pulumi.IntPtrInput + // The realm name or identity proivider url + IdentityProvider pulumi.StringPtrInput + // The name of the Rule + Name pulumi.StringPtrInput + // id of the rule + RuleId pulumi.StringPtrInput +} + +func (IamAccessGroupDynamicRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupDynamicRuleState)(nil)).Elem() +} + +type iamAccessGroupDynamicRuleArgs struct { + // Unique identifier of the access group + AccessGroupId string `pulumi:"accessGroupId"` + // conditions info + Conditions []IamAccessGroupDynamicRuleCondition `pulumi:"conditions"` + // The expiration in hours + Expiration int `pulumi:"expiration"` + // The realm name or identity proivider url + IdentityProvider string `pulumi:"identityProvider"` + // The name of the Rule + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IamAccessGroupDynamicRule resource. +type IamAccessGroupDynamicRuleArgs struct { + // Unique identifier of the access group + AccessGroupId pulumi.StringInput + // conditions info + Conditions IamAccessGroupDynamicRuleConditionArrayInput + // The expiration in hours + Expiration pulumi.IntInput + // The realm name or identity proivider url + IdentityProvider pulumi.StringInput + // The name of the Rule + Name pulumi.StringPtrInput +} + +func (IamAccessGroupDynamicRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupDynamicRuleArgs)(nil)).Elem() +} + +type IamAccessGroupDynamicRuleInput interface { + pulumi.Input + + ToIamAccessGroupDynamicRuleOutput() IamAccessGroupDynamicRuleOutput + ToIamAccessGroupDynamicRuleOutputWithContext(ctx context.Context) IamAccessGroupDynamicRuleOutput +} + +func (*IamAccessGroupDynamicRule) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupDynamicRule)(nil)).Elem() +} + +func (i *IamAccessGroupDynamicRule) ToIamAccessGroupDynamicRuleOutput() IamAccessGroupDynamicRuleOutput { + return i.ToIamAccessGroupDynamicRuleOutputWithContext(context.Background()) +} + +func (i *IamAccessGroupDynamicRule) ToIamAccessGroupDynamicRuleOutputWithContext(ctx context.Context) IamAccessGroupDynamicRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupDynamicRuleOutput) +} + +type IamAccessGroupDynamicRuleOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupDynamicRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupDynamicRule)(nil)).Elem() +} + +func (o IamAccessGroupDynamicRuleOutput) ToIamAccessGroupDynamicRuleOutput() IamAccessGroupDynamicRuleOutput { + return o +} + +func (o IamAccessGroupDynamicRuleOutput) ToIamAccessGroupDynamicRuleOutputWithContext(ctx context.Context) IamAccessGroupDynamicRuleOutput { + return o +} + +// Unique identifier of the access group +func (o IamAccessGroupDynamicRuleOutput) AccessGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupDynamicRule) pulumi.StringOutput { return v.AccessGroupId }).(pulumi.StringOutput) +} + +// conditions info +func (o IamAccessGroupDynamicRuleOutput) Conditions() IamAccessGroupDynamicRuleConditionArrayOutput { + return o.ApplyT(func(v *IamAccessGroupDynamicRule) IamAccessGroupDynamicRuleConditionArrayOutput { return v.Conditions }).(IamAccessGroupDynamicRuleConditionArrayOutput) +} + +// The expiration in hours +func (o IamAccessGroupDynamicRuleOutput) Expiration() pulumi.IntOutput { + return o.ApplyT(func(v *IamAccessGroupDynamicRule) pulumi.IntOutput { return v.Expiration }).(pulumi.IntOutput) +} + +// The realm name or identity proivider url +func (o IamAccessGroupDynamicRuleOutput) IdentityProvider() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupDynamicRule) pulumi.StringOutput { return v.IdentityProvider }).(pulumi.StringOutput) +} + +// The name of the Rule +func (o IamAccessGroupDynamicRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupDynamicRule) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// id of the rule +func (o IamAccessGroupDynamicRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupDynamicRule) pulumi.StringOutput { return v.RuleId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupDynamicRuleInput)(nil)).Elem(), &IamAccessGroupDynamicRule{}) + pulumi.RegisterOutputType(IamAccessGroupDynamicRuleOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupMembers.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupMembers.go new file mode 100644 index 000000000..4037eae2e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupMembers.go @@ -0,0 +1,158 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessGroupMembers struct { + pulumi.CustomResourceState + + // Unique identifier of the access group + AccessGroupId pulumi.StringOutput `pulumi:"accessGroupId"` + IamProfileIds pulumi.StringArrayOutput `pulumi:"iamProfileIds"` + IamServiceIds pulumi.StringArrayOutput `pulumi:"iamServiceIds"` + IbmIds pulumi.StringArrayOutput `pulumi:"ibmIds"` + Members IamAccessGroupMembersMemberArrayOutput `pulumi:"members"` +} + +// NewIamAccessGroupMembers registers a new resource with the given unique name, arguments, and options. +func NewIamAccessGroupMembers(ctx *pulumi.Context, + name string, args *IamAccessGroupMembersArgs, opts ...pulumi.ResourceOption) (*IamAccessGroupMembers, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccessGroupId == nil { + return nil, errors.New("invalid value for required argument 'AccessGroupId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessGroupMembers + err := ctx.RegisterResource("ibmcloud:index/iamAccessGroupMembers:IamAccessGroupMembers", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessGroupMembers gets an existing IamAccessGroupMembers resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessGroupMembers(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessGroupMembersState, opts ...pulumi.ResourceOption) (*IamAccessGroupMembers, error) { + var resource IamAccessGroupMembers + err := ctx.ReadResource("ibmcloud:index/iamAccessGroupMembers:IamAccessGroupMembers", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessGroupMembers resources. +type iamAccessGroupMembersState struct { + // Unique identifier of the access group + AccessGroupId *string `pulumi:"accessGroupId"` + IamProfileIds []string `pulumi:"iamProfileIds"` + IamServiceIds []string `pulumi:"iamServiceIds"` + IbmIds []string `pulumi:"ibmIds"` + Members []IamAccessGroupMembersMember `pulumi:"members"` +} + +type IamAccessGroupMembersState struct { + // Unique identifier of the access group + AccessGroupId pulumi.StringPtrInput + IamProfileIds pulumi.StringArrayInput + IamServiceIds pulumi.StringArrayInput + IbmIds pulumi.StringArrayInput + Members IamAccessGroupMembersMemberArrayInput +} + +func (IamAccessGroupMembersState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupMembersState)(nil)).Elem() +} + +type iamAccessGroupMembersArgs struct { + // Unique identifier of the access group + AccessGroupId string `pulumi:"accessGroupId"` + IamProfileIds []string `pulumi:"iamProfileIds"` + IamServiceIds []string `pulumi:"iamServiceIds"` + IbmIds []string `pulumi:"ibmIds"` +} + +// The set of arguments for constructing a IamAccessGroupMembers resource. +type IamAccessGroupMembersArgs struct { + // Unique identifier of the access group + AccessGroupId pulumi.StringInput + IamProfileIds pulumi.StringArrayInput + IamServiceIds pulumi.StringArrayInput + IbmIds pulumi.StringArrayInput +} + +func (IamAccessGroupMembersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupMembersArgs)(nil)).Elem() +} + +type IamAccessGroupMembersInput interface { + pulumi.Input + + ToIamAccessGroupMembersOutput() IamAccessGroupMembersOutput + ToIamAccessGroupMembersOutputWithContext(ctx context.Context) IamAccessGroupMembersOutput +} + +func (*IamAccessGroupMembers) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupMembers)(nil)).Elem() +} + +func (i *IamAccessGroupMembers) ToIamAccessGroupMembersOutput() IamAccessGroupMembersOutput { + return i.ToIamAccessGroupMembersOutputWithContext(context.Background()) +} + +func (i *IamAccessGroupMembers) ToIamAccessGroupMembersOutputWithContext(ctx context.Context) IamAccessGroupMembersOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupMembersOutput) +} + +type IamAccessGroupMembersOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupMembersOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupMembers)(nil)).Elem() +} + +func (o IamAccessGroupMembersOutput) ToIamAccessGroupMembersOutput() IamAccessGroupMembersOutput { + return o +} + +func (o IamAccessGroupMembersOutput) ToIamAccessGroupMembersOutputWithContext(ctx context.Context) IamAccessGroupMembersOutput { + return o +} + +// Unique identifier of the access group +func (o IamAccessGroupMembersOutput) AccessGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupMembers) pulumi.StringOutput { return v.AccessGroupId }).(pulumi.StringOutput) +} + +func (o IamAccessGroupMembersOutput) IamProfileIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupMembers) pulumi.StringArrayOutput { return v.IamProfileIds }).(pulumi.StringArrayOutput) +} + +func (o IamAccessGroupMembersOutput) IamServiceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupMembers) pulumi.StringArrayOutput { return v.IamServiceIds }).(pulumi.StringArrayOutput) +} + +func (o IamAccessGroupMembersOutput) IbmIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupMembers) pulumi.StringArrayOutput { return v.IbmIds }).(pulumi.StringArrayOutput) +} + +func (o IamAccessGroupMembersOutput) Members() IamAccessGroupMembersMemberArrayOutput { + return o.ApplyT(func(v *IamAccessGroupMembers) IamAccessGroupMembersMemberArrayOutput { return v.Members }).(IamAccessGroupMembersMemberArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupMembersInput)(nil)).Elem(), &IamAccessGroupMembers{}) + pulumi.RegisterOutputType(IamAccessGroupMembersOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupPolicy.go new file mode 100644 index 000000000..49901b5d7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupPolicy.go @@ -0,0 +1,289 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessGroupPolicy struct { + pulumi.CustomResourceState + + // ID of access group + AccessGroupId pulumi.StringOutput `pulumi:"accessGroupId"` + // Give access to all account management services + AccountManagement pulumi.BoolPtrOutput `pulumi:"accountManagement"` + // Description of the Policy + Description pulumi.StringPtrOutput `pulumi:"description"` + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrOutput `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes IamAccessGroupPolicyResourceAttributeArrayOutput `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags IamAccessGroupPolicyResourceTagArrayOutput `pulumi:"resourceTags"` + Resources IamAccessGroupPolicyResourcesPtrOutput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayOutput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions IamAccessGroupPolicyRuleConditionArrayOutput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrOutput `pulumi:"ruleOperator"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Set transactionID for debug + TransactionId pulumi.StringOutput `pulumi:"transactionId"` + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamAccessGroupPolicy registers a new resource with the given unique name, arguments, and options. +func NewIamAccessGroupPolicy(ctx *pulumi.Context, + name string, args *IamAccessGroupPolicyArgs, opts ...pulumi.ResourceOption) (*IamAccessGroupPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccessGroupId == nil { + return nil, errors.New("invalid value for required argument 'AccessGroupId'") + } + if args.Roles == nil { + return nil, errors.New("invalid value for required argument 'Roles'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessGroupPolicy + err := ctx.RegisterResource("ibmcloud:index/iamAccessGroupPolicy:IamAccessGroupPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessGroupPolicy gets an existing IamAccessGroupPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessGroupPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessGroupPolicyState, opts ...pulumi.ResourceOption) (*IamAccessGroupPolicy, error) { + var resource IamAccessGroupPolicy + err := ctx.ReadResource("ibmcloud:index/iamAccessGroupPolicy:IamAccessGroupPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessGroupPolicy resources. +type iamAccessGroupPolicyState struct { + // ID of access group + AccessGroupId *string `pulumi:"accessGroupId"` + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + // Description of the Policy + Description *string `pulumi:"description"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes []IamAccessGroupPolicyResourceAttribute `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags []IamAccessGroupPolicyResourceTag `pulumi:"resourceTags"` + Resources *IamAccessGroupPolicyResources `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamAccessGroupPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + Tags []string `pulumi:"tags"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` + Version *string `pulumi:"version"` +} + +type IamAccessGroupPolicyState struct { + // ID of access group + AccessGroupId pulumi.StringPtrInput + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput + // Description of the Policy + Description pulumi.StringPtrInput + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamAccessGroupPolicyResourceAttributeArrayInput + // Set access management tags. + ResourceTags IamAccessGroupPolicyResourceTagArrayInput + Resources IamAccessGroupPolicyResourcesPtrInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // Rule conditions enforced by the policy + RuleConditions IamAccessGroupPolicyRuleConditionArrayInput + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput + Version pulumi.StringPtrInput +} + +func (IamAccessGroupPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupPolicyState)(nil)).Elem() +} + +type iamAccessGroupPolicyArgs struct { + // ID of access group + AccessGroupId string `pulumi:"accessGroupId"` + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + // Description of the Policy + Description *string `pulumi:"description"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes []IamAccessGroupPolicyResourceAttribute `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags []IamAccessGroupPolicyResourceTag `pulumi:"resourceTags"` + Resources *IamAccessGroupPolicyResources `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamAccessGroupPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + Tags []string `pulumi:"tags"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` +} + +// The set of arguments for constructing a IamAccessGroupPolicy resource. +type IamAccessGroupPolicyArgs struct { + // ID of access group + AccessGroupId pulumi.StringInput + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput + // Description of the Policy + Description pulumi.StringPtrInput + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamAccessGroupPolicyResourceAttributeArrayInput + // Set access management tags. + ResourceTags IamAccessGroupPolicyResourceTagArrayInput + Resources IamAccessGroupPolicyResourcesPtrInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // Rule conditions enforced by the policy + RuleConditions IamAccessGroupPolicyRuleConditionArrayInput + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput +} + +func (IamAccessGroupPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupPolicyArgs)(nil)).Elem() +} + +type IamAccessGroupPolicyInput interface { + pulumi.Input + + ToIamAccessGroupPolicyOutput() IamAccessGroupPolicyOutput + ToIamAccessGroupPolicyOutputWithContext(ctx context.Context) IamAccessGroupPolicyOutput +} + +func (*IamAccessGroupPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupPolicy)(nil)).Elem() +} + +func (i *IamAccessGroupPolicy) ToIamAccessGroupPolicyOutput() IamAccessGroupPolicyOutput { + return i.ToIamAccessGroupPolicyOutputWithContext(context.Background()) +} + +func (i *IamAccessGroupPolicy) ToIamAccessGroupPolicyOutputWithContext(ctx context.Context) IamAccessGroupPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyOutput) +} + +type IamAccessGroupPolicyOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupPolicy)(nil)).Elem() +} + +func (o IamAccessGroupPolicyOutput) ToIamAccessGroupPolicyOutput() IamAccessGroupPolicyOutput { + return o +} + +func (o IamAccessGroupPolicyOutput) ToIamAccessGroupPolicyOutputWithContext(ctx context.Context) IamAccessGroupPolicyOutput { + return o +} + +// ID of access group +func (o IamAccessGroupPolicyOutput) AccessGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.StringOutput { return v.AccessGroupId }).(pulumi.StringOutput) +} + +// Give access to all account management services +func (o IamAccessGroupPolicyOutput) AccountManagement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.BoolPtrOutput { return v.AccountManagement }).(pulumi.BoolPtrOutput) +} + +// Description of the Policy +func (o IamAccessGroupPolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Pattern rule follows for time-based condition +func (o IamAccessGroupPolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.StringPtrOutput { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// Set resource attributes. +func (o IamAccessGroupPolicyOutput) ResourceAttributes() IamAccessGroupPolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) IamAccessGroupPolicyResourceAttributeArrayOutput { + return v.ResourceAttributes + }).(IamAccessGroupPolicyResourceAttributeArrayOutput) +} + +// Set access management tags. +func (o IamAccessGroupPolicyOutput) ResourceTags() IamAccessGroupPolicyResourceTagArrayOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) IamAccessGroupPolicyResourceTagArrayOutput { return v.ResourceTags }).(IamAccessGroupPolicyResourceTagArrayOutput) +} + +func (o IamAccessGroupPolicyOutput) Resources() IamAccessGroupPolicyResourcesPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) IamAccessGroupPolicyResourcesPtrOutput { return v.Resources }).(IamAccessGroupPolicyResourcesPtrOutput) +} + +// Role names of the policy definition +func (o IamAccessGroupPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o IamAccessGroupPolicyOutput) RuleConditions() IamAccessGroupPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) IamAccessGroupPolicyRuleConditionArrayOutput { return v.RuleConditions }).(IamAccessGroupPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o IamAccessGroupPolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.StringPtrOutput { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +func (o IamAccessGroupPolicyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Set transactionID for debug +func (o IamAccessGroupPolicyOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.StringOutput { return v.TransactionId }).(pulumi.StringOutput) +} + +func (o IamAccessGroupPolicyOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupPolicy) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyInput)(nil)).Elem(), &IamAccessGroupPolicy{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplate.go new file mode 100644 index 000000000..11e986677 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplate.go @@ -0,0 +1,285 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessGroupTemplate struct { + pulumi.CustomResourceState + + // The ID of the account to which the access group template is assigned. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed pulumi.BoolOutput `pulumi:"committed"` + // The date and time when the access group template was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The ID of the user who created the access group template. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // The description of the access group template. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Access Group Component. + Group IamAccessGroupTemplateGroupPtrOutput `pulumi:"group"` + // The URL of the access group template resource. + Href pulumi.StringOutput `pulumi:"href"` + // The date and time when the access group template was last modified. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // The ID of the user who last modified the access group template. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // The name of the access group template. + Name pulumi.StringOutput `pulumi:"name"` + // References to policy templates assigned to the access group template. + PolicyTemplateReferences IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput `pulumi:"policyTemplateReferences"` + // Template ID. + TemplateId pulumi.StringOutput `pulumi:"templateId"` + // An optional transaction id for the request. + TransactionId pulumi.StringPtrOutput `pulumi:"transactionId"` + // The version of the access group template. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamAccessGroupTemplate registers a new resource with the given unique name, arguments, and options. +func NewIamAccessGroupTemplate(ctx *pulumi.Context, + name string, args *IamAccessGroupTemplateArgs, opts ...pulumi.ResourceOption) (*IamAccessGroupTemplate, error) { + if args == nil { + args = &IamAccessGroupTemplateArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessGroupTemplate + err := ctx.RegisterResource("ibmcloud:index/iamAccessGroupTemplate:IamAccessGroupTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessGroupTemplate gets an existing IamAccessGroupTemplate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessGroupTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessGroupTemplateState, opts ...pulumi.ResourceOption) (*IamAccessGroupTemplate, error) { + var resource IamAccessGroupTemplate + err := ctx.ReadResource("ibmcloud:index/iamAccessGroupTemplate:IamAccessGroupTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessGroupTemplate resources. +type iamAccessGroupTemplateState struct { + // The ID of the account to which the access group template is assigned. + AccountId *string `pulumi:"accountId"` + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed *bool `pulumi:"committed"` + // The date and time when the access group template was created. + CreatedAt *string `pulumi:"createdAt"` + // The ID of the user who created the access group template. + CreatedById *string `pulumi:"createdById"` + // The description of the access group template. + Description *string `pulumi:"description"` + // Access Group Component. + Group *IamAccessGroupTemplateGroup `pulumi:"group"` + // The URL of the access group template resource. + Href *string `pulumi:"href"` + // The date and time when the access group template was last modified. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // The ID of the user who last modified the access group template. + LastModifiedById *string `pulumi:"lastModifiedById"` + // The name of the access group template. + Name *string `pulumi:"name"` + // References to policy templates assigned to the access group template. + PolicyTemplateReferences []IamAccessGroupTemplatePolicyTemplateReference `pulumi:"policyTemplateReferences"` + // Template ID. + TemplateId *string `pulumi:"templateId"` + // An optional transaction id for the request. + TransactionId *string `pulumi:"transactionId"` + // The version of the access group template. + Version *string `pulumi:"version"` +} + +type IamAccessGroupTemplateState struct { + // The ID of the account to which the access group template is assigned. + AccountId pulumi.StringPtrInput + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed pulumi.BoolPtrInput + // The date and time when the access group template was created. + CreatedAt pulumi.StringPtrInput + // The ID of the user who created the access group template. + CreatedById pulumi.StringPtrInput + // The description of the access group template. + Description pulumi.StringPtrInput + // Access Group Component. + Group IamAccessGroupTemplateGroupPtrInput + // The URL of the access group template resource. + Href pulumi.StringPtrInput + // The date and time when the access group template was last modified. + LastModifiedAt pulumi.StringPtrInput + // The ID of the user who last modified the access group template. + LastModifiedById pulumi.StringPtrInput + // The name of the access group template. + Name pulumi.StringPtrInput + // References to policy templates assigned to the access group template. + PolicyTemplateReferences IamAccessGroupTemplatePolicyTemplateReferenceArrayInput + // Template ID. + TemplateId pulumi.StringPtrInput + // An optional transaction id for the request. + TransactionId pulumi.StringPtrInput + // The version of the access group template. + Version pulumi.StringPtrInput +} + +func (IamAccessGroupTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupTemplateState)(nil)).Elem() +} + +type iamAccessGroupTemplateArgs struct { + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed *bool `pulumi:"committed"` + // The description of the access group template. + Description *string `pulumi:"description"` + // Access Group Component. + Group *IamAccessGroupTemplateGroup `pulumi:"group"` + // The name of the access group template. + Name *string `pulumi:"name"` + // References to policy templates assigned to the access group template. + PolicyTemplateReferences []IamAccessGroupTemplatePolicyTemplateReference `pulumi:"policyTemplateReferences"` + // An optional transaction id for the request. + TransactionId *string `pulumi:"transactionId"` +} + +// The set of arguments for constructing a IamAccessGroupTemplate resource. +type IamAccessGroupTemplateArgs struct { + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed pulumi.BoolPtrInput + // The description of the access group template. + Description pulumi.StringPtrInput + // Access Group Component. + Group IamAccessGroupTemplateGroupPtrInput + // The name of the access group template. + Name pulumi.StringPtrInput + // References to policy templates assigned to the access group template. + PolicyTemplateReferences IamAccessGroupTemplatePolicyTemplateReferenceArrayInput + // An optional transaction id for the request. + TransactionId pulumi.StringPtrInput +} + +func (IamAccessGroupTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupTemplateArgs)(nil)).Elem() +} + +type IamAccessGroupTemplateInput interface { + pulumi.Input + + ToIamAccessGroupTemplateOutput() IamAccessGroupTemplateOutput + ToIamAccessGroupTemplateOutputWithContext(ctx context.Context) IamAccessGroupTemplateOutput +} + +func (*IamAccessGroupTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplate)(nil)).Elem() +} + +func (i *IamAccessGroupTemplate) ToIamAccessGroupTemplateOutput() IamAccessGroupTemplateOutput { + return i.ToIamAccessGroupTemplateOutputWithContext(context.Background()) +} + +func (i *IamAccessGroupTemplate) ToIamAccessGroupTemplateOutputWithContext(ctx context.Context) IamAccessGroupTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateOutput) +} + +type IamAccessGroupTemplateOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplate)(nil)).Elem() +} + +func (o IamAccessGroupTemplateOutput) ToIamAccessGroupTemplateOutput() IamAccessGroupTemplateOutput { + return o +} + +func (o IamAccessGroupTemplateOutput) ToIamAccessGroupTemplateOutputWithContext(ctx context.Context) IamAccessGroupTemplateOutput { + return o +} + +// The ID of the account to which the access group template is assigned. +func (o IamAccessGroupTemplateOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. +func (o IamAccessGroupTemplateOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.BoolOutput { return v.Committed }).(pulumi.BoolOutput) +} + +// The date and time when the access group template was created. +func (o IamAccessGroupTemplateOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The ID of the user who created the access group template. +func (o IamAccessGroupTemplateOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// The description of the access group template. +func (o IamAccessGroupTemplateOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Access Group Component. +func (o IamAccessGroupTemplateOutput) Group() IamAccessGroupTemplateGroupPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) IamAccessGroupTemplateGroupPtrOutput { return v.Group }).(IamAccessGroupTemplateGroupPtrOutput) +} + +// The URL of the access group template resource. +func (o IamAccessGroupTemplateOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The date and time when the access group template was last modified. +func (o IamAccessGroupTemplateOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The ID of the user who last modified the access group template. +func (o IamAccessGroupTemplateOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The name of the access group template. +func (o IamAccessGroupTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// References to policy templates assigned to the access group template. +func (o IamAccessGroupTemplateOutput) PolicyTemplateReferences() IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput { + return v.PolicyTemplateReferences + }).(IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput) +} + +// Template ID. +func (o IamAccessGroupTemplateOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// An optional transaction id for the request. +func (o IamAccessGroupTemplateOutput) TransactionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringPtrOutput { return v.TransactionId }).(pulumi.StringPtrOutput) +} + +// The version of the access group template. +func (o IamAccessGroupTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplate) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateInput)(nil)).Elem(), &IamAccessGroupTemplate{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplateAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplateAssignment.go new file mode 100644 index 000000000..9b04e0791 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplateAssignment.go @@ -0,0 +1,288 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessGroupTemplateAssignment struct { + pulumi.CustomResourceState + + // The ID of the account that the assignment belongs to. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // The date and time when the assignment was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The user or system that created the assignment. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + Etag pulumi.StringOutput `pulumi:"etag"` + // The URL of the assignment resource. + Href pulumi.StringOutput `pulumi:"href"` + // The date and time when the assignment was last updated. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // The user or system that last updated the assignment. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // The operation that the assignment applies to (e.g. 'assign', 'update', 'remove'). + Operation pulumi.StringOutput `pulumi:"operation"` + // The status of the assignment (e.g. 'accepted', 'in_progress', 'succeeded', 'failed', 'superseded'). + Status pulumi.StringOutput `pulumi:"status"` + // The ID of the entity that the assignment applies to. + Target pulumi.StringOutput `pulumi:"target"` + // The type of the entity that the assignment applies to. + TargetType pulumi.StringOutput `pulumi:"targetType"` + // The ID of the template that the assignment is based on. + TemplateId pulumi.StringOutput `pulumi:"templateId"` + // The version of the template that the assignment is based on. + TemplateVersion pulumi.StringOutput `pulumi:"templateVersion"` + // An optional transaction id for the request. + TransactionId pulumi.StringPtrOutput `pulumi:"transactionId"` +} + +// NewIamAccessGroupTemplateAssignment registers a new resource with the given unique name, arguments, and options. +func NewIamAccessGroupTemplateAssignment(ctx *pulumi.Context, + name string, args *IamAccessGroupTemplateAssignmentArgs, opts ...pulumi.ResourceOption) (*IamAccessGroupTemplateAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Target == nil { + return nil, errors.New("invalid value for required argument 'Target'") + } + if args.TargetType == nil { + return nil, errors.New("invalid value for required argument 'TargetType'") + } + if args.TemplateId == nil { + return nil, errors.New("invalid value for required argument 'TemplateId'") + } + if args.TemplateVersion == nil { + return nil, errors.New("invalid value for required argument 'TemplateVersion'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessGroupTemplateAssignment + err := ctx.RegisterResource("ibmcloud:index/iamAccessGroupTemplateAssignment:IamAccessGroupTemplateAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessGroupTemplateAssignment gets an existing IamAccessGroupTemplateAssignment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessGroupTemplateAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessGroupTemplateAssignmentState, opts ...pulumi.ResourceOption) (*IamAccessGroupTemplateAssignment, error) { + var resource IamAccessGroupTemplateAssignment + err := ctx.ReadResource("ibmcloud:index/iamAccessGroupTemplateAssignment:IamAccessGroupTemplateAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessGroupTemplateAssignment resources. +type iamAccessGroupTemplateAssignmentState struct { + // The ID of the account that the assignment belongs to. + AccountId *string `pulumi:"accountId"` + // The date and time when the assignment was created. + CreatedAt *string `pulumi:"createdAt"` + // The user or system that created the assignment. + CreatedById *string `pulumi:"createdById"` + Etag *string `pulumi:"etag"` + // The URL of the assignment resource. + Href *string `pulumi:"href"` + // The date and time when the assignment was last updated. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // The user or system that last updated the assignment. + LastModifiedById *string `pulumi:"lastModifiedById"` + // The operation that the assignment applies to (e.g. 'assign', 'update', 'remove'). + Operation *string `pulumi:"operation"` + // The status of the assignment (e.g. 'accepted', 'in_progress', 'succeeded', 'failed', 'superseded'). + Status *string `pulumi:"status"` + // The ID of the entity that the assignment applies to. + Target *string `pulumi:"target"` + // The type of the entity that the assignment applies to. + TargetType *string `pulumi:"targetType"` + // The ID of the template that the assignment is based on. + TemplateId *string `pulumi:"templateId"` + // The version of the template that the assignment is based on. + TemplateVersion *string `pulumi:"templateVersion"` + // An optional transaction id for the request. + TransactionId *string `pulumi:"transactionId"` +} + +type IamAccessGroupTemplateAssignmentState struct { + // The ID of the account that the assignment belongs to. + AccountId pulumi.StringPtrInput + // The date and time when the assignment was created. + CreatedAt pulumi.StringPtrInput + // The user or system that created the assignment. + CreatedById pulumi.StringPtrInput + Etag pulumi.StringPtrInput + // The URL of the assignment resource. + Href pulumi.StringPtrInput + // The date and time when the assignment was last updated. + LastModifiedAt pulumi.StringPtrInput + // The user or system that last updated the assignment. + LastModifiedById pulumi.StringPtrInput + // The operation that the assignment applies to (e.g. 'assign', 'update', 'remove'). + Operation pulumi.StringPtrInput + // The status of the assignment (e.g. 'accepted', 'in_progress', 'succeeded', 'failed', 'superseded'). + Status pulumi.StringPtrInput + // The ID of the entity that the assignment applies to. + Target pulumi.StringPtrInput + // The type of the entity that the assignment applies to. + TargetType pulumi.StringPtrInput + // The ID of the template that the assignment is based on. + TemplateId pulumi.StringPtrInput + // The version of the template that the assignment is based on. + TemplateVersion pulumi.StringPtrInput + // An optional transaction id for the request. + TransactionId pulumi.StringPtrInput +} + +func (IamAccessGroupTemplateAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupTemplateAssignmentState)(nil)).Elem() +} + +type iamAccessGroupTemplateAssignmentArgs struct { + // The ID of the entity that the assignment applies to. + Target string `pulumi:"target"` + // The type of the entity that the assignment applies to. + TargetType string `pulumi:"targetType"` + // The ID of the template that the assignment is based on. + TemplateId string `pulumi:"templateId"` + // The version of the template that the assignment is based on. + TemplateVersion string `pulumi:"templateVersion"` + // An optional transaction id for the request. + TransactionId *string `pulumi:"transactionId"` +} + +// The set of arguments for constructing a IamAccessGroupTemplateAssignment resource. +type IamAccessGroupTemplateAssignmentArgs struct { + // The ID of the entity that the assignment applies to. + Target pulumi.StringInput + // The type of the entity that the assignment applies to. + TargetType pulumi.StringInput + // The ID of the template that the assignment is based on. + TemplateId pulumi.StringInput + // The version of the template that the assignment is based on. + TemplateVersion pulumi.StringInput + // An optional transaction id for the request. + TransactionId pulumi.StringPtrInput +} + +func (IamAccessGroupTemplateAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupTemplateAssignmentArgs)(nil)).Elem() +} + +type IamAccessGroupTemplateAssignmentInput interface { + pulumi.Input + + ToIamAccessGroupTemplateAssignmentOutput() IamAccessGroupTemplateAssignmentOutput + ToIamAccessGroupTemplateAssignmentOutputWithContext(ctx context.Context) IamAccessGroupTemplateAssignmentOutput +} + +func (*IamAccessGroupTemplateAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateAssignment)(nil)).Elem() +} + +func (i *IamAccessGroupTemplateAssignment) ToIamAccessGroupTemplateAssignmentOutput() IamAccessGroupTemplateAssignmentOutput { + return i.ToIamAccessGroupTemplateAssignmentOutputWithContext(context.Background()) +} + +func (i *IamAccessGroupTemplateAssignment) ToIamAccessGroupTemplateAssignmentOutputWithContext(ctx context.Context) IamAccessGroupTemplateAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateAssignmentOutput) +} + +type IamAccessGroupTemplateAssignmentOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateAssignment)(nil)).Elem() +} + +func (o IamAccessGroupTemplateAssignmentOutput) ToIamAccessGroupTemplateAssignmentOutput() IamAccessGroupTemplateAssignmentOutput { + return o +} + +func (o IamAccessGroupTemplateAssignmentOutput) ToIamAccessGroupTemplateAssignmentOutputWithContext(ctx context.Context) IamAccessGroupTemplateAssignmentOutput { + return o +} + +// The ID of the account that the assignment belongs to. +func (o IamAccessGroupTemplateAssignmentOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// The date and time when the assignment was created. +func (o IamAccessGroupTemplateAssignmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The user or system that created the assignment. +func (o IamAccessGroupTemplateAssignmentOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +func (o IamAccessGroupTemplateAssignmentOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) +} + +// The URL of the assignment resource. +func (o IamAccessGroupTemplateAssignmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The date and time when the assignment was last updated. +func (o IamAccessGroupTemplateAssignmentOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The user or system that last updated the assignment. +func (o IamAccessGroupTemplateAssignmentOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The operation that the assignment applies to (e.g. 'assign', 'update', 'remove'). +func (o IamAccessGroupTemplateAssignmentOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.Operation }).(pulumi.StringOutput) +} + +// The status of the assignment (e.g. 'accepted', 'in_progress', 'succeeded', 'failed', 'superseded'). +func (o IamAccessGroupTemplateAssignmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The ID of the entity that the assignment applies to. +func (o IamAccessGroupTemplateAssignmentOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// The type of the entity that the assignment applies to. +func (o IamAccessGroupTemplateAssignmentOutput) TargetType() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.TargetType }).(pulumi.StringOutput) +} + +// The ID of the template that the assignment is based on. +func (o IamAccessGroupTemplateAssignmentOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// The version of the template that the assignment is based on. +func (o IamAccessGroupTemplateAssignmentOutput) TemplateVersion() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringOutput { return v.TemplateVersion }).(pulumi.StringOutput) +} + +// An optional transaction id for the request. +func (o IamAccessGroupTemplateAssignmentOutput) TransactionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateAssignment) pulumi.StringPtrOutput { return v.TransactionId }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateAssignmentInput)(nil)).Elem(), &IamAccessGroupTemplateAssignment{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateAssignmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplateVersion.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplateVersion.go new file mode 100644 index 000000000..2ba06c130 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessGroupTemplateVersion.go @@ -0,0 +1,293 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessGroupTemplateVersion struct { + pulumi.CustomResourceState + + // The ID of the account to which the access group template is assigned. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed pulumi.BoolOutput `pulumi:"committed"` + // The date and time when the access group template was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The ID of the user who created the access group template. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // The description of the access group template. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Access Group Component. + Group IamAccessGroupTemplateVersionGroupPtrOutput `pulumi:"group"` + // The URL of the access group template resource. + Href pulumi.StringOutput `pulumi:"href"` + // The date and time when the access group template was last modified. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // The ID of the user who last modified the access group template. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // The name of the access group template. + Name pulumi.StringOutput `pulumi:"name"` + // References to policy templates assigned to the access group template. + PolicyTemplateReferences IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput `pulumi:"policyTemplateReferences"` + // ID of the template that you want to create a new version of. + TemplateId pulumi.StringOutput `pulumi:"templateId"` + // An optional transaction id for the request. + TransactionId pulumi.StringPtrOutput `pulumi:"transactionId"` + // The version of the access group template. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamAccessGroupTemplateVersion registers a new resource with the given unique name, arguments, and options. +func NewIamAccessGroupTemplateVersion(ctx *pulumi.Context, + name string, args *IamAccessGroupTemplateVersionArgs, opts ...pulumi.ResourceOption) (*IamAccessGroupTemplateVersion, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.TemplateId == nil { + return nil, errors.New("invalid value for required argument 'TemplateId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessGroupTemplateVersion + err := ctx.RegisterResource("ibmcloud:index/iamAccessGroupTemplateVersion:IamAccessGroupTemplateVersion", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessGroupTemplateVersion gets an existing IamAccessGroupTemplateVersion resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessGroupTemplateVersion(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessGroupTemplateVersionState, opts ...pulumi.ResourceOption) (*IamAccessGroupTemplateVersion, error) { + var resource IamAccessGroupTemplateVersion + err := ctx.ReadResource("ibmcloud:index/iamAccessGroupTemplateVersion:IamAccessGroupTemplateVersion", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessGroupTemplateVersion resources. +type iamAccessGroupTemplateVersionState struct { + // The ID of the account to which the access group template is assigned. + AccountId *string `pulumi:"accountId"` + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed *bool `pulumi:"committed"` + // The date and time when the access group template was created. + CreatedAt *string `pulumi:"createdAt"` + // The ID of the user who created the access group template. + CreatedById *string `pulumi:"createdById"` + // The description of the access group template. + Description *string `pulumi:"description"` + // Access Group Component. + Group *IamAccessGroupTemplateVersionGroup `pulumi:"group"` + // The URL of the access group template resource. + Href *string `pulumi:"href"` + // The date and time when the access group template was last modified. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // The ID of the user who last modified the access group template. + LastModifiedById *string `pulumi:"lastModifiedById"` + // The name of the access group template. + Name *string `pulumi:"name"` + // References to policy templates assigned to the access group template. + PolicyTemplateReferences []IamAccessGroupTemplateVersionPolicyTemplateReference `pulumi:"policyTemplateReferences"` + // ID of the template that you want to create a new version of. + TemplateId *string `pulumi:"templateId"` + // An optional transaction id for the request. + TransactionId *string `pulumi:"transactionId"` + // The version of the access group template. + Version *string `pulumi:"version"` +} + +type IamAccessGroupTemplateVersionState struct { + // The ID of the account to which the access group template is assigned. + AccountId pulumi.StringPtrInput + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed pulumi.BoolPtrInput + // The date and time when the access group template was created. + CreatedAt pulumi.StringPtrInput + // The ID of the user who created the access group template. + CreatedById pulumi.StringPtrInput + // The description of the access group template. + Description pulumi.StringPtrInput + // Access Group Component. + Group IamAccessGroupTemplateVersionGroupPtrInput + // The URL of the access group template resource. + Href pulumi.StringPtrInput + // The date and time when the access group template was last modified. + LastModifiedAt pulumi.StringPtrInput + // The ID of the user who last modified the access group template. + LastModifiedById pulumi.StringPtrInput + // The name of the access group template. + Name pulumi.StringPtrInput + // References to policy templates assigned to the access group template. + PolicyTemplateReferences IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayInput + // ID of the template that you want to create a new version of. + TemplateId pulumi.StringPtrInput + // An optional transaction id for the request. + TransactionId pulumi.StringPtrInput + // The version of the access group template. + Version pulumi.StringPtrInput +} + +func (IamAccessGroupTemplateVersionState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupTemplateVersionState)(nil)).Elem() +} + +type iamAccessGroupTemplateVersionArgs struct { + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed *bool `pulumi:"committed"` + // The description of the access group template. + Description *string `pulumi:"description"` + // Access Group Component. + Group *IamAccessGroupTemplateVersionGroup `pulumi:"group"` + // The name of the access group template. + Name *string `pulumi:"name"` + // References to policy templates assigned to the access group template. + PolicyTemplateReferences []IamAccessGroupTemplateVersionPolicyTemplateReference `pulumi:"policyTemplateReferences"` + // ID of the template that you want to create a new version of. + TemplateId string `pulumi:"templateId"` + // An optional transaction id for the request. + TransactionId *string `pulumi:"transactionId"` +} + +// The set of arguments for constructing a IamAccessGroupTemplateVersion resource. +type IamAccessGroupTemplateVersionArgs struct { + // A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. + Committed pulumi.BoolPtrInput + // The description of the access group template. + Description pulumi.StringPtrInput + // Access Group Component. + Group IamAccessGroupTemplateVersionGroupPtrInput + // The name of the access group template. + Name pulumi.StringPtrInput + // References to policy templates assigned to the access group template. + PolicyTemplateReferences IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayInput + // ID of the template that you want to create a new version of. + TemplateId pulumi.StringInput + // An optional transaction id for the request. + TransactionId pulumi.StringPtrInput +} + +func (IamAccessGroupTemplateVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessGroupTemplateVersionArgs)(nil)).Elem() +} + +type IamAccessGroupTemplateVersionInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionOutput() IamAccessGroupTemplateVersionOutput + ToIamAccessGroupTemplateVersionOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionOutput +} + +func (*IamAccessGroupTemplateVersion) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersion)(nil)).Elem() +} + +func (i *IamAccessGroupTemplateVersion) ToIamAccessGroupTemplateVersionOutput() IamAccessGroupTemplateVersionOutput { + return i.ToIamAccessGroupTemplateVersionOutputWithContext(context.Background()) +} + +func (i *IamAccessGroupTemplateVersion) ToIamAccessGroupTemplateVersionOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionOutput) +} + +type IamAccessGroupTemplateVersionOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersion)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionOutput) ToIamAccessGroupTemplateVersionOutput() IamAccessGroupTemplateVersionOutput { + return o +} + +func (o IamAccessGroupTemplateVersionOutput) ToIamAccessGroupTemplateVersionOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionOutput { + return o +} + +// The ID of the account to which the access group template is assigned. +func (o IamAccessGroupTemplateVersionOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// A boolean indicating whether the access group template is committed. You must commit a template before you can assign it to child accounts. +func (o IamAccessGroupTemplateVersionOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.BoolOutput { return v.Committed }).(pulumi.BoolOutput) +} + +// The date and time when the access group template was created. +func (o IamAccessGroupTemplateVersionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The ID of the user who created the access group template. +func (o IamAccessGroupTemplateVersionOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// The description of the access group template. +func (o IamAccessGroupTemplateVersionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Access Group Component. +func (o IamAccessGroupTemplateVersionOutput) Group() IamAccessGroupTemplateVersionGroupPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) IamAccessGroupTemplateVersionGroupPtrOutput { return v.Group }).(IamAccessGroupTemplateVersionGroupPtrOutput) +} + +// The URL of the access group template resource. +func (o IamAccessGroupTemplateVersionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The date and time when the access group template was last modified. +func (o IamAccessGroupTemplateVersionOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The ID of the user who last modified the access group template. +func (o IamAccessGroupTemplateVersionOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The name of the access group template. +func (o IamAccessGroupTemplateVersionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// References to policy templates assigned to the access group template. +func (o IamAccessGroupTemplateVersionOutput) PolicyTemplateReferences() IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return v.PolicyTemplateReferences + }).(IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput) +} + +// ID of the template that you want to create a new version of. +func (o IamAccessGroupTemplateVersionOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// An optional transaction id for the request. +func (o IamAccessGroupTemplateVersionOutput) TransactionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringPtrOutput { return v.TransactionId }).(pulumi.StringPtrOutput) +} + +// The version of the access group template. +func (o IamAccessGroupTemplateVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersion) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionInput)(nil)).Elem(), &IamAccessGroupTemplateVersion{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessTag.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessTag.go new file mode 100644 index 000000000..d7f0e8ceb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccessTag.go @@ -0,0 +1,131 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccessTag struct { + pulumi.CustomResourceState + + // Name of the access tag + Name pulumi.StringOutput `pulumi:"name"` + // Type of the tag(access) + TagType pulumi.StringOutput `pulumi:"tagType"` +} + +// NewIamAccessTag registers a new resource with the given unique name, arguments, and options. +func NewIamAccessTag(ctx *pulumi.Context, + name string, args *IamAccessTagArgs, opts ...pulumi.ResourceOption) (*IamAccessTag, error) { + if args == nil { + args = &IamAccessTagArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccessTag + err := ctx.RegisterResource("ibmcloud:index/iamAccessTag:IamAccessTag", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccessTag gets an existing IamAccessTag resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccessTag(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccessTagState, opts ...pulumi.ResourceOption) (*IamAccessTag, error) { + var resource IamAccessTag + err := ctx.ReadResource("ibmcloud:index/iamAccessTag:IamAccessTag", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccessTag resources. +type iamAccessTagState struct { + // Name of the access tag + Name *string `pulumi:"name"` + // Type of the tag(access) + TagType *string `pulumi:"tagType"` +} + +type IamAccessTagState struct { + // Name of the access tag + Name pulumi.StringPtrInput + // Type of the tag(access) + TagType pulumi.StringPtrInput +} + +func (IamAccessTagState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessTagState)(nil)).Elem() +} + +type iamAccessTagArgs struct { + // Name of the access tag + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IamAccessTag resource. +type IamAccessTagArgs struct { + // Name of the access tag + Name pulumi.StringPtrInput +} + +func (IamAccessTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccessTagArgs)(nil)).Elem() +} + +type IamAccessTagInput interface { + pulumi.Input + + ToIamAccessTagOutput() IamAccessTagOutput + ToIamAccessTagOutputWithContext(ctx context.Context) IamAccessTagOutput +} + +func (*IamAccessTag) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessTag)(nil)).Elem() +} + +func (i *IamAccessTag) ToIamAccessTagOutput() IamAccessTagOutput { + return i.ToIamAccessTagOutputWithContext(context.Background()) +} + +func (i *IamAccessTag) ToIamAccessTagOutputWithContext(ctx context.Context) IamAccessTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessTagOutput) +} + +type IamAccessTagOutput struct{ *pulumi.OutputState } + +func (IamAccessTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessTag)(nil)).Elem() +} + +func (o IamAccessTagOutput) ToIamAccessTagOutput() IamAccessTagOutput { + return o +} + +func (o IamAccessTagOutput) ToIamAccessTagOutputWithContext(ctx context.Context) IamAccessTagOutput { + return o +} + +// Name of the access tag +func (o IamAccessTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessTag) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Type of the tag(access) +func (o IamAccessTagOutput) TagType() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccessTag) pulumi.StringOutput { return v.TagType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessTagInput)(nil)).Elem(), &IamAccessTag{}) + pulumi.RegisterOutputType(IamAccessTagOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettings.go new file mode 100644 index 000000000..7f0157d11 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettings.go @@ -0,0 +1,358 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccountSettings struct { + pulumi.CustomResourceState + + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses pulumi.StringPtrOutput `pulumi:"allowedIpAddresses"` + // Version of the account settings. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // History of the Account Settings. + Histories IamAccountSettingsHistoryArrayOutput `pulumi:"histories"` + // Version of the account settings to be updated. Specify the version that you retrieved as entityTag (ETag header) when reading the account. This value helps identifying parallel usage of this API. Pass * to indicate to update any version available. This might result in stale updates. + IfMatch pulumi.StringPtrOutput `pulumi:"ifMatch"` + // Defines if the entity history is included in the response. + IncludeHistory pulumi.BoolPtrOutput `pulumi:"includeHistory"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity pulumi.StringOutput `pulumi:"maxSessionsPerIdentity"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringOutput `pulumi:"mfa"` + // Enrich MFA exemptions with user PI. + ResolveUserMfa pulumi.BoolPtrOutput `pulumi:"resolveUserMfa"` + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey pulumi.StringOutput `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating a Service Id is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId pulumi.StringOutput `pulumi:"restrictCreateServiceId"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + RestrictUserDomains IamAccountSettingsRestrictUserDomainArrayOutput `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility pulumi.StringOutput `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds pulumi.StringOutput `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds pulumi.StringOutput `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds pulumi.StringOutput `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '2592000' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds pulumi.StringOutput `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas IamAccountSettingsUserMfaArrayOutput `pulumi:"userMfas"` +} + +// NewIamAccountSettings registers a new resource with the given unique name, arguments, and options. +func NewIamAccountSettings(ctx *pulumi.Context, + name string, args *IamAccountSettingsArgs, opts ...pulumi.ResourceOption) (*IamAccountSettings, error) { + if args == nil { + args = &IamAccountSettingsArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccountSettings + err := ctx.RegisterResource("ibmcloud:index/iamAccountSettings:IamAccountSettings", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccountSettings gets an existing IamAccountSettings resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccountSettings(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccountSettingsState, opts ...pulumi.ResourceOption) (*IamAccountSettings, error) { + var resource IamAccountSettings + err := ctx.ReadResource("ibmcloud:index/iamAccountSettings:IamAccountSettings", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccountSettings resources. +type iamAccountSettingsState struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses *string `pulumi:"allowedIpAddresses"` + // Version of the account settings. + EntityTag *string `pulumi:"entityTag"` + // History of the Account Settings. + Histories []IamAccountSettingsHistory `pulumi:"histories"` + // Version of the account settings to be updated. Specify the version that you retrieved as entityTag (ETag header) when reading the account. This value helps identifying parallel usage of this API. Pass * to indicate to update any version available. This might result in stale updates. + IfMatch *string `pulumi:"ifMatch"` + // Defines if the entity history is included in the response. + IncludeHistory *bool `pulumi:"includeHistory"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity *string `pulumi:"maxSessionsPerIdentity"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa *string `pulumi:"mfa"` + // Enrich MFA exemptions with user PI. + ResolveUserMfa *bool `pulumi:"resolveUserMfa"` + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey *string `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating a Service Id is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId *string `pulumi:"restrictCreateServiceId"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + RestrictUserDomains []IamAccountSettingsRestrictUserDomain `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility *string `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds *string `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds *string `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds *string `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '2592000' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds *string `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas []IamAccountSettingsUserMfa `pulumi:"userMfas"` +} + +type IamAccountSettingsState struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses pulumi.StringPtrInput + // Version of the account settings. + EntityTag pulumi.StringPtrInput + // History of the Account Settings. + Histories IamAccountSettingsHistoryArrayInput + // Version of the account settings to be updated. Specify the version that you retrieved as entityTag (ETag header) when reading the account. This value helps identifying parallel usage of this API. Pass * to indicate to update any version available. This might result in stale updates. + IfMatch pulumi.StringPtrInput + // Defines if the entity history is included in the response. + IncludeHistory pulumi.BoolPtrInput + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity pulumi.StringPtrInput + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringPtrInput + // Enrich MFA exemptions with user PI. + ResolveUserMfa pulumi.BoolPtrInput + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey pulumi.StringPtrInput + // Defines whether or not creating a Service Id is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId pulumi.StringPtrInput + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + RestrictUserDomains IamAccountSettingsRestrictUserDomainArrayInput + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility pulumi.StringPtrInput + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds pulumi.StringPtrInput + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds pulumi.StringPtrInput + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds pulumi.StringPtrInput + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '2592000' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds pulumi.StringPtrInput + // List of users that are exempted from the MFA requirement of the account. + UserMfas IamAccountSettingsUserMfaArrayInput +} + +func (IamAccountSettingsState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccountSettingsState)(nil)).Elem() +} + +type iamAccountSettingsArgs struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses *string `pulumi:"allowedIpAddresses"` + // Version of the account settings. + EntityTag *string `pulumi:"entityTag"` + // Version of the account settings to be updated. Specify the version that you retrieved as entityTag (ETag header) when reading the account. This value helps identifying parallel usage of this API. Pass * to indicate to update any version available. This might result in stale updates. + IfMatch *string `pulumi:"ifMatch"` + // Defines if the entity history is included in the response. + IncludeHistory *bool `pulumi:"includeHistory"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity *string `pulumi:"maxSessionsPerIdentity"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa *string `pulumi:"mfa"` + // Enrich MFA exemptions with user PI. + ResolveUserMfa *bool `pulumi:"resolveUserMfa"` + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey *string `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating a Service Id is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId *string `pulumi:"restrictCreateServiceId"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + RestrictUserDomains []IamAccountSettingsRestrictUserDomain `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility *string `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds *string `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds *string `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds *string `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '2592000' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds *string `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas []IamAccountSettingsUserMfa `pulumi:"userMfas"` +} + +// The set of arguments for constructing a IamAccountSettings resource. +type IamAccountSettingsArgs struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses pulumi.StringPtrInput + // Version of the account settings. + EntityTag pulumi.StringPtrInput + // Version of the account settings to be updated. Specify the version that you retrieved as entityTag (ETag header) when reading the account. This value helps identifying parallel usage of this API. Pass * to indicate to update any version available. This might result in stale updates. + IfMatch pulumi.StringPtrInput + // Defines if the entity history is included in the response. + IncludeHistory pulumi.BoolPtrInput + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity pulumi.StringPtrInput + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringPtrInput + // Enrich MFA exemptions with user PI. + ResolveUserMfa pulumi.BoolPtrInput + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey pulumi.StringPtrInput + // Defines whether or not creating a Service Id is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId pulumi.StringPtrInput + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + RestrictUserDomains IamAccountSettingsRestrictUserDomainArrayInput + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility pulumi.StringPtrInput + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds pulumi.StringPtrInput + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds pulumi.StringPtrInput + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds pulumi.StringPtrInput + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '2592000' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds pulumi.StringPtrInput + // List of users that are exempted from the MFA requirement of the account. + UserMfas IamAccountSettingsUserMfaArrayInput +} + +func (IamAccountSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccountSettingsArgs)(nil)).Elem() +} + +type IamAccountSettingsInput interface { + pulumi.Input + + ToIamAccountSettingsOutput() IamAccountSettingsOutput + ToIamAccountSettingsOutputWithContext(ctx context.Context) IamAccountSettingsOutput +} + +func (*IamAccountSettings) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettings)(nil)).Elem() +} + +func (i *IamAccountSettings) ToIamAccountSettingsOutput() IamAccountSettingsOutput { + return i.ToIamAccountSettingsOutputWithContext(context.Background()) +} + +func (i *IamAccountSettings) ToIamAccountSettingsOutputWithContext(ctx context.Context) IamAccountSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsOutput) +} + +type IamAccountSettingsOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettings)(nil)).Elem() +} + +func (o IamAccountSettingsOutput) ToIamAccountSettingsOutput() IamAccountSettingsOutput { + return o +} + +func (o IamAccountSettingsOutput) ToIamAccountSettingsOutputWithContext(ctx context.Context) IamAccountSettingsOutput { + return o +} + +// Defines the IP addresses and subnets from which IAM tokens can be created for the account. +func (o IamAccountSettingsOutput) AllowedIpAddresses() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringPtrOutput { return v.AllowedIpAddresses }).(pulumi.StringPtrOutput) +} + +// Version of the account settings. +func (o IamAccountSettingsOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// History of the Account Settings. +func (o IamAccountSettingsOutput) Histories() IamAccountSettingsHistoryArrayOutput { + return o.ApplyT(func(v *IamAccountSettings) IamAccountSettingsHistoryArrayOutput { return v.Histories }).(IamAccountSettingsHistoryArrayOutput) +} + +// Version of the account settings to be updated. Specify the version that you retrieved as entityTag (ETag header) when reading the account. This value helps identifying parallel usage of this API. Pass * to indicate to update any version available. This might result in stale updates. +func (o IamAccountSettingsOutput) IfMatch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringPtrOutput { return v.IfMatch }).(pulumi.StringPtrOutput) +} + +// Defines if the entity history is included in the response. +func (o IamAccountSettingsOutput) IncludeHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.BoolPtrOutput { return v.IncludeHistory }).(pulumi.BoolPtrOutput) +} + +// Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsOutput) MaxSessionsPerIdentity() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.MaxSessionsPerIdentity }).(pulumi.StringOutput) +} + +// Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o IamAccountSettingsOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.Mfa }).(pulumi.StringOutput) +} + +// Enrich MFA exemptions with user PI. +func (o IamAccountSettingsOutput) ResolveUserMfa() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.BoolPtrOutput { return v.ResolveUserMfa }).(pulumi.BoolPtrOutput) +} + +// Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. +func (o IamAccountSettingsOutput) RestrictCreatePlatformApikey() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.RestrictCreatePlatformApikey }).(pulumi.StringOutput) +} + +// Defines whether or not creating a Service Id is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. +func (o IamAccountSettingsOutput) RestrictCreateServiceId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.RestrictCreateServiceId }).(pulumi.StringOutput) +} + +// Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. +func (o IamAccountSettingsOutput) RestrictUserDomains() IamAccountSettingsRestrictUserDomainArrayOutput { + return o.ApplyT(func(v *IamAccountSettings) IamAccountSettingsRestrictUserDomainArrayOutput { + return v.RestrictUserDomains + }).(IamAccountSettingsRestrictUserDomainArrayOutput) +} + +// Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. +func (o IamAccountSettingsOutput) RestrictUserListVisibility() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.RestrictUserListVisibility }).(pulumi.StringOutput) +} + +// Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsOutput) SessionExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.SessionExpirationInSeconds }).(pulumi.StringOutput) +} + +// Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsOutput) SessionInvalidationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.SessionInvalidationInSeconds }).(pulumi.StringOutput) +} + +// Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsOutput) SystemAccessTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.SystemAccessTokenExpirationInSeconds }).(pulumi.StringOutput) +} + +// Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '2592000' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsOutput) SystemRefreshTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettings) pulumi.StringOutput { return v.SystemRefreshTokenExpirationInSeconds }).(pulumi.StringOutput) +} + +// List of users that are exempted from the MFA requirement of the account. +func (o IamAccountSettingsOutput) UserMfas() IamAccountSettingsUserMfaArrayOutput { + return o.ApplyT(func(v *IamAccountSettings) IamAccountSettingsUserMfaArrayOutput { return v.UserMfas }).(IamAccountSettingsUserMfaArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsInput)(nil)).Elem(), &IamAccountSettings{}) + pulumi.RegisterOutputType(IamAccountSettingsOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsExternalInteraction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsExternalInteraction.go new file mode 100644 index 000000000..994f174de --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsExternalInteraction.go @@ -0,0 +1,159 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccountSettingsExternalInteraction struct { + pulumi.CustomResourceState + + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage pulumi.StringPtrOutput `pulumi:"acceptLanguage"` + // The account ID that the Access Management Account Settings belong to. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // How external accounts can interact in relation to the requested account. + ExternalAccountIdentityInteraction IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput `pulumi:"externalAccountIdentityInteraction"` +} + +// NewIamAccountSettingsExternalInteraction registers a new resource with the given unique name, arguments, and options. +func NewIamAccountSettingsExternalInteraction(ctx *pulumi.Context, + name string, args *IamAccountSettingsExternalInteractionArgs, opts ...pulumi.ResourceOption) (*IamAccountSettingsExternalInteraction, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccountId == nil { + return nil, errors.New("invalid value for required argument 'AccountId'") + } + if args.ExternalAccountIdentityInteraction == nil { + return nil, errors.New("invalid value for required argument 'ExternalAccountIdentityInteraction'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccountSettingsExternalInteraction + err := ctx.RegisterResource("ibmcloud:index/iamAccountSettingsExternalInteraction:IamAccountSettingsExternalInteraction", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccountSettingsExternalInteraction gets an existing IamAccountSettingsExternalInteraction resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccountSettingsExternalInteraction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccountSettingsExternalInteractionState, opts ...pulumi.ResourceOption) (*IamAccountSettingsExternalInteraction, error) { + var resource IamAccountSettingsExternalInteraction + err := ctx.ReadResource("ibmcloud:index/iamAccountSettingsExternalInteraction:IamAccountSettingsExternalInteraction", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccountSettingsExternalInteraction resources. +type iamAccountSettingsExternalInteractionState struct { + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage *string `pulumi:"acceptLanguage"` + // The account ID that the Access Management Account Settings belong to. + AccountId *string `pulumi:"accountId"` + // How external accounts can interact in relation to the requested account. + ExternalAccountIdentityInteraction *IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction `pulumi:"externalAccountIdentityInteraction"` +} + +type IamAccountSettingsExternalInteractionState struct { + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage pulumi.StringPtrInput + // The account ID that the Access Management Account Settings belong to. + AccountId pulumi.StringPtrInput + // How external accounts can interact in relation to the requested account. + ExternalAccountIdentityInteraction IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrInput +} + +func (IamAccountSettingsExternalInteractionState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccountSettingsExternalInteractionState)(nil)).Elem() +} + +type iamAccountSettingsExternalInteractionArgs struct { + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage *string `pulumi:"acceptLanguage"` + // The account ID that the Access Management Account Settings belong to. + AccountId string `pulumi:"accountId"` + // How external accounts can interact in relation to the requested account. + ExternalAccountIdentityInteraction IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction `pulumi:"externalAccountIdentityInteraction"` +} + +// The set of arguments for constructing a IamAccountSettingsExternalInteraction resource. +type IamAccountSettingsExternalInteractionArgs struct { + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage pulumi.StringPtrInput + // The account ID that the Access Management Account Settings belong to. + AccountId pulumi.StringInput + // How external accounts can interact in relation to the requested account. + ExternalAccountIdentityInteraction IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput +} + +func (IamAccountSettingsExternalInteractionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccountSettingsExternalInteractionArgs)(nil)).Elem() +} + +type IamAccountSettingsExternalInteractionInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionOutput() IamAccountSettingsExternalInteractionOutput + ToIamAccountSettingsExternalInteractionOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionOutput +} + +func (*IamAccountSettingsExternalInteraction) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteraction)(nil)).Elem() +} + +func (i *IamAccountSettingsExternalInteraction) ToIamAccountSettingsExternalInteractionOutput() IamAccountSettingsExternalInteractionOutput { + return i.ToIamAccountSettingsExternalInteractionOutputWithContext(context.Background()) +} + +func (i *IamAccountSettingsExternalInteraction) ToIamAccountSettingsExternalInteractionOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionOutput) +} + +type IamAccountSettingsExternalInteractionOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteraction)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionOutput) ToIamAccountSettingsExternalInteractionOutput() IamAccountSettingsExternalInteractionOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionOutput) ToIamAccountSettingsExternalInteractionOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionOutput { + return o +} + +// Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). +func (o IamAccountSettingsExternalInteractionOutput) AcceptLanguage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteraction) pulumi.StringPtrOutput { return v.AcceptLanguage }).(pulumi.StringPtrOutput) +} + +// The account ID that the Access Management Account Settings belong to. +func (o IamAccountSettingsExternalInteractionOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteraction) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// How external accounts can interact in relation to the requested account. +func (o IamAccountSettingsExternalInteractionOutput) ExternalAccountIdentityInteraction() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteraction) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return v.ExternalAccountIdentityInteraction + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionInput)(nil)).Elem(), &IamAccountSettingsExternalInteraction{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsTemplate.go new file mode 100644 index 000000000..af3594bb4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsTemplate.go @@ -0,0 +1,279 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccountSettingsTemplate struct { + pulumi.CustomResourceState + + // ID of the account where the template resides. + AccountId pulumi.StringOutput `pulumi:"accountId"` + AccountSettings IamAccountSettingsTemplateAccountSettingsPtrOutput `pulumi:"accountSettings"` + // Committed flag determines if the template is ready for assignment. + Committed pulumi.BoolOutput `pulumi:"committed"` + // Template Created At. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // IAMid of the creator. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // Cloud resource name. + Crn pulumi.StringOutput `pulumi:"crn"` + // The description of the trusted profile template. Describe the template for enterprise account users. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Entity tag for this templateId-version combination. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // History of the Template. + Histories IamAccountSettingsTemplateHistoryArrayOutput `pulumi:"histories"` + // Template last modified at. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // IAMid of the identity that made the latest modification. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // The name of the trusted profile template. This is visible only in the enterprise account. + Name pulumi.StringOutput `pulumi:"name"` + // ID of the the template. + TemplateId pulumi.StringPtrOutput `pulumi:"templateId"` + // Version of the the template. + Version pulumi.IntOutput `pulumi:"version"` +} + +// NewIamAccountSettingsTemplate registers a new resource with the given unique name, arguments, and options. +func NewIamAccountSettingsTemplate(ctx *pulumi.Context, + name string, args *IamAccountSettingsTemplateArgs, opts ...pulumi.ResourceOption) (*IamAccountSettingsTemplate, error) { + if args == nil { + args = &IamAccountSettingsTemplateArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccountSettingsTemplate + err := ctx.RegisterResource("ibmcloud:index/iamAccountSettingsTemplate:IamAccountSettingsTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccountSettingsTemplate gets an existing IamAccountSettingsTemplate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccountSettingsTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccountSettingsTemplateState, opts ...pulumi.ResourceOption) (*IamAccountSettingsTemplate, error) { + var resource IamAccountSettingsTemplate + err := ctx.ReadResource("ibmcloud:index/iamAccountSettingsTemplate:IamAccountSettingsTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccountSettingsTemplate resources. +type iamAccountSettingsTemplateState struct { + // ID of the account where the template resides. + AccountId *string `pulumi:"accountId"` + AccountSettings *IamAccountSettingsTemplateAccountSettings `pulumi:"accountSettings"` + // Committed flag determines if the template is ready for assignment. + Committed *bool `pulumi:"committed"` + // Template Created At. + CreatedAt *string `pulumi:"createdAt"` + // IAMid of the creator. + CreatedById *string `pulumi:"createdById"` + // Cloud resource name. + Crn *string `pulumi:"crn"` + // The description of the trusted profile template. Describe the template for enterprise account users. + Description *string `pulumi:"description"` + // Entity tag for this templateId-version combination. + EntityTag *string `pulumi:"entityTag"` + // History of the Template. + Histories []IamAccountSettingsTemplateHistory `pulumi:"histories"` + // Template last modified at. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // IAMid of the identity that made the latest modification. + LastModifiedById *string `pulumi:"lastModifiedById"` + // The name of the trusted profile template. This is visible only in the enterprise account. + Name *string `pulumi:"name"` + // ID of the the template. + TemplateId *string `pulumi:"templateId"` + // Version of the the template. + Version *int `pulumi:"version"` +} + +type IamAccountSettingsTemplateState struct { + // ID of the account where the template resides. + AccountId pulumi.StringPtrInput + AccountSettings IamAccountSettingsTemplateAccountSettingsPtrInput + // Committed flag determines if the template is ready for assignment. + Committed pulumi.BoolPtrInput + // Template Created At. + CreatedAt pulumi.StringPtrInput + // IAMid of the creator. + CreatedById pulumi.StringPtrInput + // Cloud resource name. + Crn pulumi.StringPtrInput + // The description of the trusted profile template. Describe the template for enterprise account users. + Description pulumi.StringPtrInput + // Entity tag for this templateId-version combination. + EntityTag pulumi.StringPtrInput + // History of the Template. + Histories IamAccountSettingsTemplateHistoryArrayInput + // Template last modified at. + LastModifiedAt pulumi.StringPtrInput + // IAMid of the identity that made the latest modification. + LastModifiedById pulumi.StringPtrInput + // The name of the trusted profile template. This is visible only in the enterprise account. + Name pulumi.StringPtrInput + // ID of the the template. + TemplateId pulumi.StringPtrInput + // Version of the the template. + Version pulumi.IntPtrInput +} + +func (IamAccountSettingsTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccountSettingsTemplateState)(nil)).Elem() +} + +type iamAccountSettingsTemplateArgs struct { + // ID of the account where the template resides. + AccountId *string `pulumi:"accountId"` + AccountSettings *IamAccountSettingsTemplateAccountSettings `pulumi:"accountSettings"` + // Committed flag determines if the template is ready for assignment. + Committed *bool `pulumi:"committed"` + // The description of the trusted profile template. Describe the template for enterprise account users. + Description *string `pulumi:"description"` + // The name of the trusted profile template. This is visible only in the enterprise account. + Name *string `pulumi:"name"` + // ID of the the template. + TemplateId *string `pulumi:"templateId"` +} + +// The set of arguments for constructing a IamAccountSettingsTemplate resource. +type IamAccountSettingsTemplateArgs struct { + // ID of the account where the template resides. + AccountId pulumi.StringPtrInput + AccountSettings IamAccountSettingsTemplateAccountSettingsPtrInput + // Committed flag determines if the template is ready for assignment. + Committed pulumi.BoolPtrInput + // The description of the trusted profile template. Describe the template for enterprise account users. + Description pulumi.StringPtrInput + // The name of the trusted profile template. This is visible only in the enterprise account. + Name pulumi.StringPtrInput + // ID of the the template. + TemplateId pulumi.StringPtrInput +} + +func (IamAccountSettingsTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccountSettingsTemplateArgs)(nil)).Elem() +} + +type IamAccountSettingsTemplateInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateOutput() IamAccountSettingsTemplateOutput + ToIamAccountSettingsTemplateOutputWithContext(ctx context.Context) IamAccountSettingsTemplateOutput +} + +func (*IamAccountSettingsTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsTemplate)(nil)).Elem() +} + +func (i *IamAccountSettingsTemplate) ToIamAccountSettingsTemplateOutput() IamAccountSettingsTemplateOutput { + return i.ToIamAccountSettingsTemplateOutputWithContext(context.Background()) +} + +func (i *IamAccountSettingsTemplate) ToIamAccountSettingsTemplateOutputWithContext(ctx context.Context) IamAccountSettingsTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateOutput) +} + +type IamAccountSettingsTemplateOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsTemplate)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateOutput) ToIamAccountSettingsTemplateOutput() IamAccountSettingsTemplateOutput { + return o +} + +func (o IamAccountSettingsTemplateOutput) ToIamAccountSettingsTemplateOutputWithContext(ctx context.Context) IamAccountSettingsTemplateOutput { + return o +} + +// ID of the account where the template resides. +func (o IamAccountSettingsTemplateOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +func (o IamAccountSettingsTemplateOutput) AccountSettings() IamAccountSettingsTemplateAccountSettingsPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) IamAccountSettingsTemplateAccountSettingsPtrOutput { + return v.AccountSettings + }).(IamAccountSettingsTemplateAccountSettingsPtrOutput) +} + +// Committed flag determines if the template is ready for assignment. +func (o IamAccountSettingsTemplateOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.BoolOutput { return v.Committed }).(pulumi.BoolOutput) +} + +// Template Created At. +func (o IamAccountSettingsTemplateOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// IAMid of the creator. +func (o IamAccountSettingsTemplateOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// Cloud resource name. +func (o IamAccountSettingsTemplateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The description of the trusted profile template. Describe the template for enterprise account users. +func (o IamAccountSettingsTemplateOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Entity tag for this templateId-version combination. +func (o IamAccountSettingsTemplateOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// History of the Template. +func (o IamAccountSettingsTemplateOutput) Histories() IamAccountSettingsTemplateHistoryArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) IamAccountSettingsTemplateHistoryArrayOutput { return v.Histories }).(IamAccountSettingsTemplateHistoryArrayOutput) +} + +// Template last modified at. +func (o IamAccountSettingsTemplateOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// IAMid of the identity that made the latest modification. +func (o IamAccountSettingsTemplateOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The name of the trusted profile template. This is visible only in the enterprise account. +func (o IamAccountSettingsTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// ID of the the template. +func (o IamAccountSettingsTemplateOutput) TemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.StringPtrOutput { return v.TemplateId }).(pulumi.StringPtrOutput) +} + +// Version of the the template. +func (o IamAccountSettingsTemplateOutput) Version() pulumi.IntOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplate) pulumi.IntOutput { return v.Version }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateInput)(nil)).Elem(), &IamAccountSettingsTemplate{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsTemplateAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsTemplateAssignment.go new file mode 100644 index 000000000..7342b1827 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAccountSettingsTemplateAssignment.go @@ -0,0 +1,305 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAccountSettingsTemplateAssignment struct { + pulumi.CustomResourceState + + // Enterprise account Id. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // Context with key properties for problem determination. + Contexts IamAccountSettingsTemplateAssignmentContextArrayOutput `pulumi:"contexts"` + // Assignment created at. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // IAMid of the identity that created the assignment. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // Entity tag for this assignment record. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // Assignment history. + Histories IamAccountSettingsTemplateAssignmentHistoryArrayOutput `pulumi:"histories"` + // Href. + Href pulumi.StringOutput `pulumi:"href"` + // Assignment modified at. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // IAMid of the identity that last modified the assignment. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // Status breakdown per target account of IAM resources created or errors encountered in attempting to create those IAM resources. IAM resources are only included in the response providing the assignment is not in progress. IAM resources are also only included when getting a single assignment, and excluded by list APIs. + Resources IamAccountSettingsTemplateAssignmentResourceArrayOutput `pulumi:"resources"` + // Assignment status. + Status pulumi.StringOutput `pulumi:"status"` + // Assignment target. + Target pulumi.StringOutput `pulumi:"target"` + // Assignment target type. + TargetType pulumi.StringOutput `pulumi:"targetType"` + // Template Id. + TemplateId pulumi.StringOutput `pulumi:"templateId"` + // Template version. + TemplateVersion pulumi.IntOutput `pulumi:"templateVersion"` +} + +// NewIamAccountSettingsTemplateAssignment registers a new resource with the given unique name, arguments, and options. +func NewIamAccountSettingsTemplateAssignment(ctx *pulumi.Context, + name string, args *IamAccountSettingsTemplateAssignmentArgs, opts ...pulumi.ResourceOption) (*IamAccountSettingsTemplateAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Target == nil { + return nil, errors.New("invalid value for required argument 'Target'") + } + if args.TargetType == nil { + return nil, errors.New("invalid value for required argument 'TargetType'") + } + if args.TemplateId == nil { + return nil, errors.New("invalid value for required argument 'TemplateId'") + } + if args.TemplateVersion == nil { + return nil, errors.New("invalid value for required argument 'TemplateVersion'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAccountSettingsTemplateAssignment + err := ctx.RegisterResource("ibmcloud:index/iamAccountSettingsTemplateAssignment:IamAccountSettingsTemplateAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAccountSettingsTemplateAssignment gets an existing IamAccountSettingsTemplateAssignment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAccountSettingsTemplateAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAccountSettingsTemplateAssignmentState, opts ...pulumi.ResourceOption) (*IamAccountSettingsTemplateAssignment, error) { + var resource IamAccountSettingsTemplateAssignment + err := ctx.ReadResource("ibmcloud:index/iamAccountSettingsTemplateAssignment:IamAccountSettingsTemplateAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAccountSettingsTemplateAssignment resources. +type iamAccountSettingsTemplateAssignmentState struct { + // Enterprise account Id. + AccountId *string `pulumi:"accountId"` + // Context with key properties for problem determination. + Contexts []IamAccountSettingsTemplateAssignmentContext `pulumi:"contexts"` + // Assignment created at. + CreatedAt *string `pulumi:"createdAt"` + // IAMid of the identity that created the assignment. + CreatedById *string `pulumi:"createdById"` + // Entity tag for this assignment record. + EntityTag *string `pulumi:"entityTag"` + // Assignment history. + Histories []IamAccountSettingsTemplateAssignmentHistory `pulumi:"histories"` + // Href. + Href *string `pulumi:"href"` + // Assignment modified at. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // IAMid of the identity that last modified the assignment. + LastModifiedById *string `pulumi:"lastModifiedById"` + // Status breakdown per target account of IAM resources created or errors encountered in attempting to create those IAM resources. IAM resources are only included in the response providing the assignment is not in progress. IAM resources are also only included when getting a single assignment, and excluded by list APIs. + Resources []IamAccountSettingsTemplateAssignmentResource `pulumi:"resources"` + // Assignment status. + Status *string `pulumi:"status"` + // Assignment target. + Target *string `pulumi:"target"` + // Assignment target type. + TargetType *string `pulumi:"targetType"` + // Template Id. + TemplateId *string `pulumi:"templateId"` + // Template version. + TemplateVersion *int `pulumi:"templateVersion"` +} + +type IamAccountSettingsTemplateAssignmentState struct { + // Enterprise account Id. + AccountId pulumi.StringPtrInput + // Context with key properties for problem determination. + Contexts IamAccountSettingsTemplateAssignmentContextArrayInput + // Assignment created at. + CreatedAt pulumi.StringPtrInput + // IAMid of the identity that created the assignment. + CreatedById pulumi.StringPtrInput + // Entity tag for this assignment record. + EntityTag pulumi.StringPtrInput + // Assignment history. + Histories IamAccountSettingsTemplateAssignmentHistoryArrayInput + // Href. + Href pulumi.StringPtrInput + // Assignment modified at. + LastModifiedAt pulumi.StringPtrInput + // IAMid of the identity that last modified the assignment. + LastModifiedById pulumi.StringPtrInput + // Status breakdown per target account of IAM resources created or errors encountered in attempting to create those IAM resources. IAM resources are only included in the response providing the assignment is not in progress. IAM resources are also only included when getting a single assignment, and excluded by list APIs. + Resources IamAccountSettingsTemplateAssignmentResourceArrayInput + // Assignment status. + Status pulumi.StringPtrInput + // Assignment target. + Target pulumi.StringPtrInput + // Assignment target type. + TargetType pulumi.StringPtrInput + // Template Id. + TemplateId pulumi.StringPtrInput + // Template version. + TemplateVersion pulumi.IntPtrInput +} + +func (IamAccountSettingsTemplateAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccountSettingsTemplateAssignmentState)(nil)).Elem() +} + +type iamAccountSettingsTemplateAssignmentArgs struct { + // Assignment target. + Target string `pulumi:"target"` + // Assignment target type. + TargetType string `pulumi:"targetType"` + // Template Id. + TemplateId string `pulumi:"templateId"` + // Template version. + TemplateVersion int `pulumi:"templateVersion"` +} + +// The set of arguments for constructing a IamAccountSettingsTemplateAssignment resource. +type IamAccountSettingsTemplateAssignmentArgs struct { + // Assignment target. + Target pulumi.StringInput + // Assignment target type. + TargetType pulumi.StringInput + // Template Id. + TemplateId pulumi.StringInput + // Template version. + TemplateVersion pulumi.IntInput +} + +func (IamAccountSettingsTemplateAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAccountSettingsTemplateAssignmentArgs)(nil)).Elem() +} + +type IamAccountSettingsTemplateAssignmentInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentOutput() IamAccountSettingsTemplateAssignmentOutput + ToIamAccountSettingsTemplateAssignmentOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentOutput +} + +func (*IamAccountSettingsTemplateAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsTemplateAssignment)(nil)).Elem() +} + +func (i *IamAccountSettingsTemplateAssignment) ToIamAccountSettingsTemplateAssignmentOutput() IamAccountSettingsTemplateAssignmentOutput { + return i.ToIamAccountSettingsTemplateAssignmentOutputWithContext(context.Background()) +} + +func (i *IamAccountSettingsTemplateAssignment) ToIamAccountSettingsTemplateAssignmentOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentOutput) +} + +type IamAccountSettingsTemplateAssignmentOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsTemplateAssignment)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentOutput) ToIamAccountSettingsTemplateAssignmentOutput() IamAccountSettingsTemplateAssignmentOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentOutput) ToIamAccountSettingsTemplateAssignmentOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentOutput { + return o +} + +// Enterprise account Id. +func (o IamAccountSettingsTemplateAssignmentOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// Context with key properties for problem determination. +func (o IamAccountSettingsTemplateAssignmentOutput) Contexts() IamAccountSettingsTemplateAssignmentContextArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) IamAccountSettingsTemplateAssignmentContextArrayOutput { + return v.Contexts + }).(IamAccountSettingsTemplateAssignmentContextArrayOutput) +} + +// Assignment created at. +func (o IamAccountSettingsTemplateAssignmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// IAMid of the identity that created the assignment. +func (o IamAccountSettingsTemplateAssignmentOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// Entity tag for this assignment record. +func (o IamAccountSettingsTemplateAssignmentOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// Assignment history. +func (o IamAccountSettingsTemplateAssignmentOutput) Histories() IamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) IamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return v.Histories + }).(IamAccountSettingsTemplateAssignmentHistoryArrayOutput) +} + +// Href. +func (o IamAccountSettingsTemplateAssignmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Assignment modified at. +func (o IamAccountSettingsTemplateAssignmentOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// IAMid of the identity that last modified the assignment. +func (o IamAccountSettingsTemplateAssignmentOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// Status breakdown per target account of IAM resources created or errors encountered in attempting to create those IAM resources. IAM resources are only included in the response providing the assignment is not in progress. IAM resources are also only included when getting a single assignment, and excluded by list APIs. +func (o IamAccountSettingsTemplateAssignmentOutput) Resources() IamAccountSettingsTemplateAssignmentResourceArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) IamAccountSettingsTemplateAssignmentResourceArrayOutput { + return v.Resources + }).(IamAccountSettingsTemplateAssignmentResourceArrayOutput) +} + +// Assignment status. +func (o IamAccountSettingsTemplateAssignmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Assignment target. +func (o IamAccountSettingsTemplateAssignmentOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// Assignment target type. +func (o IamAccountSettingsTemplateAssignmentOutput) TargetType() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.TargetType }).(pulumi.StringOutput) +} + +// Template Id. +func (o IamAccountSettingsTemplateAssignmentOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// Template version. +func (o IamAccountSettingsTemplateAssignmentOutput) TemplateVersion() pulumi.IntOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAssignment) pulumi.IntOutput { return v.TemplateVersion }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentInput)(nil)).Elem(), &IamAccountSettingsTemplateAssignment{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlAssignment.go new file mode 100644 index 000000000..eb19bf475 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlAssignment.go @@ -0,0 +1,256 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamActionControlAssignment struct { + pulumi.CustomResourceState + + // The account GUID that the action control assignments belong to. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // The UTC timestamp when the action control assignment was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The IAM ID of the entity that created the action control assignment. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // The href URL that links to the action control assignments API by action control assignment ID. + Href pulumi.StringOutput `pulumi:"href"` + // The UTC timestamp when the action control assignment was last modified. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // The IAM ID of the entity that last modified the action control assignment. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // The current operation of the action control assignment. + Operation pulumi.StringOutput `pulumi:"operation"` + // Resources created when action control template is assigned. + Resources IamActionControlAssignmentResourceArrayOutput `pulumi:"resources"` + // The action control assignment status. + Status pulumi.StringOutput `pulumi:"status"` + // assignment target details + Target pulumi.StringMapOutput `pulumi:"target"` + // The policy template version. + TemplateVersion pulumi.StringOutput `pulumi:"templateVersion"` + // action control template details. + Templates IamActionControlAssignmentTemplatesOutput `pulumi:"templates"` +} + +// NewIamActionControlAssignment registers a new resource with the given unique name, arguments, and options. +func NewIamActionControlAssignment(ctx *pulumi.Context, + name string, args *IamActionControlAssignmentArgs, opts ...pulumi.ResourceOption) (*IamActionControlAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Target == nil { + return nil, errors.New("invalid value for required argument 'Target'") + } + if args.Templates == nil { + return nil, errors.New("invalid value for required argument 'Templates'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamActionControlAssignment + err := ctx.RegisterResource("ibmcloud:index/iamActionControlAssignment:IamActionControlAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamActionControlAssignment gets an existing IamActionControlAssignment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamActionControlAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamActionControlAssignmentState, opts ...pulumi.ResourceOption) (*IamActionControlAssignment, error) { + var resource IamActionControlAssignment + err := ctx.ReadResource("ibmcloud:index/iamActionControlAssignment:IamActionControlAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamActionControlAssignment resources. +type iamActionControlAssignmentState struct { + // The account GUID that the action control assignments belong to. + AccountId *string `pulumi:"accountId"` + // The UTC timestamp when the action control assignment was created. + CreatedAt *string `pulumi:"createdAt"` + // The IAM ID of the entity that created the action control assignment. + CreatedById *string `pulumi:"createdById"` + // The href URL that links to the action control assignments API by action control assignment ID. + Href *string `pulumi:"href"` + // The UTC timestamp when the action control assignment was last modified. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // The IAM ID of the entity that last modified the action control assignment. + LastModifiedById *string `pulumi:"lastModifiedById"` + // The current operation of the action control assignment. + Operation *string `pulumi:"operation"` + // Resources created when action control template is assigned. + Resources []IamActionControlAssignmentResource `pulumi:"resources"` + // The action control assignment status. + Status *string `pulumi:"status"` + // assignment target details + Target map[string]string `pulumi:"target"` + // The policy template version. + TemplateVersion *string `pulumi:"templateVersion"` + // action control template details. + Templates *IamActionControlAssignmentTemplates `pulumi:"templates"` +} + +type IamActionControlAssignmentState struct { + // The account GUID that the action control assignments belong to. + AccountId pulumi.StringPtrInput + // The UTC timestamp when the action control assignment was created. + CreatedAt pulumi.StringPtrInput + // The IAM ID of the entity that created the action control assignment. + CreatedById pulumi.StringPtrInput + // The href URL that links to the action control assignments API by action control assignment ID. + Href pulumi.StringPtrInput + // The UTC timestamp when the action control assignment was last modified. + LastModifiedAt pulumi.StringPtrInput + // The IAM ID of the entity that last modified the action control assignment. + LastModifiedById pulumi.StringPtrInput + // The current operation of the action control assignment. + Operation pulumi.StringPtrInput + // Resources created when action control template is assigned. + Resources IamActionControlAssignmentResourceArrayInput + // The action control assignment status. + Status pulumi.StringPtrInput + // assignment target details + Target pulumi.StringMapInput + // The policy template version. + TemplateVersion pulumi.StringPtrInput + // action control template details. + Templates IamActionControlAssignmentTemplatesPtrInput +} + +func (IamActionControlAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*iamActionControlAssignmentState)(nil)).Elem() +} + +type iamActionControlAssignmentArgs struct { + // assignment target details + Target map[string]string `pulumi:"target"` + // The policy template version. + TemplateVersion *string `pulumi:"templateVersion"` + // action control template details. + Templates IamActionControlAssignmentTemplates `pulumi:"templates"` +} + +// The set of arguments for constructing a IamActionControlAssignment resource. +type IamActionControlAssignmentArgs struct { + // assignment target details + Target pulumi.StringMapInput + // The policy template version. + TemplateVersion pulumi.StringPtrInput + // action control template details. + Templates IamActionControlAssignmentTemplatesInput +} + +func (IamActionControlAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamActionControlAssignmentArgs)(nil)).Elem() +} + +type IamActionControlAssignmentInput interface { + pulumi.Input + + ToIamActionControlAssignmentOutput() IamActionControlAssignmentOutput + ToIamActionControlAssignmentOutputWithContext(ctx context.Context) IamActionControlAssignmentOutput +} + +func (*IamActionControlAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**IamActionControlAssignment)(nil)).Elem() +} + +func (i *IamActionControlAssignment) ToIamActionControlAssignmentOutput() IamActionControlAssignmentOutput { + return i.ToIamActionControlAssignmentOutputWithContext(context.Background()) +} + +func (i *IamActionControlAssignment) ToIamActionControlAssignmentOutputWithContext(ctx context.Context) IamActionControlAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentOutput) +} + +type IamActionControlAssignmentOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamActionControlAssignment)(nil)).Elem() +} + +func (o IamActionControlAssignmentOutput) ToIamActionControlAssignmentOutput() IamActionControlAssignmentOutput { + return o +} + +func (o IamActionControlAssignmentOutput) ToIamActionControlAssignmentOutputWithContext(ctx context.Context) IamActionControlAssignmentOutput { + return o +} + +// The account GUID that the action control assignments belong to. +func (o IamActionControlAssignmentOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// The UTC timestamp when the action control assignment was created. +func (o IamActionControlAssignmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The IAM ID of the entity that created the action control assignment. +func (o IamActionControlAssignmentOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// The href URL that links to the action control assignments API by action control assignment ID. +func (o IamActionControlAssignmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The UTC timestamp when the action control assignment was last modified. +func (o IamActionControlAssignmentOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The IAM ID of the entity that last modified the action control assignment. +func (o IamActionControlAssignmentOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The current operation of the action control assignment. +func (o IamActionControlAssignmentOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.Operation }).(pulumi.StringOutput) +} + +// Resources created when action control template is assigned. +func (o IamActionControlAssignmentOutput) Resources() IamActionControlAssignmentResourceArrayOutput { + return o.ApplyT(func(v *IamActionControlAssignment) IamActionControlAssignmentResourceArrayOutput { return v.Resources }).(IamActionControlAssignmentResourceArrayOutput) +} + +// The action control assignment status. +func (o IamActionControlAssignmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// assignment target details +func (o IamActionControlAssignmentOutput) Target() pulumi.StringMapOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringMapOutput { return v.Target }).(pulumi.StringMapOutput) +} + +// The policy template version. +func (o IamActionControlAssignmentOutput) TemplateVersion() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlAssignment) pulumi.StringOutput { return v.TemplateVersion }).(pulumi.StringOutput) +} + +// action control template details. +func (o IamActionControlAssignmentOutput) Templates() IamActionControlAssignmentTemplatesOutput { + return o.ApplyT(func(v *IamActionControlAssignment) IamActionControlAssignmentTemplatesOutput { return v.Templates }).(IamActionControlAssignmentTemplatesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentInput)(nil)).Elem(), &IamActionControlAssignment{}) + pulumi.RegisterOutputType(IamActionControlAssignmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlTemplate.go new file mode 100644 index 000000000..d66664c2d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlTemplate.go @@ -0,0 +1,255 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamActionControlTemplate struct { + pulumi.CustomResourceState + + // Enterprise account ID where this template is created. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // The action control template ID. + ActionControlTemplateId pulumi.StringOutput `pulumi:"actionControlTemplateId"` + // The action control properties that are created in an action resource when the template is assigned. + ActionControls IamActionControlTemplateActionControlArrayOutput `pulumi:"actionControls"` + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed pulumi.BoolOutput `pulumi:"committed"` + // The UTC timestamp when the action control template was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The IAM ID of the entity that created the action control template. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The href URL that links to the action control templates API by action control template ID. + Href pulumi.StringOutput `pulumi:"href"` + // The UTC timestamp when the action control template was last modified. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // The IAM ID of the entity that last modified the action control template. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name pulumi.StringOutput `pulumi:"name"` + // Template Version. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamActionControlTemplate registers a new resource with the given unique name, arguments, and options. +func NewIamActionControlTemplate(ctx *pulumi.Context, + name string, args *IamActionControlTemplateArgs, opts ...pulumi.ResourceOption) (*IamActionControlTemplate, error) { + if args == nil { + args = &IamActionControlTemplateArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamActionControlTemplate + err := ctx.RegisterResource("ibmcloud:index/iamActionControlTemplate:IamActionControlTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamActionControlTemplate gets an existing IamActionControlTemplate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamActionControlTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamActionControlTemplateState, opts ...pulumi.ResourceOption) (*IamActionControlTemplate, error) { + var resource IamActionControlTemplate + err := ctx.ReadResource("ibmcloud:index/iamActionControlTemplate:IamActionControlTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamActionControlTemplate resources. +type iamActionControlTemplateState struct { + // Enterprise account ID where this template is created. + AccountId *string `pulumi:"accountId"` + // The action control template ID. + ActionControlTemplateId *string `pulumi:"actionControlTemplateId"` + // The action control properties that are created in an action resource when the template is assigned. + ActionControls []IamActionControlTemplateActionControl `pulumi:"actionControls"` + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed *bool `pulumi:"committed"` + // The UTC timestamp when the action control template was created. + CreatedAt *string `pulumi:"createdAt"` + // The IAM ID of the entity that created the action control template. + CreatedById *string `pulumi:"createdById"` + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description *string `pulumi:"description"` + // The href URL that links to the action control templates API by action control template ID. + Href *string `pulumi:"href"` + // The UTC timestamp when the action control template was last modified. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // The IAM ID of the entity that last modified the action control template. + LastModifiedById *string `pulumi:"lastModifiedById"` + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name *string `pulumi:"name"` + // Template Version. + Version *string `pulumi:"version"` +} + +type IamActionControlTemplateState struct { + // Enterprise account ID where this template is created. + AccountId pulumi.StringPtrInput + // The action control template ID. + ActionControlTemplateId pulumi.StringPtrInput + // The action control properties that are created in an action resource when the template is assigned. + ActionControls IamActionControlTemplateActionControlArrayInput + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed pulumi.BoolPtrInput + // The UTC timestamp when the action control template was created. + CreatedAt pulumi.StringPtrInput + // The IAM ID of the entity that created the action control template. + CreatedById pulumi.StringPtrInput + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description pulumi.StringPtrInput + // The href URL that links to the action control templates API by action control template ID. + Href pulumi.StringPtrInput + // The UTC timestamp when the action control template was last modified. + LastModifiedAt pulumi.StringPtrInput + // The IAM ID of the entity that last modified the action control template. + LastModifiedById pulumi.StringPtrInput + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name pulumi.StringPtrInput + // Template Version. + Version pulumi.StringPtrInput +} + +func (IamActionControlTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*iamActionControlTemplateState)(nil)).Elem() +} + +type iamActionControlTemplateArgs struct { + // The action control properties that are created in an action resource when the template is assigned. + ActionControls []IamActionControlTemplateActionControl `pulumi:"actionControls"` + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed *bool `pulumi:"committed"` + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description *string `pulumi:"description"` + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IamActionControlTemplate resource. +type IamActionControlTemplateArgs struct { + // The action control properties that are created in an action resource when the template is assigned. + ActionControls IamActionControlTemplateActionControlArrayInput + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed pulumi.BoolPtrInput + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description pulumi.StringPtrInput + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name pulumi.StringPtrInput +} + +func (IamActionControlTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamActionControlTemplateArgs)(nil)).Elem() +} + +type IamActionControlTemplateInput interface { + pulumi.Input + + ToIamActionControlTemplateOutput() IamActionControlTemplateOutput + ToIamActionControlTemplateOutputWithContext(ctx context.Context) IamActionControlTemplateOutput +} + +func (*IamActionControlTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**IamActionControlTemplate)(nil)).Elem() +} + +func (i *IamActionControlTemplate) ToIamActionControlTemplateOutput() IamActionControlTemplateOutput { + return i.ToIamActionControlTemplateOutputWithContext(context.Background()) +} + +func (i *IamActionControlTemplate) ToIamActionControlTemplateOutputWithContext(ctx context.Context) IamActionControlTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlTemplateOutput) +} + +type IamActionControlTemplateOutput struct{ *pulumi.OutputState } + +func (IamActionControlTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamActionControlTemplate)(nil)).Elem() +} + +func (o IamActionControlTemplateOutput) ToIamActionControlTemplateOutput() IamActionControlTemplateOutput { + return o +} + +func (o IamActionControlTemplateOutput) ToIamActionControlTemplateOutputWithContext(ctx context.Context) IamActionControlTemplateOutput { + return o +} + +// Enterprise account ID where this template is created. +func (o IamActionControlTemplateOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// The action control template ID. +func (o IamActionControlTemplateOutput) ActionControlTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.ActionControlTemplateId }).(pulumi.StringOutput) +} + +// The action control properties that are created in an action resource when the template is assigned. +func (o IamActionControlTemplateOutput) ActionControls() IamActionControlTemplateActionControlArrayOutput { + return o.ApplyT(func(v *IamActionControlTemplate) IamActionControlTemplateActionControlArrayOutput { + return v.ActionControls + }).(IamActionControlTemplateActionControlArrayOutput) +} + +// Committed status of the template. If committed is set to true, then the template version can no longer be updated. +func (o IamActionControlTemplateOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.BoolOutput { return v.Committed }).(pulumi.BoolOutput) +} + +// The UTC timestamp when the action control template was created. +func (o IamActionControlTemplateOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The IAM ID of the entity that created the action control template. +func (o IamActionControlTemplateOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. +func (o IamActionControlTemplateOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The href URL that links to the action control templates API by action control template ID. +func (o IamActionControlTemplateOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The UTC timestamp when the action control template was last modified. +func (o IamActionControlTemplateOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The IAM ID of the entity that last modified the action control template. +func (o IamActionControlTemplateOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. +func (o IamActionControlTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Template Version. +func (o IamActionControlTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplate) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlTemplateInput)(nil)).Elem(), &IamActionControlTemplate{}) + pulumi.RegisterOutputType(IamActionControlTemplateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlTemplateVersion.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlTemplateVersion.go new file mode 100644 index 000000000..91cf6fa80 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamActionControlTemplateVersion.go @@ -0,0 +1,263 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamActionControlTemplateVersion struct { + pulumi.CustomResourceState + + // Enterprise account ID where this template is created. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // The action control template ID. + ActionControlTemplateId pulumi.StringOutput `pulumi:"actionControlTemplateId"` + // The action control properties that are created in an action resource when the template is assigned. + ActionControls IamActionControlTemplateVersionActionControlArrayOutput `pulumi:"actionControls"` + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed pulumi.BoolPtrOutput `pulumi:"committed"` + // The UTC timestamp when the action control template was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The IAM ID of the entity that created the action control template. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description pulumi.StringOutput `pulumi:"description"` + // The href URL that links to the action control templates API by action control template ID. + Href pulumi.StringOutput `pulumi:"href"` + // The UTC timestamp when the action control template was last modified. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // The IAM ID of the entity that last modified the action control template. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name pulumi.StringOutput `pulumi:"name"` + // The action control template version. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamActionControlTemplateVersion registers a new resource with the given unique name, arguments, and options. +func NewIamActionControlTemplateVersion(ctx *pulumi.Context, + name string, args *IamActionControlTemplateVersionArgs, opts ...pulumi.ResourceOption) (*IamActionControlTemplateVersion, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ActionControlTemplateId == nil { + return nil, errors.New("invalid value for required argument 'ActionControlTemplateId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamActionControlTemplateVersion + err := ctx.RegisterResource("ibmcloud:index/iamActionControlTemplateVersion:IamActionControlTemplateVersion", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamActionControlTemplateVersion gets an existing IamActionControlTemplateVersion resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamActionControlTemplateVersion(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamActionControlTemplateVersionState, opts ...pulumi.ResourceOption) (*IamActionControlTemplateVersion, error) { + var resource IamActionControlTemplateVersion + err := ctx.ReadResource("ibmcloud:index/iamActionControlTemplateVersion:IamActionControlTemplateVersion", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamActionControlTemplateVersion resources. +type iamActionControlTemplateVersionState struct { + // Enterprise account ID where this template is created. + AccountId *string `pulumi:"accountId"` + // The action control template ID. + ActionControlTemplateId *string `pulumi:"actionControlTemplateId"` + // The action control properties that are created in an action resource when the template is assigned. + ActionControls []IamActionControlTemplateVersionActionControl `pulumi:"actionControls"` + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed *bool `pulumi:"committed"` + // The UTC timestamp when the action control template was created. + CreatedAt *string `pulumi:"createdAt"` + // The IAM ID of the entity that created the action control template. + CreatedById *string `pulumi:"createdById"` + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description *string `pulumi:"description"` + // The href URL that links to the action control templates API by action control template ID. + Href *string `pulumi:"href"` + // The UTC timestamp when the action control template was last modified. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // The IAM ID of the entity that last modified the action control template. + LastModifiedById *string `pulumi:"lastModifiedById"` + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name *string `pulumi:"name"` + // The action control template version. + Version *string `pulumi:"version"` +} + +type IamActionControlTemplateVersionState struct { + // Enterprise account ID where this template is created. + AccountId pulumi.StringPtrInput + // The action control template ID. + ActionControlTemplateId pulumi.StringPtrInput + // The action control properties that are created in an action resource when the template is assigned. + ActionControls IamActionControlTemplateVersionActionControlArrayInput + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed pulumi.BoolPtrInput + // The UTC timestamp when the action control template was created. + CreatedAt pulumi.StringPtrInput + // The IAM ID of the entity that created the action control template. + CreatedById pulumi.StringPtrInput + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description pulumi.StringPtrInput + // The href URL that links to the action control templates API by action control template ID. + Href pulumi.StringPtrInput + // The UTC timestamp when the action control template was last modified. + LastModifiedAt pulumi.StringPtrInput + // The IAM ID of the entity that last modified the action control template. + LastModifiedById pulumi.StringPtrInput + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name pulumi.StringPtrInput + // The action control template version. + Version pulumi.StringPtrInput +} + +func (IamActionControlTemplateVersionState) ElementType() reflect.Type { + return reflect.TypeOf((*iamActionControlTemplateVersionState)(nil)).Elem() +} + +type iamActionControlTemplateVersionArgs struct { + // The action control template ID. + ActionControlTemplateId string `pulumi:"actionControlTemplateId"` + // The action control properties that are created in an action resource when the template is assigned. + ActionControls []IamActionControlTemplateVersionActionControl `pulumi:"actionControls"` + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed *bool `pulumi:"committed"` + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description *string `pulumi:"description"` + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IamActionControlTemplateVersion resource. +type IamActionControlTemplateVersionArgs struct { + // The action control template ID. + ActionControlTemplateId pulumi.StringInput + // The action control properties that are created in an action resource when the template is assigned. + ActionControls IamActionControlTemplateVersionActionControlArrayInput + // Committed status of the template. If committed is set to true, then the template version can no longer be updated. + Committed pulumi.BoolPtrInput + // Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. + Description pulumi.StringPtrInput + // Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. + Name pulumi.StringPtrInput +} + +func (IamActionControlTemplateVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamActionControlTemplateVersionArgs)(nil)).Elem() +} + +type IamActionControlTemplateVersionInput interface { + pulumi.Input + + ToIamActionControlTemplateVersionOutput() IamActionControlTemplateVersionOutput + ToIamActionControlTemplateVersionOutputWithContext(ctx context.Context) IamActionControlTemplateVersionOutput +} + +func (*IamActionControlTemplateVersion) ElementType() reflect.Type { + return reflect.TypeOf((**IamActionControlTemplateVersion)(nil)).Elem() +} + +func (i *IamActionControlTemplateVersion) ToIamActionControlTemplateVersionOutput() IamActionControlTemplateVersionOutput { + return i.ToIamActionControlTemplateVersionOutputWithContext(context.Background()) +} + +func (i *IamActionControlTemplateVersion) ToIamActionControlTemplateVersionOutputWithContext(ctx context.Context) IamActionControlTemplateVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlTemplateVersionOutput) +} + +type IamActionControlTemplateVersionOutput struct{ *pulumi.OutputState } + +func (IamActionControlTemplateVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamActionControlTemplateVersion)(nil)).Elem() +} + +func (o IamActionControlTemplateVersionOutput) ToIamActionControlTemplateVersionOutput() IamActionControlTemplateVersionOutput { + return o +} + +func (o IamActionControlTemplateVersionOutput) ToIamActionControlTemplateVersionOutputWithContext(ctx context.Context) IamActionControlTemplateVersionOutput { + return o +} + +// Enterprise account ID where this template is created. +func (o IamActionControlTemplateVersionOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// The action control template ID. +func (o IamActionControlTemplateVersionOutput) ActionControlTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.ActionControlTemplateId }).(pulumi.StringOutput) +} + +// The action control properties that are created in an action resource when the template is assigned. +func (o IamActionControlTemplateVersionOutput) ActionControls() IamActionControlTemplateVersionActionControlArrayOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) IamActionControlTemplateVersionActionControlArrayOutput { + return v.ActionControls + }).(IamActionControlTemplateVersionActionControlArrayOutput) +} + +// Committed status of the template. If committed is set to true, then the template version can no longer be updated. +func (o IamActionControlTemplateVersionOutput) Committed() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.BoolPtrOutput { return v.Committed }).(pulumi.BoolPtrOutput) +} + +// The UTC timestamp when the action control template was created. +func (o IamActionControlTemplateVersionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The IAM ID of the entity that created the action control template. +func (o IamActionControlTemplateVersionOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// Description of the action control template. This is shown to users in the enterprise account. Use this to describe the purpose or context of the action control for enterprise users managing IAM templates. +func (o IamActionControlTemplateVersionOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// The href URL that links to the action control templates API by action control template ID. +func (o IamActionControlTemplateVersionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The UTC timestamp when the action control template was last modified. +func (o IamActionControlTemplateVersionOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The IAM ID of the entity that last modified the action control template. +func (o IamActionControlTemplateVersionOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// Required field when creating a new template. Otherwise, this field is optional. If the field is included, it changes the name value for all existing versions of the template. +func (o IamActionControlTemplateVersionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The action control template version. +func (o IamActionControlTemplateVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamActionControlTemplateVersion) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlTemplateVersionInput)(nil)).Elem(), &IamActionControlTemplateVersion{}) + pulumi.RegisterOutputType(IamActionControlTemplateVersionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamApiKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamApiKey.go new file mode 100644 index 000000000..04cd05922 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamApiKey.go @@ -0,0 +1,301 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamApiKey struct { + pulumi.CustomResourceState + + // The account ID of the API key. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // You can optionally passthrough the API key value for this API key. If passed, NO validation of that apiKey value is done, i.e. the value can be non-URL safe. If omitted, the API key management will create an URL safe opaque API key value. The value of the API key is checked for uniqueness. Please ensure enough variations when passing in this value. + Apikey pulumi.StringOutput `pulumi:"apikey"` + // Unique identifier of this API Key. + ApikeyId pulumi.StringOutput `pulumi:"apikeyId"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // IAM ID of the user or service which created the API key. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::apikey:1234-9012-5678'. + Crn pulumi.StringOutput `pulumi:"crn"` + // The optional description of the API key. The 'description' property is only available if a description was provided during a create of an API key. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Indicates if the API key is locked for further write operations. False by default. + EntityLock pulumi.StringPtrOutput `pulumi:"entityLock"` + // Version of the API Key details object. You need to specify this value when updating the API key to avoid stale updates. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // File where api key is to be stored + File pulumi.StringPtrOutput `pulumi:"file"` + // The iamId that this API key authenticates. + IamId pulumi.StringOutput `pulumi:"iamId"` + // The API key cannot be changed if set to true. + Locked pulumi.BoolOutput `pulumi:"locked"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // Name of the API key. The name is not checked for uniqueness. Therefore multiple names with the same value can exist. Access is done via the UUID of the API key. + Name pulumi.StringOutput `pulumi:"name"` + // Send true or false to set whether the API key value is retrievable in the future by using the Get details of an API key request. If you create an API key for a user, you must specify `false` or omit the value. We don't allow storing of API keys for users. + StoreValue pulumi.BoolPtrOutput `pulumi:"storeValue"` +} + +// NewIamApiKey registers a new resource with the given unique name, arguments, and options. +func NewIamApiKey(ctx *pulumi.Context, + name string, args *IamApiKeyArgs, opts ...pulumi.ResourceOption) (*IamApiKey, error) { + if args == nil { + args = &IamApiKeyArgs{} + } + + if args.Apikey != nil { + args.Apikey = pulumi.ToSecret(args.Apikey).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "apikey", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamApiKey + err := ctx.RegisterResource("ibmcloud:index/iamApiKey:IamApiKey", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamApiKey gets an existing IamApiKey resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamApiKey(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamApiKeyState, opts ...pulumi.ResourceOption) (*IamApiKey, error) { + var resource IamApiKey + err := ctx.ReadResource("ibmcloud:index/iamApiKey:IamApiKey", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamApiKey resources. +type iamApiKeyState struct { + // The account ID of the API key. + AccountId *string `pulumi:"accountId"` + // You can optionally passthrough the API key value for this API key. If passed, NO validation of that apiKey value is done, i.e. the value can be non-URL safe. If omitted, the API key management will create an URL safe opaque API key value. The value of the API key is checked for uniqueness. Please ensure enough variations when passing in this value. + Apikey *string `pulumi:"apikey"` + // Unique identifier of this API Key. + ApikeyId *string `pulumi:"apikeyId"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt *string `pulumi:"createdAt"` + // IAM ID of the user or service which created the API key. + CreatedBy *string `pulumi:"createdBy"` + // Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::apikey:1234-9012-5678'. + Crn *string `pulumi:"crn"` + // The optional description of the API key. The 'description' property is only available if a description was provided during a create of an API key. + Description *string `pulumi:"description"` + // Indicates if the API key is locked for further write operations. False by default. + EntityLock *string `pulumi:"entityLock"` + // Version of the API Key details object. You need to specify this value when updating the API key to avoid stale updates. + EntityTag *string `pulumi:"entityTag"` + // File where api key is to be stored + File *string `pulumi:"file"` + // The iamId that this API key authenticates. + IamId *string `pulumi:"iamId"` + // The API key cannot be changed if set to true. + Locked *bool `pulumi:"locked"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt *string `pulumi:"modifiedAt"` + // Name of the API key. The name is not checked for uniqueness. Therefore multiple names with the same value can exist. Access is done via the UUID of the API key. + Name *string `pulumi:"name"` + // Send true or false to set whether the API key value is retrievable in the future by using the Get details of an API key request. If you create an API key for a user, you must specify `false` or omit the value. We don't allow storing of API keys for users. + StoreValue *bool `pulumi:"storeValue"` +} + +type IamApiKeyState struct { + // The account ID of the API key. + AccountId pulumi.StringPtrInput + // You can optionally passthrough the API key value for this API key. If passed, NO validation of that apiKey value is done, i.e. the value can be non-URL safe. If omitted, the API key management will create an URL safe opaque API key value. The value of the API key is checked for uniqueness. Please ensure enough variations when passing in this value. + Apikey pulumi.StringPtrInput + // Unique identifier of this API Key. + ApikeyId pulumi.StringPtrInput + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringPtrInput + // IAM ID of the user or service which created the API key. + CreatedBy pulumi.StringPtrInput + // Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::apikey:1234-9012-5678'. + Crn pulumi.StringPtrInput + // The optional description of the API key. The 'description' property is only available if a description was provided during a create of an API key. + Description pulumi.StringPtrInput + // Indicates if the API key is locked for further write operations. False by default. + EntityLock pulumi.StringPtrInput + // Version of the API Key details object. You need to specify this value when updating the API key to avoid stale updates. + EntityTag pulumi.StringPtrInput + // File where api key is to be stored + File pulumi.StringPtrInput + // The iamId that this API key authenticates. + IamId pulumi.StringPtrInput + // The API key cannot be changed if set to true. + Locked pulumi.BoolPtrInput + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringPtrInput + // Name of the API key. The name is not checked for uniqueness. Therefore multiple names with the same value can exist. Access is done via the UUID of the API key. + Name pulumi.StringPtrInput + // Send true or false to set whether the API key value is retrievable in the future by using the Get details of an API key request. If you create an API key for a user, you must specify `false` or omit the value. We don't allow storing of API keys for users. + StoreValue pulumi.BoolPtrInput +} + +func (IamApiKeyState) ElementType() reflect.Type { + return reflect.TypeOf((*iamApiKeyState)(nil)).Elem() +} + +type iamApiKeyArgs struct { + // You can optionally passthrough the API key value for this API key. If passed, NO validation of that apiKey value is done, i.e. the value can be non-URL safe. If omitted, the API key management will create an URL safe opaque API key value. The value of the API key is checked for uniqueness. Please ensure enough variations when passing in this value. + Apikey *string `pulumi:"apikey"` + // The optional description of the API key. The 'description' property is only available if a description was provided during a create of an API key. + Description *string `pulumi:"description"` + // Indicates if the API key is locked for further write operations. False by default. + EntityLock *string `pulumi:"entityLock"` + // File where api key is to be stored + File *string `pulumi:"file"` + // Name of the API key. The name is not checked for uniqueness. Therefore multiple names with the same value can exist. Access is done via the UUID of the API key. + Name *string `pulumi:"name"` + // Send true or false to set whether the API key value is retrievable in the future by using the Get details of an API key request. If you create an API key for a user, you must specify `false` or omit the value. We don't allow storing of API keys for users. + StoreValue *bool `pulumi:"storeValue"` +} + +// The set of arguments for constructing a IamApiKey resource. +type IamApiKeyArgs struct { + // You can optionally passthrough the API key value for this API key. If passed, NO validation of that apiKey value is done, i.e. the value can be non-URL safe. If omitted, the API key management will create an URL safe opaque API key value. The value of the API key is checked for uniqueness. Please ensure enough variations when passing in this value. + Apikey pulumi.StringPtrInput + // The optional description of the API key. The 'description' property is only available if a description was provided during a create of an API key. + Description pulumi.StringPtrInput + // Indicates if the API key is locked for further write operations. False by default. + EntityLock pulumi.StringPtrInput + // File where api key is to be stored + File pulumi.StringPtrInput + // Name of the API key. The name is not checked for uniqueness. Therefore multiple names with the same value can exist. Access is done via the UUID of the API key. + Name pulumi.StringPtrInput + // Send true or false to set whether the API key value is retrievable in the future by using the Get details of an API key request. If you create an API key for a user, you must specify `false` or omit the value. We don't allow storing of API keys for users. + StoreValue pulumi.BoolPtrInput +} + +func (IamApiKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamApiKeyArgs)(nil)).Elem() +} + +type IamApiKeyInput interface { + pulumi.Input + + ToIamApiKeyOutput() IamApiKeyOutput + ToIamApiKeyOutputWithContext(ctx context.Context) IamApiKeyOutput +} + +func (*IamApiKey) ElementType() reflect.Type { + return reflect.TypeOf((**IamApiKey)(nil)).Elem() +} + +func (i *IamApiKey) ToIamApiKeyOutput() IamApiKeyOutput { + return i.ToIamApiKeyOutputWithContext(context.Background()) +} + +func (i *IamApiKey) ToIamApiKeyOutputWithContext(ctx context.Context) IamApiKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamApiKeyOutput) +} + +type IamApiKeyOutput struct{ *pulumi.OutputState } + +func (IamApiKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamApiKey)(nil)).Elem() +} + +func (o IamApiKeyOutput) ToIamApiKeyOutput() IamApiKeyOutput { + return o +} + +func (o IamApiKeyOutput) ToIamApiKeyOutputWithContext(ctx context.Context) IamApiKeyOutput { + return o +} + +// The account ID of the API key. +func (o IamApiKeyOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// You can optionally passthrough the API key value for this API key. If passed, NO validation of that apiKey value is done, i.e. the value can be non-URL safe. If omitted, the API key management will create an URL safe opaque API key value. The value of the API key is checked for uniqueness. Please ensure enough variations when passing in this value. +func (o IamApiKeyOutput) Apikey() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.Apikey }).(pulumi.StringOutput) +} + +// Unique identifier of this API Key. +func (o IamApiKeyOutput) ApikeyId() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.ApikeyId }).(pulumi.StringOutput) +} + +// If set contains a date time string of the creation date in ISO format. +func (o IamApiKeyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// IAM ID of the user or service which created the API key. +func (o IamApiKeyOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::apikey:1234-9012-5678'. +func (o IamApiKeyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The optional description of the API key. The 'description' property is only available if a description was provided during a create of an API key. +func (o IamApiKeyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Indicates if the API key is locked for further write operations. False by default. +func (o IamApiKeyOutput) EntityLock() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringPtrOutput { return v.EntityLock }).(pulumi.StringPtrOutput) +} + +// Version of the API Key details object. You need to specify this value when updating the API key to avoid stale updates. +func (o IamApiKeyOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// File where api key is to be stored +func (o IamApiKeyOutput) File() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringPtrOutput { return v.File }).(pulumi.StringPtrOutput) +} + +// The iamId that this API key authenticates. +func (o IamApiKeyOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.IamId }).(pulumi.StringOutput) +} + +// The API key cannot be changed if set to true. +func (o IamApiKeyOutput) Locked() pulumi.BoolOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.BoolOutput { return v.Locked }).(pulumi.BoolOutput) +} + +// If set contains a date time string of the last modification date in ISO format. +func (o IamApiKeyOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// Name of the API key. The name is not checked for uniqueness. Therefore multiple names with the same value can exist. Access is done via the UUID of the API key. +func (o IamApiKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Send true or false to set whether the API key value is retrievable in the future by using the Get details of an API key request. If you create an API key for a user, you must specify `false` or omit the value. We don't allow storing of API keys for users. +func (o IamApiKeyOutput) StoreValue() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamApiKey) pulumi.BoolPtrOutput { return v.StoreValue }).(pulumi.BoolPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamApiKeyInput)(nil)).Elem(), &IamApiKey{}) + pulumi.RegisterOutputType(IamApiKeyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAuthorizationPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAuthorizationPolicy.go new file mode 100644 index 000000000..0a10cf67e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAuthorizationPolicy.go @@ -0,0 +1,330 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAuthorizationPolicy struct { + pulumi.CustomResourceState + + // Description of the Policy + Description pulumi.StringPtrOutput `pulumi:"description"` + // Set resource attributes. + ResourceAttributes IamAuthorizationPolicyResourceAttributeArrayOutput `pulumi:"resourceAttributes"` + // Role names of the policy definition + Roles pulumi.StringArrayOutput `pulumi:"roles"` + // The source resource group Id + SourceResourceGroupId pulumi.StringOutput `pulumi:"sourceResourceGroupId"` + // The source resource instance Id + SourceResourceInstanceId pulumi.StringOutput `pulumi:"sourceResourceInstanceId"` + // Resource type of source service + SourceResourceType pulumi.StringOutput `pulumi:"sourceResourceType"` + // Account GUID of source service + SourceServiceAccount pulumi.StringOutput `pulumi:"sourceServiceAccount"` + // The source service name + SourceServiceName pulumi.StringOutput `pulumi:"sourceServiceName"` + // Set subject attributes. + SubjectAttributes IamAuthorizationPolicySubjectAttributeArrayOutput `pulumi:"subjectAttributes"` + // The target resource group Id + TargetResourceGroupId pulumi.StringOutput `pulumi:"targetResourceGroupId"` + // The target resource instance Id + TargetResourceInstanceId pulumi.StringOutput `pulumi:"targetResourceInstanceId"` + // Resource type of target service + TargetResourceType pulumi.StringOutput `pulumi:"targetResourceType"` + // The target service name + TargetServiceName pulumi.StringOutput `pulumi:"targetServiceName"` + // Set transactionID for debug + TransactionId pulumi.StringOutput `pulumi:"transactionId"` + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamAuthorizationPolicy registers a new resource with the given unique name, arguments, and options. +func NewIamAuthorizationPolicy(ctx *pulumi.Context, + name string, args *IamAuthorizationPolicyArgs, opts ...pulumi.ResourceOption) (*IamAuthorizationPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Roles == nil { + return nil, errors.New("invalid value for required argument 'Roles'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAuthorizationPolicy + err := ctx.RegisterResource("ibmcloud:index/iamAuthorizationPolicy:IamAuthorizationPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAuthorizationPolicy gets an existing IamAuthorizationPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAuthorizationPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAuthorizationPolicyState, opts ...pulumi.ResourceOption) (*IamAuthorizationPolicy, error) { + var resource IamAuthorizationPolicy + err := ctx.ReadResource("ibmcloud:index/iamAuthorizationPolicy:IamAuthorizationPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAuthorizationPolicy resources. +type iamAuthorizationPolicyState struct { + // Description of the Policy + Description *string `pulumi:"description"` + // Set resource attributes. + ResourceAttributes []IamAuthorizationPolicyResourceAttribute `pulumi:"resourceAttributes"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // The source resource group Id + SourceResourceGroupId *string `pulumi:"sourceResourceGroupId"` + // The source resource instance Id + SourceResourceInstanceId *string `pulumi:"sourceResourceInstanceId"` + // Resource type of source service + SourceResourceType *string `pulumi:"sourceResourceType"` + // Account GUID of source service + SourceServiceAccount *string `pulumi:"sourceServiceAccount"` + // The source service name + SourceServiceName *string `pulumi:"sourceServiceName"` + // Set subject attributes. + SubjectAttributes []IamAuthorizationPolicySubjectAttribute `pulumi:"subjectAttributes"` + // The target resource group Id + TargetResourceGroupId *string `pulumi:"targetResourceGroupId"` + // The target resource instance Id + TargetResourceInstanceId *string `pulumi:"targetResourceInstanceId"` + // Resource type of target service + TargetResourceType *string `pulumi:"targetResourceType"` + // The target service name + TargetServiceName *string `pulumi:"targetServiceName"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` + Version *string `pulumi:"version"` +} + +type IamAuthorizationPolicyState struct { + // Description of the Policy + Description pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamAuthorizationPolicyResourceAttributeArrayInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // The source resource group Id + SourceResourceGroupId pulumi.StringPtrInput + // The source resource instance Id + SourceResourceInstanceId pulumi.StringPtrInput + // Resource type of source service + SourceResourceType pulumi.StringPtrInput + // Account GUID of source service + SourceServiceAccount pulumi.StringPtrInput + // The source service name + SourceServiceName pulumi.StringPtrInput + // Set subject attributes. + SubjectAttributes IamAuthorizationPolicySubjectAttributeArrayInput + // The target resource group Id + TargetResourceGroupId pulumi.StringPtrInput + // The target resource instance Id + TargetResourceInstanceId pulumi.StringPtrInput + // Resource type of target service + TargetResourceType pulumi.StringPtrInput + // The target service name + TargetServiceName pulumi.StringPtrInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput + Version pulumi.StringPtrInput +} + +func (IamAuthorizationPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAuthorizationPolicyState)(nil)).Elem() +} + +type iamAuthorizationPolicyArgs struct { + // Description of the Policy + Description *string `pulumi:"description"` + // Set resource attributes. + ResourceAttributes []IamAuthorizationPolicyResourceAttribute `pulumi:"resourceAttributes"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // The source resource group Id + SourceResourceGroupId *string `pulumi:"sourceResourceGroupId"` + // The source resource instance Id + SourceResourceInstanceId *string `pulumi:"sourceResourceInstanceId"` + // Resource type of source service + SourceResourceType *string `pulumi:"sourceResourceType"` + // Account GUID of source service + SourceServiceAccount *string `pulumi:"sourceServiceAccount"` + // The source service name + SourceServiceName *string `pulumi:"sourceServiceName"` + // Set subject attributes. + SubjectAttributes []IamAuthorizationPolicySubjectAttribute `pulumi:"subjectAttributes"` + // The target resource group Id + TargetResourceGroupId *string `pulumi:"targetResourceGroupId"` + // The target resource instance Id + TargetResourceInstanceId *string `pulumi:"targetResourceInstanceId"` + // Resource type of target service + TargetResourceType *string `pulumi:"targetResourceType"` + // The target service name + TargetServiceName *string `pulumi:"targetServiceName"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` +} + +// The set of arguments for constructing a IamAuthorizationPolicy resource. +type IamAuthorizationPolicyArgs struct { + // Description of the Policy + Description pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamAuthorizationPolicyResourceAttributeArrayInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // The source resource group Id + SourceResourceGroupId pulumi.StringPtrInput + // The source resource instance Id + SourceResourceInstanceId pulumi.StringPtrInput + // Resource type of source service + SourceResourceType pulumi.StringPtrInput + // Account GUID of source service + SourceServiceAccount pulumi.StringPtrInput + // The source service name + SourceServiceName pulumi.StringPtrInput + // Set subject attributes. + SubjectAttributes IamAuthorizationPolicySubjectAttributeArrayInput + // The target resource group Id + TargetResourceGroupId pulumi.StringPtrInput + // The target resource instance Id + TargetResourceInstanceId pulumi.StringPtrInput + // Resource type of target service + TargetResourceType pulumi.StringPtrInput + // The target service name + TargetServiceName pulumi.StringPtrInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput +} + +func (IamAuthorizationPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAuthorizationPolicyArgs)(nil)).Elem() +} + +type IamAuthorizationPolicyInput interface { + pulumi.Input + + ToIamAuthorizationPolicyOutput() IamAuthorizationPolicyOutput + ToIamAuthorizationPolicyOutputWithContext(ctx context.Context) IamAuthorizationPolicyOutput +} + +func (*IamAuthorizationPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IamAuthorizationPolicy)(nil)).Elem() +} + +func (i *IamAuthorizationPolicy) ToIamAuthorizationPolicyOutput() IamAuthorizationPolicyOutput { + return i.ToIamAuthorizationPolicyOutputWithContext(context.Background()) +} + +func (i *IamAuthorizationPolicy) ToIamAuthorizationPolicyOutputWithContext(ctx context.Context) IamAuthorizationPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAuthorizationPolicyOutput) +} + +type IamAuthorizationPolicyOutput struct{ *pulumi.OutputState } + +func (IamAuthorizationPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAuthorizationPolicy)(nil)).Elem() +} + +func (o IamAuthorizationPolicyOutput) ToIamAuthorizationPolicyOutput() IamAuthorizationPolicyOutput { + return o +} + +func (o IamAuthorizationPolicyOutput) ToIamAuthorizationPolicyOutputWithContext(ctx context.Context) IamAuthorizationPolicyOutput { + return o +} + +// Description of the Policy +func (o IamAuthorizationPolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Set resource attributes. +func (o IamAuthorizationPolicyOutput) ResourceAttributes() IamAuthorizationPolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) IamAuthorizationPolicyResourceAttributeArrayOutput { + return v.ResourceAttributes + }).(IamAuthorizationPolicyResourceAttributeArrayOutput) +} + +// Role names of the policy definition +func (o IamAuthorizationPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) +} + +// The source resource group Id +func (o IamAuthorizationPolicyOutput) SourceResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.SourceResourceGroupId }).(pulumi.StringOutput) +} + +// The source resource instance Id +func (o IamAuthorizationPolicyOutput) SourceResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.SourceResourceInstanceId }).(pulumi.StringOutput) +} + +// Resource type of source service +func (o IamAuthorizationPolicyOutput) SourceResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.SourceResourceType }).(pulumi.StringOutput) +} + +// Account GUID of source service +func (o IamAuthorizationPolicyOutput) SourceServiceAccount() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.SourceServiceAccount }).(pulumi.StringOutput) +} + +// The source service name +func (o IamAuthorizationPolicyOutput) SourceServiceName() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.SourceServiceName }).(pulumi.StringOutput) +} + +// Set subject attributes. +func (o IamAuthorizationPolicyOutput) SubjectAttributes() IamAuthorizationPolicySubjectAttributeArrayOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) IamAuthorizationPolicySubjectAttributeArrayOutput { + return v.SubjectAttributes + }).(IamAuthorizationPolicySubjectAttributeArrayOutput) +} + +// The target resource group Id +func (o IamAuthorizationPolicyOutput) TargetResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.TargetResourceGroupId }).(pulumi.StringOutput) +} + +// The target resource instance Id +func (o IamAuthorizationPolicyOutput) TargetResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.TargetResourceInstanceId }).(pulumi.StringOutput) +} + +// Resource type of target service +func (o IamAuthorizationPolicyOutput) TargetResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.TargetResourceType }).(pulumi.StringOutput) +} + +// The target service name +func (o IamAuthorizationPolicyOutput) TargetServiceName() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.TargetServiceName }).(pulumi.StringOutput) +} + +// Set transactionID for debug +func (o IamAuthorizationPolicyOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.TransactionId }).(pulumi.StringOutput) +} + +func (o IamAuthorizationPolicyOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicy) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAuthorizationPolicyInput)(nil)).Elem(), &IamAuthorizationPolicy{}) + pulumi.RegisterOutputType(IamAuthorizationPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAuthorizationPolicyDetach.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAuthorizationPolicyDetach.go new file mode 100644 index 000000000..7dccdd244 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamAuthorizationPolicyDetach.go @@ -0,0 +1,124 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamAuthorizationPolicyDetach struct { + pulumi.CustomResourceState + + // Authorization policy ID + AuthorizationPolicyId pulumi.StringOutput `pulumi:"authorizationPolicyId"` +} + +// NewIamAuthorizationPolicyDetach registers a new resource with the given unique name, arguments, and options. +func NewIamAuthorizationPolicyDetach(ctx *pulumi.Context, + name string, args *IamAuthorizationPolicyDetachArgs, opts ...pulumi.ResourceOption) (*IamAuthorizationPolicyDetach, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AuthorizationPolicyId == nil { + return nil, errors.New("invalid value for required argument 'AuthorizationPolicyId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamAuthorizationPolicyDetach + err := ctx.RegisterResource("ibmcloud:index/iamAuthorizationPolicyDetach:IamAuthorizationPolicyDetach", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamAuthorizationPolicyDetach gets an existing IamAuthorizationPolicyDetach resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamAuthorizationPolicyDetach(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamAuthorizationPolicyDetachState, opts ...pulumi.ResourceOption) (*IamAuthorizationPolicyDetach, error) { + var resource IamAuthorizationPolicyDetach + err := ctx.ReadResource("ibmcloud:index/iamAuthorizationPolicyDetach:IamAuthorizationPolicyDetach", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamAuthorizationPolicyDetach resources. +type iamAuthorizationPolicyDetachState struct { + // Authorization policy ID + AuthorizationPolicyId *string `pulumi:"authorizationPolicyId"` +} + +type IamAuthorizationPolicyDetachState struct { + // Authorization policy ID + AuthorizationPolicyId pulumi.StringPtrInput +} + +func (IamAuthorizationPolicyDetachState) ElementType() reflect.Type { + return reflect.TypeOf((*iamAuthorizationPolicyDetachState)(nil)).Elem() +} + +type iamAuthorizationPolicyDetachArgs struct { + // Authorization policy ID + AuthorizationPolicyId string `pulumi:"authorizationPolicyId"` +} + +// The set of arguments for constructing a IamAuthorizationPolicyDetach resource. +type IamAuthorizationPolicyDetachArgs struct { + // Authorization policy ID + AuthorizationPolicyId pulumi.StringInput +} + +func (IamAuthorizationPolicyDetachArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamAuthorizationPolicyDetachArgs)(nil)).Elem() +} + +type IamAuthorizationPolicyDetachInput interface { + pulumi.Input + + ToIamAuthorizationPolicyDetachOutput() IamAuthorizationPolicyDetachOutput + ToIamAuthorizationPolicyDetachOutputWithContext(ctx context.Context) IamAuthorizationPolicyDetachOutput +} + +func (*IamAuthorizationPolicyDetach) ElementType() reflect.Type { + return reflect.TypeOf((**IamAuthorizationPolicyDetach)(nil)).Elem() +} + +func (i *IamAuthorizationPolicyDetach) ToIamAuthorizationPolicyDetachOutput() IamAuthorizationPolicyDetachOutput { + return i.ToIamAuthorizationPolicyDetachOutputWithContext(context.Background()) +} + +func (i *IamAuthorizationPolicyDetach) ToIamAuthorizationPolicyDetachOutputWithContext(ctx context.Context) IamAuthorizationPolicyDetachOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAuthorizationPolicyDetachOutput) +} + +type IamAuthorizationPolicyDetachOutput struct{ *pulumi.OutputState } + +func (IamAuthorizationPolicyDetachOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAuthorizationPolicyDetach)(nil)).Elem() +} + +func (o IamAuthorizationPolicyDetachOutput) ToIamAuthorizationPolicyDetachOutput() IamAuthorizationPolicyDetachOutput { + return o +} + +func (o IamAuthorizationPolicyDetachOutput) ToIamAuthorizationPolicyDetachOutputWithContext(ctx context.Context) IamAuthorizationPolicyDetachOutput { + return o +} + +// Authorization policy ID +func (o IamAuthorizationPolicyDetachOutput) AuthorizationPolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *IamAuthorizationPolicyDetach) pulumi.StringOutput { return v.AuthorizationPolicyId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamAuthorizationPolicyDetachInput)(nil)).Elem(), &IamAuthorizationPolicyDetach{}) + pulumi.RegisterOutputType(IamAuthorizationPolicyDetachOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamCustomRole.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamCustomRole.go new file mode 100644 index 000000000..fac1fd42a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamCustomRole.go @@ -0,0 +1,234 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamCustomRole struct { + pulumi.CustomResourceState + + // The actions of the role + Actions pulumi.StringArrayOutput `pulumi:"actions"` + // crn of the Custom Role + Crn pulumi.StringOutput `pulumi:"crn"` + // The description of the role + Description pulumi.StringPtrOutput `pulumi:"description"` + // Display Name of the Custom Role + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // The name of the custom Role + Name pulumi.StringOutput `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about the resource + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The Service Name + Service pulumi.StringOutput `pulumi:"service"` +} + +// NewIamCustomRole registers a new resource with the given unique name, arguments, and options. +func NewIamCustomRole(ctx *pulumi.Context, + name string, args *IamCustomRoleArgs, opts ...pulumi.ResourceOption) (*IamCustomRole, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Actions == nil { + return nil, errors.New("invalid value for required argument 'Actions'") + } + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.Service == nil { + return nil, errors.New("invalid value for required argument 'Service'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamCustomRole + err := ctx.RegisterResource("ibmcloud:index/iamCustomRole:IamCustomRole", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamCustomRole gets an existing IamCustomRole resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamCustomRole(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamCustomRoleState, opts ...pulumi.ResourceOption) (*IamCustomRole, error) { + var resource IamCustomRole + err := ctx.ReadResource("ibmcloud:index/iamCustomRole:IamCustomRole", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamCustomRole resources. +type iamCustomRoleState struct { + // The actions of the role + Actions []string `pulumi:"actions"` + // crn of the Custom Role + Crn *string `pulumi:"crn"` + // The description of the role + Description *string `pulumi:"description"` + // Display Name of the Custom Role + DisplayName *string `pulumi:"displayName"` + // The name of the custom Role + Name *string `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about the resource + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The Service Name + Service *string `pulumi:"service"` +} + +type IamCustomRoleState struct { + // The actions of the role + Actions pulumi.StringArrayInput + // crn of the Custom Role + Crn pulumi.StringPtrInput + // The description of the role + Description pulumi.StringPtrInput + // Display Name of the Custom Role + DisplayName pulumi.StringPtrInput + // The name of the custom Role + Name pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about the resource + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The Service Name + Service pulumi.StringPtrInput +} + +func (IamCustomRoleState) ElementType() reflect.Type { + return reflect.TypeOf((*iamCustomRoleState)(nil)).Elem() +} + +type iamCustomRoleArgs struct { + // The actions of the role + Actions []string `pulumi:"actions"` + // The description of the role + Description *string `pulumi:"description"` + // Display Name of the Custom Role + DisplayName string `pulumi:"displayName"` + // The name of the custom Role + Name *string `pulumi:"name"` + // The Service Name + Service string `pulumi:"service"` +} + +// The set of arguments for constructing a IamCustomRole resource. +type IamCustomRoleArgs struct { + // The actions of the role + Actions pulumi.StringArrayInput + // The description of the role + Description pulumi.StringPtrInput + // Display Name of the Custom Role + DisplayName pulumi.StringInput + // The name of the custom Role + Name pulumi.StringPtrInput + // The Service Name + Service pulumi.StringInput +} + +func (IamCustomRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamCustomRoleArgs)(nil)).Elem() +} + +type IamCustomRoleInput interface { + pulumi.Input + + ToIamCustomRoleOutput() IamCustomRoleOutput + ToIamCustomRoleOutputWithContext(ctx context.Context) IamCustomRoleOutput +} + +func (*IamCustomRole) ElementType() reflect.Type { + return reflect.TypeOf((**IamCustomRole)(nil)).Elem() +} + +func (i *IamCustomRole) ToIamCustomRoleOutput() IamCustomRoleOutput { + return i.ToIamCustomRoleOutputWithContext(context.Background()) +} + +func (i *IamCustomRole) ToIamCustomRoleOutputWithContext(ctx context.Context) IamCustomRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamCustomRoleOutput) +} + +type IamCustomRoleOutput struct{ *pulumi.OutputState } + +func (IamCustomRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamCustomRole)(nil)).Elem() +} + +func (o IamCustomRoleOutput) ToIamCustomRoleOutput() IamCustomRoleOutput { + return o +} + +func (o IamCustomRoleOutput) ToIamCustomRoleOutputWithContext(ctx context.Context) IamCustomRoleOutput { + return o +} + +// The actions of the role +func (o IamCustomRoleOutput) Actions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringArrayOutput { return v.Actions }).(pulumi.StringArrayOutput) +} + +// crn of the Custom Role +func (o IamCustomRoleOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The description of the role +func (o IamCustomRoleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Display Name of the Custom Role +func (o IamCustomRoleOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The name of the custom Role +func (o IamCustomRoleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about the resource +func (o IamCustomRoleOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IamCustomRoleOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IamCustomRoleOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The Service Name +func (o IamCustomRoleOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v *IamCustomRole) pulumi.StringOutput { return v.Service }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamCustomRoleInput)(nil)).Elem(), &IamCustomRole{}) + pulumi.RegisterOutputType(IamCustomRoleOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyAssignment.go new file mode 100644 index 000000000..1e1569be9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyAssignment.go @@ -0,0 +1,289 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamPolicyAssignment struct { + pulumi.CustomResourceState + + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage pulumi.StringPtrOutput `pulumi:"acceptLanguage"` + // The account GUID that the policies assignments belong to.. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // The UTC timestamp when the policy assignment was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The iam ID of the entity that created the policy assignment. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // The href URL that links to the policies assignments API by policy assignment ID. + Href pulumi.StringOutput `pulumi:"href"` + // The UTC timestamp when the policy assignment was last modified. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // The iam ID of the entity that last modified the policy assignment. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // Object for each account assigned. + Resources IamPolicyAssignmentResourceArrayOutput `pulumi:"resources"` + // The policy assignment status. + Status pulumi.StringOutput `pulumi:"status"` + // assignment target details + Target pulumi.StringMapOutput `pulumi:"target"` + // policy template details + Template pulumi.StringMapOutput `pulumi:"template"` + // The policy template version. + TemplateVersion pulumi.StringOutput `pulumi:"templateVersion"` + // policy template details. + Templates IamPolicyAssignmentTemplatesOutput `pulumi:"templates"` + // specify version of response body format. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamPolicyAssignment registers a new resource with the given unique name, arguments, and options. +func NewIamPolicyAssignment(ctx *pulumi.Context, + name string, args *IamPolicyAssignmentArgs, opts ...pulumi.ResourceOption) (*IamPolicyAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Target == nil { + return nil, errors.New("invalid value for required argument 'Target'") + } + if args.Templates == nil { + return nil, errors.New("invalid value for required argument 'Templates'") + } + if args.Version == nil { + return nil, errors.New("invalid value for required argument 'Version'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamPolicyAssignment + err := ctx.RegisterResource("ibmcloud:index/iamPolicyAssignment:IamPolicyAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamPolicyAssignment gets an existing IamPolicyAssignment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamPolicyAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamPolicyAssignmentState, opts ...pulumi.ResourceOption) (*IamPolicyAssignment, error) { + var resource IamPolicyAssignment + err := ctx.ReadResource("ibmcloud:index/iamPolicyAssignment:IamPolicyAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamPolicyAssignment resources. +type iamPolicyAssignmentState struct { + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage *string `pulumi:"acceptLanguage"` + // The account GUID that the policies assignments belong to.. + AccountId *string `pulumi:"accountId"` + // The UTC timestamp when the policy assignment was created. + CreatedAt *string `pulumi:"createdAt"` + // The iam ID of the entity that created the policy assignment. + CreatedById *string `pulumi:"createdById"` + // The href URL that links to the policies assignments API by policy assignment ID. + Href *string `pulumi:"href"` + // The UTC timestamp when the policy assignment was last modified. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // The iam ID of the entity that last modified the policy assignment. + LastModifiedById *string `pulumi:"lastModifiedById"` + // Object for each account assigned. + Resources []IamPolicyAssignmentResource `pulumi:"resources"` + // The policy assignment status. + Status *string `pulumi:"status"` + // assignment target details + Target map[string]string `pulumi:"target"` + // policy template details + Template map[string]string `pulumi:"template"` + // The policy template version. + TemplateVersion *string `pulumi:"templateVersion"` + // policy template details. + Templates *IamPolicyAssignmentTemplates `pulumi:"templates"` + // specify version of response body format. + Version *string `pulumi:"version"` +} + +type IamPolicyAssignmentState struct { + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage pulumi.StringPtrInput + // The account GUID that the policies assignments belong to.. + AccountId pulumi.StringPtrInput + // The UTC timestamp when the policy assignment was created. + CreatedAt pulumi.StringPtrInput + // The iam ID of the entity that created the policy assignment. + CreatedById pulumi.StringPtrInput + // The href URL that links to the policies assignments API by policy assignment ID. + Href pulumi.StringPtrInput + // The UTC timestamp when the policy assignment was last modified. + LastModifiedAt pulumi.StringPtrInput + // The iam ID of the entity that last modified the policy assignment. + LastModifiedById pulumi.StringPtrInput + // Object for each account assigned. + Resources IamPolicyAssignmentResourceArrayInput + // The policy assignment status. + Status pulumi.StringPtrInput + // assignment target details + Target pulumi.StringMapInput + // policy template details + Template pulumi.StringMapInput + // The policy template version. + TemplateVersion pulumi.StringPtrInput + // policy template details. + Templates IamPolicyAssignmentTemplatesPtrInput + // specify version of response body format. + Version pulumi.StringPtrInput +} + +func (IamPolicyAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*iamPolicyAssignmentState)(nil)).Elem() +} + +type iamPolicyAssignmentArgs struct { + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage *string `pulumi:"acceptLanguage"` + // assignment target details + Target map[string]string `pulumi:"target"` + // The policy template version. + TemplateVersion *string `pulumi:"templateVersion"` + // policy template details. + Templates IamPolicyAssignmentTemplates `pulumi:"templates"` + // specify version of response body format. + Version string `pulumi:"version"` +} + +// The set of arguments for constructing a IamPolicyAssignment resource. +type IamPolicyAssignmentArgs struct { + // Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). + AcceptLanguage pulumi.StringPtrInput + // assignment target details + Target pulumi.StringMapInput + // The policy template version. + TemplateVersion pulumi.StringPtrInput + // policy template details. + Templates IamPolicyAssignmentTemplatesInput + // specify version of response body format. + Version pulumi.StringInput +} + +func (IamPolicyAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamPolicyAssignmentArgs)(nil)).Elem() +} + +type IamPolicyAssignmentInput interface { + pulumi.Input + + ToIamPolicyAssignmentOutput() IamPolicyAssignmentOutput + ToIamPolicyAssignmentOutputWithContext(ctx context.Context) IamPolicyAssignmentOutput +} + +func (*IamPolicyAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyAssignment)(nil)).Elem() +} + +func (i *IamPolicyAssignment) ToIamPolicyAssignmentOutput() IamPolicyAssignmentOutput { + return i.ToIamPolicyAssignmentOutputWithContext(context.Background()) +} + +func (i *IamPolicyAssignment) ToIamPolicyAssignmentOutputWithContext(ctx context.Context) IamPolicyAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentOutput) +} + +type IamPolicyAssignmentOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyAssignment)(nil)).Elem() +} + +func (o IamPolicyAssignmentOutput) ToIamPolicyAssignmentOutput() IamPolicyAssignmentOutput { + return o +} + +func (o IamPolicyAssignmentOutput) ToIamPolicyAssignmentOutputWithContext(ctx context.Context) IamPolicyAssignmentOutput { + return o +} + +// Language code for translations* `default` - English* `de` - German (Standard)* `en` - English* `es` - Spanish (Spain)* `fr` - French (Standard)* `it` - Italian (Standard)* `ja` - Japanese* `ko` - Korean* `pt-br` - Portuguese (Brazil)* `zh-cn` - Chinese (Simplified, PRC)* `zh-tw` - (Chinese, Taiwan). +func (o IamPolicyAssignmentOutput) AcceptLanguage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringPtrOutput { return v.AcceptLanguage }).(pulumi.StringPtrOutput) +} + +// The account GUID that the policies assignments belong to.. +func (o IamPolicyAssignmentOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// The UTC timestamp when the policy assignment was created. +func (o IamPolicyAssignmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The iam ID of the entity that created the policy assignment. +func (o IamPolicyAssignmentOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// The href URL that links to the policies assignments API by policy assignment ID. +func (o IamPolicyAssignmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The UTC timestamp when the policy assignment was last modified. +func (o IamPolicyAssignmentOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The iam ID of the entity that last modified the policy assignment. +func (o IamPolicyAssignmentOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// Object for each account assigned. +func (o IamPolicyAssignmentOutput) Resources() IamPolicyAssignmentResourceArrayOutput { + return o.ApplyT(func(v *IamPolicyAssignment) IamPolicyAssignmentResourceArrayOutput { return v.Resources }).(IamPolicyAssignmentResourceArrayOutput) +} + +// The policy assignment status. +func (o IamPolicyAssignmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// assignment target details +func (o IamPolicyAssignmentOutput) Target() pulumi.StringMapOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringMapOutput { return v.Target }).(pulumi.StringMapOutput) +} + +// policy template details +func (o IamPolicyAssignmentOutput) Template() pulumi.StringMapOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringMapOutput { return v.Template }).(pulumi.StringMapOutput) +} + +// The policy template version. +func (o IamPolicyAssignmentOutput) TemplateVersion() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.TemplateVersion }).(pulumi.StringOutput) +} + +// policy template details. +func (o IamPolicyAssignmentOutput) Templates() IamPolicyAssignmentTemplatesOutput { + return o.ApplyT(func(v *IamPolicyAssignment) IamPolicyAssignmentTemplatesOutput { return v.Templates }).(IamPolicyAssignmentTemplatesOutput) +} + +// specify version of response body format. +func (o IamPolicyAssignmentOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyAssignment) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentInput)(nil)).Elem(), &IamPolicyAssignment{}) + pulumi.RegisterOutputType(IamPolicyAssignmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyTemplate.go new file mode 100644 index 000000000..ff8381333 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyTemplate.go @@ -0,0 +1,198 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamPolicyTemplate struct { + pulumi.CustomResourceState + + AccountId pulumi.StringOutput `pulumi:"accountId"` + // committed status for the template. + Committed pulumi.BoolPtrOutput `pulumi:"committed"` + // description of template purpose. + Description pulumi.StringPtrOutput `pulumi:"description"` + // name of template. + Name pulumi.StringOutput `pulumi:"name"` + // The core set of properties associated with the template's policy objet. + Policy IamPolicyTemplatePolicyOutput `pulumi:"policy"` + // Template ID. + TemplateId pulumi.StringOutput `pulumi:"templateId"` + // Template Version. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamPolicyTemplate registers a new resource with the given unique name, arguments, and options. +func NewIamPolicyTemplate(ctx *pulumi.Context, + name string, args *IamPolicyTemplateArgs, opts ...pulumi.ResourceOption) (*IamPolicyTemplate, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Policy == nil { + return nil, errors.New("invalid value for required argument 'Policy'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamPolicyTemplate + err := ctx.RegisterResource("ibmcloud:index/iamPolicyTemplate:IamPolicyTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamPolicyTemplate gets an existing IamPolicyTemplate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamPolicyTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamPolicyTemplateState, opts ...pulumi.ResourceOption) (*IamPolicyTemplate, error) { + var resource IamPolicyTemplate + err := ctx.ReadResource("ibmcloud:index/iamPolicyTemplate:IamPolicyTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamPolicyTemplate resources. +type iamPolicyTemplateState struct { + AccountId *string `pulumi:"accountId"` + // committed status for the template. + Committed *bool `pulumi:"committed"` + // description of template purpose. + Description *string `pulumi:"description"` + // name of template. + Name *string `pulumi:"name"` + // The core set of properties associated with the template's policy objet. + Policy *IamPolicyTemplatePolicy `pulumi:"policy"` + // Template ID. + TemplateId *string `pulumi:"templateId"` + // Template Version. + Version *string `pulumi:"version"` +} + +type IamPolicyTemplateState struct { + AccountId pulumi.StringPtrInput + // committed status for the template. + Committed pulumi.BoolPtrInput + // description of template purpose. + Description pulumi.StringPtrInput + // name of template. + Name pulumi.StringPtrInput + // The core set of properties associated with the template's policy objet. + Policy IamPolicyTemplatePolicyPtrInput + // Template ID. + TemplateId pulumi.StringPtrInput + // Template Version. + Version pulumi.StringPtrInput +} + +func (IamPolicyTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*iamPolicyTemplateState)(nil)).Elem() +} + +type iamPolicyTemplateArgs struct { + // committed status for the template. + Committed *bool `pulumi:"committed"` + // description of template purpose. + Description *string `pulumi:"description"` + // name of template. + Name *string `pulumi:"name"` + // The core set of properties associated with the template's policy objet. + Policy IamPolicyTemplatePolicy `pulumi:"policy"` +} + +// The set of arguments for constructing a IamPolicyTemplate resource. +type IamPolicyTemplateArgs struct { + // committed status for the template. + Committed pulumi.BoolPtrInput + // description of template purpose. + Description pulumi.StringPtrInput + // name of template. + Name pulumi.StringPtrInput + // The core set of properties associated with the template's policy objet. + Policy IamPolicyTemplatePolicyInput +} + +func (IamPolicyTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamPolicyTemplateArgs)(nil)).Elem() +} + +type IamPolicyTemplateInput interface { + pulumi.Input + + ToIamPolicyTemplateOutput() IamPolicyTemplateOutput + ToIamPolicyTemplateOutputWithContext(ctx context.Context) IamPolicyTemplateOutput +} + +func (*IamPolicyTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplate)(nil)).Elem() +} + +func (i *IamPolicyTemplate) ToIamPolicyTemplateOutput() IamPolicyTemplateOutput { + return i.ToIamPolicyTemplateOutputWithContext(context.Background()) +} + +func (i *IamPolicyTemplate) ToIamPolicyTemplateOutputWithContext(ctx context.Context) IamPolicyTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateOutput) +} + +type IamPolicyTemplateOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplate)(nil)).Elem() +} + +func (o IamPolicyTemplateOutput) ToIamPolicyTemplateOutput() IamPolicyTemplateOutput { + return o +} + +func (o IamPolicyTemplateOutput) ToIamPolicyTemplateOutputWithContext(ctx context.Context) IamPolicyTemplateOutput { + return o +} + +func (o IamPolicyTemplateOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyTemplate) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// committed status for the template. +func (o IamPolicyTemplateOutput) Committed() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplate) pulumi.BoolPtrOutput { return v.Committed }).(pulumi.BoolPtrOutput) +} + +// description of template purpose. +func (o IamPolicyTemplateOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplate) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// name of template. +func (o IamPolicyTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The core set of properties associated with the template's policy objet. +func (o IamPolicyTemplateOutput) Policy() IamPolicyTemplatePolicyOutput { + return o.ApplyT(func(v *IamPolicyTemplate) IamPolicyTemplatePolicyOutput { return v.Policy }).(IamPolicyTemplatePolicyOutput) +} + +// Template ID. +func (o IamPolicyTemplateOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyTemplate) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// Template Version. +func (o IamPolicyTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyTemplate) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateInput)(nil)).Elem(), &IamPolicyTemplate{}) + pulumi.RegisterOutputType(IamPolicyTemplateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyTemplateVersion.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyTemplateVersion.go new file mode 100644 index 000000000..72001dcfe --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamPolicyTemplateVersion.go @@ -0,0 +1,199 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamPolicyTemplateVersion struct { + pulumi.CustomResourceState + + AccountId pulumi.StringOutput `pulumi:"accountId"` + // Template version committed status. + Committed pulumi.BoolPtrOutput `pulumi:"committed"` + // description of template purpose. + Description pulumi.StringPtrOutput `pulumi:"description"` + Name pulumi.StringOutput `pulumi:"name"` + // The core set of properties associated with the template's policy objet. + Policy IamPolicyTemplateVersionPolicyOutput `pulumi:"policy"` + // The policy template ID and Version. + TemplateId pulumi.StringOutput `pulumi:"templateId"` + // Template Version. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamPolicyTemplateVersion registers a new resource with the given unique name, arguments, and options. +func NewIamPolicyTemplateVersion(ctx *pulumi.Context, + name string, args *IamPolicyTemplateVersionArgs, opts ...pulumi.ResourceOption) (*IamPolicyTemplateVersion, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Policy == nil { + return nil, errors.New("invalid value for required argument 'Policy'") + } + if args.TemplateId == nil { + return nil, errors.New("invalid value for required argument 'TemplateId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamPolicyTemplateVersion + err := ctx.RegisterResource("ibmcloud:index/iamPolicyTemplateVersion:IamPolicyTemplateVersion", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamPolicyTemplateVersion gets an existing IamPolicyTemplateVersion resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamPolicyTemplateVersion(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamPolicyTemplateVersionState, opts ...pulumi.ResourceOption) (*IamPolicyTemplateVersion, error) { + var resource IamPolicyTemplateVersion + err := ctx.ReadResource("ibmcloud:index/iamPolicyTemplateVersion:IamPolicyTemplateVersion", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamPolicyTemplateVersion resources. +type iamPolicyTemplateVersionState struct { + AccountId *string `pulumi:"accountId"` + // Template version committed status. + Committed *bool `pulumi:"committed"` + // description of template purpose. + Description *string `pulumi:"description"` + Name *string `pulumi:"name"` + // The core set of properties associated with the template's policy objet. + Policy *IamPolicyTemplateVersionPolicy `pulumi:"policy"` + // The policy template ID and Version. + TemplateId *string `pulumi:"templateId"` + // Template Version. + Version *string `pulumi:"version"` +} + +type IamPolicyTemplateVersionState struct { + AccountId pulumi.StringPtrInput + // Template version committed status. + Committed pulumi.BoolPtrInput + // description of template purpose. + Description pulumi.StringPtrInput + Name pulumi.StringPtrInput + // The core set of properties associated with the template's policy objet. + Policy IamPolicyTemplateVersionPolicyPtrInput + // The policy template ID and Version. + TemplateId pulumi.StringPtrInput + // Template Version. + Version pulumi.StringPtrInput +} + +func (IamPolicyTemplateVersionState) ElementType() reflect.Type { + return reflect.TypeOf((*iamPolicyTemplateVersionState)(nil)).Elem() +} + +type iamPolicyTemplateVersionArgs struct { + // Template version committed status. + Committed *bool `pulumi:"committed"` + // description of template purpose. + Description *string `pulumi:"description"` + Name *string `pulumi:"name"` + // The core set of properties associated with the template's policy objet. + Policy IamPolicyTemplateVersionPolicy `pulumi:"policy"` + // The policy template ID and Version. + TemplateId string `pulumi:"templateId"` +} + +// The set of arguments for constructing a IamPolicyTemplateVersion resource. +type IamPolicyTemplateVersionArgs struct { + // Template version committed status. + Committed pulumi.BoolPtrInput + // description of template purpose. + Description pulumi.StringPtrInput + Name pulumi.StringPtrInput + // The core set of properties associated with the template's policy objet. + Policy IamPolicyTemplateVersionPolicyInput + // The policy template ID and Version. + TemplateId pulumi.StringInput +} + +func (IamPolicyTemplateVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamPolicyTemplateVersionArgs)(nil)).Elem() +} + +type IamPolicyTemplateVersionInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionOutput() IamPolicyTemplateVersionOutput + ToIamPolicyTemplateVersionOutputWithContext(ctx context.Context) IamPolicyTemplateVersionOutput +} + +func (*IamPolicyTemplateVersion) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplateVersion)(nil)).Elem() +} + +func (i *IamPolicyTemplateVersion) ToIamPolicyTemplateVersionOutput() IamPolicyTemplateVersionOutput { + return i.ToIamPolicyTemplateVersionOutputWithContext(context.Background()) +} + +func (i *IamPolicyTemplateVersion) ToIamPolicyTemplateVersionOutputWithContext(ctx context.Context) IamPolicyTemplateVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionOutput) +} + +type IamPolicyTemplateVersionOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplateVersion)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionOutput) ToIamPolicyTemplateVersionOutput() IamPolicyTemplateVersionOutput { + return o +} + +func (o IamPolicyTemplateVersionOutput) ToIamPolicyTemplateVersionOutputWithContext(ctx context.Context) IamPolicyTemplateVersionOutput { + return o +} + +func (o IamPolicyTemplateVersionOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersion) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// Template version committed status. +func (o IamPolicyTemplateVersionOutput) Committed() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersion) pulumi.BoolPtrOutput { return v.Committed }).(pulumi.BoolPtrOutput) +} + +// description of template purpose. +func (o IamPolicyTemplateVersionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersion) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o IamPolicyTemplateVersionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersion) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The core set of properties associated with the template's policy objet. +func (o IamPolicyTemplateVersionOutput) Policy() IamPolicyTemplateVersionPolicyOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersion) IamPolicyTemplateVersionPolicyOutput { return v.Policy }).(IamPolicyTemplateVersionPolicyOutput) +} + +// The policy template ID and Version. +func (o IamPolicyTemplateVersionOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersion) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// Template Version. +func (o IamPolicyTemplateVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersion) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionInput)(nil)).Elem(), &IamPolicyTemplateVersion{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServiceApiKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServiceApiKey.go new file mode 100644 index 000000000..5fd841be2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServiceApiKey.go @@ -0,0 +1,287 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamServiceApiKey struct { + pulumi.CustomResourceState + + // The account ID of the API key + AccountId pulumi.StringOutput `pulumi:"accountId"` + // API key value for this API key + Apikey pulumi.StringOutput `pulumi:"apikey"` + // The date and time Service API Key was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // IAM ID of the service which created the API key + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // crn of the Service API Key + Crn pulumi.StringOutput `pulumi:"crn"` + // description of the API key + Description pulumi.StringOutput `pulumi:"description"` + // Version of the API Key details object + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // File where api key is to be stored + File pulumi.StringPtrOutput `pulumi:"file"` + // The service iamId that this API key authenticates + IamServiceId pulumi.StringOutput `pulumi:"iamServiceId"` + // The API key cannot be changed if set to true + Locked pulumi.BoolPtrOutput `pulumi:"locked"` + // The date and time Service API Key was modified + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // Name of the Service API key + Name pulumi.StringOutput `pulumi:"name"` + // Boolean value deciding whether API key value is retrievable in the future + StoreValue pulumi.BoolPtrOutput `pulumi:"storeValue"` +} + +// NewIamServiceApiKey registers a new resource with the given unique name, arguments, and options. +func NewIamServiceApiKey(ctx *pulumi.Context, + name string, args *IamServiceApiKeyArgs, opts ...pulumi.ResourceOption) (*IamServiceApiKey, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IamServiceId == nil { + return nil, errors.New("invalid value for required argument 'IamServiceId'") + } + if args.Apikey != nil { + args.Apikey = pulumi.ToSecret(args.Apikey).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "apikey", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamServiceApiKey + err := ctx.RegisterResource("ibmcloud:index/iamServiceApiKey:IamServiceApiKey", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamServiceApiKey gets an existing IamServiceApiKey resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamServiceApiKey(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamServiceApiKeyState, opts ...pulumi.ResourceOption) (*IamServiceApiKey, error) { + var resource IamServiceApiKey + err := ctx.ReadResource("ibmcloud:index/iamServiceApiKey:IamServiceApiKey", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamServiceApiKey resources. +type iamServiceApiKeyState struct { + // The account ID of the API key + AccountId *string `pulumi:"accountId"` + // API key value for this API key + Apikey *string `pulumi:"apikey"` + // The date and time Service API Key was created + CreatedAt *string `pulumi:"createdAt"` + // IAM ID of the service which created the API key + CreatedBy *string `pulumi:"createdBy"` + // crn of the Service API Key + Crn *string `pulumi:"crn"` + // description of the API key + Description *string `pulumi:"description"` + // Version of the API Key details object + EntityTag *string `pulumi:"entityTag"` + // File where api key is to be stored + File *string `pulumi:"file"` + // The service iamId that this API key authenticates + IamServiceId *string `pulumi:"iamServiceId"` + // The API key cannot be changed if set to true + Locked *bool `pulumi:"locked"` + // The date and time Service API Key was modified + ModifiedAt *string `pulumi:"modifiedAt"` + // Name of the Service API key + Name *string `pulumi:"name"` + // Boolean value deciding whether API key value is retrievable in the future + StoreValue *bool `pulumi:"storeValue"` +} + +type IamServiceApiKeyState struct { + // The account ID of the API key + AccountId pulumi.StringPtrInput + // API key value for this API key + Apikey pulumi.StringPtrInput + // The date and time Service API Key was created + CreatedAt pulumi.StringPtrInput + // IAM ID of the service which created the API key + CreatedBy pulumi.StringPtrInput + // crn of the Service API Key + Crn pulumi.StringPtrInput + // description of the API key + Description pulumi.StringPtrInput + // Version of the API Key details object + EntityTag pulumi.StringPtrInput + // File where api key is to be stored + File pulumi.StringPtrInput + // The service iamId that this API key authenticates + IamServiceId pulumi.StringPtrInput + // The API key cannot be changed if set to true + Locked pulumi.BoolPtrInput + // The date and time Service API Key was modified + ModifiedAt pulumi.StringPtrInput + // Name of the Service API key + Name pulumi.StringPtrInput + // Boolean value deciding whether API key value is retrievable in the future + StoreValue pulumi.BoolPtrInput +} + +func (IamServiceApiKeyState) ElementType() reflect.Type { + return reflect.TypeOf((*iamServiceApiKeyState)(nil)).Elem() +} + +type iamServiceApiKeyArgs struct { + // API key value for this API key + Apikey *string `pulumi:"apikey"` + // description of the API key + Description *string `pulumi:"description"` + // File where api key is to be stored + File *string `pulumi:"file"` + // The service iamId that this API key authenticates + IamServiceId string `pulumi:"iamServiceId"` + // The API key cannot be changed if set to true + Locked *bool `pulumi:"locked"` + // Name of the Service API key + Name *string `pulumi:"name"` + // Boolean value deciding whether API key value is retrievable in the future + StoreValue *bool `pulumi:"storeValue"` +} + +// The set of arguments for constructing a IamServiceApiKey resource. +type IamServiceApiKeyArgs struct { + // API key value for this API key + Apikey pulumi.StringPtrInput + // description of the API key + Description pulumi.StringPtrInput + // File where api key is to be stored + File pulumi.StringPtrInput + // The service iamId that this API key authenticates + IamServiceId pulumi.StringInput + // The API key cannot be changed if set to true + Locked pulumi.BoolPtrInput + // Name of the Service API key + Name pulumi.StringPtrInput + // Boolean value deciding whether API key value is retrievable in the future + StoreValue pulumi.BoolPtrInput +} + +func (IamServiceApiKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamServiceApiKeyArgs)(nil)).Elem() +} + +type IamServiceApiKeyInput interface { + pulumi.Input + + ToIamServiceApiKeyOutput() IamServiceApiKeyOutput + ToIamServiceApiKeyOutputWithContext(ctx context.Context) IamServiceApiKeyOutput +} + +func (*IamServiceApiKey) ElementType() reflect.Type { + return reflect.TypeOf((**IamServiceApiKey)(nil)).Elem() +} + +func (i *IamServiceApiKey) ToIamServiceApiKeyOutput() IamServiceApiKeyOutput { + return i.ToIamServiceApiKeyOutputWithContext(context.Background()) +} + +func (i *IamServiceApiKey) ToIamServiceApiKeyOutputWithContext(ctx context.Context) IamServiceApiKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServiceApiKeyOutput) +} + +type IamServiceApiKeyOutput struct{ *pulumi.OutputState } + +func (IamServiceApiKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamServiceApiKey)(nil)).Elem() +} + +func (o IamServiceApiKeyOutput) ToIamServiceApiKeyOutput() IamServiceApiKeyOutput { + return o +} + +func (o IamServiceApiKeyOutput) ToIamServiceApiKeyOutputWithContext(ctx context.Context) IamServiceApiKeyOutput { + return o +} + +// The account ID of the API key +func (o IamServiceApiKeyOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// API key value for this API key +func (o IamServiceApiKeyOutput) Apikey() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.Apikey }).(pulumi.StringOutput) +} + +// The date and time Service API Key was created +func (o IamServiceApiKeyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// IAM ID of the service which created the API key +func (o IamServiceApiKeyOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// crn of the Service API Key +func (o IamServiceApiKeyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// description of the API key +func (o IamServiceApiKeyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Version of the API Key details object +func (o IamServiceApiKeyOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// File where api key is to be stored +func (o IamServiceApiKeyOutput) File() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringPtrOutput { return v.File }).(pulumi.StringPtrOutput) +} + +// The service iamId that this API key authenticates +func (o IamServiceApiKeyOutput) IamServiceId() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.IamServiceId }).(pulumi.StringOutput) +} + +// The API key cannot be changed if set to true +func (o IamServiceApiKeyOutput) Locked() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.BoolPtrOutput { return v.Locked }).(pulumi.BoolPtrOutput) +} + +// The date and time Service API Key was modified +func (o IamServiceApiKeyOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// Name of the Service API key +func (o IamServiceApiKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Boolean value deciding whether API key value is retrievable in the future +func (o IamServiceApiKeyOutput) StoreValue() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamServiceApiKey) pulumi.BoolPtrOutput { return v.StoreValue }).(pulumi.BoolPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamServiceApiKeyInput)(nil)).Elem(), &IamServiceApiKey{}) + pulumi.RegisterOutputType(IamServiceApiKeyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServiceId.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServiceId.go new file mode 100644 index 000000000..c7c477ded --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServiceId.go @@ -0,0 +1,184 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamServiceId struct { + pulumi.CustomResourceState + + // crn of the serviceID + Crn pulumi.StringOutput `pulumi:"crn"` + // Description of the serviceID + Description pulumi.StringPtrOutput `pulumi:"description"` + // The IAM ID of the serviceID + IamId pulumi.StringOutput `pulumi:"iamId"` + Locked pulumi.BoolOutput `pulumi:"locked"` + // Name of the serviceID + Name pulumi.StringOutput `pulumi:"name"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // version of the serviceID + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIamServiceId registers a new resource with the given unique name, arguments, and options. +func NewIamServiceId(ctx *pulumi.Context, + name string, args *IamServiceIdArgs, opts ...pulumi.ResourceOption) (*IamServiceId, error) { + if args == nil { + args = &IamServiceIdArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamServiceId + err := ctx.RegisterResource("ibmcloud:index/iamServiceId:IamServiceId", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamServiceId gets an existing IamServiceId resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamServiceId(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamServiceIdState, opts ...pulumi.ResourceOption) (*IamServiceId, error) { + var resource IamServiceId + err := ctx.ReadResource("ibmcloud:index/iamServiceId:IamServiceId", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamServiceId resources. +type iamServiceIdState struct { + // crn of the serviceID + Crn *string `pulumi:"crn"` + // Description of the serviceID + Description *string `pulumi:"description"` + // The IAM ID of the serviceID + IamId *string `pulumi:"iamId"` + Locked *bool `pulumi:"locked"` + // Name of the serviceID + Name *string `pulumi:"name"` + Tags []string `pulumi:"tags"` + // version of the serviceID + Version *string `pulumi:"version"` +} + +type IamServiceIdState struct { + // crn of the serviceID + Crn pulumi.StringPtrInput + // Description of the serviceID + Description pulumi.StringPtrInput + // The IAM ID of the serviceID + IamId pulumi.StringPtrInput + Locked pulumi.BoolPtrInput + // Name of the serviceID + Name pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // version of the serviceID + Version pulumi.StringPtrInput +} + +func (IamServiceIdState) ElementType() reflect.Type { + return reflect.TypeOf((*iamServiceIdState)(nil)).Elem() +} + +type iamServiceIdArgs struct { + // Description of the serviceID + Description *string `pulumi:"description"` + // Name of the serviceID + Name *string `pulumi:"name"` + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IamServiceId resource. +type IamServiceIdArgs struct { + // Description of the serviceID + Description pulumi.StringPtrInput + // Name of the serviceID + Name pulumi.StringPtrInput + Tags pulumi.StringArrayInput +} + +func (IamServiceIdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamServiceIdArgs)(nil)).Elem() +} + +type IamServiceIdInput interface { + pulumi.Input + + ToIamServiceIdOutput() IamServiceIdOutput + ToIamServiceIdOutputWithContext(ctx context.Context) IamServiceIdOutput +} + +func (*IamServiceId) ElementType() reflect.Type { + return reflect.TypeOf((**IamServiceId)(nil)).Elem() +} + +func (i *IamServiceId) ToIamServiceIdOutput() IamServiceIdOutput { + return i.ToIamServiceIdOutputWithContext(context.Background()) +} + +func (i *IamServiceId) ToIamServiceIdOutputWithContext(ctx context.Context) IamServiceIdOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServiceIdOutput) +} + +type IamServiceIdOutput struct{ *pulumi.OutputState } + +func (IamServiceIdOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamServiceId)(nil)).Elem() +} + +func (o IamServiceIdOutput) ToIamServiceIdOutput() IamServiceIdOutput { + return o +} + +func (o IamServiceIdOutput) ToIamServiceIdOutputWithContext(ctx context.Context) IamServiceIdOutput { + return o +} + +// crn of the serviceID +func (o IamServiceIdOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceId) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Description of the serviceID +func (o IamServiceIdOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServiceId) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The IAM ID of the serviceID +func (o IamServiceIdOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceId) pulumi.StringOutput { return v.IamId }).(pulumi.StringOutput) +} + +func (o IamServiceIdOutput) Locked() pulumi.BoolOutput { + return o.ApplyT(func(v *IamServiceId) pulumi.BoolOutput { return v.Locked }).(pulumi.BoolOutput) +} + +// Name of the serviceID +func (o IamServiceIdOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceId) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o IamServiceIdOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamServiceId) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// version of the serviceID +func (o IamServiceIdOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IamServiceId) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamServiceIdInput)(nil)).Elem(), &IamServiceId{}) + pulumi.RegisterOutputType(IamServiceIdOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServicePolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServicePolicy.go new file mode 100644 index 000000000..9c500b7ac --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamServicePolicy.go @@ -0,0 +1,304 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamServicePolicy struct { + pulumi.CustomResourceState + + // Give access to all account management services + AccountManagement pulumi.BoolPtrOutput `pulumi:"accountManagement"` + // Description of the Policy + Description pulumi.StringPtrOutput `pulumi:"description"` + // IAM ID of ServiceID + IamId pulumi.StringOutput `pulumi:"iamId"` + // UUID of ServiceID + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + IamServiceId pulumi.StringOutput `pulumi:"iamServiceId"` + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrOutput `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes IamServicePolicyResourceAttributeArrayOutput `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags IamServicePolicyResourceTagArrayOutput `pulumi:"resourceTags"` + Resources IamServicePolicyResourcesPtrOutput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayOutput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions IamServicePolicyRuleConditionArrayOutput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrOutput `pulumi:"ruleOperator"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Set transactionID for debug + TransactionId pulumi.StringOutput `pulumi:"transactionId"` +} + +// NewIamServicePolicy registers a new resource with the given unique name, arguments, and options. +func NewIamServicePolicy(ctx *pulumi.Context, + name string, args *IamServicePolicyArgs, opts ...pulumi.ResourceOption) (*IamServicePolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Roles == nil { + return nil, errors.New("invalid value for required argument 'Roles'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamServicePolicy + err := ctx.RegisterResource("ibmcloud:index/iamServicePolicy:IamServicePolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamServicePolicy gets an existing IamServicePolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamServicePolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamServicePolicyState, opts ...pulumi.ResourceOption) (*IamServicePolicy, error) { + var resource IamServicePolicy + err := ctx.ReadResource("ibmcloud:index/iamServicePolicy:IamServicePolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamServicePolicy resources. +type iamServicePolicyState struct { + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + // Description of the Policy + Description *string `pulumi:"description"` + // IAM ID of ServiceID + IamId *string `pulumi:"iamId"` + // UUID of ServiceID + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + IamServiceId *string `pulumi:"iamServiceId"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes []IamServicePolicyResourceAttribute `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags []IamServicePolicyResourceTag `pulumi:"resourceTags"` + Resources *IamServicePolicyResources `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamServicePolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + Tags []string `pulumi:"tags"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` +} + +type IamServicePolicyState struct { + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput + // Description of the Policy + Description pulumi.StringPtrInput + // IAM ID of ServiceID + IamId pulumi.StringPtrInput + // UUID of ServiceID + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + IamServiceId pulumi.StringPtrInput + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamServicePolicyResourceAttributeArrayInput + // Set access management tags. + ResourceTags IamServicePolicyResourceTagArrayInput + Resources IamServicePolicyResourcesPtrInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // Rule conditions enforced by the policy + RuleConditions IamServicePolicyRuleConditionArrayInput + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput +} + +func (IamServicePolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*iamServicePolicyState)(nil)).Elem() +} + +type iamServicePolicyArgs struct { + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + // Description of the Policy + Description *string `pulumi:"description"` + // IAM ID of ServiceID + IamId *string `pulumi:"iamId"` + // UUID of ServiceID + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + IamServiceId *string `pulumi:"iamServiceId"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes []IamServicePolicyResourceAttribute `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags []IamServicePolicyResourceTag `pulumi:"resourceTags"` + Resources *IamServicePolicyResources `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamServicePolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + Tags []string `pulumi:"tags"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` +} + +// The set of arguments for constructing a IamServicePolicy resource. +type IamServicePolicyArgs struct { + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput + // Description of the Policy + Description pulumi.StringPtrInput + // IAM ID of ServiceID + IamId pulumi.StringPtrInput + // UUID of ServiceID + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + IamServiceId pulumi.StringPtrInput + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamServicePolicyResourceAttributeArrayInput + // Set access management tags. + ResourceTags IamServicePolicyResourceTagArrayInput + Resources IamServicePolicyResourcesPtrInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // Rule conditions enforced by the policy + RuleConditions IamServicePolicyRuleConditionArrayInput + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput +} + +func (IamServicePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamServicePolicyArgs)(nil)).Elem() +} + +type IamServicePolicyInput interface { + pulumi.Input + + ToIamServicePolicyOutput() IamServicePolicyOutput + ToIamServicePolicyOutputWithContext(ctx context.Context) IamServicePolicyOutput +} + +func (*IamServicePolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IamServicePolicy)(nil)).Elem() +} + +func (i *IamServicePolicy) ToIamServicePolicyOutput() IamServicePolicyOutput { + return i.ToIamServicePolicyOutputWithContext(context.Background()) +} + +func (i *IamServicePolicy) ToIamServicePolicyOutputWithContext(ctx context.Context) IamServicePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyOutput) +} + +type IamServicePolicyOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamServicePolicy)(nil)).Elem() +} + +func (o IamServicePolicyOutput) ToIamServicePolicyOutput() IamServicePolicyOutput { + return o +} + +func (o IamServicePolicyOutput) ToIamServicePolicyOutputWithContext(ctx context.Context) IamServicePolicyOutput { + return o +} + +// Give access to all account management services +func (o IamServicePolicyOutput) AccountManagement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.BoolPtrOutput { return v.AccountManagement }).(pulumi.BoolPtrOutput) +} + +// Description of the Policy +func (o IamServicePolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// IAM ID of ServiceID +func (o IamServicePolicyOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.StringOutput { return v.IamId }).(pulumi.StringOutput) +} + +// UUID of ServiceID +// +// Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. +func (o IamServicePolicyOutput) IamServiceId() pulumi.StringOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.StringOutput { return v.IamServiceId }).(pulumi.StringOutput) +} + +// Pattern rule follows for time-based condition +func (o IamServicePolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.StringPtrOutput { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// Set resource attributes. +func (o IamServicePolicyOutput) ResourceAttributes() IamServicePolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v *IamServicePolicy) IamServicePolicyResourceAttributeArrayOutput { return v.ResourceAttributes }).(IamServicePolicyResourceAttributeArrayOutput) +} + +// Set access management tags. +func (o IamServicePolicyOutput) ResourceTags() IamServicePolicyResourceTagArrayOutput { + return o.ApplyT(func(v *IamServicePolicy) IamServicePolicyResourceTagArrayOutput { return v.ResourceTags }).(IamServicePolicyResourceTagArrayOutput) +} + +func (o IamServicePolicyOutput) Resources() IamServicePolicyResourcesPtrOutput { + return o.ApplyT(func(v *IamServicePolicy) IamServicePolicyResourcesPtrOutput { return v.Resources }).(IamServicePolicyResourcesPtrOutput) +} + +// Role names of the policy definition +func (o IamServicePolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o IamServicePolicyOutput) RuleConditions() IamServicePolicyRuleConditionArrayOutput { + return o.ApplyT(func(v *IamServicePolicy) IamServicePolicyRuleConditionArrayOutput { return v.RuleConditions }).(IamServicePolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o IamServicePolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.StringPtrOutput { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +func (o IamServicePolicyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Set transactionID for debug +func (o IamServicePolicyOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v *IamServicePolicy) pulumi.StringOutput { return v.TransactionId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyInput)(nil)).Elem(), &IamServicePolicy{}) + pulumi.RegisterOutputType(IamServicePolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfile.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfile.go new file mode 100644 index 000000000..0870cb6c8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfile.go @@ -0,0 +1,267 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamTrustedProfile struct { + pulumi.CustomResourceState + + // ID of the account that this trusted profile belong to. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // ID of the assignment that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + AssignmentId pulumi.StringOutput `pulumi:"assignmentId"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::profile:Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + Crn pulumi.StringOutput `pulumi:"crn"` + // The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Version of the trusted profile details object. You need to specify this value when updating the trusted profile to avoid stale updates. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // History of the trusted profile. + Histories IamTrustedProfileHistoryArrayOutput `pulumi:"histories"` + // The iamId of this trusted profile. + IamId pulumi.StringOutput `pulumi:"iamId"` + // IMS acount ID of the trusted profile. + ImsAccountId pulumi.IntOutput `pulumi:"imsAccountId"` + // IMS user ID of the trusted profile. + ImsUserId pulumi.IntOutput `pulumi:"imsUserId"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. + Name pulumi.StringOutput `pulumi:"name"` + // the unique identifier of the trusted profile. Example:'Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + ProfileId pulumi.StringOutput `pulumi:"profileId"` + // ID of the IAM template that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + TemplateId pulumi.StringOutput `pulumi:"templateId"` +} + +// NewIamTrustedProfile registers a new resource with the given unique name, arguments, and options. +func NewIamTrustedProfile(ctx *pulumi.Context, + name string, args *IamTrustedProfileArgs, opts ...pulumi.ResourceOption) (*IamTrustedProfile, error) { + if args == nil { + args = &IamTrustedProfileArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamTrustedProfile + err := ctx.RegisterResource("ibmcloud:index/iamTrustedProfile:IamTrustedProfile", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamTrustedProfile gets an existing IamTrustedProfile resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamTrustedProfile(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamTrustedProfileState, opts ...pulumi.ResourceOption) (*IamTrustedProfile, error) { + var resource IamTrustedProfile + err := ctx.ReadResource("ibmcloud:index/iamTrustedProfile:IamTrustedProfile", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamTrustedProfile resources. +type iamTrustedProfileState struct { + // ID of the account that this trusted profile belong to. + AccountId *string `pulumi:"accountId"` + // ID of the assignment that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + AssignmentId *string `pulumi:"assignmentId"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt *string `pulumi:"createdAt"` + // Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::profile:Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + Crn *string `pulumi:"crn"` + // The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. + Description *string `pulumi:"description"` + // Version of the trusted profile details object. You need to specify this value when updating the trusted profile to avoid stale updates. + EntityTag *string `pulumi:"entityTag"` + // History of the trusted profile. + Histories []IamTrustedProfileHistory `pulumi:"histories"` + // The iamId of this trusted profile. + IamId *string `pulumi:"iamId"` + // IMS acount ID of the trusted profile. + ImsAccountId *int `pulumi:"imsAccountId"` + // IMS user ID of the trusted profile. + ImsUserId *int `pulumi:"imsUserId"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt *string `pulumi:"modifiedAt"` + // Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. + Name *string `pulumi:"name"` + // the unique identifier of the trusted profile. Example:'Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + ProfileId *string `pulumi:"profileId"` + // ID of the IAM template that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + TemplateId *string `pulumi:"templateId"` +} + +type IamTrustedProfileState struct { + // ID of the account that this trusted profile belong to. + AccountId pulumi.StringPtrInput + // ID of the assignment that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + AssignmentId pulumi.StringPtrInput + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringPtrInput + // Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::profile:Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + Crn pulumi.StringPtrInput + // The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. + Description pulumi.StringPtrInput + // Version of the trusted profile details object. You need to specify this value when updating the trusted profile to avoid stale updates. + EntityTag pulumi.StringPtrInput + // History of the trusted profile. + Histories IamTrustedProfileHistoryArrayInput + // The iamId of this trusted profile. + IamId pulumi.StringPtrInput + // IMS acount ID of the trusted profile. + ImsAccountId pulumi.IntPtrInput + // IMS user ID of the trusted profile. + ImsUserId pulumi.IntPtrInput + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringPtrInput + // Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. + Name pulumi.StringPtrInput + // the unique identifier of the trusted profile. Example:'Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + ProfileId pulumi.StringPtrInput + // ID of the IAM template that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + TemplateId pulumi.StringPtrInput +} + +func (IamTrustedProfileState) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileState)(nil)).Elem() +} + +type iamTrustedProfileArgs struct { + // The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. + Description *string `pulumi:"description"` + // Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IamTrustedProfile resource. +type IamTrustedProfileArgs struct { + // The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. + Description pulumi.StringPtrInput + // Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. + Name pulumi.StringPtrInput +} + +func (IamTrustedProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileArgs)(nil)).Elem() +} + +type IamTrustedProfileInput interface { + pulumi.Input + + ToIamTrustedProfileOutput() IamTrustedProfileOutput + ToIamTrustedProfileOutputWithContext(ctx context.Context) IamTrustedProfileOutput +} + +func (*IamTrustedProfile) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfile)(nil)).Elem() +} + +func (i *IamTrustedProfile) ToIamTrustedProfileOutput() IamTrustedProfileOutput { + return i.ToIamTrustedProfileOutputWithContext(context.Background()) +} + +func (i *IamTrustedProfile) ToIamTrustedProfileOutputWithContext(ctx context.Context) IamTrustedProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileOutput) +} + +type IamTrustedProfileOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfile)(nil)).Elem() +} + +func (o IamTrustedProfileOutput) ToIamTrustedProfileOutput() IamTrustedProfileOutput { + return o +} + +func (o IamTrustedProfileOutput) ToIamTrustedProfileOutputWithContext(ctx context.Context) IamTrustedProfileOutput { + return o +} + +// ID of the account that this trusted profile belong to. +func (o IamTrustedProfileOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// ID of the assignment that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. +func (o IamTrustedProfileOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.AssignmentId }).(pulumi.StringOutput) +} + +// If set contains a date time string of the creation date in ISO format. +func (o IamTrustedProfileOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::profile:Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. +func (o IamTrustedProfileOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. +func (o IamTrustedProfileOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Version of the trusted profile details object. You need to specify this value when updating the trusted profile to avoid stale updates. +func (o IamTrustedProfileOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// History of the trusted profile. +func (o IamTrustedProfileOutput) Histories() IamTrustedProfileHistoryArrayOutput { + return o.ApplyT(func(v *IamTrustedProfile) IamTrustedProfileHistoryArrayOutput { return v.Histories }).(IamTrustedProfileHistoryArrayOutput) +} + +// The iamId of this trusted profile. +func (o IamTrustedProfileOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.IamId }).(pulumi.StringOutput) +} + +// IMS acount ID of the trusted profile. +func (o IamTrustedProfileOutput) ImsAccountId() pulumi.IntOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.IntOutput { return v.ImsAccountId }).(pulumi.IntOutput) +} + +// IMS user ID of the trusted profile. +func (o IamTrustedProfileOutput) ImsUserId() pulumi.IntOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.IntOutput { return v.ImsUserId }).(pulumi.IntOutput) +} + +// If set contains a date time string of the last modification date in ISO format. +func (o IamTrustedProfileOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. +func (o IamTrustedProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// the unique identifier of the trusted profile. Example:'Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. +func (o IamTrustedProfileOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.ProfileId }).(pulumi.StringOutput) +} + +// ID of the IAM template that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. +func (o IamTrustedProfileOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfile) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileInput)(nil)).Elem(), &IamTrustedProfile{}) + pulumi.RegisterOutputType(IamTrustedProfileOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileClaimRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileClaimRule.go new file mode 100644 index 000000000..cc1688bbf --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileClaimRule.go @@ -0,0 +1,266 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamTrustedProfileClaimRule struct { + pulumi.CustomResourceState + + // Conditions of this claim rule. + Conditions IamTrustedProfileClaimRuleConditionArrayOutput `pulumi:"conditions"` + // The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. + CrType pulumi.StringPtrOutput `pulumi:"crType"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // version of the claim rule. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // Session expiration in seconds. + Expiration pulumi.IntPtrOutput `pulumi:"expiration"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // Name of the claim rule to be created or updated. + Name pulumi.StringOutput `pulumi:"name"` + // ID of the trusted profile to create a claim rule. + ProfileId pulumi.StringOutput `pulumi:"profileId"` + // The realm name of the Idp this claim rule applies to. + RealmName pulumi.StringPtrOutput `pulumi:"realmName"` + // the unique identifier of the claim rule. + RuleId pulumi.StringOutput `pulumi:"ruleId"` + // Type of the calim rule, either 'Profile-SAML' or 'Profile-CR'. + Type pulumi.StringOutput `pulumi:"type"` +} + +// NewIamTrustedProfileClaimRule registers a new resource with the given unique name, arguments, and options. +func NewIamTrustedProfileClaimRule(ctx *pulumi.Context, + name string, args *IamTrustedProfileClaimRuleArgs, opts ...pulumi.ResourceOption) (*IamTrustedProfileClaimRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Conditions == nil { + return nil, errors.New("invalid value for required argument 'Conditions'") + } + if args.ProfileId == nil { + return nil, errors.New("invalid value for required argument 'ProfileId'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamTrustedProfileClaimRule + err := ctx.RegisterResource("ibmcloud:index/iamTrustedProfileClaimRule:IamTrustedProfileClaimRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamTrustedProfileClaimRule gets an existing IamTrustedProfileClaimRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamTrustedProfileClaimRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamTrustedProfileClaimRuleState, opts ...pulumi.ResourceOption) (*IamTrustedProfileClaimRule, error) { + var resource IamTrustedProfileClaimRule + err := ctx.ReadResource("ibmcloud:index/iamTrustedProfileClaimRule:IamTrustedProfileClaimRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamTrustedProfileClaimRule resources. +type iamTrustedProfileClaimRuleState struct { + // Conditions of this claim rule. + Conditions []IamTrustedProfileClaimRuleCondition `pulumi:"conditions"` + // The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. + CrType *string `pulumi:"crType"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt *string `pulumi:"createdAt"` + // version of the claim rule. + EntityTag *string `pulumi:"entityTag"` + // Session expiration in seconds. + Expiration *int `pulumi:"expiration"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt *string `pulumi:"modifiedAt"` + // Name of the claim rule to be created or updated. + Name *string `pulumi:"name"` + // ID of the trusted profile to create a claim rule. + ProfileId *string `pulumi:"profileId"` + // The realm name of the Idp this claim rule applies to. + RealmName *string `pulumi:"realmName"` + // the unique identifier of the claim rule. + RuleId *string `pulumi:"ruleId"` + // Type of the calim rule, either 'Profile-SAML' or 'Profile-CR'. + Type *string `pulumi:"type"` +} + +type IamTrustedProfileClaimRuleState struct { + // Conditions of this claim rule. + Conditions IamTrustedProfileClaimRuleConditionArrayInput + // The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. + CrType pulumi.StringPtrInput + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringPtrInput + // version of the claim rule. + EntityTag pulumi.StringPtrInput + // Session expiration in seconds. + Expiration pulumi.IntPtrInput + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringPtrInput + // Name of the claim rule to be created or updated. + Name pulumi.StringPtrInput + // ID of the trusted profile to create a claim rule. + ProfileId pulumi.StringPtrInput + // The realm name of the Idp this claim rule applies to. + RealmName pulumi.StringPtrInput + // the unique identifier of the claim rule. + RuleId pulumi.StringPtrInput + // Type of the calim rule, either 'Profile-SAML' or 'Profile-CR'. + Type pulumi.StringPtrInput +} + +func (IamTrustedProfileClaimRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileClaimRuleState)(nil)).Elem() +} + +type iamTrustedProfileClaimRuleArgs struct { + // Conditions of this claim rule. + Conditions []IamTrustedProfileClaimRuleCondition `pulumi:"conditions"` + // The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. + CrType *string `pulumi:"crType"` + // Session expiration in seconds. + Expiration *int `pulumi:"expiration"` + // Name of the claim rule to be created or updated. + Name *string `pulumi:"name"` + // ID of the trusted profile to create a claim rule. + ProfileId string `pulumi:"profileId"` + // The realm name of the Idp this claim rule applies to. + RealmName *string `pulumi:"realmName"` + // Type of the calim rule, either 'Profile-SAML' or 'Profile-CR'. + Type string `pulumi:"type"` +} + +// The set of arguments for constructing a IamTrustedProfileClaimRule resource. +type IamTrustedProfileClaimRuleArgs struct { + // Conditions of this claim rule. + Conditions IamTrustedProfileClaimRuleConditionArrayInput + // The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. + CrType pulumi.StringPtrInput + // Session expiration in seconds. + Expiration pulumi.IntPtrInput + // Name of the claim rule to be created or updated. + Name pulumi.StringPtrInput + // ID of the trusted profile to create a claim rule. + ProfileId pulumi.StringInput + // The realm name of the Idp this claim rule applies to. + RealmName pulumi.StringPtrInput + // Type of the calim rule, either 'Profile-SAML' or 'Profile-CR'. + Type pulumi.StringInput +} + +func (IamTrustedProfileClaimRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileClaimRuleArgs)(nil)).Elem() +} + +type IamTrustedProfileClaimRuleInput interface { + pulumi.Input + + ToIamTrustedProfileClaimRuleOutput() IamTrustedProfileClaimRuleOutput + ToIamTrustedProfileClaimRuleOutputWithContext(ctx context.Context) IamTrustedProfileClaimRuleOutput +} + +func (*IamTrustedProfileClaimRule) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileClaimRule)(nil)).Elem() +} + +func (i *IamTrustedProfileClaimRule) ToIamTrustedProfileClaimRuleOutput() IamTrustedProfileClaimRuleOutput { + return i.ToIamTrustedProfileClaimRuleOutputWithContext(context.Background()) +} + +func (i *IamTrustedProfileClaimRule) ToIamTrustedProfileClaimRuleOutputWithContext(ctx context.Context) IamTrustedProfileClaimRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileClaimRuleOutput) +} + +type IamTrustedProfileClaimRuleOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileClaimRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileClaimRule)(nil)).Elem() +} + +func (o IamTrustedProfileClaimRuleOutput) ToIamTrustedProfileClaimRuleOutput() IamTrustedProfileClaimRuleOutput { + return o +} + +func (o IamTrustedProfileClaimRuleOutput) ToIamTrustedProfileClaimRuleOutputWithContext(ctx context.Context) IamTrustedProfileClaimRuleOutput { + return o +} + +// Conditions of this claim rule. +func (o IamTrustedProfileClaimRuleOutput) Conditions() IamTrustedProfileClaimRuleConditionArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) IamTrustedProfileClaimRuleConditionArrayOutput { + return v.Conditions + }).(IamTrustedProfileClaimRuleConditionArrayOutput) +} + +// The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. +func (o IamTrustedProfileClaimRuleOutput) CrType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringPtrOutput { return v.CrType }).(pulumi.StringPtrOutput) +} + +// If set contains a date time string of the creation date in ISO format. +func (o IamTrustedProfileClaimRuleOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// version of the claim rule. +func (o IamTrustedProfileClaimRuleOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// Session expiration in seconds. +func (o IamTrustedProfileClaimRuleOutput) Expiration() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.IntPtrOutput { return v.Expiration }).(pulumi.IntPtrOutput) +} + +// If set contains a date time string of the last modification date in ISO format. +func (o IamTrustedProfileClaimRuleOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// Name of the claim rule to be created or updated. +func (o IamTrustedProfileClaimRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// ID of the trusted profile to create a claim rule. +func (o IamTrustedProfileClaimRuleOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringOutput { return v.ProfileId }).(pulumi.StringOutput) +} + +// The realm name of the Idp this claim rule applies to. +func (o IamTrustedProfileClaimRuleOutput) RealmName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringPtrOutput { return v.RealmName }).(pulumi.StringPtrOutput) +} + +// the unique identifier of the claim rule. +func (o IamTrustedProfileClaimRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringOutput { return v.RuleId }).(pulumi.StringOutput) +} + +// Type of the calim rule, either 'Profile-SAML' or 'Profile-CR'. +func (o IamTrustedProfileClaimRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileClaimRule) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileClaimRuleInput)(nil)).Elem(), &IamTrustedProfileClaimRule{}) + pulumi.RegisterOutputType(IamTrustedProfileClaimRuleOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileIdentities.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileIdentities.go new file mode 100644 index 000000000..14fb19515 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileIdentities.go @@ -0,0 +1,152 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamTrustedProfileIdentities struct { + pulumi.CustomResourceState + + // List of identities. + Identities IamTrustedProfileIdentitiesIdentityArrayOutput `pulumi:"identities"` + // Entity tag of the Identities to be updated. Specify the tag that you retrieved when reading the Profile Identities. This value helps identify parallel usage of this API. Pass * to indicate updating any available version, which may result in stale updates. + IfMatch pulumi.StringOutput `pulumi:"ifMatch"` + // ID of the trusted profile. + ProfileId pulumi.StringOutput `pulumi:"profileId"` +} + +// NewIamTrustedProfileIdentities registers a new resource with the given unique name, arguments, and options. +func NewIamTrustedProfileIdentities(ctx *pulumi.Context, + name string, args *IamTrustedProfileIdentitiesArgs, opts ...pulumi.ResourceOption) (*IamTrustedProfileIdentities, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProfileId == nil { + return nil, errors.New("invalid value for required argument 'ProfileId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamTrustedProfileIdentities + err := ctx.RegisterResource("ibmcloud:index/iamTrustedProfileIdentities:IamTrustedProfileIdentities", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamTrustedProfileIdentities gets an existing IamTrustedProfileIdentities resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamTrustedProfileIdentities(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamTrustedProfileIdentitiesState, opts ...pulumi.ResourceOption) (*IamTrustedProfileIdentities, error) { + var resource IamTrustedProfileIdentities + err := ctx.ReadResource("ibmcloud:index/iamTrustedProfileIdentities:IamTrustedProfileIdentities", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamTrustedProfileIdentities resources. +type iamTrustedProfileIdentitiesState struct { + // List of identities. + Identities []IamTrustedProfileIdentitiesIdentity `pulumi:"identities"` + // Entity tag of the Identities to be updated. Specify the tag that you retrieved when reading the Profile Identities. This value helps identify parallel usage of this API. Pass * to indicate updating any available version, which may result in stale updates. + IfMatch *string `pulumi:"ifMatch"` + // ID of the trusted profile. + ProfileId *string `pulumi:"profileId"` +} + +type IamTrustedProfileIdentitiesState struct { + // List of identities. + Identities IamTrustedProfileIdentitiesIdentityArrayInput + // Entity tag of the Identities to be updated. Specify the tag that you retrieved when reading the Profile Identities. This value helps identify parallel usage of this API. Pass * to indicate updating any available version, which may result in stale updates. + IfMatch pulumi.StringPtrInput + // ID of the trusted profile. + ProfileId pulumi.StringPtrInput +} + +func (IamTrustedProfileIdentitiesState) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileIdentitiesState)(nil)).Elem() +} + +type iamTrustedProfileIdentitiesArgs struct { + // List of identities. + Identities []IamTrustedProfileIdentitiesIdentity `pulumi:"identities"` + // ID of the trusted profile. + ProfileId string `pulumi:"profileId"` +} + +// The set of arguments for constructing a IamTrustedProfileIdentities resource. +type IamTrustedProfileIdentitiesArgs struct { + // List of identities. + Identities IamTrustedProfileIdentitiesIdentityArrayInput + // ID of the trusted profile. + ProfileId pulumi.StringInput +} + +func (IamTrustedProfileIdentitiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileIdentitiesArgs)(nil)).Elem() +} + +type IamTrustedProfileIdentitiesInput interface { + pulumi.Input + + ToIamTrustedProfileIdentitiesOutput() IamTrustedProfileIdentitiesOutput + ToIamTrustedProfileIdentitiesOutputWithContext(ctx context.Context) IamTrustedProfileIdentitiesOutput +} + +func (*IamTrustedProfileIdentities) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileIdentities)(nil)).Elem() +} + +func (i *IamTrustedProfileIdentities) ToIamTrustedProfileIdentitiesOutput() IamTrustedProfileIdentitiesOutput { + return i.ToIamTrustedProfileIdentitiesOutputWithContext(context.Background()) +} + +func (i *IamTrustedProfileIdentities) ToIamTrustedProfileIdentitiesOutputWithContext(ctx context.Context) IamTrustedProfileIdentitiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileIdentitiesOutput) +} + +type IamTrustedProfileIdentitiesOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileIdentitiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileIdentities)(nil)).Elem() +} + +func (o IamTrustedProfileIdentitiesOutput) ToIamTrustedProfileIdentitiesOutput() IamTrustedProfileIdentitiesOutput { + return o +} + +func (o IamTrustedProfileIdentitiesOutput) ToIamTrustedProfileIdentitiesOutputWithContext(ctx context.Context) IamTrustedProfileIdentitiesOutput { + return o +} + +// List of identities. +func (o IamTrustedProfileIdentitiesOutput) Identities() IamTrustedProfileIdentitiesIdentityArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentities) IamTrustedProfileIdentitiesIdentityArrayOutput { + return v.Identities + }).(IamTrustedProfileIdentitiesIdentityArrayOutput) +} + +// Entity tag of the Identities to be updated. Specify the tag that you retrieved when reading the Profile Identities. This value helps identify parallel usage of this API. Pass * to indicate updating any available version, which may result in stale updates. +func (o IamTrustedProfileIdentitiesOutput) IfMatch() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentities) pulumi.StringOutput { return v.IfMatch }).(pulumi.StringOutput) +} + +// ID of the trusted profile. +func (o IamTrustedProfileIdentitiesOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentities) pulumi.StringOutput { return v.ProfileId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileIdentitiesInput)(nil)).Elem(), &IamTrustedProfileIdentities{}) + pulumi.RegisterOutputType(IamTrustedProfileIdentitiesOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileIdentity.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileIdentity.go new file mode 100644 index 000000000..94943ca6b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileIdentity.go @@ -0,0 +1,208 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamTrustedProfileIdentity struct { + pulumi.CustomResourceState + + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts pulumi.StringArrayOutput `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier pulumi.StringOutput `pulumi:"identifier"` + // Type of the identity. + IdentityType pulumi.StringOutput `pulumi:"identityType"` + // ID of the trusted profile. + ProfileId pulumi.StringOutput `pulumi:"profileId"` + // Type of the identity. + Type pulumi.StringOutput `pulumi:"type"` +} + +// NewIamTrustedProfileIdentity registers a new resource with the given unique name, arguments, and options. +func NewIamTrustedProfileIdentity(ctx *pulumi.Context, + name string, args *IamTrustedProfileIdentityArgs, opts ...pulumi.ResourceOption) (*IamTrustedProfileIdentity, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Identifier == nil { + return nil, errors.New("invalid value for required argument 'Identifier'") + } + if args.IdentityType == nil { + return nil, errors.New("invalid value for required argument 'IdentityType'") + } + if args.ProfileId == nil { + return nil, errors.New("invalid value for required argument 'ProfileId'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamTrustedProfileIdentity + err := ctx.RegisterResource("ibmcloud:index/iamTrustedProfileIdentity:IamTrustedProfileIdentity", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamTrustedProfileIdentity gets an existing IamTrustedProfileIdentity resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamTrustedProfileIdentity(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamTrustedProfileIdentityState, opts ...pulumi.ResourceOption) (*IamTrustedProfileIdentity, error) { + var resource IamTrustedProfileIdentity + err := ctx.ReadResource("ibmcloud:index/iamTrustedProfileIdentity:IamTrustedProfileIdentity", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamTrustedProfileIdentity resources. +type iamTrustedProfileIdentityState struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts []string `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description *string `pulumi:"description"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier *string `pulumi:"identifier"` + // Type of the identity. + IdentityType *string `pulumi:"identityType"` + // ID of the trusted profile. + ProfileId *string `pulumi:"profileId"` + // Type of the identity. + Type *string `pulumi:"type"` +} + +type IamTrustedProfileIdentityState struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts pulumi.StringArrayInput + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description pulumi.StringPtrInput + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier pulumi.StringPtrInput + // Type of the identity. + IdentityType pulumi.StringPtrInput + // ID of the trusted profile. + ProfileId pulumi.StringPtrInput + // Type of the identity. + Type pulumi.StringPtrInput +} + +func (IamTrustedProfileIdentityState) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileIdentityState)(nil)).Elem() +} + +type iamTrustedProfileIdentityArgs struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts []string `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description *string `pulumi:"description"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier string `pulumi:"identifier"` + // Type of the identity. + IdentityType string `pulumi:"identityType"` + // ID of the trusted profile. + ProfileId string `pulumi:"profileId"` + // Type of the identity. + Type string `pulumi:"type"` +} + +// The set of arguments for constructing a IamTrustedProfileIdentity resource. +type IamTrustedProfileIdentityArgs struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts pulumi.StringArrayInput + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description pulumi.StringPtrInput + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier pulumi.StringInput + // Type of the identity. + IdentityType pulumi.StringInput + // ID of the trusted profile. + ProfileId pulumi.StringInput + // Type of the identity. + Type pulumi.StringInput +} + +func (IamTrustedProfileIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileIdentityArgs)(nil)).Elem() +} + +type IamTrustedProfileIdentityInput interface { + pulumi.Input + + ToIamTrustedProfileIdentityOutput() IamTrustedProfileIdentityOutput + ToIamTrustedProfileIdentityOutputWithContext(ctx context.Context) IamTrustedProfileIdentityOutput +} + +func (*IamTrustedProfileIdentity) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileIdentity)(nil)).Elem() +} + +func (i *IamTrustedProfileIdentity) ToIamTrustedProfileIdentityOutput() IamTrustedProfileIdentityOutput { + return i.ToIamTrustedProfileIdentityOutputWithContext(context.Background()) +} + +func (i *IamTrustedProfileIdentity) ToIamTrustedProfileIdentityOutputWithContext(ctx context.Context) IamTrustedProfileIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileIdentityOutput) +} + +type IamTrustedProfileIdentityOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileIdentity)(nil)).Elem() +} + +func (o IamTrustedProfileIdentityOutput) ToIamTrustedProfileIdentityOutput() IamTrustedProfileIdentityOutput { + return o +} + +func (o IamTrustedProfileIdentityOutput) ToIamTrustedProfileIdentityOutputWithContext(ctx context.Context) IamTrustedProfileIdentityOutput { + return o +} + +// Only valid for the type user. Accounts from which a user can assume the trusted profile. +func (o IamTrustedProfileIdentityOutput) Accounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentity) pulumi.StringArrayOutput { return v.Accounts }).(pulumi.StringArrayOutput) +} + +// Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. +func (o IamTrustedProfileIdentityOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentity) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. +func (o IamTrustedProfileIdentityOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentity) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) +} + +// Type of the identity. +func (o IamTrustedProfileIdentityOutput) IdentityType() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentity) pulumi.StringOutput { return v.IdentityType }).(pulumi.StringOutput) +} + +// ID of the trusted profile. +func (o IamTrustedProfileIdentityOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentity) pulumi.StringOutput { return v.ProfileId }).(pulumi.StringOutput) +} + +// Type of the identity. +func (o IamTrustedProfileIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileIdentity) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileIdentityInput)(nil)).Elem(), &IamTrustedProfileIdentity{}) + pulumi.RegisterOutputType(IamTrustedProfileIdentityOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileLink.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileLink.go new file mode 100644 index 000000000..5fd632c4a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileLink.go @@ -0,0 +1,219 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamTrustedProfileLink struct { + pulumi.CustomResourceState + + // The compute resource type. Valid values are VSI, BMS, IKS_SA, ROKS_SA, CE. + CrType pulumi.StringOutput `pulumi:"crType"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // version of the link. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // Link details. + Link IamTrustedProfileLinkLinkOutput `pulumi:"link"` + // the unique identifier of the link. + LinkId pulumi.StringOutput `pulumi:"linkId"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // Optional name of the Link. + Name pulumi.StringOutput `pulumi:"name"` + // ID of the trusted profile. + ProfileId pulumi.StringOutput `pulumi:"profileId"` +} + +// NewIamTrustedProfileLink registers a new resource with the given unique name, arguments, and options. +func NewIamTrustedProfileLink(ctx *pulumi.Context, + name string, args *IamTrustedProfileLinkArgs, opts ...pulumi.ResourceOption) (*IamTrustedProfileLink, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CrType == nil { + return nil, errors.New("invalid value for required argument 'CrType'") + } + if args.Link == nil { + return nil, errors.New("invalid value for required argument 'Link'") + } + if args.ProfileId == nil { + return nil, errors.New("invalid value for required argument 'ProfileId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamTrustedProfileLink + err := ctx.RegisterResource("ibmcloud:index/iamTrustedProfileLink:IamTrustedProfileLink", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamTrustedProfileLink gets an existing IamTrustedProfileLink resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamTrustedProfileLink(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamTrustedProfileLinkState, opts ...pulumi.ResourceOption) (*IamTrustedProfileLink, error) { + var resource IamTrustedProfileLink + err := ctx.ReadResource("ibmcloud:index/iamTrustedProfileLink:IamTrustedProfileLink", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamTrustedProfileLink resources. +type iamTrustedProfileLinkState struct { + // The compute resource type. Valid values are VSI, BMS, IKS_SA, ROKS_SA, CE. + CrType *string `pulumi:"crType"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt *string `pulumi:"createdAt"` + // version of the link. + EntityTag *string `pulumi:"entityTag"` + // Link details. + Link *IamTrustedProfileLinkLink `pulumi:"link"` + // the unique identifier of the link. + LinkId *string `pulumi:"linkId"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt *string `pulumi:"modifiedAt"` + // Optional name of the Link. + Name *string `pulumi:"name"` + // ID of the trusted profile. + ProfileId *string `pulumi:"profileId"` +} + +type IamTrustedProfileLinkState struct { + // The compute resource type. Valid values are VSI, BMS, IKS_SA, ROKS_SA, CE. + CrType pulumi.StringPtrInput + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringPtrInput + // version of the link. + EntityTag pulumi.StringPtrInput + // Link details. + Link IamTrustedProfileLinkLinkPtrInput + // the unique identifier of the link. + LinkId pulumi.StringPtrInput + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringPtrInput + // Optional name of the Link. + Name pulumi.StringPtrInput + // ID of the trusted profile. + ProfileId pulumi.StringPtrInput +} + +func (IamTrustedProfileLinkState) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileLinkState)(nil)).Elem() +} + +type iamTrustedProfileLinkArgs struct { + // The compute resource type. Valid values are VSI, BMS, IKS_SA, ROKS_SA, CE. + CrType string `pulumi:"crType"` + // Link details. + Link IamTrustedProfileLinkLink `pulumi:"link"` + // Optional name of the Link. + Name *string `pulumi:"name"` + // ID of the trusted profile. + ProfileId string `pulumi:"profileId"` +} + +// The set of arguments for constructing a IamTrustedProfileLink resource. +type IamTrustedProfileLinkArgs struct { + // The compute resource type. Valid values are VSI, BMS, IKS_SA, ROKS_SA, CE. + CrType pulumi.StringInput + // Link details. + Link IamTrustedProfileLinkLinkInput + // Optional name of the Link. + Name pulumi.StringPtrInput + // ID of the trusted profile. + ProfileId pulumi.StringInput +} + +func (IamTrustedProfileLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileLinkArgs)(nil)).Elem() +} + +type IamTrustedProfileLinkInput interface { + pulumi.Input + + ToIamTrustedProfileLinkOutput() IamTrustedProfileLinkOutput + ToIamTrustedProfileLinkOutputWithContext(ctx context.Context) IamTrustedProfileLinkOutput +} + +func (*IamTrustedProfileLink) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileLink)(nil)).Elem() +} + +func (i *IamTrustedProfileLink) ToIamTrustedProfileLinkOutput() IamTrustedProfileLinkOutput { + return i.ToIamTrustedProfileLinkOutputWithContext(context.Background()) +} + +func (i *IamTrustedProfileLink) ToIamTrustedProfileLinkOutputWithContext(ctx context.Context) IamTrustedProfileLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileLinkOutput) +} + +type IamTrustedProfileLinkOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileLink)(nil)).Elem() +} + +func (o IamTrustedProfileLinkOutput) ToIamTrustedProfileLinkOutput() IamTrustedProfileLinkOutput { + return o +} + +func (o IamTrustedProfileLinkOutput) ToIamTrustedProfileLinkOutputWithContext(ctx context.Context) IamTrustedProfileLinkOutput { + return o +} + +// The compute resource type. Valid values are VSI, BMS, IKS_SA, ROKS_SA, CE. +func (o IamTrustedProfileLinkOutput) CrType() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileLink) pulumi.StringOutput { return v.CrType }).(pulumi.StringOutput) +} + +// If set contains a date time string of the creation date in ISO format. +func (o IamTrustedProfileLinkOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileLink) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// version of the link. +func (o IamTrustedProfileLinkOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileLink) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// Link details. +func (o IamTrustedProfileLinkOutput) Link() IamTrustedProfileLinkLinkOutput { + return o.ApplyT(func(v *IamTrustedProfileLink) IamTrustedProfileLinkLinkOutput { return v.Link }).(IamTrustedProfileLinkLinkOutput) +} + +// the unique identifier of the link. +func (o IamTrustedProfileLinkOutput) LinkId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileLink) pulumi.StringOutput { return v.LinkId }).(pulumi.StringOutput) +} + +// If set contains a date time string of the last modification date in ISO format. +func (o IamTrustedProfileLinkOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileLink) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// Optional name of the Link. +func (o IamTrustedProfileLinkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileLink) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// ID of the trusted profile. +func (o IamTrustedProfileLinkOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileLink) pulumi.StringOutput { return v.ProfileId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileLinkInput)(nil)).Elem(), &IamTrustedProfileLink{}) + pulumi.RegisterOutputType(IamTrustedProfileLinkOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfilePolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfilePolicy.go new file mode 100644 index 000000000..dc5f1e8cc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfilePolicy.go @@ -0,0 +1,308 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamTrustedProfilePolicy struct { + pulumi.CustomResourceState + + // Give access to all account management services + AccountManagement pulumi.BoolPtrOutput `pulumi:"accountManagement"` + // Description of the Policy + Description pulumi.StringPtrOutput `pulumi:"description"` + // IAM ID of Trusted Profile + IamId pulumi.StringPtrOutput `pulumi:"iamId"` + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrOutput `pulumi:"pattern"` + // UUID of Trusted Profile + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + ProfileId pulumi.StringPtrOutput `pulumi:"profileId"` + // Set resource attributes. + ResourceAttributes IamTrustedProfilePolicyResourceAttributeArrayOutput `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags IamTrustedProfilePolicyResourceTagArrayOutput `pulumi:"resourceTags"` + Resources IamTrustedProfilePolicyResourcesPtrOutput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayOutput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions IamTrustedProfilePolicyRuleConditionArrayOutput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrOutput `pulumi:"ruleOperator"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Set transactionID for debug + TransactionId pulumi.StringOutput `pulumi:"transactionId"` +} + +// NewIamTrustedProfilePolicy registers a new resource with the given unique name, arguments, and options. +func NewIamTrustedProfilePolicy(ctx *pulumi.Context, + name string, args *IamTrustedProfilePolicyArgs, opts ...pulumi.ResourceOption) (*IamTrustedProfilePolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Roles == nil { + return nil, errors.New("invalid value for required argument 'Roles'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamTrustedProfilePolicy + err := ctx.RegisterResource("ibmcloud:index/iamTrustedProfilePolicy:IamTrustedProfilePolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamTrustedProfilePolicy gets an existing IamTrustedProfilePolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamTrustedProfilePolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamTrustedProfilePolicyState, opts ...pulumi.ResourceOption) (*IamTrustedProfilePolicy, error) { + var resource IamTrustedProfilePolicy + err := ctx.ReadResource("ibmcloud:index/iamTrustedProfilePolicy:IamTrustedProfilePolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamTrustedProfilePolicy resources. +type iamTrustedProfilePolicyState struct { + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + // Description of the Policy + Description *string `pulumi:"description"` + // IAM ID of Trusted Profile + IamId *string `pulumi:"iamId"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // UUID of Trusted Profile + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + ProfileId *string `pulumi:"profileId"` + // Set resource attributes. + ResourceAttributes []IamTrustedProfilePolicyResourceAttribute `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags []IamTrustedProfilePolicyResourceTag `pulumi:"resourceTags"` + Resources *IamTrustedProfilePolicyResources `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamTrustedProfilePolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + Tags []string `pulumi:"tags"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` +} + +type IamTrustedProfilePolicyState struct { + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput + // Description of the Policy + Description pulumi.StringPtrInput + // IAM ID of Trusted Profile + IamId pulumi.StringPtrInput + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput + // UUID of Trusted Profile + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + ProfileId pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamTrustedProfilePolicyResourceAttributeArrayInput + // Set access management tags. + ResourceTags IamTrustedProfilePolicyResourceTagArrayInput + Resources IamTrustedProfilePolicyResourcesPtrInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // Rule conditions enforced by the policy + RuleConditions IamTrustedProfilePolicyRuleConditionArrayInput + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput +} + +func (IamTrustedProfilePolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfilePolicyState)(nil)).Elem() +} + +type iamTrustedProfilePolicyArgs struct { + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + // Description of the Policy + Description *string `pulumi:"description"` + // IAM ID of Trusted Profile + IamId *string `pulumi:"iamId"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // UUID of Trusted Profile + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + ProfileId *string `pulumi:"profileId"` + // Set resource attributes. + ResourceAttributes []IamTrustedProfilePolicyResourceAttribute `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags []IamTrustedProfilePolicyResourceTag `pulumi:"resourceTags"` + Resources *IamTrustedProfilePolicyResources `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamTrustedProfilePolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + Tags []string `pulumi:"tags"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` +} + +// The set of arguments for constructing a IamTrustedProfilePolicy resource. +type IamTrustedProfilePolicyArgs struct { + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput + // Description of the Policy + Description pulumi.StringPtrInput + // IAM ID of Trusted Profile + IamId pulumi.StringPtrInput + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput + // UUID of Trusted Profile + // + // Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. + ProfileId pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamTrustedProfilePolicyResourceAttributeArrayInput + // Set access management tags. + ResourceTags IamTrustedProfilePolicyResourceTagArrayInput + Resources IamTrustedProfilePolicyResourcesPtrInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // Rule conditions enforced by the policy + RuleConditions IamTrustedProfilePolicyRuleConditionArrayInput + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput +} + +func (IamTrustedProfilePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfilePolicyArgs)(nil)).Elem() +} + +type IamTrustedProfilePolicyInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyOutput() IamTrustedProfilePolicyOutput + ToIamTrustedProfilePolicyOutputWithContext(ctx context.Context) IamTrustedProfilePolicyOutput +} + +func (*IamTrustedProfilePolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfilePolicy)(nil)).Elem() +} + +func (i *IamTrustedProfilePolicy) ToIamTrustedProfilePolicyOutput() IamTrustedProfilePolicyOutput { + return i.ToIamTrustedProfilePolicyOutputWithContext(context.Background()) +} + +func (i *IamTrustedProfilePolicy) ToIamTrustedProfilePolicyOutputWithContext(ctx context.Context) IamTrustedProfilePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyOutput) +} + +type IamTrustedProfilePolicyOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfilePolicy)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyOutput) ToIamTrustedProfilePolicyOutput() IamTrustedProfilePolicyOutput { + return o +} + +func (o IamTrustedProfilePolicyOutput) ToIamTrustedProfilePolicyOutputWithContext(ctx context.Context) IamTrustedProfilePolicyOutput { + return o +} + +// Give access to all account management services +func (o IamTrustedProfilePolicyOutput) AccountManagement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.BoolPtrOutput { return v.AccountManagement }).(pulumi.BoolPtrOutput) +} + +// Description of the Policy +func (o IamTrustedProfilePolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// IAM ID of Trusted Profile +func (o IamTrustedProfilePolicyOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.StringPtrOutput { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Pattern rule follows for time-based condition +func (o IamTrustedProfilePolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.StringPtrOutput { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// UUID of Trusted Profile +// +// Deprecated: This field is deprecated and will be removed starting with this 1.82.0 release. Please use iamId field instead. +func (o IamTrustedProfilePolicyOutput) ProfileId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.StringPtrOutput { return v.ProfileId }).(pulumi.StringPtrOutput) +} + +// Set resource attributes. +func (o IamTrustedProfilePolicyOutput) ResourceAttributes() IamTrustedProfilePolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) IamTrustedProfilePolicyResourceAttributeArrayOutput { + return v.ResourceAttributes + }).(IamTrustedProfilePolicyResourceAttributeArrayOutput) +} + +// Set access management tags. +func (o IamTrustedProfilePolicyOutput) ResourceTags() IamTrustedProfilePolicyResourceTagArrayOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) IamTrustedProfilePolicyResourceTagArrayOutput { return v.ResourceTags }).(IamTrustedProfilePolicyResourceTagArrayOutput) +} + +func (o IamTrustedProfilePolicyOutput) Resources() IamTrustedProfilePolicyResourcesPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) IamTrustedProfilePolicyResourcesPtrOutput { return v.Resources }).(IamTrustedProfilePolicyResourcesPtrOutput) +} + +// Role names of the policy definition +func (o IamTrustedProfilePolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o IamTrustedProfilePolicyOutput) RuleConditions() IamTrustedProfilePolicyRuleConditionArrayOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) IamTrustedProfilePolicyRuleConditionArrayOutput { + return v.RuleConditions + }).(IamTrustedProfilePolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o IamTrustedProfilePolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.StringPtrOutput { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +func (o IamTrustedProfilePolicyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Set transactionID for debug +func (o IamTrustedProfilePolicyOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicy) pulumi.StringOutput { return v.TransactionId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyInput)(nil)).Elem(), &IamTrustedProfilePolicy{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileTemplate.go new file mode 100644 index 000000000..15f2258e2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileTemplate.go @@ -0,0 +1,300 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamTrustedProfileTemplate struct { + pulumi.CustomResourceState + + // ID of the account where the template resides. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // Committed flag determines if the template is ready for assignment. + Committed pulumi.BoolOutput `pulumi:"committed"` + // Timestamp of when the template was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // IAMid of the creator. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // Cloud resource name. + Crn pulumi.StringOutput `pulumi:"crn"` + // The description of the trusted profile template. Describe the template for enterprise account users. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Entity tag for this templateId-version combination. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // History of the trusted profile template. + Histories IamTrustedProfileTemplateHistoryArrayOutput `pulumi:"histories"` + // Timestamp of when the template was last modified. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // IAMid of the identity that made the latest modification. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // The name of the trusted profile template. This is visible only in the enterprise account. + Name pulumi.StringOutput `pulumi:"name"` + // Existing policy templates that you can reference to assign access in the trusted profile component. + PolicyTemplateReferences IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput `pulumi:"policyTemplateReferences"` + // Input body parameters for the TemplateProfileComponent. + Profile IamTrustedProfileTemplateProfilePtrOutput `pulumi:"profile"` + // ID of the the template. + TemplateId pulumi.StringPtrOutput `pulumi:"templateId"` + // Version of the the template. + Version pulumi.IntOutput `pulumi:"version"` +} + +// NewIamTrustedProfileTemplate registers a new resource with the given unique name, arguments, and options. +func NewIamTrustedProfileTemplate(ctx *pulumi.Context, + name string, args *IamTrustedProfileTemplateArgs, opts ...pulumi.ResourceOption) (*IamTrustedProfileTemplate, error) { + if args == nil { + args = &IamTrustedProfileTemplateArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamTrustedProfileTemplate + err := ctx.RegisterResource("ibmcloud:index/iamTrustedProfileTemplate:IamTrustedProfileTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamTrustedProfileTemplate gets an existing IamTrustedProfileTemplate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamTrustedProfileTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamTrustedProfileTemplateState, opts ...pulumi.ResourceOption) (*IamTrustedProfileTemplate, error) { + var resource IamTrustedProfileTemplate + err := ctx.ReadResource("ibmcloud:index/iamTrustedProfileTemplate:IamTrustedProfileTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamTrustedProfileTemplate resources. +type iamTrustedProfileTemplateState struct { + // ID of the account where the template resides. + AccountId *string `pulumi:"accountId"` + // Committed flag determines if the template is ready for assignment. + Committed *bool `pulumi:"committed"` + // Timestamp of when the template was created. + CreatedAt *string `pulumi:"createdAt"` + // IAMid of the creator. + CreatedById *string `pulumi:"createdById"` + // Cloud resource name. + Crn *string `pulumi:"crn"` + // The description of the trusted profile template. Describe the template for enterprise account users. + Description *string `pulumi:"description"` + // Entity tag for this templateId-version combination. + EntityTag *string `pulumi:"entityTag"` + // History of the trusted profile template. + Histories []IamTrustedProfileTemplateHistory `pulumi:"histories"` + // Timestamp of when the template was last modified. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // IAMid of the identity that made the latest modification. + LastModifiedById *string `pulumi:"lastModifiedById"` + // The name of the trusted profile template. This is visible only in the enterprise account. + Name *string `pulumi:"name"` + // Existing policy templates that you can reference to assign access in the trusted profile component. + PolicyTemplateReferences []IamTrustedProfileTemplatePolicyTemplateReference `pulumi:"policyTemplateReferences"` + // Input body parameters for the TemplateProfileComponent. + Profile *IamTrustedProfileTemplateProfile `pulumi:"profile"` + // ID of the the template. + TemplateId *string `pulumi:"templateId"` + // Version of the the template. + Version *int `pulumi:"version"` +} + +type IamTrustedProfileTemplateState struct { + // ID of the account where the template resides. + AccountId pulumi.StringPtrInput + // Committed flag determines if the template is ready for assignment. + Committed pulumi.BoolPtrInput + // Timestamp of when the template was created. + CreatedAt pulumi.StringPtrInput + // IAMid of the creator. + CreatedById pulumi.StringPtrInput + // Cloud resource name. + Crn pulumi.StringPtrInput + // The description of the trusted profile template. Describe the template for enterprise account users. + Description pulumi.StringPtrInput + // Entity tag for this templateId-version combination. + EntityTag pulumi.StringPtrInput + // History of the trusted profile template. + Histories IamTrustedProfileTemplateHistoryArrayInput + // Timestamp of when the template was last modified. + LastModifiedAt pulumi.StringPtrInput + // IAMid of the identity that made the latest modification. + LastModifiedById pulumi.StringPtrInput + // The name of the trusted profile template. This is visible only in the enterprise account. + Name pulumi.StringPtrInput + // Existing policy templates that you can reference to assign access in the trusted profile component. + PolicyTemplateReferences IamTrustedProfileTemplatePolicyTemplateReferenceArrayInput + // Input body parameters for the TemplateProfileComponent. + Profile IamTrustedProfileTemplateProfilePtrInput + // ID of the the template. + TemplateId pulumi.StringPtrInput + // Version of the the template. + Version pulumi.IntPtrInput +} + +func (IamTrustedProfileTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileTemplateState)(nil)).Elem() +} + +type iamTrustedProfileTemplateArgs struct { + // ID of the account where the template resides. + AccountId *string `pulumi:"accountId"` + // Committed flag determines if the template is ready for assignment. + Committed *bool `pulumi:"committed"` + // The description of the trusted profile template. Describe the template for enterprise account users. + Description *string `pulumi:"description"` + // The name of the trusted profile template. This is visible only in the enterprise account. + Name *string `pulumi:"name"` + // Existing policy templates that you can reference to assign access in the trusted profile component. + PolicyTemplateReferences []IamTrustedProfileTemplatePolicyTemplateReference `pulumi:"policyTemplateReferences"` + // Input body parameters for the TemplateProfileComponent. + Profile *IamTrustedProfileTemplateProfile `pulumi:"profile"` + // ID of the the template. + TemplateId *string `pulumi:"templateId"` +} + +// The set of arguments for constructing a IamTrustedProfileTemplate resource. +type IamTrustedProfileTemplateArgs struct { + // ID of the account where the template resides. + AccountId pulumi.StringPtrInput + // Committed flag determines if the template is ready for assignment. + Committed pulumi.BoolPtrInput + // The description of the trusted profile template. Describe the template for enterprise account users. + Description pulumi.StringPtrInput + // The name of the trusted profile template. This is visible only in the enterprise account. + Name pulumi.StringPtrInput + // Existing policy templates that you can reference to assign access in the trusted profile component. + PolicyTemplateReferences IamTrustedProfileTemplatePolicyTemplateReferenceArrayInput + // Input body parameters for the TemplateProfileComponent. + Profile IamTrustedProfileTemplateProfilePtrInput + // ID of the the template. + TemplateId pulumi.StringPtrInput +} + +func (IamTrustedProfileTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileTemplateArgs)(nil)).Elem() +} + +type IamTrustedProfileTemplateInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateOutput() IamTrustedProfileTemplateOutput + ToIamTrustedProfileTemplateOutputWithContext(ctx context.Context) IamTrustedProfileTemplateOutput +} + +func (*IamTrustedProfileTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileTemplate)(nil)).Elem() +} + +func (i *IamTrustedProfileTemplate) ToIamTrustedProfileTemplateOutput() IamTrustedProfileTemplateOutput { + return i.ToIamTrustedProfileTemplateOutputWithContext(context.Background()) +} + +func (i *IamTrustedProfileTemplate) ToIamTrustedProfileTemplateOutputWithContext(ctx context.Context) IamTrustedProfileTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateOutput) +} + +type IamTrustedProfileTemplateOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileTemplate)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateOutput) ToIamTrustedProfileTemplateOutput() IamTrustedProfileTemplateOutput { + return o +} + +func (o IamTrustedProfileTemplateOutput) ToIamTrustedProfileTemplateOutputWithContext(ctx context.Context) IamTrustedProfileTemplateOutput { + return o +} + +// ID of the account where the template resides. +func (o IamTrustedProfileTemplateOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// Committed flag determines if the template is ready for assignment. +func (o IamTrustedProfileTemplateOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.BoolOutput { return v.Committed }).(pulumi.BoolOutput) +} + +// Timestamp of when the template was created. +func (o IamTrustedProfileTemplateOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// IAMid of the creator. +func (o IamTrustedProfileTemplateOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// Cloud resource name. +func (o IamTrustedProfileTemplateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The description of the trusted profile template. Describe the template for enterprise account users. +func (o IamTrustedProfileTemplateOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Entity tag for this templateId-version combination. +func (o IamTrustedProfileTemplateOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// History of the trusted profile template. +func (o IamTrustedProfileTemplateOutput) Histories() IamTrustedProfileTemplateHistoryArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) IamTrustedProfileTemplateHistoryArrayOutput { return v.Histories }).(IamTrustedProfileTemplateHistoryArrayOutput) +} + +// Timestamp of when the template was last modified. +func (o IamTrustedProfileTemplateOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// IAMid of the identity that made the latest modification. +func (o IamTrustedProfileTemplateOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The name of the trusted profile template. This is visible only in the enterprise account. +func (o IamTrustedProfileTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Existing policy templates that you can reference to assign access in the trusted profile component. +func (o IamTrustedProfileTemplateOutput) PolicyTemplateReferences() IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return v.PolicyTemplateReferences + }).(IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) +} + +// Input body parameters for the TemplateProfileComponent. +func (o IamTrustedProfileTemplateOutput) Profile() IamTrustedProfileTemplateProfilePtrOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) IamTrustedProfileTemplateProfilePtrOutput { return v.Profile }).(IamTrustedProfileTemplateProfilePtrOutput) +} + +// ID of the the template. +func (o IamTrustedProfileTemplateOutput) TemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.StringPtrOutput { return v.TemplateId }).(pulumi.StringPtrOutput) +} + +// Version of the the template. +func (o IamTrustedProfileTemplateOutput) Version() pulumi.IntOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplate) pulumi.IntOutput { return v.Version }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateInput)(nil)).Elem(), &IamTrustedProfileTemplate{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileTemplateAssignment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileTemplateAssignment.go new file mode 100644 index 000000000..a40fa95e3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamTrustedProfileTemplateAssignment.go @@ -0,0 +1,305 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamTrustedProfileTemplateAssignment struct { + pulumi.CustomResourceState + + // Enterprise account Id. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // Context with key properties for problem determination. + Contexts IamTrustedProfileTemplateAssignmentContextArrayOutput `pulumi:"contexts"` + // Assignment created at. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // IAMid of the identity that created the assignment. + CreatedById pulumi.StringOutput `pulumi:"createdById"` + // Entity tag for this assignment record. + EntityTag pulumi.StringOutput `pulumi:"entityTag"` + // Assignment history. + Histories IamTrustedProfileTemplateAssignmentHistoryArrayOutput `pulumi:"histories"` + // Href. + Href pulumi.StringOutput `pulumi:"href"` + // Assignment modified at. + LastModifiedAt pulumi.StringOutput `pulumi:"lastModifiedAt"` + // IAMid of the identity that last modified the assignment. + LastModifiedById pulumi.StringOutput `pulumi:"lastModifiedById"` + // Status breakdown per target account of IAM resources created or errors encountered in attempting to create those IAM resources. IAM resources are only included in the response providing the assignment is not in progress. IAM resources are also only included when getting a single assignment, and excluded by list APIs. + Resources IamTrustedProfileTemplateAssignmentResourceArrayOutput `pulumi:"resources"` + // Assignment status. + Status pulumi.StringOutput `pulumi:"status"` + // Assignment target. + Target pulumi.StringOutput `pulumi:"target"` + // Assignment target type. + TargetType pulumi.StringOutput `pulumi:"targetType"` + // Template Id. + TemplateId pulumi.StringOutput `pulumi:"templateId"` + // Template version. + TemplateVersion pulumi.IntOutput `pulumi:"templateVersion"` +} + +// NewIamTrustedProfileTemplateAssignment registers a new resource with the given unique name, arguments, and options. +func NewIamTrustedProfileTemplateAssignment(ctx *pulumi.Context, + name string, args *IamTrustedProfileTemplateAssignmentArgs, opts ...pulumi.ResourceOption) (*IamTrustedProfileTemplateAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Target == nil { + return nil, errors.New("invalid value for required argument 'Target'") + } + if args.TargetType == nil { + return nil, errors.New("invalid value for required argument 'TargetType'") + } + if args.TemplateId == nil { + return nil, errors.New("invalid value for required argument 'TemplateId'") + } + if args.TemplateVersion == nil { + return nil, errors.New("invalid value for required argument 'TemplateVersion'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamTrustedProfileTemplateAssignment + err := ctx.RegisterResource("ibmcloud:index/iamTrustedProfileTemplateAssignment:IamTrustedProfileTemplateAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamTrustedProfileTemplateAssignment gets an existing IamTrustedProfileTemplateAssignment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamTrustedProfileTemplateAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamTrustedProfileTemplateAssignmentState, opts ...pulumi.ResourceOption) (*IamTrustedProfileTemplateAssignment, error) { + var resource IamTrustedProfileTemplateAssignment + err := ctx.ReadResource("ibmcloud:index/iamTrustedProfileTemplateAssignment:IamTrustedProfileTemplateAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamTrustedProfileTemplateAssignment resources. +type iamTrustedProfileTemplateAssignmentState struct { + // Enterprise account Id. + AccountId *string `pulumi:"accountId"` + // Context with key properties for problem determination. + Contexts []IamTrustedProfileTemplateAssignmentContext `pulumi:"contexts"` + // Assignment created at. + CreatedAt *string `pulumi:"createdAt"` + // IAMid of the identity that created the assignment. + CreatedById *string `pulumi:"createdById"` + // Entity tag for this assignment record. + EntityTag *string `pulumi:"entityTag"` + // Assignment history. + Histories []IamTrustedProfileTemplateAssignmentHistory `pulumi:"histories"` + // Href. + Href *string `pulumi:"href"` + // Assignment modified at. + LastModifiedAt *string `pulumi:"lastModifiedAt"` + // IAMid of the identity that last modified the assignment. + LastModifiedById *string `pulumi:"lastModifiedById"` + // Status breakdown per target account of IAM resources created or errors encountered in attempting to create those IAM resources. IAM resources are only included in the response providing the assignment is not in progress. IAM resources are also only included when getting a single assignment, and excluded by list APIs. + Resources []IamTrustedProfileTemplateAssignmentResource `pulumi:"resources"` + // Assignment status. + Status *string `pulumi:"status"` + // Assignment target. + Target *string `pulumi:"target"` + // Assignment target type. + TargetType *string `pulumi:"targetType"` + // Template Id. + TemplateId *string `pulumi:"templateId"` + // Template version. + TemplateVersion *int `pulumi:"templateVersion"` +} + +type IamTrustedProfileTemplateAssignmentState struct { + // Enterprise account Id. + AccountId pulumi.StringPtrInput + // Context with key properties for problem determination. + Contexts IamTrustedProfileTemplateAssignmentContextArrayInput + // Assignment created at. + CreatedAt pulumi.StringPtrInput + // IAMid of the identity that created the assignment. + CreatedById pulumi.StringPtrInput + // Entity tag for this assignment record. + EntityTag pulumi.StringPtrInput + // Assignment history. + Histories IamTrustedProfileTemplateAssignmentHistoryArrayInput + // Href. + Href pulumi.StringPtrInput + // Assignment modified at. + LastModifiedAt pulumi.StringPtrInput + // IAMid of the identity that last modified the assignment. + LastModifiedById pulumi.StringPtrInput + // Status breakdown per target account of IAM resources created or errors encountered in attempting to create those IAM resources. IAM resources are only included in the response providing the assignment is not in progress. IAM resources are also only included when getting a single assignment, and excluded by list APIs. + Resources IamTrustedProfileTemplateAssignmentResourceArrayInput + // Assignment status. + Status pulumi.StringPtrInput + // Assignment target. + Target pulumi.StringPtrInput + // Assignment target type. + TargetType pulumi.StringPtrInput + // Template Id. + TemplateId pulumi.StringPtrInput + // Template version. + TemplateVersion pulumi.IntPtrInput +} + +func (IamTrustedProfileTemplateAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileTemplateAssignmentState)(nil)).Elem() +} + +type iamTrustedProfileTemplateAssignmentArgs struct { + // Assignment target. + Target string `pulumi:"target"` + // Assignment target type. + TargetType string `pulumi:"targetType"` + // Template Id. + TemplateId string `pulumi:"templateId"` + // Template version. + TemplateVersion int `pulumi:"templateVersion"` +} + +// The set of arguments for constructing a IamTrustedProfileTemplateAssignment resource. +type IamTrustedProfileTemplateAssignmentArgs struct { + // Assignment target. + Target pulumi.StringInput + // Assignment target type. + TargetType pulumi.StringInput + // Template Id. + TemplateId pulumi.StringInput + // Template version. + TemplateVersion pulumi.IntInput +} + +func (IamTrustedProfileTemplateAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamTrustedProfileTemplateAssignmentArgs)(nil)).Elem() +} + +type IamTrustedProfileTemplateAssignmentInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentOutput() IamTrustedProfileTemplateAssignmentOutput + ToIamTrustedProfileTemplateAssignmentOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentOutput +} + +func (*IamTrustedProfileTemplateAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileTemplateAssignment)(nil)).Elem() +} + +func (i *IamTrustedProfileTemplateAssignment) ToIamTrustedProfileTemplateAssignmentOutput() IamTrustedProfileTemplateAssignmentOutput { + return i.ToIamTrustedProfileTemplateAssignmentOutputWithContext(context.Background()) +} + +func (i *IamTrustedProfileTemplateAssignment) ToIamTrustedProfileTemplateAssignmentOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentOutput) +} + +type IamTrustedProfileTemplateAssignmentOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileTemplateAssignment)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentOutput) ToIamTrustedProfileTemplateAssignmentOutput() IamTrustedProfileTemplateAssignmentOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentOutput) ToIamTrustedProfileTemplateAssignmentOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentOutput { + return o +} + +// Enterprise account Id. +func (o IamTrustedProfileTemplateAssignmentOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// Context with key properties for problem determination. +func (o IamTrustedProfileTemplateAssignmentOutput) Contexts() IamTrustedProfileTemplateAssignmentContextArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) IamTrustedProfileTemplateAssignmentContextArrayOutput { + return v.Contexts + }).(IamTrustedProfileTemplateAssignmentContextArrayOutput) +} + +// Assignment created at. +func (o IamTrustedProfileTemplateAssignmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// IAMid of the identity that created the assignment. +func (o IamTrustedProfileTemplateAssignmentOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.CreatedById }).(pulumi.StringOutput) +} + +// Entity tag for this assignment record. +func (o IamTrustedProfileTemplateAssignmentOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.EntityTag }).(pulumi.StringOutput) +} + +// Assignment history. +func (o IamTrustedProfileTemplateAssignmentOutput) Histories() IamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) IamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return v.Histories + }).(IamTrustedProfileTemplateAssignmentHistoryArrayOutput) +} + +// Href. +func (o IamTrustedProfileTemplateAssignmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Assignment modified at. +func (o IamTrustedProfileTemplateAssignmentOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// IAMid of the identity that last modified the assignment. +func (o IamTrustedProfileTemplateAssignmentOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// Status breakdown per target account of IAM resources created or errors encountered in attempting to create those IAM resources. IAM resources are only included in the response providing the assignment is not in progress. IAM resources are also only included when getting a single assignment, and excluded by list APIs. +func (o IamTrustedProfileTemplateAssignmentOutput) Resources() IamTrustedProfileTemplateAssignmentResourceArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) IamTrustedProfileTemplateAssignmentResourceArrayOutput { + return v.Resources + }).(IamTrustedProfileTemplateAssignmentResourceArrayOutput) +} + +// Assignment status. +func (o IamTrustedProfileTemplateAssignmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Assignment target. +func (o IamTrustedProfileTemplateAssignmentOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// Assignment target type. +func (o IamTrustedProfileTemplateAssignmentOutput) TargetType() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.TargetType }).(pulumi.StringOutput) +} + +// Template Id. +func (o IamTrustedProfileTemplateAssignmentOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// Template version. +func (o IamTrustedProfileTemplateAssignmentOutput) TemplateVersion() pulumi.IntOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateAssignment) pulumi.IntOutput { return v.TemplateVersion }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentInput)(nil)).Elem(), &IamTrustedProfileTemplateAssignment{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserInvite.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserInvite.go new file mode 100644 index 000000000..059e154cf --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserInvite.go @@ -0,0 +1,184 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamUserInvite struct { + pulumi.CustomResourceState + + // access group ids to associate the inviting user + AccessGroups pulumi.StringArrayOutput `pulumi:"accessGroups"` + ClassicInfraRoles IamUserInviteClassicInfraRoleArrayOutput `pulumi:"classicInfraRoles"` + CloudFoundryRoles IamUserInviteCloudFoundryRoleArrayOutput `pulumi:"cloudFoundryRoles"` + IamPolicies IamUserInviteIamPolicyArrayOutput `pulumi:"iamPolicies"` + InvitedUsers IamUserInviteInvitedUserArrayOutput `pulumi:"invitedUsers"` + // Number of users invited to an account + NumberOfInvitedUsers pulumi.IntOutput `pulumi:"numberOfInvitedUsers"` + // List of ibm id or email of user + Users pulumi.StringArrayOutput `pulumi:"users"` +} + +// NewIamUserInvite registers a new resource with the given unique name, arguments, and options. +func NewIamUserInvite(ctx *pulumi.Context, + name string, args *IamUserInviteArgs, opts ...pulumi.ResourceOption) (*IamUserInvite, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Users == nil { + return nil, errors.New("invalid value for required argument 'Users'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamUserInvite + err := ctx.RegisterResource("ibmcloud:index/iamUserInvite:IamUserInvite", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamUserInvite gets an existing IamUserInvite resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamUserInvite(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamUserInviteState, opts ...pulumi.ResourceOption) (*IamUserInvite, error) { + var resource IamUserInvite + err := ctx.ReadResource("ibmcloud:index/iamUserInvite:IamUserInvite", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamUserInvite resources. +type iamUserInviteState struct { + // access group ids to associate the inviting user + AccessGroups []string `pulumi:"accessGroups"` + ClassicInfraRoles []IamUserInviteClassicInfraRole `pulumi:"classicInfraRoles"` + CloudFoundryRoles []IamUserInviteCloudFoundryRole `pulumi:"cloudFoundryRoles"` + IamPolicies []IamUserInviteIamPolicy `pulumi:"iamPolicies"` + InvitedUsers []IamUserInviteInvitedUser `pulumi:"invitedUsers"` + // Number of users invited to an account + NumberOfInvitedUsers *int `pulumi:"numberOfInvitedUsers"` + // List of ibm id or email of user + Users []string `pulumi:"users"` +} + +type IamUserInviteState struct { + // access group ids to associate the inviting user + AccessGroups pulumi.StringArrayInput + ClassicInfraRoles IamUserInviteClassicInfraRoleArrayInput + CloudFoundryRoles IamUserInviteCloudFoundryRoleArrayInput + IamPolicies IamUserInviteIamPolicyArrayInput + InvitedUsers IamUserInviteInvitedUserArrayInput + // Number of users invited to an account + NumberOfInvitedUsers pulumi.IntPtrInput + // List of ibm id or email of user + Users pulumi.StringArrayInput +} + +func (IamUserInviteState) ElementType() reflect.Type { + return reflect.TypeOf((*iamUserInviteState)(nil)).Elem() +} + +type iamUserInviteArgs struct { + // access group ids to associate the inviting user + AccessGroups []string `pulumi:"accessGroups"` + ClassicInfraRoles []IamUserInviteClassicInfraRole `pulumi:"classicInfraRoles"` + CloudFoundryRoles []IamUserInviteCloudFoundryRole `pulumi:"cloudFoundryRoles"` + IamPolicies []IamUserInviteIamPolicy `pulumi:"iamPolicies"` + // List of ibm id or email of user + Users []string `pulumi:"users"` +} + +// The set of arguments for constructing a IamUserInvite resource. +type IamUserInviteArgs struct { + // access group ids to associate the inviting user + AccessGroups pulumi.StringArrayInput + ClassicInfraRoles IamUserInviteClassicInfraRoleArrayInput + CloudFoundryRoles IamUserInviteCloudFoundryRoleArrayInput + IamPolicies IamUserInviteIamPolicyArrayInput + // List of ibm id or email of user + Users pulumi.StringArrayInput +} + +func (IamUserInviteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamUserInviteArgs)(nil)).Elem() +} + +type IamUserInviteInput interface { + pulumi.Input + + ToIamUserInviteOutput() IamUserInviteOutput + ToIamUserInviteOutputWithContext(ctx context.Context) IamUserInviteOutput +} + +func (*IamUserInvite) ElementType() reflect.Type { + return reflect.TypeOf((**IamUserInvite)(nil)).Elem() +} + +func (i *IamUserInvite) ToIamUserInviteOutput() IamUserInviteOutput { + return i.ToIamUserInviteOutputWithContext(context.Background()) +} + +func (i *IamUserInvite) ToIamUserInviteOutputWithContext(ctx context.Context) IamUserInviteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteOutput) +} + +type IamUserInviteOutput struct{ *pulumi.OutputState } + +func (IamUserInviteOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamUserInvite)(nil)).Elem() +} + +func (o IamUserInviteOutput) ToIamUserInviteOutput() IamUserInviteOutput { + return o +} + +func (o IamUserInviteOutput) ToIamUserInviteOutputWithContext(ctx context.Context) IamUserInviteOutput { + return o +} + +// access group ids to associate the inviting user +func (o IamUserInviteOutput) AccessGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamUserInvite) pulumi.StringArrayOutput { return v.AccessGroups }).(pulumi.StringArrayOutput) +} + +func (o IamUserInviteOutput) ClassicInfraRoles() IamUserInviteClassicInfraRoleArrayOutput { + return o.ApplyT(func(v *IamUserInvite) IamUserInviteClassicInfraRoleArrayOutput { return v.ClassicInfraRoles }).(IamUserInviteClassicInfraRoleArrayOutput) +} + +func (o IamUserInviteOutput) CloudFoundryRoles() IamUserInviteCloudFoundryRoleArrayOutput { + return o.ApplyT(func(v *IamUserInvite) IamUserInviteCloudFoundryRoleArrayOutput { return v.CloudFoundryRoles }).(IamUserInviteCloudFoundryRoleArrayOutput) +} + +func (o IamUserInviteOutput) IamPolicies() IamUserInviteIamPolicyArrayOutput { + return o.ApplyT(func(v *IamUserInvite) IamUserInviteIamPolicyArrayOutput { return v.IamPolicies }).(IamUserInviteIamPolicyArrayOutput) +} + +func (o IamUserInviteOutput) InvitedUsers() IamUserInviteInvitedUserArrayOutput { + return o.ApplyT(func(v *IamUserInvite) IamUserInviteInvitedUserArrayOutput { return v.InvitedUsers }).(IamUserInviteInvitedUserArrayOutput) +} + +// Number of users invited to an account +func (o IamUserInviteOutput) NumberOfInvitedUsers() pulumi.IntOutput { + return o.ApplyT(func(v *IamUserInvite) pulumi.IntOutput { return v.NumberOfInvitedUsers }).(pulumi.IntOutput) +} + +// List of ibm id or email of user +func (o IamUserInviteOutput) Users() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamUserInvite) pulumi.StringArrayOutput { return v.Users }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInput)(nil)).Elem(), &IamUserInvite{}) + pulumi.RegisterOutputType(IamUserInviteOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserPolicy.go new file mode 100644 index 000000000..209b0d9bb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserPolicy.go @@ -0,0 +1,280 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamUserPolicy struct { + pulumi.CustomResourceState + + // Give access to all account management services + AccountManagement pulumi.BoolPtrOutput `pulumi:"accountManagement"` + // Description of the Policy + Description pulumi.StringPtrOutput `pulumi:"description"` + // The ibm id or email of user + IbmId pulumi.StringOutput `pulumi:"ibmId"` + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrOutput `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes IamUserPolicyResourceAttributeArrayOutput `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags IamUserPolicyResourceTagArrayOutput `pulumi:"resourceTags"` + Resources IamUserPolicyResourcesPtrOutput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayOutput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions IamUserPolicyRuleConditionArrayOutput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrOutput `pulumi:"ruleOperator"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Set transactionID for debug + TransactionId pulumi.StringOutput `pulumi:"transactionId"` +} + +// NewIamUserPolicy registers a new resource with the given unique name, arguments, and options. +func NewIamUserPolicy(ctx *pulumi.Context, + name string, args *IamUserPolicyArgs, opts ...pulumi.ResourceOption) (*IamUserPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IbmId == nil { + return nil, errors.New("invalid value for required argument 'IbmId'") + } + if args.Roles == nil { + return nil, errors.New("invalid value for required argument 'Roles'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamUserPolicy + err := ctx.RegisterResource("ibmcloud:index/iamUserPolicy:IamUserPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamUserPolicy gets an existing IamUserPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamUserPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamUserPolicyState, opts ...pulumi.ResourceOption) (*IamUserPolicy, error) { + var resource IamUserPolicy + err := ctx.ReadResource("ibmcloud:index/iamUserPolicy:IamUserPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamUserPolicy resources. +type iamUserPolicyState struct { + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + // Description of the Policy + Description *string `pulumi:"description"` + // The ibm id or email of user + IbmId *string `pulumi:"ibmId"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes []IamUserPolicyResourceAttribute `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags []IamUserPolicyResourceTag `pulumi:"resourceTags"` + Resources *IamUserPolicyResources `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamUserPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + Tags []string `pulumi:"tags"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` +} + +type IamUserPolicyState struct { + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput + // Description of the Policy + Description pulumi.StringPtrInput + // The ibm id or email of user + IbmId pulumi.StringPtrInput + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamUserPolicyResourceAttributeArrayInput + // Set access management tags. + ResourceTags IamUserPolicyResourceTagArrayInput + Resources IamUserPolicyResourcesPtrInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // Rule conditions enforced by the policy + RuleConditions IamUserPolicyRuleConditionArrayInput + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput +} + +func (IamUserPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*iamUserPolicyState)(nil)).Elem() +} + +type iamUserPolicyArgs struct { + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + // Description of the Policy + Description *string `pulumi:"description"` + // The ibm id or email of user + IbmId string `pulumi:"ibmId"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set resource attributes. + ResourceAttributes []IamUserPolicyResourceAttribute `pulumi:"resourceAttributes"` + // Set access management tags. + ResourceTags []IamUserPolicyResourceTag `pulumi:"resourceTags"` + Resources *IamUserPolicyResources `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamUserPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + Tags []string `pulumi:"tags"` + // Set transactionID for debug + TransactionId *string `pulumi:"transactionId"` +} + +// The set of arguments for constructing a IamUserPolicy resource. +type IamUserPolicyArgs struct { + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput + // Description of the Policy + Description pulumi.StringPtrInput + // The ibm id or email of user + IbmId pulumi.StringInput + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput + // Set resource attributes. + ResourceAttributes IamUserPolicyResourceAttributeArrayInput + // Set access management tags. + ResourceTags IamUserPolicyResourceTagArrayInput + Resources IamUserPolicyResourcesPtrInput + // Role names of the policy definition + Roles pulumi.StringArrayInput + // Rule conditions enforced by the policy + RuleConditions IamUserPolicyRuleConditionArrayInput + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // Set transactionID for debug + TransactionId pulumi.StringPtrInput +} + +func (IamUserPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamUserPolicyArgs)(nil)).Elem() +} + +type IamUserPolicyInput interface { + pulumi.Input + + ToIamUserPolicyOutput() IamUserPolicyOutput + ToIamUserPolicyOutputWithContext(ctx context.Context) IamUserPolicyOutput +} + +func (*IamUserPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IamUserPolicy)(nil)).Elem() +} + +func (i *IamUserPolicy) ToIamUserPolicyOutput() IamUserPolicyOutput { + return i.ToIamUserPolicyOutputWithContext(context.Background()) +} + +func (i *IamUserPolicy) ToIamUserPolicyOutputWithContext(ctx context.Context) IamUserPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyOutput) +} + +type IamUserPolicyOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamUserPolicy)(nil)).Elem() +} + +func (o IamUserPolicyOutput) ToIamUserPolicyOutput() IamUserPolicyOutput { + return o +} + +func (o IamUserPolicyOutput) ToIamUserPolicyOutputWithContext(ctx context.Context) IamUserPolicyOutput { + return o +} + +// Give access to all account management services +func (o IamUserPolicyOutput) AccountManagement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamUserPolicy) pulumi.BoolPtrOutput { return v.AccountManagement }).(pulumi.BoolPtrOutput) +} + +// Description of the Policy +func (o IamUserPolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicy) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The ibm id or email of user +func (o IamUserPolicyOutput) IbmId() pulumi.StringOutput { + return o.ApplyT(func(v *IamUserPolicy) pulumi.StringOutput { return v.IbmId }).(pulumi.StringOutput) +} + +// Pattern rule follows for time-based condition +func (o IamUserPolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicy) pulumi.StringPtrOutput { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// Set resource attributes. +func (o IamUserPolicyOutput) ResourceAttributes() IamUserPolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v *IamUserPolicy) IamUserPolicyResourceAttributeArrayOutput { return v.ResourceAttributes }).(IamUserPolicyResourceAttributeArrayOutput) +} + +// Set access management tags. +func (o IamUserPolicyOutput) ResourceTags() IamUserPolicyResourceTagArrayOutput { + return o.ApplyT(func(v *IamUserPolicy) IamUserPolicyResourceTagArrayOutput { return v.ResourceTags }).(IamUserPolicyResourceTagArrayOutput) +} + +func (o IamUserPolicyOutput) Resources() IamUserPolicyResourcesPtrOutput { + return o.ApplyT(func(v *IamUserPolicy) IamUserPolicyResourcesPtrOutput { return v.Resources }).(IamUserPolicyResourcesPtrOutput) +} + +// Role names of the policy definition +func (o IamUserPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamUserPolicy) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o IamUserPolicyOutput) RuleConditions() IamUserPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v *IamUserPolicy) IamUserPolicyRuleConditionArrayOutput { return v.RuleConditions }).(IamUserPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o IamUserPolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicy) pulumi.StringPtrOutput { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +func (o IamUserPolicyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamUserPolicy) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Set transactionID for debug +func (o IamUserPolicyOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v *IamUserPolicy) pulumi.StringOutput { return v.TransactionId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyInput)(nil)).Elem(), &IamUserPolicy{}) + pulumi.RegisterOutputType(IamUserPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserSettings.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserSettings.go new file mode 100644 index 000000000..d377f8d50 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/iamUserSettings.go @@ -0,0 +1,139 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IamUserSettings struct { + pulumi.CustomResourceState + + // List of allowed IPv4 or IPv6 addresses + AllowedIpAddresses pulumi.StringArrayOutput `pulumi:"allowedIpAddresses"` + // User's IAM ID or or email of user + IamId pulumi.StringOutput `pulumi:"iamId"` +} + +// NewIamUserSettings registers a new resource with the given unique name, arguments, and options. +func NewIamUserSettings(ctx *pulumi.Context, + name string, args *IamUserSettingsArgs, opts ...pulumi.ResourceOption) (*IamUserSettings, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IamId == nil { + return nil, errors.New("invalid value for required argument 'IamId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IamUserSettings + err := ctx.RegisterResource("ibmcloud:index/iamUserSettings:IamUserSettings", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIamUserSettings gets an existing IamUserSettings resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIamUserSettings(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IamUserSettingsState, opts ...pulumi.ResourceOption) (*IamUserSettings, error) { + var resource IamUserSettings + err := ctx.ReadResource("ibmcloud:index/iamUserSettings:IamUserSettings", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IamUserSettings resources. +type iamUserSettingsState struct { + // List of allowed IPv4 or IPv6 addresses + AllowedIpAddresses []string `pulumi:"allowedIpAddresses"` + // User's IAM ID or or email of user + IamId *string `pulumi:"iamId"` +} + +type IamUserSettingsState struct { + // List of allowed IPv4 or IPv6 addresses + AllowedIpAddresses pulumi.StringArrayInput + // User's IAM ID or or email of user + IamId pulumi.StringPtrInput +} + +func (IamUserSettingsState) ElementType() reflect.Type { + return reflect.TypeOf((*iamUserSettingsState)(nil)).Elem() +} + +type iamUserSettingsArgs struct { + // List of allowed IPv4 or IPv6 addresses + AllowedIpAddresses []string `pulumi:"allowedIpAddresses"` + // User's IAM ID or or email of user + IamId string `pulumi:"iamId"` +} + +// The set of arguments for constructing a IamUserSettings resource. +type IamUserSettingsArgs struct { + // List of allowed IPv4 or IPv6 addresses + AllowedIpAddresses pulumi.StringArrayInput + // User's IAM ID or or email of user + IamId pulumi.StringInput +} + +func (IamUserSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*iamUserSettingsArgs)(nil)).Elem() +} + +type IamUserSettingsInput interface { + pulumi.Input + + ToIamUserSettingsOutput() IamUserSettingsOutput + ToIamUserSettingsOutputWithContext(ctx context.Context) IamUserSettingsOutput +} + +func (*IamUserSettings) ElementType() reflect.Type { + return reflect.TypeOf((**IamUserSettings)(nil)).Elem() +} + +func (i *IamUserSettings) ToIamUserSettingsOutput() IamUserSettingsOutput { + return i.ToIamUserSettingsOutputWithContext(context.Background()) +} + +func (i *IamUserSettings) ToIamUserSettingsOutputWithContext(ctx context.Context) IamUserSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserSettingsOutput) +} + +type IamUserSettingsOutput struct{ *pulumi.OutputState } + +func (IamUserSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamUserSettings)(nil)).Elem() +} + +func (o IamUserSettingsOutput) ToIamUserSettingsOutput() IamUserSettingsOutput { + return o +} + +func (o IamUserSettingsOutput) ToIamUserSettingsOutputWithContext(ctx context.Context) IamUserSettingsOutput { + return o +} + +// List of allowed IPv4 or IPv6 addresses +func (o IamUserSettingsOutput) AllowedIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamUserSettings) pulumi.StringArrayOutput { return v.AllowedIpAddresses }).(pulumi.StringArrayOutput) +} + +// User's IAM ID or or email of user +func (o IamUserSettingsOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v *IamUserSettings) pulumi.StringOutput { return v.IamId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IamUserSettingsInput)(nil)).Elem(), &IamUserSettings{}) + pulumi.RegisterOutputType(IamUserSettingsOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/init.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/init.go new file mode 100644 index 000000000..b21e12846 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/init.go @@ -0,0 +1,1438 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "ibmcloud:index/computeAutoscaleGroup:ComputeAutoscaleGroup": + r = &ComputeAutoscaleGroup{} + case "ibmcloud:index/computeAutoscalePolicy:ComputeAutoscalePolicy": + r = &ComputeAutoscalePolicy{} + case "ibmcloud:index/computeBareMetal:ComputeBareMetal": + r = &ComputeBareMetal{} + case "ibmcloud:index/computeDedicatedHost:ComputeDedicatedHost": + r = &ComputeDedicatedHost{} + case "ibmcloud:index/computeMonitor:ComputeMonitor": + r = &ComputeMonitor{} + case "ibmcloud:index/computePlacementGroup:ComputePlacementGroup": + r = &ComputePlacementGroup{} + case "ibmcloud:index/computeProvisioningHook:ComputeProvisioningHook": + r = &ComputeProvisioningHook{} + case "ibmcloud:index/computeReservedCapacity:ComputeReservedCapacity": + r = &ComputeReservedCapacity{} + case "ibmcloud:index/computeSshKey:ComputeSshKey": + r = &ComputeSshKey{} + case "ibmcloud:index/computeSslCertificate:ComputeSslCertificate": + r = &ComputeSslCertificate{} + case "ibmcloud:index/computeUser:ComputeUser": + r = &ComputeUser{} + case "ibmcloud:index/computeVmInstance:ComputeVmInstance": + r = &ComputeVmInstance{} + case "ibmcloud:index/cosBackupPolicy:CosBackupPolicy": + r = &CosBackupPolicy{} + case "ibmcloud:index/cosBackupVault:CosBackupVault": + r = &CosBackupVault{} + case "ibmcloud:index/cosBucket:CosBucket": + r = &CosBucket{} + case "ibmcloud:index/cosBucketLifecycleConfiguration:CosBucketLifecycleConfiguration": + r = &CosBucketLifecycleConfiguration{} + case "ibmcloud:index/cosBucketObject:CosBucketObject": + r = &CosBucketObject{} + case "ibmcloud:index/cosBucketObjectLockConfiguration:CosBucketObjectLockConfiguration": + r = &CosBucketObjectLockConfiguration{} + case "ibmcloud:index/cosBucketReplicationRule:CosBucketReplicationRule": + r = &CosBucketReplicationRule{} + case "ibmcloud:index/cosBucketWebsiteConfiguration:CosBucketWebsiteConfiguration": + r = &CosBucketWebsiteConfiguration{} + case "ibmcloud:index/iamAccessGroup:IamAccessGroup": + r = &IamAccessGroup{} + case "ibmcloud:index/iamAccessGroupAccountSettings:IamAccessGroupAccountSettings": + r = &IamAccessGroupAccountSettings{} + case "ibmcloud:index/iamAccessGroupDynamicRule:IamAccessGroupDynamicRule": + r = &IamAccessGroupDynamicRule{} + case "ibmcloud:index/iamAccessGroupMembers:IamAccessGroupMembers": + r = &IamAccessGroupMembers{} + case "ibmcloud:index/iamAccessGroupPolicy:IamAccessGroupPolicy": + r = &IamAccessGroupPolicy{} + case "ibmcloud:index/iamAccessGroupTemplate:IamAccessGroupTemplate": + r = &IamAccessGroupTemplate{} + case "ibmcloud:index/iamAccessGroupTemplateAssignment:IamAccessGroupTemplateAssignment": + r = &IamAccessGroupTemplateAssignment{} + case "ibmcloud:index/iamAccessGroupTemplateVersion:IamAccessGroupTemplateVersion": + r = &IamAccessGroupTemplateVersion{} + case "ibmcloud:index/iamAccessTag:IamAccessTag": + r = &IamAccessTag{} + case "ibmcloud:index/iamAccountSettings:IamAccountSettings": + r = &IamAccountSettings{} + case "ibmcloud:index/iamAccountSettingsExternalInteraction:IamAccountSettingsExternalInteraction": + r = &IamAccountSettingsExternalInteraction{} + case "ibmcloud:index/iamAccountSettingsTemplate:IamAccountSettingsTemplate": + r = &IamAccountSettingsTemplate{} + case "ibmcloud:index/iamAccountSettingsTemplateAssignment:IamAccountSettingsTemplateAssignment": + r = &IamAccountSettingsTemplateAssignment{} + case "ibmcloud:index/iamActionControlAssignment:IamActionControlAssignment": + r = &IamActionControlAssignment{} + case "ibmcloud:index/iamActionControlTemplate:IamActionControlTemplate": + r = &IamActionControlTemplate{} + case "ibmcloud:index/iamActionControlTemplateVersion:IamActionControlTemplateVersion": + r = &IamActionControlTemplateVersion{} + case "ibmcloud:index/iamApiKey:IamApiKey": + r = &IamApiKey{} + case "ibmcloud:index/iamAuthorizationPolicy:IamAuthorizationPolicy": + r = &IamAuthorizationPolicy{} + case "ibmcloud:index/iamAuthorizationPolicyDetach:IamAuthorizationPolicyDetach": + r = &IamAuthorizationPolicyDetach{} + case "ibmcloud:index/iamCustomRole:IamCustomRole": + r = &IamCustomRole{} + case "ibmcloud:index/iamPolicyAssignment:IamPolicyAssignment": + r = &IamPolicyAssignment{} + case "ibmcloud:index/iamPolicyTemplate:IamPolicyTemplate": + r = &IamPolicyTemplate{} + case "ibmcloud:index/iamPolicyTemplateVersion:IamPolicyTemplateVersion": + r = &IamPolicyTemplateVersion{} + case "ibmcloud:index/iamServiceApiKey:IamServiceApiKey": + r = &IamServiceApiKey{} + case "ibmcloud:index/iamServiceId:IamServiceId": + r = &IamServiceId{} + case "ibmcloud:index/iamServicePolicy:IamServicePolicy": + r = &IamServicePolicy{} + case "ibmcloud:index/iamTrustedProfile:IamTrustedProfile": + r = &IamTrustedProfile{} + case "ibmcloud:index/iamTrustedProfileClaimRule:IamTrustedProfileClaimRule": + r = &IamTrustedProfileClaimRule{} + case "ibmcloud:index/iamTrustedProfileIdentities:IamTrustedProfileIdentities": + r = &IamTrustedProfileIdentities{} + case "ibmcloud:index/iamTrustedProfileIdentity:IamTrustedProfileIdentity": + r = &IamTrustedProfileIdentity{} + case "ibmcloud:index/iamTrustedProfileLink:IamTrustedProfileLink": + r = &IamTrustedProfileLink{} + case "ibmcloud:index/iamTrustedProfilePolicy:IamTrustedProfilePolicy": + r = &IamTrustedProfilePolicy{} + case "ibmcloud:index/iamTrustedProfileTemplate:IamTrustedProfileTemplate": + r = &IamTrustedProfileTemplate{} + case "ibmcloud:index/iamTrustedProfileTemplateAssignment:IamTrustedProfileTemplateAssignment": + r = &IamTrustedProfileTemplateAssignment{} + case "ibmcloud:index/iamUserInvite:IamUserInvite": + r = &IamUserInvite{} + case "ibmcloud:index/iamUserPolicy:IamUserPolicy": + r = &IamUserPolicy{} + case "ibmcloud:index/iamUserSettings:IamUserSettings": + r = &IamUserSettings{} + case "ibmcloud:index/isBackupPolicy:IsBackupPolicy": + r = &IsBackupPolicy{} + case "ibmcloud:index/isBackupPolicyPlan:IsBackupPolicyPlan": + r = &IsBackupPolicyPlan{} + case "ibmcloud:index/isBareMetalServer:IsBareMetalServer": + r = &IsBareMetalServer{} + case "ibmcloud:index/isBareMetalServerAction:IsBareMetalServerAction": + r = &IsBareMetalServerAction{} + case "ibmcloud:index/isBareMetalServerDisk:IsBareMetalServerDisk": + r = &IsBareMetalServerDisk{} + case "ibmcloud:index/isBareMetalServerInitialization:IsBareMetalServerInitialization": + r = &IsBareMetalServerInitialization{} + case "ibmcloud:index/isBareMetalServerNetworkAttachment:IsBareMetalServerNetworkAttachment": + r = &IsBareMetalServerNetworkAttachment{} + case "ibmcloud:index/isBareMetalServerNetworkInterface:IsBareMetalServerNetworkInterface": + r = &IsBareMetalServerNetworkInterface{} + case "ibmcloud:index/isBareMetalServerNetworkInterfaceAllowFloat:IsBareMetalServerNetworkInterfaceAllowFloat": + r = &IsBareMetalServerNetworkInterfaceAllowFloat{} + case "ibmcloud:index/isBareMetalServerNetworkInterfaceFloatingIp:IsBareMetalServerNetworkInterfaceFloatingIp": + r = &IsBareMetalServerNetworkInterfaceFloatingIp{} + case "ibmcloud:index/isClusterNetwork:IsClusterNetwork": + r = &IsClusterNetwork{} + case "ibmcloud:index/isClusterNetworkInterface:IsClusterNetworkInterface": + r = &IsClusterNetworkInterface{} + case "ibmcloud:index/isClusterNetworkSubnet:IsClusterNetworkSubnet": + r = &IsClusterNetworkSubnet{} + case "ibmcloud:index/isClusterNetworkSubnetReservedIp:IsClusterNetworkSubnetReservedIp": + r = &IsClusterNetworkSubnetReservedIp{} + case "ibmcloud:index/isDedicatedHost:IsDedicatedHost": + r = &IsDedicatedHost{} + case "ibmcloud:index/isDedicatedHostDiskManagement:IsDedicatedHostDiskManagement": + r = &IsDedicatedHostDiskManagement{} + case "ibmcloud:index/isDedicatedHostGroup:IsDedicatedHostGroup": + r = &IsDedicatedHostGroup{} + case "ibmcloud:index/isFloatingIp:IsFloatingIp": + r = &IsFloatingIp{} + case "ibmcloud:index/isFlowLog:IsFlowLog": + r = &IsFlowLog{} + case "ibmcloud:index/isIkePolicy:IsIkePolicy": + r = &IsIkePolicy{} + case "ibmcloud:index/isImage:IsImage": + r = &IsImage{} + case "ibmcloud:index/isImageDeprecate:IsImageDeprecate": + r = &IsImageDeprecate{} + case "ibmcloud:index/isImageExportJob:IsImageExportJob": + r = &IsImageExportJob{} + case "ibmcloud:index/isImageObsolete:IsImageObsolete": + r = &IsImageObsolete{} + case "ibmcloud:index/isInstance:IsInstance": + r = &IsInstance{} + case "ibmcloud:index/isInstanceAction:IsInstanceAction": + r = &IsInstanceAction{} + case "ibmcloud:index/isInstanceClusterNetworkAttachment:IsInstanceClusterNetworkAttachment": + r = &IsInstanceClusterNetworkAttachment{} + case "ibmcloud:index/isInstanceDiskManagement:IsInstanceDiskManagement": + r = &IsInstanceDiskManagement{} + case "ibmcloud:index/isInstanceGroup:IsInstanceGroup": + r = &IsInstanceGroup{} + case "ibmcloud:index/isInstanceGroupManager:IsInstanceGroupManager": + r = &IsInstanceGroupManager{} + case "ibmcloud:index/isInstanceGroupManagerAction:IsInstanceGroupManagerAction": + r = &IsInstanceGroupManagerAction{} + case "ibmcloud:index/isInstanceGroupManagerPolicy:IsInstanceGroupManagerPolicy": + r = &IsInstanceGroupManagerPolicy{} + case "ibmcloud:index/isInstanceGroupMembership:IsInstanceGroupMembership": + r = &IsInstanceGroupMembership{} + case "ibmcloud:index/isInstanceNetworkAttachment:IsInstanceNetworkAttachment": + r = &IsInstanceNetworkAttachment{} + case "ibmcloud:index/isInstanceNetworkInterface:IsInstanceNetworkInterface": + r = &IsInstanceNetworkInterface{} + case "ibmcloud:index/isInstanceNetworkInterfaceFloatingIp:IsInstanceNetworkInterfaceFloatingIp": + r = &IsInstanceNetworkInterfaceFloatingIp{} + case "ibmcloud:index/isInstanceTemplate:IsInstanceTemplate": + r = &IsInstanceTemplate{} + case "ibmcloud:index/isInstanceVolumeAttachment:IsInstanceVolumeAttachment": + r = &IsInstanceVolumeAttachment{} + case "ibmcloud:index/isIpsecPolicy:IsIpsecPolicy": + r = &IsIpsecPolicy{} + case "ibmcloud:index/isLb:IsLb": + r = &IsLb{} + case "ibmcloud:index/isLbListener:IsLbListener": + r = &IsLbListener{} + case "ibmcloud:index/isLbListenerPolicy:IsLbListenerPolicy": + r = &IsLbListenerPolicy{} + case "ibmcloud:index/isLbListenerPolicyRule:IsLbListenerPolicyRule": + r = &IsLbListenerPolicyRule{} + case "ibmcloud:index/isLbPool:IsLbPool": + r = &IsLbPool{} + case "ibmcloud:index/isLbPoolMember:IsLbPoolMember": + r = &IsLbPoolMember{} + case "ibmcloud:index/isNetworkAcl:IsNetworkAcl": + r = &IsNetworkAcl{} + case "ibmcloud:index/isNetworkAclRule:IsNetworkAclRule": + r = &IsNetworkAclRule{} + case "ibmcloud:index/isPlacementGroup:IsPlacementGroup": + r = &IsPlacementGroup{} + case "ibmcloud:index/isPrivatePathServiceGateway:IsPrivatePathServiceGateway": + r = &IsPrivatePathServiceGateway{} + case "ibmcloud:index/isPrivatePathServiceGatewayAccountPolicy:IsPrivatePathServiceGatewayAccountPolicy": + r = &IsPrivatePathServiceGatewayAccountPolicy{} + case "ibmcloud:index/isPrivatePathServiceGatewayEndpointGatewayBindingOperations:IsPrivatePathServiceGatewayEndpointGatewayBindingOperations": + r = &IsPrivatePathServiceGatewayEndpointGatewayBindingOperations{} + case "ibmcloud:index/isPrivatePathServiceGatewayOperations:IsPrivatePathServiceGatewayOperations": + r = &IsPrivatePathServiceGatewayOperations{} + case "ibmcloud:index/isPrivatePathServiceGatewayRevokeAccount:IsPrivatePathServiceGatewayRevokeAccount": + r = &IsPrivatePathServiceGatewayRevokeAccount{} + case "ibmcloud:index/isPublicAddressRange:IsPublicAddressRange": + r = &IsPublicAddressRange{} + case "ibmcloud:index/isPublicGateway:IsPublicGateway": + r = &IsPublicGateway{} + case "ibmcloud:index/isReservation:IsReservation": + r = &IsReservation{} + case "ibmcloud:index/isReservationActivate:IsReservationActivate": + r = &IsReservationActivate{} + case "ibmcloud:index/isSecurityGroup:IsSecurityGroup": + r = &IsSecurityGroup{} + case "ibmcloud:index/isSecurityGroupRule:IsSecurityGroupRule": + r = &IsSecurityGroupRule{} + case "ibmcloud:index/isSecurityGroupTarget:IsSecurityGroupTarget": + r = &IsSecurityGroupTarget{} + case "ibmcloud:index/isShare:IsShare": + r = &IsShare{} + case "ibmcloud:index/isShareDeleteAccessorBinding:IsShareDeleteAccessorBinding": + r = &IsShareDeleteAccessorBinding{} + case "ibmcloud:index/isShareMountTarget:IsShareMountTarget": + r = &IsShareMountTarget{} + case "ibmcloud:index/isShareReplicaOperations:IsShareReplicaOperations": + r = &IsShareReplicaOperations{} + case "ibmcloud:index/isShareSnapshot:IsShareSnapshot": + r = &IsShareSnapshot{} + case "ibmcloud:index/isSnapshot:IsSnapshot": + r = &IsSnapshot{} + case "ibmcloud:index/isSnapshotConsistencyGroup:IsSnapshotConsistencyGroup": + r = &IsSnapshotConsistencyGroup{} + case "ibmcloud:index/isSshKey:IsSshKey": + r = &IsSshKey{} + case "ibmcloud:index/isSubnet:IsSubnet": + r = &IsSubnet{} + case "ibmcloud:index/isSubnetNetworkAclAttachment:IsSubnetNetworkAclAttachment": + r = &IsSubnetNetworkAclAttachment{} + case "ibmcloud:index/isSubnetPublicGatewayAttachment:IsSubnetPublicGatewayAttachment": + r = &IsSubnetPublicGatewayAttachment{} + case "ibmcloud:index/isSubnetReservedIp:IsSubnetReservedIp": + r = &IsSubnetReservedIp{} + case "ibmcloud:index/isSubnetReservedIpPatch:IsSubnetReservedIpPatch": + r = &IsSubnetReservedIpPatch{} + case "ibmcloud:index/isSubnetRoutingTableAttachment:IsSubnetRoutingTableAttachment": + r = &IsSubnetRoutingTableAttachment{} + case "ibmcloud:index/isVirtualEndpointGateway:IsVirtualEndpointGateway": + r = &IsVirtualEndpointGateway{} + case "ibmcloud:index/isVirtualEndpointGatewayIp:IsVirtualEndpointGatewayIp": + r = &IsVirtualEndpointGatewayIp{} + case "ibmcloud:index/isVirtualNetworkInterface:IsVirtualNetworkInterface": + r = &IsVirtualNetworkInterface{} + case "ibmcloud:index/isVirtualNetworkInterfaceFloatingIp:IsVirtualNetworkInterfaceFloatingIp": + r = &IsVirtualNetworkInterfaceFloatingIp{} + case "ibmcloud:index/isVirtualNetworkInterfaceIp:IsVirtualNetworkInterfaceIp": + r = &IsVirtualNetworkInterfaceIp{} + case "ibmcloud:index/isVolume:IsVolume": + r = &IsVolume{} + case "ibmcloud:index/isVpc:IsVpc": + r = &IsVpc{} + case "ibmcloud:index/isVpcAddressPrefix:IsVpcAddressPrefix": + r = &IsVpcAddressPrefix{} + case "ibmcloud:index/isVpcDnsResolutionBinding:IsVpcDnsResolutionBinding": + r = &IsVpcDnsResolutionBinding{} + case "ibmcloud:index/isVpcRoutingTable:IsVpcRoutingTable": + r = &IsVpcRoutingTable{} + case "ibmcloud:index/isVpcRoutingTableRoute:IsVpcRoutingTableRoute": + r = &IsVpcRoutingTableRoute{} + case "ibmcloud:index/isVpnGateway:IsVpnGateway": + r = &IsVpnGateway{} + case "ibmcloud:index/isVpnGatewayConnection:IsVpnGatewayConnection": + r = &IsVpnGatewayConnection{} + case "ibmcloud:index/isVpnServer:IsVpnServer": + r = &IsVpnServer{} + case "ibmcloud:index/isVpnServerClient:IsVpnServerClient": + r = &IsVpnServerClient{} + case "ibmcloud:index/isVpnServerRoute:IsVpnServerRoute": + r = &IsVpnServerRoute{} + case "ibmcloud:index/piCapture:PiCapture": + r = &PiCapture{} + case "ibmcloud:index/piCloudConnection:PiCloudConnection": + r = &PiCloudConnection{} + case "ibmcloud:index/piCloudConnectionNetworkAttach:PiCloudConnectionNetworkAttach": + r = &PiCloudConnectionNetworkAttach{} + case "ibmcloud:index/piConsoleLanguage:PiConsoleLanguage": + r = &PiConsoleLanguage{} + case "ibmcloud:index/piDhcp:PiDhcp": + r = &PiDhcp{} + case "ibmcloud:index/piHost:PiHost": + r = &PiHost{} + case "ibmcloud:index/piHostGroup:PiHostGroup": + r = &PiHostGroup{} + case "ibmcloud:index/piIkePolicy:PiIkePolicy": + r = &PiIkePolicy{} + case "ibmcloud:index/piImage:PiImage": + r = &PiImage{} + case "ibmcloud:index/piImageExport:PiImageExport": + r = &PiImageExport{} + case "ibmcloud:index/piInstance:PiInstance": + r = &PiInstance{} + case "ibmcloud:index/piInstanceAction:PiInstanceAction": + r = &PiInstanceAction{} + case "ibmcloud:index/piInstanceSnapshot:PiInstanceSnapshot": + r = &PiInstanceSnapshot{} + case "ibmcloud:index/piIpsecPolicy:PiIpsecPolicy": + r = &PiIpsecPolicy{} + case "ibmcloud:index/piKey:PiKey": + r = &PiKey{} + case "ibmcloud:index/piNetwork:PiNetwork": + r = &PiNetwork{} + case "ibmcloud:index/piNetworkAddressGroup:PiNetworkAddressGroup": + r = &PiNetworkAddressGroup{} + case "ibmcloud:index/piNetworkAddressGroupMember:PiNetworkAddressGroupMember": + r = &PiNetworkAddressGroupMember{} + case "ibmcloud:index/piNetworkInterface:PiNetworkInterface": + r = &PiNetworkInterface{} + case "ibmcloud:index/piNetworkPeer:PiNetworkPeer": + r = &PiNetworkPeer{} + case "ibmcloud:index/piNetworkPeerRouteFilter:PiNetworkPeerRouteFilter": + r = &PiNetworkPeerRouteFilter{} + case "ibmcloud:index/piNetworkPortAttach:PiNetworkPortAttach": + r = &PiNetworkPortAttach{} + case "ibmcloud:index/piNetworkSecurityGroup:PiNetworkSecurityGroup": + r = &PiNetworkSecurityGroup{} + case "ibmcloud:index/piNetworkSecurityGroupAction:PiNetworkSecurityGroupAction": + r = &PiNetworkSecurityGroupAction{} + case "ibmcloud:index/piNetworkSecurityGroupMember:PiNetworkSecurityGroupMember": + r = &PiNetworkSecurityGroupMember{} + case "ibmcloud:index/piNetworkSecurityGroupRule:PiNetworkSecurityGroupRule": + r = &PiNetworkSecurityGroupRule{} + case "ibmcloud:index/piPlacementGroup:PiPlacementGroup": + r = &PiPlacementGroup{} + case "ibmcloud:index/piRoute:PiRoute": + r = &PiRoute{} + case "ibmcloud:index/piSharedProcessorPool:PiSharedProcessorPool": + r = &PiSharedProcessorPool{} + case "ibmcloud:index/piSnapshot:PiSnapshot": + r = &PiSnapshot{} + case "ibmcloud:index/piSppPlacementGroup:PiSppPlacementGroup": + r = &PiSppPlacementGroup{} + case "ibmcloud:index/piVirtualSerialNumber:PiVirtualSerialNumber": + r = &PiVirtualSerialNumber{} + case "ibmcloud:index/piVolume:PiVolume": + r = &PiVolume{} + case "ibmcloud:index/piVolumeAttach:PiVolumeAttach": + r = &PiVolumeAttach{} + case "ibmcloud:index/piVolumeClone:PiVolumeClone": + r = &PiVolumeClone{} + case "ibmcloud:index/piVolumeGroup:PiVolumeGroup": + r = &PiVolumeGroup{} + case "ibmcloud:index/piVolumeGroupAction:PiVolumeGroupAction": + r = &PiVolumeGroupAction{} + case "ibmcloud:index/piVolumeOnboarding:PiVolumeOnboarding": + r = &PiVolumeOnboarding{} + case "ibmcloud:index/piVpnConnection:PiVpnConnection": + r = &PiVpnConnection{} + case "ibmcloud:index/piWorkspace:PiWorkspace": + r = &PiWorkspace{} + case "ibmcloud:index/resourceGroup:ResourceGroup": + r = &ResourceGroup{} + case "ibmcloud:index/resourceInstance:ResourceInstance": + r = &ResourceInstance{} + case "ibmcloud:index/resourceKey:ResourceKey": + r = &ResourceKey{} + case "ibmcloud:index/resourceTag:ResourceTag": + r = &ResourceTag{} + case "ibmcloud:index/tgConnection:TgConnection": + r = &TgConnection{} + case "ibmcloud:index/tgConnectionAction:TgConnectionAction": + r = &TgConnectionAction{} + case "ibmcloud:index/tgConnectionPrefixFilter:TgConnectionPrefixFilter": + r = &TgConnectionPrefixFilter{} + case "ibmcloud:index/tgConnectionRgreTunnel:TgConnectionRgreTunnel": + r = &TgConnectionRgreTunnel{} + case "ibmcloud:index/tgGateway:TgGateway": + r = &TgGateway{} + case "ibmcloud:index/tgRouteReport:TgRouteReport": + r = &TgRouteReport{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +type pkg struct { + version semver.Version +} + +func (p *pkg) Version() semver.Version { + return p.version +} + +func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) { + if typ != "pulumi:providers:ibmcloud" { + return nil, fmt.Errorf("unknown provider type: %s", typ) + } + + r := &Provider{} + err := ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return r, err +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeAutoscaleGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeAutoscalePolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeBareMetal", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeDedicatedHost", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeMonitor", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computePlacementGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeProvisioningHook", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeReservedCapacity", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeSshKey", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeSslCertificate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeUser", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/computeVmInstance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/cosBackupPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/cosBackupVault", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/cosBucket", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/cosBucketLifecycleConfiguration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/cosBucketObject", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/cosBucketObjectLockConfiguration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/cosBucketReplicationRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/cosBucketWebsiteConfiguration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessGroupAccountSettings", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessGroupDynamicRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessGroupMembers", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessGroupPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessGroupTemplate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessGroupTemplateAssignment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessGroupTemplateVersion", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccessTag", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccountSettings", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccountSettingsExternalInteraction", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccountSettingsTemplate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAccountSettingsTemplateAssignment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamActionControlAssignment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamActionControlTemplate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamActionControlTemplateVersion", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamApiKey", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAuthorizationPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamAuthorizationPolicyDetach", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamCustomRole", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamPolicyAssignment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamPolicyTemplate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamPolicyTemplateVersion", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamServiceApiKey", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamServiceId", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamServicePolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamTrustedProfile", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamTrustedProfileClaimRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamTrustedProfileIdentities", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamTrustedProfileIdentity", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamTrustedProfileLink", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamTrustedProfilePolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamTrustedProfileTemplate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamTrustedProfileTemplateAssignment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamUserInvite", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamUserPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/iamUserSettings", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBackupPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBackupPolicyPlan", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBareMetalServer", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBareMetalServerAction", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBareMetalServerDisk", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBareMetalServerInitialization", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBareMetalServerNetworkAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBareMetalServerNetworkInterface", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBareMetalServerNetworkInterfaceAllowFloat", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isBareMetalServerNetworkInterfaceFloatingIp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isClusterNetwork", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isClusterNetworkInterface", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isClusterNetworkSubnet", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isClusterNetworkSubnetReservedIp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isDedicatedHost", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isDedicatedHostDiskManagement", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isDedicatedHostGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isFloatingIp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isFlowLog", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isIkePolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isImage", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isImageDeprecate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isImageExportJob", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isImageObsolete", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceAction", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceClusterNetworkAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceDiskManagement", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceGroupManager", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceGroupManagerAction", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceGroupManagerPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceGroupMembership", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceNetworkAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceNetworkInterface", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceNetworkInterfaceFloatingIp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceTemplate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isInstanceVolumeAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isIpsecPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isLb", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isLbListener", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isLbListenerPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isLbListenerPolicyRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isLbPool", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isLbPoolMember", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isNetworkAcl", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isNetworkAclRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isPlacementGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isPrivatePathServiceGateway", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isPrivatePathServiceGatewayAccountPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isPrivatePathServiceGatewayEndpointGatewayBindingOperations", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isPrivatePathServiceGatewayOperations", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isPrivatePathServiceGatewayRevokeAccount", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isPublicAddressRange", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isPublicGateway", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isReservation", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isReservationActivate", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSecurityGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSecurityGroupRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSecurityGroupTarget", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isShare", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isShareDeleteAccessorBinding", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isShareMountTarget", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isShareReplicaOperations", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isShareSnapshot", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSnapshot", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSnapshotConsistencyGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSshKey", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSubnet", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSubnetNetworkAclAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSubnetPublicGatewayAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSubnetReservedIp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSubnetReservedIpPatch", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isSubnetRoutingTableAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVirtualEndpointGateway", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVirtualEndpointGatewayIp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVirtualNetworkInterface", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVirtualNetworkInterfaceFloatingIp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVirtualNetworkInterfaceIp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVolume", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpc", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpcAddressPrefix", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpcDnsResolutionBinding", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpcRoutingTable", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpcRoutingTableRoute", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpnGateway", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpnGatewayConnection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpnServer", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpnServerClient", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/isVpnServerRoute", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piCapture", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piCloudConnection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piCloudConnectionNetworkAttach", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piConsoleLanguage", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piDhcp", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piHost", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piHostGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piIkePolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piImage", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piImageExport", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piInstance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piInstanceAction", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piInstanceSnapshot", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piIpsecPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piKey", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetwork", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkAddressGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkAddressGroupMember", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkInterface", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkPeer", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkPeerRouteFilter", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkPortAttach", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkSecurityGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkSecurityGroupAction", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkSecurityGroupMember", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piNetworkSecurityGroupRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piPlacementGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piRoute", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piSharedProcessorPool", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piSnapshot", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piSppPlacementGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piVirtualSerialNumber", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piVolume", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piVolumeAttach", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piVolumeClone", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piVolumeGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piVolumeGroupAction", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piVolumeOnboarding", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piVpnConnection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/piWorkspace", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/resourceGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/resourceInstance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/resourceKey", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/resourceTag", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/tgConnection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/tgConnectionAction", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/tgConnectionPrefixFilter", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/tgConnectionRgreTunnel", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/tgGateway", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ibmcloud", + "index/tgRouteReport", + &module{version}, + ) + pulumi.RegisterResourcePackage( + "ibmcloud", + &pkg{version}, + ) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal/pulumiUtilities.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal/pulumiUtilities.go new file mode 100644 index 000000000..3af218b68 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal/pulumiUtilities.go @@ -0,0 +1,184 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package internal + +import ( + "fmt" + "os" + "reflect" + "regexp" + "strconv" + "strings" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +import ( + "github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals" +) + +type envParser func(v string) interface{} + +func ParseEnvBool(v string) interface{} { + b, err := strconv.ParseBool(v) + if err != nil { + return nil + } + return b +} + +func ParseEnvInt(v string) interface{} { + i, err := strconv.ParseInt(v, 0, 0) + if err != nil { + return nil + } + return int(i) +} + +func ParseEnvFloat(v string) interface{} { + f, err := strconv.ParseFloat(v, 64) + if err != nil { + return nil + } + return f +} + +func ParseEnvStringArray(v string) interface{} { + var result pulumi.StringArray + for _, item := range strings.Split(v, ";") { + result = append(result, pulumi.String(item)) + } + return result +} + +func GetEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { + for _, v := range vars { + if value, ok := os.LookupEnv(v); ok { + if parser != nil { + return parser(value) + } + return value + } + } + return def +} + +// PkgVersion uses reflection to determine the version of the current package. +// If a version cannot be determined, v1 will be assumed. The second return +// value is always nil. +func PkgVersion() (semver.Version, error) { + // emptyVersion defaults to v0.0.0 + if !SdkVersion.Equals(semver.Version{}) { + return SdkVersion, nil + } + type sentinal struct{} + pkgPath := reflect.TypeOf(sentinal{}).PkgPath() + re := regexp.MustCompile("^.*/pulumi-ibmcloud/sdk(/v\\d+)?") + if match := re.FindStringSubmatch(pkgPath); match != nil { + vStr := match[1] + if len(vStr) == 0 { // If the version capture group was empty, default to v1. + return semver.Version{Major: 1}, nil + } + return semver.MustParse(fmt.Sprintf("%s.0.0", vStr[2:])), nil + } + return semver.Version{Major: 1}, nil +} + +// isZero is a null safe check for if a value is it's types zero value. +func IsZero(v interface{}) bool { + if v == nil { + return true + } + return reflect.ValueOf(v).IsZero() +} + +func CallPlain( + ctx *pulumi.Context, + tok string, + args pulumi.Input, + output pulumi.Output, + self pulumi.Resource, + property string, + resultPtr reflect.Value, + errorPtr *error, + opts ...pulumi.InvokeOption, +) { + res, err := callPlainInner(ctx, tok, args, output, self, opts...) + if err != nil { + *errorPtr = err + return + } + + v := reflect.ValueOf(res) + + // extract res.property field if asked to do so + if property != "" { + v = v.FieldByName("Res") + } + + // return by setting the result pointer; this style of returns shortens the generated code without generics + resultPtr.Elem().Set(v) +} + +func callPlainInner( + ctx *pulumi.Context, + tok string, + args pulumi.Input, + output pulumi.Output, + self pulumi.Resource, + opts ...pulumi.InvokeOption, +) (any, error) { + o, err := ctx.Call(tok, args, output, self, opts...) + if err != nil { + return nil, err + } + + outputData, err := internals.UnsafeAwaitOutput(ctx.Context(), o) + if err != nil { + return nil, err + } + + // Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency. + known := outputData.Known + value := outputData.Value + secret := outputData.Secret + + problem := "" + if !known { + problem = "an unknown value" + } else if secret { + problem = "a secret value" + } + + if problem != "" { + return nil, fmt.Errorf("Plain resource method %q incorrectly returned %s. "+ + "This is an error in the provider, please report this to the provider developer.", + tok, problem) + } + + return value, nil +} + +// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource. +func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { + defaults := []pulumi.ResourceOption{} + defaults = append(defaults, pulumi.PluginDownloadURL("https://github.com/mapt-oss/pulumi-ibmcloud/releases/download/v${VERSION}/")) + version := semver.MustParse("0.0.9") + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} + +// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke. +func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { + defaults := []pulumi.InvokeOption{} + defaults = append(defaults, pulumi.PluginDownloadURL("https://github.com/mapt-oss/pulumi-ibmcloud/releases/download/v${VERSION}/")) + version := semver.MustParse("0.0.9") + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal/pulumiVersion.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal/pulumiVersion.go new file mode 100644 index 000000000..4ad7cb873 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal/pulumiVersion.go @@ -0,0 +1,11 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package internal + +import ( + "github.com/blang/semver" +) + +var SdkVersion semver.Version = semver.Version{} +var pluginDownloadURL string = "" diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBackupPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBackupPolicy.go new file mode 100644 index 000000000..3e833c298 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBackupPolicy.go @@ -0,0 +1,321 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBackupPolicy struct { + pulumi.CustomResourceState + + // The date and time that the backup policy was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this backup policy. + Crn pulumi.StringOutput `pulumi:"crn"` + // The reasons for the current healthState (if any). + HealthReasons IsBackupPolicyHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource + HealthState pulumi.StringOutput `pulumi:"healthState"` + // The URL for this backup policy. + Href pulumi.StringOutput `pulumi:"href"` + // The included content for backups created using this policy + IncludedContents pulumi.StringArrayOutput `pulumi:"includedContents"` + // The date and time that the most recent job for this backup policy completed. + LastJobCompletedAt pulumi.StringOutput `pulumi:"lastJobCompletedAt"` + // The lifecycle state of the backup policy. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceType pulumi.StringPtrOutput `pulumi:"matchResourceType"` + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + // + // Deprecated: match_resource_types is being deprecated. Use matchResourceType instead + MatchResourceTypes pulumi.StringArrayOutput `pulumi:"matchResourceTypes"` + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. + MatchUserTags pulumi.StringArrayOutput `pulumi:"matchUserTags"` + // The user-defined name for this backup policy. Names must be unique within the region this backup policy resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The scope for this backup policy. + Scope IsBackupPolicyScopeOutput `pulumi:"scope"` + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIsBackupPolicy registers a new resource with the given unique name, arguments, and options. +func NewIsBackupPolicy(ctx *pulumi.Context, + name string, args *IsBackupPolicyArgs, opts ...pulumi.ResourceOption) (*IsBackupPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.MatchUserTags == nil { + return nil, errors.New("invalid value for required argument 'MatchUserTags'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBackupPolicy + err := ctx.RegisterResource("ibmcloud:index/isBackupPolicy:IsBackupPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBackupPolicy gets an existing IsBackupPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBackupPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBackupPolicyState, opts ...pulumi.ResourceOption) (*IsBackupPolicy, error) { + var resource IsBackupPolicy + err := ctx.ReadResource("ibmcloud:index/isBackupPolicy:IsBackupPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBackupPolicy resources. +type isBackupPolicyState struct { + // The date and time that the backup policy was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this backup policy. + Crn *string `pulumi:"crn"` + // The reasons for the current healthState (if any). + HealthReasons []IsBackupPolicyHealthReason `pulumi:"healthReasons"` + // The health of this resource + HealthState *string `pulumi:"healthState"` + // The URL for this backup policy. + Href *string `pulumi:"href"` + // The included content for backups created using this policy + IncludedContents []string `pulumi:"includedContents"` + // The date and time that the most recent job for this backup policy completed. + LastJobCompletedAt *string `pulumi:"lastJobCompletedAt"` + // The lifecycle state of the backup policy. + LifecycleState *string `pulumi:"lifecycleState"` + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceType *string `pulumi:"matchResourceType"` + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + // + // Deprecated: match_resource_types is being deprecated. Use matchResourceType instead + MatchResourceTypes []string `pulumi:"matchResourceTypes"` + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. + MatchUserTags []string `pulumi:"matchUserTags"` + // The user-defined name for this backup policy. Names must be unique within the region this backup policy resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The scope for this backup policy. + Scope *IsBackupPolicyScope `pulumi:"scope"` + Version *string `pulumi:"version"` +} + +type IsBackupPolicyState struct { + // The date and time that the backup policy was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this backup policy. + Crn pulumi.StringPtrInput + // The reasons for the current healthState (if any). + HealthReasons IsBackupPolicyHealthReasonArrayInput + // The health of this resource + HealthState pulumi.StringPtrInput + // The URL for this backup policy. + Href pulumi.StringPtrInput + // The included content for backups created using this policy + IncludedContents pulumi.StringArrayInput + // The date and time that the most recent job for this backup policy completed. + LastJobCompletedAt pulumi.StringPtrInput + // The lifecycle state of the backup policy. + LifecycleState pulumi.StringPtrInput + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceType pulumi.StringPtrInput + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + // + // Deprecated: match_resource_types is being deprecated. Use matchResourceType instead + MatchResourceTypes pulumi.StringArrayInput + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. + MatchUserTags pulumi.StringArrayInput + // The user-defined name for this backup policy. Names must be unique within the region this backup policy resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The scope for this backup policy. + Scope IsBackupPolicyScopePtrInput + Version pulumi.StringPtrInput +} + +func (IsBackupPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*isBackupPolicyState)(nil)).Elem() +} + +type isBackupPolicyArgs struct { + // The included content for backups created using this policy + IncludedContents []string `pulumi:"includedContents"` + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceType *string `pulumi:"matchResourceType"` + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + // + // Deprecated: match_resource_types is being deprecated. Use matchResourceType instead + MatchResourceTypes []string `pulumi:"matchResourceTypes"` + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. + MatchUserTags []string `pulumi:"matchUserTags"` + // The user-defined name for this backup policy. Names must be unique within the region this backup policy resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The scope for this backup policy. + Scope *IsBackupPolicyScope `pulumi:"scope"` +} + +// The set of arguments for constructing a IsBackupPolicy resource. +type IsBackupPolicyArgs struct { + // The included content for backups created using this policy + IncludedContents pulumi.StringArrayInput + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceType pulumi.StringPtrInput + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + // + // Deprecated: match_resource_types is being deprecated. Use matchResourceType instead + MatchResourceTypes pulumi.StringArrayInput + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. + MatchUserTags pulumi.StringArrayInput + // The user-defined name for this backup policy. Names must be unique within the region this backup policy resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The scope for this backup policy. + Scope IsBackupPolicyScopePtrInput +} + +func (IsBackupPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBackupPolicyArgs)(nil)).Elem() +} + +type IsBackupPolicyInput interface { + pulumi.Input + + ToIsBackupPolicyOutput() IsBackupPolicyOutput + ToIsBackupPolicyOutputWithContext(ctx context.Context) IsBackupPolicyOutput +} + +func (*IsBackupPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicy)(nil)).Elem() +} + +func (i *IsBackupPolicy) ToIsBackupPolicyOutput() IsBackupPolicyOutput { + return i.ToIsBackupPolicyOutputWithContext(context.Background()) +} + +func (i *IsBackupPolicy) ToIsBackupPolicyOutputWithContext(ctx context.Context) IsBackupPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyOutput) +} + +type IsBackupPolicyOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicy)(nil)).Elem() +} + +func (o IsBackupPolicyOutput) ToIsBackupPolicyOutput() IsBackupPolicyOutput { + return o +} + +func (o IsBackupPolicyOutput) ToIsBackupPolicyOutputWithContext(ctx context.Context) IsBackupPolicyOutput { + return o +} + +// The date and time that the backup policy was created. +func (o IsBackupPolicyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this backup policy. +func (o IsBackupPolicyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The reasons for the current healthState (if any). +func (o IsBackupPolicyOutput) HealthReasons() IsBackupPolicyHealthReasonArrayOutput { + return o.ApplyT(func(v *IsBackupPolicy) IsBackupPolicyHealthReasonArrayOutput { return v.HealthReasons }).(IsBackupPolicyHealthReasonArrayOutput) +} + +// The health of this resource +func (o IsBackupPolicyOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this backup policy. +func (o IsBackupPolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The included content for backups created using this policy +func (o IsBackupPolicyOutput) IncludedContents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringArrayOutput { return v.IncludedContents }).(pulumi.StringArrayOutput) +} + +// The date and time that the most recent job for this backup policy completed. +func (o IsBackupPolicyOutput) LastJobCompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.LastJobCompletedAt }).(pulumi.StringOutput) +} + +// The lifecycle state of the backup policy. +func (o IsBackupPolicyOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. +func (o IsBackupPolicyOutput) MatchResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringPtrOutput { return v.MatchResourceType }).(pulumi.StringPtrOutput) +} + +// A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. +// +// Deprecated: match_resource_types is being deprecated. Use matchResourceType instead +func (o IsBackupPolicyOutput) MatchResourceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringArrayOutput { return v.MatchResourceTypes }).(pulumi.StringArrayOutput) +} + +// The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. +func (o IsBackupPolicyOutput) MatchUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringArrayOutput { return v.MatchUserTags }).(pulumi.StringArrayOutput) +} + +// The user-defined name for this backup policy. Names must be unique within the region this backup policy resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsBackupPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. +func (o IsBackupPolicyOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsBackupPolicyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The scope for this backup policy. +func (o IsBackupPolicyOutput) Scope() IsBackupPolicyScopeOutput { + return o.ApplyT(func(v *IsBackupPolicy) IsBackupPolicyScopeOutput { return v.Scope }).(IsBackupPolicyScopeOutput) +} + +func (o IsBackupPolicyOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicy) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyInput)(nil)).Elem(), &IsBackupPolicy{}) + pulumi.RegisterOutputType(IsBackupPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBackupPolicyPlan.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBackupPolicyPlan.go new file mode 100644 index 000000000..48afbe610 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBackupPolicyPlan.go @@ -0,0 +1,303 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBackupPolicyPlan struct { + pulumi.CustomResourceState + + // Indicates whether the plan is active. + Active pulumi.BoolOutput `pulumi:"active"` + // User tags to attach to each backup (snapshot) created by this plan. If unspecified, no user tags will be attached. + AttachUserTags pulumi.StringArrayOutput `pulumi:"attachUserTags"` + // The backup policy identifier. + BackupPolicyId pulumi.StringOutput `pulumi:"backupPolicyId"` + // The backup policy identifier. + BackupPolicyPlanId pulumi.StringOutput `pulumi:"backupPolicyPlanId"` + ClonePolicy IsBackupPolicyPlanClonePolicyOutput `pulumi:"clonePolicy"` + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags pulumi.BoolPtrOutput `pulumi:"copyUserTags"` + // The date and time that the backup policy plan was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The cron specification for the backup schedule. + CronSpec pulumi.StringOutput `pulumi:"cronSpec"` + DeletionTrigger IsBackupPolicyPlanDeletionTriggerOutput `pulumi:"deletionTrigger"` + // The URL for this backup policy plan. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of this backup policy plan. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The user-defined name for this backup policy plan. Names must be unique within the backup policy this plan resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // Backup policy plan cross region rule. + RemoteRegionPolicies IsBackupPolicyPlanRemoteRegionPolicyArrayOutput `pulumi:"remoteRegionPolicies"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Version of the BackupPolicyPlan. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIsBackupPolicyPlan registers a new resource with the given unique name, arguments, and options. +func NewIsBackupPolicyPlan(ctx *pulumi.Context, + name string, args *IsBackupPolicyPlanArgs, opts ...pulumi.ResourceOption) (*IsBackupPolicyPlan, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BackupPolicyId == nil { + return nil, errors.New("invalid value for required argument 'BackupPolicyId'") + } + if args.CronSpec == nil { + return nil, errors.New("invalid value for required argument 'CronSpec'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBackupPolicyPlan + err := ctx.RegisterResource("ibmcloud:index/isBackupPolicyPlan:IsBackupPolicyPlan", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBackupPolicyPlan gets an existing IsBackupPolicyPlan resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBackupPolicyPlan(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBackupPolicyPlanState, opts ...pulumi.ResourceOption) (*IsBackupPolicyPlan, error) { + var resource IsBackupPolicyPlan + err := ctx.ReadResource("ibmcloud:index/isBackupPolicyPlan:IsBackupPolicyPlan", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBackupPolicyPlan resources. +type isBackupPolicyPlanState struct { + // Indicates whether the plan is active. + Active *bool `pulumi:"active"` + // User tags to attach to each backup (snapshot) created by this plan. If unspecified, no user tags will be attached. + AttachUserTags []string `pulumi:"attachUserTags"` + // The backup policy identifier. + BackupPolicyId *string `pulumi:"backupPolicyId"` + // The backup policy identifier. + BackupPolicyPlanId *string `pulumi:"backupPolicyPlanId"` + ClonePolicy *IsBackupPolicyPlanClonePolicy `pulumi:"clonePolicy"` + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags *bool `pulumi:"copyUserTags"` + // The date and time that the backup policy plan was created. + CreatedAt *string `pulumi:"createdAt"` + // The cron specification for the backup schedule. + CronSpec *string `pulumi:"cronSpec"` + DeletionTrigger *IsBackupPolicyPlanDeletionTrigger `pulumi:"deletionTrigger"` + // The URL for this backup policy plan. + Href *string `pulumi:"href"` + // The lifecycle state of this backup policy plan. + LifecycleState *string `pulumi:"lifecycleState"` + // The user-defined name for this backup policy plan. Names must be unique within the backup policy this plan resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // Backup policy plan cross region rule. + RemoteRegionPolicies []IsBackupPolicyPlanRemoteRegionPolicy `pulumi:"remoteRegionPolicies"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // Version of the BackupPolicyPlan. + Version *string `pulumi:"version"` +} + +type IsBackupPolicyPlanState struct { + // Indicates whether the plan is active. + Active pulumi.BoolPtrInput + // User tags to attach to each backup (snapshot) created by this plan. If unspecified, no user tags will be attached. + AttachUserTags pulumi.StringArrayInput + // The backup policy identifier. + BackupPolicyId pulumi.StringPtrInput + // The backup policy identifier. + BackupPolicyPlanId pulumi.StringPtrInput + ClonePolicy IsBackupPolicyPlanClonePolicyPtrInput + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags pulumi.BoolPtrInput + // The date and time that the backup policy plan was created. + CreatedAt pulumi.StringPtrInput + // The cron specification for the backup schedule. + CronSpec pulumi.StringPtrInput + DeletionTrigger IsBackupPolicyPlanDeletionTriggerPtrInput + // The URL for this backup policy plan. + Href pulumi.StringPtrInput + // The lifecycle state of this backup policy plan. + LifecycleState pulumi.StringPtrInput + // The user-defined name for this backup policy plan. Names must be unique within the backup policy this plan resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // Backup policy plan cross region rule. + RemoteRegionPolicies IsBackupPolicyPlanRemoteRegionPolicyArrayInput + // The resource type. + ResourceType pulumi.StringPtrInput + // Version of the BackupPolicyPlan. + Version pulumi.StringPtrInput +} + +func (IsBackupPolicyPlanState) ElementType() reflect.Type { + return reflect.TypeOf((*isBackupPolicyPlanState)(nil)).Elem() +} + +type isBackupPolicyPlanArgs struct { + // Indicates whether the plan is active. + Active *bool `pulumi:"active"` + // User tags to attach to each backup (snapshot) created by this plan. If unspecified, no user tags will be attached. + AttachUserTags []string `pulumi:"attachUserTags"` + // The backup policy identifier. + BackupPolicyId string `pulumi:"backupPolicyId"` + ClonePolicy *IsBackupPolicyPlanClonePolicy `pulumi:"clonePolicy"` + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags *bool `pulumi:"copyUserTags"` + // The cron specification for the backup schedule. + CronSpec string `pulumi:"cronSpec"` + DeletionTrigger *IsBackupPolicyPlanDeletionTrigger `pulumi:"deletionTrigger"` + // The user-defined name for this backup policy plan. Names must be unique within the backup policy this plan resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // Backup policy plan cross region rule. + RemoteRegionPolicies []IsBackupPolicyPlanRemoteRegionPolicy `pulumi:"remoteRegionPolicies"` +} + +// The set of arguments for constructing a IsBackupPolicyPlan resource. +type IsBackupPolicyPlanArgs struct { + // Indicates whether the plan is active. + Active pulumi.BoolPtrInput + // User tags to attach to each backup (snapshot) created by this plan. If unspecified, no user tags will be attached. + AttachUserTags pulumi.StringArrayInput + // The backup policy identifier. + BackupPolicyId pulumi.StringInput + ClonePolicy IsBackupPolicyPlanClonePolicyPtrInput + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags pulumi.BoolPtrInput + // The cron specification for the backup schedule. + CronSpec pulumi.StringInput + DeletionTrigger IsBackupPolicyPlanDeletionTriggerPtrInput + // The user-defined name for this backup policy plan. Names must be unique within the backup policy this plan resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // Backup policy plan cross region rule. + RemoteRegionPolicies IsBackupPolicyPlanRemoteRegionPolicyArrayInput +} + +func (IsBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBackupPolicyPlanArgs)(nil)).Elem() +} + +type IsBackupPolicyPlanInput interface { + pulumi.Input + + ToIsBackupPolicyPlanOutput() IsBackupPolicyPlanOutput + ToIsBackupPolicyPlanOutputWithContext(ctx context.Context) IsBackupPolicyPlanOutput +} + +func (*IsBackupPolicyPlan) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicyPlan)(nil)).Elem() +} + +func (i *IsBackupPolicyPlan) ToIsBackupPolicyPlanOutput() IsBackupPolicyPlanOutput { + return i.ToIsBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i *IsBackupPolicyPlan) ToIsBackupPolicyPlanOutputWithContext(ctx context.Context) IsBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanOutput) +} + +type IsBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicyPlan)(nil)).Elem() +} + +func (o IsBackupPolicyPlanOutput) ToIsBackupPolicyPlanOutput() IsBackupPolicyPlanOutput { + return o +} + +func (o IsBackupPolicyPlanOutput) ToIsBackupPolicyPlanOutputWithContext(ctx context.Context) IsBackupPolicyPlanOutput { + return o +} + +// Indicates whether the plan is active. +func (o IsBackupPolicyPlanOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// User tags to attach to each backup (snapshot) created by this plan. If unspecified, no user tags will be attached. +func (o IsBackupPolicyPlanOutput) AttachUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringArrayOutput { return v.AttachUserTags }).(pulumi.StringArrayOutput) +} + +// The backup policy identifier. +func (o IsBackupPolicyPlanOutput) BackupPolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.BackupPolicyId }).(pulumi.StringOutput) +} + +// The backup policy identifier. +func (o IsBackupPolicyPlanOutput) BackupPolicyPlanId() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.BackupPolicyPlanId }).(pulumi.StringOutput) +} + +func (o IsBackupPolicyPlanOutput) ClonePolicy() IsBackupPolicyPlanClonePolicyOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) IsBackupPolicyPlanClonePolicyOutput { return v.ClonePolicy }).(IsBackupPolicyPlanClonePolicyOutput) +} + +// Indicates whether to copy the source's user tags to the created backups (snapshots). +func (o IsBackupPolicyPlanOutput) CopyUserTags() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.BoolPtrOutput { return v.CopyUserTags }).(pulumi.BoolPtrOutput) +} + +// The date and time that the backup policy plan was created. +func (o IsBackupPolicyPlanOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The cron specification for the backup schedule. +func (o IsBackupPolicyPlanOutput) CronSpec() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.CronSpec }).(pulumi.StringOutput) +} + +func (o IsBackupPolicyPlanOutput) DeletionTrigger() IsBackupPolicyPlanDeletionTriggerOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) IsBackupPolicyPlanDeletionTriggerOutput { return v.DeletionTrigger }).(IsBackupPolicyPlanDeletionTriggerOutput) +} + +// The URL for this backup policy plan. +func (o IsBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of this backup policy plan. +func (o IsBackupPolicyPlanOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined name for this backup policy plan. Names must be unique within the backup policy this plan resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Backup policy plan cross region rule. +func (o IsBackupPolicyPlanOutput) RemoteRegionPolicies() IsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) IsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return v.RemoteRegionPolicies + }).(IsBackupPolicyPlanRemoteRegionPolicyArrayOutput) +} + +// The resource type. +func (o IsBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Version of the BackupPolicyPlan. +func (o IsBackupPolicyPlanOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IsBackupPolicyPlan) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyPlanInput)(nil)).Elem(), &IsBackupPolicyPlan{}) + pulumi.RegisterOutputType(IsBackupPolicyPlanOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServer.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServer.go new file mode 100644 index 000000000..3824c8976 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServer.go @@ -0,0 +1,577 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBareMetalServer struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // This restart/start/stops a bare metal server. + Action pulumi.StringPtrOutput `pulumi:"action"` + // The total bandwidth (in megabits per second) + Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` + // The unique identifier for this bare metal server disk + BootTarget pulumi.StringOutput `pulumi:"bootTarget"` + // The bare metal server CPU configuration + Cpus IsBareMetalServerCpusArrayOutput `pulumi:"cpus"` + // The CRN for this bare metal server + Crn pulumi.StringOutput `pulumi:"crn"` + DefaultTrustedProfile IsBareMetalServerDefaultTrustedProfilePtrOutput `pulumi:"defaultTrustedProfile"` + // Enables stopping type of the bare metal server before deleting + DeleteType pulumi.StringPtrOutput `pulumi:"deleteType"` + // The disks for this bare metal server, including any disks that are associated with the boot_target. + Disks IsBareMetalServerDiskTypeArrayOutput `pulumi:"disks"` + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. + EnableSecureBoot pulumi.BoolOutput `pulumi:"enableSecureBoot"` + // The type of firmware update available + FirmwareUpdateTypeAvailable pulumi.StringOutput `pulumi:"firmwareUpdateTypeAvailable"` + // The reasons for the current healthState (if any). + HealthReasons IsBareMetalServerHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource + HealthState pulumi.StringOutput `pulumi:"healthState"` + // The URL for this bare metal server + Href pulumi.StringOutput `pulumi:"href"` + // image id + Image pulumi.StringOutput `pulumi:"image"` + // SSH key Ids for the bare metal server + Keys pulumi.StringArrayOutput `pulumi:"keys"` + // The amount of memory, truncated to whole gibibytes + Memory pulumi.IntOutput `pulumi:"memory"` + // The metadata service configuration + MetadataService IsBareMetalServerMetadataServiceOutput `pulumi:"metadataService"` + // Bare metal server name + Name pulumi.StringOutput `pulumi:"name"` + // The network attachments for this bare metal server, including the primary network attachment. + NetworkAttachments IsBareMetalServerNetworkAttachmentTypeArrayOutput `pulumi:"networkAttachments"` + NetworkInterfaces IsBareMetalServerNetworkInterfaceTypeArrayOutput `pulumi:"networkInterfaces"` + // The primary network attachment. + PrimaryNetworkAttachment IsBareMetalServerPrimaryNetworkAttachmentPtrOutput `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface IsBareMetalServerPrimaryNetworkInterfaceOutput `pulumi:"primaryNetworkInterface"` + // profile name + Profile pulumi.StringOutput `pulumi:"profile"` + ReservationAffinities IsBareMetalServerReservationAffinityArrayOutput `pulumi:"reservationAffinities"` + // The reservation used by this bare metal server + Reservations IsBareMetalServerReservationArrayOutput `pulumi:"reservations"` + // Resource group name + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // Resource type name + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Bare metal server status + Status pulumi.StringOutput `pulumi:"status"` + StatusReasons IsBareMetalServerStatusReasonArrayOutput `pulumi:"statusReasons"` + // Tags for the Bare metal server + Tags pulumi.StringArrayOutput `pulumi:"tags"` + TrustedPlatformModule IsBareMetalServerTrustedPlatformModuleOutput `pulumi:"trustedPlatformModule"` + // User data given for the bare metal server + UserData pulumi.StringPtrOutput `pulumi:"userData"` + // The VPC the bare metal server is to be a part of + Vpc pulumi.StringOutput `pulumi:"vpc"` + // Zone name + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsBareMetalServer registers a new resource with the given unique name, arguments, and options. +func NewIsBareMetalServer(ctx *pulumi.Context, + name string, args *IsBareMetalServerArgs, opts ...pulumi.ResourceOption) (*IsBareMetalServer, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Image == nil { + return nil, errors.New("invalid value for required argument 'Image'") + } + if args.Keys == nil { + return nil, errors.New("invalid value for required argument 'Keys'") + } + if args.Profile == nil { + return nil, errors.New("invalid value for required argument 'Profile'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBareMetalServer + err := ctx.RegisterResource("ibmcloud:index/isBareMetalServer:IsBareMetalServer", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBareMetalServer gets an existing IsBareMetalServer resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBareMetalServer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBareMetalServerState, opts ...pulumi.ResourceOption) (*IsBareMetalServer, error) { + var resource IsBareMetalServer + err := ctx.ReadResource("ibmcloud:index/isBareMetalServer:IsBareMetalServer", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBareMetalServer resources. +type isBareMetalServerState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // This restart/start/stops a bare metal server. + Action *string `pulumi:"action"` + // The total bandwidth (in megabits per second) + Bandwidth *int `pulumi:"bandwidth"` + // The unique identifier for this bare metal server disk + BootTarget *string `pulumi:"bootTarget"` + // The bare metal server CPU configuration + Cpus []IsBareMetalServerCpus `pulumi:"cpus"` + // The CRN for this bare metal server + Crn *string `pulumi:"crn"` + DefaultTrustedProfile *IsBareMetalServerDefaultTrustedProfile `pulumi:"defaultTrustedProfile"` + // Enables stopping type of the bare metal server before deleting + DeleteType *string `pulumi:"deleteType"` + // The disks for this bare metal server, including any disks that are associated with the boot_target. + Disks []IsBareMetalServerDiskType `pulumi:"disks"` + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. + EnableSecureBoot *bool `pulumi:"enableSecureBoot"` + // The type of firmware update available + FirmwareUpdateTypeAvailable *string `pulumi:"firmwareUpdateTypeAvailable"` + // The reasons for the current healthState (if any). + HealthReasons []IsBareMetalServerHealthReason `pulumi:"healthReasons"` + // The health of this resource + HealthState *string `pulumi:"healthState"` + // The URL for this bare metal server + Href *string `pulumi:"href"` + // image id + Image *string `pulumi:"image"` + // SSH key Ids for the bare metal server + Keys []string `pulumi:"keys"` + // The amount of memory, truncated to whole gibibytes + Memory *int `pulumi:"memory"` + // The metadata service configuration + MetadataService *IsBareMetalServerMetadataService `pulumi:"metadataService"` + // Bare metal server name + Name *string `pulumi:"name"` + // The network attachments for this bare metal server, including the primary network attachment. + NetworkAttachments []IsBareMetalServerNetworkAttachmentType `pulumi:"networkAttachments"` + NetworkInterfaces []IsBareMetalServerNetworkInterfaceType `pulumi:"networkInterfaces"` + // The primary network attachment. + PrimaryNetworkAttachment *IsBareMetalServerPrimaryNetworkAttachment `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface *IsBareMetalServerPrimaryNetworkInterface `pulumi:"primaryNetworkInterface"` + // profile name + Profile *string `pulumi:"profile"` + ReservationAffinities []IsBareMetalServerReservationAffinity `pulumi:"reservationAffinities"` + // The reservation used by this bare metal server + Reservations []IsBareMetalServerReservation `pulumi:"reservations"` + // Resource group name + ResourceGroup *string `pulumi:"resourceGroup"` + // Resource type name + ResourceType *string `pulumi:"resourceType"` + // Bare metal server status + Status *string `pulumi:"status"` + StatusReasons []IsBareMetalServerStatusReason `pulumi:"statusReasons"` + // Tags for the Bare metal server + Tags []string `pulumi:"tags"` + TrustedPlatformModule *IsBareMetalServerTrustedPlatformModule `pulumi:"trustedPlatformModule"` + // User data given for the bare metal server + UserData *string `pulumi:"userData"` + // The VPC the bare metal server is to be a part of + Vpc *string `pulumi:"vpc"` + // Zone name + Zone *string `pulumi:"zone"` +} + +type IsBareMetalServerState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // This restart/start/stops a bare metal server. + Action pulumi.StringPtrInput + // The total bandwidth (in megabits per second) + Bandwidth pulumi.IntPtrInput + // The unique identifier for this bare metal server disk + BootTarget pulumi.StringPtrInput + // The bare metal server CPU configuration + Cpus IsBareMetalServerCpusArrayInput + // The CRN for this bare metal server + Crn pulumi.StringPtrInput + DefaultTrustedProfile IsBareMetalServerDefaultTrustedProfilePtrInput + // Enables stopping type of the bare metal server before deleting + DeleteType pulumi.StringPtrInput + // The disks for this bare metal server, including any disks that are associated with the boot_target. + Disks IsBareMetalServerDiskTypeArrayInput + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. + EnableSecureBoot pulumi.BoolPtrInput + // The type of firmware update available + FirmwareUpdateTypeAvailable pulumi.StringPtrInput + // The reasons for the current healthState (if any). + HealthReasons IsBareMetalServerHealthReasonArrayInput + // The health of this resource + HealthState pulumi.StringPtrInput + // The URL for this bare metal server + Href pulumi.StringPtrInput + // image id + Image pulumi.StringPtrInput + // SSH key Ids for the bare metal server + Keys pulumi.StringArrayInput + // The amount of memory, truncated to whole gibibytes + Memory pulumi.IntPtrInput + // The metadata service configuration + MetadataService IsBareMetalServerMetadataServicePtrInput + // Bare metal server name + Name pulumi.StringPtrInput + // The network attachments for this bare metal server, including the primary network attachment. + NetworkAttachments IsBareMetalServerNetworkAttachmentTypeArrayInput + NetworkInterfaces IsBareMetalServerNetworkInterfaceTypeArrayInput + // The primary network attachment. + PrimaryNetworkAttachment IsBareMetalServerPrimaryNetworkAttachmentPtrInput + // Primary Network interface info + PrimaryNetworkInterface IsBareMetalServerPrimaryNetworkInterfacePtrInput + // profile name + Profile pulumi.StringPtrInput + ReservationAffinities IsBareMetalServerReservationAffinityArrayInput + // The reservation used by this bare metal server + Reservations IsBareMetalServerReservationArrayInput + // Resource group name + ResourceGroup pulumi.StringPtrInput + // Resource type name + ResourceType pulumi.StringPtrInput + // Bare metal server status + Status pulumi.StringPtrInput + StatusReasons IsBareMetalServerStatusReasonArrayInput + // Tags for the Bare metal server + Tags pulumi.StringArrayInput + TrustedPlatformModule IsBareMetalServerTrustedPlatformModulePtrInput + // User data given for the bare metal server + UserData pulumi.StringPtrInput + // The VPC the bare metal server is to be a part of + Vpc pulumi.StringPtrInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsBareMetalServerState) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerState)(nil)).Elem() +} + +type isBareMetalServerArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // This restart/start/stops a bare metal server. + Action *string `pulumi:"action"` + // The total bandwidth (in megabits per second) + Bandwidth *int `pulumi:"bandwidth"` + DefaultTrustedProfile *IsBareMetalServerDefaultTrustedProfile `pulumi:"defaultTrustedProfile"` + // Enables stopping type of the bare metal server before deleting + DeleteType *string `pulumi:"deleteType"` + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. + EnableSecureBoot *bool `pulumi:"enableSecureBoot"` + // image id + Image string `pulumi:"image"` + // SSH key Ids for the bare metal server + Keys []string `pulumi:"keys"` + // The metadata service configuration + MetadataService *IsBareMetalServerMetadataService `pulumi:"metadataService"` + // Bare metal server name + Name *string `pulumi:"name"` + // The network attachments for this bare metal server, including the primary network attachment. + NetworkAttachments []IsBareMetalServerNetworkAttachmentType `pulumi:"networkAttachments"` + NetworkInterfaces []IsBareMetalServerNetworkInterfaceType `pulumi:"networkInterfaces"` + // The primary network attachment. + PrimaryNetworkAttachment *IsBareMetalServerPrimaryNetworkAttachment `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface *IsBareMetalServerPrimaryNetworkInterface `pulumi:"primaryNetworkInterface"` + // profile name + Profile string `pulumi:"profile"` + ReservationAffinities []IsBareMetalServerReservationAffinity `pulumi:"reservationAffinities"` + // Resource group name + ResourceGroup *string `pulumi:"resourceGroup"` + // Tags for the Bare metal server + Tags []string `pulumi:"tags"` + TrustedPlatformModule *IsBareMetalServerTrustedPlatformModule `pulumi:"trustedPlatformModule"` + // User data given for the bare metal server + UserData *string `pulumi:"userData"` + // The VPC the bare metal server is to be a part of + Vpc *string `pulumi:"vpc"` + // Zone name + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsBareMetalServer resource. +type IsBareMetalServerArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // This restart/start/stops a bare metal server. + Action pulumi.StringPtrInput + // The total bandwidth (in megabits per second) + Bandwidth pulumi.IntPtrInput + DefaultTrustedProfile IsBareMetalServerDefaultTrustedProfilePtrInput + // Enables stopping type of the bare metal server before deleting + DeleteType pulumi.StringPtrInput + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. + EnableSecureBoot pulumi.BoolPtrInput + // image id + Image pulumi.StringInput + // SSH key Ids for the bare metal server + Keys pulumi.StringArrayInput + // The metadata service configuration + MetadataService IsBareMetalServerMetadataServicePtrInput + // Bare metal server name + Name pulumi.StringPtrInput + // The network attachments for this bare metal server, including the primary network attachment. + NetworkAttachments IsBareMetalServerNetworkAttachmentTypeArrayInput + NetworkInterfaces IsBareMetalServerNetworkInterfaceTypeArrayInput + // The primary network attachment. + PrimaryNetworkAttachment IsBareMetalServerPrimaryNetworkAttachmentPtrInput + // Primary Network interface info + PrimaryNetworkInterface IsBareMetalServerPrimaryNetworkInterfacePtrInput + // profile name + Profile pulumi.StringInput + ReservationAffinities IsBareMetalServerReservationAffinityArrayInput + // Resource group name + ResourceGroup pulumi.StringPtrInput + // Tags for the Bare metal server + Tags pulumi.StringArrayInput + TrustedPlatformModule IsBareMetalServerTrustedPlatformModulePtrInput + // User data given for the bare metal server + UserData pulumi.StringPtrInput + // The VPC the bare metal server is to be a part of + Vpc pulumi.StringPtrInput + // Zone name + Zone pulumi.StringInput +} + +func (IsBareMetalServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerArgs)(nil)).Elem() +} + +type IsBareMetalServerInput interface { + pulumi.Input + + ToIsBareMetalServerOutput() IsBareMetalServerOutput + ToIsBareMetalServerOutputWithContext(ctx context.Context) IsBareMetalServerOutput +} + +func (*IsBareMetalServer) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServer)(nil)).Elem() +} + +func (i *IsBareMetalServer) ToIsBareMetalServerOutput() IsBareMetalServerOutput { + return i.ToIsBareMetalServerOutputWithContext(context.Background()) +} + +func (i *IsBareMetalServer) ToIsBareMetalServerOutputWithContext(ctx context.Context) IsBareMetalServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerOutput) +} + +type IsBareMetalServerOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServer)(nil)).Elem() +} + +func (o IsBareMetalServerOutput) ToIsBareMetalServerOutput() IsBareMetalServerOutput { + return o +} + +func (o IsBareMetalServerOutput) ToIsBareMetalServerOutputWithContext(ctx context.Context) IsBareMetalServerOutput { + return o +} + +// List of access management tags +func (o IsBareMetalServerOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// This restart/start/stops a bare metal server. +func (o IsBareMetalServerOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringPtrOutput { return v.Action }).(pulumi.StringPtrOutput) +} + +// The total bandwidth (in megabits per second) +func (o IsBareMetalServerOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.IntOutput { return v.Bandwidth }).(pulumi.IntOutput) +} + +// The unique identifier for this bare metal server disk +func (o IsBareMetalServerOutput) BootTarget() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.BootTarget }).(pulumi.StringOutput) +} + +// The bare metal server CPU configuration +func (o IsBareMetalServerOutput) Cpus() IsBareMetalServerCpusArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerCpusArrayOutput { return v.Cpus }).(IsBareMetalServerCpusArrayOutput) +} + +// The CRN for this bare metal server +func (o IsBareMetalServerOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +func (o IsBareMetalServerOutput) DefaultTrustedProfile() IsBareMetalServerDefaultTrustedProfilePtrOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerDefaultTrustedProfilePtrOutput { + return v.DefaultTrustedProfile + }).(IsBareMetalServerDefaultTrustedProfilePtrOutput) +} + +// Enables stopping type of the bare metal server before deleting +func (o IsBareMetalServerOutput) DeleteType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringPtrOutput { return v.DeleteType }).(pulumi.StringPtrOutput) +} + +// The disks for this bare metal server, including any disks that are associated with the boot_target. +func (o IsBareMetalServerOutput) Disks() IsBareMetalServerDiskTypeArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerDiskTypeArrayOutput { return v.Disks }).(IsBareMetalServerDiskTypeArrayOutput) +} + +// Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. +func (o IsBareMetalServerOutput) EnableSecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.BoolOutput { return v.EnableSecureBoot }).(pulumi.BoolOutput) +} + +// The type of firmware update available +func (o IsBareMetalServerOutput) FirmwareUpdateTypeAvailable() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.FirmwareUpdateTypeAvailable }).(pulumi.StringOutput) +} + +// The reasons for the current healthState (if any). +func (o IsBareMetalServerOutput) HealthReasons() IsBareMetalServerHealthReasonArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerHealthReasonArrayOutput { return v.HealthReasons }).(IsBareMetalServerHealthReasonArrayOutput) +} + +// The health of this resource +func (o IsBareMetalServerOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this bare metal server +func (o IsBareMetalServerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// image id +func (o IsBareMetalServerOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.Image }).(pulumi.StringOutput) +} + +// SSH key Ids for the bare metal server +func (o IsBareMetalServerOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringArrayOutput { return v.Keys }).(pulumi.StringArrayOutput) +} + +// The amount of memory, truncated to whole gibibytes +func (o IsBareMetalServerOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.IntOutput { return v.Memory }).(pulumi.IntOutput) +} + +// The metadata service configuration +func (o IsBareMetalServerOutput) MetadataService() IsBareMetalServerMetadataServiceOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerMetadataServiceOutput { return v.MetadataService }).(IsBareMetalServerMetadataServiceOutput) +} + +// Bare metal server name +func (o IsBareMetalServerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The network attachments for this bare metal server, including the primary network attachment. +func (o IsBareMetalServerOutput) NetworkAttachments() IsBareMetalServerNetworkAttachmentTypeArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerNetworkAttachmentTypeArrayOutput { + return v.NetworkAttachments + }).(IsBareMetalServerNetworkAttachmentTypeArrayOutput) +} + +func (o IsBareMetalServerOutput) NetworkInterfaces() IsBareMetalServerNetworkInterfaceTypeArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerNetworkInterfaceTypeArrayOutput { + return v.NetworkInterfaces + }).(IsBareMetalServerNetworkInterfaceTypeArrayOutput) +} + +// The primary network attachment. +func (o IsBareMetalServerOutput) PrimaryNetworkAttachment() IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return v.PrimaryNetworkAttachment + }).(IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) +} + +// Primary Network interface info +func (o IsBareMetalServerOutput) PrimaryNetworkInterface() IsBareMetalServerPrimaryNetworkInterfaceOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerPrimaryNetworkInterfaceOutput { + return v.PrimaryNetworkInterface + }).(IsBareMetalServerPrimaryNetworkInterfaceOutput) +} + +// profile name +func (o IsBareMetalServerOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +func (o IsBareMetalServerOutput) ReservationAffinities() IsBareMetalServerReservationAffinityArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerReservationAffinityArrayOutput { + return v.ReservationAffinities + }).(IsBareMetalServerReservationAffinityArrayOutput) +} + +// The reservation used by this bare metal server +func (o IsBareMetalServerOutput) Reservations() IsBareMetalServerReservationArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerReservationArrayOutput { return v.Reservations }).(IsBareMetalServerReservationArrayOutput) +} + +// Resource group name +func (o IsBareMetalServerOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// Resource type name +func (o IsBareMetalServerOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Bare metal server status +func (o IsBareMetalServerOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o IsBareMetalServerOutput) StatusReasons() IsBareMetalServerStatusReasonArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerStatusReasonArrayOutput { return v.StatusReasons }).(IsBareMetalServerStatusReasonArrayOutput) +} + +// Tags for the Bare metal server +func (o IsBareMetalServerOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o IsBareMetalServerOutput) TrustedPlatformModule() IsBareMetalServerTrustedPlatformModuleOutput { + return o.ApplyT(func(v *IsBareMetalServer) IsBareMetalServerTrustedPlatformModuleOutput { + return v.TrustedPlatformModule + }).(IsBareMetalServerTrustedPlatformModuleOutput) +} + +// User data given for the bare metal server +func (o IsBareMetalServerOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringPtrOutput { return v.UserData }).(pulumi.StringPtrOutput) +} + +// The VPC the bare metal server is to be a part of +func (o IsBareMetalServerOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// Zone name +func (o IsBareMetalServerOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServer) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerInput)(nil)).Elem(), &IsBareMetalServer{}) + pulumi.RegisterOutputType(IsBareMetalServerOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerAction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerAction.go new file mode 100644 index 000000000..656952f23 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerAction.go @@ -0,0 +1,177 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBareMetalServerAction struct { + pulumi.CustomResourceState + + // This restart/start/stops a bare metal server. + Action pulumi.StringOutput `pulumi:"action"` + // Bare metal server identifier + BareMetalServer pulumi.StringOutput `pulumi:"bareMetalServer"` + // Bare metal server status + Status pulumi.StringOutput `pulumi:"status"` + StatusReasons IsBareMetalServerActionStatusReasonArrayOutput `pulumi:"statusReasons"` + // The type of stop operation + StopType pulumi.StringPtrOutput `pulumi:"stopType"` +} + +// NewIsBareMetalServerAction registers a new resource with the given unique name, arguments, and options. +func NewIsBareMetalServerAction(ctx *pulumi.Context, + name string, args *IsBareMetalServerActionArgs, opts ...pulumi.ResourceOption) (*IsBareMetalServerAction, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Action == nil { + return nil, errors.New("invalid value for required argument 'Action'") + } + if args.BareMetalServer == nil { + return nil, errors.New("invalid value for required argument 'BareMetalServer'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBareMetalServerAction + err := ctx.RegisterResource("ibmcloud:index/isBareMetalServerAction:IsBareMetalServerAction", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBareMetalServerAction gets an existing IsBareMetalServerAction resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBareMetalServerAction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBareMetalServerActionState, opts ...pulumi.ResourceOption) (*IsBareMetalServerAction, error) { + var resource IsBareMetalServerAction + err := ctx.ReadResource("ibmcloud:index/isBareMetalServerAction:IsBareMetalServerAction", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBareMetalServerAction resources. +type isBareMetalServerActionState struct { + // This restart/start/stops a bare metal server. + Action *string `pulumi:"action"` + // Bare metal server identifier + BareMetalServer *string `pulumi:"bareMetalServer"` + // Bare metal server status + Status *string `pulumi:"status"` + StatusReasons []IsBareMetalServerActionStatusReason `pulumi:"statusReasons"` + // The type of stop operation + StopType *string `pulumi:"stopType"` +} + +type IsBareMetalServerActionState struct { + // This restart/start/stops a bare metal server. + Action pulumi.StringPtrInput + // Bare metal server identifier + BareMetalServer pulumi.StringPtrInput + // Bare metal server status + Status pulumi.StringPtrInput + StatusReasons IsBareMetalServerActionStatusReasonArrayInput + // The type of stop operation + StopType pulumi.StringPtrInput +} + +func (IsBareMetalServerActionState) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerActionState)(nil)).Elem() +} + +type isBareMetalServerActionArgs struct { + // This restart/start/stops a bare metal server. + Action string `pulumi:"action"` + // Bare metal server identifier + BareMetalServer string `pulumi:"bareMetalServer"` + // The type of stop operation + StopType *string `pulumi:"stopType"` +} + +// The set of arguments for constructing a IsBareMetalServerAction resource. +type IsBareMetalServerActionArgs struct { + // This restart/start/stops a bare metal server. + Action pulumi.StringInput + // Bare metal server identifier + BareMetalServer pulumi.StringInput + // The type of stop operation + StopType pulumi.StringPtrInput +} + +func (IsBareMetalServerActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerActionArgs)(nil)).Elem() +} + +type IsBareMetalServerActionInput interface { + pulumi.Input + + ToIsBareMetalServerActionOutput() IsBareMetalServerActionOutput + ToIsBareMetalServerActionOutputWithContext(ctx context.Context) IsBareMetalServerActionOutput +} + +func (*IsBareMetalServerAction) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerAction)(nil)).Elem() +} + +func (i *IsBareMetalServerAction) ToIsBareMetalServerActionOutput() IsBareMetalServerActionOutput { + return i.ToIsBareMetalServerActionOutputWithContext(context.Background()) +} + +func (i *IsBareMetalServerAction) ToIsBareMetalServerActionOutputWithContext(ctx context.Context) IsBareMetalServerActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerActionOutput) +} + +type IsBareMetalServerActionOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerAction)(nil)).Elem() +} + +func (o IsBareMetalServerActionOutput) ToIsBareMetalServerActionOutput() IsBareMetalServerActionOutput { + return o +} + +func (o IsBareMetalServerActionOutput) ToIsBareMetalServerActionOutputWithContext(ctx context.Context) IsBareMetalServerActionOutput { + return o +} + +// This restart/start/stops a bare metal server. +func (o IsBareMetalServerActionOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerAction) pulumi.StringOutput { return v.Action }).(pulumi.StringOutput) +} + +// Bare metal server identifier +func (o IsBareMetalServerActionOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerAction) pulumi.StringOutput { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// Bare metal server status +func (o IsBareMetalServerActionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerAction) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o IsBareMetalServerActionOutput) StatusReasons() IsBareMetalServerActionStatusReasonArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerAction) IsBareMetalServerActionStatusReasonArrayOutput { + return v.StatusReasons + }).(IsBareMetalServerActionStatusReasonArrayOutput) +} + +// The type of stop operation +func (o IsBareMetalServerActionOutput) StopType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerAction) pulumi.StringPtrOutput { return v.StopType }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerActionInput)(nil)).Elem(), &IsBareMetalServerAction{}) + pulumi.RegisterOutputType(IsBareMetalServerActionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerDisk.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerDisk.go new file mode 100644 index 000000000..ae6db43cd --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerDisk.go @@ -0,0 +1,223 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBareMetalServerDisk struct { + pulumi.CustomResourceState + + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUses IsBareMetalServerDiskAllowedUseArrayOutput `pulumi:"allowedUses"` + // Bare metal server identifier + BareMetalServer pulumi.StringOutput `pulumi:"bareMetalServer"` + // The date and time that the disk was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Bare metal server disk identifier + Disk pulumi.StringOutput `pulumi:"disk"` + // The URL for this bare metal server disk. + Href pulumi.StringOutput `pulumi:"href"` + // The disk attachment interface used:- `fcp`: Fiber Channel Protocol- `sata`: Serial Advanced Technology Attachment- `nvme`: Non-Volatile Memory ExpressThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + InterfaceType pulumi.StringOutput `pulumi:"interfaceType"` + // Bare metal server disk name + Name pulumi.StringOutput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntOutput `pulumi:"size"` +} + +// NewIsBareMetalServerDisk registers a new resource with the given unique name, arguments, and options. +func NewIsBareMetalServerDisk(ctx *pulumi.Context, + name string, args *IsBareMetalServerDiskArgs, opts ...pulumi.ResourceOption) (*IsBareMetalServerDisk, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BareMetalServer == nil { + return nil, errors.New("invalid value for required argument 'BareMetalServer'") + } + if args.Disk == nil { + return nil, errors.New("invalid value for required argument 'Disk'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBareMetalServerDisk + err := ctx.RegisterResource("ibmcloud:index/isBareMetalServerDisk:IsBareMetalServerDisk", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBareMetalServerDisk gets an existing IsBareMetalServerDisk resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBareMetalServerDisk(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBareMetalServerDiskState, opts ...pulumi.ResourceOption) (*IsBareMetalServerDisk, error) { + var resource IsBareMetalServerDisk + err := ctx.ReadResource("ibmcloud:index/isBareMetalServerDisk:IsBareMetalServerDisk", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBareMetalServerDisk resources. +type isBareMetalServerDiskState struct { + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUses []IsBareMetalServerDiskAllowedUse `pulumi:"allowedUses"` + // Bare metal server identifier + BareMetalServer *string `pulumi:"bareMetalServer"` + // The date and time that the disk was created. + CreatedAt *string `pulumi:"createdAt"` + // Bare metal server disk identifier + Disk *string `pulumi:"disk"` + // The URL for this bare metal server disk. + Href *string `pulumi:"href"` + // The disk attachment interface used:- `fcp`: Fiber Channel Protocol- `sata`: Serial Advanced Technology Attachment- `nvme`: Non-Volatile Memory ExpressThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + InterfaceType *string `pulumi:"interfaceType"` + // Bare metal server disk name + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size *int `pulumi:"size"` +} + +type IsBareMetalServerDiskState struct { + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUses IsBareMetalServerDiskAllowedUseArrayInput + // Bare metal server identifier + BareMetalServer pulumi.StringPtrInput + // The date and time that the disk was created. + CreatedAt pulumi.StringPtrInput + // Bare metal server disk identifier + Disk pulumi.StringPtrInput + // The URL for this bare metal server disk. + Href pulumi.StringPtrInput + // The disk attachment interface used:- `fcp`: Fiber Channel Protocol- `sata`: Serial Advanced Technology Attachment- `nvme`: Non-Volatile Memory ExpressThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + InterfaceType pulumi.StringPtrInput + // Bare metal server disk name + Name pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The size of the disk in GB (gigabytes). + Size pulumi.IntPtrInput +} + +func (IsBareMetalServerDiskState) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerDiskState)(nil)).Elem() +} + +type isBareMetalServerDiskArgs struct { + // Bare metal server identifier + BareMetalServer string `pulumi:"bareMetalServer"` + // Bare metal server disk identifier + Disk string `pulumi:"disk"` + // Bare metal server disk name + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IsBareMetalServerDisk resource. +type IsBareMetalServerDiskArgs struct { + // Bare metal server identifier + BareMetalServer pulumi.StringInput + // Bare metal server disk identifier + Disk pulumi.StringInput + // Bare metal server disk name + Name pulumi.StringPtrInput +} + +func (IsBareMetalServerDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerDiskArgs)(nil)).Elem() +} + +type IsBareMetalServerDiskInput interface { + pulumi.Input + + ToIsBareMetalServerDiskOutput() IsBareMetalServerDiskOutput + ToIsBareMetalServerDiskOutputWithContext(ctx context.Context) IsBareMetalServerDiskOutput +} + +func (*IsBareMetalServerDisk) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerDisk)(nil)).Elem() +} + +func (i *IsBareMetalServerDisk) ToIsBareMetalServerDiskOutput() IsBareMetalServerDiskOutput { + return i.ToIsBareMetalServerDiskOutputWithContext(context.Background()) +} + +func (i *IsBareMetalServerDisk) ToIsBareMetalServerDiskOutputWithContext(ctx context.Context) IsBareMetalServerDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDiskOutput) +} + +type IsBareMetalServerDiskOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerDisk)(nil)).Elem() +} + +func (o IsBareMetalServerDiskOutput) ToIsBareMetalServerDiskOutput() IsBareMetalServerDiskOutput { + return o +} + +func (o IsBareMetalServerDiskOutput) ToIsBareMetalServerDiskOutputWithContext(ctx context.Context) IsBareMetalServerDiskOutput { + return o +} + +// The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. +func (o IsBareMetalServerDiskOutput) AllowedUses() IsBareMetalServerDiskAllowedUseArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) IsBareMetalServerDiskAllowedUseArrayOutput { return v.AllowedUses }).(IsBareMetalServerDiskAllowedUseArrayOutput) +} + +// Bare metal server identifier +func (o IsBareMetalServerDiskOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) pulumi.StringOutput { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The date and time that the disk was created. +func (o IsBareMetalServerDiskOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Bare metal server disk identifier +func (o IsBareMetalServerDiskOutput) Disk() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) pulumi.StringOutput { return v.Disk }).(pulumi.StringOutput) +} + +// The URL for this bare metal server disk. +func (o IsBareMetalServerDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The disk attachment interface used:- `fcp`: Fiber Channel Protocol- `sata`: Serial Advanced Technology Attachment- `nvme`: Non-Volatile Memory ExpressThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsBareMetalServerDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) pulumi.StringOutput { return v.InterfaceType }).(pulumi.StringOutput) +} + +// Bare metal server disk name +func (o IsBareMetalServerDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsBareMetalServerDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o IsBareMetalServerDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServerDisk) pulumi.IntOutput { return v.Size }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDiskInput)(nil)).Elem(), &IsBareMetalServerDisk{}) + pulumi.RegisterOutputType(IsBareMetalServerDiskOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerInitialization.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerInitialization.go new file mode 100644 index 000000000..6c26a0b24 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerInitialization.go @@ -0,0 +1,192 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBareMetalServerInitialization struct { + pulumi.CustomResourceState + + // Bare metal server identifier + BareMetalServer pulumi.StringOutput `pulumi:"bareMetalServer"` + // The default trusted profile configuration for the bare metal server + DefaultTrustedProfile IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput `pulumi:"defaultTrustedProfile"` + // The image to be used when provisioning the bare metal server. + Image pulumi.StringOutput `pulumi:"image"` + // SSH key Ids for the bare metal server + Keys pulumi.StringArrayOutput `pulumi:"keys"` + // Bare metal server user data to replace initialization + UserData pulumi.StringPtrOutput `pulumi:"userData"` +} + +// NewIsBareMetalServerInitialization registers a new resource with the given unique name, arguments, and options. +func NewIsBareMetalServerInitialization(ctx *pulumi.Context, + name string, args *IsBareMetalServerInitializationArgs, opts ...pulumi.ResourceOption) (*IsBareMetalServerInitialization, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BareMetalServer == nil { + return nil, errors.New("invalid value for required argument 'BareMetalServer'") + } + if args.Image == nil { + return nil, errors.New("invalid value for required argument 'Image'") + } + if args.Keys == nil { + return nil, errors.New("invalid value for required argument 'Keys'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBareMetalServerInitialization + err := ctx.RegisterResource("ibmcloud:index/isBareMetalServerInitialization:IsBareMetalServerInitialization", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBareMetalServerInitialization gets an existing IsBareMetalServerInitialization resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBareMetalServerInitialization(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBareMetalServerInitializationState, opts ...pulumi.ResourceOption) (*IsBareMetalServerInitialization, error) { + var resource IsBareMetalServerInitialization + err := ctx.ReadResource("ibmcloud:index/isBareMetalServerInitialization:IsBareMetalServerInitialization", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBareMetalServerInitialization resources. +type isBareMetalServerInitializationState struct { + // Bare metal server identifier + BareMetalServer *string `pulumi:"bareMetalServer"` + // The default trusted profile configuration for the bare metal server + DefaultTrustedProfile *IsBareMetalServerInitializationDefaultTrustedProfile `pulumi:"defaultTrustedProfile"` + // The image to be used when provisioning the bare metal server. + Image *string `pulumi:"image"` + // SSH key Ids for the bare metal server + Keys []string `pulumi:"keys"` + // Bare metal server user data to replace initialization + UserData *string `pulumi:"userData"` +} + +type IsBareMetalServerInitializationState struct { + // Bare metal server identifier + BareMetalServer pulumi.StringPtrInput + // The default trusted profile configuration for the bare metal server + DefaultTrustedProfile IsBareMetalServerInitializationDefaultTrustedProfilePtrInput + // The image to be used when provisioning the bare metal server. + Image pulumi.StringPtrInput + // SSH key Ids for the bare metal server + Keys pulumi.StringArrayInput + // Bare metal server user data to replace initialization + UserData pulumi.StringPtrInput +} + +func (IsBareMetalServerInitializationState) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerInitializationState)(nil)).Elem() +} + +type isBareMetalServerInitializationArgs struct { + // Bare metal server identifier + BareMetalServer string `pulumi:"bareMetalServer"` + // The default trusted profile configuration for the bare metal server + DefaultTrustedProfile *IsBareMetalServerInitializationDefaultTrustedProfile `pulumi:"defaultTrustedProfile"` + // The image to be used when provisioning the bare metal server. + Image string `pulumi:"image"` + // SSH key Ids for the bare metal server + Keys []string `pulumi:"keys"` + // Bare metal server user data to replace initialization + UserData *string `pulumi:"userData"` +} + +// The set of arguments for constructing a IsBareMetalServerInitialization resource. +type IsBareMetalServerInitializationArgs struct { + // Bare metal server identifier + BareMetalServer pulumi.StringInput + // The default trusted profile configuration for the bare metal server + DefaultTrustedProfile IsBareMetalServerInitializationDefaultTrustedProfilePtrInput + // The image to be used when provisioning the bare metal server. + Image pulumi.StringInput + // SSH key Ids for the bare metal server + Keys pulumi.StringArrayInput + // Bare metal server user data to replace initialization + UserData pulumi.StringPtrInput +} + +func (IsBareMetalServerInitializationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerInitializationArgs)(nil)).Elem() +} + +type IsBareMetalServerInitializationInput interface { + pulumi.Input + + ToIsBareMetalServerInitializationOutput() IsBareMetalServerInitializationOutput + ToIsBareMetalServerInitializationOutputWithContext(ctx context.Context) IsBareMetalServerInitializationOutput +} + +func (*IsBareMetalServerInitialization) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerInitialization)(nil)).Elem() +} + +func (i *IsBareMetalServerInitialization) ToIsBareMetalServerInitializationOutput() IsBareMetalServerInitializationOutput { + return i.ToIsBareMetalServerInitializationOutputWithContext(context.Background()) +} + +func (i *IsBareMetalServerInitialization) ToIsBareMetalServerInitializationOutputWithContext(ctx context.Context) IsBareMetalServerInitializationOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerInitializationOutput) +} + +type IsBareMetalServerInitializationOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerInitializationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerInitialization)(nil)).Elem() +} + +func (o IsBareMetalServerInitializationOutput) ToIsBareMetalServerInitializationOutput() IsBareMetalServerInitializationOutput { + return o +} + +func (o IsBareMetalServerInitializationOutput) ToIsBareMetalServerInitializationOutputWithContext(ctx context.Context) IsBareMetalServerInitializationOutput { + return o +} + +// Bare metal server identifier +func (o IsBareMetalServerInitializationOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerInitialization) pulumi.StringOutput { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The default trusted profile configuration for the bare metal server +func (o IsBareMetalServerInitializationOutput) DefaultTrustedProfile() IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return o.ApplyT(func(v *IsBareMetalServerInitialization) IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return v.DefaultTrustedProfile + }).(IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) +} + +// The image to be used when provisioning the bare metal server. +func (o IsBareMetalServerInitializationOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerInitialization) pulumi.StringOutput { return v.Image }).(pulumi.StringOutput) +} + +// SSH key Ids for the bare metal server +func (o IsBareMetalServerInitializationOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerInitialization) pulumi.StringArrayOutput { return v.Keys }).(pulumi.StringArrayOutput) +} + +// Bare metal server user data to replace initialization +func (o IsBareMetalServerInitializationOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerInitialization) pulumi.StringPtrOutput { return v.UserData }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerInitializationInput)(nil)).Elem(), &IsBareMetalServerInitialization{}) + pulumi.RegisterOutputType(IsBareMetalServerInitializationOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkAttachment.go new file mode 100644 index 000000000..458a910d3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkAttachment.go @@ -0,0 +1,330 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBareMetalServerNetworkAttachment struct { + pulumi.CustomResourceState + + // Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. + AllowToFloat pulumi.BoolPtrOutput `pulumi:"allowToFloat"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) attachment. + AllowedVlans pulumi.IntArrayOutput `pulumi:"allowedVlans"` + // The bare metal server identifier. + BareMetalServer pulumi.StringOutput `pulumi:"bareMetalServer"` + // The date and time that the bare metal server network attachment was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The bare metal server identifier of the server where the attachment is floated to(only applicated for allowToFloat true). + FloatingBareMetalServer pulumi.StringOutput `pulumi:"floatingBareMetalServer"` + // Only used for PCI network attachments, whether to hard/immediately stop server + HardStop pulumi.BoolPtrOutput `pulumi:"hardStop"` + // The URL for this bare metal server network attachment. + Href pulumi.StringOutput `pulumi:"href"` + // The network attachment's interface type:- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringOutput `pulumi:"interfaceType"` + // The lifecycle state of the bare metal server network attachment. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name pulumi.StringOutput `pulumi:"name"` + // The network attachment's id. + NetworkAttachment pulumi.StringOutput `pulumi:"networkAttachment"` + // The port speed for this bare metal server network attachment in Mbps. + PortSpeed pulumi.IntOutput `pulumi:"portSpeed"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The bare metal server network attachment type. + Type pulumi.StringOutput `pulumi:"type"` + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput `pulumi:"virtualNetworkInterface"` + // The virtual_network_interface's id. + VirtualNetworkInterfaceId pulumi.StringOutput `pulumi:"virtualNetworkInterfaceId"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. + Vlan pulumi.IntOutput `pulumi:"vlan"` +} + +// NewIsBareMetalServerNetworkAttachment registers a new resource with the given unique name, arguments, and options. +func NewIsBareMetalServerNetworkAttachment(ctx *pulumi.Context, + name string, args *IsBareMetalServerNetworkAttachmentArgs, opts ...pulumi.ResourceOption) (*IsBareMetalServerNetworkAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BareMetalServer == nil { + return nil, errors.New("invalid value for required argument 'BareMetalServer'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBareMetalServerNetworkAttachment + err := ctx.RegisterResource("ibmcloud:index/isBareMetalServerNetworkAttachment:IsBareMetalServerNetworkAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBareMetalServerNetworkAttachment gets an existing IsBareMetalServerNetworkAttachment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBareMetalServerNetworkAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBareMetalServerNetworkAttachmentState, opts ...pulumi.ResourceOption) (*IsBareMetalServerNetworkAttachment, error) { + var resource IsBareMetalServerNetworkAttachment + err := ctx.ReadResource("ibmcloud:index/isBareMetalServerNetworkAttachment:IsBareMetalServerNetworkAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBareMetalServerNetworkAttachment resources. +type isBareMetalServerNetworkAttachmentState struct { + // Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. + AllowToFloat *bool `pulumi:"allowToFloat"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) attachment. + AllowedVlans []int `pulumi:"allowedVlans"` + // The bare metal server identifier. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The date and time that the bare metal server network attachment was created. + CreatedAt *string `pulumi:"createdAt"` + // The bare metal server identifier of the server where the attachment is floated to(only applicated for allowToFloat true). + FloatingBareMetalServer *string `pulumi:"floatingBareMetalServer"` + // Only used for PCI network attachments, whether to hard/immediately stop server + HardStop *bool `pulumi:"hardStop"` + // The URL for this bare metal server network attachment. + Href *string `pulumi:"href"` + // The network attachment's interface type:- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType *string `pulumi:"interfaceType"` + // The lifecycle state of the bare metal server network attachment. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name *string `pulumi:"name"` + // The network attachment's id. + NetworkAttachment *string `pulumi:"networkAttachment"` + // The port speed for this bare metal server network attachment in Mbps. + PortSpeed *int `pulumi:"portSpeed"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The bare metal server network attachment type. + Type *string `pulumi:"type"` + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` + // The virtual_network_interface's id. + VirtualNetworkInterfaceId *string `pulumi:"virtualNetworkInterfaceId"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. + Vlan *int `pulumi:"vlan"` +} + +type IsBareMetalServerNetworkAttachmentState struct { + // Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. + AllowToFloat pulumi.BoolPtrInput + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) attachment. + AllowedVlans pulumi.IntArrayInput + // The bare metal server identifier. + BareMetalServer pulumi.StringPtrInput + // The date and time that the bare metal server network attachment was created. + CreatedAt pulumi.StringPtrInput + // The bare metal server identifier of the server where the attachment is floated to(only applicated for allowToFloat true). + FloatingBareMetalServer pulumi.StringPtrInput + // Only used for PCI network attachments, whether to hard/immediately stop server + HardStop pulumi.BoolPtrInput + // The URL for this bare metal server network attachment. + Href pulumi.StringPtrInput + // The network attachment's interface type:- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringPtrInput + // The lifecycle state of the bare metal server network attachment. + LifecycleState pulumi.StringPtrInput + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name pulumi.StringPtrInput + // The network attachment's id. + NetworkAttachment pulumi.StringPtrInput + // The port speed for this bare metal server network attachment in Mbps. + PortSpeed pulumi.IntPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The bare metal server network attachment type. + Type pulumi.StringPtrInput + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrInput + // The virtual_network_interface's id. + VirtualNetworkInterfaceId pulumi.StringPtrInput + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. + Vlan pulumi.IntPtrInput +} + +func (IsBareMetalServerNetworkAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerNetworkAttachmentState)(nil)).Elem() +} + +type isBareMetalServerNetworkAttachmentArgs struct { + // Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. + AllowToFloat *bool `pulumi:"allowToFloat"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) attachment. + AllowedVlans []int `pulumi:"allowedVlans"` + // The bare metal server identifier. + BareMetalServer string `pulumi:"bareMetalServer"` + // Only used for PCI network attachments, whether to hard/immediately stop server + HardStop *bool `pulumi:"hardStop"` + // The network attachment's interface type:- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType *string `pulumi:"interfaceType"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name *string `pulumi:"name"` + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. + Vlan *int `pulumi:"vlan"` +} + +// The set of arguments for constructing a IsBareMetalServerNetworkAttachment resource. +type IsBareMetalServerNetworkAttachmentArgs struct { + // Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. + AllowToFloat pulumi.BoolPtrInput + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) attachment. + AllowedVlans pulumi.IntArrayInput + // The bare metal server identifier. + BareMetalServer pulumi.StringInput + // Only used for PCI network attachments, whether to hard/immediately stop server + HardStop pulumi.BoolPtrInput + // The network attachment's interface type:- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringPtrInput + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name pulumi.StringPtrInput + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrInput + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. + Vlan pulumi.IntPtrInput +} + +func (IsBareMetalServerNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerNetworkAttachmentArgs)(nil)).Elem() +} + +type IsBareMetalServerNetworkAttachmentInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentOutput() IsBareMetalServerNetworkAttachmentOutput + ToIsBareMetalServerNetworkAttachmentOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentOutput +} + +func (*IsBareMetalServerNetworkAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkAttachment)(nil)).Elem() +} + +func (i *IsBareMetalServerNetworkAttachment) ToIsBareMetalServerNetworkAttachmentOutput() IsBareMetalServerNetworkAttachmentOutput { + return i.ToIsBareMetalServerNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i *IsBareMetalServerNetworkAttachment) ToIsBareMetalServerNetworkAttachmentOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentOutput) +} + +type IsBareMetalServerNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkAttachment)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentOutput) ToIsBareMetalServerNetworkAttachmentOutput() IsBareMetalServerNetworkAttachmentOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentOutput) ToIsBareMetalServerNetworkAttachmentOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentOutput { + return o +} + +// Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. +func (o IsBareMetalServerNetworkAttachmentOutput) AllowToFloat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.BoolPtrOutput { return v.AllowToFloat }).(pulumi.BoolPtrOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) attachment. +func (o IsBareMetalServerNetworkAttachmentOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.IntArrayOutput { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +// The bare metal server identifier. +func (o IsBareMetalServerNetworkAttachmentOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The date and time that the bare metal server network attachment was created. +func (o IsBareMetalServerNetworkAttachmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The bare metal server identifier of the server where the attachment is floated to(only applicated for allowToFloat true). +func (o IsBareMetalServerNetworkAttachmentOutput) FloatingBareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.FloatingBareMetalServer }).(pulumi.StringOutput) +} + +// Only used for PCI network attachments, whether to hard/immediately stop server +func (o IsBareMetalServerNetworkAttachmentOutput) HardStop() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.BoolPtrOutput { return v.HardStop }).(pulumi.BoolPtrOutput) +} + +// The URL for this bare metal server network attachment. +func (o IsBareMetalServerNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The network attachment's interface type:- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o IsBareMetalServerNetworkAttachmentOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The lifecycle state of the bare metal server network attachment. +func (o IsBareMetalServerNetworkAttachmentOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. +func (o IsBareMetalServerNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The network attachment's id. +func (o IsBareMetalServerNetworkAttachmentOutput) NetworkAttachment() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.NetworkAttachment }).(pulumi.StringOutput) +} + +// The port speed for this bare metal server network attachment in Mbps. +func (o IsBareMetalServerNetworkAttachmentOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.IntOutput { return v.PortSpeed }).(pulumi.IntOutput) +} + +// The resource type. +func (o IsBareMetalServerNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The bare metal server network attachment type. +func (o IsBareMetalServerNetworkAttachmentOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsBareMetalServerNetworkAttachmentOutput) VirtualNetworkInterface() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return v.VirtualNetworkInterface + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// The virtual_network_interface's id. +func (o IsBareMetalServerNetworkAttachmentOutput) VirtualNetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.StringOutput { return v.VirtualNetworkInterfaceId }).(pulumi.StringOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. +func (o IsBareMetalServerNetworkAttachmentOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachment) pulumi.IntOutput { return v.Vlan }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentInput)(nil)).Elem(), &IsBareMetalServerNetworkAttachment{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterface.go new file mode 100644 index 000000000..c69717147 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterface.go @@ -0,0 +1,384 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBareMetalServerNetworkInterface struct { + pulumi.CustomResourceState + + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat pulumi.BoolOutput `pulumi:"allowInterfaceToFloat"` + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolOutput `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans pulumi.IntArrayOutput `pulumi:"allowedVlans"` + // Bare metal server identifier + BareMetalServer pulumi.StringOutput `pulumi:"bareMetalServer"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolOutput `pulumi:"enableInfrastructureNat"` + // The floating IPs associated with this network interface. + FloatingIps IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput `pulumi:"floatingIps"` + // Only used for PCI network interfaces, whether to hard/immediately stop server + HardStop pulumi.BoolPtrOutput `pulumi:"hardStop"` + // The URL for this network interface + Href pulumi.StringOutput `pulumi:"href"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType pulumi.StringOutput `pulumi:"interfaceType"` + // The MAC address of the interface. If absent, the value is not known. + MacAddress pulumi.StringOutput `pulumi:"macAddress"` + // The user-defined name for this network interface + Name pulumi.StringOutput `pulumi:"name"` + // The bare metal server network interface identifier + NetworkInterface pulumi.StringOutput `pulumi:"networkInterface"` + // The network interface port speed in Mbps + PortSpeed pulumi.IntOutput `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIp IsBareMetalServerNetworkInterfacePrimaryIpOutput `pulumi:"primaryIp"` + // The resource type : [ subnetReservedIp ] + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Collection of security groups ids + SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` + // The status of the network interface : [ available, deleting, failed, pending ] + Status pulumi.StringOutput `pulumi:"status"` + // The id of the associated subnet + Subnet pulumi.StringOutput `pulumi:"subnet"` + // The type of this bare metal server network interface : [ primary, secondary ] + Type pulumi.StringOutput `pulumi:"type"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntOutput `pulumi:"vlan"` +} + +// NewIsBareMetalServerNetworkInterface registers a new resource with the given unique name, arguments, and options. +func NewIsBareMetalServerNetworkInterface(ctx *pulumi.Context, + name string, args *IsBareMetalServerNetworkInterfaceArgs, opts ...pulumi.ResourceOption) (*IsBareMetalServerNetworkInterface, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BareMetalServer == nil { + return nil, errors.New("invalid value for required argument 'BareMetalServer'") + } + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBareMetalServerNetworkInterface + err := ctx.RegisterResource("ibmcloud:index/isBareMetalServerNetworkInterface:IsBareMetalServerNetworkInterface", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBareMetalServerNetworkInterface gets an existing IsBareMetalServerNetworkInterface resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBareMetalServerNetworkInterface(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBareMetalServerNetworkInterfaceState, opts ...pulumi.ResourceOption) (*IsBareMetalServerNetworkInterface, error) { + var resource IsBareMetalServerNetworkInterface + err := ctx.ReadResource("ibmcloud:index/isBareMetalServerNetworkInterface:IsBareMetalServerNetworkInterface", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBareMetalServerNetworkInterface resources. +type isBareMetalServerNetworkInterfaceState struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat *bool `pulumi:"allowInterfaceToFloat"` + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans []int `pulumi:"allowedVlans"` + // Bare metal server identifier + BareMetalServer *string `pulumi:"bareMetalServer"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The floating IPs associated with this network interface. + FloatingIps []IsBareMetalServerNetworkInterfaceFloatingIpType `pulumi:"floatingIps"` + // Only used for PCI network interfaces, whether to hard/immediately stop server + HardStop *bool `pulumi:"hardStop"` + // The URL for this network interface + Href *string `pulumi:"href"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType *string `pulumi:"interfaceType"` + // The MAC address of the interface. If absent, the value is not known. + MacAddress *string `pulumi:"macAddress"` + // The user-defined name for this network interface + Name *string `pulumi:"name"` + // The bare metal server network interface identifier + NetworkInterface *string `pulumi:"networkInterface"` + // The network interface port speed in Mbps + PortSpeed *int `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIp *IsBareMetalServerNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The resource type : [ subnetReservedIp ] + ResourceType *string `pulumi:"resourceType"` + // Collection of security groups ids + SecurityGroups []string `pulumi:"securityGroups"` + // The status of the network interface : [ available, deleting, failed, pending ] + Status *string `pulumi:"status"` + // The id of the associated subnet + Subnet *string `pulumi:"subnet"` + // The type of this bare metal server network interface : [ primary, secondary ] + Type *string `pulumi:"type"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan *int `pulumi:"vlan"` +} + +type IsBareMetalServerNetworkInterfaceState struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat pulumi.BoolPtrInput + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans pulumi.IntArrayInput + // Bare metal server identifier + BareMetalServer pulumi.StringPtrInput + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolPtrInput + // The floating IPs associated with this network interface. + FloatingIps IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput + // Only used for PCI network interfaces, whether to hard/immediately stop server + HardStop pulumi.BoolPtrInput + // The URL for this network interface + Href pulumi.StringPtrInput + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType pulumi.StringPtrInput + // The MAC address of the interface. If absent, the value is not known. + MacAddress pulumi.StringPtrInput + // The user-defined name for this network interface + Name pulumi.StringPtrInput + // The bare metal server network interface identifier + NetworkInterface pulumi.StringPtrInput + // The network interface port speed in Mbps + PortSpeed pulumi.IntPtrInput + // title: IPv4, The IP address. + PrimaryIp IsBareMetalServerNetworkInterfacePrimaryIpPtrInput + // The resource type : [ subnetReservedIp ] + ResourceType pulumi.StringPtrInput + // Collection of security groups ids + SecurityGroups pulumi.StringArrayInput + // The status of the network interface : [ available, deleting, failed, pending ] + Status pulumi.StringPtrInput + // The id of the associated subnet + Subnet pulumi.StringPtrInput + // The type of this bare metal server network interface : [ primary, secondary ] + Type pulumi.StringPtrInput + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntPtrInput +} + +func (IsBareMetalServerNetworkInterfaceState) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerNetworkInterfaceState)(nil)).Elem() +} + +type isBareMetalServerNetworkInterfaceArgs struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat *bool `pulumi:"allowInterfaceToFloat"` + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans []int `pulumi:"allowedVlans"` + // Bare metal server identifier + BareMetalServer string `pulumi:"bareMetalServer"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // Only used for PCI network interfaces, whether to hard/immediately stop server + HardStop *bool `pulumi:"hardStop"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType *string `pulumi:"interfaceType"` + // The user-defined name for this network interface + Name *string `pulumi:"name"` + // title: IPv4, The IP address. + PrimaryIp *IsBareMetalServerNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // Collection of security groups ids + SecurityGroups []string `pulumi:"securityGroups"` + // The id of the associated subnet + Subnet string `pulumi:"subnet"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan *int `pulumi:"vlan"` +} + +// The set of arguments for constructing a IsBareMetalServerNetworkInterface resource. +type IsBareMetalServerNetworkInterfaceArgs struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat pulumi.BoolPtrInput + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans pulumi.IntArrayInput + // Bare metal server identifier + BareMetalServer pulumi.StringInput + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolPtrInput + // Only used for PCI network interfaces, whether to hard/immediately stop server + HardStop pulumi.BoolPtrInput + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType pulumi.StringPtrInput + // The user-defined name for this network interface + Name pulumi.StringPtrInput + // title: IPv4, The IP address. + PrimaryIp IsBareMetalServerNetworkInterfacePrimaryIpPtrInput + // Collection of security groups ids + SecurityGroups pulumi.StringArrayInput + // The id of the associated subnet + Subnet pulumi.StringInput + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntPtrInput +} + +func (IsBareMetalServerNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerNetworkInterfaceArgs)(nil)).Elem() +} + +type IsBareMetalServerNetworkInterfaceInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceOutput() IsBareMetalServerNetworkInterfaceOutput + ToIsBareMetalServerNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceOutput +} + +func (*IsBareMetalServerNetworkInterface) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterface)(nil)).Elem() +} + +func (i *IsBareMetalServerNetworkInterface) ToIsBareMetalServerNetworkInterfaceOutput() IsBareMetalServerNetworkInterfaceOutput { + return i.ToIsBareMetalServerNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i *IsBareMetalServerNetworkInterface) ToIsBareMetalServerNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceOutput) +} + +type IsBareMetalServerNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterface)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceOutput) ToIsBareMetalServerNetworkInterfaceOutput() IsBareMetalServerNetworkInterfaceOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceOutput) ToIsBareMetalServerNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceOutput { + return o +} + +// Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. +func (o IsBareMetalServerNetworkInterfaceOutput) AllowInterfaceToFloat() pulumi.BoolOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.BoolOutput { return v.AllowInterfaceToFloat }).(pulumi.BoolOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. +func (o IsBareMetalServerNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.BoolOutput { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. +func (o IsBareMetalServerNetworkInterfaceOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.IntArrayOutput { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +// Bare metal server identifier +func (o IsBareMetalServerNetworkInterfaceOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. +func (o IsBareMetalServerNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.BoolOutput { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +// The floating IPs associated with this network interface. +func (o IsBareMetalServerNetworkInterfaceOutput) FloatingIps() IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return v.FloatingIps + }).(IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) +} + +// Only used for PCI network interfaces, whether to hard/immediately stop server +func (o IsBareMetalServerNetworkInterfaceOutput) HardStop() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.BoolPtrOutput { return v.HardStop }).(pulumi.BoolPtrOutput) +} + +// The URL for this network interface +func (o IsBareMetalServerNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The network interface type: [ pci, vlan, hipersocket ] +func (o IsBareMetalServerNetworkInterfaceOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The MAC address of the interface. If absent, the value is not known. +func (o IsBareMetalServerNetworkInterfaceOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.MacAddress }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface +func (o IsBareMetalServerNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The bare metal server network interface identifier +func (o IsBareMetalServerNetworkInterfaceOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.NetworkInterface }).(pulumi.StringOutput) +} + +// The network interface port speed in Mbps +func (o IsBareMetalServerNetworkInterfaceOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.IntOutput { return v.PortSpeed }).(pulumi.IntOutput) +} + +// title: IPv4, The IP address. +func (o IsBareMetalServerNetworkInterfaceOutput) PrimaryIp() IsBareMetalServerNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) IsBareMetalServerNetworkInterfacePrimaryIpOutput { + return v.PrimaryIp + }).(IsBareMetalServerNetworkInterfacePrimaryIpOutput) +} + +// The resource type : [ subnetReservedIp ] +func (o IsBareMetalServerNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Collection of security groups ids +func (o IsBareMetalServerNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The status of the network interface : [ available, deleting, failed, pending ] +func (o IsBareMetalServerNetworkInterfaceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The id of the associated subnet +func (o IsBareMetalServerNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +// The type of this bare metal server network interface : [ primary, secondary ] +func (o IsBareMetalServerNetworkInterfaceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface +func (o IsBareMetalServerNetworkInterfaceOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterface) pulumi.IntOutput { return v.Vlan }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceInput)(nil)).Elem(), &IsBareMetalServerNetworkInterface{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterfaceAllowFloat.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterfaceAllowFloat.go new file mode 100644 index 000000000..045a809d4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterfaceAllowFloat.go @@ -0,0 +1,364 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBareMetalServerNetworkInterfaceAllowFloat struct { + pulumi.CustomResourceState + + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat pulumi.BoolOutput `pulumi:"allowInterfaceToFloat"` + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolOutput `pulumi:"allowIpSpoofing"` + // Bare metal server identifier + BareMetalServer pulumi.StringOutput `pulumi:"bareMetalServer"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolOutput `pulumi:"enableInfrastructureNat"` + // Bare metal server identifier of the server to which nic is floating to + FloatingBareMetalServer pulumi.StringOutput `pulumi:"floatingBareMetalServer"` + // The floating IPs associated with this network interface. + FloatingIps IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput `pulumi:"floatingIps"` + // The URL for this network interface + Href pulumi.StringOutput `pulumi:"href"` + // The network interface type: [ pci, vlan ] + InterfaceType pulumi.StringOutput `pulumi:"interfaceType"` + // The MAC address of the interface. If absent, the value is not known. + MacAddress pulumi.StringOutput `pulumi:"macAddress"` + // The user-defined name for this network interface + Name pulumi.StringOutput `pulumi:"name"` + // The bare metal server network interface identifier + NetworkInterface pulumi.StringOutput `pulumi:"networkInterface"` + // The network interface port speed in Mbps + PortSpeed pulumi.IntOutput `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIp IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput `pulumi:"primaryIp"` + // The resource type : [ subnetReservedIp ] + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Collection of security groups ids + SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` + // The status of the network interface : [ available, deleting, failed, pending ] + Status pulumi.StringOutput `pulumi:"status"` + // The id of the associated subnet + Subnet pulumi.StringOutput `pulumi:"subnet"` + // The type of this bare metal server network interface : [ primary, secondary ] + Type pulumi.StringOutput `pulumi:"type"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntOutput `pulumi:"vlan"` +} + +// NewIsBareMetalServerNetworkInterfaceAllowFloat registers a new resource with the given unique name, arguments, and options. +func NewIsBareMetalServerNetworkInterfaceAllowFloat(ctx *pulumi.Context, + name string, args *IsBareMetalServerNetworkInterfaceAllowFloatArgs, opts ...pulumi.ResourceOption) (*IsBareMetalServerNetworkInterfaceAllowFloat, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BareMetalServer == nil { + return nil, errors.New("invalid value for required argument 'BareMetalServer'") + } + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + if args.Vlan == nil { + return nil, errors.New("invalid value for required argument 'Vlan'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBareMetalServerNetworkInterfaceAllowFloat + err := ctx.RegisterResource("ibmcloud:index/isBareMetalServerNetworkInterfaceAllowFloat:IsBareMetalServerNetworkInterfaceAllowFloat", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBareMetalServerNetworkInterfaceAllowFloat gets an existing IsBareMetalServerNetworkInterfaceAllowFloat resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBareMetalServerNetworkInterfaceAllowFloat(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBareMetalServerNetworkInterfaceAllowFloatState, opts ...pulumi.ResourceOption) (*IsBareMetalServerNetworkInterfaceAllowFloat, error) { + var resource IsBareMetalServerNetworkInterfaceAllowFloat + err := ctx.ReadResource("ibmcloud:index/isBareMetalServerNetworkInterfaceAllowFloat:IsBareMetalServerNetworkInterfaceAllowFloat", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBareMetalServerNetworkInterfaceAllowFloat resources. +type isBareMetalServerNetworkInterfaceAllowFloatState struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat *bool `pulumi:"allowInterfaceToFloat"` + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Bare metal server identifier + BareMetalServer *string `pulumi:"bareMetalServer"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // Bare metal server identifier of the server to which nic is floating to + FloatingBareMetalServer *string `pulumi:"floatingBareMetalServer"` + // The floating IPs associated with this network interface. + FloatingIps []IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp `pulumi:"floatingIps"` + // The URL for this network interface + Href *string `pulumi:"href"` + // The network interface type: [ pci, vlan ] + InterfaceType *string `pulumi:"interfaceType"` + // The MAC address of the interface. If absent, the value is not known. + MacAddress *string `pulumi:"macAddress"` + // The user-defined name for this network interface + Name *string `pulumi:"name"` + // The bare metal server network interface identifier + NetworkInterface *string `pulumi:"networkInterface"` + // The network interface port speed in Mbps + PortSpeed *int `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIp *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp `pulumi:"primaryIp"` + // The resource type : [ subnetReservedIp ] + ResourceType *string `pulumi:"resourceType"` + // Collection of security groups ids + SecurityGroups []string `pulumi:"securityGroups"` + // The status of the network interface : [ available, deleting, failed, pending ] + Status *string `pulumi:"status"` + // The id of the associated subnet + Subnet *string `pulumi:"subnet"` + // The type of this bare metal server network interface : [ primary, secondary ] + Type *string `pulumi:"type"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan *int `pulumi:"vlan"` +} + +type IsBareMetalServerNetworkInterfaceAllowFloatState struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat pulumi.BoolPtrInput + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput + // Bare metal server identifier + BareMetalServer pulumi.StringPtrInput + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolPtrInput + // Bare metal server identifier of the server to which nic is floating to + FloatingBareMetalServer pulumi.StringPtrInput + // The floating IPs associated with this network interface. + FloatingIps IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayInput + // The URL for this network interface + Href pulumi.StringPtrInput + // The network interface type: [ pci, vlan ] + InterfaceType pulumi.StringPtrInput + // The MAC address of the interface. If absent, the value is not known. + MacAddress pulumi.StringPtrInput + // The user-defined name for this network interface + Name pulumi.StringPtrInput + // The bare metal server network interface identifier + NetworkInterface pulumi.StringPtrInput + // The network interface port speed in Mbps + PortSpeed pulumi.IntPtrInput + // title: IPv4, The IP address. + PrimaryIp IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrInput + // The resource type : [ subnetReservedIp ] + ResourceType pulumi.StringPtrInput + // Collection of security groups ids + SecurityGroups pulumi.StringArrayInput + // The status of the network interface : [ available, deleting, failed, pending ] + Status pulumi.StringPtrInput + // The id of the associated subnet + Subnet pulumi.StringPtrInput + // The type of this bare metal server network interface : [ primary, secondary ] + Type pulumi.StringPtrInput + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntPtrInput +} + +func (IsBareMetalServerNetworkInterfaceAllowFloatState) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerNetworkInterfaceAllowFloatState)(nil)).Elem() +} + +type isBareMetalServerNetworkInterfaceAllowFloatArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Bare metal server identifier + BareMetalServer string `pulumi:"bareMetalServer"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The user-defined name for this network interface + Name *string `pulumi:"name"` + // title: IPv4, The IP address. + PrimaryIp *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp `pulumi:"primaryIp"` + // Collection of security groups ids + SecurityGroups []string `pulumi:"securityGroups"` + // The id of the associated subnet + Subnet string `pulumi:"subnet"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan int `pulumi:"vlan"` +} + +// The set of arguments for constructing a IsBareMetalServerNetworkInterfaceAllowFloat resource. +type IsBareMetalServerNetworkInterfaceAllowFloatArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput + // Bare metal server identifier + BareMetalServer pulumi.StringInput + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolPtrInput + // The user-defined name for this network interface + Name pulumi.StringPtrInput + // title: IPv4, The IP address. + PrimaryIp IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrInput + // Collection of security groups ids + SecurityGroups pulumi.StringArrayInput + // The id of the associated subnet + Subnet pulumi.StringInput + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntInput +} + +func (IsBareMetalServerNetworkInterfaceAllowFloatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerNetworkInterfaceAllowFloatArgs)(nil)).Elem() +} + +type IsBareMetalServerNetworkInterfaceAllowFloatInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceAllowFloatOutput() IsBareMetalServerNetworkInterfaceAllowFloatOutput + ToIsBareMetalServerNetworkInterfaceAllowFloatOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatOutput +} + +func (*IsBareMetalServerNetworkInterfaceAllowFloat) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterfaceAllowFloat)(nil)).Elem() +} + +func (i *IsBareMetalServerNetworkInterfaceAllowFloat) ToIsBareMetalServerNetworkInterfaceAllowFloatOutput() IsBareMetalServerNetworkInterfaceAllowFloatOutput { + return i.ToIsBareMetalServerNetworkInterfaceAllowFloatOutputWithContext(context.Background()) +} + +func (i *IsBareMetalServerNetworkInterfaceAllowFloat) ToIsBareMetalServerNetworkInterfaceAllowFloatOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceAllowFloatOutput) +} + +type IsBareMetalServerNetworkInterfaceAllowFloatOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceAllowFloatOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterfaceAllowFloat)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatOutput() IsBareMetalServerNetworkInterfaceAllowFloatOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatOutput { + return o +} + +// Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) AllowInterfaceToFloat() pulumi.BoolOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.BoolOutput { return v.AllowInterfaceToFloat }).(pulumi.BoolOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.BoolOutput { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// Bare metal server identifier +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.BoolOutput { + return v.EnableInfrastructureNat + }).(pulumi.BoolOutput) +} + +// Bare metal server identifier of the server to which nic is floating to +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) FloatingBareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { + return v.FloatingBareMetalServer + }).(pulumi.StringOutput) +} + +// The floating IPs associated with this network interface. +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) FloatingIps() IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput { + return v.FloatingIps + }).(IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput) +} + +// The URL for this network interface +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The network interface type: [ pci, vlan ] +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The MAC address of the interface. If absent, the value is not known. +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.MacAddress }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The bare metal server network interface identifier +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.NetworkInterface }).(pulumi.StringOutput) +} + +// The network interface port speed in Mbps +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.IntOutput { return v.PortSpeed }).(pulumi.IntOutput) +} + +// title: IPv4, The IP address. +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) PrimaryIp() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput { + return v.PrimaryIp + }).(IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) +} + +// The resource type : [ subnetReservedIp ] +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Collection of security groups ids +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The status of the network interface : [ available, deleting, failed, pending ] +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The id of the associated subnet +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +// The type of this bare metal server network interface : [ primary, secondary ] +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface +func (o IsBareMetalServerNetworkInterfaceAllowFloatOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloat) pulumi.IntOutput { return v.Vlan }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatInput)(nil)).Elem(), &IsBareMetalServerNetworkInterfaceAllowFloat{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceAllowFloatOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterfaceFloatingIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterfaceFloatingIp.go new file mode 100644 index 000000000..aa3429db5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isBareMetalServerNetworkInterfaceFloatingIp.go @@ -0,0 +1,226 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsBareMetalServerNetworkInterfaceFloatingIp struct { + pulumi.CustomResourceState + + // Floating IP address + Address pulumi.StringOutput `pulumi:"address"` + // Bare metal server identifier + BareMetalServer pulumi.StringOutput `pulumi:"bareMetalServer"` + // Floating IP crn + Crn pulumi.StringOutput `pulumi:"crn"` + // The floating ip identifier of the network interface associated with the bare metal server + FloatingIp pulumi.StringOutput `pulumi:"floatingIp"` + // Name of the floating IP + Name pulumi.StringOutput `pulumi:"name"` + // Bare metal server network interface identifier + NetworkInterface pulumi.StringOutput `pulumi:"networkInterface"` + // Floating IP status + Status pulumi.StringOutput `pulumi:"status"` + // Target info + Target pulumi.StringOutput `pulumi:"target"` + // Zone name + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsBareMetalServerNetworkInterfaceFloatingIp registers a new resource with the given unique name, arguments, and options. +func NewIsBareMetalServerNetworkInterfaceFloatingIp(ctx *pulumi.Context, + name string, args *IsBareMetalServerNetworkInterfaceFloatingIpArgs, opts ...pulumi.ResourceOption) (*IsBareMetalServerNetworkInterfaceFloatingIp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BareMetalServer == nil { + return nil, errors.New("invalid value for required argument 'BareMetalServer'") + } + if args.FloatingIp == nil { + return nil, errors.New("invalid value for required argument 'FloatingIp'") + } + if args.NetworkInterface == nil { + return nil, errors.New("invalid value for required argument 'NetworkInterface'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsBareMetalServerNetworkInterfaceFloatingIp + err := ctx.RegisterResource("ibmcloud:index/isBareMetalServerNetworkInterfaceFloatingIp:IsBareMetalServerNetworkInterfaceFloatingIp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsBareMetalServerNetworkInterfaceFloatingIp gets an existing IsBareMetalServerNetworkInterfaceFloatingIp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsBareMetalServerNetworkInterfaceFloatingIp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsBareMetalServerNetworkInterfaceFloatingIpState, opts ...pulumi.ResourceOption) (*IsBareMetalServerNetworkInterfaceFloatingIp, error) { + var resource IsBareMetalServerNetworkInterfaceFloatingIp + err := ctx.ReadResource("ibmcloud:index/isBareMetalServerNetworkInterfaceFloatingIp:IsBareMetalServerNetworkInterfaceFloatingIp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsBareMetalServerNetworkInterfaceFloatingIp resources. +type isBareMetalServerNetworkInterfaceFloatingIpState struct { + // Floating IP address + Address *string `pulumi:"address"` + // Bare metal server identifier + BareMetalServer *string `pulumi:"bareMetalServer"` + // Floating IP crn + Crn *string `pulumi:"crn"` + // The floating ip identifier of the network interface associated with the bare metal server + FloatingIp *string `pulumi:"floatingIp"` + // Name of the floating IP + Name *string `pulumi:"name"` + // Bare metal server network interface identifier + NetworkInterface *string `pulumi:"networkInterface"` + // Floating IP status + Status *string `pulumi:"status"` + // Target info + Target *string `pulumi:"target"` + // Zone name + Zone *string `pulumi:"zone"` +} + +type IsBareMetalServerNetworkInterfaceFloatingIpState struct { + // Floating IP address + Address pulumi.StringPtrInput + // Bare metal server identifier + BareMetalServer pulumi.StringPtrInput + // Floating IP crn + Crn pulumi.StringPtrInput + // The floating ip identifier of the network interface associated with the bare metal server + FloatingIp pulumi.StringPtrInput + // Name of the floating IP + Name pulumi.StringPtrInput + // Bare metal server network interface identifier + NetworkInterface pulumi.StringPtrInput + // Floating IP status + Status pulumi.StringPtrInput + // Target info + Target pulumi.StringPtrInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsBareMetalServerNetworkInterfaceFloatingIpState) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerNetworkInterfaceFloatingIpState)(nil)).Elem() +} + +type isBareMetalServerNetworkInterfaceFloatingIpArgs struct { + // Bare metal server identifier + BareMetalServer string `pulumi:"bareMetalServer"` + // The floating ip identifier of the network interface associated with the bare metal server + FloatingIp string `pulumi:"floatingIp"` + // Bare metal server network interface identifier + NetworkInterface string `pulumi:"networkInterface"` +} + +// The set of arguments for constructing a IsBareMetalServerNetworkInterfaceFloatingIp resource. +type IsBareMetalServerNetworkInterfaceFloatingIpArgs struct { + // Bare metal server identifier + BareMetalServer pulumi.StringInput + // The floating ip identifier of the network interface associated with the bare metal server + FloatingIp pulumi.StringInput + // Bare metal server network interface identifier + NetworkInterface pulumi.StringInput +} + +func (IsBareMetalServerNetworkInterfaceFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isBareMetalServerNetworkInterfaceFloatingIpArgs)(nil)).Elem() +} + +type IsBareMetalServerNetworkInterfaceFloatingIpInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceFloatingIpOutput() IsBareMetalServerNetworkInterfaceFloatingIpOutput + ToIsBareMetalServerNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceFloatingIpOutput +} + +func (*IsBareMetalServerNetworkInterfaceFloatingIp) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (i *IsBareMetalServerNetworkInterfaceFloatingIp) ToIsBareMetalServerNetworkInterfaceFloatingIpOutput() IsBareMetalServerNetworkInterfaceFloatingIpOutput { + return i.ToIsBareMetalServerNetworkInterfaceFloatingIpOutputWithContext(context.Background()) +} + +func (i *IsBareMetalServerNetworkInterfaceFloatingIp) ToIsBareMetalServerNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceFloatingIpOutput) +} + +type IsBareMetalServerNetworkInterfaceFloatingIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) ToIsBareMetalServerNetworkInterfaceFloatingIpOutput() IsBareMetalServerNetworkInterfaceFloatingIpOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) ToIsBareMetalServerNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceFloatingIpOutput { + return o +} + +// Floating IP address +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) +} + +// Bare metal server identifier +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// Floating IP crn +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The floating ip identifier of the network interface associated with the bare metal server +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) FloatingIp() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.FloatingIp }).(pulumi.StringOutput) +} + +// Name of the floating IP +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Bare metal server network interface identifier +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.NetworkInterface }).(pulumi.StringOutput) +} + +// Floating IP status +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Target info +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// Zone name +func (o IsBareMetalServerNetworkInterfaceFloatingIpOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceFloatingIpInput)(nil)).Elem(), &IsBareMetalServerNetworkInterfaceFloatingIp{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceFloatingIpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetwork.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetwork.go new file mode 100644 index 000000000..1e18c57ee --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetwork.go @@ -0,0 +1,278 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsClusterNetwork struct { + pulumi.CustomResourceState + + // The date and time that the cluster network was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this cluster network. + Crn pulumi.StringOutput `pulumi:"crn"` + Etag pulumi.StringOutput `pulumi:"etag"` + // The URL for this cluster network. + Href pulumi.StringOutput `pulumi:"href"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsClusterNetworkLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name pulumi.StringOutput `pulumi:"name"` + // The globally unique name for this cluster network profile. + Profile pulumi.StringOutput `pulumi:"profile"` + // The unique identifier for this resource group for this cluster network. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The IP address ranges available for subnets for this cluster network. + SubnetPrefixes IsClusterNetworkSubnetPrefixesOutput `pulumi:"subnetPrefixes"` + // The VPC this cluster network resides in. + Vpc IsClusterNetworkVpcOutput `pulumi:"vpc"` + // The globally unique name for the zone this cluster network resides in. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsClusterNetwork registers a new resource with the given unique name, arguments, and options. +func NewIsClusterNetwork(ctx *pulumi.Context, + name string, args *IsClusterNetworkArgs, opts ...pulumi.ResourceOption) (*IsClusterNetwork, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Profile == nil { + return nil, errors.New("invalid value for required argument 'Profile'") + } + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsClusterNetwork + err := ctx.RegisterResource("ibmcloud:index/isClusterNetwork:IsClusterNetwork", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsClusterNetwork gets an existing IsClusterNetwork resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsClusterNetwork(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsClusterNetworkState, opts ...pulumi.ResourceOption) (*IsClusterNetwork, error) { + var resource IsClusterNetwork + err := ctx.ReadResource("ibmcloud:index/isClusterNetwork:IsClusterNetwork", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsClusterNetwork resources. +type isClusterNetworkState struct { + // The date and time that the cluster network was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this cluster network. + Crn *string `pulumi:"crn"` + Etag *string `pulumi:"etag"` + // The URL for this cluster network. + Href *string `pulumi:"href"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []IsClusterNetworkLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name *string `pulumi:"name"` + // The globally unique name for this cluster network profile. + Profile *string `pulumi:"profile"` + // The unique identifier for this resource group for this cluster network. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The IP address ranges available for subnets for this cluster network. + SubnetPrefixes *IsClusterNetworkSubnetPrefixes `pulumi:"subnetPrefixes"` + // The VPC this cluster network resides in. + Vpc *IsClusterNetworkVpc `pulumi:"vpc"` + // The globally unique name for the zone this cluster network resides in. + Zone *string `pulumi:"zone"` +} + +type IsClusterNetworkState struct { + // The date and time that the cluster network was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this cluster network. + Crn pulumi.StringPtrInput + Etag pulumi.StringPtrInput + // The URL for this cluster network. + Href pulumi.StringPtrInput + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsClusterNetworkLifecycleReasonArrayInput + // The lifecycle state of the cluster network. + LifecycleState pulumi.StringPtrInput + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name pulumi.StringPtrInput + // The globally unique name for this cluster network profile. + Profile pulumi.StringPtrInput + // The unique identifier for this resource group for this cluster network. + ResourceGroup pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The IP address ranges available for subnets for this cluster network. + SubnetPrefixes IsClusterNetworkSubnetPrefixesPtrInput + // The VPC this cluster network resides in. + Vpc IsClusterNetworkVpcPtrInput + // The globally unique name for the zone this cluster network resides in. + Zone pulumi.StringPtrInput +} + +func (IsClusterNetworkState) ElementType() reflect.Type { + return reflect.TypeOf((*isClusterNetworkState)(nil)).Elem() +} + +type isClusterNetworkArgs struct { + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name *string `pulumi:"name"` + // The globally unique name for this cluster network profile. + Profile string `pulumi:"profile"` + // The unique identifier for this resource group for this cluster network. + ResourceGroup *string `pulumi:"resourceGroup"` + // The IP address ranges available for subnets for this cluster network. + SubnetPrefixes *IsClusterNetworkSubnetPrefixes `pulumi:"subnetPrefixes"` + // The VPC this cluster network resides in. + Vpc IsClusterNetworkVpc `pulumi:"vpc"` + // The globally unique name for the zone this cluster network resides in. + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsClusterNetwork resource. +type IsClusterNetworkArgs struct { + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name pulumi.StringPtrInput + // The globally unique name for this cluster network profile. + Profile pulumi.StringInput + // The unique identifier for this resource group for this cluster network. + ResourceGroup pulumi.StringPtrInput + // The IP address ranges available for subnets for this cluster network. + SubnetPrefixes IsClusterNetworkSubnetPrefixesPtrInput + // The VPC this cluster network resides in. + Vpc IsClusterNetworkVpcInput + // The globally unique name for the zone this cluster network resides in. + Zone pulumi.StringInput +} + +func (IsClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isClusterNetworkArgs)(nil)).Elem() +} + +type IsClusterNetworkInput interface { + pulumi.Input + + ToIsClusterNetworkOutput() IsClusterNetworkOutput + ToIsClusterNetworkOutputWithContext(ctx context.Context) IsClusterNetworkOutput +} + +func (*IsClusterNetwork) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetwork)(nil)).Elem() +} + +func (i *IsClusterNetwork) ToIsClusterNetworkOutput() IsClusterNetworkOutput { + return i.ToIsClusterNetworkOutputWithContext(context.Background()) +} + +func (i *IsClusterNetwork) ToIsClusterNetworkOutputWithContext(ctx context.Context) IsClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkOutput) +} + +type IsClusterNetworkOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetwork)(nil)).Elem() +} + +func (o IsClusterNetworkOutput) ToIsClusterNetworkOutput() IsClusterNetworkOutput { + return o +} + +func (o IsClusterNetworkOutput) ToIsClusterNetworkOutputWithContext(ctx context.Context) IsClusterNetworkOutput { + return o +} + +// The date and time that the cluster network was created. +func (o IsClusterNetworkOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this cluster network. +func (o IsClusterNetworkOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +func (o IsClusterNetworkOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) +} + +// The URL for this cluster network. +func (o IsClusterNetworkOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o IsClusterNetworkOutput) LifecycleReasons() IsClusterNetworkLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsClusterNetwork) IsClusterNetworkLifecycleReasonArrayOutput { return v.LifecycleReasons }).(IsClusterNetworkLifecycleReasonArrayOutput) +} + +// The lifecycle state of the cluster network. +func (o IsClusterNetworkOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this cluster network. The name must not be used by another cluster network in the region. +func (o IsClusterNetworkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The globally unique name for this cluster network profile. +func (o IsClusterNetworkOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group for this cluster network. +func (o IsClusterNetworkOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsClusterNetworkOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The IP address ranges available for subnets for this cluster network. +func (o IsClusterNetworkOutput) SubnetPrefixes() IsClusterNetworkSubnetPrefixesOutput { + return o.ApplyT(func(v *IsClusterNetwork) IsClusterNetworkSubnetPrefixesOutput { return v.SubnetPrefixes }).(IsClusterNetworkSubnetPrefixesOutput) +} + +// The VPC this cluster network resides in. +func (o IsClusterNetworkOutput) Vpc() IsClusterNetworkVpcOutput { + return o.ApplyT(func(v *IsClusterNetwork) IsClusterNetworkVpcOutput { return v.Vpc }).(IsClusterNetworkVpcOutput) +} + +// The globally unique name for the zone this cluster network resides in. +func (o IsClusterNetworkOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetwork) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInput)(nil)).Elem(), &IsClusterNetwork{}) + pulumi.RegisterOutputType(IsClusterNetworkOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkInterface.go new file mode 100644 index 000000000..57c126ee2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkInterface.go @@ -0,0 +1,321 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsClusterNetworkInterface struct { + pulumi.CustomResourceState + + // Indicates whether source IP spoofing is allowed on this cluster network interface. If `false`, source IP spoofing is prevented on this cluster network interface. If `true`, source IP spoofing is allowed on this cluster network interface. + AllowIpSpoofing pulumi.BoolOutput `pulumi:"allowIpSpoofing"` + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete pulumi.BoolOutput `pulumi:"autoDelete"` + // The cluster network identifier. + ClusterNetworkId pulumi.StringOutput `pulumi:"clusterNetworkId"` + // The unique identifier for this cluster network interface. + ClusterNetworkInterfaceId pulumi.StringOutput `pulumi:"clusterNetworkInterfaceId"` + // The date and time that the cluster network interface was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolOutput `pulumi:"enableInfrastructureNat"` + Etag pulumi.StringOutput `pulumi:"etag"` + // The URL for this cluster network interface. + Href pulumi.StringOutput `pulumi:"href"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsClusterNetworkInterfaceLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network interface. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The MAC address of the cluster network interface. May be absent if`lifecycleState` is `pending`. + MacAddress pulumi.StringOutput `pulumi:"macAddress"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringOutput `pulumi:"name"` + // The cluster network subnet reserved IP for this cluster network interface. + PrimaryIp IsClusterNetworkInterfacePrimaryIpOutput `pulumi:"primaryIp"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The associated cluster network subnet. Required if `primaryIp` does not specify a clusternetwork subnet reserved IP identity. + Subnet IsClusterNetworkInterfaceSubnetOutput `pulumi:"subnet"` + // The target of this cluster network interface.If absent, this cluster network interface is not attached to a target.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets IsClusterNetworkInterfaceTargetArrayOutput `pulumi:"targets"` + // The VPC this cluster network interface resides in. + Vpcs IsClusterNetworkInterfaceVpcArrayOutput `pulumi:"vpcs"` + // The zone this cluster network interface resides in. + Zones IsClusterNetworkInterfaceZoneArrayOutput `pulumi:"zones"` +} + +// NewIsClusterNetworkInterface registers a new resource with the given unique name, arguments, and options. +func NewIsClusterNetworkInterface(ctx *pulumi.Context, + name string, args *IsClusterNetworkInterfaceArgs, opts ...pulumi.ResourceOption) (*IsClusterNetworkInterface, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterNetworkId == nil { + return nil, errors.New("invalid value for required argument 'ClusterNetworkId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsClusterNetworkInterface + err := ctx.RegisterResource("ibmcloud:index/isClusterNetworkInterface:IsClusterNetworkInterface", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsClusterNetworkInterface gets an existing IsClusterNetworkInterface resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsClusterNetworkInterface(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsClusterNetworkInterfaceState, opts ...pulumi.ResourceOption) (*IsClusterNetworkInterface, error) { + var resource IsClusterNetworkInterface + err := ctx.ReadResource("ibmcloud:index/isClusterNetworkInterface:IsClusterNetworkInterface", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsClusterNetworkInterface resources. +type isClusterNetworkInterfaceState struct { + // Indicates whether source IP spoofing is allowed on this cluster network interface. If `false`, source IP spoofing is prevented on this cluster network interface. If `true`, source IP spoofing is allowed on this cluster network interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // The cluster network identifier. + ClusterNetworkId *string `pulumi:"clusterNetworkId"` + // The unique identifier for this cluster network interface. + ClusterNetworkInterfaceId *string `pulumi:"clusterNetworkInterfaceId"` + // The date and time that the cluster network interface was created. + CreatedAt *string `pulumi:"createdAt"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + Etag *string `pulumi:"etag"` + // The URL for this cluster network interface. + Href *string `pulumi:"href"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []IsClusterNetworkInterfaceLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network interface. + LifecycleState *string `pulumi:"lifecycleState"` + // The MAC address of the cluster network interface. May be absent if`lifecycleState` is `pending`. + MacAddress *string `pulumi:"macAddress"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name *string `pulumi:"name"` + // The cluster network subnet reserved IP for this cluster network interface. + PrimaryIp *IsClusterNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The associated cluster network subnet. Required if `primaryIp` does not specify a clusternetwork subnet reserved IP identity. + Subnet *IsClusterNetworkInterfaceSubnet `pulumi:"subnet"` + // The target of this cluster network interface.If absent, this cluster network interface is not attached to a target.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets []IsClusterNetworkInterfaceTarget `pulumi:"targets"` + // The VPC this cluster network interface resides in. + Vpcs []IsClusterNetworkInterfaceVpc `pulumi:"vpcs"` + // The zone this cluster network interface resides in. + Zones []IsClusterNetworkInterfaceZone `pulumi:"zones"` +} + +type IsClusterNetworkInterfaceState struct { + // Indicates whether source IP spoofing is allowed on this cluster network interface. If `false`, source IP spoofing is prevented on this cluster network interface. If `true`, source IP spoofing is allowed on this cluster network interface. + AllowIpSpoofing pulumi.BoolPtrInput + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete pulumi.BoolPtrInput + // The cluster network identifier. + ClusterNetworkId pulumi.StringPtrInput + // The unique identifier for this cluster network interface. + ClusterNetworkInterfaceId pulumi.StringPtrInput + // The date and time that the cluster network interface was created. + CreatedAt pulumi.StringPtrInput + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolPtrInput + Etag pulumi.StringPtrInput + // The URL for this cluster network interface. + Href pulumi.StringPtrInput + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsClusterNetworkInterfaceLifecycleReasonArrayInput + // The lifecycle state of the cluster network interface. + LifecycleState pulumi.StringPtrInput + // The MAC address of the cluster network interface. May be absent if`lifecycleState` is `pending`. + MacAddress pulumi.StringPtrInput + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringPtrInput + // The cluster network subnet reserved IP for this cluster network interface. + PrimaryIp IsClusterNetworkInterfacePrimaryIpPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The associated cluster network subnet. Required if `primaryIp` does not specify a clusternetwork subnet reserved IP identity. + Subnet IsClusterNetworkInterfaceSubnetPtrInput + // The target of this cluster network interface.If absent, this cluster network interface is not attached to a target.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets IsClusterNetworkInterfaceTargetArrayInput + // The VPC this cluster network interface resides in. + Vpcs IsClusterNetworkInterfaceVpcArrayInput + // The zone this cluster network interface resides in. + Zones IsClusterNetworkInterfaceZoneArrayInput +} + +func (IsClusterNetworkInterfaceState) ElementType() reflect.Type { + return reflect.TypeOf((*isClusterNetworkInterfaceState)(nil)).Elem() +} + +type isClusterNetworkInterfaceArgs struct { + // The cluster network identifier. + ClusterNetworkId string `pulumi:"clusterNetworkId"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name *string `pulumi:"name"` + // The cluster network subnet reserved IP for this cluster network interface. + PrimaryIp *IsClusterNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The associated cluster network subnet. Required if `primaryIp` does not specify a clusternetwork subnet reserved IP identity. + Subnet *IsClusterNetworkInterfaceSubnet `pulumi:"subnet"` +} + +// The set of arguments for constructing a IsClusterNetworkInterface resource. +type IsClusterNetworkInterfaceArgs struct { + // The cluster network identifier. + ClusterNetworkId pulumi.StringInput + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringPtrInput + // The cluster network subnet reserved IP for this cluster network interface. + PrimaryIp IsClusterNetworkInterfacePrimaryIpPtrInput + // The associated cluster network subnet. Required if `primaryIp` does not specify a clusternetwork subnet reserved IP identity. + Subnet IsClusterNetworkInterfaceSubnetPtrInput +} + +func (IsClusterNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isClusterNetworkInterfaceArgs)(nil)).Elem() +} + +type IsClusterNetworkInterfaceInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceOutput() IsClusterNetworkInterfaceOutput + ToIsClusterNetworkInterfaceOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceOutput +} + +func (*IsClusterNetworkInterface) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkInterface)(nil)).Elem() +} + +func (i *IsClusterNetworkInterface) ToIsClusterNetworkInterfaceOutput() IsClusterNetworkInterfaceOutput { + return i.ToIsClusterNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i *IsClusterNetworkInterface) ToIsClusterNetworkInterfaceOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceOutput) +} + +type IsClusterNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkInterface)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceOutput) ToIsClusterNetworkInterfaceOutput() IsClusterNetworkInterfaceOutput { + return o +} + +func (o IsClusterNetworkInterfaceOutput) ToIsClusterNetworkInterfaceOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this cluster network interface. If `false`, source IP spoofing is prevented on this cluster network interface. If `true`, source IP spoofing is allowed on this cluster network interface. +func (o IsClusterNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.BoolOutput { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. +func (o IsClusterNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.BoolOutput { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The cluster network identifier. +func (o IsClusterNetworkInterfaceOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network interface. +func (o IsClusterNetworkInterfaceOutput) ClusterNetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.ClusterNetworkInterfaceId }).(pulumi.StringOutput) +} + +// The date and time that the cluster network interface was created. +func (o IsClusterNetworkInterfaceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations. +func (o IsClusterNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.BoolOutput { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +func (o IsClusterNetworkInterfaceOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) +} + +// The URL for this cluster network interface. +func (o IsClusterNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o IsClusterNetworkInterfaceOutput) LifecycleReasons() IsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) IsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return v.LifecycleReasons + }).(IsClusterNetworkInterfaceLifecycleReasonArrayOutput) +} + +// The lifecycle state of the cluster network interface. +func (o IsClusterNetworkInterfaceOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The MAC address of the cluster network interface. May be absent if`lifecycleState` is `pending`. +func (o IsClusterNetworkInterfaceOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.MacAddress }).(pulumi.StringOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o IsClusterNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The cluster network subnet reserved IP for this cluster network interface. +func (o IsClusterNetworkInterfaceOutput) PrimaryIp() IsClusterNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) IsClusterNetworkInterfacePrimaryIpOutput { return v.PrimaryIp }).(IsClusterNetworkInterfacePrimaryIpOutput) +} + +// The resource type. +func (o IsClusterNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The associated cluster network subnet. Required if `primaryIp` does not specify a clusternetwork subnet reserved IP identity. +func (o IsClusterNetworkInterfaceOutput) Subnet() IsClusterNetworkInterfaceSubnetOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) IsClusterNetworkInterfaceSubnetOutput { return v.Subnet }).(IsClusterNetworkInterfaceSubnetOutput) +} + +// The target of this cluster network interface.If absent, this cluster network interface is not attached to a target.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsClusterNetworkInterfaceOutput) Targets() IsClusterNetworkInterfaceTargetArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) IsClusterNetworkInterfaceTargetArrayOutput { return v.Targets }).(IsClusterNetworkInterfaceTargetArrayOutput) +} + +// The VPC this cluster network interface resides in. +func (o IsClusterNetworkInterfaceOutput) Vpcs() IsClusterNetworkInterfaceVpcArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) IsClusterNetworkInterfaceVpcArrayOutput { return v.Vpcs }).(IsClusterNetworkInterfaceVpcArrayOutput) +} + +// The zone this cluster network interface resides in. +func (o IsClusterNetworkInterfaceOutput) Zones() IsClusterNetworkInterfaceZoneArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkInterface) IsClusterNetworkInterfaceZoneArrayOutput { return v.Zones }).(IsClusterNetworkInterfaceZoneArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceInput)(nil)).Elem(), &IsClusterNetworkInterface{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkSubnet.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkSubnet.go new file mode 100644 index 000000000..801832cbd --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkSubnet.go @@ -0,0 +1,270 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsClusterNetworkSubnet struct { + pulumi.CustomResourceState + + // The number of IPv4 addresses in this cluster network subnet that are not in use, and have not been reserved by the user or the provider. + AvailableIpv4AddressCount pulumi.IntOutput `pulumi:"availableIpv4AddressCount"` + // The cluster network identifier. + ClusterNetworkId pulumi.StringOutput `pulumi:"clusterNetworkId"` + // The unique identifier for this cluster network subnet. + ClusterNetworkSubnetId pulumi.StringOutput `pulumi:"clusterNetworkSubnetId"` + // The date and time that the cluster network subnet was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + Etag pulumi.StringOutput `pulumi:"etag"` + // The URL for this cluster network subnet. + Href pulumi.StringOutput `pulumi:"href"` + // The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IpVersion pulumi.StringOutput `pulumi:"ipVersion"` + // The IPv4 range of this cluster network subnet, expressed in CIDR format. + Ipv4CidrBlock pulumi.StringOutput `pulumi:"ipv4CidrBlock"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsClusterNetworkSubnetLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network subnet. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringOutput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount pulumi.IntOutput `pulumi:"totalIpv4AddressCount"` +} + +// NewIsClusterNetworkSubnet registers a new resource with the given unique name, arguments, and options. +func NewIsClusterNetworkSubnet(ctx *pulumi.Context, + name string, args *IsClusterNetworkSubnetArgs, opts ...pulumi.ResourceOption) (*IsClusterNetworkSubnet, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterNetworkId == nil { + return nil, errors.New("invalid value for required argument 'ClusterNetworkId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsClusterNetworkSubnet + err := ctx.RegisterResource("ibmcloud:index/isClusterNetworkSubnet:IsClusterNetworkSubnet", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsClusterNetworkSubnet gets an existing IsClusterNetworkSubnet resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsClusterNetworkSubnet(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsClusterNetworkSubnetState, opts ...pulumi.ResourceOption) (*IsClusterNetworkSubnet, error) { + var resource IsClusterNetworkSubnet + err := ctx.ReadResource("ibmcloud:index/isClusterNetworkSubnet:IsClusterNetworkSubnet", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsClusterNetworkSubnet resources. +type isClusterNetworkSubnetState struct { + // The number of IPv4 addresses in this cluster network subnet that are not in use, and have not been reserved by the user or the provider. + AvailableIpv4AddressCount *int `pulumi:"availableIpv4AddressCount"` + // The cluster network identifier. + ClusterNetworkId *string `pulumi:"clusterNetworkId"` + // The unique identifier for this cluster network subnet. + ClusterNetworkSubnetId *string `pulumi:"clusterNetworkSubnetId"` + // The date and time that the cluster network subnet was created. + CreatedAt *string `pulumi:"createdAt"` + Etag *string `pulumi:"etag"` + // The URL for this cluster network subnet. + Href *string `pulumi:"href"` + // The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IpVersion *string `pulumi:"ipVersion"` + // The IPv4 range of this cluster network subnet, expressed in CIDR format. + Ipv4CidrBlock *string `pulumi:"ipv4CidrBlock"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []IsClusterNetworkSubnetLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network subnet. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount *int `pulumi:"totalIpv4AddressCount"` +} + +type IsClusterNetworkSubnetState struct { + // The number of IPv4 addresses in this cluster network subnet that are not in use, and have not been reserved by the user or the provider. + AvailableIpv4AddressCount pulumi.IntPtrInput + // The cluster network identifier. + ClusterNetworkId pulumi.StringPtrInput + // The unique identifier for this cluster network subnet. + ClusterNetworkSubnetId pulumi.StringPtrInput + // The date and time that the cluster network subnet was created. + CreatedAt pulumi.StringPtrInput + Etag pulumi.StringPtrInput + // The URL for this cluster network subnet. + Href pulumi.StringPtrInput + // The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IpVersion pulumi.StringPtrInput + // The IPv4 range of this cluster network subnet, expressed in CIDR format. + Ipv4CidrBlock pulumi.StringPtrInput + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsClusterNetworkSubnetLifecycleReasonArrayInput + // The lifecycle state of the cluster network subnet. + LifecycleState pulumi.StringPtrInput + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount pulumi.IntPtrInput +} + +func (IsClusterNetworkSubnetState) ElementType() reflect.Type { + return reflect.TypeOf((*isClusterNetworkSubnetState)(nil)).Elem() +} + +type isClusterNetworkSubnetArgs struct { + // The cluster network identifier. + ClusterNetworkId string `pulumi:"clusterNetworkId"` + // The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IpVersion *string `pulumi:"ipVersion"` + // The IPv4 range of this cluster network subnet, expressed in CIDR format. + Ipv4CidrBlock *string `pulumi:"ipv4CidrBlock"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name *string `pulumi:"name"` + // The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount *int `pulumi:"totalIpv4AddressCount"` +} + +// The set of arguments for constructing a IsClusterNetworkSubnet resource. +type IsClusterNetworkSubnetArgs struct { + // The cluster network identifier. + ClusterNetworkId pulumi.StringInput + // The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IpVersion pulumi.StringPtrInput + // The IPv4 range of this cluster network subnet, expressed in CIDR format. + Ipv4CidrBlock pulumi.StringPtrInput + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringPtrInput + // The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount pulumi.IntPtrInput +} + +func (IsClusterNetworkSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isClusterNetworkSubnetArgs)(nil)).Elem() +} + +type IsClusterNetworkSubnetInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetOutput() IsClusterNetworkSubnetOutput + ToIsClusterNetworkSubnetOutputWithContext(ctx context.Context) IsClusterNetworkSubnetOutput +} + +func (*IsClusterNetworkSubnet) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkSubnet)(nil)).Elem() +} + +func (i *IsClusterNetworkSubnet) ToIsClusterNetworkSubnetOutput() IsClusterNetworkSubnetOutput { + return i.ToIsClusterNetworkSubnetOutputWithContext(context.Background()) +} + +func (i *IsClusterNetworkSubnet) ToIsClusterNetworkSubnetOutputWithContext(ctx context.Context) IsClusterNetworkSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetOutput) +} + +type IsClusterNetworkSubnetOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkSubnet)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetOutput) ToIsClusterNetworkSubnetOutput() IsClusterNetworkSubnetOutput { + return o +} + +func (o IsClusterNetworkSubnetOutput) ToIsClusterNetworkSubnetOutputWithContext(ctx context.Context) IsClusterNetworkSubnetOutput { + return o +} + +// The number of IPv4 addresses in this cluster network subnet that are not in use, and have not been reserved by the user or the provider. +func (o IsClusterNetworkSubnetOutput) AvailableIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.IntOutput { return v.AvailableIpv4AddressCount }).(pulumi.IntOutput) +} + +// The cluster network identifier. +func (o IsClusterNetworkSubnetOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet. +func (o IsClusterNetworkSubnetOutput) ClusterNetworkSubnetId() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.ClusterNetworkSubnetId }).(pulumi.StringOutput) +} + +// The date and time that the cluster network subnet was created. +func (o IsClusterNetworkSubnetOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o IsClusterNetworkSubnetOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) +} + +// The URL for this cluster network subnet. +func (o IsClusterNetworkSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsClusterNetworkSubnetOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.IpVersion }).(pulumi.StringOutput) +} + +// The IPv4 range of this cluster network subnet, expressed in CIDR format. +func (o IsClusterNetworkSubnetOutput) Ipv4CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.Ipv4CidrBlock }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o IsClusterNetworkSubnetOutput) LifecycleReasons() IsClusterNetworkSubnetLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) IsClusterNetworkSubnetLifecycleReasonArrayOutput { + return v.LifecycleReasons + }).(IsClusterNetworkSubnetLifecycleReasonArrayOutput) +} + +// The lifecycle state of the cluster network subnet. +func (o IsClusterNetworkSubnetOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o IsClusterNetworkSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsClusterNetworkSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. +func (o IsClusterNetworkSubnetOutput) TotalIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnet) pulumi.IntOutput { return v.TotalIpv4AddressCount }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetInput)(nil)).Elem(), &IsClusterNetworkSubnet{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkSubnetReservedIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkSubnetReservedIp.go new file mode 100644 index 000000000..11a07b820 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isClusterNetworkSubnetReservedIp.go @@ -0,0 +1,288 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsClusterNetworkSubnetReservedIp struct { + pulumi.CustomResourceState + + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringPtrOutput `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete pulumi.BoolOutput `pulumi:"autoDelete"` + // The cluster network identifier. + ClusterNetworkId pulumi.StringOutput `pulumi:"clusterNetworkId"` + // The cluster network subnet identifier. + ClusterNetworkSubnetId pulumi.StringOutput `pulumi:"clusterNetworkSubnetId"` + // The unique identifier for this cluster network subnet reserved IP. + ClusterNetworkSubnetReservedIpId pulumi.StringOutput `pulumi:"clusterNetworkSubnetReservedIpId"` + // The date and time that the cluster network subnet reserved IP was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + Etag pulumi.StringOutput `pulumi:"etag"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringOutput `pulumi:"href"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network subnet reserved IP. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringOutput `pulumi:"name"` + // The owner of the cluster network subnet reserved IPThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Owner pulumi.StringOutput `pulumi:"owner"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The target this cluster network subnet reserved IP is bound to.If absent, this cluster network subnet reserved IP is provider-owned or unbound. + Targets IsClusterNetworkSubnetReservedIpTargetArrayOutput `pulumi:"targets"` +} + +// NewIsClusterNetworkSubnetReservedIp registers a new resource with the given unique name, arguments, and options. +func NewIsClusterNetworkSubnetReservedIp(ctx *pulumi.Context, + name string, args *IsClusterNetworkSubnetReservedIpArgs, opts ...pulumi.ResourceOption) (*IsClusterNetworkSubnetReservedIp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterNetworkId == nil { + return nil, errors.New("invalid value for required argument 'ClusterNetworkId'") + } + if args.ClusterNetworkSubnetId == nil { + return nil, errors.New("invalid value for required argument 'ClusterNetworkSubnetId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsClusterNetworkSubnetReservedIp + err := ctx.RegisterResource("ibmcloud:index/isClusterNetworkSubnetReservedIp:IsClusterNetworkSubnetReservedIp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsClusterNetworkSubnetReservedIp gets an existing IsClusterNetworkSubnetReservedIp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsClusterNetworkSubnetReservedIp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsClusterNetworkSubnetReservedIpState, opts ...pulumi.ResourceOption) (*IsClusterNetworkSubnetReservedIp, error) { + var resource IsClusterNetworkSubnetReservedIp + err := ctx.ReadResource("ibmcloud:index/isClusterNetworkSubnetReservedIp:IsClusterNetworkSubnetReservedIp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsClusterNetworkSubnetReservedIp resources. +type isClusterNetworkSubnetReservedIpState struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address *string `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The cluster network identifier. + ClusterNetworkId *string `pulumi:"clusterNetworkId"` + // The cluster network subnet identifier. + ClusterNetworkSubnetId *string `pulumi:"clusterNetworkSubnetId"` + // The unique identifier for this cluster network subnet reserved IP. + ClusterNetworkSubnetReservedIpId *string `pulumi:"clusterNetworkSubnetReservedIpId"` + // The date and time that the cluster network subnet reserved IP was created. + CreatedAt *string `pulumi:"createdAt"` + Etag *string `pulumi:"etag"` + // The URL for this cluster network subnet reserved IP. + Href *string `pulumi:"href"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []IsClusterNetworkSubnetReservedIpLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network subnet reserved IP. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name *string `pulumi:"name"` + // The owner of the cluster network subnet reserved IPThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Owner *string `pulumi:"owner"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The target this cluster network subnet reserved IP is bound to.If absent, this cluster network subnet reserved IP is provider-owned or unbound. + Targets []IsClusterNetworkSubnetReservedIpTarget `pulumi:"targets"` +} + +type IsClusterNetworkSubnetReservedIpState struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringPtrInput + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput + // The cluster network identifier. + ClusterNetworkId pulumi.StringPtrInput + // The cluster network subnet identifier. + ClusterNetworkSubnetId pulumi.StringPtrInput + // The unique identifier for this cluster network subnet reserved IP. + ClusterNetworkSubnetReservedIpId pulumi.StringPtrInput + // The date and time that the cluster network subnet reserved IP was created. + CreatedAt pulumi.StringPtrInput + Etag pulumi.StringPtrInput + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringPtrInput + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput + // The lifecycle state of the cluster network subnet reserved IP. + LifecycleState pulumi.StringPtrInput + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringPtrInput + // The owner of the cluster network subnet reserved IPThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Owner pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The target this cluster network subnet reserved IP is bound to.If absent, this cluster network subnet reserved IP is provider-owned or unbound. + Targets IsClusterNetworkSubnetReservedIpTargetArrayInput +} + +func (IsClusterNetworkSubnetReservedIpState) ElementType() reflect.Type { + return reflect.TypeOf((*isClusterNetworkSubnetReservedIpState)(nil)).Elem() +} + +type isClusterNetworkSubnetReservedIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address *string `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The cluster network identifier. + ClusterNetworkId string `pulumi:"clusterNetworkId"` + // The cluster network subnet identifier. + ClusterNetworkSubnetId string `pulumi:"clusterNetworkSubnetId"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IsClusterNetworkSubnetReservedIp resource. +type IsClusterNetworkSubnetReservedIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringPtrInput + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput + // The cluster network identifier. + ClusterNetworkId pulumi.StringInput + // The cluster network subnet identifier. + ClusterNetworkSubnetId pulumi.StringInput + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringPtrInput +} + +func (IsClusterNetworkSubnetReservedIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isClusterNetworkSubnetReservedIpArgs)(nil)).Elem() +} + +type IsClusterNetworkSubnetReservedIpInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetReservedIpOutput() IsClusterNetworkSubnetReservedIpOutput + ToIsClusterNetworkSubnetReservedIpOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpOutput +} + +func (*IsClusterNetworkSubnetReservedIp) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkSubnetReservedIp)(nil)).Elem() +} + +func (i *IsClusterNetworkSubnetReservedIp) ToIsClusterNetworkSubnetReservedIpOutput() IsClusterNetworkSubnetReservedIpOutput { + return i.ToIsClusterNetworkSubnetReservedIpOutputWithContext(context.Background()) +} + +func (i *IsClusterNetworkSubnetReservedIp) ToIsClusterNetworkSubnetReservedIpOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetReservedIpOutput) +} + +type IsClusterNetworkSubnetReservedIpOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetReservedIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkSubnetReservedIp)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetReservedIpOutput) ToIsClusterNetworkSubnetReservedIpOutput() IsClusterNetworkSubnetReservedIpOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpOutput) ToIsClusterNetworkSubnetReservedIpOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpOutput { + return o +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o IsClusterNetworkSubnetReservedIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringPtrOutput { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. +func (o IsClusterNetworkSubnetReservedIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.BoolOutput { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The cluster network identifier. +func (o IsClusterNetworkSubnetReservedIpOutput) ClusterNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.ClusterNetworkId }).(pulumi.StringOutput) +} + +// The cluster network subnet identifier. +func (o IsClusterNetworkSubnetReservedIpOutput) ClusterNetworkSubnetId() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.ClusterNetworkSubnetId }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o IsClusterNetworkSubnetReservedIpOutput) ClusterNetworkSubnetReservedIpId() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { + return v.ClusterNetworkSubnetReservedIpId + }).(pulumi.StringOutput) +} + +// The date and time that the cluster network subnet reserved IP was created. +func (o IsClusterNetworkSubnetReservedIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o IsClusterNetworkSubnetReservedIpOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o IsClusterNetworkSubnetReservedIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o IsClusterNetworkSubnetReservedIpOutput) LifecycleReasons() IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return v.LifecycleReasons + }).(IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) +} + +// The lifecycle state of the cluster network subnet reserved IP. +func (o IsClusterNetworkSubnetReservedIpOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o IsClusterNetworkSubnetReservedIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The owner of the cluster network subnet reserved IPThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsClusterNetworkSubnetReservedIpOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.Owner }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsClusterNetworkSubnetReservedIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The target this cluster network subnet reserved IP is bound to.If absent, this cluster network subnet reserved IP is provider-owned or unbound. +func (o IsClusterNetworkSubnetReservedIpOutput) Targets() IsClusterNetworkSubnetReservedIpTargetArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetReservedIp) IsClusterNetworkSubnetReservedIpTargetArrayOutput { + return v.Targets + }).(IsClusterNetworkSubnetReservedIpTargetArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetReservedIpInput)(nil)).Elem(), &IsClusterNetworkSubnetReservedIp{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetReservedIpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHost.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHost.go new file mode 100644 index 000000000..bc53d85e2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHost.go @@ -0,0 +1,391 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsDedicatedHost struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The amount of memory in gibibytes that is currently available for instances. + AvailableMemory pulumi.IntOutput `pulumi:"availableMemory"` + // The available VCPU for the dedicated host. + AvailableVcpus IsDedicatedHostAvailableVcpusArrayOutput `pulumi:"availableVcpus"` + // The date and time that the dedicated host was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this dedicated host. + Crn pulumi.StringOutput `pulumi:"crn"` + // Collection of the dedicated host's disks. + Disks IsDedicatedHostDiskArrayOutput `pulumi:"disks"` + // The unique identifier of the dedicated host group for this dedicated host. + HostGroup pulumi.StringOutput `pulumi:"hostGroup"` + // The URL for this dedicated host. + Href pulumi.StringOutput `pulumi:"href"` + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled pulumi.BoolPtrOutput `pulumi:"instancePlacementEnabled"` + // Array of instances that are allocated to this dedicated host. + Instances IsDedicatedHostInstanceArrayOutput `pulumi:"instances"` + // The lifecycle state of the dedicated host resource. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The total amount of memory in gibibytes for this host. + Memory pulumi.IntOutput `pulumi:"memory"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // The dedicated host NUMA configuration + Numas IsDedicatedHostNumaArrayOutput `pulumi:"numas"` + // The Globally unique name of the dedicated host profile to use for this dedicated host. + Profile pulumi.StringOutput `pulumi:"profile"` + // Indicates whether this dedicated host is available for instance creation. + Provisionable pulumi.BoolOutput `pulumi:"provisionable"` + // The unique identifier for the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The total number of sockets for this host. + SocketCount pulumi.IntOutput `pulumi:"socketCount"` + // The administrative state of the dedicated host.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the dedicated host on which the unexpected property value was encountered. + State pulumi.StringOutput `pulumi:"state"` + // Array of instance profiles that can be used by instances placed on this dedicated host. + SupportedInstanceProfiles IsDedicatedHostSupportedInstanceProfileArrayOutput `pulumi:"supportedInstanceProfiles"` + // The total VCPU of the dedicated host. + Vcpus IsDedicatedHostVcpusArrayOutput `pulumi:"vcpus"` + // The globally unique name of the zone this dedicated host resides in. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsDedicatedHost registers a new resource with the given unique name, arguments, and options. +func NewIsDedicatedHost(ctx *pulumi.Context, + name string, args *IsDedicatedHostArgs, opts ...pulumi.ResourceOption) (*IsDedicatedHost, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.HostGroup == nil { + return nil, errors.New("invalid value for required argument 'HostGroup'") + } + if args.Profile == nil { + return nil, errors.New("invalid value for required argument 'Profile'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsDedicatedHost + err := ctx.RegisterResource("ibmcloud:index/isDedicatedHost:IsDedicatedHost", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsDedicatedHost gets an existing IsDedicatedHost resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsDedicatedHost(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsDedicatedHostState, opts ...pulumi.ResourceOption) (*IsDedicatedHost, error) { + var resource IsDedicatedHost + err := ctx.ReadResource("ibmcloud:index/isDedicatedHost:IsDedicatedHost", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsDedicatedHost resources. +type isDedicatedHostState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The amount of memory in gibibytes that is currently available for instances. + AvailableMemory *int `pulumi:"availableMemory"` + // The available VCPU for the dedicated host. + AvailableVcpus []IsDedicatedHostAvailableVcpus `pulumi:"availableVcpus"` + // The date and time that the dedicated host was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this dedicated host. + Crn *string `pulumi:"crn"` + // Collection of the dedicated host's disks. + Disks []IsDedicatedHostDisk `pulumi:"disks"` + // The unique identifier of the dedicated host group for this dedicated host. + HostGroup *string `pulumi:"hostGroup"` + // The URL for this dedicated host. + Href *string `pulumi:"href"` + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled *bool `pulumi:"instancePlacementEnabled"` + // Array of instances that are allocated to this dedicated host. + Instances []IsDedicatedHostInstance `pulumi:"instances"` + // The lifecycle state of the dedicated host resource. + LifecycleState *string `pulumi:"lifecycleState"` + // The total amount of memory in gibibytes for this host. + Memory *int `pulumi:"memory"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The dedicated host NUMA configuration + Numas []IsDedicatedHostNuma `pulumi:"numas"` + // The Globally unique name of the dedicated host profile to use for this dedicated host. + Profile *string `pulumi:"profile"` + // Indicates whether this dedicated host is available for instance creation. + Provisionable *bool `pulumi:"provisionable"` + // The unique identifier for the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` + // The total number of sockets for this host. + SocketCount *int `pulumi:"socketCount"` + // The administrative state of the dedicated host.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the dedicated host on which the unexpected property value was encountered. + State *string `pulumi:"state"` + // Array of instance profiles that can be used by instances placed on this dedicated host. + SupportedInstanceProfiles []IsDedicatedHostSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + // The total VCPU of the dedicated host. + Vcpus []IsDedicatedHostVcpus `pulumi:"vcpus"` + // The globally unique name of the zone this dedicated host resides in. + Zone *string `pulumi:"zone"` +} + +type IsDedicatedHostState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The amount of memory in gibibytes that is currently available for instances. + AvailableMemory pulumi.IntPtrInput + // The available VCPU for the dedicated host. + AvailableVcpus IsDedicatedHostAvailableVcpusArrayInput + // The date and time that the dedicated host was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this dedicated host. + Crn pulumi.StringPtrInput + // Collection of the dedicated host's disks. + Disks IsDedicatedHostDiskArrayInput + // The unique identifier of the dedicated host group for this dedicated host. + HostGroup pulumi.StringPtrInput + // The URL for this dedicated host. + Href pulumi.StringPtrInput + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled pulumi.BoolPtrInput + // Array of instances that are allocated to this dedicated host. + Instances IsDedicatedHostInstanceArrayInput + // The lifecycle state of the dedicated host resource. + LifecycleState pulumi.StringPtrInput + // The total amount of memory in gibibytes for this host. + Memory pulumi.IntPtrInput + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The dedicated host NUMA configuration + Numas IsDedicatedHostNumaArrayInput + // The Globally unique name of the dedicated host profile to use for this dedicated host. + Profile pulumi.StringPtrInput + // Indicates whether this dedicated host is available for instance creation. + Provisionable pulumi.BoolPtrInput + // The unique identifier for the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The type of resource referenced. + ResourceType pulumi.StringPtrInput + // The total number of sockets for this host. + SocketCount pulumi.IntPtrInput + // The administrative state of the dedicated host.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the dedicated host on which the unexpected property value was encountered. + State pulumi.StringPtrInput + // Array of instance profiles that can be used by instances placed on this dedicated host. + SupportedInstanceProfiles IsDedicatedHostSupportedInstanceProfileArrayInput + // The total VCPU of the dedicated host. + Vcpus IsDedicatedHostVcpusArrayInput + // The globally unique name of the zone this dedicated host resides in. + Zone pulumi.StringPtrInput +} + +func (IsDedicatedHostState) ElementType() reflect.Type { + return reflect.TypeOf((*isDedicatedHostState)(nil)).Elem() +} + +type isDedicatedHostArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The unique identifier of the dedicated host group for this dedicated host. + HostGroup string `pulumi:"hostGroup"` + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled *bool `pulumi:"instancePlacementEnabled"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The Globally unique name of the dedicated host profile to use for this dedicated host. + Profile string `pulumi:"profile"` + // The unique identifier for the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// The set of arguments for constructing a IsDedicatedHost resource. +type IsDedicatedHostArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The unique identifier of the dedicated host group for this dedicated host. + HostGroup pulumi.StringInput + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled pulumi.BoolPtrInput + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The Globally unique name of the dedicated host profile to use for this dedicated host. + Profile pulumi.StringInput + // The unique identifier for the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput +} + +func (IsDedicatedHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isDedicatedHostArgs)(nil)).Elem() +} + +type IsDedicatedHostInput interface { + pulumi.Input + + ToIsDedicatedHostOutput() IsDedicatedHostOutput + ToIsDedicatedHostOutputWithContext(ctx context.Context) IsDedicatedHostOutput +} + +func (*IsDedicatedHost) ElementType() reflect.Type { + return reflect.TypeOf((**IsDedicatedHost)(nil)).Elem() +} + +func (i *IsDedicatedHost) ToIsDedicatedHostOutput() IsDedicatedHostOutput { + return i.ToIsDedicatedHostOutputWithContext(context.Background()) +} + +func (i *IsDedicatedHost) ToIsDedicatedHostOutputWithContext(ctx context.Context) IsDedicatedHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostOutput) +} + +type IsDedicatedHostOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsDedicatedHost)(nil)).Elem() +} + +func (o IsDedicatedHostOutput) ToIsDedicatedHostOutput() IsDedicatedHostOutput { + return o +} + +func (o IsDedicatedHostOutput) ToIsDedicatedHostOutputWithContext(ctx context.Context) IsDedicatedHostOutput { + return o +} + +// List of access management tags +func (o IsDedicatedHostOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The amount of memory in gibibytes that is currently available for instances. +func (o IsDedicatedHostOutput) AvailableMemory() pulumi.IntOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.IntOutput { return v.AvailableMemory }).(pulumi.IntOutput) +} + +// The available VCPU for the dedicated host. +func (o IsDedicatedHostOutput) AvailableVcpus() IsDedicatedHostAvailableVcpusArrayOutput { + return o.ApplyT(func(v *IsDedicatedHost) IsDedicatedHostAvailableVcpusArrayOutput { return v.AvailableVcpus }).(IsDedicatedHostAvailableVcpusArrayOutput) +} + +// The date and time that the dedicated host was created. +func (o IsDedicatedHostOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this dedicated host. +func (o IsDedicatedHostOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Collection of the dedicated host's disks. +func (o IsDedicatedHostOutput) Disks() IsDedicatedHostDiskArrayOutput { + return o.ApplyT(func(v *IsDedicatedHost) IsDedicatedHostDiskArrayOutput { return v.Disks }).(IsDedicatedHostDiskArrayOutput) +} + +// The unique identifier of the dedicated host group for this dedicated host. +func (o IsDedicatedHostOutput) HostGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.HostGroup }).(pulumi.StringOutput) +} + +// The URL for this dedicated host. +func (o IsDedicatedHostOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// If set to true, instances can be placed on this dedicated host. +func (o IsDedicatedHostOutput) InstancePlacementEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.BoolPtrOutput { return v.InstancePlacementEnabled }).(pulumi.BoolPtrOutput) +} + +// Array of instances that are allocated to this dedicated host. +func (o IsDedicatedHostOutput) Instances() IsDedicatedHostInstanceArrayOutput { + return o.ApplyT(func(v *IsDedicatedHost) IsDedicatedHostInstanceArrayOutput { return v.Instances }).(IsDedicatedHostInstanceArrayOutput) +} + +// The lifecycle state of the dedicated host resource. +func (o IsDedicatedHostOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The total amount of memory in gibibytes for this host. +func (o IsDedicatedHostOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.IntOutput { return v.Memory }).(pulumi.IntOutput) +} + +// The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsDedicatedHostOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The dedicated host NUMA configuration +func (o IsDedicatedHostOutput) Numas() IsDedicatedHostNumaArrayOutput { + return o.ApplyT(func(v *IsDedicatedHost) IsDedicatedHostNumaArrayOutput { return v.Numas }).(IsDedicatedHostNumaArrayOutput) +} + +// The Globally unique name of the dedicated host profile to use for this dedicated host. +func (o IsDedicatedHostOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +// Indicates whether this dedicated host is available for instance creation. +func (o IsDedicatedHostOutput) Provisionable() pulumi.BoolOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.BoolOutput { return v.Provisionable }).(pulumi.BoolOutput) +} + +// The unique identifier for the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. +func (o IsDedicatedHostOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o IsDedicatedHostOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The total number of sockets for this host. +func (o IsDedicatedHostOutput) SocketCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.IntOutput { return v.SocketCount }).(pulumi.IntOutput) +} + +// The administrative state of the dedicated host.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the dedicated host on which the unexpected property value was encountered. +func (o IsDedicatedHostOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Array of instance profiles that can be used by instances placed on this dedicated host. +func (o IsDedicatedHostOutput) SupportedInstanceProfiles() IsDedicatedHostSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v *IsDedicatedHost) IsDedicatedHostSupportedInstanceProfileArrayOutput { + return v.SupportedInstanceProfiles + }).(IsDedicatedHostSupportedInstanceProfileArrayOutput) +} + +// The total VCPU of the dedicated host. +func (o IsDedicatedHostOutput) Vcpus() IsDedicatedHostVcpusArrayOutput { + return o.ApplyT(func(v *IsDedicatedHost) IsDedicatedHostVcpusArrayOutput { return v.Vcpus }).(IsDedicatedHostVcpusArrayOutput) +} + +// The globally unique name of the zone this dedicated host resides in. +func (o IsDedicatedHostOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHost) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostInput)(nil)).Elem(), &IsDedicatedHost{}) + pulumi.RegisterOutputType(IsDedicatedHostOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHostDiskManagement.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHostDiskManagement.go new file mode 100644 index 000000000..db75b6aa7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHostDiskManagement.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsDedicatedHostDiskManagement struct { + pulumi.CustomResourceState + + // ID of the dedicated host for which disks has to be managed + DedicatedHost pulumi.StringOutput `pulumi:"dedicatedHost"` + // Disk information that has to be updated. + Disks IsDedicatedHostDiskManagementDiskArrayOutput `pulumi:"disks"` +} + +// NewIsDedicatedHostDiskManagement registers a new resource with the given unique name, arguments, and options. +func NewIsDedicatedHostDiskManagement(ctx *pulumi.Context, + name string, args *IsDedicatedHostDiskManagementArgs, opts ...pulumi.ResourceOption) (*IsDedicatedHostDiskManagement, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DedicatedHost == nil { + return nil, errors.New("invalid value for required argument 'DedicatedHost'") + } + if args.Disks == nil { + return nil, errors.New("invalid value for required argument 'Disks'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsDedicatedHostDiskManagement + err := ctx.RegisterResource("ibmcloud:index/isDedicatedHostDiskManagement:IsDedicatedHostDiskManagement", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsDedicatedHostDiskManagement gets an existing IsDedicatedHostDiskManagement resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsDedicatedHostDiskManagement(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsDedicatedHostDiskManagementState, opts ...pulumi.ResourceOption) (*IsDedicatedHostDiskManagement, error) { + var resource IsDedicatedHostDiskManagement + err := ctx.ReadResource("ibmcloud:index/isDedicatedHostDiskManagement:IsDedicatedHostDiskManagement", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsDedicatedHostDiskManagement resources. +type isDedicatedHostDiskManagementState struct { + // ID of the dedicated host for which disks has to be managed + DedicatedHost *string `pulumi:"dedicatedHost"` + // Disk information that has to be updated. + Disks []IsDedicatedHostDiskManagementDisk `pulumi:"disks"` +} + +type IsDedicatedHostDiskManagementState struct { + // ID of the dedicated host for which disks has to be managed + DedicatedHost pulumi.StringPtrInput + // Disk information that has to be updated. + Disks IsDedicatedHostDiskManagementDiskArrayInput +} + +func (IsDedicatedHostDiskManagementState) ElementType() reflect.Type { + return reflect.TypeOf((*isDedicatedHostDiskManagementState)(nil)).Elem() +} + +type isDedicatedHostDiskManagementArgs struct { + // ID of the dedicated host for which disks has to be managed + DedicatedHost string `pulumi:"dedicatedHost"` + // Disk information that has to be updated. + Disks []IsDedicatedHostDiskManagementDisk `pulumi:"disks"` +} + +// The set of arguments for constructing a IsDedicatedHostDiskManagement resource. +type IsDedicatedHostDiskManagementArgs struct { + // ID of the dedicated host for which disks has to be managed + DedicatedHost pulumi.StringInput + // Disk information that has to be updated. + Disks IsDedicatedHostDiskManagementDiskArrayInput +} + +func (IsDedicatedHostDiskManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isDedicatedHostDiskManagementArgs)(nil)).Elem() +} + +type IsDedicatedHostDiskManagementInput interface { + pulumi.Input + + ToIsDedicatedHostDiskManagementOutput() IsDedicatedHostDiskManagementOutput + ToIsDedicatedHostDiskManagementOutputWithContext(ctx context.Context) IsDedicatedHostDiskManagementOutput +} + +func (*IsDedicatedHostDiskManagement) ElementType() reflect.Type { + return reflect.TypeOf((**IsDedicatedHostDiskManagement)(nil)).Elem() +} + +func (i *IsDedicatedHostDiskManagement) ToIsDedicatedHostDiskManagementOutput() IsDedicatedHostDiskManagementOutput { + return i.ToIsDedicatedHostDiskManagementOutputWithContext(context.Background()) +} + +func (i *IsDedicatedHostDiskManagement) ToIsDedicatedHostDiskManagementOutputWithContext(ctx context.Context) IsDedicatedHostDiskManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskManagementOutput) +} + +type IsDedicatedHostDiskManagementOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsDedicatedHostDiskManagement)(nil)).Elem() +} + +func (o IsDedicatedHostDiskManagementOutput) ToIsDedicatedHostDiskManagementOutput() IsDedicatedHostDiskManagementOutput { + return o +} + +func (o IsDedicatedHostDiskManagementOutput) ToIsDedicatedHostDiskManagementOutputWithContext(ctx context.Context) IsDedicatedHostDiskManagementOutput { + return o +} + +// ID of the dedicated host for which disks has to be managed +func (o IsDedicatedHostDiskManagementOutput) DedicatedHost() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostDiskManagement) pulumi.StringOutput { return v.DedicatedHost }).(pulumi.StringOutput) +} + +// Disk information that has to be updated. +func (o IsDedicatedHostDiskManagementOutput) Disks() IsDedicatedHostDiskManagementDiskArrayOutput { + return o.ApplyT(func(v *IsDedicatedHostDiskManagement) IsDedicatedHostDiskManagementDiskArrayOutput { return v.Disks }).(IsDedicatedHostDiskManagementDiskArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskManagementInput)(nil)).Elem(), &IsDedicatedHostDiskManagement{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskManagementOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHostGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHostGroup.go new file mode 100644 index 000000000..21b2a96d3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isDedicatedHostGroup.go @@ -0,0 +1,258 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsDedicatedHostGroup struct { + pulumi.CustomResourceState + + // The dedicated host profile class for hosts in this group. + Class pulumi.StringOutput `pulumi:"class"` + // The date and time that the dedicated host group was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this dedicated host group. + Crn pulumi.StringOutput `pulumi:"crn"` + // The dedicated hosts that are in this dedicated host group. + DedicatedHosts IsDedicatedHostGroupDedicatedHostArrayOutput `pulumi:"dedicatedHosts"` + // The dedicated host profile family for hosts in this group. + Family pulumi.StringOutput `pulumi:"family"` + // The URL for this dedicated host group. + Href pulumi.StringOutput `pulumi:"href"` + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Array of instance profiles that can be used by instances placed on this dedicated host group. + SupportedInstanceProfiles IsDedicatedHostGroupSupportedInstanceProfileArrayOutput `pulumi:"supportedInstanceProfiles"` + // The globally unique name of the zone this dedicated host group will reside in. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsDedicatedHostGroup registers a new resource with the given unique name, arguments, and options. +func NewIsDedicatedHostGroup(ctx *pulumi.Context, + name string, args *IsDedicatedHostGroupArgs, opts ...pulumi.ResourceOption) (*IsDedicatedHostGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Class == nil { + return nil, errors.New("invalid value for required argument 'Class'") + } + if args.Family == nil { + return nil, errors.New("invalid value for required argument 'Family'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsDedicatedHostGroup + err := ctx.RegisterResource("ibmcloud:index/isDedicatedHostGroup:IsDedicatedHostGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsDedicatedHostGroup gets an existing IsDedicatedHostGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsDedicatedHostGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsDedicatedHostGroupState, opts ...pulumi.ResourceOption) (*IsDedicatedHostGroup, error) { + var resource IsDedicatedHostGroup + err := ctx.ReadResource("ibmcloud:index/isDedicatedHostGroup:IsDedicatedHostGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsDedicatedHostGroup resources. +type isDedicatedHostGroupState struct { + // The dedicated host profile class for hosts in this group. + Class *string `pulumi:"class"` + // The date and time that the dedicated host group was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this dedicated host group. + Crn *string `pulumi:"crn"` + // The dedicated hosts that are in this dedicated host group. + DedicatedHosts []IsDedicatedHostGroupDedicatedHost `pulumi:"dedicatedHosts"` + // The dedicated host profile family for hosts in this group. + Family *string `pulumi:"family"` + // The URL for this dedicated host group. + Href *string `pulumi:"href"` + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` + // Array of instance profiles that can be used by instances placed on this dedicated host group. + SupportedInstanceProfiles []IsDedicatedHostGroupSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + // The globally unique name of the zone this dedicated host group will reside in. + Zone *string `pulumi:"zone"` +} + +type IsDedicatedHostGroupState struct { + // The dedicated host profile class for hosts in this group. + Class pulumi.StringPtrInput + // The date and time that the dedicated host group was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this dedicated host group. + Crn pulumi.StringPtrInput + // The dedicated hosts that are in this dedicated host group. + DedicatedHosts IsDedicatedHostGroupDedicatedHostArrayInput + // The dedicated host profile family for hosts in this group. + Family pulumi.StringPtrInput + // The URL for this dedicated host group. + Href pulumi.StringPtrInput + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The type of resource referenced. + ResourceType pulumi.StringPtrInput + // Array of instance profiles that can be used by instances placed on this dedicated host group. + SupportedInstanceProfiles IsDedicatedHostGroupSupportedInstanceProfileArrayInput + // The globally unique name of the zone this dedicated host group will reside in. + Zone pulumi.StringPtrInput +} + +func (IsDedicatedHostGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*isDedicatedHostGroupState)(nil)).Elem() +} + +type isDedicatedHostGroupArgs struct { + // The dedicated host profile class for hosts in this group. + Class string `pulumi:"class"` + // The dedicated host profile family for hosts in this group. + Family string `pulumi:"family"` + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The globally unique name of the zone this dedicated host group will reside in. + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsDedicatedHostGroup resource. +type IsDedicatedHostGroupArgs struct { + // The dedicated host profile class for hosts in this group. + Class pulumi.StringInput + // The dedicated host profile family for hosts in this group. + Family pulumi.StringInput + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The globally unique name of the zone this dedicated host group will reside in. + Zone pulumi.StringInput +} + +func (IsDedicatedHostGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isDedicatedHostGroupArgs)(nil)).Elem() +} + +type IsDedicatedHostGroupInput interface { + pulumi.Input + + ToIsDedicatedHostGroupOutput() IsDedicatedHostGroupOutput + ToIsDedicatedHostGroupOutputWithContext(ctx context.Context) IsDedicatedHostGroupOutput +} + +func (*IsDedicatedHostGroup) ElementType() reflect.Type { + return reflect.TypeOf((**IsDedicatedHostGroup)(nil)).Elem() +} + +func (i *IsDedicatedHostGroup) ToIsDedicatedHostGroupOutput() IsDedicatedHostGroupOutput { + return i.ToIsDedicatedHostGroupOutputWithContext(context.Background()) +} + +func (i *IsDedicatedHostGroup) ToIsDedicatedHostGroupOutputWithContext(ctx context.Context) IsDedicatedHostGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostGroupOutput) +} + +type IsDedicatedHostGroupOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsDedicatedHostGroup)(nil)).Elem() +} + +func (o IsDedicatedHostGroupOutput) ToIsDedicatedHostGroupOutput() IsDedicatedHostGroupOutput { + return o +} + +func (o IsDedicatedHostGroupOutput) ToIsDedicatedHostGroupOutputWithContext(ctx context.Context) IsDedicatedHostGroupOutput { + return o +} + +// The dedicated host profile class for hosts in this group. +func (o IsDedicatedHostGroupOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.Class }).(pulumi.StringOutput) +} + +// The date and time that the dedicated host group was created. +func (o IsDedicatedHostGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this dedicated host group. +func (o IsDedicatedHostGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The dedicated hosts that are in this dedicated host group. +func (o IsDedicatedHostGroupOutput) DedicatedHosts() IsDedicatedHostGroupDedicatedHostArrayOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) IsDedicatedHostGroupDedicatedHostArrayOutput { return v.DedicatedHosts }).(IsDedicatedHostGroupDedicatedHostArrayOutput) +} + +// The dedicated host profile family for hosts in this group. +func (o IsDedicatedHostGroupOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this dedicated host group. +func (o IsDedicatedHostGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsDedicatedHostGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. +func (o IsDedicatedHostGroupOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o IsDedicatedHostGroupOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Array of instance profiles that can be used by instances placed on this dedicated host group. +func (o IsDedicatedHostGroupOutput) SupportedInstanceProfiles() IsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) IsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return v.SupportedInstanceProfiles + }).(IsDedicatedHostGroupSupportedInstanceProfileArrayOutput) +} + +// The globally unique name of the zone this dedicated host group will reside in. +func (o IsDedicatedHostGroupOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsDedicatedHostGroup) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostGroupInput)(nil)).Elem(), &IsDedicatedHostGroup{}) + pulumi.RegisterOutputType(IsDedicatedHostGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isFloatingIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isFloatingIp.go new file mode 100644 index 000000000..5f1f754fa --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isFloatingIp.go @@ -0,0 +1,294 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsFloatingIp struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // Floating IP address + Address pulumi.StringOutput `pulumi:"address"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // Name of the floating IP + Name pulumi.StringOutput `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Resource group info + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // Floating IP status + Status pulumi.StringOutput `pulumi:"status"` + // Floating IP tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Target info + Target pulumi.StringOutput `pulumi:"target"` + // The target of this floating IP. + TargetLists IsFloatingIpTargetListArrayOutput `pulumi:"targetLists"` + // Zone name + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsFloatingIp registers a new resource with the given unique name, arguments, and options. +func NewIsFloatingIp(ctx *pulumi.Context, + name string, args *IsFloatingIpArgs, opts ...pulumi.ResourceOption) (*IsFloatingIp, error) { + if args == nil { + args = &IsFloatingIpArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsFloatingIp + err := ctx.RegisterResource("ibmcloud:index/isFloatingIp:IsFloatingIp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsFloatingIp gets an existing IsFloatingIp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsFloatingIp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsFloatingIpState, opts ...pulumi.ResourceOption) (*IsFloatingIp, error) { + var resource IsFloatingIp + err := ctx.ReadResource("ibmcloud:index/isFloatingIp:IsFloatingIp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsFloatingIp resources. +type isFloatingIpState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Floating IP address + Address *string `pulumi:"address"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // Name of the floating IP + Name *string `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // Floating IP status + Status *string `pulumi:"status"` + // Floating IP tags + Tags []string `pulumi:"tags"` + // Target info + Target *string `pulumi:"target"` + // The target of this floating IP. + TargetLists []IsFloatingIpTargetList `pulumi:"targetLists"` + // Zone name + Zone *string `pulumi:"zone"` +} + +type IsFloatingIpState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Floating IP address + Address pulumi.StringPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + // Name of the floating IP + Name pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Resource group info + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // Floating IP status + Status pulumi.StringPtrInput + // Floating IP tags + Tags pulumi.StringArrayInput + // Target info + Target pulumi.StringPtrInput + // The target of this floating IP. + TargetLists IsFloatingIpTargetListArrayInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsFloatingIpState) ElementType() reflect.Type { + return reflect.TypeOf((*isFloatingIpState)(nil)).Elem() +} + +type isFloatingIpArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Name of the floating IP + Name *string `pulumi:"name"` + // Resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // Floating IP tags + Tags []string `pulumi:"tags"` + // Target info + Target *string `pulumi:"target"` + // Zone name + Zone *string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsFloatingIp resource. +type IsFloatingIpArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Name of the floating IP + Name pulumi.StringPtrInput + // Resource group info + ResourceGroup pulumi.StringPtrInput + // Floating IP tags + Tags pulumi.StringArrayInput + // Target info + Target pulumi.StringPtrInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isFloatingIpArgs)(nil)).Elem() +} + +type IsFloatingIpInput interface { + pulumi.Input + + ToIsFloatingIpOutput() IsFloatingIpOutput + ToIsFloatingIpOutputWithContext(ctx context.Context) IsFloatingIpOutput +} + +func (*IsFloatingIp) ElementType() reflect.Type { + return reflect.TypeOf((**IsFloatingIp)(nil)).Elem() +} + +func (i *IsFloatingIp) ToIsFloatingIpOutput() IsFloatingIpOutput { + return i.ToIsFloatingIpOutputWithContext(context.Background()) +} + +func (i *IsFloatingIp) ToIsFloatingIpOutputWithContext(ctx context.Context) IsFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsFloatingIpOutput) +} + +type IsFloatingIpOutput struct{ *pulumi.OutputState } + +func (IsFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsFloatingIp)(nil)).Elem() +} + +func (o IsFloatingIpOutput) ToIsFloatingIpOutput() IsFloatingIpOutput { + return o +} + +func (o IsFloatingIpOutput) ToIsFloatingIpOutputWithContext(ctx context.Context) IsFloatingIpOutput { + return o +} + +// List of access management tags +func (o IsFloatingIpOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Floating IP address +func (o IsFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Name of the floating IP +func (o IsFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsFloatingIpOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsFloatingIpOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Resource group info +func (o IsFloatingIpOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsFloatingIpOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsFloatingIpOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsFloatingIpOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// Floating IP status +func (o IsFloatingIpOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Floating IP tags +func (o IsFloatingIpOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Target info +func (o IsFloatingIpOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// The target of this floating IP. +func (o IsFloatingIpOutput) TargetLists() IsFloatingIpTargetListArrayOutput { + return o.ApplyT(func(v *IsFloatingIp) IsFloatingIpTargetListArrayOutput { return v.TargetLists }).(IsFloatingIpTargetListArrayOutput) +} + +// Zone name +func (o IsFloatingIpOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsFloatingIp) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsFloatingIpInput)(nil)).Elem(), &IsFloatingIp{}) + pulumi.RegisterOutputType(IsFloatingIpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isFlowLog.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isFlowLog.go new file mode 100644 index 000000000..3f8ad0124 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isFlowLog.go @@ -0,0 +1,338 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsFlowLog struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // Indicates whether this collector is active + Active pulumi.BoolPtrOutput `pulumi:"active"` + // If set to true, this flow log collector will be automatically deleted when the target is deleted + AutoDelete pulumi.BoolOutput `pulumi:"autoDelete"` + // The date and time flow log was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this flow log collector + Crn pulumi.StringOutput `pulumi:"crn"` + // The URL for this flow log collector + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of the flow log collector + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // Flow Log Collector name + Name pulumi.StringOutput `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // The resource group of flow log + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // The Cloud Object Storage bucket name where the collected flows will be logged + StorageBucket pulumi.StringOutput `pulumi:"storageBucket"` + // Tags for the VPC Flow logs + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The target id that the flow log collector is to collect flow logs + Target pulumi.StringOutput `pulumi:"target"` + // The VPC this flow log collector is associated with + Vpc pulumi.StringOutput `pulumi:"vpc"` +} + +// NewIsFlowLog registers a new resource with the given unique name, arguments, and options. +func NewIsFlowLog(ctx *pulumi.Context, + name string, args *IsFlowLogArgs, opts ...pulumi.ResourceOption) (*IsFlowLog, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.StorageBucket == nil { + return nil, errors.New("invalid value for required argument 'StorageBucket'") + } + if args.Target == nil { + return nil, errors.New("invalid value for required argument 'Target'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsFlowLog + err := ctx.RegisterResource("ibmcloud:index/isFlowLog:IsFlowLog", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsFlowLog gets an existing IsFlowLog resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsFlowLog(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsFlowLogState, opts ...pulumi.ResourceOption) (*IsFlowLog, error) { + var resource IsFlowLog + err := ctx.ReadResource("ibmcloud:index/isFlowLog:IsFlowLog", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsFlowLog resources. +type isFlowLogState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Indicates whether this collector is active + Active *bool `pulumi:"active"` + // If set to true, this flow log collector will be automatically deleted when the target is deleted + AutoDelete *bool `pulumi:"autoDelete"` + // The date and time flow log was created + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this flow log collector + Crn *string `pulumi:"crn"` + // The URL for this flow log collector + Href *string `pulumi:"href"` + // The lifecycle state of the flow log collector + LifecycleState *string `pulumi:"lifecycleState"` + // Flow Log Collector name + Name *string `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // The resource group of flow log + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // The Cloud Object Storage bucket name where the collected flows will be logged + StorageBucket *string `pulumi:"storageBucket"` + // Tags for the VPC Flow logs + Tags []string `pulumi:"tags"` + // The target id that the flow log collector is to collect flow logs + Target *string `pulumi:"target"` + // The VPC this flow log collector is associated with + Vpc *string `pulumi:"vpc"` +} + +type IsFlowLogState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Indicates whether this collector is active + Active pulumi.BoolPtrInput + // If set to true, this flow log collector will be automatically deleted when the target is deleted + AutoDelete pulumi.BoolPtrInput + // The date and time flow log was created + CreatedAt pulumi.StringPtrInput + // The CRN for this flow log collector + Crn pulumi.StringPtrInput + // The URL for this flow log collector + Href pulumi.StringPtrInput + // The lifecycle state of the flow log collector + LifecycleState pulumi.StringPtrInput + // Flow Log Collector name + Name pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // The resource group of flow log + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // The Cloud Object Storage bucket name where the collected flows will be logged + StorageBucket pulumi.StringPtrInput + // Tags for the VPC Flow logs + Tags pulumi.StringArrayInput + // The target id that the flow log collector is to collect flow logs + Target pulumi.StringPtrInput + // The VPC this flow log collector is associated with + Vpc pulumi.StringPtrInput +} + +func (IsFlowLogState) ElementType() reflect.Type { + return reflect.TypeOf((*isFlowLogState)(nil)).Elem() +} + +type isFlowLogArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Indicates whether this collector is active + Active *bool `pulumi:"active"` + // Flow Log Collector name + Name *string `pulumi:"name"` + // The resource group of flow log + ResourceGroup *string `pulumi:"resourceGroup"` + // The Cloud Object Storage bucket name where the collected flows will be logged + StorageBucket string `pulumi:"storageBucket"` + // Tags for the VPC Flow logs + Tags []string `pulumi:"tags"` + // The target id that the flow log collector is to collect flow logs + Target string `pulumi:"target"` +} + +// The set of arguments for constructing a IsFlowLog resource. +type IsFlowLogArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Indicates whether this collector is active + Active pulumi.BoolPtrInput + // Flow Log Collector name + Name pulumi.StringPtrInput + // The resource group of flow log + ResourceGroup pulumi.StringPtrInput + // The Cloud Object Storage bucket name where the collected flows will be logged + StorageBucket pulumi.StringInput + // Tags for the VPC Flow logs + Tags pulumi.StringArrayInput + // The target id that the flow log collector is to collect flow logs + Target pulumi.StringInput +} + +func (IsFlowLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isFlowLogArgs)(nil)).Elem() +} + +type IsFlowLogInput interface { + pulumi.Input + + ToIsFlowLogOutput() IsFlowLogOutput + ToIsFlowLogOutputWithContext(ctx context.Context) IsFlowLogOutput +} + +func (*IsFlowLog) ElementType() reflect.Type { + return reflect.TypeOf((**IsFlowLog)(nil)).Elem() +} + +func (i *IsFlowLog) ToIsFlowLogOutput() IsFlowLogOutput { + return i.ToIsFlowLogOutputWithContext(context.Background()) +} + +func (i *IsFlowLog) ToIsFlowLogOutputWithContext(ctx context.Context) IsFlowLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsFlowLogOutput) +} + +type IsFlowLogOutput struct{ *pulumi.OutputState } + +func (IsFlowLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsFlowLog)(nil)).Elem() +} + +func (o IsFlowLogOutput) ToIsFlowLogOutput() IsFlowLogOutput { + return o +} + +func (o IsFlowLogOutput) ToIsFlowLogOutputWithContext(ctx context.Context) IsFlowLogOutput { + return o +} + +// List of access management tags +func (o IsFlowLogOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Indicates whether this collector is active +func (o IsFlowLogOutput) Active() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.BoolPtrOutput { return v.Active }).(pulumi.BoolPtrOutput) +} + +// If set to true, this flow log collector will be automatically deleted when the target is deleted +func (o IsFlowLogOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.BoolOutput { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time flow log was created +func (o IsFlowLogOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this flow log collector +func (o IsFlowLogOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this flow log collector +func (o IsFlowLogOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of the flow log collector +func (o IsFlowLogOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Flow Log Collector name +func (o IsFlowLogOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsFlowLogOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsFlowLogOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// The resource group of flow log +func (o IsFlowLogOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsFlowLogOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsFlowLogOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsFlowLogOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// The Cloud Object Storage bucket name where the collected flows will be logged +func (o IsFlowLogOutput) StorageBucket() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.StorageBucket }).(pulumi.StringOutput) +} + +// Tags for the VPC Flow logs +func (o IsFlowLogOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The target id that the flow log collector is to collect flow logs +func (o IsFlowLogOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// The VPC this flow log collector is associated with +func (o IsFlowLogOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsFlowLog) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsFlowLogInput)(nil)).Elem(), &IsFlowLog{}) + pulumi.RegisterOutputType(IsFlowLogOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isIkePolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isIkePolicy.go new file mode 100644 index 000000000..4f3d082c5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isIkePolicy.go @@ -0,0 +1,282 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsIkePolicy struct { + pulumi.CustomResourceState + + // Authentication algorithm type + AuthenticationAlgorithm pulumi.StringOutput `pulumi:"authenticationAlgorithm"` + // IKE DH group + DhGroup pulumi.IntOutput `pulumi:"dhGroup"` + // Encryption alogorithm type + EncryptionAlgorithm pulumi.StringOutput `pulumi:"encryptionAlgorithm"` + // IKE href value + Href pulumi.StringOutput `pulumi:"href"` + // IKE version + IkeVersion pulumi.IntPtrOutput `pulumi:"ikeVersion"` + // IKE Key lifetime + KeyLifetime pulumi.IntPtrOutput `pulumi:"keyLifetime"` + // IKE name + Name pulumi.StringOutput `pulumi:"name"` + // IKE negotiation mode + NegotiationMode pulumi.StringOutput `pulumi:"negotiationMode"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // IKE resource group ID + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + VpnConnections IsIkePolicyVpnConnectionArrayOutput `pulumi:"vpnConnections"` +} + +// NewIsIkePolicy registers a new resource with the given unique name, arguments, and options. +func NewIsIkePolicy(ctx *pulumi.Context, + name string, args *IsIkePolicyArgs, opts ...pulumi.ResourceOption) (*IsIkePolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AuthenticationAlgorithm == nil { + return nil, errors.New("invalid value for required argument 'AuthenticationAlgorithm'") + } + if args.DhGroup == nil { + return nil, errors.New("invalid value for required argument 'DhGroup'") + } + if args.EncryptionAlgorithm == nil { + return nil, errors.New("invalid value for required argument 'EncryptionAlgorithm'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsIkePolicy + err := ctx.RegisterResource("ibmcloud:index/isIkePolicy:IsIkePolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsIkePolicy gets an existing IsIkePolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsIkePolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsIkePolicyState, opts ...pulumi.ResourceOption) (*IsIkePolicy, error) { + var resource IsIkePolicy + err := ctx.ReadResource("ibmcloud:index/isIkePolicy:IsIkePolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsIkePolicy resources. +type isIkePolicyState struct { + // Authentication algorithm type + AuthenticationAlgorithm *string `pulumi:"authenticationAlgorithm"` + // IKE DH group + DhGroup *int `pulumi:"dhGroup"` + // Encryption alogorithm type + EncryptionAlgorithm *string `pulumi:"encryptionAlgorithm"` + // IKE href value + Href *string `pulumi:"href"` + // IKE version + IkeVersion *int `pulumi:"ikeVersion"` + // IKE Key lifetime + KeyLifetime *int `pulumi:"keyLifetime"` + // IKE name + Name *string `pulumi:"name"` + // IKE negotiation mode + NegotiationMode *string `pulumi:"negotiationMode"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // IKE resource group ID + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + VpnConnections []IsIkePolicyVpnConnection `pulumi:"vpnConnections"` +} + +type IsIkePolicyState struct { + // Authentication algorithm type + AuthenticationAlgorithm pulumi.StringPtrInput + // IKE DH group + DhGroup pulumi.IntPtrInput + // Encryption alogorithm type + EncryptionAlgorithm pulumi.StringPtrInput + // IKE href value + Href pulumi.StringPtrInput + // IKE version + IkeVersion pulumi.IntPtrInput + // IKE Key lifetime + KeyLifetime pulumi.IntPtrInput + // IKE name + Name pulumi.StringPtrInput + // IKE negotiation mode + NegotiationMode pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // IKE resource group ID + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + VpnConnections IsIkePolicyVpnConnectionArrayInput +} + +func (IsIkePolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*isIkePolicyState)(nil)).Elem() +} + +type isIkePolicyArgs struct { + // Authentication algorithm type + AuthenticationAlgorithm string `pulumi:"authenticationAlgorithm"` + // IKE DH group + DhGroup int `pulumi:"dhGroup"` + // Encryption alogorithm type + EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"` + // IKE version + IkeVersion *int `pulumi:"ikeVersion"` + // IKE Key lifetime + KeyLifetime *int `pulumi:"keyLifetime"` + // IKE name + Name *string `pulumi:"name"` + // IKE resource group ID + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// The set of arguments for constructing a IsIkePolicy resource. +type IsIkePolicyArgs struct { + // Authentication algorithm type + AuthenticationAlgorithm pulumi.StringInput + // IKE DH group + DhGroup pulumi.IntInput + // Encryption alogorithm type + EncryptionAlgorithm pulumi.StringInput + // IKE version + IkeVersion pulumi.IntPtrInput + // IKE Key lifetime + KeyLifetime pulumi.IntPtrInput + // IKE name + Name pulumi.StringPtrInput + // IKE resource group ID + ResourceGroup pulumi.StringPtrInput +} + +func (IsIkePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isIkePolicyArgs)(nil)).Elem() +} + +type IsIkePolicyInput interface { + pulumi.Input + + ToIsIkePolicyOutput() IsIkePolicyOutput + ToIsIkePolicyOutputWithContext(ctx context.Context) IsIkePolicyOutput +} + +func (*IsIkePolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IsIkePolicy)(nil)).Elem() +} + +func (i *IsIkePolicy) ToIsIkePolicyOutput() IsIkePolicyOutput { + return i.ToIsIkePolicyOutputWithContext(context.Background()) +} + +func (i *IsIkePolicy) ToIsIkePolicyOutputWithContext(ctx context.Context) IsIkePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsIkePolicyOutput) +} + +type IsIkePolicyOutput struct{ *pulumi.OutputState } + +func (IsIkePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsIkePolicy)(nil)).Elem() +} + +func (o IsIkePolicyOutput) ToIsIkePolicyOutput() IsIkePolicyOutput { + return o +} + +func (o IsIkePolicyOutput) ToIsIkePolicyOutputWithContext(ctx context.Context) IsIkePolicyOutput { + return o +} + +// Authentication algorithm type +func (o IsIkePolicyOutput) AuthenticationAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.AuthenticationAlgorithm }).(pulumi.StringOutput) +} + +// IKE DH group +func (o IsIkePolicyOutput) DhGroup() pulumi.IntOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.IntOutput { return v.DhGroup }).(pulumi.IntOutput) +} + +// Encryption alogorithm type +func (o IsIkePolicyOutput) EncryptionAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.EncryptionAlgorithm }).(pulumi.StringOutput) +} + +// IKE href value +func (o IsIkePolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// IKE version +func (o IsIkePolicyOutput) IkeVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.IntPtrOutput { return v.IkeVersion }).(pulumi.IntPtrOutput) +} + +// IKE Key lifetime +func (o IsIkePolicyOutput) KeyLifetime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.IntPtrOutput { return v.KeyLifetime }).(pulumi.IntPtrOutput) +} + +// IKE name +func (o IsIkePolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// IKE negotiation mode +func (o IsIkePolicyOutput) NegotiationMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.NegotiationMode }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsIkePolicyOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// IKE resource group ID +func (o IsIkePolicyOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsIkePolicyOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsIkePolicyOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsIkePolicy) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o IsIkePolicyOutput) VpnConnections() IsIkePolicyVpnConnectionArrayOutput { + return o.ApplyT(func(v *IsIkePolicy) IsIkePolicyVpnConnectionArrayOutput { return v.VpnConnections }).(IsIkePolicyVpnConnectionArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsIkePolicyInput)(nil)).Elem(), &IsIkePolicy{}) + pulumi.RegisterOutputType(IsIkePolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImage.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImage.go new file mode 100644 index 000000000..2e95317ed --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImage.go @@ -0,0 +1,469 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsImage struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse IsImageAllowedUseOutput `pulumi:"allowedUse"` + // The SHA256 checksum of this image + Checksum pulumi.StringOutput `pulumi:"checksum"` + // The date and time that the image was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // Set to deprecate. You can set an image to `deprecated` as a warning to transition away from soon-to-be obsolete images. Deprecated images can be used to provision resources. + Deprecate pulumi.BoolPtrOutput `pulumi:"deprecate"` + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt pulumi.StringOutput `pulumi:"deprecationAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey pulumi.StringPtrOutput `pulumi:"encryptedDataKey"` + // The type of encryption used on the image + Encryption pulumi.StringOutput `pulumi:"encryption"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey pulumi.StringPtrOutput `pulumi:"encryptionKey"` + // Details for the stored image file + File pulumi.IntOutput `pulumi:"file"` + // Image Href value + Href pulumi.StringOutput `pulumi:"href"` + // Image name + Name pulumi.StringOutput `pulumi:"name"` + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt pulumi.StringOutput `pulumi:"obsolescenceAt"` + // Set to obsolete. You can set an image to `obsolete` as a warning to transition away from soon-to-be deleted images. You can't use obsolete images to provision resources. + Obsolete pulumi.BoolPtrOutput `pulumi:"obsolete"` + // Image Operating system + OperatingSystem pulumi.StringOutput `pulumi:"operatingSystem"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // The resource group for this image + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size pulumi.IntOutput `pulumi:"size"` + // Image volume id + SourceVolume pulumi.StringPtrOutput `pulumi:"sourceVolume"` + // The status of this image + Status pulumi.StringOutput `pulumi:"status"` + // Tags for the image + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The user data format for this image + UserDataFormat pulumi.StringOutput `pulumi:"userDataFormat"` + // Whether the image is publicly visible or private to the account + Visibility pulumi.StringOutput `pulumi:"visibility"` +} + +// NewIsImage registers a new resource with the given unique name, arguments, and options. +func NewIsImage(ctx *pulumi.Context, + name string, args *IsImageArgs, opts ...pulumi.ResourceOption) (*IsImage, error) { + if args == nil { + args = &IsImageArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsImage + err := ctx.RegisterResource("ibmcloud:index/isImage:IsImage", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsImage gets an existing IsImage resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsImage(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsImageState, opts ...pulumi.ResourceOption) (*IsImage, error) { + var resource IsImage + err := ctx.ReadResource("ibmcloud:index/isImage:IsImage", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsImage resources. +type isImageState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsImageAllowedUse `pulumi:"allowedUse"` + // The SHA256 checksum of this image + Checksum *string `pulumi:"checksum"` + // The date and time that the image was created + CreatedAt *string `pulumi:"createdAt"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // Set to deprecate. You can set an image to `deprecated` as a warning to transition away from soon-to-be obsolete images. Deprecated images can be used to provision resources. + Deprecate *bool `pulumi:"deprecate"` + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt *string `pulumi:"deprecationAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey *string `pulumi:"encryptedDataKey"` + // The type of encryption used on the image + Encryption *string `pulumi:"encryption"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey *string `pulumi:"encryptionKey"` + // Details for the stored image file + File *int `pulumi:"file"` + // Image Href value + Href *string `pulumi:"href"` + // Image name + Name *string `pulumi:"name"` + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt *string `pulumi:"obsolescenceAt"` + // Set to obsolete. You can set an image to `obsolete` as a warning to transition away from soon-to-be deleted images. You can't use obsolete images to provision resources. + Obsolete *bool `pulumi:"obsolete"` + // Image Operating system + OperatingSystem *string `pulumi:"operatingSystem"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // The resource group for this image + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size *int `pulumi:"size"` + // Image volume id + SourceVolume *string `pulumi:"sourceVolume"` + // The status of this image + Status *string `pulumi:"status"` + // Tags for the image + Tags []string `pulumi:"tags"` + // The user data format for this image + UserDataFormat *string `pulumi:"userDataFormat"` + // Whether the image is publicly visible or private to the account + Visibility *string `pulumi:"visibility"` +} + +type IsImageState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse IsImageAllowedUsePtrInput + // The SHA256 checksum of this image + Checksum pulumi.StringPtrInput + // The date and time that the image was created + CreatedAt pulumi.StringPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + // Set to deprecate. You can set an image to `deprecated` as a warning to transition away from soon-to-be obsolete images. Deprecated images can be used to provision resources. + Deprecate pulumi.BoolPtrInput + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt pulumi.StringPtrInput + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey pulumi.StringPtrInput + // The type of encryption used on the image + Encryption pulumi.StringPtrInput + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey pulumi.StringPtrInput + // Details for the stored image file + File pulumi.IntPtrInput + // Image Href value + Href pulumi.StringPtrInput + // Image name + Name pulumi.StringPtrInput + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt pulumi.StringPtrInput + // Set to obsolete. You can set an image to `obsolete` as a warning to transition away from soon-to-be deleted images. You can't use obsolete images to provision resources. + Obsolete pulumi.BoolPtrInput + // Image Operating system + OperatingSystem pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // The resource group for this image + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size pulumi.IntPtrInput + // Image volume id + SourceVolume pulumi.StringPtrInput + // The status of this image + Status pulumi.StringPtrInput + // Tags for the image + Tags pulumi.StringArrayInput + // The user data format for this image + UserDataFormat pulumi.StringPtrInput + // Whether the image is publicly visible or private to the account + Visibility pulumi.StringPtrInput +} + +func (IsImageState) ElementType() reflect.Type { + return reflect.TypeOf((*isImageState)(nil)).Elem() +} + +type isImageArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsImageAllowedUse `pulumi:"allowedUse"` + // Set to deprecate. You can set an image to `deprecated` as a warning to transition away from soon-to-be obsolete images. Deprecated images can be used to provision resources. + Deprecate *bool `pulumi:"deprecate"` + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt *string `pulumi:"deprecationAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey *string `pulumi:"encryptedDataKey"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey *string `pulumi:"encryptionKey"` + // Image Href value + Href *string `pulumi:"href"` + // Image name + Name *string `pulumi:"name"` + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt *string `pulumi:"obsolescenceAt"` + // Set to obsolete. You can set an image to `obsolete` as a warning to transition away from soon-to-be deleted images. You can't use obsolete images to provision resources. + Obsolete *bool `pulumi:"obsolete"` + // Image Operating system + OperatingSystem *string `pulumi:"operatingSystem"` + // The resource group for this image + ResourceGroup *string `pulumi:"resourceGroup"` + // Image volume id + SourceVolume *string `pulumi:"sourceVolume"` + // Tags for the image + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsImage resource. +type IsImageArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse IsImageAllowedUsePtrInput + // Set to deprecate. You can set an image to `deprecated` as a warning to transition away from soon-to-be obsolete images. Deprecated images can be used to provision resources. + Deprecate pulumi.BoolPtrInput + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt pulumi.StringPtrInput + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey pulumi.StringPtrInput + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey pulumi.StringPtrInput + // Image Href value + Href pulumi.StringPtrInput + // Image name + Name pulumi.StringPtrInput + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt pulumi.StringPtrInput + // Set to obsolete. You can set an image to `obsolete` as a warning to transition away from soon-to-be deleted images. You can't use obsolete images to provision resources. + Obsolete pulumi.BoolPtrInput + // Image Operating system + OperatingSystem pulumi.StringPtrInput + // The resource group for this image + ResourceGroup pulumi.StringPtrInput + // Image volume id + SourceVolume pulumi.StringPtrInput + // Tags for the image + Tags pulumi.StringArrayInput +} + +func (IsImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isImageArgs)(nil)).Elem() +} + +type IsImageInput interface { + pulumi.Input + + ToIsImageOutput() IsImageOutput + ToIsImageOutputWithContext(ctx context.Context) IsImageOutput +} + +func (*IsImage) ElementType() reflect.Type { + return reflect.TypeOf((**IsImage)(nil)).Elem() +} + +func (i *IsImage) ToIsImageOutput() IsImageOutput { + return i.ToIsImageOutputWithContext(context.Background()) +} + +func (i *IsImage) ToIsImageOutputWithContext(ctx context.Context) IsImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageOutput) +} + +type IsImageOutput struct{ *pulumi.OutputState } + +func (IsImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsImage)(nil)).Elem() +} + +func (o IsImageOutput) ToIsImageOutput() IsImageOutput { + return o +} + +func (o IsImageOutput) ToIsImageOutputWithContext(ctx context.Context) IsImageOutput { + return o +} + +// List of access management tags +func (o IsImageOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. +func (o IsImageOutput) AllowedUse() IsImageAllowedUseOutput { + return o.ApplyT(func(v *IsImage) IsImageAllowedUseOutput { return v.AllowedUse }).(IsImageAllowedUseOutput) +} + +// The SHA256 checksum of this image +func (o IsImageOutput) Checksum() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.Checksum }).(pulumi.StringOutput) +} + +// The date and time that the image was created +func (o IsImageOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsImageOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Set to deprecate. You can set an image to `deprecated` as a warning to transition away from soon-to-be obsolete images. Deprecated images can be used to provision resources. +func (o IsImageOutput) Deprecate() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsImage) pulumi.BoolPtrOutput { return v.Deprecate }).(pulumi.BoolPtrOutput) +} + +// The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. +func (o IsImageOutput) DeprecationAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.DeprecationAt }).(pulumi.StringOutput) +} + +// A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image +func (o IsImageOutput) EncryptedDataKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringPtrOutput { return v.EncryptedDataKey }).(pulumi.StringPtrOutput) +} + +// The type of encryption used on the image +func (o IsImageOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.Encryption }).(pulumi.StringOutput) +} + +// The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource +func (o IsImageOutput) EncryptionKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringPtrOutput { return v.EncryptionKey }).(pulumi.StringPtrOutput) +} + +// Details for the stored image file +func (o IsImageOutput) File() pulumi.IntOutput { + return o.ApplyT(func(v *IsImage) pulumi.IntOutput { return v.File }).(pulumi.IntOutput) +} + +// Image Href value +func (o IsImageOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Image name +func (o IsImageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. +func (o IsImageOutput) ObsolescenceAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.ObsolescenceAt }).(pulumi.StringOutput) +} + +// Set to obsolete. You can set an image to `obsolete` as a warning to transition away from soon-to-be deleted images. You can't use obsolete images to provision resources. +func (o IsImageOutput) Obsolete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsImage) pulumi.BoolPtrOutput { return v.Obsolete }).(pulumi.BoolPtrOutput) +} + +// Image Operating system +func (o IsImageOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.OperatingSystem }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsImageOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsImageOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// The resource group for this image +func (o IsImageOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsImageOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsImageOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsImageOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// The minimum size (in gigabytes) of a volume onto which this image may be provisioned +func (o IsImageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v *IsImage) pulumi.IntOutput { return v.Size }).(pulumi.IntOutput) +} + +// Image volume id +func (o IsImageOutput) SourceVolume() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringPtrOutput { return v.SourceVolume }).(pulumi.StringPtrOutput) +} + +// The status of this image +func (o IsImageOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Tags for the image +func (o IsImageOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The user data format for this image +func (o IsImageOutput) UserDataFormat() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.UserDataFormat }).(pulumi.StringOutput) +} + +// Whether the image is publicly visible or private to the account +func (o IsImageOutput) Visibility() pulumi.StringOutput { + return o.ApplyT(func(v *IsImage) pulumi.StringOutput { return v.Visibility }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsImageInput)(nil)).Elem(), &IsImage{}) + pulumi.RegisterOutputType(IsImageOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageDeprecate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageDeprecate.go new file mode 100644 index 000000000..750fe1fcd --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageDeprecate.go @@ -0,0 +1,333 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsImageDeprecate struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The SHA256 checksum of this image + Checksum pulumi.StringOutput `pulumi:"checksum"` + // The date and time that the image was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt pulumi.StringOutput `pulumi:"deprecationAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey pulumi.StringOutput `pulumi:"encryptedDataKey"` + // The type of encryption used on the image + Encryption pulumi.StringOutput `pulumi:"encryption"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey pulumi.StringOutput `pulumi:"encryptionKey"` + // Details for the stored image file + File pulumi.IntOutput `pulumi:"file"` + // Image Href value + Href pulumi.StringOutput `pulumi:"href"` + // Image identifier + Image pulumi.StringOutput `pulumi:"image"` + // Image name + Name pulumi.StringOutput `pulumi:"name"` + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt pulumi.StringOutput `pulumi:"obsolescenceAt"` + // Image Operating system + OperatingSystem pulumi.StringOutput `pulumi:"operatingSystem"` + // The resource group for this image + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size pulumi.IntOutput `pulumi:"size"` + // Image volume id + SourceVolume pulumi.StringOutput `pulumi:"sourceVolume"` + // The status of this image + Status pulumi.StringOutput `pulumi:"status"` + // Tags for the image + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Whether the image is publicly visible or private to the account + Visibility pulumi.StringOutput `pulumi:"visibility"` +} + +// NewIsImageDeprecate registers a new resource with the given unique name, arguments, and options. +func NewIsImageDeprecate(ctx *pulumi.Context, + name string, args *IsImageDeprecateArgs, opts ...pulumi.ResourceOption) (*IsImageDeprecate, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Image == nil { + return nil, errors.New("invalid value for required argument 'Image'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsImageDeprecate + err := ctx.RegisterResource("ibmcloud:index/isImageDeprecate:IsImageDeprecate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsImageDeprecate gets an existing IsImageDeprecate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsImageDeprecate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsImageDeprecateState, opts ...pulumi.ResourceOption) (*IsImageDeprecate, error) { + var resource IsImageDeprecate + err := ctx.ReadResource("ibmcloud:index/isImageDeprecate:IsImageDeprecate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsImageDeprecate resources. +type isImageDeprecateState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The SHA256 checksum of this image + Checksum *string `pulumi:"checksum"` + // The date and time that the image was created + CreatedAt *string `pulumi:"createdAt"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt *string `pulumi:"deprecationAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey *string `pulumi:"encryptedDataKey"` + // The type of encryption used on the image + Encryption *string `pulumi:"encryption"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey *string `pulumi:"encryptionKey"` + // Details for the stored image file + File *int `pulumi:"file"` + // Image Href value + Href *string `pulumi:"href"` + // Image identifier + Image *string `pulumi:"image"` + // Image name + Name *string `pulumi:"name"` + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt *string `pulumi:"obsolescenceAt"` + // Image Operating system + OperatingSystem *string `pulumi:"operatingSystem"` + // The resource group for this image + ResourceGroup *string `pulumi:"resourceGroup"` + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size *int `pulumi:"size"` + // Image volume id + SourceVolume *string `pulumi:"sourceVolume"` + // The status of this image + Status *string `pulumi:"status"` + // Tags for the image + Tags []string `pulumi:"tags"` + // Whether the image is publicly visible or private to the account + Visibility *string `pulumi:"visibility"` +} + +type IsImageDeprecateState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The SHA256 checksum of this image + Checksum pulumi.StringPtrInput + // The date and time that the image was created + CreatedAt pulumi.StringPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt pulumi.StringPtrInput + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey pulumi.StringPtrInput + // The type of encryption used on the image + Encryption pulumi.StringPtrInput + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey pulumi.StringPtrInput + // Details for the stored image file + File pulumi.IntPtrInput + // Image Href value + Href pulumi.StringPtrInput + // Image identifier + Image pulumi.StringPtrInput + // Image name + Name pulumi.StringPtrInput + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt pulumi.StringPtrInput + // Image Operating system + OperatingSystem pulumi.StringPtrInput + // The resource group for this image + ResourceGroup pulumi.StringPtrInput + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size pulumi.IntPtrInput + // Image volume id + SourceVolume pulumi.StringPtrInput + // The status of this image + Status pulumi.StringPtrInput + // Tags for the image + Tags pulumi.StringArrayInput + // Whether the image is publicly visible or private to the account + Visibility pulumi.StringPtrInput +} + +func (IsImageDeprecateState) ElementType() reflect.Type { + return reflect.TypeOf((*isImageDeprecateState)(nil)).Elem() +} + +type isImageDeprecateArgs struct { + // Image identifier + Image string `pulumi:"image"` +} + +// The set of arguments for constructing a IsImageDeprecate resource. +type IsImageDeprecateArgs struct { + // Image identifier + Image pulumi.StringInput +} + +func (IsImageDeprecateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isImageDeprecateArgs)(nil)).Elem() +} + +type IsImageDeprecateInput interface { + pulumi.Input + + ToIsImageDeprecateOutput() IsImageDeprecateOutput + ToIsImageDeprecateOutputWithContext(ctx context.Context) IsImageDeprecateOutput +} + +func (*IsImageDeprecate) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageDeprecate)(nil)).Elem() +} + +func (i *IsImageDeprecate) ToIsImageDeprecateOutput() IsImageDeprecateOutput { + return i.ToIsImageDeprecateOutputWithContext(context.Background()) +} + +func (i *IsImageDeprecate) ToIsImageDeprecateOutputWithContext(ctx context.Context) IsImageDeprecateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageDeprecateOutput) +} + +type IsImageDeprecateOutput struct{ *pulumi.OutputState } + +func (IsImageDeprecateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageDeprecate)(nil)).Elem() +} + +func (o IsImageDeprecateOutput) ToIsImageDeprecateOutput() IsImageDeprecateOutput { + return o +} + +func (o IsImageDeprecateOutput) ToIsImageDeprecateOutputWithContext(ctx context.Context) IsImageDeprecateOutput { + return o +} + +// List of access management tags +func (o IsImageDeprecateOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The SHA256 checksum of this image +func (o IsImageDeprecateOutput) Checksum() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.Checksum }).(pulumi.StringOutput) +} + +// The date and time that the image was created +func (o IsImageDeprecateOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsImageDeprecateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. +func (o IsImageDeprecateOutput) DeprecationAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.DeprecationAt }).(pulumi.StringOutput) +} + +// A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image +func (o IsImageDeprecateOutput) EncryptedDataKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.EncryptedDataKey }).(pulumi.StringOutput) +} + +// The type of encryption used on the image +func (o IsImageDeprecateOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.Encryption }).(pulumi.StringOutput) +} + +// The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource +func (o IsImageDeprecateOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// Details for the stored image file +func (o IsImageDeprecateOutput) File() pulumi.IntOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.IntOutput { return v.File }).(pulumi.IntOutput) +} + +// Image Href value +func (o IsImageDeprecateOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Image identifier +func (o IsImageDeprecateOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.Image }).(pulumi.StringOutput) +} + +// Image name +func (o IsImageDeprecateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. +func (o IsImageDeprecateOutput) ObsolescenceAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.ObsolescenceAt }).(pulumi.StringOutput) +} + +// Image Operating system +func (o IsImageDeprecateOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.OperatingSystem }).(pulumi.StringOutput) +} + +// The resource group for this image +func (o IsImageDeprecateOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The minimum size (in gigabytes) of a volume onto which this image may be provisioned +func (o IsImageDeprecateOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.IntOutput { return v.Size }).(pulumi.IntOutput) +} + +// Image volume id +func (o IsImageDeprecateOutput) SourceVolume() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.SourceVolume }).(pulumi.StringOutput) +} + +// The status of this image +func (o IsImageDeprecateOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Tags for the image +func (o IsImageDeprecateOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Whether the image is publicly visible or private to the account +func (o IsImageDeprecateOutput) Visibility() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageDeprecate) pulumi.StringOutput { return v.Visibility }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsImageDeprecateInput)(nil)).Elem(), &IsImageDeprecate{}) + pulumi.RegisterOutputType(IsImageDeprecateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageExportJob.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageExportJob.go new file mode 100644 index 000000000..20814a9b5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageExportJob.go @@ -0,0 +1,293 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsImageExportJob struct { + pulumi.CustomResourceState + + // The date and time that the image export job was completed.If absent, the export job has not yet completed. + CompletedAt pulumi.StringOutput `pulumi:"completedAt"` + // The date and time that the image export job was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for the exported image. This key can be unwrapped with the image's `encryptionKey` root key using either Key Protect or Hyper Protect Crypto Service.If absent, the export job is for an unencrypted image. + EncryptedDataKey pulumi.StringOutput `pulumi:"encryptedDataKey"` + // The format to use for the exported image. If the image is encrypted, only `qcow2` is supported. + Format pulumi.StringPtrOutput `pulumi:"format"` + // The URL for this image export job. + Href pulumi.StringOutput `pulumi:"href"` + // The image identifier. + Image pulumi.StringOutput `pulumi:"image"` + // The unique identifier for this image export job. + ImageExportJob pulumi.StringOutput `pulumi:"imageExportJob"` + // The user-defined name for this image export job. Names must be unique within the image this export job resides in. If unspecified, the name will be a hyphenated list of randomly-selected words prefixed with the first 16 characters of the parent image name.The exported image object name in Cloud Object Storage (`storage_object.name` in the response) will be based on this name. The object name will be unique within the bucket. + Name pulumi.StringOutput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The date and time that the image export job started running.If absent, the export job has not yet started. + StartedAt pulumi.StringOutput `pulumi:"startedAt"` + // The status of this image export job:- `deleting`: Export job is being deleted- `failed`: Export job could not be completed successfully- `queued`: Export job is queued- `running`: Export job is in progress- `succeeded`: Export job was completed successfullyThe exported image object is automatically deleted for `failed` jobs. + Status pulumi.StringOutput `pulumi:"status"` + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons IsImageExportJobStatusReasonArrayOutput `pulumi:"statusReasons"` + // The name of the Cloud Object Storage bucket to export the image to. + StorageBucket IsImageExportJobStorageBucketOutput `pulumi:"storageBucket"` + // The Cloud Object Storage location of the exported image object. The object at this location may not exist until the job is started, and will be incomplete while the job is running.After the job completes, the exported image object is not managed by the IBM VPC service, and may be removed or replaced with a different object by any user or service with IAM authorization to the bucket. + StorageHref pulumi.StringOutput `pulumi:"storageHref"` + // The Cloud Object Storage object for the exported image. This object may not exist untilthe job is started, and will not be complete until the job completes. + StorageObjects IsImageExportJobStorageObjectArrayOutput `pulumi:"storageObjects"` +} + +// NewIsImageExportJob registers a new resource with the given unique name, arguments, and options. +func NewIsImageExportJob(ctx *pulumi.Context, + name string, args *IsImageExportJobArgs, opts ...pulumi.ResourceOption) (*IsImageExportJob, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Image == nil { + return nil, errors.New("invalid value for required argument 'Image'") + } + if args.StorageBucket == nil { + return nil, errors.New("invalid value for required argument 'StorageBucket'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsImageExportJob + err := ctx.RegisterResource("ibmcloud:index/isImageExportJob:IsImageExportJob", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsImageExportJob gets an existing IsImageExportJob resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsImageExportJob(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsImageExportJobState, opts ...pulumi.ResourceOption) (*IsImageExportJob, error) { + var resource IsImageExportJob + err := ctx.ReadResource("ibmcloud:index/isImageExportJob:IsImageExportJob", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsImageExportJob resources. +type isImageExportJobState struct { + // The date and time that the image export job was completed.If absent, the export job has not yet completed. + CompletedAt *string `pulumi:"completedAt"` + // The date and time that the image export job was created. + CreatedAt *string `pulumi:"createdAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for the exported image. This key can be unwrapped with the image's `encryptionKey` root key using either Key Protect or Hyper Protect Crypto Service.If absent, the export job is for an unencrypted image. + EncryptedDataKey *string `pulumi:"encryptedDataKey"` + // The format to use for the exported image. If the image is encrypted, only `qcow2` is supported. + Format *string `pulumi:"format"` + // The URL for this image export job. + Href *string `pulumi:"href"` + // The image identifier. + Image *string `pulumi:"image"` + // The unique identifier for this image export job. + ImageExportJob *string `pulumi:"imageExportJob"` + // The user-defined name for this image export job. Names must be unique within the image this export job resides in. If unspecified, the name will be a hyphenated list of randomly-selected words prefixed with the first 16 characters of the parent image name.The exported image object name in Cloud Object Storage (`storage_object.name` in the response) will be based on this name. The object name will be unique within the bucket. + Name *string `pulumi:"name"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` + // The date and time that the image export job started running.If absent, the export job has not yet started. + StartedAt *string `pulumi:"startedAt"` + // The status of this image export job:- `deleting`: Export job is being deleted- `failed`: Export job could not be completed successfully- `queued`: Export job is queued- `running`: Export job is in progress- `succeeded`: Export job was completed successfullyThe exported image object is automatically deleted for `failed` jobs. + Status *string `pulumi:"status"` + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons []IsImageExportJobStatusReason `pulumi:"statusReasons"` + // The name of the Cloud Object Storage bucket to export the image to. + StorageBucket *IsImageExportJobStorageBucket `pulumi:"storageBucket"` + // The Cloud Object Storage location of the exported image object. The object at this location may not exist until the job is started, and will be incomplete while the job is running.After the job completes, the exported image object is not managed by the IBM VPC service, and may be removed or replaced with a different object by any user or service with IAM authorization to the bucket. + StorageHref *string `pulumi:"storageHref"` + // The Cloud Object Storage object for the exported image. This object may not exist untilthe job is started, and will not be complete until the job completes. + StorageObjects []IsImageExportJobStorageObject `pulumi:"storageObjects"` +} + +type IsImageExportJobState struct { + // The date and time that the image export job was completed.If absent, the export job has not yet completed. + CompletedAt pulumi.StringPtrInput + // The date and time that the image export job was created. + CreatedAt pulumi.StringPtrInput + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for the exported image. This key can be unwrapped with the image's `encryptionKey` root key using either Key Protect or Hyper Protect Crypto Service.If absent, the export job is for an unencrypted image. + EncryptedDataKey pulumi.StringPtrInput + // The format to use for the exported image. If the image is encrypted, only `qcow2` is supported. + Format pulumi.StringPtrInput + // The URL for this image export job. + Href pulumi.StringPtrInput + // The image identifier. + Image pulumi.StringPtrInput + // The unique identifier for this image export job. + ImageExportJob pulumi.StringPtrInput + // The user-defined name for this image export job. Names must be unique within the image this export job resides in. If unspecified, the name will be a hyphenated list of randomly-selected words prefixed with the first 16 characters of the parent image name.The exported image object name in Cloud Object Storage (`storage_object.name` in the response) will be based on this name. The object name will be unique within the bucket. + Name pulumi.StringPtrInput + // The type of resource referenced. + ResourceType pulumi.StringPtrInput + // The date and time that the image export job started running.If absent, the export job has not yet started. + StartedAt pulumi.StringPtrInput + // The status of this image export job:- `deleting`: Export job is being deleted- `failed`: Export job could not be completed successfully- `queued`: Export job is queued- `running`: Export job is in progress- `succeeded`: Export job was completed successfullyThe exported image object is automatically deleted for `failed` jobs. + Status pulumi.StringPtrInput + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons IsImageExportJobStatusReasonArrayInput + // The name of the Cloud Object Storage bucket to export the image to. + StorageBucket IsImageExportJobStorageBucketPtrInput + // The Cloud Object Storage location of the exported image object. The object at this location may not exist until the job is started, and will be incomplete while the job is running.After the job completes, the exported image object is not managed by the IBM VPC service, and may be removed or replaced with a different object by any user or service with IAM authorization to the bucket. + StorageHref pulumi.StringPtrInput + // The Cloud Object Storage object for the exported image. This object may not exist untilthe job is started, and will not be complete until the job completes. + StorageObjects IsImageExportJobStorageObjectArrayInput +} + +func (IsImageExportJobState) ElementType() reflect.Type { + return reflect.TypeOf((*isImageExportJobState)(nil)).Elem() +} + +type isImageExportJobArgs struct { + // The format to use for the exported image. If the image is encrypted, only `qcow2` is supported. + Format *string `pulumi:"format"` + // The image identifier. + Image string `pulumi:"image"` + // The user-defined name for this image export job. Names must be unique within the image this export job resides in. If unspecified, the name will be a hyphenated list of randomly-selected words prefixed with the first 16 characters of the parent image name.The exported image object name in Cloud Object Storage (`storage_object.name` in the response) will be based on this name. The object name will be unique within the bucket. + Name *string `pulumi:"name"` + // The name of the Cloud Object Storage bucket to export the image to. + StorageBucket IsImageExportJobStorageBucket `pulumi:"storageBucket"` +} + +// The set of arguments for constructing a IsImageExportJob resource. +type IsImageExportJobArgs struct { + // The format to use for the exported image. If the image is encrypted, only `qcow2` is supported. + Format pulumi.StringPtrInput + // The image identifier. + Image pulumi.StringInput + // The user-defined name for this image export job. Names must be unique within the image this export job resides in. If unspecified, the name will be a hyphenated list of randomly-selected words prefixed with the first 16 characters of the parent image name.The exported image object name in Cloud Object Storage (`storage_object.name` in the response) will be based on this name. The object name will be unique within the bucket. + Name pulumi.StringPtrInput + // The name of the Cloud Object Storage bucket to export the image to. + StorageBucket IsImageExportJobStorageBucketInput +} + +func (IsImageExportJobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isImageExportJobArgs)(nil)).Elem() +} + +type IsImageExportJobInput interface { + pulumi.Input + + ToIsImageExportJobOutput() IsImageExportJobOutput + ToIsImageExportJobOutputWithContext(ctx context.Context) IsImageExportJobOutput +} + +func (*IsImageExportJob) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageExportJob)(nil)).Elem() +} + +func (i *IsImageExportJob) ToIsImageExportJobOutput() IsImageExportJobOutput { + return i.ToIsImageExportJobOutputWithContext(context.Background()) +} + +func (i *IsImageExportJob) ToIsImageExportJobOutputWithContext(ctx context.Context) IsImageExportJobOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageExportJobOutput) +} + +type IsImageExportJobOutput struct{ *pulumi.OutputState } + +func (IsImageExportJobOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageExportJob)(nil)).Elem() +} + +func (o IsImageExportJobOutput) ToIsImageExportJobOutput() IsImageExportJobOutput { + return o +} + +func (o IsImageExportJobOutput) ToIsImageExportJobOutputWithContext(ctx context.Context) IsImageExportJobOutput { + return o +} + +// The date and time that the image export job was completed.If absent, the export job has not yet completed. +func (o IsImageExportJobOutput) CompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.CompletedAt }).(pulumi.StringOutput) +} + +// The date and time that the image export job was created. +func (o IsImageExportJobOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// A base64-encoded, encrypted representation of the key that was used to encrypt the data for the exported image. This key can be unwrapped with the image's `encryptionKey` root key using either Key Protect or Hyper Protect Crypto Service.If absent, the export job is for an unencrypted image. +func (o IsImageExportJobOutput) EncryptedDataKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.EncryptedDataKey }).(pulumi.StringOutput) +} + +// The format to use for the exported image. If the image is encrypted, only `qcow2` is supported. +func (o IsImageExportJobOutput) Format() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringPtrOutput { return v.Format }).(pulumi.StringPtrOutput) +} + +// The URL for this image export job. +func (o IsImageExportJobOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The image identifier. +func (o IsImageExportJobOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.Image }).(pulumi.StringOutput) +} + +// The unique identifier for this image export job. +func (o IsImageExportJobOutput) ImageExportJob() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.ImageExportJob }).(pulumi.StringOutput) +} + +// The user-defined name for this image export job. Names must be unique within the image this export job resides in. If unspecified, the name will be a hyphenated list of randomly-selected words prefixed with the first 16 characters of the parent image name.The exported image object name in Cloud Object Storage (`storage_object.name` in the response) will be based on this name. The object name will be unique within the bucket. +func (o IsImageExportJobOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o IsImageExportJobOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The date and time that the image export job started running.If absent, the export job has not yet started. +func (o IsImageExportJobOutput) StartedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.StartedAt }).(pulumi.StringOutput) +} + +// The status of this image export job:- `deleting`: Export job is being deleted- `failed`: Export job could not be completed successfully- `queued`: Export job is queued- `running`: Export job is in progress- `succeeded`: Export job was completed successfullyThe exported image object is automatically deleted for `failed` jobs. +func (o IsImageExportJobOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o IsImageExportJobOutput) StatusReasons() IsImageExportJobStatusReasonArrayOutput { + return o.ApplyT(func(v *IsImageExportJob) IsImageExportJobStatusReasonArrayOutput { return v.StatusReasons }).(IsImageExportJobStatusReasonArrayOutput) +} + +// The name of the Cloud Object Storage bucket to export the image to. +func (o IsImageExportJobOutput) StorageBucket() IsImageExportJobStorageBucketOutput { + return o.ApplyT(func(v *IsImageExportJob) IsImageExportJobStorageBucketOutput { return v.StorageBucket }).(IsImageExportJobStorageBucketOutput) +} + +// The Cloud Object Storage location of the exported image object. The object at this location may not exist until the job is started, and will be incomplete while the job is running.After the job completes, the exported image object is not managed by the IBM VPC service, and may be removed or replaced with a different object by any user or service with IAM authorization to the bucket. +func (o IsImageExportJobOutput) StorageHref() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageExportJob) pulumi.StringOutput { return v.StorageHref }).(pulumi.StringOutput) +} + +// The Cloud Object Storage object for the exported image. This object may not exist untilthe job is started, and will not be complete until the job completes. +func (o IsImageExportJobOutput) StorageObjects() IsImageExportJobStorageObjectArrayOutput { + return o.ApplyT(func(v *IsImageExportJob) IsImageExportJobStorageObjectArrayOutput { return v.StorageObjects }).(IsImageExportJobStorageObjectArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsImageExportJobInput)(nil)).Elem(), &IsImageExportJob{}) + pulumi.RegisterOutputType(IsImageExportJobOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageObsolete.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageObsolete.go new file mode 100644 index 000000000..8dcd6aaf3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isImageObsolete.go @@ -0,0 +1,333 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsImageObsolete struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The SHA256 checksum of this image + Checksum pulumi.StringOutput `pulumi:"checksum"` + // The date and time that the image was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt pulumi.StringOutput `pulumi:"deprecationAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey pulumi.StringOutput `pulumi:"encryptedDataKey"` + // The type of encryption used on the image + Encryption pulumi.StringOutput `pulumi:"encryption"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey pulumi.StringOutput `pulumi:"encryptionKey"` + // Details for the stored image file + File pulumi.IntOutput `pulumi:"file"` + // Image Href value + Href pulumi.StringOutput `pulumi:"href"` + // Image identifier + Image pulumi.StringOutput `pulumi:"image"` + // Image name + Name pulumi.StringOutput `pulumi:"name"` + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt pulumi.StringOutput `pulumi:"obsolescenceAt"` + // Image Operating system + OperatingSystem pulumi.StringOutput `pulumi:"operatingSystem"` + // The resource group for this image + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size pulumi.IntOutput `pulumi:"size"` + // Image volume id + SourceVolume pulumi.StringOutput `pulumi:"sourceVolume"` + // The status of this image + Status pulumi.StringOutput `pulumi:"status"` + // Tags for the image + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Whether the image is publicly visible or private to the account + Visibility pulumi.StringOutput `pulumi:"visibility"` +} + +// NewIsImageObsolete registers a new resource with the given unique name, arguments, and options. +func NewIsImageObsolete(ctx *pulumi.Context, + name string, args *IsImageObsoleteArgs, opts ...pulumi.ResourceOption) (*IsImageObsolete, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Image == nil { + return nil, errors.New("invalid value for required argument 'Image'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsImageObsolete + err := ctx.RegisterResource("ibmcloud:index/isImageObsolete:IsImageObsolete", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsImageObsolete gets an existing IsImageObsolete resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsImageObsolete(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsImageObsoleteState, opts ...pulumi.ResourceOption) (*IsImageObsolete, error) { + var resource IsImageObsolete + err := ctx.ReadResource("ibmcloud:index/isImageObsolete:IsImageObsolete", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsImageObsolete resources. +type isImageObsoleteState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The SHA256 checksum of this image + Checksum *string `pulumi:"checksum"` + // The date and time that the image was created + CreatedAt *string `pulumi:"createdAt"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt *string `pulumi:"deprecationAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey *string `pulumi:"encryptedDataKey"` + // The type of encryption used on the image + Encryption *string `pulumi:"encryption"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey *string `pulumi:"encryptionKey"` + // Details for the stored image file + File *int `pulumi:"file"` + // Image Href value + Href *string `pulumi:"href"` + // Image identifier + Image *string `pulumi:"image"` + // Image name + Name *string `pulumi:"name"` + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt *string `pulumi:"obsolescenceAt"` + // Image Operating system + OperatingSystem *string `pulumi:"operatingSystem"` + // The resource group for this image + ResourceGroup *string `pulumi:"resourceGroup"` + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size *int `pulumi:"size"` + // Image volume id + SourceVolume *string `pulumi:"sourceVolume"` + // The status of this image + Status *string `pulumi:"status"` + // Tags for the image + Tags []string `pulumi:"tags"` + // Whether the image is publicly visible or private to the account + Visibility *string `pulumi:"visibility"` +} + +type IsImageObsoleteState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The SHA256 checksum of this image + Checksum pulumi.StringPtrInput + // The date and time that the image was created + CreatedAt pulumi.StringPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + // The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. + DeprecationAt pulumi.StringPtrInput + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image + EncryptedDataKey pulumi.StringPtrInput + // The type of encryption used on the image + Encryption pulumi.StringPtrInput + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey pulumi.StringPtrInput + // Details for the stored image file + File pulumi.IntPtrInput + // Image Href value + Href pulumi.StringPtrInput + // Image identifier + Image pulumi.StringPtrInput + // Image name + Name pulumi.StringPtrInput + // The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. + ObsolescenceAt pulumi.StringPtrInput + // Image Operating system + OperatingSystem pulumi.StringPtrInput + // The resource group for this image + ResourceGroup pulumi.StringPtrInput + // The minimum size (in gigabytes) of a volume onto which this image may be provisioned + Size pulumi.IntPtrInput + // Image volume id + SourceVolume pulumi.StringPtrInput + // The status of this image + Status pulumi.StringPtrInput + // Tags for the image + Tags pulumi.StringArrayInput + // Whether the image is publicly visible or private to the account + Visibility pulumi.StringPtrInput +} + +func (IsImageObsoleteState) ElementType() reflect.Type { + return reflect.TypeOf((*isImageObsoleteState)(nil)).Elem() +} + +type isImageObsoleteArgs struct { + // Image identifier + Image string `pulumi:"image"` +} + +// The set of arguments for constructing a IsImageObsolete resource. +type IsImageObsoleteArgs struct { + // Image identifier + Image pulumi.StringInput +} + +func (IsImageObsoleteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isImageObsoleteArgs)(nil)).Elem() +} + +type IsImageObsoleteInput interface { + pulumi.Input + + ToIsImageObsoleteOutput() IsImageObsoleteOutput + ToIsImageObsoleteOutputWithContext(ctx context.Context) IsImageObsoleteOutput +} + +func (*IsImageObsolete) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageObsolete)(nil)).Elem() +} + +func (i *IsImageObsolete) ToIsImageObsoleteOutput() IsImageObsoleteOutput { + return i.ToIsImageObsoleteOutputWithContext(context.Background()) +} + +func (i *IsImageObsolete) ToIsImageObsoleteOutputWithContext(ctx context.Context) IsImageObsoleteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageObsoleteOutput) +} + +type IsImageObsoleteOutput struct{ *pulumi.OutputState } + +func (IsImageObsoleteOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageObsolete)(nil)).Elem() +} + +func (o IsImageObsoleteOutput) ToIsImageObsoleteOutput() IsImageObsoleteOutput { + return o +} + +func (o IsImageObsoleteOutput) ToIsImageObsoleteOutputWithContext(ctx context.Context) IsImageObsoleteOutput { + return o +} + +// List of access management tags +func (o IsImageObsoleteOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The SHA256 checksum of this image +func (o IsImageObsoleteOutput) Checksum() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.Checksum }).(pulumi.StringOutput) +} + +// The date and time that the image was created +func (o IsImageObsoleteOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsImageObsoleteOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The deprecation date and time (UTC) for this image. If absent, no deprecation date and time has been set. +func (o IsImageObsoleteOutput) DeprecationAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.DeprecationAt }).(pulumi.StringOutput) +} + +// A base64-encoded, encrypted representation of the key that was used to encrypt the data for this image +func (o IsImageObsoleteOutput) EncryptedDataKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.EncryptedDataKey }).(pulumi.StringOutput) +} + +// The type of encryption used on the image +func (o IsImageObsoleteOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.Encryption }).(pulumi.StringOutput) +} + +// The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource +func (o IsImageObsoleteOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// Details for the stored image file +func (o IsImageObsoleteOutput) File() pulumi.IntOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.IntOutput { return v.File }).(pulumi.IntOutput) +} + +// Image Href value +func (o IsImageObsoleteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Image identifier +func (o IsImageObsoleteOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.Image }).(pulumi.StringOutput) +} + +// Image name +func (o IsImageObsoleteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The obsolescence date and time (UTC) for this image. If absent, no obsolescence date and time has been set. +func (o IsImageObsoleteOutput) ObsolescenceAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.ObsolescenceAt }).(pulumi.StringOutput) +} + +// Image Operating system +func (o IsImageObsoleteOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.OperatingSystem }).(pulumi.StringOutput) +} + +// The resource group for this image +func (o IsImageObsoleteOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The minimum size (in gigabytes) of a volume onto which this image may be provisioned +func (o IsImageObsoleteOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.IntOutput { return v.Size }).(pulumi.IntOutput) +} + +// Image volume id +func (o IsImageObsoleteOutput) SourceVolume() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.SourceVolume }).(pulumi.StringOutput) +} + +// The status of this image +func (o IsImageObsoleteOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Tags for the image +func (o IsImageObsoleteOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Whether the image is publicly visible or private to the account +func (o IsImageObsoleteOutput) Visibility() pulumi.StringOutput { + return o.ApplyT(func(v *IsImageObsolete) pulumi.StringOutput { return v.Visibility }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsImageObsoleteInput)(nil)).Elem(), &IsImageObsolete{}) + pulumi.RegisterOutputType(IsImageObsoleteOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstance.go new file mode 100644 index 000000000..e8b39421f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstance.go @@ -0,0 +1,910 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstance struct { + pulumi.CustomResourceState + + // list of access tags for the instance + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // Enables stopping of instance before deleting and waits till deletion is complete + Action pulumi.StringPtrOutput `pulumi:"action"` + // Auto delete volume along with instance + AutoDeleteVolume pulumi.BoolPtrOutput `pulumi:"autoDeleteVolume"` + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure pulumi.StringOutput `pulumi:"availabilityPolicyHostFailure"` + // The total bandwidth (in megabits per second) shared across the instance's network interfaces and storage volumes + Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` + BootVolume IsInstanceBootVolumeOutput `pulumi:"bootVolume"` + // The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering IsInstanceCatalogOfferingPtrOutput `pulumi:"catalogOffering"` + // The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. + ClusterNetworkAttachments IsInstanceClusterNetworkAttachmentTypeArrayOutput `pulumi:"clusterNetworkAttachments"` + // If present, the cluster network that this virtual server instance resides in. + ClusterNetworks IsInstanceClusterNetworkArrayOutput `pulumi:"clusterNetworks"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode pulumi.StringOutput `pulumi:"confidentialComputeMode"` + // Crn for this Instance + Crn pulumi.StringOutput `pulumi:"crn"` + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost pulumi.StringPtrOutput `pulumi:"dedicatedHost"` + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup pulumi.StringPtrOutput `pulumi:"dedicatedHostGroup"` + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink pulumi.BoolOutput `pulumi:"defaultTrustedProfileAutoLink"` + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget pulumi.StringPtrOutput `pulumi:"defaultTrustedProfileTarget"` + // Collection of the instance's disks. + Disks IsInstanceDiskArrayOutput `pulumi:"disks"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot pulumi.BoolOutput `pulumi:"enableSecureBoot"` + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction pulumi.BoolPtrOutput `pulumi:"forceAction"` + // Define timeout to force the instances to start/stop in minutes. + ForceRecoveryTime pulumi.IntPtrOutput `pulumi:"forceRecoveryTime"` + // The virtual server instance GPU configuration + Gpus IsInstanceGpusArrayOutput `pulumi:"gpus"` + // The reasons for the current healthState (if any). + HealthReasons IsInstanceHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource + HealthState pulumi.StringOutput `pulumi:"healthState"` + // image id + Image pulumi.StringOutput `pulumi:"image"` + // Id of the instance template + InstanceTemplate pulumi.StringPtrOutput `pulumi:"instanceTemplate"` + // SSH key Ids for the instance + Keys pulumi.StringArrayOutput `pulumi:"keys"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsInstanceLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the virtual server instance. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // Instance memory + Memory pulumi.IntOutput `pulumi:"memory"` + // The metadata service configuration + MetadataService IsInstanceMetadataServiceOutput `pulumi:"metadataService"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled pulumi.BoolOutput `pulumi:"metadataServiceEnabled"` + // Instance name + Name pulumi.StringOutput `pulumi:"name"` + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments IsInstanceNetworkAttachmentTypeArrayOutput `pulumi:"networkAttachments"` + NetworkInterfaces IsInstanceNetworkInterfaceTypeArrayOutput `pulumi:"networkInterfaces"` + // The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. + NumaCount pulumi.IntOutput `pulumi:"numaCount"` + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup pulumi.StringPtrOutput `pulumi:"placementGroup"` + // The placement restrictions for the virtual server instance. + PlacementTargets IsInstancePlacementTargetArrayOutput `pulumi:"placementTargets"` + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment IsInstancePrimaryNetworkAttachmentPtrOutput `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface IsInstancePrimaryNetworkInterfaceOutput `pulumi:"primaryNetworkInterface"` + // Profile info + Profile pulumi.StringOutput `pulumi:"profile"` + ReservationAffinities IsInstanceReservationAffinityArrayOutput `pulumi:"reservationAffinities"` + // The reservation used by this virtual server instance + Reservations IsInstanceReservationArrayOutput `pulumi:"reservations"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Instance resource group + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // instance status + Status pulumi.StringOutput `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons IsInstanceStatusReasonArrayOutput `pulumi:"statusReasons"` + // list of tags for the instance + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance network interfaces. + TotalNetworkBandwidth pulumi.IntOutput `pulumi:"totalNetworkBandwidth"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth pulumi.IntOutput `pulumi:"totalVolumeBandwidth"` + // User data given for the instance + UserData pulumi.StringPtrOutput `pulumi:"userData"` + Vcpus IsInstanceVcpusArrayOutput `pulumi:"vcpus"` + VolumeAttachments IsInstanceVolumeAttachmentTypeArrayOutput `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode pulumi.StringOutput `pulumi:"volumeBandwidthQosMode"` + VolumePrototypes IsInstanceVolumePrototypeArrayOutput `pulumi:"volumePrototypes"` + // List of volumes + Volumes pulumi.StringArrayOutput `pulumi:"volumes"` + // VPC id + Vpc pulumi.StringOutput `pulumi:"vpc"` + // Enables stopping of instance before deleting and waits till deletion is complete + WaitBeforeDelete pulumi.BoolPtrOutput `pulumi:"waitBeforeDelete"` + // Zone name + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsInstance registers a new resource with the given unique name, arguments, and options. +func NewIsInstance(ctx *pulumi.Context, + name string, args *IsInstanceArgs, opts ...pulumi.ResourceOption) (*IsInstance, error) { + if args == nil { + args = &IsInstanceArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstance + err := ctx.RegisterResource("ibmcloud:index/isInstance:IsInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstance gets an existing IsInstance resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceState, opts ...pulumi.ResourceOption) (*IsInstance, error) { + var resource IsInstance + err := ctx.ReadResource("ibmcloud:index/isInstance:IsInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstance resources. +type isInstanceState struct { + // list of access tags for the instance + AccessTags []string `pulumi:"accessTags"` + // Enables stopping of instance before deleting and waits till deletion is complete + Action *string `pulumi:"action"` + // Auto delete volume along with instance + AutoDeleteVolume *bool `pulumi:"autoDeleteVolume"` + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure *string `pulumi:"availabilityPolicyHostFailure"` + // The total bandwidth (in megabits per second) shared across the instance's network interfaces and storage volumes + Bandwidth *int `pulumi:"bandwidth"` + BootVolume *IsInstanceBootVolume `pulumi:"bootVolume"` + // The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering *IsInstanceCatalogOffering `pulumi:"catalogOffering"` + // The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. + ClusterNetworkAttachments []IsInstanceClusterNetworkAttachmentType `pulumi:"clusterNetworkAttachments"` + // If present, the cluster network that this virtual server instance resides in. + ClusterNetworks []IsInstanceClusterNetwork `pulumi:"clusterNetworks"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `pulumi:"confidentialComputeMode"` + // Crn for this Instance + Crn *string `pulumi:"crn"` + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost *string `pulumi:"dedicatedHost"` + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup *string `pulumi:"dedicatedHostGroup"` + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink *bool `pulumi:"defaultTrustedProfileAutoLink"` + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget *string `pulumi:"defaultTrustedProfileTarget"` + // Collection of the instance's disks. + Disks []IsInstanceDisk `pulumi:"disks"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `pulumi:"enableSecureBoot"` + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction *bool `pulumi:"forceAction"` + // Define timeout to force the instances to start/stop in minutes. + ForceRecoveryTime *int `pulumi:"forceRecoveryTime"` + // The virtual server instance GPU configuration + Gpus []IsInstanceGpus `pulumi:"gpus"` + // The reasons for the current healthState (if any). + HealthReasons []IsInstanceHealthReason `pulumi:"healthReasons"` + // The health of this resource + HealthState *string `pulumi:"healthState"` + // image id + Image *string `pulumi:"image"` + // Id of the instance template + InstanceTemplate *string `pulumi:"instanceTemplate"` + // SSH key Ids for the instance + Keys []string `pulumi:"keys"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []IsInstanceLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the virtual server instance. + LifecycleState *string `pulumi:"lifecycleState"` + // Instance memory + Memory *int `pulumi:"memory"` + // The metadata service configuration + MetadataService *IsInstanceMetadataService `pulumi:"metadataService"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled *bool `pulumi:"metadataServiceEnabled"` + // Instance name + Name *string `pulumi:"name"` + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments []IsInstanceNetworkAttachmentType `pulumi:"networkAttachments"` + NetworkInterfaces []IsInstanceNetworkInterfaceType `pulumi:"networkInterfaces"` + // The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. + NumaCount *int `pulumi:"numaCount"` + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup *string `pulumi:"placementGroup"` + // The placement restrictions for the virtual server instance. + PlacementTargets []IsInstancePlacementTarget `pulumi:"placementTargets"` + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment *IsInstancePrimaryNetworkAttachment `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface *IsInstancePrimaryNetworkInterface `pulumi:"primaryNetworkInterface"` + // Profile info + Profile *string `pulumi:"profile"` + ReservationAffinities []IsInstanceReservationAffinity `pulumi:"reservationAffinities"` + // The reservation used by this virtual server instance + Reservations []IsInstanceReservation `pulumi:"reservations"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Instance resource group + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // instance status + Status *string `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons []IsInstanceStatusReason `pulumi:"statusReasons"` + // list of tags for the instance + Tags []string `pulumi:"tags"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance network interfaces. + TotalNetworkBandwidth *int `pulumi:"totalNetworkBandwidth"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth *int `pulumi:"totalVolumeBandwidth"` + // User data given for the instance + UserData *string `pulumi:"userData"` + Vcpus []IsInstanceVcpus `pulumi:"vcpus"` + VolumeAttachments []IsInstanceVolumeAttachmentType `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode *string `pulumi:"volumeBandwidthQosMode"` + VolumePrototypes []IsInstanceVolumePrototype `pulumi:"volumePrototypes"` + // List of volumes + Volumes []string `pulumi:"volumes"` + // VPC id + Vpc *string `pulumi:"vpc"` + // Enables stopping of instance before deleting and waits till deletion is complete + WaitBeforeDelete *bool `pulumi:"waitBeforeDelete"` + // Zone name + Zone *string `pulumi:"zone"` +} + +type IsInstanceState struct { + // list of access tags for the instance + AccessTags pulumi.StringArrayInput + // Enables stopping of instance before deleting and waits till deletion is complete + Action pulumi.StringPtrInput + // Auto delete volume along with instance + AutoDeleteVolume pulumi.BoolPtrInput + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure pulumi.StringPtrInput + // The total bandwidth (in megabits per second) shared across the instance's network interfaces and storage volumes + Bandwidth pulumi.IntPtrInput + BootVolume IsInstanceBootVolumePtrInput + // The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering IsInstanceCatalogOfferingPtrInput + // The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. + ClusterNetworkAttachments IsInstanceClusterNetworkAttachmentTypeArrayInput + // If present, the cluster network that this virtual server instance resides in. + ClusterNetworks IsInstanceClusterNetworkArrayInput + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode pulumi.StringPtrInput + // Crn for this Instance + Crn pulumi.StringPtrInput + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost pulumi.StringPtrInput + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup pulumi.StringPtrInput + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink pulumi.BoolPtrInput + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget pulumi.StringPtrInput + // Collection of the instance's disks. + Disks IsInstanceDiskArrayInput + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot pulumi.BoolPtrInput + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction pulumi.BoolPtrInput + // Define timeout to force the instances to start/stop in minutes. + ForceRecoveryTime pulumi.IntPtrInput + // The virtual server instance GPU configuration + Gpus IsInstanceGpusArrayInput + // The reasons for the current healthState (if any). + HealthReasons IsInstanceHealthReasonArrayInput + // The health of this resource + HealthState pulumi.StringPtrInput + // image id + Image pulumi.StringPtrInput + // Id of the instance template + InstanceTemplate pulumi.StringPtrInput + // SSH key Ids for the instance + Keys pulumi.StringArrayInput + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsInstanceLifecycleReasonArrayInput + // The lifecycle state of the virtual server instance. + LifecycleState pulumi.StringPtrInput + // Instance memory + Memory pulumi.IntPtrInput + // The metadata service configuration + MetadataService IsInstanceMetadataServicePtrInput + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled pulumi.BoolPtrInput + // Instance name + Name pulumi.StringPtrInput + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments IsInstanceNetworkAttachmentTypeArrayInput + NetworkInterfaces IsInstanceNetworkInterfaceTypeArrayInput + // The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. + NumaCount pulumi.IntPtrInput + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup pulumi.StringPtrInput + // The placement restrictions for the virtual server instance. + PlacementTargets IsInstancePlacementTargetArrayInput + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment IsInstancePrimaryNetworkAttachmentPtrInput + // Primary Network interface info + PrimaryNetworkInterface IsInstancePrimaryNetworkInterfacePtrInput + // Profile info + Profile pulumi.StringPtrInput + ReservationAffinities IsInstanceReservationAffinityArrayInput + // The reservation used by this virtual server instance + Reservations IsInstanceReservationArrayInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Instance resource group + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // instance status + Status pulumi.StringPtrInput + // The reasons for the current status (if any). + StatusReasons IsInstanceStatusReasonArrayInput + // list of tags for the instance + Tags pulumi.StringArrayInput + // The amount of bandwidth (in megabits per second) allocated exclusively to instance network interfaces. + TotalNetworkBandwidth pulumi.IntPtrInput + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth pulumi.IntPtrInput + // User data given for the instance + UserData pulumi.StringPtrInput + Vcpus IsInstanceVcpusArrayInput + VolumeAttachments IsInstanceVolumeAttachmentTypeArrayInput + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode pulumi.StringPtrInput + VolumePrototypes IsInstanceVolumePrototypeArrayInput + // List of volumes + Volumes pulumi.StringArrayInput + // VPC id + Vpc pulumi.StringPtrInput + // Enables stopping of instance before deleting and waits till deletion is complete + WaitBeforeDelete pulumi.BoolPtrInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceState)(nil)).Elem() +} + +type isInstanceArgs struct { + // list of access tags for the instance + AccessTags []string `pulumi:"accessTags"` + // Enables stopping of instance before deleting and waits till deletion is complete + Action *string `pulumi:"action"` + // Auto delete volume along with instance + AutoDeleteVolume *bool `pulumi:"autoDeleteVolume"` + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure *string `pulumi:"availabilityPolicyHostFailure"` + BootVolume *IsInstanceBootVolume `pulumi:"bootVolume"` + // The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering *IsInstanceCatalogOffering `pulumi:"catalogOffering"` + // The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. + ClusterNetworkAttachments []IsInstanceClusterNetworkAttachmentType `pulumi:"clusterNetworkAttachments"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `pulumi:"confidentialComputeMode"` + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost *string `pulumi:"dedicatedHost"` + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup *string `pulumi:"dedicatedHostGroup"` + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink *bool `pulumi:"defaultTrustedProfileAutoLink"` + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget *string `pulumi:"defaultTrustedProfileTarget"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `pulumi:"enableSecureBoot"` + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction *bool `pulumi:"forceAction"` + // Define timeout to force the instances to start/stop in minutes. + ForceRecoveryTime *int `pulumi:"forceRecoveryTime"` + // image id + Image *string `pulumi:"image"` + // Id of the instance template + InstanceTemplate *string `pulumi:"instanceTemplate"` + // SSH key Ids for the instance + Keys []string `pulumi:"keys"` + // The metadata service configuration + MetadataService *IsInstanceMetadataService `pulumi:"metadataService"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled *bool `pulumi:"metadataServiceEnabled"` + // Instance name + Name *string `pulumi:"name"` + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments []IsInstanceNetworkAttachmentType `pulumi:"networkAttachments"` + NetworkInterfaces []IsInstanceNetworkInterfaceType `pulumi:"networkInterfaces"` + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup *string `pulumi:"placementGroup"` + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment *IsInstancePrimaryNetworkAttachment `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface *IsInstancePrimaryNetworkInterface `pulumi:"primaryNetworkInterface"` + // Profile info + Profile *string `pulumi:"profile"` + ReservationAffinities []IsInstanceReservationAffinity `pulumi:"reservationAffinities"` + // Instance resource group + ResourceGroup *string `pulumi:"resourceGroup"` + // list of tags for the instance + Tags []string `pulumi:"tags"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth *int `pulumi:"totalVolumeBandwidth"` + // User data given for the instance + UserData *string `pulumi:"userData"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode *string `pulumi:"volumeBandwidthQosMode"` + VolumePrototypes []IsInstanceVolumePrototype `pulumi:"volumePrototypes"` + // List of volumes + Volumes []string `pulumi:"volumes"` + // VPC id + Vpc *string `pulumi:"vpc"` + // Enables stopping of instance before deleting and waits till deletion is complete + WaitBeforeDelete *bool `pulumi:"waitBeforeDelete"` + // Zone name + Zone *string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsInstance resource. +type IsInstanceArgs struct { + // list of access tags for the instance + AccessTags pulumi.StringArrayInput + // Enables stopping of instance before deleting and waits till deletion is complete + Action pulumi.StringPtrInput + // Auto delete volume along with instance + AutoDeleteVolume pulumi.BoolPtrInput + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure pulumi.StringPtrInput + BootVolume IsInstanceBootVolumePtrInput + // The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering IsInstanceCatalogOfferingPtrInput + // The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. + ClusterNetworkAttachments IsInstanceClusterNetworkAttachmentTypeArrayInput + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode pulumi.StringPtrInput + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost pulumi.StringPtrInput + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup pulumi.StringPtrInput + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink pulumi.BoolPtrInput + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget pulumi.StringPtrInput + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot pulumi.BoolPtrInput + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction pulumi.BoolPtrInput + // Define timeout to force the instances to start/stop in minutes. + ForceRecoveryTime pulumi.IntPtrInput + // image id + Image pulumi.StringPtrInput + // Id of the instance template + InstanceTemplate pulumi.StringPtrInput + // SSH key Ids for the instance + Keys pulumi.StringArrayInput + // The metadata service configuration + MetadataService IsInstanceMetadataServicePtrInput + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled pulumi.BoolPtrInput + // Instance name + Name pulumi.StringPtrInput + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments IsInstanceNetworkAttachmentTypeArrayInput + NetworkInterfaces IsInstanceNetworkInterfaceTypeArrayInput + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup pulumi.StringPtrInput + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment IsInstancePrimaryNetworkAttachmentPtrInput + // Primary Network interface info + PrimaryNetworkInterface IsInstancePrimaryNetworkInterfacePtrInput + // Profile info + Profile pulumi.StringPtrInput + ReservationAffinities IsInstanceReservationAffinityArrayInput + // Instance resource group + ResourceGroup pulumi.StringPtrInput + // list of tags for the instance + Tags pulumi.StringArrayInput + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth pulumi.IntPtrInput + // User data given for the instance + UserData pulumi.StringPtrInput + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode pulumi.StringPtrInput + VolumePrototypes IsInstanceVolumePrototypeArrayInput + // List of volumes + Volumes pulumi.StringArrayInput + // VPC id + Vpc pulumi.StringPtrInput + // Enables stopping of instance before deleting and waits till deletion is complete + WaitBeforeDelete pulumi.BoolPtrInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceArgs)(nil)).Elem() +} + +type IsInstanceInput interface { + pulumi.Input + + ToIsInstanceOutput() IsInstanceOutput + ToIsInstanceOutputWithContext(ctx context.Context) IsInstanceOutput +} + +func (*IsInstance) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstance)(nil)).Elem() +} + +func (i *IsInstance) ToIsInstanceOutput() IsInstanceOutput { + return i.ToIsInstanceOutputWithContext(context.Background()) +} + +func (i *IsInstance) ToIsInstanceOutputWithContext(ctx context.Context) IsInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceOutput) +} + +type IsInstanceOutput struct{ *pulumi.OutputState } + +func (IsInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstance)(nil)).Elem() +} + +func (o IsInstanceOutput) ToIsInstanceOutput() IsInstanceOutput { + return o +} + +func (o IsInstanceOutput) ToIsInstanceOutputWithContext(ctx context.Context) IsInstanceOutput { + return o +} + +// list of access tags for the instance +func (o IsInstanceOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Enables stopping of instance before deleting and waits till deletion is complete +func (o IsInstanceOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringPtrOutput { return v.Action }).(pulumi.StringPtrOutput) +} + +// Auto delete volume along with instance +func (o IsInstanceOutput) AutoDeleteVolume() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.BoolPtrOutput { return v.AutoDeleteVolume }).(pulumi.BoolPtrOutput) +} + +// The availability policy to use for this virtual server instance +func (o IsInstanceOutput) AvailabilityPolicyHostFailure() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.AvailabilityPolicyHostFailure }).(pulumi.StringOutput) +} + +// The total bandwidth (in megabits per second) shared across the instance's network interfaces and storage volumes +func (o IsInstanceOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstance) pulumi.IntOutput { return v.Bandwidth }).(pulumi.IntOutput) +} + +func (o IsInstanceOutput) BootVolume() IsInstanceBootVolumeOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceBootVolumeOutput { return v.BootVolume }).(IsInstanceBootVolumeOutput) +} + +// The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. +func (o IsInstanceOutput) CatalogOffering() IsInstanceCatalogOfferingPtrOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceCatalogOfferingPtrOutput { return v.CatalogOffering }).(IsInstanceCatalogOfferingPtrOutput) +} + +// The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. +func (o IsInstanceOutput) ClusterNetworkAttachments() IsInstanceClusterNetworkAttachmentTypeArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceClusterNetworkAttachmentTypeArrayOutput { + return v.ClusterNetworkAttachments + }).(IsInstanceClusterNetworkAttachmentTypeArrayOutput) +} + +// If present, the cluster network that this virtual server instance resides in. +func (o IsInstanceOutput) ClusterNetworks() IsInstanceClusterNetworkArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceClusterNetworkArrayOutput { return v.ClusterNetworks }).(IsInstanceClusterNetworkArrayOutput) +} + +// The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. +func (o IsInstanceOutput) ConfidentialComputeMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.ConfidentialComputeMode }).(pulumi.StringOutput) +} + +// Crn for this Instance +func (o IsInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Unique Identifier of the Dedicated Host where the instance will be placed +func (o IsInstanceOutput) DedicatedHost() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringPtrOutput { return v.DedicatedHost }).(pulumi.StringPtrOutput) +} + +// Unique Identifier of the Dedicated Host Group where the instance will be placed +func (o IsInstanceOutput) DedicatedHostGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringPtrOutput { return v.DedicatedHostGroup }).(pulumi.StringPtrOutput) +} + +// If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. +func (o IsInstanceOutput) DefaultTrustedProfileAutoLink() pulumi.BoolOutput { + return o.ApplyT(func(v *IsInstance) pulumi.BoolOutput { return v.DefaultTrustedProfileAutoLink }).(pulumi.BoolOutput) +} + +// The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. +func (o IsInstanceOutput) DefaultTrustedProfileTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringPtrOutput { return v.DefaultTrustedProfileTarget }).(pulumi.StringPtrOutput) +} + +// Collection of the instance's disks. +func (o IsInstanceOutput) Disks() IsInstanceDiskArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceDiskArrayOutput { return v.Disks }).(IsInstanceDiskArrayOutput) +} + +// Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. +func (o IsInstanceOutput) EnableSecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v *IsInstance) pulumi.BoolOutput { return v.EnableSecureBoot }).(pulumi.BoolOutput) +} + +// If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. +func (o IsInstanceOutput) ForceAction() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.BoolPtrOutput { return v.ForceAction }).(pulumi.BoolPtrOutput) +} + +// Define timeout to force the instances to start/stop in minutes. +func (o IsInstanceOutput) ForceRecoveryTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.IntPtrOutput { return v.ForceRecoveryTime }).(pulumi.IntPtrOutput) +} + +// The virtual server instance GPU configuration +func (o IsInstanceOutput) Gpus() IsInstanceGpusArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceGpusArrayOutput { return v.Gpus }).(IsInstanceGpusArrayOutput) +} + +// The reasons for the current healthState (if any). +func (o IsInstanceOutput) HealthReasons() IsInstanceHealthReasonArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceHealthReasonArrayOutput { return v.HealthReasons }).(IsInstanceHealthReasonArrayOutput) +} + +// The health of this resource +func (o IsInstanceOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// image id +func (o IsInstanceOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.Image }).(pulumi.StringOutput) +} + +// Id of the instance template +func (o IsInstanceOutput) InstanceTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringPtrOutput { return v.InstanceTemplate }).(pulumi.StringPtrOutput) +} + +// SSH key Ids for the instance +func (o IsInstanceOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringArrayOutput { return v.Keys }).(pulumi.StringArrayOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o IsInstanceOutput) LifecycleReasons() IsInstanceLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceLifecycleReasonArrayOutput { return v.LifecycleReasons }).(IsInstanceLifecycleReasonArrayOutput) +} + +// The lifecycle state of the virtual server instance. +func (o IsInstanceOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Instance memory +func (o IsInstanceOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstance) pulumi.IntOutput { return v.Memory }).(pulumi.IntOutput) +} + +// The metadata service configuration +func (o IsInstanceOutput) MetadataService() IsInstanceMetadataServiceOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceMetadataServiceOutput { return v.MetadataService }).(IsInstanceMetadataServiceOutput) +} + +// Indicates whether the metadata service endpoint is available to the virtual server instance +// +// Deprecated: Use metadataService instead +func (o IsInstanceOutput) MetadataServiceEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *IsInstance) pulumi.BoolOutput { return v.MetadataServiceEnabled }).(pulumi.BoolOutput) +} + +// Instance name +func (o IsInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The network attachments for this virtual server instance, including the primary network attachment. +func (o IsInstanceOutput) NetworkAttachments() IsInstanceNetworkAttachmentTypeArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceNetworkAttachmentTypeArrayOutput { return v.NetworkAttachments }).(IsInstanceNetworkAttachmentTypeArrayOutput) +} + +func (o IsInstanceOutput) NetworkInterfaces() IsInstanceNetworkInterfaceTypeArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceNetworkInterfaceTypeArrayOutput { return v.NetworkInterfaces }).(IsInstanceNetworkInterfaceTypeArrayOutput) +} + +// The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. +func (o IsInstanceOutput) NumaCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstance) pulumi.IntOutput { return v.NumaCount }).(pulumi.IntOutput) +} + +// Unique Identifier of the Placement Group for restricting the placement of the instance +func (o IsInstanceOutput) PlacementGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringPtrOutput { return v.PlacementGroup }).(pulumi.StringPtrOutput) +} + +// The placement restrictions for the virtual server instance. +func (o IsInstanceOutput) PlacementTargets() IsInstancePlacementTargetArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstancePlacementTargetArrayOutput { return v.PlacementTargets }).(IsInstancePlacementTargetArrayOutput) +} + +// The primary network attachment for this virtual server instance. +func (o IsInstanceOutput) PrimaryNetworkAttachment() IsInstancePrimaryNetworkAttachmentPtrOutput { + return o.ApplyT(func(v *IsInstance) IsInstancePrimaryNetworkAttachmentPtrOutput { return v.PrimaryNetworkAttachment }).(IsInstancePrimaryNetworkAttachmentPtrOutput) +} + +// Primary Network interface info +func (o IsInstanceOutput) PrimaryNetworkInterface() IsInstancePrimaryNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstance) IsInstancePrimaryNetworkInterfaceOutput { return v.PrimaryNetworkInterface }).(IsInstancePrimaryNetworkInterfaceOutput) +} + +// Profile info +func (o IsInstanceOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +func (o IsInstanceOutput) ReservationAffinities() IsInstanceReservationAffinityArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceReservationAffinityArrayOutput { return v.ReservationAffinities }).(IsInstanceReservationAffinityArrayOutput) +} + +// The reservation used by this virtual server instance +func (o IsInstanceOutput) Reservations() IsInstanceReservationArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceReservationArrayOutput { return v.Reservations }).(IsInstanceReservationArrayOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsInstanceOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsInstanceOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Instance resource group +func (o IsInstanceOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsInstanceOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsInstanceOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsInstanceOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// instance status +func (o IsInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any). +func (o IsInstanceOutput) StatusReasons() IsInstanceStatusReasonArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceStatusReasonArrayOutput { return v.StatusReasons }).(IsInstanceStatusReasonArrayOutput) +} + +// list of tags for the instance +func (o IsInstanceOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The amount of bandwidth (in megabits per second) allocated exclusively to instance network interfaces. +func (o IsInstanceOutput) TotalNetworkBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstance) pulumi.IntOutput { return v.TotalNetworkBandwidth }).(pulumi.IntOutput) +} + +// The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes +func (o IsInstanceOutput) TotalVolumeBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstance) pulumi.IntOutput { return v.TotalVolumeBandwidth }).(pulumi.IntOutput) +} + +// User data given for the instance +func (o IsInstanceOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringPtrOutput { return v.UserData }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceOutput) Vcpus() IsInstanceVcpusArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceVcpusArrayOutput { return v.Vcpus }).(IsInstanceVcpusArrayOutput) +} + +func (o IsInstanceOutput) VolumeAttachments() IsInstanceVolumeAttachmentTypeArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceVolumeAttachmentTypeArrayOutput { return v.VolumeAttachments }).(IsInstanceVolumeAttachmentTypeArrayOutput) +} + +// The volume bandwidth QoS mode for this virtual server instance. +func (o IsInstanceOutput) VolumeBandwidthQosMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.VolumeBandwidthQosMode }).(pulumi.StringOutput) +} + +func (o IsInstanceOutput) VolumePrototypes() IsInstanceVolumePrototypeArrayOutput { + return o.ApplyT(func(v *IsInstance) IsInstanceVolumePrototypeArrayOutput { return v.VolumePrototypes }).(IsInstanceVolumePrototypeArrayOutput) +} + +// List of volumes +func (o IsInstanceOutput) Volumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringArrayOutput { return v.Volumes }).(pulumi.StringArrayOutput) +} + +// VPC id +func (o IsInstanceOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// Enables stopping of instance before deleting and waits till deletion is complete +func (o IsInstanceOutput) WaitBeforeDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstance) pulumi.BoolPtrOutput { return v.WaitBeforeDelete }).(pulumi.BoolPtrOutput) +} + +// Zone name +func (o IsInstanceOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstance) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceInput)(nil)).Elem(), &IsInstance{}) + pulumi.RegisterOutputType(IsInstanceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceAction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceAction.go new file mode 100644 index 000000000..de4a9868d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceAction.go @@ -0,0 +1,175 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceAction struct { + pulumi.CustomResourceState + + // This restart/start/stops an instance. + Action pulumi.StringOutput `pulumi:"action"` + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction pulumi.BoolPtrOutput `pulumi:"forceAction"` + // Instance identifier + Instance pulumi.StringOutput `pulumi:"instance"` + // Instance status + Status pulumi.StringOutput `pulumi:"status"` + StatusReasons IsInstanceActionStatusReasonArrayOutput `pulumi:"statusReasons"` +} + +// NewIsInstanceAction registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceAction(ctx *pulumi.Context, + name string, args *IsInstanceActionArgs, opts ...pulumi.ResourceOption) (*IsInstanceAction, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Action == nil { + return nil, errors.New("invalid value for required argument 'Action'") + } + if args.Instance == nil { + return nil, errors.New("invalid value for required argument 'Instance'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceAction + err := ctx.RegisterResource("ibmcloud:index/isInstanceAction:IsInstanceAction", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceAction gets an existing IsInstanceAction resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceAction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceActionState, opts ...pulumi.ResourceOption) (*IsInstanceAction, error) { + var resource IsInstanceAction + err := ctx.ReadResource("ibmcloud:index/isInstanceAction:IsInstanceAction", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceAction resources. +type isInstanceActionState struct { + // This restart/start/stops an instance. + Action *string `pulumi:"action"` + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction *bool `pulumi:"forceAction"` + // Instance identifier + Instance *string `pulumi:"instance"` + // Instance status + Status *string `pulumi:"status"` + StatusReasons []IsInstanceActionStatusReason `pulumi:"statusReasons"` +} + +type IsInstanceActionState struct { + // This restart/start/stops an instance. + Action pulumi.StringPtrInput + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction pulumi.BoolPtrInput + // Instance identifier + Instance pulumi.StringPtrInput + // Instance status + Status pulumi.StringPtrInput + StatusReasons IsInstanceActionStatusReasonArrayInput +} + +func (IsInstanceActionState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceActionState)(nil)).Elem() +} + +type isInstanceActionArgs struct { + // This restart/start/stops an instance. + Action string `pulumi:"action"` + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction *bool `pulumi:"forceAction"` + // Instance identifier + Instance string `pulumi:"instance"` +} + +// The set of arguments for constructing a IsInstanceAction resource. +type IsInstanceActionArgs struct { + // This restart/start/stops an instance. + Action pulumi.StringInput + // If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. + ForceAction pulumi.BoolPtrInput + // Instance identifier + Instance pulumi.StringInput +} + +func (IsInstanceActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceActionArgs)(nil)).Elem() +} + +type IsInstanceActionInput interface { + pulumi.Input + + ToIsInstanceActionOutput() IsInstanceActionOutput + ToIsInstanceActionOutputWithContext(ctx context.Context) IsInstanceActionOutput +} + +func (*IsInstanceAction) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceAction)(nil)).Elem() +} + +func (i *IsInstanceAction) ToIsInstanceActionOutput() IsInstanceActionOutput { + return i.ToIsInstanceActionOutputWithContext(context.Background()) +} + +func (i *IsInstanceAction) ToIsInstanceActionOutputWithContext(ctx context.Context) IsInstanceActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceActionOutput) +} + +type IsInstanceActionOutput struct{ *pulumi.OutputState } + +func (IsInstanceActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceAction)(nil)).Elem() +} + +func (o IsInstanceActionOutput) ToIsInstanceActionOutput() IsInstanceActionOutput { + return o +} + +func (o IsInstanceActionOutput) ToIsInstanceActionOutputWithContext(ctx context.Context) IsInstanceActionOutput { + return o +} + +// This restart/start/stops an instance. +func (o IsInstanceActionOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceAction) pulumi.StringOutput { return v.Action }).(pulumi.StringOutput) +} + +// If set to true, the action will be forced immediately, and all queued actions deleted. Ignored for the start action. +func (o IsInstanceActionOutput) ForceAction() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceAction) pulumi.BoolPtrOutput { return v.ForceAction }).(pulumi.BoolPtrOutput) +} + +// Instance identifier +func (o IsInstanceActionOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceAction) pulumi.StringOutput { return v.Instance }).(pulumi.StringOutput) +} + +// Instance status +func (o IsInstanceActionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceAction) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o IsInstanceActionOutput) StatusReasons() IsInstanceActionStatusReasonArrayOutput { + return o.ApplyT(func(v *IsInstanceAction) IsInstanceActionStatusReasonArrayOutput { return v.StatusReasons }).(IsInstanceActionStatusReasonArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceActionInput)(nil)).Elem(), &IsInstanceAction{}) + pulumi.RegisterOutputType(IsInstanceActionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceClusterNetworkAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceClusterNetworkAttachment.go new file mode 100644 index 000000000..881d79ccc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceClusterNetworkAttachment.go @@ -0,0 +1,235 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceClusterNetworkAttachment struct { + pulumi.CustomResourceState + + // The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. + Before IsInstanceClusterNetworkAttachmentBeforePtrOutput `pulumi:"before"` + // The cluster network interface for this instance cluster network attachment. + ClusterNetworkInterface IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput `pulumi:"clusterNetworkInterface"` + // The URL for this instance cluster network attachment. + Href pulumi.StringOutput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + InstanceClusterNetworkAttachmentId pulumi.StringOutput `pulumi:"instanceClusterNetworkAttachmentId"` + // The virtual server instance identifier. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the instance cluster network attachment. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringOutput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` +} + +// NewIsInstanceClusterNetworkAttachment registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceClusterNetworkAttachment(ctx *pulumi.Context, + name string, args *IsInstanceClusterNetworkAttachmentArgs, opts ...pulumi.ResourceOption) (*IsInstanceClusterNetworkAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterNetworkInterface == nil { + return nil, errors.New("invalid value for required argument 'ClusterNetworkInterface'") + } + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceClusterNetworkAttachment + err := ctx.RegisterResource("ibmcloud:index/isInstanceClusterNetworkAttachment:IsInstanceClusterNetworkAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceClusterNetworkAttachment gets an existing IsInstanceClusterNetworkAttachment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceClusterNetworkAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceClusterNetworkAttachmentState, opts ...pulumi.ResourceOption) (*IsInstanceClusterNetworkAttachment, error) { + var resource IsInstanceClusterNetworkAttachment + err := ctx.ReadResource("ibmcloud:index/isInstanceClusterNetworkAttachment:IsInstanceClusterNetworkAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceClusterNetworkAttachment resources. +type isInstanceClusterNetworkAttachmentState struct { + // The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. + Before *IsInstanceClusterNetworkAttachmentBefore `pulumi:"before"` + // The cluster network interface for this instance cluster network attachment. + ClusterNetworkInterface *IsInstanceClusterNetworkAttachmentClusterNetworkInterface `pulumi:"clusterNetworkInterface"` + // The URL for this instance cluster network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + InstanceClusterNetworkAttachmentId *string `pulumi:"instanceClusterNetworkAttachmentId"` + // The virtual server instance identifier. + InstanceId *string `pulumi:"instanceId"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []IsInstanceClusterNetworkAttachmentLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the instance cluster network attachment. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +type IsInstanceClusterNetworkAttachmentState struct { + // The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. + Before IsInstanceClusterNetworkAttachmentBeforePtrInput + // The cluster network interface for this instance cluster network attachment. + ClusterNetworkInterface IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrInput + // The URL for this instance cluster network attachment. + Href pulumi.StringPtrInput + // The unique identifier for this instance cluster network attachment. + InstanceClusterNetworkAttachmentId pulumi.StringPtrInput + // The virtual server instance identifier. + InstanceId pulumi.StringPtrInput + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons IsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput + // The lifecycle state of the instance cluster network attachment. + LifecycleState pulumi.StringPtrInput + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput +} + +func (IsInstanceClusterNetworkAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceClusterNetworkAttachmentState)(nil)).Elem() +} + +type isInstanceClusterNetworkAttachmentArgs struct { + // The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. + Before *IsInstanceClusterNetworkAttachmentBefore `pulumi:"before"` + // The cluster network interface for this instance cluster network attachment. + ClusterNetworkInterface IsInstanceClusterNetworkAttachmentClusterNetworkInterface `pulumi:"clusterNetworkInterface"` + // The virtual server instance identifier. + InstanceId string `pulumi:"instanceId"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IsInstanceClusterNetworkAttachment resource. +type IsInstanceClusterNetworkAttachmentArgs struct { + // The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. + Before IsInstanceClusterNetworkAttachmentBeforePtrInput + // The cluster network interface for this instance cluster network attachment. + ClusterNetworkInterface IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput + // The virtual server instance identifier. + InstanceId pulumi.StringInput + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput +} + +func (IsInstanceClusterNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceClusterNetworkAttachmentArgs)(nil)).Elem() +} + +type IsInstanceClusterNetworkAttachmentInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentOutput() IsInstanceClusterNetworkAttachmentOutput + ToIsInstanceClusterNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentOutput +} + +func (*IsInstanceClusterNetworkAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachment)(nil)).Elem() +} + +func (i *IsInstanceClusterNetworkAttachment) ToIsInstanceClusterNetworkAttachmentOutput() IsInstanceClusterNetworkAttachmentOutput { + return i.ToIsInstanceClusterNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i *IsInstanceClusterNetworkAttachment) ToIsInstanceClusterNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentOutput) +} + +type IsInstanceClusterNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachment)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentOutput) ToIsInstanceClusterNetworkAttachmentOutput() IsInstanceClusterNetworkAttachmentOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentOutput) ToIsInstanceClusterNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentOutput { + return o +} + +// The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentOutput) Before() IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return v.Before + }).(IsInstanceClusterNetworkAttachmentBeforePtrOutput) +} + +// The cluster network interface for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentOutput) ClusterNetworkInterface() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return v.ClusterNetworkInterface + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +// The URL for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentOutput) InstanceClusterNetworkAttachmentId() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) pulumi.StringOutput { + return v.InstanceClusterNetworkAttachmentId + }).(pulumi.StringOutput) +} + +// The virtual server instance identifier. +func (o IsInstanceClusterNetworkAttachmentOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o IsInstanceClusterNetworkAttachmentOutput) LifecycleReasons() IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return v.LifecycleReasons + }).(IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) +} + +// The lifecycle state of the instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o IsInstanceClusterNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachment) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentInput)(nil)).Elem(), &IsInstanceClusterNetworkAttachment{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceDiskManagement.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceDiskManagement.go new file mode 100644 index 000000000..0db203da8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceDiskManagement.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceDiskManagement struct { + pulumi.CustomResourceState + + // Disk information that has to be updated. + Disks IsInstanceDiskManagementDiskArrayOutput `pulumi:"disks"` + // ID of the instance for which disks has to be managed + Instance pulumi.StringOutput `pulumi:"instance"` +} + +// NewIsInstanceDiskManagement registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceDiskManagement(ctx *pulumi.Context, + name string, args *IsInstanceDiskManagementArgs, opts ...pulumi.ResourceOption) (*IsInstanceDiskManagement, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Disks == nil { + return nil, errors.New("invalid value for required argument 'Disks'") + } + if args.Instance == nil { + return nil, errors.New("invalid value for required argument 'Instance'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceDiskManagement + err := ctx.RegisterResource("ibmcloud:index/isInstanceDiskManagement:IsInstanceDiskManagement", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceDiskManagement gets an existing IsInstanceDiskManagement resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceDiskManagement(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceDiskManagementState, opts ...pulumi.ResourceOption) (*IsInstanceDiskManagement, error) { + var resource IsInstanceDiskManagement + err := ctx.ReadResource("ibmcloud:index/isInstanceDiskManagement:IsInstanceDiskManagement", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceDiskManagement resources. +type isInstanceDiskManagementState struct { + // Disk information that has to be updated. + Disks []IsInstanceDiskManagementDisk `pulumi:"disks"` + // ID of the instance for which disks has to be managed + Instance *string `pulumi:"instance"` +} + +type IsInstanceDiskManagementState struct { + // Disk information that has to be updated. + Disks IsInstanceDiskManagementDiskArrayInput + // ID of the instance for which disks has to be managed + Instance pulumi.StringPtrInput +} + +func (IsInstanceDiskManagementState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceDiskManagementState)(nil)).Elem() +} + +type isInstanceDiskManagementArgs struct { + // Disk information that has to be updated. + Disks []IsInstanceDiskManagementDisk `pulumi:"disks"` + // ID of the instance for which disks has to be managed + Instance string `pulumi:"instance"` +} + +// The set of arguments for constructing a IsInstanceDiskManagement resource. +type IsInstanceDiskManagementArgs struct { + // Disk information that has to be updated. + Disks IsInstanceDiskManagementDiskArrayInput + // ID of the instance for which disks has to be managed + Instance pulumi.StringInput +} + +func (IsInstanceDiskManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceDiskManagementArgs)(nil)).Elem() +} + +type IsInstanceDiskManagementInput interface { + pulumi.Input + + ToIsInstanceDiskManagementOutput() IsInstanceDiskManagementOutput + ToIsInstanceDiskManagementOutputWithContext(ctx context.Context) IsInstanceDiskManagementOutput +} + +func (*IsInstanceDiskManagement) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceDiskManagement)(nil)).Elem() +} + +func (i *IsInstanceDiskManagement) ToIsInstanceDiskManagementOutput() IsInstanceDiskManagementOutput { + return i.ToIsInstanceDiskManagementOutputWithContext(context.Background()) +} + +func (i *IsInstanceDiskManagement) ToIsInstanceDiskManagementOutputWithContext(ctx context.Context) IsInstanceDiskManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceDiskManagementOutput) +} + +type IsInstanceDiskManagementOutput struct{ *pulumi.OutputState } + +func (IsInstanceDiskManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceDiskManagement)(nil)).Elem() +} + +func (o IsInstanceDiskManagementOutput) ToIsInstanceDiskManagementOutput() IsInstanceDiskManagementOutput { + return o +} + +func (o IsInstanceDiskManagementOutput) ToIsInstanceDiskManagementOutputWithContext(ctx context.Context) IsInstanceDiskManagementOutput { + return o +} + +// Disk information that has to be updated. +func (o IsInstanceDiskManagementOutput) Disks() IsInstanceDiskManagementDiskArrayOutput { + return o.ApplyT(func(v *IsInstanceDiskManagement) IsInstanceDiskManagementDiskArrayOutput { return v.Disks }).(IsInstanceDiskManagementDiskArrayOutput) +} + +// ID of the instance for which disks has to be managed +func (o IsInstanceDiskManagementOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceDiskManagement) pulumi.StringOutput { return v.Instance }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceDiskManagementInput)(nil)).Elem(), &IsInstanceDiskManagement{}) + pulumi.RegisterOutputType(IsInstanceDiskManagementOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroup.go new file mode 100644 index 000000000..991482e3a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroup.go @@ -0,0 +1,317 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceGroup struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // Used by the instance group when scaling up instances to supply the port for the load balancer pool member. + ApplicationPort pulumi.IntPtrOutput `pulumi:"applicationPort"` + // The CRN of this instance group + Crn pulumi.StringOutput `pulumi:"crn"` + // The number of instances in the instance group + InstanceCount pulumi.IntPtrOutput `pulumi:"instanceCount"` + // instance template ID + InstanceTemplate pulumi.StringOutput `pulumi:"instanceTemplate"` + // number of instances in the intances group + Instances pulumi.IntOutput `pulumi:"instances"` + // load balancer ID + LoadBalancer pulumi.StringPtrOutput `pulumi:"loadBalancer"` + // load balancer pool ID + LoadBalancerPool pulumi.StringPtrOutput `pulumi:"loadBalancerPool"` + // list of Managers associated with instancegroup + Managers pulumi.StringArrayOutput `pulumi:"managers"` + // The user-defined name for this instance group + Name pulumi.StringOutput `pulumi:"name"` + // Resource group ID + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // Instance group status - deleting, healthy, scaling, unhealthy + Status pulumi.StringOutput `pulumi:"status"` + // list of subnet IDs + Subnets pulumi.StringArrayOutput `pulumi:"subnets"` + // List of tags for instance group + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // vpc instance + Vpc pulumi.StringOutput `pulumi:"vpc"` +} + +// NewIsInstanceGroup registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceGroup(ctx *pulumi.Context, + name string, args *IsInstanceGroupArgs, opts ...pulumi.ResourceOption) (*IsInstanceGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceTemplate == nil { + return nil, errors.New("invalid value for required argument 'InstanceTemplate'") + } + if args.Subnets == nil { + return nil, errors.New("invalid value for required argument 'Subnets'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceGroup + err := ctx.RegisterResource("ibmcloud:index/isInstanceGroup:IsInstanceGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceGroup gets an existing IsInstanceGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceGroupState, opts ...pulumi.ResourceOption) (*IsInstanceGroup, error) { + var resource IsInstanceGroup + err := ctx.ReadResource("ibmcloud:index/isInstanceGroup:IsInstanceGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceGroup resources. +type isInstanceGroupState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Used by the instance group when scaling up instances to supply the port for the load balancer pool member. + ApplicationPort *int `pulumi:"applicationPort"` + // The CRN of this instance group + Crn *string `pulumi:"crn"` + // The number of instances in the instance group + InstanceCount *int `pulumi:"instanceCount"` + // instance template ID + InstanceTemplate *string `pulumi:"instanceTemplate"` + // number of instances in the intances group + Instances *int `pulumi:"instances"` + // load balancer ID + LoadBalancer *string `pulumi:"loadBalancer"` + // load balancer pool ID + LoadBalancerPool *string `pulumi:"loadBalancerPool"` + // list of Managers associated with instancegroup + Managers []string `pulumi:"managers"` + // The user-defined name for this instance group + Name *string `pulumi:"name"` + // Resource group ID + ResourceGroup *string `pulumi:"resourceGroup"` + // Instance group status - deleting, healthy, scaling, unhealthy + Status *string `pulumi:"status"` + // list of subnet IDs + Subnets []string `pulumi:"subnets"` + // List of tags for instance group + Tags []string `pulumi:"tags"` + // vpc instance + Vpc *string `pulumi:"vpc"` +} + +type IsInstanceGroupState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Used by the instance group when scaling up instances to supply the port for the load balancer pool member. + ApplicationPort pulumi.IntPtrInput + // The CRN of this instance group + Crn pulumi.StringPtrInput + // The number of instances in the instance group + InstanceCount pulumi.IntPtrInput + // instance template ID + InstanceTemplate pulumi.StringPtrInput + // number of instances in the intances group + Instances pulumi.IntPtrInput + // load balancer ID + LoadBalancer pulumi.StringPtrInput + // load balancer pool ID + LoadBalancerPool pulumi.StringPtrInput + // list of Managers associated with instancegroup + Managers pulumi.StringArrayInput + // The user-defined name for this instance group + Name pulumi.StringPtrInput + // Resource group ID + ResourceGroup pulumi.StringPtrInput + // Instance group status - deleting, healthy, scaling, unhealthy + Status pulumi.StringPtrInput + // list of subnet IDs + Subnets pulumi.StringArrayInput + // List of tags for instance group + Tags pulumi.StringArrayInput + // vpc instance + Vpc pulumi.StringPtrInput +} + +func (IsInstanceGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupState)(nil)).Elem() +} + +type isInstanceGroupArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Used by the instance group when scaling up instances to supply the port for the load balancer pool member. + ApplicationPort *int `pulumi:"applicationPort"` + // The number of instances in the instance group + InstanceCount *int `pulumi:"instanceCount"` + // instance template ID + InstanceTemplate string `pulumi:"instanceTemplate"` + // load balancer ID + LoadBalancer *string `pulumi:"loadBalancer"` + // load balancer pool ID + LoadBalancerPool *string `pulumi:"loadBalancerPool"` + // The user-defined name for this instance group + Name *string `pulumi:"name"` + // Resource group ID + ResourceGroup *string `pulumi:"resourceGroup"` + // list of subnet IDs + Subnets []string `pulumi:"subnets"` + // List of tags for instance group + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsInstanceGroup resource. +type IsInstanceGroupArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Used by the instance group when scaling up instances to supply the port for the load balancer pool member. + ApplicationPort pulumi.IntPtrInput + // The number of instances in the instance group + InstanceCount pulumi.IntPtrInput + // instance template ID + InstanceTemplate pulumi.StringInput + // load balancer ID + LoadBalancer pulumi.StringPtrInput + // load balancer pool ID + LoadBalancerPool pulumi.StringPtrInput + // The user-defined name for this instance group + Name pulumi.StringPtrInput + // Resource group ID + ResourceGroup pulumi.StringPtrInput + // list of subnet IDs + Subnets pulumi.StringArrayInput + // List of tags for instance group + Tags pulumi.StringArrayInput +} + +func (IsInstanceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupArgs)(nil)).Elem() +} + +type IsInstanceGroupInput interface { + pulumi.Input + + ToIsInstanceGroupOutput() IsInstanceGroupOutput + ToIsInstanceGroupOutputWithContext(ctx context.Context) IsInstanceGroupOutput +} + +func (*IsInstanceGroup) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroup)(nil)).Elem() +} + +func (i *IsInstanceGroup) ToIsInstanceGroupOutput() IsInstanceGroupOutput { + return i.ToIsInstanceGroupOutputWithContext(context.Background()) +} + +func (i *IsInstanceGroup) ToIsInstanceGroupOutputWithContext(ctx context.Context) IsInstanceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupOutput) +} + +type IsInstanceGroupOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroup)(nil)).Elem() +} + +func (o IsInstanceGroupOutput) ToIsInstanceGroupOutput() IsInstanceGroupOutput { + return o +} + +func (o IsInstanceGroupOutput) ToIsInstanceGroupOutputWithContext(ctx context.Context) IsInstanceGroupOutput { + return o +} + +// List of access management tags +func (o IsInstanceGroupOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Used by the instance group when scaling up instances to supply the port for the load balancer pool member. +func (o IsInstanceGroupOutput) ApplicationPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.IntPtrOutput { return v.ApplicationPort }).(pulumi.IntPtrOutput) +} + +// The CRN of this instance group +func (o IsInstanceGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The number of instances in the instance group +func (o IsInstanceGroupOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.IntPtrOutput { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +// instance template ID +func (o IsInstanceGroupOutput) InstanceTemplate() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringOutput { return v.InstanceTemplate }).(pulumi.StringOutput) +} + +// number of instances in the intances group +func (o IsInstanceGroupOutput) Instances() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.IntOutput { return v.Instances }).(pulumi.IntOutput) +} + +// load balancer ID +func (o IsInstanceGroupOutput) LoadBalancer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringPtrOutput { return v.LoadBalancer }).(pulumi.StringPtrOutput) +} + +// load balancer pool ID +func (o IsInstanceGroupOutput) LoadBalancerPool() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringPtrOutput { return v.LoadBalancerPool }).(pulumi.StringPtrOutput) +} + +// list of Managers associated with instancegroup +func (o IsInstanceGroupOutput) Managers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringArrayOutput { return v.Managers }).(pulumi.StringArrayOutput) +} + +// The user-defined name for this instance group +func (o IsInstanceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Resource group ID +func (o IsInstanceGroupOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// Instance group status - deleting, healthy, scaling, unhealthy +func (o IsInstanceGroupOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// list of subnet IDs +func (o IsInstanceGroupOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringArrayOutput { return v.Subnets }).(pulumi.StringArrayOutput) +} + +// List of tags for instance group +func (o IsInstanceGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// vpc instance +func (o IsInstanceGroupOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroup) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupInput)(nil)).Elem(), &IsInstanceGroup{}) + pulumi.RegisterOutputType(IsInstanceGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManager.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManager.go new file mode 100644 index 000000000..e44493048 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManager.go @@ -0,0 +1,258 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceGroupManager struct { + pulumi.CustomResourceState + + Actions IsInstanceGroupManagerActionTypeArrayOutput `pulumi:"actions"` + // The time window in seconds to aggregate metrics prior to evaluation + AggregationWindow pulumi.IntPtrOutput `pulumi:"aggregationWindow"` + // The duration of time in seconds to pause further scale actions after scaling has taken place + Cooldown pulumi.IntPtrOutput `pulumi:"cooldown"` + // enable instance group manager + EnableManager pulumi.BoolPtrOutput `pulumi:"enableManager"` + // instance group ID + InstanceGroup pulumi.StringOutput `pulumi:"instanceGroup"` + // instance group manager ID + ManagerId pulumi.StringOutput `pulumi:"managerId"` + // The type of instance group manager. + ManagerType pulumi.StringPtrOutput `pulumi:"managerType"` + // The maximum number of members in a managed instance group + MaxMembershipCount pulumi.IntPtrOutput `pulumi:"maxMembershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount pulumi.IntPtrOutput `pulumi:"minMembershipCount"` + // instance group manager name + Name pulumi.StringOutput `pulumi:"name"` + // list of Policies associated with instancegroup manager + Policies pulumi.StringArrayOutput `pulumi:"policies"` +} + +// NewIsInstanceGroupManager registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceGroupManager(ctx *pulumi.Context, + name string, args *IsInstanceGroupManagerArgs, opts ...pulumi.ResourceOption) (*IsInstanceGroupManager, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceGroup == nil { + return nil, errors.New("invalid value for required argument 'InstanceGroup'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceGroupManager + err := ctx.RegisterResource("ibmcloud:index/isInstanceGroupManager:IsInstanceGroupManager", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceGroupManager gets an existing IsInstanceGroupManager resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceGroupManager(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceGroupManagerState, opts ...pulumi.ResourceOption) (*IsInstanceGroupManager, error) { + var resource IsInstanceGroupManager + err := ctx.ReadResource("ibmcloud:index/isInstanceGroupManager:IsInstanceGroupManager", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceGroupManager resources. +type isInstanceGroupManagerState struct { + Actions []IsInstanceGroupManagerActionType `pulumi:"actions"` + // The time window in seconds to aggregate metrics prior to evaluation + AggregationWindow *int `pulumi:"aggregationWindow"` + // The duration of time in seconds to pause further scale actions after scaling has taken place + Cooldown *int `pulumi:"cooldown"` + // enable instance group manager + EnableManager *bool `pulumi:"enableManager"` + // instance group ID + InstanceGroup *string `pulumi:"instanceGroup"` + // instance group manager ID + ManagerId *string `pulumi:"managerId"` + // The type of instance group manager. + ManagerType *string `pulumi:"managerType"` + // The maximum number of members in a managed instance group + MaxMembershipCount *int `pulumi:"maxMembershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount *int `pulumi:"minMembershipCount"` + // instance group manager name + Name *string `pulumi:"name"` + // list of Policies associated with instancegroup manager + Policies []string `pulumi:"policies"` +} + +type IsInstanceGroupManagerState struct { + Actions IsInstanceGroupManagerActionTypeArrayInput + // The time window in seconds to aggregate metrics prior to evaluation + AggregationWindow pulumi.IntPtrInput + // The duration of time in seconds to pause further scale actions after scaling has taken place + Cooldown pulumi.IntPtrInput + // enable instance group manager + EnableManager pulumi.BoolPtrInput + // instance group ID + InstanceGroup pulumi.StringPtrInput + // instance group manager ID + ManagerId pulumi.StringPtrInput + // The type of instance group manager. + ManagerType pulumi.StringPtrInput + // The maximum number of members in a managed instance group + MaxMembershipCount pulumi.IntPtrInput + // The minimum number of members in a managed instance group + MinMembershipCount pulumi.IntPtrInput + // instance group manager name + Name pulumi.StringPtrInput + // list of Policies associated with instancegroup manager + Policies pulumi.StringArrayInput +} + +func (IsInstanceGroupManagerState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupManagerState)(nil)).Elem() +} + +type isInstanceGroupManagerArgs struct { + // The time window in seconds to aggregate metrics prior to evaluation + AggregationWindow *int `pulumi:"aggregationWindow"` + // The duration of time in seconds to pause further scale actions after scaling has taken place + Cooldown *int `pulumi:"cooldown"` + // enable instance group manager + EnableManager *bool `pulumi:"enableManager"` + // instance group ID + InstanceGroup string `pulumi:"instanceGroup"` + // The type of instance group manager. + ManagerType *string `pulumi:"managerType"` + // The maximum number of members in a managed instance group + MaxMembershipCount *int `pulumi:"maxMembershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount *int `pulumi:"minMembershipCount"` + // instance group manager name + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IsInstanceGroupManager resource. +type IsInstanceGroupManagerArgs struct { + // The time window in seconds to aggregate metrics prior to evaluation + AggregationWindow pulumi.IntPtrInput + // The duration of time in seconds to pause further scale actions after scaling has taken place + Cooldown pulumi.IntPtrInput + // enable instance group manager + EnableManager pulumi.BoolPtrInput + // instance group ID + InstanceGroup pulumi.StringInput + // The type of instance group manager. + ManagerType pulumi.StringPtrInput + // The maximum number of members in a managed instance group + MaxMembershipCount pulumi.IntPtrInput + // The minimum number of members in a managed instance group + MinMembershipCount pulumi.IntPtrInput + // instance group manager name + Name pulumi.StringPtrInput +} + +func (IsInstanceGroupManagerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupManagerArgs)(nil)).Elem() +} + +type IsInstanceGroupManagerInput interface { + pulumi.Input + + ToIsInstanceGroupManagerOutput() IsInstanceGroupManagerOutput + ToIsInstanceGroupManagerOutputWithContext(ctx context.Context) IsInstanceGroupManagerOutput +} + +func (*IsInstanceGroupManager) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroupManager)(nil)).Elem() +} + +func (i *IsInstanceGroupManager) ToIsInstanceGroupManagerOutput() IsInstanceGroupManagerOutput { + return i.ToIsInstanceGroupManagerOutputWithContext(context.Background()) +} + +func (i *IsInstanceGroupManager) ToIsInstanceGroupManagerOutputWithContext(ctx context.Context) IsInstanceGroupManagerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupManagerOutput) +} + +type IsInstanceGroupManagerOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupManagerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroupManager)(nil)).Elem() +} + +func (o IsInstanceGroupManagerOutput) ToIsInstanceGroupManagerOutput() IsInstanceGroupManagerOutput { + return o +} + +func (o IsInstanceGroupManagerOutput) ToIsInstanceGroupManagerOutputWithContext(ctx context.Context) IsInstanceGroupManagerOutput { + return o +} + +func (o IsInstanceGroupManagerOutput) Actions() IsInstanceGroupManagerActionTypeArrayOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) IsInstanceGroupManagerActionTypeArrayOutput { return v.Actions }).(IsInstanceGroupManagerActionTypeArrayOutput) +} + +// The time window in seconds to aggregate metrics prior to evaluation +func (o IsInstanceGroupManagerOutput) AggregationWindow() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.IntPtrOutput { return v.AggregationWindow }).(pulumi.IntPtrOutput) +} + +// The duration of time in seconds to pause further scale actions after scaling has taken place +func (o IsInstanceGroupManagerOutput) Cooldown() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.IntPtrOutput { return v.Cooldown }).(pulumi.IntPtrOutput) +} + +// enable instance group manager +func (o IsInstanceGroupManagerOutput) EnableManager() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.BoolPtrOutput { return v.EnableManager }).(pulumi.BoolPtrOutput) +} + +// instance group ID +func (o IsInstanceGroupManagerOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.StringOutput { return v.InstanceGroup }).(pulumi.StringOutput) +} + +// instance group manager ID +func (o IsInstanceGroupManagerOutput) ManagerId() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.StringOutput { return v.ManagerId }).(pulumi.StringOutput) +} + +// The type of instance group manager. +func (o IsInstanceGroupManagerOutput) ManagerType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.StringPtrOutput { return v.ManagerType }).(pulumi.StringPtrOutput) +} + +// The maximum number of members in a managed instance group +func (o IsInstanceGroupManagerOutput) MaxMembershipCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.IntPtrOutput { return v.MaxMembershipCount }).(pulumi.IntPtrOutput) +} + +// The minimum number of members in a managed instance group +func (o IsInstanceGroupManagerOutput) MinMembershipCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.IntPtrOutput { return v.MinMembershipCount }).(pulumi.IntPtrOutput) +} + +// instance group manager name +func (o IsInstanceGroupManagerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// list of Policies associated with instancegroup manager +func (o IsInstanceGroupManagerOutput) Policies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceGroupManager) pulumi.StringArrayOutput { return v.Policies }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupManagerInput)(nil)).Elem(), &IsInstanceGroupManager{}) + pulumi.RegisterOutputType(IsInstanceGroupManagerOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManagerAction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManagerAction.go new file mode 100644 index 000000000..c072b7196 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManagerAction.go @@ -0,0 +1,360 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceGroupManagerAction struct { + pulumi.CustomResourceState + + // Instance group manager action ID + ActionId pulumi.StringOutput `pulumi:"actionId"` + // The type of action for the instance group. + ActionType pulumi.StringOutput `pulumi:"actionType"` + AutoDelete pulumi.BoolOutput `pulumi:"autoDelete"` + AutoDeleteTimeout pulumi.IntOutput `pulumi:"autoDeleteTimeout"` + // The date and time that the instance group manager action was modified. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. + CronSpec pulumi.StringPtrOutput `pulumi:"cronSpec"` + // instance group ID + InstanceGroup pulumi.StringOutput `pulumi:"instanceGroup"` + // Instance group manager ID of type scheduled + InstanceGroupManager pulumi.StringOutput `pulumi:"instanceGroupManager"` + // The date and time the scheduled action was last applied. If empty the action has never been applied. + LastAppliedAt pulumi.StringOutput `pulumi:"lastAppliedAt"` + // The maximum number of members in a managed instance group + MaxMembershipCount pulumi.IntPtrOutput `pulumi:"maxMembershipCount"` + // The number of members the instance group should have at the scheduled time. + MembershipCount pulumi.IntPtrOutput `pulumi:"membershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount pulumi.IntPtrOutput `pulumi:"minMembershipCount"` + // instance group manager action name + Name pulumi.StringOutput `pulumi:"name"` + // The date and time the scheduled action will next run. If empty the system is currently calculating the next run time. + NextRunAt pulumi.StringOutput `pulumi:"nextRunAt"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The date and time the scheduled action will run. + RunAt pulumi.StringPtrOutput `pulumi:"runAt"` + // The status of the instance group action- `active`: Action is ready to be run- `completed`: Action was completed successfully- `failed`: Action could not be completed successfully- `incompatible`: Action parameters are not compatible with the group or manager- `omitted`: Action was not applied because this action's manager was disabled. + Status pulumi.StringOutput `pulumi:"status"` + // The unique identifier for this instance group manager of type autoscale. + TargetManager pulumi.StringPtrOutput `pulumi:"targetManager"` + // Instance group manager name of type autoscale. + TargetManagerName pulumi.StringOutput `pulumi:"targetManagerName"` + // The date and time that the instance group manager action was modified. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewIsInstanceGroupManagerAction registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceGroupManagerAction(ctx *pulumi.Context, + name string, args *IsInstanceGroupManagerActionArgs, opts ...pulumi.ResourceOption) (*IsInstanceGroupManagerAction, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceGroup == nil { + return nil, errors.New("invalid value for required argument 'InstanceGroup'") + } + if args.InstanceGroupManager == nil { + return nil, errors.New("invalid value for required argument 'InstanceGroupManager'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceGroupManagerAction + err := ctx.RegisterResource("ibmcloud:index/isInstanceGroupManagerAction:IsInstanceGroupManagerAction", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceGroupManagerAction gets an existing IsInstanceGroupManagerAction resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceGroupManagerAction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceGroupManagerActionState, opts ...pulumi.ResourceOption) (*IsInstanceGroupManagerAction, error) { + var resource IsInstanceGroupManagerAction + err := ctx.ReadResource("ibmcloud:index/isInstanceGroupManagerAction:IsInstanceGroupManagerAction", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceGroupManagerAction resources. +type isInstanceGroupManagerActionState struct { + // Instance group manager action ID + ActionId *string `pulumi:"actionId"` + // The type of action for the instance group. + ActionType *string `pulumi:"actionType"` + AutoDelete *bool `pulumi:"autoDelete"` + AutoDeleteTimeout *int `pulumi:"autoDeleteTimeout"` + // The date and time that the instance group manager action was modified. + CreatedAt *string `pulumi:"createdAt"` + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. + CronSpec *string `pulumi:"cronSpec"` + // instance group ID + InstanceGroup *string `pulumi:"instanceGroup"` + // Instance group manager ID of type scheduled + InstanceGroupManager *string `pulumi:"instanceGroupManager"` + // The date and time the scheduled action was last applied. If empty the action has never been applied. + LastAppliedAt *string `pulumi:"lastAppliedAt"` + // The maximum number of members in a managed instance group + MaxMembershipCount *int `pulumi:"maxMembershipCount"` + // The number of members the instance group should have at the scheduled time. + MembershipCount *int `pulumi:"membershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount *int `pulumi:"minMembershipCount"` + // instance group manager action name + Name *string `pulumi:"name"` + // The date and time the scheduled action will next run. If empty the system is currently calculating the next run time. + NextRunAt *string `pulumi:"nextRunAt"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The date and time the scheduled action will run. + RunAt *string `pulumi:"runAt"` + // The status of the instance group action- `active`: Action is ready to be run- `completed`: Action was completed successfully- `failed`: Action could not be completed successfully- `incompatible`: Action parameters are not compatible with the group or manager- `omitted`: Action was not applied because this action's manager was disabled. + Status *string `pulumi:"status"` + // The unique identifier for this instance group manager of type autoscale. + TargetManager *string `pulumi:"targetManager"` + // Instance group manager name of type autoscale. + TargetManagerName *string `pulumi:"targetManagerName"` + // The date and time that the instance group manager action was modified. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type IsInstanceGroupManagerActionState struct { + // Instance group manager action ID + ActionId pulumi.StringPtrInput + // The type of action for the instance group. + ActionType pulumi.StringPtrInput + AutoDelete pulumi.BoolPtrInput + AutoDeleteTimeout pulumi.IntPtrInput + // The date and time that the instance group manager action was modified. + CreatedAt pulumi.StringPtrInput + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. + CronSpec pulumi.StringPtrInput + // instance group ID + InstanceGroup pulumi.StringPtrInput + // Instance group manager ID of type scheduled + InstanceGroupManager pulumi.StringPtrInput + // The date and time the scheduled action was last applied. If empty the action has never been applied. + LastAppliedAt pulumi.StringPtrInput + // The maximum number of members in a managed instance group + MaxMembershipCount pulumi.IntPtrInput + // The number of members the instance group should have at the scheduled time. + MembershipCount pulumi.IntPtrInput + // The minimum number of members in a managed instance group + MinMembershipCount pulumi.IntPtrInput + // instance group manager action name + Name pulumi.StringPtrInput + // The date and time the scheduled action will next run. If empty the system is currently calculating the next run time. + NextRunAt pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The date and time the scheduled action will run. + RunAt pulumi.StringPtrInput + // The status of the instance group action- `active`: Action is ready to be run- `completed`: Action was completed successfully- `failed`: Action could not be completed successfully- `incompatible`: Action parameters are not compatible with the group or manager- `omitted`: Action was not applied because this action's manager was disabled. + Status pulumi.StringPtrInput + // The unique identifier for this instance group manager of type autoscale. + TargetManager pulumi.StringPtrInput + // Instance group manager name of type autoscale. + TargetManagerName pulumi.StringPtrInput + // The date and time that the instance group manager action was modified. + UpdatedAt pulumi.StringPtrInput +} + +func (IsInstanceGroupManagerActionState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupManagerActionState)(nil)).Elem() +} + +type isInstanceGroupManagerActionArgs struct { + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. + CronSpec *string `pulumi:"cronSpec"` + // instance group ID + InstanceGroup string `pulumi:"instanceGroup"` + // Instance group manager ID of type scheduled + InstanceGroupManager string `pulumi:"instanceGroupManager"` + // The maximum number of members in a managed instance group + MaxMembershipCount *int `pulumi:"maxMembershipCount"` + // The number of members the instance group should have at the scheduled time. + MembershipCount *int `pulumi:"membershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount *int `pulumi:"minMembershipCount"` + // instance group manager action name + Name *string `pulumi:"name"` + // The date and time the scheduled action will run. + RunAt *string `pulumi:"runAt"` + // The unique identifier for this instance group manager of type autoscale. + TargetManager *string `pulumi:"targetManager"` +} + +// The set of arguments for constructing a IsInstanceGroupManagerAction resource. +type IsInstanceGroupManagerActionArgs struct { + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. + CronSpec pulumi.StringPtrInput + // instance group ID + InstanceGroup pulumi.StringInput + // Instance group manager ID of type scheduled + InstanceGroupManager pulumi.StringInput + // The maximum number of members in a managed instance group + MaxMembershipCount pulumi.IntPtrInput + // The number of members the instance group should have at the scheduled time. + MembershipCount pulumi.IntPtrInput + // The minimum number of members in a managed instance group + MinMembershipCount pulumi.IntPtrInput + // instance group manager action name + Name pulumi.StringPtrInput + // The date and time the scheduled action will run. + RunAt pulumi.StringPtrInput + // The unique identifier for this instance group manager of type autoscale. + TargetManager pulumi.StringPtrInput +} + +func (IsInstanceGroupManagerActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupManagerActionArgs)(nil)).Elem() +} + +type IsInstanceGroupManagerActionInput interface { + pulumi.Input + + ToIsInstanceGroupManagerActionOutput() IsInstanceGroupManagerActionOutput + ToIsInstanceGroupManagerActionOutputWithContext(ctx context.Context) IsInstanceGroupManagerActionOutput +} + +func (*IsInstanceGroupManagerAction) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroupManagerAction)(nil)).Elem() +} + +func (i *IsInstanceGroupManagerAction) ToIsInstanceGroupManagerActionOutput() IsInstanceGroupManagerActionOutput { + return i.ToIsInstanceGroupManagerActionOutputWithContext(context.Background()) +} + +func (i *IsInstanceGroupManagerAction) ToIsInstanceGroupManagerActionOutputWithContext(ctx context.Context) IsInstanceGroupManagerActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupManagerActionOutput) +} + +type IsInstanceGroupManagerActionOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupManagerActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroupManagerAction)(nil)).Elem() +} + +func (o IsInstanceGroupManagerActionOutput) ToIsInstanceGroupManagerActionOutput() IsInstanceGroupManagerActionOutput { + return o +} + +func (o IsInstanceGroupManagerActionOutput) ToIsInstanceGroupManagerActionOutputWithContext(ctx context.Context) IsInstanceGroupManagerActionOutput { + return o +} + +// Instance group manager action ID +func (o IsInstanceGroupManagerActionOutput) ActionId() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.ActionId }).(pulumi.StringOutput) +} + +// The type of action for the instance group. +func (o IsInstanceGroupManagerActionOutput) ActionType() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.ActionType }).(pulumi.StringOutput) +} + +func (o IsInstanceGroupManagerActionOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.BoolOutput { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o IsInstanceGroupManagerActionOutput) AutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.IntOutput { return v.AutoDeleteTimeout }).(pulumi.IntOutput) +} + +// The date and time that the instance group manager action was modified. +func (o IsInstanceGroupManagerActionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. +func (o IsInstanceGroupManagerActionOutput) CronSpec() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringPtrOutput { return v.CronSpec }).(pulumi.StringPtrOutput) +} + +// instance group ID +func (o IsInstanceGroupManagerActionOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.InstanceGroup }).(pulumi.StringOutput) +} + +// Instance group manager ID of type scheduled +func (o IsInstanceGroupManagerActionOutput) InstanceGroupManager() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.InstanceGroupManager }).(pulumi.StringOutput) +} + +// The date and time the scheduled action was last applied. If empty the action has never been applied. +func (o IsInstanceGroupManagerActionOutput) LastAppliedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.LastAppliedAt }).(pulumi.StringOutput) +} + +// The maximum number of members in a managed instance group +func (o IsInstanceGroupManagerActionOutput) MaxMembershipCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.IntPtrOutput { return v.MaxMembershipCount }).(pulumi.IntPtrOutput) +} + +// The number of members the instance group should have at the scheduled time. +func (o IsInstanceGroupManagerActionOutput) MembershipCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.IntPtrOutput { return v.MembershipCount }).(pulumi.IntPtrOutput) +} + +// The minimum number of members in a managed instance group +func (o IsInstanceGroupManagerActionOutput) MinMembershipCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.IntPtrOutput { return v.MinMembershipCount }).(pulumi.IntPtrOutput) +} + +// instance group manager action name +func (o IsInstanceGroupManagerActionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The date and time the scheduled action will next run. If empty the system is currently calculating the next run time. +func (o IsInstanceGroupManagerActionOutput) NextRunAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.NextRunAt }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsInstanceGroupManagerActionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The date and time the scheduled action will run. +func (o IsInstanceGroupManagerActionOutput) RunAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringPtrOutput { return v.RunAt }).(pulumi.StringPtrOutput) +} + +// The status of the instance group action- `active`: Action is ready to be run- `completed`: Action was completed successfully- `failed`: Action could not be completed successfully- `incompatible`: Action parameters are not compatible with the group or manager- `omitted`: Action was not applied because this action's manager was disabled. +func (o IsInstanceGroupManagerActionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The unique identifier for this instance group manager of type autoscale. +func (o IsInstanceGroupManagerActionOutput) TargetManager() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringPtrOutput { return v.TargetManager }).(pulumi.StringPtrOutput) +} + +// Instance group manager name of type autoscale. +func (o IsInstanceGroupManagerActionOutput) TargetManagerName() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.TargetManagerName }).(pulumi.StringOutput) +} + +// The date and time that the instance group manager action was modified. +func (o IsInstanceGroupManagerActionOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerAction) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupManagerActionInput)(nil)).Elem(), &IsInstanceGroupManagerAction{}) + pulumi.RegisterOutputType(IsInstanceGroupManagerActionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManagerPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManagerPolicy.go new file mode 100644 index 000000000..0b7a61983 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupManagerPolicy.go @@ -0,0 +1,222 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceGroupManagerPolicy struct { + pulumi.CustomResourceState + + // instance group ID + InstanceGroup pulumi.StringOutput `pulumi:"instanceGroup"` + // Instance group manager ID + InstanceGroupManager pulumi.StringOutput `pulumi:"instanceGroupManager"` + // The type of metric to be evaluated + MetricType pulumi.StringOutput `pulumi:"metricType"` + // The metric value to be evaluated + MetricValue pulumi.IntOutput `pulumi:"metricValue"` + // instance group manager policy name + Name pulumi.StringOutput `pulumi:"name"` + // The Policy ID + PolicyId pulumi.StringOutput `pulumi:"policyId"` + // The type of Policy for the Instance Group + PolicyType pulumi.StringOutput `pulumi:"policyType"` +} + +// NewIsInstanceGroupManagerPolicy registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceGroupManagerPolicy(ctx *pulumi.Context, + name string, args *IsInstanceGroupManagerPolicyArgs, opts ...pulumi.ResourceOption) (*IsInstanceGroupManagerPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceGroup == nil { + return nil, errors.New("invalid value for required argument 'InstanceGroup'") + } + if args.InstanceGroupManager == nil { + return nil, errors.New("invalid value for required argument 'InstanceGroupManager'") + } + if args.MetricType == nil { + return nil, errors.New("invalid value for required argument 'MetricType'") + } + if args.MetricValue == nil { + return nil, errors.New("invalid value for required argument 'MetricValue'") + } + if args.PolicyType == nil { + return nil, errors.New("invalid value for required argument 'PolicyType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceGroupManagerPolicy + err := ctx.RegisterResource("ibmcloud:index/isInstanceGroupManagerPolicy:IsInstanceGroupManagerPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceGroupManagerPolicy gets an existing IsInstanceGroupManagerPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceGroupManagerPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceGroupManagerPolicyState, opts ...pulumi.ResourceOption) (*IsInstanceGroupManagerPolicy, error) { + var resource IsInstanceGroupManagerPolicy + err := ctx.ReadResource("ibmcloud:index/isInstanceGroupManagerPolicy:IsInstanceGroupManagerPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceGroupManagerPolicy resources. +type isInstanceGroupManagerPolicyState struct { + // instance group ID + InstanceGroup *string `pulumi:"instanceGroup"` + // Instance group manager ID + InstanceGroupManager *string `pulumi:"instanceGroupManager"` + // The type of metric to be evaluated + MetricType *string `pulumi:"metricType"` + // The metric value to be evaluated + MetricValue *int `pulumi:"metricValue"` + // instance group manager policy name + Name *string `pulumi:"name"` + // The Policy ID + PolicyId *string `pulumi:"policyId"` + // The type of Policy for the Instance Group + PolicyType *string `pulumi:"policyType"` +} + +type IsInstanceGroupManagerPolicyState struct { + // instance group ID + InstanceGroup pulumi.StringPtrInput + // Instance group manager ID + InstanceGroupManager pulumi.StringPtrInput + // The type of metric to be evaluated + MetricType pulumi.StringPtrInput + // The metric value to be evaluated + MetricValue pulumi.IntPtrInput + // instance group manager policy name + Name pulumi.StringPtrInput + // The Policy ID + PolicyId pulumi.StringPtrInput + // The type of Policy for the Instance Group + PolicyType pulumi.StringPtrInput +} + +func (IsInstanceGroupManagerPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupManagerPolicyState)(nil)).Elem() +} + +type isInstanceGroupManagerPolicyArgs struct { + // instance group ID + InstanceGroup string `pulumi:"instanceGroup"` + // Instance group manager ID + InstanceGroupManager string `pulumi:"instanceGroupManager"` + // The type of metric to be evaluated + MetricType string `pulumi:"metricType"` + // The metric value to be evaluated + MetricValue int `pulumi:"metricValue"` + // instance group manager policy name + Name *string `pulumi:"name"` + // The type of Policy for the Instance Group + PolicyType string `pulumi:"policyType"` +} + +// The set of arguments for constructing a IsInstanceGroupManagerPolicy resource. +type IsInstanceGroupManagerPolicyArgs struct { + // instance group ID + InstanceGroup pulumi.StringInput + // Instance group manager ID + InstanceGroupManager pulumi.StringInput + // The type of metric to be evaluated + MetricType pulumi.StringInput + // The metric value to be evaluated + MetricValue pulumi.IntInput + // instance group manager policy name + Name pulumi.StringPtrInput + // The type of Policy for the Instance Group + PolicyType pulumi.StringInput +} + +func (IsInstanceGroupManagerPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupManagerPolicyArgs)(nil)).Elem() +} + +type IsInstanceGroupManagerPolicyInput interface { + pulumi.Input + + ToIsInstanceGroupManagerPolicyOutput() IsInstanceGroupManagerPolicyOutput + ToIsInstanceGroupManagerPolicyOutputWithContext(ctx context.Context) IsInstanceGroupManagerPolicyOutput +} + +func (*IsInstanceGroupManagerPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroupManagerPolicy)(nil)).Elem() +} + +func (i *IsInstanceGroupManagerPolicy) ToIsInstanceGroupManagerPolicyOutput() IsInstanceGroupManagerPolicyOutput { + return i.ToIsInstanceGroupManagerPolicyOutputWithContext(context.Background()) +} + +func (i *IsInstanceGroupManagerPolicy) ToIsInstanceGroupManagerPolicyOutputWithContext(ctx context.Context) IsInstanceGroupManagerPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupManagerPolicyOutput) +} + +type IsInstanceGroupManagerPolicyOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupManagerPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroupManagerPolicy)(nil)).Elem() +} + +func (o IsInstanceGroupManagerPolicyOutput) ToIsInstanceGroupManagerPolicyOutput() IsInstanceGroupManagerPolicyOutput { + return o +} + +func (o IsInstanceGroupManagerPolicyOutput) ToIsInstanceGroupManagerPolicyOutputWithContext(ctx context.Context) IsInstanceGroupManagerPolicyOutput { + return o +} + +// instance group ID +func (o IsInstanceGroupManagerPolicyOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerPolicy) pulumi.StringOutput { return v.InstanceGroup }).(pulumi.StringOutput) +} + +// Instance group manager ID +func (o IsInstanceGroupManagerPolicyOutput) InstanceGroupManager() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerPolicy) pulumi.StringOutput { return v.InstanceGroupManager }).(pulumi.StringOutput) +} + +// The type of metric to be evaluated +func (o IsInstanceGroupManagerPolicyOutput) MetricType() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerPolicy) pulumi.StringOutput { return v.MetricType }).(pulumi.StringOutput) +} + +// The metric value to be evaluated +func (o IsInstanceGroupManagerPolicyOutput) MetricValue() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerPolicy) pulumi.IntOutput { return v.MetricValue }).(pulumi.IntOutput) +} + +// instance group manager policy name +func (o IsInstanceGroupManagerPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The Policy ID +func (o IsInstanceGroupManagerPolicyOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerPolicy) pulumi.StringOutput { return v.PolicyId }).(pulumi.StringOutput) +} + +// The type of Policy for the Instance Group +func (o IsInstanceGroupManagerPolicyOutput) PolicyType() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupManagerPolicy) pulumi.StringOutput { return v.PolicyType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupManagerPolicyInput)(nil)).Elem(), &IsInstanceGroupManagerPolicy{}) + pulumi.RegisterOutputType(IsInstanceGroupManagerPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupMembership.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupMembership.go new file mode 100644 index 000000000..1e46ad0c0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceGroupMembership.go @@ -0,0 +1,221 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceGroupMembership struct { + pulumi.CustomResourceState + + // The delete flag for this instance group membership. Must be set to true to delete instance group membership. + ActionDelete pulumi.BoolPtrOutput `pulumi:"actionDelete"` + // If set to true, when deleting the membership the instance will also be deleted. + DeleteInstanceOnMembershipDelete pulumi.BoolOutput `pulumi:"deleteInstanceOnMembershipDelete"` + // The instance group identifier. + InstanceGroup pulumi.StringOutput `pulumi:"instanceGroup"` + // The unique identifier for this instance group membership. + InstanceGroupMembership pulumi.StringOutput `pulumi:"instanceGroupMembership"` + InstanceTemplates IsInstanceGroupMembershipInstanceTemplateArrayOutput `pulumi:"instanceTemplates"` + Instances IsInstanceGroupMembershipInstanceArrayOutput `pulumi:"instances"` + // The unique identifier for this load balancer pool member. + LoadBalancerPoolMember pulumi.StringOutput `pulumi:"loadBalancerPoolMember"` + // The user-defined name for this instance group membership. Names must be unique within the instance group. + Name pulumi.StringOutput `pulumi:"name"` + // The status of the instance group membership- `deleting`: Membership is deleting dependent resources- `failed`: Membership was unable to maintain dependent resources- `healthy`: Membership is active and serving in the group- `pending`: Membership is waiting for dependent resources- `unhealthy`: Membership has unhealthy dependent resources. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewIsInstanceGroupMembership registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceGroupMembership(ctx *pulumi.Context, + name string, args *IsInstanceGroupMembershipArgs, opts ...pulumi.ResourceOption) (*IsInstanceGroupMembership, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceGroup == nil { + return nil, errors.New("invalid value for required argument 'InstanceGroup'") + } + if args.InstanceGroupMembership == nil { + return nil, errors.New("invalid value for required argument 'InstanceGroupMembership'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceGroupMembership + err := ctx.RegisterResource("ibmcloud:index/isInstanceGroupMembership:IsInstanceGroupMembership", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceGroupMembership gets an existing IsInstanceGroupMembership resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceGroupMembership(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceGroupMembershipState, opts ...pulumi.ResourceOption) (*IsInstanceGroupMembership, error) { + var resource IsInstanceGroupMembership + err := ctx.ReadResource("ibmcloud:index/isInstanceGroupMembership:IsInstanceGroupMembership", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceGroupMembership resources. +type isInstanceGroupMembershipState struct { + // The delete flag for this instance group membership. Must be set to true to delete instance group membership. + ActionDelete *bool `pulumi:"actionDelete"` + // If set to true, when deleting the membership the instance will also be deleted. + DeleteInstanceOnMembershipDelete *bool `pulumi:"deleteInstanceOnMembershipDelete"` + // The instance group identifier. + InstanceGroup *string `pulumi:"instanceGroup"` + // The unique identifier for this instance group membership. + InstanceGroupMembership *string `pulumi:"instanceGroupMembership"` + InstanceTemplates []IsInstanceGroupMembershipInstanceTemplate `pulumi:"instanceTemplates"` + Instances []IsInstanceGroupMembershipInstance `pulumi:"instances"` + // The unique identifier for this load balancer pool member. + LoadBalancerPoolMember *string `pulumi:"loadBalancerPoolMember"` + // The user-defined name for this instance group membership. Names must be unique within the instance group. + Name *string `pulumi:"name"` + // The status of the instance group membership- `deleting`: Membership is deleting dependent resources- `failed`: Membership was unable to maintain dependent resources- `healthy`: Membership is active and serving in the group- `pending`: Membership is waiting for dependent resources- `unhealthy`: Membership has unhealthy dependent resources. + Status *string `pulumi:"status"` +} + +type IsInstanceGroupMembershipState struct { + // The delete flag for this instance group membership. Must be set to true to delete instance group membership. + ActionDelete pulumi.BoolPtrInput + // If set to true, when deleting the membership the instance will also be deleted. + DeleteInstanceOnMembershipDelete pulumi.BoolPtrInput + // The instance group identifier. + InstanceGroup pulumi.StringPtrInput + // The unique identifier for this instance group membership. + InstanceGroupMembership pulumi.StringPtrInput + InstanceTemplates IsInstanceGroupMembershipInstanceTemplateArrayInput + Instances IsInstanceGroupMembershipInstanceArrayInput + // The unique identifier for this load balancer pool member. + LoadBalancerPoolMember pulumi.StringPtrInput + // The user-defined name for this instance group membership. Names must be unique within the instance group. + Name pulumi.StringPtrInput + // The status of the instance group membership- `deleting`: Membership is deleting dependent resources- `failed`: Membership was unable to maintain dependent resources- `healthy`: Membership is active and serving in the group- `pending`: Membership is waiting for dependent resources- `unhealthy`: Membership has unhealthy dependent resources. + Status pulumi.StringPtrInput +} + +func (IsInstanceGroupMembershipState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupMembershipState)(nil)).Elem() +} + +type isInstanceGroupMembershipArgs struct { + // The delete flag for this instance group membership. Must be set to true to delete instance group membership. + ActionDelete *bool `pulumi:"actionDelete"` + // The instance group identifier. + InstanceGroup string `pulumi:"instanceGroup"` + // The unique identifier for this instance group membership. + InstanceGroupMembership string `pulumi:"instanceGroupMembership"` + // The user-defined name for this instance group membership. Names must be unique within the instance group. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a IsInstanceGroupMembership resource. +type IsInstanceGroupMembershipArgs struct { + // The delete flag for this instance group membership. Must be set to true to delete instance group membership. + ActionDelete pulumi.BoolPtrInput + // The instance group identifier. + InstanceGroup pulumi.StringInput + // The unique identifier for this instance group membership. + InstanceGroupMembership pulumi.StringInput + // The user-defined name for this instance group membership. Names must be unique within the instance group. + Name pulumi.StringPtrInput +} + +func (IsInstanceGroupMembershipArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceGroupMembershipArgs)(nil)).Elem() +} + +type IsInstanceGroupMembershipInput interface { + pulumi.Input + + ToIsInstanceGroupMembershipOutput() IsInstanceGroupMembershipOutput + ToIsInstanceGroupMembershipOutputWithContext(ctx context.Context) IsInstanceGroupMembershipOutput +} + +func (*IsInstanceGroupMembership) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroupMembership)(nil)).Elem() +} + +func (i *IsInstanceGroupMembership) ToIsInstanceGroupMembershipOutput() IsInstanceGroupMembershipOutput { + return i.ToIsInstanceGroupMembershipOutputWithContext(context.Background()) +} + +func (i *IsInstanceGroupMembership) ToIsInstanceGroupMembershipOutputWithContext(ctx context.Context) IsInstanceGroupMembershipOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupMembershipOutput) +} + +type IsInstanceGroupMembershipOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupMembershipOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceGroupMembership)(nil)).Elem() +} + +func (o IsInstanceGroupMembershipOutput) ToIsInstanceGroupMembershipOutput() IsInstanceGroupMembershipOutput { + return o +} + +func (o IsInstanceGroupMembershipOutput) ToIsInstanceGroupMembershipOutputWithContext(ctx context.Context) IsInstanceGroupMembershipOutput { + return o +} + +// The delete flag for this instance group membership. Must be set to true to delete instance group membership. +func (o IsInstanceGroupMembershipOutput) ActionDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) pulumi.BoolPtrOutput { return v.ActionDelete }).(pulumi.BoolPtrOutput) +} + +// If set to true, when deleting the membership the instance will also be deleted. +func (o IsInstanceGroupMembershipOutput) DeleteInstanceOnMembershipDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) pulumi.BoolOutput { return v.DeleteInstanceOnMembershipDelete }).(pulumi.BoolOutput) +} + +// The instance group identifier. +func (o IsInstanceGroupMembershipOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) pulumi.StringOutput { return v.InstanceGroup }).(pulumi.StringOutput) +} + +// The unique identifier for this instance group membership. +func (o IsInstanceGroupMembershipOutput) InstanceGroupMembership() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) pulumi.StringOutput { return v.InstanceGroupMembership }).(pulumi.StringOutput) +} + +func (o IsInstanceGroupMembershipOutput) InstanceTemplates() IsInstanceGroupMembershipInstanceTemplateArrayOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) IsInstanceGroupMembershipInstanceTemplateArrayOutput { + return v.InstanceTemplates + }).(IsInstanceGroupMembershipInstanceTemplateArrayOutput) +} + +func (o IsInstanceGroupMembershipOutput) Instances() IsInstanceGroupMembershipInstanceArrayOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) IsInstanceGroupMembershipInstanceArrayOutput { return v.Instances }).(IsInstanceGroupMembershipInstanceArrayOutput) +} + +// The unique identifier for this load balancer pool member. +func (o IsInstanceGroupMembershipOutput) LoadBalancerPoolMember() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) pulumi.StringOutput { return v.LoadBalancerPoolMember }).(pulumi.StringOutput) +} + +// The user-defined name for this instance group membership. Names must be unique within the instance group. +func (o IsInstanceGroupMembershipOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The status of the instance group membership- `deleting`: Membership is deleting dependent resources- `failed`: Membership was unable to maintain dependent resources- `healthy`: Membership is active and serving in the group- `pending`: Membership is waiting for dependent resources- `unhealthy`: Membership has unhealthy dependent resources. +func (o IsInstanceGroupMembershipOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceGroupMembership) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupMembershipInput)(nil)).Elem(), &IsInstanceGroupMembership{}) + pulumi.RegisterOutputType(IsInstanceGroupMembershipOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkAttachment.go new file mode 100644 index 000000000..edd1ce48c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkAttachment.go @@ -0,0 +1,233 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceNetworkAttachment struct { + pulumi.CustomResourceState + + // The date and time that the instance network attachment was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The URL for this instance network attachment. + Href pulumi.StringOutput `pulumi:"href"` + // The virtual server instance identifier. + Instance pulumi.StringOutput `pulumi:"instance"` + // The lifecycle state of the instance network attachment. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier for this instance network attachment. + NetworkAttachment pulumi.StringOutput `pulumi:"networkAttachment"` + // The port speed for this instance network attachment in Mbps. + PortSpeed pulumi.IntOutput `pulumi:"portSpeed"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The instance network attachment type. + Type pulumi.StringOutput `pulumi:"type"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput `pulumi:"virtualNetworkInterface"` +} + +// NewIsInstanceNetworkAttachment registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceNetworkAttachment(ctx *pulumi.Context, + name string, args *IsInstanceNetworkAttachmentArgs, opts ...pulumi.ResourceOption) (*IsInstanceNetworkAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Instance == nil { + return nil, errors.New("invalid value for required argument 'Instance'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceNetworkAttachment + err := ctx.RegisterResource("ibmcloud:index/isInstanceNetworkAttachment:IsInstanceNetworkAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceNetworkAttachment gets an existing IsInstanceNetworkAttachment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceNetworkAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceNetworkAttachmentState, opts ...pulumi.ResourceOption) (*IsInstanceNetworkAttachment, error) { + var resource IsInstanceNetworkAttachment + err := ctx.ReadResource("ibmcloud:index/isInstanceNetworkAttachment:IsInstanceNetworkAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceNetworkAttachment resources. +type isInstanceNetworkAttachmentState struct { + // The date and time that the instance network attachment was created. + CreatedAt *string `pulumi:"createdAt"` + // The URL for this instance network attachment. + Href *string `pulumi:"href"` + // The virtual server instance identifier. + Instance *string `pulumi:"instance"` + // The lifecycle state of the instance network attachment. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // The unique identifier for this instance network attachment. + NetworkAttachment *string `pulumi:"networkAttachment"` + // The port speed for this instance network attachment in Mbps. + PortSpeed *int `pulumi:"portSpeed"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The instance network attachment type. + Type *string `pulumi:"type"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsInstanceNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` +} + +type IsInstanceNetworkAttachmentState struct { + // The date and time that the instance network attachment was created. + CreatedAt pulumi.StringPtrInput + // The URL for this instance network attachment. + Href pulumi.StringPtrInput + // The virtual server instance identifier. + Instance pulumi.StringPtrInput + // The lifecycle state of the instance network attachment. + LifecycleState pulumi.StringPtrInput + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput + // The unique identifier for this instance network attachment. + NetworkAttachment pulumi.StringPtrInput + // The port speed for this instance network attachment in Mbps. + PortSpeed pulumi.IntPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The instance network attachment type. + Type pulumi.StringPtrInput + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrInput +} + +func (IsInstanceNetworkAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceNetworkAttachmentState)(nil)).Elem() +} + +type isInstanceNetworkAttachmentArgs struct { + // The virtual server instance identifier. + Instance string `pulumi:"instance"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsInstanceNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` +} + +// The set of arguments for constructing a IsInstanceNetworkAttachment resource. +type IsInstanceNetworkAttachmentArgs struct { + // The virtual server instance identifier. + Instance pulumi.StringInput + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrInput +} + +func (IsInstanceNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceNetworkAttachmentArgs)(nil)).Elem() +} + +type IsInstanceNetworkAttachmentInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentOutput() IsInstanceNetworkAttachmentOutput + ToIsInstanceNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentOutput +} + +func (*IsInstanceNetworkAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkAttachment)(nil)).Elem() +} + +func (i *IsInstanceNetworkAttachment) ToIsInstanceNetworkAttachmentOutput() IsInstanceNetworkAttachmentOutput { + return i.ToIsInstanceNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i *IsInstanceNetworkAttachment) ToIsInstanceNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentOutput) +} + +type IsInstanceNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkAttachment)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentOutput) ToIsInstanceNetworkAttachmentOutput() IsInstanceNetworkAttachmentOutput { + return o +} + +func (o IsInstanceNetworkAttachmentOutput) ToIsInstanceNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentOutput { + return o +} + +// The date and time that the instance network attachment was created. +func (o IsInstanceNetworkAttachmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this instance network attachment. +func (o IsInstanceNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The virtual server instance identifier. +func (o IsInstanceNetworkAttachmentOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.StringOutput { return v.Instance }).(pulumi.StringOutput) +} + +// The lifecycle state of the instance network attachment. +func (o IsInstanceNetworkAttachmentOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this instance network attachment. The name is unique across all network attachments for the instance. +func (o IsInstanceNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier for this instance network attachment. +func (o IsInstanceNetworkAttachmentOutput) NetworkAttachment() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.StringOutput { return v.NetworkAttachment }).(pulumi.StringOutput) +} + +// The port speed for this instance network attachment in Mbps. +func (o IsInstanceNetworkAttachmentOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.IntOutput { return v.PortSpeed }).(pulumi.IntOutput) +} + +// The resource type. +func (o IsInstanceNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The instance network attachment type. +func (o IsInstanceNetworkAttachmentOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsInstanceNetworkAttachmentOutput) VirtualNetworkInterface() IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachment) IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return v.VirtualNetworkInterface + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentInput)(nil)).Elem(), &IsInstanceNetworkAttachment{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkInterface.go new file mode 100644 index 000000000..bef9148c4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkInterface.go @@ -0,0 +1,328 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceNetworkInterface struct { + pulumi.CustomResourceState + + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrOutput `pulumi:"allowIpSpoofing"` + // The date and time that the network interface was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The ID of the floating IP to attach to this network interface + FloatingIp pulumi.StringPtrOutput `pulumi:"floatingIp"` + // The floating IPs associated with this network interface. + FloatingIps IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput `pulumi:"floatingIps"` + // The URL for this network interface. + Href pulumi.StringOutput `pulumi:"href"` + // The unique identifier of the instance. + Instance pulumi.StringOutput `pulumi:"instance"` + // The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // The globally unique ID of this network interface + NetworkInterface pulumi.StringOutput `pulumi:"networkInterface"` + // The network interface port speed in Mbps. + PortSpeed pulumi.IntOutput `pulumi:"portSpeed"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp IsInstanceNetworkInterfacePrimaryIpOutput `pulumi:"primaryIp"` + // The primary IPv4 address. If specified, it must be an available address on the network interface's subnet. If unspecified, an available address on the subnet will be automatically selected. + // + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address pulumi.StringOutput `pulumi:"primaryIpv4Address"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` + // The status of the network interface. + Status pulumi.StringOutput `pulumi:"status"` + // The unique identifier of the subnet. + Subnet pulumi.StringOutput `pulumi:"subnet"` + // The type of this network interface as it relates to an instance. + Type pulumi.StringOutput `pulumi:"type"` +} + +// NewIsInstanceNetworkInterface registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceNetworkInterface(ctx *pulumi.Context, + name string, args *IsInstanceNetworkInterfaceArgs, opts ...pulumi.ResourceOption) (*IsInstanceNetworkInterface, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Instance == nil { + return nil, errors.New("invalid value for required argument 'Instance'") + } + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceNetworkInterface + err := ctx.RegisterResource("ibmcloud:index/isInstanceNetworkInterface:IsInstanceNetworkInterface", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceNetworkInterface gets an existing IsInstanceNetworkInterface resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceNetworkInterface(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceNetworkInterfaceState, opts ...pulumi.ResourceOption) (*IsInstanceNetworkInterface, error) { + var resource IsInstanceNetworkInterface + err := ctx.ReadResource("ibmcloud:index/isInstanceNetworkInterface:IsInstanceNetworkInterface", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceNetworkInterface resources. +type isInstanceNetworkInterfaceState struct { + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // The date and time that the network interface was created. + CreatedAt *string `pulumi:"createdAt"` + // The ID of the floating IP to attach to this network interface + FloatingIp *string `pulumi:"floatingIp"` + // The floating IPs associated with this network interface. + FloatingIps []IsInstanceNetworkInterfaceFloatingIpType `pulumi:"floatingIps"` + // The URL for this network interface. + Href *string `pulumi:"href"` + // The unique identifier of the instance. + Instance *string `pulumi:"instance"` + // The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The globally unique ID of this network interface + NetworkInterface *string `pulumi:"networkInterface"` + // The network interface port speed in Mbps. + PortSpeed *int `pulumi:"portSpeed"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp *IsInstanceNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The primary IPv4 address. If specified, it must be an available address on the network interface's subnet. If unspecified, an available address on the subnet will be automatically selected. + // + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address *string `pulumi:"primaryIpv4Address"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + SecurityGroups []string `pulumi:"securityGroups"` + // The status of the network interface. + Status *string `pulumi:"status"` + // The unique identifier of the subnet. + Subnet *string `pulumi:"subnet"` + // The type of this network interface as it relates to an instance. + Type *string `pulumi:"type"` +} + +type IsInstanceNetworkInterfaceState struct { + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput + // The date and time that the network interface was created. + CreatedAt pulumi.StringPtrInput + // The ID of the floating IP to attach to this network interface + FloatingIp pulumi.StringPtrInput + // The floating IPs associated with this network interface. + FloatingIps IsInstanceNetworkInterfaceFloatingIpTypeArrayInput + // The URL for this network interface. + Href pulumi.StringPtrInput + // The unique identifier of the instance. + Instance pulumi.StringPtrInput + // The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The globally unique ID of this network interface + NetworkInterface pulumi.StringPtrInput + // The network interface port speed in Mbps. + PortSpeed pulumi.IntPtrInput + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp IsInstanceNetworkInterfacePrimaryIpPtrInput + // The primary IPv4 address. If specified, it must be an available address on the network interface's subnet. If unspecified, an available address on the subnet will be automatically selected. + // + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + SecurityGroups pulumi.StringArrayInput + // The status of the network interface. + Status pulumi.StringPtrInput + // The unique identifier of the subnet. + Subnet pulumi.StringPtrInput + // The type of this network interface as it relates to an instance. + Type pulumi.StringPtrInput +} + +func (IsInstanceNetworkInterfaceState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceNetworkInterfaceState)(nil)).Elem() +} + +type isInstanceNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // The ID of the floating IP to attach to this network interface + FloatingIp *string `pulumi:"floatingIp"` + // The unique identifier of the instance. + Instance string `pulumi:"instance"` + // The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp *IsInstanceNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The primary IPv4 address. If specified, it must be an available address on the network interface's subnet. If unspecified, an available address on the subnet will be automatically selected. + // + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address *string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + // The unique identifier of the subnet. + Subnet string `pulumi:"subnet"` +} + +// The set of arguments for constructing a IsInstanceNetworkInterface resource. +type IsInstanceNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput + // The ID of the floating IP to attach to this network interface + FloatingIp pulumi.StringPtrInput + // The unique identifier of the instance. + Instance pulumi.StringInput + // The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp IsInstanceNetworkInterfacePrimaryIpPtrInput + // The primary IPv4 address. If specified, it must be an available address on the network interface's subnet. If unspecified, an available address on the subnet will be automatically selected. + // + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address pulumi.StringPtrInput + SecurityGroups pulumi.StringArrayInput + // The unique identifier of the subnet. + Subnet pulumi.StringInput +} + +func (IsInstanceNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceNetworkInterfaceArgs)(nil)).Elem() +} + +type IsInstanceNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfaceOutput() IsInstanceNetworkInterfaceOutput + ToIsInstanceNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceOutput +} + +func (*IsInstanceNetworkInterface) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkInterface)(nil)).Elem() +} + +func (i *IsInstanceNetworkInterface) ToIsInstanceNetworkInterfaceOutput() IsInstanceNetworkInterfaceOutput { + return i.ToIsInstanceNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i *IsInstanceNetworkInterface) ToIsInstanceNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfaceOutput) +} + +type IsInstanceNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfaceOutput) ToIsInstanceNetworkInterfaceOutput() IsInstanceNetworkInterfaceOutput { + return o +} + +func (o IsInstanceNetworkInterfaceOutput) ToIsInstanceNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. +func (o IsInstanceNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.BoolPtrOutput { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// The date and time that the network interface was created. +func (o IsInstanceNetworkInterfaceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The ID of the floating IP to attach to this network interface +func (o IsInstanceNetworkInterfaceOutput) FloatingIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringPtrOutput { return v.FloatingIp }).(pulumi.StringPtrOutput) +} + +// The floating IPs associated with this network interface. +func (o IsInstanceNetworkInterfaceOutput) FloatingIps() IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return v.FloatingIps + }).(IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) +} + +// The URL for this network interface. +func (o IsInstanceNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier of the instance. +func (o IsInstanceNetworkInterfaceOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.Instance }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsInstanceNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The globally unique ID of this network interface +func (o IsInstanceNetworkInterfaceOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.NetworkInterface }).(pulumi.StringOutput) +} + +// The network interface port speed in Mbps. +func (o IsInstanceNetworkInterfaceOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.IntOutput { return v.PortSpeed }).(pulumi.IntOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o IsInstanceNetworkInterfaceOutput) PrimaryIp() IsInstanceNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) IsInstanceNetworkInterfacePrimaryIpOutput { return v.PrimaryIp }).(IsInstanceNetworkInterfacePrimaryIpOutput) +} + +// The primary IPv4 address. If specified, it must be an available address on the network interface's subnet. If unspecified, an available address on the subnet will be automatically selected. +// +// Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead +func (o IsInstanceNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsInstanceNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o IsInstanceNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The status of the network interface. +func (o IsInstanceNetworkInterfaceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The unique identifier of the subnet. +func (o IsInstanceNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +// The type of this network interface as it relates to an instance. +func (o IsInstanceNetworkInterfaceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterface) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfaceInput)(nil)).Elem(), &IsInstanceNetworkInterface{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfaceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkInterfaceFloatingIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkInterfaceFloatingIp.go new file mode 100644 index 000000000..f78946e82 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceNetworkInterfaceFloatingIp.go @@ -0,0 +1,226 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceNetworkInterfaceFloatingIp struct { + pulumi.CustomResourceState + + // Floating IP address + Address pulumi.StringOutput `pulumi:"address"` + // Floating IP crn + Crn pulumi.StringOutput `pulumi:"crn"` + // The floating ip identifier of the network interface associated with the Instance + FloatingIp pulumi.StringOutput `pulumi:"floatingIp"` + // Instance identifier + Instance pulumi.StringOutput `pulumi:"instance"` + // Name of the floating IP + Name pulumi.StringOutput `pulumi:"name"` + // Instance network interface identifier + NetworkInterface pulumi.StringOutput `pulumi:"networkInterface"` + // Floating IP status + Status pulumi.StringOutput `pulumi:"status"` + // Target info + Target pulumi.StringOutput `pulumi:"target"` + // Zone name + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsInstanceNetworkInterfaceFloatingIp registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceNetworkInterfaceFloatingIp(ctx *pulumi.Context, + name string, args *IsInstanceNetworkInterfaceFloatingIpArgs, opts ...pulumi.ResourceOption) (*IsInstanceNetworkInterfaceFloatingIp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.FloatingIp == nil { + return nil, errors.New("invalid value for required argument 'FloatingIp'") + } + if args.Instance == nil { + return nil, errors.New("invalid value for required argument 'Instance'") + } + if args.NetworkInterface == nil { + return nil, errors.New("invalid value for required argument 'NetworkInterface'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceNetworkInterfaceFloatingIp + err := ctx.RegisterResource("ibmcloud:index/isInstanceNetworkInterfaceFloatingIp:IsInstanceNetworkInterfaceFloatingIp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceNetworkInterfaceFloatingIp gets an existing IsInstanceNetworkInterfaceFloatingIp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceNetworkInterfaceFloatingIp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceNetworkInterfaceFloatingIpState, opts ...pulumi.ResourceOption) (*IsInstanceNetworkInterfaceFloatingIp, error) { + var resource IsInstanceNetworkInterfaceFloatingIp + err := ctx.ReadResource("ibmcloud:index/isInstanceNetworkInterfaceFloatingIp:IsInstanceNetworkInterfaceFloatingIp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceNetworkInterfaceFloatingIp resources. +type isInstanceNetworkInterfaceFloatingIpState struct { + // Floating IP address + Address *string `pulumi:"address"` + // Floating IP crn + Crn *string `pulumi:"crn"` + // The floating ip identifier of the network interface associated with the Instance + FloatingIp *string `pulumi:"floatingIp"` + // Instance identifier + Instance *string `pulumi:"instance"` + // Name of the floating IP + Name *string `pulumi:"name"` + // Instance network interface identifier + NetworkInterface *string `pulumi:"networkInterface"` + // Floating IP status + Status *string `pulumi:"status"` + // Target info + Target *string `pulumi:"target"` + // Zone name + Zone *string `pulumi:"zone"` +} + +type IsInstanceNetworkInterfaceFloatingIpState struct { + // Floating IP address + Address pulumi.StringPtrInput + // Floating IP crn + Crn pulumi.StringPtrInput + // The floating ip identifier of the network interface associated with the Instance + FloatingIp pulumi.StringPtrInput + // Instance identifier + Instance pulumi.StringPtrInput + // Name of the floating IP + Name pulumi.StringPtrInput + // Instance network interface identifier + NetworkInterface pulumi.StringPtrInput + // Floating IP status + Status pulumi.StringPtrInput + // Target info + Target pulumi.StringPtrInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsInstanceNetworkInterfaceFloatingIpState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceNetworkInterfaceFloatingIpState)(nil)).Elem() +} + +type isInstanceNetworkInterfaceFloatingIpArgs struct { + // The floating ip identifier of the network interface associated with the Instance + FloatingIp string `pulumi:"floatingIp"` + // Instance identifier + Instance string `pulumi:"instance"` + // Instance network interface identifier + NetworkInterface string `pulumi:"networkInterface"` +} + +// The set of arguments for constructing a IsInstanceNetworkInterfaceFloatingIp resource. +type IsInstanceNetworkInterfaceFloatingIpArgs struct { + // The floating ip identifier of the network interface associated with the Instance + FloatingIp pulumi.StringInput + // Instance identifier + Instance pulumi.StringInput + // Instance network interface identifier + NetworkInterface pulumi.StringInput +} + +func (IsInstanceNetworkInterfaceFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceNetworkInterfaceFloatingIpArgs)(nil)).Elem() +} + +type IsInstanceNetworkInterfaceFloatingIpInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfaceFloatingIpOutput() IsInstanceNetworkInterfaceFloatingIpOutput + ToIsInstanceNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpOutput +} + +func (*IsInstanceNetworkInterfaceFloatingIp) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (i *IsInstanceNetworkInterfaceFloatingIp) ToIsInstanceNetworkInterfaceFloatingIpOutput() IsInstanceNetworkInterfaceFloatingIpOutput { + return i.ToIsInstanceNetworkInterfaceFloatingIpOutputWithContext(context.Background()) +} + +func (i *IsInstanceNetworkInterfaceFloatingIp) ToIsInstanceNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfaceFloatingIpOutput) +} + +type IsInstanceNetworkInterfaceFloatingIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfaceFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfaceFloatingIpOutput) ToIsInstanceNetworkInterfaceFloatingIpOutput() IsInstanceNetworkInterfaceFloatingIpOutput { + return o +} + +func (o IsInstanceNetworkInterfaceFloatingIpOutput) ToIsInstanceNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpOutput { + return o +} + +// Floating IP address +func (o IsInstanceNetworkInterfaceFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) +} + +// Floating IP crn +func (o IsInstanceNetworkInterfaceFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The floating ip identifier of the network interface associated with the Instance +func (o IsInstanceNetworkInterfaceFloatingIpOutput) FloatingIp() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.FloatingIp }).(pulumi.StringOutput) +} + +// Instance identifier +func (o IsInstanceNetworkInterfaceFloatingIpOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Instance }).(pulumi.StringOutput) +} + +// Name of the floating IP +func (o IsInstanceNetworkInterfaceFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Instance network interface identifier +func (o IsInstanceNetworkInterfaceFloatingIpOutput) NetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.NetworkInterface }).(pulumi.StringOutput) +} + +// Floating IP status +func (o IsInstanceNetworkInterfaceFloatingIpOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Target info +func (o IsInstanceNetworkInterfaceFloatingIpOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// Zone name +func (o IsInstanceNetworkInterfaceFloatingIpOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpInput)(nil)).Elem(), &IsInstanceNetworkInterfaceFloatingIp{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfaceFloatingIpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceTemplate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceTemplate.go new file mode 100644 index 000000000..897ab4405 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceTemplate.go @@ -0,0 +1,573 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceTemplate struct { + pulumi.CustomResourceState + + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure pulumi.StringOutput `pulumi:"availabilityPolicyHostFailure"` + BootVolume IsInstanceTemplateBootVolumeOutput `pulumi:"bootVolume"` + // The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering IsInstanceTemplateCatalogOfferingPtrOutput `pulumi:"catalogOffering"` + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. + ClusterNetworkAttachments IsInstanceTemplateClusterNetworkAttachmentArrayOutput `pulumi:"clusterNetworkAttachments"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode pulumi.StringPtrOutput `pulumi:"confidentialComputeMode"` + // The CRN for the instance + Crn pulumi.StringOutput `pulumi:"crn"` + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost pulumi.StringPtrOutput `pulumi:"dedicatedHost"` + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup pulumi.StringPtrOutput `pulumi:"dedicatedHostGroup"` + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink pulumi.BoolOutput `pulumi:"defaultTrustedProfileAutoLink"` + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget pulumi.StringPtrOutput `pulumi:"defaultTrustedProfileTarget"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot pulumi.BoolPtrOutput `pulumi:"enableSecureBoot"` + // image name + Image pulumi.StringPtrOutput `pulumi:"image"` + // SSH key Ids for the instance template + Keys pulumi.StringArrayOutput `pulumi:"keys"` + // The metadata service configuration + MetadataService IsInstanceTemplateMetadataServiceOutput `pulumi:"metadataService"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled pulumi.BoolOutput `pulumi:"metadataServiceEnabled"` + // Instance Template name + Name pulumi.StringOutput `pulumi:"name"` + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments IsInstanceTemplateNetworkAttachmentArrayOutput `pulumi:"networkAttachments"` + NetworkInterfaces IsInstanceTemplateNetworkInterfaceArrayOutput `pulumi:"networkInterfaces"` + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup pulumi.StringPtrOutput `pulumi:"placementGroup"` + // The placement restrictions for the virtual server instance. + PlacementTargets IsInstanceTemplatePlacementTargetArrayOutput `pulumi:"placementTargets"` + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface IsInstanceTemplatePrimaryNetworkInterfacePtrOutput `pulumi:"primaryNetworkInterface"` + // Profile info + Profile pulumi.StringOutput `pulumi:"profile"` + ReservationAffinities IsInstanceTemplateReservationAffinityArrayOutput `pulumi:"reservationAffinities"` + // Instance template resource group + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth pulumi.IntPtrOutput `pulumi:"totalVolumeBandwidth"` + // User data given for the instance + UserData pulumi.StringPtrOutput `pulumi:"userData"` + VolumeAttachments IsInstanceTemplateVolumeAttachmentArrayOutput `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode pulumi.StringPtrOutput `pulumi:"volumeBandwidthQosMode"` + // VPC id + Vpc pulumi.StringOutput `pulumi:"vpc"` + // Zone name + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsInstanceTemplate registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceTemplate(ctx *pulumi.Context, + name string, args *IsInstanceTemplateArgs, opts ...pulumi.ResourceOption) (*IsInstanceTemplate, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Keys == nil { + return nil, errors.New("invalid value for required argument 'Keys'") + } + if args.Profile == nil { + return nil, errors.New("invalid value for required argument 'Profile'") + } + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceTemplate + err := ctx.RegisterResource("ibmcloud:index/isInstanceTemplate:IsInstanceTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceTemplate gets an existing IsInstanceTemplate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceTemplateState, opts ...pulumi.ResourceOption) (*IsInstanceTemplate, error) { + var resource IsInstanceTemplate + err := ctx.ReadResource("ibmcloud:index/isInstanceTemplate:IsInstanceTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceTemplate resources. +type isInstanceTemplateState struct { + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure *string `pulumi:"availabilityPolicyHostFailure"` + BootVolume *IsInstanceTemplateBootVolume `pulumi:"bootVolume"` + // The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering *IsInstanceTemplateCatalogOffering `pulumi:"catalogOffering"` + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. + ClusterNetworkAttachments []IsInstanceTemplateClusterNetworkAttachment `pulumi:"clusterNetworkAttachments"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `pulumi:"confidentialComputeMode"` + // The CRN for the instance + Crn *string `pulumi:"crn"` + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost *string `pulumi:"dedicatedHost"` + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup *string `pulumi:"dedicatedHostGroup"` + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink *bool `pulumi:"defaultTrustedProfileAutoLink"` + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget *string `pulumi:"defaultTrustedProfileTarget"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `pulumi:"enableSecureBoot"` + // image name + Image *string `pulumi:"image"` + // SSH key Ids for the instance template + Keys []string `pulumi:"keys"` + // The metadata service configuration + MetadataService *IsInstanceTemplateMetadataService `pulumi:"metadataService"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled *bool `pulumi:"metadataServiceEnabled"` + // Instance Template name + Name *string `pulumi:"name"` + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments []IsInstanceTemplateNetworkAttachment `pulumi:"networkAttachments"` + NetworkInterfaces []IsInstanceTemplateNetworkInterface `pulumi:"networkInterfaces"` + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup *string `pulumi:"placementGroup"` + // The placement restrictions for the virtual server instance. + PlacementTargets []IsInstanceTemplatePlacementTarget `pulumi:"placementTargets"` + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment *IsInstanceTemplatePrimaryNetworkAttachment `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface *IsInstanceTemplatePrimaryNetworkInterface `pulumi:"primaryNetworkInterface"` + // Profile info + Profile *string `pulumi:"profile"` + ReservationAffinities []IsInstanceTemplateReservationAffinity `pulumi:"reservationAffinities"` + // Instance template resource group + ResourceGroup *string `pulumi:"resourceGroup"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth *int `pulumi:"totalVolumeBandwidth"` + // User data given for the instance + UserData *string `pulumi:"userData"` + VolumeAttachments []IsInstanceTemplateVolumeAttachment `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode *string `pulumi:"volumeBandwidthQosMode"` + // VPC id + Vpc *string `pulumi:"vpc"` + // Zone name + Zone *string `pulumi:"zone"` +} + +type IsInstanceTemplateState struct { + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure pulumi.StringPtrInput + BootVolume IsInstanceTemplateBootVolumePtrInput + // The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering IsInstanceTemplateCatalogOfferingPtrInput + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. + ClusterNetworkAttachments IsInstanceTemplateClusterNetworkAttachmentArrayInput + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode pulumi.StringPtrInput + // The CRN for the instance + Crn pulumi.StringPtrInput + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost pulumi.StringPtrInput + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup pulumi.StringPtrInput + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink pulumi.BoolPtrInput + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget pulumi.StringPtrInput + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot pulumi.BoolPtrInput + // image name + Image pulumi.StringPtrInput + // SSH key Ids for the instance template + Keys pulumi.StringArrayInput + // The metadata service configuration + MetadataService IsInstanceTemplateMetadataServicePtrInput + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled pulumi.BoolPtrInput + // Instance Template name + Name pulumi.StringPtrInput + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments IsInstanceTemplateNetworkAttachmentArrayInput + NetworkInterfaces IsInstanceTemplateNetworkInterfaceArrayInput + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup pulumi.StringPtrInput + // The placement restrictions for the virtual server instance. + PlacementTargets IsInstanceTemplatePlacementTargetArrayInput + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment IsInstanceTemplatePrimaryNetworkAttachmentPtrInput + // Primary Network interface info + PrimaryNetworkInterface IsInstanceTemplatePrimaryNetworkInterfacePtrInput + // Profile info + Profile pulumi.StringPtrInput + ReservationAffinities IsInstanceTemplateReservationAffinityArrayInput + // Instance template resource group + ResourceGroup pulumi.StringPtrInput + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth pulumi.IntPtrInput + // User data given for the instance + UserData pulumi.StringPtrInput + VolumeAttachments IsInstanceTemplateVolumeAttachmentArrayInput + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode pulumi.StringPtrInput + // VPC id + Vpc pulumi.StringPtrInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsInstanceTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceTemplateState)(nil)).Elem() +} + +type isInstanceTemplateArgs struct { + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure *string `pulumi:"availabilityPolicyHostFailure"` + BootVolume *IsInstanceTemplateBootVolume `pulumi:"bootVolume"` + // The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering *IsInstanceTemplateCatalogOffering `pulumi:"catalogOffering"` + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. + ClusterNetworkAttachments []IsInstanceTemplateClusterNetworkAttachment `pulumi:"clusterNetworkAttachments"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode *string `pulumi:"confidentialComputeMode"` + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost *string `pulumi:"dedicatedHost"` + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup *string `pulumi:"dedicatedHostGroup"` + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink *bool `pulumi:"defaultTrustedProfileAutoLink"` + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget *string `pulumi:"defaultTrustedProfileTarget"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot *bool `pulumi:"enableSecureBoot"` + // image name + Image *string `pulumi:"image"` + // SSH key Ids for the instance template + Keys []string `pulumi:"keys"` + // The metadata service configuration + MetadataService *IsInstanceTemplateMetadataService `pulumi:"metadataService"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled *bool `pulumi:"metadataServiceEnabled"` + // Instance Template name + Name *string `pulumi:"name"` + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments []IsInstanceTemplateNetworkAttachment `pulumi:"networkAttachments"` + NetworkInterfaces []IsInstanceTemplateNetworkInterface `pulumi:"networkInterfaces"` + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup *string `pulumi:"placementGroup"` + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment *IsInstanceTemplatePrimaryNetworkAttachment `pulumi:"primaryNetworkAttachment"` + // Primary Network interface info + PrimaryNetworkInterface *IsInstanceTemplatePrimaryNetworkInterface `pulumi:"primaryNetworkInterface"` + // Profile info + Profile string `pulumi:"profile"` + ReservationAffinities []IsInstanceTemplateReservationAffinity `pulumi:"reservationAffinities"` + // Instance template resource group + ResourceGroup *string `pulumi:"resourceGroup"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth *int `pulumi:"totalVolumeBandwidth"` + // User data given for the instance + UserData *string `pulumi:"userData"` + VolumeAttachments []IsInstanceTemplateVolumeAttachment `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode *string `pulumi:"volumeBandwidthQosMode"` + // VPC id + Vpc string `pulumi:"vpc"` + // Zone name + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsInstanceTemplate resource. +type IsInstanceTemplateArgs struct { + // The availability policy to use for this virtual server instance + AvailabilityPolicyHostFailure pulumi.StringPtrInput + BootVolume IsInstanceTemplateBootVolumePtrInput + // The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOffering IsInstanceTemplateCatalogOfferingPtrInput + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. + ClusterNetworkAttachments IsInstanceTemplateClusterNetworkAttachmentArrayInput + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode pulumi.StringPtrInput + // Unique Identifier of the Dedicated Host where the instance will be placed + DedicatedHost pulumi.StringPtrInput + // Unique Identifier of the Dedicated Host Group where the instance will be placed + DedicatedHostGroup pulumi.StringPtrInput + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink pulumi.BoolPtrInput + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget pulumi.StringPtrInput + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot pulumi.BoolPtrInput + // image name + Image pulumi.StringPtrInput + // SSH key Ids for the instance template + Keys pulumi.StringArrayInput + // The metadata service configuration + MetadataService IsInstanceTemplateMetadataServicePtrInput + // Indicates whether the metadata service endpoint is available to the virtual server instance + // + // Deprecated: Use metadataService instead + MetadataServiceEnabled pulumi.BoolPtrInput + // Instance Template name + Name pulumi.StringPtrInput + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments IsInstanceTemplateNetworkAttachmentArrayInput + NetworkInterfaces IsInstanceTemplateNetworkInterfaceArrayInput + // Unique Identifier of the Placement Group for restricting the placement of the instance + PlacementGroup pulumi.StringPtrInput + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachment IsInstanceTemplatePrimaryNetworkAttachmentPtrInput + // Primary Network interface info + PrimaryNetworkInterface IsInstanceTemplatePrimaryNetworkInterfacePtrInput + // Profile info + Profile pulumi.StringInput + ReservationAffinities IsInstanceTemplateReservationAffinityArrayInput + // Instance template resource group + ResourceGroup pulumi.StringPtrInput + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth pulumi.IntPtrInput + // User data given for the instance + UserData pulumi.StringPtrInput + VolumeAttachments IsInstanceTemplateVolumeAttachmentArrayInput + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode pulumi.StringPtrInput + // VPC id + Vpc pulumi.StringInput + // Zone name + Zone pulumi.StringInput +} + +func (IsInstanceTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceTemplateArgs)(nil)).Elem() +} + +type IsInstanceTemplateInput interface { + pulumi.Input + + ToIsInstanceTemplateOutput() IsInstanceTemplateOutput + ToIsInstanceTemplateOutputWithContext(ctx context.Context) IsInstanceTemplateOutput +} + +func (*IsInstanceTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplate)(nil)).Elem() +} + +func (i *IsInstanceTemplate) ToIsInstanceTemplateOutput() IsInstanceTemplateOutput { + return i.ToIsInstanceTemplateOutputWithContext(context.Background()) +} + +func (i *IsInstanceTemplate) ToIsInstanceTemplateOutputWithContext(ctx context.Context) IsInstanceTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateOutput) +} + +type IsInstanceTemplateOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplate)(nil)).Elem() +} + +func (o IsInstanceTemplateOutput) ToIsInstanceTemplateOutput() IsInstanceTemplateOutput { + return o +} + +func (o IsInstanceTemplateOutput) ToIsInstanceTemplateOutputWithContext(ctx context.Context) IsInstanceTemplateOutput { + return o +} + +// The availability policy to use for this virtual server instance +func (o IsInstanceTemplateOutput) AvailabilityPolicyHostFailure() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringOutput { return v.AvailabilityPolicyHostFailure }).(pulumi.StringOutput) +} + +func (o IsInstanceTemplateOutput) BootVolume() IsInstanceTemplateBootVolumeOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplateBootVolumeOutput { return v.BootVolume }).(IsInstanceTemplateBootVolumeOutput) +} + +// The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. +func (o IsInstanceTemplateOutput) CatalogOffering() IsInstanceTemplateCatalogOfferingPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplateCatalogOfferingPtrOutput { return v.CatalogOffering }).(IsInstanceTemplateCatalogOfferingPtrOutput) +} + +// The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. +func (o IsInstanceTemplateOutput) ClusterNetworkAttachments() IsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return v.ClusterNetworkAttachments + }).(IsInstanceTemplateClusterNetworkAttachmentArrayOutput) +} + +// The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. +func (o IsInstanceTemplateOutput) ConfidentialComputeMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringPtrOutput { return v.ConfidentialComputeMode }).(pulumi.StringPtrOutput) +} + +// The CRN for the instance +func (o IsInstanceTemplateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Unique Identifier of the Dedicated Host where the instance will be placed +func (o IsInstanceTemplateOutput) DedicatedHost() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringPtrOutput { return v.DedicatedHost }).(pulumi.StringPtrOutput) +} + +// Unique Identifier of the Dedicated Host Group where the instance will be placed +func (o IsInstanceTemplateOutput) DedicatedHostGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringPtrOutput { return v.DedicatedHostGroup }).(pulumi.StringPtrOutput) +} + +// If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. +func (o IsInstanceTemplateOutput) DefaultTrustedProfileAutoLink() pulumi.BoolOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.BoolOutput { return v.DefaultTrustedProfileAutoLink }).(pulumi.BoolOutput) +} + +// The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. +func (o IsInstanceTemplateOutput) DefaultTrustedProfileTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringPtrOutput { return v.DefaultTrustedProfileTarget }).(pulumi.StringPtrOutput) +} + +// Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. +func (o IsInstanceTemplateOutput) EnableSecureBoot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.BoolPtrOutput { return v.EnableSecureBoot }).(pulumi.BoolPtrOutput) +} + +// image name +func (o IsInstanceTemplateOutput) Image() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringPtrOutput { return v.Image }).(pulumi.StringPtrOutput) +} + +// SSH key Ids for the instance template +func (o IsInstanceTemplateOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringArrayOutput { return v.Keys }).(pulumi.StringArrayOutput) +} + +// The metadata service configuration +func (o IsInstanceTemplateOutput) MetadataService() IsInstanceTemplateMetadataServiceOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplateMetadataServiceOutput { return v.MetadataService }).(IsInstanceTemplateMetadataServiceOutput) +} + +// Indicates whether the metadata service endpoint is available to the virtual server instance +// +// Deprecated: Use metadataService instead +func (o IsInstanceTemplateOutput) MetadataServiceEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.BoolOutput { return v.MetadataServiceEnabled }).(pulumi.BoolOutput) +} + +// Instance Template name +func (o IsInstanceTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The network attachments for this virtual server instance, including the primary network attachment. +func (o IsInstanceTemplateOutput) NetworkAttachments() IsInstanceTemplateNetworkAttachmentArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplateNetworkAttachmentArrayOutput { + return v.NetworkAttachments + }).(IsInstanceTemplateNetworkAttachmentArrayOutput) +} + +func (o IsInstanceTemplateOutput) NetworkInterfaces() IsInstanceTemplateNetworkInterfaceArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplateNetworkInterfaceArrayOutput { return v.NetworkInterfaces }).(IsInstanceTemplateNetworkInterfaceArrayOutput) +} + +// Unique Identifier of the Placement Group for restricting the placement of the instance +func (o IsInstanceTemplateOutput) PlacementGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringPtrOutput { return v.PlacementGroup }).(pulumi.StringPtrOutput) +} + +// The placement restrictions for the virtual server instance. +func (o IsInstanceTemplateOutput) PlacementTargets() IsInstanceTemplatePlacementTargetArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplatePlacementTargetArrayOutput { return v.PlacementTargets }).(IsInstanceTemplatePlacementTargetArrayOutput) +} + +// The primary network attachment for this virtual server instance. +func (o IsInstanceTemplateOutput) PrimaryNetworkAttachment() IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return v.PrimaryNetworkAttachment + }).(IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) +} + +// Primary Network interface info +func (o IsInstanceTemplateOutput) PrimaryNetworkInterface() IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return v.PrimaryNetworkInterface + }).(IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) +} + +// Profile info +func (o IsInstanceTemplateOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +func (o IsInstanceTemplateOutput) ReservationAffinities() IsInstanceTemplateReservationAffinityArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplateReservationAffinityArrayOutput { + return v.ReservationAffinities + }).(IsInstanceTemplateReservationAffinityArrayOutput) +} + +// Instance template resource group +func (o IsInstanceTemplateOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes +func (o IsInstanceTemplateOutput) TotalVolumeBandwidth() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.IntPtrOutput { return v.TotalVolumeBandwidth }).(pulumi.IntPtrOutput) +} + +// User data given for the instance +func (o IsInstanceTemplateOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringPtrOutput { return v.UserData }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateOutput) VolumeAttachments() IsInstanceTemplateVolumeAttachmentArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplate) IsInstanceTemplateVolumeAttachmentArrayOutput { return v.VolumeAttachments }).(IsInstanceTemplateVolumeAttachmentArrayOutput) +} + +// The volume bandwidth QoS mode for this virtual server instance. +func (o IsInstanceTemplateOutput) VolumeBandwidthQosMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringPtrOutput { return v.VolumeBandwidthQosMode }).(pulumi.StringPtrOutput) +} + +// VPC id +func (o IsInstanceTemplateOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// Zone name +func (o IsInstanceTemplateOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceTemplate) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateInput)(nil)).Elem(), &IsInstanceTemplate{}) + pulumi.RegisterOutputType(IsInstanceTemplateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceVolumeAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceVolumeAttachment.go new file mode 100644 index 000000000..ceaf953c4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isInstanceVolumeAttachment.go @@ -0,0 +1,429 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsInstanceVolumeAttachment struct { + pulumi.CustomResourceState + + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse IsInstanceVolumeAttachmentAllowedUseOutput `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity pulumi.IntOutput `pulumi:"capacity"` + // If set to true, when deleting the attachment, the volume will also be deleted. Default value for this true. + DeleteVolumeOnAttachmentDelete pulumi.BoolPtrOutput `pulumi:"deleteVolumeOnAttachmentDelete"` + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete pulumi.BoolOutput `pulumi:"deleteVolumeOnInstanceDelete"` + // A unique identifier for the device which is exposed to the instance operating system + Device pulumi.StringOutput `pulumi:"device"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringOutput `pulumi:"encryptionKey"` + // The URL for this volume attachment + Href pulumi.StringOutput `pulumi:"href"` + // Instance id + Instance pulumi.StringOutput `pulumi:"instance"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops pulumi.IntOutput `pulumi:"iops"` + // The user-defined name for this volume attachment. + Name pulumi.StringOutput `pulumi:"name"` + // The globally unique name for the volume profile to use for this volume. + Profile pulumi.StringOutput `pulumi:"profile"` + // The snapshot ID of the volume to be attached + Snapshot pulumi.StringOutput `pulumi:"snapshot"` + // The snapshot crn of the volume to be attached + SnapshotCrn pulumi.StringOutput `pulumi:"snapshotCrn"` + // The status of this volume attachment, one of [ attached, attaching, deleting, detaching ] + Status pulumi.StringOutput `pulumi:"status"` + // UserTags for the volume instance + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The type of volume attachment one of [ boot, data ] + Type pulumi.StringOutput `pulumi:"type"` + Version pulumi.StringOutput `pulumi:"version"` + // Instance id + Volume pulumi.StringOutput `pulumi:"volume"` + // The unique identifier for this volume attachment + VolumeAttachmentId pulumi.StringOutput `pulumi:"volumeAttachmentId"` + // The CRN for this volume + VolumeCrn pulumi.StringOutput `pulumi:"volumeCrn"` + // Link to documentation about deleted resources + VolumeDeleted pulumi.StringOutput `pulumi:"volumeDeleted"` + // The URL for this volume + VolumeHref pulumi.StringOutput `pulumi:"volumeHref"` + // The unique user-defined name for this volume + VolumeName pulumi.StringOutput `pulumi:"volumeName"` +} + +// NewIsInstanceVolumeAttachment registers a new resource with the given unique name, arguments, and options. +func NewIsInstanceVolumeAttachment(ctx *pulumi.Context, + name string, args *IsInstanceVolumeAttachmentArgs, opts ...pulumi.ResourceOption) (*IsInstanceVolumeAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Instance == nil { + return nil, errors.New("invalid value for required argument 'Instance'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsInstanceVolumeAttachment + err := ctx.RegisterResource("ibmcloud:index/isInstanceVolumeAttachment:IsInstanceVolumeAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsInstanceVolumeAttachment gets an existing IsInstanceVolumeAttachment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsInstanceVolumeAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsInstanceVolumeAttachmentState, opts ...pulumi.ResourceOption) (*IsInstanceVolumeAttachment, error) { + var resource IsInstanceVolumeAttachment + err := ctx.ReadResource("ibmcloud:index/isInstanceVolumeAttachment:IsInstanceVolumeAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsInstanceVolumeAttachment resources. +type isInstanceVolumeAttachmentState struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsInstanceVolumeAttachmentAllowedUse `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth *int `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity *int `pulumi:"capacity"` + // If set to true, when deleting the attachment, the volume will also be deleted. Default value for this true. + DeleteVolumeOnAttachmentDelete *bool `pulumi:"deleteVolumeOnAttachmentDelete"` + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete *bool `pulumi:"deleteVolumeOnInstanceDelete"` + // A unique identifier for the device which is exposed to the instance operating system + Device *string `pulumi:"device"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey *string `pulumi:"encryptionKey"` + // The URL for this volume attachment + Href *string `pulumi:"href"` + // Instance id + Instance *string `pulumi:"instance"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops *int `pulumi:"iops"` + // The user-defined name for this volume attachment. + Name *string `pulumi:"name"` + // The globally unique name for the volume profile to use for this volume. + Profile *string `pulumi:"profile"` + // The snapshot ID of the volume to be attached + Snapshot *string `pulumi:"snapshot"` + // The snapshot crn of the volume to be attached + SnapshotCrn *string `pulumi:"snapshotCrn"` + // The status of this volume attachment, one of [ attached, attaching, deleting, detaching ] + Status *string `pulumi:"status"` + // UserTags for the volume instance + Tags []string `pulumi:"tags"` + // The type of volume attachment one of [ boot, data ] + Type *string `pulumi:"type"` + Version *string `pulumi:"version"` + // Instance id + Volume *string `pulumi:"volume"` + // The unique identifier for this volume attachment + VolumeAttachmentId *string `pulumi:"volumeAttachmentId"` + // The CRN for this volume + VolumeCrn *string `pulumi:"volumeCrn"` + // Link to documentation about deleted resources + VolumeDeleted *string `pulumi:"volumeDeleted"` + // The URL for this volume + VolumeHref *string `pulumi:"volumeHref"` + // The unique user-defined name for this volume + VolumeName *string `pulumi:"volumeName"` +} + +type IsInstanceVolumeAttachmentState struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse IsInstanceVolumeAttachmentAllowedUsePtrInput + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntPtrInput + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity pulumi.IntPtrInput + // If set to true, when deleting the attachment, the volume will also be deleted. Default value for this true. + DeleteVolumeOnAttachmentDelete pulumi.BoolPtrInput + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete pulumi.BoolPtrInput + // A unique identifier for the device which is exposed to the instance operating system + Device pulumi.StringPtrInput + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringPtrInput + // The URL for this volume attachment + Href pulumi.StringPtrInput + // Instance id + Instance pulumi.StringPtrInput + // The maximum I/O operations per second (IOPS) for the volume. + Iops pulumi.IntPtrInput + // The user-defined name for this volume attachment. + Name pulumi.StringPtrInput + // The globally unique name for the volume profile to use for this volume. + Profile pulumi.StringPtrInput + // The snapshot ID of the volume to be attached + Snapshot pulumi.StringPtrInput + // The snapshot crn of the volume to be attached + SnapshotCrn pulumi.StringPtrInput + // The status of this volume attachment, one of [ attached, attaching, deleting, detaching ] + Status pulumi.StringPtrInput + // UserTags for the volume instance + Tags pulumi.StringArrayInput + // The type of volume attachment one of [ boot, data ] + Type pulumi.StringPtrInput + Version pulumi.StringPtrInput + // Instance id + Volume pulumi.StringPtrInput + // The unique identifier for this volume attachment + VolumeAttachmentId pulumi.StringPtrInput + // The CRN for this volume + VolumeCrn pulumi.StringPtrInput + // Link to documentation about deleted resources + VolumeDeleted pulumi.StringPtrInput + // The URL for this volume + VolumeHref pulumi.StringPtrInput + // The unique user-defined name for this volume + VolumeName pulumi.StringPtrInput +} + +func (IsInstanceVolumeAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceVolumeAttachmentState)(nil)).Elem() +} + +type isInstanceVolumeAttachmentArgs struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsInstanceVolumeAttachmentAllowedUse `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth *int `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity *int `pulumi:"capacity"` + // If set to true, when deleting the attachment, the volume will also be deleted. Default value for this true. + DeleteVolumeOnAttachmentDelete *bool `pulumi:"deleteVolumeOnAttachmentDelete"` + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete *bool `pulumi:"deleteVolumeOnInstanceDelete"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey *string `pulumi:"encryptionKey"` + // Instance id + Instance string `pulumi:"instance"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops *int `pulumi:"iops"` + // The user-defined name for this volume attachment. + Name *string `pulumi:"name"` + // The globally unique name for the volume profile to use for this volume. + Profile *string `pulumi:"profile"` + // The snapshot ID of the volume to be attached + Snapshot *string `pulumi:"snapshot"` + // The snapshot crn of the volume to be attached + SnapshotCrn *string `pulumi:"snapshotCrn"` + // UserTags for the volume instance + Tags []string `pulumi:"tags"` + // Instance id + Volume *string `pulumi:"volume"` + // The unique user-defined name for this volume + VolumeName *string `pulumi:"volumeName"` +} + +// The set of arguments for constructing a IsInstanceVolumeAttachment resource. +type IsInstanceVolumeAttachmentArgs struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse IsInstanceVolumeAttachmentAllowedUsePtrInput + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntPtrInput + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity pulumi.IntPtrInput + // If set to true, when deleting the attachment, the volume will also be deleted. Default value for this true. + DeleteVolumeOnAttachmentDelete pulumi.BoolPtrInput + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete pulumi.BoolPtrInput + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringPtrInput + // Instance id + Instance pulumi.StringInput + // The maximum I/O operations per second (IOPS) for the volume. + Iops pulumi.IntPtrInput + // The user-defined name for this volume attachment. + Name pulumi.StringPtrInput + // The globally unique name for the volume profile to use for this volume. + Profile pulumi.StringPtrInput + // The snapshot ID of the volume to be attached + Snapshot pulumi.StringPtrInput + // The snapshot crn of the volume to be attached + SnapshotCrn pulumi.StringPtrInput + // UserTags for the volume instance + Tags pulumi.StringArrayInput + // Instance id + Volume pulumi.StringPtrInput + // The unique user-defined name for this volume + VolumeName pulumi.StringPtrInput +} + +func (IsInstanceVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isInstanceVolumeAttachmentArgs)(nil)).Elem() +} + +type IsInstanceVolumeAttachmentInput interface { + pulumi.Input + + ToIsInstanceVolumeAttachmentOutput() IsInstanceVolumeAttachmentOutput + ToIsInstanceVolumeAttachmentOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentOutput +} + +func (*IsInstanceVolumeAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceVolumeAttachment)(nil)).Elem() +} + +func (i *IsInstanceVolumeAttachment) ToIsInstanceVolumeAttachmentOutput() IsInstanceVolumeAttachmentOutput { + return i.ToIsInstanceVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i *IsInstanceVolumeAttachment) ToIsInstanceVolumeAttachmentOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumeAttachmentOutput) +} + +type IsInstanceVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceVolumeAttachment)(nil)).Elem() +} + +func (o IsInstanceVolumeAttachmentOutput) ToIsInstanceVolumeAttachmentOutput() IsInstanceVolumeAttachmentOutput { + return o +} + +func (o IsInstanceVolumeAttachmentOutput) ToIsInstanceVolumeAttachmentOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentOutput { + return o +} + +// The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. +func (o IsInstanceVolumeAttachmentOutput) AllowedUse() IsInstanceVolumeAttachmentAllowedUseOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) IsInstanceVolumeAttachmentAllowedUseOutput { return v.AllowedUse }).(IsInstanceVolumeAttachmentAllowedUseOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsInstanceVolumeAttachmentOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.IntOutput { return v.Bandwidth }).(pulumi.IntOutput) +} + +// The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. +func (o IsInstanceVolumeAttachmentOutput) Capacity() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.IntOutput { return v.Capacity }).(pulumi.IntOutput) +} + +// If set to true, when deleting the attachment, the volume will also be deleted. Default value for this true. +func (o IsInstanceVolumeAttachmentOutput) DeleteVolumeOnAttachmentDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.BoolPtrOutput { return v.DeleteVolumeOnAttachmentDelete }).(pulumi.BoolPtrOutput) +} + +// If set to true, when deleting the instance the volume will also be deleted. +func (o IsInstanceVolumeAttachmentOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.BoolOutput { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +// A unique identifier for the device which is exposed to the instance operating system +func (o IsInstanceVolumeAttachmentOutput) Device() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Device }).(pulumi.StringOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o IsInstanceVolumeAttachmentOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The URL for this volume attachment +func (o IsInstanceVolumeAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Instance id +func (o IsInstanceVolumeAttachmentOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Instance }).(pulumi.StringOutput) +} + +// The maximum I/O operations per second (IOPS) for the volume. +func (o IsInstanceVolumeAttachmentOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.IntOutput { return v.Iops }).(pulumi.IntOutput) +} + +// The user-defined name for this volume attachment. +func (o IsInstanceVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The globally unique name for the volume profile to use for this volume. +func (o IsInstanceVolumeAttachmentOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +// The snapshot ID of the volume to be attached +func (o IsInstanceVolumeAttachmentOutput) Snapshot() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Snapshot }).(pulumi.StringOutput) +} + +// The snapshot crn of the volume to be attached +func (o IsInstanceVolumeAttachmentOutput) SnapshotCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.SnapshotCrn }).(pulumi.StringOutput) +} + +// The status of this volume attachment, one of [ attached, attaching, deleting, detaching ] +func (o IsInstanceVolumeAttachmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// UserTags for the volume instance +func (o IsInstanceVolumeAttachmentOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The type of volume attachment one of [ boot, data ] +func (o IsInstanceVolumeAttachmentOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +func (o IsInstanceVolumeAttachmentOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +// Instance id +func (o IsInstanceVolumeAttachmentOutput) Volume() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.Volume }).(pulumi.StringOutput) +} + +// The unique identifier for this volume attachment +func (o IsInstanceVolumeAttachmentOutput) VolumeAttachmentId() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.VolumeAttachmentId }).(pulumi.StringOutput) +} + +// The CRN for this volume +func (o IsInstanceVolumeAttachmentOutput) VolumeCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.VolumeCrn }).(pulumi.StringOutput) +} + +// Link to documentation about deleted resources +func (o IsInstanceVolumeAttachmentOutput) VolumeDeleted() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.VolumeDeleted }).(pulumi.StringOutput) +} + +// The URL for this volume +func (o IsInstanceVolumeAttachmentOutput) VolumeHref() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.VolumeHref }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume +func (o IsInstanceVolumeAttachmentOutput) VolumeName() pulumi.StringOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachment) pulumi.StringOutput { return v.VolumeName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumeAttachmentInput)(nil)).Elem(), &IsInstanceVolumeAttachment{}) + pulumi.RegisterOutputType(IsInstanceVolumeAttachmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isIpsecPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isIpsecPolicy.go new file mode 100644 index 000000000..b6e8b88d8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isIpsecPolicy.go @@ -0,0 +1,278 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsIpsecPolicy struct { + pulumi.CustomResourceState + + // Authentication alorothm + AuthenticationAlgorithm pulumi.StringOutput `pulumi:"authenticationAlgorithm"` + // IPSEC encapsulation mode + EncapsulationMode pulumi.StringOutput `pulumi:"encapsulationMode"` + // Encryption algorithm + EncryptionAlgorithm pulumi.StringOutput `pulumi:"encryptionAlgorithm"` + // IPSEC key lifetime + KeyLifetime pulumi.IntPtrOutput `pulumi:"keyLifetime"` + // IPSEC name + Name pulumi.StringOutput `pulumi:"name"` + // PFS info + Pfs pulumi.StringOutput `pulumi:"pfs"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Resource group info + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // IPSEC transform protocol + TransformProtocol pulumi.StringOutput `pulumi:"transformProtocol"` + VpnConnections IsIpsecPolicyVpnConnectionArrayOutput `pulumi:"vpnConnections"` +} + +// NewIsIpsecPolicy registers a new resource with the given unique name, arguments, and options. +func NewIsIpsecPolicy(ctx *pulumi.Context, + name string, args *IsIpsecPolicyArgs, opts ...pulumi.ResourceOption) (*IsIpsecPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AuthenticationAlgorithm == nil { + return nil, errors.New("invalid value for required argument 'AuthenticationAlgorithm'") + } + if args.EncryptionAlgorithm == nil { + return nil, errors.New("invalid value for required argument 'EncryptionAlgorithm'") + } + if args.Pfs == nil { + return nil, errors.New("invalid value for required argument 'Pfs'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsIpsecPolicy + err := ctx.RegisterResource("ibmcloud:index/isIpsecPolicy:IsIpsecPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsIpsecPolicy gets an existing IsIpsecPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsIpsecPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsIpsecPolicyState, opts ...pulumi.ResourceOption) (*IsIpsecPolicy, error) { + var resource IsIpsecPolicy + err := ctx.ReadResource("ibmcloud:index/isIpsecPolicy:IsIpsecPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsIpsecPolicy resources. +type isIpsecPolicyState struct { + // Authentication alorothm + AuthenticationAlgorithm *string `pulumi:"authenticationAlgorithm"` + // IPSEC encapsulation mode + EncapsulationMode *string `pulumi:"encapsulationMode"` + // Encryption algorithm + EncryptionAlgorithm *string `pulumi:"encryptionAlgorithm"` + // IPSEC key lifetime + KeyLifetime *int `pulumi:"keyLifetime"` + // IPSEC name + Name *string `pulumi:"name"` + // PFS info + Pfs *string `pulumi:"pfs"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // IPSEC transform protocol + TransformProtocol *string `pulumi:"transformProtocol"` + VpnConnections []IsIpsecPolicyVpnConnection `pulumi:"vpnConnections"` +} + +type IsIpsecPolicyState struct { + // Authentication alorothm + AuthenticationAlgorithm pulumi.StringPtrInput + // IPSEC encapsulation mode + EncapsulationMode pulumi.StringPtrInput + // Encryption algorithm + EncryptionAlgorithm pulumi.StringPtrInput + // IPSEC key lifetime + KeyLifetime pulumi.IntPtrInput + // IPSEC name + Name pulumi.StringPtrInput + // PFS info + Pfs pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Resource group info + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // IPSEC transform protocol + TransformProtocol pulumi.StringPtrInput + VpnConnections IsIpsecPolicyVpnConnectionArrayInput +} + +func (IsIpsecPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*isIpsecPolicyState)(nil)).Elem() +} + +type isIpsecPolicyArgs struct { + // Authentication alorothm + AuthenticationAlgorithm string `pulumi:"authenticationAlgorithm"` + // Encryption algorithm + EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"` + // IPSEC key lifetime + KeyLifetime *int `pulumi:"keyLifetime"` + // IPSEC name + Name *string `pulumi:"name"` + // PFS info + Pfs string `pulumi:"pfs"` + // Resource group info + ResourceGroup *string `pulumi:"resourceGroup"` +} + +// The set of arguments for constructing a IsIpsecPolicy resource. +type IsIpsecPolicyArgs struct { + // Authentication alorothm + AuthenticationAlgorithm pulumi.StringInput + // Encryption algorithm + EncryptionAlgorithm pulumi.StringInput + // IPSEC key lifetime + KeyLifetime pulumi.IntPtrInput + // IPSEC name + Name pulumi.StringPtrInput + // PFS info + Pfs pulumi.StringInput + // Resource group info + ResourceGroup pulumi.StringPtrInput +} + +func (IsIpsecPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isIpsecPolicyArgs)(nil)).Elem() +} + +type IsIpsecPolicyInput interface { + pulumi.Input + + ToIsIpsecPolicyOutput() IsIpsecPolicyOutput + ToIsIpsecPolicyOutputWithContext(ctx context.Context) IsIpsecPolicyOutput +} + +func (*IsIpsecPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IsIpsecPolicy)(nil)).Elem() +} + +func (i *IsIpsecPolicy) ToIsIpsecPolicyOutput() IsIpsecPolicyOutput { + return i.ToIsIpsecPolicyOutputWithContext(context.Background()) +} + +func (i *IsIpsecPolicy) ToIsIpsecPolicyOutputWithContext(ctx context.Context) IsIpsecPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsIpsecPolicyOutput) +} + +type IsIpsecPolicyOutput struct{ *pulumi.OutputState } + +func (IsIpsecPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsIpsecPolicy)(nil)).Elem() +} + +func (o IsIpsecPolicyOutput) ToIsIpsecPolicyOutput() IsIpsecPolicyOutput { + return o +} + +func (o IsIpsecPolicyOutput) ToIsIpsecPolicyOutputWithContext(ctx context.Context) IsIpsecPolicyOutput { + return o +} + +// Authentication alorothm +func (o IsIpsecPolicyOutput) AuthenticationAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.AuthenticationAlgorithm }).(pulumi.StringOutput) +} + +// IPSEC encapsulation mode +func (o IsIpsecPolicyOutput) EncapsulationMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.EncapsulationMode }).(pulumi.StringOutput) +} + +// Encryption algorithm +func (o IsIpsecPolicyOutput) EncryptionAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.EncryptionAlgorithm }).(pulumi.StringOutput) +} + +// IPSEC key lifetime +func (o IsIpsecPolicyOutput) KeyLifetime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.IntPtrOutput { return v.KeyLifetime }).(pulumi.IntPtrOutput) +} + +// IPSEC name +func (o IsIpsecPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// PFS info +func (o IsIpsecPolicyOutput) Pfs() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.Pfs }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsIpsecPolicyOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsIpsecPolicyOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Resource group info +func (o IsIpsecPolicyOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsIpsecPolicyOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsIpsecPolicyOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// IPSEC transform protocol +func (o IsIpsecPolicyOutput) TransformProtocol() pulumi.StringOutput { + return o.ApplyT(func(v *IsIpsecPolicy) pulumi.StringOutput { return v.TransformProtocol }).(pulumi.StringOutput) +} + +func (o IsIpsecPolicyOutput) VpnConnections() IsIpsecPolicyVpnConnectionArrayOutput { + return o.ApplyT(func(v *IsIpsecPolicy) IsIpsecPolicyVpnConnectionArrayOutput { return v.VpnConnections }).(IsIpsecPolicyVpnConnectionArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsIpsecPolicyInput)(nil)).Elem(), &IsIpsecPolicy{}) + pulumi.RegisterOutputType(IsIpsecPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLb.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLb.go new file mode 100644 index 000000000..ea41c34f8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLb.go @@ -0,0 +1,447 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsLb struct { + pulumi.CustomResourceState + + // The access mode of this load balancer + AccessMode pulumi.StringOutput `pulumi:"accessMode"` + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The load balancer pool members attached to this load balancer. + AttachedLoadBalancerPoolMembers IsLbAttachedLoadBalancerPoolMemberArrayOutput `pulumi:"attachedLoadBalancerPoolMembers"` + // The availability of this load balancer + Availability pulumi.StringOutput `pulumi:"availability"` + // The CRN for this Load Balancer + Crn pulumi.StringOutput `pulumi:"crn"` + // The DNS configuration for this load balancer. + Dns IsLbDnsPtrOutput `pulumi:"dns"` + // The supported `failsafe_policy.action` values for this load balancer's pools. + FailsafePolicyActions pulumi.StringArrayOutput `pulumi:"failsafePolicyActions"` + Hostname pulumi.StringOutput `pulumi:"hostname"` + // Indicates whether this load balancer supports instance groups. + InstanceGroupsSupported pulumi.BoolOutput `pulumi:"instanceGroupsSupported"` + // Logging of Load Balancer + Logging pulumi.BoolPtrOutput `pulumi:"logging"` + // Load Balancer name + Name pulumi.StringOutput `pulumi:"name"` + OperatingStatus pulumi.StringOutput `pulumi:"operatingStatus"` + // The private IP addresses assigned to this load balancer. + PrivateIp IsLbPrivateIpArrayOutput `pulumi:"privateIp"` + PrivateIps pulumi.StringArrayOutput `pulumi:"privateIps"` + // The profile to use for this load balancer. + Profile pulumi.StringOutput `pulumi:"profile"` + PublicIps pulumi.StringArrayOutput `pulumi:"publicIps"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // Indicates whether route mode is enabled for this load balancer + RouteMode pulumi.BoolPtrOutput `pulumi:"routeMode"` + // Security Group Supported for this Load Balancer + SecurityGroupSupported pulumi.BoolOutput `pulumi:"securityGroupSupported"` + // Load Balancer securitygroups list + SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` + // Indicates whether this load balancer supports source IP session persistence. + SourceIpSessionPersistenceSupported pulumi.BoolOutput `pulumi:"sourceIpSessionPersistenceSupported"` + Status pulumi.StringOutput `pulumi:"status"` + // Load Balancer subnets list + Subnets pulumi.StringArrayOutput `pulumi:"subnets"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Load Balancer type + Type pulumi.StringPtrOutput `pulumi:"type"` + // Indicates whether this load balancer supports UDP. + UdpSupported pulumi.BoolOutput `pulumi:"udpSupported"` + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewIsLb registers a new resource with the given unique name, arguments, and options. +func NewIsLb(ctx *pulumi.Context, + name string, args *IsLbArgs, opts ...pulumi.ResourceOption) (*IsLb, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Subnets == nil { + return nil, errors.New("invalid value for required argument 'Subnets'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsLb + err := ctx.RegisterResource("ibmcloud:index/isLb:IsLb", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsLb gets an existing IsLb resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsLb(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsLbState, opts ...pulumi.ResourceOption) (*IsLb, error) { + var resource IsLb + err := ctx.ReadResource("ibmcloud:index/isLb:IsLb", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsLb resources. +type isLbState struct { + // The access mode of this load balancer + AccessMode *string `pulumi:"accessMode"` + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The load balancer pool members attached to this load balancer. + AttachedLoadBalancerPoolMembers []IsLbAttachedLoadBalancerPoolMember `pulumi:"attachedLoadBalancerPoolMembers"` + // The availability of this load balancer + Availability *string `pulumi:"availability"` + // The CRN for this Load Balancer + Crn *string `pulumi:"crn"` + // The DNS configuration for this load balancer. + Dns *IsLbDns `pulumi:"dns"` + // The supported `failsafe_policy.action` values for this load balancer's pools. + FailsafePolicyActions []string `pulumi:"failsafePolicyActions"` + Hostname *string `pulumi:"hostname"` + // Indicates whether this load balancer supports instance groups. + InstanceGroupsSupported *bool `pulumi:"instanceGroupsSupported"` + // Logging of Load Balancer + Logging *bool `pulumi:"logging"` + // Load Balancer name + Name *string `pulumi:"name"` + OperatingStatus *string `pulumi:"operatingStatus"` + // The private IP addresses assigned to this load balancer. + PrivateIp []IsLbPrivateIp `pulumi:"privateIp"` + PrivateIps []string `pulumi:"privateIps"` + // The profile to use for this load balancer. + Profile *string `pulumi:"profile"` + PublicIps []string `pulumi:"publicIps"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // Indicates whether route mode is enabled for this load balancer + RouteMode *bool `pulumi:"routeMode"` + // Security Group Supported for this Load Balancer + SecurityGroupSupported *bool `pulumi:"securityGroupSupported"` + // Load Balancer securitygroups list + SecurityGroups []string `pulumi:"securityGroups"` + // Indicates whether this load balancer supports source IP session persistence. + SourceIpSessionPersistenceSupported *bool `pulumi:"sourceIpSessionPersistenceSupported"` + Status *string `pulumi:"status"` + // Load Balancer subnets list + Subnets []string `pulumi:"subnets"` + Tags []string `pulumi:"tags"` + // Load Balancer type + Type *string `pulumi:"type"` + // Indicates whether this load balancer supports UDP. + UdpSupported *bool `pulumi:"udpSupported"` + Version *string `pulumi:"version"` +} + +type IsLbState struct { + // The access mode of this load balancer + AccessMode pulumi.StringPtrInput + // List of access management tags + AccessTags pulumi.StringArrayInput + // The load balancer pool members attached to this load balancer. + AttachedLoadBalancerPoolMembers IsLbAttachedLoadBalancerPoolMemberArrayInput + // The availability of this load balancer + Availability pulumi.StringPtrInput + // The CRN for this Load Balancer + Crn pulumi.StringPtrInput + // The DNS configuration for this load balancer. + Dns IsLbDnsPtrInput + // The supported `failsafe_policy.action` values for this load balancer's pools. + FailsafePolicyActions pulumi.StringArrayInput + Hostname pulumi.StringPtrInput + // Indicates whether this load balancer supports instance groups. + InstanceGroupsSupported pulumi.BoolPtrInput + // Logging of Load Balancer + Logging pulumi.BoolPtrInput + // Load Balancer name + Name pulumi.StringPtrInput + OperatingStatus pulumi.StringPtrInput + // The private IP addresses assigned to this load balancer. + PrivateIp IsLbPrivateIpArrayInput + PrivateIps pulumi.StringArrayInput + // The profile to use for this load balancer. + Profile pulumi.StringPtrInput + PublicIps pulumi.StringArrayInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // Indicates whether route mode is enabled for this load balancer + RouteMode pulumi.BoolPtrInput + // Security Group Supported for this Load Balancer + SecurityGroupSupported pulumi.BoolPtrInput + // Load Balancer securitygroups list + SecurityGroups pulumi.StringArrayInput + // Indicates whether this load balancer supports source IP session persistence. + SourceIpSessionPersistenceSupported pulumi.BoolPtrInput + Status pulumi.StringPtrInput + // Load Balancer subnets list + Subnets pulumi.StringArrayInput + Tags pulumi.StringArrayInput + // Load Balancer type + Type pulumi.StringPtrInput + // Indicates whether this load balancer supports UDP. + UdpSupported pulumi.BoolPtrInput + Version pulumi.StringPtrInput +} + +func (IsLbState) ElementType() reflect.Type { + return reflect.TypeOf((*isLbState)(nil)).Elem() +} + +type isLbArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The DNS configuration for this load balancer. + Dns *IsLbDns `pulumi:"dns"` + // Logging of Load Balancer + Logging *bool `pulumi:"logging"` + // Load Balancer name + Name *string `pulumi:"name"` + // The profile to use for this load balancer. + Profile *string `pulumi:"profile"` + ResourceGroup *string `pulumi:"resourceGroup"` + // Indicates whether route mode is enabled for this load balancer + RouteMode *bool `pulumi:"routeMode"` + // Load Balancer securitygroups list + SecurityGroups []string `pulumi:"securityGroups"` + // Load Balancer subnets list + Subnets []string `pulumi:"subnets"` + Tags []string `pulumi:"tags"` + // Load Balancer type + Type *string `pulumi:"type"` +} + +// The set of arguments for constructing a IsLb resource. +type IsLbArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The DNS configuration for this load balancer. + Dns IsLbDnsPtrInput + // Logging of Load Balancer + Logging pulumi.BoolPtrInput + // Load Balancer name + Name pulumi.StringPtrInput + // The profile to use for this load balancer. + Profile pulumi.StringPtrInput + ResourceGroup pulumi.StringPtrInput + // Indicates whether route mode is enabled for this load balancer + RouteMode pulumi.BoolPtrInput + // Load Balancer securitygroups list + SecurityGroups pulumi.StringArrayInput + // Load Balancer subnets list + Subnets pulumi.StringArrayInput + Tags pulumi.StringArrayInput + // Load Balancer type + Type pulumi.StringPtrInput +} + +func (IsLbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isLbArgs)(nil)).Elem() +} + +type IsLbInput interface { + pulumi.Input + + ToIsLbOutput() IsLbOutput + ToIsLbOutputWithContext(ctx context.Context) IsLbOutput +} + +func (*IsLb) ElementType() reflect.Type { + return reflect.TypeOf((**IsLb)(nil)).Elem() +} + +func (i *IsLb) ToIsLbOutput() IsLbOutput { + return i.ToIsLbOutputWithContext(context.Background()) +} + +func (i *IsLb) ToIsLbOutputWithContext(ctx context.Context) IsLbOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbOutput) +} + +type IsLbOutput struct{ *pulumi.OutputState } + +func (IsLbOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLb)(nil)).Elem() +} + +func (o IsLbOutput) ToIsLbOutput() IsLbOutput { + return o +} + +func (o IsLbOutput) ToIsLbOutputWithContext(ctx context.Context) IsLbOutput { + return o +} + +// The access mode of this load balancer +func (o IsLbOutput) AccessMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.AccessMode }).(pulumi.StringOutput) +} + +// List of access management tags +func (o IsLbOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The load balancer pool members attached to this load balancer. +func (o IsLbOutput) AttachedLoadBalancerPoolMembers() IsLbAttachedLoadBalancerPoolMemberArrayOutput { + return o.ApplyT(func(v *IsLb) IsLbAttachedLoadBalancerPoolMemberArrayOutput { return v.AttachedLoadBalancerPoolMembers }).(IsLbAttachedLoadBalancerPoolMemberArrayOutput) +} + +// The availability of this load balancer +func (o IsLbOutput) Availability() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.Availability }).(pulumi.StringOutput) +} + +// The CRN for this Load Balancer +func (o IsLbOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The DNS configuration for this load balancer. +func (o IsLbOutput) Dns() IsLbDnsPtrOutput { + return o.ApplyT(func(v *IsLb) IsLbDnsPtrOutput { return v.Dns }).(IsLbDnsPtrOutput) +} + +// The supported `failsafe_policy.action` values for this load balancer's pools. +func (o IsLbOutput) FailsafePolicyActions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringArrayOutput { return v.FailsafePolicyActions }).(pulumi.StringArrayOutput) +} + +func (o IsLbOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.Hostname }).(pulumi.StringOutput) +} + +// Indicates whether this load balancer supports instance groups. +func (o IsLbOutput) InstanceGroupsSupported() pulumi.BoolOutput { + return o.ApplyT(func(v *IsLb) pulumi.BoolOutput { return v.InstanceGroupsSupported }).(pulumi.BoolOutput) +} + +// Logging of Load Balancer +func (o IsLbOutput) Logging() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsLb) pulumi.BoolPtrOutput { return v.Logging }).(pulumi.BoolPtrOutput) +} + +// Load Balancer name +func (o IsLbOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o IsLbOutput) OperatingStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.OperatingStatus }).(pulumi.StringOutput) +} + +// The private IP addresses assigned to this load balancer. +func (o IsLbOutput) PrivateIp() IsLbPrivateIpArrayOutput { + return o.ApplyT(func(v *IsLb) IsLbPrivateIpArrayOutput { return v.PrivateIp }).(IsLbPrivateIpArrayOutput) +} + +func (o IsLbOutput) PrivateIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringArrayOutput { return v.PrivateIps }).(pulumi.StringArrayOutput) +} + +// The profile to use for this load balancer. +func (o IsLbOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +func (o IsLbOutput) PublicIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringArrayOutput { return v.PublicIps }).(pulumi.StringArrayOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsLbOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +func (o IsLbOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsLbOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsLbOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// Indicates whether route mode is enabled for this load balancer +func (o IsLbOutput) RouteMode() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsLb) pulumi.BoolPtrOutput { return v.RouteMode }).(pulumi.BoolPtrOutput) +} + +// Security Group Supported for this Load Balancer +func (o IsLbOutput) SecurityGroupSupported() pulumi.BoolOutput { + return o.ApplyT(func(v *IsLb) pulumi.BoolOutput { return v.SecurityGroupSupported }).(pulumi.BoolOutput) +} + +// Load Balancer securitygroups list +func (o IsLbOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Indicates whether this load balancer supports source IP session persistence. +func (o IsLbOutput) SourceIpSessionPersistenceSupported() pulumi.BoolOutput { + return o.ApplyT(func(v *IsLb) pulumi.BoolOutput { return v.SourceIpSessionPersistenceSupported }).(pulumi.BoolOutput) +} + +func (o IsLbOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Load Balancer subnets list +func (o IsLbOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringArrayOutput { return v.Subnets }).(pulumi.StringArrayOutput) +} + +func (o IsLbOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Load Balancer type +func (o IsLbOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringPtrOutput { return v.Type }).(pulumi.StringPtrOutput) +} + +// Indicates whether this load balancer supports UDP. +func (o IsLbOutput) UdpSupported() pulumi.BoolOutput { + return o.ApplyT(func(v *IsLb) pulumi.BoolOutput { return v.UdpSupported }).(pulumi.BoolOutput) +} + +func (o IsLbOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *IsLb) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsLbInput)(nil)).Elem(), &IsLb{}) + pulumi.RegisterOutputType(IsLbOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListener.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListener.go new file mode 100644 index 000000000..73b7e4e07 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListener.go @@ -0,0 +1,387 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsLbListener struct { + pulumi.CustomResourceState + + // Listener will forward proxy protocol + AcceptProxyProtocol pulumi.BoolOutput `pulumi:"acceptProxyProtocol"` + // certificate instance for the Loadbalancer + CertificateInstance pulumi.StringPtrOutput `pulumi:"certificateInstance"` + // Connection limit for Loadbalancer + ConnectionLimit pulumi.IntPtrOutput `pulumi:"connectionLimit"` + // Loadbalancer default pool info + DefaultPool pulumi.StringOutput `pulumi:"defaultPool"` + // If present, the target listener that requests are redirected to. + HttpsRedirect IsLbListenerHttpsRedirectPtrOutput `pulumi:"httpsRedirect"` + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectListener pulumi.StringPtrOutput `pulumi:"httpsRedirectListener"` + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectStatusCode pulumi.IntPtrOutput `pulumi:"httpsRedirectStatusCode"` + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectUri pulumi.StringPtrOutput `pulumi:"httpsRedirectUri"` + // idle connection timeout of listener + IdleConnectionTimeout pulumi.IntOutput `pulumi:"idleConnectionTimeout"` + // Loadbalancer listener ID + Lb pulumi.StringOutput `pulumi:"lb"` + ListenerId pulumi.StringOutput `pulumi:"listenerId"` + // Loadbalancer listener port + Port pulumi.IntOutput `pulumi:"port"` + // The inclusive upper bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener + PortMax pulumi.IntOutput `pulumi:"portMax"` + // The inclusive lower bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener. + PortMin pulumi.IntOutput `pulumi:"portMin"` + // Loadbalancer protocol + Protocol pulumi.StringOutput `pulumi:"protocol"` + // The crn of the LB resource + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + // Loadbalancer listener status + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewIsLbListener registers a new resource with the given unique name, arguments, and options. +func NewIsLbListener(ctx *pulumi.Context, + name string, args *IsLbListenerArgs, opts ...pulumi.ResourceOption) (*IsLbListener, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Lb == nil { + return nil, errors.New("invalid value for required argument 'Lb'") + } + if args.Protocol == nil { + return nil, errors.New("invalid value for required argument 'Protocol'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsLbListener + err := ctx.RegisterResource("ibmcloud:index/isLbListener:IsLbListener", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsLbListener gets an existing IsLbListener resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsLbListener(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsLbListenerState, opts ...pulumi.ResourceOption) (*IsLbListener, error) { + var resource IsLbListener + err := ctx.ReadResource("ibmcloud:index/isLbListener:IsLbListener", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsLbListener resources. +type isLbListenerState struct { + // Listener will forward proxy protocol + AcceptProxyProtocol *bool `pulumi:"acceptProxyProtocol"` + // certificate instance for the Loadbalancer + CertificateInstance *string `pulumi:"certificateInstance"` + // Connection limit for Loadbalancer + ConnectionLimit *int `pulumi:"connectionLimit"` + // Loadbalancer default pool info + DefaultPool *string `pulumi:"defaultPool"` + // If present, the target listener that requests are redirected to. + HttpsRedirect *IsLbListenerHttpsRedirect `pulumi:"httpsRedirect"` + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectListener *string `pulumi:"httpsRedirectListener"` + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectStatusCode *int `pulumi:"httpsRedirectStatusCode"` + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectUri *string `pulumi:"httpsRedirectUri"` + // idle connection timeout of listener + IdleConnectionTimeout *int `pulumi:"idleConnectionTimeout"` + // Loadbalancer listener ID + Lb *string `pulumi:"lb"` + ListenerId *string `pulumi:"listenerId"` + // Loadbalancer listener port + Port *int `pulumi:"port"` + // The inclusive upper bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener + PortMax *int `pulumi:"portMax"` + // The inclusive lower bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener. + PortMin *int `pulumi:"portMin"` + // Loadbalancer protocol + Protocol *string `pulumi:"protocol"` + // The crn of the LB resource + RelatedCrn *string `pulumi:"relatedCrn"` + // Loadbalancer listener status + Status *string `pulumi:"status"` +} + +type IsLbListenerState struct { + // Listener will forward proxy protocol + AcceptProxyProtocol pulumi.BoolPtrInput + // certificate instance for the Loadbalancer + CertificateInstance pulumi.StringPtrInput + // Connection limit for Loadbalancer + ConnectionLimit pulumi.IntPtrInput + // Loadbalancer default pool info + DefaultPool pulumi.StringPtrInput + // If present, the target listener that requests are redirected to. + HttpsRedirect IsLbListenerHttpsRedirectPtrInput + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectListener pulumi.StringPtrInput + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectStatusCode pulumi.IntPtrInput + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectUri pulumi.StringPtrInput + // idle connection timeout of listener + IdleConnectionTimeout pulumi.IntPtrInput + // Loadbalancer listener ID + Lb pulumi.StringPtrInput + ListenerId pulumi.StringPtrInput + // Loadbalancer listener port + Port pulumi.IntPtrInput + // The inclusive upper bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener + PortMax pulumi.IntPtrInput + // The inclusive lower bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener. + PortMin pulumi.IntPtrInput + // Loadbalancer protocol + Protocol pulumi.StringPtrInput + // The crn of the LB resource + RelatedCrn pulumi.StringPtrInput + // Loadbalancer listener status + Status pulumi.StringPtrInput +} + +func (IsLbListenerState) ElementType() reflect.Type { + return reflect.TypeOf((*isLbListenerState)(nil)).Elem() +} + +type isLbListenerArgs struct { + // Listener will forward proxy protocol + AcceptProxyProtocol *bool `pulumi:"acceptProxyProtocol"` + // certificate instance for the Loadbalancer + CertificateInstance *string `pulumi:"certificateInstance"` + // Connection limit for Loadbalancer + ConnectionLimit *int `pulumi:"connectionLimit"` + // Loadbalancer default pool info + DefaultPool *string `pulumi:"defaultPool"` + // If present, the target listener that requests are redirected to. + HttpsRedirect *IsLbListenerHttpsRedirect `pulumi:"httpsRedirect"` + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectListener *string `pulumi:"httpsRedirectListener"` + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectStatusCode *int `pulumi:"httpsRedirectStatusCode"` + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectUri *string `pulumi:"httpsRedirectUri"` + // idle connection timeout of listener + IdleConnectionTimeout *int `pulumi:"idleConnectionTimeout"` + // Loadbalancer listener ID + Lb string `pulumi:"lb"` + // Loadbalancer listener port + Port *int `pulumi:"port"` + // The inclusive upper bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener + PortMax *int `pulumi:"portMax"` + // The inclusive lower bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener. + PortMin *int `pulumi:"portMin"` + // Loadbalancer protocol + Protocol string `pulumi:"protocol"` +} + +// The set of arguments for constructing a IsLbListener resource. +type IsLbListenerArgs struct { + // Listener will forward proxy protocol + AcceptProxyProtocol pulumi.BoolPtrInput + // certificate instance for the Loadbalancer + CertificateInstance pulumi.StringPtrInput + // Connection limit for Loadbalancer + ConnectionLimit pulumi.IntPtrInput + // Loadbalancer default pool info + DefaultPool pulumi.StringPtrInput + // If present, the target listener that requests are redirected to. + HttpsRedirect IsLbListenerHttpsRedirectPtrInput + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectListener pulumi.StringPtrInput + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectStatusCode pulumi.IntPtrInput + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'https_redirect' + HttpsRedirectUri pulumi.StringPtrInput + // idle connection timeout of listener + IdleConnectionTimeout pulumi.IntPtrInput + // Loadbalancer listener ID + Lb pulumi.StringInput + // Loadbalancer listener port + Port pulumi.IntPtrInput + // The inclusive upper bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener + PortMax pulumi.IntPtrInput + // The inclusive lower bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener. + PortMin pulumi.IntPtrInput + // Loadbalancer protocol + Protocol pulumi.StringInput +} + +func (IsLbListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isLbListenerArgs)(nil)).Elem() +} + +type IsLbListenerInput interface { + pulumi.Input + + ToIsLbListenerOutput() IsLbListenerOutput + ToIsLbListenerOutputWithContext(ctx context.Context) IsLbListenerOutput +} + +func (*IsLbListener) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListener)(nil)).Elem() +} + +func (i *IsLbListener) ToIsLbListenerOutput() IsLbListenerOutput { + return i.ToIsLbListenerOutputWithContext(context.Background()) +} + +func (i *IsLbListener) ToIsLbListenerOutputWithContext(ctx context.Context) IsLbListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerOutput) +} + +type IsLbListenerOutput struct{ *pulumi.OutputState } + +func (IsLbListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListener)(nil)).Elem() +} + +func (o IsLbListenerOutput) ToIsLbListenerOutput() IsLbListenerOutput { + return o +} + +func (o IsLbListenerOutput) ToIsLbListenerOutputWithContext(ctx context.Context) IsLbListenerOutput { + return o +} + +// Listener will forward proxy protocol +func (o IsLbListenerOutput) AcceptProxyProtocol() pulumi.BoolOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.BoolOutput { return v.AcceptProxyProtocol }).(pulumi.BoolOutput) +} + +// certificate instance for the Loadbalancer +func (o IsLbListenerOutput) CertificateInstance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringPtrOutput { return v.CertificateInstance }).(pulumi.StringPtrOutput) +} + +// Connection limit for Loadbalancer +func (o IsLbListenerOutput) ConnectionLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.IntPtrOutput { return v.ConnectionLimit }).(pulumi.IntPtrOutput) +} + +// Loadbalancer default pool info +func (o IsLbListenerOutput) DefaultPool() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringOutput { return v.DefaultPool }).(pulumi.StringOutput) +} + +// If present, the target listener that requests are redirected to. +func (o IsLbListenerOutput) HttpsRedirect() IsLbListenerHttpsRedirectPtrOutput { + return o.ApplyT(func(v *IsLbListener) IsLbListenerHttpsRedirectPtrOutput { return v.HttpsRedirect }).(IsLbListenerHttpsRedirectPtrOutput) +} + +// ID of the listener that will be set as http redirect target +// +// Deprecated: Please use the argument 'https_redirect' +func (o IsLbListenerOutput) HttpsRedirectListener() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringPtrOutput { return v.HttpsRedirectListener }).(pulumi.StringPtrOutput) +} + +// The HTTP status code to be returned in the redirect response +// +// Deprecated: Please use the argument 'https_redirect' +func (o IsLbListenerOutput) HttpsRedirectStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.IntPtrOutput { return v.HttpsRedirectStatusCode }).(pulumi.IntPtrOutput) +} + +// Target URI where traffic will be redirected +// +// Deprecated: Please use the argument 'https_redirect' +func (o IsLbListenerOutput) HttpsRedirectUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringPtrOutput { return v.HttpsRedirectUri }).(pulumi.StringPtrOutput) +} + +// idle connection timeout of listener +func (o IsLbListenerOutput) IdleConnectionTimeout() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.IntOutput { return v.IdleConnectionTimeout }).(pulumi.IntOutput) +} + +// Loadbalancer listener ID +func (o IsLbListenerOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringOutput { return v.Lb }).(pulumi.StringOutput) +} + +func (o IsLbListenerOutput) ListenerId() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringOutput { return v.ListenerId }).(pulumi.StringOutput) +} + +// Loadbalancer listener port +func (o IsLbListenerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) +} + +// The inclusive upper bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener +func (o IsLbListenerOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.IntOutput { return v.PortMax }).(pulumi.IntOutput) +} + +// The inclusive lower bound of the range of ports used by this listener. Only load balancers in the `network` family support more than one port per listener. +func (o IsLbListenerOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.IntOutput { return v.PortMin }).(pulumi.IntOutput) +} + +// Loadbalancer protocol +func (o IsLbListenerOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) +} + +// The crn of the LB resource +func (o IsLbListenerOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +// Loadbalancer listener status +func (o IsLbListenerOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListener) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerInput)(nil)).Elem(), &IsLbListener{}) + pulumi.RegisterOutputType(IsLbListenerOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListenerPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListenerPolicy.go new file mode 100644 index 000000000..91898494b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListenerPolicy.go @@ -0,0 +1,418 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsLbListenerPolicy struct { + pulumi.CustomResourceState + + // Policy Action + Action pulumi.StringOutput `pulumi:"action"` + // Load Balancer Listener Policy + Lb pulumi.StringOutput `pulumi:"lb"` + // Listener ID + Listener pulumi.StringOutput `pulumi:"listener"` + // Policy name + Name pulumi.StringOutput `pulumi:"name"` + // Listener Policy ID + PolicyId pulumi.StringOutput `pulumi:"policyId"` + // Listener Policy Priority + Priority pulumi.IntOutput `pulumi:"priority"` + // Listner Policy status + ProvisioningStatus pulumi.StringOutput `pulumi:"provisioningStatus"` + // The crn of the LB resource + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + // Policy Rules + Rules IsLbListenerPolicyRuleTypeArrayOutput `pulumi:"rules"` + // - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. + Target IsLbListenerPolicyTargetPtrOutput `pulumi:"target"` + // Listener Policy target HTTPS Status code. + // + // Deprecated: Please use the argument 'target' + TargetHttpStatusCode pulumi.IntPtrOutput `pulumi:"targetHttpStatusCode"` + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectListener pulumi.StringPtrOutput `pulumi:"targetHttpsRedirectListener"` + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectStatusCode pulumi.IntPtrOutput `pulumi:"targetHttpsRedirectStatusCode"` + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectUri pulumi.StringPtrOutput `pulumi:"targetHttpsRedirectUri"` + // Listener Policy Target ID + // + // Deprecated: Please use the argument 'target' + TargetId pulumi.StringPtrOutput `pulumi:"targetId"` + // Policy Target URL + // + // Deprecated: Please use the argument 'target' + TargetUrl pulumi.StringPtrOutput `pulumi:"targetUrl"` +} + +// NewIsLbListenerPolicy registers a new resource with the given unique name, arguments, and options. +func NewIsLbListenerPolicy(ctx *pulumi.Context, + name string, args *IsLbListenerPolicyArgs, opts ...pulumi.ResourceOption) (*IsLbListenerPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Action == nil { + return nil, errors.New("invalid value for required argument 'Action'") + } + if args.Lb == nil { + return nil, errors.New("invalid value for required argument 'Lb'") + } + if args.Listener == nil { + return nil, errors.New("invalid value for required argument 'Listener'") + } + if args.Priority == nil { + return nil, errors.New("invalid value for required argument 'Priority'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsLbListenerPolicy + err := ctx.RegisterResource("ibmcloud:index/isLbListenerPolicy:IsLbListenerPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsLbListenerPolicy gets an existing IsLbListenerPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsLbListenerPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsLbListenerPolicyState, opts ...pulumi.ResourceOption) (*IsLbListenerPolicy, error) { + var resource IsLbListenerPolicy + err := ctx.ReadResource("ibmcloud:index/isLbListenerPolicy:IsLbListenerPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsLbListenerPolicy resources. +type isLbListenerPolicyState struct { + // Policy Action + Action *string `pulumi:"action"` + // Load Balancer Listener Policy + Lb *string `pulumi:"lb"` + // Listener ID + Listener *string `pulumi:"listener"` + // Policy name + Name *string `pulumi:"name"` + // Listener Policy ID + PolicyId *string `pulumi:"policyId"` + // Listener Policy Priority + Priority *int `pulumi:"priority"` + // Listner Policy status + ProvisioningStatus *string `pulumi:"provisioningStatus"` + // The crn of the LB resource + RelatedCrn *string `pulumi:"relatedCrn"` + // Policy Rules + Rules []IsLbListenerPolicyRuleType `pulumi:"rules"` + // - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. + Target *IsLbListenerPolicyTarget `pulumi:"target"` + // Listener Policy target HTTPS Status code. + // + // Deprecated: Please use the argument 'target' + TargetHttpStatusCode *int `pulumi:"targetHttpStatusCode"` + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectListener *string `pulumi:"targetHttpsRedirectListener"` + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectStatusCode *int `pulumi:"targetHttpsRedirectStatusCode"` + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectUri *string `pulumi:"targetHttpsRedirectUri"` + // Listener Policy Target ID + // + // Deprecated: Please use the argument 'target' + TargetId *string `pulumi:"targetId"` + // Policy Target URL + // + // Deprecated: Please use the argument 'target' + TargetUrl *string `pulumi:"targetUrl"` +} + +type IsLbListenerPolicyState struct { + // Policy Action + Action pulumi.StringPtrInput + // Load Balancer Listener Policy + Lb pulumi.StringPtrInput + // Listener ID + Listener pulumi.StringPtrInput + // Policy name + Name pulumi.StringPtrInput + // Listener Policy ID + PolicyId pulumi.StringPtrInput + // Listener Policy Priority + Priority pulumi.IntPtrInput + // Listner Policy status + ProvisioningStatus pulumi.StringPtrInput + // The crn of the LB resource + RelatedCrn pulumi.StringPtrInput + // Policy Rules + Rules IsLbListenerPolicyRuleTypeArrayInput + // - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. + Target IsLbListenerPolicyTargetPtrInput + // Listener Policy target HTTPS Status code. + // + // Deprecated: Please use the argument 'target' + TargetHttpStatusCode pulumi.IntPtrInput + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectListener pulumi.StringPtrInput + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectStatusCode pulumi.IntPtrInput + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectUri pulumi.StringPtrInput + // Listener Policy Target ID + // + // Deprecated: Please use the argument 'target' + TargetId pulumi.StringPtrInput + // Policy Target URL + // + // Deprecated: Please use the argument 'target' + TargetUrl pulumi.StringPtrInput +} + +func (IsLbListenerPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*isLbListenerPolicyState)(nil)).Elem() +} + +type isLbListenerPolicyArgs struct { + // Policy Action + Action string `pulumi:"action"` + // Load Balancer Listener Policy + Lb string `pulumi:"lb"` + // Listener ID + Listener string `pulumi:"listener"` + // Policy name + Name *string `pulumi:"name"` + // Listener Policy Priority + Priority int `pulumi:"priority"` + // Policy Rules + Rules []IsLbListenerPolicyRuleType `pulumi:"rules"` + // - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. + Target *IsLbListenerPolicyTarget `pulumi:"target"` + // Listener Policy target HTTPS Status code. + // + // Deprecated: Please use the argument 'target' + TargetHttpStatusCode *int `pulumi:"targetHttpStatusCode"` + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectListener *string `pulumi:"targetHttpsRedirectListener"` + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectStatusCode *int `pulumi:"targetHttpsRedirectStatusCode"` + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectUri *string `pulumi:"targetHttpsRedirectUri"` + // Listener Policy Target ID + // + // Deprecated: Please use the argument 'target' + TargetId *string `pulumi:"targetId"` + // Policy Target URL + // + // Deprecated: Please use the argument 'target' + TargetUrl *string `pulumi:"targetUrl"` +} + +// The set of arguments for constructing a IsLbListenerPolicy resource. +type IsLbListenerPolicyArgs struct { + // Policy Action + Action pulumi.StringInput + // Load Balancer Listener Policy + Lb pulumi.StringInput + // Listener ID + Listener pulumi.StringInput + // Policy name + Name pulumi.StringPtrInput + // Listener Policy Priority + Priority pulumi.IntInput + // Policy Rules + Rules IsLbListenerPolicyRuleTypeArrayInput + // - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. + Target IsLbListenerPolicyTargetPtrInput + // Listener Policy target HTTPS Status code. + // + // Deprecated: Please use the argument 'target' + TargetHttpStatusCode pulumi.IntPtrInput + // ID of the listener that will be set as http redirect target + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectListener pulumi.StringPtrInput + // The HTTP status code to be returned in the redirect response + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectStatusCode pulumi.IntPtrInput + // Target URI where traffic will be redirected + // + // Deprecated: Please use the argument 'target' + TargetHttpsRedirectUri pulumi.StringPtrInput + // Listener Policy Target ID + // + // Deprecated: Please use the argument 'target' + TargetId pulumi.StringPtrInput + // Policy Target URL + // + // Deprecated: Please use the argument 'target' + TargetUrl pulumi.StringPtrInput +} + +func (IsLbListenerPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isLbListenerPolicyArgs)(nil)).Elem() +} + +type IsLbListenerPolicyInput interface { + pulumi.Input + + ToIsLbListenerPolicyOutput() IsLbListenerPolicyOutput + ToIsLbListenerPolicyOutputWithContext(ctx context.Context) IsLbListenerPolicyOutput +} + +func (*IsLbListenerPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerPolicy)(nil)).Elem() +} + +func (i *IsLbListenerPolicy) ToIsLbListenerPolicyOutput() IsLbListenerPolicyOutput { + return i.ToIsLbListenerPolicyOutputWithContext(context.Background()) +} + +func (i *IsLbListenerPolicy) ToIsLbListenerPolicyOutputWithContext(ctx context.Context) IsLbListenerPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyOutput) +} + +type IsLbListenerPolicyOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerPolicy)(nil)).Elem() +} + +func (o IsLbListenerPolicyOutput) ToIsLbListenerPolicyOutput() IsLbListenerPolicyOutput { + return o +} + +func (o IsLbListenerPolicyOutput) ToIsLbListenerPolicyOutputWithContext(ctx context.Context) IsLbListenerPolicyOutput { + return o +} + +// Policy Action +func (o IsLbListenerPolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringOutput { return v.Action }).(pulumi.StringOutput) +} + +// Load Balancer Listener Policy +func (o IsLbListenerPolicyOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringOutput { return v.Lb }).(pulumi.StringOutput) +} + +// Listener ID +func (o IsLbListenerPolicyOutput) Listener() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringOutput { return v.Listener }).(pulumi.StringOutput) +} + +// Policy name +func (o IsLbListenerPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Listener Policy ID +func (o IsLbListenerPolicyOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringOutput { return v.PolicyId }).(pulumi.StringOutput) +} + +// Listener Policy Priority +func (o IsLbListenerPolicyOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.IntOutput { return v.Priority }).(pulumi.IntOutput) +} + +// Listner Policy status +func (o IsLbListenerPolicyOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringOutput { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// The crn of the LB resource +func (o IsLbListenerPolicyOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +// Policy Rules +func (o IsLbListenerPolicyOutput) Rules() IsLbListenerPolicyRuleTypeArrayOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) IsLbListenerPolicyRuleTypeArrayOutput { return v.Rules }).(IsLbListenerPolicyRuleTypeArrayOutput) +} + +// - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. +func (o IsLbListenerPolicyOutput) Target() IsLbListenerPolicyTargetPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) IsLbListenerPolicyTargetPtrOutput { return v.Target }).(IsLbListenerPolicyTargetPtrOutput) +} + +// Listener Policy target HTTPS Status code. +// +// Deprecated: Please use the argument 'target' +func (o IsLbListenerPolicyOutput) TargetHttpStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.IntPtrOutput { return v.TargetHttpStatusCode }).(pulumi.IntPtrOutput) +} + +// ID of the listener that will be set as http redirect target +// +// Deprecated: Please use the argument 'target' +func (o IsLbListenerPolicyOutput) TargetHttpsRedirectListener() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringPtrOutput { return v.TargetHttpsRedirectListener }).(pulumi.StringPtrOutput) +} + +// The HTTP status code to be returned in the redirect response +// +// Deprecated: Please use the argument 'target' +func (o IsLbListenerPolicyOutput) TargetHttpsRedirectStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.IntPtrOutput { return v.TargetHttpsRedirectStatusCode }).(pulumi.IntPtrOutput) +} + +// Target URI where traffic will be redirected +// +// Deprecated: Please use the argument 'target' +func (o IsLbListenerPolicyOutput) TargetHttpsRedirectUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringPtrOutput { return v.TargetHttpsRedirectUri }).(pulumi.StringPtrOutput) +} + +// Listener Policy Target ID +// +// Deprecated: Please use the argument 'target' +func (o IsLbListenerPolicyOutput) TargetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringPtrOutput { return v.TargetId }).(pulumi.StringPtrOutput) +} + +// Policy Target URL +// +// Deprecated: Please use the argument 'target' +func (o IsLbListenerPolicyOutput) TargetUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicy) pulumi.StringPtrOutput { return v.TargetUrl }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyInput)(nil)).Elem(), &IsLbListenerPolicy{}) + pulumi.RegisterOutputType(IsLbListenerPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListenerPolicyRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListenerPolicyRule.go new file mode 100644 index 000000000..aa9ef6ea0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbListenerPolicyRule.go @@ -0,0 +1,248 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsLbListenerPolicyRule struct { + pulumi.CustomResourceState + + // Condition info of the rule. + Condition pulumi.StringOutput `pulumi:"condition"` + Field pulumi.StringPtrOutput `pulumi:"field"` + // Loadbalancer ID + Lb pulumi.StringOutput `pulumi:"lb"` + // Listener ID. + Listener pulumi.StringOutput `pulumi:"listener"` + // Listener Policy ID + Policy pulumi.StringOutput `pulumi:"policy"` + ProvisioningStatus pulumi.StringOutput `pulumi:"provisioningStatus"` + // The crn of the LB resource + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + Rule pulumi.StringOutput `pulumi:"rule"` + // Policy rule type. + Type pulumi.StringOutput `pulumi:"type"` + // policy rule value info + Value pulumi.StringOutput `pulumi:"value"` +} + +// NewIsLbListenerPolicyRule registers a new resource with the given unique name, arguments, and options. +func NewIsLbListenerPolicyRule(ctx *pulumi.Context, + name string, args *IsLbListenerPolicyRuleArgs, opts ...pulumi.ResourceOption) (*IsLbListenerPolicyRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Condition == nil { + return nil, errors.New("invalid value for required argument 'Condition'") + } + if args.Lb == nil { + return nil, errors.New("invalid value for required argument 'Lb'") + } + if args.Listener == nil { + return nil, errors.New("invalid value for required argument 'Listener'") + } + if args.Policy == nil { + return nil, errors.New("invalid value for required argument 'Policy'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + if args.Value == nil { + return nil, errors.New("invalid value for required argument 'Value'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsLbListenerPolicyRule + err := ctx.RegisterResource("ibmcloud:index/isLbListenerPolicyRule:IsLbListenerPolicyRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsLbListenerPolicyRule gets an existing IsLbListenerPolicyRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsLbListenerPolicyRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsLbListenerPolicyRuleState, opts ...pulumi.ResourceOption) (*IsLbListenerPolicyRule, error) { + var resource IsLbListenerPolicyRule + err := ctx.ReadResource("ibmcloud:index/isLbListenerPolicyRule:IsLbListenerPolicyRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsLbListenerPolicyRule resources. +type isLbListenerPolicyRuleState struct { + // Condition info of the rule. + Condition *string `pulumi:"condition"` + Field *string `pulumi:"field"` + // Loadbalancer ID + Lb *string `pulumi:"lb"` + // Listener ID. + Listener *string `pulumi:"listener"` + // Listener Policy ID + Policy *string `pulumi:"policy"` + ProvisioningStatus *string `pulumi:"provisioningStatus"` + // The crn of the LB resource + RelatedCrn *string `pulumi:"relatedCrn"` + Rule *string `pulumi:"rule"` + // Policy rule type. + Type *string `pulumi:"type"` + // policy rule value info + Value *string `pulumi:"value"` +} + +type IsLbListenerPolicyRuleState struct { + // Condition info of the rule. + Condition pulumi.StringPtrInput + Field pulumi.StringPtrInput + // Loadbalancer ID + Lb pulumi.StringPtrInput + // Listener ID. + Listener pulumi.StringPtrInput + // Listener Policy ID + Policy pulumi.StringPtrInput + ProvisioningStatus pulumi.StringPtrInput + // The crn of the LB resource + RelatedCrn pulumi.StringPtrInput + Rule pulumi.StringPtrInput + // Policy rule type. + Type pulumi.StringPtrInput + // policy rule value info + Value pulumi.StringPtrInput +} + +func (IsLbListenerPolicyRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*isLbListenerPolicyRuleState)(nil)).Elem() +} + +type isLbListenerPolicyRuleArgs struct { + // Condition info of the rule. + Condition string `pulumi:"condition"` + Field *string `pulumi:"field"` + // Loadbalancer ID + Lb string `pulumi:"lb"` + // Listener ID. + Listener string `pulumi:"listener"` + // Listener Policy ID + Policy string `pulumi:"policy"` + // Policy rule type. + Type string `pulumi:"type"` + // policy rule value info + Value string `pulumi:"value"` +} + +// The set of arguments for constructing a IsLbListenerPolicyRule resource. +type IsLbListenerPolicyRuleArgs struct { + // Condition info of the rule. + Condition pulumi.StringInput + Field pulumi.StringPtrInput + // Loadbalancer ID + Lb pulumi.StringInput + // Listener ID. + Listener pulumi.StringInput + // Listener Policy ID + Policy pulumi.StringInput + // Policy rule type. + Type pulumi.StringInput + // policy rule value info + Value pulumi.StringInput +} + +func (IsLbListenerPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isLbListenerPolicyRuleArgs)(nil)).Elem() +} + +type IsLbListenerPolicyRuleInput interface { + pulumi.Input + + ToIsLbListenerPolicyRuleOutput() IsLbListenerPolicyRuleOutput + ToIsLbListenerPolicyRuleOutputWithContext(ctx context.Context) IsLbListenerPolicyRuleOutput +} + +func (*IsLbListenerPolicyRule) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerPolicyRule)(nil)).Elem() +} + +func (i *IsLbListenerPolicyRule) ToIsLbListenerPolicyRuleOutput() IsLbListenerPolicyRuleOutput { + return i.ToIsLbListenerPolicyRuleOutputWithContext(context.Background()) +} + +func (i *IsLbListenerPolicyRule) ToIsLbListenerPolicyRuleOutputWithContext(ctx context.Context) IsLbListenerPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyRuleOutput) +} + +type IsLbListenerPolicyRuleOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerPolicyRule)(nil)).Elem() +} + +func (o IsLbListenerPolicyRuleOutput) ToIsLbListenerPolicyRuleOutput() IsLbListenerPolicyRuleOutput { + return o +} + +func (o IsLbListenerPolicyRuleOutput) ToIsLbListenerPolicyRuleOutputWithContext(ctx context.Context) IsLbListenerPolicyRuleOutput { + return o +} + +// Condition info of the rule. +func (o IsLbListenerPolicyRuleOutput) Condition() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.Condition }).(pulumi.StringOutput) +} + +func (o IsLbListenerPolicyRuleOutput) Field() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringPtrOutput { return v.Field }).(pulumi.StringPtrOutput) +} + +// Loadbalancer ID +func (o IsLbListenerPolicyRuleOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.Lb }).(pulumi.StringOutput) +} + +// Listener ID. +func (o IsLbListenerPolicyRuleOutput) Listener() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.Listener }).(pulumi.StringOutput) +} + +// Listener Policy ID +func (o IsLbListenerPolicyRuleOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput) +} + +func (o IsLbListenerPolicyRuleOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// The crn of the LB resource +func (o IsLbListenerPolicyRuleOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +func (o IsLbListenerPolicyRuleOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.Rule }).(pulumi.StringOutput) +} + +// Policy rule type. +func (o IsLbListenerPolicyRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// policy rule value info +func (o IsLbListenerPolicyRuleOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbListenerPolicyRule) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyRuleInput)(nil)).Elem(), &IsLbListenerPolicyRule{}) + pulumi.RegisterOutputType(IsLbListenerPolicyRuleOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbPool.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbPool.go new file mode 100644 index 000000000..7f4029f48 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbPool.go @@ -0,0 +1,381 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsLbPool struct { + pulumi.CustomResourceState + + // Load Balancer Pool algorithm + Algorithm pulumi.StringOutput `pulumi:"algorithm"` + // The failsafe policy to use for this pool.If unspecified, the default failsafe policy action from the profile will be used. + FailsafePolicy IsLbPoolFailsafePolicyOutput `pulumi:"failsafePolicy"` + // Load Blancer health delay time period + HealthDelay pulumi.IntOutput `pulumi:"healthDelay"` + // Health monitor Port the LB Pool + HealthMonitorPort pulumi.IntOutput `pulumi:"healthMonitorPort"` + // Health monitor URL of LB Pool + HealthMonitorUrl pulumi.StringOutput `pulumi:"healthMonitorUrl"` + // Load Balancer health retry count + HealthRetries pulumi.IntOutput `pulumi:"healthRetries"` + // Load Balancer health timeout interval + HealthTimeout pulumi.IntOutput `pulumi:"healthTimeout"` + // Load Balancer health type + HealthType pulumi.StringOutput `pulumi:"healthType"` + // Load Balancer ID + Lb pulumi.StringOutput `pulumi:"lb"` + // Load Balancer Pool name + Name pulumi.StringOutput `pulumi:"name"` + // The LB Pool id + PoolId pulumi.StringOutput `pulumi:"poolId"` + // Load Balancer Protocol + Protocol pulumi.StringOutput `pulumi:"protocol"` + // Status of the LB Pool + ProvisioningStatus pulumi.StringOutput `pulumi:"provisioningStatus"` + // PROXY protocol setting for this pool + ProxyProtocol pulumi.StringOutput `pulumi:"proxyProtocol"` + // The crn of the LB resource + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + // Load Balancer Pool session persisence app cookie name. + SessionPersistenceAppCookieName pulumi.StringPtrOutput `pulumi:"sessionPersistenceAppCookieName"` + // Load Balancer Pool session persisence http cookie name. + SessionPersistenceHttpCookieName pulumi.StringOutput `pulumi:"sessionPersistenceHttpCookieName"` + // Load Balancer Pool session persisence type. + SessionPersistenceType pulumi.StringPtrOutput `pulumi:"sessionPersistenceType"` +} + +// NewIsLbPool registers a new resource with the given unique name, arguments, and options. +func NewIsLbPool(ctx *pulumi.Context, + name string, args *IsLbPoolArgs, opts ...pulumi.ResourceOption) (*IsLbPool, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Algorithm == nil { + return nil, errors.New("invalid value for required argument 'Algorithm'") + } + if args.HealthDelay == nil { + return nil, errors.New("invalid value for required argument 'HealthDelay'") + } + if args.HealthRetries == nil { + return nil, errors.New("invalid value for required argument 'HealthRetries'") + } + if args.HealthTimeout == nil { + return nil, errors.New("invalid value for required argument 'HealthTimeout'") + } + if args.HealthType == nil { + return nil, errors.New("invalid value for required argument 'HealthType'") + } + if args.Lb == nil { + return nil, errors.New("invalid value for required argument 'Lb'") + } + if args.Protocol == nil { + return nil, errors.New("invalid value for required argument 'Protocol'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsLbPool + err := ctx.RegisterResource("ibmcloud:index/isLbPool:IsLbPool", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsLbPool gets an existing IsLbPool resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsLbPool(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsLbPoolState, opts ...pulumi.ResourceOption) (*IsLbPool, error) { + var resource IsLbPool + err := ctx.ReadResource("ibmcloud:index/isLbPool:IsLbPool", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsLbPool resources. +type isLbPoolState struct { + // Load Balancer Pool algorithm + Algorithm *string `pulumi:"algorithm"` + // The failsafe policy to use for this pool.If unspecified, the default failsafe policy action from the profile will be used. + FailsafePolicy *IsLbPoolFailsafePolicy `pulumi:"failsafePolicy"` + // Load Blancer health delay time period + HealthDelay *int `pulumi:"healthDelay"` + // Health monitor Port the LB Pool + HealthMonitorPort *int `pulumi:"healthMonitorPort"` + // Health monitor URL of LB Pool + HealthMonitorUrl *string `pulumi:"healthMonitorUrl"` + // Load Balancer health retry count + HealthRetries *int `pulumi:"healthRetries"` + // Load Balancer health timeout interval + HealthTimeout *int `pulumi:"healthTimeout"` + // Load Balancer health type + HealthType *string `pulumi:"healthType"` + // Load Balancer ID + Lb *string `pulumi:"lb"` + // Load Balancer Pool name + Name *string `pulumi:"name"` + // The LB Pool id + PoolId *string `pulumi:"poolId"` + // Load Balancer Protocol + Protocol *string `pulumi:"protocol"` + // Status of the LB Pool + ProvisioningStatus *string `pulumi:"provisioningStatus"` + // PROXY protocol setting for this pool + ProxyProtocol *string `pulumi:"proxyProtocol"` + // The crn of the LB resource + RelatedCrn *string `pulumi:"relatedCrn"` + // Load Balancer Pool session persisence app cookie name. + SessionPersistenceAppCookieName *string `pulumi:"sessionPersistenceAppCookieName"` + // Load Balancer Pool session persisence http cookie name. + SessionPersistenceHttpCookieName *string `pulumi:"sessionPersistenceHttpCookieName"` + // Load Balancer Pool session persisence type. + SessionPersistenceType *string `pulumi:"sessionPersistenceType"` +} + +type IsLbPoolState struct { + // Load Balancer Pool algorithm + Algorithm pulumi.StringPtrInput + // The failsafe policy to use for this pool.If unspecified, the default failsafe policy action from the profile will be used. + FailsafePolicy IsLbPoolFailsafePolicyPtrInput + // Load Blancer health delay time period + HealthDelay pulumi.IntPtrInput + // Health monitor Port the LB Pool + HealthMonitorPort pulumi.IntPtrInput + // Health monitor URL of LB Pool + HealthMonitorUrl pulumi.StringPtrInput + // Load Balancer health retry count + HealthRetries pulumi.IntPtrInput + // Load Balancer health timeout interval + HealthTimeout pulumi.IntPtrInput + // Load Balancer health type + HealthType pulumi.StringPtrInput + // Load Balancer ID + Lb pulumi.StringPtrInput + // Load Balancer Pool name + Name pulumi.StringPtrInput + // The LB Pool id + PoolId pulumi.StringPtrInput + // Load Balancer Protocol + Protocol pulumi.StringPtrInput + // Status of the LB Pool + ProvisioningStatus pulumi.StringPtrInput + // PROXY protocol setting for this pool + ProxyProtocol pulumi.StringPtrInput + // The crn of the LB resource + RelatedCrn pulumi.StringPtrInput + // Load Balancer Pool session persisence app cookie name. + SessionPersistenceAppCookieName pulumi.StringPtrInput + // Load Balancer Pool session persisence http cookie name. + SessionPersistenceHttpCookieName pulumi.StringPtrInput + // Load Balancer Pool session persisence type. + SessionPersistenceType pulumi.StringPtrInput +} + +func (IsLbPoolState) ElementType() reflect.Type { + return reflect.TypeOf((*isLbPoolState)(nil)).Elem() +} + +type isLbPoolArgs struct { + // Load Balancer Pool algorithm + Algorithm string `pulumi:"algorithm"` + // The failsafe policy to use for this pool.If unspecified, the default failsafe policy action from the profile will be used. + FailsafePolicy *IsLbPoolFailsafePolicy `pulumi:"failsafePolicy"` + // Load Blancer health delay time period + HealthDelay int `pulumi:"healthDelay"` + // Health monitor Port the LB Pool + HealthMonitorPort *int `pulumi:"healthMonitorPort"` + // Health monitor URL of LB Pool + HealthMonitorUrl *string `pulumi:"healthMonitorUrl"` + // Load Balancer health retry count + HealthRetries int `pulumi:"healthRetries"` + // Load Balancer health timeout interval + HealthTimeout int `pulumi:"healthTimeout"` + // Load Balancer health type + HealthType string `pulumi:"healthType"` + // Load Balancer ID + Lb string `pulumi:"lb"` + // Load Balancer Pool name + Name *string `pulumi:"name"` + // Load Balancer Protocol + Protocol string `pulumi:"protocol"` + // PROXY protocol setting for this pool + ProxyProtocol *string `pulumi:"proxyProtocol"` + // Load Balancer Pool session persisence app cookie name. + SessionPersistenceAppCookieName *string `pulumi:"sessionPersistenceAppCookieName"` + // Load Balancer Pool session persisence type. + SessionPersistenceType *string `pulumi:"sessionPersistenceType"` +} + +// The set of arguments for constructing a IsLbPool resource. +type IsLbPoolArgs struct { + // Load Balancer Pool algorithm + Algorithm pulumi.StringInput + // The failsafe policy to use for this pool.If unspecified, the default failsafe policy action from the profile will be used. + FailsafePolicy IsLbPoolFailsafePolicyPtrInput + // Load Blancer health delay time period + HealthDelay pulumi.IntInput + // Health monitor Port the LB Pool + HealthMonitorPort pulumi.IntPtrInput + // Health monitor URL of LB Pool + HealthMonitorUrl pulumi.StringPtrInput + // Load Balancer health retry count + HealthRetries pulumi.IntInput + // Load Balancer health timeout interval + HealthTimeout pulumi.IntInput + // Load Balancer health type + HealthType pulumi.StringInput + // Load Balancer ID + Lb pulumi.StringInput + // Load Balancer Pool name + Name pulumi.StringPtrInput + // Load Balancer Protocol + Protocol pulumi.StringInput + // PROXY protocol setting for this pool + ProxyProtocol pulumi.StringPtrInput + // Load Balancer Pool session persisence app cookie name. + SessionPersistenceAppCookieName pulumi.StringPtrInput + // Load Balancer Pool session persisence type. + SessionPersistenceType pulumi.StringPtrInput +} + +func (IsLbPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isLbPoolArgs)(nil)).Elem() +} + +type IsLbPoolInput interface { + pulumi.Input + + ToIsLbPoolOutput() IsLbPoolOutput + ToIsLbPoolOutputWithContext(ctx context.Context) IsLbPoolOutput +} + +func (*IsLbPool) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbPool)(nil)).Elem() +} + +func (i *IsLbPool) ToIsLbPoolOutput() IsLbPoolOutput { + return i.ToIsLbPoolOutputWithContext(context.Background()) +} + +func (i *IsLbPool) ToIsLbPoolOutputWithContext(ctx context.Context) IsLbPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolOutput) +} + +type IsLbPoolOutput struct{ *pulumi.OutputState } + +func (IsLbPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbPool)(nil)).Elem() +} + +func (o IsLbPoolOutput) ToIsLbPoolOutput() IsLbPoolOutput { + return o +} + +func (o IsLbPoolOutput) ToIsLbPoolOutputWithContext(ctx context.Context) IsLbPoolOutput { + return o +} + +// Load Balancer Pool algorithm +func (o IsLbPoolOutput) Algorithm() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.Algorithm }).(pulumi.StringOutput) +} + +// The failsafe policy to use for this pool.If unspecified, the default failsafe policy action from the profile will be used. +func (o IsLbPoolOutput) FailsafePolicy() IsLbPoolFailsafePolicyOutput { + return o.ApplyT(func(v *IsLbPool) IsLbPoolFailsafePolicyOutput { return v.FailsafePolicy }).(IsLbPoolFailsafePolicyOutput) +} + +// Load Blancer health delay time period +func (o IsLbPoolOutput) HealthDelay() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.IntOutput { return v.HealthDelay }).(pulumi.IntOutput) +} + +// Health monitor Port the LB Pool +func (o IsLbPoolOutput) HealthMonitorPort() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.IntOutput { return v.HealthMonitorPort }).(pulumi.IntOutput) +} + +// Health monitor URL of LB Pool +func (o IsLbPoolOutput) HealthMonitorUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.HealthMonitorUrl }).(pulumi.StringOutput) +} + +// Load Balancer health retry count +func (o IsLbPoolOutput) HealthRetries() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.IntOutput { return v.HealthRetries }).(pulumi.IntOutput) +} + +// Load Balancer health timeout interval +func (o IsLbPoolOutput) HealthTimeout() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.IntOutput { return v.HealthTimeout }).(pulumi.IntOutput) +} + +// Load Balancer health type +func (o IsLbPoolOutput) HealthType() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.HealthType }).(pulumi.StringOutput) +} + +// Load Balancer ID +func (o IsLbPoolOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.Lb }).(pulumi.StringOutput) +} + +// Load Balancer Pool name +func (o IsLbPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The LB Pool id +func (o IsLbPoolOutput) PoolId() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.PoolId }).(pulumi.StringOutput) +} + +// Load Balancer Protocol +func (o IsLbPoolOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) +} + +// Status of the LB Pool +func (o IsLbPoolOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// PROXY protocol setting for this pool +func (o IsLbPoolOutput) ProxyProtocol() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.ProxyProtocol }).(pulumi.StringOutput) +} + +// The crn of the LB resource +func (o IsLbPoolOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +// Load Balancer Pool session persisence app cookie name. +func (o IsLbPoolOutput) SessionPersistenceAppCookieName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringPtrOutput { return v.SessionPersistenceAppCookieName }).(pulumi.StringPtrOutput) +} + +// Load Balancer Pool session persisence http cookie name. +func (o IsLbPoolOutput) SessionPersistenceHttpCookieName() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringOutput { return v.SessionPersistenceHttpCookieName }).(pulumi.StringOutput) +} + +// Load Balancer Pool session persisence type. +func (o IsLbPoolOutput) SessionPersistenceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbPool) pulumi.StringPtrOutput { return v.SessionPersistenceType }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPoolInput)(nil)).Elem(), &IsLbPool{}) + pulumi.RegisterOutputType(IsLbPoolOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbPoolMember.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbPoolMember.go new file mode 100644 index 000000000..6a07aa5c6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isLbPoolMember.go @@ -0,0 +1,249 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsLbPoolMember struct { + pulumi.CustomResourceState + + // LB Pool member health + Health pulumi.StringOutput `pulumi:"health"` + // LB pool member Href value + Href pulumi.StringOutput `pulumi:"href"` + // Load balancer ID + Lb pulumi.StringOutput `pulumi:"lb"` + // Loadblancer Poold ID + Pool pulumi.StringOutput `pulumi:"pool"` + // Load Balancer Pool port + Port pulumi.IntOutput `pulumi:"port"` + // Load balancer Pool member provisioning status + ProvisioningStatus pulumi.StringOutput `pulumi:"provisioningStatus"` + // The crn of the LB resource + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + // Load balancer pool member target address + TargetAddress pulumi.StringOutput `pulumi:"targetAddress"` + // Load balancer pool member target id + TargetId pulumi.StringOutput `pulumi:"targetId"` + // Load balcner pool member weight + Weight pulumi.IntOutput `pulumi:"weight"` +} + +// NewIsLbPoolMember registers a new resource with the given unique name, arguments, and options. +func NewIsLbPoolMember(ctx *pulumi.Context, + name string, args *IsLbPoolMemberArgs, opts ...pulumi.ResourceOption) (*IsLbPoolMember, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Lb == nil { + return nil, errors.New("invalid value for required argument 'Lb'") + } + if args.Pool == nil { + return nil, errors.New("invalid value for required argument 'Pool'") + } + if args.Port == nil { + return nil, errors.New("invalid value for required argument 'Port'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsLbPoolMember + err := ctx.RegisterResource("ibmcloud:index/isLbPoolMember:IsLbPoolMember", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsLbPoolMember gets an existing IsLbPoolMember resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsLbPoolMember(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsLbPoolMemberState, opts ...pulumi.ResourceOption) (*IsLbPoolMember, error) { + var resource IsLbPoolMember + err := ctx.ReadResource("ibmcloud:index/isLbPoolMember:IsLbPoolMember", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsLbPoolMember resources. +type isLbPoolMemberState struct { + // LB Pool member health + Health *string `pulumi:"health"` + // LB pool member Href value + Href *string `pulumi:"href"` + // Load balancer ID + Lb *string `pulumi:"lb"` + // Loadblancer Poold ID + Pool *string `pulumi:"pool"` + // Load Balancer Pool port + Port *int `pulumi:"port"` + // Load balancer Pool member provisioning status + ProvisioningStatus *string `pulumi:"provisioningStatus"` + // The crn of the LB resource + RelatedCrn *string `pulumi:"relatedCrn"` + // Load balancer pool member target address + TargetAddress *string `pulumi:"targetAddress"` + // Load balancer pool member target id + TargetId *string `pulumi:"targetId"` + // Load balcner pool member weight + Weight *int `pulumi:"weight"` +} + +type IsLbPoolMemberState struct { + // LB Pool member health + Health pulumi.StringPtrInput + // LB pool member Href value + Href pulumi.StringPtrInput + // Load balancer ID + Lb pulumi.StringPtrInput + // Loadblancer Poold ID + Pool pulumi.StringPtrInput + // Load Balancer Pool port + Port pulumi.IntPtrInput + // Load balancer Pool member provisioning status + ProvisioningStatus pulumi.StringPtrInput + // The crn of the LB resource + RelatedCrn pulumi.StringPtrInput + // Load balancer pool member target address + TargetAddress pulumi.StringPtrInput + // Load balancer pool member target id + TargetId pulumi.StringPtrInput + // Load balcner pool member weight + Weight pulumi.IntPtrInput +} + +func (IsLbPoolMemberState) ElementType() reflect.Type { + return reflect.TypeOf((*isLbPoolMemberState)(nil)).Elem() +} + +type isLbPoolMemberArgs struct { + // Load balancer ID + Lb string `pulumi:"lb"` + // Loadblancer Poold ID + Pool string `pulumi:"pool"` + // Load Balancer Pool port + Port int `pulumi:"port"` + // Load balancer pool member target address + TargetAddress *string `pulumi:"targetAddress"` + // Load balancer pool member target id + TargetId *string `pulumi:"targetId"` + // Load balcner pool member weight + Weight *int `pulumi:"weight"` +} + +// The set of arguments for constructing a IsLbPoolMember resource. +type IsLbPoolMemberArgs struct { + // Load balancer ID + Lb pulumi.StringInput + // Loadblancer Poold ID + Pool pulumi.StringInput + // Load Balancer Pool port + Port pulumi.IntInput + // Load balancer pool member target address + TargetAddress pulumi.StringPtrInput + // Load balancer pool member target id + TargetId pulumi.StringPtrInput + // Load balcner pool member weight + Weight pulumi.IntPtrInput +} + +func (IsLbPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isLbPoolMemberArgs)(nil)).Elem() +} + +type IsLbPoolMemberInput interface { + pulumi.Input + + ToIsLbPoolMemberOutput() IsLbPoolMemberOutput + ToIsLbPoolMemberOutputWithContext(ctx context.Context) IsLbPoolMemberOutput +} + +func (*IsLbPoolMember) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbPoolMember)(nil)).Elem() +} + +func (i *IsLbPoolMember) ToIsLbPoolMemberOutput() IsLbPoolMemberOutput { + return i.ToIsLbPoolMemberOutputWithContext(context.Background()) +} + +func (i *IsLbPoolMember) ToIsLbPoolMemberOutputWithContext(ctx context.Context) IsLbPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolMemberOutput) +} + +type IsLbPoolMemberOutput struct{ *pulumi.OutputState } + +func (IsLbPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbPoolMember)(nil)).Elem() +} + +func (o IsLbPoolMemberOutput) ToIsLbPoolMemberOutput() IsLbPoolMemberOutput { + return o +} + +func (o IsLbPoolMemberOutput) ToIsLbPoolMemberOutputWithContext(ctx context.Context) IsLbPoolMemberOutput { + return o +} + +// LB Pool member health +func (o IsLbPoolMemberOutput) Health() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.StringOutput { return v.Health }).(pulumi.StringOutput) +} + +// LB pool member Href value +func (o IsLbPoolMemberOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Load balancer ID +func (o IsLbPoolMemberOutput) Lb() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.StringOutput { return v.Lb }).(pulumi.StringOutput) +} + +// Loadblancer Poold ID +func (o IsLbPoolMemberOutput) Pool() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.StringOutput { return v.Pool }).(pulumi.StringOutput) +} + +// Load Balancer Pool port +func (o IsLbPoolMemberOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) +} + +// Load balancer Pool member provisioning status +func (o IsLbPoolMemberOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.StringOutput { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// The crn of the LB resource +func (o IsLbPoolMemberOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +// Load balancer pool member target address +func (o IsLbPoolMemberOutput) TargetAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.StringOutput { return v.TargetAddress }).(pulumi.StringOutput) +} + +// Load balancer pool member target id +func (o IsLbPoolMemberOutput) TargetId() pulumi.StringOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.StringOutput { return v.TargetId }).(pulumi.StringOutput) +} + +// Load balcner pool member weight +func (o IsLbPoolMemberOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v *IsLbPoolMember) pulumi.IntOutput { return v.Weight }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPoolMemberInput)(nil)).Elem(), &IsLbPoolMember{}) + pulumi.RegisterOutputType(IsLbPoolMemberOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isNetworkAcl.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isNetworkAcl.go new file mode 100644 index 000000000..d567dfa96 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isNetworkAcl.go @@ -0,0 +1,244 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsNetworkAcl struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // Network ACL name + Name pulumi.StringOutput `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Resource group ID for the network ACL + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + Rules IsNetworkAclRuleTypeArrayOutput `pulumi:"rules"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Network ACL VPC name + Vpc pulumi.StringPtrOutput `pulumi:"vpc"` +} + +// NewIsNetworkAcl registers a new resource with the given unique name, arguments, and options. +func NewIsNetworkAcl(ctx *pulumi.Context, + name string, args *IsNetworkAclArgs, opts ...pulumi.ResourceOption) (*IsNetworkAcl, error) { + if args == nil { + args = &IsNetworkAclArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsNetworkAcl + err := ctx.RegisterResource("ibmcloud:index/isNetworkAcl:IsNetworkAcl", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsNetworkAcl gets an existing IsNetworkAcl resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsNetworkAcl(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsNetworkAclState, opts ...pulumi.ResourceOption) (*IsNetworkAcl, error) { + var resource IsNetworkAcl + err := ctx.ReadResource("ibmcloud:index/isNetworkAcl:IsNetworkAcl", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsNetworkAcl resources. +type isNetworkAclState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // Network ACL name + Name *string `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Resource group ID for the network ACL + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + Rules []IsNetworkAclRuleType `pulumi:"rules"` + // List of tags + Tags []string `pulumi:"tags"` + // Network ACL VPC name + Vpc *string `pulumi:"vpc"` +} + +type IsNetworkAclState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The crn of the resource + Crn pulumi.StringPtrInput + // Network ACL name + Name pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Resource group ID for the network ACL + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + Rules IsNetworkAclRuleTypeArrayInput + // List of tags + Tags pulumi.StringArrayInput + // Network ACL VPC name + Vpc pulumi.StringPtrInput +} + +func (IsNetworkAclState) ElementType() reflect.Type { + return reflect.TypeOf((*isNetworkAclState)(nil)).Elem() +} + +type isNetworkAclArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Network ACL name + Name *string `pulumi:"name"` + // Resource group ID for the network ACL + ResourceGroup *string `pulumi:"resourceGroup"` + Rules []IsNetworkAclRuleType `pulumi:"rules"` + // List of tags + Tags []string `pulumi:"tags"` + // Network ACL VPC name + Vpc *string `pulumi:"vpc"` +} + +// The set of arguments for constructing a IsNetworkAcl resource. +type IsNetworkAclArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Network ACL name + Name pulumi.StringPtrInput + // Resource group ID for the network ACL + ResourceGroup pulumi.StringPtrInput + Rules IsNetworkAclRuleTypeArrayInput + // List of tags + Tags pulumi.StringArrayInput + // Network ACL VPC name + Vpc pulumi.StringPtrInput +} + +func (IsNetworkAclArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isNetworkAclArgs)(nil)).Elem() +} + +type IsNetworkAclInput interface { + pulumi.Input + + ToIsNetworkAclOutput() IsNetworkAclOutput + ToIsNetworkAclOutputWithContext(ctx context.Context) IsNetworkAclOutput +} + +func (*IsNetworkAcl) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAcl)(nil)).Elem() +} + +func (i *IsNetworkAcl) ToIsNetworkAclOutput() IsNetworkAclOutput { + return i.ToIsNetworkAclOutputWithContext(context.Background()) +} + +func (i *IsNetworkAcl) ToIsNetworkAclOutputWithContext(ctx context.Context) IsNetworkAclOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclOutput) +} + +type IsNetworkAclOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAcl)(nil)).Elem() +} + +func (o IsNetworkAclOutput) ToIsNetworkAclOutput() IsNetworkAclOutput { + return o +} + +func (o IsNetworkAclOutput) ToIsNetworkAclOutputWithContext(ctx context.Context) IsNetworkAclOutput { + return o +} + +// List of access management tags +func (o IsNetworkAclOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The crn of the resource +func (o IsNetworkAclOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Network ACL name +func (o IsNetworkAclOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsNetworkAclOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsNetworkAclOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Resource group ID for the network ACL +func (o IsNetworkAclOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsNetworkAclOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsNetworkAclOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +func (o IsNetworkAclOutput) Rules() IsNetworkAclRuleTypeArrayOutput { + return o.ApplyT(func(v *IsNetworkAcl) IsNetworkAclRuleTypeArrayOutput { return v.Rules }).(IsNetworkAclRuleTypeArrayOutput) +} + +// List of tags +func (o IsNetworkAclOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Network ACL VPC name +func (o IsNetworkAclOutput) Vpc() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsNetworkAcl) pulumi.StringPtrOutput { return v.Vpc }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclInput)(nil)).Elem(), &IsNetworkAcl{}) + pulumi.RegisterOutputType(IsNetworkAclOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isNetworkAclRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isNetworkAclRule.go new file mode 100644 index 000000000..bb121d9fb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isNetworkAclRule.go @@ -0,0 +1,297 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsNetworkAclRule struct { + pulumi.CustomResourceState + + // Whether to allow or deny matching traffic + Action pulumi.StringOutput `pulumi:"action"` + // The rule that this rule is immediately before. If absent, this is the last rule. + Before pulumi.StringOutput `pulumi:"before"` + // The destination CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Destination pulumi.StringOutput `pulumi:"destination"` + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringOutput `pulumi:"direction"` + // The url of the rule. + Href pulumi.StringOutput `pulumi:"href"` + Icmp IsNetworkAclRuleIcmpPtrOutput `pulumi:"icmp"` + // The IP version for this rule. + IpVersion pulumi.StringOutput `pulumi:"ipVersion"` + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // Network ACL id + NetworkAcl pulumi.StringOutput `pulumi:"networkAcl"` + // The protocol of the rule. + Protocol pulumi.StringOutput `pulumi:"protocol"` + // The network acl rule id. + RuleId pulumi.StringOutput `pulumi:"ruleId"` + // The source CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Source pulumi.StringOutput `pulumi:"source"` + Tcp IsNetworkAclRuleTcpPtrOutput `pulumi:"tcp"` + Udp IsNetworkAclRuleUdpPtrOutput `pulumi:"udp"` +} + +// NewIsNetworkAclRule registers a new resource with the given unique name, arguments, and options. +func NewIsNetworkAclRule(ctx *pulumi.Context, + name string, args *IsNetworkAclRuleArgs, opts ...pulumi.ResourceOption) (*IsNetworkAclRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Action == nil { + return nil, errors.New("invalid value for required argument 'Action'") + } + if args.Destination == nil { + return nil, errors.New("invalid value for required argument 'Destination'") + } + if args.Direction == nil { + return nil, errors.New("invalid value for required argument 'Direction'") + } + if args.NetworkAcl == nil { + return nil, errors.New("invalid value for required argument 'NetworkAcl'") + } + if args.Source == nil { + return nil, errors.New("invalid value for required argument 'Source'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsNetworkAclRule + err := ctx.RegisterResource("ibmcloud:index/isNetworkAclRule:IsNetworkAclRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsNetworkAclRule gets an existing IsNetworkAclRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsNetworkAclRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsNetworkAclRuleState, opts ...pulumi.ResourceOption) (*IsNetworkAclRule, error) { + var resource IsNetworkAclRule + err := ctx.ReadResource("ibmcloud:index/isNetworkAclRule:IsNetworkAclRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsNetworkAclRule resources. +type isNetworkAclRuleState struct { + // Whether to allow or deny matching traffic + Action *string `pulumi:"action"` + // The rule that this rule is immediately before. If absent, this is the last rule. + Before *string `pulumi:"before"` + // The destination CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Destination *string `pulumi:"destination"` + // Direction of traffic to enforce, either inbound or outbound + Direction *string `pulumi:"direction"` + // The url of the rule. + Href *string `pulumi:"href"` + Icmp *IsNetworkAclRuleIcmp `pulumi:"icmp"` + // The IP version for this rule. + IpVersion *string `pulumi:"ipVersion"` + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // Network ACL id + NetworkAcl *string `pulumi:"networkAcl"` + // The protocol of the rule. + Protocol *string `pulumi:"protocol"` + // The network acl rule id. + RuleId *string `pulumi:"ruleId"` + // The source CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Source *string `pulumi:"source"` + Tcp *IsNetworkAclRuleTcp `pulumi:"tcp"` + Udp *IsNetworkAclRuleUdp `pulumi:"udp"` +} + +type IsNetworkAclRuleState struct { + // Whether to allow or deny matching traffic + Action pulumi.StringPtrInput + // The rule that this rule is immediately before. If absent, this is the last rule. + Before pulumi.StringPtrInput + // The destination CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Destination pulumi.StringPtrInput + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringPtrInput + // The url of the rule. + Href pulumi.StringPtrInput + Icmp IsNetworkAclRuleIcmpPtrInput + // The IP version for this rule. + IpVersion pulumi.StringPtrInput + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // Network ACL id + NetworkAcl pulumi.StringPtrInput + // The protocol of the rule. + Protocol pulumi.StringPtrInput + // The network acl rule id. + RuleId pulumi.StringPtrInput + // The source CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Source pulumi.StringPtrInput + Tcp IsNetworkAclRuleTcpPtrInput + Udp IsNetworkAclRuleUdpPtrInput +} + +func (IsNetworkAclRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*isNetworkAclRuleState)(nil)).Elem() +} + +type isNetworkAclRuleArgs struct { + // Whether to allow or deny matching traffic + Action string `pulumi:"action"` + // The rule that this rule is immediately before. If absent, this is the last rule. + Before *string `pulumi:"before"` + // The destination CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Destination string `pulumi:"destination"` + // Direction of traffic to enforce, either inbound or outbound + Direction string `pulumi:"direction"` + Icmp *IsNetworkAclRuleIcmp `pulumi:"icmp"` + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // Network ACL id + NetworkAcl string `pulumi:"networkAcl"` + // The source CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Source string `pulumi:"source"` + Tcp *IsNetworkAclRuleTcp `pulumi:"tcp"` + Udp *IsNetworkAclRuleUdp `pulumi:"udp"` +} + +// The set of arguments for constructing a IsNetworkAclRule resource. +type IsNetworkAclRuleArgs struct { + // Whether to allow or deny matching traffic + Action pulumi.StringInput + // The rule that this rule is immediately before. If absent, this is the last rule. + Before pulumi.StringPtrInput + // The destination CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Destination pulumi.StringInput + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringInput + Icmp IsNetworkAclRuleIcmpPtrInput + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // Network ACL id + NetworkAcl pulumi.StringInput + // The source CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. + Source pulumi.StringInput + Tcp IsNetworkAclRuleTcpPtrInput + Udp IsNetworkAclRuleUdpPtrInput +} + +func (IsNetworkAclRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isNetworkAclRuleArgs)(nil)).Elem() +} + +type IsNetworkAclRuleInput interface { + pulumi.Input + + ToIsNetworkAclRuleOutput() IsNetworkAclRuleOutput + ToIsNetworkAclRuleOutputWithContext(ctx context.Context) IsNetworkAclRuleOutput +} + +func (*IsNetworkAclRule) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAclRule)(nil)).Elem() +} + +func (i *IsNetworkAclRule) ToIsNetworkAclRuleOutput() IsNetworkAclRuleOutput { + return i.ToIsNetworkAclRuleOutputWithContext(context.Background()) +} + +func (i *IsNetworkAclRule) ToIsNetworkAclRuleOutputWithContext(ctx context.Context) IsNetworkAclRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleOutput) +} + +type IsNetworkAclRuleOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAclRule)(nil)).Elem() +} + +func (o IsNetworkAclRuleOutput) ToIsNetworkAclRuleOutput() IsNetworkAclRuleOutput { + return o +} + +func (o IsNetworkAclRuleOutput) ToIsNetworkAclRuleOutputWithContext(ctx context.Context) IsNetworkAclRuleOutput { + return o +} + +// Whether to allow or deny matching traffic +func (o IsNetworkAclRuleOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.Action }).(pulumi.StringOutput) +} + +// The rule that this rule is immediately before. If absent, this is the last rule. +func (o IsNetworkAclRuleOutput) Before() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.Before }).(pulumi.StringOutput) +} + +// The destination CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. +func (o IsNetworkAclRuleOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.Destination }).(pulumi.StringOutput) +} + +// Direction of traffic to enforce, either inbound or outbound +func (o IsNetworkAclRuleOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.Direction }).(pulumi.StringOutput) +} + +// The url of the rule. +func (o IsNetworkAclRuleOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +func (o IsNetworkAclRuleOutput) Icmp() IsNetworkAclRuleIcmpPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRule) IsNetworkAclRuleIcmpPtrOutput { return v.Icmp }).(IsNetworkAclRuleIcmpPtrOutput) +} + +// The IP version for this rule. +func (o IsNetworkAclRuleOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.IpVersion }).(pulumi.StringOutput) +} + +// The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsNetworkAclRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Network ACL id +func (o IsNetworkAclRuleOutput) NetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.NetworkAcl }).(pulumi.StringOutput) +} + +// The protocol of the rule. +func (o IsNetworkAclRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) +} + +// The network acl rule id. +func (o IsNetworkAclRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.RuleId }).(pulumi.StringOutput) +} + +// The source CIDR block. The CIDR block 0.0.0.0/0 applies to all addresses. +func (o IsNetworkAclRuleOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v *IsNetworkAclRule) pulumi.StringOutput { return v.Source }).(pulumi.StringOutput) +} + +func (o IsNetworkAclRuleOutput) Tcp() IsNetworkAclRuleTcpPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRule) IsNetworkAclRuleTcpPtrOutput { return v.Tcp }).(IsNetworkAclRuleTcpPtrOutput) +} + +func (o IsNetworkAclRuleOutput) Udp() IsNetworkAclRuleUdpPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRule) IsNetworkAclRuleUdpPtrOutput { return v.Udp }).(IsNetworkAclRuleUdpPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleInput)(nil)).Elem(), &IsNetworkAclRule{}) + pulumi.RegisterOutputType(IsNetworkAclRuleOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPlacementGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPlacementGroup.go new file mode 100644 index 000000000..3ecb2e0ad --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPlacementGroup.go @@ -0,0 +1,239 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsPlacementGroup struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The date and time that the placement group was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this placement group. + Crn pulumi.StringOutput `pulumi:"crn"` + // The URL for this placement group. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of the placement group. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The unique user-defined name for this placement group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. + Strategy pulumi.StringOutput `pulumi:"strategy"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` +} + +// NewIsPlacementGroup registers a new resource with the given unique name, arguments, and options. +func NewIsPlacementGroup(ctx *pulumi.Context, + name string, args *IsPlacementGroupArgs, opts ...pulumi.ResourceOption) (*IsPlacementGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Strategy == nil { + return nil, errors.New("invalid value for required argument 'Strategy'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsPlacementGroup + err := ctx.RegisterResource("ibmcloud:index/isPlacementGroup:IsPlacementGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsPlacementGroup gets an existing IsPlacementGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsPlacementGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsPlacementGroupState, opts ...pulumi.ResourceOption) (*IsPlacementGroup, error) { + var resource IsPlacementGroup + err := ctx.ReadResource("ibmcloud:index/isPlacementGroup:IsPlacementGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsPlacementGroup resources. +type isPlacementGroupState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The date and time that the placement group was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this placement group. + Crn *string `pulumi:"crn"` + // The URL for this placement group. + Href *string `pulumi:"href"` + // The lifecycle state of the placement group. + LifecycleState *string `pulumi:"lifecycleState"` + // The unique user-defined name for this placement group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. + Strategy *string `pulumi:"strategy"` + // List of tags + Tags []string `pulumi:"tags"` +} + +type IsPlacementGroupState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The date and time that the placement group was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this placement group. + Crn pulumi.StringPtrInput + // The URL for this placement group. + Href pulumi.StringPtrInput + // The lifecycle state of the placement group. + LifecycleState pulumi.StringPtrInput + // The unique user-defined name for this placement group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. + Strategy pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput +} + +func (IsPlacementGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*isPlacementGroupState)(nil)).Elem() +} + +type isPlacementGroupArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The unique user-defined name for this placement group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. + Strategy string `pulumi:"strategy"` + // List of tags + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsPlacementGroup resource. +type IsPlacementGroupArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The unique user-defined name for this placement group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. + Strategy pulumi.StringInput + // List of tags + Tags pulumi.StringArrayInput +} + +func (IsPlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isPlacementGroupArgs)(nil)).Elem() +} + +type IsPlacementGroupInput interface { + pulumi.Input + + ToIsPlacementGroupOutput() IsPlacementGroupOutput + ToIsPlacementGroupOutputWithContext(ctx context.Context) IsPlacementGroupOutput +} + +func (*IsPlacementGroup) ElementType() reflect.Type { + return reflect.TypeOf((**IsPlacementGroup)(nil)).Elem() +} + +func (i *IsPlacementGroup) ToIsPlacementGroupOutput() IsPlacementGroupOutput { + return i.ToIsPlacementGroupOutputWithContext(context.Background()) +} + +func (i *IsPlacementGroup) ToIsPlacementGroupOutputWithContext(ctx context.Context) IsPlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPlacementGroupOutput) +} + +type IsPlacementGroupOutput struct{ *pulumi.OutputState } + +func (IsPlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPlacementGroup)(nil)).Elem() +} + +func (o IsPlacementGroupOutput) ToIsPlacementGroupOutput() IsPlacementGroupOutput { + return o +} + +func (o IsPlacementGroupOutput) ToIsPlacementGroupOutputWithContext(ctx context.Context) IsPlacementGroupOutput { + return o +} + +// List of access management tags +func (o IsPlacementGroupOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The date and time that the placement group was created. +func (o IsPlacementGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this placement group. +func (o IsPlacementGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this placement group. +func (o IsPlacementGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of the placement group. +func (o IsPlacementGroupOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The unique user-defined name for this placement group. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsPlacementGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. +func (o IsPlacementGroupOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsPlacementGroupOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. +func (o IsPlacementGroupOutput) Strategy() pulumi.StringOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringOutput { return v.Strategy }).(pulumi.StringOutput) +} + +// List of tags +func (o IsPlacementGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsPlacementGroup) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsPlacementGroupInput)(nil)).Elem(), &IsPlacementGroup{}) + pulumi.RegisterOutputType(IsPlacementGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGateway.go new file mode 100644 index 000000000..cfb3ae53c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGateway.go @@ -0,0 +1,336 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsPrivatePathServiceGateway struct { + pulumi.CustomResourceState + + // The date and time that the account policy was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + DefaultAccessPolicy pulumi.StringOutput `pulumi:"defaultAccessPolicy"` + // Indicates whether endpoint gateway bindings will be automatically deleted after endpointGatewayBindingAutoDeleteTimeout hours have passed. + EndpointGatewayBindingAutoDelete pulumi.BoolOutput `pulumi:"endpointGatewayBindingAutoDelete"` + // If endpointGatewayBindingAutoDelete is true, the hours after which endpoint gateway bindings will be automatically deleted. + EndpointGatewayBindingAutoDeleteTimeout pulumi.IntOutput `pulumi:"endpointGatewayBindingAutoDeleteTimeout"` + // The number of endpoint gateways using this private path service gateway. + EndpointGatewayCount pulumi.IntOutput `pulumi:"endpointGatewayCount"` + // Href of this resource + Href pulumi.StringOutput `pulumi:"href"` + // lifecycle_state of this resource + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The load balancer for this private path service gateway. + LoadBalancer pulumi.StringOutput `pulumi:"loadBalancer"` + // The name of this PPSG + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier for this account policy. + PrivatePathServiceGateway pulumi.StringOutput `pulumi:"privatePathServiceGateway"` + // Indicates the availability of this private path service gateway. + Published pulumi.BoolOutput `pulumi:"published"` + // ID of resource group to use. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The fully qualified domain names for this private path service gateway. + ServiceEndpoints pulumi.StringArrayOutput `pulumi:"serviceEndpoints"` + // The date and time that the account policy was updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` + // The VPC this private path service gateway resides in. + Vpc pulumi.StringOutput `pulumi:"vpc"` + // ndicates whether this private path service gateway has zonal affinity. + ZonalAffinity pulumi.BoolOutput `pulumi:"zonalAffinity"` +} + +// NewIsPrivatePathServiceGateway registers a new resource with the given unique name, arguments, and options. +func NewIsPrivatePathServiceGateway(ctx *pulumi.Context, + name string, args *IsPrivatePathServiceGatewayArgs, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGateway, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.LoadBalancer == nil { + return nil, errors.New("invalid value for required argument 'LoadBalancer'") + } + if args.ServiceEndpoints == nil { + return nil, errors.New("invalid value for required argument 'ServiceEndpoints'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsPrivatePathServiceGateway + err := ctx.RegisterResource("ibmcloud:index/isPrivatePathServiceGateway:IsPrivatePathServiceGateway", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsPrivatePathServiceGateway gets an existing IsPrivatePathServiceGateway resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsPrivatePathServiceGateway(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsPrivatePathServiceGatewayState, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGateway, error) { + var resource IsPrivatePathServiceGateway + err := ctx.ReadResource("ibmcloud:index/isPrivatePathServiceGateway:IsPrivatePathServiceGateway", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsPrivatePathServiceGateway resources. +type isPrivatePathServiceGatewayState struct { + // The date and time that the account policy was created. + CreatedAt *string `pulumi:"createdAt"` + // CRN of this resource. + Crn *string `pulumi:"crn"` + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + DefaultAccessPolicy *string `pulumi:"defaultAccessPolicy"` + // Indicates whether endpoint gateway bindings will be automatically deleted after endpointGatewayBindingAutoDeleteTimeout hours have passed. + EndpointGatewayBindingAutoDelete *bool `pulumi:"endpointGatewayBindingAutoDelete"` + // If endpointGatewayBindingAutoDelete is true, the hours after which endpoint gateway bindings will be automatically deleted. + EndpointGatewayBindingAutoDeleteTimeout *int `pulumi:"endpointGatewayBindingAutoDeleteTimeout"` + // The number of endpoint gateways using this private path service gateway. + EndpointGatewayCount *int `pulumi:"endpointGatewayCount"` + // Href of this resource + Href *string `pulumi:"href"` + // lifecycle_state of this resource + LifecycleState *string `pulumi:"lifecycleState"` + // The load balancer for this private path service gateway. + LoadBalancer *string `pulumi:"loadBalancer"` + // The name of this PPSG + Name *string `pulumi:"name"` + // The unique identifier for this account policy. + PrivatePathServiceGateway *string `pulumi:"privatePathServiceGateway"` + // Indicates the availability of this private path service gateway. + Published *bool `pulumi:"published"` + // ID of resource group to use. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The fully qualified domain names for this private path service gateway. + ServiceEndpoints []string `pulumi:"serviceEndpoints"` + // The date and time that the account policy was updated. + UpdatedAt *string `pulumi:"updatedAt"` + // The VPC this private path service gateway resides in. + Vpc *string `pulumi:"vpc"` + // ndicates whether this private path service gateway has zonal affinity. + ZonalAffinity *bool `pulumi:"zonalAffinity"` +} + +type IsPrivatePathServiceGatewayState struct { + // The date and time that the account policy was created. + CreatedAt pulumi.StringPtrInput + // CRN of this resource. + Crn pulumi.StringPtrInput + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + DefaultAccessPolicy pulumi.StringPtrInput + // Indicates whether endpoint gateway bindings will be automatically deleted after endpointGatewayBindingAutoDeleteTimeout hours have passed. + EndpointGatewayBindingAutoDelete pulumi.BoolPtrInput + // If endpointGatewayBindingAutoDelete is true, the hours after which endpoint gateway bindings will be automatically deleted. + EndpointGatewayBindingAutoDeleteTimeout pulumi.IntPtrInput + // The number of endpoint gateways using this private path service gateway. + EndpointGatewayCount pulumi.IntPtrInput + // Href of this resource + Href pulumi.StringPtrInput + // lifecycle_state of this resource + LifecycleState pulumi.StringPtrInput + // The load balancer for this private path service gateway. + LoadBalancer pulumi.StringPtrInput + // The name of this PPSG + Name pulumi.StringPtrInput + // The unique identifier for this account policy. + PrivatePathServiceGateway pulumi.StringPtrInput + // Indicates the availability of this private path service gateway. + Published pulumi.BoolPtrInput + // ID of resource group to use. + ResourceGroup pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The fully qualified domain names for this private path service gateway. + ServiceEndpoints pulumi.StringArrayInput + // The date and time that the account policy was updated. + UpdatedAt pulumi.StringPtrInput + // The VPC this private path service gateway resides in. + Vpc pulumi.StringPtrInput + // ndicates whether this private path service gateway has zonal affinity. + ZonalAffinity pulumi.BoolPtrInput +} + +func (IsPrivatePathServiceGatewayState) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayState)(nil)).Elem() +} + +type isPrivatePathServiceGatewayArgs struct { + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + DefaultAccessPolicy *string `pulumi:"defaultAccessPolicy"` + // The load balancer for this private path service gateway. + LoadBalancer string `pulumi:"loadBalancer"` + // The name of this PPSG + Name *string `pulumi:"name"` + // ID of resource group to use. + ResourceGroup *string `pulumi:"resourceGroup"` + // The fully qualified domain names for this private path service gateway. + ServiceEndpoints []string `pulumi:"serviceEndpoints"` + // ndicates whether this private path service gateway has zonal affinity. + ZonalAffinity *bool `pulumi:"zonalAffinity"` +} + +// The set of arguments for constructing a IsPrivatePathServiceGateway resource. +type IsPrivatePathServiceGatewayArgs struct { + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + DefaultAccessPolicy pulumi.StringPtrInput + // The load balancer for this private path service gateway. + LoadBalancer pulumi.StringInput + // The name of this PPSG + Name pulumi.StringPtrInput + // ID of resource group to use. + ResourceGroup pulumi.StringPtrInput + // The fully qualified domain names for this private path service gateway. + ServiceEndpoints pulumi.StringArrayInput + // ndicates whether this private path service gateway has zonal affinity. + ZonalAffinity pulumi.BoolPtrInput +} + +func (IsPrivatePathServiceGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayArgs)(nil)).Elem() +} + +type IsPrivatePathServiceGatewayInput interface { + pulumi.Input + + ToIsPrivatePathServiceGatewayOutput() IsPrivatePathServiceGatewayOutput + ToIsPrivatePathServiceGatewayOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayOutput +} + +func (*IsPrivatePathServiceGateway) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGateway)(nil)).Elem() +} + +func (i *IsPrivatePathServiceGateway) ToIsPrivatePathServiceGatewayOutput() IsPrivatePathServiceGatewayOutput { + return i.ToIsPrivatePathServiceGatewayOutputWithContext(context.Background()) +} + +func (i *IsPrivatePathServiceGateway) ToIsPrivatePathServiceGatewayOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPrivatePathServiceGatewayOutput) +} + +type IsPrivatePathServiceGatewayOutput struct{ *pulumi.OutputState } + +func (IsPrivatePathServiceGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGateway)(nil)).Elem() +} + +func (o IsPrivatePathServiceGatewayOutput) ToIsPrivatePathServiceGatewayOutput() IsPrivatePathServiceGatewayOutput { + return o +} + +func (o IsPrivatePathServiceGatewayOutput) ToIsPrivatePathServiceGatewayOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayOutput { + return o +} + +// The date and time that the account policy was created. +func (o IsPrivatePathServiceGatewayOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// CRN of this resource. +func (o IsPrivatePathServiceGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. +func (o IsPrivatePathServiceGatewayOutput) DefaultAccessPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.DefaultAccessPolicy }).(pulumi.StringOutput) +} + +// Indicates whether endpoint gateway bindings will be automatically deleted after endpointGatewayBindingAutoDeleteTimeout hours have passed. +func (o IsPrivatePathServiceGatewayOutput) EndpointGatewayBindingAutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.BoolOutput { return v.EndpointGatewayBindingAutoDelete }).(pulumi.BoolOutput) +} + +// If endpointGatewayBindingAutoDelete is true, the hours after which endpoint gateway bindings will be automatically deleted. +func (o IsPrivatePathServiceGatewayOutput) EndpointGatewayBindingAutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.IntOutput { + return v.EndpointGatewayBindingAutoDeleteTimeout + }).(pulumi.IntOutput) +} + +// The number of endpoint gateways using this private path service gateway. +func (o IsPrivatePathServiceGatewayOutput) EndpointGatewayCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.IntOutput { return v.EndpointGatewayCount }).(pulumi.IntOutput) +} + +// Href of this resource +func (o IsPrivatePathServiceGatewayOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// lifecycle_state of this resource +func (o IsPrivatePathServiceGatewayOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The load balancer for this private path service gateway. +func (o IsPrivatePathServiceGatewayOutput) LoadBalancer() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.LoadBalancer }).(pulumi.StringOutput) +} + +// The name of this PPSG +func (o IsPrivatePathServiceGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier for this account policy. +func (o IsPrivatePathServiceGatewayOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.PrivatePathServiceGateway }).(pulumi.StringOutput) +} + +// Indicates the availability of this private path service gateway. +func (o IsPrivatePathServiceGatewayOutput) Published() pulumi.BoolOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.BoolOutput { return v.Published }).(pulumi.BoolOutput) +} + +// ID of resource group to use. +func (o IsPrivatePathServiceGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsPrivatePathServiceGatewayOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The fully qualified domain names for this private path service gateway. +func (o IsPrivatePathServiceGatewayOutput) ServiceEndpoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringArrayOutput { return v.ServiceEndpoints }).(pulumi.StringArrayOutput) +} + +// The date and time that the account policy was updated. +func (o IsPrivatePathServiceGatewayOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// The VPC this private path service gateway resides in. +func (o IsPrivatePathServiceGatewayOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// ndicates whether this private path service gateway has zonal affinity. +func (o IsPrivatePathServiceGatewayOutput) ZonalAffinity() pulumi.BoolOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGateway) pulumi.BoolOutput { return v.ZonalAffinity }).(pulumi.BoolOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsPrivatePathServiceGatewayInput)(nil)).Elem(), &IsPrivatePathServiceGateway{}) + pulumi.RegisterOutputType(IsPrivatePathServiceGatewayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayAccountPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayAccountPolicy.go new file mode 100644 index 000000000..3527503cd --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayAccountPolicy.go @@ -0,0 +1,217 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsPrivatePathServiceGatewayAccountPolicy struct { + pulumi.CustomResourceState + + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + AccessPolicy pulumi.StringOutput `pulumi:"accessPolicy"` + // The account for this access policy. + Account pulumi.StringOutput `pulumi:"account"` + // The unique identifier for this account policy. + AccountPolicy pulumi.StringOutput `pulumi:"accountPolicy"` + // The date and time that the account policy was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The URL for this account policy. + Href pulumi.StringOutput `pulumi:"href"` + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringOutput `pulumi:"privatePathServiceGateway"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The date and time that the account policy was updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewIsPrivatePathServiceGatewayAccountPolicy registers a new resource with the given unique name, arguments, and options. +func NewIsPrivatePathServiceGatewayAccountPolicy(ctx *pulumi.Context, + name string, args *IsPrivatePathServiceGatewayAccountPolicyArgs, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGatewayAccountPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccessPolicy == nil { + return nil, errors.New("invalid value for required argument 'AccessPolicy'") + } + if args.Account == nil { + return nil, errors.New("invalid value for required argument 'Account'") + } + if args.PrivatePathServiceGateway == nil { + return nil, errors.New("invalid value for required argument 'PrivatePathServiceGateway'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsPrivatePathServiceGatewayAccountPolicy + err := ctx.RegisterResource("ibmcloud:index/isPrivatePathServiceGatewayAccountPolicy:IsPrivatePathServiceGatewayAccountPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsPrivatePathServiceGatewayAccountPolicy gets an existing IsPrivatePathServiceGatewayAccountPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsPrivatePathServiceGatewayAccountPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsPrivatePathServiceGatewayAccountPolicyState, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGatewayAccountPolicy, error) { + var resource IsPrivatePathServiceGatewayAccountPolicy + err := ctx.ReadResource("ibmcloud:index/isPrivatePathServiceGatewayAccountPolicy:IsPrivatePathServiceGatewayAccountPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsPrivatePathServiceGatewayAccountPolicy resources. +type isPrivatePathServiceGatewayAccountPolicyState struct { + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + AccessPolicy *string `pulumi:"accessPolicy"` + // The account for this access policy. + Account *string `pulumi:"account"` + // The unique identifier for this account policy. + AccountPolicy *string `pulumi:"accountPolicy"` + // The date and time that the account policy was created. + CreatedAt *string `pulumi:"createdAt"` + // The URL for this account policy. + Href *string `pulumi:"href"` + // The private path service gateway identifier. + PrivatePathServiceGateway *string `pulumi:"privatePathServiceGateway"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The date and time that the account policy was updated. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type IsPrivatePathServiceGatewayAccountPolicyState struct { + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + AccessPolicy pulumi.StringPtrInput + // The account for this access policy. + Account pulumi.StringPtrInput + // The unique identifier for this account policy. + AccountPolicy pulumi.StringPtrInput + // The date and time that the account policy was created. + CreatedAt pulumi.StringPtrInput + // The URL for this account policy. + Href pulumi.StringPtrInput + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The date and time that the account policy was updated. + UpdatedAt pulumi.StringPtrInput +} + +func (IsPrivatePathServiceGatewayAccountPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayAccountPolicyState)(nil)).Elem() +} + +type isPrivatePathServiceGatewayAccountPolicyArgs struct { + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + AccessPolicy string `pulumi:"accessPolicy"` + // The account for this access policy. + Account string `pulumi:"account"` + // The private path service gateway identifier. + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` +} + +// The set of arguments for constructing a IsPrivatePathServiceGatewayAccountPolicy resource. +type IsPrivatePathServiceGatewayAccountPolicyArgs struct { + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. + AccessPolicy pulumi.StringInput + // The account for this access policy. + Account pulumi.StringInput + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringInput +} + +func (IsPrivatePathServiceGatewayAccountPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayAccountPolicyArgs)(nil)).Elem() +} + +type IsPrivatePathServiceGatewayAccountPolicyInput interface { + pulumi.Input + + ToIsPrivatePathServiceGatewayAccountPolicyOutput() IsPrivatePathServiceGatewayAccountPolicyOutput + ToIsPrivatePathServiceGatewayAccountPolicyOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayAccountPolicyOutput +} + +func (*IsPrivatePathServiceGatewayAccountPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGatewayAccountPolicy)(nil)).Elem() +} + +func (i *IsPrivatePathServiceGatewayAccountPolicy) ToIsPrivatePathServiceGatewayAccountPolicyOutput() IsPrivatePathServiceGatewayAccountPolicyOutput { + return i.ToIsPrivatePathServiceGatewayAccountPolicyOutputWithContext(context.Background()) +} + +func (i *IsPrivatePathServiceGatewayAccountPolicy) ToIsPrivatePathServiceGatewayAccountPolicyOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayAccountPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPrivatePathServiceGatewayAccountPolicyOutput) +} + +type IsPrivatePathServiceGatewayAccountPolicyOutput struct{ *pulumi.OutputState } + +func (IsPrivatePathServiceGatewayAccountPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGatewayAccountPolicy)(nil)).Elem() +} + +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) ToIsPrivatePathServiceGatewayAccountPolicyOutput() IsPrivatePathServiceGatewayAccountPolicyOutput { + return o +} + +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) ToIsPrivatePathServiceGatewayAccountPolicyOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayAccountPolicyOutput { + return o +} + +// The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewed. +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) AccessPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayAccountPolicy) pulumi.StringOutput { return v.AccessPolicy }).(pulumi.StringOutput) +} + +// The account for this access policy. +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) Account() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayAccountPolicy) pulumi.StringOutput { return v.Account }).(pulumi.StringOutput) +} + +// The unique identifier for this account policy. +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) AccountPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayAccountPolicy) pulumi.StringOutput { return v.AccountPolicy }).(pulumi.StringOutput) +} + +// The date and time that the account policy was created. +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayAccountPolicy) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this account policy. +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayAccountPolicy) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The private path service gateway identifier. +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayAccountPolicy) pulumi.StringOutput { + return v.PrivatePathServiceGateway + }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayAccountPolicy) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The date and time that the account policy was updated. +func (o IsPrivatePathServiceGatewayAccountPolicyOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayAccountPolicy) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsPrivatePathServiceGatewayAccountPolicyInput)(nil)).Elem(), &IsPrivatePathServiceGatewayAccountPolicy{}) + pulumi.RegisterOutputType(IsPrivatePathServiceGatewayAccountPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayEndpointGatewayBindingOperations.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayEndpointGatewayBindingOperations.go new file mode 100644 index 000000000..be5108574 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayEndpointGatewayBindingOperations.go @@ -0,0 +1,166 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsPrivatePathServiceGatewayEndpointGatewayBindingOperations struct { + pulumi.CustomResourceState + + // Access polict to set for this endpoint gateway binding. + AccessPolicy pulumi.StringOutput `pulumi:"accessPolicy"` + // The private path service gateway identifier. + EndpointGatewayBinding pulumi.StringOutput `pulumi:"endpointGatewayBinding"` + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringOutput `pulumi:"privatePathServiceGateway"` +} + +// NewIsPrivatePathServiceGatewayEndpointGatewayBindingOperations registers a new resource with the given unique name, arguments, and options. +func NewIsPrivatePathServiceGatewayEndpointGatewayBindingOperations(ctx *pulumi.Context, + name string, args *IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsArgs, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGatewayEndpointGatewayBindingOperations, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccessPolicy == nil { + return nil, errors.New("invalid value for required argument 'AccessPolicy'") + } + if args.EndpointGatewayBinding == nil { + return nil, errors.New("invalid value for required argument 'EndpointGatewayBinding'") + } + if args.PrivatePathServiceGateway == nil { + return nil, errors.New("invalid value for required argument 'PrivatePathServiceGateway'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsPrivatePathServiceGatewayEndpointGatewayBindingOperations + err := ctx.RegisterResource("ibmcloud:index/isPrivatePathServiceGatewayEndpointGatewayBindingOperations:IsPrivatePathServiceGatewayEndpointGatewayBindingOperations", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingOperations gets an existing IsPrivatePathServiceGatewayEndpointGatewayBindingOperations resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsPrivatePathServiceGatewayEndpointGatewayBindingOperations(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsState, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGatewayEndpointGatewayBindingOperations, error) { + var resource IsPrivatePathServiceGatewayEndpointGatewayBindingOperations + err := ctx.ReadResource("ibmcloud:index/isPrivatePathServiceGatewayEndpointGatewayBindingOperations:IsPrivatePathServiceGatewayEndpointGatewayBindingOperations", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsPrivatePathServiceGatewayEndpointGatewayBindingOperations resources. +type isPrivatePathServiceGatewayEndpointGatewayBindingOperationsState struct { + // Access polict to set for this endpoint gateway binding. + AccessPolicy *string `pulumi:"accessPolicy"` + // The private path service gateway identifier. + EndpointGatewayBinding *string `pulumi:"endpointGatewayBinding"` + // The private path service gateway identifier. + PrivatePathServiceGateway *string `pulumi:"privatePathServiceGateway"` +} + +type IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsState struct { + // Access polict to set for this endpoint gateway binding. + AccessPolicy pulumi.StringPtrInput + // The private path service gateway identifier. + EndpointGatewayBinding pulumi.StringPtrInput + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringPtrInput +} + +func (IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsState) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayEndpointGatewayBindingOperationsState)(nil)).Elem() +} + +type isPrivatePathServiceGatewayEndpointGatewayBindingOperationsArgs struct { + // Access polict to set for this endpoint gateway binding. + AccessPolicy string `pulumi:"accessPolicy"` + // The private path service gateway identifier. + EndpointGatewayBinding string `pulumi:"endpointGatewayBinding"` + // The private path service gateway identifier. + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` +} + +// The set of arguments for constructing a IsPrivatePathServiceGatewayEndpointGatewayBindingOperations resource. +type IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsArgs struct { + // Access polict to set for this endpoint gateway binding. + AccessPolicy pulumi.StringInput + // The private path service gateway identifier. + EndpointGatewayBinding pulumi.StringInput + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringInput +} + +func (IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayEndpointGatewayBindingOperationsArgs)(nil)).Elem() +} + +type IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsInput interface { + pulumi.Input + + ToIsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput() IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput + ToIsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput +} + +func (*IsPrivatePathServiceGatewayEndpointGatewayBindingOperations) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGatewayEndpointGatewayBindingOperations)(nil)).Elem() +} + +func (i *IsPrivatePathServiceGatewayEndpointGatewayBindingOperations) ToIsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput() IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput { + return i.ToIsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutputWithContext(context.Background()) +} + +func (i *IsPrivatePathServiceGatewayEndpointGatewayBindingOperations) ToIsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput) +} + +type IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput struct{ *pulumi.OutputState } + +func (IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGatewayEndpointGatewayBindingOperations)(nil)).Elem() +} + +func (o IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput) ToIsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput() IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput { + return o +} + +func (o IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput) ToIsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput { + return o +} + +// Access polict to set for this endpoint gateway binding. +func (o IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput) AccessPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayEndpointGatewayBindingOperations) pulumi.StringOutput { + return v.AccessPolicy + }).(pulumi.StringOutput) +} + +// The private path service gateway identifier. +func (o IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput) EndpointGatewayBinding() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayEndpointGatewayBindingOperations) pulumi.StringOutput { + return v.EndpointGatewayBinding + }).(pulumi.StringOutput) +} + +// The private path service gateway identifier. +func (o IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayEndpointGatewayBindingOperations) pulumi.StringOutput { + return v.PrivatePathServiceGateway + }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsInput)(nil)).Elem(), &IsPrivatePathServiceGatewayEndpointGatewayBindingOperations{}) + pulumi.RegisterOutputType(IsPrivatePathServiceGatewayEndpointGatewayBindingOperationsOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayOperations.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayOperations.go new file mode 100644 index 000000000..30c943eb4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayOperations.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsPrivatePathServiceGatewayOperations struct { + pulumi.CustomResourceState + + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringOutput `pulumi:"privatePathServiceGateway"` + // Publish or unpublish PPSG. + Published pulumi.BoolOutput `pulumi:"published"` +} + +// NewIsPrivatePathServiceGatewayOperations registers a new resource with the given unique name, arguments, and options. +func NewIsPrivatePathServiceGatewayOperations(ctx *pulumi.Context, + name string, args *IsPrivatePathServiceGatewayOperationsArgs, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGatewayOperations, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PrivatePathServiceGateway == nil { + return nil, errors.New("invalid value for required argument 'PrivatePathServiceGateway'") + } + if args.Published == nil { + return nil, errors.New("invalid value for required argument 'Published'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsPrivatePathServiceGatewayOperations + err := ctx.RegisterResource("ibmcloud:index/isPrivatePathServiceGatewayOperations:IsPrivatePathServiceGatewayOperations", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsPrivatePathServiceGatewayOperations gets an existing IsPrivatePathServiceGatewayOperations resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsPrivatePathServiceGatewayOperations(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsPrivatePathServiceGatewayOperationsState, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGatewayOperations, error) { + var resource IsPrivatePathServiceGatewayOperations + err := ctx.ReadResource("ibmcloud:index/isPrivatePathServiceGatewayOperations:IsPrivatePathServiceGatewayOperations", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsPrivatePathServiceGatewayOperations resources. +type isPrivatePathServiceGatewayOperationsState struct { + // The private path service gateway identifier. + PrivatePathServiceGateway *string `pulumi:"privatePathServiceGateway"` + // Publish or unpublish PPSG. + Published *bool `pulumi:"published"` +} + +type IsPrivatePathServiceGatewayOperationsState struct { + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringPtrInput + // Publish or unpublish PPSG. + Published pulumi.BoolPtrInput +} + +func (IsPrivatePathServiceGatewayOperationsState) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayOperationsState)(nil)).Elem() +} + +type isPrivatePathServiceGatewayOperationsArgs struct { + // The private path service gateway identifier. + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` + // Publish or unpublish PPSG. + Published bool `pulumi:"published"` +} + +// The set of arguments for constructing a IsPrivatePathServiceGatewayOperations resource. +type IsPrivatePathServiceGatewayOperationsArgs struct { + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringInput + // Publish or unpublish PPSG. + Published pulumi.BoolInput +} + +func (IsPrivatePathServiceGatewayOperationsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayOperationsArgs)(nil)).Elem() +} + +type IsPrivatePathServiceGatewayOperationsInput interface { + pulumi.Input + + ToIsPrivatePathServiceGatewayOperationsOutput() IsPrivatePathServiceGatewayOperationsOutput + ToIsPrivatePathServiceGatewayOperationsOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayOperationsOutput +} + +func (*IsPrivatePathServiceGatewayOperations) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGatewayOperations)(nil)).Elem() +} + +func (i *IsPrivatePathServiceGatewayOperations) ToIsPrivatePathServiceGatewayOperationsOutput() IsPrivatePathServiceGatewayOperationsOutput { + return i.ToIsPrivatePathServiceGatewayOperationsOutputWithContext(context.Background()) +} + +func (i *IsPrivatePathServiceGatewayOperations) ToIsPrivatePathServiceGatewayOperationsOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayOperationsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPrivatePathServiceGatewayOperationsOutput) +} + +type IsPrivatePathServiceGatewayOperationsOutput struct{ *pulumi.OutputState } + +func (IsPrivatePathServiceGatewayOperationsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGatewayOperations)(nil)).Elem() +} + +func (o IsPrivatePathServiceGatewayOperationsOutput) ToIsPrivatePathServiceGatewayOperationsOutput() IsPrivatePathServiceGatewayOperationsOutput { + return o +} + +func (o IsPrivatePathServiceGatewayOperationsOutput) ToIsPrivatePathServiceGatewayOperationsOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayOperationsOutput { + return o +} + +// The private path service gateway identifier. +func (o IsPrivatePathServiceGatewayOperationsOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayOperations) pulumi.StringOutput { return v.PrivatePathServiceGateway }).(pulumi.StringOutput) +} + +// Publish or unpublish PPSG. +func (o IsPrivatePathServiceGatewayOperationsOutput) Published() pulumi.BoolOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayOperations) pulumi.BoolOutput { return v.Published }).(pulumi.BoolOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsPrivatePathServiceGatewayOperationsInput)(nil)).Elem(), &IsPrivatePathServiceGatewayOperations{}) + pulumi.RegisterOutputType(IsPrivatePathServiceGatewayOperationsOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayRevokeAccount.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayRevokeAccount.go new file mode 100644 index 000000000..0c64b05b6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPrivatePathServiceGatewayRevokeAccount.go @@ -0,0 +1,144 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsPrivatePathServiceGatewayRevokeAccount struct { + pulumi.CustomResourceState + + // The account for this access policy. + Account pulumi.StringOutput `pulumi:"account"` + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringOutput `pulumi:"privatePathServiceGateway"` +} + +// NewIsPrivatePathServiceGatewayRevokeAccount registers a new resource with the given unique name, arguments, and options. +func NewIsPrivatePathServiceGatewayRevokeAccount(ctx *pulumi.Context, + name string, args *IsPrivatePathServiceGatewayRevokeAccountArgs, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGatewayRevokeAccount, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Account == nil { + return nil, errors.New("invalid value for required argument 'Account'") + } + if args.PrivatePathServiceGateway == nil { + return nil, errors.New("invalid value for required argument 'PrivatePathServiceGateway'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsPrivatePathServiceGatewayRevokeAccount + err := ctx.RegisterResource("ibmcloud:index/isPrivatePathServiceGatewayRevokeAccount:IsPrivatePathServiceGatewayRevokeAccount", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsPrivatePathServiceGatewayRevokeAccount gets an existing IsPrivatePathServiceGatewayRevokeAccount resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsPrivatePathServiceGatewayRevokeAccount(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsPrivatePathServiceGatewayRevokeAccountState, opts ...pulumi.ResourceOption) (*IsPrivatePathServiceGatewayRevokeAccount, error) { + var resource IsPrivatePathServiceGatewayRevokeAccount + err := ctx.ReadResource("ibmcloud:index/isPrivatePathServiceGatewayRevokeAccount:IsPrivatePathServiceGatewayRevokeAccount", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsPrivatePathServiceGatewayRevokeAccount resources. +type isPrivatePathServiceGatewayRevokeAccountState struct { + // The account for this access policy. + Account *string `pulumi:"account"` + // The private path service gateway identifier. + PrivatePathServiceGateway *string `pulumi:"privatePathServiceGateway"` +} + +type IsPrivatePathServiceGatewayRevokeAccountState struct { + // The account for this access policy. + Account pulumi.StringPtrInput + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringPtrInput +} + +func (IsPrivatePathServiceGatewayRevokeAccountState) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayRevokeAccountState)(nil)).Elem() +} + +type isPrivatePathServiceGatewayRevokeAccountArgs struct { + // The account for this access policy. + Account string `pulumi:"account"` + // The private path service gateway identifier. + PrivatePathServiceGateway string `pulumi:"privatePathServiceGateway"` +} + +// The set of arguments for constructing a IsPrivatePathServiceGatewayRevokeAccount resource. +type IsPrivatePathServiceGatewayRevokeAccountArgs struct { + // The account for this access policy. + Account pulumi.StringInput + // The private path service gateway identifier. + PrivatePathServiceGateway pulumi.StringInput +} + +func (IsPrivatePathServiceGatewayRevokeAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isPrivatePathServiceGatewayRevokeAccountArgs)(nil)).Elem() +} + +type IsPrivatePathServiceGatewayRevokeAccountInput interface { + pulumi.Input + + ToIsPrivatePathServiceGatewayRevokeAccountOutput() IsPrivatePathServiceGatewayRevokeAccountOutput + ToIsPrivatePathServiceGatewayRevokeAccountOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayRevokeAccountOutput +} + +func (*IsPrivatePathServiceGatewayRevokeAccount) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGatewayRevokeAccount)(nil)).Elem() +} + +func (i *IsPrivatePathServiceGatewayRevokeAccount) ToIsPrivatePathServiceGatewayRevokeAccountOutput() IsPrivatePathServiceGatewayRevokeAccountOutput { + return i.ToIsPrivatePathServiceGatewayRevokeAccountOutputWithContext(context.Background()) +} + +func (i *IsPrivatePathServiceGatewayRevokeAccount) ToIsPrivatePathServiceGatewayRevokeAccountOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayRevokeAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPrivatePathServiceGatewayRevokeAccountOutput) +} + +type IsPrivatePathServiceGatewayRevokeAccountOutput struct{ *pulumi.OutputState } + +func (IsPrivatePathServiceGatewayRevokeAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPrivatePathServiceGatewayRevokeAccount)(nil)).Elem() +} + +func (o IsPrivatePathServiceGatewayRevokeAccountOutput) ToIsPrivatePathServiceGatewayRevokeAccountOutput() IsPrivatePathServiceGatewayRevokeAccountOutput { + return o +} + +func (o IsPrivatePathServiceGatewayRevokeAccountOutput) ToIsPrivatePathServiceGatewayRevokeAccountOutputWithContext(ctx context.Context) IsPrivatePathServiceGatewayRevokeAccountOutput { + return o +} + +// The account for this access policy. +func (o IsPrivatePathServiceGatewayRevokeAccountOutput) Account() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayRevokeAccount) pulumi.StringOutput { return v.Account }).(pulumi.StringOutput) +} + +// The private path service gateway identifier. +func (o IsPrivatePathServiceGatewayRevokeAccountOutput) PrivatePathServiceGateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsPrivatePathServiceGatewayRevokeAccount) pulumi.StringOutput { + return v.PrivatePathServiceGateway + }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsPrivatePathServiceGatewayRevokeAccountInput)(nil)).Elem(), &IsPrivatePathServiceGatewayRevokeAccount{}) + pulumi.RegisterOutputType(IsPrivatePathServiceGatewayRevokeAccountOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPublicAddressRange.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPublicAddressRange.go new file mode 100644 index 000000000..f11f0e5ed --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPublicAddressRange.go @@ -0,0 +1,265 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsPublicAddressRange struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The public IPv4 range, expressed in CIDR format. + Cidr pulumi.StringOutput `pulumi:"cidr"` + // The date and time that the public address range was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this public address range. + Crn pulumi.StringOutput `pulumi:"crn"` + // The URL for this public address range. + Href pulumi.StringOutput `pulumi:"href"` + // The number of IPv4 addresses in this public address range. + Ipv4AddressCount pulumi.IntOutput `pulumi:"ipv4AddressCount"` + // The lifecycle state of the public address range. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name pulumi.StringOutput `pulumi:"name"` + // The resource group for this public address range. + ResourceGroup IsPublicAddressRangeResourceGroupOutput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // User Tags for the PublicAddressRange + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The target this public address range is bound to.If absent, this pubic address range is not bound to a target. + Target IsPublicAddressRangeTargetPtrOutput `pulumi:"target"` +} + +// NewIsPublicAddressRange registers a new resource with the given unique name, arguments, and options. +func NewIsPublicAddressRange(ctx *pulumi.Context, + name string, args *IsPublicAddressRangeArgs, opts ...pulumi.ResourceOption) (*IsPublicAddressRange, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Ipv4AddressCount == nil { + return nil, errors.New("invalid value for required argument 'Ipv4AddressCount'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsPublicAddressRange + err := ctx.RegisterResource("ibmcloud:index/isPublicAddressRange:IsPublicAddressRange", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsPublicAddressRange gets an existing IsPublicAddressRange resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsPublicAddressRange(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsPublicAddressRangeState, opts ...pulumi.ResourceOption) (*IsPublicAddressRange, error) { + var resource IsPublicAddressRange + err := ctx.ReadResource("ibmcloud:index/isPublicAddressRange:IsPublicAddressRange", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsPublicAddressRange resources. +type isPublicAddressRangeState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The public IPv4 range, expressed in CIDR format. + Cidr *string `pulumi:"cidr"` + // The date and time that the public address range was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this public address range. + Crn *string `pulumi:"crn"` + // The URL for this public address range. + Href *string `pulumi:"href"` + // The number of IPv4 addresses in this public address range. + Ipv4AddressCount *int `pulumi:"ipv4AddressCount"` + // The lifecycle state of the public address range. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name *string `pulumi:"name"` + // The resource group for this public address range. + ResourceGroup *IsPublicAddressRangeResourceGroup `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // User Tags for the PublicAddressRange + Tags []string `pulumi:"tags"` + // The target this public address range is bound to.If absent, this pubic address range is not bound to a target. + Target *IsPublicAddressRangeTarget `pulumi:"target"` +} + +type IsPublicAddressRangeState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The public IPv4 range, expressed in CIDR format. + Cidr pulumi.StringPtrInput + // The date and time that the public address range was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this public address range. + Crn pulumi.StringPtrInput + // The URL for this public address range. + Href pulumi.StringPtrInput + // The number of IPv4 addresses in this public address range. + Ipv4AddressCount pulumi.IntPtrInput + // The lifecycle state of the public address range. + LifecycleState pulumi.StringPtrInput + // The name for this public address range. The name is unique across all public address ranges in the region. + Name pulumi.StringPtrInput + // The resource group for this public address range. + ResourceGroup IsPublicAddressRangeResourceGroupPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // User Tags for the PublicAddressRange + Tags pulumi.StringArrayInput + // The target this public address range is bound to.If absent, this pubic address range is not bound to a target. + Target IsPublicAddressRangeTargetPtrInput +} + +func (IsPublicAddressRangeState) ElementType() reflect.Type { + return reflect.TypeOf((*isPublicAddressRangeState)(nil)).Elem() +} + +type isPublicAddressRangeArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The number of IPv4 addresses in this public address range. + Ipv4AddressCount int `pulumi:"ipv4AddressCount"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name *string `pulumi:"name"` + // The resource group for this public address range. + ResourceGroup *IsPublicAddressRangeResourceGroup `pulumi:"resourceGroup"` + // User Tags for the PublicAddressRange + Tags []string `pulumi:"tags"` + // The target this public address range is bound to.If absent, this pubic address range is not bound to a target. + Target *IsPublicAddressRangeTarget `pulumi:"target"` +} + +// The set of arguments for constructing a IsPublicAddressRange resource. +type IsPublicAddressRangeArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The number of IPv4 addresses in this public address range. + Ipv4AddressCount pulumi.IntInput + // The name for this public address range. The name is unique across all public address ranges in the region. + Name pulumi.StringPtrInput + // The resource group for this public address range. + ResourceGroup IsPublicAddressRangeResourceGroupPtrInput + // User Tags for the PublicAddressRange + Tags pulumi.StringArrayInput + // The target this public address range is bound to.If absent, this pubic address range is not bound to a target. + Target IsPublicAddressRangeTargetPtrInput +} + +func (IsPublicAddressRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isPublicAddressRangeArgs)(nil)).Elem() +} + +type IsPublicAddressRangeInput interface { + pulumi.Input + + ToIsPublicAddressRangeOutput() IsPublicAddressRangeOutput + ToIsPublicAddressRangeOutputWithContext(ctx context.Context) IsPublicAddressRangeOutput +} + +func (*IsPublicAddressRange) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRange)(nil)).Elem() +} + +func (i *IsPublicAddressRange) ToIsPublicAddressRangeOutput() IsPublicAddressRangeOutput { + return i.ToIsPublicAddressRangeOutputWithContext(context.Background()) +} + +func (i *IsPublicAddressRange) ToIsPublicAddressRangeOutputWithContext(ctx context.Context) IsPublicAddressRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeOutput) +} + +type IsPublicAddressRangeOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRange)(nil)).Elem() +} + +func (o IsPublicAddressRangeOutput) ToIsPublicAddressRangeOutput() IsPublicAddressRangeOutput { + return o +} + +func (o IsPublicAddressRangeOutput) ToIsPublicAddressRangeOutputWithContext(ctx context.Context) IsPublicAddressRangeOutput { + return o +} + +// List of access management tags +func (o IsPublicAddressRangeOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The public IPv4 range, expressed in CIDR format. +func (o IsPublicAddressRangeOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringOutput { return v.Cidr }).(pulumi.StringOutput) +} + +// The date and time that the public address range was created. +func (o IsPublicAddressRangeOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this public address range. +func (o IsPublicAddressRangeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this public address range. +func (o IsPublicAddressRangeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The number of IPv4 addresses in this public address range. +func (o IsPublicAddressRangeOutput) Ipv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.IntOutput { return v.Ipv4AddressCount }).(pulumi.IntOutput) +} + +// The lifecycle state of the public address range. +func (o IsPublicAddressRangeOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this public address range. The name is unique across all public address ranges in the region. +func (o IsPublicAddressRangeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this public address range. +func (o IsPublicAddressRangeOutput) ResourceGroup() IsPublicAddressRangeResourceGroupOutput { + return o.ApplyT(func(v *IsPublicAddressRange) IsPublicAddressRangeResourceGroupOutput { return v.ResourceGroup }).(IsPublicAddressRangeResourceGroupOutput) +} + +// The resource type. +func (o IsPublicAddressRangeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// User Tags for the PublicAddressRange +func (o IsPublicAddressRangeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsPublicAddressRange) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The target this public address range is bound to.If absent, this pubic address range is not bound to a target. +func (o IsPublicAddressRangeOutput) Target() IsPublicAddressRangeTargetPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRange) IsPublicAddressRangeTargetPtrOutput { return v.Target }).(IsPublicAddressRangeTargetPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeInput)(nil)).Elem(), &IsPublicAddressRange{}) + pulumi.RegisterOutputType(IsPublicAddressRangeOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPublicGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPublicGateway.go new file mode 100644 index 000000000..ba69db3f7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isPublicGateway.go @@ -0,0 +1,288 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsPublicGateway struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + FloatingIp pulumi.StringMapOutput `pulumi:"floatingIp"` + // Name of the Public gateway instance + Name pulumi.StringOutput `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Public gateway resource group info + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // Public gateway instance status + Status pulumi.StringOutput `pulumi:"status"` + // Service tags for the public gateway instance + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Public gateway VPC info + Vpc pulumi.StringOutput `pulumi:"vpc"` + // Public gateway zone info + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsPublicGateway registers a new resource with the given unique name, arguments, and options. +func NewIsPublicGateway(ctx *pulumi.Context, + name string, args *IsPublicGatewayArgs, opts ...pulumi.ResourceOption) (*IsPublicGateway, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsPublicGateway + err := ctx.RegisterResource("ibmcloud:index/isPublicGateway:IsPublicGateway", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsPublicGateway gets an existing IsPublicGateway resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsPublicGateway(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsPublicGatewayState, opts ...pulumi.ResourceOption) (*IsPublicGateway, error) { + var resource IsPublicGateway + err := ctx.ReadResource("ibmcloud:index/isPublicGateway:IsPublicGateway", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsPublicGateway resources. +type isPublicGatewayState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The crn of the resource + Crn *string `pulumi:"crn"` + FloatingIp map[string]string `pulumi:"floatingIp"` + // Name of the Public gateway instance + Name *string `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Public gateway resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // Public gateway instance status + Status *string `pulumi:"status"` + // Service tags for the public gateway instance + Tags []string `pulumi:"tags"` + // Public gateway VPC info + Vpc *string `pulumi:"vpc"` + // Public gateway zone info + Zone *string `pulumi:"zone"` +} + +type IsPublicGatewayState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The crn of the resource + Crn pulumi.StringPtrInput + FloatingIp pulumi.StringMapInput + // Name of the Public gateway instance + Name pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Public gateway resource group info + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // Public gateway instance status + Status pulumi.StringPtrInput + // Service tags for the public gateway instance + Tags pulumi.StringArrayInput + // Public gateway VPC info + Vpc pulumi.StringPtrInput + // Public gateway zone info + Zone pulumi.StringPtrInput +} + +func (IsPublicGatewayState) ElementType() reflect.Type { + return reflect.TypeOf((*isPublicGatewayState)(nil)).Elem() +} + +type isPublicGatewayArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + FloatingIp map[string]string `pulumi:"floatingIp"` + // Name of the Public gateway instance + Name *string `pulumi:"name"` + // Public gateway resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // Service tags for the public gateway instance + Tags []string `pulumi:"tags"` + // Public gateway VPC info + Vpc string `pulumi:"vpc"` + // Public gateway zone info + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsPublicGateway resource. +type IsPublicGatewayArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + FloatingIp pulumi.StringMapInput + // Name of the Public gateway instance + Name pulumi.StringPtrInput + // Public gateway resource group info + ResourceGroup pulumi.StringPtrInput + // Service tags for the public gateway instance + Tags pulumi.StringArrayInput + // Public gateway VPC info + Vpc pulumi.StringInput + // Public gateway zone info + Zone pulumi.StringInput +} + +func (IsPublicGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isPublicGatewayArgs)(nil)).Elem() +} + +type IsPublicGatewayInput interface { + pulumi.Input + + ToIsPublicGatewayOutput() IsPublicGatewayOutput + ToIsPublicGatewayOutputWithContext(ctx context.Context) IsPublicGatewayOutput +} + +func (*IsPublicGateway) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicGateway)(nil)).Elem() +} + +func (i *IsPublicGateway) ToIsPublicGatewayOutput() IsPublicGatewayOutput { + return i.ToIsPublicGatewayOutputWithContext(context.Background()) +} + +func (i *IsPublicGateway) ToIsPublicGatewayOutputWithContext(ctx context.Context) IsPublicGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicGatewayOutput) +} + +type IsPublicGatewayOutput struct{ *pulumi.OutputState } + +func (IsPublicGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicGateway)(nil)).Elem() +} + +func (o IsPublicGatewayOutput) ToIsPublicGatewayOutput() IsPublicGatewayOutput { + return o +} + +func (o IsPublicGatewayOutput) ToIsPublicGatewayOutputWithContext(ctx context.Context) IsPublicGatewayOutput { + return o +} + +// List of access management tags +func (o IsPublicGatewayOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The crn of the resource +func (o IsPublicGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +func (o IsPublicGatewayOutput) FloatingIp() pulumi.StringMapOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringMapOutput { return v.FloatingIp }).(pulumi.StringMapOutput) +} + +// Name of the Public gateway instance +func (o IsPublicGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsPublicGatewayOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsPublicGatewayOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Public gateway resource group info +func (o IsPublicGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsPublicGatewayOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsPublicGatewayOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsPublicGatewayOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// Public gateway instance status +func (o IsPublicGatewayOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Service tags for the public gateway instance +func (o IsPublicGatewayOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Public gateway VPC info +func (o IsPublicGatewayOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// Public gateway zone info +func (o IsPublicGatewayOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsPublicGateway) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicGatewayInput)(nil)).Elem(), &IsPublicGateway{}) + pulumi.RegisterOutputType(IsPublicGatewayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isReservation.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isReservation.go new file mode 100644 index 000000000..d72f481ef --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isReservation.go @@ -0,0 +1,300 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsReservation struct { + pulumi.CustomResourceState + + // The affinity policy to use for this reservation + AffinityPolicy pulumi.StringOutput `pulumi:"affinityPolicy"` + // The capacity reservation configuration to use + Capacity IsReservationCapacityOutput `pulumi:"capacity"` + // The committed use configuration to use for this reservation + CommittedUse IsReservationCommittedUseOutput `pulumi:"committedUse"` + // The date and time that the reservation was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this reservation. + Crn pulumi.StringOutput `pulumi:"crn"` + // The URL for this reservation. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of this reservation. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // Reservation name + Name pulumi.StringOutput `pulumi:"name"` + // The profile to use for this reservation. + Profile IsReservationProfileOutput `pulumi:"profile"` + // The committed use configuration to use for this reservation + ResourceGroup IsReservationResourceGroupOutput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The status of the reservation. + Status pulumi.StringOutput `pulumi:"status"` + // The committed use configuration to use for this reservation + StatusReasons IsReservationStatusReasonArrayOutput `pulumi:"statusReasons"` + // The globally unique name for this zone. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsReservation registers a new resource with the given unique name, arguments, and options. +func NewIsReservation(ctx *pulumi.Context, + name string, args *IsReservationArgs, opts ...pulumi.ResourceOption) (*IsReservation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Capacity == nil { + return nil, errors.New("invalid value for required argument 'Capacity'") + } + if args.CommittedUse == nil { + return nil, errors.New("invalid value for required argument 'CommittedUse'") + } + if args.Profile == nil { + return nil, errors.New("invalid value for required argument 'Profile'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsReservation + err := ctx.RegisterResource("ibmcloud:index/isReservation:IsReservation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsReservation gets an existing IsReservation resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsReservation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsReservationState, opts ...pulumi.ResourceOption) (*IsReservation, error) { + var resource IsReservation + err := ctx.ReadResource("ibmcloud:index/isReservation:IsReservation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsReservation resources. +type isReservationState struct { + // The affinity policy to use for this reservation + AffinityPolicy *string `pulumi:"affinityPolicy"` + // The capacity reservation configuration to use + Capacity *IsReservationCapacity `pulumi:"capacity"` + // The committed use configuration to use for this reservation + CommittedUse *IsReservationCommittedUse `pulumi:"committedUse"` + // The date and time that the reservation was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this reservation. + Crn *string `pulumi:"crn"` + // The URL for this reservation. + Href *string `pulumi:"href"` + // The lifecycle state of this reservation. + LifecycleState *string `pulumi:"lifecycleState"` + // Reservation name + Name *string `pulumi:"name"` + // The profile to use for this reservation. + Profile *IsReservationProfile `pulumi:"profile"` + // The committed use configuration to use for this reservation + ResourceGroup *IsReservationResourceGroup `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The status of the reservation. + Status *string `pulumi:"status"` + // The committed use configuration to use for this reservation + StatusReasons []IsReservationStatusReason `pulumi:"statusReasons"` + // The globally unique name for this zone. + Zone *string `pulumi:"zone"` +} + +type IsReservationState struct { + // The affinity policy to use for this reservation + AffinityPolicy pulumi.StringPtrInput + // The capacity reservation configuration to use + Capacity IsReservationCapacityPtrInput + // The committed use configuration to use for this reservation + CommittedUse IsReservationCommittedUsePtrInput + // The date and time that the reservation was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this reservation. + Crn pulumi.StringPtrInput + // The URL for this reservation. + Href pulumi.StringPtrInput + // The lifecycle state of this reservation. + LifecycleState pulumi.StringPtrInput + // Reservation name + Name pulumi.StringPtrInput + // The profile to use for this reservation. + Profile IsReservationProfilePtrInput + // The committed use configuration to use for this reservation + ResourceGroup IsReservationResourceGroupPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The status of the reservation. + Status pulumi.StringPtrInput + // The committed use configuration to use for this reservation + StatusReasons IsReservationStatusReasonArrayInput + // The globally unique name for this zone. + Zone pulumi.StringPtrInput +} + +func (IsReservationState) ElementType() reflect.Type { + return reflect.TypeOf((*isReservationState)(nil)).Elem() +} + +type isReservationArgs struct { + // The affinity policy to use for this reservation + AffinityPolicy *string `pulumi:"affinityPolicy"` + // The capacity reservation configuration to use + Capacity IsReservationCapacity `pulumi:"capacity"` + // The committed use configuration to use for this reservation + CommittedUse IsReservationCommittedUse `pulumi:"committedUse"` + // Reservation name + Name *string `pulumi:"name"` + // The profile to use for this reservation. + Profile IsReservationProfile `pulumi:"profile"` + // The committed use configuration to use for this reservation + ResourceGroup *IsReservationResourceGroup `pulumi:"resourceGroup"` + // The globally unique name for this zone. + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsReservation resource. +type IsReservationArgs struct { + // The affinity policy to use for this reservation + AffinityPolicy pulumi.StringPtrInput + // The capacity reservation configuration to use + Capacity IsReservationCapacityInput + // The committed use configuration to use for this reservation + CommittedUse IsReservationCommittedUseInput + // Reservation name + Name pulumi.StringPtrInput + // The profile to use for this reservation. + Profile IsReservationProfileInput + // The committed use configuration to use for this reservation + ResourceGroup IsReservationResourceGroupPtrInput + // The globally unique name for this zone. + Zone pulumi.StringInput +} + +func (IsReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isReservationArgs)(nil)).Elem() +} + +type IsReservationInput interface { + pulumi.Input + + ToIsReservationOutput() IsReservationOutput + ToIsReservationOutputWithContext(ctx context.Context) IsReservationOutput +} + +func (*IsReservation) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservation)(nil)).Elem() +} + +func (i *IsReservation) ToIsReservationOutput() IsReservationOutput { + return i.ToIsReservationOutputWithContext(context.Background()) +} + +func (i *IsReservation) ToIsReservationOutputWithContext(ctx context.Context) IsReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationOutput) +} + +type IsReservationOutput struct{ *pulumi.OutputState } + +func (IsReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservation)(nil)).Elem() +} + +func (o IsReservationOutput) ToIsReservationOutput() IsReservationOutput { + return o +} + +func (o IsReservationOutput) ToIsReservationOutputWithContext(ctx context.Context) IsReservationOutput { + return o +} + +// The affinity policy to use for this reservation +func (o IsReservationOutput) AffinityPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.AffinityPolicy }).(pulumi.StringOutput) +} + +// The capacity reservation configuration to use +func (o IsReservationOutput) Capacity() IsReservationCapacityOutput { + return o.ApplyT(func(v *IsReservation) IsReservationCapacityOutput { return v.Capacity }).(IsReservationCapacityOutput) +} + +// The committed use configuration to use for this reservation +func (o IsReservationOutput) CommittedUse() IsReservationCommittedUseOutput { + return o.ApplyT(func(v *IsReservation) IsReservationCommittedUseOutput { return v.CommittedUse }).(IsReservationCommittedUseOutput) +} + +// The date and time that the reservation was created. +func (o IsReservationOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this reservation. +func (o IsReservationOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this reservation. +func (o IsReservationOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of this reservation. +func (o IsReservationOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Reservation name +func (o IsReservationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The profile to use for this reservation. +func (o IsReservationOutput) Profile() IsReservationProfileOutput { + return o.ApplyT(func(v *IsReservation) IsReservationProfileOutput { return v.Profile }).(IsReservationProfileOutput) +} + +// The committed use configuration to use for this reservation +func (o IsReservationOutput) ResourceGroup() IsReservationResourceGroupOutput { + return o.ApplyT(func(v *IsReservation) IsReservationResourceGroupOutput { return v.ResourceGroup }).(IsReservationResourceGroupOutput) +} + +// The resource type. +func (o IsReservationOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The status of the reservation. +func (o IsReservationOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The committed use configuration to use for this reservation +func (o IsReservationOutput) StatusReasons() IsReservationStatusReasonArrayOutput { + return o.ApplyT(func(v *IsReservation) IsReservationStatusReasonArrayOutput { return v.StatusReasons }).(IsReservationStatusReasonArrayOutput) +} + +// The globally unique name for this zone. +func (o IsReservationOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservation) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationInput)(nil)).Elem(), &IsReservation{}) + pulumi.RegisterOutputType(IsReservationOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isReservationActivate.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isReservationActivate.go new file mode 100644 index 000000000..4ce8f1b4d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isReservationActivate.go @@ -0,0 +1,282 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsReservationActivate struct { + pulumi.CustomResourceState + + // The affinity policy to use for this reservation + AffinityPolicy pulumi.StringOutput `pulumi:"affinityPolicy"` + // The capacity reservation configuration to use + Capacities IsReservationActivateCapacityArrayOutput `pulumi:"capacities"` + // The committed use configuration to use for this reservation + CommittedUses IsReservationActivateCommittedUseArrayOutput `pulumi:"committedUses"` + // The date and time that the reservation was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this reservation. + Crn pulumi.StringOutput `pulumi:"crn"` + // The URL for this reservation. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of this reservation. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // Reservation name + Name pulumi.StringOutput `pulumi:"name"` + // The profile used for this reservation. + Profiles IsReservationActivateProfileArrayOutput `pulumi:"profiles"` + // The unique identifier for this reservation. + Reservation pulumi.StringOutput `pulumi:"reservation"` + // The committed use configuration to use for this reservation + ResourceGroups IsReservationActivateResourceGroupArrayOutput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The status of the reservation. + Status pulumi.StringOutput `pulumi:"status"` + // The committed use configuration to use for this reservation + StatusReasons IsReservationActivateStatusReasonArrayOutput `pulumi:"statusReasons"` + // The globally unique name for this zone. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsReservationActivate registers a new resource with the given unique name, arguments, and options. +func NewIsReservationActivate(ctx *pulumi.Context, + name string, args *IsReservationActivateArgs, opts ...pulumi.ResourceOption) (*IsReservationActivate, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Reservation == nil { + return nil, errors.New("invalid value for required argument 'Reservation'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsReservationActivate + err := ctx.RegisterResource("ibmcloud:index/isReservationActivate:IsReservationActivate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsReservationActivate gets an existing IsReservationActivate resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsReservationActivate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsReservationActivateState, opts ...pulumi.ResourceOption) (*IsReservationActivate, error) { + var resource IsReservationActivate + err := ctx.ReadResource("ibmcloud:index/isReservationActivate:IsReservationActivate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsReservationActivate resources. +type isReservationActivateState struct { + // The affinity policy to use for this reservation + AffinityPolicy *string `pulumi:"affinityPolicy"` + // The capacity reservation configuration to use + Capacities []IsReservationActivateCapacity `pulumi:"capacities"` + // The committed use configuration to use for this reservation + CommittedUses []IsReservationActivateCommittedUse `pulumi:"committedUses"` + // The date and time that the reservation was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this reservation. + Crn *string `pulumi:"crn"` + // The URL for this reservation. + Href *string `pulumi:"href"` + // The lifecycle state of this reservation. + LifecycleState *string `pulumi:"lifecycleState"` + // Reservation name + Name *string `pulumi:"name"` + // The profile used for this reservation. + Profiles []IsReservationActivateProfile `pulumi:"profiles"` + // The unique identifier for this reservation. + Reservation *string `pulumi:"reservation"` + // The committed use configuration to use for this reservation + ResourceGroups []IsReservationActivateResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The status of the reservation. + Status *string `pulumi:"status"` + // The committed use configuration to use for this reservation + StatusReasons []IsReservationActivateStatusReason `pulumi:"statusReasons"` + // The globally unique name for this zone. + Zone *string `pulumi:"zone"` +} + +type IsReservationActivateState struct { + // The affinity policy to use for this reservation + AffinityPolicy pulumi.StringPtrInput + // The capacity reservation configuration to use + Capacities IsReservationActivateCapacityArrayInput + // The committed use configuration to use for this reservation + CommittedUses IsReservationActivateCommittedUseArrayInput + // The date and time that the reservation was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this reservation. + Crn pulumi.StringPtrInput + // The URL for this reservation. + Href pulumi.StringPtrInput + // The lifecycle state of this reservation. + LifecycleState pulumi.StringPtrInput + // Reservation name + Name pulumi.StringPtrInput + // The profile used for this reservation. + Profiles IsReservationActivateProfileArrayInput + // The unique identifier for this reservation. + Reservation pulumi.StringPtrInput + // The committed use configuration to use for this reservation + ResourceGroups IsReservationActivateResourceGroupArrayInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The status of the reservation. + Status pulumi.StringPtrInput + // The committed use configuration to use for this reservation + StatusReasons IsReservationActivateStatusReasonArrayInput + // The globally unique name for this zone. + Zone pulumi.StringPtrInput +} + +func (IsReservationActivateState) ElementType() reflect.Type { + return reflect.TypeOf((*isReservationActivateState)(nil)).Elem() +} + +type isReservationActivateArgs struct { + // The unique identifier for this reservation. + Reservation string `pulumi:"reservation"` + // The committed use configuration to use for this reservation + ResourceGroups []IsReservationActivateResourceGroup `pulumi:"resourceGroups"` +} + +// The set of arguments for constructing a IsReservationActivate resource. +type IsReservationActivateArgs struct { + // The unique identifier for this reservation. + Reservation pulumi.StringInput + // The committed use configuration to use for this reservation + ResourceGroups IsReservationActivateResourceGroupArrayInput +} + +func (IsReservationActivateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isReservationActivateArgs)(nil)).Elem() +} + +type IsReservationActivateInput interface { + pulumi.Input + + ToIsReservationActivateOutput() IsReservationActivateOutput + ToIsReservationActivateOutputWithContext(ctx context.Context) IsReservationActivateOutput +} + +func (*IsReservationActivate) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationActivate)(nil)).Elem() +} + +func (i *IsReservationActivate) ToIsReservationActivateOutput() IsReservationActivateOutput { + return i.ToIsReservationActivateOutputWithContext(context.Background()) +} + +func (i *IsReservationActivate) ToIsReservationActivateOutputWithContext(ctx context.Context) IsReservationActivateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateOutput) +} + +type IsReservationActivateOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationActivate)(nil)).Elem() +} + +func (o IsReservationActivateOutput) ToIsReservationActivateOutput() IsReservationActivateOutput { + return o +} + +func (o IsReservationActivateOutput) ToIsReservationActivateOutputWithContext(ctx context.Context) IsReservationActivateOutput { + return o +} + +// The affinity policy to use for this reservation +func (o IsReservationActivateOutput) AffinityPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.AffinityPolicy }).(pulumi.StringOutput) +} + +// The capacity reservation configuration to use +func (o IsReservationActivateOutput) Capacities() IsReservationActivateCapacityArrayOutput { + return o.ApplyT(func(v *IsReservationActivate) IsReservationActivateCapacityArrayOutput { return v.Capacities }).(IsReservationActivateCapacityArrayOutput) +} + +// The committed use configuration to use for this reservation +func (o IsReservationActivateOutput) CommittedUses() IsReservationActivateCommittedUseArrayOutput { + return o.ApplyT(func(v *IsReservationActivate) IsReservationActivateCommittedUseArrayOutput { return v.CommittedUses }).(IsReservationActivateCommittedUseArrayOutput) +} + +// The date and time that the reservation was created. +func (o IsReservationActivateOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this reservation. +func (o IsReservationActivateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this reservation. +func (o IsReservationActivateOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of this reservation. +func (o IsReservationActivateOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Reservation name +func (o IsReservationActivateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The profile used for this reservation. +func (o IsReservationActivateOutput) Profiles() IsReservationActivateProfileArrayOutput { + return o.ApplyT(func(v *IsReservationActivate) IsReservationActivateProfileArrayOutput { return v.Profiles }).(IsReservationActivateProfileArrayOutput) +} + +// The unique identifier for this reservation. +func (o IsReservationActivateOutput) Reservation() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.Reservation }).(pulumi.StringOutput) +} + +// The committed use configuration to use for this reservation +func (o IsReservationActivateOutput) ResourceGroups() IsReservationActivateResourceGroupArrayOutput { + return o.ApplyT(func(v *IsReservationActivate) IsReservationActivateResourceGroupArrayOutput { return v.ResourceGroups }).(IsReservationActivateResourceGroupArrayOutput) +} + +// The resource type. +func (o IsReservationActivateOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The status of the reservation. +func (o IsReservationActivateOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The committed use configuration to use for this reservation +func (o IsReservationActivateOutput) StatusReasons() IsReservationActivateStatusReasonArrayOutput { + return o.ApplyT(func(v *IsReservationActivate) IsReservationActivateStatusReasonArrayOutput { return v.StatusReasons }).(IsReservationActivateStatusReasonArrayOutput) +} + +// The globally unique name for this zone. +func (o IsReservationActivateOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsReservationActivate) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateInput)(nil)).Elem(), &IsReservationActivate{}) + pulumi.RegisterOutputType(IsReservationActivateOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroup.go new file mode 100644 index 000000000..5ea3ea2ae --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroup.go @@ -0,0 +1,250 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSecurityGroup struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // Security group name + Name pulumi.StringOutput `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Resource Group ID + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // Security Rules + Rules IsSecurityGroupRuleTypeArrayOutput `pulumi:"rules"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Security group's resource group id + Vpc pulumi.StringOutput `pulumi:"vpc"` +} + +// NewIsSecurityGroup registers a new resource with the given unique name, arguments, and options. +func NewIsSecurityGroup(ctx *pulumi.Context, + name string, args *IsSecurityGroupArgs, opts ...pulumi.ResourceOption) (*IsSecurityGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSecurityGroup + err := ctx.RegisterResource("ibmcloud:index/isSecurityGroup:IsSecurityGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSecurityGroup gets an existing IsSecurityGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSecurityGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSecurityGroupState, opts ...pulumi.ResourceOption) (*IsSecurityGroup, error) { + var resource IsSecurityGroup + err := ctx.ReadResource("ibmcloud:index/isSecurityGroup:IsSecurityGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSecurityGroup resources. +type isSecurityGroupState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // Security group name + Name *string `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Resource Group ID + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // Security Rules + Rules []IsSecurityGroupRuleType `pulumi:"rules"` + // List of tags + Tags []string `pulumi:"tags"` + // Security group's resource group id + Vpc *string `pulumi:"vpc"` +} + +type IsSecurityGroupState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The crn of the resource + Crn pulumi.StringPtrInput + // Security group name + Name pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Resource Group ID + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // Security Rules + Rules IsSecurityGroupRuleTypeArrayInput + // List of tags + Tags pulumi.StringArrayInput + // Security group's resource group id + Vpc pulumi.StringPtrInput +} + +func (IsSecurityGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*isSecurityGroupState)(nil)).Elem() +} + +type isSecurityGroupArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Security group name + Name *string `pulumi:"name"` + // Resource Group ID + ResourceGroup *string `pulumi:"resourceGroup"` + // List of tags + Tags []string `pulumi:"tags"` + // Security group's resource group id + Vpc string `pulumi:"vpc"` +} + +// The set of arguments for constructing a IsSecurityGroup resource. +type IsSecurityGroupArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Security group name + Name pulumi.StringPtrInput + // Resource Group ID + ResourceGroup pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput + // Security group's resource group id + Vpc pulumi.StringInput +} + +func (IsSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSecurityGroupArgs)(nil)).Elem() +} + +type IsSecurityGroupInput interface { + pulumi.Input + + ToIsSecurityGroupOutput() IsSecurityGroupOutput + ToIsSecurityGroupOutputWithContext(ctx context.Context) IsSecurityGroupOutput +} + +func (*IsSecurityGroup) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroup)(nil)).Elem() +} + +func (i *IsSecurityGroup) ToIsSecurityGroupOutput() IsSecurityGroupOutput { + return i.ToIsSecurityGroupOutputWithContext(context.Background()) +} + +func (i *IsSecurityGroup) ToIsSecurityGroupOutputWithContext(ctx context.Context) IsSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupOutput) +} + +type IsSecurityGroupOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroup)(nil)).Elem() +} + +func (o IsSecurityGroupOutput) ToIsSecurityGroupOutput() IsSecurityGroupOutput { + return o +} + +func (o IsSecurityGroupOutput) ToIsSecurityGroupOutputWithContext(ctx context.Context) IsSecurityGroupOutput { + return o +} + +// List of access management tags +func (o IsSecurityGroupOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The crn of the resource +func (o IsSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Security group name +func (o IsSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsSecurityGroupOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsSecurityGroupOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Resource Group ID +func (o IsSecurityGroupOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsSecurityGroupOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsSecurityGroupOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// Security Rules +func (o IsSecurityGroupOutput) Rules() IsSecurityGroupRuleTypeArrayOutput { + return o.ApplyT(func(v *IsSecurityGroup) IsSecurityGroupRuleTypeArrayOutput { return v.Rules }).(IsSecurityGroupRuleTypeArrayOutput) +} + +// List of tags +func (o IsSecurityGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Security group's resource group id +func (o IsSecurityGroupOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroup) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupInput)(nil)).Elem(), &IsSecurityGroup{}) + pulumi.RegisterOutputType(IsSecurityGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroupRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroupRule.go new file mode 100644 index 000000000..d5ee57e50 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroupRule.go @@ -0,0 +1,265 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSecurityGroupRule struct { + pulumi.CustomResourceState + + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringOutput `pulumi:"direction"` + // Security group id + Group pulumi.StringOutput `pulumi:"group"` + // protocol=icmp + Icmp IsSecurityGroupRuleIcmpPtrOutput `pulumi:"icmp"` + // IP version: ipv4 + IpVersion pulumi.StringPtrOutput `pulumi:"ipVersion"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Local pulumi.StringOutput `pulumi:"local"` + // The Security Group Rule Protocol + Protocol pulumi.StringOutput `pulumi:"protocol"` + // The crn of the Security Group + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + // Security group local ip: an IP address, a CIDR block + Remote pulumi.StringOutput `pulumi:"remote"` + // Rule id + RuleId pulumi.StringOutput `pulumi:"ruleId"` + // protocol=tcp + Tcp IsSecurityGroupRuleTcpPtrOutput `pulumi:"tcp"` + // protocol=udp + Udp IsSecurityGroupRuleUdpPtrOutput `pulumi:"udp"` +} + +// NewIsSecurityGroupRule registers a new resource with the given unique name, arguments, and options. +func NewIsSecurityGroupRule(ctx *pulumi.Context, + name string, args *IsSecurityGroupRuleArgs, opts ...pulumi.ResourceOption) (*IsSecurityGroupRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Direction == nil { + return nil, errors.New("invalid value for required argument 'Direction'") + } + if args.Group == nil { + return nil, errors.New("invalid value for required argument 'Group'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSecurityGroupRule + err := ctx.RegisterResource("ibmcloud:index/isSecurityGroupRule:IsSecurityGroupRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSecurityGroupRule gets an existing IsSecurityGroupRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSecurityGroupRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSecurityGroupRuleState, opts ...pulumi.ResourceOption) (*IsSecurityGroupRule, error) { + var resource IsSecurityGroupRule + err := ctx.ReadResource("ibmcloud:index/isSecurityGroupRule:IsSecurityGroupRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSecurityGroupRule resources. +type isSecurityGroupRuleState struct { + // Direction of traffic to enforce, either inbound or outbound + Direction *string `pulumi:"direction"` + // Security group id + Group *string `pulumi:"group"` + // protocol=icmp + Icmp *IsSecurityGroupRuleIcmp `pulumi:"icmp"` + // IP version: ipv4 + IpVersion *string `pulumi:"ipVersion"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Local *string `pulumi:"local"` + // The Security Group Rule Protocol + Protocol *string `pulumi:"protocol"` + // The crn of the Security Group + RelatedCrn *string `pulumi:"relatedCrn"` + // Security group local ip: an IP address, a CIDR block + Remote *string `pulumi:"remote"` + // Rule id + RuleId *string `pulumi:"ruleId"` + // protocol=tcp + Tcp *IsSecurityGroupRuleTcp `pulumi:"tcp"` + // protocol=udp + Udp *IsSecurityGroupRuleUdp `pulumi:"udp"` +} + +type IsSecurityGroupRuleState struct { + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringPtrInput + // Security group id + Group pulumi.StringPtrInput + // protocol=icmp + Icmp IsSecurityGroupRuleIcmpPtrInput + // IP version: ipv4 + IpVersion pulumi.StringPtrInput + // Security group id: an IP address, a CIDR block, or a single security group identifier + Local pulumi.StringPtrInput + // The Security Group Rule Protocol + Protocol pulumi.StringPtrInput + // The crn of the Security Group + RelatedCrn pulumi.StringPtrInput + // Security group local ip: an IP address, a CIDR block + Remote pulumi.StringPtrInput + // Rule id + RuleId pulumi.StringPtrInput + // protocol=tcp + Tcp IsSecurityGroupRuleTcpPtrInput + // protocol=udp + Udp IsSecurityGroupRuleUdpPtrInput +} + +func (IsSecurityGroupRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*isSecurityGroupRuleState)(nil)).Elem() +} + +type isSecurityGroupRuleArgs struct { + // Direction of traffic to enforce, either inbound or outbound + Direction string `pulumi:"direction"` + // Security group id + Group string `pulumi:"group"` + // protocol=icmp + Icmp *IsSecurityGroupRuleIcmp `pulumi:"icmp"` + // IP version: ipv4 + IpVersion *string `pulumi:"ipVersion"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Local *string `pulumi:"local"` + // Security group local ip: an IP address, a CIDR block + Remote *string `pulumi:"remote"` + // protocol=tcp + Tcp *IsSecurityGroupRuleTcp `pulumi:"tcp"` + // protocol=udp + Udp *IsSecurityGroupRuleUdp `pulumi:"udp"` +} + +// The set of arguments for constructing a IsSecurityGroupRule resource. +type IsSecurityGroupRuleArgs struct { + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringInput + // Security group id + Group pulumi.StringInput + // protocol=icmp + Icmp IsSecurityGroupRuleIcmpPtrInput + // IP version: ipv4 + IpVersion pulumi.StringPtrInput + // Security group id: an IP address, a CIDR block, or a single security group identifier + Local pulumi.StringPtrInput + // Security group local ip: an IP address, a CIDR block + Remote pulumi.StringPtrInput + // protocol=tcp + Tcp IsSecurityGroupRuleTcpPtrInput + // protocol=udp + Udp IsSecurityGroupRuleUdpPtrInput +} + +func (IsSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSecurityGroupRuleArgs)(nil)).Elem() +} + +type IsSecurityGroupRuleInput interface { + pulumi.Input + + ToIsSecurityGroupRuleOutput() IsSecurityGroupRuleOutput + ToIsSecurityGroupRuleOutputWithContext(ctx context.Context) IsSecurityGroupRuleOutput +} + +func (*IsSecurityGroupRule) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupRule)(nil)).Elem() +} + +func (i *IsSecurityGroupRule) ToIsSecurityGroupRuleOutput() IsSecurityGroupRuleOutput { + return i.ToIsSecurityGroupRuleOutputWithContext(context.Background()) +} + +func (i *IsSecurityGroupRule) ToIsSecurityGroupRuleOutputWithContext(ctx context.Context) IsSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleOutput) +} + +type IsSecurityGroupRuleOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupRule)(nil)).Elem() +} + +func (o IsSecurityGroupRuleOutput) ToIsSecurityGroupRuleOutput() IsSecurityGroupRuleOutput { + return o +} + +func (o IsSecurityGroupRuleOutput) ToIsSecurityGroupRuleOutputWithContext(ctx context.Context) IsSecurityGroupRuleOutput { + return o +} + +// Direction of traffic to enforce, either inbound or outbound +func (o IsSecurityGroupRuleOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) pulumi.StringOutput { return v.Direction }).(pulumi.StringOutput) +} + +// Security group id +func (o IsSecurityGroupRuleOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) pulumi.StringOutput { return v.Group }).(pulumi.StringOutput) +} + +// protocol=icmp +func (o IsSecurityGroupRuleOutput) Icmp() IsSecurityGroupRuleIcmpPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) IsSecurityGroupRuleIcmpPtrOutput { return v.Icmp }).(IsSecurityGroupRuleIcmpPtrOutput) +} + +// IP version: ipv4 +func (o IsSecurityGroupRuleOutput) IpVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) pulumi.StringPtrOutput { return v.IpVersion }).(pulumi.StringPtrOutput) +} + +// Security group id: an IP address, a CIDR block, or a single security group identifier +func (o IsSecurityGroupRuleOutput) Local() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) pulumi.StringOutput { return v.Local }).(pulumi.StringOutput) +} + +// The Security Group Rule Protocol +func (o IsSecurityGroupRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) +} + +// The crn of the Security Group +func (o IsSecurityGroupRuleOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +// Security group local ip: an IP address, a CIDR block +func (o IsSecurityGroupRuleOutput) Remote() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) pulumi.StringOutput { return v.Remote }).(pulumi.StringOutput) +} + +// Rule id +func (o IsSecurityGroupRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) pulumi.StringOutput { return v.RuleId }).(pulumi.StringOutput) +} + +// protocol=tcp +func (o IsSecurityGroupRuleOutput) Tcp() IsSecurityGroupRuleTcpPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) IsSecurityGroupRuleTcpPtrOutput { return v.Tcp }).(IsSecurityGroupRuleTcpPtrOutput) +} + +// protocol=udp +func (o IsSecurityGroupRuleOutput) Udp() IsSecurityGroupRuleUdpPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRule) IsSecurityGroupRuleUdpPtrOutput { return v.Udp }).(IsSecurityGroupRuleUdpPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleInput)(nil)).Elem(), &IsSecurityGroupRule{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroupTarget.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroupTarget.go new file mode 100644 index 000000000..a8f1a1850 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSecurityGroupTarget.go @@ -0,0 +1,175 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSecurityGroupTarget struct { + pulumi.CustomResourceState + + // The CRN for this Security group target + Crn pulumi.StringOutput `pulumi:"crn"` + // Security group target name + Name pulumi.StringOutput `pulumi:"name"` + // Resource Type + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Security group id + SecurityGroup pulumi.StringOutput `pulumi:"securityGroup"` + // security group target identifier + Target pulumi.StringOutput `pulumi:"target"` +} + +// NewIsSecurityGroupTarget registers a new resource with the given unique name, arguments, and options. +func NewIsSecurityGroupTarget(ctx *pulumi.Context, + name string, args *IsSecurityGroupTargetArgs, opts ...pulumi.ResourceOption) (*IsSecurityGroupTarget, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.SecurityGroup == nil { + return nil, errors.New("invalid value for required argument 'SecurityGroup'") + } + if args.Target == nil { + return nil, errors.New("invalid value for required argument 'Target'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSecurityGroupTarget + err := ctx.RegisterResource("ibmcloud:index/isSecurityGroupTarget:IsSecurityGroupTarget", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSecurityGroupTarget gets an existing IsSecurityGroupTarget resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSecurityGroupTarget(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSecurityGroupTargetState, opts ...pulumi.ResourceOption) (*IsSecurityGroupTarget, error) { + var resource IsSecurityGroupTarget + err := ctx.ReadResource("ibmcloud:index/isSecurityGroupTarget:IsSecurityGroupTarget", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSecurityGroupTarget resources. +type isSecurityGroupTargetState struct { + // The CRN for this Security group target + Crn *string `pulumi:"crn"` + // Security group target name + Name *string `pulumi:"name"` + // Resource Type + ResourceType *string `pulumi:"resourceType"` + // Security group id + SecurityGroup *string `pulumi:"securityGroup"` + // security group target identifier + Target *string `pulumi:"target"` +} + +type IsSecurityGroupTargetState struct { + // The CRN for this Security group target + Crn pulumi.StringPtrInput + // Security group target name + Name pulumi.StringPtrInput + // Resource Type + ResourceType pulumi.StringPtrInput + // Security group id + SecurityGroup pulumi.StringPtrInput + // security group target identifier + Target pulumi.StringPtrInput +} + +func (IsSecurityGroupTargetState) ElementType() reflect.Type { + return reflect.TypeOf((*isSecurityGroupTargetState)(nil)).Elem() +} + +type isSecurityGroupTargetArgs struct { + // Security group id + SecurityGroup string `pulumi:"securityGroup"` + // security group target identifier + Target string `pulumi:"target"` +} + +// The set of arguments for constructing a IsSecurityGroupTarget resource. +type IsSecurityGroupTargetArgs struct { + // Security group id + SecurityGroup pulumi.StringInput + // security group target identifier + Target pulumi.StringInput +} + +func (IsSecurityGroupTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSecurityGroupTargetArgs)(nil)).Elem() +} + +type IsSecurityGroupTargetInput interface { + pulumi.Input + + ToIsSecurityGroupTargetOutput() IsSecurityGroupTargetOutput + ToIsSecurityGroupTargetOutputWithContext(ctx context.Context) IsSecurityGroupTargetOutput +} + +func (*IsSecurityGroupTarget) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupTarget)(nil)).Elem() +} + +func (i *IsSecurityGroupTarget) ToIsSecurityGroupTargetOutput() IsSecurityGroupTargetOutput { + return i.ToIsSecurityGroupTargetOutputWithContext(context.Background()) +} + +func (i *IsSecurityGroupTarget) ToIsSecurityGroupTargetOutputWithContext(ctx context.Context) IsSecurityGroupTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupTargetOutput) +} + +type IsSecurityGroupTargetOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupTarget)(nil)).Elem() +} + +func (o IsSecurityGroupTargetOutput) ToIsSecurityGroupTargetOutput() IsSecurityGroupTargetOutput { + return o +} + +func (o IsSecurityGroupTargetOutput) ToIsSecurityGroupTargetOutputWithContext(ctx context.Context) IsSecurityGroupTargetOutput { + return o +} + +// The CRN for this Security group target +func (o IsSecurityGroupTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupTarget) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Security group target name +func (o IsSecurityGroupTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupTarget) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Resource Type +func (o IsSecurityGroupTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupTarget) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Security group id +func (o IsSecurityGroupTargetOutput) SecurityGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupTarget) pulumi.StringOutput { return v.SecurityGroup }).(pulumi.StringOutput) +} + +// security group target identifier +func (o IsSecurityGroupTargetOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IsSecurityGroupTarget) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupTargetInput)(nil)).Elem(), &IsSecurityGroupTarget{}) + pulumi.RegisterOutputType(IsSecurityGroupTargetOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShare.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShare.go new file mode 100644 index 000000000..135842af6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShare.go @@ -0,0 +1,629 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsShare struct { + pulumi.CustomResourceState + + // The access control mode for the share: + AccessControlMode pulumi.StringOutput `pulumi:"accessControlMode"` + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The accessor binding role of this file share:- `none`: This file share is not participating in access with another file share- `origin`: This file share is the origin for one or more file shares (which may be in other accounts)- `accessor`: This file share is providing access to another file share (which may be in another account). + AccessorBindingRole pulumi.StringOutput `pulumi:"accessorBindingRole"` + // The accessor bindings for this file share. Each accessor binding identifies a resource (possibly in another account) with access to this file share's data. + AccessorBindings IsShareAccessorBindingArrayOutput `pulumi:"accessorBindings"` + // The access protocols to allow for this share + AllowedAccessProtocols pulumi.StringArrayOutput `pulumi:"allowedAccessProtocols"` + // Allowed transit encryption modes + AllowedTransitEncryptionModes pulumi.StringArrayOutput `pulumi:"allowedTransitEncryptionModes"` + // Availability mode of the share. + AvailabilityMode pulumi.StringOutput `pulumi:"availabilityMode"` + // The bandwidth for the file share. + Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` + // The date and time that the file share is created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this share. + Crn pulumi.StringOutput `pulumi:"crn"` + // The type of encryption used for this file share. + Encryption pulumi.StringOutput `pulumi:"encryption"` + // The CRN of the key to use for encrypting this file share.If no encryption key is provided, the share will not be encrypted. + EncryptionKey pulumi.StringOutput `pulumi:"encryptionKey"` + // The URL for this share. + Href pulumi.StringOutput `pulumi:"href"` + // The owner assigned to the file share at creation. + InitialOwner IsShareInitialOwnerPtrOutput `pulumi:"initialOwner"` + // The maximum input/output operation performance bandwidth per second for the file share. + Iops pulumi.IntOutput `pulumi:"iops"` + // The date and time that the file share was last synchronized to its replica.This property will be present when the `replicationRole` is `source`. + LastSyncAt pulumi.StringOutput `pulumi:"lastSyncAt"` + // The latest job associated with this file share.This property will be absent if no jobs have been created for this file share. + LatestJobs IsShareLatestJobArrayOutput `pulumi:"latestJobs"` + // Information about the latest synchronization for this file share. + LatestSyncs IsShareLatestSyncArrayOutput `pulumi:"latestSyncs"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsShareLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the file share. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The share targets for this file share.Share targets mounted from a replica must be mounted read-only. + MountTargets IsShareMountTargetTypeArrayOutput `pulumi:"mountTargets"` + // The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. + OriginShare IsShareOriginShareOutput `pulumi:"originShare"` + // The globally unique name for this share profile. + Profile pulumi.StringOutput `pulumi:"profile"` + // Configuration for a replica file share to create and associate with this file share. Ifunspecified, a replica may be subsequently added by creating a new file share with a`sourceShare` referencing this file share. + ReplicaShare IsShareReplicaSharePtrOutput `pulumi:"replicaShare"` + // The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. + ReplicationCronSpec pulumi.StringOutput `pulumi:"replicationCronSpec"` + // The replication role of the file share.* `none`: This share is not participating in replication.* `replica`: This share is a replication target.* `source`: This share is a replication source. + ReplicationRole pulumi.StringOutput `pulumi:"replicationRole"` + // The replication status of the file share.* `initializing`: This share is initializing replication.* `active`: This share is actively participating in replication.* `failoverPending`: This share is performing a replication failover.* `splitPending`: This share is performing a replication split.* `none`: This share is not participating in replication.* `degraded`: This share's replication sync is degraded.* `syncPending`: This share is performing a replication sync. + ReplicationStatus pulumi.StringOutput `pulumi:"replicationStatus"` + // The reasons for the current replication status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + ReplicationStatusReasons IsShareReplicationStatusReasonArrayOutput `pulumi:"replicationStatusReasons"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The size of the file share rounded up to the next gigabyte. + Size pulumi.IntOutput `pulumi:"size"` + // The total number of snapshots for this share. + SnapshotCount pulumi.IntOutput `pulumi:"snapshotCount"` + // The total size (in gigabytes) of snapshots used for this file share. + SnapshotSize pulumi.IntOutput `pulumi:"snapshotSize"` + // The ID of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShare pulumi.StringOutput `pulumi:"sourceShare"` + // The CRN of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShareCrn pulumi.StringOutput `pulumi:"sourceShareCrn"` + // The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. + SourceSnapshot IsShareSourceSnapshotOutput `pulumi:"sourceSnapshot"` + // The storage generation for this share + StorageGeneration pulumi.IntOutput `pulumi:"storageGeneration"` + // User Tags for the file share + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The globally unique name of the zone this file share will reside in. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsShare registers a new resource with the given unique name, arguments, and options. +func NewIsShare(ctx *pulumi.Context, + name string, args *IsShareArgs, opts ...pulumi.ResourceOption) (*IsShare, error) { + if args == nil { + args = &IsShareArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsShare + err := ctx.RegisterResource("ibmcloud:index/isShare:IsShare", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsShare gets an existing IsShare resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsShare(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsShareState, opts ...pulumi.ResourceOption) (*IsShare, error) { + var resource IsShare + err := ctx.ReadResource("ibmcloud:index/isShare:IsShare", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsShare resources. +type isShareState struct { + // The access control mode for the share: + AccessControlMode *string `pulumi:"accessControlMode"` + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The accessor binding role of this file share:- `none`: This file share is not participating in access with another file share- `origin`: This file share is the origin for one or more file shares (which may be in other accounts)- `accessor`: This file share is providing access to another file share (which may be in another account). + AccessorBindingRole *string `pulumi:"accessorBindingRole"` + // The accessor bindings for this file share. Each accessor binding identifies a resource (possibly in another account) with access to this file share's data. + AccessorBindings []IsShareAccessorBinding `pulumi:"accessorBindings"` + // The access protocols to allow for this share + AllowedAccessProtocols []string `pulumi:"allowedAccessProtocols"` + // Allowed transit encryption modes + AllowedTransitEncryptionModes []string `pulumi:"allowedTransitEncryptionModes"` + // Availability mode of the share. + AvailabilityMode *string `pulumi:"availabilityMode"` + // The bandwidth for the file share. + Bandwidth *int `pulumi:"bandwidth"` + // The date and time that the file share is created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this share. + Crn *string `pulumi:"crn"` + // The type of encryption used for this file share. + Encryption *string `pulumi:"encryption"` + // The CRN of the key to use for encrypting this file share.If no encryption key is provided, the share will not be encrypted. + EncryptionKey *string `pulumi:"encryptionKey"` + // The URL for this share. + Href *string `pulumi:"href"` + // The owner assigned to the file share at creation. + InitialOwner *IsShareInitialOwner `pulumi:"initialOwner"` + // The maximum input/output operation performance bandwidth per second for the file share. + Iops *int `pulumi:"iops"` + // The date and time that the file share was last synchronized to its replica.This property will be present when the `replicationRole` is `source`. + LastSyncAt *string `pulumi:"lastSyncAt"` + // The latest job associated with this file share.This property will be absent if no jobs have been created for this file share. + LatestJobs []IsShareLatestJob `pulumi:"latestJobs"` + // Information about the latest synchronization for this file share. + LatestSyncs []IsShareLatestSync `pulumi:"latestSyncs"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []IsShareLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the file share. + LifecycleState *string `pulumi:"lifecycleState"` + // The share targets for this file share.Share targets mounted from a replica must be mounted read-only. + MountTargets []IsShareMountTargetType `pulumi:"mountTargets"` + // The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. + OriginShare *IsShareOriginShare `pulumi:"originShare"` + // The globally unique name for this share profile. + Profile *string `pulumi:"profile"` + // Configuration for a replica file share to create and associate with this file share. Ifunspecified, a replica may be subsequently added by creating a new file share with a`sourceShare` referencing this file share. + ReplicaShare *IsShareReplicaShare `pulumi:"replicaShare"` + // The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. + ReplicationCronSpec *string `pulumi:"replicationCronSpec"` + // The replication role of the file share.* `none`: This share is not participating in replication.* `replica`: This share is a replication target.* `source`: This share is a replication source. + ReplicationRole *string `pulumi:"replicationRole"` + // The replication status of the file share.* `initializing`: This share is initializing replication.* `active`: This share is actively participating in replication.* `failoverPending`: This share is performing a replication failover.* `splitPending`: This share is performing a replication split.* `none`: This share is not participating in replication.* `degraded`: This share's replication sync is degraded.* `syncPending`: This share is performing a replication sync. + ReplicationStatus *string `pulumi:"replicationStatus"` + // The reasons for the current replication status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + ReplicationStatusReasons []IsShareReplicationStatusReason `pulumi:"replicationStatusReasons"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` + // The size of the file share rounded up to the next gigabyte. + Size *int `pulumi:"size"` + // The total number of snapshots for this share. + SnapshotCount *int `pulumi:"snapshotCount"` + // The total size (in gigabytes) of snapshots used for this file share. + SnapshotSize *int `pulumi:"snapshotSize"` + // The ID of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShare *string `pulumi:"sourceShare"` + // The CRN of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShareCrn *string `pulumi:"sourceShareCrn"` + // The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. + SourceSnapshot *IsShareSourceSnapshot `pulumi:"sourceSnapshot"` + // The storage generation for this share + StorageGeneration *int `pulumi:"storageGeneration"` + // User Tags for the file share + Tags []string `pulumi:"tags"` + // The globally unique name of the zone this file share will reside in. + Zone *string `pulumi:"zone"` +} + +type IsShareState struct { + // The access control mode for the share: + AccessControlMode pulumi.StringPtrInput + // List of access management tags + AccessTags pulumi.StringArrayInput + // The accessor binding role of this file share:- `none`: This file share is not participating in access with another file share- `origin`: This file share is the origin for one or more file shares (which may be in other accounts)- `accessor`: This file share is providing access to another file share (which may be in another account). + AccessorBindingRole pulumi.StringPtrInput + // The accessor bindings for this file share. Each accessor binding identifies a resource (possibly in another account) with access to this file share's data. + AccessorBindings IsShareAccessorBindingArrayInput + // The access protocols to allow for this share + AllowedAccessProtocols pulumi.StringArrayInput + // Allowed transit encryption modes + AllowedTransitEncryptionModes pulumi.StringArrayInput + // Availability mode of the share. + AvailabilityMode pulumi.StringPtrInput + // The bandwidth for the file share. + Bandwidth pulumi.IntPtrInput + // The date and time that the file share is created. + CreatedAt pulumi.StringPtrInput + // The CRN for this share. + Crn pulumi.StringPtrInput + // The type of encryption used for this file share. + Encryption pulumi.StringPtrInput + // The CRN of the key to use for encrypting this file share.If no encryption key is provided, the share will not be encrypted. + EncryptionKey pulumi.StringPtrInput + // The URL for this share. + Href pulumi.StringPtrInput + // The owner assigned to the file share at creation. + InitialOwner IsShareInitialOwnerPtrInput + // The maximum input/output operation performance bandwidth per second for the file share. + Iops pulumi.IntPtrInput + // The date and time that the file share was last synchronized to its replica.This property will be present when the `replicationRole` is `source`. + LastSyncAt pulumi.StringPtrInput + // The latest job associated with this file share.This property will be absent if no jobs have been created for this file share. + LatestJobs IsShareLatestJobArrayInput + // Information about the latest synchronization for this file share. + LatestSyncs IsShareLatestSyncArrayInput + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsShareLifecycleReasonArrayInput + // The lifecycle state of the file share. + LifecycleState pulumi.StringPtrInput + // The share targets for this file share.Share targets mounted from a replica must be mounted read-only. + MountTargets IsShareMountTargetTypeArrayInput + // The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. + OriginShare IsShareOriginSharePtrInput + // The globally unique name for this share profile. + Profile pulumi.StringPtrInput + // Configuration for a replica file share to create and associate with this file share. Ifunspecified, a replica may be subsequently added by creating a new file share with a`sourceShare` referencing this file share. + ReplicaShare IsShareReplicaSharePtrInput + // The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. + ReplicationCronSpec pulumi.StringPtrInput + // The replication role of the file share.* `none`: This share is not participating in replication.* `replica`: This share is a replication target.* `source`: This share is a replication source. + ReplicationRole pulumi.StringPtrInput + // The replication status of the file share.* `initializing`: This share is initializing replication.* `active`: This share is actively participating in replication.* `failoverPending`: This share is performing a replication failover.* `splitPending`: This share is performing a replication split.* `none`: This share is not participating in replication.* `degraded`: This share's replication sync is degraded.* `syncPending`: This share is performing a replication sync. + ReplicationStatus pulumi.StringPtrInput + // The reasons for the current replication status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + ReplicationStatusReasons IsShareReplicationStatusReasonArrayInput + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The type of resource referenced. + ResourceType pulumi.StringPtrInput + // The size of the file share rounded up to the next gigabyte. + Size pulumi.IntPtrInput + // The total number of snapshots for this share. + SnapshotCount pulumi.IntPtrInput + // The total size (in gigabytes) of snapshots used for this file share. + SnapshotSize pulumi.IntPtrInput + // The ID of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShare pulumi.StringPtrInput + // The CRN of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShareCrn pulumi.StringPtrInput + // The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. + SourceSnapshot IsShareSourceSnapshotPtrInput + // The storage generation for this share + StorageGeneration pulumi.IntPtrInput + // User Tags for the file share + Tags pulumi.StringArrayInput + // The globally unique name of the zone this file share will reside in. + Zone pulumi.StringPtrInput +} + +func (IsShareState) ElementType() reflect.Type { + return reflect.TypeOf((*isShareState)(nil)).Elem() +} + +type isShareArgs struct { + // The access control mode for the share: + AccessControlMode *string `pulumi:"accessControlMode"` + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The access protocols to allow for this share + AllowedAccessProtocols []string `pulumi:"allowedAccessProtocols"` + // Allowed transit encryption modes + AllowedTransitEncryptionModes []string `pulumi:"allowedTransitEncryptionModes"` + // The bandwidth for the file share. + Bandwidth *int `pulumi:"bandwidth"` + // The CRN of the key to use for encrypting this file share.If no encryption key is provided, the share will not be encrypted. + EncryptionKey *string `pulumi:"encryptionKey"` + // The owner assigned to the file share at creation. + InitialOwner *IsShareInitialOwner `pulumi:"initialOwner"` + // The maximum input/output operation performance bandwidth per second for the file share. + Iops *int `pulumi:"iops"` + // The share targets for this file share.Share targets mounted from a replica must be mounted read-only. + MountTargets []IsShareMountTargetType `pulumi:"mountTargets"` + // The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. + OriginShare *IsShareOriginShare `pulumi:"originShare"` + // The globally unique name for this share profile. + Profile *string `pulumi:"profile"` + // Configuration for a replica file share to create and associate with this file share. Ifunspecified, a replica may be subsequently added by creating a new file share with a`sourceShare` referencing this file share. + ReplicaShare *IsShareReplicaShare `pulumi:"replicaShare"` + // The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. + ReplicationCronSpec *string `pulumi:"replicationCronSpec"` + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The size of the file share rounded up to the next gigabyte. + Size *int `pulumi:"size"` + // The ID of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShare *string `pulumi:"sourceShare"` + // The CRN of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShareCrn *string `pulumi:"sourceShareCrn"` + // The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. + SourceSnapshot *IsShareSourceSnapshot `pulumi:"sourceSnapshot"` + // User Tags for the file share + Tags []string `pulumi:"tags"` + // The globally unique name of the zone this file share will reside in. + Zone *string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsShare resource. +type IsShareArgs struct { + // The access control mode for the share: + AccessControlMode pulumi.StringPtrInput + // List of access management tags + AccessTags pulumi.StringArrayInput + // The access protocols to allow for this share + AllowedAccessProtocols pulumi.StringArrayInput + // Allowed transit encryption modes + AllowedTransitEncryptionModes pulumi.StringArrayInput + // The bandwidth for the file share. + Bandwidth pulumi.IntPtrInput + // The CRN of the key to use for encrypting this file share.If no encryption key is provided, the share will not be encrypted. + EncryptionKey pulumi.StringPtrInput + // The owner assigned to the file share at creation. + InitialOwner IsShareInitialOwnerPtrInput + // The maximum input/output operation performance bandwidth per second for the file share. + Iops pulumi.IntPtrInput + // The share targets for this file share.Share targets mounted from a replica must be mounted read-only. + MountTargets IsShareMountTargetTypeArrayInput + // The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. + OriginShare IsShareOriginSharePtrInput + // The globally unique name for this share profile. + Profile pulumi.StringPtrInput + // Configuration for a replica file share to create and associate with this file share. Ifunspecified, a replica may be subsequently added by creating a new file share with a`sourceShare` referencing this file share. + ReplicaShare IsShareReplicaSharePtrInput + // The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. + ReplicationCronSpec pulumi.StringPtrInput + // The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The size of the file share rounded up to the next gigabyte. + Size pulumi.IntPtrInput + // The ID of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShare pulumi.StringPtrInput + // The CRN of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. + SourceShareCrn pulumi.StringPtrInput + // The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. + SourceSnapshot IsShareSourceSnapshotPtrInput + // User Tags for the file share + Tags pulumi.StringArrayInput + // The globally unique name of the zone this file share will reside in. + Zone pulumi.StringPtrInput +} + +func (IsShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isShareArgs)(nil)).Elem() +} + +type IsShareInput interface { + pulumi.Input + + ToIsShareOutput() IsShareOutput + ToIsShareOutputWithContext(ctx context.Context) IsShareOutput +} + +func (*IsShare) ElementType() reflect.Type { + return reflect.TypeOf((**IsShare)(nil)).Elem() +} + +func (i *IsShare) ToIsShareOutput() IsShareOutput { + return i.ToIsShareOutputWithContext(context.Background()) +} + +func (i *IsShare) ToIsShareOutputWithContext(ctx context.Context) IsShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOutput) +} + +type IsShareOutput struct{ *pulumi.OutputState } + +func (IsShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShare)(nil)).Elem() +} + +func (o IsShareOutput) ToIsShareOutput() IsShareOutput { + return o +} + +func (o IsShareOutput) ToIsShareOutputWithContext(ctx context.Context) IsShareOutput { + return o +} + +// The access control mode for the share: +func (o IsShareOutput) AccessControlMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.AccessControlMode }).(pulumi.StringOutput) +} + +// List of access management tags +func (o IsShareOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The accessor binding role of this file share:- `none`: This file share is not participating in access with another file share- `origin`: This file share is the origin for one or more file shares (which may be in other accounts)- `accessor`: This file share is providing access to another file share (which may be in another account). +func (o IsShareOutput) AccessorBindingRole() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.AccessorBindingRole }).(pulumi.StringOutput) +} + +// The accessor bindings for this file share. Each accessor binding identifies a resource (possibly in another account) with access to this file share's data. +func (o IsShareOutput) AccessorBindings() IsShareAccessorBindingArrayOutput { + return o.ApplyT(func(v *IsShare) IsShareAccessorBindingArrayOutput { return v.AccessorBindings }).(IsShareAccessorBindingArrayOutput) +} + +// The access protocols to allow for this share +func (o IsShareOutput) AllowedAccessProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringArrayOutput { return v.AllowedAccessProtocols }).(pulumi.StringArrayOutput) +} + +// Allowed transit encryption modes +func (o IsShareOutput) AllowedTransitEncryptionModes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringArrayOutput { return v.AllowedTransitEncryptionModes }).(pulumi.StringArrayOutput) +} + +// Availability mode of the share. +func (o IsShareOutput) AvailabilityMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.AvailabilityMode }).(pulumi.StringOutput) +} + +// The bandwidth for the file share. +func (o IsShareOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *IsShare) pulumi.IntOutput { return v.Bandwidth }).(pulumi.IntOutput) +} + +// The date and time that the file share is created. +func (o IsShareOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this share. +func (o IsShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The type of encryption used for this file share. +func (o IsShareOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.Encryption }).(pulumi.StringOutput) +} + +// The CRN of the key to use for encrypting this file share.If no encryption key is provided, the share will not be encrypted. +func (o IsShareOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The URL for this share. +func (o IsShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The owner assigned to the file share at creation. +func (o IsShareOutput) InitialOwner() IsShareInitialOwnerPtrOutput { + return o.ApplyT(func(v *IsShare) IsShareInitialOwnerPtrOutput { return v.InitialOwner }).(IsShareInitialOwnerPtrOutput) +} + +// The maximum input/output operation performance bandwidth per second for the file share. +func (o IsShareOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v *IsShare) pulumi.IntOutput { return v.Iops }).(pulumi.IntOutput) +} + +// The date and time that the file share was last synchronized to its replica.This property will be present when the `replicationRole` is `source`. +func (o IsShareOutput) LastSyncAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.LastSyncAt }).(pulumi.StringOutput) +} + +// The latest job associated with this file share.This property will be absent if no jobs have been created for this file share. +func (o IsShareOutput) LatestJobs() IsShareLatestJobArrayOutput { + return o.ApplyT(func(v *IsShare) IsShareLatestJobArrayOutput { return v.LatestJobs }).(IsShareLatestJobArrayOutput) +} + +// Information about the latest synchronization for this file share. +func (o IsShareOutput) LatestSyncs() IsShareLatestSyncArrayOutput { + return o.ApplyT(func(v *IsShare) IsShareLatestSyncArrayOutput { return v.LatestSyncs }).(IsShareLatestSyncArrayOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o IsShareOutput) LifecycleReasons() IsShareLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsShare) IsShareLifecycleReasonArrayOutput { return v.LifecycleReasons }).(IsShareLifecycleReasonArrayOutput) +} + +// The lifecycle state of the file share. +func (o IsShareOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The share targets for this file share.Share targets mounted from a replica must be mounted read-only. +func (o IsShareOutput) MountTargets() IsShareMountTargetTypeArrayOutput { + return o.ApplyT(func(v *IsShare) IsShareMountTargetTypeArrayOutput { return v.MountTargets }).(IsShareMountTargetTypeArrayOutput) +} + +// The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. +func (o IsShareOutput) OriginShare() IsShareOriginShareOutput { + return o.ApplyT(func(v *IsShare) IsShareOriginShareOutput { return v.OriginShare }).(IsShareOriginShareOutput) +} + +// The globally unique name for this share profile. +func (o IsShareOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +// Configuration for a replica file share to create and associate with this file share. Ifunspecified, a replica may be subsequently added by creating a new file share with a`sourceShare` referencing this file share. +func (o IsShareOutput) ReplicaShare() IsShareReplicaSharePtrOutput { + return o.ApplyT(func(v *IsShare) IsShareReplicaSharePtrOutput { return v.ReplicaShare }).(IsShareReplicaSharePtrOutput) +} + +// The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. +func (o IsShareOutput) ReplicationCronSpec() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.ReplicationCronSpec }).(pulumi.StringOutput) +} + +// The replication role of the file share.* `none`: This share is not participating in replication.* `replica`: This share is a replication target.* `source`: This share is a replication source. +func (o IsShareOutput) ReplicationRole() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.ReplicationRole }).(pulumi.StringOutput) +} + +// The replication status of the file share.* `initializing`: This share is initializing replication.* `active`: This share is actively participating in replication.* `failoverPending`: This share is performing a replication failover.* `splitPending`: This share is performing a replication split.* `none`: This share is not participating in replication.* `degraded`: This share's replication sync is degraded.* `syncPending`: This share is performing a replication sync. +func (o IsShareOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +// The reasons for the current replication status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o IsShareOutput) ReplicationStatusReasons() IsShareReplicationStatusReasonArrayOutput { + return o.ApplyT(func(v *IsShare) IsShareReplicationStatusReasonArrayOutput { return v.ReplicationStatusReasons }).(IsShareReplicationStatusReasonArrayOutput) +} + +// The unique identifier of the resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. +func (o IsShareOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o IsShareOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the file share rounded up to the next gigabyte. +func (o IsShareOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v *IsShare) pulumi.IntOutput { return v.Size }).(pulumi.IntOutput) +} + +// The total number of snapshots for this share. +func (o IsShareOutput) SnapshotCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsShare) pulumi.IntOutput { return v.SnapshotCount }).(pulumi.IntOutput) +} + +// The total size (in gigabytes) of snapshots used for this file share. +func (o IsShareOutput) SnapshotSize() pulumi.IntOutput { + return o.ApplyT(func(v *IsShare) pulumi.IntOutput { return v.SnapshotSize }).(pulumi.IntOutput) +} + +// The ID of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. +func (o IsShareOutput) SourceShare() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.SourceShare }).(pulumi.StringOutput) +} + +// The CRN of the source file share for this replica file share. The specified file share must not already have a replica, and must not be a replica. +func (o IsShareOutput) SourceShareCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.SourceShareCrn }).(pulumi.StringOutput) +} + +// The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. +func (o IsShareOutput) SourceSnapshot() IsShareSourceSnapshotOutput { + return o.ApplyT(func(v *IsShare) IsShareSourceSnapshotOutput { return v.SourceSnapshot }).(IsShareSourceSnapshotOutput) +} + +// The storage generation for this share +func (o IsShareOutput) StorageGeneration() pulumi.IntOutput { + return o.ApplyT(func(v *IsShare) pulumi.IntOutput { return v.StorageGeneration }).(pulumi.IntOutput) +} + +// User Tags for the file share +func (o IsShareOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The globally unique name of the zone this file share will reside in. +func (o IsShareOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsShare) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsShareInput)(nil)).Elem(), &IsShare{}) + pulumi.RegisterOutputType(IsShareOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareDeleteAccessorBinding.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareDeleteAccessorBinding.go new file mode 100644 index 000000000..02a72f91c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareDeleteAccessorBinding.go @@ -0,0 +1,142 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsShareDeleteAccessorBinding struct { + pulumi.CustomResourceState + + // The accessor binding id + AccessorBinding pulumi.StringOutput `pulumi:"accessorBinding"` + // The file share identifier. + Share pulumi.StringOutput `pulumi:"share"` +} + +// NewIsShareDeleteAccessorBinding registers a new resource with the given unique name, arguments, and options. +func NewIsShareDeleteAccessorBinding(ctx *pulumi.Context, + name string, args *IsShareDeleteAccessorBindingArgs, opts ...pulumi.ResourceOption) (*IsShareDeleteAccessorBinding, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccessorBinding == nil { + return nil, errors.New("invalid value for required argument 'AccessorBinding'") + } + if args.Share == nil { + return nil, errors.New("invalid value for required argument 'Share'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsShareDeleteAccessorBinding + err := ctx.RegisterResource("ibmcloud:index/isShareDeleteAccessorBinding:IsShareDeleteAccessorBinding", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsShareDeleteAccessorBinding gets an existing IsShareDeleteAccessorBinding resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsShareDeleteAccessorBinding(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsShareDeleteAccessorBindingState, opts ...pulumi.ResourceOption) (*IsShareDeleteAccessorBinding, error) { + var resource IsShareDeleteAccessorBinding + err := ctx.ReadResource("ibmcloud:index/isShareDeleteAccessorBinding:IsShareDeleteAccessorBinding", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsShareDeleteAccessorBinding resources. +type isShareDeleteAccessorBindingState struct { + // The accessor binding id + AccessorBinding *string `pulumi:"accessorBinding"` + // The file share identifier. + Share *string `pulumi:"share"` +} + +type IsShareDeleteAccessorBindingState struct { + // The accessor binding id + AccessorBinding pulumi.StringPtrInput + // The file share identifier. + Share pulumi.StringPtrInput +} + +func (IsShareDeleteAccessorBindingState) ElementType() reflect.Type { + return reflect.TypeOf((*isShareDeleteAccessorBindingState)(nil)).Elem() +} + +type isShareDeleteAccessorBindingArgs struct { + // The accessor binding id + AccessorBinding string `pulumi:"accessorBinding"` + // The file share identifier. + Share string `pulumi:"share"` +} + +// The set of arguments for constructing a IsShareDeleteAccessorBinding resource. +type IsShareDeleteAccessorBindingArgs struct { + // The accessor binding id + AccessorBinding pulumi.StringInput + // The file share identifier. + Share pulumi.StringInput +} + +func (IsShareDeleteAccessorBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isShareDeleteAccessorBindingArgs)(nil)).Elem() +} + +type IsShareDeleteAccessorBindingInput interface { + pulumi.Input + + ToIsShareDeleteAccessorBindingOutput() IsShareDeleteAccessorBindingOutput + ToIsShareDeleteAccessorBindingOutputWithContext(ctx context.Context) IsShareDeleteAccessorBindingOutput +} + +func (*IsShareDeleteAccessorBinding) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareDeleteAccessorBinding)(nil)).Elem() +} + +func (i *IsShareDeleteAccessorBinding) ToIsShareDeleteAccessorBindingOutput() IsShareDeleteAccessorBindingOutput { + return i.ToIsShareDeleteAccessorBindingOutputWithContext(context.Background()) +} + +func (i *IsShareDeleteAccessorBinding) ToIsShareDeleteAccessorBindingOutputWithContext(ctx context.Context) IsShareDeleteAccessorBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareDeleteAccessorBindingOutput) +} + +type IsShareDeleteAccessorBindingOutput struct{ *pulumi.OutputState } + +func (IsShareDeleteAccessorBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareDeleteAccessorBinding)(nil)).Elem() +} + +func (o IsShareDeleteAccessorBindingOutput) ToIsShareDeleteAccessorBindingOutput() IsShareDeleteAccessorBindingOutput { + return o +} + +func (o IsShareDeleteAccessorBindingOutput) ToIsShareDeleteAccessorBindingOutputWithContext(ctx context.Context) IsShareDeleteAccessorBindingOutput { + return o +} + +// The accessor binding id +func (o IsShareDeleteAccessorBindingOutput) AccessorBinding() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareDeleteAccessorBinding) pulumi.StringOutput { return v.AccessorBinding }).(pulumi.StringOutput) +} + +// The file share identifier. +func (o IsShareDeleteAccessorBindingOutput) Share() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareDeleteAccessorBinding) pulumi.StringOutput { return v.Share }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsShareDeleteAccessorBindingInput)(nil)).Elem(), &IsShareDeleteAccessorBinding{}) + pulumi.RegisterOutputType(IsShareDeleteAccessorBindingOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareMountTarget.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareMountTarget.go new file mode 100644 index 000000000..9fb00045b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareMountTarget.go @@ -0,0 +1,278 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsShareMountTarget struct { + pulumi.CustomResourceState + + // The access control mode for the share + AccessControlMode pulumi.StringOutput `pulumi:"accessControlMode"` + // The protocol to use to access the share for this share mount target. + AccessProtocol pulumi.StringOutput `pulumi:"accessProtocol"` + // The date and time that the share target was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The URL for this share target. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of the mount target. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The mount path for the share.The IP addresses used in the mount path are currently within the IBM services IP range, but are expected to change to be within one of the VPC's subnets in the future. + MountPath pulumi.StringOutput `pulumi:"mountPath"` + // The unique identifier of this target + MountTarget pulumi.StringOutput `pulumi:"mountTarget"` + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringOutput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The file share identifier. + Share pulumi.StringOutput `pulumi:"share"` + // The transit encryption mode. + TransitEncryption pulumi.StringOutput `pulumi:"transitEncryption"` + // VNI for mount target. + VirtualNetworkInterface IsShareMountTargetVirtualNetworkInterfaceOutput `pulumi:"virtualNetworkInterface"` + // The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc pulumi.StringOutput `pulumi:"vpc"` +} + +// NewIsShareMountTarget registers a new resource with the given unique name, arguments, and options. +func NewIsShareMountTarget(ctx *pulumi.Context, + name string, args *IsShareMountTargetArgs, opts ...pulumi.ResourceOption) (*IsShareMountTarget, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Share == nil { + return nil, errors.New("invalid value for required argument 'Share'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsShareMountTarget + err := ctx.RegisterResource("ibmcloud:index/isShareMountTarget:IsShareMountTarget", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsShareMountTarget gets an existing IsShareMountTarget resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsShareMountTarget(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsShareMountTargetState, opts ...pulumi.ResourceOption) (*IsShareMountTarget, error) { + var resource IsShareMountTarget + err := ctx.ReadResource("ibmcloud:index/isShareMountTarget:IsShareMountTarget", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsShareMountTarget resources. +type isShareMountTargetState struct { + // The access control mode for the share + AccessControlMode *string `pulumi:"accessControlMode"` + // The protocol to use to access the share for this share mount target. + AccessProtocol *string `pulumi:"accessProtocol"` + // The date and time that the share target was created. + CreatedAt *string `pulumi:"createdAt"` + // The URL for this share target. + Href *string `pulumi:"href"` + // The lifecycle state of the mount target. + LifecycleState *string `pulumi:"lifecycleState"` + // The mount path for the share.The IP addresses used in the mount path are currently within the IBM services IP range, but are expected to change to be within one of the VPC's subnets in the future. + MountPath *string `pulumi:"mountPath"` + // The unique identifier of this target + MountTarget *string `pulumi:"mountTarget"` + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` + // The file share identifier. + Share *string `pulumi:"share"` + // The transit encryption mode. + TransitEncryption *string `pulumi:"transitEncryption"` + // VNI for mount target. + VirtualNetworkInterface *IsShareMountTargetVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` + // The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc *string `pulumi:"vpc"` +} + +type IsShareMountTargetState struct { + // The access control mode for the share + AccessControlMode pulumi.StringPtrInput + // The protocol to use to access the share for this share mount target. + AccessProtocol pulumi.StringPtrInput + // The date and time that the share target was created. + CreatedAt pulumi.StringPtrInput + // The URL for this share target. + Href pulumi.StringPtrInput + // The lifecycle state of the mount target. + LifecycleState pulumi.StringPtrInput + // The mount path for the share.The IP addresses used in the mount path are currently within the IBM services IP range, but are expected to change to be within one of the VPC's subnets in the future. + MountPath pulumi.StringPtrInput + // The unique identifier of this target + MountTarget pulumi.StringPtrInput + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The type of resource referenced. + ResourceType pulumi.StringPtrInput + // The file share identifier. + Share pulumi.StringPtrInput + // The transit encryption mode. + TransitEncryption pulumi.StringPtrInput + // VNI for mount target. + VirtualNetworkInterface IsShareMountTargetVirtualNetworkInterfacePtrInput + // The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc pulumi.StringPtrInput +} + +func (IsShareMountTargetState) ElementType() reflect.Type { + return reflect.TypeOf((*isShareMountTargetState)(nil)).Elem() +} + +type isShareMountTargetArgs struct { + // The protocol to use to access the share for this share mount target. + AccessProtocol *string `pulumi:"accessProtocol"` + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The file share identifier. + Share string `pulumi:"share"` + // The transit encryption mode. + TransitEncryption *string `pulumi:"transitEncryption"` + // VNI for mount target. + VirtualNetworkInterface *IsShareMountTargetVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` + // The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc *string `pulumi:"vpc"` +} + +// The set of arguments for constructing a IsShareMountTarget resource. +type IsShareMountTargetArgs struct { + // The protocol to use to access the share for this share mount target. + AccessProtocol pulumi.StringPtrInput + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput + // The file share identifier. + Share pulumi.StringInput + // The transit encryption mode. + TransitEncryption pulumi.StringPtrInput + // VNI for mount target. + VirtualNetworkInterface IsShareMountTargetVirtualNetworkInterfacePtrInput + // The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc pulumi.StringPtrInput +} + +func (IsShareMountTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isShareMountTargetArgs)(nil)).Elem() +} + +type IsShareMountTargetInput interface { + pulumi.Input + + ToIsShareMountTargetOutput() IsShareMountTargetOutput + ToIsShareMountTargetOutputWithContext(ctx context.Context) IsShareMountTargetOutput +} + +func (*IsShareMountTarget) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareMountTarget)(nil)).Elem() +} + +func (i *IsShareMountTarget) ToIsShareMountTargetOutput() IsShareMountTargetOutput { + return i.ToIsShareMountTargetOutputWithContext(context.Background()) +} + +func (i *IsShareMountTarget) ToIsShareMountTargetOutputWithContext(ctx context.Context) IsShareMountTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetOutput) +} + +type IsShareMountTargetOutput struct{ *pulumi.OutputState } + +func (IsShareMountTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareMountTarget)(nil)).Elem() +} + +func (o IsShareMountTargetOutput) ToIsShareMountTargetOutput() IsShareMountTargetOutput { + return o +} + +func (o IsShareMountTargetOutput) ToIsShareMountTargetOutputWithContext(ctx context.Context) IsShareMountTargetOutput { + return o +} + +// The access control mode for the share +func (o IsShareMountTargetOutput) AccessControlMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.AccessControlMode }).(pulumi.StringOutput) +} + +// The protocol to use to access the share for this share mount target. +func (o IsShareMountTargetOutput) AccessProtocol() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.AccessProtocol }).(pulumi.StringOutput) +} + +// The date and time that the share target was created. +func (o IsShareMountTargetOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this share target. +func (o IsShareMountTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of the mount target. +func (o IsShareMountTargetOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The mount path for the share.The IP addresses used in the mount path are currently within the IBM services IP range, but are expected to change to be within one of the VPC's subnets in the future. +func (o IsShareMountTargetOutput) MountPath() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.MountPath }).(pulumi.StringOutput) +} + +// The unique identifier of this target +func (o IsShareMountTargetOutput) MountTarget() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.MountTarget }).(pulumi.StringOutput) +} + +// The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsShareMountTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o IsShareMountTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The file share identifier. +func (o IsShareMountTargetOutput) Share() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.Share }).(pulumi.StringOutput) +} + +// The transit encryption mode. +func (o IsShareMountTargetOutput) TransitEncryption() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.TransitEncryption }).(pulumi.StringOutput) +} + +// VNI for mount target. +func (o IsShareMountTargetOutput) VirtualNetworkInterface() IsShareMountTargetVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsShareMountTarget) IsShareMountTargetVirtualNetworkInterfaceOutput { + return v.VirtualNetworkInterface + }).(IsShareMountTargetVirtualNetworkInterfaceOutput) +} + +// The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. +func (o IsShareMountTargetOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareMountTarget) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsShareMountTargetInput)(nil)).Elem(), &IsShareMountTarget{}) + pulumi.RegisterOutputType(IsShareMountTargetOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareReplicaOperations.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareReplicaOperations.go new file mode 100644 index 000000000..d17b88104 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareReplicaOperations.go @@ -0,0 +1,169 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsShareReplicaOperations struct { + pulumi.CustomResourceState + + // The action to take if the failover request is accepted but cannot be performed or times out + FallbackPolicy pulumi.StringPtrOutput `pulumi:"fallbackPolicy"` + // The file share identifier. + ShareReplica pulumi.StringOutput `pulumi:"shareReplica"` + // If set to true the replication relationship between source share and replica will be removed. + SplitShare pulumi.BoolPtrOutput `pulumi:"splitShare"` + // The failover timeout in seconds + Timeout pulumi.IntPtrOutput `pulumi:"timeout"` +} + +// NewIsShareReplicaOperations registers a new resource with the given unique name, arguments, and options. +func NewIsShareReplicaOperations(ctx *pulumi.Context, + name string, args *IsShareReplicaOperationsArgs, opts ...pulumi.ResourceOption) (*IsShareReplicaOperations, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ShareReplica == nil { + return nil, errors.New("invalid value for required argument 'ShareReplica'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsShareReplicaOperations + err := ctx.RegisterResource("ibmcloud:index/isShareReplicaOperations:IsShareReplicaOperations", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsShareReplicaOperations gets an existing IsShareReplicaOperations resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsShareReplicaOperations(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsShareReplicaOperationsState, opts ...pulumi.ResourceOption) (*IsShareReplicaOperations, error) { + var resource IsShareReplicaOperations + err := ctx.ReadResource("ibmcloud:index/isShareReplicaOperations:IsShareReplicaOperations", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsShareReplicaOperations resources. +type isShareReplicaOperationsState struct { + // The action to take if the failover request is accepted but cannot be performed or times out + FallbackPolicy *string `pulumi:"fallbackPolicy"` + // The file share identifier. + ShareReplica *string `pulumi:"shareReplica"` + // If set to true the replication relationship between source share and replica will be removed. + SplitShare *bool `pulumi:"splitShare"` + // The failover timeout in seconds + Timeout *int `pulumi:"timeout"` +} + +type IsShareReplicaOperationsState struct { + // The action to take if the failover request is accepted but cannot be performed or times out + FallbackPolicy pulumi.StringPtrInput + // The file share identifier. + ShareReplica pulumi.StringPtrInput + // If set to true the replication relationship between source share and replica will be removed. + SplitShare pulumi.BoolPtrInput + // The failover timeout in seconds + Timeout pulumi.IntPtrInput +} + +func (IsShareReplicaOperationsState) ElementType() reflect.Type { + return reflect.TypeOf((*isShareReplicaOperationsState)(nil)).Elem() +} + +type isShareReplicaOperationsArgs struct { + // The action to take if the failover request is accepted but cannot be performed or times out + FallbackPolicy *string `pulumi:"fallbackPolicy"` + // The file share identifier. + ShareReplica string `pulumi:"shareReplica"` + // If set to true the replication relationship between source share and replica will be removed. + SplitShare *bool `pulumi:"splitShare"` + // The failover timeout in seconds + Timeout *int `pulumi:"timeout"` +} + +// The set of arguments for constructing a IsShareReplicaOperations resource. +type IsShareReplicaOperationsArgs struct { + // The action to take if the failover request is accepted but cannot be performed or times out + FallbackPolicy pulumi.StringPtrInput + // The file share identifier. + ShareReplica pulumi.StringInput + // If set to true the replication relationship between source share and replica will be removed. + SplitShare pulumi.BoolPtrInput + // The failover timeout in seconds + Timeout pulumi.IntPtrInput +} + +func (IsShareReplicaOperationsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isShareReplicaOperationsArgs)(nil)).Elem() +} + +type IsShareReplicaOperationsInput interface { + pulumi.Input + + ToIsShareReplicaOperationsOutput() IsShareReplicaOperationsOutput + ToIsShareReplicaOperationsOutputWithContext(ctx context.Context) IsShareReplicaOperationsOutput +} + +func (*IsShareReplicaOperations) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareReplicaOperations)(nil)).Elem() +} + +func (i *IsShareReplicaOperations) ToIsShareReplicaOperationsOutput() IsShareReplicaOperationsOutput { + return i.ToIsShareReplicaOperationsOutputWithContext(context.Background()) +} + +func (i *IsShareReplicaOperations) ToIsShareReplicaOperationsOutputWithContext(ctx context.Context) IsShareReplicaOperationsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaOperationsOutput) +} + +type IsShareReplicaOperationsOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaOperationsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareReplicaOperations)(nil)).Elem() +} + +func (o IsShareReplicaOperationsOutput) ToIsShareReplicaOperationsOutput() IsShareReplicaOperationsOutput { + return o +} + +func (o IsShareReplicaOperationsOutput) ToIsShareReplicaOperationsOutputWithContext(ctx context.Context) IsShareReplicaOperationsOutput { + return o +} + +// The action to take if the failover request is accepted but cannot be performed or times out +func (o IsShareReplicaOperationsOutput) FallbackPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaOperations) pulumi.StringPtrOutput { return v.FallbackPolicy }).(pulumi.StringPtrOutput) +} + +// The file share identifier. +func (o IsShareReplicaOperationsOutput) ShareReplica() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareReplicaOperations) pulumi.StringOutput { return v.ShareReplica }).(pulumi.StringOutput) +} + +// If set to true the replication relationship between source share and replica will be removed. +func (o IsShareReplicaOperationsOutput) SplitShare() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsShareReplicaOperations) pulumi.BoolPtrOutput { return v.SplitShare }).(pulumi.BoolPtrOutput) +} + +// The failover timeout in seconds +func (o IsShareReplicaOperationsOutput) Timeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsShareReplicaOperations) pulumi.IntPtrOutput { return v.Timeout }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaOperationsInput)(nil)).Elem(), &IsShareReplicaOperations{}) + pulumi.RegisterOutputType(IsShareReplicaOperationsOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareSnapshot.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareSnapshot.go new file mode 100644 index 000000000..553534a96 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isShareSnapshot.go @@ -0,0 +1,323 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsShareSnapshot struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // If present, the backup policy plan which created this share snapshot. + BackupPolicyPlans IsShareSnapshotBackupPolicyPlanArrayOutput `pulumi:"backupPolicyPlans"` + // The date and time the data capture for this share snapshot was completed.If absent, this snapshot's data has not yet been captured. + CapturedAt pulumi.StringOutput `pulumi:"capturedAt"` + // The date and time that the share snapshot was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this share snapshot. + Crn pulumi.StringOutput `pulumi:"crn"` + // The fingerprint for this snapshot. + Fingerprint pulumi.StringOutput `pulumi:"fingerprint"` + // The URL for this share snapshot. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of this share snapshot. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The minimum size of a share created from this snapshot. When a snapshot is created, this will be set to the size of the `sourceShare`. + MinimumSize pulumi.IntOutput `pulumi:"minimumSize"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name pulumi.StringOutput `pulumi:"name"` + // The resource group for this file share. + ResourceGroups IsShareSnapshotResourceGroupArrayOutput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The file share identifier. + Share pulumi.StringOutput `pulumi:"share"` + // The unique identifier for this share snapshot. + ShareSnapshot pulumi.StringOutput `pulumi:"shareSnapshot"` + // The status of the share snapshot:- `available`: The share snapshot is available for use.- `failed`: The share snapshot is irrecoverably unusable.- `pending`: The share snapshot is being provisioned and is not yet usable.- `unusable`: The share snapshot is not currently usable (see `statusReasons`)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status pulumi.StringOutput `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons IsShareSnapshotStatusReasonArrayOutput `pulumi:"statusReasons"` + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The zone this share snapshot resides in. + Zones IsShareSnapshotZoneArrayOutput `pulumi:"zones"` +} + +// NewIsShareSnapshot registers a new resource with the given unique name, arguments, and options. +func NewIsShareSnapshot(ctx *pulumi.Context, + name string, args *IsShareSnapshotArgs, opts ...pulumi.ResourceOption) (*IsShareSnapshot, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Share == nil { + return nil, errors.New("invalid value for required argument 'Share'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsShareSnapshot + err := ctx.RegisterResource("ibmcloud:index/isShareSnapshot:IsShareSnapshot", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsShareSnapshot gets an existing IsShareSnapshot resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsShareSnapshot(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsShareSnapshotState, opts ...pulumi.ResourceOption) (*IsShareSnapshot, error) { + var resource IsShareSnapshot + err := ctx.ReadResource("ibmcloud:index/isShareSnapshot:IsShareSnapshot", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsShareSnapshot resources. +type isShareSnapshotState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // If present, the backup policy plan which created this share snapshot. + BackupPolicyPlans []IsShareSnapshotBackupPolicyPlan `pulumi:"backupPolicyPlans"` + // The date and time the data capture for this share snapshot was completed.If absent, this snapshot's data has not yet been captured. + CapturedAt *string `pulumi:"capturedAt"` + // The date and time that the share snapshot was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this share snapshot. + Crn *string `pulumi:"crn"` + // The fingerprint for this snapshot. + Fingerprint *string `pulumi:"fingerprint"` + // The URL for this share snapshot. + Href *string `pulumi:"href"` + // The lifecycle state of this share snapshot. + LifecycleState *string `pulumi:"lifecycleState"` + // The minimum size of a share created from this snapshot. When a snapshot is created, this will be set to the size of the `sourceShare`. + MinimumSize *int `pulumi:"minimumSize"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name *string `pulumi:"name"` + // The resource group for this file share. + ResourceGroups []IsShareSnapshotResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The file share identifier. + Share *string `pulumi:"share"` + // The unique identifier for this share snapshot. + ShareSnapshot *string `pulumi:"shareSnapshot"` + // The status of the share snapshot:- `available`: The share snapshot is available for use.- `failed`: The share snapshot is irrecoverably unusable.- `pending`: The share snapshot is being provisioned and is not yet usable.- `unusable`: The share snapshot is not currently usable (see `statusReasons`)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status *string `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons []IsShareSnapshotStatusReason `pulumi:"statusReasons"` + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + Tags []string `pulumi:"tags"` + // The zone this share snapshot resides in. + Zones []IsShareSnapshotZone `pulumi:"zones"` +} + +type IsShareSnapshotState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // If present, the backup policy plan which created this share snapshot. + BackupPolicyPlans IsShareSnapshotBackupPolicyPlanArrayInput + // The date and time the data capture for this share snapshot was completed.If absent, this snapshot's data has not yet been captured. + CapturedAt pulumi.StringPtrInput + // The date and time that the share snapshot was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this share snapshot. + Crn pulumi.StringPtrInput + // The fingerprint for this snapshot. + Fingerprint pulumi.StringPtrInput + // The URL for this share snapshot. + Href pulumi.StringPtrInput + // The lifecycle state of this share snapshot. + LifecycleState pulumi.StringPtrInput + // The minimum size of a share created from this snapshot. When a snapshot is created, this will be set to the size of the `sourceShare`. + MinimumSize pulumi.IntPtrInput + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name pulumi.StringPtrInput + // The resource group for this file share. + ResourceGroups IsShareSnapshotResourceGroupArrayInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The file share identifier. + Share pulumi.StringPtrInput + // The unique identifier for this share snapshot. + ShareSnapshot pulumi.StringPtrInput + // The status of the share snapshot:- `available`: The share snapshot is available for use.- `failed`: The share snapshot is irrecoverably unusable.- `pending`: The share snapshot is being provisioned and is not yet usable.- `unusable`: The share snapshot is not currently usable (see `statusReasons`)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status pulumi.StringPtrInput + // The reasons for the current status (if any). + StatusReasons IsShareSnapshotStatusReasonArrayInput + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + Tags pulumi.StringArrayInput + // The zone this share snapshot resides in. + Zones IsShareSnapshotZoneArrayInput +} + +func (IsShareSnapshotState) ElementType() reflect.Type { + return reflect.TypeOf((*isShareSnapshotState)(nil)).Elem() +} + +type isShareSnapshotArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name *string `pulumi:"name"` + // The file share identifier. + Share string `pulumi:"share"` + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsShareSnapshot resource. +type IsShareSnapshotArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name pulumi.StringPtrInput + // The file share identifier. + Share pulumi.StringInput + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + Tags pulumi.StringArrayInput +} + +func (IsShareSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isShareSnapshotArgs)(nil)).Elem() +} + +type IsShareSnapshotInput interface { + pulumi.Input + + ToIsShareSnapshotOutput() IsShareSnapshotOutput + ToIsShareSnapshotOutputWithContext(ctx context.Context) IsShareSnapshotOutput +} + +func (*IsShareSnapshot) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareSnapshot)(nil)).Elem() +} + +func (i *IsShareSnapshot) ToIsShareSnapshotOutput() IsShareSnapshotOutput { + return i.ToIsShareSnapshotOutputWithContext(context.Background()) +} + +func (i *IsShareSnapshot) ToIsShareSnapshotOutputWithContext(ctx context.Context) IsShareSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotOutput) +} + +type IsShareSnapshotOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareSnapshot)(nil)).Elem() +} + +func (o IsShareSnapshotOutput) ToIsShareSnapshotOutput() IsShareSnapshotOutput { + return o +} + +func (o IsShareSnapshotOutput) ToIsShareSnapshotOutputWithContext(ctx context.Context) IsShareSnapshotOutput { + return o +} + +// List of access management tags +func (o IsShareSnapshotOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// If present, the backup policy plan which created this share snapshot. +func (o IsShareSnapshotOutput) BackupPolicyPlans() IsShareSnapshotBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v *IsShareSnapshot) IsShareSnapshotBackupPolicyPlanArrayOutput { return v.BackupPolicyPlans }).(IsShareSnapshotBackupPolicyPlanArrayOutput) +} + +// The date and time the data capture for this share snapshot was completed.If absent, this snapshot's data has not yet been captured. +func (o IsShareSnapshotOutput) CapturedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.CapturedAt }).(pulumi.StringOutput) +} + +// The date and time that the share snapshot was created. +func (o IsShareSnapshotOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this share snapshot. +func (o IsShareSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The fingerprint for this snapshot. +func (o IsShareSnapshotOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.Fingerprint }).(pulumi.StringOutput) +} + +// The URL for this share snapshot. +func (o IsShareSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of this share snapshot. +func (o IsShareSnapshotOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The minimum size of a share created from this snapshot. When a snapshot is created, this will be set to the size of the `sourceShare`. +func (o IsShareSnapshotOutput) MinimumSize() pulumi.IntOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.IntOutput { return v.MinimumSize }).(pulumi.IntOutput) +} + +// The name for this share snapshot. The name is unique across all snapshots for the file share. +func (o IsShareSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this file share. +func (o IsShareSnapshotOutput) ResourceGroups() IsShareSnapshotResourceGroupArrayOutput { + return o.ApplyT(func(v *IsShareSnapshot) IsShareSnapshotResourceGroupArrayOutput { return v.ResourceGroups }).(IsShareSnapshotResourceGroupArrayOutput) +} + +// The resource type. +func (o IsShareSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The file share identifier. +func (o IsShareSnapshotOutput) Share() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.Share }).(pulumi.StringOutput) +} + +// The unique identifier for this share snapshot. +func (o IsShareSnapshotOutput) ShareSnapshot() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.ShareSnapshot }).(pulumi.StringOutput) +} + +// The status of the share snapshot:- `available`: The share snapshot is available for use.- `failed`: The share snapshot is irrecoverably unusable.- `pending`: The share snapshot is being provisioned and is not yet usable.- `unusable`: The share snapshot is not currently usable (see `statusReasons`)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsShareSnapshotOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any). +func (o IsShareSnapshotOutput) StatusReasons() IsShareSnapshotStatusReasonArrayOutput { + return o.ApplyT(func(v *IsShareSnapshot) IsShareSnapshotStatusReasonArrayOutput { return v.StatusReasons }).(IsShareSnapshotStatusReasonArrayOutput) +} + +// The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. +func (o IsShareSnapshotOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShareSnapshot) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The zone this share snapshot resides in. +func (o IsShareSnapshotOutput) Zones() IsShareSnapshotZoneArrayOutput { + return o.ApplyT(func(v *IsShareSnapshot) IsShareSnapshotZoneArrayOutput { return v.Zones }).(IsShareSnapshotZoneArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotInput)(nil)).Elem(), &IsShareSnapshot{}) + pulumi.RegisterOutputType(IsShareSnapshotOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSnapshot.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSnapshot.go new file mode 100644 index 000000000..fe32a5eac --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSnapshot.go @@ -0,0 +1,416 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSnapshot struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. + AllowedUse IsSnapshotAllowedUseOutput `pulumi:"allowedUse"` + // If present, the backup policy plan which created this snapshot. + BackupPolicyPlans IsSnapshotBackupPolicyPlanArrayOutput `pulumi:"backupPolicyPlans"` + // Indicates if a boot volume attachment can be created with a volume created from this snapshot + Bootable pulumi.BoolOutput `pulumi:"bootable"` + // The catalog offering inherited from the snapshot's source. If a virtual server instance is provisioned with a sourceSnapshot specifying this snapshot, the virtual server instance will use this snapshot's catalog offering, including its pricing plan. + CatalogOfferings IsSnapshotCatalogOfferingArrayOutput `pulumi:"catalogOfferings"` + // Zones for creating the snapshot clone + Clones pulumi.StringArrayOutput `pulumi:"clones"` + // The copies of this snapshot in other regions. + Copies IsSnapshotCopyArrayOutput `pulumi:"copies"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // Encryption type of the snapshot + Encryption pulumi.StringOutput `pulumi:"encryption"` + // A reference to the root key used to wrap the data encryption key for the source volume. + EncryptionKey pulumi.StringOutput `pulumi:"encryptionKey"` + // URL for the snapshot + Href pulumi.StringOutput `pulumi:"href"` + // Snapshot lifecycle state + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // Minimum capacity of the snapshot + MinimumCapacity pulumi.IntOutput `pulumi:"minimumCapacity"` + // Snapshot name + Name pulumi.StringOutput `pulumi:"name"` + // The globally unique name for the operating system included in this image + OperatingSystem pulumi.StringOutput `pulumi:"operatingSystem"` + // Resource group info + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource type of the snapshot + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) prefixed with `is.snapshot:` associated with this snapshot. + ServiceTags pulumi.StringArrayOutput `pulumi:"serviceTags"` + // The size of the snapshot + Size pulumi.IntOutput `pulumi:"size"` + // The snapshot consistency group which created this snapshot. + SnapshotConsistencyGroups IsSnapshotSnapshotConsistencyGroupArrayOutput `pulumi:"snapshotConsistencyGroups"` + // If present, the image id from which the data on this volume was most directly provisioned. + SourceImage pulumi.StringOutput `pulumi:"sourceImage"` + // Source Snapshot CRN + SourceSnapshotCrn pulumi.StringPtrOutput `pulumi:"sourceSnapshotCrn"` + // If present, the source snapshot this snapshot was created from. + SourceSnapshots IsSnapshotSourceSnapshotArrayOutput `pulumi:"sourceSnapshots"` + // Snapshot source volume + SourceVolume pulumi.StringOutput `pulumi:"sourceVolume"` + // User Tags for the snapshot + Tags pulumi.StringArrayOutput `pulumi:"tags"` +} + +// NewIsSnapshot registers a new resource with the given unique name, arguments, and options. +func NewIsSnapshot(ctx *pulumi.Context, + name string, args *IsSnapshotArgs, opts ...pulumi.ResourceOption) (*IsSnapshot, error) { + if args == nil { + args = &IsSnapshotArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSnapshot + err := ctx.RegisterResource("ibmcloud:index/isSnapshot:IsSnapshot", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSnapshot gets an existing IsSnapshot resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSnapshot(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSnapshotState, opts ...pulumi.ResourceOption) (*IsSnapshot, error) { + var resource IsSnapshot + err := ctx.ReadResource("ibmcloud:index/isSnapshot:IsSnapshot", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSnapshot resources. +type isSnapshotState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. + AllowedUse *IsSnapshotAllowedUse `pulumi:"allowedUse"` + // If present, the backup policy plan which created this snapshot. + BackupPolicyPlans []IsSnapshotBackupPolicyPlan `pulumi:"backupPolicyPlans"` + // Indicates if a boot volume attachment can be created with a volume created from this snapshot + Bootable *bool `pulumi:"bootable"` + // The catalog offering inherited from the snapshot's source. If a virtual server instance is provisioned with a sourceSnapshot specifying this snapshot, the virtual server instance will use this snapshot's catalog offering, including its pricing plan. + CatalogOfferings []IsSnapshotCatalogOffering `pulumi:"catalogOfferings"` + // Zones for creating the snapshot clone + Clones []string `pulumi:"clones"` + // The copies of this snapshot in other regions. + Copies []IsSnapshotCopy `pulumi:"copies"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // Encryption type of the snapshot + Encryption *string `pulumi:"encryption"` + // A reference to the root key used to wrap the data encryption key for the source volume. + EncryptionKey *string `pulumi:"encryptionKey"` + // URL for the snapshot + Href *string `pulumi:"href"` + // Snapshot lifecycle state + LifecycleState *string `pulumi:"lifecycleState"` + // Minimum capacity of the snapshot + MinimumCapacity *int `pulumi:"minimumCapacity"` + // Snapshot name + Name *string `pulumi:"name"` + // The globally unique name for the operating system included in this image + OperatingSystem *string `pulumi:"operatingSystem"` + // Resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type of the snapshot + ResourceType *string `pulumi:"resourceType"` + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) prefixed with `is.snapshot:` associated with this snapshot. + ServiceTags []string `pulumi:"serviceTags"` + // The size of the snapshot + Size *int `pulumi:"size"` + // The snapshot consistency group which created this snapshot. + SnapshotConsistencyGroups []IsSnapshotSnapshotConsistencyGroup `pulumi:"snapshotConsistencyGroups"` + // If present, the image id from which the data on this volume was most directly provisioned. + SourceImage *string `pulumi:"sourceImage"` + // Source Snapshot CRN + SourceSnapshotCrn *string `pulumi:"sourceSnapshotCrn"` + // If present, the source snapshot this snapshot was created from. + SourceSnapshots []IsSnapshotSourceSnapshot `pulumi:"sourceSnapshots"` + // Snapshot source volume + SourceVolume *string `pulumi:"sourceVolume"` + // User Tags for the snapshot + Tags []string `pulumi:"tags"` +} + +type IsSnapshotState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. + AllowedUse IsSnapshotAllowedUsePtrInput + // If present, the backup policy plan which created this snapshot. + BackupPolicyPlans IsSnapshotBackupPolicyPlanArrayInput + // Indicates if a boot volume attachment can be created with a volume created from this snapshot + Bootable pulumi.BoolPtrInput + // The catalog offering inherited from the snapshot's source. If a virtual server instance is provisioned with a sourceSnapshot specifying this snapshot, the virtual server instance will use this snapshot's catalog offering, including its pricing plan. + CatalogOfferings IsSnapshotCatalogOfferingArrayInput + // Zones for creating the snapshot clone + Clones pulumi.StringArrayInput + // The copies of this snapshot in other regions. + Copies IsSnapshotCopyArrayInput + // The crn of the resource + Crn pulumi.StringPtrInput + // Encryption type of the snapshot + Encryption pulumi.StringPtrInput + // A reference to the root key used to wrap the data encryption key for the source volume. + EncryptionKey pulumi.StringPtrInput + // URL for the snapshot + Href pulumi.StringPtrInput + // Snapshot lifecycle state + LifecycleState pulumi.StringPtrInput + // Minimum capacity of the snapshot + MinimumCapacity pulumi.IntPtrInput + // Snapshot name + Name pulumi.StringPtrInput + // The globally unique name for the operating system included in this image + OperatingSystem pulumi.StringPtrInput + // Resource group info + ResourceGroup pulumi.StringPtrInput + // The resource type of the snapshot + ResourceType pulumi.StringPtrInput + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) prefixed with `is.snapshot:` associated with this snapshot. + ServiceTags pulumi.StringArrayInput + // The size of the snapshot + Size pulumi.IntPtrInput + // The snapshot consistency group which created this snapshot. + SnapshotConsistencyGroups IsSnapshotSnapshotConsistencyGroupArrayInput + // If present, the image id from which the data on this volume was most directly provisioned. + SourceImage pulumi.StringPtrInput + // Source Snapshot CRN + SourceSnapshotCrn pulumi.StringPtrInput + // If present, the source snapshot this snapshot was created from. + SourceSnapshots IsSnapshotSourceSnapshotArrayInput + // Snapshot source volume + SourceVolume pulumi.StringPtrInput + // User Tags for the snapshot + Tags pulumi.StringArrayInput +} + +func (IsSnapshotState) ElementType() reflect.Type { + return reflect.TypeOf((*isSnapshotState)(nil)).Elem() +} + +type isSnapshotArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. + AllowedUse *IsSnapshotAllowedUse `pulumi:"allowedUse"` + // Zones for creating the snapshot clone + Clones []string `pulumi:"clones"` + // A reference to the root key used to wrap the data encryption key for the source volume. + EncryptionKey *string `pulumi:"encryptionKey"` + // Snapshot name + Name *string `pulumi:"name"` + // Resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // Source Snapshot CRN + SourceSnapshotCrn *string `pulumi:"sourceSnapshotCrn"` + // Snapshot source volume + SourceVolume *string `pulumi:"sourceVolume"` + // User Tags for the snapshot + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsSnapshot resource. +type IsSnapshotArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. + AllowedUse IsSnapshotAllowedUsePtrInput + // Zones for creating the snapshot clone + Clones pulumi.StringArrayInput + // A reference to the root key used to wrap the data encryption key for the source volume. + EncryptionKey pulumi.StringPtrInput + // Snapshot name + Name pulumi.StringPtrInput + // Resource group info + ResourceGroup pulumi.StringPtrInput + // Source Snapshot CRN + SourceSnapshotCrn pulumi.StringPtrInput + // Snapshot source volume + SourceVolume pulumi.StringPtrInput + // User Tags for the snapshot + Tags pulumi.StringArrayInput +} + +func (IsSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSnapshotArgs)(nil)).Elem() +} + +type IsSnapshotInput interface { + pulumi.Input + + ToIsSnapshotOutput() IsSnapshotOutput + ToIsSnapshotOutputWithContext(ctx context.Context) IsSnapshotOutput +} + +func (*IsSnapshot) ElementType() reflect.Type { + return reflect.TypeOf((**IsSnapshot)(nil)).Elem() +} + +func (i *IsSnapshot) ToIsSnapshotOutput() IsSnapshotOutput { + return i.ToIsSnapshotOutputWithContext(context.Background()) +} + +func (i *IsSnapshot) ToIsSnapshotOutputWithContext(ctx context.Context) IsSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotOutput) +} + +type IsSnapshotOutput struct{ *pulumi.OutputState } + +func (IsSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSnapshot)(nil)).Elem() +} + +func (o IsSnapshotOutput) ToIsSnapshotOutput() IsSnapshotOutput { + return o +} + +func (o IsSnapshotOutput) ToIsSnapshotOutputWithContext(ctx context.Context) IsSnapshotOutput { + return o +} + +// List of access management tags +func (o IsSnapshotOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. +func (o IsSnapshotOutput) AllowedUse() IsSnapshotAllowedUseOutput { + return o.ApplyT(func(v *IsSnapshot) IsSnapshotAllowedUseOutput { return v.AllowedUse }).(IsSnapshotAllowedUseOutput) +} + +// If present, the backup policy plan which created this snapshot. +func (o IsSnapshotOutput) BackupPolicyPlans() IsSnapshotBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v *IsSnapshot) IsSnapshotBackupPolicyPlanArrayOutput { return v.BackupPolicyPlans }).(IsSnapshotBackupPolicyPlanArrayOutput) +} + +// Indicates if a boot volume attachment can be created with a volume created from this snapshot +func (o IsSnapshotOutput) Bootable() pulumi.BoolOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.BoolOutput { return v.Bootable }).(pulumi.BoolOutput) +} + +// The catalog offering inherited from the snapshot's source. If a virtual server instance is provisioned with a sourceSnapshot specifying this snapshot, the virtual server instance will use this snapshot's catalog offering, including its pricing plan. +func (o IsSnapshotOutput) CatalogOfferings() IsSnapshotCatalogOfferingArrayOutput { + return o.ApplyT(func(v *IsSnapshot) IsSnapshotCatalogOfferingArrayOutput { return v.CatalogOfferings }).(IsSnapshotCatalogOfferingArrayOutput) +} + +// Zones for creating the snapshot clone +func (o IsSnapshotOutput) Clones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringArrayOutput { return v.Clones }).(pulumi.StringArrayOutput) +} + +// The copies of this snapshot in other regions. +func (o IsSnapshotOutput) Copies() IsSnapshotCopyArrayOutput { + return o.ApplyT(func(v *IsSnapshot) IsSnapshotCopyArrayOutput { return v.Copies }).(IsSnapshotCopyArrayOutput) +} + +// The crn of the resource +func (o IsSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Encryption type of the snapshot +func (o IsSnapshotOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.Encryption }).(pulumi.StringOutput) +} + +// A reference to the root key used to wrap the data encryption key for the source volume. +func (o IsSnapshotOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// URL for the snapshot +func (o IsSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Snapshot lifecycle state +func (o IsSnapshotOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Minimum capacity of the snapshot +func (o IsSnapshotOutput) MinimumCapacity() pulumi.IntOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.IntOutput { return v.MinimumCapacity }).(pulumi.IntOutput) +} + +// Snapshot name +func (o IsSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The globally unique name for the operating system included in this image +func (o IsSnapshotOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.OperatingSystem }).(pulumi.StringOutput) +} + +// Resource group info +func (o IsSnapshotOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type of the snapshot +func (o IsSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) prefixed with `is.snapshot:` associated with this snapshot. +func (o IsSnapshotOutput) ServiceTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringArrayOutput { return v.ServiceTags }).(pulumi.StringArrayOutput) +} + +// The size of the snapshot +func (o IsSnapshotOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.IntOutput { return v.Size }).(pulumi.IntOutput) +} + +// The snapshot consistency group which created this snapshot. +func (o IsSnapshotOutput) SnapshotConsistencyGroups() IsSnapshotSnapshotConsistencyGroupArrayOutput { + return o.ApplyT(func(v *IsSnapshot) IsSnapshotSnapshotConsistencyGroupArrayOutput { return v.SnapshotConsistencyGroups }).(IsSnapshotSnapshotConsistencyGroupArrayOutput) +} + +// If present, the image id from which the data on this volume was most directly provisioned. +func (o IsSnapshotOutput) SourceImage() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.SourceImage }).(pulumi.StringOutput) +} + +// Source Snapshot CRN +func (o IsSnapshotOutput) SourceSnapshotCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringPtrOutput { return v.SourceSnapshotCrn }).(pulumi.StringPtrOutput) +} + +// If present, the source snapshot this snapshot was created from. +func (o IsSnapshotOutput) SourceSnapshots() IsSnapshotSourceSnapshotArrayOutput { + return o.ApplyT(func(v *IsSnapshot) IsSnapshotSourceSnapshotArrayOutput { return v.SourceSnapshots }).(IsSnapshotSourceSnapshotArrayOutput) +} + +// Snapshot source volume +func (o IsSnapshotOutput) SourceVolume() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringOutput { return v.SourceVolume }).(pulumi.StringOutput) +} + +// User Tags for the snapshot +func (o IsSnapshotOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSnapshot) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotInput)(nil)).Elem(), &IsSnapshot{}) + pulumi.RegisterOutputType(IsSnapshotOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSnapshotConsistencyGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSnapshotConsistencyGroup.go new file mode 100644 index 000000000..5ea79e613 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSnapshotConsistencyGroup.go @@ -0,0 +1,291 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSnapshotConsistencyGroup struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // If present, the backup policy plan which created this snapshot consistency group. + BackupPolicyPlans IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput `pulumi:"backupPolicyPlans"` + // The date and time that this snapshot consistency group was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN of this snapshot consistency group. + Crn pulumi.StringOutput `pulumi:"crn"` + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete pulumi.BoolPtrOutput `pulumi:"deleteSnapshotsOnDelete"` + // The URL for this snapshot consistency group. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of this snapshot consistency group. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name pulumi.StringOutput `pulumi:"name"` + // Resource group Id + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)[`is.instance:` prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs) associated with this snapshot consistency group. + ServiceTags pulumi.StringArrayOutput `pulumi:"serviceTags"` + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SnapshotReferences IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput `pulumi:"snapshotReferences"` + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Snapshots IsSnapshotConsistencyGroupSnapshotArrayOutput `pulumi:"snapshots"` + // Snapshot Consistency Group tags list + Tags pulumi.StringArrayOutput `pulumi:"tags"` +} + +// NewIsSnapshotConsistencyGroup registers a new resource with the given unique name, arguments, and options. +func NewIsSnapshotConsistencyGroup(ctx *pulumi.Context, + name string, args *IsSnapshotConsistencyGroupArgs, opts ...pulumi.ResourceOption) (*IsSnapshotConsistencyGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Snapshots == nil { + return nil, errors.New("invalid value for required argument 'Snapshots'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSnapshotConsistencyGroup + err := ctx.RegisterResource("ibmcloud:index/isSnapshotConsistencyGroup:IsSnapshotConsistencyGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSnapshotConsistencyGroup gets an existing IsSnapshotConsistencyGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSnapshotConsistencyGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSnapshotConsistencyGroupState, opts ...pulumi.ResourceOption) (*IsSnapshotConsistencyGroup, error) { + var resource IsSnapshotConsistencyGroup + err := ctx.ReadResource("ibmcloud:index/isSnapshotConsistencyGroup:IsSnapshotConsistencyGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSnapshotConsistencyGroup resources. +type isSnapshotConsistencyGroupState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // If present, the backup policy plan which created this snapshot consistency group. + BackupPolicyPlans []IsSnapshotConsistencyGroupBackupPolicyPlan `pulumi:"backupPolicyPlans"` + // The date and time that this snapshot consistency group was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN of this snapshot consistency group. + Crn *string `pulumi:"crn"` + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete *bool `pulumi:"deleteSnapshotsOnDelete"` + // The URL for this snapshot consistency group. + Href *string `pulumi:"href"` + // The lifecycle state of this snapshot consistency group. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name *string `pulumi:"name"` + // Resource group Id + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)[`is.instance:` prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs) associated with this snapshot consistency group. + ServiceTags []string `pulumi:"serviceTags"` + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SnapshotReferences []IsSnapshotConsistencyGroupSnapshotReference `pulumi:"snapshotReferences"` + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Snapshots []IsSnapshotConsistencyGroupSnapshot `pulumi:"snapshots"` + // Snapshot Consistency Group tags list + Tags []string `pulumi:"tags"` +} + +type IsSnapshotConsistencyGroupState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // If present, the backup policy plan which created this snapshot consistency group. + BackupPolicyPlans IsSnapshotConsistencyGroupBackupPolicyPlanArrayInput + // The date and time that this snapshot consistency group was created. + CreatedAt pulumi.StringPtrInput + // The CRN of this snapshot consistency group. + Crn pulumi.StringPtrInput + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete pulumi.BoolPtrInput + // The URL for this snapshot consistency group. + Href pulumi.StringPtrInput + // The lifecycle state of this snapshot consistency group. + LifecycleState pulumi.StringPtrInput + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name pulumi.StringPtrInput + // Resource group Id + ResourceGroup pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)[`is.instance:` prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs) associated with this snapshot consistency group. + ServiceTags pulumi.StringArrayInput + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SnapshotReferences IsSnapshotConsistencyGroupSnapshotReferenceArrayInput + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Snapshots IsSnapshotConsistencyGroupSnapshotArrayInput + // Snapshot Consistency Group tags list + Tags pulumi.StringArrayInput +} + +func (IsSnapshotConsistencyGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*isSnapshotConsistencyGroupState)(nil)).Elem() +} + +type isSnapshotConsistencyGroupArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete *bool `pulumi:"deleteSnapshotsOnDelete"` + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name *string `pulumi:"name"` + // Resource group Id + ResourceGroup *string `pulumi:"resourceGroup"` + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Snapshots []IsSnapshotConsistencyGroupSnapshot `pulumi:"snapshots"` + // Snapshot Consistency Group tags list + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsSnapshotConsistencyGroup resource. +type IsSnapshotConsistencyGroupArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete pulumi.BoolPtrInput + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name pulumi.StringPtrInput + // Resource group Id + ResourceGroup pulumi.StringPtrInput + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Snapshots IsSnapshotConsistencyGroupSnapshotArrayInput + // Snapshot Consistency Group tags list + Tags pulumi.StringArrayInput +} + +func (IsSnapshotConsistencyGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSnapshotConsistencyGroupArgs)(nil)).Elem() +} + +type IsSnapshotConsistencyGroupInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupOutput() IsSnapshotConsistencyGroupOutput + ToIsSnapshotConsistencyGroupOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupOutput +} + +func (*IsSnapshotConsistencyGroup) ElementType() reflect.Type { + return reflect.TypeOf((**IsSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i *IsSnapshotConsistencyGroup) ToIsSnapshotConsistencyGroupOutput() IsSnapshotConsistencyGroupOutput { + return i.ToIsSnapshotConsistencyGroupOutputWithContext(context.Background()) +} + +func (i *IsSnapshotConsistencyGroup) ToIsSnapshotConsistencyGroupOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupOutput) +} + +type IsSnapshotConsistencyGroupOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupOutput) ToIsSnapshotConsistencyGroupOutput() IsSnapshotConsistencyGroupOutput { + return o +} + +func (o IsSnapshotConsistencyGroupOutput) ToIsSnapshotConsistencyGroupOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupOutput { + return o +} + +// List of access management tags +func (o IsSnapshotConsistencyGroupOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// If present, the backup policy plan which created this snapshot consistency group. +func (o IsSnapshotConsistencyGroupOutput) BackupPolicyPlans() IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return v.BackupPolicyPlans + }).(IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) +} + +// The date and time that this snapshot consistency group was created. +func (o IsSnapshotConsistencyGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN of this snapshot consistency group. +func (o IsSnapshotConsistencyGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. +func (o IsSnapshotConsistencyGroupOutput) DeleteSnapshotsOnDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.BoolPtrOutput { return v.DeleteSnapshotsOnDelete }).(pulumi.BoolPtrOutput) +} + +// The URL for this snapshot consistency group. +func (o IsSnapshotConsistencyGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of this snapshot consistency group. +func (o IsSnapshotConsistencyGroupOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. +func (o IsSnapshotConsistencyGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Resource group Id +func (o IsSnapshotConsistencyGroupOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsSnapshotConsistencyGroupOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)[`is.instance:` prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs) associated with this snapshot consistency group. +func (o IsSnapshotConsistencyGroupOutput) ServiceTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringArrayOutput { return v.ServiceTags }).(pulumi.StringArrayOutput) +} + +// The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +func (o IsSnapshotConsistencyGroupOutput) SnapshotReferences() IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput { + return v.SnapshotReferences + }).(IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput) +} + +// The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +func (o IsSnapshotConsistencyGroupOutput) Snapshots() IsSnapshotConsistencyGroupSnapshotArrayOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) IsSnapshotConsistencyGroupSnapshotArrayOutput { return v.Snapshots }).(IsSnapshotConsistencyGroupSnapshotArrayOutput) +} + +// Snapshot Consistency Group tags list +func (o IsSnapshotConsistencyGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSnapshotConsistencyGroup) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupInput)(nil)).Elem(), &IsSnapshotConsistencyGroup{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSshKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSshKey.go new file mode 100644 index 000000000..84bde0ed6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSshKey.go @@ -0,0 +1,298 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSshKey struct { + pulumi.CustomResourceState + + // List of access management tags for SSH key + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The date and time that the key was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // SSH key Fingerprint info + Fingerprint pulumi.StringOutput `pulumi:"fingerprint"` + // The URL for this key. + Href pulumi.StringOutput `pulumi:"href"` + // SSH key Length + Length pulumi.IntOutput `pulumi:"length"` + // SSH Key name + Name pulumi.StringOutput `pulumi:"name"` + // SSH Public key data + PublicKey pulumi.StringOutput `pulumi:"publicKey"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Resource group ID + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // List of tags for SSH key + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Key type + Type pulumi.StringOutput `pulumi:"type"` +} + +// NewIsSshKey registers a new resource with the given unique name, arguments, and options. +func NewIsSshKey(ctx *pulumi.Context, + name string, args *IsSshKeyArgs, opts ...pulumi.ResourceOption) (*IsSshKey, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PublicKey == nil { + return nil, errors.New("invalid value for required argument 'PublicKey'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSshKey + err := ctx.RegisterResource("ibmcloud:index/isSshKey:IsSshKey", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSshKey gets an existing IsSshKey resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSshKey(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSshKeyState, opts ...pulumi.ResourceOption) (*IsSshKey, error) { + var resource IsSshKey + err := ctx.ReadResource("ibmcloud:index/isSshKey:IsSshKey", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSshKey resources. +type isSshKeyState struct { + // List of access management tags for SSH key + AccessTags []string `pulumi:"accessTags"` + // The date and time that the key was created. + CreatedAt *string `pulumi:"createdAt"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // SSH key Fingerprint info + Fingerprint *string `pulumi:"fingerprint"` + // The URL for this key. + Href *string `pulumi:"href"` + // SSH key Length + Length *int `pulumi:"length"` + // SSH Key name + Name *string `pulumi:"name"` + // SSH Public key data + PublicKey *string `pulumi:"publicKey"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Resource group ID + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // List of tags for SSH key + Tags []string `pulumi:"tags"` + // Key type + Type *string `pulumi:"type"` +} + +type IsSshKeyState struct { + // List of access management tags for SSH key + AccessTags pulumi.StringArrayInput + // The date and time that the key was created. + CreatedAt pulumi.StringPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + // SSH key Fingerprint info + Fingerprint pulumi.StringPtrInput + // The URL for this key. + Href pulumi.StringPtrInput + // SSH key Length + Length pulumi.IntPtrInput + // SSH Key name + Name pulumi.StringPtrInput + // SSH Public key data + PublicKey pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Resource group ID + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // List of tags for SSH key + Tags pulumi.StringArrayInput + // Key type + Type pulumi.StringPtrInput +} + +func (IsSshKeyState) ElementType() reflect.Type { + return reflect.TypeOf((*isSshKeyState)(nil)).Elem() +} + +type isSshKeyArgs struct { + // List of access management tags for SSH key + AccessTags []string `pulumi:"accessTags"` + // SSH Key name + Name *string `pulumi:"name"` + // SSH Public key data + PublicKey string `pulumi:"publicKey"` + // Resource group ID + ResourceGroup *string `pulumi:"resourceGroup"` + // List of tags for SSH key + Tags []string `pulumi:"tags"` + // Key type + Type *string `pulumi:"type"` +} + +// The set of arguments for constructing a IsSshKey resource. +type IsSshKeyArgs struct { + // List of access management tags for SSH key + AccessTags pulumi.StringArrayInput + // SSH Key name + Name pulumi.StringPtrInput + // SSH Public key data + PublicKey pulumi.StringInput + // Resource group ID + ResourceGroup pulumi.StringPtrInput + // List of tags for SSH key + Tags pulumi.StringArrayInput + // Key type + Type pulumi.StringPtrInput +} + +func (IsSshKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSshKeyArgs)(nil)).Elem() +} + +type IsSshKeyInput interface { + pulumi.Input + + ToIsSshKeyOutput() IsSshKeyOutput + ToIsSshKeyOutputWithContext(ctx context.Context) IsSshKeyOutput +} + +func (*IsSshKey) ElementType() reflect.Type { + return reflect.TypeOf((**IsSshKey)(nil)).Elem() +} + +func (i *IsSshKey) ToIsSshKeyOutput() IsSshKeyOutput { + return i.ToIsSshKeyOutputWithContext(context.Background()) +} + +func (i *IsSshKey) ToIsSshKeyOutputWithContext(ctx context.Context) IsSshKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSshKeyOutput) +} + +type IsSshKeyOutput struct{ *pulumi.OutputState } + +func (IsSshKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSshKey)(nil)).Elem() +} + +func (o IsSshKeyOutput) ToIsSshKeyOutput() IsSshKeyOutput { + return o +} + +func (o IsSshKeyOutput) ToIsSshKeyOutputWithContext(ctx context.Context) IsSshKeyOutput { + return o +} + +// List of access management tags for SSH key +func (o IsSshKeyOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The date and time that the key was created. +func (o IsSshKeyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsSshKeyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// SSH key Fingerprint info +func (o IsSshKeyOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.Fingerprint }).(pulumi.StringOutput) +} + +// The URL for this key. +func (o IsSshKeyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// SSH key Length +func (o IsSshKeyOutput) Length() pulumi.IntOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.IntOutput { return v.Length }).(pulumi.IntOutput) +} + +// SSH Key name +func (o IsSshKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// SSH Public key data +func (o IsSshKeyOutput) PublicKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.PublicKey }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsSshKeyOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsSshKeyOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Resource group ID +func (o IsSshKeyOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsSshKeyOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsSshKeyOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// List of tags for SSH key +func (o IsSshKeyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Key type +func (o IsSshKeyOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *IsSshKey) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSshKeyInput)(nil)).Elem(), &IsSshKey{}) + pulumi.RegisterOutputType(IsSshKeyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnet.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnet.go new file mode 100644 index 000000000..b2108f77b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnet.go @@ -0,0 +1,395 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSubnet struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The number of IPv4 addresses in this subnet that are not in-use, and have not been reserved by the user or the provider. + AvailableIpv4AddressCount pulumi.IntOutput `pulumi:"availableIpv4AddressCount"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // The IP version(s) to support for this subnet. + IpVersion pulumi.StringPtrOutput `pulumi:"ipVersion"` + // IPV4 subnet - CIDR block + Ipv4CidrBlock pulumi.StringOutput `pulumi:"ipv4CidrBlock"` + // Subnet name + Name pulumi.StringOutput `pulumi:"name"` + // The network ACL for this subnet + NetworkAcl pulumi.StringOutput `pulumi:"networkAcl"` + // Public Gateway of the subnet + PublicGateway pulumi.StringOutput `pulumi:"publicGateway"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // The resource group for this subnet + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // routing table id that is associated with the subnet + RoutingTable pulumi.StringOutput `pulumi:"routingTable"` + // routing table crn that is associated with the subnet. + RoutingTableCrn pulumi.StringOutput `pulumi:"routingTableCrn"` + // The status of the subnet + Status pulumi.StringOutput `pulumi:"status"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The total number of IPv4 addresses in this subnet. + TotalIpv4AddressCount pulumi.IntOutput `pulumi:"totalIpv4AddressCount"` + // VPC instance ID + Vpc pulumi.StringOutput `pulumi:"vpc"` + // Subnet zone info + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsSubnet registers a new resource with the given unique name, arguments, and options. +func NewIsSubnet(ctx *pulumi.Context, + name string, args *IsSubnetArgs, opts ...pulumi.ResourceOption) (*IsSubnet, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSubnet + err := ctx.RegisterResource("ibmcloud:index/isSubnet:IsSubnet", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSubnet gets an existing IsSubnet resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSubnet(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSubnetState, opts ...pulumi.ResourceOption) (*IsSubnet, error) { + var resource IsSubnet + err := ctx.ReadResource("ibmcloud:index/isSubnet:IsSubnet", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSubnet resources. +type isSubnetState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The number of IPv4 addresses in this subnet that are not in-use, and have not been reserved by the user or the provider. + AvailableIpv4AddressCount *int `pulumi:"availableIpv4AddressCount"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // The IP version(s) to support for this subnet. + IpVersion *string `pulumi:"ipVersion"` + // IPV4 subnet - CIDR block + Ipv4CidrBlock *string `pulumi:"ipv4CidrBlock"` + // Subnet name + Name *string `pulumi:"name"` + // The network ACL for this subnet + NetworkAcl *string `pulumi:"networkAcl"` + // Public Gateway of the subnet + PublicGateway *string `pulumi:"publicGateway"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // The resource group for this subnet + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // routing table id that is associated with the subnet + RoutingTable *string `pulumi:"routingTable"` + // routing table crn that is associated with the subnet. + RoutingTableCrn *string `pulumi:"routingTableCrn"` + // The status of the subnet + Status *string `pulumi:"status"` + // List of tags + Tags []string `pulumi:"tags"` + // The total number of IPv4 addresses in this subnet. + TotalIpv4AddressCount *int `pulumi:"totalIpv4AddressCount"` + // VPC instance ID + Vpc *string `pulumi:"vpc"` + // Subnet zone info + Zone *string `pulumi:"zone"` +} + +type IsSubnetState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The number of IPv4 addresses in this subnet that are not in-use, and have not been reserved by the user or the provider. + AvailableIpv4AddressCount pulumi.IntPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + // The IP version(s) to support for this subnet. + IpVersion pulumi.StringPtrInput + // IPV4 subnet - CIDR block + Ipv4CidrBlock pulumi.StringPtrInput + // Subnet name + Name pulumi.StringPtrInput + // The network ACL for this subnet + NetworkAcl pulumi.StringPtrInput + // Public Gateway of the subnet + PublicGateway pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // The resource group for this subnet + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // routing table id that is associated with the subnet + RoutingTable pulumi.StringPtrInput + // routing table crn that is associated with the subnet. + RoutingTableCrn pulumi.StringPtrInput + // The status of the subnet + Status pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput + // The total number of IPv4 addresses in this subnet. + TotalIpv4AddressCount pulumi.IntPtrInput + // VPC instance ID + Vpc pulumi.StringPtrInput + // Subnet zone info + Zone pulumi.StringPtrInput +} + +func (IsSubnetState) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetState)(nil)).Elem() +} + +type isSubnetArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The IP version(s) to support for this subnet. + IpVersion *string `pulumi:"ipVersion"` + // IPV4 subnet - CIDR block + Ipv4CidrBlock *string `pulumi:"ipv4CidrBlock"` + // Subnet name + Name *string `pulumi:"name"` + // The network ACL for this subnet + NetworkAcl *string `pulumi:"networkAcl"` + // Public Gateway of the subnet + PublicGateway *string `pulumi:"publicGateway"` + // The resource group for this subnet + ResourceGroup *string `pulumi:"resourceGroup"` + // routing table id that is associated with the subnet + RoutingTable *string `pulumi:"routingTable"` + // routing table crn that is associated with the subnet. + RoutingTableCrn *string `pulumi:"routingTableCrn"` + // List of tags + Tags []string `pulumi:"tags"` + // The total number of IPv4 addresses in this subnet. + TotalIpv4AddressCount *int `pulumi:"totalIpv4AddressCount"` + // VPC instance ID + Vpc string `pulumi:"vpc"` + // Subnet zone info + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsSubnet resource. +type IsSubnetArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The IP version(s) to support for this subnet. + IpVersion pulumi.StringPtrInput + // IPV4 subnet - CIDR block + Ipv4CidrBlock pulumi.StringPtrInput + // Subnet name + Name pulumi.StringPtrInput + // The network ACL for this subnet + NetworkAcl pulumi.StringPtrInput + // Public Gateway of the subnet + PublicGateway pulumi.StringPtrInput + // The resource group for this subnet + ResourceGroup pulumi.StringPtrInput + // routing table id that is associated with the subnet + RoutingTable pulumi.StringPtrInput + // routing table crn that is associated with the subnet. + RoutingTableCrn pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput + // The total number of IPv4 addresses in this subnet. + TotalIpv4AddressCount pulumi.IntPtrInput + // VPC instance ID + Vpc pulumi.StringInput + // Subnet zone info + Zone pulumi.StringInput +} + +func (IsSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetArgs)(nil)).Elem() +} + +type IsSubnetInput interface { + pulumi.Input + + ToIsSubnetOutput() IsSubnetOutput + ToIsSubnetOutputWithContext(ctx context.Context) IsSubnetOutput +} + +func (*IsSubnet) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnet)(nil)).Elem() +} + +func (i *IsSubnet) ToIsSubnetOutput() IsSubnetOutput { + return i.ToIsSubnetOutputWithContext(context.Background()) +} + +func (i *IsSubnet) ToIsSubnetOutputWithContext(ctx context.Context) IsSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetOutput) +} + +type IsSubnetOutput struct{ *pulumi.OutputState } + +func (IsSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnet)(nil)).Elem() +} + +func (o IsSubnetOutput) ToIsSubnetOutput() IsSubnetOutput { + return o +} + +func (o IsSubnetOutput) ToIsSubnetOutputWithContext(ctx context.Context) IsSubnetOutput { + return o +} + +// List of access management tags +func (o IsSubnetOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The number of IPv4 addresses in this subnet that are not in-use, and have not been reserved by the user or the provider. +func (o IsSubnetOutput) AvailableIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.IntOutput { return v.AvailableIpv4AddressCount }).(pulumi.IntOutput) +} + +// The crn of the resource +func (o IsSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The IP version(s) to support for this subnet. +func (o IsSubnetOutput) IpVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringPtrOutput { return v.IpVersion }).(pulumi.StringPtrOutput) +} + +// IPV4 subnet - CIDR block +func (o IsSubnetOutput) Ipv4CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.Ipv4CidrBlock }).(pulumi.StringOutput) +} + +// Subnet name +func (o IsSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The network ACL for this subnet +func (o IsSubnetOutput) NetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.NetworkAcl }).(pulumi.StringOutput) +} + +// Public Gateway of the subnet +func (o IsSubnetOutput) PublicGateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.PublicGateway }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsSubnetOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsSubnetOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// The resource group for this subnet +func (o IsSubnetOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsSubnetOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsSubnetOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsSubnetOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// routing table id that is associated with the subnet +func (o IsSubnetOutput) RoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.RoutingTable }).(pulumi.StringOutput) +} + +// routing table crn that is associated with the subnet. +func (o IsSubnetOutput) RoutingTableCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.RoutingTableCrn }).(pulumi.StringOutput) +} + +// The status of the subnet +func (o IsSubnetOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// List of tags +func (o IsSubnetOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The total number of IPv4 addresses in this subnet. +func (o IsSubnetOutput) TotalIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.IntOutput { return v.TotalIpv4AddressCount }).(pulumi.IntOutput) +} + +// VPC instance ID +func (o IsSubnetOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// Subnet zone info +func (o IsSubnetOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnet) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetInput)(nil)).Elem(), &IsSubnet{}) + pulumi.RegisterOutputType(IsSubnetOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetNetworkAclAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetNetworkAclAttachment.go new file mode 100644 index 000000000..5f56dd069 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetNetworkAclAttachment.go @@ -0,0 +1,193 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSubnetNetworkAclAttachment struct { + pulumi.CustomResourceState + + // The crn for this Network ACL + Crn pulumi.StringOutput `pulumi:"crn"` + // Network ACL name + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier of network ACL + NetworkAcl pulumi.StringOutput `pulumi:"networkAcl"` + // Resource group ID for the network ACL + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + Rules IsSubnetNetworkAclAttachmentRuleArrayOutput `pulumi:"rules"` + // The subnet identifier + Subnet pulumi.StringOutput `pulumi:"subnet"` + // Network ACL VPC + Vpc pulumi.StringOutput `pulumi:"vpc"` +} + +// NewIsSubnetNetworkAclAttachment registers a new resource with the given unique name, arguments, and options. +func NewIsSubnetNetworkAclAttachment(ctx *pulumi.Context, + name string, args *IsSubnetNetworkAclAttachmentArgs, opts ...pulumi.ResourceOption) (*IsSubnetNetworkAclAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.NetworkAcl == nil { + return nil, errors.New("invalid value for required argument 'NetworkAcl'") + } + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSubnetNetworkAclAttachment + err := ctx.RegisterResource("ibmcloud:index/isSubnetNetworkAclAttachment:IsSubnetNetworkAclAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSubnetNetworkAclAttachment gets an existing IsSubnetNetworkAclAttachment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSubnetNetworkAclAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSubnetNetworkAclAttachmentState, opts ...pulumi.ResourceOption) (*IsSubnetNetworkAclAttachment, error) { + var resource IsSubnetNetworkAclAttachment + err := ctx.ReadResource("ibmcloud:index/isSubnetNetworkAclAttachment:IsSubnetNetworkAclAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSubnetNetworkAclAttachment resources. +type isSubnetNetworkAclAttachmentState struct { + // The crn for this Network ACL + Crn *string `pulumi:"crn"` + // Network ACL name + Name *string `pulumi:"name"` + // The unique identifier of network ACL + NetworkAcl *string `pulumi:"networkAcl"` + // Resource group ID for the network ACL + ResourceGroup *string `pulumi:"resourceGroup"` + Rules []IsSubnetNetworkAclAttachmentRule `pulumi:"rules"` + // The subnet identifier + Subnet *string `pulumi:"subnet"` + // Network ACL VPC + Vpc *string `pulumi:"vpc"` +} + +type IsSubnetNetworkAclAttachmentState struct { + // The crn for this Network ACL + Crn pulumi.StringPtrInput + // Network ACL name + Name pulumi.StringPtrInput + // The unique identifier of network ACL + NetworkAcl pulumi.StringPtrInput + // Resource group ID for the network ACL + ResourceGroup pulumi.StringPtrInput + Rules IsSubnetNetworkAclAttachmentRuleArrayInput + // The subnet identifier + Subnet pulumi.StringPtrInput + // Network ACL VPC + Vpc pulumi.StringPtrInput +} + +func (IsSubnetNetworkAclAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetNetworkAclAttachmentState)(nil)).Elem() +} + +type isSubnetNetworkAclAttachmentArgs struct { + // The unique identifier of network ACL + NetworkAcl string `pulumi:"networkAcl"` + // The subnet identifier + Subnet string `pulumi:"subnet"` +} + +// The set of arguments for constructing a IsSubnetNetworkAclAttachment resource. +type IsSubnetNetworkAclAttachmentArgs struct { + // The unique identifier of network ACL + NetworkAcl pulumi.StringInput + // The subnet identifier + Subnet pulumi.StringInput +} + +func (IsSubnetNetworkAclAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetNetworkAclAttachmentArgs)(nil)).Elem() +} + +type IsSubnetNetworkAclAttachmentInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentOutput() IsSubnetNetworkAclAttachmentOutput + ToIsSubnetNetworkAclAttachmentOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentOutput +} + +func (*IsSubnetNetworkAclAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetNetworkAclAttachment)(nil)).Elem() +} + +func (i *IsSubnetNetworkAclAttachment) ToIsSubnetNetworkAclAttachmentOutput() IsSubnetNetworkAclAttachmentOutput { + return i.ToIsSubnetNetworkAclAttachmentOutputWithContext(context.Background()) +} + +func (i *IsSubnetNetworkAclAttachment) ToIsSubnetNetworkAclAttachmentOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentOutput) +} + +type IsSubnetNetworkAclAttachmentOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetNetworkAclAttachment)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentOutput) ToIsSubnetNetworkAclAttachmentOutput() IsSubnetNetworkAclAttachmentOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentOutput) ToIsSubnetNetworkAclAttachmentOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentOutput { + return o +} + +// The crn for this Network ACL +func (o IsSubnetNetworkAclAttachmentOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetNetworkAclAttachment) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Network ACL name +func (o IsSubnetNetworkAclAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetNetworkAclAttachment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier of network ACL +func (o IsSubnetNetworkAclAttachmentOutput) NetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetNetworkAclAttachment) pulumi.StringOutput { return v.NetworkAcl }).(pulumi.StringOutput) +} + +// Resource group ID for the network ACL +func (o IsSubnetNetworkAclAttachmentOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetNetworkAclAttachment) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o IsSubnetNetworkAclAttachmentOutput) Rules() IsSubnetNetworkAclAttachmentRuleArrayOutput { + return o.ApplyT(func(v *IsSubnetNetworkAclAttachment) IsSubnetNetworkAclAttachmentRuleArrayOutput { return v.Rules }).(IsSubnetNetworkAclAttachmentRuleArrayOutput) +} + +// The subnet identifier +func (o IsSubnetNetworkAclAttachmentOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetNetworkAclAttachment) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +// Network ACL VPC +func (o IsSubnetNetworkAclAttachmentOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetNetworkAclAttachment) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentInput)(nil)).Elem(), &IsSubnetNetworkAclAttachment{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetPublicGatewayAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetPublicGatewayAttachment.go new file mode 100644 index 000000000..dc605dfc2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetPublicGatewayAttachment.go @@ -0,0 +1,237 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSubnetPublicGatewayAttachment struct { + pulumi.CustomResourceState + + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + FloatingIp pulumi.StringMapOutput `pulumi:"floatingIp"` + // Name of the Public gateway instance + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier of public gateway + PublicGateway pulumi.StringOutput `pulumi:"publicGateway"` + // Public gateway resource group info + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Public gateway instance status + Status pulumi.StringOutput `pulumi:"status"` + // The subnet identifier + Subnet pulumi.StringOutput `pulumi:"subnet"` + // Public gateway VPC info + Vpc pulumi.StringOutput `pulumi:"vpc"` + // Public gateway zone info + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsSubnetPublicGatewayAttachment registers a new resource with the given unique name, arguments, and options. +func NewIsSubnetPublicGatewayAttachment(ctx *pulumi.Context, + name string, args *IsSubnetPublicGatewayAttachmentArgs, opts ...pulumi.ResourceOption) (*IsSubnetPublicGatewayAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PublicGateway == nil { + return nil, errors.New("invalid value for required argument 'PublicGateway'") + } + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSubnetPublicGatewayAttachment + err := ctx.RegisterResource("ibmcloud:index/isSubnetPublicGatewayAttachment:IsSubnetPublicGatewayAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSubnetPublicGatewayAttachment gets an existing IsSubnetPublicGatewayAttachment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSubnetPublicGatewayAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSubnetPublicGatewayAttachmentState, opts ...pulumi.ResourceOption) (*IsSubnetPublicGatewayAttachment, error) { + var resource IsSubnetPublicGatewayAttachment + err := ctx.ReadResource("ibmcloud:index/isSubnetPublicGatewayAttachment:IsSubnetPublicGatewayAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSubnetPublicGatewayAttachment resources. +type isSubnetPublicGatewayAttachmentState struct { + // The crn of the resource + Crn *string `pulumi:"crn"` + FloatingIp map[string]string `pulumi:"floatingIp"` + // Name of the Public gateway instance + Name *string `pulumi:"name"` + // The unique identifier of public gateway + PublicGateway *string `pulumi:"publicGateway"` + // Public gateway resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceType *string `pulumi:"resourceType"` + // Public gateway instance status + Status *string `pulumi:"status"` + // The subnet identifier + Subnet *string `pulumi:"subnet"` + // Public gateway VPC info + Vpc *string `pulumi:"vpc"` + // Public gateway zone info + Zone *string `pulumi:"zone"` +} + +type IsSubnetPublicGatewayAttachmentState struct { + // The crn of the resource + Crn pulumi.StringPtrInput + FloatingIp pulumi.StringMapInput + // Name of the Public gateway instance + Name pulumi.StringPtrInput + // The unique identifier of public gateway + PublicGateway pulumi.StringPtrInput + // Public gateway resource group info + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceType pulumi.StringPtrInput + // Public gateway instance status + Status pulumi.StringPtrInput + // The subnet identifier + Subnet pulumi.StringPtrInput + // Public gateway VPC info + Vpc pulumi.StringPtrInput + // Public gateway zone info + Zone pulumi.StringPtrInput +} + +func (IsSubnetPublicGatewayAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetPublicGatewayAttachmentState)(nil)).Elem() +} + +type isSubnetPublicGatewayAttachmentArgs struct { + // The unique identifier of public gateway + PublicGateway string `pulumi:"publicGateway"` + // The subnet identifier + Subnet string `pulumi:"subnet"` +} + +// The set of arguments for constructing a IsSubnetPublicGatewayAttachment resource. +type IsSubnetPublicGatewayAttachmentArgs struct { + // The unique identifier of public gateway + PublicGateway pulumi.StringInput + // The subnet identifier + Subnet pulumi.StringInput +} + +func (IsSubnetPublicGatewayAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetPublicGatewayAttachmentArgs)(nil)).Elem() +} + +type IsSubnetPublicGatewayAttachmentInput interface { + pulumi.Input + + ToIsSubnetPublicGatewayAttachmentOutput() IsSubnetPublicGatewayAttachmentOutput + ToIsSubnetPublicGatewayAttachmentOutputWithContext(ctx context.Context) IsSubnetPublicGatewayAttachmentOutput +} + +func (*IsSubnetPublicGatewayAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetPublicGatewayAttachment)(nil)).Elem() +} + +func (i *IsSubnetPublicGatewayAttachment) ToIsSubnetPublicGatewayAttachmentOutput() IsSubnetPublicGatewayAttachmentOutput { + return i.ToIsSubnetPublicGatewayAttachmentOutputWithContext(context.Background()) +} + +func (i *IsSubnetPublicGatewayAttachment) ToIsSubnetPublicGatewayAttachmentOutputWithContext(ctx context.Context) IsSubnetPublicGatewayAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetPublicGatewayAttachmentOutput) +} + +type IsSubnetPublicGatewayAttachmentOutput struct{ *pulumi.OutputState } + +func (IsSubnetPublicGatewayAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetPublicGatewayAttachment)(nil)).Elem() +} + +func (o IsSubnetPublicGatewayAttachmentOutput) ToIsSubnetPublicGatewayAttachmentOutput() IsSubnetPublicGatewayAttachmentOutput { + return o +} + +func (o IsSubnetPublicGatewayAttachmentOutput) ToIsSubnetPublicGatewayAttachmentOutputWithContext(ctx context.Context) IsSubnetPublicGatewayAttachmentOutput { + return o +} + +// The crn of the resource +func (o IsSubnetPublicGatewayAttachmentOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +func (o IsSubnetPublicGatewayAttachmentOutput) FloatingIp() pulumi.StringMapOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringMapOutput { return v.FloatingIp }).(pulumi.StringMapOutput) +} + +// Name of the Public gateway instance +func (o IsSubnetPublicGatewayAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier of public gateway +func (o IsSubnetPublicGatewayAttachmentOutput) PublicGateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.PublicGateway }).(pulumi.StringOutput) +} + +// Public gateway resource group info +func (o IsSubnetPublicGatewayAttachmentOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsSubnetPublicGatewayAttachmentOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsSubnetPublicGatewayAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Public gateway instance status +func (o IsSubnetPublicGatewayAttachmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The subnet identifier +func (o IsSubnetPublicGatewayAttachmentOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +// Public gateway VPC info +func (o IsSubnetPublicGatewayAttachmentOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// Public gateway zone info +func (o IsSubnetPublicGatewayAttachmentOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetPublicGatewayAttachment) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetPublicGatewayAttachmentInput)(nil)).Elem(), &IsSubnetPublicGatewayAttachment{}) + pulumi.RegisterOutputType(IsSubnetPublicGatewayAttachmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetReservedIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetReservedIp.go new file mode 100644 index 000000000..e45fbe83e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetReservedIp.go @@ -0,0 +1,265 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSubnetReservedIp struct { + pulumi.CustomResourceState + + // The address for this reserved IP. + Address pulumi.StringOutput `pulumi:"address"` + // If set to true, this reserved IP will be automatically deleted + AutoDelete pulumi.BoolOutput `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The URL for this reserved IP. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of the reserved IP + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringOutput `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner pulumi.StringOutput `pulumi:"owner"` + // The unique identifier of the reserved IP. + ReservedIp pulumi.StringOutput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The subnet identifier. + Subnet pulumi.StringOutput `pulumi:"subnet"` + // The unique identifier for target. + Target pulumi.StringOutput `pulumi:"target"` + // The crn for target. + TargetCrn pulumi.StringOutput `pulumi:"targetCrn"` +} + +// NewIsSubnetReservedIp registers a new resource with the given unique name, arguments, and options. +func NewIsSubnetReservedIp(ctx *pulumi.Context, + name string, args *IsSubnetReservedIpArgs, opts ...pulumi.ResourceOption) (*IsSubnetReservedIp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSubnetReservedIp + err := ctx.RegisterResource("ibmcloud:index/isSubnetReservedIp:IsSubnetReservedIp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSubnetReservedIp gets an existing IsSubnetReservedIp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSubnetReservedIp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSubnetReservedIpState, opts ...pulumi.ResourceOption) (*IsSubnetReservedIp, error) { + var resource IsSubnetReservedIp + err := ctx.ReadResource("ibmcloud:index/isSubnetReservedIp:IsSubnetReservedIp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSubnetReservedIp resources. +type isSubnetReservedIpState struct { + // The address for this reserved IP. + Address *string `pulumi:"address"` + // If set to true, this reserved IP will be automatically deleted + AutoDelete *bool `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt *string `pulumi:"createdAt"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The lifecycle state of the reserved IP + LifecycleState *string `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this reserved IP. + Name *string `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner *string `pulumi:"owner"` + // The unique identifier of the reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The subnet identifier. + Subnet *string `pulumi:"subnet"` + // The unique identifier for target. + Target *string `pulumi:"target"` + // The crn for target. + TargetCrn *string `pulumi:"targetCrn"` +} + +type IsSubnetReservedIpState struct { + // The address for this reserved IP. + Address pulumi.StringPtrInput + // If set to true, this reserved IP will be automatically deleted + AutoDelete pulumi.BoolPtrInput + // The date and time that the reserved IP was created. + CreatedAt pulumi.StringPtrInput + // The URL for this reserved IP. + Href pulumi.StringPtrInput + // The lifecycle state of the reserved IP + LifecycleState pulumi.StringPtrInput + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringPtrInput + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner pulumi.StringPtrInput + // The unique identifier of the reserved IP. + ReservedIp pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The subnet identifier. + Subnet pulumi.StringPtrInput + // The unique identifier for target. + Target pulumi.StringPtrInput + // The crn for target. + TargetCrn pulumi.StringPtrInput +} + +func (IsSubnetReservedIpState) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetReservedIpState)(nil)).Elem() +} + +type isSubnetReservedIpArgs struct { + // The address for this reserved IP. + Address *string `pulumi:"address"` + // If set to true, this reserved IP will be automatically deleted + AutoDelete *bool `pulumi:"autoDelete"` + // The user-defined or system-provided name for this reserved IP. + Name *string `pulumi:"name"` + // The subnet identifier. + Subnet string `pulumi:"subnet"` + // The unique identifier for target. + Target *string `pulumi:"target"` + // The crn for target. + TargetCrn *string `pulumi:"targetCrn"` +} + +// The set of arguments for constructing a IsSubnetReservedIp resource. +type IsSubnetReservedIpArgs struct { + // The address for this reserved IP. + Address pulumi.StringPtrInput + // If set to true, this reserved IP will be automatically deleted + AutoDelete pulumi.BoolPtrInput + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringPtrInput + // The subnet identifier. + Subnet pulumi.StringInput + // The unique identifier for target. + Target pulumi.StringPtrInput + // The crn for target. + TargetCrn pulumi.StringPtrInput +} + +func (IsSubnetReservedIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetReservedIpArgs)(nil)).Elem() +} + +type IsSubnetReservedIpInput interface { + pulumi.Input + + ToIsSubnetReservedIpOutput() IsSubnetReservedIpOutput + ToIsSubnetReservedIpOutputWithContext(ctx context.Context) IsSubnetReservedIpOutput +} + +func (*IsSubnetReservedIp) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetReservedIp)(nil)).Elem() +} + +func (i *IsSubnetReservedIp) ToIsSubnetReservedIpOutput() IsSubnetReservedIpOutput { + return i.ToIsSubnetReservedIpOutputWithContext(context.Background()) +} + +func (i *IsSubnetReservedIp) ToIsSubnetReservedIpOutputWithContext(ctx context.Context) IsSubnetReservedIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetReservedIpOutput) +} + +type IsSubnetReservedIpOutput struct{ *pulumi.OutputState } + +func (IsSubnetReservedIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetReservedIp)(nil)).Elem() +} + +func (o IsSubnetReservedIpOutput) ToIsSubnetReservedIpOutput() IsSubnetReservedIpOutput { + return o +} + +func (o IsSubnetReservedIpOutput) ToIsSubnetReservedIpOutputWithContext(ctx context.Context) IsSubnetReservedIpOutput { + return o +} + +// The address for this reserved IP. +func (o IsSubnetReservedIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) +} + +// If set to true, this reserved IP will be automatically deleted +func (o IsSubnetReservedIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.BoolOutput { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the reserved IP was created. +func (o IsSubnetReservedIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this reserved IP. +func (o IsSubnetReservedIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of the reserved IP +func (o IsSubnetReservedIpOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this reserved IP. +func (o IsSubnetReservedIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The owner of a reserved IP, defining whether it is managed by the user or the provider. +func (o IsSubnetReservedIpOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.Owner }).(pulumi.StringOutput) +} + +// The unique identifier of the reserved IP. +func (o IsSubnetReservedIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsSubnetReservedIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet identifier. +func (o IsSubnetReservedIpOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +// The unique identifier for target. +func (o IsSubnetReservedIpOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// The crn for target. +func (o IsSubnetReservedIpOutput) TargetCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIp) pulumi.StringOutput { return v.TargetCrn }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetReservedIpInput)(nil)).Elem(), &IsSubnetReservedIp{}) + pulumi.RegisterOutputType(IsSubnetReservedIpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetReservedIpPatch.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetReservedIpPatch.go new file mode 100644 index 000000000..c4327ad7c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetReservedIpPatch.go @@ -0,0 +1,272 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSubnetReservedIpPatch struct { + pulumi.CustomResourceState + + // The address for this reserved IP. + Address pulumi.StringOutput `pulumi:"address"` + // If set to true, this reserved IP will be automatically deleted + AutoDelete pulumi.BoolOutput `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The URL for this reserved IP. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of the reserved IP + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringOutput `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner pulumi.StringOutput `pulumi:"owner"` + // The unique identifier of the reserved IP. + ReservedIp pulumi.StringOutput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The subnet identifier. + Subnet pulumi.StringOutput `pulumi:"subnet"` + // The unique identifier for target. + Target pulumi.StringOutput `pulumi:"target"` + // The crn for target. + TargetCrn pulumi.StringOutput `pulumi:"targetCrn"` +} + +// NewIsSubnetReservedIpPatch registers a new resource with the given unique name, arguments, and options. +func NewIsSubnetReservedIpPatch(ctx *pulumi.Context, + name string, args *IsSubnetReservedIpPatchArgs, opts ...pulumi.ResourceOption) (*IsSubnetReservedIpPatch, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ReservedIp == nil { + return nil, errors.New("invalid value for required argument 'ReservedIp'") + } + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSubnetReservedIpPatch + err := ctx.RegisterResource("ibmcloud:index/isSubnetReservedIpPatch:IsSubnetReservedIpPatch", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSubnetReservedIpPatch gets an existing IsSubnetReservedIpPatch resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSubnetReservedIpPatch(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSubnetReservedIpPatchState, opts ...pulumi.ResourceOption) (*IsSubnetReservedIpPatch, error) { + var resource IsSubnetReservedIpPatch + err := ctx.ReadResource("ibmcloud:index/isSubnetReservedIpPatch:IsSubnetReservedIpPatch", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSubnetReservedIpPatch resources. +type isSubnetReservedIpPatchState struct { + // The address for this reserved IP. + Address *string `pulumi:"address"` + // If set to true, this reserved IP will be automatically deleted + AutoDelete *bool `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt *string `pulumi:"createdAt"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The lifecycle state of the reserved IP + LifecycleState *string `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this reserved IP. + Name *string `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner *string `pulumi:"owner"` + // The unique identifier of the reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The subnet identifier. + Subnet *string `pulumi:"subnet"` + // The unique identifier for target. + Target *string `pulumi:"target"` + // The crn for target. + TargetCrn *string `pulumi:"targetCrn"` +} + +type IsSubnetReservedIpPatchState struct { + // The address for this reserved IP. + Address pulumi.StringPtrInput + // If set to true, this reserved IP will be automatically deleted + AutoDelete pulumi.BoolPtrInput + // The date and time that the reserved IP was created. + CreatedAt pulumi.StringPtrInput + // The URL for this reserved IP. + Href pulumi.StringPtrInput + // The lifecycle state of the reserved IP + LifecycleState pulumi.StringPtrInput + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringPtrInput + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner pulumi.StringPtrInput + // The unique identifier of the reserved IP. + ReservedIp pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The subnet identifier. + Subnet pulumi.StringPtrInput + // The unique identifier for target. + Target pulumi.StringPtrInput + // The crn for target. + TargetCrn pulumi.StringPtrInput +} + +func (IsSubnetReservedIpPatchState) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetReservedIpPatchState)(nil)).Elem() +} + +type isSubnetReservedIpPatchArgs struct { + // The address for this reserved IP. + Address *string `pulumi:"address"` + // If set to true, this reserved IP will be automatically deleted + AutoDelete *bool `pulumi:"autoDelete"` + // The user-defined or system-provided name for this reserved IP. + Name *string `pulumi:"name"` + // The unique identifier of the reserved IP. + ReservedIp string `pulumi:"reservedIp"` + // The subnet identifier. + Subnet string `pulumi:"subnet"` + // The unique identifier for target. + Target *string `pulumi:"target"` + // The crn for target. + TargetCrn *string `pulumi:"targetCrn"` +} + +// The set of arguments for constructing a IsSubnetReservedIpPatch resource. +type IsSubnetReservedIpPatchArgs struct { + // The address for this reserved IP. + Address pulumi.StringPtrInput + // If set to true, this reserved IP will be automatically deleted + AutoDelete pulumi.BoolPtrInput + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringPtrInput + // The unique identifier of the reserved IP. + ReservedIp pulumi.StringInput + // The subnet identifier. + Subnet pulumi.StringInput + // The unique identifier for target. + Target pulumi.StringPtrInput + // The crn for target. + TargetCrn pulumi.StringPtrInput +} + +func (IsSubnetReservedIpPatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetReservedIpPatchArgs)(nil)).Elem() +} + +type IsSubnetReservedIpPatchInput interface { + pulumi.Input + + ToIsSubnetReservedIpPatchOutput() IsSubnetReservedIpPatchOutput + ToIsSubnetReservedIpPatchOutputWithContext(ctx context.Context) IsSubnetReservedIpPatchOutput +} + +func (*IsSubnetReservedIpPatch) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetReservedIpPatch)(nil)).Elem() +} + +func (i *IsSubnetReservedIpPatch) ToIsSubnetReservedIpPatchOutput() IsSubnetReservedIpPatchOutput { + return i.ToIsSubnetReservedIpPatchOutputWithContext(context.Background()) +} + +func (i *IsSubnetReservedIpPatch) ToIsSubnetReservedIpPatchOutputWithContext(ctx context.Context) IsSubnetReservedIpPatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetReservedIpPatchOutput) +} + +type IsSubnetReservedIpPatchOutput struct{ *pulumi.OutputState } + +func (IsSubnetReservedIpPatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetReservedIpPatch)(nil)).Elem() +} + +func (o IsSubnetReservedIpPatchOutput) ToIsSubnetReservedIpPatchOutput() IsSubnetReservedIpPatchOutput { + return o +} + +func (o IsSubnetReservedIpPatchOutput) ToIsSubnetReservedIpPatchOutputWithContext(ctx context.Context) IsSubnetReservedIpPatchOutput { + return o +} + +// The address for this reserved IP. +func (o IsSubnetReservedIpPatchOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) +} + +// If set to true, this reserved IP will be automatically deleted +func (o IsSubnetReservedIpPatchOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.BoolOutput { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the reserved IP was created. +func (o IsSubnetReservedIpPatchOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this reserved IP. +func (o IsSubnetReservedIpPatchOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of the reserved IP +func (o IsSubnetReservedIpPatchOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this reserved IP. +func (o IsSubnetReservedIpPatchOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The owner of a reserved IP, defining whether it is managed by the user or the provider. +func (o IsSubnetReservedIpPatchOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.Owner }).(pulumi.StringOutput) +} + +// The unique identifier of the reserved IP. +func (o IsSubnetReservedIpPatchOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsSubnetReservedIpPatchOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet identifier. +func (o IsSubnetReservedIpPatchOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +// The unique identifier for target. +func (o IsSubnetReservedIpPatchOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) +} + +// The crn for target. +func (o IsSubnetReservedIpPatchOutput) TargetCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetReservedIpPatch) pulumi.StringOutput { return v.TargetCrn }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetReservedIpPatchInput)(nil)).Elem(), &IsSubnetReservedIpPatch{}) + pulumi.RegisterOutputType(IsSubnetReservedIpPatchOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetRoutingTableAttachment.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetRoutingTableAttachment.go new file mode 100644 index 000000000..884cf6556 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isSubnetRoutingTableAttachment.go @@ -0,0 +1,262 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsSubnetRoutingTableAttachment struct { + pulumi.CustomResourceState + + // Indicates whether this is the default routing table for this VPC + IsDefault pulumi.BoolOutput `pulumi:"isDefault"` + // he lifecycle state of the routing table [ deleting, failed, pending, stable, suspended, updating, waiting ] + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name of the routing table + Name pulumi.StringOutput `pulumi:"name"` + // The resource group for this volume. + ResourceGroups IsSubnetRoutingTableAttachmentResourceGroupArrayOutput `pulumi:"resourceGroups"` + // The resource type + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // If true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress pulumi.BoolOutput `pulumi:"routeDirectLinkIngress"` + // If true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress pulumi.BoolOutput `pulumi:"routeTransitGatewayIngress"` + // If true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress pulumi.BoolOutput `pulumi:"routeVpcZoneIngress"` + Routes IsSubnetRoutingTableAttachmentRouteArrayOutput `pulumi:"routes"` + // The unique identifier of routing table + RoutingTable pulumi.StringOutput `pulumi:"routingTable"` + // The crn of routing table + RoutingTableCrn pulumi.StringOutput `pulumi:"routingTableCrn"` + // The subnet identifier + Subnet pulumi.StringOutput `pulumi:"subnet"` + Subnets IsSubnetRoutingTableAttachmentSubnetArrayOutput `pulumi:"subnets"` +} + +// NewIsSubnetRoutingTableAttachment registers a new resource with the given unique name, arguments, and options. +func NewIsSubnetRoutingTableAttachment(ctx *pulumi.Context, + name string, args *IsSubnetRoutingTableAttachmentArgs, opts ...pulumi.ResourceOption) (*IsSubnetRoutingTableAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsSubnetRoutingTableAttachment + err := ctx.RegisterResource("ibmcloud:index/isSubnetRoutingTableAttachment:IsSubnetRoutingTableAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsSubnetRoutingTableAttachment gets an existing IsSubnetRoutingTableAttachment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsSubnetRoutingTableAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsSubnetRoutingTableAttachmentState, opts ...pulumi.ResourceOption) (*IsSubnetRoutingTableAttachment, error) { + var resource IsSubnetRoutingTableAttachment + err := ctx.ReadResource("ibmcloud:index/isSubnetRoutingTableAttachment:IsSubnetRoutingTableAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsSubnetRoutingTableAttachment resources. +type isSubnetRoutingTableAttachmentState struct { + // Indicates whether this is the default routing table for this VPC + IsDefault *bool `pulumi:"isDefault"` + // he lifecycle state of the routing table [ deleting, failed, pending, stable, suspended, updating, waiting ] + LifecycleState *string `pulumi:"lifecycleState"` + // The name of the routing table + Name *string `pulumi:"name"` + // The resource group for this volume. + ResourceGroups []IsSubnetRoutingTableAttachmentResourceGroup `pulumi:"resourceGroups"` + // The resource type + ResourceType *string `pulumi:"resourceType"` + // If true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress *bool `pulumi:"routeDirectLinkIngress"` + // If true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress *bool `pulumi:"routeTransitGatewayIngress"` + // If true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress *bool `pulumi:"routeVpcZoneIngress"` + Routes []IsSubnetRoutingTableAttachmentRoute `pulumi:"routes"` + // The unique identifier of routing table + RoutingTable *string `pulumi:"routingTable"` + // The crn of routing table + RoutingTableCrn *string `pulumi:"routingTableCrn"` + // The subnet identifier + Subnet *string `pulumi:"subnet"` + Subnets []IsSubnetRoutingTableAttachmentSubnet `pulumi:"subnets"` +} + +type IsSubnetRoutingTableAttachmentState struct { + // Indicates whether this is the default routing table for this VPC + IsDefault pulumi.BoolPtrInput + // he lifecycle state of the routing table [ deleting, failed, pending, stable, suspended, updating, waiting ] + LifecycleState pulumi.StringPtrInput + // The name of the routing table + Name pulumi.StringPtrInput + // The resource group for this volume. + ResourceGroups IsSubnetRoutingTableAttachmentResourceGroupArrayInput + // The resource type + ResourceType pulumi.StringPtrInput + // If true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress pulumi.BoolPtrInput + // If true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress pulumi.BoolPtrInput + // If true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress pulumi.BoolPtrInput + Routes IsSubnetRoutingTableAttachmentRouteArrayInput + // The unique identifier of routing table + RoutingTable pulumi.StringPtrInput + // The crn of routing table + RoutingTableCrn pulumi.StringPtrInput + // The subnet identifier + Subnet pulumi.StringPtrInput + Subnets IsSubnetRoutingTableAttachmentSubnetArrayInput +} + +func (IsSubnetRoutingTableAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetRoutingTableAttachmentState)(nil)).Elem() +} + +type isSubnetRoutingTableAttachmentArgs struct { + // The unique identifier of routing table + RoutingTable *string `pulumi:"routingTable"` + // The crn of routing table + RoutingTableCrn *string `pulumi:"routingTableCrn"` + // The subnet identifier + Subnet string `pulumi:"subnet"` +} + +// The set of arguments for constructing a IsSubnetRoutingTableAttachment resource. +type IsSubnetRoutingTableAttachmentArgs struct { + // The unique identifier of routing table + RoutingTable pulumi.StringPtrInput + // The crn of routing table + RoutingTableCrn pulumi.StringPtrInput + // The subnet identifier + Subnet pulumi.StringInput +} + +func (IsSubnetRoutingTableAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isSubnetRoutingTableAttachmentArgs)(nil)).Elem() +} + +type IsSubnetRoutingTableAttachmentInput interface { + pulumi.Input + + ToIsSubnetRoutingTableAttachmentOutput() IsSubnetRoutingTableAttachmentOutput + ToIsSubnetRoutingTableAttachmentOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentOutput +} + +func (*IsSubnetRoutingTableAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetRoutingTableAttachment)(nil)).Elem() +} + +func (i *IsSubnetRoutingTableAttachment) ToIsSubnetRoutingTableAttachmentOutput() IsSubnetRoutingTableAttachmentOutput { + return i.ToIsSubnetRoutingTableAttachmentOutputWithContext(context.Background()) +} + +func (i *IsSubnetRoutingTableAttachment) ToIsSubnetRoutingTableAttachmentOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetRoutingTableAttachmentOutput) +} + +type IsSubnetRoutingTableAttachmentOutput struct{ *pulumi.OutputState } + +func (IsSubnetRoutingTableAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSubnetRoutingTableAttachment)(nil)).Elem() +} + +func (o IsSubnetRoutingTableAttachmentOutput) ToIsSubnetRoutingTableAttachmentOutput() IsSubnetRoutingTableAttachmentOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentOutput) ToIsSubnetRoutingTableAttachmentOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentOutput { + return o +} + +// Indicates whether this is the default routing table for this VPC +func (o IsSubnetRoutingTableAttachmentOutput) IsDefault() pulumi.BoolOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.BoolOutput { return v.IsDefault }).(pulumi.BoolOutput) +} + +// he lifecycle state of the routing table [ deleting, failed, pending, stable, suspended, updating, waiting ] +func (o IsSubnetRoutingTableAttachmentOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name of the routing table +func (o IsSubnetRoutingTableAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this volume. +func (o IsSubnetRoutingTableAttachmentOutput) ResourceGroups() IsSubnetRoutingTableAttachmentResourceGroupArrayOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) IsSubnetRoutingTableAttachmentResourceGroupArrayOutput { + return v.ResourceGroups + }).(IsSubnetRoutingTableAttachmentResourceGroupArrayOutput) +} + +// The resource type +func (o IsSubnetRoutingTableAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// If true, this routing table will be used to route traffic that originates from Direct Link to this VPC. +func (o IsSubnetRoutingTableAttachmentOutput) RouteDirectLinkIngress() pulumi.BoolOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.BoolOutput { return v.RouteDirectLinkIngress }).(pulumi.BoolOutput) +} + +// If true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. +func (o IsSubnetRoutingTableAttachmentOutput) RouteTransitGatewayIngress() pulumi.BoolOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.BoolOutput { return v.RouteTransitGatewayIngress }).(pulumi.BoolOutput) +} + +// If true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. +func (o IsSubnetRoutingTableAttachmentOutput) RouteVpcZoneIngress() pulumi.BoolOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.BoolOutput { return v.RouteVpcZoneIngress }).(pulumi.BoolOutput) +} + +func (o IsSubnetRoutingTableAttachmentOutput) Routes() IsSubnetRoutingTableAttachmentRouteArrayOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) IsSubnetRoutingTableAttachmentRouteArrayOutput { + return v.Routes + }).(IsSubnetRoutingTableAttachmentRouteArrayOutput) +} + +// The unique identifier of routing table +func (o IsSubnetRoutingTableAttachmentOutput) RoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.StringOutput { return v.RoutingTable }).(pulumi.StringOutput) +} + +// The crn of routing table +func (o IsSubnetRoutingTableAttachmentOutput) RoutingTableCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.StringOutput { return v.RoutingTableCrn }).(pulumi.StringOutput) +} + +// The subnet identifier +func (o IsSubnetRoutingTableAttachmentOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +func (o IsSubnetRoutingTableAttachmentOutput) Subnets() IsSubnetRoutingTableAttachmentSubnetArrayOutput { + return o.ApplyT(func(v *IsSubnetRoutingTableAttachment) IsSubnetRoutingTableAttachmentSubnetArrayOutput { + return v.Subnets + }).(IsSubnetRoutingTableAttachmentSubnetArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetRoutingTableAttachmentInput)(nil)).Elem(), &IsSubnetRoutingTableAttachment{}) + pulumi.RegisterOutputType(IsSubnetRoutingTableAttachmentOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualEndpointGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualEndpointGateway.go new file mode 100644 index 000000000..a31e38cf9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualEndpointGateway.go @@ -0,0 +1,326 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVirtualEndpointGateway struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. + AllowDnsResolutionBinding pulumi.BoolOutput `pulumi:"allowDnsResolutionBinding"` + // Endpoint gateway created date and time + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this Endpoint gateway + Crn pulumi.StringOutput `pulumi:"crn"` + // Endpoint gateway health state + HealthState pulumi.StringOutput `pulumi:"healthState"` + // Endpoint gateway IPs + Ips IsVirtualEndpointGatewayIpTypeArrayOutput `pulumi:"ips"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsVirtualEndpointGatewayLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // Endpoint gateway lifecycle state + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // Endpoint gateway name + Name pulumi.StringOutput `pulumi:"name"` + // The resource group id + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // Endpoint gateway resource type + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Endpoint gateway securitygroups list + SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` + // The fully qualified domain names for the target service. A fully qualified domain name for the target service + ServiceEndpoints pulumi.StringArrayOutput `pulumi:"serviceEndpoints"` + // List of tags for VPE + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Endpoint gateway target + Target IsVirtualEndpointGatewayTargetOutput `pulumi:"target"` + // The VPC id + Vpc pulumi.StringOutput `pulumi:"vpc"` +} + +// NewIsVirtualEndpointGateway registers a new resource with the given unique name, arguments, and options. +func NewIsVirtualEndpointGateway(ctx *pulumi.Context, + name string, args *IsVirtualEndpointGatewayArgs, opts ...pulumi.ResourceOption) (*IsVirtualEndpointGateway, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Target == nil { + return nil, errors.New("invalid value for required argument 'Target'") + } + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVirtualEndpointGateway + err := ctx.RegisterResource("ibmcloud:index/isVirtualEndpointGateway:IsVirtualEndpointGateway", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVirtualEndpointGateway gets an existing IsVirtualEndpointGateway resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVirtualEndpointGateway(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVirtualEndpointGatewayState, opts ...pulumi.ResourceOption) (*IsVirtualEndpointGateway, error) { + var resource IsVirtualEndpointGateway + err := ctx.ReadResource("ibmcloud:index/isVirtualEndpointGateway:IsVirtualEndpointGateway", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVirtualEndpointGateway resources. +type isVirtualEndpointGatewayState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. + AllowDnsResolutionBinding *bool `pulumi:"allowDnsResolutionBinding"` + // Endpoint gateway created date and time + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this Endpoint gateway + Crn *string `pulumi:"crn"` + // Endpoint gateway health state + HealthState *string `pulumi:"healthState"` + // Endpoint gateway IPs + Ips []IsVirtualEndpointGatewayIpType `pulumi:"ips"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []IsVirtualEndpointGatewayLifecycleReason `pulumi:"lifecycleReasons"` + // Endpoint gateway lifecycle state + LifecycleState *string `pulumi:"lifecycleState"` + // Endpoint gateway name + Name *string `pulumi:"name"` + // The resource group id + ResourceGroup *string `pulumi:"resourceGroup"` + // Endpoint gateway resource type + ResourceType *string `pulumi:"resourceType"` + // Endpoint gateway securitygroups list + SecurityGroups []string `pulumi:"securityGroups"` + // The fully qualified domain names for the target service. A fully qualified domain name for the target service + ServiceEndpoints []string `pulumi:"serviceEndpoints"` + // List of tags for VPE + Tags []string `pulumi:"tags"` + // Endpoint gateway target + Target *IsVirtualEndpointGatewayTarget `pulumi:"target"` + // The VPC id + Vpc *string `pulumi:"vpc"` +} + +type IsVirtualEndpointGatewayState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. + AllowDnsResolutionBinding pulumi.BoolPtrInput + // Endpoint gateway created date and time + CreatedAt pulumi.StringPtrInput + // The CRN for this Endpoint gateway + Crn pulumi.StringPtrInput + // Endpoint gateway health state + HealthState pulumi.StringPtrInput + // Endpoint gateway IPs + Ips IsVirtualEndpointGatewayIpTypeArrayInput + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsVirtualEndpointGatewayLifecycleReasonArrayInput + // Endpoint gateway lifecycle state + LifecycleState pulumi.StringPtrInput + // Endpoint gateway name + Name pulumi.StringPtrInput + // The resource group id + ResourceGroup pulumi.StringPtrInput + // Endpoint gateway resource type + ResourceType pulumi.StringPtrInput + // Endpoint gateway securitygroups list + SecurityGroups pulumi.StringArrayInput + // The fully qualified domain names for the target service. A fully qualified domain name for the target service + ServiceEndpoints pulumi.StringArrayInput + // List of tags for VPE + Tags pulumi.StringArrayInput + // Endpoint gateway target + Target IsVirtualEndpointGatewayTargetPtrInput + // The VPC id + Vpc pulumi.StringPtrInput +} + +func (IsVirtualEndpointGatewayState) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualEndpointGatewayState)(nil)).Elem() +} + +type isVirtualEndpointGatewayArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. + AllowDnsResolutionBinding *bool `pulumi:"allowDnsResolutionBinding"` + // Endpoint gateway IPs + Ips []IsVirtualEndpointGatewayIpType `pulumi:"ips"` + // Endpoint gateway name + Name *string `pulumi:"name"` + // The resource group id + ResourceGroup *string `pulumi:"resourceGroup"` + // Endpoint gateway securitygroups list + SecurityGroups []string `pulumi:"securityGroups"` + // List of tags for VPE + Tags []string `pulumi:"tags"` + // Endpoint gateway target + Target IsVirtualEndpointGatewayTarget `pulumi:"target"` + // The VPC id + Vpc string `pulumi:"vpc"` +} + +// The set of arguments for constructing a IsVirtualEndpointGateway resource. +type IsVirtualEndpointGatewayArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. + AllowDnsResolutionBinding pulumi.BoolPtrInput + // Endpoint gateway IPs + Ips IsVirtualEndpointGatewayIpTypeArrayInput + // Endpoint gateway name + Name pulumi.StringPtrInput + // The resource group id + ResourceGroup pulumi.StringPtrInput + // Endpoint gateway securitygroups list + SecurityGroups pulumi.StringArrayInput + // List of tags for VPE + Tags pulumi.StringArrayInput + // Endpoint gateway target + Target IsVirtualEndpointGatewayTargetInput + // The VPC id + Vpc pulumi.StringInput +} + +func (IsVirtualEndpointGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualEndpointGatewayArgs)(nil)).Elem() +} + +type IsVirtualEndpointGatewayInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayOutput() IsVirtualEndpointGatewayOutput + ToIsVirtualEndpointGatewayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayOutput +} + +func (*IsVirtualEndpointGateway) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualEndpointGateway)(nil)).Elem() +} + +func (i *IsVirtualEndpointGateway) ToIsVirtualEndpointGatewayOutput() IsVirtualEndpointGatewayOutput { + return i.ToIsVirtualEndpointGatewayOutputWithContext(context.Background()) +} + +func (i *IsVirtualEndpointGateway) ToIsVirtualEndpointGatewayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayOutput) +} + +type IsVirtualEndpointGatewayOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualEndpointGateway)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayOutput) ToIsVirtualEndpointGatewayOutput() IsVirtualEndpointGatewayOutput { + return o +} + +func (o IsVirtualEndpointGatewayOutput) ToIsVirtualEndpointGatewayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayOutput { + return o +} + +// List of access management tags +func (o IsVirtualEndpointGatewayOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. +func (o IsVirtualEndpointGatewayOutput) AllowDnsResolutionBinding() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.BoolOutput { return v.AllowDnsResolutionBinding }).(pulumi.BoolOutput) +} + +// Endpoint gateway created date and time +func (o IsVirtualEndpointGatewayOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this Endpoint gateway +func (o IsVirtualEndpointGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Endpoint gateway health state +func (o IsVirtualEndpointGatewayOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// Endpoint gateway IPs +func (o IsVirtualEndpointGatewayOutput) Ips() IsVirtualEndpointGatewayIpTypeArrayOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) IsVirtualEndpointGatewayIpTypeArrayOutput { return v.Ips }).(IsVirtualEndpointGatewayIpTypeArrayOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o IsVirtualEndpointGatewayOutput) LifecycleReasons() IsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) IsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return v.LifecycleReasons + }).(IsVirtualEndpointGatewayLifecycleReasonArrayOutput) +} + +// Endpoint gateway lifecycle state +func (o IsVirtualEndpointGatewayOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Endpoint gateway name +func (o IsVirtualEndpointGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource group id +func (o IsVirtualEndpointGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// Endpoint gateway resource type +func (o IsVirtualEndpointGatewayOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Endpoint gateway securitygroups list +func (o IsVirtualEndpointGatewayOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The fully qualified domain names for the target service. A fully qualified domain name for the target service +func (o IsVirtualEndpointGatewayOutput) ServiceEndpoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringArrayOutput { return v.ServiceEndpoints }).(pulumi.StringArrayOutput) +} + +// List of tags for VPE +func (o IsVirtualEndpointGatewayOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Endpoint gateway target +func (o IsVirtualEndpointGatewayOutput) Target() IsVirtualEndpointGatewayTargetOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) IsVirtualEndpointGatewayTargetOutput { return v.Target }).(IsVirtualEndpointGatewayTargetOutput) +} + +// The VPC id +func (o IsVirtualEndpointGatewayOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGateway) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayInput)(nil)).Elem(), &IsVirtualEndpointGateway{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualEndpointGatewayIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualEndpointGatewayIp.go new file mode 100644 index 000000000..be0df80bc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualEndpointGatewayIp.go @@ -0,0 +1,208 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVirtualEndpointGatewayIp struct { + pulumi.CustomResourceState + + // Endpoint gateway IP address + Address pulumi.StringOutput `pulumi:"address"` + // Endpoint gateway IP auto delete + AutoDelete pulumi.BoolOutput `pulumi:"autoDelete"` + // Endpoint gateway IP created date and time + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Endpoint gateway ID + Gateway pulumi.StringOutput `pulumi:"gateway"` + // Endpoint gateway IP name + Name pulumi.StringOutput `pulumi:"name"` + // Endpoint gateway IP id + ReservedIp pulumi.StringOutput `pulumi:"reservedIp"` + // Endpoint gateway IP resource type + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Endpoint gateway detail + Targets IsVirtualEndpointGatewayIpTargetArrayOutput `pulumi:"targets"` +} + +// NewIsVirtualEndpointGatewayIp registers a new resource with the given unique name, arguments, and options. +func NewIsVirtualEndpointGatewayIp(ctx *pulumi.Context, + name string, args *IsVirtualEndpointGatewayIpArgs, opts ...pulumi.ResourceOption) (*IsVirtualEndpointGatewayIp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Gateway == nil { + return nil, errors.New("invalid value for required argument 'Gateway'") + } + if args.ReservedIp == nil { + return nil, errors.New("invalid value for required argument 'ReservedIp'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVirtualEndpointGatewayIp + err := ctx.RegisterResource("ibmcloud:index/isVirtualEndpointGatewayIp:IsVirtualEndpointGatewayIp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVirtualEndpointGatewayIp gets an existing IsVirtualEndpointGatewayIp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVirtualEndpointGatewayIp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVirtualEndpointGatewayIpState, opts ...pulumi.ResourceOption) (*IsVirtualEndpointGatewayIp, error) { + var resource IsVirtualEndpointGatewayIp + err := ctx.ReadResource("ibmcloud:index/isVirtualEndpointGatewayIp:IsVirtualEndpointGatewayIp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVirtualEndpointGatewayIp resources. +type isVirtualEndpointGatewayIpState struct { + // Endpoint gateway IP address + Address *string `pulumi:"address"` + // Endpoint gateway IP auto delete + AutoDelete *bool `pulumi:"autoDelete"` + // Endpoint gateway IP created date and time + CreatedAt *string `pulumi:"createdAt"` + // Endpoint gateway ID + Gateway *string `pulumi:"gateway"` + // Endpoint gateway IP name + Name *string `pulumi:"name"` + // Endpoint gateway IP id + ReservedIp *string `pulumi:"reservedIp"` + // Endpoint gateway IP resource type + ResourceType *string `pulumi:"resourceType"` + // Endpoint gateway detail + Targets []IsVirtualEndpointGatewayIpTarget `pulumi:"targets"` +} + +type IsVirtualEndpointGatewayIpState struct { + // Endpoint gateway IP address + Address pulumi.StringPtrInput + // Endpoint gateway IP auto delete + AutoDelete pulumi.BoolPtrInput + // Endpoint gateway IP created date and time + CreatedAt pulumi.StringPtrInput + // Endpoint gateway ID + Gateway pulumi.StringPtrInput + // Endpoint gateway IP name + Name pulumi.StringPtrInput + // Endpoint gateway IP id + ReservedIp pulumi.StringPtrInput + // Endpoint gateway IP resource type + ResourceType pulumi.StringPtrInput + // Endpoint gateway detail + Targets IsVirtualEndpointGatewayIpTargetArrayInput +} + +func (IsVirtualEndpointGatewayIpState) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualEndpointGatewayIpState)(nil)).Elem() +} + +type isVirtualEndpointGatewayIpArgs struct { + // Endpoint gateway ID + Gateway string `pulumi:"gateway"` + // Endpoint gateway IP id + ReservedIp string `pulumi:"reservedIp"` +} + +// The set of arguments for constructing a IsVirtualEndpointGatewayIp resource. +type IsVirtualEndpointGatewayIpArgs struct { + // Endpoint gateway ID + Gateway pulumi.StringInput + // Endpoint gateway IP id + ReservedIp pulumi.StringInput +} + +func (IsVirtualEndpointGatewayIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualEndpointGatewayIpArgs)(nil)).Elem() +} + +type IsVirtualEndpointGatewayIpInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayIpOutput() IsVirtualEndpointGatewayIpOutput + ToIsVirtualEndpointGatewayIpOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpOutput +} + +func (*IsVirtualEndpointGatewayIp) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualEndpointGatewayIp)(nil)).Elem() +} + +func (i *IsVirtualEndpointGatewayIp) ToIsVirtualEndpointGatewayIpOutput() IsVirtualEndpointGatewayIpOutput { + return i.ToIsVirtualEndpointGatewayIpOutputWithContext(context.Background()) +} + +func (i *IsVirtualEndpointGatewayIp) ToIsVirtualEndpointGatewayIpOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayIpOutput) +} + +type IsVirtualEndpointGatewayIpOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualEndpointGatewayIp)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayIpOutput) ToIsVirtualEndpointGatewayIpOutput() IsVirtualEndpointGatewayIpOutput { + return o +} + +func (o IsVirtualEndpointGatewayIpOutput) ToIsVirtualEndpointGatewayIpOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpOutput { + return o +} + +// Endpoint gateway IP address +func (o IsVirtualEndpointGatewayIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayIp) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) +} + +// Endpoint gateway IP auto delete +func (o IsVirtualEndpointGatewayIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayIp) pulumi.BoolOutput { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// Endpoint gateway IP created date and time +func (o IsVirtualEndpointGatewayIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayIp) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Endpoint gateway ID +func (o IsVirtualEndpointGatewayIpOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayIp) pulumi.StringOutput { return v.Gateway }).(pulumi.StringOutput) +} + +// Endpoint gateway IP name +func (o IsVirtualEndpointGatewayIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayIp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Endpoint gateway IP id +func (o IsVirtualEndpointGatewayIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayIp) pulumi.StringOutput { return v.ReservedIp }).(pulumi.StringOutput) +} + +// Endpoint gateway IP resource type +func (o IsVirtualEndpointGatewayIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayIp) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Endpoint gateway detail +func (o IsVirtualEndpointGatewayIpOutput) Targets() IsVirtualEndpointGatewayIpTargetArrayOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayIp) IsVirtualEndpointGatewayIpTargetArrayOutput { return v.Targets }).(IsVirtualEndpointGatewayIpTargetArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayIpInput)(nil)).Elem(), &IsVirtualEndpointGatewayIp{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayIpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterface.go new file mode 100644 index 000000000..8251ee797 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterface.go @@ -0,0 +1,384 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVirtualNetworkInterface struct { + pulumi.CustomResourceState + + // Access management tags for the vni instance + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolOutput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolOutput `pulumi:"autoDelete"` + // The date and time that the virtual network interface was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this virtual network interface. + Crn pulumi.StringOutput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolOutput `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href pulumi.StringOutput `pulumi:"href"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsVirtualNetworkInterfaceIpTypeArrayOutput `pulumi:"ips"` + // The lifecycle state of the virtual network interface. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The MAC address of the interface. Absent when the interface is not attached to a target. + MacAddress pulumi.StringOutput `pulumi:"macAddress"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringOutput `pulumi:"name"` + // The reserved IP for this virtual network interface. + PrimaryIp IsVirtualNetworkInterfacePrimaryIpOutput `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringOutput `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` + // The associated subnet id. + Subnet pulumi.StringPtrOutput `pulumi:"subnet"` + // UserTags for the vni instance + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The target of this virtual network interface.If absent, this virtual network interface is not attached to a target. + Targets IsVirtualNetworkInterfaceTargetArrayOutput `pulumi:"targets"` + // The VPC this virtual network interface resides in. + Vpcs IsVirtualNetworkInterfaceVpcArrayOutput `pulumi:"vpcs"` + // The zone name this virtual network interface resides in. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsVirtualNetworkInterface registers a new resource with the given unique name, arguments, and options. +func NewIsVirtualNetworkInterface(ctx *pulumi.Context, + name string, args *IsVirtualNetworkInterfaceArgs, opts ...pulumi.ResourceOption) (*IsVirtualNetworkInterface, error) { + if args == nil { + args = &IsVirtualNetworkInterfaceArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVirtualNetworkInterface + err := ctx.RegisterResource("ibmcloud:index/isVirtualNetworkInterface:IsVirtualNetworkInterface", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVirtualNetworkInterface gets an existing IsVirtualNetworkInterface resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVirtualNetworkInterface(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVirtualNetworkInterfaceState, opts ...pulumi.ResourceOption) (*IsVirtualNetworkInterface, error) { + var resource IsVirtualNetworkInterface + err := ctx.ReadResource("ibmcloud:index/isVirtualNetworkInterface:IsVirtualNetworkInterface", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVirtualNetworkInterface resources. +type isVirtualNetworkInterfaceState struct { + // Access management tags for the vni instance + AccessTags []string `pulumi:"accessTags"` + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // The date and time that the virtual network interface was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this virtual network interface. + Crn *string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href *string `pulumi:"href"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []IsVirtualNetworkInterfaceIpType `pulumi:"ips"` + // The lifecycle state of the virtual network interface. + LifecycleState *string `pulumi:"lifecycleState"` + // The MAC address of the interface. Absent when the interface is not attached to a target. + MacAddress *string `pulumi:"macAddress"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `pulumi:"name"` + // The reserved IP for this virtual network interface. + PrimaryIp *IsVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet id. + Subnet *string `pulumi:"subnet"` + // UserTags for the vni instance + Tags []string `pulumi:"tags"` + // The target of this virtual network interface.If absent, this virtual network interface is not attached to a target. + Targets []IsVirtualNetworkInterfaceTarget `pulumi:"targets"` + // The VPC this virtual network interface resides in. + Vpcs []IsVirtualNetworkInterfaceVpc `pulumi:"vpcs"` + // The zone name this virtual network interface resides in. + Zone *string `pulumi:"zone"` +} + +type IsVirtualNetworkInterfaceState struct { + // Access management tags for the vni instance + AccessTags pulumi.StringArrayInput + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput + // The date and time that the virtual network interface was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this virtual network interface. + Crn pulumi.StringPtrInput + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput + // The URL for this virtual network interface. + Href pulumi.StringPtrInput + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsVirtualNetworkInterfaceIpTypeArrayInput + // The lifecycle state of the virtual network interface. + LifecycleState pulumi.StringPtrInput + // The MAC address of the interface. Absent when the interface is not attached to a target. + MacAddress pulumi.StringPtrInput + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringPtrInput + // The reserved IP for this virtual network interface. + PrimaryIp IsVirtualNetworkInterfacePrimaryIpPtrInput + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayInput + // The associated subnet id. + Subnet pulumi.StringPtrInput + // UserTags for the vni instance + Tags pulumi.StringArrayInput + // The target of this virtual network interface.If absent, this virtual network interface is not attached to a target. + Targets IsVirtualNetworkInterfaceTargetArrayInput + // The VPC this virtual network interface resides in. + Vpcs IsVirtualNetworkInterfaceVpcArrayInput + // The zone name this virtual network interface resides in. + Zone pulumi.StringPtrInput +} + +func (IsVirtualNetworkInterfaceState) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualNetworkInterfaceState)(nil)).Elem() +} + +type isVirtualNetworkInterfaceArgs struct { + // Access management tags for the vni instance + AccessTags []string `pulumi:"accessTags"` + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []IsVirtualNetworkInterfaceIpType `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `pulumi:"name"` + // The reserved IP for this virtual network interface. + PrimaryIp *IsVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup *string `pulumi:"resourceGroup"` + // The security groups for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet id. + Subnet *string `pulumi:"subnet"` + // UserTags for the vni instance + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsVirtualNetworkInterface resource. +type IsVirtualNetworkInterfaceArgs struct { + // Access management tags for the vni instance + AccessTags pulumi.StringArrayInput + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsVirtualNetworkInterfaceIpTypeArrayInput + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringPtrInput + // The reserved IP for this virtual network interface. + PrimaryIp IsVirtualNetworkInterfacePrimaryIpPtrInput + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringPtrInput + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayInput + // The associated subnet id. + Subnet pulumi.StringPtrInput + // UserTags for the vni instance + Tags pulumi.StringArrayInput +} + +func (IsVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualNetworkInterfaceArgs)(nil)).Elem() +} + +type IsVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceOutput() IsVirtualNetworkInterfaceOutput + ToIsVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceOutput +} + +func (*IsVirtualNetworkInterface) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualNetworkInterface)(nil)).Elem() +} + +func (i *IsVirtualNetworkInterface) ToIsVirtualNetworkInterfaceOutput() IsVirtualNetworkInterfaceOutput { + return i.ToIsVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i *IsVirtualNetworkInterface) ToIsVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceOutput) +} + +type IsVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceOutput) ToIsVirtualNetworkInterfaceOutput() IsVirtualNetworkInterfaceOutput { + return o +} + +func (o IsVirtualNetworkInterfaceOutput) ToIsVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceOutput { + return o +} + +// Access management tags for the vni instance +func (o IsVirtualNetworkInterfaceOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.BoolOutput { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.BoolOutput { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the virtual network interface was created. +func (o IsVirtualNetworkInterfaceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this virtual network interface. +func (o IsVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.BoolOutput { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +// The URL for this virtual network interface. +func (o IsVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsVirtualNetworkInterfaceOutput) Ips() IsVirtualNetworkInterfaceIpTypeArrayOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) IsVirtualNetworkInterfaceIpTypeArrayOutput { return v.Ips }).(IsVirtualNetworkInterfaceIpTypeArrayOutput) +} + +// The lifecycle state of the virtual network interface. +func (o IsVirtualNetworkInterfaceOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The MAC address of the interface. Absent when the interface is not attached to a target. +func (o IsVirtualNetworkInterfaceOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.MacAddress }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The reserved IP for this virtual network interface. +func (o IsVirtualNetworkInterfaceOutput) PrimaryIp() IsVirtualNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) IsVirtualNetworkInterfacePrimaryIpOutput { return v.PrimaryIp }).(IsVirtualNetworkInterfacePrimaryIpOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.ProtocolStateFilteringMode }).(pulumi.StringOutput) +} + +// The resource group id for this virtual network interface. +func (o IsVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The security groups for this virtual network interface. +func (o IsVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringPtrOutput { return v.Subnet }).(pulumi.StringPtrOutput) +} + +// UserTags for the vni instance +func (o IsVirtualNetworkInterfaceOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The target of this virtual network interface.If absent, this virtual network interface is not attached to a target. +func (o IsVirtualNetworkInterfaceOutput) Targets() IsVirtualNetworkInterfaceTargetArrayOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) IsVirtualNetworkInterfaceTargetArrayOutput { return v.Targets }).(IsVirtualNetworkInterfaceTargetArrayOutput) +} + +// The VPC this virtual network interface resides in. +func (o IsVirtualNetworkInterfaceOutput) Vpcs() IsVirtualNetworkInterfaceVpcArrayOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) IsVirtualNetworkInterfaceVpcArrayOutput { return v.Vpcs }).(IsVirtualNetworkInterfaceVpcArrayOutput) +} + +// The zone name this virtual network interface resides in. +func (o IsVirtualNetworkInterfaceOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterface) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceInput)(nil)).Elem(), &IsVirtualNetworkInterface{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterfaceFloatingIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterfaceFloatingIp.go new file mode 100644 index 000000000..b7ef528a1 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterfaceFloatingIp.go @@ -0,0 +1,199 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVirtualNetworkInterfaceFloatingIp struct { + pulumi.CustomResourceState + + // The globally unique IP address. + Address pulumi.StringOutput `pulumi:"address"` + // The CRN for this floating IP. + Crn pulumi.StringOutput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. + Deleteds IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput `pulumi:"deleteds"` + // The floating IP identifier + FloatingIp pulumi.StringOutput `pulumi:"floatingIp"` + // The URL for this floating IP. + Href pulumi.StringOutput `pulumi:"href"` + // The name for this floating IP. The name is unique across all floating IPs in the region. + Name pulumi.StringOutput `pulumi:"name"` + // The virtual network interface identifier + VirtualNetworkInterface pulumi.StringOutput `pulumi:"virtualNetworkInterface"` +} + +// NewIsVirtualNetworkInterfaceFloatingIp registers a new resource with the given unique name, arguments, and options. +func NewIsVirtualNetworkInterfaceFloatingIp(ctx *pulumi.Context, + name string, args *IsVirtualNetworkInterfaceFloatingIpArgs, opts ...pulumi.ResourceOption) (*IsVirtualNetworkInterfaceFloatingIp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.FloatingIp == nil { + return nil, errors.New("invalid value for required argument 'FloatingIp'") + } + if args.VirtualNetworkInterface == nil { + return nil, errors.New("invalid value for required argument 'VirtualNetworkInterface'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVirtualNetworkInterfaceFloatingIp + err := ctx.RegisterResource("ibmcloud:index/isVirtualNetworkInterfaceFloatingIp:IsVirtualNetworkInterfaceFloatingIp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVirtualNetworkInterfaceFloatingIp gets an existing IsVirtualNetworkInterfaceFloatingIp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVirtualNetworkInterfaceFloatingIp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVirtualNetworkInterfaceFloatingIpState, opts ...pulumi.ResourceOption) (*IsVirtualNetworkInterfaceFloatingIp, error) { + var resource IsVirtualNetworkInterfaceFloatingIp + err := ctx.ReadResource("ibmcloud:index/isVirtualNetworkInterfaceFloatingIp:IsVirtualNetworkInterfaceFloatingIp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVirtualNetworkInterfaceFloatingIp resources. +type isVirtualNetworkInterfaceFloatingIpState struct { + // The globally unique IP address. + Address *string `pulumi:"address"` + // The CRN for this floating IP. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. + Deleteds []IsVirtualNetworkInterfaceFloatingIpDeleted `pulumi:"deleteds"` + // The floating IP identifier + FloatingIp *string `pulumi:"floatingIp"` + // The URL for this floating IP. + Href *string `pulumi:"href"` + // The name for this floating IP. The name is unique across all floating IPs in the region. + Name *string `pulumi:"name"` + // The virtual network interface identifier + VirtualNetworkInterface *string `pulumi:"virtualNetworkInterface"` +} + +type IsVirtualNetworkInterfaceFloatingIpState struct { + // The globally unique IP address. + Address pulumi.StringPtrInput + // The CRN for this floating IP. + Crn pulumi.StringPtrInput + // If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. + Deleteds IsVirtualNetworkInterfaceFloatingIpDeletedArrayInput + // The floating IP identifier + FloatingIp pulumi.StringPtrInput + // The URL for this floating IP. + Href pulumi.StringPtrInput + // The name for this floating IP. The name is unique across all floating IPs in the region. + Name pulumi.StringPtrInput + // The virtual network interface identifier + VirtualNetworkInterface pulumi.StringPtrInput +} + +func (IsVirtualNetworkInterfaceFloatingIpState) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualNetworkInterfaceFloatingIpState)(nil)).Elem() +} + +type isVirtualNetworkInterfaceFloatingIpArgs struct { + // The floating IP identifier + FloatingIp string `pulumi:"floatingIp"` + // The virtual network interface identifier + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +// The set of arguments for constructing a IsVirtualNetworkInterfaceFloatingIp resource. +type IsVirtualNetworkInterfaceFloatingIpArgs struct { + // The floating IP identifier + FloatingIp pulumi.StringInput + // The virtual network interface identifier + VirtualNetworkInterface pulumi.StringInput +} + +func (IsVirtualNetworkInterfaceFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualNetworkInterfaceFloatingIpArgs)(nil)).Elem() +} + +type IsVirtualNetworkInterfaceFloatingIpInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceFloatingIpOutput() IsVirtualNetworkInterfaceFloatingIpOutput + ToIsVirtualNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceFloatingIpOutput +} + +func (*IsVirtualNetworkInterfaceFloatingIp) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (i *IsVirtualNetworkInterfaceFloatingIp) ToIsVirtualNetworkInterfaceFloatingIpOutput() IsVirtualNetworkInterfaceFloatingIpOutput { + return i.ToIsVirtualNetworkInterfaceFloatingIpOutputWithContext(context.Background()) +} + +func (i *IsVirtualNetworkInterfaceFloatingIp) ToIsVirtualNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceFloatingIpOutput) +} + +type IsVirtualNetworkInterfaceFloatingIpOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceFloatingIpOutput) ToIsVirtualNetworkInterfaceFloatingIpOutput() IsVirtualNetworkInterfaceFloatingIpOutput { + return o +} + +func (o IsVirtualNetworkInterfaceFloatingIpOutput) ToIsVirtualNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceFloatingIpOutput { + return o +} + +// The globally unique IP address. +func (o IsVirtualNetworkInterfaceFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) +} + +// The CRN for this floating IP. +func (o IsVirtualNetworkInterfaceFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. +func (o IsVirtualNetworkInterfaceFloatingIpOutput) Deleteds() IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceFloatingIp) IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return v.Deleteds + }).(IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +// The floating IP identifier +func (o IsVirtualNetworkInterfaceFloatingIpOutput) FloatingIp() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.FloatingIp }).(pulumi.StringOutput) +} + +// The URL for this floating IP. +func (o IsVirtualNetworkInterfaceFloatingIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The name for this floating IP. The name is unique across all floating IPs in the region. +func (o IsVirtualNetworkInterfaceFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The virtual network interface identifier +func (o IsVirtualNetworkInterfaceFloatingIpOutput) VirtualNetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceFloatingIp) pulumi.StringOutput { return v.VirtualNetworkInterface }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceFloatingIpInput)(nil)).Elem(), &IsVirtualNetworkInterfaceFloatingIp{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceFloatingIpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterfaceIp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterfaceIp.go new file mode 100644 index 000000000..314ab6aa2 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVirtualNetworkInterfaceIp.go @@ -0,0 +1,186 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVirtualNetworkInterfaceIp struct { + pulumi.CustomResourceState + + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringOutput `pulumi:"address"` + // The URL for this reserved IP. + Href pulumi.StringOutput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringOutput `pulumi:"name"` + // The reserved ip identifier. + ReservedIp pulumi.StringOutput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The virtual network interface identifier. + VirtualNetworkInterface pulumi.StringOutput `pulumi:"virtualNetworkInterface"` +} + +// NewIsVirtualNetworkInterfaceIp registers a new resource with the given unique name, arguments, and options. +func NewIsVirtualNetworkInterfaceIp(ctx *pulumi.Context, + name string, args *IsVirtualNetworkInterfaceIpArgs, opts ...pulumi.ResourceOption) (*IsVirtualNetworkInterfaceIp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ReservedIp == nil { + return nil, errors.New("invalid value for required argument 'ReservedIp'") + } + if args.VirtualNetworkInterface == nil { + return nil, errors.New("invalid value for required argument 'VirtualNetworkInterface'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVirtualNetworkInterfaceIp + err := ctx.RegisterResource("ibmcloud:index/isVirtualNetworkInterfaceIp:IsVirtualNetworkInterfaceIp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVirtualNetworkInterfaceIp gets an existing IsVirtualNetworkInterfaceIp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVirtualNetworkInterfaceIp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVirtualNetworkInterfaceIpState, opts ...pulumi.ResourceOption) (*IsVirtualNetworkInterfaceIp, error) { + var resource IsVirtualNetworkInterfaceIp + err := ctx.ReadResource("ibmcloud:index/isVirtualNetworkInterfaceIp:IsVirtualNetworkInterfaceIp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVirtualNetworkInterfaceIp resources. +type isVirtualNetworkInterfaceIpState struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The reserved ip identifier. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The virtual network interface identifier. + VirtualNetworkInterface *string `pulumi:"virtualNetworkInterface"` +} + +type IsVirtualNetworkInterfaceIpState struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput + // The URL for this reserved IP. + Href pulumi.StringPtrInput + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput + // The reserved ip identifier. + ReservedIp pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The virtual network interface identifier. + VirtualNetworkInterface pulumi.StringPtrInput +} + +func (IsVirtualNetworkInterfaceIpState) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualNetworkInterfaceIpState)(nil)).Elem() +} + +type isVirtualNetworkInterfaceIpArgs struct { + // The reserved ip identifier. + ReservedIp string `pulumi:"reservedIp"` + // The virtual network interface identifier. + VirtualNetworkInterface string `pulumi:"virtualNetworkInterface"` +} + +// The set of arguments for constructing a IsVirtualNetworkInterfaceIp resource. +type IsVirtualNetworkInterfaceIpArgs struct { + // The reserved ip identifier. + ReservedIp pulumi.StringInput + // The virtual network interface identifier. + VirtualNetworkInterface pulumi.StringInput +} + +func (IsVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVirtualNetworkInterfaceIpArgs)(nil)).Elem() +} + +type IsVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceIpOutput() IsVirtualNetworkInterfaceIpOutput + ToIsVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpOutput +} + +func (*IsVirtualNetworkInterfaceIp) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i *IsVirtualNetworkInterfaceIp) ToIsVirtualNetworkInterfaceIpOutput() IsVirtualNetworkInterfaceIpOutput { + return i.ToIsVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i *IsVirtualNetworkInterfaceIp) ToIsVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceIpOutput) +} + +type IsVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceIpOutput) ToIsVirtualNetworkInterfaceIpOutput() IsVirtualNetworkInterfaceIpOutput { + return o +} + +func (o IsVirtualNetworkInterfaceIpOutput) ToIsVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsVirtualNetworkInterfaceIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceIp) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP. +func (o IsVirtualNetworkInterfaceIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceIp) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsVirtualNetworkInterfaceIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceIp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The reserved ip identifier. +func (o IsVirtualNetworkInterfaceIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceIp) pulumi.StringOutput { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsVirtualNetworkInterfaceIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceIp) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The virtual network interface identifier. +func (o IsVirtualNetworkInterfaceIpOutput) VirtualNetworkInterface() pulumi.StringOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfaceIp) pulumi.StringOutput { return v.VirtualNetworkInterface }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceIpInput)(nil)).Elem(), &IsVirtualNetworkInterfaceIp{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceIpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVolume.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVolume.go new file mode 100644 index 000000000..d8854d0b6 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVolume.go @@ -0,0 +1,490 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVolume struct { + pulumi.CustomResourceState + + // Access management tags for the volume instance + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The attachment states that support adjustable capacity for this volume. + AdjustableCapacityStates pulumi.StringArrayOutput `pulumi:"adjustableCapacityStates"` + // The attachment states that support adjustable IOPS for this volume. + AdjustableIopsStates pulumi.StringArrayOutput `pulumi:"adjustableIopsStates"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse IsVolumeAllowedUseOutput `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` + // Volume capacity value + Capacity pulumi.IntOutput `pulumi:"capacity"` + // The catalog offering this volume was created from. If a virtual server instance is provisioned with a bootVolumeAttachment specifying this volume, the virtual server instance will use this volume's catalog offering, including its pricing plan. + CatalogOfferings IsVolumeCatalogOfferingArrayOutput `pulumi:"catalogOfferings"` + // CRN value for the volume instance + Crn pulumi.StringOutput `pulumi:"crn"` + // Deletes all snapshots created from this volume + DeleteAllSnapshots pulumi.BoolPtrOutput `pulumi:"deleteAllSnapshots"` + // Volume encryption key info + EncryptionKey pulumi.StringPtrOutput `pulumi:"encryptionKey"` + // Volume encryption type info + EncryptionType pulumi.StringOutput `pulumi:"encryptionType"` + HealthReasons IsVolumeHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource. + HealthState pulumi.StringOutput `pulumi:"healthState"` + // IOPS value for the Volume + Iops pulumi.IntOutput `pulumi:"iops"` + // Volume name + Name pulumi.StringOutput `pulumi:"name"` + // The operating system associated with this volume. If absent, this volume was notcreated from an image, or the image did not include an operating system. + OperatingSystems IsVolumeOperatingSystemArrayOutput `pulumi:"operatingSystems"` + // Volume profile name + Profile pulumi.StringOutput `pulumi:"profile"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Resource group name + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // The unique identifier for this snapshot + SourceSnapshot pulumi.StringOutput `pulumi:"sourceSnapshot"` + // The crn for this snapshot + SourceSnapshotCrn pulumi.StringOutput `pulumi:"sourceSnapshotCrn"` + // Volume status + Status pulumi.StringOutput `pulumi:"status"` + StatusReasons IsVolumeStatusReasonArrayOutput `pulumi:"statusReasons"` + // storage_generation indicates which generation the profile family belongs to. For the custom and tiered profiles, this value is 1. + StorageGeneration pulumi.IntOutput `pulumi:"storageGeneration"` + // UserTags for the volume instance + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // Zone name + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsVolume registers a new resource with the given unique name, arguments, and options. +func NewIsVolume(ctx *pulumi.Context, + name string, args *IsVolumeArgs, opts ...pulumi.ResourceOption) (*IsVolume, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Profile == nil { + return nil, errors.New("invalid value for required argument 'Profile'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVolume + err := ctx.RegisterResource("ibmcloud:index/isVolume:IsVolume", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVolume gets an existing IsVolume resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVolume(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVolumeState, opts ...pulumi.ResourceOption) (*IsVolume, error) { + var resource IsVolume + err := ctx.ReadResource("ibmcloud:index/isVolume:IsVolume", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVolume resources. +type isVolumeState struct { + // Access management tags for the volume instance + AccessTags []string `pulumi:"accessTags"` + // The attachment states that support adjustable capacity for this volume. + AdjustableCapacityStates []string `pulumi:"adjustableCapacityStates"` + // The attachment states that support adjustable IOPS for this volume. + AdjustableIopsStates []string `pulumi:"adjustableIopsStates"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsVolumeAllowedUse `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth *int `pulumi:"bandwidth"` + // Volume capacity value + Capacity *int `pulumi:"capacity"` + // The catalog offering this volume was created from. If a virtual server instance is provisioned with a bootVolumeAttachment specifying this volume, the virtual server instance will use this volume's catalog offering, including its pricing plan. + CatalogOfferings []IsVolumeCatalogOffering `pulumi:"catalogOfferings"` + // CRN value for the volume instance + Crn *string `pulumi:"crn"` + // Deletes all snapshots created from this volume + DeleteAllSnapshots *bool `pulumi:"deleteAllSnapshots"` + // Volume encryption key info + EncryptionKey *string `pulumi:"encryptionKey"` + // Volume encryption type info + EncryptionType *string `pulumi:"encryptionType"` + HealthReasons []IsVolumeHealthReason `pulumi:"healthReasons"` + // The health of this resource. + HealthState *string `pulumi:"healthState"` + // IOPS value for the Volume + Iops *int `pulumi:"iops"` + // Volume name + Name *string `pulumi:"name"` + // The operating system associated with this volume. If absent, this volume was notcreated from an image, or the image did not include an operating system. + OperatingSystems []IsVolumeOperatingSystem `pulumi:"operatingSystems"` + // Volume profile name + Profile *string `pulumi:"profile"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Resource group name + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // The unique identifier for this snapshot + SourceSnapshot *string `pulumi:"sourceSnapshot"` + // The crn for this snapshot + SourceSnapshotCrn *string `pulumi:"sourceSnapshotCrn"` + // Volume status + Status *string `pulumi:"status"` + StatusReasons []IsVolumeStatusReason `pulumi:"statusReasons"` + // storage_generation indicates which generation the profile family belongs to. For the custom and tiered profiles, this value is 1. + StorageGeneration *int `pulumi:"storageGeneration"` + // UserTags for the volume instance + Tags []string `pulumi:"tags"` + // Zone name + Zone *string `pulumi:"zone"` +} + +type IsVolumeState struct { + // Access management tags for the volume instance + AccessTags pulumi.StringArrayInput + // The attachment states that support adjustable capacity for this volume. + AdjustableCapacityStates pulumi.StringArrayInput + // The attachment states that support adjustable IOPS for this volume. + AdjustableIopsStates pulumi.StringArrayInput + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse IsVolumeAllowedUsePtrInput + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntPtrInput + // Volume capacity value + Capacity pulumi.IntPtrInput + // The catalog offering this volume was created from. If a virtual server instance is provisioned with a bootVolumeAttachment specifying this volume, the virtual server instance will use this volume's catalog offering, including its pricing plan. + CatalogOfferings IsVolumeCatalogOfferingArrayInput + // CRN value for the volume instance + Crn pulumi.StringPtrInput + // Deletes all snapshots created from this volume + DeleteAllSnapshots pulumi.BoolPtrInput + // Volume encryption key info + EncryptionKey pulumi.StringPtrInput + // Volume encryption type info + EncryptionType pulumi.StringPtrInput + HealthReasons IsVolumeHealthReasonArrayInput + // The health of this resource. + HealthState pulumi.StringPtrInput + // IOPS value for the Volume + Iops pulumi.IntPtrInput + // Volume name + Name pulumi.StringPtrInput + // The operating system associated with this volume. If absent, this volume was notcreated from an image, or the image did not include an operating system. + OperatingSystems IsVolumeOperatingSystemArrayInput + // Volume profile name + Profile pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Resource group name + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // The unique identifier for this snapshot + SourceSnapshot pulumi.StringPtrInput + // The crn for this snapshot + SourceSnapshotCrn pulumi.StringPtrInput + // Volume status + Status pulumi.StringPtrInput + StatusReasons IsVolumeStatusReasonArrayInput + // storage_generation indicates which generation the profile family belongs to. For the custom and tiered profiles, this value is 1. + StorageGeneration pulumi.IntPtrInput + // UserTags for the volume instance + Tags pulumi.StringArrayInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsVolumeState) ElementType() reflect.Type { + return reflect.TypeOf((*isVolumeState)(nil)).Elem() +} + +type isVolumeArgs struct { + // Access management tags for the volume instance + AccessTags []string `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsVolumeAllowedUse `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth *int `pulumi:"bandwidth"` + // Volume capacity value + Capacity *int `pulumi:"capacity"` + // Deletes all snapshots created from this volume + DeleteAllSnapshots *bool `pulumi:"deleteAllSnapshots"` + // Volume encryption key info + EncryptionKey *string `pulumi:"encryptionKey"` + // IOPS value for the Volume + Iops *int `pulumi:"iops"` + // Volume name + Name *string `pulumi:"name"` + // Volume profile name + Profile string `pulumi:"profile"` + // Resource group name + ResourceGroup *string `pulumi:"resourceGroup"` + // The unique identifier for this snapshot + SourceSnapshot *string `pulumi:"sourceSnapshot"` + // The crn for this snapshot + SourceSnapshotCrn *string `pulumi:"sourceSnapshotCrn"` + // UserTags for the volume instance + Tags []string `pulumi:"tags"` + // Zone name + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsVolume resource. +type IsVolumeArgs struct { + // Access management tags for the volume instance + AccessTags pulumi.StringArrayInput + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUse IsVolumeAllowedUsePtrInput + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntPtrInput + // Volume capacity value + Capacity pulumi.IntPtrInput + // Deletes all snapshots created from this volume + DeleteAllSnapshots pulumi.BoolPtrInput + // Volume encryption key info + EncryptionKey pulumi.StringPtrInput + // IOPS value for the Volume + Iops pulumi.IntPtrInput + // Volume name + Name pulumi.StringPtrInput + // Volume profile name + Profile pulumi.StringInput + // Resource group name + ResourceGroup pulumi.StringPtrInput + // The unique identifier for this snapshot + SourceSnapshot pulumi.StringPtrInput + // The crn for this snapshot + SourceSnapshotCrn pulumi.StringPtrInput + // UserTags for the volume instance + Tags pulumi.StringArrayInput + // Zone name + Zone pulumi.StringInput +} + +func (IsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVolumeArgs)(nil)).Elem() +} + +type IsVolumeInput interface { + pulumi.Input + + ToIsVolumeOutput() IsVolumeOutput + ToIsVolumeOutputWithContext(ctx context.Context) IsVolumeOutput +} + +func (*IsVolume) ElementType() reflect.Type { + return reflect.TypeOf((**IsVolume)(nil)).Elem() +} + +func (i *IsVolume) ToIsVolumeOutput() IsVolumeOutput { + return i.ToIsVolumeOutputWithContext(context.Background()) +} + +func (i *IsVolume) ToIsVolumeOutputWithContext(ctx context.Context) IsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeOutput) +} + +type IsVolumeOutput struct{ *pulumi.OutputState } + +func (IsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVolume)(nil)).Elem() +} + +func (o IsVolumeOutput) ToIsVolumeOutput() IsVolumeOutput { + return o +} + +func (o IsVolumeOutput) ToIsVolumeOutputWithContext(ctx context.Context) IsVolumeOutput { + return o +} + +// Access management tags for the volume instance +func (o IsVolumeOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The attachment states that support adjustable capacity for this volume. +func (o IsVolumeOutput) AdjustableCapacityStates() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringArrayOutput { return v.AdjustableCapacityStates }).(pulumi.StringArrayOutput) +} + +// The attachment states that support adjustable IOPS for this volume. +func (o IsVolumeOutput) AdjustableIopsStates() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringArrayOutput { return v.AdjustableIopsStates }).(pulumi.StringArrayOutput) +} + +// The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. +func (o IsVolumeOutput) AllowedUse() IsVolumeAllowedUseOutput { + return o.ApplyT(func(v *IsVolume) IsVolumeAllowedUseOutput { return v.AllowedUse }).(IsVolumeAllowedUseOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsVolumeOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *IsVolume) pulumi.IntOutput { return v.Bandwidth }).(pulumi.IntOutput) +} + +// Volume capacity value +func (o IsVolumeOutput) Capacity() pulumi.IntOutput { + return o.ApplyT(func(v *IsVolume) pulumi.IntOutput { return v.Capacity }).(pulumi.IntOutput) +} + +// The catalog offering this volume was created from. If a virtual server instance is provisioned with a bootVolumeAttachment specifying this volume, the virtual server instance will use this volume's catalog offering, including its pricing plan. +func (o IsVolumeOutput) CatalogOfferings() IsVolumeCatalogOfferingArrayOutput { + return o.ApplyT(func(v *IsVolume) IsVolumeCatalogOfferingArrayOutput { return v.CatalogOfferings }).(IsVolumeCatalogOfferingArrayOutput) +} + +// CRN value for the volume instance +func (o IsVolumeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Deletes all snapshots created from this volume +func (o IsVolumeOutput) DeleteAllSnapshots() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVolume) pulumi.BoolPtrOutput { return v.DeleteAllSnapshots }).(pulumi.BoolPtrOutput) +} + +// Volume encryption key info +func (o IsVolumeOutput) EncryptionKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringPtrOutput { return v.EncryptionKey }).(pulumi.StringPtrOutput) +} + +// Volume encryption type info +func (o IsVolumeOutput) EncryptionType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.EncryptionType }).(pulumi.StringOutput) +} + +func (o IsVolumeOutput) HealthReasons() IsVolumeHealthReasonArrayOutput { + return o.ApplyT(func(v *IsVolume) IsVolumeHealthReasonArrayOutput { return v.HealthReasons }).(IsVolumeHealthReasonArrayOutput) +} + +// The health of this resource. +func (o IsVolumeOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// IOPS value for the Volume +func (o IsVolumeOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v *IsVolume) pulumi.IntOutput { return v.Iops }).(pulumi.IntOutput) +} + +// Volume name +func (o IsVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The operating system associated with this volume. If absent, this volume was notcreated from an image, or the image did not include an operating system. +func (o IsVolumeOutput) OperatingSystems() IsVolumeOperatingSystemArrayOutput { + return o.ApplyT(func(v *IsVolume) IsVolumeOperatingSystemArrayOutput { return v.OperatingSystems }).(IsVolumeOperatingSystemArrayOutput) +} + +// Volume profile name +func (o IsVolumeOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.Profile }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsVolumeOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsVolumeOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Resource group name +func (o IsVolumeOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsVolumeOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsVolumeOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsVolumeOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot +func (o IsVolumeOutput) SourceSnapshot() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.SourceSnapshot }).(pulumi.StringOutput) +} + +// The crn for this snapshot +func (o IsVolumeOutput) SourceSnapshotCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.SourceSnapshotCrn }).(pulumi.StringOutput) +} + +// Volume status +func (o IsVolumeOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o IsVolumeOutput) StatusReasons() IsVolumeStatusReasonArrayOutput { + return o.ApplyT(func(v *IsVolume) IsVolumeStatusReasonArrayOutput { return v.StatusReasons }).(IsVolumeStatusReasonArrayOutput) +} + +// storage_generation indicates which generation the profile family belongs to. For the custom and tiered profiles, this value is 1. +func (o IsVolumeOutput) StorageGeneration() pulumi.IntOutput { + return o.ApplyT(func(v *IsVolume) pulumi.IntOutput { return v.StorageGeneration }).(pulumi.IntOutput) +} + +// UserTags for the volume instance +func (o IsVolumeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Zone name +func (o IsVolumeOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsVolume) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeInput)(nil)).Elem(), &IsVolume{}) + pulumi.RegisterOutputType(IsVolumeOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpc.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpc.go new file mode 100644 index 000000000..aacb1eb34 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpc.go @@ -0,0 +1,490 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpc struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // Address Prefix management value + AddressPrefixManagement pulumi.StringPtrOutput `pulumi:"addressPrefixManagement"` + // Set to true if classic access needs to enabled to VPC + // + // Deprecated: Classic access is deprecated + ClassicAccess pulumi.BoolPtrOutput `pulumi:"classicAccess"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + CseSourceAddresses IsVpcCseSourceAddressArrayOutput `pulumi:"cseSourceAddresses"` + // Default address prefixes for each zone. + DefaultAddressPrefixes pulumi.StringMapOutput `pulumi:"defaultAddressPrefixes"` + // Default network ACL ID + DefaultNetworkAcl pulumi.StringOutput `pulumi:"defaultNetworkAcl"` + // Default Network ACL CRN + DefaultNetworkAclCrn pulumi.StringOutput `pulumi:"defaultNetworkAclCrn"` + // Default Network ACL name + DefaultNetworkAclName pulumi.StringOutput `pulumi:"defaultNetworkAclName"` + // Default routing table associated with VPC + DefaultRoutingTable pulumi.StringOutput `pulumi:"defaultRoutingTable"` + // Default routing table CRN + DefaultRoutingTableCrn pulumi.StringOutput `pulumi:"defaultRoutingTableCrn"` + // Default routing table name + DefaultRoutingTableName pulumi.StringOutput `pulumi:"defaultRoutingTableName"` + // Security group associated with VPC + DefaultSecurityGroup pulumi.StringOutput `pulumi:"defaultSecurityGroup"` + // Default security group CRN + DefaultSecurityGroupCrn pulumi.StringOutput `pulumi:"defaultSecurityGroupCrn"` + // Default security group name + DefaultSecurityGroupName pulumi.StringOutput `pulumi:"defaultSecurityGroupName"` + // The DNS configuration for this VPC. + Dns IsVpcDnsOutput `pulumi:"dns"` + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons IsVpcHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringOutput `pulumi:"healthState"` + // VPC name + Name pulumi.StringOutput `pulumi:"name"` + // Delete all rules attached with default security group and default acl + NoSgAclRules pulumi.BoolPtrOutput `pulumi:"noSgAclRules"` + // The public address ranges attached to this VPC. + PublicAddressRanges IsVpcPublicAddressRangeArrayOutput `pulumi:"publicAddressRanges"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // Resource group info + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + SecurityGroups IsVpcSecurityGroupArrayOutput `pulumi:"securityGroups"` + // VPC status + Status pulumi.StringOutput `pulumi:"status"` + Subnets IsVpcSubnetArrayOutput `pulumi:"subnets"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` +} + +// NewIsVpc registers a new resource with the given unique name, arguments, and options. +func NewIsVpc(ctx *pulumi.Context, + name string, args *IsVpcArgs, opts ...pulumi.ResourceOption) (*IsVpc, error) { + if args == nil { + args = &IsVpcArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpc + err := ctx.RegisterResource("ibmcloud:index/isVpc:IsVpc", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpc gets an existing IsVpc resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpc(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpcState, opts ...pulumi.ResourceOption) (*IsVpc, error) { + var resource IsVpc + err := ctx.ReadResource("ibmcloud:index/isVpc:IsVpc", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpc resources. +type isVpcState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Address Prefix management value + AddressPrefixManagement *string `pulumi:"addressPrefixManagement"` + // Set to true if classic access needs to enabled to VPC + // + // Deprecated: Classic access is deprecated + ClassicAccess *bool `pulumi:"classicAccess"` + // The crn of the resource + Crn *string `pulumi:"crn"` + CseSourceAddresses []IsVpcCseSourceAddress `pulumi:"cseSourceAddresses"` + // Default address prefixes for each zone. + DefaultAddressPrefixes map[string]string `pulumi:"defaultAddressPrefixes"` + // Default network ACL ID + DefaultNetworkAcl *string `pulumi:"defaultNetworkAcl"` + // Default Network ACL CRN + DefaultNetworkAclCrn *string `pulumi:"defaultNetworkAclCrn"` + // Default Network ACL name + DefaultNetworkAclName *string `pulumi:"defaultNetworkAclName"` + // Default routing table associated with VPC + DefaultRoutingTable *string `pulumi:"defaultRoutingTable"` + // Default routing table CRN + DefaultRoutingTableCrn *string `pulumi:"defaultRoutingTableCrn"` + // Default routing table name + DefaultRoutingTableName *string `pulumi:"defaultRoutingTableName"` + // Security group associated with VPC + DefaultSecurityGroup *string `pulumi:"defaultSecurityGroup"` + // Default security group CRN + DefaultSecurityGroupCrn *string `pulumi:"defaultSecurityGroupCrn"` + // Default security group name + DefaultSecurityGroupName *string `pulumi:"defaultSecurityGroupName"` + // The DNS configuration for this VPC. + Dns *IsVpcDns `pulumi:"dns"` + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons []IsVpcHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `pulumi:"healthState"` + // VPC name + Name *string `pulumi:"name"` + // Delete all rules attached with default security group and default acl + NoSgAclRules *bool `pulumi:"noSgAclRules"` + // The public address ranges attached to this VPC. + PublicAddressRanges []IsVpcPublicAddressRange `pulumi:"publicAddressRanges"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // Resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + SecurityGroups []IsVpcSecurityGroup `pulumi:"securityGroups"` + // VPC status + Status *string `pulumi:"status"` + Subnets []IsVpcSubnet `pulumi:"subnets"` + // List of tags + Tags []string `pulumi:"tags"` +} + +type IsVpcState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Address Prefix management value + AddressPrefixManagement pulumi.StringPtrInput + // Set to true if classic access needs to enabled to VPC + // + // Deprecated: Classic access is deprecated + ClassicAccess pulumi.BoolPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + CseSourceAddresses IsVpcCseSourceAddressArrayInput + // Default address prefixes for each zone. + DefaultAddressPrefixes pulumi.StringMapInput + // Default network ACL ID + DefaultNetworkAcl pulumi.StringPtrInput + // Default Network ACL CRN + DefaultNetworkAclCrn pulumi.StringPtrInput + // Default Network ACL name + DefaultNetworkAclName pulumi.StringPtrInput + // Default routing table associated with VPC + DefaultRoutingTable pulumi.StringPtrInput + // Default routing table CRN + DefaultRoutingTableCrn pulumi.StringPtrInput + // Default routing table name + DefaultRoutingTableName pulumi.StringPtrInput + // Security group associated with VPC + DefaultSecurityGroup pulumi.StringPtrInput + // Default security group CRN + DefaultSecurityGroupCrn pulumi.StringPtrInput + // Default security group name + DefaultSecurityGroupName pulumi.StringPtrInput + // The DNS configuration for this VPC. + Dns IsVpcDnsPtrInput + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons IsVpcHealthReasonArrayInput + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringPtrInput + // VPC name + Name pulumi.StringPtrInput + // Delete all rules attached with default security group and default acl + NoSgAclRules pulumi.BoolPtrInput + // The public address ranges attached to this VPC. + PublicAddressRanges IsVpcPublicAddressRangeArrayInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // Resource group info + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + SecurityGroups IsVpcSecurityGroupArrayInput + // VPC status + Status pulumi.StringPtrInput + Subnets IsVpcSubnetArrayInput + // List of tags + Tags pulumi.StringArrayInput +} + +func (IsVpcState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcState)(nil)).Elem() +} + +type isVpcArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Address Prefix management value + AddressPrefixManagement *string `pulumi:"addressPrefixManagement"` + // Set to true if classic access needs to enabled to VPC + // + // Deprecated: Classic access is deprecated + ClassicAccess *bool `pulumi:"classicAccess"` + // Default Network ACL name + DefaultNetworkAclName *string `pulumi:"defaultNetworkAclName"` + // Default routing table name + DefaultRoutingTableName *string `pulumi:"defaultRoutingTableName"` + // Default security group name + DefaultSecurityGroupName *string `pulumi:"defaultSecurityGroupName"` + // The DNS configuration for this VPC. + Dns *IsVpcDns `pulumi:"dns"` + // VPC name + Name *string `pulumi:"name"` + // Delete all rules attached with default security group and default acl + NoSgAclRules *bool `pulumi:"noSgAclRules"` + // Resource group info + ResourceGroup *string `pulumi:"resourceGroup"` + // List of tags + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsVpc resource. +type IsVpcArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Address Prefix management value + AddressPrefixManagement pulumi.StringPtrInput + // Set to true if classic access needs to enabled to VPC + // + // Deprecated: Classic access is deprecated + ClassicAccess pulumi.BoolPtrInput + // Default Network ACL name + DefaultNetworkAclName pulumi.StringPtrInput + // Default routing table name + DefaultRoutingTableName pulumi.StringPtrInput + // Default security group name + DefaultSecurityGroupName pulumi.StringPtrInput + // The DNS configuration for this VPC. + Dns IsVpcDnsPtrInput + // VPC name + Name pulumi.StringPtrInput + // Delete all rules attached with default security group and default acl + NoSgAclRules pulumi.BoolPtrInput + // Resource group info + ResourceGroup pulumi.StringPtrInput + // List of tags + Tags pulumi.StringArrayInput +} + +func (IsVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcArgs)(nil)).Elem() +} + +type IsVpcInput interface { + pulumi.Input + + ToIsVpcOutput() IsVpcOutput + ToIsVpcOutputWithContext(ctx context.Context) IsVpcOutput +} + +func (*IsVpc) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpc)(nil)).Elem() +} + +func (i *IsVpc) ToIsVpcOutput() IsVpcOutput { + return i.ToIsVpcOutputWithContext(context.Background()) +} + +func (i *IsVpc) ToIsVpcOutputWithContext(ctx context.Context) IsVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcOutput) +} + +type IsVpcOutput struct{ *pulumi.OutputState } + +func (IsVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpc)(nil)).Elem() +} + +func (o IsVpcOutput) ToIsVpcOutput() IsVpcOutput { + return o +} + +func (o IsVpcOutput) ToIsVpcOutputWithContext(ctx context.Context) IsVpcOutput { + return o +} + +// List of access management tags +func (o IsVpcOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Address Prefix management value +func (o IsVpcOutput) AddressPrefixManagement() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringPtrOutput { return v.AddressPrefixManagement }).(pulumi.StringPtrOutput) +} + +// Set to true if classic access needs to enabled to VPC +// +// Deprecated: Classic access is deprecated +func (o IsVpcOutput) ClassicAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpc) pulumi.BoolPtrOutput { return v.ClassicAccess }).(pulumi.BoolPtrOutput) +} + +// The crn of the resource +func (o IsVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +func (o IsVpcOutput) CseSourceAddresses() IsVpcCseSourceAddressArrayOutput { + return o.ApplyT(func(v *IsVpc) IsVpcCseSourceAddressArrayOutput { return v.CseSourceAddresses }).(IsVpcCseSourceAddressArrayOutput) +} + +// Default address prefixes for each zone. +func (o IsVpcOutput) DefaultAddressPrefixes() pulumi.StringMapOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringMapOutput { return v.DefaultAddressPrefixes }).(pulumi.StringMapOutput) +} + +// Default network ACL ID +func (o IsVpcOutput) DefaultNetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultNetworkAcl }).(pulumi.StringOutput) +} + +// Default Network ACL CRN +func (o IsVpcOutput) DefaultNetworkAclCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultNetworkAclCrn }).(pulumi.StringOutput) +} + +// Default Network ACL name +func (o IsVpcOutput) DefaultNetworkAclName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultNetworkAclName }).(pulumi.StringOutput) +} + +// Default routing table associated with VPC +func (o IsVpcOutput) DefaultRoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultRoutingTable }).(pulumi.StringOutput) +} + +// Default routing table CRN +func (o IsVpcOutput) DefaultRoutingTableCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultRoutingTableCrn }).(pulumi.StringOutput) +} + +// Default routing table name +func (o IsVpcOutput) DefaultRoutingTableName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultRoutingTableName }).(pulumi.StringOutput) +} + +// Security group associated with VPC +func (o IsVpcOutput) DefaultSecurityGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultSecurityGroup }).(pulumi.StringOutput) +} + +// Default security group CRN +func (o IsVpcOutput) DefaultSecurityGroupCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultSecurityGroupCrn }).(pulumi.StringOutput) +} + +// Default security group name +func (o IsVpcOutput) DefaultSecurityGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.DefaultSecurityGroupName }).(pulumi.StringOutput) +} + +// The DNS configuration for this VPC. +func (o IsVpcOutput) Dns() IsVpcDnsOutput { + return o.ApplyT(func(v *IsVpc) IsVpcDnsOutput { return v.Dns }).(IsVpcDnsOutput) +} + +// The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o IsVpcOutput) HealthReasons() IsVpcHealthReasonArrayOutput { + return o.ApplyT(func(v *IsVpc) IsVpcHealthReasonArrayOutput { return v.HealthReasons }).(IsVpcHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o IsVpcOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// VPC name +func (o IsVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Delete all rules attached with default security group and default acl +func (o IsVpcOutput) NoSgAclRules() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpc) pulumi.BoolPtrOutput { return v.NoSgAclRules }).(pulumi.BoolPtrOutput) +} + +// The public address ranges attached to this VPC. +func (o IsVpcOutput) PublicAddressRanges() IsVpcPublicAddressRangeArrayOutput { + return o.ApplyT(func(v *IsVpc) IsVpcPublicAddressRangeArrayOutput { return v.PublicAddressRanges }).(IsVpcPublicAddressRangeArrayOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsVpcOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsVpcOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Resource group info +func (o IsVpcOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsVpcOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsVpcOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsVpcOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o IsVpcOutput) SecurityGroups() IsVpcSecurityGroupArrayOutput { + return o.ApplyT(func(v *IsVpc) IsVpcSecurityGroupArrayOutput { return v.SecurityGroups }).(IsVpcSecurityGroupArrayOutput) +} + +// VPC status +func (o IsVpcOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o IsVpcOutput) Subnets() IsVpcSubnetArrayOutput { + return o.ApplyT(func(v *IsVpc) IsVpcSubnetArrayOutput { return v.Subnets }).(IsVpcSubnetArrayOutput) +} + +// List of tags +func (o IsVpcOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpc) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcInput)(nil)).Elem(), &IsVpc{}) + pulumi.RegisterOutputType(IsVpcOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcAddressPrefix.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcAddressPrefix.go new file mode 100644 index 000000000..00a56a69e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcAddressPrefix.go @@ -0,0 +1,223 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpcAddressPrefix struct { + pulumi.CustomResourceState + + // The unique identifier of the address prefix + AddressPrefix pulumi.StringOutput `pulumi:"addressPrefix"` + // CIDIR address prefix + Cidr pulumi.StringOutput `pulumi:"cidr"` + // Boolean value, set to true if VPC instance have subnets + HasSubnets pulumi.BoolOutput `pulumi:"hasSubnets"` + // Is default prefix for this zone in this VPC + IsDefault pulumi.BoolPtrOutput `pulumi:"isDefault"` + // Name + Name pulumi.StringOutput `pulumi:"name"` + // The crn of the VPC resource + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + // VPC id + Vpc pulumi.StringOutput `pulumi:"vpc"` + // Zone name + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsVpcAddressPrefix registers a new resource with the given unique name, arguments, and options. +func NewIsVpcAddressPrefix(ctx *pulumi.Context, + name string, args *IsVpcAddressPrefixArgs, opts ...pulumi.ResourceOption) (*IsVpcAddressPrefix, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Cidr == nil { + return nil, errors.New("invalid value for required argument 'Cidr'") + } + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpcAddressPrefix + err := ctx.RegisterResource("ibmcloud:index/isVpcAddressPrefix:IsVpcAddressPrefix", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpcAddressPrefix gets an existing IsVpcAddressPrefix resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpcAddressPrefix(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpcAddressPrefixState, opts ...pulumi.ResourceOption) (*IsVpcAddressPrefix, error) { + var resource IsVpcAddressPrefix + err := ctx.ReadResource("ibmcloud:index/isVpcAddressPrefix:IsVpcAddressPrefix", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpcAddressPrefix resources. +type isVpcAddressPrefixState struct { + // The unique identifier of the address prefix + AddressPrefix *string `pulumi:"addressPrefix"` + // CIDIR address prefix + Cidr *string `pulumi:"cidr"` + // Boolean value, set to true if VPC instance have subnets + HasSubnets *bool `pulumi:"hasSubnets"` + // Is default prefix for this zone in this VPC + IsDefault *bool `pulumi:"isDefault"` + // Name + Name *string `pulumi:"name"` + // The crn of the VPC resource + RelatedCrn *string `pulumi:"relatedCrn"` + // VPC id + Vpc *string `pulumi:"vpc"` + // Zone name + Zone *string `pulumi:"zone"` +} + +type IsVpcAddressPrefixState struct { + // The unique identifier of the address prefix + AddressPrefix pulumi.StringPtrInput + // CIDIR address prefix + Cidr pulumi.StringPtrInput + // Boolean value, set to true if VPC instance have subnets + HasSubnets pulumi.BoolPtrInput + // Is default prefix for this zone in this VPC + IsDefault pulumi.BoolPtrInput + // Name + Name pulumi.StringPtrInput + // The crn of the VPC resource + RelatedCrn pulumi.StringPtrInput + // VPC id + Vpc pulumi.StringPtrInput + // Zone name + Zone pulumi.StringPtrInput +} + +func (IsVpcAddressPrefixState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcAddressPrefixState)(nil)).Elem() +} + +type isVpcAddressPrefixArgs struct { + // CIDIR address prefix + Cidr string `pulumi:"cidr"` + // Is default prefix for this zone in this VPC + IsDefault *bool `pulumi:"isDefault"` + // Name + Name *string `pulumi:"name"` + // VPC id + Vpc string `pulumi:"vpc"` + // Zone name + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsVpcAddressPrefix resource. +type IsVpcAddressPrefixArgs struct { + // CIDIR address prefix + Cidr pulumi.StringInput + // Is default prefix for this zone in this VPC + IsDefault pulumi.BoolPtrInput + // Name + Name pulumi.StringPtrInput + // VPC id + Vpc pulumi.StringInput + // Zone name + Zone pulumi.StringInput +} + +func (IsVpcAddressPrefixArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcAddressPrefixArgs)(nil)).Elem() +} + +type IsVpcAddressPrefixInput interface { + pulumi.Input + + ToIsVpcAddressPrefixOutput() IsVpcAddressPrefixOutput + ToIsVpcAddressPrefixOutputWithContext(ctx context.Context) IsVpcAddressPrefixOutput +} + +func (*IsVpcAddressPrefix) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcAddressPrefix)(nil)).Elem() +} + +func (i *IsVpcAddressPrefix) ToIsVpcAddressPrefixOutput() IsVpcAddressPrefixOutput { + return i.ToIsVpcAddressPrefixOutputWithContext(context.Background()) +} + +func (i *IsVpcAddressPrefix) ToIsVpcAddressPrefixOutputWithContext(ctx context.Context) IsVpcAddressPrefixOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcAddressPrefixOutput) +} + +type IsVpcAddressPrefixOutput struct{ *pulumi.OutputState } + +func (IsVpcAddressPrefixOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcAddressPrefix)(nil)).Elem() +} + +func (o IsVpcAddressPrefixOutput) ToIsVpcAddressPrefixOutput() IsVpcAddressPrefixOutput { + return o +} + +func (o IsVpcAddressPrefixOutput) ToIsVpcAddressPrefixOutputWithContext(ctx context.Context) IsVpcAddressPrefixOutput { + return o +} + +// The unique identifier of the address prefix +func (o IsVpcAddressPrefixOutput) AddressPrefix() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcAddressPrefix) pulumi.StringOutput { return v.AddressPrefix }).(pulumi.StringOutput) +} + +// CIDIR address prefix +func (o IsVpcAddressPrefixOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcAddressPrefix) pulumi.StringOutput { return v.Cidr }).(pulumi.StringOutput) +} + +// Boolean value, set to true if VPC instance have subnets +func (o IsVpcAddressPrefixOutput) HasSubnets() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVpcAddressPrefix) pulumi.BoolOutput { return v.HasSubnets }).(pulumi.BoolOutput) +} + +// Is default prefix for this zone in this VPC +func (o IsVpcAddressPrefixOutput) IsDefault() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpcAddressPrefix) pulumi.BoolPtrOutput { return v.IsDefault }).(pulumi.BoolPtrOutput) +} + +// Name +func (o IsVpcAddressPrefixOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcAddressPrefix) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The crn of the VPC resource +func (o IsVpcAddressPrefixOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcAddressPrefix) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +// VPC id +func (o IsVpcAddressPrefixOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcAddressPrefix) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// Zone name +func (o IsVpcAddressPrefixOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcAddressPrefix) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcAddressPrefixInput)(nil)).Elem(), &IsVpcAddressPrefix{}) + pulumi.RegisterOutputType(IsVpcAddressPrefixOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcDnsResolutionBinding.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcDnsResolutionBinding.go new file mode 100644 index 000000000..5b7ceb48d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcDnsResolutionBinding.go @@ -0,0 +1,238 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpcDnsResolutionBinding struct { + pulumi.CustomResourceState + + // The date and time that the DNS resolution binding was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The endpoint gateways in the bound to VPC that are allowed to participate in this DNS resolution binding.The endpoint gateways may be remote and therefore may not be directly retrievable. + EndpointGateways IsVpcDnsResolutionBindingEndpointGatewayArrayOutput `pulumi:"endpointGateways"` + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons IsVpcDnsResolutionBindingHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringOutput `pulumi:"healthState"` + // The URL for this DNS resolution binding. + Href pulumi.StringOutput `pulumi:"href"` + // The lifecycle state of the DNS resolution binding. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. + Name pulumi.StringOutput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. + Vpc IsVpcDnsResolutionBindingVpcOutput `pulumi:"vpc"` + // The VPC identifier. + VpcId pulumi.StringOutput `pulumi:"vpcId"` +} + +// NewIsVpcDnsResolutionBinding registers a new resource with the given unique name, arguments, and options. +func NewIsVpcDnsResolutionBinding(ctx *pulumi.Context, + name string, args *IsVpcDnsResolutionBindingArgs, opts ...pulumi.ResourceOption) (*IsVpcDnsResolutionBinding, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpcDnsResolutionBinding + err := ctx.RegisterResource("ibmcloud:index/isVpcDnsResolutionBinding:IsVpcDnsResolutionBinding", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpcDnsResolutionBinding gets an existing IsVpcDnsResolutionBinding resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpcDnsResolutionBinding(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpcDnsResolutionBindingState, opts ...pulumi.ResourceOption) (*IsVpcDnsResolutionBinding, error) { + var resource IsVpcDnsResolutionBinding + err := ctx.ReadResource("ibmcloud:index/isVpcDnsResolutionBinding:IsVpcDnsResolutionBinding", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpcDnsResolutionBinding resources. +type isVpcDnsResolutionBindingState struct { + // The date and time that the DNS resolution binding was created. + CreatedAt *string `pulumi:"createdAt"` + // The endpoint gateways in the bound to VPC that are allowed to participate in this DNS resolution binding.The endpoint gateways may be remote and therefore may not be directly retrievable. + EndpointGateways []IsVpcDnsResolutionBindingEndpointGateway `pulumi:"endpointGateways"` + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons []IsVpcDnsResolutionBindingHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `pulumi:"healthState"` + // The URL for this DNS resolution binding. + Href *string `pulumi:"href"` + // The lifecycle state of the DNS resolution binding. + LifecycleState *string `pulumi:"lifecycleState"` + // The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. + Vpc *IsVpcDnsResolutionBindingVpc `pulumi:"vpc"` + // The VPC identifier. + VpcId *string `pulumi:"vpcId"` +} + +type IsVpcDnsResolutionBindingState struct { + // The date and time that the DNS resolution binding was created. + CreatedAt pulumi.StringPtrInput + // The endpoint gateways in the bound to VPC that are allowed to participate in this DNS resolution binding.The endpoint gateways may be remote and therefore may not be directly retrievable. + EndpointGateways IsVpcDnsResolutionBindingEndpointGatewayArrayInput + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons IsVpcDnsResolutionBindingHealthReasonArrayInput + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringPtrInput + // The URL for this DNS resolution binding. + Href pulumi.StringPtrInput + // The lifecycle state of the DNS resolution binding. + LifecycleState pulumi.StringPtrInput + // The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. + Name pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. + Vpc IsVpcDnsResolutionBindingVpcPtrInput + // The VPC identifier. + VpcId pulumi.StringPtrInput +} + +func (IsVpcDnsResolutionBindingState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcDnsResolutionBindingState)(nil)).Elem() +} + +type isVpcDnsResolutionBindingArgs struct { + // The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. + Name *string `pulumi:"name"` + // The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. + Vpc IsVpcDnsResolutionBindingVpc `pulumi:"vpc"` + // The VPC identifier. + VpcId string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a IsVpcDnsResolutionBinding resource. +type IsVpcDnsResolutionBindingArgs struct { + // The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. + Name pulumi.StringPtrInput + // The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. + Vpc IsVpcDnsResolutionBindingVpcInput + // The VPC identifier. + VpcId pulumi.StringInput +} + +func (IsVpcDnsResolutionBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcDnsResolutionBindingArgs)(nil)).Elem() +} + +type IsVpcDnsResolutionBindingInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingOutput() IsVpcDnsResolutionBindingOutput + ToIsVpcDnsResolutionBindingOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingOutput +} + +func (*IsVpcDnsResolutionBinding) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcDnsResolutionBinding)(nil)).Elem() +} + +func (i *IsVpcDnsResolutionBinding) ToIsVpcDnsResolutionBindingOutput() IsVpcDnsResolutionBindingOutput { + return i.ToIsVpcDnsResolutionBindingOutputWithContext(context.Background()) +} + +func (i *IsVpcDnsResolutionBinding) ToIsVpcDnsResolutionBindingOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingOutput) +} + +type IsVpcDnsResolutionBindingOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcDnsResolutionBinding)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingOutput) ToIsVpcDnsResolutionBindingOutput() IsVpcDnsResolutionBindingOutput { + return o +} + +func (o IsVpcDnsResolutionBindingOutput) ToIsVpcDnsResolutionBindingOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingOutput { + return o +} + +// The date and time that the DNS resolution binding was created. +func (o IsVpcDnsResolutionBindingOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The endpoint gateways in the bound to VPC that are allowed to participate in this DNS resolution binding.The endpoint gateways may be remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolutionBindingOutput) EndpointGateways() IsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) IsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return v.EndpointGateways + }).(IsVpcDnsResolutionBindingEndpointGatewayArrayOutput) +} + +// The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o IsVpcDnsResolutionBindingOutput) HealthReasons() IsVpcDnsResolutionBindingHealthReasonArrayOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) IsVpcDnsResolutionBindingHealthReasonArrayOutput { + return v.HealthReasons + }).(IsVpcDnsResolutionBindingHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o IsVpcDnsResolutionBindingOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this DNS resolution binding. +func (o IsVpcDnsResolutionBindingOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of the DNS resolution binding. +func (o IsVpcDnsResolutionBindingOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. +func (o IsVpcDnsResolutionBindingOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsVpcDnsResolutionBindingOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolutionBindingOutput) Vpc() IsVpcDnsResolutionBindingVpcOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) IsVpcDnsResolutionBindingVpcOutput { return v.Vpc }).(IsVpcDnsResolutionBindingVpcOutput) +} + +// The VPC identifier. +func (o IsVpcDnsResolutionBindingOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBinding) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingInput)(nil)).Elem(), &IsVpcDnsResolutionBinding{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcRoutingTable.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcRoutingTable.go new file mode 100644 index 000000000..b31a04dc9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcRoutingTable.go @@ -0,0 +1,354 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpcRoutingTable struct { + pulumi.CustomResourceState + + // The filters specifying the resources that may create routes in this routing table, The resource type: vpnGateway or vpn_server + AcceptRoutesFromResourceTypes pulumi.StringArrayOutput `pulumi:"acceptRoutesFromResourceTypes"` + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources. + AdvertiseRoutesTos pulumi.StringArrayOutput `pulumi:"advertiseRoutesTos"` + // Routing table Created At + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The routing table CRN. + Crn pulumi.StringOutput `pulumi:"crn"` + // Routing table Href + Href pulumi.StringOutput `pulumi:"href"` + // Indicates whether this is the default routing table for this VPC + IsDefault pulumi.BoolOutput `pulumi:"isDefault"` + // Routing table Lifecycle State + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The user-defined name for this routing table. + Name pulumi.StringOutput `pulumi:"name"` + // The resource group for this volume. + ResourceGroups IsVpcRoutingTableResourceGroupArrayOutput `pulumi:"resourceGroups"` + // Routing table Resource Type + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress pulumi.BoolPtrOutput `pulumi:"routeDirectLinkIngress"` + // If set to true, this routing table will be used to route traffic that originates from the internet. For this to succeed, the VPC must not already have a routing table with this property set to true. + RouteInternetIngress pulumi.BoolPtrOutput `pulumi:"routeInternetIngress"` + // If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress pulumi.BoolPtrOutput `pulumi:"routeTransitGatewayIngress"` + // If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress pulumi.BoolPtrOutput `pulumi:"routeVpcZoneIngress"` + // The routing table identifier. + RoutingTable pulumi.StringOutput `pulumi:"routingTable"` + Subnets IsVpcRoutingTableSubnetArrayOutput `pulumi:"subnets"` + // List of tags + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The VPC identifier. + Vpc pulumi.StringOutput `pulumi:"vpc"` +} + +// NewIsVpcRoutingTable registers a new resource with the given unique name, arguments, and options. +func NewIsVpcRoutingTable(ctx *pulumi.Context, + name string, args *IsVpcRoutingTableArgs, opts ...pulumi.ResourceOption) (*IsVpcRoutingTable, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpcRoutingTable + err := ctx.RegisterResource("ibmcloud:index/isVpcRoutingTable:IsVpcRoutingTable", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpcRoutingTable gets an existing IsVpcRoutingTable resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpcRoutingTable(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpcRoutingTableState, opts ...pulumi.ResourceOption) (*IsVpcRoutingTable, error) { + var resource IsVpcRoutingTable + err := ctx.ReadResource("ibmcloud:index/isVpcRoutingTable:IsVpcRoutingTable", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpcRoutingTable resources. +type isVpcRoutingTableState struct { + // The filters specifying the resources that may create routes in this routing table, The resource type: vpnGateway or vpn_server + AcceptRoutesFromResourceTypes []string `pulumi:"acceptRoutesFromResourceTypes"` + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources. + AdvertiseRoutesTos []string `pulumi:"advertiseRoutesTos"` + // Routing table Created At + CreatedAt *string `pulumi:"createdAt"` + // The routing table CRN. + Crn *string `pulumi:"crn"` + // Routing table Href + Href *string `pulumi:"href"` + // Indicates whether this is the default routing table for this VPC + IsDefault *bool `pulumi:"isDefault"` + // Routing table Lifecycle State + LifecycleState *string `pulumi:"lifecycleState"` + // The user-defined name for this routing table. + Name *string `pulumi:"name"` + // The resource group for this volume. + ResourceGroups []IsVpcRoutingTableResourceGroup `pulumi:"resourceGroups"` + // Routing table Resource Type + ResourceType *string `pulumi:"resourceType"` + // If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress *bool `pulumi:"routeDirectLinkIngress"` + // If set to true, this routing table will be used to route traffic that originates from the internet. For this to succeed, the VPC must not already have a routing table with this property set to true. + RouteInternetIngress *bool `pulumi:"routeInternetIngress"` + // If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress *bool `pulumi:"routeTransitGatewayIngress"` + // If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress *bool `pulumi:"routeVpcZoneIngress"` + // The routing table identifier. + RoutingTable *string `pulumi:"routingTable"` + Subnets []IsVpcRoutingTableSubnet `pulumi:"subnets"` + // List of tags + Tags []string `pulumi:"tags"` + // The VPC identifier. + Vpc *string `pulumi:"vpc"` +} + +type IsVpcRoutingTableState struct { + // The filters specifying the resources that may create routes in this routing table, The resource type: vpnGateway or vpn_server + AcceptRoutesFromResourceTypes pulumi.StringArrayInput + // List of access management tags + AccessTags pulumi.StringArrayInput + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources. + AdvertiseRoutesTos pulumi.StringArrayInput + // Routing table Created At + CreatedAt pulumi.StringPtrInput + // The routing table CRN. + Crn pulumi.StringPtrInput + // Routing table Href + Href pulumi.StringPtrInput + // Indicates whether this is the default routing table for this VPC + IsDefault pulumi.BoolPtrInput + // Routing table Lifecycle State + LifecycleState pulumi.StringPtrInput + // The user-defined name for this routing table. + Name pulumi.StringPtrInput + // The resource group for this volume. + ResourceGroups IsVpcRoutingTableResourceGroupArrayInput + // Routing table Resource Type + ResourceType pulumi.StringPtrInput + // If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress pulumi.BoolPtrInput + // If set to true, this routing table will be used to route traffic that originates from the internet. For this to succeed, the VPC must not already have a routing table with this property set to true. + RouteInternetIngress pulumi.BoolPtrInput + // If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress pulumi.BoolPtrInput + // If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress pulumi.BoolPtrInput + // The routing table identifier. + RoutingTable pulumi.StringPtrInput + Subnets IsVpcRoutingTableSubnetArrayInput + // List of tags + Tags pulumi.StringArrayInput + // The VPC identifier. + Vpc pulumi.StringPtrInput +} + +func (IsVpcRoutingTableState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcRoutingTableState)(nil)).Elem() +} + +type isVpcRoutingTableArgs struct { + // The filters specifying the resources that may create routes in this routing table, The resource type: vpnGateway or vpn_server + AcceptRoutesFromResourceTypes []string `pulumi:"acceptRoutesFromResourceTypes"` + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources. + AdvertiseRoutesTos []string `pulumi:"advertiseRoutesTos"` + // The user-defined name for this routing table. + Name *string `pulumi:"name"` + // If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress *bool `pulumi:"routeDirectLinkIngress"` + // If set to true, this routing table will be used to route traffic that originates from the internet. For this to succeed, the VPC must not already have a routing table with this property set to true. + RouteInternetIngress *bool `pulumi:"routeInternetIngress"` + // If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress *bool `pulumi:"routeTransitGatewayIngress"` + // If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress *bool `pulumi:"routeVpcZoneIngress"` + // List of tags + Tags []string `pulumi:"tags"` + // The VPC identifier. + Vpc string `pulumi:"vpc"` +} + +// The set of arguments for constructing a IsVpcRoutingTable resource. +type IsVpcRoutingTableArgs struct { + // The filters specifying the resources that may create routes in this routing table, The resource type: vpnGateway or vpn_server + AcceptRoutesFromResourceTypes pulumi.StringArrayInput + // List of access management tags + AccessTags pulumi.StringArrayInput + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources. + AdvertiseRoutesTos pulumi.StringArrayInput + // The user-defined name for this routing table. + Name pulumi.StringPtrInput + // If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress pulumi.BoolPtrInput + // If set to true, this routing table will be used to route traffic that originates from the internet. For this to succeed, the VPC must not already have a routing table with this property set to true. + RouteInternetIngress pulumi.BoolPtrInput + // If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress pulumi.BoolPtrInput + // If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress pulumi.BoolPtrInput + // List of tags + Tags pulumi.StringArrayInput + // The VPC identifier. + Vpc pulumi.StringInput +} + +func (IsVpcRoutingTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcRoutingTableArgs)(nil)).Elem() +} + +type IsVpcRoutingTableInput interface { + pulumi.Input + + ToIsVpcRoutingTableOutput() IsVpcRoutingTableOutput + ToIsVpcRoutingTableOutputWithContext(ctx context.Context) IsVpcRoutingTableOutput +} + +func (*IsVpcRoutingTable) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcRoutingTable)(nil)).Elem() +} + +func (i *IsVpcRoutingTable) ToIsVpcRoutingTableOutput() IsVpcRoutingTableOutput { + return i.ToIsVpcRoutingTableOutputWithContext(context.Background()) +} + +func (i *IsVpcRoutingTable) ToIsVpcRoutingTableOutputWithContext(ctx context.Context) IsVpcRoutingTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableOutput) +} + +type IsVpcRoutingTableOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcRoutingTable)(nil)).Elem() +} + +func (o IsVpcRoutingTableOutput) ToIsVpcRoutingTableOutput() IsVpcRoutingTableOutput { + return o +} + +func (o IsVpcRoutingTableOutput) ToIsVpcRoutingTableOutputWithContext(ctx context.Context) IsVpcRoutingTableOutput { + return o +} + +// The filters specifying the resources that may create routes in this routing table, The resource type: vpnGateway or vpn_server +func (o IsVpcRoutingTableOutput) AcceptRoutesFromResourceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringArrayOutput { return v.AcceptRoutesFromResourceTypes }).(pulumi.StringArrayOutput) +} + +// List of access management tags +func (o IsVpcRoutingTableOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources. +func (o IsVpcRoutingTableOutput) AdvertiseRoutesTos() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringArrayOutput { return v.AdvertiseRoutesTos }).(pulumi.StringArrayOutput) +} + +// Routing table Created At +func (o IsVpcRoutingTableOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The routing table CRN. +func (o IsVpcRoutingTableOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Routing table Href +func (o IsVpcRoutingTableOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Indicates whether this is the default routing table for this VPC +func (o IsVpcRoutingTableOutput) IsDefault() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.BoolOutput { return v.IsDefault }).(pulumi.BoolOutput) +} + +// Routing table Lifecycle State +func (o IsVpcRoutingTableOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined name for this routing table. +func (o IsVpcRoutingTableOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this volume. +func (o IsVpcRoutingTableOutput) ResourceGroups() IsVpcRoutingTableResourceGroupArrayOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) IsVpcRoutingTableResourceGroupArrayOutput { return v.ResourceGroups }).(IsVpcRoutingTableResourceGroupArrayOutput) +} + +// Routing table Resource Type +func (o IsVpcRoutingTableOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. +func (o IsVpcRoutingTableOutput) RouteDirectLinkIngress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.BoolPtrOutput { return v.RouteDirectLinkIngress }).(pulumi.BoolPtrOutput) +} + +// If set to true, this routing table will be used to route traffic that originates from the internet. For this to succeed, the VPC must not already have a routing table with this property set to true. +func (o IsVpcRoutingTableOutput) RouteInternetIngress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.BoolPtrOutput { return v.RouteInternetIngress }).(pulumi.BoolPtrOutput) +} + +// If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. +func (o IsVpcRoutingTableOutput) RouteTransitGatewayIngress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.BoolPtrOutput { return v.RouteTransitGatewayIngress }).(pulumi.BoolPtrOutput) +} + +// If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. +func (o IsVpcRoutingTableOutput) RouteVpcZoneIngress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.BoolPtrOutput { return v.RouteVpcZoneIngress }).(pulumi.BoolPtrOutput) +} + +// The routing table identifier. +func (o IsVpcRoutingTableOutput) RoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringOutput { return v.RoutingTable }).(pulumi.StringOutput) +} + +func (o IsVpcRoutingTableOutput) Subnets() IsVpcRoutingTableSubnetArrayOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) IsVpcRoutingTableSubnetArrayOutput { return v.Subnets }).(IsVpcRoutingTableSubnetArrayOutput) +} + +// List of tags +func (o IsVpcRoutingTableOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The VPC identifier. +func (o IsVpcRoutingTableOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTable) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableInput)(nil)).Elem(), &IsVpcRoutingTable{}) + pulumi.RegisterOutputType(IsVpcRoutingTableOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcRoutingTableRoute.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcRoutingTableRoute.go new file mode 100644 index 000000000..f09d8f7fc --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpcRoutingTableRoute.go @@ -0,0 +1,322 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpcRoutingTableRoute struct { + pulumi.CustomResourceState + + // The action to perform with a packet matching the route. + Action pulumi.StringPtrOutput `pulumi:"action"` + // Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. + Advertise pulumi.BoolPtrOutput `pulumi:"advertise"` + // Routing table route Created At + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // If present, the resource that created the route. Routes with this property present cannot bedirectly deleted. All routes with an `origin` of `learned` or `service` will have thisproperty set, and future `origin` values may also have this property set. + Creators IsVpcRoutingTableRouteCreatorArrayOutput `pulumi:"creators"` + // The destination of the route. + Destination pulumi.StringOutput `pulumi:"destination"` + // Routing table route Href + Href pulumi.StringOutput `pulumi:"href"` + // Routing table route Lifecycle State + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The user-defined name for this route. + Name pulumi.StringOutput `pulumi:"name"` + // If action is deliver, the next hop that packets will be delivered to. For other action values, its address will be 0.0.0.0. + NextHop pulumi.StringOutput `pulumi:"nextHop"` + // The origin of this route. + Origin pulumi.StringOutput `pulumi:"origin"` + // The route's priority. Smaller values have higher priority. + Priority pulumi.IntOutput `pulumi:"priority"` + // The routing table route identifier. + RouteId pulumi.StringOutput `pulumi:"routeId"` + // The routing table identifier. + RoutingTable pulumi.StringOutput `pulumi:"routingTable"` + // The VPC identifier. + Vpc pulumi.StringOutput `pulumi:"vpc"` + // The zone to apply the route to. Traffic from subnets in this zone will be subject to this route. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewIsVpcRoutingTableRoute registers a new resource with the given unique name, arguments, and options. +func NewIsVpcRoutingTableRoute(ctx *pulumi.Context, + name string, args *IsVpcRoutingTableRouteArgs, opts ...pulumi.ResourceOption) (*IsVpcRoutingTableRoute, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Destination == nil { + return nil, errors.New("invalid value for required argument 'Destination'") + } + if args.NextHop == nil { + return nil, errors.New("invalid value for required argument 'NextHop'") + } + if args.RoutingTable == nil { + return nil, errors.New("invalid value for required argument 'RoutingTable'") + } + if args.Vpc == nil { + return nil, errors.New("invalid value for required argument 'Vpc'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpcRoutingTableRoute + err := ctx.RegisterResource("ibmcloud:index/isVpcRoutingTableRoute:IsVpcRoutingTableRoute", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpcRoutingTableRoute gets an existing IsVpcRoutingTableRoute resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpcRoutingTableRoute(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpcRoutingTableRouteState, opts ...pulumi.ResourceOption) (*IsVpcRoutingTableRoute, error) { + var resource IsVpcRoutingTableRoute + err := ctx.ReadResource("ibmcloud:index/isVpcRoutingTableRoute:IsVpcRoutingTableRoute", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpcRoutingTableRoute resources. +type isVpcRoutingTableRouteState struct { + // The action to perform with a packet matching the route. + Action *string `pulumi:"action"` + // Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. + Advertise *bool `pulumi:"advertise"` + // Routing table route Created At + CreatedAt *string `pulumi:"createdAt"` + // If present, the resource that created the route. Routes with this property present cannot bedirectly deleted. All routes with an `origin` of `learned` or `service` will have thisproperty set, and future `origin` values may also have this property set. + Creators []IsVpcRoutingTableRouteCreator `pulumi:"creators"` + // The destination of the route. + Destination *string `pulumi:"destination"` + // Routing table route Href + Href *string `pulumi:"href"` + // Routing table route Lifecycle State + LifecycleState *string `pulumi:"lifecycleState"` + // The user-defined name for this route. + Name *string `pulumi:"name"` + // If action is deliver, the next hop that packets will be delivered to. For other action values, its address will be 0.0.0.0. + NextHop *string `pulumi:"nextHop"` + // The origin of this route. + Origin *string `pulumi:"origin"` + // The route's priority. Smaller values have higher priority. + Priority *int `pulumi:"priority"` + // The routing table route identifier. + RouteId *string `pulumi:"routeId"` + // The routing table identifier. + RoutingTable *string `pulumi:"routingTable"` + // The VPC identifier. + Vpc *string `pulumi:"vpc"` + // The zone to apply the route to. Traffic from subnets in this zone will be subject to this route. + Zone *string `pulumi:"zone"` +} + +type IsVpcRoutingTableRouteState struct { + // The action to perform with a packet matching the route. + Action pulumi.StringPtrInput + // Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. + Advertise pulumi.BoolPtrInput + // Routing table route Created At + CreatedAt pulumi.StringPtrInput + // If present, the resource that created the route. Routes with this property present cannot bedirectly deleted. All routes with an `origin` of `learned` or `service` will have thisproperty set, and future `origin` values may also have this property set. + Creators IsVpcRoutingTableRouteCreatorArrayInput + // The destination of the route. + Destination pulumi.StringPtrInput + // Routing table route Href + Href pulumi.StringPtrInput + // Routing table route Lifecycle State + LifecycleState pulumi.StringPtrInput + // The user-defined name for this route. + Name pulumi.StringPtrInput + // If action is deliver, the next hop that packets will be delivered to. For other action values, its address will be 0.0.0.0. + NextHop pulumi.StringPtrInput + // The origin of this route. + Origin pulumi.StringPtrInput + // The route's priority. Smaller values have higher priority. + Priority pulumi.IntPtrInput + // The routing table route identifier. + RouteId pulumi.StringPtrInput + // The routing table identifier. + RoutingTable pulumi.StringPtrInput + // The VPC identifier. + Vpc pulumi.StringPtrInput + // The zone to apply the route to. Traffic from subnets in this zone will be subject to this route. + Zone pulumi.StringPtrInput +} + +func (IsVpcRoutingTableRouteState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcRoutingTableRouteState)(nil)).Elem() +} + +type isVpcRoutingTableRouteArgs struct { + // The action to perform with a packet matching the route. + Action *string `pulumi:"action"` + // Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. + Advertise *bool `pulumi:"advertise"` + // The destination of the route. + Destination string `pulumi:"destination"` + // The user-defined name for this route. + Name *string `pulumi:"name"` + // If action is deliver, the next hop that packets will be delivered to. For other action values, its address will be 0.0.0.0. + NextHop string `pulumi:"nextHop"` + // The route's priority. Smaller values have higher priority. + Priority *int `pulumi:"priority"` + // The routing table identifier. + RoutingTable string `pulumi:"routingTable"` + // The VPC identifier. + Vpc string `pulumi:"vpc"` + // The zone to apply the route to. Traffic from subnets in this zone will be subject to this route. + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a IsVpcRoutingTableRoute resource. +type IsVpcRoutingTableRouteArgs struct { + // The action to perform with a packet matching the route. + Action pulumi.StringPtrInput + // Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. + Advertise pulumi.BoolPtrInput + // The destination of the route. + Destination pulumi.StringInput + // The user-defined name for this route. + Name pulumi.StringPtrInput + // If action is deliver, the next hop that packets will be delivered to. For other action values, its address will be 0.0.0.0. + NextHop pulumi.StringInput + // The route's priority. Smaller values have higher priority. + Priority pulumi.IntPtrInput + // The routing table identifier. + RoutingTable pulumi.StringInput + // The VPC identifier. + Vpc pulumi.StringInput + // The zone to apply the route to. Traffic from subnets in this zone will be subject to this route. + Zone pulumi.StringInput +} + +func (IsVpcRoutingTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpcRoutingTableRouteArgs)(nil)).Elem() +} + +type IsVpcRoutingTableRouteInput interface { + pulumi.Input + + ToIsVpcRoutingTableRouteOutput() IsVpcRoutingTableRouteOutput + ToIsVpcRoutingTableRouteOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteOutput +} + +func (*IsVpcRoutingTableRoute) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcRoutingTableRoute)(nil)).Elem() +} + +func (i *IsVpcRoutingTableRoute) ToIsVpcRoutingTableRouteOutput() IsVpcRoutingTableRouteOutput { + return i.ToIsVpcRoutingTableRouteOutputWithContext(context.Background()) +} + +func (i *IsVpcRoutingTableRoute) ToIsVpcRoutingTableRouteOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableRouteOutput) +} + +type IsVpcRoutingTableRouteOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcRoutingTableRoute)(nil)).Elem() +} + +func (o IsVpcRoutingTableRouteOutput) ToIsVpcRoutingTableRouteOutput() IsVpcRoutingTableRouteOutput { + return o +} + +func (o IsVpcRoutingTableRouteOutput) ToIsVpcRoutingTableRouteOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteOutput { + return o +} + +// The action to perform with a packet matching the route. +func (o IsVpcRoutingTableRouteOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringPtrOutput { return v.Action }).(pulumi.StringPtrOutput) +} + +// Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. +func (o IsVpcRoutingTableRouteOutput) Advertise() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.BoolPtrOutput { return v.Advertise }).(pulumi.BoolPtrOutput) +} + +// Routing table route Created At +func (o IsVpcRoutingTableRouteOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// If present, the resource that created the route. Routes with this property present cannot bedirectly deleted. All routes with an `origin` of `learned` or `service` will have thisproperty set, and future `origin` values may also have this property set. +func (o IsVpcRoutingTableRouteOutput) Creators() IsVpcRoutingTableRouteCreatorArrayOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) IsVpcRoutingTableRouteCreatorArrayOutput { return v.Creators }).(IsVpcRoutingTableRouteCreatorArrayOutput) +} + +// The destination of the route. +func (o IsVpcRoutingTableRouteOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.Destination }).(pulumi.StringOutput) +} + +// Routing table route Href +func (o IsVpcRoutingTableRouteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// Routing table route Lifecycle State +func (o IsVpcRoutingTableRouteOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined name for this route. +func (o IsVpcRoutingTableRouteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// If action is deliver, the next hop that packets will be delivered to. For other action values, its address will be 0.0.0.0. +func (o IsVpcRoutingTableRouteOutput) NextHop() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.NextHop }).(pulumi.StringOutput) +} + +// The origin of this route. +func (o IsVpcRoutingTableRouteOutput) Origin() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.Origin }).(pulumi.StringOutput) +} + +// The route's priority. Smaller values have higher priority. +func (o IsVpcRoutingTableRouteOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.IntOutput { return v.Priority }).(pulumi.IntOutput) +} + +// The routing table route identifier. +func (o IsVpcRoutingTableRouteOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.RouteId }).(pulumi.StringOutput) +} + +// The routing table identifier. +func (o IsVpcRoutingTableRouteOutput) RoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.RoutingTable }).(pulumi.StringOutput) +} + +// The VPC identifier. +func (o IsVpcRoutingTableRouteOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.Vpc }).(pulumi.StringOutput) +} + +// The zone to apply the route to. Traffic from subnets in this zone will be subject to this route. +func (o IsVpcRoutingTableRouteOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpcRoutingTableRoute) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableRouteInput)(nil)).Elem(), &IsVpcRoutingTableRoute{}) + pulumi.RegisterOutputType(IsVpcRoutingTableRouteOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnGateway.go new file mode 100644 index 000000000..67476d736 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnGateway.go @@ -0,0 +1,393 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpnGateway struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // Created Time of the VPN Gateway + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + HealthReasons IsVpnGatewayHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringOutput `pulumi:"healthState"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsVpnGatewayLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN route. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // Collection of VPN gateway members + Members IsVpnGatewayMemberArrayOutput `pulumi:"members"` + // mode in VPN gateway(route/policy) + Mode pulumi.StringPtrOutput `pulumi:"mode"` + // VPN Gateway instance name + Name pulumi.StringOutput `pulumi:"name"` + // The Private IP address assigned to the VPN gateway member. + PrivateIpAddress pulumi.StringOutput `pulumi:"privateIpAddress"` + // The Second Private IP address assigned to the VPN gateway member. + PrivateIpAddress2 pulumi.StringOutput `pulumi:"privateIpAddress2"` + // The public IP address assigned to the VPN gateway member. + PublicIpAddress pulumi.StringOutput `pulumi:"publicIpAddress"` + // The second public IP address assigned to the VPN gateway member. + PublicIpAddress2 pulumi.StringOutput `pulumi:"publicIpAddress2"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // The resource group for this VPN gateway + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // The status of the VPN gateway + Status pulumi.StringOutput `pulumi:"status"` + // VPNGateway subnet info + Subnet pulumi.StringOutput `pulumi:"subnet"` + // VPN Gateway tags list + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // VPC for the VPN Gateway + Vpcs IsVpnGatewayVpcArrayOutput `pulumi:"vpcs"` +} + +// NewIsVpnGateway registers a new resource with the given unique name, arguments, and options. +func NewIsVpnGateway(ctx *pulumi.Context, + name string, args *IsVpnGatewayArgs, opts ...pulumi.ResourceOption) (*IsVpnGateway, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Subnet == nil { + return nil, errors.New("invalid value for required argument 'Subnet'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpnGateway + err := ctx.RegisterResource("ibmcloud:index/isVpnGateway:IsVpnGateway", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpnGateway gets an existing IsVpnGateway resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpnGateway(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpnGatewayState, opts ...pulumi.ResourceOption) (*IsVpnGateway, error) { + var resource IsVpnGateway + err := ctx.ReadResource("ibmcloud:index/isVpnGateway:IsVpnGateway", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpnGateway resources. +type isVpnGatewayState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Created Time of the VPN Gateway + CreatedAt *string `pulumi:"createdAt"` + // The crn of the resource + Crn *string `pulumi:"crn"` + HealthReasons []IsVpnGatewayHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `pulumi:"healthState"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []IsVpnGatewayLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN route. + LifecycleState *string `pulumi:"lifecycleState"` + // Collection of VPN gateway members + Members []IsVpnGatewayMember `pulumi:"members"` + // mode in VPN gateway(route/policy) + Mode *string `pulumi:"mode"` + // VPN Gateway instance name + Name *string `pulumi:"name"` + // The Private IP address assigned to the VPN gateway member. + PrivateIpAddress *string `pulumi:"privateIpAddress"` + // The Second Private IP address assigned to the VPN gateway member. + PrivateIpAddress2 *string `pulumi:"privateIpAddress2"` + // The public IP address assigned to the VPN gateway member. + PublicIpAddress *string `pulumi:"publicIpAddress"` + // The second public IP address assigned to the VPN gateway member. + PublicIpAddress2 *string `pulumi:"publicIpAddress2"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // The resource group for this VPN gateway + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // The status of the VPN gateway + Status *string `pulumi:"status"` + // VPNGateway subnet info + Subnet *string `pulumi:"subnet"` + // VPN Gateway tags list + Tags []string `pulumi:"tags"` + // VPC for the VPN Gateway + Vpcs []IsVpnGatewayVpc `pulumi:"vpcs"` +} + +type IsVpnGatewayState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // Created Time of the VPN Gateway + CreatedAt pulumi.StringPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + HealthReasons IsVpnGatewayHealthReasonArrayInput + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringPtrInput + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsVpnGatewayLifecycleReasonArrayInput + // The lifecycle state of the VPN route. + LifecycleState pulumi.StringPtrInput + // Collection of VPN gateway members + Members IsVpnGatewayMemberArrayInput + // mode in VPN gateway(route/policy) + Mode pulumi.StringPtrInput + // VPN Gateway instance name + Name pulumi.StringPtrInput + // The Private IP address assigned to the VPN gateway member. + PrivateIpAddress pulumi.StringPtrInput + // The Second Private IP address assigned to the VPN gateway member. + PrivateIpAddress2 pulumi.StringPtrInput + // The public IP address assigned to the VPN gateway member. + PublicIpAddress pulumi.StringPtrInput + // The second public IP address assigned to the VPN gateway member. + PublicIpAddress2 pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // The resource group for this VPN gateway + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // The status of the VPN gateway + Status pulumi.StringPtrInput + // VPNGateway subnet info + Subnet pulumi.StringPtrInput + // VPN Gateway tags list + Tags pulumi.StringArrayInput + // VPC for the VPN Gateway + Vpcs IsVpnGatewayVpcArrayInput +} + +func (IsVpnGatewayState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnGatewayState)(nil)).Elem() +} + +type isVpnGatewayArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // mode in VPN gateway(route/policy) + Mode *string `pulumi:"mode"` + // VPN Gateway instance name + Name *string `pulumi:"name"` + // The resource group for this VPN gateway + ResourceGroup *string `pulumi:"resourceGroup"` + // VPNGateway subnet info + Subnet string `pulumi:"subnet"` + // VPN Gateway tags list + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsVpnGateway resource. +type IsVpnGatewayArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // mode in VPN gateway(route/policy) + Mode pulumi.StringPtrInput + // VPN Gateway instance name + Name pulumi.StringPtrInput + // The resource group for this VPN gateway + ResourceGroup pulumi.StringPtrInput + // VPNGateway subnet info + Subnet pulumi.StringInput + // VPN Gateway tags list + Tags pulumi.StringArrayInput +} + +func (IsVpnGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnGatewayArgs)(nil)).Elem() +} + +type IsVpnGatewayInput interface { + pulumi.Input + + ToIsVpnGatewayOutput() IsVpnGatewayOutput + ToIsVpnGatewayOutputWithContext(ctx context.Context) IsVpnGatewayOutput +} + +func (*IsVpnGateway) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGateway)(nil)).Elem() +} + +func (i *IsVpnGateway) ToIsVpnGatewayOutput() IsVpnGatewayOutput { + return i.ToIsVpnGatewayOutputWithContext(context.Background()) +} + +func (i *IsVpnGateway) ToIsVpnGatewayOutputWithContext(ctx context.Context) IsVpnGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayOutput) +} + +type IsVpnGatewayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGateway)(nil)).Elem() +} + +func (o IsVpnGatewayOutput) ToIsVpnGatewayOutput() IsVpnGatewayOutput { + return o +} + +func (o IsVpnGatewayOutput) ToIsVpnGatewayOutputWithContext(ctx context.Context) IsVpnGatewayOutput { + return o +} + +// List of access management tags +func (o IsVpnGatewayOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Created Time of the VPN Gateway +func (o IsVpnGatewayOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsVpnGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +func (o IsVpnGatewayOutput) HealthReasons() IsVpnGatewayHealthReasonArrayOutput { + return o.ApplyT(func(v *IsVpnGateway) IsVpnGatewayHealthReasonArrayOutput { return v.HealthReasons }).(IsVpnGatewayHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o IsVpnGatewayOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o IsVpnGatewayOutput) LifecycleReasons() IsVpnGatewayLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsVpnGateway) IsVpnGatewayLifecycleReasonArrayOutput { return v.LifecycleReasons }).(IsVpnGatewayLifecycleReasonArrayOutput) +} + +// The lifecycle state of the VPN route. +func (o IsVpnGatewayOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Collection of VPN gateway members +func (o IsVpnGatewayOutput) Members() IsVpnGatewayMemberArrayOutput { + return o.ApplyT(func(v *IsVpnGateway) IsVpnGatewayMemberArrayOutput { return v.Members }).(IsVpnGatewayMemberArrayOutput) +} + +// mode in VPN gateway(route/policy) +func (o IsVpnGatewayOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringPtrOutput { return v.Mode }).(pulumi.StringPtrOutput) +} + +// VPN Gateway instance name +func (o IsVpnGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The Private IP address assigned to the VPN gateway member. +func (o IsVpnGatewayOutput) PrivateIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.PrivateIpAddress }).(pulumi.StringOutput) +} + +// The Second Private IP address assigned to the VPN gateway member. +func (o IsVpnGatewayOutput) PrivateIpAddress2() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.PrivateIpAddress2 }).(pulumi.StringOutput) +} + +// The public IP address assigned to the VPN gateway member. +func (o IsVpnGatewayOutput) PublicIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.PublicIpAddress }).(pulumi.StringOutput) +} + +// The second public IP address assigned to the VPN gateway member. +func (o IsVpnGatewayOutput) PublicIpAddress2() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.PublicIpAddress2 }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o IsVpnGatewayOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o IsVpnGatewayOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// The resource group for this VPN gateway +func (o IsVpnGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o IsVpnGatewayOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o IsVpnGatewayOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o IsVpnGatewayOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// The status of the VPN gateway +func (o IsVpnGatewayOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// VPNGateway subnet info +func (o IsVpnGatewayOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringOutput { return v.Subnet }).(pulumi.StringOutput) +} + +// VPN Gateway tags list +func (o IsVpnGatewayOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnGateway) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// VPC for the VPN Gateway +func (o IsVpnGatewayOutput) Vpcs() IsVpnGatewayVpcArrayOutput { + return o.ApplyT(func(v *IsVpnGateway) IsVpnGatewayVpcArrayOutput { return v.Vpcs }).(IsVpnGatewayVpcArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayInput)(nil)).Elem(), &IsVpnGateway{}) + pulumi.RegisterOutputType(IsVpnGatewayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnGatewayConnection.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnGatewayConnection.go new file mode 100644 index 000000000..30d7b47df --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnGatewayConnection.go @@ -0,0 +1,497 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpnGatewayConnection struct { + pulumi.CustomResourceState + + // Action detection for dead peer detection action + Action pulumi.StringPtrOutput `pulumi:"action"` + // VPN gateway connection admin state + AdminStateUp pulumi.BoolOutput `pulumi:"adminStateUp"` + // The authentication mode + AuthenticationMode pulumi.StringOutput `pulumi:"authenticationMode"` + // The date and time that this VPN gateway connection was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. + DistributeTraffic pulumi.BoolPtrOutput `pulumi:"distributeTraffic"` + // The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. + EstablishMode pulumi.StringPtrOutput `pulumi:"establishMode"` + // The unique identifier for this VPN gateway connection + GatewayConnection pulumi.StringOutput `pulumi:"gatewayConnection"` + // Href of the VPN Gateway connection + Href pulumi.StringOutput `pulumi:"href"` + // VPN gateway connection IKE Policy + IkePolicy pulumi.StringPtrOutput `pulumi:"ikePolicy"` + // Interval for dead peer detection interval + Interval pulumi.IntPtrOutput `pulumi:"interval"` + // IP security policy for vpn gateway connection + IpsecPolicy pulumi.StringPtrOutput `pulumi:"ipsecPolicy"` + Local IsVpnGatewayConnectionLocalOutput `pulumi:"local"` + // VPN gateway connection local CIDRs + // + // Deprecated: local_cidrs is deprecated, use local instead + LocalCidrs pulumi.StringArrayOutput `pulumi:"localCidrs"` + // The mode of the VPN gateway + Mode pulumi.StringOutput `pulumi:"mode"` + // VPN Gateway connection name + Name pulumi.StringOutput `pulumi:"name"` + Peer IsVpnGatewayConnectionPeerOutput `pulumi:"peer"` + // VPN gateway connection peer address + // + // Deprecated: peer_address is deprecated, use peer instead + PeerAddress pulumi.StringOutput `pulumi:"peerAddress"` + // VPN gateway connection peer CIDRs + // + // Deprecated: peer_cidrs is deprecated, use peer instead + PeerCidrs pulumi.StringArrayOutput `pulumi:"peerCidrs"` + // vpn gateway + PresharedKey pulumi.StringOutput `pulumi:"presharedKey"` + // The crn of the VPN Gateway resource + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + // The resource type + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Routing protocols for this VPN gateway connection. + RoutingProtocol pulumi.StringOutput `pulumi:"routingProtocol"` + // VPN gateway connection status + Status pulumi.StringOutput `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons IsVpnGatewayConnectionStatusReasonArrayOutput `pulumi:"statusReasons"` + // Timeout for dead peer detection + Timeout pulumi.IntPtrOutput `pulumi:"timeout"` + // The VPN tunnel configuration for this VPN gateway connection (in static route mode) + Tunnels IsVpnGatewayConnectionTunnelArrayOutput `pulumi:"tunnels"` + // VPN Gateway info + VpnGateway pulumi.StringOutput `pulumi:"vpnGateway"` +} + +// NewIsVpnGatewayConnection registers a new resource with the given unique name, arguments, and options. +func NewIsVpnGatewayConnection(ctx *pulumi.Context, + name string, args *IsVpnGatewayConnectionArgs, opts ...pulumi.ResourceOption) (*IsVpnGatewayConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PresharedKey == nil { + return nil, errors.New("invalid value for required argument 'PresharedKey'") + } + if args.VpnGateway == nil { + return nil, errors.New("invalid value for required argument 'VpnGateway'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpnGatewayConnection + err := ctx.RegisterResource("ibmcloud:index/isVpnGatewayConnection:IsVpnGatewayConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpnGatewayConnection gets an existing IsVpnGatewayConnection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpnGatewayConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpnGatewayConnectionState, opts ...pulumi.ResourceOption) (*IsVpnGatewayConnection, error) { + var resource IsVpnGatewayConnection + err := ctx.ReadResource("ibmcloud:index/isVpnGatewayConnection:IsVpnGatewayConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpnGatewayConnection resources. +type isVpnGatewayConnectionState struct { + // Action detection for dead peer detection action + Action *string `pulumi:"action"` + // VPN gateway connection admin state + AdminStateUp *bool `pulumi:"adminStateUp"` + // The authentication mode + AuthenticationMode *string `pulumi:"authenticationMode"` + // The date and time that this VPN gateway connection was created + CreatedAt *string `pulumi:"createdAt"` + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. + DistributeTraffic *bool `pulumi:"distributeTraffic"` + // The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. + EstablishMode *string `pulumi:"establishMode"` + // The unique identifier for this VPN gateway connection + GatewayConnection *string `pulumi:"gatewayConnection"` + // Href of the VPN Gateway connection + Href *string `pulumi:"href"` + // VPN gateway connection IKE Policy + IkePolicy *string `pulumi:"ikePolicy"` + // Interval for dead peer detection interval + Interval *int `pulumi:"interval"` + // IP security policy for vpn gateway connection + IpsecPolicy *string `pulumi:"ipsecPolicy"` + Local *IsVpnGatewayConnectionLocal `pulumi:"local"` + // VPN gateway connection local CIDRs + // + // Deprecated: local_cidrs is deprecated, use local instead + LocalCidrs []string `pulumi:"localCidrs"` + // The mode of the VPN gateway + Mode *string `pulumi:"mode"` + // VPN Gateway connection name + Name *string `pulumi:"name"` + Peer *IsVpnGatewayConnectionPeer `pulumi:"peer"` + // VPN gateway connection peer address + // + // Deprecated: peer_address is deprecated, use peer instead + PeerAddress *string `pulumi:"peerAddress"` + // VPN gateway connection peer CIDRs + // + // Deprecated: peer_cidrs is deprecated, use peer instead + PeerCidrs []string `pulumi:"peerCidrs"` + // vpn gateway + PresharedKey *string `pulumi:"presharedKey"` + // The crn of the VPN Gateway resource + RelatedCrn *string `pulumi:"relatedCrn"` + // The resource type + ResourceType *string `pulumi:"resourceType"` + // Routing protocols for this VPN gateway connection. + RoutingProtocol *string `pulumi:"routingProtocol"` + // VPN gateway connection status + Status *string `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons []IsVpnGatewayConnectionStatusReason `pulumi:"statusReasons"` + // Timeout for dead peer detection + Timeout *int `pulumi:"timeout"` + // The VPN tunnel configuration for this VPN gateway connection (in static route mode) + Tunnels []IsVpnGatewayConnectionTunnel `pulumi:"tunnels"` + // VPN Gateway info + VpnGateway *string `pulumi:"vpnGateway"` +} + +type IsVpnGatewayConnectionState struct { + // Action detection for dead peer detection action + Action pulumi.StringPtrInput + // VPN gateway connection admin state + AdminStateUp pulumi.BoolPtrInput + // The authentication mode + AuthenticationMode pulumi.StringPtrInput + // The date and time that this VPN gateway connection was created + CreatedAt pulumi.StringPtrInput + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. + DistributeTraffic pulumi.BoolPtrInput + // The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. + EstablishMode pulumi.StringPtrInput + // The unique identifier for this VPN gateway connection + GatewayConnection pulumi.StringPtrInput + // Href of the VPN Gateway connection + Href pulumi.StringPtrInput + // VPN gateway connection IKE Policy + IkePolicy pulumi.StringPtrInput + // Interval for dead peer detection interval + Interval pulumi.IntPtrInput + // IP security policy for vpn gateway connection + IpsecPolicy pulumi.StringPtrInput + Local IsVpnGatewayConnectionLocalPtrInput + // VPN gateway connection local CIDRs + // + // Deprecated: local_cidrs is deprecated, use local instead + LocalCidrs pulumi.StringArrayInput + // The mode of the VPN gateway + Mode pulumi.StringPtrInput + // VPN Gateway connection name + Name pulumi.StringPtrInput + Peer IsVpnGatewayConnectionPeerPtrInput + // VPN gateway connection peer address + // + // Deprecated: peer_address is deprecated, use peer instead + PeerAddress pulumi.StringPtrInput + // VPN gateway connection peer CIDRs + // + // Deprecated: peer_cidrs is deprecated, use peer instead + PeerCidrs pulumi.StringArrayInput + // vpn gateway + PresharedKey pulumi.StringPtrInput + // The crn of the VPN Gateway resource + RelatedCrn pulumi.StringPtrInput + // The resource type + ResourceType pulumi.StringPtrInput + // Routing protocols for this VPN gateway connection. + RoutingProtocol pulumi.StringPtrInput + // VPN gateway connection status + Status pulumi.StringPtrInput + // The reasons for the current status (if any). + StatusReasons IsVpnGatewayConnectionStatusReasonArrayInput + // Timeout for dead peer detection + Timeout pulumi.IntPtrInput + // The VPN tunnel configuration for this VPN gateway connection (in static route mode) + Tunnels IsVpnGatewayConnectionTunnelArrayInput + // VPN Gateway info + VpnGateway pulumi.StringPtrInput +} + +func (IsVpnGatewayConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnGatewayConnectionState)(nil)).Elem() +} + +type isVpnGatewayConnectionArgs struct { + // Action detection for dead peer detection action + Action *string `pulumi:"action"` + // VPN gateway connection admin state + AdminStateUp *bool `pulumi:"adminStateUp"` + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. + DistributeTraffic *bool `pulumi:"distributeTraffic"` + // The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. + EstablishMode *string `pulumi:"establishMode"` + // VPN gateway connection IKE Policy + IkePolicy *string `pulumi:"ikePolicy"` + // Interval for dead peer detection interval + Interval *int `pulumi:"interval"` + // IP security policy for vpn gateway connection + IpsecPolicy *string `pulumi:"ipsecPolicy"` + Local *IsVpnGatewayConnectionLocal `pulumi:"local"` + // VPN gateway connection local CIDRs + // + // Deprecated: local_cidrs is deprecated, use local instead + LocalCidrs []string `pulumi:"localCidrs"` + // VPN Gateway connection name + Name *string `pulumi:"name"` + Peer *IsVpnGatewayConnectionPeer `pulumi:"peer"` + // VPN gateway connection peer address + // + // Deprecated: peer_address is deprecated, use peer instead + PeerAddress *string `pulumi:"peerAddress"` + // VPN gateway connection peer CIDRs + // + // Deprecated: peer_cidrs is deprecated, use peer instead + PeerCidrs []string `pulumi:"peerCidrs"` + // vpn gateway + PresharedKey string `pulumi:"presharedKey"` + // Timeout for dead peer detection + Timeout *int `pulumi:"timeout"` + // VPN Gateway info + VpnGateway string `pulumi:"vpnGateway"` +} + +// The set of arguments for constructing a IsVpnGatewayConnection resource. +type IsVpnGatewayConnectionArgs struct { + // Action detection for dead peer detection action + Action pulumi.StringPtrInput + // VPN gateway connection admin state + AdminStateUp pulumi.BoolPtrInput + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. + DistributeTraffic pulumi.BoolPtrInput + // The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. + EstablishMode pulumi.StringPtrInput + // VPN gateway connection IKE Policy + IkePolicy pulumi.StringPtrInput + // Interval for dead peer detection interval + Interval pulumi.IntPtrInput + // IP security policy for vpn gateway connection + IpsecPolicy pulumi.StringPtrInput + Local IsVpnGatewayConnectionLocalPtrInput + // VPN gateway connection local CIDRs + // + // Deprecated: local_cidrs is deprecated, use local instead + LocalCidrs pulumi.StringArrayInput + // VPN Gateway connection name + Name pulumi.StringPtrInput + Peer IsVpnGatewayConnectionPeerPtrInput + // VPN gateway connection peer address + // + // Deprecated: peer_address is deprecated, use peer instead + PeerAddress pulumi.StringPtrInput + // VPN gateway connection peer CIDRs + // + // Deprecated: peer_cidrs is deprecated, use peer instead + PeerCidrs pulumi.StringArrayInput + // vpn gateway + PresharedKey pulumi.StringInput + // Timeout for dead peer detection + Timeout pulumi.IntPtrInput + // VPN Gateway info + VpnGateway pulumi.StringInput +} + +func (IsVpnGatewayConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnGatewayConnectionArgs)(nil)).Elem() +} + +type IsVpnGatewayConnectionInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionOutput() IsVpnGatewayConnectionOutput + ToIsVpnGatewayConnectionOutputWithContext(ctx context.Context) IsVpnGatewayConnectionOutput +} + +func (*IsVpnGatewayConnection) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGatewayConnection)(nil)).Elem() +} + +func (i *IsVpnGatewayConnection) ToIsVpnGatewayConnectionOutput() IsVpnGatewayConnectionOutput { + return i.ToIsVpnGatewayConnectionOutputWithContext(context.Background()) +} + +func (i *IsVpnGatewayConnection) ToIsVpnGatewayConnectionOutputWithContext(ctx context.Context) IsVpnGatewayConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionOutput) +} + +type IsVpnGatewayConnectionOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGatewayConnection)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionOutput) ToIsVpnGatewayConnectionOutput() IsVpnGatewayConnectionOutput { + return o +} + +func (o IsVpnGatewayConnectionOutput) ToIsVpnGatewayConnectionOutputWithContext(ctx context.Context) IsVpnGatewayConnectionOutput { + return o +} + +// Action detection for dead peer detection action +func (o IsVpnGatewayConnectionOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringPtrOutput { return v.Action }).(pulumi.StringPtrOutput) +} + +// VPN gateway connection admin state +func (o IsVpnGatewayConnectionOutput) AdminStateUp() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.BoolOutput { return v.AdminStateUp }).(pulumi.BoolOutput) +} + +// The authentication mode +func (o IsVpnGatewayConnectionOutput) AuthenticationMode() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.AuthenticationMode }).(pulumi.StringOutput) +} + +// The date and time that this VPN gateway connection was created +func (o IsVpnGatewayConnectionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. +func (o IsVpnGatewayConnectionOutput) DistributeTraffic() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.BoolPtrOutput { return v.DistributeTraffic }).(pulumi.BoolPtrOutput) +} + +// The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. +func (o IsVpnGatewayConnectionOutput) EstablishMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringPtrOutput { return v.EstablishMode }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPN gateway connection +func (o IsVpnGatewayConnectionOutput) GatewayConnection() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.GatewayConnection }).(pulumi.StringOutput) +} + +// Href of the VPN Gateway connection +func (o IsVpnGatewayConnectionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// VPN gateway connection IKE Policy +func (o IsVpnGatewayConnectionOutput) IkePolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringPtrOutput { return v.IkePolicy }).(pulumi.StringPtrOutput) +} + +// Interval for dead peer detection interval +func (o IsVpnGatewayConnectionOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.IntPtrOutput { return v.Interval }).(pulumi.IntPtrOutput) +} + +// IP security policy for vpn gateway connection +func (o IsVpnGatewayConnectionOutput) IpsecPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringPtrOutput { return v.IpsecPolicy }).(pulumi.StringPtrOutput) +} + +func (o IsVpnGatewayConnectionOutput) Local() IsVpnGatewayConnectionLocalOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) IsVpnGatewayConnectionLocalOutput { return v.Local }).(IsVpnGatewayConnectionLocalOutput) +} + +// VPN gateway connection local CIDRs +// +// Deprecated: local_cidrs is deprecated, use local instead +func (o IsVpnGatewayConnectionOutput) LocalCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringArrayOutput { return v.LocalCidrs }).(pulumi.StringArrayOutput) +} + +// The mode of the VPN gateway +func (o IsVpnGatewayConnectionOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.Mode }).(pulumi.StringOutput) +} + +// VPN Gateway connection name +func (o IsVpnGatewayConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o IsVpnGatewayConnectionOutput) Peer() IsVpnGatewayConnectionPeerOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) IsVpnGatewayConnectionPeerOutput { return v.Peer }).(IsVpnGatewayConnectionPeerOutput) +} + +// VPN gateway connection peer address +// +// Deprecated: peer_address is deprecated, use peer instead +func (o IsVpnGatewayConnectionOutput) PeerAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.PeerAddress }).(pulumi.StringOutput) +} + +// VPN gateway connection peer CIDRs +// +// Deprecated: peer_cidrs is deprecated, use peer instead +func (o IsVpnGatewayConnectionOutput) PeerCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringArrayOutput { return v.PeerCidrs }).(pulumi.StringArrayOutput) +} + +// vpn gateway +func (o IsVpnGatewayConnectionOutput) PresharedKey() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.PresharedKey }).(pulumi.StringOutput) +} + +// The crn of the VPN Gateway resource +func (o IsVpnGatewayConnectionOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +// The resource type +func (o IsVpnGatewayConnectionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Routing protocols for this VPN gateway connection. +func (o IsVpnGatewayConnectionOutput) RoutingProtocol() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.RoutingProtocol }).(pulumi.StringOutput) +} + +// VPN gateway connection status +func (o IsVpnGatewayConnectionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any). +func (o IsVpnGatewayConnectionOutput) StatusReasons() IsVpnGatewayConnectionStatusReasonArrayOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) IsVpnGatewayConnectionStatusReasonArrayOutput { return v.StatusReasons }).(IsVpnGatewayConnectionStatusReasonArrayOutput) +} + +// Timeout for dead peer detection +func (o IsVpnGatewayConnectionOutput) Timeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.IntPtrOutput { return v.Timeout }).(pulumi.IntPtrOutput) +} + +// The VPN tunnel configuration for this VPN gateway connection (in static route mode) +func (o IsVpnGatewayConnectionOutput) Tunnels() IsVpnGatewayConnectionTunnelArrayOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) IsVpnGatewayConnectionTunnelArrayOutput { return v.Tunnels }).(IsVpnGatewayConnectionTunnelArrayOutput) +} + +// VPN Gateway info +func (o IsVpnGatewayConnectionOutput) VpnGateway() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnGatewayConnection) pulumi.StringOutput { return v.VpnGateway }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionInput)(nil)).Elem(), &IsVpnGatewayConnection{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServer.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServer.go new file mode 100644 index 000000000..9778327e4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServer.go @@ -0,0 +1,482 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpnServer struct { + pulumi.CustomResourceState + + // List of access management tags + AccessTags pulumi.StringArrayOutput `pulumi:"accessTags"` + // The crn of certificate instance for this VPN server. + CertificateCrn pulumi.StringOutput `pulumi:"certificateCrn"` + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. + ClientAuthentications IsVpnServerClientAuthenticationArrayOutput `pulumi:"clientAuthentications"` + // If set to `true`, disconnected VPN clients will be automatically deleted after the `clientAutoDeleteTimeout` time has passed. + ClientAutoDelete pulumi.BoolOutput `pulumi:"clientAutoDelete"` + // Hours after which disconnected VPN clients will be automatically deleted. If `0`, disconnected VPN clients will be deleted immediately. + ClientAutoDeleteTimeout pulumi.IntOutput `pulumi:"clientAutoDeleteTimeout"` + // The DNS server addresses that will be provided to VPN clients connected to this VPN server. The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + ClientDnsServerIps pulumi.StringArrayOutput `pulumi:"clientDnsServerIps"` + // The seconds a VPN client can be idle before this VPN server will disconnect it. Specify `0` to prevent the server from disconnecting idle clients. + ClientIdleTimeout pulumi.IntPtrOutput `pulumi:"clientIdleTimeout"` + // The VPN client IPv4 address pool, expressed in CIDR format. The request must not overlap with any existing address prefixes in the VPC or any of the following reserved address ranges: - `127.0.0.0/8` (IPv4 loopback addresses) - `161.26.0.0/16` (IBM services) - `166.8.0.0/14` (Cloud Service Endpoints) - `169.254.0.0/16` (IPv4 link-local addresses) - `224.0.0.0/4` (IPv4 multicast addresses)The prefix length of the client IP address pool's CIDR must be between`/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR block that contains twice the number of IP addresses that are required to enable the maximum number of concurrent connections is recommended. + ClientIpPool pulumi.StringOutput `pulumi:"clientIpPool"` + // The date and time that the VPN server was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The CRN for this VPN server. + Crn pulumi.StringOutput `pulumi:"crn"` + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling pulumi.BoolPtrOutput `pulumi:"enableSplitTunneling"` + HealthReasons IsVpnServerHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringOutput `pulumi:"healthState"` + // Fully qualified domain name assigned to this VPN server. + Hostname pulumi.StringOutput `pulumi:"hostname"` + // The URL for this VPN server. + Href pulumi.StringOutput `pulumi:"href"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsVpnServerLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN server. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The user-defined name for this VPN server. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPC this VPN server is serving. + Name pulumi.StringOutput `pulumi:"name"` + // The port number to use for this VPN server. + Port pulumi.IntPtrOutput `pulumi:"port"` + // The reserved IPs bound to this VPN server. + PrivateIps IsVpnServerPrivateIpArrayOutput `pulumi:"privateIps"` + // The transport protocol to use for this VPN server. + Protocol pulumi.StringPtrOutput `pulumi:"protocol"` + // The unique identifier for this resource group. The resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType pulumi.StringPtrOutput `pulumi:"resourceType"` + // The unique identifier for this security group. The security groups to use for this VPN server. If unspecified, the VPC's default security group is used. + SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` + // The unique identifier for this subnet. The subnets to provision this VPN server in. Use subnets in different zones for high availability. + Subnets pulumi.StringArrayOutput `pulumi:"subnets"` + // VPN server user tags list + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The VPC this VPN server resides in. + Vpcs IsVpnServerVpcArrayOutput `pulumi:"vpcs"` + // The unique identifier for this VPN server. + VpnServer pulumi.StringOutput `pulumi:"vpnServer"` +} + +// NewIsVpnServer registers a new resource with the given unique name, arguments, and options. +func NewIsVpnServer(ctx *pulumi.Context, + name string, args *IsVpnServerArgs, opts ...pulumi.ResourceOption) (*IsVpnServer, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CertificateCrn == nil { + return nil, errors.New("invalid value for required argument 'CertificateCrn'") + } + if args.ClientAuthentications == nil { + return nil, errors.New("invalid value for required argument 'ClientAuthentications'") + } + if args.ClientIpPool == nil { + return nil, errors.New("invalid value for required argument 'ClientIpPool'") + } + if args.Subnets == nil { + return nil, errors.New("invalid value for required argument 'Subnets'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpnServer + err := ctx.RegisterResource("ibmcloud:index/isVpnServer:IsVpnServer", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpnServer gets an existing IsVpnServer resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpnServer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpnServerState, opts ...pulumi.ResourceOption) (*IsVpnServer, error) { + var resource IsVpnServer + err := ctx.ReadResource("ibmcloud:index/isVpnServer:IsVpnServer", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpnServer resources. +type isVpnServerState struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The crn of certificate instance for this VPN server. + CertificateCrn *string `pulumi:"certificateCrn"` + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. + ClientAuthentications []IsVpnServerClientAuthentication `pulumi:"clientAuthentications"` + // If set to `true`, disconnected VPN clients will be automatically deleted after the `clientAutoDeleteTimeout` time has passed. + ClientAutoDelete *bool `pulumi:"clientAutoDelete"` + // Hours after which disconnected VPN clients will be automatically deleted. If `0`, disconnected VPN clients will be deleted immediately. + ClientAutoDeleteTimeout *int `pulumi:"clientAutoDeleteTimeout"` + // The DNS server addresses that will be provided to VPN clients connected to this VPN server. The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + ClientDnsServerIps []string `pulumi:"clientDnsServerIps"` + // The seconds a VPN client can be idle before this VPN server will disconnect it. Specify `0` to prevent the server from disconnecting idle clients. + ClientIdleTimeout *int `pulumi:"clientIdleTimeout"` + // The VPN client IPv4 address pool, expressed in CIDR format. The request must not overlap with any existing address prefixes in the VPC or any of the following reserved address ranges: - `127.0.0.0/8` (IPv4 loopback addresses) - `161.26.0.0/16` (IBM services) - `166.8.0.0/14` (Cloud Service Endpoints) - `169.254.0.0/16` (IPv4 link-local addresses) - `224.0.0.0/4` (IPv4 multicast addresses)The prefix length of the client IP address pool's CIDR must be between`/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR block that contains twice the number of IP addresses that are required to enable the maximum number of concurrent connections is recommended. + ClientIpPool *string `pulumi:"clientIpPool"` + // The date and time that the VPN server was created. + CreatedAt *string `pulumi:"createdAt"` + // The CRN for this VPN server. + Crn *string `pulumi:"crn"` + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling *bool `pulumi:"enableSplitTunneling"` + HealthReasons []IsVpnServerHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `pulumi:"healthState"` + // Fully qualified domain name assigned to this VPN server. + Hostname *string `pulumi:"hostname"` + // The URL for this VPN server. + Href *string `pulumi:"href"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []IsVpnServerLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN server. + LifecycleState *string `pulumi:"lifecycleState"` + // The user-defined name for this VPN server. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPC this VPN server is serving. + Name *string `pulumi:"name"` + // The port number to use for this VPN server. + Port *int `pulumi:"port"` + // The reserved IPs bound to this VPN server. + PrivateIps []IsVpnServerPrivateIp `pulumi:"privateIps"` + // The transport protocol to use for this VPN server. + Protocol *string `pulumi:"protocol"` + // The unique identifier for this resource group. The resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` + // The unique identifier for this security group. The security groups to use for this VPN server. If unspecified, the VPC's default security group is used. + SecurityGroups []string `pulumi:"securityGroups"` + // The unique identifier for this subnet. The subnets to provision this VPN server in. Use subnets in different zones for high availability. + Subnets []string `pulumi:"subnets"` + // VPN server user tags list + Tags []string `pulumi:"tags"` + // The VPC this VPN server resides in. + Vpcs []IsVpnServerVpc `pulumi:"vpcs"` + // The unique identifier for this VPN server. + VpnServer *string `pulumi:"vpnServer"` +} + +type IsVpnServerState struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The crn of certificate instance for this VPN server. + CertificateCrn pulumi.StringPtrInput + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. + ClientAuthentications IsVpnServerClientAuthenticationArrayInput + // If set to `true`, disconnected VPN clients will be automatically deleted after the `clientAutoDeleteTimeout` time has passed. + ClientAutoDelete pulumi.BoolPtrInput + // Hours after which disconnected VPN clients will be automatically deleted. If `0`, disconnected VPN clients will be deleted immediately. + ClientAutoDeleteTimeout pulumi.IntPtrInput + // The DNS server addresses that will be provided to VPN clients connected to this VPN server. The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + ClientDnsServerIps pulumi.StringArrayInput + // The seconds a VPN client can be idle before this VPN server will disconnect it. Specify `0` to prevent the server from disconnecting idle clients. + ClientIdleTimeout pulumi.IntPtrInput + // The VPN client IPv4 address pool, expressed in CIDR format. The request must not overlap with any existing address prefixes in the VPC or any of the following reserved address ranges: - `127.0.0.0/8` (IPv4 loopback addresses) - `161.26.0.0/16` (IBM services) - `166.8.0.0/14` (Cloud Service Endpoints) - `169.254.0.0/16` (IPv4 link-local addresses) - `224.0.0.0/4` (IPv4 multicast addresses)The prefix length of the client IP address pool's CIDR must be between`/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR block that contains twice the number of IP addresses that are required to enable the maximum number of concurrent connections is recommended. + ClientIpPool pulumi.StringPtrInput + // The date and time that the VPN server was created. + CreatedAt pulumi.StringPtrInput + // The CRN for this VPN server. + Crn pulumi.StringPtrInput + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling pulumi.BoolPtrInput + HealthReasons IsVpnServerHealthReasonArrayInput + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringPtrInput + // Fully qualified domain name assigned to this VPN server. + Hostname pulumi.StringPtrInput + // The URL for this VPN server. + Href pulumi.StringPtrInput + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsVpnServerLifecycleReasonArrayInput + // The lifecycle state of the VPN server. + LifecycleState pulumi.StringPtrInput + // The user-defined name for this VPN server. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPC this VPN server is serving. + Name pulumi.StringPtrInput + // The port number to use for this VPN server. + Port pulumi.IntPtrInput + // The reserved IPs bound to this VPN server. + PrivateIps IsVpnServerPrivateIpArrayInput + // The transport protocol to use for this VPN server. + Protocol pulumi.StringPtrInput + // The unique identifier for this resource group. The resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The type of resource referenced. + ResourceType pulumi.StringPtrInput + // The unique identifier for this security group. The security groups to use for this VPN server. If unspecified, the VPC's default security group is used. + SecurityGroups pulumi.StringArrayInput + // The unique identifier for this subnet. The subnets to provision this VPN server in. Use subnets in different zones for high availability. + Subnets pulumi.StringArrayInput + // VPN server user tags list + Tags pulumi.StringArrayInput + // The VPC this VPN server resides in. + Vpcs IsVpnServerVpcArrayInput + // The unique identifier for this VPN server. + VpnServer pulumi.StringPtrInput +} + +func (IsVpnServerState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnServerState)(nil)).Elem() +} + +type isVpnServerArgs struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The crn of certificate instance for this VPN server. + CertificateCrn string `pulumi:"certificateCrn"` + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. + ClientAuthentications []IsVpnServerClientAuthentication `pulumi:"clientAuthentications"` + // The DNS server addresses that will be provided to VPN clients connected to this VPN server. The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + ClientDnsServerIps []string `pulumi:"clientDnsServerIps"` + // The seconds a VPN client can be idle before this VPN server will disconnect it. Specify `0` to prevent the server from disconnecting idle clients. + ClientIdleTimeout *int `pulumi:"clientIdleTimeout"` + // The VPN client IPv4 address pool, expressed in CIDR format. The request must not overlap with any existing address prefixes in the VPC or any of the following reserved address ranges: - `127.0.0.0/8` (IPv4 loopback addresses) - `161.26.0.0/16` (IBM services) - `166.8.0.0/14` (Cloud Service Endpoints) - `169.254.0.0/16` (IPv4 link-local addresses) - `224.0.0.0/4` (IPv4 multicast addresses)The prefix length of the client IP address pool's CIDR must be between`/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR block that contains twice the number of IP addresses that are required to enable the maximum number of concurrent connections is recommended. + ClientIpPool string `pulumi:"clientIpPool"` + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling *bool `pulumi:"enableSplitTunneling"` + // The user-defined name for this VPN server. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPC this VPN server is serving. + Name *string `pulumi:"name"` + // The port number to use for this VPN server. + Port *int `pulumi:"port"` + // The transport protocol to use for this VPN server. + Protocol *string `pulumi:"protocol"` + // The unique identifier for this resource group. The resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup *string `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` + // The unique identifier for this security group. The security groups to use for this VPN server. If unspecified, the VPC's default security group is used. + SecurityGroups []string `pulumi:"securityGroups"` + // The unique identifier for this subnet. The subnets to provision this VPN server in. Use subnets in different zones for high availability. + Subnets []string `pulumi:"subnets"` + // VPN server user tags list + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a IsVpnServer resource. +type IsVpnServerArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput + // The crn of certificate instance for this VPN server. + CertificateCrn pulumi.StringInput + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. + ClientAuthentications IsVpnServerClientAuthenticationArrayInput + // The DNS server addresses that will be provided to VPN clients connected to this VPN server. The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + ClientDnsServerIps pulumi.StringArrayInput + // The seconds a VPN client can be idle before this VPN server will disconnect it. Specify `0` to prevent the server from disconnecting idle clients. + ClientIdleTimeout pulumi.IntPtrInput + // The VPN client IPv4 address pool, expressed in CIDR format. The request must not overlap with any existing address prefixes in the VPC or any of the following reserved address ranges: - `127.0.0.0/8` (IPv4 loopback addresses) - `161.26.0.0/16` (IBM services) - `166.8.0.0/14` (Cloud Service Endpoints) - `169.254.0.0/16` (IPv4 link-local addresses) - `224.0.0.0/4` (IPv4 multicast addresses)The prefix length of the client IP address pool's CIDR must be between`/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR block that contains twice the number of IP addresses that are required to enable the maximum number of concurrent connections is recommended. + ClientIpPool pulumi.StringInput + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling pulumi.BoolPtrInput + // The user-defined name for this VPN server. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPC this VPN server is serving. + Name pulumi.StringPtrInput + // The port number to use for this VPN server. + Port pulumi.IntPtrInput + // The transport protocol to use for this VPN server. + Protocol pulumi.StringPtrInput + // The unique identifier for this resource group. The resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. + ResourceGroup pulumi.StringPtrInput + // The type of resource referenced. + ResourceType pulumi.StringPtrInput + // The unique identifier for this security group. The security groups to use for this VPN server. If unspecified, the VPC's default security group is used. + SecurityGroups pulumi.StringArrayInput + // The unique identifier for this subnet. The subnets to provision this VPN server in. Use subnets in different zones for high availability. + Subnets pulumi.StringArrayInput + // VPN server user tags list + Tags pulumi.StringArrayInput +} + +func (IsVpnServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnServerArgs)(nil)).Elem() +} + +type IsVpnServerInput interface { + pulumi.Input + + ToIsVpnServerOutput() IsVpnServerOutput + ToIsVpnServerOutputWithContext(ctx context.Context) IsVpnServerOutput +} + +func (*IsVpnServer) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnServer)(nil)).Elem() +} + +func (i *IsVpnServer) ToIsVpnServerOutput() IsVpnServerOutput { + return i.ToIsVpnServerOutputWithContext(context.Background()) +} + +func (i *IsVpnServer) ToIsVpnServerOutputWithContext(ctx context.Context) IsVpnServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerOutput) +} + +type IsVpnServerOutput struct{ *pulumi.OutputState } + +func (IsVpnServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnServer)(nil)).Elem() +} + +func (o IsVpnServerOutput) ToIsVpnServerOutput() IsVpnServerOutput { + return o +} + +func (o IsVpnServerOutput) ToIsVpnServerOutputWithContext(ctx context.Context) IsVpnServerOutput { + return o +} + +// List of access management tags +func (o IsVpnServerOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringArrayOutput { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The crn of certificate instance for this VPN server. +func (o IsVpnServerOutput) CertificateCrn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.CertificateCrn }).(pulumi.StringOutput) +} + +// The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. +func (o IsVpnServerOutput) ClientAuthentications() IsVpnServerClientAuthenticationArrayOutput { + return o.ApplyT(func(v *IsVpnServer) IsVpnServerClientAuthenticationArrayOutput { return v.ClientAuthentications }).(IsVpnServerClientAuthenticationArrayOutput) +} + +// If set to `true`, disconnected VPN clients will be automatically deleted after the `clientAutoDeleteTimeout` time has passed. +func (o IsVpnServerOutput) ClientAutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.BoolOutput { return v.ClientAutoDelete }).(pulumi.BoolOutput) +} + +// Hours after which disconnected VPN clients will be automatically deleted. If `0`, disconnected VPN clients will be deleted immediately. +func (o IsVpnServerOutput) ClientAutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.IntOutput { return v.ClientAutoDeleteTimeout }).(pulumi.IntOutput) +} + +// The DNS server addresses that will be provided to VPN clients connected to this VPN server. The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsVpnServerOutput) ClientDnsServerIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringArrayOutput { return v.ClientDnsServerIps }).(pulumi.StringArrayOutput) +} + +// The seconds a VPN client can be idle before this VPN server will disconnect it. Specify `0` to prevent the server from disconnecting idle clients. +func (o IsVpnServerOutput) ClientIdleTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.IntPtrOutput { return v.ClientIdleTimeout }).(pulumi.IntPtrOutput) +} + +// The VPN client IPv4 address pool, expressed in CIDR format. The request must not overlap with any existing address prefixes in the VPC or any of the following reserved address ranges: - `127.0.0.0/8` (IPv4 loopback addresses) - `161.26.0.0/16` (IBM services) - `166.8.0.0/14` (Cloud Service Endpoints) - `169.254.0.0/16` (IPv4 link-local addresses) - `224.0.0.0/4` (IPv4 multicast addresses)The prefix length of the client IP address pool's CIDR must be between`/9` (8,388,608 addresses) and `/22` (1024 addresses). A CIDR block that contains twice the number of IP addresses that are required to enable the maximum number of concurrent connections is recommended. +func (o IsVpnServerOutput) ClientIpPool() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.ClientIpPool }).(pulumi.StringOutput) +} + +// The date and time that the VPN server was created. +func (o IsVpnServerOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this VPN server. +func (o IsVpnServerOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates whether the split tunneling is enabled on this VPN server. +func (o IsVpnServerOutput) EnableSplitTunneling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.BoolPtrOutput { return v.EnableSplitTunneling }).(pulumi.BoolPtrOutput) +} + +func (o IsVpnServerOutput) HealthReasons() IsVpnServerHealthReasonArrayOutput { + return o.ApplyT(func(v *IsVpnServer) IsVpnServerHealthReasonArrayOutput { return v.HealthReasons }).(IsVpnServerHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o IsVpnServerOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// Fully qualified domain name assigned to this VPN server. +func (o IsVpnServerOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.Hostname }).(pulumi.StringOutput) +} + +// The URL for this VPN server. +func (o IsVpnServerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o IsVpnServerOutput) LifecycleReasons() IsVpnServerLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsVpnServer) IsVpnServerLifecycleReasonArrayOutput { return v.LifecycleReasons }).(IsVpnServerLifecycleReasonArrayOutput) +} + +// The lifecycle state of the VPN server. +func (o IsVpnServerOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN server. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPC this VPN server is serving. +func (o IsVpnServerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The port number to use for this VPN server. +func (o IsVpnServerOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.IntPtrOutput { return v.Port }).(pulumi.IntPtrOutput) +} + +// The reserved IPs bound to this VPN server. +func (o IsVpnServerOutput) PrivateIps() IsVpnServerPrivateIpArrayOutput { + return o.ApplyT(func(v *IsVpnServer) IsVpnServerPrivateIpArrayOutput { return v.PrivateIps }).(IsVpnServerPrivateIpArrayOutput) +} + +// The transport protocol to use for this VPN server. +func (o IsVpnServerOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringPtrOutput { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group. The resource group to use. If unspecified, the account's [default resourcegroup](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used. +func (o IsVpnServerOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o IsVpnServerOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringPtrOutput { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this security group. The security groups to use for this VPN server. If unspecified, the VPC's default security group is used. +func (o IsVpnServerOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The unique identifier for this subnet. The subnets to provision this VPN server in. Use subnets in different zones for high availability. +func (o IsVpnServerOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringArrayOutput { return v.Subnets }).(pulumi.StringArrayOutput) +} + +// VPN server user tags list +func (o IsVpnServerOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The VPC this VPN server resides in. +func (o IsVpnServerOutput) Vpcs() IsVpnServerVpcArrayOutput { + return o.ApplyT(func(v *IsVpnServer) IsVpnServerVpcArrayOutput { return v.Vpcs }).(IsVpnServerVpcArrayOutput) +} + +// The unique identifier for this VPN server. +func (o IsVpnServerOutput) VpnServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServer) pulumi.StringOutput { return v.VpnServer }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerInput)(nil)).Elem(), &IsVpnServer{}) + pulumi.RegisterOutputType(IsVpnServerOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServerClient.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServerClient.go new file mode 100644 index 000000000..dbfdf3167 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServerClient.go @@ -0,0 +1,179 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpnServerClient struct { + pulumi.CustomResourceState + + // The delete to use for this VPN client to be deleted or not, when false, client is disconneted and when set to true client is deleted. + Delete pulumi.BoolPtrOutput `pulumi:"delete"` + // description of the result. + Description pulumi.StringOutput `pulumi:"description"` + // status code of the result. + StatusCode pulumi.IntOutput `pulumi:"statusCode"` + // The VPN Client identifier. + VpnClient pulumi.StringOutput `pulumi:"vpnClient"` + // The VPN server identifier. + VpnServer pulumi.StringOutput `pulumi:"vpnServer"` +} + +// NewIsVpnServerClient registers a new resource with the given unique name, arguments, and options. +func NewIsVpnServerClient(ctx *pulumi.Context, + name string, args *IsVpnServerClientArgs, opts ...pulumi.ResourceOption) (*IsVpnServerClient, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.VpnClient == nil { + return nil, errors.New("invalid value for required argument 'VpnClient'") + } + if args.VpnServer == nil { + return nil, errors.New("invalid value for required argument 'VpnServer'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpnServerClient + err := ctx.RegisterResource("ibmcloud:index/isVpnServerClient:IsVpnServerClient", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpnServerClient gets an existing IsVpnServerClient resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpnServerClient(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpnServerClientState, opts ...pulumi.ResourceOption) (*IsVpnServerClient, error) { + var resource IsVpnServerClient + err := ctx.ReadResource("ibmcloud:index/isVpnServerClient:IsVpnServerClient", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpnServerClient resources. +type isVpnServerClientState struct { + // The delete to use for this VPN client to be deleted or not, when false, client is disconneted and when set to true client is deleted. + Delete *bool `pulumi:"delete"` + // description of the result. + Description *string `pulumi:"description"` + // status code of the result. + StatusCode *int `pulumi:"statusCode"` + // The VPN Client identifier. + VpnClient *string `pulumi:"vpnClient"` + // The VPN server identifier. + VpnServer *string `pulumi:"vpnServer"` +} + +type IsVpnServerClientState struct { + // The delete to use for this VPN client to be deleted or not, when false, client is disconneted and when set to true client is deleted. + Delete pulumi.BoolPtrInput + // description of the result. + Description pulumi.StringPtrInput + // status code of the result. + StatusCode pulumi.IntPtrInput + // The VPN Client identifier. + VpnClient pulumi.StringPtrInput + // The VPN server identifier. + VpnServer pulumi.StringPtrInput +} + +func (IsVpnServerClientState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnServerClientState)(nil)).Elem() +} + +type isVpnServerClientArgs struct { + // The delete to use for this VPN client to be deleted or not, when false, client is disconneted and when set to true client is deleted. + Delete *bool `pulumi:"delete"` + // The VPN Client identifier. + VpnClient string `pulumi:"vpnClient"` + // The VPN server identifier. + VpnServer string `pulumi:"vpnServer"` +} + +// The set of arguments for constructing a IsVpnServerClient resource. +type IsVpnServerClientArgs struct { + // The delete to use for this VPN client to be deleted or not, when false, client is disconneted and when set to true client is deleted. + Delete pulumi.BoolPtrInput + // The VPN Client identifier. + VpnClient pulumi.StringInput + // The VPN server identifier. + VpnServer pulumi.StringInput +} + +func (IsVpnServerClientArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnServerClientArgs)(nil)).Elem() +} + +type IsVpnServerClientInput interface { + pulumi.Input + + ToIsVpnServerClientOutput() IsVpnServerClientOutput + ToIsVpnServerClientOutputWithContext(ctx context.Context) IsVpnServerClientOutput +} + +func (*IsVpnServerClient) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnServerClient)(nil)).Elem() +} + +func (i *IsVpnServerClient) ToIsVpnServerClientOutput() IsVpnServerClientOutput { + return i.ToIsVpnServerClientOutputWithContext(context.Background()) +} + +func (i *IsVpnServerClient) ToIsVpnServerClientOutputWithContext(ctx context.Context) IsVpnServerClientOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerClientOutput) +} + +type IsVpnServerClientOutput struct{ *pulumi.OutputState } + +func (IsVpnServerClientOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnServerClient)(nil)).Elem() +} + +func (o IsVpnServerClientOutput) ToIsVpnServerClientOutput() IsVpnServerClientOutput { + return o +} + +func (o IsVpnServerClientOutput) ToIsVpnServerClientOutputWithContext(ctx context.Context) IsVpnServerClientOutput { + return o +} + +// The delete to use for this VPN client to be deleted or not, when false, client is disconneted and when set to true client is deleted. +func (o IsVpnServerClientOutput) Delete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpnServerClient) pulumi.BoolPtrOutput { return v.Delete }).(pulumi.BoolPtrOutput) +} + +// description of the result. +func (o IsVpnServerClientOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerClient) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// status code of the result. +func (o IsVpnServerClientOutput) StatusCode() pulumi.IntOutput { + return o.ApplyT(func(v *IsVpnServerClient) pulumi.IntOutput { return v.StatusCode }).(pulumi.IntOutput) +} + +// The VPN Client identifier. +func (o IsVpnServerClientOutput) VpnClient() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerClient) pulumi.StringOutput { return v.VpnClient }).(pulumi.StringOutput) +} + +// The VPN server identifier. +func (o IsVpnServerClientOutput) VpnServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerClient) pulumi.StringOutput { return v.VpnServer }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerClientInput)(nil)).Elem(), &IsVpnServerClient{}) + pulumi.RegisterOutputType(IsVpnServerClientOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServerRoute.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServerRoute.go new file mode 100644 index 000000000..48001a253 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/isVpnServerRoute.go @@ -0,0 +1,256 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type IsVpnServerRoute struct { + pulumi.CustomResourceState + + // The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server, then deliver the packet to target.- `deliver`: deliver the packet to the target.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. + Action pulumi.StringPtrOutput `pulumi:"action"` + // The date and time that the VPN route was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The destination to use for this VPN route in the VPN server. Must be unique within the VPN server. If an incoming packet does not match any destination, it will be dropped. + Destination pulumi.StringOutput `pulumi:"destination"` + HealthReasons IsVpnServerRouteHealthReasonArrayOutput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringOutput `pulumi:"healthState"` + // The URL for this VPN route. + Href pulumi.StringOutput `pulumi:"href"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsVpnServerRouteLifecycleReasonArrayOutput `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN route. + LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"` + // The user-defined name for this VPN route. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPN server the VPN route resides in. + Name pulumi.StringOutput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The VPN route identifier. + VpnRoute pulumi.StringOutput `pulumi:"vpnRoute"` + // The VPN server identifier. + VpnServer pulumi.StringOutput `pulumi:"vpnServer"` +} + +// NewIsVpnServerRoute registers a new resource with the given unique name, arguments, and options. +func NewIsVpnServerRoute(ctx *pulumi.Context, + name string, args *IsVpnServerRouteArgs, opts ...pulumi.ResourceOption) (*IsVpnServerRoute, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Destination == nil { + return nil, errors.New("invalid value for required argument 'Destination'") + } + if args.VpnServer == nil { + return nil, errors.New("invalid value for required argument 'VpnServer'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IsVpnServerRoute + err := ctx.RegisterResource("ibmcloud:index/isVpnServerRoute:IsVpnServerRoute", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIsVpnServerRoute gets an existing IsVpnServerRoute resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIsVpnServerRoute(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IsVpnServerRouteState, opts ...pulumi.ResourceOption) (*IsVpnServerRoute, error) { + var resource IsVpnServerRoute + err := ctx.ReadResource("ibmcloud:index/isVpnServerRoute:IsVpnServerRoute", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IsVpnServerRoute resources. +type isVpnServerRouteState struct { + // The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server, then deliver the packet to target.- `deliver`: deliver the packet to the target.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. + Action *string `pulumi:"action"` + // The date and time that the VPN route was created. + CreatedAt *string `pulumi:"createdAt"` + // The destination to use for this VPN route in the VPN server. Must be unique within the VPN server. If an incoming packet does not match any destination, it will be dropped. + Destination *string `pulumi:"destination"` + HealthReasons []IsVpnServerRouteHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState *string `pulumi:"healthState"` + // The URL for this VPN route. + Href *string `pulumi:"href"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []IsVpnServerRouteLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN route. + LifecycleState *string `pulumi:"lifecycleState"` + // The user-defined name for this VPN route. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPN server the VPN route resides in. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The VPN route identifier. + VpnRoute *string `pulumi:"vpnRoute"` + // The VPN server identifier. + VpnServer *string `pulumi:"vpnServer"` +} + +type IsVpnServerRouteState struct { + // The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server, then deliver the packet to target.- `deliver`: deliver the packet to the target.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. + Action pulumi.StringPtrInput + // The date and time that the VPN route was created. + CreatedAt pulumi.StringPtrInput + // The destination to use for this VPN route in the VPN server. Must be unique within the VPN server. If an incoming packet does not match any destination, it will be dropped. + Destination pulumi.StringPtrInput + HealthReasons IsVpnServerRouteHealthReasonArrayInput + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringPtrInput + // The URL for this VPN route. + Href pulumi.StringPtrInput + // The reasons for the current lifecycleState (if any). + LifecycleReasons IsVpnServerRouteLifecycleReasonArrayInput + // The lifecycle state of the VPN route. + LifecycleState pulumi.StringPtrInput + // The user-defined name for this VPN route. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPN server the VPN route resides in. + Name pulumi.StringPtrInput + // The resource type. + ResourceType pulumi.StringPtrInput + // The VPN route identifier. + VpnRoute pulumi.StringPtrInput + // The VPN server identifier. + VpnServer pulumi.StringPtrInput +} + +func (IsVpnServerRouteState) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnServerRouteState)(nil)).Elem() +} + +type isVpnServerRouteArgs struct { + // The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server, then deliver the packet to target.- `deliver`: deliver the packet to the target.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. + Action *string `pulumi:"action"` + // The destination to use for this VPN route in the VPN server. Must be unique within the VPN server. If an incoming packet does not match any destination, it will be dropped. + Destination string `pulumi:"destination"` + // The user-defined name for this VPN route. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPN server the VPN route resides in. + Name *string `pulumi:"name"` + // The VPN server identifier. + VpnServer string `pulumi:"vpnServer"` +} + +// The set of arguments for constructing a IsVpnServerRoute resource. +type IsVpnServerRouteArgs struct { + // The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server, then deliver the packet to target.- `deliver`: deliver the packet to the target.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. + Action pulumi.StringPtrInput + // The destination to use for this VPN route in the VPN server. Must be unique within the VPN server. If an incoming packet does not match any destination, it will be dropped. + Destination pulumi.StringInput + // The user-defined name for this VPN route. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPN server the VPN route resides in. + Name pulumi.StringPtrInput + // The VPN server identifier. + VpnServer pulumi.StringInput +} + +func (IsVpnServerRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*isVpnServerRouteArgs)(nil)).Elem() +} + +type IsVpnServerRouteInput interface { + pulumi.Input + + ToIsVpnServerRouteOutput() IsVpnServerRouteOutput + ToIsVpnServerRouteOutputWithContext(ctx context.Context) IsVpnServerRouteOutput +} + +func (*IsVpnServerRoute) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnServerRoute)(nil)).Elem() +} + +func (i *IsVpnServerRoute) ToIsVpnServerRouteOutput() IsVpnServerRouteOutput { + return i.ToIsVpnServerRouteOutputWithContext(context.Background()) +} + +func (i *IsVpnServerRoute) ToIsVpnServerRouteOutputWithContext(ctx context.Context) IsVpnServerRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerRouteOutput) +} + +type IsVpnServerRouteOutput struct{ *pulumi.OutputState } + +func (IsVpnServerRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnServerRoute)(nil)).Elem() +} + +func (o IsVpnServerRouteOutput) ToIsVpnServerRouteOutput() IsVpnServerRouteOutput { + return o +} + +func (o IsVpnServerRouteOutput) ToIsVpnServerRouteOutputWithContext(ctx context.Context) IsVpnServerRouteOutput { + return o +} + +// The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server, then deliver the packet to target.- `deliver`: deliver the packet to the target.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. +func (o IsVpnServerRouteOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringPtrOutput { return v.Action }).(pulumi.StringPtrOutput) +} + +// The date and time that the VPN route was created. +func (o IsVpnServerRouteOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The destination to use for this VPN route in the VPN server. Must be unique within the VPN server. If an incoming packet does not match any destination, it will be dropped. +func (o IsVpnServerRouteOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.Destination }).(pulumi.StringOutput) +} + +func (o IsVpnServerRouteOutput) HealthReasons() IsVpnServerRouteHealthReasonArrayOutput { + return o.ApplyT(func(v *IsVpnServerRoute) IsVpnServerRouteHealthReasonArrayOutput { return v.HealthReasons }).(IsVpnServerRouteHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o IsVpnServerRouteOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this VPN route. +func (o IsVpnServerRouteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.Href }).(pulumi.StringOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o IsVpnServerRouteOutput) LifecycleReasons() IsVpnServerRouteLifecycleReasonArrayOutput { + return o.ApplyT(func(v *IsVpnServerRoute) IsVpnServerRouteLifecycleReasonArrayOutput { return v.LifecycleReasons }).(IsVpnServerRouteLifecycleReasonArrayOutput) +} + +// The lifecycle state of the VPN route. +func (o IsVpnServerRouteOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN route. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the VPN server the VPN route resides in. +func (o IsVpnServerRouteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsVpnServerRouteOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The VPN route identifier. +func (o IsVpnServerRouteOutput) VpnRoute() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.VpnRoute }).(pulumi.StringOutput) +} + +// The VPN server identifier. +func (o IsVpnServerRouteOutput) VpnServer() pulumi.StringOutput { + return o.ApplyT(func(v *IsVpnServerRoute) pulumi.StringOutput { return v.VpnServer }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerRouteInput)(nil)).Elem(), &IsVpnServerRoute{}) + pulumi.RegisterOutputType(IsVpnServerRouteOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCapture.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCapture.go new file mode 100644 index 000000000..bf1e96c0b --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCapture.go @@ -0,0 +1,301 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiCapture struct { + pulumi.CustomResourceState + + // The CRN of the resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // The image id of the capture instance. + ImageId pulumi.StringOutput `pulumi:"imageId"` + // Name of Cloud Storage Access Key + PiCaptureCloudStorageAccessKey pulumi.StringPtrOutput `pulumi:"piCaptureCloudStorageAccessKey"` + // List of Regions to use + PiCaptureCloudStorageRegion pulumi.StringPtrOutput `pulumi:"piCaptureCloudStorageRegion"` + // Name of the Cloud Storage Secret Key + PiCaptureCloudStorageSecretKey pulumi.StringPtrOutput `pulumi:"piCaptureCloudStorageSecretKey"` + // Destination for the deployable image + PiCaptureDestination pulumi.StringOutput `pulumi:"piCaptureDestination"` + // Name of the capture to create. Note : this must be unique + PiCaptureName pulumi.StringOutput `pulumi:"piCaptureName"` + // Cloud Storage Image Path (bucket-name [/folder/../..]) + PiCaptureStorageImagePath pulumi.StringPtrOutput `pulumi:"piCaptureStorageImagePath"` + // List of Data volume IDs + PiCaptureVolumeIds pulumi.StringArrayOutput `pulumi:"piCaptureVolumeIds"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Instance Name of the Power VM + PiInstanceName pulumi.StringOutput `pulumi:"piInstanceName"` + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` +} + +// NewPiCapture registers a new resource with the given unique name, arguments, and options. +func NewPiCapture(ctx *pulumi.Context, + name string, args *PiCaptureArgs, opts ...pulumi.ResourceOption) (*PiCapture, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCaptureDestination == nil { + return nil, errors.New("invalid value for required argument 'PiCaptureDestination'") + } + if args.PiCaptureName == nil { + return nil, errors.New("invalid value for required argument 'PiCaptureName'") + } + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiInstanceName == nil { + return nil, errors.New("invalid value for required argument 'PiInstanceName'") + } + if args.PiCaptureCloudStorageAccessKey != nil { + args.PiCaptureCloudStorageAccessKey = pulumi.ToSecret(args.PiCaptureCloudStorageAccessKey).(pulumi.StringPtrInput) + } + if args.PiCaptureCloudStorageSecretKey != nil { + args.PiCaptureCloudStorageSecretKey = pulumi.ToSecret(args.PiCaptureCloudStorageSecretKey).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "piCaptureCloudStorageAccessKey", + "piCaptureCloudStorageSecretKey", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiCapture + err := ctx.RegisterResource("ibmcloud:index/piCapture:PiCapture", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiCapture gets an existing PiCapture resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiCapture(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiCaptureState, opts ...pulumi.ResourceOption) (*PiCapture, error) { + var resource PiCapture + err := ctx.ReadResource("ibmcloud:index/piCapture:PiCapture", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiCapture resources. +type piCaptureState struct { + // The CRN of the resource. + Crn *string `pulumi:"crn"` + // The image id of the capture instance. + ImageId *string `pulumi:"imageId"` + // Name of Cloud Storage Access Key + PiCaptureCloudStorageAccessKey *string `pulumi:"piCaptureCloudStorageAccessKey"` + // List of Regions to use + PiCaptureCloudStorageRegion *string `pulumi:"piCaptureCloudStorageRegion"` + // Name of the Cloud Storage Secret Key + PiCaptureCloudStorageSecretKey *string `pulumi:"piCaptureCloudStorageSecretKey"` + // Destination for the deployable image + PiCaptureDestination *string `pulumi:"piCaptureDestination"` + // Name of the capture to create. Note : this must be unique + PiCaptureName *string `pulumi:"piCaptureName"` + // Cloud Storage Image Path (bucket-name [/folder/../..]) + PiCaptureStorageImagePath *string `pulumi:"piCaptureStorageImagePath"` + // List of Data volume IDs + PiCaptureVolumeIds []string `pulumi:"piCaptureVolumeIds"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Instance Name of the Power VM + PiInstanceName *string `pulumi:"piInstanceName"` + // List of user tags attached to the resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +type PiCaptureState struct { + // The CRN of the resource. + Crn pulumi.StringPtrInput + // The image id of the capture instance. + ImageId pulumi.StringPtrInput + // Name of Cloud Storage Access Key + PiCaptureCloudStorageAccessKey pulumi.StringPtrInput + // List of Regions to use + PiCaptureCloudStorageRegion pulumi.StringPtrInput + // Name of the Cloud Storage Secret Key + PiCaptureCloudStorageSecretKey pulumi.StringPtrInput + // Destination for the deployable image + PiCaptureDestination pulumi.StringPtrInput + // Name of the capture to create. Note : this must be unique + PiCaptureName pulumi.StringPtrInput + // Cloud Storage Image Path (bucket-name [/folder/../..]) + PiCaptureStorageImagePath pulumi.StringPtrInput + // List of Data volume IDs + PiCaptureVolumeIds pulumi.StringArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Instance Name of the Power VM + PiInstanceName pulumi.StringPtrInput + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiCaptureState) ElementType() reflect.Type { + return reflect.TypeOf((*piCaptureState)(nil)).Elem() +} + +type piCaptureArgs struct { + // Name of Cloud Storage Access Key + PiCaptureCloudStorageAccessKey *string `pulumi:"piCaptureCloudStorageAccessKey"` + // List of Regions to use + PiCaptureCloudStorageRegion *string `pulumi:"piCaptureCloudStorageRegion"` + // Name of the Cloud Storage Secret Key + PiCaptureCloudStorageSecretKey *string `pulumi:"piCaptureCloudStorageSecretKey"` + // Destination for the deployable image + PiCaptureDestination string `pulumi:"piCaptureDestination"` + // Name of the capture to create. Note : this must be unique + PiCaptureName string `pulumi:"piCaptureName"` + // Cloud Storage Image Path (bucket-name [/folder/../..]) + PiCaptureStorageImagePath *string `pulumi:"piCaptureStorageImagePath"` + // List of Data volume IDs + PiCaptureVolumeIds []string `pulumi:"piCaptureVolumeIds"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Instance Name of the Power VM + PiInstanceName string `pulumi:"piInstanceName"` + // List of user tags attached to the resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiCapture resource. +type PiCaptureArgs struct { + // Name of Cloud Storage Access Key + PiCaptureCloudStorageAccessKey pulumi.StringPtrInput + // List of Regions to use + PiCaptureCloudStorageRegion pulumi.StringPtrInput + // Name of the Cloud Storage Secret Key + PiCaptureCloudStorageSecretKey pulumi.StringPtrInput + // Destination for the deployable image + PiCaptureDestination pulumi.StringInput + // Name of the capture to create. Note : this must be unique + PiCaptureName pulumi.StringInput + // Cloud Storage Image Path (bucket-name [/folder/../..]) + PiCaptureStorageImagePath pulumi.StringPtrInput + // List of Data volume IDs + PiCaptureVolumeIds pulumi.StringArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Instance Name of the Power VM + PiInstanceName pulumi.StringInput + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiCaptureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piCaptureArgs)(nil)).Elem() +} + +type PiCaptureInput interface { + pulumi.Input + + ToPiCaptureOutput() PiCaptureOutput + ToPiCaptureOutputWithContext(ctx context.Context) PiCaptureOutput +} + +func (*PiCapture) ElementType() reflect.Type { + return reflect.TypeOf((**PiCapture)(nil)).Elem() +} + +func (i *PiCapture) ToPiCaptureOutput() PiCaptureOutput { + return i.ToPiCaptureOutputWithContext(context.Background()) +} + +func (i *PiCapture) ToPiCaptureOutputWithContext(ctx context.Context) PiCaptureOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiCaptureOutput) +} + +type PiCaptureOutput struct{ *pulumi.OutputState } + +func (PiCaptureOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiCapture)(nil)).Elem() +} + +func (o PiCaptureOutput) ToPiCaptureOutput() PiCaptureOutput { + return o +} + +func (o PiCaptureOutput) ToPiCaptureOutputWithContext(ctx context.Context) PiCaptureOutput { + return o +} + +// The CRN of the resource. +func (o PiCaptureOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The image id of the capture instance. +func (o PiCaptureOutput) ImageId() pulumi.StringOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringOutput { return v.ImageId }).(pulumi.StringOutput) +} + +// Name of Cloud Storage Access Key +func (o PiCaptureOutput) PiCaptureCloudStorageAccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringPtrOutput { return v.PiCaptureCloudStorageAccessKey }).(pulumi.StringPtrOutput) +} + +// List of Regions to use +func (o PiCaptureOutput) PiCaptureCloudStorageRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringPtrOutput { return v.PiCaptureCloudStorageRegion }).(pulumi.StringPtrOutput) +} + +// Name of the Cloud Storage Secret Key +func (o PiCaptureOutput) PiCaptureCloudStorageSecretKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringPtrOutput { return v.PiCaptureCloudStorageSecretKey }).(pulumi.StringPtrOutput) +} + +// Destination for the deployable image +func (o PiCaptureOutput) PiCaptureDestination() pulumi.StringOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringOutput { return v.PiCaptureDestination }).(pulumi.StringOutput) +} + +// Name of the capture to create. Note : this must be unique +func (o PiCaptureOutput) PiCaptureName() pulumi.StringOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringOutput { return v.PiCaptureName }).(pulumi.StringOutput) +} + +// Cloud Storage Image Path (bucket-name [/folder/../..]) +func (o PiCaptureOutput) PiCaptureStorageImagePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringPtrOutput { return v.PiCaptureStorageImagePath }).(pulumi.StringPtrOutput) +} + +// List of Data volume IDs +func (o PiCaptureOutput) PiCaptureVolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringArrayOutput { return v.PiCaptureVolumeIds }).(pulumi.StringArrayOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiCaptureOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Instance Name of the Power VM +func (o PiCaptureOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringOutput { return v.PiInstanceName }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o PiCaptureOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiCapture) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiCaptureInput)(nil)).Elem(), &PiCapture{}) + pulumi.RegisterOutputType(PiCaptureOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCloudConnection.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCloudConnection.go new file mode 100644 index 000000000..8a0621da0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCloudConnection.go @@ -0,0 +1,372 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiCloudConnection struct { + pulumi.CustomResourceState + + // Cloud connection ID + CloudConnectionId pulumi.StringOutput `pulumi:"cloudConnectionId"` + // Type of service the gateway is attached to + ConnectionMode pulumi.StringOutput `pulumi:"connectionMode"` + // GRE auto-assigned source IP address + GreSourceAddress pulumi.StringOutput `pulumi:"greSourceAddress"` + // IBM IP address + IbmIpAddress pulumi.StringOutput `pulumi:"ibmIpAddress"` + // Enable classic endpoint destination + PiCloudConnectionClassicEnabled pulumi.BoolPtrOutput `pulumi:"piCloudConnectionClassicEnabled"` + // Enable global routing for this cloud connection + PiCloudConnectionGlobalRouting pulumi.BoolPtrOutput `pulumi:"piCloudConnectionGlobalRouting"` + // GRE network in CIDR notation + PiCloudConnectionGreCidr pulumi.StringPtrOutput `pulumi:"piCloudConnectionGreCidr"` + // GRE destination IP address + PiCloudConnectionGreDestinationAddress pulumi.StringPtrOutput `pulumi:"piCloudConnectionGreDestinationAddress"` + // Enable metered for this cloud connection + PiCloudConnectionMetered pulumi.BoolPtrOutput `pulumi:"piCloudConnectionMetered"` + // Name of the cloud connection + PiCloudConnectionName pulumi.StringOutput `pulumi:"piCloudConnectionName"` + // Set of Networks to attach to this cloud connection + PiCloudConnectionNetworks pulumi.StringArrayOutput `pulumi:"piCloudConnectionNetworks"` + // Speed of the cloud connection (speed in megabits per second) + PiCloudConnectionSpeed pulumi.IntOutput `pulumi:"piCloudConnectionSpeed"` + // Enable transit gateway for this cloud connection + PiCloudConnectionTransitEnabled pulumi.BoolPtrOutput `pulumi:"piCloudConnectionTransitEnabled"` + // Set of VPCs to attach to this cloud connection + PiCloudConnectionVpcCrns pulumi.StringArrayOutput `pulumi:"piCloudConnectionVpcCrns"` + // Enable VPC for this cloud connection + PiCloudConnectionVpcEnabled pulumi.BoolPtrOutput `pulumi:"piCloudConnectionVpcEnabled"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Port + Port pulumi.StringOutput `pulumi:"port"` + // Link status + Status pulumi.StringOutput `pulumi:"status"` + // User IP address + UserIpAddress pulumi.StringOutput `pulumi:"userIpAddress"` +} + +// NewPiCloudConnection registers a new resource with the given unique name, arguments, and options. +func NewPiCloudConnection(ctx *pulumi.Context, + name string, args *PiCloudConnectionArgs, opts ...pulumi.ResourceOption) (*PiCloudConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudConnectionName == nil { + return nil, errors.New("invalid value for required argument 'PiCloudConnectionName'") + } + if args.PiCloudConnectionSpeed == nil { + return nil, errors.New("invalid value for required argument 'PiCloudConnectionSpeed'") + } + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiCloudConnection + err := ctx.RegisterResource("ibmcloud:index/piCloudConnection:PiCloudConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiCloudConnection gets an existing PiCloudConnection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiCloudConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiCloudConnectionState, opts ...pulumi.ResourceOption) (*PiCloudConnection, error) { + var resource PiCloudConnection + err := ctx.ReadResource("ibmcloud:index/piCloudConnection:PiCloudConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiCloudConnection resources. +type piCloudConnectionState struct { + // Cloud connection ID + CloudConnectionId *string `pulumi:"cloudConnectionId"` + // Type of service the gateway is attached to + ConnectionMode *string `pulumi:"connectionMode"` + // GRE auto-assigned source IP address + GreSourceAddress *string `pulumi:"greSourceAddress"` + // IBM IP address + IbmIpAddress *string `pulumi:"ibmIpAddress"` + // Enable classic endpoint destination + PiCloudConnectionClassicEnabled *bool `pulumi:"piCloudConnectionClassicEnabled"` + // Enable global routing for this cloud connection + PiCloudConnectionGlobalRouting *bool `pulumi:"piCloudConnectionGlobalRouting"` + // GRE network in CIDR notation + PiCloudConnectionGreCidr *string `pulumi:"piCloudConnectionGreCidr"` + // GRE destination IP address + PiCloudConnectionGreDestinationAddress *string `pulumi:"piCloudConnectionGreDestinationAddress"` + // Enable metered for this cloud connection + PiCloudConnectionMetered *bool `pulumi:"piCloudConnectionMetered"` + // Name of the cloud connection + PiCloudConnectionName *string `pulumi:"piCloudConnectionName"` + // Set of Networks to attach to this cloud connection + PiCloudConnectionNetworks []string `pulumi:"piCloudConnectionNetworks"` + // Speed of the cloud connection (speed in megabits per second) + PiCloudConnectionSpeed *int `pulumi:"piCloudConnectionSpeed"` + // Enable transit gateway for this cloud connection + PiCloudConnectionTransitEnabled *bool `pulumi:"piCloudConnectionTransitEnabled"` + // Set of VPCs to attach to this cloud connection + PiCloudConnectionVpcCrns []string `pulumi:"piCloudConnectionVpcCrns"` + // Enable VPC for this cloud connection + PiCloudConnectionVpcEnabled *bool `pulumi:"piCloudConnectionVpcEnabled"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Port + Port *string `pulumi:"port"` + // Link status + Status *string `pulumi:"status"` + // User IP address + UserIpAddress *string `pulumi:"userIpAddress"` +} + +type PiCloudConnectionState struct { + // Cloud connection ID + CloudConnectionId pulumi.StringPtrInput + // Type of service the gateway is attached to + ConnectionMode pulumi.StringPtrInput + // GRE auto-assigned source IP address + GreSourceAddress pulumi.StringPtrInput + // IBM IP address + IbmIpAddress pulumi.StringPtrInput + // Enable classic endpoint destination + PiCloudConnectionClassicEnabled pulumi.BoolPtrInput + // Enable global routing for this cloud connection + PiCloudConnectionGlobalRouting pulumi.BoolPtrInput + // GRE network in CIDR notation + PiCloudConnectionGreCidr pulumi.StringPtrInput + // GRE destination IP address + PiCloudConnectionGreDestinationAddress pulumi.StringPtrInput + // Enable metered for this cloud connection + PiCloudConnectionMetered pulumi.BoolPtrInput + // Name of the cloud connection + PiCloudConnectionName pulumi.StringPtrInput + // Set of Networks to attach to this cloud connection + PiCloudConnectionNetworks pulumi.StringArrayInput + // Speed of the cloud connection (speed in megabits per second) + PiCloudConnectionSpeed pulumi.IntPtrInput + // Enable transit gateway for this cloud connection + PiCloudConnectionTransitEnabled pulumi.BoolPtrInput + // Set of VPCs to attach to this cloud connection + PiCloudConnectionVpcCrns pulumi.StringArrayInput + // Enable VPC for this cloud connection + PiCloudConnectionVpcEnabled pulumi.BoolPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Port + Port pulumi.StringPtrInput + // Link status + Status pulumi.StringPtrInput + // User IP address + UserIpAddress pulumi.StringPtrInput +} + +func (PiCloudConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*piCloudConnectionState)(nil)).Elem() +} + +type piCloudConnectionArgs struct { + // Enable classic endpoint destination + PiCloudConnectionClassicEnabled *bool `pulumi:"piCloudConnectionClassicEnabled"` + // Enable global routing for this cloud connection + PiCloudConnectionGlobalRouting *bool `pulumi:"piCloudConnectionGlobalRouting"` + // GRE network in CIDR notation + PiCloudConnectionGreCidr *string `pulumi:"piCloudConnectionGreCidr"` + // GRE destination IP address + PiCloudConnectionGreDestinationAddress *string `pulumi:"piCloudConnectionGreDestinationAddress"` + // Enable metered for this cloud connection + PiCloudConnectionMetered *bool `pulumi:"piCloudConnectionMetered"` + // Name of the cloud connection + PiCloudConnectionName string `pulumi:"piCloudConnectionName"` + // Set of Networks to attach to this cloud connection + PiCloudConnectionNetworks []string `pulumi:"piCloudConnectionNetworks"` + // Speed of the cloud connection (speed in megabits per second) + PiCloudConnectionSpeed int `pulumi:"piCloudConnectionSpeed"` + // Enable transit gateway for this cloud connection + PiCloudConnectionTransitEnabled *bool `pulumi:"piCloudConnectionTransitEnabled"` + // Set of VPCs to attach to this cloud connection + PiCloudConnectionVpcCrns []string `pulumi:"piCloudConnectionVpcCrns"` + // Enable VPC for this cloud connection + PiCloudConnectionVpcEnabled *bool `pulumi:"piCloudConnectionVpcEnabled"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// The set of arguments for constructing a PiCloudConnection resource. +type PiCloudConnectionArgs struct { + // Enable classic endpoint destination + PiCloudConnectionClassicEnabled pulumi.BoolPtrInput + // Enable global routing for this cloud connection + PiCloudConnectionGlobalRouting pulumi.BoolPtrInput + // GRE network in CIDR notation + PiCloudConnectionGreCidr pulumi.StringPtrInput + // GRE destination IP address + PiCloudConnectionGreDestinationAddress pulumi.StringPtrInput + // Enable metered for this cloud connection + PiCloudConnectionMetered pulumi.BoolPtrInput + // Name of the cloud connection + PiCloudConnectionName pulumi.StringInput + // Set of Networks to attach to this cloud connection + PiCloudConnectionNetworks pulumi.StringArrayInput + // Speed of the cloud connection (speed in megabits per second) + PiCloudConnectionSpeed pulumi.IntInput + // Enable transit gateway for this cloud connection + PiCloudConnectionTransitEnabled pulumi.BoolPtrInput + // Set of VPCs to attach to this cloud connection + PiCloudConnectionVpcCrns pulumi.StringArrayInput + // Enable VPC for this cloud connection + PiCloudConnectionVpcEnabled pulumi.BoolPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput +} + +func (PiCloudConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piCloudConnectionArgs)(nil)).Elem() +} + +type PiCloudConnectionInput interface { + pulumi.Input + + ToPiCloudConnectionOutput() PiCloudConnectionOutput + ToPiCloudConnectionOutputWithContext(ctx context.Context) PiCloudConnectionOutput +} + +func (*PiCloudConnection) ElementType() reflect.Type { + return reflect.TypeOf((**PiCloudConnection)(nil)).Elem() +} + +func (i *PiCloudConnection) ToPiCloudConnectionOutput() PiCloudConnectionOutput { + return i.ToPiCloudConnectionOutputWithContext(context.Background()) +} + +func (i *PiCloudConnection) ToPiCloudConnectionOutputWithContext(ctx context.Context) PiCloudConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiCloudConnectionOutput) +} + +type PiCloudConnectionOutput struct{ *pulumi.OutputState } + +func (PiCloudConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiCloudConnection)(nil)).Elem() +} + +func (o PiCloudConnectionOutput) ToPiCloudConnectionOutput() PiCloudConnectionOutput { + return o +} + +func (o PiCloudConnectionOutput) ToPiCloudConnectionOutputWithContext(ctx context.Context) PiCloudConnectionOutput { + return o +} + +// Cloud connection ID +func (o PiCloudConnectionOutput) CloudConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.CloudConnectionId }).(pulumi.StringOutput) +} + +// Type of service the gateway is attached to +func (o PiCloudConnectionOutput) ConnectionMode() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.ConnectionMode }).(pulumi.StringOutput) +} + +// GRE auto-assigned source IP address +func (o PiCloudConnectionOutput) GreSourceAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.GreSourceAddress }).(pulumi.StringOutput) +} + +// IBM IP address +func (o PiCloudConnectionOutput) IbmIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.IbmIpAddress }).(pulumi.StringOutput) +} + +// Enable classic endpoint destination +func (o PiCloudConnectionOutput) PiCloudConnectionClassicEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.BoolPtrOutput { return v.PiCloudConnectionClassicEnabled }).(pulumi.BoolPtrOutput) +} + +// Enable global routing for this cloud connection +func (o PiCloudConnectionOutput) PiCloudConnectionGlobalRouting() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.BoolPtrOutput { return v.PiCloudConnectionGlobalRouting }).(pulumi.BoolPtrOutput) +} + +// GRE network in CIDR notation +func (o PiCloudConnectionOutput) PiCloudConnectionGreCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringPtrOutput { return v.PiCloudConnectionGreCidr }).(pulumi.StringPtrOutput) +} + +// GRE destination IP address +func (o PiCloudConnectionOutput) PiCloudConnectionGreDestinationAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringPtrOutput { return v.PiCloudConnectionGreDestinationAddress }).(pulumi.StringPtrOutput) +} + +// Enable metered for this cloud connection +func (o PiCloudConnectionOutput) PiCloudConnectionMetered() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.BoolPtrOutput { return v.PiCloudConnectionMetered }).(pulumi.BoolPtrOutput) +} + +// Name of the cloud connection +func (o PiCloudConnectionOutput) PiCloudConnectionName() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.PiCloudConnectionName }).(pulumi.StringOutput) +} + +// Set of Networks to attach to this cloud connection +func (o PiCloudConnectionOutput) PiCloudConnectionNetworks() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringArrayOutput { return v.PiCloudConnectionNetworks }).(pulumi.StringArrayOutput) +} + +// Speed of the cloud connection (speed in megabits per second) +func (o PiCloudConnectionOutput) PiCloudConnectionSpeed() pulumi.IntOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.IntOutput { return v.PiCloudConnectionSpeed }).(pulumi.IntOutput) +} + +// Enable transit gateway for this cloud connection +func (o PiCloudConnectionOutput) PiCloudConnectionTransitEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.BoolPtrOutput { return v.PiCloudConnectionTransitEnabled }).(pulumi.BoolPtrOutput) +} + +// Set of VPCs to attach to this cloud connection +func (o PiCloudConnectionOutput) PiCloudConnectionVpcCrns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringArrayOutput { return v.PiCloudConnectionVpcCrns }).(pulumi.StringArrayOutput) +} + +// Enable VPC for this cloud connection +func (o PiCloudConnectionOutput) PiCloudConnectionVpcEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.BoolPtrOutput { return v.PiCloudConnectionVpcEnabled }).(pulumi.BoolPtrOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiCloudConnectionOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Port +func (o PiCloudConnectionOutput) Port() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.Port }).(pulumi.StringOutput) +} + +// Link status +func (o PiCloudConnectionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// User IP address +func (o PiCloudConnectionOutput) UserIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnection) pulumi.StringOutput { return v.UserIpAddress }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiCloudConnectionInput)(nil)).Elem(), &PiCloudConnection{}) + pulumi.RegisterOutputType(PiCloudConnectionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCloudConnectionNetworkAttach.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCloudConnectionNetworkAttach.go new file mode 100644 index 000000000..277270deb --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piCloudConnectionNetworkAttach.go @@ -0,0 +1,160 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiCloudConnectionNetworkAttach struct { + pulumi.CustomResourceState + + // Cloud Connection ID + PiCloudConnectionId pulumi.StringOutput `pulumi:"piCloudConnectionId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Network ID to attach to this cloud connection + PiNetworkId pulumi.StringOutput `pulumi:"piNetworkId"` +} + +// NewPiCloudConnectionNetworkAttach registers a new resource with the given unique name, arguments, and options. +func NewPiCloudConnectionNetworkAttach(ctx *pulumi.Context, + name string, args *PiCloudConnectionNetworkAttachArgs, opts ...pulumi.ResourceOption) (*PiCloudConnectionNetworkAttach, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudConnectionId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudConnectionId'") + } + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiNetworkId == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiCloudConnectionNetworkAttach + err := ctx.RegisterResource("ibmcloud:index/piCloudConnectionNetworkAttach:PiCloudConnectionNetworkAttach", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiCloudConnectionNetworkAttach gets an existing PiCloudConnectionNetworkAttach resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiCloudConnectionNetworkAttach(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiCloudConnectionNetworkAttachState, opts ...pulumi.ResourceOption) (*PiCloudConnectionNetworkAttach, error) { + var resource PiCloudConnectionNetworkAttach + err := ctx.ReadResource("ibmcloud:index/piCloudConnectionNetworkAttach:PiCloudConnectionNetworkAttach", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiCloudConnectionNetworkAttach resources. +type piCloudConnectionNetworkAttachState struct { + // Cloud Connection ID + PiCloudConnectionId *string `pulumi:"piCloudConnectionId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Network ID to attach to this cloud connection + PiNetworkId *string `pulumi:"piNetworkId"` +} + +type PiCloudConnectionNetworkAttachState struct { + // Cloud Connection ID + PiCloudConnectionId pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Network ID to attach to this cloud connection + PiNetworkId pulumi.StringPtrInput +} + +func (PiCloudConnectionNetworkAttachState) ElementType() reflect.Type { + return reflect.TypeOf((*piCloudConnectionNetworkAttachState)(nil)).Elem() +} + +type piCloudConnectionNetworkAttachArgs struct { + // Cloud Connection ID + PiCloudConnectionId string `pulumi:"piCloudConnectionId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Network ID to attach to this cloud connection + PiNetworkId string `pulumi:"piNetworkId"` +} + +// The set of arguments for constructing a PiCloudConnectionNetworkAttach resource. +type PiCloudConnectionNetworkAttachArgs struct { + // Cloud Connection ID + PiCloudConnectionId pulumi.StringInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Network ID to attach to this cloud connection + PiNetworkId pulumi.StringInput +} + +func (PiCloudConnectionNetworkAttachArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piCloudConnectionNetworkAttachArgs)(nil)).Elem() +} + +type PiCloudConnectionNetworkAttachInput interface { + pulumi.Input + + ToPiCloudConnectionNetworkAttachOutput() PiCloudConnectionNetworkAttachOutput + ToPiCloudConnectionNetworkAttachOutputWithContext(ctx context.Context) PiCloudConnectionNetworkAttachOutput +} + +func (*PiCloudConnectionNetworkAttach) ElementType() reflect.Type { + return reflect.TypeOf((**PiCloudConnectionNetworkAttach)(nil)).Elem() +} + +func (i *PiCloudConnectionNetworkAttach) ToPiCloudConnectionNetworkAttachOutput() PiCloudConnectionNetworkAttachOutput { + return i.ToPiCloudConnectionNetworkAttachOutputWithContext(context.Background()) +} + +func (i *PiCloudConnectionNetworkAttach) ToPiCloudConnectionNetworkAttachOutputWithContext(ctx context.Context) PiCloudConnectionNetworkAttachOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiCloudConnectionNetworkAttachOutput) +} + +type PiCloudConnectionNetworkAttachOutput struct{ *pulumi.OutputState } + +func (PiCloudConnectionNetworkAttachOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiCloudConnectionNetworkAttach)(nil)).Elem() +} + +func (o PiCloudConnectionNetworkAttachOutput) ToPiCloudConnectionNetworkAttachOutput() PiCloudConnectionNetworkAttachOutput { + return o +} + +func (o PiCloudConnectionNetworkAttachOutput) ToPiCloudConnectionNetworkAttachOutputWithContext(ctx context.Context) PiCloudConnectionNetworkAttachOutput { + return o +} + +// Cloud Connection ID +func (o PiCloudConnectionNetworkAttachOutput) PiCloudConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnectionNetworkAttach) pulumi.StringOutput { return v.PiCloudConnectionId }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiCloudConnectionNetworkAttachOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnectionNetworkAttach) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Network ID to attach to this cloud connection +func (o PiCloudConnectionNetworkAttachOutput) PiNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *PiCloudConnectionNetworkAttach) pulumi.StringOutput { return v.PiNetworkId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiCloudConnectionNetworkAttachInput)(nil)).Elem(), &PiCloudConnectionNetworkAttach{}) + pulumi.RegisterOutputType(PiCloudConnectionNetworkAttachOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piConsoleLanguage.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piConsoleLanguage.go new file mode 100644 index 000000000..04c0ae06a --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piConsoleLanguage.go @@ -0,0 +1,160 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiConsoleLanguage struct { + pulumi.CustomResourceState + + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The unique identifier or name of the instance. + PiInstanceName pulumi.StringOutput `pulumi:"piInstanceName"` + // Language code. + PiLanguageCode pulumi.StringOutput `pulumi:"piLanguageCode"` +} + +// NewPiConsoleLanguage registers a new resource with the given unique name, arguments, and options. +func NewPiConsoleLanguage(ctx *pulumi.Context, + name string, args *PiConsoleLanguageArgs, opts ...pulumi.ResourceOption) (*PiConsoleLanguage, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiInstanceName == nil { + return nil, errors.New("invalid value for required argument 'PiInstanceName'") + } + if args.PiLanguageCode == nil { + return nil, errors.New("invalid value for required argument 'PiLanguageCode'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiConsoleLanguage + err := ctx.RegisterResource("ibmcloud:index/piConsoleLanguage:PiConsoleLanguage", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiConsoleLanguage gets an existing PiConsoleLanguage resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiConsoleLanguage(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiConsoleLanguageState, opts ...pulumi.ResourceOption) (*PiConsoleLanguage, error) { + var resource PiConsoleLanguage + err := ctx.ReadResource("ibmcloud:index/piConsoleLanguage:PiConsoleLanguage", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiConsoleLanguage resources. +type piConsoleLanguageState struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The unique identifier or name of the instance. + PiInstanceName *string `pulumi:"piInstanceName"` + // Language code. + PiLanguageCode *string `pulumi:"piLanguageCode"` +} + +type PiConsoleLanguageState struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // The unique identifier or name of the instance. + PiInstanceName pulumi.StringPtrInput + // Language code. + PiLanguageCode pulumi.StringPtrInput +} + +func (PiConsoleLanguageState) ElementType() reflect.Type { + return reflect.TypeOf((*piConsoleLanguageState)(nil)).Elem() +} + +type piConsoleLanguageArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // The unique identifier or name of the instance. + PiInstanceName string `pulumi:"piInstanceName"` + // Language code. + PiLanguageCode string `pulumi:"piLanguageCode"` +} + +// The set of arguments for constructing a PiConsoleLanguage resource. +type PiConsoleLanguageArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // The unique identifier or name of the instance. + PiInstanceName pulumi.StringInput + // Language code. + PiLanguageCode pulumi.StringInput +} + +func (PiConsoleLanguageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piConsoleLanguageArgs)(nil)).Elem() +} + +type PiConsoleLanguageInput interface { + pulumi.Input + + ToPiConsoleLanguageOutput() PiConsoleLanguageOutput + ToPiConsoleLanguageOutputWithContext(ctx context.Context) PiConsoleLanguageOutput +} + +func (*PiConsoleLanguage) ElementType() reflect.Type { + return reflect.TypeOf((**PiConsoleLanguage)(nil)).Elem() +} + +func (i *PiConsoleLanguage) ToPiConsoleLanguageOutput() PiConsoleLanguageOutput { + return i.ToPiConsoleLanguageOutputWithContext(context.Background()) +} + +func (i *PiConsoleLanguage) ToPiConsoleLanguageOutputWithContext(ctx context.Context) PiConsoleLanguageOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiConsoleLanguageOutput) +} + +type PiConsoleLanguageOutput struct{ *pulumi.OutputState } + +func (PiConsoleLanguageOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiConsoleLanguage)(nil)).Elem() +} + +func (o PiConsoleLanguageOutput) ToPiConsoleLanguageOutput() PiConsoleLanguageOutput { + return o +} + +func (o PiConsoleLanguageOutput) ToPiConsoleLanguageOutputWithContext(ctx context.Context) PiConsoleLanguageOutput { + return o +} + +// The GUID of the service instance associated with an account. +func (o PiConsoleLanguageOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiConsoleLanguage) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The unique identifier or name of the instance. +func (o PiConsoleLanguageOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *PiConsoleLanguage) pulumi.StringOutput { return v.PiInstanceName }).(pulumi.StringOutput) +} + +// Language code. +func (o PiConsoleLanguageOutput) PiLanguageCode() pulumi.StringOutput { + return o.ApplyT(func(v *PiConsoleLanguage) pulumi.StringOutput { return v.PiLanguageCode }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiConsoleLanguageInput)(nil)).Elem(), &PiConsoleLanguage{}) + pulumi.RegisterOutputType(PiConsoleLanguageOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piDhcp.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piDhcp.go new file mode 100644 index 000000000..610a0c70f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piDhcp.go @@ -0,0 +1,254 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiDhcp struct { + pulumi.CustomResourceState + + // The ID of the DHCP Server + DhcpId pulumi.StringOutput `pulumi:"dhcpId"` + // The list of DHCP Server PVM Instance leases + Leases PiDhcpLeaseArrayOutput `pulumi:"leases"` + // The ID of the DHCP Server private network + NetworkId pulumi.StringOutput `pulumi:"networkId"` + // The name of the DHCP Server private network + NetworkName pulumi.StringOutput `pulumi:"networkName"` + // Optional cidr for DHCP private network + PiCidr pulumi.StringPtrOutput `pulumi:"piCidr"` + // Optional cloud connection uuid to connect with DHCP private network + PiCloudConnectionId pulumi.StringPtrOutput `pulumi:"piCloudConnectionId"` + // PI cloud instance ID + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Optional name of DHCP Service (will be prefixed by DHCP identifier) + PiDhcpName pulumi.StringPtrOutput `pulumi:"piDhcpName"` + // Indicates if SNAT will be enabled for the DHCP service + PiDhcpSnatEnabled pulumi.BoolPtrOutput `pulumi:"piDhcpSnatEnabled"` + // Optional DNS Server for DHCP service + PiDnsServer pulumi.StringPtrOutput `pulumi:"piDnsServer"` + // The status of the DHCP Server + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewPiDhcp registers a new resource with the given unique name, arguments, and options. +func NewPiDhcp(ctx *pulumi.Context, + name string, args *PiDhcpArgs, opts ...pulumi.ResourceOption) (*PiDhcp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiDhcp + err := ctx.RegisterResource("ibmcloud:index/piDhcp:PiDhcp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiDhcp gets an existing PiDhcp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiDhcp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiDhcpState, opts ...pulumi.ResourceOption) (*PiDhcp, error) { + var resource PiDhcp + err := ctx.ReadResource("ibmcloud:index/piDhcp:PiDhcp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiDhcp resources. +type piDhcpState struct { + // The ID of the DHCP Server + DhcpId *string `pulumi:"dhcpId"` + // The list of DHCP Server PVM Instance leases + Leases []PiDhcpLease `pulumi:"leases"` + // The ID of the DHCP Server private network + NetworkId *string `pulumi:"networkId"` + // The name of the DHCP Server private network + NetworkName *string `pulumi:"networkName"` + // Optional cidr for DHCP private network + PiCidr *string `pulumi:"piCidr"` + // Optional cloud connection uuid to connect with DHCP private network + PiCloudConnectionId *string `pulumi:"piCloudConnectionId"` + // PI cloud instance ID + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Optional name of DHCP Service (will be prefixed by DHCP identifier) + PiDhcpName *string `pulumi:"piDhcpName"` + // Indicates if SNAT will be enabled for the DHCP service + PiDhcpSnatEnabled *bool `pulumi:"piDhcpSnatEnabled"` + // Optional DNS Server for DHCP service + PiDnsServer *string `pulumi:"piDnsServer"` + // The status of the DHCP Server + Status *string `pulumi:"status"` +} + +type PiDhcpState struct { + // The ID of the DHCP Server + DhcpId pulumi.StringPtrInput + // The list of DHCP Server PVM Instance leases + Leases PiDhcpLeaseArrayInput + // The ID of the DHCP Server private network + NetworkId pulumi.StringPtrInput + // The name of the DHCP Server private network + NetworkName pulumi.StringPtrInput + // Optional cidr for DHCP private network + PiCidr pulumi.StringPtrInput + // Optional cloud connection uuid to connect with DHCP private network + PiCloudConnectionId pulumi.StringPtrInput + // PI cloud instance ID + PiCloudInstanceId pulumi.StringPtrInput + // Optional name of DHCP Service (will be prefixed by DHCP identifier) + PiDhcpName pulumi.StringPtrInput + // Indicates if SNAT will be enabled for the DHCP service + PiDhcpSnatEnabled pulumi.BoolPtrInput + // Optional DNS Server for DHCP service + PiDnsServer pulumi.StringPtrInput + // The status of the DHCP Server + Status pulumi.StringPtrInput +} + +func (PiDhcpState) ElementType() reflect.Type { + return reflect.TypeOf((*piDhcpState)(nil)).Elem() +} + +type piDhcpArgs struct { + // Optional cidr for DHCP private network + PiCidr *string `pulumi:"piCidr"` + // Optional cloud connection uuid to connect with DHCP private network + PiCloudConnectionId *string `pulumi:"piCloudConnectionId"` + // PI cloud instance ID + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Optional name of DHCP Service (will be prefixed by DHCP identifier) + PiDhcpName *string `pulumi:"piDhcpName"` + // Indicates if SNAT will be enabled for the DHCP service + PiDhcpSnatEnabled *bool `pulumi:"piDhcpSnatEnabled"` + // Optional DNS Server for DHCP service + PiDnsServer *string `pulumi:"piDnsServer"` +} + +// The set of arguments for constructing a PiDhcp resource. +type PiDhcpArgs struct { + // Optional cidr for DHCP private network + PiCidr pulumi.StringPtrInput + // Optional cloud connection uuid to connect with DHCP private network + PiCloudConnectionId pulumi.StringPtrInput + // PI cloud instance ID + PiCloudInstanceId pulumi.StringInput + // Optional name of DHCP Service (will be prefixed by DHCP identifier) + PiDhcpName pulumi.StringPtrInput + // Indicates if SNAT will be enabled for the DHCP service + PiDhcpSnatEnabled pulumi.BoolPtrInput + // Optional DNS Server for DHCP service + PiDnsServer pulumi.StringPtrInput +} + +func (PiDhcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piDhcpArgs)(nil)).Elem() +} + +type PiDhcpInput interface { + pulumi.Input + + ToPiDhcpOutput() PiDhcpOutput + ToPiDhcpOutputWithContext(ctx context.Context) PiDhcpOutput +} + +func (*PiDhcp) ElementType() reflect.Type { + return reflect.TypeOf((**PiDhcp)(nil)).Elem() +} + +func (i *PiDhcp) ToPiDhcpOutput() PiDhcpOutput { + return i.ToPiDhcpOutputWithContext(context.Background()) +} + +func (i *PiDhcp) ToPiDhcpOutputWithContext(ctx context.Context) PiDhcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiDhcpOutput) +} + +type PiDhcpOutput struct{ *pulumi.OutputState } + +func (PiDhcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiDhcp)(nil)).Elem() +} + +func (o PiDhcpOutput) ToPiDhcpOutput() PiDhcpOutput { + return o +} + +func (o PiDhcpOutput) ToPiDhcpOutputWithContext(ctx context.Context) PiDhcpOutput { + return o +} + +// The ID of the DHCP Server +func (o PiDhcpOutput) DhcpId() pulumi.StringOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringOutput { return v.DhcpId }).(pulumi.StringOutput) +} + +// The list of DHCP Server PVM Instance leases +func (o PiDhcpOutput) Leases() PiDhcpLeaseArrayOutput { + return o.ApplyT(func(v *PiDhcp) PiDhcpLeaseArrayOutput { return v.Leases }).(PiDhcpLeaseArrayOutput) +} + +// The ID of the DHCP Server private network +func (o PiDhcpOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringOutput { return v.NetworkId }).(pulumi.StringOutput) +} + +// The name of the DHCP Server private network +func (o PiDhcpOutput) NetworkName() pulumi.StringOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringOutput { return v.NetworkName }).(pulumi.StringOutput) +} + +// Optional cidr for DHCP private network +func (o PiDhcpOutput) PiCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringPtrOutput { return v.PiCidr }).(pulumi.StringPtrOutput) +} + +// Optional cloud connection uuid to connect with DHCP private network +func (o PiDhcpOutput) PiCloudConnectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringPtrOutput { return v.PiCloudConnectionId }).(pulumi.StringPtrOutput) +} + +// PI cloud instance ID +func (o PiDhcpOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Optional name of DHCP Service (will be prefixed by DHCP identifier) +func (o PiDhcpOutput) PiDhcpName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringPtrOutput { return v.PiDhcpName }).(pulumi.StringPtrOutput) +} + +// Indicates if SNAT will be enabled for the DHCP service +func (o PiDhcpOutput) PiDhcpSnatEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.BoolPtrOutput { return v.PiDhcpSnatEnabled }).(pulumi.BoolPtrOutput) +} + +// Optional DNS Server for DHCP service +func (o PiDhcpOutput) PiDnsServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringPtrOutput { return v.PiDnsServer }).(pulumi.StringPtrOutput) +} + +// The status of the DHCP Server +func (o PiDhcpOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiDhcp) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiDhcpInput)(nil)).Elem(), &PiDhcp{}) + pulumi.RegisterOutputType(PiDhcpOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piHost.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piHost.go new file mode 100644 index 000000000..d52a17e99 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piHost.go @@ -0,0 +1,255 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiHost struct { + pulumi.CustomResourceState + + Capacities PiHostCapacityArrayOutput `pulumi:"capacities"` + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // Name of the host (chosen by the user). + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // Link to host group resource. + HostGroup pulumi.StringMapOutput `pulumi:"hostGroup"` + // ID of the host. + HostId pulumi.StringOutput `pulumi:"hostId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Host to add to a host group. + PiHost PiHostPiHostOutput `pulumi:"piHost"` + // ID of the host group to which the host should be added. + PiHostGroupId pulumi.StringOutput `pulumi:"piHostGroupId"` + // State of the host (up/down). + State pulumi.StringOutput `pulumi:"state"` + // Status of the host (enabled/disabled). + Status pulumi.StringOutput `pulumi:"status"` + // System type. + SysType pulumi.StringOutput `pulumi:"sysType"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayOutput `pulumi:"userTags"` +} + +// NewPiHost registers a new resource with the given unique name, arguments, and options. +func NewPiHost(ctx *pulumi.Context, + name string, args *PiHostArgs, opts ...pulumi.ResourceOption) (*PiHost, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiHost == nil { + return nil, errors.New("invalid value for required argument 'PiHost'") + } + if args.PiHostGroupId == nil { + return nil, errors.New("invalid value for required argument 'PiHostGroupId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiHost + err := ctx.RegisterResource("ibmcloud:index/piHost:PiHost", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiHost gets an existing PiHost resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiHost(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiHostState, opts ...pulumi.ResourceOption) (*PiHost, error) { + var resource PiHost + err := ctx.ReadResource("ibmcloud:index/piHost:PiHost", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiHost resources. +type piHostState struct { + Capacities []PiHostCapacity `pulumi:"capacities"` + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // Name of the host (chosen by the user). + DisplayName *string `pulumi:"displayName"` + // Link to host group resource. + HostGroup map[string]string `pulumi:"hostGroup"` + // ID of the host. + HostId *string `pulumi:"hostId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Host to add to a host group. + PiHost *PiHostPiHost `pulumi:"piHost"` + // ID of the host group to which the host should be added. + PiHostGroupId *string `pulumi:"piHostGroupId"` + // State of the host (up/down). + State *string `pulumi:"state"` + // Status of the host (enabled/disabled). + Status *string `pulumi:"status"` + // System type. + SysType *string `pulumi:"sysType"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +type PiHostState struct { + Capacities PiHostCapacityArrayInput + // The CRN of this resource. + Crn pulumi.StringPtrInput + // Name of the host (chosen by the user). + DisplayName pulumi.StringPtrInput + // Link to host group resource. + HostGroup pulumi.StringMapInput + // ID of the host. + HostId pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Host to add to a host group. + PiHost PiHostPiHostPtrInput + // ID of the host group to which the host should be added. + PiHostGroupId pulumi.StringPtrInput + // State of the host (up/down). + State pulumi.StringPtrInput + // Status of the host (enabled/disabled). + Status pulumi.StringPtrInput + // System type. + SysType pulumi.StringPtrInput + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput +} + +func (PiHostState) ElementType() reflect.Type { + return reflect.TypeOf((*piHostState)(nil)).Elem() +} + +type piHostArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Host to add to a host group. + PiHost PiHostPiHost `pulumi:"piHost"` + // ID of the host group to which the host should be added. + PiHostGroupId string `pulumi:"piHostGroupId"` +} + +// The set of arguments for constructing a PiHost resource. +type PiHostArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Host to add to a host group. + PiHost PiHostPiHostInput + // ID of the host group to which the host should be added. + PiHostGroupId pulumi.StringInput +} + +func (PiHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piHostArgs)(nil)).Elem() +} + +type PiHostInput interface { + pulumi.Input + + ToPiHostOutput() PiHostOutput + ToPiHostOutputWithContext(ctx context.Context) PiHostOutput +} + +func (*PiHost) ElementType() reflect.Type { + return reflect.TypeOf((**PiHost)(nil)).Elem() +} + +func (i *PiHost) ToPiHostOutput() PiHostOutput { + return i.ToPiHostOutputWithContext(context.Background()) +} + +func (i *PiHost) ToPiHostOutputWithContext(ctx context.Context) PiHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostOutput) +} + +type PiHostOutput struct{ *pulumi.OutputState } + +func (PiHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiHost)(nil)).Elem() +} + +func (o PiHostOutput) ToPiHostOutput() PiHostOutput { + return o +} + +func (o PiHostOutput) ToPiHostOutputWithContext(ctx context.Context) PiHostOutput { + return o +} + +func (o PiHostOutput) Capacities() PiHostCapacityArrayOutput { + return o.ApplyT(func(v *PiHost) PiHostCapacityArrayOutput { return v.Capacities }).(PiHostCapacityArrayOutput) +} + +// The CRN of this resource. +func (o PiHostOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Name of the host (chosen by the user). +func (o PiHostOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// Link to host group resource. +func (o PiHostOutput) HostGroup() pulumi.StringMapOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringMapOutput { return v.HostGroup }).(pulumi.StringMapOutput) +} + +// ID of the host. +func (o PiHostOutput) HostId() pulumi.StringOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringOutput { return v.HostId }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiHostOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Host to add to a host group. +func (o PiHostOutput) PiHost() PiHostPiHostOutput { + return o.ApplyT(func(v *PiHost) PiHostPiHostOutput { return v.PiHost }).(PiHostPiHostOutput) +} + +// ID of the host group to which the host should be added. +func (o PiHostOutput) PiHostGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringOutput { return v.PiHostGroupId }).(pulumi.StringOutput) +} + +// State of the host (up/down). +func (o PiHostOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Status of the host (enabled/disabled). +func (o PiHostOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// System type. +func (o PiHostOutput) SysType() pulumi.StringOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringOutput { return v.SysType }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o PiHostOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiHost) pulumi.StringArrayOutput { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiHostInput)(nil)).Elem(), &PiHost{}) + pulumi.RegisterOutputType(PiHostOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piHostGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piHostGroup.go new file mode 100644 index 000000000..edbaa4ea3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piHostGroup.go @@ -0,0 +1,256 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiHostGroup struct { + pulumi.CustomResourceState + + // Date/Time of host group creation. + CreationDate pulumi.StringOutput `pulumi:"creationDate"` + // Host group ID. + HostGroupId pulumi.StringOutput `pulumi:"hostGroupId"` + // List of hosts. + Hosts pulumi.StringArrayOutput `pulumi:"hosts"` + // Name of the host group. + Name pulumi.StringOutput `pulumi:"name"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // List of hosts to add to the group. + PiHosts PiHostGroupPiHostArrayOutput `pulumi:"piHosts"` + // Name of the host group to create. + PiName pulumi.StringOutput `pulumi:"piName"` + // A workspace ID to stop sharing the host group with. + PiRemove pulumi.StringPtrOutput `pulumi:"piRemove"` + // List of workspaces to share the host group with. + PiSecondaries PiHostGroupPiSecondaryArrayOutput `pulumi:"piSecondaries"` + // ID of the workspace owning the host group. + Primary pulumi.StringOutput `pulumi:"primary"` + // IDs of workspaces the host group has been shared with. + Secondaries pulumi.StringArrayOutput `pulumi:"secondaries"` +} + +// NewPiHostGroup registers a new resource with the given unique name, arguments, and options. +func NewPiHostGroup(ctx *pulumi.Context, + name string, args *PiHostGroupArgs, opts ...pulumi.ResourceOption) (*PiHostGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiHosts == nil { + return nil, errors.New("invalid value for required argument 'PiHosts'") + } + if args.PiName == nil { + return nil, errors.New("invalid value for required argument 'PiName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiHostGroup + err := ctx.RegisterResource("ibmcloud:index/piHostGroup:PiHostGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiHostGroup gets an existing PiHostGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiHostGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiHostGroupState, opts ...pulumi.ResourceOption) (*PiHostGroup, error) { + var resource PiHostGroup + err := ctx.ReadResource("ibmcloud:index/piHostGroup:PiHostGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiHostGroup resources. +type piHostGroupState struct { + // Date/Time of host group creation. + CreationDate *string `pulumi:"creationDate"` + // Host group ID. + HostGroupId *string `pulumi:"hostGroupId"` + // List of hosts. + Hosts []string `pulumi:"hosts"` + // Name of the host group. + Name *string `pulumi:"name"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // List of hosts to add to the group. + PiHosts []PiHostGroupPiHost `pulumi:"piHosts"` + // Name of the host group to create. + PiName *string `pulumi:"piName"` + // A workspace ID to stop sharing the host group with. + PiRemove *string `pulumi:"piRemove"` + // List of workspaces to share the host group with. + PiSecondaries []PiHostGroupPiSecondary `pulumi:"piSecondaries"` + // ID of the workspace owning the host group. + Primary *string `pulumi:"primary"` + // IDs of workspaces the host group has been shared with. + Secondaries []string `pulumi:"secondaries"` +} + +type PiHostGroupState struct { + // Date/Time of host group creation. + CreationDate pulumi.StringPtrInput + // Host group ID. + HostGroupId pulumi.StringPtrInput + // List of hosts. + Hosts pulumi.StringArrayInput + // Name of the host group. + Name pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // List of hosts to add to the group. + PiHosts PiHostGroupPiHostArrayInput + // Name of the host group to create. + PiName pulumi.StringPtrInput + // A workspace ID to stop sharing the host group with. + PiRemove pulumi.StringPtrInput + // List of workspaces to share the host group with. + PiSecondaries PiHostGroupPiSecondaryArrayInput + // ID of the workspace owning the host group. + Primary pulumi.StringPtrInput + // IDs of workspaces the host group has been shared with. + Secondaries pulumi.StringArrayInput +} + +func (PiHostGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*piHostGroupState)(nil)).Elem() +} + +type piHostGroupArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // List of hosts to add to the group. + PiHosts []PiHostGroupPiHost `pulumi:"piHosts"` + // Name of the host group to create. + PiName string `pulumi:"piName"` + // A workspace ID to stop sharing the host group with. + PiRemove *string `pulumi:"piRemove"` + // List of workspaces to share the host group with. + PiSecondaries []PiHostGroupPiSecondary `pulumi:"piSecondaries"` +} + +// The set of arguments for constructing a PiHostGroup resource. +type PiHostGroupArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // List of hosts to add to the group. + PiHosts PiHostGroupPiHostArrayInput + // Name of the host group to create. + PiName pulumi.StringInput + // A workspace ID to stop sharing the host group with. + PiRemove pulumi.StringPtrInput + // List of workspaces to share the host group with. + PiSecondaries PiHostGroupPiSecondaryArrayInput +} + +func (PiHostGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piHostGroupArgs)(nil)).Elem() +} + +type PiHostGroupInput interface { + pulumi.Input + + ToPiHostGroupOutput() PiHostGroupOutput + ToPiHostGroupOutputWithContext(ctx context.Context) PiHostGroupOutput +} + +func (*PiHostGroup) ElementType() reflect.Type { + return reflect.TypeOf((**PiHostGroup)(nil)).Elem() +} + +func (i *PiHostGroup) ToPiHostGroupOutput() PiHostGroupOutput { + return i.ToPiHostGroupOutputWithContext(context.Background()) +} + +func (i *PiHostGroup) ToPiHostGroupOutputWithContext(ctx context.Context) PiHostGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostGroupOutput) +} + +type PiHostGroupOutput struct{ *pulumi.OutputState } + +func (PiHostGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiHostGroup)(nil)).Elem() +} + +func (o PiHostGroupOutput) ToPiHostGroupOutput() PiHostGroupOutput { + return o +} + +func (o PiHostGroupOutput) ToPiHostGroupOutputWithContext(ctx context.Context) PiHostGroupOutput { + return o +} + +// Date/Time of host group creation. +func (o PiHostGroupOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) +} + +// Host group ID. +func (o PiHostGroupOutput) HostGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringOutput { return v.HostGroupId }).(pulumi.StringOutput) +} + +// List of hosts. +func (o PiHostGroupOutput) Hosts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringArrayOutput { return v.Hosts }).(pulumi.StringArrayOutput) +} + +// Name of the host group. +func (o PiHostGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiHostGroupOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// List of hosts to add to the group. +func (o PiHostGroupOutput) PiHosts() PiHostGroupPiHostArrayOutput { + return o.ApplyT(func(v *PiHostGroup) PiHostGroupPiHostArrayOutput { return v.PiHosts }).(PiHostGroupPiHostArrayOutput) +} + +// Name of the host group to create. +func (o PiHostGroupOutput) PiName() pulumi.StringOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringOutput { return v.PiName }).(pulumi.StringOutput) +} + +// A workspace ID to stop sharing the host group with. +func (o PiHostGroupOutput) PiRemove() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringPtrOutput { return v.PiRemove }).(pulumi.StringPtrOutput) +} + +// List of workspaces to share the host group with. +func (o PiHostGroupOutput) PiSecondaries() PiHostGroupPiSecondaryArrayOutput { + return o.ApplyT(func(v *PiHostGroup) PiHostGroupPiSecondaryArrayOutput { return v.PiSecondaries }).(PiHostGroupPiSecondaryArrayOutput) +} + +// ID of the workspace owning the host group. +func (o PiHostGroupOutput) Primary() pulumi.StringOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringOutput { return v.Primary }).(pulumi.StringOutput) +} + +// IDs of workspaces the host group has been shared with. +func (o PiHostGroupOutput) Secondaries() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiHostGroup) pulumi.StringArrayOutput { return v.Secondaries }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiHostGroupInput)(nil)).Elem(), &PiHostGroup{}) + pulumi.RegisterOutputType(PiHostGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piIkePolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piIkePolicy.go new file mode 100644 index 000000000..11431137c --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piIkePolicy.go @@ -0,0 +1,258 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiIkePolicy struct { + pulumi.CustomResourceState + + // PI cloud instance ID + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Authentication for the IKE Policy + PiPolicyAuthentication pulumi.StringPtrOutput `pulumi:"piPolicyAuthentication"` + // DH group of the IKE Policy + PiPolicyDhGroup pulumi.IntOutput `pulumi:"piPolicyDhGroup"` + // Encryption of the IKE Policy + PiPolicyEncryption pulumi.StringOutput `pulumi:"piPolicyEncryption"` + // Policy key lifetime + PiPolicyKeyLifetime pulumi.IntOutput `pulumi:"piPolicyKeyLifetime"` + // Name of the IKE Policy + PiPolicyName pulumi.StringOutput `pulumi:"piPolicyName"` + // Preshared key used in this IKE Policy (length of preshared key must be even) + PiPolicyPresharedKey pulumi.StringOutput `pulumi:"piPolicyPresharedKey"` + // Version of the IKE Policy + PiPolicyVersion pulumi.IntOutput `pulumi:"piPolicyVersion"` + // IKE Policy ID + PolicyId pulumi.StringOutput `pulumi:"policyId"` +} + +// NewPiIkePolicy registers a new resource with the given unique name, arguments, and options. +func NewPiIkePolicy(ctx *pulumi.Context, + name string, args *PiIkePolicyArgs, opts ...pulumi.ResourceOption) (*PiIkePolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiPolicyDhGroup == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyDhGroup'") + } + if args.PiPolicyEncryption == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyEncryption'") + } + if args.PiPolicyKeyLifetime == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyKeyLifetime'") + } + if args.PiPolicyName == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyName'") + } + if args.PiPolicyPresharedKey == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyPresharedKey'") + } + if args.PiPolicyVersion == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyVersion'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiIkePolicy + err := ctx.RegisterResource("ibmcloud:index/piIkePolicy:PiIkePolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiIkePolicy gets an existing PiIkePolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiIkePolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiIkePolicyState, opts ...pulumi.ResourceOption) (*PiIkePolicy, error) { + var resource PiIkePolicy + err := ctx.ReadResource("ibmcloud:index/piIkePolicy:PiIkePolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiIkePolicy resources. +type piIkePolicyState struct { + // PI cloud instance ID + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Authentication for the IKE Policy + PiPolicyAuthentication *string `pulumi:"piPolicyAuthentication"` + // DH group of the IKE Policy + PiPolicyDhGroup *int `pulumi:"piPolicyDhGroup"` + // Encryption of the IKE Policy + PiPolicyEncryption *string `pulumi:"piPolicyEncryption"` + // Policy key lifetime + PiPolicyKeyLifetime *int `pulumi:"piPolicyKeyLifetime"` + // Name of the IKE Policy + PiPolicyName *string `pulumi:"piPolicyName"` + // Preshared key used in this IKE Policy (length of preshared key must be even) + PiPolicyPresharedKey *string `pulumi:"piPolicyPresharedKey"` + // Version of the IKE Policy + PiPolicyVersion *int `pulumi:"piPolicyVersion"` + // IKE Policy ID + PolicyId *string `pulumi:"policyId"` +} + +type PiIkePolicyState struct { + // PI cloud instance ID + PiCloudInstanceId pulumi.StringPtrInput + // Authentication for the IKE Policy + PiPolicyAuthentication pulumi.StringPtrInput + // DH group of the IKE Policy + PiPolicyDhGroup pulumi.IntPtrInput + // Encryption of the IKE Policy + PiPolicyEncryption pulumi.StringPtrInput + // Policy key lifetime + PiPolicyKeyLifetime pulumi.IntPtrInput + // Name of the IKE Policy + PiPolicyName pulumi.StringPtrInput + // Preshared key used in this IKE Policy (length of preshared key must be even) + PiPolicyPresharedKey pulumi.StringPtrInput + // Version of the IKE Policy + PiPolicyVersion pulumi.IntPtrInput + // IKE Policy ID + PolicyId pulumi.StringPtrInput +} + +func (PiIkePolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*piIkePolicyState)(nil)).Elem() +} + +type piIkePolicyArgs struct { + // PI cloud instance ID + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Authentication for the IKE Policy + PiPolicyAuthentication *string `pulumi:"piPolicyAuthentication"` + // DH group of the IKE Policy + PiPolicyDhGroup int `pulumi:"piPolicyDhGroup"` + // Encryption of the IKE Policy + PiPolicyEncryption string `pulumi:"piPolicyEncryption"` + // Policy key lifetime + PiPolicyKeyLifetime int `pulumi:"piPolicyKeyLifetime"` + // Name of the IKE Policy + PiPolicyName string `pulumi:"piPolicyName"` + // Preshared key used in this IKE Policy (length of preshared key must be even) + PiPolicyPresharedKey string `pulumi:"piPolicyPresharedKey"` + // Version of the IKE Policy + PiPolicyVersion int `pulumi:"piPolicyVersion"` +} + +// The set of arguments for constructing a PiIkePolicy resource. +type PiIkePolicyArgs struct { + // PI cloud instance ID + PiCloudInstanceId pulumi.StringInput + // Authentication for the IKE Policy + PiPolicyAuthentication pulumi.StringPtrInput + // DH group of the IKE Policy + PiPolicyDhGroup pulumi.IntInput + // Encryption of the IKE Policy + PiPolicyEncryption pulumi.StringInput + // Policy key lifetime + PiPolicyKeyLifetime pulumi.IntInput + // Name of the IKE Policy + PiPolicyName pulumi.StringInput + // Preshared key used in this IKE Policy (length of preshared key must be even) + PiPolicyPresharedKey pulumi.StringInput + // Version of the IKE Policy + PiPolicyVersion pulumi.IntInput +} + +func (PiIkePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piIkePolicyArgs)(nil)).Elem() +} + +type PiIkePolicyInput interface { + pulumi.Input + + ToPiIkePolicyOutput() PiIkePolicyOutput + ToPiIkePolicyOutputWithContext(ctx context.Context) PiIkePolicyOutput +} + +func (*PiIkePolicy) ElementType() reflect.Type { + return reflect.TypeOf((**PiIkePolicy)(nil)).Elem() +} + +func (i *PiIkePolicy) ToPiIkePolicyOutput() PiIkePolicyOutput { + return i.ToPiIkePolicyOutputWithContext(context.Background()) +} + +func (i *PiIkePolicy) ToPiIkePolicyOutputWithContext(ctx context.Context) PiIkePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiIkePolicyOutput) +} + +type PiIkePolicyOutput struct{ *pulumi.OutputState } + +func (PiIkePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiIkePolicy)(nil)).Elem() +} + +func (o PiIkePolicyOutput) ToPiIkePolicyOutput() PiIkePolicyOutput { + return o +} + +func (o PiIkePolicyOutput) ToPiIkePolicyOutputWithContext(ctx context.Context) PiIkePolicyOutput { + return o +} + +// PI cloud instance ID +func (o PiIkePolicyOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Authentication for the IKE Policy +func (o PiIkePolicyOutput) PiPolicyAuthentication() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.StringPtrOutput { return v.PiPolicyAuthentication }).(pulumi.StringPtrOutput) +} + +// DH group of the IKE Policy +func (o PiIkePolicyOutput) PiPolicyDhGroup() pulumi.IntOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.IntOutput { return v.PiPolicyDhGroup }).(pulumi.IntOutput) +} + +// Encryption of the IKE Policy +func (o PiIkePolicyOutput) PiPolicyEncryption() pulumi.StringOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.StringOutput { return v.PiPolicyEncryption }).(pulumi.StringOutput) +} + +// Policy key lifetime +func (o PiIkePolicyOutput) PiPolicyKeyLifetime() pulumi.IntOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.IntOutput { return v.PiPolicyKeyLifetime }).(pulumi.IntOutput) +} + +// Name of the IKE Policy +func (o PiIkePolicyOutput) PiPolicyName() pulumi.StringOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.StringOutput { return v.PiPolicyName }).(pulumi.StringOutput) +} + +// Preshared key used in this IKE Policy (length of preshared key must be even) +func (o PiIkePolicyOutput) PiPolicyPresharedKey() pulumi.StringOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.StringOutput { return v.PiPolicyPresharedKey }).(pulumi.StringOutput) +} + +// Version of the IKE Policy +func (o PiIkePolicyOutput) PiPolicyVersion() pulumi.IntOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.IntOutput { return v.PiPolicyVersion }).(pulumi.IntOutput) +} + +// IKE Policy ID +func (o PiIkePolicyOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *PiIkePolicy) pulumi.StringOutput { return v.PolicyId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiIkePolicyInput)(nil)).Elem(), &PiIkePolicy{}) + pulumi.RegisterOutputType(PiIkePolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piImage.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piImage.go new file mode 100644 index 000000000..2965abe44 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piImage.go @@ -0,0 +1,406 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiImage struct { + pulumi.CustomResourceState + + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // Image ID + ImageId pulumi.StringOutput `pulumi:"imageId"` + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance pulumi.StringPtrOutput `pulumi:"piAffinityInstance"` + // Affinity policy for image; ignored if piImageStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy pulumi.StringPtrOutput `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume pulumi.StringPtrOutput `pulumi:"piAffinityVolume"` + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances pulumi.StringArrayOutput `pulumi:"piAntiAffinityInstances"` + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes pulumi.StringArrayOutput `pulumi:"piAntiAffinityVolumes"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey pulumi.StringPtrOutput `pulumi:"piImageAccessKey"` + // Indicates if the bucket has public or private access + PiImageBucketAccess pulumi.StringPtrOutput `pulumi:"piImageBucketAccess"` + // Cloud Object Storage image filename + PiImageBucketFileName pulumi.StringPtrOutput `pulumi:"piImageBucketFileName"` + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName pulumi.StringPtrOutput `pulumi:"piImageBucketName"` + // Cloud Object Storage region + PiImageBucketRegion pulumi.StringPtrOutput `pulumi:"piImageBucketRegion"` + // Instance image id + PiImageId pulumi.StringPtrOutput `pulumi:"piImageId"` + PiImageImportDetails PiImagePiImageImportDetailsPtrOutput `pulumi:"piImageImportDetails"` + // Image name + PiImageName pulumi.StringOutput `pulumi:"piImageName"` + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey pulumi.StringPtrOutput `pulumi:"piImageSecretKey"` + // Storage pool where the image will be loaded, if provided then piAffinityPolicy will be ignored + PiImageStoragePool pulumi.StringPtrOutput `pulumi:"piImageStoragePool"` + // Type of storage; If not specified, default is tier3 + PiImageStorageType pulumi.StringPtrOutput `pulumi:"piImageStorageType"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` +} + +// NewPiImage registers a new resource with the given unique name, arguments, and options. +func NewPiImage(ctx *pulumi.Context, + name string, args *PiImageArgs, opts ...pulumi.ResourceOption) (*PiImage, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiImageAccessKey != nil { + args.PiImageAccessKey = pulumi.ToSecret(args.PiImageAccessKey).(pulumi.StringPtrInput) + } + if args.PiImageSecretKey != nil { + args.PiImageSecretKey = pulumi.ToSecret(args.PiImageSecretKey).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "piImageAccessKey", + "piImageSecretKey", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiImage + err := ctx.RegisterResource("ibmcloud:index/piImage:PiImage", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiImage gets an existing PiImage resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiImage(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiImageState, opts ...pulumi.ResourceOption) (*PiImage, error) { + var resource PiImage + err := ctx.ReadResource("ibmcloud:index/piImage:PiImage", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiImage resources. +type piImageState struct { + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // Image ID + ImageId *string `pulumi:"imageId"` + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance *string `pulumi:"piAffinityInstance"` + // Affinity policy for image; ignored if piImageStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy *string `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume *string `pulumi:"piAffinityVolume"` + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances []string `pulumi:"piAntiAffinityInstances"` + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes []string `pulumi:"piAntiAffinityVolumes"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey *string `pulumi:"piImageAccessKey"` + // Indicates if the bucket has public or private access + PiImageBucketAccess *string `pulumi:"piImageBucketAccess"` + // Cloud Object Storage image filename + PiImageBucketFileName *string `pulumi:"piImageBucketFileName"` + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName *string `pulumi:"piImageBucketName"` + // Cloud Object Storage region + PiImageBucketRegion *string `pulumi:"piImageBucketRegion"` + // Instance image id + PiImageId *string `pulumi:"piImageId"` + PiImageImportDetails *PiImagePiImageImportDetails `pulumi:"piImageImportDetails"` + // Image name + PiImageName *string `pulumi:"piImageName"` + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey *string `pulumi:"piImageSecretKey"` + // Storage pool where the image will be loaded, if provided then piAffinityPolicy will be ignored + PiImageStoragePool *string `pulumi:"piImageStoragePool"` + // Type of storage; If not specified, default is tier3 + PiImageStorageType *string `pulumi:"piImageStorageType"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +type PiImageState struct { + // The CRN of this resource. + Crn pulumi.StringPtrInput + // Image ID + ImageId pulumi.StringPtrInput + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance pulumi.StringPtrInput + // Affinity policy for image; ignored if piImageStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy pulumi.StringPtrInput + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume pulumi.StringPtrInput + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances pulumi.StringArrayInput + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes pulumi.StringArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey pulumi.StringPtrInput + // Indicates if the bucket has public or private access + PiImageBucketAccess pulumi.StringPtrInput + // Cloud Object Storage image filename + PiImageBucketFileName pulumi.StringPtrInput + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName pulumi.StringPtrInput + // Cloud Object Storage region + PiImageBucketRegion pulumi.StringPtrInput + // Instance image id + PiImageId pulumi.StringPtrInput + PiImageImportDetails PiImagePiImageImportDetailsPtrInput + // Image name + PiImageName pulumi.StringPtrInput + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey pulumi.StringPtrInput + // Storage pool where the image will be loaded, if provided then piAffinityPolicy will be ignored + PiImageStoragePool pulumi.StringPtrInput + // Type of storage; If not specified, default is tier3 + PiImageStorageType pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiImageState) ElementType() reflect.Type { + return reflect.TypeOf((*piImageState)(nil)).Elem() +} + +type piImageArgs struct { + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance *string `pulumi:"piAffinityInstance"` + // Affinity policy for image; ignored if piImageStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy *string `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume *string `pulumi:"piAffinityVolume"` + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances []string `pulumi:"piAntiAffinityInstances"` + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes []string `pulumi:"piAntiAffinityVolumes"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey *string `pulumi:"piImageAccessKey"` + // Indicates if the bucket has public or private access + PiImageBucketAccess *string `pulumi:"piImageBucketAccess"` + // Cloud Object Storage image filename + PiImageBucketFileName *string `pulumi:"piImageBucketFileName"` + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName *string `pulumi:"piImageBucketName"` + // Cloud Object Storage region + PiImageBucketRegion *string `pulumi:"piImageBucketRegion"` + // Instance image id + PiImageId *string `pulumi:"piImageId"` + PiImageImportDetails *PiImagePiImageImportDetails `pulumi:"piImageImportDetails"` + // Image name + PiImageName *string `pulumi:"piImageName"` + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey *string `pulumi:"piImageSecretKey"` + // Storage pool where the image will be loaded, if provided then piAffinityPolicy will be ignored + PiImageStoragePool *string `pulumi:"piImageStoragePool"` + // Type of storage; If not specified, default is tier3 + PiImageStorageType *string `pulumi:"piImageStorageType"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiImage resource. +type PiImageArgs struct { + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance pulumi.StringPtrInput + // Affinity policy for image; ignored if piImageStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy pulumi.StringPtrInput + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume pulumi.StringPtrInput + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances pulumi.StringArrayInput + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes pulumi.StringArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey pulumi.StringPtrInput + // Indicates if the bucket has public or private access + PiImageBucketAccess pulumi.StringPtrInput + // Cloud Object Storage image filename + PiImageBucketFileName pulumi.StringPtrInput + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName pulumi.StringPtrInput + // Cloud Object Storage region + PiImageBucketRegion pulumi.StringPtrInput + // Instance image id + PiImageId pulumi.StringPtrInput + PiImageImportDetails PiImagePiImageImportDetailsPtrInput + // Image name + PiImageName pulumi.StringPtrInput + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey pulumi.StringPtrInput + // Storage pool where the image will be loaded, if provided then piAffinityPolicy will be ignored + PiImageStoragePool pulumi.StringPtrInput + // Type of storage; If not specified, default is tier3 + PiImageStorageType pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piImageArgs)(nil)).Elem() +} + +type PiImageInput interface { + pulumi.Input + + ToPiImageOutput() PiImageOutput + ToPiImageOutputWithContext(ctx context.Context) PiImageOutput +} + +func (*PiImage) ElementType() reflect.Type { + return reflect.TypeOf((**PiImage)(nil)).Elem() +} + +func (i *PiImage) ToPiImageOutput() PiImageOutput { + return i.ToPiImageOutputWithContext(context.Background()) +} + +func (i *PiImage) ToPiImageOutputWithContext(ctx context.Context) PiImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiImageOutput) +} + +type PiImageOutput struct{ *pulumi.OutputState } + +func (PiImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiImage)(nil)).Elem() +} + +func (o PiImageOutput) ToPiImageOutput() PiImageOutput { + return o +} + +func (o PiImageOutput) ToPiImageOutputWithContext(ctx context.Context) PiImageOutput { + return o +} + +// The CRN of this resource. +func (o PiImageOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Image ID +func (o PiImageOutput) ImageId() pulumi.StringOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringOutput { return v.ImageId }).(pulumi.StringOutput) +} + +// PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided +func (o PiImageOutput) PiAffinityInstance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiAffinityInstance }).(pulumi.StringPtrOutput) +} + +// Affinity policy for image; ignored if piImageStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified +func (o PiImageOutput) PiAffinityPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiAffinityPolicy }).(pulumi.StringPtrOutput) +} + +// Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided +func (o PiImageOutput) PiAffinityVolume() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiAffinityVolume }).(pulumi.StringPtrOutput) +} + +// List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided +func (o PiImageOutput) PiAntiAffinityInstances() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringArrayOutput { return v.PiAntiAffinityInstances }).(pulumi.StringArrayOutput) +} + +// List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided +func (o PiImageOutput) PiAntiAffinityVolumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringArrayOutput { return v.PiAntiAffinityVolumes }).(pulumi.StringArrayOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiImageOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Cloud Object Storage access key; required for buckets with private access +func (o PiImageOutput) PiImageAccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageAccessKey }).(pulumi.StringPtrOutput) +} + +// Indicates if the bucket has public or private access +func (o PiImageOutput) PiImageBucketAccess() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageBucketAccess }).(pulumi.StringPtrOutput) +} + +// Cloud Object Storage image filename +func (o PiImageOutput) PiImageBucketFileName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageBucketFileName }).(pulumi.StringPtrOutput) +} + +// Cloud Object Storage bucket name; bucket-name[/optional/folder] +func (o PiImageOutput) PiImageBucketName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageBucketName }).(pulumi.StringPtrOutput) +} + +// Cloud Object Storage region +func (o PiImageOutput) PiImageBucketRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageBucketRegion }).(pulumi.StringPtrOutput) +} + +// Instance image id +func (o PiImageOutput) PiImageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageId }).(pulumi.StringPtrOutput) +} + +func (o PiImageOutput) PiImageImportDetails() PiImagePiImageImportDetailsPtrOutput { + return o.ApplyT(func(v *PiImage) PiImagePiImageImportDetailsPtrOutput { return v.PiImageImportDetails }).(PiImagePiImageImportDetailsPtrOutput) +} + +// Image name +func (o PiImageOutput) PiImageName() pulumi.StringOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringOutput { return v.PiImageName }).(pulumi.StringOutput) +} + +// Cloud Object Storage secret key; required for buckets with private access +func (o PiImageOutput) PiImageSecretKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageSecretKey }).(pulumi.StringPtrOutput) +} + +// Storage pool where the image will be loaded, if provided then piAffinityPolicy will be ignored +func (o PiImageOutput) PiImageStoragePool() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageStoragePool }).(pulumi.StringPtrOutput) +} + +// Type of storage; If not specified, default is tier3 +func (o PiImageOutput) PiImageStorageType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringPtrOutput { return v.PiImageStorageType }).(pulumi.StringPtrOutput) +} + +// The user tags attached to this resource. +func (o PiImageOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiImage) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiImageInput)(nil)).Elem(), &PiImage{}) + pulumi.RegisterOutputType(PiImageOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piImageExport.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piImageExport.go new file mode 100644 index 000000000..121d1f10f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piImageExport.go @@ -0,0 +1,225 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiImageExport struct { + pulumi.CustomResourceState + + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey pulumi.StringOutput `pulumi:"piImageAccessKey"` + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName pulumi.StringOutput `pulumi:"piImageBucketName"` + // Cloud Object Storage region + PiImageBucketRegion pulumi.StringOutput `pulumi:"piImageBucketRegion"` + // Instance image id + PiImageId pulumi.StringOutput `pulumi:"piImageId"` + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey pulumi.StringOutput `pulumi:"piImageSecretKey"` +} + +// NewPiImageExport registers a new resource with the given unique name, arguments, and options. +func NewPiImageExport(ctx *pulumi.Context, + name string, args *PiImageExportArgs, opts ...pulumi.ResourceOption) (*PiImageExport, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiImageAccessKey == nil { + return nil, errors.New("invalid value for required argument 'PiImageAccessKey'") + } + if args.PiImageBucketName == nil { + return nil, errors.New("invalid value for required argument 'PiImageBucketName'") + } + if args.PiImageBucketRegion == nil { + return nil, errors.New("invalid value for required argument 'PiImageBucketRegion'") + } + if args.PiImageId == nil { + return nil, errors.New("invalid value for required argument 'PiImageId'") + } + if args.PiImageSecretKey == nil { + return nil, errors.New("invalid value for required argument 'PiImageSecretKey'") + } + if args.PiImageAccessKey != nil { + args.PiImageAccessKey = pulumi.ToSecret(args.PiImageAccessKey).(pulumi.StringInput) + } + if args.PiImageSecretKey != nil { + args.PiImageSecretKey = pulumi.ToSecret(args.PiImageSecretKey).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "piImageAccessKey", + "piImageSecretKey", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiImageExport + err := ctx.RegisterResource("ibmcloud:index/piImageExport:PiImageExport", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiImageExport gets an existing PiImageExport resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiImageExport(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiImageExportState, opts ...pulumi.ResourceOption) (*PiImageExport, error) { + var resource PiImageExport + err := ctx.ReadResource("ibmcloud:index/piImageExport:PiImageExport", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiImageExport resources. +type piImageExportState struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey *string `pulumi:"piImageAccessKey"` + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName *string `pulumi:"piImageBucketName"` + // Cloud Object Storage region + PiImageBucketRegion *string `pulumi:"piImageBucketRegion"` + // Instance image id + PiImageId *string `pulumi:"piImageId"` + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey *string `pulumi:"piImageSecretKey"` +} + +type PiImageExportState struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey pulumi.StringPtrInput + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName pulumi.StringPtrInput + // Cloud Object Storage region + PiImageBucketRegion pulumi.StringPtrInput + // Instance image id + PiImageId pulumi.StringPtrInput + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey pulumi.StringPtrInput +} + +func (PiImageExportState) ElementType() reflect.Type { + return reflect.TypeOf((*piImageExportState)(nil)).Elem() +} + +type piImageExportArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey string `pulumi:"piImageAccessKey"` + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName string `pulumi:"piImageBucketName"` + // Cloud Object Storage region + PiImageBucketRegion string `pulumi:"piImageBucketRegion"` + // Instance image id + PiImageId string `pulumi:"piImageId"` + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey string `pulumi:"piImageSecretKey"` +} + +// The set of arguments for constructing a PiImageExport resource. +type PiImageExportArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Cloud Object Storage access key; required for buckets with private access + PiImageAccessKey pulumi.StringInput + // Cloud Object Storage bucket name; bucket-name[/optional/folder] + PiImageBucketName pulumi.StringInput + // Cloud Object Storage region + PiImageBucketRegion pulumi.StringInput + // Instance image id + PiImageId pulumi.StringInput + // Cloud Object Storage secret key; required for buckets with private access + PiImageSecretKey pulumi.StringInput +} + +func (PiImageExportArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piImageExportArgs)(nil)).Elem() +} + +type PiImageExportInput interface { + pulumi.Input + + ToPiImageExportOutput() PiImageExportOutput + ToPiImageExportOutputWithContext(ctx context.Context) PiImageExportOutput +} + +func (*PiImageExport) ElementType() reflect.Type { + return reflect.TypeOf((**PiImageExport)(nil)).Elem() +} + +func (i *PiImageExport) ToPiImageExportOutput() PiImageExportOutput { + return i.ToPiImageExportOutputWithContext(context.Background()) +} + +func (i *PiImageExport) ToPiImageExportOutputWithContext(ctx context.Context) PiImageExportOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiImageExportOutput) +} + +type PiImageExportOutput struct{ *pulumi.OutputState } + +func (PiImageExportOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiImageExport)(nil)).Elem() +} + +func (o PiImageExportOutput) ToPiImageExportOutput() PiImageExportOutput { + return o +} + +func (o PiImageExportOutput) ToPiImageExportOutputWithContext(ctx context.Context) PiImageExportOutput { + return o +} + +// The GUID of the service instance associated with an account. +func (o PiImageExportOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiImageExport) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Cloud Object Storage access key; required for buckets with private access +func (o PiImageExportOutput) PiImageAccessKey() pulumi.StringOutput { + return o.ApplyT(func(v *PiImageExport) pulumi.StringOutput { return v.PiImageAccessKey }).(pulumi.StringOutput) +} + +// Cloud Object Storage bucket name; bucket-name[/optional/folder] +func (o PiImageExportOutput) PiImageBucketName() pulumi.StringOutput { + return o.ApplyT(func(v *PiImageExport) pulumi.StringOutput { return v.PiImageBucketName }).(pulumi.StringOutput) +} + +// Cloud Object Storage region +func (o PiImageExportOutput) PiImageBucketRegion() pulumi.StringOutput { + return o.ApplyT(func(v *PiImageExport) pulumi.StringOutput { return v.PiImageBucketRegion }).(pulumi.StringOutput) +} + +// Instance image id +func (o PiImageExportOutput) PiImageId() pulumi.StringOutput { + return o.ApplyT(func(v *PiImageExport) pulumi.StringOutput { return v.PiImageId }).(pulumi.StringOutput) +} + +// Cloud Object Storage secret key; required for buckets with private access +func (o PiImageExportOutput) PiImageSecretKey() pulumi.StringOutput { + return o.ApplyT(func(v *PiImageExport) pulumi.StringOutput { return v.PiImageSecretKey }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiImageExportInput)(nil)).Elem(), &PiImageExport{}) + pulumi.RegisterOutputType(PiImageExportOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstance.go new file mode 100644 index 000000000..1d758fa67 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstance.go @@ -0,0 +1,972 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiInstance struct { + pulumi.CustomResourceState + + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId pulumi.StringOutput `pulumi:"dedicatedHostId"` + // Effective processor compatibility mode. + EffectiveProcessorCompatibilityMode pulumi.StringOutput `pulumi:"effectiveProcessorCompatibilityMode"` + // Fault information. + Fault pulumi.StringMapOutput `pulumi:"fault"` + // PI Instance health status + HealthStatus pulumi.StringOutput `pulumi:"healthStatus"` + // IBM i Rational Dev Studio + IbmiRds pulumi.BoolOutput `pulumi:"ibmiRds"` + // Instance ID + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Maximum memory size + MaxMemory pulumi.Float64Output `pulumi:"maxMemory"` + // Maximum number of processors + MaxProcessors pulumi.Float64Output `pulumi:"maxProcessors"` + // Maximum Virtual Cores Assigned to the PVMInstance + MaxVirtualCores pulumi.IntOutput `pulumi:"maxVirtualCores"` + // Minimum memory + MinMemory pulumi.Float64Output `pulumi:"minMemory"` + // Minimum number of the CPUs + MinProcessors pulumi.Float64Output `pulumi:"minProcessors"` + // Minimum Virtual Cores Assigned to the PVMInstance + MinVirtualCores pulumi.IntOutput `pulumi:"minVirtualCores"` + // Operating System + OperatingSystem pulumi.StringOutput `pulumi:"operatingSystem"` + // OS Type + OsType pulumi.StringOutput `pulumi:"osType"` + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance pulumi.StringPtrOutput `pulumi:"piAffinityInstance"` + // Affinity policy for pvm instance being created; ignored if piStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy pulumi.StringPtrOutput `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume pulumi.StringPtrOutput `pulumi:"piAffinityVolume"` + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances pulumi.StringArrayOutput `pulumi:"piAntiAffinityInstances"` + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes pulumi.StringArrayOutput `pulumi:"piAntiAffinityVolumes"` + // Indicates if the boot volume should be replication enabled or not. + PiBootVolumeReplicationEnabled pulumi.BoolPtrOutput `pulumi:"piBootVolumeReplicationEnabled"` + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The deployment of a dedicated host. + PiDeploymentTarget PiInstancePiDeploymentTargetPtrOutput `pulumi:"piDeploymentTarget"` + // Custom Deployment Type Information + PiDeploymentType pulumi.StringPtrOutput `pulumi:"piDeploymentType"` + // Allow the user to set the status of the lpar so that they can connect to it faster + PiHealthStatus pulumi.StringPtrOutput `pulumi:"piHealthStatus"` + // IBM i Cloud Storage Solution + PiIbmiCss pulumi.BoolPtrOutput `pulumi:"piIbmiCss"` + // IBM i Power High Availability + PiIbmiPha pulumi.BoolPtrOutput `pulumi:"piIbmiPha"` + // IBM i Rational Dev Studio Number of User Licenses + PiIbmiRdsUsers pulumi.IntPtrOutput `pulumi:"piIbmiRdsUsers"` + // PI instance image id + PiImageId pulumi.StringOutput `pulumi:"piImageId"` + // PI Instance name + PiInstanceName pulumi.StringOutput `pulumi:"piInstanceName"` + // SSH key name + PiKeyPairName pulumi.StringPtrOutput `pulumi:"piKeyPairName"` + // The VTL license repository capacity TB value + PiLicenseRepositoryCapacity pulumi.IntOutput `pulumi:"piLicenseRepositoryCapacity"` + // Memory size + PiMemory pulumi.Float64Output `pulumi:"piMemory"` + // List of one or more networks to attach to the instance + PiNetworks PiInstancePiNetworkArrayOutput `pulumi:"piNetworks"` + // Pin Policy of the instance + PiPinPolicy pulumi.StringPtrOutput `pulumi:"piPinPolicy"` + // Placement group ID + PiPlacementGroupId pulumi.StringPtrOutput `pulumi:"piPlacementGroupId"` + // Preferred processor compatibility mode. + PiPreferredProcessorCompatibilityMode pulumi.StringOutput `pulumi:"piPreferredProcessorCompatibilityMode"` + // Instance processor type + PiProcType pulumi.StringOutput `pulumi:"piProcType"` + // Processors count + PiProcessors pulumi.Float64Output `pulumi:"piProcessors"` + // PI Instance replicas count + PiReplicants pulumi.IntPtrOutput `pulumi:"piReplicants"` + // Replication policy for the PI Instance + PiReplicationPolicy pulumi.StringPtrOutput `pulumi:"piReplicationPolicy"` + // Replication scheme + PiReplicationScheme pulumi.StringPtrOutput `pulumi:"piReplicationScheme"` + // Indicates the replication sites of the boot volume. + PiReplicationSites pulumi.StringArrayOutput `pulumi:"piReplicationSites"` + // Indicates whether to retain virtual serial number when changed or deleted. + PiRetainVirtualSerialNumber pulumi.BoolPtrOutput `pulumi:"piRetainVirtualSerialNumber"` + // Custom SAP Deployment Type Information + PiSapDeploymentType pulumi.StringPtrOutput `pulumi:"piSapDeploymentType"` + // SAP Profile ID for the amount of cores and memory + PiSapProfileId pulumi.StringPtrOutput `pulumi:"piSapProfileId"` + // Shared Processor Pool the instance is deployed on + PiSharedProcessorPool pulumi.StringPtrOutput `pulumi:"piSharedProcessorPool"` + // Storage Connectivity Group for server deployment + PiStorageConnection pulumi.StringPtrOutput `pulumi:"piStorageConnection"` + // Storage Pool for server deployment; if provided then piStoragePoolAffinity will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a VM capture) defaults to the storage pool the image was created in + PiStoragePool pulumi.StringOutput `pulumi:"piStoragePool"` + // Indicates if all volumes attached to the server must reside in the same storage pool + PiStoragePoolAffinity pulumi.BoolPtrOutput `pulumi:"piStoragePoolAffinity"` + // Storage type for server deployment; if piStorageType is not provided the storage type will default to tier3 + PiStorageType pulumi.StringOutput `pulumi:"piStorageType"` + // The type of system on which to create the VM (e980/e1080/e1150/e1180/s922/s1022/s1122). + PiSysType pulumi.StringOutput `pulumi:"piSysType"` + // Base64 encoded data to be passed in for invoking a cloud init script + PiUserData pulumi.StringPtrOutput `pulumi:"piUserData"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // Virtual Cores Assigned to the PVMInstance + PiVirtualCoresAssigned pulumi.IntOutput `pulumi:"piVirtualCoresAssigned"` + // Virtual Machine's Cloud Initialization Virtual Optical Device + PiVirtualOpticalDevice pulumi.StringPtrOutput `pulumi:"piVirtualOpticalDevice"` + // Virtual Serial Number information + PiVirtualSerialNumber PiInstancePiVirtualSerialNumberPtrOutput `pulumi:"piVirtualSerialNumber"` + // List of PI volumes + PiVolumeIds pulumi.StringArrayOutput `pulumi:"piVolumeIds"` + // PIN Policy of the Instance + PinPolicy pulumi.StringOutput `pulumi:"pinPolicy"` + // Progress of the operation + Progress pulumi.Float64Output `pulumi:"progress"` + // Shared Processor Pool ID the instance is deployed on + SharedProcessorPoolId pulumi.StringOutput `pulumi:"sharedProcessorPoolId"` + // PI instance status + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewPiInstance registers a new resource with the given unique name, arguments, and options. +func NewPiInstance(ctx *pulumi.Context, + name string, args *PiInstanceArgs, opts ...pulumi.ResourceOption) (*PiInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiImageId == nil { + return nil, errors.New("invalid value for required argument 'PiImageId'") + } + if args.PiInstanceName == nil { + return nil, errors.New("invalid value for required argument 'PiInstanceName'") + } + if args.PiNetworks == nil { + return nil, errors.New("invalid value for required argument 'PiNetworks'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiInstance + err := ctx.RegisterResource("ibmcloud:index/piInstance:PiInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiInstance gets an existing PiInstance resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiInstanceState, opts ...pulumi.ResourceOption) (*PiInstance, error) { + var resource PiInstance + err := ctx.ReadResource("ibmcloud:index/piInstance:PiInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiInstance resources. +type piInstanceState struct { + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId *string `pulumi:"dedicatedHostId"` + // Effective processor compatibility mode. + EffectiveProcessorCompatibilityMode *string `pulumi:"effectiveProcessorCompatibilityMode"` + // Fault information. + Fault map[string]string `pulumi:"fault"` + // PI Instance health status + HealthStatus *string `pulumi:"healthStatus"` + // IBM i Rational Dev Studio + IbmiRds *bool `pulumi:"ibmiRds"` + // Instance ID + InstanceId *string `pulumi:"instanceId"` + // Maximum memory size + MaxMemory *float64 `pulumi:"maxMemory"` + // Maximum number of processors + MaxProcessors *float64 `pulumi:"maxProcessors"` + // Maximum Virtual Cores Assigned to the PVMInstance + MaxVirtualCores *int `pulumi:"maxVirtualCores"` + // Minimum memory + MinMemory *float64 `pulumi:"minMemory"` + // Minimum number of the CPUs + MinProcessors *float64 `pulumi:"minProcessors"` + // Minimum Virtual Cores Assigned to the PVMInstance + MinVirtualCores *int `pulumi:"minVirtualCores"` + // Operating System + OperatingSystem *string `pulumi:"operatingSystem"` + // OS Type + OsType *string `pulumi:"osType"` + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance *string `pulumi:"piAffinityInstance"` + // Affinity policy for pvm instance being created; ignored if piStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy *string `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume *string `pulumi:"piAffinityVolume"` + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances []string `pulumi:"piAntiAffinityInstances"` + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes []string `pulumi:"piAntiAffinityVolumes"` + // Indicates if the boot volume should be replication enabled or not. + PiBootVolumeReplicationEnabled *bool `pulumi:"piBootVolumeReplicationEnabled"` + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The deployment of a dedicated host. + PiDeploymentTarget *PiInstancePiDeploymentTarget `pulumi:"piDeploymentTarget"` + // Custom Deployment Type Information + PiDeploymentType *string `pulumi:"piDeploymentType"` + // Allow the user to set the status of the lpar so that they can connect to it faster + PiHealthStatus *string `pulumi:"piHealthStatus"` + // IBM i Cloud Storage Solution + PiIbmiCss *bool `pulumi:"piIbmiCss"` + // IBM i Power High Availability + PiIbmiPha *bool `pulumi:"piIbmiPha"` + // IBM i Rational Dev Studio Number of User Licenses + PiIbmiRdsUsers *int `pulumi:"piIbmiRdsUsers"` + // PI instance image id + PiImageId *string `pulumi:"piImageId"` + // PI Instance name + PiInstanceName *string `pulumi:"piInstanceName"` + // SSH key name + PiKeyPairName *string `pulumi:"piKeyPairName"` + // The VTL license repository capacity TB value + PiLicenseRepositoryCapacity *int `pulumi:"piLicenseRepositoryCapacity"` + // Memory size + PiMemory *float64 `pulumi:"piMemory"` + // List of one or more networks to attach to the instance + PiNetworks []PiInstancePiNetwork `pulumi:"piNetworks"` + // Pin Policy of the instance + PiPinPolicy *string `pulumi:"piPinPolicy"` + // Placement group ID + PiPlacementGroupId *string `pulumi:"piPlacementGroupId"` + // Preferred processor compatibility mode. + PiPreferredProcessorCompatibilityMode *string `pulumi:"piPreferredProcessorCompatibilityMode"` + // Instance processor type + PiProcType *string `pulumi:"piProcType"` + // Processors count + PiProcessors *float64 `pulumi:"piProcessors"` + // PI Instance replicas count + PiReplicants *int `pulumi:"piReplicants"` + // Replication policy for the PI Instance + PiReplicationPolicy *string `pulumi:"piReplicationPolicy"` + // Replication scheme + PiReplicationScheme *string `pulumi:"piReplicationScheme"` + // Indicates the replication sites of the boot volume. + PiReplicationSites []string `pulumi:"piReplicationSites"` + // Indicates whether to retain virtual serial number when changed or deleted. + PiRetainVirtualSerialNumber *bool `pulumi:"piRetainVirtualSerialNumber"` + // Custom SAP Deployment Type Information + PiSapDeploymentType *string `pulumi:"piSapDeploymentType"` + // SAP Profile ID for the amount of cores and memory + PiSapProfileId *string `pulumi:"piSapProfileId"` + // Shared Processor Pool the instance is deployed on + PiSharedProcessorPool *string `pulumi:"piSharedProcessorPool"` + // Storage Connectivity Group for server deployment + PiStorageConnection *string `pulumi:"piStorageConnection"` + // Storage Pool for server deployment; if provided then piStoragePoolAffinity will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a VM capture) defaults to the storage pool the image was created in + PiStoragePool *string `pulumi:"piStoragePool"` + // Indicates if all volumes attached to the server must reside in the same storage pool + PiStoragePoolAffinity *bool `pulumi:"piStoragePoolAffinity"` + // Storage type for server deployment; if piStorageType is not provided the storage type will default to tier3 + PiStorageType *string `pulumi:"piStorageType"` + // The type of system on which to create the VM (e980/e1080/e1150/e1180/s922/s1022/s1122). + PiSysType *string `pulumi:"piSysType"` + // Base64 encoded data to be passed in for invoking a cloud init script + PiUserData *string `pulumi:"piUserData"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // Virtual Cores Assigned to the PVMInstance + PiVirtualCoresAssigned *int `pulumi:"piVirtualCoresAssigned"` + // Virtual Machine's Cloud Initialization Virtual Optical Device + PiVirtualOpticalDevice *string `pulumi:"piVirtualOpticalDevice"` + // Virtual Serial Number information + PiVirtualSerialNumber *PiInstancePiVirtualSerialNumber `pulumi:"piVirtualSerialNumber"` + // List of PI volumes + PiVolumeIds []string `pulumi:"piVolumeIds"` + // PIN Policy of the Instance + PinPolicy *string `pulumi:"pinPolicy"` + // Progress of the operation + Progress *float64 `pulumi:"progress"` + // Shared Processor Pool ID the instance is deployed on + SharedProcessorPoolId *string `pulumi:"sharedProcessorPoolId"` + // PI instance status + Status *string `pulumi:"status"` +} + +type PiInstanceState struct { + // The CRN of this resource. + Crn pulumi.StringPtrInput + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId pulumi.StringPtrInput + // Effective processor compatibility mode. + EffectiveProcessorCompatibilityMode pulumi.StringPtrInput + // Fault information. + Fault pulumi.StringMapInput + // PI Instance health status + HealthStatus pulumi.StringPtrInput + // IBM i Rational Dev Studio + IbmiRds pulumi.BoolPtrInput + // Instance ID + InstanceId pulumi.StringPtrInput + // Maximum memory size + MaxMemory pulumi.Float64PtrInput + // Maximum number of processors + MaxProcessors pulumi.Float64PtrInput + // Maximum Virtual Cores Assigned to the PVMInstance + MaxVirtualCores pulumi.IntPtrInput + // Minimum memory + MinMemory pulumi.Float64PtrInput + // Minimum number of the CPUs + MinProcessors pulumi.Float64PtrInput + // Minimum Virtual Cores Assigned to the PVMInstance + MinVirtualCores pulumi.IntPtrInput + // Operating System + OperatingSystem pulumi.StringPtrInput + // OS Type + OsType pulumi.StringPtrInput + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance pulumi.StringPtrInput + // Affinity policy for pvm instance being created; ignored if piStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy pulumi.StringPtrInput + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume pulumi.StringPtrInput + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances pulumi.StringArrayInput + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes pulumi.StringArrayInput + // Indicates if the boot volume should be replication enabled or not. + PiBootVolumeReplicationEnabled pulumi.BoolPtrInput + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId pulumi.StringPtrInput + // The deployment of a dedicated host. + PiDeploymentTarget PiInstancePiDeploymentTargetPtrInput + // Custom Deployment Type Information + PiDeploymentType pulumi.StringPtrInput + // Allow the user to set the status of the lpar so that they can connect to it faster + PiHealthStatus pulumi.StringPtrInput + // IBM i Cloud Storage Solution + PiIbmiCss pulumi.BoolPtrInput + // IBM i Power High Availability + PiIbmiPha pulumi.BoolPtrInput + // IBM i Rational Dev Studio Number of User Licenses + PiIbmiRdsUsers pulumi.IntPtrInput + // PI instance image id + PiImageId pulumi.StringPtrInput + // PI Instance name + PiInstanceName pulumi.StringPtrInput + // SSH key name + PiKeyPairName pulumi.StringPtrInput + // The VTL license repository capacity TB value + PiLicenseRepositoryCapacity pulumi.IntPtrInput + // Memory size + PiMemory pulumi.Float64PtrInput + // List of one or more networks to attach to the instance + PiNetworks PiInstancePiNetworkArrayInput + // Pin Policy of the instance + PiPinPolicy pulumi.StringPtrInput + // Placement group ID + PiPlacementGroupId pulumi.StringPtrInput + // Preferred processor compatibility mode. + PiPreferredProcessorCompatibilityMode pulumi.StringPtrInput + // Instance processor type + PiProcType pulumi.StringPtrInput + // Processors count + PiProcessors pulumi.Float64PtrInput + // PI Instance replicas count + PiReplicants pulumi.IntPtrInput + // Replication policy for the PI Instance + PiReplicationPolicy pulumi.StringPtrInput + // Replication scheme + PiReplicationScheme pulumi.StringPtrInput + // Indicates the replication sites of the boot volume. + PiReplicationSites pulumi.StringArrayInput + // Indicates whether to retain virtual serial number when changed or deleted. + PiRetainVirtualSerialNumber pulumi.BoolPtrInput + // Custom SAP Deployment Type Information + PiSapDeploymentType pulumi.StringPtrInput + // SAP Profile ID for the amount of cores and memory + PiSapProfileId pulumi.StringPtrInput + // Shared Processor Pool the instance is deployed on + PiSharedProcessorPool pulumi.StringPtrInput + // Storage Connectivity Group for server deployment + PiStorageConnection pulumi.StringPtrInput + // Storage Pool for server deployment; if provided then piStoragePoolAffinity will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a VM capture) defaults to the storage pool the image was created in + PiStoragePool pulumi.StringPtrInput + // Indicates if all volumes attached to the server must reside in the same storage pool + PiStoragePoolAffinity pulumi.BoolPtrInput + // Storage type for server deployment; if piStorageType is not provided the storage type will default to tier3 + PiStorageType pulumi.StringPtrInput + // The type of system on which to create the VM (e980/e1080/e1150/e1180/s922/s1022/s1122). + PiSysType pulumi.StringPtrInput + // Base64 encoded data to be passed in for invoking a cloud init script + PiUserData pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // Virtual Cores Assigned to the PVMInstance + PiVirtualCoresAssigned pulumi.IntPtrInput + // Virtual Machine's Cloud Initialization Virtual Optical Device + PiVirtualOpticalDevice pulumi.StringPtrInput + // Virtual Serial Number information + PiVirtualSerialNumber PiInstancePiVirtualSerialNumberPtrInput + // List of PI volumes + PiVolumeIds pulumi.StringArrayInput + // PIN Policy of the Instance + PinPolicy pulumi.StringPtrInput + // Progress of the operation + Progress pulumi.Float64PtrInput + // Shared Processor Pool ID the instance is deployed on + SharedProcessorPoolId pulumi.StringPtrInput + // PI instance status + Status pulumi.StringPtrInput +} + +func (PiInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*piInstanceState)(nil)).Elem() +} + +type piInstanceArgs struct { + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance *string `pulumi:"piAffinityInstance"` + // Affinity policy for pvm instance being created; ignored if piStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy *string `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume *string `pulumi:"piAffinityVolume"` + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances []string `pulumi:"piAntiAffinityInstances"` + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes []string `pulumi:"piAntiAffinityVolumes"` + // Indicates if the boot volume should be replication enabled or not. + PiBootVolumeReplicationEnabled *bool `pulumi:"piBootVolumeReplicationEnabled"` + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // The deployment of a dedicated host. + PiDeploymentTarget *PiInstancePiDeploymentTarget `pulumi:"piDeploymentTarget"` + // Custom Deployment Type Information + PiDeploymentType *string `pulumi:"piDeploymentType"` + // Allow the user to set the status of the lpar so that they can connect to it faster + PiHealthStatus *string `pulumi:"piHealthStatus"` + // IBM i Cloud Storage Solution + PiIbmiCss *bool `pulumi:"piIbmiCss"` + // IBM i Power High Availability + PiIbmiPha *bool `pulumi:"piIbmiPha"` + // IBM i Rational Dev Studio Number of User Licenses + PiIbmiRdsUsers *int `pulumi:"piIbmiRdsUsers"` + // PI instance image id + PiImageId string `pulumi:"piImageId"` + // PI Instance name + PiInstanceName string `pulumi:"piInstanceName"` + // SSH key name + PiKeyPairName *string `pulumi:"piKeyPairName"` + // The VTL license repository capacity TB value + PiLicenseRepositoryCapacity *int `pulumi:"piLicenseRepositoryCapacity"` + // Memory size + PiMemory *float64 `pulumi:"piMemory"` + // List of one or more networks to attach to the instance + PiNetworks []PiInstancePiNetwork `pulumi:"piNetworks"` + // Pin Policy of the instance + PiPinPolicy *string `pulumi:"piPinPolicy"` + // Placement group ID + PiPlacementGroupId *string `pulumi:"piPlacementGroupId"` + // Preferred processor compatibility mode. + PiPreferredProcessorCompatibilityMode *string `pulumi:"piPreferredProcessorCompatibilityMode"` + // Instance processor type + PiProcType *string `pulumi:"piProcType"` + // Processors count + PiProcessors *float64 `pulumi:"piProcessors"` + // PI Instance replicas count + PiReplicants *int `pulumi:"piReplicants"` + // Replication policy for the PI Instance + PiReplicationPolicy *string `pulumi:"piReplicationPolicy"` + // Replication scheme + PiReplicationScheme *string `pulumi:"piReplicationScheme"` + // Indicates the replication sites of the boot volume. + PiReplicationSites []string `pulumi:"piReplicationSites"` + // Indicates whether to retain virtual serial number when changed or deleted. + PiRetainVirtualSerialNumber *bool `pulumi:"piRetainVirtualSerialNumber"` + // Custom SAP Deployment Type Information + PiSapDeploymentType *string `pulumi:"piSapDeploymentType"` + // SAP Profile ID for the amount of cores and memory + PiSapProfileId *string `pulumi:"piSapProfileId"` + // Shared Processor Pool the instance is deployed on + PiSharedProcessorPool *string `pulumi:"piSharedProcessorPool"` + // Storage Connectivity Group for server deployment + PiStorageConnection *string `pulumi:"piStorageConnection"` + // Storage Pool for server deployment; if provided then piStoragePoolAffinity will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a VM capture) defaults to the storage pool the image was created in + PiStoragePool *string `pulumi:"piStoragePool"` + // Indicates if all volumes attached to the server must reside in the same storage pool + PiStoragePoolAffinity *bool `pulumi:"piStoragePoolAffinity"` + // Storage type for server deployment; if piStorageType is not provided the storage type will default to tier3 + PiStorageType *string `pulumi:"piStorageType"` + // The type of system on which to create the VM (e980/e1080/e1150/e1180/s922/s1022/s1122). + PiSysType *string `pulumi:"piSysType"` + // Base64 encoded data to be passed in for invoking a cloud init script + PiUserData *string `pulumi:"piUserData"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // Virtual Cores Assigned to the PVMInstance + PiVirtualCoresAssigned *int `pulumi:"piVirtualCoresAssigned"` + // Virtual Machine's Cloud Initialization Virtual Optical Device + PiVirtualOpticalDevice *string `pulumi:"piVirtualOpticalDevice"` + // Virtual Serial Number information + PiVirtualSerialNumber *PiInstancePiVirtualSerialNumber `pulumi:"piVirtualSerialNumber"` + // List of PI volumes + PiVolumeIds []string `pulumi:"piVolumeIds"` +} + +// The set of arguments for constructing a PiInstance resource. +type PiInstanceArgs struct { + // PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided + PiAffinityInstance pulumi.StringPtrInput + // Affinity policy for pvm instance being created; ignored if piStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified + PiAffinityPolicy pulumi.StringPtrInput + // Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided + PiAffinityVolume pulumi.StringPtrInput + // List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided + PiAntiAffinityInstances pulumi.StringArrayInput + // List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided + PiAntiAffinityVolumes pulumi.StringArrayInput + // Indicates if the boot volume should be replication enabled or not. + PiBootVolumeReplicationEnabled pulumi.BoolPtrInput + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId pulumi.StringInput + // The deployment of a dedicated host. + PiDeploymentTarget PiInstancePiDeploymentTargetPtrInput + // Custom Deployment Type Information + PiDeploymentType pulumi.StringPtrInput + // Allow the user to set the status of the lpar so that they can connect to it faster + PiHealthStatus pulumi.StringPtrInput + // IBM i Cloud Storage Solution + PiIbmiCss pulumi.BoolPtrInput + // IBM i Power High Availability + PiIbmiPha pulumi.BoolPtrInput + // IBM i Rational Dev Studio Number of User Licenses + PiIbmiRdsUsers pulumi.IntPtrInput + // PI instance image id + PiImageId pulumi.StringInput + // PI Instance name + PiInstanceName pulumi.StringInput + // SSH key name + PiKeyPairName pulumi.StringPtrInput + // The VTL license repository capacity TB value + PiLicenseRepositoryCapacity pulumi.IntPtrInput + // Memory size + PiMemory pulumi.Float64PtrInput + // List of one or more networks to attach to the instance + PiNetworks PiInstancePiNetworkArrayInput + // Pin Policy of the instance + PiPinPolicy pulumi.StringPtrInput + // Placement group ID + PiPlacementGroupId pulumi.StringPtrInput + // Preferred processor compatibility mode. + PiPreferredProcessorCompatibilityMode pulumi.StringPtrInput + // Instance processor type + PiProcType pulumi.StringPtrInput + // Processors count + PiProcessors pulumi.Float64PtrInput + // PI Instance replicas count + PiReplicants pulumi.IntPtrInput + // Replication policy for the PI Instance + PiReplicationPolicy pulumi.StringPtrInput + // Replication scheme + PiReplicationScheme pulumi.StringPtrInput + // Indicates the replication sites of the boot volume. + PiReplicationSites pulumi.StringArrayInput + // Indicates whether to retain virtual serial number when changed or deleted. + PiRetainVirtualSerialNumber pulumi.BoolPtrInput + // Custom SAP Deployment Type Information + PiSapDeploymentType pulumi.StringPtrInput + // SAP Profile ID for the amount of cores and memory + PiSapProfileId pulumi.StringPtrInput + // Shared Processor Pool the instance is deployed on + PiSharedProcessorPool pulumi.StringPtrInput + // Storage Connectivity Group for server deployment + PiStorageConnection pulumi.StringPtrInput + // Storage Pool for server deployment; if provided then piStoragePoolAffinity will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a VM capture) defaults to the storage pool the image was created in + PiStoragePool pulumi.StringPtrInput + // Indicates if all volumes attached to the server must reside in the same storage pool + PiStoragePoolAffinity pulumi.BoolPtrInput + // Storage type for server deployment; if piStorageType is not provided the storage type will default to tier3 + PiStorageType pulumi.StringPtrInput + // The type of system on which to create the VM (e980/e1080/e1150/e1180/s922/s1022/s1122). + PiSysType pulumi.StringPtrInput + // Base64 encoded data to be passed in for invoking a cloud init script + PiUserData pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // Virtual Cores Assigned to the PVMInstance + PiVirtualCoresAssigned pulumi.IntPtrInput + // Virtual Machine's Cloud Initialization Virtual Optical Device + PiVirtualOpticalDevice pulumi.StringPtrInput + // Virtual Serial Number information + PiVirtualSerialNumber PiInstancePiVirtualSerialNumberPtrInput + // List of PI volumes + PiVolumeIds pulumi.StringArrayInput +} + +func (PiInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piInstanceArgs)(nil)).Elem() +} + +type PiInstanceInput interface { + pulumi.Input + + ToPiInstanceOutput() PiInstanceOutput + ToPiInstanceOutputWithContext(ctx context.Context) PiInstanceOutput +} + +func (*PiInstance) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstance)(nil)).Elem() +} + +func (i *PiInstance) ToPiInstanceOutput() PiInstanceOutput { + return i.ToPiInstanceOutputWithContext(context.Background()) +} + +func (i *PiInstance) ToPiInstanceOutputWithContext(ctx context.Context) PiInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstanceOutput) +} + +type PiInstanceOutput struct{ *pulumi.OutputState } + +func (PiInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstance)(nil)).Elem() +} + +func (o PiInstanceOutput) ToPiInstanceOutput() PiInstanceOutput { + return o +} + +func (o PiInstanceOutput) ToPiInstanceOutputWithContext(ctx context.Context) PiInstanceOutput { + return o +} + +// The CRN of this resource. +func (o PiInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The dedicated host ID where the shared processor pool resides. +func (o PiInstanceOutput) DedicatedHostId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.DedicatedHostId }).(pulumi.StringOutput) +} + +// Effective processor compatibility mode. +func (o PiInstanceOutput) EffectiveProcessorCompatibilityMode() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.EffectiveProcessorCompatibilityMode }).(pulumi.StringOutput) +} + +// Fault information. +func (o PiInstanceOutput) Fault() pulumi.StringMapOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringMapOutput { return v.Fault }).(pulumi.StringMapOutput) +} + +// PI Instance health status +func (o PiInstanceOutput) HealthStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.HealthStatus }).(pulumi.StringOutput) +} + +// IBM i Rational Dev Studio +func (o PiInstanceOutput) IbmiRds() pulumi.BoolOutput { + return o.ApplyT(func(v *PiInstance) pulumi.BoolOutput { return v.IbmiRds }).(pulumi.BoolOutput) +} + +// Instance ID +func (o PiInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Maximum memory size +func (o PiInstanceOutput) MaxMemory() pulumi.Float64Output { + return o.ApplyT(func(v *PiInstance) pulumi.Float64Output { return v.MaxMemory }).(pulumi.Float64Output) +} + +// Maximum number of processors +func (o PiInstanceOutput) MaxProcessors() pulumi.Float64Output { + return o.ApplyT(func(v *PiInstance) pulumi.Float64Output { return v.MaxProcessors }).(pulumi.Float64Output) +} + +// Maximum Virtual Cores Assigned to the PVMInstance +func (o PiInstanceOutput) MaxVirtualCores() pulumi.IntOutput { + return o.ApplyT(func(v *PiInstance) pulumi.IntOutput { return v.MaxVirtualCores }).(pulumi.IntOutput) +} + +// Minimum memory +func (o PiInstanceOutput) MinMemory() pulumi.Float64Output { + return o.ApplyT(func(v *PiInstance) pulumi.Float64Output { return v.MinMemory }).(pulumi.Float64Output) +} + +// Minimum number of the CPUs +func (o PiInstanceOutput) MinProcessors() pulumi.Float64Output { + return o.ApplyT(func(v *PiInstance) pulumi.Float64Output { return v.MinProcessors }).(pulumi.Float64Output) +} + +// Minimum Virtual Cores Assigned to the PVMInstance +func (o PiInstanceOutput) MinVirtualCores() pulumi.IntOutput { + return o.ApplyT(func(v *PiInstance) pulumi.IntOutput { return v.MinVirtualCores }).(pulumi.IntOutput) +} + +// Operating System +func (o PiInstanceOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.OperatingSystem }).(pulumi.StringOutput) +} + +// OS Type +func (o PiInstanceOutput) OsType() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.OsType }).(pulumi.StringOutput) +} + +// PVM Instance (ID or Name) to base storage affinity policy against; required if requesting storage affinity and piAffinityVolume is not provided +func (o PiInstanceOutput) PiAffinityInstance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiAffinityInstance }).(pulumi.StringPtrOutput) +} + +// Affinity policy for pvm instance being created; ignored if piStoragePool provided; for policy affinity requires one of piAffinityInstance or piAffinityVolume to be specified; for policy anti-affinity requires one of piAntiAffinityInstances or piAntiAffinityVolumes to be specified +func (o PiInstanceOutput) PiAffinityPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiAffinityPolicy }).(pulumi.StringPtrOutput) +} + +// Volume (ID or Name) to base storage affinity policy against; required if requesting affinity and piAffinityInstance is not provided +func (o PiInstanceOutput) PiAffinityVolume() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiAffinityVolume }).(pulumi.StringPtrOutput) +} + +// List of pvmInstances to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityVolumes is not provided +func (o PiInstanceOutput) PiAntiAffinityInstances() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringArrayOutput { return v.PiAntiAffinityInstances }).(pulumi.StringArrayOutput) +} + +// List of volumes to base storage anti-affinity policy against; required if requesting anti-affinity and piAntiAffinityInstances is not provided +func (o PiInstanceOutput) PiAntiAffinityVolumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringArrayOutput { return v.PiAntiAffinityVolumes }).(pulumi.StringArrayOutput) +} + +// Indicates if the boot volume should be replication enabled or not. +func (o PiInstanceOutput) PiBootVolumeReplicationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.BoolPtrOutput { return v.PiBootVolumeReplicationEnabled }).(pulumi.BoolPtrOutput) +} + +// This is the Power Instance id that is assigned to the account +func (o PiInstanceOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The deployment of a dedicated host. +func (o PiInstanceOutput) PiDeploymentTarget() PiInstancePiDeploymentTargetPtrOutput { + return o.ApplyT(func(v *PiInstance) PiInstancePiDeploymentTargetPtrOutput { return v.PiDeploymentTarget }).(PiInstancePiDeploymentTargetPtrOutput) +} + +// Custom Deployment Type Information +func (o PiInstanceOutput) PiDeploymentType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiDeploymentType }).(pulumi.StringPtrOutput) +} + +// Allow the user to set the status of the lpar so that they can connect to it faster +func (o PiInstanceOutput) PiHealthStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiHealthStatus }).(pulumi.StringPtrOutput) +} + +// IBM i Cloud Storage Solution +func (o PiInstanceOutput) PiIbmiCss() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.BoolPtrOutput { return v.PiIbmiCss }).(pulumi.BoolPtrOutput) +} + +// IBM i Power High Availability +func (o PiInstanceOutput) PiIbmiPha() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.BoolPtrOutput { return v.PiIbmiPha }).(pulumi.BoolPtrOutput) +} + +// IBM i Rational Dev Studio Number of User Licenses +func (o PiInstanceOutput) PiIbmiRdsUsers() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.IntPtrOutput { return v.PiIbmiRdsUsers }).(pulumi.IntPtrOutput) +} + +// PI instance image id +func (o PiInstanceOutput) PiImageId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PiImageId }).(pulumi.StringOutput) +} + +// PI Instance name +func (o PiInstanceOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PiInstanceName }).(pulumi.StringOutput) +} + +// SSH key name +func (o PiInstanceOutput) PiKeyPairName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiKeyPairName }).(pulumi.StringPtrOutput) +} + +// The VTL license repository capacity TB value +func (o PiInstanceOutput) PiLicenseRepositoryCapacity() pulumi.IntOutput { + return o.ApplyT(func(v *PiInstance) pulumi.IntOutput { return v.PiLicenseRepositoryCapacity }).(pulumi.IntOutput) +} + +// Memory size +func (o PiInstanceOutput) PiMemory() pulumi.Float64Output { + return o.ApplyT(func(v *PiInstance) pulumi.Float64Output { return v.PiMemory }).(pulumi.Float64Output) +} + +// List of one or more networks to attach to the instance +func (o PiInstanceOutput) PiNetworks() PiInstancePiNetworkArrayOutput { + return o.ApplyT(func(v *PiInstance) PiInstancePiNetworkArrayOutput { return v.PiNetworks }).(PiInstancePiNetworkArrayOutput) +} + +// Pin Policy of the instance +func (o PiInstanceOutput) PiPinPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiPinPolicy }).(pulumi.StringPtrOutput) +} + +// Placement group ID +func (o PiInstanceOutput) PiPlacementGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiPlacementGroupId }).(pulumi.StringPtrOutput) +} + +// Preferred processor compatibility mode. +func (o PiInstanceOutput) PiPreferredProcessorCompatibilityMode() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PiPreferredProcessorCompatibilityMode }).(pulumi.StringOutput) +} + +// Instance processor type +func (o PiInstanceOutput) PiProcType() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PiProcType }).(pulumi.StringOutput) +} + +// Processors count +func (o PiInstanceOutput) PiProcessors() pulumi.Float64Output { + return o.ApplyT(func(v *PiInstance) pulumi.Float64Output { return v.PiProcessors }).(pulumi.Float64Output) +} + +// PI Instance replicas count +func (o PiInstanceOutput) PiReplicants() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.IntPtrOutput { return v.PiReplicants }).(pulumi.IntPtrOutput) +} + +// Replication policy for the PI Instance +func (o PiInstanceOutput) PiReplicationPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiReplicationPolicy }).(pulumi.StringPtrOutput) +} + +// Replication scheme +func (o PiInstanceOutput) PiReplicationScheme() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiReplicationScheme }).(pulumi.StringPtrOutput) +} + +// Indicates the replication sites of the boot volume. +func (o PiInstanceOutput) PiReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringArrayOutput { return v.PiReplicationSites }).(pulumi.StringArrayOutput) +} + +// Indicates whether to retain virtual serial number when changed or deleted. +func (o PiInstanceOutput) PiRetainVirtualSerialNumber() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.BoolPtrOutput { return v.PiRetainVirtualSerialNumber }).(pulumi.BoolPtrOutput) +} + +// Custom SAP Deployment Type Information +func (o PiInstanceOutput) PiSapDeploymentType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiSapDeploymentType }).(pulumi.StringPtrOutput) +} + +// SAP Profile ID for the amount of cores and memory +func (o PiInstanceOutput) PiSapProfileId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiSapProfileId }).(pulumi.StringPtrOutput) +} + +// Shared Processor Pool the instance is deployed on +func (o PiInstanceOutput) PiSharedProcessorPool() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiSharedProcessorPool }).(pulumi.StringPtrOutput) +} + +// Storage Connectivity Group for server deployment +func (o PiInstanceOutput) PiStorageConnection() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiStorageConnection }).(pulumi.StringPtrOutput) +} + +// Storage Pool for server deployment; if provided then piStoragePoolAffinity will be ignored; Only valid when you deploy one of the IBM supplied stock images. Storage pool for a custom image (an imported image or an image that is created from a VM capture) defaults to the storage pool the image was created in +func (o PiInstanceOutput) PiStoragePool() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PiStoragePool }).(pulumi.StringOutput) +} + +// Indicates if all volumes attached to the server must reside in the same storage pool +func (o PiInstanceOutput) PiStoragePoolAffinity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.BoolPtrOutput { return v.PiStoragePoolAffinity }).(pulumi.BoolPtrOutput) +} + +// Storage type for server deployment; if piStorageType is not provided the storage type will default to tier3 +func (o PiInstanceOutput) PiStorageType() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PiStorageType }).(pulumi.StringOutput) +} + +// The type of system on which to create the VM (e980/e1080/e1150/e1180/s922/s1022/s1122). +func (o PiInstanceOutput) PiSysType() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PiSysType }).(pulumi.StringOutput) +} + +// Base64 encoded data to be passed in for invoking a cloud init script +func (o PiInstanceOutput) PiUserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiUserData }).(pulumi.StringPtrOutput) +} + +// The user tags attached to this resource. +func (o PiInstanceOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// Virtual Cores Assigned to the PVMInstance +func (o PiInstanceOutput) PiVirtualCoresAssigned() pulumi.IntOutput { + return o.ApplyT(func(v *PiInstance) pulumi.IntOutput { return v.PiVirtualCoresAssigned }).(pulumi.IntOutput) +} + +// Virtual Machine's Cloud Initialization Virtual Optical Device +func (o PiInstanceOutput) PiVirtualOpticalDevice() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringPtrOutput { return v.PiVirtualOpticalDevice }).(pulumi.StringPtrOutput) +} + +// Virtual Serial Number information +func (o PiInstanceOutput) PiVirtualSerialNumber() PiInstancePiVirtualSerialNumberPtrOutput { + return o.ApplyT(func(v *PiInstance) PiInstancePiVirtualSerialNumberPtrOutput { return v.PiVirtualSerialNumber }).(PiInstancePiVirtualSerialNumberPtrOutput) +} + +// List of PI volumes +func (o PiInstanceOutput) PiVolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringArrayOutput { return v.PiVolumeIds }).(pulumi.StringArrayOutput) +} + +// PIN Policy of the Instance +func (o PiInstanceOutput) PinPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.PinPolicy }).(pulumi.StringOutput) +} + +// Progress of the operation +func (o PiInstanceOutput) Progress() pulumi.Float64Output { + return o.ApplyT(func(v *PiInstance) pulumi.Float64Output { return v.Progress }).(pulumi.Float64Output) +} + +// Shared Processor Pool ID the instance is deployed on +func (o PiInstanceOutput) SharedProcessorPoolId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.SharedProcessorPoolId }).(pulumi.StringOutput) +} + +// PI instance status +func (o PiInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiInstanceInput)(nil)).Elem(), &PiInstance{}) + pulumi.RegisterOutputType(PiInstanceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstanceAction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstanceAction.go new file mode 100644 index 000000000..87760dfcd --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstanceAction.go @@ -0,0 +1,208 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiInstanceAction struct { + pulumi.CustomResourceState + + // The PVM's health status value + HealthStatus pulumi.StringOutput `pulumi:"healthStatus"` + // PVM instance action type + PiAction pulumi.StringOutput `pulumi:"piAction"` + // PI Cloud instance id + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Set the health status of the PVM instance to connect it faster + PiHealthStatus pulumi.StringPtrOutput `pulumi:"piHealthStatus"` + // PVM instance ID + PiInstanceId pulumi.StringOutput `pulumi:"piInstanceId"` + // The progress of an operation + Progress pulumi.Float64Output `pulumi:"progress"` + // The status of the PVM instance + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewPiInstanceAction registers a new resource with the given unique name, arguments, and options. +func NewPiInstanceAction(ctx *pulumi.Context, + name string, args *PiInstanceActionArgs, opts ...pulumi.ResourceOption) (*PiInstanceAction, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiAction == nil { + return nil, errors.New("invalid value for required argument 'PiAction'") + } + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiInstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiInstanceAction + err := ctx.RegisterResource("ibmcloud:index/piInstanceAction:PiInstanceAction", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiInstanceAction gets an existing PiInstanceAction resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiInstanceAction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiInstanceActionState, opts ...pulumi.ResourceOption) (*PiInstanceAction, error) { + var resource PiInstanceAction + err := ctx.ReadResource("ibmcloud:index/piInstanceAction:PiInstanceAction", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiInstanceAction resources. +type piInstanceActionState struct { + // The PVM's health status value + HealthStatus *string `pulumi:"healthStatus"` + // PVM instance action type + PiAction *string `pulumi:"piAction"` + // PI Cloud instance id + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Set the health status of the PVM instance to connect it faster + PiHealthStatus *string `pulumi:"piHealthStatus"` + // PVM instance ID + PiInstanceId *string `pulumi:"piInstanceId"` + // The progress of an operation + Progress *float64 `pulumi:"progress"` + // The status of the PVM instance + Status *string `pulumi:"status"` +} + +type PiInstanceActionState struct { + // The PVM's health status value + HealthStatus pulumi.StringPtrInput + // PVM instance action type + PiAction pulumi.StringPtrInput + // PI Cloud instance id + PiCloudInstanceId pulumi.StringPtrInput + // Set the health status of the PVM instance to connect it faster + PiHealthStatus pulumi.StringPtrInput + // PVM instance ID + PiInstanceId pulumi.StringPtrInput + // The progress of an operation + Progress pulumi.Float64PtrInput + // The status of the PVM instance + Status pulumi.StringPtrInput +} + +func (PiInstanceActionState) ElementType() reflect.Type { + return reflect.TypeOf((*piInstanceActionState)(nil)).Elem() +} + +type piInstanceActionArgs struct { + // PVM instance action type + PiAction string `pulumi:"piAction"` + // PI Cloud instance id + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Set the health status of the PVM instance to connect it faster + PiHealthStatus *string `pulumi:"piHealthStatus"` + // PVM instance ID + PiInstanceId string `pulumi:"piInstanceId"` +} + +// The set of arguments for constructing a PiInstanceAction resource. +type PiInstanceActionArgs struct { + // PVM instance action type + PiAction pulumi.StringInput + // PI Cloud instance id + PiCloudInstanceId pulumi.StringInput + // Set the health status of the PVM instance to connect it faster + PiHealthStatus pulumi.StringPtrInput + // PVM instance ID + PiInstanceId pulumi.StringInput +} + +func (PiInstanceActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piInstanceActionArgs)(nil)).Elem() +} + +type PiInstanceActionInput interface { + pulumi.Input + + ToPiInstanceActionOutput() PiInstanceActionOutput + ToPiInstanceActionOutputWithContext(ctx context.Context) PiInstanceActionOutput +} + +func (*PiInstanceAction) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstanceAction)(nil)).Elem() +} + +func (i *PiInstanceAction) ToPiInstanceActionOutput() PiInstanceActionOutput { + return i.ToPiInstanceActionOutputWithContext(context.Background()) +} + +func (i *PiInstanceAction) ToPiInstanceActionOutputWithContext(ctx context.Context) PiInstanceActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstanceActionOutput) +} + +type PiInstanceActionOutput struct{ *pulumi.OutputState } + +func (PiInstanceActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstanceAction)(nil)).Elem() +} + +func (o PiInstanceActionOutput) ToPiInstanceActionOutput() PiInstanceActionOutput { + return o +} + +func (o PiInstanceActionOutput) ToPiInstanceActionOutputWithContext(ctx context.Context) PiInstanceActionOutput { + return o +} + +// The PVM's health status value +func (o PiInstanceActionOutput) HealthStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceAction) pulumi.StringOutput { return v.HealthStatus }).(pulumi.StringOutput) +} + +// PVM instance action type +func (o PiInstanceActionOutput) PiAction() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceAction) pulumi.StringOutput { return v.PiAction }).(pulumi.StringOutput) +} + +// PI Cloud instance id +func (o PiInstanceActionOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceAction) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Set the health status of the PVM instance to connect it faster +func (o PiInstanceActionOutput) PiHealthStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstanceAction) pulumi.StringPtrOutput { return v.PiHealthStatus }).(pulumi.StringPtrOutput) +} + +// PVM instance ID +func (o PiInstanceActionOutput) PiInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceAction) pulumi.StringOutput { return v.PiInstanceId }).(pulumi.StringOutput) +} + +// The progress of an operation +func (o PiInstanceActionOutput) Progress() pulumi.Float64Output { + return o.ApplyT(func(v *PiInstanceAction) pulumi.Float64Output { return v.Progress }).(pulumi.Float64Output) +} + +// The status of the PVM instance +func (o PiInstanceActionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceAction) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiInstanceActionInput)(nil)).Elem(), &PiInstanceAction{}) + pulumi.RegisterOutputType(PiInstanceActionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstanceSnapshot.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstanceSnapshot.go new file mode 100644 index 000000000..223262011 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piInstanceSnapshot.go @@ -0,0 +1,282 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiInstanceSnapshot struct { + pulumi.CustomResourceState + + // Creation date of the snapshot. + CreationDate pulumi.StringOutput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // The last updated date of the snapshot. + LastUpdateDate pulumi.StringOutput `pulumi:"lastUpdateDate"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Description of the PVM instance snapshot. + PiDescription pulumi.StringPtrOutput `pulumi:"piDescription"` + // The name of the instance you want to take a snapshot of. + PiInstanceName pulumi.StringOutput `pulumi:"piInstanceName"` + // The unique name of the snapshot. + PiSnapshotName pulumi.StringOutput `pulumi:"piSnapshotName"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds pulumi.StringArrayOutput `pulumi:"piVolumeIds"` + // ID of the PVM instance snapshot. + SnapshotId pulumi.StringOutput `pulumi:"snapshotId"` + // Status of the PVM instance snapshot. + Status pulumi.StringOutput `pulumi:"status"` + // Detailed information for the last PVM instance snapshot action. + StatusDetail pulumi.StringOutput `pulumi:"statusDetail"` + // A map of volume snapshots included in the PVM instance snapshot. + VolumeSnapshots pulumi.StringMapOutput `pulumi:"volumeSnapshots"` +} + +// NewPiInstanceSnapshot registers a new resource with the given unique name, arguments, and options. +func NewPiInstanceSnapshot(ctx *pulumi.Context, + name string, args *PiInstanceSnapshotArgs, opts ...pulumi.ResourceOption) (*PiInstanceSnapshot, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiInstanceName == nil { + return nil, errors.New("invalid value for required argument 'PiInstanceName'") + } + if args.PiSnapshotName == nil { + return nil, errors.New("invalid value for required argument 'PiSnapshotName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiInstanceSnapshot + err := ctx.RegisterResource("ibmcloud:index/piInstanceSnapshot:PiInstanceSnapshot", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiInstanceSnapshot gets an existing PiInstanceSnapshot resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiInstanceSnapshot(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiInstanceSnapshotState, opts ...pulumi.ResourceOption) (*PiInstanceSnapshot, error) { + var resource PiInstanceSnapshot + err := ctx.ReadResource("ibmcloud:index/piInstanceSnapshot:PiInstanceSnapshot", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiInstanceSnapshot resources. +type piInstanceSnapshotState struct { + // Creation date of the snapshot. + CreationDate *string `pulumi:"creationDate"` + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // The last updated date of the snapshot. + LastUpdateDate *string `pulumi:"lastUpdateDate"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Description of the PVM instance snapshot. + PiDescription *string `pulumi:"piDescription"` + // The name of the instance you want to take a snapshot of. + PiInstanceName *string `pulumi:"piInstanceName"` + // The unique name of the snapshot. + PiSnapshotName *string `pulumi:"piSnapshotName"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds []string `pulumi:"piVolumeIds"` + // ID of the PVM instance snapshot. + SnapshotId *string `pulumi:"snapshotId"` + // Status of the PVM instance snapshot. + Status *string `pulumi:"status"` + // Detailed information for the last PVM instance snapshot action. + StatusDetail *string `pulumi:"statusDetail"` + // A map of volume snapshots included in the PVM instance snapshot. + VolumeSnapshots map[string]string `pulumi:"volumeSnapshots"` +} + +type PiInstanceSnapshotState struct { + // Creation date of the snapshot. + CreationDate pulumi.StringPtrInput + // The CRN of this resource. + Crn pulumi.StringPtrInput + // The last updated date of the snapshot. + LastUpdateDate pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Description of the PVM instance snapshot. + PiDescription pulumi.StringPtrInput + // The name of the instance you want to take a snapshot of. + PiInstanceName pulumi.StringPtrInput + // The unique name of the snapshot. + PiSnapshotName pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds pulumi.StringArrayInput + // ID of the PVM instance snapshot. + SnapshotId pulumi.StringPtrInput + // Status of the PVM instance snapshot. + Status pulumi.StringPtrInput + // Detailed information for the last PVM instance snapshot action. + StatusDetail pulumi.StringPtrInput + // A map of volume snapshots included in the PVM instance snapshot. + VolumeSnapshots pulumi.StringMapInput +} + +func (PiInstanceSnapshotState) ElementType() reflect.Type { + return reflect.TypeOf((*piInstanceSnapshotState)(nil)).Elem() +} + +type piInstanceSnapshotArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Description of the PVM instance snapshot. + PiDescription *string `pulumi:"piDescription"` + // The name of the instance you want to take a snapshot of. + PiInstanceName string `pulumi:"piInstanceName"` + // The unique name of the snapshot. + PiSnapshotName string `pulumi:"piSnapshotName"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds []string `pulumi:"piVolumeIds"` +} + +// The set of arguments for constructing a PiInstanceSnapshot resource. +type PiInstanceSnapshotArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Description of the PVM instance snapshot. + PiDescription pulumi.StringPtrInput + // The name of the instance you want to take a snapshot of. + PiInstanceName pulumi.StringInput + // The unique name of the snapshot. + PiSnapshotName pulumi.StringInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds pulumi.StringArrayInput +} + +func (PiInstanceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piInstanceSnapshotArgs)(nil)).Elem() +} + +type PiInstanceSnapshotInput interface { + pulumi.Input + + ToPiInstanceSnapshotOutput() PiInstanceSnapshotOutput + ToPiInstanceSnapshotOutputWithContext(ctx context.Context) PiInstanceSnapshotOutput +} + +func (*PiInstanceSnapshot) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstanceSnapshot)(nil)).Elem() +} + +func (i *PiInstanceSnapshot) ToPiInstanceSnapshotOutput() PiInstanceSnapshotOutput { + return i.ToPiInstanceSnapshotOutputWithContext(context.Background()) +} + +func (i *PiInstanceSnapshot) ToPiInstanceSnapshotOutputWithContext(ctx context.Context) PiInstanceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstanceSnapshotOutput) +} + +type PiInstanceSnapshotOutput struct{ *pulumi.OutputState } + +func (PiInstanceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstanceSnapshot)(nil)).Elem() +} + +func (o PiInstanceSnapshotOutput) ToPiInstanceSnapshotOutput() PiInstanceSnapshotOutput { + return o +} + +func (o PiInstanceSnapshotOutput) ToPiInstanceSnapshotOutputWithContext(ctx context.Context) PiInstanceSnapshotOutput { + return o +} + +// Creation date of the snapshot. +func (o PiInstanceSnapshotOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o PiInstanceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The last updated date of the snapshot. +func (o PiInstanceSnapshotOutput) LastUpdateDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.LastUpdateDate }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiInstanceSnapshotOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Description of the PVM instance snapshot. +func (o PiInstanceSnapshotOutput) PiDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringPtrOutput { return v.PiDescription }).(pulumi.StringPtrOutput) +} + +// The name of the instance you want to take a snapshot of. +func (o PiInstanceSnapshotOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.PiInstanceName }).(pulumi.StringOutput) +} + +// The unique name of the snapshot. +func (o PiInstanceSnapshotOutput) PiSnapshotName() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.PiSnapshotName }).(pulumi.StringOutput) +} + +// The user tags attached to this resource. +func (o PiInstanceSnapshotOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. +func (o PiInstanceSnapshotOutput) PiVolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringArrayOutput { return v.PiVolumeIds }).(pulumi.StringArrayOutput) +} + +// ID of the PVM instance snapshot. +func (o PiInstanceSnapshotOutput) SnapshotId() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.SnapshotId }).(pulumi.StringOutput) +} + +// Status of the PVM instance snapshot. +func (o PiInstanceSnapshotOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Detailed information for the last PVM instance snapshot action. +func (o PiInstanceSnapshotOutput) StatusDetail() pulumi.StringOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringOutput { return v.StatusDetail }).(pulumi.StringOutput) +} + +// A map of volume snapshots included in the PVM instance snapshot. +func (o PiInstanceSnapshotOutput) VolumeSnapshots() pulumi.StringMapOutput { + return o.ApplyT(func(v *PiInstanceSnapshot) pulumi.StringMapOutput { return v.VolumeSnapshots }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiInstanceSnapshotInput)(nil)).Elem(), &PiInstanceSnapshot{}) + pulumi.RegisterOutputType(PiInstanceSnapshotOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piIpsecPolicy.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piIpsecPolicy.go new file mode 100644 index 000000000..c830aa181 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piIpsecPolicy.go @@ -0,0 +1,240 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiIpsecPolicy struct { + pulumi.CustomResourceState + + // PI cloud instance ID + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Authentication for the IPSec Policy + PiPolicyAuthentication pulumi.StringPtrOutput `pulumi:"piPolicyAuthentication"` + // DH group of the IPSec Policy + PiPolicyDhGroup pulumi.IntOutput `pulumi:"piPolicyDhGroup"` + // Encryption of the IPSec Policy + PiPolicyEncryption pulumi.StringOutput `pulumi:"piPolicyEncryption"` + // Policy key lifetime + PiPolicyKeyLifetime pulumi.IntOutput `pulumi:"piPolicyKeyLifetime"` + // Name of the IPSec Policy + PiPolicyName pulumi.StringOutput `pulumi:"piPolicyName"` + // Perfect Forward Secrecy + PiPolicyPfs pulumi.BoolOutput `pulumi:"piPolicyPfs"` + // IPSec policy ID + PolicyId pulumi.StringOutput `pulumi:"policyId"` +} + +// NewPiIpsecPolicy registers a new resource with the given unique name, arguments, and options. +func NewPiIpsecPolicy(ctx *pulumi.Context, + name string, args *PiIpsecPolicyArgs, opts ...pulumi.ResourceOption) (*PiIpsecPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiPolicyDhGroup == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyDhGroup'") + } + if args.PiPolicyEncryption == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyEncryption'") + } + if args.PiPolicyKeyLifetime == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyKeyLifetime'") + } + if args.PiPolicyName == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyName'") + } + if args.PiPolicyPfs == nil { + return nil, errors.New("invalid value for required argument 'PiPolicyPfs'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiIpsecPolicy + err := ctx.RegisterResource("ibmcloud:index/piIpsecPolicy:PiIpsecPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiIpsecPolicy gets an existing PiIpsecPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiIpsecPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiIpsecPolicyState, opts ...pulumi.ResourceOption) (*PiIpsecPolicy, error) { + var resource PiIpsecPolicy + err := ctx.ReadResource("ibmcloud:index/piIpsecPolicy:PiIpsecPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiIpsecPolicy resources. +type piIpsecPolicyState struct { + // PI cloud instance ID + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Authentication for the IPSec Policy + PiPolicyAuthentication *string `pulumi:"piPolicyAuthentication"` + // DH group of the IPSec Policy + PiPolicyDhGroup *int `pulumi:"piPolicyDhGroup"` + // Encryption of the IPSec Policy + PiPolicyEncryption *string `pulumi:"piPolicyEncryption"` + // Policy key lifetime + PiPolicyKeyLifetime *int `pulumi:"piPolicyKeyLifetime"` + // Name of the IPSec Policy + PiPolicyName *string `pulumi:"piPolicyName"` + // Perfect Forward Secrecy + PiPolicyPfs *bool `pulumi:"piPolicyPfs"` + // IPSec policy ID + PolicyId *string `pulumi:"policyId"` +} + +type PiIpsecPolicyState struct { + // PI cloud instance ID + PiCloudInstanceId pulumi.StringPtrInput + // Authentication for the IPSec Policy + PiPolicyAuthentication pulumi.StringPtrInput + // DH group of the IPSec Policy + PiPolicyDhGroup pulumi.IntPtrInput + // Encryption of the IPSec Policy + PiPolicyEncryption pulumi.StringPtrInput + // Policy key lifetime + PiPolicyKeyLifetime pulumi.IntPtrInput + // Name of the IPSec Policy + PiPolicyName pulumi.StringPtrInput + // Perfect Forward Secrecy + PiPolicyPfs pulumi.BoolPtrInput + // IPSec policy ID + PolicyId pulumi.StringPtrInput +} + +func (PiIpsecPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*piIpsecPolicyState)(nil)).Elem() +} + +type piIpsecPolicyArgs struct { + // PI cloud instance ID + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Authentication for the IPSec Policy + PiPolicyAuthentication *string `pulumi:"piPolicyAuthentication"` + // DH group of the IPSec Policy + PiPolicyDhGroup int `pulumi:"piPolicyDhGroup"` + // Encryption of the IPSec Policy + PiPolicyEncryption string `pulumi:"piPolicyEncryption"` + // Policy key lifetime + PiPolicyKeyLifetime int `pulumi:"piPolicyKeyLifetime"` + // Name of the IPSec Policy + PiPolicyName string `pulumi:"piPolicyName"` + // Perfect Forward Secrecy + PiPolicyPfs bool `pulumi:"piPolicyPfs"` +} + +// The set of arguments for constructing a PiIpsecPolicy resource. +type PiIpsecPolicyArgs struct { + // PI cloud instance ID + PiCloudInstanceId pulumi.StringInput + // Authentication for the IPSec Policy + PiPolicyAuthentication pulumi.StringPtrInput + // DH group of the IPSec Policy + PiPolicyDhGroup pulumi.IntInput + // Encryption of the IPSec Policy + PiPolicyEncryption pulumi.StringInput + // Policy key lifetime + PiPolicyKeyLifetime pulumi.IntInput + // Name of the IPSec Policy + PiPolicyName pulumi.StringInput + // Perfect Forward Secrecy + PiPolicyPfs pulumi.BoolInput +} + +func (PiIpsecPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piIpsecPolicyArgs)(nil)).Elem() +} + +type PiIpsecPolicyInput interface { + pulumi.Input + + ToPiIpsecPolicyOutput() PiIpsecPolicyOutput + ToPiIpsecPolicyOutputWithContext(ctx context.Context) PiIpsecPolicyOutput +} + +func (*PiIpsecPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**PiIpsecPolicy)(nil)).Elem() +} + +func (i *PiIpsecPolicy) ToPiIpsecPolicyOutput() PiIpsecPolicyOutput { + return i.ToPiIpsecPolicyOutputWithContext(context.Background()) +} + +func (i *PiIpsecPolicy) ToPiIpsecPolicyOutputWithContext(ctx context.Context) PiIpsecPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiIpsecPolicyOutput) +} + +type PiIpsecPolicyOutput struct{ *pulumi.OutputState } + +func (PiIpsecPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiIpsecPolicy)(nil)).Elem() +} + +func (o PiIpsecPolicyOutput) ToPiIpsecPolicyOutput() PiIpsecPolicyOutput { + return o +} + +func (o PiIpsecPolicyOutput) ToPiIpsecPolicyOutputWithContext(ctx context.Context) PiIpsecPolicyOutput { + return o +} + +// PI cloud instance ID +func (o PiIpsecPolicyOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiIpsecPolicy) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Authentication for the IPSec Policy +func (o PiIpsecPolicyOutput) PiPolicyAuthentication() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiIpsecPolicy) pulumi.StringPtrOutput { return v.PiPolicyAuthentication }).(pulumi.StringPtrOutput) +} + +// DH group of the IPSec Policy +func (o PiIpsecPolicyOutput) PiPolicyDhGroup() pulumi.IntOutput { + return o.ApplyT(func(v *PiIpsecPolicy) pulumi.IntOutput { return v.PiPolicyDhGroup }).(pulumi.IntOutput) +} + +// Encryption of the IPSec Policy +func (o PiIpsecPolicyOutput) PiPolicyEncryption() pulumi.StringOutput { + return o.ApplyT(func(v *PiIpsecPolicy) pulumi.StringOutput { return v.PiPolicyEncryption }).(pulumi.StringOutput) +} + +// Policy key lifetime +func (o PiIpsecPolicyOutput) PiPolicyKeyLifetime() pulumi.IntOutput { + return o.ApplyT(func(v *PiIpsecPolicy) pulumi.IntOutput { return v.PiPolicyKeyLifetime }).(pulumi.IntOutput) +} + +// Name of the IPSec Policy +func (o PiIpsecPolicyOutput) PiPolicyName() pulumi.StringOutput { + return o.ApplyT(func(v *PiIpsecPolicy) pulumi.StringOutput { return v.PiPolicyName }).(pulumi.StringOutput) +} + +// Perfect Forward Secrecy +func (o PiIpsecPolicyOutput) PiPolicyPfs() pulumi.BoolOutput { + return o.ApplyT(func(v *PiIpsecPolicy) pulumi.BoolOutput { return v.PiPolicyPfs }).(pulumi.BoolOutput) +} + +// IPSec policy ID +func (o PiIpsecPolicyOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *PiIpsecPolicy) pulumi.StringOutput { return v.PolicyId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiIpsecPolicyInput)(nil)).Elem(), &PiIpsecPolicy{}) + pulumi.RegisterOutputType(PiIpsecPolicyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piKey.go new file mode 100644 index 000000000..365aace17 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piKey.go @@ -0,0 +1,261 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiKey struct { + pulumi.CustomResourceState + + // Date of SSH Key creation. + CreationDate pulumi.StringOutput `pulumi:"creationDate"` + // SSH RSA key. + // + // Deprecated: This field is deprecated and will be removed in a future release. Use piSshKey instead. + Key pulumi.StringOutput `pulumi:"key"` + // User defined name for the SSH key. + // + // Deprecated: This field is deprecated and will be removed in a future release. Use piKeyName instead. + Name pulumi.StringOutput `pulumi:"name"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Description of the ssh key. + PiDescription pulumi.StringPtrOutput `pulumi:"piDescription"` + // User defined name for the SSH key. + PiKeyName pulumi.StringOutput `pulumi:"piKeyName"` + // SSH RSA key. + PiSshKey pulumi.StringOutput `pulumi:"piSshKey"` + // Visibility of the ssh key. Valid values are: ["account", "workspace"]. + PiVisibility pulumi.StringPtrOutput `pulumi:"piVisibility"` + // Indicates if the current workspace owns the ssh key or not. + PrimaryWorkspace pulumi.BoolOutput `pulumi:"primaryWorkspace"` + // Unique ID of SSH key. + SshKeyId pulumi.StringOutput `pulumi:"sshKeyId"` +} + +// NewPiKey registers a new resource with the given unique name, arguments, and options. +func NewPiKey(ctx *pulumi.Context, + name string, args *PiKeyArgs, opts ...pulumi.ResourceOption) (*PiKey, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiKeyName == nil { + return nil, errors.New("invalid value for required argument 'PiKeyName'") + } + if args.PiSshKey == nil { + return nil, errors.New("invalid value for required argument 'PiSshKey'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiKey + err := ctx.RegisterResource("ibmcloud:index/piKey:PiKey", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiKey gets an existing PiKey resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiKey(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiKeyState, opts ...pulumi.ResourceOption) (*PiKey, error) { + var resource PiKey + err := ctx.ReadResource("ibmcloud:index/piKey:PiKey", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiKey resources. +type piKeyState struct { + // Date of SSH Key creation. + CreationDate *string `pulumi:"creationDate"` + // SSH RSA key. + // + // Deprecated: This field is deprecated and will be removed in a future release. Use piSshKey instead. + Key *string `pulumi:"key"` + // User defined name for the SSH key. + // + // Deprecated: This field is deprecated and will be removed in a future release. Use piKeyName instead. + Name *string `pulumi:"name"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Description of the ssh key. + PiDescription *string `pulumi:"piDescription"` + // User defined name for the SSH key. + PiKeyName *string `pulumi:"piKeyName"` + // SSH RSA key. + PiSshKey *string `pulumi:"piSshKey"` + // Visibility of the ssh key. Valid values are: ["account", "workspace"]. + PiVisibility *string `pulumi:"piVisibility"` + // Indicates if the current workspace owns the ssh key or not. + PrimaryWorkspace *bool `pulumi:"primaryWorkspace"` + // Unique ID of SSH key. + SshKeyId *string `pulumi:"sshKeyId"` +} + +type PiKeyState struct { + // Date of SSH Key creation. + CreationDate pulumi.StringPtrInput + // SSH RSA key. + // + // Deprecated: This field is deprecated and will be removed in a future release. Use piSshKey instead. + Key pulumi.StringPtrInput + // User defined name for the SSH key. + // + // Deprecated: This field is deprecated and will be removed in a future release. Use piKeyName instead. + Name pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Description of the ssh key. + PiDescription pulumi.StringPtrInput + // User defined name for the SSH key. + PiKeyName pulumi.StringPtrInput + // SSH RSA key. + PiSshKey pulumi.StringPtrInput + // Visibility of the ssh key. Valid values are: ["account", "workspace"]. + PiVisibility pulumi.StringPtrInput + // Indicates if the current workspace owns the ssh key or not. + PrimaryWorkspace pulumi.BoolPtrInput + // Unique ID of SSH key. + SshKeyId pulumi.StringPtrInput +} + +func (PiKeyState) ElementType() reflect.Type { + return reflect.TypeOf((*piKeyState)(nil)).Elem() +} + +type piKeyArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Description of the ssh key. + PiDescription *string `pulumi:"piDescription"` + // User defined name for the SSH key. + PiKeyName string `pulumi:"piKeyName"` + // SSH RSA key. + PiSshKey string `pulumi:"piSshKey"` + // Visibility of the ssh key. Valid values are: ["account", "workspace"]. + PiVisibility *string `pulumi:"piVisibility"` +} + +// The set of arguments for constructing a PiKey resource. +type PiKeyArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Description of the ssh key. + PiDescription pulumi.StringPtrInput + // User defined name for the SSH key. + PiKeyName pulumi.StringInput + // SSH RSA key. + PiSshKey pulumi.StringInput + // Visibility of the ssh key. Valid values are: ["account", "workspace"]. + PiVisibility pulumi.StringPtrInput +} + +func (PiKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piKeyArgs)(nil)).Elem() +} + +type PiKeyInput interface { + pulumi.Input + + ToPiKeyOutput() PiKeyOutput + ToPiKeyOutputWithContext(ctx context.Context) PiKeyOutput +} + +func (*PiKey) ElementType() reflect.Type { + return reflect.TypeOf((**PiKey)(nil)).Elem() +} + +func (i *PiKey) ToPiKeyOutput() PiKeyOutput { + return i.ToPiKeyOutputWithContext(context.Background()) +} + +func (i *PiKey) ToPiKeyOutputWithContext(ctx context.Context) PiKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiKeyOutput) +} + +type PiKeyOutput struct{ *pulumi.OutputState } + +func (PiKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiKey)(nil)).Elem() +} + +func (o PiKeyOutput) ToPiKeyOutput() PiKeyOutput { + return o +} + +func (o PiKeyOutput) ToPiKeyOutputWithContext(ctx context.Context) PiKeyOutput { + return o +} + +// Date of SSH Key creation. +func (o PiKeyOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) +} + +// SSH RSA key. +// +// Deprecated: This field is deprecated and will be removed in a future release. Use piSshKey instead. +func (o PiKeyOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) +} + +// User defined name for the SSH key. +// +// Deprecated: This field is deprecated and will be removed in a future release. Use piKeyName instead. +func (o PiKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiKeyOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Description of the ssh key. +func (o PiKeyOutput) PiDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringPtrOutput { return v.PiDescription }).(pulumi.StringPtrOutput) +} + +// User defined name for the SSH key. +func (o PiKeyOutput) PiKeyName() pulumi.StringOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringOutput { return v.PiKeyName }).(pulumi.StringOutput) +} + +// SSH RSA key. +func (o PiKeyOutput) PiSshKey() pulumi.StringOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringOutput { return v.PiSshKey }).(pulumi.StringOutput) +} + +// Visibility of the ssh key. Valid values are: ["account", "workspace"]. +func (o PiKeyOutput) PiVisibility() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringPtrOutput { return v.PiVisibility }).(pulumi.StringPtrOutput) +} + +// Indicates if the current workspace owns the ssh key or not. +func (o PiKeyOutput) PrimaryWorkspace() pulumi.BoolOutput { + return o.ApplyT(func(v *PiKey) pulumi.BoolOutput { return v.PrimaryWorkspace }).(pulumi.BoolOutput) +} + +// Unique ID of SSH key. +func (o PiKeyOutput) SshKeyId() pulumi.StringOutput { + return o.ApplyT(func(v *PiKey) pulumi.StringOutput { return v.SshKeyId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiKeyInput)(nil)).Elem(), &PiKey{}) + pulumi.RegisterOutputType(PiKeyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetwork.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetwork.go new file mode 100644 index 000000000..27655130f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetwork.go @@ -0,0 +1,378 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetwork struct { + pulumi.CustomResourceState + + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // Contains the Network Address Translation Details (for on-prem locations only). + // + // Deprecated: This field is deprecated + NetworkAddressTranslations PiNetworkNetworkAddressTranslationArrayOutput `pulumi:"networkAddressTranslations"` + // The unique identifier of the network. + NetworkId pulumi.StringOutput `pulumi:"networkId"` + // Network Peer ID (for on-prem locations only). + // + // Deprecated: This field is deprecated + PeerId pulumi.StringOutput `pulumi:"peerId"` + // Enable the network to be advertised. + PiAdvertise pulumi.StringPtrOutput `pulumi:"piAdvertise"` + // Enable ARP Broadcast. + PiArpBroadcast pulumi.StringPtrOutput `pulumi:"piArpBroadcast"` + // The network CIDR. Required for `vlan` network type. + PiCidr pulumi.StringOutput `pulumi:"piCidr"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The DNS Servers for the network. + PiDns pulumi.StringArrayOutput `pulumi:"piDns"` + // The gateway ip address. + PiGateway pulumi.StringOutput `pulumi:"piGateway"` + // List of one or more ip address range(s). + PiIpaddressRanges PiNetworkPiIpaddressRangeArrayOutput `pulumi:"piIpaddressRanges"` + // Maximum Transmission Unit option of the network. Minimum is 1450 and maximum is 9000. + PiNetworkMtu pulumi.IntOutput `pulumi:"piNetworkMtu"` + // The name of the network. + PiNetworkName pulumi.StringOutput `pulumi:"piNetworkName"` + // Network peer information. + // + // Deprecated: This field is deprecated + PiNetworkPeer PiNetworkPiNetworkPeerPtrOutput `pulumi:"piNetworkPeer"` + // The type of network that you want to create. Valid values are `pub-vlan`, and `vlan`. + PiNetworkType pulumi.StringOutput `pulumi:"piNetworkType"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The ID of the VLAN that your network is attached to. + VlanId pulumi.Float64Output `pulumi:"vlanId"` +} + +// NewPiNetwork registers a new resource with the given unique name, arguments, and options. +func NewPiNetwork(ctx *pulumi.Context, + name string, args *PiNetworkArgs, opts ...pulumi.ResourceOption) (*PiNetwork, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiNetworkName == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkName'") + } + if args.PiNetworkType == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetwork + err := ctx.RegisterResource("ibmcloud:index/piNetwork:PiNetwork", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetwork gets an existing PiNetwork resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetwork(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkState, opts ...pulumi.ResourceOption) (*PiNetwork, error) { + var resource PiNetwork + err := ctx.ReadResource("ibmcloud:index/piNetwork:PiNetwork", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetwork resources. +type piNetworkState struct { + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // Contains the Network Address Translation Details (for on-prem locations only). + // + // Deprecated: This field is deprecated + NetworkAddressTranslations []PiNetworkNetworkAddressTranslation `pulumi:"networkAddressTranslations"` + // The unique identifier of the network. + NetworkId *string `pulumi:"networkId"` + // Network Peer ID (for on-prem locations only). + // + // Deprecated: This field is deprecated + PeerId *string `pulumi:"peerId"` + // Enable the network to be advertised. + PiAdvertise *string `pulumi:"piAdvertise"` + // Enable ARP Broadcast. + PiArpBroadcast *string `pulumi:"piArpBroadcast"` + // The network CIDR. Required for `vlan` network type. + PiCidr *string `pulumi:"piCidr"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The DNS Servers for the network. + PiDns []string `pulumi:"piDns"` + // The gateway ip address. + PiGateway *string `pulumi:"piGateway"` + // List of one or more ip address range(s). + PiIpaddressRanges []PiNetworkPiIpaddressRange `pulumi:"piIpaddressRanges"` + // Maximum Transmission Unit option of the network. Minimum is 1450 and maximum is 9000. + PiNetworkMtu *int `pulumi:"piNetworkMtu"` + // The name of the network. + PiNetworkName *string `pulumi:"piNetworkName"` + // Network peer information. + // + // Deprecated: This field is deprecated + PiNetworkPeer *PiNetworkPiNetworkPeer `pulumi:"piNetworkPeer"` + // The type of network that you want to create. Valid values are `pub-vlan`, and `vlan`. + PiNetworkType *string `pulumi:"piNetworkType"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The ID of the VLAN that your network is attached to. + VlanId *float64 `pulumi:"vlanId"` +} + +type PiNetworkState struct { + // The CRN of this resource. + Crn pulumi.StringPtrInput + // Contains the Network Address Translation Details (for on-prem locations only). + // + // Deprecated: This field is deprecated + NetworkAddressTranslations PiNetworkNetworkAddressTranslationArrayInput + // The unique identifier of the network. + NetworkId pulumi.StringPtrInput + // Network Peer ID (for on-prem locations only). + // + // Deprecated: This field is deprecated + PeerId pulumi.StringPtrInput + // Enable the network to be advertised. + PiAdvertise pulumi.StringPtrInput + // Enable ARP Broadcast. + PiArpBroadcast pulumi.StringPtrInput + // The network CIDR. Required for `vlan` network type. + PiCidr pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // The DNS Servers for the network. + PiDns pulumi.StringArrayInput + // The gateway ip address. + PiGateway pulumi.StringPtrInput + // List of one or more ip address range(s). + PiIpaddressRanges PiNetworkPiIpaddressRangeArrayInput + // Maximum Transmission Unit option of the network. Minimum is 1450 and maximum is 9000. + PiNetworkMtu pulumi.IntPtrInput + // The name of the network. + PiNetworkName pulumi.StringPtrInput + // Network peer information. + // + // Deprecated: This field is deprecated + PiNetworkPeer PiNetworkPiNetworkPeerPtrInput + // The type of network that you want to create. Valid values are `pub-vlan`, and `vlan`. + PiNetworkType pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The ID of the VLAN that your network is attached to. + VlanId pulumi.Float64PtrInput +} + +func (PiNetworkState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkState)(nil)).Elem() +} + +type piNetworkArgs struct { + // Enable the network to be advertised. + PiAdvertise *string `pulumi:"piAdvertise"` + // Enable ARP Broadcast. + PiArpBroadcast *string `pulumi:"piArpBroadcast"` + // The network CIDR. Required for `vlan` network type. + PiCidr *string `pulumi:"piCidr"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // The DNS Servers for the network. + PiDns []string `pulumi:"piDns"` + // The gateway ip address. + PiGateway *string `pulumi:"piGateway"` + // List of one or more ip address range(s). + PiIpaddressRanges []PiNetworkPiIpaddressRange `pulumi:"piIpaddressRanges"` + // Maximum Transmission Unit option of the network. Minimum is 1450 and maximum is 9000. + PiNetworkMtu *int `pulumi:"piNetworkMtu"` + // The name of the network. + PiNetworkName string `pulumi:"piNetworkName"` + // Network peer information. + // + // Deprecated: This field is deprecated + PiNetworkPeer *PiNetworkPiNetworkPeer `pulumi:"piNetworkPeer"` + // The type of network that you want to create. Valid values are `pub-vlan`, and `vlan`. + PiNetworkType string `pulumi:"piNetworkType"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiNetwork resource. +type PiNetworkArgs struct { + // Enable the network to be advertised. + PiAdvertise pulumi.StringPtrInput + // Enable ARP Broadcast. + PiArpBroadcast pulumi.StringPtrInput + // The network CIDR. Required for `vlan` network type. + PiCidr pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // The DNS Servers for the network. + PiDns pulumi.StringArrayInput + // The gateway ip address. + PiGateway pulumi.StringPtrInput + // List of one or more ip address range(s). + PiIpaddressRanges PiNetworkPiIpaddressRangeArrayInput + // Maximum Transmission Unit option of the network. Minimum is 1450 and maximum is 9000. + PiNetworkMtu pulumi.IntPtrInput + // The name of the network. + PiNetworkName pulumi.StringInput + // Network peer information. + // + // Deprecated: This field is deprecated + PiNetworkPeer PiNetworkPiNetworkPeerPtrInput + // The type of network that you want to create. Valid values are `pub-vlan`, and `vlan`. + PiNetworkType pulumi.StringInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkArgs)(nil)).Elem() +} + +type PiNetworkInput interface { + pulumi.Input + + ToPiNetworkOutput() PiNetworkOutput + ToPiNetworkOutputWithContext(ctx context.Context) PiNetworkOutput +} + +func (*PiNetwork) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetwork)(nil)).Elem() +} + +func (i *PiNetwork) ToPiNetworkOutput() PiNetworkOutput { + return i.ToPiNetworkOutputWithContext(context.Background()) +} + +func (i *PiNetwork) ToPiNetworkOutputWithContext(ctx context.Context) PiNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkOutput) +} + +type PiNetworkOutput struct{ *pulumi.OutputState } + +func (PiNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetwork)(nil)).Elem() +} + +func (o PiNetworkOutput) ToPiNetworkOutput() PiNetworkOutput { + return o +} + +func (o PiNetworkOutput) ToPiNetworkOutputWithContext(ctx context.Context) PiNetworkOutput { + return o +} + +// The CRN of this resource. +func (o PiNetworkOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Contains the Network Address Translation Details (for on-prem locations only). +// +// Deprecated: This field is deprecated +func (o PiNetworkOutput) NetworkAddressTranslations() PiNetworkNetworkAddressTranslationArrayOutput { + return o.ApplyT(func(v *PiNetwork) PiNetworkNetworkAddressTranslationArrayOutput { return v.NetworkAddressTranslations }).(PiNetworkNetworkAddressTranslationArrayOutput) +} + +// The unique identifier of the network. +func (o PiNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringOutput { return v.NetworkId }).(pulumi.StringOutput) +} + +// Network Peer ID (for on-prem locations only). +// +// Deprecated: This field is deprecated +func (o PiNetworkOutput) PeerId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringOutput { return v.PeerId }).(pulumi.StringOutput) +} + +// Enable the network to be advertised. +func (o PiNetworkOutput) PiAdvertise() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringPtrOutput { return v.PiAdvertise }).(pulumi.StringPtrOutput) +} + +// Enable ARP Broadcast. +func (o PiNetworkOutput) PiArpBroadcast() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringPtrOutput { return v.PiArpBroadcast }).(pulumi.StringPtrOutput) +} + +// The network CIDR. Required for `vlan` network type. +func (o PiNetworkOutput) PiCidr() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringOutput { return v.PiCidr }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The DNS Servers for the network. +func (o PiNetworkOutput) PiDns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringArrayOutput { return v.PiDns }).(pulumi.StringArrayOutput) +} + +// The gateway ip address. +func (o PiNetworkOutput) PiGateway() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringOutput { return v.PiGateway }).(pulumi.StringOutput) +} + +// List of one or more ip address range(s). +func (o PiNetworkOutput) PiIpaddressRanges() PiNetworkPiIpaddressRangeArrayOutput { + return o.ApplyT(func(v *PiNetwork) PiNetworkPiIpaddressRangeArrayOutput { return v.PiIpaddressRanges }).(PiNetworkPiIpaddressRangeArrayOutput) +} + +// Maximum Transmission Unit option of the network. Minimum is 1450 and maximum is 9000. +func (o PiNetworkOutput) PiNetworkMtu() pulumi.IntOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.IntOutput { return v.PiNetworkMtu }).(pulumi.IntOutput) +} + +// The name of the network. +func (o PiNetworkOutput) PiNetworkName() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringOutput { return v.PiNetworkName }).(pulumi.StringOutput) +} + +// Network peer information. +// +// Deprecated: This field is deprecated +func (o PiNetworkOutput) PiNetworkPeer() PiNetworkPiNetworkPeerPtrOutput { + return o.ApplyT(func(v *PiNetwork) PiNetworkPiNetworkPeerPtrOutput { return v.PiNetworkPeer }).(PiNetworkPiNetworkPeerPtrOutput) +} + +// The type of network that you want to create. Valid values are `pub-vlan`, and `vlan`. +func (o PiNetworkOutput) PiNetworkType() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringOutput { return v.PiNetworkType }).(pulumi.StringOutput) +} + +// The user tags attached to this resource. +func (o PiNetworkOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetwork) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The ID of the VLAN that your network is attached to. +func (o PiNetworkOutput) VlanId() pulumi.Float64Output { + return o.ApplyT(func(v *PiNetwork) pulumi.Float64Output { return v.VlanId }).(pulumi.Float64Output) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkInput)(nil)).Elem(), &PiNetwork{}) + pulumi.RegisterOutputType(PiNetworkOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkAddressGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkAddressGroup.go new file mode 100644 index 000000000..9bd557850 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkAddressGroup.go @@ -0,0 +1,194 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkAddressGroup struct { + pulumi.CustomResourceState + + // The Network Address Group's crn. + Crn pulumi.StringOutput `pulumi:"crn"` + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members PiNetworkAddressGroupMemberTypeArrayOutput `pulumi:"members"` + // The unique identifier of the network address group. + NetworkAddressGroupId pulumi.StringOutput `pulumi:"networkAddressGroupId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The name of the Network Address Group. + PiName pulumi.StringOutput `pulumi:"piName"` + // The user tags associated with this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` +} + +// NewPiNetworkAddressGroup registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkAddressGroup(ctx *pulumi.Context, + name string, args *PiNetworkAddressGroupArgs, opts ...pulumi.ResourceOption) (*PiNetworkAddressGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiName == nil { + return nil, errors.New("invalid value for required argument 'PiName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkAddressGroup + err := ctx.RegisterResource("ibmcloud:index/piNetworkAddressGroup:PiNetworkAddressGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkAddressGroup gets an existing PiNetworkAddressGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkAddressGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkAddressGroupState, opts ...pulumi.ResourceOption) (*PiNetworkAddressGroup, error) { + var resource PiNetworkAddressGroup + err := ctx.ReadResource("ibmcloud:index/piNetworkAddressGroup:PiNetworkAddressGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkAddressGroup resources. +type piNetworkAddressGroupState struct { + // The Network Address Group's crn. + Crn *string `pulumi:"crn"` + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members []PiNetworkAddressGroupMemberType `pulumi:"members"` + // The unique identifier of the network address group. + NetworkAddressGroupId *string `pulumi:"networkAddressGroupId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The name of the Network Address Group. + PiName *string `pulumi:"piName"` + // The user tags associated with this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +type PiNetworkAddressGroupState struct { + // The Network Address Group's crn. + Crn pulumi.StringPtrInput + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members PiNetworkAddressGroupMemberTypeArrayInput + // The unique identifier of the network address group. + NetworkAddressGroupId pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // The name of the Network Address Group. + PiName pulumi.StringPtrInput + // The user tags associated with this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiNetworkAddressGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkAddressGroupState)(nil)).Elem() +} + +type piNetworkAddressGroupArgs struct { + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members []PiNetworkAddressGroupMemberType `pulumi:"members"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // The name of the Network Address Group. + PiName string `pulumi:"piName"` + // The user tags associated with this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiNetworkAddressGroup resource. +type PiNetworkAddressGroupArgs struct { + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members PiNetworkAddressGroupMemberTypeArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // The name of the Network Address Group. + PiName pulumi.StringInput + // The user tags associated with this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiNetworkAddressGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkAddressGroupArgs)(nil)).Elem() +} + +type PiNetworkAddressGroupInput interface { + pulumi.Input + + ToPiNetworkAddressGroupOutput() PiNetworkAddressGroupOutput + ToPiNetworkAddressGroupOutputWithContext(ctx context.Context) PiNetworkAddressGroupOutput +} + +func (*PiNetworkAddressGroup) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkAddressGroup)(nil)).Elem() +} + +func (i *PiNetworkAddressGroup) ToPiNetworkAddressGroupOutput() PiNetworkAddressGroupOutput { + return i.ToPiNetworkAddressGroupOutputWithContext(context.Background()) +} + +func (i *PiNetworkAddressGroup) ToPiNetworkAddressGroupOutputWithContext(ctx context.Context) PiNetworkAddressGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkAddressGroupOutput) +} + +type PiNetworkAddressGroupOutput struct{ *pulumi.OutputState } + +func (PiNetworkAddressGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkAddressGroup)(nil)).Elem() +} + +func (o PiNetworkAddressGroupOutput) ToPiNetworkAddressGroupOutput() PiNetworkAddressGroupOutput { + return o +} + +func (o PiNetworkAddressGroupOutput) ToPiNetworkAddressGroupOutputWithContext(ctx context.Context) PiNetworkAddressGroupOutput { + return o +} + +// The Network Address Group's crn. +func (o PiNetworkAddressGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkAddressGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. +func (o PiNetworkAddressGroupOutput) Members() PiNetworkAddressGroupMemberTypeArrayOutput { + return o.ApplyT(func(v *PiNetworkAddressGroup) PiNetworkAddressGroupMemberTypeArrayOutput { return v.Members }).(PiNetworkAddressGroupMemberTypeArrayOutput) +} + +// The unique identifier of the network address group. +func (o PiNetworkAddressGroupOutput) NetworkAddressGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkAddressGroup) pulumi.StringOutput { return v.NetworkAddressGroupId }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkAddressGroupOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkAddressGroup) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The name of the Network Address Group. +func (o PiNetworkAddressGroupOutput) PiName() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkAddressGroup) pulumi.StringOutput { return v.PiName }).(pulumi.StringOutput) +} + +// The user tags associated with this resource. +func (o PiNetworkAddressGroupOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetworkAddressGroup) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkAddressGroupInput)(nil)).Elem(), &PiNetworkAddressGroup{}) + pulumi.RegisterOutputType(PiNetworkAddressGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkAddressGroupMember.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkAddressGroupMember.go new file mode 100644 index 000000000..3f6fb9df3 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkAddressGroupMember.go @@ -0,0 +1,216 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkAddressGroupMember struct { + pulumi.CustomResourceState + + // The network address group's crn. + Crn pulumi.StringOutput `pulumi:"crn"` + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members PiNetworkAddressGroupMemberMemberArrayOutput `pulumi:"members"` + // The name of the Network Address Group. + Name pulumi.StringOutput `pulumi:"name"` + // The member to add in CIDR format. + PiCidr pulumi.StringPtrOutput `pulumi:"piCidr"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Network Address Group ID. + PiNetworkAddressGroupId pulumi.StringOutput `pulumi:"piNetworkAddressGroupId"` + // The network address group member id to remove. + PiNetworkAddressGroupMemberId pulumi.StringPtrOutput `pulumi:"piNetworkAddressGroupMemberId"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayOutput `pulumi:"userTags"` +} + +// NewPiNetworkAddressGroupMember registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkAddressGroupMember(ctx *pulumi.Context, + name string, args *PiNetworkAddressGroupMemberArgs, opts ...pulumi.ResourceOption) (*PiNetworkAddressGroupMember, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiNetworkAddressGroupId == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkAddressGroupId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkAddressGroupMember + err := ctx.RegisterResource("ibmcloud:index/piNetworkAddressGroupMember:PiNetworkAddressGroupMember", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkAddressGroupMember gets an existing PiNetworkAddressGroupMember resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkAddressGroupMember(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkAddressGroupMemberState, opts ...pulumi.ResourceOption) (*PiNetworkAddressGroupMember, error) { + var resource PiNetworkAddressGroupMember + err := ctx.ReadResource("ibmcloud:index/piNetworkAddressGroupMember:PiNetworkAddressGroupMember", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkAddressGroupMember resources. +type piNetworkAddressGroupMemberState struct { + // The network address group's crn. + Crn *string `pulumi:"crn"` + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members []PiNetworkAddressGroupMemberMember `pulumi:"members"` + // The name of the Network Address Group. + Name *string `pulumi:"name"` + // The member to add in CIDR format. + PiCidr *string `pulumi:"piCidr"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Network Address Group ID. + PiNetworkAddressGroupId *string `pulumi:"piNetworkAddressGroupId"` + // The network address group member id to remove. + PiNetworkAddressGroupMemberId *string `pulumi:"piNetworkAddressGroupMemberId"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +type PiNetworkAddressGroupMemberState struct { + // The network address group's crn. + Crn pulumi.StringPtrInput + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members PiNetworkAddressGroupMemberMemberArrayInput + // The name of the Network Address Group. + Name pulumi.StringPtrInput + // The member to add in CIDR format. + PiCidr pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Network Address Group ID. + PiNetworkAddressGroupId pulumi.StringPtrInput + // The network address group member id to remove. + PiNetworkAddressGroupMemberId pulumi.StringPtrInput + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput +} + +func (PiNetworkAddressGroupMemberState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkAddressGroupMemberState)(nil)).Elem() +} + +type piNetworkAddressGroupMemberArgs struct { + // The member to add in CIDR format. + PiCidr *string `pulumi:"piCidr"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Network Address Group ID. + PiNetworkAddressGroupId string `pulumi:"piNetworkAddressGroupId"` + // The network address group member id to remove. + PiNetworkAddressGroupMemberId *string `pulumi:"piNetworkAddressGroupMemberId"` +} + +// The set of arguments for constructing a PiNetworkAddressGroupMember resource. +type PiNetworkAddressGroupMemberArgs struct { + // The member to add in CIDR format. + PiCidr pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Network Address Group ID. + PiNetworkAddressGroupId pulumi.StringInput + // The network address group member id to remove. + PiNetworkAddressGroupMemberId pulumi.StringPtrInput +} + +func (PiNetworkAddressGroupMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkAddressGroupMemberArgs)(nil)).Elem() +} + +type PiNetworkAddressGroupMemberInput interface { + pulumi.Input + + ToPiNetworkAddressGroupMemberOutput() PiNetworkAddressGroupMemberOutput + ToPiNetworkAddressGroupMemberOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberOutput +} + +func (*PiNetworkAddressGroupMember) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkAddressGroupMember)(nil)).Elem() +} + +func (i *PiNetworkAddressGroupMember) ToPiNetworkAddressGroupMemberOutput() PiNetworkAddressGroupMemberOutput { + return i.ToPiNetworkAddressGroupMemberOutputWithContext(context.Background()) +} + +func (i *PiNetworkAddressGroupMember) ToPiNetworkAddressGroupMemberOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkAddressGroupMemberOutput) +} + +type PiNetworkAddressGroupMemberOutput struct{ *pulumi.OutputState } + +func (PiNetworkAddressGroupMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkAddressGroupMember)(nil)).Elem() +} + +func (o PiNetworkAddressGroupMemberOutput) ToPiNetworkAddressGroupMemberOutput() PiNetworkAddressGroupMemberOutput { + return o +} + +func (o PiNetworkAddressGroupMemberOutput) ToPiNetworkAddressGroupMemberOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberOutput { + return o +} + +// The network address group's crn. +func (o PiNetworkAddressGroupMemberOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkAddressGroupMember) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. +func (o PiNetworkAddressGroupMemberOutput) Members() PiNetworkAddressGroupMemberMemberArrayOutput { + return o.ApplyT(func(v *PiNetworkAddressGroupMember) PiNetworkAddressGroupMemberMemberArrayOutput { return v.Members }).(PiNetworkAddressGroupMemberMemberArrayOutput) +} + +// The name of the Network Address Group. +func (o PiNetworkAddressGroupMemberOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkAddressGroupMember) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The member to add in CIDR format. +func (o PiNetworkAddressGroupMemberOutput) PiCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkAddressGroupMember) pulumi.StringPtrOutput { return v.PiCidr }).(pulumi.StringPtrOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkAddressGroupMemberOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkAddressGroupMember) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Network Address Group ID. +func (o PiNetworkAddressGroupMemberOutput) PiNetworkAddressGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkAddressGroupMember) pulumi.StringOutput { return v.PiNetworkAddressGroupId }).(pulumi.StringOutput) +} + +// The network address group member id to remove. +func (o PiNetworkAddressGroupMemberOutput) PiNetworkAddressGroupMemberId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkAddressGroupMember) pulumi.StringPtrOutput { return v.PiNetworkAddressGroupMemberId }).(pulumi.StringPtrOutput) +} + +// List of user tags attached to the resource. +func (o PiNetworkAddressGroupMemberOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetworkAddressGroupMember) pulumi.StringArrayOutput { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkAddressGroupMemberInput)(nil)).Elem(), &PiNetworkAddressGroupMember{}) + pulumi.RegisterOutputType(PiNetworkAddressGroupMemberOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkInterface.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkInterface.go new file mode 100644 index 000000000..a9ce97008 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkInterface.go @@ -0,0 +1,313 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkInterface struct { + pulumi.CustomResourceState + + // The network interface's crn. + Crn pulumi.StringOutput `pulumi:"crn"` + // The attached instance to this network interface. + Instances PiNetworkInterfaceInstanceArrayOutput `pulumi:"instances"` + // The ip address of this network interface. + IpAddress pulumi.StringOutput `pulumi:"ipAddress"` + // The mac address of the network interface. + MacAddress pulumi.StringOutput `pulumi:"macAddress"` + // Name of the network interface (not unique or indexable). + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier of the network interface. + NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"` + // ID of the network security group the network interface will be added to. + // + // Deprecated: Deprecated, use networkSecurityGroupIds instead. + NetworkSecurityGroupId pulumi.StringOutput `pulumi:"networkSecurityGroupId"` + // List of network security groups that the network interface is a member of. + NetworkSecurityGroupIds pulumi.StringArrayOutput `pulumi:"networkSecurityGroupIds"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // If supplied populated it attaches to the instance ID, if empty detaches from the instance ID. + PiInstanceId pulumi.StringPtrOutput `pulumi:"piInstanceId"` + // The requested IP address of this network interface. + PiIpAddress pulumi.StringPtrOutput `pulumi:"piIpAddress"` + // Name of the network interface. + PiName pulumi.StringPtrOutput `pulumi:"piName"` + // Network ID. + PiNetworkId pulumi.StringOutput `pulumi:"piNetworkId"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The status of the network interface. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewPiNetworkInterface registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkInterface(ctx *pulumi.Context, + name string, args *PiNetworkInterfaceArgs, opts ...pulumi.ResourceOption) (*PiNetworkInterface, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiNetworkId == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkInterface + err := ctx.RegisterResource("ibmcloud:index/piNetworkInterface:PiNetworkInterface", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkInterface gets an existing PiNetworkInterface resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkInterface(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkInterfaceState, opts ...pulumi.ResourceOption) (*PiNetworkInterface, error) { + var resource PiNetworkInterface + err := ctx.ReadResource("ibmcloud:index/piNetworkInterface:PiNetworkInterface", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkInterface resources. +type piNetworkInterfaceState struct { + // The network interface's crn. + Crn *string `pulumi:"crn"` + // The attached instance to this network interface. + Instances []PiNetworkInterfaceInstance `pulumi:"instances"` + // The ip address of this network interface. + IpAddress *string `pulumi:"ipAddress"` + // The mac address of the network interface. + MacAddress *string `pulumi:"macAddress"` + // Name of the network interface (not unique or indexable). + Name *string `pulumi:"name"` + // The unique identifier of the network interface. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + // ID of the network security group the network interface will be added to. + // + // Deprecated: Deprecated, use networkSecurityGroupIds instead. + NetworkSecurityGroupId *string `pulumi:"networkSecurityGroupId"` + // List of network security groups that the network interface is a member of. + NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // If supplied populated it attaches to the instance ID, if empty detaches from the instance ID. + PiInstanceId *string `pulumi:"piInstanceId"` + // The requested IP address of this network interface. + PiIpAddress *string `pulumi:"piIpAddress"` + // Name of the network interface. + PiName *string `pulumi:"piName"` + // Network ID. + PiNetworkId *string `pulumi:"piNetworkId"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The status of the network interface. + Status *string `pulumi:"status"` +} + +type PiNetworkInterfaceState struct { + // The network interface's crn. + Crn pulumi.StringPtrInput + // The attached instance to this network interface. + Instances PiNetworkInterfaceInstanceArrayInput + // The ip address of this network interface. + IpAddress pulumi.StringPtrInput + // The mac address of the network interface. + MacAddress pulumi.StringPtrInput + // Name of the network interface (not unique or indexable). + Name pulumi.StringPtrInput + // The unique identifier of the network interface. + NetworkInterfaceId pulumi.StringPtrInput + // ID of the network security group the network interface will be added to. + // + // Deprecated: Deprecated, use networkSecurityGroupIds instead. + NetworkSecurityGroupId pulumi.StringPtrInput + // List of network security groups that the network interface is a member of. + NetworkSecurityGroupIds pulumi.StringArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // If supplied populated it attaches to the instance ID, if empty detaches from the instance ID. + PiInstanceId pulumi.StringPtrInput + // The requested IP address of this network interface. + PiIpAddress pulumi.StringPtrInput + // Name of the network interface. + PiName pulumi.StringPtrInput + // Network ID. + PiNetworkId pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The status of the network interface. + Status pulumi.StringPtrInput +} + +func (PiNetworkInterfaceState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkInterfaceState)(nil)).Elem() +} + +type piNetworkInterfaceArgs struct { + // The attached instance to this network interface. + Instances []PiNetworkInterfaceInstance `pulumi:"instances"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // If supplied populated it attaches to the instance ID, if empty detaches from the instance ID. + PiInstanceId *string `pulumi:"piInstanceId"` + // The requested IP address of this network interface. + PiIpAddress *string `pulumi:"piIpAddress"` + // Name of the network interface. + PiName *string `pulumi:"piName"` + // Network ID. + PiNetworkId string `pulumi:"piNetworkId"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiNetworkInterface resource. +type PiNetworkInterfaceArgs struct { + // The attached instance to this network interface. + Instances PiNetworkInterfaceInstanceArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // If supplied populated it attaches to the instance ID, if empty detaches from the instance ID. + PiInstanceId pulumi.StringPtrInput + // The requested IP address of this network interface. + PiIpAddress pulumi.StringPtrInput + // Name of the network interface. + PiName pulumi.StringPtrInput + // Network ID. + PiNetworkId pulumi.StringInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkInterfaceArgs)(nil)).Elem() +} + +type PiNetworkInterfaceInput interface { + pulumi.Input + + ToPiNetworkInterfaceOutput() PiNetworkInterfaceOutput + ToPiNetworkInterfaceOutputWithContext(ctx context.Context) PiNetworkInterfaceOutput +} + +func (*PiNetworkInterface) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkInterface)(nil)).Elem() +} + +func (i *PiNetworkInterface) ToPiNetworkInterfaceOutput() PiNetworkInterfaceOutput { + return i.ToPiNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i *PiNetworkInterface) ToPiNetworkInterfaceOutputWithContext(ctx context.Context) PiNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkInterfaceOutput) +} + +type PiNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (PiNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkInterface)(nil)).Elem() +} + +func (o PiNetworkInterfaceOutput) ToPiNetworkInterfaceOutput() PiNetworkInterfaceOutput { + return o +} + +func (o PiNetworkInterfaceOutput) ToPiNetworkInterfaceOutputWithContext(ctx context.Context) PiNetworkInterfaceOutput { + return o +} + +// The network interface's crn. +func (o PiNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The attached instance to this network interface. +func (o PiNetworkInterfaceOutput) Instances() PiNetworkInterfaceInstanceArrayOutput { + return o.ApplyT(func(v *PiNetworkInterface) PiNetworkInterfaceInstanceArrayOutput { return v.Instances }).(PiNetworkInterfaceInstanceArrayOutput) +} + +// The ip address of this network interface. +func (o PiNetworkInterfaceOutput) IpAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.IpAddress }).(pulumi.StringOutput) +} + +// The mac address of the network interface. +func (o PiNetworkInterfaceOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.MacAddress }).(pulumi.StringOutput) +} + +// Name of the network interface (not unique or indexable). +func (o PiNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier of the network interface. +func (o PiNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.NetworkInterfaceId }).(pulumi.StringOutput) +} + +// ID of the network security group the network interface will be added to. +// +// Deprecated: Deprecated, use networkSecurityGroupIds instead. +func (o PiNetworkInterfaceOutput) NetworkSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.NetworkSecurityGroupId }).(pulumi.StringOutput) +} + +// List of network security groups that the network interface is a member of. +func (o PiNetworkInterfaceOutput) NetworkSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringArrayOutput { return v.NetworkSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkInterfaceOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// If supplied populated it attaches to the instance ID, if empty detaches from the instance ID. +func (o PiNetworkInterfaceOutput) PiInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringPtrOutput { return v.PiInstanceId }).(pulumi.StringPtrOutput) +} + +// The requested IP address of this network interface. +func (o PiNetworkInterfaceOutput) PiIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringPtrOutput { return v.PiIpAddress }).(pulumi.StringPtrOutput) +} + +// Name of the network interface. +func (o PiNetworkInterfaceOutput) PiName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringPtrOutput { return v.PiName }).(pulumi.StringPtrOutput) +} + +// Network ID. +func (o PiNetworkInterfaceOutput) PiNetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.PiNetworkId }).(pulumi.StringOutput) +} + +// The user tags attached to this resource. +func (o PiNetworkInterfaceOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The status of the network interface. +func (o PiNetworkInterfaceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkInterface) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkInterfaceInput)(nil)).Elem(), &PiNetworkInterface{}) + pulumi.RegisterOutputType(PiNetworkInterfaceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPeer.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPeer.go new file mode 100644 index 000000000..c80c7def4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPeer.go @@ -0,0 +1,372 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkPeer struct { + pulumi.CustomResourceState + + // Time stamp for create network peer. + CreationDate pulumi.StringOutput `pulumi:"creationDate"` + // Error description. + Error pulumi.StringOutput `pulumi:"error"` + // List of export route filters. + ExportRouteFilters PiNetworkPeerExportRouteFilterArrayOutput `pulumi:"exportRouteFilters"` + // List of import route filters. + ImportRouteFilters PiNetworkPeerImportRouteFilterArrayOutput `pulumi:"importRouteFilters"` + // Network peer id. + PeerId pulumi.StringOutput `pulumi:"peerId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // ASN number at customer network side. + PiCustomerAsn pulumi.IntOutput `pulumi:"piCustomerAsn"` + // IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiCustomerCidr pulumi.StringOutput `pulumi:"piCustomerCidr"` + // Default action for export route filter. Allowed values: allow, deny. + PiDefaultExportRouteFilter pulumi.StringPtrOutput `pulumi:"piDefaultExportRouteFilter"` + // Default action for import route filter. Allowed values: allow, deny. + PiDefaultImportRouteFilter pulumi.StringPtrOutput `pulumi:"piDefaultImportRouteFilter"` + // ASN number at IBM PowerVS side. + PiIbmAsn pulumi.IntOutput `pulumi:"piIbmAsn"` + // IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiIbmCidr pulumi.StringOutput `pulumi:"piIbmCidr"` + // User defined name. + PiName pulumi.StringOutput `pulumi:"piName"` + // Peer interface id. Use datasource 'ibmi_pi_network_peer_interfaces' to get a list of valid peer interface id. + PiPeerInterfaceId pulumi.StringOutput `pulumi:"piPeerInterfaceId"` + // Type of the peer network * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network. + PiType pulumi.StringPtrOutput `pulumi:"piType"` + // A vlan configured at the customer network. + PiVlan pulumi.IntOutput `pulumi:"piVlan"` + // Status of the network peer. + State pulumi.StringOutput `pulumi:"state"` + // Time stamp for update network peer. + UpdatedDate pulumi.StringOutput `pulumi:"updatedDate"` +} + +// NewPiNetworkPeer registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkPeer(ctx *pulumi.Context, + name string, args *PiNetworkPeerArgs, opts ...pulumi.ResourceOption) (*PiNetworkPeer, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiCustomerAsn == nil { + return nil, errors.New("invalid value for required argument 'PiCustomerAsn'") + } + if args.PiCustomerCidr == nil { + return nil, errors.New("invalid value for required argument 'PiCustomerCidr'") + } + if args.PiIbmAsn == nil { + return nil, errors.New("invalid value for required argument 'PiIbmAsn'") + } + if args.PiIbmCidr == nil { + return nil, errors.New("invalid value for required argument 'PiIbmCidr'") + } + if args.PiName == nil { + return nil, errors.New("invalid value for required argument 'PiName'") + } + if args.PiPeerInterfaceId == nil { + return nil, errors.New("invalid value for required argument 'PiPeerInterfaceId'") + } + if args.PiVlan == nil { + return nil, errors.New("invalid value for required argument 'PiVlan'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkPeer + err := ctx.RegisterResource("ibmcloud:index/piNetworkPeer:PiNetworkPeer", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkPeer gets an existing PiNetworkPeer resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkPeer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkPeerState, opts ...pulumi.ResourceOption) (*PiNetworkPeer, error) { + var resource PiNetworkPeer + err := ctx.ReadResource("ibmcloud:index/piNetworkPeer:PiNetworkPeer", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkPeer resources. +type piNetworkPeerState struct { + // Time stamp for create network peer. + CreationDate *string `pulumi:"creationDate"` + // Error description. + Error *string `pulumi:"error"` + // List of export route filters. + ExportRouteFilters []PiNetworkPeerExportRouteFilter `pulumi:"exportRouteFilters"` + // List of import route filters. + ImportRouteFilters []PiNetworkPeerImportRouteFilter `pulumi:"importRouteFilters"` + // Network peer id. + PeerId *string `pulumi:"peerId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // ASN number at customer network side. + PiCustomerAsn *int `pulumi:"piCustomerAsn"` + // IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiCustomerCidr *string `pulumi:"piCustomerCidr"` + // Default action for export route filter. Allowed values: allow, deny. + PiDefaultExportRouteFilter *string `pulumi:"piDefaultExportRouteFilter"` + // Default action for import route filter. Allowed values: allow, deny. + PiDefaultImportRouteFilter *string `pulumi:"piDefaultImportRouteFilter"` + // ASN number at IBM PowerVS side. + PiIbmAsn *int `pulumi:"piIbmAsn"` + // IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiIbmCidr *string `pulumi:"piIbmCidr"` + // User defined name. + PiName *string `pulumi:"piName"` + // Peer interface id. Use datasource 'ibmi_pi_network_peer_interfaces' to get a list of valid peer interface id. + PiPeerInterfaceId *string `pulumi:"piPeerInterfaceId"` + // Type of the peer network * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network. + PiType *string `pulumi:"piType"` + // A vlan configured at the customer network. + PiVlan *int `pulumi:"piVlan"` + // Status of the network peer. + State *string `pulumi:"state"` + // Time stamp for update network peer. + UpdatedDate *string `pulumi:"updatedDate"` +} + +type PiNetworkPeerState struct { + // Time stamp for create network peer. + CreationDate pulumi.StringPtrInput + // Error description. + Error pulumi.StringPtrInput + // List of export route filters. + ExportRouteFilters PiNetworkPeerExportRouteFilterArrayInput + // List of import route filters. + ImportRouteFilters PiNetworkPeerImportRouteFilterArrayInput + // Network peer id. + PeerId pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // ASN number at customer network side. + PiCustomerAsn pulumi.IntPtrInput + // IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiCustomerCidr pulumi.StringPtrInput + // Default action for export route filter. Allowed values: allow, deny. + PiDefaultExportRouteFilter pulumi.StringPtrInput + // Default action for import route filter. Allowed values: allow, deny. + PiDefaultImportRouteFilter pulumi.StringPtrInput + // ASN number at IBM PowerVS side. + PiIbmAsn pulumi.IntPtrInput + // IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiIbmCidr pulumi.StringPtrInput + // User defined name. + PiName pulumi.StringPtrInput + // Peer interface id. Use datasource 'ibmi_pi_network_peer_interfaces' to get a list of valid peer interface id. + PiPeerInterfaceId pulumi.StringPtrInput + // Type of the peer network * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network. + PiType pulumi.StringPtrInput + // A vlan configured at the customer network. + PiVlan pulumi.IntPtrInput + // Status of the network peer. + State pulumi.StringPtrInput + // Time stamp for update network peer. + UpdatedDate pulumi.StringPtrInput +} + +func (PiNetworkPeerState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkPeerState)(nil)).Elem() +} + +type piNetworkPeerArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // ASN number at customer network side. + PiCustomerAsn int `pulumi:"piCustomerAsn"` + // IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiCustomerCidr string `pulumi:"piCustomerCidr"` + // Default action for export route filter. Allowed values: allow, deny. + PiDefaultExportRouteFilter *string `pulumi:"piDefaultExportRouteFilter"` + // Default action for import route filter. Allowed values: allow, deny. + PiDefaultImportRouteFilter *string `pulumi:"piDefaultImportRouteFilter"` + // ASN number at IBM PowerVS side. + PiIbmAsn int `pulumi:"piIbmAsn"` + // IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiIbmCidr string `pulumi:"piIbmCidr"` + // User defined name. + PiName string `pulumi:"piName"` + // Peer interface id. Use datasource 'ibmi_pi_network_peer_interfaces' to get a list of valid peer interface id. + PiPeerInterfaceId string `pulumi:"piPeerInterfaceId"` + // Type of the peer network * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network. + PiType *string `pulumi:"piType"` + // A vlan configured at the customer network. + PiVlan int `pulumi:"piVlan"` +} + +// The set of arguments for constructing a PiNetworkPeer resource. +type PiNetworkPeerArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // ASN number at customer network side. + PiCustomerAsn pulumi.IntInput + // IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiCustomerCidr pulumi.StringInput + // Default action for export route filter. Allowed values: allow, deny. + PiDefaultExportRouteFilter pulumi.StringPtrInput + // Default action for import route filter. Allowed values: allow, deny. + PiDefaultImportRouteFilter pulumi.StringPtrInput + // ASN number at IBM PowerVS side. + PiIbmAsn pulumi.IntInput + // IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. + PiIbmCidr pulumi.StringInput + // User defined name. + PiName pulumi.StringInput + // Peer interface id. Use datasource 'ibmi_pi_network_peer_interfaces' to get a list of valid peer interface id. + PiPeerInterfaceId pulumi.StringInput + // Type of the peer network * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network. + PiType pulumi.StringPtrInput + // A vlan configured at the customer network. + PiVlan pulumi.IntInput +} + +func (PiNetworkPeerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkPeerArgs)(nil)).Elem() +} + +type PiNetworkPeerInput interface { + pulumi.Input + + ToPiNetworkPeerOutput() PiNetworkPeerOutput + ToPiNetworkPeerOutputWithContext(ctx context.Context) PiNetworkPeerOutput +} + +func (*PiNetworkPeer) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPeer)(nil)).Elem() +} + +func (i *PiNetworkPeer) ToPiNetworkPeerOutput() PiNetworkPeerOutput { + return i.ToPiNetworkPeerOutputWithContext(context.Background()) +} + +func (i *PiNetworkPeer) ToPiNetworkPeerOutputWithContext(ctx context.Context) PiNetworkPeerOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPeerOutput) +} + +type PiNetworkPeerOutput struct{ *pulumi.OutputState } + +func (PiNetworkPeerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPeer)(nil)).Elem() +} + +func (o PiNetworkPeerOutput) ToPiNetworkPeerOutput() PiNetworkPeerOutput { + return o +} + +func (o PiNetworkPeerOutput) ToPiNetworkPeerOutputWithContext(ctx context.Context) PiNetworkPeerOutput { + return o +} + +// Time stamp for create network peer. +func (o PiNetworkPeerOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) +} + +// Error description. +func (o PiNetworkPeerOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.Error }).(pulumi.StringOutput) +} + +// List of export route filters. +func (o PiNetworkPeerOutput) ExportRouteFilters() PiNetworkPeerExportRouteFilterArrayOutput { + return o.ApplyT(func(v *PiNetworkPeer) PiNetworkPeerExportRouteFilterArrayOutput { return v.ExportRouteFilters }).(PiNetworkPeerExportRouteFilterArrayOutput) +} + +// List of import route filters. +func (o PiNetworkPeerOutput) ImportRouteFilters() PiNetworkPeerImportRouteFilterArrayOutput { + return o.ApplyT(func(v *PiNetworkPeer) PiNetworkPeerImportRouteFilterArrayOutput { return v.ImportRouteFilters }).(PiNetworkPeerImportRouteFilterArrayOutput) +} + +// Network peer id. +func (o PiNetworkPeerOutput) PeerId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.PeerId }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkPeerOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// ASN number at customer network side. +func (o PiNetworkPeerOutput) PiCustomerAsn() pulumi.IntOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.IntOutput { return v.PiCustomerAsn }).(pulumi.IntOutput) +} + +// IP address used for configuring customer network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. +func (o PiNetworkPeerOutput) PiCustomerCidr() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.PiCustomerCidr }).(pulumi.StringOutput) +} + +// Default action for export route filter. Allowed values: allow, deny. +func (o PiNetworkPeerOutput) PiDefaultExportRouteFilter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringPtrOutput { return v.PiDefaultExportRouteFilter }).(pulumi.StringPtrOutput) +} + +// Default action for import route filter. Allowed values: allow, deny. +func (o PiNetworkPeerOutput) PiDefaultImportRouteFilter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringPtrOutput { return v.PiDefaultImportRouteFilter }).(pulumi.StringPtrOutput) +} + +// ASN number at IBM PowerVS side. +func (o PiNetworkPeerOutput) PiIbmAsn() pulumi.IntOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.IntOutput { return v.PiIbmAsn }).(pulumi.IntOutput) +} + +// IP address used for configuring IBM network interface with network subnet mask. customerCidr and ibmCidr must have matching network and subnet mask values. +func (o PiNetworkPeerOutput) PiIbmCidr() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.PiIbmCidr }).(pulumi.StringOutput) +} + +// User defined name. +func (o PiNetworkPeerOutput) PiName() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.PiName }).(pulumi.StringOutput) +} + +// Peer interface id. Use datasource 'ibmi_pi_network_peer_interfaces' to get a list of valid peer interface id. +func (o PiNetworkPeerOutput) PiPeerInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.PiPeerInterfaceId }).(pulumi.StringOutput) +} + +// Type of the peer network * dcnetwork_bgp: broader gateway protocol is used to share routes between two autonomous network. +func (o PiNetworkPeerOutput) PiType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringPtrOutput { return v.PiType }).(pulumi.StringPtrOutput) +} + +// A vlan configured at the customer network. +func (o PiNetworkPeerOutput) PiVlan() pulumi.IntOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.IntOutput { return v.PiVlan }).(pulumi.IntOutput) +} + +// Status of the network peer. +func (o PiNetworkPeerOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Time stamp for update network peer. +func (o PiNetworkPeerOutput) UpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeer) pulumi.StringOutput { return v.UpdatedDate }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPeerInput)(nil)).Elem(), &PiNetworkPeer{}) + pulumi.RegisterOutputType(PiNetworkPeerOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPeerRouteFilter.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPeerRouteFilter.go new file mode 100644 index 000000000..b43c24590 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPeerRouteFilter.go @@ -0,0 +1,285 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkPeerRouteFilter struct { + pulumi.CustomResourceState + + // Time stamp for create route filter. + CreationDate pulumi.StringOutput `pulumi:"creationDate"` + // Error description. + Error pulumi.StringOutput `pulumi:"error"` + // Action of the filter. + PiAction pulumi.StringPtrOutput `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Direction of the filter. + PiDirection pulumi.StringOutput `pulumi:"piDirection"` + // The minimum matching length of the prefix-set(1 ≤ value ≤ 32 & value ≤ LE). + PiGe pulumi.IntPtrOutput `pulumi:"piGe"` + // Priority or order of the filter. + PiIndex pulumi.IntOutput `pulumi:"piIndex"` + // The maximum matching length of the prefix-set( 1 ≤ value ≤ 32 & value >= GE). + PiLe pulumi.IntPtrOutput `pulumi:"piLe"` + // Network peer ID. + PiNetworkPeerId pulumi.StringOutput `pulumi:"piNetworkPeerId"` + // IP prefix representing an address and mask length of the prefix-set. + PiPrefix pulumi.StringOutput `pulumi:"piPrefix"` + // Route filter ID. + RouteFilterId pulumi.StringOutput `pulumi:"routeFilterId"` + // Status of the route filter. + State pulumi.StringOutput `pulumi:"state"` +} + +// NewPiNetworkPeerRouteFilter registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkPeerRouteFilter(ctx *pulumi.Context, + name string, args *PiNetworkPeerRouteFilterArgs, opts ...pulumi.ResourceOption) (*PiNetworkPeerRouteFilter, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiDirection == nil { + return nil, errors.New("invalid value for required argument 'PiDirection'") + } + if args.PiIndex == nil { + return nil, errors.New("invalid value for required argument 'PiIndex'") + } + if args.PiNetworkPeerId == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkPeerId'") + } + if args.PiPrefix == nil { + return nil, errors.New("invalid value for required argument 'PiPrefix'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkPeerRouteFilter + err := ctx.RegisterResource("ibmcloud:index/piNetworkPeerRouteFilter:PiNetworkPeerRouteFilter", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkPeerRouteFilter gets an existing PiNetworkPeerRouteFilter resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkPeerRouteFilter(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkPeerRouteFilterState, opts ...pulumi.ResourceOption) (*PiNetworkPeerRouteFilter, error) { + var resource PiNetworkPeerRouteFilter + err := ctx.ReadResource("ibmcloud:index/piNetworkPeerRouteFilter:PiNetworkPeerRouteFilter", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkPeerRouteFilter resources. +type piNetworkPeerRouteFilterState struct { + // Time stamp for create route filter. + CreationDate *string `pulumi:"creationDate"` + // Error description. + Error *string `pulumi:"error"` + // Action of the filter. + PiAction *string `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Direction of the filter. + PiDirection *string `pulumi:"piDirection"` + // The minimum matching length of the prefix-set(1 ≤ value ≤ 32 & value ≤ LE). + PiGe *int `pulumi:"piGe"` + // Priority or order of the filter. + PiIndex *int `pulumi:"piIndex"` + // The maximum matching length of the prefix-set( 1 ≤ value ≤ 32 & value >= GE). + PiLe *int `pulumi:"piLe"` + // Network peer ID. + PiNetworkPeerId *string `pulumi:"piNetworkPeerId"` + // IP prefix representing an address and mask length of the prefix-set. + PiPrefix *string `pulumi:"piPrefix"` + // Route filter ID. + RouteFilterId *string `pulumi:"routeFilterId"` + // Status of the route filter. + State *string `pulumi:"state"` +} + +type PiNetworkPeerRouteFilterState struct { + // Time stamp for create route filter. + CreationDate pulumi.StringPtrInput + // Error description. + Error pulumi.StringPtrInput + // Action of the filter. + PiAction pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Direction of the filter. + PiDirection pulumi.StringPtrInput + // The minimum matching length of the prefix-set(1 ≤ value ≤ 32 & value ≤ LE). + PiGe pulumi.IntPtrInput + // Priority or order of the filter. + PiIndex pulumi.IntPtrInput + // The maximum matching length of the prefix-set( 1 ≤ value ≤ 32 & value >= GE). + PiLe pulumi.IntPtrInput + // Network peer ID. + PiNetworkPeerId pulumi.StringPtrInput + // IP prefix representing an address and mask length of the prefix-set. + PiPrefix pulumi.StringPtrInput + // Route filter ID. + RouteFilterId pulumi.StringPtrInput + // Status of the route filter. + State pulumi.StringPtrInput +} + +func (PiNetworkPeerRouteFilterState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkPeerRouteFilterState)(nil)).Elem() +} + +type piNetworkPeerRouteFilterArgs struct { + // Action of the filter. + PiAction *string `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Direction of the filter. + PiDirection string `pulumi:"piDirection"` + // The minimum matching length of the prefix-set(1 ≤ value ≤ 32 & value ≤ LE). + PiGe *int `pulumi:"piGe"` + // Priority or order of the filter. + PiIndex int `pulumi:"piIndex"` + // The maximum matching length of the prefix-set( 1 ≤ value ≤ 32 & value >= GE). + PiLe *int `pulumi:"piLe"` + // Network peer ID. + PiNetworkPeerId string `pulumi:"piNetworkPeerId"` + // IP prefix representing an address and mask length of the prefix-set. + PiPrefix string `pulumi:"piPrefix"` +} + +// The set of arguments for constructing a PiNetworkPeerRouteFilter resource. +type PiNetworkPeerRouteFilterArgs struct { + // Action of the filter. + PiAction pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Direction of the filter. + PiDirection pulumi.StringInput + // The minimum matching length of the prefix-set(1 ≤ value ≤ 32 & value ≤ LE). + PiGe pulumi.IntPtrInput + // Priority or order of the filter. + PiIndex pulumi.IntInput + // The maximum matching length of the prefix-set( 1 ≤ value ≤ 32 & value >= GE). + PiLe pulumi.IntPtrInput + // Network peer ID. + PiNetworkPeerId pulumi.StringInput + // IP prefix representing an address and mask length of the prefix-set. + PiPrefix pulumi.StringInput +} + +func (PiNetworkPeerRouteFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkPeerRouteFilterArgs)(nil)).Elem() +} + +type PiNetworkPeerRouteFilterInput interface { + pulumi.Input + + ToPiNetworkPeerRouteFilterOutput() PiNetworkPeerRouteFilterOutput + ToPiNetworkPeerRouteFilterOutputWithContext(ctx context.Context) PiNetworkPeerRouteFilterOutput +} + +func (*PiNetworkPeerRouteFilter) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPeerRouteFilter)(nil)).Elem() +} + +func (i *PiNetworkPeerRouteFilter) ToPiNetworkPeerRouteFilterOutput() PiNetworkPeerRouteFilterOutput { + return i.ToPiNetworkPeerRouteFilterOutputWithContext(context.Background()) +} + +func (i *PiNetworkPeerRouteFilter) ToPiNetworkPeerRouteFilterOutputWithContext(ctx context.Context) PiNetworkPeerRouteFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPeerRouteFilterOutput) +} + +type PiNetworkPeerRouteFilterOutput struct{ *pulumi.OutputState } + +func (PiNetworkPeerRouteFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPeerRouteFilter)(nil)).Elem() +} + +func (o PiNetworkPeerRouteFilterOutput) ToPiNetworkPeerRouteFilterOutput() PiNetworkPeerRouteFilterOutput { + return o +} + +func (o PiNetworkPeerRouteFilterOutput) ToPiNetworkPeerRouteFilterOutputWithContext(ctx context.Context) PiNetworkPeerRouteFilterOutput { + return o +} + +// Time stamp for create route filter. +func (o PiNetworkPeerRouteFilterOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) +} + +// Error description. +func (o PiNetworkPeerRouteFilterOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringOutput { return v.Error }).(pulumi.StringOutput) +} + +// Action of the filter. +func (o PiNetworkPeerRouteFilterOutput) PiAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringPtrOutput { return v.PiAction }).(pulumi.StringPtrOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkPeerRouteFilterOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Direction of the filter. +func (o PiNetworkPeerRouteFilterOutput) PiDirection() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringOutput { return v.PiDirection }).(pulumi.StringOutput) +} + +// The minimum matching length of the prefix-set(1 ≤ value ≤ 32 & value ≤ LE). +func (o PiNetworkPeerRouteFilterOutput) PiGe() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.IntPtrOutput { return v.PiGe }).(pulumi.IntPtrOutput) +} + +// Priority or order of the filter. +func (o PiNetworkPeerRouteFilterOutput) PiIndex() pulumi.IntOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.IntOutput { return v.PiIndex }).(pulumi.IntOutput) +} + +// The maximum matching length of the prefix-set( 1 ≤ value ≤ 32 & value >= GE). +func (o PiNetworkPeerRouteFilterOutput) PiLe() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.IntPtrOutput { return v.PiLe }).(pulumi.IntPtrOutput) +} + +// Network peer ID. +func (o PiNetworkPeerRouteFilterOutput) PiNetworkPeerId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringOutput { return v.PiNetworkPeerId }).(pulumi.StringOutput) +} + +// IP prefix representing an address and mask length of the prefix-set. +func (o PiNetworkPeerRouteFilterOutput) PiPrefix() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringOutput { return v.PiPrefix }).(pulumi.StringOutput) +} + +// Route filter ID. +func (o PiNetworkPeerRouteFilterOutput) RouteFilterId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringOutput { return v.RouteFilterId }).(pulumi.StringOutput) +} + +// Status of the route filter. +func (o PiNetworkPeerRouteFilterOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPeerRouteFilter) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPeerRouteFilterInput)(nil)).Elem(), &PiNetworkPeerRouteFilter{}) + pulumi.RegisterOutputType(PiNetworkPeerRouteFilterOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPortAttach.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPortAttach.go new file mode 100644 index 000000000..01aa2a98d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkPortAttach.go @@ -0,0 +1,268 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkPortAttach struct { + pulumi.CustomResourceState + + // The MAC address of the port. + MacAddress pulumi.StringOutput `pulumi:"macAddress"` + // The MAC address of the instance. + // + // Deprecated: Deprecated, use macAddress instead + Macaddress pulumi.StringOutput `pulumi:"macaddress"` + // The ID of the port. + NetworkPortId pulumi.StringOutput `pulumi:"networkPortId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Instance id to attach the network port to. + PiInstanceId pulumi.StringOutput `pulumi:"piInstanceId"` + // The network ID or name. + PiNetworkName pulumi.StringOutput `pulumi:"piNetworkName"` + // The description for the Network Port. + PiNetworkPortDescription pulumi.StringPtrOutput `pulumi:"piNetworkPortDescription"` + // The requested ip address of this port + PiNetworkPortIpaddress pulumi.StringOutput `pulumi:"piNetworkPortIpaddress"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The public IP associated with the port. + PublicIp pulumi.StringOutput `pulumi:"publicIp"` + // The status of the port. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewPiNetworkPortAttach registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkPortAttach(ctx *pulumi.Context, + name string, args *PiNetworkPortAttachArgs, opts ...pulumi.ResourceOption) (*PiNetworkPortAttach, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiInstanceId'") + } + if args.PiNetworkName == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkPortAttach + err := ctx.RegisterResource("ibmcloud:index/piNetworkPortAttach:PiNetworkPortAttach", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkPortAttach gets an existing PiNetworkPortAttach resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkPortAttach(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkPortAttachState, opts ...pulumi.ResourceOption) (*PiNetworkPortAttach, error) { + var resource PiNetworkPortAttach + err := ctx.ReadResource("ibmcloud:index/piNetworkPortAttach:PiNetworkPortAttach", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkPortAttach resources. +type piNetworkPortAttachState struct { + // The MAC address of the port. + MacAddress *string `pulumi:"macAddress"` + // The MAC address of the instance. + // + // Deprecated: Deprecated, use macAddress instead + Macaddress *string `pulumi:"macaddress"` + // The ID of the port. + NetworkPortId *string `pulumi:"networkPortId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Instance id to attach the network port to. + PiInstanceId *string `pulumi:"piInstanceId"` + // The network ID or name. + PiNetworkName *string `pulumi:"piNetworkName"` + // The description for the Network Port. + PiNetworkPortDescription *string `pulumi:"piNetworkPortDescription"` + // The requested ip address of this port + PiNetworkPortIpaddress *string `pulumi:"piNetworkPortIpaddress"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The public IP associated with the port. + PublicIp *string `pulumi:"publicIp"` + // The status of the port. + Status *string `pulumi:"status"` +} + +type PiNetworkPortAttachState struct { + // The MAC address of the port. + MacAddress pulumi.StringPtrInput + // The MAC address of the instance. + // + // Deprecated: Deprecated, use macAddress instead + Macaddress pulumi.StringPtrInput + // The ID of the port. + NetworkPortId pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Instance id to attach the network port to. + PiInstanceId pulumi.StringPtrInput + // The network ID or name. + PiNetworkName pulumi.StringPtrInput + // The description for the Network Port. + PiNetworkPortDescription pulumi.StringPtrInput + // The requested ip address of this port + PiNetworkPortIpaddress pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The public IP associated with the port. + PublicIp pulumi.StringPtrInput + // The status of the port. + Status pulumi.StringPtrInput +} + +func (PiNetworkPortAttachState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkPortAttachState)(nil)).Elem() +} + +type piNetworkPortAttachArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Instance id to attach the network port to. + PiInstanceId string `pulumi:"piInstanceId"` + // The network ID or name. + PiNetworkName string `pulumi:"piNetworkName"` + // The description for the Network Port. + PiNetworkPortDescription *string `pulumi:"piNetworkPortDescription"` + // The requested ip address of this port + PiNetworkPortIpaddress *string `pulumi:"piNetworkPortIpaddress"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiNetworkPortAttach resource. +type PiNetworkPortAttachArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Instance id to attach the network port to. + PiInstanceId pulumi.StringInput + // The network ID or name. + PiNetworkName pulumi.StringInput + // The description for the Network Port. + PiNetworkPortDescription pulumi.StringPtrInput + // The requested ip address of this port + PiNetworkPortIpaddress pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiNetworkPortAttachArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkPortAttachArgs)(nil)).Elem() +} + +type PiNetworkPortAttachInput interface { + pulumi.Input + + ToPiNetworkPortAttachOutput() PiNetworkPortAttachOutput + ToPiNetworkPortAttachOutputWithContext(ctx context.Context) PiNetworkPortAttachOutput +} + +func (*PiNetworkPortAttach) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPortAttach)(nil)).Elem() +} + +func (i *PiNetworkPortAttach) ToPiNetworkPortAttachOutput() PiNetworkPortAttachOutput { + return i.ToPiNetworkPortAttachOutputWithContext(context.Background()) +} + +func (i *PiNetworkPortAttach) ToPiNetworkPortAttachOutputWithContext(ctx context.Context) PiNetworkPortAttachOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPortAttachOutput) +} + +type PiNetworkPortAttachOutput struct{ *pulumi.OutputState } + +func (PiNetworkPortAttachOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPortAttach)(nil)).Elem() +} + +func (o PiNetworkPortAttachOutput) ToPiNetworkPortAttachOutput() PiNetworkPortAttachOutput { + return o +} + +func (o PiNetworkPortAttachOutput) ToPiNetworkPortAttachOutputWithContext(ctx context.Context) PiNetworkPortAttachOutput { + return o +} + +// The MAC address of the port. +func (o PiNetworkPortAttachOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.MacAddress }).(pulumi.StringOutput) +} + +// The MAC address of the instance. +// +// Deprecated: Deprecated, use macAddress instead +func (o PiNetworkPortAttachOutput) Macaddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.Macaddress }).(pulumi.StringOutput) +} + +// The ID of the port. +func (o PiNetworkPortAttachOutput) NetworkPortId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.NetworkPortId }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkPortAttachOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Instance id to attach the network port to. +func (o PiNetworkPortAttachOutput) PiInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.PiInstanceId }).(pulumi.StringOutput) +} + +// The network ID or name. +func (o PiNetworkPortAttachOutput) PiNetworkName() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.PiNetworkName }).(pulumi.StringOutput) +} + +// The description for the Network Port. +func (o PiNetworkPortAttachOutput) PiNetworkPortDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringPtrOutput { return v.PiNetworkPortDescription }).(pulumi.StringPtrOutput) +} + +// The requested ip address of this port +func (o PiNetworkPortAttachOutput) PiNetworkPortIpaddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.PiNetworkPortIpaddress }).(pulumi.StringOutput) +} + +// The user tags attached to this resource. +func (o PiNetworkPortAttachOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The public IP associated with the port. +func (o PiNetworkPortAttachOutput) PublicIp() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.PublicIp }).(pulumi.StringOutput) +} + +// The status of the port. +func (o PiNetworkPortAttachOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkPortAttach) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPortAttachInput)(nil)).Elem(), &PiNetworkPortAttach{}) + pulumi.RegisterOutputType(PiNetworkPortAttachOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroup.go new file mode 100644 index 000000000..5a4001db5 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroup.go @@ -0,0 +1,212 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkSecurityGroup struct { + pulumi.CustomResourceState + + // The network security group's crn. + Crn pulumi.StringOutput `pulumi:"crn"` + // Indicates if the network security group is the default network security group in the workspace. + Default pulumi.BoolOutput `pulumi:"default"` + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members PiNetworkSecurityGroupMemberTypeArrayOutput `pulumi:"members"` + // The unique identifier of the network security group. + NetworkSecurityGroupId pulumi.StringOutput `pulumi:"networkSecurityGroupId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The name of the network security group. + PiName pulumi.StringOutput `pulumi:"piName"` + // The user tags associated with this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The list of rules in the network security group. + Rules PiNetworkSecurityGroupRuleTypeArrayOutput `pulumi:"rules"` +} + +// NewPiNetworkSecurityGroup registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkSecurityGroup(ctx *pulumi.Context, + name string, args *PiNetworkSecurityGroupArgs, opts ...pulumi.ResourceOption) (*PiNetworkSecurityGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiName == nil { + return nil, errors.New("invalid value for required argument 'PiName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkSecurityGroup + err := ctx.RegisterResource("ibmcloud:index/piNetworkSecurityGroup:PiNetworkSecurityGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkSecurityGroup gets an existing PiNetworkSecurityGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkSecurityGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkSecurityGroupState, opts ...pulumi.ResourceOption) (*PiNetworkSecurityGroup, error) { + var resource PiNetworkSecurityGroup + err := ctx.ReadResource("ibmcloud:index/piNetworkSecurityGroup:PiNetworkSecurityGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkSecurityGroup resources. +type piNetworkSecurityGroupState struct { + // The network security group's crn. + Crn *string `pulumi:"crn"` + // Indicates if the network security group is the default network security group in the workspace. + Default *bool `pulumi:"default"` + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members []PiNetworkSecurityGroupMemberType `pulumi:"members"` + // The unique identifier of the network security group. + NetworkSecurityGroupId *string `pulumi:"networkSecurityGroupId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The name of the network security group. + PiName *string `pulumi:"piName"` + // The user tags associated with this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The list of rules in the network security group. + Rules []PiNetworkSecurityGroupRuleType `pulumi:"rules"` +} + +type PiNetworkSecurityGroupState struct { + // The network security group's crn. + Crn pulumi.StringPtrInput + // Indicates if the network security group is the default network security group in the workspace. + Default pulumi.BoolPtrInput + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members PiNetworkSecurityGroupMemberTypeArrayInput + // The unique identifier of the network security group. + NetworkSecurityGroupId pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // The name of the network security group. + PiName pulumi.StringPtrInput + // The user tags associated with this resource. + PiUserTags pulumi.StringArrayInput + // The list of rules in the network security group. + Rules PiNetworkSecurityGroupRuleTypeArrayInput +} + +func (PiNetworkSecurityGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkSecurityGroupState)(nil)).Elem() +} + +type piNetworkSecurityGroupArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // The name of the network security group. + PiName string `pulumi:"piName"` + // The user tags associated with this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiNetworkSecurityGroup resource. +type PiNetworkSecurityGroupArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // The name of the network security group. + PiName pulumi.StringInput + // The user tags associated with this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiNetworkSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkSecurityGroupArgs)(nil)).Elem() +} + +type PiNetworkSecurityGroupInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupOutput() PiNetworkSecurityGroupOutput + ToPiNetworkSecurityGroupOutputWithContext(ctx context.Context) PiNetworkSecurityGroupOutput +} + +func (*PiNetworkSecurityGroup) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroup)(nil)).Elem() +} + +func (i *PiNetworkSecurityGroup) ToPiNetworkSecurityGroupOutput() PiNetworkSecurityGroupOutput { + return i.ToPiNetworkSecurityGroupOutputWithContext(context.Background()) +} + +func (i *PiNetworkSecurityGroup) ToPiNetworkSecurityGroupOutputWithContext(ctx context.Context) PiNetworkSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupOutput) +} + +type PiNetworkSecurityGroupOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroup)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupOutput) ToPiNetworkSecurityGroupOutput() PiNetworkSecurityGroupOutput { + return o +} + +func (o PiNetworkSecurityGroupOutput) ToPiNetworkSecurityGroupOutputWithContext(ctx context.Context) PiNetworkSecurityGroupOutput { + return o +} + +// The network security group's crn. +func (o PiNetworkSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates if the network security group is the default network security group in the workspace. +func (o PiNetworkSecurityGroupOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroup) pulumi.BoolOutput { return v.Default }).(pulumi.BoolOutput) +} + +// The list of IPv4 addresses and, or network interfaces in the network security group. +func (o PiNetworkSecurityGroupOutput) Members() PiNetworkSecurityGroupMemberTypeArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroup) PiNetworkSecurityGroupMemberTypeArrayOutput { return v.Members }).(PiNetworkSecurityGroupMemberTypeArrayOutput) +} + +// The unique identifier of the network security group. +func (o PiNetworkSecurityGroupOutput) NetworkSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroup) pulumi.StringOutput { return v.NetworkSecurityGroupId }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkSecurityGroupOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroup) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The name of the network security group. +func (o PiNetworkSecurityGroupOutput) PiName() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroup) pulumi.StringOutput { return v.PiName }).(pulumi.StringOutput) +} + +// The user tags associated with this resource. +func (o PiNetworkSecurityGroupOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroup) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The list of rules in the network security group. +func (o PiNetworkSecurityGroupOutput) Rules() PiNetworkSecurityGroupRuleTypeArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroup) PiNetworkSecurityGroupRuleTypeArrayOutput { return v.Rules }).(PiNetworkSecurityGroupRuleTypeArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupInput)(nil)).Elem(), &PiNetworkSecurityGroup{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupAction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupAction.go new file mode 100644 index 000000000..b0b785490 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupAction.go @@ -0,0 +1,153 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkSecurityGroupAction struct { + pulumi.CustomResourceState + + // Name of the action to take; can be enable to enable NSGs in a workspace or disable to disable NSGs in a workspace. + PiAction pulumi.StringOutput `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The workspace network security group's state. + State pulumi.StringOutput `pulumi:"state"` +} + +// NewPiNetworkSecurityGroupAction registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkSecurityGroupAction(ctx *pulumi.Context, + name string, args *PiNetworkSecurityGroupActionArgs, opts ...pulumi.ResourceOption) (*PiNetworkSecurityGroupAction, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiAction == nil { + return nil, errors.New("invalid value for required argument 'PiAction'") + } + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkSecurityGroupAction + err := ctx.RegisterResource("ibmcloud:index/piNetworkSecurityGroupAction:PiNetworkSecurityGroupAction", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkSecurityGroupAction gets an existing PiNetworkSecurityGroupAction resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkSecurityGroupAction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkSecurityGroupActionState, opts ...pulumi.ResourceOption) (*PiNetworkSecurityGroupAction, error) { + var resource PiNetworkSecurityGroupAction + err := ctx.ReadResource("ibmcloud:index/piNetworkSecurityGroupAction:PiNetworkSecurityGroupAction", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkSecurityGroupAction resources. +type piNetworkSecurityGroupActionState struct { + // Name of the action to take; can be enable to enable NSGs in a workspace or disable to disable NSGs in a workspace. + PiAction *string `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The workspace network security group's state. + State *string `pulumi:"state"` +} + +type PiNetworkSecurityGroupActionState struct { + // Name of the action to take; can be enable to enable NSGs in a workspace or disable to disable NSGs in a workspace. + PiAction pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // The workspace network security group's state. + State pulumi.StringPtrInput +} + +func (PiNetworkSecurityGroupActionState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkSecurityGroupActionState)(nil)).Elem() +} + +type piNetworkSecurityGroupActionArgs struct { + // Name of the action to take; can be enable to enable NSGs in a workspace or disable to disable NSGs in a workspace. + PiAction string `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` +} + +// The set of arguments for constructing a PiNetworkSecurityGroupAction resource. +type PiNetworkSecurityGroupActionArgs struct { + // Name of the action to take; can be enable to enable NSGs in a workspace or disable to disable NSGs in a workspace. + PiAction pulumi.StringInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput +} + +func (PiNetworkSecurityGroupActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkSecurityGroupActionArgs)(nil)).Elem() +} + +type PiNetworkSecurityGroupActionInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupActionOutput() PiNetworkSecurityGroupActionOutput + ToPiNetworkSecurityGroupActionOutputWithContext(ctx context.Context) PiNetworkSecurityGroupActionOutput +} + +func (*PiNetworkSecurityGroupAction) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupAction)(nil)).Elem() +} + +func (i *PiNetworkSecurityGroupAction) ToPiNetworkSecurityGroupActionOutput() PiNetworkSecurityGroupActionOutput { + return i.ToPiNetworkSecurityGroupActionOutputWithContext(context.Background()) +} + +func (i *PiNetworkSecurityGroupAction) ToPiNetworkSecurityGroupActionOutputWithContext(ctx context.Context) PiNetworkSecurityGroupActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupActionOutput) +} + +type PiNetworkSecurityGroupActionOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupAction)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupActionOutput) ToPiNetworkSecurityGroupActionOutput() PiNetworkSecurityGroupActionOutput { + return o +} + +func (o PiNetworkSecurityGroupActionOutput) ToPiNetworkSecurityGroupActionOutputWithContext(ctx context.Context) PiNetworkSecurityGroupActionOutput { + return o +} + +// Name of the action to take; can be enable to enable NSGs in a workspace or disable to disable NSGs in a workspace. +func (o PiNetworkSecurityGroupActionOutput) PiAction() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupAction) pulumi.StringOutput { return v.PiAction }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkSecurityGroupActionOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupAction) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The workspace network security group's state. +func (o PiNetworkSecurityGroupActionOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupAction) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupActionInput)(nil)).Elem(), &PiNetworkSecurityGroupAction{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupActionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupMember.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupMember.go new file mode 100644 index 000000000..e739310f0 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupMember.go @@ -0,0 +1,268 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkSecurityGroupMember struct { + pulumi.CustomResourceState + + // The network security group's crn. + Crn pulumi.StringOutput `pulumi:"crn"` + // Indicates if the network security group is the default network security group in the workspace. + Default pulumi.BoolOutput `pulumi:"default"` + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members PiNetworkSecurityGroupMemberMemberArrayOutput `pulumi:"members"` + // The name of the network security group. + Name pulumi.StringOutput `pulumi:"name"` + // The ID of the network security group. + NetworkSecurityGroupMemberId pulumi.StringOutput `pulumi:"networkSecurityGroupMemberId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // network security group ID. + PiNetworkSecurityGroupId pulumi.StringOutput `pulumi:"piNetworkSecurityGroupId"` + // network security group member ID. + PiNetworkSecurityGroupMemberId pulumi.StringPtrOutput `pulumi:"piNetworkSecurityGroupMemberId"` + // The target member to add. An IP4 address if ipv4-address type or a network interface ID if network-interface type. + PiTarget pulumi.StringPtrOutput `pulumi:"piTarget"` + // The type of member. + PiType pulumi.StringPtrOutput `pulumi:"piType"` + // The list of rules in the network security group. + Rules PiNetworkSecurityGroupMemberRuleArrayOutput `pulumi:"rules"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayOutput `pulumi:"userTags"` +} + +// NewPiNetworkSecurityGroupMember registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkSecurityGroupMember(ctx *pulumi.Context, + name string, args *PiNetworkSecurityGroupMemberArgs, opts ...pulumi.ResourceOption) (*PiNetworkSecurityGroupMember, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiNetworkSecurityGroupId == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkSecurityGroupId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkSecurityGroupMember + err := ctx.RegisterResource("ibmcloud:index/piNetworkSecurityGroupMember:PiNetworkSecurityGroupMember", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkSecurityGroupMember gets an existing PiNetworkSecurityGroupMember resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkSecurityGroupMember(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkSecurityGroupMemberState, opts ...pulumi.ResourceOption) (*PiNetworkSecurityGroupMember, error) { + var resource PiNetworkSecurityGroupMember + err := ctx.ReadResource("ibmcloud:index/piNetworkSecurityGroupMember:PiNetworkSecurityGroupMember", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkSecurityGroupMember resources. +type piNetworkSecurityGroupMemberState struct { + // The network security group's crn. + Crn *string `pulumi:"crn"` + // Indicates if the network security group is the default network security group in the workspace. + Default *bool `pulumi:"default"` + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members []PiNetworkSecurityGroupMemberMember `pulumi:"members"` + // The name of the network security group. + Name *string `pulumi:"name"` + // The ID of the network security group. + NetworkSecurityGroupMemberId *string `pulumi:"networkSecurityGroupMemberId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // network security group ID. + PiNetworkSecurityGroupId *string `pulumi:"piNetworkSecurityGroupId"` + // network security group member ID. + PiNetworkSecurityGroupMemberId *string `pulumi:"piNetworkSecurityGroupMemberId"` + // The target member to add. An IP4 address if ipv4-address type or a network interface ID if network-interface type. + PiTarget *string `pulumi:"piTarget"` + // The type of member. + PiType *string `pulumi:"piType"` + // The list of rules in the network security group. + Rules []PiNetworkSecurityGroupMemberRule `pulumi:"rules"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +type PiNetworkSecurityGroupMemberState struct { + // The network security group's crn. + Crn pulumi.StringPtrInput + // Indicates if the network security group is the default network security group in the workspace. + Default pulumi.BoolPtrInput + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members PiNetworkSecurityGroupMemberMemberArrayInput + // The name of the network security group. + Name pulumi.StringPtrInput + // The ID of the network security group. + NetworkSecurityGroupMemberId pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // network security group ID. + PiNetworkSecurityGroupId pulumi.StringPtrInput + // network security group member ID. + PiNetworkSecurityGroupMemberId pulumi.StringPtrInput + // The target member to add. An IP4 address if ipv4-address type or a network interface ID if network-interface type. + PiTarget pulumi.StringPtrInput + // The type of member. + PiType pulumi.StringPtrInput + // The list of rules in the network security group. + Rules PiNetworkSecurityGroupMemberRuleArrayInput + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput +} + +func (PiNetworkSecurityGroupMemberState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkSecurityGroupMemberState)(nil)).Elem() +} + +type piNetworkSecurityGroupMemberArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // network security group ID. + PiNetworkSecurityGroupId string `pulumi:"piNetworkSecurityGroupId"` + // network security group member ID. + PiNetworkSecurityGroupMemberId *string `pulumi:"piNetworkSecurityGroupMemberId"` + // The target member to add. An IP4 address if ipv4-address type or a network interface ID if network-interface type. + PiTarget *string `pulumi:"piTarget"` + // The type of member. + PiType *string `pulumi:"piType"` + // The list of rules in the network security group. + Rules []PiNetworkSecurityGroupMemberRule `pulumi:"rules"` +} + +// The set of arguments for constructing a PiNetworkSecurityGroupMember resource. +type PiNetworkSecurityGroupMemberArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // network security group ID. + PiNetworkSecurityGroupId pulumi.StringInput + // network security group member ID. + PiNetworkSecurityGroupMemberId pulumi.StringPtrInput + // The target member to add. An IP4 address if ipv4-address type or a network interface ID if network-interface type. + PiTarget pulumi.StringPtrInput + // The type of member. + PiType pulumi.StringPtrInput + // The list of rules in the network security group. + Rules PiNetworkSecurityGroupMemberRuleArrayInput +} + +func (PiNetworkSecurityGroupMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkSecurityGroupMemberArgs)(nil)).Elem() +} + +type PiNetworkSecurityGroupMemberInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberOutput() PiNetworkSecurityGroupMemberOutput + ToPiNetworkSecurityGroupMemberOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberOutput +} + +func (*PiNetworkSecurityGroupMember) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupMember)(nil)).Elem() +} + +func (i *PiNetworkSecurityGroupMember) ToPiNetworkSecurityGroupMemberOutput() PiNetworkSecurityGroupMemberOutput { + return i.ToPiNetworkSecurityGroupMemberOutputWithContext(context.Background()) +} + +func (i *PiNetworkSecurityGroupMember) ToPiNetworkSecurityGroupMemberOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberOutput) +} + +type PiNetworkSecurityGroupMemberOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupMember)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberOutput) ToPiNetworkSecurityGroupMemberOutput() PiNetworkSecurityGroupMemberOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberOutput) ToPiNetworkSecurityGroupMemberOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberOutput { + return o +} + +// The network security group's crn. +func (o PiNetworkSecurityGroupMemberOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates if the network security group is the default network security group in the workspace. +func (o PiNetworkSecurityGroupMemberOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.BoolOutput { return v.Default }).(pulumi.BoolOutput) +} + +// The list of IPv4 addresses and, or network interfaces in the network security group. +func (o PiNetworkSecurityGroupMemberOutput) Members() PiNetworkSecurityGroupMemberMemberArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) PiNetworkSecurityGroupMemberMemberArrayOutput { return v.Members }).(PiNetworkSecurityGroupMemberMemberArrayOutput) +} + +// The name of the network security group. +func (o PiNetworkSecurityGroupMemberOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ID of the network security group. +func (o PiNetworkSecurityGroupMemberOutput) NetworkSecurityGroupMemberId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringOutput { return v.NetworkSecurityGroupMemberId }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkSecurityGroupMemberOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// network security group ID. +func (o PiNetworkSecurityGroupMemberOutput) PiNetworkSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringOutput { return v.PiNetworkSecurityGroupId }).(pulumi.StringOutput) +} + +// network security group member ID. +func (o PiNetworkSecurityGroupMemberOutput) PiNetworkSecurityGroupMemberId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringPtrOutput { return v.PiNetworkSecurityGroupMemberId }).(pulumi.StringPtrOutput) +} + +// The target member to add. An IP4 address if ipv4-address type or a network interface ID if network-interface type. +func (o PiNetworkSecurityGroupMemberOutput) PiTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringPtrOutput { return v.PiTarget }).(pulumi.StringPtrOutput) +} + +// The type of member. +func (o PiNetworkSecurityGroupMemberOutput) PiType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringPtrOutput { return v.PiType }).(pulumi.StringPtrOutput) +} + +// The list of rules in the network security group. +func (o PiNetworkSecurityGroupMemberOutput) Rules() PiNetworkSecurityGroupMemberRuleArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) PiNetworkSecurityGroupMemberRuleArrayOutput { return v.Rules }).(PiNetworkSecurityGroupMemberRuleArrayOutput) +} + +// List of user tags attached to the resource. +func (o PiNetworkSecurityGroupMemberOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupMember) pulumi.StringArrayOutput { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberInput)(nil)).Elem(), &PiNetworkSecurityGroupMember{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupRule.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupRule.go new file mode 100644 index 000000000..c4a589514 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piNetworkSecurityGroupRule.go @@ -0,0 +1,371 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiNetworkSecurityGroupRule struct { + pulumi.CustomResourceState + + // The network security group's crn. + Crn pulumi.StringOutput `pulumi:"crn"` + // Indicates if the network security group is the default network security group in the workspace. + Default pulumi.BoolOutput `pulumi:"default"` + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members PiNetworkSecurityGroupRuleMemberArrayOutput `pulumi:"members"` + // The name of the network security group. + Name pulumi.StringOutput `pulumi:"name"` + // The unique identifier of the network security group. + NetworkSecurityGroupId pulumi.StringOutput `pulumi:"networkSecurityGroupId"` + // The action to take if the rule matches network traffic. + PiAction pulumi.StringPtrOutput `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Destination port ranges. + PiDestinationPort PiNetworkSecurityGroupRulePiDestinationPortPtrOutput `pulumi:"piDestinationPort"` + // Destination port ranges. + // + // Deprecated: This field is deprecated. Please use 'pi_destination_port' instead. + PiDestinationPorts PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput `pulumi:"piDestinationPorts"` + // The unique identifier of the network security group. + PiNetworkSecurityGroupId pulumi.StringOutput `pulumi:"piNetworkSecurityGroupId"` + // The network security group rule id to remove. + PiNetworkSecurityGroupRuleId pulumi.StringPtrOutput `pulumi:"piNetworkSecurityGroupRuleId"` + // The protocol of the network traffic. + PiProtocol PiNetworkSecurityGroupRulePiProtocolPtrOutput `pulumi:"piProtocol"` + // The protocol of the network traffic. + PiRemote PiNetworkSecurityGroupRulePiRemotePtrOutput `pulumi:"piRemote"` + // Source port ranges. + PiSourcePort PiNetworkSecurityGroupRulePiSourcePortPtrOutput `pulumi:"piSourcePort"` + // Source port ranges. + // + // Deprecated: This field is deprecated. 'Please use pi_source_port' instead. + PiSourcePorts PiNetworkSecurityGroupRulePiSourcePortsPtrOutput `pulumi:"piSourcePorts"` + // The list of rules in the network security group. + Rules PiNetworkSecurityGroupRuleRuleArrayOutput `pulumi:"rules"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayOutput `pulumi:"userTags"` +} + +// NewPiNetworkSecurityGroupRule registers a new resource with the given unique name, arguments, and options. +func NewPiNetworkSecurityGroupRule(ctx *pulumi.Context, + name string, args *PiNetworkSecurityGroupRuleArgs, opts ...pulumi.ResourceOption) (*PiNetworkSecurityGroupRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiNetworkSecurityGroupId == nil { + return nil, errors.New("invalid value for required argument 'PiNetworkSecurityGroupId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiNetworkSecurityGroupRule + err := ctx.RegisterResource("ibmcloud:index/piNetworkSecurityGroupRule:PiNetworkSecurityGroupRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiNetworkSecurityGroupRule gets an existing PiNetworkSecurityGroupRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiNetworkSecurityGroupRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiNetworkSecurityGroupRuleState, opts ...pulumi.ResourceOption) (*PiNetworkSecurityGroupRule, error) { + var resource PiNetworkSecurityGroupRule + err := ctx.ReadResource("ibmcloud:index/piNetworkSecurityGroupRule:PiNetworkSecurityGroupRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiNetworkSecurityGroupRule resources. +type piNetworkSecurityGroupRuleState struct { + // The network security group's crn. + Crn *string `pulumi:"crn"` + // Indicates if the network security group is the default network security group in the workspace. + Default *bool `pulumi:"default"` + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members []PiNetworkSecurityGroupRuleMember `pulumi:"members"` + // The name of the network security group. + Name *string `pulumi:"name"` + // The unique identifier of the network security group. + NetworkSecurityGroupId *string `pulumi:"networkSecurityGroupId"` + // The action to take if the rule matches network traffic. + PiAction *string `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Destination port ranges. + PiDestinationPort *PiNetworkSecurityGroupRulePiDestinationPort `pulumi:"piDestinationPort"` + // Destination port ranges. + // + // Deprecated: This field is deprecated. Please use 'pi_destination_port' instead. + PiDestinationPorts *PiNetworkSecurityGroupRulePiDestinationPorts `pulumi:"piDestinationPorts"` + // The unique identifier of the network security group. + PiNetworkSecurityGroupId *string `pulumi:"piNetworkSecurityGroupId"` + // The network security group rule id to remove. + PiNetworkSecurityGroupRuleId *string `pulumi:"piNetworkSecurityGroupRuleId"` + // The protocol of the network traffic. + PiProtocol *PiNetworkSecurityGroupRulePiProtocol `pulumi:"piProtocol"` + // The protocol of the network traffic. + PiRemote *PiNetworkSecurityGroupRulePiRemote `pulumi:"piRemote"` + // Source port ranges. + PiSourcePort *PiNetworkSecurityGroupRulePiSourcePort `pulumi:"piSourcePort"` + // Source port ranges. + // + // Deprecated: This field is deprecated. 'Please use pi_source_port' instead. + PiSourcePorts *PiNetworkSecurityGroupRulePiSourcePorts `pulumi:"piSourcePorts"` + // The list of rules in the network security group. + Rules []PiNetworkSecurityGroupRuleRule `pulumi:"rules"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +type PiNetworkSecurityGroupRuleState struct { + // The network security group's crn. + Crn pulumi.StringPtrInput + // Indicates if the network security group is the default network security group in the workspace. + Default pulumi.BoolPtrInput + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members PiNetworkSecurityGroupRuleMemberArrayInput + // The name of the network security group. + Name pulumi.StringPtrInput + // The unique identifier of the network security group. + NetworkSecurityGroupId pulumi.StringPtrInput + // The action to take if the rule matches network traffic. + PiAction pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Destination port ranges. + PiDestinationPort PiNetworkSecurityGroupRulePiDestinationPortPtrInput + // Destination port ranges. + // + // Deprecated: This field is deprecated. Please use 'pi_destination_port' instead. + PiDestinationPorts PiNetworkSecurityGroupRulePiDestinationPortsPtrInput + // The unique identifier of the network security group. + PiNetworkSecurityGroupId pulumi.StringPtrInput + // The network security group rule id to remove. + PiNetworkSecurityGroupRuleId pulumi.StringPtrInput + // The protocol of the network traffic. + PiProtocol PiNetworkSecurityGroupRulePiProtocolPtrInput + // The protocol of the network traffic. + PiRemote PiNetworkSecurityGroupRulePiRemotePtrInput + // Source port ranges. + PiSourcePort PiNetworkSecurityGroupRulePiSourcePortPtrInput + // Source port ranges. + // + // Deprecated: This field is deprecated. 'Please use pi_source_port' instead. + PiSourcePorts PiNetworkSecurityGroupRulePiSourcePortsPtrInput + // The list of rules in the network security group. + Rules PiNetworkSecurityGroupRuleRuleArrayInput + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput +} + +func (PiNetworkSecurityGroupRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkSecurityGroupRuleState)(nil)).Elem() +} + +type piNetworkSecurityGroupRuleArgs struct { + // The action to take if the rule matches network traffic. + PiAction *string `pulumi:"piAction"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Destination port ranges. + PiDestinationPort *PiNetworkSecurityGroupRulePiDestinationPort `pulumi:"piDestinationPort"` + // Destination port ranges. + // + // Deprecated: This field is deprecated. Please use 'pi_destination_port' instead. + PiDestinationPorts *PiNetworkSecurityGroupRulePiDestinationPorts `pulumi:"piDestinationPorts"` + // The unique identifier of the network security group. + PiNetworkSecurityGroupId string `pulumi:"piNetworkSecurityGroupId"` + // The network security group rule id to remove. + PiNetworkSecurityGroupRuleId *string `pulumi:"piNetworkSecurityGroupRuleId"` + // The protocol of the network traffic. + PiProtocol *PiNetworkSecurityGroupRulePiProtocol `pulumi:"piProtocol"` + // The protocol of the network traffic. + PiRemote *PiNetworkSecurityGroupRulePiRemote `pulumi:"piRemote"` + // Source port ranges. + PiSourcePort *PiNetworkSecurityGroupRulePiSourcePort `pulumi:"piSourcePort"` + // Source port ranges. + // + // Deprecated: This field is deprecated. 'Please use pi_source_port' instead. + PiSourcePorts *PiNetworkSecurityGroupRulePiSourcePorts `pulumi:"piSourcePorts"` +} + +// The set of arguments for constructing a PiNetworkSecurityGroupRule resource. +type PiNetworkSecurityGroupRuleArgs struct { + // The action to take if the rule matches network traffic. + PiAction pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Destination port ranges. + PiDestinationPort PiNetworkSecurityGroupRulePiDestinationPortPtrInput + // Destination port ranges. + // + // Deprecated: This field is deprecated. Please use 'pi_destination_port' instead. + PiDestinationPorts PiNetworkSecurityGroupRulePiDestinationPortsPtrInput + // The unique identifier of the network security group. + PiNetworkSecurityGroupId pulumi.StringInput + // The network security group rule id to remove. + PiNetworkSecurityGroupRuleId pulumi.StringPtrInput + // The protocol of the network traffic. + PiProtocol PiNetworkSecurityGroupRulePiProtocolPtrInput + // The protocol of the network traffic. + PiRemote PiNetworkSecurityGroupRulePiRemotePtrInput + // Source port ranges. + PiSourcePort PiNetworkSecurityGroupRulePiSourcePortPtrInput + // Source port ranges. + // + // Deprecated: This field is deprecated. 'Please use pi_source_port' instead. + PiSourcePorts PiNetworkSecurityGroupRulePiSourcePortsPtrInput +} + +func (PiNetworkSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piNetworkSecurityGroupRuleArgs)(nil)).Elem() +} + +type PiNetworkSecurityGroupRuleInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleOutput() PiNetworkSecurityGroupRuleOutput + ToPiNetworkSecurityGroupRuleOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleOutput +} + +func (*PiNetworkSecurityGroupRule) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRule)(nil)).Elem() +} + +func (i *PiNetworkSecurityGroupRule) ToPiNetworkSecurityGroupRuleOutput() PiNetworkSecurityGroupRuleOutput { + return i.ToPiNetworkSecurityGroupRuleOutputWithContext(context.Background()) +} + +func (i *PiNetworkSecurityGroupRule) ToPiNetworkSecurityGroupRuleOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleOutput) +} + +type PiNetworkSecurityGroupRuleOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRule)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleOutput) ToPiNetworkSecurityGroupRuleOutput() PiNetworkSecurityGroupRuleOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleOutput) ToPiNetworkSecurityGroupRuleOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleOutput { + return o +} + +// The network security group's crn. +func (o PiNetworkSecurityGroupRuleOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates if the network security group is the default network security group in the workspace. +func (o PiNetworkSecurityGroupRuleOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.BoolOutput { return v.Default }).(pulumi.BoolOutput) +} + +// The list of IPv4 addresses and, or network interfaces in the network security group. +func (o PiNetworkSecurityGroupRuleOutput) Members() PiNetworkSecurityGroupRuleMemberArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) PiNetworkSecurityGroupRuleMemberArrayOutput { return v.Members }).(PiNetworkSecurityGroupRuleMemberArrayOutput) +} + +// The name of the network security group. +func (o PiNetworkSecurityGroupRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier of the network security group. +func (o PiNetworkSecurityGroupRuleOutput) NetworkSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.StringOutput { return v.NetworkSecurityGroupId }).(pulumi.StringOutput) +} + +// The action to take if the rule matches network traffic. +func (o PiNetworkSecurityGroupRuleOutput) PiAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.StringPtrOutput { return v.PiAction }).(pulumi.StringPtrOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiNetworkSecurityGroupRuleOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Destination port ranges. +func (o PiNetworkSecurityGroupRuleOutput) PiDestinationPort() PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return v.PiDestinationPort + }).(PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) +} + +// Destination port ranges. +// +// Deprecated: This field is deprecated. Please use 'pi_destination_port' instead. +func (o PiNetworkSecurityGroupRuleOutput) PiDestinationPorts() PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return v.PiDestinationPorts + }).(PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) +} + +// The unique identifier of the network security group. +func (o PiNetworkSecurityGroupRuleOutput) PiNetworkSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.StringOutput { return v.PiNetworkSecurityGroupId }).(pulumi.StringOutput) +} + +// The network security group rule id to remove. +func (o PiNetworkSecurityGroupRuleOutput) PiNetworkSecurityGroupRuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.StringPtrOutput { return v.PiNetworkSecurityGroupRuleId }).(pulumi.StringPtrOutput) +} + +// The protocol of the network traffic. +func (o PiNetworkSecurityGroupRuleOutput) PiProtocol() PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) PiNetworkSecurityGroupRulePiProtocolPtrOutput { return v.PiProtocol }).(PiNetworkSecurityGroupRulePiProtocolPtrOutput) +} + +// The protocol of the network traffic. +func (o PiNetworkSecurityGroupRuleOutput) PiRemote() PiNetworkSecurityGroupRulePiRemotePtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) PiNetworkSecurityGroupRulePiRemotePtrOutput { return v.PiRemote }).(PiNetworkSecurityGroupRulePiRemotePtrOutput) +} + +// Source port ranges. +func (o PiNetworkSecurityGroupRuleOutput) PiSourcePort() PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return v.PiSourcePort + }).(PiNetworkSecurityGroupRulePiSourcePortPtrOutput) +} + +// Source port ranges. +// +// Deprecated: This field is deprecated. 'Please use pi_source_port' instead. +func (o PiNetworkSecurityGroupRuleOutput) PiSourcePorts() PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return v.PiSourcePorts + }).(PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) +} + +// The list of rules in the network security group. +func (o PiNetworkSecurityGroupRuleOutput) Rules() PiNetworkSecurityGroupRuleRuleArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) PiNetworkSecurityGroupRuleRuleArrayOutput { return v.Rules }).(PiNetworkSecurityGroupRuleRuleArrayOutput) +} + +// List of user tags attached to the resource. +func (o PiNetworkSecurityGroupRuleOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRule) pulumi.StringArrayOutput { return v.UserTags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleInput)(nil)).Elem(), &PiNetworkSecurityGroupRule{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piPlacementGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piPlacementGroup.go new file mode 100644 index 000000000..b82c5143f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piPlacementGroup.go @@ -0,0 +1,208 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiPlacementGroup struct { + pulumi.CustomResourceState + + // The CRN of the resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // The list of server instances IDs that are members of the placement group. + Members pulumi.StringArrayOutput `pulumi:"members"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The name of the placement group. + PiPlacementGroupName pulumi.StringOutput `pulumi:"piPlacementGroupName"` + // The value of the group's affinity policy. Valid values are 'affinity' and 'anti-affinity'. + PiPlacementGroupPolicy pulumi.StringOutput `pulumi:"piPlacementGroupPolicy"` + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The placement group ID. + PlacementGroupId pulumi.StringOutput `pulumi:"placementGroupId"` +} + +// NewPiPlacementGroup registers a new resource with the given unique name, arguments, and options. +func NewPiPlacementGroup(ctx *pulumi.Context, + name string, args *PiPlacementGroupArgs, opts ...pulumi.ResourceOption) (*PiPlacementGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiPlacementGroupName == nil { + return nil, errors.New("invalid value for required argument 'PiPlacementGroupName'") + } + if args.PiPlacementGroupPolicy == nil { + return nil, errors.New("invalid value for required argument 'PiPlacementGroupPolicy'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiPlacementGroup + err := ctx.RegisterResource("ibmcloud:index/piPlacementGroup:PiPlacementGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiPlacementGroup gets an existing PiPlacementGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiPlacementGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiPlacementGroupState, opts ...pulumi.ResourceOption) (*PiPlacementGroup, error) { + var resource PiPlacementGroup + err := ctx.ReadResource("ibmcloud:index/piPlacementGroup:PiPlacementGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiPlacementGroup resources. +type piPlacementGroupState struct { + // The CRN of the resource. + Crn *string `pulumi:"crn"` + // The list of server instances IDs that are members of the placement group. + Members []string `pulumi:"members"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The name of the placement group. + PiPlacementGroupName *string `pulumi:"piPlacementGroupName"` + // The value of the group's affinity policy. Valid values are 'affinity' and 'anti-affinity'. + PiPlacementGroupPolicy *string `pulumi:"piPlacementGroupPolicy"` + // List of user tags attached to the resource. + PiUserTags []string `pulumi:"piUserTags"` + // The placement group ID. + PlacementGroupId *string `pulumi:"placementGroupId"` +} + +type PiPlacementGroupState struct { + // The CRN of the resource. + Crn pulumi.StringPtrInput + // The list of server instances IDs that are members of the placement group. + Members pulumi.StringArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // The name of the placement group. + PiPlacementGroupName pulumi.StringPtrInput + // The value of the group's affinity policy. Valid values are 'affinity' and 'anti-affinity'. + PiPlacementGroupPolicy pulumi.StringPtrInput + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayInput + // The placement group ID. + PlacementGroupId pulumi.StringPtrInput +} + +func (PiPlacementGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*piPlacementGroupState)(nil)).Elem() +} + +type piPlacementGroupArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // The name of the placement group. + PiPlacementGroupName string `pulumi:"piPlacementGroupName"` + // The value of the group's affinity policy. Valid values are 'affinity' and 'anti-affinity'. + PiPlacementGroupPolicy string `pulumi:"piPlacementGroupPolicy"` + // List of user tags attached to the resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiPlacementGroup resource. +type PiPlacementGroupArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // The name of the placement group. + PiPlacementGroupName pulumi.StringInput + // The value of the group's affinity policy. Valid values are 'affinity' and 'anti-affinity'. + PiPlacementGroupPolicy pulumi.StringInput + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiPlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piPlacementGroupArgs)(nil)).Elem() +} + +type PiPlacementGroupInput interface { + pulumi.Input + + ToPiPlacementGroupOutput() PiPlacementGroupOutput + ToPiPlacementGroupOutputWithContext(ctx context.Context) PiPlacementGroupOutput +} + +func (*PiPlacementGroup) ElementType() reflect.Type { + return reflect.TypeOf((**PiPlacementGroup)(nil)).Elem() +} + +func (i *PiPlacementGroup) ToPiPlacementGroupOutput() PiPlacementGroupOutput { + return i.ToPiPlacementGroupOutputWithContext(context.Background()) +} + +func (i *PiPlacementGroup) ToPiPlacementGroupOutputWithContext(ctx context.Context) PiPlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiPlacementGroupOutput) +} + +type PiPlacementGroupOutput struct{ *pulumi.OutputState } + +func (PiPlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiPlacementGroup)(nil)).Elem() +} + +func (o PiPlacementGroupOutput) ToPiPlacementGroupOutput() PiPlacementGroupOutput { + return o +} + +func (o PiPlacementGroupOutput) ToPiPlacementGroupOutputWithContext(ctx context.Context) PiPlacementGroupOutput { + return o +} + +// The CRN of the resource. +func (o PiPlacementGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiPlacementGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The list of server instances IDs that are members of the placement group. +func (o PiPlacementGroupOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiPlacementGroup) pulumi.StringArrayOutput { return v.Members }).(pulumi.StringArrayOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiPlacementGroupOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiPlacementGroup) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The name of the placement group. +func (o PiPlacementGroupOutput) PiPlacementGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *PiPlacementGroup) pulumi.StringOutput { return v.PiPlacementGroupName }).(pulumi.StringOutput) +} + +// The value of the group's affinity policy. Valid values are 'affinity' and 'anti-affinity'. +func (o PiPlacementGroupOutput) PiPlacementGroupPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *PiPlacementGroup) pulumi.StringOutput { return v.PiPlacementGroupPolicy }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o PiPlacementGroupOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiPlacementGroup) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The placement group ID. +func (o PiPlacementGroupOutput) PlacementGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiPlacementGroup) pulumi.StringOutput { return v.PlacementGroupId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiPlacementGroupInput)(nil)).Elem(), &PiPlacementGroup{}) + pulumi.RegisterOutputType(PiPlacementGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piRoute.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piRoute.go new file mode 100644 index 000000000..b0398f594 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piRoute.go @@ -0,0 +1,301 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiRoute struct { + pulumi.CustomResourceState + + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // Action for route. Valid values are "deliver". + PiAction pulumi.StringPtrOutput `pulumi:"piAction"` + // Indicates if the route is advertised. Valid values are "enable" and "disable". + PiAdvertise pulumi.StringPtrOutput `pulumi:"piAdvertise"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Destination of route. + PiDestination pulumi.StringOutput `pulumi:"piDestination"` + // The destination type. Valid values are "ipv4-address". + PiDestinationType pulumi.StringPtrOutput `pulumi:"piDestinationType"` + // Indicates if the route should be enabled in the fabric. + PiEnabled pulumi.BoolPtrOutput `pulumi:"piEnabled"` + // Name of the route. + PiName pulumi.StringOutput `pulumi:"piName"` + // The next hop. + PiNextHop pulumi.StringOutput `pulumi:"piNextHop"` + // The next hop type. Valid values are "ipv4-address". + PiNextHopType pulumi.StringPtrOutput `pulumi:"piNextHopType"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The unique route ID. + RouteId pulumi.StringOutput `pulumi:"routeId"` + // The state of the route. + State pulumi.StringOutput `pulumi:"state"` +} + +// NewPiRoute registers a new resource with the given unique name, arguments, and options. +func NewPiRoute(ctx *pulumi.Context, + name string, args *PiRouteArgs, opts ...pulumi.ResourceOption) (*PiRoute, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiDestination == nil { + return nil, errors.New("invalid value for required argument 'PiDestination'") + } + if args.PiName == nil { + return nil, errors.New("invalid value for required argument 'PiName'") + } + if args.PiNextHop == nil { + return nil, errors.New("invalid value for required argument 'PiNextHop'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiRoute + err := ctx.RegisterResource("ibmcloud:index/piRoute:PiRoute", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiRoute gets an existing PiRoute resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiRoute(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiRouteState, opts ...pulumi.ResourceOption) (*PiRoute, error) { + var resource PiRoute + err := ctx.ReadResource("ibmcloud:index/piRoute:PiRoute", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiRoute resources. +type piRouteState struct { + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // Action for route. Valid values are "deliver". + PiAction *string `pulumi:"piAction"` + // Indicates if the route is advertised. Valid values are "enable" and "disable". + PiAdvertise *string `pulumi:"piAdvertise"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Destination of route. + PiDestination *string `pulumi:"piDestination"` + // The destination type. Valid values are "ipv4-address". + PiDestinationType *string `pulumi:"piDestinationType"` + // Indicates if the route should be enabled in the fabric. + PiEnabled *bool `pulumi:"piEnabled"` + // Name of the route. + PiName *string `pulumi:"piName"` + // The next hop. + PiNextHop *string `pulumi:"piNextHop"` + // The next hop type. Valid values are "ipv4-address". + PiNextHopType *string `pulumi:"piNextHopType"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The unique route ID. + RouteId *string `pulumi:"routeId"` + // The state of the route. + State *string `pulumi:"state"` +} + +type PiRouteState struct { + // The CRN of this resource. + Crn pulumi.StringPtrInput + // Action for route. Valid values are "deliver". + PiAction pulumi.StringPtrInput + // Indicates if the route is advertised. Valid values are "enable" and "disable". + PiAdvertise pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Destination of route. + PiDestination pulumi.StringPtrInput + // The destination type. Valid values are "ipv4-address". + PiDestinationType pulumi.StringPtrInput + // Indicates if the route should be enabled in the fabric. + PiEnabled pulumi.BoolPtrInput + // Name of the route. + PiName pulumi.StringPtrInput + // The next hop. + PiNextHop pulumi.StringPtrInput + // The next hop type. Valid values are "ipv4-address". + PiNextHopType pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The unique route ID. + RouteId pulumi.StringPtrInput + // The state of the route. + State pulumi.StringPtrInput +} + +func (PiRouteState) ElementType() reflect.Type { + return reflect.TypeOf((*piRouteState)(nil)).Elem() +} + +type piRouteArgs struct { + // Action for route. Valid values are "deliver". + PiAction *string `pulumi:"piAction"` + // Indicates if the route is advertised. Valid values are "enable" and "disable". + PiAdvertise *string `pulumi:"piAdvertise"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Destination of route. + PiDestination string `pulumi:"piDestination"` + // The destination type. Valid values are "ipv4-address". + PiDestinationType *string `pulumi:"piDestinationType"` + // Indicates if the route should be enabled in the fabric. + PiEnabled *bool `pulumi:"piEnabled"` + // Name of the route. + PiName string `pulumi:"piName"` + // The next hop. + PiNextHop string `pulumi:"piNextHop"` + // The next hop type. Valid values are "ipv4-address". + PiNextHopType *string `pulumi:"piNextHopType"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiRoute resource. +type PiRouteArgs struct { + // Action for route. Valid values are "deliver". + PiAction pulumi.StringPtrInput + // Indicates if the route is advertised. Valid values are "enable" and "disable". + PiAdvertise pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Destination of route. + PiDestination pulumi.StringInput + // The destination type. Valid values are "ipv4-address". + PiDestinationType pulumi.StringPtrInput + // Indicates if the route should be enabled in the fabric. + PiEnabled pulumi.BoolPtrInput + // Name of the route. + PiName pulumi.StringInput + // The next hop. + PiNextHop pulumi.StringInput + // The next hop type. Valid values are "ipv4-address". + PiNextHopType pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piRouteArgs)(nil)).Elem() +} + +type PiRouteInput interface { + pulumi.Input + + ToPiRouteOutput() PiRouteOutput + ToPiRouteOutputWithContext(ctx context.Context) PiRouteOutput +} + +func (*PiRoute) ElementType() reflect.Type { + return reflect.TypeOf((**PiRoute)(nil)).Elem() +} + +func (i *PiRoute) ToPiRouteOutput() PiRouteOutput { + return i.ToPiRouteOutputWithContext(context.Background()) +} + +func (i *PiRoute) ToPiRouteOutputWithContext(ctx context.Context) PiRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiRouteOutput) +} + +type PiRouteOutput struct{ *pulumi.OutputState } + +func (PiRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiRoute)(nil)).Elem() +} + +func (o PiRouteOutput) ToPiRouteOutput() PiRouteOutput { + return o +} + +func (o PiRouteOutput) ToPiRouteOutputWithContext(ctx context.Context) PiRouteOutput { + return o +} + +// The CRN of this resource. +func (o PiRouteOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Action for route. Valid values are "deliver". +func (o PiRouteOutput) PiAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringPtrOutput { return v.PiAction }).(pulumi.StringPtrOutput) +} + +// Indicates if the route is advertised. Valid values are "enable" and "disable". +func (o PiRouteOutput) PiAdvertise() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringPtrOutput { return v.PiAdvertise }).(pulumi.StringPtrOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiRouteOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Destination of route. +func (o PiRouteOutput) PiDestination() pulumi.StringOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringOutput { return v.PiDestination }).(pulumi.StringOutput) +} + +// The destination type. Valid values are "ipv4-address". +func (o PiRouteOutput) PiDestinationType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringPtrOutput { return v.PiDestinationType }).(pulumi.StringPtrOutput) +} + +// Indicates if the route should be enabled in the fabric. +func (o PiRouteOutput) PiEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiRoute) pulumi.BoolPtrOutput { return v.PiEnabled }).(pulumi.BoolPtrOutput) +} + +// Name of the route. +func (o PiRouteOutput) PiName() pulumi.StringOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringOutput { return v.PiName }).(pulumi.StringOutput) +} + +// The next hop. +func (o PiRouteOutput) PiNextHop() pulumi.StringOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringOutput { return v.PiNextHop }).(pulumi.StringOutput) +} + +// The next hop type. Valid values are "ipv4-address". +func (o PiRouteOutput) PiNextHopType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringPtrOutput { return v.PiNextHopType }).(pulumi.StringPtrOutput) +} + +// The user tags attached to this resource. +func (o PiRouteOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The unique route ID. +func (o PiRouteOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringOutput { return v.RouteId }).(pulumi.StringOutput) +} + +// The state of the route. +func (o PiRouteOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *PiRoute) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiRouteInput)(nil)).Elem(), &PiRoute{}) + pulumi.RegisterOutputType(PiRouteOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSharedProcessorPool.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSharedProcessorPool.go new file mode 100644 index 000000000..87f04037f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSharedProcessorPool.go @@ -0,0 +1,387 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiSharedProcessorPool struct { + pulumi.CustomResourceState + + // The allocated cores in the shared processor pool. + AllocatedCores pulumi.Float64Output `pulumi:"allocatedCores"` + // The available cores in the shared processor pool. + AvailableCores pulumi.IntOutput `pulumi:"availableCores"` + // Date of shared processor pool creation. + CreationDate pulumi.StringOutput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId pulumi.StringOutput `pulumi:"dedicatedHostId"` + // The host ID where the shared processor pool resides. + HostId pulumi.IntOutput `pulumi:"hostId"` + // The list of server instances that are deployed in the shared processor pool. + Instances PiSharedProcessorPoolInstanceArrayOutput `pulumi:"instances"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The host id of a host in a host group (only available for dedicated hosts). + PiHostId pulumi.StringPtrOutput `pulumi:"piHostId"` + // Host group of the shared processor pool. Valid values are 'e980', 'e1080', 'e1180', 's922', 's1022' and 's1122'. + PiSharedProcessorPoolHostGroup pulumi.StringOutput `pulumi:"piSharedProcessorPoolHostGroup"` + // The name of the shared processor pool. + PiSharedProcessorPoolName pulumi.StringOutput `pulumi:"piSharedProcessorPoolName"` + // The ID of the placement group the shared processor pool is created in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + PiSharedProcessorPoolPlacementGroupId pulumi.StringPtrOutput `pulumi:"piSharedProcessorPoolPlacementGroupId"` + // The list of shared processor pool placement groups that the shared processor pool is in. + PiSharedProcessorPoolPlacementGroups pulumi.StringArrayOutput `pulumi:"piSharedProcessorPoolPlacementGroups"` + // The amount of reserved cores for the shared processor pool. + PiSharedProcessorPoolReservedCores pulumi.IntOutput `pulumi:"piSharedProcessorPoolReservedCores"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The shared processor pool's unique ID. + SharedProcessorPoolId pulumi.StringOutput `pulumi:"sharedProcessorPoolId"` + // The list of shared processor pool placement groups that the shared processor pool is in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + SppPlacementGroups pulumi.StringArrayOutput `pulumi:"sppPlacementGroups"` + // The status of the shared processor pool. + Status pulumi.StringOutput `pulumi:"status"` + // The status details of the shared processor pool. + StatusDetail pulumi.StringOutput `pulumi:"statusDetail"` +} + +// NewPiSharedProcessorPool registers a new resource with the given unique name, arguments, and options. +func NewPiSharedProcessorPool(ctx *pulumi.Context, + name string, args *PiSharedProcessorPoolArgs, opts ...pulumi.ResourceOption) (*PiSharedProcessorPool, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiSharedProcessorPoolHostGroup == nil { + return nil, errors.New("invalid value for required argument 'PiSharedProcessorPoolHostGroup'") + } + if args.PiSharedProcessorPoolName == nil { + return nil, errors.New("invalid value for required argument 'PiSharedProcessorPoolName'") + } + if args.PiSharedProcessorPoolReservedCores == nil { + return nil, errors.New("invalid value for required argument 'PiSharedProcessorPoolReservedCores'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiSharedProcessorPool + err := ctx.RegisterResource("ibmcloud:index/piSharedProcessorPool:PiSharedProcessorPool", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiSharedProcessorPool gets an existing PiSharedProcessorPool resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiSharedProcessorPool(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiSharedProcessorPoolState, opts ...pulumi.ResourceOption) (*PiSharedProcessorPool, error) { + var resource PiSharedProcessorPool + err := ctx.ReadResource("ibmcloud:index/piSharedProcessorPool:PiSharedProcessorPool", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiSharedProcessorPool resources. +type piSharedProcessorPoolState struct { + // The allocated cores in the shared processor pool. + AllocatedCores *float64 `pulumi:"allocatedCores"` + // The available cores in the shared processor pool. + AvailableCores *int `pulumi:"availableCores"` + // Date of shared processor pool creation. + CreationDate *string `pulumi:"creationDate"` + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId *string `pulumi:"dedicatedHostId"` + // The host ID where the shared processor pool resides. + HostId *int `pulumi:"hostId"` + // The list of server instances that are deployed in the shared processor pool. + Instances []PiSharedProcessorPoolInstance `pulumi:"instances"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The host id of a host in a host group (only available for dedicated hosts). + PiHostId *string `pulumi:"piHostId"` + // Host group of the shared processor pool. Valid values are 'e980', 'e1080', 'e1180', 's922', 's1022' and 's1122'. + PiSharedProcessorPoolHostGroup *string `pulumi:"piSharedProcessorPoolHostGroup"` + // The name of the shared processor pool. + PiSharedProcessorPoolName *string `pulumi:"piSharedProcessorPoolName"` + // The ID of the placement group the shared processor pool is created in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + PiSharedProcessorPoolPlacementGroupId *string `pulumi:"piSharedProcessorPoolPlacementGroupId"` + // The list of shared processor pool placement groups that the shared processor pool is in. + PiSharedProcessorPoolPlacementGroups []string `pulumi:"piSharedProcessorPoolPlacementGroups"` + // The amount of reserved cores for the shared processor pool. + PiSharedProcessorPoolReservedCores *int `pulumi:"piSharedProcessorPoolReservedCores"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The shared processor pool's unique ID. + SharedProcessorPoolId *string `pulumi:"sharedProcessorPoolId"` + // The list of shared processor pool placement groups that the shared processor pool is in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + SppPlacementGroups []string `pulumi:"sppPlacementGroups"` + // The status of the shared processor pool. + Status *string `pulumi:"status"` + // The status details of the shared processor pool. + StatusDetail *string `pulumi:"statusDetail"` +} + +type PiSharedProcessorPoolState struct { + // The allocated cores in the shared processor pool. + AllocatedCores pulumi.Float64PtrInput + // The available cores in the shared processor pool. + AvailableCores pulumi.IntPtrInput + // Date of shared processor pool creation. + CreationDate pulumi.StringPtrInput + // The CRN of this resource. + Crn pulumi.StringPtrInput + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId pulumi.StringPtrInput + // The host ID where the shared processor pool resides. + HostId pulumi.IntPtrInput + // The list of server instances that are deployed in the shared processor pool. + Instances PiSharedProcessorPoolInstanceArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // The host id of a host in a host group (only available for dedicated hosts). + PiHostId pulumi.StringPtrInput + // Host group of the shared processor pool. Valid values are 'e980', 'e1080', 'e1180', 's922', 's1022' and 's1122'. + PiSharedProcessorPoolHostGroup pulumi.StringPtrInput + // The name of the shared processor pool. + PiSharedProcessorPoolName pulumi.StringPtrInput + // The ID of the placement group the shared processor pool is created in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + PiSharedProcessorPoolPlacementGroupId pulumi.StringPtrInput + // The list of shared processor pool placement groups that the shared processor pool is in. + PiSharedProcessorPoolPlacementGroups pulumi.StringArrayInput + // The amount of reserved cores for the shared processor pool. + PiSharedProcessorPoolReservedCores pulumi.IntPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The shared processor pool's unique ID. + SharedProcessorPoolId pulumi.StringPtrInput + // The list of shared processor pool placement groups that the shared processor pool is in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + SppPlacementGroups pulumi.StringArrayInput + // The status of the shared processor pool. + Status pulumi.StringPtrInput + // The status details of the shared processor pool. + StatusDetail pulumi.StringPtrInput +} + +func (PiSharedProcessorPoolState) ElementType() reflect.Type { + return reflect.TypeOf((*piSharedProcessorPoolState)(nil)).Elem() +} + +type piSharedProcessorPoolArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // The host id of a host in a host group (only available for dedicated hosts). + PiHostId *string `pulumi:"piHostId"` + // Host group of the shared processor pool. Valid values are 'e980', 'e1080', 'e1180', 's922', 's1022' and 's1122'. + PiSharedProcessorPoolHostGroup string `pulumi:"piSharedProcessorPoolHostGroup"` + // The name of the shared processor pool. + PiSharedProcessorPoolName string `pulumi:"piSharedProcessorPoolName"` + // The ID of the placement group the shared processor pool is created in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + PiSharedProcessorPoolPlacementGroupId *string `pulumi:"piSharedProcessorPoolPlacementGroupId"` + // The list of shared processor pool placement groups that the shared processor pool is in. + PiSharedProcessorPoolPlacementGroups []string `pulumi:"piSharedProcessorPoolPlacementGroups"` + // The amount of reserved cores for the shared processor pool. + PiSharedProcessorPoolReservedCores int `pulumi:"piSharedProcessorPoolReservedCores"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The list of shared processor pool placement groups that the shared processor pool is in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + SppPlacementGroups []string `pulumi:"sppPlacementGroups"` +} + +// The set of arguments for constructing a PiSharedProcessorPool resource. +type PiSharedProcessorPoolArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // The host id of a host in a host group (only available for dedicated hosts). + PiHostId pulumi.StringPtrInput + // Host group of the shared processor pool. Valid values are 'e980', 'e1080', 'e1180', 's922', 's1022' and 's1122'. + PiSharedProcessorPoolHostGroup pulumi.StringInput + // The name of the shared processor pool. + PiSharedProcessorPoolName pulumi.StringInput + // The ID of the placement group the shared processor pool is created in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + PiSharedProcessorPoolPlacementGroupId pulumi.StringPtrInput + // The list of shared processor pool placement groups that the shared processor pool is in. + PiSharedProcessorPoolPlacementGroups pulumi.StringArrayInput + // The amount of reserved cores for the shared processor pool. + PiSharedProcessorPoolReservedCores pulumi.IntInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The list of shared processor pool placement groups that the shared processor pool is in. + // + // Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead + SppPlacementGroups pulumi.StringArrayInput +} + +func (PiSharedProcessorPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piSharedProcessorPoolArgs)(nil)).Elem() +} + +type PiSharedProcessorPoolInput interface { + pulumi.Input + + ToPiSharedProcessorPoolOutput() PiSharedProcessorPoolOutput + ToPiSharedProcessorPoolOutputWithContext(ctx context.Context) PiSharedProcessorPoolOutput +} + +func (*PiSharedProcessorPool) ElementType() reflect.Type { + return reflect.TypeOf((**PiSharedProcessorPool)(nil)).Elem() +} + +func (i *PiSharedProcessorPool) ToPiSharedProcessorPoolOutput() PiSharedProcessorPoolOutput { + return i.ToPiSharedProcessorPoolOutputWithContext(context.Background()) +} + +func (i *PiSharedProcessorPool) ToPiSharedProcessorPoolOutputWithContext(ctx context.Context) PiSharedProcessorPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiSharedProcessorPoolOutput) +} + +type PiSharedProcessorPoolOutput struct{ *pulumi.OutputState } + +func (PiSharedProcessorPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiSharedProcessorPool)(nil)).Elem() +} + +func (o PiSharedProcessorPoolOutput) ToPiSharedProcessorPoolOutput() PiSharedProcessorPoolOutput { + return o +} + +func (o PiSharedProcessorPoolOutput) ToPiSharedProcessorPoolOutputWithContext(ctx context.Context) PiSharedProcessorPoolOutput { + return o +} + +// The allocated cores in the shared processor pool. +func (o PiSharedProcessorPoolOutput) AllocatedCores() pulumi.Float64Output { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.Float64Output { return v.AllocatedCores }).(pulumi.Float64Output) +} + +// The available cores in the shared processor pool. +func (o PiSharedProcessorPoolOutput) AvailableCores() pulumi.IntOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.IntOutput { return v.AvailableCores }).(pulumi.IntOutput) +} + +// Date of shared processor pool creation. +func (o PiSharedProcessorPoolOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o PiSharedProcessorPoolOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The dedicated host ID where the shared processor pool resides. +func (o PiSharedProcessorPoolOutput) DedicatedHostId() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.DedicatedHostId }).(pulumi.StringOutput) +} + +// The host ID where the shared processor pool resides. +func (o PiSharedProcessorPoolOutput) HostId() pulumi.IntOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.IntOutput { return v.HostId }).(pulumi.IntOutput) +} + +// The list of server instances that are deployed in the shared processor pool. +func (o PiSharedProcessorPoolOutput) Instances() PiSharedProcessorPoolInstanceArrayOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) PiSharedProcessorPoolInstanceArrayOutput { return v.Instances }).(PiSharedProcessorPoolInstanceArrayOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiSharedProcessorPoolOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The host id of a host in a host group (only available for dedicated hosts). +func (o PiSharedProcessorPoolOutput) PiHostId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringPtrOutput { return v.PiHostId }).(pulumi.StringPtrOutput) +} + +// Host group of the shared processor pool. Valid values are 'e980', 'e1080', 'e1180', 's922', 's1022' and 's1122'. +func (o PiSharedProcessorPoolOutput) PiSharedProcessorPoolHostGroup() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.PiSharedProcessorPoolHostGroup }).(pulumi.StringOutput) +} + +// The name of the shared processor pool. +func (o PiSharedProcessorPoolOutput) PiSharedProcessorPoolName() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.PiSharedProcessorPoolName }).(pulumi.StringOutput) +} + +// The ID of the placement group the shared processor pool is created in. +// +// Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead +func (o PiSharedProcessorPoolOutput) PiSharedProcessorPoolPlacementGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringPtrOutput { return v.PiSharedProcessorPoolPlacementGroupId }).(pulumi.StringPtrOutput) +} + +// The list of shared processor pool placement groups that the shared processor pool is in. +func (o PiSharedProcessorPoolOutput) PiSharedProcessorPoolPlacementGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringArrayOutput { return v.PiSharedProcessorPoolPlacementGroups }).(pulumi.StringArrayOutput) +} + +// The amount of reserved cores for the shared processor pool. +func (o PiSharedProcessorPoolOutput) PiSharedProcessorPoolReservedCores() pulumi.IntOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.IntOutput { return v.PiSharedProcessorPoolReservedCores }).(pulumi.IntOutput) +} + +// The user tags attached to this resource. +func (o PiSharedProcessorPoolOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The shared processor pool's unique ID. +func (o PiSharedProcessorPoolOutput) SharedProcessorPoolId() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.SharedProcessorPoolId }).(pulumi.StringOutput) +} + +// The list of shared processor pool placement groups that the shared processor pool is in. +// +// Deprecated: This field is deprecated, use piSharedProcessorPoolPlacementGroups instead +func (o PiSharedProcessorPoolOutput) SppPlacementGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringArrayOutput { return v.SppPlacementGroups }).(pulumi.StringArrayOutput) +} + +// The status of the shared processor pool. +func (o PiSharedProcessorPoolOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The status details of the shared processor pool. +func (o PiSharedProcessorPoolOutput) StatusDetail() pulumi.StringOutput { + return o.ApplyT(func(v *PiSharedProcessorPool) pulumi.StringOutput { return v.StatusDetail }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiSharedProcessorPoolInput)(nil)).Elem(), &PiSharedProcessorPool{}) + pulumi.RegisterOutputType(PiSharedProcessorPoolOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSnapshot.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSnapshot.go new file mode 100644 index 000000000..03b6e189d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSnapshot.go @@ -0,0 +1,271 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiSnapshot struct { + pulumi.CustomResourceState + + // Creation date of the snapshot. + CreationDate pulumi.StringOutput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // The last updated date of the snapshot. + LastUpdateDate pulumi.StringOutput `pulumi:"lastUpdateDate"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Description of the PVM instance snapshot. + PiDescription pulumi.StringPtrOutput `pulumi:"piDescription"` + // The name of the instance you want to take a snapshot of. + PiInstanceName pulumi.StringOutput `pulumi:"piInstanceName"` + // The unique name of the snapshot. + PiSnapShotName pulumi.StringOutput `pulumi:"piSnapShotName"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds pulumi.StringArrayOutput `pulumi:"piVolumeIds"` + // ID of the PVM instance snapshot. + SnapshotId pulumi.StringOutput `pulumi:"snapshotId"` + // Status of the PVM instance snapshot. + Status pulumi.StringOutput `pulumi:"status"` + // A map of volume snapshots included in the PVM instance snapshot. + VolumeSnapshots pulumi.StringMapOutput `pulumi:"volumeSnapshots"` +} + +// NewPiSnapshot registers a new resource with the given unique name, arguments, and options. +func NewPiSnapshot(ctx *pulumi.Context, + name string, args *PiSnapshotArgs, opts ...pulumi.ResourceOption) (*PiSnapshot, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiInstanceName == nil { + return nil, errors.New("invalid value for required argument 'PiInstanceName'") + } + if args.PiSnapShotName == nil { + return nil, errors.New("invalid value for required argument 'PiSnapShotName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiSnapshot + err := ctx.RegisterResource("ibmcloud:index/piSnapshot:PiSnapshot", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiSnapshot gets an existing PiSnapshot resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiSnapshot(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiSnapshotState, opts ...pulumi.ResourceOption) (*PiSnapshot, error) { + var resource PiSnapshot + err := ctx.ReadResource("ibmcloud:index/piSnapshot:PiSnapshot", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiSnapshot resources. +type piSnapshotState struct { + // Creation date of the snapshot. + CreationDate *string `pulumi:"creationDate"` + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // The last updated date of the snapshot. + LastUpdateDate *string `pulumi:"lastUpdateDate"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Description of the PVM instance snapshot. + PiDescription *string `pulumi:"piDescription"` + // The name of the instance you want to take a snapshot of. + PiInstanceName *string `pulumi:"piInstanceName"` + // The unique name of the snapshot. + PiSnapShotName *string `pulumi:"piSnapShotName"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds []string `pulumi:"piVolumeIds"` + // ID of the PVM instance snapshot. + SnapshotId *string `pulumi:"snapshotId"` + // Status of the PVM instance snapshot. + Status *string `pulumi:"status"` + // A map of volume snapshots included in the PVM instance snapshot. + VolumeSnapshots map[string]string `pulumi:"volumeSnapshots"` +} + +type PiSnapshotState struct { + // Creation date of the snapshot. + CreationDate pulumi.StringPtrInput + // The CRN of this resource. + Crn pulumi.StringPtrInput + // The last updated date of the snapshot. + LastUpdateDate pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Description of the PVM instance snapshot. + PiDescription pulumi.StringPtrInput + // The name of the instance you want to take a snapshot of. + PiInstanceName pulumi.StringPtrInput + // The unique name of the snapshot. + PiSnapShotName pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds pulumi.StringArrayInput + // ID of the PVM instance snapshot. + SnapshotId pulumi.StringPtrInput + // Status of the PVM instance snapshot. + Status pulumi.StringPtrInput + // A map of volume snapshots included in the PVM instance snapshot. + VolumeSnapshots pulumi.StringMapInput +} + +func (PiSnapshotState) ElementType() reflect.Type { + return reflect.TypeOf((*piSnapshotState)(nil)).Elem() +} + +type piSnapshotArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Description of the PVM instance snapshot. + PiDescription *string `pulumi:"piDescription"` + // The name of the instance you want to take a snapshot of. + PiInstanceName string `pulumi:"piInstanceName"` + // The unique name of the snapshot. + PiSnapShotName string `pulumi:"piSnapShotName"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds []string `pulumi:"piVolumeIds"` +} + +// The set of arguments for constructing a PiSnapshot resource. +type PiSnapshotArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Description of the PVM instance snapshot. + PiDescription pulumi.StringPtrInput + // The name of the instance you want to take a snapshot of. + PiInstanceName pulumi.StringInput + // The unique name of the snapshot. + PiSnapShotName pulumi.StringInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. + PiVolumeIds pulumi.StringArrayInput +} + +func (PiSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piSnapshotArgs)(nil)).Elem() +} + +type PiSnapshotInput interface { + pulumi.Input + + ToPiSnapshotOutput() PiSnapshotOutput + ToPiSnapshotOutputWithContext(ctx context.Context) PiSnapshotOutput +} + +func (*PiSnapshot) ElementType() reflect.Type { + return reflect.TypeOf((**PiSnapshot)(nil)).Elem() +} + +func (i *PiSnapshot) ToPiSnapshotOutput() PiSnapshotOutput { + return i.ToPiSnapshotOutputWithContext(context.Background()) +} + +func (i *PiSnapshot) ToPiSnapshotOutputWithContext(ctx context.Context) PiSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiSnapshotOutput) +} + +type PiSnapshotOutput struct{ *pulumi.OutputState } + +func (PiSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiSnapshot)(nil)).Elem() +} + +func (o PiSnapshotOutput) ToPiSnapshotOutput() PiSnapshotOutput { + return o +} + +func (o PiSnapshotOutput) ToPiSnapshotOutputWithContext(ctx context.Context) PiSnapshotOutput { + return o +} + +// Creation date of the snapshot. +func (o PiSnapshotOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o PiSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The last updated date of the snapshot. +func (o PiSnapshotOutput) LastUpdateDate() pulumi.StringOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringOutput { return v.LastUpdateDate }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiSnapshotOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Description of the PVM instance snapshot. +func (o PiSnapshotOutput) PiDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringPtrOutput { return v.PiDescription }).(pulumi.StringPtrOutput) +} + +// The name of the instance you want to take a snapshot of. +func (o PiSnapshotOutput) PiInstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringOutput { return v.PiInstanceName }).(pulumi.StringOutput) +} + +// The unique name of the snapshot. +func (o PiSnapshotOutput) PiSnapShotName() pulumi.StringOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringOutput { return v.PiSnapShotName }).(pulumi.StringOutput) +} + +// The user tags attached to this resource. +func (o PiSnapshotOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// A list of volume IDs of the instance that will be part of the snapshot. If none are provided, then all the volumes of the instance will be part of the snapshot. +func (o PiSnapshotOutput) PiVolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringArrayOutput { return v.PiVolumeIds }).(pulumi.StringArrayOutput) +} + +// ID of the PVM instance snapshot. +func (o PiSnapshotOutput) SnapshotId() pulumi.StringOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringOutput { return v.SnapshotId }).(pulumi.StringOutput) +} + +// Status of the PVM instance snapshot. +func (o PiSnapshotOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// A map of volume snapshots included in the PVM instance snapshot. +func (o PiSnapshotOutput) VolumeSnapshots() pulumi.StringMapOutput { + return o.ApplyT(func(v *PiSnapshot) pulumi.StringMapOutput { return v.VolumeSnapshots }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiSnapshotInput)(nil)).Elem(), &PiSnapshot{}) + pulumi.RegisterOutputType(PiSnapshotOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSppPlacementGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSppPlacementGroup.go new file mode 100644 index 000000000..826c203b7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piSppPlacementGroup.go @@ -0,0 +1,208 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiSppPlacementGroup struct { + pulumi.CustomResourceState + + // The CRN of the resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // Member SPP IDs that are the SPP placement group members + Members pulumi.StringArrayOutput `pulumi:"members"` + // PI cloud instance ID + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Name of the SPP placement group + PiSppPlacementGroupName pulumi.StringOutput `pulumi:"piSppPlacementGroupName"` + // Policy of the SPP placement group + PiSppPlacementGroupPolicy pulumi.StringOutput `pulumi:"piSppPlacementGroupPolicy"` + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // SPP placement group ID + SppPlacementGroupId pulumi.StringOutput `pulumi:"sppPlacementGroupId"` +} + +// NewPiSppPlacementGroup registers a new resource with the given unique name, arguments, and options. +func NewPiSppPlacementGroup(ctx *pulumi.Context, + name string, args *PiSppPlacementGroupArgs, opts ...pulumi.ResourceOption) (*PiSppPlacementGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiSppPlacementGroupName == nil { + return nil, errors.New("invalid value for required argument 'PiSppPlacementGroupName'") + } + if args.PiSppPlacementGroupPolicy == nil { + return nil, errors.New("invalid value for required argument 'PiSppPlacementGroupPolicy'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiSppPlacementGroup + err := ctx.RegisterResource("ibmcloud:index/piSppPlacementGroup:PiSppPlacementGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiSppPlacementGroup gets an existing PiSppPlacementGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiSppPlacementGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiSppPlacementGroupState, opts ...pulumi.ResourceOption) (*PiSppPlacementGroup, error) { + var resource PiSppPlacementGroup + err := ctx.ReadResource("ibmcloud:index/piSppPlacementGroup:PiSppPlacementGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiSppPlacementGroup resources. +type piSppPlacementGroupState struct { + // The CRN of the resource. + Crn *string `pulumi:"crn"` + // Member SPP IDs that are the SPP placement group members + Members []string `pulumi:"members"` + // PI cloud instance ID + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Name of the SPP placement group + PiSppPlacementGroupName *string `pulumi:"piSppPlacementGroupName"` + // Policy of the SPP placement group + PiSppPlacementGroupPolicy *string `pulumi:"piSppPlacementGroupPolicy"` + // List of user tags attached to the resource. + PiUserTags []string `pulumi:"piUserTags"` + // SPP placement group ID + SppPlacementGroupId *string `pulumi:"sppPlacementGroupId"` +} + +type PiSppPlacementGroupState struct { + // The CRN of the resource. + Crn pulumi.StringPtrInput + // Member SPP IDs that are the SPP placement group members + Members pulumi.StringArrayInput + // PI cloud instance ID + PiCloudInstanceId pulumi.StringPtrInput + // Name of the SPP placement group + PiSppPlacementGroupName pulumi.StringPtrInput + // Policy of the SPP placement group + PiSppPlacementGroupPolicy pulumi.StringPtrInput + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayInput + // SPP placement group ID + SppPlacementGroupId pulumi.StringPtrInput +} + +func (PiSppPlacementGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*piSppPlacementGroupState)(nil)).Elem() +} + +type piSppPlacementGroupArgs struct { + // PI cloud instance ID + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Name of the SPP placement group + PiSppPlacementGroupName string `pulumi:"piSppPlacementGroupName"` + // Policy of the SPP placement group + PiSppPlacementGroupPolicy string `pulumi:"piSppPlacementGroupPolicy"` + // List of user tags attached to the resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiSppPlacementGroup resource. +type PiSppPlacementGroupArgs struct { + // PI cloud instance ID + PiCloudInstanceId pulumi.StringInput + // Name of the SPP placement group + PiSppPlacementGroupName pulumi.StringInput + // Policy of the SPP placement group + PiSppPlacementGroupPolicy pulumi.StringInput + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiSppPlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piSppPlacementGroupArgs)(nil)).Elem() +} + +type PiSppPlacementGroupInput interface { + pulumi.Input + + ToPiSppPlacementGroupOutput() PiSppPlacementGroupOutput + ToPiSppPlacementGroupOutputWithContext(ctx context.Context) PiSppPlacementGroupOutput +} + +func (*PiSppPlacementGroup) ElementType() reflect.Type { + return reflect.TypeOf((**PiSppPlacementGroup)(nil)).Elem() +} + +func (i *PiSppPlacementGroup) ToPiSppPlacementGroupOutput() PiSppPlacementGroupOutput { + return i.ToPiSppPlacementGroupOutputWithContext(context.Background()) +} + +func (i *PiSppPlacementGroup) ToPiSppPlacementGroupOutputWithContext(ctx context.Context) PiSppPlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiSppPlacementGroupOutput) +} + +type PiSppPlacementGroupOutput struct{ *pulumi.OutputState } + +func (PiSppPlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiSppPlacementGroup)(nil)).Elem() +} + +func (o PiSppPlacementGroupOutput) ToPiSppPlacementGroupOutput() PiSppPlacementGroupOutput { + return o +} + +func (o PiSppPlacementGroupOutput) ToPiSppPlacementGroupOutputWithContext(ctx context.Context) PiSppPlacementGroupOutput { + return o +} + +// The CRN of the resource. +func (o PiSppPlacementGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiSppPlacementGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Member SPP IDs that are the SPP placement group members +func (o PiSppPlacementGroupOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiSppPlacementGroup) pulumi.StringArrayOutput { return v.Members }).(pulumi.StringArrayOutput) +} + +// PI cloud instance ID +func (o PiSppPlacementGroupOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiSppPlacementGroup) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Name of the SPP placement group +func (o PiSppPlacementGroupOutput) PiSppPlacementGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *PiSppPlacementGroup) pulumi.StringOutput { return v.PiSppPlacementGroupName }).(pulumi.StringOutput) +} + +// Policy of the SPP placement group +func (o PiSppPlacementGroupOutput) PiSppPlacementGroupPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *PiSppPlacementGroup) pulumi.StringOutput { return v.PiSppPlacementGroupPolicy }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o PiSppPlacementGroupOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiSppPlacementGroup) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// SPP placement group ID +func (o PiSppPlacementGroupOutput) SppPlacementGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiSppPlacementGroup) pulumi.StringOutput { return v.SppPlacementGroupId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiSppPlacementGroupInput)(nil)).Elem(), &PiSppPlacementGroup{}) + pulumi.RegisterOutputType(PiSppPlacementGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVirtualSerialNumber.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVirtualSerialNumber.go new file mode 100644 index 000000000..b9741bb25 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVirtualSerialNumber.go @@ -0,0 +1,202 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiVirtualSerialNumber struct { + pulumi.CustomResourceState + + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Description of virtual serial number. + PiDescription pulumi.StringOutput `pulumi:"piDescription"` + // PVM Instance to attach VSN to. + PiInstanceId pulumi.StringPtrOutput `pulumi:"piInstanceId"` + // Indicates whether to retain virtual serial number after unassigning from PVM instance during deletion. + PiRetainVirtualSerialNumber pulumi.BoolPtrOutput `pulumi:"piRetainVirtualSerialNumber"` + // Virtual serial number. + PiSerial pulumi.StringOutput `pulumi:"piSerial"` + // Software tier for virtual serial number. + PiSoftwareTier pulumi.StringOutput `pulumi:"piSoftwareTier"` +} + +// NewPiVirtualSerialNumber registers a new resource with the given unique name, arguments, and options. +func NewPiVirtualSerialNumber(ctx *pulumi.Context, + name string, args *PiVirtualSerialNumberArgs, opts ...pulumi.ResourceOption) (*PiVirtualSerialNumber, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiSerial == nil { + return nil, errors.New("invalid value for required argument 'PiSerial'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiVirtualSerialNumber + err := ctx.RegisterResource("ibmcloud:index/piVirtualSerialNumber:PiVirtualSerialNumber", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiVirtualSerialNumber gets an existing PiVirtualSerialNumber resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiVirtualSerialNumber(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiVirtualSerialNumberState, opts ...pulumi.ResourceOption) (*PiVirtualSerialNumber, error) { + var resource PiVirtualSerialNumber + err := ctx.ReadResource("ibmcloud:index/piVirtualSerialNumber:PiVirtualSerialNumber", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiVirtualSerialNumber resources. +type piVirtualSerialNumberState struct { + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Description of virtual serial number. + PiDescription *string `pulumi:"piDescription"` + // PVM Instance to attach VSN to. + PiInstanceId *string `pulumi:"piInstanceId"` + // Indicates whether to retain virtual serial number after unassigning from PVM instance during deletion. + PiRetainVirtualSerialNumber *bool `pulumi:"piRetainVirtualSerialNumber"` + // Virtual serial number. + PiSerial *string `pulumi:"piSerial"` + // Software tier for virtual serial number. + PiSoftwareTier *string `pulumi:"piSoftwareTier"` +} + +type PiVirtualSerialNumberState struct { + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId pulumi.StringPtrInput + // Description of virtual serial number. + PiDescription pulumi.StringPtrInput + // PVM Instance to attach VSN to. + PiInstanceId pulumi.StringPtrInput + // Indicates whether to retain virtual serial number after unassigning from PVM instance during deletion. + PiRetainVirtualSerialNumber pulumi.BoolPtrInput + // Virtual serial number. + PiSerial pulumi.StringPtrInput + // Software tier for virtual serial number. + PiSoftwareTier pulumi.StringPtrInput +} + +func (PiVirtualSerialNumberState) ElementType() reflect.Type { + return reflect.TypeOf((*piVirtualSerialNumberState)(nil)).Elem() +} + +type piVirtualSerialNumberArgs struct { + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Description of virtual serial number. + PiDescription *string `pulumi:"piDescription"` + // PVM Instance to attach VSN to. + PiInstanceId *string `pulumi:"piInstanceId"` + // Indicates whether to retain virtual serial number after unassigning from PVM instance during deletion. + PiRetainVirtualSerialNumber *bool `pulumi:"piRetainVirtualSerialNumber"` + // Virtual serial number. + PiSerial string `pulumi:"piSerial"` + // Software tier for virtual serial number. + PiSoftwareTier *string `pulumi:"piSoftwareTier"` +} + +// The set of arguments for constructing a PiVirtualSerialNumber resource. +type PiVirtualSerialNumberArgs struct { + // This is the Power Instance id that is assigned to the account + PiCloudInstanceId pulumi.StringInput + // Description of virtual serial number. + PiDescription pulumi.StringPtrInput + // PVM Instance to attach VSN to. + PiInstanceId pulumi.StringPtrInput + // Indicates whether to retain virtual serial number after unassigning from PVM instance during deletion. + PiRetainVirtualSerialNumber pulumi.BoolPtrInput + // Virtual serial number. + PiSerial pulumi.StringInput + // Software tier for virtual serial number. + PiSoftwareTier pulumi.StringPtrInput +} + +func (PiVirtualSerialNumberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piVirtualSerialNumberArgs)(nil)).Elem() +} + +type PiVirtualSerialNumberInput interface { + pulumi.Input + + ToPiVirtualSerialNumberOutput() PiVirtualSerialNumberOutput + ToPiVirtualSerialNumberOutputWithContext(ctx context.Context) PiVirtualSerialNumberOutput +} + +func (*PiVirtualSerialNumber) ElementType() reflect.Type { + return reflect.TypeOf((**PiVirtualSerialNumber)(nil)).Elem() +} + +func (i *PiVirtualSerialNumber) ToPiVirtualSerialNumberOutput() PiVirtualSerialNumberOutput { + return i.ToPiVirtualSerialNumberOutputWithContext(context.Background()) +} + +func (i *PiVirtualSerialNumber) ToPiVirtualSerialNumberOutputWithContext(ctx context.Context) PiVirtualSerialNumberOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVirtualSerialNumberOutput) +} + +type PiVirtualSerialNumberOutput struct{ *pulumi.OutputState } + +func (PiVirtualSerialNumberOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVirtualSerialNumber)(nil)).Elem() +} + +func (o PiVirtualSerialNumberOutput) ToPiVirtualSerialNumberOutput() PiVirtualSerialNumberOutput { + return o +} + +func (o PiVirtualSerialNumberOutput) ToPiVirtualSerialNumberOutputWithContext(ctx context.Context) PiVirtualSerialNumberOutput { + return o +} + +// This is the Power Instance id that is assigned to the account +func (o PiVirtualSerialNumberOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVirtualSerialNumber) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Description of virtual serial number. +func (o PiVirtualSerialNumberOutput) PiDescription() pulumi.StringOutput { + return o.ApplyT(func(v *PiVirtualSerialNumber) pulumi.StringOutput { return v.PiDescription }).(pulumi.StringOutput) +} + +// PVM Instance to attach VSN to. +func (o PiVirtualSerialNumberOutput) PiInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVirtualSerialNumber) pulumi.StringPtrOutput { return v.PiInstanceId }).(pulumi.StringPtrOutput) +} + +// Indicates whether to retain virtual serial number after unassigning from PVM instance during deletion. +func (o PiVirtualSerialNumberOutput) PiRetainVirtualSerialNumber() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiVirtualSerialNumber) pulumi.BoolPtrOutput { return v.PiRetainVirtualSerialNumber }).(pulumi.BoolPtrOutput) +} + +// Virtual serial number. +func (o PiVirtualSerialNumberOutput) PiSerial() pulumi.StringOutput { + return o.ApplyT(func(v *PiVirtualSerialNumber) pulumi.StringOutput { return v.PiSerial }).(pulumi.StringOutput) +} + +// Software tier for virtual serial number. +func (o PiVirtualSerialNumberOutput) PiSoftwareTier() pulumi.StringOutput { + return o.ApplyT(func(v *PiVirtualSerialNumber) pulumi.StringOutput { return v.PiSoftwareTier }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiVirtualSerialNumberInput)(nil)).Elem(), &PiVirtualSerialNumber{}) + pulumi.RegisterOutputType(PiVirtualSerialNumberOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolume.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolume.go new file mode 100644 index 000000000..207461a27 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolume.go @@ -0,0 +1,512 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiVolume struct { + pulumi.CustomResourceState + + // Indicates if the volume is auxiliary or not. + Auxiliary pulumi.BoolOutput `pulumi:"auxiliary"` + // The auxiliary volume name. + AuxiliaryVolumeName pulumi.StringOutput `pulumi:"auxiliaryVolumeName"` + // The consistency group name if volume is a part of volume group. + ConsistencyGroupName pulumi.StringOutput `pulumi:"consistencyGroupName"` + // The CRN of this resource. + Crn pulumi.StringOutput `pulumi:"crn"` + // Indicates if the volume should be deleted when the server terminates. + DeleteOnTermination pulumi.BoolOutput `pulumi:"deleteOnTermination"` + // The volume group id to which volume belongs. + GroupId pulumi.StringOutput `pulumi:"groupId"` + // Amount of iops assigned to the volume. + IoThrottleRate pulumi.StringOutput `pulumi:"ioThrottleRate"` + // Indicates master volume name + MasterVolumeName pulumi.StringOutput `pulumi:"masterVolumeName"` + // Mirroring state for replication enabled volume + MirroringState pulumi.StringOutput `pulumi:"mirroringState"` + // Indicates if the volume does not exist on storage controller. + OutOfBandDeleted pulumi.BoolOutput `pulumi:"outOfBandDeleted"` + // PVM Instance (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_volume' is not provided. + PiAffinityInstance pulumi.StringPtrOutput `pulumi:"piAffinityInstance"` + // Affinity policy for data volume being created; ignored if 'pi_volume_pool' provided; for policy 'affinity' requires one of 'pi_affinity_instance' or 'pi_affinity_volume' to be specified; for policy 'anti-affinity' requires one of 'pi_anti_affinity_instances' or 'pi_anti_affinity_volumes' to be specified; Allowable values: 'affinity', 'anti-affinity'. + PiAffinityPolicy pulumi.StringPtrOutput `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_instance' is not provided. + PiAffinityVolume pulumi.StringPtrOutput `pulumi:"piAffinityVolume"` + // List of pvmInstances to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_volumes' is not provided. + PiAntiAffinityInstances pulumi.StringArrayOutput `pulumi:"piAntiAffinityInstances"` + // List of volumes to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_instances' is not provided. + PiAntiAffinityVolumes pulumi.StringArrayOutput `pulumi:"piAntiAffinityVolumes"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Indicates if the volume should be replication enabled or not. + PiReplicationEnabled pulumi.BoolOutput `pulumi:"piReplicationEnabled"` + // List of replication sites for volume replication. + PiReplicationSites pulumi.StringArrayOutput `pulumi:"piReplicationSites"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The name of the volume. + PiVolumeName pulumi.StringOutput `pulumi:"piVolumeName"` + // Volume pool where the volume will be created; if provided then 'pi_affinity_policy' values will be ignored. + PiVolumePool pulumi.StringOutput `pulumi:"piVolumePool"` + // If set to true, the volume can be shared across Power Systems Virtual Server instances. If set to false, you can attach it only to one instance. + PiVolumeShareable pulumi.BoolPtrOutput `pulumi:"piVolumeShareable"` + // The size of the volume in GB. + PiVolumeSize pulumi.Float64Output `pulumi:"piVolumeSize"` + // Type of disk, if diskType is not provided the disk type will default to 'tier3' + PiVolumeType pulumi.StringOutput `pulumi:"piVolumeType"` + // Indicates whether 'master'/'auxiliary' volume is playing the primary role. + PrimaryRole pulumi.StringOutput `pulumi:"primaryRole"` + // List of replication sites for volume replication. + ReplicationSites pulumi.StringArrayOutput `pulumi:"replicationSites"` + // The replication status of the volume. + ReplicationStatus pulumi.StringOutput `pulumi:"replicationStatus"` + // The replication type of the volume 'metro' or 'global'. + ReplicationType pulumi.StringOutput `pulumi:"replicationType"` + // The unique identifier of the volume. + VolumeId pulumi.StringOutput `pulumi:"volumeId"` + // The status of the volume. + VolumeStatus pulumi.StringOutput `pulumi:"volumeStatus"` + // The world wide name of the volume. + Wwn pulumi.StringOutput `pulumi:"wwn"` +} + +// NewPiVolume registers a new resource with the given unique name, arguments, and options. +func NewPiVolume(ctx *pulumi.Context, + name string, args *PiVolumeArgs, opts ...pulumi.ResourceOption) (*PiVolume, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiVolumeName == nil { + return nil, errors.New("invalid value for required argument 'PiVolumeName'") + } + if args.PiVolumeSize == nil { + return nil, errors.New("invalid value for required argument 'PiVolumeSize'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiVolume + err := ctx.RegisterResource("ibmcloud:index/piVolume:PiVolume", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiVolume gets an existing PiVolume resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiVolume(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiVolumeState, opts ...pulumi.ResourceOption) (*PiVolume, error) { + var resource PiVolume + err := ctx.ReadResource("ibmcloud:index/piVolume:PiVolume", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiVolume resources. +type piVolumeState struct { + // Indicates if the volume is auxiliary or not. + Auxiliary *bool `pulumi:"auxiliary"` + // The auxiliary volume name. + AuxiliaryVolumeName *string `pulumi:"auxiliaryVolumeName"` + // The consistency group name if volume is a part of volume group. + ConsistencyGroupName *string `pulumi:"consistencyGroupName"` + // The CRN of this resource. + Crn *string `pulumi:"crn"` + // Indicates if the volume should be deleted when the server terminates. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // The volume group id to which volume belongs. + GroupId *string `pulumi:"groupId"` + // Amount of iops assigned to the volume. + IoThrottleRate *string `pulumi:"ioThrottleRate"` + // Indicates master volume name + MasterVolumeName *string `pulumi:"masterVolumeName"` + // Mirroring state for replication enabled volume + MirroringState *string `pulumi:"mirroringState"` + // Indicates if the volume does not exist on storage controller. + OutOfBandDeleted *bool `pulumi:"outOfBandDeleted"` + // PVM Instance (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_volume' is not provided. + PiAffinityInstance *string `pulumi:"piAffinityInstance"` + // Affinity policy for data volume being created; ignored if 'pi_volume_pool' provided; for policy 'affinity' requires one of 'pi_affinity_instance' or 'pi_affinity_volume' to be specified; for policy 'anti-affinity' requires one of 'pi_anti_affinity_instances' or 'pi_anti_affinity_volumes' to be specified; Allowable values: 'affinity', 'anti-affinity'. + PiAffinityPolicy *string `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_instance' is not provided. + PiAffinityVolume *string `pulumi:"piAffinityVolume"` + // List of pvmInstances to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_volumes' is not provided. + PiAntiAffinityInstances []string `pulumi:"piAntiAffinityInstances"` + // List of volumes to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_instances' is not provided. + PiAntiAffinityVolumes []string `pulumi:"piAntiAffinityVolumes"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Indicates if the volume should be replication enabled or not. + PiReplicationEnabled *bool `pulumi:"piReplicationEnabled"` + // List of replication sites for volume replication. + PiReplicationSites []string `pulumi:"piReplicationSites"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The name of the volume. + PiVolumeName *string `pulumi:"piVolumeName"` + // Volume pool where the volume will be created; if provided then 'pi_affinity_policy' values will be ignored. + PiVolumePool *string `pulumi:"piVolumePool"` + // If set to true, the volume can be shared across Power Systems Virtual Server instances. If set to false, you can attach it only to one instance. + PiVolumeShareable *bool `pulumi:"piVolumeShareable"` + // The size of the volume in GB. + PiVolumeSize *float64 `pulumi:"piVolumeSize"` + // Type of disk, if diskType is not provided the disk type will default to 'tier3' + PiVolumeType *string `pulumi:"piVolumeType"` + // Indicates whether 'master'/'auxiliary' volume is playing the primary role. + PrimaryRole *string `pulumi:"primaryRole"` + // List of replication sites for volume replication. + ReplicationSites []string `pulumi:"replicationSites"` + // The replication status of the volume. + ReplicationStatus *string `pulumi:"replicationStatus"` + // The replication type of the volume 'metro' or 'global'. + ReplicationType *string `pulumi:"replicationType"` + // The unique identifier of the volume. + VolumeId *string `pulumi:"volumeId"` + // The status of the volume. + VolumeStatus *string `pulumi:"volumeStatus"` + // The world wide name of the volume. + Wwn *string `pulumi:"wwn"` +} + +type PiVolumeState struct { + // Indicates if the volume is auxiliary or not. + Auxiliary pulumi.BoolPtrInput + // The auxiliary volume name. + AuxiliaryVolumeName pulumi.StringPtrInput + // The consistency group name if volume is a part of volume group. + ConsistencyGroupName pulumi.StringPtrInput + // The CRN of this resource. + Crn pulumi.StringPtrInput + // Indicates if the volume should be deleted when the server terminates. + DeleteOnTermination pulumi.BoolPtrInput + // The volume group id to which volume belongs. + GroupId pulumi.StringPtrInput + // Amount of iops assigned to the volume. + IoThrottleRate pulumi.StringPtrInput + // Indicates master volume name + MasterVolumeName pulumi.StringPtrInput + // Mirroring state for replication enabled volume + MirroringState pulumi.StringPtrInput + // Indicates if the volume does not exist on storage controller. + OutOfBandDeleted pulumi.BoolPtrInput + // PVM Instance (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_volume' is not provided. + PiAffinityInstance pulumi.StringPtrInput + // Affinity policy for data volume being created; ignored if 'pi_volume_pool' provided; for policy 'affinity' requires one of 'pi_affinity_instance' or 'pi_affinity_volume' to be specified; for policy 'anti-affinity' requires one of 'pi_anti_affinity_instances' or 'pi_anti_affinity_volumes' to be specified; Allowable values: 'affinity', 'anti-affinity'. + PiAffinityPolicy pulumi.StringPtrInput + // Volume (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_instance' is not provided. + PiAffinityVolume pulumi.StringPtrInput + // List of pvmInstances to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_volumes' is not provided. + PiAntiAffinityInstances pulumi.StringArrayInput + // List of volumes to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_instances' is not provided. + PiAntiAffinityVolumes pulumi.StringArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Indicates if the volume should be replication enabled or not. + PiReplicationEnabled pulumi.BoolPtrInput + // List of replication sites for volume replication. + PiReplicationSites pulumi.StringArrayInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The name of the volume. + PiVolumeName pulumi.StringPtrInput + // Volume pool where the volume will be created; if provided then 'pi_affinity_policy' values will be ignored. + PiVolumePool pulumi.StringPtrInput + // If set to true, the volume can be shared across Power Systems Virtual Server instances. If set to false, you can attach it only to one instance. + PiVolumeShareable pulumi.BoolPtrInput + // The size of the volume in GB. + PiVolumeSize pulumi.Float64PtrInput + // Type of disk, if diskType is not provided the disk type will default to 'tier3' + PiVolumeType pulumi.StringPtrInput + // Indicates whether 'master'/'auxiliary' volume is playing the primary role. + PrimaryRole pulumi.StringPtrInput + // List of replication sites for volume replication. + ReplicationSites pulumi.StringArrayInput + // The replication status of the volume. + ReplicationStatus pulumi.StringPtrInput + // The replication type of the volume 'metro' or 'global'. + ReplicationType pulumi.StringPtrInput + // The unique identifier of the volume. + VolumeId pulumi.StringPtrInput + // The status of the volume. + VolumeStatus pulumi.StringPtrInput + // The world wide name of the volume. + Wwn pulumi.StringPtrInput +} + +func (PiVolumeState) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeState)(nil)).Elem() +} + +type piVolumeArgs struct { + // PVM Instance (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_volume' is not provided. + PiAffinityInstance *string `pulumi:"piAffinityInstance"` + // Affinity policy for data volume being created; ignored if 'pi_volume_pool' provided; for policy 'affinity' requires one of 'pi_affinity_instance' or 'pi_affinity_volume' to be specified; for policy 'anti-affinity' requires one of 'pi_anti_affinity_instances' or 'pi_anti_affinity_volumes' to be specified; Allowable values: 'affinity', 'anti-affinity'. + PiAffinityPolicy *string `pulumi:"piAffinityPolicy"` + // Volume (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_instance' is not provided. + PiAffinityVolume *string `pulumi:"piAffinityVolume"` + // List of pvmInstances to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_volumes' is not provided. + PiAntiAffinityInstances []string `pulumi:"piAntiAffinityInstances"` + // List of volumes to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_instances' is not provided. + PiAntiAffinityVolumes []string `pulumi:"piAntiAffinityVolumes"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Indicates if the volume should be replication enabled or not. + PiReplicationEnabled *bool `pulumi:"piReplicationEnabled"` + // List of replication sites for volume replication. + PiReplicationSites []string `pulumi:"piReplicationSites"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The name of the volume. + PiVolumeName string `pulumi:"piVolumeName"` + // Volume pool where the volume will be created; if provided then 'pi_affinity_policy' values will be ignored. + PiVolumePool *string `pulumi:"piVolumePool"` + // If set to true, the volume can be shared across Power Systems Virtual Server instances. If set to false, you can attach it only to one instance. + PiVolumeShareable *bool `pulumi:"piVolumeShareable"` + // The size of the volume in GB. + PiVolumeSize float64 `pulumi:"piVolumeSize"` + // Type of disk, if diskType is not provided the disk type will default to 'tier3' + PiVolumeType *string `pulumi:"piVolumeType"` +} + +// The set of arguments for constructing a PiVolume resource. +type PiVolumeArgs struct { + // PVM Instance (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_volume' is not provided. + PiAffinityInstance pulumi.StringPtrInput + // Affinity policy for data volume being created; ignored if 'pi_volume_pool' provided; for policy 'affinity' requires one of 'pi_affinity_instance' or 'pi_affinity_volume' to be specified; for policy 'anti-affinity' requires one of 'pi_anti_affinity_instances' or 'pi_anti_affinity_volumes' to be specified; Allowable values: 'affinity', 'anti-affinity'. + PiAffinityPolicy pulumi.StringPtrInput + // Volume (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_instance' is not provided. + PiAffinityVolume pulumi.StringPtrInput + // List of pvmInstances to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_volumes' is not provided. + PiAntiAffinityInstances pulumi.StringArrayInput + // List of volumes to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_instances' is not provided. + PiAntiAffinityVolumes pulumi.StringArrayInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Indicates if the volume should be replication enabled or not. + PiReplicationEnabled pulumi.BoolPtrInput + // List of replication sites for volume replication. + PiReplicationSites pulumi.StringArrayInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The name of the volume. + PiVolumeName pulumi.StringInput + // Volume pool where the volume will be created; if provided then 'pi_affinity_policy' values will be ignored. + PiVolumePool pulumi.StringPtrInput + // If set to true, the volume can be shared across Power Systems Virtual Server instances. If set to false, you can attach it only to one instance. + PiVolumeShareable pulumi.BoolPtrInput + // The size of the volume in GB. + PiVolumeSize pulumi.Float64Input + // Type of disk, if diskType is not provided the disk type will default to 'tier3' + PiVolumeType pulumi.StringPtrInput +} + +func (PiVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeArgs)(nil)).Elem() +} + +type PiVolumeInput interface { + pulumi.Input + + ToPiVolumeOutput() PiVolumeOutput + ToPiVolumeOutputWithContext(ctx context.Context) PiVolumeOutput +} + +func (*PiVolume) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolume)(nil)).Elem() +} + +func (i *PiVolume) ToPiVolumeOutput() PiVolumeOutput { + return i.ToPiVolumeOutputWithContext(context.Background()) +} + +func (i *PiVolume) ToPiVolumeOutputWithContext(ctx context.Context) PiVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeOutput) +} + +type PiVolumeOutput struct{ *pulumi.OutputState } + +func (PiVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolume)(nil)).Elem() +} + +func (o PiVolumeOutput) ToPiVolumeOutput() PiVolumeOutput { + return o +} + +func (o PiVolumeOutput) ToPiVolumeOutputWithContext(ctx context.Context) PiVolumeOutput { + return o +} + +// Indicates if the volume is auxiliary or not. +func (o PiVolumeOutput) Auxiliary() pulumi.BoolOutput { + return o.ApplyT(func(v *PiVolume) pulumi.BoolOutput { return v.Auxiliary }).(pulumi.BoolOutput) +} + +// The auxiliary volume name. +func (o PiVolumeOutput) AuxiliaryVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.AuxiliaryVolumeName }).(pulumi.StringOutput) +} + +// The consistency group name if volume is a part of volume group. +func (o PiVolumeOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o PiVolumeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates if the volume should be deleted when the server terminates. +func (o PiVolumeOutput) DeleteOnTermination() pulumi.BoolOutput { + return o.ApplyT(func(v *PiVolume) pulumi.BoolOutput { return v.DeleteOnTermination }).(pulumi.BoolOutput) +} + +// The volume group id to which volume belongs. +func (o PiVolumeOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) +} + +// Amount of iops assigned to the volume. +func (o PiVolumeOutput) IoThrottleRate() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.IoThrottleRate }).(pulumi.StringOutput) +} + +// Indicates master volume name +func (o PiVolumeOutput) MasterVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.MasterVolumeName }).(pulumi.StringOutput) +} + +// Mirroring state for replication enabled volume +func (o PiVolumeOutput) MirroringState() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.MirroringState }).(pulumi.StringOutput) +} + +// Indicates if the volume does not exist on storage controller. +func (o PiVolumeOutput) OutOfBandDeleted() pulumi.BoolOutput { + return o.ApplyT(func(v *PiVolume) pulumi.BoolOutput { return v.OutOfBandDeleted }).(pulumi.BoolOutput) +} + +// PVM Instance (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_volume' is not provided. +func (o PiVolumeOutput) PiAffinityInstance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringPtrOutput { return v.PiAffinityInstance }).(pulumi.StringPtrOutput) +} + +// Affinity policy for data volume being created; ignored if 'pi_volume_pool' provided; for policy 'affinity' requires one of 'pi_affinity_instance' or 'pi_affinity_volume' to be specified; for policy 'anti-affinity' requires one of 'pi_anti_affinity_instances' or 'pi_anti_affinity_volumes' to be specified; Allowable values: 'affinity', 'anti-affinity'. +func (o PiVolumeOutput) PiAffinityPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringPtrOutput { return v.PiAffinityPolicy }).(pulumi.StringPtrOutput) +} + +// Volume (ID or Name) to base volume affinity policy against; required if requesting 'affinity' and 'pi_affinity_instance' is not provided. +func (o PiVolumeOutput) PiAffinityVolume() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringPtrOutput { return v.PiAffinityVolume }).(pulumi.StringPtrOutput) +} + +// List of pvmInstances to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_volumes' is not provided. +func (o PiVolumeOutput) PiAntiAffinityInstances() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringArrayOutput { return v.PiAntiAffinityInstances }).(pulumi.StringArrayOutput) +} + +// List of volumes to base volume anti-affinity policy against; required if requesting 'anti-affinity' and 'pi_anti_affinity_instances' is not provided. +func (o PiVolumeOutput) PiAntiAffinityVolumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringArrayOutput { return v.PiAntiAffinityVolumes }).(pulumi.StringArrayOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiVolumeOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Indicates if the volume should be replication enabled or not. +func (o PiVolumeOutput) PiReplicationEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *PiVolume) pulumi.BoolOutput { return v.PiReplicationEnabled }).(pulumi.BoolOutput) +} + +// List of replication sites for volume replication. +func (o PiVolumeOutput) PiReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringArrayOutput { return v.PiReplicationSites }).(pulumi.StringArrayOutput) +} + +// The user tags attached to this resource. +func (o PiVolumeOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The name of the volume. +func (o PiVolumeOutput) PiVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.PiVolumeName }).(pulumi.StringOutput) +} + +// Volume pool where the volume will be created; if provided then 'pi_affinity_policy' values will be ignored. +func (o PiVolumeOutput) PiVolumePool() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.PiVolumePool }).(pulumi.StringOutput) +} + +// If set to true, the volume can be shared across Power Systems Virtual Server instances. If set to false, you can attach it only to one instance. +func (o PiVolumeOutput) PiVolumeShareable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiVolume) pulumi.BoolPtrOutput { return v.PiVolumeShareable }).(pulumi.BoolPtrOutput) +} + +// The size of the volume in GB. +func (o PiVolumeOutput) PiVolumeSize() pulumi.Float64Output { + return o.ApplyT(func(v *PiVolume) pulumi.Float64Output { return v.PiVolumeSize }).(pulumi.Float64Output) +} + +// Type of disk, if diskType is not provided the disk type will default to 'tier3' +func (o PiVolumeOutput) PiVolumeType() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.PiVolumeType }).(pulumi.StringOutput) +} + +// Indicates whether 'master'/'auxiliary' volume is playing the primary role. +func (o PiVolumeOutput) PrimaryRole() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.PrimaryRole }).(pulumi.StringOutput) +} + +// List of replication sites for volume replication. +func (o PiVolumeOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringArrayOutput { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +// The replication status of the volume. +func (o PiVolumeOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +// The replication type of the volume 'metro' or 'global'. +func (o PiVolumeOutput) ReplicationType() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.ReplicationType }).(pulumi.StringOutput) +} + +// The unique identifier of the volume. +func (o PiVolumeOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.VolumeId }).(pulumi.StringOutput) +} + +// The status of the volume. +func (o PiVolumeOutput) VolumeStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.VolumeStatus }).(pulumi.StringOutput) +} + +// The world wide name of the volume. +func (o PiVolumeOutput) Wwn() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolume) pulumi.StringOutput { return v.Wwn }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeInput)(nil)).Elem(), &PiVolume{}) + pulumi.RegisterOutputType(PiVolumeOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeAttach.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeAttach.go new file mode 100644 index 000000000..d23af7513 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeAttach.go @@ -0,0 +1,171 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiVolumeAttach struct { + pulumi.CustomResourceState + + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // PI Instance Id + PiInstanceId pulumi.StringOutput `pulumi:"piInstanceId"` + // Id of the volume to attach. Note these volumes should have been created + PiVolumeId pulumi.StringOutput `pulumi:"piVolumeId"` + // The status of the volume. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewPiVolumeAttach registers a new resource with the given unique name, arguments, and options. +func NewPiVolumeAttach(ctx *pulumi.Context, + name string, args *PiVolumeAttachArgs, opts ...pulumi.ResourceOption) (*PiVolumeAttach, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiInstanceId'") + } + if args.PiVolumeId == nil { + return nil, errors.New("invalid value for required argument 'PiVolumeId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiVolumeAttach + err := ctx.RegisterResource("ibmcloud:index/piVolumeAttach:PiVolumeAttach", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiVolumeAttach gets an existing PiVolumeAttach resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiVolumeAttach(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiVolumeAttachState, opts ...pulumi.ResourceOption) (*PiVolumeAttach, error) { + var resource PiVolumeAttach + err := ctx.ReadResource("ibmcloud:index/piVolumeAttach:PiVolumeAttach", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiVolumeAttach resources. +type piVolumeAttachState struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // PI Instance Id + PiInstanceId *string `pulumi:"piInstanceId"` + // Id of the volume to attach. Note these volumes should have been created + PiVolumeId *string `pulumi:"piVolumeId"` + // The status of the volume. + Status *string `pulumi:"status"` +} + +type PiVolumeAttachState struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // PI Instance Id + PiInstanceId pulumi.StringPtrInput + // Id of the volume to attach. Note these volumes should have been created + PiVolumeId pulumi.StringPtrInput + // The status of the volume. + Status pulumi.StringPtrInput +} + +func (PiVolumeAttachState) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeAttachState)(nil)).Elem() +} + +type piVolumeAttachArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // PI Instance Id + PiInstanceId string `pulumi:"piInstanceId"` + // Id of the volume to attach. Note these volumes should have been created + PiVolumeId string `pulumi:"piVolumeId"` +} + +// The set of arguments for constructing a PiVolumeAttach resource. +type PiVolumeAttachArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // PI Instance Id + PiInstanceId pulumi.StringInput + // Id of the volume to attach. Note these volumes should have been created + PiVolumeId pulumi.StringInput +} + +func (PiVolumeAttachArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeAttachArgs)(nil)).Elem() +} + +type PiVolumeAttachInput interface { + pulumi.Input + + ToPiVolumeAttachOutput() PiVolumeAttachOutput + ToPiVolumeAttachOutputWithContext(ctx context.Context) PiVolumeAttachOutput +} + +func (*PiVolumeAttach) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeAttach)(nil)).Elem() +} + +func (i *PiVolumeAttach) ToPiVolumeAttachOutput() PiVolumeAttachOutput { + return i.ToPiVolumeAttachOutputWithContext(context.Background()) +} + +func (i *PiVolumeAttach) ToPiVolumeAttachOutputWithContext(ctx context.Context) PiVolumeAttachOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeAttachOutput) +} + +type PiVolumeAttachOutput struct{ *pulumi.OutputState } + +func (PiVolumeAttachOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeAttach)(nil)).Elem() +} + +func (o PiVolumeAttachOutput) ToPiVolumeAttachOutput() PiVolumeAttachOutput { + return o +} + +func (o PiVolumeAttachOutput) ToPiVolumeAttachOutputWithContext(ctx context.Context) PiVolumeAttachOutput { + return o +} + +// The GUID of the service instance associated with an account. +func (o PiVolumeAttachOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeAttach) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// PI Instance Id +func (o PiVolumeAttachOutput) PiInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeAttach) pulumi.StringOutput { return v.PiInstanceId }).(pulumi.StringOutput) +} + +// Id of the volume to attach. Note these volumes should have been created +func (o PiVolumeAttachOutput) PiVolumeId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeAttach) pulumi.StringOutput { return v.PiVolumeId }).(pulumi.StringOutput) +} + +// The status of the volume. +func (o PiVolumeAttachOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeAttach) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeAttachInput)(nil)).Elem(), &PiVolumeAttach{}) + pulumi.RegisterOutputType(PiVolumeAttachOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeClone.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeClone.go new file mode 100644 index 000000000..4e1644dd9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeClone.go @@ -0,0 +1,260 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiVolumeClone struct { + pulumi.CustomResourceState + + // The List of cloned volumes. + CloneVolumes PiVolumeCloneCloneVolumeArrayOutput `pulumi:"cloneVolumes"` + // The reason the clone volumes task has failed. + FailureReason pulumi.StringOutput `pulumi:"failureReason"` + // The completion percentage of the volume clone task. + PercentComplete pulumi.IntOutput `pulumi:"percentComplete"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Indicates whether the cloned volume should have replication enabled. If no value is provided, it will default to the replication status of the source volume(s). + PiReplicationEnabled pulumi.BoolPtrOutput `pulumi:"piReplicationEnabled"` + // The storage tier for the cloned volume(s). + PiTargetStorageTier pulumi.StringPtrOutput `pulumi:"piTargetStorageTier"` + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // The base name of the newly cloned volume(s). + PiVolumeCloneName pulumi.StringOutput `pulumi:"piVolumeCloneName"` + // List of volumes to be cloned. + PiVolumeIds pulumi.StringArrayOutput `pulumi:"piVolumeIds"` + // The status of the volume clone task. + Status pulumi.StringOutput `pulumi:"status"` + // The ID of the volume clone task. + TaskId pulumi.StringOutput `pulumi:"taskId"` +} + +// NewPiVolumeClone registers a new resource with the given unique name, arguments, and options. +func NewPiVolumeClone(ctx *pulumi.Context, + name string, args *PiVolumeCloneArgs, opts ...pulumi.ResourceOption) (*PiVolumeClone, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiVolumeCloneName == nil { + return nil, errors.New("invalid value for required argument 'PiVolumeCloneName'") + } + if args.PiVolumeIds == nil { + return nil, errors.New("invalid value for required argument 'PiVolumeIds'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiVolumeClone + err := ctx.RegisterResource("ibmcloud:index/piVolumeClone:PiVolumeClone", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiVolumeClone gets an existing PiVolumeClone resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiVolumeClone(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiVolumeCloneState, opts ...pulumi.ResourceOption) (*PiVolumeClone, error) { + var resource PiVolumeClone + err := ctx.ReadResource("ibmcloud:index/piVolumeClone:PiVolumeClone", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiVolumeClone resources. +type piVolumeCloneState struct { + // The List of cloned volumes. + CloneVolumes []PiVolumeCloneCloneVolume `pulumi:"cloneVolumes"` + // The reason the clone volumes task has failed. + FailureReason *string `pulumi:"failureReason"` + // The completion percentage of the volume clone task. + PercentComplete *int `pulumi:"percentComplete"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Indicates whether the cloned volume should have replication enabled. If no value is provided, it will default to the replication status of the source volume(s). + PiReplicationEnabled *bool `pulumi:"piReplicationEnabled"` + // The storage tier for the cloned volume(s). + PiTargetStorageTier *string `pulumi:"piTargetStorageTier"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The base name of the newly cloned volume(s). + PiVolumeCloneName *string `pulumi:"piVolumeCloneName"` + // List of volumes to be cloned. + PiVolumeIds []string `pulumi:"piVolumeIds"` + // The status of the volume clone task. + Status *string `pulumi:"status"` + // The ID of the volume clone task. + TaskId *string `pulumi:"taskId"` +} + +type PiVolumeCloneState struct { + // The List of cloned volumes. + CloneVolumes PiVolumeCloneCloneVolumeArrayInput + // The reason the clone volumes task has failed. + FailureReason pulumi.StringPtrInput + // The completion percentage of the volume clone task. + PercentComplete pulumi.IntPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Indicates whether the cloned volume should have replication enabled. If no value is provided, it will default to the replication status of the source volume(s). + PiReplicationEnabled pulumi.BoolPtrInput + // The storage tier for the cloned volume(s). + PiTargetStorageTier pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The base name of the newly cloned volume(s). + PiVolumeCloneName pulumi.StringPtrInput + // List of volumes to be cloned. + PiVolumeIds pulumi.StringArrayInput + // The status of the volume clone task. + Status pulumi.StringPtrInput + // The ID of the volume clone task. + TaskId pulumi.StringPtrInput +} + +func (PiVolumeCloneState) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeCloneState)(nil)).Elem() +} + +type piVolumeCloneArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Indicates whether the cloned volume should have replication enabled. If no value is provided, it will default to the replication status of the source volume(s). + PiReplicationEnabled *bool `pulumi:"piReplicationEnabled"` + // The storage tier for the cloned volume(s). + PiTargetStorageTier *string `pulumi:"piTargetStorageTier"` + // The user tags attached to this resource. + PiUserTags []string `pulumi:"piUserTags"` + // The base name of the newly cloned volume(s). + PiVolumeCloneName string `pulumi:"piVolumeCloneName"` + // List of volumes to be cloned. + PiVolumeIds []string `pulumi:"piVolumeIds"` +} + +// The set of arguments for constructing a PiVolumeClone resource. +type PiVolumeCloneArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Indicates whether the cloned volume should have replication enabled. If no value is provided, it will default to the replication status of the source volume(s). + PiReplicationEnabled pulumi.BoolPtrInput + // The storage tier for the cloned volume(s). + PiTargetStorageTier pulumi.StringPtrInput + // The user tags attached to this resource. + PiUserTags pulumi.StringArrayInput + // The base name of the newly cloned volume(s). + PiVolumeCloneName pulumi.StringInput + // List of volumes to be cloned. + PiVolumeIds pulumi.StringArrayInput +} + +func (PiVolumeCloneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeCloneArgs)(nil)).Elem() +} + +type PiVolumeCloneInput interface { + pulumi.Input + + ToPiVolumeCloneOutput() PiVolumeCloneOutput + ToPiVolumeCloneOutputWithContext(ctx context.Context) PiVolumeCloneOutput +} + +func (*PiVolumeClone) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeClone)(nil)).Elem() +} + +func (i *PiVolumeClone) ToPiVolumeCloneOutput() PiVolumeCloneOutput { + return i.ToPiVolumeCloneOutputWithContext(context.Background()) +} + +func (i *PiVolumeClone) ToPiVolumeCloneOutputWithContext(ctx context.Context) PiVolumeCloneOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeCloneOutput) +} + +type PiVolumeCloneOutput struct{ *pulumi.OutputState } + +func (PiVolumeCloneOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeClone)(nil)).Elem() +} + +func (o PiVolumeCloneOutput) ToPiVolumeCloneOutput() PiVolumeCloneOutput { + return o +} + +func (o PiVolumeCloneOutput) ToPiVolumeCloneOutputWithContext(ctx context.Context) PiVolumeCloneOutput { + return o +} + +// The List of cloned volumes. +func (o PiVolumeCloneOutput) CloneVolumes() PiVolumeCloneCloneVolumeArrayOutput { + return o.ApplyT(func(v *PiVolumeClone) PiVolumeCloneCloneVolumeArrayOutput { return v.CloneVolumes }).(PiVolumeCloneCloneVolumeArrayOutput) +} + +// The reason the clone volumes task has failed. +func (o PiVolumeCloneOutput) FailureReason() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.StringOutput { return v.FailureReason }).(pulumi.StringOutput) +} + +// The completion percentage of the volume clone task. +func (o PiVolumeCloneOutput) PercentComplete() pulumi.IntOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.IntOutput { return v.PercentComplete }).(pulumi.IntOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiVolumeCloneOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Indicates whether the cloned volume should have replication enabled. If no value is provided, it will default to the replication status of the source volume(s). +func (o PiVolumeCloneOutput) PiReplicationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.BoolPtrOutput { return v.PiReplicationEnabled }).(pulumi.BoolPtrOutput) +} + +// The storage tier for the cloned volume(s). +func (o PiVolumeCloneOutput) PiTargetStorageTier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.StringPtrOutput { return v.PiTargetStorageTier }).(pulumi.StringPtrOutput) +} + +// The user tags attached to this resource. +func (o PiVolumeCloneOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// The base name of the newly cloned volume(s). +func (o PiVolumeCloneOutput) PiVolumeCloneName() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.StringOutput { return v.PiVolumeCloneName }).(pulumi.StringOutput) +} + +// List of volumes to be cloned. +func (o PiVolumeCloneOutput) PiVolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.StringArrayOutput { return v.PiVolumeIds }).(pulumi.StringArrayOutput) +} + +// The status of the volume clone task. +func (o PiVolumeCloneOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The ID of the volume clone task. +func (o PiVolumeCloneOutput) TaskId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeClone) pulumi.StringOutput { return v.TaskId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeCloneInput)(nil)).Elem(), &PiVolumeClone{}) + pulumi.RegisterOutputType(PiVolumeCloneOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeGroup.go new file mode 100644 index 000000000..4b9fc88b4 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeGroup.go @@ -0,0 +1,240 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiVolumeGroup struct { + pulumi.CustomResourceState + + // Consistency Group Name if volume is a part of volume group + ConsistencyGroupName pulumi.StringOutput `pulumi:"consistencyGroupName"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // The name of consistency group at storage controller level + PiConsistencyGroupName pulumi.StringPtrOutput `pulumi:"piConsistencyGroupName"` + // Volume Group Name to create + PiVolumeGroupName pulumi.StringPtrOutput `pulumi:"piVolumeGroupName"` + // List of volumes to add in volume group + PiVolumeIds pulumi.StringArrayOutput `pulumi:"piVolumeIds"` + // Indicates the replication sites of the volume group. + ReplicationSites pulumi.StringArrayOutput `pulumi:"replicationSites"` + // Volume Group Replication Status + ReplicationStatus pulumi.StringOutput `pulumi:"replicationStatus"` + // The status details of the volume group. + StatusDescriptionErrors PiVolumeGroupStatusDescriptionErrorArrayOutput `pulumi:"statusDescriptionErrors"` + // Volume Group ID + VolumeGroupId pulumi.StringOutput `pulumi:"volumeGroupId"` + // Volume Group Status + VolumeGroupStatus pulumi.StringOutput `pulumi:"volumeGroupStatus"` +} + +// NewPiVolumeGroup registers a new resource with the given unique name, arguments, and options. +func NewPiVolumeGroup(ctx *pulumi.Context, + name string, args *PiVolumeGroupArgs, opts ...pulumi.ResourceOption) (*PiVolumeGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiVolumeIds == nil { + return nil, errors.New("invalid value for required argument 'PiVolumeIds'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiVolumeGroup + err := ctx.RegisterResource("ibmcloud:index/piVolumeGroup:PiVolumeGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiVolumeGroup gets an existing PiVolumeGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiVolumeGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiVolumeGroupState, opts ...pulumi.ResourceOption) (*PiVolumeGroup, error) { + var resource PiVolumeGroup + err := ctx.ReadResource("ibmcloud:index/piVolumeGroup:PiVolumeGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiVolumeGroup resources. +type piVolumeGroupState struct { + // Consistency Group Name if volume is a part of volume group + ConsistencyGroupName *string `pulumi:"consistencyGroupName"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // The name of consistency group at storage controller level + PiConsistencyGroupName *string `pulumi:"piConsistencyGroupName"` + // Volume Group Name to create + PiVolumeGroupName *string `pulumi:"piVolumeGroupName"` + // List of volumes to add in volume group + PiVolumeIds []string `pulumi:"piVolumeIds"` + // Indicates the replication sites of the volume group. + ReplicationSites []string `pulumi:"replicationSites"` + // Volume Group Replication Status + ReplicationStatus *string `pulumi:"replicationStatus"` + // The status details of the volume group. + StatusDescriptionErrors []PiVolumeGroupStatusDescriptionError `pulumi:"statusDescriptionErrors"` + // Volume Group ID + VolumeGroupId *string `pulumi:"volumeGroupId"` + // Volume Group Status + VolumeGroupStatus *string `pulumi:"volumeGroupStatus"` +} + +type PiVolumeGroupState struct { + // Consistency Group Name if volume is a part of volume group + ConsistencyGroupName pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // The name of consistency group at storage controller level + PiConsistencyGroupName pulumi.StringPtrInput + // Volume Group Name to create + PiVolumeGroupName pulumi.StringPtrInput + // List of volumes to add in volume group + PiVolumeIds pulumi.StringArrayInput + // Indicates the replication sites of the volume group. + ReplicationSites pulumi.StringArrayInput + // Volume Group Replication Status + ReplicationStatus pulumi.StringPtrInput + // The status details of the volume group. + StatusDescriptionErrors PiVolumeGroupStatusDescriptionErrorArrayInput + // Volume Group ID + VolumeGroupId pulumi.StringPtrInput + // Volume Group Status + VolumeGroupStatus pulumi.StringPtrInput +} + +func (PiVolumeGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeGroupState)(nil)).Elem() +} + +type piVolumeGroupArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // The name of consistency group at storage controller level + PiConsistencyGroupName *string `pulumi:"piConsistencyGroupName"` + // Volume Group Name to create + PiVolumeGroupName *string `pulumi:"piVolumeGroupName"` + // List of volumes to add in volume group + PiVolumeIds []string `pulumi:"piVolumeIds"` +} + +// The set of arguments for constructing a PiVolumeGroup resource. +type PiVolumeGroupArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // The name of consistency group at storage controller level + PiConsistencyGroupName pulumi.StringPtrInput + // Volume Group Name to create + PiVolumeGroupName pulumi.StringPtrInput + // List of volumes to add in volume group + PiVolumeIds pulumi.StringArrayInput +} + +func (PiVolumeGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeGroupArgs)(nil)).Elem() +} + +type PiVolumeGroupInput interface { + pulumi.Input + + ToPiVolumeGroupOutput() PiVolumeGroupOutput + ToPiVolumeGroupOutputWithContext(ctx context.Context) PiVolumeGroupOutput +} + +func (*PiVolumeGroup) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroup)(nil)).Elem() +} + +func (i *PiVolumeGroup) ToPiVolumeGroupOutput() PiVolumeGroupOutput { + return i.ToPiVolumeGroupOutputWithContext(context.Background()) +} + +func (i *PiVolumeGroup) ToPiVolumeGroupOutputWithContext(ctx context.Context) PiVolumeGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupOutput) +} + +type PiVolumeGroupOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroup)(nil)).Elem() +} + +func (o PiVolumeGroupOutput) ToPiVolumeGroupOutput() PiVolumeGroupOutput { + return o +} + +func (o PiVolumeGroupOutput) ToPiVolumeGroupOutputWithContext(ctx context.Context) PiVolumeGroupOutput { + return o +} + +// Consistency Group Name if volume is a part of volume group +func (o PiVolumeGroupOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringOutput { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiVolumeGroupOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// The name of consistency group at storage controller level +func (o PiVolumeGroupOutput) PiConsistencyGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringPtrOutput { return v.PiConsistencyGroupName }).(pulumi.StringPtrOutput) +} + +// Volume Group Name to create +func (o PiVolumeGroupOutput) PiVolumeGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringPtrOutput { return v.PiVolumeGroupName }).(pulumi.StringPtrOutput) +} + +// List of volumes to add in volume group +func (o PiVolumeGroupOutput) PiVolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringArrayOutput { return v.PiVolumeIds }).(pulumi.StringArrayOutput) +} + +// Indicates the replication sites of the volume group. +func (o PiVolumeGroupOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringArrayOutput { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +// Volume Group Replication Status +func (o PiVolumeGroupOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringOutput { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +// The status details of the volume group. +func (o PiVolumeGroupOutput) StatusDescriptionErrors() PiVolumeGroupStatusDescriptionErrorArrayOutput { + return o.ApplyT(func(v *PiVolumeGroup) PiVolumeGroupStatusDescriptionErrorArrayOutput { + return v.StatusDescriptionErrors + }).(PiVolumeGroupStatusDescriptionErrorArrayOutput) +} + +// Volume Group ID +func (o PiVolumeGroupOutput) VolumeGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringOutput { return v.VolumeGroupId }).(pulumi.StringOutput) +} + +// Volume Group Status +func (o PiVolumeGroupOutput) VolumeGroupStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroup) pulumi.StringOutput { return v.VolumeGroupStatus }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupInput)(nil)).Elem(), &PiVolumeGroup{}) + pulumi.RegisterOutputType(PiVolumeGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeGroupAction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeGroupAction.go new file mode 100644 index 000000000..28f6f17ab --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeGroupAction.go @@ -0,0 +1,195 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiVolumeGroupAction struct { + pulumi.CustomResourceState + + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Performs an action (start stop reset ) on a volume group(one at a time). + PiVolumeGroupAction PiVolumeGroupActionPiVolumeGroupActionOutput `pulumi:"piVolumeGroupAction"` + // Volume Group ID + PiVolumeGroupId pulumi.StringOutput `pulumi:"piVolumeGroupId"` + // Volume Group Replication Status + ReplicationStatus pulumi.StringOutput `pulumi:"replicationStatus"` + // Volume Group ID + VolumeGroupName pulumi.StringOutput `pulumi:"volumeGroupName"` + // Volume Group Status + VolumeGroupStatus pulumi.StringOutput `pulumi:"volumeGroupStatus"` +} + +// NewPiVolumeGroupAction registers a new resource with the given unique name, arguments, and options. +func NewPiVolumeGroupAction(ctx *pulumi.Context, + name string, args *PiVolumeGroupActionArgs, opts ...pulumi.ResourceOption) (*PiVolumeGroupAction, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiVolumeGroupAction == nil { + return nil, errors.New("invalid value for required argument 'PiVolumeGroupAction'") + } + if args.PiVolumeGroupId == nil { + return nil, errors.New("invalid value for required argument 'PiVolumeGroupId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiVolumeGroupAction + err := ctx.RegisterResource("ibmcloud:index/piVolumeGroupAction:PiVolumeGroupAction", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiVolumeGroupAction gets an existing PiVolumeGroupAction resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiVolumeGroupAction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiVolumeGroupActionState, opts ...pulumi.ResourceOption) (*PiVolumeGroupAction, error) { + var resource PiVolumeGroupAction + err := ctx.ReadResource("ibmcloud:index/piVolumeGroupAction:PiVolumeGroupAction", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiVolumeGroupAction resources. +type piVolumeGroupActionState struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Performs an action (start stop reset ) on a volume group(one at a time). + PiVolumeGroupAction *PiVolumeGroupActionPiVolumeGroupAction `pulumi:"piVolumeGroupAction"` + // Volume Group ID + PiVolumeGroupId *string `pulumi:"piVolumeGroupId"` + // Volume Group Replication Status + ReplicationStatus *string `pulumi:"replicationStatus"` + // Volume Group ID + VolumeGroupName *string `pulumi:"volumeGroupName"` + // Volume Group Status + VolumeGroupStatus *string `pulumi:"volumeGroupStatus"` +} + +type PiVolumeGroupActionState struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Performs an action (start stop reset ) on a volume group(one at a time). + PiVolumeGroupAction PiVolumeGroupActionPiVolumeGroupActionPtrInput + // Volume Group ID + PiVolumeGroupId pulumi.StringPtrInput + // Volume Group Replication Status + ReplicationStatus pulumi.StringPtrInput + // Volume Group ID + VolumeGroupName pulumi.StringPtrInput + // Volume Group Status + VolumeGroupStatus pulumi.StringPtrInput +} + +func (PiVolumeGroupActionState) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeGroupActionState)(nil)).Elem() +} + +type piVolumeGroupActionArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Performs an action (start stop reset ) on a volume group(one at a time). + PiVolumeGroupAction PiVolumeGroupActionPiVolumeGroupAction `pulumi:"piVolumeGroupAction"` + // Volume Group ID + PiVolumeGroupId string `pulumi:"piVolumeGroupId"` +} + +// The set of arguments for constructing a PiVolumeGroupAction resource. +type PiVolumeGroupActionArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Performs an action (start stop reset ) on a volume group(one at a time). + PiVolumeGroupAction PiVolumeGroupActionPiVolumeGroupActionInput + // Volume Group ID + PiVolumeGroupId pulumi.StringInput +} + +func (PiVolumeGroupActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeGroupActionArgs)(nil)).Elem() +} + +type PiVolumeGroupActionInput interface { + pulumi.Input + + ToPiVolumeGroupActionOutput() PiVolumeGroupActionOutput + ToPiVolumeGroupActionOutputWithContext(ctx context.Context) PiVolumeGroupActionOutput +} + +func (*PiVolumeGroupAction) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupAction)(nil)).Elem() +} + +func (i *PiVolumeGroupAction) ToPiVolumeGroupActionOutput() PiVolumeGroupActionOutput { + return i.ToPiVolumeGroupActionOutputWithContext(context.Background()) +} + +func (i *PiVolumeGroupAction) ToPiVolumeGroupActionOutputWithContext(ctx context.Context) PiVolumeGroupActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionOutput) +} + +type PiVolumeGroupActionOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupAction)(nil)).Elem() +} + +func (o PiVolumeGroupActionOutput) ToPiVolumeGroupActionOutput() PiVolumeGroupActionOutput { + return o +} + +func (o PiVolumeGroupActionOutput) ToPiVolumeGroupActionOutputWithContext(ctx context.Context) PiVolumeGroupActionOutput { + return o +} + +// The GUID of the service instance associated with an account. +func (o PiVolumeGroupActionOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroupAction) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Performs an action (start stop reset ) on a volume group(one at a time). +func (o PiVolumeGroupActionOutput) PiVolumeGroupAction() PiVolumeGroupActionPiVolumeGroupActionOutput { + return o.ApplyT(func(v *PiVolumeGroupAction) PiVolumeGroupActionPiVolumeGroupActionOutput { + return v.PiVolumeGroupAction + }).(PiVolumeGroupActionPiVolumeGroupActionOutput) +} + +// Volume Group ID +func (o PiVolumeGroupActionOutput) PiVolumeGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroupAction) pulumi.StringOutput { return v.PiVolumeGroupId }).(pulumi.StringOutput) +} + +// Volume Group Replication Status +func (o PiVolumeGroupActionOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroupAction) pulumi.StringOutput { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +// Volume Group ID +func (o PiVolumeGroupActionOutput) VolumeGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroupAction) pulumi.StringOutput { return v.VolumeGroupName }).(pulumi.StringOutput) +} + +// Volume Group Status +func (o PiVolumeGroupActionOutput) VolumeGroupStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeGroupAction) pulumi.StringOutput { return v.VolumeGroupStatus }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionInput)(nil)).Elem(), &PiVolumeGroupAction{}) + pulumi.RegisterOutputType(PiVolumeGroupActionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeOnboarding.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeOnboarding.go new file mode 100644 index 000000000..970db5981 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVolumeOnboarding.go @@ -0,0 +1,238 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiVolumeOnboarding struct { + pulumi.CustomResourceState + + // The create time of volume onboarding operation. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // List of volumes requested to be onboarded. + InputVolumes pulumi.StringArrayOutput `pulumi:"inputVolumes"` + // The volume onboarding ID. + OnboardingId pulumi.StringOutput `pulumi:"onboardingId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Description of the volume onboarding operation + PiDescription pulumi.StringOutput `pulumi:"piDescription"` + // List of onboarding volumes. + PiOnboardingVolumes PiVolumeOnboardingPiOnboardingVolumeArrayOutput `pulumi:"piOnboardingVolumes"` + // The progress of volume onboarding operation. + Progress pulumi.Float64Output `pulumi:"progress"` + // List of volumes which are onboarded successfully. + ResultsOnboardedVolumes pulumi.StringArrayOutput `pulumi:"resultsOnboardedVolumes"` + // The volume onboarding failure details. + ResultsVolumeOnboardingFailures PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput `pulumi:"resultsVolumeOnboardingFailures"` + // The status of volume onboarding operation. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewPiVolumeOnboarding registers a new resource with the given unique name, arguments, and options. +func NewPiVolumeOnboarding(ctx *pulumi.Context, + name string, args *PiVolumeOnboardingArgs, opts ...pulumi.ResourceOption) (*PiVolumeOnboarding, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiOnboardingVolumes == nil { + return nil, errors.New("invalid value for required argument 'PiOnboardingVolumes'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiVolumeOnboarding + err := ctx.RegisterResource("ibmcloud:index/piVolumeOnboarding:PiVolumeOnboarding", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiVolumeOnboarding gets an existing PiVolumeOnboarding resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiVolumeOnboarding(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiVolumeOnboardingState, opts ...pulumi.ResourceOption) (*PiVolumeOnboarding, error) { + var resource PiVolumeOnboarding + err := ctx.ReadResource("ibmcloud:index/piVolumeOnboarding:PiVolumeOnboarding", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiVolumeOnboarding resources. +type piVolumeOnboardingState struct { + // The create time of volume onboarding operation. + CreateTime *string `pulumi:"createTime"` + // List of volumes requested to be onboarded. + InputVolumes []string `pulumi:"inputVolumes"` + // The volume onboarding ID. + OnboardingId *string `pulumi:"onboardingId"` + // The GUID of the service instance associated with an account. + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Description of the volume onboarding operation + PiDescription *string `pulumi:"piDescription"` + // List of onboarding volumes. + PiOnboardingVolumes []PiVolumeOnboardingPiOnboardingVolume `pulumi:"piOnboardingVolumes"` + // The progress of volume onboarding operation. + Progress *float64 `pulumi:"progress"` + // List of volumes which are onboarded successfully. + ResultsOnboardedVolumes []string `pulumi:"resultsOnboardedVolumes"` + // The volume onboarding failure details. + ResultsVolumeOnboardingFailures []PiVolumeOnboardingResultsVolumeOnboardingFailure `pulumi:"resultsVolumeOnboardingFailures"` + // The status of volume onboarding operation. + Status *string `pulumi:"status"` +} + +type PiVolumeOnboardingState struct { + // The create time of volume onboarding operation. + CreateTime pulumi.StringPtrInput + // List of volumes requested to be onboarded. + InputVolumes pulumi.StringArrayInput + // The volume onboarding ID. + OnboardingId pulumi.StringPtrInput + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringPtrInput + // Description of the volume onboarding operation + PiDescription pulumi.StringPtrInput + // List of onboarding volumes. + PiOnboardingVolumes PiVolumeOnboardingPiOnboardingVolumeArrayInput + // The progress of volume onboarding operation. + Progress pulumi.Float64PtrInput + // List of volumes which are onboarded successfully. + ResultsOnboardedVolumes pulumi.StringArrayInput + // The volume onboarding failure details. + ResultsVolumeOnboardingFailures PiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput + // The status of volume onboarding operation. + Status pulumi.StringPtrInput +} + +func (PiVolumeOnboardingState) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeOnboardingState)(nil)).Elem() +} + +type piVolumeOnboardingArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Description of the volume onboarding operation + PiDescription *string `pulumi:"piDescription"` + // List of onboarding volumes. + PiOnboardingVolumes []PiVolumeOnboardingPiOnboardingVolume `pulumi:"piOnboardingVolumes"` +} + +// The set of arguments for constructing a PiVolumeOnboarding resource. +type PiVolumeOnboardingArgs struct { + // The GUID of the service instance associated with an account. + PiCloudInstanceId pulumi.StringInput + // Description of the volume onboarding operation + PiDescription pulumi.StringPtrInput + // List of onboarding volumes. + PiOnboardingVolumes PiVolumeOnboardingPiOnboardingVolumeArrayInput +} + +func (PiVolumeOnboardingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piVolumeOnboardingArgs)(nil)).Elem() +} + +type PiVolumeOnboardingInput interface { + pulumi.Input + + ToPiVolumeOnboardingOutput() PiVolumeOnboardingOutput + ToPiVolumeOnboardingOutputWithContext(ctx context.Context) PiVolumeOnboardingOutput +} + +func (*PiVolumeOnboarding) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeOnboarding)(nil)).Elem() +} + +func (i *PiVolumeOnboarding) ToPiVolumeOnboardingOutput() PiVolumeOnboardingOutput { + return i.ToPiVolumeOnboardingOutputWithContext(context.Background()) +} + +func (i *PiVolumeOnboarding) ToPiVolumeOnboardingOutputWithContext(ctx context.Context) PiVolumeOnboardingOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeOnboardingOutput) +} + +type PiVolumeOnboardingOutput struct{ *pulumi.OutputState } + +func (PiVolumeOnboardingOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeOnboarding)(nil)).Elem() +} + +func (o PiVolumeOnboardingOutput) ToPiVolumeOnboardingOutput() PiVolumeOnboardingOutput { + return o +} + +func (o PiVolumeOnboardingOutput) ToPiVolumeOnboardingOutputWithContext(ctx context.Context) PiVolumeOnboardingOutput { + return o +} + +// The create time of volume onboarding operation. +func (o PiVolumeOnboardingOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// List of volumes requested to be onboarded. +func (o PiVolumeOnboardingOutput) InputVolumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) pulumi.StringArrayOutput { return v.InputVolumes }).(pulumi.StringArrayOutput) +} + +// The volume onboarding ID. +func (o PiVolumeOnboardingOutput) OnboardingId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) pulumi.StringOutput { return v.OnboardingId }).(pulumi.StringOutput) +} + +// The GUID of the service instance associated with an account. +func (o PiVolumeOnboardingOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Description of the volume onboarding operation +func (o PiVolumeOnboardingOutput) PiDescription() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) pulumi.StringOutput { return v.PiDescription }).(pulumi.StringOutput) +} + +// List of onboarding volumes. +func (o PiVolumeOnboardingOutput) PiOnboardingVolumes() PiVolumeOnboardingPiOnboardingVolumeArrayOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) PiVolumeOnboardingPiOnboardingVolumeArrayOutput { + return v.PiOnboardingVolumes + }).(PiVolumeOnboardingPiOnboardingVolumeArrayOutput) +} + +// The progress of volume onboarding operation. +func (o PiVolumeOnboardingOutput) Progress() pulumi.Float64Output { + return o.ApplyT(func(v *PiVolumeOnboarding) pulumi.Float64Output { return v.Progress }).(pulumi.Float64Output) +} + +// List of volumes which are onboarded successfully. +func (o PiVolumeOnboardingOutput) ResultsOnboardedVolumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) pulumi.StringArrayOutput { return v.ResultsOnboardedVolumes }).(pulumi.StringArrayOutput) +} + +// The volume onboarding failure details. +func (o PiVolumeOnboardingOutput) ResultsVolumeOnboardingFailures() PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return v.ResultsVolumeOnboardingFailures + }).(PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) +} + +// The status of volume onboarding operation. +func (o PiVolumeOnboardingOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *PiVolumeOnboarding) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeOnboardingInput)(nil)).Elem(), &PiVolumeOnboarding{}) + pulumi.RegisterOutputType(PiVolumeOnboardingOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVpnConnection.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVpnConnection.go new file mode 100644 index 000000000..991499539 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piVpnConnection.go @@ -0,0 +1,305 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiVpnConnection struct { + pulumi.CustomResourceState + + // VPN connection ID + ConnectionId pulumi.StringOutput `pulumi:"connectionId"` + // Status of the VPN connection + ConnectionStatus pulumi.StringOutput `pulumi:"connectionStatus"` + // Dead Peer Detection + DeadPeerDetections pulumi.StringMapOutput `pulumi:"deadPeerDetections"` + // Public IP address of the VPN Gateway (vSRX) attached to this VPN Connection + GatewayAddress pulumi.StringOutput `pulumi:"gatewayAddress"` + // Local Gateway address, only in 'route' mode + LocalGatewayAddress pulumi.StringOutput `pulumi:"localGatewayAddress"` + // PI cloud instance ID + PiCloudInstanceId pulumi.StringOutput `pulumi:"piCloudInstanceId"` + // Unique identifier of IKE Policy selected for this VPN Connection + PiIkePolicyId pulumi.StringOutput `pulumi:"piIkePolicyId"` + // Unique identifier of IPSec Policy selected for this VPN Connection + PiIpsecPolicyId pulumi.StringOutput `pulumi:"piIpsecPolicyId"` + // Set of network IDs to attach to this VPN connection + PiNetworks pulumi.StringArrayOutput `pulumi:"piNetworks"` + // Peer Gateway address + PiPeerGatewayAddress pulumi.StringOutput `pulumi:"piPeerGatewayAddress"` + // Set of CIDR of peer subnets + PiPeerSubnets pulumi.StringArrayOutput `pulumi:"piPeerSubnets"` + // Mode used by this VPN Connection, either 'policy' or 'route' + PiVpnConnectionMode pulumi.StringOutput `pulumi:"piVpnConnectionMode"` + // Name of the VPN Connection + PiVpnConnectionName pulumi.StringOutput `pulumi:"piVpnConnectionName"` +} + +// NewPiVpnConnection registers a new resource with the given unique name, arguments, and options. +func NewPiVpnConnection(ctx *pulumi.Context, + name string, args *PiVpnConnectionArgs, opts ...pulumi.ResourceOption) (*PiVpnConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiCloudInstanceId == nil { + return nil, errors.New("invalid value for required argument 'PiCloudInstanceId'") + } + if args.PiIkePolicyId == nil { + return nil, errors.New("invalid value for required argument 'PiIkePolicyId'") + } + if args.PiIpsecPolicyId == nil { + return nil, errors.New("invalid value for required argument 'PiIpsecPolicyId'") + } + if args.PiNetworks == nil { + return nil, errors.New("invalid value for required argument 'PiNetworks'") + } + if args.PiPeerGatewayAddress == nil { + return nil, errors.New("invalid value for required argument 'PiPeerGatewayAddress'") + } + if args.PiPeerSubnets == nil { + return nil, errors.New("invalid value for required argument 'PiPeerSubnets'") + } + if args.PiVpnConnectionMode == nil { + return nil, errors.New("invalid value for required argument 'PiVpnConnectionMode'") + } + if args.PiVpnConnectionName == nil { + return nil, errors.New("invalid value for required argument 'PiVpnConnectionName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiVpnConnection + err := ctx.RegisterResource("ibmcloud:index/piVpnConnection:PiVpnConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiVpnConnection gets an existing PiVpnConnection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiVpnConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiVpnConnectionState, opts ...pulumi.ResourceOption) (*PiVpnConnection, error) { + var resource PiVpnConnection + err := ctx.ReadResource("ibmcloud:index/piVpnConnection:PiVpnConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiVpnConnection resources. +type piVpnConnectionState struct { + // VPN connection ID + ConnectionId *string `pulumi:"connectionId"` + // Status of the VPN connection + ConnectionStatus *string `pulumi:"connectionStatus"` + // Dead Peer Detection + DeadPeerDetections map[string]string `pulumi:"deadPeerDetections"` + // Public IP address of the VPN Gateway (vSRX) attached to this VPN Connection + GatewayAddress *string `pulumi:"gatewayAddress"` + // Local Gateway address, only in 'route' mode + LocalGatewayAddress *string `pulumi:"localGatewayAddress"` + // PI cloud instance ID + PiCloudInstanceId *string `pulumi:"piCloudInstanceId"` + // Unique identifier of IKE Policy selected for this VPN Connection + PiIkePolicyId *string `pulumi:"piIkePolicyId"` + // Unique identifier of IPSec Policy selected for this VPN Connection + PiIpsecPolicyId *string `pulumi:"piIpsecPolicyId"` + // Set of network IDs to attach to this VPN connection + PiNetworks []string `pulumi:"piNetworks"` + // Peer Gateway address + PiPeerGatewayAddress *string `pulumi:"piPeerGatewayAddress"` + // Set of CIDR of peer subnets + PiPeerSubnets []string `pulumi:"piPeerSubnets"` + // Mode used by this VPN Connection, either 'policy' or 'route' + PiVpnConnectionMode *string `pulumi:"piVpnConnectionMode"` + // Name of the VPN Connection + PiVpnConnectionName *string `pulumi:"piVpnConnectionName"` +} + +type PiVpnConnectionState struct { + // VPN connection ID + ConnectionId pulumi.StringPtrInput + // Status of the VPN connection + ConnectionStatus pulumi.StringPtrInput + // Dead Peer Detection + DeadPeerDetections pulumi.StringMapInput + // Public IP address of the VPN Gateway (vSRX) attached to this VPN Connection + GatewayAddress pulumi.StringPtrInput + // Local Gateway address, only in 'route' mode + LocalGatewayAddress pulumi.StringPtrInput + // PI cloud instance ID + PiCloudInstanceId pulumi.StringPtrInput + // Unique identifier of IKE Policy selected for this VPN Connection + PiIkePolicyId pulumi.StringPtrInput + // Unique identifier of IPSec Policy selected for this VPN Connection + PiIpsecPolicyId pulumi.StringPtrInput + // Set of network IDs to attach to this VPN connection + PiNetworks pulumi.StringArrayInput + // Peer Gateway address + PiPeerGatewayAddress pulumi.StringPtrInput + // Set of CIDR of peer subnets + PiPeerSubnets pulumi.StringArrayInput + // Mode used by this VPN Connection, either 'policy' or 'route' + PiVpnConnectionMode pulumi.StringPtrInput + // Name of the VPN Connection + PiVpnConnectionName pulumi.StringPtrInput +} + +func (PiVpnConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*piVpnConnectionState)(nil)).Elem() +} + +type piVpnConnectionArgs struct { + // PI cloud instance ID + PiCloudInstanceId string `pulumi:"piCloudInstanceId"` + // Unique identifier of IKE Policy selected for this VPN Connection + PiIkePolicyId string `pulumi:"piIkePolicyId"` + // Unique identifier of IPSec Policy selected for this VPN Connection + PiIpsecPolicyId string `pulumi:"piIpsecPolicyId"` + // Set of network IDs to attach to this VPN connection + PiNetworks []string `pulumi:"piNetworks"` + // Peer Gateway address + PiPeerGatewayAddress string `pulumi:"piPeerGatewayAddress"` + // Set of CIDR of peer subnets + PiPeerSubnets []string `pulumi:"piPeerSubnets"` + // Mode used by this VPN Connection, either 'policy' or 'route' + PiVpnConnectionMode string `pulumi:"piVpnConnectionMode"` + // Name of the VPN Connection + PiVpnConnectionName string `pulumi:"piVpnConnectionName"` +} + +// The set of arguments for constructing a PiVpnConnection resource. +type PiVpnConnectionArgs struct { + // PI cloud instance ID + PiCloudInstanceId pulumi.StringInput + // Unique identifier of IKE Policy selected for this VPN Connection + PiIkePolicyId pulumi.StringInput + // Unique identifier of IPSec Policy selected for this VPN Connection + PiIpsecPolicyId pulumi.StringInput + // Set of network IDs to attach to this VPN connection + PiNetworks pulumi.StringArrayInput + // Peer Gateway address + PiPeerGatewayAddress pulumi.StringInput + // Set of CIDR of peer subnets + PiPeerSubnets pulumi.StringArrayInput + // Mode used by this VPN Connection, either 'policy' or 'route' + PiVpnConnectionMode pulumi.StringInput + // Name of the VPN Connection + PiVpnConnectionName pulumi.StringInput +} + +func (PiVpnConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piVpnConnectionArgs)(nil)).Elem() +} + +type PiVpnConnectionInput interface { + pulumi.Input + + ToPiVpnConnectionOutput() PiVpnConnectionOutput + ToPiVpnConnectionOutputWithContext(ctx context.Context) PiVpnConnectionOutput +} + +func (*PiVpnConnection) ElementType() reflect.Type { + return reflect.TypeOf((**PiVpnConnection)(nil)).Elem() +} + +func (i *PiVpnConnection) ToPiVpnConnectionOutput() PiVpnConnectionOutput { + return i.ToPiVpnConnectionOutputWithContext(context.Background()) +} + +func (i *PiVpnConnection) ToPiVpnConnectionOutputWithContext(ctx context.Context) PiVpnConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVpnConnectionOutput) +} + +type PiVpnConnectionOutput struct{ *pulumi.OutputState } + +func (PiVpnConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVpnConnection)(nil)).Elem() +} + +func (o PiVpnConnectionOutput) ToPiVpnConnectionOutput() PiVpnConnectionOutput { + return o +} + +func (o PiVpnConnectionOutput) ToPiVpnConnectionOutputWithContext(ctx context.Context) PiVpnConnectionOutput { + return o +} + +// VPN connection ID +func (o PiVpnConnectionOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.ConnectionId }).(pulumi.StringOutput) +} + +// Status of the VPN connection +func (o PiVpnConnectionOutput) ConnectionStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.ConnectionStatus }).(pulumi.StringOutput) +} + +// Dead Peer Detection +func (o PiVpnConnectionOutput) DeadPeerDetections() pulumi.StringMapOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringMapOutput { return v.DeadPeerDetections }).(pulumi.StringMapOutput) +} + +// Public IP address of the VPN Gateway (vSRX) attached to this VPN Connection +func (o PiVpnConnectionOutput) GatewayAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.GatewayAddress }).(pulumi.StringOutput) +} + +// Local Gateway address, only in 'route' mode +func (o PiVpnConnectionOutput) LocalGatewayAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.LocalGatewayAddress }).(pulumi.StringOutput) +} + +// PI cloud instance ID +func (o PiVpnConnectionOutput) PiCloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.PiCloudInstanceId }).(pulumi.StringOutput) +} + +// Unique identifier of IKE Policy selected for this VPN Connection +func (o PiVpnConnectionOutput) PiIkePolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.PiIkePolicyId }).(pulumi.StringOutput) +} + +// Unique identifier of IPSec Policy selected for this VPN Connection +func (o PiVpnConnectionOutput) PiIpsecPolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.PiIpsecPolicyId }).(pulumi.StringOutput) +} + +// Set of network IDs to attach to this VPN connection +func (o PiVpnConnectionOutput) PiNetworks() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringArrayOutput { return v.PiNetworks }).(pulumi.StringArrayOutput) +} + +// Peer Gateway address +func (o PiVpnConnectionOutput) PiPeerGatewayAddress() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.PiPeerGatewayAddress }).(pulumi.StringOutput) +} + +// Set of CIDR of peer subnets +func (o PiVpnConnectionOutput) PiPeerSubnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringArrayOutput { return v.PiPeerSubnets }).(pulumi.StringArrayOutput) +} + +// Mode used by this VPN Connection, either 'policy' or 'route' +func (o PiVpnConnectionOutput) PiVpnConnectionMode() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.PiVpnConnectionMode }).(pulumi.StringOutput) +} + +// Name of the VPN Connection +func (o PiVpnConnectionOutput) PiVpnConnectionName() pulumi.StringOutput { + return o.ApplyT(func(v *PiVpnConnection) pulumi.StringOutput { return v.PiVpnConnectionName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiVpnConnectionInput)(nil)).Elem(), &PiVpnConnection{}) + pulumi.RegisterOutputType(PiVpnConnectionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piWorkspace.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piWorkspace.go new file mode 100644 index 000000000..14fd667ee --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/piWorkspace.go @@ -0,0 +1,220 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type PiWorkspace struct { + pulumi.CustomResourceState + + // The Workspace crn. + Crn pulumi.StringOutput `pulumi:"crn"` + // Target location or environment to create the resource instance. + PiDatacenter pulumi.StringOutput `pulumi:"piDatacenter"` + // A descriptive name used to identify the workspace. + PiName pulumi.StringOutput `pulumi:"piName"` + // Plan associated with the offering; Valid values are public or private. + PiPlan pulumi.StringPtrOutput `pulumi:"piPlan"` + // The ID of the resource group where you want to create the workspace. You can retrieve the value from data source ibm_resource_group. + PiResourceGroupId pulumi.StringOutput `pulumi:"piResourceGroupId"` + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayOutput `pulumi:"piUserTags"` + // Workspace information. + // + // Deprecated: This field is deprecated, use crn instead. + PiWorkspaceDetails pulumi.StringMapOutput `pulumi:"piWorkspaceDetails"` +} + +// NewPiWorkspace registers a new resource with the given unique name, arguments, and options. +func NewPiWorkspace(ctx *pulumi.Context, + name string, args *PiWorkspaceArgs, opts ...pulumi.ResourceOption) (*PiWorkspace, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PiDatacenter == nil { + return nil, errors.New("invalid value for required argument 'PiDatacenter'") + } + if args.PiName == nil { + return nil, errors.New("invalid value for required argument 'PiName'") + } + if args.PiResourceGroupId == nil { + return nil, errors.New("invalid value for required argument 'PiResourceGroupId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PiWorkspace + err := ctx.RegisterResource("ibmcloud:index/piWorkspace:PiWorkspace", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPiWorkspace gets an existing PiWorkspace resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetPiWorkspace(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PiWorkspaceState, opts ...pulumi.ResourceOption) (*PiWorkspace, error) { + var resource PiWorkspace + err := ctx.ReadResource("ibmcloud:index/piWorkspace:PiWorkspace", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PiWorkspace resources. +type piWorkspaceState struct { + // The Workspace crn. + Crn *string `pulumi:"crn"` + // Target location or environment to create the resource instance. + PiDatacenter *string `pulumi:"piDatacenter"` + // A descriptive name used to identify the workspace. + PiName *string `pulumi:"piName"` + // Plan associated with the offering; Valid values are public or private. + PiPlan *string `pulumi:"piPlan"` + // The ID of the resource group where you want to create the workspace. You can retrieve the value from data source ibm_resource_group. + PiResourceGroupId *string `pulumi:"piResourceGroupId"` + // List of user tags attached to the resource. + PiUserTags []string `pulumi:"piUserTags"` + // Workspace information. + // + // Deprecated: This field is deprecated, use crn instead. + PiWorkspaceDetails map[string]string `pulumi:"piWorkspaceDetails"` +} + +type PiWorkspaceState struct { + // The Workspace crn. + Crn pulumi.StringPtrInput + // Target location or environment to create the resource instance. + PiDatacenter pulumi.StringPtrInput + // A descriptive name used to identify the workspace. + PiName pulumi.StringPtrInput + // Plan associated with the offering; Valid values are public or private. + PiPlan pulumi.StringPtrInput + // The ID of the resource group where you want to create the workspace. You can retrieve the value from data source ibm_resource_group. + PiResourceGroupId pulumi.StringPtrInput + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayInput + // Workspace information. + // + // Deprecated: This field is deprecated, use crn instead. + PiWorkspaceDetails pulumi.StringMapInput +} + +func (PiWorkspaceState) ElementType() reflect.Type { + return reflect.TypeOf((*piWorkspaceState)(nil)).Elem() +} + +type piWorkspaceArgs struct { + // Target location or environment to create the resource instance. + PiDatacenter string `pulumi:"piDatacenter"` + // A descriptive name used to identify the workspace. + PiName string `pulumi:"piName"` + // Plan associated with the offering; Valid values are public or private. + PiPlan *string `pulumi:"piPlan"` + // The ID of the resource group where you want to create the workspace. You can retrieve the value from data source ibm_resource_group. + PiResourceGroupId string `pulumi:"piResourceGroupId"` + // List of user tags attached to the resource. + PiUserTags []string `pulumi:"piUserTags"` +} + +// The set of arguments for constructing a PiWorkspace resource. +type PiWorkspaceArgs struct { + // Target location or environment to create the resource instance. + PiDatacenter pulumi.StringInput + // A descriptive name used to identify the workspace. + PiName pulumi.StringInput + // Plan associated with the offering; Valid values are public or private. + PiPlan pulumi.StringPtrInput + // The ID of the resource group where you want to create the workspace. You can retrieve the value from data source ibm_resource_group. + PiResourceGroupId pulumi.StringInput + // List of user tags attached to the resource. + PiUserTags pulumi.StringArrayInput +} + +func (PiWorkspaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*piWorkspaceArgs)(nil)).Elem() +} + +type PiWorkspaceInput interface { + pulumi.Input + + ToPiWorkspaceOutput() PiWorkspaceOutput + ToPiWorkspaceOutputWithContext(ctx context.Context) PiWorkspaceOutput +} + +func (*PiWorkspace) ElementType() reflect.Type { + return reflect.TypeOf((**PiWorkspace)(nil)).Elem() +} + +func (i *PiWorkspace) ToPiWorkspaceOutput() PiWorkspaceOutput { + return i.ToPiWorkspaceOutputWithContext(context.Background()) +} + +func (i *PiWorkspace) ToPiWorkspaceOutputWithContext(ctx context.Context) PiWorkspaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiWorkspaceOutput) +} + +type PiWorkspaceOutput struct{ *pulumi.OutputState } + +func (PiWorkspaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiWorkspace)(nil)).Elem() +} + +func (o PiWorkspaceOutput) ToPiWorkspaceOutput() PiWorkspaceOutput { + return o +} + +func (o PiWorkspaceOutput) ToPiWorkspaceOutputWithContext(ctx context.Context) PiWorkspaceOutput { + return o +} + +// The Workspace crn. +func (o PiWorkspaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *PiWorkspace) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Target location or environment to create the resource instance. +func (o PiWorkspaceOutput) PiDatacenter() pulumi.StringOutput { + return o.ApplyT(func(v *PiWorkspace) pulumi.StringOutput { return v.PiDatacenter }).(pulumi.StringOutput) +} + +// A descriptive name used to identify the workspace. +func (o PiWorkspaceOutput) PiName() pulumi.StringOutput { + return o.ApplyT(func(v *PiWorkspace) pulumi.StringOutput { return v.PiName }).(pulumi.StringOutput) +} + +// Plan associated with the offering; Valid values are public or private. +func (o PiWorkspaceOutput) PiPlan() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiWorkspace) pulumi.StringPtrOutput { return v.PiPlan }).(pulumi.StringPtrOutput) +} + +// The ID of the resource group where you want to create the workspace. You can retrieve the value from data source ibm_resource_group. +func (o PiWorkspaceOutput) PiResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PiWorkspace) pulumi.StringOutput { return v.PiResourceGroupId }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o PiWorkspaceOutput) PiUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiWorkspace) pulumi.StringArrayOutput { return v.PiUserTags }).(pulumi.StringArrayOutput) +} + +// Workspace information. +// +// Deprecated: This field is deprecated, use crn instead. +func (o PiWorkspaceOutput) PiWorkspaceDetails() pulumi.StringMapOutput { + return o.ApplyT(func(v *PiWorkspace) pulumi.StringMapOutput { return v.PiWorkspaceDetails }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiWorkspaceInput)(nil)).Elem(), &PiWorkspace{}) + pulumi.RegisterOutputType(PiWorkspaceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/provider.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/provider.go new file mode 100644 index 000000000..5d89a6308 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/provider.go @@ -0,0 +1,425 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The provider type for the ibmcloud package. By default, resources use package-wide configuration +// settings, however an explicit `Provider` instance may be created and passed during resource +// construction to achieve fine-grained programmatic control over provider settings. See the +// [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. +type Provider struct { + pulumi.ProviderResourceState + + // The Bluemix API Key + // + // Deprecated: This field is deprecated please use ibmcloud_api_key + BluemixApiKey pulumi.StringPtrOutput `pulumi:"bluemixApiKey"` + // Path of the file that contains private and public regional endpoints mapping + EndpointsFilePath pulumi.StringPtrOutput `pulumi:"endpointsFilePath"` + // The IBM Cloud Function namespace + // + // Deprecated: This field will be deprecated soon + FunctionNamespace pulumi.StringPtrOutput `pulumi:"functionNamespace"` + // The Classic Infrastructure API Key + IaasClassicApiKey pulumi.StringPtrOutput `pulumi:"iaasClassicApiKey"` + // The Classic Infrastructure Endpoint + IaasClassicEndpointUrl pulumi.StringPtrOutput `pulumi:"iaasClassicEndpointUrl"` + // The Classic Infrastructure API user name + IaasClassicUsername pulumi.StringPtrOutput `pulumi:"iaasClassicUsername"` + // IAM Trusted Profile ID + IamProfileId pulumi.StringPtrOutput `pulumi:"iamProfileId"` + // IAM Trusted Profile Name + IamProfileName pulumi.StringPtrOutput `pulumi:"iamProfileName"` + // IAM Authentication refresh token + IamRefreshToken pulumi.StringPtrOutput `pulumi:"iamRefreshToken"` + // IAM Authentication token + IamToken pulumi.StringPtrOutput `pulumi:"iamToken"` + // The IBM Cloud account ID + IbmcloudAccountId pulumi.StringPtrOutput `pulumi:"ibmcloudAccountId"` + // The IBM Cloud API Key + IbmcloudApiKey pulumi.StringPtrOutput `pulumi:"ibmcloudApiKey"` + // Private Endpoint type used by the service endpoints. Example: vpe. + PrivateEndpointType pulumi.StringPtrOutput `pulumi:"privateEndpointType"` + // The IBM cloud Region (for example 'us-south'). + Region pulumi.StringPtrOutput `pulumi:"region"` + // The Resource group id. + ResourceGroup pulumi.StringPtrOutput `pulumi:"resourceGroup"` + // The next generation infrastructure service endpoint url. + // + // Deprecated: This field is deprecated use generation + RiaasEndpoint pulumi.StringPtrOutput `pulumi:"riaasEndpoint"` + // The SoftLayer API Key + // + // Deprecated: This field is deprecated please use iaas_classic_api_key + SoftlayerApiKey pulumi.StringPtrOutput `pulumi:"softlayerApiKey"` + // The Softlayer Endpoint + // + // Deprecated: This field is deprecated please use iaas_classic_endpoint_url + SoftlayerEndpointUrl pulumi.StringPtrOutput `pulumi:"softlayerEndpointUrl"` + // The SoftLayer user name + // + // Deprecated: This field is deprecated please use iaas_classic_username + SoftlayerUsername pulumi.StringPtrOutput `pulumi:"softlayerUsername"` + // Visibility of the provider if it is private or public. + Visibility pulumi.StringPtrOutput `pulumi:"visibility"` + // The IBM cloud Region zone (for example 'us-south-1') for power resources. + Zone pulumi.StringPtrOutput `pulumi:"zone"` +} + +// NewProvider registers a new resource with the given unique name, arguments, and options. +func NewProvider(ctx *pulumi.Context, + name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) { + if args == nil { + args = &ProviderArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Provider + err := ctx.RegisterResource("pulumi:providers:ibmcloud", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +type providerArgs struct { + // The Bluemix API Key + // + // Deprecated: This field is deprecated please use ibmcloud_api_key + BluemixApiKey *string `pulumi:"bluemixApiKey"` + // The timeout (in seconds) to set for any Bluemix API calls made. + // + // Deprecated: This field is deprecated please use ibmcloud_timeout + BluemixTimeout *int `pulumi:"bluemixTimeout"` + // Path of the file that contains private and public regional endpoints mapping + EndpointsFilePath *string `pulumi:"endpointsFilePath"` + // The IBM Cloud Function namespace + // + // Deprecated: This field will be deprecated soon + FunctionNamespace *string `pulumi:"functionNamespace"` + // Generation of Virtual Private Cloud. Default is 2 + // + // Deprecated: The generation field is deprecated and will be removed after couple of releases + Generation *int `pulumi:"generation"` + // The Classic Infrastructure API Key + IaasClassicApiKey *string `pulumi:"iaasClassicApiKey"` + // The Classic Infrastructure Endpoint + IaasClassicEndpointUrl *string `pulumi:"iaasClassicEndpointUrl"` + // The timeout (in seconds) to set for any Classic Infrastructure API calls made. + IaasClassicTimeout *int `pulumi:"iaasClassicTimeout"` + // The Classic Infrastructure API user name + IaasClassicUsername *string `pulumi:"iaasClassicUsername"` + // IAM Trusted Profile ID + IamProfileId *string `pulumi:"iamProfileId"` + // IAM Trusted Profile Name + IamProfileName *string `pulumi:"iamProfileName"` + // IAM Authentication refresh token + IamRefreshToken *string `pulumi:"iamRefreshToken"` + // IAM Authentication token + IamToken *string `pulumi:"iamToken"` + // The IBM Cloud account ID + IbmcloudAccountId *string `pulumi:"ibmcloudAccountId"` + // The IBM Cloud API Key + IbmcloudApiKey *string `pulumi:"ibmcloudApiKey"` + // The timeout (in seconds) to set for any IBM Cloud API calls made. + IbmcloudTimeout *int `pulumi:"ibmcloudTimeout"` + // The retry count to set for API calls. + MaxRetries *int `pulumi:"maxRetries"` + // Private Endpoint type used by the service endpoints. Example: vpe. + PrivateEndpointType *string `pulumi:"privateEndpointType"` + // The IBM cloud Region (for example 'us-south'). + Region *string `pulumi:"region"` + // The Resource group id. + ResourceGroup *string `pulumi:"resourceGroup"` + // The next generation infrastructure service endpoint url. + // + // Deprecated: This field is deprecated use generation + RiaasEndpoint *string `pulumi:"riaasEndpoint"` + // The SoftLayer API Key + // + // Deprecated: This field is deprecated please use iaas_classic_api_key + SoftlayerApiKey *string `pulumi:"softlayerApiKey"` + // The Softlayer Endpoint + // + // Deprecated: This field is deprecated please use iaas_classic_endpoint_url + SoftlayerEndpointUrl *string `pulumi:"softlayerEndpointUrl"` + // The timeout (in seconds) to set for any SoftLayer API calls made. + // + // Deprecated: This field is deprecated please use iaas_classic_timeout + SoftlayerTimeout *int `pulumi:"softlayerTimeout"` + // The SoftLayer user name + // + // Deprecated: This field is deprecated please use iaas_classic_username + SoftlayerUsername *string `pulumi:"softlayerUsername"` + // Visibility of the provider if it is private or public. + Visibility *string `pulumi:"visibility"` + // The IBM cloud Region zone (for example 'us-south-1') for power resources. + Zone *string `pulumi:"zone"` +} + +// The set of arguments for constructing a Provider resource. +type ProviderArgs struct { + // The Bluemix API Key + // + // Deprecated: This field is deprecated please use ibmcloud_api_key + BluemixApiKey pulumi.StringPtrInput + // The timeout (in seconds) to set for any Bluemix API calls made. + // + // Deprecated: This field is deprecated please use ibmcloud_timeout + BluemixTimeout pulumi.IntPtrInput + // Path of the file that contains private and public regional endpoints mapping + EndpointsFilePath pulumi.StringPtrInput + // The IBM Cloud Function namespace + // + // Deprecated: This field will be deprecated soon + FunctionNamespace pulumi.StringPtrInput + // Generation of Virtual Private Cloud. Default is 2 + // + // Deprecated: The generation field is deprecated and will be removed after couple of releases + Generation pulumi.IntPtrInput + // The Classic Infrastructure API Key + IaasClassicApiKey pulumi.StringPtrInput + // The Classic Infrastructure Endpoint + IaasClassicEndpointUrl pulumi.StringPtrInput + // The timeout (in seconds) to set for any Classic Infrastructure API calls made. + IaasClassicTimeout pulumi.IntPtrInput + // The Classic Infrastructure API user name + IaasClassicUsername pulumi.StringPtrInput + // IAM Trusted Profile ID + IamProfileId pulumi.StringPtrInput + // IAM Trusted Profile Name + IamProfileName pulumi.StringPtrInput + // IAM Authentication refresh token + IamRefreshToken pulumi.StringPtrInput + // IAM Authentication token + IamToken pulumi.StringPtrInput + // The IBM Cloud account ID + IbmcloudAccountId pulumi.StringPtrInput + // The IBM Cloud API Key + IbmcloudApiKey pulumi.StringPtrInput + // The timeout (in seconds) to set for any IBM Cloud API calls made. + IbmcloudTimeout pulumi.IntPtrInput + // The retry count to set for API calls. + MaxRetries pulumi.IntPtrInput + // Private Endpoint type used by the service endpoints. Example: vpe. + PrivateEndpointType pulumi.StringPtrInput + // The IBM cloud Region (for example 'us-south'). + Region pulumi.StringPtrInput + // The Resource group id. + ResourceGroup pulumi.StringPtrInput + // The next generation infrastructure service endpoint url. + // + // Deprecated: This field is deprecated use generation + RiaasEndpoint pulumi.StringPtrInput + // The SoftLayer API Key + // + // Deprecated: This field is deprecated please use iaas_classic_api_key + SoftlayerApiKey pulumi.StringPtrInput + // The Softlayer Endpoint + // + // Deprecated: This field is deprecated please use iaas_classic_endpoint_url + SoftlayerEndpointUrl pulumi.StringPtrInput + // The timeout (in seconds) to set for any SoftLayer API calls made. + // + // Deprecated: This field is deprecated please use iaas_classic_timeout + SoftlayerTimeout pulumi.IntPtrInput + // The SoftLayer user name + // + // Deprecated: This field is deprecated please use iaas_classic_username + SoftlayerUsername pulumi.StringPtrInput + // Visibility of the provider if it is private or public. + Visibility pulumi.StringPtrInput + // The IBM cloud Region zone (for example 'us-south-1') for power resources. + Zone pulumi.StringPtrInput +} + +func (ProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*providerArgs)(nil)).Elem() +} + +// This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider. +func (r *Provider) TerraformConfig(ctx *pulumi.Context) (ProviderTerraformConfigResultOutput, error) { + out, err := ctx.Call("pulumi:providers:ibmcloud/terraformConfig", nil, ProviderTerraformConfigResultOutput{}, r) + if err != nil { + return ProviderTerraformConfigResultOutput{}, err + } + return out.(ProviderTerraformConfigResultOutput), nil +} + +type ProviderTerraformConfigResult struct { + Result map[string]interface{} `pulumi:"result"` +} + +type ProviderTerraformConfigResultOutput struct{ *pulumi.OutputState } + +func (ProviderTerraformConfigResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderTerraformConfigResult)(nil)).Elem() +} + +func (o ProviderTerraformConfigResultOutput) Result() pulumi.MapOutput { + return o.ApplyT(func(v ProviderTerraformConfigResult) map[string]interface{} { return v.Result }).(pulumi.MapOutput) +} + +type ProviderInput interface { + pulumi.Input + + ToProviderOutput() ProviderOutput + ToProviderOutputWithContext(ctx context.Context) ProviderOutput +} + +func (*Provider) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (i *Provider) ToProviderOutput() ProviderOutput { + return i.ToProviderOutputWithContext(context.Background()) +} + +func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) +} + +type ProviderOutput struct{ *pulumi.OutputState } + +func (ProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (o ProviderOutput) ToProviderOutput() ProviderOutput { + return o +} + +func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return o +} + +// The Bluemix API Key +// +// Deprecated: This field is deprecated please use ibmcloud_api_key +func (o ProviderOutput) BluemixApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.BluemixApiKey }).(pulumi.StringPtrOutput) +} + +// Path of the file that contains private and public regional endpoints mapping +func (o ProviderOutput) EndpointsFilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.EndpointsFilePath }).(pulumi.StringPtrOutput) +} + +// The IBM Cloud Function namespace +// +// Deprecated: This field will be deprecated soon +func (o ProviderOutput) FunctionNamespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.FunctionNamespace }).(pulumi.StringPtrOutput) +} + +// The Classic Infrastructure API Key +func (o ProviderOutput) IaasClassicApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IaasClassicApiKey }).(pulumi.StringPtrOutput) +} + +// The Classic Infrastructure Endpoint +func (o ProviderOutput) IaasClassicEndpointUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IaasClassicEndpointUrl }).(pulumi.StringPtrOutput) +} + +// The Classic Infrastructure API user name +func (o ProviderOutput) IaasClassicUsername() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IaasClassicUsername }).(pulumi.StringPtrOutput) +} + +// IAM Trusted Profile ID +func (o ProviderOutput) IamProfileId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IamProfileId }).(pulumi.StringPtrOutput) +} + +// IAM Trusted Profile Name +func (o ProviderOutput) IamProfileName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IamProfileName }).(pulumi.StringPtrOutput) +} + +// IAM Authentication refresh token +func (o ProviderOutput) IamRefreshToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IamRefreshToken }).(pulumi.StringPtrOutput) +} + +// IAM Authentication token +func (o ProviderOutput) IamToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IamToken }).(pulumi.StringPtrOutput) +} + +// The IBM Cloud account ID +func (o ProviderOutput) IbmcloudAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IbmcloudAccountId }).(pulumi.StringPtrOutput) +} + +// The IBM Cloud API Key +func (o ProviderOutput) IbmcloudApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IbmcloudApiKey }).(pulumi.StringPtrOutput) +} + +// Private Endpoint type used by the service endpoints. Example: vpe. +func (o ProviderOutput) PrivateEndpointType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.PrivateEndpointType }).(pulumi.StringPtrOutput) +} + +// The IBM cloud Region (for example 'us-south'). +func (o ProviderOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Region }).(pulumi.StringPtrOutput) +} + +// The Resource group id. +func (o ProviderOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +// The next generation infrastructure service endpoint url. +// +// Deprecated: This field is deprecated use generation +func (o ProviderOutput) RiaasEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.RiaasEndpoint }).(pulumi.StringPtrOutput) +} + +// The SoftLayer API Key +// +// Deprecated: This field is deprecated please use iaas_classic_api_key +func (o ProviderOutput) SoftlayerApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.SoftlayerApiKey }).(pulumi.StringPtrOutput) +} + +// The Softlayer Endpoint +// +// Deprecated: This field is deprecated please use iaas_classic_endpoint_url +func (o ProviderOutput) SoftlayerEndpointUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.SoftlayerEndpointUrl }).(pulumi.StringPtrOutput) +} + +// The SoftLayer user name +// +// Deprecated: This field is deprecated please use iaas_classic_username +func (o ProviderOutput) SoftlayerUsername() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.SoftlayerUsername }).(pulumi.StringPtrOutput) +} + +// Visibility of the provider if it is private or public. +func (o ProviderOutput) Visibility() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Visibility }).(pulumi.StringPtrOutput) +} + +// The IBM cloud Region zone (for example 'us-south-1') for power resources. +func (o ProviderOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Zone }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) + pulumi.RegisterOutputType(ProviderOutput{}) + pulumi.RegisterOutputType(ProviderTerraformConfigResultOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumi-plugin.json b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumi-plugin.json new file mode 100644 index 000000000..31fa4662d --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumi-plugin.json @@ -0,0 +1,6 @@ +{ + "resource": true, + "name": "ibmcloud", + "version": "0.0.9", + "server": "https://github.com/mapt-oss/pulumi-ibmcloud/releases/download/v${VERSION}/" +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes.go new file mode 100644 index 000000000..043af49db --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes.go @@ -0,0 +1,74138 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type ComputeAutoscaleGroupVirtualGuestMemberTemplate struct { + BlockStorageIds []int `pulumi:"blockStorageIds"` + BulkVms []ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm `pulumi:"bulkVms"` + Cores *int `pulumi:"cores"` + Datacenter *string `pulumi:"datacenter"` + // The user provided datacenter options + DatacenterChoices []map[string]string `pulumi:"datacenterChoices"` + DedicatedAcctHostOnly *bool `pulumi:"dedicatedAcctHostOnly"` + DedicatedHostId *int `pulumi:"dedicatedHostId"` + DedicatedHostName *string `pulumi:"dedicatedHostName"` + Disks []int `pulumi:"disks"` + Domain *string `pulumi:"domain"` + Evault *int `pulumi:"evault"` + FileStorageIds []int `pulumi:"fileStorageIds"` + // Flavor key name used to provision vm. + FlavorKeyName *string `pulumi:"flavorKeyName"` + Hostname *string `pulumi:"hostname"` + HourlyBilling *bool `pulumi:"hourlyBilling"` + ImageId *int `pulumi:"imageId"` + IpAddressId *int `pulumi:"ipAddressId"` + IpAddressIdPrivate *int `pulumi:"ipAddressIdPrivate"` + Ipv4Address *string `pulumi:"ipv4Address"` + Ipv4AddressPrivate *string `pulumi:"ipv4AddressPrivate"` + Ipv6Address *string `pulumi:"ipv6Address"` + Ipv6AddressId *int `pulumi:"ipv6AddressId"` + Ipv6Enabled *bool `pulumi:"ipv6Enabled"` + Ipv6StaticEnabled *bool `pulumi:"ipv6StaticEnabled"` + LocalDisk *bool `pulumi:"localDisk"` + Memory *int `pulumi:"memory"` + NetworkSpeed *int `pulumi:"networkSpeed"` + Notes *string `pulumi:"notes"` + OsReferenceCode *string `pulumi:"osReferenceCode"` + // The placement group id + PlacementGroupId *int `pulumi:"placementGroupId"` + // The placement group name + PlacementGroupName *string `pulumi:"placementGroupName"` + PostInstallScriptUri *string `pulumi:"postInstallScriptUri"` + PrivateInterfaceId *int `pulumi:"privateInterfaceId"` + PrivateNetworkOnly *bool `pulumi:"privateNetworkOnly"` + PrivateSecurityGroupIds []int `pulumi:"privateSecurityGroupIds"` + PrivateSubnet *string `pulumi:"privateSubnet"` + PrivateSubnetId *int `pulumi:"privateSubnetId"` + PrivateVlanId *int `pulumi:"privateVlanId"` + PublicBandwidthLimited *int `pulumi:"publicBandwidthLimited"` + PublicBandwidthUnlimited *bool `pulumi:"publicBandwidthUnlimited"` + PublicInterfaceId *int `pulumi:"publicInterfaceId"` + PublicIpv6Subnet *string `pulumi:"publicIpv6Subnet"` + PublicIpv6SubnetId *int `pulumi:"publicIpv6SubnetId"` + PublicSecurityGroupIds []int `pulumi:"publicSecurityGroupIds"` + PublicSubnet *string `pulumi:"publicSubnet"` + PublicSubnetId *int `pulumi:"publicSubnetId"` + PublicVlanId *int `pulumi:"publicVlanId"` + // Quote ID for Quote based provisioning + QuoteId *int `pulumi:"quoteId"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + SecondaryIpAddresses []string `pulumi:"secondaryIpAddresses"` + SecondaryIpCount *int `pulumi:"secondaryIpCount"` + SshKeyIds []int `pulumi:"sshKeyIds"` + Tags []string `pulumi:"tags"` + Transient *bool `pulumi:"transient"` + UserMetadata *string `pulumi:"userMetadata"` +} + +// ComputeAutoscaleGroupVirtualGuestMemberTemplateInput is an input type that accepts ComputeAutoscaleGroupVirtualGuestMemberTemplateArgs and ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput values. +// You can construct a concrete instance of `ComputeAutoscaleGroupVirtualGuestMemberTemplateInput` via: +// +// ComputeAutoscaleGroupVirtualGuestMemberTemplateArgs{...} +type ComputeAutoscaleGroupVirtualGuestMemberTemplateInput interface { + pulumi.Input + + ToComputeAutoscaleGroupVirtualGuestMemberTemplateOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput + ToComputeAutoscaleGroupVirtualGuestMemberTemplateOutputWithContext(context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateArgs struct { + BlockStorageIds pulumi.IntArrayInput `pulumi:"blockStorageIds"` + BulkVms ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayInput `pulumi:"bulkVms"` + Cores pulumi.IntPtrInput `pulumi:"cores"` + Datacenter pulumi.StringPtrInput `pulumi:"datacenter"` + // The user provided datacenter options + DatacenterChoices pulumi.StringMapArrayInput `pulumi:"datacenterChoices"` + DedicatedAcctHostOnly pulumi.BoolPtrInput `pulumi:"dedicatedAcctHostOnly"` + DedicatedHostId pulumi.IntPtrInput `pulumi:"dedicatedHostId"` + DedicatedHostName pulumi.StringPtrInput `pulumi:"dedicatedHostName"` + Disks pulumi.IntArrayInput `pulumi:"disks"` + Domain pulumi.StringPtrInput `pulumi:"domain"` + Evault pulumi.IntPtrInput `pulumi:"evault"` + FileStorageIds pulumi.IntArrayInput `pulumi:"fileStorageIds"` + // Flavor key name used to provision vm. + FlavorKeyName pulumi.StringPtrInput `pulumi:"flavorKeyName"` + Hostname pulumi.StringPtrInput `pulumi:"hostname"` + HourlyBilling pulumi.BoolPtrInput `pulumi:"hourlyBilling"` + ImageId pulumi.IntPtrInput `pulumi:"imageId"` + IpAddressId pulumi.IntPtrInput `pulumi:"ipAddressId"` + IpAddressIdPrivate pulumi.IntPtrInput `pulumi:"ipAddressIdPrivate"` + Ipv4Address pulumi.StringPtrInput `pulumi:"ipv4Address"` + Ipv4AddressPrivate pulumi.StringPtrInput `pulumi:"ipv4AddressPrivate"` + Ipv6Address pulumi.StringPtrInput `pulumi:"ipv6Address"` + Ipv6AddressId pulumi.IntPtrInput `pulumi:"ipv6AddressId"` + Ipv6Enabled pulumi.BoolPtrInput `pulumi:"ipv6Enabled"` + Ipv6StaticEnabled pulumi.BoolPtrInput `pulumi:"ipv6StaticEnabled"` + LocalDisk pulumi.BoolPtrInput `pulumi:"localDisk"` + Memory pulumi.IntPtrInput `pulumi:"memory"` + NetworkSpeed pulumi.IntPtrInput `pulumi:"networkSpeed"` + Notes pulumi.StringPtrInput `pulumi:"notes"` + OsReferenceCode pulumi.StringPtrInput `pulumi:"osReferenceCode"` + // The placement group id + PlacementGroupId pulumi.IntPtrInput `pulumi:"placementGroupId"` + // The placement group name + PlacementGroupName pulumi.StringPtrInput `pulumi:"placementGroupName"` + PostInstallScriptUri pulumi.StringPtrInput `pulumi:"postInstallScriptUri"` + PrivateInterfaceId pulumi.IntPtrInput `pulumi:"privateInterfaceId"` + PrivateNetworkOnly pulumi.BoolPtrInput `pulumi:"privateNetworkOnly"` + PrivateSecurityGroupIds pulumi.IntArrayInput `pulumi:"privateSecurityGroupIds"` + PrivateSubnet pulumi.StringPtrInput `pulumi:"privateSubnet"` + PrivateSubnetId pulumi.IntPtrInput `pulumi:"privateSubnetId"` + PrivateVlanId pulumi.IntPtrInput `pulumi:"privateVlanId"` + PublicBandwidthLimited pulumi.IntPtrInput `pulumi:"publicBandwidthLimited"` + PublicBandwidthUnlimited pulumi.BoolPtrInput `pulumi:"publicBandwidthUnlimited"` + PublicInterfaceId pulumi.IntPtrInput `pulumi:"publicInterfaceId"` + PublicIpv6Subnet pulumi.StringPtrInput `pulumi:"publicIpv6Subnet"` + PublicIpv6SubnetId pulumi.IntPtrInput `pulumi:"publicIpv6SubnetId"` + PublicSecurityGroupIds pulumi.IntArrayInput `pulumi:"publicSecurityGroupIds"` + PublicSubnet pulumi.StringPtrInput `pulumi:"publicSubnet"` + PublicSubnetId pulumi.IntPtrInput `pulumi:"publicSubnetId"` + PublicVlanId pulumi.IntPtrInput `pulumi:"publicVlanId"` + // Quote ID for Quote based provisioning + QuoteId pulumi.IntPtrInput `pulumi:"quoteId"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput `pulumi:"resourceControllerUrl"` + // The name of the resource + ResourceName pulumi.StringPtrInput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringPtrInput `pulumi:"resourceStatus"` + SecondaryIpAddresses pulumi.StringArrayInput `pulumi:"secondaryIpAddresses"` + SecondaryIpCount pulumi.IntPtrInput `pulumi:"secondaryIpCount"` + SshKeyIds pulumi.IntArrayInput `pulumi:"sshKeyIds"` + Tags pulumi.StringArrayInput `pulumi:"tags"` + Transient pulumi.BoolPtrInput `pulumi:"transient"` + UserMetadata pulumi.StringPtrInput `pulumi:"userMetadata"` +} + +func (ComputeAutoscaleGroupVirtualGuestMemberTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeAutoscaleGroupVirtualGuestMemberTemplate)(nil)).Elem() +} + +func (i ComputeAutoscaleGroupVirtualGuestMemberTemplateArgs) ToComputeAutoscaleGroupVirtualGuestMemberTemplateOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput { + return i.ToComputeAutoscaleGroupVirtualGuestMemberTemplateOutputWithContext(context.Background()) +} + +func (i ComputeAutoscaleGroupVirtualGuestMemberTemplateArgs) ToComputeAutoscaleGroupVirtualGuestMemberTemplateOutputWithContext(ctx context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) +} + +// ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayInput is an input type that accepts ComputeAutoscaleGroupVirtualGuestMemberTemplateArray and ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput values. +// You can construct a concrete instance of `ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayInput` via: +// +// ComputeAutoscaleGroupVirtualGuestMemberTemplateArray{ ComputeAutoscaleGroupVirtualGuestMemberTemplateArgs{...} } +type ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayInput interface { + pulumi.Input + + ToComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput + ToComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutputWithContext(context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateArray []ComputeAutoscaleGroupVirtualGuestMemberTemplateInput + +func (ComputeAutoscaleGroupVirtualGuestMemberTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeAutoscaleGroupVirtualGuestMemberTemplate)(nil)).Elem() +} + +func (i ComputeAutoscaleGroupVirtualGuestMemberTemplateArray) ToComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput { + return i.ToComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutputWithContext(context.Background()) +} + +func (i ComputeAutoscaleGroupVirtualGuestMemberTemplateArray) ToComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutputWithContext(ctx context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput) +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeAutoscaleGroupVirtualGuestMemberTemplate)(nil)).Elem() +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) ToComputeAutoscaleGroupVirtualGuestMemberTemplateOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput { + return o +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) ToComputeAutoscaleGroupVirtualGuestMemberTemplateOutputWithContext(ctx context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput { + return o +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) BlockStorageIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []int { return v.BlockStorageIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) BulkVms() ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm { + return v.BulkVms + }).(ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Cores() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.Cores }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Datacenter() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.Datacenter }).(pulumi.StringPtrOutput) +} + +// The user provided datacenter options +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) DatacenterChoices() pulumi.StringMapArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []map[string]string { + return v.DatacenterChoices + }).(pulumi.StringMapArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) DedicatedAcctHostOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *bool { return v.DedicatedAcctHostOnly }).(pulumi.BoolPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) DedicatedHostId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.DedicatedHostId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) DedicatedHostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.DedicatedHostName }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Disks() pulumi.IntArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []int { return v.Disks }).(pulumi.IntArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Domain() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.Domain }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Evault() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.Evault }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) FileStorageIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []int { return v.FileStorageIds }).(pulumi.IntArrayOutput) +} + +// Flavor key name used to provision vm. +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) FlavorKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.FlavorKeyName }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.Hostname }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) HourlyBilling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *bool { return v.HourlyBilling }).(pulumi.BoolPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) ImageId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.ImageId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) IpAddressId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.IpAddressId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) IpAddressIdPrivate() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.IpAddressIdPrivate }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Ipv4Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.Ipv4Address }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Ipv4AddressPrivate() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.Ipv4AddressPrivate }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Ipv6Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.Ipv6Address }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Ipv6AddressId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.Ipv6AddressId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Ipv6Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *bool { return v.Ipv6Enabled }).(pulumi.BoolPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Ipv6StaticEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *bool { return v.Ipv6StaticEnabled }).(pulumi.BoolPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) LocalDisk() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *bool { return v.LocalDisk }).(pulumi.BoolPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Memory() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.Memory }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) NetworkSpeed() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.NetworkSpeed }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Notes() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.Notes }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) OsReferenceCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.OsReferenceCode }).(pulumi.StringPtrOutput) +} + +// The placement group id +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PlacementGroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PlacementGroupId }).(pulumi.IntPtrOutput) +} + +// The placement group name +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PlacementGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.PlacementGroupName }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PostInstallScriptUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.PostInstallScriptUri }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PrivateInterfaceId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PrivateInterfaceId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PrivateNetworkOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *bool { return v.PrivateNetworkOnly }).(pulumi.BoolPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PrivateSecurityGroupIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []int { return v.PrivateSecurityGroupIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PrivateSubnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.PrivateSubnet }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PrivateSubnetId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PrivateSubnetId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PrivateVlanId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PrivateVlanId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicBandwidthLimited() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PublicBandwidthLimited }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicBandwidthUnlimited() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *bool { return v.PublicBandwidthUnlimited }).(pulumi.BoolPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicInterfaceId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PublicInterfaceId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicIpv6Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.PublicIpv6Subnet }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicIpv6SubnetId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PublicIpv6SubnetId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicSecurityGroupIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []int { return v.PublicSecurityGroupIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicSubnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.PublicSubnet }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicSubnetId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PublicSubnetId }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) PublicVlanId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.PublicVlanId }).(pulumi.IntPtrOutput) +} + +// Quote ID for Quote based provisioning +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) QuoteId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.QuoteId }).(pulumi.IntPtrOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) ResourceControllerUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.ResourceControllerUrl }).(pulumi.StringPtrOutput) +} + +// The name of the resource +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) ResourceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.ResourceName }).(pulumi.StringPtrOutput) +} + +// The status of the resource +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) ResourceStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.ResourceStatus }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) SecondaryIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []string { return v.SecondaryIpAddresses }).(pulumi.StringArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) SecondaryIpCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *int { return v.SecondaryIpCount }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) SshKeyIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []int { return v.SshKeyIds }).(pulumi.IntArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) Transient() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *bool { return v.Transient }).(pulumi.BoolPtrOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) UserMetadata() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplate) *string { return v.UserMetadata }).(pulumi.StringPtrOutput) +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeAutoscaleGroupVirtualGuestMemberTemplate)(nil)).Elem() +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput) ToComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput { + return o +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput) ToComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutputWithContext(ctx context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput { + return o +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput) Index(i pulumi.IntInput) ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeAutoscaleGroupVirtualGuestMemberTemplate { + return vs[0].([]ComputeAutoscaleGroupVirtualGuestMemberTemplate)[vs[1].(int)] + }).(ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput) +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm struct { + Domain string `pulumi:"domain"` + Hostname string `pulumi:"hostname"` +} + +// ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmInput is an input type that accepts ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArgs and ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput values. +// You can construct a concrete instance of `ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmInput` via: +// +// ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArgs{...} +type ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmInput interface { + pulumi.Input + + ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput + ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutputWithContext(context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArgs struct { + Domain pulumi.StringInput `pulumi:"domain"` + Hostname pulumi.StringInput `pulumi:"hostname"` +} + +func (ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm)(nil)).Elem() +} + +func (i ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArgs) ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput { + return i.ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutputWithContext(context.Background()) +} + +func (i ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArgs) ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutputWithContext(ctx context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput) +} + +// ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayInput is an input type that accepts ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArray and ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput values. +// You can construct a concrete instance of `ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayInput` via: +// +// ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArray{ ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArgs{...} } +type ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayInput interface { + pulumi.Input + + ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput + ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutputWithContext(context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArray []ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmInput + +func (ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm)(nil)).Elem() +} + +func (i ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArray) ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput { + return i.ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutputWithContext(context.Background()) +} + +func (i ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArray) ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutputWithContext(ctx context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput) +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm)(nil)).Elem() +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput) ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput { + return o +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput) ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutputWithContext(ctx context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput { + return o +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm) string { return v.Domain }).(pulumi.StringOutput) +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm) string { return v.Hostname }).(pulumi.StringOutput) +} + +type ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm)(nil)).Elem() +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput) ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput() ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput { + return o +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput) ToComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutputWithContext(ctx context.Context) ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput { + return o +} + +func (o ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput) Index(i pulumi.IntInput) ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm { + return vs[0].([]ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVm)[vs[1].(int)] + }).(ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput) +} + +type ComputeAutoscalePolicyTrigger struct { + Date *string `pulumi:"date"` + Id *int `pulumi:"id"` + Schedule *string `pulumi:"schedule"` + Type string `pulumi:"type"` + Watches []ComputeAutoscalePolicyTriggerWatch `pulumi:"watches"` +} + +// ComputeAutoscalePolicyTriggerInput is an input type that accepts ComputeAutoscalePolicyTriggerArgs and ComputeAutoscalePolicyTriggerOutput values. +// You can construct a concrete instance of `ComputeAutoscalePolicyTriggerInput` via: +// +// ComputeAutoscalePolicyTriggerArgs{...} +type ComputeAutoscalePolicyTriggerInput interface { + pulumi.Input + + ToComputeAutoscalePolicyTriggerOutput() ComputeAutoscalePolicyTriggerOutput + ToComputeAutoscalePolicyTriggerOutputWithContext(context.Context) ComputeAutoscalePolicyTriggerOutput +} + +type ComputeAutoscalePolicyTriggerArgs struct { + Date pulumi.StringPtrInput `pulumi:"date"` + Id pulumi.IntPtrInput `pulumi:"id"` + Schedule pulumi.StringPtrInput `pulumi:"schedule"` + Type pulumi.StringInput `pulumi:"type"` + Watches ComputeAutoscalePolicyTriggerWatchArrayInput `pulumi:"watches"` +} + +func (ComputeAutoscalePolicyTriggerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeAutoscalePolicyTrigger)(nil)).Elem() +} + +func (i ComputeAutoscalePolicyTriggerArgs) ToComputeAutoscalePolicyTriggerOutput() ComputeAutoscalePolicyTriggerOutput { + return i.ToComputeAutoscalePolicyTriggerOutputWithContext(context.Background()) +} + +func (i ComputeAutoscalePolicyTriggerArgs) ToComputeAutoscalePolicyTriggerOutputWithContext(ctx context.Context) ComputeAutoscalePolicyTriggerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscalePolicyTriggerOutput) +} + +// ComputeAutoscalePolicyTriggerArrayInput is an input type that accepts ComputeAutoscalePolicyTriggerArray and ComputeAutoscalePolicyTriggerArrayOutput values. +// You can construct a concrete instance of `ComputeAutoscalePolicyTriggerArrayInput` via: +// +// ComputeAutoscalePolicyTriggerArray{ ComputeAutoscalePolicyTriggerArgs{...} } +type ComputeAutoscalePolicyTriggerArrayInput interface { + pulumi.Input + + ToComputeAutoscalePolicyTriggerArrayOutput() ComputeAutoscalePolicyTriggerArrayOutput + ToComputeAutoscalePolicyTriggerArrayOutputWithContext(context.Context) ComputeAutoscalePolicyTriggerArrayOutput +} + +type ComputeAutoscalePolicyTriggerArray []ComputeAutoscalePolicyTriggerInput + +func (ComputeAutoscalePolicyTriggerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeAutoscalePolicyTrigger)(nil)).Elem() +} + +func (i ComputeAutoscalePolicyTriggerArray) ToComputeAutoscalePolicyTriggerArrayOutput() ComputeAutoscalePolicyTriggerArrayOutput { + return i.ToComputeAutoscalePolicyTriggerArrayOutputWithContext(context.Background()) +} + +func (i ComputeAutoscalePolicyTriggerArray) ToComputeAutoscalePolicyTriggerArrayOutputWithContext(ctx context.Context) ComputeAutoscalePolicyTriggerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscalePolicyTriggerArrayOutput) +} + +type ComputeAutoscalePolicyTriggerOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscalePolicyTriggerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeAutoscalePolicyTrigger)(nil)).Elem() +} + +func (o ComputeAutoscalePolicyTriggerOutput) ToComputeAutoscalePolicyTriggerOutput() ComputeAutoscalePolicyTriggerOutput { + return o +} + +func (o ComputeAutoscalePolicyTriggerOutput) ToComputeAutoscalePolicyTriggerOutputWithContext(ctx context.Context) ComputeAutoscalePolicyTriggerOutput { + return o +} + +func (o ComputeAutoscalePolicyTriggerOutput) Date() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTrigger) *string { return v.Date }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscalePolicyTriggerOutput) Id() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTrigger) *int { return v.Id }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscalePolicyTriggerOutput) Schedule() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTrigger) *string { return v.Schedule }).(pulumi.StringPtrOutput) +} + +func (o ComputeAutoscalePolicyTriggerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTrigger) string { return v.Type }).(pulumi.StringOutput) +} + +func (o ComputeAutoscalePolicyTriggerOutput) Watches() ComputeAutoscalePolicyTriggerWatchArrayOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTrigger) []ComputeAutoscalePolicyTriggerWatch { return v.Watches }).(ComputeAutoscalePolicyTriggerWatchArrayOutput) +} + +type ComputeAutoscalePolicyTriggerArrayOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscalePolicyTriggerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeAutoscalePolicyTrigger)(nil)).Elem() +} + +func (o ComputeAutoscalePolicyTriggerArrayOutput) ToComputeAutoscalePolicyTriggerArrayOutput() ComputeAutoscalePolicyTriggerArrayOutput { + return o +} + +func (o ComputeAutoscalePolicyTriggerArrayOutput) ToComputeAutoscalePolicyTriggerArrayOutputWithContext(ctx context.Context) ComputeAutoscalePolicyTriggerArrayOutput { + return o +} + +func (o ComputeAutoscalePolicyTriggerArrayOutput) Index(i pulumi.IntInput) ComputeAutoscalePolicyTriggerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeAutoscalePolicyTrigger { + return vs[0].([]ComputeAutoscalePolicyTrigger)[vs[1].(int)] + }).(ComputeAutoscalePolicyTriggerOutput) +} + +type ComputeAutoscalePolicyTriggerWatch struct { + Id *int `pulumi:"id"` + Metric string `pulumi:"metric"` + Operator string `pulumi:"operator"` + Period int `pulumi:"period"` + Value string `pulumi:"value"` +} + +// ComputeAutoscalePolicyTriggerWatchInput is an input type that accepts ComputeAutoscalePolicyTriggerWatchArgs and ComputeAutoscalePolicyTriggerWatchOutput values. +// You can construct a concrete instance of `ComputeAutoscalePolicyTriggerWatchInput` via: +// +// ComputeAutoscalePolicyTriggerWatchArgs{...} +type ComputeAutoscalePolicyTriggerWatchInput interface { + pulumi.Input + + ToComputeAutoscalePolicyTriggerWatchOutput() ComputeAutoscalePolicyTriggerWatchOutput + ToComputeAutoscalePolicyTriggerWatchOutputWithContext(context.Context) ComputeAutoscalePolicyTriggerWatchOutput +} + +type ComputeAutoscalePolicyTriggerWatchArgs struct { + Id pulumi.IntPtrInput `pulumi:"id"` + Metric pulumi.StringInput `pulumi:"metric"` + Operator pulumi.StringInput `pulumi:"operator"` + Period pulumi.IntInput `pulumi:"period"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (ComputeAutoscalePolicyTriggerWatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeAutoscalePolicyTriggerWatch)(nil)).Elem() +} + +func (i ComputeAutoscalePolicyTriggerWatchArgs) ToComputeAutoscalePolicyTriggerWatchOutput() ComputeAutoscalePolicyTriggerWatchOutput { + return i.ToComputeAutoscalePolicyTriggerWatchOutputWithContext(context.Background()) +} + +func (i ComputeAutoscalePolicyTriggerWatchArgs) ToComputeAutoscalePolicyTriggerWatchOutputWithContext(ctx context.Context) ComputeAutoscalePolicyTriggerWatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscalePolicyTriggerWatchOutput) +} + +// ComputeAutoscalePolicyTriggerWatchArrayInput is an input type that accepts ComputeAutoscalePolicyTriggerWatchArray and ComputeAutoscalePolicyTriggerWatchArrayOutput values. +// You can construct a concrete instance of `ComputeAutoscalePolicyTriggerWatchArrayInput` via: +// +// ComputeAutoscalePolicyTriggerWatchArray{ ComputeAutoscalePolicyTriggerWatchArgs{...} } +type ComputeAutoscalePolicyTriggerWatchArrayInput interface { + pulumi.Input + + ToComputeAutoscalePolicyTriggerWatchArrayOutput() ComputeAutoscalePolicyTriggerWatchArrayOutput + ToComputeAutoscalePolicyTriggerWatchArrayOutputWithContext(context.Context) ComputeAutoscalePolicyTriggerWatchArrayOutput +} + +type ComputeAutoscalePolicyTriggerWatchArray []ComputeAutoscalePolicyTriggerWatchInput + +func (ComputeAutoscalePolicyTriggerWatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeAutoscalePolicyTriggerWatch)(nil)).Elem() +} + +func (i ComputeAutoscalePolicyTriggerWatchArray) ToComputeAutoscalePolicyTriggerWatchArrayOutput() ComputeAutoscalePolicyTriggerWatchArrayOutput { + return i.ToComputeAutoscalePolicyTriggerWatchArrayOutputWithContext(context.Background()) +} + +func (i ComputeAutoscalePolicyTriggerWatchArray) ToComputeAutoscalePolicyTriggerWatchArrayOutputWithContext(ctx context.Context) ComputeAutoscalePolicyTriggerWatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeAutoscalePolicyTriggerWatchArrayOutput) +} + +type ComputeAutoscalePolicyTriggerWatchOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscalePolicyTriggerWatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeAutoscalePolicyTriggerWatch)(nil)).Elem() +} + +func (o ComputeAutoscalePolicyTriggerWatchOutput) ToComputeAutoscalePolicyTriggerWatchOutput() ComputeAutoscalePolicyTriggerWatchOutput { + return o +} + +func (o ComputeAutoscalePolicyTriggerWatchOutput) ToComputeAutoscalePolicyTriggerWatchOutputWithContext(ctx context.Context) ComputeAutoscalePolicyTriggerWatchOutput { + return o +} + +func (o ComputeAutoscalePolicyTriggerWatchOutput) Id() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTriggerWatch) *int { return v.Id }).(pulumi.IntPtrOutput) +} + +func (o ComputeAutoscalePolicyTriggerWatchOutput) Metric() pulumi.StringOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTriggerWatch) string { return v.Metric }).(pulumi.StringOutput) +} + +func (o ComputeAutoscalePolicyTriggerWatchOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTriggerWatch) string { return v.Operator }).(pulumi.StringOutput) +} + +func (o ComputeAutoscalePolicyTriggerWatchOutput) Period() pulumi.IntOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTriggerWatch) int { return v.Period }).(pulumi.IntOutput) +} + +func (o ComputeAutoscalePolicyTriggerWatchOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v ComputeAutoscalePolicyTriggerWatch) string { return v.Value }).(pulumi.StringOutput) +} + +type ComputeAutoscalePolicyTriggerWatchArrayOutput struct{ *pulumi.OutputState } + +func (ComputeAutoscalePolicyTriggerWatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeAutoscalePolicyTriggerWatch)(nil)).Elem() +} + +func (o ComputeAutoscalePolicyTriggerWatchArrayOutput) ToComputeAutoscalePolicyTriggerWatchArrayOutput() ComputeAutoscalePolicyTriggerWatchArrayOutput { + return o +} + +func (o ComputeAutoscalePolicyTriggerWatchArrayOutput) ToComputeAutoscalePolicyTriggerWatchArrayOutputWithContext(ctx context.Context) ComputeAutoscalePolicyTriggerWatchArrayOutput { + return o +} + +func (o ComputeAutoscalePolicyTriggerWatchArrayOutput) Index(i pulumi.IntInput) ComputeAutoscalePolicyTriggerWatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeAutoscalePolicyTriggerWatch { + return vs[0].([]ComputeAutoscalePolicyTriggerWatch)[vs[1].(int)] + }).(ComputeAutoscalePolicyTriggerWatchOutput) +} + +type ComputeBareMetalStorageGroup struct { + // Array size of harddrives list + ArraySize *int `pulumi:"arraySize"` + // Array type ID + ArrayTypeId int `pulumi:"arrayTypeId"` + // Hard-drives List + HardDrives []int `pulumi:"hardDrives"` + // Partition template ID + PartitionTemplateId *int `pulumi:"partitionTemplateId"` +} + +// ComputeBareMetalStorageGroupInput is an input type that accepts ComputeBareMetalStorageGroupArgs and ComputeBareMetalStorageGroupOutput values. +// You can construct a concrete instance of `ComputeBareMetalStorageGroupInput` via: +// +// ComputeBareMetalStorageGroupArgs{...} +type ComputeBareMetalStorageGroupInput interface { + pulumi.Input + + ToComputeBareMetalStorageGroupOutput() ComputeBareMetalStorageGroupOutput + ToComputeBareMetalStorageGroupOutputWithContext(context.Context) ComputeBareMetalStorageGroupOutput +} + +type ComputeBareMetalStorageGroupArgs struct { + // Array size of harddrives list + ArraySize pulumi.IntPtrInput `pulumi:"arraySize"` + // Array type ID + ArrayTypeId pulumi.IntInput `pulumi:"arrayTypeId"` + // Hard-drives List + HardDrives pulumi.IntArrayInput `pulumi:"hardDrives"` + // Partition template ID + PartitionTemplateId pulumi.IntPtrInput `pulumi:"partitionTemplateId"` +} + +func (ComputeBareMetalStorageGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeBareMetalStorageGroup)(nil)).Elem() +} + +func (i ComputeBareMetalStorageGroupArgs) ToComputeBareMetalStorageGroupOutput() ComputeBareMetalStorageGroupOutput { + return i.ToComputeBareMetalStorageGroupOutputWithContext(context.Background()) +} + +func (i ComputeBareMetalStorageGroupArgs) ToComputeBareMetalStorageGroupOutputWithContext(ctx context.Context) ComputeBareMetalStorageGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeBareMetalStorageGroupOutput) +} + +// ComputeBareMetalStorageGroupArrayInput is an input type that accepts ComputeBareMetalStorageGroupArray and ComputeBareMetalStorageGroupArrayOutput values. +// You can construct a concrete instance of `ComputeBareMetalStorageGroupArrayInput` via: +// +// ComputeBareMetalStorageGroupArray{ ComputeBareMetalStorageGroupArgs{...} } +type ComputeBareMetalStorageGroupArrayInput interface { + pulumi.Input + + ToComputeBareMetalStorageGroupArrayOutput() ComputeBareMetalStorageGroupArrayOutput + ToComputeBareMetalStorageGroupArrayOutputWithContext(context.Context) ComputeBareMetalStorageGroupArrayOutput +} + +type ComputeBareMetalStorageGroupArray []ComputeBareMetalStorageGroupInput + +func (ComputeBareMetalStorageGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeBareMetalStorageGroup)(nil)).Elem() +} + +func (i ComputeBareMetalStorageGroupArray) ToComputeBareMetalStorageGroupArrayOutput() ComputeBareMetalStorageGroupArrayOutput { + return i.ToComputeBareMetalStorageGroupArrayOutputWithContext(context.Background()) +} + +func (i ComputeBareMetalStorageGroupArray) ToComputeBareMetalStorageGroupArrayOutputWithContext(ctx context.Context) ComputeBareMetalStorageGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeBareMetalStorageGroupArrayOutput) +} + +type ComputeBareMetalStorageGroupOutput struct{ *pulumi.OutputState } + +func (ComputeBareMetalStorageGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeBareMetalStorageGroup)(nil)).Elem() +} + +func (o ComputeBareMetalStorageGroupOutput) ToComputeBareMetalStorageGroupOutput() ComputeBareMetalStorageGroupOutput { + return o +} + +func (o ComputeBareMetalStorageGroupOutput) ToComputeBareMetalStorageGroupOutputWithContext(ctx context.Context) ComputeBareMetalStorageGroupOutput { + return o +} + +// Array size of harddrives list +func (o ComputeBareMetalStorageGroupOutput) ArraySize() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeBareMetalStorageGroup) *int { return v.ArraySize }).(pulumi.IntPtrOutput) +} + +// Array type ID +func (o ComputeBareMetalStorageGroupOutput) ArrayTypeId() pulumi.IntOutput { + return o.ApplyT(func(v ComputeBareMetalStorageGroup) int { return v.ArrayTypeId }).(pulumi.IntOutput) +} + +// Hard-drives List +func (o ComputeBareMetalStorageGroupOutput) HardDrives() pulumi.IntArrayOutput { + return o.ApplyT(func(v ComputeBareMetalStorageGroup) []int { return v.HardDrives }).(pulumi.IntArrayOutput) +} + +// Partition template ID +func (o ComputeBareMetalStorageGroupOutput) PartitionTemplateId() pulumi.IntPtrOutput { + return o.ApplyT(func(v ComputeBareMetalStorageGroup) *int { return v.PartitionTemplateId }).(pulumi.IntPtrOutput) +} + +type ComputeBareMetalStorageGroupArrayOutput struct{ *pulumi.OutputState } + +func (ComputeBareMetalStorageGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeBareMetalStorageGroup)(nil)).Elem() +} + +func (o ComputeBareMetalStorageGroupArrayOutput) ToComputeBareMetalStorageGroupArrayOutput() ComputeBareMetalStorageGroupArrayOutput { + return o +} + +func (o ComputeBareMetalStorageGroupArrayOutput) ToComputeBareMetalStorageGroupArrayOutputWithContext(ctx context.Context) ComputeBareMetalStorageGroupArrayOutput { + return o +} + +func (o ComputeBareMetalStorageGroupArrayOutput) Index(i pulumi.IntInput) ComputeBareMetalStorageGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeBareMetalStorageGroup { + return vs[0].([]ComputeBareMetalStorageGroup)[vs[1].(int)] + }).(ComputeBareMetalStorageGroupOutput) +} + +type ComputeVmInstanceBulkVm struct { + Domain string `pulumi:"domain"` + Hostname string `pulumi:"hostname"` +} + +// ComputeVmInstanceBulkVmInput is an input type that accepts ComputeVmInstanceBulkVmArgs and ComputeVmInstanceBulkVmOutput values. +// You can construct a concrete instance of `ComputeVmInstanceBulkVmInput` via: +// +// ComputeVmInstanceBulkVmArgs{...} +type ComputeVmInstanceBulkVmInput interface { + pulumi.Input + + ToComputeVmInstanceBulkVmOutput() ComputeVmInstanceBulkVmOutput + ToComputeVmInstanceBulkVmOutputWithContext(context.Context) ComputeVmInstanceBulkVmOutput +} + +type ComputeVmInstanceBulkVmArgs struct { + Domain pulumi.StringInput `pulumi:"domain"` + Hostname pulumi.StringInput `pulumi:"hostname"` +} + +func (ComputeVmInstanceBulkVmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeVmInstanceBulkVm)(nil)).Elem() +} + +func (i ComputeVmInstanceBulkVmArgs) ToComputeVmInstanceBulkVmOutput() ComputeVmInstanceBulkVmOutput { + return i.ToComputeVmInstanceBulkVmOutputWithContext(context.Background()) +} + +func (i ComputeVmInstanceBulkVmArgs) ToComputeVmInstanceBulkVmOutputWithContext(ctx context.Context) ComputeVmInstanceBulkVmOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeVmInstanceBulkVmOutput) +} + +// ComputeVmInstanceBulkVmArrayInput is an input type that accepts ComputeVmInstanceBulkVmArray and ComputeVmInstanceBulkVmArrayOutput values. +// You can construct a concrete instance of `ComputeVmInstanceBulkVmArrayInput` via: +// +// ComputeVmInstanceBulkVmArray{ ComputeVmInstanceBulkVmArgs{...} } +type ComputeVmInstanceBulkVmArrayInput interface { + pulumi.Input + + ToComputeVmInstanceBulkVmArrayOutput() ComputeVmInstanceBulkVmArrayOutput + ToComputeVmInstanceBulkVmArrayOutputWithContext(context.Context) ComputeVmInstanceBulkVmArrayOutput +} + +type ComputeVmInstanceBulkVmArray []ComputeVmInstanceBulkVmInput + +func (ComputeVmInstanceBulkVmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeVmInstanceBulkVm)(nil)).Elem() +} + +func (i ComputeVmInstanceBulkVmArray) ToComputeVmInstanceBulkVmArrayOutput() ComputeVmInstanceBulkVmArrayOutput { + return i.ToComputeVmInstanceBulkVmArrayOutputWithContext(context.Background()) +} + +func (i ComputeVmInstanceBulkVmArray) ToComputeVmInstanceBulkVmArrayOutputWithContext(ctx context.Context) ComputeVmInstanceBulkVmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeVmInstanceBulkVmArrayOutput) +} + +type ComputeVmInstanceBulkVmOutput struct{ *pulumi.OutputState } + +func (ComputeVmInstanceBulkVmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeVmInstanceBulkVm)(nil)).Elem() +} + +func (o ComputeVmInstanceBulkVmOutput) ToComputeVmInstanceBulkVmOutput() ComputeVmInstanceBulkVmOutput { + return o +} + +func (o ComputeVmInstanceBulkVmOutput) ToComputeVmInstanceBulkVmOutputWithContext(ctx context.Context) ComputeVmInstanceBulkVmOutput { + return o +} + +func (o ComputeVmInstanceBulkVmOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v ComputeVmInstanceBulkVm) string { return v.Domain }).(pulumi.StringOutput) +} + +func (o ComputeVmInstanceBulkVmOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v ComputeVmInstanceBulkVm) string { return v.Hostname }).(pulumi.StringOutput) +} + +type ComputeVmInstanceBulkVmArrayOutput struct{ *pulumi.OutputState } + +func (ComputeVmInstanceBulkVmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeVmInstanceBulkVm)(nil)).Elem() +} + +func (o ComputeVmInstanceBulkVmArrayOutput) ToComputeVmInstanceBulkVmArrayOutput() ComputeVmInstanceBulkVmArrayOutput { + return o +} + +func (o ComputeVmInstanceBulkVmArrayOutput) ToComputeVmInstanceBulkVmArrayOutputWithContext(ctx context.Context) ComputeVmInstanceBulkVmArrayOutput { + return o +} + +func (o ComputeVmInstanceBulkVmArrayOutput) Index(i pulumi.IntInput) ComputeVmInstanceBulkVmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeVmInstanceBulkVm { + return vs[0].([]ComputeVmInstanceBulkVm)[vs[1].(int)] + }).(ComputeVmInstanceBulkVmOutput) +} + +type CosBucketAbortIncompleteMultipartUploadDay struct { + // Specifies the number of days when the specific rule action takes effect. + DaysAfterInitiation *int `pulumi:"daysAfterInitiation"` + // Enable or disable rule for a bucket + Enable bool `pulumi:"enable"` + // The rule applies to any objects with keys that match this prefix + Prefix *string `pulumi:"prefix"` + // Unique identifier for the rule. Rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId *string `pulumi:"ruleId"` +} + +// CosBucketAbortIncompleteMultipartUploadDayInput is an input type that accepts CosBucketAbortIncompleteMultipartUploadDayArgs and CosBucketAbortIncompleteMultipartUploadDayOutput values. +// You can construct a concrete instance of `CosBucketAbortIncompleteMultipartUploadDayInput` via: +// +// CosBucketAbortIncompleteMultipartUploadDayArgs{...} +type CosBucketAbortIncompleteMultipartUploadDayInput interface { + pulumi.Input + + ToCosBucketAbortIncompleteMultipartUploadDayOutput() CosBucketAbortIncompleteMultipartUploadDayOutput + ToCosBucketAbortIncompleteMultipartUploadDayOutputWithContext(context.Context) CosBucketAbortIncompleteMultipartUploadDayOutput +} + +type CosBucketAbortIncompleteMultipartUploadDayArgs struct { + // Specifies the number of days when the specific rule action takes effect. + DaysAfterInitiation pulumi.IntPtrInput `pulumi:"daysAfterInitiation"` + // Enable or disable rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // The rule applies to any objects with keys that match this prefix + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Unique identifier for the rule. Rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId pulumi.StringPtrInput `pulumi:"ruleId"` +} + +func (CosBucketAbortIncompleteMultipartUploadDayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketAbortIncompleteMultipartUploadDay)(nil)).Elem() +} + +func (i CosBucketAbortIncompleteMultipartUploadDayArgs) ToCosBucketAbortIncompleteMultipartUploadDayOutput() CosBucketAbortIncompleteMultipartUploadDayOutput { + return i.ToCosBucketAbortIncompleteMultipartUploadDayOutputWithContext(context.Background()) +} + +func (i CosBucketAbortIncompleteMultipartUploadDayArgs) ToCosBucketAbortIncompleteMultipartUploadDayOutputWithContext(ctx context.Context) CosBucketAbortIncompleteMultipartUploadDayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketAbortIncompleteMultipartUploadDayOutput) +} + +// CosBucketAbortIncompleteMultipartUploadDayArrayInput is an input type that accepts CosBucketAbortIncompleteMultipartUploadDayArray and CosBucketAbortIncompleteMultipartUploadDayArrayOutput values. +// You can construct a concrete instance of `CosBucketAbortIncompleteMultipartUploadDayArrayInput` via: +// +// CosBucketAbortIncompleteMultipartUploadDayArray{ CosBucketAbortIncompleteMultipartUploadDayArgs{...} } +type CosBucketAbortIncompleteMultipartUploadDayArrayInput interface { + pulumi.Input + + ToCosBucketAbortIncompleteMultipartUploadDayArrayOutput() CosBucketAbortIncompleteMultipartUploadDayArrayOutput + ToCosBucketAbortIncompleteMultipartUploadDayArrayOutputWithContext(context.Context) CosBucketAbortIncompleteMultipartUploadDayArrayOutput +} + +type CosBucketAbortIncompleteMultipartUploadDayArray []CosBucketAbortIncompleteMultipartUploadDayInput + +func (CosBucketAbortIncompleteMultipartUploadDayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketAbortIncompleteMultipartUploadDay)(nil)).Elem() +} + +func (i CosBucketAbortIncompleteMultipartUploadDayArray) ToCosBucketAbortIncompleteMultipartUploadDayArrayOutput() CosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return i.ToCosBucketAbortIncompleteMultipartUploadDayArrayOutputWithContext(context.Background()) +} + +func (i CosBucketAbortIncompleteMultipartUploadDayArray) ToCosBucketAbortIncompleteMultipartUploadDayArrayOutputWithContext(ctx context.Context) CosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketAbortIncompleteMultipartUploadDayArrayOutput) +} + +type CosBucketAbortIncompleteMultipartUploadDayOutput struct{ *pulumi.OutputState } + +func (CosBucketAbortIncompleteMultipartUploadDayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketAbortIncompleteMultipartUploadDay)(nil)).Elem() +} + +func (o CosBucketAbortIncompleteMultipartUploadDayOutput) ToCosBucketAbortIncompleteMultipartUploadDayOutput() CosBucketAbortIncompleteMultipartUploadDayOutput { + return o +} + +func (o CosBucketAbortIncompleteMultipartUploadDayOutput) ToCosBucketAbortIncompleteMultipartUploadDayOutputWithContext(ctx context.Context) CosBucketAbortIncompleteMultipartUploadDayOutput { + return o +} + +// Specifies the number of days when the specific rule action takes effect. +func (o CosBucketAbortIncompleteMultipartUploadDayOutput) DaysAfterInitiation() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketAbortIncompleteMultipartUploadDay) *int { return v.DaysAfterInitiation }).(pulumi.IntPtrOutput) +} + +// Enable or disable rule for a bucket +func (o CosBucketAbortIncompleteMultipartUploadDayOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v CosBucketAbortIncompleteMultipartUploadDay) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o CosBucketAbortIncompleteMultipartUploadDayOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketAbortIncompleteMultipartUploadDay) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the rule. Rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket +func (o CosBucketAbortIncompleteMultipartUploadDayOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketAbortIncompleteMultipartUploadDay) *string { return v.RuleId }).(pulumi.StringPtrOutput) +} + +type CosBucketAbortIncompleteMultipartUploadDayArrayOutput struct{ *pulumi.OutputState } + +func (CosBucketAbortIncompleteMultipartUploadDayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketAbortIncompleteMultipartUploadDay)(nil)).Elem() +} + +func (o CosBucketAbortIncompleteMultipartUploadDayArrayOutput) ToCosBucketAbortIncompleteMultipartUploadDayArrayOutput() CosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return o +} + +func (o CosBucketAbortIncompleteMultipartUploadDayArrayOutput) ToCosBucketAbortIncompleteMultipartUploadDayArrayOutputWithContext(ctx context.Context) CosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return o +} + +func (o CosBucketAbortIncompleteMultipartUploadDayArrayOutput) Index(i pulumi.IntInput) CosBucketAbortIncompleteMultipartUploadDayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CosBucketAbortIncompleteMultipartUploadDay { + return vs[0].([]CosBucketAbortIncompleteMultipartUploadDay)[vs[1].(int)] + }).(CosBucketAbortIncompleteMultipartUploadDayOutput) +} + +type CosBucketActivityTracking struct { + // When the activityTrackerCrn is not populated, then enabled events are sent to the Activity Tracker instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration.If `activityTrackerCrn` is populated, then enabled events are sent to the Activity Tracker instance specified and bucket management events are always enabled. + ActivityTrackerCrn *string `pulumi:"activityTrackerCrn"` + // If set to `true`, all bucket management events will be sent to Activity Tracker.This field only applies if `activityTrackerCrn` is not populated. + ManagementEvents *bool `pulumi:"managementEvents"` + // If set to `true`, all object read events (i.e. downloads) will be sent to Activity Tracker. + ReadDataEvents *bool `pulumi:"readDataEvents"` + // If set to `true`, all object write events (i.e. uploads) will be sent to Activity Tracker. + WriteDataEvents *bool `pulumi:"writeDataEvents"` +} + +// CosBucketActivityTrackingInput is an input type that accepts CosBucketActivityTrackingArgs and CosBucketActivityTrackingOutput values. +// You can construct a concrete instance of `CosBucketActivityTrackingInput` via: +// +// CosBucketActivityTrackingArgs{...} +type CosBucketActivityTrackingInput interface { + pulumi.Input + + ToCosBucketActivityTrackingOutput() CosBucketActivityTrackingOutput + ToCosBucketActivityTrackingOutputWithContext(context.Context) CosBucketActivityTrackingOutput +} + +type CosBucketActivityTrackingArgs struct { + // When the activityTrackerCrn is not populated, then enabled events are sent to the Activity Tracker instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration.If `activityTrackerCrn` is populated, then enabled events are sent to the Activity Tracker instance specified and bucket management events are always enabled. + ActivityTrackerCrn pulumi.StringPtrInput `pulumi:"activityTrackerCrn"` + // If set to `true`, all bucket management events will be sent to Activity Tracker.This field only applies if `activityTrackerCrn` is not populated. + ManagementEvents pulumi.BoolPtrInput `pulumi:"managementEvents"` + // If set to `true`, all object read events (i.e. downloads) will be sent to Activity Tracker. + ReadDataEvents pulumi.BoolPtrInput `pulumi:"readDataEvents"` + // If set to `true`, all object write events (i.e. uploads) will be sent to Activity Tracker. + WriteDataEvents pulumi.BoolPtrInput `pulumi:"writeDataEvents"` +} + +func (CosBucketActivityTrackingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketActivityTracking)(nil)).Elem() +} + +func (i CosBucketActivityTrackingArgs) ToCosBucketActivityTrackingOutput() CosBucketActivityTrackingOutput { + return i.ToCosBucketActivityTrackingOutputWithContext(context.Background()) +} + +func (i CosBucketActivityTrackingArgs) ToCosBucketActivityTrackingOutputWithContext(ctx context.Context) CosBucketActivityTrackingOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketActivityTrackingOutput) +} + +func (i CosBucketActivityTrackingArgs) ToCosBucketActivityTrackingPtrOutput() CosBucketActivityTrackingPtrOutput { + return i.ToCosBucketActivityTrackingPtrOutputWithContext(context.Background()) +} + +func (i CosBucketActivityTrackingArgs) ToCosBucketActivityTrackingPtrOutputWithContext(ctx context.Context) CosBucketActivityTrackingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketActivityTrackingOutput).ToCosBucketActivityTrackingPtrOutputWithContext(ctx) +} + +// CosBucketActivityTrackingPtrInput is an input type that accepts CosBucketActivityTrackingArgs, CosBucketActivityTrackingPtr and CosBucketActivityTrackingPtrOutput values. +// You can construct a concrete instance of `CosBucketActivityTrackingPtrInput` via: +// +// CosBucketActivityTrackingArgs{...} +// +// or: +// +// nil +type CosBucketActivityTrackingPtrInput interface { + pulumi.Input + + ToCosBucketActivityTrackingPtrOutput() CosBucketActivityTrackingPtrOutput + ToCosBucketActivityTrackingPtrOutputWithContext(context.Context) CosBucketActivityTrackingPtrOutput +} + +type cosBucketActivityTrackingPtrType CosBucketActivityTrackingArgs + +func CosBucketActivityTrackingPtr(v *CosBucketActivityTrackingArgs) CosBucketActivityTrackingPtrInput { + return (*cosBucketActivityTrackingPtrType)(v) +} + +func (*cosBucketActivityTrackingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketActivityTracking)(nil)).Elem() +} + +func (i *cosBucketActivityTrackingPtrType) ToCosBucketActivityTrackingPtrOutput() CosBucketActivityTrackingPtrOutput { + return i.ToCosBucketActivityTrackingPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketActivityTrackingPtrType) ToCosBucketActivityTrackingPtrOutputWithContext(ctx context.Context) CosBucketActivityTrackingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketActivityTrackingPtrOutput) +} + +type CosBucketActivityTrackingOutput struct{ *pulumi.OutputState } + +func (CosBucketActivityTrackingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketActivityTracking)(nil)).Elem() +} + +func (o CosBucketActivityTrackingOutput) ToCosBucketActivityTrackingOutput() CosBucketActivityTrackingOutput { + return o +} + +func (o CosBucketActivityTrackingOutput) ToCosBucketActivityTrackingOutputWithContext(ctx context.Context) CosBucketActivityTrackingOutput { + return o +} + +func (o CosBucketActivityTrackingOutput) ToCosBucketActivityTrackingPtrOutput() CosBucketActivityTrackingPtrOutput { + return o.ToCosBucketActivityTrackingPtrOutputWithContext(context.Background()) +} + +func (o CosBucketActivityTrackingOutput) ToCosBucketActivityTrackingPtrOutputWithContext(ctx context.Context) CosBucketActivityTrackingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketActivityTracking) *CosBucketActivityTracking { + return &v + }).(CosBucketActivityTrackingPtrOutput) +} + +// When the activityTrackerCrn is not populated, then enabled events are sent to the Activity Tracker instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration.If `activityTrackerCrn` is populated, then enabled events are sent to the Activity Tracker instance specified and bucket management events are always enabled. +func (o CosBucketActivityTrackingOutput) ActivityTrackerCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketActivityTracking) *string { return v.ActivityTrackerCrn }).(pulumi.StringPtrOutput) +} + +// If set to `true`, all bucket management events will be sent to Activity Tracker.This field only applies if `activityTrackerCrn` is not populated. +func (o CosBucketActivityTrackingOutput) ManagementEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketActivityTracking) *bool { return v.ManagementEvents }).(pulumi.BoolPtrOutput) +} + +// If set to `true`, all object read events (i.e. downloads) will be sent to Activity Tracker. +func (o CosBucketActivityTrackingOutput) ReadDataEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketActivityTracking) *bool { return v.ReadDataEvents }).(pulumi.BoolPtrOutput) +} + +// If set to `true`, all object write events (i.e. uploads) will be sent to Activity Tracker. +func (o CosBucketActivityTrackingOutput) WriteDataEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketActivityTracking) *bool { return v.WriteDataEvents }).(pulumi.BoolPtrOutput) +} + +type CosBucketActivityTrackingPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketActivityTrackingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketActivityTracking)(nil)).Elem() +} + +func (o CosBucketActivityTrackingPtrOutput) ToCosBucketActivityTrackingPtrOutput() CosBucketActivityTrackingPtrOutput { + return o +} + +func (o CosBucketActivityTrackingPtrOutput) ToCosBucketActivityTrackingPtrOutputWithContext(ctx context.Context) CosBucketActivityTrackingPtrOutput { + return o +} + +func (o CosBucketActivityTrackingPtrOutput) Elem() CosBucketActivityTrackingOutput { + return o.ApplyT(func(v *CosBucketActivityTracking) CosBucketActivityTracking { + if v != nil { + return *v + } + var ret CosBucketActivityTracking + return ret + }).(CosBucketActivityTrackingOutput) +} + +// When the activityTrackerCrn is not populated, then enabled events are sent to the Activity Tracker instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration.If `activityTrackerCrn` is populated, then enabled events are sent to the Activity Tracker instance specified and bucket management events are always enabled. +func (o CosBucketActivityTrackingPtrOutput) ActivityTrackerCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketActivityTracking) *string { + if v == nil { + return nil + } + return v.ActivityTrackerCrn + }).(pulumi.StringPtrOutput) +} + +// If set to `true`, all bucket management events will be sent to Activity Tracker.This field only applies if `activityTrackerCrn` is not populated. +func (o CosBucketActivityTrackingPtrOutput) ManagementEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketActivityTracking) *bool { + if v == nil { + return nil + } + return v.ManagementEvents + }).(pulumi.BoolPtrOutput) +} + +// If set to `true`, all object read events (i.e. downloads) will be sent to Activity Tracker. +func (o CosBucketActivityTrackingPtrOutput) ReadDataEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketActivityTracking) *bool { + if v == nil { + return nil + } + return v.ReadDataEvents + }).(pulumi.BoolPtrOutput) +} + +// If set to `true`, all object write events (i.e. uploads) will be sent to Activity Tracker. +func (o CosBucketActivityTrackingPtrOutput) WriteDataEvents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketActivityTracking) *bool { + if v == nil { + return nil + } + return v.WriteDataEvents + }).(pulumi.BoolPtrOutput) +} + +type CosBucketArchiveRule struct { + // Specifies the number of days when the specific rule action takes effect. + Days int `pulumi:"days"` + // Enable or disable an archive rule for a bucket + Enable bool `pulumi:"enable"` + // Unique identifier for the rule.Archive rules allow you to set a specific time frame after which objects transition to the archive. Set Rule ID for cos bucket + RuleId *string `pulumi:"ruleId"` + // Specifies the storage class/archive type to which you want the object to transition. It can be Glacier or Accelerated + Type string `pulumi:"type"` +} + +// CosBucketArchiveRuleInput is an input type that accepts CosBucketArchiveRuleArgs and CosBucketArchiveRuleOutput values. +// You can construct a concrete instance of `CosBucketArchiveRuleInput` via: +// +// CosBucketArchiveRuleArgs{...} +type CosBucketArchiveRuleInput interface { + pulumi.Input + + ToCosBucketArchiveRuleOutput() CosBucketArchiveRuleOutput + ToCosBucketArchiveRuleOutputWithContext(context.Context) CosBucketArchiveRuleOutput +} + +type CosBucketArchiveRuleArgs struct { + // Specifies the number of days when the specific rule action takes effect. + Days pulumi.IntInput `pulumi:"days"` + // Enable or disable an archive rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // Unique identifier for the rule.Archive rules allow you to set a specific time frame after which objects transition to the archive. Set Rule ID for cos bucket + RuleId pulumi.StringPtrInput `pulumi:"ruleId"` + // Specifies the storage class/archive type to which you want the object to transition. It can be Glacier or Accelerated + Type pulumi.StringInput `pulumi:"type"` +} + +func (CosBucketArchiveRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketArchiveRule)(nil)).Elem() +} + +func (i CosBucketArchiveRuleArgs) ToCosBucketArchiveRuleOutput() CosBucketArchiveRuleOutput { + return i.ToCosBucketArchiveRuleOutputWithContext(context.Background()) +} + +func (i CosBucketArchiveRuleArgs) ToCosBucketArchiveRuleOutputWithContext(ctx context.Context) CosBucketArchiveRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketArchiveRuleOutput) +} + +func (i CosBucketArchiveRuleArgs) ToCosBucketArchiveRulePtrOutput() CosBucketArchiveRulePtrOutput { + return i.ToCosBucketArchiveRulePtrOutputWithContext(context.Background()) +} + +func (i CosBucketArchiveRuleArgs) ToCosBucketArchiveRulePtrOutputWithContext(ctx context.Context) CosBucketArchiveRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketArchiveRuleOutput).ToCosBucketArchiveRulePtrOutputWithContext(ctx) +} + +// CosBucketArchiveRulePtrInput is an input type that accepts CosBucketArchiveRuleArgs, CosBucketArchiveRulePtr and CosBucketArchiveRulePtrOutput values. +// You can construct a concrete instance of `CosBucketArchiveRulePtrInput` via: +// +// CosBucketArchiveRuleArgs{...} +// +// or: +// +// nil +type CosBucketArchiveRulePtrInput interface { + pulumi.Input + + ToCosBucketArchiveRulePtrOutput() CosBucketArchiveRulePtrOutput + ToCosBucketArchiveRulePtrOutputWithContext(context.Context) CosBucketArchiveRulePtrOutput +} + +type cosBucketArchiveRulePtrType CosBucketArchiveRuleArgs + +func CosBucketArchiveRulePtr(v *CosBucketArchiveRuleArgs) CosBucketArchiveRulePtrInput { + return (*cosBucketArchiveRulePtrType)(v) +} + +func (*cosBucketArchiveRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketArchiveRule)(nil)).Elem() +} + +func (i *cosBucketArchiveRulePtrType) ToCosBucketArchiveRulePtrOutput() CosBucketArchiveRulePtrOutput { + return i.ToCosBucketArchiveRulePtrOutputWithContext(context.Background()) +} + +func (i *cosBucketArchiveRulePtrType) ToCosBucketArchiveRulePtrOutputWithContext(ctx context.Context) CosBucketArchiveRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketArchiveRulePtrOutput) +} + +type CosBucketArchiveRuleOutput struct{ *pulumi.OutputState } + +func (CosBucketArchiveRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketArchiveRule)(nil)).Elem() +} + +func (o CosBucketArchiveRuleOutput) ToCosBucketArchiveRuleOutput() CosBucketArchiveRuleOutput { + return o +} + +func (o CosBucketArchiveRuleOutput) ToCosBucketArchiveRuleOutputWithContext(ctx context.Context) CosBucketArchiveRuleOutput { + return o +} + +func (o CosBucketArchiveRuleOutput) ToCosBucketArchiveRulePtrOutput() CosBucketArchiveRulePtrOutput { + return o.ToCosBucketArchiveRulePtrOutputWithContext(context.Background()) +} + +func (o CosBucketArchiveRuleOutput) ToCosBucketArchiveRulePtrOutputWithContext(ctx context.Context) CosBucketArchiveRulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketArchiveRule) *CosBucketArchiveRule { + return &v + }).(CosBucketArchiveRulePtrOutput) +} + +// Specifies the number of days when the specific rule action takes effect. +func (o CosBucketArchiveRuleOutput) Days() pulumi.IntOutput { + return o.ApplyT(func(v CosBucketArchiveRule) int { return v.Days }).(pulumi.IntOutput) +} + +// Enable or disable an archive rule for a bucket +func (o CosBucketArchiveRuleOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v CosBucketArchiveRule) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// Unique identifier for the rule.Archive rules allow you to set a specific time frame after which objects transition to the archive. Set Rule ID for cos bucket +func (o CosBucketArchiveRuleOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketArchiveRule) *string { return v.RuleId }).(pulumi.StringPtrOutput) +} + +// Specifies the storage class/archive type to which you want the object to transition. It can be Glacier or Accelerated +func (o CosBucketArchiveRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketArchiveRule) string { return v.Type }).(pulumi.StringOutput) +} + +type CosBucketArchiveRulePtrOutput struct{ *pulumi.OutputState } + +func (CosBucketArchiveRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketArchiveRule)(nil)).Elem() +} + +func (o CosBucketArchiveRulePtrOutput) ToCosBucketArchiveRulePtrOutput() CosBucketArchiveRulePtrOutput { + return o +} + +func (o CosBucketArchiveRulePtrOutput) ToCosBucketArchiveRulePtrOutputWithContext(ctx context.Context) CosBucketArchiveRulePtrOutput { + return o +} + +func (o CosBucketArchiveRulePtrOutput) Elem() CosBucketArchiveRuleOutput { + return o.ApplyT(func(v *CosBucketArchiveRule) CosBucketArchiveRule { + if v != nil { + return *v + } + var ret CosBucketArchiveRule + return ret + }).(CosBucketArchiveRuleOutput) +} + +// Specifies the number of days when the specific rule action takes effect. +func (o CosBucketArchiveRulePtrOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketArchiveRule) *int { + if v == nil { + return nil + } + return &v.Days + }).(pulumi.IntPtrOutput) +} + +// Enable or disable an archive rule for a bucket +func (o CosBucketArchiveRulePtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketArchiveRule) *bool { + if v == nil { + return nil + } + return &v.Enable + }).(pulumi.BoolPtrOutput) +} + +// Unique identifier for the rule.Archive rules allow you to set a specific time frame after which objects transition to the archive. Set Rule ID for cos bucket +func (o CosBucketArchiveRulePtrOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketArchiveRule) *string { + if v == nil { + return nil + } + return v.RuleId + }).(pulumi.StringPtrOutput) +} + +// Specifies the storage class/archive type to which you want the object to transition. It can be Glacier or Accelerated +func (o CosBucketArchiveRulePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketArchiveRule) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type CosBucketExpireRule struct { + // Specify a rule to expire the current version of objects in bucket after a specific date. + Date *string `pulumi:"date"` + // Specifies the number of days when the specific rule action takes effect. + Days *int `pulumi:"days"` + // Enable or disable an expire rule for a bucket + Enable bool `pulumi:"enable"` + // Expired object delete markers can be automatically cleaned up to improve performance in bucket. This cannot be used alongside version expiration. + ExpiredObjectDeleteMarker *bool `pulumi:"expiredObjectDeleteMarker"` + // The rule applies to any objects with keys that match this prefix + Prefix *string `pulumi:"prefix"` + // Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId *string `pulumi:"ruleId"` +} + +// CosBucketExpireRuleInput is an input type that accepts CosBucketExpireRuleArgs and CosBucketExpireRuleOutput values. +// You can construct a concrete instance of `CosBucketExpireRuleInput` via: +// +// CosBucketExpireRuleArgs{...} +type CosBucketExpireRuleInput interface { + pulumi.Input + + ToCosBucketExpireRuleOutput() CosBucketExpireRuleOutput + ToCosBucketExpireRuleOutputWithContext(context.Context) CosBucketExpireRuleOutput +} + +type CosBucketExpireRuleArgs struct { + // Specify a rule to expire the current version of objects in bucket after a specific date. + Date pulumi.StringPtrInput `pulumi:"date"` + // Specifies the number of days when the specific rule action takes effect. + Days pulumi.IntPtrInput `pulumi:"days"` + // Enable or disable an expire rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // Expired object delete markers can be automatically cleaned up to improve performance in bucket. This cannot be used alongside version expiration. + ExpiredObjectDeleteMarker pulumi.BoolPtrInput `pulumi:"expiredObjectDeleteMarker"` + // The rule applies to any objects with keys that match this prefix + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId pulumi.StringPtrInput `pulumi:"ruleId"` +} + +func (CosBucketExpireRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketExpireRule)(nil)).Elem() +} + +func (i CosBucketExpireRuleArgs) ToCosBucketExpireRuleOutput() CosBucketExpireRuleOutput { + return i.ToCosBucketExpireRuleOutputWithContext(context.Background()) +} + +func (i CosBucketExpireRuleArgs) ToCosBucketExpireRuleOutputWithContext(ctx context.Context) CosBucketExpireRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketExpireRuleOutput) +} + +// CosBucketExpireRuleArrayInput is an input type that accepts CosBucketExpireRuleArray and CosBucketExpireRuleArrayOutput values. +// You can construct a concrete instance of `CosBucketExpireRuleArrayInput` via: +// +// CosBucketExpireRuleArray{ CosBucketExpireRuleArgs{...} } +type CosBucketExpireRuleArrayInput interface { + pulumi.Input + + ToCosBucketExpireRuleArrayOutput() CosBucketExpireRuleArrayOutput + ToCosBucketExpireRuleArrayOutputWithContext(context.Context) CosBucketExpireRuleArrayOutput +} + +type CosBucketExpireRuleArray []CosBucketExpireRuleInput + +func (CosBucketExpireRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketExpireRule)(nil)).Elem() +} + +func (i CosBucketExpireRuleArray) ToCosBucketExpireRuleArrayOutput() CosBucketExpireRuleArrayOutput { + return i.ToCosBucketExpireRuleArrayOutputWithContext(context.Background()) +} + +func (i CosBucketExpireRuleArray) ToCosBucketExpireRuleArrayOutputWithContext(ctx context.Context) CosBucketExpireRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketExpireRuleArrayOutput) +} + +type CosBucketExpireRuleOutput struct{ *pulumi.OutputState } + +func (CosBucketExpireRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketExpireRule)(nil)).Elem() +} + +func (o CosBucketExpireRuleOutput) ToCosBucketExpireRuleOutput() CosBucketExpireRuleOutput { + return o +} + +func (o CosBucketExpireRuleOutput) ToCosBucketExpireRuleOutputWithContext(ctx context.Context) CosBucketExpireRuleOutput { + return o +} + +// Specify a rule to expire the current version of objects in bucket after a specific date. +func (o CosBucketExpireRuleOutput) Date() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketExpireRule) *string { return v.Date }).(pulumi.StringPtrOutput) +} + +// Specifies the number of days when the specific rule action takes effect. +func (o CosBucketExpireRuleOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketExpireRule) *int { return v.Days }).(pulumi.IntPtrOutput) +} + +// Enable or disable an expire rule for a bucket +func (o CosBucketExpireRuleOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v CosBucketExpireRule) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// Expired object delete markers can be automatically cleaned up to improve performance in bucket. This cannot be used alongside version expiration. +func (o CosBucketExpireRuleOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketExpireRule) *bool { return v.ExpiredObjectDeleteMarker }).(pulumi.BoolPtrOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o CosBucketExpireRuleOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketExpireRule) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket +func (o CosBucketExpireRuleOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketExpireRule) *string { return v.RuleId }).(pulumi.StringPtrOutput) +} + +type CosBucketExpireRuleArrayOutput struct{ *pulumi.OutputState } + +func (CosBucketExpireRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketExpireRule)(nil)).Elem() +} + +func (o CosBucketExpireRuleArrayOutput) ToCosBucketExpireRuleArrayOutput() CosBucketExpireRuleArrayOutput { + return o +} + +func (o CosBucketExpireRuleArrayOutput) ToCosBucketExpireRuleArrayOutputWithContext(ctx context.Context) CosBucketExpireRuleArrayOutput { + return o +} + +func (o CosBucketExpireRuleArrayOutput) Index(i pulumi.IntInput) CosBucketExpireRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CosBucketExpireRule { + return vs[0].([]CosBucketExpireRule)[vs[1].(int)] + }).(CosBucketExpireRuleOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRule struct { + AbortIncompleteMultipartUpload *CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload `pulumi:"abortIncompleteMultipartUpload"` + Expiration *CosBucketLifecycleConfigurationLifecycleRuleExpiration `pulumi:"expiration"` + Filter CosBucketLifecycleConfigurationLifecycleRuleFilter `pulumi:"filter"` + NoncurrentVersionExpiration *CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpiration"` + RuleId string `pulumi:"ruleId"` + Status string `pulumi:"status"` + Transition *CosBucketLifecycleConfigurationLifecycleRuleTransition `pulumi:"transition"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleArgs and CosBucketLifecycleConfigurationLifecycleRuleOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleOutput() CosBucketLifecycleConfigurationLifecycleRuleOutput + ToCosBucketLifecycleConfigurationLifecycleRuleOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleArgs struct { + AbortIncompleteMultipartUpload CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrInput `pulumi:"abortIncompleteMultipartUpload"` + Expiration CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrInput `pulumi:"expiration"` + Filter CosBucketLifecycleConfigurationLifecycleRuleFilterInput `pulumi:"filter"` + NoncurrentVersionExpiration CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrInput `pulumi:"noncurrentVersionExpiration"` + RuleId pulumi.StringInput `pulumi:"ruleId"` + Status pulumi.StringInput `pulumi:"status"` + Transition CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrInput `pulumi:"transition"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRule)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleArgs) ToCosBucketLifecycleConfigurationLifecycleRuleOutput() CosBucketLifecycleConfigurationLifecycleRuleOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleArgs) ToCosBucketLifecycleConfigurationLifecycleRuleOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleOutput) +} + +// CosBucketLifecycleConfigurationLifecycleRuleArrayInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleArray and CosBucketLifecycleConfigurationLifecycleRuleArrayOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleArrayInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleArray{ CosBucketLifecycleConfigurationLifecycleRuleArgs{...} } +type CosBucketLifecycleConfigurationLifecycleRuleArrayInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleArrayOutput() CosBucketLifecycleConfigurationLifecycleRuleArrayOutput + ToCosBucketLifecycleConfigurationLifecycleRuleArrayOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleArrayOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleArray []CosBucketLifecycleConfigurationLifecycleRuleInput + +func (CosBucketLifecycleConfigurationLifecycleRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketLifecycleConfigurationLifecycleRule)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleArray) ToCosBucketLifecycleConfigurationLifecycleRuleArrayOutput() CosBucketLifecycleConfigurationLifecycleRuleArrayOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleArrayOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleArray) ToCosBucketLifecycleConfigurationLifecycleRuleArrayOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleArrayOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRule)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) ToCosBucketLifecycleConfigurationLifecycleRuleOutput() CosBucketLifecycleConfigurationLifecycleRuleOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) ToCosBucketLifecycleConfigurationLifecycleRuleOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) AbortIncompleteMultipartUpload() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRule) *CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload { + return v.AbortIncompleteMultipartUpload + }).(CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) Expiration() CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRule) *CosBucketLifecycleConfigurationLifecycleRuleExpiration { + return v.Expiration + }).(CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) Filter() CosBucketLifecycleConfigurationLifecycleRuleFilterOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRule) CosBucketLifecycleConfigurationLifecycleRuleFilter { + return v.Filter + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) NoncurrentVersionExpiration() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRule) *CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration { + return v.NoncurrentVersionExpiration + }).(CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRule) string { return v.RuleId }).(pulumi.StringOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRule) string { return v.Status }).(pulumi.StringOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleOutput) Transition() CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRule) *CosBucketLifecycleConfigurationLifecycleRuleTransition { + return v.Transition + }).(CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleArrayOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketLifecycleConfigurationLifecycleRule)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleArrayOutput) ToCosBucketLifecycleConfigurationLifecycleRuleArrayOutput() CosBucketLifecycleConfigurationLifecycleRuleArrayOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleArrayOutput) ToCosBucketLifecycleConfigurationLifecycleRuleArrayOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleArrayOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleArrayOutput) Index(i pulumi.IntInput) CosBucketLifecycleConfigurationLifecycleRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CosBucketLifecycleConfigurationLifecycleRule { + return vs[0].([]CosBucketLifecycleConfigurationLifecycleRule)[vs[1].(int)] + }).(CosBucketLifecycleConfigurationLifecycleRuleOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload struct { + DaysAfterInitiation *int `pulumi:"daysAfterInitiation"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs and CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput + ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs struct { + DaysAfterInitiation pulumi.IntPtrInput `pulumi:"daysAfterInitiation"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput).ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx) +} + +// CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs, CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtr and CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs{...} +// +// or: +// +// nil +type CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput + ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput +} + +type cosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrType CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs + +func CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtr(v *CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrInput { + return (*cosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrType)(v) +} + +func (*cosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return o.ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(context.Background()) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload) *CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload { + return &v + }).(CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput) DaysAfterInitiation() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload) *int { + return v.DaysAfterInitiation + }).(pulumi.IntPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput) Elem() CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload) CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload { + if v != nil { + return *v + } + var ret CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload + return ret + }).(CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput) DaysAfterInitiation() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUpload) *int { + if v == nil { + return nil + } + return v.DaysAfterInitiation + }).(pulumi.IntPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleExpiration struct { + Date *string `pulumi:"date"` + Days *int `pulumi:"days"` + ExpiredObjectDeleteMarker *bool `pulumi:"expiredObjectDeleteMarker"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleExpirationInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs and CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleExpirationInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleExpirationInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleExpirationOutput() CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput + ToCosBucketLifecycleConfigurationLifecycleRuleExpirationOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs struct { + Date pulumi.StringPtrInput `pulumi:"date"` + Days pulumi.IntPtrInput `pulumi:"days"` + ExpiredObjectDeleteMarker pulumi.BoolPtrInput `pulumi:"expiredObjectDeleteMarker"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleExpiration)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationOutput() CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleExpirationOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput).ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(ctx) +} + +// CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs, CosBucketLifecycleConfigurationLifecycleRuleExpirationPtr and CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs{...} +// +// or: +// +// nil +type CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput + ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput +} + +type cosBucketLifecycleConfigurationLifecycleRuleExpirationPtrType CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs + +func CosBucketLifecycleConfigurationLifecycleRuleExpirationPtr(v *CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs) CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrInput { + return (*cosBucketLifecycleConfigurationLifecycleRuleExpirationPtrType)(v) +} + +func (*cosBucketLifecycleConfigurationLifecycleRuleExpirationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleExpiration)(nil)).Elem() +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleExpirationPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleExpirationPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleExpiration)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationOutput() CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return o.ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(context.Background()) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketLifecycleConfigurationLifecycleRuleExpiration) *CosBucketLifecycleConfigurationLifecycleRuleExpiration { + return &v + }).(CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) Date() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleExpiration) *string { return v.Date }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleExpiration) *int { return v.Days }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleExpiration) *bool { + return v.ExpiredObjectDeleteMarker + }).(pulumi.BoolPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleExpiration)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) Elem() CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleExpiration) CosBucketLifecycleConfigurationLifecycleRuleExpiration { + if v != nil { + return *v + } + var ret CosBucketLifecycleConfigurationLifecycleRuleExpiration + return ret + }).(CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) Date() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleExpiration) *string { + if v == nil { + return nil + } + return v.Date + }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleExpiration) *int { + if v == nil { + return nil + } + return v.Days + }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleExpiration) *bool { + if v == nil { + return nil + } + return v.ExpiredObjectDeleteMarker + }).(pulumi.BoolPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilter struct { + And *CosBucketLifecycleConfigurationLifecycleRuleFilterAnd `pulumi:"and"` + ObjectSizeGreaterThan *int `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan *int `pulumi:"objectSizeLessThan"` + Prefix *string `pulumi:"prefix"` + Tag *CosBucketLifecycleConfigurationLifecycleRuleFilterTag `pulumi:"tag"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleFilterInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleFilterArgs and CosBucketLifecycleConfigurationLifecycleRuleFilterOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleFilterInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleFilterArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleFilterInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleFilterOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterOutput + ToCosBucketLifecycleConfigurationLifecycleRuleFilterOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterArgs struct { + And CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrInput `pulumi:"and"` + ObjectSizeGreaterThan pulumi.IntPtrInput `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan pulumi.IntPtrInput `pulumi:"objectSizeLessThan"` + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + Tag CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrInput `pulumi:"tag"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilter)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilter)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) And() CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilter) *CosBucketLifecycleConfigurationLifecycleRuleFilterAnd { + return v.And + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) ObjectSizeGreaterThan() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilter) *int { return v.ObjectSizeGreaterThan }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) ObjectSizeLessThan() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilter) *int { return v.ObjectSizeLessThan }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilter) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterOutput) Tag() CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilter) *CosBucketLifecycleConfigurationLifecycleRuleFilterTag { + return v.Tag + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAnd struct { + ObjectSizeGreaterThan *int `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan *int `pulumi:"objectSizeLessThan"` + Prefix *string `pulumi:"prefix"` + Tags []CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag `pulumi:"tags"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleFilterAndInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs and CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleFilterAndInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput + ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs struct { + ObjectSizeGreaterThan pulumi.IntPtrInput `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan pulumi.IntPtrInput `pulumi:"objectSizeLessThan"` + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + Tags CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayInput `pulumi:"tags"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterAnd)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput).ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(ctx) +} + +// CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs, CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtr and CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs{...} +// +// or: +// +// nil +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput + ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput +} + +type cosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrType CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs + +func CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtr(v *CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs) CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrInput { + return (*cosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrType)(v) +} + +func (*cosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleFilterAnd)(nil)).Elem() +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterAnd)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return o.ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(context.Background()) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) *CosBucketLifecycleConfigurationLifecycleRuleFilterAnd { + return &v + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) ObjectSizeGreaterThan() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) *int { return v.ObjectSizeGreaterThan }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) ObjectSizeLessThan() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) *int { return v.ObjectSizeLessThan }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) Tags() CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) []CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag { + return v.Tags + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleFilterAnd)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) Elem() CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) CosBucketLifecycleConfigurationLifecycleRuleFilterAnd { + if v != nil { + return *v + } + var ret CosBucketLifecycleConfigurationLifecycleRuleFilterAnd + return ret + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) ObjectSizeGreaterThan() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) *int { + if v == nil { + return nil + } + return v.ObjectSizeGreaterThan + }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) ObjectSizeLessThan() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) *int { + if v == nil { + return nil + } + return v.ObjectSizeLessThan + }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput) Tags() CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleFilterAnd) []CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag { + if v == nil { + return nil + } + return v.Tags + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArgs and CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput + ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArgs struct { + Key pulumi.StringInput `pulumi:"key"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput) +} + +// CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArray and CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArray{ CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArgs{...} } +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput + ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArray []CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagInput + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArray) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArray) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag) string { return v.Key }).(pulumi.StringOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag) string { return v.Value }).(pulumi.StringOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput) Index(i pulumi.IntInput) CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag { + return vs[0].([]CosBucketLifecycleConfigurationLifecycleRuleFilterAndTag)[vs[1].(int)] + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleFilterTagInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs and CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleFilterTagInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleFilterTagInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput + ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs struct { + Key pulumi.StringInput `pulumi:"key"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterTag)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput).ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(ctx) +} + +// CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs, CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtr and CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs{...} +// +// or: +// +// nil +type CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput + ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput +} + +type cosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrType CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs + +func CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtr(v *CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs) CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrInput { + return (*cosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrType)(v) +} + +func (*cosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleFilterTag)(nil)).Elem() +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterTag)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return o.ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(context.Background()) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketLifecycleConfigurationLifecycleRuleFilterTag) *CosBucketLifecycleConfigurationLifecycleRuleFilterTag { + return &v + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilterTag) string { return v.Key }).(pulumi.StringOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleFilterTag) string { return v.Value }).(pulumi.StringOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleFilterTag)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) Elem() CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleFilterTag) CosBucketLifecycleConfigurationLifecycleRuleFilterTag { + if v != nil { + return *v + } + var ret CosBucketLifecycleConfigurationLifecycleRuleFilterTag + return ret + }).(CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleFilterTag) *string { + if v == nil { + return nil + } + return &v.Key + }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleFilterTag) *string { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.StringPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration struct { + NoncurrentDays *int `pulumi:"noncurrentDays"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs and CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput + ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs struct { + NoncurrentDays pulumi.IntPtrInput `pulumi:"noncurrentDays"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput).ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx) +} + +// CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs, CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtr and CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs{...} +// +// or: +// +// nil +type CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput + ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput +} + +type cosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrType CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs + +func CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtr(v *CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrInput { + return (*cosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrType)(v) +} + +func (*cosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o.ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration) *CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration { + return &v + }).(CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput) NoncurrentDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration) *int { + return v.NoncurrentDays + }).(pulumi.IntPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput) Elem() CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration) CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration { + if v != nil { + return *v + } + var ret CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration + return ret + }).(CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput) NoncurrentDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpiration) *int { + if v == nil { + return nil + } + return v.NoncurrentDays + }).(pulumi.IntPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleTransition struct { + Date *string `pulumi:"date"` + Days *int `pulumi:"days"` + StorageClass string `pulumi:"storageClass"` +} + +// CosBucketLifecycleConfigurationLifecycleRuleTransitionInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs and CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleTransitionInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs{...} +type CosBucketLifecycleConfigurationLifecycleRuleTransitionInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleTransitionOutput() CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput + ToCosBucketLifecycleConfigurationLifecycleRuleTransitionOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput +} + +type CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs struct { + Date pulumi.StringPtrInput `pulumi:"date"` + Days pulumi.IntPtrInput `pulumi:"days"` + StorageClass pulumi.StringInput `pulumi:"storageClass"` +} + +func (CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleTransition)(nil)).Elem() +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionOutput() CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleTransitionOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(context.Background()) +} + +func (i CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput).ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(ctx) +} + +// CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrInput is an input type that accepts CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs, CosBucketLifecycleConfigurationLifecycleRuleTransitionPtr and CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput values. +// You can construct a concrete instance of `CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrInput` via: +// +// CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs{...} +// +// or: +// +// nil +type CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrInput interface { + pulumi.Input + + ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput + ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(context.Context) CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput +} + +type cosBucketLifecycleConfigurationLifecycleRuleTransitionPtrType CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs + +func CosBucketLifecycleConfigurationLifecycleRuleTransitionPtr(v *CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs) CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrInput { + return (*cosBucketLifecycleConfigurationLifecycleRuleTransitionPtrType)(v) +} + +func (*cosBucketLifecycleConfigurationLifecycleRuleTransitionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleTransition)(nil)).Elem() +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleTransitionPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return i.ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketLifecycleConfigurationLifecycleRuleTransitionPtrType) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleTransition)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionOutput() CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return o.ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(context.Background()) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketLifecycleConfigurationLifecycleRuleTransition) *CosBucketLifecycleConfigurationLifecycleRuleTransition { + return &v + }).(CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) Date() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleTransition) *string { return v.Date }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleTransition) *int { return v.Days }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) StorageClass() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketLifecycleConfigurationLifecycleRuleTransition) string { return v.StorageClass }).(pulumi.StringOutput) +} + +type CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketLifecycleConfigurationLifecycleRuleTransition)(nil)).Elem() +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput() CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) ToCosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutputWithContext(ctx context.Context) CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput { + return o +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) Elem() CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleTransition) CosBucketLifecycleConfigurationLifecycleRuleTransition { + if v != nil { + return *v + } + var ret CosBucketLifecycleConfigurationLifecycleRuleTransition + return ret + }).(CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) Date() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleTransition) *string { + if v == nil { + return nil + } + return v.Date + }).(pulumi.StringPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleTransition) *int { + if v == nil { + return nil + } + return v.Days + }).(pulumi.IntPtrOutput) +} + +func (o CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput) StorageClass() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketLifecycleConfigurationLifecycleRuleTransition) *string { + if v == nil { + return nil + } + return &v.StorageClass + }).(pulumi.StringPtrOutput) +} + +type CosBucketMetricsMonitoring struct { + // When the metricsMonitoringCrn is not populated, then enabled metrics are sent to the monitoring instance associated to the container's location unless otherwise specified in the Metrics Router service configuration.If metricsMonitoringCrn is populated, then enabled events are sent to the Metrics Monitoring instance specified. + MetricsMonitoringCrn *string `pulumi:"metricsMonitoringCrn"` + // If set to true, all request metrics (i.e. `rest.object.head`) will be sent to the monitoring service. + RequestMetricsEnabled *bool `pulumi:"requestMetricsEnabled"` + // If set to true, all usage metrics (i.e. `bytesUsed`) will be sent to the monitoring service. + UsageMetricsEnabled *bool `pulumi:"usageMetricsEnabled"` +} + +// CosBucketMetricsMonitoringInput is an input type that accepts CosBucketMetricsMonitoringArgs and CosBucketMetricsMonitoringOutput values. +// You can construct a concrete instance of `CosBucketMetricsMonitoringInput` via: +// +// CosBucketMetricsMonitoringArgs{...} +type CosBucketMetricsMonitoringInput interface { + pulumi.Input + + ToCosBucketMetricsMonitoringOutput() CosBucketMetricsMonitoringOutput + ToCosBucketMetricsMonitoringOutputWithContext(context.Context) CosBucketMetricsMonitoringOutput +} + +type CosBucketMetricsMonitoringArgs struct { + // When the metricsMonitoringCrn is not populated, then enabled metrics are sent to the monitoring instance associated to the container's location unless otherwise specified in the Metrics Router service configuration.If metricsMonitoringCrn is populated, then enabled events are sent to the Metrics Monitoring instance specified. + MetricsMonitoringCrn pulumi.StringPtrInput `pulumi:"metricsMonitoringCrn"` + // If set to true, all request metrics (i.e. `rest.object.head`) will be sent to the monitoring service. + RequestMetricsEnabled pulumi.BoolPtrInput `pulumi:"requestMetricsEnabled"` + // If set to true, all usage metrics (i.e. `bytesUsed`) will be sent to the monitoring service. + UsageMetricsEnabled pulumi.BoolPtrInput `pulumi:"usageMetricsEnabled"` +} + +func (CosBucketMetricsMonitoringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketMetricsMonitoring)(nil)).Elem() +} + +func (i CosBucketMetricsMonitoringArgs) ToCosBucketMetricsMonitoringOutput() CosBucketMetricsMonitoringOutput { + return i.ToCosBucketMetricsMonitoringOutputWithContext(context.Background()) +} + +func (i CosBucketMetricsMonitoringArgs) ToCosBucketMetricsMonitoringOutputWithContext(ctx context.Context) CosBucketMetricsMonitoringOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketMetricsMonitoringOutput) +} + +func (i CosBucketMetricsMonitoringArgs) ToCosBucketMetricsMonitoringPtrOutput() CosBucketMetricsMonitoringPtrOutput { + return i.ToCosBucketMetricsMonitoringPtrOutputWithContext(context.Background()) +} + +func (i CosBucketMetricsMonitoringArgs) ToCosBucketMetricsMonitoringPtrOutputWithContext(ctx context.Context) CosBucketMetricsMonitoringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketMetricsMonitoringOutput).ToCosBucketMetricsMonitoringPtrOutputWithContext(ctx) +} + +// CosBucketMetricsMonitoringPtrInput is an input type that accepts CosBucketMetricsMonitoringArgs, CosBucketMetricsMonitoringPtr and CosBucketMetricsMonitoringPtrOutput values. +// You can construct a concrete instance of `CosBucketMetricsMonitoringPtrInput` via: +// +// CosBucketMetricsMonitoringArgs{...} +// +// or: +// +// nil +type CosBucketMetricsMonitoringPtrInput interface { + pulumi.Input + + ToCosBucketMetricsMonitoringPtrOutput() CosBucketMetricsMonitoringPtrOutput + ToCosBucketMetricsMonitoringPtrOutputWithContext(context.Context) CosBucketMetricsMonitoringPtrOutput +} + +type cosBucketMetricsMonitoringPtrType CosBucketMetricsMonitoringArgs + +func CosBucketMetricsMonitoringPtr(v *CosBucketMetricsMonitoringArgs) CosBucketMetricsMonitoringPtrInput { + return (*cosBucketMetricsMonitoringPtrType)(v) +} + +func (*cosBucketMetricsMonitoringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketMetricsMonitoring)(nil)).Elem() +} + +func (i *cosBucketMetricsMonitoringPtrType) ToCosBucketMetricsMonitoringPtrOutput() CosBucketMetricsMonitoringPtrOutput { + return i.ToCosBucketMetricsMonitoringPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketMetricsMonitoringPtrType) ToCosBucketMetricsMonitoringPtrOutputWithContext(ctx context.Context) CosBucketMetricsMonitoringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketMetricsMonitoringPtrOutput) +} + +type CosBucketMetricsMonitoringOutput struct{ *pulumi.OutputState } + +func (CosBucketMetricsMonitoringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketMetricsMonitoring)(nil)).Elem() +} + +func (o CosBucketMetricsMonitoringOutput) ToCosBucketMetricsMonitoringOutput() CosBucketMetricsMonitoringOutput { + return o +} + +func (o CosBucketMetricsMonitoringOutput) ToCosBucketMetricsMonitoringOutputWithContext(ctx context.Context) CosBucketMetricsMonitoringOutput { + return o +} + +func (o CosBucketMetricsMonitoringOutput) ToCosBucketMetricsMonitoringPtrOutput() CosBucketMetricsMonitoringPtrOutput { + return o.ToCosBucketMetricsMonitoringPtrOutputWithContext(context.Background()) +} + +func (o CosBucketMetricsMonitoringOutput) ToCosBucketMetricsMonitoringPtrOutputWithContext(ctx context.Context) CosBucketMetricsMonitoringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketMetricsMonitoring) *CosBucketMetricsMonitoring { + return &v + }).(CosBucketMetricsMonitoringPtrOutput) +} + +// When the metricsMonitoringCrn is not populated, then enabled metrics are sent to the monitoring instance associated to the container's location unless otherwise specified in the Metrics Router service configuration.If metricsMonitoringCrn is populated, then enabled events are sent to the Metrics Monitoring instance specified. +func (o CosBucketMetricsMonitoringOutput) MetricsMonitoringCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketMetricsMonitoring) *string { return v.MetricsMonitoringCrn }).(pulumi.StringPtrOutput) +} + +// If set to true, all request metrics (i.e. `rest.object.head`) will be sent to the monitoring service. +func (o CosBucketMetricsMonitoringOutput) RequestMetricsEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketMetricsMonitoring) *bool { return v.RequestMetricsEnabled }).(pulumi.BoolPtrOutput) +} + +// If set to true, all usage metrics (i.e. `bytesUsed`) will be sent to the monitoring service. +func (o CosBucketMetricsMonitoringOutput) UsageMetricsEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketMetricsMonitoring) *bool { return v.UsageMetricsEnabled }).(pulumi.BoolPtrOutput) +} + +type CosBucketMetricsMonitoringPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketMetricsMonitoringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketMetricsMonitoring)(nil)).Elem() +} + +func (o CosBucketMetricsMonitoringPtrOutput) ToCosBucketMetricsMonitoringPtrOutput() CosBucketMetricsMonitoringPtrOutput { + return o +} + +func (o CosBucketMetricsMonitoringPtrOutput) ToCosBucketMetricsMonitoringPtrOutputWithContext(ctx context.Context) CosBucketMetricsMonitoringPtrOutput { + return o +} + +func (o CosBucketMetricsMonitoringPtrOutput) Elem() CosBucketMetricsMonitoringOutput { + return o.ApplyT(func(v *CosBucketMetricsMonitoring) CosBucketMetricsMonitoring { + if v != nil { + return *v + } + var ret CosBucketMetricsMonitoring + return ret + }).(CosBucketMetricsMonitoringOutput) +} + +// When the metricsMonitoringCrn is not populated, then enabled metrics are sent to the monitoring instance associated to the container's location unless otherwise specified in the Metrics Router service configuration.If metricsMonitoringCrn is populated, then enabled events are sent to the Metrics Monitoring instance specified. +func (o CosBucketMetricsMonitoringPtrOutput) MetricsMonitoringCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketMetricsMonitoring) *string { + if v == nil { + return nil + } + return v.MetricsMonitoringCrn + }).(pulumi.StringPtrOutput) +} + +// If set to true, all request metrics (i.e. `rest.object.head`) will be sent to the monitoring service. +func (o CosBucketMetricsMonitoringPtrOutput) RequestMetricsEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketMetricsMonitoring) *bool { + if v == nil { + return nil + } + return v.RequestMetricsEnabled + }).(pulumi.BoolPtrOutput) +} + +// If set to true, all usage metrics (i.e. `bytesUsed`) will be sent to the monitoring service. +func (o CosBucketMetricsMonitoringPtrOutput) UsageMetricsEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketMetricsMonitoring) *bool { + if v == nil { + return nil + } + return v.UsageMetricsEnabled + }).(pulumi.BoolPtrOutput) +} + +type CosBucketNoncurrentVersionExpiration struct { + // Enable or disable an expire rule for a bucket + Enable bool `pulumi:"enable"` + // Specifies the number of days when the specific rule action takes effect. + NoncurrentDays *int `pulumi:"noncurrentDays"` + // The rule applies to any objects with keys that match this prefix + Prefix *string `pulumi:"prefix"` + // Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId *string `pulumi:"ruleId"` +} + +// CosBucketNoncurrentVersionExpirationInput is an input type that accepts CosBucketNoncurrentVersionExpirationArgs and CosBucketNoncurrentVersionExpirationOutput values. +// You can construct a concrete instance of `CosBucketNoncurrentVersionExpirationInput` via: +// +// CosBucketNoncurrentVersionExpirationArgs{...} +type CosBucketNoncurrentVersionExpirationInput interface { + pulumi.Input + + ToCosBucketNoncurrentVersionExpirationOutput() CosBucketNoncurrentVersionExpirationOutput + ToCosBucketNoncurrentVersionExpirationOutputWithContext(context.Context) CosBucketNoncurrentVersionExpirationOutput +} + +type CosBucketNoncurrentVersionExpirationArgs struct { + // Enable or disable an expire rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // Specifies the number of days when the specific rule action takes effect. + NoncurrentDays pulumi.IntPtrInput `pulumi:"noncurrentDays"` + // The rule applies to any objects with keys that match this prefix + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId pulumi.StringPtrInput `pulumi:"ruleId"` +} + +func (CosBucketNoncurrentVersionExpirationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i CosBucketNoncurrentVersionExpirationArgs) ToCosBucketNoncurrentVersionExpirationOutput() CosBucketNoncurrentVersionExpirationOutput { + return i.ToCosBucketNoncurrentVersionExpirationOutputWithContext(context.Background()) +} + +func (i CosBucketNoncurrentVersionExpirationArgs) ToCosBucketNoncurrentVersionExpirationOutputWithContext(ctx context.Context) CosBucketNoncurrentVersionExpirationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketNoncurrentVersionExpirationOutput) +} + +func (i CosBucketNoncurrentVersionExpirationArgs) ToCosBucketNoncurrentVersionExpirationPtrOutput() CosBucketNoncurrentVersionExpirationPtrOutput { + return i.ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (i CosBucketNoncurrentVersionExpirationArgs) ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) CosBucketNoncurrentVersionExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketNoncurrentVersionExpirationOutput).ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(ctx) +} + +// CosBucketNoncurrentVersionExpirationPtrInput is an input type that accepts CosBucketNoncurrentVersionExpirationArgs, CosBucketNoncurrentVersionExpirationPtr and CosBucketNoncurrentVersionExpirationPtrOutput values. +// You can construct a concrete instance of `CosBucketNoncurrentVersionExpirationPtrInput` via: +// +// CosBucketNoncurrentVersionExpirationArgs{...} +// +// or: +// +// nil +type CosBucketNoncurrentVersionExpirationPtrInput interface { + pulumi.Input + + ToCosBucketNoncurrentVersionExpirationPtrOutput() CosBucketNoncurrentVersionExpirationPtrOutput + ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(context.Context) CosBucketNoncurrentVersionExpirationPtrOutput +} + +type cosBucketNoncurrentVersionExpirationPtrType CosBucketNoncurrentVersionExpirationArgs + +func CosBucketNoncurrentVersionExpirationPtr(v *CosBucketNoncurrentVersionExpirationArgs) CosBucketNoncurrentVersionExpirationPtrInput { + return (*cosBucketNoncurrentVersionExpirationPtrType)(v) +} + +func (*cosBucketNoncurrentVersionExpirationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i *cosBucketNoncurrentVersionExpirationPtrType) ToCosBucketNoncurrentVersionExpirationPtrOutput() CosBucketNoncurrentVersionExpirationPtrOutput { + return i.ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketNoncurrentVersionExpirationPtrType) ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) CosBucketNoncurrentVersionExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketNoncurrentVersionExpirationPtrOutput) +} + +type CosBucketNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState } + +func (CosBucketNoncurrentVersionExpirationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o CosBucketNoncurrentVersionExpirationOutput) ToCosBucketNoncurrentVersionExpirationOutput() CosBucketNoncurrentVersionExpirationOutput { + return o +} + +func (o CosBucketNoncurrentVersionExpirationOutput) ToCosBucketNoncurrentVersionExpirationOutputWithContext(ctx context.Context) CosBucketNoncurrentVersionExpirationOutput { + return o +} + +func (o CosBucketNoncurrentVersionExpirationOutput) ToCosBucketNoncurrentVersionExpirationPtrOutput() CosBucketNoncurrentVersionExpirationPtrOutput { + return o.ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (o CosBucketNoncurrentVersionExpirationOutput) ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) CosBucketNoncurrentVersionExpirationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketNoncurrentVersionExpiration) *CosBucketNoncurrentVersionExpiration { + return &v + }).(CosBucketNoncurrentVersionExpirationPtrOutput) +} + +// Enable or disable an expire rule for a bucket +func (o CosBucketNoncurrentVersionExpirationOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v CosBucketNoncurrentVersionExpiration) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// Specifies the number of days when the specific rule action takes effect. +func (o CosBucketNoncurrentVersionExpirationOutput) NoncurrentDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketNoncurrentVersionExpiration) *int { return v.NoncurrentDays }).(pulumi.IntPtrOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o CosBucketNoncurrentVersionExpirationOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketNoncurrentVersionExpiration) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket +func (o CosBucketNoncurrentVersionExpirationOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketNoncurrentVersionExpiration) *string { return v.RuleId }).(pulumi.StringPtrOutput) +} + +type CosBucketNoncurrentVersionExpirationPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketNoncurrentVersionExpirationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o CosBucketNoncurrentVersionExpirationPtrOutput) ToCosBucketNoncurrentVersionExpirationPtrOutput() CosBucketNoncurrentVersionExpirationPtrOutput { + return o +} + +func (o CosBucketNoncurrentVersionExpirationPtrOutput) ToCosBucketNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) CosBucketNoncurrentVersionExpirationPtrOutput { + return o +} + +func (o CosBucketNoncurrentVersionExpirationPtrOutput) Elem() CosBucketNoncurrentVersionExpirationOutput { + return o.ApplyT(func(v *CosBucketNoncurrentVersionExpiration) CosBucketNoncurrentVersionExpiration { + if v != nil { + return *v + } + var ret CosBucketNoncurrentVersionExpiration + return ret + }).(CosBucketNoncurrentVersionExpirationOutput) +} + +// Enable or disable an expire rule for a bucket +func (o CosBucketNoncurrentVersionExpirationPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketNoncurrentVersionExpiration) *bool { + if v == nil { + return nil + } + return &v.Enable + }).(pulumi.BoolPtrOutput) +} + +// Specifies the number of days when the specific rule action takes effect. +func (o CosBucketNoncurrentVersionExpirationPtrOutput) NoncurrentDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketNoncurrentVersionExpiration) *int { + if v == nil { + return nil + } + return v.NoncurrentDays + }).(pulumi.IntPtrOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o CosBucketNoncurrentVersionExpirationPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketNoncurrentVersionExpiration) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket +func (o CosBucketNoncurrentVersionExpirationPtrOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketNoncurrentVersionExpiration) *string { + if v == nil { + return nil + } + return v.RuleId + }).(pulumi.StringPtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfiguration struct { + // Enable object lock on a COS bucket. This can be used to enable objectlock on an existing bucket + ObjectLockEnabled string `pulumi:"objectLockEnabled"` + ObjectLockRule *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule `pulumi:"objectLockRule"` +} + +// CosBucketObjectLockConfigurationObjectLockConfigurationInput is an input type that accepts CosBucketObjectLockConfigurationObjectLockConfigurationArgs and CosBucketObjectLockConfigurationObjectLockConfigurationOutput values. +// You can construct a concrete instance of `CosBucketObjectLockConfigurationObjectLockConfigurationInput` via: +// +// CosBucketObjectLockConfigurationObjectLockConfigurationArgs{...} +type CosBucketObjectLockConfigurationObjectLockConfigurationInput interface { + pulumi.Input + + ToCosBucketObjectLockConfigurationObjectLockConfigurationOutput() CosBucketObjectLockConfigurationObjectLockConfigurationOutput + ToCosBucketObjectLockConfigurationObjectLockConfigurationOutputWithContext(context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationOutput +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationArgs struct { + // Enable object lock on a COS bucket. This can be used to enable objectlock on an existing bucket + ObjectLockEnabled pulumi.StringInput `pulumi:"objectLockEnabled"` + ObjectLockRule CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrInput `pulumi:"objectLockRule"` +} + +func (CosBucketObjectLockConfigurationObjectLockConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfiguration)(nil)).Elem() +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationOutput() CosBucketObjectLockConfigurationObjectLockConfigurationOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationOutputWithContext(context.Background()) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationOutput) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(context.Background()) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationOutput).ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(ctx) +} + +// CosBucketObjectLockConfigurationObjectLockConfigurationPtrInput is an input type that accepts CosBucketObjectLockConfigurationObjectLockConfigurationArgs, CosBucketObjectLockConfigurationObjectLockConfigurationPtr and CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput values. +// You can construct a concrete instance of `CosBucketObjectLockConfigurationObjectLockConfigurationPtrInput` via: +// +// CosBucketObjectLockConfigurationObjectLockConfigurationArgs{...} +// +// or: +// +// nil +type CosBucketObjectLockConfigurationObjectLockConfigurationPtrInput interface { + pulumi.Input + + ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput + ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput +} + +type cosBucketObjectLockConfigurationObjectLockConfigurationPtrType CosBucketObjectLockConfigurationObjectLockConfigurationArgs + +func CosBucketObjectLockConfigurationObjectLockConfigurationPtr(v *CosBucketObjectLockConfigurationObjectLockConfigurationArgs) CosBucketObjectLockConfigurationObjectLockConfigurationPtrInput { + return (*cosBucketObjectLockConfigurationObjectLockConfigurationPtrType)(v) +} + +func (*cosBucketObjectLockConfigurationObjectLockConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectLockConfigurationObjectLockConfiguration)(nil)).Elem() +} + +func (i *cosBucketObjectLockConfigurationObjectLockConfigurationPtrType) ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketObjectLockConfigurationObjectLockConfigurationPtrType) ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectLockConfigurationObjectLockConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfiguration)(nil)).Elem() +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationOutput() CosBucketObjectLockConfigurationObjectLockConfigurationOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput { + return o.ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(context.Background()) +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketObjectLockConfigurationObjectLockConfiguration) *CosBucketObjectLockConfigurationObjectLockConfiguration { + return &v + }).(CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput) +} + +// Enable object lock on a COS bucket. This can be used to enable objectlock on an existing bucket +func (o CosBucketObjectLockConfigurationObjectLockConfigurationOutput) ObjectLockEnabled() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketObjectLockConfigurationObjectLockConfiguration) string { return v.ObjectLockEnabled }).(pulumi.StringOutput) +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationOutput) ObjectLockRule() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return o.ApplyT(func(v CosBucketObjectLockConfigurationObjectLockConfiguration) *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule { + return v.ObjectLockRule + }).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectLockConfigurationObjectLockConfiguration)(nil)).Elem() +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationPtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput) Elem() CosBucketObjectLockConfigurationObjectLockConfigurationOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfiguration) CosBucketObjectLockConfigurationObjectLockConfiguration { + if v != nil { + return *v + } + var ret CosBucketObjectLockConfigurationObjectLockConfiguration + return ret + }).(CosBucketObjectLockConfigurationObjectLockConfigurationOutput) +} + +// Enable object lock on a COS bucket. This can be used to enable objectlock on an existing bucket +func (o CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput) ObjectLockEnabled() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfiguration) *string { + if v == nil { + return nil + } + return &v.ObjectLockEnabled + }).(pulumi.StringPtrOutput) +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput) ObjectLockRule() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfiguration) *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule { + if v == nil { + return nil + } + return v.ObjectLockRule + }).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule struct { + // An object lock configuration on the object at a bucket level, in the form of a days , years and mode that establishes a point in time after which the object can be deleted. This is applied at bucket level hence it is by default applied to all the object in the bucket unless a seperate retention period is set on the object. + DefaultRetention *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention `pulumi:"defaultRetention"` +} + +// CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleInput is an input type that accepts CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs and CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput values. +// You can construct a concrete instance of `CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleInput` via: +// +// CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs{...} +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleInput interface { + pulumi.Input + + ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput + ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutputWithContext(context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs struct { + // An object lock configuration on the object at a bucket level, in the form of a days , years and mode that establishes a point in time after which the object can be deleted. This is applied at bucket level hence it is by default applied to all the object in the bucket unless a seperate retention period is set on the object. + DefaultRetention CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrInput `pulumi:"defaultRetention"` +} + +func (CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule)(nil)).Elem() +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutputWithContext(context.Background()) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(context.Background()) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput).ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(ctx) +} + +// CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrInput is an input type that accepts CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs, CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtr and CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput values. +// You can construct a concrete instance of `CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrInput` via: +// +// CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs{...} +// +// or: +// +// nil +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrInput interface { + pulumi.Input + + ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput + ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput +} + +type cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrType CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs + +func CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtr(v *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrInput { + return (*cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrType)(v) +} + +func (*cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule)(nil)).Elem() +} + +func (i *cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrType) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(context.Background()) +} + +func (i *cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrType) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule)(nil)).Elem() +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return o.ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(context.Background()) +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule) *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule { + return &v + }).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) +} + +// An object lock configuration on the object at a bucket level, in the form of a days , years and mode that establishes a point in time after which the object can be deleted. This is applied at bucket level hence it is by default applied to all the object in the bucket unless a seperate retention period is set on the object. +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput) DefaultRetention() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return o.ApplyT(func(v CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule) *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention { + return v.DefaultRetention + }).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule)(nil)).Elem() +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) Elem() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule { + if v != nil { + return *v + } + var ret CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule + return ret + }).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput) +} + +// An object lock configuration on the object at a bucket level, in the form of a days , years and mode that establishes a point in time after which the object can be deleted. This is applied at bucket level hence it is by default applied to all the object in the bucket unless a seperate retention period is set on the object. +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput) DefaultRetention() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRule) *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention { + if v == nil { + return nil + } + return v.DefaultRetention + }).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention struct { + // Retention period in terms of days after which the object can be deleted. + Days *int `pulumi:"days"` + // Retention modes apply different levels of protection to the objects. + Mode string `pulumi:"mode"` + // Retention period in terms of years after which the object can be deleted. + Years *int `pulumi:"years"` +} + +// CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionInput is an input type that accepts CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs and CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput values. +// You can construct a concrete instance of `CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionInput` via: +// +// CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs{...} +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionInput interface { + pulumi.Input + + ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput + ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutputWithContext(context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs struct { + // Retention period in terms of days after which the object can be deleted. + Days pulumi.IntPtrInput `pulumi:"days"` + // Retention modes apply different levels of protection to the objects. + Mode pulumi.StringInput `pulumi:"mode"` + // Retention period in terms of years after which the object can be deleted. + Years pulumi.IntPtrInput `pulumi:"years"` +} + +func (CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention)(nil)).Elem() +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutputWithContext(context.Background()) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(context.Background()) +} + +func (i CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput).ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(ctx) +} + +// CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrInput is an input type that accepts CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs, CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtr and CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput values. +// You can construct a concrete instance of `CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrInput` via: +// +// CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs{...} +// +// or: +// +// nil +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrInput interface { + pulumi.Input + + ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput + ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput +} + +type cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrType CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs + +func CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtr(v *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrInput { + return (*cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrType)(v) +} + +func (*cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention)(nil)).Elem() +} + +func (i *cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrType) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return i.ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrType) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention)(nil)).Elem() +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return o.ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(context.Background()) +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention) *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention { + return &v + }).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) +} + +// Retention period in terms of days after which the object can be deleted. +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention) *int { + return v.Days + }).(pulumi.IntPtrOutput) +} + +// Retention modes apply different levels of protection to the objects. +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention) string { + return v.Mode + }).(pulumi.StringOutput) +} + +// Retention period in terms of years after which the object can be deleted. +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) Years() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention) *int { + return v.Years + }).(pulumi.IntPtrOutput) +} + +type CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention)(nil)).Elem() +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) ToCosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput { + return o +} + +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) Elem() CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention) CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention { + if v != nil { + return *v + } + var ret CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention + return ret + }).(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) +} + +// Retention period in terms of days after which the object can be deleted. +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention) *int { + if v == nil { + return nil + } + return v.Days + }).(pulumi.IntPtrOutput) +} + +// Retention modes apply different levels of protection to the objects. +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention) *string { + if v == nil { + return nil + } + return &v.Mode + }).(pulumi.StringPtrOutput) +} + +// Retention period in terms of years after which the object can be deleted. +func (o CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput) Years() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetention) *int { + if v == nil { + return nil + } + return v.Years + }).(pulumi.IntPtrOutput) +} + +type CosBucketObjectVersioning struct { + // Enable or suspend the versioning for objects in the bucket + Enable *bool `pulumi:"enable"` +} + +// CosBucketObjectVersioningInput is an input type that accepts CosBucketObjectVersioningArgs and CosBucketObjectVersioningOutput values. +// You can construct a concrete instance of `CosBucketObjectVersioningInput` via: +// +// CosBucketObjectVersioningArgs{...} +type CosBucketObjectVersioningInput interface { + pulumi.Input + + ToCosBucketObjectVersioningOutput() CosBucketObjectVersioningOutput + ToCosBucketObjectVersioningOutputWithContext(context.Context) CosBucketObjectVersioningOutput +} + +type CosBucketObjectVersioningArgs struct { + // Enable or suspend the versioning for objects in the bucket + Enable pulumi.BoolPtrInput `pulumi:"enable"` +} + +func (CosBucketObjectVersioningArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketObjectVersioning)(nil)).Elem() +} + +func (i CosBucketObjectVersioningArgs) ToCosBucketObjectVersioningOutput() CosBucketObjectVersioningOutput { + return i.ToCosBucketObjectVersioningOutputWithContext(context.Background()) +} + +func (i CosBucketObjectVersioningArgs) ToCosBucketObjectVersioningOutputWithContext(ctx context.Context) CosBucketObjectVersioningOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectVersioningOutput) +} + +func (i CosBucketObjectVersioningArgs) ToCosBucketObjectVersioningPtrOutput() CosBucketObjectVersioningPtrOutput { + return i.ToCosBucketObjectVersioningPtrOutputWithContext(context.Background()) +} + +func (i CosBucketObjectVersioningArgs) ToCosBucketObjectVersioningPtrOutputWithContext(ctx context.Context) CosBucketObjectVersioningPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectVersioningOutput).ToCosBucketObjectVersioningPtrOutputWithContext(ctx) +} + +// CosBucketObjectVersioningPtrInput is an input type that accepts CosBucketObjectVersioningArgs, CosBucketObjectVersioningPtr and CosBucketObjectVersioningPtrOutput values. +// You can construct a concrete instance of `CosBucketObjectVersioningPtrInput` via: +// +// CosBucketObjectVersioningArgs{...} +// +// or: +// +// nil +type CosBucketObjectVersioningPtrInput interface { + pulumi.Input + + ToCosBucketObjectVersioningPtrOutput() CosBucketObjectVersioningPtrOutput + ToCosBucketObjectVersioningPtrOutputWithContext(context.Context) CosBucketObjectVersioningPtrOutput +} + +type cosBucketObjectVersioningPtrType CosBucketObjectVersioningArgs + +func CosBucketObjectVersioningPtr(v *CosBucketObjectVersioningArgs) CosBucketObjectVersioningPtrInput { + return (*cosBucketObjectVersioningPtrType)(v) +} + +func (*cosBucketObjectVersioningPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectVersioning)(nil)).Elem() +} + +func (i *cosBucketObjectVersioningPtrType) ToCosBucketObjectVersioningPtrOutput() CosBucketObjectVersioningPtrOutput { + return i.ToCosBucketObjectVersioningPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketObjectVersioningPtrType) ToCosBucketObjectVersioningPtrOutputWithContext(ctx context.Context) CosBucketObjectVersioningPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketObjectVersioningPtrOutput) +} + +type CosBucketObjectVersioningOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectVersioningOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketObjectVersioning)(nil)).Elem() +} + +func (o CosBucketObjectVersioningOutput) ToCosBucketObjectVersioningOutput() CosBucketObjectVersioningOutput { + return o +} + +func (o CosBucketObjectVersioningOutput) ToCosBucketObjectVersioningOutputWithContext(ctx context.Context) CosBucketObjectVersioningOutput { + return o +} + +func (o CosBucketObjectVersioningOutput) ToCosBucketObjectVersioningPtrOutput() CosBucketObjectVersioningPtrOutput { + return o.ToCosBucketObjectVersioningPtrOutputWithContext(context.Background()) +} + +func (o CosBucketObjectVersioningOutput) ToCosBucketObjectVersioningPtrOutputWithContext(ctx context.Context) CosBucketObjectVersioningPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketObjectVersioning) *CosBucketObjectVersioning { + return &v + }).(CosBucketObjectVersioningPtrOutput) +} + +// Enable or suspend the versioning for objects in the bucket +func (o CosBucketObjectVersioningOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketObjectVersioning) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +type CosBucketObjectVersioningPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketObjectVersioningPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketObjectVersioning)(nil)).Elem() +} + +func (o CosBucketObjectVersioningPtrOutput) ToCosBucketObjectVersioningPtrOutput() CosBucketObjectVersioningPtrOutput { + return o +} + +func (o CosBucketObjectVersioningPtrOutput) ToCosBucketObjectVersioningPtrOutputWithContext(ctx context.Context) CosBucketObjectVersioningPtrOutput { + return o +} + +func (o CosBucketObjectVersioningPtrOutput) Elem() CosBucketObjectVersioningOutput { + return o.ApplyT(func(v *CosBucketObjectVersioning) CosBucketObjectVersioning { + if v != nil { + return *v + } + var ret CosBucketObjectVersioning + return ret + }).(CosBucketObjectVersioningOutput) +} + +// Enable or suspend the versioning for objects in the bucket +func (o CosBucketObjectVersioningPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketObjectVersioning) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) +} + +type CosBucketReplicationRuleReplicationRule struct { + // Indicates whether to replicate delete markers. It should be either Enable or Disable + DeletemarkerReplicationStatus *bool `pulumi:"deletemarkerReplicationStatus"` + // The Cloud Resource Name (CRN) of the bucket where you want COS to store the results + DestinationBucketCrn string `pulumi:"destinationBucketCrn"` + // Enable or disable an replication rule for a bucket + Enable bool `pulumi:"enable"` + // The rule applies to any objects with keys that match this prefix + Prefix *string `pulumi:"prefix"` + // A priority is associated with each rule. There may be cases where multiple rules may be applicable to an object that is uploaded. + Priority *int `pulumi:"priority"` + // A unique identifier for the rule. The maximum value is 255 characters. + RuleId *string `pulumi:"ruleId"` +} + +// CosBucketReplicationRuleReplicationRuleInput is an input type that accepts CosBucketReplicationRuleReplicationRuleArgs and CosBucketReplicationRuleReplicationRuleOutput values. +// You can construct a concrete instance of `CosBucketReplicationRuleReplicationRuleInput` via: +// +// CosBucketReplicationRuleReplicationRuleArgs{...} +type CosBucketReplicationRuleReplicationRuleInput interface { + pulumi.Input + + ToCosBucketReplicationRuleReplicationRuleOutput() CosBucketReplicationRuleReplicationRuleOutput + ToCosBucketReplicationRuleReplicationRuleOutputWithContext(context.Context) CosBucketReplicationRuleReplicationRuleOutput +} + +type CosBucketReplicationRuleReplicationRuleArgs struct { + // Indicates whether to replicate delete markers. It should be either Enable or Disable + DeletemarkerReplicationStatus pulumi.BoolPtrInput `pulumi:"deletemarkerReplicationStatus"` + // The Cloud Resource Name (CRN) of the bucket where you want COS to store the results + DestinationBucketCrn pulumi.StringInput `pulumi:"destinationBucketCrn"` + // Enable or disable an replication rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // The rule applies to any objects with keys that match this prefix + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // A priority is associated with each rule. There may be cases where multiple rules may be applicable to an object that is uploaded. + Priority pulumi.IntPtrInput `pulumi:"priority"` + // A unique identifier for the rule. The maximum value is 255 characters. + RuleId pulumi.StringPtrInput `pulumi:"ruleId"` +} + +func (CosBucketReplicationRuleReplicationRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketReplicationRuleReplicationRule)(nil)).Elem() +} + +func (i CosBucketReplicationRuleReplicationRuleArgs) ToCosBucketReplicationRuleReplicationRuleOutput() CosBucketReplicationRuleReplicationRuleOutput { + return i.ToCosBucketReplicationRuleReplicationRuleOutputWithContext(context.Background()) +} + +func (i CosBucketReplicationRuleReplicationRuleArgs) ToCosBucketReplicationRuleReplicationRuleOutputWithContext(ctx context.Context) CosBucketReplicationRuleReplicationRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketReplicationRuleReplicationRuleOutput) +} + +// CosBucketReplicationRuleReplicationRuleArrayInput is an input type that accepts CosBucketReplicationRuleReplicationRuleArray and CosBucketReplicationRuleReplicationRuleArrayOutput values. +// You can construct a concrete instance of `CosBucketReplicationRuleReplicationRuleArrayInput` via: +// +// CosBucketReplicationRuleReplicationRuleArray{ CosBucketReplicationRuleReplicationRuleArgs{...} } +type CosBucketReplicationRuleReplicationRuleArrayInput interface { + pulumi.Input + + ToCosBucketReplicationRuleReplicationRuleArrayOutput() CosBucketReplicationRuleReplicationRuleArrayOutput + ToCosBucketReplicationRuleReplicationRuleArrayOutputWithContext(context.Context) CosBucketReplicationRuleReplicationRuleArrayOutput +} + +type CosBucketReplicationRuleReplicationRuleArray []CosBucketReplicationRuleReplicationRuleInput + +func (CosBucketReplicationRuleReplicationRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketReplicationRuleReplicationRule)(nil)).Elem() +} + +func (i CosBucketReplicationRuleReplicationRuleArray) ToCosBucketReplicationRuleReplicationRuleArrayOutput() CosBucketReplicationRuleReplicationRuleArrayOutput { + return i.ToCosBucketReplicationRuleReplicationRuleArrayOutputWithContext(context.Background()) +} + +func (i CosBucketReplicationRuleReplicationRuleArray) ToCosBucketReplicationRuleReplicationRuleArrayOutputWithContext(ctx context.Context) CosBucketReplicationRuleReplicationRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketReplicationRuleReplicationRuleArrayOutput) +} + +type CosBucketReplicationRuleReplicationRuleOutput struct{ *pulumi.OutputState } + +func (CosBucketReplicationRuleReplicationRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketReplicationRuleReplicationRule)(nil)).Elem() +} + +func (o CosBucketReplicationRuleReplicationRuleOutput) ToCosBucketReplicationRuleReplicationRuleOutput() CosBucketReplicationRuleReplicationRuleOutput { + return o +} + +func (o CosBucketReplicationRuleReplicationRuleOutput) ToCosBucketReplicationRuleReplicationRuleOutputWithContext(ctx context.Context) CosBucketReplicationRuleReplicationRuleOutput { + return o +} + +// Indicates whether to replicate delete markers. It should be either Enable or Disable +func (o CosBucketReplicationRuleReplicationRuleOutput) DeletemarkerReplicationStatus() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketReplicationRuleReplicationRule) *bool { return v.DeletemarkerReplicationStatus }).(pulumi.BoolPtrOutput) +} + +// The Cloud Resource Name (CRN) of the bucket where you want COS to store the results +func (o CosBucketReplicationRuleReplicationRuleOutput) DestinationBucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketReplicationRuleReplicationRule) string { return v.DestinationBucketCrn }).(pulumi.StringOutput) +} + +// Enable or disable an replication rule for a bucket +func (o CosBucketReplicationRuleReplicationRuleOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v CosBucketReplicationRuleReplicationRule) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o CosBucketReplicationRuleReplicationRuleOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketReplicationRuleReplicationRule) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// A priority is associated with each rule. There may be cases where multiple rules may be applicable to an object that is uploaded. +func (o CosBucketReplicationRuleReplicationRuleOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v CosBucketReplicationRuleReplicationRule) *int { return v.Priority }).(pulumi.IntPtrOutput) +} + +// A unique identifier for the rule. The maximum value is 255 characters. +func (o CosBucketReplicationRuleReplicationRuleOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketReplicationRuleReplicationRule) *string { return v.RuleId }).(pulumi.StringPtrOutput) +} + +type CosBucketReplicationRuleReplicationRuleArrayOutput struct{ *pulumi.OutputState } + +func (CosBucketReplicationRuleReplicationRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketReplicationRuleReplicationRule)(nil)).Elem() +} + +func (o CosBucketReplicationRuleReplicationRuleArrayOutput) ToCosBucketReplicationRuleReplicationRuleArrayOutput() CosBucketReplicationRuleReplicationRuleArrayOutput { + return o +} + +func (o CosBucketReplicationRuleReplicationRuleArrayOutput) ToCosBucketReplicationRuleReplicationRuleArrayOutputWithContext(ctx context.Context) CosBucketReplicationRuleReplicationRuleArrayOutput { + return o +} + +func (o CosBucketReplicationRuleReplicationRuleArrayOutput) Index(i pulumi.IntInput) CosBucketReplicationRuleReplicationRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CosBucketReplicationRuleReplicationRule { + return vs[0].([]CosBucketReplicationRuleReplicationRule)[vs[1].(int)] + }).(CosBucketReplicationRuleReplicationRuleOutput) +} + +type CosBucketRetentionRule struct { + // If an object is stored in the bucket without specifying a custom retention period. + Default int `pulumi:"default"` + // Maximum duration of time an object can be kept unmodified in the bucket. + Maximum int `pulumi:"maximum"` + // Minimum duration of time an object must be kept unmodified in the bucket + Minimum int `pulumi:"minimum"` + // Enable or disable the permanent retention policy on the bucket + Permanent *bool `pulumi:"permanent"` +} + +// CosBucketRetentionRuleInput is an input type that accepts CosBucketRetentionRuleArgs and CosBucketRetentionRuleOutput values. +// You can construct a concrete instance of `CosBucketRetentionRuleInput` via: +// +// CosBucketRetentionRuleArgs{...} +type CosBucketRetentionRuleInput interface { + pulumi.Input + + ToCosBucketRetentionRuleOutput() CosBucketRetentionRuleOutput + ToCosBucketRetentionRuleOutputWithContext(context.Context) CosBucketRetentionRuleOutput +} + +type CosBucketRetentionRuleArgs struct { + // If an object is stored in the bucket without specifying a custom retention period. + Default pulumi.IntInput `pulumi:"default"` + // Maximum duration of time an object can be kept unmodified in the bucket. + Maximum pulumi.IntInput `pulumi:"maximum"` + // Minimum duration of time an object must be kept unmodified in the bucket + Minimum pulumi.IntInput `pulumi:"minimum"` + // Enable or disable the permanent retention policy on the bucket + Permanent pulumi.BoolPtrInput `pulumi:"permanent"` +} + +func (CosBucketRetentionRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketRetentionRule)(nil)).Elem() +} + +func (i CosBucketRetentionRuleArgs) ToCosBucketRetentionRuleOutput() CosBucketRetentionRuleOutput { + return i.ToCosBucketRetentionRuleOutputWithContext(context.Background()) +} + +func (i CosBucketRetentionRuleArgs) ToCosBucketRetentionRuleOutputWithContext(ctx context.Context) CosBucketRetentionRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketRetentionRuleOutput) +} + +func (i CosBucketRetentionRuleArgs) ToCosBucketRetentionRulePtrOutput() CosBucketRetentionRulePtrOutput { + return i.ToCosBucketRetentionRulePtrOutputWithContext(context.Background()) +} + +func (i CosBucketRetentionRuleArgs) ToCosBucketRetentionRulePtrOutputWithContext(ctx context.Context) CosBucketRetentionRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketRetentionRuleOutput).ToCosBucketRetentionRulePtrOutputWithContext(ctx) +} + +// CosBucketRetentionRulePtrInput is an input type that accepts CosBucketRetentionRuleArgs, CosBucketRetentionRulePtr and CosBucketRetentionRulePtrOutput values. +// You can construct a concrete instance of `CosBucketRetentionRulePtrInput` via: +// +// CosBucketRetentionRuleArgs{...} +// +// or: +// +// nil +type CosBucketRetentionRulePtrInput interface { + pulumi.Input + + ToCosBucketRetentionRulePtrOutput() CosBucketRetentionRulePtrOutput + ToCosBucketRetentionRulePtrOutputWithContext(context.Context) CosBucketRetentionRulePtrOutput +} + +type cosBucketRetentionRulePtrType CosBucketRetentionRuleArgs + +func CosBucketRetentionRulePtr(v *CosBucketRetentionRuleArgs) CosBucketRetentionRulePtrInput { + return (*cosBucketRetentionRulePtrType)(v) +} + +func (*cosBucketRetentionRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketRetentionRule)(nil)).Elem() +} + +func (i *cosBucketRetentionRulePtrType) ToCosBucketRetentionRulePtrOutput() CosBucketRetentionRulePtrOutput { + return i.ToCosBucketRetentionRulePtrOutputWithContext(context.Background()) +} + +func (i *cosBucketRetentionRulePtrType) ToCosBucketRetentionRulePtrOutputWithContext(ctx context.Context) CosBucketRetentionRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketRetentionRulePtrOutput) +} + +type CosBucketRetentionRuleOutput struct{ *pulumi.OutputState } + +func (CosBucketRetentionRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketRetentionRule)(nil)).Elem() +} + +func (o CosBucketRetentionRuleOutput) ToCosBucketRetentionRuleOutput() CosBucketRetentionRuleOutput { + return o +} + +func (o CosBucketRetentionRuleOutput) ToCosBucketRetentionRuleOutputWithContext(ctx context.Context) CosBucketRetentionRuleOutput { + return o +} + +func (o CosBucketRetentionRuleOutput) ToCosBucketRetentionRulePtrOutput() CosBucketRetentionRulePtrOutput { + return o.ToCosBucketRetentionRulePtrOutputWithContext(context.Background()) +} + +func (o CosBucketRetentionRuleOutput) ToCosBucketRetentionRulePtrOutputWithContext(ctx context.Context) CosBucketRetentionRulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketRetentionRule) *CosBucketRetentionRule { + return &v + }).(CosBucketRetentionRulePtrOutput) +} + +// If an object is stored in the bucket without specifying a custom retention period. +func (o CosBucketRetentionRuleOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v CosBucketRetentionRule) int { return v.Default }).(pulumi.IntOutput) +} + +// Maximum duration of time an object can be kept unmodified in the bucket. +func (o CosBucketRetentionRuleOutput) Maximum() pulumi.IntOutput { + return o.ApplyT(func(v CosBucketRetentionRule) int { return v.Maximum }).(pulumi.IntOutput) +} + +// Minimum duration of time an object must be kept unmodified in the bucket +func (o CosBucketRetentionRuleOutput) Minimum() pulumi.IntOutput { + return o.ApplyT(func(v CosBucketRetentionRule) int { return v.Minimum }).(pulumi.IntOutput) +} + +// Enable or disable the permanent retention policy on the bucket +func (o CosBucketRetentionRuleOutput) Permanent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CosBucketRetentionRule) *bool { return v.Permanent }).(pulumi.BoolPtrOutput) +} + +type CosBucketRetentionRulePtrOutput struct{ *pulumi.OutputState } + +func (CosBucketRetentionRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketRetentionRule)(nil)).Elem() +} + +func (o CosBucketRetentionRulePtrOutput) ToCosBucketRetentionRulePtrOutput() CosBucketRetentionRulePtrOutput { + return o +} + +func (o CosBucketRetentionRulePtrOutput) ToCosBucketRetentionRulePtrOutputWithContext(ctx context.Context) CosBucketRetentionRulePtrOutput { + return o +} + +func (o CosBucketRetentionRulePtrOutput) Elem() CosBucketRetentionRuleOutput { + return o.ApplyT(func(v *CosBucketRetentionRule) CosBucketRetentionRule { + if v != nil { + return *v + } + var ret CosBucketRetentionRule + return ret + }).(CosBucketRetentionRuleOutput) +} + +// If an object is stored in the bucket without specifying a custom retention period. +func (o CosBucketRetentionRulePtrOutput) Default() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketRetentionRule) *int { + if v == nil { + return nil + } + return &v.Default + }).(pulumi.IntPtrOutput) +} + +// Maximum duration of time an object can be kept unmodified in the bucket. +func (o CosBucketRetentionRulePtrOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketRetentionRule) *int { + if v == nil { + return nil + } + return &v.Maximum + }).(pulumi.IntPtrOutput) +} + +// Minimum duration of time an object must be kept unmodified in the bucket +func (o CosBucketRetentionRulePtrOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CosBucketRetentionRule) *int { + if v == nil { + return nil + } + return &v.Minimum + }).(pulumi.IntPtrOutput) +} + +// Enable or disable the permanent retention policy on the bucket +func (o CosBucketRetentionRulePtrOutput) Permanent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CosBucketRetentionRule) *bool { + if v == nil { + return nil + } + return v.Permanent + }).(pulumi.BoolPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfiguration struct { + // This is returned when an error occurs. + ErrorDocument *CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument `pulumi:"errorDocument"` + // Home or the default page of the website. + IndexDocument *CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument `pulumi:"indexDocument"` + // Redirect requests can be set to specific page documents, individual routing rules, or redirect all requests globally to one bucket or domain. + RedirectAllRequestsTo *CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo `pulumi:"redirectAllRequestsTo"` + // Rules that define when a redirect is applied and the redirect behavior. + RoutingRule []CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule `pulumi:"routingRule"` + // Rules that define when a redirect is applied and the redirect behavior. + RoutingRules *string `pulumi:"routingRules"` +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationArgs and CosBucketWebsiteConfigurationWebsiteConfigurationOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationArgs{...} +type CosBucketWebsiteConfigurationWebsiteConfigurationInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationOutput() CosBucketWebsiteConfigurationWebsiteConfigurationOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationOutput +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationArgs struct { + // This is returned when an error occurs. + ErrorDocument CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrInput `pulumi:"errorDocument"` + // Home or the default page of the website. + IndexDocument CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrInput `pulumi:"indexDocument"` + // Redirect requests can be set to specific page documents, individual routing rules, or redirect all requests globally to one bucket or domain. + RedirectAllRequestsTo CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrInput `pulumi:"redirectAllRequestsTo"` + // Rules that define when a redirect is applied and the redirect behavior. + RoutingRule CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayInput `pulumi:"routingRule"` + // Rules that define when a redirect is applied and the redirect behavior. + RoutingRules pulumi.StringPtrInput `pulumi:"routingRules"` +} + +func (CosBucketWebsiteConfigurationWebsiteConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfiguration)(nil)).Elem() +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationOutput() CosBucketWebsiteConfigurationWebsiteConfigurationOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationOutput) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationOutput).ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(ctx) +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationPtrInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationArgs, CosBucketWebsiteConfigurationWebsiteConfigurationPtr and CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationPtrInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationArgs{...} +// +// or: +// +// nil +type CosBucketWebsiteConfigurationWebsiteConfigurationPtrInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput +} + +type cosBucketWebsiteConfigurationWebsiteConfigurationPtrType CosBucketWebsiteConfigurationWebsiteConfigurationArgs + +func CosBucketWebsiteConfigurationWebsiteConfigurationPtr(v *CosBucketWebsiteConfigurationWebsiteConfigurationArgs) CosBucketWebsiteConfigurationWebsiteConfigurationPtrInput { + return (*cosBucketWebsiteConfigurationWebsiteConfigurationPtrType)(v) +} + +func (*cosBucketWebsiteConfigurationWebsiteConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfiguration)(nil)).Elem() +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfiguration)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationOutput() CosBucketWebsiteConfigurationWebsiteConfigurationOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput { + return o.ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(context.Background()) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketWebsiteConfigurationWebsiteConfiguration) *CosBucketWebsiteConfigurationWebsiteConfiguration { + return &v + }).(CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) +} + +// This is returned when an error occurs. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) ErrorDocument() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfiguration) *CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument { + return v.ErrorDocument + }).(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) +} + +// Home or the default page of the website. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) IndexDocument() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfiguration) *CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument { + return v.IndexDocument + }).(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) +} + +// Redirect requests can be set to specific page documents, individual routing rules, or redirect all requests globally to one bucket or domain. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) RedirectAllRequestsTo() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfiguration) *CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo { + return v.RedirectAllRequestsTo + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) +} + +// Rules that define when a redirect is applied and the redirect behavior. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) RoutingRule() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfiguration) []CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule { + return v.RoutingRule + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput) +} + +// Rules that define when a redirect is applied and the redirect behavior. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationOutput) RoutingRules() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfiguration) *string { return v.RoutingRules }).(pulumi.StringPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfiguration)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) Elem() CosBucketWebsiteConfigurationWebsiteConfigurationOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfiguration) CosBucketWebsiteConfigurationWebsiteConfiguration { + if v != nil { + return *v + } + var ret CosBucketWebsiteConfigurationWebsiteConfiguration + return ret + }).(CosBucketWebsiteConfigurationWebsiteConfigurationOutput) +} + +// This is returned when an error occurs. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) ErrorDocument() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfiguration) *CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument { + if v == nil { + return nil + } + return v.ErrorDocument + }).(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) +} + +// Home or the default page of the website. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) IndexDocument() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfiguration) *CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument { + if v == nil { + return nil + } + return v.IndexDocument + }).(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) +} + +// Redirect requests can be set to specific page documents, individual routing rules, or redirect all requests globally to one bucket or domain. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) RedirectAllRequestsTo() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfiguration) *CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo { + if v == nil { + return nil + } + return v.RedirectAllRequestsTo + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) +} + +// Rules that define when a redirect is applied and the redirect behavior. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) RoutingRule() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfiguration) []CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule { + if v == nil { + return nil + } + return v.RoutingRule + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput) +} + +// Rules that define when a redirect is applied and the redirect behavior. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput) RoutingRules() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfiguration) *string { + if v == nil { + return nil + } + return v.RoutingRules + }).(pulumi.StringPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument struct { + Key string `pulumi:"key"` +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs and CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs{...} +type CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs struct { + Key pulumi.StringInput `pulumi:"key"` +} + +func (CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument)(nil)).Elem() +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput).ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx) +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs, CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtr and CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs{...} +// +// or: +// +// nil +type CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput +} + +type cosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrType CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs + +func CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtr(v *CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrInput { + return (*cosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrType)(v) +} + +func (*cosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument)(nil)).Elem() +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return o.ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(context.Background()) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument) *CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument { + return &v + }).(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument) string { return v.Key }).(pulumi.StringOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) Elem() CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument) CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument { + if v != nil { + return *v + } + var ret CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument + return ret + }).(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocument) *string { + if v == nil { + return nil + } + return &v.Key + }).(pulumi.StringPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument struct { + Suffix string `pulumi:"suffix"` +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs and CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs{...} +type CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs struct { + Suffix pulumi.StringInput `pulumi:"suffix"` +} + +func (CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument)(nil)).Elem() +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput).ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx) +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs, CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtr and CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs{...} +// +// or: +// +// nil +type CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput +} + +type cosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrType CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs + +func CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtr(v *CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrInput { + return (*cosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrType)(v) +} + +func (*cosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument)(nil)).Elem() +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return o.ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(context.Background()) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument) *CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument { + return &v + }).(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument) string { return v.Suffix }).(pulumi.StringOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) Elem() CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument) CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument { + if v != nil { + return *v + } + var ret CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument + return ret + }).(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocument) *string { + if v == nil { + return nil + } + return &v.Suffix + }).(pulumi.StringPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo struct { + HostName string `pulumi:"hostName"` + Protocol *string `pulumi:"protocol"` +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs and CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs{...} +type CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs struct { + HostName pulumi.StringInput `pulumi:"hostName"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` +} + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo)(nil)).Elem() +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput).ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(ctx) +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs, CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtr and CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs{...} +// +// or: +// +// nil +type CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput +} + +type cosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrType CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs + +func CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtr(v *CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrInput { + return (*cosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrType)(v) +} + +func (*cosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo)(nil)).Elem() +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return o.ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(context.Background()) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo) *CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo { + return &v + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) HostName() pulumi.StringOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo) string { + return v.HostName + }).(pulumi.StringOutput) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo) *string { + return v.Protocol + }).(pulumi.StringPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) Elem() CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo) CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo { + if v != nil { + return *v + } + var ret CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo + return ret + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) HostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo) *string { + if v == nil { + return nil + } + return &v.HostName + }).(pulumi.StringPtrOutput) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsTo) *string { + if v == nil { + return nil + } + return v.Protocol + }).(pulumi.StringPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule struct { + // A condition that must be met for the specified redirect to be applie. + Condition *CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition `pulumi:"condition"` + // . + Redirect CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect `pulumi:"redirect"` +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArgs and CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArgs{...} +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArgs struct { + // A condition that must be met for the specified redirect to be applie. + Condition CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrInput `pulumi:"condition"` + // . + Redirect CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectInput `pulumi:"redirect"` +} + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule)(nil)).Elem() +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput) +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArray and CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArray{ CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArgs{...} } +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArray []CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleInput + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule)(nil)).Elem() +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArray) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArray) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput { + return o +} + +// A condition that must be met for the specified redirect to be applie. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput) Condition() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule) *CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition { + return v.Condition + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) +} + +// . +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput) Redirect() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect { + return v.Redirect + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput) Index(i pulumi.IntInput) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule { + return vs[0].([]CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRule)[vs[1].(int)] + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition struct { + // The HTTP error code when the redirect is applied. Valid codes are 4XX or 5XX.. + HttpErrorCodeReturnedEquals *string `pulumi:"httpErrorCodeReturnedEquals"` + // The object key name prefix when the redirect is applied.. + KeyPrefixEquals *string `pulumi:"keyPrefixEquals"` +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs and CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs{...} +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs struct { + // The HTTP error code when the redirect is applied. Valid codes are 4XX or 5XX.. + HttpErrorCodeReturnedEquals pulumi.StringPtrInput `pulumi:"httpErrorCodeReturnedEquals"` + // The object key name prefix when the redirect is applied.. + KeyPrefixEquals pulumi.StringPtrInput `pulumi:"keyPrefixEquals"` +} + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition)(nil)).Elem() +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput).ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(ctx) +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs, CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtr and CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs{...} +// +// or: +// +// nil +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput +} + +type cosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrType CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs + +func CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtr(v *CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrInput { + return (*cosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrType)(v) +} + +func (*cosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition)(nil)).Elem() +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(context.Background()) +} + +func (i *cosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrType) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return o.ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(context.Background()) +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition) *CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition { + return &v + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) +} + +// The HTTP error code when the redirect is applied. Valid codes are 4XX or 5XX.. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) HttpErrorCodeReturnedEquals() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition) *string { + return v.HttpErrorCodeReturnedEquals + }).(pulumi.StringPtrOutput) +} + +// The object key name prefix when the redirect is applied.. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) KeyPrefixEquals() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition) *string { + return v.KeyPrefixEquals + }).(pulumi.StringPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) Elem() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition { + if v != nil { + return *v + } + var ret CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition + return ret + }).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput) +} + +// The HTTP error code when the redirect is applied. Valid codes are 4XX or 5XX.. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) HttpErrorCodeReturnedEquals() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition) *string { + if v == nil { + return nil + } + return v.HttpErrorCodeReturnedEquals + }).(pulumi.StringPtrOutput) +} + +// The object key name prefix when the redirect is applied.. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput) KeyPrefixEquals() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleCondition) *string { + if v == nil { + return nil + } + return v.KeyPrefixEquals + }).(pulumi.StringPtrOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect struct { + // The host name the request should be redirected to. + HostName *string `pulumi:"hostName"` + // The HTTP redirect code to use on the response. Valid codes are 3XX except 300.. + HttpRedirectCode *string `pulumi:"httpRedirectCode"` + // Protocol to be used in the Location header that is returned in the response. + Protocol *string `pulumi:"protocol"` + // The prefix of the object key name that replaces the value of KeyPrefixEquals in the redirect request. + ReplaceKeyPrefixWith *string `pulumi:"replaceKeyPrefixWith"` + // The object key to be used in the Location header that is returned in the response. + ReplaceKeyWith *string `pulumi:"replaceKeyWith"` +} + +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectInput is an input type that accepts CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectArgs and CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput values. +// You can construct a concrete instance of `CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectInput` via: +// +// CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectArgs{...} +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectInput interface { + pulumi.Input + + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput + ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutputWithContext(context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectArgs struct { + // The host name the request should be redirected to. + HostName pulumi.StringPtrInput `pulumi:"hostName"` + // The HTTP redirect code to use on the response. Valid codes are 3XX except 300.. + HttpRedirectCode pulumi.StringPtrInput `pulumi:"httpRedirectCode"` + // Protocol to be used in the Location header that is returned in the response. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // The prefix of the object key name that replaces the value of KeyPrefixEquals in the redirect request. + ReplaceKeyPrefixWith pulumi.StringPtrInput `pulumi:"replaceKeyPrefixWith"` + // The object key to be used in the Location header that is returned in the response. + ReplaceKeyWith pulumi.StringPtrInput `pulumi:"replaceKeyWith"` +} + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect)(nil)).Elem() +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput { + return i.ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutputWithContext(context.Background()) +} + +func (i CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectArgs) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput { + return pulumi.ToOutputWithContext(ctx, i).(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) +} + +type CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput struct{ *pulumi.OutputState } + +func (CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect)(nil)).Elem() +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput() CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput { + return o +} + +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) ToCosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutputWithContext(ctx context.Context) CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput { + return o +} + +// The host name the request should be redirected to. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) HostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect) *string { + return v.HostName + }).(pulumi.StringPtrOutput) +} + +// The HTTP redirect code to use on the response. Valid codes are 3XX except 300.. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) HttpRedirectCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect) *string { + return v.HttpRedirectCode + }).(pulumi.StringPtrOutput) +} + +// Protocol to be used in the Location header that is returned in the response. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect) *string { + return v.Protocol + }).(pulumi.StringPtrOutput) +} + +// The prefix of the object key name that replaces the value of KeyPrefixEquals in the redirect request. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) ReplaceKeyPrefixWith() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect) *string { + return v.ReplaceKeyPrefixWith + }).(pulumi.StringPtrOutput) +} + +// The object key to be used in the Location header that is returned in the response. +func (o CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput) ReplaceKeyWith() pulumi.StringPtrOutput { + return o.ApplyT(func(v CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirect) *string { + return v.ReplaceKeyWith + }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupDynamicRuleCondition struct { + Claim string `pulumi:"claim"` + Operator string `pulumi:"operator"` + Value string `pulumi:"value"` +} + +// IamAccessGroupDynamicRuleConditionInput is an input type that accepts IamAccessGroupDynamicRuleConditionArgs and IamAccessGroupDynamicRuleConditionOutput values. +// You can construct a concrete instance of `IamAccessGroupDynamicRuleConditionInput` via: +// +// IamAccessGroupDynamicRuleConditionArgs{...} +type IamAccessGroupDynamicRuleConditionInput interface { + pulumi.Input + + ToIamAccessGroupDynamicRuleConditionOutput() IamAccessGroupDynamicRuleConditionOutput + ToIamAccessGroupDynamicRuleConditionOutputWithContext(context.Context) IamAccessGroupDynamicRuleConditionOutput +} + +type IamAccessGroupDynamicRuleConditionArgs struct { + Claim pulumi.StringInput `pulumi:"claim"` + Operator pulumi.StringInput `pulumi:"operator"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamAccessGroupDynamicRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupDynamicRuleCondition)(nil)).Elem() +} + +func (i IamAccessGroupDynamicRuleConditionArgs) ToIamAccessGroupDynamicRuleConditionOutput() IamAccessGroupDynamicRuleConditionOutput { + return i.ToIamAccessGroupDynamicRuleConditionOutputWithContext(context.Background()) +} + +func (i IamAccessGroupDynamicRuleConditionArgs) ToIamAccessGroupDynamicRuleConditionOutputWithContext(ctx context.Context) IamAccessGroupDynamicRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupDynamicRuleConditionOutput) +} + +// IamAccessGroupDynamicRuleConditionArrayInput is an input type that accepts IamAccessGroupDynamicRuleConditionArray and IamAccessGroupDynamicRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupDynamicRuleConditionArrayInput` via: +// +// IamAccessGroupDynamicRuleConditionArray{ IamAccessGroupDynamicRuleConditionArgs{...} } +type IamAccessGroupDynamicRuleConditionArrayInput interface { + pulumi.Input + + ToIamAccessGroupDynamicRuleConditionArrayOutput() IamAccessGroupDynamicRuleConditionArrayOutput + ToIamAccessGroupDynamicRuleConditionArrayOutputWithContext(context.Context) IamAccessGroupDynamicRuleConditionArrayOutput +} + +type IamAccessGroupDynamicRuleConditionArray []IamAccessGroupDynamicRuleConditionInput + +func (IamAccessGroupDynamicRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupDynamicRuleCondition)(nil)).Elem() +} + +func (i IamAccessGroupDynamicRuleConditionArray) ToIamAccessGroupDynamicRuleConditionArrayOutput() IamAccessGroupDynamicRuleConditionArrayOutput { + return i.ToIamAccessGroupDynamicRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupDynamicRuleConditionArray) ToIamAccessGroupDynamicRuleConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupDynamicRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupDynamicRuleConditionArrayOutput) +} + +type IamAccessGroupDynamicRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupDynamicRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupDynamicRuleCondition)(nil)).Elem() +} + +func (o IamAccessGroupDynamicRuleConditionOutput) ToIamAccessGroupDynamicRuleConditionOutput() IamAccessGroupDynamicRuleConditionOutput { + return o +} + +func (o IamAccessGroupDynamicRuleConditionOutput) ToIamAccessGroupDynamicRuleConditionOutputWithContext(ctx context.Context) IamAccessGroupDynamicRuleConditionOutput { + return o +} + +func (o IamAccessGroupDynamicRuleConditionOutput) Claim() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupDynamicRuleCondition) string { return v.Claim }).(pulumi.StringOutput) +} + +func (o IamAccessGroupDynamicRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupDynamicRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +func (o IamAccessGroupDynamicRuleConditionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupDynamicRuleCondition) string { return v.Value }).(pulumi.StringOutput) +} + +type IamAccessGroupDynamicRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupDynamicRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupDynamicRuleCondition)(nil)).Elem() +} + +func (o IamAccessGroupDynamicRuleConditionArrayOutput) ToIamAccessGroupDynamicRuleConditionArrayOutput() IamAccessGroupDynamicRuleConditionArrayOutput { + return o +} + +func (o IamAccessGroupDynamicRuleConditionArrayOutput) ToIamAccessGroupDynamicRuleConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupDynamicRuleConditionArrayOutput { + return o +} + +func (o IamAccessGroupDynamicRuleConditionArrayOutput) Index(i pulumi.IntInput) IamAccessGroupDynamicRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupDynamicRuleCondition { + return vs[0].([]IamAccessGroupDynamicRuleCondition)[vs[1].(int)] + }).(IamAccessGroupDynamicRuleConditionOutput) +} + +type IamAccessGroupMembersMember struct { + IamId *string `pulumi:"iamId"` + Type *string `pulumi:"type"` +} + +// IamAccessGroupMembersMemberInput is an input type that accepts IamAccessGroupMembersMemberArgs and IamAccessGroupMembersMemberOutput values. +// You can construct a concrete instance of `IamAccessGroupMembersMemberInput` via: +// +// IamAccessGroupMembersMemberArgs{...} +type IamAccessGroupMembersMemberInput interface { + pulumi.Input + + ToIamAccessGroupMembersMemberOutput() IamAccessGroupMembersMemberOutput + ToIamAccessGroupMembersMemberOutputWithContext(context.Context) IamAccessGroupMembersMemberOutput +} + +type IamAccessGroupMembersMemberArgs struct { + IamId pulumi.StringPtrInput `pulumi:"iamId"` + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (IamAccessGroupMembersMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupMembersMember)(nil)).Elem() +} + +func (i IamAccessGroupMembersMemberArgs) ToIamAccessGroupMembersMemberOutput() IamAccessGroupMembersMemberOutput { + return i.ToIamAccessGroupMembersMemberOutputWithContext(context.Background()) +} + +func (i IamAccessGroupMembersMemberArgs) ToIamAccessGroupMembersMemberOutputWithContext(ctx context.Context) IamAccessGroupMembersMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupMembersMemberOutput) +} + +// IamAccessGroupMembersMemberArrayInput is an input type that accepts IamAccessGroupMembersMemberArray and IamAccessGroupMembersMemberArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupMembersMemberArrayInput` via: +// +// IamAccessGroupMembersMemberArray{ IamAccessGroupMembersMemberArgs{...} } +type IamAccessGroupMembersMemberArrayInput interface { + pulumi.Input + + ToIamAccessGroupMembersMemberArrayOutput() IamAccessGroupMembersMemberArrayOutput + ToIamAccessGroupMembersMemberArrayOutputWithContext(context.Context) IamAccessGroupMembersMemberArrayOutput +} + +type IamAccessGroupMembersMemberArray []IamAccessGroupMembersMemberInput + +func (IamAccessGroupMembersMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupMembersMember)(nil)).Elem() +} + +func (i IamAccessGroupMembersMemberArray) ToIamAccessGroupMembersMemberArrayOutput() IamAccessGroupMembersMemberArrayOutput { + return i.ToIamAccessGroupMembersMemberArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupMembersMemberArray) ToIamAccessGroupMembersMemberArrayOutputWithContext(ctx context.Context) IamAccessGroupMembersMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupMembersMemberArrayOutput) +} + +type IamAccessGroupMembersMemberOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupMembersMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupMembersMember)(nil)).Elem() +} + +func (o IamAccessGroupMembersMemberOutput) ToIamAccessGroupMembersMemberOutput() IamAccessGroupMembersMemberOutput { + return o +} + +func (o IamAccessGroupMembersMemberOutput) ToIamAccessGroupMembersMemberOutputWithContext(ctx context.Context) IamAccessGroupMembersMemberOutput { + return o +} + +func (o IamAccessGroupMembersMemberOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupMembersMember) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +func (o IamAccessGroupMembersMemberOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupMembersMember) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupMembersMemberArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupMembersMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupMembersMember)(nil)).Elem() +} + +func (o IamAccessGroupMembersMemberArrayOutput) ToIamAccessGroupMembersMemberArrayOutput() IamAccessGroupMembersMemberArrayOutput { + return o +} + +func (o IamAccessGroupMembersMemberArrayOutput) ToIamAccessGroupMembersMemberArrayOutputWithContext(ctx context.Context) IamAccessGroupMembersMemberArrayOutput { + return o +} + +func (o IamAccessGroupMembersMemberArrayOutput) Index(i pulumi.IntInput) IamAccessGroupMembersMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupMembersMember { + return vs[0].([]IamAccessGroupMembersMember)[vs[1].(int)] + }).(IamAccessGroupMembersMemberOutput) +} + +type IamAccessGroupPolicyResourceAttribute struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamAccessGroupPolicyResourceAttributeInput is an input type that accepts IamAccessGroupPolicyResourceAttributeArgs and IamAccessGroupPolicyResourceAttributeOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyResourceAttributeInput` via: +// +// IamAccessGroupPolicyResourceAttributeArgs{...} +type IamAccessGroupPolicyResourceAttributeInput interface { + pulumi.Input + + ToIamAccessGroupPolicyResourceAttributeOutput() IamAccessGroupPolicyResourceAttributeOutput + ToIamAccessGroupPolicyResourceAttributeOutputWithContext(context.Context) IamAccessGroupPolicyResourceAttributeOutput +} + +type IamAccessGroupPolicyResourceAttributeArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamAccessGroupPolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyResourceAttribute)(nil)).Elem() +} + +func (i IamAccessGroupPolicyResourceAttributeArgs) ToIamAccessGroupPolicyResourceAttributeOutput() IamAccessGroupPolicyResourceAttributeOutput { + return i.ToIamAccessGroupPolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyResourceAttributeArgs) ToIamAccessGroupPolicyResourceAttributeOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyResourceAttributeOutput) +} + +// IamAccessGroupPolicyResourceAttributeArrayInput is an input type that accepts IamAccessGroupPolicyResourceAttributeArray and IamAccessGroupPolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyResourceAttributeArrayInput` via: +// +// IamAccessGroupPolicyResourceAttributeArray{ IamAccessGroupPolicyResourceAttributeArgs{...} } +type IamAccessGroupPolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToIamAccessGroupPolicyResourceAttributeArrayOutput() IamAccessGroupPolicyResourceAttributeArrayOutput + ToIamAccessGroupPolicyResourceAttributeArrayOutputWithContext(context.Context) IamAccessGroupPolicyResourceAttributeArrayOutput +} + +type IamAccessGroupPolicyResourceAttributeArray []IamAccessGroupPolicyResourceAttributeInput + +func (IamAccessGroupPolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupPolicyResourceAttribute)(nil)).Elem() +} + +func (i IamAccessGroupPolicyResourceAttributeArray) ToIamAccessGroupPolicyResourceAttributeArrayOutput() IamAccessGroupPolicyResourceAttributeArrayOutput { + return i.ToIamAccessGroupPolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyResourceAttributeArray) ToIamAccessGroupPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyResourceAttributeArrayOutput) +} + +type IamAccessGroupPolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyResourceAttribute)(nil)).Elem() +} + +func (o IamAccessGroupPolicyResourceAttributeOutput) ToIamAccessGroupPolicyResourceAttributeOutput() IamAccessGroupPolicyResourceAttributeOutput { + return o +} + +func (o IamAccessGroupPolicyResourceAttributeOutput) ToIamAccessGroupPolicyResourceAttributeOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourceAttributeOutput { + return o +} + +// Name of attribute. +func (o IamAccessGroupPolicyResourceAttributeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResourceAttribute) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamAccessGroupPolicyResourceAttributeOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResourceAttribute) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamAccessGroupPolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamAccessGroupPolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupPolicyResourceAttribute)(nil)).Elem() +} + +func (o IamAccessGroupPolicyResourceAttributeArrayOutput) ToIamAccessGroupPolicyResourceAttributeArrayOutput() IamAccessGroupPolicyResourceAttributeArrayOutput { + return o +} + +func (o IamAccessGroupPolicyResourceAttributeArrayOutput) ToIamAccessGroupPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourceAttributeArrayOutput { + return o +} + +func (o IamAccessGroupPolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) IamAccessGroupPolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupPolicyResourceAttribute { + return vs[0].([]IamAccessGroupPolicyResourceAttribute)[vs[1].(int)] + }).(IamAccessGroupPolicyResourceAttributeOutput) +} + +type IamAccessGroupPolicyResourceTag struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamAccessGroupPolicyResourceTagInput is an input type that accepts IamAccessGroupPolicyResourceTagArgs and IamAccessGroupPolicyResourceTagOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyResourceTagInput` via: +// +// IamAccessGroupPolicyResourceTagArgs{...} +type IamAccessGroupPolicyResourceTagInput interface { + pulumi.Input + + ToIamAccessGroupPolicyResourceTagOutput() IamAccessGroupPolicyResourceTagOutput + ToIamAccessGroupPolicyResourceTagOutputWithContext(context.Context) IamAccessGroupPolicyResourceTagOutput +} + +type IamAccessGroupPolicyResourceTagArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamAccessGroupPolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyResourceTag)(nil)).Elem() +} + +func (i IamAccessGroupPolicyResourceTagArgs) ToIamAccessGroupPolicyResourceTagOutput() IamAccessGroupPolicyResourceTagOutput { + return i.ToIamAccessGroupPolicyResourceTagOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyResourceTagArgs) ToIamAccessGroupPolicyResourceTagOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyResourceTagOutput) +} + +// IamAccessGroupPolicyResourceTagArrayInput is an input type that accepts IamAccessGroupPolicyResourceTagArray and IamAccessGroupPolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyResourceTagArrayInput` via: +// +// IamAccessGroupPolicyResourceTagArray{ IamAccessGroupPolicyResourceTagArgs{...} } +type IamAccessGroupPolicyResourceTagArrayInput interface { + pulumi.Input + + ToIamAccessGroupPolicyResourceTagArrayOutput() IamAccessGroupPolicyResourceTagArrayOutput + ToIamAccessGroupPolicyResourceTagArrayOutputWithContext(context.Context) IamAccessGroupPolicyResourceTagArrayOutput +} + +type IamAccessGroupPolicyResourceTagArray []IamAccessGroupPolicyResourceTagInput + +func (IamAccessGroupPolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupPolicyResourceTag)(nil)).Elem() +} + +func (i IamAccessGroupPolicyResourceTagArray) ToIamAccessGroupPolicyResourceTagArrayOutput() IamAccessGroupPolicyResourceTagArrayOutput { + return i.ToIamAccessGroupPolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyResourceTagArray) ToIamAccessGroupPolicyResourceTagArrayOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyResourceTagArrayOutput) +} + +type IamAccessGroupPolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyResourceTag)(nil)).Elem() +} + +func (o IamAccessGroupPolicyResourceTagOutput) ToIamAccessGroupPolicyResourceTagOutput() IamAccessGroupPolicyResourceTagOutput { + return o +} + +func (o IamAccessGroupPolicyResourceTagOutput) ToIamAccessGroupPolicyResourceTagOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourceTagOutput { + return o +} + +// Name of attribute. +func (o IamAccessGroupPolicyResourceTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResourceTag) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamAccessGroupPolicyResourceTagOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResourceTag) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamAccessGroupPolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type IamAccessGroupPolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupPolicyResourceTag)(nil)).Elem() +} + +func (o IamAccessGroupPolicyResourceTagArrayOutput) ToIamAccessGroupPolicyResourceTagArrayOutput() IamAccessGroupPolicyResourceTagArrayOutput { + return o +} + +func (o IamAccessGroupPolicyResourceTagArrayOutput) ToIamAccessGroupPolicyResourceTagArrayOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourceTagArrayOutput { + return o +} + +func (o IamAccessGroupPolicyResourceTagArrayOutput) Index(i pulumi.IntInput) IamAccessGroupPolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupPolicyResourceTag { + return vs[0].([]IamAccessGroupPolicyResourceTag)[vs[1].(int)] + }).(IamAccessGroupPolicyResourceTagOutput) +} + +type IamAccessGroupPolicyResources struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region *string `pulumi:"region"` + // Resource of the policy definition + Resource *string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType *string `pulumi:"resourceType"` + // Service name of the policy definition + Service *string `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId *string `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType *string `pulumi:"serviceType"` +} + +// IamAccessGroupPolicyResourcesInput is an input type that accepts IamAccessGroupPolicyResourcesArgs and IamAccessGroupPolicyResourcesOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyResourcesInput` via: +// +// IamAccessGroupPolicyResourcesArgs{...} +type IamAccessGroupPolicyResourcesInput interface { + pulumi.Input + + ToIamAccessGroupPolicyResourcesOutput() IamAccessGroupPolicyResourcesOutput + ToIamAccessGroupPolicyResourcesOutputWithContext(context.Context) IamAccessGroupPolicyResourcesOutput +} + +type IamAccessGroupPolicyResourcesArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringPtrInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringPtrInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringPtrInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringPtrInput `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId pulumi.StringPtrInput `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType pulumi.StringPtrInput `pulumi:"serviceType"` +} + +func (IamAccessGroupPolicyResourcesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyResources)(nil)).Elem() +} + +func (i IamAccessGroupPolicyResourcesArgs) ToIamAccessGroupPolicyResourcesOutput() IamAccessGroupPolicyResourcesOutput { + return i.ToIamAccessGroupPolicyResourcesOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyResourcesArgs) ToIamAccessGroupPolicyResourcesOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourcesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyResourcesOutput) +} + +func (i IamAccessGroupPolicyResourcesArgs) ToIamAccessGroupPolicyResourcesPtrOutput() IamAccessGroupPolicyResourcesPtrOutput { + return i.ToIamAccessGroupPolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyResourcesArgs) ToIamAccessGroupPolicyResourcesPtrOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyResourcesOutput).ToIamAccessGroupPolicyResourcesPtrOutputWithContext(ctx) +} + +// IamAccessGroupPolicyResourcesPtrInput is an input type that accepts IamAccessGroupPolicyResourcesArgs, IamAccessGroupPolicyResourcesPtr and IamAccessGroupPolicyResourcesPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyResourcesPtrInput` via: +// +// IamAccessGroupPolicyResourcesArgs{...} +// +// or: +// +// nil +type IamAccessGroupPolicyResourcesPtrInput interface { + pulumi.Input + + ToIamAccessGroupPolicyResourcesPtrOutput() IamAccessGroupPolicyResourcesPtrOutput + ToIamAccessGroupPolicyResourcesPtrOutputWithContext(context.Context) IamAccessGroupPolicyResourcesPtrOutput +} + +type iamAccessGroupPolicyResourcesPtrType IamAccessGroupPolicyResourcesArgs + +func IamAccessGroupPolicyResourcesPtr(v *IamAccessGroupPolicyResourcesArgs) IamAccessGroupPolicyResourcesPtrInput { + return (*iamAccessGroupPolicyResourcesPtrType)(v) +} + +func (*iamAccessGroupPolicyResourcesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupPolicyResources)(nil)).Elem() +} + +func (i *iamAccessGroupPolicyResourcesPtrType) ToIamAccessGroupPolicyResourcesPtrOutput() IamAccessGroupPolicyResourcesPtrOutput { + return i.ToIamAccessGroupPolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupPolicyResourcesPtrType) ToIamAccessGroupPolicyResourcesPtrOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyResourcesPtrOutput) +} + +type IamAccessGroupPolicyResourcesOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyResourcesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyResources)(nil)).Elem() +} + +func (o IamAccessGroupPolicyResourcesOutput) ToIamAccessGroupPolicyResourcesOutput() IamAccessGroupPolicyResourcesOutput { + return o +} + +func (o IamAccessGroupPolicyResourcesOutput) ToIamAccessGroupPolicyResourcesOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourcesOutput { + return o +} + +func (o IamAccessGroupPolicyResourcesOutput) ToIamAccessGroupPolicyResourcesPtrOutput() IamAccessGroupPolicyResourcesPtrOutput { + return o.ToIamAccessGroupPolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupPolicyResourcesOutput) ToIamAccessGroupPolicyResourcesPtrOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourcesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupPolicyResources) *IamAccessGroupPolicyResources { + return &v + }).(IamAccessGroupPolicyResourcesPtrOutput) +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamAccessGroupPolicyResourcesOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamAccessGroupPolicyResourcesOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamAccessGroupPolicyResourcesOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) *string { return v.Resource }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamAccessGroupPolicyResourcesOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamAccessGroupPolicyResourcesOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) *string { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamAccessGroupPolicyResourcesOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamAccessGroupPolicyResourcesOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// Service group id of the policy definition +func (o IamAccessGroupPolicyResourcesOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) *string { return v.ServiceGroupId }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamAccessGroupPolicyResourcesOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyResources) *string { return v.ServiceType }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupPolicyResourcesPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyResourcesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupPolicyResources)(nil)).Elem() +} + +func (o IamAccessGroupPolicyResourcesPtrOutput) ToIamAccessGroupPolicyResourcesPtrOutput() IamAccessGroupPolicyResourcesPtrOutput { + return o +} + +func (o IamAccessGroupPolicyResourcesPtrOutput) ToIamAccessGroupPolicyResourcesPtrOutputWithContext(ctx context.Context) IamAccessGroupPolicyResourcesPtrOutput { + return o +} + +func (o IamAccessGroupPolicyResourcesPtrOutput) Elem() IamAccessGroupPolicyResourcesOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) IamAccessGroupPolicyResources { + if v != nil { + return *v + } + var ret IamAccessGroupPolicyResources + return ret + }).(IamAccessGroupPolicyResourcesOutput) +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamAccessGroupPolicyResourcesPtrOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) map[string]string { + if v == nil { + return nil + } + return v.Attributes + }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamAccessGroupPolicyResourcesPtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) *string { + if v == nil { + return nil + } + return v.Region + }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamAccessGroupPolicyResourcesPtrOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) *string { + if v == nil { + return nil + } + return v.Resource + }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamAccessGroupPolicyResourcesPtrOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceGroupId + }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamAccessGroupPolicyResourcesPtrOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceInstanceId + }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamAccessGroupPolicyResourcesPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamAccessGroupPolicyResourcesPtrOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) *string { + if v == nil { + return nil + } + return v.Service + }).(pulumi.StringPtrOutput) +} + +// Service group id of the policy definition +func (o IamAccessGroupPolicyResourcesPtrOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) *string { + if v == nil { + return nil + } + return v.ServiceGroupId + }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamAccessGroupPolicyResourcesPtrOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupPolicyResources) *string { + if v == nil { + return nil + } + return v.ServiceType + }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupPolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []IamAccessGroupPolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamAccessGroupPolicyRuleConditionInput is an input type that accepts IamAccessGroupPolicyRuleConditionArgs and IamAccessGroupPolicyRuleConditionOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyRuleConditionInput` via: +// +// IamAccessGroupPolicyRuleConditionArgs{...} +type IamAccessGroupPolicyRuleConditionInput interface { + pulumi.Input + + ToIamAccessGroupPolicyRuleConditionOutput() IamAccessGroupPolicyRuleConditionOutput + ToIamAccessGroupPolicyRuleConditionOutputWithContext(context.Context) IamAccessGroupPolicyRuleConditionOutput +} + +type IamAccessGroupPolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions IamAccessGroupPolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamAccessGroupPolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyRuleCondition)(nil)).Elem() +} + +func (i IamAccessGroupPolicyRuleConditionArgs) ToIamAccessGroupPolicyRuleConditionOutput() IamAccessGroupPolicyRuleConditionOutput { + return i.ToIamAccessGroupPolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyRuleConditionArgs) ToIamAccessGroupPolicyRuleConditionOutputWithContext(ctx context.Context) IamAccessGroupPolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyRuleConditionOutput) +} + +// IamAccessGroupPolicyRuleConditionArrayInput is an input type that accepts IamAccessGroupPolicyRuleConditionArray and IamAccessGroupPolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyRuleConditionArrayInput` via: +// +// IamAccessGroupPolicyRuleConditionArray{ IamAccessGroupPolicyRuleConditionArgs{...} } +type IamAccessGroupPolicyRuleConditionArrayInput interface { + pulumi.Input + + ToIamAccessGroupPolicyRuleConditionArrayOutput() IamAccessGroupPolicyRuleConditionArrayOutput + ToIamAccessGroupPolicyRuleConditionArrayOutputWithContext(context.Context) IamAccessGroupPolicyRuleConditionArrayOutput +} + +type IamAccessGroupPolicyRuleConditionArray []IamAccessGroupPolicyRuleConditionInput + +func (IamAccessGroupPolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupPolicyRuleCondition)(nil)).Elem() +} + +func (i IamAccessGroupPolicyRuleConditionArray) ToIamAccessGroupPolicyRuleConditionArrayOutput() IamAccessGroupPolicyRuleConditionArrayOutput { + return i.ToIamAccessGroupPolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyRuleConditionArray) ToIamAccessGroupPolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupPolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyRuleConditionArrayOutput) +} + +type IamAccessGroupPolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyRuleCondition)(nil)).Elem() +} + +func (o IamAccessGroupPolicyRuleConditionOutput) ToIamAccessGroupPolicyRuleConditionOutput() IamAccessGroupPolicyRuleConditionOutput { + return o +} + +func (o IamAccessGroupPolicyRuleConditionOutput) ToIamAccessGroupPolicyRuleConditionOutputWithContext(ctx context.Context) IamAccessGroupPolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o IamAccessGroupPolicyRuleConditionOutput) Conditions() IamAccessGroupPolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v IamAccessGroupPolicyRuleCondition) []IamAccessGroupPolicyRuleConditionCondition { + return v.Conditions + }).(IamAccessGroupPolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o IamAccessGroupPolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupPolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o IamAccessGroupPolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupPolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamAccessGroupPolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccessGroupPolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamAccessGroupPolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupPolicyRuleCondition)(nil)).Elem() +} + +func (o IamAccessGroupPolicyRuleConditionArrayOutput) ToIamAccessGroupPolicyRuleConditionArrayOutput() IamAccessGroupPolicyRuleConditionArrayOutput { + return o +} + +func (o IamAccessGroupPolicyRuleConditionArrayOutput) ToIamAccessGroupPolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupPolicyRuleConditionArrayOutput { + return o +} + +func (o IamAccessGroupPolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) IamAccessGroupPolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupPolicyRuleCondition { + return vs[0].([]IamAccessGroupPolicyRuleCondition)[vs[1].(int)] + }).(IamAccessGroupPolicyRuleConditionOutput) +} + +type IamAccessGroupPolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamAccessGroupPolicyRuleConditionConditionInput is an input type that accepts IamAccessGroupPolicyRuleConditionConditionArgs and IamAccessGroupPolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyRuleConditionConditionInput` via: +// +// IamAccessGroupPolicyRuleConditionConditionArgs{...} +type IamAccessGroupPolicyRuleConditionConditionInput interface { + pulumi.Input + + ToIamAccessGroupPolicyRuleConditionConditionOutput() IamAccessGroupPolicyRuleConditionConditionOutput + ToIamAccessGroupPolicyRuleConditionConditionOutputWithContext(context.Context) IamAccessGroupPolicyRuleConditionConditionOutput +} + +type IamAccessGroupPolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamAccessGroupPolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamAccessGroupPolicyRuleConditionConditionArgs) ToIamAccessGroupPolicyRuleConditionConditionOutput() IamAccessGroupPolicyRuleConditionConditionOutput { + return i.ToIamAccessGroupPolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyRuleConditionConditionArgs) ToIamAccessGroupPolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamAccessGroupPolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyRuleConditionConditionOutput) +} + +// IamAccessGroupPolicyRuleConditionConditionArrayInput is an input type that accepts IamAccessGroupPolicyRuleConditionConditionArray and IamAccessGroupPolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupPolicyRuleConditionConditionArrayInput` via: +// +// IamAccessGroupPolicyRuleConditionConditionArray{ IamAccessGroupPolicyRuleConditionConditionArgs{...} } +type IamAccessGroupPolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToIamAccessGroupPolicyRuleConditionConditionArrayOutput() IamAccessGroupPolicyRuleConditionConditionArrayOutput + ToIamAccessGroupPolicyRuleConditionConditionArrayOutputWithContext(context.Context) IamAccessGroupPolicyRuleConditionConditionArrayOutput +} + +type IamAccessGroupPolicyRuleConditionConditionArray []IamAccessGroupPolicyRuleConditionConditionInput + +func (IamAccessGroupPolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamAccessGroupPolicyRuleConditionConditionArray) ToIamAccessGroupPolicyRuleConditionConditionArrayOutput() IamAccessGroupPolicyRuleConditionConditionArrayOutput { + return i.ToIamAccessGroupPolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupPolicyRuleConditionConditionArray) ToIamAccessGroupPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupPolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupPolicyRuleConditionConditionArrayOutput) +} + +type IamAccessGroupPolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamAccessGroupPolicyRuleConditionConditionOutput) ToIamAccessGroupPolicyRuleConditionConditionOutput() IamAccessGroupPolicyRuleConditionConditionOutput { + return o +} + +func (o IamAccessGroupPolicyRuleConditionConditionOutput) ToIamAccessGroupPolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamAccessGroupPolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o IamAccessGroupPolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupPolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o IamAccessGroupPolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupPolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamAccessGroupPolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccessGroupPolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamAccessGroupPolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupPolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamAccessGroupPolicyRuleConditionConditionArrayOutput) ToIamAccessGroupPolicyRuleConditionConditionArrayOutput() IamAccessGroupPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamAccessGroupPolicyRuleConditionConditionArrayOutput) ToIamAccessGroupPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamAccessGroupPolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) IamAccessGroupPolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupPolicyRuleConditionCondition { + return vs[0].([]IamAccessGroupPolicyRuleConditionCondition)[vs[1].(int)] + }).(IamAccessGroupPolicyRuleConditionConditionOutput) +} + +type IamAccessGroupTemplateGroup struct { + // Access group action controls component. + ActionControls *IamAccessGroupTemplateGroupActionControls `pulumi:"actionControls"` + // Assertions Input Component. + Assertions *IamAccessGroupTemplateGroupAssertions `pulumi:"assertions"` + // Access group description. This is shown in child accounts. + Description *string `pulumi:"description"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Members *IamAccessGroupTemplateGroupMembers `pulumi:"members"` + // Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. + Name string `pulumi:"name"` +} + +// IamAccessGroupTemplateGroupInput is an input type that accepts IamAccessGroupTemplateGroupArgs and IamAccessGroupTemplateGroupOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupInput` via: +// +// IamAccessGroupTemplateGroupArgs{...} +type IamAccessGroupTemplateGroupInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupOutput() IamAccessGroupTemplateGroupOutput + ToIamAccessGroupTemplateGroupOutputWithContext(context.Context) IamAccessGroupTemplateGroupOutput +} + +type IamAccessGroupTemplateGroupArgs struct { + // Access group action controls component. + ActionControls IamAccessGroupTemplateGroupActionControlsPtrInput `pulumi:"actionControls"` + // Assertions Input Component. + Assertions IamAccessGroupTemplateGroupAssertionsPtrInput `pulumi:"assertions"` + // Access group description. This is shown in child accounts. + Description pulumi.StringPtrInput `pulumi:"description"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Members IamAccessGroupTemplateGroupMembersPtrInput `pulumi:"members"` + // Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. + Name pulumi.StringInput `pulumi:"name"` +} + +func (IamAccessGroupTemplateGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroup)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupArgs) ToIamAccessGroupTemplateGroupOutput() IamAccessGroupTemplateGroupOutput { + return i.ToIamAccessGroupTemplateGroupOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupArgs) ToIamAccessGroupTemplateGroupOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupOutput) +} + +func (i IamAccessGroupTemplateGroupArgs) ToIamAccessGroupTemplateGroupPtrOutput() IamAccessGroupTemplateGroupPtrOutput { + return i.ToIamAccessGroupTemplateGroupPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupArgs) ToIamAccessGroupTemplateGroupPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupOutput).ToIamAccessGroupTemplateGroupPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateGroupPtrInput is an input type that accepts IamAccessGroupTemplateGroupArgs, IamAccessGroupTemplateGroupPtr and IamAccessGroupTemplateGroupPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupPtrInput` via: +// +// IamAccessGroupTemplateGroupArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateGroupPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupPtrOutput() IamAccessGroupTemplateGroupPtrOutput + ToIamAccessGroupTemplateGroupPtrOutputWithContext(context.Context) IamAccessGroupTemplateGroupPtrOutput +} + +type iamAccessGroupTemplateGroupPtrType IamAccessGroupTemplateGroupArgs + +func IamAccessGroupTemplateGroupPtr(v *IamAccessGroupTemplateGroupArgs) IamAccessGroupTemplateGroupPtrInput { + return (*iamAccessGroupTemplateGroupPtrType)(v) +} + +func (*iamAccessGroupTemplateGroupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroup)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateGroupPtrType) ToIamAccessGroupTemplateGroupPtrOutput() IamAccessGroupTemplateGroupPtrOutput { + return i.ToIamAccessGroupTemplateGroupPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateGroupPtrType) ToIamAccessGroupTemplateGroupPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupPtrOutput) +} + +type IamAccessGroupTemplateGroupOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroup)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupOutput) ToIamAccessGroupTemplateGroupOutput() IamAccessGroupTemplateGroupOutput { + return o +} + +func (o IamAccessGroupTemplateGroupOutput) ToIamAccessGroupTemplateGroupOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupOutput { + return o +} + +func (o IamAccessGroupTemplateGroupOutput) ToIamAccessGroupTemplateGroupPtrOutput() IamAccessGroupTemplateGroupPtrOutput { + return o.ToIamAccessGroupTemplateGroupPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateGroupOutput) ToIamAccessGroupTemplateGroupPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateGroup) *IamAccessGroupTemplateGroup { + return &v + }).(IamAccessGroupTemplateGroupPtrOutput) +} + +// Access group action controls component. +func (o IamAccessGroupTemplateGroupOutput) ActionControls() IamAccessGroupTemplateGroupActionControlsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroup) *IamAccessGroupTemplateGroupActionControls { + return v.ActionControls + }).(IamAccessGroupTemplateGroupActionControlsPtrOutput) +} + +// Assertions Input Component. +func (o IamAccessGroupTemplateGroupOutput) Assertions() IamAccessGroupTemplateGroupAssertionsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroup) *IamAccessGroupTemplateGroupAssertions { return v.Assertions }).(IamAccessGroupTemplateGroupAssertionsPtrOutput) +} + +// Access group description. This is shown in child accounts. +func (o IamAccessGroupTemplateGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroup) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o IamAccessGroupTemplateGroupOutput) Members() IamAccessGroupTemplateGroupMembersPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroup) *IamAccessGroupTemplateGroupMembers { return v.Members }).(IamAccessGroupTemplateGroupMembersPtrOutput) +} + +// Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. +func (o IamAccessGroupTemplateGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type IamAccessGroupTemplateGroupPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroup)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupPtrOutput) ToIamAccessGroupTemplateGroupPtrOutput() IamAccessGroupTemplateGroupPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupPtrOutput) ToIamAccessGroupTemplateGroupPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupPtrOutput) Elem() IamAccessGroupTemplateGroupOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroup) IamAccessGroupTemplateGroup { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateGroup + return ret + }).(IamAccessGroupTemplateGroupOutput) +} + +// Access group action controls component. +func (o IamAccessGroupTemplateGroupPtrOutput) ActionControls() IamAccessGroupTemplateGroupActionControlsPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroup) *IamAccessGroupTemplateGroupActionControls { + if v == nil { + return nil + } + return v.ActionControls + }).(IamAccessGroupTemplateGroupActionControlsPtrOutput) +} + +// Assertions Input Component. +func (o IamAccessGroupTemplateGroupPtrOutput) Assertions() IamAccessGroupTemplateGroupAssertionsPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroup) *IamAccessGroupTemplateGroupAssertions { + if v == nil { + return nil + } + return v.Assertions + }).(IamAccessGroupTemplateGroupAssertionsPtrOutput) +} + +// Access group description. This is shown in child accounts. +func (o IamAccessGroupTemplateGroupPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroup) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o IamAccessGroupTemplateGroupPtrOutput) Members() IamAccessGroupTemplateGroupMembersPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroup) *IamAccessGroupTemplateGroupMembers { + if v == nil { + return nil + } + return v.Members + }).(IamAccessGroupTemplateGroupMembersPtrOutput) +} + +// Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. +func (o IamAccessGroupTemplateGroupPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroup) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupTemplateGroupActionControls struct { + // Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. + Access *IamAccessGroupTemplateGroupActionControlsAccess `pulumi:"access"` +} + +// IamAccessGroupTemplateGroupActionControlsInput is an input type that accepts IamAccessGroupTemplateGroupActionControlsArgs and IamAccessGroupTemplateGroupActionControlsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupActionControlsInput` via: +// +// IamAccessGroupTemplateGroupActionControlsArgs{...} +type IamAccessGroupTemplateGroupActionControlsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupActionControlsOutput() IamAccessGroupTemplateGroupActionControlsOutput + ToIamAccessGroupTemplateGroupActionControlsOutputWithContext(context.Context) IamAccessGroupTemplateGroupActionControlsOutput +} + +type IamAccessGroupTemplateGroupActionControlsArgs struct { + // Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. + Access IamAccessGroupTemplateGroupActionControlsAccessPtrInput `pulumi:"access"` +} + +func (IamAccessGroupTemplateGroupActionControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupActionControls)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupActionControlsArgs) ToIamAccessGroupTemplateGroupActionControlsOutput() IamAccessGroupTemplateGroupActionControlsOutput { + return i.ToIamAccessGroupTemplateGroupActionControlsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupActionControlsArgs) ToIamAccessGroupTemplateGroupActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupActionControlsOutput) +} + +func (i IamAccessGroupTemplateGroupActionControlsArgs) ToIamAccessGroupTemplateGroupActionControlsPtrOutput() IamAccessGroupTemplateGroupActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupActionControlsArgs) ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupActionControlsOutput).ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateGroupActionControlsPtrInput is an input type that accepts IamAccessGroupTemplateGroupActionControlsArgs, IamAccessGroupTemplateGroupActionControlsPtr and IamAccessGroupTemplateGroupActionControlsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupActionControlsPtrInput` via: +// +// IamAccessGroupTemplateGroupActionControlsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateGroupActionControlsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupActionControlsPtrOutput() IamAccessGroupTemplateGroupActionControlsPtrOutput + ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(context.Context) IamAccessGroupTemplateGroupActionControlsPtrOutput +} + +type iamAccessGroupTemplateGroupActionControlsPtrType IamAccessGroupTemplateGroupActionControlsArgs + +func IamAccessGroupTemplateGroupActionControlsPtr(v *IamAccessGroupTemplateGroupActionControlsArgs) IamAccessGroupTemplateGroupActionControlsPtrInput { + return (*iamAccessGroupTemplateGroupActionControlsPtrType)(v) +} + +func (*iamAccessGroupTemplateGroupActionControlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupActionControls)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateGroupActionControlsPtrType) ToIamAccessGroupTemplateGroupActionControlsPtrOutput() IamAccessGroupTemplateGroupActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateGroupActionControlsPtrType) ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupActionControlsPtrOutput) +} + +type IamAccessGroupTemplateGroupActionControlsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupActionControlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupActionControlsOutput) ToIamAccessGroupTemplateGroupActionControlsOutput() IamAccessGroupTemplateGroupActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupActionControlsOutput) ToIamAccessGroupTemplateGroupActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupActionControlsOutput) ToIamAccessGroupTemplateGroupActionControlsPtrOutput() IamAccessGroupTemplateGroupActionControlsPtrOutput { + return o.ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateGroupActionControlsOutput) ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateGroupActionControls) *IamAccessGroupTemplateGroupActionControls { + return &v + }).(IamAccessGroupTemplateGroupActionControlsPtrOutput) +} + +// Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. +func (o IamAccessGroupTemplateGroupActionControlsOutput) Access() IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupActionControls) *IamAccessGroupTemplateGroupActionControlsAccess { + return v.Access + }).(IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) +} + +type IamAccessGroupTemplateGroupActionControlsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupActionControlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupActionControlsPtrOutput) ToIamAccessGroupTemplateGroupActionControlsPtrOutput() IamAccessGroupTemplateGroupActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupActionControlsPtrOutput) ToIamAccessGroupTemplateGroupActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupActionControlsPtrOutput) Elem() IamAccessGroupTemplateGroupActionControlsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupActionControls) IamAccessGroupTemplateGroupActionControls { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateGroupActionControls + return ret + }).(IamAccessGroupTemplateGroupActionControlsOutput) +} + +// Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. +func (o IamAccessGroupTemplateGroupActionControlsPtrOutput) Access() IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupActionControls) *IamAccessGroupTemplateGroupActionControlsAccess { + if v == nil { + return nil + } + return v.Access + }).(IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) +} + +type IamAccessGroupTemplateGroupActionControlsAccess struct { + // Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. + Add *bool `pulumi:"add"` +} + +// IamAccessGroupTemplateGroupActionControlsAccessInput is an input type that accepts IamAccessGroupTemplateGroupActionControlsAccessArgs and IamAccessGroupTemplateGroupActionControlsAccessOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupActionControlsAccessInput` via: +// +// IamAccessGroupTemplateGroupActionControlsAccessArgs{...} +type IamAccessGroupTemplateGroupActionControlsAccessInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupActionControlsAccessOutput() IamAccessGroupTemplateGroupActionControlsAccessOutput + ToIamAccessGroupTemplateGroupActionControlsAccessOutputWithContext(context.Context) IamAccessGroupTemplateGroupActionControlsAccessOutput +} + +type IamAccessGroupTemplateGroupActionControlsAccessArgs struct { + // Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. + Add pulumi.BoolPtrInput `pulumi:"add"` +} + +func (IamAccessGroupTemplateGroupActionControlsAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupActionControlsAccess)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupActionControlsAccessArgs) ToIamAccessGroupTemplateGroupActionControlsAccessOutput() IamAccessGroupTemplateGroupActionControlsAccessOutput { + return i.ToIamAccessGroupTemplateGroupActionControlsAccessOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupActionControlsAccessArgs) ToIamAccessGroupTemplateGroupActionControlsAccessOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupActionControlsAccessOutput) +} + +func (i IamAccessGroupTemplateGroupActionControlsAccessArgs) ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return i.ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupActionControlsAccessArgs) ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupActionControlsAccessOutput).ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateGroupActionControlsAccessPtrInput is an input type that accepts IamAccessGroupTemplateGroupActionControlsAccessArgs, IamAccessGroupTemplateGroupActionControlsAccessPtr and IamAccessGroupTemplateGroupActionControlsAccessPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupActionControlsAccessPtrInput` via: +// +// IamAccessGroupTemplateGroupActionControlsAccessArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateGroupActionControlsAccessPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateGroupActionControlsAccessPtrOutput + ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(context.Context) IamAccessGroupTemplateGroupActionControlsAccessPtrOutput +} + +type iamAccessGroupTemplateGroupActionControlsAccessPtrType IamAccessGroupTemplateGroupActionControlsAccessArgs + +func IamAccessGroupTemplateGroupActionControlsAccessPtr(v *IamAccessGroupTemplateGroupActionControlsAccessArgs) IamAccessGroupTemplateGroupActionControlsAccessPtrInput { + return (*iamAccessGroupTemplateGroupActionControlsAccessPtrType)(v) +} + +func (*iamAccessGroupTemplateGroupActionControlsAccessPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupActionControlsAccess)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateGroupActionControlsAccessPtrType) ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return i.ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateGroupActionControlsAccessPtrType) ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) +} + +type IamAccessGroupTemplateGroupActionControlsAccessOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupActionControlsAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupActionControlsAccess)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupActionControlsAccessOutput) ToIamAccessGroupTemplateGroupActionControlsAccessOutput() IamAccessGroupTemplateGroupActionControlsAccessOutput { + return o +} + +func (o IamAccessGroupTemplateGroupActionControlsAccessOutput) ToIamAccessGroupTemplateGroupActionControlsAccessOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsAccessOutput { + return o +} + +func (o IamAccessGroupTemplateGroupActionControlsAccessOutput) ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return o.ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateGroupActionControlsAccessOutput) ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateGroupActionControlsAccess) *IamAccessGroupTemplateGroupActionControlsAccess { + return &v + }).(IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) +} + +// Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. +func (o IamAccessGroupTemplateGroupActionControlsAccessOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupActionControlsAccess) *bool { return v.Add }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateGroupActionControlsAccessPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupActionControlsAccess)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) ToIamAccessGroupTemplateGroupActionControlsAccessPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupActionControlsAccessPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) Elem() IamAccessGroupTemplateGroupActionControlsAccessOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupActionControlsAccess) IamAccessGroupTemplateGroupActionControlsAccess { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateGroupActionControlsAccess + return ret + }).(IamAccessGroupTemplateGroupActionControlsAccessOutput) +} + +// Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. +func (o IamAccessGroupTemplateGroupActionControlsAccessPtrOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupActionControlsAccess) *bool { + if v == nil { + return nil + } + return v.Add + }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertions struct { + // Control whether or not access group administrators in child accounts can add, remove, and update dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these action controls. + ActionControls *IamAccessGroupTemplateGroupAssertionsActionControls `pulumi:"actionControls"` + // Dynamic rules to automatically add federated users to access groups based on specific identity attributes. + Rules []IamAccessGroupTemplateGroupAssertionsRule `pulumi:"rules"` +} + +// IamAccessGroupTemplateGroupAssertionsInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsArgs and IamAccessGroupTemplateGroupAssertionsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsInput` via: +// +// IamAccessGroupTemplateGroupAssertionsArgs{...} +type IamAccessGroupTemplateGroupAssertionsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsOutput() IamAccessGroupTemplateGroupAssertionsOutput + ToIamAccessGroupTemplateGroupAssertionsOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsOutput +} + +type IamAccessGroupTemplateGroupAssertionsArgs struct { + // Control whether or not access group administrators in child accounts can add, remove, and update dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these action controls. + ActionControls IamAccessGroupTemplateGroupAssertionsActionControlsPtrInput `pulumi:"actionControls"` + // Dynamic rules to automatically add federated users to access groups based on specific identity attributes. + Rules IamAccessGroupTemplateGroupAssertionsRuleArrayInput `pulumi:"rules"` +} + +func (IamAccessGroupTemplateGroupAssertionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertions)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupAssertionsArgs) ToIamAccessGroupTemplateGroupAssertionsOutput() IamAccessGroupTemplateGroupAssertionsOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsArgs) ToIamAccessGroupTemplateGroupAssertionsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsOutput) +} + +func (i IamAccessGroupTemplateGroupAssertionsArgs) ToIamAccessGroupTemplateGroupAssertionsPtrOutput() IamAccessGroupTemplateGroupAssertionsPtrOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsArgs) ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsOutput).ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateGroupAssertionsPtrInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsArgs, IamAccessGroupTemplateGroupAssertionsPtr and IamAccessGroupTemplateGroupAssertionsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsPtrInput` via: +// +// IamAccessGroupTemplateGroupAssertionsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateGroupAssertionsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsPtrOutput() IamAccessGroupTemplateGroupAssertionsPtrOutput + ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsPtrOutput +} + +type iamAccessGroupTemplateGroupAssertionsPtrType IamAccessGroupTemplateGroupAssertionsArgs + +func IamAccessGroupTemplateGroupAssertionsPtr(v *IamAccessGroupTemplateGroupAssertionsArgs) IamAccessGroupTemplateGroupAssertionsPtrInput { + return (*iamAccessGroupTemplateGroupAssertionsPtrType)(v) +} + +func (*iamAccessGroupTemplateGroupAssertionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupAssertions)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateGroupAssertionsPtrType) ToIamAccessGroupTemplateGroupAssertionsPtrOutput() IamAccessGroupTemplateGroupAssertionsPtrOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateGroupAssertionsPtrType) ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertions)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsOutput) ToIamAccessGroupTemplateGroupAssertionsOutput() IamAccessGroupTemplateGroupAssertionsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsOutput) ToIamAccessGroupTemplateGroupAssertionsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsOutput) ToIamAccessGroupTemplateGroupAssertionsPtrOutput() IamAccessGroupTemplateGroupAssertionsPtrOutput { + return o.ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateGroupAssertionsOutput) ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateGroupAssertions) *IamAccessGroupTemplateGroupAssertions { + return &v + }).(IamAccessGroupTemplateGroupAssertionsPtrOutput) +} + +// Control whether or not access group administrators in child accounts can add, remove, and update dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these action controls. +func (o IamAccessGroupTemplateGroupAssertionsOutput) ActionControls() IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertions) *IamAccessGroupTemplateGroupAssertionsActionControls { + return v.ActionControls + }).(IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) +} + +// Dynamic rules to automatically add federated users to access groups based on specific identity attributes. +func (o IamAccessGroupTemplateGroupAssertionsOutput) Rules() IamAccessGroupTemplateGroupAssertionsRuleArrayOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertions) []IamAccessGroupTemplateGroupAssertionsRule { + return v.Rules + }).(IamAccessGroupTemplateGroupAssertionsRuleArrayOutput) +} + +type IamAccessGroupTemplateGroupAssertionsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupAssertions)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsPtrOutput) ToIamAccessGroupTemplateGroupAssertionsPtrOutput() IamAccessGroupTemplateGroupAssertionsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsPtrOutput) ToIamAccessGroupTemplateGroupAssertionsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsPtrOutput) Elem() IamAccessGroupTemplateGroupAssertionsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupAssertions) IamAccessGroupTemplateGroupAssertions { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateGroupAssertions + return ret + }).(IamAccessGroupTemplateGroupAssertionsOutput) +} + +// Control whether or not access group administrators in child accounts can add, remove, and update dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these action controls. +func (o IamAccessGroupTemplateGroupAssertionsPtrOutput) ActionControls() IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupAssertions) *IamAccessGroupTemplateGroupAssertionsActionControls { + if v == nil { + return nil + } + return v.ActionControls + }).(IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) +} + +// Dynamic rules to automatically add federated users to access groups based on specific identity attributes. +func (o IamAccessGroupTemplateGroupAssertionsPtrOutput) Rules() IamAccessGroupTemplateGroupAssertionsRuleArrayOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupAssertions) []IamAccessGroupTemplateGroupAssertionsRule { + if v == nil { + return nil + } + return v.Rules + }).(IamAccessGroupTemplateGroupAssertionsRuleArrayOutput) +} + +type IamAccessGroupTemplateGroupAssertionsActionControls struct { + // Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. + Add *bool `pulumi:"add"` + // Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. + Remove *bool `pulumi:"remove"` +} + +// IamAccessGroupTemplateGroupAssertionsActionControlsInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsActionControlsArgs and IamAccessGroupTemplateGroupAssertionsActionControlsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsActionControlsInput` via: +// +// IamAccessGroupTemplateGroupAssertionsActionControlsArgs{...} +type IamAccessGroupTemplateGroupAssertionsActionControlsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsActionControlsOutput() IamAccessGroupTemplateGroupAssertionsActionControlsOutput + ToIamAccessGroupTemplateGroupAssertionsActionControlsOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsActionControlsOutput +} + +type IamAccessGroupTemplateGroupAssertionsActionControlsArgs struct { + // Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. + Add pulumi.BoolPtrInput `pulumi:"add"` + // Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. + Remove pulumi.BoolPtrInput `pulumi:"remove"` +} + +func (IamAccessGroupTemplateGroupAssertionsActionControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsActionControls)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupAssertionsActionControlsArgs) ToIamAccessGroupTemplateGroupAssertionsActionControlsOutput() IamAccessGroupTemplateGroupAssertionsActionControlsOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsActionControlsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsActionControlsArgs) ToIamAccessGroupTemplateGroupAssertionsActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsActionControlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsActionControlsOutput) +} + +func (i IamAccessGroupTemplateGroupAssertionsActionControlsArgs) ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsActionControlsArgs) ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsActionControlsOutput).ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateGroupAssertionsActionControlsPtrInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsActionControlsArgs, IamAccessGroupTemplateGroupAssertionsActionControlsPtr and IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsActionControlsPtrInput` via: +// +// IamAccessGroupTemplateGroupAssertionsActionControlsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateGroupAssertionsActionControlsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput + ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput +} + +type iamAccessGroupTemplateGroupAssertionsActionControlsPtrType IamAccessGroupTemplateGroupAssertionsActionControlsArgs + +func IamAccessGroupTemplateGroupAssertionsActionControlsPtr(v *IamAccessGroupTemplateGroupAssertionsActionControlsArgs) IamAccessGroupTemplateGroupAssertionsActionControlsPtrInput { + return (*iamAccessGroupTemplateGroupAssertionsActionControlsPtrType)(v) +} + +func (*iamAccessGroupTemplateGroupAssertionsActionControlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupAssertionsActionControls)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateGroupAssertionsActionControlsPtrType) ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateGroupAssertionsActionControlsPtrType) ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsActionControlsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsActionControlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsActionControlsOutput) ToIamAccessGroupTemplateGroupAssertionsActionControlsOutput() IamAccessGroupTemplateGroupAssertionsActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsActionControlsOutput) ToIamAccessGroupTemplateGroupAssertionsActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsActionControlsOutput) ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return o.ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateGroupAssertionsActionControlsOutput) ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateGroupAssertionsActionControls) *IamAccessGroupTemplateGroupAssertionsActionControls { + return &v + }).(IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) +} + +// Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. +func (o IamAccessGroupTemplateGroupAssertionsActionControlsOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsActionControls) *bool { return v.Add }).(pulumi.BoolPtrOutput) +} + +// Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. +func (o IamAccessGroupTemplateGroupAssertionsActionControlsOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsActionControls) *bool { return v.Remove }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupAssertionsActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) ToIamAccessGroupTemplateGroupAssertionsActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) Elem() IamAccessGroupTemplateGroupAssertionsActionControlsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupAssertionsActionControls) IamAccessGroupTemplateGroupAssertionsActionControls { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateGroupAssertionsActionControls + return ret + }).(IamAccessGroupTemplateGroupAssertionsActionControlsOutput) +} + +// Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. +func (o IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupAssertionsActionControls) *bool { + if v == nil { + return nil + } + return v.Add + }).(pulumi.BoolPtrOutput) +} + +// Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. +func (o IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupAssertionsActionControls) *bool { + if v == nil { + return nil + } + return v.Remove + }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRule struct { + // Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. + ActionControls *IamAccessGroupTemplateGroupAssertionsRuleActionControls `pulumi:"actionControls"` + // Conditions of membership. You can think of this as a key:value pair. + Conditions []IamAccessGroupTemplateGroupAssertionsRuleCondition `pulumi:"conditions"` + // Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. + Expiration *int `pulumi:"expiration"` + // Dynamic rule name. + Name *string `pulumi:"name"` + // The identity provider (IdP) URL. + RealmName *string `pulumi:"realmName"` +} + +// IamAccessGroupTemplateGroupAssertionsRuleInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsRuleArgs and IamAccessGroupTemplateGroupAssertionsRuleOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsRuleInput` via: +// +// IamAccessGroupTemplateGroupAssertionsRuleArgs{...} +type IamAccessGroupTemplateGroupAssertionsRuleInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsRuleOutput() IamAccessGroupTemplateGroupAssertionsRuleOutput + ToIamAccessGroupTemplateGroupAssertionsRuleOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsRuleOutput +} + +type IamAccessGroupTemplateGroupAssertionsRuleArgs struct { + // Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. + ActionControls IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrInput `pulumi:"actionControls"` + // Conditions of membership. You can think of this as a key:value pair. + Conditions IamAccessGroupTemplateGroupAssertionsRuleConditionArrayInput `pulumi:"conditions"` + // Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. + Expiration pulumi.IntPtrInput `pulumi:"expiration"` + // Dynamic rule name. + Name pulumi.StringPtrInput `pulumi:"name"` + // The identity provider (IdP) URL. + RealmName pulumi.StringPtrInput `pulumi:"realmName"` +} + +func (IamAccessGroupTemplateGroupAssertionsRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRule)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleArgs) ToIamAccessGroupTemplateGroupAssertionsRuleOutput() IamAccessGroupTemplateGroupAssertionsRuleOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsRuleOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleArgs) ToIamAccessGroupTemplateGroupAssertionsRuleOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsRuleOutput) +} + +// IamAccessGroupTemplateGroupAssertionsRuleArrayInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsRuleArray and IamAccessGroupTemplateGroupAssertionsRuleArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsRuleArrayInput` via: +// +// IamAccessGroupTemplateGroupAssertionsRuleArray{ IamAccessGroupTemplateGroupAssertionsRuleArgs{...} } +type IamAccessGroupTemplateGroupAssertionsRuleArrayInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsRuleArrayOutput() IamAccessGroupTemplateGroupAssertionsRuleArrayOutput + ToIamAccessGroupTemplateGroupAssertionsRuleArrayOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsRuleArrayOutput +} + +type IamAccessGroupTemplateGroupAssertionsRuleArray []IamAccessGroupTemplateGroupAssertionsRuleInput + +func (IamAccessGroupTemplateGroupAssertionsRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateGroupAssertionsRule)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleArray) ToIamAccessGroupTemplateGroupAssertionsRuleArrayOutput() IamAccessGroupTemplateGroupAssertionsRuleArrayOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsRuleArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleArray) ToIamAccessGroupTemplateGroupAssertionsRuleArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsRuleArrayOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRuleOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRule)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleOutput) ToIamAccessGroupTemplateGroupAssertionsRuleOutput() IamAccessGroupTemplateGroupAssertionsRuleOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleOutput) ToIamAccessGroupTemplateGroupAssertionsRuleOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleOutput { + return o +} + +// Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. +func (o IamAccessGroupTemplateGroupAssertionsRuleOutput) ActionControls() IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRule) *IamAccessGroupTemplateGroupAssertionsRuleActionControls { + return v.ActionControls + }).(IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput) +} + +// Conditions of membership. You can think of this as a key:value pair. +func (o IamAccessGroupTemplateGroupAssertionsRuleOutput) Conditions() IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRule) []IamAccessGroupTemplateGroupAssertionsRuleCondition { + return v.Conditions + }).(IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput) +} + +// Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. +func (o IamAccessGroupTemplateGroupAssertionsRuleOutput) Expiration() pulumi.IntPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRule) *int { return v.Expiration }).(pulumi.IntPtrOutput) +} + +// Dynamic rule name. +func (o IamAccessGroupTemplateGroupAssertionsRuleOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRule) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The identity provider (IdP) URL. +func (o IamAccessGroupTemplateGroupAssertionsRuleOutput) RealmName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRule) *string { return v.RealmName }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRuleArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateGroupAssertionsRule)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleArrayOutput) ToIamAccessGroupTemplateGroupAssertionsRuleArrayOutput() IamAccessGroupTemplateGroupAssertionsRuleArrayOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleArrayOutput) ToIamAccessGroupTemplateGroupAssertionsRuleArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleArrayOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleArrayOutput) Index(i pulumi.IntInput) IamAccessGroupTemplateGroupAssertionsRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupTemplateGroupAssertionsRule { + return vs[0].([]IamAccessGroupTemplateGroupAssertionsRule)[vs[1].(int)] + }).(IamAccessGroupTemplateGroupAssertionsRuleOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRuleActionControls struct { + // Action control for removing this enterprise-managed dynamic rule. + Remove *bool `pulumi:"remove"` +} + +// IamAccessGroupTemplateGroupAssertionsRuleActionControlsInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs and IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsRuleActionControlsInput` via: +// +// IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs{...} +type IamAccessGroupTemplateGroupAssertionsRuleActionControlsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput() IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput + ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput +} + +type IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs struct { + // Action control for removing this enterprise-managed dynamic rule. + Remove pulumi.BoolPtrInput `pulumi:"remove"` +} + +func (IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleActionControls)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput() IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput) +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput).ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs, IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtr and IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrInput` via: +// +// IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput + ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput +} + +type iamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrType IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs + +func IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtr(v *IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs) IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrInput { + return (*iamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrType)(v) +} + +func (*iamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupAssertionsRuleActionControls)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrType) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrType) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput() IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return o.ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateGroupAssertionsRuleActionControls) *IamAccessGroupTemplateGroupAssertionsRuleActionControls { + return &v + }).(IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput) +} + +// Action control for removing this enterprise-managed dynamic rule. +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRuleActionControls) *bool { return v.Remove }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupAssertionsRuleActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput) ToIamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput) Elem() IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupAssertionsRuleActionControls) IamAccessGroupTemplateGroupAssertionsRuleActionControls { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateGroupAssertionsRuleActionControls + return ret + }).(IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput) +} + +// Action control for removing this enterprise-managed dynamic rule. +func (o IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupAssertionsRuleActionControls) *bool { + if v == nil { + return nil + } + return v.Remove + }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRuleCondition struct { + // The key in the key:value pair. + Claim *string `pulumi:"claim"` + // Compares the claim and the value. + Operator *string `pulumi:"operator"` + // The value in the key:value pair. + Value *string `pulumi:"value"` +} + +// IamAccessGroupTemplateGroupAssertionsRuleConditionInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsRuleConditionArgs and IamAccessGroupTemplateGroupAssertionsRuleConditionOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsRuleConditionInput` via: +// +// IamAccessGroupTemplateGroupAssertionsRuleConditionArgs{...} +type IamAccessGroupTemplateGroupAssertionsRuleConditionInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsRuleConditionOutput() IamAccessGroupTemplateGroupAssertionsRuleConditionOutput + ToIamAccessGroupTemplateGroupAssertionsRuleConditionOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsRuleConditionOutput +} + +type IamAccessGroupTemplateGroupAssertionsRuleConditionArgs struct { + // The key in the key:value pair. + Claim pulumi.StringPtrInput `pulumi:"claim"` + // Compares the claim and the value. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // The value in the key:value pair. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (IamAccessGroupTemplateGroupAssertionsRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleCondition)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleConditionArgs) ToIamAccessGroupTemplateGroupAssertionsRuleConditionOutput() IamAccessGroupTemplateGroupAssertionsRuleConditionOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsRuleConditionOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleConditionArgs) ToIamAccessGroupTemplateGroupAssertionsRuleConditionOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsRuleConditionOutput) +} + +// IamAccessGroupTemplateGroupAssertionsRuleConditionArrayInput is an input type that accepts IamAccessGroupTemplateGroupAssertionsRuleConditionArray and IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupAssertionsRuleConditionArrayInput` via: +// +// IamAccessGroupTemplateGroupAssertionsRuleConditionArray{ IamAccessGroupTemplateGroupAssertionsRuleConditionArgs{...} } +type IamAccessGroupTemplateGroupAssertionsRuleConditionArrayInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput() IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput + ToIamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutputWithContext(context.Context) IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput +} + +type IamAccessGroupTemplateGroupAssertionsRuleConditionArray []IamAccessGroupTemplateGroupAssertionsRuleConditionInput + +func (IamAccessGroupTemplateGroupAssertionsRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateGroupAssertionsRuleCondition)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleConditionArray) ToIamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput() IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput { + return i.ToIamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupAssertionsRuleConditionArray) ToIamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleCondition)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleConditionOutput) ToIamAccessGroupTemplateGroupAssertionsRuleConditionOutput() IamAccessGroupTemplateGroupAssertionsRuleConditionOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleConditionOutput) ToIamAccessGroupTemplateGroupAssertionsRuleConditionOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleConditionOutput { + return o +} + +// The key in the key:value pair. +func (o IamAccessGroupTemplateGroupAssertionsRuleConditionOutput) Claim() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRuleCondition) *string { return v.Claim }).(pulumi.StringPtrOutput) +} + +// Compares the claim and the value. +func (o IamAccessGroupTemplateGroupAssertionsRuleConditionOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRuleCondition) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// The value in the key:value pair. +func (o IamAccessGroupTemplateGroupAssertionsRuleConditionOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupAssertionsRuleCondition) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateGroupAssertionsRuleCondition)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput) ToIamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput() IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput) ToIamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput { + return o +} + +func (o IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput) Index(i pulumi.IntInput) IamAccessGroupTemplateGroupAssertionsRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupTemplateGroupAssertionsRuleCondition { + return vs[0].([]IamAccessGroupTemplateGroupAssertionsRuleCondition)[vs[1].(int)] + }).(IamAccessGroupTemplateGroupAssertionsRuleConditionOutput) +} + +type IamAccessGroupTemplateGroupMembers struct { + // Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. + ActionControls *IamAccessGroupTemplateGroupMembersActionControls `pulumi:"actionControls"` + // Array of service IDs to add to the template. + Services []string `pulumi:"services"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Users []string `pulumi:"users"` +} + +// IamAccessGroupTemplateGroupMembersInput is an input type that accepts IamAccessGroupTemplateGroupMembersArgs and IamAccessGroupTemplateGroupMembersOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupMembersInput` via: +// +// IamAccessGroupTemplateGroupMembersArgs{...} +type IamAccessGroupTemplateGroupMembersInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupMembersOutput() IamAccessGroupTemplateGroupMembersOutput + ToIamAccessGroupTemplateGroupMembersOutputWithContext(context.Context) IamAccessGroupTemplateGroupMembersOutput +} + +type IamAccessGroupTemplateGroupMembersArgs struct { + // Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. + ActionControls IamAccessGroupTemplateGroupMembersActionControlsPtrInput `pulumi:"actionControls"` + // Array of service IDs to add to the template. + Services pulumi.StringArrayInput `pulumi:"services"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Users pulumi.StringArrayInput `pulumi:"users"` +} + +func (IamAccessGroupTemplateGroupMembersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupMembers)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupMembersArgs) ToIamAccessGroupTemplateGroupMembersOutput() IamAccessGroupTemplateGroupMembersOutput { + return i.ToIamAccessGroupTemplateGroupMembersOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupMembersArgs) ToIamAccessGroupTemplateGroupMembersOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupMembersOutput) +} + +func (i IamAccessGroupTemplateGroupMembersArgs) ToIamAccessGroupTemplateGroupMembersPtrOutput() IamAccessGroupTemplateGroupMembersPtrOutput { + return i.ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupMembersArgs) ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupMembersOutput).ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateGroupMembersPtrInput is an input type that accepts IamAccessGroupTemplateGroupMembersArgs, IamAccessGroupTemplateGroupMembersPtr and IamAccessGroupTemplateGroupMembersPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupMembersPtrInput` via: +// +// IamAccessGroupTemplateGroupMembersArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateGroupMembersPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupMembersPtrOutput() IamAccessGroupTemplateGroupMembersPtrOutput + ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(context.Context) IamAccessGroupTemplateGroupMembersPtrOutput +} + +type iamAccessGroupTemplateGroupMembersPtrType IamAccessGroupTemplateGroupMembersArgs + +func IamAccessGroupTemplateGroupMembersPtr(v *IamAccessGroupTemplateGroupMembersArgs) IamAccessGroupTemplateGroupMembersPtrInput { + return (*iamAccessGroupTemplateGroupMembersPtrType)(v) +} + +func (*iamAccessGroupTemplateGroupMembersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupMembers)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateGroupMembersPtrType) ToIamAccessGroupTemplateGroupMembersPtrOutput() IamAccessGroupTemplateGroupMembersPtrOutput { + return i.ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateGroupMembersPtrType) ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupMembersPtrOutput) +} + +type IamAccessGroupTemplateGroupMembersOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupMembersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupMembers)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupMembersOutput) ToIamAccessGroupTemplateGroupMembersOutput() IamAccessGroupTemplateGroupMembersOutput { + return o +} + +func (o IamAccessGroupTemplateGroupMembersOutput) ToIamAccessGroupTemplateGroupMembersOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersOutput { + return o +} + +func (o IamAccessGroupTemplateGroupMembersOutput) ToIamAccessGroupTemplateGroupMembersPtrOutput() IamAccessGroupTemplateGroupMembersPtrOutput { + return o.ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateGroupMembersOutput) ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateGroupMembers) *IamAccessGroupTemplateGroupMembers { + return &v + }).(IamAccessGroupTemplateGroupMembersPtrOutput) +} + +// Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. +func (o IamAccessGroupTemplateGroupMembersOutput) ActionControls() IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupMembers) *IamAccessGroupTemplateGroupMembersActionControls { + return v.ActionControls + }).(IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) +} + +// Array of service IDs to add to the template. +func (o IamAccessGroupTemplateGroupMembersOutput) Services() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupMembers) []string { return v.Services }).(pulumi.StringArrayOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o IamAccessGroupTemplateGroupMembersOutput) Users() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupMembers) []string { return v.Users }).(pulumi.StringArrayOutput) +} + +type IamAccessGroupTemplateGroupMembersPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupMembersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupMembers)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupMembersPtrOutput) ToIamAccessGroupTemplateGroupMembersPtrOutput() IamAccessGroupTemplateGroupMembersPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupMembersPtrOutput) ToIamAccessGroupTemplateGroupMembersPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupMembersPtrOutput) Elem() IamAccessGroupTemplateGroupMembersOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupMembers) IamAccessGroupTemplateGroupMembers { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateGroupMembers + return ret + }).(IamAccessGroupTemplateGroupMembersOutput) +} + +// Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. +func (o IamAccessGroupTemplateGroupMembersPtrOutput) ActionControls() IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupMembers) *IamAccessGroupTemplateGroupMembersActionControls { + if v == nil { + return nil + } + return v.ActionControls + }).(IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) +} + +// Array of service IDs to add to the template. +func (o IamAccessGroupTemplateGroupMembersPtrOutput) Services() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupMembers) []string { + if v == nil { + return nil + } + return v.Services + }).(pulumi.StringArrayOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o IamAccessGroupTemplateGroupMembersPtrOutput) Users() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupMembers) []string { + if v == nil { + return nil + } + return v.Users + }).(pulumi.StringArrayOutput) +} + +type IamAccessGroupTemplateGroupMembersActionControls struct { + // Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. + Add *bool `pulumi:"add"` + // Action control for removing enterprise-managed members from an enterprise-managed access group. + Remove *bool `pulumi:"remove"` +} + +// IamAccessGroupTemplateGroupMembersActionControlsInput is an input type that accepts IamAccessGroupTemplateGroupMembersActionControlsArgs and IamAccessGroupTemplateGroupMembersActionControlsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupMembersActionControlsInput` via: +// +// IamAccessGroupTemplateGroupMembersActionControlsArgs{...} +type IamAccessGroupTemplateGroupMembersActionControlsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupMembersActionControlsOutput() IamAccessGroupTemplateGroupMembersActionControlsOutput + ToIamAccessGroupTemplateGroupMembersActionControlsOutputWithContext(context.Context) IamAccessGroupTemplateGroupMembersActionControlsOutput +} + +type IamAccessGroupTemplateGroupMembersActionControlsArgs struct { + // Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. + Add pulumi.BoolPtrInput `pulumi:"add"` + // Action control for removing enterprise-managed members from an enterprise-managed access group. + Remove pulumi.BoolPtrInput `pulumi:"remove"` +} + +func (IamAccessGroupTemplateGroupMembersActionControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupMembersActionControls)(nil)).Elem() +} + +func (i IamAccessGroupTemplateGroupMembersActionControlsArgs) ToIamAccessGroupTemplateGroupMembersActionControlsOutput() IamAccessGroupTemplateGroupMembersActionControlsOutput { + return i.ToIamAccessGroupTemplateGroupMembersActionControlsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupMembersActionControlsArgs) ToIamAccessGroupTemplateGroupMembersActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersActionControlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupMembersActionControlsOutput) +} + +func (i IamAccessGroupTemplateGroupMembersActionControlsArgs) ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateGroupMembersActionControlsArgs) ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupMembersActionControlsOutput).ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateGroupMembersActionControlsPtrInput is an input type that accepts IamAccessGroupTemplateGroupMembersActionControlsArgs, IamAccessGroupTemplateGroupMembersActionControlsPtr and IamAccessGroupTemplateGroupMembersActionControlsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateGroupMembersActionControlsPtrInput` via: +// +// IamAccessGroupTemplateGroupMembersActionControlsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateGroupMembersActionControlsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateGroupMembersActionControlsPtrOutput + ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(context.Context) IamAccessGroupTemplateGroupMembersActionControlsPtrOutput +} + +type iamAccessGroupTemplateGroupMembersActionControlsPtrType IamAccessGroupTemplateGroupMembersActionControlsArgs + +func IamAccessGroupTemplateGroupMembersActionControlsPtr(v *IamAccessGroupTemplateGroupMembersActionControlsArgs) IamAccessGroupTemplateGroupMembersActionControlsPtrInput { + return (*iamAccessGroupTemplateGroupMembersActionControlsPtrType)(v) +} + +func (*iamAccessGroupTemplateGroupMembersActionControlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupMembersActionControls)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateGroupMembersActionControlsPtrType) ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateGroupMembersActionControlsPtrType) ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) +} + +type IamAccessGroupTemplateGroupMembersActionControlsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupMembersActionControlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateGroupMembersActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupMembersActionControlsOutput) ToIamAccessGroupTemplateGroupMembersActionControlsOutput() IamAccessGroupTemplateGroupMembersActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupMembersActionControlsOutput) ToIamAccessGroupTemplateGroupMembersActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateGroupMembersActionControlsOutput) ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return o.ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateGroupMembersActionControlsOutput) ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateGroupMembersActionControls) *IamAccessGroupTemplateGroupMembersActionControls { + return &v + }).(IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) +} + +// Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. +func (o IamAccessGroupTemplateGroupMembersActionControlsOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupMembersActionControls) *bool { return v.Add }).(pulumi.BoolPtrOutput) +} + +// Action control for removing enterprise-managed members from an enterprise-managed access group. +func (o IamAccessGroupTemplateGroupMembersActionControlsOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateGroupMembersActionControls) *bool { return v.Remove }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateGroupMembersActionControlsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateGroupMembersActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) ToIamAccessGroupTemplateGroupMembersActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateGroupMembersActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) Elem() IamAccessGroupTemplateGroupMembersActionControlsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupMembersActionControls) IamAccessGroupTemplateGroupMembersActionControls { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateGroupMembersActionControls + return ret + }).(IamAccessGroupTemplateGroupMembersActionControlsOutput) +} + +// Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. +func (o IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupMembersActionControls) *bool { + if v == nil { + return nil + } + return v.Add + }).(pulumi.BoolPtrOutput) +} + +// Action control for removing enterprise-managed members from an enterprise-managed access group. +func (o IamAccessGroupTemplateGroupMembersActionControlsPtrOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateGroupMembersActionControls) *bool { + if v == nil { + return nil + } + return v.Remove + }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplatePolicyTemplateReference struct { + // Policy template ID. + Id *string `pulumi:"id"` + // Policy template version. + Version *string `pulumi:"version"` +} + +// IamAccessGroupTemplatePolicyTemplateReferenceInput is an input type that accepts IamAccessGroupTemplatePolicyTemplateReferenceArgs and IamAccessGroupTemplatePolicyTemplateReferenceOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplatePolicyTemplateReferenceInput` via: +// +// IamAccessGroupTemplatePolicyTemplateReferenceArgs{...} +type IamAccessGroupTemplatePolicyTemplateReferenceInput interface { + pulumi.Input + + ToIamAccessGroupTemplatePolicyTemplateReferenceOutput() IamAccessGroupTemplatePolicyTemplateReferenceOutput + ToIamAccessGroupTemplatePolicyTemplateReferenceOutputWithContext(context.Context) IamAccessGroupTemplatePolicyTemplateReferenceOutput +} + +type IamAccessGroupTemplatePolicyTemplateReferenceArgs struct { + // Policy template ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Policy template version. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (IamAccessGroupTemplatePolicyTemplateReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (i IamAccessGroupTemplatePolicyTemplateReferenceArgs) ToIamAccessGroupTemplatePolicyTemplateReferenceOutput() IamAccessGroupTemplatePolicyTemplateReferenceOutput { + return i.ToIamAccessGroupTemplatePolicyTemplateReferenceOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplatePolicyTemplateReferenceArgs) ToIamAccessGroupTemplatePolicyTemplateReferenceOutputWithContext(ctx context.Context) IamAccessGroupTemplatePolicyTemplateReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplatePolicyTemplateReferenceOutput) +} + +// IamAccessGroupTemplatePolicyTemplateReferenceArrayInput is an input type that accepts IamAccessGroupTemplatePolicyTemplateReferenceArray and IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplatePolicyTemplateReferenceArrayInput` via: +// +// IamAccessGroupTemplatePolicyTemplateReferenceArray{ IamAccessGroupTemplatePolicyTemplateReferenceArgs{...} } +type IamAccessGroupTemplatePolicyTemplateReferenceArrayInput interface { + pulumi.Input + + ToIamAccessGroupTemplatePolicyTemplateReferenceArrayOutput() IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput + ToIamAccessGroupTemplatePolicyTemplateReferenceArrayOutputWithContext(context.Context) IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput +} + +type IamAccessGroupTemplatePolicyTemplateReferenceArray []IamAccessGroupTemplatePolicyTemplateReferenceInput + +func (IamAccessGroupTemplatePolicyTemplateReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (i IamAccessGroupTemplatePolicyTemplateReferenceArray) ToIamAccessGroupTemplatePolicyTemplateReferenceArrayOutput() IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput { + return i.ToIamAccessGroupTemplatePolicyTemplateReferenceArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplatePolicyTemplateReferenceArray) ToIamAccessGroupTemplatePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput) +} + +type IamAccessGroupTemplatePolicyTemplateReferenceOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplatePolicyTemplateReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (o IamAccessGroupTemplatePolicyTemplateReferenceOutput) ToIamAccessGroupTemplatePolicyTemplateReferenceOutput() IamAccessGroupTemplatePolicyTemplateReferenceOutput { + return o +} + +func (o IamAccessGroupTemplatePolicyTemplateReferenceOutput) ToIamAccessGroupTemplatePolicyTemplateReferenceOutputWithContext(ctx context.Context) IamAccessGroupTemplatePolicyTemplateReferenceOutput { + return o +} + +// Policy template ID. +func (o IamAccessGroupTemplatePolicyTemplateReferenceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplatePolicyTemplateReference) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Policy template version. +func (o IamAccessGroupTemplatePolicyTemplateReferenceOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplatePolicyTemplateReference) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (o IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput) ToIamAccessGroupTemplatePolicyTemplateReferenceArrayOutput() IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput { + return o +} + +func (o IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput) ToIamAccessGroupTemplatePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput { + return o +} + +func (o IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput) Index(i pulumi.IntInput) IamAccessGroupTemplatePolicyTemplateReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupTemplatePolicyTemplateReference { + return vs[0].([]IamAccessGroupTemplatePolicyTemplateReference)[vs[1].(int)] + }).(IamAccessGroupTemplatePolicyTemplateReferenceOutput) +} + +type IamAccessGroupTemplateVersionGroup struct { + // Access group action controls component. + ActionControls *IamAccessGroupTemplateVersionGroupActionControls `pulumi:"actionControls"` + // Assertions Input Component. + Assertions *IamAccessGroupTemplateVersionGroupAssertions `pulumi:"assertions"` + // Access group description. This is shown in child accounts. + Description *string `pulumi:"description"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Members *IamAccessGroupTemplateVersionGroupMembers `pulumi:"members"` + // Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. + Name string `pulumi:"name"` +} + +// IamAccessGroupTemplateVersionGroupInput is an input type that accepts IamAccessGroupTemplateVersionGroupArgs and IamAccessGroupTemplateVersionGroupOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupInput` via: +// +// IamAccessGroupTemplateVersionGroupArgs{...} +type IamAccessGroupTemplateVersionGroupInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupOutput() IamAccessGroupTemplateVersionGroupOutput + ToIamAccessGroupTemplateVersionGroupOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupOutput +} + +type IamAccessGroupTemplateVersionGroupArgs struct { + // Access group action controls component. + ActionControls IamAccessGroupTemplateVersionGroupActionControlsPtrInput `pulumi:"actionControls"` + // Assertions Input Component. + Assertions IamAccessGroupTemplateVersionGroupAssertionsPtrInput `pulumi:"assertions"` + // Access group description. This is shown in child accounts. + Description pulumi.StringPtrInput `pulumi:"description"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Members IamAccessGroupTemplateVersionGroupMembersPtrInput `pulumi:"members"` + // Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. + Name pulumi.StringInput `pulumi:"name"` +} + +func (IamAccessGroupTemplateVersionGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroup)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupArgs) ToIamAccessGroupTemplateVersionGroupOutput() IamAccessGroupTemplateVersionGroupOutput { + return i.ToIamAccessGroupTemplateVersionGroupOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupArgs) ToIamAccessGroupTemplateVersionGroupOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupOutput) +} + +func (i IamAccessGroupTemplateVersionGroupArgs) ToIamAccessGroupTemplateVersionGroupPtrOutput() IamAccessGroupTemplateVersionGroupPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupArgs) ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupOutput).ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateVersionGroupPtrInput is an input type that accepts IamAccessGroupTemplateVersionGroupArgs, IamAccessGroupTemplateVersionGroupPtr and IamAccessGroupTemplateVersionGroupPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupPtrInput` via: +// +// IamAccessGroupTemplateVersionGroupArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateVersionGroupPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupPtrOutput() IamAccessGroupTemplateVersionGroupPtrOutput + ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupPtrOutput +} + +type iamAccessGroupTemplateVersionGroupPtrType IamAccessGroupTemplateVersionGroupArgs + +func IamAccessGroupTemplateVersionGroupPtr(v *IamAccessGroupTemplateVersionGroupArgs) IamAccessGroupTemplateVersionGroupPtrInput { + return (*iamAccessGroupTemplateVersionGroupPtrType)(v) +} + +func (*iamAccessGroupTemplateVersionGroupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroup)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateVersionGroupPtrType) ToIamAccessGroupTemplateVersionGroupPtrOutput() IamAccessGroupTemplateVersionGroupPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateVersionGroupPtrType) ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroup)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupOutput) ToIamAccessGroupTemplateVersionGroupOutput() IamAccessGroupTemplateVersionGroupOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupOutput) ToIamAccessGroupTemplateVersionGroupOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupOutput) ToIamAccessGroupTemplateVersionGroupPtrOutput() IamAccessGroupTemplateVersionGroupPtrOutput { + return o.ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateVersionGroupOutput) ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateVersionGroup) *IamAccessGroupTemplateVersionGroup { + return &v + }).(IamAccessGroupTemplateVersionGroupPtrOutput) +} + +// Access group action controls component. +func (o IamAccessGroupTemplateVersionGroupOutput) ActionControls() IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroup) *IamAccessGroupTemplateVersionGroupActionControls { + return v.ActionControls + }).(IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) +} + +// Assertions Input Component. +func (o IamAccessGroupTemplateVersionGroupOutput) Assertions() IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroup) *IamAccessGroupTemplateVersionGroupAssertions { + return v.Assertions + }).(IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) +} + +// Access group description. This is shown in child accounts. +func (o IamAccessGroupTemplateVersionGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroup) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o IamAccessGroupTemplateVersionGroupOutput) Members() IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroup) *IamAccessGroupTemplateVersionGroupMembers { + return v.Members + }).(IamAccessGroupTemplateVersionGroupMembersPtrOutput) +} + +// Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. +func (o IamAccessGroupTemplateVersionGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type IamAccessGroupTemplateVersionGroupPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroup)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupPtrOutput) ToIamAccessGroupTemplateVersionGroupPtrOutput() IamAccessGroupTemplateVersionGroupPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupPtrOutput) ToIamAccessGroupTemplateVersionGroupPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupPtrOutput) Elem() IamAccessGroupTemplateVersionGroupOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroup) IamAccessGroupTemplateVersionGroup { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateVersionGroup + return ret + }).(IamAccessGroupTemplateVersionGroupOutput) +} + +// Access group action controls component. +func (o IamAccessGroupTemplateVersionGroupPtrOutput) ActionControls() IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroup) *IamAccessGroupTemplateVersionGroupActionControls { + if v == nil { + return nil + } + return v.ActionControls + }).(IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) +} + +// Assertions Input Component. +func (o IamAccessGroupTemplateVersionGroupPtrOutput) Assertions() IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroup) *IamAccessGroupTemplateVersionGroupAssertions { + if v == nil { + return nil + } + return v.Assertions + }).(IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) +} + +// Access group description. This is shown in child accounts. +func (o IamAccessGroupTemplateVersionGroupPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroup) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o IamAccessGroupTemplateVersionGroupPtrOutput) Members() IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroup) *IamAccessGroupTemplateVersionGroupMembers { + if v == nil { + return nil + } + return v.Members + }).(IamAccessGroupTemplateVersionGroupMembersPtrOutput) +} + +// Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. +func (o IamAccessGroupTemplateVersionGroupPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroup) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupActionControls struct { + // Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. + Access *IamAccessGroupTemplateVersionGroupActionControlsAccess `pulumi:"access"` +} + +// IamAccessGroupTemplateVersionGroupActionControlsInput is an input type that accepts IamAccessGroupTemplateVersionGroupActionControlsArgs and IamAccessGroupTemplateVersionGroupActionControlsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupActionControlsInput` via: +// +// IamAccessGroupTemplateVersionGroupActionControlsArgs{...} +type IamAccessGroupTemplateVersionGroupActionControlsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupActionControlsOutput() IamAccessGroupTemplateVersionGroupActionControlsOutput + ToIamAccessGroupTemplateVersionGroupActionControlsOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupActionControlsOutput +} + +type IamAccessGroupTemplateVersionGroupActionControlsArgs struct { + // Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. + Access IamAccessGroupTemplateVersionGroupActionControlsAccessPtrInput `pulumi:"access"` +} + +func (IamAccessGroupTemplateVersionGroupActionControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupActionControls)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupActionControlsArgs) ToIamAccessGroupTemplateVersionGroupActionControlsOutput() IamAccessGroupTemplateVersionGroupActionControlsOutput { + return i.ToIamAccessGroupTemplateVersionGroupActionControlsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupActionControlsArgs) ToIamAccessGroupTemplateVersionGroupActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupActionControlsOutput) +} + +func (i IamAccessGroupTemplateVersionGroupActionControlsArgs) ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupActionControlsArgs) ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupActionControlsOutput).ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateVersionGroupActionControlsPtrInput is an input type that accepts IamAccessGroupTemplateVersionGroupActionControlsArgs, IamAccessGroupTemplateVersionGroupActionControlsPtr and IamAccessGroupTemplateVersionGroupActionControlsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupActionControlsPtrInput` via: +// +// IamAccessGroupTemplateVersionGroupActionControlsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateVersionGroupActionControlsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsPtrOutput + ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupActionControlsPtrOutput +} + +type iamAccessGroupTemplateVersionGroupActionControlsPtrType IamAccessGroupTemplateVersionGroupActionControlsArgs + +func IamAccessGroupTemplateVersionGroupActionControlsPtr(v *IamAccessGroupTemplateVersionGroupActionControlsArgs) IamAccessGroupTemplateVersionGroupActionControlsPtrInput { + return (*iamAccessGroupTemplateVersionGroupActionControlsPtrType)(v) +} + +func (*iamAccessGroupTemplateVersionGroupActionControlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupActionControls)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateVersionGroupActionControlsPtrType) ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateVersionGroupActionControlsPtrType) ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupActionControlsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupActionControlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsOutput) ToIamAccessGroupTemplateVersionGroupActionControlsOutput() IamAccessGroupTemplateVersionGroupActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsOutput) ToIamAccessGroupTemplateVersionGroupActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsOutput) ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return o.ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsOutput) ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateVersionGroupActionControls) *IamAccessGroupTemplateVersionGroupActionControls { + return &v + }).(IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) +} + +// Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. +func (o IamAccessGroupTemplateVersionGroupActionControlsOutput) Access() IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupActionControls) *IamAccessGroupTemplateVersionGroupActionControlsAccess { + return v.Access + }).(IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupActionControlsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) ToIamAccessGroupTemplateVersionGroupActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) Elem() IamAccessGroupTemplateVersionGroupActionControlsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupActionControls) IamAccessGroupTemplateVersionGroupActionControls { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateVersionGroupActionControls + return ret + }).(IamAccessGroupTemplateVersionGroupActionControlsOutput) +} + +// Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. +func (o IamAccessGroupTemplateVersionGroupActionControlsPtrOutput) Access() IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupActionControls) *IamAccessGroupTemplateVersionGroupActionControlsAccess { + if v == nil { + return nil + } + return v.Access + }).(IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupActionControlsAccess struct { + // Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. + Add *bool `pulumi:"add"` +} + +// IamAccessGroupTemplateVersionGroupActionControlsAccessInput is an input type that accepts IamAccessGroupTemplateVersionGroupActionControlsAccessArgs and IamAccessGroupTemplateVersionGroupActionControlsAccessOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupActionControlsAccessInput` via: +// +// IamAccessGroupTemplateVersionGroupActionControlsAccessArgs{...} +type IamAccessGroupTemplateVersionGroupActionControlsAccessInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupActionControlsAccessOutput() IamAccessGroupTemplateVersionGroupActionControlsAccessOutput + ToIamAccessGroupTemplateVersionGroupActionControlsAccessOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupActionControlsAccessOutput +} + +type IamAccessGroupTemplateVersionGroupActionControlsAccessArgs struct { + // Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. + Add pulumi.BoolPtrInput `pulumi:"add"` +} + +func (IamAccessGroupTemplateVersionGroupActionControlsAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupActionControlsAccess)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupActionControlsAccessArgs) ToIamAccessGroupTemplateVersionGroupActionControlsAccessOutput() IamAccessGroupTemplateVersionGroupActionControlsAccessOutput { + return i.ToIamAccessGroupTemplateVersionGroupActionControlsAccessOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupActionControlsAccessArgs) ToIamAccessGroupTemplateVersionGroupActionControlsAccessOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupActionControlsAccessOutput) +} + +func (i IamAccessGroupTemplateVersionGroupActionControlsAccessArgs) ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupActionControlsAccessArgs) ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupActionControlsAccessOutput).ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateVersionGroupActionControlsAccessPtrInput is an input type that accepts IamAccessGroupTemplateVersionGroupActionControlsAccessArgs, IamAccessGroupTemplateVersionGroupActionControlsAccessPtr and IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupActionControlsAccessPtrInput` via: +// +// IamAccessGroupTemplateVersionGroupActionControlsAccessArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateVersionGroupActionControlsAccessPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput + ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput +} + +type iamAccessGroupTemplateVersionGroupActionControlsAccessPtrType IamAccessGroupTemplateVersionGroupActionControlsAccessArgs + +func IamAccessGroupTemplateVersionGroupActionControlsAccessPtr(v *IamAccessGroupTemplateVersionGroupActionControlsAccessArgs) IamAccessGroupTemplateVersionGroupActionControlsAccessPtrInput { + return (*iamAccessGroupTemplateVersionGroupActionControlsAccessPtrType)(v) +} + +func (*iamAccessGroupTemplateVersionGroupActionControlsAccessPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupActionControlsAccess)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateVersionGroupActionControlsAccessPtrType) ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateVersionGroupActionControlsAccessPtrType) ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupActionControlsAccessOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupActionControlsAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupActionControlsAccess)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessOutput) ToIamAccessGroupTemplateVersionGroupActionControlsAccessOutput() IamAccessGroupTemplateVersionGroupActionControlsAccessOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessOutput) ToIamAccessGroupTemplateVersionGroupActionControlsAccessOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsAccessOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessOutput) ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return o.ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessOutput) ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateVersionGroupActionControlsAccess) *IamAccessGroupTemplateVersionGroupActionControlsAccess { + return &v + }).(IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) +} + +// Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupActionControlsAccess) *bool { return v.Add }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupActionControlsAccess)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput() IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) ToIamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) Elem() IamAccessGroupTemplateVersionGroupActionControlsAccessOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupActionControlsAccess) IamAccessGroupTemplateVersionGroupActionControlsAccess { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateVersionGroupActionControlsAccess + return ret + }).(IamAccessGroupTemplateVersionGroupActionControlsAccessOutput) +} + +// Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. +func (o IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupActionControlsAccess) *bool { + if v == nil { + return nil + } + return v.Add + }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertions struct { + // Control whether or not access group administrators in child accounts can add, remove, and update dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these `remove` and `update` action controls. + ActionControls *IamAccessGroupTemplateVersionGroupAssertionsActionControls `pulumi:"actionControls"` + // Dynamic rules to automatically add federated users to access groups based on specific identity attributes. + Rules []IamAccessGroupTemplateVersionGroupAssertionsRule `pulumi:"rules"` +} + +// IamAccessGroupTemplateVersionGroupAssertionsInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsArgs and IamAccessGroupTemplateVersionGroupAssertionsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsArgs{...} +type IamAccessGroupTemplateVersionGroupAssertionsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsOutput() IamAccessGroupTemplateVersionGroupAssertionsOutput + ToIamAccessGroupTemplateVersionGroupAssertionsOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsOutput +} + +type IamAccessGroupTemplateVersionGroupAssertionsArgs struct { + // Control whether or not access group administrators in child accounts can add, remove, and update dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these `remove` and `update` action controls. + ActionControls IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrInput `pulumi:"actionControls"` + // Dynamic rules to automatically add federated users to access groups based on specific identity attributes. + Rules IamAccessGroupTemplateVersionGroupAssertionsRuleArrayInput `pulumi:"rules"` +} + +func (IamAccessGroupTemplateVersionGroupAssertionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertions)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsOutput() IamAccessGroupTemplateVersionGroupAssertionsOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsOutput) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsOutput).ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateVersionGroupAssertionsPtrInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsArgs, IamAccessGroupTemplateVersionGroupAssertionsPtr and IamAccessGroupTemplateVersionGroupAssertionsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsPtrInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateVersionGroupAssertionsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsPtrOutput + ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsPtrOutput +} + +type iamAccessGroupTemplateVersionGroupAssertionsPtrType IamAccessGroupTemplateVersionGroupAssertionsArgs + +func IamAccessGroupTemplateVersionGroupAssertionsPtr(v *IamAccessGroupTemplateVersionGroupAssertionsArgs) IamAccessGroupTemplateVersionGroupAssertionsPtrInput { + return (*iamAccessGroupTemplateVersionGroupAssertionsPtrType)(v) +} + +func (*iamAccessGroupTemplateVersionGroupAssertionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupAssertions)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateVersionGroupAssertionsPtrType) ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateVersionGroupAssertionsPtrType) ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertions)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsOutput() IamAccessGroupTemplateVersionGroupAssertionsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return o.ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateVersionGroupAssertions) *IamAccessGroupTemplateVersionGroupAssertions { + return &v + }).(IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) +} + +// Control whether or not access group administrators in child accounts can add, remove, and update dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these `remove` and `update` action controls. +func (o IamAccessGroupTemplateVersionGroupAssertionsOutput) ActionControls() IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertions) *IamAccessGroupTemplateVersionGroupAssertionsActionControls { + return v.ActionControls + }).(IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) +} + +// Dynamic rules to automatically add federated users to access groups based on specific identity attributes. +func (o IamAccessGroupTemplateVersionGroupAssertionsOutput) Rules() IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertions) []IamAccessGroupTemplateVersionGroupAssertionsRule { + return v.Rules + }).(IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupAssertions)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) ToIamAccessGroupTemplateVersionGroupAssertionsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) Elem() IamAccessGroupTemplateVersionGroupAssertionsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupAssertions) IamAccessGroupTemplateVersionGroupAssertions { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateVersionGroupAssertions + return ret + }).(IamAccessGroupTemplateVersionGroupAssertionsOutput) +} + +// Control whether or not access group administrators in child accounts can add, remove, and update dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these `remove` and `update` action controls. +func (o IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) ActionControls() IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupAssertions) *IamAccessGroupTemplateVersionGroupAssertionsActionControls { + if v == nil { + return nil + } + return v.ActionControls + }).(IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) +} + +// Dynamic rules to automatically add federated users to access groups based on specific identity attributes. +func (o IamAccessGroupTemplateVersionGroupAssertionsPtrOutput) Rules() IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupAssertions) []IamAccessGroupTemplateVersionGroupAssertionsRule { + if v == nil { + return nil + } + return v.Rules + }).(IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsActionControls struct { + // Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. + Add *bool `pulumi:"add"` + // Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. + Remove *bool `pulumi:"remove"` +} + +// IamAccessGroupTemplateVersionGroupAssertionsActionControlsInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs and IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsActionControlsInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs{...} +type IamAccessGroupTemplateVersionGroupAssertionsActionControlsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput() IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput + ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput +} + +type IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs struct { + // Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. + Add pulumi.BoolPtrInput `pulumi:"add"` + // Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. + Remove pulumi.BoolPtrInput `pulumi:"remove"` +} + +func (IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsActionControls)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput() IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput).ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs, IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtr and IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput + ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput +} + +type iamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrType IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs + +func IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtr(v *IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs) IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrInput { + return (*iamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrType)(v) +} + +func (*iamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupAssertionsActionControls)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrType) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrType) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput() IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return o.ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateVersionGroupAssertionsActionControls) *IamAccessGroupTemplateVersionGroupAssertionsActionControls { + return &v + }).(IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) +} + +// Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsActionControls) *bool { return v.Add }).(pulumi.BoolPtrOutput) +} + +// Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsActionControls) *bool { return v.Remove }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupAssertionsActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) ToIamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) Elem() IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupAssertionsActionControls) IamAccessGroupTemplateVersionGroupAssertionsActionControls { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateVersionGroupAssertionsActionControls + return ret + }).(IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput) +} + +// Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupAssertionsActionControls) *bool { + if v == nil { + return nil + } + return v.Add + }).(pulumi.BoolPtrOutput) +} + +// Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. +func (o IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupAssertionsActionControls) *bool { + if v == nil { + return nil + } + return v.Remove + }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRule struct { + // Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. + ActionControls *IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls `pulumi:"actionControls"` + // Conditions of membership. You can think of this as a key:value pair. + Conditions []IamAccessGroupTemplateVersionGroupAssertionsRuleCondition `pulumi:"conditions"` + // Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. + Expiration *int `pulumi:"expiration"` + // Dynamic rule name. + Name *string `pulumi:"name"` + // The identity provider (IdP) URL. + RealmName *string `pulumi:"realmName"` +} + +// IamAccessGroupTemplateVersionGroupAssertionsRuleInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsRuleArgs and IamAccessGroupTemplateVersionGroupAssertionsRuleOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsRuleInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsRuleArgs{...} +type IamAccessGroupTemplateVersionGroupAssertionsRuleInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsRuleOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleOutput + ToIamAccessGroupTemplateVersionGroupAssertionsRuleOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleOutput +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleArgs struct { + // Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. + ActionControls IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrInput `pulumi:"actionControls"` + // Conditions of membership. You can think of this as a key:value pair. + Conditions IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayInput `pulumi:"conditions"` + // Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. + Expiration pulumi.IntPtrInput `pulumi:"expiration"` + // Dynamic rule name. + Name pulumi.StringPtrInput `pulumi:"name"` + // The identity provider (IdP) URL. + RealmName pulumi.StringPtrInput `pulumi:"realmName"` +} + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRule)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleArgs) ToIamAccessGroupTemplateVersionGroupAssertionsRuleOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsRuleOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleArgs) ToIamAccessGroupTemplateVersionGroupAssertionsRuleOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) +} + +// IamAccessGroupTemplateVersionGroupAssertionsRuleArrayInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsRuleArray and IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsRuleArrayInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsRuleArray{ IamAccessGroupTemplateVersionGroupAssertionsRuleArgs{...} } +type IamAccessGroupTemplateVersionGroupAssertionsRuleArrayInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput + ToIamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleArray []IamAccessGroupTemplateVersionGroupAssertionsRuleInput + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateVersionGroupAssertionsRule)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleArray) ToIamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleArray) ToIamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRule)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleOutput { + return o +} + +// Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) ActionControls() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRule) *IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls { + return v.ActionControls + }).(IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput) +} + +// Conditions of membership. You can think of this as a key:value pair. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) Conditions() IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRule) []IamAccessGroupTemplateVersionGroupAssertionsRuleCondition { + return v.Conditions + }).(IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput) +} + +// Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) Expiration() pulumi.IntPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRule) *int { return v.Expiration }).(pulumi.IntPtrOutput) +} + +// Dynamic rule name. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRule) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The identity provider (IdP) URL. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) RealmName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRule) *string { return v.RealmName }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateVersionGroupAssertionsRule)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput) Index(i pulumi.IntInput) IamAccessGroupTemplateVersionGroupAssertionsRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupTemplateVersionGroupAssertionsRule { + return vs[0].([]IamAccessGroupTemplateVersionGroupAssertionsRule)[vs[1].(int)] + }).(IamAccessGroupTemplateVersionGroupAssertionsRuleOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls struct { + // Action control for removing this enterprise-managed dynamic rule. + Remove *bool `pulumi:"remove"` +} + +// IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs and IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs{...} +type IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput + ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs struct { + // Action control for removing this enterprise-managed dynamic rule. + Remove pulumi.BoolPtrInput `pulumi:"remove"` +} + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput).ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs, IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtr and IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput + ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput +} + +type iamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrType IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs + +func IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtr(v *IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrInput { + return (*iamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrType)(v) +} + +func (*iamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrType) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrType) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return o.ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls) *IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls { + return &v + }).(IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput) +} + +// Action control for removing this enterprise-managed dynamic rule. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls) *bool { return v.Remove }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput) Elem() IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls) IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls + return ret + }).(IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput) +} + +// Action control for removing this enterprise-managed dynamic rule. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupAssertionsRuleActionControls) *bool { + if v == nil { + return nil + } + return v.Remove + }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleCondition struct { + // The key in the key:value pair. + Claim *string `pulumi:"claim"` + // Compares the claim and the value. + Operator *string `pulumi:"operator"` + // The value in the key:value pair. + Value *string `pulumi:"value"` +} + +// IamAccessGroupTemplateVersionGroupAssertionsRuleConditionInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArgs and IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsRuleConditionInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArgs{...} +type IamAccessGroupTemplateVersionGroupAssertionsRuleConditionInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput + ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArgs struct { + // The key in the key:value pair. + Claim pulumi.StringPtrInput `pulumi:"claim"` + // Compares the claim and the value. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // The value in the key:value pair. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleCondition)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArgs) ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArgs) ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput) +} + +// IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayInput is an input type that accepts IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArray and IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayInput` via: +// +// IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArray{ IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArgs{...} } +type IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput + ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArray []IamAccessGroupTemplateVersionGroupAssertionsRuleConditionInput + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateVersionGroupAssertionsRuleCondition)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArray) ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput { + return i.ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArray) ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleCondition)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput { + return o +} + +// The key in the key:value pair. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput) Claim() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRuleCondition) *string { return v.Claim }).(pulumi.StringPtrOutput) +} + +// Compares the claim and the value. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRuleCondition) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// The value in the key:value pair. +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupAssertionsRuleCondition) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateVersionGroupAssertionsRuleCondition)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput() IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput) ToIamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput) Index(i pulumi.IntInput) IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupTemplateVersionGroupAssertionsRuleCondition { + return vs[0].([]IamAccessGroupTemplateVersionGroupAssertionsRuleCondition)[vs[1].(int)] + }).(IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput) +} + +type IamAccessGroupTemplateVersionGroupMembers struct { + // Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. + ActionControls *IamAccessGroupTemplateVersionGroupMembersActionControls `pulumi:"actionControls"` + // Array of service IDs to add to the template. + Services []string `pulumi:"services"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Users []string `pulumi:"users"` +} + +// IamAccessGroupTemplateVersionGroupMembersInput is an input type that accepts IamAccessGroupTemplateVersionGroupMembersArgs and IamAccessGroupTemplateVersionGroupMembersOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupMembersInput` via: +// +// IamAccessGroupTemplateVersionGroupMembersArgs{...} +type IamAccessGroupTemplateVersionGroupMembersInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupMembersOutput() IamAccessGroupTemplateVersionGroupMembersOutput + ToIamAccessGroupTemplateVersionGroupMembersOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupMembersOutput +} + +type IamAccessGroupTemplateVersionGroupMembersArgs struct { + // Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. + ActionControls IamAccessGroupTemplateVersionGroupMembersActionControlsPtrInput `pulumi:"actionControls"` + // Array of service IDs to add to the template. + Services pulumi.StringArrayInput `pulumi:"services"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Users pulumi.StringArrayInput `pulumi:"users"` +} + +func (IamAccessGroupTemplateVersionGroupMembersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupMembers)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupMembersArgs) ToIamAccessGroupTemplateVersionGroupMembersOutput() IamAccessGroupTemplateVersionGroupMembersOutput { + return i.ToIamAccessGroupTemplateVersionGroupMembersOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupMembersArgs) ToIamAccessGroupTemplateVersionGroupMembersOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupMembersOutput) +} + +func (i IamAccessGroupTemplateVersionGroupMembersArgs) ToIamAccessGroupTemplateVersionGroupMembersPtrOutput() IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupMembersArgs) ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupMembersOutput).ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateVersionGroupMembersPtrInput is an input type that accepts IamAccessGroupTemplateVersionGroupMembersArgs, IamAccessGroupTemplateVersionGroupMembersPtr and IamAccessGroupTemplateVersionGroupMembersPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupMembersPtrInput` via: +// +// IamAccessGroupTemplateVersionGroupMembersArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateVersionGroupMembersPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupMembersPtrOutput() IamAccessGroupTemplateVersionGroupMembersPtrOutput + ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupMembersPtrOutput +} + +type iamAccessGroupTemplateVersionGroupMembersPtrType IamAccessGroupTemplateVersionGroupMembersArgs + +func IamAccessGroupTemplateVersionGroupMembersPtr(v *IamAccessGroupTemplateVersionGroupMembersArgs) IamAccessGroupTemplateVersionGroupMembersPtrInput { + return (*iamAccessGroupTemplateVersionGroupMembersPtrType)(v) +} + +func (*iamAccessGroupTemplateVersionGroupMembersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupMembers)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateVersionGroupMembersPtrType) ToIamAccessGroupTemplateVersionGroupMembersPtrOutput() IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateVersionGroupMembersPtrType) ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupMembersPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupMembersOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupMembersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupMembers)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupMembersOutput) ToIamAccessGroupTemplateVersionGroupMembersOutput() IamAccessGroupTemplateVersionGroupMembersOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupMembersOutput) ToIamAccessGroupTemplateVersionGroupMembersOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupMembersOutput) ToIamAccessGroupTemplateVersionGroupMembersPtrOutput() IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return o.ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateVersionGroupMembersOutput) ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateVersionGroupMembers) *IamAccessGroupTemplateVersionGroupMembers { + return &v + }).(IamAccessGroupTemplateVersionGroupMembersPtrOutput) +} + +// Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. +func (o IamAccessGroupTemplateVersionGroupMembersOutput) ActionControls() IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupMembers) *IamAccessGroupTemplateVersionGroupMembersActionControls { + return v.ActionControls + }).(IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) +} + +// Array of service IDs to add to the template. +func (o IamAccessGroupTemplateVersionGroupMembersOutput) Services() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupMembers) []string { return v.Services }).(pulumi.StringArrayOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o IamAccessGroupTemplateVersionGroupMembersOutput) Users() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupMembers) []string { return v.Users }).(pulumi.StringArrayOutput) +} + +type IamAccessGroupTemplateVersionGroupMembersPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupMembersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupMembers)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupMembersPtrOutput) ToIamAccessGroupTemplateVersionGroupMembersPtrOutput() IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupMembersPtrOutput) ToIamAccessGroupTemplateVersionGroupMembersPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupMembersPtrOutput) Elem() IamAccessGroupTemplateVersionGroupMembersOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupMembers) IamAccessGroupTemplateVersionGroupMembers { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateVersionGroupMembers + return ret + }).(IamAccessGroupTemplateVersionGroupMembersOutput) +} + +// Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. +func (o IamAccessGroupTemplateVersionGroupMembersPtrOutput) ActionControls() IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupMembers) *IamAccessGroupTemplateVersionGroupMembersActionControls { + if v == nil { + return nil + } + return v.ActionControls + }).(IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) +} + +// Array of service IDs to add to the template. +func (o IamAccessGroupTemplateVersionGroupMembersPtrOutput) Services() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupMembers) []string { + if v == nil { + return nil + } + return v.Services + }).(pulumi.StringArrayOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o IamAccessGroupTemplateVersionGroupMembersPtrOutput) Users() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupMembers) []string { + if v == nil { + return nil + } + return v.Users + }).(pulumi.StringArrayOutput) +} + +type IamAccessGroupTemplateVersionGroupMembersActionControls struct { + // Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. + Add *bool `pulumi:"add"` + // Action control for removing enterprise-managed members from an enterprise-managed access group. + Remove *bool `pulumi:"remove"` +} + +// IamAccessGroupTemplateVersionGroupMembersActionControlsInput is an input type that accepts IamAccessGroupTemplateVersionGroupMembersActionControlsArgs and IamAccessGroupTemplateVersionGroupMembersActionControlsOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupMembersActionControlsInput` via: +// +// IamAccessGroupTemplateVersionGroupMembersActionControlsArgs{...} +type IamAccessGroupTemplateVersionGroupMembersActionControlsInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupMembersActionControlsOutput() IamAccessGroupTemplateVersionGroupMembersActionControlsOutput + ToIamAccessGroupTemplateVersionGroupMembersActionControlsOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupMembersActionControlsOutput +} + +type IamAccessGroupTemplateVersionGroupMembersActionControlsArgs struct { + // Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. + Add pulumi.BoolPtrInput `pulumi:"add"` + // Action control for removing enterprise-managed members from an enterprise-managed access group. + Remove pulumi.BoolPtrInput `pulumi:"remove"` +} + +func (IamAccessGroupTemplateVersionGroupMembersActionControlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupMembersActionControls)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionGroupMembersActionControlsArgs) ToIamAccessGroupTemplateVersionGroupMembersActionControlsOutput() IamAccessGroupTemplateVersionGroupMembersActionControlsOutput { + return i.ToIamAccessGroupTemplateVersionGroupMembersActionControlsOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupMembersActionControlsArgs) ToIamAccessGroupTemplateVersionGroupMembersActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersActionControlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) +} + +func (i IamAccessGroupTemplateVersionGroupMembersActionControlsArgs) ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionGroupMembersActionControlsArgs) ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupMembersActionControlsOutput).ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(ctx) +} + +// IamAccessGroupTemplateVersionGroupMembersActionControlsPtrInput is an input type that accepts IamAccessGroupTemplateVersionGroupMembersActionControlsArgs, IamAccessGroupTemplateVersionGroupMembersActionControlsPtr and IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionGroupMembersActionControlsPtrInput` via: +// +// IamAccessGroupTemplateVersionGroupMembersActionControlsArgs{...} +// +// or: +// +// nil +type IamAccessGroupTemplateVersionGroupMembersActionControlsPtrInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput + ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(context.Context) IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput +} + +type iamAccessGroupTemplateVersionGroupMembersActionControlsPtrType IamAccessGroupTemplateVersionGroupMembersActionControlsArgs + +func IamAccessGroupTemplateVersionGroupMembersActionControlsPtr(v *IamAccessGroupTemplateVersionGroupMembersActionControlsArgs) IamAccessGroupTemplateVersionGroupMembersActionControlsPtrInput { + return (*iamAccessGroupTemplateVersionGroupMembersActionControlsPtrType)(v) +} + +func (*iamAccessGroupTemplateVersionGroupMembersActionControlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupMembersActionControls)(nil)).Elem() +} + +func (i *iamAccessGroupTemplateVersionGroupMembersActionControlsPtrType) ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return i.ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccessGroupTemplateVersionGroupMembersActionControlsPtrType) ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupMembersActionControlsOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionGroupMembersActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) ToIamAccessGroupTemplateVersionGroupMembersActionControlsOutput() IamAccessGroupTemplateVersionGroupMembersActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) ToIamAccessGroupTemplateVersionGroupMembersActionControlsOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersActionControlsOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return o.ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(context.Background()) +} + +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccessGroupTemplateVersionGroupMembersActionControls) *IamAccessGroupTemplateVersionGroupMembersActionControls { + return &v + }).(IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) +} + +// Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupMembersActionControls) *bool { return v.Add }).(pulumi.BoolPtrOutput) +} + +// Action control for removing enterprise-managed members from an enterprise-managed access group. +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionGroupMembersActionControls) *bool { return v.Remove }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccessGroupTemplateVersionGroupMembersActionControls)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput() IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) ToIamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput { + return o +} + +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) Elem() IamAccessGroupTemplateVersionGroupMembersActionControlsOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupMembersActionControls) IamAccessGroupTemplateVersionGroupMembersActionControls { + if v != nil { + return *v + } + var ret IamAccessGroupTemplateVersionGroupMembersActionControls + return ret + }).(IamAccessGroupTemplateVersionGroupMembersActionControlsOutput) +} + +// Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) Add() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupMembersActionControls) *bool { + if v == nil { + return nil + } + return v.Add + }).(pulumi.BoolPtrOutput) +} + +// Action control for removing enterprise-managed members from an enterprise-managed access group. +func (o IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput) Remove() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccessGroupTemplateVersionGroupMembersActionControls) *bool { + if v == nil { + return nil + } + return v.Remove + }).(pulumi.BoolPtrOutput) +} + +type IamAccessGroupTemplateVersionPolicyTemplateReference struct { + // Policy template ID. + Id *string `pulumi:"id"` + // Policy template version. + Version *string `pulumi:"version"` +} + +// IamAccessGroupTemplateVersionPolicyTemplateReferenceInput is an input type that accepts IamAccessGroupTemplateVersionPolicyTemplateReferenceArgs and IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionPolicyTemplateReferenceInput` via: +// +// IamAccessGroupTemplateVersionPolicyTemplateReferenceArgs{...} +type IamAccessGroupTemplateVersionPolicyTemplateReferenceInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionPolicyTemplateReferenceOutput() IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput + ToIamAccessGroupTemplateVersionPolicyTemplateReferenceOutputWithContext(context.Context) IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput +} + +type IamAccessGroupTemplateVersionPolicyTemplateReferenceArgs struct { + // Policy template ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Policy template version. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (IamAccessGroupTemplateVersionPolicyTemplateReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionPolicyTemplateReference)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionPolicyTemplateReferenceArgs) ToIamAccessGroupTemplateVersionPolicyTemplateReferenceOutput() IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput { + return i.ToIamAccessGroupTemplateVersionPolicyTemplateReferenceOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionPolicyTemplateReferenceArgs) ToIamAccessGroupTemplateVersionPolicyTemplateReferenceOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput) +} + +// IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayInput is an input type that accepts IamAccessGroupTemplateVersionPolicyTemplateReferenceArray and IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput values. +// You can construct a concrete instance of `IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayInput` via: +// +// IamAccessGroupTemplateVersionPolicyTemplateReferenceArray{ IamAccessGroupTemplateVersionPolicyTemplateReferenceArgs{...} } +type IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayInput interface { + pulumi.Input + + ToIamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput() IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput + ToIamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutputWithContext(context.Context) IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput +} + +type IamAccessGroupTemplateVersionPolicyTemplateReferenceArray []IamAccessGroupTemplateVersionPolicyTemplateReferenceInput + +func (IamAccessGroupTemplateVersionPolicyTemplateReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateVersionPolicyTemplateReference)(nil)).Elem() +} + +func (i IamAccessGroupTemplateVersionPolicyTemplateReferenceArray) ToIamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput() IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return i.ToIamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutputWithContext(context.Background()) +} + +func (i IamAccessGroupTemplateVersionPolicyTemplateReferenceArray) ToIamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput) +} + +type IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccessGroupTemplateVersionPolicyTemplateReference)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput) ToIamAccessGroupTemplateVersionPolicyTemplateReferenceOutput() IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput { + return o +} + +func (o IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput) ToIamAccessGroupTemplateVersionPolicyTemplateReferenceOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput { + return o +} + +// Policy template ID. +func (o IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionPolicyTemplateReference) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Policy template version. +func (o IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccessGroupTemplateVersionPolicyTemplateReference) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput struct{ *pulumi.OutputState } + +func (IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccessGroupTemplateVersionPolicyTemplateReference)(nil)).Elem() +} + +func (o IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput) ToIamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput() IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return o +} + +func (o IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput) ToIamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return o +} + +func (o IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput) Index(i pulumi.IntInput) IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccessGroupTemplateVersionPolicyTemplateReference { + return vs[0].([]IamAccessGroupTemplateVersionPolicyTemplateReference)[vs[1].(int)] + }).(IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction struct { + // The settings for each identity type. + IdentityTypes IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes `pulumi:"identityTypes"` +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs{...} +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs struct { + // The settings for each identity type. + IdentityTypes IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesInput `pulumi:"identityTypes"` +} + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)(nil)).Elem() +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput).ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(ctx) +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs, IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtr and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs{...} +// +// or: +// +// nil +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput +} + +type iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrType IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs + +func IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtr(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrInput { + return (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrType)(v) +} + +func (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)(nil)).Elem() +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(context.Background()) +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput { + return o.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(context.Background()) +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction { + return &v + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput) +} + +// The settings for each identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) IdentityTypes() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes { + return v.IdentityTypes + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput) Elem() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction) IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction { + if v != nil { + return *v + } + var ret IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction + return ret + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) +} + +// The settings for each identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput) IdentityTypes() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteraction) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes { + if v == nil { + return nil + } + return &v.IdentityTypes + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes struct { + // The core set of properties associated with a service identity type. + Service *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService `pulumi:"service"` + // The core set of properties associated with a serviceID identity type. + ServiceId *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId `pulumi:"serviceId"` + // The core set of properties associated with a user identity type. + User *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser `pulumi:"user"` +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs{...} +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs struct { + // The core set of properties associated with a service identity type. + Service IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrInput `pulumi:"service"` + // The core set of properties associated with a serviceID identity type. + ServiceId IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrInput `pulumi:"serviceId"` + // The core set of properties associated with a user identity type. + User IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrInput `pulumi:"user"` +} + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes)(nil)).Elem() +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput).ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(ctx) +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs, IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtr and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs{...} +// +// or: +// +// nil +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput +} + +type iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrType IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs + +func IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtr(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrInput { + return (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrType)(v) +} + +func (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes)(nil)).Elem() +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(context.Background()) +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return o.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(context.Background()) +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes { + return &v + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) +} + +// The core set of properties associated with a service identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) Service() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService { + return v.Service + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) +} + +// The core set of properties associated with a serviceID identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) ServiceId() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId { + return v.ServiceId + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) +} + +// The core set of properties associated with a user identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) User() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser { + return v.User + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) Elem() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes { + if v != nil { + return *v + } + var ret IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes + return ret + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput) +} + +// The core set of properties associated with a service identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) Service() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService { + if v == nil { + return nil + } + return v.Service + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) +} + +// The core set of properties associated with a serviceID identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) ServiceId() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId { + if v == nil { + return nil + } + return v.ServiceId + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) +} + +// The core set of properties associated with a user identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput) User() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypes) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser { + if v == nil { + return nil + } + return v.User + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService struct { + // List of accounts that the state applies to for the service identity type. + ExternalAllowedAccounts []string `pulumi:"externalAllowedAccounts"` + // The state of the service identity type. + State string `pulumi:"state"` +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs{...} +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs struct { + // List of accounts that the state applies to for the service identity type. + ExternalAllowedAccounts pulumi.StringArrayInput `pulumi:"externalAllowedAccounts"` + // The state of the service identity type. + State pulumi.StringInput `pulumi:"state"` +} + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService)(nil)).Elem() +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput).ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(ctx) +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs, IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtr and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs{...} +// +// or: +// +// nil +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput +} + +type iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrType IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs + +func IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtr(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrInput { + return (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrType)(v) +} + +func (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService)(nil)).Elem() +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(context.Background()) +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return o.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(context.Background()) +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService { + return &v + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) +} + +// List of accounts that the state applies to for the service identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService) []string { + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the service identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService) string { + return v.State + }).(pulumi.StringOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) Elem() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService { + if v != nil { + return *v + } + var ret IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService + return ret + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput) +} + +// List of accounts that the state applies to for the service identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService) []string { + if v == nil { + return nil + } + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the service identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesService) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId struct { + // List of accounts that the state applies to for the serviceId identity type. + ExternalAllowedAccounts []string `pulumi:"externalAllowedAccounts"` + // The state of the serviceId identity type. + State string `pulumi:"state"` +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs{...} +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs struct { + // List of accounts that the state applies to for the serviceId identity type. + ExternalAllowedAccounts pulumi.StringArrayInput `pulumi:"externalAllowedAccounts"` + // The state of the serviceId identity type. + State pulumi.StringInput `pulumi:"state"` +} + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId)(nil)).Elem() +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput).ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(ctx) +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs, IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtr and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs{...} +// +// or: +// +// nil +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput +} + +type iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrType IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs + +func IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtr(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrInput { + return (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrType)(v) +} + +func (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId)(nil)).Elem() +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(context.Background()) +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return o.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(context.Background()) +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId { + return &v + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) +} + +// List of accounts that the state applies to for the serviceId identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId) []string { + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the serviceId identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId) string { + return v.State + }).(pulumi.StringOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) Elem() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId { + if v != nil { + return *v + } + var ret IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId + return ret + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput) +} + +// List of accounts that the state applies to for the serviceId identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId) []string { + if v == nil { + return nil + } + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the serviceId identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceId) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser struct { + // List of accounts that the state applies to for the user identity type. + ExternalAllowedAccounts []string `pulumi:"externalAllowedAccounts"` + // The state of the user identity type. + State string `pulumi:"state"` +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs{...} +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs struct { + // List of accounts that the state applies to for the user identity type. + ExternalAllowedAccounts pulumi.StringArrayInput `pulumi:"externalAllowedAccounts"` + // The state of the user identity type. + State pulumi.StringInput `pulumi:"state"` +} + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser)(nil)).Elem() +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput).ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(ctx) +} + +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrInput is an input type that accepts IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs, IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtr and IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput values. +// You can construct a concrete instance of `IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrInput` via: +// +// IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs{...} +// +// or: +// +// nil +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrInput interface { + pulumi.Input + + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput + ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput +} + +type iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrType IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs + +func IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtr(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrInput { + return (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrType)(v) +} + +func (*iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser)(nil)).Elem() +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return i.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(context.Background()) +} + +func (i *iamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrType) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return o.ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(context.Background()) +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser) *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser { + return &v + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) +} + +// List of accounts that the state applies to for the user identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser) []string { + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the user identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser) string { + return v.State + }).(pulumi.StringOutput) +} + +type IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser)(nil)).Elem() +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) ToIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutputWithContext(ctx context.Context) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput { + return o +} + +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) Elem() IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser) IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser { + if v != nil { + return *v + } + var ret IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser + return ret + }).(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput) +} + +// List of accounts that the state applies to for the user identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser) []string { + if v == nil { + return nil + } + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the user identity type. +func (o IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUser) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsHistory struct { + // Action of the history entry. + Action *string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId *string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount *string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message *string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp *string `pulumi:"timestamp"` +} + +// IamAccountSettingsHistoryInput is an input type that accepts IamAccountSettingsHistoryArgs and IamAccountSettingsHistoryOutput values. +// You can construct a concrete instance of `IamAccountSettingsHistoryInput` via: +// +// IamAccountSettingsHistoryArgs{...} +type IamAccountSettingsHistoryInput interface { + pulumi.Input + + ToIamAccountSettingsHistoryOutput() IamAccountSettingsHistoryOutput + ToIamAccountSettingsHistoryOutputWithContext(context.Context) IamAccountSettingsHistoryOutput +} + +type IamAccountSettingsHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringPtrInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringPtrInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringPtrInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringPtrInput `pulumi:"timestamp"` +} + +func (IamAccountSettingsHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsHistory)(nil)).Elem() +} + +func (i IamAccountSettingsHistoryArgs) ToIamAccountSettingsHistoryOutput() IamAccountSettingsHistoryOutput { + return i.ToIamAccountSettingsHistoryOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsHistoryArgs) ToIamAccountSettingsHistoryOutputWithContext(ctx context.Context) IamAccountSettingsHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsHistoryOutput) +} + +// IamAccountSettingsHistoryArrayInput is an input type that accepts IamAccountSettingsHistoryArray and IamAccountSettingsHistoryArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsHistoryArrayInput` via: +// +// IamAccountSettingsHistoryArray{ IamAccountSettingsHistoryArgs{...} } +type IamAccountSettingsHistoryArrayInput interface { + pulumi.Input + + ToIamAccountSettingsHistoryArrayOutput() IamAccountSettingsHistoryArrayOutput + ToIamAccountSettingsHistoryArrayOutputWithContext(context.Context) IamAccountSettingsHistoryArrayOutput +} + +type IamAccountSettingsHistoryArray []IamAccountSettingsHistoryInput + +func (IamAccountSettingsHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsHistory)(nil)).Elem() +} + +func (i IamAccountSettingsHistoryArray) ToIamAccountSettingsHistoryArrayOutput() IamAccountSettingsHistoryArrayOutput { + return i.ToIamAccountSettingsHistoryArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsHistoryArray) ToIamAccountSettingsHistoryArrayOutputWithContext(ctx context.Context) IamAccountSettingsHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsHistoryArrayOutput) +} + +type IamAccountSettingsHistoryOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsHistory)(nil)).Elem() +} + +func (o IamAccountSettingsHistoryOutput) ToIamAccountSettingsHistoryOutput() IamAccountSettingsHistoryOutput { + return o +} + +func (o IamAccountSettingsHistoryOutput) ToIamAccountSettingsHistoryOutputWithContext(ctx context.Context) IamAccountSettingsHistoryOutput { + return o +} + +// Action of the history entry. +func (o IamAccountSettingsHistoryOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsHistory) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// IAM ID of the identity which triggered the action. +func (o IamAccountSettingsHistoryOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsHistory) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Account of the identity which triggered the action. +func (o IamAccountSettingsHistoryOutput) IamIdAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsHistory) *string { return v.IamIdAccount }).(pulumi.StringPtrOutput) +} + +// Message which summarizes the executed action. +func (o IamAccountSettingsHistoryOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsHistory) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Params of the history entry. +func (o IamAccountSettingsHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccountSettingsHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o IamAccountSettingsHistoryOutput) Timestamp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsHistory) *string { return v.Timestamp }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsHistoryArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsHistory)(nil)).Elem() +} + +func (o IamAccountSettingsHistoryArrayOutput) ToIamAccountSettingsHistoryArrayOutput() IamAccountSettingsHistoryArrayOutput { + return o +} + +func (o IamAccountSettingsHistoryArrayOutput) ToIamAccountSettingsHistoryArrayOutputWithContext(ctx context.Context) IamAccountSettingsHistoryArrayOutput { + return o +} + +func (o IamAccountSettingsHistoryArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsHistory { + return vs[0].([]IamAccountSettingsHistory)[vs[1].(int)] + }).(IamAccountSettingsHistoryOutput) +} + +type IamAccountSettingsRestrictUserDomain struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns []string `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId *string `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation *bool `pulumi:"restrictInvitation"` +} + +// IamAccountSettingsRestrictUserDomainInput is an input type that accepts IamAccountSettingsRestrictUserDomainArgs and IamAccountSettingsRestrictUserDomainOutput values. +// You can construct a concrete instance of `IamAccountSettingsRestrictUserDomainInput` via: +// +// IamAccountSettingsRestrictUserDomainArgs{...} +type IamAccountSettingsRestrictUserDomainInput interface { + pulumi.Input + + ToIamAccountSettingsRestrictUserDomainOutput() IamAccountSettingsRestrictUserDomainOutput + ToIamAccountSettingsRestrictUserDomainOutputWithContext(context.Context) IamAccountSettingsRestrictUserDomainOutput +} + +type IamAccountSettingsRestrictUserDomainArgs struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns pulumi.StringArrayInput `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId pulumi.StringPtrInput `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation pulumi.BoolPtrInput `pulumi:"restrictInvitation"` +} + +func (IamAccountSettingsRestrictUserDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsRestrictUserDomain)(nil)).Elem() +} + +func (i IamAccountSettingsRestrictUserDomainArgs) ToIamAccountSettingsRestrictUserDomainOutput() IamAccountSettingsRestrictUserDomainOutput { + return i.ToIamAccountSettingsRestrictUserDomainOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsRestrictUserDomainArgs) ToIamAccountSettingsRestrictUserDomainOutputWithContext(ctx context.Context) IamAccountSettingsRestrictUserDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsRestrictUserDomainOutput) +} + +// IamAccountSettingsRestrictUserDomainArrayInput is an input type that accepts IamAccountSettingsRestrictUserDomainArray and IamAccountSettingsRestrictUserDomainArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsRestrictUserDomainArrayInput` via: +// +// IamAccountSettingsRestrictUserDomainArray{ IamAccountSettingsRestrictUserDomainArgs{...} } +type IamAccountSettingsRestrictUserDomainArrayInput interface { + pulumi.Input + + ToIamAccountSettingsRestrictUserDomainArrayOutput() IamAccountSettingsRestrictUserDomainArrayOutput + ToIamAccountSettingsRestrictUserDomainArrayOutputWithContext(context.Context) IamAccountSettingsRestrictUserDomainArrayOutput +} + +type IamAccountSettingsRestrictUserDomainArray []IamAccountSettingsRestrictUserDomainInput + +func (IamAccountSettingsRestrictUserDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsRestrictUserDomain)(nil)).Elem() +} + +func (i IamAccountSettingsRestrictUserDomainArray) ToIamAccountSettingsRestrictUserDomainArrayOutput() IamAccountSettingsRestrictUserDomainArrayOutput { + return i.ToIamAccountSettingsRestrictUserDomainArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsRestrictUserDomainArray) ToIamAccountSettingsRestrictUserDomainArrayOutputWithContext(ctx context.Context) IamAccountSettingsRestrictUserDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsRestrictUserDomainArrayOutput) +} + +type IamAccountSettingsRestrictUserDomainOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsRestrictUserDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsRestrictUserDomain)(nil)).Elem() +} + +func (o IamAccountSettingsRestrictUserDomainOutput) ToIamAccountSettingsRestrictUserDomainOutput() IamAccountSettingsRestrictUserDomainOutput { + return o +} + +func (o IamAccountSettingsRestrictUserDomainOutput) ToIamAccountSettingsRestrictUserDomainOutputWithContext(ctx context.Context) IamAccountSettingsRestrictUserDomainOutput { + return o +} + +// The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. +func (o IamAccountSettingsRestrictUserDomainOutput) InvitationEmailAllowPatterns() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccountSettingsRestrictUserDomain) []string { return v.InvitationEmailAllowPatterns }).(pulumi.StringArrayOutput) +} + +// The realm that the restrictions apply to. +func (o IamAccountSettingsRestrictUserDomainOutput) RealmId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsRestrictUserDomain) *string { return v.RealmId }).(pulumi.StringPtrOutput) +} + +// When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. +func (o IamAccountSettingsRestrictUserDomainOutput) RestrictInvitation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccountSettingsRestrictUserDomain) *bool { return v.RestrictInvitation }).(pulumi.BoolPtrOutput) +} + +type IamAccountSettingsRestrictUserDomainArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsRestrictUserDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsRestrictUserDomain)(nil)).Elem() +} + +func (o IamAccountSettingsRestrictUserDomainArrayOutput) ToIamAccountSettingsRestrictUserDomainArrayOutput() IamAccountSettingsRestrictUserDomainArrayOutput { + return o +} + +func (o IamAccountSettingsRestrictUserDomainArrayOutput) ToIamAccountSettingsRestrictUserDomainArrayOutputWithContext(ctx context.Context) IamAccountSettingsRestrictUserDomainArrayOutput { + return o +} + +func (o IamAccountSettingsRestrictUserDomainArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsRestrictUserDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsRestrictUserDomain { + return vs[0].([]IamAccountSettingsRestrictUserDomain)[vs[1].(int)] + }).(IamAccountSettingsRestrictUserDomainOutput) +} + +type IamAccountSettingsTemplateAccountSettings struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses *string `pulumi:"allowedIpAddresses"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity *string `pulumi:"maxSessionsPerIdentity"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa *string `pulumi:"mfa"` + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey *string `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating a service ID is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId *string `pulumi:"restrictCreateServiceId"` + RestrictUserDomains *IamAccountSettingsTemplateAccountSettingsRestrictUserDomains `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console * NOT_SET - to 'unset' a previous set value. + RestrictUserListVisibility *string `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds *string `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds *string `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds *string `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds *string `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas []IamAccountSettingsTemplateAccountSettingsUserMfa `pulumi:"userMfas"` +} + +// IamAccountSettingsTemplateAccountSettingsInput is an input type that accepts IamAccountSettingsTemplateAccountSettingsArgs and IamAccountSettingsTemplateAccountSettingsOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAccountSettingsInput` via: +// +// IamAccountSettingsTemplateAccountSettingsArgs{...} +type IamAccountSettingsTemplateAccountSettingsInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAccountSettingsOutput() IamAccountSettingsTemplateAccountSettingsOutput + ToIamAccountSettingsTemplateAccountSettingsOutputWithContext(context.Context) IamAccountSettingsTemplateAccountSettingsOutput +} + +type IamAccountSettingsTemplateAccountSettingsArgs struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses pulumi.StringPtrInput `pulumi:"allowedIpAddresses"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity pulumi.StringPtrInput `pulumi:"maxSessionsPerIdentity"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringPtrInput `pulumi:"mfa"` + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey pulumi.StringPtrInput `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating a service ID is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId pulumi.StringPtrInput `pulumi:"restrictCreateServiceId"` + RestrictUserDomains IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrInput `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console * NOT_SET - to 'unset' a previous set value. + RestrictUserListVisibility pulumi.StringPtrInput `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds pulumi.StringPtrInput `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds pulumi.StringPtrInput `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds pulumi.StringPtrInput `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds pulumi.StringPtrInput `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas IamAccountSettingsTemplateAccountSettingsUserMfaArrayInput `pulumi:"userMfas"` +} + +func (IamAccountSettingsTemplateAccountSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAccountSettings)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAccountSettingsArgs) ToIamAccountSettingsTemplateAccountSettingsOutput() IamAccountSettingsTemplateAccountSettingsOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAccountSettingsArgs) ToIamAccountSettingsTemplateAccountSettingsOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsOutput) +} + +func (i IamAccountSettingsTemplateAccountSettingsArgs) ToIamAccountSettingsTemplateAccountSettingsPtrOutput() IamAccountSettingsTemplateAccountSettingsPtrOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAccountSettingsArgs) ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsOutput).ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(ctx) +} + +// IamAccountSettingsTemplateAccountSettingsPtrInput is an input type that accepts IamAccountSettingsTemplateAccountSettingsArgs, IamAccountSettingsTemplateAccountSettingsPtr and IamAccountSettingsTemplateAccountSettingsPtrOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAccountSettingsPtrInput` via: +// +// IamAccountSettingsTemplateAccountSettingsArgs{...} +// +// or: +// +// nil +type IamAccountSettingsTemplateAccountSettingsPtrInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAccountSettingsPtrOutput() IamAccountSettingsTemplateAccountSettingsPtrOutput + ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(context.Context) IamAccountSettingsTemplateAccountSettingsPtrOutput +} + +type iamAccountSettingsTemplateAccountSettingsPtrType IamAccountSettingsTemplateAccountSettingsArgs + +func IamAccountSettingsTemplateAccountSettingsPtr(v *IamAccountSettingsTemplateAccountSettingsArgs) IamAccountSettingsTemplateAccountSettingsPtrInput { + return (*iamAccountSettingsTemplateAccountSettingsPtrType)(v) +} + +func (*iamAccountSettingsTemplateAccountSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsTemplateAccountSettings)(nil)).Elem() +} + +func (i *iamAccountSettingsTemplateAccountSettingsPtrType) ToIamAccountSettingsTemplateAccountSettingsPtrOutput() IamAccountSettingsTemplateAccountSettingsPtrOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccountSettingsTemplateAccountSettingsPtrType) ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsPtrOutput) +} + +type IamAccountSettingsTemplateAccountSettingsOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAccountSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAccountSettings)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAccountSettingsOutput) ToIamAccountSettingsTemplateAccountSettingsOutput() IamAccountSettingsTemplateAccountSettingsOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsOutput) ToIamAccountSettingsTemplateAccountSettingsOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsOutput) ToIamAccountSettingsTemplateAccountSettingsPtrOutput() IamAccountSettingsTemplateAccountSettingsPtrOutput { + return o.ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(context.Background()) +} + +func (o IamAccountSettingsTemplateAccountSettingsOutput) ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccountSettingsTemplateAccountSettings) *IamAccountSettingsTemplateAccountSettings { + return &v + }).(IamAccountSettingsTemplateAccountSettingsPtrOutput) +} + +// Defines the IP addresses and subnets from which IAM tokens can be created for the account. +func (o IamAccountSettingsTemplateAccountSettingsOutput) AllowedIpAddresses() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { return v.AllowedIpAddresses }).(pulumi.StringPtrOutput) +} + +// Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsOutput) MaxSessionsPerIdentity() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { return v.MaxSessionsPerIdentity }).(pulumi.StringPtrOutput) +} + +// Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o IamAccountSettingsTemplateAccountSettingsOutput) Mfa() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { return v.Mfa }).(pulumi.StringPtrOutput) +} + +// Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. +func (o IamAccountSettingsTemplateAccountSettingsOutput) RestrictCreatePlatformApikey() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { return v.RestrictCreatePlatformApikey }).(pulumi.StringPtrOutput) +} + +// Defines whether or not creating a service ID is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o IamAccountSettingsTemplateAccountSettingsOutput) RestrictCreateServiceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { return v.RestrictCreateServiceId }).(pulumi.StringPtrOutput) +} + +func (o IamAccountSettingsTemplateAccountSettingsOutput) RestrictUserDomains() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *IamAccountSettingsTemplateAccountSettingsRestrictUserDomains { + return v.RestrictUserDomains + }).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) +} + +// Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console * NOT_SET - to 'unset' a previous set value. +func (o IamAccountSettingsTemplateAccountSettingsOutput) RestrictUserListVisibility() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { return v.RestrictUserListVisibility }).(pulumi.StringPtrOutput) +} + +// Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsOutput) SessionExpirationInSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { return v.SessionExpirationInSeconds }).(pulumi.StringPtrOutput) +} + +// Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsOutput) SessionInvalidationInSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { return v.SessionInvalidationInSeconds }).(pulumi.StringPtrOutput) +} + +// Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsOutput) SystemAccessTokenExpirationInSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { + return v.SystemAccessTokenExpirationInSeconds + }).(pulumi.StringPtrOutput) +} + +// Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsOutput) SystemRefreshTokenExpirationInSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) *string { + return v.SystemRefreshTokenExpirationInSeconds + }).(pulumi.StringPtrOutput) +} + +// List of users that are exempted from the MFA requirement of the account. +func (o IamAccountSettingsTemplateAccountSettingsOutput) UserMfas() IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettings) []IamAccountSettingsTemplateAccountSettingsUserMfa { + return v.UserMfas + }).(IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput) +} + +type IamAccountSettingsTemplateAccountSettingsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAccountSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsTemplateAccountSettings)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) ToIamAccountSettingsTemplateAccountSettingsPtrOutput() IamAccountSettingsTemplateAccountSettingsPtrOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) ToIamAccountSettingsTemplateAccountSettingsPtrOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsPtrOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) Elem() IamAccountSettingsTemplateAccountSettingsOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) IamAccountSettingsTemplateAccountSettings { + if v != nil { + return *v + } + var ret IamAccountSettingsTemplateAccountSettings + return ret + }).(IamAccountSettingsTemplateAccountSettingsOutput) +} + +// Defines the IP addresses and subnets from which IAM tokens can be created for the account. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) AllowedIpAddresses() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.AllowedIpAddresses + }).(pulumi.StringPtrOutput) +} + +// Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) MaxSessionsPerIdentity() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.MaxSessionsPerIdentity + }).(pulumi.StringPtrOutput) +} + +// Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) Mfa() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.Mfa + }).(pulumi.StringPtrOutput) +} + +// Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) RestrictCreatePlatformApikey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.RestrictCreatePlatformApikey + }).(pulumi.StringPtrOutput) +} + +// Defines whether or not creating a service ID is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) RestrictCreateServiceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.RestrictCreateServiceId + }).(pulumi.StringPtrOutput) +} + +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) RestrictUserDomains() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *IamAccountSettingsTemplateAccountSettingsRestrictUserDomains { + if v == nil { + return nil + } + return v.RestrictUserDomains + }).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) +} + +// Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console * NOT_SET - to 'unset' a previous set value. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) RestrictUserListVisibility() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.RestrictUserListVisibility + }).(pulumi.StringPtrOutput) +} + +// Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) SessionExpirationInSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.SessionExpirationInSeconds + }).(pulumi.StringPtrOutput) +} + +// Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) SessionInvalidationInSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.SessionInvalidationInSeconds + }).(pulumi.StringPtrOutput) +} + +// Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) SystemAccessTokenExpirationInSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.SystemAccessTokenExpirationInSeconds + }).(pulumi.StringPtrOutput) +} + +// Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) SystemRefreshTokenExpirationInSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) *string { + if v == nil { + return nil + } + return v.SystemRefreshTokenExpirationInSeconds + }).(pulumi.StringPtrOutput) +} + +// List of users that are exempted from the MFA requirement of the account. +func (o IamAccountSettingsTemplateAccountSettingsPtrOutput) UserMfas() IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettings) []IamAccountSettingsTemplateAccountSettingsUserMfa { + if v == nil { + return nil + } + return v.UserMfas + }).(IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput) +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomains struct { + AccountSufficient *bool `pulumi:"accountSufficient"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + Restrictions []IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction `pulumi:"restrictions"` +} + +// IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsInput is an input type that accepts IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs and IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsInput` via: +// +// IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs{...} +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput + ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutputWithContext(context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs struct { + AccountSufficient pulumi.BoolPtrInput `pulumi:"accountSufficient"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + Restrictions IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayInput `pulumi:"restrictions"` +} + +func (IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsRestrictUserDomains)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) +} + +func (i IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput).ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(ctx) +} + +// IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrInput is an input type that accepts IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs, IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtr and IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrInput` via: +// +// IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs{...} +// +// or: +// +// nil +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput + ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput +} + +type iamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrType IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs + +func IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtr(v *IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrInput { + return (*iamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrType)(v) +} + +func (*iamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsTemplateAccountSettingsRestrictUserDomains)(nil)).Elem() +} + +func (i *iamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrType) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(context.Background()) +} + +func (i *iamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrType) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsRestrictUserDomains)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return o.ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(context.Background()) +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamAccountSettingsTemplateAccountSettingsRestrictUserDomains) *IamAccountSettingsTemplateAccountSettingsRestrictUserDomains { + return &v + }).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) AccountSufficient() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettingsRestrictUserDomains) *bool { return v.AccountSufficient }).(pulumi.BoolPtrOutput) +} + +// Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) Restrictions() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettingsRestrictUserDomains) []IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction { + return v.Restrictions + }).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput) +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamAccountSettingsTemplateAccountSettingsRestrictUserDomains)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) Elem() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettingsRestrictUserDomains) IamAccountSettingsTemplateAccountSettingsRestrictUserDomains { + if v != nil { + return *v + } + var ret IamAccountSettingsTemplateAccountSettingsRestrictUserDomains + return ret + }).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput) +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) AccountSufficient() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettingsRestrictUserDomains) *bool { + if v == nil { + return nil + } + return v.AccountSufficient + }).(pulumi.BoolPtrOutput) +} + +// Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput) Restrictions() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput { + return o.ApplyT(func(v *IamAccountSettingsTemplateAccountSettingsRestrictUserDomains) []IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction { + if v == nil { + return nil + } + return v.Restrictions + }).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput) +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns []string `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId string `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation *bool `pulumi:"restrictInvitation"` +} + +// IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionInput is an input type that accepts IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArgs and IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionInput` via: +// +// IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArgs{...} +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput + ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutputWithContext(context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArgs struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns pulumi.StringArrayInput `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId pulumi.StringInput `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation pulumi.BoolPtrInput `pulumi:"restrictInvitation"` +} + +func (IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArgs) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArgs) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput) +} + +// IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayInput is an input type that accepts IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArray and IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayInput` via: +// +// IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArray{ IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArgs{...} } +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput + ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutputWithContext(context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArray []IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionInput + +func (IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArray) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArray) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput) +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput { + return o +} + +// The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput) InvitationEmailAllowPatterns() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction) []string { + return v.InvitationEmailAllowPatterns + }).(pulumi.StringArrayOutput) +} + +// The realm that the restrictions apply to. +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput) RealmId() pulumi.StringOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction) string { + return v.RealmId + }).(pulumi.StringOutput) +} + +// When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput) RestrictInvitation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction) *bool { + return v.RestrictInvitation + }).(pulumi.BoolPtrOutput) +} + +type IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput() IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput) ToIamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction { + return vs[0].([]IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestriction)[vs[1].(int)] + }).(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput) +} + +type IamAccountSettingsTemplateAccountSettingsUserMfa struct { + // The iamId of the user. + IamId string `pulumi:"iamId"` + // Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` +} + +// IamAccountSettingsTemplateAccountSettingsUserMfaInput is an input type that accepts IamAccountSettingsTemplateAccountSettingsUserMfaArgs and IamAccountSettingsTemplateAccountSettingsUserMfaOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAccountSettingsUserMfaInput` via: +// +// IamAccountSettingsTemplateAccountSettingsUserMfaArgs{...} +type IamAccountSettingsTemplateAccountSettingsUserMfaInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAccountSettingsUserMfaOutput() IamAccountSettingsTemplateAccountSettingsUserMfaOutput + ToIamAccountSettingsTemplateAccountSettingsUserMfaOutputWithContext(context.Context) IamAccountSettingsTemplateAccountSettingsUserMfaOutput +} + +type IamAccountSettingsTemplateAccountSettingsUserMfaArgs struct { + // The iamId of the user. + IamId pulumi.StringInput `pulumi:"iamId"` + // Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` +} + +func (IamAccountSettingsTemplateAccountSettingsUserMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsUserMfa)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAccountSettingsUserMfaArgs) ToIamAccountSettingsTemplateAccountSettingsUserMfaOutput() IamAccountSettingsTemplateAccountSettingsUserMfaOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsUserMfaOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAccountSettingsUserMfaArgs) ToIamAccountSettingsTemplateAccountSettingsUserMfaOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsUserMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsUserMfaOutput) +} + +// IamAccountSettingsTemplateAccountSettingsUserMfaArrayInput is an input type that accepts IamAccountSettingsTemplateAccountSettingsUserMfaArray and IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAccountSettingsUserMfaArrayInput` via: +// +// IamAccountSettingsTemplateAccountSettingsUserMfaArray{ IamAccountSettingsTemplateAccountSettingsUserMfaArgs{...} } +type IamAccountSettingsTemplateAccountSettingsUserMfaArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput() IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput + ToIamAccountSettingsTemplateAccountSettingsUserMfaArrayOutputWithContext(context.Context) IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput +} + +type IamAccountSettingsTemplateAccountSettingsUserMfaArray []IamAccountSettingsTemplateAccountSettingsUserMfaInput + +func (IamAccountSettingsTemplateAccountSettingsUserMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAccountSettingsUserMfa)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAccountSettingsUserMfaArray) ToIamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput() IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput { + return i.ToIamAccountSettingsTemplateAccountSettingsUserMfaArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAccountSettingsUserMfaArray) ToIamAccountSettingsTemplateAccountSettingsUserMfaArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput) +} + +type IamAccountSettingsTemplateAccountSettingsUserMfaOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAccountSettingsUserMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsUserMfa)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAccountSettingsUserMfaOutput) ToIamAccountSettingsTemplateAccountSettingsUserMfaOutput() IamAccountSettingsTemplateAccountSettingsUserMfaOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsUserMfaOutput) ToIamAccountSettingsTemplateAccountSettingsUserMfaOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsUserMfaOutput { + return o +} + +// The iamId of the user. +func (o IamAccountSettingsTemplateAccountSettingsUserMfaOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettingsUserMfa) string { return v.IamId }).(pulumi.StringOutput) +} + +// Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o IamAccountSettingsTemplateAccountSettingsUserMfaOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAccountSettingsUserMfa) string { return v.Mfa }).(pulumi.StringOutput) +} + +type IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAccountSettingsUserMfa)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput) ToIamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput() IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput) ToIamAccountSettingsTemplateAccountSettingsUserMfaArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateAccountSettingsUserMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateAccountSettingsUserMfa { + return vs[0].([]IamAccountSettingsTemplateAccountSettingsUserMfa)[vs[1].(int)] + }).(IamAccountSettingsTemplateAccountSettingsUserMfaOutput) +} + +type IamAccountSettingsTemplateAssignmentContext struct { + // The cluster name. + ClusterName *string `pulumi:"clusterName"` + // The elapsed time in msec. + ElapsedTime *string `pulumi:"elapsedTime"` + // The finish time of the request. + EndTime *string `pulumi:"endTime"` + // The host of the server instance processing the request. + Host *string `pulumi:"host"` + // The instance ID of the server instance processing the request. + InstanceId *string `pulumi:"instanceId"` + // The operation of the inbound REST request. + Operation *string `pulumi:"operation"` + // The start time of the request. + StartTime *string `pulumi:"startTime"` + // The thread ID of the server instance processing the request. + ThreadId *string `pulumi:"threadId"` + // The transaction ID of the inbound REST request. + TransactionId *string `pulumi:"transactionId"` + // The URL of that cluster. + Url *string `pulumi:"url"` + // The user agent of the inbound REST request. + UserAgent *string `pulumi:"userAgent"` +} + +// IamAccountSettingsTemplateAssignmentContextInput is an input type that accepts IamAccountSettingsTemplateAssignmentContextArgs and IamAccountSettingsTemplateAssignmentContextOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentContextInput` via: +// +// IamAccountSettingsTemplateAssignmentContextArgs{...} +type IamAccountSettingsTemplateAssignmentContextInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentContextOutput() IamAccountSettingsTemplateAssignmentContextOutput + ToIamAccountSettingsTemplateAssignmentContextOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentContextOutput +} + +type IamAccountSettingsTemplateAssignmentContextArgs struct { + // The cluster name. + ClusterName pulumi.StringPtrInput `pulumi:"clusterName"` + // The elapsed time in msec. + ElapsedTime pulumi.StringPtrInput `pulumi:"elapsedTime"` + // The finish time of the request. + EndTime pulumi.StringPtrInput `pulumi:"endTime"` + // The host of the server instance processing the request. + Host pulumi.StringPtrInput `pulumi:"host"` + // The instance ID of the server instance processing the request. + InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` + // The operation of the inbound REST request. + Operation pulumi.StringPtrInput `pulumi:"operation"` + // The start time of the request. + StartTime pulumi.StringPtrInput `pulumi:"startTime"` + // The thread ID of the server instance processing the request. + ThreadId pulumi.StringPtrInput `pulumi:"threadId"` + // The transaction ID of the inbound REST request. + TransactionId pulumi.StringPtrInput `pulumi:"transactionId"` + // The URL of that cluster. + Url pulumi.StringPtrInput `pulumi:"url"` + // The user agent of the inbound REST request. + UserAgent pulumi.StringPtrInput `pulumi:"userAgent"` +} + +func (IamAccountSettingsTemplateAssignmentContextArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentContext)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentContextArgs) ToIamAccountSettingsTemplateAssignmentContextOutput() IamAccountSettingsTemplateAssignmentContextOutput { + return i.ToIamAccountSettingsTemplateAssignmentContextOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentContextArgs) ToIamAccountSettingsTemplateAssignmentContextOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentContextOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentContextOutput) +} + +// IamAccountSettingsTemplateAssignmentContextArrayInput is an input type that accepts IamAccountSettingsTemplateAssignmentContextArray and IamAccountSettingsTemplateAssignmentContextArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentContextArrayInput` via: +// +// IamAccountSettingsTemplateAssignmentContextArray{ IamAccountSettingsTemplateAssignmentContextArgs{...} } +type IamAccountSettingsTemplateAssignmentContextArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentContextArrayOutput() IamAccountSettingsTemplateAssignmentContextArrayOutput + ToIamAccountSettingsTemplateAssignmentContextArrayOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentContextArrayOutput +} + +type IamAccountSettingsTemplateAssignmentContextArray []IamAccountSettingsTemplateAssignmentContextInput + +func (IamAccountSettingsTemplateAssignmentContextArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentContext)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentContextArray) ToIamAccountSettingsTemplateAssignmentContextArrayOutput() IamAccountSettingsTemplateAssignmentContextArrayOutput { + return i.ToIamAccountSettingsTemplateAssignmentContextArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentContextArray) ToIamAccountSettingsTemplateAssignmentContextArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentContextArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentContextArrayOutput) +} + +type IamAccountSettingsTemplateAssignmentContextOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentContextOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentContext)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentContextOutput) ToIamAccountSettingsTemplateAssignmentContextOutput() IamAccountSettingsTemplateAssignmentContextOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentContextOutput) ToIamAccountSettingsTemplateAssignmentContextOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentContextOutput { + return o +} + +// The cluster name. +func (o IamAccountSettingsTemplateAssignmentContextOutput) ClusterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.ClusterName }).(pulumi.StringPtrOutput) +} + +// The elapsed time in msec. +func (o IamAccountSettingsTemplateAssignmentContextOutput) ElapsedTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.ElapsedTime }).(pulumi.StringPtrOutput) +} + +// The finish time of the request. +func (o IamAccountSettingsTemplateAssignmentContextOutput) EndTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.EndTime }).(pulumi.StringPtrOutput) +} + +// The host of the server instance processing the request. +func (o IamAccountSettingsTemplateAssignmentContextOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.Host }).(pulumi.StringPtrOutput) +} + +// The instance ID of the server instance processing the request. +func (o IamAccountSettingsTemplateAssignmentContextOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.InstanceId }).(pulumi.StringPtrOutput) +} + +// The operation of the inbound REST request. +func (o IamAccountSettingsTemplateAssignmentContextOutput) Operation() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.Operation }).(pulumi.StringPtrOutput) +} + +// The start time of the request. +func (o IamAccountSettingsTemplateAssignmentContextOutput) StartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.StartTime }).(pulumi.StringPtrOutput) +} + +// The thread ID of the server instance processing the request. +func (o IamAccountSettingsTemplateAssignmentContextOutput) ThreadId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.ThreadId }).(pulumi.StringPtrOutput) +} + +// The transaction ID of the inbound REST request. +func (o IamAccountSettingsTemplateAssignmentContextOutput) TransactionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.TransactionId }).(pulumi.StringPtrOutput) +} + +// The URL of that cluster. +func (o IamAccountSettingsTemplateAssignmentContextOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.Url }).(pulumi.StringPtrOutput) +} + +// The user agent of the inbound REST request. +func (o IamAccountSettingsTemplateAssignmentContextOutput) UserAgent() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentContext) *string { return v.UserAgent }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsTemplateAssignmentContextArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentContextArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentContext)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentContextArrayOutput) ToIamAccountSettingsTemplateAssignmentContextArrayOutput() IamAccountSettingsTemplateAssignmentContextArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentContextArrayOutput) ToIamAccountSettingsTemplateAssignmentContextArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentContextArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentContextArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateAssignmentContextOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateAssignmentContext { + return vs[0].([]IamAccountSettingsTemplateAssignmentContext)[vs[1].(int)] + }).(IamAccountSettingsTemplateAssignmentContextOutput) +} + +type IamAccountSettingsTemplateAssignmentHistory struct { + // Action of the history entry. + Action *string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId *string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount *string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message *string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp *string `pulumi:"timestamp"` +} + +// IamAccountSettingsTemplateAssignmentHistoryInput is an input type that accepts IamAccountSettingsTemplateAssignmentHistoryArgs and IamAccountSettingsTemplateAssignmentHistoryOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentHistoryInput` via: +// +// IamAccountSettingsTemplateAssignmentHistoryArgs{...} +type IamAccountSettingsTemplateAssignmentHistoryInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentHistoryOutput() IamAccountSettingsTemplateAssignmentHistoryOutput + ToIamAccountSettingsTemplateAssignmentHistoryOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentHistoryOutput +} + +type IamAccountSettingsTemplateAssignmentHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringPtrInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringPtrInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringPtrInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringPtrInput `pulumi:"timestamp"` +} + +func (IamAccountSettingsTemplateAssignmentHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentHistory)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentHistoryArgs) ToIamAccountSettingsTemplateAssignmentHistoryOutput() IamAccountSettingsTemplateAssignmentHistoryOutput { + return i.ToIamAccountSettingsTemplateAssignmentHistoryOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentHistoryArgs) ToIamAccountSettingsTemplateAssignmentHistoryOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentHistoryOutput) +} + +// IamAccountSettingsTemplateAssignmentHistoryArrayInput is an input type that accepts IamAccountSettingsTemplateAssignmentHistoryArray and IamAccountSettingsTemplateAssignmentHistoryArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentHistoryArrayInput` via: +// +// IamAccountSettingsTemplateAssignmentHistoryArray{ IamAccountSettingsTemplateAssignmentHistoryArgs{...} } +type IamAccountSettingsTemplateAssignmentHistoryArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentHistoryArrayOutput() IamAccountSettingsTemplateAssignmentHistoryArrayOutput + ToIamAccountSettingsTemplateAssignmentHistoryArrayOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentHistoryArrayOutput +} + +type IamAccountSettingsTemplateAssignmentHistoryArray []IamAccountSettingsTemplateAssignmentHistoryInput + +func (IamAccountSettingsTemplateAssignmentHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentHistory)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentHistoryArray) ToIamAccountSettingsTemplateAssignmentHistoryArrayOutput() IamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return i.ToIamAccountSettingsTemplateAssignmentHistoryArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentHistoryArray) ToIamAccountSettingsTemplateAssignmentHistoryArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentHistoryArrayOutput) +} + +type IamAccountSettingsTemplateAssignmentHistoryOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentHistory)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentHistoryOutput) ToIamAccountSettingsTemplateAssignmentHistoryOutput() IamAccountSettingsTemplateAssignmentHistoryOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentHistoryOutput) ToIamAccountSettingsTemplateAssignmentHistoryOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentHistoryOutput { + return o +} + +// Action of the history entry. +func (o IamAccountSettingsTemplateAssignmentHistoryOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentHistory) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// IAM ID of the identity which triggered the action. +func (o IamAccountSettingsTemplateAssignmentHistoryOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentHistory) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Account of the identity which triggered the action. +func (o IamAccountSettingsTemplateAssignmentHistoryOutput) IamIdAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentHistory) *string { return v.IamIdAccount }).(pulumi.StringPtrOutput) +} + +// Message which summarizes the executed action. +func (o IamAccountSettingsTemplateAssignmentHistoryOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentHistory) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Params of the history entry. +func (o IamAccountSettingsTemplateAssignmentHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o IamAccountSettingsTemplateAssignmentHistoryOutput) Timestamp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentHistory) *string { return v.Timestamp }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsTemplateAssignmentHistoryArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentHistory)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentHistoryArrayOutput) ToIamAccountSettingsTemplateAssignmentHistoryArrayOutput() IamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentHistoryArrayOutput) ToIamAccountSettingsTemplateAssignmentHistoryArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentHistoryArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateAssignmentHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateAssignmentHistory { + return vs[0].([]IamAccountSettingsTemplateAssignmentHistory)[vs[1].(int)] + }).(IamAccountSettingsTemplateAssignmentHistoryOutput) +} + +type IamAccountSettingsTemplateAssignmentResource struct { + AccountSettings []IamAccountSettingsTemplateAssignmentResourceAccountSetting `pulumi:"accountSettings"` + // Target account where the IAM resource is created. + Target string `pulumi:"target"` +} + +// IamAccountSettingsTemplateAssignmentResourceInput is an input type that accepts IamAccountSettingsTemplateAssignmentResourceArgs and IamAccountSettingsTemplateAssignmentResourceOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentResourceInput` via: +// +// IamAccountSettingsTemplateAssignmentResourceArgs{...} +type IamAccountSettingsTemplateAssignmentResourceInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentResourceOutput() IamAccountSettingsTemplateAssignmentResourceOutput + ToIamAccountSettingsTemplateAssignmentResourceOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentResourceOutput +} + +type IamAccountSettingsTemplateAssignmentResourceArgs struct { + AccountSettings IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput `pulumi:"accountSettings"` + // Target account where the IAM resource is created. + Target pulumi.StringInput `pulumi:"target"` +} + +func (IamAccountSettingsTemplateAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResource)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentResourceArgs) ToIamAccountSettingsTemplateAssignmentResourceOutput() IamAccountSettingsTemplateAssignmentResourceOutput { + return i.ToIamAccountSettingsTemplateAssignmentResourceOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentResourceArgs) ToIamAccountSettingsTemplateAssignmentResourceOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentResourceOutput) +} + +// IamAccountSettingsTemplateAssignmentResourceArrayInput is an input type that accepts IamAccountSettingsTemplateAssignmentResourceArray and IamAccountSettingsTemplateAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentResourceArrayInput` via: +// +// IamAccountSettingsTemplateAssignmentResourceArray{ IamAccountSettingsTemplateAssignmentResourceArgs{...} } +type IamAccountSettingsTemplateAssignmentResourceArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentResourceArrayOutput() IamAccountSettingsTemplateAssignmentResourceArrayOutput + ToIamAccountSettingsTemplateAssignmentResourceArrayOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentResourceArrayOutput +} + +type IamAccountSettingsTemplateAssignmentResourceArray []IamAccountSettingsTemplateAssignmentResourceInput + +func (IamAccountSettingsTemplateAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentResource)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentResourceArray) ToIamAccountSettingsTemplateAssignmentResourceArrayOutput() IamAccountSettingsTemplateAssignmentResourceArrayOutput { + return i.ToIamAccountSettingsTemplateAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentResourceArray) ToIamAccountSettingsTemplateAssignmentResourceArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentResourceArrayOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResource)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentResourceOutput) ToIamAccountSettingsTemplateAssignmentResourceOutput() IamAccountSettingsTemplateAssignmentResourceOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceOutput) ToIamAccountSettingsTemplateAssignmentResourceOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceOutput) AccountSettings() IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResource) []IamAccountSettingsTemplateAssignmentResourceAccountSetting { + return v.AccountSettings + }).(IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) +} + +// Target account where the IAM resource is created. +func (o IamAccountSettingsTemplateAssignmentResourceOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResource) string { return v.Target }).(pulumi.StringOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentResource)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentResourceArrayOutput) ToIamAccountSettingsTemplateAssignmentResourceArrayOutput() IamAccountSettingsTemplateAssignmentResourceArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceArrayOutput) ToIamAccountSettingsTemplateAssignmentResourceArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateAssignmentResource { + return vs[0].([]IamAccountSettingsTemplateAssignmentResource)[vs[1].(int)] + }).(IamAccountSettingsTemplateAssignmentResourceOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSetting struct { + // Body parameters for assignment error. + ErrorMessages []IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage `pulumi:"errorMessages"` + // Body parameters for created resource. + ResourceCreateds []IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status *string `pulumi:"status"` +} + +// IamAccountSettingsTemplateAssignmentResourceAccountSettingInput is an input type that accepts IamAccountSettingsTemplateAssignmentResourceAccountSettingArgs and IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentResourceAccountSettingInput` via: +// +// IamAccountSettingsTemplateAssignmentResourceAccountSettingArgs{...} +type IamAccountSettingsTemplateAssignmentResourceAccountSettingInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingArgs struct { + // Body parameters for assignment error. + ErrorMessages IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput `pulumi:"errorMessages"` + // Body parameters for created resource. + ResourceCreateds IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSetting)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingArgs) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return i.ToIamAccountSettingsTemplateAssignmentResourceAccountSettingOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingArgs) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) +} + +// IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput is an input type that accepts IamAccountSettingsTemplateAssignmentResourceAccountSettingArray and IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput` via: +// +// IamAccountSettingsTemplateAssignmentResourceAccountSettingArray{ IamAccountSettingsTemplateAssignmentResourceAccountSettingArgs{...} } +type IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingArray []IamAccountSettingsTemplateAssignmentResourceAccountSettingInput + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentResourceAccountSetting)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingArray) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return i.ToIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingArray) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSetting)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return o +} + +// Body parameters for assignment error. +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ErrorMessages() IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResourceAccountSetting) []IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage { + return v.ErrorMessages + }).(IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) +} + +// Body parameters for created resource. +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ResourceCreateds() IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResourceAccountSetting) []IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated { + return v.ResourceCreateds + }).(IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) +} + +// Status for the target account's assignment. +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResourceAccountSetting) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentResourceAccountSetting)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateAssignmentResourceAccountSetting { + return vs[0].([]IamAccountSettingsTemplateAssignmentResourceAccountSetting)[vs[1].(int)] + }).(IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage struct { + // Internal error code. + ErrorCode *string `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message *string `pulumi:"message"` + // Name of the error. + Name *string `pulumi:"name"` + // Internal status code for the error. + StatusCode *string `pulumi:"statusCode"` +} + +// IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput is an input type that accepts IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs and IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput` via: +// +// IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs{...} +type IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs struct { + // Internal error code. + ErrorCode pulumi.StringPtrInput `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message pulumi.StringPtrInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringPtrInput `pulumi:"name"` + // Internal status code for the error. + StatusCode pulumi.StringPtrInput `pulumi:"statusCode"` +} + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return i.ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) +} + +// IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput is an input type that accepts IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray and IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput` via: +// +// IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray{ IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs{...} } +type IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray []IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return i.ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return o +} + +// Internal error code. +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) ErrorCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage) *string { + return v.ErrorCode + }).(pulumi.StringPtrOutput) +} + +// Error message detailing the nature of the error. +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage) *string { + return v.Message + }).(pulumi.StringPtrOutput) +} + +// Name of the error. +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Internal status code for the error. +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) StatusCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage) *string { + return v.StatusCode + }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage { + return vs[0].([]IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)[vs[1].(int)] + }).(IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated struct { + // Id of the created resource. + Id *string `pulumi:"id"` +} + +// IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput is an input type that accepts IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs and IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput` via: +// +// IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs{...} +type IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs struct { + // Id of the created resource. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return i.ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) +} + +// IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput is an input type that accepts IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray and IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput` via: +// +// IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray{ IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs{...} } +type IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput + ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutputWithContext(context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray []IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return i.ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return o +} + +// Id of the created resource. +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput() IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) ToIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated { + return vs[0].([]IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)[vs[1].(int)] + }).(IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) +} + +type IamAccountSettingsTemplateHistory struct { + // Action of the history entry. + Action *string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId *string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount *string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message *string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp *string `pulumi:"timestamp"` +} + +// IamAccountSettingsTemplateHistoryInput is an input type that accepts IamAccountSettingsTemplateHistoryArgs and IamAccountSettingsTemplateHistoryOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateHistoryInput` via: +// +// IamAccountSettingsTemplateHistoryArgs{...} +type IamAccountSettingsTemplateHistoryInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateHistoryOutput() IamAccountSettingsTemplateHistoryOutput + ToIamAccountSettingsTemplateHistoryOutputWithContext(context.Context) IamAccountSettingsTemplateHistoryOutput +} + +type IamAccountSettingsTemplateHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringPtrInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringPtrInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringPtrInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringPtrInput `pulumi:"timestamp"` +} + +func (IamAccountSettingsTemplateHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateHistory)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateHistoryArgs) ToIamAccountSettingsTemplateHistoryOutput() IamAccountSettingsTemplateHistoryOutput { + return i.ToIamAccountSettingsTemplateHistoryOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateHistoryArgs) ToIamAccountSettingsTemplateHistoryOutputWithContext(ctx context.Context) IamAccountSettingsTemplateHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateHistoryOutput) +} + +// IamAccountSettingsTemplateHistoryArrayInput is an input type that accepts IamAccountSettingsTemplateHistoryArray and IamAccountSettingsTemplateHistoryArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsTemplateHistoryArrayInput` via: +// +// IamAccountSettingsTemplateHistoryArray{ IamAccountSettingsTemplateHistoryArgs{...} } +type IamAccountSettingsTemplateHistoryArrayInput interface { + pulumi.Input + + ToIamAccountSettingsTemplateHistoryArrayOutput() IamAccountSettingsTemplateHistoryArrayOutput + ToIamAccountSettingsTemplateHistoryArrayOutputWithContext(context.Context) IamAccountSettingsTemplateHistoryArrayOutput +} + +type IamAccountSettingsTemplateHistoryArray []IamAccountSettingsTemplateHistoryInput + +func (IamAccountSettingsTemplateHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateHistory)(nil)).Elem() +} + +func (i IamAccountSettingsTemplateHistoryArray) ToIamAccountSettingsTemplateHistoryArrayOutput() IamAccountSettingsTemplateHistoryArrayOutput { + return i.ToIamAccountSettingsTemplateHistoryArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsTemplateHistoryArray) ToIamAccountSettingsTemplateHistoryArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsTemplateHistoryArrayOutput) +} + +type IamAccountSettingsTemplateHistoryOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsTemplateHistory)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateHistoryOutput) ToIamAccountSettingsTemplateHistoryOutput() IamAccountSettingsTemplateHistoryOutput { + return o +} + +func (o IamAccountSettingsTemplateHistoryOutput) ToIamAccountSettingsTemplateHistoryOutputWithContext(ctx context.Context) IamAccountSettingsTemplateHistoryOutput { + return o +} + +// Action of the history entry. +func (o IamAccountSettingsTemplateHistoryOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateHistory) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// IAM ID of the identity which triggered the action. +func (o IamAccountSettingsTemplateHistoryOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateHistory) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Account of the identity which triggered the action. +func (o IamAccountSettingsTemplateHistoryOutput) IamIdAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateHistory) *string { return v.IamIdAccount }).(pulumi.StringPtrOutput) +} + +// Message which summarizes the executed action. +func (o IamAccountSettingsTemplateHistoryOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateHistory) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Params of the history entry. +func (o IamAccountSettingsTemplateHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o IamAccountSettingsTemplateHistoryOutput) Timestamp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsTemplateHistory) *string { return v.Timestamp }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsTemplateHistoryArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsTemplateHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsTemplateHistory)(nil)).Elem() +} + +func (o IamAccountSettingsTemplateHistoryArrayOutput) ToIamAccountSettingsTemplateHistoryArrayOutput() IamAccountSettingsTemplateHistoryArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateHistoryArrayOutput) ToIamAccountSettingsTemplateHistoryArrayOutputWithContext(ctx context.Context) IamAccountSettingsTemplateHistoryArrayOutput { + return o +} + +func (o IamAccountSettingsTemplateHistoryArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsTemplateHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsTemplateHistory { + return vs[0].([]IamAccountSettingsTemplateHistory)[vs[1].(int)] + }).(IamAccountSettingsTemplateHistoryOutput) +} + +type IamAccountSettingsUserMfa struct { + // optional description. + Description *string `pulumi:"description"` + // email of the user. + Email *string `pulumi:"email"` + // The iamId of the user. + IamId *string `pulumi:"iamId"` + // Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa *string `pulumi:"mfa"` + // name of the user account. + Name *string `pulumi:"name"` + // userName of the user. + UserName *string `pulumi:"userName"` +} + +// IamAccountSettingsUserMfaInput is an input type that accepts IamAccountSettingsUserMfaArgs and IamAccountSettingsUserMfaOutput values. +// You can construct a concrete instance of `IamAccountSettingsUserMfaInput` via: +// +// IamAccountSettingsUserMfaArgs{...} +type IamAccountSettingsUserMfaInput interface { + pulumi.Input + + ToIamAccountSettingsUserMfaOutput() IamAccountSettingsUserMfaOutput + ToIamAccountSettingsUserMfaOutputWithContext(context.Context) IamAccountSettingsUserMfaOutput +} + +type IamAccountSettingsUserMfaArgs struct { + // optional description. + Description pulumi.StringPtrInput `pulumi:"description"` + // email of the user. + Email pulumi.StringPtrInput `pulumi:"email"` + // The iamId of the user. + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringPtrInput `pulumi:"mfa"` + // name of the user account. + Name pulumi.StringPtrInput `pulumi:"name"` + // userName of the user. + UserName pulumi.StringPtrInput `pulumi:"userName"` +} + +func (IamAccountSettingsUserMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsUserMfa)(nil)).Elem() +} + +func (i IamAccountSettingsUserMfaArgs) ToIamAccountSettingsUserMfaOutput() IamAccountSettingsUserMfaOutput { + return i.ToIamAccountSettingsUserMfaOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsUserMfaArgs) ToIamAccountSettingsUserMfaOutputWithContext(ctx context.Context) IamAccountSettingsUserMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsUserMfaOutput) +} + +// IamAccountSettingsUserMfaArrayInput is an input type that accepts IamAccountSettingsUserMfaArray and IamAccountSettingsUserMfaArrayOutput values. +// You can construct a concrete instance of `IamAccountSettingsUserMfaArrayInput` via: +// +// IamAccountSettingsUserMfaArray{ IamAccountSettingsUserMfaArgs{...} } +type IamAccountSettingsUserMfaArrayInput interface { + pulumi.Input + + ToIamAccountSettingsUserMfaArrayOutput() IamAccountSettingsUserMfaArrayOutput + ToIamAccountSettingsUserMfaArrayOutputWithContext(context.Context) IamAccountSettingsUserMfaArrayOutput +} + +type IamAccountSettingsUserMfaArray []IamAccountSettingsUserMfaInput + +func (IamAccountSettingsUserMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsUserMfa)(nil)).Elem() +} + +func (i IamAccountSettingsUserMfaArray) ToIamAccountSettingsUserMfaArrayOutput() IamAccountSettingsUserMfaArrayOutput { + return i.ToIamAccountSettingsUserMfaArrayOutputWithContext(context.Background()) +} + +func (i IamAccountSettingsUserMfaArray) ToIamAccountSettingsUserMfaArrayOutputWithContext(ctx context.Context) IamAccountSettingsUserMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAccountSettingsUserMfaArrayOutput) +} + +type IamAccountSettingsUserMfaOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsUserMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAccountSettingsUserMfa)(nil)).Elem() +} + +func (o IamAccountSettingsUserMfaOutput) ToIamAccountSettingsUserMfaOutput() IamAccountSettingsUserMfaOutput { + return o +} + +func (o IamAccountSettingsUserMfaOutput) ToIamAccountSettingsUserMfaOutputWithContext(ctx context.Context) IamAccountSettingsUserMfaOutput { + return o +} + +// optional description. +func (o IamAccountSettingsUserMfaOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsUserMfa) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// email of the user. +func (o IamAccountSettingsUserMfaOutput) Email() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsUserMfa) *string { return v.Email }).(pulumi.StringPtrOutput) +} + +// The iamId of the user. +func (o IamAccountSettingsUserMfaOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsUserMfa) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o IamAccountSettingsUserMfaOutput) Mfa() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsUserMfa) *string { return v.Mfa }).(pulumi.StringPtrOutput) +} + +// name of the user account. +func (o IamAccountSettingsUserMfaOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsUserMfa) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// userName of the user. +func (o IamAccountSettingsUserMfaOutput) UserName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAccountSettingsUserMfa) *string { return v.UserName }).(pulumi.StringPtrOutput) +} + +type IamAccountSettingsUserMfaArrayOutput struct{ *pulumi.OutputState } + +func (IamAccountSettingsUserMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAccountSettingsUserMfa)(nil)).Elem() +} + +func (o IamAccountSettingsUserMfaArrayOutput) ToIamAccountSettingsUserMfaArrayOutput() IamAccountSettingsUserMfaArrayOutput { + return o +} + +func (o IamAccountSettingsUserMfaArrayOutput) ToIamAccountSettingsUserMfaArrayOutputWithContext(ctx context.Context) IamAccountSettingsUserMfaArrayOutput { + return o +} + +func (o IamAccountSettingsUserMfaArrayOutput) Index(i pulumi.IntInput) IamAccountSettingsUserMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAccountSettingsUserMfa { + return vs[0].([]IamAccountSettingsUserMfa)[vs[1].(int)] + }).(IamAccountSettingsUserMfaOutput) +} + +type IamActionControlAssignmentResource struct { + // Set of properties of the assigned resource or error message if assignment failed. + ActionControls []IamActionControlAssignmentResourceActionControl `pulumi:"actionControls"` + // assignment target details + Target map[string]string `pulumi:"target"` +} + +// IamActionControlAssignmentResourceInput is an input type that accepts IamActionControlAssignmentResourceArgs and IamActionControlAssignmentResourceOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceInput` via: +// +// IamActionControlAssignmentResourceArgs{...} +type IamActionControlAssignmentResourceInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceOutput() IamActionControlAssignmentResourceOutput + ToIamActionControlAssignmentResourceOutputWithContext(context.Context) IamActionControlAssignmentResourceOutput +} + +type IamActionControlAssignmentResourceArgs struct { + // Set of properties of the assigned resource or error message if assignment failed. + ActionControls IamActionControlAssignmentResourceActionControlArrayInput `pulumi:"actionControls"` + // assignment target details + Target pulumi.StringMapInput `pulumi:"target"` +} + +func (IamActionControlAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResource)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceArgs) ToIamActionControlAssignmentResourceOutput() IamActionControlAssignmentResourceOutput { + return i.ToIamActionControlAssignmentResourceOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceArgs) ToIamActionControlAssignmentResourceOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceOutput) +} + +// IamActionControlAssignmentResourceArrayInput is an input type that accepts IamActionControlAssignmentResourceArray and IamActionControlAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceArrayInput` via: +// +// IamActionControlAssignmentResourceArray{ IamActionControlAssignmentResourceArgs{...} } +type IamActionControlAssignmentResourceArrayInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceArrayOutput() IamActionControlAssignmentResourceArrayOutput + ToIamActionControlAssignmentResourceArrayOutputWithContext(context.Context) IamActionControlAssignmentResourceArrayOutput +} + +type IamActionControlAssignmentResourceArray []IamActionControlAssignmentResourceInput + +func (IamActionControlAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResource)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceArray) ToIamActionControlAssignmentResourceArrayOutput() IamActionControlAssignmentResourceArrayOutput { + return i.ToIamActionControlAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceArray) ToIamActionControlAssignmentResourceArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceArrayOutput) +} + +type IamActionControlAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResource)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceOutput) ToIamActionControlAssignmentResourceOutput() IamActionControlAssignmentResourceOutput { + return o +} + +func (o IamActionControlAssignmentResourceOutput) ToIamActionControlAssignmentResourceOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceOutput { + return o +} + +// Set of properties of the assigned resource or error message if assignment failed. +func (o IamActionControlAssignmentResourceOutput) ActionControls() IamActionControlAssignmentResourceActionControlArrayOutput { + return o.ApplyT(func(v IamActionControlAssignmentResource) []IamActionControlAssignmentResourceActionControl { + return v.ActionControls + }).(IamActionControlAssignmentResourceActionControlArrayOutput) +} + +// assignment target details +func (o IamActionControlAssignmentResourceOutput) Target() pulumi.StringMapOutput { + return o.ApplyT(func(v IamActionControlAssignmentResource) map[string]string { return v.Target }).(pulumi.StringMapOutput) +} + +type IamActionControlAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResource)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceArrayOutput) ToIamActionControlAssignmentResourceArrayOutput() IamActionControlAssignmentResourceArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceArrayOutput) ToIamActionControlAssignmentResourceArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceArrayOutput) Index(i pulumi.IntInput) IamActionControlAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlAssignmentResource { + return vs[0].([]IamActionControlAssignmentResource)[vs[1].(int)] + }).(IamActionControlAssignmentResourceOutput) +} + +type IamActionControlAssignmentResourceActionControl struct { + // The error response from API. + ErrorMessages []IamActionControlAssignmentResourceActionControlErrorMessage `pulumi:"errorMessages"` + // On success, it includes the action control assigned. + ResourceCreateds []IamActionControlAssignmentResourceActionControlResourceCreated `pulumi:"resourceCreateds"` +} + +// IamActionControlAssignmentResourceActionControlInput is an input type that accepts IamActionControlAssignmentResourceActionControlArgs and IamActionControlAssignmentResourceActionControlOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlInput` via: +// +// IamActionControlAssignmentResourceActionControlArgs{...} +type IamActionControlAssignmentResourceActionControlInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlOutput() IamActionControlAssignmentResourceActionControlOutput + ToIamActionControlAssignmentResourceActionControlOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlOutput +} + +type IamActionControlAssignmentResourceActionControlArgs struct { + // The error response from API. + ErrorMessages IamActionControlAssignmentResourceActionControlErrorMessageArrayInput `pulumi:"errorMessages"` + // On success, it includes the action control assigned. + ResourceCreateds IamActionControlAssignmentResourceActionControlResourceCreatedArrayInput `pulumi:"resourceCreateds"` +} + +func (IamActionControlAssignmentResourceActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControl)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlArgs) ToIamActionControlAssignmentResourceActionControlOutput() IamActionControlAssignmentResourceActionControlOutput { + return i.ToIamActionControlAssignmentResourceActionControlOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlArgs) ToIamActionControlAssignmentResourceActionControlOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlOutput) +} + +// IamActionControlAssignmentResourceActionControlArrayInput is an input type that accepts IamActionControlAssignmentResourceActionControlArray and IamActionControlAssignmentResourceActionControlArrayOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlArrayInput` via: +// +// IamActionControlAssignmentResourceActionControlArray{ IamActionControlAssignmentResourceActionControlArgs{...} } +type IamActionControlAssignmentResourceActionControlArrayInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlArrayOutput() IamActionControlAssignmentResourceActionControlArrayOutput + ToIamActionControlAssignmentResourceActionControlArrayOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlArrayOutput +} + +type IamActionControlAssignmentResourceActionControlArray []IamActionControlAssignmentResourceActionControlInput + +func (IamActionControlAssignmentResourceActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControl)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlArray) ToIamActionControlAssignmentResourceActionControlArrayOutput() IamActionControlAssignmentResourceActionControlArrayOutput { + return i.ToIamActionControlAssignmentResourceActionControlArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlArray) ToIamActionControlAssignmentResourceActionControlArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlArrayOutput) +} + +type IamActionControlAssignmentResourceActionControlOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControl)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlOutput) ToIamActionControlAssignmentResourceActionControlOutput() IamActionControlAssignmentResourceActionControlOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlOutput) ToIamActionControlAssignmentResourceActionControlOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlOutput { + return o +} + +// The error response from API. +func (o IamActionControlAssignmentResourceActionControlOutput) ErrorMessages() IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControl) []IamActionControlAssignmentResourceActionControlErrorMessage { + return v.ErrorMessages + }).(IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) +} + +// On success, it includes the action control assigned. +func (o IamActionControlAssignmentResourceActionControlOutput) ResourceCreateds() IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControl) []IamActionControlAssignmentResourceActionControlResourceCreated { + return v.ResourceCreateds + }).(IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) +} + +type IamActionControlAssignmentResourceActionControlArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControl)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlArrayOutput) ToIamActionControlAssignmentResourceActionControlArrayOutput() IamActionControlAssignmentResourceActionControlArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlArrayOutput) ToIamActionControlAssignmentResourceActionControlArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlArrayOutput) Index(i pulumi.IntInput) IamActionControlAssignmentResourceActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlAssignmentResourceActionControl { + return vs[0].([]IamActionControlAssignmentResourceActionControl)[vs[1].(int)] + }).(IamActionControlAssignmentResourceActionControlOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessage struct { + // Internal status code for the error. + Code *string `pulumi:"code"` + // Internal error code. + ErrorCode *string `pulumi:"errorCode"` + // The errors encountered during the response. + Errors []IamActionControlAssignmentResourceActionControlErrorMessageError `pulumi:"errors"` + // Error message detailing the nature of the error. + Message *string `pulumi:"message"` + // Name of the error. + Name *string `pulumi:"name"` + // The HTTP error code of the response. + StatusCode *int `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace *string `pulumi:"trace"` +} + +// IamActionControlAssignmentResourceActionControlErrorMessageInput is an input type that accepts IamActionControlAssignmentResourceActionControlErrorMessageArgs and IamActionControlAssignmentResourceActionControlErrorMessageOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlErrorMessageInput` via: +// +// IamActionControlAssignmentResourceActionControlErrorMessageArgs{...} +type IamActionControlAssignmentResourceActionControlErrorMessageInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlErrorMessageOutput() IamActionControlAssignmentResourceActionControlErrorMessageOutput + ToIamActionControlAssignmentResourceActionControlErrorMessageOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlErrorMessageOutput +} + +type IamActionControlAssignmentResourceActionControlErrorMessageArgs struct { + // Internal status code for the error. + Code pulumi.StringPtrInput `pulumi:"code"` + // Internal error code. + ErrorCode pulumi.StringPtrInput `pulumi:"errorCode"` + // The errors encountered during the response. + Errors IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput `pulumi:"errors"` + // Error message detailing the nature of the error. + Message pulumi.StringPtrInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringPtrInput `pulumi:"name"` + // The HTTP error code of the response. + StatusCode pulumi.IntPtrInput `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace pulumi.StringPtrInput `pulumi:"trace"` +} + +func (IamActionControlAssignmentResourceActionControlErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageArgs) ToIamActionControlAssignmentResourceActionControlErrorMessageOutput() IamActionControlAssignmentResourceActionControlErrorMessageOutput { + return i.ToIamActionControlAssignmentResourceActionControlErrorMessageOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageArgs) ToIamActionControlAssignmentResourceActionControlErrorMessageOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlErrorMessageOutput) +} + +// IamActionControlAssignmentResourceActionControlErrorMessageArrayInput is an input type that accepts IamActionControlAssignmentResourceActionControlErrorMessageArray and IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlErrorMessageArrayInput` via: +// +// IamActionControlAssignmentResourceActionControlErrorMessageArray{ IamActionControlAssignmentResourceActionControlErrorMessageArgs{...} } +type IamActionControlAssignmentResourceActionControlErrorMessageArrayInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput + ToIamActionControlAssignmentResourceActionControlErrorMessageArrayOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput +} + +type IamActionControlAssignmentResourceActionControlErrorMessageArray []IamActionControlAssignmentResourceActionControlErrorMessageInput + +func (IamActionControlAssignmentResourceActionControlErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageArray) ToIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return i.ToIamActionControlAssignmentResourceActionControlErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageArray) ToIamActionControlAssignmentResourceActionControlErrorMessageArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageOutput() IamActionControlAssignmentResourceActionControlErrorMessageOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageOutput { + return o +} + +// Internal status code for the error. +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessage) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// Internal error code. +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) ErrorCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessage) *string { return v.ErrorCode }).(pulumi.StringPtrOutput) +} + +// The errors encountered during the response. +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) Errors() IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessage) []IamActionControlAssignmentResourceActionControlErrorMessageError { + return v.Errors + }).(IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) +} + +// Error message detailing the nature of the error. +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessage) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Name of the error. +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessage) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The HTTP error code of the response. +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) StatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessage) *int { return v.StatusCode }).(pulumi.IntPtrOutput) +} + +// The unique transaction ID for the request. +func (o IamActionControlAssignmentResourceActionControlErrorMessageOutput) Trace() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessage) *string { return v.Trace }).(pulumi.StringPtrOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) Index(i pulumi.IntInput) IamActionControlAssignmentResourceActionControlErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlAssignmentResourceActionControlErrorMessage { + return vs[0].([]IamActionControlAssignmentResourceActionControlErrorMessage)[vs[1].(int)] + }).(IamActionControlAssignmentResourceActionControlErrorMessageOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageError struct { + // The API error code for the error. + Code *string `pulumi:"code"` + // Additional error details. + Details []IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail `pulumi:"details"` + // The error message returned by the API. + Message *string `pulumi:"message"` + // Additional info for error. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IamActionControlAssignmentResourceActionControlErrorMessageErrorInput is an input type that accepts IamActionControlAssignmentResourceActionControlErrorMessageErrorArgs and IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlErrorMessageErrorInput` via: +// +// IamActionControlAssignmentResourceActionControlErrorMessageErrorArgs{...} +type IamActionControlAssignmentResourceActionControlErrorMessageErrorInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorArgs struct { + // The API error code for the error. + Code pulumi.StringPtrInput `pulumi:"code"` + // Additional error details. + Details IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput `pulumi:"details"` + // The error message returned by the API. + Message pulumi.StringPtrInput `pulumi:"message"` + // Additional info for error. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorArgs) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return i.ToIamActionControlAssignmentResourceActionControlErrorMessageErrorOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorArgs) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) +} + +// IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput is an input type that accepts IamActionControlAssignmentResourceActionControlErrorMessageErrorArray and IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput` via: +// +// IamActionControlAssignmentResourceActionControlErrorMessageErrorArray{ IamActionControlAssignmentResourceActionControlErrorMessageErrorArgs{...} } +type IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorArray []IamActionControlAssignmentResourceActionControlErrorMessageErrorInput + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorArray) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return i.ToIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorArray) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return o +} + +// The API error code for the error. +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessageError) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// Additional error details. +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) Details() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessageError) []IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail { + return v.Details + }).(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) +} + +// The error message returned by the API. +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessageError) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Additional info for error. +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessageError) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) Index(i pulumi.IntInput) IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlAssignmentResourceActionControlErrorMessageError { + return vs[0].([]IamActionControlAssignmentResourceActionControlErrorMessageError)[vs[1].(int)] + }).(IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail struct { + // Details of conflicting resource. + ConflictsWiths []IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith `pulumi:"conflictsWiths"` +} + +// IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput is an input type that accepts IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs and IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput` via: +// +// IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs{...} +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs struct { + // Details of conflicting resource. + ConflictsWiths IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput `pulumi:"conflictsWiths"` +} + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return i.ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) +} + +// IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput is an input type that accepts IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray and IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput` via: +// +// IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray{ IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs{...} } +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray []IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return i.ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return o +} + +// Details of conflicting resource. +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) ConflictsWiths() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail) []IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith { + return v.ConflictsWiths + }).(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) Index(i pulumi.IntInput) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail { + return vs[0].([]IamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)[vs[1].(int)] + }).(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith struct { + // The revision number of the resource. + Etag *string `pulumi:"etag"` + // The conflicting policy ID. + Policy *string `pulumi:"policy"` + // The conflicting role of ID. + Role *string `pulumi:"role"` +} + +// IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput is an input type that accepts IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs and IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput` via: +// +// IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{...} +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs struct { + // The revision number of the resource. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // The conflicting policy ID. + Policy pulumi.StringPtrInput `pulumi:"policy"` + // The conflicting role of ID. + Role pulumi.StringPtrInput `pulumi:"role"` +} + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return i.ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) +} + +// IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput is an input type that accepts IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray and IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput` via: +// +// IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray{ IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{...} } +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput + ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray []IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return i.ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return o +} + +// The revision number of the resource. +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) *string { + return v.Etag + }).(pulumi.StringPtrOutput) +} + +// The conflicting policy ID. +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) *string { + return v.Policy + }).(pulumi.StringPtrOutput) +} + +// The conflicting role of ID. +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) *string { + return v.Role + }).(pulumi.StringPtrOutput) +} + +type IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ToIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) Index(i pulumi.IntInput) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith { + return vs[0].([]IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)[vs[1].(int)] + }).(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) +} + +type IamActionControlAssignmentResourceActionControlResourceCreated struct { + // action control id. + Id *string `pulumi:"id"` +} + +// IamActionControlAssignmentResourceActionControlResourceCreatedInput is an input type that accepts IamActionControlAssignmentResourceActionControlResourceCreatedArgs and IamActionControlAssignmentResourceActionControlResourceCreatedOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlResourceCreatedInput` via: +// +// IamActionControlAssignmentResourceActionControlResourceCreatedArgs{...} +type IamActionControlAssignmentResourceActionControlResourceCreatedInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlResourceCreatedOutput() IamActionControlAssignmentResourceActionControlResourceCreatedOutput + ToIamActionControlAssignmentResourceActionControlResourceCreatedOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlResourceCreatedOutput +} + +type IamActionControlAssignmentResourceActionControlResourceCreatedArgs struct { + // action control id. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IamActionControlAssignmentResourceActionControlResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlResourceCreatedArgs) ToIamActionControlAssignmentResourceActionControlResourceCreatedOutput() IamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return i.ToIamActionControlAssignmentResourceActionControlResourceCreatedOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlResourceCreatedArgs) ToIamActionControlAssignmentResourceActionControlResourceCreatedOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlResourceCreatedOutput) +} + +// IamActionControlAssignmentResourceActionControlResourceCreatedArrayInput is an input type that accepts IamActionControlAssignmentResourceActionControlResourceCreatedArray and IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentResourceActionControlResourceCreatedArrayInput` via: +// +// IamActionControlAssignmentResourceActionControlResourceCreatedArray{ IamActionControlAssignmentResourceActionControlResourceCreatedArgs{...} } +type IamActionControlAssignmentResourceActionControlResourceCreatedArrayInput interface { + pulumi.Input + + ToIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput() IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput + ToIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(context.Context) IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput +} + +type IamActionControlAssignmentResourceActionControlResourceCreatedArray []IamActionControlAssignmentResourceActionControlResourceCreatedInput + +func (IamActionControlAssignmentResourceActionControlResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (i IamActionControlAssignmentResourceActionControlResourceCreatedArray) ToIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput() IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return i.ToIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentResourceActionControlResourceCreatedArray) ToIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) +} + +type IamActionControlAssignmentResourceActionControlResourceCreatedOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlResourceCreatedOutput) ToIamActionControlAssignmentResourceActionControlResourceCreatedOutput() IamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlResourceCreatedOutput) ToIamActionControlAssignmentResourceActionControlResourceCreatedOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return o +} + +// action control id. +func (o IamActionControlAssignmentResourceActionControlResourceCreatedOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlAssignmentResourceActionControlResourceCreated) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (o IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) ToIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput() IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) ToIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(ctx context.Context) IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return o +} + +func (o IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) Index(i pulumi.IntInput) IamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlAssignmentResourceActionControlResourceCreated { + return vs[0].([]IamActionControlAssignmentResourceActionControlResourceCreated)[vs[1].(int)] + }).(IamActionControlAssignmentResourceActionControlResourceCreatedOutput) +} + +type IamActionControlAssignmentTemplates struct { + // action control template id. + Id string `pulumi:"id"` + // action control template version. + Version string `pulumi:"version"` +} + +// IamActionControlAssignmentTemplatesInput is an input type that accepts IamActionControlAssignmentTemplatesArgs and IamActionControlAssignmentTemplatesOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentTemplatesInput` via: +// +// IamActionControlAssignmentTemplatesArgs{...} +type IamActionControlAssignmentTemplatesInput interface { + pulumi.Input + + ToIamActionControlAssignmentTemplatesOutput() IamActionControlAssignmentTemplatesOutput + ToIamActionControlAssignmentTemplatesOutputWithContext(context.Context) IamActionControlAssignmentTemplatesOutput +} + +type IamActionControlAssignmentTemplatesArgs struct { + // action control template id. + Id pulumi.StringInput `pulumi:"id"` + // action control template version. + Version pulumi.StringInput `pulumi:"version"` +} + +func (IamActionControlAssignmentTemplatesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentTemplates)(nil)).Elem() +} + +func (i IamActionControlAssignmentTemplatesArgs) ToIamActionControlAssignmentTemplatesOutput() IamActionControlAssignmentTemplatesOutput { + return i.ToIamActionControlAssignmentTemplatesOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentTemplatesArgs) ToIamActionControlAssignmentTemplatesOutputWithContext(ctx context.Context) IamActionControlAssignmentTemplatesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentTemplatesOutput) +} + +func (i IamActionControlAssignmentTemplatesArgs) ToIamActionControlAssignmentTemplatesPtrOutput() IamActionControlAssignmentTemplatesPtrOutput { + return i.ToIamActionControlAssignmentTemplatesPtrOutputWithContext(context.Background()) +} + +func (i IamActionControlAssignmentTemplatesArgs) ToIamActionControlAssignmentTemplatesPtrOutputWithContext(ctx context.Context) IamActionControlAssignmentTemplatesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentTemplatesOutput).ToIamActionControlAssignmentTemplatesPtrOutputWithContext(ctx) +} + +// IamActionControlAssignmentTemplatesPtrInput is an input type that accepts IamActionControlAssignmentTemplatesArgs, IamActionControlAssignmentTemplatesPtr and IamActionControlAssignmentTemplatesPtrOutput values. +// You can construct a concrete instance of `IamActionControlAssignmentTemplatesPtrInput` via: +// +// IamActionControlAssignmentTemplatesArgs{...} +// +// or: +// +// nil +type IamActionControlAssignmentTemplatesPtrInput interface { + pulumi.Input + + ToIamActionControlAssignmentTemplatesPtrOutput() IamActionControlAssignmentTemplatesPtrOutput + ToIamActionControlAssignmentTemplatesPtrOutputWithContext(context.Context) IamActionControlAssignmentTemplatesPtrOutput +} + +type iamActionControlAssignmentTemplatesPtrType IamActionControlAssignmentTemplatesArgs + +func IamActionControlAssignmentTemplatesPtr(v *IamActionControlAssignmentTemplatesArgs) IamActionControlAssignmentTemplatesPtrInput { + return (*iamActionControlAssignmentTemplatesPtrType)(v) +} + +func (*iamActionControlAssignmentTemplatesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamActionControlAssignmentTemplates)(nil)).Elem() +} + +func (i *iamActionControlAssignmentTemplatesPtrType) ToIamActionControlAssignmentTemplatesPtrOutput() IamActionControlAssignmentTemplatesPtrOutput { + return i.ToIamActionControlAssignmentTemplatesPtrOutputWithContext(context.Background()) +} + +func (i *iamActionControlAssignmentTemplatesPtrType) ToIamActionControlAssignmentTemplatesPtrOutputWithContext(ctx context.Context) IamActionControlAssignmentTemplatesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlAssignmentTemplatesPtrOutput) +} + +type IamActionControlAssignmentTemplatesOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentTemplatesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlAssignmentTemplates)(nil)).Elem() +} + +func (o IamActionControlAssignmentTemplatesOutput) ToIamActionControlAssignmentTemplatesOutput() IamActionControlAssignmentTemplatesOutput { + return o +} + +func (o IamActionControlAssignmentTemplatesOutput) ToIamActionControlAssignmentTemplatesOutputWithContext(ctx context.Context) IamActionControlAssignmentTemplatesOutput { + return o +} + +func (o IamActionControlAssignmentTemplatesOutput) ToIamActionControlAssignmentTemplatesPtrOutput() IamActionControlAssignmentTemplatesPtrOutput { + return o.ToIamActionControlAssignmentTemplatesPtrOutputWithContext(context.Background()) +} + +func (o IamActionControlAssignmentTemplatesOutput) ToIamActionControlAssignmentTemplatesPtrOutputWithContext(ctx context.Context) IamActionControlAssignmentTemplatesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamActionControlAssignmentTemplates) *IamActionControlAssignmentTemplates { + return &v + }).(IamActionControlAssignmentTemplatesPtrOutput) +} + +// action control template id. +func (o IamActionControlAssignmentTemplatesOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IamActionControlAssignmentTemplates) string { return v.Id }).(pulumi.StringOutput) +} + +// action control template version. +func (o IamActionControlAssignmentTemplatesOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v IamActionControlAssignmentTemplates) string { return v.Version }).(pulumi.StringOutput) +} + +type IamActionControlAssignmentTemplatesPtrOutput struct{ *pulumi.OutputState } + +func (IamActionControlAssignmentTemplatesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamActionControlAssignmentTemplates)(nil)).Elem() +} + +func (o IamActionControlAssignmentTemplatesPtrOutput) ToIamActionControlAssignmentTemplatesPtrOutput() IamActionControlAssignmentTemplatesPtrOutput { + return o +} + +func (o IamActionControlAssignmentTemplatesPtrOutput) ToIamActionControlAssignmentTemplatesPtrOutputWithContext(ctx context.Context) IamActionControlAssignmentTemplatesPtrOutput { + return o +} + +func (o IamActionControlAssignmentTemplatesPtrOutput) Elem() IamActionControlAssignmentTemplatesOutput { + return o.ApplyT(func(v *IamActionControlAssignmentTemplates) IamActionControlAssignmentTemplates { + if v != nil { + return *v + } + var ret IamActionControlAssignmentTemplates + return ret + }).(IamActionControlAssignmentTemplatesOutput) +} + +// action control template id. +func (o IamActionControlAssignmentTemplatesPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamActionControlAssignmentTemplates) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// action control template version. +func (o IamActionControlAssignmentTemplatesPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamActionControlAssignmentTemplates) *string { + if v == nil { + return nil + } + return &v.Version + }).(pulumi.StringPtrOutput) +} + +type IamActionControlTemplateActionControl struct { + // List of actions to control access. + Actions []string `pulumi:"actions"` + // Description of the action control. + Description *string `pulumi:"description"` + // The service name that the action control refers. + ServiceName string `pulumi:"serviceName"` +} + +// IamActionControlTemplateActionControlInput is an input type that accepts IamActionControlTemplateActionControlArgs and IamActionControlTemplateActionControlOutput values. +// You can construct a concrete instance of `IamActionControlTemplateActionControlInput` via: +// +// IamActionControlTemplateActionControlArgs{...} +type IamActionControlTemplateActionControlInput interface { + pulumi.Input + + ToIamActionControlTemplateActionControlOutput() IamActionControlTemplateActionControlOutput + ToIamActionControlTemplateActionControlOutputWithContext(context.Context) IamActionControlTemplateActionControlOutput +} + +type IamActionControlTemplateActionControlArgs struct { + // List of actions to control access. + Actions pulumi.StringArrayInput `pulumi:"actions"` + // Description of the action control. + Description pulumi.StringPtrInput `pulumi:"description"` + // The service name that the action control refers. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (IamActionControlTemplateActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlTemplateActionControl)(nil)).Elem() +} + +func (i IamActionControlTemplateActionControlArgs) ToIamActionControlTemplateActionControlOutput() IamActionControlTemplateActionControlOutput { + return i.ToIamActionControlTemplateActionControlOutputWithContext(context.Background()) +} + +func (i IamActionControlTemplateActionControlArgs) ToIamActionControlTemplateActionControlOutputWithContext(ctx context.Context) IamActionControlTemplateActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlTemplateActionControlOutput) +} + +// IamActionControlTemplateActionControlArrayInput is an input type that accepts IamActionControlTemplateActionControlArray and IamActionControlTemplateActionControlArrayOutput values. +// You can construct a concrete instance of `IamActionControlTemplateActionControlArrayInput` via: +// +// IamActionControlTemplateActionControlArray{ IamActionControlTemplateActionControlArgs{...} } +type IamActionControlTemplateActionControlArrayInput interface { + pulumi.Input + + ToIamActionControlTemplateActionControlArrayOutput() IamActionControlTemplateActionControlArrayOutput + ToIamActionControlTemplateActionControlArrayOutputWithContext(context.Context) IamActionControlTemplateActionControlArrayOutput +} + +type IamActionControlTemplateActionControlArray []IamActionControlTemplateActionControlInput + +func (IamActionControlTemplateActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlTemplateActionControl)(nil)).Elem() +} + +func (i IamActionControlTemplateActionControlArray) ToIamActionControlTemplateActionControlArrayOutput() IamActionControlTemplateActionControlArrayOutput { + return i.ToIamActionControlTemplateActionControlArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlTemplateActionControlArray) ToIamActionControlTemplateActionControlArrayOutputWithContext(ctx context.Context) IamActionControlTemplateActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlTemplateActionControlArrayOutput) +} + +type IamActionControlTemplateActionControlOutput struct{ *pulumi.OutputState } + +func (IamActionControlTemplateActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlTemplateActionControl)(nil)).Elem() +} + +func (o IamActionControlTemplateActionControlOutput) ToIamActionControlTemplateActionControlOutput() IamActionControlTemplateActionControlOutput { + return o +} + +func (o IamActionControlTemplateActionControlOutput) ToIamActionControlTemplateActionControlOutputWithContext(ctx context.Context) IamActionControlTemplateActionControlOutput { + return o +} + +// List of actions to control access. +func (o IamActionControlTemplateActionControlOutput) Actions() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamActionControlTemplateActionControl) []string { return v.Actions }).(pulumi.StringArrayOutput) +} + +// Description of the action control. +func (o IamActionControlTemplateActionControlOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlTemplateActionControl) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The service name that the action control refers. +func (o IamActionControlTemplateActionControlOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v IamActionControlTemplateActionControl) string { return v.ServiceName }).(pulumi.StringOutput) +} + +type IamActionControlTemplateActionControlArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlTemplateActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlTemplateActionControl)(nil)).Elem() +} + +func (o IamActionControlTemplateActionControlArrayOutput) ToIamActionControlTemplateActionControlArrayOutput() IamActionControlTemplateActionControlArrayOutput { + return o +} + +func (o IamActionControlTemplateActionControlArrayOutput) ToIamActionControlTemplateActionControlArrayOutputWithContext(ctx context.Context) IamActionControlTemplateActionControlArrayOutput { + return o +} + +func (o IamActionControlTemplateActionControlArrayOutput) Index(i pulumi.IntInput) IamActionControlTemplateActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlTemplateActionControl { + return vs[0].([]IamActionControlTemplateActionControl)[vs[1].(int)] + }).(IamActionControlTemplateActionControlOutput) +} + +type IamActionControlTemplateVersionActionControl struct { + // List of actions to control access. + Actions []string `pulumi:"actions"` + // Description of the action control. + Description *string `pulumi:"description"` + // The service name that the action control refers. + ServiceName string `pulumi:"serviceName"` +} + +// IamActionControlTemplateVersionActionControlInput is an input type that accepts IamActionControlTemplateVersionActionControlArgs and IamActionControlTemplateVersionActionControlOutput values. +// You can construct a concrete instance of `IamActionControlTemplateVersionActionControlInput` via: +// +// IamActionControlTemplateVersionActionControlArgs{...} +type IamActionControlTemplateVersionActionControlInput interface { + pulumi.Input + + ToIamActionControlTemplateVersionActionControlOutput() IamActionControlTemplateVersionActionControlOutput + ToIamActionControlTemplateVersionActionControlOutputWithContext(context.Context) IamActionControlTemplateVersionActionControlOutput +} + +type IamActionControlTemplateVersionActionControlArgs struct { + // List of actions to control access. + Actions pulumi.StringArrayInput `pulumi:"actions"` + // Description of the action control. + Description pulumi.StringPtrInput `pulumi:"description"` + // The service name that the action control refers. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (IamActionControlTemplateVersionActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlTemplateVersionActionControl)(nil)).Elem() +} + +func (i IamActionControlTemplateVersionActionControlArgs) ToIamActionControlTemplateVersionActionControlOutput() IamActionControlTemplateVersionActionControlOutput { + return i.ToIamActionControlTemplateVersionActionControlOutputWithContext(context.Background()) +} + +func (i IamActionControlTemplateVersionActionControlArgs) ToIamActionControlTemplateVersionActionControlOutputWithContext(ctx context.Context) IamActionControlTemplateVersionActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlTemplateVersionActionControlOutput) +} + +// IamActionControlTemplateVersionActionControlArrayInput is an input type that accepts IamActionControlTemplateVersionActionControlArray and IamActionControlTemplateVersionActionControlArrayOutput values. +// You can construct a concrete instance of `IamActionControlTemplateVersionActionControlArrayInput` via: +// +// IamActionControlTemplateVersionActionControlArray{ IamActionControlTemplateVersionActionControlArgs{...} } +type IamActionControlTemplateVersionActionControlArrayInput interface { + pulumi.Input + + ToIamActionControlTemplateVersionActionControlArrayOutput() IamActionControlTemplateVersionActionControlArrayOutput + ToIamActionControlTemplateVersionActionControlArrayOutputWithContext(context.Context) IamActionControlTemplateVersionActionControlArrayOutput +} + +type IamActionControlTemplateVersionActionControlArray []IamActionControlTemplateVersionActionControlInput + +func (IamActionControlTemplateVersionActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlTemplateVersionActionControl)(nil)).Elem() +} + +func (i IamActionControlTemplateVersionActionControlArray) ToIamActionControlTemplateVersionActionControlArrayOutput() IamActionControlTemplateVersionActionControlArrayOutput { + return i.ToIamActionControlTemplateVersionActionControlArrayOutputWithContext(context.Background()) +} + +func (i IamActionControlTemplateVersionActionControlArray) ToIamActionControlTemplateVersionActionControlArrayOutputWithContext(ctx context.Context) IamActionControlTemplateVersionActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamActionControlTemplateVersionActionControlArrayOutput) +} + +type IamActionControlTemplateVersionActionControlOutput struct{ *pulumi.OutputState } + +func (IamActionControlTemplateVersionActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamActionControlTemplateVersionActionControl)(nil)).Elem() +} + +func (o IamActionControlTemplateVersionActionControlOutput) ToIamActionControlTemplateVersionActionControlOutput() IamActionControlTemplateVersionActionControlOutput { + return o +} + +func (o IamActionControlTemplateVersionActionControlOutput) ToIamActionControlTemplateVersionActionControlOutputWithContext(ctx context.Context) IamActionControlTemplateVersionActionControlOutput { + return o +} + +// List of actions to control access. +func (o IamActionControlTemplateVersionActionControlOutput) Actions() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamActionControlTemplateVersionActionControl) []string { return v.Actions }).(pulumi.StringArrayOutput) +} + +// Description of the action control. +func (o IamActionControlTemplateVersionActionControlOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamActionControlTemplateVersionActionControl) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The service name that the action control refers. +func (o IamActionControlTemplateVersionActionControlOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v IamActionControlTemplateVersionActionControl) string { return v.ServiceName }).(pulumi.StringOutput) +} + +type IamActionControlTemplateVersionActionControlArrayOutput struct{ *pulumi.OutputState } + +func (IamActionControlTemplateVersionActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamActionControlTemplateVersionActionControl)(nil)).Elem() +} + +func (o IamActionControlTemplateVersionActionControlArrayOutput) ToIamActionControlTemplateVersionActionControlArrayOutput() IamActionControlTemplateVersionActionControlArrayOutput { + return o +} + +func (o IamActionControlTemplateVersionActionControlArrayOutput) ToIamActionControlTemplateVersionActionControlArrayOutputWithContext(ctx context.Context) IamActionControlTemplateVersionActionControlArrayOutput { + return o +} + +func (o IamActionControlTemplateVersionActionControlArrayOutput) Index(i pulumi.IntInput) IamActionControlTemplateVersionActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamActionControlTemplateVersionActionControl { + return vs[0].([]IamActionControlTemplateVersionActionControl)[vs[1].(int)] + }).(IamActionControlTemplateVersionActionControlOutput) +} + +type IamAuthorizationPolicyResourceAttribute struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamAuthorizationPolicyResourceAttributeInput is an input type that accepts IamAuthorizationPolicyResourceAttributeArgs and IamAuthorizationPolicyResourceAttributeOutput values. +// You can construct a concrete instance of `IamAuthorizationPolicyResourceAttributeInput` via: +// +// IamAuthorizationPolicyResourceAttributeArgs{...} +type IamAuthorizationPolicyResourceAttributeInput interface { + pulumi.Input + + ToIamAuthorizationPolicyResourceAttributeOutput() IamAuthorizationPolicyResourceAttributeOutput + ToIamAuthorizationPolicyResourceAttributeOutputWithContext(context.Context) IamAuthorizationPolicyResourceAttributeOutput +} + +type IamAuthorizationPolicyResourceAttributeArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamAuthorizationPolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAuthorizationPolicyResourceAttribute)(nil)).Elem() +} + +func (i IamAuthorizationPolicyResourceAttributeArgs) ToIamAuthorizationPolicyResourceAttributeOutput() IamAuthorizationPolicyResourceAttributeOutput { + return i.ToIamAuthorizationPolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i IamAuthorizationPolicyResourceAttributeArgs) ToIamAuthorizationPolicyResourceAttributeOutputWithContext(ctx context.Context) IamAuthorizationPolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAuthorizationPolicyResourceAttributeOutput) +} + +// IamAuthorizationPolicyResourceAttributeArrayInput is an input type that accepts IamAuthorizationPolicyResourceAttributeArray and IamAuthorizationPolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `IamAuthorizationPolicyResourceAttributeArrayInput` via: +// +// IamAuthorizationPolicyResourceAttributeArray{ IamAuthorizationPolicyResourceAttributeArgs{...} } +type IamAuthorizationPolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToIamAuthorizationPolicyResourceAttributeArrayOutput() IamAuthorizationPolicyResourceAttributeArrayOutput + ToIamAuthorizationPolicyResourceAttributeArrayOutputWithContext(context.Context) IamAuthorizationPolicyResourceAttributeArrayOutput +} + +type IamAuthorizationPolicyResourceAttributeArray []IamAuthorizationPolicyResourceAttributeInput + +func (IamAuthorizationPolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAuthorizationPolicyResourceAttribute)(nil)).Elem() +} + +func (i IamAuthorizationPolicyResourceAttributeArray) ToIamAuthorizationPolicyResourceAttributeArrayOutput() IamAuthorizationPolicyResourceAttributeArrayOutput { + return i.ToIamAuthorizationPolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamAuthorizationPolicyResourceAttributeArray) ToIamAuthorizationPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamAuthorizationPolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAuthorizationPolicyResourceAttributeArrayOutput) +} + +type IamAuthorizationPolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (IamAuthorizationPolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAuthorizationPolicyResourceAttribute)(nil)).Elem() +} + +func (o IamAuthorizationPolicyResourceAttributeOutput) ToIamAuthorizationPolicyResourceAttributeOutput() IamAuthorizationPolicyResourceAttributeOutput { + return o +} + +func (o IamAuthorizationPolicyResourceAttributeOutput) ToIamAuthorizationPolicyResourceAttributeOutputWithContext(ctx context.Context) IamAuthorizationPolicyResourceAttributeOutput { + return o +} + +// Name of attribute. +func (o IamAuthorizationPolicyResourceAttributeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamAuthorizationPolicyResourceAttribute) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamAuthorizationPolicyResourceAttributeOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAuthorizationPolicyResourceAttribute) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamAuthorizationPolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamAuthorizationPolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamAuthorizationPolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamAuthorizationPolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAuthorizationPolicyResourceAttribute)(nil)).Elem() +} + +func (o IamAuthorizationPolicyResourceAttributeArrayOutput) ToIamAuthorizationPolicyResourceAttributeArrayOutput() IamAuthorizationPolicyResourceAttributeArrayOutput { + return o +} + +func (o IamAuthorizationPolicyResourceAttributeArrayOutput) ToIamAuthorizationPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamAuthorizationPolicyResourceAttributeArrayOutput { + return o +} + +func (o IamAuthorizationPolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) IamAuthorizationPolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAuthorizationPolicyResourceAttribute { + return vs[0].([]IamAuthorizationPolicyResourceAttribute)[vs[1].(int)] + }).(IamAuthorizationPolicyResourceAttributeOutput) +} + +type IamAuthorizationPolicySubjectAttribute struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamAuthorizationPolicySubjectAttributeInput is an input type that accepts IamAuthorizationPolicySubjectAttributeArgs and IamAuthorizationPolicySubjectAttributeOutput values. +// You can construct a concrete instance of `IamAuthorizationPolicySubjectAttributeInput` via: +// +// IamAuthorizationPolicySubjectAttributeArgs{...} +type IamAuthorizationPolicySubjectAttributeInput interface { + pulumi.Input + + ToIamAuthorizationPolicySubjectAttributeOutput() IamAuthorizationPolicySubjectAttributeOutput + ToIamAuthorizationPolicySubjectAttributeOutputWithContext(context.Context) IamAuthorizationPolicySubjectAttributeOutput +} + +type IamAuthorizationPolicySubjectAttributeArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamAuthorizationPolicySubjectAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamAuthorizationPolicySubjectAttribute)(nil)).Elem() +} + +func (i IamAuthorizationPolicySubjectAttributeArgs) ToIamAuthorizationPolicySubjectAttributeOutput() IamAuthorizationPolicySubjectAttributeOutput { + return i.ToIamAuthorizationPolicySubjectAttributeOutputWithContext(context.Background()) +} + +func (i IamAuthorizationPolicySubjectAttributeArgs) ToIamAuthorizationPolicySubjectAttributeOutputWithContext(ctx context.Context) IamAuthorizationPolicySubjectAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAuthorizationPolicySubjectAttributeOutput) +} + +// IamAuthorizationPolicySubjectAttributeArrayInput is an input type that accepts IamAuthorizationPolicySubjectAttributeArray and IamAuthorizationPolicySubjectAttributeArrayOutput values. +// You can construct a concrete instance of `IamAuthorizationPolicySubjectAttributeArrayInput` via: +// +// IamAuthorizationPolicySubjectAttributeArray{ IamAuthorizationPolicySubjectAttributeArgs{...} } +type IamAuthorizationPolicySubjectAttributeArrayInput interface { + pulumi.Input + + ToIamAuthorizationPolicySubjectAttributeArrayOutput() IamAuthorizationPolicySubjectAttributeArrayOutput + ToIamAuthorizationPolicySubjectAttributeArrayOutputWithContext(context.Context) IamAuthorizationPolicySubjectAttributeArrayOutput +} + +type IamAuthorizationPolicySubjectAttributeArray []IamAuthorizationPolicySubjectAttributeInput + +func (IamAuthorizationPolicySubjectAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAuthorizationPolicySubjectAttribute)(nil)).Elem() +} + +func (i IamAuthorizationPolicySubjectAttributeArray) ToIamAuthorizationPolicySubjectAttributeArrayOutput() IamAuthorizationPolicySubjectAttributeArrayOutput { + return i.ToIamAuthorizationPolicySubjectAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamAuthorizationPolicySubjectAttributeArray) ToIamAuthorizationPolicySubjectAttributeArrayOutputWithContext(ctx context.Context) IamAuthorizationPolicySubjectAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamAuthorizationPolicySubjectAttributeArrayOutput) +} + +type IamAuthorizationPolicySubjectAttributeOutput struct{ *pulumi.OutputState } + +func (IamAuthorizationPolicySubjectAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamAuthorizationPolicySubjectAttribute)(nil)).Elem() +} + +func (o IamAuthorizationPolicySubjectAttributeOutput) ToIamAuthorizationPolicySubjectAttributeOutput() IamAuthorizationPolicySubjectAttributeOutput { + return o +} + +func (o IamAuthorizationPolicySubjectAttributeOutput) ToIamAuthorizationPolicySubjectAttributeOutputWithContext(ctx context.Context) IamAuthorizationPolicySubjectAttributeOutput { + return o +} + +// Name of attribute. +func (o IamAuthorizationPolicySubjectAttributeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamAuthorizationPolicySubjectAttribute) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamAuthorizationPolicySubjectAttributeOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamAuthorizationPolicySubjectAttribute) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamAuthorizationPolicySubjectAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamAuthorizationPolicySubjectAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamAuthorizationPolicySubjectAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamAuthorizationPolicySubjectAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamAuthorizationPolicySubjectAttribute)(nil)).Elem() +} + +func (o IamAuthorizationPolicySubjectAttributeArrayOutput) ToIamAuthorizationPolicySubjectAttributeArrayOutput() IamAuthorizationPolicySubjectAttributeArrayOutput { + return o +} + +func (o IamAuthorizationPolicySubjectAttributeArrayOutput) ToIamAuthorizationPolicySubjectAttributeArrayOutputWithContext(ctx context.Context) IamAuthorizationPolicySubjectAttributeArrayOutput { + return o +} + +func (o IamAuthorizationPolicySubjectAttributeArrayOutput) Index(i pulumi.IntInput) IamAuthorizationPolicySubjectAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamAuthorizationPolicySubjectAttribute { + return vs[0].([]IamAuthorizationPolicySubjectAttribute)[vs[1].(int)] + }).(IamAuthorizationPolicySubjectAttributeOutput) +} + +type IamPolicyAssignmentResource struct { + // Set of properties for the assigned resource. + Policies []IamPolicyAssignmentResourcePolicy `pulumi:"policies"` + // assignment target details + Target map[string]string `pulumi:"target"` +} + +// IamPolicyAssignmentResourceInput is an input type that accepts IamPolicyAssignmentResourceArgs and IamPolicyAssignmentResourceOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourceInput` via: +// +// IamPolicyAssignmentResourceArgs{...} +type IamPolicyAssignmentResourceInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourceOutput() IamPolicyAssignmentResourceOutput + ToIamPolicyAssignmentResourceOutputWithContext(context.Context) IamPolicyAssignmentResourceOutput +} + +type IamPolicyAssignmentResourceArgs struct { + // Set of properties for the assigned resource. + Policies IamPolicyAssignmentResourcePolicyArrayInput `pulumi:"policies"` + // assignment target details + Target pulumi.StringMapInput `pulumi:"target"` +} + +func (IamPolicyAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResource)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourceArgs) ToIamPolicyAssignmentResourceOutput() IamPolicyAssignmentResourceOutput { + return i.ToIamPolicyAssignmentResourceOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourceArgs) ToIamPolicyAssignmentResourceOutputWithContext(ctx context.Context) IamPolicyAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourceOutput) +} + +// IamPolicyAssignmentResourceArrayInput is an input type that accepts IamPolicyAssignmentResourceArray and IamPolicyAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourceArrayInput` via: +// +// IamPolicyAssignmentResourceArray{ IamPolicyAssignmentResourceArgs{...} } +type IamPolicyAssignmentResourceArrayInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourceArrayOutput() IamPolicyAssignmentResourceArrayOutput + ToIamPolicyAssignmentResourceArrayOutputWithContext(context.Context) IamPolicyAssignmentResourceArrayOutput +} + +type IamPolicyAssignmentResourceArray []IamPolicyAssignmentResourceInput + +func (IamPolicyAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResource)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourceArray) ToIamPolicyAssignmentResourceArrayOutput() IamPolicyAssignmentResourceArrayOutput { + return i.ToIamPolicyAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourceArray) ToIamPolicyAssignmentResourceArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourceArrayOutput) +} + +type IamPolicyAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResource)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourceOutput) ToIamPolicyAssignmentResourceOutput() IamPolicyAssignmentResourceOutput { + return o +} + +func (o IamPolicyAssignmentResourceOutput) ToIamPolicyAssignmentResourceOutputWithContext(ctx context.Context) IamPolicyAssignmentResourceOutput { + return o +} + +// Set of properties for the assigned resource. +func (o IamPolicyAssignmentResourceOutput) Policies() IamPolicyAssignmentResourcePolicyArrayOutput { + return o.ApplyT(func(v IamPolicyAssignmentResource) []IamPolicyAssignmentResourcePolicy { return v.Policies }).(IamPolicyAssignmentResourcePolicyArrayOutput) +} + +// assignment target details +func (o IamPolicyAssignmentResourceOutput) Target() pulumi.StringMapOutput { + return o.ApplyT(func(v IamPolicyAssignmentResource) map[string]string { return v.Target }).(pulumi.StringMapOutput) +} + +type IamPolicyAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResource)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourceArrayOutput) ToIamPolicyAssignmentResourceArrayOutput() IamPolicyAssignmentResourceArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourceArrayOutput) ToIamPolicyAssignmentResourceArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourceArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourceArrayOutput) Index(i pulumi.IntInput) IamPolicyAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyAssignmentResource { + return vs[0].([]IamPolicyAssignmentResource)[vs[1].(int)] + }).(IamPolicyAssignmentResourceOutput) +} + +type IamPolicyAssignmentResourcePolicy struct { + // The error response from API. + ErrorMessages []IamPolicyAssignmentResourcePolicyErrorMessage `pulumi:"errorMessages"` + // On success, includes the policy assigned. + ResourceCreateds []IamPolicyAssignmentResourcePolicyResourceCreated `pulumi:"resourceCreateds"` + // policy status. + Status *string `pulumi:"status"` +} + +// IamPolicyAssignmentResourcePolicyInput is an input type that accepts IamPolicyAssignmentResourcePolicyArgs and IamPolicyAssignmentResourcePolicyOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyInput` via: +// +// IamPolicyAssignmentResourcePolicyArgs{...} +type IamPolicyAssignmentResourcePolicyInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyOutput() IamPolicyAssignmentResourcePolicyOutput + ToIamPolicyAssignmentResourcePolicyOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyOutput +} + +type IamPolicyAssignmentResourcePolicyArgs struct { + // The error response from API. + ErrorMessages IamPolicyAssignmentResourcePolicyErrorMessageArrayInput `pulumi:"errorMessages"` + // On success, includes the policy assigned. + ResourceCreateds IamPolicyAssignmentResourcePolicyResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // policy status. + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (IamPolicyAssignmentResourcePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicy)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyArgs) ToIamPolicyAssignmentResourcePolicyOutput() IamPolicyAssignmentResourcePolicyOutput { + return i.ToIamPolicyAssignmentResourcePolicyOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyArgs) ToIamPolicyAssignmentResourcePolicyOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyOutput) +} + +// IamPolicyAssignmentResourcePolicyArrayInput is an input type that accepts IamPolicyAssignmentResourcePolicyArray and IamPolicyAssignmentResourcePolicyArrayOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyArrayInput` via: +// +// IamPolicyAssignmentResourcePolicyArray{ IamPolicyAssignmentResourcePolicyArgs{...} } +type IamPolicyAssignmentResourcePolicyArrayInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyArrayOutput() IamPolicyAssignmentResourcePolicyArrayOutput + ToIamPolicyAssignmentResourcePolicyArrayOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyArrayOutput +} + +type IamPolicyAssignmentResourcePolicyArray []IamPolicyAssignmentResourcePolicyInput + +func (IamPolicyAssignmentResourcePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicy)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyArray) ToIamPolicyAssignmentResourcePolicyArrayOutput() IamPolicyAssignmentResourcePolicyArrayOutput { + return i.ToIamPolicyAssignmentResourcePolicyArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyArray) ToIamPolicyAssignmentResourcePolicyArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyArrayOutput) +} + +type IamPolicyAssignmentResourcePolicyOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicy)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyOutput) ToIamPolicyAssignmentResourcePolicyOutput() IamPolicyAssignmentResourcePolicyOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyOutput) ToIamPolicyAssignmentResourcePolicyOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyOutput { + return o +} + +// The error response from API. +func (o IamPolicyAssignmentResourcePolicyOutput) ErrorMessages() IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicy) []IamPolicyAssignmentResourcePolicyErrorMessage { + return v.ErrorMessages + }).(IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) +} + +// On success, includes the policy assigned. +func (o IamPolicyAssignmentResourcePolicyOutput) ResourceCreateds() IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicy) []IamPolicyAssignmentResourcePolicyResourceCreated { + return v.ResourceCreateds + }).(IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) +} + +// policy status. +func (o IamPolicyAssignmentResourcePolicyOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicy) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type IamPolicyAssignmentResourcePolicyArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicy)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyArrayOutput) ToIamPolicyAssignmentResourcePolicyArrayOutput() IamPolicyAssignmentResourcePolicyArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyArrayOutput) ToIamPolicyAssignmentResourcePolicyArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyArrayOutput) Index(i pulumi.IntInput) IamPolicyAssignmentResourcePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyAssignmentResourcePolicy { + return vs[0].([]IamPolicyAssignmentResourcePolicy)[vs[1].(int)] + }).(IamPolicyAssignmentResourcePolicyOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessage struct { + // Internal status code for the error. + Code *string `pulumi:"code"` + // Internal error code. + ErrorCode *string `pulumi:"errorCode"` + // The errors encountered during the response. + Errors []IamPolicyAssignmentResourcePolicyErrorMessageError `pulumi:"errors"` + // Error message detailing the nature of the error. + Message *string `pulumi:"message"` + // Name of the error. + Name *string `pulumi:"name"` + // The HTTP error code of the response. + StatusCode *int `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace *string `pulumi:"trace"` +} + +// IamPolicyAssignmentResourcePolicyErrorMessageInput is an input type that accepts IamPolicyAssignmentResourcePolicyErrorMessageArgs and IamPolicyAssignmentResourcePolicyErrorMessageOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyErrorMessageInput` via: +// +// IamPolicyAssignmentResourcePolicyErrorMessageArgs{...} +type IamPolicyAssignmentResourcePolicyErrorMessageInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyErrorMessageOutput() IamPolicyAssignmentResourcePolicyErrorMessageOutput + ToIamPolicyAssignmentResourcePolicyErrorMessageOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyErrorMessageOutput +} + +type IamPolicyAssignmentResourcePolicyErrorMessageArgs struct { + // Internal status code for the error. + Code pulumi.StringPtrInput `pulumi:"code"` + // Internal error code. + ErrorCode pulumi.StringPtrInput `pulumi:"errorCode"` + // The errors encountered during the response. + Errors IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput `pulumi:"errors"` + // Error message detailing the nature of the error. + Message pulumi.StringPtrInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringPtrInput `pulumi:"name"` + // The HTTP error code of the response. + StatusCode pulumi.IntPtrInput `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace pulumi.StringPtrInput `pulumi:"trace"` +} + +func (IamPolicyAssignmentResourcePolicyErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageArgs) ToIamPolicyAssignmentResourcePolicyErrorMessageOutput() IamPolicyAssignmentResourcePolicyErrorMessageOutput { + return i.ToIamPolicyAssignmentResourcePolicyErrorMessageOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageArgs) ToIamPolicyAssignmentResourcePolicyErrorMessageOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyErrorMessageOutput) +} + +// IamPolicyAssignmentResourcePolicyErrorMessageArrayInput is an input type that accepts IamPolicyAssignmentResourcePolicyErrorMessageArray and IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyErrorMessageArrayInput` via: +// +// IamPolicyAssignmentResourcePolicyErrorMessageArray{ IamPolicyAssignmentResourcePolicyErrorMessageArgs{...} } +type IamPolicyAssignmentResourcePolicyErrorMessageArrayInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput + ToIamPolicyAssignmentResourcePolicyErrorMessageArrayOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput +} + +type IamPolicyAssignmentResourcePolicyErrorMessageArray []IamPolicyAssignmentResourcePolicyErrorMessageInput + +func (IamPolicyAssignmentResourcePolicyErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageArray) ToIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return i.ToIamPolicyAssignmentResourcePolicyErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageArray) ToIamPolicyAssignmentResourcePolicyErrorMessageArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageOutput() IamPolicyAssignmentResourcePolicyErrorMessageOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageOutput { + return o +} + +// Internal status code for the error. +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessage) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// Internal error code. +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) ErrorCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessage) *string { return v.ErrorCode }).(pulumi.StringPtrOutput) +} + +// The errors encountered during the response. +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) Errors() IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessage) []IamPolicyAssignmentResourcePolicyErrorMessageError { + return v.Errors + }).(IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) +} + +// Error message detailing the nature of the error. +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessage) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Name of the error. +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessage) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The HTTP error code of the response. +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) StatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessage) *int { return v.StatusCode }).(pulumi.IntPtrOutput) +} + +// The unique transaction ID for the request. +func (o IamPolicyAssignmentResourcePolicyErrorMessageOutput) Trace() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessage) *string { return v.Trace }).(pulumi.StringPtrOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) Index(i pulumi.IntInput) IamPolicyAssignmentResourcePolicyErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyAssignmentResourcePolicyErrorMessage { + return vs[0].([]IamPolicyAssignmentResourcePolicyErrorMessage)[vs[1].(int)] + }).(IamPolicyAssignmentResourcePolicyErrorMessageOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageError struct { + // The API error code for the error. + Code *string `pulumi:"code"` + // Additional error details. + Details []IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail `pulumi:"details"` + // The error message returned by the API. + Message *string `pulumi:"message"` + // Additional info for error. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IamPolicyAssignmentResourcePolicyErrorMessageErrorInput is an input type that accepts IamPolicyAssignmentResourcePolicyErrorMessageErrorArgs and IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyErrorMessageErrorInput` via: +// +// IamPolicyAssignmentResourcePolicyErrorMessageErrorArgs{...} +type IamPolicyAssignmentResourcePolicyErrorMessageErrorInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorArgs struct { + // The API error code for the error. + Code pulumi.StringPtrInput `pulumi:"code"` + // Additional error details. + Details IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput `pulumi:"details"` + // The error message returned by the API. + Message pulumi.StringPtrInput `pulumi:"message"` + // Additional info for error. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorArgs) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return i.ToIamPolicyAssignmentResourcePolicyErrorMessageErrorOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorArgs) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) +} + +// IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput is an input type that accepts IamPolicyAssignmentResourcePolicyErrorMessageErrorArray and IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput` via: +// +// IamPolicyAssignmentResourcePolicyErrorMessageErrorArray{ IamPolicyAssignmentResourcePolicyErrorMessageErrorArgs{...} } +type IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorArray []IamPolicyAssignmentResourcePolicyErrorMessageErrorInput + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorArray) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return i.ToIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorArray) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return o +} + +// The API error code for the error. +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessageError) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// Additional error details. +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) Details() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessageError) []IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail { + return v.Details + }).(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) +} + +// The error message returned by the API. +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessageError) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Additional info for error. +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessageError) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) Index(i pulumi.IntInput) IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyAssignmentResourcePolicyErrorMessageError { + return vs[0].([]IamPolicyAssignmentResourcePolicyErrorMessageError)[vs[1].(int)] + }).(IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail struct { + // Details of conflicting resource. + ConflictsWiths []IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith `pulumi:"conflictsWiths"` +} + +// IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput is an input type that accepts IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs and IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput` via: +// +// IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs{...} +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs struct { + // Details of conflicting resource. + ConflictsWiths IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput `pulumi:"conflictsWiths"` +} + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return i.ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) +} + +// IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput is an input type that accepts IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray and IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput` via: +// +// IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray{ IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs{...} } +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray []IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return i.ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return o +} + +// Details of conflicting resource. +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) ConflictsWiths() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail) []IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith { + return v.ConflictsWiths + }).(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) Index(i pulumi.IntInput) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail { + return vs[0].([]IamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)[vs[1].(int)] + }).(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith struct { + // The revision number of the resource. + Etag *string `pulumi:"etag"` + // The conflicting policy id. + Policy *string `pulumi:"policy"` + // The conflicting role id. + Role *string `pulumi:"role"` +} + +// IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput is an input type that accepts IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs and IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput` via: +// +// IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{...} +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs struct { + // The revision number of the resource. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // The conflicting policy id. + Policy pulumi.StringPtrInput `pulumi:"policy"` + // The conflicting role id. + Role pulumi.StringPtrInput `pulumi:"role"` +} + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return i.ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) +} + +// IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput is an input type that accepts IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray and IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput` via: +// +// IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray{ IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{...} } +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput + ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray []IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return i.ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return o +} + +// The revision number of the resource. +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// The conflicting policy id. +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) *string { return v.Policy }).(pulumi.StringPtrOutput) +} + +// The conflicting role id. +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) *string { return v.Role }).(pulumi.StringPtrOutput) +} + +type IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ToIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) Index(i pulumi.IntInput) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith { + return vs[0].([]IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)[vs[1].(int)] + }).(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) +} + +type IamPolicyAssignmentResourcePolicyResourceCreated struct { + // policy id. + Id *string `pulumi:"id"` +} + +// IamPolicyAssignmentResourcePolicyResourceCreatedInput is an input type that accepts IamPolicyAssignmentResourcePolicyResourceCreatedArgs and IamPolicyAssignmentResourcePolicyResourceCreatedOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyResourceCreatedInput` via: +// +// IamPolicyAssignmentResourcePolicyResourceCreatedArgs{...} +type IamPolicyAssignmentResourcePolicyResourceCreatedInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyResourceCreatedOutput() IamPolicyAssignmentResourcePolicyResourceCreatedOutput + ToIamPolicyAssignmentResourcePolicyResourceCreatedOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyResourceCreatedOutput +} + +type IamPolicyAssignmentResourcePolicyResourceCreatedArgs struct { + // policy id. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IamPolicyAssignmentResourcePolicyResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyResourceCreatedArgs) ToIamPolicyAssignmentResourcePolicyResourceCreatedOutput() IamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return i.ToIamPolicyAssignmentResourcePolicyResourceCreatedOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyResourceCreatedArgs) ToIamPolicyAssignmentResourcePolicyResourceCreatedOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyResourceCreatedOutput) +} + +// IamPolicyAssignmentResourcePolicyResourceCreatedArrayInput is an input type that accepts IamPolicyAssignmentResourcePolicyResourceCreatedArray and IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentResourcePolicyResourceCreatedArrayInput` via: +// +// IamPolicyAssignmentResourcePolicyResourceCreatedArray{ IamPolicyAssignmentResourcePolicyResourceCreatedArgs{...} } +type IamPolicyAssignmentResourcePolicyResourceCreatedArrayInput interface { + pulumi.Input + + ToIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput() IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput + ToIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(context.Context) IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput +} + +type IamPolicyAssignmentResourcePolicyResourceCreatedArray []IamPolicyAssignmentResourcePolicyResourceCreatedInput + +func (IamPolicyAssignmentResourcePolicyResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (i IamPolicyAssignmentResourcePolicyResourceCreatedArray) ToIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput() IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return i.ToIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentResourcePolicyResourceCreatedArray) ToIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) +} + +type IamPolicyAssignmentResourcePolicyResourceCreatedOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyResourceCreatedOutput) ToIamPolicyAssignmentResourcePolicyResourceCreatedOutput() IamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyResourceCreatedOutput) ToIamPolicyAssignmentResourcePolicyResourceCreatedOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return o +} + +// policy id. +func (o IamPolicyAssignmentResourcePolicyResourceCreatedOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyAssignmentResourcePolicyResourceCreated) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (o IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) ToIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput() IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) ToIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(ctx context.Context) IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return o +} + +func (o IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) Index(i pulumi.IntInput) IamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyAssignmentResourcePolicyResourceCreated { + return vs[0].([]IamPolicyAssignmentResourcePolicyResourceCreated)[vs[1].(int)] + }).(IamPolicyAssignmentResourcePolicyResourceCreatedOutput) +} + +type IamPolicyAssignmentTemplates struct { + // policy template id. + Id string `pulumi:"id"` + // policy template version. + Version string `pulumi:"version"` +} + +// IamPolicyAssignmentTemplatesInput is an input type that accepts IamPolicyAssignmentTemplatesArgs and IamPolicyAssignmentTemplatesOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentTemplatesInput` via: +// +// IamPolicyAssignmentTemplatesArgs{...} +type IamPolicyAssignmentTemplatesInput interface { + pulumi.Input + + ToIamPolicyAssignmentTemplatesOutput() IamPolicyAssignmentTemplatesOutput + ToIamPolicyAssignmentTemplatesOutputWithContext(context.Context) IamPolicyAssignmentTemplatesOutput +} + +type IamPolicyAssignmentTemplatesArgs struct { + // policy template id. + Id pulumi.StringInput `pulumi:"id"` + // policy template version. + Version pulumi.StringInput `pulumi:"version"` +} + +func (IamPolicyAssignmentTemplatesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentTemplates)(nil)).Elem() +} + +func (i IamPolicyAssignmentTemplatesArgs) ToIamPolicyAssignmentTemplatesOutput() IamPolicyAssignmentTemplatesOutput { + return i.ToIamPolicyAssignmentTemplatesOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentTemplatesArgs) ToIamPolicyAssignmentTemplatesOutputWithContext(ctx context.Context) IamPolicyAssignmentTemplatesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentTemplatesOutput) +} + +func (i IamPolicyAssignmentTemplatesArgs) ToIamPolicyAssignmentTemplatesPtrOutput() IamPolicyAssignmentTemplatesPtrOutput { + return i.ToIamPolicyAssignmentTemplatesPtrOutputWithContext(context.Background()) +} + +func (i IamPolicyAssignmentTemplatesArgs) ToIamPolicyAssignmentTemplatesPtrOutputWithContext(ctx context.Context) IamPolicyAssignmentTemplatesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentTemplatesOutput).ToIamPolicyAssignmentTemplatesPtrOutputWithContext(ctx) +} + +// IamPolicyAssignmentTemplatesPtrInput is an input type that accepts IamPolicyAssignmentTemplatesArgs, IamPolicyAssignmentTemplatesPtr and IamPolicyAssignmentTemplatesPtrOutput values. +// You can construct a concrete instance of `IamPolicyAssignmentTemplatesPtrInput` via: +// +// IamPolicyAssignmentTemplatesArgs{...} +// +// or: +// +// nil +type IamPolicyAssignmentTemplatesPtrInput interface { + pulumi.Input + + ToIamPolicyAssignmentTemplatesPtrOutput() IamPolicyAssignmentTemplatesPtrOutput + ToIamPolicyAssignmentTemplatesPtrOutputWithContext(context.Context) IamPolicyAssignmentTemplatesPtrOutput +} + +type iamPolicyAssignmentTemplatesPtrType IamPolicyAssignmentTemplatesArgs + +func IamPolicyAssignmentTemplatesPtr(v *IamPolicyAssignmentTemplatesArgs) IamPolicyAssignmentTemplatesPtrInput { + return (*iamPolicyAssignmentTemplatesPtrType)(v) +} + +func (*iamPolicyAssignmentTemplatesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyAssignmentTemplates)(nil)).Elem() +} + +func (i *iamPolicyAssignmentTemplatesPtrType) ToIamPolicyAssignmentTemplatesPtrOutput() IamPolicyAssignmentTemplatesPtrOutput { + return i.ToIamPolicyAssignmentTemplatesPtrOutputWithContext(context.Background()) +} + +func (i *iamPolicyAssignmentTemplatesPtrType) ToIamPolicyAssignmentTemplatesPtrOutputWithContext(ctx context.Context) IamPolicyAssignmentTemplatesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyAssignmentTemplatesPtrOutput) +} + +type IamPolicyAssignmentTemplatesOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentTemplatesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyAssignmentTemplates)(nil)).Elem() +} + +func (o IamPolicyAssignmentTemplatesOutput) ToIamPolicyAssignmentTemplatesOutput() IamPolicyAssignmentTemplatesOutput { + return o +} + +func (o IamPolicyAssignmentTemplatesOutput) ToIamPolicyAssignmentTemplatesOutputWithContext(ctx context.Context) IamPolicyAssignmentTemplatesOutput { + return o +} + +func (o IamPolicyAssignmentTemplatesOutput) ToIamPolicyAssignmentTemplatesPtrOutput() IamPolicyAssignmentTemplatesPtrOutput { + return o.ToIamPolicyAssignmentTemplatesPtrOutputWithContext(context.Background()) +} + +func (o IamPolicyAssignmentTemplatesOutput) ToIamPolicyAssignmentTemplatesPtrOutputWithContext(ctx context.Context) IamPolicyAssignmentTemplatesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamPolicyAssignmentTemplates) *IamPolicyAssignmentTemplates { + return &v + }).(IamPolicyAssignmentTemplatesPtrOutput) +} + +// policy template id. +func (o IamPolicyAssignmentTemplatesOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyAssignmentTemplates) string { return v.Id }).(pulumi.StringOutput) +} + +// policy template version. +func (o IamPolicyAssignmentTemplatesOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyAssignmentTemplates) string { return v.Version }).(pulumi.StringOutput) +} + +type IamPolicyAssignmentTemplatesPtrOutput struct{ *pulumi.OutputState } + +func (IamPolicyAssignmentTemplatesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyAssignmentTemplates)(nil)).Elem() +} + +func (o IamPolicyAssignmentTemplatesPtrOutput) ToIamPolicyAssignmentTemplatesPtrOutput() IamPolicyAssignmentTemplatesPtrOutput { + return o +} + +func (o IamPolicyAssignmentTemplatesPtrOutput) ToIamPolicyAssignmentTemplatesPtrOutputWithContext(ctx context.Context) IamPolicyAssignmentTemplatesPtrOutput { + return o +} + +func (o IamPolicyAssignmentTemplatesPtrOutput) Elem() IamPolicyAssignmentTemplatesOutput { + return o.ApplyT(func(v *IamPolicyAssignmentTemplates) IamPolicyAssignmentTemplates { + if v != nil { + return *v + } + var ret IamPolicyAssignmentTemplates + return ret + }).(IamPolicyAssignmentTemplatesOutput) +} + +// policy template id. +func (o IamPolicyAssignmentTemplatesPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyAssignmentTemplates) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// policy template version. +func (o IamPolicyAssignmentTemplatesPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyAssignmentTemplates) *string { + if v == nil { + return nil + } + return &v.Version + }).(pulumi.StringPtrOutput) +} + +type IamPolicyTemplatePolicy struct { + // Allows the customer to use their own words to record the purpose/context related to a policy. + Description *string `pulumi:"description"` + // Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. + Pattern *string `pulumi:"pattern"` + // The resource attributes to which the policy grants access. + Resources []IamPolicyTemplatePolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamPolicyTemplatePolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + // The subject attributes for authorization type templates + Subjects []IamPolicyTemplatePolicySubject `pulumi:"subjects"` + // The policy type; either 'access' or 'authorization'. + Type string `pulumi:"type"` +} + +// IamPolicyTemplatePolicyInput is an input type that accepts IamPolicyTemplatePolicyArgs and IamPolicyTemplatePolicyOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyInput` via: +// +// IamPolicyTemplatePolicyArgs{...} +type IamPolicyTemplatePolicyInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyOutput() IamPolicyTemplatePolicyOutput + ToIamPolicyTemplatePolicyOutputWithContext(context.Context) IamPolicyTemplatePolicyOutput +} + +type IamPolicyTemplatePolicyArgs struct { + // Allows the customer to use their own words to record the purpose/context related to a policy. + Description pulumi.StringPtrInput `pulumi:"description"` + // Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. + Pattern pulumi.StringPtrInput `pulumi:"pattern"` + // The resource attributes to which the policy grants access. + Resources IamPolicyTemplatePolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions IamPolicyTemplatePolicyRuleConditionArrayInput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput `pulumi:"ruleOperator"` + // The subject attributes for authorization type templates + Subjects IamPolicyTemplatePolicySubjectArrayInput `pulumi:"subjects"` + // The policy type; either 'access' or 'authorization'. + Type pulumi.StringInput `pulumi:"type"` +} + +func (IamPolicyTemplatePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicy)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyArgs) ToIamPolicyTemplatePolicyOutput() IamPolicyTemplatePolicyOutput { + return i.ToIamPolicyTemplatePolicyOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyArgs) ToIamPolicyTemplatePolicyOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyOutput) +} + +func (i IamPolicyTemplatePolicyArgs) ToIamPolicyTemplatePolicyPtrOutput() IamPolicyTemplatePolicyPtrOutput { + return i.ToIamPolicyTemplatePolicyPtrOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyArgs) ToIamPolicyTemplatePolicyPtrOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyOutput).ToIamPolicyTemplatePolicyPtrOutputWithContext(ctx) +} + +// IamPolicyTemplatePolicyPtrInput is an input type that accepts IamPolicyTemplatePolicyArgs, IamPolicyTemplatePolicyPtr and IamPolicyTemplatePolicyPtrOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyPtrInput` via: +// +// IamPolicyTemplatePolicyArgs{...} +// +// or: +// +// nil +type IamPolicyTemplatePolicyPtrInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyPtrOutput() IamPolicyTemplatePolicyPtrOutput + ToIamPolicyTemplatePolicyPtrOutputWithContext(context.Context) IamPolicyTemplatePolicyPtrOutput +} + +type iamPolicyTemplatePolicyPtrType IamPolicyTemplatePolicyArgs + +func IamPolicyTemplatePolicyPtr(v *IamPolicyTemplatePolicyArgs) IamPolicyTemplatePolicyPtrInput { + return (*iamPolicyTemplatePolicyPtrType)(v) +} + +func (*iamPolicyTemplatePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplatePolicy)(nil)).Elem() +} + +func (i *iamPolicyTemplatePolicyPtrType) ToIamPolicyTemplatePolicyPtrOutput() IamPolicyTemplatePolicyPtrOutput { + return i.ToIamPolicyTemplatePolicyPtrOutputWithContext(context.Background()) +} + +func (i *iamPolicyTemplatePolicyPtrType) ToIamPolicyTemplatePolicyPtrOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyPtrOutput) +} + +type IamPolicyTemplatePolicyOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicy)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyOutput) ToIamPolicyTemplatePolicyOutput() IamPolicyTemplatePolicyOutput { + return o +} + +func (o IamPolicyTemplatePolicyOutput) ToIamPolicyTemplatePolicyOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyOutput { + return o +} + +func (o IamPolicyTemplatePolicyOutput) ToIamPolicyTemplatePolicyPtrOutput() IamPolicyTemplatePolicyPtrOutput { + return o.ToIamPolicyTemplatePolicyPtrOutputWithContext(context.Background()) +} + +func (o IamPolicyTemplatePolicyOutput) ToIamPolicyTemplatePolicyPtrOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamPolicyTemplatePolicy) *IamPolicyTemplatePolicy { + return &v + }).(IamPolicyTemplatePolicyPtrOutput) +} + +// Allows the customer to use their own words to record the purpose/context related to a policy. +func (o IamPolicyTemplatePolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicy) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. +func (o IamPolicyTemplatePolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicy) *string { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// The resource attributes to which the policy grants access. +func (o IamPolicyTemplatePolicyOutput) Resources() IamPolicyTemplatePolicyResourceArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicy) []IamPolicyTemplatePolicyResource { return v.Resources }).(IamPolicyTemplatePolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o IamPolicyTemplatePolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o IamPolicyTemplatePolicyOutput) RuleConditions() IamPolicyTemplatePolicyRuleConditionArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicy) []IamPolicyTemplatePolicyRuleCondition { return v.RuleConditions }).(IamPolicyTemplatePolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o IamPolicyTemplatePolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicy) *string { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +// The subject attributes for authorization type templates +func (o IamPolicyTemplatePolicyOutput) Subjects() IamPolicyTemplatePolicySubjectArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicy) []IamPolicyTemplatePolicySubject { return v.Subjects }).(IamPolicyTemplatePolicySubjectArrayOutput) +} + +// The policy type; either 'access' or 'authorization'. +func (o IamPolicyTemplatePolicyOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicy) string { return v.Type }).(pulumi.StringOutput) +} + +type IamPolicyTemplatePolicyPtrOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplatePolicy)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyPtrOutput) ToIamPolicyTemplatePolicyPtrOutput() IamPolicyTemplatePolicyPtrOutput { + return o +} + +func (o IamPolicyTemplatePolicyPtrOutput) ToIamPolicyTemplatePolicyPtrOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyPtrOutput { + return o +} + +func (o IamPolicyTemplatePolicyPtrOutput) Elem() IamPolicyTemplatePolicyOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) IamPolicyTemplatePolicy { + if v != nil { + return *v + } + var ret IamPolicyTemplatePolicy + return ret + }).(IamPolicyTemplatePolicyOutput) +} + +// Allows the customer to use their own words to record the purpose/context related to a policy. +func (o IamPolicyTemplatePolicyPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. +func (o IamPolicyTemplatePolicyPtrOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) *string { + if v == nil { + return nil + } + return v.Pattern + }).(pulumi.StringPtrOutput) +} + +// The resource attributes to which the policy grants access. +func (o IamPolicyTemplatePolicyPtrOutput) Resources() IamPolicyTemplatePolicyResourceArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) []IamPolicyTemplatePolicyResource { + if v == nil { + return nil + } + return v.Resources + }).(IamPolicyTemplatePolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o IamPolicyTemplatePolicyPtrOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) []string { + if v == nil { + return nil + } + return v.Roles + }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o IamPolicyTemplatePolicyPtrOutput) RuleConditions() IamPolicyTemplatePolicyRuleConditionArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) []IamPolicyTemplatePolicyRuleCondition { + if v == nil { + return nil + } + return v.RuleConditions + }).(IamPolicyTemplatePolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o IamPolicyTemplatePolicyPtrOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) *string { + if v == nil { + return nil + } + return v.RuleOperator + }).(pulumi.StringPtrOutput) +} + +// The subject attributes for authorization type templates +func (o IamPolicyTemplatePolicyPtrOutput) Subjects() IamPolicyTemplatePolicySubjectArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) []IamPolicyTemplatePolicySubject { + if v == nil { + return nil + } + return v.Subjects + }).(IamPolicyTemplatePolicySubjectArrayOutput) +} + +// The policy type; either 'access' or 'authorization'. +func (o IamPolicyTemplatePolicyPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplatePolicy) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type IamPolicyTemplatePolicyResource struct { + // List of resource attributes to which the policy grants access. + Attributes []IamPolicyTemplatePolicyResourceAttribute `pulumi:"attributes"` + // Optional list of resource tags to which the policy grants access. + Tags []IamPolicyTemplatePolicyResourceTag `pulumi:"tags"` +} + +// IamPolicyTemplatePolicyResourceInput is an input type that accepts IamPolicyTemplatePolicyResourceArgs and IamPolicyTemplatePolicyResourceOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyResourceInput` via: +// +// IamPolicyTemplatePolicyResourceArgs{...} +type IamPolicyTemplatePolicyResourceInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyResourceOutput() IamPolicyTemplatePolicyResourceOutput + ToIamPolicyTemplatePolicyResourceOutputWithContext(context.Context) IamPolicyTemplatePolicyResourceOutput +} + +type IamPolicyTemplatePolicyResourceArgs struct { + // List of resource attributes to which the policy grants access. + Attributes IamPolicyTemplatePolicyResourceAttributeArrayInput `pulumi:"attributes"` + // Optional list of resource tags to which the policy grants access. + Tags IamPolicyTemplatePolicyResourceTagArrayInput `pulumi:"tags"` +} + +func (IamPolicyTemplatePolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyResource)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyResourceArgs) ToIamPolicyTemplatePolicyResourceOutput() IamPolicyTemplatePolicyResourceOutput { + return i.ToIamPolicyTemplatePolicyResourceOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyResourceArgs) ToIamPolicyTemplatePolicyResourceOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyResourceOutput) +} + +// IamPolicyTemplatePolicyResourceArrayInput is an input type that accepts IamPolicyTemplatePolicyResourceArray and IamPolicyTemplatePolicyResourceArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyResourceArrayInput` via: +// +// IamPolicyTemplatePolicyResourceArray{ IamPolicyTemplatePolicyResourceArgs{...} } +type IamPolicyTemplatePolicyResourceArrayInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyResourceArrayOutput() IamPolicyTemplatePolicyResourceArrayOutput + ToIamPolicyTemplatePolicyResourceArrayOutputWithContext(context.Context) IamPolicyTemplatePolicyResourceArrayOutput +} + +type IamPolicyTemplatePolicyResourceArray []IamPolicyTemplatePolicyResourceInput + +func (IamPolicyTemplatePolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyResource)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyResourceArray) ToIamPolicyTemplatePolicyResourceArrayOutput() IamPolicyTemplatePolicyResourceArrayOutput { + return i.ToIamPolicyTemplatePolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyResourceArray) ToIamPolicyTemplatePolicyResourceArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyResourceArrayOutput) +} + +type IamPolicyTemplatePolicyResourceOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyResource)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyResourceOutput) ToIamPolicyTemplatePolicyResourceOutput() IamPolicyTemplatePolicyResourceOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceOutput) ToIamPolicyTemplatePolicyResourceOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceOutput { + return o +} + +// List of resource attributes to which the policy grants access. +func (o IamPolicyTemplatePolicyResourceOutput) Attributes() IamPolicyTemplatePolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyResource) []IamPolicyTemplatePolicyResourceAttribute { + return v.Attributes + }).(IamPolicyTemplatePolicyResourceAttributeArrayOutput) +} + +// Optional list of resource tags to which the policy grants access. +func (o IamPolicyTemplatePolicyResourceOutput) Tags() IamPolicyTemplatePolicyResourceTagArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyResource) []IamPolicyTemplatePolicyResourceTag { return v.Tags }).(IamPolicyTemplatePolicyResourceTagArrayOutput) +} + +type IamPolicyTemplatePolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyResource)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyResourceArrayOutput) ToIamPolicyTemplatePolicyResourceArrayOutput() IamPolicyTemplatePolicyResourceArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceArrayOutput) ToIamPolicyTemplatePolicyResourceArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplatePolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplatePolicyResource { + return vs[0].([]IamPolicyTemplatePolicyResource)[vs[1].(int)] + }).(IamPolicyTemplatePolicyResourceOutput) +} + +type IamPolicyTemplatePolicyResourceAttribute struct { + // The name of a resource attribute. + Key string `pulumi:"key"` + // The operator of an attribute. + Operator string `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value string `pulumi:"value"` +} + +// IamPolicyTemplatePolicyResourceAttributeInput is an input type that accepts IamPolicyTemplatePolicyResourceAttributeArgs and IamPolicyTemplatePolicyResourceAttributeOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyResourceAttributeInput` via: +// +// IamPolicyTemplatePolicyResourceAttributeArgs{...} +type IamPolicyTemplatePolicyResourceAttributeInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyResourceAttributeOutput() IamPolicyTemplatePolicyResourceAttributeOutput + ToIamPolicyTemplatePolicyResourceAttributeOutputWithContext(context.Context) IamPolicyTemplatePolicyResourceAttributeOutput +} + +type IamPolicyTemplatePolicyResourceAttributeArgs struct { + // The name of a resource attribute. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamPolicyTemplatePolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyResourceAttribute)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyResourceAttributeArgs) ToIamPolicyTemplatePolicyResourceAttributeOutput() IamPolicyTemplatePolicyResourceAttributeOutput { + return i.ToIamPolicyTemplatePolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyResourceAttributeArgs) ToIamPolicyTemplatePolicyResourceAttributeOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyResourceAttributeOutput) +} + +// IamPolicyTemplatePolicyResourceAttributeArrayInput is an input type that accepts IamPolicyTemplatePolicyResourceAttributeArray and IamPolicyTemplatePolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyResourceAttributeArrayInput` via: +// +// IamPolicyTemplatePolicyResourceAttributeArray{ IamPolicyTemplatePolicyResourceAttributeArgs{...} } +type IamPolicyTemplatePolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyResourceAttributeArrayOutput() IamPolicyTemplatePolicyResourceAttributeArrayOutput + ToIamPolicyTemplatePolicyResourceAttributeArrayOutputWithContext(context.Context) IamPolicyTemplatePolicyResourceAttributeArrayOutput +} + +type IamPolicyTemplatePolicyResourceAttributeArray []IamPolicyTemplatePolicyResourceAttributeInput + +func (IamPolicyTemplatePolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyResourceAttribute)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyResourceAttributeArray) ToIamPolicyTemplatePolicyResourceAttributeArrayOutput() IamPolicyTemplatePolicyResourceAttributeArrayOutput { + return i.ToIamPolicyTemplatePolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyResourceAttributeArray) ToIamPolicyTemplatePolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyResourceAttributeArrayOutput) +} + +type IamPolicyTemplatePolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyResourceAttribute)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyResourceAttributeOutput) ToIamPolicyTemplatePolicyResourceAttributeOutput() IamPolicyTemplatePolicyResourceAttributeOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceAttributeOutput) ToIamPolicyTemplatePolicyResourceAttributeOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceAttributeOutput { + return o +} + +// The name of a resource attribute. +func (o IamPolicyTemplatePolicyResourceAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyResourceAttribute) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an attribute. +func (o IamPolicyTemplatePolicyResourceAttributeOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyResourceAttribute) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. +func (o IamPolicyTemplatePolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamPolicyTemplatePolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyResourceAttribute)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyResourceAttributeArrayOutput) ToIamPolicyTemplatePolicyResourceAttributeArrayOutput() IamPolicyTemplatePolicyResourceAttributeArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceAttributeArrayOutput) ToIamPolicyTemplatePolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceAttributeArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplatePolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplatePolicyResourceAttribute { + return vs[0].([]IamPolicyTemplatePolicyResourceAttribute)[vs[1].(int)] + }).(IamPolicyTemplatePolicyResourceAttributeOutput) +} + +type IamPolicyTemplatePolicyResourceTag struct { + // The name of an access management tag. + Key string `pulumi:"key"` + // The operator of an access management tag. + Operator string `pulumi:"operator"` + // The value of an access management tag. + Value string `pulumi:"value"` +} + +// IamPolicyTemplatePolicyResourceTagInput is an input type that accepts IamPolicyTemplatePolicyResourceTagArgs and IamPolicyTemplatePolicyResourceTagOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyResourceTagInput` via: +// +// IamPolicyTemplatePolicyResourceTagArgs{...} +type IamPolicyTemplatePolicyResourceTagInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyResourceTagOutput() IamPolicyTemplatePolicyResourceTagOutput + ToIamPolicyTemplatePolicyResourceTagOutputWithContext(context.Context) IamPolicyTemplatePolicyResourceTagOutput +} + +type IamPolicyTemplatePolicyResourceTagArgs struct { + // The name of an access management tag. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an access management tag. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of an access management tag. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamPolicyTemplatePolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyResourceTag)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyResourceTagArgs) ToIamPolicyTemplatePolicyResourceTagOutput() IamPolicyTemplatePolicyResourceTagOutput { + return i.ToIamPolicyTemplatePolicyResourceTagOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyResourceTagArgs) ToIamPolicyTemplatePolicyResourceTagOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyResourceTagOutput) +} + +// IamPolicyTemplatePolicyResourceTagArrayInput is an input type that accepts IamPolicyTemplatePolicyResourceTagArray and IamPolicyTemplatePolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyResourceTagArrayInput` via: +// +// IamPolicyTemplatePolicyResourceTagArray{ IamPolicyTemplatePolicyResourceTagArgs{...} } +type IamPolicyTemplatePolicyResourceTagArrayInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyResourceTagArrayOutput() IamPolicyTemplatePolicyResourceTagArrayOutput + ToIamPolicyTemplatePolicyResourceTagArrayOutputWithContext(context.Context) IamPolicyTemplatePolicyResourceTagArrayOutput +} + +type IamPolicyTemplatePolicyResourceTagArray []IamPolicyTemplatePolicyResourceTagInput + +func (IamPolicyTemplatePolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyResourceTag)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyResourceTagArray) ToIamPolicyTemplatePolicyResourceTagArrayOutput() IamPolicyTemplatePolicyResourceTagArrayOutput { + return i.ToIamPolicyTemplatePolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyResourceTagArray) ToIamPolicyTemplatePolicyResourceTagArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyResourceTagArrayOutput) +} + +type IamPolicyTemplatePolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyResourceTag)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyResourceTagOutput) ToIamPolicyTemplatePolicyResourceTagOutput() IamPolicyTemplatePolicyResourceTagOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceTagOutput) ToIamPolicyTemplatePolicyResourceTagOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceTagOutput { + return o +} + +// The name of an access management tag. +func (o IamPolicyTemplatePolicyResourceTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyResourceTag) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an access management tag. +func (o IamPolicyTemplatePolicyResourceTagOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyResourceTag) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of an access management tag. +func (o IamPolicyTemplatePolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type IamPolicyTemplatePolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyResourceTag)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyResourceTagArrayOutput) ToIamPolicyTemplatePolicyResourceTagArrayOutput() IamPolicyTemplatePolicyResourceTagArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceTagArrayOutput) ToIamPolicyTemplatePolicyResourceTagArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyResourceTagArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyResourceTagArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplatePolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplatePolicyResourceTag { + return vs[0].([]IamPolicyTemplatePolicyResourceTag)[vs[1].(int)] + }).(IamPolicyTemplatePolicyResourceTagOutput) +} + +type IamPolicyTemplatePolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []IamPolicyTemplatePolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamPolicyTemplatePolicyRuleConditionInput is an input type that accepts IamPolicyTemplatePolicyRuleConditionArgs and IamPolicyTemplatePolicyRuleConditionOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyRuleConditionInput` via: +// +// IamPolicyTemplatePolicyRuleConditionArgs{...} +type IamPolicyTemplatePolicyRuleConditionInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyRuleConditionOutput() IamPolicyTemplatePolicyRuleConditionOutput + ToIamPolicyTemplatePolicyRuleConditionOutputWithContext(context.Context) IamPolicyTemplatePolicyRuleConditionOutput +} + +type IamPolicyTemplatePolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions IamPolicyTemplatePolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamPolicyTemplatePolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyRuleCondition)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyRuleConditionArgs) ToIamPolicyTemplatePolicyRuleConditionOutput() IamPolicyTemplatePolicyRuleConditionOutput { + return i.ToIamPolicyTemplatePolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyRuleConditionArgs) ToIamPolicyTemplatePolicyRuleConditionOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyRuleConditionOutput) +} + +// IamPolicyTemplatePolicyRuleConditionArrayInput is an input type that accepts IamPolicyTemplatePolicyRuleConditionArray and IamPolicyTemplatePolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyRuleConditionArrayInput` via: +// +// IamPolicyTemplatePolicyRuleConditionArray{ IamPolicyTemplatePolicyRuleConditionArgs{...} } +type IamPolicyTemplatePolicyRuleConditionArrayInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyRuleConditionArrayOutput() IamPolicyTemplatePolicyRuleConditionArrayOutput + ToIamPolicyTemplatePolicyRuleConditionArrayOutputWithContext(context.Context) IamPolicyTemplatePolicyRuleConditionArrayOutput +} + +type IamPolicyTemplatePolicyRuleConditionArray []IamPolicyTemplatePolicyRuleConditionInput + +func (IamPolicyTemplatePolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyRuleCondition)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyRuleConditionArray) ToIamPolicyTemplatePolicyRuleConditionArrayOutput() IamPolicyTemplatePolicyRuleConditionArrayOutput { + return i.ToIamPolicyTemplatePolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyRuleConditionArray) ToIamPolicyTemplatePolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyRuleConditionArrayOutput) +} + +type IamPolicyTemplatePolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyRuleCondition)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyRuleConditionOutput) ToIamPolicyTemplatePolicyRuleConditionOutput() IamPolicyTemplatePolicyRuleConditionOutput { + return o +} + +func (o IamPolicyTemplatePolicyRuleConditionOutput) ToIamPolicyTemplatePolicyRuleConditionOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o IamPolicyTemplatePolicyRuleConditionOutput) Conditions() IamPolicyTemplatePolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyRuleCondition) []IamPolicyTemplatePolicyRuleConditionCondition { + return v.Conditions + }).(IamPolicyTemplatePolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o IamPolicyTemplatePolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o IamPolicyTemplatePolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamPolicyTemplatePolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamPolicyTemplatePolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyRuleCondition)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyRuleConditionArrayOutput) ToIamPolicyTemplatePolicyRuleConditionArrayOutput() IamPolicyTemplatePolicyRuleConditionArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyRuleConditionArrayOutput) ToIamPolicyTemplatePolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyRuleConditionArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplatePolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplatePolicyRuleCondition { + return vs[0].([]IamPolicyTemplatePolicyRuleCondition)[vs[1].(int)] + }).(IamPolicyTemplatePolicyRuleConditionOutput) +} + +type IamPolicyTemplatePolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamPolicyTemplatePolicyRuleConditionConditionInput is an input type that accepts IamPolicyTemplatePolicyRuleConditionConditionArgs and IamPolicyTemplatePolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyRuleConditionConditionInput` via: +// +// IamPolicyTemplatePolicyRuleConditionConditionArgs{...} +type IamPolicyTemplatePolicyRuleConditionConditionInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyRuleConditionConditionOutput() IamPolicyTemplatePolicyRuleConditionConditionOutput + ToIamPolicyTemplatePolicyRuleConditionConditionOutputWithContext(context.Context) IamPolicyTemplatePolicyRuleConditionConditionOutput +} + +type IamPolicyTemplatePolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamPolicyTemplatePolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyRuleConditionConditionArgs) ToIamPolicyTemplatePolicyRuleConditionConditionOutput() IamPolicyTemplatePolicyRuleConditionConditionOutput { + return i.ToIamPolicyTemplatePolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyRuleConditionConditionArgs) ToIamPolicyTemplatePolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyRuleConditionConditionOutput) +} + +// IamPolicyTemplatePolicyRuleConditionConditionArrayInput is an input type that accepts IamPolicyTemplatePolicyRuleConditionConditionArray and IamPolicyTemplatePolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicyRuleConditionConditionArrayInput` via: +// +// IamPolicyTemplatePolicyRuleConditionConditionArray{ IamPolicyTemplatePolicyRuleConditionConditionArgs{...} } +type IamPolicyTemplatePolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicyRuleConditionConditionArrayOutput() IamPolicyTemplatePolicyRuleConditionConditionArrayOutput + ToIamPolicyTemplatePolicyRuleConditionConditionArrayOutputWithContext(context.Context) IamPolicyTemplatePolicyRuleConditionConditionArrayOutput +} + +type IamPolicyTemplatePolicyRuleConditionConditionArray []IamPolicyTemplatePolicyRuleConditionConditionInput + +func (IamPolicyTemplatePolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicyRuleConditionConditionArray) ToIamPolicyTemplatePolicyRuleConditionConditionArrayOutput() IamPolicyTemplatePolicyRuleConditionConditionArrayOutput { + return i.ToIamPolicyTemplatePolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicyRuleConditionConditionArray) ToIamPolicyTemplatePolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicyRuleConditionConditionArrayOutput) +} + +type IamPolicyTemplatePolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyRuleConditionConditionOutput) ToIamPolicyTemplatePolicyRuleConditionConditionOutput() IamPolicyTemplatePolicyRuleConditionConditionOutput { + return o +} + +func (o IamPolicyTemplatePolicyRuleConditionConditionOutput) ToIamPolicyTemplatePolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o IamPolicyTemplatePolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o IamPolicyTemplatePolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamPolicyTemplatePolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamPolicyTemplatePolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicyRuleConditionConditionArrayOutput) ToIamPolicyTemplatePolicyRuleConditionConditionArrayOutput() IamPolicyTemplatePolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyRuleConditionConditionArrayOutput) ToIamPolicyTemplatePolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplatePolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplatePolicyRuleConditionCondition { + return vs[0].([]IamPolicyTemplatePolicyRuleConditionCondition)[vs[1].(int)] + }).(IamPolicyTemplatePolicyRuleConditionConditionOutput) +} + +type IamPolicyTemplatePolicySubject struct { + // List of resource attributes to which the policy grants access. + Attributes []IamPolicyTemplatePolicySubjectAttribute `pulumi:"attributes"` +} + +// IamPolicyTemplatePolicySubjectInput is an input type that accepts IamPolicyTemplatePolicySubjectArgs and IamPolicyTemplatePolicySubjectOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicySubjectInput` via: +// +// IamPolicyTemplatePolicySubjectArgs{...} +type IamPolicyTemplatePolicySubjectInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicySubjectOutput() IamPolicyTemplatePolicySubjectOutput + ToIamPolicyTemplatePolicySubjectOutputWithContext(context.Context) IamPolicyTemplatePolicySubjectOutput +} + +type IamPolicyTemplatePolicySubjectArgs struct { + // List of resource attributes to which the policy grants access. + Attributes IamPolicyTemplatePolicySubjectAttributeArrayInput `pulumi:"attributes"` +} + +func (IamPolicyTemplatePolicySubjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicySubject)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicySubjectArgs) ToIamPolicyTemplatePolicySubjectOutput() IamPolicyTemplatePolicySubjectOutput { + return i.ToIamPolicyTemplatePolicySubjectOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicySubjectArgs) ToIamPolicyTemplatePolicySubjectOutputWithContext(ctx context.Context) IamPolicyTemplatePolicySubjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicySubjectOutput) +} + +// IamPolicyTemplatePolicySubjectArrayInput is an input type that accepts IamPolicyTemplatePolicySubjectArray and IamPolicyTemplatePolicySubjectArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicySubjectArrayInput` via: +// +// IamPolicyTemplatePolicySubjectArray{ IamPolicyTemplatePolicySubjectArgs{...} } +type IamPolicyTemplatePolicySubjectArrayInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicySubjectArrayOutput() IamPolicyTemplatePolicySubjectArrayOutput + ToIamPolicyTemplatePolicySubjectArrayOutputWithContext(context.Context) IamPolicyTemplatePolicySubjectArrayOutput +} + +type IamPolicyTemplatePolicySubjectArray []IamPolicyTemplatePolicySubjectInput + +func (IamPolicyTemplatePolicySubjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicySubject)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicySubjectArray) ToIamPolicyTemplatePolicySubjectArrayOutput() IamPolicyTemplatePolicySubjectArrayOutput { + return i.ToIamPolicyTemplatePolicySubjectArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicySubjectArray) ToIamPolicyTemplatePolicySubjectArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicySubjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicySubjectArrayOutput) +} + +type IamPolicyTemplatePolicySubjectOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicySubjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicySubject)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicySubjectOutput) ToIamPolicyTemplatePolicySubjectOutput() IamPolicyTemplatePolicySubjectOutput { + return o +} + +func (o IamPolicyTemplatePolicySubjectOutput) ToIamPolicyTemplatePolicySubjectOutputWithContext(ctx context.Context) IamPolicyTemplatePolicySubjectOutput { + return o +} + +// List of resource attributes to which the policy grants access. +func (o IamPolicyTemplatePolicySubjectOutput) Attributes() IamPolicyTemplatePolicySubjectAttributeArrayOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicySubject) []IamPolicyTemplatePolicySubjectAttribute { return v.Attributes }).(IamPolicyTemplatePolicySubjectAttributeArrayOutput) +} + +type IamPolicyTemplatePolicySubjectArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicySubjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicySubject)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicySubjectArrayOutput) ToIamPolicyTemplatePolicySubjectArrayOutput() IamPolicyTemplatePolicySubjectArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicySubjectArrayOutput) ToIamPolicyTemplatePolicySubjectArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicySubjectArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicySubjectArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplatePolicySubjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplatePolicySubject { + return vs[0].([]IamPolicyTemplatePolicySubject)[vs[1].(int)] + }).(IamPolicyTemplatePolicySubjectOutput) +} + +type IamPolicyTemplatePolicySubjectAttribute struct { + // The name of a resource attribute. + Key string `pulumi:"key"` + // The operator of an attribute. + Operator string `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value string `pulumi:"value"` +} + +// IamPolicyTemplatePolicySubjectAttributeInput is an input type that accepts IamPolicyTemplatePolicySubjectAttributeArgs and IamPolicyTemplatePolicySubjectAttributeOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicySubjectAttributeInput` via: +// +// IamPolicyTemplatePolicySubjectAttributeArgs{...} +type IamPolicyTemplatePolicySubjectAttributeInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicySubjectAttributeOutput() IamPolicyTemplatePolicySubjectAttributeOutput + ToIamPolicyTemplatePolicySubjectAttributeOutputWithContext(context.Context) IamPolicyTemplatePolicySubjectAttributeOutput +} + +type IamPolicyTemplatePolicySubjectAttributeArgs struct { + // The name of a resource attribute. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamPolicyTemplatePolicySubjectAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicySubjectAttribute)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicySubjectAttributeArgs) ToIamPolicyTemplatePolicySubjectAttributeOutput() IamPolicyTemplatePolicySubjectAttributeOutput { + return i.ToIamPolicyTemplatePolicySubjectAttributeOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicySubjectAttributeArgs) ToIamPolicyTemplatePolicySubjectAttributeOutputWithContext(ctx context.Context) IamPolicyTemplatePolicySubjectAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicySubjectAttributeOutput) +} + +// IamPolicyTemplatePolicySubjectAttributeArrayInput is an input type that accepts IamPolicyTemplatePolicySubjectAttributeArray and IamPolicyTemplatePolicySubjectAttributeArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplatePolicySubjectAttributeArrayInput` via: +// +// IamPolicyTemplatePolicySubjectAttributeArray{ IamPolicyTemplatePolicySubjectAttributeArgs{...} } +type IamPolicyTemplatePolicySubjectAttributeArrayInput interface { + pulumi.Input + + ToIamPolicyTemplatePolicySubjectAttributeArrayOutput() IamPolicyTemplatePolicySubjectAttributeArrayOutput + ToIamPolicyTemplatePolicySubjectAttributeArrayOutputWithContext(context.Context) IamPolicyTemplatePolicySubjectAttributeArrayOutput +} + +type IamPolicyTemplatePolicySubjectAttributeArray []IamPolicyTemplatePolicySubjectAttributeInput + +func (IamPolicyTemplatePolicySubjectAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicySubjectAttribute)(nil)).Elem() +} + +func (i IamPolicyTemplatePolicySubjectAttributeArray) ToIamPolicyTemplatePolicySubjectAttributeArrayOutput() IamPolicyTemplatePolicySubjectAttributeArrayOutput { + return i.ToIamPolicyTemplatePolicySubjectAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplatePolicySubjectAttributeArray) ToIamPolicyTemplatePolicySubjectAttributeArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicySubjectAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplatePolicySubjectAttributeArrayOutput) +} + +type IamPolicyTemplatePolicySubjectAttributeOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicySubjectAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplatePolicySubjectAttribute)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicySubjectAttributeOutput) ToIamPolicyTemplatePolicySubjectAttributeOutput() IamPolicyTemplatePolicySubjectAttributeOutput { + return o +} + +func (o IamPolicyTemplatePolicySubjectAttributeOutput) ToIamPolicyTemplatePolicySubjectAttributeOutputWithContext(ctx context.Context) IamPolicyTemplatePolicySubjectAttributeOutput { + return o +} + +// The name of a resource attribute. +func (o IamPolicyTemplatePolicySubjectAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicySubjectAttribute) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an attribute. +func (o IamPolicyTemplatePolicySubjectAttributeOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicySubjectAttribute) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. +func (o IamPolicyTemplatePolicySubjectAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplatePolicySubjectAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamPolicyTemplatePolicySubjectAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplatePolicySubjectAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplatePolicySubjectAttribute)(nil)).Elem() +} + +func (o IamPolicyTemplatePolicySubjectAttributeArrayOutput) ToIamPolicyTemplatePolicySubjectAttributeArrayOutput() IamPolicyTemplatePolicySubjectAttributeArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicySubjectAttributeArrayOutput) ToIamPolicyTemplatePolicySubjectAttributeArrayOutputWithContext(ctx context.Context) IamPolicyTemplatePolicySubjectAttributeArrayOutput { + return o +} + +func (o IamPolicyTemplatePolicySubjectAttributeArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplatePolicySubjectAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplatePolicySubjectAttribute { + return vs[0].([]IamPolicyTemplatePolicySubjectAttribute)[vs[1].(int)] + }).(IamPolicyTemplatePolicySubjectAttributeOutput) +} + +type IamPolicyTemplateVersionPolicy struct { + // Allows the customer to use their own words to record the purpose/context related to a policy. + Description *string `pulumi:"description"` + // Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. + Pattern *string `pulumi:"pattern"` + // The resource attributes to which the policy grants access. + Resource *IamPolicyTemplateVersionPolicyResource `pulumi:"resource"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []IamPolicyTemplateVersionPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + // The subject attributes for authorization type templates + Subjects []IamPolicyTemplateVersionPolicySubject `pulumi:"subjects"` + // The policy type; either 'access' or 'authorization'. + Type string `pulumi:"type"` +} + +// IamPolicyTemplateVersionPolicyInput is an input type that accepts IamPolicyTemplateVersionPolicyArgs and IamPolicyTemplateVersionPolicyOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyInput` via: +// +// IamPolicyTemplateVersionPolicyArgs{...} +type IamPolicyTemplateVersionPolicyInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyOutput() IamPolicyTemplateVersionPolicyOutput + ToIamPolicyTemplateVersionPolicyOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyOutput +} + +type IamPolicyTemplateVersionPolicyArgs struct { + // Allows the customer to use their own words to record the purpose/context related to a policy. + Description pulumi.StringPtrInput `pulumi:"description"` + // Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. + Pattern pulumi.StringPtrInput `pulumi:"pattern"` + // The resource attributes to which the policy grants access. + Resource IamPolicyTemplateVersionPolicyResourcePtrInput `pulumi:"resource"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions IamPolicyTemplateVersionPolicyRuleConditionArrayInput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput `pulumi:"ruleOperator"` + // The subject attributes for authorization type templates + Subjects IamPolicyTemplateVersionPolicySubjectArrayInput `pulumi:"subjects"` + // The policy type; either 'access' or 'authorization'. + Type pulumi.StringInput `pulumi:"type"` +} + +func (IamPolicyTemplateVersionPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicy)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyArgs) ToIamPolicyTemplateVersionPolicyOutput() IamPolicyTemplateVersionPolicyOutput { + return i.ToIamPolicyTemplateVersionPolicyOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyArgs) ToIamPolicyTemplateVersionPolicyOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyOutput) +} + +func (i IamPolicyTemplateVersionPolicyArgs) ToIamPolicyTemplateVersionPolicyPtrOutput() IamPolicyTemplateVersionPolicyPtrOutput { + return i.ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyArgs) ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyOutput).ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(ctx) +} + +// IamPolicyTemplateVersionPolicyPtrInput is an input type that accepts IamPolicyTemplateVersionPolicyArgs, IamPolicyTemplateVersionPolicyPtr and IamPolicyTemplateVersionPolicyPtrOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyPtrInput` via: +// +// IamPolicyTemplateVersionPolicyArgs{...} +// +// or: +// +// nil +type IamPolicyTemplateVersionPolicyPtrInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyPtrOutput() IamPolicyTemplateVersionPolicyPtrOutput + ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyPtrOutput +} + +type iamPolicyTemplateVersionPolicyPtrType IamPolicyTemplateVersionPolicyArgs + +func IamPolicyTemplateVersionPolicyPtr(v *IamPolicyTemplateVersionPolicyArgs) IamPolicyTemplateVersionPolicyPtrInput { + return (*iamPolicyTemplateVersionPolicyPtrType)(v) +} + +func (*iamPolicyTemplateVersionPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplateVersionPolicy)(nil)).Elem() +} + +func (i *iamPolicyTemplateVersionPolicyPtrType) ToIamPolicyTemplateVersionPolicyPtrOutput() IamPolicyTemplateVersionPolicyPtrOutput { + return i.ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(context.Background()) +} + +func (i *iamPolicyTemplateVersionPolicyPtrType) ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyPtrOutput) +} + +type IamPolicyTemplateVersionPolicyOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicy)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyOutput) ToIamPolicyTemplateVersionPolicyOutput() IamPolicyTemplateVersionPolicyOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyOutput) ToIamPolicyTemplateVersionPolicyOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyOutput) ToIamPolicyTemplateVersionPolicyPtrOutput() IamPolicyTemplateVersionPolicyPtrOutput { + return o.ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(context.Background()) +} + +func (o IamPolicyTemplateVersionPolicyOutput) ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamPolicyTemplateVersionPolicy) *IamPolicyTemplateVersionPolicy { + return &v + }).(IamPolicyTemplateVersionPolicyPtrOutput) +} + +// Allows the customer to use their own words to record the purpose/context related to a policy. +func (o IamPolicyTemplateVersionPolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicy) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. +func (o IamPolicyTemplateVersionPolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicy) *string { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// The resource attributes to which the policy grants access. +func (o IamPolicyTemplateVersionPolicyOutput) Resource() IamPolicyTemplateVersionPolicyResourcePtrOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicy) *IamPolicyTemplateVersionPolicyResource { return v.Resource }).(IamPolicyTemplateVersionPolicyResourcePtrOutput) +} + +// Role names of the policy definition +func (o IamPolicyTemplateVersionPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o IamPolicyTemplateVersionPolicyOutput) RuleConditions() IamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicy) []IamPolicyTemplateVersionPolicyRuleCondition { + return v.RuleConditions + }).(IamPolicyTemplateVersionPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o IamPolicyTemplateVersionPolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicy) *string { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +// The subject attributes for authorization type templates +func (o IamPolicyTemplateVersionPolicyOutput) Subjects() IamPolicyTemplateVersionPolicySubjectArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicy) []IamPolicyTemplateVersionPolicySubject { return v.Subjects }).(IamPolicyTemplateVersionPolicySubjectArrayOutput) +} + +// The policy type; either 'access' or 'authorization'. +func (o IamPolicyTemplateVersionPolicyOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicy) string { return v.Type }).(pulumi.StringOutput) +} + +type IamPolicyTemplateVersionPolicyPtrOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplateVersionPolicy)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyPtrOutput) ToIamPolicyTemplateVersionPolicyPtrOutput() IamPolicyTemplateVersionPolicyPtrOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyPtrOutput) ToIamPolicyTemplateVersionPolicyPtrOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyPtrOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyPtrOutput) Elem() IamPolicyTemplateVersionPolicyOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) IamPolicyTemplateVersionPolicy { + if v != nil { + return *v + } + var ret IamPolicyTemplateVersionPolicy + return ret + }).(IamPolicyTemplateVersionPolicyOutput) +} + +// Allows the customer to use their own words to record the purpose/context related to a policy. +func (o IamPolicyTemplateVersionPolicyPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. +func (o IamPolicyTemplateVersionPolicyPtrOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) *string { + if v == nil { + return nil + } + return v.Pattern + }).(pulumi.StringPtrOutput) +} + +// The resource attributes to which the policy grants access. +func (o IamPolicyTemplateVersionPolicyPtrOutput) Resource() IamPolicyTemplateVersionPolicyResourcePtrOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) *IamPolicyTemplateVersionPolicyResource { + if v == nil { + return nil + } + return v.Resource + }).(IamPolicyTemplateVersionPolicyResourcePtrOutput) +} + +// Role names of the policy definition +func (o IamPolicyTemplateVersionPolicyPtrOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) []string { + if v == nil { + return nil + } + return v.Roles + }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o IamPolicyTemplateVersionPolicyPtrOutput) RuleConditions() IamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) []IamPolicyTemplateVersionPolicyRuleCondition { + if v == nil { + return nil + } + return v.RuleConditions + }).(IamPolicyTemplateVersionPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o IamPolicyTemplateVersionPolicyPtrOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) *string { + if v == nil { + return nil + } + return v.RuleOperator + }).(pulumi.StringPtrOutput) +} + +// The subject attributes for authorization type templates +func (o IamPolicyTemplateVersionPolicyPtrOutput) Subjects() IamPolicyTemplateVersionPolicySubjectArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) []IamPolicyTemplateVersionPolicySubject { + if v == nil { + return nil + } + return v.Subjects + }).(IamPolicyTemplateVersionPolicySubjectArrayOutput) +} + +// The policy type; either 'access' or 'authorization'. +func (o IamPolicyTemplateVersionPolicyPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicy) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type IamPolicyTemplateVersionPolicyResource struct { + // List of resource attributes to which the policy grants access. + Attributes []IamPolicyTemplateVersionPolicyResourceAttribute `pulumi:"attributes"` + // Optional list of resource tags to which the policy grants access. + Tags []IamPolicyTemplateVersionPolicyResourceTag `pulumi:"tags"` +} + +// IamPolicyTemplateVersionPolicyResourceInput is an input type that accepts IamPolicyTemplateVersionPolicyResourceArgs and IamPolicyTemplateVersionPolicyResourceOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyResourceInput` via: +// +// IamPolicyTemplateVersionPolicyResourceArgs{...} +type IamPolicyTemplateVersionPolicyResourceInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyResourceOutput() IamPolicyTemplateVersionPolicyResourceOutput + ToIamPolicyTemplateVersionPolicyResourceOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyResourceOutput +} + +type IamPolicyTemplateVersionPolicyResourceArgs struct { + // List of resource attributes to which the policy grants access. + Attributes IamPolicyTemplateVersionPolicyResourceAttributeArrayInput `pulumi:"attributes"` + // Optional list of resource tags to which the policy grants access. + Tags IamPolicyTemplateVersionPolicyResourceTagArrayInput `pulumi:"tags"` +} + +func (IamPolicyTemplateVersionPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyResource)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyResourceArgs) ToIamPolicyTemplateVersionPolicyResourceOutput() IamPolicyTemplateVersionPolicyResourceOutput { + return i.ToIamPolicyTemplateVersionPolicyResourceOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyResourceArgs) ToIamPolicyTemplateVersionPolicyResourceOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyResourceOutput) +} + +func (i IamPolicyTemplateVersionPolicyResourceArgs) ToIamPolicyTemplateVersionPolicyResourcePtrOutput() IamPolicyTemplateVersionPolicyResourcePtrOutput { + return i.ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyResourceArgs) ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyResourceOutput).ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(ctx) +} + +// IamPolicyTemplateVersionPolicyResourcePtrInput is an input type that accepts IamPolicyTemplateVersionPolicyResourceArgs, IamPolicyTemplateVersionPolicyResourcePtr and IamPolicyTemplateVersionPolicyResourcePtrOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyResourcePtrInput` via: +// +// IamPolicyTemplateVersionPolicyResourceArgs{...} +// +// or: +// +// nil +type IamPolicyTemplateVersionPolicyResourcePtrInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyResourcePtrOutput() IamPolicyTemplateVersionPolicyResourcePtrOutput + ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyResourcePtrOutput +} + +type iamPolicyTemplateVersionPolicyResourcePtrType IamPolicyTemplateVersionPolicyResourceArgs + +func IamPolicyTemplateVersionPolicyResourcePtr(v *IamPolicyTemplateVersionPolicyResourceArgs) IamPolicyTemplateVersionPolicyResourcePtrInput { + return (*iamPolicyTemplateVersionPolicyResourcePtrType)(v) +} + +func (*iamPolicyTemplateVersionPolicyResourcePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplateVersionPolicyResource)(nil)).Elem() +} + +func (i *iamPolicyTemplateVersionPolicyResourcePtrType) ToIamPolicyTemplateVersionPolicyResourcePtrOutput() IamPolicyTemplateVersionPolicyResourcePtrOutput { + return i.ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(context.Background()) +} + +func (i *iamPolicyTemplateVersionPolicyResourcePtrType) ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyResourcePtrOutput) +} + +type IamPolicyTemplateVersionPolicyResourceOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyResource)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyResourceOutput) ToIamPolicyTemplateVersionPolicyResourceOutput() IamPolicyTemplateVersionPolicyResourceOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourceOutput) ToIamPolicyTemplateVersionPolicyResourceOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourceOutput) ToIamPolicyTemplateVersionPolicyResourcePtrOutput() IamPolicyTemplateVersionPolicyResourcePtrOutput { + return o.ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(context.Background()) +} + +func (o IamPolicyTemplateVersionPolicyResourceOutput) ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamPolicyTemplateVersionPolicyResource) *IamPolicyTemplateVersionPolicyResource { + return &v + }).(IamPolicyTemplateVersionPolicyResourcePtrOutput) +} + +// List of resource attributes to which the policy grants access. +func (o IamPolicyTemplateVersionPolicyResourceOutput) Attributes() IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyResource) []IamPolicyTemplateVersionPolicyResourceAttribute { + return v.Attributes + }).(IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) +} + +// Optional list of resource tags to which the policy grants access. +func (o IamPolicyTemplateVersionPolicyResourceOutput) Tags() IamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyResource) []IamPolicyTemplateVersionPolicyResourceTag { + return v.Tags + }).(IamPolicyTemplateVersionPolicyResourceTagArrayOutput) +} + +type IamPolicyTemplateVersionPolicyResourcePtrOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyResourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamPolicyTemplateVersionPolicyResource)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyResourcePtrOutput) ToIamPolicyTemplateVersionPolicyResourcePtrOutput() IamPolicyTemplateVersionPolicyResourcePtrOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourcePtrOutput) ToIamPolicyTemplateVersionPolicyResourcePtrOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourcePtrOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourcePtrOutput) Elem() IamPolicyTemplateVersionPolicyResourceOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicyResource) IamPolicyTemplateVersionPolicyResource { + if v != nil { + return *v + } + var ret IamPolicyTemplateVersionPolicyResource + return ret + }).(IamPolicyTemplateVersionPolicyResourceOutput) +} + +// List of resource attributes to which the policy grants access. +func (o IamPolicyTemplateVersionPolicyResourcePtrOutput) Attributes() IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicyResource) []IamPolicyTemplateVersionPolicyResourceAttribute { + if v == nil { + return nil + } + return v.Attributes + }).(IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) +} + +// Optional list of resource tags to which the policy grants access. +func (o IamPolicyTemplateVersionPolicyResourcePtrOutput) Tags() IamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return o.ApplyT(func(v *IamPolicyTemplateVersionPolicyResource) []IamPolicyTemplateVersionPolicyResourceTag { + if v == nil { + return nil + } + return v.Tags + }).(IamPolicyTemplateVersionPolicyResourceTagArrayOutput) +} + +type IamPolicyTemplateVersionPolicyResourceAttribute struct { + // The name of a resource attribute. + Key string `pulumi:"key"` + // The operator of an attribute. + Operator string `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value string `pulumi:"value"` +} + +// IamPolicyTemplateVersionPolicyResourceAttributeInput is an input type that accepts IamPolicyTemplateVersionPolicyResourceAttributeArgs and IamPolicyTemplateVersionPolicyResourceAttributeOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyResourceAttributeInput` via: +// +// IamPolicyTemplateVersionPolicyResourceAttributeArgs{...} +type IamPolicyTemplateVersionPolicyResourceAttributeInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyResourceAttributeOutput() IamPolicyTemplateVersionPolicyResourceAttributeOutput + ToIamPolicyTemplateVersionPolicyResourceAttributeOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyResourceAttributeOutput +} + +type IamPolicyTemplateVersionPolicyResourceAttributeArgs struct { + // The name of a resource attribute. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamPolicyTemplateVersionPolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceAttribute)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyResourceAttributeArgs) ToIamPolicyTemplateVersionPolicyResourceAttributeOutput() IamPolicyTemplateVersionPolicyResourceAttributeOutput { + return i.ToIamPolicyTemplateVersionPolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyResourceAttributeArgs) ToIamPolicyTemplateVersionPolicyResourceAttributeOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyResourceAttributeOutput) +} + +// IamPolicyTemplateVersionPolicyResourceAttributeArrayInput is an input type that accepts IamPolicyTemplateVersionPolicyResourceAttributeArray and IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyResourceAttributeArrayInput` via: +// +// IamPolicyTemplateVersionPolicyResourceAttributeArray{ IamPolicyTemplateVersionPolicyResourceAttributeArgs{...} } +type IamPolicyTemplateVersionPolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput() IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput + ToIamPolicyTemplateVersionPolicyResourceAttributeArrayOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput +} + +type IamPolicyTemplateVersionPolicyResourceAttributeArray []IamPolicyTemplateVersionPolicyResourceAttributeInput + +func (IamPolicyTemplateVersionPolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicyResourceAttribute)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyResourceAttributeArray) ToIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput() IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return i.ToIamPolicyTemplateVersionPolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyResourceAttributeArray) ToIamPolicyTemplateVersionPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) +} + +type IamPolicyTemplateVersionPolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceAttribute)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyResourceAttributeOutput) ToIamPolicyTemplateVersionPolicyResourceAttributeOutput() IamPolicyTemplateVersionPolicyResourceAttributeOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourceAttributeOutput) ToIamPolicyTemplateVersionPolicyResourceAttributeOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceAttributeOutput { + return o +} + +// The name of a resource attribute. +func (o IamPolicyTemplateVersionPolicyResourceAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyResourceAttribute) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an attribute. +func (o IamPolicyTemplateVersionPolicyResourceAttributeOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyResourceAttribute) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. +func (o IamPolicyTemplateVersionPolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicyResourceAttribute)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) ToIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput() IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) ToIamPolicyTemplateVersionPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplateVersionPolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplateVersionPolicyResourceAttribute { + return vs[0].([]IamPolicyTemplateVersionPolicyResourceAttribute)[vs[1].(int)] + }).(IamPolicyTemplateVersionPolicyResourceAttributeOutput) +} + +type IamPolicyTemplateVersionPolicyResourceTag struct { + // The name of an access management tag. + Key string `pulumi:"key"` + // The operator of an access management tag. + Operator string `pulumi:"operator"` + // The value of an access management tag. + Value string `pulumi:"value"` +} + +// IamPolicyTemplateVersionPolicyResourceTagInput is an input type that accepts IamPolicyTemplateVersionPolicyResourceTagArgs and IamPolicyTemplateVersionPolicyResourceTagOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyResourceTagInput` via: +// +// IamPolicyTemplateVersionPolicyResourceTagArgs{...} +type IamPolicyTemplateVersionPolicyResourceTagInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyResourceTagOutput() IamPolicyTemplateVersionPolicyResourceTagOutput + ToIamPolicyTemplateVersionPolicyResourceTagOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyResourceTagOutput +} + +type IamPolicyTemplateVersionPolicyResourceTagArgs struct { + // The name of an access management tag. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an access management tag. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of an access management tag. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamPolicyTemplateVersionPolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceTag)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyResourceTagArgs) ToIamPolicyTemplateVersionPolicyResourceTagOutput() IamPolicyTemplateVersionPolicyResourceTagOutput { + return i.ToIamPolicyTemplateVersionPolicyResourceTagOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyResourceTagArgs) ToIamPolicyTemplateVersionPolicyResourceTagOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyResourceTagOutput) +} + +// IamPolicyTemplateVersionPolicyResourceTagArrayInput is an input type that accepts IamPolicyTemplateVersionPolicyResourceTagArray and IamPolicyTemplateVersionPolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyResourceTagArrayInput` via: +// +// IamPolicyTemplateVersionPolicyResourceTagArray{ IamPolicyTemplateVersionPolicyResourceTagArgs{...} } +type IamPolicyTemplateVersionPolicyResourceTagArrayInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyResourceTagArrayOutput() IamPolicyTemplateVersionPolicyResourceTagArrayOutput + ToIamPolicyTemplateVersionPolicyResourceTagArrayOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyResourceTagArrayOutput +} + +type IamPolicyTemplateVersionPolicyResourceTagArray []IamPolicyTemplateVersionPolicyResourceTagInput + +func (IamPolicyTemplateVersionPolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicyResourceTag)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyResourceTagArray) ToIamPolicyTemplateVersionPolicyResourceTagArrayOutput() IamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return i.ToIamPolicyTemplateVersionPolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyResourceTagArray) ToIamPolicyTemplateVersionPolicyResourceTagArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyResourceTagArrayOutput) +} + +type IamPolicyTemplateVersionPolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceTag)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyResourceTagOutput) ToIamPolicyTemplateVersionPolicyResourceTagOutput() IamPolicyTemplateVersionPolicyResourceTagOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourceTagOutput) ToIamPolicyTemplateVersionPolicyResourceTagOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceTagOutput { + return o +} + +// The name of an access management tag. +func (o IamPolicyTemplateVersionPolicyResourceTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyResourceTag) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an access management tag. +func (o IamPolicyTemplateVersionPolicyResourceTagOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyResourceTag) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of an access management tag. +func (o IamPolicyTemplateVersionPolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type IamPolicyTemplateVersionPolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicyResourceTag)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyResourceTagArrayOutput) ToIamPolicyTemplateVersionPolicyResourceTagArrayOutput() IamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourceTagArrayOutput) ToIamPolicyTemplateVersionPolicyResourceTagArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyResourceTagArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplateVersionPolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplateVersionPolicyResourceTag { + return vs[0].([]IamPolicyTemplateVersionPolicyResourceTag)[vs[1].(int)] + }).(IamPolicyTemplateVersionPolicyResourceTagOutput) +} + +type IamPolicyTemplateVersionPolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []IamPolicyTemplateVersionPolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamPolicyTemplateVersionPolicyRuleConditionInput is an input type that accepts IamPolicyTemplateVersionPolicyRuleConditionArgs and IamPolicyTemplateVersionPolicyRuleConditionOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyRuleConditionInput` via: +// +// IamPolicyTemplateVersionPolicyRuleConditionArgs{...} +type IamPolicyTemplateVersionPolicyRuleConditionInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyRuleConditionOutput() IamPolicyTemplateVersionPolicyRuleConditionOutput + ToIamPolicyTemplateVersionPolicyRuleConditionOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyRuleConditionOutput +} + +type IamPolicyTemplateVersionPolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions IamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamPolicyTemplateVersionPolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyRuleCondition)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyRuleConditionArgs) ToIamPolicyTemplateVersionPolicyRuleConditionOutput() IamPolicyTemplateVersionPolicyRuleConditionOutput { + return i.ToIamPolicyTemplateVersionPolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyRuleConditionArgs) ToIamPolicyTemplateVersionPolicyRuleConditionOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyRuleConditionOutput) +} + +// IamPolicyTemplateVersionPolicyRuleConditionArrayInput is an input type that accepts IamPolicyTemplateVersionPolicyRuleConditionArray and IamPolicyTemplateVersionPolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyRuleConditionArrayInput` via: +// +// IamPolicyTemplateVersionPolicyRuleConditionArray{ IamPolicyTemplateVersionPolicyRuleConditionArgs{...} } +type IamPolicyTemplateVersionPolicyRuleConditionArrayInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyRuleConditionArrayOutput() IamPolicyTemplateVersionPolicyRuleConditionArrayOutput + ToIamPolicyTemplateVersionPolicyRuleConditionArrayOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyRuleConditionArrayOutput +} + +type IamPolicyTemplateVersionPolicyRuleConditionArray []IamPolicyTemplateVersionPolicyRuleConditionInput + +func (IamPolicyTemplateVersionPolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicyRuleCondition)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyRuleConditionArray) ToIamPolicyTemplateVersionPolicyRuleConditionArrayOutput() IamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return i.ToIamPolicyTemplateVersionPolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyRuleConditionArray) ToIamPolicyTemplateVersionPolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyRuleConditionArrayOutput) +} + +type IamPolicyTemplateVersionPolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyRuleCondition)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionOutput) ToIamPolicyTemplateVersionPolicyRuleConditionOutput() IamPolicyTemplateVersionPolicyRuleConditionOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionOutput) ToIamPolicyTemplateVersionPolicyRuleConditionOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o IamPolicyTemplateVersionPolicyRuleConditionOutput) Conditions() IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyRuleCondition) []IamPolicyTemplateVersionPolicyRuleConditionCondition { + return v.Conditions + }).(IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o IamPolicyTemplateVersionPolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o IamPolicyTemplateVersionPolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamPolicyTemplateVersionPolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamPolicyTemplateVersionPolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicyRuleCondition)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionArrayOutput) ToIamPolicyTemplateVersionPolicyRuleConditionArrayOutput() IamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionArrayOutput) ToIamPolicyTemplateVersionPolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplateVersionPolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplateVersionPolicyRuleCondition { + return vs[0].([]IamPolicyTemplateVersionPolicyRuleCondition)[vs[1].(int)] + }).(IamPolicyTemplateVersionPolicyRuleConditionOutput) +} + +type IamPolicyTemplateVersionPolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamPolicyTemplateVersionPolicyRuleConditionConditionInput is an input type that accepts IamPolicyTemplateVersionPolicyRuleConditionConditionArgs and IamPolicyTemplateVersionPolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyRuleConditionConditionInput` via: +// +// IamPolicyTemplateVersionPolicyRuleConditionConditionArgs{...} +type IamPolicyTemplateVersionPolicyRuleConditionConditionInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyRuleConditionConditionOutput() IamPolicyTemplateVersionPolicyRuleConditionConditionOutput + ToIamPolicyTemplateVersionPolicyRuleConditionConditionOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyRuleConditionConditionOutput +} + +type IamPolicyTemplateVersionPolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamPolicyTemplateVersionPolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyRuleConditionConditionArgs) ToIamPolicyTemplateVersionPolicyRuleConditionConditionOutput() IamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return i.ToIamPolicyTemplateVersionPolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyRuleConditionConditionArgs) ToIamPolicyTemplateVersionPolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyRuleConditionConditionOutput) +} + +// IamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput is an input type that accepts IamPolicyTemplateVersionPolicyRuleConditionConditionArray and IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput` via: +// +// IamPolicyTemplateVersionPolicyRuleConditionConditionArray{ IamPolicyTemplateVersionPolicyRuleConditionConditionArgs{...} } +type IamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput() IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput + ToIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutputWithContext(context.Context) IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput +} + +type IamPolicyTemplateVersionPolicyRuleConditionConditionArray []IamPolicyTemplateVersionPolicyRuleConditionConditionInput + +func (IamPolicyTemplateVersionPolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicyRuleConditionConditionArray) ToIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput() IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return i.ToIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicyRuleConditionConditionArray) ToIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) +} + +type IamPolicyTemplateVersionPolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionConditionOutput) ToIamPolicyTemplateVersionPolicyRuleConditionConditionOutput() IamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionConditionOutput) ToIamPolicyTemplateVersionPolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o IamPolicyTemplateVersionPolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o IamPolicyTemplateVersionPolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamPolicyTemplateVersionPolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) ToIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput() IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) ToIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplateVersionPolicyRuleConditionCondition { + return vs[0].([]IamPolicyTemplateVersionPolicyRuleConditionCondition)[vs[1].(int)] + }).(IamPolicyTemplateVersionPolicyRuleConditionConditionOutput) +} + +type IamPolicyTemplateVersionPolicySubject struct { + // List of resource attributes to which the policy grants access. + Attributes []IamPolicyTemplateVersionPolicySubjectAttribute `pulumi:"attributes"` +} + +// IamPolicyTemplateVersionPolicySubjectInput is an input type that accepts IamPolicyTemplateVersionPolicySubjectArgs and IamPolicyTemplateVersionPolicySubjectOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicySubjectInput` via: +// +// IamPolicyTemplateVersionPolicySubjectArgs{...} +type IamPolicyTemplateVersionPolicySubjectInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicySubjectOutput() IamPolicyTemplateVersionPolicySubjectOutput + ToIamPolicyTemplateVersionPolicySubjectOutputWithContext(context.Context) IamPolicyTemplateVersionPolicySubjectOutput +} + +type IamPolicyTemplateVersionPolicySubjectArgs struct { + // List of resource attributes to which the policy grants access. + Attributes IamPolicyTemplateVersionPolicySubjectAttributeArrayInput `pulumi:"attributes"` +} + +func (IamPolicyTemplateVersionPolicySubjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicySubject)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicySubjectArgs) ToIamPolicyTemplateVersionPolicySubjectOutput() IamPolicyTemplateVersionPolicySubjectOutput { + return i.ToIamPolicyTemplateVersionPolicySubjectOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicySubjectArgs) ToIamPolicyTemplateVersionPolicySubjectOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicySubjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicySubjectOutput) +} + +// IamPolicyTemplateVersionPolicySubjectArrayInput is an input type that accepts IamPolicyTemplateVersionPolicySubjectArray and IamPolicyTemplateVersionPolicySubjectArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicySubjectArrayInput` via: +// +// IamPolicyTemplateVersionPolicySubjectArray{ IamPolicyTemplateVersionPolicySubjectArgs{...} } +type IamPolicyTemplateVersionPolicySubjectArrayInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicySubjectArrayOutput() IamPolicyTemplateVersionPolicySubjectArrayOutput + ToIamPolicyTemplateVersionPolicySubjectArrayOutputWithContext(context.Context) IamPolicyTemplateVersionPolicySubjectArrayOutput +} + +type IamPolicyTemplateVersionPolicySubjectArray []IamPolicyTemplateVersionPolicySubjectInput + +func (IamPolicyTemplateVersionPolicySubjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicySubject)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicySubjectArray) ToIamPolicyTemplateVersionPolicySubjectArrayOutput() IamPolicyTemplateVersionPolicySubjectArrayOutput { + return i.ToIamPolicyTemplateVersionPolicySubjectArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicySubjectArray) ToIamPolicyTemplateVersionPolicySubjectArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicySubjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicySubjectArrayOutput) +} + +type IamPolicyTemplateVersionPolicySubjectOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicySubjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicySubject)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicySubjectOutput) ToIamPolicyTemplateVersionPolicySubjectOutput() IamPolicyTemplateVersionPolicySubjectOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicySubjectOutput) ToIamPolicyTemplateVersionPolicySubjectOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicySubjectOutput { + return o +} + +// List of resource attributes to which the policy grants access. +func (o IamPolicyTemplateVersionPolicySubjectOutput) Attributes() IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicySubject) []IamPolicyTemplateVersionPolicySubjectAttribute { + return v.Attributes + }).(IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput) +} + +type IamPolicyTemplateVersionPolicySubjectArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicySubjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicySubject)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicySubjectArrayOutput) ToIamPolicyTemplateVersionPolicySubjectArrayOutput() IamPolicyTemplateVersionPolicySubjectArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicySubjectArrayOutput) ToIamPolicyTemplateVersionPolicySubjectArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicySubjectArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicySubjectArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplateVersionPolicySubjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplateVersionPolicySubject { + return vs[0].([]IamPolicyTemplateVersionPolicySubject)[vs[1].(int)] + }).(IamPolicyTemplateVersionPolicySubjectOutput) +} + +type IamPolicyTemplateVersionPolicySubjectAttribute struct { + // The name of a resource attribute. + Key string `pulumi:"key"` + // The operator of an attribute. + Operator string `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value string `pulumi:"value"` +} + +// IamPolicyTemplateVersionPolicySubjectAttributeInput is an input type that accepts IamPolicyTemplateVersionPolicySubjectAttributeArgs and IamPolicyTemplateVersionPolicySubjectAttributeOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicySubjectAttributeInput` via: +// +// IamPolicyTemplateVersionPolicySubjectAttributeArgs{...} +type IamPolicyTemplateVersionPolicySubjectAttributeInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicySubjectAttributeOutput() IamPolicyTemplateVersionPolicySubjectAttributeOutput + ToIamPolicyTemplateVersionPolicySubjectAttributeOutputWithContext(context.Context) IamPolicyTemplateVersionPolicySubjectAttributeOutput +} + +type IamPolicyTemplateVersionPolicySubjectAttributeArgs struct { + // The name of a resource attribute. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamPolicyTemplateVersionPolicySubjectAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicySubjectAttribute)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicySubjectAttributeArgs) ToIamPolicyTemplateVersionPolicySubjectAttributeOutput() IamPolicyTemplateVersionPolicySubjectAttributeOutput { + return i.ToIamPolicyTemplateVersionPolicySubjectAttributeOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicySubjectAttributeArgs) ToIamPolicyTemplateVersionPolicySubjectAttributeOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicySubjectAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicySubjectAttributeOutput) +} + +// IamPolicyTemplateVersionPolicySubjectAttributeArrayInput is an input type that accepts IamPolicyTemplateVersionPolicySubjectAttributeArray and IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput values. +// You can construct a concrete instance of `IamPolicyTemplateVersionPolicySubjectAttributeArrayInput` via: +// +// IamPolicyTemplateVersionPolicySubjectAttributeArray{ IamPolicyTemplateVersionPolicySubjectAttributeArgs{...} } +type IamPolicyTemplateVersionPolicySubjectAttributeArrayInput interface { + pulumi.Input + + ToIamPolicyTemplateVersionPolicySubjectAttributeArrayOutput() IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput + ToIamPolicyTemplateVersionPolicySubjectAttributeArrayOutputWithContext(context.Context) IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput +} + +type IamPolicyTemplateVersionPolicySubjectAttributeArray []IamPolicyTemplateVersionPolicySubjectAttributeInput + +func (IamPolicyTemplateVersionPolicySubjectAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicySubjectAttribute)(nil)).Elem() +} + +func (i IamPolicyTemplateVersionPolicySubjectAttributeArray) ToIamPolicyTemplateVersionPolicySubjectAttributeArrayOutput() IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput { + return i.ToIamPolicyTemplateVersionPolicySubjectAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamPolicyTemplateVersionPolicySubjectAttributeArray) ToIamPolicyTemplateVersionPolicySubjectAttributeArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput) +} + +type IamPolicyTemplateVersionPolicySubjectAttributeOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicySubjectAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamPolicyTemplateVersionPolicySubjectAttribute)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicySubjectAttributeOutput) ToIamPolicyTemplateVersionPolicySubjectAttributeOutput() IamPolicyTemplateVersionPolicySubjectAttributeOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicySubjectAttributeOutput) ToIamPolicyTemplateVersionPolicySubjectAttributeOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicySubjectAttributeOutput { + return o +} + +// The name of a resource attribute. +func (o IamPolicyTemplateVersionPolicySubjectAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicySubjectAttribute) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an attribute. +func (o IamPolicyTemplateVersionPolicySubjectAttributeOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicySubjectAttribute) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. +func (o IamPolicyTemplateVersionPolicySubjectAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamPolicyTemplateVersionPolicySubjectAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamPolicyTemplateVersionPolicySubjectAttribute)(nil)).Elem() +} + +func (o IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput) ToIamPolicyTemplateVersionPolicySubjectAttributeArrayOutput() IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput) ToIamPolicyTemplateVersionPolicySubjectAttributeArrayOutputWithContext(ctx context.Context) IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput { + return o +} + +func (o IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput) Index(i pulumi.IntInput) IamPolicyTemplateVersionPolicySubjectAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamPolicyTemplateVersionPolicySubjectAttribute { + return vs[0].([]IamPolicyTemplateVersionPolicySubjectAttribute)[vs[1].(int)] + }).(IamPolicyTemplateVersionPolicySubjectAttributeOutput) +} + +type IamServicePolicyResourceAttribute struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamServicePolicyResourceAttributeInput is an input type that accepts IamServicePolicyResourceAttributeArgs and IamServicePolicyResourceAttributeOutput values. +// You can construct a concrete instance of `IamServicePolicyResourceAttributeInput` via: +// +// IamServicePolicyResourceAttributeArgs{...} +type IamServicePolicyResourceAttributeInput interface { + pulumi.Input + + ToIamServicePolicyResourceAttributeOutput() IamServicePolicyResourceAttributeOutput + ToIamServicePolicyResourceAttributeOutputWithContext(context.Context) IamServicePolicyResourceAttributeOutput +} + +type IamServicePolicyResourceAttributeArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamServicePolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyResourceAttribute)(nil)).Elem() +} + +func (i IamServicePolicyResourceAttributeArgs) ToIamServicePolicyResourceAttributeOutput() IamServicePolicyResourceAttributeOutput { + return i.ToIamServicePolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i IamServicePolicyResourceAttributeArgs) ToIamServicePolicyResourceAttributeOutputWithContext(ctx context.Context) IamServicePolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyResourceAttributeOutput) +} + +// IamServicePolicyResourceAttributeArrayInput is an input type that accepts IamServicePolicyResourceAttributeArray and IamServicePolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `IamServicePolicyResourceAttributeArrayInput` via: +// +// IamServicePolicyResourceAttributeArray{ IamServicePolicyResourceAttributeArgs{...} } +type IamServicePolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToIamServicePolicyResourceAttributeArrayOutput() IamServicePolicyResourceAttributeArrayOutput + ToIamServicePolicyResourceAttributeArrayOutputWithContext(context.Context) IamServicePolicyResourceAttributeArrayOutput +} + +type IamServicePolicyResourceAttributeArray []IamServicePolicyResourceAttributeInput + +func (IamServicePolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamServicePolicyResourceAttribute)(nil)).Elem() +} + +func (i IamServicePolicyResourceAttributeArray) ToIamServicePolicyResourceAttributeArrayOutput() IamServicePolicyResourceAttributeArrayOutput { + return i.ToIamServicePolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamServicePolicyResourceAttributeArray) ToIamServicePolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamServicePolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyResourceAttributeArrayOutput) +} + +type IamServicePolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyResourceAttribute)(nil)).Elem() +} + +func (o IamServicePolicyResourceAttributeOutput) ToIamServicePolicyResourceAttributeOutput() IamServicePolicyResourceAttributeOutput { + return o +} + +func (o IamServicePolicyResourceAttributeOutput) ToIamServicePolicyResourceAttributeOutputWithContext(ctx context.Context) IamServicePolicyResourceAttributeOutput { + return o +} + +// Name of attribute. +func (o IamServicePolicyResourceAttributeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamServicePolicyResourceAttribute) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamServicePolicyResourceAttributeOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResourceAttribute) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamServicePolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamServicePolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamServicePolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamServicePolicyResourceAttribute)(nil)).Elem() +} + +func (o IamServicePolicyResourceAttributeArrayOutput) ToIamServicePolicyResourceAttributeArrayOutput() IamServicePolicyResourceAttributeArrayOutput { + return o +} + +func (o IamServicePolicyResourceAttributeArrayOutput) ToIamServicePolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamServicePolicyResourceAttributeArrayOutput { + return o +} + +func (o IamServicePolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) IamServicePolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamServicePolicyResourceAttribute { + return vs[0].([]IamServicePolicyResourceAttribute)[vs[1].(int)] + }).(IamServicePolicyResourceAttributeOutput) +} + +type IamServicePolicyResourceTag struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamServicePolicyResourceTagInput is an input type that accepts IamServicePolicyResourceTagArgs and IamServicePolicyResourceTagOutput values. +// You can construct a concrete instance of `IamServicePolicyResourceTagInput` via: +// +// IamServicePolicyResourceTagArgs{...} +type IamServicePolicyResourceTagInput interface { + pulumi.Input + + ToIamServicePolicyResourceTagOutput() IamServicePolicyResourceTagOutput + ToIamServicePolicyResourceTagOutputWithContext(context.Context) IamServicePolicyResourceTagOutput +} + +type IamServicePolicyResourceTagArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamServicePolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyResourceTag)(nil)).Elem() +} + +func (i IamServicePolicyResourceTagArgs) ToIamServicePolicyResourceTagOutput() IamServicePolicyResourceTagOutput { + return i.ToIamServicePolicyResourceTagOutputWithContext(context.Background()) +} + +func (i IamServicePolicyResourceTagArgs) ToIamServicePolicyResourceTagOutputWithContext(ctx context.Context) IamServicePolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyResourceTagOutput) +} + +// IamServicePolicyResourceTagArrayInput is an input type that accepts IamServicePolicyResourceTagArray and IamServicePolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `IamServicePolicyResourceTagArrayInput` via: +// +// IamServicePolicyResourceTagArray{ IamServicePolicyResourceTagArgs{...} } +type IamServicePolicyResourceTagArrayInput interface { + pulumi.Input + + ToIamServicePolicyResourceTagArrayOutput() IamServicePolicyResourceTagArrayOutput + ToIamServicePolicyResourceTagArrayOutputWithContext(context.Context) IamServicePolicyResourceTagArrayOutput +} + +type IamServicePolicyResourceTagArray []IamServicePolicyResourceTagInput + +func (IamServicePolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamServicePolicyResourceTag)(nil)).Elem() +} + +func (i IamServicePolicyResourceTagArray) ToIamServicePolicyResourceTagArrayOutput() IamServicePolicyResourceTagArrayOutput { + return i.ToIamServicePolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i IamServicePolicyResourceTagArray) ToIamServicePolicyResourceTagArrayOutputWithContext(ctx context.Context) IamServicePolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyResourceTagArrayOutput) +} + +type IamServicePolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyResourceTag)(nil)).Elem() +} + +func (o IamServicePolicyResourceTagOutput) ToIamServicePolicyResourceTagOutput() IamServicePolicyResourceTagOutput { + return o +} + +func (o IamServicePolicyResourceTagOutput) ToIamServicePolicyResourceTagOutputWithContext(ctx context.Context) IamServicePolicyResourceTagOutput { + return o +} + +// Name of attribute. +func (o IamServicePolicyResourceTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamServicePolicyResourceTag) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamServicePolicyResourceTagOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResourceTag) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamServicePolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamServicePolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type IamServicePolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamServicePolicyResourceTag)(nil)).Elem() +} + +func (o IamServicePolicyResourceTagArrayOutput) ToIamServicePolicyResourceTagArrayOutput() IamServicePolicyResourceTagArrayOutput { + return o +} + +func (o IamServicePolicyResourceTagArrayOutput) ToIamServicePolicyResourceTagArrayOutputWithContext(ctx context.Context) IamServicePolicyResourceTagArrayOutput { + return o +} + +func (o IamServicePolicyResourceTagArrayOutput) Index(i pulumi.IntInput) IamServicePolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamServicePolicyResourceTag { + return vs[0].([]IamServicePolicyResourceTag)[vs[1].(int)] + }).(IamServicePolicyResourceTagOutput) +} + +type IamServicePolicyResources struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region *string `pulumi:"region"` + // Resource of the policy definition + Resource *string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType *string `pulumi:"resourceType"` + // Service name of the policy definition + Service *string `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId *string `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType *string `pulumi:"serviceType"` +} + +// IamServicePolicyResourcesInput is an input type that accepts IamServicePolicyResourcesArgs and IamServicePolicyResourcesOutput values. +// You can construct a concrete instance of `IamServicePolicyResourcesInput` via: +// +// IamServicePolicyResourcesArgs{...} +type IamServicePolicyResourcesInput interface { + pulumi.Input + + ToIamServicePolicyResourcesOutput() IamServicePolicyResourcesOutput + ToIamServicePolicyResourcesOutputWithContext(context.Context) IamServicePolicyResourcesOutput +} + +type IamServicePolicyResourcesArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringPtrInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringPtrInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringPtrInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringPtrInput `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId pulumi.StringPtrInput `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType pulumi.StringPtrInput `pulumi:"serviceType"` +} + +func (IamServicePolicyResourcesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyResources)(nil)).Elem() +} + +func (i IamServicePolicyResourcesArgs) ToIamServicePolicyResourcesOutput() IamServicePolicyResourcesOutput { + return i.ToIamServicePolicyResourcesOutputWithContext(context.Background()) +} + +func (i IamServicePolicyResourcesArgs) ToIamServicePolicyResourcesOutputWithContext(ctx context.Context) IamServicePolicyResourcesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyResourcesOutput) +} + +func (i IamServicePolicyResourcesArgs) ToIamServicePolicyResourcesPtrOutput() IamServicePolicyResourcesPtrOutput { + return i.ToIamServicePolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (i IamServicePolicyResourcesArgs) ToIamServicePolicyResourcesPtrOutputWithContext(ctx context.Context) IamServicePolicyResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyResourcesOutput).ToIamServicePolicyResourcesPtrOutputWithContext(ctx) +} + +// IamServicePolicyResourcesPtrInput is an input type that accepts IamServicePolicyResourcesArgs, IamServicePolicyResourcesPtr and IamServicePolicyResourcesPtrOutput values. +// You can construct a concrete instance of `IamServicePolicyResourcesPtrInput` via: +// +// IamServicePolicyResourcesArgs{...} +// +// or: +// +// nil +type IamServicePolicyResourcesPtrInput interface { + pulumi.Input + + ToIamServicePolicyResourcesPtrOutput() IamServicePolicyResourcesPtrOutput + ToIamServicePolicyResourcesPtrOutputWithContext(context.Context) IamServicePolicyResourcesPtrOutput +} + +type iamServicePolicyResourcesPtrType IamServicePolicyResourcesArgs + +func IamServicePolicyResourcesPtr(v *IamServicePolicyResourcesArgs) IamServicePolicyResourcesPtrInput { + return (*iamServicePolicyResourcesPtrType)(v) +} + +func (*iamServicePolicyResourcesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamServicePolicyResources)(nil)).Elem() +} + +func (i *iamServicePolicyResourcesPtrType) ToIamServicePolicyResourcesPtrOutput() IamServicePolicyResourcesPtrOutput { + return i.ToIamServicePolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (i *iamServicePolicyResourcesPtrType) ToIamServicePolicyResourcesPtrOutputWithContext(ctx context.Context) IamServicePolicyResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyResourcesPtrOutput) +} + +type IamServicePolicyResourcesOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyResourcesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyResources)(nil)).Elem() +} + +func (o IamServicePolicyResourcesOutput) ToIamServicePolicyResourcesOutput() IamServicePolicyResourcesOutput { + return o +} + +func (o IamServicePolicyResourcesOutput) ToIamServicePolicyResourcesOutputWithContext(ctx context.Context) IamServicePolicyResourcesOutput { + return o +} + +func (o IamServicePolicyResourcesOutput) ToIamServicePolicyResourcesPtrOutput() IamServicePolicyResourcesPtrOutput { + return o.ToIamServicePolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (o IamServicePolicyResourcesOutput) ToIamServicePolicyResourcesPtrOutputWithContext(ctx context.Context) IamServicePolicyResourcesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamServicePolicyResources) *IamServicePolicyResources { + return &v + }).(IamServicePolicyResourcesPtrOutput) +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamServicePolicyResourcesOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v IamServicePolicyResources) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamServicePolicyResourcesOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResources) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamServicePolicyResourcesOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResources) *string { return v.Resource }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamServicePolicyResourcesOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResources) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamServicePolicyResourcesOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResources) *string { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamServicePolicyResourcesOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResources) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamServicePolicyResourcesOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResources) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// Service group id of the policy definition +func (o IamServicePolicyResourcesOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResources) *string { return v.ServiceGroupId }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamServicePolicyResourcesOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyResources) *string { return v.ServiceType }).(pulumi.StringPtrOutput) +} + +type IamServicePolicyResourcesPtrOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyResourcesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamServicePolicyResources)(nil)).Elem() +} + +func (o IamServicePolicyResourcesPtrOutput) ToIamServicePolicyResourcesPtrOutput() IamServicePolicyResourcesPtrOutput { + return o +} + +func (o IamServicePolicyResourcesPtrOutput) ToIamServicePolicyResourcesPtrOutputWithContext(ctx context.Context) IamServicePolicyResourcesPtrOutput { + return o +} + +func (o IamServicePolicyResourcesPtrOutput) Elem() IamServicePolicyResourcesOutput { + return o.ApplyT(func(v *IamServicePolicyResources) IamServicePolicyResources { + if v != nil { + return *v + } + var ret IamServicePolicyResources + return ret + }).(IamServicePolicyResourcesOutput) +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamServicePolicyResourcesPtrOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v *IamServicePolicyResources) map[string]string { + if v == nil { + return nil + } + return v.Attributes + }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamServicePolicyResourcesPtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicyResources) *string { + if v == nil { + return nil + } + return v.Region + }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamServicePolicyResourcesPtrOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicyResources) *string { + if v == nil { + return nil + } + return v.Resource + }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamServicePolicyResourcesPtrOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceGroupId + }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamServicePolicyResourcesPtrOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceInstanceId + }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamServicePolicyResourcesPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamServicePolicyResourcesPtrOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicyResources) *string { + if v == nil { + return nil + } + return v.Service + }).(pulumi.StringPtrOutput) +} + +// Service group id of the policy definition +func (o IamServicePolicyResourcesPtrOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicyResources) *string { + if v == nil { + return nil + } + return v.ServiceGroupId + }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamServicePolicyResourcesPtrOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamServicePolicyResources) *string { + if v == nil { + return nil + } + return v.ServiceType + }).(pulumi.StringPtrOutput) +} + +type IamServicePolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []IamServicePolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamServicePolicyRuleConditionInput is an input type that accepts IamServicePolicyRuleConditionArgs and IamServicePolicyRuleConditionOutput values. +// You can construct a concrete instance of `IamServicePolicyRuleConditionInput` via: +// +// IamServicePolicyRuleConditionArgs{...} +type IamServicePolicyRuleConditionInput interface { + pulumi.Input + + ToIamServicePolicyRuleConditionOutput() IamServicePolicyRuleConditionOutput + ToIamServicePolicyRuleConditionOutputWithContext(context.Context) IamServicePolicyRuleConditionOutput +} + +type IamServicePolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions IamServicePolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamServicePolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyRuleCondition)(nil)).Elem() +} + +func (i IamServicePolicyRuleConditionArgs) ToIamServicePolicyRuleConditionOutput() IamServicePolicyRuleConditionOutput { + return i.ToIamServicePolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i IamServicePolicyRuleConditionArgs) ToIamServicePolicyRuleConditionOutputWithContext(ctx context.Context) IamServicePolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyRuleConditionOutput) +} + +// IamServicePolicyRuleConditionArrayInput is an input type that accepts IamServicePolicyRuleConditionArray and IamServicePolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamServicePolicyRuleConditionArrayInput` via: +// +// IamServicePolicyRuleConditionArray{ IamServicePolicyRuleConditionArgs{...} } +type IamServicePolicyRuleConditionArrayInput interface { + pulumi.Input + + ToIamServicePolicyRuleConditionArrayOutput() IamServicePolicyRuleConditionArrayOutput + ToIamServicePolicyRuleConditionArrayOutputWithContext(context.Context) IamServicePolicyRuleConditionArrayOutput +} + +type IamServicePolicyRuleConditionArray []IamServicePolicyRuleConditionInput + +func (IamServicePolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamServicePolicyRuleCondition)(nil)).Elem() +} + +func (i IamServicePolicyRuleConditionArray) ToIamServicePolicyRuleConditionArrayOutput() IamServicePolicyRuleConditionArrayOutput { + return i.ToIamServicePolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamServicePolicyRuleConditionArray) ToIamServicePolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamServicePolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyRuleConditionArrayOutput) +} + +type IamServicePolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyRuleCondition)(nil)).Elem() +} + +func (o IamServicePolicyRuleConditionOutput) ToIamServicePolicyRuleConditionOutput() IamServicePolicyRuleConditionOutput { + return o +} + +func (o IamServicePolicyRuleConditionOutput) ToIamServicePolicyRuleConditionOutputWithContext(ctx context.Context) IamServicePolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o IamServicePolicyRuleConditionOutput) Conditions() IamServicePolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v IamServicePolicyRuleCondition) []IamServicePolicyRuleConditionCondition { return v.Conditions }).(IamServicePolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o IamServicePolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamServicePolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o IamServicePolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamServicePolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamServicePolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamServicePolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamServicePolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamServicePolicyRuleCondition)(nil)).Elem() +} + +func (o IamServicePolicyRuleConditionArrayOutput) ToIamServicePolicyRuleConditionArrayOutput() IamServicePolicyRuleConditionArrayOutput { + return o +} + +func (o IamServicePolicyRuleConditionArrayOutput) ToIamServicePolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamServicePolicyRuleConditionArrayOutput { + return o +} + +func (o IamServicePolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) IamServicePolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamServicePolicyRuleCondition { + return vs[0].([]IamServicePolicyRuleCondition)[vs[1].(int)] + }).(IamServicePolicyRuleConditionOutput) +} + +type IamServicePolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamServicePolicyRuleConditionConditionInput is an input type that accepts IamServicePolicyRuleConditionConditionArgs and IamServicePolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `IamServicePolicyRuleConditionConditionInput` via: +// +// IamServicePolicyRuleConditionConditionArgs{...} +type IamServicePolicyRuleConditionConditionInput interface { + pulumi.Input + + ToIamServicePolicyRuleConditionConditionOutput() IamServicePolicyRuleConditionConditionOutput + ToIamServicePolicyRuleConditionConditionOutputWithContext(context.Context) IamServicePolicyRuleConditionConditionOutput +} + +type IamServicePolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamServicePolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamServicePolicyRuleConditionConditionArgs) ToIamServicePolicyRuleConditionConditionOutput() IamServicePolicyRuleConditionConditionOutput { + return i.ToIamServicePolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i IamServicePolicyRuleConditionConditionArgs) ToIamServicePolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamServicePolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyRuleConditionConditionOutput) +} + +// IamServicePolicyRuleConditionConditionArrayInput is an input type that accepts IamServicePolicyRuleConditionConditionArray and IamServicePolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `IamServicePolicyRuleConditionConditionArrayInput` via: +// +// IamServicePolicyRuleConditionConditionArray{ IamServicePolicyRuleConditionConditionArgs{...} } +type IamServicePolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToIamServicePolicyRuleConditionConditionArrayOutput() IamServicePolicyRuleConditionConditionArrayOutput + ToIamServicePolicyRuleConditionConditionArrayOutputWithContext(context.Context) IamServicePolicyRuleConditionConditionArrayOutput +} + +type IamServicePolicyRuleConditionConditionArray []IamServicePolicyRuleConditionConditionInput + +func (IamServicePolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamServicePolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamServicePolicyRuleConditionConditionArray) ToIamServicePolicyRuleConditionConditionArrayOutput() IamServicePolicyRuleConditionConditionArrayOutput { + return i.ToIamServicePolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i IamServicePolicyRuleConditionConditionArray) ToIamServicePolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamServicePolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamServicePolicyRuleConditionConditionArrayOutput) +} + +type IamServicePolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamServicePolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamServicePolicyRuleConditionConditionOutput) ToIamServicePolicyRuleConditionConditionOutput() IamServicePolicyRuleConditionConditionOutput { + return o +} + +func (o IamServicePolicyRuleConditionConditionOutput) ToIamServicePolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamServicePolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o IamServicePolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamServicePolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o IamServicePolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamServicePolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamServicePolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamServicePolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamServicePolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamServicePolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamServicePolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamServicePolicyRuleConditionConditionArrayOutput) ToIamServicePolicyRuleConditionConditionArrayOutput() IamServicePolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamServicePolicyRuleConditionConditionArrayOutput) ToIamServicePolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamServicePolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamServicePolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) IamServicePolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamServicePolicyRuleConditionCondition { + return vs[0].([]IamServicePolicyRuleConditionCondition)[vs[1].(int)] + }).(IamServicePolicyRuleConditionConditionOutput) +} + +type IamTrustedProfileClaimRuleCondition struct { + // The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). + Claim string `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator string `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value string `pulumi:"value"` +} + +// IamTrustedProfileClaimRuleConditionInput is an input type that accepts IamTrustedProfileClaimRuleConditionArgs and IamTrustedProfileClaimRuleConditionOutput values. +// You can construct a concrete instance of `IamTrustedProfileClaimRuleConditionInput` via: +// +// IamTrustedProfileClaimRuleConditionArgs{...} +type IamTrustedProfileClaimRuleConditionInput interface { + pulumi.Input + + ToIamTrustedProfileClaimRuleConditionOutput() IamTrustedProfileClaimRuleConditionOutput + ToIamTrustedProfileClaimRuleConditionOutputWithContext(context.Context) IamTrustedProfileClaimRuleConditionOutput +} + +type IamTrustedProfileClaimRuleConditionArgs struct { + // The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). + Claim pulumi.StringInput `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator pulumi.StringInput `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamTrustedProfileClaimRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileClaimRuleCondition)(nil)).Elem() +} + +func (i IamTrustedProfileClaimRuleConditionArgs) ToIamTrustedProfileClaimRuleConditionOutput() IamTrustedProfileClaimRuleConditionOutput { + return i.ToIamTrustedProfileClaimRuleConditionOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileClaimRuleConditionArgs) ToIamTrustedProfileClaimRuleConditionOutputWithContext(ctx context.Context) IamTrustedProfileClaimRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileClaimRuleConditionOutput) +} + +// IamTrustedProfileClaimRuleConditionArrayInput is an input type that accepts IamTrustedProfileClaimRuleConditionArray and IamTrustedProfileClaimRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileClaimRuleConditionArrayInput` via: +// +// IamTrustedProfileClaimRuleConditionArray{ IamTrustedProfileClaimRuleConditionArgs{...} } +type IamTrustedProfileClaimRuleConditionArrayInput interface { + pulumi.Input + + ToIamTrustedProfileClaimRuleConditionArrayOutput() IamTrustedProfileClaimRuleConditionArrayOutput + ToIamTrustedProfileClaimRuleConditionArrayOutputWithContext(context.Context) IamTrustedProfileClaimRuleConditionArrayOutput +} + +type IamTrustedProfileClaimRuleConditionArray []IamTrustedProfileClaimRuleConditionInput + +func (IamTrustedProfileClaimRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileClaimRuleCondition)(nil)).Elem() +} + +func (i IamTrustedProfileClaimRuleConditionArray) ToIamTrustedProfileClaimRuleConditionArrayOutput() IamTrustedProfileClaimRuleConditionArrayOutput { + return i.ToIamTrustedProfileClaimRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileClaimRuleConditionArray) ToIamTrustedProfileClaimRuleConditionArrayOutputWithContext(ctx context.Context) IamTrustedProfileClaimRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileClaimRuleConditionArrayOutput) +} + +type IamTrustedProfileClaimRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileClaimRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileClaimRuleCondition)(nil)).Elem() +} + +func (o IamTrustedProfileClaimRuleConditionOutput) ToIamTrustedProfileClaimRuleConditionOutput() IamTrustedProfileClaimRuleConditionOutput { + return o +} + +func (o IamTrustedProfileClaimRuleConditionOutput) ToIamTrustedProfileClaimRuleConditionOutputWithContext(ctx context.Context) IamTrustedProfileClaimRuleConditionOutput { + return o +} + +// The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). +func (o IamTrustedProfileClaimRuleConditionOutput) Claim() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileClaimRuleCondition) string { return v.Claim }).(pulumi.StringOutput) +} + +// The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. +func (o IamTrustedProfileClaimRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileClaimRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// The stringified JSON value that the claim is compared to using the operator. +func (o IamTrustedProfileClaimRuleConditionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileClaimRuleCondition) string { return v.Value }).(pulumi.StringOutput) +} + +type IamTrustedProfileClaimRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileClaimRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileClaimRuleCondition)(nil)).Elem() +} + +func (o IamTrustedProfileClaimRuleConditionArrayOutput) ToIamTrustedProfileClaimRuleConditionArrayOutput() IamTrustedProfileClaimRuleConditionArrayOutput { + return o +} + +func (o IamTrustedProfileClaimRuleConditionArrayOutput) ToIamTrustedProfileClaimRuleConditionArrayOutputWithContext(ctx context.Context) IamTrustedProfileClaimRuleConditionArrayOutput { + return o +} + +func (o IamTrustedProfileClaimRuleConditionArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileClaimRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileClaimRuleCondition { + return vs[0].([]IamTrustedProfileClaimRuleCondition)[vs[1].(int)] + }).(IamTrustedProfileClaimRuleConditionOutput) +} + +type IamTrustedProfileHistory struct { + // Action of the history entry. + Action *string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId *string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount *string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message *string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp *string `pulumi:"timestamp"` +} + +// IamTrustedProfileHistoryInput is an input type that accepts IamTrustedProfileHistoryArgs and IamTrustedProfileHistoryOutput values. +// You can construct a concrete instance of `IamTrustedProfileHistoryInput` via: +// +// IamTrustedProfileHistoryArgs{...} +type IamTrustedProfileHistoryInput interface { + pulumi.Input + + ToIamTrustedProfileHistoryOutput() IamTrustedProfileHistoryOutput + ToIamTrustedProfileHistoryOutputWithContext(context.Context) IamTrustedProfileHistoryOutput +} + +type IamTrustedProfileHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringPtrInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringPtrInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringPtrInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringPtrInput `pulumi:"timestamp"` +} + +func (IamTrustedProfileHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileHistory)(nil)).Elem() +} + +func (i IamTrustedProfileHistoryArgs) ToIamTrustedProfileHistoryOutput() IamTrustedProfileHistoryOutput { + return i.ToIamTrustedProfileHistoryOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileHistoryArgs) ToIamTrustedProfileHistoryOutputWithContext(ctx context.Context) IamTrustedProfileHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileHistoryOutput) +} + +// IamTrustedProfileHistoryArrayInput is an input type that accepts IamTrustedProfileHistoryArray and IamTrustedProfileHistoryArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileHistoryArrayInput` via: +// +// IamTrustedProfileHistoryArray{ IamTrustedProfileHistoryArgs{...} } +type IamTrustedProfileHistoryArrayInput interface { + pulumi.Input + + ToIamTrustedProfileHistoryArrayOutput() IamTrustedProfileHistoryArrayOutput + ToIamTrustedProfileHistoryArrayOutputWithContext(context.Context) IamTrustedProfileHistoryArrayOutput +} + +type IamTrustedProfileHistoryArray []IamTrustedProfileHistoryInput + +func (IamTrustedProfileHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileHistory)(nil)).Elem() +} + +func (i IamTrustedProfileHistoryArray) ToIamTrustedProfileHistoryArrayOutput() IamTrustedProfileHistoryArrayOutput { + return i.ToIamTrustedProfileHistoryArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileHistoryArray) ToIamTrustedProfileHistoryArrayOutputWithContext(ctx context.Context) IamTrustedProfileHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileHistoryArrayOutput) +} + +type IamTrustedProfileHistoryOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileHistory)(nil)).Elem() +} + +func (o IamTrustedProfileHistoryOutput) ToIamTrustedProfileHistoryOutput() IamTrustedProfileHistoryOutput { + return o +} + +func (o IamTrustedProfileHistoryOutput) ToIamTrustedProfileHistoryOutputWithContext(ctx context.Context) IamTrustedProfileHistoryOutput { + return o +} + +// Action of the history entry. +func (o IamTrustedProfileHistoryOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileHistory) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// IAM ID of the identity which triggered the action. +func (o IamTrustedProfileHistoryOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileHistory) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Account of the identity which triggered the action. +func (o IamTrustedProfileHistoryOutput) IamIdAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileHistory) *string { return v.IamIdAccount }).(pulumi.StringPtrOutput) +} + +// Message which summarizes the executed action. +func (o IamTrustedProfileHistoryOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileHistory) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Params of the history entry. +func (o IamTrustedProfileHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamTrustedProfileHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o IamTrustedProfileHistoryOutput) Timestamp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileHistory) *string { return v.Timestamp }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileHistoryArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileHistory)(nil)).Elem() +} + +func (o IamTrustedProfileHistoryArrayOutput) ToIamTrustedProfileHistoryArrayOutput() IamTrustedProfileHistoryArrayOutput { + return o +} + +func (o IamTrustedProfileHistoryArrayOutput) ToIamTrustedProfileHistoryArrayOutputWithContext(ctx context.Context) IamTrustedProfileHistoryArrayOutput { + return o +} + +func (o IamTrustedProfileHistoryArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileHistory { + return vs[0].([]IamTrustedProfileHistory)[vs[1].(int)] + }).(IamTrustedProfileHistoryOutput) +} + +type IamTrustedProfileIdentitiesIdentity struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts []string `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description *string `pulumi:"description"` + // IAM ID of the identity. + IamId string `pulumi:"iamId"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier string `pulumi:"identifier"` + // Type of the identity. + Type string `pulumi:"type"` +} + +// IamTrustedProfileIdentitiesIdentityInput is an input type that accepts IamTrustedProfileIdentitiesIdentityArgs and IamTrustedProfileIdentitiesIdentityOutput values. +// You can construct a concrete instance of `IamTrustedProfileIdentitiesIdentityInput` via: +// +// IamTrustedProfileIdentitiesIdentityArgs{...} +type IamTrustedProfileIdentitiesIdentityInput interface { + pulumi.Input + + ToIamTrustedProfileIdentitiesIdentityOutput() IamTrustedProfileIdentitiesIdentityOutput + ToIamTrustedProfileIdentitiesIdentityOutputWithContext(context.Context) IamTrustedProfileIdentitiesIdentityOutput +} + +type IamTrustedProfileIdentitiesIdentityArgs struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts pulumi.StringArrayInput `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description pulumi.StringPtrInput `pulumi:"description"` + // IAM ID of the identity. + IamId pulumi.StringInput `pulumi:"iamId"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier pulumi.StringInput `pulumi:"identifier"` + // Type of the identity. + Type pulumi.StringInput `pulumi:"type"` +} + +func (IamTrustedProfileIdentitiesIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileIdentitiesIdentity)(nil)).Elem() +} + +func (i IamTrustedProfileIdentitiesIdentityArgs) ToIamTrustedProfileIdentitiesIdentityOutput() IamTrustedProfileIdentitiesIdentityOutput { + return i.ToIamTrustedProfileIdentitiesIdentityOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileIdentitiesIdentityArgs) ToIamTrustedProfileIdentitiesIdentityOutputWithContext(ctx context.Context) IamTrustedProfileIdentitiesIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileIdentitiesIdentityOutput) +} + +// IamTrustedProfileIdentitiesIdentityArrayInput is an input type that accepts IamTrustedProfileIdentitiesIdentityArray and IamTrustedProfileIdentitiesIdentityArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileIdentitiesIdentityArrayInput` via: +// +// IamTrustedProfileIdentitiesIdentityArray{ IamTrustedProfileIdentitiesIdentityArgs{...} } +type IamTrustedProfileIdentitiesIdentityArrayInput interface { + pulumi.Input + + ToIamTrustedProfileIdentitiesIdentityArrayOutput() IamTrustedProfileIdentitiesIdentityArrayOutput + ToIamTrustedProfileIdentitiesIdentityArrayOutputWithContext(context.Context) IamTrustedProfileIdentitiesIdentityArrayOutput +} + +type IamTrustedProfileIdentitiesIdentityArray []IamTrustedProfileIdentitiesIdentityInput + +func (IamTrustedProfileIdentitiesIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileIdentitiesIdentity)(nil)).Elem() +} + +func (i IamTrustedProfileIdentitiesIdentityArray) ToIamTrustedProfileIdentitiesIdentityArrayOutput() IamTrustedProfileIdentitiesIdentityArrayOutput { + return i.ToIamTrustedProfileIdentitiesIdentityArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileIdentitiesIdentityArray) ToIamTrustedProfileIdentitiesIdentityArrayOutputWithContext(ctx context.Context) IamTrustedProfileIdentitiesIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileIdentitiesIdentityArrayOutput) +} + +type IamTrustedProfileIdentitiesIdentityOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileIdentitiesIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileIdentitiesIdentity)(nil)).Elem() +} + +func (o IamTrustedProfileIdentitiesIdentityOutput) ToIamTrustedProfileIdentitiesIdentityOutput() IamTrustedProfileIdentitiesIdentityOutput { + return o +} + +func (o IamTrustedProfileIdentitiesIdentityOutput) ToIamTrustedProfileIdentitiesIdentityOutputWithContext(ctx context.Context) IamTrustedProfileIdentitiesIdentityOutput { + return o +} + +// Only valid for the type user. Accounts from which a user can assume the trusted profile. +func (o IamTrustedProfileIdentitiesIdentityOutput) Accounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamTrustedProfileIdentitiesIdentity) []string { return v.Accounts }).(pulumi.StringArrayOutput) +} + +// Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. +func (o IamTrustedProfileIdentitiesIdentityOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileIdentitiesIdentity) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// IAM ID of the identity. +func (o IamTrustedProfileIdentitiesIdentityOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileIdentitiesIdentity) string { return v.IamId }).(pulumi.StringOutput) +} + +// Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. +func (o IamTrustedProfileIdentitiesIdentityOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileIdentitiesIdentity) string { return v.Identifier }).(pulumi.StringOutput) +} + +// Type of the identity. +func (o IamTrustedProfileIdentitiesIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileIdentitiesIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +type IamTrustedProfileIdentitiesIdentityArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileIdentitiesIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileIdentitiesIdentity)(nil)).Elem() +} + +func (o IamTrustedProfileIdentitiesIdentityArrayOutput) ToIamTrustedProfileIdentitiesIdentityArrayOutput() IamTrustedProfileIdentitiesIdentityArrayOutput { + return o +} + +func (o IamTrustedProfileIdentitiesIdentityArrayOutput) ToIamTrustedProfileIdentitiesIdentityArrayOutputWithContext(ctx context.Context) IamTrustedProfileIdentitiesIdentityArrayOutput { + return o +} + +func (o IamTrustedProfileIdentitiesIdentityArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileIdentitiesIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileIdentitiesIdentity { + return vs[0].([]IamTrustedProfileIdentitiesIdentity)[vs[1].(int)] + }).(IamTrustedProfileIdentitiesIdentityOutput) +} + +type IamTrustedProfileLinkLink struct { + // Component name of the compute resource, only required if crType is CE. + ComponentName *string `pulumi:"componentName"` + // Component type of the compute resource, only required if crType is CE. + ComponentType *string `pulumi:"componentType"` + // The CRN of the compute resource. + Crn *string `pulumi:"crn"` + // Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. + Name *string `pulumi:"name"` + // The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. + Namespace *string `pulumi:"namespace"` +} + +// IamTrustedProfileLinkLinkInput is an input type that accepts IamTrustedProfileLinkLinkArgs and IamTrustedProfileLinkLinkOutput values. +// You can construct a concrete instance of `IamTrustedProfileLinkLinkInput` via: +// +// IamTrustedProfileLinkLinkArgs{...} +type IamTrustedProfileLinkLinkInput interface { + pulumi.Input + + ToIamTrustedProfileLinkLinkOutput() IamTrustedProfileLinkLinkOutput + ToIamTrustedProfileLinkLinkOutputWithContext(context.Context) IamTrustedProfileLinkLinkOutput +} + +type IamTrustedProfileLinkLinkArgs struct { + // Component name of the compute resource, only required if crType is CE. + ComponentName pulumi.StringPtrInput `pulumi:"componentName"` + // Component type of the compute resource, only required if crType is CE. + ComponentType pulumi.StringPtrInput `pulumi:"componentType"` + // The CRN of the compute resource. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. + Name pulumi.StringPtrInput `pulumi:"name"` + // The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. + Namespace pulumi.StringPtrInput `pulumi:"namespace"` +} + +func (IamTrustedProfileLinkLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileLinkLink)(nil)).Elem() +} + +func (i IamTrustedProfileLinkLinkArgs) ToIamTrustedProfileLinkLinkOutput() IamTrustedProfileLinkLinkOutput { + return i.ToIamTrustedProfileLinkLinkOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileLinkLinkArgs) ToIamTrustedProfileLinkLinkOutputWithContext(ctx context.Context) IamTrustedProfileLinkLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileLinkLinkOutput) +} + +func (i IamTrustedProfileLinkLinkArgs) ToIamTrustedProfileLinkLinkPtrOutput() IamTrustedProfileLinkLinkPtrOutput { + return i.ToIamTrustedProfileLinkLinkPtrOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileLinkLinkArgs) ToIamTrustedProfileLinkLinkPtrOutputWithContext(ctx context.Context) IamTrustedProfileLinkLinkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileLinkLinkOutput).ToIamTrustedProfileLinkLinkPtrOutputWithContext(ctx) +} + +// IamTrustedProfileLinkLinkPtrInput is an input type that accepts IamTrustedProfileLinkLinkArgs, IamTrustedProfileLinkLinkPtr and IamTrustedProfileLinkLinkPtrOutput values. +// You can construct a concrete instance of `IamTrustedProfileLinkLinkPtrInput` via: +// +// IamTrustedProfileLinkLinkArgs{...} +// +// or: +// +// nil +type IamTrustedProfileLinkLinkPtrInput interface { + pulumi.Input + + ToIamTrustedProfileLinkLinkPtrOutput() IamTrustedProfileLinkLinkPtrOutput + ToIamTrustedProfileLinkLinkPtrOutputWithContext(context.Context) IamTrustedProfileLinkLinkPtrOutput +} + +type iamTrustedProfileLinkLinkPtrType IamTrustedProfileLinkLinkArgs + +func IamTrustedProfileLinkLinkPtr(v *IamTrustedProfileLinkLinkArgs) IamTrustedProfileLinkLinkPtrInput { + return (*iamTrustedProfileLinkLinkPtrType)(v) +} + +func (*iamTrustedProfileLinkLinkPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileLinkLink)(nil)).Elem() +} + +func (i *iamTrustedProfileLinkLinkPtrType) ToIamTrustedProfileLinkLinkPtrOutput() IamTrustedProfileLinkLinkPtrOutput { + return i.ToIamTrustedProfileLinkLinkPtrOutputWithContext(context.Background()) +} + +func (i *iamTrustedProfileLinkLinkPtrType) ToIamTrustedProfileLinkLinkPtrOutputWithContext(ctx context.Context) IamTrustedProfileLinkLinkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileLinkLinkPtrOutput) +} + +type IamTrustedProfileLinkLinkOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileLinkLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileLinkLink)(nil)).Elem() +} + +func (o IamTrustedProfileLinkLinkOutput) ToIamTrustedProfileLinkLinkOutput() IamTrustedProfileLinkLinkOutput { + return o +} + +func (o IamTrustedProfileLinkLinkOutput) ToIamTrustedProfileLinkLinkOutputWithContext(ctx context.Context) IamTrustedProfileLinkLinkOutput { + return o +} + +func (o IamTrustedProfileLinkLinkOutput) ToIamTrustedProfileLinkLinkPtrOutput() IamTrustedProfileLinkLinkPtrOutput { + return o.ToIamTrustedProfileLinkLinkPtrOutputWithContext(context.Background()) +} + +func (o IamTrustedProfileLinkLinkOutput) ToIamTrustedProfileLinkLinkPtrOutputWithContext(ctx context.Context) IamTrustedProfileLinkLinkPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamTrustedProfileLinkLink) *IamTrustedProfileLinkLink { + return &v + }).(IamTrustedProfileLinkLinkPtrOutput) +} + +// Component name of the compute resource, only required if crType is CE. +func (o IamTrustedProfileLinkLinkOutput) ComponentName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileLinkLink) *string { return v.ComponentName }).(pulumi.StringPtrOutput) +} + +// Component type of the compute resource, only required if crType is CE. +func (o IamTrustedProfileLinkLinkOutput) ComponentType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileLinkLink) *string { return v.ComponentType }).(pulumi.StringPtrOutput) +} + +// The CRN of the compute resource. +func (o IamTrustedProfileLinkLinkOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileLinkLink) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. +func (o IamTrustedProfileLinkLinkOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileLinkLink) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. +func (o IamTrustedProfileLinkLinkOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileLinkLink) *string { return v.Namespace }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileLinkLinkPtrOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileLinkLinkPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileLinkLink)(nil)).Elem() +} + +func (o IamTrustedProfileLinkLinkPtrOutput) ToIamTrustedProfileLinkLinkPtrOutput() IamTrustedProfileLinkLinkPtrOutput { + return o +} + +func (o IamTrustedProfileLinkLinkPtrOutput) ToIamTrustedProfileLinkLinkPtrOutputWithContext(ctx context.Context) IamTrustedProfileLinkLinkPtrOutput { + return o +} + +func (o IamTrustedProfileLinkLinkPtrOutput) Elem() IamTrustedProfileLinkLinkOutput { + return o.ApplyT(func(v *IamTrustedProfileLinkLink) IamTrustedProfileLinkLink { + if v != nil { + return *v + } + var ret IamTrustedProfileLinkLink + return ret + }).(IamTrustedProfileLinkLinkOutput) +} + +// Component name of the compute resource, only required if crType is CE. +func (o IamTrustedProfileLinkLinkPtrOutput) ComponentName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileLinkLink) *string { + if v == nil { + return nil + } + return v.ComponentName + }).(pulumi.StringPtrOutput) +} + +// Component type of the compute resource, only required if crType is CE. +func (o IamTrustedProfileLinkLinkPtrOutput) ComponentType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileLinkLink) *string { + if v == nil { + return nil + } + return v.ComponentType + }).(pulumi.StringPtrOutput) +} + +// The CRN of the compute resource. +func (o IamTrustedProfileLinkLinkPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileLinkLink) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. +func (o IamTrustedProfileLinkLinkPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileLinkLink) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. +func (o IamTrustedProfileLinkLinkPtrOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileLinkLink) *string { + if v == nil { + return nil + } + return v.Namespace + }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfilePolicyResourceAttribute struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamTrustedProfilePolicyResourceAttributeInput is an input type that accepts IamTrustedProfilePolicyResourceAttributeArgs and IamTrustedProfilePolicyResourceAttributeOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyResourceAttributeInput` via: +// +// IamTrustedProfilePolicyResourceAttributeArgs{...} +type IamTrustedProfilePolicyResourceAttributeInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyResourceAttributeOutput() IamTrustedProfilePolicyResourceAttributeOutput + ToIamTrustedProfilePolicyResourceAttributeOutputWithContext(context.Context) IamTrustedProfilePolicyResourceAttributeOutput +} + +type IamTrustedProfilePolicyResourceAttributeArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamTrustedProfilePolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyResourceAttribute)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyResourceAttributeArgs) ToIamTrustedProfilePolicyResourceAttributeOutput() IamTrustedProfilePolicyResourceAttributeOutput { + return i.ToIamTrustedProfilePolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyResourceAttributeArgs) ToIamTrustedProfilePolicyResourceAttributeOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyResourceAttributeOutput) +} + +// IamTrustedProfilePolicyResourceAttributeArrayInput is an input type that accepts IamTrustedProfilePolicyResourceAttributeArray and IamTrustedProfilePolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyResourceAttributeArrayInput` via: +// +// IamTrustedProfilePolicyResourceAttributeArray{ IamTrustedProfilePolicyResourceAttributeArgs{...} } +type IamTrustedProfilePolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyResourceAttributeArrayOutput() IamTrustedProfilePolicyResourceAttributeArrayOutput + ToIamTrustedProfilePolicyResourceAttributeArrayOutputWithContext(context.Context) IamTrustedProfilePolicyResourceAttributeArrayOutput +} + +type IamTrustedProfilePolicyResourceAttributeArray []IamTrustedProfilePolicyResourceAttributeInput + +func (IamTrustedProfilePolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfilePolicyResourceAttribute)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyResourceAttributeArray) ToIamTrustedProfilePolicyResourceAttributeArrayOutput() IamTrustedProfilePolicyResourceAttributeArrayOutput { + return i.ToIamTrustedProfilePolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyResourceAttributeArray) ToIamTrustedProfilePolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyResourceAttributeArrayOutput) +} + +type IamTrustedProfilePolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyResourceAttribute)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyResourceAttributeOutput) ToIamTrustedProfilePolicyResourceAttributeOutput() IamTrustedProfilePolicyResourceAttributeOutput { + return o +} + +func (o IamTrustedProfilePolicyResourceAttributeOutput) ToIamTrustedProfilePolicyResourceAttributeOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourceAttributeOutput { + return o +} + +// Name of attribute. +func (o IamTrustedProfilePolicyResourceAttributeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResourceAttribute) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamTrustedProfilePolicyResourceAttributeOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResourceAttribute) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamTrustedProfilePolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamTrustedProfilePolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfilePolicyResourceAttribute)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyResourceAttributeArrayOutput) ToIamTrustedProfilePolicyResourceAttributeArrayOutput() IamTrustedProfilePolicyResourceAttributeArrayOutput { + return o +} + +func (o IamTrustedProfilePolicyResourceAttributeArrayOutput) ToIamTrustedProfilePolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourceAttributeArrayOutput { + return o +} + +func (o IamTrustedProfilePolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) IamTrustedProfilePolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfilePolicyResourceAttribute { + return vs[0].([]IamTrustedProfilePolicyResourceAttribute)[vs[1].(int)] + }).(IamTrustedProfilePolicyResourceAttributeOutput) +} + +type IamTrustedProfilePolicyResourceTag struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamTrustedProfilePolicyResourceTagInput is an input type that accepts IamTrustedProfilePolicyResourceTagArgs and IamTrustedProfilePolicyResourceTagOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyResourceTagInput` via: +// +// IamTrustedProfilePolicyResourceTagArgs{...} +type IamTrustedProfilePolicyResourceTagInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyResourceTagOutput() IamTrustedProfilePolicyResourceTagOutput + ToIamTrustedProfilePolicyResourceTagOutputWithContext(context.Context) IamTrustedProfilePolicyResourceTagOutput +} + +type IamTrustedProfilePolicyResourceTagArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamTrustedProfilePolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyResourceTag)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyResourceTagArgs) ToIamTrustedProfilePolicyResourceTagOutput() IamTrustedProfilePolicyResourceTagOutput { + return i.ToIamTrustedProfilePolicyResourceTagOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyResourceTagArgs) ToIamTrustedProfilePolicyResourceTagOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyResourceTagOutput) +} + +// IamTrustedProfilePolicyResourceTagArrayInput is an input type that accepts IamTrustedProfilePolicyResourceTagArray and IamTrustedProfilePolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyResourceTagArrayInput` via: +// +// IamTrustedProfilePolicyResourceTagArray{ IamTrustedProfilePolicyResourceTagArgs{...} } +type IamTrustedProfilePolicyResourceTagArrayInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyResourceTagArrayOutput() IamTrustedProfilePolicyResourceTagArrayOutput + ToIamTrustedProfilePolicyResourceTagArrayOutputWithContext(context.Context) IamTrustedProfilePolicyResourceTagArrayOutput +} + +type IamTrustedProfilePolicyResourceTagArray []IamTrustedProfilePolicyResourceTagInput + +func (IamTrustedProfilePolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfilePolicyResourceTag)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyResourceTagArray) ToIamTrustedProfilePolicyResourceTagArrayOutput() IamTrustedProfilePolicyResourceTagArrayOutput { + return i.ToIamTrustedProfilePolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyResourceTagArray) ToIamTrustedProfilePolicyResourceTagArrayOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyResourceTagArrayOutput) +} + +type IamTrustedProfilePolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyResourceTag)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyResourceTagOutput) ToIamTrustedProfilePolicyResourceTagOutput() IamTrustedProfilePolicyResourceTagOutput { + return o +} + +func (o IamTrustedProfilePolicyResourceTagOutput) ToIamTrustedProfilePolicyResourceTagOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourceTagOutput { + return o +} + +// Name of attribute. +func (o IamTrustedProfilePolicyResourceTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResourceTag) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamTrustedProfilePolicyResourceTagOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResourceTag) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamTrustedProfilePolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type IamTrustedProfilePolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfilePolicyResourceTag)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyResourceTagArrayOutput) ToIamTrustedProfilePolicyResourceTagArrayOutput() IamTrustedProfilePolicyResourceTagArrayOutput { + return o +} + +func (o IamTrustedProfilePolicyResourceTagArrayOutput) ToIamTrustedProfilePolicyResourceTagArrayOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourceTagArrayOutput { + return o +} + +func (o IamTrustedProfilePolicyResourceTagArrayOutput) Index(i pulumi.IntInput) IamTrustedProfilePolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfilePolicyResourceTag { + return vs[0].([]IamTrustedProfilePolicyResourceTag)[vs[1].(int)] + }).(IamTrustedProfilePolicyResourceTagOutput) +} + +type IamTrustedProfilePolicyResources struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region *string `pulumi:"region"` + // Resource of the policy definition + Resource *string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType *string `pulumi:"resourceType"` + // Service name of the policy definition + Service *string `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId *string `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType *string `pulumi:"serviceType"` +} + +// IamTrustedProfilePolicyResourcesInput is an input type that accepts IamTrustedProfilePolicyResourcesArgs and IamTrustedProfilePolicyResourcesOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyResourcesInput` via: +// +// IamTrustedProfilePolicyResourcesArgs{...} +type IamTrustedProfilePolicyResourcesInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyResourcesOutput() IamTrustedProfilePolicyResourcesOutput + ToIamTrustedProfilePolicyResourcesOutputWithContext(context.Context) IamTrustedProfilePolicyResourcesOutput +} + +type IamTrustedProfilePolicyResourcesArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringPtrInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringPtrInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringPtrInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringPtrInput `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId pulumi.StringPtrInput `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType pulumi.StringPtrInput `pulumi:"serviceType"` +} + +func (IamTrustedProfilePolicyResourcesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyResources)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyResourcesArgs) ToIamTrustedProfilePolicyResourcesOutput() IamTrustedProfilePolicyResourcesOutput { + return i.ToIamTrustedProfilePolicyResourcesOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyResourcesArgs) ToIamTrustedProfilePolicyResourcesOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourcesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyResourcesOutput) +} + +func (i IamTrustedProfilePolicyResourcesArgs) ToIamTrustedProfilePolicyResourcesPtrOutput() IamTrustedProfilePolicyResourcesPtrOutput { + return i.ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyResourcesArgs) ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyResourcesOutput).ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(ctx) +} + +// IamTrustedProfilePolicyResourcesPtrInput is an input type that accepts IamTrustedProfilePolicyResourcesArgs, IamTrustedProfilePolicyResourcesPtr and IamTrustedProfilePolicyResourcesPtrOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyResourcesPtrInput` via: +// +// IamTrustedProfilePolicyResourcesArgs{...} +// +// or: +// +// nil +type IamTrustedProfilePolicyResourcesPtrInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyResourcesPtrOutput() IamTrustedProfilePolicyResourcesPtrOutput + ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(context.Context) IamTrustedProfilePolicyResourcesPtrOutput +} + +type iamTrustedProfilePolicyResourcesPtrType IamTrustedProfilePolicyResourcesArgs + +func IamTrustedProfilePolicyResourcesPtr(v *IamTrustedProfilePolicyResourcesArgs) IamTrustedProfilePolicyResourcesPtrInput { + return (*iamTrustedProfilePolicyResourcesPtrType)(v) +} + +func (*iamTrustedProfilePolicyResourcesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfilePolicyResources)(nil)).Elem() +} + +func (i *iamTrustedProfilePolicyResourcesPtrType) ToIamTrustedProfilePolicyResourcesPtrOutput() IamTrustedProfilePolicyResourcesPtrOutput { + return i.ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (i *iamTrustedProfilePolicyResourcesPtrType) ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyResourcesPtrOutput) +} + +type IamTrustedProfilePolicyResourcesOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyResourcesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyResources)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyResourcesOutput) ToIamTrustedProfilePolicyResourcesOutput() IamTrustedProfilePolicyResourcesOutput { + return o +} + +func (o IamTrustedProfilePolicyResourcesOutput) ToIamTrustedProfilePolicyResourcesOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourcesOutput { + return o +} + +func (o IamTrustedProfilePolicyResourcesOutput) ToIamTrustedProfilePolicyResourcesPtrOutput() IamTrustedProfilePolicyResourcesPtrOutput { + return o.ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (o IamTrustedProfilePolicyResourcesOutput) ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourcesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamTrustedProfilePolicyResources) *IamTrustedProfilePolicyResources { + return &v + }).(IamTrustedProfilePolicyResourcesPtrOutput) +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamTrustedProfilePolicyResourcesOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamTrustedProfilePolicyResourcesOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamTrustedProfilePolicyResourcesOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) *string { return v.Resource }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamTrustedProfilePolicyResourcesOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamTrustedProfilePolicyResourcesOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) *string { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamTrustedProfilePolicyResourcesOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamTrustedProfilePolicyResourcesOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// Service group id of the policy definition +func (o IamTrustedProfilePolicyResourcesOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) *string { return v.ServiceGroupId }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamTrustedProfilePolicyResourcesOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyResources) *string { return v.ServiceType }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfilePolicyResourcesPtrOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyResourcesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfilePolicyResources)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyResourcesPtrOutput) ToIamTrustedProfilePolicyResourcesPtrOutput() IamTrustedProfilePolicyResourcesPtrOutput { + return o +} + +func (o IamTrustedProfilePolicyResourcesPtrOutput) ToIamTrustedProfilePolicyResourcesPtrOutputWithContext(ctx context.Context) IamTrustedProfilePolicyResourcesPtrOutput { + return o +} + +func (o IamTrustedProfilePolicyResourcesPtrOutput) Elem() IamTrustedProfilePolicyResourcesOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) IamTrustedProfilePolicyResources { + if v != nil { + return *v + } + var ret IamTrustedProfilePolicyResources + return ret + }).(IamTrustedProfilePolicyResourcesOutput) +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamTrustedProfilePolicyResourcesPtrOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) map[string]string { + if v == nil { + return nil + } + return v.Attributes + }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamTrustedProfilePolicyResourcesPtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) *string { + if v == nil { + return nil + } + return v.Region + }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamTrustedProfilePolicyResourcesPtrOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) *string { + if v == nil { + return nil + } + return v.Resource + }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamTrustedProfilePolicyResourcesPtrOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceGroupId + }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamTrustedProfilePolicyResourcesPtrOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceInstanceId + }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamTrustedProfilePolicyResourcesPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamTrustedProfilePolicyResourcesPtrOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) *string { + if v == nil { + return nil + } + return v.Service + }).(pulumi.StringPtrOutput) +} + +// Service group id of the policy definition +func (o IamTrustedProfilePolicyResourcesPtrOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) *string { + if v == nil { + return nil + } + return v.ServiceGroupId + }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamTrustedProfilePolicyResourcesPtrOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfilePolicyResources) *string { + if v == nil { + return nil + } + return v.ServiceType + }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfilePolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []IamTrustedProfilePolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamTrustedProfilePolicyRuleConditionInput is an input type that accepts IamTrustedProfilePolicyRuleConditionArgs and IamTrustedProfilePolicyRuleConditionOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyRuleConditionInput` via: +// +// IamTrustedProfilePolicyRuleConditionArgs{...} +type IamTrustedProfilePolicyRuleConditionInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyRuleConditionOutput() IamTrustedProfilePolicyRuleConditionOutput + ToIamTrustedProfilePolicyRuleConditionOutputWithContext(context.Context) IamTrustedProfilePolicyRuleConditionOutput +} + +type IamTrustedProfilePolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions IamTrustedProfilePolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamTrustedProfilePolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyRuleCondition)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyRuleConditionArgs) ToIamTrustedProfilePolicyRuleConditionOutput() IamTrustedProfilePolicyRuleConditionOutput { + return i.ToIamTrustedProfilePolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyRuleConditionArgs) ToIamTrustedProfilePolicyRuleConditionOutputWithContext(ctx context.Context) IamTrustedProfilePolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyRuleConditionOutput) +} + +// IamTrustedProfilePolicyRuleConditionArrayInput is an input type that accepts IamTrustedProfilePolicyRuleConditionArray and IamTrustedProfilePolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyRuleConditionArrayInput` via: +// +// IamTrustedProfilePolicyRuleConditionArray{ IamTrustedProfilePolicyRuleConditionArgs{...} } +type IamTrustedProfilePolicyRuleConditionArrayInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyRuleConditionArrayOutput() IamTrustedProfilePolicyRuleConditionArrayOutput + ToIamTrustedProfilePolicyRuleConditionArrayOutputWithContext(context.Context) IamTrustedProfilePolicyRuleConditionArrayOutput +} + +type IamTrustedProfilePolicyRuleConditionArray []IamTrustedProfilePolicyRuleConditionInput + +func (IamTrustedProfilePolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfilePolicyRuleCondition)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyRuleConditionArray) ToIamTrustedProfilePolicyRuleConditionArrayOutput() IamTrustedProfilePolicyRuleConditionArrayOutput { + return i.ToIamTrustedProfilePolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyRuleConditionArray) ToIamTrustedProfilePolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamTrustedProfilePolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyRuleConditionArrayOutput) +} + +type IamTrustedProfilePolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyRuleCondition)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyRuleConditionOutput) ToIamTrustedProfilePolicyRuleConditionOutput() IamTrustedProfilePolicyRuleConditionOutput { + return o +} + +func (o IamTrustedProfilePolicyRuleConditionOutput) ToIamTrustedProfilePolicyRuleConditionOutputWithContext(ctx context.Context) IamTrustedProfilePolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o IamTrustedProfilePolicyRuleConditionOutput) Conditions() IamTrustedProfilePolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyRuleCondition) []IamTrustedProfilePolicyRuleConditionCondition { + return v.Conditions + }).(IamTrustedProfilePolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o IamTrustedProfilePolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o IamTrustedProfilePolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamTrustedProfilePolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamTrustedProfilePolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfilePolicyRuleCondition)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyRuleConditionArrayOutput) ToIamTrustedProfilePolicyRuleConditionArrayOutput() IamTrustedProfilePolicyRuleConditionArrayOutput { + return o +} + +func (o IamTrustedProfilePolicyRuleConditionArrayOutput) ToIamTrustedProfilePolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamTrustedProfilePolicyRuleConditionArrayOutput { + return o +} + +func (o IamTrustedProfilePolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) IamTrustedProfilePolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfilePolicyRuleCondition { + return vs[0].([]IamTrustedProfilePolicyRuleCondition)[vs[1].(int)] + }).(IamTrustedProfilePolicyRuleConditionOutput) +} + +type IamTrustedProfilePolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamTrustedProfilePolicyRuleConditionConditionInput is an input type that accepts IamTrustedProfilePolicyRuleConditionConditionArgs and IamTrustedProfilePolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyRuleConditionConditionInput` via: +// +// IamTrustedProfilePolicyRuleConditionConditionArgs{...} +type IamTrustedProfilePolicyRuleConditionConditionInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyRuleConditionConditionOutput() IamTrustedProfilePolicyRuleConditionConditionOutput + ToIamTrustedProfilePolicyRuleConditionConditionOutputWithContext(context.Context) IamTrustedProfilePolicyRuleConditionConditionOutput +} + +type IamTrustedProfilePolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamTrustedProfilePolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyRuleConditionConditionArgs) ToIamTrustedProfilePolicyRuleConditionConditionOutput() IamTrustedProfilePolicyRuleConditionConditionOutput { + return i.ToIamTrustedProfilePolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyRuleConditionConditionArgs) ToIamTrustedProfilePolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamTrustedProfilePolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyRuleConditionConditionOutput) +} + +// IamTrustedProfilePolicyRuleConditionConditionArrayInput is an input type that accepts IamTrustedProfilePolicyRuleConditionConditionArray and IamTrustedProfilePolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfilePolicyRuleConditionConditionArrayInput` via: +// +// IamTrustedProfilePolicyRuleConditionConditionArray{ IamTrustedProfilePolicyRuleConditionConditionArgs{...} } +type IamTrustedProfilePolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToIamTrustedProfilePolicyRuleConditionConditionArrayOutput() IamTrustedProfilePolicyRuleConditionConditionArrayOutput + ToIamTrustedProfilePolicyRuleConditionConditionArrayOutputWithContext(context.Context) IamTrustedProfilePolicyRuleConditionConditionArrayOutput +} + +type IamTrustedProfilePolicyRuleConditionConditionArray []IamTrustedProfilePolicyRuleConditionConditionInput + +func (IamTrustedProfilePolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfilePolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamTrustedProfilePolicyRuleConditionConditionArray) ToIamTrustedProfilePolicyRuleConditionConditionArrayOutput() IamTrustedProfilePolicyRuleConditionConditionArrayOutput { + return i.ToIamTrustedProfilePolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfilePolicyRuleConditionConditionArray) ToIamTrustedProfilePolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamTrustedProfilePolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfilePolicyRuleConditionConditionArrayOutput) +} + +type IamTrustedProfilePolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfilePolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyRuleConditionConditionOutput) ToIamTrustedProfilePolicyRuleConditionConditionOutput() IamTrustedProfilePolicyRuleConditionConditionOutput { + return o +} + +func (o IamTrustedProfilePolicyRuleConditionConditionOutput) ToIamTrustedProfilePolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamTrustedProfilePolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o IamTrustedProfilePolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o IamTrustedProfilePolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamTrustedProfilePolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamTrustedProfilePolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamTrustedProfilePolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfilePolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfilePolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamTrustedProfilePolicyRuleConditionConditionArrayOutput) ToIamTrustedProfilePolicyRuleConditionConditionArrayOutput() IamTrustedProfilePolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamTrustedProfilePolicyRuleConditionConditionArrayOutput) ToIamTrustedProfilePolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamTrustedProfilePolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamTrustedProfilePolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) IamTrustedProfilePolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfilePolicyRuleConditionCondition { + return vs[0].([]IamTrustedProfilePolicyRuleConditionCondition)[vs[1].(int)] + }).(IamTrustedProfilePolicyRuleConditionConditionOutput) +} + +type IamTrustedProfileTemplateAssignmentContext struct { + // The cluster name. + ClusterName *string `pulumi:"clusterName"` + // The elapsed time in msec. + ElapsedTime *string `pulumi:"elapsedTime"` + // The finish time of the request. + EndTime *string `pulumi:"endTime"` + // The host of the server instance processing the request. + Host *string `pulumi:"host"` + // The instance ID of the server instance processing the request. + InstanceId *string `pulumi:"instanceId"` + // The operation of the inbound REST request. + Operation *string `pulumi:"operation"` + // The start time of the request. + StartTime *string `pulumi:"startTime"` + // The thread ID of the server instance processing the request. + ThreadId *string `pulumi:"threadId"` + // The transaction ID of the inbound REST request. + TransactionId *string `pulumi:"transactionId"` + // The URL of that cluster. + Url *string `pulumi:"url"` + // The user agent of the inbound REST request. + UserAgent *string `pulumi:"userAgent"` +} + +// IamTrustedProfileTemplateAssignmentContextInput is an input type that accepts IamTrustedProfileTemplateAssignmentContextArgs and IamTrustedProfileTemplateAssignmentContextOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentContextInput` via: +// +// IamTrustedProfileTemplateAssignmentContextArgs{...} +type IamTrustedProfileTemplateAssignmentContextInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentContextOutput() IamTrustedProfileTemplateAssignmentContextOutput + ToIamTrustedProfileTemplateAssignmentContextOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentContextOutput +} + +type IamTrustedProfileTemplateAssignmentContextArgs struct { + // The cluster name. + ClusterName pulumi.StringPtrInput `pulumi:"clusterName"` + // The elapsed time in msec. + ElapsedTime pulumi.StringPtrInput `pulumi:"elapsedTime"` + // The finish time of the request. + EndTime pulumi.StringPtrInput `pulumi:"endTime"` + // The host of the server instance processing the request. + Host pulumi.StringPtrInput `pulumi:"host"` + // The instance ID of the server instance processing the request. + InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` + // The operation of the inbound REST request. + Operation pulumi.StringPtrInput `pulumi:"operation"` + // The start time of the request. + StartTime pulumi.StringPtrInput `pulumi:"startTime"` + // The thread ID of the server instance processing the request. + ThreadId pulumi.StringPtrInput `pulumi:"threadId"` + // The transaction ID of the inbound REST request. + TransactionId pulumi.StringPtrInput `pulumi:"transactionId"` + // The URL of that cluster. + Url pulumi.StringPtrInput `pulumi:"url"` + // The user agent of the inbound REST request. + UserAgent pulumi.StringPtrInput `pulumi:"userAgent"` +} + +func (IamTrustedProfileTemplateAssignmentContextArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentContext)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentContextArgs) ToIamTrustedProfileTemplateAssignmentContextOutput() IamTrustedProfileTemplateAssignmentContextOutput { + return i.ToIamTrustedProfileTemplateAssignmentContextOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentContextArgs) ToIamTrustedProfileTemplateAssignmentContextOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentContextOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentContextOutput) +} + +// IamTrustedProfileTemplateAssignmentContextArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentContextArray and IamTrustedProfileTemplateAssignmentContextArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentContextArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentContextArray{ IamTrustedProfileTemplateAssignmentContextArgs{...} } +type IamTrustedProfileTemplateAssignmentContextArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentContextArrayOutput() IamTrustedProfileTemplateAssignmentContextArrayOutput + ToIamTrustedProfileTemplateAssignmentContextArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentContextArrayOutput +} + +type IamTrustedProfileTemplateAssignmentContextArray []IamTrustedProfileTemplateAssignmentContextInput + +func (IamTrustedProfileTemplateAssignmentContextArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentContext)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentContextArray) ToIamTrustedProfileTemplateAssignmentContextArrayOutput() IamTrustedProfileTemplateAssignmentContextArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentContextArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentContextArray) ToIamTrustedProfileTemplateAssignmentContextArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentContextArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentContextArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentContextOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentContextOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentContext)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentContextOutput) ToIamTrustedProfileTemplateAssignmentContextOutput() IamTrustedProfileTemplateAssignmentContextOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentContextOutput) ToIamTrustedProfileTemplateAssignmentContextOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentContextOutput { + return o +} + +// The cluster name. +func (o IamTrustedProfileTemplateAssignmentContextOutput) ClusterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.ClusterName }).(pulumi.StringPtrOutput) +} + +// The elapsed time in msec. +func (o IamTrustedProfileTemplateAssignmentContextOutput) ElapsedTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.ElapsedTime }).(pulumi.StringPtrOutput) +} + +// The finish time of the request. +func (o IamTrustedProfileTemplateAssignmentContextOutput) EndTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.EndTime }).(pulumi.StringPtrOutput) +} + +// The host of the server instance processing the request. +func (o IamTrustedProfileTemplateAssignmentContextOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.Host }).(pulumi.StringPtrOutput) +} + +// The instance ID of the server instance processing the request. +func (o IamTrustedProfileTemplateAssignmentContextOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.InstanceId }).(pulumi.StringPtrOutput) +} + +// The operation of the inbound REST request. +func (o IamTrustedProfileTemplateAssignmentContextOutput) Operation() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.Operation }).(pulumi.StringPtrOutput) +} + +// The start time of the request. +func (o IamTrustedProfileTemplateAssignmentContextOutput) StartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.StartTime }).(pulumi.StringPtrOutput) +} + +// The thread ID of the server instance processing the request. +func (o IamTrustedProfileTemplateAssignmentContextOutput) ThreadId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.ThreadId }).(pulumi.StringPtrOutput) +} + +// The transaction ID of the inbound REST request. +func (o IamTrustedProfileTemplateAssignmentContextOutput) TransactionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.TransactionId }).(pulumi.StringPtrOutput) +} + +// The URL of that cluster. +func (o IamTrustedProfileTemplateAssignmentContextOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.Url }).(pulumi.StringPtrOutput) +} + +// The user agent of the inbound REST request. +func (o IamTrustedProfileTemplateAssignmentContextOutput) UserAgent() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentContext) *string { return v.UserAgent }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateAssignmentContextArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentContextArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentContext)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentContextArrayOutput) ToIamTrustedProfileTemplateAssignmentContextArrayOutput() IamTrustedProfileTemplateAssignmentContextArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentContextArrayOutput) ToIamTrustedProfileTemplateAssignmentContextArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentContextArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentContextArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentContextOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentContext { + return vs[0].([]IamTrustedProfileTemplateAssignmentContext)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentContextOutput) +} + +type IamTrustedProfileTemplateAssignmentHistory struct { + // Action of the history entry. + Action *string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId *string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount *string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message *string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp *string `pulumi:"timestamp"` +} + +// IamTrustedProfileTemplateAssignmentHistoryInput is an input type that accepts IamTrustedProfileTemplateAssignmentHistoryArgs and IamTrustedProfileTemplateAssignmentHistoryOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentHistoryInput` via: +// +// IamTrustedProfileTemplateAssignmentHistoryArgs{...} +type IamTrustedProfileTemplateAssignmentHistoryInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentHistoryOutput() IamTrustedProfileTemplateAssignmentHistoryOutput + ToIamTrustedProfileTemplateAssignmentHistoryOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentHistoryOutput +} + +type IamTrustedProfileTemplateAssignmentHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringPtrInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringPtrInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringPtrInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringPtrInput `pulumi:"timestamp"` +} + +func (IamTrustedProfileTemplateAssignmentHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentHistory)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentHistoryArgs) ToIamTrustedProfileTemplateAssignmentHistoryOutput() IamTrustedProfileTemplateAssignmentHistoryOutput { + return i.ToIamTrustedProfileTemplateAssignmentHistoryOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentHistoryArgs) ToIamTrustedProfileTemplateAssignmentHistoryOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentHistoryOutput) +} + +// IamTrustedProfileTemplateAssignmentHistoryArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentHistoryArray and IamTrustedProfileTemplateAssignmentHistoryArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentHistoryArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentHistoryArray{ IamTrustedProfileTemplateAssignmentHistoryArgs{...} } +type IamTrustedProfileTemplateAssignmentHistoryArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentHistoryArrayOutput() IamTrustedProfileTemplateAssignmentHistoryArrayOutput + ToIamTrustedProfileTemplateAssignmentHistoryArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentHistoryArrayOutput +} + +type IamTrustedProfileTemplateAssignmentHistoryArray []IamTrustedProfileTemplateAssignmentHistoryInput + +func (IamTrustedProfileTemplateAssignmentHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentHistory)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentHistoryArray) ToIamTrustedProfileTemplateAssignmentHistoryArrayOutput() IamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentHistoryArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentHistoryArray) ToIamTrustedProfileTemplateAssignmentHistoryArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentHistoryArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentHistoryOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentHistory)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentHistoryOutput) ToIamTrustedProfileTemplateAssignmentHistoryOutput() IamTrustedProfileTemplateAssignmentHistoryOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentHistoryOutput) ToIamTrustedProfileTemplateAssignmentHistoryOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentHistoryOutput { + return o +} + +// Action of the history entry. +func (o IamTrustedProfileTemplateAssignmentHistoryOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentHistory) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// IAM ID of the identity which triggered the action. +func (o IamTrustedProfileTemplateAssignmentHistoryOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentHistory) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Account of the identity which triggered the action. +func (o IamTrustedProfileTemplateAssignmentHistoryOutput) IamIdAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentHistory) *string { return v.IamIdAccount }).(pulumi.StringPtrOutput) +} + +// Message which summarizes the executed action. +func (o IamTrustedProfileTemplateAssignmentHistoryOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentHistory) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Params of the history entry. +func (o IamTrustedProfileTemplateAssignmentHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o IamTrustedProfileTemplateAssignmentHistoryOutput) Timestamp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentHistory) *string { return v.Timestamp }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateAssignmentHistoryArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentHistory)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentHistoryArrayOutput) ToIamTrustedProfileTemplateAssignmentHistoryArrayOutput() IamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentHistoryArrayOutput) ToIamTrustedProfileTemplateAssignmentHistoryArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentHistoryArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentHistory { + return vs[0].([]IamTrustedProfileTemplateAssignmentHistory)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentHistoryOutput) +} + +type IamTrustedProfileTemplateAssignmentResource struct { + // Policy resource(s) included only for trusted profile assignments with policy references. + PolicyTemplateReferences []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference `pulumi:"policyTemplateReferences"` + Profiles []IamTrustedProfileTemplateAssignmentResourceProfile `pulumi:"profiles"` + // Target account where the IAM resource is created. + Target string `pulumi:"target"` +} + +// IamTrustedProfileTemplateAssignmentResourceInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourceArgs and IamTrustedProfileTemplateAssignmentResourceOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourceInput` via: +// +// IamTrustedProfileTemplateAssignmentResourceArgs{...} +type IamTrustedProfileTemplateAssignmentResourceInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourceOutput() IamTrustedProfileTemplateAssignmentResourceOutput + ToIamTrustedProfileTemplateAssignmentResourceOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourceOutput +} + +type IamTrustedProfileTemplateAssignmentResourceArgs struct { + // Policy resource(s) included only for trusted profile assignments with policy references. + PolicyTemplateReferences IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput `pulumi:"policyTemplateReferences"` + Profiles IamTrustedProfileTemplateAssignmentResourceProfileArrayInput `pulumi:"profiles"` + // Target account where the IAM resource is created. + Target pulumi.StringInput `pulumi:"target"` +} + +func (IamTrustedProfileTemplateAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResource)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourceArgs) ToIamTrustedProfileTemplateAssignmentResourceOutput() IamTrustedProfileTemplateAssignmentResourceOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourceOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourceArgs) ToIamTrustedProfileTemplateAssignmentResourceOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourceOutput) +} + +// IamTrustedProfileTemplateAssignmentResourceArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourceArray and IamTrustedProfileTemplateAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourceArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentResourceArray{ IamTrustedProfileTemplateAssignmentResourceArgs{...} } +type IamTrustedProfileTemplateAssignmentResourceArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourceArrayOutput() IamTrustedProfileTemplateAssignmentResourceArrayOutput + ToIamTrustedProfileTemplateAssignmentResourceArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourceArrayOutput +} + +type IamTrustedProfileTemplateAssignmentResourceArray []IamTrustedProfileTemplateAssignmentResourceInput + +func (IamTrustedProfileTemplateAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResource)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourceArray) ToIamTrustedProfileTemplateAssignmentResourceArrayOutput() IamTrustedProfileTemplateAssignmentResourceArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourceArray) ToIamTrustedProfileTemplateAssignmentResourceArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourceArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResource)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourceOutput) ToIamTrustedProfileTemplateAssignmentResourceOutput() IamTrustedProfileTemplateAssignmentResourceOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceOutput) ToIamTrustedProfileTemplateAssignmentResourceOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceOutput { + return o +} + +// Policy resource(s) included only for trusted profile assignments with policy references. +func (o IamTrustedProfileTemplateAssignmentResourceOutput) PolicyTemplateReferences() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResource) []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference { + return v.PolicyTemplateReferences + }).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) +} + +func (o IamTrustedProfileTemplateAssignmentResourceOutput) Profiles() IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResource) []IamTrustedProfileTemplateAssignmentResourceProfile { + return v.Profiles + }).(IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) +} + +// Target account where the IAM resource is created. +func (o IamTrustedProfileTemplateAssignmentResourceOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResource) string { return v.Target }).(pulumi.StringOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResource)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourceArrayOutput) ToIamTrustedProfileTemplateAssignmentResourceArrayOutput() IamTrustedProfileTemplateAssignmentResourceArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceArrayOutput) ToIamTrustedProfileTemplateAssignmentResourceArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentResource { + return vs[0].([]IamTrustedProfileTemplateAssignmentResource)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentResourceOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference struct { + // Body parameters for assignment error. + ErrorMessages []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id *string `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status *string `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version *string `pulumi:"version"` +} + +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs and IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput` via: +// +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs{...} +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs struct { + // Body parameters for assignment error. + ErrorMessages IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id pulumi.StringPtrInput `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status pulumi.StringPtrInput `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) +} + +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray and IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray{ IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs{...} } +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return o +} + +// Body parameters for assignment error. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ErrorMessages() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage { + return v.ErrorMessages + }).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) +} + +// Policy Template Id, only returned for a profile assignment with policy references. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Body parameters for created resource. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ResourceCreateds() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated { + return v.ResourceCreateds + }).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) +} + +// Status for the target account's assignment. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// Policy version, only returned for a profile assignment with policy references. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference { + return vs[0].([]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage struct { + // Internal error code. + ErrorCode *string `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message *string `pulumi:"message"` + // Name of the error. + Name *string `pulumi:"name"` + // Internal status code for the error. + StatusCode *string `pulumi:"statusCode"` +} + +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs and IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput` via: +// +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs{...} +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs struct { + // Internal error code. + ErrorCode pulumi.StringPtrInput `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message pulumi.StringPtrInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringPtrInput `pulumi:"name"` + // Internal status code for the error. + StatusCode pulumi.StringPtrInput `pulumi:"statusCode"` +} + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) +} + +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray and IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray{ IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs{...} } +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return o +} + +// Internal error code. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) ErrorCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage) *string { + return v.ErrorCode + }).(pulumi.StringPtrOutput) +} + +// Error message detailing the nature of the error. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage) *string { + return v.Message + }).(pulumi.StringPtrOutput) +} + +// Name of the error. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage) *string { + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Internal status code for the error. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) StatusCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage) *string { + return v.StatusCode + }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage { + return vs[0].([]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated struct { + // Id of the created resource. + Id *string `pulumi:"id"` +} + +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs and IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput` via: +// +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs{...} +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs struct { + // Id of the created resource. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) +} + +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray and IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray{ IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs{...} } +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput + ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray []IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return o +} + +// Id of the created resource. +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated) *string { + return v.Id + }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput() IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) ToIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated { + return vs[0].([]IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfile struct { + // Body parameters for assignment error. + ErrorMessages []IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id *string `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds []IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status *string `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version *string `pulumi:"version"` +} + +// IamTrustedProfileTemplateAssignmentResourceProfileInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourceProfileArgs and IamTrustedProfileTemplateAssignmentResourceProfileOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourceProfileInput` via: +// +// IamTrustedProfileTemplateAssignmentResourceProfileArgs{...} +type IamTrustedProfileTemplateAssignmentResourceProfileInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourceProfileOutput() IamTrustedProfileTemplateAssignmentResourceProfileOutput + ToIamTrustedProfileTemplateAssignmentResourceProfileOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourceProfileOutput +} + +type IamTrustedProfileTemplateAssignmentResourceProfileArgs struct { + // Body parameters for assignment error. + ErrorMessages IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id pulumi.StringPtrInput `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status pulumi.StringPtrInput `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (IamTrustedProfileTemplateAssignmentResourceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfile)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileArgs) ToIamTrustedProfileTemplateAssignmentResourceProfileOutput() IamTrustedProfileTemplateAssignmentResourceProfileOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourceProfileOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileArgs) ToIamTrustedProfileTemplateAssignmentResourceProfileOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourceProfileOutput) +} + +// IamTrustedProfileTemplateAssignmentResourceProfileArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourceProfileArray and IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourceProfileArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentResourceProfileArray{ IamTrustedProfileTemplateAssignmentResourceProfileArgs{...} } +type IamTrustedProfileTemplateAssignmentResourceProfileArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput + ToIamTrustedProfileTemplateAssignmentResourceProfileArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput +} + +type IamTrustedProfileTemplateAssignmentResourceProfileArray []IamTrustedProfileTemplateAssignmentResourceProfileInput + +func (IamTrustedProfileTemplateAssignmentResourceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourceProfile)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileArray) ToIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourceProfileArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileArray) ToIamTrustedProfileTemplateAssignmentResourceProfileArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfileOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfile)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileOutput() IamTrustedProfileTemplateAssignmentResourceProfileOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileOutput { + return o +} + +// Body parameters for assignment error. +func (o IamTrustedProfileTemplateAssignmentResourceProfileOutput) ErrorMessages() IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfile) []IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage { + return v.ErrorMessages + }).(IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) +} + +// Policy Template Id, only returned for a profile assignment with policy references. +func (o IamTrustedProfileTemplateAssignmentResourceProfileOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfile) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Body parameters for created resource. +func (o IamTrustedProfileTemplateAssignmentResourceProfileOutput) ResourceCreateds() IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfile) []IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated { + return v.ResourceCreateds + }).(IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) +} + +// Status for the target account's assignment. +func (o IamTrustedProfileTemplateAssignmentResourceProfileOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfile) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// Policy version, only returned for a profile assignment with policy references. +func (o IamTrustedProfileTemplateAssignmentResourceProfileOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfile) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourceProfile)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentResourceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentResourceProfile { + return vs[0].([]IamTrustedProfileTemplateAssignmentResourceProfile)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentResourceProfileOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage struct { + // Internal error code. + ErrorCode *string `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message *string `pulumi:"message"` + // Name of the error. + Name *string `pulumi:"name"` + // Internal status code for the error. + StatusCode *string `pulumi:"statusCode"` +} + +// IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs and IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput` via: +// +// IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs{...} +type IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput() IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput + ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput +} + +type IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs struct { + // Internal error code. + ErrorCode pulumi.StringPtrInput `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message pulumi.StringPtrInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringPtrInput `pulumi:"name"` + // Internal status code for the error. + StatusCode pulumi.StringPtrInput `pulumi:"statusCode"` +} + +func (IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs) ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput() IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs) ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) +} + +// IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray and IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray{ IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs{...} } +type IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput + ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput +} + +type IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray []IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput + +func (IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray) ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray) ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput() IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return o +} + +// Internal error code. +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) ErrorCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage) *string { return v.ErrorCode }).(pulumi.StringPtrOutput) +} + +// Error message detailing the nature of the error. +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Name of the error. +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Internal status code for the error. +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) StatusCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage) *string { return v.StatusCode }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage { + return vs[0].([]IamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated struct { + // Id of the created resource. + Id *string `pulumi:"id"` +} + +// IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs and IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput` via: +// +// IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs{...} +type IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput() IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput + ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput +} + +type IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs struct { + // Id of the created resource. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs) ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput() IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs) ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) +} + +// IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput is an input type that accepts IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray and IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput` via: +// +// IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray{ IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs{...} } +type IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput + ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutputWithContext(context.Context) IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput +} + +type IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray []IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput + +func (IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray) ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return i.ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray) ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput() IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return o +} + +// Id of the created resource. +func (o IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput() IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) ToIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated { + return vs[0].([]IamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)[vs[1].(int)] + }).(IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) +} + +type IamTrustedProfileTemplateHistory struct { + // Action of the history entry. + Action *string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId *string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount *string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message *string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp *string `pulumi:"timestamp"` +} + +// IamTrustedProfileTemplateHistoryInput is an input type that accepts IamTrustedProfileTemplateHistoryArgs and IamTrustedProfileTemplateHistoryOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateHistoryInput` via: +// +// IamTrustedProfileTemplateHistoryArgs{...} +type IamTrustedProfileTemplateHistoryInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateHistoryOutput() IamTrustedProfileTemplateHistoryOutput + ToIamTrustedProfileTemplateHistoryOutputWithContext(context.Context) IamTrustedProfileTemplateHistoryOutput +} + +type IamTrustedProfileTemplateHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringPtrInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringPtrInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringPtrInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringPtrInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringPtrInput `pulumi:"timestamp"` +} + +func (IamTrustedProfileTemplateHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateHistory)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateHistoryArgs) ToIamTrustedProfileTemplateHistoryOutput() IamTrustedProfileTemplateHistoryOutput { + return i.ToIamTrustedProfileTemplateHistoryOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateHistoryArgs) ToIamTrustedProfileTemplateHistoryOutputWithContext(ctx context.Context) IamTrustedProfileTemplateHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateHistoryOutput) +} + +// IamTrustedProfileTemplateHistoryArrayInput is an input type that accepts IamTrustedProfileTemplateHistoryArray and IamTrustedProfileTemplateHistoryArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateHistoryArrayInput` via: +// +// IamTrustedProfileTemplateHistoryArray{ IamTrustedProfileTemplateHistoryArgs{...} } +type IamTrustedProfileTemplateHistoryArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateHistoryArrayOutput() IamTrustedProfileTemplateHistoryArrayOutput + ToIamTrustedProfileTemplateHistoryArrayOutputWithContext(context.Context) IamTrustedProfileTemplateHistoryArrayOutput +} + +type IamTrustedProfileTemplateHistoryArray []IamTrustedProfileTemplateHistoryInput + +func (IamTrustedProfileTemplateHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateHistory)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateHistoryArray) ToIamTrustedProfileTemplateHistoryArrayOutput() IamTrustedProfileTemplateHistoryArrayOutput { + return i.ToIamTrustedProfileTemplateHistoryArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateHistoryArray) ToIamTrustedProfileTemplateHistoryArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateHistoryArrayOutput) +} + +type IamTrustedProfileTemplateHistoryOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateHistory)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateHistoryOutput) ToIamTrustedProfileTemplateHistoryOutput() IamTrustedProfileTemplateHistoryOutput { + return o +} + +func (o IamTrustedProfileTemplateHistoryOutput) ToIamTrustedProfileTemplateHistoryOutputWithContext(ctx context.Context) IamTrustedProfileTemplateHistoryOutput { + return o +} + +// Action of the history entry. +func (o IamTrustedProfileTemplateHistoryOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateHistory) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// IAM ID of the identity which triggered the action. +func (o IamTrustedProfileTemplateHistoryOutput) IamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateHistory) *string { return v.IamId }).(pulumi.StringPtrOutput) +} + +// Account of the identity which triggered the action. +func (o IamTrustedProfileTemplateHistoryOutput) IamIdAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateHistory) *string { return v.IamIdAccount }).(pulumi.StringPtrOutput) +} + +// Message which summarizes the executed action. +func (o IamTrustedProfileTemplateHistoryOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateHistory) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Params of the history entry. +func (o IamTrustedProfileTemplateHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o IamTrustedProfileTemplateHistoryOutput) Timestamp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateHistory) *string { return v.Timestamp }).(pulumi.StringPtrOutput) +} + +type IamTrustedProfileTemplateHistoryArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateHistory)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateHistoryArrayOutput) ToIamTrustedProfileTemplateHistoryArrayOutput() IamTrustedProfileTemplateHistoryArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateHistoryArrayOutput) ToIamTrustedProfileTemplateHistoryArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateHistoryArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateHistoryArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateHistory { + return vs[0].([]IamTrustedProfileTemplateHistory)[vs[1].(int)] + }).(IamTrustedProfileTemplateHistoryOutput) +} + +type IamTrustedProfileTemplatePolicyTemplateReference struct { + // ID of Access Policy Template. + Id string `pulumi:"id"` + // Version of Access Policy Template. + Version string `pulumi:"version"` +} + +// IamTrustedProfileTemplatePolicyTemplateReferenceInput is an input type that accepts IamTrustedProfileTemplatePolicyTemplateReferenceArgs and IamTrustedProfileTemplatePolicyTemplateReferenceOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplatePolicyTemplateReferenceInput` via: +// +// IamTrustedProfileTemplatePolicyTemplateReferenceArgs{...} +type IamTrustedProfileTemplatePolicyTemplateReferenceInput interface { + pulumi.Input + + ToIamTrustedProfileTemplatePolicyTemplateReferenceOutput() IamTrustedProfileTemplatePolicyTemplateReferenceOutput + ToIamTrustedProfileTemplatePolicyTemplateReferenceOutputWithContext(context.Context) IamTrustedProfileTemplatePolicyTemplateReferenceOutput +} + +type IamTrustedProfileTemplatePolicyTemplateReferenceArgs struct { + // ID of Access Policy Template. + Id pulumi.StringInput `pulumi:"id"` + // Version of Access Policy Template. + Version pulumi.StringInput `pulumi:"version"` +} + +func (IamTrustedProfileTemplatePolicyTemplateReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (i IamTrustedProfileTemplatePolicyTemplateReferenceArgs) ToIamTrustedProfileTemplatePolicyTemplateReferenceOutput() IamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return i.ToIamTrustedProfileTemplatePolicyTemplateReferenceOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplatePolicyTemplateReferenceArgs) ToIamTrustedProfileTemplatePolicyTemplateReferenceOutputWithContext(ctx context.Context) IamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplatePolicyTemplateReferenceOutput) +} + +// IamTrustedProfileTemplatePolicyTemplateReferenceArrayInput is an input type that accepts IamTrustedProfileTemplatePolicyTemplateReferenceArray and IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplatePolicyTemplateReferenceArrayInput` via: +// +// IamTrustedProfileTemplatePolicyTemplateReferenceArray{ IamTrustedProfileTemplatePolicyTemplateReferenceArgs{...} } +type IamTrustedProfileTemplatePolicyTemplateReferenceArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput() IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput + ToIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutputWithContext(context.Context) IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput +} + +type IamTrustedProfileTemplatePolicyTemplateReferenceArray []IamTrustedProfileTemplatePolicyTemplateReferenceInput + +func (IamTrustedProfileTemplatePolicyTemplateReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (i IamTrustedProfileTemplatePolicyTemplateReferenceArray) ToIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput() IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return i.ToIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplatePolicyTemplateReferenceArray) ToIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) +} + +type IamTrustedProfileTemplatePolicyTemplateReferenceOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplatePolicyTemplateReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (o IamTrustedProfileTemplatePolicyTemplateReferenceOutput) ToIamTrustedProfileTemplatePolicyTemplateReferenceOutput() IamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return o +} + +func (o IamTrustedProfileTemplatePolicyTemplateReferenceOutput) ToIamTrustedProfileTemplatePolicyTemplateReferenceOutputWithContext(ctx context.Context) IamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return o +} + +// ID of Access Policy Template. +func (o IamTrustedProfileTemplatePolicyTemplateReferenceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplatePolicyTemplateReference) string { return v.Id }).(pulumi.StringOutput) +} + +// Version of Access Policy Template. +func (o IamTrustedProfileTemplatePolicyTemplateReferenceOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplatePolicyTemplateReference) string { return v.Version }).(pulumi.StringOutput) +} + +type IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (o IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) ToIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput() IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return o +} + +func (o IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) ToIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return o +} + +func (o IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplatePolicyTemplateReference { + return vs[0].([]IamTrustedProfileTemplatePolicyTemplateReference)[vs[1].(int)] + }).(IamTrustedProfileTemplatePolicyTemplateReferenceOutput) +} + +type IamTrustedProfileTemplateProfile struct { + // Description of the Profile. + Description *string `pulumi:"description"` + // Identities for the Profile. + Identities []IamTrustedProfileTemplateProfileIdentity `pulumi:"identities"` + // Name of the Profile. + Name string `pulumi:"name"` + // Rules for the Profile. + Rules []IamTrustedProfileTemplateProfileRule `pulumi:"rules"` +} + +// IamTrustedProfileTemplateProfileInput is an input type that accepts IamTrustedProfileTemplateProfileArgs and IamTrustedProfileTemplateProfileOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateProfileInput` via: +// +// IamTrustedProfileTemplateProfileArgs{...} +type IamTrustedProfileTemplateProfileInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateProfileOutput() IamTrustedProfileTemplateProfileOutput + ToIamTrustedProfileTemplateProfileOutputWithContext(context.Context) IamTrustedProfileTemplateProfileOutput +} + +type IamTrustedProfileTemplateProfileArgs struct { + // Description of the Profile. + Description pulumi.StringPtrInput `pulumi:"description"` + // Identities for the Profile. + Identities IamTrustedProfileTemplateProfileIdentityArrayInput `pulumi:"identities"` + // Name of the Profile. + Name pulumi.StringInput `pulumi:"name"` + // Rules for the Profile. + Rules IamTrustedProfileTemplateProfileRuleArrayInput `pulumi:"rules"` +} + +func (IamTrustedProfileTemplateProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateProfile)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateProfileArgs) ToIamTrustedProfileTemplateProfileOutput() IamTrustedProfileTemplateProfileOutput { + return i.ToIamTrustedProfileTemplateProfileOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateProfileArgs) ToIamTrustedProfileTemplateProfileOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfileOutput) +} + +func (i IamTrustedProfileTemplateProfileArgs) ToIamTrustedProfileTemplateProfilePtrOutput() IamTrustedProfileTemplateProfilePtrOutput { + return i.ToIamTrustedProfileTemplateProfilePtrOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateProfileArgs) ToIamTrustedProfileTemplateProfilePtrOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfileOutput).ToIamTrustedProfileTemplateProfilePtrOutputWithContext(ctx) +} + +// IamTrustedProfileTemplateProfilePtrInput is an input type that accepts IamTrustedProfileTemplateProfileArgs, IamTrustedProfileTemplateProfilePtr and IamTrustedProfileTemplateProfilePtrOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateProfilePtrInput` via: +// +// IamTrustedProfileTemplateProfileArgs{...} +// +// or: +// +// nil +type IamTrustedProfileTemplateProfilePtrInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateProfilePtrOutput() IamTrustedProfileTemplateProfilePtrOutput + ToIamTrustedProfileTemplateProfilePtrOutputWithContext(context.Context) IamTrustedProfileTemplateProfilePtrOutput +} + +type iamTrustedProfileTemplateProfilePtrType IamTrustedProfileTemplateProfileArgs + +func IamTrustedProfileTemplateProfilePtr(v *IamTrustedProfileTemplateProfileArgs) IamTrustedProfileTemplateProfilePtrInput { + return (*iamTrustedProfileTemplateProfilePtrType)(v) +} + +func (*iamTrustedProfileTemplateProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileTemplateProfile)(nil)).Elem() +} + +func (i *iamTrustedProfileTemplateProfilePtrType) ToIamTrustedProfileTemplateProfilePtrOutput() IamTrustedProfileTemplateProfilePtrOutput { + return i.ToIamTrustedProfileTemplateProfilePtrOutputWithContext(context.Background()) +} + +func (i *iamTrustedProfileTemplateProfilePtrType) ToIamTrustedProfileTemplateProfilePtrOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfilePtrOutput) +} + +type IamTrustedProfileTemplateProfileOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateProfile)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateProfileOutput) ToIamTrustedProfileTemplateProfileOutput() IamTrustedProfileTemplateProfileOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileOutput) ToIamTrustedProfileTemplateProfileOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileOutput) ToIamTrustedProfileTemplateProfilePtrOutput() IamTrustedProfileTemplateProfilePtrOutput { + return o.ToIamTrustedProfileTemplateProfilePtrOutputWithContext(context.Background()) +} + +func (o IamTrustedProfileTemplateProfileOutput) ToIamTrustedProfileTemplateProfilePtrOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamTrustedProfileTemplateProfile) *IamTrustedProfileTemplateProfile { + return &v + }).(IamTrustedProfileTemplateProfilePtrOutput) +} + +// Description of the Profile. +func (o IamTrustedProfileTemplateProfileOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfile) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Identities for the Profile. +func (o IamTrustedProfileTemplateProfileOutput) Identities() IamTrustedProfileTemplateProfileIdentityArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfile) []IamTrustedProfileTemplateProfileIdentity { + return v.Identities + }).(IamTrustedProfileTemplateProfileIdentityArrayOutput) +} + +// Name of the Profile. +func (o IamTrustedProfileTemplateProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// Rules for the Profile. +func (o IamTrustedProfileTemplateProfileOutput) Rules() IamTrustedProfileTemplateProfileRuleArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfile) []IamTrustedProfileTemplateProfileRule { return v.Rules }).(IamTrustedProfileTemplateProfileRuleArrayOutput) +} + +type IamTrustedProfileTemplateProfilePtrOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamTrustedProfileTemplateProfile)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateProfilePtrOutput) ToIamTrustedProfileTemplateProfilePtrOutput() IamTrustedProfileTemplateProfilePtrOutput { + return o +} + +func (o IamTrustedProfileTemplateProfilePtrOutput) ToIamTrustedProfileTemplateProfilePtrOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfilePtrOutput { + return o +} + +func (o IamTrustedProfileTemplateProfilePtrOutput) Elem() IamTrustedProfileTemplateProfileOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateProfile) IamTrustedProfileTemplateProfile { + if v != nil { + return *v + } + var ret IamTrustedProfileTemplateProfile + return ret + }).(IamTrustedProfileTemplateProfileOutput) +} + +// Description of the Profile. +func (o IamTrustedProfileTemplateProfilePtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateProfile) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Identities for the Profile. +func (o IamTrustedProfileTemplateProfilePtrOutput) Identities() IamTrustedProfileTemplateProfileIdentityArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateProfile) []IamTrustedProfileTemplateProfileIdentity { + if v == nil { + return nil + } + return v.Identities + }).(IamTrustedProfileTemplateProfileIdentityArrayOutput) +} + +// Name of the Profile. +func (o IamTrustedProfileTemplateProfilePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateProfile) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// Rules for the Profile. +func (o IamTrustedProfileTemplateProfilePtrOutput) Rules() IamTrustedProfileTemplateProfileRuleArrayOutput { + return o.ApplyT(func(v *IamTrustedProfileTemplateProfile) []IamTrustedProfileTemplateProfileRule { + if v == nil { + return nil + } + return v.Rules + }).(IamTrustedProfileTemplateProfileRuleArrayOutput) +} + +type IamTrustedProfileTemplateProfileIdentity struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts []string `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description *string `pulumi:"description"` + // IAM ID of the identity. + IamId string `pulumi:"iamId"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier string `pulumi:"identifier"` + // Type of the identity. + Type string `pulumi:"type"` +} + +// IamTrustedProfileTemplateProfileIdentityInput is an input type that accepts IamTrustedProfileTemplateProfileIdentityArgs and IamTrustedProfileTemplateProfileIdentityOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateProfileIdentityInput` via: +// +// IamTrustedProfileTemplateProfileIdentityArgs{...} +type IamTrustedProfileTemplateProfileIdentityInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateProfileIdentityOutput() IamTrustedProfileTemplateProfileIdentityOutput + ToIamTrustedProfileTemplateProfileIdentityOutputWithContext(context.Context) IamTrustedProfileTemplateProfileIdentityOutput +} + +type IamTrustedProfileTemplateProfileIdentityArgs struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts pulumi.StringArrayInput `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description pulumi.StringPtrInput `pulumi:"description"` + // IAM ID of the identity. + IamId pulumi.StringInput `pulumi:"iamId"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier pulumi.StringInput `pulumi:"identifier"` + // Type of the identity. + Type pulumi.StringInput `pulumi:"type"` +} + +func (IamTrustedProfileTemplateProfileIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateProfileIdentity)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateProfileIdentityArgs) ToIamTrustedProfileTemplateProfileIdentityOutput() IamTrustedProfileTemplateProfileIdentityOutput { + return i.ToIamTrustedProfileTemplateProfileIdentityOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateProfileIdentityArgs) ToIamTrustedProfileTemplateProfileIdentityOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfileIdentityOutput) +} + +// IamTrustedProfileTemplateProfileIdentityArrayInput is an input type that accepts IamTrustedProfileTemplateProfileIdentityArray and IamTrustedProfileTemplateProfileIdentityArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateProfileIdentityArrayInput` via: +// +// IamTrustedProfileTemplateProfileIdentityArray{ IamTrustedProfileTemplateProfileIdentityArgs{...} } +type IamTrustedProfileTemplateProfileIdentityArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateProfileIdentityArrayOutput() IamTrustedProfileTemplateProfileIdentityArrayOutput + ToIamTrustedProfileTemplateProfileIdentityArrayOutputWithContext(context.Context) IamTrustedProfileTemplateProfileIdentityArrayOutput +} + +type IamTrustedProfileTemplateProfileIdentityArray []IamTrustedProfileTemplateProfileIdentityInput + +func (IamTrustedProfileTemplateProfileIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateProfileIdentity)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateProfileIdentityArray) ToIamTrustedProfileTemplateProfileIdentityArrayOutput() IamTrustedProfileTemplateProfileIdentityArrayOutput { + return i.ToIamTrustedProfileTemplateProfileIdentityArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateProfileIdentityArray) ToIamTrustedProfileTemplateProfileIdentityArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfileIdentityArrayOutput) +} + +type IamTrustedProfileTemplateProfileIdentityOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateProfileIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateProfileIdentity)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateProfileIdentityOutput) ToIamTrustedProfileTemplateProfileIdentityOutput() IamTrustedProfileTemplateProfileIdentityOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileIdentityOutput) ToIamTrustedProfileTemplateProfileIdentityOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileIdentityOutput { + return o +} + +// Only valid for the type user. Accounts from which a user can assume the trusted profile. +func (o IamTrustedProfileTemplateProfileIdentityOutput) Accounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileIdentity) []string { return v.Accounts }).(pulumi.StringArrayOutput) +} + +// Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. +func (o IamTrustedProfileTemplateProfileIdentityOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileIdentity) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// IAM ID of the identity. +func (o IamTrustedProfileTemplateProfileIdentityOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileIdentity) string { return v.IamId }).(pulumi.StringOutput) +} + +// Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. +func (o IamTrustedProfileTemplateProfileIdentityOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileIdentity) string { return v.Identifier }).(pulumi.StringOutput) +} + +// Type of the identity. +func (o IamTrustedProfileTemplateProfileIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +type IamTrustedProfileTemplateProfileIdentityArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateProfileIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateProfileIdentity)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateProfileIdentityArrayOutput) ToIamTrustedProfileTemplateProfileIdentityArrayOutput() IamTrustedProfileTemplateProfileIdentityArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileIdentityArrayOutput) ToIamTrustedProfileTemplateProfileIdentityArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileIdentityArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileIdentityArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateProfileIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateProfileIdentity { + return vs[0].([]IamTrustedProfileTemplateProfileIdentity)[vs[1].(int)] + }).(IamTrustedProfileTemplateProfileIdentityOutput) +} + +type IamTrustedProfileTemplateProfileRule struct { + // Conditions of this claim rule. + Conditions []IamTrustedProfileTemplateProfileRuleCondition `pulumi:"conditions"` + // Session expiration in seconds, only required if type is 'Profile-SAML'. + Expiration *int `pulumi:"expiration"` + // Name of the claim rule to be created or updated. + Name *string `pulumi:"name"` + // The realm name of the Idp this claim rule applies to. This field is required only if the type is specified as 'Profile-SAML'. + RealmName *string `pulumi:"realmName"` + // Type of the claim rule. + Type string `pulumi:"type"` +} + +// IamTrustedProfileTemplateProfileRuleInput is an input type that accepts IamTrustedProfileTemplateProfileRuleArgs and IamTrustedProfileTemplateProfileRuleOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateProfileRuleInput` via: +// +// IamTrustedProfileTemplateProfileRuleArgs{...} +type IamTrustedProfileTemplateProfileRuleInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateProfileRuleOutput() IamTrustedProfileTemplateProfileRuleOutput + ToIamTrustedProfileTemplateProfileRuleOutputWithContext(context.Context) IamTrustedProfileTemplateProfileRuleOutput +} + +type IamTrustedProfileTemplateProfileRuleArgs struct { + // Conditions of this claim rule. + Conditions IamTrustedProfileTemplateProfileRuleConditionArrayInput `pulumi:"conditions"` + // Session expiration in seconds, only required if type is 'Profile-SAML'. + Expiration pulumi.IntPtrInput `pulumi:"expiration"` + // Name of the claim rule to be created or updated. + Name pulumi.StringPtrInput `pulumi:"name"` + // The realm name of the Idp this claim rule applies to. This field is required only if the type is specified as 'Profile-SAML'. + RealmName pulumi.StringPtrInput `pulumi:"realmName"` + // Type of the claim rule. + Type pulumi.StringInput `pulumi:"type"` +} + +func (IamTrustedProfileTemplateProfileRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateProfileRule)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateProfileRuleArgs) ToIamTrustedProfileTemplateProfileRuleOutput() IamTrustedProfileTemplateProfileRuleOutput { + return i.ToIamTrustedProfileTemplateProfileRuleOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateProfileRuleArgs) ToIamTrustedProfileTemplateProfileRuleOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfileRuleOutput) +} + +// IamTrustedProfileTemplateProfileRuleArrayInput is an input type that accepts IamTrustedProfileTemplateProfileRuleArray and IamTrustedProfileTemplateProfileRuleArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateProfileRuleArrayInput` via: +// +// IamTrustedProfileTemplateProfileRuleArray{ IamTrustedProfileTemplateProfileRuleArgs{...} } +type IamTrustedProfileTemplateProfileRuleArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateProfileRuleArrayOutput() IamTrustedProfileTemplateProfileRuleArrayOutput + ToIamTrustedProfileTemplateProfileRuleArrayOutputWithContext(context.Context) IamTrustedProfileTemplateProfileRuleArrayOutput +} + +type IamTrustedProfileTemplateProfileRuleArray []IamTrustedProfileTemplateProfileRuleInput + +func (IamTrustedProfileTemplateProfileRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateProfileRule)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateProfileRuleArray) ToIamTrustedProfileTemplateProfileRuleArrayOutput() IamTrustedProfileTemplateProfileRuleArrayOutput { + return i.ToIamTrustedProfileTemplateProfileRuleArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateProfileRuleArray) ToIamTrustedProfileTemplateProfileRuleArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfileRuleArrayOutput) +} + +type IamTrustedProfileTemplateProfileRuleOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateProfileRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateProfileRule)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateProfileRuleOutput) ToIamTrustedProfileTemplateProfileRuleOutput() IamTrustedProfileTemplateProfileRuleOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileRuleOutput) ToIamTrustedProfileTemplateProfileRuleOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileRuleOutput { + return o +} + +// Conditions of this claim rule. +func (o IamTrustedProfileTemplateProfileRuleOutput) Conditions() IamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileRule) []IamTrustedProfileTemplateProfileRuleCondition { + return v.Conditions + }).(IamTrustedProfileTemplateProfileRuleConditionArrayOutput) +} + +// Session expiration in seconds, only required if type is 'Profile-SAML'. +func (o IamTrustedProfileTemplateProfileRuleOutput) Expiration() pulumi.IntPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileRule) *int { return v.Expiration }).(pulumi.IntPtrOutput) +} + +// Name of the claim rule to be created or updated. +func (o IamTrustedProfileTemplateProfileRuleOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileRule) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The realm name of the Idp this claim rule applies to. This field is required only if the type is specified as 'Profile-SAML'. +func (o IamTrustedProfileTemplateProfileRuleOutput) RealmName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileRule) *string { return v.RealmName }).(pulumi.StringPtrOutput) +} + +// Type of the claim rule. +func (o IamTrustedProfileTemplateProfileRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileRule) string { return v.Type }).(pulumi.StringOutput) +} + +type IamTrustedProfileTemplateProfileRuleArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateProfileRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateProfileRule)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateProfileRuleArrayOutput) ToIamTrustedProfileTemplateProfileRuleArrayOutput() IamTrustedProfileTemplateProfileRuleArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileRuleArrayOutput) ToIamTrustedProfileTemplateProfileRuleArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileRuleArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileRuleArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateProfileRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateProfileRule { + return vs[0].([]IamTrustedProfileTemplateProfileRule)[vs[1].(int)] + }).(IamTrustedProfileTemplateProfileRuleOutput) +} + +type IamTrustedProfileTemplateProfileRuleCondition struct { + // The claim to evaluate against. + Claim string `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator string `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value string `pulumi:"value"` +} + +// IamTrustedProfileTemplateProfileRuleConditionInput is an input type that accepts IamTrustedProfileTemplateProfileRuleConditionArgs and IamTrustedProfileTemplateProfileRuleConditionOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateProfileRuleConditionInput` via: +// +// IamTrustedProfileTemplateProfileRuleConditionArgs{...} +type IamTrustedProfileTemplateProfileRuleConditionInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateProfileRuleConditionOutput() IamTrustedProfileTemplateProfileRuleConditionOutput + ToIamTrustedProfileTemplateProfileRuleConditionOutputWithContext(context.Context) IamTrustedProfileTemplateProfileRuleConditionOutput +} + +type IamTrustedProfileTemplateProfileRuleConditionArgs struct { + // The claim to evaluate against. + Claim pulumi.StringInput `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator pulumi.StringInput `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamTrustedProfileTemplateProfileRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateProfileRuleCondition)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateProfileRuleConditionArgs) ToIamTrustedProfileTemplateProfileRuleConditionOutput() IamTrustedProfileTemplateProfileRuleConditionOutput { + return i.ToIamTrustedProfileTemplateProfileRuleConditionOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateProfileRuleConditionArgs) ToIamTrustedProfileTemplateProfileRuleConditionOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfileRuleConditionOutput) +} + +// IamTrustedProfileTemplateProfileRuleConditionArrayInput is an input type that accepts IamTrustedProfileTemplateProfileRuleConditionArray and IamTrustedProfileTemplateProfileRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamTrustedProfileTemplateProfileRuleConditionArrayInput` via: +// +// IamTrustedProfileTemplateProfileRuleConditionArray{ IamTrustedProfileTemplateProfileRuleConditionArgs{...} } +type IamTrustedProfileTemplateProfileRuleConditionArrayInput interface { + pulumi.Input + + ToIamTrustedProfileTemplateProfileRuleConditionArrayOutput() IamTrustedProfileTemplateProfileRuleConditionArrayOutput + ToIamTrustedProfileTemplateProfileRuleConditionArrayOutputWithContext(context.Context) IamTrustedProfileTemplateProfileRuleConditionArrayOutput +} + +type IamTrustedProfileTemplateProfileRuleConditionArray []IamTrustedProfileTemplateProfileRuleConditionInput + +func (IamTrustedProfileTemplateProfileRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateProfileRuleCondition)(nil)).Elem() +} + +func (i IamTrustedProfileTemplateProfileRuleConditionArray) ToIamTrustedProfileTemplateProfileRuleConditionArrayOutput() IamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return i.ToIamTrustedProfileTemplateProfileRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamTrustedProfileTemplateProfileRuleConditionArray) ToIamTrustedProfileTemplateProfileRuleConditionArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamTrustedProfileTemplateProfileRuleConditionArrayOutput) +} + +type IamTrustedProfileTemplateProfileRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateProfileRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamTrustedProfileTemplateProfileRuleCondition)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateProfileRuleConditionOutput) ToIamTrustedProfileTemplateProfileRuleConditionOutput() IamTrustedProfileTemplateProfileRuleConditionOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileRuleConditionOutput) ToIamTrustedProfileTemplateProfileRuleConditionOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileRuleConditionOutput { + return o +} + +// The claim to evaluate against. +func (o IamTrustedProfileTemplateProfileRuleConditionOutput) Claim() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileRuleCondition) string { return v.Claim }).(pulumi.StringOutput) +} + +// The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. +func (o IamTrustedProfileTemplateProfileRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// The stringified JSON value that the claim is compared to using the operator. +func (o IamTrustedProfileTemplateProfileRuleConditionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamTrustedProfileTemplateProfileRuleCondition) string { return v.Value }).(pulumi.StringOutput) +} + +type IamTrustedProfileTemplateProfileRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamTrustedProfileTemplateProfileRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamTrustedProfileTemplateProfileRuleCondition)(nil)).Elem() +} + +func (o IamTrustedProfileTemplateProfileRuleConditionArrayOutput) ToIamTrustedProfileTemplateProfileRuleConditionArrayOutput() IamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileRuleConditionArrayOutput) ToIamTrustedProfileTemplateProfileRuleConditionArrayOutputWithContext(ctx context.Context) IamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return o +} + +func (o IamTrustedProfileTemplateProfileRuleConditionArrayOutput) Index(i pulumi.IntInput) IamTrustedProfileTemplateProfileRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamTrustedProfileTemplateProfileRuleCondition { + return vs[0].([]IamTrustedProfileTemplateProfileRuleCondition)[vs[1].(int)] + }).(IamTrustedProfileTemplateProfileRuleConditionOutput) +} + +type IamUserInviteClassicInfraRole struct { + // permission set for claasic infrastructure + PermissionSet *string `pulumi:"permissionSet"` + // List of permissions for claasic infrastructure + Permissions []string `pulumi:"permissions"` +} + +// IamUserInviteClassicInfraRoleInput is an input type that accepts IamUserInviteClassicInfraRoleArgs and IamUserInviteClassicInfraRoleOutput values. +// You can construct a concrete instance of `IamUserInviteClassicInfraRoleInput` via: +// +// IamUserInviteClassicInfraRoleArgs{...} +type IamUserInviteClassicInfraRoleInput interface { + pulumi.Input + + ToIamUserInviteClassicInfraRoleOutput() IamUserInviteClassicInfraRoleOutput + ToIamUserInviteClassicInfraRoleOutputWithContext(context.Context) IamUserInviteClassicInfraRoleOutput +} + +type IamUserInviteClassicInfraRoleArgs struct { + // permission set for claasic infrastructure + PermissionSet pulumi.StringPtrInput `pulumi:"permissionSet"` + // List of permissions for claasic infrastructure + Permissions pulumi.StringArrayInput `pulumi:"permissions"` +} + +func (IamUserInviteClassicInfraRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteClassicInfraRole)(nil)).Elem() +} + +func (i IamUserInviteClassicInfraRoleArgs) ToIamUserInviteClassicInfraRoleOutput() IamUserInviteClassicInfraRoleOutput { + return i.ToIamUserInviteClassicInfraRoleOutputWithContext(context.Background()) +} + +func (i IamUserInviteClassicInfraRoleArgs) ToIamUserInviteClassicInfraRoleOutputWithContext(ctx context.Context) IamUserInviteClassicInfraRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteClassicInfraRoleOutput) +} + +// IamUserInviteClassicInfraRoleArrayInput is an input type that accepts IamUserInviteClassicInfraRoleArray and IamUserInviteClassicInfraRoleArrayOutput values. +// You can construct a concrete instance of `IamUserInviteClassicInfraRoleArrayInput` via: +// +// IamUserInviteClassicInfraRoleArray{ IamUserInviteClassicInfraRoleArgs{...} } +type IamUserInviteClassicInfraRoleArrayInput interface { + pulumi.Input + + ToIamUserInviteClassicInfraRoleArrayOutput() IamUserInviteClassicInfraRoleArrayOutput + ToIamUserInviteClassicInfraRoleArrayOutputWithContext(context.Context) IamUserInviteClassicInfraRoleArrayOutput +} + +type IamUserInviteClassicInfraRoleArray []IamUserInviteClassicInfraRoleInput + +func (IamUserInviteClassicInfraRoleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteClassicInfraRole)(nil)).Elem() +} + +func (i IamUserInviteClassicInfraRoleArray) ToIamUserInviteClassicInfraRoleArrayOutput() IamUserInviteClassicInfraRoleArrayOutput { + return i.ToIamUserInviteClassicInfraRoleArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteClassicInfraRoleArray) ToIamUserInviteClassicInfraRoleArrayOutputWithContext(ctx context.Context) IamUserInviteClassicInfraRoleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteClassicInfraRoleArrayOutput) +} + +type IamUserInviteClassicInfraRoleOutput struct{ *pulumi.OutputState } + +func (IamUserInviteClassicInfraRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteClassicInfraRole)(nil)).Elem() +} + +func (o IamUserInviteClassicInfraRoleOutput) ToIamUserInviteClassicInfraRoleOutput() IamUserInviteClassicInfraRoleOutput { + return o +} + +func (o IamUserInviteClassicInfraRoleOutput) ToIamUserInviteClassicInfraRoleOutputWithContext(ctx context.Context) IamUserInviteClassicInfraRoleOutput { + return o +} + +// permission set for claasic infrastructure +func (o IamUserInviteClassicInfraRoleOutput) PermissionSet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteClassicInfraRole) *string { return v.PermissionSet }).(pulumi.StringPtrOutput) +} + +// List of permissions for claasic infrastructure +func (o IamUserInviteClassicInfraRoleOutput) Permissions() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamUserInviteClassicInfraRole) []string { return v.Permissions }).(pulumi.StringArrayOutput) +} + +type IamUserInviteClassicInfraRoleArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteClassicInfraRoleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteClassicInfraRole)(nil)).Elem() +} + +func (o IamUserInviteClassicInfraRoleArrayOutput) ToIamUserInviteClassicInfraRoleArrayOutput() IamUserInviteClassicInfraRoleArrayOutput { + return o +} + +func (o IamUserInviteClassicInfraRoleArrayOutput) ToIamUserInviteClassicInfraRoleArrayOutputWithContext(ctx context.Context) IamUserInviteClassicInfraRoleArrayOutput { + return o +} + +func (o IamUserInviteClassicInfraRoleArrayOutput) Index(i pulumi.IntInput) IamUserInviteClassicInfraRoleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteClassicInfraRole { + return vs[0].([]IamUserInviteClassicInfraRole)[vs[1].(int)] + }).(IamUserInviteClassicInfraRoleOutput) +} + +type IamUserInviteCloudFoundryRole struct { + // roles to be assigned to user in given space + OrgRoles []string `pulumi:"orgRoles"` + // GUID of Organization + OrganizationGuid string `pulumi:"organizationGuid"` + Spaces []IamUserInviteCloudFoundryRoleSpace `pulumi:"spaces"` +} + +// IamUserInviteCloudFoundryRoleInput is an input type that accepts IamUserInviteCloudFoundryRoleArgs and IamUserInviteCloudFoundryRoleOutput values. +// You can construct a concrete instance of `IamUserInviteCloudFoundryRoleInput` via: +// +// IamUserInviteCloudFoundryRoleArgs{...} +type IamUserInviteCloudFoundryRoleInput interface { + pulumi.Input + + ToIamUserInviteCloudFoundryRoleOutput() IamUserInviteCloudFoundryRoleOutput + ToIamUserInviteCloudFoundryRoleOutputWithContext(context.Context) IamUserInviteCloudFoundryRoleOutput +} + +type IamUserInviteCloudFoundryRoleArgs struct { + // roles to be assigned to user in given space + OrgRoles pulumi.StringArrayInput `pulumi:"orgRoles"` + // GUID of Organization + OrganizationGuid pulumi.StringInput `pulumi:"organizationGuid"` + Spaces IamUserInviteCloudFoundryRoleSpaceArrayInput `pulumi:"spaces"` +} + +func (IamUserInviteCloudFoundryRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteCloudFoundryRole)(nil)).Elem() +} + +func (i IamUserInviteCloudFoundryRoleArgs) ToIamUserInviteCloudFoundryRoleOutput() IamUserInviteCloudFoundryRoleOutput { + return i.ToIamUserInviteCloudFoundryRoleOutputWithContext(context.Background()) +} + +func (i IamUserInviteCloudFoundryRoleArgs) ToIamUserInviteCloudFoundryRoleOutputWithContext(ctx context.Context) IamUserInviteCloudFoundryRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteCloudFoundryRoleOutput) +} + +// IamUserInviteCloudFoundryRoleArrayInput is an input type that accepts IamUserInviteCloudFoundryRoleArray and IamUserInviteCloudFoundryRoleArrayOutput values. +// You can construct a concrete instance of `IamUserInviteCloudFoundryRoleArrayInput` via: +// +// IamUserInviteCloudFoundryRoleArray{ IamUserInviteCloudFoundryRoleArgs{...} } +type IamUserInviteCloudFoundryRoleArrayInput interface { + pulumi.Input + + ToIamUserInviteCloudFoundryRoleArrayOutput() IamUserInviteCloudFoundryRoleArrayOutput + ToIamUserInviteCloudFoundryRoleArrayOutputWithContext(context.Context) IamUserInviteCloudFoundryRoleArrayOutput +} + +type IamUserInviteCloudFoundryRoleArray []IamUserInviteCloudFoundryRoleInput + +func (IamUserInviteCloudFoundryRoleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteCloudFoundryRole)(nil)).Elem() +} + +func (i IamUserInviteCloudFoundryRoleArray) ToIamUserInviteCloudFoundryRoleArrayOutput() IamUserInviteCloudFoundryRoleArrayOutput { + return i.ToIamUserInviteCloudFoundryRoleArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteCloudFoundryRoleArray) ToIamUserInviteCloudFoundryRoleArrayOutputWithContext(ctx context.Context) IamUserInviteCloudFoundryRoleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteCloudFoundryRoleArrayOutput) +} + +type IamUserInviteCloudFoundryRoleOutput struct{ *pulumi.OutputState } + +func (IamUserInviteCloudFoundryRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteCloudFoundryRole)(nil)).Elem() +} + +func (o IamUserInviteCloudFoundryRoleOutput) ToIamUserInviteCloudFoundryRoleOutput() IamUserInviteCloudFoundryRoleOutput { + return o +} + +func (o IamUserInviteCloudFoundryRoleOutput) ToIamUserInviteCloudFoundryRoleOutputWithContext(ctx context.Context) IamUserInviteCloudFoundryRoleOutput { + return o +} + +// roles to be assigned to user in given space +func (o IamUserInviteCloudFoundryRoleOutput) OrgRoles() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamUserInviteCloudFoundryRole) []string { return v.OrgRoles }).(pulumi.StringArrayOutput) +} + +// GUID of Organization +func (o IamUserInviteCloudFoundryRoleOutput) OrganizationGuid() pulumi.StringOutput { + return o.ApplyT(func(v IamUserInviteCloudFoundryRole) string { return v.OrganizationGuid }).(pulumi.StringOutput) +} + +func (o IamUserInviteCloudFoundryRoleOutput) Spaces() IamUserInviteCloudFoundryRoleSpaceArrayOutput { + return o.ApplyT(func(v IamUserInviteCloudFoundryRole) []IamUserInviteCloudFoundryRoleSpace { return v.Spaces }).(IamUserInviteCloudFoundryRoleSpaceArrayOutput) +} + +type IamUserInviteCloudFoundryRoleArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteCloudFoundryRoleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteCloudFoundryRole)(nil)).Elem() +} + +func (o IamUserInviteCloudFoundryRoleArrayOutput) ToIamUserInviteCloudFoundryRoleArrayOutput() IamUserInviteCloudFoundryRoleArrayOutput { + return o +} + +func (o IamUserInviteCloudFoundryRoleArrayOutput) ToIamUserInviteCloudFoundryRoleArrayOutputWithContext(ctx context.Context) IamUserInviteCloudFoundryRoleArrayOutput { + return o +} + +func (o IamUserInviteCloudFoundryRoleArrayOutput) Index(i pulumi.IntInput) IamUserInviteCloudFoundryRoleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteCloudFoundryRole { + return vs[0].([]IamUserInviteCloudFoundryRole)[vs[1].(int)] + }).(IamUserInviteCloudFoundryRoleOutput) +} + +type IamUserInviteCloudFoundryRoleSpace struct { + // GUID of space + SpaceGuid string `pulumi:"spaceGuid"` + // roles to be assigned to user in given space + SpaceRoles []string `pulumi:"spaceRoles"` +} + +// IamUserInviteCloudFoundryRoleSpaceInput is an input type that accepts IamUserInviteCloudFoundryRoleSpaceArgs and IamUserInviteCloudFoundryRoleSpaceOutput values. +// You can construct a concrete instance of `IamUserInviteCloudFoundryRoleSpaceInput` via: +// +// IamUserInviteCloudFoundryRoleSpaceArgs{...} +type IamUserInviteCloudFoundryRoleSpaceInput interface { + pulumi.Input + + ToIamUserInviteCloudFoundryRoleSpaceOutput() IamUserInviteCloudFoundryRoleSpaceOutput + ToIamUserInviteCloudFoundryRoleSpaceOutputWithContext(context.Context) IamUserInviteCloudFoundryRoleSpaceOutput +} + +type IamUserInviteCloudFoundryRoleSpaceArgs struct { + // GUID of space + SpaceGuid pulumi.StringInput `pulumi:"spaceGuid"` + // roles to be assigned to user in given space + SpaceRoles pulumi.StringArrayInput `pulumi:"spaceRoles"` +} + +func (IamUserInviteCloudFoundryRoleSpaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteCloudFoundryRoleSpace)(nil)).Elem() +} + +func (i IamUserInviteCloudFoundryRoleSpaceArgs) ToIamUserInviteCloudFoundryRoleSpaceOutput() IamUserInviteCloudFoundryRoleSpaceOutput { + return i.ToIamUserInviteCloudFoundryRoleSpaceOutputWithContext(context.Background()) +} + +func (i IamUserInviteCloudFoundryRoleSpaceArgs) ToIamUserInviteCloudFoundryRoleSpaceOutputWithContext(ctx context.Context) IamUserInviteCloudFoundryRoleSpaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteCloudFoundryRoleSpaceOutput) +} + +// IamUserInviteCloudFoundryRoleSpaceArrayInput is an input type that accepts IamUserInviteCloudFoundryRoleSpaceArray and IamUserInviteCloudFoundryRoleSpaceArrayOutput values. +// You can construct a concrete instance of `IamUserInviteCloudFoundryRoleSpaceArrayInput` via: +// +// IamUserInviteCloudFoundryRoleSpaceArray{ IamUserInviteCloudFoundryRoleSpaceArgs{...} } +type IamUserInviteCloudFoundryRoleSpaceArrayInput interface { + pulumi.Input + + ToIamUserInviteCloudFoundryRoleSpaceArrayOutput() IamUserInviteCloudFoundryRoleSpaceArrayOutput + ToIamUserInviteCloudFoundryRoleSpaceArrayOutputWithContext(context.Context) IamUserInviteCloudFoundryRoleSpaceArrayOutput +} + +type IamUserInviteCloudFoundryRoleSpaceArray []IamUserInviteCloudFoundryRoleSpaceInput + +func (IamUserInviteCloudFoundryRoleSpaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteCloudFoundryRoleSpace)(nil)).Elem() +} + +func (i IamUserInviteCloudFoundryRoleSpaceArray) ToIamUserInviteCloudFoundryRoleSpaceArrayOutput() IamUserInviteCloudFoundryRoleSpaceArrayOutput { + return i.ToIamUserInviteCloudFoundryRoleSpaceArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteCloudFoundryRoleSpaceArray) ToIamUserInviteCloudFoundryRoleSpaceArrayOutputWithContext(ctx context.Context) IamUserInviteCloudFoundryRoleSpaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteCloudFoundryRoleSpaceArrayOutput) +} + +type IamUserInviteCloudFoundryRoleSpaceOutput struct{ *pulumi.OutputState } + +func (IamUserInviteCloudFoundryRoleSpaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteCloudFoundryRoleSpace)(nil)).Elem() +} + +func (o IamUserInviteCloudFoundryRoleSpaceOutput) ToIamUserInviteCloudFoundryRoleSpaceOutput() IamUserInviteCloudFoundryRoleSpaceOutput { + return o +} + +func (o IamUserInviteCloudFoundryRoleSpaceOutput) ToIamUserInviteCloudFoundryRoleSpaceOutputWithContext(ctx context.Context) IamUserInviteCloudFoundryRoleSpaceOutput { + return o +} + +// GUID of space +func (o IamUserInviteCloudFoundryRoleSpaceOutput) SpaceGuid() pulumi.StringOutput { + return o.ApplyT(func(v IamUserInviteCloudFoundryRoleSpace) string { return v.SpaceGuid }).(pulumi.StringOutput) +} + +// roles to be assigned to user in given space +func (o IamUserInviteCloudFoundryRoleSpaceOutput) SpaceRoles() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamUserInviteCloudFoundryRoleSpace) []string { return v.SpaceRoles }).(pulumi.StringArrayOutput) +} + +type IamUserInviteCloudFoundryRoleSpaceArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteCloudFoundryRoleSpaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteCloudFoundryRoleSpace)(nil)).Elem() +} + +func (o IamUserInviteCloudFoundryRoleSpaceArrayOutput) ToIamUserInviteCloudFoundryRoleSpaceArrayOutput() IamUserInviteCloudFoundryRoleSpaceArrayOutput { + return o +} + +func (o IamUserInviteCloudFoundryRoleSpaceArrayOutput) ToIamUserInviteCloudFoundryRoleSpaceArrayOutputWithContext(ctx context.Context) IamUserInviteCloudFoundryRoleSpaceArrayOutput { + return o +} + +func (o IamUserInviteCloudFoundryRoleSpaceArrayOutput) Index(i pulumi.IntInput) IamUserInviteCloudFoundryRoleSpaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteCloudFoundryRoleSpace { + return vs[0].([]IamUserInviteCloudFoundryRoleSpace)[vs[1].(int)] + }).(IamUserInviteCloudFoundryRoleSpaceOutput) +} + +type IamUserInviteIamPolicy struct { + // Give access to all account management services + AccountManagement *bool `pulumi:"accountManagement"` + Resources []IamUserInviteIamPolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` +} + +// IamUserInviteIamPolicyInput is an input type that accepts IamUserInviteIamPolicyArgs and IamUserInviteIamPolicyOutput values. +// You can construct a concrete instance of `IamUserInviteIamPolicyInput` via: +// +// IamUserInviteIamPolicyArgs{...} +type IamUserInviteIamPolicyInput interface { + pulumi.Input + + ToIamUserInviteIamPolicyOutput() IamUserInviteIamPolicyOutput + ToIamUserInviteIamPolicyOutputWithContext(context.Context) IamUserInviteIamPolicyOutput +} + +type IamUserInviteIamPolicyArgs struct { + // Give access to all account management services + AccountManagement pulumi.BoolPtrInput `pulumi:"accountManagement"` + Resources IamUserInviteIamPolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` +} + +func (IamUserInviteIamPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteIamPolicy)(nil)).Elem() +} + +func (i IamUserInviteIamPolicyArgs) ToIamUserInviteIamPolicyOutput() IamUserInviteIamPolicyOutput { + return i.ToIamUserInviteIamPolicyOutputWithContext(context.Background()) +} + +func (i IamUserInviteIamPolicyArgs) ToIamUserInviteIamPolicyOutputWithContext(ctx context.Context) IamUserInviteIamPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteIamPolicyOutput) +} + +// IamUserInviteIamPolicyArrayInput is an input type that accepts IamUserInviteIamPolicyArray and IamUserInviteIamPolicyArrayOutput values. +// You can construct a concrete instance of `IamUserInviteIamPolicyArrayInput` via: +// +// IamUserInviteIamPolicyArray{ IamUserInviteIamPolicyArgs{...} } +type IamUserInviteIamPolicyArrayInput interface { + pulumi.Input + + ToIamUserInviteIamPolicyArrayOutput() IamUserInviteIamPolicyArrayOutput + ToIamUserInviteIamPolicyArrayOutputWithContext(context.Context) IamUserInviteIamPolicyArrayOutput +} + +type IamUserInviteIamPolicyArray []IamUserInviteIamPolicyInput + +func (IamUserInviteIamPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteIamPolicy)(nil)).Elem() +} + +func (i IamUserInviteIamPolicyArray) ToIamUserInviteIamPolicyArrayOutput() IamUserInviteIamPolicyArrayOutput { + return i.ToIamUserInviteIamPolicyArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteIamPolicyArray) ToIamUserInviteIamPolicyArrayOutputWithContext(ctx context.Context) IamUserInviteIamPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteIamPolicyArrayOutput) +} + +type IamUserInviteIamPolicyOutput struct{ *pulumi.OutputState } + +func (IamUserInviteIamPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteIamPolicy)(nil)).Elem() +} + +func (o IamUserInviteIamPolicyOutput) ToIamUserInviteIamPolicyOutput() IamUserInviteIamPolicyOutput { + return o +} + +func (o IamUserInviteIamPolicyOutput) ToIamUserInviteIamPolicyOutputWithContext(ctx context.Context) IamUserInviteIamPolicyOutput { + return o +} + +// Give access to all account management services +func (o IamUserInviteIamPolicyOutput) AccountManagement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IamUserInviteIamPolicy) *bool { return v.AccountManagement }).(pulumi.BoolPtrOutput) +} + +func (o IamUserInviteIamPolicyOutput) Resources() IamUserInviteIamPolicyResourceArrayOutput { + return o.ApplyT(func(v IamUserInviteIamPolicy) []IamUserInviteIamPolicyResource { return v.Resources }).(IamUserInviteIamPolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o IamUserInviteIamPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamUserInviteIamPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +type IamUserInviteIamPolicyArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteIamPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteIamPolicy)(nil)).Elem() +} + +func (o IamUserInviteIamPolicyArrayOutput) ToIamUserInviteIamPolicyArrayOutput() IamUserInviteIamPolicyArrayOutput { + return o +} + +func (o IamUserInviteIamPolicyArrayOutput) ToIamUserInviteIamPolicyArrayOutputWithContext(ctx context.Context) IamUserInviteIamPolicyArrayOutput { + return o +} + +func (o IamUserInviteIamPolicyArrayOutput) Index(i pulumi.IntInput) IamUserInviteIamPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteIamPolicy { + return vs[0].([]IamUserInviteIamPolicy)[vs[1].(int)] + }).(IamUserInviteIamPolicyOutput) +} + +type IamUserInviteIamPolicyResource struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region *string `pulumi:"region"` + // Resource of the policy definition + Resource *string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType *string `pulumi:"resourceType"` + // Service name of the policy definition + Service *string `pulumi:"service"` +} + +// IamUserInviteIamPolicyResourceInput is an input type that accepts IamUserInviteIamPolicyResourceArgs and IamUserInviteIamPolicyResourceOutput values. +// You can construct a concrete instance of `IamUserInviteIamPolicyResourceInput` via: +// +// IamUserInviteIamPolicyResourceArgs{...} +type IamUserInviteIamPolicyResourceInput interface { + pulumi.Input + + ToIamUserInviteIamPolicyResourceOutput() IamUserInviteIamPolicyResourceOutput + ToIamUserInviteIamPolicyResourceOutputWithContext(context.Context) IamUserInviteIamPolicyResourceOutput +} + +type IamUserInviteIamPolicyResourceArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringPtrInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringPtrInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringPtrInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringPtrInput `pulumi:"service"` +} + +func (IamUserInviteIamPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteIamPolicyResource)(nil)).Elem() +} + +func (i IamUserInviteIamPolicyResourceArgs) ToIamUserInviteIamPolicyResourceOutput() IamUserInviteIamPolicyResourceOutput { + return i.ToIamUserInviteIamPolicyResourceOutputWithContext(context.Background()) +} + +func (i IamUserInviteIamPolicyResourceArgs) ToIamUserInviteIamPolicyResourceOutputWithContext(ctx context.Context) IamUserInviteIamPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteIamPolicyResourceOutput) +} + +// IamUserInviteIamPolicyResourceArrayInput is an input type that accepts IamUserInviteIamPolicyResourceArray and IamUserInviteIamPolicyResourceArrayOutput values. +// You can construct a concrete instance of `IamUserInviteIamPolicyResourceArrayInput` via: +// +// IamUserInviteIamPolicyResourceArray{ IamUserInviteIamPolicyResourceArgs{...} } +type IamUserInviteIamPolicyResourceArrayInput interface { + pulumi.Input + + ToIamUserInviteIamPolicyResourceArrayOutput() IamUserInviteIamPolicyResourceArrayOutput + ToIamUserInviteIamPolicyResourceArrayOutputWithContext(context.Context) IamUserInviteIamPolicyResourceArrayOutput +} + +type IamUserInviteIamPolicyResourceArray []IamUserInviteIamPolicyResourceInput + +func (IamUserInviteIamPolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteIamPolicyResource)(nil)).Elem() +} + +func (i IamUserInviteIamPolicyResourceArray) ToIamUserInviteIamPolicyResourceArrayOutput() IamUserInviteIamPolicyResourceArrayOutput { + return i.ToIamUserInviteIamPolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteIamPolicyResourceArray) ToIamUserInviteIamPolicyResourceArrayOutputWithContext(ctx context.Context) IamUserInviteIamPolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteIamPolicyResourceArrayOutput) +} + +type IamUserInviteIamPolicyResourceOutput struct{ *pulumi.OutputState } + +func (IamUserInviteIamPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteIamPolicyResource)(nil)).Elem() +} + +func (o IamUserInviteIamPolicyResourceOutput) ToIamUserInviteIamPolicyResourceOutput() IamUserInviteIamPolicyResourceOutput { + return o +} + +func (o IamUserInviteIamPolicyResourceOutput) ToIamUserInviteIamPolicyResourceOutputWithContext(ctx context.Context) IamUserInviteIamPolicyResourceOutput { + return o +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamUserInviteIamPolicyResourceOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v IamUserInviteIamPolicyResource) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamUserInviteIamPolicyResourceOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteIamPolicyResource) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamUserInviteIamPolicyResourceOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteIamPolicyResource) *string { return v.Resource }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamUserInviteIamPolicyResourceOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteIamPolicyResource) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamUserInviteIamPolicyResourceOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteIamPolicyResource) *string { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamUserInviteIamPolicyResourceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteIamPolicyResource) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamUserInviteIamPolicyResourceOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteIamPolicyResource) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +type IamUserInviteIamPolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteIamPolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteIamPolicyResource)(nil)).Elem() +} + +func (o IamUserInviteIamPolicyResourceArrayOutput) ToIamUserInviteIamPolicyResourceArrayOutput() IamUserInviteIamPolicyResourceArrayOutput { + return o +} + +func (o IamUserInviteIamPolicyResourceArrayOutput) ToIamUserInviteIamPolicyResourceArrayOutputWithContext(ctx context.Context) IamUserInviteIamPolicyResourceArrayOutput { + return o +} + +func (o IamUserInviteIamPolicyResourceArrayOutput) Index(i pulumi.IntInput) IamUserInviteIamPolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteIamPolicyResource { + return vs[0].([]IamUserInviteIamPolicyResource)[vs[1].(int)] + }).(IamUserInviteIamPolicyResourceOutput) +} + +type IamUserInviteInvitedUser struct { + // access group ids to associate the inviting user + AccessGroups []IamUserInviteInvitedUserAccessGroup `pulumi:"accessGroups"` + // ibm id or email of user + UserId *string `pulumi:"userId"` + UserPolicies []IamUserInviteInvitedUserUserPolicy `pulumi:"userPolicies"` +} + +// IamUserInviteInvitedUserInput is an input type that accepts IamUserInviteInvitedUserArgs and IamUserInviteInvitedUserOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserInput` via: +// +// IamUserInviteInvitedUserArgs{...} +type IamUserInviteInvitedUserInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserOutput() IamUserInviteInvitedUserOutput + ToIamUserInviteInvitedUserOutputWithContext(context.Context) IamUserInviteInvitedUserOutput +} + +type IamUserInviteInvitedUserArgs struct { + // access group ids to associate the inviting user + AccessGroups IamUserInviteInvitedUserAccessGroupArrayInput `pulumi:"accessGroups"` + // ibm id or email of user + UserId pulumi.StringPtrInput `pulumi:"userId"` + UserPolicies IamUserInviteInvitedUserUserPolicyArrayInput `pulumi:"userPolicies"` +} + +func (IamUserInviteInvitedUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUser)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserArgs) ToIamUserInviteInvitedUserOutput() IamUserInviteInvitedUserOutput { + return i.ToIamUserInviteInvitedUserOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserArgs) ToIamUserInviteInvitedUserOutputWithContext(ctx context.Context) IamUserInviteInvitedUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserOutput) +} + +// IamUserInviteInvitedUserArrayInput is an input type that accepts IamUserInviteInvitedUserArray and IamUserInviteInvitedUserArrayOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserArrayInput` via: +// +// IamUserInviteInvitedUserArray{ IamUserInviteInvitedUserArgs{...} } +type IamUserInviteInvitedUserArrayInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserArrayOutput() IamUserInviteInvitedUserArrayOutput + ToIamUserInviteInvitedUserArrayOutputWithContext(context.Context) IamUserInviteInvitedUserArrayOutput +} + +type IamUserInviteInvitedUserArray []IamUserInviteInvitedUserInput + +func (IamUserInviteInvitedUserArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUser)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserArray) ToIamUserInviteInvitedUserArrayOutput() IamUserInviteInvitedUserArrayOutput { + return i.ToIamUserInviteInvitedUserArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserArray) ToIamUserInviteInvitedUserArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserArrayOutput) +} + +type IamUserInviteInvitedUserOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUser)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserOutput) ToIamUserInviteInvitedUserOutput() IamUserInviteInvitedUserOutput { + return o +} + +func (o IamUserInviteInvitedUserOutput) ToIamUserInviteInvitedUserOutputWithContext(ctx context.Context) IamUserInviteInvitedUserOutput { + return o +} + +// access group ids to associate the inviting user +func (o IamUserInviteInvitedUserOutput) AccessGroups() IamUserInviteInvitedUserAccessGroupArrayOutput { + return o.ApplyT(func(v IamUserInviteInvitedUser) []IamUserInviteInvitedUserAccessGroup { return v.AccessGroups }).(IamUserInviteInvitedUserAccessGroupArrayOutput) +} + +// ibm id or email of user +func (o IamUserInviteInvitedUserOutput) UserId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUser) *string { return v.UserId }).(pulumi.StringPtrOutput) +} + +func (o IamUserInviteInvitedUserOutput) UserPolicies() IamUserInviteInvitedUserUserPolicyArrayOutput { + return o.ApplyT(func(v IamUserInviteInvitedUser) []IamUserInviteInvitedUserUserPolicy { return v.UserPolicies }).(IamUserInviteInvitedUserUserPolicyArrayOutput) +} + +type IamUserInviteInvitedUserArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUser)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserArrayOutput) ToIamUserInviteInvitedUserArrayOutput() IamUserInviteInvitedUserArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserArrayOutput) ToIamUserInviteInvitedUserArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserArrayOutput) Index(i pulumi.IntInput) IamUserInviteInvitedUserOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteInvitedUser { + return vs[0].([]IamUserInviteInvitedUser)[vs[1].(int)] + }).(IamUserInviteInvitedUserOutput) +} + +type IamUserInviteInvitedUserAccessGroup struct { + // Name of the access group + Name *string `pulumi:"name"` + Policies []IamUserInviteInvitedUserAccessGroupPolicy `pulumi:"policies"` +} + +// IamUserInviteInvitedUserAccessGroupInput is an input type that accepts IamUserInviteInvitedUserAccessGroupArgs and IamUserInviteInvitedUserAccessGroupOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserAccessGroupInput` via: +// +// IamUserInviteInvitedUserAccessGroupArgs{...} +type IamUserInviteInvitedUserAccessGroupInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserAccessGroupOutput() IamUserInviteInvitedUserAccessGroupOutput + ToIamUserInviteInvitedUserAccessGroupOutputWithContext(context.Context) IamUserInviteInvitedUserAccessGroupOutput +} + +type IamUserInviteInvitedUserAccessGroupArgs struct { + // Name of the access group + Name pulumi.StringPtrInput `pulumi:"name"` + Policies IamUserInviteInvitedUserAccessGroupPolicyArrayInput `pulumi:"policies"` +} + +func (IamUserInviteInvitedUserAccessGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserAccessGroup)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserAccessGroupArgs) ToIamUserInviteInvitedUserAccessGroupOutput() IamUserInviteInvitedUserAccessGroupOutput { + return i.ToIamUserInviteInvitedUserAccessGroupOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserAccessGroupArgs) ToIamUserInviteInvitedUserAccessGroupOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserAccessGroupOutput) +} + +// IamUserInviteInvitedUserAccessGroupArrayInput is an input type that accepts IamUserInviteInvitedUserAccessGroupArray and IamUserInviteInvitedUserAccessGroupArrayOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserAccessGroupArrayInput` via: +// +// IamUserInviteInvitedUserAccessGroupArray{ IamUserInviteInvitedUserAccessGroupArgs{...} } +type IamUserInviteInvitedUserAccessGroupArrayInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserAccessGroupArrayOutput() IamUserInviteInvitedUserAccessGroupArrayOutput + ToIamUserInviteInvitedUserAccessGroupArrayOutputWithContext(context.Context) IamUserInviteInvitedUserAccessGroupArrayOutput +} + +type IamUserInviteInvitedUserAccessGroupArray []IamUserInviteInvitedUserAccessGroupInput + +func (IamUserInviteInvitedUserAccessGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserAccessGroup)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserAccessGroupArray) ToIamUserInviteInvitedUserAccessGroupArrayOutput() IamUserInviteInvitedUserAccessGroupArrayOutput { + return i.ToIamUserInviteInvitedUserAccessGroupArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserAccessGroupArray) ToIamUserInviteInvitedUserAccessGroupArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserAccessGroupArrayOutput) +} + +type IamUserInviteInvitedUserAccessGroupOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserAccessGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserAccessGroup)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserAccessGroupOutput) ToIamUserInviteInvitedUserAccessGroupOutput() IamUserInviteInvitedUserAccessGroupOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupOutput) ToIamUserInviteInvitedUserAccessGroupOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupOutput { + return o +} + +// Name of the access group +func (o IamUserInviteInvitedUserAccessGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o IamUserInviteInvitedUserAccessGroupOutput) Policies() IamUserInviteInvitedUserAccessGroupPolicyArrayOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroup) []IamUserInviteInvitedUserAccessGroupPolicy { + return v.Policies + }).(IamUserInviteInvitedUserAccessGroupPolicyArrayOutput) +} + +type IamUserInviteInvitedUserAccessGroupArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserAccessGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserAccessGroup)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserAccessGroupArrayOutput) ToIamUserInviteInvitedUserAccessGroupArrayOutput() IamUserInviteInvitedUserAccessGroupArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupArrayOutput) ToIamUserInviteInvitedUserAccessGroupArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupArrayOutput) Index(i pulumi.IntInput) IamUserInviteInvitedUserAccessGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteInvitedUserAccessGroup { + return vs[0].([]IamUserInviteInvitedUserAccessGroup)[vs[1].(int)] + }).(IamUserInviteInvitedUserAccessGroupOutput) +} + +type IamUserInviteInvitedUserAccessGroupPolicy struct { + Id *string `pulumi:"id"` + Resources []IamUserInviteInvitedUserAccessGroupPolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` +} + +// IamUserInviteInvitedUserAccessGroupPolicyInput is an input type that accepts IamUserInviteInvitedUserAccessGroupPolicyArgs and IamUserInviteInvitedUserAccessGroupPolicyOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserAccessGroupPolicyInput` via: +// +// IamUserInviteInvitedUserAccessGroupPolicyArgs{...} +type IamUserInviteInvitedUserAccessGroupPolicyInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserAccessGroupPolicyOutput() IamUserInviteInvitedUserAccessGroupPolicyOutput + ToIamUserInviteInvitedUserAccessGroupPolicyOutputWithContext(context.Context) IamUserInviteInvitedUserAccessGroupPolicyOutput +} + +type IamUserInviteInvitedUserAccessGroupPolicyArgs struct { + Id pulumi.StringPtrInput `pulumi:"id"` + Resources IamUserInviteInvitedUserAccessGroupPolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` +} + +func (IamUserInviteInvitedUserAccessGroupPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupPolicy)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserAccessGroupPolicyArgs) ToIamUserInviteInvitedUserAccessGroupPolicyOutput() IamUserInviteInvitedUserAccessGroupPolicyOutput { + return i.ToIamUserInviteInvitedUserAccessGroupPolicyOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserAccessGroupPolicyArgs) ToIamUserInviteInvitedUserAccessGroupPolicyOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserAccessGroupPolicyOutput) +} + +// IamUserInviteInvitedUserAccessGroupPolicyArrayInput is an input type that accepts IamUserInviteInvitedUserAccessGroupPolicyArray and IamUserInviteInvitedUserAccessGroupPolicyArrayOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserAccessGroupPolicyArrayInput` via: +// +// IamUserInviteInvitedUserAccessGroupPolicyArray{ IamUserInviteInvitedUserAccessGroupPolicyArgs{...} } +type IamUserInviteInvitedUserAccessGroupPolicyArrayInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserAccessGroupPolicyArrayOutput() IamUserInviteInvitedUserAccessGroupPolicyArrayOutput + ToIamUserInviteInvitedUserAccessGroupPolicyArrayOutputWithContext(context.Context) IamUserInviteInvitedUserAccessGroupPolicyArrayOutput +} + +type IamUserInviteInvitedUserAccessGroupPolicyArray []IamUserInviteInvitedUserAccessGroupPolicyInput + +func (IamUserInviteInvitedUserAccessGroupPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserAccessGroupPolicy)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserAccessGroupPolicyArray) ToIamUserInviteInvitedUserAccessGroupPolicyArrayOutput() IamUserInviteInvitedUserAccessGroupPolicyArrayOutput { + return i.ToIamUserInviteInvitedUserAccessGroupPolicyArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserAccessGroupPolicyArray) ToIamUserInviteInvitedUserAccessGroupPolicyArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserAccessGroupPolicyArrayOutput) +} + +type IamUserInviteInvitedUserAccessGroupPolicyOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserAccessGroupPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupPolicy)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyOutput) ToIamUserInviteInvitedUserAccessGroupPolicyOutput() IamUserInviteInvitedUserAccessGroupPolicyOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyOutput) ToIamUserInviteInvitedUserAccessGroupPolicyOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupPolicyOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicy) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyOutput) Resources() IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicy) []IamUserInviteInvitedUserAccessGroupPolicyResource { + return v.Resources + }).(IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o IamUserInviteInvitedUserAccessGroupPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +type IamUserInviteInvitedUserAccessGroupPolicyArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserAccessGroupPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserAccessGroupPolicy)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyArrayOutput) ToIamUserInviteInvitedUserAccessGroupPolicyArrayOutput() IamUserInviteInvitedUserAccessGroupPolicyArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyArrayOutput) ToIamUserInviteInvitedUserAccessGroupPolicyArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupPolicyArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyArrayOutput) Index(i pulumi.IntInput) IamUserInviteInvitedUserAccessGroupPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteInvitedUserAccessGroupPolicy { + return vs[0].([]IamUserInviteInvitedUserAccessGroupPolicy)[vs[1].(int)] + }).(IamUserInviteInvitedUserAccessGroupPolicyOutput) +} + +type IamUserInviteInvitedUserAccessGroupPolicyResource struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region *string `pulumi:"region"` + // Resource of the policy definition + Resource *string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType *string `pulumi:"resourceType"` + // Service name of the policy definition + Service *string `pulumi:"service"` + // Service type of the policy definition + ServiceType *string `pulumi:"serviceType"` +} + +// IamUserInviteInvitedUserAccessGroupPolicyResourceInput is an input type that accepts IamUserInviteInvitedUserAccessGroupPolicyResourceArgs and IamUserInviteInvitedUserAccessGroupPolicyResourceOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserAccessGroupPolicyResourceInput` via: +// +// IamUserInviteInvitedUserAccessGroupPolicyResourceArgs{...} +type IamUserInviteInvitedUserAccessGroupPolicyResourceInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserAccessGroupPolicyResourceOutput() IamUserInviteInvitedUserAccessGroupPolicyResourceOutput + ToIamUserInviteInvitedUserAccessGroupPolicyResourceOutputWithContext(context.Context) IamUserInviteInvitedUserAccessGroupPolicyResourceOutput +} + +type IamUserInviteInvitedUserAccessGroupPolicyResourceArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringPtrInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringPtrInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringPtrInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringPtrInput `pulumi:"service"` + // Service type of the policy definition + ServiceType pulumi.StringPtrInput `pulumi:"serviceType"` +} + +func (IamUserInviteInvitedUserAccessGroupPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupPolicyResource)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserAccessGroupPolicyResourceArgs) ToIamUserInviteInvitedUserAccessGroupPolicyResourceOutput() IamUserInviteInvitedUserAccessGroupPolicyResourceOutput { + return i.ToIamUserInviteInvitedUserAccessGroupPolicyResourceOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserAccessGroupPolicyResourceArgs) ToIamUserInviteInvitedUserAccessGroupPolicyResourceOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) +} + +// IamUserInviteInvitedUserAccessGroupPolicyResourceArrayInput is an input type that accepts IamUserInviteInvitedUserAccessGroupPolicyResourceArray and IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserAccessGroupPolicyResourceArrayInput` via: +// +// IamUserInviteInvitedUserAccessGroupPolicyResourceArray{ IamUserInviteInvitedUserAccessGroupPolicyResourceArgs{...} } +type IamUserInviteInvitedUserAccessGroupPolicyResourceArrayInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput() IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput + ToIamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutputWithContext(context.Context) IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput +} + +type IamUserInviteInvitedUserAccessGroupPolicyResourceArray []IamUserInviteInvitedUserAccessGroupPolicyResourceInput + +func (IamUserInviteInvitedUserAccessGroupPolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserAccessGroupPolicyResource)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserAccessGroupPolicyResourceArray) ToIamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput() IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput { + return i.ToIamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserAccessGroupPolicyResourceArray) ToIamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput) +} + +type IamUserInviteInvitedUserAccessGroupPolicyResourceOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupPolicyResource)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) ToIamUserInviteInvitedUserAccessGroupPolicyResourceOutput() IamUserInviteInvitedUserAccessGroupPolicyResourceOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) ToIamUserInviteInvitedUserAccessGroupPolicyResourceOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupPolicyResourceOutput { + return o +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicyResource) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicyResource) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicyResource) *string { return v.Resource }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicyResource) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicyResource) *string { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicyResource) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicyResource) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserAccessGroupPolicyResource) *string { return v.ServiceType }).(pulumi.StringPtrOutput) +} + +type IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserAccessGroupPolicyResource)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput) ToIamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput() IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput) ToIamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput) Index(i pulumi.IntInput) IamUserInviteInvitedUserAccessGroupPolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteInvitedUserAccessGroupPolicyResource { + return vs[0].([]IamUserInviteInvitedUserAccessGroupPolicyResource)[vs[1].(int)] + }).(IamUserInviteInvitedUserAccessGroupPolicyResourceOutput) +} + +type IamUserInviteInvitedUserUserPolicy struct { + Id *string `pulumi:"id"` + Resources []IamUserInviteInvitedUserUserPolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` +} + +// IamUserInviteInvitedUserUserPolicyInput is an input type that accepts IamUserInviteInvitedUserUserPolicyArgs and IamUserInviteInvitedUserUserPolicyOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserUserPolicyInput` via: +// +// IamUserInviteInvitedUserUserPolicyArgs{...} +type IamUserInviteInvitedUserUserPolicyInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserUserPolicyOutput() IamUserInviteInvitedUserUserPolicyOutput + ToIamUserInviteInvitedUserUserPolicyOutputWithContext(context.Context) IamUserInviteInvitedUserUserPolicyOutput +} + +type IamUserInviteInvitedUserUserPolicyArgs struct { + Id pulumi.StringPtrInput `pulumi:"id"` + Resources IamUserInviteInvitedUserUserPolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` +} + +func (IamUserInviteInvitedUserUserPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserUserPolicy)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserUserPolicyArgs) ToIamUserInviteInvitedUserUserPolicyOutput() IamUserInviteInvitedUserUserPolicyOutput { + return i.ToIamUserInviteInvitedUserUserPolicyOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserUserPolicyArgs) ToIamUserInviteInvitedUserUserPolicyOutputWithContext(ctx context.Context) IamUserInviteInvitedUserUserPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserUserPolicyOutput) +} + +// IamUserInviteInvitedUserUserPolicyArrayInput is an input type that accepts IamUserInviteInvitedUserUserPolicyArray and IamUserInviteInvitedUserUserPolicyArrayOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserUserPolicyArrayInput` via: +// +// IamUserInviteInvitedUserUserPolicyArray{ IamUserInviteInvitedUserUserPolicyArgs{...} } +type IamUserInviteInvitedUserUserPolicyArrayInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserUserPolicyArrayOutput() IamUserInviteInvitedUserUserPolicyArrayOutput + ToIamUserInviteInvitedUserUserPolicyArrayOutputWithContext(context.Context) IamUserInviteInvitedUserUserPolicyArrayOutput +} + +type IamUserInviteInvitedUserUserPolicyArray []IamUserInviteInvitedUserUserPolicyInput + +func (IamUserInviteInvitedUserUserPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserUserPolicy)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserUserPolicyArray) ToIamUserInviteInvitedUserUserPolicyArrayOutput() IamUserInviteInvitedUserUserPolicyArrayOutput { + return i.ToIamUserInviteInvitedUserUserPolicyArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserUserPolicyArray) ToIamUserInviteInvitedUserUserPolicyArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserUserPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserUserPolicyArrayOutput) +} + +type IamUserInviteInvitedUserUserPolicyOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserUserPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserUserPolicy)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserUserPolicyOutput) ToIamUserInviteInvitedUserUserPolicyOutput() IamUserInviteInvitedUserUserPolicyOutput { + return o +} + +func (o IamUserInviteInvitedUserUserPolicyOutput) ToIamUserInviteInvitedUserUserPolicyOutputWithContext(ctx context.Context) IamUserInviteInvitedUserUserPolicyOutput { + return o +} + +func (o IamUserInviteInvitedUserUserPolicyOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicy) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IamUserInviteInvitedUserUserPolicyOutput) Resources() IamUserInviteInvitedUserUserPolicyResourceArrayOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicy) []IamUserInviteInvitedUserUserPolicyResource { + return v.Resources + }).(IamUserInviteInvitedUserUserPolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o IamUserInviteInvitedUserUserPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +type IamUserInviteInvitedUserUserPolicyArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserUserPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserUserPolicy)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserUserPolicyArrayOutput) ToIamUserInviteInvitedUserUserPolicyArrayOutput() IamUserInviteInvitedUserUserPolicyArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserUserPolicyArrayOutput) ToIamUserInviteInvitedUserUserPolicyArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserUserPolicyArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserUserPolicyArrayOutput) Index(i pulumi.IntInput) IamUserInviteInvitedUserUserPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteInvitedUserUserPolicy { + return vs[0].([]IamUserInviteInvitedUserUserPolicy)[vs[1].(int)] + }).(IamUserInviteInvitedUserUserPolicyOutput) +} + +type IamUserInviteInvitedUserUserPolicyResource struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region *string `pulumi:"region"` + // Resource of the policy definition + Resource *string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType *string `pulumi:"resourceType"` + // Service name of the policy definition + Service *string `pulumi:"service"` + // Service type of the policy definition + ServiceType *string `pulumi:"serviceType"` +} + +// IamUserInviteInvitedUserUserPolicyResourceInput is an input type that accepts IamUserInviteInvitedUserUserPolicyResourceArgs and IamUserInviteInvitedUserUserPolicyResourceOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserUserPolicyResourceInput` via: +// +// IamUserInviteInvitedUserUserPolicyResourceArgs{...} +type IamUserInviteInvitedUserUserPolicyResourceInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserUserPolicyResourceOutput() IamUserInviteInvitedUserUserPolicyResourceOutput + ToIamUserInviteInvitedUserUserPolicyResourceOutputWithContext(context.Context) IamUserInviteInvitedUserUserPolicyResourceOutput +} + +type IamUserInviteInvitedUserUserPolicyResourceArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringPtrInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringPtrInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringPtrInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringPtrInput `pulumi:"service"` + // Service type of the policy definition + ServiceType pulumi.StringPtrInput `pulumi:"serviceType"` +} + +func (IamUserInviteInvitedUserUserPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserUserPolicyResource)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserUserPolicyResourceArgs) ToIamUserInviteInvitedUserUserPolicyResourceOutput() IamUserInviteInvitedUserUserPolicyResourceOutput { + return i.ToIamUserInviteInvitedUserUserPolicyResourceOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserUserPolicyResourceArgs) ToIamUserInviteInvitedUserUserPolicyResourceOutputWithContext(ctx context.Context) IamUserInviteInvitedUserUserPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserUserPolicyResourceOutput) +} + +// IamUserInviteInvitedUserUserPolicyResourceArrayInput is an input type that accepts IamUserInviteInvitedUserUserPolicyResourceArray and IamUserInviteInvitedUserUserPolicyResourceArrayOutput values. +// You can construct a concrete instance of `IamUserInviteInvitedUserUserPolicyResourceArrayInput` via: +// +// IamUserInviteInvitedUserUserPolicyResourceArray{ IamUserInviteInvitedUserUserPolicyResourceArgs{...} } +type IamUserInviteInvitedUserUserPolicyResourceArrayInput interface { + pulumi.Input + + ToIamUserInviteInvitedUserUserPolicyResourceArrayOutput() IamUserInviteInvitedUserUserPolicyResourceArrayOutput + ToIamUserInviteInvitedUserUserPolicyResourceArrayOutputWithContext(context.Context) IamUserInviteInvitedUserUserPolicyResourceArrayOutput +} + +type IamUserInviteInvitedUserUserPolicyResourceArray []IamUserInviteInvitedUserUserPolicyResourceInput + +func (IamUserInviteInvitedUserUserPolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserUserPolicyResource)(nil)).Elem() +} + +func (i IamUserInviteInvitedUserUserPolicyResourceArray) ToIamUserInviteInvitedUserUserPolicyResourceArrayOutput() IamUserInviteInvitedUserUserPolicyResourceArrayOutput { + return i.ToIamUserInviteInvitedUserUserPolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i IamUserInviteInvitedUserUserPolicyResourceArray) ToIamUserInviteInvitedUserUserPolicyResourceArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserUserPolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserInviteInvitedUserUserPolicyResourceArrayOutput) +} + +type IamUserInviteInvitedUserUserPolicyResourceOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserUserPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserInviteInvitedUserUserPolicyResource)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) ToIamUserInviteInvitedUserUserPolicyResourceOutput() IamUserInviteInvitedUserUserPolicyResourceOutput { + return o +} + +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) ToIamUserInviteInvitedUserUserPolicyResourceOutputWithContext(ctx context.Context) IamUserInviteInvitedUserUserPolicyResourceOutput { + return o +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicyResource) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicyResource) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicyResource) *string { return v.Resource }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicyResource) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicyResource) *string { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicyResource) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicyResource) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamUserInviteInvitedUserUserPolicyResourceOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserInviteInvitedUserUserPolicyResource) *string { return v.ServiceType }).(pulumi.StringPtrOutput) +} + +type IamUserInviteInvitedUserUserPolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (IamUserInviteInvitedUserUserPolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserInviteInvitedUserUserPolicyResource)(nil)).Elem() +} + +func (o IamUserInviteInvitedUserUserPolicyResourceArrayOutput) ToIamUserInviteInvitedUserUserPolicyResourceArrayOutput() IamUserInviteInvitedUserUserPolicyResourceArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserUserPolicyResourceArrayOutput) ToIamUserInviteInvitedUserUserPolicyResourceArrayOutputWithContext(ctx context.Context) IamUserInviteInvitedUserUserPolicyResourceArrayOutput { + return o +} + +func (o IamUserInviteInvitedUserUserPolicyResourceArrayOutput) Index(i pulumi.IntInput) IamUserInviteInvitedUserUserPolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserInviteInvitedUserUserPolicyResource { + return vs[0].([]IamUserInviteInvitedUserUserPolicyResource)[vs[1].(int)] + }).(IamUserInviteInvitedUserUserPolicyResourceOutput) +} + +type IamUserPolicyResourceAttribute struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamUserPolicyResourceAttributeInput is an input type that accepts IamUserPolicyResourceAttributeArgs and IamUserPolicyResourceAttributeOutput values. +// You can construct a concrete instance of `IamUserPolicyResourceAttributeInput` via: +// +// IamUserPolicyResourceAttributeArgs{...} +type IamUserPolicyResourceAttributeInput interface { + pulumi.Input + + ToIamUserPolicyResourceAttributeOutput() IamUserPolicyResourceAttributeOutput + ToIamUserPolicyResourceAttributeOutputWithContext(context.Context) IamUserPolicyResourceAttributeOutput +} + +type IamUserPolicyResourceAttributeArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamUserPolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyResourceAttribute)(nil)).Elem() +} + +func (i IamUserPolicyResourceAttributeArgs) ToIamUserPolicyResourceAttributeOutput() IamUserPolicyResourceAttributeOutput { + return i.ToIamUserPolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i IamUserPolicyResourceAttributeArgs) ToIamUserPolicyResourceAttributeOutputWithContext(ctx context.Context) IamUserPolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyResourceAttributeOutput) +} + +// IamUserPolicyResourceAttributeArrayInput is an input type that accepts IamUserPolicyResourceAttributeArray and IamUserPolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `IamUserPolicyResourceAttributeArrayInput` via: +// +// IamUserPolicyResourceAttributeArray{ IamUserPolicyResourceAttributeArgs{...} } +type IamUserPolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToIamUserPolicyResourceAttributeArrayOutput() IamUserPolicyResourceAttributeArrayOutput + ToIamUserPolicyResourceAttributeArrayOutputWithContext(context.Context) IamUserPolicyResourceAttributeArrayOutput +} + +type IamUserPolicyResourceAttributeArray []IamUserPolicyResourceAttributeInput + +func (IamUserPolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserPolicyResourceAttribute)(nil)).Elem() +} + +func (i IamUserPolicyResourceAttributeArray) ToIamUserPolicyResourceAttributeArrayOutput() IamUserPolicyResourceAttributeArrayOutput { + return i.ToIamUserPolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i IamUserPolicyResourceAttributeArray) ToIamUserPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamUserPolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyResourceAttributeArrayOutput) +} + +type IamUserPolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyResourceAttribute)(nil)).Elem() +} + +func (o IamUserPolicyResourceAttributeOutput) ToIamUserPolicyResourceAttributeOutput() IamUserPolicyResourceAttributeOutput { + return o +} + +func (o IamUserPolicyResourceAttributeOutput) ToIamUserPolicyResourceAttributeOutputWithContext(ctx context.Context) IamUserPolicyResourceAttributeOutput { + return o +} + +// Name of attribute. +func (o IamUserPolicyResourceAttributeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamUserPolicyResourceAttribute) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamUserPolicyResourceAttributeOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResourceAttribute) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamUserPolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamUserPolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type IamUserPolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserPolicyResourceAttribute)(nil)).Elem() +} + +func (o IamUserPolicyResourceAttributeArrayOutput) ToIamUserPolicyResourceAttributeArrayOutput() IamUserPolicyResourceAttributeArrayOutput { + return o +} + +func (o IamUserPolicyResourceAttributeArrayOutput) ToIamUserPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) IamUserPolicyResourceAttributeArrayOutput { + return o +} + +func (o IamUserPolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) IamUserPolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserPolicyResourceAttribute { + return vs[0].([]IamUserPolicyResourceAttribute)[vs[1].(int)] + }).(IamUserPolicyResourceAttributeOutput) +} + +type IamUserPolicyResourceTag struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator *string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// IamUserPolicyResourceTagInput is an input type that accepts IamUserPolicyResourceTagArgs and IamUserPolicyResourceTagOutput values. +// You can construct a concrete instance of `IamUserPolicyResourceTagInput` via: +// +// IamUserPolicyResourceTagArgs{...} +type IamUserPolicyResourceTagInput interface { + pulumi.Input + + ToIamUserPolicyResourceTagOutput() IamUserPolicyResourceTagOutput + ToIamUserPolicyResourceTagOutputWithContext(context.Context) IamUserPolicyResourceTagOutput +} + +type IamUserPolicyResourceTagArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (IamUserPolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyResourceTag)(nil)).Elem() +} + +func (i IamUserPolicyResourceTagArgs) ToIamUserPolicyResourceTagOutput() IamUserPolicyResourceTagOutput { + return i.ToIamUserPolicyResourceTagOutputWithContext(context.Background()) +} + +func (i IamUserPolicyResourceTagArgs) ToIamUserPolicyResourceTagOutputWithContext(ctx context.Context) IamUserPolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyResourceTagOutput) +} + +// IamUserPolicyResourceTagArrayInput is an input type that accepts IamUserPolicyResourceTagArray and IamUserPolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `IamUserPolicyResourceTagArrayInput` via: +// +// IamUserPolicyResourceTagArray{ IamUserPolicyResourceTagArgs{...} } +type IamUserPolicyResourceTagArrayInput interface { + pulumi.Input + + ToIamUserPolicyResourceTagArrayOutput() IamUserPolicyResourceTagArrayOutput + ToIamUserPolicyResourceTagArrayOutputWithContext(context.Context) IamUserPolicyResourceTagArrayOutput +} + +type IamUserPolicyResourceTagArray []IamUserPolicyResourceTagInput + +func (IamUserPolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserPolicyResourceTag)(nil)).Elem() +} + +func (i IamUserPolicyResourceTagArray) ToIamUserPolicyResourceTagArrayOutput() IamUserPolicyResourceTagArrayOutput { + return i.ToIamUserPolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i IamUserPolicyResourceTagArray) ToIamUserPolicyResourceTagArrayOutputWithContext(ctx context.Context) IamUserPolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyResourceTagArrayOutput) +} + +type IamUserPolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyResourceTag)(nil)).Elem() +} + +func (o IamUserPolicyResourceTagOutput) ToIamUserPolicyResourceTagOutput() IamUserPolicyResourceTagOutput { + return o +} + +func (o IamUserPolicyResourceTagOutput) ToIamUserPolicyResourceTagOutputWithContext(ctx context.Context) IamUserPolicyResourceTagOutput { + return o +} + +// Name of attribute. +func (o IamUserPolicyResourceTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IamUserPolicyResourceTag) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o IamUserPolicyResourceTagOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResourceTag) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Value of attribute. +func (o IamUserPolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IamUserPolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type IamUserPolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserPolicyResourceTag)(nil)).Elem() +} + +func (o IamUserPolicyResourceTagArrayOutput) ToIamUserPolicyResourceTagArrayOutput() IamUserPolicyResourceTagArrayOutput { + return o +} + +func (o IamUserPolicyResourceTagArrayOutput) ToIamUserPolicyResourceTagArrayOutputWithContext(ctx context.Context) IamUserPolicyResourceTagArrayOutput { + return o +} + +func (o IamUserPolicyResourceTagArrayOutput) Index(i pulumi.IntInput) IamUserPolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserPolicyResourceTag { + return vs[0].([]IamUserPolicyResourceTag)[vs[1].(int)] + }).(IamUserPolicyResourceTagOutput) +} + +type IamUserPolicyResources struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region *string `pulumi:"region"` + // Resource of the policy definition + Resource *string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType *string `pulumi:"resourceType"` + // Service name of the policy definition + Service *string `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId *string `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType *string `pulumi:"serviceType"` +} + +// IamUserPolicyResourcesInput is an input type that accepts IamUserPolicyResourcesArgs and IamUserPolicyResourcesOutput values. +// You can construct a concrete instance of `IamUserPolicyResourcesInput` via: +// +// IamUserPolicyResourcesArgs{...} +type IamUserPolicyResourcesInput interface { + pulumi.Input + + ToIamUserPolicyResourcesOutput() IamUserPolicyResourcesOutput + ToIamUserPolicyResourcesOutputWithContext(context.Context) IamUserPolicyResourcesOutput +} + +type IamUserPolicyResourcesArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringPtrInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringPtrInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringPtrInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringPtrInput `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId pulumi.StringPtrInput `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType pulumi.StringPtrInput `pulumi:"serviceType"` +} + +func (IamUserPolicyResourcesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyResources)(nil)).Elem() +} + +func (i IamUserPolicyResourcesArgs) ToIamUserPolicyResourcesOutput() IamUserPolicyResourcesOutput { + return i.ToIamUserPolicyResourcesOutputWithContext(context.Background()) +} + +func (i IamUserPolicyResourcesArgs) ToIamUserPolicyResourcesOutputWithContext(ctx context.Context) IamUserPolicyResourcesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyResourcesOutput) +} + +func (i IamUserPolicyResourcesArgs) ToIamUserPolicyResourcesPtrOutput() IamUserPolicyResourcesPtrOutput { + return i.ToIamUserPolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (i IamUserPolicyResourcesArgs) ToIamUserPolicyResourcesPtrOutputWithContext(ctx context.Context) IamUserPolicyResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyResourcesOutput).ToIamUserPolicyResourcesPtrOutputWithContext(ctx) +} + +// IamUserPolicyResourcesPtrInput is an input type that accepts IamUserPolicyResourcesArgs, IamUserPolicyResourcesPtr and IamUserPolicyResourcesPtrOutput values. +// You can construct a concrete instance of `IamUserPolicyResourcesPtrInput` via: +// +// IamUserPolicyResourcesArgs{...} +// +// or: +// +// nil +type IamUserPolicyResourcesPtrInput interface { + pulumi.Input + + ToIamUserPolicyResourcesPtrOutput() IamUserPolicyResourcesPtrOutput + ToIamUserPolicyResourcesPtrOutputWithContext(context.Context) IamUserPolicyResourcesPtrOutput +} + +type iamUserPolicyResourcesPtrType IamUserPolicyResourcesArgs + +func IamUserPolicyResourcesPtr(v *IamUserPolicyResourcesArgs) IamUserPolicyResourcesPtrInput { + return (*iamUserPolicyResourcesPtrType)(v) +} + +func (*iamUserPolicyResourcesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IamUserPolicyResources)(nil)).Elem() +} + +func (i *iamUserPolicyResourcesPtrType) ToIamUserPolicyResourcesPtrOutput() IamUserPolicyResourcesPtrOutput { + return i.ToIamUserPolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (i *iamUserPolicyResourcesPtrType) ToIamUserPolicyResourcesPtrOutputWithContext(ctx context.Context) IamUserPolicyResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyResourcesPtrOutput) +} + +type IamUserPolicyResourcesOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyResourcesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyResources)(nil)).Elem() +} + +func (o IamUserPolicyResourcesOutput) ToIamUserPolicyResourcesOutput() IamUserPolicyResourcesOutput { + return o +} + +func (o IamUserPolicyResourcesOutput) ToIamUserPolicyResourcesOutputWithContext(ctx context.Context) IamUserPolicyResourcesOutput { + return o +} + +func (o IamUserPolicyResourcesOutput) ToIamUserPolicyResourcesPtrOutput() IamUserPolicyResourcesPtrOutput { + return o.ToIamUserPolicyResourcesPtrOutputWithContext(context.Background()) +} + +func (o IamUserPolicyResourcesOutput) ToIamUserPolicyResourcesPtrOutputWithContext(ctx context.Context) IamUserPolicyResourcesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IamUserPolicyResources) *IamUserPolicyResources { + return &v + }).(IamUserPolicyResourcesPtrOutput) +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamUserPolicyResourcesOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v IamUserPolicyResources) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamUserPolicyResourcesOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResources) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamUserPolicyResourcesOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResources) *string { return v.Resource }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamUserPolicyResourcesOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResources) *string { return v.ResourceGroupId }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamUserPolicyResourcesOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResources) *string { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamUserPolicyResourcesOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResources) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamUserPolicyResourcesOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResources) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// Service group id of the policy definition +func (o IamUserPolicyResourcesOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResources) *string { return v.ServiceGroupId }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamUserPolicyResourcesOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyResources) *string { return v.ServiceType }).(pulumi.StringPtrOutput) +} + +type IamUserPolicyResourcesPtrOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyResourcesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IamUserPolicyResources)(nil)).Elem() +} + +func (o IamUserPolicyResourcesPtrOutput) ToIamUserPolicyResourcesPtrOutput() IamUserPolicyResourcesPtrOutput { + return o +} + +func (o IamUserPolicyResourcesPtrOutput) ToIamUserPolicyResourcesPtrOutputWithContext(ctx context.Context) IamUserPolicyResourcesPtrOutput { + return o +} + +func (o IamUserPolicyResourcesPtrOutput) Elem() IamUserPolicyResourcesOutput { + return o.ApplyT(func(v *IamUserPolicyResources) IamUserPolicyResources { + if v != nil { + return *v + } + var ret IamUserPolicyResources + return ret + }).(IamUserPolicyResourcesOutput) +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o IamUserPolicyResourcesPtrOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v *IamUserPolicyResources) map[string]string { + if v == nil { + return nil + } + return v.Attributes + }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o IamUserPolicyResourcesPtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicyResources) *string { + if v == nil { + return nil + } + return v.Region + }).(pulumi.StringPtrOutput) +} + +// Resource of the policy definition +func (o IamUserPolicyResourcesPtrOutput) Resource() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicyResources) *string { + if v == nil { + return nil + } + return v.Resource + }).(pulumi.StringPtrOutput) +} + +// ID of the resource group. +func (o IamUserPolicyResourcesPtrOutput) ResourceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceGroupId + }).(pulumi.StringPtrOutput) +} + +// ID of resource instance of the policy definition +func (o IamUserPolicyResourcesPtrOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceInstanceId + }).(pulumi.StringPtrOutput) +} + +// Resource type of the policy definition +func (o IamUserPolicyResourcesPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicyResources) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// Service name of the policy definition +func (o IamUserPolicyResourcesPtrOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicyResources) *string { + if v == nil { + return nil + } + return v.Service + }).(pulumi.StringPtrOutput) +} + +// Service group id of the policy definition +func (o IamUserPolicyResourcesPtrOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicyResources) *string { + if v == nil { + return nil + } + return v.ServiceGroupId + }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o IamUserPolicyResourcesPtrOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IamUserPolicyResources) *string { + if v == nil { + return nil + } + return v.ServiceType + }).(pulumi.StringPtrOutput) +} + +type IamUserPolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []IamUserPolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamUserPolicyRuleConditionInput is an input type that accepts IamUserPolicyRuleConditionArgs and IamUserPolicyRuleConditionOutput values. +// You can construct a concrete instance of `IamUserPolicyRuleConditionInput` via: +// +// IamUserPolicyRuleConditionArgs{...} +type IamUserPolicyRuleConditionInput interface { + pulumi.Input + + ToIamUserPolicyRuleConditionOutput() IamUserPolicyRuleConditionOutput + ToIamUserPolicyRuleConditionOutputWithContext(context.Context) IamUserPolicyRuleConditionOutput +} + +type IamUserPolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions IamUserPolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamUserPolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyRuleCondition)(nil)).Elem() +} + +func (i IamUserPolicyRuleConditionArgs) ToIamUserPolicyRuleConditionOutput() IamUserPolicyRuleConditionOutput { + return i.ToIamUserPolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i IamUserPolicyRuleConditionArgs) ToIamUserPolicyRuleConditionOutputWithContext(ctx context.Context) IamUserPolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyRuleConditionOutput) +} + +// IamUserPolicyRuleConditionArrayInput is an input type that accepts IamUserPolicyRuleConditionArray and IamUserPolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `IamUserPolicyRuleConditionArrayInput` via: +// +// IamUserPolicyRuleConditionArray{ IamUserPolicyRuleConditionArgs{...} } +type IamUserPolicyRuleConditionArrayInput interface { + pulumi.Input + + ToIamUserPolicyRuleConditionArrayOutput() IamUserPolicyRuleConditionArrayOutput + ToIamUserPolicyRuleConditionArrayOutputWithContext(context.Context) IamUserPolicyRuleConditionArrayOutput +} + +type IamUserPolicyRuleConditionArray []IamUserPolicyRuleConditionInput + +func (IamUserPolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserPolicyRuleCondition)(nil)).Elem() +} + +func (i IamUserPolicyRuleConditionArray) ToIamUserPolicyRuleConditionArrayOutput() IamUserPolicyRuleConditionArrayOutput { + return i.ToIamUserPolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i IamUserPolicyRuleConditionArray) ToIamUserPolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamUserPolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyRuleConditionArrayOutput) +} + +type IamUserPolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyRuleCondition)(nil)).Elem() +} + +func (o IamUserPolicyRuleConditionOutput) ToIamUserPolicyRuleConditionOutput() IamUserPolicyRuleConditionOutput { + return o +} + +func (o IamUserPolicyRuleConditionOutput) ToIamUserPolicyRuleConditionOutputWithContext(ctx context.Context) IamUserPolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o IamUserPolicyRuleConditionOutput) Conditions() IamUserPolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v IamUserPolicyRuleCondition) []IamUserPolicyRuleConditionCondition { return v.Conditions }).(IamUserPolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o IamUserPolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamUserPolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o IamUserPolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamUserPolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamUserPolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamUserPolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamUserPolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserPolicyRuleCondition)(nil)).Elem() +} + +func (o IamUserPolicyRuleConditionArrayOutput) ToIamUserPolicyRuleConditionArrayOutput() IamUserPolicyRuleConditionArrayOutput { + return o +} + +func (o IamUserPolicyRuleConditionArrayOutput) ToIamUserPolicyRuleConditionArrayOutputWithContext(ctx context.Context) IamUserPolicyRuleConditionArrayOutput { + return o +} + +func (o IamUserPolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) IamUserPolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserPolicyRuleCondition { + return vs[0].([]IamUserPolicyRuleCondition)[vs[1].(int)] + }).(IamUserPolicyRuleConditionOutput) +} + +type IamUserPolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// IamUserPolicyRuleConditionConditionInput is an input type that accepts IamUserPolicyRuleConditionConditionArgs and IamUserPolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `IamUserPolicyRuleConditionConditionInput` via: +// +// IamUserPolicyRuleConditionConditionArgs{...} +type IamUserPolicyRuleConditionConditionInput interface { + pulumi.Input + + ToIamUserPolicyRuleConditionConditionOutput() IamUserPolicyRuleConditionConditionOutput + ToIamUserPolicyRuleConditionConditionOutputWithContext(context.Context) IamUserPolicyRuleConditionConditionOutput +} + +type IamUserPolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (IamUserPolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamUserPolicyRuleConditionConditionArgs) ToIamUserPolicyRuleConditionConditionOutput() IamUserPolicyRuleConditionConditionOutput { + return i.ToIamUserPolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i IamUserPolicyRuleConditionConditionArgs) ToIamUserPolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamUserPolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyRuleConditionConditionOutput) +} + +// IamUserPolicyRuleConditionConditionArrayInput is an input type that accepts IamUserPolicyRuleConditionConditionArray and IamUserPolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `IamUserPolicyRuleConditionConditionArrayInput` via: +// +// IamUserPolicyRuleConditionConditionArray{ IamUserPolicyRuleConditionConditionArgs{...} } +type IamUserPolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToIamUserPolicyRuleConditionConditionArrayOutput() IamUserPolicyRuleConditionConditionArrayOutput + ToIamUserPolicyRuleConditionConditionArrayOutputWithContext(context.Context) IamUserPolicyRuleConditionConditionArrayOutput +} + +type IamUserPolicyRuleConditionConditionArray []IamUserPolicyRuleConditionConditionInput + +func (IamUserPolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i IamUserPolicyRuleConditionConditionArray) ToIamUserPolicyRuleConditionConditionArrayOutput() IamUserPolicyRuleConditionConditionArrayOutput { + return i.ToIamUserPolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i IamUserPolicyRuleConditionConditionArray) ToIamUserPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamUserPolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IamUserPolicyRuleConditionConditionArrayOutput) +} + +type IamUserPolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IamUserPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamUserPolicyRuleConditionConditionOutput) ToIamUserPolicyRuleConditionConditionOutput() IamUserPolicyRuleConditionConditionOutput { + return o +} + +func (o IamUserPolicyRuleConditionConditionOutput) ToIamUserPolicyRuleConditionConditionOutputWithContext(ctx context.Context) IamUserPolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o IamUserPolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v IamUserPolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o IamUserPolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v IamUserPolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o IamUserPolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v IamUserPolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type IamUserPolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (IamUserPolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IamUserPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o IamUserPolicyRuleConditionConditionArrayOutput) ToIamUserPolicyRuleConditionConditionArrayOutput() IamUserPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamUserPolicyRuleConditionConditionArrayOutput) ToIamUserPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) IamUserPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o IamUserPolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) IamUserPolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IamUserPolicyRuleConditionCondition { + return vs[0].([]IamUserPolicyRuleConditionCondition)[vs[1].(int)] + }).(IamUserPolicyRuleConditionConditionOutput) +} + +type IsBackupPolicyHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBackupPolicyHealthReasonInput is an input type that accepts IsBackupPolicyHealthReasonArgs and IsBackupPolicyHealthReasonOutput values. +// You can construct a concrete instance of `IsBackupPolicyHealthReasonInput` via: +// +// IsBackupPolicyHealthReasonArgs{...} +type IsBackupPolicyHealthReasonInput interface { + pulumi.Input + + ToIsBackupPolicyHealthReasonOutput() IsBackupPolicyHealthReasonOutput + ToIsBackupPolicyHealthReasonOutputWithContext(context.Context) IsBackupPolicyHealthReasonOutput +} + +type IsBackupPolicyHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBackupPolicyHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyHealthReason)(nil)).Elem() +} + +func (i IsBackupPolicyHealthReasonArgs) ToIsBackupPolicyHealthReasonOutput() IsBackupPolicyHealthReasonOutput { + return i.ToIsBackupPolicyHealthReasonOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyHealthReasonArgs) ToIsBackupPolicyHealthReasonOutputWithContext(ctx context.Context) IsBackupPolicyHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyHealthReasonOutput) +} + +// IsBackupPolicyHealthReasonArrayInput is an input type that accepts IsBackupPolicyHealthReasonArray and IsBackupPolicyHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsBackupPolicyHealthReasonArrayInput` via: +// +// IsBackupPolicyHealthReasonArray{ IsBackupPolicyHealthReasonArgs{...} } +type IsBackupPolicyHealthReasonArrayInput interface { + pulumi.Input + + ToIsBackupPolicyHealthReasonArrayOutput() IsBackupPolicyHealthReasonArrayOutput + ToIsBackupPolicyHealthReasonArrayOutputWithContext(context.Context) IsBackupPolicyHealthReasonArrayOutput +} + +type IsBackupPolicyHealthReasonArray []IsBackupPolicyHealthReasonInput + +func (IsBackupPolicyHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBackupPolicyHealthReason)(nil)).Elem() +} + +func (i IsBackupPolicyHealthReasonArray) ToIsBackupPolicyHealthReasonArrayOutput() IsBackupPolicyHealthReasonArrayOutput { + return i.ToIsBackupPolicyHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyHealthReasonArray) ToIsBackupPolicyHealthReasonArrayOutputWithContext(ctx context.Context) IsBackupPolicyHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyHealthReasonArrayOutput) +} + +type IsBackupPolicyHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyHealthReason)(nil)).Elem() +} + +func (o IsBackupPolicyHealthReasonOutput) ToIsBackupPolicyHealthReasonOutput() IsBackupPolicyHealthReasonOutput { + return o +} + +func (o IsBackupPolicyHealthReasonOutput) ToIsBackupPolicyHealthReasonOutputWithContext(ctx context.Context) IsBackupPolicyHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsBackupPolicyHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBackupPolicyHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsBackupPolicyHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBackupPolicyHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsBackupPolicyHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBackupPolicyHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBackupPolicyHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBackupPolicyHealthReason)(nil)).Elem() +} + +func (o IsBackupPolicyHealthReasonArrayOutput) ToIsBackupPolicyHealthReasonArrayOutput() IsBackupPolicyHealthReasonArrayOutput { + return o +} + +func (o IsBackupPolicyHealthReasonArrayOutput) ToIsBackupPolicyHealthReasonArrayOutputWithContext(ctx context.Context) IsBackupPolicyHealthReasonArrayOutput { + return o +} + +func (o IsBackupPolicyHealthReasonArrayOutput) Index(i pulumi.IntInput) IsBackupPolicyHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBackupPolicyHealthReason { + return vs[0].([]IsBackupPolicyHealthReason)[vs[1].(int)] + }).(IsBackupPolicyHealthReasonOutput) +} + +type IsBackupPolicyPlanClonePolicy struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots *int `pulumi:"maxSnapshots"` + // The zone this backup policy plan will create snapshot clones in. + Zones []string `pulumi:"zones"` +} + +// IsBackupPolicyPlanClonePolicyInput is an input type that accepts IsBackupPolicyPlanClonePolicyArgs and IsBackupPolicyPlanClonePolicyOutput values. +// You can construct a concrete instance of `IsBackupPolicyPlanClonePolicyInput` via: +// +// IsBackupPolicyPlanClonePolicyArgs{...} +type IsBackupPolicyPlanClonePolicyInput interface { + pulumi.Input + + ToIsBackupPolicyPlanClonePolicyOutput() IsBackupPolicyPlanClonePolicyOutput + ToIsBackupPolicyPlanClonePolicyOutputWithContext(context.Context) IsBackupPolicyPlanClonePolicyOutput +} + +type IsBackupPolicyPlanClonePolicyArgs struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots pulumi.IntPtrInput `pulumi:"maxSnapshots"` + // The zone this backup policy plan will create snapshot clones in. + Zones pulumi.StringArrayInput `pulumi:"zones"` +} + +func (IsBackupPolicyPlanClonePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyPlanClonePolicy)(nil)).Elem() +} + +func (i IsBackupPolicyPlanClonePolicyArgs) ToIsBackupPolicyPlanClonePolicyOutput() IsBackupPolicyPlanClonePolicyOutput { + return i.ToIsBackupPolicyPlanClonePolicyOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyPlanClonePolicyArgs) ToIsBackupPolicyPlanClonePolicyOutputWithContext(ctx context.Context) IsBackupPolicyPlanClonePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanClonePolicyOutput) +} + +func (i IsBackupPolicyPlanClonePolicyArgs) ToIsBackupPolicyPlanClonePolicyPtrOutput() IsBackupPolicyPlanClonePolicyPtrOutput { + return i.ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyPlanClonePolicyArgs) ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(ctx context.Context) IsBackupPolicyPlanClonePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanClonePolicyOutput).ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(ctx) +} + +// IsBackupPolicyPlanClonePolicyPtrInput is an input type that accepts IsBackupPolicyPlanClonePolicyArgs, IsBackupPolicyPlanClonePolicyPtr and IsBackupPolicyPlanClonePolicyPtrOutput values. +// You can construct a concrete instance of `IsBackupPolicyPlanClonePolicyPtrInput` via: +// +// IsBackupPolicyPlanClonePolicyArgs{...} +// +// or: +// +// nil +type IsBackupPolicyPlanClonePolicyPtrInput interface { + pulumi.Input + + ToIsBackupPolicyPlanClonePolicyPtrOutput() IsBackupPolicyPlanClonePolicyPtrOutput + ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(context.Context) IsBackupPolicyPlanClonePolicyPtrOutput +} + +type isBackupPolicyPlanClonePolicyPtrType IsBackupPolicyPlanClonePolicyArgs + +func IsBackupPolicyPlanClonePolicyPtr(v *IsBackupPolicyPlanClonePolicyArgs) IsBackupPolicyPlanClonePolicyPtrInput { + return (*isBackupPolicyPlanClonePolicyPtrType)(v) +} + +func (*isBackupPolicyPlanClonePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicyPlanClonePolicy)(nil)).Elem() +} + +func (i *isBackupPolicyPlanClonePolicyPtrType) ToIsBackupPolicyPlanClonePolicyPtrOutput() IsBackupPolicyPlanClonePolicyPtrOutput { + return i.ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(context.Background()) +} + +func (i *isBackupPolicyPlanClonePolicyPtrType) ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(ctx context.Context) IsBackupPolicyPlanClonePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanClonePolicyPtrOutput) +} + +type IsBackupPolicyPlanClonePolicyOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyPlanClonePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyPlanClonePolicy)(nil)).Elem() +} + +func (o IsBackupPolicyPlanClonePolicyOutput) ToIsBackupPolicyPlanClonePolicyOutput() IsBackupPolicyPlanClonePolicyOutput { + return o +} + +func (o IsBackupPolicyPlanClonePolicyOutput) ToIsBackupPolicyPlanClonePolicyOutputWithContext(ctx context.Context) IsBackupPolicyPlanClonePolicyOutput { + return o +} + +func (o IsBackupPolicyPlanClonePolicyOutput) ToIsBackupPolicyPlanClonePolicyPtrOutput() IsBackupPolicyPlanClonePolicyPtrOutput { + return o.ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(context.Background()) +} + +func (o IsBackupPolicyPlanClonePolicyOutput) ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(ctx context.Context) IsBackupPolicyPlanClonePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBackupPolicyPlanClonePolicy) *IsBackupPolicyPlanClonePolicy { + return &v + }).(IsBackupPolicyPlanClonePolicyPtrOutput) +} + +// The maximum number of recent snapshots (per source) that will keep clones. +func (o IsBackupPolicyPlanClonePolicyOutput) MaxSnapshots() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBackupPolicyPlanClonePolicy) *int { return v.MaxSnapshots }).(pulumi.IntPtrOutput) +} + +// The zone this backup policy plan will create snapshot clones in. +func (o IsBackupPolicyPlanClonePolicyOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsBackupPolicyPlanClonePolicy) []string { return v.Zones }).(pulumi.StringArrayOutput) +} + +type IsBackupPolicyPlanClonePolicyPtrOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyPlanClonePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicyPlanClonePolicy)(nil)).Elem() +} + +func (o IsBackupPolicyPlanClonePolicyPtrOutput) ToIsBackupPolicyPlanClonePolicyPtrOutput() IsBackupPolicyPlanClonePolicyPtrOutput { + return o +} + +func (o IsBackupPolicyPlanClonePolicyPtrOutput) ToIsBackupPolicyPlanClonePolicyPtrOutputWithContext(ctx context.Context) IsBackupPolicyPlanClonePolicyPtrOutput { + return o +} + +func (o IsBackupPolicyPlanClonePolicyPtrOutput) Elem() IsBackupPolicyPlanClonePolicyOutput { + return o.ApplyT(func(v *IsBackupPolicyPlanClonePolicy) IsBackupPolicyPlanClonePolicy { + if v != nil { + return *v + } + var ret IsBackupPolicyPlanClonePolicy + return ret + }).(IsBackupPolicyPlanClonePolicyOutput) +} + +// The maximum number of recent snapshots (per source) that will keep clones. +func (o IsBackupPolicyPlanClonePolicyPtrOutput) MaxSnapshots() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsBackupPolicyPlanClonePolicy) *int { + if v == nil { + return nil + } + return v.MaxSnapshots + }).(pulumi.IntPtrOutput) +} + +// The zone this backup policy plan will create snapshot clones in. +func (o IsBackupPolicyPlanClonePolicyPtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBackupPolicyPlanClonePolicy) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) +} + +type IsBackupPolicyPlanDeletionTrigger struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter *int `pulumi:"deleteAfter"` + // The maximum number of recent backups to keep. If unspecified, there will be no maximum. + DeleteOverCount *string `pulumi:"deleteOverCount"` +} + +// IsBackupPolicyPlanDeletionTriggerInput is an input type that accepts IsBackupPolicyPlanDeletionTriggerArgs and IsBackupPolicyPlanDeletionTriggerOutput values. +// You can construct a concrete instance of `IsBackupPolicyPlanDeletionTriggerInput` via: +// +// IsBackupPolicyPlanDeletionTriggerArgs{...} +type IsBackupPolicyPlanDeletionTriggerInput interface { + pulumi.Input + + ToIsBackupPolicyPlanDeletionTriggerOutput() IsBackupPolicyPlanDeletionTriggerOutput + ToIsBackupPolicyPlanDeletionTriggerOutputWithContext(context.Context) IsBackupPolicyPlanDeletionTriggerOutput +} + +type IsBackupPolicyPlanDeletionTriggerArgs struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter pulumi.IntPtrInput `pulumi:"deleteAfter"` + // The maximum number of recent backups to keep. If unspecified, there will be no maximum. + DeleteOverCount pulumi.StringPtrInput `pulumi:"deleteOverCount"` +} + +func (IsBackupPolicyPlanDeletionTriggerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyPlanDeletionTrigger)(nil)).Elem() +} + +func (i IsBackupPolicyPlanDeletionTriggerArgs) ToIsBackupPolicyPlanDeletionTriggerOutput() IsBackupPolicyPlanDeletionTriggerOutput { + return i.ToIsBackupPolicyPlanDeletionTriggerOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyPlanDeletionTriggerArgs) ToIsBackupPolicyPlanDeletionTriggerOutputWithContext(ctx context.Context) IsBackupPolicyPlanDeletionTriggerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanDeletionTriggerOutput) +} + +func (i IsBackupPolicyPlanDeletionTriggerArgs) ToIsBackupPolicyPlanDeletionTriggerPtrOutput() IsBackupPolicyPlanDeletionTriggerPtrOutput { + return i.ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyPlanDeletionTriggerArgs) ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(ctx context.Context) IsBackupPolicyPlanDeletionTriggerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanDeletionTriggerOutput).ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(ctx) +} + +// IsBackupPolicyPlanDeletionTriggerPtrInput is an input type that accepts IsBackupPolicyPlanDeletionTriggerArgs, IsBackupPolicyPlanDeletionTriggerPtr and IsBackupPolicyPlanDeletionTriggerPtrOutput values. +// You can construct a concrete instance of `IsBackupPolicyPlanDeletionTriggerPtrInput` via: +// +// IsBackupPolicyPlanDeletionTriggerArgs{...} +// +// or: +// +// nil +type IsBackupPolicyPlanDeletionTriggerPtrInput interface { + pulumi.Input + + ToIsBackupPolicyPlanDeletionTriggerPtrOutput() IsBackupPolicyPlanDeletionTriggerPtrOutput + ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(context.Context) IsBackupPolicyPlanDeletionTriggerPtrOutput +} + +type isBackupPolicyPlanDeletionTriggerPtrType IsBackupPolicyPlanDeletionTriggerArgs + +func IsBackupPolicyPlanDeletionTriggerPtr(v *IsBackupPolicyPlanDeletionTriggerArgs) IsBackupPolicyPlanDeletionTriggerPtrInput { + return (*isBackupPolicyPlanDeletionTriggerPtrType)(v) +} + +func (*isBackupPolicyPlanDeletionTriggerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicyPlanDeletionTrigger)(nil)).Elem() +} + +func (i *isBackupPolicyPlanDeletionTriggerPtrType) ToIsBackupPolicyPlanDeletionTriggerPtrOutput() IsBackupPolicyPlanDeletionTriggerPtrOutput { + return i.ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(context.Background()) +} + +func (i *isBackupPolicyPlanDeletionTriggerPtrType) ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(ctx context.Context) IsBackupPolicyPlanDeletionTriggerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanDeletionTriggerPtrOutput) +} + +type IsBackupPolicyPlanDeletionTriggerOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyPlanDeletionTriggerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyPlanDeletionTrigger)(nil)).Elem() +} + +func (o IsBackupPolicyPlanDeletionTriggerOutput) ToIsBackupPolicyPlanDeletionTriggerOutput() IsBackupPolicyPlanDeletionTriggerOutput { + return o +} + +func (o IsBackupPolicyPlanDeletionTriggerOutput) ToIsBackupPolicyPlanDeletionTriggerOutputWithContext(ctx context.Context) IsBackupPolicyPlanDeletionTriggerOutput { + return o +} + +func (o IsBackupPolicyPlanDeletionTriggerOutput) ToIsBackupPolicyPlanDeletionTriggerPtrOutput() IsBackupPolicyPlanDeletionTriggerPtrOutput { + return o.ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(context.Background()) +} + +func (o IsBackupPolicyPlanDeletionTriggerOutput) ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(ctx context.Context) IsBackupPolicyPlanDeletionTriggerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBackupPolicyPlanDeletionTrigger) *IsBackupPolicyPlanDeletionTrigger { + return &v + }).(IsBackupPolicyPlanDeletionTriggerPtrOutput) +} + +// The maximum number of days to keep each backup after creation. +func (o IsBackupPolicyPlanDeletionTriggerOutput) DeleteAfter() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBackupPolicyPlanDeletionTrigger) *int { return v.DeleteAfter }).(pulumi.IntPtrOutput) +} + +// The maximum number of recent backups to keep. If unspecified, there will be no maximum. +func (o IsBackupPolicyPlanDeletionTriggerOutput) DeleteOverCount() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBackupPolicyPlanDeletionTrigger) *string { return v.DeleteOverCount }).(pulumi.StringPtrOutput) +} + +type IsBackupPolicyPlanDeletionTriggerPtrOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyPlanDeletionTriggerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicyPlanDeletionTrigger)(nil)).Elem() +} + +func (o IsBackupPolicyPlanDeletionTriggerPtrOutput) ToIsBackupPolicyPlanDeletionTriggerPtrOutput() IsBackupPolicyPlanDeletionTriggerPtrOutput { + return o +} + +func (o IsBackupPolicyPlanDeletionTriggerPtrOutput) ToIsBackupPolicyPlanDeletionTriggerPtrOutputWithContext(ctx context.Context) IsBackupPolicyPlanDeletionTriggerPtrOutput { + return o +} + +func (o IsBackupPolicyPlanDeletionTriggerPtrOutput) Elem() IsBackupPolicyPlanDeletionTriggerOutput { + return o.ApplyT(func(v *IsBackupPolicyPlanDeletionTrigger) IsBackupPolicyPlanDeletionTrigger { + if v != nil { + return *v + } + var ret IsBackupPolicyPlanDeletionTrigger + return ret + }).(IsBackupPolicyPlanDeletionTriggerOutput) +} + +// The maximum number of days to keep each backup after creation. +func (o IsBackupPolicyPlanDeletionTriggerPtrOutput) DeleteAfter() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsBackupPolicyPlanDeletionTrigger) *int { + if v == nil { + return nil + } + return v.DeleteAfter + }).(pulumi.IntPtrOutput) +} + +// The maximum number of recent backups to keep. If unspecified, there will be no maximum. +func (o IsBackupPolicyPlanDeletionTriggerPtrOutput) DeleteOverCount() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBackupPolicyPlanDeletionTrigger) *string { + if v == nil { + return nil + } + return v.DeleteOverCount + }).(pulumi.StringPtrOutput) +} + +type IsBackupPolicyPlanRemoteRegionPolicy struct { + // The maximum number of recent remote copies to keep in this region. + DeleteOverCount *int `pulumi:"deleteOverCount"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey *string `pulumi:"encryptionKey"` + // The globally unique name for this region. + Region string `pulumi:"region"` +} + +// IsBackupPolicyPlanRemoteRegionPolicyInput is an input type that accepts IsBackupPolicyPlanRemoteRegionPolicyArgs and IsBackupPolicyPlanRemoteRegionPolicyOutput values. +// You can construct a concrete instance of `IsBackupPolicyPlanRemoteRegionPolicyInput` via: +// +// IsBackupPolicyPlanRemoteRegionPolicyArgs{...} +type IsBackupPolicyPlanRemoteRegionPolicyInput interface { + pulumi.Input + + ToIsBackupPolicyPlanRemoteRegionPolicyOutput() IsBackupPolicyPlanRemoteRegionPolicyOutput + ToIsBackupPolicyPlanRemoteRegionPolicyOutputWithContext(context.Context) IsBackupPolicyPlanRemoteRegionPolicyOutput +} + +type IsBackupPolicyPlanRemoteRegionPolicyArgs struct { + // The maximum number of recent remote copies to keep in this region. + DeleteOverCount pulumi.IntPtrInput `pulumi:"deleteOverCount"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringPtrInput `pulumi:"encryptionKey"` + // The globally unique name for this region. + Region pulumi.StringInput `pulumi:"region"` +} + +func (IsBackupPolicyPlanRemoteRegionPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (i IsBackupPolicyPlanRemoteRegionPolicyArgs) ToIsBackupPolicyPlanRemoteRegionPolicyOutput() IsBackupPolicyPlanRemoteRegionPolicyOutput { + return i.ToIsBackupPolicyPlanRemoteRegionPolicyOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyPlanRemoteRegionPolicyArgs) ToIsBackupPolicyPlanRemoteRegionPolicyOutputWithContext(ctx context.Context) IsBackupPolicyPlanRemoteRegionPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanRemoteRegionPolicyOutput) +} + +// IsBackupPolicyPlanRemoteRegionPolicyArrayInput is an input type that accepts IsBackupPolicyPlanRemoteRegionPolicyArray and IsBackupPolicyPlanRemoteRegionPolicyArrayOutput values. +// You can construct a concrete instance of `IsBackupPolicyPlanRemoteRegionPolicyArrayInput` via: +// +// IsBackupPolicyPlanRemoteRegionPolicyArray{ IsBackupPolicyPlanRemoteRegionPolicyArgs{...} } +type IsBackupPolicyPlanRemoteRegionPolicyArrayInput interface { + pulumi.Input + + ToIsBackupPolicyPlanRemoteRegionPolicyArrayOutput() IsBackupPolicyPlanRemoteRegionPolicyArrayOutput + ToIsBackupPolicyPlanRemoteRegionPolicyArrayOutputWithContext(context.Context) IsBackupPolicyPlanRemoteRegionPolicyArrayOutput +} + +type IsBackupPolicyPlanRemoteRegionPolicyArray []IsBackupPolicyPlanRemoteRegionPolicyInput + +func (IsBackupPolicyPlanRemoteRegionPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBackupPolicyPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (i IsBackupPolicyPlanRemoteRegionPolicyArray) ToIsBackupPolicyPlanRemoteRegionPolicyArrayOutput() IsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return i.ToIsBackupPolicyPlanRemoteRegionPolicyArrayOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyPlanRemoteRegionPolicyArray) ToIsBackupPolicyPlanRemoteRegionPolicyArrayOutputWithContext(ctx context.Context) IsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyPlanRemoteRegionPolicyArrayOutput) +} + +type IsBackupPolicyPlanRemoteRegionPolicyOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyPlanRemoteRegionPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (o IsBackupPolicyPlanRemoteRegionPolicyOutput) ToIsBackupPolicyPlanRemoteRegionPolicyOutput() IsBackupPolicyPlanRemoteRegionPolicyOutput { + return o +} + +func (o IsBackupPolicyPlanRemoteRegionPolicyOutput) ToIsBackupPolicyPlanRemoteRegionPolicyOutputWithContext(ctx context.Context) IsBackupPolicyPlanRemoteRegionPolicyOutput { + return o +} + +// The maximum number of recent remote copies to keep in this region. +func (o IsBackupPolicyPlanRemoteRegionPolicyOutput) DeleteOverCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBackupPolicyPlanRemoteRegionPolicy) *int { return v.DeleteOverCount }).(pulumi.IntPtrOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o IsBackupPolicyPlanRemoteRegionPolicyOutput) EncryptionKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBackupPolicyPlanRemoteRegionPolicy) *string { return v.EncryptionKey }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsBackupPolicyPlanRemoteRegionPolicyOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v IsBackupPolicyPlanRemoteRegionPolicy) string { return v.Region }).(pulumi.StringOutput) +} + +type IsBackupPolicyPlanRemoteRegionPolicyArrayOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyPlanRemoteRegionPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBackupPolicyPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (o IsBackupPolicyPlanRemoteRegionPolicyArrayOutput) ToIsBackupPolicyPlanRemoteRegionPolicyArrayOutput() IsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return o +} + +func (o IsBackupPolicyPlanRemoteRegionPolicyArrayOutput) ToIsBackupPolicyPlanRemoteRegionPolicyArrayOutputWithContext(ctx context.Context) IsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return o +} + +func (o IsBackupPolicyPlanRemoteRegionPolicyArrayOutput) Index(i pulumi.IntInput) IsBackupPolicyPlanRemoteRegionPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBackupPolicyPlanRemoteRegionPolicy { + return vs[0].([]IsBackupPolicyPlanRemoteRegionPolicy)[vs[1].(int)] + }).(IsBackupPolicyPlanRemoteRegionPolicyOutput) +} + +type IsBackupPolicyScope struct { + // The CRN for this enterprise. + Crn *string `pulumi:"crn"` + // The unique identifier for this enterprise or account. + Id *string `pulumi:"id"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsBackupPolicyScopeInput is an input type that accepts IsBackupPolicyScopeArgs and IsBackupPolicyScopeOutput values. +// You can construct a concrete instance of `IsBackupPolicyScopeInput` via: +// +// IsBackupPolicyScopeArgs{...} +type IsBackupPolicyScopeInput interface { + pulumi.Input + + ToIsBackupPolicyScopeOutput() IsBackupPolicyScopeOutput + ToIsBackupPolicyScopeOutputWithContext(context.Context) IsBackupPolicyScopeOutput +} + +type IsBackupPolicyScopeArgs struct { + // The CRN for this enterprise. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The unique identifier for this enterprise or account. + Id pulumi.StringPtrInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBackupPolicyScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyScope)(nil)).Elem() +} + +func (i IsBackupPolicyScopeArgs) ToIsBackupPolicyScopeOutput() IsBackupPolicyScopeOutput { + return i.ToIsBackupPolicyScopeOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyScopeArgs) ToIsBackupPolicyScopeOutputWithContext(ctx context.Context) IsBackupPolicyScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyScopeOutput) +} + +func (i IsBackupPolicyScopeArgs) ToIsBackupPolicyScopePtrOutput() IsBackupPolicyScopePtrOutput { + return i.ToIsBackupPolicyScopePtrOutputWithContext(context.Background()) +} + +func (i IsBackupPolicyScopeArgs) ToIsBackupPolicyScopePtrOutputWithContext(ctx context.Context) IsBackupPolicyScopePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyScopeOutput).ToIsBackupPolicyScopePtrOutputWithContext(ctx) +} + +// IsBackupPolicyScopePtrInput is an input type that accepts IsBackupPolicyScopeArgs, IsBackupPolicyScopePtr and IsBackupPolicyScopePtrOutput values. +// You can construct a concrete instance of `IsBackupPolicyScopePtrInput` via: +// +// IsBackupPolicyScopeArgs{...} +// +// or: +// +// nil +type IsBackupPolicyScopePtrInput interface { + pulumi.Input + + ToIsBackupPolicyScopePtrOutput() IsBackupPolicyScopePtrOutput + ToIsBackupPolicyScopePtrOutputWithContext(context.Context) IsBackupPolicyScopePtrOutput +} + +type isBackupPolicyScopePtrType IsBackupPolicyScopeArgs + +func IsBackupPolicyScopePtr(v *IsBackupPolicyScopeArgs) IsBackupPolicyScopePtrInput { + return (*isBackupPolicyScopePtrType)(v) +} + +func (*isBackupPolicyScopePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicyScope)(nil)).Elem() +} + +func (i *isBackupPolicyScopePtrType) ToIsBackupPolicyScopePtrOutput() IsBackupPolicyScopePtrOutput { + return i.ToIsBackupPolicyScopePtrOutputWithContext(context.Background()) +} + +func (i *isBackupPolicyScopePtrType) ToIsBackupPolicyScopePtrOutputWithContext(ctx context.Context) IsBackupPolicyScopePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBackupPolicyScopePtrOutput) +} + +type IsBackupPolicyScopeOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBackupPolicyScope)(nil)).Elem() +} + +func (o IsBackupPolicyScopeOutput) ToIsBackupPolicyScopeOutput() IsBackupPolicyScopeOutput { + return o +} + +func (o IsBackupPolicyScopeOutput) ToIsBackupPolicyScopeOutputWithContext(ctx context.Context) IsBackupPolicyScopeOutput { + return o +} + +func (o IsBackupPolicyScopeOutput) ToIsBackupPolicyScopePtrOutput() IsBackupPolicyScopePtrOutput { + return o.ToIsBackupPolicyScopePtrOutputWithContext(context.Background()) +} + +func (o IsBackupPolicyScopeOutput) ToIsBackupPolicyScopePtrOutputWithContext(ctx context.Context) IsBackupPolicyScopePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBackupPolicyScope) *IsBackupPolicyScope { + return &v + }).(IsBackupPolicyScopePtrOutput) +} + +// The CRN for this enterprise. +func (o IsBackupPolicyScopeOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBackupPolicyScope) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this enterprise or account. +func (o IsBackupPolicyScopeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBackupPolicyScope) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBackupPolicyScopeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBackupPolicyScope) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsBackupPolicyScopePtrOutput struct{ *pulumi.OutputState } + +func (IsBackupPolicyScopePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBackupPolicyScope)(nil)).Elem() +} + +func (o IsBackupPolicyScopePtrOutput) ToIsBackupPolicyScopePtrOutput() IsBackupPolicyScopePtrOutput { + return o +} + +func (o IsBackupPolicyScopePtrOutput) ToIsBackupPolicyScopePtrOutputWithContext(ctx context.Context) IsBackupPolicyScopePtrOutput { + return o +} + +func (o IsBackupPolicyScopePtrOutput) Elem() IsBackupPolicyScopeOutput { + return o.ApplyT(func(v *IsBackupPolicyScope) IsBackupPolicyScope { + if v != nil { + return *v + } + var ret IsBackupPolicyScope + return ret + }).(IsBackupPolicyScopeOutput) +} + +// The CRN for this enterprise. +func (o IsBackupPolicyScopePtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBackupPolicyScope) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this enterprise or account. +func (o IsBackupPolicyScopePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBackupPolicyScope) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBackupPolicyScopePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBackupPolicyScope) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerActionStatusReason struct { + // A snake case string succinctly identifying the status reason + Code *string `pulumi:"code"` + // An explanation of the status reason + Message *string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerActionStatusReasonInput is an input type that accepts IsBareMetalServerActionStatusReasonArgs and IsBareMetalServerActionStatusReasonOutput values. +// You can construct a concrete instance of `IsBareMetalServerActionStatusReasonInput` via: +// +// IsBareMetalServerActionStatusReasonArgs{...} +type IsBareMetalServerActionStatusReasonInput interface { + pulumi.Input + + ToIsBareMetalServerActionStatusReasonOutput() IsBareMetalServerActionStatusReasonOutput + ToIsBareMetalServerActionStatusReasonOutputWithContext(context.Context) IsBareMetalServerActionStatusReasonOutput +} + +type IsBareMetalServerActionStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerActionStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerActionStatusReason)(nil)).Elem() +} + +func (i IsBareMetalServerActionStatusReasonArgs) ToIsBareMetalServerActionStatusReasonOutput() IsBareMetalServerActionStatusReasonOutput { + return i.ToIsBareMetalServerActionStatusReasonOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerActionStatusReasonArgs) ToIsBareMetalServerActionStatusReasonOutputWithContext(ctx context.Context) IsBareMetalServerActionStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerActionStatusReasonOutput) +} + +// IsBareMetalServerActionStatusReasonArrayInput is an input type that accepts IsBareMetalServerActionStatusReasonArray and IsBareMetalServerActionStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerActionStatusReasonArrayInput` via: +// +// IsBareMetalServerActionStatusReasonArray{ IsBareMetalServerActionStatusReasonArgs{...} } +type IsBareMetalServerActionStatusReasonArrayInput interface { + pulumi.Input + + ToIsBareMetalServerActionStatusReasonArrayOutput() IsBareMetalServerActionStatusReasonArrayOutput + ToIsBareMetalServerActionStatusReasonArrayOutputWithContext(context.Context) IsBareMetalServerActionStatusReasonArrayOutput +} + +type IsBareMetalServerActionStatusReasonArray []IsBareMetalServerActionStatusReasonInput + +func (IsBareMetalServerActionStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerActionStatusReason)(nil)).Elem() +} + +func (i IsBareMetalServerActionStatusReasonArray) ToIsBareMetalServerActionStatusReasonArrayOutput() IsBareMetalServerActionStatusReasonArrayOutput { + return i.ToIsBareMetalServerActionStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerActionStatusReasonArray) ToIsBareMetalServerActionStatusReasonArrayOutputWithContext(ctx context.Context) IsBareMetalServerActionStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerActionStatusReasonArrayOutput) +} + +type IsBareMetalServerActionStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerActionStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerActionStatusReason)(nil)).Elem() +} + +func (o IsBareMetalServerActionStatusReasonOutput) ToIsBareMetalServerActionStatusReasonOutput() IsBareMetalServerActionStatusReasonOutput { + return o +} + +func (o IsBareMetalServerActionStatusReasonOutput) ToIsBareMetalServerActionStatusReasonOutputWithContext(ctx context.Context) IsBareMetalServerActionStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o IsBareMetalServerActionStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerActionStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason +func (o IsBareMetalServerActionStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerActionStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason +func (o IsBareMetalServerActionStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerActionStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerActionStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerActionStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerActionStatusReason)(nil)).Elem() +} + +func (o IsBareMetalServerActionStatusReasonArrayOutput) ToIsBareMetalServerActionStatusReasonArrayOutput() IsBareMetalServerActionStatusReasonArrayOutput { + return o +} + +func (o IsBareMetalServerActionStatusReasonArrayOutput) ToIsBareMetalServerActionStatusReasonArrayOutputWithContext(ctx context.Context) IsBareMetalServerActionStatusReasonArrayOutput { + return o +} + +func (o IsBareMetalServerActionStatusReasonArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerActionStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerActionStatusReason { + return vs[0].([]IsBareMetalServerActionStatusReason)[vs[1].(int)] + }).(IsBareMetalServerActionStatusReasonOutput) +} + +type IsBareMetalServerCpus struct { + // The CPU architecture + Architecture *string `pulumi:"architecture"` + // The total number of cores + CoreCount *int `pulumi:"coreCount"` + // The total number of CPU sockets + SocketCount *int `pulumi:"socketCount"` + // The total number of hardware threads per core + ThreadsPerCore *int `pulumi:"threadsPerCore"` +} + +// IsBareMetalServerCpusInput is an input type that accepts IsBareMetalServerCpusArgs and IsBareMetalServerCpusOutput values. +// You can construct a concrete instance of `IsBareMetalServerCpusInput` via: +// +// IsBareMetalServerCpusArgs{...} +type IsBareMetalServerCpusInput interface { + pulumi.Input + + ToIsBareMetalServerCpusOutput() IsBareMetalServerCpusOutput + ToIsBareMetalServerCpusOutputWithContext(context.Context) IsBareMetalServerCpusOutput +} + +type IsBareMetalServerCpusArgs struct { + // The CPU architecture + Architecture pulumi.StringPtrInput `pulumi:"architecture"` + // The total number of cores + CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` + // The total number of CPU sockets + SocketCount pulumi.IntPtrInput `pulumi:"socketCount"` + // The total number of hardware threads per core + ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` +} + +func (IsBareMetalServerCpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerCpus)(nil)).Elem() +} + +func (i IsBareMetalServerCpusArgs) ToIsBareMetalServerCpusOutput() IsBareMetalServerCpusOutput { + return i.ToIsBareMetalServerCpusOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerCpusArgs) ToIsBareMetalServerCpusOutputWithContext(ctx context.Context) IsBareMetalServerCpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerCpusOutput) +} + +// IsBareMetalServerCpusArrayInput is an input type that accepts IsBareMetalServerCpusArray and IsBareMetalServerCpusArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerCpusArrayInput` via: +// +// IsBareMetalServerCpusArray{ IsBareMetalServerCpusArgs{...} } +type IsBareMetalServerCpusArrayInput interface { + pulumi.Input + + ToIsBareMetalServerCpusArrayOutput() IsBareMetalServerCpusArrayOutput + ToIsBareMetalServerCpusArrayOutputWithContext(context.Context) IsBareMetalServerCpusArrayOutput +} + +type IsBareMetalServerCpusArray []IsBareMetalServerCpusInput + +func (IsBareMetalServerCpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerCpus)(nil)).Elem() +} + +func (i IsBareMetalServerCpusArray) ToIsBareMetalServerCpusArrayOutput() IsBareMetalServerCpusArrayOutput { + return i.ToIsBareMetalServerCpusArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerCpusArray) ToIsBareMetalServerCpusArrayOutputWithContext(ctx context.Context) IsBareMetalServerCpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerCpusArrayOutput) +} + +type IsBareMetalServerCpusOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerCpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerCpus)(nil)).Elem() +} + +func (o IsBareMetalServerCpusOutput) ToIsBareMetalServerCpusOutput() IsBareMetalServerCpusOutput { + return o +} + +func (o IsBareMetalServerCpusOutput) ToIsBareMetalServerCpusOutputWithContext(ctx context.Context) IsBareMetalServerCpusOutput { + return o +} + +// The CPU architecture +func (o IsBareMetalServerCpusOutput) Architecture() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerCpus) *string { return v.Architecture }).(pulumi.StringPtrOutput) +} + +// The total number of cores +func (o IsBareMetalServerCpusOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerCpus) *int { return v.CoreCount }).(pulumi.IntPtrOutput) +} + +// The total number of CPU sockets +func (o IsBareMetalServerCpusOutput) SocketCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerCpus) *int { return v.SocketCount }).(pulumi.IntPtrOutput) +} + +// The total number of hardware threads per core +func (o IsBareMetalServerCpusOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerCpus) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) +} + +type IsBareMetalServerCpusArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerCpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerCpus)(nil)).Elem() +} + +func (o IsBareMetalServerCpusArrayOutput) ToIsBareMetalServerCpusArrayOutput() IsBareMetalServerCpusArrayOutput { + return o +} + +func (o IsBareMetalServerCpusArrayOutput) ToIsBareMetalServerCpusArrayOutputWithContext(ctx context.Context) IsBareMetalServerCpusArrayOutput { + return o +} + +func (o IsBareMetalServerCpusArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerCpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerCpus { + return vs[0].([]IsBareMetalServerCpus)[vs[1].(int)] + }).(IsBareMetalServerCpusOutput) +} + +type IsBareMetalServerDefaultTrustedProfile struct { + // If set to true, the system will create a link to the specified target trusted profile during server creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the server is deleted. + AutoLink *bool `pulumi:"autoLink"` + // The default IAM trusted profile to use for this bare metal server + Target *IsBareMetalServerDefaultTrustedProfileTarget `pulumi:"target"` +} + +// IsBareMetalServerDefaultTrustedProfileInput is an input type that accepts IsBareMetalServerDefaultTrustedProfileArgs and IsBareMetalServerDefaultTrustedProfileOutput values. +// You can construct a concrete instance of `IsBareMetalServerDefaultTrustedProfileInput` via: +// +// IsBareMetalServerDefaultTrustedProfileArgs{...} +type IsBareMetalServerDefaultTrustedProfileInput interface { + pulumi.Input + + ToIsBareMetalServerDefaultTrustedProfileOutput() IsBareMetalServerDefaultTrustedProfileOutput + ToIsBareMetalServerDefaultTrustedProfileOutputWithContext(context.Context) IsBareMetalServerDefaultTrustedProfileOutput +} + +type IsBareMetalServerDefaultTrustedProfileArgs struct { + // If set to true, the system will create a link to the specified target trusted profile during server creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the server is deleted. + AutoLink pulumi.BoolPtrInput `pulumi:"autoLink"` + // The default IAM trusted profile to use for this bare metal server + Target IsBareMetalServerDefaultTrustedProfileTargetPtrInput `pulumi:"target"` +} + +func (IsBareMetalServerDefaultTrustedProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerDefaultTrustedProfile)(nil)).Elem() +} + +func (i IsBareMetalServerDefaultTrustedProfileArgs) ToIsBareMetalServerDefaultTrustedProfileOutput() IsBareMetalServerDefaultTrustedProfileOutput { + return i.ToIsBareMetalServerDefaultTrustedProfileOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerDefaultTrustedProfileArgs) ToIsBareMetalServerDefaultTrustedProfileOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDefaultTrustedProfileOutput) +} + +func (i IsBareMetalServerDefaultTrustedProfileArgs) ToIsBareMetalServerDefaultTrustedProfilePtrOutput() IsBareMetalServerDefaultTrustedProfilePtrOutput { + return i.ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerDefaultTrustedProfileArgs) ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDefaultTrustedProfileOutput).ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(ctx) +} + +// IsBareMetalServerDefaultTrustedProfilePtrInput is an input type that accepts IsBareMetalServerDefaultTrustedProfileArgs, IsBareMetalServerDefaultTrustedProfilePtr and IsBareMetalServerDefaultTrustedProfilePtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerDefaultTrustedProfilePtrInput` via: +// +// IsBareMetalServerDefaultTrustedProfileArgs{...} +// +// or: +// +// nil +type IsBareMetalServerDefaultTrustedProfilePtrInput interface { + pulumi.Input + + ToIsBareMetalServerDefaultTrustedProfilePtrOutput() IsBareMetalServerDefaultTrustedProfilePtrOutput + ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(context.Context) IsBareMetalServerDefaultTrustedProfilePtrOutput +} + +type isBareMetalServerDefaultTrustedProfilePtrType IsBareMetalServerDefaultTrustedProfileArgs + +func IsBareMetalServerDefaultTrustedProfilePtr(v *IsBareMetalServerDefaultTrustedProfileArgs) IsBareMetalServerDefaultTrustedProfilePtrInput { + return (*isBareMetalServerDefaultTrustedProfilePtrType)(v) +} + +func (*isBareMetalServerDefaultTrustedProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerDefaultTrustedProfile)(nil)).Elem() +} + +func (i *isBareMetalServerDefaultTrustedProfilePtrType) ToIsBareMetalServerDefaultTrustedProfilePtrOutput() IsBareMetalServerDefaultTrustedProfilePtrOutput { + return i.ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerDefaultTrustedProfilePtrType) ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDefaultTrustedProfilePtrOutput) +} + +type IsBareMetalServerDefaultTrustedProfileOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDefaultTrustedProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerDefaultTrustedProfile)(nil)).Elem() +} + +func (o IsBareMetalServerDefaultTrustedProfileOutput) ToIsBareMetalServerDefaultTrustedProfileOutput() IsBareMetalServerDefaultTrustedProfileOutput { + return o +} + +func (o IsBareMetalServerDefaultTrustedProfileOutput) ToIsBareMetalServerDefaultTrustedProfileOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfileOutput { + return o +} + +func (o IsBareMetalServerDefaultTrustedProfileOutput) ToIsBareMetalServerDefaultTrustedProfilePtrOutput() IsBareMetalServerDefaultTrustedProfilePtrOutput { + return o.ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerDefaultTrustedProfileOutput) ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerDefaultTrustedProfile) *IsBareMetalServerDefaultTrustedProfile { + return &v + }).(IsBareMetalServerDefaultTrustedProfilePtrOutput) +} + +// If set to true, the system will create a link to the specified target trusted profile during server creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the server is deleted. +func (o IsBareMetalServerDefaultTrustedProfileOutput) AutoLink() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDefaultTrustedProfile) *bool { return v.AutoLink }).(pulumi.BoolPtrOutput) +} + +// The default IAM trusted profile to use for this bare metal server +func (o IsBareMetalServerDefaultTrustedProfileOutput) Target() IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDefaultTrustedProfile) *IsBareMetalServerDefaultTrustedProfileTarget { + return v.Target + }).(IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) +} + +type IsBareMetalServerDefaultTrustedProfilePtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDefaultTrustedProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerDefaultTrustedProfile)(nil)).Elem() +} + +func (o IsBareMetalServerDefaultTrustedProfilePtrOutput) ToIsBareMetalServerDefaultTrustedProfilePtrOutput() IsBareMetalServerDefaultTrustedProfilePtrOutput { + return o +} + +func (o IsBareMetalServerDefaultTrustedProfilePtrOutput) ToIsBareMetalServerDefaultTrustedProfilePtrOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfilePtrOutput { + return o +} + +func (o IsBareMetalServerDefaultTrustedProfilePtrOutput) Elem() IsBareMetalServerDefaultTrustedProfileOutput { + return o.ApplyT(func(v *IsBareMetalServerDefaultTrustedProfile) IsBareMetalServerDefaultTrustedProfile { + if v != nil { + return *v + } + var ret IsBareMetalServerDefaultTrustedProfile + return ret + }).(IsBareMetalServerDefaultTrustedProfileOutput) +} + +// If set to true, the system will create a link to the specified target trusted profile during server creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the server is deleted. +func (o IsBareMetalServerDefaultTrustedProfilePtrOutput) AutoLink() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerDefaultTrustedProfile) *bool { + if v == nil { + return nil + } + return v.AutoLink + }).(pulumi.BoolPtrOutput) +} + +// The default IAM trusted profile to use for this bare metal server +func (o IsBareMetalServerDefaultTrustedProfilePtrOutput) Target() IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerDefaultTrustedProfile) *IsBareMetalServerDefaultTrustedProfileTarget { + if v == nil { + return nil + } + return v.Target + }).(IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) +} + +type IsBareMetalServerDefaultTrustedProfileTarget struct { + // The CRN for this trusted profile + Crn *string `pulumi:"crn"` + // The unique identifier for this trusted profile + Id *string `pulumi:"id"` +} + +// IsBareMetalServerDefaultTrustedProfileTargetInput is an input type that accepts IsBareMetalServerDefaultTrustedProfileTargetArgs and IsBareMetalServerDefaultTrustedProfileTargetOutput values. +// You can construct a concrete instance of `IsBareMetalServerDefaultTrustedProfileTargetInput` via: +// +// IsBareMetalServerDefaultTrustedProfileTargetArgs{...} +type IsBareMetalServerDefaultTrustedProfileTargetInput interface { + pulumi.Input + + ToIsBareMetalServerDefaultTrustedProfileTargetOutput() IsBareMetalServerDefaultTrustedProfileTargetOutput + ToIsBareMetalServerDefaultTrustedProfileTargetOutputWithContext(context.Context) IsBareMetalServerDefaultTrustedProfileTargetOutput +} + +type IsBareMetalServerDefaultTrustedProfileTargetArgs struct { + // The CRN for this trusted profile + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The unique identifier for this trusted profile + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IsBareMetalServerDefaultTrustedProfileTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (i IsBareMetalServerDefaultTrustedProfileTargetArgs) ToIsBareMetalServerDefaultTrustedProfileTargetOutput() IsBareMetalServerDefaultTrustedProfileTargetOutput { + return i.ToIsBareMetalServerDefaultTrustedProfileTargetOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerDefaultTrustedProfileTargetArgs) ToIsBareMetalServerDefaultTrustedProfileTargetOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfileTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDefaultTrustedProfileTargetOutput) +} + +func (i IsBareMetalServerDefaultTrustedProfileTargetArgs) ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return i.ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerDefaultTrustedProfileTargetArgs) ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDefaultTrustedProfileTargetOutput).ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(ctx) +} + +// IsBareMetalServerDefaultTrustedProfileTargetPtrInput is an input type that accepts IsBareMetalServerDefaultTrustedProfileTargetArgs, IsBareMetalServerDefaultTrustedProfileTargetPtr and IsBareMetalServerDefaultTrustedProfileTargetPtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerDefaultTrustedProfileTargetPtrInput` via: +// +// IsBareMetalServerDefaultTrustedProfileTargetArgs{...} +// +// or: +// +// nil +type IsBareMetalServerDefaultTrustedProfileTargetPtrInput interface { + pulumi.Input + + ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerDefaultTrustedProfileTargetPtrOutput + ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(context.Context) IsBareMetalServerDefaultTrustedProfileTargetPtrOutput +} + +type isBareMetalServerDefaultTrustedProfileTargetPtrType IsBareMetalServerDefaultTrustedProfileTargetArgs + +func IsBareMetalServerDefaultTrustedProfileTargetPtr(v *IsBareMetalServerDefaultTrustedProfileTargetArgs) IsBareMetalServerDefaultTrustedProfileTargetPtrInput { + return (*isBareMetalServerDefaultTrustedProfileTargetPtrType)(v) +} + +func (*isBareMetalServerDefaultTrustedProfileTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (i *isBareMetalServerDefaultTrustedProfileTargetPtrType) ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return i.ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerDefaultTrustedProfileTargetPtrType) ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) +} + +type IsBareMetalServerDefaultTrustedProfileTargetOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDefaultTrustedProfileTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (o IsBareMetalServerDefaultTrustedProfileTargetOutput) ToIsBareMetalServerDefaultTrustedProfileTargetOutput() IsBareMetalServerDefaultTrustedProfileTargetOutput { + return o +} + +func (o IsBareMetalServerDefaultTrustedProfileTargetOutput) ToIsBareMetalServerDefaultTrustedProfileTargetOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfileTargetOutput { + return o +} + +func (o IsBareMetalServerDefaultTrustedProfileTargetOutput) ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return o.ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerDefaultTrustedProfileTargetOutput) ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerDefaultTrustedProfileTarget) *IsBareMetalServerDefaultTrustedProfileTarget { + return &v + }).(IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) +} + +// The CRN for this trusted profile +func (o IsBareMetalServerDefaultTrustedProfileTargetOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDefaultTrustedProfileTarget) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this trusted profile +func (o IsBareMetalServerDefaultTrustedProfileTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDefaultTrustedProfileTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerDefaultTrustedProfileTargetPtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (o IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return o +} + +func (o IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) ToIsBareMetalServerDefaultTrustedProfileTargetPtrOutputWithContext(ctx context.Context) IsBareMetalServerDefaultTrustedProfileTargetPtrOutput { + return o +} + +func (o IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) Elem() IsBareMetalServerDefaultTrustedProfileTargetOutput { + return o.ApplyT(func(v *IsBareMetalServerDefaultTrustedProfileTarget) IsBareMetalServerDefaultTrustedProfileTarget { + if v != nil { + return *v + } + var ret IsBareMetalServerDefaultTrustedProfileTarget + return ret + }).(IsBareMetalServerDefaultTrustedProfileTargetOutput) +} + +// The CRN for this trusted profile +func (o IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerDefaultTrustedProfileTarget) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this trusted profile +func (o IsBareMetalServerDefaultTrustedProfileTargetPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerDefaultTrustedProfileTarget) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerDiskType struct { + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUses []IsBareMetalServerDiskAllowedUse `pulumi:"allowedUses"` + // The URL for this bare metal server disk + Href *string `pulumi:"href"` + // The unique identifier for this bare metal server disk + Id *string `pulumi:"id"` + // The disk interface used for attaching the disk. Supported values are [ nvme, sata ] + InterfaceType *string `pulumi:"interfaceType"` + // The user-defined name for this disk + Name *string `pulumi:"name"` + // The resource type + ResourceType *string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes) + Size *int `pulumi:"size"` +} + +// IsBareMetalServerDiskTypeInput is an input type that accepts IsBareMetalServerDiskTypeArgs and IsBareMetalServerDiskTypeOutput values. +// You can construct a concrete instance of `IsBareMetalServerDiskTypeInput` via: +// +// IsBareMetalServerDiskTypeArgs{...} +type IsBareMetalServerDiskTypeInput interface { + pulumi.Input + + ToIsBareMetalServerDiskTypeOutput() IsBareMetalServerDiskTypeOutput + ToIsBareMetalServerDiskTypeOutputWithContext(context.Context) IsBareMetalServerDiskTypeOutput +} + +type IsBareMetalServerDiskTypeArgs struct { + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUses IsBareMetalServerDiskAllowedUseArrayInput `pulumi:"allowedUses"` + // The URL for this bare metal server disk + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this bare metal server disk + Id pulumi.StringPtrInput `pulumi:"id"` + // The disk interface used for attaching the disk. Supported values are [ nvme, sata ] + InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` + // The user-defined name for this disk + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes) + Size pulumi.IntPtrInput `pulumi:"size"` +} + +func (IsBareMetalServerDiskTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerDiskType)(nil)).Elem() +} + +func (i IsBareMetalServerDiskTypeArgs) ToIsBareMetalServerDiskTypeOutput() IsBareMetalServerDiskTypeOutput { + return i.ToIsBareMetalServerDiskTypeOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerDiskTypeArgs) ToIsBareMetalServerDiskTypeOutputWithContext(ctx context.Context) IsBareMetalServerDiskTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDiskTypeOutput) +} + +// IsBareMetalServerDiskTypeArrayInput is an input type that accepts IsBareMetalServerDiskTypeArray and IsBareMetalServerDiskTypeArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerDiskTypeArrayInput` via: +// +// IsBareMetalServerDiskTypeArray{ IsBareMetalServerDiskTypeArgs{...} } +type IsBareMetalServerDiskTypeArrayInput interface { + pulumi.Input + + ToIsBareMetalServerDiskTypeArrayOutput() IsBareMetalServerDiskTypeArrayOutput + ToIsBareMetalServerDiskTypeArrayOutputWithContext(context.Context) IsBareMetalServerDiskTypeArrayOutput +} + +type IsBareMetalServerDiskTypeArray []IsBareMetalServerDiskTypeInput + +func (IsBareMetalServerDiskTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerDiskType)(nil)).Elem() +} + +func (i IsBareMetalServerDiskTypeArray) ToIsBareMetalServerDiskTypeArrayOutput() IsBareMetalServerDiskTypeArrayOutput { + return i.ToIsBareMetalServerDiskTypeArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerDiskTypeArray) ToIsBareMetalServerDiskTypeArrayOutputWithContext(ctx context.Context) IsBareMetalServerDiskTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDiskTypeArrayOutput) +} + +type IsBareMetalServerDiskTypeOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDiskTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerDiskType)(nil)).Elem() +} + +func (o IsBareMetalServerDiskTypeOutput) ToIsBareMetalServerDiskTypeOutput() IsBareMetalServerDiskTypeOutput { + return o +} + +func (o IsBareMetalServerDiskTypeOutput) ToIsBareMetalServerDiskTypeOutputWithContext(ctx context.Context) IsBareMetalServerDiskTypeOutput { + return o +} + +// The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. +func (o IsBareMetalServerDiskTypeOutput) AllowedUses() IsBareMetalServerDiskAllowedUseArrayOutput { + return o.ApplyT(func(v IsBareMetalServerDiskType) []IsBareMetalServerDiskAllowedUse { return v.AllowedUses }).(IsBareMetalServerDiskAllowedUseArrayOutput) +} + +// The URL for this bare metal server disk +func (o IsBareMetalServerDiskTypeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDiskType) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this bare metal server disk +func (o IsBareMetalServerDiskTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDiskType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The disk interface used for attaching the disk. Supported values are [ nvme, sata ] +func (o IsBareMetalServerDiskTypeOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDiskType) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this disk +func (o IsBareMetalServerDiskTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDiskType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsBareMetalServerDiskTypeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDiskType) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The size of the disk in GB (gigabytes) +func (o IsBareMetalServerDiskTypeOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDiskType) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +type IsBareMetalServerDiskTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDiskTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerDiskType)(nil)).Elem() +} + +func (o IsBareMetalServerDiskTypeArrayOutput) ToIsBareMetalServerDiskTypeArrayOutput() IsBareMetalServerDiskTypeArrayOutput { + return o +} + +func (o IsBareMetalServerDiskTypeArrayOutput) ToIsBareMetalServerDiskTypeArrayOutputWithContext(ctx context.Context) IsBareMetalServerDiskTypeArrayOutput { + return o +} + +func (o IsBareMetalServerDiskTypeArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerDiskTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerDiskType { + return vs[0].([]IsBareMetalServerDiskType)[vs[1].(int)] + }).(IsBareMetalServerDiskTypeOutput) +} + +type IsBareMetalServerDiskAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `pulumi:"apiVersion"` + // An image can only be used for bare metal instantiation if this expression resolves to true. + BareMetalServer *string `pulumi:"bareMetalServer"` +} + +// IsBareMetalServerDiskAllowedUseInput is an input type that accepts IsBareMetalServerDiskAllowedUseArgs and IsBareMetalServerDiskAllowedUseOutput values. +// You can construct a concrete instance of `IsBareMetalServerDiskAllowedUseInput` via: +// +// IsBareMetalServerDiskAllowedUseArgs{...} +type IsBareMetalServerDiskAllowedUseInput interface { + pulumi.Input + + ToIsBareMetalServerDiskAllowedUseOutput() IsBareMetalServerDiskAllowedUseOutput + ToIsBareMetalServerDiskAllowedUseOutputWithContext(context.Context) IsBareMetalServerDiskAllowedUseOutput +} + +type IsBareMetalServerDiskAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // An image can only be used for bare metal instantiation if this expression resolves to true. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` +} + +func (IsBareMetalServerDiskAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerDiskAllowedUse)(nil)).Elem() +} + +func (i IsBareMetalServerDiskAllowedUseArgs) ToIsBareMetalServerDiskAllowedUseOutput() IsBareMetalServerDiskAllowedUseOutput { + return i.ToIsBareMetalServerDiskAllowedUseOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerDiskAllowedUseArgs) ToIsBareMetalServerDiskAllowedUseOutputWithContext(ctx context.Context) IsBareMetalServerDiskAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDiskAllowedUseOutput) +} + +// IsBareMetalServerDiskAllowedUseArrayInput is an input type that accepts IsBareMetalServerDiskAllowedUseArray and IsBareMetalServerDiskAllowedUseArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerDiskAllowedUseArrayInput` via: +// +// IsBareMetalServerDiskAllowedUseArray{ IsBareMetalServerDiskAllowedUseArgs{...} } +type IsBareMetalServerDiskAllowedUseArrayInput interface { + pulumi.Input + + ToIsBareMetalServerDiskAllowedUseArrayOutput() IsBareMetalServerDiskAllowedUseArrayOutput + ToIsBareMetalServerDiskAllowedUseArrayOutputWithContext(context.Context) IsBareMetalServerDiskAllowedUseArrayOutput +} + +type IsBareMetalServerDiskAllowedUseArray []IsBareMetalServerDiskAllowedUseInput + +func (IsBareMetalServerDiskAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerDiskAllowedUse)(nil)).Elem() +} + +func (i IsBareMetalServerDiskAllowedUseArray) ToIsBareMetalServerDiskAllowedUseArrayOutput() IsBareMetalServerDiskAllowedUseArrayOutput { + return i.ToIsBareMetalServerDiskAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerDiskAllowedUseArray) ToIsBareMetalServerDiskAllowedUseArrayOutputWithContext(ctx context.Context) IsBareMetalServerDiskAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerDiskAllowedUseArrayOutput) +} + +type IsBareMetalServerDiskAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDiskAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerDiskAllowedUse)(nil)).Elem() +} + +func (o IsBareMetalServerDiskAllowedUseOutput) ToIsBareMetalServerDiskAllowedUseOutput() IsBareMetalServerDiskAllowedUseOutput { + return o +} + +func (o IsBareMetalServerDiskAllowedUseOutput) ToIsBareMetalServerDiskAllowedUseOutputWithContext(ctx context.Context) IsBareMetalServerDiskAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o IsBareMetalServerDiskAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDiskAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// An image can only be used for bare metal instantiation if this expression resolves to true. +func (o IsBareMetalServerDiskAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerDiskAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerDiskAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerDiskAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerDiskAllowedUse)(nil)).Elem() +} + +func (o IsBareMetalServerDiskAllowedUseArrayOutput) ToIsBareMetalServerDiskAllowedUseArrayOutput() IsBareMetalServerDiskAllowedUseArrayOutput { + return o +} + +func (o IsBareMetalServerDiskAllowedUseArrayOutput) ToIsBareMetalServerDiskAllowedUseArrayOutputWithContext(ctx context.Context) IsBareMetalServerDiskAllowedUseArrayOutput { + return o +} + +func (o IsBareMetalServerDiskAllowedUseArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerDiskAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerDiskAllowedUse { + return vs[0].([]IsBareMetalServerDiskAllowedUse)[vs[1].(int)] + }).(IsBareMetalServerDiskAllowedUseOutput) +} + +type IsBareMetalServerHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerHealthReasonInput is an input type that accepts IsBareMetalServerHealthReasonArgs and IsBareMetalServerHealthReasonOutput values. +// You can construct a concrete instance of `IsBareMetalServerHealthReasonInput` via: +// +// IsBareMetalServerHealthReasonArgs{...} +type IsBareMetalServerHealthReasonInput interface { + pulumi.Input + + ToIsBareMetalServerHealthReasonOutput() IsBareMetalServerHealthReasonOutput + ToIsBareMetalServerHealthReasonOutputWithContext(context.Context) IsBareMetalServerHealthReasonOutput +} + +type IsBareMetalServerHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerHealthReason)(nil)).Elem() +} + +func (i IsBareMetalServerHealthReasonArgs) ToIsBareMetalServerHealthReasonOutput() IsBareMetalServerHealthReasonOutput { + return i.ToIsBareMetalServerHealthReasonOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerHealthReasonArgs) ToIsBareMetalServerHealthReasonOutputWithContext(ctx context.Context) IsBareMetalServerHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerHealthReasonOutput) +} + +// IsBareMetalServerHealthReasonArrayInput is an input type that accepts IsBareMetalServerHealthReasonArray and IsBareMetalServerHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerHealthReasonArrayInput` via: +// +// IsBareMetalServerHealthReasonArray{ IsBareMetalServerHealthReasonArgs{...} } +type IsBareMetalServerHealthReasonArrayInput interface { + pulumi.Input + + ToIsBareMetalServerHealthReasonArrayOutput() IsBareMetalServerHealthReasonArrayOutput + ToIsBareMetalServerHealthReasonArrayOutputWithContext(context.Context) IsBareMetalServerHealthReasonArrayOutput +} + +type IsBareMetalServerHealthReasonArray []IsBareMetalServerHealthReasonInput + +func (IsBareMetalServerHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerHealthReason)(nil)).Elem() +} + +func (i IsBareMetalServerHealthReasonArray) ToIsBareMetalServerHealthReasonArrayOutput() IsBareMetalServerHealthReasonArrayOutput { + return i.ToIsBareMetalServerHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerHealthReasonArray) ToIsBareMetalServerHealthReasonArrayOutputWithContext(ctx context.Context) IsBareMetalServerHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerHealthReasonArrayOutput) +} + +type IsBareMetalServerHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerHealthReason)(nil)).Elem() +} + +func (o IsBareMetalServerHealthReasonOutput) ToIsBareMetalServerHealthReasonOutput() IsBareMetalServerHealthReasonOutput { + return o +} + +func (o IsBareMetalServerHealthReasonOutput) ToIsBareMetalServerHealthReasonOutputWithContext(ctx context.Context) IsBareMetalServerHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsBareMetalServerHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsBareMetalServerHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsBareMetalServerHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerHealthReason)(nil)).Elem() +} + +func (o IsBareMetalServerHealthReasonArrayOutput) ToIsBareMetalServerHealthReasonArrayOutput() IsBareMetalServerHealthReasonArrayOutput { + return o +} + +func (o IsBareMetalServerHealthReasonArrayOutput) ToIsBareMetalServerHealthReasonArrayOutputWithContext(ctx context.Context) IsBareMetalServerHealthReasonArrayOutput { + return o +} + +func (o IsBareMetalServerHealthReasonArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerHealthReason { + return vs[0].([]IsBareMetalServerHealthReason)[vs[1].(int)] + }).(IsBareMetalServerHealthReasonOutput) +} + +type IsBareMetalServerInitializationDefaultTrustedProfile struct { + // If set to true, the system will create a link to the specified target trusted profile during server initialization. + AutoLink *bool `pulumi:"autoLink"` + // The default IAM trusted profile to use for this bare metal server + Target *IsBareMetalServerInitializationDefaultTrustedProfileTarget `pulumi:"target"` +} + +// IsBareMetalServerInitializationDefaultTrustedProfileInput is an input type that accepts IsBareMetalServerInitializationDefaultTrustedProfileArgs and IsBareMetalServerInitializationDefaultTrustedProfileOutput values. +// You can construct a concrete instance of `IsBareMetalServerInitializationDefaultTrustedProfileInput` via: +// +// IsBareMetalServerInitializationDefaultTrustedProfileArgs{...} +type IsBareMetalServerInitializationDefaultTrustedProfileInput interface { + pulumi.Input + + ToIsBareMetalServerInitializationDefaultTrustedProfileOutput() IsBareMetalServerInitializationDefaultTrustedProfileOutput + ToIsBareMetalServerInitializationDefaultTrustedProfileOutputWithContext(context.Context) IsBareMetalServerInitializationDefaultTrustedProfileOutput +} + +type IsBareMetalServerInitializationDefaultTrustedProfileArgs struct { + // If set to true, the system will create a link to the specified target trusted profile during server initialization. + AutoLink pulumi.BoolPtrInput `pulumi:"autoLink"` + // The default IAM trusted profile to use for this bare metal server + Target IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrInput `pulumi:"target"` +} + +func (IsBareMetalServerInitializationDefaultTrustedProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerInitializationDefaultTrustedProfile)(nil)).Elem() +} + +func (i IsBareMetalServerInitializationDefaultTrustedProfileArgs) ToIsBareMetalServerInitializationDefaultTrustedProfileOutput() IsBareMetalServerInitializationDefaultTrustedProfileOutput { + return i.ToIsBareMetalServerInitializationDefaultTrustedProfileOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerInitializationDefaultTrustedProfileArgs) ToIsBareMetalServerInitializationDefaultTrustedProfileOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerInitializationDefaultTrustedProfileOutput) +} + +func (i IsBareMetalServerInitializationDefaultTrustedProfileArgs) ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutput() IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return i.ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerInitializationDefaultTrustedProfileArgs) ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerInitializationDefaultTrustedProfileOutput).ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(ctx) +} + +// IsBareMetalServerInitializationDefaultTrustedProfilePtrInput is an input type that accepts IsBareMetalServerInitializationDefaultTrustedProfileArgs, IsBareMetalServerInitializationDefaultTrustedProfilePtr and IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerInitializationDefaultTrustedProfilePtrInput` via: +// +// IsBareMetalServerInitializationDefaultTrustedProfileArgs{...} +// +// or: +// +// nil +type IsBareMetalServerInitializationDefaultTrustedProfilePtrInput interface { + pulumi.Input + + ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutput() IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput + ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(context.Context) IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput +} + +type isBareMetalServerInitializationDefaultTrustedProfilePtrType IsBareMetalServerInitializationDefaultTrustedProfileArgs + +func IsBareMetalServerInitializationDefaultTrustedProfilePtr(v *IsBareMetalServerInitializationDefaultTrustedProfileArgs) IsBareMetalServerInitializationDefaultTrustedProfilePtrInput { + return (*isBareMetalServerInitializationDefaultTrustedProfilePtrType)(v) +} + +func (*isBareMetalServerInitializationDefaultTrustedProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerInitializationDefaultTrustedProfile)(nil)).Elem() +} + +func (i *isBareMetalServerInitializationDefaultTrustedProfilePtrType) ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutput() IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return i.ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerInitializationDefaultTrustedProfilePtrType) ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) +} + +type IsBareMetalServerInitializationDefaultTrustedProfileOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerInitializationDefaultTrustedProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerInitializationDefaultTrustedProfile)(nil)).Elem() +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileOutput) ToIsBareMetalServerInitializationDefaultTrustedProfileOutput() IsBareMetalServerInitializationDefaultTrustedProfileOutput { + return o +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileOutput) ToIsBareMetalServerInitializationDefaultTrustedProfileOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfileOutput { + return o +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileOutput) ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutput() IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return o.ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileOutput) ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerInitializationDefaultTrustedProfile) *IsBareMetalServerInitializationDefaultTrustedProfile { + return &v + }).(IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) +} + +// If set to true, the system will create a link to the specified target trusted profile during server initialization. +func (o IsBareMetalServerInitializationDefaultTrustedProfileOutput) AutoLink() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerInitializationDefaultTrustedProfile) *bool { return v.AutoLink }).(pulumi.BoolPtrOutput) +} + +// The default IAM trusted profile to use for this bare metal server +func (o IsBareMetalServerInitializationDefaultTrustedProfileOutput) Target() IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return o.ApplyT(func(v IsBareMetalServerInitializationDefaultTrustedProfile) *IsBareMetalServerInitializationDefaultTrustedProfileTarget { + return v.Target + }).(IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) +} + +type IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerInitializationDefaultTrustedProfile)(nil)).Elem() +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutput() IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return o +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) ToIsBareMetalServerInitializationDefaultTrustedProfilePtrOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput { + return o +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) Elem() IsBareMetalServerInitializationDefaultTrustedProfileOutput { + return o.ApplyT(func(v *IsBareMetalServerInitializationDefaultTrustedProfile) IsBareMetalServerInitializationDefaultTrustedProfile { + if v != nil { + return *v + } + var ret IsBareMetalServerInitializationDefaultTrustedProfile + return ret + }).(IsBareMetalServerInitializationDefaultTrustedProfileOutput) +} + +// If set to true, the system will create a link to the specified target trusted profile during server initialization. +func (o IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) AutoLink() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerInitializationDefaultTrustedProfile) *bool { + if v == nil { + return nil + } + return v.AutoLink + }).(pulumi.BoolPtrOutput) +} + +// The default IAM trusted profile to use for this bare metal server +func (o IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput) Target() IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerInitializationDefaultTrustedProfile) *IsBareMetalServerInitializationDefaultTrustedProfileTarget { + if v == nil { + return nil + } + return v.Target + }).(IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) +} + +type IsBareMetalServerInitializationDefaultTrustedProfileTarget struct { + // The CRN for this trusted profile + Crn *string `pulumi:"crn"` + // The unique identifier for this trusted profile + Id *string `pulumi:"id"` +} + +// IsBareMetalServerInitializationDefaultTrustedProfileTargetInput is an input type that accepts IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs and IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput values. +// You can construct a concrete instance of `IsBareMetalServerInitializationDefaultTrustedProfileTargetInput` via: +// +// IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs{...} +type IsBareMetalServerInitializationDefaultTrustedProfileTargetInput interface { + pulumi.Input + + ToIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput() IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput + ToIsBareMetalServerInitializationDefaultTrustedProfileTargetOutputWithContext(context.Context) IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput +} + +type IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs struct { + // The CRN for this trusted profile + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The unique identifier for this trusted profile + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerInitializationDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (i IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput() IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return i.ToIsBareMetalServerInitializationDefaultTrustedProfileTargetOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) +} + +func (i IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return i.ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput).ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(ctx) +} + +// IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrInput is an input type that accepts IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs, IsBareMetalServerInitializationDefaultTrustedProfileTargetPtr and IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrInput` via: +// +// IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs{...} +// +// or: +// +// nil +type IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrInput interface { + pulumi.Input + + ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput + ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(context.Context) IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput +} + +type isBareMetalServerInitializationDefaultTrustedProfileTargetPtrType IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs + +func IsBareMetalServerInitializationDefaultTrustedProfileTargetPtr(v *IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrInput { + return (*isBareMetalServerInitializationDefaultTrustedProfileTargetPtrType)(v) +} + +func (*isBareMetalServerInitializationDefaultTrustedProfileTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerInitializationDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (i *isBareMetalServerInitializationDefaultTrustedProfileTargetPtrType) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return i.ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerInitializationDefaultTrustedProfileTargetPtrType) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) +} + +type IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerInitializationDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput() IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return o +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return o +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return o.ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerInitializationDefaultTrustedProfileTarget) *IsBareMetalServerInitializationDefaultTrustedProfileTarget { + return &v + }).(IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) +} + +// The CRN for this trusted profile +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerInitializationDefaultTrustedProfileTarget) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this trusted profile +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerInitializationDefaultTrustedProfileTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerInitializationDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput() IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return o +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) ToIsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutputWithContext(ctx context.Context) IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput { + return o +} + +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) Elem() IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return o.ApplyT(func(v *IsBareMetalServerInitializationDefaultTrustedProfileTarget) IsBareMetalServerInitializationDefaultTrustedProfileTarget { + if v != nil { + return *v + } + var ret IsBareMetalServerInitializationDefaultTrustedProfileTarget + return ret + }).(IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) +} + +// The CRN for this trusted profile +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerInitializationDefaultTrustedProfileTarget) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this trusted profile +func (o IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerInitializationDefaultTrustedProfileTarget) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the bare metal server + Enabled *bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol *string `pulumi:"protocol"` +} + +// IsBareMetalServerMetadataServiceInput is an input type that accepts IsBareMetalServerMetadataServiceArgs and IsBareMetalServerMetadataServiceOutput values. +// You can construct a concrete instance of `IsBareMetalServerMetadataServiceInput` via: +// +// IsBareMetalServerMetadataServiceArgs{...} +type IsBareMetalServerMetadataServiceInput interface { + pulumi.Input + + ToIsBareMetalServerMetadataServiceOutput() IsBareMetalServerMetadataServiceOutput + ToIsBareMetalServerMetadataServiceOutputWithContext(context.Context) IsBareMetalServerMetadataServiceOutput +} + +type IsBareMetalServerMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the bare metal server + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` +} + +func (IsBareMetalServerMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerMetadataService)(nil)).Elem() +} + +func (i IsBareMetalServerMetadataServiceArgs) ToIsBareMetalServerMetadataServiceOutput() IsBareMetalServerMetadataServiceOutput { + return i.ToIsBareMetalServerMetadataServiceOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerMetadataServiceArgs) ToIsBareMetalServerMetadataServiceOutputWithContext(ctx context.Context) IsBareMetalServerMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerMetadataServiceOutput) +} + +func (i IsBareMetalServerMetadataServiceArgs) ToIsBareMetalServerMetadataServicePtrOutput() IsBareMetalServerMetadataServicePtrOutput { + return i.ToIsBareMetalServerMetadataServicePtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerMetadataServiceArgs) ToIsBareMetalServerMetadataServicePtrOutputWithContext(ctx context.Context) IsBareMetalServerMetadataServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerMetadataServiceOutput).ToIsBareMetalServerMetadataServicePtrOutputWithContext(ctx) +} + +// IsBareMetalServerMetadataServicePtrInput is an input type that accepts IsBareMetalServerMetadataServiceArgs, IsBareMetalServerMetadataServicePtr and IsBareMetalServerMetadataServicePtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerMetadataServicePtrInput` via: +// +// IsBareMetalServerMetadataServiceArgs{...} +// +// or: +// +// nil +type IsBareMetalServerMetadataServicePtrInput interface { + pulumi.Input + + ToIsBareMetalServerMetadataServicePtrOutput() IsBareMetalServerMetadataServicePtrOutput + ToIsBareMetalServerMetadataServicePtrOutputWithContext(context.Context) IsBareMetalServerMetadataServicePtrOutput +} + +type isBareMetalServerMetadataServicePtrType IsBareMetalServerMetadataServiceArgs + +func IsBareMetalServerMetadataServicePtr(v *IsBareMetalServerMetadataServiceArgs) IsBareMetalServerMetadataServicePtrInput { + return (*isBareMetalServerMetadataServicePtrType)(v) +} + +func (*isBareMetalServerMetadataServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerMetadataService)(nil)).Elem() +} + +func (i *isBareMetalServerMetadataServicePtrType) ToIsBareMetalServerMetadataServicePtrOutput() IsBareMetalServerMetadataServicePtrOutput { + return i.ToIsBareMetalServerMetadataServicePtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerMetadataServicePtrType) ToIsBareMetalServerMetadataServicePtrOutputWithContext(ctx context.Context) IsBareMetalServerMetadataServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerMetadataServicePtrOutput) +} + +type IsBareMetalServerMetadataServiceOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerMetadataService)(nil)).Elem() +} + +func (o IsBareMetalServerMetadataServiceOutput) ToIsBareMetalServerMetadataServiceOutput() IsBareMetalServerMetadataServiceOutput { + return o +} + +func (o IsBareMetalServerMetadataServiceOutput) ToIsBareMetalServerMetadataServiceOutputWithContext(ctx context.Context) IsBareMetalServerMetadataServiceOutput { + return o +} + +func (o IsBareMetalServerMetadataServiceOutput) ToIsBareMetalServerMetadataServicePtrOutput() IsBareMetalServerMetadataServicePtrOutput { + return o.ToIsBareMetalServerMetadataServicePtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerMetadataServiceOutput) ToIsBareMetalServerMetadataServicePtrOutputWithContext(ctx context.Context) IsBareMetalServerMetadataServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerMetadataService) *IsBareMetalServerMetadataService { + return &v + }).(IsBareMetalServerMetadataServicePtrOutput) +} + +// Indicates whether the metadata service endpoint will be available to the bare metal server +func (o IsBareMetalServerMetadataServiceOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerMetadataService) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o IsBareMetalServerMetadataServiceOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerMetadataService) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerMetadataServicePtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerMetadataServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerMetadataService)(nil)).Elem() +} + +func (o IsBareMetalServerMetadataServicePtrOutput) ToIsBareMetalServerMetadataServicePtrOutput() IsBareMetalServerMetadataServicePtrOutput { + return o +} + +func (o IsBareMetalServerMetadataServicePtrOutput) ToIsBareMetalServerMetadataServicePtrOutputWithContext(ctx context.Context) IsBareMetalServerMetadataServicePtrOutput { + return o +} + +func (o IsBareMetalServerMetadataServicePtrOutput) Elem() IsBareMetalServerMetadataServiceOutput { + return o.ApplyT(func(v *IsBareMetalServerMetadataService) IsBareMetalServerMetadataService { + if v != nil { + return *v + } + var ret IsBareMetalServerMetadataService + return ret + }).(IsBareMetalServerMetadataServiceOutput) +} + +// Indicates whether the metadata service endpoint will be available to the bare metal server +func (o IsBareMetalServerMetadataServicePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerMetadataService) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o IsBareMetalServerMetadataServicePtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerMetadataService) *string { + if v == nil { + return nil + } + return v.Protocol + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentType struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowToFloat *bool `pulumi:"allowToFloat"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans []int `pulumi:"allowedVlans"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsBareMetalServerNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this bare metal server network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this bare metal server network attachment. + Id *string `pulumi:"id"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType *string `pulumi:"interfaceType"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterfaces []IsBareMetalServerNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan *int `pulumi:"vlan"` +} + +// IsBareMetalServerNetworkAttachmentTypeInput is an input type that accepts IsBareMetalServerNetworkAttachmentTypeArgs and IsBareMetalServerNetworkAttachmentTypeOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentTypeInput` via: +// +// IsBareMetalServerNetworkAttachmentTypeArgs{...} +type IsBareMetalServerNetworkAttachmentTypeInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentTypeOutput() IsBareMetalServerNetworkAttachmentTypeOutput + ToIsBareMetalServerNetworkAttachmentTypeOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentTypeOutput +} + +type IsBareMetalServerNetworkAttachmentTypeArgs struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowToFloat pulumi.BoolPtrInput `pulumi:"allowToFloat"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans pulumi.IntArrayInput `pulumi:"allowedVlans"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsBareMetalServerNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this bare metal server network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this bare metal server network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterfaces IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntPtrInput `pulumi:"vlan"` +} + +func (IsBareMetalServerNetworkAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentType)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentTypeArgs) ToIsBareMetalServerNetworkAttachmentTypeOutput() IsBareMetalServerNetworkAttachmentTypeOutput { + return i.ToIsBareMetalServerNetworkAttachmentTypeOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentTypeArgs) ToIsBareMetalServerNetworkAttachmentTypeOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentTypeOutput) +} + +// IsBareMetalServerNetworkAttachmentTypeArrayInput is an input type that accepts IsBareMetalServerNetworkAttachmentTypeArray and IsBareMetalServerNetworkAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentTypeArrayInput` via: +// +// IsBareMetalServerNetworkAttachmentTypeArray{ IsBareMetalServerNetworkAttachmentTypeArgs{...} } +type IsBareMetalServerNetworkAttachmentTypeArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentTypeArrayOutput() IsBareMetalServerNetworkAttachmentTypeArrayOutput + ToIsBareMetalServerNetworkAttachmentTypeArrayOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentTypeArrayOutput +} + +type IsBareMetalServerNetworkAttachmentTypeArray []IsBareMetalServerNetworkAttachmentTypeInput + +func (IsBareMetalServerNetworkAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentType)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentTypeArray) ToIsBareMetalServerNetworkAttachmentTypeArrayOutput() IsBareMetalServerNetworkAttachmentTypeArrayOutput { + return i.ToIsBareMetalServerNetworkAttachmentTypeArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentTypeArray) ToIsBareMetalServerNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentTypeArrayOutput) +} + +type IsBareMetalServerNetworkAttachmentTypeOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentType)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentTypeOutput) ToIsBareMetalServerNetworkAttachmentTypeOutput() IsBareMetalServerNetworkAttachmentTypeOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentTypeOutput) ToIsBareMetalServerNetworkAttachmentTypeOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentTypeOutput { + return o +} + +// Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. +func (o IsBareMetalServerNetworkAttachmentTypeOutput) AllowToFloat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) *bool { return v.AllowToFloat }).(pulumi.BoolPtrOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. +func (o IsBareMetalServerNetworkAttachmentTypeOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) []int { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerNetworkAttachmentTypeOutput) Deleteds() IsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) []IsBareMetalServerNetworkAttachmentDeleted { + return v.Deleteds + }).(IsBareMetalServerNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this bare metal server network attachment. +func (o IsBareMetalServerNetworkAttachmentTypeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this bare metal server network attachment. +func (o IsBareMetalServerNetworkAttachmentTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The network interface type: [ pci, vlan, hipersocket ] +func (o IsBareMetalServerNetworkAttachmentTypeOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) +} + +// The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. +func (o IsBareMetalServerNetworkAttachmentTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsBareMetalServerNetworkAttachmentTypeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsBareMetalServerNetworkAttachmentTypeOutput) VirtualNetworkInterfaces() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) []IsBareMetalServerNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface +func (o IsBareMetalServerNetworkAttachmentTypeOutput) Vlan() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentType) *int { return v.Vlan }).(pulumi.IntPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentType)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentTypeArrayOutput) ToIsBareMetalServerNetworkAttachmentTypeArrayOutput() IsBareMetalServerNetworkAttachmentTypeArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentTypeArrayOutput) ToIsBareMetalServerNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentTypeArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentTypeArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkAttachmentType { + return vs[0].([]IsBareMetalServerNetworkAttachmentType)[vs[1].(int)] + }).(IsBareMetalServerNetworkAttachmentTypeOutput) +} + +type IsBareMetalServerNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerNetworkAttachmentDeletedInput is an input type that accepts IsBareMetalServerNetworkAttachmentDeletedArgs and IsBareMetalServerNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentDeletedInput` via: +// +// IsBareMetalServerNetworkAttachmentDeletedArgs{...} +type IsBareMetalServerNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentDeletedOutput() IsBareMetalServerNetworkAttachmentDeletedOutput + ToIsBareMetalServerNetworkAttachmentDeletedOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentDeletedOutput +} + +type IsBareMetalServerNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentDeletedArgs) ToIsBareMetalServerNetworkAttachmentDeletedOutput() IsBareMetalServerNetworkAttachmentDeletedOutput { + return i.ToIsBareMetalServerNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentDeletedArgs) ToIsBareMetalServerNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentDeletedOutput) +} + +// IsBareMetalServerNetworkAttachmentDeletedArrayInput is an input type that accepts IsBareMetalServerNetworkAttachmentDeletedArray and IsBareMetalServerNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentDeletedArrayInput` via: +// +// IsBareMetalServerNetworkAttachmentDeletedArray{ IsBareMetalServerNetworkAttachmentDeletedArgs{...} } +type IsBareMetalServerNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentDeletedArrayOutput() IsBareMetalServerNetworkAttachmentDeletedArrayOutput + ToIsBareMetalServerNetworkAttachmentDeletedArrayOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentDeletedArrayOutput +} + +type IsBareMetalServerNetworkAttachmentDeletedArray []IsBareMetalServerNetworkAttachmentDeletedInput + +func (IsBareMetalServerNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentDeletedArray) ToIsBareMetalServerNetworkAttachmentDeletedArrayOutput() IsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return i.ToIsBareMetalServerNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentDeletedArray) ToIsBareMetalServerNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentDeletedArrayOutput) +} + +type IsBareMetalServerNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentDeletedOutput) ToIsBareMetalServerNetworkAttachmentDeletedOutput() IsBareMetalServerNetworkAttachmentDeletedOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentDeletedOutput) ToIsBareMetalServerNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsBareMetalServerNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentDeletedArrayOutput) ToIsBareMetalServerNetworkAttachmentDeletedArrayOutput() IsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentDeletedArrayOutput) ToIsBareMetalServerNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkAttachmentDeleted { + return vs[0].([]IsBareMetalServerNetworkAttachmentDeleted)[vs[1].(int)] + }).(IsBareMetalServerNetworkAttachmentDeletedOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // The crn of the virtual network interface. + Crn *string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this bare metal server network attachment. + Id *string `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `pulumi:"name"` + // The primary IP address of the virtual network interface for the bare metal server networkattachment. + PrimaryIp *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet id. + Subnet *string `pulumi:"subnet"` +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The crn of the virtual network interface. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this bare metal server network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the bare metal server networkattachment. + PrimaryIp IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet id. + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput).ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs, IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtr and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput +} + +type isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrType IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs + +func IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtr(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrInput { + return (*isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrType)(v) +} + +func (*isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i *isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray{ IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface { + return &v + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The crn of the virtual network interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this bare metal server network attachment. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the bare metal server networkattachment. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIp() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) Elem() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) IsBareMetalServerNetworkAttachmentVirtualNetworkInterface { + if v != nil { + return *v + } + var ret IsBareMetalServerNetworkAttachmentVirtualNetworkInterface + return ret + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The crn of the virtual network interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this bare metal server network attachment. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) Ips() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp { + if v == nil { + return nil + } + return v.Ips + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the bare metal server networkattachment. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) PrimaryIp() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]IsBareMetalServerNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArgs and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArray and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArray{ IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArray []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) Deleteds() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp) []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return v.Deleteds + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{ IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} } +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return vs[0].([]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput).ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs, IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtr and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput +} + +type isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs + +func IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtr(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput { + return (*isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return &v + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Deleteds() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Elem() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp + return ret + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Deleteds() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray and IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{ IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray []IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsBareMetalServerNetworkInterfaceType struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat *bool `pulumi:"allowInterfaceToFloat"` + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans []int `pulumi:"allowedVlans"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The URL for this network interface + Href *string `pulumi:"href"` + Id *string `pulumi:"id"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType *string `pulumi:"interfaceType"` + // The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words + Name string `pulumi:"name"` + PortSpeed *int `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIp *IsBareMetalServerNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // Collection of security group ids + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet + Subnet string `pulumi:"subnet"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan *int `pulumi:"vlan"` +} + +// IsBareMetalServerNetworkInterfaceTypeInput is an input type that accepts IsBareMetalServerNetworkInterfaceTypeArgs and IsBareMetalServerNetworkInterfaceTypeOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfaceTypeInput` via: +// +// IsBareMetalServerNetworkInterfaceTypeArgs{...} +type IsBareMetalServerNetworkInterfaceTypeInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceTypeOutput() IsBareMetalServerNetworkInterfaceTypeOutput + ToIsBareMetalServerNetworkInterfaceTypeOutputWithContext(context.Context) IsBareMetalServerNetworkInterfaceTypeOutput +} + +type IsBareMetalServerNetworkInterfaceTypeArgs struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat pulumi.BoolPtrInput `pulumi:"allowInterfaceToFloat"` + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans pulumi.IntArrayInput `pulumi:"allowedVlans"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // The URL for this network interface + Href pulumi.StringPtrInput `pulumi:"href"` + Id pulumi.StringPtrInput `pulumi:"id"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` + // The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words + Name pulumi.StringInput `pulumi:"name"` + PortSpeed pulumi.IntPtrInput `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIp IsBareMetalServerNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // Collection of security group ids + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet + Subnet pulumi.StringInput `pulumi:"subnet"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntPtrInput `pulumi:"vlan"` +} + +func (IsBareMetalServerNetworkInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfaceType)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkInterfaceTypeArgs) ToIsBareMetalServerNetworkInterfaceTypeOutput() IsBareMetalServerNetworkInterfaceTypeOutput { + return i.ToIsBareMetalServerNetworkInterfaceTypeOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfaceTypeArgs) ToIsBareMetalServerNetworkInterfaceTypeOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceTypeOutput) +} + +// IsBareMetalServerNetworkInterfaceTypeArrayInput is an input type that accepts IsBareMetalServerNetworkInterfaceTypeArray and IsBareMetalServerNetworkInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfaceTypeArrayInput` via: +// +// IsBareMetalServerNetworkInterfaceTypeArray{ IsBareMetalServerNetworkInterfaceTypeArgs{...} } +type IsBareMetalServerNetworkInterfaceTypeArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceTypeArrayOutput() IsBareMetalServerNetworkInterfaceTypeArrayOutput + ToIsBareMetalServerNetworkInterfaceTypeArrayOutputWithContext(context.Context) IsBareMetalServerNetworkInterfaceTypeArrayOutput +} + +type IsBareMetalServerNetworkInterfaceTypeArray []IsBareMetalServerNetworkInterfaceTypeInput + +func (IsBareMetalServerNetworkInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkInterfaceType)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkInterfaceTypeArray) ToIsBareMetalServerNetworkInterfaceTypeArrayOutput() IsBareMetalServerNetworkInterfaceTypeArrayOutput { + return i.ToIsBareMetalServerNetworkInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfaceTypeArray) ToIsBareMetalServerNetworkInterfaceTypeArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceTypeArrayOutput) +} + +type IsBareMetalServerNetworkInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfaceType)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceTypeOutput) ToIsBareMetalServerNetworkInterfaceTypeOutput() IsBareMetalServerNetworkInterfaceTypeOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceTypeOutput) ToIsBareMetalServerNetworkInterfaceTypeOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceTypeOutput { + return o +} + +// Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. +func (o IsBareMetalServerNetworkInterfaceTypeOutput) AllowInterfaceToFloat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *bool { return v.AllowInterfaceToFloat }).(pulumi.BoolPtrOutput) +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o IsBareMetalServerNetworkInterfaceTypeOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. +func (o IsBareMetalServerNetworkInterfaceTypeOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) []int { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +// If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. +func (o IsBareMetalServerNetworkInterfaceTypeOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *bool { return v.EnableInfrastructureNat }).(pulumi.BoolPtrOutput) +} + +// The URL for this network interface +func (o IsBareMetalServerNetworkInterfaceTypeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +func (o IsBareMetalServerNetworkInterfaceTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The network interface type: [ pci, vlan, hipersocket ] +func (o IsBareMetalServerNetworkInterfaceTypeOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this network interface. If unspecified, the name will be a hyphenated list of randomly-selected words +func (o IsBareMetalServerNetworkInterfaceTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) string { return v.Name }).(pulumi.StringOutput) +} + +func (o IsBareMetalServerNetworkInterfaceTypeOutput) PortSpeed() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *int { return v.PortSpeed }).(pulumi.IntPtrOutput) +} + +// title: IPv4, The IP address. +func (o IsBareMetalServerNetworkInterfaceTypeOutput) PrimaryIp() IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *IsBareMetalServerNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) +} + +// Collection of security group ids +func (o IsBareMetalServerNetworkInterfaceTypeOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The associated subnet +func (o IsBareMetalServerNetworkInterfaceTypeOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) string { return v.Subnet }).(pulumi.StringOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface +func (o IsBareMetalServerNetworkInterfaceTypeOutput) Vlan() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceType) *int { return v.Vlan }).(pulumi.IntPtrOutput) +} + +type IsBareMetalServerNetworkInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkInterfaceType)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceTypeArrayOutput) ToIsBareMetalServerNetworkInterfaceTypeArrayOutput() IsBareMetalServerNetworkInterfaceTypeArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceTypeArrayOutput) ToIsBareMetalServerNetworkInterfaceTypeArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceTypeArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceTypeArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkInterfaceType { + return vs[0].([]IsBareMetalServerNetworkInterfaceType)[vs[1].(int)] + }).(IsBareMetalServerNetworkInterfaceTypeOutput) +} + +type IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp struct { + // The globally unique IP address + Address *string `pulumi:"address"` + // The globally unique IP identifier + Id *string `pulumi:"id"` +} + +// IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpInput is an input type that accepts IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArgs and IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpInput` via: +// +// IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArgs{...} +type IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput() IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput + ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutputWithContext(context.Context) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput +} + +type IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArgs struct { + // The globally unique IP address + Address pulumi.StringPtrInput `pulumi:"address"` + // The globally unique IP identifier + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArgs) ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput() IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput { + return i.ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArgs) ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput) +} + +// IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayInput is an input type that accepts IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArray and IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayInput` via: +// +// IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArray{ IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArgs{...} } +type IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput() IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput + ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutputWithContext(context.Context) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput +} + +type IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArray []IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpInput + +func (IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArray) ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput() IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput { + return i.ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArray) ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput) +} + +type IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput() IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput { + return o +} + +// The globally unique IP address +func (o IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The globally unique IP identifier +func (o IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput() IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp { + return vs[0].([]IsBareMetalServerNetworkInterfaceAllowFloatFloatingIp)[vs[1].(int)] + }).(IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput) +} + +type IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp struct { + // The globally unique IP address + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The URL for this reserved IP + Href *string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name *string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpInput is an input type that accepts IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs and IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpInput` via: +// +// IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs{...} +type IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput + ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutputWithContext(context.Context) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput +} + +type IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs struct { + // The globally unique IP address + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The URL for this reserved IP + Href pulumi.StringPtrInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringPtrInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput { + return i.ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) +} + +func (i IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput { + return i.ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput).ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(ctx) +} + +// IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrInput is an input type that accepts IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs, IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtr and IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrInput` via: +// +// IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs{...} +// +// or: +// +// nil +type IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput + ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(context.Context) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput +} + +type isBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrType IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs + +func IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtr(v *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrInput { + return (*isBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrType)(v) +} + +func (*isBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp)(nil)).Elem() +} + +func (i *isBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrType) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput { + return i.ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrType) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) +} + +type IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput { + return o.ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp { + return &v + }).(IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) +} + +// The globally unique IP address +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) ToIsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) Elem() IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp { + if v != nil { + return *v + } + var ret IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp + return ret + }).(IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput) +} + +// The globally unique IP address +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkInterfaceFloatingIpType struct { + // The globally unique IP address + Address *string `pulumi:"address"` + // The globally unique IP identifier + Id *string `pulumi:"id"` +} + +// IsBareMetalServerNetworkInterfaceFloatingIpTypeInput is an input type that accepts IsBareMetalServerNetworkInterfaceFloatingIpTypeArgs and IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfaceFloatingIpTypeInput` via: +// +// IsBareMetalServerNetworkInterfaceFloatingIpTypeArgs{...} +type IsBareMetalServerNetworkInterfaceFloatingIpTypeInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput() IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput + ToIsBareMetalServerNetworkInterfaceFloatingIpTypeOutputWithContext(context.Context) IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput +} + +type IsBareMetalServerNetworkInterfaceFloatingIpTypeArgs struct { + // The globally unique IP address + Address pulumi.StringPtrInput `pulumi:"address"` + // The globally unique IP identifier + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IsBareMetalServerNetworkInterfaceFloatingIpTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkInterfaceFloatingIpTypeArgs) ToIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput() IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return i.ToIsBareMetalServerNetworkInterfaceFloatingIpTypeOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfaceFloatingIpTypeArgs) ToIsBareMetalServerNetworkInterfaceFloatingIpTypeOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) +} + +// IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput is an input type that accepts IsBareMetalServerNetworkInterfaceFloatingIpTypeArray and IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput` via: +// +// IsBareMetalServerNetworkInterfaceFloatingIpTypeArray{ IsBareMetalServerNetworkInterfaceFloatingIpTypeArgs{...} } +type IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput() IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput + ToIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutputWithContext(context.Context) IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput +} + +type IsBareMetalServerNetworkInterfaceFloatingIpTypeArray []IsBareMetalServerNetworkInterfaceFloatingIpTypeInput + +func (IsBareMetalServerNetworkInterfaceFloatingIpTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkInterfaceFloatingIpTypeArray) ToIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput() IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return i.ToIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfaceFloatingIpTypeArray) ToIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) +} + +type IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) ToIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput() IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) ToIsBareMetalServerNetworkInterfaceFloatingIpTypeOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return o +} + +// The globally unique IP address +func (o IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceFloatingIpType) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The globally unique IP identifier +func (o IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfaceFloatingIpType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) ToIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput() IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) ToIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerNetworkInterfaceFloatingIpType { + return vs[0].([]IsBareMetalServerNetworkInterfaceFloatingIpType)[vs[1].(int)] + }).(IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) +} + +type IsBareMetalServerNetworkInterfacePrimaryIp struct { + // The globally unique IP address + Address *string `pulumi:"address"` + // If set to true, this reserved IP will be automatically deleted when the target is deleted or when the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The URL for this reserved IP + Href *string `pulumi:"href"` + // The unique user-defined name for this reserved IP + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP + ReservedIp *string `pulumi:"reservedIp"` + // The resource type: [ subnetReservedIp ] + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerNetworkInterfacePrimaryIpInput is an input type that accepts IsBareMetalServerNetworkInterfacePrimaryIpArgs and IsBareMetalServerNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfacePrimaryIpInput` via: +// +// IsBareMetalServerNetworkInterfacePrimaryIpArgs{...} +type IsBareMetalServerNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfacePrimaryIpOutput() IsBareMetalServerNetworkInterfacePrimaryIpOutput + ToIsBareMetalServerNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsBareMetalServerNetworkInterfacePrimaryIpOutput +} + +type IsBareMetalServerNetworkInterfacePrimaryIpArgs struct { + // The globally unique IP address + Address pulumi.StringPtrInput `pulumi:"address"` + // If set to true, this reserved IP will be automatically deleted when the target is deleted or when the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The URL for this reserved IP + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique user-defined name for this reserved IP + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type: [ subnetReservedIp ] + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsBareMetalServerNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerNetworkInterfacePrimaryIpOutput() IsBareMetalServerNetworkInterfacePrimaryIpOutput { + return i.ToIsBareMetalServerNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfacePrimaryIpOutput) +} + +func (i IsBareMetalServerNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfacePrimaryIpOutput).ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsBareMetalServerNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsBareMetalServerNetworkInterfacePrimaryIpArgs, IsBareMetalServerNetworkInterfacePrimaryIpPtr and IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerNetworkInterfacePrimaryIpPtrInput` via: +// +// IsBareMetalServerNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsBareMetalServerNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput + ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput +} + +type isBareMetalServerNetworkInterfacePrimaryIpPtrType IsBareMetalServerNetworkInterfacePrimaryIpArgs + +func IsBareMetalServerNetworkInterfacePrimaryIpPtr(v *IsBareMetalServerNetworkInterfacePrimaryIpArgs) IsBareMetalServerNetworkInterfacePrimaryIpPtrInput { + return (*isBareMetalServerNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isBareMetalServerNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isBareMetalServerNetworkInterfacePrimaryIpPtrType) ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerNetworkInterfacePrimaryIpPtrType) ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) +} + +type IsBareMetalServerNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerNetworkInterfacePrimaryIpOutput() IsBareMetalServerNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerNetworkInterfacePrimaryIp) *IsBareMetalServerNetworkInterfacePrimaryIp { + return &v + }).(IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) +} + +// The globally unique IP address +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// If set to true, this reserved IP will be automatically deleted when the target is deleted or when the reserved IP is unbound. +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this reserved IP +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type: [ subnetReservedIp ] +func (o IsBareMetalServerNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) ToIsBareMetalServerNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) Elem() IsBareMetalServerNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfacePrimaryIp) IsBareMetalServerNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsBareMetalServerNetworkInterfacePrimaryIp + return ret + }).(IsBareMetalServerNetworkInterfacePrimaryIpOutput) +} + +// The globally unique IP address +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// If set to true, this reserved IP will be automatically deleted when the target is deleted or when the reserved IP is unbound. +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this reserved IP +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type: [ subnetReservedIp ] +func (o IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachment struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat *bool `pulumi:"allowInterfaceToFloat"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans []int `pulumi:"allowedVlans"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsBareMetalServerPrimaryNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this bare metal server network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this bare metal server network attachment. + Id *string `pulumi:"id"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType *string `pulumi:"interfaceType"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan *int `pulumi:"vlan"` +} + +// IsBareMetalServerPrimaryNetworkAttachmentInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentArgs and IsBareMetalServerPrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentArgs{...} +type IsBareMetalServerPrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentOutput() IsBareMetalServerPrimaryNetworkAttachmentOutput + ToIsBareMetalServerPrimaryNetworkAttachmentOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentArgs struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat pulumi.BoolPtrInput `pulumi:"allowInterfaceToFloat"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans pulumi.IntArrayInput `pulumi:"allowedVlans"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this bare metal server network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this bare metal server network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The network interface type: [ pci, vlan, hipersocket ] + InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput `pulumi:"virtualNetworkInterface"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntPtrInput `pulumi:"vlan"` +} + +func (IsBareMetalServerPrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentArgs) ToIsBareMetalServerPrimaryNetworkAttachmentOutput() IsBareMetalServerPrimaryNetworkAttachmentOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentArgs) ToIsBareMetalServerPrimaryNetworkAttachmentOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentOutput) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentArgs) ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentArgs) ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentOutput).ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(ctx) +} + +// IsBareMetalServerPrimaryNetworkAttachmentPtrInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentArgs, IsBareMetalServerPrimaryNetworkAttachmentPtr and IsBareMetalServerPrimaryNetworkAttachmentPtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentPtrInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentArgs{...} +// +// or: +// +// nil +type IsBareMetalServerPrimaryNetworkAttachmentPtrInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentPtrOutput + ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentPtrOutput +} + +type isBareMetalServerPrimaryNetworkAttachmentPtrType IsBareMetalServerPrimaryNetworkAttachmentArgs + +func IsBareMetalServerPrimaryNetworkAttachmentPtr(v *IsBareMetalServerPrimaryNetworkAttachmentArgs) IsBareMetalServerPrimaryNetworkAttachmentPtrInput { + return (*isBareMetalServerPrimaryNetworkAttachmentPtrType)(v) +} + +func (*isBareMetalServerPrimaryNetworkAttachmentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (i *isBareMetalServerPrimaryNetworkAttachmentPtrType) ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerPrimaryNetworkAttachmentPtrType) ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) ToIsBareMetalServerPrimaryNetworkAttachmentOutput() IsBareMetalServerPrimaryNetworkAttachmentOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) ToIsBareMetalServerPrimaryNetworkAttachmentOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return o.ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerPrimaryNetworkAttachment) *IsBareMetalServerPrimaryNetworkAttachment { + return &v + }).(IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) +} + +// Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) AllowInterfaceToFloat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) *bool { return v.AllowInterfaceToFloat }).(pulumi.BoolPtrOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) []int { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) Deleteds() IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) []IsBareMetalServerPrimaryNetworkAttachmentDeleted { + return v.Deleteds + }).(IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this bare metal server network attachment. +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this bare metal server network attachment. +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The network interface type: [ pci, vlan, hipersocket ] +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) +} + +// The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) VirtualNetworkInterface() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterface + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface +func (o IsBareMetalServerPrimaryNetworkAttachmentOutput) Vlan() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachment) *int { return v.Vlan }).(pulumi.IntPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentPtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) ToIsBareMetalServerPrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentPtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) Elem() IsBareMetalServerPrimaryNetworkAttachmentOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) IsBareMetalServerPrimaryNetworkAttachment { + if v != nil { + return *v + } + var ret IsBareMetalServerPrimaryNetworkAttachment + return ret + }).(IsBareMetalServerPrimaryNetworkAttachmentOutput) +} + +// Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) AllowInterfaceToFloat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) *bool { + if v == nil { + return nil + } + return v.AllowInterfaceToFloat + }).(pulumi.BoolPtrOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) []int { + if v == nil { + return nil + } + return v.AllowedVlans + }).(pulumi.IntArrayOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) Deleteds() IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) []IsBareMetalServerPrimaryNetworkAttachmentDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this bare metal server network attachment. +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this bare metal server network attachment. +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The network interface type: [ pci, vlan, hipersocket ] +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.InterfaceType + }).(pulumi.StringPtrOutput) +} + +// The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the bare metal server network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) VirtualNetworkInterface() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface { + if v == nil { + return nil + } + return v.VirtualNetworkInterface + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface +func (o IsBareMetalServerPrimaryNetworkAttachmentPtrOutput) Vlan() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachment) *int { + if v == nil { + return nil + } + return v.Vlan + }).(pulumi.IntPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerPrimaryNetworkAttachmentDeletedInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentDeletedArgs and IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentDeletedInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentDeletedArgs{...} +type IsBareMetalServerPrimaryNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput + ToIsBareMetalServerPrimaryNetworkAttachmentDeletedOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerPrimaryNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentDeletedArgs) ToIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentDeletedArgs) ToIsBareMetalServerPrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) +} + +// IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentDeletedArray and IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentDeletedArray{ IsBareMetalServerPrimaryNetworkAttachmentDeletedArgs{...} } +type IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput + ToIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentDeletedArray []IsBareMetalServerPrimaryNetworkAttachmentDeletedInput + +func (IsBareMetalServerPrimaryNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentDeletedArray) ToIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentDeletedArray) ToIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) ToIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) ToIsBareMetalServerPrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) ToIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) ToIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerPrimaryNetworkAttachmentDeleted { + return vs[0].([]IsBareMetalServerPrimaryNetworkAttachmentDeleted)[vs[1].(int)] + }).(IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // The crn of the virtual network interface. + Crn *string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this bare metal server network attachment. + Id *string `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `pulumi:"name"` + // The primary IP address of the virtual network interface for the bare metal server networkattachment. + PrimaryIp *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet id. + Subnet *string `pulumi:"subnet"` +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The crn of the virtual network interface. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this bare metal server network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the bare metal server networkattachment. + PrimaryIp IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet id. + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput).ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs, IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtr and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput +} + +type isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrType IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs + +func IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtr(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput { + return (*isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrType)(v) +} + +func (*isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i *isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface { + return &v + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The crn of the virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this bare metal server network attachment. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the bare metal server networkattachment. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIp() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) []string { + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Elem() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface { + if v != nil { + return *v + } + var ret IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface + return ret + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The crn of the virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this bare metal server network attachment. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Ips() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + if v == nil { + return nil + } + return v.Ips + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the bare metal server networkattachment. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) PrimaryIp() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{ IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Deleteds() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp) []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return v.Deleteds + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{ IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} } +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return vs[0].([]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput).ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs, IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtr and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput +} + +type isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs + +func IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtr(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput { + return (*isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return &v + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.Address + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Deleteds() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Elem() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp + return ret + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Deleteds() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray and IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{ IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray []IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsBareMetalServerPrimaryNetworkInterface struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans []int `pulumi:"allowedVlans"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The URL for this network interface + Href *string `pulumi:"href"` + Id *string `pulumi:"id"` + // The network interface type: [ pci, hipersocket ] + InterfaceType *string `pulumi:"interfaceType"` + Name *string `pulumi:"name"` + PortSpeed *int `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIp *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// IsBareMetalServerPrimaryNetworkInterfaceInput is an input type that accepts IsBareMetalServerPrimaryNetworkInterfaceArgs and IsBareMetalServerPrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkInterfaceInput` via: +// +// IsBareMetalServerPrimaryNetworkInterfaceArgs{...} +type IsBareMetalServerPrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkInterfaceOutput() IsBareMetalServerPrimaryNetworkInterfaceOutput + ToIsBareMetalServerPrimaryNetworkInterfaceOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkInterfaceOutput +} + +type IsBareMetalServerPrimaryNetworkInterfaceArgs struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans pulumi.IntArrayInput `pulumi:"allowedVlans"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // The URL for this network interface + Href pulumi.StringPtrInput `pulumi:"href"` + Id pulumi.StringPtrInput `pulumi:"id"` + // The network interface type: [ pci, hipersocket ] + InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` + Name pulumi.StringPtrInput `pulumi:"name"` + PortSpeed pulumi.IntPtrInput `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIp IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (IsBareMetalServerPrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkInterfaceArgs) ToIsBareMetalServerPrimaryNetworkInterfaceOutput() IsBareMetalServerPrimaryNetworkInterfaceOutput { + return i.ToIsBareMetalServerPrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkInterfaceArgs) ToIsBareMetalServerPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkInterfaceOutput) +} + +func (i IsBareMetalServerPrimaryNetworkInterfaceArgs) ToIsBareMetalServerPrimaryNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkInterfacePtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkInterfaceArgs) ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkInterfaceOutput).ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsBareMetalServerPrimaryNetworkInterfacePtrInput is an input type that accepts IsBareMetalServerPrimaryNetworkInterfaceArgs, IsBareMetalServerPrimaryNetworkInterfacePtr and IsBareMetalServerPrimaryNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkInterfacePtrInput` via: +// +// IsBareMetalServerPrimaryNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsBareMetalServerPrimaryNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkInterfacePtrOutput + ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkInterfacePtrOutput +} + +type isBareMetalServerPrimaryNetworkInterfacePtrType IsBareMetalServerPrimaryNetworkInterfaceArgs + +func IsBareMetalServerPrimaryNetworkInterfacePtr(v *IsBareMetalServerPrimaryNetworkInterfaceArgs) IsBareMetalServerPrimaryNetworkInterfacePtrInput { + return (*isBareMetalServerPrimaryNetworkInterfacePtrType)(v) +} + +func (*isBareMetalServerPrimaryNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (i *isBareMetalServerPrimaryNetworkInterfacePtrType) ToIsBareMetalServerPrimaryNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkInterfacePtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerPrimaryNetworkInterfacePtrType) ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkInterfacePtrOutput) +} + +type IsBareMetalServerPrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) ToIsBareMetalServerPrimaryNetworkInterfaceOutput() IsBareMetalServerPrimaryNetworkInterfaceOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) ToIsBareMetalServerPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfaceOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) ToIsBareMetalServerPrimaryNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkInterfacePtrOutput { + return o.ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerPrimaryNetworkInterface) *IsBareMetalServerPrimaryNetworkInterface { + return &v + }).(IsBareMetalServerPrimaryNetworkInterfacePtrOutput) +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) []int { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +// If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) *bool { return v.EnableInfrastructureNat }).(pulumi.BoolPtrOutput) +} + +// The URL for this network interface +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The network interface type: [ pci, hipersocket ] +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) PortSpeed() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) *int { return v.PortSpeed }).(pulumi.IntPtrOutput) +} + +// title: IPv4, The IP address. +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) PrimaryIp() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type IsBareMetalServerPrimaryNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) ToIsBareMetalServerPrimaryNetworkInterfacePtrOutput() IsBareMetalServerPrimaryNetworkInterfacePtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) ToIsBareMetalServerPrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) Elem() IsBareMetalServerPrimaryNetworkInterfaceOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) IsBareMetalServerPrimaryNetworkInterface { + if v != nil { + return *v + } + var ret IsBareMetalServerPrimaryNetworkInterface + return ret + }).(IsBareMetalServerPrimaryNetworkInterfaceOutput) +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) []int { + if v == nil { + return nil + } + return v.AllowedVlans + }).(pulumi.IntArrayOutput) +} + +// If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *bool { + if v == nil { + return nil + } + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The URL for this network interface +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The network interface type: [ pci, hipersocket ] +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.InterfaceType + }).(pulumi.StringPtrOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) PortSpeed() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *int { + if v == nil { + return nil + } + return v.PortSpeed + }).(pulumi.IntPtrOutput) +} + +// title: IPv4, The IP address. +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) PrimaryIp() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return &v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkInterfacePrimaryIp struct { + // The globally unique IP address + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The URL for this reserved IP + Href *string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name *string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput is an input type that accepts IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs and IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput` via: +// +// IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs{...} +type IsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput + ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput +} + +type IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs struct { + // The globally unique IP address + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The URL for this reserved IP + Href pulumi.StringPtrInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringPtrInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return i.ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) +} + +func (i IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput).ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs, IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtr and IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrInput` via: +// +// IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput + ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput +} + +type isBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrType IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs + +func IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtr(v *IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrInput { + return (*isBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrType) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrType) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp { + return &v + }).(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +// The globally unique IP address +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) ToIsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) Elem() IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) IsBareMetalServerPrimaryNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsBareMetalServerPrimaryNetworkInterfacePrimaryIp + return ret + }).(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) +} + +// The globally unique IP address +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerPrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerReservation struct { + // The CRN for this reservation. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsBareMetalServerReservationDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href *string `pulumi:"href"` + // The unique identifier for this reservation. + Id *string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerReservationInput is an input type that accepts IsBareMetalServerReservationArgs and IsBareMetalServerReservationOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationInput` via: +// +// IsBareMetalServerReservationArgs{...} +type IsBareMetalServerReservationInput interface { + pulumi.Input + + ToIsBareMetalServerReservationOutput() IsBareMetalServerReservationOutput + ToIsBareMetalServerReservationOutputWithContext(context.Context) IsBareMetalServerReservationOutput +} + +type IsBareMetalServerReservationArgs struct { + // The CRN for this reservation. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsBareMetalServerReservationDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservation)(nil)).Elem() +} + +func (i IsBareMetalServerReservationArgs) ToIsBareMetalServerReservationOutput() IsBareMetalServerReservationOutput { + return i.ToIsBareMetalServerReservationOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationArgs) ToIsBareMetalServerReservationOutputWithContext(ctx context.Context) IsBareMetalServerReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationOutput) +} + +// IsBareMetalServerReservationArrayInput is an input type that accepts IsBareMetalServerReservationArray and IsBareMetalServerReservationArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationArrayInput` via: +// +// IsBareMetalServerReservationArray{ IsBareMetalServerReservationArgs{...} } +type IsBareMetalServerReservationArrayInput interface { + pulumi.Input + + ToIsBareMetalServerReservationArrayOutput() IsBareMetalServerReservationArrayOutput + ToIsBareMetalServerReservationArrayOutputWithContext(context.Context) IsBareMetalServerReservationArrayOutput +} + +type IsBareMetalServerReservationArray []IsBareMetalServerReservationInput + +func (IsBareMetalServerReservationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservation)(nil)).Elem() +} + +func (i IsBareMetalServerReservationArray) ToIsBareMetalServerReservationArrayOutput() IsBareMetalServerReservationArrayOutput { + return i.ToIsBareMetalServerReservationArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationArray) ToIsBareMetalServerReservationArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationArrayOutput) +} + +type IsBareMetalServerReservationOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservation)(nil)).Elem() +} + +func (o IsBareMetalServerReservationOutput) ToIsBareMetalServerReservationOutput() IsBareMetalServerReservationOutput { + return o +} + +func (o IsBareMetalServerReservationOutput) ToIsBareMetalServerReservationOutputWithContext(ctx context.Context) IsBareMetalServerReservationOutput { + return o +} + +// The CRN for this reservation. +func (o IsBareMetalServerReservationOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservation) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsBareMetalServerReservationOutput) Deleteds() IsBareMetalServerReservationDeletedArrayOutput { + return o.ApplyT(func(v IsBareMetalServerReservation) []IsBareMetalServerReservationDeleted { return v.Deleteds }).(IsBareMetalServerReservationDeletedArrayOutput) +} + +// The URL for this reservation. +func (o IsBareMetalServerReservationOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservation) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reservation. +func (o IsBareMetalServerReservationOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservation) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o IsBareMetalServerReservationOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservation) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerReservationOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservation) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerReservationArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservation)(nil)).Elem() +} + +func (o IsBareMetalServerReservationArrayOutput) ToIsBareMetalServerReservationArrayOutput() IsBareMetalServerReservationArrayOutput { + return o +} + +func (o IsBareMetalServerReservationArrayOutput) ToIsBareMetalServerReservationArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationArrayOutput { + return o +} + +func (o IsBareMetalServerReservationArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerReservationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerReservation { + return vs[0].([]IsBareMetalServerReservation)[vs[1].(int)] + }).(IsBareMetalServerReservationOutput) +} + +type IsBareMetalServerReservationAffinity struct { + // The reservation affinity policy to use for this bare metal server. + Policy *string `pulumi:"policy"` + // The pool of reservations available for use by this bare metal server. + Pools []IsBareMetalServerReservationAffinityPool `pulumi:"pools"` +} + +// IsBareMetalServerReservationAffinityInput is an input type that accepts IsBareMetalServerReservationAffinityArgs and IsBareMetalServerReservationAffinityOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationAffinityInput` via: +// +// IsBareMetalServerReservationAffinityArgs{...} +type IsBareMetalServerReservationAffinityInput interface { + pulumi.Input + + ToIsBareMetalServerReservationAffinityOutput() IsBareMetalServerReservationAffinityOutput + ToIsBareMetalServerReservationAffinityOutputWithContext(context.Context) IsBareMetalServerReservationAffinityOutput +} + +type IsBareMetalServerReservationAffinityArgs struct { + // The reservation affinity policy to use for this bare metal server. + Policy pulumi.StringPtrInput `pulumi:"policy"` + // The pool of reservations available for use by this bare metal server. + Pools IsBareMetalServerReservationAffinityPoolArrayInput `pulumi:"pools"` +} + +func (IsBareMetalServerReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservationAffinity)(nil)).Elem() +} + +func (i IsBareMetalServerReservationAffinityArgs) ToIsBareMetalServerReservationAffinityOutput() IsBareMetalServerReservationAffinityOutput { + return i.ToIsBareMetalServerReservationAffinityOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationAffinityArgs) ToIsBareMetalServerReservationAffinityOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationAffinityOutput) +} + +// IsBareMetalServerReservationAffinityArrayInput is an input type that accepts IsBareMetalServerReservationAffinityArray and IsBareMetalServerReservationAffinityArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationAffinityArrayInput` via: +// +// IsBareMetalServerReservationAffinityArray{ IsBareMetalServerReservationAffinityArgs{...} } +type IsBareMetalServerReservationAffinityArrayInput interface { + pulumi.Input + + ToIsBareMetalServerReservationAffinityArrayOutput() IsBareMetalServerReservationAffinityArrayOutput + ToIsBareMetalServerReservationAffinityArrayOutputWithContext(context.Context) IsBareMetalServerReservationAffinityArrayOutput +} + +type IsBareMetalServerReservationAffinityArray []IsBareMetalServerReservationAffinityInput + +func (IsBareMetalServerReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservationAffinity)(nil)).Elem() +} + +func (i IsBareMetalServerReservationAffinityArray) ToIsBareMetalServerReservationAffinityArrayOutput() IsBareMetalServerReservationAffinityArrayOutput { + return i.ToIsBareMetalServerReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationAffinityArray) ToIsBareMetalServerReservationAffinityArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationAffinityArrayOutput) +} + +type IsBareMetalServerReservationAffinityOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservationAffinity)(nil)).Elem() +} + +func (o IsBareMetalServerReservationAffinityOutput) ToIsBareMetalServerReservationAffinityOutput() IsBareMetalServerReservationAffinityOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityOutput) ToIsBareMetalServerReservationAffinityOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this bare metal server. +func (o IsBareMetalServerReservationAffinityOutput) Policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinity) *string { return v.Policy }).(pulumi.StringPtrOutput) +} + +// The pool of reservations available for use by this bare metal server. +func (o IsBareMetalServerReservationAffinityOutput) Pools() IsBareMetalServerReservationAffinityPoolArrayOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinity) []IsBareMetalServerReservationAffinityPool { + return v.Pools + }).(IsBareMetalServerReservationAffinityPoolArrayOutput) +} + +type IsBareMetalServerReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservationAffinity)(nil)).Elem() +} + +func (o IsBareMetalServerReservationAffinityArrayOutput) ToIsBareMetalServerReservationAffinityArrayOutput() IsBareMetalServerReservationAffinityArrayOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityArrayOutput) ToIsBareMetalServerReservationAffinityArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityArrayOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerReservationAffinity { + return vs[0].([]IsBareMetalServerReservationAffinity)[vs[1].(int)] + }).(IsBareMetalServerReservationAffinityOutput) +} + +type IsBareMetalServerReservationAffinityPool struct { + // The CRN for this reservation. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsBareMetalServerReservationAffinityPoolDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href *string `pulumi:"href"` + // The unique identifier for this reservation. + Id *string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsBareMetalServerReservationAffinityPoolInput is an input type that accepts IsBareMetalServerReservationAffinityPoolArgs and IsBareMetalServerReservationAffinityPoolOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationAffinityPoolInput` via: +// +// IsBareMetalServerReservationAffinityPoolArgs{...} +type IsBareMetalServerReservationAffinityPoolInput interface { + pulumi.Input + + ToIsBareMetalServerReservationAffinityPoolOutput() IsBareMetalServerReservationAffinityPoolOutput + ToIsBareMetalServerReservationAffinityPoolOutputWithContext(context.Context) IsBareMetalServerReservationAffinityPoolOutput +} + +type IsBareMetalServerReservationAffinityPoolArgs struct { + // The CRN for this reservation. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsBareMetalServerReservationAffinityPoolDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsBareMetalServerReservationAffinityPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservationAffinityPool)(nil)).Elem() +} + +func (i IsBareMetalServerReservationAffinityPoolArgs) ToIsBareMetalServerReservationAffinityPoolOutput() IsBareMetalServerReservationAffinityPoolOutput { + return i.ToIsBareMetalServerReservationAffinityPoolOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationAffinityPoolArgs) ToIsBareMetalServerReservationAffinityPoolOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationAffinityPoolOutput) +} + +// IsBareMetalServerReservationAffinityPoolArrayInput is an input type that accepts IsBareMetalServerReservationAffinityPoolArray and IsBareMetalServerReservationAffinityPoolArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationAffinityPoolArrayInput` via: +// +// IsBareMetalServerReservationAffinityPoolArray{ IsBareMetalServerReservationAffinityPoolArgs{...} } +type IsBareMetalServerReservationAffinityPoolArrayInput interface { + pulumi.Input + + ToIsBareMetalServerReservationAffinityPoolArrayOutput() IsBareMetalServerReservationAffinityPoolArrayOutput + ToIsBareMetalServerReservationAffinityPoolArrayOutputWithContext(context.Context) IsBareMetalServerReservationAffinityPoolArrayOutput +} + +type IsBareMetalServerReservationAffinityPoolArray []IsBareMetalServerReservationAffinityPoolInput + +func (IsBareMetalServerReservationAffinityPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservationAffinityPool)(nil)).Elem() +} + +func (i IsBareMetalServerReservationAffinityPoolArray) ToIsBareMetalServerReservationAffinityPoolArrayOutput() IsBareMetalServerReservationAffinityPoolArrayOutput { + return i.ToIsBareMetalServerReservationAffinityPoolArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationAffinityPoolArray) ToIsBareMetalServerReservationAffinityPoolArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationAffinityPoolArrayOutput) +} + +type IsBareMetalServerReservationAffinityPoolOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationAffinityPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservationAffinityPool)(nil)).Elem() +} + +func (o IsBareMetalServerReservationAffinityPoolOutput) ToIsBareMetalServerReservationAffinityPoolOutput() IsBareMetalServerReservationAffinityPoolOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityPoolOutput) ToIsBareMetalServerReservationAffinityPoolOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityPoolOutput { + return o +} + +// The CRN for this reservation. +func (o IsBareMetalServerReservationAffinityPoolOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinityPool) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsBareMetalServerReservationAffinityPoolOutput) Deleteds() IsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinityPool) []IsBareMetalServerReservationAffinityPoolDeleted { + return v.Deleteds + }).(IsBareMetalServerReservationAffinityPoolDeletedArrayOutput) +} + +// The URL for this reservation. +func (o IsBareMetalServerReservationAffinityPoolOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinityPool) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reservation. +func (o IsBareMetalServerReservationAffinityPoolOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinityPool) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o IsBareMetalServerReservationAffinityPoolOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinityPool) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsBareMetalServerReservationAffinityPoolOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinityPool) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerReservationAffinityPoolArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationAffinityPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservationAffinityPool)(nil)).Elem() +} + +func (o IsBareMetalServerReservationAffinityPoolArrayOutput) ToIsBareMetalServerReservationAffinityPoolArrayOutput() IsBareMetalServerReservationAffinityPoolArrayOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityPoolArrayOutput) ToIsBareMetalServerReservationAffinityPoolArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityPoolArrayOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityPoolArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerReservationAffinityPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerReservationAffinityPool { + return vs[0].([]IsBareMetalServerReservationAffinityPool)[vs[1].(int)] + }).(IsBareMetalServerReservationAffinityPoolOutput) +} + +type IsBareMetalServerReservationAffinityPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerReservationAffinityPoolDeletedInput is an input type that accepts IsBareMetalServerReservationAffinityPoolDeletedArgs and IsBareMetalServerReservationAffinityPoolDeletedOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationAffinityPoolDeletedInput` via: +// +// IsBareMetalServerReservationAffinityPoolDeletedArgs{...} +type IsBareMetalServerReservationAffinityPoolDeletedInput interface { + pulumi.Input + + ToIsBareMetalServerReservationAffinityPoolDeletedOutput() IsBareMetalServerReservationAffinityPoolDeletedOutput + ToIsBareMetalServerReservationAffinityPoolDeletedOutputWithContext(context.Context) IsBareMetalServerReservationAffinityPoolDeletedOutput +} + +type IsBareMetalServerReservationAffinityPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerReservationAffinityPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerReservationAffinityPoolDeletedArgs) ToIsBareMetalServerReservationAffinityPoolDeletedOutput() IsBareMetalServerReservationAffinityPoolDeletedOutput { + return i.ToIsBareMetalServerReservationAffinityPoolDeletedOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationAffinityPoolDeletedArgs) ToIsBareMetalServerReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationAffinityPoolDeletedOutput) +} + +// IsBareMetalServerReservationAffinityPoolDeletedArrayInput is an input type that accepts IsBareMetalServerReservationAffinityPoolDeletedArray and IsBareMetalServerReservationAffinityPoolDeletedArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationAffinityPoolDeletedArrayInput` via: +// +// IsBareMetalServerReservationAffinityPoolDeletedArray{ IsBareMetalServerReservationAffinityPoolDeletedArgs{...} } +type IsBareMetalServerReservationAffinityPoolDeletedArrayInput interface { + pulumi.Input + + ToIsBareMetalServerReservationAffinityPoolDeletedArrayOutput() IsBareMetalServerReservationAffinityPoolDeletedArrayOutput + ToIsBareMetalServerReservationAffinityPoolDeletedArrayOutputWithContext(context.Context) IsBareMetalServerReservationAffinityPoolDeletedArrayOutput +} + +type IsBareMetalServerReservationAffinityPoolDeletedArray []IsBareMetalServerReservationAffinityPoolDeletedInput + +func (IsBareMetalServerReservationAffinityPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerReservationAffinityPoolDeletedArray) ToIsBareMetalServerReservationAffinityPoolDeletedArrayOutput() IsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return i.ToIsBareMetalServerReservationAffinityPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationAffinityPoolDeletedArray) ToIsBareMetalServerReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationAffinityPoolDeletedArrayOutput) +} + +type IsBareMetalServerReservationAffinityPoolDeletedOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationAffinityPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerReservationAffinityPoolDeletedOutput) ToIsBareMetalServerReservationAffinityPoolDeletedOutput() IsBareMetalServerReservationAffinityPoolDeletedOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityPoolDeletedOutput) ToIsBareMetalServerReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsBareMetalServerReservationAffinityPoolDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservationAffinityPoolDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerReservationAffinityPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationAffinityPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerReservationAffinityPoolDeletedArrayOutput) ToIsBareMetalServerReservationAffinityPoolDeletedArrayOutput() IsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityPoolDeletedArrayOutput) ToIsBareMetalServerReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerReservationAffinityPoolDeletedArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerReservationAffinityPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerReservationAffinityPoolDeleted { + return vs[0].([]IsBareMetalServerReservationAffinityPoolDeleted)[vs[1].(int)] + }).(IsBareMetalServerReservationAffinityPoolDeletedOutput) +} + +type IsBareMetalServerReservationDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerReservationDeletedInput is an input type that accepts IsBareMetalServerReservationDeletedArgs and IsBareMetalServerReservationDeletedOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationDeletedInput` via: +// +// IsBareMetalServerReservationDeletedArgs{...} +type IsBareMetalServerReservationDeletedInput interface { + pulumi.Input + + ToIsBareMetalServerReservationDeletedOutput() IsBareMetalServerReservationDeletedOutput + ToIsBareMetalServerReservationDeletedOutputWithContext(context.Context) IsBareMetalServerReservationDeletedOutput +} + +type IsBareMetalServerReservationDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerReservationDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservationDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerReservationDeletedArgs) ToIsBareMetalServerReservationDeletedOutput() IsBareMetalServerReservationDeletedOutput { + return i.ToIsBareMetalServerReservationDeletedOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationDeletedArgs) ToIsBareMetalServerReservationDeletedOutputWithContext(ctx context.Context) IsBareMetalServerReservationDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationDeletedOutput) +} + +// IsBareMetalServerReservationDeletedArrayInput is an input type that accepts IsBareMetalServerReservationDeletedArray and IsBareMetalServerReservationDeletedArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerReservationDeletedArrayInput` via: +// +// IsBareMetalServerReservationDeletedArray{ IsBareMetalServerReservationDeletedArgs{...} } +type IsBareMetalServerReservationDeletedArrayInput interface { + pulumi.Input + + ToIsBareMetalServerReservationDeletedArrayOutput() IsBareMetalServerReservationDeletedArrayOutput + ToIsBareMetalServerReservationDeletedArrayOutputWithContext(context.Context) IsBareMetalServerReservationDeletedArrayOutput +} + +type IsBareMetalServerReservationDeletedArray []IsBareMetalServerReservationDeletedInput + +func (IsBareMetalServerReservationDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservationDeleted)(nil)).Elem() +} + +func (i IsBareMetalServerReservationDeletedArray) ToIsBareMetalServerReservationDeletedArrayOutput() IsBareMetalServerReservationDeletedArrayOutput { + return i.ToIsBareMetalServerReservationDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerReservationDeletedArray) ToIsBareMetalServerReservationDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerReservationDeletedArrayOutput) +} + +type IsBareMetalServerReservationDeletedOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerReservationDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerReservationDeletedOutput) ToIsBareMetalServerReservationDeletedOutput() IsBareMetalServerReservationDeletedOutput { + return o +} + +func (o IsBareMetalServerReservationDeletedOutput) ToIsBareMetalServerReservationDeletedOutputWithContext(ctx context.Context) IsBareMetalServerReservationDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsBareMetalServerReservationDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerReservationDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerReservationDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerReservationDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerReservationDeleted)(nil)).Elem() +} + +func (o IsBareMetalServerReservationDeletedArrayOutput) ToIsBareMetalServerReservationDeletedArrayOutput() IsBareMetalServerReservationDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerReservationDeletedArrayOutput) ToIsBareMetalServerReservationDeletedArrayOutputWithContext(ctx context.Context) IsBareMetalServerReservationDeletedArrayOutput { + return o +} + +func (o IsBareMetalServerReservationDeletedArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerReservationDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerReservationDeleted { + return vs[0].([]IsBareMetalServerReservationDeleted)[vs[1].(int)] + }).(IsBareMetalServerReservationDeletedOutput) +} + +type IsBareMetalServerStatusReason struct { + // A snake case string succinctly identifying the status reason + Code *string `pulumi:"code"` + // An explanation of the status reason + Message *string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsBareMetalServerStatusReasonInput is an input type that accepts IsBareMetalServerStatusReasonArgs and IsBareMetalServerStatusReasonOutput values. +// You can construct a concrete instance of `IsBareMetalServerStatusReasonInput` via: +// +// IsBareMetalServerStatusReasonArgs{...} +type IsBareMetalServerStatusReasonInput interface { + pulumi.Input + + ToIsBareMetalServerStatusReasonOutput() IsBareMetalServerStatusReasonOutput + ToIsBareMetalServerStatusReasonOutputWithContext(context.Context) IsBareMetalServerStatusReasonOutput +} + +type IsBareMetalServerStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsBareMetalServerStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerStatusReason)(nil)).Elem() +} + +func (i IsBareMetalServerStatusReasonArgs) ToIsBareMetalServerStatusReasonOutput() IsBareMetalServerStatusReasonOutput { + return i.ToIsBareMetalServerStatusReasonOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerStatusReasonArgs) ToIsBareMetalServerStatusReasonOutputWithContext(ctx context.Context) IsBareMetalServerStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerStatusReasonOutput) +} + +// IsBareMetalServerStatusReasonArrayInput is an input type that accepts IsBareMetalServerStatusReasonArray and IsBareMetalServerStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsBareMetalServerStatusReasonArrayInput` via: +// +// IsBareMetalServerStatusReasonArray{ IsBareMetalServerStatusReasonArgs{...} } +type IsBareMetalServerStatusReasonArrayInput interface { + pulumi.Input + + ToIsBareMetalServerStatusReasonArrayOutput() IsBareMetalServerStatusReasonArrayOutput + ToIsBareMetalServerStatusReasonArrayOutputWithContext(context.Context) IsBareMetalServerStatusReasonArrayOutput +} + +type IsBareMetalServerStatusReasonArray []IsBareMetalServerStatusReasonInput + +func (IsBareMetalServerStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerStatusReason)(nil)).Elem() +} + +func (i IsBareMetalServerStatusReasonArray) ToIsBareMetalServerStatusReasonArrayOutput() IsBareMetalServerStatusReasonArrayOutput { + return i.ToIsBareMetalServerStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerStatusReasonArray) ToIsBareMetalServerStatusReasonArrayOutputWithContext(ctx context.Context) IsBareMetalServerStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerStatusReasonArrayOutput) +} + +type IsBareMetalServerStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerStatusReason)(nil)).Elem() +} + +func (o IsBareMetalServerStatusReasonOutput) ToIsBareMetalServerStatusReasonOutput() IsBareMetalServerStatusReasonOutput { + return o +} + +func (o IsBareMetalServerStatusReasonOutput) ToIsBareMetalServerStatusReasonOutputWithContext(ctx context.Context) IsBareMetalServerStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o IsBareMetalServerStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason +func (o IsBareMetalServerStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason +func (o IsBareMetalServerStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsBareMetalServerStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsBareMetalServerStatusReason)(nil)).Elem() +} + +func (o IsBareMetalServerStatusReasonArrayOutput) ToIsBareMetalServerStatusReasonArrayOutput() IsBareMetalServerStatusReasonArrayOutput { + return o +} + +func (o IsBareMetalServerStatusReasonArrayOutput) ToIsBareMetalServerStatusReasonArrayOutputWithContext(ctx context.Context) IsBareMetalServerStatusReasonArrayOutput { + return o +} + +func (o IsBareMetalServerStatusReasonArrayOutput) Index(i pulumi.IntInput) IsBareMetalServerStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsBareMetalServerStatusReason { + return vs[0].([]IsBareMetalServerStatusReason)[vs[1].(int)] + }).(IsBareMetalServerStatusReasonOutput) +} + +type IsBareMetalServerTrustedPlatformModule struct { + // Indicates whether the trusted platform module is enabled. + Enabled *bool `pulumi:"enabled"` + // The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes + Mode *string `pulumi:"mode"` + // The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] + SupportedModes []string `pulumi:"supportedModes"` +} + +// IsBareMetalServerTrustedPlatformModuleInput is an input type that accepts IsBareMetalServerTrustedPlatformModuleArgs and IsBareMetalServerTrustedPlatformModuleOutput values. +// You can construct a concrete instance of `IsBareMetalServerTrustedPlatformModuleInput` via: +// +// IsBareMetalServerTrustedPlatformModuleArgs{...} +type IsBareMetalServerTrustedPlatformModuleInput interface { + pulumi.Input + + ToIsBareMetalServerTrustedPlatformModuleOutput() IsBareMetalServerTrustedPlatformModuleOutput + ToIsBareMetalServerTrustedPlatformModuleOutputWithContext(context.Context) IsBareMetalServerTrustedPlatformModuleOutput +} + +type IsBareMetalServerTrustedPlatformModuleArgs struct { + // Indicates whether the trusted platform module is enabled. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes + Mode pulumi.StringPtrInput `pulumi:"mode"` + // The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] + SupportedModes pulumi.StringArrayInput `pulumi:"supportedModes"` +} + +func (IsBareMetalServerTrustedPlatformModuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerTrustedPlatformModule)(nil)).Elem() +} + +func (i IsBareMetalServerTrustedPlatformModuleArgs) ToIsBareMetalServerTrustedPlatformModuleOutput() IsBareMetalServerTrustedPlatformModuleOutput { + return i.ToIsBareMetalServerTrustedPlatformModuleOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerTrustedPlatformModuleArgs) ToIsBareMetalServerTrustedPlatformModuleOutputWithContext(ctx context.Context) IsBareMetalServerTrustedPlatformModuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerTrustedPlatformModuleOutput) +} + +func (i IsBareMetalServerTrustedPlatformModuleArgs) ToIsBareMetalServerTrustedPlatformModulePtrOutput() IsBareMetalServerTrustedPlatformModulePtrOutput { + return i.ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(context.Background()) +} + +func (i IsBareMetalServerTrustedPlatformModuleArgs) ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(ctx context.Context) IsBareMetalServerTrustedPlatformModulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerTrustedPlatformModuleOutput).ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(ctx) +} + +// IsBareMetalServerTrustedPlatformModulePtrInput is an input type that accepts IsBareMetalServerTrustedPlatformModuleArgs, IsBareMetalServerTrustedPlatformModulePtr and IsBareMetalServerTrustedPlatformModulePtrOutput values. +// You can construct a concrete instance of `IsBareMetalServerTrustedPlatformModulePtrInput` via: +// +// IsBareMetalServerTrustedPlatformModuleArgs{...} +// +// or: +// +// nil +type IsBareMetalServerTrustedPlatformModulePtrInput interface { + pulumi.Input + + ToIsBareMetalServerTrustedPlatformModulePtrOutput() IsBareMetalServerTrustedPlatformModulePtrOutput + ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(context.Context) IsBareMetalServerTrustedPlatformModulePtrOutput +} + +type isBareMetalServerTrustedPlatformModulePtrType IsBareMetalServerTrustedPlatformModuleArgs + +func IsBareMetalServerTrustedPlatformModulePtr(v *IsBareMetalServerTrustedPlatformModuleArgs) IsBareMetalServerTrustedPlatformModulePtrInput { + return (*isBareMetalServerTrustedPlatformModulePtrType)(v) +} + +func (*isBareMetalServerTrustedPlatformModulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerTrustedPlatformModule)(nil)).Elem() +} + +func (i *isBareMetalServerTrustedPlatformModulePtrType) ToIsBareMetalServerTrustedPlatformModulePtrOutput() IsBareMetalServerTrustedPlatformModulePtrOutput { + return i.ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(context.Background()) +} + +func (i *isBareMetalServerTrustedPlatformModulePtrType) ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(ctx context.Context) IsBareMetalServerTrustedPlatformModulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsBareMetalServerTrustedPlatformModulePtrOutput) +} + +type IsBareMetalServerTrustedPlatformModuleOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerTrustedPlatformModuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsBareMetalServerTrustedPlatformModule)(nil)).Elem() +} + +func (o IsBareMetalServerTrustedPlatformModuleOutput) ToIsBareMetalServerTrustedPlatformModuleOutput() IsBareMetalServerTrustedPlatformModuleOutput { + return o +} + +func (o IsBareMetalServerTrustedPlatformModuleOutput) ToIsBareMetalServerTrustedPlatformModuleOutputWithContext(ctx context.Context) IsBareMetalServerTrustedPlatformModuleOutput { + return o +} + +func (o IsBareMetalServerTrustedPlatformModuleOutput) ToIsBareMetalServerTrustedPlatformModulePtrOutput() IsBareMetalServerTrustedPlatformModulePtrOutput { + return o.ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(context.Background()) +} + +func (o IsBareMetalServerTrustedPlatformModuleOutput) ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(ctx context.Context) IsBareMetalServerTrustedPlatformModulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsBareMetalServerTrustedPlatformModule) *IsBareMetalServerTrustedPlatformModule { + return &v + }).(IsBareMetalServerTrustedPlatformModulePtrOutput) +} + +// Indicates whether the trusted platform module is enabled. +func (o IsBareMetalServerTrustedPlatformModuleOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsBareMetalServerTrustedPlatformModule) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes +func (o IsBareMetalServerTrustedPlatformModuleOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsBareMetalServerTrustedPlatformModule) *string { return v.Mode }).(pulumi.StringPtrOutput) +} + +// The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] +func (o IsBareMetalServerTrustedPlatformModuleOutput) SupportedModes() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsBareMetalServerTrustedPlatformModule) []string { return v.SupportedModes }).(pulumi.StringArrayOutput) +} + +type IsBareMetalServerTrustedPlatformModulePtrOutput struct{ *pulumi.OutputState } + +func (IsBareMetalServerTrustedPlatformModulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsBareMetalServerTrustedPlatformModule)(nil)).Elem() +} + +func (o IsBareMetalServerTrustedPlatformModulePtrOutput) ToIsBareMetalServerTrustedPlatformModulePtrOutput() IsBareMetalServerTrustedPlatformModulePtrOutput { + return o +} + +func (o IsBareMetalServerTrustedPlatformModulePtrOutput) ToIsBareMetalServerTrustedPlatformModulePtrOutputWithContext(ctx context.Context) IsBareMetalServerTrustedPlatformModulePtrOutput { + return o +} + +func (o IsBareMetalServerTrustedPlatformModulePtrOutput) Elem() IsBareMetalServerTrustedPlatformModuleOutput { + return o.ApplyT(func(v *IsBareMetalServerTrustedPlatformModule) IsBareMetalServerTrustedPlatformModule { + if v != nil { + return *v + } + var ret IsBareMetalServerTrustedPlatformModule + return ret + }).(IsBareMetalServerTrustedPlatformModuleOutput) +} + +// Indicates whether the trusted platform module is enabled. +func (o IsBareMetalServerTrustedPlatformModulePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerTrustedPlatformModule) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes +func (o IsBareMetalServerTrustedPlatformModulePtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsBareMetalServerTrustedPlatformModule) *string { + if v == nil { + return nil + } + return v.Mode + }).(pulumi.StringPtrOutput) +} + +// The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] +func (o IsBareMetalServerTrustedPlatformModulePtrOutput) SupportedModes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsBareMetalServerTrustedPlatformModule) []string { + if v == nil { + return nil + } + return v.SupportedModes + }).(pulumi.StringArrayOutput) +} + +type IsClusterNetworkInterfaceLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkInterfaceLifecycleReasonInput is an input type that accepts IsClusterNetworkInterfaceLifecycleReasonArgs and IsClusterNetworkInterfaceLifecycleReasonOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceLifecycleReasonInput` via: +// +// IsClusterNetworkInterfaceLifecycleReasonArgs{...} +type IsClusterNetworkInterfaceLifecycleReasonInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceLifecycleReasonOutput() IsClusterNetworkInterfaceLifecycleReasonOutput + ToIsClusterNetworkInterfaceLifecycleReasonOutputWithContext(context.Context) IsClusterNetworkInterfaceLifecycleReasonOutput +} + +type IsClusterNetworkInterfaceLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkInterfaceLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceLifecycleReason)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceLifecycleReasonArgs) ToIsClusterNetworkInterfaceLifecycleReasonOutput() IsClusterNetworkInterfaceLifecycleReasonOutput { + return i.ToIsClusterNetworkInterfaceLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceLifecycleReasonArgs) ToIsClusterNetworkInterfaceLifecycleReasonOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceLifecycleReasonOutput) +} + +// IsClusterNetworkInterfaceLifecycleReasonArrayInput is an input type that accepts IsClusterNetworkInterfaceLifecycleReasonArray and IsClusterNetworkInterfaceLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceLifecycleReasonArrayInput` via: +// +// IsClusterNetworkInterfaceLifecycleReasonArray{ IsClusterNetworkInterfaceLifecycleReasonArgs{...} } +type IsClusterNetworkInterfaceLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceLifecycleReasonArrayOutput() IsClusterNetworkInterfaceLifecycleReasonArrayOutput + ToIsClusterNetworkInterfaceLifecycleReasonArrayOutputWithContext(context.Context) IsClusterNetworkInterfaceLifecycleReasonArrayOutput +} + +type IsClusterNetworkInterfaceLifecycleReasonArray []IsClusterNetworkInterfaceLifecycleReasonInput + +func (IsClusterNetworkInterfaceLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceLifecycleReason)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceLifecycleReasonArray) ToIsClusterNetworkInterfaceLifecycleReasonArrayOutput() IsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return i.ToIsClusterNetworkInterfaceLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceLifecycleReasonArray) ToIsClusterNetworkInterfaceLifecycleReasonArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceLifecycleReasonArrayOutput) +} + +type IsClusterNetworkInterfaceLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceLifecycleReason)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceLifecycleReasonOutput) ToIsClusterNetworkInterfaceLifecycleReasonOutput() IsClusterNetworkInterfaceLifecycleReasonOutput { + return o +} + +func (o IsClusterNetworkInterfaceLifecycleReasonOutput) ToIsClusterNetworkInterfaceLifecycleReasonOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsClusterNetworkInterfaceLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsClusterNetworkInterfaceLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsClusterNetworkInterfaceLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfaceLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceLifecycleReason)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceLifecycleReasonArrayOutput) ToIsClusterNetworkInterfaceLifecycleReasonArrayOutput() IsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceLifecycleReasonArrayOutput) ToIsClusterNetworkInterfaceLifecycleReasonArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkInterfaceLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkInterfaceLifecycleReason { + return vs[0].([]IsClusterNetworkInterfaceLifecycleReason)[vs[1].(int)] + }).(IsClusterNetworkInterfaceLifecycleReasonOutput) +} + +type IsClusterNetworkInterfacePrimaryIp struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address *string `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either target is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsClusterNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id *string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsClusterNetworkInterfacePrimaryIpInput is an input type that accepts IsClusterNetworkInterfacePrimaryIpArgs and IsClusterNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfacePrimaryIpInput` via: +// +// IsClusterNetworkInterfacePrimaryIpArgs{...} +type IsClusterNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsClusterNetworkInterfacePrimaryIpOutput() IsClusterNetworkInterfacePrimaryIpOutput + ToIsClusterNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsClusterNetworkInterfacePrimaryIpOutput +} + +type IsClusterNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either target is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsClusterNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsClusterNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsClusterNetworkInterfacePrimaryIpArgs) ToIsClusterNetworkInterfacePrimaryIpOutput() IsClusterNetworkInterfacePrimaryIpOutput { + return i.ToIsClusterNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfacePrimaryIpArgs) ToIsClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfacePrimaryIpOutput) +} + +func (i IsClusterNetworkInterfacePrimaryIpArgs) ToIsClusterNetworkInterfacePrimaryIpPtrOutput() IsClusterNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfacePrimaryIpArgs) ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfacePrimaryIpOutput).ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsClusterNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsClusterNetworkInterfacePrimaryIpArgs, IsClusterNetworkInterfacePrimaryIpPtr and IsClusterNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfacePrimaryIpPtrInput` via: +// +// IsClusterNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsClusterNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsClusterNetworkInterfacePrimaryIpPtrOutput() IsClusterNetworkInterfacePrimaryIpPtrOutput + ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsClusterNetworkInterfacePrimaryIpPtrOutput +} + +type isClusterNetworkInterfacePrimaryIpPtrType IsClusterNetworkInterfacePrimaryIpArgs + +func IsClusterNetworkInterfacePrimaryIpPtr(v *IsClusterNetworkInterfacePrimaryIpArgs) IsClusterNetworkInterfacePrimaryIpPtrInput { + return (*isClusterNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isClusterNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isClusterNetworkInterfacePrimaryIpPtrType) ToIsClusterNetworkInterfacePrimaryIpPtrOutput() IsClusterNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isClusterNetworkInterfacePrimaryIpPtrType) ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfacePrimaryIpPtrOutput) +} + +type IsClusterNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsClusterNetworkInterfacePrimaryIpOutput) ToIsClusterNetworkInterfacePrimaryIpOutput() IsClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsClusterNetworkInterfacePrimaryIpOutput) ToIsClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsClusterNetworkInterfacePrimaryIpOutput) ToIsClusterNetworkInterfacePrimaryIpPtrOutput() IsClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsClusterNetworkInterfacePrimaryIpOutput) ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsClusterNetworkInterfacePrimaryIp) *IsClusterNetworkInterfacePrimaryIp { + return &v + }).(IsClusterNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o IsClusterNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either target is deleted, or the cluster network subnet reserved IP is unbound. +func (o IsClusterNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsClusterNetworkInterfacePrimaryIpOutput) Deleteds() IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsClusterNetworkInterfacePrimaryIp) []IsClusterNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o IsClusterNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o IsClusterNetworkInterfacePrimaryIpOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfacePrimaryIp) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o IsClusterNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) ToIsClusterNetworkInterfacePrimaryIpPtrOutput() IsClusterNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) ToIsClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) Elem() IsClusterNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfacePrimaryIp) IsClusterNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsClusterNetworkInterfacePrimaryIp + return ret + }).(IsClusterNetworkInterfacePrimaryIpOutput) +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either target is deleted, or the cluster network subnet reserved IP is unbound. +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) Deleteds() IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfacePrimaryIp) []IsClusterNetworkInterfacePrimaryIpDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsClusterNetworkInterfacePrimaryIpDeletedArgs and IsClusterNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsClusterNetworkInterfacePrimaryIpDeletedArgs{...} +type IsClusterNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsClusterNetworkInterfacePrimaryIpDeletedOutput() IsClusterNetworkInterfacePrimaryIpDeletedOutput + ToIsClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsClusterNetworkInterfacePrimaryIpDeletedOutput +} + +type IsClusterNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkInterfacePrimaryIpDeletedArgs) ToIsClusterNetworkInterfacePrimaryIpDeletedOutput() IsClusterNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfacePrimaryIpDeletedArgs) ToIsClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsClusterNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsClusterNetworkInterfacePrimaryIpDeletedArray and IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsClusterNetworkInterfacePrimaryIpDeletedArray{ IsClusterNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsClusterNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput() IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsClusterNetworkInterfacePrimaryIpDeletedArray []IsClusterNetworkInterfacePrimaryIpDeletedInput + +func (IsClusterNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkInterfacePrimaryIpDeletedArray) ToIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput() IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfacePrimaryIpDeletedArray) ToIsClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsClusterNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkInterfacePrimaryIpDeletedOutput) ToIsClusterNetworkInterfacePrimaryIpDeletedOutput() IsClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsClusterNetworkInterfacePrimaryIpDeletedOutput) ToIsClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsClusterNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfacePrimaryIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput() IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsClusterNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsClusterNetworkInterfaceSubnet struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsClusterNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id *string `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsClusterNetworkInterfaceSubnetInput is an input type that accepts IsClusterNetworkInterfaceSubnetArgs and IsClusterNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceSubnetInput` via: +// +// IsClusterNetworkInterfaceSubnetArgs{...} +type IsClusterNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceSubnetOutput() IsClusterNetworkInterfaceSubnetOutput + ToIsClusterNetworkInterfaceSubnetOutputWithContext(context.Context) IsClusterNetworkInterfaceSubnetOutput +} + +type IsClusterNetworkInterfaceSubnetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsClusterNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsClusterNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceSubnetArgs) ToIsClusterNetworkInterfaceSubnetOutput() IsClusterNetworkInterfaceSubnetOutput { + return i.ToIsClusterNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceSubnetArgs) ToIsClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceSubnetOutput) +} + +func (i IsClusterNetworkInterfaceSubnetArgs) ToIsClusterNetworkInterfaceSubnetPtrOutput() IsClusterNetworkInterfaceSubnetPtrOutput { + return i.ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceSubnetArgs) ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceSubnetOutput).ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx) +} + +// IsClusterNetworkInterfaceSubnetPtrInput is an input type that accepts IsClusterNetworkInterfaceSubnetArgs, IsClusterNetworkInterfaceSubnetPtr and IsClusterNetworkInterfaceSubnetPtrOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceSubnetPtrInput` via: +// +// IsClusterNetworkInterfaceSubnetArgs{...} +// +// or: +// +// nil +type IsClusterNetworkInterfaceSubnetPtrInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceSubnetPtrOutput() IsClusterNetworkInterfaceSubnetPtrOutput + ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Context) IsClusterNetworkInterfaceSubnetPtrOutput +} + +type isClusterNetworkInterfaceSubnetPtrType IsClusterNetworkInterfaceSubnetArgs + +func IsClusterNetworkInterfaceSubnetPtr(v *IsClusterNetworkInterfaceSubnetArgs) IsClusterNetworkInterfaceSubnetPtrInput { + return (*isClusterNetworkInterfaceSubnetPtrType)(v) +} + +func (*isClusterNetworkInterfaceSubnetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i *isClusterNetworkInterfaceSubnetPtrType) ToIsClusterNetworkInterfaceSubnetPtrOutput() IsClusterNetworkInterfaceSubnetPtrOutput { + return i.ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (i *isClusterNetworkInterfaceSubnetPtrType) ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceSubnetPtrOutput) +} + +type IsClusterNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceSubnetOutput) ToIsClusterNetworkInterfaceSubnetOutput() IsClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o IsClusterNetworkInterfaceSubnetOutput) ToIsClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o IsClusterNetworkInterfaceSubnetOutput) ToIsClusterNetworkInterfaceSubnetPtrOutput() IsClusterNetworkInterfaceSubnetPtrOutput { + return o.ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (o IsClusterNetworkInterfaceSubnetOutput) ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsClusterNetworkInterfaceSubnet) *IsClusterNetworkInterfaceSubnet { + return &v + }).(IsClusterNetworkInterfaceSubnetPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsClusterNetworkInterfaceSubnetOutput) Deleteds() IsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceSubnet) []IsClusterNetworkInterfaceSubnetDeleted { return v.Deleteds }).(IsClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this cluster network subnet. +func (o IsClusterNetworkInterfaceSubnetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceSubnet) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet. +func (o IsClusterNetworkInterfaceSubnetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o IsClusterNetworkInterfaceSubnetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkInterfaceSubnetOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceSubnet) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfaceSubnetPtrOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceSubnetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceSubnetPtrOutput) ToIsClusterNetworkInterfaceSubnetPtrOutput() IsClusterNetworkInterfaceSubnetPtrOutput { + return o +} + +func (o IsClusterNetworkInterfaceSubnetPtrOutput) ToIsClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetPtrOutput { + return o +} + +func (o IsClusterNetworkInterfaceSubnetPtrOutput) Elem() IsClusterNetworkInterfaceSubnetOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfaceSubnet) IsClusterNetworkInterfaceSubnet { + if v != nil { + return *v + } + var ret IsClusterNetworkInterfaceSubnet + return ret + }).(IsClusterNetworkInterfaceSubnetOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsClusterNetworkInterfaceSubnetPtrOutput) Deleteds() IsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfaceSubnet) []IsClusterNetworkInterfaceSubnetDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this cluster network subnet. +func (o IsClusterNetworkInterfaceSubnetPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet. +func (o IsClusterNetworkInterfaceSubnetPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o IsClusterNetworkInterfaceSubnetPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkInterfaceSubnetPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkInterfaceSubnetDeletedInput is an input type that accepts IsClusterNetworkInterfaceSubnetDeletedArgs and IsClusterNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceSubnetDeletedInput` via: +// +// IsClusterNetworkInterfaceSubnetDeletedArgs{...} +type IsClusterNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceSubnetDeletedOutput() IsClusterNetworkInterfaceSubnetDeletedOutput + ToIsClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) IsClusterNetworkInterfaceSubnetDeletedOutput +} + +type IsClusterNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceSubnetDeletedArgs) ToIsClusterNetworkInterfaceSubnetDeletedOutput() IsClusterNetworkInterfaceSubnetDeletedOutput { + return i.ToIsClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceSubnetDeletedArgs) ToIsClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceSubnetDeletedOutput) +} + +// IsClusterNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts IsClusterNetworkInterfaceSubnetDeletedArray and IsClusterNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceSubnetDeletedArrayInput` via: +// +// IsClusterNetworkInterfaceSubnetDeletedArray{ IsClusterNetworkInterfaceSubnetDeletedArgs{...} } +type IsClusterNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceSubnetDeletedArrayOutput() IsClusterNetworkInterfaceSubnetDeletedArrayOutput + ToIsClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) IsClusterNetworkInterfaceSubnetDeletedArrayOutput +} + +type IsClusterNetworkInterfaceSubnetDeletedArray []IsClusterNetworkInterfaceSubnetDeletedInput + +func (IsClusterNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceSubnetDeletedArray) ToIsClusterNetworkInterfaceSubnetDeletedArrayOutput() IsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToIsClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceSubnetDeletedArray) ToIsClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +type IsClusterNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceSubnetDeletedOutput) ToIsClusterNetworkInterfaceSubnetDeletedOutput() IsClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o IsClusterNetworkInterfaceSubnetDeletedOutput) ToIsClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsClusterNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceSubnetDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceSubnetDeletedArrayOutput) ToIsClusterNetworkInterfaceSubnetDeletedArrayOutput() IsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceSubnetDeletedArrayOutput) ToIsClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkInterfaceSubnetDeleted { + return vs[0].([]IsClusterNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(IsClusterNetworkInterfaceSubnetDeletedOutput) +} + +type IsClusterNetworkInterfaceTarget struct { + // The URL for this instance cluster network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id *string `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsClusterNetworkInterfaceTargetInput is an input type that accepts IsClusterNetworkInterfaceTargetArgs and IsClusterNetworkInterfaceTargetOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceTargetInput` via: +// +// IsClusterNetworkInterfaceTargetArgs{...} +type IsClusterNetworkInterfaceTargetInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceTargetOutput() IsClusterNetworkInterfaceTargetOutput + ToIsClusterNetworkInterfaceTargetOutputWithContext(context.Context) IsClusterNetworkInterfaceTargetOutput +} + +type IsClusterNetworkInterfaceTargetArgs struct { + // The URL for this instance cluster network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsClusterNetworkInterfaceTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceTarget)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceTargetArgs) ToIsClusterNetworkInterfaceTargetOutput() IsClusterNetworkInterfaceTargetOutput { + return i.ToIsClusterNetworkInterfaceTargetOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceTargetArgs) ToIsClusterNetworkInterfaceTargetOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceTargetOutput) +} + +// IsClusterNetworkInterfaceTargetArrayInput is an input type that accepts IsClusterNetworkInterfaceTargetArray and IsClusterNetworkInterfaceTargetArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceTargetArrayInput` via: +// +// IsClusterNetworkInterfaceTargetArray{ IsClusterNetworkInterfaceTargetArgs{...} } +type IsClusterNetworkInterfaceTargetArrayInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceTargetArrayOutput() IsClusterNetworkInterfaceTargetArrayOutput + ToIsClusterNetworkInterfaceTargetArrayOutputWithContext(context.Context) IsClusterNetworkInterfaceTargetArrayOutput +} + +type IsClusterNetworkInterfaceTargetArray []IsClusterNetworkInterfaceTargetInput + +func (IsClusterNetworkInterfaceTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceTarget)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceTargetArray) ToIsClusterNetworkInterfaceTargetArrayOutput() IsClusterNetworkInterfaceTargetArrayOutput { + return i.ToIsClusterNetworkInterfaceTargetArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceTargetArray) ToIsClusterNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceTargetArrayOutput) +} + +type IsClusterNetworkInterfaceTargetOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceTarget)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceTargetOutput) ToIsClusterNetworkInterfaceTargetOutput() IsClusterNetworkInterfaceTargetOutput { + return o +} + +func (o IsClusterNetworkInterfaceTargetOutput) ToIsClusterNetworkInterfaceTargetOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceTargetOutput { + return o +} + +// The URL for this instance cluster network attachment. +func (o IsClusterNetworkInterfaceTargetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceTarget) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o IsClusterNetworkInterfaceTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o IsClusterNetworkInterfaceTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkInterfaceTargetOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceTarget) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfaceTargetArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceTarget)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceTargetArrayOutput) ToIsClusterNetworkInterfaceTargetArrayOutput() IsClusterNetworkInterfaceTargetArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceTargetArrayOutput) ToIsClusterNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceTargetArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceTargetArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkInterfaceTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkInterfaceTarget { + return vs[0].([]IsClusterNetworkInterfaceTarget)[vs[1].(int)] + }).(IsClusterNetworkInterfaceTargetOutput) +} + +type IsClusterNetworkInterfaceVpc struct { + // The CRN for this VPC. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsClusterNetworkInterfaceVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href *string `pulumi:"href"` + // The unique identifier for this VPC. + Id *string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsClusterNetworkInterfaceVpcInput is an input type that accepts IsClusterNetworkInterfaceVpcArgs and IsClusterNetworkInterfaceVpcOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceVpcInput` via: +// +// IsClusterNetworkInterfaceVpcArgs{...} +type IsClusterNetworkInterfaceVpcInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceVpcOutput() IsClusterNetworkInterfaceVpcOutput + ToIsClusterNetworkInterfaceVpcOutputWithContext(context.Context) IsClusterNetworkInterfaceVpcOutput +} + +type IsClusterNetworkInterfaceVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsClusterNetworkInterfaceVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsClusterNetworkInterfaceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceVpc)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceVpcArgs) ToIsClusterNetworkInterfaceVpcOutput() IsClusterNetworkInterfaceVpcOutput { + return i.ToIsClusterNetworkInterfaceVpcOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceVpcArgs) ToIsClusterNetworkInterfaceVpcOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceVpcOutput) +} + +// IsClusterNetworkInterfaceVpcArrayInput is an input type that accepts IsClusterNetworkInterfaceVpcArray and IsClusterNetworkInterfaceVpcArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceVpcArrayInput` via: +// +// IsClusterNetworkInterfaceVpcArray{ IsClusterNetworkInterfaceVpcArgs{...} } +type IsClusterNetworkInterfaceVpcArrayInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceVpcArrayOutput() IsClusterNetworkInterfaceVpcArrayOutput + ToIsClusterNetworkInterfaceVpcArrayOutputWithContext(context.Context) IsClusterNetworkInterfaceVpcArrayOutput +} + +type IsClusterNetworkInterfaceVpcArray []IsClusterNetworkInterfaceVpcInput + +func (IsClusterNetworkInterfaceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceVpc)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceVpcArray) ToIsClusterNetworkInterfaceVpcArrayOutput() IsClusterNetworkInterfaceVpcArrayOutput { + return i.ToIsClusterNetworkInterfaceVpcArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceVpcArray) ToIsClusterNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceVpcArrayOutput) +} + +type IsClusterNetworkInterfaceVpcOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceVpc)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceVpcOutput) ToIsClusterNetworkInterfaceVpcOutput() IsClusterNetworkInterfaceVpcOutput { + return o +} + +func (o IsClusterNetworkInterfaceVpcOutput) ToIsClusterNetworkInterfaceVpcOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceVpcOutput { + return o +} + +// The CRN for this VPC. +func (o IsClusterNetworkInterfaceVpcOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceVpc) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsClusterNetworkInterfaceVpcOutput) Deleteds() IsClusterNetworkInterfaceVpcDeletedArrayOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceVpc) []IsClusterNetworkInterfaceVpcDeleted { return v.Deleteds }).(IsClusterNetworkInterfaceVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o IsClusterNetworkInterfaceVpcOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceVpc) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsClusterNetworkInterfaceVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o IsClusterNetworkInterfaceVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkInterfaceVpcOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceVpc) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfaceVpcArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceVpc)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceVpcArrayOutput) ToIsClusterNetworkInterfaceVpcArrayOutput() IsClusterNetworkInterfaceVpcArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceVpcArrayOutput) ToIsClusterNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceVpcArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceVpcArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkInterfaceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkInterfaceVpc { + return vs[0].([]IsClusterNetworkInterfaceVpc)[vs[1].(int)] + }).(IsClusterNetworkInterfaceVpcOutput) +} + +type IsClusterNetworkInterfaceVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkInterfaceVpcDeletedInput is an input type that accepts IsClusterNetworkInterfaceVpcDeletedArgs and IsClusterNetworkInterfaceVpcDeletedOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceVpcDeletedInput` via: +// +// IsClusterNetworkInterfaceVpcDeletedArgs{...} +type IsClusterNetworkInterfaceVpcDeletedInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceVpcDeletedOutput() IsClusterNetworkInterfaceVpcDeletedOutput + ToIsClusterNetworkInterfaceVpcDeletedOutputWithContext(context.Context) IsClusterNetworkInterfaceVpcDeletedOutput +} + +type IsClusterNetworkInterfaceVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkInterfaceVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceVpcDeletedArgs) ToIsClusterNetworkInterfaceVpcDeletedOutput() IsClusterNetworkInterfaceVpcDeletedOutput { + return i.ToIsClusterNetworkInterfaceVpcDeletedOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceVpcDeletedArgs) ToIsClusterNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceVpcDeletedOutput) +} + +// IsClusterNetworkInterfaceVpcDeletedArrayInput is an input type that accepts IsClusterNetworkInterfaceVpcDeletedArray and IsClusterNetworkInterfaceVpcDeletedArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceVpcDeletedArrayInput` via: +// +// IsClusterNetworkInterfaceVpcDeletedArray{ IsClusterNetworkInterfaceVpcDeletedArgs{...} } +type IsClusterNetworkInterfaceVpcDeletedArrayInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceVpcDeletedArrayOutput() IsClusterNetworkInterfaceVpcDeletedArrayOutput + ToIsClusterNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Context) IsClusterNetworkInterfaceVpcDeletedArrayOutput +} + +type IsClusterNetworkInterfaceVpcDeletedArray []IsClusterNetworkInterfaceVpcDeletedInput + +func (IsClusterNetworkInterfaceVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceVpcDeletedArray) ToIsClusterNetworkInterfaceVpcDeletedArrayOutput() IsClusterNetworkInterfaceVpcDeletedArrayOutput { + return i.ToIsClusterNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceVpcDeletedArray) ToIsClusterNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceVpcDeletedArrayOutput) +} + +type IsClusterNetworkInterfaceVpcDeletedOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceVpcDeletedOutput) ToIsClusterNetworkInterfaceVpcDeletedOutput() IsClusterNetworkInterfaceVpcDeletedOutput { + return o +} + +func (o IsClusterNetworkInterfaceVpcDeletedOutput) ToIsClusterNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsClusterNetworkInterfaceVpcDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceVpcDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfaceVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceVpcDeletedArrayOutput) ToIsClusterNetworkInterfaceVpcDeletedArrayOutput() IsClusterNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceVpcDeletedArrayOutput) ToIsClusterNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceVpcDeletedArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkInterfaceVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkInterfaceVpcDeleted { + return vs[0].([]IsClusterNetworkInterfaceVpcDeleted)[vs[1].(int)] + }).(IsClusterNetworkInterfaceVpcDeletedOutput) +} + +type IsClusterNetworkInterfaceZone struct { + // The URL for this zone. + Href *string `pulumi:"href"` + // The globally unique name for this zone. + Name *string `pulumi:"name"` +} + +// IsClusterNetworkInterfaceZoneInput is an input type that accepts IsClusterNetworkInterfaceZoneArgs and IsClusterNetworkInterfaceZoneOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceZoneInput` via: +// +// IsClusterNetworkInterfaceZoneArgs{...} +type IsClusterNetworkInterfaceZoneInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceZoneOutput() IsClusterNetworkInterfaceZoneOutput + ToIsClusterNetworkInterfaceZoneOutputWithContext(context.Context) IsClusterNetworkInterfaceZoneOutput +} + +type IsClusterNetworkInterfaceZoneArgs struct { + // The URL for this zone. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsClusterNetworkInterfaceZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceZone)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceZoneArgs) ToIsClusterNetworkInterfaceZoneOutput() IsClusterNetworkInterfaceZoneOutput { + return i.ToIsClusterNetworkInterfaceZoneOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceZoneArgs) ToIsClusterNetworkInterfaceZoneOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceZoneOutput) +} + +// IsClusterNetworkInterfaceZoneArrayInput is an input type that accepts IsClusterNetworkInterfaceZoneArray and IsClusterNetworkInterfaceZoneArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkInterfaceZoneArrayInput` via: +// +// IsClusterNetworkInterfaceZoneArray{ IsClusterNetworkInterfaceZoneArgs{...} } +type IsClusterNetworkInterfaceZoneArrayInput interface { + pulumi.Input + + ToIsClusterNetworkInterfaceZoneArrayOutput() IsClusterNetworkInterfaceZoneArrayOutput + ToIsClusterNetworkInterfaceZoneArrayOutputWithContext(context.Context) IsClusterNetworkInterfaceZoneArrayOutput +} + +type IsClusterNetworkInterfaceZoneArray []IsClusterNetworkInterfaceZoneInput + +func (IsClusterNetworkInterfaceZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceZone)(nil)).Elem() +} + +func (i IsClusterNetworkInterfaceZoneArray) ToIsClusterNetworkInterfaceZoneArrayOutput() IsClusterNetworkInterfaceZoneArrayOutput { + return i.ToIsClusterNetworkInterfaceZoneArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkInterfaceZoneArray) ToIsClusterNetworkInterfaceZoneArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkInterfaceZoneArrayOutput) +} + +type IsClusterNetworkInterfaceZoneOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkInterfaceZone)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceZoneOutput) ToIsClusterNetworkInterfaceZoneOutput() IsClusterNetworkInterfaceZoneOutput { + return o +} + +func (o IsClusterNetworkInterfaceZoneOutput) ToIsClusterNetworkInterfaceZoneOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceZoneOutput { + return o +} + +// The URL for this zone. +func (o IsClusterNetworkInterfaceZoneOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceZone) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this zone. +func (o IsClusterNetworkInterfaceZoneOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkInterfaceZone) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkInterfaceZoneArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkInterfaceZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkInterfaceZone)(nil)).Elem() +} + +func (o IsClusterNetworkInterfaceZoneArrayOutput) ToIsClusterNetworkInterfaceZoneArrayOutput() IsClusterNetworkInterfaceZoneArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceZoneArrayOutput) ToIsClusterNetworkInterfaceZoneArrayOutputWithContext(ctx context.Context) IsClusterNetworkInterfaceZoneArrayOutput { + return o +} + +func (o IsClusterNetworkInterfaceZoneArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkInterfaceZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkInterfaceZone { + return vs[0].([]IsClusterNetworkInterfaceZone)[vs[1].(int)] + }).(IsClusterNetworkInterfaceZoneOutput) +} + +type IsClusterNetworkLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkLifecycleReasonInput is an input type that accepts IsClusterNetworkLifecycleReasonArgs and IsClusterNetworkLifecycleReasonOutput values. +// You can construct a concrete instance of `IsClusterNetworkLifecycleReasonInput` via: +// +// IsClusterNetworkLifecycleReasonArgs{...} +type IsClusterNetworkLifecycleReasonInput interface { + pulumi.Input + + ToIsClusterNetworkLifecycleReasonOutput() IsClusterNetworkLifecycleReasonOutput + ToIsClusterNetworkLifecycleReasonOutputWithContext(context.Context) IsClusterNetworkLifecycleReasonOutput +} + +type IsClusterNetworkLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (i IsClusterNetworkLifecycleReasonArgs) ToIsClusterNetworkLifecycleReasonOutput() IsClusterNetworkLifecycleReasonOutput { + return i.ToIsClusterNetworkLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkLifecycleReasonArgs) ToIsClusterNetworkLifecycleReasonOutputWithContext(ctx context.Context) IsClusterNetworkLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkLifecycleReasonOutput) +} + +// IsClusterNetworkLifecycleReasonArrayInput is an input type that accepts IsClusterNetworkLifecycleReasonArray and IsClusterNetworkLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkLifecycleReasonArrayInput` via: +// +// IsClusterNetworkLifecycleReasonArray{ IsClusterNetworkLifecycleReasonArgs{...} } +type IsClusterNetworkLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsClusterNetworkLifecycleReasonArrayOutput() IsClusterNetworkLifecycleReasonArrayOutput + ToIsClusterNetworkLifecycleReasonArrayOutputWithContext(context.Context) IsClusterNetworkLifecycleReasonArrayOutput +} + +type IsClusterNetworkLifecycleReasonArray []IsClusterNetworkLifecycleReasonInput + +func (IsClusterNetworkLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (i IsClusterNetworkLifecycleReasonArray) ToIsClusterNetworkLifecycleReasonArrayOutput() IsClusterNetworkLifecycleReasonArrayOutput { + return i.ToIsClusterNetworkLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkLifecycleReasonArray) ToIsClusterNetworkLifecycleReasonArrayOutputWithContext(ctx context.Context) IsClusterNetworkLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkLifecycleReasonArrayOutput) +} + +type IsClusterNetworkLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (o IsClusterNetworkLifecycleReasonOutput) ToIsClusterNetworkLifecycleReasonOutput() IsClusterNetworkLifecycleReasonOutput { + return o +} + +func (o IsClusterNetworkLifecycleReasonOutput) ToIsClusterNetworkLifecycleReasonOutputWithContext(ctx context.Context) IsClusterNetworkLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsClusterNetworkLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsClusterNetworkLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsClusterNetworkLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (o IsClusterNetworkLifecycleReasonArrayOutput) ToIsClusterNetworkLifecycleReasonArrayOutput() IsClusterNetworkLifecycleReasonArrayOutput { + return o +} + +func (o IsClusterNetworkLifecycleReasonArrayOutput) ToIsClusterNetworkLifecycleReasonArrayOutputWithContext(ctx context.Context) IsClusterNetworkLifecycleReasonArrayOutput { + return o +} + +func (o IsClusterNetworkLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkLifecycleReason { + return vs[0].([]IsClusterNetworkLifecycleReason)[vs[1].(int)] + }).(IsClusterNetworkLifecycleReasonOutput) +} + +type IsClusterNetworkSubnetLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkSubnetLifecycleReasonInput is an input type that accepts IsClusterNetworkSubnetLifecycleReasonArgs and IsClusterNetworkSubnetLifecycleReasonOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetLifecycleReasonInput` via: +// +// IsClusterNetworkSubnetLifecycleReasonArgs{...} +type IsClusterNetworkSubnetLifecycleReasonInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetLifecycleReasonOutput() IsClusterNetworkSubnetLifecycleReasonOutput + ToIsClusterNetworkSubnetLifecycleReasonOutputWithContext(context.Context) IsClusterNetworkSubnetLifecycleReasonOutput +} + +type IsClusterNetworkSubnetLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkSubnetLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetLifecycleReason)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetLifecycleReasonArgs) ToIsClusterNetworkSubnetLifecycleReasonOutput() IsClusterNetworkSubnetLifecycleReasonOutput { + return i.ToIsClusterNetworkSubnetLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetLifecycleReasonArgs) ToIsClusterNetworkSubnetLifecycleReasonOutputWithContext(ctx context.Context) IsClusterNetworkSubnetLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetLifecycleReasonOutput) +} + +// IsClusterNetworkSubnetLifecycleReasonArrayInput is an input type that accepts IsClusterNetworkSubnetLifecycleReasonArray and IsClusterNetworkSubnetLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetLifecycleReasonArrayInput` via: +// +// IsClusterNetworkSubnetLifecycleReasonArray{ IsClusterNetworkSubnetLifecycleReasonArgs{...} } +type IsClusterNetworkSubnetLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetLifecycleReasonArrayOutput() IsClusterNetworkSubnetLifecycleReasonArrayOutput + ToIsClusterNetworkSubnetLifecycleReasonArrayOutputWithContext(context.Context) IsClusterNetworkSubnetLifecycleReasonArrayOutput +} + +type IsClusterNetworkSubnetLifecycleReasonArray []IsClusterNetworkSubnetLifecycleReasonInput + +func (IsClusterNetworkSubnetLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkSubnetLifecycleReason)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetLifecycleReasonArray) ToIsClusterNetworkSubnetLifecycleReasonArrayOutput() IsClusterNetworkSubnetLifecycleReasonArrayOutput { + return i.ToIsClusterNetworkSubnetLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetLifecycleReasonArray) ToIsClusterNetworkSubnetLifecycleReasonArrayOutputWithContext(ctx context.Context) IsClusterNetworkSubnetLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetLifecycleReasonArrayOutput) +} + +type IsClusterNetworkSubnetLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetLifecycleReason)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetLifecycleReasonOutput) ToIsClusterNetworkSubnetLifecycleReasonOutput() IsClusterNetworkSubnetLifecycleReasonOutput { + return o +} + +func (o IsClusterNetworkSubnetLifecycleReasonOutput) ToIsClusterNetworkSubnetLifecycleReasonOutputWithContext(ctx context.Context) IsClusterNetworkSubnetLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsClusterNetworkSubnetLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsClusterNetworkSubnetLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsClusterNetworkSubnetLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkSubnetLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkSubnetLifecycleReason)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetLifecycleReasonArrayOutput) ToIsClusterNetworkSubnetLifecycleReasonArrayOutput() IsClusterNetworkSubnetLifecycleReasonArrayOutput { + return o +} + +func (o IsClusterNetworkSubnetLifecycleReasonArrayOutput) ToIsClusterNetworkSubnetLifecycleReasonArrayOutputWithContext(ctx context.Context) IsClusterNetworkSubnetLifecycleReasonArrayOutput { + return o +} + +func (o IsClusterNetworkSubnetLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkSubnetLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkSubnetLifecycleReason { + return vs[0].([]IsClusterNetworkSubnetLifecycleReason)[vs[1].(int)] + }).(IsClusterNetworkSubnetLifecycleReasonOutput) +} + +type IsClusterNetworkSubnetPrefixes struct { + // The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. + AllocationPolicy *string `pulumi:"allocationPolicy"` + // The CIDR block for this prefix. + Cidr string `pulumi:"cidr"` +} + +// IsClusterNetworkSubnetPrefixesInput is an input type that accepts IsClusterNetworkSubnetPrefixesArgs and IsClusterNetworkSubnetPrefixesOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetPrefixesInput` via: +// +// IsClusterNetworkSubnetPrefixesArgs{...} +type IsClusterNetworkSubnetPrefixesInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetPrefixesOutput() IsClusterNetworkSubnetPrefixesOutput + ToIsClusterNetworkSubnetPrefixesOutputWithContext(context.Context) IsClusterNetworkSubnetPrefixesOutput +} + +type IsClusterNetworkSubnetPrefixesArgs struct { + // The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. + AllocationPolicy pulumi.StringPtrInput `pulumi:"allocationPolicy"` + // The CIDR block for this prefix. + Cidr pulumi.StringInput `pulumi:"cidr"` +} + +func (IsClusterNetworkSubnetPrefixesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetPrefixes)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetPrefixesArgs) ToIsClusterNetworkSubnetPrefixesOutput() IsClusterNetworkSubnetPrefixesOutput { + return i.ToIsClusterNetworkSubnetPrefixesOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetPrefixesArgs) ToIsClusterNetworkSubnetPrefixesOutputWithContext(ctx context.Context) IsClusterNetworkSubnetPrefixesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetPrefixesOutput) +} + +func (i IsClusterNetworkSubnetPrefixesArgs) ToIsClusterNetworkSubnetPrefixesPtrOutput() IsClusterNetworkSubnetPrefixesPtrOutput { + return i.ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetPrefixesArgs) ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(ctx context.Context) IsClusterNetworkSubnetPrefixesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetPrefixesOutput).ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(ctx) +} + +// IsClusterNetworkSubnetPrefixesPtrInput is an input type that accepts IsClusterNetworkSubnetPrefixesArgs, IsClusterNetworkSubnetPrefixesPtr and IsClusterNetworkSubnetPrefixesPtrOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetPrefixesPtrInput` via: +// +// IsClusterNetworkSubnetPrefixesArgs{...} +// +// or: +// +// nil +type IsClusterNetworkSubnetPrefixesPtrInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetPrefixesPtrOutput() IsClusterNetworkSubnetPrefixesPtrOutput + ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(context.Context) IsClusterNetworkSubnetPrefixesPtrOutput +} + +type isClusterNetworkSubnetPrefixesPtrType IsClusterNetworkSubnetPrefixesArgs + +func IsClusterNetworkSubnetPrefixesPtr(v *IsClusterNetworkSubnetPrefixesArgs) IsClusterNetworkSubnetPrefixesPtrInput { + return (*isClusterNetworkSubnetPrefixesPtrType)(v) +} + +func (*isClusterNetworkSubnetPrefixesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkSubnetPrefixes)(nil)).Elem() +} + +func (i *isClusterNetworkSubnetPrefixesPtrType) ToIsClusterNetworkSubnetPrefixesPtrOutput() IsClusterNetworkSubnetPrefixesPtrOutput { + return i.ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(context.Background()) +} + +func (i *isClusterNetworkSubnetPrefixesPtrType) ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(ctx context.Context) IsClusterNetworkSubnetPrefixesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetPrefixesPtrOutput) +} + +type IsClusterNetworkSubnetPrefixesOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetPrefixesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetPrefixes)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetPrefixesOutput) ToIsClusterNetworkSubnetPrefixesOutput() IsClusterNetworkSubnetPrefixesOutput { + return o +} + +func (o IsClusterNetworkSubnetPrefixesOutput) ToIsClusterNetworkSubnetPrefixesOutputWithContext(ctx context.Context) IsClusterNetworkSubnetPrefixesOutput { + return o +} + +func (o IsClusterNetworkSubnetPrefixesOutput) ToIsClusterNetworkSubnetPrefixesPtrOutput() IsClusterNetworkSubnetPrefixesPtrOutput { + return o.ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(context.Background()) +} + +func (o IsClusterNetworkSubnetPrefixesOutput) ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(ctx context.Context) IsClusterNetworkSubnetPrefixesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsClusterNetworkSubnetPrefixes) *IsClusterNetworkSubnetPrefixes { + return &v + }).(IsClusterNetworkSubnetPrefixesPtrOutput) +} + +// The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. +func (o IsClusterNetworkSubnetPrefixesOutput) AllocationPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetPrefixes) *string { return v.AllocationPolicy }).(pulumi.StringPtrOutput) +} + +// The CIDR block for this prefix. +func (o IsClusterNetworkSubnetPrefixesOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetPrefixes) string { return v.Cidr }).(pulumi.StringOutput) +} + +type IsClusterNetworkSubnetPrefixesPtrOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetPrefixesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkSubnetPrefixes)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetPrefixesPtrOutput) ToIsClusterNetworkSubnetPrefixesPtrOutput() IsClusterNetworkSubnetPrefixesPtrOutput { + return o +} + +func (o IsClusterNetworkSubnetPrefixesPtrOutput) ToIsClusterNetworkSubnetPrefixesPtrOutputWithContext(ctx context.Context) IsClusterNetworkSubnetPrefixesPtrOutput { + return o +} + +func (o IsClusterNetworkSubnetPrefixesPtrOutput) Elem() IsClusterNetworkSubnetPrefixesOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetPrefixes) IsClusterNetworkSubnetPrefixes { + if v != nil { + return *v + } + var ret IsClusterNetworkSubnetPrefixes + return ret + }).(IsClusterNetworkSubnetPrefixesOutput) +} + +// The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. +func (o IsClusterNetworkSubnetPrefixesPtrOutput) AllocationPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetPrefixes) *string { + if v == nil { + return nil + } + return v.AllocationPolicy + }).(pulumi.StringPtrOutput) +} + +// The CIDR block for this prefix. +func (o IsClusterNetworkSubnetPrefixesPtrOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkSubnetPrefixes) *string { + if v == nil { + return nil + } + return &v.Cidr + }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkSubnetReservedIpLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkSubnetReservedIpLifecycleReasonInput is an input type that accepts IsClusterNetworkSubnetReservedIpLifecycleReasonArgs and IsClusterNetworkSubnetReservedIpLifecycleReasonOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetReservedIpLifecycleReasonInput` via: +// +// IsClusterNetworkSubnetReservedIpLifecycleReasonArgs{...} +type IsClusterNetworkSubnetReservedIpLifecycleReasonInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetReservedIpLifecycleReasonOutput() IsClusterNetworkSubnetReservedIpLifecycleReasonOutput + ToIsClusterNetworkSubnetReservedIpLifecycleReasonOutputWithContext(context.Context) IsClusterNetworkSubnetReservedIpLifecycleReasonOutput +} + +type IsClusterNetworkSubnetReservedIpLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkSubnetReservedIpLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetReservedIpLifecycleReason)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetReservedIpLifecycleReasonArgs) ToIsClusterNetworkSubnetReservedIpLifecycleReasonOutput() IsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return i.ToIsClusterNetworkSubnetReservedIpLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetReservedIpLifecycleReasonArgs) ToIsClusterNetworkSubnetReservedIpLifecycleReasonOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetReservedIpLifecycleReasonOutput) +} + +// IsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput is an input type that accepts IsClusterNetworkSubnetReservedIpLifecycleReasonArray and IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput` via: +// +// IsClusterNetworkSubnetReservedIpLifecycleReasonArray{ IsClusterNetworkSubnetReservedIpLifecycleReasonArgs{...} } +type IsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput() IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput + ToIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutputWithContext(context.Context) IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput +} + +type IsClusterNetworkSubnetReservedIpLifecycleReasonArray []IsClusterNetworkSubnetReservedIpLifecycleReasonInput + +func (IsClusterNetworkSubnetReservedIpLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkSubnetReservedIpLifecycleReason)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetReservedIpLifecycleReasonArray) ToIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput() IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return i.ToIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetReservedIpLifecycleReasonArray) ToIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) +} + +type IsClusterNetworkSubnetReservedIpLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetReservedIpLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetReservedIpLifecycleReason)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetReservedIpLifecycleReasonOutput) ToIsClusterNetworkSubnetReservedIpLifecycleReasonOutput() IsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpLifecycleReasonOutput) ToIsClusterNetworkSubnetReservedIpLifecycleReasonOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsClusterNetworkSubnetReservedIpLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsClusterNetworkSubnetReservedIpLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsClusterNetworkSubnetReservedIpLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkSubnetReservedIpLifecycleReason)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) ToIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput() IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) ToIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkSubnetReservedIpLifecycleReason { + return vs[0].([]IsClusterNetworkSubnetReservedIpLifecycleReason)[vs[1].(int)] + }).(IsClusterNetworkSubnetReservedIpLifecycleReasonOutput) +} + +type IsClusterNetworkSubnetReservedIpTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsClusterNetworkSubnetReservedIpTargetDeleted `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id *string `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsClusterNetworkSubnetReservedIpTargetInput is an input type that accepts IsClusterNetworkSubnetReservedIpTargetArgs and IsClusterNetworkSubnetReservedIpTargetOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetReservedIpTargetInput` via: +// +// IsClusterNetworkSubnetReservedIpTargetArgs{...} +type IsClusterNetworkSubnetReservedIpTargetInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetReservedIpTargetOutput() IsClusterNetworkSubnetReservedIpTargetOutput + ToIsClusterNetworkSubnetReservedIpTargetOutputWithContext(context.Context) IsClusterNetworkSubnetReservedIpTargetOutput +} + +type IsClusterNetworkSubnetReservedIpTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsClusterNetworkSubnetReservedIpTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsClusterNetworkSubnetReservedIpTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetReservedIpTarget)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetReservedIpTargetArgs) ToIsClusterNetworkSubnetReservedIpTargetOutput() IsClusterNetworkSubnetReservedIpTargetOutput { + return i.ToIsClusterNetworkSubnetReservedIpTargetOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetReservedIpTargetArgs) ToIsClusterNetworkSubnetReservedIpTargetOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetReservedIpTargetOutput) +} + +// IsClusterNetworkSubnetReservedIpTargetArrayInput is an input type that accepts IsClusterNetworkSubnetReservedIpTargetArray and IsClusterNetworkSubnetReservedIpTargetArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetReservedIpTargetArrayInput` via: +// +// IsClusterNetworkSubnetReservedIpTargetArray{ IsClusterNetworkSubnetReservedIpTargetArgs{...} } +type IsClusterNetworkSubnetReservedIpTargetArrayInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetReservedIpTargetArrayOutput() IsClusterNetworkSubnetReservedIpTargetArrayOutput + ToIsClusterNetworkSubnetReservedIpTargetArrayOutputWithContext(context.Context) IsClusterNetworkSubnetReservedIpTargetArrayOutput +} + +type IsClusterNetworkSubnetReservedIpTargetArray []IsClusterNetworkSubnetReservedIpTargetInput + +func (IsClusterNetworkSubnetReservedIpTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkSubnetReservedIpTarget)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetReservedIpTargetArray) ToIsClusterNetworkSubnetReservedIpTargetArrayOutput() IsClusterNetworkSubnetReservedIpTargetArrayOutput { + return i.ToIsClusterNetworkSubnetReservedIpTargetArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetReservedIpTargetArray) ToIsClusterNetworkSubnetReservedIpTargetArrayOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetReservedIpTargetArrayOutput) +} + +type IsClusterNetworkSubnetReservedIpTargetOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetReservedIpTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetReservedIpTarget)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetReservedIpTargetOutput) ToIsClusterNetworkSubnetReservedIpTargetOutput() IsClusterNetworkSubnetReservedIpTargetOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpTargetOutput) ToIsClusterNetworkSubnetReservedIpTargetOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsClusterNetworkSubnetReservedIpTargetOutput) Deleteds() IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpTarget) []IsClusterNetworkSubnetReservedIpTargetDeleted { + return v.Deleteds + }).(IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) +} + +// The URL for this cluster network interface. +func (o IsClusterNetworkSubnetReservedIpTargetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpTarget) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network interface. +func (o IsClusterNetworkSubnetReservedIpTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o IsClusterNetworkSubnetReservedIpTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkSubnetReservedIpTargetOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpTarget) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkSubnetReservedIpTargetArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetReservedIpTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkSubnetReservedIpTarget)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetReservedIpTargetArrayOutput) ToIsClusterNetworkSubnetReservedIpTargetArrayOutput() IsClusterNetworkSubnetReservedIpTargetArrayOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpTargetArrayOutput) ToIsClusterNetworkSubnetReservedIpTargetArrayOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpTargetArrayOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpTargetArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkSubnetReservedIpTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkSubnetReservedIpTarget { + return vs[0].([]IsClusterNetworkSubnetReservedIpTarget)[vs[1].(int)] + }).(IsClusterNetworkSubnetReservedIpTargetOutput) +} + +type IsClusterNetworkSubnetReservedIpTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkSubnetReservedIpTargetDeletedInput is an input type that accepts IsClusterNetworkSubnetReservedIpTargetDeletedArgs and IsClusterNetworkSubnetReservedIpTargetDeletedOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetReservedIpTargetDeletedInput` via: +// +// IsClusterNetworkSubnetReservedIpTargetDeletedArgs{...} +type IsClusterNetworkSubnetReservedIpTargetDeletedInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetReservedIpTargetDeletedOutput() IsClusterNetworkSubnetReservedIpTargetDeletedOutput + ToIsClusterNetworkSubnetReservedIpTargetDeletedOutputWithContext(context.Context) IsClusterNetworkSubnetReservedIpTargetDeletedOutput +} + +type IsClusterNetworkSubnetReservedIpTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkSubnetReservedIpTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetReservedIpTargetDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetReservedIpTargetDeletedArgs) ToIsClusterNetworkSubnetReservedIpTargetDeletedOutput() IsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return i.ToIsClusterNetworkSubnetReservedIpTargetDeletedOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetReservedIpTargetDeletedArgs) ToIsClusterNetworkSubnetReservedIpTargetDeletedOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetReservedIpTargetDeletedOutput) +} + +// IsClusterNetworkSubnetReservedIpTargetDeletedArrayInput is an input type that accepts IsClusterNetworkSubnetReservedIpTargetDeletedArray and IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkSubnetReservedIpTargetDeletedArrayInput` via: +// +// IsClusterNetworkSubnetReservedIpTargetDeletedArray{ IsClusterNetworkSubnetReservedIpTargetDeletedArgs{...} } +type IsClusterNetworkSubnetReservedIpTargetDeletedArrayInput interface { + pulumi.Input + + ToIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput() IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput + ToIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutputWithContext(context.Context) IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput +} + +type IsClusterNetworkSubnetReservedIpTargetDeletedArray []IsClusterNetworkSubnetReservedIpTargetDeletedInput + +func (IsClusterNetworkSubnetReservedIpTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkSubnetReservedIpTargetDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkSubnetReservedIpTargetDeletedArray) ToIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput() IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return i.ToIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkSubnetReservedIpTargetDeletedArray) ToIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) +} + +type IsClusterNetworkSubnetReservedIpTargetDeletedOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetReservedIpTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkSubnetReservedIpTargetDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetReservedIpTargetDeletedOutput) ToIsClusterNetworkSubnetReservedIpTargetDeletedOutput() IsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpTargetDeletedOutput) ToIsClusterNetworkSubnetReservedIpTargetDeletedOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsClusterNetworkSubnetReservedIpTargetDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkSubnetReservedIpTargetDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkSubnetReservedIpTargetDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) ToIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput() IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) ToIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkSubnetReservedIpTargetDeleted { + return vs[0].([]IsClusterNetworkSubnetReservedIpTargetDeleted)[vs[1].(int)] + }).(IsClusterNetworkSubnetReservedIpTargetDeletedOutput) +} + +type IsClusterNetworkVpc struct { + // The CRN for this VPC. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsClusterNetworkVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href *string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsClusterNetworkVpcInput is an input type that accepts IsClusterNetworkVpcArgs and IsClusterNetworkVpcOutput values. +// You can construct a concrete instance of `IsClusterNetworkVpcInput` via: +// +// IsClusterNetworkVpcArgs{...} +type IsClusterNetworkVpcInput interface { + pulumi.Input + + ToIsClusterNetworkVpcOutput() IsClusterNetworkVpcOutput + ToIsClusterNetworkVpcOutputWithContext(context.Context) IsClusterNetworkVpcOutput +} + +type IsClusterNetworkVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsClusterNetworkVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsClusterNetworkVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkVpc)(nil)).Elem() +} + +func (i IsClusterNetworkVpcArgs) ToIsClusterNetworkVpcOutput() IsClusterNetworkVpcOutput { + return i.ToIsClusterNetworkVpcOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkVpcArgs) ToIsClusterNetworkVpcOutputWithContext(ctx context.Context) IsClusterNetworkVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkVpcOutput) +} + +func (i IsClusterNetworkVpcArgs) ToIsClusterNetworkVpcPtrOutput() IsClusterNetworkVpcPtrOutput { + return i.ToIsClusterNetworkVpcPtrOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkVpcArgs) ToIsClusterNetworkVpcPtrOutputWithContext(ctx context.Context) IsClusterNetworkVpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkVpcOutput).ToIsClusterNetworkVpcPtrOutputWithContext(ctx) +} + +// IsClusterNetworkVpcPtrInput is an input type that accepts IsClusterNetworkVpcArgs, IsClusterNetworkVpcPtr and IsClusterNetworkVpcPtrOutput values. +// You can construct a concrete instance of `IsClusterNetworkVpcPtrInput` via: +// +// IsClusterNetworkVpcArgs{...} +// +// or: +// +// nil +type IsClusterNetworkVpcPtrInput interface { + pulumi.Input + + ToIsClusterNetworkVpcPtrOutput() IsClusterNetworkVpcPtrOutput + ToIsClusterNetworkVpcPtrOutputWithContext(context.Context) IsClusterNetworkVpcPtrOutput +} + +type isClusterNetworkVpcPtrType IsClusterNetworkVpcArgs + +func IsClusterNetworkVpcPtr(v *IsClusterNetworkVpcArgs) IsClusterNetworkVpcPtrInput { + return (*isClusterNetworkVpcPtrType)(v) +} + +func (*isClusterNetworkVpcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkVpc)(nil)).Elem() +} + +func (i *isClusterNetworkVpcPtrType) ToIsClusterNetworkVpcPtrOutput() IsClusterNetworkVpcPtrOutput { + return i.ToIsClusterNetworkVpcPtrOutputWithContext(context.Background()) +} + +func (i *isClusterNetworkVpcPtrType) ToIsClusterNetworkVpcPtrOutputWithContext(ctx context.Context) IsClusterNetworkVpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkVpcPtrOutput) +} + +type IsClusterNetworkVpcOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkVpc)(nil)).Elem() +} + +func (o IsClusterNetworkVpcOutput) ToIsClusterNetworkVpcOutput() IsClusterNetworkVpcOutput { + return o +} + +func (o IsClusterNetworkVpcOutput) ToIsClusterNetworkVpcOutputWithContext(ctx context.Context) IsClusterNetworkVpcOutput { + return o +} + +func (o IsClusterNetworkVpcOutput) ToIsClusterNetworkVpcPtrOutput() IsClusterNetworkVpcPtrOutput { + return o.ToIsClusterNetworkVpcPtrOutputWithContext(context.Background()) +} + +func (o IsClusterNetworkVpcOutput) ToIsClusterNetworkVpcPtrOutputWithContext(ctx context.Context) IsClusterNetworkVpcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsClusterNetworkVpc) *IsClusterNetworkVpc { + return &v + }).(IsClusterNetworkVpcPtrOutput) +} + +// The CRN for this VPC. +func (o IsClusterNetworkVpcOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkVpc) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsClusterNetworkVpcOutput) Deleteds() IsClusterNetworkVpcDeletedArrayOutput { + return o.ApplyT(func(v IsClusterNetworkVpc) []IsClusterNetworkVpcDeleted { return v.Deleteds }).(IsClusterNetworkVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o IsClusterNetworkVpcOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkVpc) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsClusterNetworkVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsClusterNetworkVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o IsClusterNetworkVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkVpcOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkVpc) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkVpcPtrOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkVpcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsClusterNetworkVpc)(nil)).Elem() +} + +func (o IsClusterNetworkVpcPtrOutput) ToIsClusterNetworkVpcPtrOutput() IsClusterNetworkVpcPtrOutput { + return o +} + +func (o IsClusterNetworkVpcPtrOutput) ToIsClusterNetworkVpcPtrOutputWithContext(ctx context.Context) IsClusterNetworkVpcPtrOutput { + return o +} + +func (o IsClusterNetworkVpcPtrOutput) Elem() IsClusterNetworkVpcOutput { + return o.ApplyT(func(v *IsClusterNetworkVpc) IsClusterNetworkVpc { + if v != nil { + return *v + } + var ret IsClusterNetworkVpc + return ret + }).(IsClusterNetworkVpcOutput) +} + +// The CRN for this VPC. +func (o IsClusterNetworkVpcPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkVpc) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsClusterNetworkVpcPtrOutput) Deleteds() IsClusterNetworkVpcDeletedArrayOutput { + return o.ApplyT(func(v *IsClusterNetworkVpc) []IsClusterNetworkVpcDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsClusterNetworkVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o IsClusterNetworkVpcPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkVpc) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsClusterNetworkVpcPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkVpc) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o IsClusterNetworkVpcPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkVpc) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsClusterNetworkVpcPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsClusterNetworkVpc) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsClusterNetworkVpcDeletedInput is an input type that accepts IsClusterNetworkVpcDeletedArgs and IsClusterNetworkVpcDeletedOutput values. +// You can construct a concrete instance of `IsClusterNetworkVpcDeletedInput` via: +// +// IsClusterNetworkVpcDeletedArgs{...} +type IsClusterNetworkVpcDeletedInput interface { + pulumi.Input + + ToIsClusterNetworkVpcDeletedOutput() IsClusterNetworkVpcDeletedOutput + ToIsClusterNetworkVpcDeletedOutputWithContext(context.Context) IsClusterNetworkVpcDeletedOutput +} + +type IsClusterNetworkVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsClusterNetworkVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkVpcDeletedArgs) ToIsClusterNetworkVpcDeletedOutput() IsClusterNetworkVpcDeletedOutput { + return i.ToIsClusterNetworkVpcDeletedOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkVpcDeletedArgs) ToIsClusterNetworkVpcDeletedOutputWithContext(ctx context.Context) IsClusterNetworkVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkVpcDeletedOutput) +} + +// IsClusterNetworkVpcDeletedArrayInput is an input type that accepts IsClusterNetworkVpcDeletedArray and IsClusterNetworkVpcDeletedArrayOutput values. +// You can construct a concrete instance of `IsClusterNetworkVpcDeletedArrayInput` via: +// +// IsClusterNetworkVpcDeletedArray{ IsClusterNetworkVpcDeletedArgs{...} } +type IsClusterNetworkVpcDeletedArrayInput interface { + pulumi.Input + + ToIsClusterNetworkVpcDeletedArrayOutput() IsClusterNetworkVpcDeletedArrayOutput + ToIsClusterNetworkVpcDeletedArrayOutputWithContext(context.Context) IsClusterNetworkVpcDeletedArrayOutput +} + +type IsClusterNetworkVpcDeletedArray []IsClusterNetworkVpcDeletedInput + +func (IsClusterNetworkVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (i IsClusterNetworkVpcDeletedArray) ToIsClusterNetworkVpcDeletedArrayOutput() IsClusterNetworkVpcDeletedArrayOutput { + return i.ToIsClusterNetworkVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsClusterNetworkVpcDeletedArray) ToIsClusterNetworkVpcDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsClusterNetworkVpcDeletedArrayOutput) +} + +type IsClusterNetworkVpcDeletedOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkVpcDeletedOutput) ToIsClusterNetworkVpcDeletedOutput() IsClusterNetworkVpcDeletedOutput { + return o +} + +func (o IsClusterNetworkVpcDeletedOutput) ToIsClusterNetworkVpcDeletedOutputWithContext(ctx context.Context) IsClusterNetworkVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsClusterNetworkVpcDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsClusterNetworkVpcDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsClusterNetworkVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsClusterNetworkVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (o IsClusterNetworkVpcDeletedArrayOutput) ToIsClusterNetworkVpcDeletedArrayOutput() IsClusterNetworkVpcDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkVpcDeletedArrayOutput) ToIsClusterNetworkVpcDeletedArrayOutputWithContext(ctx context.Context) IsClusterNetworkVpcDeletedArrayOutput { + return o +} + +func (o IsClusterNetworkVpcDeletedArrayOutput) Index(i pulumi.IntInput) IsClusterNetworkVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsClusterNetworkVpcDeleted { + return vs[0].([]IsClusterNetworkVpcDeleted)[vs[1].(int)] + }).(IsClusterNetworkVpcDeletedOutput) +} + +type IsDedicatedHostAvailableVcpus struct { + // The VCPU architecture. + Architecture *string `pulumi:"architecture"` + // The number of VCPUs assigned. + Count *int `pulumi:"count"` +} + +// IsDedicatedHostAvailableVcpusInput is an input type that accepts IsDedicatedHostAvailableVcpusArgs and IsDedicatedHostAvailableVcpusOutput values. +// You can construct a concrete instance of `IsDedicatedHostAvailableVcpusInput` via: +// +// IsDedicatedHostAvailableVcpusArgs{...} +type IsDedicatedHostAvailableVcpusInput interface { + pulumi.Input + + ToIsDedicatedHostAvailableVcpusOutput() IsDedicatedHostAvailableVcpusOutput + ToIsDedicatedHostAvailableVcpusOutputWithContext(context.Context) IsDedicatedHostAvailableVcpusOutput +} + +type IsDedicatedHostAvailableVcpusArgs struct { + // The VCPU architecture. + Architecture pulumi.StringPtrInput `pulumi:"architecture"` + // The number of VCPUs assigned. + Count pulumi.IntPtrInput `pulumi:"count"` +} + +func (IsDedicatedHostAvailableVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (i IsDedicatedHostAvailableVcpusArgs) ToIsDedicatedHostAvailableVcpusOutput() IsDedicatedHostAvailableVcpusOutput { + return i.ToIsDedicatedHostAvailableVcpusOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostAvailableVcpusArgs) ToIsDedicatedHostAvailableVcpusOutputWithContext(ctx context.Context) IsDedicatedHostAvailableVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostAvailableVcpusOutput) +} + +// IsDedicatedHostAvailableVcpusArrayInput is an input type that accepts IsDedicatedHostAvailableVcpusArray and IsDedicatedHostAvailableVcpusArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostAvailableVcpusArrayInput` via: +// +// IsDedicatedHostAvailableVcpusArray{ IsDedicatedHostAvailableVcpusArgs{...} } +type IsDedicatedHostAvailableVcpusArrayInput interface { + pulumi.Input + + ToIsDedicatedHostAvailableVcpusArrayOutput() IsDedicatedHostAvailableVcpusArrayOutput + ToIsDedicatedHostAvailableVcpusArrayOutputWithContext(context.Context) IsDedicatedHostAvailableVcpusArrayOutput +} + +type IsDedicatedHostAvailableVcpusArray []IsDedicatedHostAvailableVcpusInput + +func (IsDedicatedHostAvailableVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (i IsDedicatedHostAvailableVcpusArray) ToIsDedicatedHostAvailableVcpusArrayOutput() IsDedicatedHostAvailableVcpusArrayOutput { + return i.ToIsDedicatedHostAvailableVcpusArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostAvailableVcpusArray) ToIsDedicatedHostAvailableVcpusArrayOutputWithContext(ctx context.Context) IsDedicatedHostAvailableVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostAvailableVcpusArrayOutput) +} + +type IsDedicatedHostAvailableVcpusOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostAvailableVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (o IsDedicatedHostAvailableVcpusOutput) ToIsDedicatedHostAvailableVcpusOutput() IsDedicatedHostAvailableVcpusOutput { + return o +} + +func (o IsDedicatedHostAvailableVcpusOutput) ToIsDedicatedHostAvailableVcpusOutputWithContext(ctx context.Context) IsDedicatedHostAvailableVcpusOutput { + return o +} + +// The VCPU architecture. +func (o IsDedicatedHostAvailableVcpusOutput) Architecture() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostAvailableVcpus) *string { return v.Architecture }).(pulumi.StringPtrOutput) +} + +// The number of VCPUs assigned. +func (o IsDedicatedHostAvailableVcpusOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsDedicatedHostAvailableVcpus) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +type IsDedicatedHostAvailableVcpusArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostAvailableVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (o IsDedicatedHostAvailableVcpusArrayOutput) ToIsDedicatedHostAvailableVcpusArrayOutput() IsDedicatedHostAvailableVcpusArrayOutput { + return o +} + +func (o IsDedicatedHostAvailableVcpusArrayOutput) ToIsDedicatedHostAvailableVcpusArrayOutputWithContext(ctx context.Context) IsDedicatedHostAvailableVcpusArrayOutput { + return o +} + +func (o IsDedicatedHostAvailableVcpusArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostAvailableVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostAvailableVcpus { + return vs[0].([]IsDedicatedHostAvailableVcpus)[vs[1].(int)] + }).(IsDedicatedHostAvailableVcpusOutput) +} + +type IsDedicatedHostDisk struct { + // The remaining space left for instance placement in GB (gigabytes). + Available *int `pulumi:"available"` + // The date and time that the disk was created. + CreatedAt *string `pulumi:"createdAt"` + // The URL for this disk. + Href *string `pulumi:"href"` + // The unique identifier for this disk. + Id *string `pulumi:"id"` + // Instance disks that are on this dedicated host disk. + InstanceDisks []IsDedicatedHostDiskInstanceDisk `pulumi:"instanceDisks"` + // The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType *string `pulumi:"interfaceType"` + // The lifecycle state of this dedicated host disk. + LifecycleState *string `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this disk. + Name *string `pulumi:"name"` + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable *bool `pulumi:"provisionable"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size *int `pulumi:"size"` + // The instance disk interfaces supported for this dedicated host disk. + SupportedInstanceInterfaceTypes []string `pulumi:"supportedInstanceInterfaceTypes"` +} + +// IsDedicatedHostDiskInput is an input type that accepts IsDedicatedHostDiskArgs and IsDedicatedHostDiskOutput values. +// You can construct a concrete instance of `IsDedicatedHostDiskInput` via: +// +// IsDedicatedHostDiskArgs{...} +type IsDedicatedHostDiskInput interface { + pulumi.Input + + ToIsDedicatedHostDiskOutput() IsDedicatedHostDiskOutput + ToIsDedicatedHostDiskOutputWithContext(context.Context) IsDedicatedHostDiskOutput +} + +type IsDedicatedHostDiskArgs struct { + // The remaining space left for instance placement in GB (gigabytes). + Available pulumi.IntPtrInput `pulumi:"available"` + // The date and time that the disk was created. + CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` + // The URL for this disk. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this disk. + Id pulumi.StringPtrInput `pulumi:"id"` + // Instance disks that are on this dedicated host disk. + InstanceDisks IsDedicatedHostDiskInstanceDiskArrayInput `pulumi:"instanceDisks"` + // The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` + // The lifecycle state of this dedicated host disk. + LifecycleState pulumi.StringPtrInput `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this disk. + Name pulumi.StringPtrInput `pulumi:"name"` + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable pulumi.BoolPtrInput `pulumi:"provisionable"` + // The type of resource referenced. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntPtrInput `pulumi:"size"` + // The instance disk interfaces supported for this dedicated host disk. + SupportedInstanceInterfaceTypes pulumi.StringArrayInput `pulumi:"supportedInstanceInterfaceTypes"` +} + +func (IsDedicatedHostDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostDisk)(nil)).Elem() +} + +func (i IsDedicatedHostDiskArgs) ToIsDedicatedHostDiskOutput() IsDedicatedHostDiskOutput { + return i.ToIsDedicatedHostDiskOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostDiskArgs) ToIsDedicatedHostDiskOutputWithContext(ctx context.Context) IsDedicatedHostDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskOutput) +} + +// IsDedicatedHostDiskArrayInput is an input type that accepts IsDedicatedHostDiskArray and IsDedicatedHostDiskArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostDiskArrayInput` via: +// +// IsDedicatedHostDiskArray{ IsDedicatedHostDiskArgs{...} } +type IsDedicatedHostDiskArrayInput interface { + pulumi.Input + + ToIsDedicatedHostDiskArrayOutput() IsDedicatedHostDiskArrayOutput + ToIsDedicatedHostDiskArrayOutputWithContext(context.Context) IsDedicatedHostDiskArrayOutput +} + +type IsDedicatedHostDiskArray []IsDedicatedHostDiskInput + +func (IsDedicatedHostDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostDisk)(nil)).Elem() +} + +func (i IsDedicatedHostDiskArray) ToIsDedicatedHostDiskArrayOutput() IsDedicatedHostDiskArrayOutput { + return i.ToIsDedicatedHostDiskArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostDiskArray) ToIsDedicatedHostDiskArrayOutputWithContext(ctx context.Context) IsDedicatedHostDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskArrayOutput) +} + +type IsDedicatedHostDiskOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostDisk)(nil)).Elem() +} + +func (o IsDedicatedHostDiskOutput) ToIsDedicatedHostDiskOutput() IsDedicatedHostDiskOutput { + return o +} + +func (o IsDedicatedHostDiskOutput) ToIsDedicatedHostDiskOutputWithContext(ctx context.Context) IsDedicatedHostDiskOutput { + return o +} + +// The remaining space left for instance placement in GB (gigabytes). +func (o IsDedicatedHostDiskOutput) Available() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *int { return v.Available }).(pulumi.IntPtrOutput) +} + +// The date and time that the disk was created. +func (o IsDedicatedHostDiskOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// The URL for this disk. +func (o IsDedicatedHostDiskOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this disk. +func (o IsDedicatedHostDiskOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Instance disks that are on this dedicated host disk. +func (o IsDedicatedHostDiskOutput) InstanceDisks() IsDedicatedHostDiskInstanceDiskArrayOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) []IsDedicatedHostDiskInstanceDisk { return v.InstanceDisks }).(IsDedicatedHostDiskInstanceDiskArrayOutput) +} + +// The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o IsDedicatedHostDiskOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) +} + +// The lifecycle state of this dedicated host disk. +func (o IsDedicatedHostDiskOutput) LifecycleState() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *string { return v.LifecycleState }).(pulumi.StringPtrOutput) +} + +// The user-defined or system-provided name for this disk. +func (o IsDedicatedHostDiskOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Indicates whether this dedicated host disk is available for instance disk creation. +func (o IsDedicatedHostDiskOutput) Provisionable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *bool { return v.Provisionable }).(pulumi.BoolPtrOutput) +} + +// The type of resource referenced. +func (o IsDedicatedHostDiskOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The size of the disk in GB (gigabytes). +func (o IsDedicatedHostDiskOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +// The instance disk interfaces supported for this dedicated host disk. +func (o IsDedicatedHostDiskOutput) SupportedInstanceInterfaceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsDedicatedHostDisk) []string { return v.SupportedInstanceInterfaceTypes }).(pulumi.StringArrayOutput) +} + +type IsDedicatedHostDiskArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostDisk)(nil)).Elem() +} + +func (o IsDedicatedHostDiskArrayOutput) ToIsDedicatedHostDiskArrayOutput() IsDedicatedHostDiskArrayOutput { + return o +} + +func (o IsDedicatedHostDiskArrayOutput) ToIsDedicatedHostDiskArrayOutputWithContext(ctx context.Context) IsDedicatedHostDiskArrayOutput { + return o +} + +func (o IsDedicatedHostDiskArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostDisk { + return vs[0].([]IsDedicatedHostDisk)[vs[1].(int)] + }).(IsDedicatedHostDiskOutput) +} + +type IsDedicatedHostDiskInstanceDisk struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsDedicatedHostDiskInstanceDiskDeleted `pulumi:"deleteds"` + // The URL for this instance disk. + Href *string `pulumi:"href"` + // The unique identifier for this instance disk. + Id *string `pulumi:"id"` + // The user-defined name for this disk. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsDedicatedHostDiskInstanceDiskInput is an input type that accepts IsDedicatedHostDiskInstanceDiskArgs and IsDedicatedHostDiskInstanceDiskOutput values. +// You can construct a concrete instance of `IsDedicatedHostDiskInstanceDiskInput` via: +// +// IsDedicatedHostDiskInstanceDiskArgs{...} +type IsDedicatedHostDiskInstanceDiskInput interface { + pulumi.Input + + ToIsDedicatedHostDiskInstanceDiskOutput() IsDedicatedHostDiskInstanceDiskOutput + ToIsDedicatedHostDiskInstanceDiskOutputWithContext(context.Context) IsDedicatedHostDiskInstanceDiskOutput +} + +type IsDedicatedHostDiskInstanceDiskArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsDedicatedHostDiskInstanceDiskDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance disk. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance disk. + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined name for this disk. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsDedicatedHostDiskInstanceDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (i IsDedicatedHostDiskInstanceDiskArgs) ToIsDedicatedHostDiskInstanceDiskOutput() IsDedicatedHostDiskInstanceDiskOutput { + return i.ToIsDedicatedHostDiskInstanceDiskOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostDiskInstanceDiskArgs) ToIsDedicatedHostDiskInstanceDiskOutputWithContext(ctx context.Context) IsDedicatedHostDiskInstanceDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskInstanceDiskOutput) +} + +// IsDedicatedHostDiskInstanceDiskArrayInput is an input type that accepts IsDedicatedHostDiskInstanceDiskArray and IsDedicatedHostDiskInstanceDiskArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostDiskInstanceDiskArrayInput` via: +// +// IsDedicatedHostDiskInstanceDiskArray{ IsDedicatedHostDiskInstanceDiskArgs{...} } +type IsDedicatedHostDiskInstanceDiskArrayInput interface { + pulumi.Input + + ToIsDedicatedHostDiskInstanceDiskArrayOutput() IsDedicatedHostDiskInstanceDiskArrayOutput + ToIsDedicatedHostDiskInstanceDiskArrayOutputWithContext(context.Context) IsDedicatedHostDiskInstanceDiskArrayOutput +} + +type IsDedicatedHostDiskInstanceDiskArray []IsDedicatedHostDiskInstanceDiskInput + +func (IsDedicatedHostDiskInstanceDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (i IsDedicatedHostDiskInstanceDiskArray) ToIsDedicatedHostDiskInstanceDiskArrayOutput() IsDedicatedHostDiskInstanceDiskArrayOutput { + return i.ToIsDedicatedHostDiskInstanceDiskArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostDiskInstanceDiskArray) ToIsDedicatedHostDiskInstanceDiskArrayOutputWithContext(ctx context.Context) IsDedicatedHostDiskInstanceDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskInstanceDiskArrayOutput) +} + +type IsDedicatedHostDiskInstanceDiskOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskInstanceDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (o IsDedicatedHostDiskInstanceDiskOutput) ToIsDedicatedHostDiskInstanceDiskOutput() IsDedicatedHostDiskInstanceDiskOutput { + return o +} + +func (o IsDedicatedHostDiskInstanceDiskOutput) ToIsDedicatedHostDiskInstanceDiskOutputWithContext(ctx context.Context) IsDedicatedHostDiskInstanceDiskOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsDedicatedHostDiskInstanceDiskOutput) Deleteds() IsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o.ApplyT(func(v IsDedicatedHostDiskInstanceDisk) []IsDedicatedHostDiskInstanceDiskDeleted { return v.Deleteds }).(IsDedicatedHostDiskInstanceDiskDeletedArrayOutput) +} + +// The URL for this instance disk. +func (o IsDedicatedHostDiskInstanceDiskOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDiskInstanceDisk) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance disk. +func (o IsDedicatedHostDiskInstanceDiskOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDiskInstanceDisk) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this disk. +func (o IsDedicatedHostDiskInstanceDiskOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDiskInstanceDisk) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsDedicatedHostDiskInstanceDiskOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDiskInstanceDisk) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsDedicatedHostDiskInstanceDiskArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskInstanceDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (o IsDedicatedHostDiskInstanceDiskArrayOutput) ToIsDedicatedHostDiskInstanceDiskArrayOutput() IsDedicatedHostDiskInstanceDiskArrayOutput { + return o +} + +func (o IsDedicatedHostDiskInstanceDiskArrayOutput) ToIsDedicatedHostDiskInstanceDiskArrayOutputWithContext(ctx context.Context) IsDedicatedHostDiskInstanceDiskArrayOutput { + return o +} + +func (o IsDedicatedHostDiskInstanceDiskArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostDiskInstanceDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostDiskInstanceDisk { + return vs[0].([]IsDedicatedHostDiskInstanceDisk)[vs[1].(int)] + }).(IsDedicatedHostDiskInstanceDiskOutput) +} + +type IsDedicatedHostDiskInstanceDiskDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsDedicatedHostDiskInstanceDiskDeletedInput is an input type that accepts IsDedicatedHostDiskInstanceDiskDeletedArgs and IsDedicatedHostDiskInstanceDiskDeletedOutput values. +// You can construct a concrete instance of `IsDedicatedHostDiskInstanceDiskDeletedInput` via: +// +// IsDedicatedHostDiskInstanceDiskDeletedArgs{...} +type IsDedicatedHostDiskInstanceDiskDeletedInput interface { + pulumi.Input + + ToIsDedicatedHostDiskInstanceDiskDeletedOutput() IsDedicatedHostDiskInstanceDiskDeletedOutput + ToIsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(context.Context) IsDedicatedHostDiskInstanceDiskDeletedOutput +} + +type IsDedicatedHostDiskInstanceDiskDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsDedicatedHostDiskInstanceDiskDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (i IsDedicatedHostDiskInstanceDiskDeletedArgs) ToIsDedicatedHostDiskInstanceDiskDeletedOutput() IsDedicatedHostDiskInstanceDiskDeletedOutput { + return i.ToIsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostDiskInstanceDiskDeletedArgs) ToIsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(ctx context.Context) IsDedicatedHostDiskInstanceDiskDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskInstanceDiskDeletedOutput) +} + +// IsDedicatedHostDiskInstanceDiskDeletedArrayInput is an input type that accepts IsDedicatedHostDiskInstanceDiskDeletedArray and IsDedicatedHostDiskInstanceDiskDeletedArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostDiskInstanceDiskDeletedArrayInput` via: +// +// IsDedicatedHostDiskInstanceDiskDeletedArray{ IsDedicatedHostDiskInstanceDiskDeletedArgs{...} } +type IsDedicatedHostDiskInstanceDiskDeletedArrayInput interface { + pulumi.Input + + ToIsDedicatedHostDiskInstanceDiskDeletedArrayOutput() IsDedicatedHostDiskInstanceDiskDeletedArrayOutput + ToIsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(context.Context) IsDedicatedHostDiskInstanceDiskDeletedArrayOutput +} + +type IsDedicatedHostDiskInstanceDiskDeletedArray []IsDedicatedHostDiskInstanceDiskDeletedInput + +func (IsDedicatedHostDiskInstanceDiskDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (i IsDedicatedHostDiskInstanceDiskDeletedArray) ToIsDedicatedHostDiskInstanceDiskDeletedArrayOutput() IsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return i.ToIsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostDiskInstanceDiskDeletedArray) ToIsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(ctx context.Context) IsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskInstanceDiskDeletedArrayOutput) +} + +type IsDedicatedHostDiskInstanceDiskDeletedOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskInstanceDiskDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (o IsDedicatedHostDiskInstanceDiskDeletedOutput) ToIsDedicatedHostDiskInstanceDiskDeletedOutput() IsDedicatedHostDiskInstanceDiskDeletedOutput { + return o +} + +func (o IsDedicatedHostDiskInstanceDiskDeletedOutput) ToIsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(ctx context.Context) IsDedicatedHostDiskInstanceDiskDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsDedicatedHostDiskInstanceDiskDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostDiskInstanceDiskDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsDedicatedHostDiskInstanceDiskDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (o IsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ToIsDedicatedHostDiskInstanceDiskDeletedArrayOutput() IsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o +} + +func (o IsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ToIsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(ctx context.Context) IsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o +} + +func (o IsDedicatedHostDiskInstanceDiskDeletedArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostDiskInstanceDiskDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostDiskInstanceDiskDeleted { + return vs[0].([]IsDedicatedHostDiskInstanceDiskDeleted)[vs[1].(int)] + }).(IsDedicatedHostDiskInstanceDiskDeletedOutput) +} + +type IsDedicatedHostDiskManagementDisk struct { + // The unique identifier for this disk. + Id string `pulumi:"id"` + // The user-defined name for this disk. The disk will be updated with this new name + Name string `pulumi:"name"` +} + +// IsDedicatedHostDiskManagementDiskInput is an input type that accepts IsDedicatedHostDiskManagementDiskArgs and IsDedicatedHostDiskManagementDiskOutput values. +// You can construct a concrete instance of `IsDedicatedHostDiskManagementDiskInput` via: +// +// IsDedicatedHostDiskManagementDiskArgs{...} +type IsDedicatedHostDiskManagementDiskInput interface { + pulumi.Input + + ToIsDedicatedHostDiskManagementDiskOutput() IsDedicatedHostDiskManagementDiskOutput + ToIsDedicatedHostDiskManagementDiskOutputWithContext(context.Context) IsDedicatedHostDiskManagementDiskOutput +} + +type IsDedicatedHostDiskManagementDiskArgs struct { + // The unique identifier for this disk. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this disk. The disk will be updated with this new name + Name pulumi.StringInput `pulumi:"name"` +} + +func (IsDedicatedHostDiskManagementDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostDiskManagementDisk)(nil)).Elem() +} + +func (i IsDedicatedHostDiskManagementDiskArgs) ToIsDedicatedHostDiskManagementDiskOutput() IsDedicatedHostDiskManagementDiskOutput { + return i.ToIsDedicatedHostDiskManagementDiskOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostDiskManagementDiskArgs) ToIsDedicatedHostDiskManagementDiskOutputWithContext(ctx context.Context) IsDedicatedHostDiskManagementDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskManagementDiskOutput) +} + +// IsDedicatedHostDiskManagementDiskArrayInput is an input type that accepts IsDedicatedHostDiskManagementDiskArray and IsDedicatedHostDiskManagementDiskArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostDiskManagementDiskArrayInput` via: +// +// IsDedicatedHostDiskManagementDiskArray{ IsDedicatedHostDiskManagementDiskArgs{...} } +type IsDedicatedHostDiskManagementDiskArrayInput interface { + pulumi.Input + + ToIsDedicatedHostDiskManagementDiskArrayOutput() IsDedicatedHostDiskManagementDiskArrayOutput + ToIsDedicatedHostDiskManagementDiskArrayOutputWithContext(context.Context) IsDedicatedHostDiskManagementDiskArrayOutput +} + +type IsDedicatedHostDiskManagementDiskArray []IsDedicatedHostDiskManagementDiskInput + +func (IsDedicatedHostDiskManagementDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostDiskManagementDisk)(nil)).Elem() +} + +func (i IsDedicatedHostDiskManagementDiskArray) ToIsDedicatedHostDiskManagementDiskArrayOutput() IsDedicatedHostDiskManagementDiskArrayOutput { + return i.ToIsDedicatedHostDiskManagementDiskArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostDiskManagementDiskArray) ToIsDedicatedHostDiskManagementDiskArrayOutputWithContext(ctx context.Context) IsDedicatedHostDiskManagementDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostDiskManagementDiskArrayOutput) +} + +type IsDedicatedHostDiskManagementDiskOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskManagementDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostDiskManagementDisk)(nil)).Elem() +} + +func (o IsDedicatedHostDiskManagementDiskOutput) ToIsDedicatedHostDiskManagementDiskOutput() IsDedicatedHostDiskManagementDiskOutput { + return o +} + +func (o IsDedicatedHostDiskManagementDiskOutput) ToIsDedicatedHostDiskManagementDiskOutputWithContext(ctx context.Context) IsDedicatedHostDiskManagementDiskOutput { + return o +} + +// The unique identifier for this disk. +func (o IsDedicatedHostDiskManagementDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsDedicatedHostDiskManagementDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this disk. The disk will be updated with this new name +func (o IsDedicatedHostDiskManagementDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsDedicatedHostDiskManagementDisk) string { return v.Name }).(pulumi.StringOutput) +} + +type IsDedicatedHostDiskManagementDiskArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostDiskManagementDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostDiskManagementDisk)(nil)).Elem() +} + +func (o IsDedicatedHostDiskManagementDiskArrayOutput) ToIsDedicatedHostDiskManagementDiskArrayOutput() IsDedicatedHostDiskManagementDiskArrayOutput { + return o +} + +func (o IsDedicatedHostDiskManagementDiskArrayOutput) ToIsDedicatedHostDiskManagementDiskArrayOutputWithContext(ctx context.Context) IsDedicatedHostDiskManagementDiskArrayOutput { + return o +} + +func (o IsDedicatedHostDiskManagementDiskArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostDiskManagementDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostDiskManagementDisk { + return vs[0].([]IsDedicatedHostDiskManagementDisk)[vs[1].(int)] + }).(IsDedicatedHostDiskManagementDiskOutput) +} + +type IsDedicatedHostGroupDedicatedHost struct { + // The CRN for this dedicated host. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsDedicatedHostGroupDedicatedHostDeleted `pulumi:"deleteds"` + // The URL for this dedicated host. + Href *string `pulumi:"href"` + // The unique identifier for this dedicated host. + Id *string `pulumi:"id"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` +} + +// IsDedicatedHostGroupDedicatedHostInput is an input type that accepts IsDedicatedHostGroupDedicatedHostArgs and IsDedicatedHostGroupDedicatedHostOutput values. +// You can construct a concrete instance of `IsDedicatedHostGroupDedicatedHostInput` via: +// +// IsDedicatedHostGroupDedicatedHostArgs{...} +type IsDedicatedHostGroupDedicatedHostInput interface { + pulumi.Input + + ToIsDedicatedHostGroupDedicatedHostOutput() IsDedicatedHostGroupDedicatedHostOutput + ToIsDedicatedHostGroupDedicatedHostOutputWithContext(context.Context) IsDedicatedHostGroupDedicatedHostOutput +} + +type IsDedicatedHostGroupDedicatedHostArgs struct { + // The CRN for this dedicated host. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsDedicatedHostGroupDedicatedHostDeletedArrayInput `pulumi:"deleteds"` + // The URL for this dedicated host. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this dedicated host. + Id pulumi.StringPtrInput `pulumi:"id"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsDedicatedHostGroupDedicatedHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostGroupDedicatedHost)(nil)).Elem() +} + +func (i IsDedicatedHostGroupDedicatedHostArgs) ToIsDedicatedHostGroupDedicatedHostOutput() IsDedicatedHostGroupDedicatedHostOutput { + return i.ToIsDedicatedHostGroupDedicatedHostOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostGroupDedicatedHostArgs) ToIsDedicatedHostGroupDedicatedHostOutputWithContext(ctx context.Context) IsDedicatedHostGroupDedicatedHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostGroupDedicatedHostOutput) +} + +// IsDedicatedHostGroupDedicatedHostArrayInput is an input type that accepts IsDedicatedHostGroupDedicatedHostArray and IsDedicatedHostGroupDedicatedHostArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostGroupDedicatedHostArrayInput` via: +// +// IsDedicatedHostGroupDedicatedHostArray{ IsDedicatedHostGroupDedicatedHostArgs{...} } +type IsDedicatedHostGroupDedicatedHostArrayInput interface { + pulumi.Input + + ToIsDedicatedHostGroupDedicatedHostArrayOutput() IsDedicatedHostGroupDedicatedHostArrayOutput + ToIsDedicatedHostGroupDedicatedHostArrayOutputWithContext(context.Context) IsDedicatedHostGroupDedicatedHostArrayOutput +} + +type IsDedicatedHostGroupDedicatedHostArray []IsDedicatedHostGroupDedicatedHostInput + +func (IsDedicatedHostGroupDedicatedHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostGroupDedicatedHost)(nil)).Elem() +} + +func (i IsDedicatedHostGroupDedicatedHostArray) ToIsDedicatedHostGroupDedicatedHostArrayOutput() IsDedicatedHostGroupDedicatedHostArrayOutput { + return i.ToIsDedicatedHostGroupDedicatedHostArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostGroupDedicatedHostArray) ToIsDedicatedHostGroupDedicatedHostArrayOutputWithContext(ctx context.Context) IsDedicatedHostGroupDedicatedHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostGroupDedicatedHostArrayOutput) +} + +type IsDedicatedHostGroupDedicatedHostOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostGroupDedicatedHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostGroupDedicatedHost)(nil)).Elem() +} + +func (o IsDedicatedHostGroupDedicatedHostOutput) ToIsDedicatedHostGroupDedicatedHostOutput() IsDedicatedHostGroupDedicatedHostOutput { + return o +} + +func (o IsDedicatedHostGroupDedicatedHostOutput) ToIsDedicatedHostGroupDedicatedHostOutputWithContext(ctx context.Context) IsDedicatedHostGroupDedicatedHostOutput { + return o +} + +// The CRN for this dedicated host. +func (o IsDedicatedHostGroupDedicatedHostOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostGroupDedicatedHost) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsDedicatedHostGroupDedicatedHostOutput) Deleteds() IsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return o.ApplyT(func(v IsDedicatedHostGroupDedicatedHost) []IsDedicatedHostGroupDedicatedHostDeleted { + return v.Deleteds + }).(IsDedicatedHostGroupDedicatedHostDeletedArrayOutput) +} + +// The URL for this dedicated host. +func (o IsDedicatedHostGroupDedicatedHostOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostGroupDedicatedHost) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this dedicated host. +func (o IsDedicatedHostGroupDedicatedHostOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostGroupDedicatedHost) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsDedicatedHostGroupDedicatedHostOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostGroupDedicatedHost) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The type of resource referenced. +func (o IsDedicatedHostGroupDedicatedHostOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostGroupDedicatedHost) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsDedicatedHostGroupDedicatedHostArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostGroupDedicatedHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostGroupDedicatedHost)(nil)).Elem() +} + +func (o IsDedicatedHostGroupDedicatedHostArrayOutput) ToIsDedicatedHostGroupDedicatedHostArrayOutput() IsDedicatedHostGroupDedicatedHostArrayOutput { + return o +} + +func (o IsDedicatedHostGroupDedicatedHostArrayOutput) ToIsDedicatedHostGroupDedicatedHostArrayOutputWithContext(ctx context.Context) IsDedicatedHostGroupDedicatedHostArrayOutput { + return o +} + +func (o IsDedicatedHostGroupDedicatedHostArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostGroupDedicatedHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostGroupDedicatedHost { + return vs[0].([]IsDedicatedHostGroupDedicatedHost)[vs[1].(int)] + }).(IsDedicatedHostGroupDedicatedHostOutput) +} + +type IsDedicatedHostGroupDedicatedHostDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsDedicatedHostGroupDedicatedHostDeletedInput is an input type that accepts IsDedicatedHostGroupDedicatedHostDeletedArgs and IsDedicatedHostGroupDedicatedHostDeletedOutput values. +// You can construct a concrete instance of `IsDedicatedHostGroupDedicatedHostDeletedInput` via: +// +// IsDedicatedHostGroupDedicatedHostDeletedArgs{...} +type IsDedicatedHostGroupDedicatedHostDeletedInput interface { + pulumi.Input + + ToIsDedicatedHostGroupDedicatedHostDeletedOutput() IsDedicatedHostGroupDedicatedHostDeletedOutput + ToIsDedicatedHostGroupDedicatedHostDeletedOutputWithContext(context.Context) IsDedicatedHostGroupDedicatedHostDeletedOutput +} + +type IsDedicatedHostGroupDedicatedHostDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsDedicatedHostGroupDedicatedHostDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (i IsDedicatedHostGroupDedicatedHostDeletedArgs) ToIsDedicatedHostGroupDedicatedHostDeletedOutput() IsDedicatedHostGroupDedicatedHostDeletedOutput { + return i.ToIsDedicatedHostGroupDedicatedHostDeletedOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostGroupDedicatedHostDeletedArgs) ToIsDedicatedHostGroupDedicatedHostDeletedOutputWithContext(ctx context.Context) IsDedicatedHostGroupDedicatedHostDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostGroupDedicatedHostDeletedOutput) +} + +// IsDedicatedHostGroupDedicatedHostDeletedArrayInput is an input type that accepts IsDedicatedHostGroupDedicatedHostDeletedArray and IsDedicatedHostGroupDedicatedHostDeletedArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostGroupDedicatedHostDeletedArrayInput` via: +// +// IsDedicatedHostGroupDedicatedHostDeletedArray{ IsDedicatedHostGroupDedicatedHostDeletedArgs{...} } +type IsDedicatedHostGroupDedicatedHostDeletedArrayInput interface { + pulumi.Input + + ToIsDedicatedHostGroupDedicatedHostDeletedArrayOutput() IsDedicatedHostGroupDedicatedHostDeletedArrayOutput + ToIsDedicatedHostGroupDedicatedHostDeletedArrayOutputWithContext(context.Context) IsDedicatedHostGroupDedicatedHostDeletedArrayOutput +} + +type IsDedicatedHostGroupDedicatedHostDeletedArray []IsDedicatedHostGroupDedicatedHostDeletedInput + +func (IsDedicatedHostGroupDedicatedHostDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (i IsDedicatedHostGroupDedicatedHostDeletedArray) ToIsDedicatedHostGroupDedicatedHostDeletedArrayOutput() IsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return i.ToIsDedicatedHostGroupDedicatedHostDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostGroupDedicatedHostDeletedArray) ToIsDedicatedHostGroupDedicatedHostDeletedArrayOutputWithContext(ctx context.Context) IsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostGroupDedicatedHostDeletedArrayOutput) +} + +type IsDedicatedHostGroupDedicatedHostDeletedOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostGroupDedicatedHostDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (o IsDedicatedHostGroupDedicatedHostDeletedOutput) ToIsDedicatedHostGroupDedicatedHostDeletedOutput() IsDedicatedHostGroupDedicatedHostDeletedOutput { + return o +} + +func (o IsDedicatedHostGroupDedicatedHostDeletedOutput) ToIsDedicatedHostGroupDedicatedHostDeletedOutputWithContext(ctx context.Context) IsDedicatedHostGroupDedicatedHostDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsDedicatedHostGroupDedicatedHostDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostGroupDedicatedHostDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsDedicatedHostGroupDedicatedHostDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostGroupDedicatedHostDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (o IsDedicatedHostGroupDedicatedHostDeletedArrayOutput) ToIsDedicatedHostGroupDedicatedHostDeletedArrayOutput() IsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return o +} + +func (o IsDedicatedHostGroupDedicatedHostDeletedArrayOutput) ToIsDedicatedHostGroupDedicatedHostDeletedArrayOutputWithContext(ctx context.Context) IsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return o +} + +func (o IsDedicatedHostGroupDedicatedHostDeletedArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostGroupDedicatedHostDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostGroupDedicatedHostDeleted { + return vs[0].([]IsDedicatedHostGroupDedicatedHostDeleted)[vs[1].(int)] + }).(IsDedicatedHostGroupDedicatedHostDeletedOutput) +} + +type IsDedicatedHostGroupSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href *string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name *string `pulumi:"name"` +} + +// IsDedicatedHostGroupSupportedInstanceProfileInput is an input type that accepts IsDedicatedHostGroupSupportedInstanceProfileArgs and IsDedicatedHostGroupSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `IsDedicatedHostGroupSupportedInstanceProfileInput` via: +// +// IsDedicatedHostGroupSupportedInstanceProfileArgs{...} +type IsDedicatedHostGroupSupportedInstanceProfileInput interface { + pulumi.Input + + ToIsDedicatedHostGroupSupportedInstanceProfileOutput() IsDedicatedHostGroupSupportedInstanceProfileOutput + ToIsDedicatedHostGroupSupportedInstanceProfileOutputWithContext(context.Context) IsDedicatedHostGroupSupportedInstanceProfileOutput +} + +type IsDedicatedHostGroupSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsDedicatedHostGroupSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (i IsDedicatedHostGroupSupportedInstanceProfileArgs) ToIsDedicatedHostGroupSupportedInstanceProfileOutput() IsDedicatedHostGroupSupportedInstanceProfileOutput { + return i.ToIsDedicatedHostGroupSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostGroupSupportedInstanceProfileArgs) ToIsDedicatedHostGroupSupportedInstanceProfileOutputWithContext(ctx context.Context) IsDedicatedHostGroupSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostGroupSupportedInstanceProfileOutput) +} + +// IsDedicatedHostGroupSupportedInstanceProfileArrayInput is an input type that accepts IsDedicatedHostGroupSupportedInstanceProfileArray and IsDedicatedHostGroupSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostGroupSupportedInstanceProfileArrayInput` via: +// +// IsDedicatedHostGroupSupportedInstanceProfileArray{ IsDedicatedHostGroupSupportedInstanceProfileArgs{...} } +type IsDedicatedHostGroupSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToIsDedicatedHostGroupSupportedInstanceProfileArrayOutput() IsDedicatedHostGroupSupportedInstanceProfileArrayOutput + ToIsDedicatedHostGroupSupportedInstanceProfileArrayOutputWithContext(context.Context) IsDedicatedHostGroupSupportedInstanceProfileArrayOutput +} + +type IsDedicatedHostGroupSupportedInstanceProfileArray []IsDedicatedHostGroupSupportedInstanceProfileInput + +func (IsDedicatedHostGroupSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (i IsDedicatedHostGroupSupportedInstanceProfileArray) ToIsDedicatedHostGroupSupportedInstanceProfileArrayOutput() IsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return i.ToIsDedicatedHostGroupSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostGroupSupportedInstanceProfileArray) ToIsDedicatedHostGroupSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) IsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostGroupSupportedInstanceProfileArrayOutput) +} + +type IsDedicatedHostGroupSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostGroupSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (o IsDedicatedHostGroupSupportedInstanceProfileOutput) ToIsDedicatedHostGroupSupportedInstanceProfileOutput() IsDedicatedHostGroupSupportedInstanceProfileOutput { + return o +} + +func (o IsDedicatedHostGroupSupportedInstanceProfileOutput) ToIsDedicatedHostGroupSupportedInstanceProfileOutputWithContext(ctx context.Context) IsDedicatedHostGroupSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o IsDedicatedHostGroupSupportedInstanceProfileOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostGroupSupportedInstanceProfile) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o IsDedicatedHostGroupSupportedInstanceProfileOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostGroupSupportedInstanceProfile) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsDedicatedHostGroupSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostGroupSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (o IsDedicatedHostGroupSupportedInstanceProfileArrayOutput) ToIsDedicatedHostGroupSupportedInstanceProfileArrayOutput() IsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return o +} + +func (o IsDedicatedHostGroupSupportedInstanceProfileArrayOutput) ToIsDedicatedHostGroupSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) IsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return o +} + +func (o IsDedicatedHostGroupSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostGroupSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostGroupSupportedInstanceProfile { + return vs[0].([]IsDedicatedHostGroupSupportedInstanceProfile)[vs[1].(int)] + }).(IsDedicatedHostGroupSupportedInstanceProfileOutput) +} + +type IsDedicatedHostInstance struct { + // The CRN for this virtual server instance. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsDedicatedHostInstanceDeleted `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href *string `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id *string `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name *string `pulumi:"name"` +} + +// IsDedicatedHostInstanceInput is an input type that accepts IsDedicatedHostInstanceArgs and IsDedicatedHostInstanceOutput values. +// You can construct a concrete instance of `IsDedicatedHostInstanceInput` via: +// +// IsDedicatedHostInstanceArgs{...} +type IsDedicatedHostInstanceInput interface { + pulumi.Input + + ToIsDedicatedHostInstanceOutput() IsDedicatedHostInstanceOutput + ToIsDedicatedHostInstanceOutputWithContext(context.Context) IsDedicatedHostInstanceOutput +} + +type IsDedicatedHostInstanceArgs struct { + // The CRN for this virtual server instance. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsDedicatedHostInstanceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsDedicatedHostInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostInstance)(nil)).Elem() +} + +func (i IsDedicatedHostInstanceArgs) ToIsDedicatedHostInstanceOutput() IsDedicatedHostInstanceOutput { + return i.ToIsDedicatedHostInstanceOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostInstanceArgs) ToIsDedicatedHostInstanceOutputWithContext(ctx context.Context) IsDedicatedHostInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostInstanceOutput) +} + +// IsDedicatedHostInstanceArrayInput is an input type that accepts IsDedicatedHostInstanceArray and IsDedicatedHostInstanceArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostInstanceArrayInput` via: +// +// IsDedicatedHostInstanceArray{ IsDedicatedHostInstanceArgs{...} } +type IsDedicatedHostInstanceArrayInput interface { + pulumi.Input + + ToIsDedicatedHostInstanceArrayOutput() IsDedicatedHostInstanceArrayOutput + ToIsDedicatedHostInstanceArrayOutputWithContext(context.Context) IsDedicatedHostInstanceArrayOutput +} + +type IsDedicatedHostInstanceArray []IsDedicatedHostInstanceInput + +func (IsDedicatedHostInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostInstance)(nil)).Elem() +} + +func (i IsDedicatedHostInstanceArray) ToIsDedicatedHostInstanceArrayOutput() IsDedicatedHostInstanceArrayOutput { + return i.ToIsDedicatedHostInstanceArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostInstanceArray) ToIsDedicatedHostInstanceArrayOutputWithContext(ctx context.Context) IsDedicatedHostInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostInstanceArrayOutput) +} + +type IsDedicatedHostInstanceOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostInstance)(nil)).Elem() +} + +func (o IsDedicatedHostInstanceOutput) ToIsDedicatedHostInstanceOutput() IsDedicatedHostInstanceOutput { + return o +} + +func (o IsDedicatedHostInstanceOutput) ToIsDedicatedHostInstanceOutputWithContext(ctx context.Context) IsDedicatedHostInstanceOutput { + return o +} + +// The CRN for this virtual server instance. +func (o IsDedicatedHostInstanceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostInstance) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsDedicatedHostInstanceOutput) Deleteds() IsDedicatedHostInstanceDeletedArrayOutput { + return o.ApplyT(func(v IsDedicatedHostInstance) []IsDedicatedHostInstanceDeleted { return v.Deleteds }).(IsDedicatedHostInstanceDeletedArrayOutput) +} + +// The URL for this virtual server instance. +func (o IsDedicatedHostInstanceOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostInstance) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this virtual server instance. +func (o IsDedicatedHostInstanceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostInstance) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o IsDedicatedHostInstanceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostInstance) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsDedicatedHostInstanceArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostInstance)(nil)).Elem() +} + +func (o IsDedicatedHostInstanceArrayOutput) ToIsDedicatedHostInstanceArrayOutput() IsDedicatedHostInstanceArrayOutput { + return o +} + +func (o IsDedicatedHostInstanceArrayOutput) ToIsDedicatedHostInstanceArrayOutputWithContext(ctx context.Context) IsDedicatedHostInstanceArrayOutput { + return o +} + +func (o IsDedicatedHostInstanceArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostInstance { + return vs[0].([]IsDedicatedHostInstance)[vs[1].(int)] + }).(IsDedicatedHostInstanceOutput) +} + +type IsDedicatedHostInstanceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsDedicatedHostInstanceDeletedInput is an input type that accepts IsDedicatedHostInstanceDeletedArgs and IsDedicatedHostInstanceDeletedOutput values. +// You can construct a concrete instance of `IsDedicatedHostInstanceDeletedInput` via: +// +// IsDedicatedHostInstanceDeletedArgs{...} +type IsDedicatedHostInstanceDeletedInput interface { + pulumi.Input + + ToIsDedicatedHostInstanceDeletedOutput() IsDedicatedHostInstanceDeletedOutput + ToIsDedicatedHostInstanceDeletedOutputWithContext(context.Context) IsDedicatedHostInstanceDeletedOutput +} + +type IsDedicatedHostInstanceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsDedicatedHostInstanceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (i IsDedicatedHostInstanceDeletedArgs) ToIsDedicatedHostInstanceDeletedOutput() IsDedicatedHostInstanceDeletedOutput { + return i.ToIsDedicatedHostInstanceDeletedOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostInstanceDeletedArgs) ToIsDedicatedHostInstanceDeletedOutputWithContext(ctx context.Context) IsDedicatedHostInstanceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostInstanceDeletedOutput) +} + +// IsDedicatedHostInstanceDeletedArrayInput is an input type that accepts IsDedicatedHostInstanceDeletedArray and IsDedicatedHostInstanceDeletedArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostInstanceDeletedArrayInput` via: +// +// IsDedicatedHostInstanceDeletedArray{ IsDedicatedHostInstanceDeletedArgs{...} } +type IsDedicatedHostInstanceDeletedArrayInput interface { + pulumi.Input + + ToIsDedicatedHostInstanceDeletedArrayOutput() IsDedicatedHostInstanceDeletedArrayOutput + ToIsDedicatedHostInstanceDeletedArrayOutputWithContext(context.Context) IsDedicatedHostInstanceDeletedArrayOutput +} + +type IsDedicatedHostInstanceDeletedArray []IsDedicatedHostInstanceDeletedInput + +func (IsDedicatedHostInstanceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (i IsDedicatedHostInstanceDeletedArray) ToIsDedicatedHostInstanceDeletedArrayOutput() IsDedicatedHostInstanceDeletedArrayOutput { + return i.ToIsDedicatedHostInstanceDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostInstanceDeletedArray) ToIsDedicatedHostInstanceDeletedArrayOutputWithContext(ctx context.Context) IsDedicatedHostInstanceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostInstanceDeletedArrayOutput) +} + +type IsDedicatedHostInstanceDeletedOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostInstanceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (o IsDedicatedHostInstanceDeletedOutput) ToIsDedicatedHostInstanceDeletedOutput() IsDedicatedHostInstanceDeletedOutput { + return o +} + +func (o IsDedicatedHostInstanceDeletedOutput) ToIsDedicatedHostInstanceDeletedOutputWithContext(ctx context.Context) IsDedicatedHostInstanceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsDedicatedHostInstanceDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostInstanceDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsDedicatedHostInstanceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostInstanceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (o IsDedicatedHostInstanceDeletedArrayOutput) ToIsDedicatedHostInstanceDeletedArrayOutput() IsDedicatedHostInstanceDeletedArrayOutput { + return o +} + +func (o IsDedicatedHostInstanceDeletedArrayOutput) ToIsDedicatedHostInstanceDeletedArrayOutputWithContext(ctx context.Context) IsDedicatedHostInstanceDeletedArrayOutput { + return o +} + +func (o IsDedicatedHostInstanceDeletedArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostInstanceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostInstanceDeleted { + return vs[0].([]IsDedicatedHostInstanceDeleted)[vs[1].(int)] + }).(IsDedicatedHostInstanceDeletedOutput) +} + +type IsDedicatedHostNuma struct { + // The total number of NUMA nodes for this dedicated host + Count *int `pulumi:"count"` + // The NUMA nodes for this dedicated host. + Nodes []IsDedicatedHostNumaNode `pulumi:"nodes"` +} + +// IsDedicatedHostNumaInput is an input type that accepts IsDedicatedHostNumaArgs and IsDedicatedHostNumaOutput values. +// You can construct a concrete instance of `IsDedicatedHostNumaInput` via: +// +// IsDedicatedHostNumaArgs{...} +type IsDedicatedHostNumaInput interface { + pulumi.Input + + ToIsDedicatedHostNumaOutput() IsDedicatedHostNumaOutput + ToIsDedicatedHostNumaOutputWithContext(context.Context) IsDedicatedHostNumaOutput +} + +type IsDedicatedHostNumaArgs struct { + // The total number of NUMA nodes for this dedicated host + Count pulumi.IntPtrInput `pulumi:"count"` + // The NUMA nodes for this dedicated host. + Nodes IsDedicatedHostNumaNodeArrayInput `pulumi:"nodes"` +} + +func (IsDedicatedHostNumaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostNuma)(nil)).Elem() +} + +func (i IsDedicatedHostNumaArgs) ToIsDedicatedHostNumaOutput() IsDedicatedHostNumaOutput { + return i.ToIsDedicatedHostNumaOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostNumaArgs) ToIsDedicatedHostNumaOutputWithContext(ctx context.Context) IsDedicatedHostNumaOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostNumaOutput) +} + +// IsDedicatedHostNumaArrayInput is an input type that accepts IsDedicatedHostNumaArray and IsDedicatedHostNumaArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostNumaArrayInput` via: +// +// IsDedicatedHostNumaArray{ IsDedicatedHostNumaArgs{...} } +type IsDedicatedHostNumaArrayInput interface { + pulumi.Input + + ToIsDedicatedHostNumaArrayOutput() IsDedicatedHostNumaArrayOutput + ToIsDedicatedHostNumaArrayOutputWithContext(context.Context) IsDedicatedHostNumaArrayOutput +} + +type IsDedicatedHostNumaArray []IsDedicatedHostNumaInput + +func (IsDedicatedHostNumaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostNuma)(nil)).Elem() +} + +func (i IsDedicatedHostNumaArray) ToIsDedicatedHostNumaArrayOutput() IsDedicatedHostNumaArrayOutput { + return i.ToIsDedicatedHostNumaArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostNumaArray) ToIsDedicatedHostNumaArrayOutputWithContext(ctx context.Context) IsDedicatedHostNumaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostNumaArrayOutput) +} + +type IsDedicatedHostNumaOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostNumaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostNuma)(nil)).Elem() +} + +func (o IsDedicatedHostNumaOutput) ToIsDedicatedHostNumaOutput() IsDedicatedHostNumaOutput { + return o +} + +func (o IsDedicatedHostNumaOutput) ToIsDedicatedHostNumaOutputWithContext(ctx context.Context) IsDedicatedHostNumaOutput { + return o +} + +// The total number of NUMA nodes for this dedicated host +func (o IsDedicatedHostNumaOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsDedicatedHostNuma) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// The NUMA nodes for this dedicated host. +func (o IsDedicatedHostNumaOutput) Nodes() IsDedicatedHostNumaNodeArrayOutput { + return o.ApplyT(func(v IsDedicatedHostNuma) []IsDedicatedHostNumaNode { return v.Nodes }).(IsDedicatedHostNumaNodeArrayOutput) +} + +type IsDedicatedHostNumaArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostNumaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostNuma)(nil)).Elem() +} + +func (o IsDedicatedHostNumaArrayOutput) ToIsDedicatedHostNumaArrayOutput() IsDedicatedHostNumaArrayOutput { + return o +} + +func (o IsDedicatedHostNumaArrayOutput) ToIsDedicatedHostNumaArrayOutputWithContext(ctx context.Context) IsDedicatedHostNumaArrayOutput { + return o +} + +func (o IsDedicatedHostNumaArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostNumaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostNuma { + return vs[0].([]IsDedicatedHostNuma)[vs[1].(int)] + }).(IsDedicatedHostNumaOutput) +} + +type IsDedicatedHostNumaNode struct { + // The available VCPU for this NUMA node. + AvailableVcpu *int `pulumi:"availableVcpu"` + // The total VCPU capacity for this NUMA node. + Vcpu *int `pulumi:"vcpu"` +} + +// IsDedicatedHostNumaNodeInput is an input type that accepts IsDedicatedHostNumaNodeArgs and IsDedicatedHostNumaNodeOutput values. +// You can construct a concrete instance of `IsDedicatedHostNumaNodeInput` via: +// +// IsDedicatedHostNumaNodeArgs{...} +type IsDedicatedHostNumaNodeInput interface { + pulumi.Input + + ToIsDedicatedHostNumaNodeOutput() IsDedicatedHostNumaNodeOutput + ToIsDedicatedHostNumaNodeOutputWithContext(context.Context) IsDedicatedHostNumaNodeOutput +} + +type IsDedicatedHostNumaNodeArgs struct { + // The available VCPU for this NUMA node. + AvailableVcpu pulumi.IntPtrInput `pulumi:"availableVcpu"` + // The total VCPU capacity for this NUMA node. + Vcpu pulumi.IntPtrInput `pulumi:"vcpu"` +} + +func (IsDedicatedHostNumaNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostNumaNode)(nil)).Elem() +} + +func (i IsDedicatedHostNumaNodeArgs) ToIsDedicatedHostNumaNodeOutput() IsDedicatedHostNumaNodeOutput { + return i.ToIsDedicatedHostNumaNodeOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostNumaNodeArgs) ToIsDedicatedHostNumaNodeOutputWithContext(ctx context.Context) IsDedicatedHostNumaNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostNumaNodeOutput) +} + +// IsDedicatedHostNumaNodeArrayInput is an input type that accepts IsDedicatedHostNumaNodeArray and IsDedicatedHostNumaNodeArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostNumaNodeArrayInput` via: +// +// IsDedicatedHostNumaNodeArray{ IsDedicatedHostNumaNodeArgs{...} } +type IsDedicatedHostNumaNodeArrayInput interface { + pulumi.Input + + ToIsDedicatedHostNumaNodeArrayOutput() IsDedicatedHostNumaNodeArrayOutput + ToIsDedicatedHostNumaNodeArrayOutputWithContext(context.Context) IsDedicatedHostNumaNodeArrayOutput +} + +type IsDedicatedHostNumaNodeArray []IsDedicatedHostNumaNodeInput + +func (IsDedicatedHostNumaNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostNumaNode)(nil)).Elem() +} + +func (i IsDedicatedHostNumaNodeArray) ToIsDedicatedHostNumaNodeArrayOutput() IsDedicatedHostNumaNodeArrayOutput { + return i.ToIsDedicatedHostNumaNodeArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostNumaNodeArray) ToIsDedicatedHostNumaNodeArrayOutputWithContext(ctx context.Context) IsDedicatedHostNumaNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostNumaNodeArrayOutput) +} + +type IsDedicatedHostNumaNodeOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostNumaNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostNumaNode)(nil)).Elem() +} + +func (o IsDedicatedHostNumaNodeOutput) ToIsDedicatedHostNumaNodeOutput() IsDedicatedHostNumaNodeOutput { + return o +} + +func (o IsDedicatedHostNumaNodeOutput) ToIsDedicatedHostNumaNodeOutputWithContext(ctx context.Context) IsDedicatedHostNumaNodeOutput { + return o +} + +// The available VCPU for this NUMA node. +func (o IsDedicatedHostNumaNodeOutput) AvailableVcpu() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsDedicatedHostNumaNode) *int { return v.AvailableVcpu }).(pulumi.IntPtrOutput) +} + +// The total VCPU capacity for this NUMA node. +func (o IsDedicatedHostNumaNodeOutput) Vcpu() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsDedicatedHostNumaNode) *int { return v.Vcpu }).(pulumi.IntPtrOutput) +} + +type IsDedicatedHostNumaNodeArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostNumaNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostNumaNode)(nil)).Elem() +} + +func (o IsDedicatedHostNumaNodeArrayOutput) ToIsDedicatedHostNumaNodeArrayOutput() IsDedicatedHostNumaNodeArrayOutput { + return o +} + +func (o IsDedicatedHostNumaNodeArrayOutput) ToIsDedicatedHostNumaNodeArrayOutputWithContext(ctx context.Context) IsDedicatedHostNumaNodeArrayOutput { + return o +} + +func (o IsDedicatedHostNumaNodeArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostNumaNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostNumaNode { + return vs[0].([]IsDedicatedHostNumaNode)[vs[1].(int)] + }).(IsDedicatedHostNumaNodeOutput) +} + +type IsDedicatedHostSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href *string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name *string `pulumi:"name"` +} + +// IsDedicatedHostSupportedInstanceProfileInput is an input type that accepts IsDedicatedHostSupportedInstanceProfileArgs and IsDedicatedHostSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `IsDedicatedHostSupportedInstanceProfileInput` via: +// +// IsDedicatedHostSupportedInstanceProfileArgs{...} +type IsDedicatedHostSupportedInstanceProfileInput interface { + pulumi.Input + + ToIsDedicatedHostSupportedInstanceProfileOutput() IsDedicatedHostSupportedInstanceProfileOutput + ToIsDedicatedHostSupportedInstanceProfileOutputWithContext(context.Context) IsDedicatedHostSupportedInstanceProfileOutput +} + +type IsDedicatedHostSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsDedicatedHostSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (i IsDedicatedHostSupportedInstanceProfileArgs) ToIsDedicatedHostSupportedInstanceProfileOutput() IsDedicatedHostSupportedInstanceProfileOutput { + return i.ToIsDedicatedHostSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostSupportedInstanceProfileArgs) ToIsDedicatedHostSupportedInstanceProfileOutputWithContext(ctx context.Context) IsDedicatedHostSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostSupportedInstanceProfileOutput) +} + +// IsDedicatedHostSupportedInstanceProfileArrayInput is an input type that accepts IsDedicatedHostSupportedInstanceProfileArray and IsDedicatedHostSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostSupportedInstanceProfileArrayInput` via: +// +// IsDedicatedHostSupportedInstanceProfileArray{ IsDedicatedHostSupportedInstanceProfileArgs{...} } +type IsDedicatedHostSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToIsDedicatedHostSupportedInstanceProfileArrayOutput() IsDedicatedHostSupportedInstanceProfileArrayOutput + ToIsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(context.Context) IsDedicatedHostSupportedInstanceProfileArrayOutput +} + +type IsDedicatedHostSupportedInstanceProfileArray []IsDedicatedHostSupportedInstanceProfileInput + +func (IsDedicatedHostSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (i IsDedicatedHostSupportedInstanceProfileArray) ToIsDedicatedHostSupportedInstanceProfileArrayOutput() IsDedicatedHostSupportedInstanceProfileArrayOutput { + return i.ToIsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostSupportedInstanceProfileArray) ToIsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) IsDedicatedHostSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostSupportedInstanceProfileArrayOutput) +} + +type IsDedicatedHostSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (o IsDedicatedHostSupportedInstanceProfileOutput) ToIsDedicatedHostSupportedInstanceProfileOutput() IsDedicatedHostSupportedInstanceProfileOutput { + return o +} + +func (o IsDedicatedHostSupportedInstanceProfileOutput) ToIsDedicatedHostSupportedInstanceProfileOutputWithContext(ctx context.Context) IsDedicatedHostSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o IsDedicatedHostSupportedInstanceProfileOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostSupportedInstanceProfile) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o IsDedicatedHostSupportedInstanceProfileOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostSupportedInstanceProfile) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsDedicatedHostSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (o IsDedicatedHostSupportedInstanceProfileArrayOutput) ToIsDedicatedHostSupportedInstanceProfileArrayOutput() IsDedicatedHostSupportedInstanceProfileArrayOutput { + return o +} + +func (o IsDedicatedHostSupportedInstanceProfileArrayOutput) ToIsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) IsDedicatedHostSupportedInstanceProfileArrayOutput { + return o +} + +func (o IsDedicatedHostSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostSupportedInstanceProfile { + return vs[0].([]IsDedicatedHostSupportedInstanceProfile)[vs[1].(int)] + }).(IsDedicatedHostSupportedInstanceProfileOutput) +} + +type IsDedicatedHostVcpus struct { + // The VCPU architecture. + Architecture *string `pulumi:"architecture"` + // The number of VCPUs assigned. + Count *int `pulumi:"count"` +} + +// IsDedicatedHostVcpusInput is an input type that accepts IsDedicatedHostVcpusArgs and IsDedicatedHostVcpusOutput values. +// You can construct a concrete instance of `IsDedicatedHostVcpusInput` via: +// +// IsDedicatedHostVcpusArgs{...} +type IsDedicatedHostVcpusInput interface { + pulumi.Input + + ToIsDedicatedHostVcpusOutput() IsDedicatedHostVcpusOutput + ToIsDedicatedHostVcpusOutputWithContext(context.Context) IsDedicatedHostVcpusOutput +} + +type IsDedicatedHostVcpusArgs struct { + // The VCPU architecture. + Architecture pulumi.StringPtrInput `pulumi:"architecture"` + // The number of VCPUs assigned. + Count pulumi.IntPtrInput `pulumi:"count"` +} + +func (IsDedicatedHostVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostVcpus)(nil)).Elem() +} + +func (i IsDedicatedHostVcpusArgs) ToIsDedicatedHostVcpusOutput() IsDedicatedHostVcpusOutput { + return i.ToIsDedicatedHostVcpusOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostVcpusArgs) ToIsDedicatedHostVcpusOutputWithContext(ctx context.Context) IsDedicatedHostVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostVcpusOutput) +} + +// IsDedicatedHostVcpusArrayInput is an input type that accepts IsDedicatedHostVcpusArray and IsDedicatedHostVcpusArrayOutput values. +// You can construct a concrete instance of `IsDedicatedHostVcpusArrayInput` via: +// +// IsDedicatedHostVcpusArray{ IsDedicatedHostVcpusArgs{...} } +type IsDedicatedHostVcpusArrayInput interface { + pulumi.Input + + ToIsDedicatedHostVcpusArrayOutput() IsDedicatedHostVcpusArrayOutput + ToIsDedicatedHostVcpusArrayOutputWithContext(context.Context) IsDedicatedHostVcpusArrayOutput +} + +type IsDedicatedHostVcpusArray []IsDedicatedHostVcpusInput + +func (IsDedicatedHostVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostVcpus)(nil)).Elem() +} + +func (i IsDedicatedHostVcpusArray) ToIsDedicatedHostVcpusArrayOutput() IsDedicatedHostVcpusArrayOutput { + return i.ToIsDedicatedHostVcpusArrayOutputWithContext(context.Background()) +} + +func (i IsDedicatedHostVcpusArray) ToIsDedicatedHostVcpusArrayOutputWithContext(ctx context.Context) IsDedicatedHostVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsDedicatedHostVcpusArrayOutput) +} + +type IsDedicatedHostVcpusOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsDedicatedHostVcpus)(nil)).Elem() +} + +func (o IsDedicatedHostVcpusOutput) ToIsDedicatedHostVcpusOutput() IsDedicatedHostVcpusOutput { + return o +} + +func (o IsDedicatedHostVcpusOutput) ToIsDedicatedHostVcpusOutputWithContext(ctx context.Context) IsDedicatedHostVcpusOutput { + return o +} + +// The VCPU architecture. +func (o IsDedicatedHostVcpusOutput) Architecture() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsDedicatedHostVcpus) *string { return v.Architecture }).(pulumi.StringPtrOutput) +} + +// The number of VCPUs assigned. +func (o IsDedicatedHostVcpusOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsDedicatedHostVcpus) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +type IsDedicatedHostVcpusArrayOutput struct{ *pulumi.OutputState } + +func (IsDedicatedHostVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsDedicatedHostVcpus)(nil)).Elem() +} + +func (o IsDedicatedHostVcpusArrayOutput) ToIsDedicatedHostVcpusArrayOutput() IsDedicatedHostVcpusArrayOutput { + return o +} + +func (o IsDedicatedHostVcpusArrayOutput) ToIsDedicatedHostVcpusArrayOutputWithContext(ctx context.Context) IsDedicatedHostVcpusArrayOutput { + return o +} + +func (o IsDedicatedHostVcpusArrayOutput) Index(i pulumi.IntInput) IsDedicatedHostVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsDedicatedHostVcpus { + return vs[0].([]IsDedicatedHostVcpus)[vs[1].(int)] + }).(IsDedicatedHostVcpusOutput) +} + +type IsFloatingIpTargetList struct { + // The CRN for this public gateway. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsFloatingIpTargetListDeleted `pulumi:"deleteds"` + // The URL for this network interface. + Href *string `pulumi:"href"` + // The unique identifier for this network interface. + Id *string `pulumi:"id"` + // The user-defined name for this network interface. + Name *string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []IsFloatingIpTargetListPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsFloatingIpTargetListInput is an input type that accepts IsFloatingIpTargetListArgs and IsFloatingIpTargetListOutput values. +// You can construct a concrete instance of `IsFloatingIpTargetListInput` via: +// +// IsFloatingIpTargetListArgs{...} +type IsFloatingIpTargetListInput interface { + pulumi.Input + + ToIsFloatingIpTargetListOutput() IsFloatingIpTargetListOutput + ToIsFloatingIpTargetListOutputWithContext(context.Context) IsFloatingIpTargetListOutput +} + +type IsFloatingIpTargetListArgs struct { + // The CRN for this public gateway. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsFloatingIpTargetListDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network interface. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this network interface. + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined name for this network interface. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps IsFloatingIpTargetListPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsFloatingIpTargetListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsFloatingIpTargetList)(nil)).Elem() +} + +func (i IsFloatingIpTargetListArgs) ToIsFloatingIpTargetListOutput() IsFloatingIpTargetListOutput { + return i.ToIsFloatingIpTargetListOutputWithContext(context.Background()) +} + +func (i IsFloatingIpTargetListArgs) ToIsFloatingIpTargetListOutputWithContext(ctx context.Context) IsFloatingIpTargetListOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsFloatingIpTargetListOutput) +} + +// IsFloatingIpTargetListArrayInput is an input type that accepts IsFloatingIpTargetListArray and IsFloatingIpTargetListArrayOutput values. +// You can construct a concrete instance of `IsFloatingIpTargetListArrayInput` via: +// +// IsFloatingIpTargetListArray{ IsFloatingIpTargetListArgs{...} } +type IsFloatingIpTargetListArrayInput interface { + pulumi.Input + + ToIsFloatingIpTargetListArrayOutput() IsFloatingIpTargetListArrayOutput + ToIsFloatingIpTargetListArrayOutputWithContext(context.Context) IsFloatingIpTargetListArrayOutput +} + +type IsFloatingIpTargetListArray []IsFloatingIpTargetListInput + +func (IsFloatingIpTargetListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsFloatingIpTargetList)(nil)).Elem() +} + +func (i IsFloatingIpTargetListArray) ToIsFloatingIpTargetListArrayOutput() IsFloatingIpTargetListArrayOutput { + return i.ToIsFloatingIpTargetListArrayOutputWithContext(context.Background()) +} + +func (i IsFloatingIpTargetListArray) ToIsFloatingIpTargetListArrayOutputWithContext(ctx context.Context) IsFloatingIpTargetListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsFloatingIpTargetListArrayOutput) +} + +type IsFloatingIpTargetListOutput struct{ *pulumi.OutputState } + +func (IsFloatingIpTargetListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsFloatingIpTargetList)(nil)).Elem() +} + +func (o IsFloatingIpTargetListOutput) ToIsFloatingIpTargetListOutput() IsFloatingIpTargetListOutput { + return o +} + +func (o IsFloatingIpTargetListOutput) ToIsFloatingIpTargetListOutputWithContext(ctx context.Context) IsFloatingIpTargetListOutput { + return o +} + +// The CRN for this public gateway. +func (o IsFloatingIpTargetListOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetList) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsFloatingIpTargetListOutput) Deleteds() IsFloatingIpTargetListDeletedArrayOutput { + return o.ApplyT(func(v IsFloatingIpTargetList) []IsFloatingIpTargetListDeleted { return v.Deleteds }).(IsFloatingIpTargetListDeletedArrayOutput) +} + +// The URL for this network interface. +func (o IsFloatingIpTargetListOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetList) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this network interface. +func (o IsFloatingIpTargetListOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetList) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this network interface. +func (o IsFloatingIpTargetListOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetList) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o IsFloatingIpTargetListOutput) PrimaryIps() IsFloatingIpTargetListPrimaryIpArrayOutput { + return o.ApplyT(func(v IsFloatingIpTargetList) []IsFloatingIpTargetListPrimaryIp { return v.PrimaryIps }).(IsFloatingIpTargetListPrimaryIpArrayOutput) +} + +// The resource type. +func (o IsFloatingIpTargetListOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetList) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsFloatingIpTargetListArrayOutput struct{ *pulumi.OutputState } + +func (IsFloatingIpTargetListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsFloatingIpTargetList)(nil)).Elem() +} + +func (o IsFloatingIpTargetListArrayOutput) ToIsFloatingIpTargetListArrayOutput() IsFloatingIpTargetListArrayOutput { + return o +} + +func (o IsFloatingIpTargetListArrayOutput) ToIsFloatingIpTargetListArrayOutputWithContext(ctx context.Context) IsFloatingIpTargetListArrayOutput { + return o +} + +func (o IsFloatingIpTargetListArrayOutput) Index(i pulumi.IntInput) IsFloatingIpTargetListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsFloatingIpTargetList { + return vs[0].([]IsFloatingIpTargetList)[vs[1].(int)] + }).(IsFloatingIpTargetListOutput) +} + +type IsFloatingIpTargetListDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsFloatingIpTargetListDeletedInput is an input type that accepts IsFloatingIpTargetListDeletedArgs and IsFloatingIpTargetListDeletedOutput values. +// You can construct a concrete instance of `IsFloatingIpTargetListDeletedInput` via: +// +// IsFloatingIpTargetListDeletedArgs{...} +type IsFloatingIpTargetListDeletedInput interface { + pulumi.Input + + ToIsFloatingIpTargetListDeletedOutput() IsFloatingIpTargetListDeletedOutput + ToIsFloatingIpTargetListDeletedOutputWithContext(context.Context) IsFloatingIpTargetListDeletedOutput +} + +type IsFloatingIpTargetListDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsFloatingIpTargetListDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsFloatingIpTargetListDeleted)(nil)).Elem() +} + +func (i IsFloatingIpTargetListDeletedArgs) ToIsFloatingIpTargetListDeletedOutput() IsFloatingIpTargetListDeletedOutput { + return i.ToIsFloatingIpTargetListDeletedOutputWithContext(context.Background()) +} + +func (i IsFloatingIpTargetListDeletedArgs) ToIsFloatingIpTargetListDeletedOutputWithContext(ctx context.Context) IsFloatingIpTargetListDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsFloatingIpTargetListDeletedOutput) +} + +// IsFloatingIpTargetListDeletedArrayInput is an input type that accepts IsFloatingIpTargetListDeletedArray and IsFloatingIpTargetListDeletedArrayOutput values. +// You can construct a concrete instance of `IsFloatingIpTargetListDeletedArrayInput` via: +// +// IsFloatingIpTargetListDeletedArray{ IsFloatingIpTargetListDeletedArgs{...} } +type IsFloatingIpTargetListDeletedArrayInput interface { + pulumi.Input + + ToIsFloatingIpTargetListDeletedArrayOutput() IsFloatingIpTargetListDeletedArrayOutput + ToIsFloatingIpTargetListDeletedArrayOutputWithContext(context.Context) IsFloatingIpTargetListDeletedArrayOutput +} + +type IsFloatingIpTargetListDeletedArray []IsFloatingIpTargetListDeletedInput + +func (IsFloatingIpTargetListDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsFloatingIpTargetListDeleted)(nil)).Elem() +} + +func (i IsFloatingIpTargetListDeletedArray) ToIsFloatingIpTargetListDeletedArrayOutput() IsFloatingIpTargetListDeletedArrayOutput { + return i.ToIsFloatingIpTargetListDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsFloatingIpTargetListDeletedArray) ToIsFloatingIpTargetListDeletedArrayOutputWithContext(ctx context.Context) IsFloatingIpTargetListDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsFloatingIpTargetListDeletedArrayOutput) +} + +type IsFloatingIpTargetListDeletedOutput struct{ *pulumi.OutputState } + +func (IsFloatingIpTargetListDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsFloatingIpTargetListDeleted)(nil)).Elem() +} + +func (o IsFloatingIpTargetListDeletedOutput) ToIsFloatingIpTargetListDeletedOutput() IsFloatingIpTargetListDeletedOutput { + return o +} + +func (o IsFloatingIpTargetListDeletedOutput) ToIsFloatingIpTargetListDeletedOutputWithContext(ctx context.Context) IsFloatingIpTargetListDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsFloatingIpTargetListDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetListDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsFloatingIpTargetListDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsFloatingIpTargetListDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsFloatingIpTargetListDeleted)(nil)).Elem() +} + +func (o IsFloatingIpTargetListDeletedArrayOutput) ToIsFloatingIpTargetListDeletedArrayOutput() IsFloatingIpTargetListDeletedArrayOutput { + return o +} + +func (o IsFloatingIpTargetListDeletedArrayOutput) ToIsFloatingIpTargetListDeletedArrayOutputWithContext(ctx context.Context) IsFloatingIpTargetListDeletedArrayOutput { + return o +} + +func (o IsFloatingIpTargetListDeletedArrayOutput) Index(i pulumi.IntInput) IsFloatingIpTargetListDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsFloatingIpTargetListDeleted { + return vs[0].([]IsFloatingIpTargetListDeleted)[vs[1].(int)] + }).(IsFloatingIpTargetListDeletedOutput) +} + +type IsFloatingIpTargetListPrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address *string `pulumi:"address"` + // The URL for this reserved IP + Href *string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name *string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type + ResourceType *string `pulumi:"resourceType"` +} + +// IsFloatingIpTargetListPrimaryIpInput is an input type that accepts IsFloatingIpTargetListPrimaryIpArgs and IsFloatingIpTargetListPrimaryIpOutput values. +// You can construct a concrete instance of `IsFloatingIpTargetListPrimaryIpInput` via: +// +// IsFloatingIpTargetListPrimaryIpArgs{...} +type IsFloatingIpTargetListPrimaryIpInput interface { + pulumi.Input + + ToIsFloatingIpTargetListPrimaryIpOutput() IsFloatingIpTargetListPrimaryIpOutput + ToIsFloatingIpTargetListPrimaryIpOutputWithContext(context.Context) IsFloatingIpTargetListPrimaryIpOutput +} + +type IsFloatingIpTargetListPrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringPtrInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringPtrInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringPtrInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsFloatingIpTargetListPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsFloatingIpTargetListPrimaryIp)(nil)).Elem() +} + +func (i IsFloatingIpTargetListPrimaryIpArgs) ToIsFloatingIpTargetListPrimaryIpOutput() IsFloatingIpTargetListPrimaryIpOutput { + return i.ToIsFloatingIpTargetListPrimaryIpOutputWithContext(context.Background()) +} + +func (i IsFloatingIpTargetListPrimaryIpArgs) ToIsFloatingIpTargetListPrimaryIpOutputWithContext(ctx context.Context) IsFloatingIpTargetListPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsFloatingIpTargetListPrimaryIpOutput) +} + +// IsFloatingIpTargetListPrimaryIpArrayInput is an input type that accepts IsFloatingIpTargetListPrimaryIpArray and IsFloatingIpTargetListPrimaryIpArrayOutput values. +// You can construct a concrete instance of `IsFloatingIpTargetListPrimaryIpArrayInput` via: +// +// IsFloatingIpTargetListPrimaryIpArray{ IsFloatingIpTargetListPrimaryIpArgs{...} } +type IsFloatingIpTargetListPrimaryIpArrayInput interface { + pulumi.Input + + ToIsFloatingIpTargetListPrimaryIpArrayOutput() IsFloatingIpTargetListPrimaryIpArrayOutput + ToIsFloatingIpTargetListPrimaryIpArrayOutputWithContext(context.Context) IsFloatingIpTargetListPrimaryIpArrayOutput +} + +type IsFloatingIpTargetListPrimaryIpArray []IsFloatingIpTargetListPrimaryIpInput + +func (IsFloatingIpTargetListPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsFloatingIpTargetListPrimaryIp)(nil)).Elem() +} + +func (i IsFloatingIpTargetListPrimaryIpArray) ToIsFloatingIpTargetListPrimaryIpArrayOutput() IsFloatingIpTargetListPrimaryIpArrayOutput { + return i.ToIsFloatingIpTargetListPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i IsFloatingIpTargetListPrimaryIpArray) ToIsFloatingIpTargetListPrimaryIpArrayOutputWithContext(ctx context.Context) IsFloatingIpTargetListPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsFloatingIpTargetListPrimaryIpArrayOutput) +} + +type IsFloatingIpTargetListPrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsFloatingIpTargetListPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsFloatingIpTargetListPrimaryIp)(nil)).Elem() +} + +func (o IsFloatingIpTargetListPrimaryIpOutput) ToIsFloatingIpTargetListPrimaryIpOutput() IsFloatingIpTargetListPrimaryIpOutput { + return o +} + +func (o IsFloatingIpTargetListPrimaryIpOutput) ToIsFloatingIpTargetListPrimaryIpOutputWithContext(ctx context.Context) IsFloatingIpTargetListPrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsFloatingIpTargetListPrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetListPrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The URL for this reserved IP +func (o IsFloatingIpTargetListPrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetListPrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsFloatingIpTargetListPrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetListPrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsFloatingIpTargetListPrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetListPrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsFloatingIpTargetListPrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsFloatingIpTargetListPrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsFloatingIpTargetListPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (IsFloatingIpTargetListPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsFloatingIpTargetListPrimaryIp)(nil)).Elem() +} + +func (o IsFloatingIpTargetListPrimaryIpArrayOutput) ToIsFloatingIpTargetListPrimaryIpArrayOutput() IsFloatingIpTargetListPrimaryIpArrayOutput { + return o +} + +func (o IsFloatingIpTargetListPrimaryIpArrayOutput) ToIsFloatingIpTargetListPrimaryIpArrayOutputWithContext(ctx context.Context) IsFloatingIpTargetListPrimaryIpArrayOutput { + return o +} + +func (o IsFloatingIpTargetListPrimaryIpArrayOutput) Index(i pulumi.IntInput) IsFloatingIpTargetListPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsFloatingIpTargetListPrimaryIp { + return vs[0].([]IsFloatingIpTargetListPrimaryIp)[vs[1].(int)] + }).(IsFloatingIpTargetListPrimaryIpOutput) +} + +type IsIkePolicyVpnConnection struct { + Href *string `pulumi:"href"` + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` +} + +// IsIkePolicyVpnConnectionInput is an input type that accepts IsIkePolicyVpnConnectionArgs and IsIkePolicyVpnConnectionOutput values. +// You can construct a concrete instance of `IsIkePolicyVpnConnectionInput` via: +// +// IsIkePolicyVpnConnectionArgs{...} +type IsIkePolicyVpnConnectionInput interface { + pulumi.Input + + ToIsIkePolicyVpnConnectionOutput() IsIkePolicyVpnConnectionOutput + ToIsIkePolicyVpnConnectionOutputWithContext(context.Context) IsIkePolicyVpnConnectionOutput +} + +type IsIkePolicyVpnConnectionArgs struct { + Href pulumi.StringPtrInput `pulumi:"href"` + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsIkePolicyVpnConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsIkePolicyVpnConnection)(nil)).Elem() +} + +func (i IsIkePolicyVpnConnectionArgs) ToIsIkePolicyVpnConnectionOutput() IsIkePolicyVpnConnectionOutput { + return i.ToIsIkePolicyVpnConnectionOutputWithContext(context.Background()) +} + +func (i IsIkePolicyVpnConnectionArgs) ToIsIkePolicyVpnConnectionOutputWithContext(ctx context.Context) IsIkePolicyVpnConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsIkePolicyVpnConnectionOutput) +} + +// IsIkePolicyVpnConnectionArrayInput is an input type that accepts IsIkePolicyVpnConnectionArray and IsIkePolicyVpnConnectionArrayOutput values. +// You can construct a concrete instance of `IsIkePolicyVpnConnectionArrayInput` via: +// +// IsIkePolicyVpnConnectionArray{ IsIkePolicyVpnConnectionArgs{...} } +type IsIkePolicyVpnConnectionArrayInput interface { + pulumi.Input + + ToIsIkePolicyVpnConnectionArrayOutput() IsIkePolicyVpnConnectionArrayOutput + ToIsIkePolicyVpnConnectionArrayOutputWithContext(context.Context) IsIkePolicyVpnConnectionArrayOutput +} + +type IsIkePolicyVpnConnectionArray []IsIkePolicyVpnConnectionInput + +func (IsIkePolicyVpnConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsIkePolicyVpnConnection)(nil)).Elem() +} + +func (i IsIkePolicyVpnConnectionArray) ToIsIkePolicyVpnConnectionArrayOutput() IsIkePolicyVpnConnectionArrayOutput { + return i.ToIsIkePolicyVpnConnectionArrayOutputWithContext(context.Background()) +} + +func (i IsIkePolicyVpnConnectionArray) ToIsIkePolicyVpnConnectionArrayOutputWithContext(ctx context.Context) IsIkePolicyVpnConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsIkePolicyVpnConnectionArrayOutput) +} + +type IsIkePolicyVpnConnectionOutput struct{ *pulumi.OutputState } + +func (IsIkePolicyVpnConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsIkePolicyVpnConnection)(nil)).Elem() +} + +func (o IsIkePolicyVpnConnectionOutput) ToIsIkePolicyVpnConnectionOutput() IsIkePolicyVpnConnectionOutput { + return o +} + +func (o IsIkePolicyVpnConnectionOutput) ToIsIkePolicyVpnConnectionOutputWithContext(ctx context.Context) IsIkePolicyVpnConnectionOutput { + return o +} + +func (o IsIkePolicyVpnConnectionOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsIkePolicyVpnConnection) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +func (o IsIkePolicyVpnConnectionOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsIkePolicyVpnConnection) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IsIkePolicyVpnConnectionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsIkePolicyVpnConnection) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsIkePolicyVpnConnectionArrayOutput struct{ *pulumi.OutputState } + +func (IsIkePolicyVpnConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsIkePolicyVpnConnection)(nil)).Elem() +} + +func (o IsIkePolicyVpnConnectionArrayOutput) ToIsIkePolicyVpnConnectionArrayOutput() IsIkePolicyVpnConnectionArrayOutput { + return o +} + +func (o IsIkePolicyVpnConnectionArrayOutput) ToIsIkePolicyVpnConnectionArrayOutputWithContext(ctx context.Context) IsIkePolicyVpnConnectionArrayOutput { + return o +} + +func (o IsIkePolicyVpnConnectionArrayOutput) Index(i pulumi.IntInput) IsIkePolicyVpnConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsIkePolicyVpnConnection { + return vs[0].([]IsIkePolicyVpnConnection)[vs[1].(int)] + }).(IsIkePolicyVpnConnectionOutput) +} + +type IsImageAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + Instance *string `pulumi:"instance"` +} + +// IsImageAllowedUseInput is an input type that accepts IsImageAllowedUseArgs and IsImageAllowedUseOutput values. +// You can construct a concrete instance of `IsImageAllowedUseInput` via: +// +// IsImageAllowedUseArgs{...} +type IsImageAllowedUseInput interface { + pulumi.Input + + ToIsImageAllowedUseOutput() IsImageAllowedUseOutput + ToIsImageAllowedUseOutputWithContext(context.Context) IsImageAllowedUseOutput +} + +type IsImageAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + Instance pulumi.StringPtrInput `pulumi:"instance"` +} + +func (IsImageAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsImageAllowedUse)(nil)).Elem() +} + +func (i IsImageAllowedUseArgs) ToIsImageAllowedUseOutput() IsImageAllowedUseOutput { + return i.ToIsImageAllowedUseOutputWithContext(context.Background()) +} + +func (i IsImageAllowedUseArgs) ToIsImageAllowedUseOutputWithContext(ctx context.Context) IsImageAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageAllowedUseOutput) +} + +func (i IsImageAllowedUseArgs) ToIsImageAllowedUsePtrOutput() IsImageAllowedUsePtrOutput { + return i.ToIsImageAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i IsImageAllowedUseArgs) ToIsImageAllowedUsePtrOutputWithContext(ctx context.Context) IsImageAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageAllowedUseOutput).ToIsImageAllowedUsePtrOutputWithContext(ctx) +} + +// IsImageAllowedUsePtrInput is an input type that accepts IsImageAllowedUseArgs, IsImageAllowedUsePtr and IsImageAllowedUsePtrOutput values. +// You can construct a concrete instance of `IsImageAllowedUsePtrInput` via: +// +// IsImageAllowedUseArgs{...} +// +// or: +// +// nil +type IsImageAllowedUsePtrInput interface { + pulumi.Input + + ToIsImageAllowedUsePtrOutput() IsImageAllowedUsePtrOutput + ToIsImageAllowedUsePtrOutputWithContext(context.Context) IsImageAllowedUsePtrOutput +} + +type isImageAllowedUsePtrType IsImageAllowedUseArgs + +func IsImageAllowedUsePtr(v *IsImageAllowedUseArgs) IsImageAllowedUsePtrInput { + return (*isImageAllowedUsePtrType)(v) +} + +func (*isImageAllowedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageAllowedUse)(nil)).Elem() +} + +func (i *isImageAllowedUsePtrType) ToIsImageAllowedUsePtrOutput() IsImageAllowedUsePtrOutput { + return i.ToIsImageAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i *isImageAllowedUsePtrType) ToIsImageAllowedUsePtrOutputWithContext(ctx context.Context) IsImageAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageAllowedUsePtrOutput) +} + +type IsImageAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsImageAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsImageAllowedUse)(nil)).Elem() +} + +func (o IsImageAllowedUseOutput) ToIsImageAllowedUseOutput() IsImageAllowedUseOutput { + return o +} + +func (o IsImageAllowedUseOutput) ToIsImageAllowedUseOutputWithContext(ctx context.Context) IsImageAllowedUseOutput { + return o +} + +func (o IsImageAllowedUseOutput) ToIsImageAllowedUsePtrOutput() IsImageAllowedUsePtrOutput { + return o.ToIsImageAllowedUsePtrOutputWithContext(context.Background()) +} + +func (o IsImageAllowedUseOutput) ToIsImageAllowedUsePtrOutputWithContext(ctx context.Context) IsImageAllowedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsImageAllowedUse) *IsImageAllowedUse { + return &v + }).(IsImageAllowedUsePtrOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsImageAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsImageAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using this image. +func (o IsImageAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsImageAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. +func (o IsImageAllowedUseOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsImageAllowedUse) *string { return v.Instance }).(pulumi.StringPtrOutput) +} + +type IsImageAllowedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsImageAllowedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageAllowedUse)(nil)).Elem() +} + +func (o IsImageAllowedUsePtrOutput) ToIsImageAllowedUsePtrOutput() IsImageAllowedUsePtrOutput { + return o +} + +func (o IsImageAllowedUsePtrOutput) ToIsImageAllowedUsePtrOutputWithContext(ctx context.Context) IsImageAllowedUsePtrOutput { + return o +} + +func (o IsImageAllowedUsePtrOutput) Elem() IsImageAllowedUseOutput { + return o.ApplyT(func(v *IsImageAllowedUse) IsImageAllowedUse { + if v != nil { + return *v + } + var ret IsImageAllowedUse + return ret + }).(IsImageAllowedUseOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsImageAllowedUsePtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImageAllowedUse) *string { + if v == nil { + return nil + } + return v.ApiVersion + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using this image. +func (o IsImageAllowedUsePtrOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImageAllowedUse) *string { + if v == nil { + return nil + } + return v.BareMetalServer + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. +func (o IsImageAllowedUsePtrOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImageAllowedUse) *string { + if v == nil { + return nil + } + return v.Instance + }).(pulumi.StringPtrOutput) +} + +type IsImageExportJobStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsImageExportJobStatusReasonInput is an input type that accepts IsImageExportJobStatusReasonArgs and IsImageExportJobStatusReasonOutput values. +// You can construct a concrete instance of `IsImageExportJobStatusReasonInput` via: +// +// IsImageExportJobStatusReasonArgs{...} +type IsImageExportJobStatusReasonInput interface { + pulumi.Input + + ToIsImageExportJobStatusReasonOutput() IsImageExportJobStatusReasonOutput + ToIsImageExportJobStatusReasonOutputWithContext(context.Context) IsImageExportJobStatusReasonOutput +} + +type IsImageExportJobStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsImageExportJobStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsImageExportJobStatusReason)(nil)).Elem() +} + +func (i IsImageExportJobStatusReasonArgs) ToIsImageExportJobStatusReasonOutput() IsImageExportJobStatusReasonOutput { + return i.ToIsImageExportJobStatusReasonOutputWithContext(context.Background()) +} + +func (i IsImageExportJobStatusReasonArgs) ToIsImageExportJobStatusReasonOutputWithContext(ctx context.Context) IsImageExportJobStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageExportJobStatusReasonOutput) +} + +// IsImageExportJobStatusReasonArrayInput is an input type that accepts IsImageExportJobStatusReasonArray and IsImageExportJobStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsImageExportJobStatusReasonArrayInput` via: +// +// IsImageExportJobStatusReasonArray{ IsImageExportJobStatusReasonArgs{...} } +type IsImageExportJobStatusReasonArrayInput interface { + pulumi.Input + + ToIsImageExportJobStatusReasonArrayOutput() IsImageExportJobStatusReasonArrayOutput + ToIsImageExportJobStatusReasonArrayOutputWithContext(context.Context) IsImageExportJobStatusReasonArrayOutput +} + +type IsImageExportJobStatusReasonArray []IsImageExportJobStatusReasonInput + +func (IsImageExportJobStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsImageExportJobStatusReason)(nil)).Elem() +} + +func (i IsImageExportJobStatusReasonArray) ToIsImageExportJobStatusReasonArrayOutput() IsImageExportJobStatusReasonArrayOutput { + return i.ToIsImageExportJobStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsImageExportJobStatusReasonArray) ToIsImageExportJobStatusReasonArrayOutputWithContext(ctx context.Context) IsImageExportJobStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageExportJobStatusReasonArrayOutput) +} + +type IsImageExportJobStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsImageExportJobStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsImageExportJobStatusReason)(nil)).Elem() +} + +func (o IsImageExportJobStatusReasonOutput) ToIsImageExportJobStatusReasonOutput() IsImageExportJobStatusReasonOutput { + return o +} + +func (o IsImageExportJobStatusReasonOutput) ToIsImageExportJobStatusReasonOutputWithContext(ctx context.Context) IsImageExportJobStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o IsImageExportJobStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v IsImageExportJobStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o IsImageExportJobStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v IsImageExportJobStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o IsImageExportJobStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsImageExportJobStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsImageExportJobStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsImageExportJobStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsImageExportJobStatusReason)(nil)).Elem() +} + +func (o IsImageExportJobStatusReasonArrayOutput) ToIsImageExportJobStatusReasonArrayOutput() IsImageExportJobStatusReasonArrayOutput { + return o +} + +func (o IsImageExportJobStatusReasonArrayOutput) ToIsImageExportJobStatusReasonArrayOutputWithContext(ctx context.Context) IsImageExportJobStatusReasonArrayOutput { + return o +} + +func (o IsImageExportJobStatusReasonArrayOutput) Index(i pulumi.IntInput) IsImageExportJobStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsImageExportJobStatusReason { + return vs[0].([]IsImageExportJobStatusReason)[vs[1].(int)] + }).(IsImageExportJobStatusReasonOutput) +} + +type IsImageExportJobStorageBucket struct { + // CRN of this Cloud Object Storage bucket + Crn *string `pulumi:"crn"` + // Name of this Cloud Object Storage bucket + Name *string `pulumi:"name"` +} + +// IsImageExportJobStorageBucketInput is an input type that accepts IsImageExportJobStorageBucketArgs and IsImageExportJobStorageBucketOutput values. +// You can construct a concrete instance of `IsImageExportJobStorageBucketInput` via: +// +// IsImageExportJobStorageBucketArgs{...} +type IsImageExportJobStorageBucketInput interface { + pulumi.Input + + ToIsImageExportJobStorageBucketOutput() IsImageExportJobStorageBucketOutput + ToIsImageExportJobStorageBucketOutputWithContext(context.Context) IsImageExportJobStorageBucketOutput +} + +type IsImageExportJobStorageBucketArgs struct { + // CRN of this Cloud Object Storage bucket + Crn pulumi.StringPtrInput `pulumi:"crn"` + // Name of this Cloud Object Storage bucket + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsImageExportJobStorageBucketArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsImageExportJobStorageBucket)(nil)).Elem() +} + +func (i IsImageExportJobStorageBucketArgs) ToIsImageExportJobStorageBucketOutput() IsImageExportJobStorageBucketOutput { + return i.ToIsImageExportJobStorageBucketOutputWithContext(context.Background()) +} + +func (i IsImageExportJobStorageBucketArgs) ToIsImageExportJobStorageBucketOutputWithContext(ctx context.Context) IsImageExportJobStorageBucketOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageExportJobStorageBucketOutput) +} + +func (i IsImageExportJobStorageBucketArgs) ToIsImageExportJobStorageBucketPtrOutput() IsImageExportJobStorageBucketPtrOutput { + return i.ToIsImageExportJobStorageBucketPtrOutputWithContext(context.Background()) +} + +func (i IsImageExportJobStorageBucketArgs) ToIsImageExportJobStorageBucketPtrOutputWithContext(ctx context.Context) IsImageExportJobStorageBucketPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageExportJobStorageBucketOutput).ToIsImageExportJobStorageBucketPtrOutputWithContext(ctx) +} + +// IsImageExportJobStorageBucketPtrInput is an input type that accepts IsImageExportJobStorageBucketArgs, IsImageExportJobStorageBucketPtr and IsImageExportJobStorageBucketPtrOutput values. +// You can construct a concrete instance of `IsImageExportJobStorageBucketPtrInput` via: +// +// IsImageExportJobStorageBucketArgs{...} +// +// or: +// +// nil +type IsImageExportJobStorageBucketPtrInput interface { + pulumi.Input + + ToIsImageExportJobStorageBucketPtrOutput() IsImageExportJobStorageBucketPtrOutput + ToIsImageExportJobStorageBucketPtrOutputWithContext(context.Context) IsImageExportJobStorageBucketPtrOutput +} + +type isImageExportJobStorageBucketPtrType IsImageExportJobStorageBucketArgs + +func IsImageExportJobStorageBucketPtr(v *IsImageExportJobStorageBucketArgs) IsImageExportJobStorageBucketPtrInput { + return (*isImageExportJobStorageBucketPtrType)(v) +} + +func (*isImageExportJobStorageBucketPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageExportJobStorageBucket)(nil)).Elem() +} + +func (i *isImageExportJobStorageBucketPtrType) ToIsImageExportJobStorageBucketPtrOutput() IsImageExportJobStorageBucketPtrOutput { + return i.ToIsImageExportJobStorageBucketPtrOutputWithContext(context.Background()) +} + +func (i *isImageExportJobStorageBucketPtrType) ToIsImageExportJobStorageBucketPtrOutputWithContext(ctx context.Context) IsImageExportJobStorageBucketPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageExportJobStorageBucketPtrOutput) +} + +type IsImageExportJobStorageBucketOutput struct{ *pulumi.OutputState } + +func (IsImageExportJobStorageBucketOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsImageExportJobStorageBucket)(nil)).Elem() +} + +func (o IsImageExportJobStorageBucketOutput) ToIsImageExportJobStorageBucketOutput() IsImageExportJobStorageBucketOutput { + return o +} + +func (o IsImageExportJobStorageBucketOutput) ToIsImageExportJobStorageBucketOutputWithContext(ctx context.Context) IsImageExportJobStorageBucketOutput { + return o +} + +func (o IsImageExportJobStorageBucketOutput) ToIsImageExportJobStorageBucketPtrOutput() IsImageExportJobStorageBucketPtrOutput { + return o.ToIsImageExportJobStorageBucketPtrOutputWithContext(context.Background()) +} + +func (o IsImageExportJobStorageBucketOutput) ToIsImageExportJobStorageBucketPtrOutputWithContext(ctx context.Context) IsImageExportJobStorageBucketPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsImageExportJobStorageBucket) *IsImageExportJobStorageBucket { + return &v + }).(IsImageExportJobStorageBucketPtrOutput) +} + +// CRN of this Cloud Object Storage bucket +func (o IsImageExportJobStorageBucketOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsImageExportJobStorageBucket) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// Name of this Cloud Object Storage bucket +func (o IsImageExportJobStorageBucketOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsImageExportJobStorageBucket) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsImageExportJobStorageBucketPtrOutput struct{ *pulumi.OutputState } + +func (IsImageExportJobStorageBucketPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsImageExportJobStorageBucket)(nil)).Elem() +} + +func (o IsImageExportJobStorageBucketPtrOutput) ToIsImageExportJobStorageBucketPtrOutput() IsImageExportJobStorageBucketPtrOutput { + return o +} + +func (o IsImageExportJobStorageBucketPtrOutput) ToIsImageExportJobStorageBucketPtrOutputWithContext(ctx context.Context) IsImageExportJobStorageBucketPtrOutput { + return o +} + +func (o IsImageExportJobStorageBucketPtrOutput) Elem() IsImageExportJobStorageBucketOutput { + return o.ApplyT(func(v *IsImageExportJobStorageBucket) IsImageExportJobStorageBucket { + if v != nil { + return *v + } + var ret IsImageExportJobStorageBucket + return ret + }).(IsImageExportJobStorageBucketOutput) +} + +// CRN of this Cloud Object Storage bucket +func (o IsImageExportJobStorageBucketPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImageExportJobStorageBucket) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// Name of this Cloud Object Storage bucket +func (o IsImageExportJobStorageBucketPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsImageExportJobStorageBucket) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +type IsImageExportJobStorageObject struct { + // The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. + Name string `pulumi:"name"` +} + +// IsImageExportJobStorageObjectInput is an input type that accepts IsImageExportJobStorageObjectArgs and IsImageExportJobStorageObjectOutput values. +// You can construct a concrete instance of `IsImageExportJobStorageObjectInput` via: +// +// IsImageExportJobStorageObjectArgs{...} +type IsImageExportJobStorageObjectInput interface { + pulumi.Input + + ToIsImageExportJobStorageObjectOutput() IsImageExportJobStorageObjectOutput + ToIsImageExportJobStorageObjectOutputWithContext(context.Context) IsImageExportJobStorageObjectOutput +} + +type IsImageExportJobStorageObjectArgs struct { + // The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. + Name pulumi.StringInput `pulumi:"name"` +} + +func (IsImageExportJobStorageObjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsImageExportJobStorageObject)(nil)).Elem() +} + +func (i IsImageExportJobStorageObjectArgs) ToIsImageExportJobStorageObjectOutput() IsImageExportJobStorageObjectOutput { + return i.ToIsImageExportJobStorageObjectOutputWithContext(context.Background()) +} + +func (i IsImageExportJobStorageObjectArgs) ToIsImageExportJobStorageObjectOutputWithContext(ctx context.Context) IsImageExportJobStorageObjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageExportJobStorageObjectOutput) +} + +// IsImageExportJobStorageObjectArrayInput is an input type that accepts IsImageExportJobStorageObjectArray and IsImageExportJobStorageObjectArrayOutput values. +// You can construct a concrete instance of `IsImageExportJobStorageObjectArrayInput` via: +// +// IsImageExportJobStorageObjectArray{ IsImageExportJobStorageObjectArgs{...} } +type IsImageExportJobStorageObjectArrayInput interface { + pulumi.Input + + ToIsImageExportJobStorageObjectArrayOutput() IsImageExportJobStorageObjectArrayOutput + ToIsImageExportJobStorageObjectArrayOutputWithContext(context.Context) IsImageExportJobStorageObjectArrayOutput +} + +type IsImageExportJobStorageObjectArray []IsImageExportJobStorageObjectInput + +func (IsImageExportJobStorageObjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsImageExportJobStorageObject)(nil)).Elem() +} + +func (i IsImageExportJobStorageObjectArray) ToIsImageExportJobStorageObjectArrayOutput() IsImageExportJobStorageObjectArrayOutput { + return i.ToIsImageExportJobStorageObjectArrayOutputWithContext(context.Background()) +} + +func (i IsImageExportJobStorageObjectArray) ToIsImageExportJobStorageObjectArrayOutputWithContext(ctx context.Context) IsImageExportJobStorageObjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsImageExportJobStorageObjectArrayOutput) +} + +type IsImageExportJobStorageObjectOutput struct{ *pulumi.OutputState } + +func (IsImageExportJobStorageObjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsImageExportJobStorageObject)(nil)).Elem() +} + +func (o IsImageExportJobStorageObjectOutput) ToIsImageExportJobStorageObjectOutput() IsImageExportJobStorageObjectOutput { + return o +} + +func (o IsImageExportJobStorageObjectOutput) ToIsImageExportJobStorageObjectOutputWithContext(ctx context.Context) IsImageExportJobStorageObjectOutput { + return o +} + +// The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. +func (o IsImageExportJobStorageObjectOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsImageExportJobStorageObject) string { return v.Name }).(pulumi.StringOutput) +} + +type IsImageExportJobStorageObjectArrayOutput struct{ *pulumi.OutputState } + +func (IsImageExportJobStorageObjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsImageExportJobStorageObject)(nil)).Elem() +} + +func (o IsImageExportJobStorageObjectArrayOutput) ToIsImageExportJobStorageObjectArrayOutput() IsImageExportJobStorageObjectArrayOutput { + return o +} + +func (o IsImageExportJobStorageObjectArrayOutput) ToIsImageExportJobStorageObjectArrayOutputWithContext(ctx context.Context) IsImageExportJobStorageObjectArrayOutput { + return o +} + +func (o IsImageExportJobStorageObjectArrayOutput) Index(i pulumi.IntInput) IsImageExportJobStorageObjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsImageExportJobStorageObject { + return vs[0].([]IsImageExportJobStorageObject)[vs[1].(int)] + }).(IsImageExportJobStorageObjectOutput) +} + +type IsInstanceActionStatusReason struct { + // A snake case string succinctly identifying the status reason + Code *string `pulumi:"code"` + // An explanation of the status reason + Message *string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceActionStatusReasonInput is an input type that accepts IsInstanceActionStatusReasonArgs and IsInstanceActionStatusReasonOutput values. +// You can construct a concrete instance of `IsInstanceActionStatusReasonInput` via: +// +// IsInstanceActionStatusReasonArgs{...} +type IsInstanceActionStatusReasonInput interface { + pulumi.Input + + ToIsInstanceActionStatusReasonOutput() IsInstanceActionStatusReasonOutput + ToIsInstanceActionStatusReasonOutputWithContext(context.Context) IsInstanceActionStatusReasonOutput +} + +type IsInstanceActionStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceActionStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceActionStatusReason)(nil)).Elem() +} + +func (i IsInstanceActionStatusReasonArgs) ToIsInstanceActionStatusReasonOutput() IsInstanceActionStatusReasonOutput { + return i.ToIsInstanceActionStatusReasonOutputWithContext(context.Background()) +} + +func (i IsInstanceActionStatusReasonArgs) ToIsInstanceActionStatusReasonOutputWithContext(ctx context.Context) IsInstanceActionStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceActionStatusReasonOutput) +} + +// IsInstanceActionStatusReasonArrayInput is an input type that accepts IsInstanceActionStatusReasonArray and IsInstanceActionStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsInstanceActionStatusReasonArrayInput` via: +// +// IsInstanceActionStatusReasonArray{ IsInstanceActionStatusReasonArgs{...} } +type IsInstanceActionStatusReasonArrayInput interface { + pulumi.Input + + ToIsInstanceActionStatusReasonArrayOutput() IsInstanceActionStatusReasonArrayOutput + ToIsInstanceActionStatusReasonArrayOutputWithContext(context.Context) IsInstanceActionStatusReasonArrayOutput +} + +type IsInstanceActionStatusReasonArray []IsInstanceActionStatusReasonInput + +func (IsInstanceActionStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceActionStatusReason)(nil)).Elem() +} + +func (i IsInstanceActionStatusReasonArray) ToIsInstanceActionStatusReasonArrayOutput() IsInstanceActionStatusReasonArrayOutput { + return i.ToIsInstanceActionStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceActionStatusReasonArray) ToIsInstanceActionStatusReasonArrayOutputWithContext(ctx context.Context) IsInstanceActionStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceActionStatusReasonArrayOutput) +} + +type IsInstanceActionStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsInstanceActionStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceActionStatusReason)(nil)).Elem() +} + +func (o IsInstanceActionStatusReasonOutput) ToIsInstanceActionStatusReasonOutput() IsInstanceActionStatusReasonOutput { + return o +} + +func (o IsInstanceActionStatusReasonOutput) ToIsInstanceActionStatusReasonOutputWithContext(ctx context.Context) IsInstanceActionStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o IsInstanceActionStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceActionStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason +func (o IsInstanceActionStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceActionStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason +func (o IsInstanceActionStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceActionStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceActionStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceActionStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceActionStatusReason)(nil)).Elem() +} + +func (o IsInstanceActionStatusReasonArrayOutput) ToIsInstanceActionStatusReasonArrayOutput() IsInstanceActionStatusReasonArrayOutput { + return o +} + +func (o IsInstanceActionStatusReasonArrayOutput) ToIsInstanceActionStatusReasonArrayOutputWithContext(ctx context.Context) IsInstanceActionStatusReasonArrayOutput { + return o +} + +func (o IsInstanceActionStatusReasonArrayOutput) Index(i pulumi.IntInput) IsInstanceActionStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceActionStatusReason { + return vs[0].([]IsInstanceActionStatusReason)[vs[1].(int)] + }).(IsInstanceActionStatusReasonOutput) +} + +type IsInstanceBootVolume struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsInstanceBootVolumeAllowedUse `pulumi:"allowedUse"` + // Auto delete boot volume along with instance + AutoDeleteVolume *bool `pulumi:"autoDeleteVolume"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth *int `pulumi:"bandwidth"` + Encryption *string `pulumi:"encryption"` + Iops *int `pulumi:"iops"` + Name *string `pulumi:"name"` + Profile *string `pulumi:"profile"` + Size *int `pulumi:"size"` + Snapshot *string `pulumi:"snapshot"` + SnapshotCrn *string `pulumi:"snapshotCrn"` + // UserTags for the volume instance + Tags []string `pulumi:"tags"` + // The unique identifier for this volume + VolumeId *string `pulumi:"volumeId"` +} + +// IsInstanceBootVolumeInput is an input type that accepts IsInstanceBootVolumeArgs and IsInstanceBootVolumeOutput values. +// You can construct a concrete instance of `IsInstanceBootVolumeInput` via: +// +// IsInstanceBootVolumeArgs{...} +type IsInstanceBootVolumeInput interface { + pulumi.Input + + ToIsInstanceBootVolumeOutput() IsInstanceBootVolumeOutput + ToIsInstanceBootVolumeOutputWithContext(context.Context) IsInstanceBootVolumeOutput +} + +type IsInstanceBootVolumeArgs struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse IsInstanceBootVolumeAllowedUsePtrInput `pulumi:"allowedUse"` + // Auto delete boot volume along with instance + AutoDeleteVolume pulumi.BoolPtrInput `pulumi:"autoDeleteVolume"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntPtrInput `pulumi:"bandwidth"` + Encryption pulumi.StringPtrInput `pulumi:"encryption"` + Iops pulumi.IntPtrInput `pulumi:"iops"` + Name pulumi.StringPtrInput `pulumi:"name"` + Profile pulumi.StringPtrInput `pulumi:"profile"` + Size pulumi.IntPtrInput `pulumi:"size"` + Snapshot pulumi.StringPtrInput `pulumi:"snapshot"` + SnapshotCrn pulumi.StringPtrInput `pulumi:"snapshotCrn"` + // UserTags for the volume instance + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The unique identifier for this volume + VolumeId pulumi.StringPtrInput `pulumi:"volumeId"` +} + +func (IsInstanceBootVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceBootVolume)(nil)).Elem() +} + +func (i IsInstanceBootVolumeArgs) ToIsInstanceBootVolumeOutput() IsInstanceBootVolumeOutput { + return i.ToIsInstanceBootVolumeOutputWithContext(context.Background()) +} + +func (i IsInstanceBootVolumeArgs) ToIsInstanceBootVolumeOutputWithContext(ctx context.Context) IsInstanceBootVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceBootVolumeOutput) +} + +func (i IsInstanceBootVolumeArgs) ToIsInstanceBootVolumePtrOutput() IsInstanceBootVolumePtrOutput { + return i.ToIsInstanceBootVolumePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceBootVolumeArgs) ToIsInstanceBootVolumePtrOutputWithContext(ctx context.Context) IsInstanceBootVolumePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceBootVolumeOutput).ToIsInstanceBootVolumePtrOutputWithContext(ctx) +} + +// IsInstanceBootVolumePtrInput is an input type that accepts IsInstanceBootVolumeArgs, IsInstanceBootVolumePtr and IsInstanceBootVolumePtrOutput values. +// You can construct a concrete instance of `IsInstanceBootVolumePtrInput` via: +// +// IsInstanceBootVolumeArgs{...} +// +// or: +// +// nil +type IsInstanceBootVolumePtrInput interface { + pulumi.Input + + ToIsInstanceBootVolumePtrOutput() IsInstanceBootVolumePtrOutput + ToIsInstanceBootVolumePtrOutputWithContext(context.Context) IsInstanceBootVolumePtrOutput +} + +type isInstanceBootVolumePtrType IsInstanceBootVolumeArgs + +func IsInstanceBootVolumePtr(v *IsInstanceBootVolumeArgs) IsInstanceBootVolumePtrInput { + return (*isInstanceBootVolumePtrType)(v) +} + +func (*isInstanceBootVolumePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceBootVolume)(nil)).Elem() +} + +func (i *isInstanceBootVolumePtrType) ToIsInstanceBootVolumePtrOutput() IsInstanceBootVolumePtrOutput { + return i.ToIsInstanceBootVolumePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceBootVolumePtrType) ToIsInstanceBootVolumePtrOutputWithContext(ctx context.Context) IsInstanceBootVolumePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceBootVolumePtrOutput) +} + +type IsInstanceBootVolumeOutput struct{ *pulumi.OutputState } + +func (IsInstanceBootVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceBootVolume)(nil)).Elem() +} + +func (o IsInstanceBootVolumeOutput) ToIsInstanceBootVolumeOutput() IsInstanceBootVolumeOutput { + return o +} + +func (o IsInstanceBootVolumeOutput) ToIsInstanceBootVolumeOutputWithContext(ctx context.Context) IsInstanceBootVolumeOutput { + return o +} + +func (o IsInstanceBootVolumeOutput) ToIsInstanceBootVolumePtrOutput() IsInstanceBootVolumePtrOutput { + return o.ToIsInstanceBootVolumePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceBootVolumeOutput) ToIsInstanceBootVolumePtrOutputWithContext(ctx context.Context) IsInstanceBootVolumePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceBootVolume) *IsInstanceBootVolume { + return &v + }).(IsInstanceBootVolumePtrOutput) +} + +// The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. +func (o IsInstanceBootVolumeOutput) AllowedUse() IsInstanceBootVolumeAllowedUsePtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *IsInstanceBootVolumeAllowedUse { return v.AllowedUse }).(IsInstanceBootVolumeAllowedUsePtrOutput) +} + +// Auto delete boot volume along with instance +func (o IsInstanceBootVolumeOutput) AutoDeleteVolume() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *bool { return v.AutoDeleteVolume }).(pulumi.BoolPtrOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsInstanceBootVolumeOutput) Bandwidth() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *int { return v.Bandwidth }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceBootVolumeOutput) Encryption() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *string { return v.Encryption }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceBootVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceBootVolumeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceBootVolumeOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *string { return v.Profile }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceBootVolumeOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceBootVolumeOutput) Snapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *string { return v.Snapshot }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceBootVolumeOutput) SnapshotCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *string { return v.SnapshotCrn }).(pulumi.StringPtrOutput) +} + +// UserTags for the volume instance +func (o IsInstanceBootVolumeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceBootVolume) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The unique identifier for this volume +func (o IsInstanceBootVolumeOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolume) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +} + +type IsInstanceBootVolumePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceBootVolumePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceBootVolume)(nil)).Elem() +} + +func (o IsInstanceBootVolumePtrOutput) ToIsInstanceBootVolumePtrOutput() IsInstanceBootVolumePtrOutput { + return o +} + +func (o IsInstanceBootVolumePtrOutput) ToIsInstanceBootVolumePtrOutputWithContext(ctx context.Context) IsInstanceBootVolumePtrOutput { + return o +} + +func (o IsInstanceBootVolumePtrOutput) Elem() IsInstanceBootVolumeOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) IsInstanceBootVolume { + if v != nil { + return *v + } + var ret IsInstanceBootVolume + return ret + }).(IsInstanceBootVolumeOutput) +} + +// The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. +func (o IsInstanceBootVolumePtrOutput) AllowedUse() IsInstanceBootVolumeAllowedUsePtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *IsInstanceBootVolumeAllowedUse { + if v == nil { + return nil + } + return v.AllowedUse + }).(IsInstanceBootVolumeAllowedUsePtrOutput) +} + +// Auto delete boot volume along with instance +func (o IsInstanceBootVolumePtrOutput) AutoDeleteVolume() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *bool { + if v == nil { + return nil + } + return v.AutoDeleteVolume + }).(pulumi.BoolPtrOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsInstanceBootVolumePtrOutput) Bandwidth() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *int { + if v == nil { + return nil + } + return v.Bandwidth + }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceBootVolumePtrOutput) Encryption() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *string { + if v == nil { + return nil + } + return v.Encryption + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceBootVolumePtrOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *int { + if v == nil { + return nil + } + return v.Iops + }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceBootVolumePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceBootVolumePtrOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *string { + if v == nil { + return nil + } + return v.Profile + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceBootVolumePtrOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *int { + if v == nil { + return nil + } + return v.Size + }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceBootVolumePtrOutput) Snapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *string { + if v == nil { + return nil + } + return v.Snapshot + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceBootVolumePtrOutput) SnapshotCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *string { + if v == nil { + return nil + } + return v.SnapshotCrn + }).(pulumi.StringPtrOutput) +} + +// UserTags for the volume instance +func (o IsInstanceBootVolumePtrOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) []string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringArrayOutput) +} + +// The unique identifier for this volume +func (o IsInstanceBootVolumePtrOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolume) *string { + if v == nil { + return nil + } + return v.VolumeId + }).(pulumi.StringPtrOutput) +} + +type IsInstanceBootVolumeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance *string `pulumi:"instance"` +} + +// IsInstanceBootVolumeAllowedUseInput is an input type that accepts IsInstanceBootVolumeAllowedUseArgs and IsInstanceBootVolumeAllowedUseOutput values. +// You can construct a concrete instance of `IsInstanceBootVolumeAllowedUseInput` via: +// +// IsInstanceBootVolumeAllowedUseArgs{...} +type IsInstanceBootVolumeAllowedUseInput interface { + pulumi.Input + + ToIsInstanceBootVolumeAllowedUseOutput() IsInstanceBootVolumeAllowedUseOutput + ToIsInstanceBootVolumeAllowedUseOutputWithContext(context.Context) IsInstanceBootVolumeAllowedUseOutput +} + +type IsInstanceBootVolumeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringPtrInput `pulumi:"instance"` +} + +func (IsInstanceBootVolumeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceBootVolumeAllowedUse)(nil)).Elem() +} + +func (i IsInstanceBootVolumeAllowedUseArgs) ToIsInstanceBootVolumeAllowedUseOutput() IsInstanceBootVolumeAllowedUseOutput { + return i.ToIsInstanceBootVolumeAllowedUseOutputWithContext(context.Background()) +} + +func (i IsInstanceBootVolumeAllowedUseArgs) ToIsInstanceBootVolumeAllowedUseOutputWithContext(ctx context.Context) IsInstanceBootVolumeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceBootVolumeAllowedUseOutput) +} + +func (i IsInstanceBootVolumeAllowedUseArgs) ToIsInstanceBootVolumeAllowedUsePtrOutput() IsInstanceBootVolumeAllowedUsePtrOutput { + return i.ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceBootVolumeAllowedUseArgs) ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceBootVolumeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceBootVolumeAllowedUseOutput).ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(ctx) +} + +// IsInstanceBootVolumeAllowedUsePtrInput is an input type that accepts IsInstanceBootVolumeAllowedUseArgs, IsInstanceBootVolumeAllowedUsePtr and IsInstanceBootVolumeAllowedUsePtrOutput values. +// You can construct a concrete instance of `IsInstanceBootVolumeAllowedUsePtrInput` via: +// +// IsInstanceBootVolumeAllowedUseArgs{...} +// +// or: +// +// nil +type IsInstanceBootVolumeAllowedUsePtrInput interface { + pulumi.Input + + ToIsInstanceBootVolumeAllowedUsePtrOutput() IsInstanceBootVolumeAllowedUsePtrOutput + ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(context.Context) IsInstanceBootVolumeAllowedUsePtrOutput +} + +type isInstanceBootVolumeAllowedUsePtrType IsInstanceBootVolumeAllowedUseArgs + +func IsInstanceBootVolumeAllowedUsePtr(v *IsInstanceBootVolumeAllowedUseArgs) IsInstanceBootVolumeAllowedUsePtrInput { + return (*isInstanceBootVolumeAllowedUsePtrType)(v) +} + +func (*isInstanceBootVolumeAllowedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceBootVolumeAllowedUse)(nil)).Elem() +} + +func (i *isInstanceBootVolumeAllowedUsePtrType) ToIsInstanceBootVolumeAllowedUsePtrOutput() IsInstanceBootVolumeAllowedUsePtrOutput { + return i.ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceBootVolumeAllowedUsePtrType) ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceBootVolumeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceBootVolumeAllowedUsePtrOutput) +} + +type IsInstanceBootVolumeAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsInstanceBootVolumeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceBootVolumeAllowedUse)(nil)).Elem() +} + +func (o IsInstanceBootVolumeAllowedUseOutput) ToIsInstanceBootVolumeAllowedUseOutput() IsInstanceBootVolumeAllowedUseOutput { + return o +} + +func (o IsInstanceBootVolumeAllowedUseOutput) ToIsInstanceBootVolumeAllowedUseOutputWithContext(ctx context.Context) IsInstanceBootVolumeAllowedUseOutput { + return o +} + +func (o IsInstanceBootVolumeAllowedUseOutput) ToIsInstanceBootVolumeAllowedUsePtrOutput() IsInstanceBootVolumeAllowedUsePtrOutput { + return o.ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceBootVolumeAllowedUseOutput) ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceBootVolumeAllowedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceBootVolumeAllowedUse) *IsInstanceBootVolumeAllowedUse { + return &v + }).(IsInstanceBootVolumeAllowedUsePtrOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceBootVolumeAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolumeAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceBootVolumeAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolumeAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceBootVolumeAllowedUseOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceBootVolumeAllowedUse) *string { return v.Instance }).(pulumi.StringPtrOutput) +} + +type IsInstanceBootVolumeAllowedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceBootVolumeAllowedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceBootVolumeAllowedUse)(nil)).Elem() +} + +func (o IsInstanceBootVolumeAllowedUsePtrOutput) ToIsInstanceBootVolumeAllowedUsePtrOutput() IsInstanceBootVolumeAllowedUsePtrOutput { + return o +} + +func (o IsInstanceBootVolumeAllowedUsePtrOutput) ToIsInstanceBootVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceBootVolumeAllowedUsePtrOutput { + return o +} + +func (o IsInstanceBootVolumeAllowedUsePtrOutput) Elem() IsInstanceBootVolumeAllowedUseOutput { + return o.ApplyT(func(v *IsInstanceBootVolumeAllowedUse) IsInstanceBootVolumeAllowedUse { + if v != nil { + return *v + } + var ret IsInstanceBootVolumeAllowedUse + return ret + }).(IsInstanceBootVolumeAllowedUseOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceBootVolumeAllowedUsePtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.ApiVersion + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceBootVolumeAllowedUsePtrOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.BareMetalServer + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceBootVolumeAllowedUsePtrOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceBootVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.Instance + }).(pulumi.StringPtrOutput) +} + +type IsInstanceCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []IsInstanceCatalogOfferingDeleted `pulumi:"deleteds"` + // Identifies a catalog offering by a unique CRN property + OfferingCrn *string `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn *string `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn *string `pulumi:"versionCrn"` +} + +// IsInstanceCatalogOfferingInput is an input type that accepts IsInstanceCatalogOfferingArgs and IsInstanceCatalogOfferingOutput values. +// You can construct a concrete instance of `IsInstanceCatalogOfferingInput` via: +// +// IsInstanceCatalogOfferingArgs{...} +type IsInstanceCatalogOfferingInput interface { + pulumi.Input + + ToIsInstanceCatalogOfferingOutput() IsInstanceCatalogOfferingOutput + ToIsInstanceCatalogOfferingOutputWithContext(context.Context) IsInstanceCatalogOfferingOutput +} + +type IsInstanceCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds IsInstanceCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // Identifies a catalog offering by a unique CRN property + OfferingCrn pulumi.StringPtrInput `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringPtrInput `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn pulumi.StringPtrInput `pulumi:"versionCrn"` +} + +func (IsInstanceCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceCatalogOffering)(nil)).Elem() +} + +func (i IsInstanceCatalogOfferingArgs) ToIsInstanceCatalogOfferingOutput() IsInstanceCatalogOfferingOutput { + return i.ToIsInstanceCatalogOfferingOutputWithContext(context.Background()) +} + +func (i IsInstanceCatalogOfferingArgs) ToIsInstanceCatalogOfferingOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceCatalogOfferingOutput) +} + +func (i IsInstanceCatalogOfferingArgs) ToIsInstanceCatalogOfferingPtrOutput() IsInstanceCatalogOfferingPtrOutput { + return i.ToIsInstanceCatalogOfferingPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceCatalogOfferingArgs) ToIsInstanceCatalogOfferingPtrOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceCatalogOfferingOutput).ToIsInstanceCatalogOfferingPtrOutputWithContext(ctx) +} + +// IsInstanceCatalogOfferingPtrInput is an input type that accepts IsInstanceCatalogOfferingArgs, IsInstanceCatalogOfferingPtr and IsInstanceCatalogOfferingPtrOutput values. +// You can construct a concrete instance of `IsInstanceCatalogOfferingPtrInput` via: +// +// IsInstanceCatalogOfferingArgs{...} +// +// or: +// +// nil +type IsInstanceCatalogOfferingPtrInput interface { + pulumi.Input + + ToIsInstanceCatalogOfferingPtrOutput() IsInstanceCatalogOfferingPtrOutput + ToIsInstanceCatalogOfferingPtrOutputWithContext(context.Context) IsInstanceCatalogOfferingPtrOutput +} + +type isInstanceCatalogOfferingPtrType IsInstanceCatalogOfferingArgs + +func IsInstanceCatalogOfferingPtr(v *IsInstanceCatalogOfferingArgs) IsInstanceCatalogOfferingPtrInput { + return (*isInstanceCatalogOfferingPtrType)(v) +} + +func (*isInstanceCatalogOfferingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceCatalogOffering)(nil)).Elem() +} + +func (i *isInstanceCatalogOfferingPtrType) ToIsInstanceCatalogOfferingPtrOutput() IsInstanceCatalogOfferingPtrOutput { + return i.ToIsInstanceCatalogOfferingPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceCatalogOfferingPtrType) ToIsInstanceCatalogOfferingPtrOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceCatalogOfferingPtrOutput) +} + +type IsInstanceCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (IsInstanceCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceCatalogOffering)(nil)).Elem() +} + +func (o IsInstanceCatalogOfferingOutput) ToIsInstanceCatalogOfferingOutput() IsInstanceCatalogOfferingOutput { + return o +} + +func (o IsInstanceCatalogOfferingOutput) ToIsInstanceCatalogOfferingOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingOutput { + return o +} + +func (o IsInstanceCatalogOfferingOutput) ToIsInstanceCatalogOfferingPtrOutput() IsInstanceCatalogOfferingPtrOutput { + return o.ToIsInstanceCatalogOfferingPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceCatalogOfferingOutput) ToIsInstanceCatalogOfferingPtrOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceCatalogOffering) *IsInstanceCatalogOffering { + return &v + }).(IsInstanceCatalogOfferingPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o IsInstanceCatalogOfferingOutput) Deleteds() IsInstanceCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceCatalogOffering) []IsInstanceCatalogOfferingDeleted { return v.Deleteds }).(IsInstanceCatalogOfferingDeletedArrayOutput) +} + +// Identifies a catalog offering by a unique CRN property +func (o IsInstanceCatalogOfferingOutput) OfferingCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceCatalogOffering) *string { return v.OfferingCrn }).(pulumi.StringPtrOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o IsInstanceCatalogOfferingOutput) PlanCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceCatalogOffering) *string { return v.PlanCrn }).(pulumi.StringPtrOutput) +} + +// Identifies a version of a catalog offering by a unique CRN property +func (o IsInstanceCatalogOfferingOutput) VersionCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceCatalogOffering) *string { return v.VersionCrn }).(pulumi.StringPtrOutput) +} + +type IsInstanceCatalogOfferingPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceCatalogOfferingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceCatalogOffering)(nil)).Elem() +} + +func (o IsInstanceCatalogOfferingPtrOutput) ToIsInstanceCatalogOfferingPtrOutput() IsInstanceCatalogOfferingPtrOutput { + return o +} + +func (o IsInstanceCatalogOfferingPtrOutput) ToIsInstanceCatalogOfferingPtrOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingPtrOutput { + return o +} + +func (o IsInstanceCatalogOfferingPtrOutput) Elem() IsInstanceCatalogOfferingOutput { + return o.ApplyT(func(v *IsInstanceCatalogOffering) IsInstanceCatalogOffering { + if v != nil { + return *v + } + var ret IsInstanceCatalogOffering + return ret + }).(IsInstanceCatalogOfferingOutput) +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o IsInstanceCatalogOfferingPtrOutput) Deleteds() IsInstanceCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v *IsInstanceCatalogOffering) []IsInstanceCatalogOfferingDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstanceCatalogOfferingDeletedArrayOutput) +} + +// Identifies a catalog offering by a unique CRN property +func (o IsInstanceCatalogOfferingPtrOutput) OfferingCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceCatalogOffering) *string { + if v == nil { + return nil + } + return v.OfferingCrn + }).(pulumi.StringPtrOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o IsInstanceCatalogOfferingPtrOutput) PlanCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceCatalogOffering) *string { + if v == nil { + return nil + } + return v.PlanCrn + }).(pulumi.StringPtrOutput) +} + +// Identifies a version of a catalog offering by a unique CRN property +func (o IsInstanceCatalogOfferingPtrOutput) VersionCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceCatalogOffering) *string { + if v == nil { + return nil + } + return v.VersionCrn + }).(pulumi.StringPtrOutput) +} + +type IsInstanceCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceCatalogOfferingDeletedInput is an input type that accepts IsInstanceCatalogOfferingDeletedArgs and IsInstanceCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `IsInstanceCatalogOfferingDeletedInput` via: +// +// IsInstanceCatalogOfferingDeletedArgs{...} +type IsInstanceCatalogOfferingDeletedInput interface { + pulumi.Input + + ToIsInstanceCatalogOfferingDeletedOutput() IsInstanceCatalogOfferingDeletedOutput + ToIsInstanceCatalogOfferingDeletedOutputWithContext(context.Context) IsInstanceCatalogOfferingDeletedOutput +} + +type IsInstanceCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (i IsInstanceCatalogOfferingDeletedArgs) ToIsInstanceCatalogOfferingDeletedOutput() IsInstanceCatalogOfferingDeletedOutput { + return i.ToIsInstanceCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceCatalogOfferingDeletedArgs) ToIsInstanceCatalogOfferingDeletedOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceCatalogOfferingDeletedOutput) +} + +// IsInstanceCatalogOfferingDeletedArrayInput is an input type that accepts IsInstanceCatalogOfferingDeletedArray and IsInstanceCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceCatalogOfferingDeletedArrayInput` via: +// +// IsInstanceCatalogOfferingDeletedArray{ IsInstanceCatalogOfferingDeletedArgs{...} } +type IsInstanceCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceCatalogOfferingDeletedArrayOutput() IsInstanceCatalogOfferingDeletedArrayOutput + ToIsInstanceCatalogOfferingDeletedArrayOutputWithContext(context.Context) IsInstanceCatalogOfferingDeletedArrayOutput +} + +type IsInstanceCatalogOfferingDeletedArray []IsInstanceCatalogOfferingDeletedInput + +func (IsInstanceCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (i IsInstanceCatalogOfferingDeletedArray) ToIsInstanceCatalogOfferingDeletedArrayOutput() IsInstanceCatalogOfferingDeletedArrayOutput { + return i.ToIsInstanceCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceCatalogOfferingDeletedArray) ToIsInstanceCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceCatalogOfferingDeletedArrayOutput) +} + +type IsInstanceCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (o IsInstanceCatalogOfferingDeletedOutput) ToIsInstanceCatalogOfferingDeletedOutput() IsInstanceCatalogOfferingDeletedOutput { + return o +} + +func (o IsInstanceCatalogOfferingDeletedOutput) ToIsInstanceCatalogOfferingDeletedOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceCatalogOfferingDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (o IsInstanceCatalogOfferingDeletedArrayOutput) ToIsInstanceCatalogOfferingDeletedArrayOutput() IsInstanceCatalogOfferingDeletedArrayOutput { + return o +} + +func (o IsInstanceCatalogOfferingDeletedArrayOutput) ToIsInstanceCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) IsInstanceCatalogOfferingDeletedArrayOutput { + return o +} + +func (o IsInstanceCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceCatalogOfferingDeleted { + return vs[0].([]IsInstanceCatalogOfferingDeleted)[vs[1].(int)] + }).(IsInstanceCatalogOfferingDeletedOutput) +} + +type IsInstanceClusterNetwork struct { + // The CRN for this cluster network. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceClusterNetworkDeleted `pulumi:"deleteds"` + // The URL for this cluster network. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network. + Id *string `pulumi:"id"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceClusterNetworkInput is an input type that accepts IsInstanceClusterNetworkArgs and IsInstanceClusterNetworkOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkInput` via: +// +// IsInstanceClusterNetworkArgs{...} +type IsInstanceClusterNetworkInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkOutput() IsInstanceClusterNetworkOutput + ToIsInstanceClusterNetworkOutputWithContext(context.Context) IsInstanceClusterNetworkOutput +} + +type IsInstanceClusterNetworkArgs struct { + // The CRN for this cluster network. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceClusterNetworkDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetwork)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkArgs) ToIsInstanceClusterNetworkOutput() IsInstanceClusterNetworkOutput { + return i.ToIsInstanceClusterNetworkOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkArgs) ToIsInstanceClusterNetworkOutputWithContext(ctx context.Context) IsInstanceClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkOutput) +} + +// IsInstanceClusterNetworkArrayInput is an input type that accepts IsInstanceClusterNetworkArray and IsInstanceClusterNetworkArrayOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkArrayInput` via: +// +// IsInstanceClusterNetworkArray{ IsInstanceClusterNetworkArgs{...} } +type IsInstanceClusterNetworkArrayInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkArrayOutput() IsInstanceClusterNetworkArrayOutput + ToIsInstanceClusterNetworkArrayOutputWithContext(context.Context) IsInstanceClusterNetworkArrayOutput +} + +type IsInstanceClusterNetworkArray []IsInstanceClusterNetworkInput + +func (IsInstanceClusterNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetwork)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkArray) ToIsInstanceClusterNetworkArrayOutput() IsInstanceClusterNetworkArrayOutput { + return i.ToIsInstanceClusterNetworkArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkArray) ToIsInstanceClusterNetworkArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkArrayOutput) +} + +type IsInstanceClusterNetworkOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetwork)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkOutput) ToIsInstanceClusterNetworkOutput() IsInstanceClusterNetworkOutput { + return o +} + +func (o IsInstanceClusterNetworkOutput) ToIsInstanceClusterNetworkOutputWithContext(ctx context.Context) IsInstanceClusterNetworkOutput { + return o +} + +// The CRN for this cluster network. +func (o IsInstanceClusterNetworkOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetwork) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceClusterNetworkOutput) Deleteds() IsInstanceClusterNetworkDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceClusterNetwork) []IsInstanceClusterNetworkDeleted { return v.Deleteds }).(IsInstanceClusterNetworkDeletedArrayOutput) +} + +// The URL for this cluster network. +func (o IsInstanceClusterNetworkOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetwork) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network. +func (o IsInstanceClusterNetworkOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetwork) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network. The name must not be used by another cluster network in the region. +func (o IsInstanceClusterNetworkOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetwork) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetwork) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetwork)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkArrayOutput) ToIsInstanceClusterNetworkArrayOutput() IsInstanceClusterNetworkArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkArrayOutput) ToIsInstanceClusterNetworkArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkArrayOutput) Index(i pulumi.IntInput) IsInstanceClusterNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceClusterNetwork { + return vs[0].([]IsInstanceClusterNetwork)[vs[1].(int)] + }).(IsInstanceClusterNetworkOutput) +} + +type IsInstanceClusterNetworkAttachmentType struct { + // A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. + ClusterNetworkInterface IsInstanceClusterNetworkAttachmentClusterNetworkInterface `pulumi:"clusterNetworkInterface"` + // The URL for this instance cluster network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id *string `pulumi:"id"` + // The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceClusterNetworkAttachmentTypeInput is an input type that accepts IsInstanceClusterNetworkAttachmentTypeArgs and IsInstanceClusterNetworkAttachmentTypeOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentTypeInput` via: +// +// IsInstanceClusterNetworkAttachmentTypeArgs{...} +type IsInstanceClusterNetworkAttachmentTypeInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentTypeOutput() IsInstanceClusterNetworkAttachmentTypeOutput + ToIsInstanceClusterNetworkAttachmentTypeOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentTypeOutput +} + +type IsInstanceClusterNetworkAttachmentTypeArgs struct { + // A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. + ClusterNetworkInterface IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput `pulumi:"clusterNetworkInterface"` + // The URL for this instance cluster network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceClusterNetworkAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentType)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentTypeArgs) ToIsInstanceClusterNetworkAttachmentTypeOutput() IsInstanceClusterNetworkAttachmentTypeOutput { + return i.ToIsInstanceClusterNetworkAttachmentTypeOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentTypeArgs) ToIsInstanceClusterNetworkAttachmentTypeOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentTypeOutput) +} + +// IsInstanceClusterNetworkAttachmentTypeArrayInput is an input type that accepts IsInstanceClusterNetworkAttachmentTypeArray and IsInstanceClusterNetworkAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentTypeArrayInput` via: +// +// IsInstanceClusterNetworkAttachmentTypeArray{ IsInstanceClusterNetworkAttachmentTypeArgs{...} } +type IsInstanceClusterNetworkAttachmentTypeArrayInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentTypeArrayOutput() IsInstanceClusterNetworkAttachmentTypeArrayOutput + ToIsInstanceClusterNetworkAttachmentTypeArrayOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentTypeArrayOutput +} + +type IsInstanceClusterNetworkAttachmentTypeArray []IsInstanceClusterNetworkAttachmentTypeInput + +func (IsInstanceClusterNetworkAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentType)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentTypeArray) ToIsInstanceClusterNetworkAttachmentTypeArrayOutput() IsInstanceClusterNetworkAttachmentTypeArrayOutput { + return i.ToIsInstanceClusterNetworkAttachmentTypeArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentTypeArray) ToIsInstanceClusterNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentTypeArrayOutput) +} + +type IsInstanceClusterNetworkAttachmentTypeOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentType)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentTypeOutput) ToIsInstanceClusterNetworkAttachmentTypeOutput() IsInstanceClusterNetworkAttachmentTypeOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentTypeOutput) ToIsInstanceClusterNetworkAttachmentTypeOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentTypeOutput { + return o +} + +// A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. +func (o IsInstanceClusterNetworkAttachmentTypeOutput) ClusterNetworkInterface() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentType) IsInstanceClusterNetworkAttachmentClusterNetworkInterface { + return v.ClusterNetworkInterface + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +// The URL for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentTypeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentType) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. +func (o IsInstanceClusterNetworkAttachmentTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentType) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentTypeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentType) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentType)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentTypeArrayOutput) ToIsInstanceClusterNetworkAttachmentTypeArrayOutput() IsInstanceClusterNetworkAttachmentTypeArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentTypeArrayOutput) ToIsInstanceClusterNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentTypeArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentTypeArrayOutput) Index(i pulumi.IntInput) IsInstanceClusterNetworkAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceClusterNetworkAttachmentType { + return vs[0].([]IsInstanceClusterNetworkAttachmentType)[vs[1].(int)] + }).(IsInstanceClusterNetworkAttachmentTypeOutput) +} + +type IsInstanceClusterNetworkAttachmentBefore struct { + // The URL for this instance cluster network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id string `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceClusterNetworkAttachmentBeforeInput is an input type that accepts IsInstanceClusterNetworkAttachmentBeforeArgs and IsInstanceClusterNetworkAttachmentBeforeOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentBeforeInput` via: +// +// IsInstanceClusterNetworkAttachmentBeforeArgs{...} +type IsInstanceClusterNetworkAttachmentBeforeInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentBeforeOutput() IsInstanceClusterNetworkAttachmentBeforeOutput + ToIsInstanceClusterNetworkAttachmentBeforeOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentBeforeOutput +} + +type IsInstanceClusterNetworkAttachmentBeforeArgs struct { + // The URL for this instance cluster network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceClusterNetworkAttachmentBeforeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentBeforeArgs) ToIsInstanceClusterNetworkAttachmentBeforeOutput() IsInstanceClusterNetworkAttachmentBeforeOutput { + return i.ToIsInstanceClusterNetworkAttachmentBeforeOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentBeforeArgs) ToIsInstanceClusterNetworkAttachmentBeforeOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentBeforeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentBeforeOutput) +} + +func (i IsInstanceClusterNetworkAttachmentBeforeArgs) ToIsInstanceClusterNetworkAttachmentBeforePtrOutput() IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return i.ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentBeforeArgs) ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentBeforeOutput).ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(ctx) +} + +// IsInstanceClusterNetworkAttachmentBeforePtrInput is an input type that accepts IsInstanceClusterNetworkAttachmentBeforeArgs, IsInstanceClusterNetworkAttachmentBeforePtr and IsInstanceClusterNetworkAttachmentBeforePtrOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentBeforePtrInput` via: +// +// IsInstanceClusterNetworkAttachmentBeforeArgs{...} +// +// or: +// +// nil +type IsInstanceClusterNetworkAttachmentBeforePtrInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentBeforePtrOutput() IsInstanceClusterNetworkAttachmentBeforePtrOutput + ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentBeforePtrOutput +} + +type isInstanceClusterNetworkAttachmentBeforePtrType IsInstanceClusterNetworkAttachmentBeforeArgs + +func IsInstanceClusterNetworkAttachmentBeforePtr(v *IsInstanceClusterNetworkAttachmentBeforeArgs) IsInstanceClusterNetworkAttachmentBeforePtrInput { + return (*isInstanceClusterNetworkAttachmentBeforePtrType)(v) +} + +func (*isInstanceClusterNetworkAttachmentBeforePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (i *isInstanceClusterNetworkAttachmentBeforePtrType) ToIsInstanceClusterNetworkAttachmentBeforePtrOutput() IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return i.ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceClusterNetworkAttachmentBeforePtrType) ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentBeforePtrOutput) +} + +type IsInstanceClusterNetworkAttachmentBeforeOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentBeforeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentBeforeOutput) ToIsInstanceClusterNetworkAttachmentBeforeOutput() IsInstanceClusterNetworkAttachmentBeforeOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentBeforeOutput) ToIsInstanceClusterNetworkAttachmentBeforeOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentBeforeOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentBeforeOutput) ToIsInstanceClusterNetworkAttachmentBeforePtrOutput() IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return o.ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceClusterNetworkAttachmentBeforeOutput) ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceClusterNetworkAttachmentBefore) *IsInstanceClusterNetworkAttachmentBefore { + return &v + }).(IsInstanceClusterNetworkAttachmentBeforePtrOutput) +} + +// The URL for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentBeforeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentBefore) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentBeforeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentBefore) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o IsInstanceClusterNetworkAttachmentBeforeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentBefore) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentBeforeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentBefore) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentBeforePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentBeforePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentBeforePtrOutput) ToIsInstanceClusterNetworkAttachmentBeforePtrOutput() IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentBeforePtrOutput) ToIsInstanceClusterNetworkAttachmentBeforePtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentBeforePtrOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentBeforePtrOutput) Elem() IsInstanceClusterNetworkAttachmentBeforeOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentBefore) IsInstanceClusterNetworkAttachmentBefore { + if v != nil { + return *v + } + var ret IsInstanceClusterNetworkAttachmentBefore + return ret + }).(IsInstanceClusterNetworkAttachmentBeforeOutput) +} + +// The URL for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentBeforePtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentBefore) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o IsInstanceClusterNetworkAttachmentBeforePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentBefore) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o IsInstanceClusterNetworkAttachmentBeforePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentBefore) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentBeforePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentBefore) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterface struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id *string `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name *string `pulumi:"name"` + // The primary IP for this cluster network interface. + PrimaryIp *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + Subnet IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet `pulumi:"subnet"` +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs and IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP for this cluster network interface. + PrimaryIp IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + Subnet IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput `pulumi:"subnet"` +} + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput).ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs, IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtr and IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput +} + +type isInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrType IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs + +func IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtr(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrInput { + return (*isInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrType)(v) +} + +func (*isInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i *isInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrType) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrType) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput { + return o.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *IsInstanceClusterNetworkAttachmentClusterNetworkInterface { + return &v + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Deleteds() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterface) []IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted { + return v.Deleteds + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) +} + +// The URL for this cluster network interface. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network interface. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP for this cluster network interface. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) PrimaryIp() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Subnet() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterface) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return v.Subnet + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) Elem() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterface) IsInstanceClusterNetworkAttachmentClusterNetworkInterface { + if v != nil { + return *v + } + var ret IsInstanceClusterNetworkAttachmentClusterNetworkInterface + return ret + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) Deleteds() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterface) []IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) +} + +// The URL for this cluster network interface. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network interface. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP for this cluster network interface. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) PrimaryIp() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput) Subnet() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterface) *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + if v == nil { + return nil + } + return &v.Subnet + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs and IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{...} +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray and IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray{ IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{...} } +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray []IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted { + return vs[0].([]IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)[vs[1].(int)] + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs and IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput).ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs, IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtr and IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput +} + +type isInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs + +func IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtr(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput { + return (*isInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return &v + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Deleteds() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) []IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Elem() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp + return ret + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return &v.Address + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Deleteds() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) []IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return &v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs and IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{...} +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray and IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray{ IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray []IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id string `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs and IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput).ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx) +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs, IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtr and IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} +// +// or: +// +// nil +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput +} + +type isInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs + +func IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtr(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput { + return (*isInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType)(v) +} + +func (*isInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i *isInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return &v + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Deleteds() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) []IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted { + return v.Deleteds + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this cluster network subnet. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) Elem() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + if v != nil { + return *v + } + var ret IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet + return ret + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) Deleteds() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) []IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this cluster network subnet. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs and IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{...} +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) +} + +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray and IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput` via: +// +// IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray{ IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{...} } +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput + ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray []IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ToIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted { + return vs[0].([]IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) +} + +type IsInstanceClusterNetworkAttachmentLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceClusterNetworkAttachmentLifecycleReasonInput is an input type that accepts IsInstanceClusterNetworkAttachmentLifecycleReasonArgs and IsInstanceClusterNetworkAttachmentLifecycleReasonOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentLifecycleReasonInput` via: +// +// IsInstanceClusterNetworkAttachmentLifecycleReasonArgs{...} +type IsInstanceClusterNetworkAttachmentLifecycleReasonInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentLifecycleReasonOutput() IsInstanceClusterNetworkAttachmentLifecycleReasonOutput + ToIsInstanceClusterNetworkAttachmentLifecycleReasonOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentLifecycleReasonOutput +} + +type IsInstanceClusterNetworkAttachmentLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceClusterNetworkAttachmentLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentLifecycleReasonArgs) ToIsInstanceClusterNetworkAttachmentLifecycleReasonOutput() IsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return i.ToIsInstanceClusterNetworkAttachmentLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentLifecycleReasonArgs) ToIsInstanceClusterNetworkAttachmentLifecycleReasonOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentLifecycleReasonOutput) +} + +// IsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput is an input type that accepts IsInstanceClusterNetworkAttachmentLifecycleReasonArray and IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput` via: +// +// IsInstanceClusterNetworkAttachmentLifecycleReasonArray{ IsInstanceClusterNetworkAttachmentLifecycleReasonArgs{...} } +type IsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput() IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput + ToIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(context.Context) IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput +} + +type IsInstanceClusterNetworkAttachmentLifecycleReasonArray []IsInstanceClusterNetworkAttachmentLifecycleReasonInput + +func (IsInstanceClusterNetworkAttachmentLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkAttachmentLifecycleReasonArray) ToIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput() IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return i.ToIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkAttachmentLifecycleReasonArray) ToIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) +} + +type IsInstanceClusterNetworkAttachmentLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentLifecycleReasonOutput) ToIsInstanceClusterNetworkAttachmentLifecycleReasonOutput() IsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentLifecycleReasonOutput) ToIsInstanceClusterNetworkAttachmentLifecycleReasonOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsInstanceClusterNetworkAttachmentLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsInstanceClusterNetworkAttachmentLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsInstanceClusterNetworkAttachmentLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkAttachmentLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) ToIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput() IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) ToIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceClusterNetworkAttachmentLifecycleReason { + return vs[0].([]IsInstanceClusterNetworkAttachmentLifecycleReason)[vs[1].(int)] + }).(IsInstanceClusterNetworkAttachmentLifecycleReasonOutput) +} + +type IsInstanceClusterNetworkDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceClusterNetworkDeletedInput is an input type that accepts IsInstanceClusterNetworkDeletedArgs and IsInstanceClusterNetworkDeletedOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkDeletedInput` via: +// +// IsInstanceClusterNetworkDeletedArgs{...} +type IsInstanceClusterNetworkDeletedInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkDeletedOutput() IsInstanceClusterNetworkDeletedOutput + ToIsInstanceClusterNetworkDeletedOutputWithContext(context.Context) IsInstanceClusterNetworkDeletedOutput +} + +type IsInstanceClusterNetworkDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceClusterNetworkDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkDeletedArgs) ToIsInstanceClusterNetworkDeletedOutput() IsInstanceClusterNetworkDeletedOutput { + return i.ToIsInstanceClusterNetworkDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkDeletedArgs) ToIsInstanceClusterNetworkDeletedOutputWithContext(ctx context.Context) IsInstanceClusterNetworkDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkDeletedOutput) +} + +// IsInstanceClusterNetworkDeletedArrayInput is an input type that accepts IsInstanceClusterNetworkDeletedArray and IsInstanceClusterNetworkDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceClusterNetworkDeletedArrayInput` via: +// +// IsInstanceClusterNetworkDeletedArray{ IsInstanceClusterNetworkDeletedArgs{...} } +type IsInstanceClusterNetworkDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceClusterNetworkDeletedArrayOutput() IsInstanceClusterNetworkDeletedArrayOutput + ToIsInstanceClusterNetworkDeletedArrayOutputWithContext(context.Context) IsInstanceClusterNetworkDeletedArrayOutput +} + +type IsInstanceClusterNetworkDeletedArray []IsInstanceClusterNetworkDeletedInput + +func (IsInstanceClusterNetworkDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (i IsInstanceClusterNetworkDeletedArray) ToIsInstanceClusterNetworkDeletedArrayOutput() IsInstanceClusterNetworkDeletedArrayOutput { + return i.ToIsInstanceClusterNetworkDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceClusterNetworkDeletedArray) ToIsInstanceClusterNetworkDeletedArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceClusterNetworkDeletedArrayOutput) +} + +type IsInstanceClusterNetworkDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkDeletedOutput) ToIsInstanceClusterNetworkDeletedOutput() IsInstanceClusterNetworkDeletedOutput { + return o +} + +func (o IsInstanceClusterNetworkDeletedOutput) ToIsInstanceClusterNetworkDeletedOutputWithContext(ctx context.Context) IsInstanceClusterNetworkDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceClusterNetworkDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceClusterNetworkDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceClusterNetworkDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceClusterNetworkDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (o IsInstanceClusterNetworkDeletedArrayOutput) ToIsInstanceClusterNetworkDeletedArrayOutput() IsInstanceClusterNetworkDeletedArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkDeletedArrayOutput) ToIsInstanceClusterNetworkDeletedArrayOutputWithContext(ctx context.Context) IsInstanceClusterNetworkDeletedArrayOutput { + return o +} + +func (o IsInstanceClusterNetworkDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceClusterNetworkDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceClusterNetworkDeleted { + return vs[0].([]IsInstanceClusterNetworkDeleted)[vs[1].(int)] + }).(IsInstanceClusterNetworkDeletedOutput) +} + +type IsInstanceDisk struct { + // The date and time that the disk was created. + CreatedAt *string `pulumi:"createdAt"` + // The URL for this instance disk. + Href *string `pulumi:"href"` + // The unique identifier for this instance disk. + Id *string `pulumi:"id"` + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType *string `pulumi:"interfaceType"` + // The user-defined name for this disk. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size *int `pulumi:"size"` +} + +// IsInstanceDiskInput is an input type that accepts IsInstanceDiskArgs and IsInstanceDiskOutput values. +// You can construct a concrete instance of `IsInstanceDiskInput` via: +// +// IsInstanceDiskArgs{...} +type IsInstanceDiskInput interface { + pulumi.Input + + ToIsInstanceDiskOutput() IsInstanceDiskOutput + ToIsInstanceDiskOutputWithContext(context.Context) IsInstanceDiskOutput +} + +type IsInstanceDiskArgs struct { + // The date and time that the disk was created. + CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` + // The URL for this instance disk. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance disk. + Id pulumi.StringPtrInput `pulumi:"id"` + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` + // The user-defined name for this disk. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntPtrInput `pulumi:"size"` +} + +func (IsInstanceDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceDisk)(nil)).Elem() +} + +func (i IsInstanceDiskArgs) ToIsInstanceDiskOutput() IsInstanceDiskOutput { + return i.ToIsInstanceDiskOutputWithContext(context.Background()) +} + +func (i IsInstanceDiskArgs) ToIsInstanceDiskOutputWithContext(ctx context.Context) IsInstanceDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceDiskOutput) +} + +// IsInstanceDiskArrayInput is an input type that accepts IsInstanceDiskArray and IsInstanceDiskArrayOutput values. +// You can construct a concrete instance of `IsInstanceDiskArrayInput` via: +// +// IsInstanceDiskArray{ IsInstanceDiskArgs{...} } +type IsInstanceDiskArrayInput interface { + pulumi.Input + + ToIsInstanceDiskArrayOutput() IsInstanceDiskArrayOutput + ToIsInstanceDiskArrayOutputWithContext(context.Context) IsInstanceDiskArrayOutput +} + +type IsInstanceDiskArray []IsInstanceDiskInput + +func (IsInstanceDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceDisk)(nil)).Elem() +} + +func (i IsInstanceDiskArray) ToIsInstanceDiskArrayOutput() IsInstanceDiskArrayOutput { + return i.ToIsInstanceDiskArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceDiskArray) ToIsInstanceDiskArrayOutputWithContext(ctx context.Context) IsInstanceDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceDiskArrayOutput) +} + +type IsInstanceDiskOutput struct{ *pulumi.OutputState } + +func (IsInstanceDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceDisk)(nil)).Elem() +} + +func (o IsInstanceDiskOutput) ToIsInstanceDiskOutput() IsInstanceDiskOutput { + return o +} + +func (o IsInstanceDiskOutput) ToIsInstanceDiskOutputWithContext(ctx context.Context) IsInstanceDiskOutput { + return o +} + +// The date and time that the disk was created. +func (o IsInstanceDiskOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceDisk) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// The URL for this instance disk. +func (o IsInstanceDiskOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceDisk) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance disk. +func (o IsInstanceDiskOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceDisk) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o IsInstanceDiskOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceDisk) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this disk. +func (o IsInstanceDiskOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceDisk) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceDiskOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceDisk) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The size of the disk in GB (gigabytes). +func (o IsInstanceDiskOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceDisk) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +type IsInstanceDiskArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceDisk)(nil)).Elem() +} + +func (o IsInstanceDiskArrayOutput) ToIsInstanceDiskArrayOutput() IsInstanceDiskArrayOutput { + return o +} + +func (o IsInstanceDiskArrayOutput) ToIsInstanceDiskArrayOutputWithContext(ctx context.Context) IsInstanceDiskArrayOutput { + return o +} + +func (o IsInstanceDiskArrayOutput) Index(i pulumi.IntInput) IsInstanceDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceDisk { + return vs[0].([]IsInstanceDisk)[vs[1].(int)] + }).(IsInstanceDiskOutput) +} + +type IsInstanceDiskManagementDisk struct { + // The unique identifier for this instance disk. + Id string `pulumi:"id"` + // The user-defined name for this disk. The disk will be updated with this new name + Name string `pulumi:"name"` +} + +// IsInstanceDiskManagementDiskInput is an input type that accepts IsInstanceDiskManagementDiskArgs and IsInstanceDiskManagementDiskOutput values. +// You can construct a concrete instance of `IsInstanceDiskManagementDiskInput` via: +// +// IsInstanceDiskManagementDiskArgs{...} +type IsInstanceDiskManagementDiskInput interface { + pulumi.Input + + ToIsInstanceDiskManagementDiskOutput() IsInstanceDiskManagementDiskOutput + ToIsInstanceDiskManagementDiskOutputWithContext(context.Context) IsInstanceDiskManagementDiskOutput +} + +type IsInstanceDiskManagementDiskArgs struct { + // The unique identifier for this instance disk. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this disk. The disk will be updated with this new name + Name pulumi.StringInput `pulumi:"name"` +} + +func (IsInstanceDiskManagementDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceDiskManagementDisk)(nil)).Elem() +} + +func (i IsInstanceDiskManagementDiskArgs) ToIsInstanceDiskManagementDiskOutput() IsInstanceDiskManagementDiskOutput { + return i.ToIsInstanceDiskManagementDiskOutputWithContext(context.Background()) +} + +func (i IsInstanceDiskManagementDiskArgs) ToIsInstanceDiskManagementDiskOutputWithContext(ctx context.Context) IsInstanceDiskManagementDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceDiskManagementDiskOutput) +} + +// IsInstanceDiskManagementDiskArrayInput is an input type that accepts IsInstanceDiskManagementDiskArray and IsInstanceDiskManagementDiskArrayOutput values. +// You can construct a concrete instance of `IsInstanceDiskManagementDiskArrayInput` via: +// +// IsInstanceDiskManagementDiskArray{ IsInstanceDiskManagementDiskArgs{...} } +type IsInstanceDiskManagementDiskArrayInput interface { + pulumi.Input + + ToIsInstanceDiskManagementDiskArrayOutput() IsInstanceDiskManagementDiskArrayOutput + ToIsInstanceDiskManagementDiskArrayOutputWithContext(context.Context) IsInstanceDiskManagementDiskArrayOutput +} + +type IsInstanceDiskManagementDiskArray []IsInstanceDiskManagementDiskInput + +func (IsInstanceDiskManagementDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceDiskManagementDisk)(nil)).Elem() +} + +func (i IsInstanceDiskManagementDiskArray) ToIsInstanceDiskManagementDiskArrayOutput() IsInstanceDiskManagementDiskArrayOutput { + return i.ToIsInstanceDiskManagementDiskArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceDiskManagementDiskArray) ToIsInstanceDiskManagementDiskArrayOutputWithContext(ctx context.Context) IsInstanceDiskManagementDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceDiskManagementDiskArrayOutput) +} + +type IsInstanceDiskManagementDiskOutput struct{ *pulumi.OutputState } + +func (IsInstanceDiskManagementDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceDiskManagementDisk)(nil)).Elem() +} + +func (o IsInstanceDiskManagementDiskOutput) ToIsInstanceDiskManagementDiskOutput() IsInstanceDiskManagementDiskOutput { + return o +} + +func (o IsInstanceDiskManagementDiskOutput) ToIsInstanceDiskManagementDiskOutputWithContext(ctx context.Context) IsInstanceDiskManagementDiskOutput { + return o +} + +// The unique identifier for this instance disk. +func (o IsInstanceDiskManagementDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceDiskManagementDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this disk. The disk will be updated with this new name +func (o IsInstanceDiskManagementDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceDiskManagementDisk) string { return v.Name }).(pulumi.StringOutput) +} + +type IsInstanceDiskManagementDiskArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceDiskManagementDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceDiskManagementDisk)(nil)).Elem() +} + +func (o IsInstanceDiskManagementDiskArrayOutput) ToIsInstanceDiskManagementDiskArrayOutput() IsInstanceDiskManagementDiskArrayOutput { + return o +} + +func (o IsInstanceDiskManagementDiskArrayOutput) ToIsInstanceDiskManagementDiskArrayOutputWithContext(ctx context.Context) IsInstanceDiskManagementDiskArrayOutput { + return o +} + +func (o IsInstanceDiskManagementDiskArrayOutput) Index(i pulumi.IntInput) IsInstanceDiskManagementDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceDiskManagementDisk { + return vs[0].([]IsInstanceDiskManagementDisk)[vs[1].(int)] + }).(IsInstanceDiskManagementDiskOutput) +} + +type IsInstanceGpus struct { + // The number of GPUs assigned to the instance + Count *int `pulumi:"count"` + // The GPU manufacturer + Manufacturer *string `pulumi:"manufacturer"` + // The overall amount of GPU memory in GiB (gibibytes) + Memory *int `pulumi:"memory"` + // The GPU model + Model *string `pulumi:"model"` +} + +// IsInstanceGpusInput is an input type that accepts IsInstanceGpusArgs and IsInstanceGpusOutput values. +// You can construct a concrete instance of `IsInstanceGpusInput` via: +// +// IsInstanceGpusArgs{...} +type IsInstanceGpusInput interface { + pulumi.Input + + ToIsInstanceGpusOutput() IsInstanceGpusOutput + ToIsInstanceGpusOutputWithContext(context.Context) IsInstanceGpusOutput +} + +type IsInstanceGpusArgs struct { + // The number of GPUs assigned to the instance + Count pulumi.IntPtrInput `pulumi:"count"` + // The GPU manufacturer + Manufacturer pulumi.StringPtrInput `pulumi:"manufacturer"` + // The overall amount of GPU memory in GiB (gibibytes) + Memory pulumi.IntPtrInput `pulumi:"memory"` + // The GPU model + Model pulumi.StringPtrInput `pulumi:"model"` +} + +func (IsInstanceGpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceGpus)(nil)).Elem() +} + +func (i IsInstanceGpusArgs) ToIsInstanceGpusOutput() IsInstanceGpusOutput { + return i.ToIsInstanceGpusOutputWithContext(context.Background()) +} + +func (i IsInstanceGpusArgs) ToIsInstanceGpusOutputWithContext(ctx context.Context) IsInstanceGpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGpusOutput) +} + +// IsInstanceGpusArrayInput is an input type that accepts IsInstanceGpusArray and IsInstanceGpusArrayOutput values. +// You can construct a concrete instance of `IsInstanceGpusArrayInput` via: +// +// IsInstanceGpusArray{ IsInstanceGpusArgs{...} } +type IsInstanceGpusArrayInput interface { + pulumi.Input + + ToIsInstanceGpusArrayOutput() IsInstanceGpusArrayOutput + ToIsInstanceGpusArrayOutputWithContext(context.Context) IsInstanceGpusArrayOutput +} + +type IsInstanceGpusArray []IsInstanceGpusInput + +func (IsInstanceGpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceGpus)(nil)).Elem() +} + +func (i IsInstanceGpusArray) ToIsInstanceGpusArrayOutput() IsInstanceGpusArrayOutput { + return i.ToIsInstanceGpusArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceGpusArray) ToIsInstanceGpusArrayOutputWithContext(ctx context.Context) IsInstanceGpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGpusArrayOutput) +} + +type IsInstanceGpusOutput struct{ *pulumi.OutputState } + +func (IsInstanceGpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceGpus)(nil)).Elem() +} + +func (o IsInstanceGpusOutput) ToIsInstanceGpusOutput() IsInstanceGpusOutput { + return o +} + +func (o IsInstanceGpusOutput) ToIsInstanceGpusOutputWithContext(ctx context.Context) IsInstanceGpusOutput { + return o +} + +// The number of GPUs assigned to the instance +func (o IsInstanceGpusOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceGpus) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// The GPU manufacturer +func (o IsInstanceGpusOutput) Manufacturer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGpus) *string { return v.Manufacturer }).(pulumi.StringPtrOutput) +} + +// The overall amount of GPU memory in GiB (gibibytes) +func (o IsInstanceGpusOutput) Memory() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceGpus) *int { return v.Memory }).(pulumi.IntPtrOutput) +} + +// The GPU model +func (o IsInstanceGpusOutput) Model() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGpus) *string { return v.Model }).(pulumi.StringPtrOutput) +} + +type IsInstanceGpusArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceGpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceGpus)(nil)).Elem() +} + +func (o IsInstanceGpusArrayOutput) ToIsInstanceGpusArrayOutput() IsInstanceGpusArrayOutput { + return o +} + +func (o IsInstanceGpusArrayOutput) ToIsInstanceGpusArrayOutputWithContext(ctx context.Context) IsInstanceGpusArrayOutput { + return o +} + +func (o IsInstanceGpusArrayOutput) Index(i pulumi.IntInput) IsInstanceGpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceGpus { + return vs[0].([]IsInstanceGpus)[vs[1].(int)] + }).(IsInstanceGpusOutput) +} + +type IsInstanceGroupManagerActionType struct { + InstanceGroupManagerAction *string `pulumi:"instanceGroupManagerAction"` + InstanceGroupManagerActionName *string `pulumi:"instanceGroupManagerActionName"` + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceGroupManagerActionTypeInput is an input type that accepts IsInstanceGroupManagerActionTypeArgs and IsInstanceGroupManagerActionTypeOutput values. +// You can construct a concrete instance of `IsInstanceGroupManagerActionTypeInput` via: +// +// IsInstanceGroupManagerActionTypeArgs{...} +type IsInstanceGroupManagerActionTypeInput interface { + pulumi.Input + + ToIsInstanceGroupManagerActionTypeOutput() IsInstanceGroupManagerActionTypeOutput + ToIsInstanceGroupManagerActionTypeOutputWithContext(context.Context) IsInstanceGroupManagerActionTypeOutput +} + +type IsInstanceGroupManagerActionTypeArgs struct { + InstanceGroupManagerAction pulumi.StringPtrInput `pulumi:"instanceGroupManagerAction"` + InstanceGroupManagerActionName pulumi.StringPtrInput `pulumi:"instanceGroupManagerActionName"` + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceGroupManagerActionTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceGroupManagerActionType)(nil)).Elem() +} + +func (i IsInstanceGroupManagerActionTypeArgs) ToIsInstanceGroupManagerActionTypeOutput() IsInstanceGroupManagerActionTypeOutput { + return i.ToIsInstanceGroupManagerActionTypeOutputWithContext(context.Background()) +} + +func (i IsInstanceGroupManagerActionTypeArgs) ToIsInstanceGroupManagerActionTypeOutputWithContext(ctx context.Context) IsInstanceGroupManagerActionTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupManagerActionTypeOutput) +} + +// IsInstanceGroupManagerActionTypeArrayInput is an input type that accepts IsInstanceGroupManagerActionTypeArray and IsInstanceGroupManagerActionTypeArrayOutput values. +// You can construct a concrete instance of `IsInstanceGroupManagerActionTypeArrayInput` via: +// +// IsInstanceGroupManagerActionTypeArray{ IsInstanceGroupManagerActionTypeArgs{...} } +type IsInstanceGroupManagerActionTypeArrayInput interface { + pulumi.Input + + ToIsInstanceGroupManagerActionTypeArrayOutput() IsInstanceGroupManagerActionTypeArrayOutput + ToIsInstanceGroupManagerActionTypeArrayOutputWithContext(context.Context) IsInstanceGroupManagerActionTypeArrayOutput +} + +type IsInstanceGroupManagerActionTypeArray []IsInstanceGroupManagerActionTypeInput + +func (IsInstanceGroupManagerActionTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceGroupManagerActionType)(nil)).Elem() +} + +func (i IsInstanceGroupManagerActionTypeArray) ToIsInstanceGroupManagerActionTypeArrayOutput() IsInstanceGroupManagerActionTypeArrayOutput { + return i.ToIsInstanceGroupManagerActionTypeArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceGroupManagerActionTypeArray) ToIsInstanceGroupManagerActionTypeArrayOutputWithContext(ctx context.Context) IsInstanceGroupManagerActionTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupManagerActionTypeArrayOutput) +} + +type IsInstanceGroupManagerActionTypeOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupManagerActionTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceGroupManagerActionType)(nil)).Elem() +} + +func (o IsInstanceGroupManagerActionTypeOutput) ToIsInstanceGroupManagerActionTypeOutput() IsInstanceGroupManagerActionTypeOutput { + return o +} + +func (o IsInstanceGroupManagerActionTypeOutput) ToIsInstanceGroupManagerActionTypeOutputWithContext(ctx context.Context) IsInstanceGroupManagerActionTypeOutput { + return o +} + +func (o IsInstanceGroupManagerActionTypeOutput) InstanceGroupManagerAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupManagerActionType) *string { return v.InstanceGroupManagerAction }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceGroupManagerActionTypeOutput) InstanceGroupManagerActionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupManagerActionType) *string { return v.InstanceGroupManagerActionName }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceGroupManagerActionTypeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupManagerActionType) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceGroupManagerActionTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupManagerActionTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceGroupManagerActionType)(nil)).Elem() +} + +func (o IsInstanceGroupManagerActionTypeArrayOutput) ToIsInstanceGroupManagerActionTypeArrayOutput() IsInstanceGroupManagerActionTypeArrayOutput { + return o +} + +func (o IsInstanceGroupManagerActionTypeArrayOutput) ToIsInstanceGroupManagerActionTypeArrayOutputWithContext(ctx context.Context) IsInstanceGroupManagerActionTypeArrayOutput { + return o +} + +func (o IsInstanceGroupManagerActionTypeArrayOutput) Index(i pulumi.IntInput) IsInstanceGroupManagerActionTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceGroupManagerActionType { + return vs[0].([]IsInstanceGroupManagerActionType)[vs[1].(int)] + }).(IsInstanceGroupManagerActionTypeOutput) +} + +type IsInstanceGroupMembershipInstance struct { + // The CRN for this virtual server instance. + Crn *string `pulumi:"crn"` + // The user-defined name for this virtual server instance (and default system hostname). + Name *string `pulumi:"name"` + // The unique identifier for this virtual server instance. + VirtualServerInstance *string `pulumi:"virtualServerInstance"` +} + +// IsInstanceGroupMembershipInstanceInput is an input type that accepts IsInstanceGroupMembershipInstanceArgs and IsInstanceGroupMembershipInstanceOutput values. +// You can construct a concrete instance of `IsInstanceGroupMembershipInstanceInput` via: +// +// IsInstanceGroupMembershipInstanceArgs{...} +type IsInstanceGroupMembershipInstanceInput interface { + pulumi.Input + + ToIsInstanceGroupMembershipInstanceOutput() IsInstanceGroupMembershipInstanceOutput + ToIsInstanceGroupMembershipInstanceOutputWithContext(context.Context) IsInstanceGroupMembershipInstanceOutput +} + +type IsInstanceGroupMembershipInstanceArgs struct { + // The CRN for this virtual server instance. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this virtual server instance. + VirtualServerInstance pulumi.StringPtrInput `pulumi:"virtualServerInstance"` +} + +func (IsInstanceGroupMembershipInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceGroupMembershipInstance)(nil)).Elem() +} + +func (i IsInstanceGroupMembershipInstanceArgs) ToIsInstanceGroupMembershipInstanceOutput() IsInstanceGroupMembershipInstanceOutput { + return i.ToIsInstanceGroupMembershipInstanceOutputWithContext(context.Background()) +} + +func (i IsInstanceGroupMembershipInstanceArgs) ToIsInstanceGroupMembershipInstanceOutputWithContext(ctx context.Context) IsInstanceGroupMembershipInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupMembershipInstanceOutput) +} + +// IsInstanceGroupMembershipInstanceArrayInput is an input type that accepts IsInstanceGroupMembershipInstanceArray and IsInstanceGroupMembershipInstanceArrayOutput values. +// You can construct a concrete instance of `IsInstanceGroupMembershipInstanceArrayInput` via: +// +// IsInstanceGroupMembershipInstanceArray{ IsInstanceGroupMembershipInstanceArgs{...} } +type IsInstanceGroupMembershipInstanceArrayInput interface { + pulumi.Input + + ToIsInstanceGroupMembershipInstanceArrayOutput() IsInstanceGroupMembershipInstanceArrayOutput + ToIsInstanceGroupMembershipInstanceArrayOutputWithContext(context.Context) IsInstanceGroupMembershipInstanceArrayOutput +} + +type IsInstanceGroupMembershipInstanceArray []IsInstanceGroupMembershipInstanceInput + +func (IsInstanceGroupMembershipInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceGroupMembershipInstance)(nil)).Elem() +} + +func (i IsInstanceGroupMembershipInstanceArray) ToIsInstanceGroupMembershipInstanceArrayOutput() IsInstanceGroupMembershipInstanceArrayOutput { + return i.ToIsInstanceGroupMembershipInstanceArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceGroupMembershipInstanceArray) ToIsInstanceGroupMembershipInstanceArrayOutputWithContext(ctx context.Context) IsInstanceGroupMembershipInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupMembershipInstanceArrayOutput) +} + +type IsInstanceGroupMembershipInstanceOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupMembershipInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceGroupMembershipInstance)(nil)).Elem() +} + +func (o IsInstanceGroupMembershipInstanceOutput) ToIsInstanceGroupMembershipInstanceOutput() IsInstanceGroupMembershipInstanceOutput { + return o +} + +func (o IsInstanceGroupMembershipInstanceOutput) ToIsInstanceGroupMembershipInstanceOutputWithContext(ctx context.Context) IsInstanceGroupMembershipInstanceOutput { + return o +} + +// The CRN for this virtual server instance. +func (o IsInstanceGroupMembershipInstanceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupMembershipInstance) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o IsInstanceGroupMembershipInstanceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupMembershipInstance) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this virtual server instance. +func (o IsInstanceGroupMembershipInstanceOutput) VirtualServerInstance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupMembershipInstance) *string { return v.VirtualServerInstance }).(pulumi.StringPtrOutput) +} + +type IsInstanceGroupMembershipInstanceArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupMembershipInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceGroupMembershipInstance)(nil)).Elem() +} + +func (o IsInstanceGroupMembershipInstanceArrayOutput) ToIsInstanceGroupMembershipInstanceArrayOutput() IsInstanceGroupMembershipInstanceArrayOutput { + return o +} + +func (o IsInstanceGroupMembershipInstanceArrayOutput) ToIsInstanceGroupMembershipInstanceArrayOutputWithContext(ctx context.Context) IsInstanceGroupMembershipInstanceArrayOutput { + return o +} + +func (o IsInstanceGroupMembershipInstanceArrayOutput) Index(i pulumi.IntInput) IsInstanceGroupMembershipInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceGroupMembershipInstance { + return vs[0].([]IsInstanceGroupMembershipInstance)[vs[1].(int)] + }).(IsInstanceGroupMembershipInstanceOutput) +} + +type IsInstanceGroupMembershipInstanceTemplate struct { + // The CRN for this instance template. + Crn *string `pulumi:"crn"` + // The unique identifier for this instance template. + InstanceTemplate *string `pulumi:"instanceTemplate"` + // The unique user-defined name for this instance template. + Name *string `pulumi:"name"` +} + +// IsInstanceGroupMembershipInstanceTemplateInput is an input type that accepts IsInstanceGroupMembershipInstanceTemplateArgs and IsInstanceGroupMembershipInstanceTemplateOutput values. +// You can construct a concrete instance of `IsInstanceGroupMembershipInstanceTemplateInput` via: +// +// IsInstanceGroupMembershipInstanceTemplateArgs{...} +type IsInstanceGroupMembershipInstanceTemplateInput interface { + pulumi.Input + + ToIsInstanceGroupMembershipInstanceTemplateOutput() IsInstanceGroupMembershipInstanceTemplateOutput + ToIsInstanceGroupMembershipInstanceTemplateOutputWithContext(context.Context) IsInstanceGroupMembershipInstanceTemplateOutput +} + +type IsInstanceGroupMembershipInstanceTemplateArgs struct { + // The CRN for this instance template. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The unique identifier for this instance template. + InstanceTemplate pulumi.StringPtrInput `pulumi:"instanceTemplate"` + // The unique user-defined name for this instance template. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsInstanceGroupMembershipInstanceTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceGroupMembershipInstanceTemplate)(nil)).Elem() +} + +func (i IsInstanceGroupMembershipInstanceTemplateArgs) ToIsInstanceGroupMembershipInstanceTemplateOutput() IsInstanceGroupMembershipInstanceTemplateOutput { + return i.ToIsInstanceGroupMembershipInstanceTemplateOutputWithContext(context.Background()) +} + +func (i IsInstanceGroupMembershipInstanceTemplateArgs) ToIsInstanceGroupMembershipInstanceTemplateOutputWithContext(ctx context.Context) IsInstanceGroupMembershipInstanceTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupMembershipInstanceTemplateOutput) +} + +// IsInstanceGroupMembershipInstanceTemplateArrayInput is an input type that accepts IsInstanceGroupMembershipInstanceTemplateArray and IsInstanceGroupMembershipInstanceTemplateArrayOutput values. +// You can construct a concrete instance of `IsInstanceGroupMembershipInstanceTemplateArrayInput` via: +// +// IsInstanceGroupMembershipInstanceTemplateArray{ IsInstanceGroupMembershipInstanceTemplateArgs{...} } +type IsInstanceGroupMembershipInstanceTemplateArrayInput interface { + pulumi.Input + + ToIsInstanceGroupMembershipInstanceTemplateArrayOutput() IsInstanceGroupMembershipInstanceTemplateArrayOutput + ToIsInstanceGroupMembershipInstanceTemplateArrayOutputWithContext(context.Context) IsInstanceGroupMembershipInstanceTemplateArrayOutput +} + +type IsInstanceGroupMembershipInstanceTemplateArray []IsInstanceGroupMembershipInstanceTemplateInput + +func (IsInstanceGroupMembershipInstanceTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceGroupMembershipInstanceTemplate)(nil)).Elem() +} + +func (i IsInstanceGroupMembershipInstanceTemplateArray) ToIsInstanceGroupMembershipInstanceTemplateArrayOutput() IsInstanceGroupMembershipInstanceTemplateArrayOutput { + return i.ToIsInstanceGroupMembershipInstanceTemplateArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceGroupMembershipInstanceTemplateArray) ToIsInstanceGroupMembershipInstanceTemplateArrayOutputWithContext(ctx context.Context) IsInstanceGroupMembershipInstanceTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceGroupMembershipInstanceTemplateArrayOutput) +} + +type IsInstanceGroupMembershipInstanceTemplateOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupMembershipInstanceTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceGroupMembershipInstanceTemplate)(nil)).Elem() +} + +func (o IsInstanceGroupMembershipInstanceTemplateOutput) ToIsInstanceGroupMembershipInstanceTemplateOutput() IsInstanceGroupMembershipInstanceTemplateOutput { + return o +} + +func (o IsInstanceGroupMembershipInstanceTemplateOutput) ToIsInstanceGroupMembershipInstanceTemplateOutputWithContext(ctx context.Context) IsInstanceGroupMembershipInstanceTemplateOutput { + return o +} + +// The CRN for this instance template. +func (o IsInstanceGroupMembershipInstanceTemplateOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupMembershipInstanceTemplate) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance template. +func (o IsInstanceGroupMembershipInstanceTemplateOutput) InstanceTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupMembershipInstanceTemplate) *string { return v.InstanceTemplate }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this instance template. +func (o IsInstanceGroupMembershipInstanceTemplateOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceGroupMembershipInstanceTemplate) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsInstanceGroupMembershipInstanceTemplateArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceGroupMembershipInstanceTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceGroupMembershipInstanceTemplate)(nil)).Elem() +} + +func (o IsInstanceGroupMembershipInstanceTemplateArrayOutput) ToIsInstanceGroupMembershipInstanceTemplateArrayOutput() IsInstanceGroupMembershipInstanceTemplateArrayOutput { + return o +} + +func (o IsInstanceGroupMembershipInstanceTemplateArrayOutput) ToIsInstanceGroupMembershipInstanceTemplateArrayOutputWithContext(ctx context.Context) IsInstanceGroupMembershipInstanceTemplateArrayOutput { + return o +} + +func (o IsInstanceGroupMembershipInstanceTemplateArrayOutput) Index(i pulumi.IntInput) IsInstanceGroupMembershipInstanceTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceGroupMembershipInstanceTemplate { + return vs[0].([]IsInstanceGroupMembershipInstanceTemplate)[vs[1].(int)] + }).(IsInstanceGroupMembershipInstanceTemplateOutput) +} + +type IsInstanceHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceHealthReasonInput is an input type that accepts IsInstanceHealthReasonArgs and IsInstanceHealthReasonOutput values. +// You can construct a concrete instance of `IsInstanceHealthReasonInput` via: +// +// IsInstanceHealthReasonArgs{...} +type IsInstanceHealthReasonInput interface { + pulumi.Input + + ToIsInstanceHealthReasonOutput() IsInstanceHealthReasonOutput + ToIsInstanceHealthReasonOutputWithContext(context.Context) IsInstanceHealthReasonOutput +} + +type IsInstanceHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceHealthReason)(nil)).Elem() +} + +func (i IsInstanceHealthReasonArgs) ToIsInstanceHealthReasonOutput() IsInstanceHealthReasonOutput { + return i.ToIsInstanceHealthReasonOutputWithContext(context.Background()) +} + +func (i IsInstanceHealthReasonArgs) ToIsInstanceHealthReasonOutputWithContext(ctx context.Context) IsInstanceHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceHealthReasonOutput) +} + +// IsInstanceHealthReasonArrayInput is an input type that accepts IsInstanceHealthReasonArray and IsInstanceHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsInstanceHealthReasonArrayInput` via: +// +// IsInstanceHealthReasonArray{ IsInstanceHealthReasonArgs{...} } +type IsInstanceHealthReasonArrayInput interface { + pulumi.Input + + ToIsInstanceHealthReasonArrayOutput() IsInstanceHealthReasonArrayOutput + ToIsInstanceHealthReasonArrayOutputWithContext(context.Context) IsInstanceHealthReasonArrayOutput +} + +type IsInstanceHealthReasonArray []IsInstanceHealthReasonInput + +func (IsInstanceHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceHealthReason)(nil)).Elem() +} + +func (i IsInstanceHealthReasonArray) ToIsInstanceHealthReasonArrayOutput() IsInstanceHealthReasonArrayOutput { + return i.ToIsInstanceHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceHealthReasonArray) ToIsInstanceHealthReasonArrayOutputWithContext(ctx context.Context) IsInstanceHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceHealthReasonArrayOutput) +} + +type IsInstanceHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsInstanceHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceHealthReason)(nil)).Elem() +} + +func (o IsInstanceHealthReasonOutput) ToIsInstanceHealthReasonOutput() IsInstanceHealthReasonOutput { + return o +} + +func (o IsInstanceHealthReasonOutput) ToIsInstanceHealthReasonOutputWithContext(ctx context.Context) IsInstanceHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsInstanceHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsInstanceHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsInstanceHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceHealthReason)(nil)).Elem() +} + +func (o IsInstanceHealthReasonArrayOutput) ToIsInstanceHealthReasonArrayOutput() IsInstanceHealthReasonArrayOutput { + return o +} + +func (o IsInstanceHealthReasonArrayOutput) ToIsInstanceHealthReasonArrayOutputWithContext(ctx context.Context) IsInstanceHealthReasonArrayOutput { + return o +} + +func (o IsInstanceHealthReasonArrayOutput) Index(i pulumi.IntInput) IsInstanceHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceHealthReason { + return vs[0].([]IsInstanceHealthReason)[vs[1].(int)] + }).(IsInstanceHealthReasonOutput) +} + +type IsInstanceLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceLifecycleReasonInput is an input type that accepts IsInstanceLifecycleReasonArgs and IsInstanceLifecycleReasonOutput values. +// You can construct a concrete instance of `IsInstanceLifecycleReasonInput` via: +// +// IsInstanceLifecycleReasonArgs{...} +type IsInstanceLifecycleReasonInput interface { + pulumi.Input + + ToIsInstanceLifecycleReasonOutput() IsInstanceLifecycleReasonOutput + ToIsInstanceLifecycleReasonOutputWithContext(context.Context) IsInstanceLifecycleReasonOutput +} + +type IsInstanceLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceLifecycleReason)(nil)).Elem() +} + +func (i IsInstanceLifecycleReasonArgs) ToIsInstanceLifecycleReasonOutput() IsInstanceLifecycleReasonOutput { + return i.ToIsInstanceLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsInstanceLifecycleReasonArgs) ToIsInstanceLifecycleReasonOutputWithContext(ctx context.Context) IsInstanceLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceLifecycleReasonOutput) +} + +// IsInstanceLifecycleReasonArrayInput is an input type that accepts IsInstanceLifecycleReasonArray and IsInstanceLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsInstanceLifecycleReasonArrayInput` via: +// +// IsInstanceLifecycleReasonArray{ IsInstanceLifecycleReasonArgs{...} } +type IsInstanceLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsInstanceLifecycleReasonArrayOutput() IsInstanceLifecycleReasonArrayOutput + ToIsInstanceLifecycleReasonArrayOutputWithContext(context.Context) IsInstanceLifecycleReasonArrayOutput +} + +type IsInstanceLifecycleReasonArray []IsInstanceLifecycleReasonInput + +func (IsInstanceLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceLifecycleReason)(nil)).Elem() +} + +func (i IsInstanceLifecycleReasonArray) ToIsInstanceLifecycleReasonArrayOutput() IsInstanceLifecycleReasonArrayOutput { + return i.ToIsInstanceLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceLifecycleReasonArray) ToIsInstanceLifecycleReasonArrayOutputWithContext(ctx context.Context) IsInstanceLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceLifecycleReasonArrayOutput) +} + +type IsInstanceLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsInstanceLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceLifecycleReason)(nil)).Elem() +} + +func (o IsInstanceLifecycleReasonOutput) ToIsInstanceLifecycleReasonOutput() IsInstanceLifecycleReasonOutput { + return o +} + +func (o IsInstanceLifecycleReasonOutput) ToIsInstanceLifecycleReasonOutputWithContext(ctx context.Context) IsInstanceLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o IsInstanceLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsInstanceLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsInstanceLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceLifecycleReason)(nil)).Elem() +} + +func (o IsInstanceLifecycleReasonArrayOutput) ToIsInstanceLifecycleReasonArrayOutput() IsInstanceLifecycleReasonArrayOutput { + return o +} + +func (o IsInstanceLifecycleReasonArrayOutput) ToIsInstanceLifecycleReasonArrayOutputWithContext(ctx context.Context) IsInstanceLifecycleReasonArrayOutput { + return o +} + +func (o IsInstanceLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsInstanceLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceLifecycleReason { + return vs[0].([]IsInstanceLifecycleReason)[vs[1].(int)] + }).(IsInstanceLifecycleReasonOutput) +} + +type IsInstanceMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled *bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol *string `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit *int `pulumi:"responseHopLimit"` +} + +// IsInstanceMetadataServiceInput is an input type that accepts IsInstanceMetadataServiceArgs and IsInstanceMetadataServiceOutput values. +// You can construct a concrete instance of `IsInstanceMetadataServiceInput` via: +// +// IsInstanceMetadataServiceArgs{...} +type IsInstanceMetadataServiceInput interface { + pulumi.Input + + ToIsInstanceMetadataServiceOutput() IsInstanceMetadataServiceOutput + ToIsInstanceMetadataServiceOutputWithContext(context.Context) IsInstanceMetadataServiceOutput +} + +type IsInstanceMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit pulumi.IntPtrInput `pulumi:"responseHopLimit"` +} + +func (IsInstanceMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceMetadataService)(nil)).Elem() +} + +func (i IsInstanceMetadataServiceArgs) ToIsInstanceMetadataServiceOutput() IsInstanceMetadataServiceOutput { + return i.ToIsInstanceMetadataServiceOutputWithContext(context.Background()) +} + +func (i IsInstanceMetadataServiceArgs) ToIsInstanceMetadataServiceOutputWithContext(ctx context.Context) IsInstanceMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceMetadataServiceOutput) +} + +func (i IsInstanceMetadataServiceArgs) ToIsInstanceMetadataServicePtrOutput() IsInstanceMetadataServicePtrOutput { + return i.ToIsInstanceMetadataServicePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceMetadataServiceArgs) ToIsInstanceMetadataServicePtrOutputWithContext(ctx context.Context) IsInstanceMetadataServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceMetadataServiceOutput).ToIsInstanceMetadataServicePtrOutputWithContext(ctx) +} + +// IsInstanceMetadataServicePtrInput is an input type that accepts IsInstanceMetadataServiceArgs, IsInstanceMetadataServicePtr and IsInstanceMetadataServicePtrOutput values. +// You can construct a concrete instance of `IsInstanceMetadataServicePtrInput` via: +// +// IsInstanceMetadataServiceArgs{...} +// +// or: +// +// nil +type IsInstanceMetadataServicePtrInput interface { + pulumi.Input + + ToIsInstanceMetadataServicePtrOutput() IsInstanceMetadataServicePtrOutput + ToIsInstanceMetadataServicePtrOutputWithContext(context.Context) IsInstanceMetadataServicePtrOutput +} + +type isInstanceMetadataServicePtrType IsInstanceMetadataServiceArgs + +func IsInstanceMetadataServicePtr(v *IsInstanceMetadataServiceArgs) IsInstanceMetadataServicePtrInput { + return (*isInstanceMetadataServicePtrType)(v) +} + +func (*isInstanceMetadataServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceMetadataService)(nil)).Elem() +} + +func (i *isInstanceMetadataServicePtrType) ToIsInstanceMetadataServicePtrOutput() IsInstanceMetadataServicePtrOutput { + return i.ToIsInstanceMetadataServicePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceMetadataServicePtrType) ToIsInstanceMetadataServicePtrOutputWithContext(ctx context.Context) IsInstanceMetadataServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceMetadataServicePtrOutput) +} + +type IsInstanceMetadataServiceOutput struct{ *pulumi.OutputState } + +func (IsInstanceMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceMetadataService)(nil)).Elem() +} + +func (o IsInstanceMetadataServiceOutput) ToIsInstanceMetadataServiceOutput() IsInstanceMetadataServiceOutput { + return o +} + +func (o IsInstanceMetadataServiceOutput) ToIsInstanceMetadataServiceOutputWithContext(ctx context.Context) IsInstanceMetadataServiceOutput { + return o +} + +func (o IsInstanceMetadataServiceOutput) ToIsInstanceMetadataServicePtrOutput() IsInstanceMetadataServicePtrOutput { + return o.ToIsInstanceMetadataServicePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceMetadataServiceOutput) ToIsInstanceMetadataServicePtrOutputWithContext(ctx context.Context) IsInstanceMetadataServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceMetadataService) *IsInstanceMetadataService { + return &v + }).(IsInstanceMetadataServicePtrOutput) +} + +// Indicates whether the metadata service endpoint will be available to the virtual server instance +func (o IsInstanceMetadataServiceOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceMetadataService) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o IsInstanceMetadataServiceOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceMetadataService) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// The hop limit (IP time to live) for IP response packets from the metadata service +func (o IsInstanceMetadataServiceOutput) ResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceMetadataService) *int { return v.ResponseHopLimit }).(pulumi.IntPtrOutput) +} + +type IsInstanceMetadataServicePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceMetadataServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceMetadataService)(nil)).Elem() +} + +func (o IsInstanceMetadataServicePtrOutput) ToIsInstanceMetadataServicePtrOutput() IsInstanceMetadataServicePtrOutput { + return o +} + +func (o IsInstanceMetadataServicePtrOutput) ToIsInstanceMetadataServicePtrOutputWithContext(ctx context.Context) IsInstanceMetadataServicePtrOutput { + return o +} + +func (o IsInstanceMetadataServicePtrOutput) Elem() IsInstanceMetadataServiceOutput { + return o.ApplyT(func(v *IsInstanceMetadataService) IsInstanceMetadataService { + if v != nil { + return *v + } + var ret IsInstanceMetadataService + return ret + }).(IsInstanceMetadataServiceOutput) +} + +// Indicates whether the metadata service endpoint will be available to the virtual server instance +func (o IsInstanceMetadataServicePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceMetadataService) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o IsInstanceMetadataServicePtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceMetadataService) *string { + if v == nil { + return nil + } + return v.Protocol + }).(pulumi.StringPtrOutput) +} + +// The hop limit (IP time to live) for IP response packets from the metadata service +func (o IsInstanceMetadataServicePtrOutput) ResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceMetadataService) *int { + if v == nil { + return nil + } + return v.ResponseHopLimit + }).(pulumi.IntPtrOutput) +} + +type IsInstanceNetworkAttachmentType struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this instance network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id *string `pulumi:"id"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []IsInstanceNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsInstanceNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` +} + +// IsInstanceNetworkAttachmentTypeInput is an input type that accepts IsInstanceNetworkAttachmentTypeArgs and IsInstanceNetworkAttachmentTypeOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentTypeInput` via: +// +// IsInstanceNetworkAttachmentTypeArgs{...} +type IsInstanceNetworkAttachmentTypeInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentTypeOutput() IsInstanceNetworkAttachmentTypeOutput + ToIsInstanceNetworkAttachmentTypeOutputWithContext(context.Context) IsInstanceNetworkAttachmentTypeOutput +} + +type IsInstanceNetworkAttachmentTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps IsInstanceNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrInput `pulumi:"virtualNetworkInterface"` +} + +func (IsInstanceNetworkAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentType)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentTypeArgs) ToIsInstanceNetworkAttachmentTypeOutput() IsInstanceNetworkAttachmentTypeOutput { + return i.ToIsInstanceNetworkAttachmentTypeOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentTypeArgs) ToIsInstanceNetworkAttachmentTypeOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentTypeOutput) +} + +// IsInstanceNetworkAttachmentTypeArrayInput is an input type that accepts IsInstanceNetworkAttachmentTypeArray and IsInstanceNetworkAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentTypeArrayInput` via: +// +// IsInstanceNetworkAttachmentTypeArray{ IsInstanceNetworkAttachmentTypeArgs{...} } +type IsInstanceNetworkAttachmentTypeArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentTypeArrayOutput() IsInstanceNetworkAttachmentTypeArrayOutput + ToIsInstanceNetworkAttachmentTypeArrayOutputWithContext(context.Context) IsInstanceNetworkAttachmentTypeArrayOutput +} + +type IsInstanceNetworkAttachmentTypeArray []IsInstanceNetworkAttachmentTypeInput + +func (IsInstanceNetworkAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentType)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentTypeArray) ToIsInstanceNetworkAttachmentTypeArrayOutput() IsInstanceNetworkAttachmentTypeArrayOutput { + return i.ToIsInstanceNetworkAttachmentTypeArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentTypeArray) ToIsInstanceNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentTypeArrayOutput) +} + +type IsInstanceNetworkAttachmentTypeOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentType)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentTypeOutput) ToIsInstanceNetworkAttachmentTypeOutput() IsInstanceNetworkAttachmentTypeOutput { + return o +} + +func (o IsInstanceNetworkAttachmentTypeOutput) ToIsInstanceNetworkAttachmentTypeOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceNetworkAttachmentTypeOutput) Deleteds() IsInstanceNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentType) []IsInstanceNetworkAttachmentDeleted { return v.Deleteds }).(IsInstanceNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this instance network attachment. +func (o IsInstanceNetworkAttachmentTypeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentType) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance network attachment. +func (o IsInstanceNetworkAttachmentTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this instance network attachment. The name is unique across all network attachments for the instance. +func (o IsInstanceNetworkAttachmentTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o IsInstanceNetworkAttachmentTypeOutput) PrimaryIps() IsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentType) []IsInstanceNetworkAttachmentPrimaryIp { return v.PrimaryIps }).(IsInstanceNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o IsInstanceNetworkAttachmentTypeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentType) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsInstanceNetworkAttachmentTypeOutput) VirtualNetworkInterface() IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentType) *IsInstanceNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterface + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstanceNetworkAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentType)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentTypeArrayOutput) ToIsInstanceNetworkAttachmentTypeArrayOutput() IsInstanceNetworkAttachmentTypeArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentTypeArrayOutput) ToIsInstanceNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentTypeArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentTypeArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkAttachmentType { + return vs[0].([]IsInstanceNetworkAttachmentType)[vs[1].(int)] + }).(IsInstanceNetworkAttachmentTypeOutput) +} + +type IsInstanceNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceNetworkAttachmentDeletedInput is an input type that accepts IsInstanceNetworkAttachmentDeletedArgs and IsInstanceNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentDeletedInput` via: +// +// IsInstanceNetworkAttachmentDeletedArgs{...} +type IsInstanceNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentDeletedOutput() IsInstanceNetworkAttachmentDeletedOutput + ToIsInstanceNetworkAttachmentDeletedOutputWithContext(context.Context) IsInstanceNetworkAttachmentDeletedOutput +} + +type IsInstanceNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentDeletedArgs) ToIsInstanceNetworkAttachmentDeletedOutput() IsInstanceNetworkAttachmentDeletedOutput { + return i.ToIsInstanceNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentDeletedArgs) ToIsInstanceNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentDeletedOutput) +} + +// IsInstanceNetworkAttachmentDeletedArrayInput is an input type that accepts IsInstanceNetworkAttachmentDeletedArray and IsInstanceNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentDeletedArrayInput` via: +// +// IsInstanceNetworkAttachmentDeletedArray{ IsInstanceNetworkAttachmentDeletedArgs{...} } +type IsInstanceNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentDeletedArrayOutput() IsInstanceNetworkAttachmentDeletedArrayOutput + ToIsInstanceNetworkAttachmentDeletedArrayOutputWithContext(context.Context) IsInstanceNetworkAttachmentDeletedArrayOutput +} + +type IsInstanceNetworkAttachmentDeletedArray []IsInstanceNetworkAttachmentDeletedInput + +func (IsInstanceNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentDeletedArray) ToIsInstanceNetworkAttachmentDeletedArrayOutput() IsInstanceNetworkAttachmentDeletedArrayOutput { + return i.ToIsInstanceNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentDeletedArray) ToIsInstanceNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentDeletedArrayOutput) +} + +type IsInstanceNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentDeletedOutput) ToIsInstanceNetworkAttachmentDeletedOutput() IsInstanceNetworkAttachmentDeletedOutput { + return o +} + +func (o IsInstanceNetworkAttachmentDeletedOutput) ToIsInstanceNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentDeletedArrayOutput) ToIsInstanceNetworkAttachmentDeletedArrayOutput() IsInstanceNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentDeletedArrayOutput) ToIsInstanceNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkAttachmentDeleted { + return vs[0].([]IsInstanceNetworkAttachmentDeleted)[vs[1].(int)] + }).(IsInstanceNetworkAttachmentDeletedOutput) +} + +type IsInstanceNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id *string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceNetworkAttachmentPrimaryIpInput is an input type that accepts IsInstanceNetworkAttachmentPrimaryIpArgs and IsInstanceNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentPrimaryIpInput` via: +// +// IsInstanceNetworkAttachmentPrimaryIpArgs{...} +type IsInstanceNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentPrimaryIpOutput() IsInstanceNetworkAttachmentPrimaryIpOutput + ToIsInstanceNetworkAttachmentPrimaryIpOutputWithContext(context.Context) IsInstanceNetworkAttachmentPrimaryIpOutput +} + +type IsInstanceNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentPrimaryIpArgs) ToIsInstanceNetworkAttachmentPrimaryIpOutput() IsInstanceNetworkAttachmentPrimaryIpOutput { + return i.ToIsInstanceNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentPrimaryIpArgs) ToIsInstanceNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentPrimaryIpOutput) +} + +// IsInstanceNetworkAttachmentPrimaryIpArrayInput is an input type that accepts IsInstanceNetworkAttachmentPrimaryIpArray and IsInstanceNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentPrimaryIpArrayInput` via: +// +// IsInstanceNetworkAttachmentPrimaryIpArray{ IsInstanceNetworkAttachmentPrimaryIpArgs{...} } +type IsInstanceNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentPrimaryIpArrayOutput() IsInstanceNetworkAttachmentPrimaryIpArrayOutput + ToIsInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) IsInstanceNetworkAttachmentPrimaryIpArrayOutput +} + +type IsInstanceNetworkAttachmentPrimaryIpArray []IsInstanceNetworkAttachmentPrimaryIpInput + +func (IsInstanceNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentPrimaryIpArray) ToIsInstanceNetworkAttachmentPrimaryIpArrayOutput() IsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return i.ToIsInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentPrimaryIpArray) ToIsInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentPrimaryIpArrayOutput) +} + +type IsInstanceNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentPrimaryIpOutput) ToIsInstanceNetworkAttachmentPrimaryIpOutput() IsInstanceNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o IsInstanceNetworkAttachmentPrimaryIpOutput) ToIsInstanceNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstanceNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentPrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceNetworkAttachmentPrimaryIpOutput) Deleteds() IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentPrimaryIp) []IsInstanceNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstanceNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentPrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstanceNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentPrimaryIp) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstanceNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentPrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentPrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentPrimaryIpArrayOutput) ToIsInstanceNetworkAttachmentPrimaryIpArrayOutput() IsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentPrimaryIpArrayOutput) ToIsInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkAttachmentPrimaryIp { + return vs[0].([]IsInstanceNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(IsInstanceNetworkAttachmentPrimaryIpOutput) +} + +type IsInstanceNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts IsInstanceNetworkAttachmentPrimaryIpDeletedArgs and IsInstanceNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentPrimaryIpDeletedInput` via: +// +// IsInstanceNetworkAttachmentPrimaryIpDeletedArgs{...} +type IsInstanceNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentPrimaryIpDeletedOutput() IsInstanceNetworkAttachmentPrimaryIpDeletedOutput + ToIsInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) IsInstanceNetworkAttachmentPrimaryIpDeletedOutput +} + +type IsInstanceNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentPrimaryIpDeletedArgs) ToIsInstanceNetworkAttachmentPrimaryIpDeletedOutput() IsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToIsInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentPrimaryIpDeletedArgs) ToIsInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentPrimaryIpDeletedOutput) +} + +// IsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts IsInstanceNetworkAttachmentPrimaryIpDeletedArray and IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// IsInstanceNetworkAttachmentPrimaryIpDeletedArray{ IsInstanceNetworkAttachmentPrimaryIpDeletedArgs{...} } +type IsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput + ToIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type IsInstanceNetworkAttachmentPrimaryIpDeletedArray []IsInstanceNetworkAttachmentPrimaryIpDeletedInput + +func (IsInstanceNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentPrimaryIpDeletedArray) ToIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentPrimaryIpDeletedArray) ToIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type IsInstanceNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentPrimaryIpDeletedOutput) ToIsInstanceNetworkAttachmentPrimaryIpDeletedOutput() IsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o IsInstanceNetworkAttachmentPrimaryIpDeletedOutput) ToIsInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentPrimaryIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ToIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ToIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]IsInstanceNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(IsInstanceNetworkAttachmentPrimaryIpDeletedOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // The crn of the virtual network interface. + Crn *string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this instance network attachment. + Id *string `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `pulumi:"name"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIp *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet id. + Subnet *string `pulumi:"subnet"` +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs and IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The crn of the virtual network interface. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this instance network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIp IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet id. + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput).ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs, IsInstanceNetworkAttachmentVirtualNetworkInterfacePtr and IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput +} + +type isInstanceNetworkAttachmentVirtualNetworkInterfacePtrType IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs + +func IsInstanceNetworkAttachmentVirtualNetworkInterfacePtr(v *IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrInput { + return (*isInstanceNetworkAttachmentVirtualNetworkInterfacePtrType)(v) +} + +func (*isInstanceNetworkAttachmentVirtualNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i *isInstanceNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceNetworkAttachmentVirtualNetworkInterface) *IsInstanceNetworkAttachmentVirtualNetworkInterface { + return &v + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The crn of the virtual network interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *bool { return v.EnableInfrastructureNat }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this instance network attachment. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) []IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIp() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) Elem() IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) IsInstanceNetworkAttachmentVirtualNetworkInterface { + if v != nil { + return *v + } + var ret IsInstanceNetworkAttachmentVirtualNetworkInterface + return ret + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The crn of the virtual network interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this instance network attachment. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) Ips() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) []IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp { + if v == nil { + return nil + } + return v.Ips + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) PrimaryIp() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArgs and IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArray and IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArray{ IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArray []IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) Deleteds() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp) []IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return v.Deleteds + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]IsInstanceNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs and IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray and IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{ IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} } +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray []IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return vs[0].([]IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this primaryIp will be automatically deleted when `vni` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this primaryIp will be automatically deleted when `vni` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput).ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs, IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtr and IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput +} + +type isInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs + +func IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtr(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput { + return (*isInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return &v + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this primaryIp will be automatically deleted when `vni` is deleted. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Deleteds() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Elem() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp + return ret + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this primaryIp will be automatically deleted when `vni` is deleted. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Deleteds() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs and IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray and IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{ IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray []IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsInstanceNetworkInterfaceType struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp *IsInstanceNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address *string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// IsInstanceNetworkInterfaceTypeInput is an input type that accepts IsInstanceNetworkInterfaceTypeArgs and IsInstanceNetworkInterfaceTypeOutput values. +// You can construct a concrete instance of `IsInstanceNetworkInterfaceTypeInput` via: +// +// IsInstanceNetworkInterfaceTypeArgs{...} +type IsInstanceNetworkInterfaceTypeInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfaceTypeOutput() IsInstanceNetworkInterfaceTypeOutput + ToIsInstanceNetworkInterfaceTypeOutputWithContext(context.Context) IsInstanceNetworkInterfaceTypeOutput +} + +type IsInstanceNetworkInterfaceTypeArgs struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp IsInstanceNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address pulumi.StringPtrInput `pulumi:"primaryIpv4Address"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (IsInstanceNetworkInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkInterfaceType)(nil)).Elem() +} + +func (i IsInstanceNetworkInterfaceTypeArgs) ToIsInstanceNetworkInterfaceTypeOutput() IsInstanceNetworkInterfaceTypeOutput { + return i.ToIsInstanceNetworkInterfaceTypeOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkInterfaceTypeArgs) ToIsInstanceNetworkInterfaceTypeOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfaceTypeOutput) +} + +// IsInstanceNetworkInterfaceTypeArrayInput is an input type that accepts IsInstanceNetworkInterfaceTypeArray and IsInstanceNetworkInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkInterfaceTypeArrayInput` via: +// +// IsInstanceNetworkInterfaceTypeArray{ IsInstanceNetworkInterfaceTypeArgs{...} } +type IsInstanceNetworkInterfaceTypeArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfaceTypeArrayOutput() IsInstanceNetworkInterfaceTypeArrayOutput + ToIsInstanceNetworkInterfaceTypeArrayOutputWithContext(context.Context) IsInstanceNetworkInterfaceTypeArrayOutput +} + +type IsInstanceNetworkInterfaceTypeArray []IsInstanceNetworkInterfaceTypeInput + +func (IsInstanceNetworkInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkInterfaceType)(nil)).Elem() +} + +func (i IsInstanceNetworkInterfaceTypeArray) ToIsInstanceNetworkInterfaceTypeArrayOutput() IsInstanceNetworkInterfaceTypeArrayOutput { + return i.ToIsInstanceNetworkInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkInterfaceTypeArray) ToIsInstanceNetworkInterfaceTypeArrayOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfaceTypeArrayOutput) +} + +type IsInstanceNetworkInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkInterfaceType)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfaceTypeOutput) ToIsInstanceNetworkInterfaceTypeOutput() IsInstanceNetworkInterfaceTypeOutput { + return o +} + +func (o IsInstanceNetworkInterfaceTypeOutput) ToIsInstanceNetworkInterfaceTypeOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceTypeOutput { + return o +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o IsInstanceNetworkInterfaceTypeOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceType) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +func (o IsInstanceNetworkInterfaceTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceNetworkInterfaceTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o IsInstanceNetworkInterfaceTypeOutput) PrimaryIp() IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceType) *IsInstanceNetworkInterfacePrimaryIp { return v.PrimaryIp }).(IsInstanceNetworkInterfacePrimaryIpPtrOutput) +} + +// Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead +func (o IsInstanceNetworkInterfaceTypeOutput) PrimaryIpv4Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceType) *string { return v.PrimaryIpv4Address }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceNetworkInterfaceTypeOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceType) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o IsInstanceNetworkInterfaceTypeOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceType) string { return v.Subnet }).(pulumi.StringOutput) +} + +type IsInstanceNetworkInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkInterfaceType)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfaceTypeArrayOutput) ToIsInstanceNetworkInterfaceTypeArrayOutput() IsInstanceNetworkInterfaceTypeArrayOutput { + return o +} + +func (o IsInstanceNetworkInterfaceTypeArrayOutput) ToIsInstanceNetworkInterfaceTypeArrayOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceTypeArrayOutput { + return o +} + +func (o IsInstanceNetworkInterfaceTypeArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkInterfaceType { + return vs[0].([]IsInstanceNetworkInterfaceType)[vs[1].(int)] + }).(IsInstanceNetworkInterfaceTypeOutput) +} + +type IsInstanceNetworkInterfaceFloatingIpType struct { + // The globally unique IP address. + Address *string `pulumi:"address"` + // The CRN for this floating IP. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsInstanceNetworkInterfaceFloatingIpDeleted `pulumi:"deleteds"` + // The URL for this floating IP. + Href *string `pulumi:"href"` + // The unique identifier for this floating IP. + Id *string `pulumi:"id"` + // The unique user-defined name for this floating IP. + Name *string `pulumi:"name"` +} + +// IsInstanceNetworkInterfaceFloatingIpTypeInput is an input type that accepts IsInstanceNetworkInterfaceFloatingIpTypeArgs and IsInstanceNetworkInterfaceFloatingIpTypeOutput values. +// You can construct a concrete instance of `IsInstanceNetworkInterfaceFloatingIpTypeInput` via: +// +// IsInstanceNetworkInterfaceFloatingIpTypeArgs{...} +type IsInstanceNetworkInterfaceFloatingIpTypeInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfaceFloatingIpTypeOutput() IsInstanceNetworkInterfaceFloatingIpTypeOutput + ToIsInstanceNetworkInterfaceFloatingIpTypeOutputWithContext(context.Context) IsInstanceNetworkInterfaceFloatingIpTypeOutput +} + +type IsInstanceNetworkInterfaceFloatingIpTypeArgs struct { + // The globally unique IP address. + Address pulumi.StringPtrInput `pulumi:"address"` + // The CRN for this floating IP. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsInstanceNetworkInterfaceFloatingIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this floating IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this floating IP. + Id pulumi.StringPtrInput `pulumi:"id"` + // The unique user-defined name for this floating IP. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsInstanceNetworkInterfaceFloatingIpTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (i IsInstanceNetworkInterfaceFloatingIpTypeArgs) ToIsInstanceNetworkInterfaceFloatingIpTypeOutput() IsInstanceNetworkInterfaceFloatingIpTypeOutput { + return i.ToIsInstanceNetworkInterfaceFloatingIpTypeOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkInterfaceFloatingIpTypeArgs) ToIsInstanceNetworkInterfaceFloatingIpTypeOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfaceFloatingIpTypeOutput) +} + +// IsInstanceNetworkInterfaceFloatingIpTypeArrayInput is an input type that accepts IsInstanceNetworkInterfaceFloatingIpTypeArray and IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkInterfaceFloatingIpTypeArrayInput` via: +// +// IsInstanceNetworkInterfaceFloatingIpTypeArray{ IsInstanceNetworkInterfaceFloatingIpTypeArgs{...} } +type IsInstanceNetworkInterfaceFloatingIpTypeArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput() IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput + ToIsInstanceNetworkInterfaceFloatingIpTypeArrayOutputWithContext(context.Context) IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput +} + +type IsInstanceNetworkInterfaceFloatingIpTypeArray []IsInstanceNetworkInterfaceFloatingIpTypeInput + +func (IsInstanceNetworkInterfaceFloatingIpTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (i IsInstanceNetworkInterfaceFloatingIpTypeArray) ToIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput() IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return i.ToIsInstanceNetworkInterfaceFloatingIpTypeArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkInterfaceFloatingIpTypeArray) ToIsInstanceNetworkInterfaceFloatingIpTypeArrayOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) +} + +type IsInstanceNetworkInterfaceFloatingIpTypeOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfaceFloatingIpTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfaceFloatingIpTypeOutput) ToIsInstanceNetworkInterfaceFloatingIpTypeOutput() IsInstanceNetworkInterfaceFloatingIpTypeOutput { + return o +} + +func (o IsInstanceNetworkInterfaceFloatingIpTypeOutput) ToIsInstanceNetworkInterfaceFloatingIpTypeOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpTypeOutput { + return o +} + +// The globally unique IP address. +func (o IsInstanceNetworkInterfaceFloatingIpTypeOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceFloatingIpType) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The CRN for this floating IP. +func (o IsInstanceNetworkInterfaceFloatingIpTypeOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceFloatingIpType) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsInstanceNetworkInterfaceFloatingIpTypeOutput) Deleteds() IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceFloatingIpType) []IsInstanceNetworkInterfaceFloatingIpDeleted { + return v.Deleteds + }).(IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +// The URL for this floating IP. +func (o IsInstanceNetworkInterfaceFloatingIpTypeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceFloatingIpType) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this floating IP. +func (o IsInstanceNetworkInterfaceFloatingIpTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceFloatingIpType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this floating IP. +func (o IsInstanceNetworkInterfaceFloatingIpTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceFloatingIpType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) ToIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput() IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return o +} + +func (o IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) ToIsInstanceNetworkInterfaceFloatingIpTypeArrayOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return o +} + +func (o IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkInterfaceFloatingIpTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkInterfaceFloatingIpType { + return vs[0].([]IsInstanceNetworkInterfaceFloatingIpType)[vs[1].(int)] + }).(IsInstanceNetworkInterfaceFloatingIpTypeOutput) +} + +type IsInstanceNetworkInterfaceFloatingIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceNetworkInterfaceFloatingIpDeletedInput is an input type that accepts IsInstanceNetworkInterfaceFloatingIpDeletedArgs and IsInstanceNetworkInterfaceFloatingIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceNetworkInterfaceFloatingIpDeletedInput` via: +// +// IsInstanceNetworkInterfaceFloatingIpDeletedArgs{...} +type IsInstanceNetworkInterfaceFloatingIpDeletedInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfaceFloatingIpDeletedOutput() IsInstanceNetworkInterfaceFloatingIpDeletedOutput + ToIsInstanceNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Context) IsInstanceNetworkInterfaceFloatingIpDeletedOutput +} + +type IsInstanceNetworkInterfaceFloatingIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceNetworkInterfaceFloatingIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkInterfaceFloatingIpDeletedArgs) ToIsInstanceNetworkInterfaceFloatingIpDeletedOutput() IsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return i.ToIsInstanceNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkInterfaceFloatingIpDeletedArgs) ToIsInstanceNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfaceFloatingIpDeletedOutput) +} + +// IsInstanceNetworkInterfaceFloatingIpDeletedArrayInput is an input type that accepts IsInstanceNetworkInterfaceFloatingIpDeletedArray and IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceNetworkInterfaceFloatingIpDeletedArrayInput` via: +// +// IsInstanceNetworkInterfaceFloatingIpDeletedArray{ IsInstanceNetworkInterfaceFloatingIpDeletedArgs{...} } +type IsInstanceNetworkInterfaceFloatingIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput() IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput + ToIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Context) IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput +} + +type IsInstanceNetworkInterfaceFloatingIpDeletedArray []IsInstanceNetworkInterfaceFloatingIpDeletedInput + +func (IsInstanceNetworkInterfaceFloatingIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i IsInstanceNetworkInterfaceFloatingIpDeletedArray) ToIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput() IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return i.ToIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkInterfaceFloatingIpDeletedArray) ToIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +type IsInstanceNetworkInterfaceFloatingIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfaceFloatingIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfaceFloatingIpDeletedOutput) ToIsInstanceNetworkInterfaceFloatingIpDeletedOutput() IsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +func (o IsInstanceNetworkInterfaceFloatingIpDeletedOutput) ToIsInstanceNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceNetworkInterfaceFloatingIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfaceFloatingIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) ToIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput() IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) ToIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceNetworkInterfaceFloatingIpDeleted { + return vs[0].([]IsInstanceNetworkInterfaceFloatingIpDeleted)[vs[1].(int)] + }).(IsInstanceNetworkInterfaceFloatingIpDeletedOutput) +} + +type IsInstanceNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The URL for this reserved IP + Href *string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name *string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceNetworkInterfacePrimaryIpInput is an input type that accepts IsInstanceNetworkInterfacePrimaryIpArgs and IsInstanceNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceNetworkInterfacePrimaryIpInput` via: +// +// IsInstanceNetworkInterfacePrimaryIpArgs{...} +type IsInstanceNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfacePrimaryIpOutput() IsInstanceNetworkInterfacePrimaryIpOutput + ToIsInstanceNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstanceNetworkInterfacePrimaryIpOutput +} + +type IsInstanceNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The URL for this reserved IP + Href pulumi.StringPtrInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringPtrInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceNetworkInterfacePrimaryIpArgs) ToIsInstanceNetworkInterfacePrimaryIpOutput() IsInstanceNetworkInterfacePrimaryIpOutput { + return i.ToIsInstanceNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkInterfacePrimaryIpArgs) ToIsInstanceNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfacePrimaryIpOutput) +} + +func (i IsInstanceNetworkInterfacePrimaryIpArgs) ToIsInstanceNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceNetworkInterfacePrimaryIpArgs) ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfacePrimaryIpOutput).ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsInstanceNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsInstanceNetworkInterfacePrimaryIpArgs, IsInstanceNetworkInterfacePrimaryIpPtr and IsInstanceNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsInstanceNetworkInterfacePrimaryIpPtrInput` via: +// +// IsInstanceNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsInstanceNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsInstanceNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkInterfacePrimaryIpPtrOutput + ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsInstanceNetworkInterfacePrimaryIpPtrOutput +} + +type isInstanceNetworkInterfacePrimaryIpPtrType IsInstanceNetworkInterfacePrimaryIpArgs + +func IsInstanceNetworkInterfacePrimaryIpPtr(v *IsInstanceNetworkInterfacePrimaryIpArgs) IsInstanceNetworkInterfacePrimaryIpPtrInput { + return (*isInstanceNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isInstanceNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isInstanceNetworkInterfacePrimaryIpPtrType) ToIsInstanceNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceNetworkInterfacePrimaryIpPtrType) ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceNetworkInterfacePrimaryIpPtrOutput) +} + +type IsInstanceNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfacePrimaryIpOutput) ToIsInstanceNetworkInterfacePrimaryIpOutput() IsInstanceNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceNetworkInterfacePrimaryIpOutput) ToIsInstanceNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceNetworkInterfacePrimaryIpOutput) ToIsInstanceNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceNetworkInterfacePrimaryIpOutput) ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceNetworkInterfacePrimaryIp) *IsInstanceNetworkInterfacePrimaryIp { + return &v + }).(IsInstanceNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsInstanceNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsInstanceNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsInstanceNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsInstanceNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsInstanceNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceNetworkInterfacePrimaryIpPtrOutput() IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) Elem() IsInstanceNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfacePrimaryIp) IsInstanceNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsInstanceNetworkInterfacePrimaryIp + return ret + }).(IsInstanceNetworkInterfacePrimaryIpOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsInstanceNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstancePlacementTarget struct { + // The CRN for this placement target. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsInstancePlacementTargetDeleted `pulumi:"deleteds"` + // The URL for this placement target. + Href *string `pulumi:"href"` + // The unique identifier for this placement target. + Id *string `pulumi:"id"` + // The unique user-defined name for this placement target. + Name *string `pulumi:"name"` + // The type of resource referenced. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstancePlacementTargetInput is an input type that accepts IsInstancePlacementTargetArgs and IsInstancePlacementTargetOutput values. +// You can construct a concrete instance of `IsInstancePlacementTargetInput` via: +// +// IsInstancePlacementTargetArgs{...} +type IsInstancePlacementTargetInput interface { + pulumi.Input + + ToIsInstancePlacementTargetOutput() IsInstancePlacementTargetOutput + ToIsInstancePlacementTargetOutputWithContext(context.Context) IsInstancePlacementTargetOutput +} + +type IsInstancePlacementTargetArgs struct { + // The CRN for this placement target. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsInstancePlacementTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this placement target. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this placement target. + Id pulumi.StringPtrInput `pulumi:"id"` + // The unique user-defined name for this placement target. + Name pulumi.StringPtrInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstancePlacementTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePlacementTarget)(nil)).Elem() +} + +func (i IsInstancePlacementTargetArgs) ToIsInstancePlacementTargetOutput() IsInstancePlacementTargetOutput { + return i.ToIsInstancePlacementTargetOutputWithContext(context.Background()) +} + +func (i IsInstancePlacementTargetArgs) ToIsInstancePlacementTargetOutputWithContext(ctx context.Context) IsInstancePlacementTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePlacementTargetOutput) +} + +// IsInstancePlacementTargetArrayInput is an input type that accepts IsInstancePlacementTargetArray and IsInstancePlacementTargetArrayOutput values. +// You can construct a concrete instance of `IsInstancePlacementTargetArrayInput` via: +// +// IsInstancePlacementTargetArray{ IsInstancePlacementTargetArgs{...} } +type IsInstancePlacementTargetArrayInput interface { + pulumi.Input + + ToIsInstancePlacementTargetArrayOutput() IsInstancePlacementTargetArrayOutput + ToIsInstancePlacementTargetArrayOutputWithContext(context.Context) IsInstancePlacementTargetArrayOutput +} + +type IsInstancePlacementTargetArray []IsInstancePlacementTargetInput + +func (IsInstancePlacementTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePlacementTarget)(nil)).Elem() +} + +func (i IsInstancePlacementTargetArray) ToIsInstancePlacementTargetArrayOutput() IsInstancePlacementTargetArrayOutput { + return i.ToIsInstancePlacementTargetArrayOutputWithContext(context.Background()) +} + +func (i IsInstancePlacementTargetArray) ToIsInstancePlacementTargetArrayOutputWithContext(ctx context.Context) IsInstancePlacementTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePlacementTargetArrayOutput) +} + +type IsInstancePlacementTargetOutput struct{ *pulumi.OutputState } + +func (IsInstancePlacementTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePlacementTarget)(nil)).Elem() +} + +func (o IsInstancePlacementTargetOutput) ToIsInstancePlacementTargetOutput() IsInstancePlacementTargetOutput { + return o +} + +func (o IsInstancePlacementTargetOutput) ToIsInstancePlacementTargetOutputWithContext(ctx context.Context) IsInstancePlacementTargetOutput { + return o +} + +// The CRN for this placement target. +func (o IsInstancePlacementTargetOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePlacementTarget) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsInstancePlacementTargetOutput) Deleteds() IsInstancePlacementTargetDeletedArrayOutput { + return o.ApplyT(func(v IsInstancePlacementTarget) []IsInstancePlacementTargetDeleted { return v.Deleteds }).(IsInstancePlacementTargetDeletedArrayOutput) +} + +// The URL for this placement target. +func (o IsInstancePlacementTargetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePlacementTarget) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this placement target. +func (o IsInstancePlacementTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePlacementTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this placement target. +func (o IsInstancePlacementTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePlacementTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The type of resource referenced. +func (o IsInstancePlacementTargetOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePlacementTarget) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstancePlacementTargetArrayOutput struct{ *pulumi.OutputState } + +func (IsInstancePlacementTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePlacementTarget)(nil)).Elem() +} + +func (o IsInstancePlacementTargetArrayOutput) ToIsInstancePlacementTargetArrayOutput() IsInstancePlacementTargetArrayOutput { + return o +} + +func (o IsInstancePlacementTargetArrayOutput) ToIsInstancePlacementTargetArrayOutputWithContext(ctx context.Context) IsInstancePlacementTargetArrayOutput { + return o +} + +func (o IsInstancePlacementTargetArrayOutput) Index(i pulumi.IntInput) IsInstancePlacementTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstancePlacementTarget { + return vs[0].([]IsInstancePlacementTarget)[vs[1].(int)] + }).(IsInstancePlacementTargetOutput) +} + +type IsInstancePlacementTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstancePlacementTargetDeletedInput is an input type that accepts IsInstancePlacementTargetDeletedArgs and IsInstancePlacementTargetDeletedOutput values. +// You can construct a concrete instance of `IsInstancePlacementTargetDeletedInput` via: +// +// IsInstancePlacementTargetDeletedArgs{...} +type IsInstancePlacementTargetDeletedInput interface { + pulumi.Input + + ToIsInstancePlacementTargetDeletedOutput() IsInstancePlacementTargetDeletedOutput + ToIsInstancePlacementTargetDeletedOutputWithContext(context.Context) IsInstancePlacementTargetDeletedOutput +} + +type IsInstancePlacementTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstancePlacementTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (i IsInstancePlacementTargetDeletedArgs) ToIsInstancePlacementTargetDeletedOutput() IsInstancePlacementTargetDeletedOutput { + return i.ToIsInstancePlacementTargetDeletedOutputWithContext(context.Background()) +} + +func (i IsInstancePlacementTargetDeletedArgs) ToIsInstancePlacementTargetDeletedOutputWithContext(ctx context.Context) IsInstancePlacementTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePlacementTargetDeletedOutput) +} + +// IsInstancePlacementTargetDeletedArrayInput is an input type that accepts IsInstancePlacementTargetDeletedArray and IsInstancePlacementTargetDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstancePlacementTargetDeletedArrayInput` via: +// +// IsInstancePlacementTargetDeletedArray{ IsInstancePlacementTargetDeletedArgs{...} } +type IsInstancePlacementTargetDeletedArrayInput interface { + pulumi.Input + + ToIsInstancePlacementTargetDeletedArrayOutput() IsInstancePlacementTargetDeletedArrayOutput + ToIsInstancePlacementTargetDeletedArrayOutputWithContext(context.Context) IsInstancePlacementTargetDeletedArrayOutput +} + +type IsInstancePlacementTargetDeletedArray []IsInstancePlacementTargetDeletedInput + +func (IsInstancePlacementTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (i IsInstancePlacementTargetDeletedArray) ToIsInstancePlacementTargetDeletedArrayOutput() IsInstancePlacementTargetDeletedArrayOutput { + return i.ToIsInstancePlacementTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstancePlacementTargetDeletedArray) ToIsInstancePlacementTargetDeletedArrayOutputWithContext(ctx context.Context) IsInstancePlacementTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePlacementTargetDeletedArrayOutput) +} + +type IsInstancePlacementTargetDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstancePlacementTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (o IsInstancePlacementTargetDeletedOutput) ToIsInstancePlacementTargetDeletedOutput() IsInstancePlacementTargetDeletedOutput { + return o +} + +func (o IsInstancePlacementTargetDeletedOutput) ToIsInstancePlacementTargetDeletedOutputWithContext(ctx context.Context) IsInstancePlacementTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstancePlacementTargetDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePlacementTargetDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstancePlacementTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstancePlacementTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (o IsInstancePlacementTargetDeletedArrayOutput) ToIsInstancePlacementTargetDeletedArrayOutput() IsInstancePlacementTargetDeletedArrayOutput { + return o +} + +func (o IsInstancePlacementTargetDeletedArrayOutput) ToIsInstancePlacementTargetDeletedArrayOutputWithContext(ctx context.Context) IsInstancePlacementTargetDeletedArrayOutput { + return o +} + +func (o IsInstancePlacementTargetDeletedArrayOutput) Index(i pulumi.IntInput) IsInstancePlacementTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstancePlacementTargetDeleted { + return vs[0].([]IsInstancePlacementTargetDeleted)[vs[1].(int)] + }).(IsInstancePlacementTargetDeletedOutput) +} + +type IsInstancePrimaryNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstancePrimaryNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this instance network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id *string `pulumi:"id"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []IsInstancePrimaryNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` +} + +// IsInstancePrimaryNetworkAttachmentInput is an input type that accepts IsInstancePrimaryNetworkAttachmentArgs and IsInstancePrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentInput` via: +// +// IsInstancePrimaryNetworkAttachmentArgs{...} +type IsInstancePrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentOutput() IsInstancePrimaryNetworkAttachmentOutput + ToIsInstancePrimaryNetworkAttachmentOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentOutput +} + +type IsInstancePrimaryNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstancePrimaryNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps IsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput `pulumi:"virtualNetworkInterface"` +} + +func (IsInstancePrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentArgs) ToIsInstancePrimaryNetworkAttachmentOutput() IsInstancePrimaryNetworkAttachmentOutput { + return i.ToIsInstancePrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentArgs) ToIsInstancePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentOutput) +} + +func (i IsInstancePrimaryNetworkAttachmentArgs) ToIsInstancePrimaryNetworkAttachmentPtrOutput() IsInstancePrimaryNetworkAttachmentPtrOutput { + return i.ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentArgs) ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentOutput).ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(ctx) +} + +// IsInstancePrimaryNetworkAttachmentPtrInput is an input type that accepts IsInstancePrimaryNetworkAttachmentArgs, IsInstancePrimaryNetworkAttachmentPtr and IsInstancePrimaryNetworkAttachmentPtrOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentPtrInput` via: +// +// IsInstancePrimaryNetworkAttachmentArgs{...} +// +// or: +// +// nil +type IsInstancePrimaryNetworkAttachmentPtrInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentPtrOutput() IsInstancePrimaryNetworkAttachmentPtrOutput + ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentPtrOutput +} + +type isInstancePrimaryNetworkAttachmentPtrType IsInstancePrimaryNetworkAttachmentArgs + +func IsInstancePrimaryNetworkAttachmentPtr(v *IsInstancePrimaryNetworkAttachmentArgs) IsInstancePrimaryNetworkAttachmentPtrInput { + return (*isInstancePrimaryNetworkAttachmentPtrType)(v) +} + +func (*isInstancePrimaryNetworkAttachmentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i *isInstancePrimaryNetworkAttachmentPtrType) ToIsInstancePrimaryNetworkAttachmentPtrOutput() IsInstancePrimaryNetworkAttachmentPtrOutput { + return i.ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (i *isInstancePrimaryNetworkAttachmentPtrType) ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentOutput) ToIsInstancePrimaryNetworkAttachmentOutput() IsInstancePrimaryNetworkAttachmentOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentOutput) ToIsInstancePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentOutput) ToIsInstancePrimaryNetworkAttachmentPtrOutput() IsInstancePrimaryNetworkAttachmentPtrOutput { + return o.ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (o IsInstancePrimaryNetworkAttachmentOutput) ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstancePrimaryNetworkAttachment) *IsInstancePrimaryNetworkAttachment { + return &v + }).(IsInstancePrimaryNetworkAttachmentPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstancePrimaryNetworkAttachmentOutput) Deleteds() IsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachment) []IsInstancePrimaryNetworkAttachmentDeleted { + return v.Deleteds + }).(IsInstancePrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this instance network attachment. +func (o IsInstancePrimaryNetworkAttachmentOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachment) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance network attachment. +func (o IsInstancePrimaryNetworkAttachmentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachment) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this instance network attachment. The name is unique across all network attachments for the instance. +func (o IsInstancePrimaryNetworkAttachmentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachment) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o IsInstancePrimaryNetworkAttachmentOutput) PrimaryIps() IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachment) []IsInstancePrimaryNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o IsInstancePrimaryNetworkAttachmentOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachment) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentOutput) VirtualNetworkInterface() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachment) *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterface + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentPtrOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) ToIsInstancePrimaryNetworkAttachmentPtrOutput() IsInstancePrimaryNetworkAttachmentPtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) ToIsInstancePrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) Elem() IsInstancePrimaryNetworkAttachmentOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachment) IsInstancePrimaryNetworkAttachment { + if v != nil { + return *v + } + var ret IsInstancePrimaryNetworkAttachment + return ret + }).(IsInstancePrimaryNetworkAttachmentOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) Deleteds() IsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachment) []IsInstancePrimaryNetworkAttachmentDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstancePrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this instance network attachment. +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance network attachment. +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this instance network attachment. The name is unique across all network attachments for the instance. +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) PrimaryIps() IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachment) []IsInstancePrimaryNetworkAttachmentPrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIps + }).(IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentPtrOutput) VirtualNetworkInterface() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachment) *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface { + if v == nil { + return nil + } + return v.VirtualNetworkInterface + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstancePrimaryNetworkAttachmentDeletedInput is an input type that accepts IsInstancePrimaryNetworkAttachmentDeletedArgs and IsInstancePrimaryNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentDeletedInput` via: +// +// IsInstancePrimaryNetworkAttachmentDeletedArgs{...} +type IsInstancePrimaryNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentDeletedOutput() IsInstancePrimaryNetworkAttachmentDeletedOutput + ToIsInstancePrimaryNetworkAttachmentDeletedOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentDeletedOutput +} + +type IsInstancePrimaryNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstancePrimaryNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentDeletedArgs) ToIsInstancePrimaryNetworkAttachmentDeletedOutput() IsInstancePrimaryNetworkAttachmentDeletedOutput { + return i.ToIsInstancePrimaryNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentDeletedArgs) ToIsInstancePrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentDeletedOutput) +} + +// IsInstancePrimaryNetworkAttachmentDeletedArrayInput is an input type that accepts IsInstancePrimaryNetworkAttachmentDeletedArray and IsInstancePrimaryNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentDeletedArrayInput` via: +// +// IsInstancePrimaryNetworkAttachmentDeletedArray{ IsInstancePrimaryNetworkAttachmentDeletedArgs{...} } +type IsInstancePrimaryNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentDeletedArrayOutput + ToIsInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentDeletedArrayOutput +} + +type IsInstancePrimaryNetworkAttachmentDeletedArray []IsInstancePrimaryNetworkAttachmentDeletedInput + +func (IsInstancePrimaryNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentDeletedArray) ToIsInstancePrimaryNetworkAttachmentDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return i.ToIsInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentDeletedArray) ToIsInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentDeletedArrayOutput) +} + +type IsInstancePrimaryNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentDeletedOutput) ToIsInstancePrimaryNetworkAttachmentDeletedOutput() IsInstancePrimaryNetworkAttachmentDeletedOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentDeletedOutput) ToIsInstancePrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstancePrimaryNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentDeletedArrayOutput) ToIsInstancePrimaryNetworkAttachmentDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentDeletedArrayOutput) ToIsInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) IsInstancePrimaryNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstancePrimaryNetworkAttachmentDeleted { + return vs[0].([]IsInstancePrimaryNetworkAttachmentDeleted)[vs[1].(int)] + }).(IsInstancePrimaryNetworkAttachmentDeletedOutput) +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id *string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstancePrimaryNetworkAttachmentPrimaryIpInput is an input type that accepts IsInstancePrimaryNetworkAttachmentPrimaryIpArgs and IsInstancePrimaryNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentPrimaryIpInput` via: +// +// IsInstancePrimaryNetworkAttachmentPrimaryIpArgs{...} +type IsInstancePrimaryNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentPrimaryIpOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpOutput + ToIsInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpOutput +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstancePrimaryNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentPrimaryIpArgs) ToIsInstancePrimaryNetworkAttachmentPrimaryIpOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return i.ToIsInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentPrimaryIpArgs) ToIsInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) +} + +// IsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput is an input type that accepts IsInstancePrimaryNetworkAttachmentPrimaryIpArray and IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput` via: +// +// IsInstancePrimaryNetworkAttachmentPrimaryIpArray{ IsInstancePrimaryNetworkAttachmentPrimaryIpArgs{...} } +type IsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput + ToIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpArray []IsInstancePrimaryNetworkAttachmentPrimaryIpInput + +func (IsInstancePrimaryNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentPrimaryIpArray) ToIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return i.ToIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentPrimaryIpArray) ToIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) ToIsInstancePrimaryNetworkAttachmentPrimaryIpOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) ToIsInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentPrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Deleteds() IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentPrimaryIp) []IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentPrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentPrimaryIp) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentPrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentPrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ToIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ToIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) IsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstancePrimaryNetworkAttachmentPrimaryIp { + return vs[0].([]IsInstancePrimaryNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(IsInstancePrimaryNetworkAttachmentPrimaryIpOutput) +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs and IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput` via: +// +// IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} +type IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput + ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +// IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray and IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray{ IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} } +type IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput + ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray []IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput + +func (IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]IsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // The crn of the virtual network interface. + Crn *string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this instance network attachment. + Id *string `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `pulumi:"name"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIp *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet id. + Subnet *string `pulumi:"subnet"` +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The crn of the virtual network interface. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this instance network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIp IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet id. + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput).ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs, IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtr and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput +} + +type isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs + +func IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtr(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput { + return (*isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType)(v) +} + +func (*isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i *isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface { + return &v + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The crn of the virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this instance network attachment. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIp() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Elem() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface { + if v != nil { + return *v + } + var ret IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface + return ret + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The crn of the virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this instance network attachment. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Ips() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + if v == nil { + return nil + } + return v.Ips + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) PrimaryIp() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{ IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Deleteds() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return v.Deleteds + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{ IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} } +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return vs[0].([]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved ip will be automatically deleted when `target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved ip will be automatically deleted when `target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput).ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs, IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtr and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput +} + +type isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs + +func IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtr(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput { + return (*isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrType) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return &v + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved ip will be automatically deleted when `target` is deleted. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Deleteds() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Elem() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp + return ret + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved ip will be automatically deleted when `target` is deleted. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Deleteds() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray and IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{ IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray []IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsInstancePrimaryNetworkInterface struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` + // Deprecated: This field is deprected + PortSpeed *int `pulumi:"portSpeed"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp *IsInstancePrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address *string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// IsInstancePrimaryNetworkInterfaceInput is an input type that accepts IsInstancePrimaryNetworkInterfaceArgs and IsInstancePrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkInterfaceInput` via: +// +// IsInstancePrimaryNetworkInterfaceArgs{...} +type IsInstancePrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkInterfaceOutput() IsInstancePrimaryNetworkInterfaceOutput + ToIsInstancePrimaryNetworkInterfaceOutputWithContext(context.Context) IsInstancePrimaryNetworkInterfaceOutput +} + +type IsInstancePrimaryNetworkInterfaceArgs struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` + // Deprecated: This field is deprected + PortSpeed pulumi.IntPtrInput `pulumi:"portSpeed"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp IsInstancePrimaryNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address pulumi.StringPtrInput `pulumi:"primaryIpv4Address"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (IsInstancePrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkInterfaceArgs) ToIsInstancePrimaryNetworkInterfaceOutput() IsInstancePrimaryNetworkInterfaceOutput { + return i.ToIsInstancePrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkInterfaceArgs) ToIsInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkInterfaceOutput) +} + +func (i IsInstancePrimaryNetworkInterfaceArgs) ToIsInstancePrimaryNetworkInterfacePtrOutput() IsInstancePrimaryNetworkInterfacePtrOutput { + return i.ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkInterfaceArgs) ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkInterfaceOutput).ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsInstancePrimaryNetworkInterfacePtrInput is an input type that accepts IsInstancePrimaryNetworkInterfaceArgs, IsInstancePrimaryNetworkInterfacePtr and IsInstancePrimaryNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkInterfacePtrInput` via: +// +// IsInstancePrimaryNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsInstancePrimaryNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkInterfacePtrOutput() IsInstancePrimaryNetworkInterfacePtrOutput + ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Context) IsInstancePrimaryNetworkInterfacePtrOutput +} + +type isInstancePrimaryNetworkInterfacePtrType IsInstancePrimaryNetworkInterfaceArgs + +func IsInstancePrimaryNetworkInterfacePtr(v *IsInstancePrimaryNetworkInterfaceArgs) IsInstancePrimaryNetworkInterfacePtrInput { + return (*isInstancePrimaryNetworkInterfacePtrType)(v) +} + +func (*isInstancePrimaryNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (i *isInstancePrimaryNetworkInterfacePtrType) ToIsInstancePrimaryNetworkInterfacePtrOutput() IsInstancePrimaryNetworkInterfacePtrOutput { + return i.ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isInstancePrimaryNetworkInterfacePtrType) ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkInterfacePtrOutput) +} + +type IsInstancePrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkInterfaceOutput) ToIsInstancePrimaryNetworkInterfaceOutput() IsInstancePrimaryNetworkInterfaceOutput { + return o +} + +func (o IsInstancePrimaryNetworkInterfaceOutput) ToIsInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfaceOutput { + return o +} + +func (o IsInstancePrimaryNetworkInterfaceOutput) ToIsInstancePrimaryNetworkInterfacePtrOutput() IsInstancePrimaryNetworkInterfacePtrOutput { + return o.ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsInstancePrimaryNetworkInterfaceOutput) ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstancePrimaryNetworkInterface) *IsInstancePrimaryNetworkInterface { + return &v + }).(IsInstancePrimaryNetworkInterfacePtrOutput) +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o IsInstancePrimaryNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +func (o IsInstancePrimaryNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IsInstancePrimaryNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Deprecated: This field is deprected +func (o IsInstancePrimaryNetworkInterfaceOutput) PortSpeed() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterface) *int { return v.PortSpeed }).(pulumi.IntPtrOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o IsInstancePrimaryNetworkInterfaceOutput) PrimaryIp() IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterface) *IsInstancePrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +// Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead +func (o IsInstancePrimaryNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterface) *string { return v.PrimaryIpv4Address }).(pulumi.StringPtrOutput) +} + +func (o IsInstancePrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o IsInstancePrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type IsInstancePrimaryNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkInterfacePtrOutput) ToIsInstancePrimaryNetworkInterfacePtrOutput() IsInstancePrimaryNetworkInterfacePtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkInterfacePtrOutput) ToIsInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkInterfacePtrOutput) Elem() IsInstancePrimaryNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) IsInstancePrimaryNetworkInterface { + if v != nil { + return *v + } + var ret IsInstancePrimaryNetworkInterface + return ret + }).(IsInstancePrimaryNetworkInterfaceOutput) +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o IsInstancePrimaryNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +func (o IsInstancePrimaryNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +func (o IsInstancePrimaryNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Deprecated: This field is deprected +func (o IsInstancePrimaryNetworkInterfacePtrOutput) PortSpeed() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) *int { + if v == nil { + return nil + } + return v.PortSpeed + }).(pulumi.IntPtrOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o IsInstancePrimaryNetworkInterfacePtrOutput) PrimaryIp() IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) *IsInstancePrimaryNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +// Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead +func (o IsInstancePrimaryNetworkInterfacePtrOutput) PrimaryIpv4Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.PrimaryIpv4Address + }).(pulumi.StringPtrOutput) +} + +func (o IsInstancePrimaryNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +func (o IsInstancePrimaryNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return &v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The URL for this reserved IP + Href *string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name *string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstancePrimaryNetworkInterfacePrimaryIpInput is an input type that accepts IsInstancePrimaryNetworkInterfacePrimaryIpArgs and IsInstancePrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkInterfacePrimaryIpInput` via: +// +// IsInstancePrimaryNetworkInterfacePrimaryIpArgs{...} +type IsInstancePrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkInterfacePrimaryIpOutput() IsInstancePrimaryNetworkInterfacePrimaryIpOutput + ToIsInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstancePrimaryNetworkInterfacePrimaryIpOutput +} + +type IsInstancePrimaryNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The URL for this reserved IP + Href pulumi.StringPtrInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringPtrInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstancePrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstancePrimaryNetworkInterfacePrimaryIpArgs) ToIsInstancePrimaryNetworkInterfacePrimaryIpOutput() IsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return i.ToIsInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkInterfacePrimaryIpArgs) ToIsInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkInterfacePrimaryIpOutput) +} + +func (i IsInstancePrimaryNetworkInterfacePrimaryIpArgs) ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsInstancePrimaryNetworkInterfacePrimaryIpArgs) ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkInterfacePrimaryIpOutput).ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsInstancePrimaryNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsInstancePrimaryNetworkInterfacePrimaryIpArgs, IsInstancePrimaryNetworkInterfacePrimaryIpPtr and IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsInstancePrimaryNetworkInterfacePrimaryIpPtrInput` via: +// +// IsInstancePrimaryNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsInstancePrimaryNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput + ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput +} + +type isInstancePrimaryNetworkInterfacePrimaryIpPtrType IsInstancePrimaryNetworkInterfacePrimaryIpArgs + +func IsInstancePrimaryNetworkInterfacePrimaryIpPtr(v *IsInstancePrimaryNetworkInterfacePrimaryIpArgs) IsInstancePrimaryNetworkInterfacePrimaryIpPtrInput { + return (*isInstancePrimaryNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isInstancePrimaryNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isInstancePrimaryNetworkInterfacePrimaryIpPtrType) ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isInstancePrimaryNetworkInterfacePrimaryIpPtrType) ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +type IsInstancePrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) ToIsInstancePrimaryNetworkInterfacePrimaryIpOutput() IsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) ToIsInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstancePrimaryNetworkInterfacePrimaryIp) *IsInstancePrimaryNetworkInterfacePrimaryIp { + return &v + }).(IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsInstancePrimaryNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstancePrimaryNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) ToIsInstancePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) Elem() IsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterfacePrimaryIp) IsInstancePrimaryNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsInstancePrimaryNetworkInterfacePrimaryIp + return ret + }).(IsInstancePrimaryNetworkInterfacePrimaryIpOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The URL for this reserved IP +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstancePrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceReservation struct { + // The CRN for this reservation. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsInstanceReservationDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href *string `pulumi:"href"` + // The unique identifier for this reservation. + Id *string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceReservationInput is an input type that accepts IsInstanceReservationArgs and IsInstanceReservationOutput values. +// You can construct a concrete instance of `IsInstanceReservationInput` via: +// +// IsInstanceReservationArgs{...} +type IsInstanceReservationInput interface { + pulumi.Input + + ToIsInstanceReservationOutput() IsInstanceReservationOutput + ToIsInstanceReservationOutputWithContext(context.Context) IsInstanceReservationOutput +} + +type IsInstanceReservationArgs struct { + // The CRN for this reservation. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsInstanceReservationDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservation)(nil)).Elem() +} + +func (i IsInstanceReservationArgs) ToIsInstanceReservationOutput() IsInstanceReservationOutput { + return i.ToIsInstanceReservationOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationArgs) ToIsInstanceReservationOutputWithContext(ctx context.Context) IsInstanceReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationOutput) +} + +// IsInstanceReservationArrayInput is an input type that accepts IsInstanceReservationArray and IsInstanceReservationArrayOutput values. +// You can construct a concrete instance of `IsInstanceReservationArrayInput` via: +// +// IsInstanceReservationArray{ IsInstanceReservationArgs{...} } +type IsInstanceReservationArrayInput interface { + pulumi.Input + + ToIsInstanceReservationArrayOutput() IsInstanceReservationArrayOutput + ToIsInstanceReservationArrayOutputWithContext(context.Context) IsInstanceReservationArrayOutput +} + +type IsInstanceReservationArray []IsInstanceReservationInput + +func (IsInstanceReservationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservation)(nil)).Elem() +} + +func (i IsInstanceReservationArray) ToIsInstanceReservationArrayOutput() IsInstanceReservationArrayOutput { + return i.ToIsInstanceReservationArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationArray) ToIsInstanceReservationArrayOutputWithContext(ctx context.Context) IsInstanceReservationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationArrayOutput) +} + +type IsInstanceReservationOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservation)(nil)).Elem() +} + +func (o IsInstanceReservationOutput) ToIsInstanceReservationOutput() IsInstanceReservationOutput { + return o +} + +func (o IsInstanceReservationOutput) ToIsInstanceReservationOutputWithContext(ctx context.Context) IsInstanceReservationOutput { + return o +} + +// The CRN for this reservation. +func (o IsInstanceReservationOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservation) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsInstanceReservationOutput) Deleteds() IsInstanceReservationDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceReservation) []IsInstanceReservationDeleted { return v.Deleteds }).(IsInstanceReservationDeletedArrayOutput) +} + +// The URL for this reservation. +func (o IsInstanceReservationOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservation) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reservation. +func (o IsInstanceReservationOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservation) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o IsInstanceReservationOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservation) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceReservationOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservation) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceReservationArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservation)(nil)).Elem() +} + +func (o IsInstanceReservationArrayOutput) ToIsInstanceReservationArrayOutput() IsInstanceReservationArrayOutput { + return o +} + +func (o IsInstanceReservationArrayOutput) ToIsInstanceReservationArrayOutputWithContext(ctx context.Context) IsInstanceReservationArrayOutput { + return o +} + +func (o IsInstanceReservationArrayOutput) Index(i pulumi.IntInput) IsInstanceReservationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceReservation { + return vs[0].([]IsInstanceReservation)[vs[1].(int)] + }).(IsInstanceReservationOutput) +} + +type IsInstanceReservationAffinity struct { + // The reservation affinity policy to use for this virtual server instance. + Policy *string `pulumi:"policy"` + // The pool of reservations available for use by this virtual server instance. + Pools []IsInstanceReservationAffinityPool `pulumi:"pools"` +} + +// IsInstanceReservationAffinityInput is an input type that accepts IsInstanceReservationAffinityArgs and IsInstanceReservationAffinityOutput values. +// You can construct a concrete instance of `IsInstanceReservationAffinityInput` via: +// +// IsInstanceReservationAffinityArgs{...} +type IsInstanceReservationAffinityInput interface { + pulumi.Input + + ToIsInstanceReservationAffinityOutput() IsInstanceReservationAffinityOutput + ToIsInstanceReservationAffinityOutputWithContext(context.Context) IsInstanceReservationAffinityOutput +} + +type IsInstanceReservationAffinityArgs struct { + // The reservation affinity policy to use for this virtual server instance. + Policy pulumi.StringPtrInput `pulumi:"policy"` + // The pool of reservations available for use by this virtual server instance. + Pools IsInstanceReservationAffinityPoolArrayInput `pulumi:"pools"` +} + +func (IsInstanceReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservationAffinity)(nil)).Elem() +} + +func (i IsInstanceReservationAffinityArgs) ToIsInstanceReservationAffinityOutput() IsInstanceReservationAffinityOutput { + return i.ToIsInstanceReservationAffinityOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationAffinityArgs) ToIsInstanceReservationAffinityOutputWithContext(ctx context.Context) IsInstanceReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationAffinityOutput) +} + +// IsInstanceReservationAffinityArrayInput is an input type that accepts IsInstanceReservationAffinityArray and IsInstanceReservationAffinityArrayOutput values. +// You can construct a concrete instance of `IsInstanceReservationAffinityArrayInput` via: +// +// IsInstanceReservationAffinityArray{ IsInstanceReservationAffinityArgs{...} } +type IsInstanceReservationAffinityArrayInput interface { + pulumi.Input + + ToIsInstanceReservationAffinityArrayOutput() IsInstanceReservationAffinityArrayOutput + ToIsInstanceReservationAffinityArrayOutputWithContext(context.Context) IsInstanceReservationAffinityArrayOutput +} + +type IsInstanceReservationAffinityArray []IsInstanceReservationAffinityInput + +func (IsInstanceReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservationAffinity)(nil)).Elem() +} + +func (i IsInstanceReservationAffinityArray) ToIsInstanceReservationAffinityArrayOutput() IsInstanceReservationAffinityArrayOutput { + return i.ToIsInstanceReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationAffinityArray) ToIsInstanceReservationAffinityArrayOutputWithContext(ctx context.Context) IsInstanceReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationAffinityArrayOutput) +} + +type IsInstanceReservationAffinityOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservationAffinity)(nil)).Elem() +} + +func (o IsInstanceReservationAffinityOutput) ToIsInstanceReservationAffinityOutput() IsInstanceReservationAffinityOutput { + return o +} + +func (o IsInstanceReservationAffinityOutput) ToIsInstanceReservationAffinityOutputWithContext(ctx context.Context) IsInstanceReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this virtual server instance. +func (o IsInstanceReservationAffinityOutput) Policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservationAffinity) *string { return v.Policy }).(pulumi.StringPtrOutput) +} + +// The pool of reservations available for use by this virtual server instance. +func (o IsInstanceReservationAffinityOutput) Pools() IsInstanceReservationAffinityPoolArrayOutput { + return o.ApplyT(func(v IsInstanceReservationAffinity) []IsInstanceReservationAffinityPool { return v.Pools }).(IsInstanceReservationAffinityPoolArrayOutput) +} + +type IsInstanceReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservationAffinity)(nil)).Elem() +} + +func (o IsInstanceReservationAffinityArrayOutput) ToIsInstanceReservationAffinityArrayOutput() IsInstanceReservationAffinityArrayOutput { + return o +} + +func (o IsInstanceReservationAffinityArrayOutput) ToIsInstanceReservationAffinityArrayOutputWithContext(ctx context.Context) IsInstanceReservationAffinityArrayOutput { + return o +} + +func (o IsInstanceReservationAffinityArrayOutput) Index(i pulumi.IntInput) IsInstanceReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceReservationAffinity { + return vs[0].([]IsInstanceReservationAffinity)[vs[1].(int)] + }).(IsInstanceReservationAffinityOutput) +} + +type IsInstanceReservationAffinityPool struct { + // The CRN for this reservation. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsInstanceReservationAffinityPoolDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href *string `pulumi:"href"` + // The unique identifier for this reservation. + Id *string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceReservationAffinityPoolInput is an input type that accepts IsInstanceReservationAffinityPoolArgs and IsInstanceReservationAffinityPoolOutput values. +// You can construct a concrete instance of `IsInstanceReservationAffinityPoolInput` via: +// +// IsInstanceReservationAffinityPoolArgs{...} +type IsInstanceReservationAffinityPoolInput interface { + pulumi.Input + + ToIsInstanceReservationAffinityPoolOutput() IsInstanceReservationAffinityPoolOutput + ToIsInstanceReservationAffinityPoolOutputWithContext(context.Context) IsInstanceReservationAffinityPoolOutput +} + +type IsInstanceReservationAffinityPoolArgs struct { + // The CRN for this reservation. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsInstanceReservationAffinityPoolDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceReservationAffinityPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservationAffinityPool)(nil)).Elem() +} + +func (i IsInstanceReservationAffinityPoolArgs) ToIsInstanceReservationAffinityPoolOutput() IsInstanceReservationAffinityPoolOutput { + return i.ToIsInstanceReservationAffinityPoolOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationAffinityPoolArgs) ToIsInstanceReservationAffinityPoolOutputWithContext(ctx context.Context) IsInstanceReservationAffinityPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationAffinityPoolOutput) +} + +// IsInstanceReservationAffinityPoolArrayInput is an input type that accepts IsInstanceReservationAffinityPoolArray and IsInstanceReservationAffinityPoolArrayOutput values. +// You can construct a concrete instance of `IsInstanceReservationAffinityPoolArrayInput` via: +// +// IsInstanceReservationAffinityPoolArray{ IsInstanceReservationAffinityPoolArgs{...} } +type IsInstanceReservationAffinityPoolArrayInput interface { + pulumi.Input + + ToIsInstanceReservationAffinityPoolArrayOutput() IsInstanceReservationAffinityPoolArrayOutput + ToIsInstanceReservationAffinityPoolArrayOutputWithContext(context.Context) IsInstanceReservationAffinityPoolArrayOutput +} + +type IsInstanceReservationAffinityPoolArray []IsInstanceReservationAffinityPoolInput + +func (IsInstanceReservationAffinityPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservationAffinityPool)(nil)).Elem() +} + +func (i IsInstanceReservationAffinityPoolArray) ToIsInstanceReservationAffinityPoolArrayOutput() IsInstanceReservationAffinityPoolArrayOutput { + return i.ToIsInstanceReservationAffinityPoolArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationAffinityPoolArray) ToIsInstanceReservationAffinityPoolArrayOutputWithContext(ctx context.Context) IsInstanceReservationAffinityPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationAffinityPoolArrayOutput) +} + +type IsInstanceReservationAffinityPoolOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationAffinityPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservationAffinityPool)(nil)).Elem() +} + +func (o IsInstanceReservationAffinityPoolOutput) ToIsInstanceReservationAffinityPoolOutput() IsInstanceReservationAffinityPoolOutput { + return o +} + +func (o IsInstanceReservationAffinityPoolOutput) ToIsInstanceReservationAffinityPoolOutputWithContext(ctx context.Context) IsInstanceReservationAffinityPoolOutput { + return o +} + +// The CRN for this reservation. +func (o IsInstanceReservationAffinityPoolOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservationAffinityPool) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsInstanceReservationAffinityPoolOutput) Deleteds() IsInstanceReservationAffinityPoolDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceReservationAffinityPool) []IsInstanceReservationAffinityPoolDeleted { + return v.Deleteds + }).(IsInstanceReservationAffinityPoolDeletedArrayOutput) +} + +// The URL for this reservation. +func (o IsInstanceReservationAffinityPoolOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservationAffinityPool) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reservation. +func (o IsInstanceReservationAffinityPoolOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservationAffinityPool) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o IsInstanceReservationAffinityPoolOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservationAffinityPool) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceReservationAffinityPoolOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservationAffinityPool) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceReservationAffinityPoolArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationAffinityPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservationAffinityPool)(nil)).Elem() +} + +func (o IsInstanceReservationAffinityPoolArrayOutput) ToIsInstanceReservationAffinityPoolArrayOutput() IsInstanceReservationAffinityPoolArrayOutput { + return o +} + +func (o IsInstanceReservationAffinityPoolArrayOutput) ToIsInstanceReservationAffinityPoolArrayOutputWithContext(ctx context.Context) IsInstanceReservationAffinityPoolArrayOutput { + return o +} + +func (o IsInstanceReservationAffinityPoolArrayOutput) Index(i pulumi.IntInput) IsInstanceReservationAffinityPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceReservationAffinityPool { + return vs[0].([]IsInstanceReservationAffinityPool)[vs[1].(int)] + }).(IsInstanceReservationAffinityPoolOutput) +} + +type IsInstanceReservationAffinityPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceReservationAffinityPoolDeletedInput is an input type that accepts IsInstanceReservationAffinityPoolDeletedArgs and IsInstanceReservationAffinityPoolDeletedOutput values. +// You can construct a concrete instance of `IsInstanceReservationAffinityPoolDeletedInput` via: +// +// IsInstanceReservationAffinityPoolDeletedArgs{...} +type IsInstanceReservationAffinityPoolDeletedInput interface { + pulumi.Input + + ToIsInstanceReservationAffinityPoolDeletedOutput() IsInstanceReservationAffinityPoolDeletedOutput + ToIsInstanceReservationAffinityPoolDeletedOutputWithContext(context.Context) IsInstanceReservationAffinityPoolDeletedOutput +} + +type IsInstanceReservationAffinityPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceReservationAffinityPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i IsInstanceReservationAffinityPoolDeletedArgs) ToIsInstanceReservationAffinityPoolDeletedOutput() IsInstanceReservationAffinityPoolDeletedOutput { + return i.ToIsInstanceReservationAffinityPoolDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationAffinityPoolDeletedArgs) ToIsInstanceReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) IsInstanceReservationAffinityPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationAffinityPoolDeletedOutput) +} + +// IsInstanceReservationAffinityPoolDeletedArrayInput is an input type that accepts IsInstanceReservationAffinityPoolDeletedArray and IsInstanceReservationAffinityPoolDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceReservationAffinityPoolDeletedArrayInput` via: +// +// IsInstanceReservationAffinityPoolDeletedArray{ IsInstanceReservationAffinityPoolDeletedArgs{...} } +type IsInstanceReservationAffinityPoolDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceReservationAffinityPoolDeletedArrayOutput() IsInstanceReservationAffinityPoolDeletedArrayOutput + ToIsInstanceReservationAffinityPoolDeletedArrayOutputWithContext(context.Context) IsInstanceReservationAffinityPoolDeletedArrayOutput +} + +type IsInstanceReservationAffinityPoolDeletedArray []IsInstanceReservationAffinityPoolDeletedInput + +func (IsInstanceReservationAffinityPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i IsInstanceReservationAffinityPoolDeletedArray) ToIsInstanceReservationAffinityPoolDeletedArrayOutput() IsInstanceReservationAffinityPoolDeletedArrayOutput { + return i.ToIsInstanceReservationAffinityPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationAffinityPoolDeletedArray) ToIsInstanceReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) IsInstanceReservationAffinityPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationAffinityPoolDeletedArrayOutput) +} + +type IsInstanceReservationAffinityPoolDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationAffinityPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o IsInstanceReservationAffinityPoolDeletedOutput) ToIsInstanceReservationAffinityPoolDeletedOutput() IsInstanceReservationAffinityPoolDeletedOutput { + return o +} + +func (o IsInstanceReservationAffinityPoolDeletedOutput) ToIsInstanceReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) IsInstanceReservationAffinityPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceReservationAffinityPoolDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservationAffinityPoolDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceReservationAffinityPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationAffinityPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o IsInstanceReservationAffinityPoolDeletedArrayOutput) ToIsInstanceReservationAffinityPoolDeletedArrayOutput() IsInstanceReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o IsInstanceReservationAffinityPoolDeletedArrayOutput) ToIsInstanceReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) IsInstanceReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o IsInstanceReservationAffinityPoolDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceReservationAffinityPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceReservationAffinityPoolDeleted { + return vs[0].([]IsInstanceReservationAffinityPoolDeleted)[vs[1].(int)] + }).(IsInstanceReservationAffinityPoolDeletedOutput) +} + +type IsInstanceReservationDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceReservationDeletedInput is an input type that accepts IsInstanceReservationDeletedArgs and IsInstanceReservationDeletedOutput values. +// You can construct a concrete instance of `IsInstanceReservationDeletedInput` via: +// +// IsInstanceReservationDeletedArgs{...} +type IsInstanceReservationDeletedInput interface { + pulumi.Input + + ToIsInstanceReservationDeletedOutput() IsInstanceReservationDeletedOutput + ToIsInstanceReservationDeletedOutputWithContext(context.Context) IsInstanceReservationDeletedOutput +} + +type IsInstanceReservationDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceReservationDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservationDeleted)(nil)).Elem() +} + +func (i IsInstanceReservationDeletedArgs) ToIsInstanceReservationDeletedOutput() IsInstanceReservationDeletedOutput { + return i.ToIsInstanceReservationDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationDeletedArgs) ToIsInstanceReservationDeletedOutputWithContext(ctx context.Context) IsInstanceReservationDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationDeletedOutput) +} + +// IsInstanceReservationDeletedArrayInput is an input type that accepts IsInstanceReservationDeletedArray and IsInstanceReservationDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceReservationDeletedArrayInput` via: +// +// IsInstanceReservationDeletedArray{ IsInstanceReservationDeletedArgs{...} } +type IsInstanceReservationDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceReservationDeletedArrayOutput() IsInstanceReservationDeletedArrayOutput + ToIsInstanceReservationDeletedArrayOutputWithContext(context.Context) IsInstanceReservationDeletedArrayOutput +} + +type IsInstanceReservationDeletedArray []IsInstanceReservationDeletedInput + +func (IsInstanceReservationDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservationDeleted)(nil)).Elem() +} + +func (i IsInstanceReservationDeletedArray) ToIsInstanceReservationDeletedArrayOutput() IsInstanceReservationDeletedArrayOutput { + return i.ToIsInstanceReservationDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceReservationDeletedArray) ToIsInstanceReservationDeletedArrayOutputWithContext(ctx context.Context) IsInstanceReservationDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceReservationDeletedArrayOutput) +} + +type IsInstanceReservationDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceReservationDeleted)(nil)).Elem() +} + +func (o IsInstanceReservationDeletedOutput) ToIsInstanceReservationDeletedOutput() IsInstanceReservationDeletedOutput { + return o +} + +func (o IsInstanceReservationDeletedOutput) ToIsInstanceReservationDeletedOutputWithContext(ctx context.Context) IsInstanceReservationDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceReservationDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceReservationDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceReservationDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceReservationDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceReservationDeleted)(nil)).Elem() +} + +func (o IsInstanceReservationDeletedArrayOutput) ToIsInstanceReservationDeletedArrayOutput() IsInstanceReservationDeletedArrayOutput { + return o +} + +func (o IsInstanceReservationDeletedArrayOutput) ToIsInstanceReservationDeletedArrayOutputWithContext(ctx context.Context) IsInstanceReservationDeletedArrayOutput { + return o +} + +func (o IsInstanceReservationDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceReservationDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceReservationDeleted { + return vs[0].([]IsInstanceReservationDeleted)[vs[1].(int)] + }).(IsInstanceReservationDeletedOutput) +} + +type IsInstanceStatusReason struct { + // A snake case string succinctly identifying the status reason + Code *string `pulumi:"code"` + // An explanation of the status reason + Message *string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceStatusReasonInput is an input type that accepts IsInstanceStatusReasonArgs and IsInstanceStatusReasonOutput values. +// You can construct a concrete instance of `IsInstanceStatusReasonInput` via: +// +// IsInstanceStatusReasonArgs{...} +type IsInstanceStatusReasonInput interface { + pulumi.Input + + ToIsInstanceStatusReasonOutput() IsInstanceStatusReasonOutput + ToIsInstanceStatusReasonOutputWithContext(context.Context) IsInstanceStatusReasonOutput +} + +type IsInstanceStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceStatusReason)(nil)).Elem() +} + +func (i IsInstanceStatusReasonArgs) ToIsInstanceStatusReasonOutput() IsInstanceStatusReasonOutput { + return i.ToIsInstanceStatusReasonOutputWithContext(context.Background()) +} + +func (i IsInstanceStatusReasonArgs) ToIsInstanceStatusReasonOutputWithContext(ctx context.Context) IsInstanceStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceStatusReasonOutput) +} + +// IsInstanceStatusReasonArrayInput is an input type that accepts IsInstanceStatusReasonArray and IsInstanceStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsInstanceStatusReasonArrayInput` via: +// +// IsInstanceStatusReasonArray{ IsInstanceStatusReasonArgs{...} } +type IsInstanceStatusReasonArrayInput interface { + pulumi.Input + + ToIsInstanceStatusReasonArrayOutput() IsInstanceStatusReasonArrayOutput + ToIsInstanceStatusReasonArrayOutputWithContext(context.Context) IsInstanceStatusReasonArrayOutput +} + +type IsInstanceStatusReasonArray []IsInstanceStatusReasonInput + +func (IsInstanceStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceStatusReason)(nil)).Elem() +} + +func (i IsInstanceStatusReasonArray) ToIsInstanceStatusReasonArrayOutput() IsInstanceStatusReasonArrayOutput { + return i.ToIsInstanceStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceStatusReasonArray) ToIsInstanceStatusReasonArrayOutputWithContext(ctx context.Context) IsInstanceStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceStatusReasonArrayOutput) +} + +type IsInstanceStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsInstanceStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceStatusReason)(nil)).Elem() +} + +func (o IsInstanceStatusReasonOutput) ToIsInstanceStatusReasonOutput() IsInstanceStatusReasonOutput { + return o +} + +func (o IsInstanceStatusReasonOutput) ToIsInstanceStatusReasonOutputWithContext(ctx context.Context) IsInstanceStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o IsInstanceStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason +func (o IsInstanceStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason +func (o IsInstanceStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceStatusReason)(nil)).Elem() +} + +func (o IsInstanceStatusReasonArrayOutput) ToIsInstanceStatusReasonArrayOutput() IsInstanceStatusReasonArrayOutput { + return o +} + +func (o IsInstanceStatusReasonArrayOutput) ToIsInstanceStatusReasonArrayOutputWithContext(ctx context.Context) IsInstanceStatusReasonArrayOutput { + return o +} + +func (o IsInstanceStatusReasonArrayOutput) Index(i pulumi.IntInput) IsInstanceStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceStatusReason { + return vs[0].([]IsInstanceStatusReason)[vs[1].(int)] + }).(IsInstanceStatusReasonOutput) +} + +type IsInstanceTemplateBootVolume struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsInstanceTemplateBootVolumeAllowedUse `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth *int `pulumi:"bandwidth"` + DeleteVolumeOnInstanceDelete *bool `pulumi:"deleteVolumeOnInstanceDelete"` + Encryption *string `pulumi:"encryption"` + Name *string `pulumi:"name"` + Profile *string `pulumi:"profile"` + Size *int `pulumi:"size"` + // The snapshot to create this virtual server instance template from + SourceSnapshot *string `pulumi:"sourceSnapshot"` + // UserTags for the volume instance + Tags []string `pulumi:"tags"` +} + +// IsInstanceTemplateBootVolumeInput is an input type that accepts IsInstanceTemplateBootVolumeArgs and IsInstanceTemplateBootVolumeOutput values. +// You can construct a concrete instance of `IsInstanceTemplateBootVolumeInput` via: +// +// IsInstanceTemplateBootVolumeArgs{...} +type IsInstanceTemplateBootVolumeInput interface { + pulumi.Input + + ToIsInstanceTemplateBootVolumeOutput() IsInstanceTemplateBootVolumeOutput + ToIsInstanceTemplateBootVolumeOutputWithContext(context.Context) IsInstanceTemplateBootVolumeOutput +} + +type IsInstanceTemplateBootVolumeArgs struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse IsInstanceTemplateBootVolumeAllowedUsePtrInput `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntPtrInput `pulumi:"bandwidth"` + DeleteVolumeOnInstanceDelete pulumi.BoolPtrInput `pulumi:"deleteVolumeOnInstanceDelete"` + Encryption pulumi.StringPtrInput `pulumi:"encryption"` + Name pulumi.StringPtrInput `pulumi:"name"` + Profile pulumi.StringPtrInput `pulumi:"profile"` + Size pulumi.IntPtrInput `pulumi:"size"` + // The snapshot to create this virtual server instance template from + SourceSnapshot pulumi.StringPtrInput `pulumi:"sourceSnapshot"` + // UserTags for the volume instance + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (IsInstanceTemplateBootVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateBootVolume)(nil)).Elem() +} + +func (i IsInstanceTemplateBootVolumeArgs) ToIsInstanceTemplateBootVolumeOutput() IsInstanceTemplateBootVolumeOutput { + return i.ToIsInstanceTemplateBootVolumeOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateBootVolumeArgs) ToIsInstanceTemplateBootVolumeOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateBootVolumeOutput) +} + +func (i IsInstanceTemplateBootVolumeArgs) ToIsInstanceTemplateBootVolumePtrOutput() IsInstanceTemplateBootVolumePtrOutput { + return i.ToIsInstanceTemplateBootVolumePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateBootVolumeArgs) ToIsInstanceTemplateBootVolumePtrOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateBootVolumeOutput).ToIsInstanceTemplateBootVolumePtrOutputWithContext(ctx) +} + +// IsInstanceTemplateBootVolumePtrInput is an input type that accepts IsInstanceTemplateBootVolumeArgs, IsInstanceTemplateBootVolumePtr and IsInstanceTemplateBootVolumePtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateBootVolumePtrInput` via: +// +// IsInstanceTemplateBootVolumeArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateBootVolumePtrInput interface { + pulumi.Input + + ToIsInstanceTemplateBootVolumePtrOutput() IsInstanceTemplateBootVolumePtrOutput + ToIsInstanceTemplateBootVolumePtrOutputWithContext(context.Context) IsInstanceTemplateBootVolumePtrOutput +} + +type isInstanceTemplateBootVolumePtrType IsInstanceTemplateBootVolumeArgs + +func IsInstanceTemplateBootVolumePtr(v *IsInstanceTemplateBootVolumeArgs) IsInstanceTemplateBootVolumePtrInput { + return (*isInstanceTemplateBootVolumePtrType)(v) +} + +func (*isInstanceTemplateBootVolumePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateBootVolume)(nil)).Elem() +} + +func (i *isInstanceTemplateBootVolumePtrType) ToIsInstanceTemplateBootVolumePtrOutput() IsInstanceTemplateBootVolumePtrOutput { + return i.ToIsInstanceTemplateBootVolumePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateBootVolumePtrType) ToIsInstanceTemplateBootVolumePtrOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateBootVolumePtrOutput) +} + +type IsInstanceTemplateBootVolumeOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateBootVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateBootVolume)(nil)).Elem() +} + +func (o IsInstanceTemplateBootVolumeOutput) ToIsInstanceTemplateBootVolumeOutput() IsInstanceTemplateBootVolumeOutput { + return o +} + +func (o IsInstanceTemplateBootVolumeOutput) ToIsInstanceTemplateBootVolumeOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumeOutput { + return o +} + +func (o IsInstanceTemplateBootVolumeOutput) ToIsInstanceTemplateBootVolumePtrOutput() IsInstanceTemplateBootVolumePtrOutput { + return o.ToIsInstanceTemplateBootVolumePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateBootVolumeOutput) ToIsInstanceTemplateBootVolumePtrOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateBootVolume) *IsInstanceTemplateBootVolume { + return &v + }).(IsInstanceTemplateBootVolumePtrOutput) +} + +// The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. +func (o IsInstanceTemplateBootVolumeOutput) AllowedUse() IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) *IsInstanceTemplateBootVolumeAllowedUse { return v.AllowedUse }).(IsInstanceTemplateBootVolumeAllowedUsePtrOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsInstanceTemplateBootVolumeOutput) Bandwidth() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) *int { return v.Bandwidth }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceTemplateBootVolumeOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) *bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolPtrOutput) +} + +func (o IsInstanceTemplateBootVolumeOutput) Encryption() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) *string { return v.Encryption }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateBootVolumeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateBootVolumeOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) *string { return v.Profile }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateBootVolumeOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +// The snapshot to create this virtual server instance template from +func (o IsInstanceTemplateBootVolumeOutput) SourceSnapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) *string { return v.SourceSnapshot }).(pulumi.StringPtrOutput) +} + +// UserTags for the volume instance +func (o IsInstanceTemplateBootVolumeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolume) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type IsInstanceTemplateBootVolumePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateBootVolumePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateBootVolume)(nil)).Elem() +} + +func (o IsInstanceTemplateBootVolumePtrOutput) ToIsInstanceTemplateBootVolumePtrOutput() IsInstanceTemplateBootVolumePtrOutput { + return o +} + +func (o IsInstanceTemplateBootVolumePtrOutput) ToIsInstanceTemplateBootVolumePtrOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumePtrOutput { + return o +} + +func (o IsInstanceTemplateBootVolumePtrOutput) Elem() IsInstanceTemplateBootVolumeOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) IsInstanceTemplateBootVolume { + if v != nil { + return *v + } + var ret IsInstanceTemplateBootVolume + return ret + }).(IsInstanceTemplateBootVolumeOutput) +} + +// The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. +func (o IsInstanceTemplateBootVolumePtrOutput) AllowedUse() IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) *IsInstanceTemplateBootVolumeAllowedUse { + if v == nil { + return nil + } + return v.AllowedUse + }).(IsInstanceTemplateBootVolumeAllowedUsePtrOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsInstanceTemplateBootVolumePtrOutput) Bandwidth() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) *int { + if v == nil { + return nil + } + return v.Bandwidth + }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceTemplateBootVolumePtrOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) *bool { + if v == nil { + return nil + } + return v.DeleteVolumeOnInstanceDelete + }).(pulumi.BoolPtrOutput) +} + +func (o IsInstanceTemplateBootVolumePtrOutput) Encryption() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) *string { + if v == nil { + return nil + } + return v.Encryption + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateBootVolumePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateBootVolumePtrOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) *string { + if v == nil { + return nil + } + return v.Profile + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateBootVolumePtrOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) *int { + if v == nil { + return nil + } + return v.Size + }).(pulumi.IntPtrOutput) +} + +// The snapshot to create this virtual server instance template from +func (o IsInstanceTemplateBootVolumePtrOutput) SourceSnapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) *string { + if v == nil { + return nil + } + return v.SourceSnapshot + }).(pulumi.StringPtrOutput) +} + +// UserTags for the volume instance +func (o IsInstanceTemplateBootVolumePtrOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolume) []string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringArrayOutput) +} + +type IsInstanceTemplateBootVolumeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance *string `pulumi:"instance"` +} + +// IsInstanceTemplateBootVolumeAllowedUseInput is an input type that accepts IsInstanceTemplateBootVolumeAllowedUseArgs and IsInstanceTemplateBootVolumeAllowedUseOutput values. +// You can construct a concrete instance of `IsInstanceTemplateBootVolumeAllowedUseInput` via: +// +// IsInstanceTemplateBootVolumeAllowedUseArgs{...} +type IsInstanceTemplateBootVolumeAllowedUseInput interface { + pulumi.Input + + ToIsInstanceTemplateBootVolumeAllowedUseOutput() IsInstanceTemplateBootVolumeAllowedUseOutput + ToIsInstanceTemplateBootVolumeAllowedUseOutputWithContext(context.Context) IsInstanceTemplateBootVolumeAllowedUseOutput +} + +type IsInstanceTemplateBootVolumeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringPtrInput `pulumi:"instance"` +} + +func (IsInstanceTemplateBootVolumeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateBootVolumeAllowedUse)(nil)).Elem() +} + +func (i IsInstanceTemplateBootVolumeAllowedUseArgs) ToIsInstanceTemplateBootVolumeAllowedUseOutput() IsInstanceTemplateBootVolumeAllowedUseOutput { + return i.ToIsInstanceTemplateBootVolumeAllowedUseOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateBootVolumeAllowedUseArgs) ToIsInstanceTemplateBootVolumeAllowedUseOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateBootVolumeAllowedUseOutput) +} + +func (i IsInstanceTemplateBootVolumeAllowedUseArgs) ToIsInstanceTemplateBootVolumeAllowedUsePtrOutput() IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return i.ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateBootVolumeAllowedUseArgs) ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateBootVolumeAllowedUseOutput).ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(ctx) +} + +// IsInstanceTemplateBootVolumeAllowedUsePtrInput is an input type that accepts IsInstanceTemplateBootVolumeAllowedUseArgs, IsInstanceTemplateBootVolumeAllowedUsePtr and IsInstanceTemplateBootVolumeAllowedUsePtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateBootVolumeAllowedUsePtrInput` via: +// +// IsInstanceTemplateBootVolumeAllowedUseArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateBootVolumeAllowedUsePtrInput interface { + pulumi.Input + + ToIsInstanceTemplateBootVolumeAllowedUsePtrOutput() IsInstanceTemplateBootVolumeAllowedUsePtrOutput + ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(context.Context) IsInstanceTemplateBootVolumeAllowedUsePtrOutput +} + +type isInstanceTemplateBootVolumeAllowedUsePtrType IsInstanceTemplateBootVolumeAllowedUseArgs + +func IsInstanceTemplateBootVolumeAllowedUsePtr(v *IsInstanceTemplateBootVolumeAllowedUseArgs) IsInstanceTemplateBootVolumeAllowedUsePtrInput { + return (*isInstanceTemplateBootVolumeAllowedUsePtrType)(v) +} + +func (*isInstanceTemplateBootVolumeAllowedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateBootVolumeAllowedUse)(nil)).Elem() +} + +func (i *isInstanceTemplateBootVolumeAllowedUsePtrType) ToIsInstanceTemplateBootVolumeAllowedUsePtrOutput() IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return i.ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateBootVolumeAllowedUsePtrType) ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateBootVolumeAllowedUsePtrOutput) +} + +type IsInstanceTemplateBootVolumeAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateBootVolumeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateBootVolumeAllowedUse)(nil)).Elem() +} + +func (o IsInstanceTemplateBootVolumeAllowedUseOutput) ToIsInstanceTemplateBootVolumeAllowedUseOutput() IsInstanceTemplateBootVolumeAllowedUseOutput { + return o +} + +func (o IsInstanceTemplateBootVolumeAllowedUseOutput) ToIsInstanceTemplateBootVolumeAllowedUseOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumeAllowedUseOutput { + return o +} + +func (o IsInstanceTemplateBootVolumeAllowedUseOutput) ToIsInstanceTemplateBootVolumeAllowedUsePtrOutput() IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return o.ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateBootVolumeAllowedUseOutput) ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateBootVolumeAllowedUse) *IsInstanceTemplateBootVolumeAllowedUse { + return &v + }).(IsInstanceTemplateBootVolumeAllowedUsePtrOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceTemplateBootVolumeAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolumeAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceTemplateBootVolumeAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolumeAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceTemplateBootVolumeAllowedUseOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateBootVolumeAllowedUse) *string { return v.Instance }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateBootVolumeAllowedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateBootVolumeAllowedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateBootVolumeAllowedUse)(nil)).Elem() +} + +func (o IsInstanceTemplateBootVolumeAllowedUsePtrOutput) ToIsInstanceTemplateBootVolumeAllowedUsePtrOutput() IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return o +} + +func (o IsInstanceTemplateBootVolumeAllowedUsePtrOutput) ToIsInstanceTemplateBootVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceTemplateBootVolumeAllowedUsePtrOutput { + return o +} + +func (o IsInstanceTemplateBootVolumeAllowedUsePtrOutput) Elem() IsInstanceTemplateBootVolumeAllowedUseOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolumeAllowedUse) IsInstanceTemplateBootVolumeAllowedUse { + if v != nil { + return *v + } + var ret IsInstanceTemplateBootVolumeAllowedUse + return ret + }).(IsInstanceTemplateBootVolumeAllowedUseOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceTemplateBootVolumeAllowedUsePtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.ApiVersion + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceTemplateBootVolumeAllowedUsePtrOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.BareMetalServer + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceTemplateBootVolumeAllowedUsePtrOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateBootVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.Instance + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []IsInstanceTemplateCatalogOfferingDeleted `pulumi:"deleteds"` + // Identifies a catalog offering by a unique CRN property + OfferingCrn *string `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn *string `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn *string `pulumi:"versionCrn"` +} + +// IsInstanceTemplateCatalogOfferingInput is an input type that accepts IsInstanceTemplateCatalogOfferingArgs and IsInstanceTemplateCatalogOfferingOutput values. +// You can construct a concrete instance of `IsInstanceTemplateCatalogOfferingInput` via: +// +// IsInstanceTemplateCatalogOfferingArgs{...} +type IsInstanceTemplateCatalogOfferingInput interface { + pulumi.Input + + ToIsInstanceTemplateCatalogOfferingOutput() IsInstanceTemplateCatalogOfferingOutput + ToIsInstanceTemplateCatalogOfferingOutputWithContext(context.Context) IsInstanceTemplateCatalogOfferingOutput +} + +type IsInstanceTemplateCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds IsInstanceTemplateCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // Identifies a catalog offering by a unique CRN property + OfferingCrn pulumi.StringPtrInput `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringPtrInput `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn pulumi.StringPtrInput `pulumi:"versionCrn"` +} + +func (IsInstanceTemplateCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateCatalogOffering)(nil)).Elem() +} + +func (i IsInstanceTemplateCatalogOfferingArgs) ToIsInstanceTemplateCatalogOfferingOutput() IsInstanceTemplateCatalogOfferingOutput { + return i.ToIsInstanceTemplateCatalogOfferingOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateCatalogOfferingArgs) ToIsInstanceTemplateCatalogOfferingOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateCatalogOfferingOutput) +} + +func (i IsInstanceTemplateCatalogOfferingArgs) ToIsInstanceTemplateCatalogOfferingPtrOutput() IsInstanceTemplateCatalogOfferingPtrOutput { + return i.ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateCatalogOfferingArgs) ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateCatalogOfferingOutput).ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(ctx) +} + +// IsInstanceTemplateCatalogOfferingPtrInput is an input type that accepts IsInstanceTemplateCatalogOfferingArgs, IsInstanceTemplateCatalogOfferingPtr and IsInstanceTemplateCatalogOfferingPtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateCatalogOfferingPtrInput` via: +// +// IsInstanceTemplateCatalogOfferingArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateCatalogOfferingPtrInput interface { + pulumi.Input + + ToIsInstanceTemplateCatalogOfferingPtrOutput() IsInstanceTemplateCatalogOfferingPtrOutput + ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(context.Context) IsInstanceTemplateCatalogOfferingPtrOutput +} + +type isInstanceTemplateCatalogOfferingPtrType IsInstanceTemplateCatalogOfferingArgs + +func IsInstanceTemplateCatalogOfferingPtr(v *IsInstanceTemplateCatalogOfferingArgs) IsInstanceTemplateCatalogOfferingPtrInput { + return (*isInstanceTemplateCatalogOfferingPtrType)(v) +} + +func (*isInstanceTemplateCatalogOfferingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateCatalogOffering)(nil)).Elem() +} + +func (i *isInstanceTemplateCatalogOfferingPtrType) ToIsInstanceTemplateCatalogOfferingPtrOutput() IsInstanceTemplateCatalogOfferingPtrOutput { + return i.ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateCatalogOfferingPtrType) ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateCatalogOfferingPtrOutput) +} + +type IsInstanceTemplateCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateCatalogOffering)(nil)).Elem() +} + +func (o IsInstanceTemplateCatalogOfferingOutput) ToIsInstanceTemplateCatalogOfferingOutput() IsInstanceTemplateCatalogOfferingOutput { + return o +} + +func (o IsInstanceTemplateCatalogOfferingOutput) ToIsInstanceTemplateCatalogOfferingOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingOutput { + return o +} + +func (o IsInstanceTemplateCatalogOfferingOutput) ToIsInstanceTemplateCatalogOfferingPtrOutput() IsInstanceTemplateCatalogOfferingPtrOutput { + return o.ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateCatalogOfferingOutput) ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateCatalogOffering) *IsInstanceTemplateCatalogOffering { + return &v + }).(IsInstanceTemplateCatalogOfferingPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o IsInstanceTemplateCatalogOfferingOutput) Deleteds() IsInstanceTemplateCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateCatalogOffering) []IsInstanceTemplateCatalogOfferingDeleted { + return v.Deleteds + }).(IsInstanceTemplateCatalogOfferingDeletedArrayOutput) +} + +// Identifies a catalog offering by a unique CRN property +func (o IsInstanceTemplateCatalogOfferingOutput) OfferingCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateCatalogOffering) *string { return v.OfferingCrn }).(pulumi.StringPtrOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o IsInstanceTemplateCatalogOfferingOutput) PlanCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateCatalogOffering) *string { return v.PlanCrn }).(pulumi.StringPtrOutput) +} + +// Identifies a version of a catalog offering by a unique CRN property +func (o IsInstanceTemplateCatalogOfferingOutput) VersionCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateCatalogOffering) *string { return v.VersionCrn }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateCatalogOfferingPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateCatalogOfferingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateCatalogOffering)(nil)).Elem() +} + +func (o IsInstanceTemplateCatalogOfferingPtrOutput) ToIsInstanceTemplateCatalogOfferingPtrOutput() IsInstanceTemplateCatalogOfferingPtrOutput { + return o +} + +func (o IsInstanceTemplateCatalogOfferingPtrOutput) ToIsInstanceTemplateCatalogOfferingPtrOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingPtrOutput { + return o +} + +func (o IsInstanceTemplateCatalogOfferingPtrOutput) Elem() IsInstanceTemplateCatalogOfferingOutput { + return o.ApplyT(func(v *IsInstanceTemplateCatalogOffering) IsInstanceTemplateCatalogOffering { + if v != nil { + return *v + } + var ret IsInstanceTemplateCatalogOffering + return ret + }).(IsInstanceTemplateCatalogOfferingOutput) +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o IsInstanceTemplateCatalogOfferingPtrOutput) Deleteds() IsInstanceTemplateCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplateCatalogOffering) []IsInstanceTemplateCatalogOfferingDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstanceTemplateCatalogOfferingDeletedArrayOutput) +} + +// Identifies a catalog offering by a unique CRN property +func (o IsInstanceTemplateCatalogOfferingPtrOutput) OfferingCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateCatalogOffering) *string { + if v == nil { + return nil + } + return v.OfferingCrn + }).(pulumi.StringPtrOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o IsInstanceTemplateCatalogOfferingPtrOutput) PlanCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateCatalogOffering) *string { + if v == nil { + return nil + } + return v.PlanCrn + }).(pulumi.StringPtrOutput) +} + +// Identifies a version of a catalog offering by a unique CRN property +func (o IsInstanceTemplateCatalogOfferingPtrOutput) VersionCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateCatalogOffering) *string { + if v == nil { + return nil + } + return v.VersionCrn + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceTemplateCatalogOfferingDeletedInput is an input type that accepts IsInstanceTemplateCatalogOfferingDeletedArgs and IsInstanceTemplateCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `IsInstanceTemplateCatalogOfferingDeletedInput` via: +// +// IsInstanceTemplateCatalogOfferingDeletedArgs{...} +type IsInstanceTemplateCatalogOfferingDeletedInput interface { + pulumi.Input + + ToIsInstanceTemplateCatalogOfferingDeletedOutput() IsInstanceTemplateCatalogOfferingDeletedOutput + ToIsInstanceTemplateCatalogOfferingDeletedOutputWithContext(context.Context) IsInstanceTemplateCatalogOfferingDeletedOutput +} + +type IsInstanceTemplateCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceTemplateCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateCatalogOfferingDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplateCatalogOfferingDeletedArgs) ToIsInstanceTemplateCatalogOfferingDeletedOutput() IsInstanceTemplateCatalogOfferingDeletedOutput { + return i.ToIsInstanceTemplateCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateCatalogOfferingDeletedArgs) ToIsInstanceTemplateCatalogOfferingDeletedOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateCatalogOfferingDeletedOutput) +} + +// IsInstanceTemplateCatalogOfferingDeletedArrayInput is an input type that accepts IsInstanceTemplateCatalogOfferingDeletedArray and IsInstanceTemplateCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateCatalogOfferingDeletedArrayInput` via: +// +// IsInstanceTemplateCatalogOfferingDeletedArray{ IsInstanceTemplateCatalogOfferingDeletedArgs{...} } +type IsInstanceTemplateCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateCatalogOfferingDeletedArrayOutput() IsInstanceTemplateCatalogOfferingDeletedArrayOutput + ToIsInstanceTemplateCatalogOfferingDeletedArrayOutputWithContext(context.Context) IsInstanceTemplateCatalogOfferingDeletedArrayOutput +} + +type IsInstanceTemplateCatalogOfferingDeletedArray []IsInstanceTemplateCatalogOfferingDeletedInput + +func (IsInstanceTemplateCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateCatalogOfferingDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplateCatalogOfferingDeletedArray) ToIsInstanceTemplateCatalogOfferingDeletedArrayOutput() IsInstanceTemplateCatalogOfferingDeletedArrayOutput { + return i.ToIsInstanceTemplateCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateCatalogOfferingDeletedArray) ToIsInstanceTemplateCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateCatalogOfferingDeletedArrayOutput) +} + +type IsInstanceTemplateCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateCatalogOfferingDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplateCatalogOfferingDeletedOutput) ToIsInstanceTemplateCatalogOfferingDeletedOutput() IsInstanceTemplateCatalogOfferingDeletedOutput { + return o +} + +func (o IsInstanceTemplateCatalogOfferingDeletedOutput) ToIsInstanceTemplateCatalogOfferingDeletedOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceTemplateCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateCatalogOfferingDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateCatalogOfferingDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplateCatalogOfferingDeletedArrayOutput) ToIsInstanceTemplateCatalogOfferingDeletedArrayOutput() IsInstanceTemplateCatalogOfferingDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplateCatalogOfferingDeletedArrayOutput) ToIsInstanceTemplateCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplateCatalogOfferingDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplateCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateCatalogOfferingDeleted { + return vs[0].([]IsInstanceTemplateCatalogOfferingDeleted)[vs[1].(int)] + }).(IsInstanceTemplateCatalogOfferingDeletedOutput) +} + +type IsInstanceTemplateClusterNetworkAttachment struct { + // A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. + ClusterNetworkInterface IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface `pulumi:"clusterNetworkInterface"` + // The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name *string `pulumi:"name"` +} + +// IsInstanceTemplateClusterNetworkAttachmentInput is an input type that accepts IsInstanceTemplateClusterNetworkAttachmentArgs and IsInstanceTemplateClusterNetworkAttachmentOutput values. +// You can construct a concrete instance of `IsInstanceTemplateClusterNetworkAttachmentInput` via: +// +// IsInstanceTemplateClusterNetworkAttachmentArgs{...} +type IsInstanceTemplateClusterNetworkAttachmentInput interface { + pulumi.Input + + ToIsInstanceTemplateClusterNetworkAttachmentOutput() IsInstanceTemplateClusterNetworkAttachmentOutput + ToIsInstanceTemplateClusterNetworkAttachmentOutputWithContext(context.Context) IsInstanceTemplateClusterNetworkAttachmentOutput +} + +type IsInstanceTemplateClusterNetworkAttachmentArgs struct { + // A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. + ClusterNetworkInterface IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput `pulumi:"clusterNetworkInterface"` + // The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsInstanceTemplateClusterNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (i IsInstanceTemplateClusterNetworkAttachmentArgs) ToIsInstanceTemplateClusterNetworkAttachmentOutput() IsInstanceTemplateClusterNetworkAttachmentOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentArgs) ToIsInstanceTemplateClusterNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentOutput) +} + +// IsInstanceTemplateClusterNetworkAttachmentArrayInput is an input type that accepts IsInstanceTemplateClusterNetworkAttachmentArray and IsInstanceTemplateClusterNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateClusterNetworkAttachmentArrayInput` via: +// +// IsInstanceTemplateClusterNetworkAttachmentArray{ IsInstanceTemplateClusterNetworkAttachmentArgs{...} } +type IsInstanceTemplateClusterNetworkAttachmentArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateClusterNetworkAttachmentArrayOutput() IsInstanceTemplateClusterNetworkAttachmentArrayOutput + ToIsInstanceTemplateClusterNetworkAttachmentArrayOutputWithContext(context.Context) IsInstanceTemplateClusterNetworkAttachmentArrayOutput +} + +type IsInstanceTemplateClusterNetworkAttachmentArray []IsInstanceTemplateClusterNetworkAttachmentInput + +func (IsInstanceTemplateClusterNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (i IsInstanceTemplateClusterNetworkAttachmentArray) ToIsInstanceTemplateClusterNetworkAttachmentArrayOutput() IsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentArray) ToIsInstanceTemplateClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentArrayOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateClusterNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (o IsInstanceTemplateClusterNetworkAttachmentOutput) ToIsInstanceTemplateClusterNetworkAttachmentOutput() IsInstanceTemplateClusterNetworkAttachmentOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentOutput) ToIsInstanceTemplateClusterNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentOutput { + return o +} + +// A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. +func (o IsInstanceTemplateClusterNetworkAttachmentOutput) ClusterNetworkInterface() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachment) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface { + return v.ClusterNetworkInterface + }).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +// The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. +func (o IsInstanceTemplateClusterNetworkAttachmentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachment) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateClusterNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (o IsInstanceTemplateClusterNetworkAttachmentArrayOutput) ToIsInstanceTemplateClusterNetworkAttachmentArrayOutput() IsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentArrayOutput) ToIsInstanceTemplateClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateClusterNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateClusterNetworkAttachment { + return vs[0].([]IsInstanceTemplateClusterNetworkAttachment)[vs[1].(int)] + }).(IsInstanceTemplateClusterNetworkAttachmentOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // The URL for this cluster network interface. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id *string `pulumi:"id"` + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. + PrimaryIp *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. + Subnet *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet `pulumi:"subnet"` +} + +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput is an input type that accepts IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs and IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput` via: +// +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The URL for this cluster network interface. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. + PrimaryIp IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. + Subnet IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput `pulumi:"subnet"` +} + +func (IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +// Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The URL for this cluster network interface. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network interface. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) PrimaryIp() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) +} + +// The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Subnet() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return v.Subnet + }).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address *string `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The URL for this cluster network subnet reserved IP. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id *string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` +} + +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput is an input type that accepts IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs and IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput` via: +// +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput).ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs, IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtr and IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput` via: +// +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput +} + +type isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs + +func IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtr(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput { + return (*isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrType) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return &v + }).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *bool { + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + return v.Name + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Elem() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp + return ret + }).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet struct { + // The URL for this cluster network subnet. + Href *string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id *string `pulumi:"id"` +} + +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput is an input type that accepts IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs and IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput` via: +// +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs struct { + // The URL for this cluster network subnet. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput).ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx) +} + +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput is an input type that accepts IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs, IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtr and IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput` via: +// +// IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput interface { + pulumi.Input + + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput + ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput +} + +type isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs + +func IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtr(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput { + return (*isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType)(v) +} + +func (*isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i *isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return i.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrType) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o.ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return &v + }).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) +} + +// The URL for this cluster network subnet. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) ToIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutputWithContext(ctx context.Context) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput { + return o +} + +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) Elem() IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + if v != nil { + return *v + } + var ret IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet + return ret + }).(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +// The URL for this cluster network subnet. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this cluster network subnet. +func (o IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled *bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol *string `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit *int `pulumi:"responseHopLimit"` +} + +// IsInstanceTemplateMetadataServiceInput is an input type that accepts IsInstanceTemplateMetadataServiceArgs and IsInstanceTemplateMetadataServiceOutput values. +// You can construct a concrete instance of `IsInstanceTemplateMetadataServiceInput` via: +// +// IsInstanceTemplateMetadataServiceArgs{...} +type IsInstanceTemplateMetadataServiceInput interface { + pulumi.Input + + ToIsInstanceTemplateMetadataServiceOutput() IsInstanceTemplateMetadataServiceOutput + ToIsInstanceTemplateMetadataServiceOutputWithContext(context.Context) IsInstanceTemplateMetadataServiceOutput +} + +type IsInstanceTemplateMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit pulumi.IntPtrInput `pulumi:"responseHopLimit"` +} + +func (IsInstanceTemplateMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateMetadataService)(nil)).Elem() +} + +func (i IsInstanceTemplateMetadataServiceArgs) ToIsInstanceTemplateMetadataServiceOutput() IsInstanceTemplateMetadataServiceOutput { + return i.ToIsInstanceTemplateMetadataServiceOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateMetadataServiceArgs) ToIsInstanceTemplateMetadataServiceOutputWithContext(ctx context.Context) IsInstanceTemplateMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateMetadataServiceOutput) +} + +func (i IsInstanceTemplateMetadataServiceArgs) ToIsInstanceTemplateMetadataServicePtrOutput() IsInstanceTemplateMetadataServicePtrOutput { + return i.ToIsInstanceTemplateMetadataServicePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateMetadataServiceArgs) ToIsInstanceTemplateMetadataServicePtrOutputWithContext(ctx context.Context) IsInstanceTemplateMetadataServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateMetadataServiceOutput).ToIsInstanceTemplateMetadataServicePtrOutputWithContext(ctx) +} + +// IsInstanceTemplateMetadataServicePtrInput is an input type that accepts IsInstanceTemplateMetadataServiceArgs, IsInstanceTemplateMetadataServicePtr and IsInstanceTemplateMetadataServicePtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateMetadataServicePtrInput` via: +// +// IsInstanceTemplateMetadataServiceArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateMetadataServicePtrInput interface { + pulumi.Input + + ToIsInstanceTemplateMetadataServicePtrOutput() IsInstanceTemplateMetadataServicePtrOutput + ToIsInstanceTemplateMetadataServicePtrOutputWithContext(context.Context) IsInstanceTemplateMetadataServicePtrOutput +} + +type isInstanceTemplateMetadataServicePtrType IsInstanceTemplateMetadataServiceArgs + +func IsInstanceTemplateMetadataServicePtr(v *IsInstanceTemplateMetadataServiceArgs) IsInstanceTemplateMetadataServicePtrInput { + return (*isInstanceTemplateMetadataServicePtrType)(v) +} + +func (*isInstanceTemplateMetadataServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateMetadataService)(nil)).Elem() +} + +func (i *isInstanceTemplateMetadataServicePtrType) ToIsInstanceTemplateMetadataServicePtrOutput() IsInstanceTemplateMetadataServicePtrOutput { + return i.ToIsInstanceTemplateMetadataServicePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateMetadataServicePtrType) ToIsInstanceTemplateMetadataServicePtrOutputWithContext(ctx context.Context) IsInstanceTemplateMetadataServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateMetadataServicePtrOutput) +} + +type IsInstanceTemplateMetadataServiceOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateMetadataService)(nil)).Elem() +} + +func (o IsInstanceTemplateMetadataServiceOutput) ToIsInstanceTemplateMetadataServiceOutput() IsInstanceTemplateMetadataServiceOutput { + return o +} + +func (o IsInstanceTemplateMetadataServiceOutput) ToIsInstanceTemplateMetadataServiceOutputWithContext(ctx context.Context) IsInstanceTemplateMetadataServiceOutput { + return o +} + +func (o IsInstanceTemplateMetadataServiceOutput) ToIsInstanceTemplateMetadataServicePtrOutput() IsInstanceTemplateMetadataServicePtrOutput { + return o.ToIsInstanceTemplateMetadataServicePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateMetadataServiceOutput) ToIsInstanceTemplateMetadataServicePtrOutputWithContext(ctx context.Context) IsInstanceTemplateMetadataServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateMetadataService) *IsInstanceTemplateMetadataService { + return &v + }).(IsInstanceTemplateMetadataServicePtrOutput) +} + +// Indicates whether the metadata service endpoint will be available to the virtual server instance +func (o IsInstanceTemplateMetadataServiceOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateMetadataService) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o IsInstanceTemplateMetadataServiceOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateMetadataService) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// The hop limit (IP time to live) for IP response packets from the metadata service +func (o IsInstanceTemplateMetadataServiceOutput) ResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateMetadataService) *int { return v.ResponseHopLimit }).(pulumi.IntPtrOutput) +} + +type IsInstanceTemplateMetadataServicePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateMetadataServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateMetadataService)(nil)).Elem() +} + +func (o IsInstanceTemplateMetadataServicePtrOutput) ToIsInstanceTemplateMetadataServicePtrOutput() IsInstanceTemplateMetadataServicePtrOutput { + return o +} + +func (o IsInstanceTemplateMetadataServicePtrOutput) ToIsInstanceTemplateMetadataServicePtrOutputWithContext(ctx context.Context) IsInstanceTemplateMetadataServicePtrOutput { + return o +} + +func (o IsInstanceTemplateMetadataServicePtrOutput) Elem() IsInstanceTemplateMetadataServiceOutput { + return o.ApplyT(func(v *IsInstanceTemplateMetadataService) IsInstanceTemplateMetadataService { + if v != nil { + return *v + } + var ret IsInstanceTemplateMetadataService + return ret + }).(IsInstanceTemplateMetadataServiceOutput) +} + +// Indicates whether the metadata service endpoint will be available to the virtual server instance +func (o IsInstanceTemplateMetadataServicePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateMetadataService) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o IsInstanceTemplateMetadataServicePtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateMetadataService) *string { + if v == nil { + return nil + } + return v.Protocol + }).(pulumi.StringPtrOutput) +} + +// The hop limit (IP time to live) for IP response packets from the metadata service +func (o IsInstanceTemplateMetadataServicePtrOutput) ResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateMetadataService) *int { + if v == nil { + return nil + } + return v.ResponseHopLimit + }).(pulumi.IntPtrOutput) +} + +type IsInstanceTemplateNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceTemplateNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this instance network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id *string `pulumi:"id"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` +} + +// IsInstanceTemplateNetworkAttachmentInput is an input type that accepts IsInstanceTemplateNetworkAttachmentArgs and IsInstanceTemplateNetworkAttachmentOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentInput` via: +// +// IsInstanceTemplateNetworkAttachmentArgs{...} +type IsInstanceTemplateNetworkAttachmentInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentOutput() IsInstanceTemplateNetworkAttachmentOutput + ToIsInstanceTemplateNetworkAttachmentOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentOutput +} + +type IsInstanceTemplateNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceTemplateNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrInput `pulumi:"virtualNetworkInterface"` +} + +func (IsInstanceTemplateNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachment)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentArgs) ToIsInstanceTemplateNetworkAttachmentOutput() IsInstanceTemplateNetworkAttachmentOutput { + return i.ToIsInstanceTemplateNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentArgs) ToIsInstanceTemplateNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentOutput) +} + +// IsInstanceTemplateNetworkAttachmentArrayInput is an input type that accepts IsInstanceTemplateNetworkAttachmentArray and IsInstanceTemplateNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentArrayInput` via: +// +// IsInstanceTemplateNetworkAttachmentArray{ IsInstanceTemplateNetworkAttachmentArgs{...} } +type IsInstanceTemplateNetworkAttachmentArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentArrayOutput() IsInstanceTemplateNetworkAttachmentArrayOutput + ToIsInstanceTemplateNetworkAttachmentArrayOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentArrayOutput +} + +type IsInstanceTemplateNetworkAttachmentArray []IsInstanceTemplateNetworkAttachmentInput + +func (IsInstanceTemplateNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachment)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentArray) ToIsInstanceTemplateNetworkAttachmentArrayOutput() IsInstanceTemplateNetworkAttachmentArrayOutput { + return i.ToIsInstanceTemplateNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentArray) ToIsInstanceTemplateNetworkAttachmentArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentArrayOutput) +} + +type IsInstanceTemplateNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachment)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentOutput) ToIsInstanceTemplateNetworkAttachmentOutput() IsInstanceTemplateNetworkAttachmentOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentOutput) ToIsInstanceTemplateNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceTemplateNetworkAttachmentOutput) Deleteds() IsInstanceTemplateNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachment) []IsInstanceTemplateNetworkAttachmentDeleted { + return v.Deleteds + }).(IsInstanceTemplateNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this instance network attachment. +func (o IsInstanceTemplateNetworkAttachmentOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachment) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance network attachment. +func (o IsInstanceTemplateNetworkAttachmentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachment) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this instance network attachment. The name is unique across all network attachments for the instance. +func (o IsInstanceTemplateNetworkAttachmentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachment) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplateNetworkAttachmentOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachment) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsInstanceTemplateNetworkAttachmentOutput) VirtualNetworkInterface() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachment) *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterface + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachment)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentArrayOutput) ToIsInstanceTemplateNetworkAttachmentArrayOutput() IsInstanceTemplateNetworkAttachmentArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentArrayOutput) ToIsInstanceTemplateNetworkAttachmentArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateNetworkAttachment { + return vs[0].([]IsInstanceTemplateNetworkAttachment)[vs[1].(int)] + }).(IsInstanceTemplateNetworkAttachmentOutput) +} + +type IsInstanceTemplateNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceTemplateNetworkAttachmentDeletedInput is an input type that accepts IsInstanceTemplateNetworkAttachmentDeletedArgs and IsInstanceTemplateNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentDeletedInput` via: +// +// IsInstanceTemplateNetworkAttachmentDeletedArgs{...} +type IsInstanceTemplateNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentDeletedOutput() IsInstanceTemplateNetworkAttachmentDeletedOutput + ToIsInstanceTemplateNetworkAttachmentDeletedOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentDeletedOutput +} + +type IsInstanceTemplateNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceTemplateNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentDeletedArgs) ToIsInstanceTemplateNetworkAttachmentDeletedOutput() IsInstanceTemplateNetworkAttachmentDeletedOutput { + return i.ToIsInstanceTemplateNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentDeletedArgs) ToIsInstanceTemplateNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentDeletedOutput) +} + +// IsInstanceTemplateNetworkAttachmentDeletedArrayInput is an input type that accepts IsInstanceTemplateNetworkAttachmentDeletedArray and IsInstanceTemplateNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentDeletedArrayInput` via: +// +// IsInstanceTemplateNetworkAttachmentDeletedArray{ IsInstanceTemplateNetworkAttachmentDeletedArgs{...} } +type IsInstanceTemplateNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentDeletedArrayOutput + ToIsInstanceTemplateNetworkAttachmentDeletedArrayOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentDeletedArrayOutput +} + +type IsInstanceTemplateNetworkAttachmentDeletedArray []IsInstanceTemplateNetworkAttachmentDeletedInput + +func (IsInstanceTemplateNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentDeletedArray) ToIsInstanceTemplateNetworkAttachmentDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentDeletedArrayOutput { + return i.ToIsInstanceTemplateNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentDeletedArray) ToIsInstanceTemplateNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentDeletedArrayOutput) +} + +type IsInstanceTemplateNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentDeletedOutput) ToIsInstanceTemplateNetworkAttachmentDeletedOutput() IsInstanceTemplateNetworkAttachmentDeletedOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentDeletedOutput) ToIsInstanceTemplateNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceTemplateNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentDeletedArrayOutput) ToIsInstanceTemplateNetworkAttachmentDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentDeletedArrayOutput) ToIsInstanceTemplateNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateNetworkAttachmentDeleted { + return vs[0].([]IsInstanceTemplateNetworkAttachmentDeleted)[vs[1].(int)] + }).(IsInstanceTemplateNetworkAttachmentDeletedOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this instance network attachment. + Id *string `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `pulumi:"name"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIps []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet id. + Subnet *string `pulumi:"subnet"` +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this instance network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIps IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet id. + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput).ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs, IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtr and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput +} + +type isInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrType IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs + +func IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtr(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrInput { + return (*isInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrType)(v) +} + +func (*isInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i *isInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface { + return &v + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this instance network attachment. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIps() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) Elem() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface { + if v != nil { + return *v + } + var ret IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface + return ret + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this instance network attachment. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) Ips() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp { + if v == nil { + return nil + } + return v.Ips + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) PrimaryIps() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIps + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray{ IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Deleteds() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return v.Deleteds + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{ IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} } +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return vs[0].([]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{ IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} } +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Deleteds() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return vs[0].([]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray and IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{ IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray []IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsInstanceTemplateNetworkInterface struct { + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + Name *string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp *IsInstanceTemplateNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address *string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// IsInstanceTemplateNetworkInterfaceInput is an input type that accepts IsInstanceTemplateNetworkInterfaceArgs and IsInstanceTemplateNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkInterfaceInput` via: +// +// IsInstanceTemplateNetworkInterfaceArgs{...} +type IsInstanceTemplateNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkInterfaceOutput() IsInstanceTemplateNetworkInterfaceOutput + ToIsInstanceTemplateNetworkInterfaceOutputWithContext(context.Context) IsInstanceTemplateNetworkInterfaceOutput +} + +type IsInstanceTemplateNetworkInterfaceArgs struct { + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp IsInstanceTemplateNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address pulumi.StringPtrInput `pulumi:"primaryIpv4Address"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (IsInstanceTemplateNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkInterface)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkInterfaceArgs) ToIsInstanceTemplateNetworkInterfaceOutput() IsInstanceTemplateNetworkInterfaceOutput { + return i.ToIsInstanceTemplateNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkInterfaceArgs) ToIsInstanceTemplateNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkInterfaceOutput) +} + +// IsInstanceTemplateNetworkInterfaceArrayInput is an input type that accepts IsInstanceTemplateNetworkInterfaceArray and IsInstanceTemplateNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkInterfaceArrayInput` via: +// +// IsInstanceTemplateNetworkInterfaceArray{ IsInstanceTemplateNetworkInterfaceArgs{...} } +type IsInstanceTemplateNetworkInterfaceArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkInterfaceArrayOutput() IsInstanceTemplateNetworkInterfaceArrayOutput + ToIsInstanceTemplateNetworkInterfaceArrayOutputWithContext(context.Context) IsInstanceTemplateNetworkInterfaceArrayOutput +} + +type IsInstanceTemplateNetworkInterfaceArray []IsInstanceTemplateNetworkInterfaceInput + +func (IsInstanceTemplateNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkInterface)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkInterfaceArray) ToIsInstanceTemplateNetworkInterfaceArrayOutput() IsInstanceTemplateNetworkInterfaceArrayOutput { + return i.ToIsInstanceTemplateNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkInterfaceArray) ToIsInstanceTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkInterfaceArrayOutput) +} + +type IsInstanceTemplateNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkInterfaceOutput) ToIsInstanceTemplateNetworkInterfaceOutput() IsInstanceTemplateNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplateNetworkInterfaceOutput) ToIsInstanceTemplateNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplateNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +func (o IsInstanceTemplateNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o IsInstanceTemplateNetworkInterfaceOutput) PrimaryIp() IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterface) *IsInstanceTemplateNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) +} + +// Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead +func (o IsInstanceTemplateNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterface) *string { return v.PrimaryIpv4Address }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o IsInstanceTemplateNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type IsInstanceTemplateNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkInterfaceArrayOutput) ToIsInstanceTemplateNetworkInterfaceArrayOutput() IsInstanceTemplateNetworkInterfaceArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkInterfaceArrayOutput) ToIsInstanceTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfaceArrayOutput { + return o +} + +func (o IsInstanceTemplateNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateNetworkInterface { + return vs[0].([]IsInstanceTemplateNetworkInterface)[vs[1].(int)] + }).(IsInstanceTemplateNetworkInterfaceOutput) +} + +type IsInstanceTemplateNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name *string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp *string `pulumi:"reservedIp"` +} + +// IsInstanceTemplateNetworkInterfacePrimaryIpInput is an input type that accepts IsInstanceTemplateNetworkInterfacePrimaryIpArgs and IsInstanceTemplateNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkInterfacePrimaryIpInput` via: +// +// IsInstanceTemplateNetworkInterfacePrimaryIpArgs{...} +type IsInstanceTemplateNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkInterfacePrimaryIpOutput() IsInstanceTemplateNetworkInterfacePrimaryIpOutput + ToIsInstanceTemplateNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstanceTemplateNetworkInterfacePrimaryIpOutput +} + +type IsInstanceTemplateNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringPtrInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` +} + +func (IsInstanceTemplateNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceTemplateNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateNetworkInterfacePrimaryIpOutput() IsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return i.ToIsInstanceTemplateNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkInterfacePrimaryIpOutput) +} + +func (i IsInstanceTemplateNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkInterfacePrimaryIpOutput).ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsInstanceTemplateNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsInstanceTemplateNetworkInterfacePrimaryIpArgs, IsInstanceTemplateNetworkInterfacePrimaryIpPtr and IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateNetworkInterfacePrimaryIpPtrInput` via: +// +// IsInstanceTemplateNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput + ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput +} + +type isInstanceTemplateNetworkInterfacePrimaryIpPtrType IsInstanceTemplateNetworkInterfacePrimaryIpArgs + +func IsInstanceTemplateNetworkInterfacePrimaryIpPtr(v *IsInstanceTemplateNetworkInterfacePrimaryIpArgs) IsInstanceTemplateNetworkInterfacePrimaryIpPtrInput { + return (*isInstanceTemplateNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isInstanceTemplateNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isInstanceTemplateNetworkInterfacePrimaryIpPtrType) ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateNetworkInterfacePrimaryIpPtrType) ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) +} + +type IsInstanceTemplateNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateNetworkInterfacePrimaryIpOutput() IsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceTemplateNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceTemplateNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateNetworkInterfacePrimaryIp) *IsInstanceTemplateNetworkInterfacePrimaryIp { + return &v + }).(IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsInstanceTemplateNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceTemplateNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsInstanceTemplateNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsInstanceTemplateNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceTemplateNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) Elem() IsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkInterfacePrimaryIp) IsInstanceTemplateNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsInstanceTemplateNetworkInterfacePrimaryIp + return ret + }).(IsInstanceTemplateNetworkInterfacePrimaryIpOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePlacementTarget struct { + // The CRN for this placement target. + Crn *string `pulumi:"crn"` + // The URL for this placement target. + Href *string `pulumi:"href"` + // The unique identifier for this placement target. + Id *string `pulumi:"id"` +} + +// IsInstanceTemplatePlacementTargetInput is an input type that accepts IsInstanceTemplatePlacementTargetArgs and IsInstanceTemplatePlacementTargetOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePlacementTargetInput` via: +// +// IsInstanceTemplatePlacementTargetArgs{...} +type IsInstanceTemplatePlacementTargetInput interface { + pulumi.Input + + ToIsInstanceTemplatePlacementTargetOutput() IsInstanceTemplatePlacementTargetOutput + ToIsInstanceTemplatePlacementTargetOutputWithContext(context.Context) IsInstanceTemplatePlacementTargetOutput +} + +type IsInstanceTemplatePlacementTargetArgs struct { + // The CRN for this placement target. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The URL for this placement target. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this placement target. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IsInstanceTemplatePlacementTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePlacementTarget)(nil)).Elem() +} + +func (i IsInstanceTemplatePlacementTargetArgs) ToIsInstanceTemplatePlacementTargetOutput() IsInstanceTemplatePlacementTargetOutput { + return i.ToIsInstanceTemplatePlacementTargetOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePlacementTargetArgs) ToIsInstanceTemplatePlacementTargetOutputWithContext(ctx context.Context) IsInstanceTemplatePlacementTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePlacementTargetOutput) +} + +// IsInstanceTemplatePlacementTargetArrayInput is an input type that accepts IsInstanceTemplatePlacementTargetArray and IsInstanceTemplatePlacementTargetArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePlacementTargetArrayInput` via: +// +// IsInstanceTemplatePlacementTargetArray{ IsInstanceTemplatePlacementTargetArgs{...} } +type IsInstanceTemplatePlacementTargetArrayInput interface { + pulumi.Input + + ToIsInstanceTemplatePlacementTargetArrayOutput() IsInstanceTemplatePlacementTargetArrayOutput + ToIsInstanceTemplatePlacementTargetArrayOutputWithContext(context.Context) IsInstanceTemplatePlacementTargetArrayOutput +} + +type IsInstanceTemplatePlacementTargetArray []IsInstanceTemplatePlacementTargetInput + +func (IsInstanceTemplatePlacementTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePlacementTarget)(nil)).Elem() +} + +func (i IsInstanceTemplatePlacementTargetArray) ToIsInstanceTemplatePlacementTargetArrayOutput() IsInstanceTemplatePlacementTargetArrayOutput { + return i.ToIsInstanceTemplatePlacementTargetArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePlacementTargetArray) ToIsInstanceTemplatePlacementTargetArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePlacementTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePlacementTargetArrayOutput) +} + +type IsInstanceTemplatePlacementTargetOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePlacementTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePlacementTarget)(nil)).Elem() +} + +func (o IsInstanceTemplatePlacementTargetOutput) ToIsInstanceTemplatePlacementTargetOutput() IsInstanceTemplatePlacementTargetOutput { + return o +} + +func (o IsInstanceTemplatePlacementTargetOutput) ToIsInstanceTemplatePlacementTargetOutputWithContext(ctx context.Context) IsInstanceTemplatePlacementTargetOutput { + return o +} + +// The CRN for this placement target. +func (o IsInstanceTemplatePlacementTargetOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePlacementTarget) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The URL for this placement target. +func (o IsInstanceTemplatePlacementTargetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePlacementTarget) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this placement target. +func (o IsInstanceTemplatePlacementTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePlacementTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePlacementTargetArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePlacementTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePlacementTarget)(nil)).Elem() +} + +func (o IsInstanceTemplatePlacementTargetArrayOutput) ToIsInstanceTemplatePlacementTargetArrayOutput() IsInstanceTemplatePlacementTargetArrayOutput { + return o +} + +func (o IsInstanceTemplatePlacementTargetArrayOutput) ToIsInstanceTemplatePlacementTargetArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePlacementTargetArrayOutput { + return o +} + +func (o IsInstanceTemplatePlacementTargetArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplatePlacementTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplatePlacementTarget { + return vs[0].([]IsInstanceTemplatePlacementTarget)[vs[1].(int)] + }).(IsInstanceTemplatePlacementTargetOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceTemplatePrimaryNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this instance network attachment. + Href *string `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id *string `pulumi:"id"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterface"` +} + +// IsInstanceTemplatePrimaryNetworkAttachmentInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentArgs and IsInstanceTemplatePrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentArgs{...} +type IsInstanceTemplatePrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentOutput() IsInstanceTemplatePrimaryNetworkAttachmentOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance network attachment. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. + VirtualNetworkInterface IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput `pulumi:"virtualNetworkInterface"` +} + +func (IsInstanceTemplatePrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentOutput() IsInstanceTemplatePrimaryNetworkAttachmentOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentOutput) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentOutput).ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(ctx) +} + +// IsInstanceTemplatePrimaryNetworkAttachmentPtrInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentArgs, IsInstanceTemplatePrimaryNetworkAttachmentPtr and IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentPtrInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentArgs{...} +// +// or: +// +// nil +type IsInstanceTemplatePrimaryNetworkAttachmentPtrInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput +} + +type isInstanceTemplatePrimaryNetworkAttachmentPtrType IsInstanceTemplatePrimaryNetworkAttachmentArgs + +func IsInstanceTemplatePrimaryNetworkAttachmentPtr(v *IsInstanceTemplatePrimaryNetworkAttachmentArgs) IsInstanceTemplatePrimaryNetworkAttachmentPtrInput { + return (*isInstanceTemplatePrimaryNetworkAttachmentPtrType)(v) +} + +func (*isInstanceTemplatePrimaryNetworkAttachmentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i *isInstanceTemplatePrimaryNetworkAttachmentPtrType) ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplatePrimaryNetworkAttachmentPtrType) ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentOutput() IsInstanceTemplatePrimaryNetworkAttachmentOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return o.ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplatePrimaryNetworkAttachment) *IsInstanceTemplatePrimaryNetworkAttachment { + return &v + }).(IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) Deleteds() IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachment) []IsInstanceTemplatePrimaryNetworkAttachmentDeleted { + return v.Deleteds + }).(IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this instance network attachment. +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachment) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance network attachment. +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachment) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this instance network attachment. The name is unique across all network attachments for the instance. +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachment) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachment) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentOutput) VirtualNetworkInterface() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachment) *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterface + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentPtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) Elem() IsInstanceTemplatePrimaryNetworkAttachmentOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachment) IsInstanceTemplatePrimaryNetworkAttachment { + if v != nil { + return *v + } + var ret IsInstanceTemplatePrimaryNetworkAttachment + return ret + }).(IsInstanceTemplatePrimaryNetworkAttachmentOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) Deleteds() IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachment) []IsInstanceTemplatePrimaryNetworkAttachmentDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this instance network attachment. +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this instance network attachment. +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this instance network attachment. The name is unique across all network attachments for the instance. +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachment) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// A virtual network interface for the instance network attachment. This can be specified using an existing virtual network interface, or a prototype object for a new virtual network interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput) VirtualNetworkInterface() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachment) *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface { + if v == nil { + return nil + } + return v.VirtualNetworkInterface + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceTemplatePrimaryNetworkAttachmentDeletedInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentDeletedArgs and IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentDeletedInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentDeletedArgs{...} +type IsInstanceTemplatePrimaryNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceTemplatePrimaryNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentDeletedArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentDeletedArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput) +} + +// IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentDeletedArray and IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentDeletedArray{ IsInstanceTemplatePrimaryNetworkAttachmentDeletedArgs{...} } +type IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentDeletedArray []IsInstanceTemplatePrimaryNetworkAttachmentDeletedInput + +func (IsInstanceTemplatePrimaryNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentDeletedArray) ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentDeletedArray) ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplatePrimaryNetworkAttachmentDeleted { + return vs[0].([]IsInstanceTemplatePrimaryNetworkAttachmentDeleted)[vs[1].(int)] + }).(IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this instance network attachment. + Id *string `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name *string `pulumi:"name"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIps []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet id. + Subnet *string `pulumi:"subnet"` +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // The virtual network interface id for this instance network attachment. + Id pulumi.StringPtrInput `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIps IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput `pulumi:"protocolStateFilteringMode"` + // The resource group id for this virtual network interface. + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet id. + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput).ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs, IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtr and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput +} + +type isInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs + +func IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtr(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput { + return (*isInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType)(v) +} + +func (*isInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i *isInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrType) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface { + return &v + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this instance network attachment. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIps() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []string { + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Elem() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface { + if v != nil { + return *v + } + var ret IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface + return ret + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// The virtual network interface id for this instance network attachment. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Ips() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + if v == nil { + return nil + } + return v.Ips + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) PrimaryIps() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIps + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// The resource group id for this virtual network interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups for this virtual network interface. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet id. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{ IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Deleteds() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return v.Deleteds + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{ IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{...} } +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted { + return vs[0].([]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved ip will be automatically deleted when `target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved ip will be automatically deleted when `target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{ IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} } +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved ip will be automatically deleted when `target` is deleted. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *bool { + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Deleteds() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return vs[0].([]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray and IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{ IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray []IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted) *string { + return v.MoreInfo + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsInstanceTemplatePrimaryNetworkInterface struct { + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + Name *string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address *string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// IsInstanceTemplatePrimaryNetworkInterfaceInput is an input type that accepts IsInstanceTemplatePrimaryNetworkInterfaceArgs and IsInstanceTemplatePrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkInterfaceInput` via: +// +// IsInstanceTemplatePrimaryNetworkInterfaceArgs{...} +type IsInstanceTemplatePrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkInterfaceOutput() IsInstanceTemplatePrimaryNetworkInterfaceOutput + ToIsInstanceTemplatePrimaryNetworkInterfaceOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkInterfaceOutput +} + +type IsInstanceTemplatePrimaryNetworkInterfaceArgs struct { + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + Name pulumi.StringPtrInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIp IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead + PrimaryIpv4Address pulumi.StringPtrInput `pulumi:"primaryIpv4Address"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (IsInstanceTemplatePrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkInterfaceArgs) ToIsInstanceTemplatePrimaryNetworkInterfaceOutput() IsInstanceTemplatePrimaryNetworkInterfaceOutput { + return i.ToIsInstanceTemplatePrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkInterfaceArgs) ToIsInstanceTemplatePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkInterfaceOutput) +} + +func (i IsInstanceTemplatePrimaryNetworkInterfaceArgs) ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return i.ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkInterfaceArgs) ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkInterfaceOutput).ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsInstanceTemplatePrimaryNetworkInterfacePtrInput is an input type that accepts IsInstanceTemplatePrimaryNetworkInterfaceArgs, IsInstanceTemplatePrimaryNetworkInterfacePtr and IsInstanceTemplatePrimaryNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkInterfacePtrInput` via: +// +// IsInstanceTemplatePrimaryNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsInstanceTemplatePrimaryNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePtrOutput + ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkInterfacePtrOutput +} + +type isInstanceTemplatePrimaryNetworkInterfacePtrType IsInstanceTemplatePrimaryNetworkInterfaceArgs + +func IsInstanceTemplatePrimaryNetworkInterfacePtr(v *IsInstanceTemplatePrimaryNetworkInterfaceArgs) IsInstanceTemplatePrimaryNetworkInterfacePtrInput { + return (*isInstanceTemplatePrimaryNetworkInterfacePtrType)(v) +} + +func (*isInstanceTemplatePrimaryNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (i *isInstanceTemplatePrimaryNetworkInterfacePtrType) ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return i.ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplatePrimaryNetworkInterfacePtrType) ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) ToIsInstanceTemplatePrimaryNetworkInterfaceOutput() IsInstanceTemplatePrimaryNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) ToIsInstanceTemplatePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfaceOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return o.ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplatePrimaryNetworkInterface) *IsInstanceTemplatePrimaryNetworkInterface { + return &v + }).(IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) PrimaryIp() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterface) *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +// Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterface) *string { return v.PrimaryIpv4Address }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type IsInstanceTemplatePrimaryNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePtrOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) Elem() IsInstanceTemplatePrimaryNetworkInterfaceOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterface) IsInstanceTemplatePrimaryNetworkInterface { + if v != nil { + return *v + } + var ret IsInstanceTemplatePrimaryNetworkInterface + return ret + }).(IsInstanceTemplatePrimaryNetworkInterfaceOutput) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) PrimaryIp() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterface) *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +// Deprecated: primary_ipv4_address is deprecated and support will be removed. Use primaryIp instead +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) PrimaryIpv4Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return v.PrimaryIpv4Address + }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterface) *string { + if v == nil { + return nil + } + return &v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name *string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp *string `pulumi:"reservedIp"` +} + +// IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput is an input type that accepts IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs and IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput` via: +// +// IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs{...} +type IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput + ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput +} + +type IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringPtrInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` +} + +func (IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return i.ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) +} + +func (i IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput).ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs, IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtr and IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrInput` via: +// +// IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput + ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput +} + +type isInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrType IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs + +func IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtr(v *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrInput { + return (*isInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrType) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrType) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp { + return &v + }).(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) ToIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) Elem() IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp + return ret + }).(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateReservationAffinity struct { + // The reservation affinity policy to use for this virtual server instance. + Policy *string `pulumi:"policy"` + // The pool of reservations available for use by this virtual server instance. + Pools []IsInstanceTemplateReservationAffinityPool `pulumi:"pools"` +} + +// IsInstanceTemplateReservationAffinityInput is an input type that accepts IsInstanceTemplateReservationAffinityArgs and IsInstanceTemplateReservationAffinityOutput values. +// You can construct a concrete instance of `IsInstanceTemplateReservationAffinityInput` via: +// +// IsInstanceTemplateReservationAffinityArgs{...} +type IsInstanceTemplateReservationAffinityInput interface { + pulumi.Input + + ToIsInstanceTemplateReservationAffinityOutput() IsInstanceTemplateReservationAffinityOutput + ToIsInstanceTemplateReservationAffinityOutputWithContext(context.Context) IsInstanceTemplateReservationAffinityOutput +} + +type IsInstanceTemplateReservationAffinityArgs struct { + // The reservation affinity policy to use for this virtual server instance. + Policy pulumi.StringPtrInput `pulumi:"policy"` + // The pool of reservations available for use by this virtual server instance. + Pools IsInstanceTemplateReservationAffinityPoolArrayInput `pulumi:"pools"` +} + +func (IsInstanceTemplateReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateReservationAffinity)(nil)).Elem() +} + +func (i IsInstanceTemplateReservationAffinityArgs) ToIsInstanceTemplateReservationAffinityOutput() IsInstanceTemplateReservationAffinityOutput { + return i.ToIsInstanceTemplateReservationAffinityOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateReservationAffinityArgs) ToIsInstanceTemplateReservationAffinityOutputWithContext(ctx context.Context) IsInstanceTemplateReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateReservationAffinityOutput) +} + +// IsInstanceTemplateReservationAffinityArrayInput is an input type that accepts IsInstanceTemplateReservationAffinityArray and IsInstanceTemplateReservationAffinityArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateReservationAffinityArrayInput` via: +// +// IsInstanceTemplateReservationAffinityArray{ IsInstanceTemplateReservationAffinityArgs{...} } +type IsInstanceTemplateReservationAffinityArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateReservationAffinityArrayOutput() IsInstanceTemplateReservationAffinityArrayOutput + ToIsInstanceTemplateReservationAffinityArrayOutputWithContext(context.Context) IsInstanceTemplateReservationAffinityArrayOutput +} + +type IsInstanceTemplateReservationAffinityArray []IsInstanceTemplateReservationAffinityInput + +func (IsInstanceTemplateReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateReservationAffinity)(nil)).Elem() +} + +func (i IsInstanceTemplateReservationAffinityArray) ToIsInstanceTemplateReservationAffinityArrayOutput() IsInstanceTemplateReservationAffinityArrayOutput { + return i.ToIsInstanceTemplateReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateReservationAffinityArray) ToIsInstanceTemplateReservationAffinityArrayOutputWithContext(ctx context.Context) IsInstanceTemplateReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateReservationAffinityArrayOutput) +} + +type IsInstanceTemplateReservationAffinityOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateReservationAffinity)(nil)).Elem() +} + +func (o IsInstanceTemplateReservationAffinityOutput) ToIsInstanceTemplateReservationAffinityOutput() IsInstanceTemplateReservationAffinityOutput { + return o +} + +func (o IsInstanceTemplateReservationAffinityOutput) ToIsInstanceTemplateReservationAffinityOutputWithContext(ctx context.Context) IsInstanceTemplateReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this virtual server instance. +func (o IsInstanceTemplateReservationAffinityOutput) Policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateReservationAffinity) *string { return v.Policy }).(pulumi.StringPtrOutput) +} + +// The pool of reservations available for use by this virtual server instance. +func (o IsInstanceTemplateReservationAffinityOutput) Pools() IsInstanceTemplateReservationAffinityPoolArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateReservationAffinity) []IsInstanceTemplateReservationAffinityPool { + return v.Pools + }).(IsInstanceTemplateReservationAffinityPoolArrayOutput) +} + +type IsInstanceTemplateReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateReservationAffinity)(nil)).Elem() +} + +func (o IsInstanceTemplateReservationAffinityArrayOutput) ToIsInstanceTemplateReservationAffinityArrayOutput() IsInstanceTemplateReservationAffinityArrayOutput { + return o +} + +func (o IsInstanceTemplateReservationAffinityArrayOutput) ToIsInstanceTemplateReservationAffinityArrayOutputWithContext(ctx context.Context) IsInstanceTemplateReservationAffinityArrayOutput { + return o +} + +func (o IsInstanceTemplateReservationAffinityArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateReservationAffinity { + return vs[0].([]IsInstanceTemplateReservationAffinity)[vs[1].(int)] + }).(IsInstanceTemplateReservationAffinityOutput) +} + +type IsInstanceTemplateReservationAffinityPool struct { + // The unique identifier for this reservation. + Id *string `pulumi:"id"` +} + +// IsInstanceTemplateReservationAffinityPoolInput is an input type that accepts IsInstanceTemplateReservationAffinityPoolArgs and IsInstanceTemplateReservationAffinityPoolOutput values. +// You can construct a concrete instance of `IsInstanceTemplateReservationAffinityPoolInput` via: +// +// IsInstanceTemplateReservationAffinityPoolArgs{...} +type IsInstanceTemplateReservationAffinityPoolInput interface { + pulumi.Input + + ToIsInstanceTemplateReservationAffinityPoolOutput() IsInstanceTemplateReservationAffinityPoolOutput + ToIsInstanceTemplateReservationAffinityPoolOutputWithContext(context.Context) IsInstanceTemplateReservationAffinityPoolOutput +} + +type IsInstanceTemplateReservationAffinityPoolArgs struct { + // The unique identifier for this reservation. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IsInstanceTemplateReservationAffinityPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateReservationAffinityPool)(nil)).Elem() +} + +func (i IsInstanceTemplateReservationAffinityPoolArgs) ToIsInstanceTemplateReservationAffinityPoolOutput() IsInstanceTemplateReservationAffinityPoolOutput { + return i.ToIsInstanceTemplateReservationAffinityPoolOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateReservationAffinityPoolArgs) ToIsInstanceTemplateReservationAffinityPoolOutputWithContext(ctx context.Context) IsInstanceTemplateReservationAffinityPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateReservationAffinityPoolOutput) +} + +// IsInstanceTemplateReservationAffinityPoolArrayInput is an input type that accepts IsInstanceTemplateReservationAffinityPoolArray and IsInstanceTemplateReservationAffinityPoolArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateReservationAffinityPoolArrayInput` via: +// +// IsInstanceTemplateReservationAffinityPoolArray{ IsInstanceTemplateReservationAffinityPoolArgs{...} } +type IsInstanceTemplateReservationAffinityPoolArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateReservationAffinityPoolArrayOutput() IsInstanceTemplateReservationAffinityPoolArrayOutput + ToIsInstanceTemplateReservationAffinityPoolArrayOutputWithContext(context.Context) IsInstanceTemplateReservationAffinityPoolArrayOutput +} + +type IsInstanceTemplateReservationAffinityPoolArray []IsInstanceTemplateReservationAffinityPoolInput + +func (IsInstanceTemplateReservationAffinityPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateReservationAffinityPool)(nil)).Elem() +} + +func (i IsInstanceTemplateReservationAffinityPoolArray) ToIsInstanceTemplateReservationAffinityPoolArrayOutput() IsInstanceTemplateReservationAffinityPoolArrayOutput { + return i.ToIsInstanceTemplateReservationAffinityPoolArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateReservationAffinityPoolArray) ToIsInstanceTemplateReservationAffinityPoolArrayOutputWithContext(ctx context.Context) IsInstanceTemplateReservationAffinityPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateReservationAffinityPoolArrayOutput) +} + +type IsInstanceTemplateReservationAffinityPoolOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateReservationAffinityPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateReservationAffinityPool)(nil)).Elem() +} + +func (o IsInstanceTemplateReservationAffinityPoolOutput) ToIsInstanceTemplateReservationAffinityPoolOutput() IsInstanceTemplateReservationAffinityPoolOutput { + return o +} + +func (o IsInstanceTemplateReservationAffinityPoolOutput) ToIsInstanceTemplateReservationAffinityPoolOutputWithContext(ctx context.Context) IsInstanceTemplateReservationAffinityPoolOutput { + return o +} + +// The unique identifier for this reservation. +func (o IsInstanceTemplateReservationAffinityPoolOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateReservationAffinityPool) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateReservationAffinityPoolArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateReservationAffinityPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateReservationAffinityPool)(nil)).Elem() +} + +func (o IsInstanceTemplateReservationAffinityPoolArrayOutput) ToIsInstanceTemplateReservationAffinityPoolArrayOutput() IsInstanceTemplateReservationAffinityPoolArrayOutput { + return o +} + +func (o IsInstanceTemplateReservationAffinityPoolArrayOutput) ToIsInstanceTemplateReservationAffinityPoolArrayOutputWithContext(ctx context.Context) IsInstanceTemplateReservationAffinityPoolArrayOutput { + return o +} + +func (o IsInstanceTemplateReservationAffinityPoolArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateReservationAffinityPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateReservationAffinityPool { + return vs[0].([]IsInstanceTemplateReservationAffinityPool)[vs[1].(int)] + }).(IsInstanceTemplateReservationAffinityPoolOutput) +} + +type IsInstanceTemplateVolumeAttachment struct { + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete bool `pulumi:"deleteVolumeOnInstanceDelete"` + // The user-defined name for this volume attachment. + Name string `pulumi:"name"` + // The unique identifier for this volume. + Volume *string `pulumi:"volume"` + VolumePrototype *IsInstanceTemplateVolumeAttachmentVolumePrototype `pulumi:"volumePrototype"` +} + +// IsInstanceTemplateVolumeAttachmentInput is an input type that accepts IsInstanceTemplateVolumeAttachmentArgs and IsInstanceTemplateVolumeAttachmentOutput values. +// You can construct a concrete instance of `IsInstanceTemplateVolumeAttachmentInput` via: +// +// IsInstanceTemplateVolumeAttachmentArgs{...} +type IsInstanceTemplateVolumeAttachmentInput interface { + pulumi.Input + + ToIsInstanceTemplateVolumeAttachmentOutput() IsInstanceTemplateVolumeAttachmentOutput + ToIsInstanceTemplateVolumeAttachmentOutputWithContext(context.Context) IsInstanceTemplateVolumeAttachmentOutput +} + +type IsInstanceTemplateVolumeAttachmentArgs struct { + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete pulumi.BoolInput `pulumi:"deleteVolumeOnInstanceDelete"` + // The user-defined name for this volume attachment. + Name pulumi.StringInput `pulumi:"name"` + // The unique identifier for this volume. + Volume pulumi.StringPtrInput `pulumi:"volume"` + VolumePrototype IsInstanceTemplateVolumeAttachmentVolumePrototypePtrInput `pulumi:"volumePrototype"` +} + +func (IsInstanceTemplateVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateVolumeAttachment)(nil)).Elem() +} + +func (i IsInstanceTemplateVolumeAttachmentArgs) ToIsInstanceTemplateVolumeAttachmentOutput() IsInstanceTemplateVolumeAttachmentOutput { + return i.ToIsInstanceTemplateVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateVolumeAttachmentArgs) ToIsInstanceTemplateVolumeAttachmentOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateVolumeAttachmentOutput) +} + +// IsInstanceTemplateVolumeAttachmentArrayInput is an input type that accepts IsInstanceTemplateVolumeAttachmentArray and IsInstanceTemplateVolumeAttachmentArrayOutput values. +// You can construct a concrete instance of `IsInstanceTemplateVolumeAttachmentArrayInput` via: +// +// IsInstanceTemplateVolumeAttachmentArray{ IsInstanceTemplateVolumeAttachmentArgs{...} } +type IsInstanceTemplateVolumeAttachmentArrayInput interface { + pulumi.Input + + ToIsInstanceTemplateVolumeAttachmentArrayOutput() IsInstanceTemplateVolumeAttachmentArrayOutput + ToIsInstanceTemplateVolumeAttachmentArrayOutputWithContext(context.Context) IsInstanceTemplateVolumeAttachmentArrayOutput +} + +type IsInstanceTemplateVolumeAttachmentArray []IsInstanceTemplateVolumeAttachmentInput + +func (IsInstanceTemplateVolumeAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateVolumeAttachment)(nil)).Elem() +} + +func (i IsInstanceTemplateVolumeAttachmentArray) ToIsInstanceTemplateVolumeAttachmentArrayOutput() IsInstanceTemplateVolumeAttachmentArrayOutput { + return i.ToIsInstanceTemplateVolumeAttachmentArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateVolumeAttachmentArray) ToIsInstanceTemplateVolumeAttachmentArrayOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateVolumeAttachmentArrayOutput) +} + +type IsInstanceTemplateVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateVolumeAttachment)(nil)).Elem() +} + +func (o IsInstanceTemplateVolumeAttachmentOutput) ToIsInstanceTemplateVolumeAttachmentOutput() IsInstanceTemplateVolumeAttachmentOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentOutput) ToIsInstanceTemplateVolumeAttachmentOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentOutput { + return o +} + +// If set to true, when deleting the instance the volume will also be deleted. +func (o IsInstanceTemplateVolumeAttachmentOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachment) bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +// The user-defined name for this volume attachment. +func (o IsInstanceTemplateVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier for this volume. +func (o IsInstanceTemplateVolumeAttachmentOutput) Volume() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachment) *string { return v.Volume }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceTemplateVolumeAttachmentOutput) VolumePrototype() IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachment) *IsInstanceTemplateVolumeAttachmentVolumePrototype { + return v.VolumePrototype + }).(IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) +} + +type IsInstanceTemplateVolumeAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateVolumeAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceTemplateVolumeAttachment)(nil)).Elem() +} + +func (o IsInstanceTemplateVolumeAttachmentArrayOutput) ToIsInstanceTemplateVolumeAttachmentArrayOutput() IsInstanceTemplateVolumeAttachmentArrayOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentArrayOutput) ToIsInstanceTemplateVolumeAttachmentArrayOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentArrayOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentArrayOutput) Index(i pulumi.IntInput) IsInstanceTemplateVolumeAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceTemplateVolumeAttachment { + return vs[0].([]IsInstanceTemplateVolumeAttachment)[vs[1].(int)] + }).(IsInstanceTemplateVolumeAttachmentOutput) +} + +type IsInstanceTemplateVolumeAttachmentVolumePrototype struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth *int `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity int `pulumi:"capacity"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey *string `pulumi:"encryptionKey"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops *int `pulumi:"iops"` + // The globally unique name for the volume profile to use for this volume. + Profile string `pulumi:"profile"` + // The snapshot to use as a source for the volume's data. + SourceSnapshot *string `pulumi:"sourceSnapshot"` + // UserTags for the volume instance + Tags []string `pulumi:"tags"` +} + +// IsInstanceTemplateVolumeAttachmentVolumePrototypeInput is an input type that accepts IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs and IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput values. +// You can construct a concrete instance of `IsInstanceTemplateVolumeAttachmentVolumePrototypeInput` via: +// +// IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs{...} +type IsInstanceTemplateVolumeAttachmentVolumePrototypeInput interface { + pulumi.Input + + ToIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput + ToIsInstanceTemplateVolumeAttachmentVolumePrototypeOutputWithContext(context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput +} + +type IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrInput `pulumi:"allowedUse"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + Bandwidth pulumi.IntPtrInput `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity pulumi.IntInput `pulumi:"capacity"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringPtrInput `pulumi:"encryptionKey"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The globally unique name for the volume profile to use for this volume. + Profile pulumi.StringInput `pulumi:"profile"` + // The snapshot to use as a source for the volume's data. + SourceSnapshot pulumi.StringPtrInput `pulumi:"sourceSnapshot"` + // UserTags for the volume instance + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (i IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return i.ToIsInstanceTemplateVolumeAttachmentVolumePrototypeOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) +} + +func (i IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return i.ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput).ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(ctx) +} + +// IsInstanceTemplateVolumeAttachmentVolumePrototypePtrInput is an input type that accepts IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs, IsInstanceTemplateVolumeAttachmentVolumePrototypePtr and IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateVolumeAttachmentVolumePrototypePtrInput` via: +// +// IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateVolumeAttachmentVolumePrototypePtrInput interface { + pulumi.Input + + ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput + ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput +} + +type isInstanceTemplateVolumeAttachmentVolumePrototypePtrType IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs + +func IsInstanceTemplateVolumeAttachmentVolumePrototypePtr(v *IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) IsInstanceTemplateVolumeAttachmentVolumePrototypePtrInput { + return (*isInstanceTemplateVolumeAttachmentVolumePrototypePtrType)(v) +} + +func (*isInstanceTemplateVolumeAttachmentVolumePrototypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (i *isInstanceTemplateVolumeAttachmentVolumePrototypePtrType) ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return i.ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateVolumeAttachmentVolumePrototypePtrType) ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) +} + +type IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return o.ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateVolumeAttachmentVolumePrototype) *IsInstanceTemplateVolumeAttachmentVolumePrototype { + return &v + }).(IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) +} + +// The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) AllowedUse() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototype) *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse { + return v.AllowedUse + }).(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Bandwidth() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototype) *int { return v.Bandwidth }).(pulumi.IntPtrOutput) +} + +// The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Capacity() pulumi.IntOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototype) int { return v.Capacity }).(pulumi.IntOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) EncryptionKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototype) *string { return v.EncryptionKey }).(pulumi.StringPtrOutput) +} + +// The maximum I/O operations per second (IOPS) for the volume. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototype) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// The globally unique name for the volume profile to use for this volume. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototype) string { return v.Profile }).(pulumi.StringOutput) +} + +// The snapshot to use as a source for the volume's data. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) SourceSnapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototype) *string { return v.SourceSnapshot }).(pulumi.StringPtrOutput) +} + +// UserTags for the volume instance +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototype) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) Elem() IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) IsInstanceTemplateVolumeAttachmentVolumePrototype { + if v != nil { + return *v + } + var ret IsInstanceTemplateVolumeAttachmentVolumePrototype + return ret + }).(IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) +} + +// The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) AllowedUse() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse { + if v == nil { + return nil + } + return v.AllowedUse + }).(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) Bandwidth() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) *int { + if v == nil { + return nil + } + return v.Bandwidth + }).(pulumi.IntPtrOutput) +} + +// The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) Capacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) *int { + if v == nil { + return nil + } + return &v.Capacity + }).(pulumi.IntPtrOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) EncryptionKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) *string { + if v == nil { + return nil + } + return v.EncryptionKey + }).(pulumi.StringPtrOutput) +} + +// The maximum I/O operations per second (IOPS) for the volume. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) *int { + if v == nil { + return nil + } + return v.Iops + }).(pulumi.IntPtrOutput) +} + +// The globally unique name for the volume profile to use for this volume. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) *string { + if v == nil { + return nil + } + return &v.Profile + }).(pulumi.StringPtrOutput) +} + +// The snapshot to use as a source for the volume's data. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) SourceSnapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) *string { + if v == nil { + return nil + } + return v.SourceSnapshot + }).(pulumi.StringPtrOutput) +} + +// UserTags for the volume instance +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototype) []string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringArrayOutput) +} + +type IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance *string `pulumi:"instance"` +} + +// IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput is an input type that accepts IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs and IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput values. +// You can construct a concrete instance of `IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput` via: +// +// IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{...} +type IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput interface { + pulumi.Input + + ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput + ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput +} + +type IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringPtrInput `pulumi:"instance"` +} + +func (IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (i IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return i.ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) +} + +func (i IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return i.ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput).ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(ctx) +} + +// IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrInput is an input type that accepts IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs, IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtr and IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput values. +// You can construct a concrete instance of `IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrInput` via: +// +// IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{...} +// +// or: +// +// nil +type IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrInput interface { + pulumi.Input + + ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput + ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput +} + +type isInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrType IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs + +func IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtr(v *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrInput { + return (*isInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrType)(v) +} + +func (*isInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (i *isInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrType) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return i.ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrType) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) +} + +type IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return o.ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse { + return &v + }).(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) *string { return v.Instance }).(pulumi.StringPtrOutput) +} + +type IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) ToIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput { + return o +} + +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) Elem() IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse { + if v != nil { + return *v + } + var ret IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse + return ret + }).(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) *string { + if v == nil { + return nil + } + return v.ApiVersion + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) *string { + if v == nil { + return nil + } + return v.BareMetalServer + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) *string { + if v == nil { + return nil + } + return v.Instance + }).(pulumi.StringPtrOutput) +} + +type IsInstanceVcpus struct { + Architecture *string `pulumi:"architecture"` + Count *int `pulumi:"count"` + // The VCPU manufacturer + Manufacturer *string `pulumi:"manufacturer"` +} + +// IsInstanceVcpusInput is an input type that accepts IsInstanceVcpusArgs and IsInstanceVcpusOutput values. +// You can construct a concrete instance of `IsInstanceVcpusInput` via: +// +// IsInstanceVcpusArgs{...} +type IsInstanceVcpusInput interface { + pulumi.Input + + ToIsInstanceVcpusOutput() IsInstanceVcpusOutput + ToIsInstanceVcpusOutputWithContext(context.Context) IsInstanceVcpusOutput +} + +type IsInstanceVcpusArgs struct { + Architecture pulumi.StringPtrInput `pulumi:"architecture"` + Count pulumi.IntPtrInput `pulumi:"count"` + // The VCPU manufacturer + Manufacturer pulumi.StringPtrInput `pulumi:"manufacturer"` +} + +func (IsInstanceVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVcpus)(nil)).Elem() +} + +func (i IsInstanceVcpusArgs) ToIsInstanceVcpusOutput() IsInstanceVcpusOutput { + return i.ToIsInstanceVcpusOutputWithContext(context.Background()) +} + +func (i IsInstanceVcpusArgs) ToIsInstanceVcpusOutputWithContext(ctx context.Context) IsInstanceVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVcpusOutput) +} + +// IsInstanceVcpusArrayInput is an input type that accepts IsInstanceVcpusArray and IsInstanceVcpusArrayOutput values. +// You can construct a concrete instance of `IsInstanceVcpusArrayInput` via: +// +// IsInstanceVcpusArray{ IsInstanceVcpusArgs{...} } +type IsInstanceVcpusArrayInput interface { + pulumi.Input + + ToIsInstanceVcpusArrayOutput() IsInstanceVcpusArrayOutput + ToIsInstanceVcpusArrayOutputWithContext(context.Context) IsInstanceVcpusArrayOutput +} + +type IsInstanceVcpusArray []IsInstanceVcpusInput + +func (IsInstanceVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceVcpus)(nil)).Elem() +} + +func (i IsInstanceVcpusArray) ToIsInstanceVcpusArrayOutput() IsInstanceVcpusArrayOutput { + return i.ToIsInstanceVcpusArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceVcpusArray) ToIsInstanceVcpusArrayOutputWithContext(ctx context.Context) IsInstanceVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVcpusArrayOutput) +} + +type IsInstanceVcpusOutput struct{ *pulumi.OutputState } + +func (IsInstanceVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVcpus)(nil)).Elem() +} + +func (o IsInstanceVcpusOutput) ToIsInstanceVcpusOutput() IsInstanceVcpusOutput { + return o +} + +func (o IsInstanceVcpusOutput) ToIsInstanceVcpusOutputWithContext(ctx context.Context) IsInstanceVcpusOutput { + return o +} + +func (o IsInstanceVcpusOutput) Architecture() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVcpus) *string { return v.Architecture }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceVcpusOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceVcpus) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// The VCPU manufacturer +func (o IsInstanceVcpusOutput) Manufacturer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVcpus) *string { return v.Manufacturer }).(pulumi.StringPtrOutput) +} + +type IsInstanceVcpusArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceVcpus)(nil)).Elem() +} + +func (o IsInstanceVcpusArrayOutput) ToIsInstanceVcpusArrayOutput() IsInstanceVcpusArrayOutput { + return o +} + +func (o IsInstanceVcpusArrayOutput) ToIsInstanceVcpusArrayOutputWithContext(ctx context.Context) IsInstanceVcpusArrayOutput { + return o +} + +func (o IsInstanceVcpusArrayOutput) Index(i pulumi.IntInput) IsInstanceVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceVcpus { + return vs[0].([]IsInstanceVcpus)[vs[1].(int)] + }).(IsInstanceVcpusOutput) +} + +type IsInstanceVolumeAttachmentType struct { + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` + VolumeCrn *string `pulumi:"volumeCrn"` + VolumeId *string `pulumi:"volumeId"` + VolumeName *string `pulumi:"volumeName"` +} + +// IsInstanceVolumeAttachmentTypeInput is an input type that accepts IsInstanceVolumeAttachmentTypeArgs and IsInstanceVolumeAttachmentTypeOutput values. +// You can construct a concrete instance of `IsInstanceVolumeAttachmentTypeInput` via: +// +// IsInstanceVolumeAttachmentTypeArgs{...} +type IsInstanceVolumeAttachmentTypeInput interface { + pulumi.Input + + ToIsInstanceVolumeAttachmentTypeOutput() IsInstanceVolumeAttachmentTypeOutput + ToIsInstanceVolumeAttachmentTypeOutputWithContext(context.Context) IsInstanceVolumeAttachmentTypeOutput +} + +type IsInstanceVolumeAttachmentTypeArgs struct { + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` + VolumeCrn pulumi.StringPtrInput `pulumi:"volumeCrn"` + VolumeId pulumi.StringPtrInput `pulumi:"volumeId"` + VolumeName pulumi.StringPtrInput `pulumi:"volumeName"` +} + +func (IsInstanceVolumeAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVolumeAttachmentType)(nil)).Elem() +} + +func (i IsInstanceVolumeAttachmentTypeArgs) ToIsInstanceVolumeAttachmentTypeOutput() IsInstanceVolumeAttachmentTypeOutput { + return i.ToIsInstanceVolumeAttachmentTypeOutputWithContext(context.Background()) +} + +func (i IsInstanceVolumeAttachmentTypeArgs) ToIsInstanceVolumeAttachmentTypeOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumeAttachmentTypeOutput) +} + +// IsInstanceVolumeAttachmentTypeArrayInput is an input type that accepts IsInstanceVolumeAttachmentTypeArray and IsInstanceVolumeAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `IsInstanceVolumeAttachmentTypeArrayInput` via: +// +// IsInstanceVolumeAttachmentTypeArray{ IsInstanceVolumeAttachmentTypeArgs{...} } +type IsInstanceVolumeAttachmentTypeArrayInput interface { + pulumi.Input + + ToIsInstanceVolumeAttachmentTypeArrayOutput() IsInstanceVolumeAttachmentTypeArrayOutput + ToIsInstanceVolumeAttachmentTypeArrayOutputWithContext(context.Context) IsInstanceVolumeAttachmentTypeArrayOutput +} + +type IsInstanceVolumeAttachmentTypeArray []IsInstanceVolumeAttachmentTypeInput + +func (IsInstanceVolumeAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceVolumeAttachmentType)(nil)).Elem() +} + +func (i IsInstanceVolumeAttachmentTypeArray) ToIsInstanceVolumeAttachmentTypeArrayOutput() IsInstanceVolumeAttachmentTypeArrayOutput { + return i.ToIsInstanceVolumeAttachmentTypeArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceVolumeAttachmentTypeArray) ToIsInstanceVolumeAttachmentTypeArrayOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumeAttachmentTypeArrayOutput) +} + +type IsInstanceVolumeAttachmentTypeOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumeAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVolumeAttachmentType)(nil)).Elem() +} + +func (o IsInstanceVolumeAttachmentTypeOutput) ToIsInstanceVolumeAttachmentTypeOutput() IsInstanceVolumeAttachmentTypeOutput { + return o +} + +func (o IsInstanceVolumeAttachmentTypeOutput) ToIsInstanceVolumeAttachmentTypeOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentTypeOutput { + return o +} + +func (o IsInstanceVolumeAttachmentTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumeAttachmentType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceVolumeAttachmentTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumeAttachmentType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceVolumeAttachmentTypeOutput) VolumeCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumeAttachmentType) *string { return v.VolumeCrn }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceVolumeAttachmentTypeOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumeAttachmentType) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceVolumeAttachmentTypeOutput) VolumeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumeAttachmentType) *string { return v.VolumeName }).(pulumi.StringPtrOutput) +} + +type IsInstanceVolumeAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumeAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceVolumeAttachmentType)(nil)).Elem() +} + +func (o IsInstanceVolumeAttachmentTypeArrayOutput) ToIsInstanceVolumeAttachmentTypeArrayOutput() IsInstanceVolumeAttachmentTypeArrayOutput { + return o +} + +func (o IsInstanceVolumeAttachmentTypeArrayOutput) ToIsInstanceVolumeAttachmentTypeArrayOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentTypeArrayOutput { + return o +} + +func (o IsInstanceVolumeAttachmentTypeArrayOutput) Index(i pulumi.IntInput) IsInstanceVolumeAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceVolumeAttachmentType { + return vs[0].([]IsInstanceVolumeAttachmentType)[vs[1].(int)] + }).(IsInstanceVolumeAttachmentTypeOutput) +} + +type IsInstanceVolumeAttachmentAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance *string `pulumi:"instance"` +} + +// IsInstanceVolumeAttachmentAllowedUseInput is an input type that accepts IsInstanceVolumeAttachmentAllowedUseArgs and IsInstanceVolumeAttachmentAllowedUseOutput values. +// You can construct a concrete instance of `IsInstanceVolumeAttachmentAllowedUseInput` via: +// +// IsInstanceVolumeAttachmentAllowedUseArgs{...} +type IsInstanceVolumeAttachmentAllowedUseInput interface { + pulumi.Input + + ToIsInstanceVolumeAttachmentAllowedUseOutput() IsInstanceVolumeAttachmentAllowedUseOutput + ToIsInstanceVolumeAttachmentAllowedUseOutputWithContext(context.Context) IsInstanceVolumeAttachmentAllowedUseOutput +} + +type IsInstanceVolumeAttachmentAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringPtrInput `pulumi:"instance"` +} + +func (IsInstanceVolumeAttachmentAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (i IsInstanceVolumeAttachmentAllowedUseArgs) ToIsInstanceVolumeAttachmentAllowedUseOutput() IsInstanceVolumeAttachmentAllowedUseOutput { + return i.ToIsInstanceVolumeAttachmentAllowedUseOutputWithContext(context.Background()) +} + +func (i IsInstanceVolumeAttachmentAllowedUseArgs) ToIsInstanceVolumeAttachmentAllowedUseOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumeAttachmentAllowedUseOutput) +} + +func (i IsInstanceVolumeAttachmentAllowedUseArgs) ToIsInstanceVolumeAttachmentAllowedUsePtrOutput() IsInstanceVolumeAttachmentAllowedUsePtrOutput { + return i.ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceVolumeAttachmentAllowedUseArgs) ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumeAttachmentAllowedUseOutput).ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(ctx) +} + +// IsInstanceVolumeAttachmentAllowedUsePtrInput is an input type that accepts IsInstanceVolumeAttachmentAllowedUseArgs, IsInstanceVolumeAttachmentAllowedUsePtr and IsInstanceVolumeAttachmentAllowedUsePtrOutput values. +// You can construct a concrete instance of `IsInstanceVolumeAttachmentAllowedUsePtrInput` via: +// +// IsInstanceVolumeAttachmentAllowedUseArgs{...} +// +// or: +// +// nil +type IsInstanceVolumeAttachmentAllowedUsePtrInput interface { + pulumi.Input + + ToIsInstanceVolumeAttachmentAllowedUsePtrOutput() IsInstanceVolumeAttachmentAllowedUsePtrOutput + ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(context.Context) IsInstanceVolumeAttachmentAllowedUsePtrOutput +} + +type isInstanceVolumeAttachmentAllowedUsePtrType IsInstanceVolumeAttachmentAllowedUseArgs + +func IsInstanceVolumeAttachmentAllowedUsePtr(v *IsInstanceVolumeAttachmentAllowedUseArgs) IsInstanceVolumeAttachmentAllowedUsePtrInput { + return (*isInstanceVolumeAttachmentAllowedUsePtrType)(v) +} + +func (*isInstanceVolumeAttachmentAllowedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (i *isInstanceVolumeAttachmentAllowedUsePtrType) ToIsInstanceVolumeAttachmentAllowedUsePtrOutput() IsInstanceVolumeAttachmentAllowedUsePtrOutput { + return i.ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceVolumeAttachmentAllowedUsePtrType) ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumeAttachmentAllowedUsePtrOutput) +} + +type IsInstanceVolumeAttachmentAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumeAttachmentAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (o IsInstanceVolumeAttachmentAllowedUseOutput) ToIsInstanceVolumeAttachmentAllowedUseOutput() IsInstanceVolumeAttachmentAllowedUseOutput { + return o +} + +func (o IsInstanceVolumeAttachmentAllowedUseOutput) ToIsInstanceVolumeAttachmentAllowedUseOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentAllowedUseOutput { + return o +} + +func (o IsInstanceVolumeAttachmentAllowedUseOutput) ToIsInstanceVolumeAttachmentAllowedUsePtrOutput() IsInstanceVolumeAttachmentAllowedUsePtrOutput { + return o.ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceVolumeAttachmentAllowedUseOutput) ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentAllowedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceVolumeAttachmentAllowedUse) *IsInstanceVolumeAttachmentAllowedUse { + return &v + }).(IsInstanceVolumeAttachmentAllowedUsePtrOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceVolumeAttachmentAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumeAttachmentAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceVolumeAttachmentAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumeAttachmentAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceVolumeAttachmentAllowedUseOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumeAttachmentAllowedUse) *string { return v.Instance }).(pulumi.StringPtrOutput) +} + +type IsInstanceVolumeAttachmentAllowedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumeAttachmentAllowedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (o IsInstanceVolumeAttachmentAllowedUsePtrOutput) ToIsInstanceVolumeAttachmentAllowedUsePtrOutput() IsInstanceVolumeAttachmentAllowedUsePtrOutput { + return o +} + +func (o IsInstanceVolumeAttachmentAllowedUsePtrOutput) ToIsInstanceVolumeAttachmentAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceVolumeAttachmentAllowedUsePtrOutput { + return o +} + +func (o IsInstanceVolumeAttachmentAllowedUsePtrOutput) Elem() IsInstanceVolumeAttachmentAllowedUseOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachmentAllowedUse) IsInstanceVolumeAttachmentAllowedUse { + if v != nil { + return *v + } + var ret IsInstanceVolumeAttachmentAllowedUse + return ret + }).(IsInstanceVolumeAttachmentAllowedUseOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceVolumeAttachmentAllowedUsePtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachmentAllowedUse) *string { + if v == nil { + return nil + } + return v.ApiVersion + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceVolumeAttachmentAllowedUsePtrOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachmentAllowedUse) *string { + if v == nil { + return nil + } + return v.BareMetalServer + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceVolumeAttachmentAllowedUsePtrOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceVolumeAttachmentAllowedUse) *string { + if v == nil { + return nil + } + return v.Instance + }).(pulumi.StringPtrOutput) +} + +type IsInstanceVolumePrototype struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse *IsInstanceVolumePrototypeAllowedUse `pulumi:"allowedUse"` + DeleteVolumeOnInstanceDelete *bool `pulumi:"deleteVolumeOnInstanceDelete"` + Id *string `pulumi:"id"` + Name string `pulumi:"name"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + VolumeBandwidth *int `pulumi:"volumeBandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + VolumeCapacity *int `pulumi:"volumeCapacity"` + VolumeCrn *string `pulumi:"volumeCrn"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + VolumeEncryptionKey *string `pulumi:"volumeEncryptionKey"` + VolumeId *string `pulumi:"volumeId"` + // The maximum I/O operations per second (IOPS) for the volume. + VolumeIops *int `pulumi:"volumeIops"` + VolumeName *string `pulumi:"volumeName"` + // The globally unique name for the volume profile to use for this volume. + VolumeProfile *string `pulumi:"volumeProfile"` + VolumeResourceType *string `pulumi:"volumeResourceType"` + // The snapshot from which to clone the volume + VolumeSourceSnapshot *string `pulumi:"volumeSourceSnapshot"` + // UserTags for the volume instance + VolumeTags []string `pulumi:"volumeTags"` +} + +// IsInstanceVolumePrototypeInput is an input type that accepts IsInstanceVolumePrototypeArgs and IsInstanceVolumePrototypeOutput values. +// You can construct a concrete instance of `IsInstanceVolumePrototypeInput` via: +// +// IsInstanceVolumePrototypeArgs{...} +type IsInstanceVolumePrototypeInput interface { + pulumi.Input + + ToIsInstanceVolumePrototypeOutput() IsInstanceVolumePrototypeOutput + ToIsInstanceVolumePrototypeOutputWithContext(context.Context) IsInstanceVolumePrototypeOutput +} + +type IsInstanceVolumePrototypeArgs struct { + // The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. + AllowedUse IsInstanceVolumePrototypeAllowedUsePtrInput `pulumi:"allowedUse"` + DeleteVolumeOnInstanceDelete pulumi.BoolPtrInput `pulumi:"deleteVolumeOnInstanceDelete"` + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. + VolumeBandwidth pulumi.IntPtrInput `pulumi:"volumeBandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + VolumeCapacity pulumi.IntPtrInput `pulumi:"volumeCapacity"` + VolumeCrn pulumi.StringPtrInput `pulumi:"volumeCrn"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + VolumeEncryptionKey pulumi.StringPtrInput `pulumi:"volumeEncryptionKey"` + VolumeId pulumi.StringPtrInput `pulumi:"volumeId"` + // The maximum I/O operations per second (IOPS) for the volume. + VolumeIops pulumi.IntPtrInput `pulumi:"volumeIops"` + VolumeName pulumi.StringPtrInput `pulumi:"volumeName"` + // The globally unique name for the volume profile to use for this volume. + VolumeProfile pulumi.StringPtrInput `pulumi:"volumeProfile"` + VolumeResourceType pulumi.StringPtrInput `pulumi:"volumeResourceType"` + // The snapshot from which to clone the volume + VolumeSourceSnapshot pulumi.StringPtrInput `pulumi:"volumeSourceSnapshot"` + // UserTags for the volume instance + VolumeTags pulumi.StringArrayInput `pulumi:"volumeTags"` +} + +func (IsInstanceVolumePrototypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVolumePrototype)(nil)).Elem() +} + +func (i IsInstanceVolumePrototypeArgs) ToIsInstanceVolumePrototypeOutput() IsInstanceVolumePrototypeOutput { + return i.ToIsInstanceVolumePrototypeOutputWithContext(context.Background()) +} + +func (i IsInstanceVolumePrototypeArgs) ToIsInstanceVolumePrototypeOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumePrototypeOutput) +} + +// IsInstanceVolumePrototypeArrayInput is an input type that accepts IsInstanceVolumePrototypeArray and IsInstanceVolumePrototypeArrayOutput values. +// You can construct a concrete instance of `IsInstanceVolumePrototypeArrayInput` via: +// +// IsInstanceVolumePrototypeArray{ IsInstanceVolumePrototypeArgs{...} } +type IsInstanceVolumePrototypeArrayInput interface { + pulumi.Input + + ToIsInstanceVolumePrototypeArrayOutput() IsInstanceVolumePrototypeArrayOutput + ToIsInstanceVolumePrototypeArrayOutputWithContext(context.Context) IsInstanceVolumePrototypeArrayOutput +} + +type IsInstanceVolumePrototypeArray []IsInstanceVolumePrototypeInput + +func (IsInstanceVolumePrototypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceVolumePrototype)(nil)).Elem() +} + +func (i IsInstanceVolumePrototypeArray) ToIsInstanceVolumePrototypeArrayOutput() IsInstanceVolumePrototypeArrayOutput { + return i.ToIsInstanceVolumePrototypeArrayOutputWithContext(context.Background()) +} + +func (i IsInstanceVolumePrototypeArray) ToIsInstanceVolumePrototypeArrayOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumePrototypeArrayOutput) +} + +type IsInstanceVolumePrototypeOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumePrototypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVolumePrototype)(nil)).Elem() +} + +func (o IsInstanceVolumePrototypeOutput) ToIsInstanceVolumePrototypeOutput() IsInstanceVolumePrototypeOutput { + return o +} + +func (o IsInstanceVolumePrototypeOutput) ToIsInstanceVolumePrototypeOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeOutput { + return o +} + +// The usage constraints to be matched against requested instance or bare metal server properties to determine compatibility. +func (o IsInstanceVolumePrototypeOutput) AllowedUse() IsInstanceVolumePrototypeAllowedUsePtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *IsInstanceVolumePrototypeAllowedUse { return v.AllowedUse }).(IsInstanceVolumePrototypeAllowedUsePtrOutput) +} + +func (o IsInstanceVolumePrototypeOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolPtrOutput) +} + +func (o IsInstanceVolumePrototypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceVolumePrototypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) string { return v.Name }).(pulumi.StringOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. For this property to be specified, the volume storageGeneration must be 2. +func (o IsInstanceVolumePrototypeOutput) VolumeBandwidth() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *int { return v.VolumeBandwidth }).(pulumi.IntPtrOutput) +} + +// The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. +func (o IsInstanceVolumePrototypeOutput) VolumeCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *int { return v.VolumeCapacity }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceVolumePrototypeOutput) VolumeCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *string { return v.VolumeCrn }).(pulumi.StringPtrOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o IsInstanceVolumePrototypeOutput) VolumeEncryptionKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *string { return v.VolumeEncryptionKey }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceVolumePrototypeOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +} + +// The maximum I/O operations per second (IOPS) for the volume. +func (o IsInstanceVolumePrototypeOutput) VolumeIops() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *int { return v.VolumeIops }).(pulumi.IntPtrOutput) +} + +func (o IsInstanceVolumePrototypeOutput) VolumeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *string { return v.VolumeName }).(pulumi.StringPtrOutput) +} + +// The globally unique name for the volume profile to use for this volume. +func (o IsInstanceVolumePrototypeOutput) VolumeProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *string { return v.VolumeProfile }).(pulumi.StringPtrOutput) +} + +func (o IsInstanceVolumePrototypeOutput) VolumeResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *string { return v.VolumeResourceType }).(pulumi.StringPtrOutput) +} + +// The snapshot from which to clone the volume +func (o IsInstanceVolumePrototypeOutput) VolumeSourceSnapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) *string { return v.VolumeSourceSnapshot }).(pulumi.StringPtrOutput) +} + +// UserTags for the volume instance +func (o IsInstanceVolumePrototypeOutput) VolumeTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsInstanceVolumePrototype) []string { return v.VolumeTags }).(pulumi.StringArrayOutput) +} + +type IsInstanceVolumePrototypeArrayOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumePrototypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsInstanceVolumePrototype)(nil)).Elem() +} + +func (o IsInstanceVolumePrototypeArrayOutput) ToIsInstanceVolumePrototypeArrayOutput() IsInstanceVolumePrototypeArrayOutput { + return o +} + +func (o IsInstanceVolumePrototypeArrayOutput) ToIsInstanceVolumePrototypeArrayOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeArrayOutput { + return o +} + +func (o IsInstanceVolumePrototypeArrayOutput) Index(i pulumi.IntInput) IsInstanceVolumePrototypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsInstanceVolumePrototype { + return vs[0].([]IsInstanceVolumePrototype)[vs[1].(int)] + }).(IsInstanceVolumePrototypeOutput) +} + +type IsInstanceVolumePrototypeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance *string `pulumi:"instance"` +} + +// IsInstanceVolumePrototypeAllowedUseInput is an input type that accepts IsInstanceVolumePrototypeAllowedUseArgs and IsInstanceVolumePrototypeAllowedUseOutput values. +// You can construct a concrete instance of `IsInstanceVolumePrototypeAllowedUseInput` via: +// +// IsInstanceVolumePrototypeAllowedUseArgs{...} +type IsInstanceVolumePrototypeAllowedUseInput interface { + pulumi.Input + + ToIsInstanceVolumePrototypeAllowedUseOutput() IsInstanceVolumePrototypeAllowedUseOutput + ToIsInstanceVolumePrototypeAllowedUseOutputWithContext(context.Context) IsInstanceVolumePrototypeAllowedUseOutput +} + +type IsInstanceVolumePrototypeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringPtrInput `pulumi:"instance"` +} + +func (IsInstanceVolumePrototypeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (i IsInstanceVolumePrototypeAllowedUseArgs) ToIsInstanceVolumePrototypeAllowedUseOutput() IsInstanceVolumePrototypeAllowedUseOutput { + return i.ToIsInstanceVolumePrototypeAllowedUseOutputWithContext(context.Background()) +} + +func (i IsInstanceVolumePrototypeAllowedUseArgs) ToIsInstanceVolumePrototypeAllowedUseOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumePrototypeAllowedUseOutput) +} + +func (i IsInstanceVolumePrototypeAllowedUseArgs) ToIsInstanceVolumePrototypeAllowedUsePtrOutput() IsInstanceVolumePrototypeAllowedUsePtrOutput { + return i.ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i IsInstanceVolumePrototypeAllowedUseArgs) ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumePrototypeAllowedUseOutput).ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(ctx) +} + +// IsInstanceVolumePrototypeAllowedUsePtrInput is an input type that accepts IsInstanceVolumePrototypeAllowedUseArgs, IsInstanceVolumePrototypeAllowedUsePtr and IsInstanceVolumePrototypeAllowedUsePtrOutput values. +// You can construct a concrete instance of `IsInstanceVolumePrototypeAllowedUsePtrInput` via: +// +// IsInstanceVolumePrototypeAllowedUseArgs{...} +// +// or: +// +// nil +type IsInstanceVolumePrototypeAllowedUsePtrInput interface { + pulumi.Input + + ToIsInstanceVolumePrototypeAllowedUsePtrOutput() IsInstanceVolumePrototypeAllowedUsePtrOutput + ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(context.Context) IsInstanceVolumePrototypeAllowedUsePtrOutput +} + +type isInstanceVolumePrototypeAllowedUsePtrType IsInstanceVolumePrototypeAllowedUseArgs + +func IsInstanceVolumePrototypeAllowedUsePtr(v *IsInstanceVolumePrototypeAllowedUseArgs) IsInstanceVolumePrototypeAllowedUsePtrInput { + return (*isInstanceVolumePrototypeAllowedUsePtrType)(v) +} + +func (*isInstanceVolumePrototypeAllowedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (i *isInstanceVolumePrototypeAllowedUsePtrType) ToIsInstanceVolumePrototypeAllowedUsePtrOutput() IsInstanceVolumePrototypeAllowedUsePtrOutput { + return i.ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i *isInstanceVolumePrototypeAllowedUsePtrType) ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsInstanceVolumePrototypeAllowedUsePtrOutput) +} + +type IsInstanceVolumePrototypeAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumePrototypeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsInstanceVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (o IsInstanceVolumePrototypeAllowedUseOutput) ToIsInstanceVolumePrototypeAllowedUseOutput() IsInstanceVolumePrototypeAllowedUseOutput { + return o +} + +func (o IsInstanceVolumePrototypeAllowedUseOutput) ToIsInstanceVolumePrototypeAllowedUseOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeAllowedUseOutput { + return o +} + +func (o IsInstanceVolumePrototypeAllowedUseOutput) ToIsInstanceVolumePrototypeAllowedUsePtrOutput() IsInstanceVolumePrototypeAllowedUsePtrOutput { + return o.ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (o IsInstanceVolumePrototypeAllowedUseOutput) ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeAllowedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsInstanceVolumePrototypeAllowedUse) *IsInstanceVolumePrototypeAllowedUse { + return &v + }).(IsInstanceVolumePrototypeAllowedUsePtrOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceVolumePrototypeAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototypeAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceVolumePrototypeAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototypeAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceVolumePrototypeAllowedUseOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsInstanceVolumePrototypeAllowedUse) *string { return v.Instance }).(pulumi.StringPtrOutput) +} + +type IsInstanceVolumePrototypeAllowedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsInstanceVolumePrototypeAllowedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsInstanceVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (o IsInstanceVolumePrototypeAllowedUsePtrOutput) ToIsInstanceVolumePrototypeAllowedUsePtrOutput() IsInstanceVolumePrototypeAllowedUsePtrOutput { + return o +} + +func (o IsInstanceVolumePrototypeAllowedUsePtrOutput) ToIsInstanceVolumePrototypeAllowedUsePtrOutputWithContext(ctx context.Context) IsInstanceVolumePrototypeAllowedUsePtrOutput { + return o +} + +func (o IsInstanceVolumePrototypeAllowedUsePtrOutput) Elem() IsInstanceVolumePrototypeAllowedUseOutput { + return o.ApplyT(func(v *IsInstanceVolumePrototypeAllowedUse) IsInstanceVolumePrototypeAllowedUse { + if v != nil { + return *v + } + var ret IsInstanceVolumePrototypeAllowedUse + return ret + }).(IsInstanceVolumePrototypeAllowedUseOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsInstanceVolumePrototypeAllowedUsePtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceVolumePrototypeAllowedUse) *string { + if v == nil { + return nil + } + return v.ApiVersion + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsInstanceVolumePrototypeAllowedUsePtrOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceVolumePrototypeAllowedUse) *string { + if v == nil { + return nil + } + return v.BareMetalServer + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsInstanceVolumePrototypeAllowedUsePtrOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsInstanceVolumePrototypeAllowedUse) *string { + if v == nil { + return nil + } + return v.Instance + }).(pulumi.StringPtrOutput) +} + +type IsIpsecPolicyVpnConnection struct { + Href *string `pulumi:"href"` + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` +} + +// IsIpsecPolicyVpnConnectionInput is an input type that accepts IsIpsecPolicyVpnConnectionArgs and IsIpsecPolicyVpnConnectionOutput values. +// You can construct a concrete instance of `IsIpsecPolicyVpnConnectionInput` via: +// +// IsIpsecPolicyVpnConnectionArgs{...} +type IsIpsecPolicyVpnConnectionInput interface { + pulumi.Input + + ToIsIpsecPolicyVpnConnectionOutput() IsIpsecPolicyVpnConnectionOutput + ToIsIpsecPolicyVpnConnectionOutputWithContext(context.Context) IsIpsecPolicyVpnConnectionOutput +} + +type IsIpsecPolicyVpnConnectionArgs struct { + Href pulumi.StringPtrInput `pulumi:"href"` + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsIpsecPolicyVpnConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsIpsecPolicyVpnConnection)(nil)).Elem() +} + +func (i IsIpsecPolicyVpnConnectionArgs) ToIsIpsecPolicyVpnConnectionOutput() IsIpsecPolicyVpnConnectionOutput { + return i.ToIsIpsecPolicyVpnConnectionOutputWithContext(context.Background()) +} + +func (i IsIpsecPolicyVpnConnectionArgs) ToIsIpsecPolicyVpnConnectionOutputWithContext(ctx context.Context) IsIpsecPolicyVpnConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsIpsecPolicyVpnConnectionOutput) +} + +// IsIpsecPolicyVpnConnectionArrayInput is an input type that accepts IsIpsecPolicyVpnConnectionArray and IsIpsecPolicyVpnConnectionArrayOutput values. +// You can construct a concrete instance of `IsIpsecPolicyVpnConnectionArrayInput` via: +// +// IsIpsecPolicyVpnConnectionArray{ IsIpsecPolicyVpnConnectionArgs{...} } +type IsIpsecPolicyVpnConnectionArrayInput interface { + pulumi.Input + + ToIsIpsecPolicyVpnConnectionArrayOutput() IsIpsecPolicyVpnConnectionArrayOutput + ToIsIpsecPolicyVpnConnectionArrayOutputWithContext(context.Context) IsIpsecPolicyVpnConnectionArrayOutput +} + +type IsIpsecPolicyVpnConnectionArray []IsIpsecPolicyVpnConnectionInput + +func (IsIpsecPolicyVpnConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsIpsecPolicyVpnConnection)(nil)).Elem() +} + +func (i IsIpsecPolicyVpnConnectionArray) ToIsIpsecPolicyVpnConnectionArrayOutput() IsIpsecPolicyVpnConnectionArrayOutput { + return i.ToIsIpsecPolicyVpnConnectionArrayOutputWithContext(context.Background()) +} + +func (i IsIpsecPolicyVpnConnectionArray) ToIsIpsecPolicyVpnConnectionArrayOutputWithContext(ctx context.Context) IsIpsecPolicyVpnConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsIpsecPolicyVpnConnectionArrayOutput) +} + +type IsIpsecPolicyVpnConnectionOutput struct{ *pulumi.OutputState } + +func (IsIpsecPolicyVpnConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsIpsecPolicyVpnConnection)(nil)).Elem() +} + +func (o IsIpsecPolicyVpnConnectionOutput) ToIsIpsecPolicyVpnConnectionOutput() IsIpsecPolicyVpnConnectionOutput { + return o +} + +func (o IsIpsecPolicyVpnConnectionOutput) ToIsIpsecPolicyVpnConnectionOutputWithContext(ctx context.Context) IsIpsecPolicyVpnConnectionOutput { + return o +} + +func (o IsIpsecPolicyVpnConnectionOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsIpsecPolicyVpnConnection) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +func (o IsIpsecPolicyVpnConnectionOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsIpsecPolicyVpnConnection) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IsIpsecPolicyVpnConnectionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsIpsecPolicyVpnConnection) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsIpsecPolicyVpnConnectionArrayOutput struct{ *pulumi.OutputState } + +func (IsIpsecPolicyVpnConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsIpsecPolicyVpnConnection)(nil)).Elem() +} + +func (o IsIpsecPolicyVpnConnectionArrayOutput) ToIsIpsecPolicyVpnConnectionArrayOutput() IsIpsecPolicyVpnConnectionArrayOutput { + return o +} + +func (o IsIpsecPolicyVpnConnectionArrayOutput) ToIsIpsecPolicyVpnConnectionArrayOutputWithContext(ctx context.Context) IsIpsecPolicyVpnConnectionArrayOutput { + return o +} + +func (o IsIpsecPolicyVpnConnectionArrayOutput) Index(i pulumi.IntInput) IsIpsecPolicyVpnConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsIpsecPolicyVpnConnection { + return vs[0].([]IsIpsecPolicyVpnConnection)[vs[1].(int)] + }).(IsIpsecPolicyVpnConnectionOutput) +} + +type IsLbAttachedLoadBalancerPoolMember struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsLbAttachedLoadBalancerPoolMemberDeleted `pulumi:"deleteds"` + // The URL for this load balancer pool member. + Href *string `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id *string `pulumi:"id"` +} + +// IsLbAttachedLoadBalancerPoolMemberInput is an input type that accepts IsLbAttachedLoadBalancerPoolMemberArgs and IsLbAttachedLoadBalancerPoolMemberOutput values. +// You can construct a concrete instance of `IsLbAttachedLoadBalancerPoolMemberInput` via: +// +// IsLbAttachedLoadBalancerPoolMemberArgs{...} +type IsLbAttachedLoadBalancerPoolMemberInput interface { + pulumi.Input + + ToIsLbAttachedLoadBalancerPoolMemberOutput() IsLbAttachedLoadBalancerPoolMemberOutput + ToIsLbAttachedLoadBalancerPoolMemberOutputWithContext(context.Context) IsLbAttachedLoadBalancerPoolMemberOutput +} + +type IsLbAttachedLoadBalancerPoolMemberArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsLbAttachedLoadBalancerPoolMemberDeletedArrayInput `pulumi:"deleteds"` + // The URL for this load balancer pool member. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (IsLbAttachedLoadBalancerPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (i IsLbAttachedLoadBalancerPoolMemberArgs) ToIsLbAttachedLoadBalancerPoolMemberOutput() IsLbAttachedLoadBalancerPoolMemberOutput { + return i.ToIsLbAttachedLoadBalancerPoolMemberOutputWithContext(context.Background()) +} + +func (i IsLbAttachedLoadBalancerPoolMemberArgs) ToIsLbAttachedLoadBalancerPoolMemberOutputWithContext(ctx context.Context) IsLbAttachedLoadBalancerPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbAttachedLoadBalancerPoolMemberOutput) +} + +// IsLbAttachedLoadBalancerPoolMemberArrayInput is an input type that accepts IsLbAttachedLoadBalancerPoolMemberArray and IsLbAttachedLoadBalancerPoolMemberArrayOutput values. +// You can construct a concrete instance of `IsLbAttachedLoadBalancerPoolMemberArrayInput` via: +// +// IsLbAttachedLoadBalancerPoolMemberArray{ IsLbAttachedLoadBalancerPoolMemberArgs{...} } +type IsLbAttachedLoadBalancerPoolMemberArrayInput interface { + pulumi.Input + + ToIsLbAttachedLoadBalancerPoolMemberArrayOutput() IsLbAttachedLoadBalancerPoolMemberArrayOutput + ToIsLbAttachedLoadBalancerPoolMemberArrayOutputWithContext(context.Context) IsLbAttachedLoadBalancerPoolMemberArrayOutput +} + +type IsLbAttachedLoadBalancerPoolMemberArray []IsLbAttachedLoadBalancerPoolMemberInput + +func (IsLbAttachedLoadBalancerPoolMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (i IsLbAttachedLoadBalancerPoolMemberArray) ToIsLbAttachedLoadBalancerPoolMemberArrayOutput() IsLbAttachedLoadBalancerPoolMemberArrayOutput { + return i.ToIsLbAttachedLoadBalancerPoolMemberArrayOutputWithContext(context.Background()) +} + +func (i IsLbAttachedLoadBalancerPoolMemberArray) ToIsLbAttachedLoadBalancerPoolMemberArrayOutputWithContext(ctx context.Context) IsLbAttachedLoadBalancerPoolMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbAttachedLoadBalancerPoolMemberArrayOutput) +} + +type IsLbAttachedLoadBalancerPoolMemberOutput struct{ *pulumi.OutputState } + +func (IsLbAttachedLoadBalancerPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (o IsLbAttachedLoadBalancerPoolMemberOutput) ToIsLbAttachedLoadBalancerPoolMemberOutput() IsLbAttachedLoadBalancerPoolMemberOutput { + return o +} + +func (o IsLbAttachedLoadBalancerPoolMemberOutput) ToIsLbAttachedLoadBalancerPoolMemberOutputWithContext(ctx context.Context) IsLbAttachedLoadBalancerPoolMemberOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsLbAttachedLoadBalancerPoolMemberOutput) Deleteds() IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o.ApplyT(func(v IsLbAttachedLoadBalancerPoolMember) []IsLbAttachedLoadBalancerPoolMemberDeleted { + return v.Deleteds + }).(IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) +} + +// The URL for this load balancer pool member. +func (o IsLbAttachedLoadBalancerPoolMemberOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbAttachedLoadBalancerPoolMember) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this load balancer pool member. +func (o IsLbAttachedLoadBalancerPoolMemberOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbAttachedLoadBalancerPoolMember) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type IsLbAttachedLoadBalancerPoolMemberArrayOutput struct{ *pulumi.OutputState } + +func (IsLbAttachedLoadBalancerPoolMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (o IsLbAttachedLoadBalancerPoolMemberArrayOutput) ToIsLbAttachedLoadBalancerPoolMemberArrayOutput() IsLbAttachedLoadBalancerPoolMemberArrayOutput { + return o +} + +func (o IsLbAttachedLoadBalancerPoolMemberArrayOutput) ToIsLbAttachedLoadBalancerPoolMemberArrayOutputWithContext(ctx context.Context) IsLbAttachedLoadBalancerPoolMemberArrayOutput { + return o +} + +func (o IsLbAttachedLoadBalancerPoolMemberArrayOutput) Index(i pulumi.IntInput) IsLbAttachedLoadBalancerPoolMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsLbAttachedLoadBalancerPoolMember { + return vs[0].([]IsLbAttachedLoadBalancerPoolMember)[vs[1].(int)] + }).(IsLbAttachedLoadBalancerPoolMemberOutput) +} + +type IsLbAttachedLoadBalancerPoolMemberDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsLbAttachedLoadBalancerPoolMemberDeletedInput is an input type that accepts IsLbAttachedLoadBalancerPoolMemberDeletedArgs and IsLbAttachedLoadBalancerPoolMemberDeletedOutput values. +// You can construct a concrete instance of `IsLbAttachedLoadBalancerPoolMemberDeletedInput` via: +// +// IsLbAttachedLoadBalancerPoolMemberDeletedArgs{...} +type IsLbAttachedLoadBalancerPoolMemberDeletedInput interface { + pulumi.Input + + ToIsLbAttachedLoadBalancerPoolMemberDeletedOutput() IsLbAttachedLoadBalancerPoolMemberDeletedOutput + ToIsLbAttachedLoadBalancerPoolMemberDeletedOutputWithContext(context.Context) IsLbAttachedLoadBalancerPoolMemberDeletedOutput +} + +type IsLbAttachedLoadBalancerPoolMemberDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsLbAttachedLoadBalancerPoolMemberDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (i IsLbAttachedLoadBalancerPoolMemberDeletedArgs) ToIsLbAttachedLoadBalancerPoolMemberDeletedOutput() IsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return i.ToIsLbAttachedLoadBalancerPoolMemberDeletedOutputWithContext(context.Background()) +} + +func (i IsLbAttachedLoadBalancerPoolMemberDeletedArgs) ToIsLbAttachedLoadBalancerPoolMemberDeletedOutputWithContext(ctx context.Context) IsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbAttachedLoadBalancerPoolMemberDeletedOutput) +} + +// IsLbAttachedLoadBalancerPoolMemberDeletedArrayInput is an input type that accepts IsLbAttachedLoadBalancerPoolMemberDeletedArray and IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput values. +// You can construct a concrete instance of `IsLbAttachedLoadBalancerPoolMemberDeletedArrayInput` via: +// +// IsLbAttachedLoadBalancerPoolMemberDeletedArray{ IsLbAttachedLoadBalancerPoolMemberDeletedArgs{...} } +type IsLbAttachedLoadBalancerPoolMemberDeletedArrayInput interface { + pulumi.Input + + ToIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput() IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput + ToIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(context.Context) IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput +} + +type IsLbAttachedLoadBalancerPoolMemberDeletedArray []IsLbAttachedLoadBalancerPoolMemberDeletedInput + +func (IsLbAttachedLoadBalancerPoolMemberDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (i IsLbAttachedLoadBalancerPoolMemberDeletedArray) ToIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput() IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return i.ToIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsLbAttachedLoadBalancerPoolMemberDeletedArray) ToIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(ctx context.Context) IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) +} + +type IsLbAttachedLoadBalancerPoolMemberDeletedOutput struct{ *pulumi.OutputState } + +func (IsLbAttachedLoadBalancerPoolMemberDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (o IsLbAttachedLoadBalancerPoolMemberDeletedOutput) ToIsLbAttachedLoadBalancerPoolMemberDeletedOutput() IsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return o +} + +func (o IsLbAttachedLoadBalancerPoolMemberDeletedOutput) ToIsLbAttachedLoadBalancerPoolMemberDeletedOutputWithContext(ctx context.Context) IsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsLbAttachedLoadBalancerPoolMemberDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbAttachedLoadBalancerPoolMemberDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (o IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) ToIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput() IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o +} + +func (o IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) ToIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(ctx context.Context) IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o +} + +func (o IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) Index(i pulumi.IntInput) IsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsLbAttachedLoadBalancerPoolMemberDeleted { + return vs[0].([]IsLbAttachedLoadBalancerPoolMemberDeleted)[vs[1].(int)] + }).(IsLbAttachedLoadBalancerPoolMemberDeletedOutput) +} + +type IsLbDns struct { + // The CRN for this DNS instance + InstanceCrn string `pulumi:"instanceCrn"` + // The unique identifier of the DNS zone. + ZoneId string `pulumi:"zoneId"` +} + +// IsLbDnsInput is an input type that accepts IsLbDnsArgs and IsLbDnsOutput values. +// You can construct a concrete instance of `IsLbDnsInput` via: +// +// IsLbDnsArgs{...} +type IsLbDnsInput interface { + pulumi.Input + + ToIsLbDnsOutput() IsLbDnsOutput + ToIsLbDnsOutputWithContext(context.Context) IsLbDnsOutput +} + +type IsLbDnsArgs struct { + // The CRN for this DNS instance + InstanceCrn pulumi.StringInput `pulumi:"instanceCrn"` + // The unique identifier of the DNS zone. + ZoneId pulumi.StringInput `pulumi:"zoneId"` +} + +func (IsLbDnsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbDns)(nil)).Elem() +} + +func (i IsLbDnsArgs) ToIsLbDnsOutput() IsLbDnsOutput { + return i.ToIsLbDnsOutputWithContext(context.Background()) +} + +func (i IsLbDnsArgs) ToIsLbDnsOutputWithContext(ctx context.Context) IsLbDnsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbDnsOutput) +} + +func (i IsLbDnsArgs) ToIsLbDnsPtrOutput() IsLbDnsPtrOutput { + return i.ToIsLbDnsPtrOutputWithContext(context.Background()) +} + +func (i IsLbDnsArgs) ToIsLbDnsPtrOutputWithContext(ctx context.Context) IsLbDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbDnsOutput).ToIsLbDnsPtrOutputWithContext(ctx) +} + +// IsLbDnsPtrInput is an input type that accepts IsLbDnsArgs, IsLbDnsPtr and IsLbDnsPtrOutput values. +// You can construct a concrete instance of `IsLbDnsPtrInput` via: +// +// IsLbDnsArgs{...} +// +// or: +// +// nil +type IsLbDnsPtrInput interface { + pulumi.Input + + ToIsLbDnsPtrOutput() IsLbDnsPtrOutput + ToIsLbDnsPtrOutputWithContext(context.Context) IsLbDnsPtrOutput +} + +type isLbDnsPtrType IsLbDnsArgs + +func IsLbDnsPtr(v *IsLbDnsArgs) IsLbDnsPtrInput { + return (*isLbDnsPtrType)(v) +} + +func (*isLbDnsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbDns)(nil)).Elem() +} + +func (i *isLbDnsPtrType) ToIsLbDnsPtrOutput() IsLbDnsPtrOutput { + return i.ToIsLbDnsPtrOutputWithContext(context.Background()) +} + +func (i *isLbDnsPtrType) ToIsLbDnsPtrOutputWithContext(ctx context.Context) IsLbDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbDnsPtrOutput) +} + +type IsLbDnsOutput struct{ *pulumi.OutputState } + +func (IsLbDnsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbDns)(nil)).Elem() +} + +func (o IsLbDnsOutput) ToIsLbDnsOutput() IsLbDnsOutput { + return o +} + +func (o IsLbDnsOutput) ToIsLbDnsOutputWithContext(ctx context.Context) IsLbDnsOutput { + return o +} + +func (o IsLbDnsOutput) ToIsLbDnsPtrOutput() IsLbDnsPtrOutput { + return o.ToIsLbDnsPtrOutputWithContext(context.Background()) +} + +func (o IsLbDnsOutput) ToIsLbDnsPtrOutputWithContext(ctx context.Context) IsLbDnsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsLbDns) *IsLbDns { + return &v + }).(IsLbDnsPtrOutput) +} + +// The CRN for this DNS instance +func (o IsLbDnsOutput) InstanceCrn() pulumi.StringOutput { + return o.ApplyT(func(v IsLbDns) string { return v.InstanceCrn }).(pulumi.StringOutput) +} + +// The unique identifier of the DNS zone. +func (o IsLbDnsOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v IsLbDns) string { return v.ZoneId }).(pulumi.StringOutput) +} + +type IsLbDnsPtrOutput struct{ *pulumi.OutputState } + +func (IsLbDnsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbDns)(nil)).Elem() +} + +func (o IsLbDnsPtrOutput) ToIsLbDnsPtrOutput() IsLbDnsPtrOutput { + return o +} + +func (o IsLbDnsPtrOutput) ToIsLbDnsPtrOutputWithContext(ctx context.Context) IsLbDnsPtrOutput { + return o +} + +func (o IsLbDnsPtrOutput) Elem() IsLbDnsOutput { + return o.ApplyT(func(v *IsLbDns) IsLbDns { + if v != nil { + return *v + } + var ret IsLbDns + return ret + }).(IsLbDnsOutput) +} + +// The CRN for this DNS instance +func (o IsLbDnsPtrOutput) InstanceCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbDns) *string { + if v == nil { + return nil + } + return &v.InstanceCrn + }).(pulumi.StringPtrOutput) +} + +// The unique identifier of the DNS zone. +func (o IsLbDnsPtrOutput) ZoneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbDns) *string { + if v == nil { + return nil + } + return &v.ZoneId + }).(pulumi.StringPtrOutput) +} + +type IsLbListenerHttpsRedirect struct { + // The HTTP status code for this redirect. + HttpStatusCode int `pulumi:"httpStatusCode"` + Listener IsLbListenerHttpsRedirectListener `pulumi:"listener"` + // The redirect relative target URI. + Uri *string `pulumi:"uri"` +} + +// IsLbListenerHttpsRedirectInput is an input type that accepts IsLbListenerHttpsRedirectArgs and IsLbListenerHttpsRedirectOutput values. +// You can construct a concrete instance of `IsLbListenerHttpsRedirectInput` via: +// +// IsLbListenerHttpsRedirectArgs{...} +type IsLbListenerHttpsRedirectInput interface { + pulumi.Input + + ToIsLbListenerHttpsRedirectOutput() IsLbListenerHttpsRedirectOutput + ToIsLbListenerHttpsRedirectOutputWithContext(context.Context) IsLbListenerHttpsRedirectOutput +} + +type IsLbListenerHttpsRedirectArgs struct { + // The HTTP status code for this redirect. + HttpStatusCode pulumi.IntInput `pulumi:"httpStatusCode"` + Listener IsLbListenerHttpsRedirectListenerInput `pulumi:"listener"` + // The redirect relative target URI. + Uri pulumi.StringPtrInput `pulumi:"uri"` +} + +func (IsLbListenerHttpsRedirectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerHttpsRedirect)(nil)).Elem() +} + +func (i IsLbListenerHttpsRedirectArgs) ToIsLbListenerHttpsRedirectOutput() IsLbListenerHttpsRedirectOutput { + return i.ToIsLbListenerHttpsRedirectOutputWithContext(context.Background()) +} + +func (i IsLbListenerHttpsRedirectArgs) ToIsLbListenerHttpsRedirectOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerHttpsRedirectOutput) +} + +func (i IsLbListenerHttpsRedirectArgs) ToIsLbListenerHttpsRedirectPtrOutput() IsLbListenerHttpsRedirectPtrOutput { + return i.ToIsLbListenerHttpsRedirectPtrOutputWithContext(context.Background()) +} + +func (i IsLbListenerHttpsRedirectArgs) ToIsLbListenerHttpsRedirectPtrOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerHttpsRedirectOutput).ToIsLbListenerHttpsRedirectPtrOutputWithContext(ctx) +} + +// IsLbListenerHttpsRedirectPtrInput is an input type that accepts IsLbListenerHttpsRedirectArgs, IsLbListenerHttpsRedirectPtr and IsLbListenerHttpsRedirectPtrOutput values. +// You can construct a concrete instance of `IsLbListenerHttpsRedirectPtrInput` via: +// +// IsLbListenerHttpsRedirectArgs{...} +// +// or: +// +// nil +type IsLbListenerHttpsRedirectPtrInput interface { + pulumi.Input + + ToIsLbListenerHttpsRedirectPtrOutput() IsLbListenerHttpsRedirectPtrOutput + ToIsLbListenerHttpsRedirectPtrOutputWithContext(context.Context) IsLbListenerHttpsRedirectPtrOutput +} + +type isLbListenerHttpsRedirectPtrType IsLbListenerHttpsRedirectArgs + +func IsLbListenerHttpsRedirectPtr(v *IsLbListenerHttpsRedirectArgs) IsLbListenerHttpsRedirectPtrInput { + return (*isLbListenerHttpsRedirectPtrType)(v) +} + +func (*isLbListenerHttpsRedirectPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerHttpsRedirect)(nil)).Elem() +} + +func (i *isLbListenerHttpsRedirectPtrType) ToIsLbListenerHttpsRedirectPtrOutput() IsLbListenerHttpsRedirectPtrOutput { + return i.ToIsLbListenerHttpsRedirectPtrOutputWithContext(context.Background()) +} + +func (i *isLbListenerHttpsRedirectPtrType) ToIsLbListenerHttpsRedirectPtrOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerHttpsRedirectPtrOutput) +} + +type IsLbListenerHttpsRedirectOutput struct{ *pulumi.OutputState } + +func (IsLbListenerHttpsRedirectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerHttpsRedirect)(nil)).Elem() +} + +func (o IsLbListenerHttpsRedirectOutput) ToIsLbListenerHttpsRedirectOutput() IsLbListenerHttpsRedirectOutput { + return o +} + +func (o IsLbListenerHttpsRedirectOutput) ToIsLbListenerHttpsRedirectOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectOutput { + return o +} + +func (o IsLbListenerHttpsRedirectOutput) ToIsLbListenerHttpsRedirectPtrOutput() IsLbListenerHttpsRedirectPtrOutput { + return o.ToIsLbListenerHttpsRedirectPtrOutputWithContext(context.Background()) +} + +func (o IsLbListenerHttpsRedirectOutput) ToIsLbListenerHttpsRedirectPtrOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsLbListenerHttpsRedirect) *IsLbListenerHttpsRedirect { + return &v + }).(IsLbListenerHttpsRedirectPtrOutput) +} + +// The HTTP status code for this redirect. +func (o IsLbListenerHttpsRedirectOutput) HttpStatusCode() pulumi.IntOutput { + return o.ApplyT(func(v IsLbListenerHttpsRedirect) int { return v.HttpStatusCode }).(pulumi.IntOutput) +} + +func (o IsLbListenerHttpsRedirectOutput) Listener() IsLbListenerHttpsRedirectListenerOutput { + return o.ApplyT(func(v IsLbListenerHttpsRedirect) IsLbListenerHttpsRedirectListener { return v.Listener }).(IsLbListenerHttpsRedirectListenerOutput) +} + +// The redirect relative target URI. +func (o IsLbListenerHttpsRedirectOutput) Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerHttpsRedirect) *string { return v.Uri }).(pulumi.StringPtrOutput) +} + +type IsLbListenerHttpsRedirectPtrOutput struct{ *pulumi.OutputState } + +func (IsLbListenerHttpsRedirectPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerHttpsRedirect)(nil)).Elem() +} + +func (o IsLbListenerHttpsRedirectPtrOutput) ToIsLbListenerHttpsRedirectPtrOutput() IsLbListenerHttpsRedirectPtrOutput { + return o +} + +func (o IsLbListenerHttpsRedirectPtrOutput) ToIsLbListenerHttpsRedirectPtrOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectPtrOutput { + return o +} + +func (o IsLbListenerHttpsRedirectPtrOutput) Elem() IsLbListenerHttpsRedirectOutput { + return o.ApplyT(func(v *IsLbListenerHttpsRedirect) IsLbListenerHttpsRedirect { + if v != nil { + return *v + } + var ret IsLbListenerHttpsRedirect + return ret + }).(IsLbListenerHttpsRedirectOutput) +} + +// The HTTP status code for this redirect. +func (o IsLbListenerHttpsRedirectPtrOutput) HttpStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsLbListenerHttpsRedirect) *int { + if v == nil { + return nil + } + return &v.HttpStatusCode + }).(pulumi.IntPtrOutput) +} + +func (o IsLbListenerHttpsRedirectPtrOutput) Listener() IsLbListenerHttpsRedirectListenerPtrOutput { + return o.ApplyT(func(v *IsLbListenerHttpsRedirect) *IsLbListenerHttpsRedirectListener { + if v == nil { + return nil + } + return &v.Listener + }).(IsLbListenerHttpsRedirectListenerPtrOutput) +} + +// The redirect relative target URI. +func (o IsLbListenerHttpsRedirectPtrOutput) Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerHttpsRedirect) *string { + if v == nil { + return nil + } + return v.Uri + }).(pulumi.StringPtrOutput) +} + +type IsLbListenerHttpsRedirectListener struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsLbListenerHttpsRedirectListenerDeleted `pulumi:"deleteds"` + // The listener's canonical URL. + Href *string `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id string `pulumi:"id"` +} + +// IsLbListenerHttpsRedirectListenerInput is an input type that accepts IsLbListenerHttpsRedirectListenerArgs and IsLbListenerHttpsRedirectListenerOutput values. +// You can construct a concrete instance of `IsLbListenerHttpsRedirectListenerInput` via: +// +// IsLbListenerHttpsRedirectListenerArgs{...} +type IsLbListenerHttpsRedirectListenerInput interface { + pulumi.Input + + ToIsLbListenerHttpsRedirectListenerOutput() IsLbListenerHttpsRedirectListenerOutput + ToIsLbListenerHttpsRedirectListenerOutputWithContext(context.Context) IsLbListenerHttpsRedirectListenerOutput +} + +type IsLbListenerHttpsRedirectListenerArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsLbListenerHttpsRedirectListenerDeletedArrayInput `pulumi:"deleteds"` + // The listener's canonical URL. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id pulumi.StringInput `pulumi:"id"` +} + +func (IsLbListenerHttpsRedirectListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerHttpsRedirectListener)(nil)).Elem() +} + +func (i IsLbListenerHttpsRedirectListenerArgs) ToIsLbListenerHttpsRedirectListenerOutput() IsLbListenerHttpsRedirectListenerOutput { + return i.ToIsLbListenerHttpsRedirectListenerOutputWithContext(context.Background()) +} + +func (i IsLbListenerHttpsRedirectListenerArgs) ToIsLbListenerHttpsRedirectListenerOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerHttpsRedirectListenerOutput) +} + +func (i IsLbListenerHttpsRedirectListenerArgs) ToIsLbListenerHttpsRedirectListenerPtrOutput() IsLbListenerHttpsRedirectListenerPtrOutput { + return i.ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(context.Background()) +} + +func (i IsLbListenerHttpsRedirectListenerArgs) ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerHttpsRedirectListenerOutput).ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(ctx) +} + +// IsLbListenerHttpsRedirectListenerPtrInput is an input type that accepts IsLbListenerHttpsRedirectListenerArgs, IsLbListenerHttpsRedirectListenerPtr and IsLbListenerHttpsRedirectListenerPtrOutput values. +// You can construct a concrete instance of `IsLbListenerHttpsRedirectListenerPtrInput` via: +// +// IsLbListenerHttpsRedirectListenerArgs{...} +// +// or: +// +// nil +type IsLbListenerHttpsRedirectListenerPtrInput interface { + pulumi.Input + + ToIsLbListenerHttpsRedirectListenerPtrOutput() IsLbListenerHttpsRedirectListenerPtrOutput + ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(context.Context) IsLbListenerHttpsRedirectListenerPtrOutput +} + +type isLbListenerHttpsRedirectListenerPtrType IsLbListenerHttpsRedirectListenerArgs + +func IsLbListenerHttpsRedirectListenerPtr(v *IsLbListenerHttpsRedirectListenerArgs) IsLbListenerHttpsRedirectListenerPtrInput { + return (*isLbListenerHttpsRedirectListenerPtrType)(v) +} + +func (*isLbListenerHttpsRedirectListenerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerHttpsRedirectListener)(nil)).Elem() +} + +func (i *isLbListenerHttpsRedirectListenerPtrType) ToIsLbListenerHttpsRedirectListenerPtrOutput() IsLbListenerHttpsRedirectListenerPtrOutput { + return i.ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(context.Background()) +} + +func (i *isLbListenerHttpsRedirectListenerPtrType) ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerHttpsRedirectListenerPtrOutput) +} + +type IsLbListenerHttpsRedirectListenerOutput struct{ *pulumi.OutputState } + +func (IsLbListenerHttpsRedirectListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerHttpsRedirectListener)(nil)).Elem() +} + +func (o IsLbListenerHttpsRedirectListenerOutput) ToIsLbListenerHttpsRedirectListenerOutput() IsLbListenerHttpsRedirectListenerOutput { + return o +} + +func (o IsLbListenerHttpsRedirectListenerOutput) ToIsLbListenerHttpsRedirectListenerOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerOutput { + return o +} + +func (o IsLbListenerHttpsRedirectListenerOutput) ToIsLbListenerHttpsRedirectListenerPtrOutput() IsLbListenerHttpsRedirectListenerPtrOutput { + return o.ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(context.Background()) +} + +func (o IsLbListenerHttpsRedirectListenerOutput) ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsLbListenerHttpsRedirectListener) *IsLbListenerHttpsRedirectListener { + return &v + }).(IsLbListenerHttpsRedirectListenerPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsLbListenerHttpsRedirectListenerOutput) Deleteds() IsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return o.ApplyT(func(v IsLbListenerHttpsRedirectListener) []IsLbListenerHttpsRedirectListenerDeleted { + return v.Deleteds + }).(IsLbListenerHttpsRedirectListenerDeletedArrayOutput) +} + +// The listener's canonical URL. +func (o IsLbListenerHttpsRedirectListenerOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerHttpsRedirectListener) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this load balancer listener. +func (o IsLbListenerHttpsRedirectListenerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsLbListenerHttpsRedirectListener) string { return v.Id }).(pulumi.StringOutput) +} + +type IsLbListenerHttpsRedirectListenerPtrOutput struct{ *pulumi.OutputState } + +func (IsLbListenerHttpsRedirectListenerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerHttpsRedirectListener)(nil)).Elem() +} + +func (o IsLbListenerHttpsRedirectListenerPtrOutput) ToIsLbListenerHttpsRedirectListenerPtrOutput() IsLbListenerHttpsRedirectListenerPtrOutput { + return o +} + +func (o IsLbListenerHttpsRedirectListenerPtrOutput) ToIsLbListenerHttpsRedirectListenerPtrOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerPtrOutput { + return o +} + +func (o IsLbListenerHttpsRedirectListenerPtrOutput) Elem() IsLbListenerHttpsRedirectListenerOutput { + return o.ApplyT(func(v *IsLbListenerHttpsRedirectListener) IsLbListenerHttpsRedirectListener { + if v != nil { + return *v + } + var ret IsLbListenerHttpsRedirectListener + return ret + }).(IsLbListenerHttpsRedirectListenerOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsLbListenerHttpsRedirectListenerPtrOutput) Deleteds() IsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return o.ApplyT(func(v *IsLbListenerHttpsRedirectListener) []IsLbListenerHttpsRedirectListenerDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsLbListenerHttpsRedirectListenerDeletedArrayOutput) +} + +// The listener's canonical URL. +func (o IsLbListenerHttpsRedirectListenerPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerHttpsRedirectListener) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this load balancer listener. +func (o IsLbListenerHttpsRedirectListenerPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerHttpsRedirectListener) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +type IsLbListenerHttpsRedirectListenerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsLbListenerHttpsRedirectListenerDeletedInput is an input type that accepts IsLbListenerHttpsRedirectListenerDeletedArgs and IsLbListenerHttpsRedirectListenerDeletedOutput values. +// You can construct a concrete instance of `IsLbListenerHttpsRedirectListenerDeletedInput` via: +// +// IsLbListenerHttpsRedirectListenerDeletedArgs{...} +type IsLbListenerHttpsRedirectListenerDeletedInput interface { + pulumi.Input + + ToIsLbListenerHttpsRedirectListenerDeletedOutput() IsLbListenerHttpsRedirectListenerDeletedOutput + ToIsLbListenerHttpsRedirectListenerDeletedOutputWithContext(context.Context) IsLbListenerHttpsRedirectListenerDeletedOutput +} + +type IsLbListenerHttpsRedirectListenerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsLbListenerHttpsRedirectListenerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (i IsLbListenerHttpsRedirectListenerDeletedArgs) ToIsLbListenerHttpsRedirectListenerDeletedOutput() IsLbListenerHttpsRedirectListenerDeletedOutput { + return i.ToIsLbListenerHttpsRedirectListenerDeletedOutputWithContext(context.Background()) +} + +func (i IsLbListenerHttpsRedirectListenerDeletedArgs) ToIsLbListenerHttpsRedirectListenerDeletedOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerHttpsRedirectListenerDeletedOutput) +} + +// IsLbListenerHttpsRedirectListenerDeletedArrayInput is an input type that accepts IsLbListenerHttpsRedirectListenerDeletedArray and IsLbListenerHttpsRedirectListenerDeletedArrayOutput values. +// You can construct a concrete instance of `IsLbListenerHttpsRedirectListenerDeletedArrayInput` via: +// +// IsLbListenerHttpsRedirectListenerDeletedArray{ IsLbListenerHttpsRedirectListenerDeletedArgs{...} } +type IsLbListenerHttpsRedirectListenerDeletedArrayInput interface { + pulumi.Input + + ToIsLbListenerHttpsRedirectListenerDeletedArrayOutput() IsLbListenerHttpsRedirectListenerDeletedArrayOutput + ToIsLbListenerHttpsRedirectListenerDeletedArrayOutputWithContext(context.Context) IsLbListenerHttpsRedirectListenerDeletedArrayOutput +} + +type IsLbListenerHttpsRedirectListenerDeletedArray []IsLbListenerHttpsRedirectListenerDeletedInput + +func (IsLbListenerHttpsRedirectListenerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (i IsLbListenerHttpsRedirectListenerDeletedArray) ToIsLbListenerHttpsRedirectListenerDeletedArrayOutput() IsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return i.ToIsLbListenerHttpsRedirectListenerDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsLbListenerHttpsRedirectListenerDeletedArray) ToIsLbListenerHttpsRedirectListenerDeletedArrayOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerHttpsRedirectListenerDeletedArrayOutput) +} + +type IsLbListenerHttpsRedirectListenerDeletedOutput struct{ *pulumi.OutputState } + +func (IsLbListenerHttpsRedirectListenerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (o IsLbListenerHttpsRedirectListenerDeletedOutput) ToIsLbListenerHttpsRedirectListenerDeletedOutput() IsLbListenerHttpsRedirectListenerDeletedOutput { + return o +} + +func (o IsLbListenerHttpsRedirectListenerDeletedOutput) ToIsLbListenerHttpsRedirectListenerDeletedOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsLbListenerHttpsRedirectListenerDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerHttpsRedirectListenerDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsLbListenerHttpsRedirectListenerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsLbListenerHttpsRedirectListenerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (o IsLbListenerHttpsRedirectListenerDeletedArrayOutput) ToIsLbListenerHttpsRedirectListenerDeletedArrayOutput() IsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return o +} + +func (o IsLbListenerHttpsRedirectListenerDeletedArrayOutput) ToIsLbListenerHttpsRedirectListenerDeletedArrayOutputWithContext(ctx context.Context) IsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return o +} + +func (o IsLbListenerHttpsRedirectListenerDeletedArrayOutput) Index(i pulumi.IntInput) IsLbListenerHttpsRedirectListenerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsLbListenerHttpsRedirectListenerDeleted { + return vs[0].([]IsLbListenerHttpsRedirectListenerDeleted)[vs[1].(int)] + }).(IsLbListenerHttpsRedirectListenerDeletedOutput) +} + +type IsLbListenerPolicyRuleType struct { + // Condition of the rule + Condition string `pulumi:"condition"` + // HTTP header field. This is only applicable to rule type. + Field *string `pulumi:"field"` + // Rule ID + RuleId *string `pulumi:"ruleId"` + // Type of the rule + Type string `pulumi:"type"` + // Value to be matched for rule condition + Value string `pulumi:"value"` +} + +// IsLbListenerPolicyRuleTypeInput is an input type that accepts IsLbListenerPolicyRuleTypeArgs and IsLbListenerPolicyRuleTypeOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyRuleTypeInput` via: +// +// IsLbListenerPolicyRuleTypeArgs{...} +type IsLbListenerPolicyRuleTypeInput interface { + pulumi.Input + + ToIsLbListenerPolicyRuleTypeOutput() IsLbListenerPolicyRuleTypeOutput + ToIsLbListenerPolicyRuleTypeOutputWithContext(context.Context) IsLbListenerPolicyRuleTypeOutput +} + +type IsLbListenerPolicyRuleTypeArgs struct { + // Condition of the rule + Condition pulumi.StringInput `pulumi:"condition"` + // HTTP header field. This is only applicable to rule type. + Field pulumi.StringPtrInput `pulumi:"field"` + // Rule ID + RuleId pulumi.StringPtrInput `pulumi:"ruleId"` + // Type of the rule + Type pulumi.StringInput `pulumi:"type"` + // Value to be matched for rule condition + Value pulumi.StringInput `pulumi:"value"` +} + +func (IsLbListenerPolicyRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyRuleType)(nil)).Elem() +} + +func (i IsLbListenerPolicyRuleTypeArgs) ToIsLbListenerPolicyRuleTypeOutput() IsLbListenerPolicyRuleTypeOutput { + return i.ToIsLbListenerPolicyRuleTypeOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyRuleTypeArgs) ToIsLbListenerPolicyRuleTypeOutputWithContext(ctx context.Context) IsLbListenerPolicyRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyRuleTypeOutput) +} + +// IsLbListenerPolicyRuleTypeArrayInput is an input type that accepts IsLbListenerPolicyRuleTypeArray and IsLbListenerPolicyRuleTypeArrayOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyRuleTypeArrayInput` via: +// +// IsLbListenerPolicyRuleTypeArray{ IsLbListenerPolicyRuleTypeArgs{...} } +type IsLbListenerPolicyRuleTypeArrayInput interface { + pulumi.Input + + ToIsLbListenerPolicyRuleTypeArrayOutput() IsLbListenerPolicyRuleTypeArrayOutput + ToIsLbListenerPolicyRuleTypeArrayOutputWithContext(context.Context) IsLbListenerPolicyRuleTypeArrayOutput +} + +type IsLbListenerPolicyRuleTypeArray []IsLbListenerPolicyRuleTypeInput + +func (IsLbListenerPolicyRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbListenerPolicyRuleType)(nil)).Elem() +} + +func (i IsLbListenerPolicyRuleTypeArray) ToIsLbListenerPolicyRuleTypeArrayOutput() IsLbListenerPolicyRuleTypeArrayOutput { + return i.ToIsLbListenerPolicyRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyRuleTypeArray) ToIsLbListenerPolicyRuleTypeArrayOutputWithContext(ctx context.Context) IsLbListenerPolicyRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyRuleTypeArrayOutput) +} + +type IsLbListenerPolicyRuleTypeOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyRuleType)(nil)).Elem() +} + +func (o IsLbListenerPolicyRuleTypeOutput) ToIsLbListenerPolicyRuleTypeOutput() IsLbListenerPolicyRuleTypeOutput { + return o +} + +func (o IsLbListenerPolicyRuleTypeOutput) ToIsLbListenerPolicyRuleTypeOutputWithContext(ctx context.Context) IsLbListenerPolicyRuleTypeOutput { + return o +} + +// Condition of the rule +func (o IsLbListenerPolicyRuleTypeOutput) Condition() pulumi.StringOutput { + return o.ApplyT(func(v IsLbListenerPolicyRuleType) string { return v.Condition }).(pulumi.StringOutput) +} + +// HTTP header field. This is only applicable to rule type. +func (o IsLbListenerPolicyRuleTypeOutput) Field() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyRuleType) *string { return v.Field }).(pulumi.StringPtrOutput) +} + +// Rule ID +func (o IsLbListenerPolicyRuleTypeOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyRuleType) *string { return v.RuleId }).(pulumi.StringPtrOutput) +} + +// Type of the rule +func (o IsLbListenerPolicyRuleTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v IsLbListenerPolicyRuleType) string { return v.Type }).(pulumi.StringOutput) +} + +// Value to be matched for rule condition +func (o IsLbListenerPolicyRuleTypeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v IsLbListenerPolicyRuleType) string { return v.Value }).(pulumi.StringOutput) +} + +type IsLbListenerPolicyRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbListenerPolicyRuleType)(nil)).Elem() +} + +func (o IsLbListenerPolicyRuleTypeArrayOutput) ToIsLbListenerPolicyRuleTypeArrayOutput() IsLbListenerPolicyRuleTypeArrayOutput { + return o +} + +func (o IsLbListenerPolicyRuleTypeArrayOutput) ToIsLbListenerPolicyRuleTypeArrayOutputWithContext(ctx context.Context) IsLbListenerPolicyRuleTypeArrayOutput { + return o +} + +func (o IsLbListenerPolicyRuleTypeArrayOutput) Index(i pulumi.IntInput) IsLbListenerPolicyRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsLbListenerPolicyRuleType { + return vs[0].([]IsLbListenerPolicyRuleType)[vs[1].(int)] + }).(IsLbListenerPolicyRuleTypeOutput) +} + +type IsLbListenerPolicyTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsLbListenerPolicyTargetDeleted `pulumi:"deleteds"` + // The pool's canonical URL. + Href *string `pulumi:"href"` + // The HTTP status code for this redirect. + HttpStatusCode *int `pulumi:"httpStatusCode"` + // The unique identifier for this load balancer pool. + Id *string `pulumi:"id"` + Listener *IsLbListenerPolicyTargetListener `pulumi:"listener"` + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name *string `pulumi:"name"` + // The redirect relative target URI. + Uri *string `pulumi:"uri"` + // The redirect target URL. + Url *string `pulumi:"url"` +} + +// IsLbListenerPolicyTargetInput is an input type that accepts IsLbListenerPolicyTargetArgs and IsLbListenerPolicyTargetOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyTargetInput` via: +// +// IsLbListenerPolicyTargetArgs{...} +type IsLbListenerPolicyTargetInput interface { + pulumi.Input + + ToIsLbListenerPolicyTargetOutput() IsLbListenerPolicyTargetOutput + ToIsLbListenerPolicyTargetOutputWithContext(context.Context) IsLbListenerPolicyTargetOutput +} + +type IsLbListenerPolicyTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsLbListenerPolicyTargetDeletedArrayInput `pulumi:"deleteds"` + // The pool's canonical URL. + Href pulumi.StringPtrInput `pulumi:"href"` + // The HTTP status code for this redirect. + HttpStatusCode pulumi.IntPtrInput `pulumi:"httpStatusCode"` + // The unique identifier for this load balancer pool. + Id pulumi.StringPtrInput `pulumi:"id"` + Listener IsLbListenerPolicyTargetListenerPtrInput `pulumi:"listener"` + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name pulumi.StringPtrInput `pulumi:"name"` + // The redirect relative target URI. + Uri pulumi.StringPtrInput `pulumi:"uri"` + // The redirect target URL. + Url pulumi.StringPtrInput `pulumi:"url"` +} + +func (IsLbListenerPolicyTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyTarget)(nil)).Elem() +} + +func (i IsLbListenerPolicyTargetArgs) ToIsLbListenerPolicyTargetOutput() IsLbListenerPolicyTargetOutput { + return i.ToIsLbListenerPolicyTargetOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyTargetArgs) ToIsLbListenerPolicyTargetOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetOutput) +} + +func (i IsLbListenerPolicyTargetArgs) ToIsLbListenerPolicyTargetPtrOutput() IsLbListenerPolicyTargetPtrOutput { + return i.ToIsLbListenerPolicyTargetPtrOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyTargetArgs) ToIsLbListenerPolicyTargetPtrOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetOutput).ToIsLbListenerPolicyTargetPtrOutputWithContext(ctx) +} + +// IsLbListenerPolicyTargetPtrInput is an input type that accepts IsLbListenerPolicyTargetArgs, IsLbListenerPolicyTargetPtr and IsLbListenerPolicyTargetPtrOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyTargetPtrInput` via: +// +// IsLbListenerPolicyTargetArgs{...} +// +// or: +// +// nil +type IsLbListenerPolicyTargetPtrInput interface { + pulumi.Input + + ToIsLbListenerPolicyTargetPtrOutput() IsLbListenerPolicyTargetPtrOutput + ToIsLbListenerPolicyTargetPtrOutputWithContext(context.Context) IsLbListenerPolicyTargetPtrOutput +} + +type isLbListenerPolicyTargetPtrType IsLbListenerPolicyTargetArgs + +func IsLbListenerPolicyTargetPtr(v *IsLbListenerPolicyTargetArgs) IsLbListenerPolicyTargetPtrInput { + return (*isLbListenerPolicyTargetPtrType)(v) +} + +func (*isLbListenerPolicyTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerPolicyTarget)(nil)).Elem() +} + +func (i *isLbListenerPolicyTargetPtrType) ToIsLbListenerPolicyTargetPtrOutput() IsLbListenerPolicyTargetPtrOutput { + return i.ToIsLbListenerPolicyTargetPtrOutputWithContext(context.Background()) +} + +func (i *isLbListenerPolicyTargetPtrType) ToIsLbListenerPolicyTargetPtrOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetPtrOutput) +} + +type IsLbListenerPolicyTargetOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyTarget)(nil)).Elem() +} + +func (o IsLbListenerPolicyTargetOutput) ToIsLbListenerPolicyTargetOutput() IsLbListenerPolicyTargetOutput { + return o +} + +func (o IsLbListenerPolicyTargetOutput) ToIsLbListenerPolicyTargetOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetOutput { + return o +} + +func (o IsLbListenerPolicyTargetOutput) ToIsLbListenerPolicyTargetPtrOutput() IsLbListenerPolicyTargetPtrOutput { + return o.ToIsLbListenerPolicyTargetPtrOutputWithContext(context.Background()) +} + +func (o IsLbListenerPolicyTargetOutput) ToIsLbListenerPolicyTargetPtrOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsLbListenerPolicyTarget) *IsLbListenerPolicyTarget { + return &v + }).(IsLbListenerPolicyTargetPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsLbListenerPolicyTargetOutput) Deleteds() IsLbListenerPolicyTargetDeletedArrayOutput { + return o.ApplyT(func(v IsLbListenerPolicyTarget) []IsLbListenerPolicyTargetDeleted { return v.Deleteds }).(IsLbListenerPolicyTargetDeletedArrayOutput) +} + +// The pool's canonical URL. +func (o IsLbListenerPolicyTargetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTarget) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The HTTP status code for this redirect. +func (o IsLbListenerPolicyTargetOutput) HttpStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTarget) *int { return v.HttpStatusCode }).(pulumi.IntPtrOutput) +} + +// The unique identifier for this load balancer pool. +func (o IsLbListenerPolicyTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IsLbListenerPolicyTargetOutput) Listener() IsLbListenerPolicyTargetListenerPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTarget) *IsLbListenerPolicyTargetListener { return v.Listener }).(IsLbListenerPolicyTargetListenerPtrOutput) +} + +// The name for this load balancer pool. The name is unique across all pools for the load balancer. +func (o IsLbListenerPolicyTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The redirect relative target URI. +func (o IsLbListenerPolicyTargetOutput) Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTarget) *string { return v.Uri }).(pulumi.StringPtrOutput) +} + +// The redirect target URL. +func (o IsLbListenerPolicyTargetOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTarget) *string { return v.Url }).(pulumi.StringPtrOutput) +} + +type IsLbListenerPolicyTargetPtrOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerPolicyTarget)(nil)).Elem() +} + +func (o IsLbListenerPolicyTargetPtrOutput) ToIsLbListenerPolicyTargetPtrOutput() IsLbListenerPolicyTargetPtrOutput { + return o +} + +func (o IsLbListenerPolicyTargetPtrOutput) ToIsLbListenerPolicyTargetPtrOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetPtrOutput { + return o +} + +func (o IsLbListenerPolicyTargetPtrOutput) Elem() IsLbListenerPolicyTargetOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) IsLbListenerPolicyTarget { + if v != nil { + return *v + } + var ret IsLbListenerPolicyTarget + return ret + }).(IsLbListenerPolicyTargetOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsLbListenerPolicyTargetPtrOutput) Deleteds() IsLbListenerPolicyTargetDeletedArrayOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) []IsLbListenerPolicyTargetDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsLbListenerPolicyTargetDeletedArrayOutput) +} + +// The pool's canonical URL. +func (o IsLbListenerPolicyTargetPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The HTTP status code for this redirect. +func (o IsLbListenerPolicyTargetPtrOutput) HttpStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) *int { + if v == nil { + return nil + } + return v.HttpStatusCode + }).(pulumi.IntPtrOutput) +} + +// The unique identifier for this load balancer pool. +func (o IsLbListenerPolicyTargetPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +func (o IsLbListenerPolicyTargetPtrOutput) Listener() IsLbListenerPolicyTargetListenerPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) *IsLbListenerPolicyTargetListener { + if v == nil { + return nil + } + return v.Listener + }).(IsLbListenerPolicyTargetListenerPtrOutput) +} + +// The name for this load balancer pool. The name is unique across all pools for the load balancer. +func (o IsLbListenerPolicyTargetPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The redirect relative target URI. +func (o IsLbListenerPolicyTargetPtrOutput) Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) *string { + if v == nil { + return nil + } + return v.Uri + }).(pulumi.StringPtrOutput) +} + +// The redirect target URL. +func (o IsLbListenerPolicyTargetPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTarget) *string { + if v == nil { + return nil + } + return v.Url + }).(pulumi.StringPtrOutput) +} + +type IsLbListenerPolicyTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsLbListenerPolicyTargetDeletedInput is an input type that accepts IsLbListenerPolicyTargetDeletedArgs and IsLbListenerPolicyTargetDeletedOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyTargetDeletedInput` via: +// +// IsLbListenerPolicyTargetDeletedArgs{...} +type IsLbListenerPolicyTargetDeletedInput interface { + pulumi.Input + + ToIsLbListenerPolicyTargetDeletedOutput() IsLbListenerPolicyTargetDeletedOutput + ToIsLbListenerPolicyTargetDeletedOutputWithContext(context.Context) IsLbListenerPolicyTargetDeletedOutput +} + +type IsLbListenerPolicyTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsLbListenerPolicyTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyTargetDeleted)(nil)).Elem() +} + +func (i IsLbListenerPolicyTargetDeletedArgs) ToIsLbListenerPolicyTargetDeletedOutput() IsLbListenerPolicyTargetDeletedOutput { + return i.ToIsLbListenerPolicyTargetDeletedOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyTargetDeletedArgs) ToIsLbListenerPolicyTargetDeletedOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetDeletedOutput) +} + +// IsLbListenerPolicyTargetDeletedArrayInput is an input type that accepts IsLbListenerPolicyTargetDeletedArray and IsLbListenerPolicyTargetDeletedArrayOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyTargetDeletedArrayInput` via: +// +// IsLbListenerPolicyTargetDeletedArray{ IsLbListenerPolicyTargetDeletedArgs{...} } +type IsLbListenerPolicyTargetDeletedArrayInput interface { + pulumi.Input + + ToIsLbListenerPolicyTargetDeletedArrayOutput() IsLbListenerPolicyTargetDeletedArrayOutput + ToIsLbListenerPolicyTargetDeletedArrayOutputWithContext(context.Context) IsLbListenerPolicyTargetDeletedArrayOutput +} + +type IsLbListenerPolicyTargetDeletedArray []IsLbListenerPolicyTargetDeletedInput + +func (IsLbListenerPolicyTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbListenerPolicyTargetDeleted)(nil)).Elem() +} + +func (i IsLbListenerPolicyTargetDeletedArray) ToIsLbListenerPolicyTargetDeletedArrayOutput() IsLbListenerPolicyTargetDeletedArrayOutput { + return i.ToIsLbListenerPolicyTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyTargetDeletedArray) ToIsLbListenerPolicyTargetDeletedArrayOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetDeletedArrayOutput) +} + +type IsLbListenerPolicyTargetDeletedOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyTargetDeleted)(nil)).Elem() +} + +func (o IsLbListenerPolicyTargetDeletedOutput) ToIsLbListenerPolicyTargetDeletedOutput() IsLbListenerPolicyTargetDeletedOutput { + return o +} + +func (o IsLbListenerPolicyTargetDeletedOutput) ToIsLbListenerPolicyTargetDeletedOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsLbListenerPolicyTargetDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTargetDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsLbListenerPolicyTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbListenerPolicyTargetDeleted)(nil)).Elem() +} + +func (o IsLbListenerPolicyTargetDeletedArrayOutput) ToIsLbListenerPolicyTargetDeletedArrayOutput() IsLbListenerPolicyTargetDeletedArrayOutput { + return o +} + +func (o IsLbListenerPolicyTargetDeletedArrayOutput) ToIsLbListenerPolicyTargetDeletedArrayOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetDeletedArrayOutput { + return o +} + +func (o IsLbListenerPolicyTargetDeletedArrayOutput) Index(i pulumi.IntInput) IsLbListenerPolicyTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsLbListenerPolicyTargetDeleted { + return vs[0].([]IsLbListenerPolicyTargetDeleted)[vs[1].(int)] + }).(IsLbListenerPolicyTargetDeletedOutput) +} + +type IsLbListenerPolicyTargetListener struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsLbListenerPolicyTargetListenerDeleted `pulumi:"deleteds"` + // The listener's canonical URL. + Href *string `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id string `pulumi:"id"` +} + +// IsLbListenerPolicyTargetListenerInput is an input type that accepts IsLbListenerPolicyTargetListenerArgs and IsLbListenerPolicyTargetListenerOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyTargetListenerInput` via: +// +// IsLbListenerPolicyTargetListenerArgs{...} +type IsLbListenerPolicyTargetListenerInput interface { + pulumi.Input + + ToIsLbListenerPolicyTargetListenerOutput() IsLbListenerPolicyTargetListenerOutput + ToIsLbListenerPolicyTargetListenerOutputWithContext(context.Context) IsLbListenerPolicyTargetListenerOutput +} + +type IsLbListenerPolicyTargetListenerArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsLbListenerPolicyTargetListenerDeletedArrayInput `pulumi:"deleteds"` + // The listener's canonical URL. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id pulumi.StringInput `pulumi:"id"` +} + +func (IsLbListenerPolicyTargetListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyTargetListener)(nil)).Elem() +} + +func (i IsLbListenerPolicyTargetListenerArgs) ToIsLbListenerPolicyTargetListenerOutput() IsLbListenerPolicyTargetListenerOutput { + return i.ToIsLbListenerPolicyTargetListenerOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyTargetListenerArgs) ToIsLbListenerPolicyTargetListenerOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetListenerOutput) +} + +func (i IsLbListenerPolicyTargetListenerArgs) ToIsLbListenerPolicyTargetListenerPtrOutput() IsLbListenerPolicyTargetListenerPtrOutput { + return i.ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyTargetListenerArgs) ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetListenerOutput).ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(ctx) +} + +// IsLbListenerPolicyTargetListenerPtrInput is an input type that accepts IsLbListenerPolicyTargetListenerArgs, IsLbListenerPolicyTargetListenerPtr and IsLbListenerPolicyTargetListenerPtrOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyTargetListenerPtrInput` via: +// +// IsLbListenerPolicyTargetListenerArgs{...} +// +// or: +// +// nil +type IsLbListenerPolicyTargetListenerPtrInput interface { + pulumi.Input + + ToIsLbListenerPolicyTargetListenerPtrOutput() IsLbListenerPolicyTargetListenerPtrOutput + ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(context.Context) IsLbListenerPolicyTargetListenerPtrOutput +} + +type isLbListenerPolicyTargetListenerPtrType IsLbListenerPolicyTargetListenerArgs + +func IsLbListenerPolicyTargetListenerPtr(v *IsLbListenerPolicyTargetListenerArgs) IsLbListenerPolicyTargetListenerPtrInput { + return (*isLbListenerPolicyTargetListenerPtrType)(v) +} + +func (*isLbListenerPolicyTargetListenerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerPolicyTargetListener)(nil)).Elem() +} + +func (i *isLbListenerPolicyTargetListenerPtrType) ToIsLbListenerPolicyTargetListenerPtrOutput() IsLbListenerPolicyTargetListenerPtrOutput { + return i.ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(context.Background()) +} + +func (i *isLbListenerPolicyTargetListenerPtrType) ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetListenerPtrOutput) +} + +type IsLbListenerPolicyTargetListenerOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyTargetListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyTargetListener)(nil)).Elem() +} + +func (o IsLbListenerPolicyTargetListenerOutput) ToIsLbListenerPolicyTargetListenerOutput() IsLbListenerPolicyTargetListenerOutput { + return o +} + +func (o IsLbListenerPolicyTargetListenerOutput) ToIsLbListenerPolicyTargetListenerOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerOutput { + return o +} + +func (o IsLbListenerPolicyTargetListenerOutput) ToIsLbListenerPolicyTargetListenerPtrOutput() IsLbListenerPolicyTargetListenerPtrOutput { + return o.ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(context.Background()) +} + +func (o IsLbListenerPolicyTargetListenerOutput) ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsLbListenerPolicyTargetListener) *IsLbListenerPolicyTargetListener { + return &v + }).(IsLbListenerPolicyTargetListenerPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsLbListenerPolicyTargetListenerOutput) Deleteds() IsLbListenerPolicyTargetListenerDeletedArrayOutput { + return o.ApplyT(func(v IsLbListenerPolicyTargetListener) []IsLbListenerPolicyTargetListenerDeleted { return v.Deleteds }).(IsLbListenerPolicyTargetListenerDeletedArrayOutput) +} + +// The listener's canonical URL. +func (o IsLbListenerPolicyTargetListenerOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTargetListener) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this load balancer listener. +func (o IsLbListenerPolicyTargetListenerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsLbListenerPolicyTargetListener) string { return v.Id }).(pulumi.StringOutput) +} + +type IsLbListenerPolicyTargetListenerPtrOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyTargetListenerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbListenerPolicyTargetListener)(nil)).Elem() +} + +func (o IsLbListenerPolicyTargetListenerPtrOutput) ToIsLbListenerPolicyTargetListenerPtrOutput() IsLbListenerPolicyTargetListenerPtrOutput { + return o +} + +func (o IsLbListenerPolicyTargetListenerPtrOutput) ToIsLbListenerPolicyTargetListenerPtrOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerPtrOutput { + return o +} + +func (o IsLbListenerPolicyTargetListenerPtrOutput) Elem() IsLbListenerPolicyTargetListenerOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTargetListener) IsLbListenerPolicyTargetListener { + if v != nil { + return *v + } + var ret IsLbListenerPolicyTargetListener + return ret + }).(IsLbListenerPolicyTargetListenerOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsLbListenerPolicyTargetListenerPtrOutput) Deleteds() IsLbListenerPolicyTargetListenerDeletedArrayOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTargetListener) []IsLbListenerPolicyTargetListenerDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsLbListenerPolicyTargetListenerDeletedArrayOutput) +} + +// The listener's canonical URL. +func (o IsLbListenerPolicyTargetListenerPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTargetListener) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this load balancer listener. +func (o IsLbListenerPolicyTargetListenerPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbListenerPolicyTargetListener) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +type IsLbListenerPolicyTargetListenerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsLbListenerPolicyTargetListenerDeletedInput is an input type that accepts IsLbListenerPolicyTargetListenerDeletedArgs and IsLbListenerPolicyTargetListenerDeletedOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyTargetListenerDeletedInput` via: +// +// IsLbListenerPolicyTargetListenerDeletedArgs{...} +type IsLbListenerPolicyTargetListenerDeletedInput interface { + pulumi.Input + + ToIsLbListenerPolicyTargetListenerDeletedOutput() IsLbListenerPolicyTargetListenerDeletedOutput + ToIsLbListenerPolicyTargetListenerDeletedOutputWithContext(context.Context) IsLbListenerPolicyTargetListenerDeletedOutput +} + +type IsLbListenerPolicyTargetListenerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsLbListenerPolicyTargetListenerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (i IsLbListenerPolicyTargetListenerDeletedArgs) ToIsLbListenerPolicyTargetListenerDeletedOutput() IsLbListenerPolicyTargetListenerDeletedOutput { + return i.ToIsLbListenerPolicyTargetListenerDeletedOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyTargetListenerDeletedArgs) ToIsLbListenerPolicyTargetListenerDeletedOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetListenerDeletedOutput) +} + +// IsLbListenerPolicyTargetListenerDeletedArrayInput is an input type that accepts IsLbListenerPolicyTargetListenerDeletedArray and IsLbListenerPolicyTargetListenerDeletedArrayOutput values. +// You can construct a concrete instance of `IsLbListenerPolicyTargetListenerDeletedArrayInput` via: +// +// IsLbListenerPolicyTargetListenerDeletedArray{ IsLbListenerPolicyTargetListenerDeletedArgs{...} } +type IsLbListenerPolicyTargetListenerDeletedArrayInput interface { + pulumi.Input + + ToIsLbListenerPolicyTargetListenerDeletedArrayOutput() IsLbListenerPolicyTargetListenerDeletedArrayOutput + ToIsLbListenerPolicyTargetListenerDeletedArrayOutputWithContext(context.Context) IsLbListenerPolicyTargetListenerDeletedArrayOutput +} + +type IsLbListenerPolicyTargetListenerDeletedArray []IsLbListenerPolicyTargetListenerDeletedInput + +func (IsLbListenerPolicyTargetListenerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbListenerPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (i IsLbListenerPolicyTargetListenerDeletedArray) ToIsLbListenerPolicyTargetListenerDeletedArrayOutput() IsLbListenerPolicyTargetListenerDeletedArrayOutput { + return i.ToIsLbListenerPolicyTargetListenerDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsLbListenerPolicyTargetListenerDeletedArray) ToIsLbListenerPolicyTargetListenerDeletedArrayOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbListenerPolicyTargetListenerDeletedArrayOutput) +} + +type IsLbListenerPolicyTargetListenerDeletedOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyTargetListenerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbListenerPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (o IsLbListenerPolicyTargetListenerDeletedOutput) ToIsLbListenerPolicyTargetListenerDeletedOutput() IsLbListenerPolicyTargetListenerDeletedOutput { + return o +} + +func (o IsLbListenerPolicyTargetListenerDeletedOutput) ToIsLbListenerPolicyTargetListenerDeletedOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsLbListenerPolicyTargetListenerDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbListenerPolicyTargetListenerDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsLbListenerPolicyTargetListenerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsLbListenerPolicyTargetListenerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbListenerPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (o IsLbListenerPolicyTargetListenerDeletedArrayOutput) ToIsLbListenerPolicyTargetListenerDeletedArrayOutput() IsLbListenerPolicyTargetListenerDeletedArrayOutput { + return o +} + +func (o IsLbListenerPolicyTargetListenerDeletedArrayOutput) ToIsLbListenerPolicyTargetListenerDeletedArrayOutputWithContext(ctx context.Context) IsLbListenerPolicyTargetListenerDeletedArrayOutput { + return o +} + +func (o IsLbListenerPolicyTargetListenerDeletedArrayOutput) Index(i pulumi.IntInput) IsLbListenerPolicyTargetListenerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsLbListenerPolicyTargetListenerDeleted { + return vs[0].([]IsLbListenerPolicyTargetListenerDeleted)[vs[1].(int)] + }).(IsLbListenerPolicyTargetListenerDeletedOutput) +} + +type IsLbPoolFailsafePolicy struct { + // A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action *string `pulumi:"action"` + // The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. + HealthyMemberThresholdCount *int `pulumi:"healthyMemberThresholdCount"` + // If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Target *IsLbPoolFailsafePolicyTarget `pulumi:"target"` +} + +// IsLbPoolFailsafePolicyInput is an input type that accepts IsLbPoolFailsafePolicyArgs and IsLbPoolFailsafePolicyOutput values. +// You can construct a concrete instance of `IsLbPoolFailsafePolicyInput` via: +// +// IsLbPoolFailsafePolicyArgs{...} +type IsLbPoolFailsafePolicyInput interface { + pulumi.Input + + ToIsLbPoolFailsafePolicyOutput() IsLbPoolFailsafePolicyOutput + ToIsLbPoolFailsafePolicyOutputWithContext(context.Context) IsLbPoolFailsafePolicyOutput +} + +type IsLbPoolFailsafePolicyArgs struct { + // A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action pulumi.StringPtrInput `pulumi:"action"` + // The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. + HealthyMemberThresholdCount pulumi.IntPtrInput `pulumi:"healthyMemberThresholdCount"` + // If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Target IsLbPoolFailsafePolicyTargetPtrInput `pulumi:"target"` +} + +func (IsLbPoolFailsafePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbPoolFailsafePolicy)(nil)).Elem() +} + +func (i IsLbPoolFailsafePolicyArgs) ToIsLbPoolFailsafePolicyOutput() IsLbPoolFailsafePolicyOutput { + return i.ToIsLbPoolFailsafePolicyOutputWithContext(context.Background()) +} + +func (i IsLbPoolFailsafePolicyArgs) ToIsLbPoolFailsafePolicyOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolFailsafePolicyOutput) +} + +func (i IsLbPoolFailsafePolicyArgs) ToIsLbPoolFailsafePolicyPtrOutput() IsLbPoolFailsafePolicyPtrOutput { + return i.ToIsLbPoolFailsafePolicyPtrOutputWithContext(context.Background()) +} + +func (i IsLbPoolFailsafePolicyArgs) ToIsLbPoolFailsafePolicyPtrOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolFailsafePolicyOutput).ToIsLbPoolFailsafePolicyPtrOutputWithContext(ctx) +} + +// IsLbPoolFailsafePolicyPtrInput is an input type that accepts IsLbPoolFailsafePolicyArgs, IsLbPoolFailsafePolicyPtr and IsLbPoolFailsafePolicyPtrOutput values. +// You can construct a concrete instance of `IsLbPoolFailsafePolicyPtrInput` via: +// +// IsLbPoolFailsafePolicyArgs{...} +// +// or: +// +// nil +type IsLbPoolFailsafePolicyPtrInput interface { + pulumi.Input + + ToIsLbPoolFailsafePolicyPtrOutput() IsLbPoolFailsafePolicyPtrOutput + ToIsLbPoolFailsafePolicyPtrOutputWithContext(context.Context) IsLbPoolFailsafePolicyPtrOutput +} + +type isLbPoolFailsafePolicyPtrType IsLbPoolFailsafePolicyArgs + +func IsLbPoolFailsafePolicyPtr(v *IsLbPoolFailsafePolicyArgs) IsLbPoolFailsafePolicyPtrInput { + return (*isLbPoolFailsafePolicyPtrType)(v) +} + +func (*isLbPoolFailsafePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbPoolFailsafePolicy)(nil)).Elem() +} + +func (i *isLbPoolFailsafePolicyPtrType) ToIsLbPoolFailsafePolicyPtrOutput() IsLbPoolFailsafePolicyPtrOutput { + return i.ToIsLbPoolFailsafePolicyPtrOutputWithContext(context.Background()) +} + +func (i *isLbPoolFailsafePolicyPtrType) ToIsLbPoolFailsafePolicyPtrOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolFailsafePolicyPtrOutput) +} + +type IsLbPoolFailsafePolicyOutput struct{ *pulumi.OutputState } + +func (IsLbPoolFailsafePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbPoolFailsafePolicy)(nil)).Elem() +} + +func (o IsLbPoolFailsafePolicyOutput) ToIsLbPoolFailsafePolicyOutput() IsLbPoolFailsafePolicyOutput { + return o +} + +func (o IsLbPoolFailsafePolicyOutput) ToIsLbPoolFailsafePolicyOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyOutput { + return o +} + +func (o IsLbPoolFailsafePolicyOutput) ToIsLbPoolFailsafePolicyPtrOutput() IsLbPoolFailsafePolicyPtrOutput { + return o.ToIsLbPoolFailsafePolicyPtrOutputWithContext(context.Background()) +} + +func (o IsLbPoolFailsafePolicyOutput) ToIsLbPoolFailsafePolicyPtrOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsLbPoolFailsafePolicy) *IsLbPoolFailsafePolicy { + return &v + }).(IsLbPoolFailsafePolicyPtrOutput) +} + +// A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsLbPoolFailsafePolicyOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPoolFailsafePolicy) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. +func (o IsLbPoolFailsafePolicyOutput) HealthyMemberThresholdCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsLbPoolFailsafePolicy) *int { return v.HealthyMemberThresholdCount }).(pulumi.IntPtrOutput) +} + +// If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsLbPoolFailsafePolicyOutput) Target() IsLbPoolFailsafePolicyTargetPtrOutput { + return o.ApplyT(func(v IsLbPoolFailsafePolicy) *IsLbPoolFailsafePolicyTarget { return v.Target }).(IsLbPoolFailsafePolicyTargetPtrOutput) +} + +type IsLbPoolFailsafePolicyPtrOutput struct{ *pulumi.OutputState } + +func (IsLbPoolFailsafePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbPoolFailsafePolicy)(nil)).Elem() +} + +func (o IsLbPoolFailsafePolicyPtrOutput) ToIsLbPoolFailsafePolicyPtrOutput() IsLbPoolFailsafePolicyPtrOutput { + return o +} + +func (o IsLbPoolFailsafePolicyPtrOutput) ToIsLbPoolFailsafePolicyPtrOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyPtrOutput { + return o +} + +func (o IsLbPoolFailsafePolicyPtrOutput) Elem() IsLbPoolFailsafePolicyOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicy) IsLbPoolFailsafePolicy { + if v != nil { + return *v + } + var ret IsLbPoolFailsafePolicy + return ret + }).(IsLbPoolFailsafePolicyOutput) +} + +// A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsLbPoolFailsafePolicyPtrOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicy) *string { + if v == nil { + return nil + } + return v.Action + }).(pulumi.StringPtrOutput) +} + +// The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. +func (o IsLbPoolFailsafePolicyPtrOutput) HealthyMemberThresholdCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicy) *int { + if v == nil { + return nil + } + return v.HealthyMemberThresholdCount + }).(pulumi.IntPtrOutput) +} + +// If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsLbPoolFailsafePolicyPtrOutput) Target() IsLbPoolFailsafePolicyTargetPtrOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicy) *IsLbPoolFailsafePolicyTarget { + if v == nil { + return nil + } + return v.Target + }).(IsLbPoolFailsafePolicyTargetPtrOutput) +} + +type IsLbPoolFailsafePolicyTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsLbPoolFailsafePolicyTargetDeleted `pulumi:"deleteds"` + // The URL for this load balancer pool. + Href *string `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id *string `pulumi:"id"` + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name *string `pulumi:"name"` +} + +// IsLbPoolFailsafePolicyTargetInput is an input type that accepts IsLbPoolFailsafePolicyTargetArgs and IsLbPoolFailsafePolicyTargetOutput values. +// You can construct a concrete instance of `IsLbPoolFailsafePolicyTargetInput` via: +// +// IsLbPoolFailsafePolicyTargetArgs{...} +type IsLbPoolFailsafePolicyTargetInput interface { + pulumi.Input + + ToIsLbPoolFailsafePolicyTargetOutput() IsLbPoolFailsafePolicyTargetOutput + ToIsLbPoolFailsafePolicyTargetOutputWithContext(context.Context) IsLbPoolFailsafePolicyTargetOutput +} + +type IsLbPoolFailsafePolicyTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsLbPoolFailsafePolicyTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this load balancer pool. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsLbPoolFailsafePolicyTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (i IsLbPoolFailsafePolicyTargetArgs) ToIsLbPoolFailsafePolicyTargetOutput() IsLbPoolFailsafePolicyTargetOutput { + return i.ToIsLbPoolFailsafePolicyTargetOutputWithContext(context.Background()) +} + +func (i IsLbPoolFailsafePolicyTargetArgs) ToIsLbPoolFailsafePolicyTargetOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolFailsafePolicyTargetOutput) +} + +func (i IsLbPoolFailsafePolicyTargetArgs) ToIsLbPoolFailsafePolicyTargetPtrOutput() IsLbPoolFailsafePolicyTargetPtrOutput { + return i.ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(context.Background()) +} + +func (i IsLbPoolFailsafePolicyTargetArgs) ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolFailsafePolicyTargetOutput).ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(ctx) +} + +// IsLbPoolFailsafePolicyTargetPtrInput is an input type that accepts IsLbPoolFailsafePolicyTargetArgs, IsLbPoolFailsafePolicyTargetPtr and IsLbPoolFailsafePolicyTargetPtrOutput values. +// You can construct a concrete instance of `IsLbPoolFailsafePolicyTargetPtrInput` via: +// +// IsLbPoolFailsafePolicyTargetArgs{...} +// +// or: +// +// nil +type IsLbPoolFailsafePolicyTargetPtrInput interface { + pulumi.Input + + ToIsLbPoolFailsafePolicyTargetPtrOutput() IsLbPoolFailsafePolicyTargetPtrOutput + ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(context.Context) IsLbPoolFailsafePolicyTargetPtrOutput +} + +type isLbPoolFailsafePolicyTargetPtrType IsLbPoolFailsafePolicyTargetArgs + +func IsLbPoolFailsafePolicyTargetPtr(v *IsLbPoolFailsafePolicyTargetArgs) IsLbPoolFailsafePolicyTargetPtrInput { + return (*isLbPoolFailsafePolicyTargetPtrType)(v) +} + +func (*isLbPoolFailsafePolicyTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (i *isLbPoolFailsafePolicyTargetPtrType) ToIsLbPoolFailsafePolicyTargetPtrOutput() IsLbPoolFailsafePolicyTargetPtrOutput { + return i.ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(context.Background()) +} + +func (i *isLbPoolFailsafePolicyTargetPtrType) ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolFailsafePolicyTargetPtrOutput) +} + +type IsLbPoolFailsafePolicyTargetOutput struct{ *pulumi.OutputState } + +func (IsLbPoolFailsafePolicyTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (o IsLbPoolFailsafePolicyTargetOutput) ToIsLbPoolFailsafePolicyTargetOutput() IsLbPoolFailsafePolicyTargetOutput { + return o +} + +func (o IsLbPoolFailsafePolicyTargetOutput) ToIsLbPoolFailsafePolicyTargetOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetOutput { + return o +} + +func (o IsLbPoolFailsafePolicyTargetOutput) ToIsLbPoolFailsafePolicyTargetPtrOutput() IsLbPoolFailsafePolicyTargetPtrOutput { + return o.ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(context.Background()) +} + +func (o IsLbPoolFailsafePolicyTargetOutput) ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsLbPoolFailsafePolicyTarget) *IsLbPoolFailsafePolicyTarget { + return &v + }).(IsLbPoolFailsafePolicyTargetPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsLbPoolFailsafePolicyTargetOutput) Deleteds() IsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return o.ApplyT(func(v IsLbPoolFailsafePolicyTarget) []IsLbPoolFailsafePolicyTargetDeleted { return v.Deleteds }).(IsLbPoolFailsafePolicyTargetDeletedArrayOutput) +} + +// The URL for this load balancer pool. +func (o IsLbPoolFailsafePolicyTargetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPoolFailsafePolicyTarget) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this load balancer pool. +func (o IsLbPoolFailsafePolicyTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPoolFailsafePolicyTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this load balancer pool. The name is unique across all pools for the load balancer. +func (o IsLbPoolFailsafePolicyTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPoolFailsafePolicyTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsLbPoolFailsafePolicyTargetPtrOutput struct{ *pulumi.OutputState } + +func (IsLbPoolFailsafePolicyTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsLbPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (o IsLbPoolFailsafePolicyTargetPtrOutput) ToIsLbPoolFailsafePolicyTargetPtrOutput() IsLbPoolFailsafePolicyTargetPtrOutput { + return o +} + +func (o IsLbPoolFailsafePolicyTargetPtrOutput) ToIsLbPoolFailsafePolicyTargetPtrOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetPtrOutput { + return o +} + +func (o IsLbPoolFailsafePolicyTargetPtrOutput) Elem() IsLbPoolFailsafePolicyTargetOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicyTarget) IsLbPoolFailsafePolicyTarget { + if v != nil { + return *v + } + var ret IsLbPoolFailsafePolicyTarget + return ret + }).(IsLbPoolFailsafePolicyTargetOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsLbPoolFailsafePolicyTargetPtrOutput) Deleteds() IsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicyTarget) []IsLbPoolFailsafePolicyTargetDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsLbPoolFailsafePolicyTargetDeletedArrayOutput) +} + +// The URL for this load balancer pool. +func (o IsLbPoolFailsafePolicyTargetPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicyTarget) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this load balancer pool. +func (o IsLbPoolFailsafePolicyTargetPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicyTarget) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this load balancer pool. The name is unique across all pools for the load balancer. +func (o IsLbPoolFailsafePolicyTargetPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsLbPoolFailsafePolicyTarget) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +type IsLbPoolFailsafePolicyTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsLbPoolFailsafePolicyTargetDeletedInput is an input type that accepts IsLbPoolFailsafePolicyTargetDeletedArgs and IsLbPoolFailsafePolicyTargetDeletedOutput values. +// You can construct a concrete instance of `IsLbPoolFailsafePolicyTargetDeletedInput` via: +// +// IsLbPoolFailsafePolicyTargetDeletedArgs{...} +type IsLbPoolFailsafePolicyTargetDeletedInput interface { + pulumi.Input + + ToIsLbPoolFailsafePolicyTargetDeletedOutput() IsLbPoolFailsafePolicyTargetDeletedOutput + ToIsLbPoolFailsafePolicyTargetDeletedOutputWithContext(context.Context) IsLbPoolFailsafePolicyTargetDeletedOutput +} + +type IsLbPoolFailsafePolicyTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsLbPoolFailsafePolicyTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (i IsLbPoolFailsafePolicyTargetDeletedArgs) ToIsLbPoolFailsafePolicyTargetDeletedOutput() IsLbPoolFailsafePolicyTargetDeletedOutput { + return i.ToIsLbPoolFailsafePolicyTargetDeletedOutputWithContext(context.Background()) +} + +func (i IsLbPoolFailsafePolicyTargetDeletedArgs) ToIsLbPoolFailsafePolicyTargetDeletedOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolFailsafePolicyTargetDeletedOutput) +} + +// IsLbPoolFailsafePolicyTargetDeletedArrayInput is an input type that accepts IsLbPoolFailsafePolicyTargetDeletedArray and IsLbPoolFailsafePolicyTargetDeletedArrayOutput values. +// You can construct a concrete instance of `IsLbPoolFailsafePolicyTargetDeletedArrayInput` via: +// +// IsLbPoolFailsafePolicyTargetDeletedArray{ IsLbPoolFailsafePolicyTargetDeletedArgs{...} } +type IsLbPoolFailsafePolicyTargetDeletedArrayInput interface { + pulumi.Input + + ToIsLbPoolFailsafePolicyTargetDeletedArrayOutput() IsLbPoolFailsafePolicyTargetDeletedArrayOutput + ToIsLbPoolFailsafePolicyTargetDeletedArrayOutputWithContext(context.Context) IsLbPoolFailsafePolicyTargetDeletedArrayOutput +} + +type IsLbPoolFailsafePolicyTargetDeletedArray []IsLbPoolFailsafePolicyTargetDeletedInput + +func (IsLbPoolFailsafePolicyTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (i IsLbPoolFailsafePolicyTargetDeletedArray) ToIsLbPoolFailsafePolicyTargetDeletedArrayOutput() IsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return i.ToIsLbPoolFailsafePolicyTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsLbPoolFailsafePolicyTargetDeletedArray) ToIsLbPoolFailsafePolicyTargetDeletedArrayOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPoolFailsafePolicyTargetDeletedArrayOutput) +} + +type IsLbPoolFailsafePolicyTargetDeletedOutput struct{ *pulumi.OutputState } + +func (IsLbPoolFailsafePolicyTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (o IsLbPoolFailsafePolicyTargetDeletedOutput) ToIsLbPoolFailsafePolicyTargetDeletedOutput() IsLbPoolFailsafePolicyTargetDeletedOutput { + return o +} + +func (o IsLbPoolFailsafePolicyTargetDeletedOutput) ToIsLbPoolFailsafePolicyTargetDeletedOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsLbPoolFailsafePolicyTargetDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPoolFailsafePolicyTargetDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsLbPoolFailsafePolicyTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsLbPoolFailsafePolicyTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (o IsLbPoolFailsafePolicyTargetDeletedArrayOutput) ToIsLbPoolFailsafePolicyTargetDeletedArrayOutput() IsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return o +} + +func (o IsLbPoolFailsafePolicyTargetDeletedArrayOutput) ToIsLbPoolFailsafePolicyTargetDeletedArrayOutputWithContext(ctx context.Context) IsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return o +} + +func (o IsLbPoolFailsafePolicyTargetDeletedArrayOutput) Index(i pulumi.IntInput) IsLbPoolFailsafePolicyTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsLbPoolFailsafePolicyTargetDeleted { + return vs[0].([]IsLbPoolFailsafePolicyTargetDeleted)[vs[1].(int)] + }).(IsLbPoolFailsafePolicyTargetDeletedOutput) +} + +type IsLbPrivateIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address *string `pulumi:"address"` + // The URL for this reserved IP + Href *string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name *string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type + ResourceType *string `pulumi:"resourceType"` +} + +// IsLbPrivateIpInput is an input type that accepts IsLbPrivateIpArgs and IsLbPrivateIpOutput values. +// You can construct a concrete instance of `IsLbPrivateIpInput` via: +// +// IsLbPrivateIpArgs{...} +type IsLbPrivateIpInput interface { + pulumi.Input + + ToIsLbPrivateIpOutput() IsLbPrivateIpOutput + ToIsLbPrivateIpOutputWithContext(context.Context) IsLbPrivateIpOutput +} + +type IsLbPrivateIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringPtrInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringPtrInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringPtrInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsLbPrivateIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbPrivateIp)(nil)).Elem() +} + +func (i IsLbPrivateIpArgs) ToIsLbPrivateIpOutput() IsLbPrivateIpOutput { + return i.ToIsLbPrivateIpOutputWithContext(context.Background()) +} + +func (i IsLbPrivateIpArgs) ToIsLbPrivateIpOutputWithContext(ctx context.Context) IsLbPrivateIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPrivateIpOutput) +} + +// IsLbPrivateIpArrayInput is an input type that accepts IsLbPrivateIpArray and IsLbPrivateIpArrayOutput values. +// You can construct a concrete instance of `IsLbPrivateIpArrayInput` via: +// +// IsLbPrivateIpArray{ IsLbPrivateIpArgs{...} } +type IsLbPrivateIpArrayInput interface { + pulumi.Input + + ToIsLbPrivateIpArrayOutput() IsLbPrivateIpArrayOutput + ToIsLbPrivateIpArrayOutputWithContext(context.Context) IsLbPrivateIpArrayOutput +} + +type IsLbPrivateIpArray []IsLbPrivateIpInput + +func (IsLbPrivateIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbPrivateIp)(nil)).Elem() +} + +func (i IsLbPrivateIpArray) ToIsLbPrivateIpArrayOutput() IsLbPrivateIpArrayOutput { + return i.ToIsLbPrivateIpArrayOutputWithContext(context.Background()) +} + +func (i IsLbPrivateIpArray) ToIsLbPrivateIpArrayOutputWithContext(ctx context.Context) IsLbPrivateIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsLbPrivateIpArrayOutput) +} + +type IsLbPrivateIpOutput struct{ *pulumi.OutputState } + +func (IsLbPrivateIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsLbPrivateIp)(nil)).Elem() +} + +func (o IsLbPrivateIpOutput) ToIsLbPrivateIpOutput() IsLbPrivateIpOutput { + return o +} + +func (o IsLbPrivateIpOutput) ToIsLbPrivateIpOutputWithContext(ctx context.Context) IsLbPrivateIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsLbPrivateIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPrivateIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The URL for this reserved IP +func (o IsLbPrivateIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPrivateIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o IsLbPrivateIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPrivateIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Identifies a reserved IP by a unique property. +func (o IsLbPrivateIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPrivateIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type +func (o IsLbPrivateIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsLbPrivateIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsLbPrivateIpArrayOutput struct{ *pulumi.OutputState } + +func (IsLbPrivateIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsLbPrivateIp)(nil)).Elem() +} + +func (o IsLbPrivateIpArrayOutput) ToIsLbPrivateIpArrayOutput() IsLbPrivateIpArrayOutput { + return o +} + +func (o IsLbPrivateIpArrayOutput) ToIsLbPrivateIpArrayOutputWithContext(ctx context.Context) IsLbPrivateIpArrayOutput { + return o +} + +func (o IsLbPrivateIpArrayOutput) Index(i pulumi.IntInput) IsLbPrivateIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsLbPrivateIp { + return vs[0].([]IsLbPrivateIp)[vs[1].(int)] + }).(IsLbPrivateIpOutput) +} + +type IsNetworkAclRuleType struct { + Action string `pulumi:"action"` + Destination string `pulumi:"destination"` + // Direction of traffic to enforce, either inbound or outbound + Direction string `pulumi:"direction"` + Icmp *IsNetworkAclRuleIcmp `pulumi:"icmp"` + Id *string `pulumi:"id"` + IpVersion *string `pulumi:"ipVersion"` + Name string `pulumi:"name"` + Source string `pulumi:"source"` + Subnets *int `pulumi:"subnets"` + Tcp *IsNetworkAclRuleTcp `pulumi:"tcp"` + Udp *IsNetworkAclRuleUdp `pulumi:"udp"` +} + +// IsNetworkAclRuleTypeInput is an input type that accepts IsNetworkAclRuleTypeArgs and IsNetworkAclRuleTypeOutput values. +// You can construct a concrete instance of `IsNetworkAclRuleTypeInput` via: +// +// IsNetworkAclRuleTypeArgs{...} +type IsNetworkAclRuleTypeInput interface { + pulumi.Input + + ToIsNetworkAclRuleTypeOutput() IsNetworkAclRuleTypeOutput + ToIsNetworkAclRuleTypeOutputWithContext(context.Context) IsNetworkAclRuleTypeOutput +} + +type IsNetworkAclRuleTypeArgs struct { + Action pulumi.StringInput `pulumi:"action"` + Destination pulumi.StringInput `pulumi:"destination"` + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringInput `pulumi:"direction"` + Icmp IsNetworkAclRuleIcmpPtrInput `pulumi:"icmp"` + Id pulumi.StringPtrInput `pulumi:"id"` + IpVersion pulumi.StringPtrInput `pulumi:"ipVersion"` + Name pulumi.StringInput `pulumi:"name"` + Source pulumi.StringInput `pulumi:"source"` + Subnets pulumi.IntPtrInput `pulumi:"subnets"` + Tcp IsNetworkAclRuleTcpPtrInput `pulumi:"tcp"` + Udp IsNetworkAclRuleUdpPtrInput `pulumi:"udp"` +} + +func (IsNetworkAclRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsNetworkAclRuleType)(nil)).Elem() +} + +func (i IsNetworkAclRuleTypeArgs) ToIsNetworkAclRuleTypeOutput() IsNetworkAclRuleTypeOutput { + return i.ToIsNetworkAclRuleTypeOutputWithContext(context.Background()) +} + +func (i IsNetworkAclRuleTypeArgs) ToIsNetworkAclRuleTypeOutputWithContext(ctx context.Context) IsNetworkAclRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleTypeOutput) +} + +// IsNetworkAclRuleTypeArrayInput is an input type that accepts IsNetworkAclRuleTypeArray and IsNetworkAclRuleTypeArrayOutput values. +// You can construct a concrete instance of `IsNetworkAclRuleTypeArrayInput` via: +// +// IsNetworkAclRuleTypeArray{ IsNetworkAclRuleTypeArgs{...} } +type IsNetworkAclRuleTypeArrayInput interface { + pulumi.Input + + ToIsNetworkAclRuleTypeArrayOutput() IsNetworkAclRuleTypeArrayOutput + ToIsNetworkAclRuleTypeArrayOutputWithContext(context.Context) IsNetworkAclRuleTypeArrayOutput +} + +type IsNetworkAclRuleTypeArray []IsNetworkAclRuleTypeInput + +func (IsNetworkAclRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsNetworkAclRuleType)(nil)).Elem() +} + +func (i IsNetworkAclRuleTypeArray) ToIsNetworkAclRuleTypeArrayOutput() IsNetworkAclRuleTypeArrayOutput { + return i.ToIsNetworkAclRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i IsNetworkAclRuleTypeArray) ToIsNetworkAclRuleTypeArrayOutputWithContext(ctx context.Context) IsNetworkAclRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleTypeArrayOutput) +} + +type IsNetworkAclRuleTypeOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsNetworkAclRuleType)(nil)).Elem() +} + +func (o IsNetworkAclRuleTypeOutput) ToIsNetworkAclRuleTypeOutput() IsNetworkAclRuleTypeOutput { + return o +} + +func (o IsNetworkAclRuleTypeOutput) ToIsNetworkAclRuleTypeOutputWithContext(ctx context.Context) IsNetworkAclRuleTypeOutput { + return o +} + +func (o IsNetworkAclRuleTypeOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) string { return v.Action }).(pulumi.StringOutput) +} + +func (o IsNetworkAclRuleTypeOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) string { return v.Destination }).(pulumi.StringOutput) +} + +// Direction of traffic to enforce, either inbound or outbound +func (o IsNetworkAclRuleTypeOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) string { return v.Direction }).(pulumi.StringOutput) +} + +func (o IsNetworkAclRuleTypeOutput) Icmp() IsNetworkAclRuleIcmpPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) *IsNetworkAclRuleIcmp { return v.Icmp }).(IsNetworkAclRuleIcmpPtrOutput) +} + +func (o IsNetworkAclRuleTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o IsNetworkAclRuleTypeOutput) IpVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) *string { return v.IpVersion }).(pulumi.StringPtrOutput) +} + +func (o IsNetworkAclRuleTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) string { return v.Name }).(pulumi.StringOutput) +} + +func (o IsNetworkAclRuleTypeOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) string { return v.Source }).(pulumi.StringOutput) +} + +func (o IsNetworkAclRuleTypeOutput) Subnets() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) *int { return v.Subnets }).(pulumi.IntPtrOutput) +} + +func (o IsNetworkAclRuleTypeOutput) Tcp() IsNetworkAclRuleTcpPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) *IsNetworkAclRuleTcp { return v.Tcp }).(IsNetworkAclRuleTcpPtrOutput) +} + +func (o IsNetworkAclRuleTypeOutput) Udp() IsNetworkAclRuleUdpPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleType) *IsNetworkAclRuleUdp { return v.Udp }).(IsNetworkAclRuleUdpPtrOutput) +} + +type IsNetworkAclRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsNetworkAclRuleType)(nil)).Elem() +} + +func (o IsNetworkAclRuleTypeArrayOutput) ToIsNetworkAclRuleTypeArrayOutput() IsNetworkAclRuleTypeArrayOutput { + return o +} + +func (o IsNetworkAclRuleTypeArrayOutput) ToIsNetworkAclRuleTypeArrayOutputWithContext(ctx context.Context) IsNetworkAclRuleTypeArrayOutput { + return o +} + +func (o IsNetworkAclRuleTypeArrayOutput) Index(i pulumi.IntInput) IsNetworkAclRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsNetworkAclRuleType { + return vs[0].([]IsNetworkAclRuleType)[vs[1].(int)] + }).(IsNetworkAclRuleTypeOutput) +} + +type IsNetworkAclRuleIcmp struct { + // The ICMP traffic code to allow. Valid values from 0 to 255. + Code *int `pulumi:"code"` + // The ICMP traffic type to allow. Valid values from 0 to 254. + Type *int `pulumi:"type"` +} + +// IsNetworkAclRuleIcmpInput is an input type that accepts IsNetworkAclRuleIcmpArgs and IsNetworkAclRuleIcmpOutput values. +// You can construct a concrete instance of `IsNetworkAclRuleIcmpInput` via: +// +// IsNetworkAclRuleIcmpArgs{...} +type IsNetworkAclRuleIcmpInput interface { + pulumi.Input + + ToIsNetworkAclRuleIcmpOutput() IsNetworkAclRuleIcmpOutput + ToIsNetworkAclRuleIcmpOutputWithContext(context.Context) IsNetworkAclRuleIcmpOutput +} + +type IsNetworkAclRuleIcmpArgs struct { + // The ICMP traffic code to allow. Valid values from 0 to 255. + Code pulumi.IntPtrInput `pulumi:"code"` + // The ICMP traffic type to allow. Valid values from 0 to 254. + Type pulumi.IntPtrInput `pulumi:"type"` +} + +func (IsNetworkAclRuleIcmpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (i IsNetworkAclRuleIcmpArgs) ToIsNetworkAclRuleIcmpOutput() IsNetworkAclRuleIcmpOutput { + return i.ToIsNetworkAclRuleIcmpOutputWithContext(context.Background()) +} + +func (i IsNetworkAclRuleIcmpArgs) ToIsNetworkAclRuleIcmpOutputWithContext(ctx context.Context) IsNetworkAclRuleIcmpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleIcmpOutput) +} + +func (i IsNetworkAclRuleIcmpArgs) ToIsNetworkAclRuleIcmpPtrOutput() IsNetworkAclRuleIcmpPtrOutput { + return i.ToIsNetworkAclRuleIcmpPtrOutputWithContext(context.Background()) +} + +func (i IsNetworkAclRuleIcmpArgs) ToIsNetworkAclRuleIcmpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleIcmpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleIcmpOutput).ToIsNetworkAclRuleIcmpPtrOutputWithContext(ctx) +} + +// IsNetworkAclRuleIcmpPtrInput is an input type that accepts IsNetworkAclRuleIcmpArgs, IsNetworkAclRuleIcmpPtr and IsNetworkAclRuleIcmpPtrOutput values. +// You can construct a concrete instance of `IsNetworkAclRuleIcmpPtrInput` via: +// +// IsNetworkAclRuleIcmpArgs{...} +// +// or: +// +// nil +type IsNetworkAclRuleIcmpPtrInput interface { + pulumi.Input + + ToIsNetworkAclRuleIcmpPtrOutput() IsNetworkAclRuleIcmpPtrOutput + ToIsNetworkAclRuleIcmpPtrOutputWithContext(context.Context) IsNetworkAclRuleIcmpPtrOutput +} + +type isNetworkAclRuleIcmpPtrType IsNetworkAclRuleIcmpArgs + +func IsNetworkAclRuleIcmpPtr(v *IsNetworkAclRuleIcmpArgs) IsNetworkAclRuleIcmpPtrInput { + return (*isNetworkAclRuleIcmpPtrType)(v) +} + +func (*isNetworkAclRuleIcmpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (i *isNetworkAclRuleIcmpPtrType) ToIsNetworkAclRuleIcmpPtrOutput() IsNetworkAclRuleIcmpPtrOutput { + return i.ToIsNetworkAclRuleIcmpPtrOutputWithContext(context.Background()) +} + +func (i *isNetworkAclRuleIcmpPtrType) ToIsNetworkAclRuleIcmpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleIcmpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleIcmpPtrOutput) +} + +type IsNetworkAclRuleIcmpOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleIcmpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (o IsNetworkAclRuleIcmpOutput) ToIsNetworkAclRuleIcmpOutput() IsNetworkAclRuleIcmpOutput { + return o +} + +func (o IsNetworkAclRuleIcmpOutput) ToIsNetworkAclRuleIcmpOutputWithContext(ctx context.Context) IsNetworkAclRuleIcmpOutput { + return o +} + +func (o IsNetworkAclRuleIcmpOutput) ToIsNetworkAclRuleIcmpPtrOutput() IsNetworkAclRuleIcmpPtrOutput { + return o.ToIsNetworkAclRuleIcmpPtrOutputWithContext(context.Background()) +} + +func (o IsNetworkAclRuleIcmpOutput) ToIsNetworkAclRuleIcmpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleIcmpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsNetworkAclRuleIcmp) *IsNetworkAclRuleIcmp { + return &v + }).(IsNetworkAclRuleIcmpPtrOutput) +} + +// The ICMP traffic code to allow. Valid values from 0 to 255. +func (o IsNetworkAclRuleIcmpOutput) Code() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleIcmp) *int { return v.Code }).(pulumi.IntPtrOutput) +} + +// The ICMP traffic type to allow. Valid values from 0 to 254. +func (o IsNetworkAclRuleIcmpOutput) Type() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleIcmp) *int { return v.Type }).(pulumi.IntPtrOutput) +} + +type IsNetworkAclRuleIcmpPtrOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleIcmpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (o IsNetworkAclRuleIcmpPtrOutput) ToIsNetworkAclRuleIcmpPtrOutput() IsNetworkAclRuleIcmpPtrOutput { + return o +} + +func (o IsNetworkAclRuleIcmpPtrOutput) ToIsNetworkAclRuleIcmpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleIcmpPtrOutput { + return o +} + +func (o IsNetworkAclRuleIcmpPtrOutput) Elem() IsNetworkAclRuleIcmpOutput { + return o.ApplyT(func(v *IsNetworkAclRuleIcmp) IsNetworkAclRuleIcmp { + if v != nil { + return *v + } + var ret IsNetworkAclRuleIcmp + return ret + }).(IsNetworkAclRuleIcmpOutput) +} + +// The ICMP traffic code to allow. Valid values from 0 to 255. +func (o IsNetworkAclRuleIcmpPtrOutput) Code() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleIcmp) *int { + if v == nil { + return nil + } + return v.Code + }).(pulumi.IntPtrOutput) +} + +// The ICMP traffic type to allow. Valid values from 0 to 254. +func (o IsNetworkAclRuleIcmpPtrOutput) Type() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleIcmp) *int { + if v == nil { + return nil + } + return v.Type + }).(pulumi.IntPtrOutput) +} + +type IsNetworkAclRuleTcp struct { + // The highest port in the range of ports to be matched + PortMax *int `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin *int `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax *int `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin *int `pulumi:"sourcePortMin"` +} + +// IsNetworkAclRuleTcpInput is an input type that accepts IsNetworkAclRuleTcpArgs and IsNetworkAclRuleTcpOutput values. +// You can construct a concrete instance of `IsNetworkAclRuleTcpInput` via: +// +// IsNetworkAclRuleTcpArgs{...} +type IsNetworkAclRuleTcpInput interface { + pulumi.Input + + ToIsNetworkAclRuleTcpOutput() IsNetworkAclRuleTcpOutput + ToIsNetworkAclRuleTcpOutputWithContext(context.Context) IsNetworkAclRuleTcpOutput +} + +type IsNetworkAclRuleTcpArgs struct { + // The highest port in the range of ports to be matched + PortMax pulumi.IntPtrInput `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin pulumi.IntPtrInput `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax pulumi.IntPtrInput `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin pulumi.IntPtrInput `pulumi:"sourcePortMin"` +} + +func (IsNetworkAclRuleTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsNetworkAclRuleTcp)(nil)).Elem() +} + +func (i IsNetworkAclRuleTcpArgs) ToIsNetworkAclRuleTcpOutput() IsNetworkAclRuleTcpOutput { + return i.ToIsNetworkAclRuleTcpOutputWithContext(context.Background()) +} + +func (i IsNetworkAclRuleTcpArgs) ToIsNetworkAclRuleTcpOutputWithContext(ctx context.Context) IsNetworkAclRuleTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleTcpOutput) +} + +func (i IsNetworkAclRuleTcpArgs) ToIsNetworkAclRuleTcpPtrOutput() IsNetworkAclRuleTcpPtrOutput { + return i.ToIsNetworkAclRuleTcpPtrOutputWithContext(context.Background()) +} + +func (i IsNetworkAclRuleTcpArgs) ToIsNetworkAclRuleTcpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleTcpOutput).ToIsNetworkAclRuleTcpPtrOutputWithContext(ctx) +} + +// IsNetworkAclRuleTcpPtrInput is an input type that accepts IsNetworkAclRuleTcpArgs, IsNetworkAclRuleTcpPtr and IsNetworkAclRuleTcpPtrOutput values. +// You can construct a concrete instance of `IsNetworkAclRuleTcpPtrInput` via: +// +// IsNetworkAclRuleTcpArgs{...} +// +// or: +// +// nil +type IsNetworkAclRuleTcpPtrInput interface { + pulumi.Input + + ToIsNetworkAclRuleTcpPtrOutput() IsNetworkAclRuleTcpPtrOutput + ToIsNetworkAclRuleTcpPtrOutputWithContext(context.Context) IsNetworkAclRuleTcpPtrOutput +} + +type isNetworkAclRuleTcpPtrType IsNetworkAclRuleTcpArgs + +func IsNetworkAclRuleTcpPtr(v *IsNetworkAclRuleTcpArgs) IsNetworkAclRuleTcpPtrInput { + return (*isNetworkAclRuleTcpPtrType)(v) +} + +func (*isNetworkAclRuleTcpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAclRuleTcp)(nil)).Elem() +} + +func (i *isNetworkAclRuleTcpPtrType) ToIsNetworkAclRuleTcpPtrOutput() IsNetworkAclRuleTcpPtrOutput { + return i.ToIsNetworkAclRuleTcpPtrOutputWithContext(context.Background()) +} + +func (i *isNetworkAclRuleTcpPtrType) ToIsNetworkAclRuleTcpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleTcpPtrOutput) +} + +type IsNetworkAclRuleTcpOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsNetworkAclRuleTcp)(nil)).Elem() +} + +func (o IsNetworkAclRuleTcpOutput) ToIsNetworkAclRuleTcpOutput() IsNetworkAclRuleTcpOutput { + return o +} + +func (o IsNetworkAclRuleTcpOutput) ToIsNetworkAclRuleTcpOutputWithContext(ctx context.Context) IsNetworkAclRuleTcpOutput { + return o +} + +func (o IsNetworkAclRuleTcpOutput) ToIsNetworkAclRuleTcpPtrOutput() IsNetworkAclRuleTcpPtrOutput { + return o.ToIsNetworkAclRuleTcpPtrOutputWithContext(context.Background()) +} + +func (o IsNetworkAclRuleTcpOutput) ToIsNetworkAclRuleTcpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleTcpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsNetworkAclRuleTcp) *IsNetworkAclRuleTcp { + return &v + }).(IsNetworkAclRuleTcpPtrOutput) +} + +// The highest port in the range of ports to be matched +func (o IsNetworkAclRuleTcpOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleTcp) *int { return v.PortMax }).(pulumi.IntPtrOutput) +} + +// The lowest port in the range of ports to be matched +func (o IsNetworkAclRuleTcpOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleTcp) *int { return v.PortMin }).(pulumi.IntPtrOutput) +} + +// The highest port in the range of ports to be matched +func (o IsNetworkAclRuleTcpOutput) SourcePortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleTcp) *int { return v.SourcePortMax }).(pulumi.IntPtrOutput) +} + +// The lowest port in the range of ports to be matched +func (o IsNetworkAclRuleTcpOutput) SourcePortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleTcp) *int { return v.SourcePortMin }).(pulumi.IntPtrOutput) +} + +type IsNetworkAclRuleTcpPtrOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleTcpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAclRuleTcp)(nil)).Elem() +} + +func (o IsNetworkAclRuleTcpPtrOutput) ToIsNetworkAclRuleTcpPtrOutput() IsNetworkAclRuleTcpPtrOutput { + return o +} + +func (o IsNetworkAclRuleTcpPtrOutput) ToIsNetworkAclRuleTcpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleTcpPtrOutput { + return o +} + +func (o IsNetworkAclRuleTcpPtrOutput) Elem() IsNetworkAclRuleTcpOutput { + return o.ApplyT(func(v *IsNetworkAclRuleTcp) IsNetworkAclRuleTcp { + if v != nil { + return *v + } + var ret IsNetworkAclRuleTcp + return ret + }).(IsNetworkAclRuleTcpOutput) +} + +// The highest port in the range of ports to be matched +func (o IsNetworkAclRuleTcpPtrOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleTcp) *int { + if v == nil { + return nil + } + return v.PortMax + }).(pulumi.IntPtrOutput) +} + +// The lowest port in the range of ports to be matched +func (o IsNetworkAclRuleTcpPtrOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleTcp) *int { + if v == nil { + return nil + } + return v.PortMin + }).(pulumi.IntPtrOutput) +} + +// The highest port in the range of ports to be matched +func (o IsNetworkAclRuleTcpPtrOutput) SourcePortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleTcp) *int { + if v == nil { + return nil + } + return v.SourcePortMax + }).(pulumi.IntPtrOutput) +} + +// The lowest port in the range of ports to be matched +func (o IsNetworkAclRuleTcpPtrOutput) SourcePortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleTcp) *int { + if v == nil { + return nil + } + return v.SourcePortMin + }).(pulumi.IntPtrOutput) +} + +type IsNetworkAclRuleUdp struct { + // The highest port in the range of ports to be matched + PortMax *int `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin *int `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax *int `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin *int `pulumi:"sourcePortMin"` +} + +// IsNetworkAclRuleUdpInput is an input type that accepts IsNetworkAclRuleUdpArgs and IsNetworkAclRuleUdpOutput values. +// You can construct a concrete instance of `IsNetworkAclRuleUdpInput` via: +// +// IsNetworkAclRuleUdpArgs{...} +type IsNetworkAclRuleUdpInput interface { + pulumi.Input + + ToIsNetworkAclRuleUdpOutput() IsNetworkAclRuleUdpOutput + ToIsNetworkAclRuleUdpOutputWithContext(context.Context) IsNetworkAclRuleUdpOutput +} + +type IsNetworkAclRuleUdpArgs struct { + // The highest port in the range of ports to be matched + PortMax pulumi.IntPtrInput `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin pulumi.IntPtrInput `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax pulumi.IntPtrInput `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin pulumi.IntPtrInput `pulumi:"sourcePortMin"` +} + +func (IsNetworkAclRuleUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsNetworkAclRuleUdp)(nil)).Elem() +} + +func (i IsNetworkAclRuleUdpArgs) ToIsNetworkAclRuleUdpOutput() IsNetworkAclRuleUdpOutput { + return i.ToIsNetworkAclRuleUdpOutputWithContext(context.Background()) +} + +func (i IsNetworkAclRuleUdpArgs) ToIsNetworkAclRuleUdpOutputWithContext(ctx context.Context) IsNetworkAclRuleUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleUdpOutput) +} + +func (i IsNetworkAclRuleUdpArgs) ToIsNetworkAclRuleUdpPtrOutput() IsNetworkAclRuleUdpPtrOutput { + return i.ToIsNetworkAclRuleUdpPtrOutputWithContext(context.Background()) +} + +func (i IsNetworkAclRuleUdpArgs) ToIsNetworkAclRuleUdpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleUdpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleUdpOutput).ToIsNetworkAclRuleUdpPtrOutputWithContext(ctx) +} + +// IsNetworkAclRuleUdpPtrInput is an input type that accepts IsNetworkAclRuleUdpArgs, IsNetworkAclRuleUdpPtr and IsNetworkAclRuleUdpPtrOutput values. +// You can construct a concrete instance of `IsNetworkAclRuleUdpPtrInput` via: +// +// IsNetworkAclRuleUdpArgs{...} +// +// or: +// +// nil +type IsNetworkAclRuleUdpPtrInput interface { + pulumi.Input + + ToIsNetworkAclRuleUdpPtrOutput() IsNetworkAclRuleUdpPtrOutput + ToIsNetworkAclRuleUdpPtrOutputWithContext(context.Context) IsNetworkAclRuleUdpPtrOutput +} + +type isNetworkAclRuleUdpPtrType IsNetworkAclRuleUdpArgs + +func IsNetworkAclRuleUdpPtr(v *IsNetworkAclRuleUdpArgs) IsNetworkAclRuleUdpPtrInput { + return (*isNetworkAclRuleUdpPtrType)(v) +} + +func (*isNetworkAclRuleUdpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAclRuleUdp)(nil)).Elem() +} + +func (i *isNetworkAclRuleUdpPtrType) ToIsNetworkAclRuleUdpPtrOutput() IsNetworkAclRuleUdpPtrOutput { + return i.ToIsNetworkAclRuleUdpPtrOutputWithContext(context.Background()) +} + +func (i *isNetworkAclRuleUdpPtrType) ToIsNetworkAclRuleUdpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleUdpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsNetworkAclRuleUdpPtrOutput) +} + +type IsNetworkAclRuleUdpOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsNetworkAclRuleUdp)(nil)).Elem() +} + +func (o IsNetworkAclRuleUdpOutput) ToIsNetworkAclRuleUdpOutput() IsNetworkAclRuleUdpOutput { + return o +} + +func (o IsNetworkAclRuleUdpOutput) ToIsNetworkAclRuleUdpOutputWithContext(ctx context.Context) IsNetworkAclRuleUdpOutput { + return o +} + +func (o IsNetworkAclRuleUdpOutput) ToIsNetworkAclRuleUdpPtrOutput() IsNetworkAclRuleUdpPtrOutput { + return o.ToIsNetworkAclRuleUdpPtrOutputWithContext(context.Background()) +} + +func (o IsNetworkAclRuleUdpOutput) ToIsNetworkAclRuleUdpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleUdpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsNetworkAclRuleUdp) *IsNetworkAclRuleUdp { + return &v + }).(IsNetworkAclRuleUdpPtrOutput) +} + +// The highest port in the range of ports to be matched +func (o IsNetworkAclRuleUdpOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleUdp) *int { return v.PortMax }).(pulumi.IntPtrOutput) +} + +// The lowest port in the range of ports to be matched +func (o IsNetworkAclRuleUdpOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleUdp) *int { return v.PortMin }).(pulumi.IntPtrOutput) +} + +// The highest port in the range of ports to be matched +func (o IsNetworkAclRuleUdpOutput) SourcePortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleUdp) *int { return v.SourcePortMax }).(pulumi.IntPtrOutput) +} + +// The lowest port in the range of ports to be matched +func (o IsNetworkAclRuleUdpOutput) SourcePortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsNetworkAclRuleUdp) *int { return v.SourcePortMin }).(pulumi.IntPtrOutput) +} + +type IsNetworkAclRuleUdpPtrOutput struct{ *pulumi.OutputState } + +func (IsNetworkAclRuleUdpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsNetworkAclRuleUdp)(nil)).Elem() +} + +func (o IsNetworkAclRuleUdpPtrOutput) ToIsNetworkAclRuleUdpPtrOutput() IsNetworkAclRuleUdpPtrOutput { + return o +} + +func (o IsNetworkAclRuleUdpPtrOutput) ToIsNetworkAclRuleUdpPtrOutputWithContext(ctx context.Context) IsNetworkAclRuleUdpPtrOutput { + return o +} + +func (o IsNetworkAclRuleUdpPtrOutput) Elem() IsNetworkAclRuleUdpOutput { + return o.ApplyT(func(v *IsNetworkAclRuleUdp) IsNetworkAclRuleUdp { + if v != nil { + return *v + } + var ret IsNetworkAclRuleUdp + return ret + }).(IsNetworkAclRuleUdpOutput) +} + +// The highest port in the range of ports to be matched +func (o IsNetworkAclRuleUdpPtrOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleUdp) *int { + if v == nil { + return nil + } + return v.PortMax + }).(pulumi.IntPtrOutput) +} + +// The lowest port in the range of ports to be matched +func (o IsNetworkAclRuleUdpPtrOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleUdp) *int { + if v == nil { + return nil + } + return v.PortMin + }).(pulumi.IntPtrOutput) +} + +// The highest port in the range of ports to be matched +func (o IsNetworkAclRuleUdpPtrOutput) SourcePortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleUdp) *int { + if v == nil { + return nil + } + return v.SourcePortMax + }).(pulumi.IntPtrOutput) +} + +// The lowest port in the range of ports to be matched +func (o IsNetworkAclRuleUdpPtrOutput) SourcePortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsNetworkAclRuleUdp) *int { + if v == nil { + return nil + } + return v.SourcePortMin + }).(pulumi.IntPtrOutput) +} + +type IsPublicAddressRangeResourceGroup struct { + // The URL for this resource group. + Href *string `pulumi:"href"` + // The unique identifier for this resource group. + Id *string `pulumi:"id"` + // The name for this resource group. + Name *string `pulumi:"name"` +} + +// IsPublicAddressRangeResourceGroupInput is an input type that accepts IsPublicAddressRangeResourceGroupArgs and IsPublicAddressRangeResourceGroupOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeResourceGroupInput` via: +// +// IsPublicAddressRangeResourceGroupArgs{...} +type IsPublicAddressRangeResourceGroupInput interface { + pulumi.Input + + ToIsPublicAddressRangeResourceGroupOutput() IsPublicAddressRangeResourceGroupOutput + ToIsPublicAddressRangeResourceGroupOutputWithContext(context.Context) IsPublicAddressRangeResourceGroupOutput +} + +type IsPublicAddressRangeResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsPublicAddressRangeResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (i IsPublicAddressRangeResourceGroupArgs) ToIsPublicAddressRangeResourceGroupOutput() IsPublicAddressRangeResourceGroupOutput { + return i.ToIsPublicAddressRangeResourceGroupOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeResourceGroupArgs) ToIsPublicAddressRangeResourceGroupOutputWithContext(ctx context.Context) IsPublicAddressRangeResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeResourceGroupOutput) +} + +func (i IsPublicAddressRangeResourceGroupArgs) ToIsPublicAddressRangeResourceGroupPtrOutput() IsPublicAddressRangeResourceGroupPtrOutput { + return i.ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeResourceGroupArgs) ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeResourceGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeResourceGroupOutput).ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(ctx) +} + +// IsPublicAddressRangeResourceGroupPtrInput is an input type that accepts IsPublicAddressRangeResourceGroupArgs, IsPublicAddressRangeResourceGroupPtr and IsPublicAddressRangeResourceGroupPtrOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeResourceGroupPtrInput` via: +// +// IsPublicAddressRangeResourceGroupArgs{...} +// +// or: +// +// nil +type IsPublicAddressRangeResourceGroupPtrInput interface { + pulumi.Input + + ToIsPublicAddressRangeResourceGroupPtrOutput() IsPublicAddressRangeResourceGroupPtrOutput + ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(context.Context) IsPublicAddressRangeResourceGroupPtrOutput +} + +type isPublicAddressRangeResourceGroupPtrType IsPublicAddressRangeResourceGroupArgs + +func IsPublicAddressRangeResourceGroupPtr(v *IsPublicAddressRangeResourceGroupArgs) IsPublicAddressRangeResourceGroupPtrInput { + return (*isPublicAddressRangeResourceGroupPtrType)(v) +} + +func (*isPublicAddressRangeResourceGroupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (i *isPublicAddressRangeResourceGroupPtrType) ToIsPublicAddressRangeResourceGroupPtrOutput() IsPublicAddressRangeResourceGroupPtrOutput { + return i.ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(context.Background()) +} + +func (i *isPublicAddressRangeResourceGroupPtrType) ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeResourceGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeResourceGroupPtrOutput) +} + +type IsPublicAddressRangeResourceGroupOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (o IsPublicAddressRangeResourceGroupOutput) ToIsPublicAddressRangeResourceGroupOutput() IsPublicAddressRangeResourceGroupOutput { + return o +} + +func (o IsPublicAddressRangeResourceGroupOutput) ToIsPublicAddressRangeResourceGroupOutputWithContext(ctx context.Context) IsPublicAddressRangeResourceGroupOutput { + return o +} + +func (o IsPublicAddressRangeResourceGroupOutput) ToIsPublicAddressRangeResourceGroupPtrOutput() IsPublicAddressRangeResourceGroupPtrOutput { + return o.ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(context.Background()) +} + +func (o IsPublicAddressRangeResourceGroupOutput) ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeResourceGroupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsPublicAddressRangeResourceGroup) *IsPublicAddressRangeResourceGroup { + return &v + }).(IsPublicAddressRangeResourceGroupPtrOutput) +} + +// The URL for this resource group. +func (o IsPublicAddressRangeResourceGroupOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeResourceGroup) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group. +func (o IsPublicAddressRangeResourceGroupOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeResourceGroup) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this resource group. +func (o IsPublicAddressRangeResourceGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeResourceGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsPublicAddressRangeResourceGroupPtrOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeResourceGroupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (o IsPublicAddressRangeResourceGroupPtrOutput) ToIsPublicAddressRangeResourceGroupPtrOutput() IsPublicAddressRangeResourceGroupPtrOutput { + return o +} + +func (o IsPublicAddressRangeResourceGroupPtrOutput) ToIsPublicAddressRangeResourceGroupPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeResourceGroupPtrOutput { + return o +} + +func (o IsPublicAddressRangeResourceGroupPtrOutput) Elem() IsPublicAddressRangeResourceGroupOutput { + return o.ApplyT(func(v *IsPublicAddressRangeResourceGroup) IsPublicAddressRangeResourceGroup { + if v != nil { + return *v + } + var ret IsPublicAddressRangeResourceGroup + return ret + }).(IsPublicAddressRangeResourceGroupOutput) +} + +// The URL for this resource group. +func (o IsPublicAddressRangeResourceGroupPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeResourceGroup) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group. +func (o IsPublicAddressRangeResourceGroupPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeResourceGroup) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this resource group. +func (o IsPublicAddressRangeResourceGroupPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeResourceGroup) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +type IsPublicAddressRangeTarget struct { + // The VPC this public address range is bound to. + Vpc IsPublicAddressRangeTargetVpc `pulumi:"vpc"` + // The zone this public address range resides in. + Zone IsPublicAddressRangeTargetZone `pulumi:"zone"` +} + +// IsPublicAddressRangeTargetInput is an input type that accepts IsPublicAddressRangeTargetArgs and IsPublicAddressRangeTargetOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeTargetInput` via: +// +// IsPublicAddressRangeTargetArgs{...} +type IsPublicAddressRangeTargetInput interface { + pulumi.Input + + ToIsPublicAddressRangeTargetOutput() IsPublicAddressRangeTargetOutput + ToIsPublicAddressRangeTargetOutputWithContext(context.Context) IsPublicAddressRangeTargetOutput +} + +type IsPublicAddressRangeTargetArgs struct { + // The VPC this public address range is bound to. + Vpc IsPublicAddressRangeTargetVpcInput `pulumi:"vpc"` + // The zone this public address range resides in. + Zone IsPublicAddressRangeTargetZoneInput `pulumi:"zone"` +} + +func (IsPublicAddressRangeTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeTarget)(nil)).Elem() +} + +func (i IsPublicAddressRangeTargetArgs) ToIsPublicAddressRangeTargetOutput() IsPublicAddressRangeTargetOutput { + return i.ToIsPublicAddressRangeTargetOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeTargetArgs) ToIsPublicAddressRangeTargetOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetOutput) +} + +func (i IsPublicAddressRangeTargetArgs) ToIsPublicAddressRangeTargetPtrOutput() IsPublicAddressRangeTargetPtrOutput { + return i.ToIsPublicAddressRangeTargetPtrOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeTargetArgs) ToIsPublicAddressRangeTargetPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetOutput).ToIsPublicAddressRangeTargetPtrOutputWithContext(ctx) +} + +// IsPublicAddressRangeTargetPtrInput is an input type that accepts IsPublicAddressRangeTargetArgs, IsPublicAddressRangeTargetPtr and IsPublicAddressRangeTargetPtrOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeTargetPtrInput` via: +// +// IsPublicAddressRangeTargetArgs{...} +// +// or: +// +// nil +type IsPublicAddressRangeTargetPtrInput interface { + pulumi.Input + + ToIsPublicAddressRangeTargetPtrOutput() IsPublicAddressRangeTargetPtrOutput + ToIsPublicAddressRangeTargetPtrOutputWithContext(context.Context) IsPublicAddressRangeTargetPtrOutput +} + +type isPublicAddressRangeTargetPtrType IsPublicAddressRangeTargetArgs + +func IsPublicAddressRangeTargetPtr(v *IsPublicAddressRangeTargetArgs) IsPublicAddressRangeTargetPtrInput { + return (*isPublicAddressRangeTargetPtrType)(v) +} + +func (*isPublicAddressRangeTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRangeTarget)(nil)).Elem() +} + +func (i *isPublicAddressRangeTargetPtrType) ToIsPublicAddressRangeTargetPtrOutput() IsPublicAddressRangeTargetPtrOutput { + return i.ToIsPublicAddressRangeTargetPtrOutputWithContext(context.Background()) +} + +func (i *isPublicAddressRangeTargetPtrType) ToIsPublicAddressRangeTargetPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetPtrOutput) +} + +type IsPublicAddressRangeTargetOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeTarget)(nil)).Elem() +} + +func (o IsPublicAddressRangeTargetOutput) ToIsPublicAddressRangeTargetOutput() IsPublicAddressRangeTargetOutput { + return o +} + +func (o IsPublicAddressRangeTargetOutput) ToIsPublicAddressRangeTargetOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetOutput { + return o +} + +func (o IsPublicAddressRangeTargetOutput) ToIsPublicAddressRangeTargetPtrOutput() IsPublicAddressRangeTargetPtrOutput { + return o.ToIsPublicAddressRangeTargetPtrOutputWithContext(context.Background()) +} + +func (o IsPublicAddressRangeTargetOutput) ToIsPublicAddressRangeTargetPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsPublicAddressRangeTarget) *IsPublicAddressRangeTarget { + return &v + }).(IsPublicAddressRangeTargetPtrOutput) +} + +// The VPC this public address range is bound to. +func (o IsPublicAddressRangeTargetOutput) Vpc() IsPublicAddressRangeTargetVpcOutput { + return o.ApplyT(func(v IsPublicAddressRangeTarget) IsPublicAddressRangeTargetVpc { return v.Vpc }).(IsPublicAddressRangeTargetVpcOutput) +} + +// The zone this public address range resides in. +func (o IsPublicAddressRangeTargetOutput) Zone() IsPublicAddressRangeTargetZoneOutput { + return o.ApplyT(func(v IsPublicAddressRangeTarget) IsPublicAddressRangeTargetZone { return v.Zone }).(IsPublicAddressRangeTargetZoneOutput) +} + +type IsPublicAddressRangeTargetPtrOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRangeTarget)(nil)).Elem() +} + +func (o IsPublicAddressRangeTargetPtrOutput) ToIsPublicAddressRangeTargetPtrOutput() IsPublicAddressRangeTargetPtrOutput { + return o +} + +func (o IsPublicAddressRangeTargetPtrOutput) ToIsPublicAddressRangeTargetPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetPtrOutput { + return o +} + +func (o IsPublicAddressRangeTargetPtrOutput) Elem() IsPublicAddressRangeTargetOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTarget) IsPublicAddressRangeTarget { + if v != nil { + return *v + } + var ret IsPublicAddressRangeTarget + return ret + }).(IsPublicAddressRangeTargetOutput) +} + +// The VPC this public address range is bound to. +func (o IsPublicAddressRangeTargetPtrOutput) Vpc() IsPublicAddressRangeTargetVpcPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTarget) *IsPublicAddressRangeTargetVpc { + if v == nil { + return nil + } + return &v.Vpc + }).(IsPublicAddressRangeTargetVpcPtrOutput) +} + +// The zone this public address range resides in. +func (o IsPublicAddressRangeTargetPtrOutput) Zone() IsPublicAddressRangeTargetZonePtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTarget) *IsPublicAddressRangeTargetZone { + if v == nil { + return nil + } + return &v.Zone + }).(IsPublicAddressRangeTargetZonePtrOutput) +} + +type IsPublicAddressRangeTargetVpc struct { + // The CRN for this VPC. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsPublicAddressRangeTargetVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href *string `pulumi:"href"` + // The unique identifier for this VPC. + Id *string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsPublicAddressRangeTargetVpcInput is an input type that accepts IsPublicAddressRangeTargetVpcArgs and IsPublicAddressRangeTargetVpcOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeTargetVpcInput` via: +// +// IsPublicAddressRangeTargetVpcArgs{...} +type IsPublicAddressRangeTargetVpcInput interface { + pulumi.Input + + ToIsPublicAddressRangeTargetVpcOutput() IsPublicAddressRangeTargetVpcOutput + ToIsPublicAddressRangeTargetVpcOutputWithContext(context.Context) IsPublicAddressRangeTargetVpcOutput +} + +type IsPublicAddressRangeTargetVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsPublicAddressRangeTargetVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsPublicAddressRangeTargetVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (i IsPublicAddressRangeTargetVpcArgs) ToIsPublicAddressRangeTargetVpcOutput() IsPublicAddressRangeTargetVpcOutput { + return i.ToIsPublicAddressRangeTargetVpcOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeTargetVpcArgs) ToIsPublicAddressRangeTargetVpcOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetVpcOutput) +} + +func (i IsPublicAddressRangeTargetVpcArgs) ToIsPublicAddressRangeTargetVpcPtrOutput() IsPublicAddressRangeTargetVpcPtrOutput { + return i.ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeTargetVpcArgs) ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetVpcOutput).ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(ctx) +} + +// IsPublicAddressRangeTargetVpcPtrInput is an input type that accepts IsPublicAddressRangeTargetVpcArgs, IsPublicAddressRangeTargetVpcPtr and IsPublicAddressRangeTargetVpcPtrOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeTargetVpcPtrInput` via: +// +// IsPublicAddressRangeTargetVpcArgs{...} +// +// or: +// +// nil +type IsPublicAddressRangeTargetVpcPtrInput interface { + pulumi.Input + + ToIsPublicAddressRangeTargetVpcPtrOutput() IsPublicAddressRangeTargetVpcPtrOutput + ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(context.Context) IsPublicAddressRangeTargetVpcPtrOutput +} + +type isPublicAddressRangeTargetVpcPtrType IsPublicAddressRangeTargetVpcArgs + +func IsPublicAddressRangeTargetVpcPtr(v *IsPublicAddressRangeTargetVpcArgs) IsPublicAddressRangeTargetVpcPtrInput { + return (*isPublicAddressRangeTargetVpcPtrType)(v) +} + +func (*isPublicAddressRangeTargetVpcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (i *isPublicAddressRangeTargetVpcPtrType) ToIsPublicAddressRangeTargetVpcPtrOutput() IsPublicAddressRangeTargetVpcPtrOutput { + return i.ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(context.Background()) +} + +func (i *isPublicAddressRangeTargetVpcPtrType) ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetVpcPtrOutput) +} + +type IsPublicAddressRangeTargetVpcOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeTargetVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (o IsPublicAddressRangeTargetVpcOutput) ToIsPublicAddressRangeTargetVpcOutput() IsPublicAddressRangeTargetVpcOutput { + return o +} + +func (o IsPublicAddressRangeTargetVpcOutput) ToIsPublicAddressRangeTargetVpcOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcOutput { + return o +} + +func (o IsPublicAddressRangeTargetVpcOutput) ToIsPublicAddressRangeTargetVpcPtrOutput() IsPublicAddressRangeTargetVpcPtrOutput { + return o.ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(context.Background()) +} + +func (o IsPublicAddressRangeTargetVpcOutput) ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsPublicAddressRangeTargetVpc) *IsPublicAddressRangeTargetVpc { + return &v + }).(IsPublicAddressRangeTargetVpcPtrOutput) +} + +// The CRN for this VPC. +func (o IsPublicAddressRangeTargetVpcOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetVpc) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsPublicAddressRangeTargetVpcOutput) Deleteds() IsPublicAddressRangeTargetVpcDeletedArrayOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetVpc) []IsPublicAddressRangeTargetVpcDeleted { return v.Deleteds }).(IsPublicAddressRangeTargetVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o IsPublicAddressRangeTargetVpcOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetVpc) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsPublicAddressRangeTargetVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o IsPublicAddressRangeTargetVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsPublicAddressRangeTargetVpcOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetVpc) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsPublicAddressRangeTargetVpcPtrOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeTargetVpcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (o IsPublicAddressRangeTargetVpcPtrOutput) ToIsPublicAddressRangeTargetVpcPtrOutput() IsPublicAddressRangeTargetVpcPtrOutput { + return o +} + +func (o IsPublicAddressRangeTargetVpcPtrOutput) ToIsPublicAddressRangeTargetVpcPtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcPtrOutput { + return o +} + +func (o IsPublicAddressRangeTargetVpcPtrOutput) Elem() IsPublicAddressRangeTargetVpcOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetVpc) IsPublicAddressRangeTargetVpc { + if v != nil { + return *v + } + var ret IsPublicAddressRangeTargetVpc + return ret + }).(IsPublicAddressRangeTargetVpcOutput) +} + +// The CRN for this VPC. +func (o IsPublicAddressRangeTargetVpcPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetVpc) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsPublicAddressRangeTargetVpcPtrOutput) Deleteds() IsPublicAddressRangeTargetVpcDeletedArrayOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetVpc) []IsPublicAddressRangeTargetVpcDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsPublicAddressRangeTargetVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o IsPublicAddressRangeTargetVpcPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetVpc) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsPublicAddressRangeTargetVpcPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetVpc) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o IsPublicAddressRangeTargetVpcPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetVpc) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsPublicAddressRangeTargetVpcPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetVpc) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsPublicAddressRangeTargetVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsPublicAddressRangeTargetVpcDeletedInput is an input type that accepts IsPublicAddressRangeTargetVpcDeletedArgs and IsPublicAddressRangeTargetVpcDeletedOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeTargetVpcDeletedInput` via: +// +// IsPublicAddressRangeTargetVpcDeletedArgs{...} +type IsPublicAddressRangeTargetVpcDeletedInput interface { + pulumi.Input + + ToIsPublicAddressRangeTargetVpcDeletedOutput() IsPublicAddressRangeTargetVpcDeletedOutput + ToIsPublicAddressRangeTargetVpcDeletedOutputWithContext(context.Context) IsPublicAddressRangeTargetVpcDeletedOutput +} + +type IsPublicAddressRangeTargetVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsPublicAddressRangeTargetVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (i IsPublicAddressRangeTargetVpcDeletedArgs) ToIsPublicAddressRangeTargetVpcDeletedOutput() IsPublicAddressRangeTargetVpcDeletedOutput { + return i.ToIsPublicAddressRangeTargetVpcDeletedOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeTargetVpcDeletedArgs) ToIsPublicAddressRangeTargetVpcDeletedOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetVpcDeletedOutput) +} + +// IsPublicAddressRangeTargetVpcDeletedArrayInput is an input type that accepts IsPublicAddressRangeTargetVpcDeletedArray and IsPublicAddressRangeTargetVpcDeletedArrayOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeTargetVpcDeletedArrayInput` via: +// +// IsPublicAddressRangeTargetVpcDeletedArray{ IsPublicAddressRangeTargetVpcDeletedArgs{...} } +type IsPublicAddressRangeTargetVpcDeletedArrayInput interface { + pulumi.Input + + ToIsPublicAddressRangeTargetVpcDeletedArrayOutput() IsPublicAddressRangeTargetVpcDeletedArrayOutput + ToIsPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(context.Context) IsPublicAddressRangeTargetVpcDeletedArrayOutput +} + +type IsPublicAddressRangeTargetVpcDeletedArray []IsPublicAddressRangeTargetVpcDeletedInput + +func (IsPublicAddressRangeTargetVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (i IsPublicAddressRangeTargetVpcDeletedArray) ToIsPublicAddressRangeTargetVpcDeletedArrayOutput() IsPublicAddressRangeTargetVpcDeletedArrayOutput { + return i.ToIsPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeTargetVpcDeletedArray) ToIsPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetVpcDeletedArrayOutput) +} + +type IsPublicAddressRangeTargetVpcDeletedOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeTargetVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (o IsPublicAddressRangeTargetVpcDeletedOutput) ToIsPublicAddressRangeTargetVpcDeletedOutput() IsPublicAddressRangeTargetVpcDeletedOutput { + return o +} + +func (o IsPublicAddressRangeTargetVpcDeletedOutput) ToIsPublicAddressRangeTargetVpcDeletedOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsPublicAddressRangeTargetVpcDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetVpcDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsPublicAddressRangeTargetVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeTargetVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (o IsPublicAddressRangeTargetVpcDeletedArrayOutput) ToIsPublicAddressRangeTargetVpcDeletedArrayOutput() IsPublicAddressRangeTargetVpcDeletedArrayOutput { + return o +} + +func (o IsPublicAddressRangeTargetVpcDeletedArrayOutput) ToIsPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetVpcDeletedArrayOutput { + return o +} + +func (o IsPublicAddressRangeTargetVpcDeletedArrayOutput) Index(i pulumi.IntInput) IsPublicAddressRangeTargetVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsPublicAddressRangeTargetVpcDeleted { + return vs[0].([]IsPublicAddressRangeTargetVpcDeleted)[vs[1].(int)] + }).(IsPublicAddressRangeTargetVpcDeletedOutput) +} + +type IsPublicAddressRangeTargetZone struct { + // The URL for this zone. + Href *string `pulumi:"href"` + // The globally unique name for this zone. + Name *string `pulumi:"name"` +} + +// IsPublicAddressRangeTargetZoneInput is an input type that accepts IsPublicAddressRangeTargetZoneArgs and IsPublicAddressRangeTargetZoneOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeTargetZoneInput` via: +// +// IsPublicAddressRangeTargetZoneArgs{...} +type IsPublicAddressRangeTargetZoneInput interface { + pulumi.Input + + ToIsPublicAddressRangeTargetZoneOutput() IsPublicAddressRangeTargetZoneOutput + ToIsPublicAddressRangeTargetZoneOutputWithContext(context.Context) IsPublicAddressRangeTargetZoneOutput +} + +type IsPublicAddressRangeTargetZoneArgs struct { + // The URL for this zone. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsPublicAddressRangeTargetZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (i IsPublicAddressRangeTargetZoneArgs) ToIsPublicAddressRangeTargetZoneOutput() IsPublicAddressRangeTargetZoneOutput { + return i.ToIsPublicAddressRangeTargetZoneOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeTargetZoneArgs) ToIsPublicAddressRangeTargetZoneOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetZoneOutput) +} + +func (i IsPublicAddressRangeTargetZoneArgs) ToIsPublicAddressRangeTargetZonePtrOutput() IsPublicAddressRangeTargetZonePtrOutput { + return i.ToIsPublicAddressRangeTargetZonePtrOutputWithContext(context.Background()) +} + +func (i IsPublicAddressRangeTargetZoneArgs) ToIsPublicAddressRangeTargetZonePtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetZonePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetZoneOutput).ToIsPublicAddressRangeTargetZonePtrOutputWithContext(ctx) +} + +// IsPublicAddressRangeTargetZonePtrInput is an input type that accepts IsPublicAddressRangeTargetZoneArgs, IsPublicAddressRangeTargetZonePtr and IsPublicAddressRangeTargetZonePtrOutput values. +// You can construct a concrete instance of `IsPublicAddressRangeTargetZonePtrInput` via: +// +// IsPublicAddressRangeTargetZoneArgs{...} +// +// or: +// +// nil +type IsPublicAddressRangeTargetZonePtrInput interface { + pulumi.Input + + ToIsPublicAddressRangeTargetZonePtrOutput() IsPublicAddressRangeTargetZonePtrOutput + ToIsPublicAddressRangeTargetZonePtrOutputWithContext(context.Context) IsPublicAddressRangeTargetZonePtrOutput +} + +type isPublicAddressRangeTargetZonePtrType IsPublicAddressRangeTargetZoneArgs + +func IsPublicAddressRangeTargetZonePtr(v *IsPublicAddressRangeTargetZoneArgs) IsPublicAddressRangeTargetZonePtrInput { + return (*isPublicAddressRangeTargetZonePtrType)(v) +} + +func (*isPublicAddressRangeTargetZonePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (i *isPublicAddressRangeTargetZonePtrType) ToIsPublicAddressRangeTargetZonePtrOutput() IsPublicAddressRangeTargetZonePtrOutput { + return i.ToIsPublicAddressRangeTargetZonePtrOutputWithContext(context.Background()) +} + +func (i *isPublicAddressRangeTargetZonePtrType) ToIsPublicAddressRangeTargetZonePtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetZonePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsPublicAddressRangeTargetZonePtrOutput) +} + +type IsPublicAddressRangeTargetZoneOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeTargetZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (o IsPublicAddressRangeTargetZoneOutput) ToIsPublicAddressRangeTargetZoneOutput() IsPublicAddressRangeTargetZoneOutput { + return o +} + +func (o IsPublicAddressRangeTargetZoneOutput) ToIsPublicAddressRangeTargetZoneOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetZoneOutput { + return o +} + +func (o IsPublicAddressRangeTargetZoneOutput) ToIsPublicAddressRangeTargetZonePtrOutput() IsPublicAddressRangeTargetZonePtrOutput { + return o.ToIsPublicAddressRangeTargetZonePtrOutputWithContext(context.Background()) +} + +func (o IsPublicAddressRangeTargetZoneOutput) ToIsPublicAddressRangeTargetZonePtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetZonePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsPublicAddressRangeTargetZone) *IsPublicAddressRangeTargetZone { + return &v + }).(IsPublicAddressRangeTargetZonePtrOutput) +} + +// The URL for this zone. +func (o IsPublicAddressRangeTargetZoneOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetZone) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this zone. +func (o IsPublicAddressRangeTargetZoneOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsPublicAddressRangeTargetZone) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsPublicAddressRangeTargetZonePtrOutput struct{ *pulumi.OutputState } + +func (IsPublicAddressRangeTargetZonePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (o IsPublicAddressRangeTargetZonePtrOutput) ToIsPublicAddressRangeTargetZonePtrOutput() IsPublicAddressRangeTargetZonePtrOutput { + return o +} + +func (o IsPublicAddressRangeTargetZonePtrOutput) ToIsPublicAddressRangeTargetZonePtrOutputWithContext(ctx context.Context) IsPublicAddressRangeTargetZonePtrOutput { + return o +} + +func (o IsPublicAddressRangeTargetZonePtrOutput) Elem() IsPublicAddressRangeTargetZoneOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetZone) IsPublicAddressRangeTargetZone { + if v != nil { + return *v + } + var ret IsPublicAddressRangeTargetZone + return ret + }).(IsPublicAddressRangeTargetZoneOutput) +} + +// The URL for this zone. +func (o IsPublicAddressRangeTargetZonePtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetZone) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this zone. +func (o IsPublicAddressRangeTargetZonePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsPublicAddressRangeTargetZone) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +type IsReservationActivateCapacity struct { + // The amount allocated to this capacity reservation. + Allocated *int `pulumi:"allocated"` + // The amount of this capacity reservation available for new attachments. + Available *int `pulumi:"available"` + // The status of the capacity reservation. + Status *string `pulumi:"status"` + // The total amount to use for this capacity reservation. + Total *int `pulumi:"total"` + // The amount of this capacity reservation used by existing attachments. + Used *int `pulumi:"used"` +} + +// IsReservationActivateCapacityInput is an input type that accepts IsReservationActivateCapacityArgs and IsReservationActivateCapacityOutput values. +// You can construct a concrete instance of `IsReservationActivateCapacityInput` via: +// +// IsReservationActivateCapacityArgs{...} +type IsReservationActivateCapacityInput interface { + pulumi.Input + + ToIsReservationActivateCapacityOutput() IsReservationActivateCapacityOutput + ToIsReservationActivateCapacityOutputWithContext(context.Context) IsReservationActivateCapacityOutput +} + +type IsReservationActivateCapacityArgs struct { + // The amount allocated to this capacity reservation. + Allocated pulumi.IntPtrInput `pulumi:"allocated"` + // The amount of this capacity reservation available for new attachments. + Available pulumi.IntPtrInput `pulumi:"available"` + // The status of the capacity reservation. + Status pulumi.StringPtrInput `pulumi:"status"` + // The total amount to use for this capacity reservation. + Total pulumi.IntPtrInput `pulumi:"total"` + // The amount of this capacity reservation used by existing attachments. + Used pulumi.IntPtrInput `pulumi:"used"` +} + +func (IsReservationActivateCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateCapacity)(nil)).Elem() +} + +func (i IsReservationActivateCapacityArgs) ToIsReservationActivateCapacityOutput() IsReservationActivateCapacityOutput { + return i.ToIsReservationActivateCapacityOutputWithContext(context.Background()) +} + +func (i IsReservationActivateCapacityArgs) ToIsReservationActivateCapacityOutputWithContext(ctx context.Context) IsReservationActivateCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateCapacityOutput) +} + +// IsReservationActivateCapacityArrayInput is an input type that accepts IsReservationActivateCapacityArray and IsReservationActivateCapacityArrayOutput values. +// You can construct a concrete instance of `IsReservationActivateCapacityArrayInput` via: +// +// IsReservationActivateCapacityArray{ IsReservationActivateCapacityArgs{...} } +type IsReservationActivateCapacityArrayInput interface { + pulumi.Input + + ToIsReservationActivateCapacityArrayOutput() IsReservationActivateCapacityArrayOutput + ToIsReservationActivateCapacityArrayOutputWithContext(context.Context) IsReservationActivateCapacityArrayOutput +} + +type IsReservationActivateCapacityArray []IsReservationActivateCapacityInput + +func (IsReservationActivateCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateCapacity)(nil)).Elem() +} + +func (i IsReservationActivateCapacityArray) ToIsReservationActivateCapacityArrayOutput() IsReservationActivateCapacityArrayOutput { + return i.ToIsReservationActivateCapacityArrayOutputWithContext(context.Background()) +} + +func (i IsReservationActivateCapacityArray) ToIsReservationActivateCapacityArrayOutputWithContext(ctx context.Context) IsReservationActivateCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateCapacityArrayOutput) +} + +type IsReservationActivateCapacityOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateCapacity)(nil)).Elem() +} + +func (o IsReservationActivateCapacityOutput) ToIsReservationActivateCapacityOutput() IsReservationActivateCapacityOutput { + return o +} + +func (o IsReservationActivateCapacityOutput) ToIsReservationActivateCapacityOutputWithContext(ctx context.Context) IsReservationActivateCapacityOutput { + return o +} + +// The amount allocated to this capacity reservation. +func (o IsReservationActivateCapacityOutput) Allocated() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsReservationActivateCapacity) *int { return v.Allocated }).(pulumi.IntPtrOutput) +} + +// The amount of this capacity reservation available for new attachments. +func (o IsReservationActivateCapacityOutput) Available() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsReservationActivateCapacity) *int { return v.Available }).(pulumi.IntPtrOutput) +} + +// The status of the capacity reservation. +func (o IsReservationActivateCapacityOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateCapacity) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// The total amount to use for this capacity reservation. +func (o IsReservationActivateCapacityOutput) Total() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsReservationActivateCapacity) *int { return v.Total }).(pulumi.IntPtrOutput) +} + +// The amount of this capacity reservation used by existing attachments. +func (o IsReservationActivateCapacityOutput) Used() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsReservationActivateCapacity) *int { return v.Used }).(pulumi.IntPtrOutput) +} + +type IsReservationActivateCapacityArrayOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateCapacity)(nil)).Elem() +} + +func (o IsReservationActivateCapacityArrayOutput) ToIsReservationActivateCapacityArrayOutput() IsReservationActivateCapacityArrayOutput { + return o +} + +func (o IsReservationActivateCapacityArrayOutput) ToIsReservationActivateCapacityArrayOutputWithContext(ctx context.Context) IsReservationActivateCapacityArrayOutput { + return o +} + +func (o IsReservationActivateCapacityArrayOutput) Index(i pulumi.IntInput) IsReservationActivateCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsReservationActivateCapacity { + return vs[0].([]IsReservationActivateCapacity)[vs[1].(int)] + }).(IsReservationActivateCapacityOutput) +} + +type IsReservationActivateCommittedUse struct { + // The expiration date and time for this committed use reservation. + ExpirationAt *string `pulumi:"expirationAt"` + // The maximum number of days to keep each backup after creation. + ExpirationPolicy *string `pulumi:"expirationPolicy"` + // The maximum number of recent backups to keep. If unspecified, there will be no maximum. + Term *string `pulumi:"term"` +} + +// IsReservationActivateCommittedUseInput is an input type that accepts IsReservationActivateCommittedUseArgs and IsReservationActivateCommittedUseOutput values. +// You can construct a concrete instance of `IsReservationActivateCommittedUseInput` via: +// +// IsReservationActivateCommittedUseArgs{...} +type IsReservationActivateCommittedUseInput interface { + pulumi.Input + + ToIsReservationActivateCommittedUseOutput() IsReservationActivateCommittedUseOutput + ToIsReservationActivateCommittedUseOutputWithContext(context.Context) IsReservationActivateCommittedUseOutput +} + +type IsReservationActivateCommittedUseArgs struct { + // The expiration date and time for this committed use reservation. + ExpirationAt pulumi.StringPtrInput `pulumi:"expirationAt"` + // The maximum number of days to keep each backup after creation. + ExpirationPolicy pulumi.StringPtrInput `pulumi:"expirationPolicy"` + // The maximum number of recent backups to keep. If unspecified, there will be no maximum. + Term pulumi.StringPtrInput `pulumi:"term"` +} + +func (IsReservationActivateCommittedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateCommittedUse)(nil)).Elem() +} + +func (i IsReservationActivateCommittedUseArgs) ToIsReservationActivateCommittedUseOutput() IsReservationActivateCommittedUseOutput { + return i.ToIsReservationActivateCommittedUseOutputWithContext(context.Background()) +} + +func (i IsReservationActivateCommittedUseArgs) ToIsReservationActivateCommittedUseOutputWithContext(ctx context.Context) IsReservationActivateCommittedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateCommittedUseOutput) +} + +// IsReservationActivateCommittedUseArrayInput is an input type that accepts IsReservationActivateCommittedUseArray and IsReservationActivateCommittedUseArrayOutput values. +// You can construct a concrete instance of `IsReservationActivateCommittedUseArrayInput` via: +// +// IsReservationActivateCommittedUseArray{ IsReservationActivateCommittedUseArgs{...} } +type IsReservationActivateCommittedUseArrayInput interface { + pulumi.Input + + ToIsReservationActivateCommittedUseArrayOutput() IsReservationActivateCommittedUseArrayOutput + ToIsReservationActivateCommittedUseArrayOutputWithContext(context.Context) IsReservationActivateCommittedUseArrayOutput +} + +type IsReservationActivateCommittedUseArray []IsReservationActivateCommittedUseInput + +func (IsReservationActivateCommittedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateCommittedUse)(nil)).Elem() +} + +func (i IsReservationActivateCommittedUseArray) ToIsReservationActivateCommittedUseArrayOutput() IsReservationActivateCommittedUseArrayOutput { + return i.ToIsReservationActivateCommittedUseArrayOutputWithContext(context.Background()) +} + +func (i IsReservationActivateCommittedUseArray) ToIsReservationActivateCommittedUseArrayOutputWithContext(ctx context.Context) IsReservationActivateCommittedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateCommittedUseArrayOutput) +} + +type IsReservationActivateCommittedUseOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateCommittedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateCommittedUse)(nil)).Elem() +} + +func (o IsReservationActivateCommittedUseOutput) ToIsReservationActivateCommittedUseOutput() IsReservationActivateCommittedUseOutput { + return o +} + +func (o IsReservationActivateCommittedUseOutput) ToIsReservationActivateCommittedUseOutputWithContext(ctx context.Context) IsReservationActivateCommittedUseOutput { + return o +} + +// The expiration date and time for this committed use reservation. +func (o IsReservationActivateCommittedUseOutput) ExpirationAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateCommittedUse) *string { return v.ExpirationAt }).(pulumi.StringPtrOutput) +} + +// The maximum number of days to keep each backup after creation. +func (o IsReservationActivateCommittedUseOutput) ExpirationPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateCommittedUse) *string { return v.ExpirationPolicy }).(pulumi.StringPtrOutput) +} + +// The maximum number of recent backups to keep. If unspecified, there will be no maximum. +func (o IsReservationActivateCommittedUseOutput) Term() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateCommittedUse) *string { return v.Term }).(pulumi.StringPtrOutput) +} + +type IsReservationActivateCommittedUseArrayOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateCommittedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateCommittedUse)(nil)).Elem() +} + +func (o IsReservationActivateCommittedUseArrayOutput) ToIsReservationActivateCommittedUseArrayOutput() IsReservationActivateCommittedUseArrayOutput { + return o +} + +func (o IsReservationActivateCommittedUseArrayOutput) ToIsReservationActivateCommittedUseArrayOutputWithContext(ctx context.Context) IsReservationActivateCommittedUseArrayOutput { + return o +} + +func (o IsReservationActivateCommittedUseArrayOutput) Index(i pulumi.IntInput) IsReservationActivateCommittedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsReservationActivateCommittedUse { + return vs[0].([]IsReservationActivateCommittedUse)[vs[1].(int)] + }).(IsReservationActivateCommittedUseOutput) +} + +type IsReservationActivateProfile struct { + // The URL for this virtual server instance profile. + Href *string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name *string `pulumi:"name"` + // The resource type of the profile. + ResourceType *string `pulumi:"resourceType"` +} + +// IsReservationActivateProfileInput is an input type that accepts IsReservationActivateProfileArgs and IsReservationActivateProfileOutput values. +// You can construct a concrete instance of `IsReservationActivateProfileInput` via: +// +// IsReservationActivateProfileArgs{...} +type IsReservationActivateProfileInput interface { + pulumi.Input + + ToIsReservationActivateProfileOutput() IsReservationActivateProfileOutput + ToIsReservationActivateProfileOutputWithContext(context.Context) IsReservationActivateProfileOutput +} + +type IsReservationActivateProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type of the profile. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsReservationActivateProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateProfile)(nil)).Elem() +} + +func (i IsReservationActivateProfileArgs) ToIsReservationActivateProfileOutput() IsReservationActivateProfileOutput { + return i.ToIsReservationActivateProfileOutputWithContext(context.Background()) +} + +func (i IsReservationActivateProfileArgs) ToIsReservationActivateProfileOutputWithContext(ctx context.Context) IsReservationActivateProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateProfileOutput) +} + +// IsReservationActivateProfileArrayInput is an input type that accepts IsReservationActivateProfileArray and IsReservationActivateProfileArrayOutput values. +// You can construct a concrete instance of `IsReservationActivateProfileArrayInput` via: +// +// IsReservationActivateProfileArray{ IsReservationActivateProfileArgs{...} } +type IsReservationActivateProfileArrayInput interface { + pulumi.Input + + ToIsReservationActivateProfileArrayOutput() IsReservationActivateProfileArrayOutput + ToIsReservationActivateProfileArrayOutputWithContext(context.Context) IsReservationActivateProfileArrayOutput +} + +type IsReservationActivateProfileArray []IsReservationActivateProfileInput + +func (IsReservationActivateProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateProfile)(nil)).Elem() +} + +func (i IsReservationActivateProfileArray) ToIsReservationActivateProfileArrayOutput() IsReservationActivateProfileArrayOutput { + return i.ToIsReservationActivateProfileArrayOutputWithContext(context.Background()) +} + +func (i IsReservationActivateProfileArray) ToIsReservationActivateProfileArrayOutputWithContext(ctx context.Context) IsReservationActivateProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateProfileArrayOutput) +} + +type IsReservationActivateProfileOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateProfile)(nil)).Elem() +} + +func (o IsReservationActivateProfileOutput) ToIsReservationActivateProfileOutput() IsReservationActivateProfileOutput { + return o +} + +func (o IsReservationActivateProfileOutput) ToIsReservationActivateProfileOutputWithContext(ctx context.Context) IsReservationActivateProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o IsReservationActivateProfileOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateProfile) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o IsReservationActivateProfileOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateProfile) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type of the profile. +func (o IsReservationActivateProfileOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateProfile) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsReservationActivateProfileArrayOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateProfile)(nil)).Elem() +} + +func (o IsReservationActivateProfileArrayOutput) ToIsReservationActivateProfileArrayOutput() IsReservationActivateProfileArrayOutput { + return o +} + +func (o IsReservationActivateProfileArrayOutput) ToIsReservationActivateProfileArrayOutputWithContext(ctx context.Context) IsReservationActivateProfileArrayOutput { + return o +} + +func (o IsReservationActivateProfileArrayOutput) Index(i pulumi.IntInput) IsReservationActivateProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsReservationActivateProfile { + return vs[0].([]IsReservationActivateProfile)[vs[1].(int)] + }).(IsReservationActivateProfileOutput) +} + +type IsReservationActivateResourceGroup struct { + // The URL for this resource group. + Href *string `pulumi:"href"` + // The unique identifier for this resource group + Id *string `pulumi:"id"` + // The name for this resource group. + Name *string `pulumi:"name"` +} + +// IsReservationActivateResourceGroupInput is an input type that accepts IsReservationActivateResourceGroupArgs and IsReservationActivateResourceGroupOutput values. +// You can construct a concrete instance of `IsReservationActivateResourceGroupInput` via: +// +// IsReservationActivateResourceGroupArgs{...} +type IsReservationActivateResourceGroupInput interface { + pulumi.Input + + ToIsReservationActivateResourceGroupOutput() IsReservationActivateResourceGroupOutput + ToIsReservationActivateResourceGroupOutputWithContext(context.Context) IsReservationActivateResourceGroupOutput +} + +type IsReservationActivateResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this resource group + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsReservationActivateResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateResourceGroup)(nil)).Elem() +} + +func (i IsReservationActivateResourceGroupArgs) ToIsReservationActivateResourceGroupOutput() IsReservationActivateResourceGroupOutput { + return i.ToIsReservationActivateResourceGroupOutputWithContext(context.Background()) +} + +func (i IsReservationActivateResourceGroupArgs) ToIsReservationActivateResourceGroupOutputWithContext(ctx context.Context) IsReservationActivateResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateResourceGroupOutput) +} + +// IsReservationActivateResourceGroupArrayInput is an input type that accepts IsReservationActivateResourceGroupArray and IsReservationActivateResourceGroupArrayOutput values. +// You can construct a concrete instance of `IsReservationActivateResourceGroupArrayInput` via: +// +// IsReservationActivateResourceGroupArray{ IsReservationActivateResourceGroupArgs{...} } +type IsReservationActivateResourceGroupArrayInput interface { + pulumi.Input + + ToIsReservationActivateResourceGroupArrayOutput() IsReservationActivateResourceGroupArrayOutput + ToIsReservationActivateResourceGroupArrayOutputWithContext(context.Context) IsReservationActivateResourceGroupArrayOutput +} + +type IsReservationActivateResourceGroupArray []IsReservationActivateResourceGroupInput + +func (IsReservationActivateResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateResourceGroup)(nil)).Elem() +} + +func (i IsReservationActivateResourceGroupArray) ToIsReservationActivateResourceGroupArrayOutput() IsReservationActivateResourceGroupArrayOutput { + return i.ToIsReservationActivateResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i IsReservationActivateResourceGroupArray) ToIsReservationActivateResourceGroupArrayOutputWithContext(ctx context.Context) IsReservationActivateResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateResourceGroupArrayOutput) +} + +type IsReservationActivateResourceGroupOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateResourceGroup)(nil)).Elem() +} + +func (o IsReservationActivateResourceGroupOutput) ToIsReservationActivateResourceGroupOutput() IsReservationActivateResourceGroupOutput { + return o +} + +func (o IsReservationActivateResourceGroupOutput) ToIsReservationActivateResourceGroupOutputWithContext(ctx context.Context) IsReservationActivateResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o IsReservationActivateResourceGroupOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateResourceGroup) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group +func (o IsReservationActivateResourceGroupOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateResourceGroup) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this resource group. +func (o IsReservationActivateResourceGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateResourceGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsReservationActivateResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateResourceGroup)(nil)).Elem() +} + +func (o IsReservationActivateResourceGroupArrayOutput) ToIsReservationActivateResourceGroupArrayOutput() IsReservationActivateResourceGroupArrayOutput { + return o +} + +func (o IsReservationActivateResourceGroupArrayOutput) ToIsReservationActivateResourceGroupArrayOutputWithContext(ctx context.Context) IsReservationActivateResourceGroupArrayOutput { + return o +} + +func (o IsReservationActivateResourceGroupArrayOutput) Index(i pulumi.IntInput) IsReservationActivateResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsReservationActivateResourceGroup { + return vs[0].([]IsReservationActivateResourceGroup)[vs[1].(int)] + }).(IsReservationActivateResourceGroupOutput) +} + +type IsReservationActivateStatusReason struct { + // snake case string succinctly identifying the status reason. + Code *string `pulumi:"code"` + // An explanation of the status reason + Message *string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsReservationActivateStatusReasonInput is an input type that accepts IsReservationActivateStatusReasonArgs and IsReservationActivateStatusReasonOutput values. +// You can construct a concrete instance of `IsReservationActivateStatusReasonInput` via: +// +// IsReservationActivateStatusReasonArgs{...} +type IsReservationActivateStatusReasonInput interface { + pulumi.Input + + ToIsReservationActivateStatusReasonOutput() IsReservationActivateStatusReasonOutput + ToIsReservationActivateStatusReasonOutputWithContext(context.Context) IsReservationActivateStatusReasonOutput +} + +type IsReservationActivateStatusReasonArgs struct { + // snake case string succinctly identifying the status reason. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsReservationActivateStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateStatusReason)(nil)).Elem() +} + +func (i IsReservationActivateStatusReasonArgs) ToIsReservationActivateStatusReasonOutput() IsReservationActivateStatusReasonOutput { + return i.ToIsReservationActivateStatusReasonOutputWithContext(context.Background()) +} + +func (i IsReservationActivateStatusReasonArgs) ToIsReservationActivateStatusReasonOutputWithContext(ctx context.Context) IsReservationActivateStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateStatusReasonOutput) +} + +// IsReservationActivateStatusReasonArrayInput is an input type that accepts IsReservationActivateStatusReasonArray and IsReservationActivateStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsReservationActivateStatusReasonArrayInput` via: +// +// IsReservationActivateStatusReasonArray{ IsReservationActivateStatusReasonArgs{...} } +type IsReservationActivateStatusReasonArrayInput interface { + pulumi.Input + + ToIsReservationActivateStatusReasonArrayOutput() IsReservationActivateStatusReasonArrayOutput + ToIsReservationActivateStatusReasonArrayOutputWithContext(context.Context) IsReservationActivateStatusReasonArrayOutput +} + +type IsReservationActivateStatusReasonArray []IsReservationActivateStatusReasonInput + +func (IsReservationActivateStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateStatusReason)(nil)).Elem() +} + +func (i IsReservationActivateStatusReasonArray) ToIsReservationActivateStatusReasonArrayOutput() IsReservationActivateStatusReasonArrayOutput { + return i.ToIsReservationActivateStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsReservationActivateStatusReasonArray) ToIsReservationActivateStatusReasonArrayOutputWithContext(ctx context.Context) IsReservationActivateStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationActivateStatusReasonArrayOutput) +} + +type IsReservationActivateStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationActivateStatusReason)(nil)).Elem() +} + +func (o IsReservationActivateStatusReasonOutput) ToIsReservationActivateStatusReasonOutput() IsReservationActivateStatusReasonOutput { + return o +} + +func (o IsReservationActivateStatusReasonOutput) ToIsReservationActivateStatusReasonOutputWithContext(ctx context.Context) IsReservationActivateStatusReasonOutput { + return o +} + +// snake case string succinctly identifying the status reason. +func (o IsReservationActivateStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason +func (o IsReservationActivateStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason. +func (o IsReservationActivateStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationActivateStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsReservationActivateStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsReservationActivateStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationActivateStatusReason)(nil)).Elem() +} + +func (o IsReservationActivateStatusReasonArrayOutput) ToIsReservationActivateStatusReasonArrayOutput() IsReservationActivateStatusReasonArrayOutput { + return o +} + +func (o IsReservationActivateStatusReasonArrayOutput) ToIsReservationActivateStatusReasonArrayOutputWithContext(ctx context.Context) IsReservationActivateStatusReasonArrayOutput { + return o +} + +func (o IsReservationActivateStatusReasonArrayOutput) Index(i pulumi.IntInput) IsReservationActivateStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsReservationActivateStatusReason { + return vs[0].([]IsReservationActivateStatusReason)[vs[1].(int)] + }).(IsReservationActivateStatusReasonOutput) +} + +type IsReservationCapacity struct { + // The amount allocated to this capacity reservation. + Allocated *int `pulumi:"allocated"` + // The amount of this capacity reservation available for new attachments. + Available *int `pulumi:"available"` + // The status of the capacity reservation. + Status *string `pulumi:"status"` + // The total amount to use for this capacity reservation. + Total int `pulumi:"total"` + // The amount of this capacity reservation used by existing attachments. + Used *int `pulumi:"used"` +} + +// IsReservationCapacityInput is an input type that accepts IsReservationCapacityArgs and IsReservationCapacityOutput values. +// You can construct a concrete instance of `IsReservationCapacityInput` via: +// +// IsReservationCapacityArgs{...} +type IsReservationCapacityInput interface { + pulumi.Input + + ToIsReservationCapacityOutput() IsReservationCapacityOutput + ToIsReservationCapacityOutputWithContext(context.Context) IsReservationCapacityOutput +} + +type IsReservationCapacityArgs struct { + // The amount allocated to this capacity reservation. + Allocated pulumi.IntPtrInput `pulumi:"allocated"` + // The amount of this capacity reservation available for new attachments. + Available pulumi.IntPtrInput `pulumi:"available"` + // The status of the capacity reservation. + Status pulumi.StringPtrInput `pulumi:"status"` + // The total amount to use for this capacity reservation. + Total pulumi.IntInput `pulumi:"total"` + // The amount of this capacity reservation used by existing attachments. + Used pulumi.IntPtrInput `pulumi:"used"` +} + +func (IsReservationCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationCapacity)(nil)).Elem() +} + +func (i IsReservationCapacityArgs) ToIsReservationCapacityOutput() IsReservationCapacityOutput { + return i.ToIsReservationCapacityOutputWithContext(context.Background()) +} + +func (i IsReservationCapacityArgs) ToIsReservationCapacityOutputWithContext(ctx context.Context) IsReservationCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationCapacityOutput) +} + +func (i IsReservationCapacityArgs) ToIsReservationCapacityPtrOutput() IsReservationCapacityPtrOutput { + return i.ToIsReservationCapacityPtrOutputWithContext(context.Background()) +} + +func (i IsReservationCapacityArgs) ToIsReservationCapacityPtrOutputWithContext(ctx context.Context) IsReservationCapacityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationCapacityOutput).ToIsReservationCapacityPtrOutputWithContext(ctx) +} + +// IsReservationCapacityPtrInput is an input type that accepts IsReservationCapacityArgs, IsReservationCapacityPtr and IsReservationCapacityPtrOutput values. +// You can construct a concrete instance of `IsReservationCapacityPtrInput` via: +// +// IsReservationCapacityArgs{...} +// +// or: +// +// nil +type IsReservationCapacityPtrInput interface { + pulumi.Input + + ToIsReservationCapacityPtrOutput() IsReservationCapacityPtrOutput + ToIsReservationCapacityPtrOutputWithContext(context.Context) IsReservationCapacityPtrOutput +} + +type isReservationCapacityPtrType IsReservationCapacityArgs + +func IsReservationCapacityPtr(v *IsReservationCapacityArgs) IsReservationCapacityPtrInput { + return (*isReservationCapacityPtrType)(v) +} + +func (*isReservationCapacityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationCapacity)(nil)).Elem() +} + +func (i *isReservationCapacityPtrType) ToIsReservationCapacityPtrOutput() IsReservationCapacityPtrOutput { + return i.ToIsReservationCapacityPtrOutputWithContext(context.Background()) +} + +func (i *isReservationCapacityPtrType) ToIsReservationCapacityPtrOutputWithContext(ctx context.Context) IsReservationCapacityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationCapacityPtrOutput) +} + +type IsReservationCapacityOutput struct{ *pulumi.OutputState } + +func (IsReservationCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationCapacity)(nil)).Elem() +} + +func (o IsReservationCapacityOutput) ToIsReservationCapacityOutput() IsReservationCapacityOutput { + return o +} + +func (o IsReservationCapacityOutput) ToIsReservationCapacityOutputWithContext(ctx context.Context) IsReservationCapacityOutput { + return o +} + +func (o IsReservationCapacityOutput) ToIsReservationCapacityPtrOutput() IsReservationCapacityPtrOutput { + return o.ToIsReservationCapacityPtrOutputWithContext(context.Background()) +} + +func (o IsReservationCapacityOutput) ToIsReservationCapacityPtrOutputWithContext(ctx context.Context) IsReservationCapacityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsReservationCapacity) *IsReservationCapacity { + return &v + }).(IsReservationCapacityPtrOutput) +} + +// The amount allocated to this capacity reservation. +func (o IsReservationCapacityOutput) Allocated() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsReservationCapacity) *int { return v.Allocated }).(pulumi.IntPtrOutput) +} + +// The amount of this capacity reservation available for new attachments. +func (o IsReservationCapacityOutput) Available() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsReservationCapacity) *int { return v.Available }).(pulumi.IntPtrOutput) +} + +// The status of the capacity reservation. +func (o IsReservationCapacityOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationCapacity) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// The total amount to use for this capacity reservation. +func (o IsReservationCapacityOutput) Total() pulumi.IntOutput { + return o.ApplyT(func(v IsReservationCapacity) int { return v.Total }).(pulumi.IntOutput) +} + +// The amount of this capacity reservation used by existing attachments. +func (o IsReservationCapacityOutput) Used() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsReservationCapacity) *int { return v.Used }).(pulumi.IntPtrOutput) +} + +type IsReservationCapacityPtrOutput struct{ *pulumi.OutputState } + +func (IsReservationCapacityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationCapacity)(nil)).Elem() +} + +func (o IsReservationCapacityPtrOutput) ToIsReservationCapacityPtrOutput() IsReservationCapacityPtrOutput { + return o +} + +func (o IsReservationCapacityPtrOutput) ToIsReservationCapacityPtrOutputWithContext(ctx context.Context) IsReservationCapacityPtrOutput { + return o +} + +func (o IsReservationCapacityPtrOutput) Elem() IsReservationCapacityOutput { + return o.ApplyT(func(v *IsReservationCapacity) IsReservationCapacity { + if v != nil { + return *v + } + var ret IsReservationCapacity + return ret + }).(IsReservationCapacityOutput) +} + +// The amount allocated to this capacity reservation. +func (o IsReservationCapacityPtrOutput) Allocated() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsReservationCapacity) *int { + if v == nil { + return nil + } + return v.Allocated + }).(pulumi.IntPtrOutput) +} + +// The amount of this capacity reservation available for new attachments. +func (o IsReservationCapacityPtrOutput) Available() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsReservationCapacity) *int { + if v == nil { + return nil + } + return v.Available + }).(pulumi.IntPtrOutput) +} + +// The status of the capacity reservation. +func (o IsReservationCapacityPtrOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationCapacity) *string { + if v == nil { + return nil + } + return v.Status + }).(pulumi.StringPtrOutput) +} + +// The total amount to use for this capacity reservation. +func (o IsReservationCapacityPtrOutput) Total() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsReservationCapacity) *int { + if v == nil { + return nil + } + return &v.Total + }).(pulumi.IntPtrOutput) +} + +// The amount of this capacity reservation used by existing attachments. +func (o IsReservationCapacityPtrOutput) Used() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsReservationCapacity) *int { + if v == nil { + return nil + } + return v.Used + }).(pulumi.IntPtrOutput) +} + +type IsReservationCommittedUse struct { + // The expiration date and time for this committed use reservation. + ExpirationAt *string `pulumi:"expirationAt"` + // The maximum number of days to keep each backup after creation. + ExpirationPolicy *string `pulumi:"expirationPolicy"` + // The maximum number of recent backups to keep. If unspecified, there will be no maximum. + Term string `pulumi:"term"` +} + +// IsReservationCommittedUseInput is an input type that accepts IsReservationCommittedUseArgs and IsReservationCommittedUseOutput values. +// You can construct a concrete instance of `IsReservationCommittedUseInput` via: +// +// IsReservationCommittedUseArgs{...} +type IsReservationCommittedUseInput interface { + pulumi.Input + + ToIsReservationCommittedUseOutput() IsReservationCommittedUseOutput + ToIsReservationCommittedUseOutputWithContext(context.Context) IsReservationCommittedUseOutput +} + +type IsReservationCommittedUseArgs struct { + // The expiration date and time for this committed use reservation. + ExpirationAt pulumi.StringPtrInput `pulumi:"expirationAt"` + // The maximum number of days to keep each backup after creation. + ExpirationPolicy pulumi.StringPtrInput `pulumi:"expirationPolicy"` + // The maximum number of recent backups to keep. If unspecified, there will be no maximum. + Term pulumi.StringInput `pulumi:"term"` +} + +func (IsReservationCommittedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationCommittedUse)(nil)).Elem() +} + +func (i IsReservationCommittedUseArgs) ToIsReservationCommittedUseOutput() IsReservationCommittedUseOutput { + return i.ToIsReservationCommittedUseOutputWithContext(context.Background()) +} + +func (i IsReservationCommittedUseArgs) ToIsReservationCommittedUseOutputWithContext(ctx context.Context) IsReservationCommittedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationCommittedUseOutput) +} + +func (i IsReservationCommittedUseArgs) ToIsReservationCommittedUsePtrOutput() IsReservationCommittedUsePtrOutput { + return i.ToIsReservationCommittedUsePtrOutputWithContext(context.Background()) +} + +func (i IsReservationCommittedUseArgs) ToIsReservationCommittedUsePtrOutputWithContext(ctx context.Context) IsReservationCommittedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationCommittedUseOutput).ToIsReservationCommittedUsePtrOutputWithContext(ctx) +} + +// IsReservationCommittedUsePtrInput is an input type that accepts IsReservationCommittedUseArgs, IsReservationCommittedUsePtr and IsReservationCommittedUsePtrOutput values. +// You can construct a concrete instance of `IsReservationCommittedUsePtrInput` via: +// +// IsReservationCommittedUseArgs{...} +// +// or: +// +// nil +type IsReservationCommittedUsePtrInput interface { + pulumi.Input + + ToIsReservationCommittedUsePtrOutput() IsReservationCommittedUsePtrOutput + ToIsReservationCommittedUsePtrOutputWithContext(context.Context) IsReservationCommittedUsePtrOutput +} + +type isReservationCommittedUsePtrType IsReservationCommittedUseArgs + +func IsReservationCommittedUsePtr(v *IsReservationCommittedUseArgs) IsReservationCommittedUsePtrInput { + return (*isReservationCommittedUsePtrType)(v) +} + +func (*isReservationCommittedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationCommittedUse)(nil)).Elem() +} + +func (i *isReservationCommittedUsePtrType) ToIsReservationCommittedUsePtrOutput() IsReservationCommittedUsePtrOutput { + return i.ToIsReservationCommittedUsePtrOutputWithContext(context.Background()) +} + +func (i *isReservationCommittedUsePtrType) ToIsReservationCommittedUsePtrOutputWithContext(ctx context.Context) IsReservationCommittedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationCommittedUsePtrOutput) +} + +type IsReservationCommittedUseOutput struct{ *pulumi.OutputState } + +func (IsReservationCommittedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationCommittedUse)(nil)).Elem() +} + +func (o IsReservationCommittedUseOutput) ToIsReservationCommittedUseOutput() IsReservationCommittedUseOutput { + return o +} + +func (o IsReservationCommittedUseOutput) ToIsReservationCommittedUseOutputWithContext(ctx context.Context) IsReservationCommittedUseOutput { + return o +} + +func (o IsReservationCommittedUseOutput) ToIsReservationCommittedUsePtrOutput() IsReservationCommittedUsePtrOutput { + return o.ToIsReservationCommittedUsePtrOutputWithContext(context.Background()) +} + +func (o IsReservationCommittedUseOutput) ToIsReservationCommittedUsePtrOutputWithContext(ctx context.Context) IsReservationCommittedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsReservationCommittedUse) *IsReservationCommittedUse { + return &v + }).(IsReservationCommittedUsePtrOutput) +} + +// The expiration date and time for this committed use reservation. +func (o IsReservationCommittedUseOutput) ExpirationAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationCommittedUse) *string { return v.ExpirationAt }).(pulumi.StringPtrOutput) +} + +// The maximum number of days to keep each backup after creation. +func (o IsReservationCommittedUseOutput) ExpirationPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationCommittedUse) *string { return v.ExpirationPolicy }).(pulumi.StringPtrOutput) +} + +// The maximum number of recent backups to keep. If unspecified, there will be no maximum. +func (o IsReservationCommittedUseOutput) Term() pulumi.StringOutput { + return o.ApplyT(func(v IsReservationCommittedUse) string { return v.Term }).(pulumi.StringOutput) +} + +type IsReservationCommittedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsReservationCommittedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationCommittedUse)(nil)).Elem() +} + +func (o IsReservationCommittedUsePtrOutput) ToIsReservationCommittedUsePtrOutput() IsReservationCommittedUsePtrOutput { + return o +} + +func (o IsReservationCommittedUsePtrOutput) ToIsReservationCommittedUsePtrOutputWithContext(ctx context.Context) IsReservationCommittedUsePtrOutput { + return o +} + +func (o IsReservationCommittedUsePtrOutput) Elem() IsReservationCommittedUseOutput { + return o.ApplyT(func(v *IsReservationCommittedUse) IsReservationCommittedUse { + if v != nil { + return *v + } + var ret IsReservationCommittedUse + return ret + }).(IsReservationCommittedUseOutput) +} + +// The expiration date and time for this committed use reservation. +func (o IsReservationCommittedUsePtrOutput) ExpirationAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationCommittedUse) *string { + if v == nil { + return nil + } + return v.ExpirationAt + }).(pulumi.StringPtrOutput) +} + +// The maximum number of days to keep each backup after creation. +func (o IsReservationCommittedUsePtrOutput) ExpirationPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationCommittedUse) *string { + if v == nil { + return nil + } + return v.ExpirationPolicy + }).(pulumi.StringPtrOutput) +} + +// The maximum number of recent backups to keep. If unspecified, there will be no maximum. +func (o IsReservationCommittedUsePtrOutput) Term() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationCommittedUse) *string { + if v == nil { + return nil + } + return &v.Term + }).(pulumi.StringPtrOutput) +} + +type IsReservationProfile struct { + // The URL for this virtual server instance profile. + Href *string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` + // The resource type of the profile. + ResourceType string `pulumi:"resourceType"` +} + +// IsReservationProfileInput is an input type that accepts IsReservationProfileArgs and IsReservationProfileOutput values. +// You can construct a concrete instance of `IsReservationProfileInput` via: +// +// IsReservationProfileArgs{...} +type IsReservationProfileInput interface { + pulumi.Input + + ToIsReservationProfileOutput() IsReservationProfileOutput + ToIsReservationProfileOutputWithContext(context.Context) IsReservationProfileOutput +} + +type IsReservationProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type of the profile. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (IsReservationProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationProfile)(nil)).Elem() +} + +func (i IsReservationProfileArgs) ToIsReservationProfileOutput() IsReservationProfileOutput { + return i.ToIsReservationProfileOutputWithContext(context.Background()) +} + +func (i IsReservationProfileArgs) ToIsReservationProfileOutputWithContext(ctx context.Context) IsReservationProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationProfileOutput) +} + +func (i IsReservationProfileArgs) ToIsReservationProfilePtrOutput() IsReservationProfilePtrOutput { + return i.ToIsReservationProfilePtrOutputWithContext(context.Background()) +} + +func (i IsReservationProfileArgs) ToIsReservationProfilePtrOutputWithContext(ctx context.Context) IsReservationProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationProfileOutput).ToIsReservationProfilePtrOutputWithContext(ctx) +} + +// IsReservationProfilePtrInput is an input type that accepts IsReservationProfileArgs, IsReservationProfilePtr and IsReservationProfilePtrOutput values. +// You can construct a concrete instance of `IsReservationProfilePtrInput` via: +// +// IsReservationProfileArgs{...} +// +// or: +// +// nil +type IsReservationProfilePtrInput interface { + pulumi.Input + + ToIsReservationProfilePtrOutput() IsReservationProfilePtrOutput + ToIsReservationProfilePtrOutputWithContext(context.Context) IsReservationProfilePtrOutput +} + +type isReservationProfilePtrType IsReservationProfileArgs + +func IsReservationProfilePtr(v *IsReservationProfileArgs) IsReservationProfilePtrInput { + return (*isReservationProfilePtrType)(v) +} + +func (*isReservationProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationProfile)(nil)).Elem() +} + +func (i *isReservationProfilePtrType) ToIsReservationProfilePtrOutput() IsReservationProfilePtrOutput { + return i.ToIsReservationProfilePtrOutputWithContext(context.Background()) +} + +func (i *isReservationProfilePtrType) ToIsReservationProfilePtrOutputWithContext(ctx context.Context) IsReservationProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationProfilePtrOutput) +} + +type IsReservationProfileOutput struct{ *pulumi.OutputState } + +func (IsReservationProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationProfile)(nil)).Elem() +} + +func (o IsReservationProfileOutput) ToIsReservationProfileOutput() IsReservationProfileOutput { + return o +} + +func (o IsReservationProfileOutput) ToIsReservationProfileOutputWithContext(ctx context.Context) IsReservationProfileOutput { + return o +} + +func (o IsReservationProfileOutput) ToIsReservationProfilePtrOutput() IsReservationProfilePtrOutput { + return o.ToIsReservationProfilePtrOutputWithContext(context.Background()) +} + +func (o IsReservationProfileOutput) ToIsReservationProfilePtrOutputWithContext(ctx context.Context) IsReservationProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsReservationProfile) *IsReservationProfile { + return &v + }).(IsReservationProfilePtrOutput) +} + +// The URL for this virtual server instance profile. +func (o IsReservationProfileOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationProfile) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o IsReservationProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsReservationProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type of the profile. +func (o IsReservationProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v IsReservationProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type IsReservationProfilePtrOutput struct{ *pulumi.OutputState } + +func (IsReservationProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationProfile)(nil)).Elem() +} + +func (o IsReservationProfilePtrOutput) ToIsReservationProfilePtrOutput() IsReservationProfilePtrOutput { + return o +} + +func (o IsReservationProfilePtrOutput) ToIsReservationProfilePtrOutputWithContext(ctx context.Context) IsReservationProfilePtrOutput { + return o +} + +func (o IsReservationProfilePtrOutput) Elem() IsReservationProfileOutput { + return o.ApplyT(func(v *IsReservationProfile) IsReservationProfile { + if v != nil { + return *v + } + var ret IsReservationProfile + return ret + }).(IsReservationProfileOutput) +} + +// The URL for this virtual server instance profile. +func (o IsReservationProfilePtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationProfile) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o IsReservationProfilePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationProfile) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type of the profile. +func (o IsReservationProfilePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationProfile) *string { + if v == nil { + return nil + } + return &v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsReservationResourceGroup struct { + // The URL for this resource group. + Href *string `pulumi:"href"` + // The unique identifier for this resource group + Id string `pulumi:"id"` + // The name for this resource group. + Name *string `pulumi:"name"` +} + +// IsReservationResourceGroupInput is an input type that accepts IsReservationResourceGroupArgs and IsReservationResourceGroupOutput values. +// You can construct a concrete instance of `IsReservationResourceGroupInput` via: +// +// IsReservationResourceGroupArgs{...} +type IsReservationResourceGroupInput interface { + pulumi.Input + + ToIsReservationResourceGroupOutput() IsReservationResourceGroupOutput + ToIsReservationResourceGroupOutputWithContext(context.Context) IsReservationResourceGroupOutput +} + +type IsReservationResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this resource group + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsReservationResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationResourceGroup)(nil)).Elem() +} + +func (i IsReservationResourceGroupArgs) ToIsReservationResourceGroupOutput() IsReservationResourceGroupOutput { + return i.ToIsReservationResourceGroupOutputWithContext(context.Background()) +} + +func (i IsReservationResourceGroupArgs) ToIsReservationResourceGroupOutputWithContext(ctx context.Context) IsReservationResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationResourceGroupOutput) +} + +func (i IsReservationResourceGroupArgs) ToIsReservationResourceGroupPtrOutput() IsReservationResourceGroupPtrOutput { + return i.ToIsReservationResourceGroupPtrOutputWithContext(context.Background()) +} + +func (i IsReservationResourceGroupArgs) ToIsReservationResourceGroupPtrOutputWithContext(ctx context.Context) IsReservationResourceGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationResourceGroupOutput).ToIsReservationResourceGroupPtrOutputWithContext(ctx) +} + +// IsReservationResourceGroupPtrInput is an input type that accepts IsReservationResourceGroupArgs, IsReservationResourceGroupPtr and IsReservationResourceGroupPtrOutput values. +// You can construct a concrete instance of `IsReservationResourceGroupPtrInput` via: +// +// IsReservationResourceGroupArgs{...} +// +// or: +// +// nil +type IsReservationResourceGroupPtrInput interface { + pulumi.Input + + ToIsReservationResourceGroupPtrOutput() IsReservationResourceGroupPtrOutput + ToIsReservationResourceGroupPtrOutputWithContext(context.Context) IsReservationResourceGroupPtrOutput +} + +type isReservationResourceGroupPtrType IsReservationResourceGroupArgs + +func IsReservationResourceGroupPtr(v *IsReservationResourceGroupArgs) IsReservationResourceGroupPtrInput { + return (*isReservationResourceGroupPtrType)(v) +} + +func (*isReservationResourceGroupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationResourceGroup)(nil)).Elem() +} + +func (i *isReservationResourceGroupPtrType) ToIsReservationResourceGroupPtrOutput() IsReservationResourceGroupPtrOutput { + return i.ToIsReservationResourceGroupPtrOutputWithContext(context.Background()) +} + +func (i *isReservationResourceGroupPtrType) ToIsReservationResourceGroupPtrOutputWithContext(ctx context.Context) IsReservationResourceGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationResourceGroupPtrOutput) +} + +type IsReservationResourceGroupOutput struct{ *pulumi.OutputState } + +func (IsReservationResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationResourceGroup)(nil)).Elem() +} + +func (o IsReservationResourceGroupOutput) ToIsReservationResourceGroupOutput() IsReservationResourceGroupOutput { + return o +} + +func (o IsReservationResourceGroupOutput) ToIsReservationResourceGroupOutputWithContext(ctx context.Context) IsReservationResourceGroupOutput { + return o +} + +func (o IsReservationResourceGroupOutput) ToIsReservationResourceGroupPtrOutput() IsReservationResourceGroupPtrOutput { + return o.ToIsReservationResourceGroupPtrOutputWithContext(context.Background()) +} + +func (o IsReservationResourceGroupOutput) ToIsReservationResourceGroupPtrOutputWithContext(ctx context.Context) IsReservationResourceGroupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsReservationResourceGroup) *IsReservationResourceGroup { + return &v + }).(IsReservationResourceGroupPtrOutput) +} + +// The URL for this resource group. +func (o IsReservationResourceGroupOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationResourceGroup) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group +func (o IsReservationResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IsReservationResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o IsReservationResourceGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationResourceGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsReservationResourceGroupPtrOutput struct{ *pulumi.OutputState } + +func (IsReservationResourceGroupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsReservationResourceGroup)(nil)).Elem() +} + +func (o IsReservationResourceGroupPtrOutput) ToIsReservationResourceGroupPtrOutput() IsReservationResourceGroupPtrOutput { + return o +} + +func (o IsReservationResourceGroupPtrOutput) ToIsReservationResourceGroupPtrOutputWithContext(ctx context.Context) IsReservationResourceGroupPtrOutput { + return o +} + +func (o IsReservationResourceGroupPtrOutput) Elem() IsReservationResourceGroupOutput { + return o.ApplyT(func(v *IsReservationResourceGroup) IsReservationResourceGroup { + if v != nil { + return *v + } + var ret IsReservationResourceGroup + return ret + }).(IsReservationResourceGroupOutput) +} + +// The URL for this resource group. +func (o IsReservationResourceGroupPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationResourceGroup) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group +func (o IsReservationResourceGroupPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationResourceGroup) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this resource group. +func (o IsReservationResourceGroupPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsReservationResourceGroup) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +type IsReservationStatusReason struct { + // snake case string succinctly identifying the status reason. + Code *string `pulumi:"code"` + // An explanation of the status reason + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsReservationStatusReasonInput is an input type that accepts IsReservationStatusReasonArgs and IsReservationStatusReasonOutput values. +// You can construct a concrete instance of `IsReservationStatusReasonInput` via: +// +// IsReservationStatusReasonArgs{...} +type IsReservationStatusReasonInput interface { + pulumi.Input + + ToIsReservationStatusReasonOutput() IsReservationStatusReasonOutput + ToIsReservationStatusReasonOutputWithContext(context.Context) IsReservationStatusReasonOutput +} + +type IsReservationStatusReasonArgs struct { + // snake case string succinctly identifying the status reason. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsReservationStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationStatusReason)(nil)).Elem() +} + +func (i IsReservationStatusReasonArgs) ToIsReservationStatusReasonOutput() IsReservationStatusReasonOutput { + return i.ToIsReservationStatusReasonOutputWithContext(context.Background()) +} + +func (i IsReservationStatusReasonArgs) ToIsReservationStatusReasonOutputWithContext(ctx context.Context) IsReservationStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationStatusReasonOutput) +} + +// IsReservationStatusReasonArrayInput is an input type that accepts IsReservationStatusReasonArray and IsReservationStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsReservationStatusReasonArrayInput` via: +// +// IsReservationStatusReasonArray{ IsReservationStatusReasonArgs{...} } +type IsReservationStatusReasonArrayInput interface { + pulumi.Input + + ToIsReservationStatusReasonArrayOutput() IsReservationStatusReasonArrayOutput + ToIsReservationStatusReasonArrayOutputWithContext(context.Context) IsReservationStatusReasonArrayOutput +} + +type IsReservationStatusReasonArray []IsReservationStatusReasonInput + +func (IsReservationStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationStatusReason)(nil)).Elem() +} + +func (i IsReservationStatusReasonArray) ToIsReservationStatusReasonArrayOutput() IsReservationStatusReasonArrayOutput { + return i.ToIsReservationStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsReservationStatusReasonArray) ToIsReservationStatusReasonArrayOutputWithContext(ctx context.Context) IsReservationStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsReservationStatusReasonArrayOutput) +} + +type IsReservationStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsReservationStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsReservationStatusReason)(nil)).Elem() +} + +func (o IsReservationStatusReasonOutput) ToIsReservationStatusReasonOutput() IsReservationStatusReasonOutput { + return o +} + +func (o IsReservationStatusReasonOutput) ToIsReservationStatusReasonOutputWithContext(ctx context.Context) IsReservationStatusReasonOutput { + return o +} + +// snake case string succinctly identifying the status reason. +func (o IsReservationStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason +func (o IsReservationStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v IsReservationStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o IsReservationStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsReservationStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsReservationStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsReservationStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsReservationStatusReason)(nil)).Elem() +} + +func (o IsReservationStatusReasonArrayOutput) ToIsReservationStatusReasonArrayOutput() IsReservationStatusReasonArrayOutput { + return o +} + +func (o IsReservationStatusReasonArrayOutput) ToIsReservationStatusReasonArrayOutputWithContext(ctx context.Context) IsReservationStatusReasonArrayOutput { + return o +} + +func (o IsReservationStatusReasonArrayOutput) Index(i pulumi.IntInput) IsReservationStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsReservationStatusReason { + return vs[0].([]IsReservationStatusReason)[vs[1].(int)] + }).(IsReservationStatusReasonOutput) +} + +type IsSecurityGroupRuleType struct { + Code *int `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction *string `pulumi:"direction"` + // IP version: ipv4 + IpVersion *string `pulumi:"ipVersion"` + // Security group local ip: an IP address, a CIDR block + Local *string `pulumi:"local"` + PortMax *int `pulumi:"portMax"` + PortMin *int `pulumi:"portMin"` + Protocol *string `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote *string `pulumi:"remote"` + Type *int `pulumi:"type"` +} + +// IsSecurityGroupRuleTypeInput is an input type that accepts IsSecurityGroupRuleTypeArgs and IsSecurityGroupRuleTypeOutput values. +// You can construct a concrete instance of `IsSecurityGroupRuleTypeInput` via: +// +// IsSecurityGroupRuleTypeArgs{...} +type IsSecurityGroupRuleTypeInput interface { + pulumi.Input + + ToIsSecurityGroupRuleTypeOutput() IsSecurityGroupRuleTypeOutput + ToIsSecurityGroupRuleTypeOutputWithContext(context.Context) IsSecurityGroupRuleTypeOutput +} + +type IsSecurityGroupRuleTypeArgs struct { + Code pulumi.IntPtrInput `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringPtrInput `pulumi:"direction"` + // IP version: ipv4 + IpVersion pulumi.StringPtrInput `pulumi:"ipVersion"` + // Security group local ip: an IP address, a CIDR block + Local pulumi.StringPtrInput `pulumi:"local"` + PortMax pulumi.IntPtrInput `pulumi:"portMax"` + PortMin pulumi.IntPtrInput `pulumi:"portMin"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote pulumi.StringPtrInput `pulumi:"remote"` + Type pulumi.IntPtrInput `pulumi:"type"` +} + +func (IsSecurityGroupRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSecurityGroupRuleType)(nil)).Elem() +} + +func (i IsSecurityGroupRuleTypeArgs) ToIsSecurityGroupRuleTypeOutput() IsSecurityGroupRuleTypeOutput { + return i.ToIsSecurityGroupRuleTypeOutputWithContext(context.Background()) +} + +func (i IsSecurityGroupRuleTypeArgs) ToIsSecurityGroupRuleTypeOutputWithContext(ctx context.Context) IsSecurityGroupRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleTypeOutput) +} + +// IsSecurityGroupRuleTypeArrayInput is an input type that accepts IsSecurityGroupRuleTypeArray and IsSecurityGroupRuleTypeArrayOutput values. +// You can construct a concrete instance of `IsSecurityGroupRuleTypeArrayInput` via: +// +// IsSecurityGroupRuleTypeArray{ IsSecurityGroupRuleTypeArgs{...} } +type IsSecurityGroupRuleTypeArrayInput interface { + pulumi.Input + + ToIsSecurityGroupRuleTypeArrayOutput() IsSecurityGroupRuleTypeArrayOutput + ToIsSecurityGroupRuleTypeArrayOutputWithContext(context.Context) IsSecurityGroupRuleTypeArrayOutput +} + +type IsSecurityGroupRuleTypeArray []IsSecurityGroupRuleTypeInput + +func (IsSecurityGroupRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSecurityGroupRuleType)(nil)).Elem() +} + +func (i IsSecurityGroupRuleTypeArray) ToIsSecurityGroupRuleTypeArrayOutput() IsSecurityGroupRuleTypeArrayOutput { + return i.ToIsSecurityGroupRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i IsSecurityGroupRuleTypeArray) ToIsSecurityGroupRuleTypeArrayOutputWithContext(ctx context.Context) IsSecurityGroupRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleTypeArrayOutput) +} + +type IsSecurityGroupRuleTypeOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSecurityGroupRuleType)(nil)).Elem() +} + +func (o IsSecurityGroupRuleTypeOutput) ToIsSecurityGroupRuleTypeOutput() IsSecurityGroupRuleTypeOutput { + return o +} + +func (o IsSecurityGroupRuleTypeOutput) ToIsSecurityGroupRuleTypeOutputWithContext(ctx context.Context) IsSecurityGroupRuleTypeOutput { + return o +} + +func (o IsSecurityGroupRuleTypeOutput) Code() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *int { return v.Code }).(pulumi.IntPtrOutput) +} + +// Direction of traffic to enforce, either inbound or outbound +func (o IsSecurityGroupRuleTypeOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +// IP version: ipv4 +func (o IsSecurityGroupRuleTypeOutput) IpVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *string { return v.IpVersion }).(pulumi.StringPtrOutput) +} + +// Security group local ip: an IP address, a CIDR block +func (o IsSecurityGroupRuleTypeOutput) Local() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *string { return v.Local }).(pulumi.StringPtrOutput) +} + +func (o IsSecurityGroupRuleTypeOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *int { return v.PortMax }).(pulumi.IntPtrOutput) +} + +func (o IsSecurityGroupRuleTypeOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *int { return v.PortMin }).(pulumi.IntPtrOutput) +} + +func (o IsSecurityGroupRuleTypeOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// Security group id: an IP address, a CIDR block, or a single security group identifier +func (o IsSecurityGroupRuleTypeOutput) Remote() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *string { return v.Remote }).(pulumi.StringPtrOutput) +} + +func (o IsSecurityGroupRuleTypeOutput) Type() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleType) *int { return v.Type }).(pulumi.IntPtrOutput) +} + +type IsSecurityGroupRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSecurityGroupRuleType)(nil)).Elem() +} + +func (o IsSecurityGroupRuleTypeArrayOutput) ToIsSecurityGroupRuleTypeArrayOutput() IsSecurityGroupRuleTypeArrayOutput { + return o +} + +func (o IsSecurityGroupRuleTypeArrayOutput) ToIsSecurityGroupRuleTypeArrayOutputWithContext(ctx context.Context) IsSecurityGroupRuleTypeArrayOutput { + return o +} + +func (o IsSecurityGroupRuleTypeArrayOutput) Index(i pulumi.IntInput) IsSecurityGroupRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSecurityGroupRuleType { + return vs[0].([]IsSecurityGroupRuleType)[vs[1].(int)] + }).(IsSecurityGroupRuleTypeOutput) +} + +type IsSecurityGroupRuleIcmp struct { + Code *int `pulumi:"code"` + Type *int `pulumi:"type"` +} + +// IsSecurityGroupRuleIcmpInput is an input type that accepts IsSecurityGroupRuleIcmpArgs and IsSecurityGroupRuleIcmpOutput values. +// You can construct a concrete instance of `IsSecurityGroupRuleIcmpInput` via: +// +// IsSecurityGroupRuleIcmpArgs{...} +type IsSecurityGroupRuleIcmpInput interface { + pulumi.Input + + ToIsSecurityGroupRuleIcmpOutput() IsSecurityGroupRuleIcmpOutput + ToIsSecurityGroupRuleIcmpOutputWithContext(context.Context) IsSecurityGroupRuleIcmpOutput +} + +type IsSecurityGroupRuleIcmpArgs struct { + Code pulumi.IntPtrInput `pulumi:"code"` + Type pulumi.IntPtrInput `pulumi:"type"` +} + +func (IsSecurityGroupRuleIcmpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSecurityGroupRuleIcmp)(nil)).Elem() +} + +func (i IsSecurityGroupRuleIcmpArgs) ToIsSecurityGroupRuleIcmpOutput() IsSecurityGroupRuleIcmpOutput { + return i.ToIsSecurityGroupRuleIcmpOutputWithContext(context.Background()) +} + +func (i IsSecurityGroupRuleIcmpArgs) ToIsSecurityGroupRuleIcmpOutputWithContext(ctx context.Context) IsSecurityGroupRuleIcmpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleIcmpOutput) +} + +func (i IsSecurityGroupRuleIcmpArgs) ToIsSecurityGroupRuleIcmpPtrOutput() IsSecurityGroupRuleIcmpPtrOutput { + return i.ToIsSecurityGroupRuleIcmpPtrOutputWithContext(context.Background()) +} + +func (i IsSecurityGroupRuleIcmpArgs) ToIsSecurityGroupRuleIcmpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleIcmpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleIcmpOutput).ToIsSecurityGroupRuleIcmpPtrOutputWithContext(ctx) +} + +// IsSecurityGroupRuleIcmpPtrInput is an input type that accepts IsSecurityGroupRuleIcmpArgs, IsSecurityGroupRuleIcmpPtr and IsSecurityGroupRuleIcmpPtrOutput values. +// You can construct a concrete instance of `IsSecurityGroupRuleIcmpPtrInput` via: +// +// IsSecurityGroupRuleIcmpArgs{...} +// +// or: +// +// nil +type IsSecurityGroupRuleIcmpPtrInput interface { + pulumi.Input + + ToIsSecurityGroupRuleIcmpPtrOutput() IsSecurityGroupRuleIcmpPtrOutput + ToIsSecurityGroupRuleIcmpPtrOutputWithContext(context.Context) IsSecurityGroupRuleIcmpPtrOutput +} + +type isSecurityGroupRuleIcmpPtrType IsSecurityGroupRuleIcmpArgs + +func IsSecurityGroupRuleIcmpPtr(v *IsSecurityGroupRuleIcmpArgs) IsSecurityGroupRuleIcmpPtrInput { + return (*isSecurityGroupRuleIcmpPtrType)(v) +} + +func (*isSecurityGroupRuleIcmpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupRuleIcmp)(nil)).Elem() +} + +func (i *isSecurityGroupRuleIcmpPtrType) ToIsSecurityGroupRuleIcmpPtrOutput() IsSecurityGroupRuleIcmpPtrOutput { + return i.ToIsSecurityGroupRuleIcmpPtrOutputWithContext(context.Background()) +} + +func (i *isSecurityGroupRuleIcmpPtrType) ToIsSecurityGroupRuleIcmpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleIcmpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleIcmpPtrOutput) +} + +type IsSecurityGroupRuleIcmpOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleIcmpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSecurityGroupRuleIcmp)(nil)).Elem() +} + +func (o IsSecurityGroupRuleIcmpOutput) ToIsSecurityGroupRuleIcmpOutput() IsSecurityGroupRuleIcmpOutput { + return o +} + +func (o IsSecurityGroupRuleIcmpOutput) ToIsSecurityGroupRuleIcmpOutputWithContext(ctx context.Context) IsSecurityGroupRuleIcmpOutput { + return o +} + +func (o IsSecurityGroupRuleIcmpOutput) ToIsSecurityGroupRuleIcmpPtrOutput() IsSecurityGroupRuleIcmpPtrOutput { + return o.ToIsSecurityGroupRuleIcmpPtrOutputWithContext(context.Background()) +} + +func (o IsSecurityGroupRuleIcmpOutput) ToIsSecurityGroupRuleIcmpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleIcmpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsSecurityGroupRuleIcmp) *IsSecurityGroupRuleIcmp { + return &v + }).(IsSecurityGroupRuleIcmpPtrOutput) +} + +func (o IsSecurityGroupRuleIcmpOutput) Code() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleIcmp) *int { return v.Code }).(pulumi.IntPtrOutput) +} + +func (o IsSecurityGroupRuleIcmpOutput) Type() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleIcmp) *int { return v.Type }).(pulumi.IntPtrOutput) +} + +type IsSecurityGroupRuleIcmpPtrOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleIcmpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupRuleIcmp)(nil)).Elem() +} + +func (o IsSecurityGroupRuleIcmpPtrOutput) ToIsSecurityGroupRuleIcmpPtrOutput() IsSecurityGroupRuleIcmpPtrOutput { + return o +} + +func (o IsSecurityGroupRuleIcmpPtrOutput) ToIsSecurityGroupRuleIcmpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleIcmpPtrOutput { + return o +} + +func (o IsSecurityGroupRuleIcmpPtrOutput) Elem() IsSecurityGroupRuleIcmpOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleIcmp) IsSecurityGroupRuleIcmp { + if v != nil { + return *v + } + var ret IsSecurityGroupRuleIcmp + return ret + }).(IsSecurityGroupRuleIcmpOutput) +} + +func (o IsSecurityGroupRuleIcmpPtrOutput) Code() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleIcmp) *int { + if v == nil { + return nil + } + return v.Code + }).(pulumi.IntPtrOutput) +} + +func (o IsSecurityGroupRuleIcmpPtrOutput) Type() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleIcmp) *int { + if v == nil { + return nil + } + return v.Type + }).(pulumi.IntPtrOutput) +} + +type IsSecurityGroupRuleTcp struct { + PortMax *int `pulumi:"portMax"` + PortMin *int `pulumi:"portMin"` +} + +// IsSecurityGroupRuleTcpInput is an input type that accepts IsSecurityGroupRuleTcpArgs and IsSecurityGroupRuleTcpOutput values. +// You can construct a concrete instance of `IsSecurityGroupRuleTcpInput` via: +// +// IsSecurityGroupRuleTcpArgs{...} +type IsSecurityGroupRuleTcpInput interface { + pulumi.Input + + ToIsSecurityGroupRuleTcpOutput() IsSecurityGroupRuleTcpOutput + ToIsSecurityGroupRuleTcpOutputWithContext(context.Context) IsSecurityGroupRuleTcpOutput +} + +type IsSecurityGroupRuleTcpArgs struct { + PortMax pulumi.IntPtrInput `pulumi:"portMax"` + PortMin pulumi.IntPtrInput `pulumi:"portMin"` +} + +func (IsSecurityGroupRuleTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSecurityGroupRuleTcp)(nil)).Elem() +} + +func (i IsSecurityGroupRuleTcpArgs) ToIsSecurityGroupRuleTcpOutput() IsSecurityGroupRuleTcpOutput { + return i.ToIsSecurityGroupRuleTcpOutputWithContext(context.Background()) +} + +func (i IsSecurityGroupRuleTcpArgs) ToIsSecurityGroupRuleTcpOutputWithContext(ctx context.Context) IsSecurityGroupRuleTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleTcpOutput) +} + +func (i IsSecurityGroupRuleTcpArgs) ToIsSecurityGroupRuleTcpPtrOutput() IsSecurityGroupRuleTcpPtrOutput { + return i.ToIsSecurityGroupRuleTcpPtrOutputWithContext(context.Background()) +} + +func (i IsSecurityGroupRuleTcpArgs) ToIsSecurityGroupRuleTcpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleTcpOutput).ToIsSecurityGroupRuleTcpPtrOutputWithContext(ctx) +} + +// IsSecurityGroupRuleTcpPtrInput is an input type that accepts IsSecurityGroupRuleTcpArgs, IsSecurityGroupRuleTcpPtr and IsSecurityGroupRuleTcpPtrOutput values. +// You can construct a concrete instance of `IsSecurityGroupRuleTcpPtrInput` via: +// +// IsSecurityGroupRuleTcpArgs{...} +// +// or: +// +// nil +type IsSecurityGroupRuleTcpPtrInput interface { + pulumi.Input + + ToIsSecurityGroupRuleTcpPtrOutput() IsSecurityGroupRuleTcpPtrOutput + ToIsSecurityGroupRuleTcpPtrOutputWithContext(context.Context) IsSecurityGroupRuleTcpPtrOutput +} + +type isSecurityGroupRuleTcpPtrType IsSecurityGroupRuleTcpArgs + +func IsSecurityGroupRuleTcpPtr(v *IsSecurityGroupRuleTcpArgs) IsSecurityGroupRuleTcpPtrInput { + return (*isSecurityGroupRuleTcpPtrType)(v) +} + +func (*isSecurityGroupRuleTcpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupRuleTcp)(nil)).Elem() +} + +func (i *isSecurityGroupRuleTcpPtrType) ToIsSecurityGroupRuleTcpPtrOutput() IsSecurityGroupRuleTcpPtrOutput { + return i.ToIsSecurityGroupRuleTcpPtrOutputWithContext(context.Background()) +} + +func (i *isSecurityGroupRuleTcpPtrType) ToIsSecurityGroupRuleTcpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleTcpPtrOutput) +} + +type IsSecurityGroupRuleTcpOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSecurityGroupRuleTcp)(nil)).Elem() +} + +func (o IsSecurityGroupRuleTcpOutput) ToIsSecurityGroupRuleTcpOutput() IsSecurityGroupRuleTcpOutput { + return o +} + +func (o IsSecurityGroupRuleTcpOutput) ToIsSecurityGroupRuleTcpOutputWithContext(ctx context.Context) IsSecurityGroupRuleTcpOutput { + return o +} + +func (o IsSecurityGroupRuleTcpOutput) ToIsSecurityGroupRuleTcpPtrOutput() IsSecurityGroupRuleTcpPtrOutput { + return o.ToIsSecurityGroupRuleTcpPtrOutputWithContext(context.Background()) +} + +func (o IsSecurityGroupRuleTcpOutput) ToIsSecurityGroupRuleTcpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleTcpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsSecurityGroupRuleTcp) *IsSecurityGroupRuleTcp { + return &v + }).(IsSecurityGroupRuleTcpPtrOutput) +} + +func (o IsSecurityGroupRuleTcpOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleTcp) *int { return v.PortMax }).(pulumi.IntPtrOutput) +} + +func (o IsSecurityGroupRuleTcpOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleTcp) *int { return v.PortMin }).(pulumi.IntPtrOutput) +} + +type IsSecurityGroupRuleTcpPtrOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleTcpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupRuleTcp)(nil)).Elem() +} + +func (o IsSecurityGroupRuleTcpPtrOutput) ToIsSecurityGroupRuleTcpPtrOutput() IsSecurityGroupRuleTcpPtrOutput { + return o +} + +func (o IsSecurityGroupRuleTcpPtrOutput) ToIsSecurityGroupRuleTcpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleTcpPtrOutput { + return o +} + +func (o IsSecurityGroupRuleTcpPtrOutput) Elem() IsSecurityGroupRuleTcpOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleTcp) IsSecurityGroupRuleTcp { + if v != nil { + return *v + } + var ret IsSecurityGroupRuleTcp + return ret + }).(IsSecurityGroupRuleTcpOutput) +} + +func (o IsSecurityGroupRuleTcpPtrOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleTcp) *int { + if v == nil { + return nil + } + return v.PortMax + }).(pulumi.IntPtrOutput) +} + +func (o IsSecurityGroupRuleTcpPtrOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleTcp) *int { + if v == nil { + return nil + } + return v.PortMin + }).(pulumi.IntPtrOutput) +} + +type IsSecurityGroupRuleUdp struct { + PortMax *int `pulumi:"portMax"` + PortMin *int `pulumi:"portMin"` +} + +// IsSecurityGroupRuleUdpInput is an input type that accepts IsSecurityGroupRuleUdpArgs and IsSecurityGroupRuleUdpOutput values. +// You can construct a concrete instance of `IsSecurityGroupRuleUdpInput` via: +// +// IsSecurityGroupRuleUdpArgs{...} +type IsSecurityGroupRuleUdpInput interface { + pulumi.Input + + ToIsSecurityGroupRuleUdpOutput() IsSecurityGroupRuleUdpOutput + ToIsSecurityGroupRuleUdpOutputWithContext(context.Context) IsSecurityGroupRuleUdpOutput +} + +type IsSecurityGroupRuleUdpArgs struct { + PortMax pulumi.IntPtrInput `pulumi:"portMax"` + PortMin pulumi.IntPtrInput `pulumi:"portMin"` +} + +func (IsSecurityGroupRuleUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSecurityGroupRuleUdp)(nil)).Elem() +} + +func (i IsSecurityGroupRuleUdpArgs) ToIsSecurityGroupRuleUdpOutput() IsSecurityGroupRuleUdpOutput { + return i.ToIsSecurityGroupRuleUdpOutputWithContext(context.Background()) +} + +func (i IsSecurityGroupRuleUdpArgs) ToIsSecurityGroupRuleUdpOutputWithContext(ctx context.Context) IsSecurityGroupRuleUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleUdpOutput) +} + +func (i IsSecurityGroupRuleUdpArgs) ToIsSecurityGroupRuleUdpPtrOutput() IsSecurityGroupRuleUdpPtrOutput { + return i.ToIsSecurityGroupRuleUdpPtrOutputWithContext(context.Background()) +} + +func (i IsSecurityGroupRuleUdpArgs) ToIsSecurityGroupRuleUdpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleUdpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleUdpOutput).ToIsSecurityGroupRuleUdpPtrOutputWithContext(ctx) +} + +// IsSecurityGroupRuleUdpPtrInput is an input type that accepts IsSecurityGroupRuleUdpArgs, IsSecurityGroupRuleUdpPtr and IsSecurityGroupRuleUdpPtrOutput values. +// You can construct a concrete instance of `IsSecurityGroupRuleUdpPtrInput` via: +// +// IsSecurityGroupRuleUdpArgs{...} +// +// or: +// +// nil +type IsSecurityGroupRuleUdpPtrInput interface { + pulumi.Input + + ToIsSecurityGroupRuleUdpPtrOutput() IsSecurityGroupRuleUdpPtrOutput + ToIsSecurityGroupRuleUdpPtrOutputWithContext(context.Context) IsSecurityGroupRuleUdpPtrOutput +} + +type isSecurityGroupRuleUdpPtrType IsSecurityGroupRuleUdpArgs + +func IsSecurityGroupRuleUdpPtr(v *IsSecurityGroupRuleUdpArgs) IsSecurityGroupRuleUdpPtrInput { + return (*isSecurityGroupRuleUdpPtrType)(v) +} + +func (*isSecurityGroupRuleUdpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupRuleUdp)(nil)).Elem() +} + +func (i *isSecurityGroupRuleUdpPtrType) ToIsSecurityGroupRuleUdpPtrOutput() IsSecurityGroupRuleUdpPtrOutput { + return i.ToIsSecurityGroupRuleUdpPtrOutputWithContext(context.Background()) +} + +func (i *isSecurityGroupRuleUdpPtrType) ToIsSecurityGroupRuleUdpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleUdpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSecurityGroupRuleUdpPtrOutput) +} + +type IsSecurityGroupRuleUdpOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSecurityGroupRuleUdp)(nil)).Elem() +} + +func (o IsSecurityGroupRuleUdpOutput) ToIsSecurityGroupRuleUdpOutput() IsSecurityGroupRuleUdpOutput { + return o +} + +func (o IsSecurityGroupRuleUdpOutput) ToIsSecurityGroupRuleUdpOutputWithContext(ctx context.Context) IsSecurityGroupRuleUdpOutput { + return o +} + +func (o IsSecurityGroupRuleUdpOutput) ToIsSecurityGroupRuleUdpPtrOutput() IsSecurityGroupRuleUdpPtrOutput { + return o.ToIsSecurityGroupRuleUdpPtrOutputWithContext(context.Background()) +} + +func (o IsSecurityGroupRuleUdpOutput) ToIsSecurityGroupRuleUdpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleUdpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsSecurityGroupRuleUdp) *IsSecurityGroupRuleUdp { + return &v + }).(IsSecurityGroupRuleUdpPtrOutput) +} + +func (o IsSecurityGroupRuleUdpOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleUdp) *int { return v.PortMax }).(pulumi.IntPtrOutput) +} + +func (o IsSecurityGroupRuleUdpOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSecurityGroupRuleUdp) *int { return v.PortMin }).(pulumi.IntPtrOutput) +} + +type IsSecurityGroupRuleUdpPtrOutput struct{ *pulumi.OutputState } + +func (IsSecurityGroupRuleUdpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSecurityGroupRuleUdp)(nil)).Elem() +} + +func (o IsSecurityGroupRuleUdpPtrOutput) ToIsSecurityGroupRuleUdpPtrOutput() IsSecurityGroupRuleUdpPtrOutput { + return o +} + +func (o IsSecurityGroupRuleUdpPtrOutput) ToIsSecurityGroupRuleUdpPtrOutputWithContext(ctx context.Context) IsSecurityGroupRuleUdpPtrOutput { + return o +} + +func (o IsSecurityGroupRuleUdpPtrOutput) Elem() IsSecurityGroupRuleUdpOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleUdp) IsSecurityGroupRuleUdp { + if v != nil { + return *v + } + var ret IsSecurityGroupRuleUdp + return ret + }).(IsSecurityGroupRuleUdpOutput) +} + +func (o IsSecurityGroupRuleUdpPtrOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleUdp) *int { + if v == nil { + return nil + } + return v.PortMax + }).(pulumi.IntPtrOutput) +} + +func (o IsSecurityGroupRuleUdpPtrOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsSecurityGroupRuleUdp) *int { + if v == nil { + return nil + } + return v.PortMin + }).(pulumi.IntPtrOutput) +} + +type IsShareAccessorBinding struct { + // The URL for this share accessor binding. + Href *string `pulumi:"href"` + // The unique identifier for this share accessor binding. + Id *string `pulumi:"id"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsShareAccessorBindingInput is an input type that accepts IsShareAccessorBindingArgs and IsShareAccessorBindingOutput values. +// You can construct a concrete instance of `IsShareAccessorBindingInput` via: +// +// IsShareAccessorBindingArgs{...} +type IsShareAccessorBindingInput interface { + pulumi.Input + + ToIsShareAccessorBindingOutput() IsShareAccessorBindingOutput + ToIsShareAccessorBindingOutputWithContext(context.Context) IsShareAccessorBindingOutput +} + +type IsShareAccessorBindingArgs struct { + // The URL for this share accessor binding. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this share accessor binding. + Id pulumi.StringPtrInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsShareAccessorBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareAccessorBinding)(nil)).Elem() +} + +func (i IsShareAccessorBindingArgs) ToIsShareAccessorBindingOutput() IsShareAccessorBindingOutput { + return i.ToIsShareAccessorBindingOutputWithContext(context.Background()) +} + +func (i IsShareAccessorBindingArgs) ToIsShareAccessorBindingOutputWithContext(ctx context.Context) IsShareAccessorBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareAccessorBindingOutput) +} + +// IsShareAccessorBindingArrayInput is an input type that accepts IsShareAccessorBindingArray and IsShareAccessorBindingArrayOutput values. +// You can construct a concrete instance of `IsShareAccessorBindingArrayInput` via: +// +// IsShareAccessorBindingArray{ IsShareAccessorBindingArgs{...} } +type IsShareAccessorBindingArrayInput interface { + pulumi.Input + + ToIsShareAccessorBindingArrayOutput() IsShareAccessorBindingArrayOutput + ToIsShareAccessorBindingArrayOutputWithContext(context.Context) IsShareAccessorBindingArrayOutput +} + +type IsShareAccessorBindingArray []IsShareAccessorBindingInput + +func (IsShareAccessorBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareAccessorBinding)(nil)).Elem() +} + +func (i IsShareAccessorBindingArray) ToIsShareAccessorBindingArrayOutput() IsShareAccessorBindingArrayOutput { + return i.ToIsShareAccessorBindingArrayOutputWithContext(context.Background()) +} + +func (i IsShareAccessorBindingArray) ToIsShareAccessorBindingArrayOutputWithContext(ctx context.Context) IsShareAccessorBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareAccessorBindingArrayOutput) +} + +type IsShareAccessorBindingOutput struct{ *pulumi.OutputState } + +func (IsShareAccessorBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareAccessorBinding)(nil)).Elem() +} + +func (o IsShareAccessorBindingOutput) ToIsShareAccessorBindingOutput() IsShareAccessorBindingOutput { + return o +} + +func (o IsShareAccessorBindingOutput) ToIsShareAccessorBindingOutputWithContext(ctx context.Context) IsShareAccessorBindingOutput { + return o +} + +// The URL for this share accessor binding. +func (o IsShareAccessorBindingOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareAccessorBinding) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this share accessor binding. +func (o IsShareAccessorBindingOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareAccessorBinding) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsShareAccessorBindingOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareAccessorBinding) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsShareAccessorBindingArrayOutput struct{ *pulumi.OutputState } + +func (IsShareAccessorBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareAccessorBinding)(nil)).Elem() +} + +func (o IsShareAccessorBindingArrayOutput) ToIsShareAccessorBindingArrayOutput() IsShareAccessorBindingArrayOutput { + return o +} + +func (o IsShareAccessorBindingArrayOutput) ToIsShareAccessorBindingArrayOutputWithContext(ctx context.Context) IsShareAccessorBindingArrayOutput { + return o +} + +func (o IsShareAccessorBindingArrayOutput) Index(i pulumi.IntInput) IsShareAccessorBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareAccessorBinding { + return vs[0].([]IsShareAccessorBinding)[vs[1].(int)] + }).(IsShareAccessorBindingOutput) +} + +type IsShareInitialOwner struct { + // The initial group identifier for the file share. + Gid *int `pulumi:"gid"` + // The initial user identifier for the file share. + Uid *int `pulumi:"uid"` +} + +// IsShareInitialOwnerInput is an input type that accepts IsShareInitialOwnerArgs and IsShareInitialOwnerOutput values. +// You can construct a concrete instance of `IsShareInitialOwnerInput` via: +// +// IsShareInitialOwnerArgs{...} +type IsShareInitialOwnerInput interface { + pulumi.Input + + ToIsShareInitialOwnerOutput() IsShareInitialOwnerOutput + ToIsShareInitialOwnerOutputWithContext(context.Context) IsShareInitialOwnerOutput +} + +type IsShareInitialOwnerArgs struct { + // The initial group identifier for the file share. + Gid pulumi.IntPtrInput `pulumi:"gid"` + // The initial user identifier for the file share. + Uid pulumi.IntPtrInput `pulumi:"uid"` +} + +func (IsShareInitialOwnerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareInitialOwner)(nil)).Elem() +} + +func (i IsShareInitialOwnerArgs) ToIsShareInitialOwnerOutput() IsShareInitialOwnerOutput { + return i.ToIsShareInitialOwnerOutputWithContext(context.Background()) +} + +func (i IsShareInitialOwnerArgs) ToIsShareInitialOwnerOutputWithContext(ctx context.Context) IsShareInitialOwnerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareInitialOwnerOutput) +} + +func (i IsShareInitialOwnerArgs) ToIsShareInitialOwnerPtrOutput() IsShareInitialOwnerPtrOutput { + return i.ToIsShareInitialOwnerPtrOutputWithContext(context.Background()) +} + +func (i IsShareInitialOwnerArgs) ToIsShareInitialOwnerPtrOutputWithContext(ctx context.Context) IsShareInitialOwnerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareInitialOwnerOutput).ToIsShareInitialOwnerPtrOutputWithContext(ctx) +} + +// IsShareInitialOwnerPtrInput is an input type that accepts IsShareInitialOwnerArgs, IsShareInitialOwnerPtr and IsShareInitialOwnerPtrOutput values. +// You can construct a concrete instance of `IsShareInitialOwnerPtrInput` via: +// +// IsShareInitialOwnerArgs{...} +// +// or: +// +// nil +type IsShareInitialOwnerPtrInput interface { + pulumi.Input + + ToIsShareInitialOwnerPtrOutput() IsShareInitialOwnerPtrOutput + ToIsShareInitialOwnerPtrOutputWithContext(context.Context) IsShareInitialOwnerPtrOutput +} + +type isShareInitialOwnerPtrType IsShareInitialOwnerArgs + +func IsShareInitialOwnerPtr(v *IsShareInitialOwnerArgs) IsShareInitialOwnerPtrInput { + return (*isShareInitialOwnerPtrType)(v) +} + +func (*isShareInitialOwnerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareInitialOwner)(nil)).Elem() +} + +func (i *isShareInitialOwnerPtrType) ToIsShareInitialOwnerPtrOutput() IsShareInitialOwnerPtrOutput { + return i.ToIsShareInitialOwnerPtrOutputWithContext(context.Background()) +} + +func (i *isShareInitialOwnerPtrType) ToIsShareInitialOwnerPtrOutputWithContext(ctx context.Context) IsShareInitialOwnerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareInitialOwnerPtrOutput) +} + +type IsShareInitialOwnerOutput struct{ *pulumi.OutputState } + +func (IsShareInitialOwnerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareInitialOwner)(nil)).Elem() +} + +func (o IsShareInitialOwnerOutput) ToIsShareInitialOwnerOutput() IsShareInitialOwnerOutput { + return o +} + +func (o IsShareInitialOwnerOutput) ToIsShareInitialOwnerOutputWithContext(ctx context.Context) IsShareInitialOwnerOutput { + return o +} + +func (o IsShareInitialOwnerOutput) ToIsShareInitialOwnerPtrOutput() IsShareInitialOwnerPtrOutput { + return o.ToIsShareInitialOwnerPtrOutputWithContext(context.Background()) +} + +func (o IsShareInitialOwnerOutput) ToIsShareInitialOwnerPtrOutputWithContext(ctx context.Context) IsShareInitialOwnerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsShareInitialOwner) *IsShareInitialOwner { + return &v + }).(IsShareInitialOwnerPtrOutput) +} + +// The initial group identifier for the file share. +func (o IsShareInitialOwnerOutput) Gid() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsShareInitialOwner) *int { return v.Gid }).(pulumi.IntPtrOutput) +} + +// The initial user identifier for the file share. +func (o IsShareInitialOwnerOutput) Uid() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsShareInitialOwner) *int { return v.Uid }).(pulumi.IntPtrOutput) +} + +type IsShareInitialOwnerPtrOutput struct{ *pulumi.OutputState } + +func (IsShareInitialOwnerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareInitialOwner)(nil)).Elem() +} + +func (o IsShareInitialOwnerPtrOutput) ToIsShareInitialOwnerPtrOutput() IsShareInitialOwnerPtrOutput { + return o +} + +func (o IsShareInitialOwnerPtrOutput) ToIsShareInitialOwnerPtrOutputWithContext(ctx context.Context) IsShareInitialOwnerPtrOutput { + return o +} + +func (o IsShareInitialOwnerPtrOutput) Elem() IsShareInitialOwnerOutput { + return o.ApplyT(func(v *IsShareInitialOwner) IsShareInitialOwner { + if v != nil { + return *v + } + var ret IsShareInitialOwner + return ret + }).(IsShareInitialOwnerOutput) +} + +// The initial group identifier for the file share. +func (o IsShareInitialOwnerPtrOutput) Gid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsShareInitialOwner) *int { + if v == nil { + return nil + } + return v.Gid + }).(pulumi.IntPtrOutput) +} + +// The initial user identifier for the file share. +func (o IsShareInitialOwnerPtrOutput) Uid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsShareInitialOwner) *int { + if v == nil { + return nil + } + return v.Uid + }).(pulumi.IntPtrOutput) +} + +type IsShareLatestJob struct { + // The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. + Status *string `pulumi:"status"` + // The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons []IsShareLatestJobStatusReason `pulumi:"statusReasons"` + // The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job.* `replicationSync`: This is a share replication synchronization job. + Type *string `pulumi:"type"` +} + +// IsShareLatestJobInput is an input type that accepts IsShareLatestJobArgs and IsShareLatestJobOutput values. +// You can construct a concrete instance of `IsShareLatestJobInput` via: +// +// IsShareLatestJobArgs{...} +type IsShareLatestJobInput interface { + pulumi.Input + + ToIsShareLatestJobOutput() IsShareLatestJobOutput + ToIsShareLatestJobOutputWithContext(context.Context) IsShareLatestJobOutput +} + +type IsShareLatestJobArgs struct { + // The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. + Status pulumi.StringPtrInput `pulumi:"status"` + // The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons IsShareLatestJobStatusReasonArrayInput `pulumi:"statusReasons"` + // The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job.* `replicationSync`: This is a share replication synchronization job. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (IsShareLatestJobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareLatestJob)(nil)).Elem() +} + +func (i IsShareLatestJobArgs) ToIsShareLatestJobOutput() IsShareLatestJobOutput { + return i.ToIsShareLatestJobOutputWithContext(context.Background()) +} + +func (i IsShareLatestJobArgs) ToIsShareLatestJobOutputWithContext(ctx context.Context) IsShareLatestJobOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareLatestJobOutput) +} + +// IsShareLatestJobArrayInput is an input type that accepts IsShareLatestJobArray and IsShareLatestJobArrayOutput values. +// You can construct a concrete instance of `IsShareLatestJobArrayInput` via: +// +// IsShareLatestJobArray{ IsShareLatestJobArgs{...} } +type IsShareLatestJobArrayInput interface { + pulumi.Input + + ToIsShareLatestJobArrayOutput() IsShareLatestJobArrayOutput + ToIsShareLatestJobArrayOutputWithContext(context.Context) IsShareLatestJobArrayOutput +} + +type IsShareLatestJobArray []IsShareLatestJobInput + +func (IsShareLatestJobArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareLatestJob)(nil)).Elem() +} + +func (i IsShareLatestJobArray) ToIsShareLatestJobArrayOutput() IsShareLatestJobArrayOutput { + return i.ToIsShareLatestJobArrayOutputWithContext(context.Background()) +} + +func (i IsShareLatestJobArray) ToIsShareLatestJobArrayOutputWithContext(ctx context.Context) IsShareLatestJobArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareLatestJobArrayOutput) +} + +type IsShareLatestJobOutput struct{ *pulumi.OutputState } + +func (IsShareLatestJobOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareLatestJob)(nil)).Elem() +} + +func (o IsShareLatestJobOutput) ToIsShareLatestJobOutput() IsShareLatestJobOutput { + return o +} + +func (o IsShareLatestJobOutput) ToIsShareLatestJobOutputWithContext(ctx context.Context) IsShareLatestJobOutput { + return o +} + +// The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. +func (o IsShareLatestJobOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLatestJob) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o IsShareLatestJobOutput) StatusReasons() IsShareLatestJobStatusReasonArrayOutput { + return o.ApplyT(func(v IsShareLatestJob) []IsShareLatestJobStatusReason { return v.StatusReasons }).(IsShareLatestJobStatusReasonArrayOutput) +} + +// The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job.* `replicationSync`: This is a share replication synchronization job. +func (o IsShareLatestJobOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLatestJob) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type IsShareLatestJobArrayOutput struct{ *pulumi.OutputState } + +func (IsShareLatestJobArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareLatestJob)(nil)).Elem() +} + +func (o IsShareLatestJobArrayOutput) ToIsShareLatestJobArrayOutput() IsShareLatestJobArrayOutput { + return o +} + +func (o IsShareLatestJobArrayOutput) ToIsShareLatestJobArrayOutputWithContext(ctx context.Context) IsShareLatestJobArrayOutput { + return o +} + +func (o IsShareLatestJobArrayOutput) Index(i pulumi.IntInput) IsShareLatestJobOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareLatestJob { + return vs[0].([]IsShareLatestJob)[vs[1].(int)] + }).(IsShareLatestJobOutput) +} + +type IsShareLatestJobStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code *string `pulumi:"code"` + // An explanation of the status reason. + Message *string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsShareLatestJobStatusReasonInput is an input type that accepts IsShareLatestJobStatusReasonArgs and IsShareLatestJobStatusReasonOutput values. +// You can construct a concrete instance of `IsShareLatestJobStatusReasonInput` via: +// +// IsShareLatestJobStatusReasonArgs{...} +type IsShareLatestJobStatusReasonInput interface { + pulumi.Input + + ToIsShareLatestJobStatusReasonOutput() IsShareLatestJobStatusReasonOutput + ToIsShareLatestJobStatusReasonOutputWithContext(context.Context) IsShareLatestJobStatusReasonOutput +} + +type IsShareLatestJobStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsShareLatestJobStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareLatestJobStatusReason)(nil)).Elem() +} + +func (i IsShareLatestJobStatusReasonArgs) ToIsShareLatestJobStatusReasonOutput() IsShareLatestJobStatusReasonOutput { + return i.ToIsShareLatestJobStatusReasonOutputWithContext(context.Background()) +} + +func (i IsShareLatestJobStatusReasonArgs) ToIsShareLatestJobStatusReasonOutputWithContext(ctx context.Context) IsShareLatestJobStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareLatestJobStatusReasonOutput) +} + +// IsShareLatestJobStatusReasonArrayInput is an input type that accepts IsShareLatestJobStatusReasonArray and IsShareLatestJobStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsShareLatestJobStatusReasonArrayInput` via: +// +// IsShareLatestJobStatusReasonArray{ IsShareLatestJobStatusReasonArgs{...} } +type IsShareLatestJobStatusReasonArrayInput interface { + pulumi.Input + + ToIsShareLatestJobStatusReasonArrayOutput() IsShareLatestJobStatusReasonArrayOutput + ToIsShareLatestJobStatusReasonArrayOutputWithContext(context.Context) IsShareLatestJobStatusReasonArrayOutput +} + +type IsShareLatestJobStatusReasonArray []IsShareLatestJobStatusReasonInput + +func (IsShareLatestJobStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareLatestJobStatusReason)(nil)).Elem() +} + +func (i IsShareLatestJobStatusReasonArray) ToIsShareLatestJobStatusReasonArrayOutput() IsShareLatestJobStatusReasonArrayOutput { + return i.ToIsShareLatestJobStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsShareLatestJobStatusReasonArray) ToIsShareLatestJobStatusReasonArrayOutputWithContext(ctx context.Context) IsShareLatestJobStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareLatestJobStatusReasonArrayOutput) +} + +type IsShareLatestJobStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsShareLatestJobStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareLatestJobStatusReason)(nil)).Elem() +} + +func (o IsShareLatestJobStatusReasonOutput) ToIsShareLatestJobStatusReasonOutput() IsShareLatestJobStatusReasonOutput { + return o +} + +func (o IsShareLatestJobStatusReasonOutput) ToIsShareLatestJobStatusReasonOutputWithContext(ctx context.Context) IsShareLatestJobStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o IsShareLatestJobStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLatestJobStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason. +func (o IsShareLatestJobStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLatestJobStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason. +func (o IsShareLatestJobStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLatestJobStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsShareLatestJobStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsShareLatestJobStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareLatestJobStatusReason)(nil)).Elem() +} + +func (o IsShareLatestJobStatusReasonArrayOutput) ToIsShareLatestJobStatusReasonArrayOutput() IsShareLatestJobStatusReasonArrayOutput { + return o +} + +func (o IsShareLatestJobStatusReasonArrayOutput) ToIsShareLatestJobStatusReasonArrayOutputWithContext(ctx context.Context) IsShareLatestJobStatusReasonArrayOutput { + return o +} + +func (o IsShareLatestJobStatusReasonArrayOutput) Index(i pulumi.IntInput) IsShareLatestJobStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareLatestJobStatusReason { + return vs[0].([]IsShareLatestJobStatusReason)[vs[1].(int)] + }).(IsShareLatestJobStatusReasonOutput) +} + +type IsShareLatestSync struct { + // The completed date and time of last synchronization between the replica share and its source. + CompletedAt *string `pulumi:"completedAt"` + // The data transferred (in bytes) in the last synchronization between the replica and its source. + DataTransferred *int `pulumi:"dataTransferred"` + // The start date and time of last synchronization between the replica share and its source. + StartedAt *string `pulumi:"startedAt"` +} + +// IsShareLatestSyncInput is an input type that accepts IsShareLatestSyncArgs and IsShareLatestSyncOutput values. +// You can construct a concrete instance of `IsShareLatestSyncInput` via: +// +// IsShareLatestSyncArgs{...} +type IsShareLatestSyncInput interface { + pulumi.Input + + ToIsShareLatestSyncOutput() IsShareLatestSyncOutput + ToIsShareLatestSyncOutputWithContext(context.Context) IsShareLatestSyncOutput +} + +type IsShareLatestSyncArgs struct { + // The completed date and time of last synchronization between the replica share and its source. + CompletedAt pulumi.StringPtrInput `pulumi:"completedAt"` + // The data transferred (in bytes) in the last synchronization between the replica and its source. + DataTransferred pulumi.IntPtrInput `pulumi:"dataTransferred"` + // The start date and time of last synchronization between the replica share and its source. + StartedAt pulumi.StringPtrInput `pulumi:"startedAt"` +} + +func (IsShareLatestSyncArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareLatestSync)(nil)).Elem() +} + +func (i IsShareLatestSyncArgs) ToIsShareLatestSyncOutput() IsShareLatestSyncOutput { + return i.ToIsShareLatestSyncOutputWithContext(context.Background()) +} + +func (i IsShareLatestSyncArgs) ToIsShareLatestSyncOutputWithContext(ctx context.Context) IsShareLatestSyncOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareLatestSyncOutput) +} + +// IsShareLatestSyncArrayInput is an input type that accepts IsShareLatestSyncArray and IsShareLatestSyncArrayOutput values. +// You can construct a concrete instance of `IsShareLatestSyncArrayInput` via: +// +// IsShareLatestSyncArray{ IsShareLatestSyncArgs{...} } +type IsShareLatestSyncArrayInput interface { + pulumi.Input + + ToIsShareLatestSyncArrayOutput() IsShareLatestSyncArrayOutput + ToIsShareLatestSyncArrayOutputWithContext(context.Context) IsShareLatestSyncArrayOutput +} + +type IsShareLatestSyncArray []IsShareLatestSyncInput + +func (IsShareLatestSyncArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareLatestSync)(nil)).Elem() +} + +func (i IsShareLatestSyncArray) ToIsShareLatestSyncArrayOutput() IsShareLatestSyncArrayOutput { + return i.ToIsShareLatestSyncArrayOutputWithContext(context.Background()) +} + +func (i IsShareLatestSyncArray) ToIsShareLatestSyncArrayOutputWithContext(ctx context.Context) IsShareLatestSyncArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareLatestSyncArrayOutput) +} + +type IsShareLatestSyncOutput struct{ *pulumi.OutputState } + +func (IsShareLatestSyncOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareLatestSync)(nil)).Elem() +} + +func (o IsShareLatestSyncOutput) ToIsShareLatestSyncOutput() IsShareLatestSyncOutput { + return o +} + +func (o IsShareLatestSyncOutput) ToIsShareLatestSyncOutputWithContext(ctx context.Context) IsShareLatestSyncOutput { + return o +} + +// The completed date and time of last synchronization between the replica share and its source. +func (o IsShareLatestSyncOutput) CompletedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLatestSync) *string { return v.CompletedAt }).(pulumi.StringPtrOutput) +} + +// The data transferred (in bytes) in the last synchronization between the replica and its source. +func (o IsShareLatestSyncOutput) DataTransferred() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsShareLatestSync) *int { return v.DataTransferred }).(pulumi.IntPtrOutput) +} + +// The start date and time of last synchronization between the replica share and its source. +func (o IsShareLatestSyncOutput) StartedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLatestSync) *string { return v.StartedAt }).(pulumi.StringPtrOutput) +} + +type IsShareLatestSyncArrayOutput struct{ *pulumi.OutputState } + +func (IsShareLatestSyncArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareLatestSync)(nil)).Elem() +} + +func (o IsShareLatestSyncArrayOutput) ToIsShareLatestSyncArrayOutput() IsShareLatestSyncArrayOutput { + return o +} + +func (o IsShareLatestSyncArrayOutput) ToIsShareLatestSyncArrayOutputWithContext(ctx context.Context) IsShareLatestSyncArrayOutput { + return o +} + +func (o IsShareLatestSyncArrayOutput) Index(i pulumi.IntInput) IsShareLatestSyncOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareLatestSync { + return vs[0].([]IsShareLatestSync)[vs[1].(int)] + }).(IsShareLatestSyncOutput) +} + +type IsShareLifecycleReason struct { + // A reason code for this lifecycle state + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsShareLifecycleReasonInput is an input type that accepts IsShareLifecycleReasonArgs and IsShareLifecycleReasonOutput values. +// You can construct a concrete instance of `IsShareLifecycleReasonInput` via: +// +// IsShareLifecycleReasonArgs{...} +type IsShareLifecycleReasonInput interface { + pulumi.Input + + ToIsShareLifecycleReasonOutput() IsShareLifecycleReasonOutput + ToIsShareLifecycleReasonOutputWithContext(context.Context) IsShareLifecycleReasonOutput +} + +type IsShareLifecycleReasonArgs struct { + // A reason code for this lifecycle state + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsShareLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareLifecycleReason)(nil)).Elem() +} + +func (i IsShareLifecycleReasonArgs) ToIsShareLifecycleReasonOutput() IsShareLifecycleReasonOutput { + return i.ToIsShareLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsShareLifecycleReasonArgs) ToIsShareLifecycleReasonOutputWithContext(ctx context.Context) IsShareLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareLifecycleReasonOutput) +} + +// IsShareLifecycleReasonArrayInput is an input type that accepts IsShareLifecycleReasonArray and IsShareLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsShareLifecycleReasonArrayInput` via: +// +// IsShareLifecycleReasonArray{ IsShareLifecycleReasonArgs{...} } +type IsShareLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsShareLifecycleReasonArrayOutput() IsShareLifecycleReasonArrayOutput + ToIsShareLifecycleReasonArrayOutputWithContext(context.Context) IsShareLifecycleReasonArrayOutput +} + +type IsShareLifecycleReasonArray []IsShareLifecycleReasonInput + +func (IsShareLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareLifecycleReason)(nil)).Elem() +} + +func (i IsShareLifecycleReasonArray) ToIsShareLifecycleReasonArrayOutput() IsShareLifecycleReasonArrayOutput { + return i.ToIsShareLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsShareLifecycleReasonArray) ToIsShareLifecycleReasonArrayOutputWithContext(ctx context.Context) IsShareLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareLifecycleReasonArrayOutput) +} + +type IsShareLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsShareLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareLifecycleReason)(nil)).Elem() +} + +func (o IsShareLifecycleReasonOutput) ToIsShareLifecycleReasonOutput() IsShareLifecycleReasonOutput { + return o +} + +func (o IsShareLifecycleReasonOutput) ToIsShareLifecycleReasonOutputWithContext(ctx context.Context) IsShareLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state +func (o IsShareLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsShareLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsShareLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsShareLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsShareLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareLifecycleReason)(nil)).Elem() +} + +func (o IsShareLifecycleReasonArrayOutput) ToIsShareLifecycleReasonArrayOutput() IsShareLifecycleReasonArrayOutput { + return o +} + +func (o IsShareLifecycleReasonArrayOutput) ToIsShareLifecycleReasonArrayOutputWithContext(ctx context.Context) IsShareLifecycleReasonArrayOutput { + return o +} + +func (o IsShareLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsShareLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareLifecycleReason { + return vs[0].([]IsShareLifecycleReason)[vs[1].(int)] + }).(IsShareLifecycleReasonOutput) +} + +type IsShareMountTargetType struct { + // The protocol to use to access the share for this share mount target. + AccessProtocol *string `pulumi:"accessProtocol"` + // Href of this mount target + Href *string `pulumi:"href"` + // ID of this mount target + Id *string `pulumi:"id"` + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // Resource type of mount target + ResourceType *string `pulumi:"resourceType"` + // The transit encryption mode. + TransitEncryption *string `pulumi:"transitEncryption"` + // VNI for mount target. + VirtualNetworkInterfaces []IsShareMountTargetVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` + // The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc *string `pulumi:"vpc"` +} + +// IsShareMountTargetTypeInput is an input type that accepts IsShareMountTargetTypeArgs and IsShareMountTargetTypeOutput values. +// You can construct a concrete instance of `IsShareMountTargetTypeInput` via: +// +// IsShareMountTargetTypeArgs{...} +type IsShareMountTargetTypeInput interface { + pulumi.Input + + ToIsShareMountTargetTypeOutput() IsShareMountTargetTypeOutput + ToIsShareMountTargetTypeOutputWithContext(context.Context) IsShareMountTargetTypeOutput +} + +type IsShareMountTargetTypeArgs struct { + // The protocol to use to access the share for this share mount target. + AccessProtocol pulumi.StringPtrInput `pulumi:"accessProtocol"` + // Href of this mount target + Href pulumi.StringPtrInput `pulumi:"href"` + // ID of this mount target + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // Resource type of mount target + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The transit encryption mode. + TransitEncryption pulumi.StringPtrInput `pulumi:"transitEncryption"` + // VNI for mount target. + VirtualNetworkInterfaces IsShareMountTargetVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` + // The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc pulumi.StringPtrInput `pulumi:"vpc"` +} + +func (IsShareMountTargetTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareMountTargetType)(nil)).Elem() +} + +func (i IsShareMountTargetTypeArgs) ToIsShareMountTargetTypeOutput() IsShareMountTargetTypeOutput { + return i.ToIsShareMountTargetTypeOutputWithContext(context.Background()) +} + +func (i IsShareMountTargetTypeArgs) ToIsShareMountTargetTypeOutputWithContext(ctx context.Context) IsShareMountTargetTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetTypeOutput) +} + +// IsShareMountTargetTypeArrayInput is an input type that accepts IsShareMountTargetTypeArray and IsShareMountTargetTypeArrayOutput values. +// You can construct a concrete instance of `IsShareMountTargetTypeArrayInput` via: +// +// IsShareMountTargetTypeArray{ IsShareMountTargetTypeArgs{...} } +type IsShareMountTargetTypeArrayInput interface { + pulumi.Input + + ToIsShareMountTargetTypeArrayOutput() IsShareMountTargetTypeArrayOutput + ToIsShareMountTargetTypeArrayOutputWithContext(context.Context) IsShareMountTargetTypeArrayOutput +} + +type IsShareMountTargetTypeArray []IsShareMountTargetTypeInput + +func (IsShareMountTargetTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareMountTargetType)(nil)).Elem() +} + +func (i IsShareMountTargetTypeArray) ToIsShareMountTargetTypeArrayOutput() IsShareMountTargetTypeArrayOutput { + return i.ToIsShareMountTargetTypeArrayOutputWithContext(context.Background()) +} + +func (i IsShareMountTargetTypeArray) ToIsShareMountTargetTypeArrayOutputWithContext(ctx context.Context) IsShareMountTargetTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetTypeArrayOutput) +} + +type IsShareMountTargetTypeOutput struct{ *pulumi.OutputState } + +func (IsShareMountTargetTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareMountTargetType)(nil)).Elem() +} + +func (o IsShareMountTargetTypeOutput) ToIsShareMountTargetTypeOutput() IsShareMountTargetTypeOutput { + return o +} + +func (o IsShareMountTargetTypeOutput) ToIsShareMountTargetTypeOutputWithContext(ctx context.Context) IsShareMountTargetTypeOutput { + return o +} + +// The protocol to use to access the share for this share mount target. +func (o IsShareMountTargetTypeOutput) AccessProtocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetType) *string { return v.AccessProtocol }).(pulumi.StringPtrOutput) +} + +// Href of this mount target +func (o IsShareMountTargetTypeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetType) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// ID of this mount target +func (o IsShareMountTargetTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsShareMountTargetTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsShareMountTargetType) string { return v.Name }).(pulumi.StringOutput) +} + +// Resource type of mount target +func (o IsShareMountTargetTypeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetType) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The transit encryption mode. +func (o IsShareMountTargetTypeOutput) TransitEncryption() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetType) *string { return v.TransitEncryption }).(pulumi.StringPtrOutput) +} + +// VNI for mount target. +func (o IsShareMountTargetTypeOutput) VirtualNetworkInterfaces() IsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v IsShareMountTargetType) []IsShareMountTargetVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(IsShareMountTargetVirtualNetworkInterfaceArrayOutput) +} + +// The unique identifier of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. +func (o IsShareMountTargetTypeOutput) Vpc() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetType) *string { return v.Vpc }).(pulumi.StringPtrOutput) +} + +type IsShareMountTargetTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsShareMountTargetTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareMountTargetType)(nil)).Elem() +} + +func (o IsShareMountTargetTypeArrayOutput) ToIsShareMountTargetTypeArrayOutput() IsShareMountTargetTypeArrayOutput { + return o +} + +func (o IsShareMountTargetTypeArrayOutput) ToIsShareMountTargetTypeArrayOutputWithContext(ctx context.Context) IsShareMountTargetTypeArrayOutput { + return o +} + +func (o IsShareMountTargetTypeArrayOutput) Index(i pulumi.IntInput) IsShareMountTargetTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareMountTargetType { + return vs[0].([]IsShareMountTargetType)[vs[1].(int)] + }).(IsShareMountTargetTypeOutput) +} + +type IsShareMountTargetVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // CRN of this VNI + Crn *string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // href of virtual network interface + Href *string `pulumi:"href"` + // ID of this VNI + Id *string `pulumi:"id"` + // Name of this VNI + Name *string `pulumi:"name"` + // VNI for mount target. + PrimaryIp *IsShareMountTargetVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // Resource group id + ResourceGroup *string `pulumi:"resourceGroup"` + // Resource type of VNI + ResourceType *string `pulumi:"resourceType"` + // The security groups to use for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet. Required if primaryIp is not specified. + Subnet *string `pulumi:"subnet"` +} + +// IsShareMountTargetVirtualNetworkInterfaceInput is an input type that accepts IsShareMountTargetVirtualNetworkInterfaceArgs and IsShareMountTargetVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsShareMountTargetVirtualNetworkInterfaceInput` via: +// +// IsShareMountTargetVirtualNetworkInterfaceArgs{...} +type IsShareMountTargetVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsShareMountTargetVirtualNetworkInterfaceOutput() IsShareMountTargetVirtualNetworkInterfaceOutput + ToIsShareMountTargetVirtualNetworkInterfaceOutputWithContext(context.Context) IsShareMountTargetVirtualNetworkInterfaceOutput +} + +type IsShareMountTargetVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // CRN of this VNI + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // href of virtual network interface + Href pulumi.StringPtrInput `pulumi:"href"` + // ID of this VNI + Id pulumi.StringPtrInput `pulumi:"id"` + // Name of this VNI + Name pulumi.StringPtrInput `pulumi:"name"` + // VNI for mount target. + PrimaryIp IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrInput `pulumi:"primaryIp"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput `pulumi:"protocolStateFilteringMode"` + // Resource group id + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + // Resource type of VNI + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The security groups to use for this virtual network interface. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet. Required if primaryIp is not specified. + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsShareMountTargetVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsShareMountTargetVirtualNetworkInterfaceArgs) ToIsShareMountTargetVirtualNetworkInterfaceOutput() IsShareMountTargetVirtualNetworkInterfaceOutput { + return i.ToIsShareMountTargetVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsShareMountTargetVirtualNetworkInterfaceArgs) ToIsShareMountTargetVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetVirtualNetworkInterfaceOutput) +} + +func (i IsShareMountTargetVirtualNetworkInterfaceArgs) ToIsShareMountTargetVirtualNetworkInterfacePtrOutput() IsShareMountTargetVirtualNetworkInterfacePtrOutput { + return i.ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i IsShareMountTargetVirtualNetworkInterfaceArgs) ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetVirtualNetworkInterfaceOutput).ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(ctx) +} + +// IsShareMountTargetVirtualNetworkInterfacePtrInput is an input type that accepts IsShareMountTargetVirtualNetworkInterfaceArgs, IsShareMountTargetVirtualNetworkInterfacePtr and IsShareMountTargetVirtualNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `IsShareMountTargetVirtualNetworkInterfacePtrInput` via: +// +// IsShareMountTargetVirtualNetworkInterfaceArgs{...} +// +// or: +// +// nil +type IsShareMountTargetVirtualNetworkInterfacePtrInput interface { + pulumi.Input + + ToIsShareMountTargetVirtualNetworkInterfacePtrOutput() IsShareMountTargetVirtualNetworkInterfacePtrOutput + ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(context.Context) IsShareMountTargetVirtualNetworkInterfacePtrOutput +} + +type isShareMountTargetVirtualNetworkInterfacePtrType IsShareMountTargetVirtualNetworkInterfaceArgs + +func IsShareMountTargetVirtualNetworkInterfacePtr(v *IsShareMountTargetVirtualNetworkInterfaceArgs) IsShareMountTargetVirtualNetworkInterfacePtrInput { + return (*isShareMountTargetVirtualNetworkInterfacePtrType)(v) +} + +func (*isShareMountTargetVirtualNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i *isShareMountTargetVirtualNetworkInterfacePtrType) ToIsShareMountTargetVirtualNetworkInterfacePtrOutput() IsShareMountTargetVirtualNetworkInterfacePtrOutput { + return i.ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (i *isShareMountTargetVirtualNetworkInterfacePtrType) ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetVirtualNetworkInterfacePtrOutput) +} + +// IsShareMountTargetVirtualNetworkInterfaceArrayInput is an input type that accepts IsShareMountTargetVirtualNetworkInterfaceArray and IsShareMountTargetVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `IsShareMountTargetVirtualNetworkInterfaceArrayInput` via: +// +// IsShareMountTargetVirtualNetworkInterfaceArray{ IsShareMountTargetVirtualNetworkInterfaceArgs{...} } +type IsShareMountTargetVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToIsShareMountTargetVirtualNetworkInterfaceArrayOutput() IsShareMountTargetVirtualNetworkInterfaceArrayOutput + ToIsShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(context.Context) IsShareMountTargetVirtualNetworkInterfaceArrayOutput +} + +type IsShareMountTargetVirtualNetworkInterfaceArray []IsShareMountTargetVirtualNetworkInterfaceInput + +func (IsShareMountTargetVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsShareMountTargetVirtualNetworkInterfaceArray) ToIsShareMountTargetVirtualNetworkInterfaceArrayOutput() IsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return i.ToIsShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i IsShareMountTargetVirtualNetworkInterfaceArray) ToIsShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetVirtualNetworkInterfaceArrayOutput) +} + +type IsShareMountTargetVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsShareMountTargetVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) ToIsShareMountTargetVirtualNetworkInterfaceOutput() IsShareMountTargetVirtualNetworkInterfaceOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) ToIsShareMountTargetVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfaceOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) ToIsShareMountTargetVirtualNetworkInterfacePtrOutput() IsShareMountTargetVirtualNetworkInterfacePtrOutput { + return o.ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(context.Background()) +} + +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsShareMountTargetVirtualNetworkInterface) *IsShareMountTargetVirtualNetworkInterface { + return &v + }).(IsShareMountTargetVirtualNetworkInterfacePtrOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// CRN of this VNI +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *bool { return v.EnableInfrastructureNat }).(pulumi.BoolPtrOutput) +} + +// href of virtual network interface +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// ID of this VNI +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Name of this VNI +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// VNI for mount target. +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) PrimaryIp() IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *IsShareMountTargetVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIp + }).(IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *string { return v.ProtocolStateFilteringMode }).(pulumi.StringPtrOutput) +} + +// Resource group id +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +// Resource type of VNI +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The security groups to use for this virtual network interface. +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The associated subnet. Required if primaryIp is not specified. +func (o IsShareMountTargetVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterface) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsShareMountTargetVirtualNetworkInterfacePtrOutput struct{ *pulumi.OutputState } + +func (IsShareMountTargetVirtualNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) ToIsShareMountTargetVirtualNetworkInterfacePtrOutput() IsShareMountTargetVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) ToIsShareMountTargetVirtualNetworkInterfacePtrOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePtrOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) Elem() IsShareMountTargetVirtualNetworkInterfaceOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) IsShareMountTargetVirtualNetworkInterface { + if v != nil { + return *v + } + var ret IsShareMountTargetVirtualNetworkInterface + return ret + }).(IsShareMountTargetVirtualNetworkInterfaceOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AllowIpSpoofing + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// CRN of this VNI +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *bool { + if v == nil { + return nil + } + return v.EnableInfrastructureNat + }).(pulumi.BoolPtrOutput) +} + +// href of virtual network interface +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// ID of this VNI +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// Name of this VNI +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// VNI for mount target. +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) PrimaryIp() IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *IsShareMountTargetVirtualNetworkInterfacePrimaryIp { + if v == nil { + return nil + } + return v.PrimaryIp + }).(IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// Resource group id +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceGroup + }).(pulumi.StringPtrOutput) +} + +// Resource type of VNI +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +// The security groups to use for this virtual network interface. +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) []string { + if v == nil { + return nil + } + return v.SecurityGroups + }).(pulumi.StringArrayOutput) +} + +// The associated subnet. Required if primaryIp is not specified. +func (o IsShareMountTargetVirtualNetworkInterfacePtrOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterface) *string { + if v == nil { + return nil + } + return v.Subnet + }).(pulumi.StringPtrOutput) +} + +type IsShareMountTargetVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (IsShareMountTargetVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsShareMountTargetVirtualNetworkInterfaceArrayOutput) ToIsShareMountTargetVirtualNetworkInterfaceArrayOutput() IsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfaceArrayOutput) ToIsShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) IsShareMountTargetVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareMountTargetVirtualNetworkInterface { + return vs[0].([]IsShareMountTargetVirtualNetworkInterface)[vs[1].(int)] + }).(IsShareMountTargetVirtualNetworkInterfaceOutput) +} + +type IsShareMountTargetVirtualNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // href of primary ip + Href *string `pulumi:"href"` + // Name for reserved IP + Name *string `pulumi:"name"` + // ID of reserved IP + ReservedIp *string `pulumi:"reservedIp"` + // Resource type of primary ip + ResourceType *string `pulumi:"resourceType"` +} + +// IsShareMountTargetVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs and IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsShareMountTargetVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs{...} +type IsShareMountTargetVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput() IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput + ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput +} + +type IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // href of primary ip + Href pulumi.StringPtrInput `pulumi:"href"` + // Name for reserved IP + Name pulumi.StringPtrInput `pulumi:"name"` + // ID of reserved IP + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // Resource type of primary ip + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput() IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) +} + +func (i IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput() IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput).ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs, IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtr and IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrInput` via: +// +// IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput() IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput + ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput +} + +type isShareMountTargetVirtualNetworkInterfacePrimaryIpPtrType IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs + +func IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtr(v *IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrInput { + return (*isShareMountTargetVirtualNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isShareMountTargetVirtualNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareMountTargetVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isShareMountTargetVirtualNetworkInterfacePrimaryIpPtrType) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput() IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isShareMountTargetVirtualNetworkInterfacePrimaryIpPtrType) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +type IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput() IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput() IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *IsShareMountTargetVirtualNetworkInterfacePrimaryIp { + return &v + }).(IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// href of primary ip +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// Name for reserved IP +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// ID of reserved IP +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// Resource type of primary ip +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareMountTargetVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput() IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) Elem() IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterfacePrimaryIp) IsShareMountTargetVirtualNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsShareMountTargetVirtualNetworkInterfacePrimaryIp + return ret + }).(IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// href of primary ip +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// Name for reserved IP +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// ID of reserved IP +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// Resource type of primary ip +func (o IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsShareOriginShare struct { + // The CRN for this file share. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsShareOriginShareDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href *string `pulumi:"href"` + // The unique identifier for this file share. + Id *string `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name *string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []IsShareOriginShareRemote `pulumi:"remotes"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsShareOriginShareInput is an input type that accepts IsShareOriginShareArgs and IsShareOriginShareOutput values. +// You can construct a concrete instance of `IsShareOriginShareInput` via: +// +// IsShareOriginShareArgs{...} +type IsShareOriginShareInput interface { + pulumi.Input + + ToIsShareOriginShareOutput() IsShareOriginShareOutput + ToIsShareOriginShareOutputWithContext(context.Context) IsShareOriginShareOutput +} + +type IsShareOriginShareArgs struct { + // The CRN for this file share. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsShareOriginShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes IsShareOriginShareRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsShareOriginShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShare)(nil)).Elem() +} + +func (i IsShareOriginShareArgs) ToIsShareOriginShareOutput() IsShareOriginShareOutput { + return i.ToIsShareOriginShareOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareArgs) ToIsShareOriginShareOutputWithContext(ctx context.Context) IsShareOriginShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareOutput) +} + +func (i IsShareOriginShareArgs) ToIsShareOriginSharePtrOutput() IsShareOriginSharePtrOutput { + return i.ToIsShareOriginSharePtrOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareArgs) ToIsShareOriginSharePtrOutputWithContext(ctx context.Context) IsShareOriginSharePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareOutput).ToIsShareOriginSharePtrOutputWithContext(ctx) +} + +// IsShareOriginSharePtrInput is an input type that accepts IsShareOriginShareArgs, IsShareOriginSharePtr and IsShareOriginSharePtrOutput values. +// You can construct a concrete instance of `IsShareOriginSharePtrInput` via: +// +// IsShareOriginShareArgs{...} +// +// or: +// +// nil +type IsShareOriginSharePtrInput interface { + pulumi.Input + + ToIsShareOriginSharePtrOutput() IsShareOriginSharePtrOutput + ToIsShareOriginSharePtrOutputWithContext(context.Context) IsShareOriginSharePtrOutput +} + +type isShareOriginSharePtrType IsShareOriginShareArgs + +func IsShareOriginSharePtr(v *IsShareOriginShareArgs) IsShareOriginSharePtrInput { + return (*isShareOriginSharePtrType)(v) +} + +func (*isShareOriginSharePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareOriginShare)(nil)).Elem() +} + +func (i *isShareOriginSharePtrType) ToIsShareOriginSharePtrOutput() IsShareOriginSharePtrOutput { + return i.ToIsShareOriginSharePtrOutputWithContext(context.Background()) +} + +func (i *isShareOriginSharePtrType) ToIsShareOriginSharePtrOutputWithContext(ctx context.Context) IsShareOriginSharePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginSharePtrOutput) +} + +type IsShareOriginShareOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShare)(nil)).Elem() +} + +func (o IsShareOriginShareOutput) ToIsShareOriginShareOutput() IsShareOriginShareOutput { + return o +} + +func (o IsShareOriginShareOutput) ToIsShareOriginShareOutputWithContext(ctx context.Context) IsShareOriginShareOutput { + return o +} + +func (o IsShareOriginShareOutput) ToIsShareOriginSharePtrOutput() IsShareOriginSharePtrOutput { + return o.ToIsShareOriginSharePtrOutputWithContext(context.Background()) +} + +func (o IsShareOriginShareOutput) ToIsShareOriginSharePtrOutputWithContext(ctx context.Context) IsShareOriginSharePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsShareOriginShare) *IsShareOriginShare { + return &v + }).(IsShareOriginSharePtrOutput) +} + +// The CRN for this file share. +func (o IsShareOriginShareOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShare) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsShareOriginShareOutput) Deleteds() IsShareOriginShareDeletedArrayOutput { + return o.ApplyT(func(v IsShareOriginShare) []IsShareOriginShareDeleted { return v.Deleteds }).(IsShareOriginShareDeletedArrayOutput) +} + +// The URL for this file share. +func (o IsShareOriginShareOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShare) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this file share. +func (o IsShareOriginShareOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShare) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this share. The name is unique across all shares in the region. +func (o IsShareOriginShareOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShare) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o IsShareOriginShareOutput) Remotes() IsShareOriginShareRemoteArrayOutput { + return o.ApplyT(func(v IsShareOriginShare) []IsShareOriginShareRemote { return v.Remotes }).(IsShareOriginShareRemoteArrayOutput) +} + +// The resource type. +func (o IsShareOriginShareOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShare) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsShareOriginSharePtrOutput struct{ *pulumi.OutputState } + +func (IsShareOriginSharePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareOriginShare)(nil)).Elem() +} + +func (o IsShareOriginSharePtrOutput) ToIsShareOriginSharePtrOutput() IsShareOriginSharePtrOutput { + return o +} + +func (o IsShareOriginSharePtrOutput) ToIsShareOriginSharePtrOutputWithContext(ctx context.Context) IsShareOriginSharePtrOutput { + return o +} + +func (o IsShareOriginSharePtrOutput) Elem() IsShareOriginShareOutput { + return o.ApplyT(func(v *IsShareOriginShare) IsShareOriginShare { + if v != nil { + return *v + } + var ret IsShareOriginShare + return ret + }).(IsShareOriginShareOutput) +} + +// The CRN for this file share. +func (o IsShareOriginSharePtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareOriginShare) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsShareOriginSharePtrOutput) Deleteds() IsShareOriginShareDeletedArrayOutput { + return o.ApplyT(func(v *IsShareOriginShare) []IsShareOriginShareDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsShareOriginShareDeletedArrayOutput) +} + +// The URL for this file share. +func (o IsShareOriginSharePtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareOriginShare) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this file share. +func (o IsShareOriginSharePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareOriginShare) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this share. The name is unique across all shares in the region. +func (o IsShareOriginSharePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareOriginShare) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o IsShareOriginSharePtrOutput) Remotes() IsShareOriginShareRemoteArrayOutput { + return o.ApplyT(func(v *IsShareOriginShare) []IsShareOriginShareRemote { + if v == nil { + return nil + } + return v.Remotes + }).(IsShareOriginShareRemoteArrayOutput) +} + +// The resource type. +func (o IsShareOriginSharePtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareOriginShare) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsShareOriginShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsShareOriginShareDeletedInput is an input type that accepts IsShareOriginShareDeletedArgs and IsShareOriginShareDeletedOutput values. +// You can construct a concrete instance of `IsShareOriginShareDeletedInput` via: +// +// IsShareOriginShareDeletedArgs{...} +type IsShareOriginShareDeletedInput interface { + pulumi.Input + + ToIsShareOriginShareDeletedOutput() IsShareOriginShareDeletedOutput + ToIsShareOriginShareDeletedOutputWithContext(context.Context) IsShareOriginShareDeletedOutput +} + +type IsShareOriginShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsShareOriginShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShareDeleted)(nil)).Elem() +} + +func (i IsShareOriginShareDeletedArgs) ToIsShareOriginShareDeletedOutput() IsShareOriginShareDeletedOutput { + return i.ToIsShareOriginShareDeletedOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareDeletedArgs) ToIsShareOriginShareDeletedOutputWithContext(ctx context.Context) IsShareOriginShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareDeletedOutput) +} + +// IsShareOriginShareDeletedArrayInput is an input type that accepts IsShareOriginShareDeletedArray and IsShareOriginShareDeletedArrayOutput values. +// You can construct a concrete instance of `IsShareOriginShareDeletedArrayInput` via: +// +// IsShareOriginShareDeletedArray{ IsShareOriginShareDeletedArgs{...} } +type IsShareOriginShareDeletedArrayInput interface { + pulumi.Input + + ToIsShareOriginShareDeletedArrayOutput() IsShareOriginShareDeletedArrayOutput + ToIsShareOriginShareDeletedArrayOutputWithContext(context.Context) IsShareOriginShareDeletedArrayOutput +} + +type IsShareOriginShareDeletedArray []IsShareOriginShareDeletedInput + +func (IsShareOriginShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareOriginShareDeleted)(nil)).Elem() +} + +func (i IsShareOriginShareDeletedArray) ToIsShareOriginShareDeletedArrayOutput() IsShareOriginShareDeletedArrayOutput { + return i.ToIsShareOriginShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareDeletedArray) ToIsShareOriginShareDeletedArrayOutputWithContext(ctx context.Context) IsShareOriginShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareDeletedArrayOutput) +} + +type IsShareOriginShareDeletedOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShareDeleted)(nil)).Elem() +} + +func (o IsShareOriginShareDeletedOutput) ToIsShareOriginShareDeletedOutput() IsShareOriginShareDeletedOutput { + return o +} + +func (o IsShareOriginShareDeletedOutput) ToIsShareOriginShareDeletedOutputWithContext(ctx context.Context) IsShareOriginShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsShareOriginShareDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShareDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsShareOriginShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareOriginShareDeleted)(nil)).Elem() +} + +func (o IsShareOriginShareDeletedArrayOutput) ToIsShareOriginShareDeletedArrayOutput() IsShareOriginShareDeletedArrayOutput { + return o +} + +func (o IsShareOriginShareDeletedArrayOutput) ToIsShareOriginShareDeletedArrayOutputWithContext(ctx context.Context) IsShareOriginShareDeletedArrayOutput { + return o +} + +func (o IsShareOriginShareDeletedArrayOutput) Index(i pulumi.IntInput) IsShareOriginShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareOriginShareDeleted { + return vs[0].([]IsShareOriginShareDeleted)[vs[1].(int)] + }).(IsShareOriginShareDeletedOutput) +} + +type IsShareOriginShareRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []IsShareOriginShareRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []IsShareOriginShareRemoteRegion `pulumi:"regions"` +} + +// IsShareOriginShareRemoteInput is an input type that accepts IsShareOriginShareRemoteArgs and IsShareOriginShareRemoteOutput values. +// You can construct a concrete instance of `IsShareOriginShareRemoteInput` via: +// +// IsShareOriginShareRemoteArgs{...} +type IsShareOriginShareRemoteInput interface { + pulumi.Input + + ToIsShareOriginShareRemoteOutput() IsShareOriginShareRemoteOutput + ToIsShareOriginShareRemoteOutputWithContext(context.Context) IsShareOriginShareRemoteOutput +} + +type IsShareOriginShareRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts IsShareOriginShareRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions IsShareOriginShareRemoteRegionArrayInput `pulumi:"regions"` +} + +func (IsShareOriginShareRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShareRemote)(nil)).Elem() +} + +func (i IsShareOriginShareRemoteArgs) ToIsShareOriginShareRemoteOutput() IsShareOriginShareRemoteOutput { + return i.ToIsShareOriginShareRemoteOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareRemoteArgs) ToIsShareOriginShareRemoteOutputWithContext(ctx context.Context) IsShareOriginShareRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareRemoteOutput) +} + +// IsShareOriginShareRemoteArrayInput is an input type that accepts IsShareOriginShareRemoteArray and IsShareOriginShareRemoteArrayOutput values. +// You can construct a concrete instance of `IsShareOriginShareRemoteArrayInput` via: +// +// IsShareOriginShareRemoteArray{ IsShareOriginShareRemoteArgs{...} } +type IsShareOriginShareRemoteArrayInput interface { + pulumi.Input + + ToIsShareOriginShareRemoteArrayOutput() IsShareOriginShareRemoteArrayOutput + ToIsShareOriginShareRemoteArrayOutputWithContext(context.Context) IsShareOriginShareRemoteArrayOutput +} + +type IsShareOriginShareRemoteArray []IsShareOriginShareRemoteInput + +func (IsShareOriginShareRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareOriginShareRemote)(nil)).Elem() +} + +func (i IsShareOriginShareRemoteArray) ToIsShareOriginShareRemoteArrayOutput() IsShareOriginShareRemoteArrayOutput { + return i.ToIsShareOriginShareRemoteArrayOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareRemoteArray) ToIsShareOriginShareRemoteArrayOutputWithContext(ctx context.Context) IsShareOriginShareRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareRemoteArrayOutput) +} + +type IsShareOriginShareRemoteOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShareRemote)(nil)).Elem() +} + +func (o IsShareOriginShareRemoteOutput) ToIsShareOriginShareRemoteOutput() IsShareOriginShareRemoteOutput { + return o +} + +func (o IsShareOriginShareRemoteOutput) ToIsShareOriginShareRemoteOutputWithContext(ctx context.Context) IsShareOriginShareRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o IsShareOriginShareRemoteOutput) Accounts() IsShareOriginShareRemoteAccountArrayOutput { + return o.ApplyT(func(v IsShareOriginShareRemote) []IsShareOriginShareRemoteAccount { return v.Accounts }).(IsShareOriginShareRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o IsShareOriginShareRemoteOutput) Regions() IsShareOriginShareRemoteRegionArrayOutput { + return o.ApplyT(func(v IsShareOriginShareRemote) []IsShareOriginShareRemoteRegion { return v.Regions }).(IsShareOriginShareRemoteRegionArrayOutput) +} + +type IsShareOriginShareRemoteArrayOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareOriginShareRemote)(nil)).Elem() +} + +func (o IsShareOriginShareRemoteArrayOutput) ToIsShareOriginShareRemoteArrayOutput() IsShareOriginShareRemoteArrayOutput { + return o +} + +func (o IsShareOriginShareRemoteArrayOutput) ToIsShareOriginShareRemoteArrayOutputWithContext(ctx context.Context) IsShareOriginShareRemoteArrayOutput { + return o +} + +func (o IsShareOriginShareRemoteArrayOutput) Index(i pulumi.IntInput) IsShareOriginShareRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareOriginShareRemote { + return vs[0].([]IsShareOriginShareRemote)[vs[1].(int)] + }).(IsShareOriginShareRemoteOutput) +} + +type IsShareOriginShareRemoteAccount struct { + // The unique identifier for this account. + Id *string `pulumi:"id"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsShareOriginShareRemoteAccountInput is an input type that accepts IsShareOriginShareRemoteAccountArgs and IsShareOriginShareRemoteAccountOutput values. +// You can construct a concrete instance of `IsShareOriginShareRemoteAccountInput` via: +// +// IsShareOriginShareRemoteAccountArgs{...} +type IsShareOriginShareRemoteAccountInput interface { + pulumi.Input + + ToIsShareOriginShareRemoteAccountOutput() IsShareOriginShareRemoteAccountOutput + ToIsShareOriginShareRemoteAccountOutputWithContext(context.Context) IsShareOriginShareRemoteAccountOutput +} + +type IsShareOriginShareRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringPtrInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsShareOriginShareRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (i IsShareOriginShareRemoteAccountArgs) ToIsShareOriginShareRemoteAccountOutput() IsShareOriginShareRemoteAccountOutput { + return i.ToIsShareOriginShareRemoteAccountOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareRemoteAccountArgs) ToIsShareOriginShareRemoteAccountOutputWithContext(ctx context.Context) IsShareOriginShareRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareRemoteAccountOutput) +} + +// IsShareOriginShareRemoteAccountArrayInput is an input type that accepts IsShareOriginShareRemoteAccountArray and IsShareOriginShareRemoteAccountArrayOutput values. +// You can construct a concrete instance of `IsShareOriginShareRemoteAccountArrayInput` via: +// +// IsShareOriginShareRemoteAccountArray{ IsShareOriginShareRemoteAccountArgs{...} } +type IsShareOriginShareRemoteAccountArrayInput interface { + pulumi.Input + + ToIsShareOriginShareRemoteAccountArrayOutput() IsShareOriginShareRemoteAccountArrayOutput + ToIsShareOriginShareRemoteAccountArrayOutputWithContext(context.Context) IsShareOriginShareRemoteAccountArrayOutput +} + +type IsShareOriginShareRemoteAccountArray []IsShareOriginShareRemoteAccountInput + +func (IsShareOriginShareRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (i IsShareOriginShareRemoteAccountArray) ToIsShareOriginShareRemoteAccountArrayOutput() IsShareOriginShareRemoteAccountArrayOutput { + return i.ToIsShareOriginShareRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareRemoteAccountArray) ToIsShareOriginShareRemoteAccountArrayOutputWithContext(ctx context.Context) IsShareOriginShareRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareRemoteAccountArrayOutput) +} + +type IsShareOriginShareRemoteAccountOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (o IsShareOriginShareRemoteAccountOutput) ToIsShareOriginShareRemoteAccountOutput() IsShareOriginShareRemoteAccountOutput { + return o +} + +func (o IsShareOriginShareRemoteAccountOutput) ToIsShareOriginShareRemoteAccountOutputWithContext(ctx context.Context) IsShareOriginShareRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o IsShareOriginShareRemoteAccountOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShareRemoteAccount) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsShareOriginShareRemoteAccountOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShareRemoteAccount) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsShareOriginShareRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (o IsShareOriginShareRemoteAccountArrayOutput) ToIsShareOriginShareRemoteAccountArrayOutput() IsShareOriginShareRemoteAccountArrayOutput { + return o +} + +func (o IsShareOriginShareRemoteAccountArrayOutput) ToIsShareOriginShareRemoteAccountArrayOutputWithContext(ctx context.Context) IsShareOriginShareRemoteAccountArrayOutput { + return o +} + +func (o IsShareOriginShareRemoteAccountArrayOutput) Index(i pulumi.IntInput) IsShareOriginShareRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareOriginShareRemoteAccount { + return vs[0].([]IsShareOriginShareRemoteAccount)[vs[1].(int)] + }).(IsShareOriginShareRemoteAccountOutput) +} + +type IsShareOriginShareRemoteRegion struct { + // The URL for this region. + Href *string `pulumi:"href"` + // The globally unique name for this region. + Name *string `pulumi:"name"` +} + +// IsShareOriginShareRemoteRegionInput is an input type that accepts IsShareOriginShareRemoteRegionArgs and IsShareOriginShareRemoteRegionOutput values. +// You can construct a concrete instance of `IsShareOriginShareRemoteRegionInput` via: +// +// IsShareOriginShareRemoteRegionArgs{...} +type IsShareOriginShareRemoteRegionInput interface { + pulumi.Input + + ToIsShareOriginShareRemoteRegionOutput() IsShareOriginShareRemoteRegionOutput + ToIsShareOriginShareRemoteRegionOutputWithContext(context.Context) IsShareOriginShareRemoteRegionOutput +} + +type IsShareOriginShareRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsShareOriginShareRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (i IsShareOriginShareRemoteRegionArgs) ToIsShareOriginShareRemoteRegionOutput() IsShareOriginShareRemoteRegionOutput { + return i.ToIsShareOriginShareRemoteRegionOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareRemoteRegionArgs) ToIsShareOriginShareRemoteRegionOutputWithContext(ctx context.Context) IsShareOriginShareRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareRemoteRegionOutput) +} + +// IsShareOriginShareRemoteRegionArrayInput is an input type that accepts IsShareOriginShareRemoteRegionArray and IsShareOriginShareRemoteRegionArrayOutput values. +// You can construct a concrete instance of `IsShareOriginShareRemoteRegionArrayInput` via: +// +// IsShareOriginShareRemoteRegionArray{ IsShareOriginShareRemoteRegionArgs{...} } +type IsShareOriginShareRemoteRegionArrayInput interface { + pulumi.Input + + ToIsShareOriginShareRemoteRegionArrayOutput() IsShareOriginShareRemoteRegionArrayOutput + ToIsShareOriginShareRemoteRegionArrayOutputWithContext(context.Context) IsShareOriginShareRemoteRegionArrayOutput +} + +type IsShareOriginShareRemoteRegionArray []IsShareOriginShareRemoteRegionInput + +func (IsShareOriginShareRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (i IsShareOriginShareRemoteRegionArray) ToIsShareOriginShareRemoteRegionArrayOutput() IsShareOriginShareRemoteRegionArrayOutput { + return i.ToIsShareOriginShareRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i IsShareOriginShareRemoteRegionArray) ToIsShareOriginShareRemoteRegionArrayOutputWithContext(ctx context.Context) IsShareOriginShareRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareOriginShareRemoteRegionArrayOutput) +} + +type IsShareOriginShareRemoteRegionOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (o IsShareOriginShareRemoteRegionOutput) ToIsShareOriginShareRemoteRegionOutput() IsShareOriginShareRemoteRegionOutput { + return o +} + +func (o IsShareOriginShareRemoteRegionOutput) ToIsShareOriginShareRemoteRegionOutputWithContext(ctx context.Context) IsShareOriginShareRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o IsShareOriginShareRemoteRegionOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShareRemoteRegion) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsShareOriginShareRemoteRegionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareOriginShareRemoteRegion) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsShareOriginShareRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (IsShareOriginShareRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (o IsShareOriginShareRemoteRegionArrayOutput) ToIsShareOriginShareRemoteRegionArrayOutput() IsShareOriginShareRemoteRegionArrayOutput { + return o +} + +func (o IsShareOriginShareRemoteRegionArrayOutput) ToIsShareOriginShareRemoteRegionArrayOutputWithContext(ctx context.Context) IsShareOriginShareRemoteRegionArrayOutput { + return o +} + +func (o IsShareOriginShareRemoteRegionArrayOutput) Index(i pulumi.IntInput) IsShareOriginShareRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareOriginShareRemoteRegion { + return vs[0].([]IsShareOriginShareRemoteRegion)[vs[1].(int)] + }).(IsShareOriginShareRemoteRegionOutput) +} + +type IsShareReplicaShare struct { + // List of access management tags for this replica share + AccessTags []string `pulumi:"accessTags"` + // The CRN for this replica share. + Crn *string `pulumi:"crn"` + // The href for this replica share. + Href *string `pulumi:"href"` + // The ID of this replica file share. + Id *string `pulumi:"id"` + // The maximum input/output operation per second (IOPS) for the file share. + Iops *int `pulumi:"iops"` + // The share targets for this replica file share.Share targets mounted from a replica must be mounted read-only. + MountTargets []IsShareReplicaShareMountTarget `pulumi:"mountTargets"` + // The unique user-defined name for this file share. + Name string `pulumi:"name"` + // Share profile name. + Profile string `pulumi:"profile"` + // The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. + ReplicationCronSpec string `pulumi:"replicationCronSpec"` + // The replication role of the file share. + ReplicationRole *string `pulumi:"replicationRole"` + // The replication status of the file share. + ReplicationStatus *string `pulumi:"replicationStatus"` + // The reasons for the current replication status. + ReplicationStatusReasons []IsShareReplicaShareReplicationStatusReason `pulumi:"replicationStatusReasons"` + // User Tags for the replica share + Tags []string `pulumi:"tags"` + // The name of the zone this replica file share will reside in. Must be a different zone in the same region as the source share. + Zone *string `pulumi:"zone"` +} + +// IsShareReplicaShareInput is an input type that accepts IsShareReplicaShareArgs and IsShareReplicaShareOutput values. +// You can construct a concrete instance of `IsShareReplicaShareInput` via: +// +// IsShareReplicaShareArgs{...} +type IsShareReplicaShareInput interface { + pulumi.Input + + ToIsShareReplicaShareOutput() IsShareReplicaShareOutput + ToIsShareReplicaShareOutputWithContext(context.Context) IsShareReplicaShareOutput +} + +type IsShareReplicaShareArgs struct { + // List of access management tags for this replica share + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The CRN for this replica share. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The href for this replica share. + Href pulumi.StringPtrInput `pulumi:"href"` + // The ID of this replica file share. + Id pulumi.StringPtrInput `pulumi:"id"` + // The maximum input/output operation per second (IOPS) for the file share. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The share targets for this replica file share.Share targets mounted from a replica must be mounted read-only. + MountTargets IsShareReplicaShareMountTargetArrayInput `pulumi:"mountTargets"` + // The unique user-defined name for this file share. + Name pulumi.StringInput `pulumi:"name"` + // Share profile name. + Profile pulumi.StringInput `pulumi:"profile"` + // The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. + ReplicationCronSpec pulumi.StringInput `pulumi:"replicationCronSpec"` + // The replication role of the file share. + ReplicationRole pulumi.StringPtrInput `pulumi:"replicationRole"` + // The replication status of the file share. + ReplicationStatus pulumi.StringPtrInput `pulumi:"replicationStatus"` + // The reasons for the current replication status. + ReplicationStatusReasons IsShareReplicaShareReplicationStatusReasonArrayInput `pulumi:"replicationStatusReasons"` + // User Tags for the replica share + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The name of the zone this replica file share will reside in. Must be a different zone in the same region as the source share. + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (IsShareReplicaShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShare)(nil)).Elem() +} + +func (i IsShareReplicaShareArgs) ToIsShareReplicaShareOutput() IsShareReplicaShareOutput { + return i.ToIsShareReplicaShareOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareArgs) ToIsShareReplicaShareOutputWithContext(ctx context.Context) IsShareReplicaShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareOutput) +} + +func (i IsShareReplicaShareArgs) ToIsShareReplicaSharePtrOutput() IsShareReplicaSharePtrOutput { + return i.ToIsShareReplicaSharePtrOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareArgs) ToIsShareReplicaSharePtrOutputWithContext(ctx context.Context) IsShareReplicaSharePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareOutput).ToIsShareReplicaSharePtrOutputWithContext(ctx) +} + +// IsShareReplicaSharePtrInput is an input type that accepts IsShareReplicaShareArgs, IsShareReplicaSharePtr and IsShareReplicaSharePtrOutput values. +// You can construct a concrete instance of `IsShareReplicaSharePtrInput` via: +// +// IsShareReplicaShareArgs{...} +// +// or: +// +// nil +type IsShareReplicaSharePtrInput interface { + pulumi.Input + + ToIsShareReplicaSharePtrOutput() IsShareReplicaSharePtrOutput + ToIsShareReplicaSharePtrOutputWithContext(context.Context) IsShareReplicaSharePtrOutput +} + +type isShareReplicaSharePtrType IsShareReplicaShareArgs + +func IsShareReplicaSharePtr(v *IsShareReplicaShareArgs) IsShareReplicaSharePtrInput { + return (*isShareReplicaSharePtrType)(v) +} + +func (*isShareReplicaSharePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareReplicaShare)(nil)).Elem() +} + +func (i *isShareReplicaSharePtrType) ToIsShareReplicaSharePtrOutput() IsShareReplicaSharePtrOutput { + return i.ToIsShareReplicaSharePtrOutputWithContext(context.Background()) +} + +func (i *isShareReplicaSharePtrType) ToIsShareReplicaSharePtrOutputWithContext(ctx context.Context) IsShareReplicaSharePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaSharePtrOutput) +} + +type IsShareReplicaShareOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShare)(nil)).Elem() +} + +func (o IsShareReplicaShareOutput) ToIsShareReplicaShareOutput() IsShareReplicaShareOutput { + return o +} + +func (o IsShareReplicaShareOutput) ToIsShareReplicaShareOutputWithContext(ctx context.Context) IsShareReplicaShareOutput { + return o +} + +func (o IsShareReplicaShareOutput) ToIsShareReplicaSharePtrOutput() IsShareReplicaSharePtrOutput { + return o.ToIsShareReplicaSharePtrOutputWithContext(context.Background()) +} + +func (o IsShareReplicaShareOutput) ToIsShareReplicaSharePtrOutputWithContext(ctx context.Context) IsShareReplicaSharePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsShareReplicaShare) *IsShareReplicaShare { + return &v + }).(IsShareReplicaSharePtrOutput) +} + +// List of access management tags for this replica share +func (o IsShareReplicaShareOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsShareReplicaShare) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The CRN for this replica share. +func (o IsShareReplicaShareOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShare) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The href for this replica share. +func (o IsShareReplicaShareOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShare) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The ID of this replica file share. +func (o IsShareReplicaShareOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShare) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The maximum input/output operation per second (IOPS) for the file share. +func (o IsShareReplicaShareOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsShareReplicaShare) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// The share targets for this replica file share.Share targets mounted from a replica must be mounted read-only. +func (o IsShareReplicaShareOutput) MountTargets() IsShareReplicaShareMountTargetArrayOutput { + return o.ApplyT(func(v IsShareReplicaShare) []IsShareReplicaShareMountTarget { return v.MountTargets }).(IsShareReplicaShareMountTargetArrayOutput) +} + +// The unique user-defined name for this file share. +func (o IsShareReplicaShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v IsShareReplicaShare) string { return v.Name }).(pulumi.StringOutput) +} + +// Share profile name. +func (o IsShareReplicaShareOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v IsShareReplicaShare) string { return v.Profile }).(pulumi.StringOutput) +} + +// The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. +func (o IsShareReplicaShareOutput) ReplicationCronSpec() pulumi.StringOutput { + return o.ApplyT(func(v IsShareReplicaShare) string { return v.ReplicationCronSpec }).(pulumi.StringOutput) +} + +// The replication role of the file share. +func (o IsShareReplicaShareOutput) ReplicationRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShare) *string { return v.ReplicationRole }).(pulumi.StringPtrOutput) +} + +// The replication status of the file share. +func (o IsShareReplicaShareOutput) ReplicationStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShare) *string { return v.ReplicationStatus }).(pulumi.StringPtrOutput) +} + +// The reasons for the current replication status. +func (o IsShareReplicaShareOutput) ReplicationStatusReasons() IsShareReplicaShareReplicationStatusReasonArrayOutput { + return o.ApplyT(func(v IsShareReplicaShare) []IsShareReplicaShareReplicationStatusReason { + return v.ReplicationStatusReasons + }).(IsShareReplicaShareReplicationStatusReasonArrayOutput) +} + +// User Tags for the replica share +func (o IsShareReplicaShareOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsShareReplicaShare) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The name of the zone this replica file share will reside in. Must be a different zone in the same region as the source share. +func (o IsShareReplicaShareOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShare) *string { return v.Zone }).(pulumi.StringPtrOutput) +} + +type IsShareReplicaSharePtrOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaSharePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareReplicaShare)(nil)).Elem() +} + +func (o IsShareReplicaSharePtrOutput) ToIsShareReplicaSharePtrOutput() IsShareReplicaSharePtrOutput { + return o +} + +func (o IsShareReplicaSharePtrOutput) ToIsShareReplicaSharePtrOutputWithContext(ctx context.Context) IsShareReplicaSharePtrOutput { + return o +} + +func (o IsShareReplicaSharePtrOutput) Elem() IsShareReplicaShareOutput { + return o.ApplyT(func(v *IsShareReplicaShare) IsShareReplicaShare { + if v != nil { + return *v + } + var ret IsShareReplicaShare + return ret + }).(IsShareReplicaShareOutput) +} + +// List of access management tags for this replica share +func (o IsShareReplicaSharePtrOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShareReplicaShare) []string { + if v == nil { + return nil + } + return v.AccessTags + }).(pulumi.StringArrayOutput) +} + +// The CRN for this replica share. +func (o IsShareReplicaSharePtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// The href for this replica share. +func (o IsShareReplicaSharePtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The ID of this replica file share. +func (o IsShareReplicaSharePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The maximum input/output operation per second (IOPS) for the file share. +func (o IsShareReplicaSharePtrOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *int { + if v == nil { + return nil + } + return v.Iops + }).(pulumi.IntPtrOutput) +} + +// The share targets for this replica file share.Share targets mounted from a replica must be mounted read-only. +func (o IsShareReplicaSharePtrOutput) MountTargets() IsShareReplicaShareMountTargetArrayOutput { + return o.ApplyT(func(v *IsShareReplicaShare) []IsShareReplicaShareMountTarget { + if v == nil { + return nil + } + return v.MountTargets + }).(IsShareReplicaShareMountTargetArrayOutput) +} + +// The unique user-defined name for this file share. +func (o IsShareReplicaSharePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// Share profile name. +func (o IsShareReplicaSharePtrOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return &v.Profile + }).(pulumi.StringPtrOutput) +} + +// The cron specification for the file share replication schedule.Replication of a share can be scheduled to occur at most once per hour. +func (o IsShareReplicaSharePtrOutput) ReplicationCronSpec() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return &v.ReplicationCronSpec + }).(pulumi.StringPtrOutput) +} + +// The replication role of the file share. +func (o IsShareReplicaSharePtrOutput) ReplicationRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return v.ReplicationRole + }).(pulumi.StringPtrOutput) +} + +// The replication status of the file share. +func (o IsShareReplicaSharePtrOutput) ReplicationStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return v.ReplicationStatus + }).(pulumi.StringPtrOutput) +} + +// The reasons for the current replication status. +func (o IsShareReplicaSharePtrOutput) ReplicationStatusReasons() IsShareReplicaShareReplicationStatusReasonArrayOutput { + return o.ApplyT(func(v *IsShareReplicaShare) []IsShareReplicaShareReplicationStatusReason { + if v == nil { + return nil + } + return v.ReplicationStatusReasons + }).(IsShareReplicaShareReplicationStatusReasonArrayOutput) +} + +// User Tags for the replica share +func (o IsShareReplicaSharePtrOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsShareReplicaShare) []string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringArrayOutput) +} + +// The name of the zone this replica file share will reside in. Must be a different zone in the same region as the source share. +func (o IsShareReplicaSharePtrOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareReplicaShare) *string { + if v == nil { + return nil + } + return v.Zone + }).(pulumi.StringPtrOutput) +} + +type IsShareReplicaShareMountTarget struct { + // The protocol to use to access the share for this share mount target. + AccessProtocol *string `pulumi:"accessProtocol"` + // href of mount target + Href *string `pulumi:"href"` + // ID of this share target. + Id *string `pulumi:"id"` + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name *string `pulumi:"name"` + // Resource type of virtual network interface + ResourceType *string `pulumi:"resourceType"` + // The transit encryption mode. + TransitEncryption *string `pulumi:"transitEncryption"` + // VNI for mount target. + VirtualNetworkInterfaces []IsShareReplicaShareMountTargetVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` + // The ID of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc *string `pulumi:"vpc"` +} + +// IsShareReplicaShareMountTargetInput is an input type that accepts IsShareReplicaShareMountTargetArgs and IsShareReplicaShareMountTargetOutput values. +// You can construct a concrete instance of `IsShareReplicaShareMountTargetInput` via: +// +// IsShareReplicaShareMountTargetArgs{...} +type IsShareReplicaShareMountTargetInput interface { + pulumi.Input + + ToIsShareReplicaShareMountTargetOutput() IsShareReplicaShareMountTargetOutput + ToIsShareReplicaShareMountTargetOutputWithContext(context.Context) IsShareReplicaShareMountTargetOutput +} + +type IsShareReplicaShareMountTargetArgs struct { + // The protocol to use to access the share for this share mount target. + AccessProtocol pulumi.StringPtrInput `pulumi:"accessProtocol"` + // href of mount target + Href pulumi.StringPtrInput `pulumi:"href"` + // ID of this share target. + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringPtrInput `pulumi:"name"` + // Resource type of virtual network interface + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The transit encryption mode. + TransitEncryption pulumi.StringPtrInput `pulumi:"transitEncryption"` + // VNI for mount target. + VirtualNetworkInterfaces IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` + // The ID of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. + Vpc pulumi.StringPtrInput `pulumi:"vpc"` +} + +func (IsShareReplicaShareMountTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShareMountTarget)(nil)).Elem() +} + +func (i IsShareReplicaShareMountTargetArgs) ToIsShareReplicaShareMountTargetOutput() IsShareReplicaShareMountTargetOutput { + return i.ToIsShareReplicaShareMountTargetOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareMountTargetArgs) ToIsShareReplicaShareMountTargetOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareMountTargetOutput) +} + +// IsShareReplicaShareMountTargetArrayInput is an input type that accepts IsShareReplicaShareMountTargetArray and IsShareReplicaShareMountTargetArrayOutput values. +// You can construct a concrete instance of `IsShareReplicaShareMountTargetArrayInput` via: +// +// IsShareReplicaShareMountTargetArray{ IsShareReplicaShareMountTargetArgs{...} } +type IsShareReplicaShareMountTargetArrayInput interface { + pulumi.Input + + ToIsShareReplicaShareMountTargetArrayOutput() IsShareReplicaShareMountTargetArrayOutput + ToIsShareReplicaShareMountTargetArrayOutputWithContext(context.Context) IsShareReplicaShareMountTargetArrayOutput +} + +type IsShareReplicaShareMountTargetArray []IsShareReplicaShareMountTargetInput + +func (IsShareReplicaShareMountTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicaShareMountTarget)(nil)).Elem() +} + +func (i IsShareReplicaShareMountTargetArray) ToIsShareReplicaShareMountTargetArrayOutput() IsShareReplicaShareMountTargetArrayOutput { + return i.ToIsShareReplicaShareMountTargetArrayOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareMountTargetArray) ToIsShareReplicaShareMountTargetArrayOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareMountTargetArrayOutput) +} + +type IsShareReplicaShareMountTargetOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareMountTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShareMountTarget)(nil)).Elem() +} + +func (o IsShareReplicaShareMountTargetOutput) ToIsShareReplicaShareMountTargetOutput() IsShareReplicaShareMountTargetOutput { + return o +} + +func (o IsShareReplicaShareMountTargetOutput) ToIsShareReplicaShareMountTargetOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetOutput { + return o +} + +// The protocol to use to access the share for this share mount target. +func (o IsShareReplicaShareMountTargetOutput) AccessProtocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTarget) *string { return v.AccessProtocol }).(pulumi.StringPtrOutput) +} + +// href of mount target +func (o IsShareReplicaShareMountTargetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTarget) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// ID of this share target. +func (o IsShareReplicaShareMountTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this share target. Names must be unique within the share the share target resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o IsShareReplicaShareMountTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Resource type of virtual network interface +func (o IsShareReplicaShareMountTargetOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTarget) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The transit encryption mode. +func (o IsShareReplicaShareMountTargetOutput) TransitEncryption() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTarget) *string { return v.TransitEncryption }).(pulumi.StringPtrOutput) +} + +// VNI for mount target. +func (o IsShareReplicaShareMountTargetOutput) VirtualNetworkInterfaces() IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTarget) []IsShareReplicaShareMountTargetVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput) +} + +// The ID of the VPC in which instances can mount the file share using this share target.This property will be removed in a future release.The `subnet` property should be used instead. +func (o IsShareReplicaShareMountTargetOutput) Vpc() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTarget) *string { return v.Vpc }).(pulumi.StringPtrOutput) +} + +type IsShareReplicaShareMountTargetArrayOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareMountTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicaShareMountTarget)(nil)).Elem() +} + +func (o IsShareReplicaShareMountTargetArrayOutput) ToIsShareReplicaShareMountTargetArrayOutput() IsShareReplicaShareMountTargetArrayOutput { + return o +} + +func (o IsShareReplicaShareMountTargetArrayOutput) ToIsShareReplicaShareMountTargetArrayOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetArrayOutput { + return o +} + +func (o IsShareReplicaShareMountTargetArrayOutput) Index(i pulumi.IntInput) IsShareReplicaShareMountTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareReplicaShareMountTarget { + return vs[0].([]IsShareReplicaShareMountTarget)[vs[1].(int)] + }).(IsShareReplicaShareMountTargetOutput) +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing *bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete *bool `pulumi:"autoDelete"` + // CRN of virtual network interface + Crn *string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat *bool `pulumi:"enableInfrastructureNat"` + // href of virtual network interface + Href *string `pulumi:"href"` + // ID of this VNI + Id *string `pulumi:"id"` + // Name of this VNI + Name *string `pulumi:"name"` + // VNI for mount target. + PrimaryIps []IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode *string `pulumi:"protocolStateFilteringMode"` + // Resource group id + ResourceGroup *string `pulumi:"resourceGroup"` + // Resource type of primary ip + ResourceType *string `pulumi:"resourceType"` + // The security groups to use for this virtual network interface. + SecurityGroups []string `pulumi:"securityGroups"` + // The associated subnet. Required if primaryIp is not specified. + Subnet *string `pulumi:"subnet"` +} + +// IsShareReplicaShareMountTargetVirtualNetworkInterfaceInput is an input type that accepts IsShareReplicaShareMountTargetVirtualNetworkInterfaceArgs and IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `IsShareReplicaShareMountTargetVirtualNetworkInterfaceInput` via: +// +// IsShareReplicaShareMountTargetVirtualNetworkInterfaceArgs{...} +type IsShareReplicaShareMountTargetVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput + ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceOutputWithContext(context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolPtrInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // CRN of virtual network interface + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolPtrInput `pulumi:"enableInfrastructureNat"` + // href of virtual network interface + Href pulumi.StringPtrInput `pulumi:"href"` + // ID of this VNI + Id pulumi.StringPtrInput `pulumi:"id"` + // Name of this VNI + Name pulumi.StringPtrInput `pulumi:"name"` + // VNI for mount target. + PrimaryIps IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringPtrInput `pulumi:"protocolStateFilteringMode"` + // Resource group id + ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"` + // Resource type of primary ip + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The security groups to use for this virtual network interface. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The associated subnet. Required if primaryIp is not specified. + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsShareReplicaShareMountTargetVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsShareReplicaShareMountTargetVirtualNetworkInterfaceArgs) ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput { + return i.ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareMountTargetVirtualNetworkInterfaceArgs) ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) +} + +// IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayInput is an input type that accepts IsShareReplicaShareMountTargetVirtualNetworkInterfaceArray and IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayInput` via: +// +// IsShareReplicaShareMountTargetVirtualNetworkInterfaceArray{ IsShareReplicaShareMountTargetVirtualNetworkInterfaceArgs{...} } +type IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput + ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfaceArray []IsShareReplicaShareMountTargetVirtualNetworkInterfaceInput + +func (IsShareReplicaShareMountTargetVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicaShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i IsShareReplicaShareMountTargetVirtualNetworkInterfaceArray) ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput { + return i.ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareMountTargetVirtualNetworkInterfaceArray) ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput) +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput { + return o +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *bool { return v.AllowIpSpoofing }).(pulumi.BoolPtrOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// CRN of virtual network interface +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *bool { return v.EnableInfrastructureNat }).(pulumi.BoolPtrOutput) +} + +// href of virtual network interface +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// ID of this VNI +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Name of this VNI +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// VNI for mount target. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) PrimaryIps() IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) []IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringPtrOutput) +} + +// Resource group id +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) ResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *string { return v.ResourceGroup }).(pulumi.StringPtrOutput) +} + +// Resource type of primary ip +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The security groups to use for this virtual network interface. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The associated subnet. Required if primaryIp is not specified. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterface) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicaShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput) ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput) ToIsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareReplicaShareMountTargetVirtualNetworkInterface { + return vs[0].([]IsShareReplicaShareMountTargetVirtualNetworkInterface)[vs[1].(int)] + }).(IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput) +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // href of primary ip + Href *string `pulumi:"href"` + // Name for reserved IP + Name *string `pulumi:"name"` + // ID of reserved IP + ReservedIp *string `pulumi:"reservedIp"` + // Resource type of primary ip + ResourceType *string `pulumi:"resourceType"` +} + +// IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArgs and IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArgs{...} +type IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput + ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // href of primary ip + Href pulumi.StringPtrInput `pulumi:"href"` + // Name for reserved IP + Name pulumi.StringPtrInput `pulumi:"name"` + // ID of reserved IP + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // Resource type of primary ip + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArgs) ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) +} + +// IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArray and IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArray{ IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArgs{...} } +type IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput + ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArray []IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpInput + +func (IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArray) ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArray) ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// href of primary ip +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// Name for reserved IP +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// ID of reserved IP +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// Resource type of primary ip +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput) ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput() IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput) ToIsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp { + return vs[0].([]IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput) +} + +type IsShareReplicaShareReplicationStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code *string `pulumi:"code"` + // An explanation of the status reason. + Message *string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsShareReplicaShareReplicationStatusReasonInput is an input type that accepts IsShareReplicaShareReplicationStatusReasonArgs and IsShareReplicaShareReplicationStatusReasonOutput values. +// You can construct a concrete instance of `IsShareReplicaShareReplicationStatusReasonInput` via: +// +// IsShareReplicaShareReplicationStatusReasonArgs{...} +type IsShareReplicaShareReplicationStatusReasonInput interface { + pulumi.Input + + ToIsShareReplicaShareReplicationStatusReasonOutput() IsShareReplicaShareReplicationStatusReasonOutput + ToIsShareReplicaShareReplicationStatusReasonOutputWithContext(context.Context) IsShareReplicaShareReplicationStatusReasonOutput +} + +type IsShareReplicaShareReplicationStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsShareReplicaShareReplicationStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShareReplicationStatusReason)(nil)).Elem() +} + +func (i IsShareReplicaShareReplicationStatusReasonArgs) ToIsShareReplicaShareReplicationStatusReasonOutput() IsShareReplicaShareReplicationStatusReasonOutput { + return i.ToIsShareReplicaShareReplicationStatusReasonOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareReplicationStatusReasonArgs) ToIsShareReplicaShareReplicationStatusReasonOutputWithContext(ctx context.Context) IsShareReplicaShareReplicationStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareReplicationStatusReasonOutput) +} + +// IsShareReplicaShareReplicationStatusReasonArrayInput is an input type that accepts IsShareReplicaShareReplicationStatusReasonArray and IsShareReplicaShareReplicationStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsShareReplicaShareReplicationStatusReasonArrayInput` via: +// +// IsShareReplicaShareReplicationStatusReasonArray{ IsShareReplicaShareReplicationStatusReasonArgs{...} } +type IsShareReplicaShareReplicationStatusReasonArrayInput interface { + pulumi.Input + + ToIsShareReplicaShareReplicationStatusReasonArrayOutput() IsShareReplicaShareReplicationStatusReasonArrayOutput + ToIsShareReplicaShareReplicationStatusReasonArrayOutputWithContext(context.Context) IsShareReplicaShareReplicationStatusReasonArrayOutput +} + +type IsShareReplicaShareReplicationStatusReasonArray []IsShareReplicaShareReplicationStatusReasonInput + +func (IsShareReplicaShareReplicationStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicaShareReplicationStatusReason)(nil)).Elem() +} + +func (i IsShareReplicaShareReplicationStatusReasonArray) ToIsShareReplicaShareReplicationStatusReasonArrayOutput() IsShareReplicaShareReplicationStatusReasonArrayOutput { + return i.ToIsShareReplicaShareReplicationStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsShareReplicaShareReplicationStatusReasonArray) ToIsShareReplicaShareReplicationStatusReasonArrayOutputWithContext(ctx context.Context) IsShareReplicaShareReplicationStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicaShareReplicationStatusReasonArrayOutput) +} + +type IsShareReplicaShareReplicationStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareReplicationStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicaShareReplicationStatusReason)(nil)).Elem() +} + +func (o IsShareReplicaShareReplicationStatusReasonOutput) ToIsShareReplicaShareReplicationStatusReasonOutput() IsShareReplicaShareReplicationStatusReasonOutput { + return o +} + +func (o IsShareReplicaShareReplicationStatusReasonOutput) ToIsShareReplicaShareReplicationStatusReasonOutputWithContext(ctx context.Context) IsShareReplicaShareReplicationStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o IsShareReplicaShareReplicationStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareReplicationStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason. +func (o IsShareReplicaShareReplicationStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareReplicationStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason. +func (o IsShareReplicaShareReplicationStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicaShareReplicationStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsShareReplicaShareReplicationStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsShareReplicaShareReplicationStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicaShareReplicationStatusReason)(nil)).Elem() +} + +func (o IsShareReplicaShareReplicationStatusReasonArrayOutput) ToIsShareReplicaShareReplicationStatusReasonArrayOutput() IsShareReplicaShareReplicationStatusReasonArrayOutput { + return o +} + +func (o IsShareReplicaShareReplicationStatusReasonArrayOutput) ToIsShareReplicaShareReplicationStatusReasonArrayOutputWithContext(ctx context.Context) IsShareReplicaShareReplicationStatusReasonArrayOutput { + return o +} + +func (o IsShareReplicaShareReplicationStatusReasonArrayOutput) Index(i pulumi.IntInput) IsShareReplicaShareReplicationStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareReplicaShareReplicationStatusReason { + return vs[0].([]IsShareReplicaShareReplicationStatusReason)[vs[1].(int)] + }).(IsShareReplicaShareReplicationStatusReasonOutput) +} + +type IsShareReplicationStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsShareReplicationStatusReasonInput is an input type that accepts IsShareReplicationStatusReasonArgs and IsShareReplicationStatusReasonOutput values. +// You can construct a concrete instance of `IsShareReplicationStatusReasonInput` via: +// +// IsShareReplicationStatusReasonArgs{...} +type IsShareReplicationStatusReasonInput interface { + pulumi.Input + + ToIsShareReplicationStatusReasonOutput() IsShareReplicationStatusReasonOutput + ToIsShareReplicationStatusReasonOutputWithContext(context.Context) IsShareReplicationStatusReasonOutput +} + +type IsShareReplicationStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsShareReplicationStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicationStatusReason)(nil)).Elem() +} + +func (i IsShareReplicationStatusReasonArgs) ToIsShareReplicationStatusReasonOutput() IsShareReplicationStatusReasonOutput { + return i.ToIsShareReplicationStatusReasonOutputWithContext(context.Background()) +} + +func (i IsShareReplicationStatusReasonArgs) ToIsShareReplicationStatusReasonOutputWithContext(ctx context.Context) IsShareReplicationStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicationStatusReasonOutput) +} + +// IsShareReplicationStatusReasonArrayInput is an input type that accepts IsShareReplicationStatusReasonArray and IsShareReplicationStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsShareReplicationStatusReasonArrayInput` via: +// +// IsShareReplicationStatusReasonArray{ IsShareReplicationStatusReasonArgs{...} } +type IsShareReplicationStatusReasonArrayInput interface { + pulumi.Input + + ToIsShareReplicationStatusReasonArrayOutput() IsShareReplicationStatusReasonArrayOutput + ToIsShareReplicationStatusReasonArrayOutputWithContext(context.Context) IsShareReplicationStatusReasonArrayOutput +} + +type IsShareReplicationStatusReasonArray []IsShareReplicationStatusReasonInput + +func (IsShareReplicationStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicationStatusReason)(nil)).Elem() +} + +func (i IsShareReplicationStatusReasonArray) ToIsShareReplicationStatusReasonArrayOutput() IsShareReplicationStatusReasonArrayOutput { + return i.ToIsShareReplicationStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsShareReplicationStatusReasonArray) ToIsShareReplicationStatusReasonArrayOutputWithContext(ctx context.Context) IsShareReplicationStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareReplicationStatusReasonArrayOutput) +} + +type IsShareReplicationStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsShareReplicationStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareReplicationStatusReason)(nil)).Elem() +} + +func (o IsShareReplicationStatusReasonOutput) ToIsShareReplicationStatusReasonOutput() IsShareReplicationStatusReasonOutput { + return o +} + +func (o IsShareReplicationStatusReasonOutput) ToIsShareReplicationStatusReasonOutputWithContext(ctx context.Context) IsShareReplicationStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o IsShareReplicationStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v IsShareReplicationStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o IsShareReplicationStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v IsShareReplicationStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o IsShareReplicationStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareReplicationStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsShareReplicationStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsShareReplicationStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareReplicationStatusReason)(nil)).Elem() +} + +func (o IsShareReplicationStatusReasonArrayOutput) ToIsShareReplicationStatusReasonArrayOutput() IsShareReplicationStatusReasonArrayOutput { + return o +} + +func (o IsShareReplicationStatusReasonArrayOutput) ToIsShareReplicationStatusReasonArrayOutputWithContext(ctx context.Context) IsShareReplicationStatusReasonArrayOutput { + return o +} + +func (o IsShareReplicationStatusReasonArrayOutput) Index(i pulumi.IntInput) IsShareReplicationStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareReplicationStatusReason { + return vs[0].([]IsShareReplicationStatusReason)[vs[1].(int)] + }).(IsShareReplicationStatusReasonOutput) +} + +type IsShareSnapshotBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsShareSnapshotBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href *string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id *string `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name *string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []IsShareSnapshotBackupPolicyPlanRemote `pulumi:"remotes"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsShareSnapshotBackupPolicyPlanInput is an input type that accepts IsShareSnapshotBackupPolicyPlanArgs and IsShareSnapshotBackupPolicyPlanOutput values. +// You can construct a concrete instance of `IsShareSnapshotBackupPolicyPlanInput` via: +// +// IsShareSnapshotBackupPolicyPlanArgs{...} +type IsShareSnapshotBackupPolicyPlanInput interface { + pulumi.Input + + ToIsShareSnapshotBackupPolicyPlanOutput() IsShareSnapshotBackupPolicyPlanOutput + ToIsShareSnapshotBackupPolicyPlanOutputWithContext(context.Context) IsShareSnapshotBackupPolicyPlanOutput +} + +type IsShareSnapshotBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsShareSnapshotBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name pulumi.StringPtrInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes IsShareSnapshotBackupPolicyPlanRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsShareSnapshotBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i IsShareSnapshotBackupPolicyPlanArgs) ToIsShareSnapshotBackupPolicyPlanOutput() IsShareSnapshotBackupPolicyPlanOutput { + return i.ToIsShareSnapshotBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotBackupPolicyPlanArgs) ToIsShareSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotBackupPolicyPlanOutput) +} + +// IsShareSnapshotBackupPolicyPlanArrayInput is an input type that accepts IsShareSnapshotBackupPolicyPlanArray and IsShareSnapshotBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `IsShareSnapshotBackupPolicyPlanArrayInput` via: +// +// IsShareSnapshotBackupPolicyPlanArray{ IsShareSnapshotBackupPolicyPlanArgs{...} } +type IsShareSnapshotBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToIsShareSnapshotBackupPolicyPlanArrayOutput() IsShareSnapshotBackupPolicyPlanArrayOutput + ToIsShareSnapshotBackupPolicyPlanArrayOutputWithContext(context.Context) IsShareSnapshotBackupPolicyPlanArrayOutput +} + +type IsShareSnapshotBackupPolicyPlanArray []IsShareSnapshotBackupPolicyPlanInput + +func (IsShareSnapshotBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i IsShareSnapshotBackupPolicyPlanArray) ToIsShareSnapshotBackupPolicyPlanArrayOutput() IsShareSnapshotBackupPolicyPlanArrayOutput { + return i.ToIsShareSnapshotBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotBackupPolicyPlanArray) ToIsShareSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotBackupPolicyPlanArrayOutput) +} + +type IsShareSnapshotBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o IsShareSnapshotBackupPolicyPlanOutput) ToIsShareSnapshotBackupPolicyPlanOutput() IsShareSnapshotBackupPolicyPlanOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanOutput) ToIsShareSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsShareSnapshotBackupPolicyPlanOutput) Deleteds() IsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlan) []IsShareSnapshotBackupPolicyPlanDeleted { return v.Deleteds }).(IsShareSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o IsShareSnapshotBackupPolicyPlanOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlan) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this backup policy plan. +func (o IsShareSnapshotBackupPolicyPlanOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlan) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this backup policy plan. The name is unique across all plans in the backup policy. +func (o IsShareSnapshotBackupPolicyPlanOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlan) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o IsShareSnapshotBackupPolicyPlanOutput) Remotes() IsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlan) []IsShareSnapshotBackupPolicyPlanRemote { return v.Remotes }).(IsShareSnapshotBackupPolicyPlanRemoteArrayOutput) +} + +// The resource type. +func (o IsShareSnapshotBackupPolicyPlanOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlan) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsShareSnapshotBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o IsShareSnapshotBackupPolicyPlanArrayOutput) ToIsShareSnapshotBackupPolicyPlanArrayOutput() IsShareSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanArrayOutput) ToIsShareSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) IsShareSnapshotBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareSnapshotBackupPolicyPlan { + return vs[0].([]IsShareSnapshotBackupPolicyPlan)[vs[1].(int)] + }).(IsShareSnapshotBackupPolicyPlanOutput) +} + +type IsShareSnapshotBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsShareSnapshotBackupPolicyPlanDeletedInput is an input type that accepts IsShareSnapshotBackupPolicyPlanDeletedArgs and IsShareSnapshotBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `IsShareSnapshotBackupPolicyPlanDeletedInput` via: +// +// IsShareSnapshotBackupPolicyPlanDeletedArgs{...} +type IsShareSnapshotBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToIsShareSnapshotBackupPolicyPlanDeletedOutput() IsShareSnapshotBackupPolicyPlanDeletedOutput + ToIsShareSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Context) IsShareSnapshotBackupPolicyPlanDeletedOutput +} + +type IsShareSnapshotBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsShareSnapshotBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i IsShareSnapshotBackupPolicyPlanDeletedArgs) ToIsShareSnapshotBackupPolicyPlanDeletedOutput() IsShareSnapshotBackupPolicyPlanDeletedOutput { + return i.ToIsShareSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotBackupPolicyPlanDeletedArgs) ToIsShareSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotBackupPolicyPlanDeletedOutput) +} + +// IsShareSnapshotBackupPolicyPlanDeletedArrayInput is an input type that accepts IsShareSnapshotBackupPolicyPlanDeletedArray and IsShareSnapshotBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `IsShareSnapshotBackupPolicyPlanDeletedArrayInput` via: +// +// IsShareSnapshotBackupPolicyPlanDeletedArray{ IsShareSnapshotBackupPolicyPlanDeletedArgs{...} } +type IsShareSnapshotBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToIsShareSnapshotBackupPolicyPlanDeletedArrayOutput() IsShareSnapshotBackupPolicyPlanDeletedArrayOutput + ToIsShareSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) IsShareSnapshotBackupPolicyPlanDeletedArrayOutput +} + +type IsShareSnapshotBackupPolicyPlanDeletedArray []IsShareSnapshotBackupPolicyPlanDeletedInput + +func (IsShareSnapshotBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i IsShareSnapshotBackupPolicyPlanDeletedArray) ToIsShareSnapshotBackupPolicyPlanDeletedArrayOutput() IsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return i.ToIsShareSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotBackupPolicyPlanDeletedArray) ToIsShareSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +type IsShareSnapshotBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o IsShareSnapshotBackupPolicyPlanDeletedOutput) ToIsShareSnapshotBackupPolicyPlanDeletedOutput() IsShareSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanDeletedOutput) ToIsShareSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsShareSnapshotBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlanDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsShareSnapshotBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o IsShareSnapshotBackupPolicyPlanDeletedArrayOutput) ToIsShareSnapshotBackupPolicyPlanDeletedArrayOutput() IsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanDeletedArrayOutput) ToIsShareSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) IsShareSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareSnapshotBackupPolicyPlanDeleted { + return vs[0].([]IsShareSnapshotBackupPolicyPlanDeleted)[vs[1].(int)] + }).(IsShareSnapshotBackupPolicyPlanDeletedOutput) +} + +type IsShareSnapshotBackupPolicyPlanRemote struct { + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []IsShareSnapshotBackupPolicyPlanRemoteRegion `pulumi:"regions"` +} + +// IsShareSnapshotBackupPolicyPlanRemoteInput is an input type that accepts IsShareSnapshotBackupPolicyPlanRemoteArgs and IsShareSnapshotBackupPolicyPlanRemoteOutput values. +// You can construct a concrete instance of `IsShareSnapshotBackupPolicyPlanRemoteInput` via: +// +// IsShareSnapshotBackupPolicyPlanRemoteArgs{...} +type IsShareSnapshotBackupPolicyPlanRemoteInput interface { + pulumi.Input + + ToIsShareSnapshotBackupPolicyPlanRemoteOutput() IsShareSnapshotBackupPolicyPlanRemoteOutput + ToIsShareSnapshotBackupPolicyPlanRemoteOutputWithContext(context.Context) IsShareSnapshotBackupPolicyPlanRemoteOutput +} + +type IsShareSnapshotBackupPolicyPlanRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions IsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput `pulumi:"regions"` +} + +func (IsShareSnapshotBackupPolicyPlanRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i IsShareSnapshotBackupPolicyPlanRemoteArgs) ToIsShareSnapshotBackupPolicyPlanRemoteOutput() IsShareSnapshotBackupPolicyPlanRemoteOutput { + return i.ToIsShareSnapshotBackupPolicyPlanRemoteOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotBackupPolicyPlanRemoteArgs) ToIsShareSnapshotBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotBackupPolicyPlanRemoteOutput) +} + +// IsShareSnapshotBackupPolicyPlanRemoteArrayInput is an input type that accepts IsShareSnapshotBackupPolicyPlanRemoteArray and IsShareSnapshotBackupPolicyPlanRemoteArrayOutput values. +// You can construct a concrete instance of `IsShareSnapshotBackupPolicyPlanRemoteArrayInput` via: +// +// IsShareSnapshotBackupPolicyPlanRemoteArray{ IsShareSnapshotBackupPolicyPlanRemoteArgs{...} } +type IsShareSnapshotBackupPolicyPlanRemoteArrayInput interface { + pulumi.Input + + ToIsShareSnapshotBackupPolicyPlanRemoteArrayOutput() IsShareSnapshotBackupPolicyPlanRemoteArrayOutput + ToIsShareSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(context.Context) IsShareSnapshotBackupPolicyPlanRemoteArrayOutput +} + +type IsShareSnapshotBackupPolicyPlanRemoteArray []IsShareSnapshotBackupPolicyPlanRemoteInput + +func (IsShareSnapshotBackupPolicyPlanRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i IsShareSnapshotBackupPolicyPlanRemoteArray) ToIsShareSnapshotBackupPolicyPlanRemoteArrayOutput() IsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return i.ToIsShareSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotBackupPolicyPlanRemoteArray) ToIsShareSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotBackupPolicyPlanRemoteArrayOutput) +} + +type IsShareSnapshotBackupPolicyPlanRemoteOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotBackupPolicyPlanRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteOutput) ToIsShareSnapshotBackupPolicyPlanRemoteOutput() IsShareSnapshotBackupPolicyPlanRemoteOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteOutput) ToIsShareSnapshotBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o IsShareSnapshotBackupPolicyPlanRemoteOutput) Regions() IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlanRemote) []IsShareSnapshotBackupPolicyPlanRemoteRegion { + return v.Regions + }).(IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) +} + +type IsShareSnapshotBackupPolicyPlanRemoteArrayOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotBackupPolicyPlanRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteArrayOutput) ToIsShareSnapshotBackupPolicyPlanRemoteArrayOutput() IsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteArrayOutput) ToIsShareSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteArrayOutput) Index(i pulumi.IntInput) IsShareSnapshotBackupPolicyPlanRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareSnapshotBackupPolicyPlanRemote { + return vs[0].([]IsShareSnapshotBackupPolicyPlanRemote)[vs[1].(int)] + }).(IsShareSnapshotBackupPolicyPlanRemoteOutput) +} + +type IsShareSnapshotBackupPolicyPlanRemoteRegion struct { + // The URL for this region. + Href *string `pulumi:"href"` + // The globally unique name for this region. + Name *string `pulumi:"name"` +} + +// IsShareSnapshotBackupPolicyPlanRemoteRegionInput is an input type that accepts IsShareSnapshotBackupPolicyPlanRemoteRegionArgs and IsShareSnapshotBackupPolicyPlanRemoteRegionOutput values. +// You can construct a concrete instance of `IsShareSnapshotBackupPolicyPlanRemoteRegionInput` via: +// +// IsShareSnapshotBackupPolicyPlanRemoteRegionArgs{...} +type IsShareSnapshotBackupPolicyPlanRemoteRegionInput interface { + pulumi.Input + + ToIsShareSnapshotBackupPolicyPlanRemoteRegionOutput() IsShareSnapshotBackupPolicyPlanRemoteRegionOutput + ToIsShareSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(context.Context) IsShareSnapshotBackupPolicyPlanRemoteRegionOutput +} + +type IsShareSnapshotBackupPolicyPlanRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsShareSnapshotBackupPolicyPlanRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (i IsShareSnapshotBackupPolicyPlanRemoteRegionArgs) ToIsShareSnapshotBackupPolicyPlanRemoteRegionOutput() IsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return i.ToIsShareSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotBackupPolicyPlanRemoteRegionArgs) ToIsShareSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotBackupPolicyPlanRemoteRegionOutput) +} + +// IsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput is an input type that accepts IsShareSnapshotBackupPolicyPlanRemoteRegionArray and IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput values. +// You can construct a concrete instance of `IsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput` via: +// +// IsShareSnapshotBackupPolicyPlanRemoteRegionArray{ IsShareSnapshotBackupPolicyPlanRemoteRegionArgs{...} } +type IsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput interface { + pulumi.Input + + ToIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput() IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput + ToIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(context.Context) IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput +} + +type IsShareSnapshotBackupPolicyPlanRemoteRegionArray []IsShareSnapshotBackupPolicyPlanRemoteRegionInput + +func (IsShareSnapshotBackupPolicyPlanRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (i IsShareSnapshotBackupPolicyPlanRemoteRegionArray) ToIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput() IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return i.ToIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotBackupPolicyPlanRemoteRegionArray) ToIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) +} + +type IsShareSnapshotBackupPolicyPlanRemoteRegionOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotBackupPolicyPlanRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteRegionOutput) ToIsShareSnapshotBackupPolicyPlanRemoteRegionOutput() IsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteRegionOutput) ToIsShareSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o IsShareSnapshotBackupPolicyPlanRemoteRegionOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlanRemoteRegion) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsShareSnapshotBackupPolicyPlanRemoteRegionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotBackupPolicyPlanRemoteRegion) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ToIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput() IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ToIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(ctx context.Context) IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o +} + +func (o IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) Index(i pulumi.IntInput) IsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareSnapshotBackupPolicyPlanRemoteRegion { + return vs[0].([]IsShareSnapshotBackupPolicyPlanRemoteRegion)[vs[1].(int)] + }).(IsShareSnapshotBackupPolicyPlanRemoteRegionOutput) +} + +type IsShareSnapshotResourceGroup struct { + // The URL for this resource group. + Href *string `pulumi:"href"` + // The unique identifier for this resource group. + Id *string `pulumi:"id"` + // The name for this resource group. + Name *string `pulumi:"name"` +} + +// IsShareSnapshotResourceGroupInput is an input type that accepts IsShareSnapshotResourceGroupArgs and IsShareSnapshotResourceGroupOutput values. +// You can construct a concrete instance of `IsShareSnapshotResourceGroupInput` via: +// +// IsShareSnapshotResourceGroupArgs{...} +type IsShareSnapshotResourceGroupInput interface { + pulumi.Input + + ToIsShareSnapshotResourceGroupOutput() IsShareSnapshotResourceGroupOutput + ToIsShareSnapshotResourceGroupOutputWithContext(context.Context) IsShareSnapshotResourceGroupOutput +} + +type IsShareSnapshotResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsShareSnapshotResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotResourceGroup)(nil)).Elem() +} + +func (i IsShareSnapshotResourceGroupArgs) ToIsShareSnapshotResourceGroupOutput() IsShareSnapshotResourceGroupOutput { + return i.ToIsShareSnapshotResourceGroupOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotResourceGroupArgs) ToIsShareSnapshotResourceGroupOutputWithContext(ctx context.Context) IsShareSnapshotResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotResourceGroupOutput) +} + +// IsShareSnapshotResourceGroupArrayInput is an input type that accepts IsShareSnapshotResourceGroupArray and IsShareSnapshotResourceGroupArrayOutput values. +// You can construct a concrete instance of `IsShareSnapshotResourceGroupArrayInput` via: +// +// IsShareSnapshotResourceGroupArray{ IsShareSnapshotResourceGroupArgs{...} } +type IsShareSnapshotResourceGroupArrayInput interface { + pulumi.Input + + ToIsShareSnapshotResourceGroupArrayOutput() IsShareSnapshotResourceGroupArrayOutput + ToIsShareSnapshotResourceGroupArrayOutputWithContext(context.Context) IsShareSnapshotResourceGroupArrayOutput +} + +type IsShareSnapshotResourceGroupArray []IsShareSnapshotResourceGroupInput + +func (IsShareSnapshotResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotResourceGroup)(nil)).Elem() +} + +func (i IsShareSnapshotResourceGroupArray) ToIsShareSnapshotResourceGroupArrayOutput() IsShareSnapshotResourceGroupArrayOutput { + return i.ToIsShareSnapshotResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotResourceGroupArray) ToIsShareSnapshotResourceGroupArrayOutputWithContext(ctx context.Context) IsShareSnapshotResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotResourceGroupArrayOutput) +} + +type IsShareSnapshotResourceGroupOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotResourceGroup)(nil)).Elem() +} + +func (o IsShareSnapshotResourceGroupOutput) ToIsShareSnapshotResourceGroupOutput() IsShareSnapshotResourceGroupOutput { + return o +} + +func (o IsShareSnapshotResourceGroupOutput) ToIsShareSnapshotResourceGroupOutputWithContext(ctx context.Context) IsShareSnapshotResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o IsShareSnapshotResourceGroupOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotResourceGroup) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group. +func (o IsShareSnapshotResourceGroupOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotResourceGroup) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this resource group. +func (o IsShareSnapshotResourceGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotResourceGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsShareSnapshotResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotResourceGroup)(nil)).Elem() +} + +func (o IsShareSnapshotResourceGroupArrayOutput) ToIsShareSnapshotResourceGroupArrayOutput() IsShareSnapshotResourceGroupArrayOutput { + return o +} + +func (o IsShareSnapshotResourceGroupArrayOutput) ToIsShareSnapshotResourceGroupArrayOutputWithContext(ctx context.Context) IsShareSnapshotResourceGroupArrayOutput { + return o +} + +func (o IsShareSnapshotResourceGroupArrayOutput) Index(i pulumi.IntInput) IsShareSnapshotResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareSnapshotResourceGroup { + return vs[0].([]IsShareSnapshotResourceGroup)[vs[1].(int)] + }).(IsShareSnapshotResourceGroupOutput) +} + +type IsShareSnapshotStatusReason struct { + // A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code *string `pulumi:"code"` + // An explanation of the status reason. + Message *string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsShareSnapshotStatusReasonInput is an input type that accepts IsShareSnapshotStatusReasonArgs and IsShareSnapshotStatusReasonOutput values. +// You can construct a concrete instance of `IsShareSnapshotStatusReasonInput` via: +// +// IsShareSnapshotStatusReasonArgs{...} +type IsShareSnapshotStatusReasonInput interface { + pulumi.Input + + ToIsShareSnapshotStatusReasonOutput() IsShareSnapshotStatusReasonOutput + ToIsShareSnapshotStatusReasonOutputWithContext(context.Context) IsShareSnapshotStatusReasonOutput +} + +type IsShareSnapshotStatusReasonArgs struct { + // A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsShareSnapshotStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotStatusReason)(nil)).Elem() +} + +func (i IsShareSnapshotStatusReasonArgs) ToIsShareSnapshotStatusReasonOutput() IsShareSnapshotStatusReasonOutput { + return i.ToIsShareSnapshotStatusReasonOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotStatusReasonArgs) ToIsShareSnapshotStatusReasonOutputWithContext(ctx context.Context) IsShareSnapshotStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotStatusReasonOutput) +} + +// IsShareSnapshotStatusReasonArrayInput is an input type that accepts IsShareSnapshotStatusReasonArray and IsShareSnapshotStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsShareSnapshotStatusReasonArrayInput` via: +// +// IsShareSnapshotStatusReasonArray{ IsShareSnapshotStatusReasonArgs{...} } +type IsShareSnapshotStatusReasonArrayInput interface { + pulumi.Input + + ToIsShareSnapshotStatusReasonArrayOutput() IsShareSnapshotStatusReasonArrayOutput + ToIsShareSnapshotStatusReasonArrayOutputWithContext(context.Context) IsShareSnapshotStatusReasonArrayOutput +} + +type IsShareSnapshotStatusReasonArray []IsShareSnapshotStatusReasonInput + +func (IsShareSnapshotStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotStatusReason)(nil)).Elem() +} + +func (i IsShareSnapshotStatusReasonArray) ToIsShareSnapshotStatusReasonArrayOutput() IsShareSnapshotStatusReasonArrayOutput { + return i.ToIsShareSnapshotStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotStatusReasonArray) ToIsShareSnapshotStatusReasonArrayOutputWithContext(ctx context.Context) IsShareSnapshotStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotStatusReasonArrayOutput) +} + +type IsShareSnapshotStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotStatusReason)(nil)).Elem() +} + +func (o IsShareSnapshotStatusReasonOutput) ToIsShareSnapshotStatusReasonOutput() IsShareSnapshotStatusReasonOutput { + return o +} + +func (o IsShareSnapshotStatusReasonOutput) ToIsShareSnapshotStatusReasonOutputWithContext(ctx context.Context) IsShareSnapshotStatusReasonOutput { + return o +} + +// A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o IsShareSnapshotStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason. +func (o IsShareSnapshotStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason. +func (o IsShareSnapshotStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsShareSnapshotStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotStatusReason)(nil)).Elem() +} + +func (o IsShareSnapshotStatusReasonArrayOutput) ToIsShareSnapshotStatusReasonArrayOutput() IsShareSnapshotStatusReasonArrayOutput { + return o +} + +func (o IsShareSnapshotStatusReasonArrayOutput) ToIsShareSnapshotStatusReasonArrayOutputWithContext(ctx context.Context) IsShareSnapshotStatusReasonArrayOutput { + return o +} + +func (o IsShareSnapshotStatusReasonArrayOutput) Index(i pulumi.IntInput) IsShareSnapshotStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareSnapshotStatusReason { + return vs[0].([]IsShareSnapshotStatusReason)[vs[1].(int)] + }).(IsShareSnapshotStatusReasonOutput) +} + +type IsShareSnapshotZone struct { + // The URL for this zone. + Href *string `pulumi:"href"` + // The globally unique name for this zone. + Name *string `pulumi:"name"` +} + +// IsShareSnapshotZoneInput is an input type that accepts IsShareSnapshotZoneArgs and IsShareSnapshotZoneOutput values. +// You can construct a concrete instance of `IsShareSnapshotZoneInput` via: +// +// IsShareSnapshotZoneArgs{...} +type IsShareSnapshotZoneInput interface { + pulumi.Input + + ToIsShareSnapshotZoneOutput() IsShareSnapshotZoneOutput + ToIsShareSnapshotZoneOutputWithContext(context.Context) IsShareSnapshotZoneOutput +} + +type IsShareSnapshotZoneArgs struct { + // The URL for this zone. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsShareSnapshotZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotZone)(nil)).Elem() +} + +func (i IsShareSnapshotZoneArgs) ToIsShareSnapshotZoneOutput() IsShareSnapshotZoneOutput { + return i.ToIsShareSnapshotZoneOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotZoneArgs) ToIsShareSnapshotZoneOutputWithContext(ctx context.Context) IsShareSnapshotZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotZoneOutput) +} + +// IsShareSnapshotZoneArrayInput is an input type that accepts IsShareSnapshotZoneArray and IsShareSnapshotZoneArrayOutput values. +// You can construct a concrete instance of `IsShareSnapshotZoneArrayInput` via: +// +// IsShareSnapshotZoneArray{ IsShareSnapshotZoneArgs{...} } +type IsShareSnapshotZoneArrayInput interface { + pulumi.Input + + ToIsShareSnapshotZoneArrayOutput() IsShareSnapshotZoneArrayOutput + ToIsShareSnapshotZoneArrayOutputWithContext(context.Context) IsShareSnapshotZoneArrayOutput +} + +type IsShareSnapshotZoneArray []IsShareSnapshotZoneInput + +func (IsShareSnapshotZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotZone)(nil)).Elem() +} + +func (i IsShareSnapshotZoneArray) ToIsShareSnapshotZoneArrayOutput() IsShareSnapshotZoneArrayOutput { + return i.ToIsShareSnapshotZoneArrayOutputWithContext(context.Background()) +} + +func (i IsShareSnapshotZoneArray) ToIsShareSnapshotZoneArrayOutputWithContext(ctx context.Context) IsShareSnapshotZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSnapshotZoneArrayOutput) +} + +type IsShareSnapshotZoneOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSnapshotZone)(nil)).Elem() +} + +func (o IsShareSnapshotZoneOutput) ToIsShareSnapshotZoneOutput() IsShareSnapshotZoneOutput { + return o +} + +func (o IsShareSnapshotZoneOutput) ToIsShareSnapshotZoneOutputWithContext(ctx context.Context) IsShareSnapshotZoneOutput { + return o +} + +// The URL for this zone. +func (o IsShareSnapshotZoneOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotZone) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this zone. +func (o IsShareSnapshotZoneOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSnapshotZone) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsShareSnapshotZoneArrayOutput struct{ *pulumi.OutputState } + +func (IsShareSnapshotZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSnapshotZone)(nil)).Elem() +} + +func (o IsShareSnapshotZoneArrayOutput) ToIsShareSnapshotZoneArrayOutput() IsShareSnapshotZoneArrayOutput { + return o +} + +func (o IsShareSnapshotZoneArrayOutput) ToIsShareSnapshotZoneArrayOutputWithContext(ctx context.Context) IsShareSnapshotZoneArrayOutput { + return o +} + +func (o IsShareSnapshotZoneArrayOutput) Index(i pulumi.IntInput) IsShareSnapshotZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareSnapshotZone { + return vs[0].([]IsShareSnapshotZone)[vs[1].(int)] + }).(IsShareSnapshotZoneOutput) +} + +type IsShareSourceSnapshot struct { + // The CRN for this share snapshot. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsShareSourceSnapshotDeleted `pulumi:"deleteds"` + // The URL for this share snapshot. + Href *string `pulumi:"href"` + // The unique identifier for this share snapshot. + Id *string `pulumi:"id"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsShareSourceSnapshotInput is an input type that accepts IsShareSourceSnapshotArgs and IsShareSourceSnapshotOutput values. +// You can construct a concrete instance of `IsShareSourceSnapshotInput` via: +// +// IsShareSourceSnapshotArgs{...} +type IsShareSourceSnapshotInput interface { + pulumi.Input + + ToIsShareSourceSnapshotOutput() IsShareSourceSnapshotOutput + ToIsShareSourceSnapshotOutputWithContext(context.Context) IsShareSourceSnapshotOutput +} + +type IsShareSourceSnapshotArgs struct { + // The CRN for this share snapshot. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsShareSourceSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share snapshot. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this share snapshot. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsShareSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSourceSnapshot)(nil)).Elem() +} + +func (i IsShareSourceSnapshotArgs) ToIsShareSourceSnapshotOutput() IsShareSourceSnapshotOutput { + return i.ToIsShareSourceSnapshotOutputWithContext(context.Background()) +} + +func (i IsShareSourceSnapshotArgs) ToIsShareSourceSnapshotOutputWithContext(ctx context.Context) IsShareSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSourceSnapshotOutput) +} + +func (i IsShareSourceSnapshotArgs) ToIsShareSourceSnapshotPtrOutput() IsShareSourceSnapshotPtrOutput { + return i.ToIsShareSourceSnapshotPtrOutputWithContext(context.Background()) +} + +func (i IsShareSourceSnapshotArgs) ToIsShareSourceSnapshotPtrOutputWithContext(ctx context.Context) IsShareSourceSnapshotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSourceSnapshotOutput).ToIsShareSourceSnapshotPtrOutputWithContext(ctx) +} + +// IsShareSourceSnapshotPtrInput is an input type that accepts IsShareSourceSnapshotArgs, IsShareSourceSnapshotPtr and IsShareSourceSnapshotPtrOutput values. +// You can construct a concrete instance of `IsShareSourceSnapshotPtrInput` via: +// +// IsShareSourceSnapshotArgs{...} +// +// or: +// +// nil +type IsShareSourceSnapshotPtrInput interface { + pulumi.Input + + ToIsShareSourceSnapshotPtrOutput() IsShareSourceSnapshotPtrOutput + ToIsShareSourceSnapshotPtrOutputWithContext(context.Context) IsShareSourceSnapshotPtrOutput +} + +type isShareSourceSnapshotPtrType IsShareSourceSnapshotArgs + +func IsShareSourceSnapshotPtr(v *IsShareSourceSnapshotArgs) IsShareSourceSnapshotPtrInput { + return (*isShareSourceSnapshotPtrType)(v) +} + +func (*isShareSourceSnapshotPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareSourceSnapshot)(nil)).Elem() +} + +func (i *isShareSourceSnapshotPtrType) ToIsShareSourceSnapshotPtrOutput() IsShareSourceSnapshotPtrOutput { + return i.ToIsShareSourceSnapshotPtrOutputWithContext(context.Background()) +} + +func (i *isShareSourceSnapshotPtrType) ToIsShareSourceSnapshotPtrOutputWithContext(ctx context.Context) IsShareSourceSnapshotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSourceSnapshotPtrOutput) +} + +type IsShareSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (IsShareSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSourceSnapshot)(nil)).Elem() +} + +func (o IsShareSourceSnapshotOutput) ToIsShareSourceSnapshotOutput() IsShareSourceSnapshotOutput { + return o +} + +func (o IsShareSourceSnapshotOutput) ToIsShareSourceSnapshotOutputWithContext(ctx context.Context) IsShareSourceSnapshotOutput { + return o +} + +func (o IsShareSourceSnapshotOutput) ToIsShareSourceSnapshotPtrOutput() IsShareSourceSnapshotPtrOutput { + return o.ToIsShareSourceSnapshotPtrOutputWithContext(context.Background()) +} + +func (o IsShareSourceSnapshotOutput) ToIsShareSourceSnapshotPtrOutputWithContext(ctx context.Context) IsShareSourceSnapshotPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsShareSourceSnapshot) *IsShareSourceSnapshot { + return &v + }).(IsShareSourceSnapshotPtrOutput) +} + +// The CRN for this share snapshot. +func (o IsShareSourceSnapshotOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSourceSnapshot) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsShareSourceSnapshotOutput) Deleteds() IsShareSourceSnapshotDeletedArrayOutput { + return o.ApplyT(func(v IsShareSourceSnapshot) []IsShareSourceSnapshotDeleted { return v.Deleteds }).(IsShareSourceSnapshotDeletedArrayOutput) +} + +// The URL for this share snapshot. +func (o IsShareSourceSnapshotOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSourceSnapshot) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this share snapshot. +func (o IsShareSourceSnapshotOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSourceSnapshot) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this share snapshot. The name is unique across all snapshots for the file share. +func (o IsShareSourceSnapshotOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSourceSnapshot) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsShareSourceSnapshotOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSourceSnapshot) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsShareSourceSnapshotPtrOutput struct{ *pulumi.OutputState } + +func (IsShareSourceSnapshotPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsShareSourceSnapshot)(nil)).Elem() +} + +func (o IsShareSourceSnapshotPtrOutput) ToIsShareSourceSnapshotPtrOutput() IsShareSourceSnapshotPtrOutput { + return o +} + +func (o IsShareSourceSnapshotPtrOutput) ToIsShareSourceSnapshotPtrOutputWithContext(ctx context.Context) IsShareSourceSnapshotPtrOutput { + return o +} + +func (o IsShareSourceSnapshotPtrOutput) Elem() IsShareSourceSnapshotOutput { + return o.ApplyT(func(v *IsShareSourceSnapshot) IsShareSourceSnapshot { + if v != nil { + return *v + } + var ret IsShareSourceSnapshot + return ret + }).(IsShareSourceSnapshotOutput) +} + +// The CRN for this share snapshot. +func (o IsShareSourceSnapshotPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareSourceSnapshot) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsShareSourceSnapshotPtrOutput) Deleteds() IsShareSourceSnapshotDeletedArrayOutput { + return o.ApplyT(func(v *IsShareSourceSnapshot) []IsShareSourceSnapshotDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsShareSourceSnapshotDeletedArrayOutput) +} + +// The URL for this share snapshot. +func (o IsShareSourceSnapshotPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareSourceSnapshot) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this share snapshot. +func (o IsShareSourceSnapshotPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareSourceSnapshot) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this share snapshot. The name is unique across all snapshots for the file share. +func (o IsShareSourceSnapshotPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareSourceSnapshot) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsShareSourceSnapshotPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsShareSourceSnapshot) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsShareSourceSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsShareSourceSnapshotDeletedInput is an input type that accepts IsShareSourceSnapshotDeletedArgs and IsShareSourceSnapshotDeletedOutput values. +// You can construct a concrete instance of `IsShareSourceSnapshotDeletedInput` via: +// +// IsShareSourceSnapshotDeletedArgs{...} +type IsShareSourceSnapshotDeletedInput interface { + pulumi.Input + + ToIsShareSourceSnapshotDeletedOutput() IsShareSourceSnapshotDeletedOutput + ToIsShareSourceSnapshotDeletedOutputWithContext(context.Context) IsShareSourceSnapshotDeletedOutput +} + +type IsShareSourceSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsShareSourceSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (i IsShareSourceSnapshotDeletedArgs) ToIsShareSourceSnapshotDeletedOutput() IsShareSourceSnapshotDeletedOutput { + return i.ToIsShareSourceSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i IsShareSourceSnapshotDeletedArgs) ToIsShareSourceSnapshotDeletedOutputWithContext(ctx context.Context) IsShareSourceSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSourceSnapshotDeletedOutput) +} + +// IsShareSourceSnapshotDeletedArrayInput is an input type that accepts IsShareSourceSnapshotDeletedArray and IsShareSourceSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `IsShareSourceSnapshotDeletedArrayInput` via: +// +// IsShareSourceSnapshotDeletedArray{ IsShareSourceSnapshotDeletedArgs{...} } +type IsShareSourceSnapshotDeletedArrayInput interface { + pulumi.Input + + ToIsShareSourceSnapshotDeletedArrayOutput() IsShareSourceSnapshotDeletedArrayOutput + ToIsShareSourceSnapshotDeletedArrayOutputWithContext(context.Context) IsShareSourceSnapshotDeletedArrayOutput +} + +type IsShareSourceSnapshotDeletedArray []IsShareSourceSnapshotDeletedInput + +func (IsShareSourceSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (i IsShareSourceSnapshotDeletedArray) ToIsShareSourceSnapshotDeletedArrayOutput() IsShareSourceSnapshotDeletedArrayOutput { + return i.ToIsShareSourceSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsShareSourceSnapshotDeletedArray) ToIsShareSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) IsShareSourceSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsShareSourceSnapshotDeletedArrayOutput) +} + +type IsShareSourceSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (IsShareSourceSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (o IsShareSourceSnapshotDeletedOutput) ToIsShareSourceSnapshotDeletedOutput() IsShareSourceSnapshotDeletedOutput { + return o +} + +func (o IsShareSourceSnapshotDeletedOutput) ToIsShareSourceSnapshotDeletedOutputWithContext(ctx context.Context) IsShareSourceSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsShareSourceSnapshotDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsShareSourceSnapshotDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsShareSourceSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsShareSourceSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (o IsShareSourceSnapshotDeletedArrayOutput) ToIsShareSourceSnapshotDeletedArrayOutput() IsShareSourceSnapshotDeletedArrayOutput { + return o +} + +func (o IsShareSourceSnapshotDeletedArrayOutput) ToIsShareSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) IsShareSourceSnapshotDeletedArrayOutput { + return o +} + +func (o IsShareSourceSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) IsShareSourceSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsShareSourceSnapshotDeleted { + return vs[0].([]IsShareSourceSnapshotDeleted)[vs[1].(int)] + }).(IsShareSourceSnapshotDeletedOutput) +} + +type IsSnapshotAllowedUse struct { + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. + ApiVersion *string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by a virtual server instance provisioned using this image. + Instance *string `pulumi:"instance"` +} + +// IsSnapshotAllowedUseInput is an input type that accepts IsSnapshotAllowedUseArgs and IsSnapshotAllowedUseOutput values. +// You can construct a concrete instance of `IsSnapshotAllowedUseInput` via: +// +// IsSnapshotAllowedUseArgs{...} +type IsSnapshotAllowedUseInput interface { + pulumi.Input + + ToIsSnapshotAllowedUseOutput() IsSnapshotAllowedUseOutput + ToIsSnapshotAllowedUseOutputWithContext(context.Context) IsSnapshotAllowedUseOutput +} + +type IsSnapshotAllowedUseArgs struct { + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by a virtual server instance provisioned using this image. + Instance pulumi.StringPtrInput `pulumi:"instance"` +} + +func (IsSnapshotAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotAllowedUse)(nil)).Elem() +} + +func (i IsSnapshotAllowedUseArgs) ToIsSnapshotAllowedUseOutput() IsSnapshotAllowedUseOutput { + return i.ToIsSnapshotAllowedUseOutputWithContext(context.Background()) +} + +func (i IsSnapshotAllowedUseArgs) ToIsSnapshotAllowedUseOutputWithContext(ctx context.Context) IsSnapshotAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotAllowedUseOutput) +} + +func (i IsSnapshotAllowedUseArgs) ToIsSnapshotAllowedUsePtrOutput() IsSnapshotAllowedUsePtrOutput { + return i.ToIsSnapshotAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i IsSnapshotAllowedUseArgs) ToIsSnapshotAllowedUsePtrOutputWithContext(ctx context.Context) IsSnapshotAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotAllowedUseOutput).ToIsSnapshotAllowedUsePtrOutputWithContext(ctx) +} + +// IsSnapshotAllowedUsePtrInput is an input type that accepts IsSnapshotAllowedUseArgs, IsSnapshotAllowedUsePtr and IsSnapshotAllowedUsePtrOutput values. +// You can construct a concrete instance of `IsSnapshotAllowedUsePtrInput` via: +// +// IsSnapshotAllowedUseArgs{...} +// +// or: +// +// nil +type IsSnapshotAllowedUsePtrInput interface { + pulumi.Input + + ToIsSnapshotAllowedUsePtrOutput() IsSnapshotAllowedUsePtrOutput + ToIsSnapshotAllowedUsePtrOutputWithContext(context.Context) IsSnapshotAllowedUsePtrOutput +} + +type isSnapshotAllowedUsePtrType IsSnapshotAllowedUseArgs + +func IsSnapshotAllowedUsePtr(v *IsSnapshotAllowedUseArgs) IsSnapshotAllowedUsePtrInput { + return (*isSnapshotAllowedUsePtrType)(v) +} + +func (*isSnapshotAllowedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsSnapshotAllowedUse)(nil)).Elem() +} + +func (i *isSnapshotAllowedUsePtrType) ToIsSnapshotAllowedUsePtrOutput() IsSnapshotAllowedUsePtrOutput { + return i.ToIsSnapshotAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i *isSnapshotAllowedUsePtrType) ToIsSnapshotAllowedUsePtrOutputWithContext(ctx context.Context) IsSnapshotAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotAllowedUsePtrOutput) +} + +type IsSnapshotAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsSnapshotAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotAllowedUse)(nil)).Elem() +} + +func (o IsSnapshotAllowedUseOutput) ToIsSnapshotAllowedUseOutput() IsSnapshotAllowedUseOutput { + return o +} + +func (o IsSnapshotAllowedUseOutput) ToIsSnapshotAllowedUseOutputWithContext(ctx context.Context) IsSnapshotAllowedUseOutput { + return o +} + +func (o IsSnapshotAllowedUseOutput) ToIsSnapshotAllowedUsePtrOutput() IsSnapshotAllowedUsePtrOutput { + return o.ToIsSnapshotAllowedUsePtrOutputWithContext(context.Background()) +} + +func (o IsSnapshotAllowedUseOutput) ToIsSnapshotAllowedUsePtrOutputWithContext(ctx context.Context) IsSnapshotAllowedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsSnapshotAllowedUse) *IsSnapshotAllowedUse { + return &v + }).(IsSnapshotAllowedUsePtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. +func (o IsSnapshotAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. +func (o IsSnapshotAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by a virtual server instance provisioned using this image. +func (o IsSnapshotAllowedUseOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotAllowedUse) *string { return v.Instance }).(pulumi.StringPtrOutput) +} + +type IsSnapshotAllowedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsSnapshotAllowedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsSnapshotAllowedUse)(nil)).Elem() +} + +func (o IsSnapshotAllowedUsePtrOutput) ToIsSnapshotAllowedUsePtrOutput() IsSnapshotAllowedUsePtrOutput { + return o +} + +func (o IsSnapshotAllowedUsePtrOutput) ToIsSnapshotAllowedUsePtrOutputWithContext(ctx context.Context) IsSnapshotAllowedUsePtrOutput { + return o +} + +func (o IsSnapshotAllowedUsePtrOutput) Elem() IsSnapshotAllowedUseOutput { + return o.ApplyT(func(v *IsSnapshotAllowedUse) IsSnapshotAllowedUse { + if v != nil { + return *v + } + var ret IsSnapshotAllowedUse + return ret + }).(IsSnapshotAllowedUseOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. +func (o IsSnapshotAllowedUsePtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsSnapshotAllowedUse) *string { + if v == nil { + return nil + } + return v.ApiVersion + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. +func (o IsSnapshotAllowedUsePtrOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsSnapshotAllowedUse) *string { + if v == nil { + return nil + } + return v.BareMetalServer + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by a virtual server instance provisioned using this image. +func (o IsSnapshotAllowedUsePtrOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsSnapshotAllowedUse) *string { + if v == nil { + return nil + } + return v.Instance + }).(pulumi.StringPtrOutput) +} + +type IsSnapshotBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []IsSnapshotBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href *string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id *string `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name *string `pulumi:"name"` + // The type of resource referenced + ResourceType *string `pulumi:"resourceType"` +} + +// IsSnapshotBackupPolicyPlanInput is an input type that accepts IsSnapshotBackupPolicyPlanArgs and IsSnapshotBackupPolicyPlanOutput values. +// You can construct a concrete instance of `IsSnapshotBackupPolicyPlanInput` via: +// +// IsSnapshotBackupPolicyPlanArgs{...} +type IsSnapshotBackupPolicyPlanInput interface { + pulumi.Input + + ToIsSnapshotBackupPolicyPlanOutput() IsSnapshotBackupPolicyPlanOutput + ToIsSnapshotBackupPolicyPlanOutputWithContext(context.Context) IsSnapshotBackupPolicyPlanOutput +} + +type IsSnapshotBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds IsSnapshotBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringPtrInput `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name pulumi.StringPtrInput `pulumi:"name"` + // The type of resource referenced + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsSnapshotBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i IsSnapshotBackupPolicyPlanArgs) ToIsSnapshotBackupPolicyPlanOutput() IsSnapshotBackupPolicyPlanOutput { + return i.ToIsSnapshotBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i IsSnapshotBackupPolicyPlanArgs) ToIsSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) IsSnapshotBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotBackupPolicyPlanOutput) +} + +// IsSnapshotBackupPolicyPlanArrayInput is an input type that accepts IsSnapshotBackupPolicyPlanArray and IsSnapshotBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `IsSnapshotBackupPolicyPlanArrayInput` via: +// +// IsSnapshotBackupPolicyPlanArray{ IsSnapshotBackupPolicyPlanArgs{...} } +type IsSnapshotBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToIsSnapshotBackupPolicyPlanArrayOutput() IsSnapshotBackupPolicyPlanArrayOutput + ToIsSnapshotBackupPolicyPlanArrayOutputWithContext(context.Context) IsSnapshotBackupPolicyPlanArrayOutput +} + +type IsSnapshotBackupPolicyPlanArray []IsSnapshotBackupPolicyPlanInput + +func (IsSnapshotBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i IsSnapshotBackupPolicyPlanArray) ToIsSnapshotBackupPolicyPlanArrayOutput() IsSnapshotBackupPolicyPlanArrayOutput { + return i.ToIsSnapshotBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotBackupPolicyPlanArray) ToIsSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) IsSnapshotBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotBackupPolicyPlanArrayOutput) +} + +type IsSnapshotBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (IsSnapshotBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o IsSnapshotBackupPolicyPlanOutput) ToIsSnapshotBackupPolicyPlanOutput() IsSnapshotBackupPolicyPlanOutput { + return o +} + +func (o IsSnapshotBackupPolicyPlanOutput) ToIsSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) IsSnapshotBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o IsSnapshotBackupPolicyPlanOutput) Deleteds() IsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v IsSnapshotBackupPolicyPlan) []IsSnapshotBackupPolicyPlanDeleted { return v.Deleteds }).(IsSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o IsSnapshotBackupPolicyPlanOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotBackupPolicyPlan) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this backup policy plan. +func (o IsSnapshotBackupPolicyPlanOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotBackupPolicyPlan) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this backup policy plan. +func (o IsSnapshotBackupPolicyPlanOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotBackupPolicyPlan) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The type of resource referenced +func (o IsSnapshotBackupPolicyPlanOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotBackupPolicyPlan) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsSnapshotBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o IsSnapshotBackupPolicyPlanArrayOutput) ToIsSnapshotBackupPolicyPlanArrayOutput() IsSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o IsSnapshotBackupPolicyPlanArrayOutput) ToIsSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) IsSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o IsSnapshotBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) IsSnapshotBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotBackupPolicyPlan { + return vs[0].([]IsSnapshotBackupPolicyPlan)[vs[1].(int)] + }).(IsSnapshotBackupPolicyPlanOutput) +} + +type IsSnapshotBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsSnapshotBackupPolicyPlanDeletedInput is an input type that accepts IsSnapshotBackupPolicyPlanDeletedArgs and IsSnapshotBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `IsSnapshotBackupPolicyPlanDeletedInput` via: +// +// IsSnapshotBackupPolicyPlanDeletedArgs{...} +type IsSnapshotBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToIsSnapshotBackupPolicyPlanDeletedOutput() IsSnapshotBackupPolicyPlanDeletedOutput + ToIsSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Context) IsSnapshotBackupPolicyPlanDeletedOutput +} + +type IsSnapshotBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsSnapshotBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i IsSnapshotBackupPolicyPlanDeletedArgs) ToIsSnapshotBackupPolicyPlanDeletedOutput() IsSnapshotBackupPolicyPlanDeletedOutput { + return i.ToIsSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i IsSnapshotBackupPolicyPlanDeletedArgs) ToIsSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) IsSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotBackupPolicyPlanDeletedOutput) +} + +// IsSnapshotBackupPolicyPlanDeletedArrayInput is an input type that accepts IsSnapshotBackupPolicyPlanDeletedArray and IsSnapshotBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `IsSnapshotBackupPolicyPlanDeletedArrayInput` via: +// +// IsSnapshotBackupPolicyPlanDeletedArray{ IsSnapshotBackupPolicyPlanDeletedArgs{...} } +type IsSnapshotBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToIsSnapshotBackupPolicyPlanDeletedArrayOutput() IsSnapshotBackupPolicyPlanDeletedArrayOutput + ToIsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) IsSnapshotBackupPolicyPlanDeletedArrayOutput +} + +type IsSnapshotBackupPolicyPlanDeletedArray []IsSnapshotBackupPolicyPlanDeletedInput + +func (IsSnapshotBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i IsSnapshotBackupPolicyPlanDeletedArray) ToIsSnapshotBackupPolicyPlanDeletedArrayOutput() IsSnapshotBackupPolicyPlanDeletedArrayOutput { + return i.ToIsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotBackupPolicyPlanDeletedArray) ToIsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +type IsSnapshotBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (IsSnapshotBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o IsSnapshotBackupPolicyPlanDeletedOutput) ToIsSnapshotBackupPolicyPlanDeletedOutput() IsSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +func (o IsSnapshotBackupPolicyPlanDeletedOutput) ToIsSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) IsSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsSnapshotBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotBackupPolicyPlanDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsSnapshotBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o IsSnapshotBackupPolicyPlanDeletedArrayOutput) ToIsSnapshotBackupPolicyPlanDeletedArrayOutput() IsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o IsSnapshotBackupPolicyPlanDeletedArrayOutput) ToIsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o IsSnapshotBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) IsSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotBackupPolicyPlanDeleted { + return vs[0].([]IsSnapshotBackupPolicyPlanDeleted)[vs[1].(int)] + }).(IsSnapshotBackupPolicyPlanDeletedOutput) +} + +type IsSnapshotCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []IsSnapshotCatalogOfferingDeleted `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn *string `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn *string `pulumi:"versionCrn"` +} + +// IsSnapshotCatalogOfferingInput is an input type that accepts IsSnapshotCatalogOfferingArgs and IsSnapshotCatalogOfferingOutput values. +// You can construct a concrete instance of `IsSnapshotCatalogOfferingInput` via: +// +// IsSnapshotCatalogOfferingArgs{...} +type IsSnapshotCatalogOfferingInput interface { + pulumi.Input + + ToIsSnapshotCatalogOfferingOutput() IsSnapshotCatalogOfferingOutput + ToIsSnapshotCatalogOfferingOutputWithContext(context.Context) IsSnapshotCatalogOfferingOutput +} + +type IsSnapshotCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds IsSnapshotCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringPtrInput `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn pulumi.StringPtrInput `pulumi:"versionCrn"` +} + +func (IsSnapshotCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCatalogOffering)(nil)).Elem() +} + +func (i IsSnapshotCatalogOfferingArgs) ToIsSnapshotCatalogOfferingOutput() IsSnapshotCatalogOfferingOutput { + return i.ToIsSnapshotCatalogOfferingOutputWithContext(context.Background()) +} + +func (i IsSnapshotCatalogOfferingArgs) ToIsSnapshotCatalogOfferingOutputWithContext(ctx context.Context) IsSnapshotCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCatalogOfferingOutput) +} + +// IsSnapshotCatalogOfferingArrayInput is an input type that accepts IsSnapshotCatalogOfferingArray and IsSnapshotCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `IsSnapshotCatalogOfferingArrayInput` via: +// +// IsSnapshotCatalogOfferingArray{ IsSnapshotCatalogOfferingArgs{...} } +type IsSnapshotCatalogOfferingArrayInput interface { + pulumi.Input + + ToIsSnapshotCatalogOfferingArrayOutput() IsSnapshotCatalogOfferingArrayOutput + ToIsSnapshotCatalogOfferingArrayOutputWithContext(context.Context) IsSnapshotCatalogOfferingArrayOutput +} + +type IsSnapshotCatalogOfferingArray []IsSnapshotCatalogOfferingInput + +func (IsSnapshotCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCatalogOffering)(nil)).Elem() +} + +func (i IsSnapshotCatalogOfferingArray) ToIsSnapshotCatalogOfferingArrayOutput() IsSnapshotCatalogOfferingArrayOutput { + return i.ToIsSnapshotCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotCatalogOfferingArray) ToIsSnapshotCatalogOfferingArrayOutputWithContext(ctx context.Context) IsSnapshotCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCatalogOfferingArrayOutput) +} + +type IsSnapshotCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCatalogOffering)(nil)).Elem() +} + +func (o IsSnapshotCatalogOfferingOutput) ToIsSnapshotCatalogOfferingOutput() IsSnapshotCatalogOfferingOutput { + return o +} + +func (o IsSnapshotCatalogOfferingOutput) ToIsSnapshotCatalogOfferingOutputWithContext(ctx context.Context) IsSnapshotCatalogOfferingOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o IsSnapshotCatalogOfferingOutput) Deleteds() IsSnapshotCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v IsSnapshotCatalogOffering) []IsSnapshotCatalogOfferingDeleted { return v.Deleteds }).(IsSnapshotCatalogOfferingDeletedArrayOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o IsSnapshotCatalogOfferingOutput) PlanCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCatalogOffering) *string { return v.PlanCrn }).(pulumi.StringPtrOutput) +} + +// The CRN for this version of a catalog offering +func (o IsSnapshotCatalogOfferingOutput) VersionCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCatalogOffering) *string { return v.VersionCrn }).(pulumi.StringPtrOutput) +} + +type IsSnapshotCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCatalogOffering)(nil)).Elem() +} + +func (o IsSnapshotCatalogOfferingArrayOutput) ToIsSnapshotCatalogOfferingArrayOutput() IsSnapshotCatalogOfferingArrayOutput { + return o +} + +func (o IsSnapshotCatalogOfferingArrayOutput) ToIsSnapshotCatalogOfferingArrayOutputWithContext(ctx context.Context) IsSnapshotCatalogOfferingArrayOutput { + return o +} + +func (o IsSnapshotCatalogOfferingArrayOutput) Index(i pulumi.IntInput) IsSnapshotCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotCatalogOffering { + return vs[0].([]IsSnapshotCatalogOffering)[vs[1].(int)] + }).(IsSnapshotCatalogOfferingOutput) +} + +type IsSnapshotCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsSnapshotCatalogOfferingDeletedInput is an input type that accepts IsSnapshotCatalogOfferingDeletedArgs and IsSnapshotCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `IsSnapshotCatalogOfferingDeletedInput` via: +// +// IsSnapshotCatalogOfferingDeletedArgs{...} +type IsSnapshotCatalogOfferingDeletedInput interface { + pulumi.Input + + ToIsSnapshotCatalogOfferingDeletedOutput() IsSnapshotCatalogOfferingDeletedOutput + ToIsSnapshotCatalogOfferingDeletedOutputWithContext(context.Context) IsSnapshotCatalogOfferingDeletedOutput +} + +type IsSnapshotCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsSnapshotCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (i IsSnapshotCatalogOfferingDeletedArgs) ToIsSnapshotCatalogOfferingDeletedOutput() IsSnapshotCatalogOfferingDeletedOutput { + return i.ToIsSnapshotCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i IsSnapshotCatalogOfferingDeletedArgs) ToIsSnapshotCatalogOfferingDeletedOutputWithContext(ctx context.Context) IsSnapshotCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCatalogOfferingDeletedOutput) +} + +// IsSnapshotCatalogOfferingDeletedArrayInput is an input type that accepts IsSnapshotCatalogOfferingDeletedArray and IsSnapshotCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `IsSnapshotCatalogOfferingDeletedArrayInput` via: +// +// IsSnapshotCatalogOfferingDeletedArray{ IsSnapshotCatalogOfferingDeletedArgs{...} } +type IsSnapshotCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToIsSnapshotCatalogOfferingDeletedArrayOutput() IsSnapshotCatalogOfferingDeletedArrayOutput + ToIsSnapshotCatalogOfferingDeletedArrayOutputWithContext(context.Context) IsSnapshotCatalogOfferingDeletedArrayOutput +} + +type IsSnapshotCatalogOfferingDeletedArray []IsSnapshotCatalogOfferingDeletedInput + +func (IsSnapshotCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (i IsSnapshotCatalogOfferingDeletedArray) ToIsSnapshotCatalogOfferingDeletedArrayOutput() IsSnapshotCatalogOfferingDeletedArrayOutput { + return i.ToIsSnapshotCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotCatalogOfferingDeletedArray) ToIsSnapshotCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCatalogOfferingDeletedArrayOutput) +} + +type IsSnapshotCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (o IsSnapshotCatalogOfferingDeletedOutput) ToIsSnapshotCatalogOfferingDeletedOutput() IsSnapshotCatalogOfferingDeletedOutput { + return o +} + +func (o IsSnapshotCatalogOfferingDeletedOutput) ToIsSnapshotCatalogOfferingDeletedOutputWithContext(ctx context.Context) IsSnapshotCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsSnapshotCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCatalogOfferingDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsSnapshotCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (o IsSnapshotCatalogOfferingDeletedArrayOutput) ToIsSnapshotCatalogOfferingDeletedArrayOutput() IsSnapshotCatalogOfferingDeletedArrayOutput { + return o +} + +func (o IsSnapshotCatalogOfferingDeletedArrayOutput) ToIsSnapshotCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotCatalogOfferingDeletedArrayOutput { + return o +} + +func (o IsSnapshotCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) IsSnapshotCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotCatalogOfferingDeleted { + return vs[0].([]IsSnapshotCatalogOfferingDeleted)[vs[1].(int)] + }).(IsSnapshotCatalogOfferingDeletedOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsSnapshotConsistencyGroupBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href *string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id *string `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name *string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []IsSnapshotConsistencyGroupBackupPolicyPlanRemote `pulumi:"remotes"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsSnapshotConsistencyGroupBackupPolicyPlanInput is an input type that accepts IsSnapshotConsistencyGroupBackupPolicyPlanArgs and IsSnapshotConsistencyGroupBackupPolicyPlanOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupBackupPolicyPlanInput` via: +// +// IsSnapshotConsistencyGroupBackupPolicyPlanArgs{...} +type IsSnapshotConsistencyGroupBackupPolicyPlanInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupBackupPolicyPlanOutput() IsSnapshotConsistencyGroupBackupPolicyPlanOutput + ToIsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanOutput +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name pulumi.StringPtrInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsSnapshotConsistencyGroupBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanArgs) ToIsSnapshotConsistencyGroupBackupPolicyPlanOutput() IsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return i.ToIsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanArgs) ToIsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupBackupPolicyPlanOutput) +} + +// IsSnapshotConsistencyGroupBackupPolicyPlanArrayInput is an input type that accepts IsSnapshotConsistencyGroupBackupPolicyPlanArray and IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupBackupPolicyPlanArrayInput` via: +// +// IsSnapshotConsistencyGroupBackupPolicyPlanArray{ IsSnapshotConsistencyGroupBackupPolicyPlanArgs{...} } +type IsSnapshotConsistencyGroupBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput + ToIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanArray []IsSnapshotConsistencyGroupBackupPolicyPlanInput + +func (IsSnapshotConsistencyGroupBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanArray) ToIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return i.ToIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanArray) ToIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanOutput() IsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanOutput) Deleteds() IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlan) []IsSnapshotConsistencyGroupBackupPolicyPlanDeleted { + return v.Deleteds + }).(IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlan) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this backup policy plan. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlan) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this backup policy plan. The name is unique across all plans in the backup policy. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlan) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanOutput) Remotes() IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlan) []IsSnapshotConsistencyGroupBackupPolicyPlanRemote { + return v.Remotes + }).(IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) +} + +// The resource type. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlan) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) IsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotConsistencyGroupBackupPolicyPlan { + return vs[0].([]IsSnapshotConsistencyGroupBackupPolicyPlan)[vs[1].(int)] + }).(IsSnapshotConsistencyGroupBackupPolicyPlanOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// IsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput is an input type that accepts IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs and IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput` via: +// +// IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{...} +type IsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput + ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return i.ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) +} + +// IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput is an input type that accepts IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray and IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput` via: +// +// IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray{ IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{...} } +type IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput + ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray []IsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput + +func (IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return i.ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotConsistencyGroupBackupPolicyPlanDeleted { + return vs[0].([]IsSnapshotConsistencyGroupBackupPolicyPlanDeleted)[vs[1].(int)] + }).(IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanRemote struct { + // The URL for this region. + Href *string `pulumi:"href"` + // The globally unique name for this region. + Name *string `pulumi:"name"` +} + +// IsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput is an input type that accepts IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs and IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput` via: +// +// IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{...} +type IsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput + ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs struct { + // The URL for this region. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return i.ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) +} + +// IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput is an input type that accepts IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray and IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput` via: +// +// IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray{ IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{...} } +type IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput + ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray []IsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput + +func (IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return i.ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return o +} + +// The URL for this region. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlanRemote) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupBackupPolicyPlanRemote) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ToIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) Index(i pulumi.IntInput) IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotConsistencyGroupBackupPolicyPlanRemote { + return vs[0].([]IsSnapshotConsistencyGroupBackupPolicyPlanRemote)[vs[1].(int)] + }).(IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) +} + +type IsSnapshotConsistencyGroupSnapshot struct { + // The name for this snapshot. The name is unique across all snapshots in the region. + Name *string `pulumi:"name"` + // The volume to create this snapshot from. + SourceVolume string `pulumi:"sourceVolume"` + // User Tags for the snapshot + Tags []string `pulumi:"tags"` +} + +// IsSnapshotConsistencyGroupSnapshotInput is an input type that accepts IsSnapshotConsistencyGroupSnapshotArgs and IsSnapshotConsistencyGroupSnapshotOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupSnapshotInput` via: +// +// IsSnapshotConsistencyGroupSnapshotArgs{...} +type IsSnapshotConsistencyGroupSnapshotInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupSnapshotOutput() IsSnapshotConsistencyGroupSnapshotOutput + ToIsSnapshotConsistencyGroupSnapshotOutputWithContext(context.Context) IsSnapshotConsistencyGroupSnapshotOutput +} + +type IsSnapshotConsistencyGroupSnapshotArgs struct { + // The name for this snapshot. The name is unique across all snapshots in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The volume to create this snapshot from. + SourceVolume pulumi.StringInput `pulumi:"sourceVolume"` + // User Tags for the snapshot + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (IsSnapshotConsistencyGroupSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupSnapshotArgs) ToIsSnapshotConsistencyGroupSnapshotOutput() IsSnapshotConsistencyGroupSnapshotOutput { + return i.ToIsSnapshotConsistencyGroupSnapshotOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupSnapshotArgs) ToIsSnapshotConsistencyGroupSnapshotOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupSnapshotOutput) +} + +// IsSnapshotConsistencyGroupSnapshotArrayInput is an input type that accepts IsSnapshotConsistencyGroupSnapshotArray and IsSnapshotConsistencyGroupSnapshotArrayOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupSnapshotArrayInput` via: +// +// IsSnapshotConsistencyGroupSnapshotArray{ IsSnapshotConsistencyGroupSnapshotArgs{...} } +type IsSnapshotConsistencyGroupSnapshotArrayInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupSnapshotArrayOutput() IsSnapshotConsistencyGroupSnapshotArrayOutput + ToIsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(context.Context) IsSnapshotConsistencyGroupSnapshotArrayOutput +} + +type IsSnapshotConsistencyGroupSnapshotArray []IsSnapshotConsistencyGroupSnapshotInput + +func (IsSnapshotConsistencyGroupSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupSnapshotArray) ToIsSnapshotConsistencyGroupSnapshotArrayOutput() IsSnapshotConsistencyGroupSnapshotArrayOutput { + return i.ToIsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupSnapshotArray) ToIsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupSnapshotArrayOutput) +} + +type IsSnapshotConsistencyGroupSnapshotOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupSnapshotOutput) ToIsSnapshotConsistencyGroupSnapshotOutput() IsSnapshotConsistencyGroupSnapshotOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotOutput) ToIsSnapshotConsistencyGroupSnapshotOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotOutput { + return o +} + +// The name for this snapshot. The name is unique across all snapshots in the region. +func (o IsSnapshotConsistencyGroupSnapshotOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshot) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The volume to create this snapshot from. +func (o IsSnapshotConsistencyGroupSnapshotOutput) SourceVolume() pulumi.StringOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshot) string { return v.SourceVolume }).(pulumi.StringOutput) +} + +// User Tags for the snapshot +func (o IsSnapshotConsistencyGroupSnapshotOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshot) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type IsSnapshotConsistencyGroupSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupSnapshotArrayOutput) ToIsSnapshotConsistencyGroupSnapshotArrayOutput() IsSnapshotConsistencyGroupSnapshotArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotArrayOutput) ToIsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotArrayOutput) Index(i pulumi.IntInput) IsSnapshotConsistencyGroupSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotConsistencyGroupSnapshot { + return vs[0].([]IsSnapshotConsistencyGroupSnapshot)[vs[1].(int)] + }).(IsSnapshotConsistencyGroupSnapshotOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReference struct { + // The CRN of this snapshot. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsSnapshotConsistencyGroupSnapshotReferenceDeleted `pulumi:"deleteds"` + // The URL for this snapshot. + Href *string `pulumi:"href"` + // The unique identifier for this snapshot. + Id *string `pulumi:"id"` + // The name for this snapshot. The name is unique across all snapshots in the region. + Name *string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []IsSnapshotConsistencyGroupSnapshotReferenceRemote `pulumi:"remotes"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsSnapshotConsistencyGroupSnapshotReferenceInput is an input type that accepts IsSnapshotConsistencyGroupSnapshotReferenceArgs and IsSnapshotConsistencyGroupSnapshotReferenceOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupSnapshotReferenceInput` via: +// +// IsSnapshotConsistencyGroupSnapshotReferenceArgs{...} +type IsSnapshotConsistencyGroupSnapshotReferenceInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupSnapshotReferenceOutput() IsSnapshotConsistencyGroupSnapshotReferenceOutput + ToIsSnapshotConsistencyGroupSnapshotReferenceOutputWithContext(context.Context) IsSnapshotConsistencyGroupSnapshotReferenceOutput +} + +type IsSnapshotConsistencyGroupSnapshotReferenceArgs struct { + // The CRN of this snapshot. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this snapshot. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this snapshot. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this snapshot. The name is unique across all snapshots in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsSnapshotConsistencyGroupSnapshotReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReference)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceArgs) ToIsSnapshotConsistencyGroupSnapshotReferenceOutput() IsSnapshotConsistencyGroupSnapshotReferenceOutput { + return i.ToIsSnapshotConsistencyGroupSnapshotReferenceOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceArgs) ToIsSnapshotConsistencyGroupSnapshotReferenceOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupSnapshotReferenceOutput) +} + +// IsSnapshotConsistencyGroupSnapshotReferenceArrayInput is an input type that accepts IsSnapshotConsistencyGroupSnapshotReferenceArray and IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupSnapshotReferenceArrayInput` via: +// +// IsSnapshotConsistencyGroupSnapshotReferenceArray{ IsSnapshotConsistencyGroupSnapshotReferenceArgs{...} } +type IsSnapshotConsistencyGroupSnapshotReferenceArrayInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupSnapshotReferenceArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput + ToIsSnapshotConsistencyGroupSnapshotReferenceArrayOutputWithContext(context.Context) IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput +} + +type IsSnapshotConsistencyGroupSnapshotReferenceArray []IsSnapshotConsistencyGroupSnapshotReferenceInput + +func (IsSnapshotConsistencyGroupSnapshotReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupSnapshotReference)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceArray) ToIsSnapshotConsistencyGroupSnapshotReferenceArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput { + return i.ToIsSnapshotConsistencyGroupSnapshotReferenceArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceArray) ToIsSnapshotConsistencyGroupSnapshotReferenceArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReferenceOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupSnapshotReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReference)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceOutput() IsSnapshotConsistencyGroupSnapshotReferenceOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceOutput { + return o +} + +// The CRN of this snapshot. +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReference) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) Deleteds() IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReference) []IsSnapshotConsistencyGroupSnapshotReferenceDeleted { + return v.Deleteds + }).(IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput) +} + +// The URL for this snapshot. +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReference) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this snapshot. +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReference) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this snapshot. The name is unique across all snapshots in the region. +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReference) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) Remotes() IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReference) []IsSnapshotConsistencyGroupSnapshotReferenceRemote { + return v.Remotes + }).(IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput) +} + +// The resource type. +func (o IsSnapshotConsistencyGroupSnapshotReferenceOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReference) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupSnapshotReference)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput) Index(i pulumi.IntInput) IsSnapshotConsistencyGroupSnapshotReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotConsistencyGroupSnapshotReference { + return vs[0].([]IsSnapshotConsistencyGroupSnapshotReference)[vs[1].(int)] + }).(IsSnapshotConsistencyGroupSnapshotReferenceOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReferenceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsSnapshotConsistencyGroupSnapshotReferenceDeletedInput is an input type that accepts IsSnapshotConsistencyGroupSnapshotReferenceDeletedArgs and IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupSnapshotReferenceDeletedInput` via: +// +// IsSnapshotConsistencyGroupSnapshotReferenceDeletedArgs{...} +type IsSnapshotConsistencyGroupSnapshotReferenceDeletedInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput() IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput + ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedOutputWithContext(context.Context) IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput +} + +type IsSnapshotConsistencyGroupSnapshotReferenceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsSnapshotConsistencyGroupSnapshotReferenceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceDeleted)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceDeletedArgs) ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput() IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput { + return i.ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceDeletedArgs) ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput) +} + +// IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayInput is an input type that accepts IsSnapshotConsistencyGroupSnapshotReferenceDeletedArray and IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayInput` via: +// +// IsSnapshotConsistencyGroupSnapshotReferenceDeletedArray{ IsSnapshotConsistencyGroupSnapshotReferenceDeletedArgs{...} } +type IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput + ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutputWithContext(context.Context) IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput +} + +type IsSnapshotConsistencyGroupSnapshotReferenceDeletedArray []IsSnapshotConsistencyGroupSnapshotReferenceDeletedInput + +func (IsSnapshotConsistencyGroupSnapshotReferenceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupSnapshotReferenceDeleted)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceDeletedArray) ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput { + return i.ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceDeletedArray) ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceDeleted)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput() IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReferenceDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupSnapshotReferenceDeleted)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput) Index(i pulumi.IntInput) IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotConsistencyGroupSnapshotReferenceDeleted { + return vs[0].([]IsSnapshotConsistencyGroupSnapshotReferenceDeleted)[vs[1].(int)] + }).(IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReferenceRemote struct { + // The URL for this region. + Href *string `pulumi:"href"` + // The globally unique name for this region. + Name *string `pulumi:"name"` +} + +// IsSnapshotConsistencyGroupSnapshotReferenceRemoteInput is an input type that accepts IsSnapshotConsistencyGroupSnapshotReferenceRemoteArgs and IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupSnapshotReferenceRemoteInput` via: +// +// IsSnapshotConsistencyGroupSnapshotReferenceRemoteArgs{...} +type IsSnapshotConsistencyGroupSnapshotReferenceRemoteInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput() IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput + ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteOutputWithContext(context.Context) IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput +} + +type IsSnapshotConsistencyGroupSnapshotReferenceRemoteArgs struct { + // The URL for this region. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsSnapshotConsistencyGroupSnapshotReferenceRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceRemote)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceRemoteArgs) ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput() IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput { + return i.ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceRemoteArgs) ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput) +} + +// IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayInput is an input type that accepts IsSnapshotConsistencyGroupSnapshotReferenceRemoteArray and IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput values. +// You can construct a concrete instance of `IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayInput` via: +// +// IsSnapshotConsistencyGroupSnapshotReferenceRemoteArray{ IsSnapshotConsistencyGroupSnapshotReferenceRemoteArgs{...} } +type IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayInput interface { + pulumi.Input + + ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput + ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutputWithContext(context.Context) IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput +} + +type IsSnapshotConsistencyGroupSnapshotReferenceRemoteArray []IsSnapshotConsistencyGroupSnapshotReferenceRemoteInput + +func (IsSnapshotConsistencyGroupSnapshotReferenceRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupSnapshotReferenceRemote)(nil)).Elem() +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceRemoteArray) ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput { + return i.ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotConsistencyGroupSnapshotReferenceRemoteArray) ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceRemote)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput() IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput { + return o +} + +// The URL for this region. +func (o IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReferenceRemote) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotConsistencyGroupSnapshotReferenceRemote) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotConsistencyGroupSnapshotReferenceRemote)(nil)).Elem() +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput() IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput) ToIsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutputWithContext(ctx context.Context) IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput { + return o +} + +func (o IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput) Index(i pulumi.IntInput) IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotConsistencyGroupSnapshotReferenceRemote { + return vs[0].([]IsSnapshotConsistencyGroupSnapshotReferenceRemote)[vs[1].(int)] + }).(IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput) +} + +type IsSnapshotCopy struct { + // The CRN for the copied snapshot. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsSnapshotCopyDeleted `pulumi:"deleteds"` + // The URL for the copied snapshot. + Href *string `pulumi:"href"` + // The unique identifier for the copied snapshot. + Id *string `pulumi:"id"` + // The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. + Name *string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []IsSnapshotCopyRemote `pulumi:"remotes"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsSnapshotCopyInput is an input type that accepts IsSnapshotCopyArgs and IsSnapshotCopyOutput values. +// You can construct a concrete instance of `IsSnapshotCopyInput` via: +// +// IsSnapshotCopyArgs{...} +type IsSnapshotCopyInput interface { + pulumi.Input + + ToIsSnapshotCopyOutput() IsSnapshotCopyOutput + ToIsSnapshotCopyOutputWithContext(context.Context) IsSnapshotCopyOutput +} + +type IsSnapshotCopyArgs struct { + // The CRN for the copied snapshot. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsSnapshotCopyDeletedArrayInput `pulumi:"deleteds"` + // The URL for the copied snapshot. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for the copied snapshot. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. + Name pulumi.StringPtrInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes IsSnapshotCopyRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsSnapshotCopyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCopy)(nil)).Elem() +} + +func (i IsSnapshotCopyArgs) ToIsSnapshotCopyOutput() IsSnapshotCopyOutput { + return i.ToIsSnapshotCopyOutputWithContext(context.Background()) +} + +func (i IsSnapshotCopyArgs) ToIsSnapshotCopyOutputWithContext(ctx context.Context) IsSnapshotCopyOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCopyOutput) +} + +// IsSnapshotCopyArrayInput is an input type that accepts IsSnapshotCopyArray and IsSnapshotCopyArrayOutput values. +// You can construct a concrete instance of `IsSnapshotCopyArrayInput` via: +// +// IsSnapshotCopyArray{ IsSnapshotCopyArgs{...} } +type IsSnapshotCopyArrayInput interface { + pulumi.Input + + ToIsSnapshotCopyArrayOutput() IsSnapshotCopyArrayOutput + ToIsSnapshotCopyArrayOutputWithContext(context.Context) IsSnapshotCopyArrayOutput +} + +type IsSnapshotCopyArray []IsSnapshotCopyInput + +func (IsSnapshotCopyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCopy)(nil)).Elem() +} + +func (i IsSnapshotCopyArray) ToIsSnapshotCopyArrayOutput() IsSnapshotCopyArrayOutput { + return i.ToIsSnapshotCopyArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotCopyArray) ToIsSnapshotCopyArrayOutputWithContext(ctx context.Context) IsSnapshotCopyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCopyArrayOutput) +} + +type IsSnapshotCopyOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCopyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCopy)(nil)).Elem() +} + +func (o IsSnapshotCopyOutput) ToIsSnapshotCopyOutput() IsSnapshotCopyOutput { + return o +} + +func (o IsSnapshotCopyOutput) ToIsSnapshotCopyOutputWithContext(ctx context.Context) IsSnapshotCopyOutput { + return o +} + +// The CRN for the copied snapshot. +func (o IsSnapshotCopyOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCopy) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsSnapshotCopyOutput) Deleteds() IsSnapshotCopyDeletedArrayOutput { + return o.ApplyT(func(v IsSnapshotCopy) []IsSnapshotCopyDeleted { return v.Deleteds }).(IsSnapshotCopyDeletedArrayOutput) +} + +// The URL for the copied snapshot. +func (o IsSnapshotCopyOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCopy) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for the copied snapshot. +func (o IsSnapshotCopyOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCopy) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. +func (o IsSnapshotCopyOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCopy) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o IsSnapshotCopyOutput) Remotes() IsSnapshotCopyRemoteArrayOutput { + return o.ApplyT(func(v IsSnapshotCopy) []IsSnapshotCopyRemote { return v.Remotes }).(IsSnapshotCopyRemoteArrayOutput) +} + +// The resource type. +func (o IsSnapshotCopyOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCopy) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsSnapshotCopyArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCopyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCopy)(nil)).Elem() +} + +func (o IsSnapshotCopyArrayOutput) ToIsSnapshotCopyArrayOutput() IsSnapshotCopyArrayOutput { + return o +} + +func (o IsSnapshotCopyArrayOutput) ToIsSnapshotCopyArrayOutputWithContext(ctx context.Context) IsSnapshotCopyArrayOutput { + return o +} + +func (o IsSnapshotCopyArrayOutput) Index(i pulumi.IntInput) IsSnapshotCopyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotCopy { + return vs[0].([]IsSnapshotCopy)[vs[1].(int)] + }).(IsSnapshotCopyOutput) +} + +type IsSnapshotCopyDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsSnapshotCopyDeletedInput is an input type that accepts IsSnapshotCopyDeletedArgs and IsSnapshotCopyDeletedOutput values. +// You can construct a concrete instance of `IsSnapshotCopyDeletedInput` via: +// +// IsSnapshotCopyDeletedArgs{...} +type IsSnapshotCopyDeletedInput interface { + pulumi.Input + + ToIsSnapshotCopyDeletedOutput() IsSnapshotCopyDeletedOutput + ToIsSnapshotCopyDeletedOutputWithContext(context.Context) IsSnapshotCopyDeletedOutput +} + +type IsSnapshotCopyDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsSnapshotCopyDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCopyDeleted)(nil)).Elem() +} + +func (i IsSnapshotCopyDeletedArgs) ToIsSnapshotCopyDeletedOutput() IsSnapshotCopyDeletedOutput { + return i.ToIsSnapshotCopyDeletedOutputWithContext(context.Background()) +} + +func (i IsSnapshotCopyDeletedArgs) ToIsSnapshotCopyDeletedOutputWithContext(ctx context.Context) IsSnapshotCopyDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCopyDeletedOutput) +} + +// IsSnapshotCopyDeletedArrayInput is an input type that accepts IsSnapshotCopyDeletedArray and IsSnapshotCopyDeletedArrayOutput values. +// You can construct a concrete instance of `IsSnapshotCopyDeletedArrayInput` via: +// +// IsSnapshotCopyDeletedArray{ IsSnapshotCopyDeletedArgs{...} } +type IsSnapshotCopyDeletedArrayInput interface { + pulumi.Input + + ToIsSnapshotCopyDeletedArrayOutput() IsSnapshotCopyDeletedArrayOutput + ToIsSnapshotCopyDeletedArrayOutputWithContext(context.Context) IsSnapshotCopyDeletedArrayOutput +} + +type IsSnapshotCopyDeletedArray []IsSnapshotCopyDeletedInput + +func (IsSnapshotCopyDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCopyDeleted)(nil)).Elem() +} + +func (i IsSnapshotCopyDeletedArray) ToIsSnapshotCopyDeletedArrayOutput() IsSnapshotCopyDeletedArrayOutput { + return i.ToIsSnapshotCopyDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotCopyDeletedArray) ToIsSnapshotCopyDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotCopyDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCopyDeletedArrayOutput) +} + +type IsSnapshotCopyDeletedOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCopyDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCopyDeleted)(nil)).Elem() +} + +func (o IsSnapshotCopyDeletedOutput) ToIsSnapshotCopyDeletedOutput() IsSnapshotCopyDeletedOutput { + return o +} + +func (o IsSnapshotCopyDeletedOutput) ToIsSnapshotCopyDeletedOutputWithContext(ctx context.Context) IsSnapshotCopyDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsSnapshotCopyDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCopyDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsSnapshotCopyDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCopyDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCopyDeleted)(nil)).Elem() +} + +func (o IsSnapshotCopyDeletedArrayOutput) ToIsSnapshotCopyDeletedArrayOutput() IsSnapshotCopyDeletedArrayOutput { + return o +} + +func (o IsSnapshotCopyDeletedArrayOutput) ToIsSnapshotCopyDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotCopyDeletedArrayOutput { + return o +} + +func (o IsSnapshotCopyDeletedArrayOutput) Index(i pulumi.IntInput) IsSnapshotCopyDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotCopyDeleted { + return vs[0].([]IsSnapshotCopyDeleted)[vs[1].(int)] + }).(IsSnapshotCopyDeletedOutput) +} + +type IsSnapshotCopyRemote struct { + // The URL for this region. + Href *string `pulumi:"href"` + // The globally unique name for this region. + Name *string `pulumi:"name"` +} + +// IsSnapshotCopyRemoteInput is an input type that accepts IsSnapshotCopyRemoteArgs and IsSnapshotCopyRemoteOutput values. +// You can construct a concrete instance of `IsSnapshotCopyRemoteInput` via: +// +// IsSnapshotCopyRemoteArgs{...} +type IsSnapshotCopyRemoteInput interface { + pulumi.Input + + ToIsSnapshotCopyRemoteOutput() IsSnapshotCopyRemoteOutput + ToIsSnapshotCopyRemoteOutputWithContext(context.Context) IsSnapshotCopyRemoteOutput +} + +type IsSnapshotCopyRemoteArgs struct { + // The URL for this region. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsSnapshotCopyRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCopyRemote)(nil)).Elem() +} + +func (i IsSnapshotCopyRemoteArgs) ToIsSnapshotCopyRemoteOutput() IsSnapshotCopyRemoteOutput { + return i.ToIsSnapshotCopyRemoteOutputWithContext(context.Background()) +} + +func (i IsSnapshotCopyRemoteArgs) ToIsSnapshotCopyRemoteOutputWithContext(ctx context.Context) IsSnapshotCopyRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCopyRemoteOutput) +} + +// IsSnapshotCopyRemoteArrayInput is an input type that accepts IsSnapshotCopyRemoteArray and IsSnapshotCopyRemoteArrayOutput values. +// You can construct a concrete instance of `IsSnapshotCopyRemoteArrayInput` via: +// +// IsSnapshotCopyRemoteArray{ IsSnapshotCopyRemoteArgs{...} } +type IsSnapshotCopyRemoteArrayInput interface { + pulumi.Input + + ToIsSnapshotCopyRemoteArrayOutput() IsSnapshotCopyRemoteArrayOutput + ToIsSnapshotCopyRemoteArrayOutputWithContext(context.Context) IsSnapshotCopyRemoteArrayOutput +} + +type IsSnapshotCopyRemoteArray []IsSnapshotCopyRemoteInput + +func (IsSnapshotCopyRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCopyRemote)(nil)).Elem() +} + +func (i IsSnapshotCopyRemoteArray) ToIsSnapshotCopyRemoteArrayOutput() IsSnapshotCopyRemoteArrayOutput { + return i.ToIsSnapshotCopyRemoteArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotCopyRemoteArray) ToIsSnapshotCopyRemoteArrayOutputWithContext(ctx context.Context) IsSnapshotCopyRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotCopyRemoteArrayOutput) +} + +type IsSnapshotCopyRemoteOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCopyRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotCopyRemote)(nil)).Elem() +} + +func (o IsSnapshotCopyRemoteOutput) ToIsSnapshotCopyRemoteOutput() IsSnapshotCopyRemoteOutput { + return o +} + +func (o IsSnapshotCopyRemoteOutput) ToIsSnapshotCopyRemoteOutputWithContext(ctx context.Context) IsSnapshotCopyRemoteOutput { + return o +} + +// The URL for this region. +func (o IsSnapshotCopyRemoteOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCopyRemote) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsSnapshotCopyRemoteOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotCopyRemote) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsSnapshotCopyRemoteArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotCopyRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotCopyRemote)(nil)).Elem() +} + +func (o IsSnapshotCopyRemoteArrayOutput) ToIsSnapshotCopyRemoteArrayOutput() IsSnapshotCopyRemoteArrayOutput { + return o +} + +func (o IsSnapshotCopyRemoteArrayOutput) ToIsSnapshotCopyRemoteArrayOutputWithContext(ctx context.Context) IsSnapshotCopyRemoteArrayOutput { + return o +} + +func (o IsSnapshotCopyRemoteArrayOutput) Index(i pulumi.IntInput) IsSnapshotCopyRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotCopyRemote { + return vs[0].([]IsSnapshotCopyRemote)[vs[1].(int)] + }).(IsSnapshotCopyRemoteOutput) +} + +type IsSnapshotSnapshotConsistencyGroup struct { + // The CRN of this snapshot consistency group. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsSnapshotSnapshotConsistencyGroupDeleted `pulumi:"deleteds"` + // The URL for the snapshot consistency group. + Href *string `pulumi:"href"` + // The unique identifier for the snapshot consistency group. + Id *string `pulumi:"id"` + // The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsSnapshotSnapshotConsistencyGroupInput is an input type that accepts IsSnapshotSnapshotConsistencyGroupArgs and IsSnapshotSnapshotConsistencyGroupOutput values. +// You can construct a concrete instance of `IsSnapshotSnapshotConsistencyGroupInput` via: +// +// IsSnapshotSnapshotConsistencyGroupArgs{...} +type IsSnapshotSnapshotConsistencyGroupInput interface { + pulumi.Input + + ToIsSnapshotSnapshotConsistencyGroupOutput() IsSnapshotSnapshotConsistencyGroupOutput + ToIsSnapshotSnapshotConsistencyGroupOutputWithContext(context.Context) IsSnapshotSnapshotConsistencyGroupOutput +} + +type IsSnapshotSnapshotConsistencyGroupArgs struct { + // The CRN of this snapshot consistency group. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsSnapshotSnapshotConsistencyGroupDeletedArrayInput `pulumi:"deleteds"` + // The URL for the snapshot consistency group. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for the snapshot consistency group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsSnapshotSnapshotConsistencyGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i IsSnapshotSnapshotConsistencyGroupArgs) ToIsSnapshotSnapshotConsistencyGroupOutput() IsSnapshotSnapshotConsistencyGroupOutput { + return i.ToIsSnapshotSnapshotConsistencyGroupOutputWithContext(context.Background()) +} + +func (i IsSnapshotSnapshotConsistencyGroupArgs) ToIsSnapshotSnapshotConsistencyGroupOutputWithContext(ctx context.Context) IsSnapshotSnapshotConsistencyGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSnapshotConsistencyGroupOutput) +} + +// IsSnapshotSnapshotConsistencyGroupArrayInput is an input type that accepts IsSnapshotSnapshotConsistencyGroupArray and IsSnapshotSnapshotConsistencyGroupArrayOutput values. +// You can construct a concrete instance of `IsSnapshotSnapshotConsistencyGroupArrayInput` via: +// +// IsSnapshotSnapshotConsistencyGroupArray{ IsSnapshotSnapshotConsistencyGroupArgs{...} } +type IsSnapshotSnapshotConsistencyGroupArrayInput interface { + pulumi.Input + + ToIsSnapshotSnapshotConsistencyGroupArrayOutput() IsSnapshotSnapshotConsistencyGroupArrayOutput + ToIsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(context.Context) IsSnapshotSnapshotConsistencyGroupArrayOutput +} + +type IsSnapshotSnapshotConsistencyGroupArray []IsSnapshotSnapshotConsistencyGroupInput + +func (IsSnapshotSnapshotConsistencyGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i IsSnapshotSnapshotConsistencyGroupArray) ToIsSnapshotSnapshotConsistencyGroupArrayOutput() IsSnapshotSnapshotConsistencyGroupArrayOutput { + return i.ToIsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotSnapshotConsistencyGroupArray) ToIsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(ctx context.Context) IsSnapshotSnapshotConsistencyGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSnapshotConsistencyGroupArrayOutput) +} + +type IsSnapshotSnapshotConsistencyGroupOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSnapshotConsistencyGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o IsSnapshotSnapshotConsistencyGroupOutput) ToIsSnapshotSnapshotConsistencyGroupOutput() IsSnapshotSnapshotConsistencyGroupOutput { + return o +} + +func (o IsSnapshotSnapshotConsistencyGroupOutput) ToIsSnapshotSnapshotConsistencyGroupOutputWithContext(ctx context.Context) IsSnapshotSnapshotConsistencyGroupOutput { + return o +} + +// The CRN of this snapshot consistency group. +func (o IsSnapshotSnapshotConsistencyGroupOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSnapshotConsistencyGroup) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsSnapshotSnapshotConsistencyGroupOutput) Deleteds() IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o.ApplyT(func(v IsSnapshotSnapshotConsistencyGroup) []IsSnapshotSnapshotConsistencyGroupDeleted { + return v.Deleteds + }).(IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) +} + +// The URL for the snapshot consistency group. +func (o IsSnapshotSnapshotConsistencyGroupOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSnapshotConsistencyGroup) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for the snapshot consistency group. +func (o IsSnapshotSnapshotConsistencyGroupOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSnapshotConsistencyGroup) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. +func (o IsSnapshotSnapshotConsistencyGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSnapshotConsistencyGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsSnapshotSnapshotConsistencyGroupOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSnapshotConsistencyGroup) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsSnapshotSnapshotConsistencyGroupArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSnapshotConsistencyGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o IsSnapshotSnapshotConsistencyGroupArrayOutput) ToIsSnapshotSnapshotConsistencyGroupArrayOutput() IsSnapshotSnapshotConsistencyGroupArrayOutput { + return o +} + +func (o IsSnapshotSnapshotConsistencyGroupArrayOutput) ToIsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(ctx context.Context) IsSnapshotSnapshotConsistencyGroupArrayOutput { + return o +} + +func (o IsSnapshotSnapshotConsistencyGroupArrayOutput) Index(i pulumi.IntInput) IsSnapshotSnapshotConsistencyGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotSnapshotConsistencyGroup { + return vs[0].([]IsSnapshotSnapshotConsistencyGroup)[vs[1].(int)] + }).(IsSnapshotSnapshotConsistencyGroupOutput) +} + +type IsSnapshotSnapshotConsistencyGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsSnapshotSnapshotConsistencyGroupDeletedInput is an input type that accepts IsSnapshotSnapshotConsistencyGroupDeletedArgs and IsSnapshotSnapshotConsistencyGroupDeletedOutput values. +// You can construct a concrete instance of `IsSnapshotSnapshotConsistencyGroupDeletedInput` via: +// +// IsSnapshotSnapshotConsistencyGroupDeletedArgs{...} +type IsSnapshotSnapshotConsistencyGroupDeletedInput interface { + pulumi.Input + + ToIsSnapshotSnapshotConsistencyGroupDeletedOutput() IsSnapshotSnapshotConsistencyGroupDeletedOutput + ToIsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(context.Context) IsSnapshotSnapshotConsistencyGroupDeletedOutput +} + +type IsSnapshotSnapshotConsistencyGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsSnapshotSnapshotConsistencyGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (i IsSnapshotSnapshotConsistencyGroupDeletedArgs) ToIsSnapshotSnapshotConsistencyGroupDeletedOutput() IsSnapshotSnapshotConsistencyGroupDeletedOutput { + return i.ToIsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(context.Background()) +} + +func (i IsSnapshotSnapshotConsistencyGroupDeletedArgs) ToIsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(ctx context.Context) IsSnapshotSnapshotConsistencyGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSnapshotConsistencyGroupDeletedOutput) +} + +// IsSnapshotSnapshotConsistencyGroupDeletedArrayInput is an input type that accepts IsSnapshotSnapshotConsistencyGroupDeletedArray and IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput values. +// You can construct a concrete instance of `IsSnapshotSnapshotConsistencyGroupDeletedArrayInput` via: +// +// IsSnapshotSnapshotConsistencyGroupDeletedArray{ IsSnapshotSnapshotConsistencyGroupDeletedArgs{...} } +type IsSnapshotSnapshotConsistencyGroupDeletedArrayInput interface { + pulumi.Input + + ToIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput + ToIsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(context.Context) IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput +} + +type IsSnapshotSnapshotConsistencyGroupDeletedArray []IsSnapshotSnapshotConsistencyGroupDeletedInput + +func (IsSnapshotSnapshotConsistencyGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (i IsSnapshotSnapshotConsistencyGroupDeletedArray) ToIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return i.ToIsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotSnapshotConsistencyGroupDeletedArray) ToIsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) +} + +type IsSnapshotSnapshotConsistencyGroupDeletedOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSnapshotConsistencyGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (o IsSnapshotSnapshotConsistencyGroupDeletedOutput) ToIsSnapshotSnapshotConsistencyGroupDeletedOutput() IsSnapshotSnapshotConsistencyGroupDeletedOutput { + return o +} + +func (o IsSnapshotSnapshotConsistencyGroupDeletedOutput) ToIsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(ctx context.Context) IsSnapshotSnapshotConsistencyGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsSnapshotSnapshotConsistencyGroupDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSnapshotConsistencyGroupDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (o IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ToIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o +} + +func (o IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ToIsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o +} + +func (o IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) Index(i pulumi.IntInput) IsSnapshotSnapshotConsistencyGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotSnapshotConsistencyGroupDeleted { + return vs[0].([]IsSnapshotSnapshotConsistencyGroupDeleted)[vs[1].(int)] + }).(IsSnapshotSnapshotConsistencyGroupDeletedOutput) +} + +type IsSnapshotSourceSnapshot struct { + // The CRN of the source snapshot. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsSnapshotSourceSnapshotDeleted `pulumi:"deleteds"` + // The URL for the source snapshot. + Href *string `pulumi:"href"` + // The unique identifier for the source snapshot. + Id *string `pulumi:"id"` + // The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. + Name *string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []IsSnapshotSourceSnapshotRemote `pulumi:"remotes"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsSnapshotSourceSnapshotInput is an input type that accepts IsSnapshotSourceSnapshotArgs and IsSnapshotSourceSnapshotOutput values. +// You can construct a concrete instance of `IsSnapshotSourceSnapshotInput` via: +// +// IsSnapshotSourceSnapshotArgs{...} +type IsSnapshotSourceSnapshotInput interface { + pulumi.Input + + ToIsSnapshotSourceSnapshotOutput() IsSnapshotSourceSnapshotOutput + ToIsSnapshotSourceSnapshotOutputWithContext(context.Context) IsSnapshotSourceSnapshotOutput +} + +type IsSnapshotSourceSnapshotArgs struct { + // The CRN of the source snapshot. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsSnapshotSourceSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for the source snapshot. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for the source snapshot. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. + Name pulumi.StringPtrInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes IsSnapshotSourceSnapshotRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsSnapshotSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (i IsSnapshotSourceSnapshotArgs) ToIsSnapshotSourceSnapshotOutput() IsSnapshotSourceSnapshotOutput { + return i.ToIsSnapshotSourceSnapshotOutputWithContext(context.Background()) +} + +func (i IsSnapshotSourceSnapshotArgs) ToIsSnapshotSourceSnapshotOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSourceSnapshotOutput) +} + +// IsSnapshotSourceSnapshotArrayInput is an input type that accepts IsSnapshotSourceSnapshotArray and IsSnapshotSourceSnapshotArrayOutput values. +// You can construct a concrete instance of `IsSnapshotSourceSnapshotArrayInput` via: +// +// IsSnapshotSourceSnapshotArray{ IsSnapshotSourceSnapshotArgs{...} } +type IsSnapshotSourceSnapshotArrayInput interface { + pulumi.Input + + ToIsSnapshotSourceSnapshotArrayOutput() IsSnapshotSourceSnapshotArrayOutput + ToIsSnapshotSourceSnapshotArrayOutputWithContext(context.Context) IsSnapshotSourceSnapshotArrayOutput +} + +type IsSnapshotSourceSnapshotArray []IsSnapshotSourceSnapshotInput + +func (IsSnapshotSourceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (i IsSnapshotSourceSnapshotArray) ToIsSnapshotSourceSnapshotArrayOutput() IsSnapshotSourceSnapshotArrayOutput { + return i.ToIsSnapshotSourceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotSourceSnapshotArray) ToIsSnapshotSourceSnapshotArrayOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSourceSnapshotArrayOutput) +} + +type IsSnapshotSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (o IsSnapshotSourceSnapshotOutput) ToIsSnapshotSourceSnapshotOutput() IsSnapshotSourceSnapshotOutput { + return o +} + +func (o IsSnapshotSourceSnapshotOutput) ToIsSnapshotSourceSnapshotOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotOutput { + return o +} + +// The CRN of the source snapshot. +func (o IsSnapshotSourceSnapshotOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshot) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsSnapshotSourceSnapshotOutput) Deleteds() IsSnapshotSourceSnapshotDeletedArrayOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshot) []IsSnapshotSourceSnapshotDeleted { return v.Deleteds }).(IsSnapshotSourceSnapshotDeletedArrayOutput) +} + +// The URL for the source snapshot. +func (o IsSnapshotSourceSnapshotOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshot) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for the source snapshot. +func (o IsSnapshotSourceSnapshotOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshot) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. +func (o IsSnapshotSourceSnapshotOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshot) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o IsSnapshotSourceSnapshotOutput) Remotes() IsSnapshotSourceSnapshotRemoteArrayOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshot) []IsSnapshotSourceSnapshotRemote { return v.Remotes }).(IsSnapshotSourceSnapshotRemoteArrayOutput) +} + +// The resource type. +func (o IsSnapshotSourceSnapshotOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshot) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsSnapshotSourceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSourceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (o IsSnapshotSourceSnapshotArrayOutput) ToIsSnapshotSourceSnapshotArrayOutput() IsSnapshotSourceSnapshotArrayOutput { + return o +} + +func (o IsSnapshotSourceSnapshotArrayOutput) ToIsSnapshotSourceSnapshotArrayOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotArrayOutput { + return o +} + +func (o IsSnapshotSourceSnapshotArrayOutput) Index(i pulumi.IntInput) IsSnapshotSourceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotSourceSnapshot { + return vs[0].([]IsSnapshotSourceSnapshot)[vs[1].(int)] + }).(IsSnapshotSourceSnapshotOutput) +} + +type IsSnapshotSourceSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsSnapshotSourceSnapshotDeletedInput is an input type that accepts IsSnapshotSourceSnapshotDeletedArgs and IsSnapshotSourceSnapshotDeletedOutput values. +// You can construct a concrete instance of `IsSnapshotSourceSnapshotDeletedInput` via: +// +// IsSnapshotSourceSnapshotDeletedArgs{...} +type IsSnapshotSourceSnapshotDeletedInput interface { + pulumi.Input + + ToIsSnapshotSourceSnapshotDeletedOutput() IsSnapshotSourceSnapshotDeletedOutput + ToIsSnapshotSourceSnapshotDeletedOutputWithContext(context.Context) IsSnapshotSourceSnapshotDeletedOutput +} + +type IsSnapshotSourceSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsSnapshotSourceSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (i IsSnapshotSourceSnapshotDeletedArgs) ToIsSnapshotSourceSnapshotDeletedOutput() IsSnapshotSourceSnapshotDeletedOutput { + return i.ToIsSnapshotSourceSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i IsSnapshotSourceSnapshotDeletedArgs) ToIsSnapshotSourceSnapshotDeletedOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSourceSnapshotDeletedOutput) +} + +// IsSnapshotSourceSnapshotDeletedArrayInput is an input type that accepts IsSnapshotSourceSnapshotDeletedArray and IsSnapshotSourceSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `IsSnapshotSourceSnapshotDeletedArrayInput` via: +// +// IsSnapshotSourceSnapshotDeletedArray{ IsSnapshotSourceSnapshotDeletedArgs{...} } +type IsSnapshotSourceSnapshotDeletedArrayInput interface { + pulumi.Input + + ToIsSnapshotSourceSnapshotDeletedArrayOutput() IsSnapshotSourceSnapshotDeletedArrayOutput + ToIsSnapshotSourceSnapshotDeletedArrayOutputWithContext(context.Context) IsSnapshotSourceSnapshotDeletedArrayOutput +} + +type IsSnapshotSourceSnapshotDeletedArray []IsSnapshotSourceSnapshotDeletedInput + +func (IsSnapshotSourceSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (i IsSnapshotSourceSnapshotDeletedArray) ToIsSnapshotSourceSnapshotDeletedArrayOutput() IsSnapshotSourceSnapshotDeletedArrayOutput { + return i.ToIsSnapshotSourceSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotSourceSnapshotDeletedArray) ToIsSnapshotSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSourceSnapshotDeletedArrayOutput) +} + +type IsSnapshotSourceSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSourceSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (o IsSnapshotSourceSnapshotDeletedOutput) ToIsSnapshotSourceSnapshotDeletedOutput() IsSnapshotSourceSnapshotDeletedOutput { + return o +} + +func (o IsSnapshotSourceSnapshotDeletedOutput) ToIsSnapshotSourceSnapshotDeletedOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsSnapshotSourceSnapshotDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshotDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsSnapshotSourceSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSourceSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (o IsSnapshotSourceSnapshotDeletedArrayOutput) ToIsSnapshotSourceSnapshotDeletedArrayOutput() IsSnapshotSourceSnapshotDeletedArrayOutput { + return o +} + +func (o IsSnapshotSourceSnapshotDeletedArrayOutput) ToIsSnapshotSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotDeletedArrayOutput { + return o +} + +func (o IsSnapshotSourceSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) IsSnapshotSourceSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotSourceSnapshotDeleted { + return vs[0].([]IsSnapshotSourceSnapshotDeleted)[vs[1].(int)] + }).(IsSnapshotSourceSnapshotDeletedOutput) +} + +type IsSnapshotSourceSnapshotRemote struct { + // The URL for this region. + Href *string `pulumi:"href"` + // The globally unique name for this region. + Name *string `pulumi:"name"` +} + +// IsSnapshotSourceSnapshotRemoteInput is an input type that accepts IsSnapshotSourceSnapshotRemoteArgs and IsSnapshotSourceSnapshotRemoteOutput values. +// You can construct a concrete instance of `IsSnapshotSourceSnapshotRemoteInput` via: +// +// IsSnapshotSourceSnapshotRemoteArgs{...} +type IsSnapshotSourceSnapshotRemoteInput interface { + pulumi.Input + + ToIsSnapshotSourceSnapshotRemoteOutput() IsSnapshotSourceSnapshotRemoteOutput + ToIsSnapshotSourceSnapshotRemoteOutputWithContext(context.Context) IsSnapshotSourceSnapshotRemoteOutput +} + +type IsSnapshotSourceSnapshotRemoteArgs struct { + // The URL for this region. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsSnapshotSourceSnapshotRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (i IsSnapshotSourceSnapshotRemoteArgs) ToIsSnapshotSourceSnapshotRemoteOutput() IsSnapshotSourceSnapshotRemoteOutput { + return i.ToIsSnapshotSourceSnapshotRemoteOutputWithContext(context.Background()) +} + +func (i IsSnapshotSourceSnapshotRemoteArgs) ToIsSnapshotSourceSnapshotRemoteOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSourceSnapshotRemoteOutput) +} + +// IsSnapshotSourceSnapshotRemoteArrayInput is an input type that accepts IsSnapshotSourceSnapshotRemoteArray and IsSnapshotSourceSnapshotRemoteArrayOutput values. +// You can construct a concrete instance of `IsSnapshotSourceSnapshotRemoteArrayInput` via: +// +// IsSnapshotSourceSnapshotRemoteArray{ IsSnapshotSourceSnapshotRemoteArgs{...} } +type IsSnapshotSourceSnapshotRemoteArrayInput interface { + pulumi.Input + + ToIsSnapshotSourceSnapshotRemoteArrayOutput() IsSnapshotSourceSnapshotRemoteArrayOutput + ToIsSnapshotSourceSnapshotRemoteArrayOutputWithContext(context.Context) IsSnapshotSourceSnapshotRemoteArrayOutput +} + +type IsSnapshotSourceSnapshotRemoteArray []IsSnapshotSourceSnapshotRemoteInput + +func (IsSnapshotSourceSnapshotRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (i IsSnapshotSourceSnapshotRemoteArray) ToIsSnapshotSourceSnapshotRemoteArrayOutput() IsSnapshotSourceSnapshotRemoteArrayOutput { + return i.ToIsSnapshotSourceSnapshotRemoteArrayOutputWithContext(context.Background()) +} + +func (i IsSnapshotSourceSnapshotRemoteArray) ToIsSnapshotSourceSnapshotRemoteArrayOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSnapshotSourceSnapshotRemoteArrayOutput) +} + +type IsSnapshotSourceSnapshotRemoteOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSourceSnapshotRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (o IsSnapshotSourceSnapshotRemoteOutput) ToIsSnapshotSourceSnapshotRemoteOutput() IsSnapshotSourceSnapshotRemoteOutput { + return o +} + +func (o IsSnapshotSourceSnapshotRemoteOutput) ToIsSnapshotSourceSnapshotRemoteOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotRemoteOutput { + return o +} + +// The URL for this region. +func (o IsSnapshotSourceSnapshotRemoteOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshotRemote) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsSnapshotSourceSnapshotRemoteOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSnapshotSourceSnapshotRemote) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsSnapshotSourceSnapshotRemoteArrayOutput struct{ *pulumi.OutputState } + +func (IsSnapshotSourceSnapshotRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (o IsSnapshotSourceSnapshotRemoteArrayOutput) ToIsSnapshotSourceSnapshotRemoteArrayOutput() IsSnapshotSourceSnapshotRemoteArrayOutput { + return o +} + +func (o IsSnapshotSourceSnapshotRemoteArrayOutput) ToIsSnapshotSourceSnapshotRemoteArrayOutputWithContext(ctx context.Context) IsSnapshotSourceSnapshotRemoteArrayOutput { + return o +} + +func (o IsSnapshotSourceSnapshotRemoteArrayOutput) Index(i pulumi.IntInput) IsSnapshotSourceSnapshotRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSnapshotSourceSnapshotRemote { + return vs[0].([]IsSnapshotSourceSnapshotRemote)[vs[1].(int)] + }).(IsSnapshotSourceSnapshotRemoteOutput) +} + +type IsSubnetNetworkAclAttachmentRule struct { + // Whether to allow or deny matching traffic + Action *string `pulumi:"action"` + // The destination CIDR block + Destination *string `pulumi:"destination"` + // Direction of traffic to enforce, either inbound or outbound + Direction *string `pulumi:"direction"` + Icmps []IsSubnetNetworkAclAttachmentRuleIcmp `pulumi:"icmps"` + // The unique identifier for this Network ACL rule + Id *string `pulumi:"id"` + // The IP version for this rule + IpVersion *string `pulumi:"ipVersion"` + // The user-defined name for this rule + Name *string `pulumi:"name"` + // The source CIDR block + Source *string `pulumi:"source"` + Tcps []IsSubnetNetworkAclAttachmentRuleTcp `pulumi:"tcps"` + Udps []IsSubnetNetworkAclAttachmentRuleUdp `pulumi:"udps"` +} + +// IsSubnetNetworkAclAttachmentRuleInput is an input type that accepts IsSubnetNetworkAclAttachmentRuleArgs and IsSubnetNetworkAclAttachmentRuleOutput values. +// You can construct a concrete instance of `IsSubnetNetworkAclAttachmentRuleInput` via: +// +// IsSubnetNetworkAclAttachmentRuleArgs{...} +type IsSubnetNetworkAclAttachmentRuleInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentRuleOutput() IsSubnetNetworkAclAttachmentRuleOutput + ToIsSubnetNetworkAclAttachmentRuleOutputWithContext(context.Context) IsSubnetNetworkAclAttachmentRuleOutput +} + +type IsSubnetNetworkAclAttachmentRuleArgs struct { + // Whether to allow or deny matching traffic + Action pulumi.StringPtrInput `pulumi:"action"` + // The destination CIDR block + Destination pulumi.StringPtrInput `pulumi:"destination"` + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringPtrInput `pulumi:"direction"` + Icmps IsSubnetNetworkAclAttachmentRuleIcmpArrayInput `pulumi:"icmps"` + // The unique identifier for this Network ACL rule + Id pulumi.StringPtrInput `pulumi:"id"` + // The IP version for this rule + IpVersion pulumi.StringPtrInput `pulumi:"ipVersion"` + // The user-defined name for this rule + Name pulumi.StringPtrInput `pulumi:"name"` + // The source CIDR block + Source pulumi.StringPtrInput `pulumi:"source"` + Tcps IsSubnetNetworkAclAttachmentRuleTcpArrayInput `pulumi:"tcps"` + Udps IsSubnetNetworkAclAttachmentRuleUdpArrayInput `pulumi:"udps"` +} + +func (IsSubnetNetworkAclAttachmentRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetNetworkAclAttachmentRule)(nil)).Elem() +} + +func (i IsSubnetNetworkAclAttachmentRuleArgs) ToIsSubnetNetworkAclAttachmentRuleOutput() IsSubnetNetworkAclAttachmentRuleOutput { + return i.ToIsSubnetNetworkAclAttachmentRuleOutputWithContext(context.Background()) +} + +func (i IsSubnetNetworkAclAttachmentRuleArgs) ToIsSubnetNetworkAclAttachmentRuleOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentRuleOutput) +} + +// IsSubnetNetworkAclAttachmentRuleArrayInput is an input type that accepts IsSubnetNetworkAclAttachmentRuleArray and IsSubnetNetworkAclAttachmentRuleArrayOutput values. +// You can construct a concrete instance of `IsSubnetNetworkAclAttachmentRuleArrayInput` via: +// +// IsSubnetNetworkAclAttachmentRuleArray{ IsSubnetNetworkAclAttachmentRuleArgs{...} } +type IsSubnetNetworkAclAttachmentRuleArrayInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentRuleArrayOutput() IsSubnetNetworkAclAttachmentRuleArrayOutput + ToIsSubnetNetworkAclAttachmentRuleArrayOutputWithContext(context.Context) IsSubnetNetworkAclAttachmentRuleArrayOutput +} + +type IsSubnetNetworkAclAttachmentRuleArray []IsSubnetNetworkAclAttachmentRuleInput + +func (IsSubnetNetworkAclAttachmentRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetNetworkAclAttachmentRule)(nil)).Elem() +} + +func (i IsSubnetNetworkAclAttachmentRuleArray) ToIsSubnetNetworkAclAttachmentRuleArrayOutput() IsSubnetNetworkAclAttachmentRuleArrayOutput { + return i.ToIsSubnetNetworkAclAttachmentRuleArrayOutputWithContext(context.Background()) +} + +func (i IsSubnetNetworkAclAttachmentRuleArray) ToIsSubnetNetworkAclAttachmentRuleArrayOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentRuleArrayOutput) +} + +type IsSubnetNetworkAclAttachmentRuleOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetNetworkAclAttachmentRule)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentRuleOutput) ToIsSubnetNetworkAclAttachmentRuleOutput() IsSubnetNetworkAclAttachmentRuleOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleOutput) ToIsSubnetNetworkAclAttachmentRuleOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleOutput { + return o +} + +// Whether to allow or deny matching traffic +func (o IsSubnetNetworkAclAttachmentRuleOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// The destination CIDR block +func (o IsSubnetNetworkAclAttachmentRuleOutput) Destination() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) *string { return v.Destination }).(pulumi.StringPtrOutput) +} + +// Direction of traffic to enforce, either inbound or outbound +func (o IsSubnetNetworkAclAttachmentRuleOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +func (o IsSubnetNetworkAclAttachmentRuleOutput) Icmps() IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) []IsSubnetNetworkAclAttachmentRuleIcmp { return v.Icmps }).(IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput) +} + +// The unique identifier for this Network ACL rule +func (o IsSubnetNetworkAclAttachmentRuleOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The IP version for this rule +func (o IsSubnetNetworkAclAttachmentRuleOutput) IpVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) *string { return v.IpVersion }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this rule +func (o IsSubnetNetworkAclAttachmentRuleOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The source CIDR block +func (o IsSubnetNetworkAclAttachmentRuleOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +func (o IsSubnetNetworkAclAttachmentRuleOutput) Tcps() IsSubnetNetworkAclAttachmentRuleTcpArrayOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) []IsSubnetNetworkAclAttachmentRuleTcp { return v.Tcps }).(IsSubnetNetworkAclAttachmentRuleTcpArrayOutput) +} + +func (o IsSubnetNetworkAclAttachmentRuleOutput) Udps() IsSubnetNetworkAclAttachmentRuleUdpArrayOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRule) []IsSubnetNetworkAclAttachmentRuleUdp { return v.Udps }).(IsSubnetNetworkAclAttachmentRuleUdpArrayOutput) +} + +type IsSubnetNetworkAclAttachmentRuleArrayOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetNetworkAclAttachmentRule)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentRuleArrayOutput) ToIsSubnetNetworkAclAttachmentRuleArrayOutput() IsSubnetNetworkAclAttachmentRuleArrayOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleArrayOutput) ToIsSubnetNetworkAclAttachmentRuleArrayOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleArrayOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleArrayOutput) Index(i pulumi.IntInput) IsSubnetNetworkAclAttachmentRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSubnetNetworkAclAttachmentRule { + return vs[0].([]IsSubnetNetworkAclAttachmentRule)[vs[1].(int)] + }).(IsSubnetNetworkAclAttachmentRuleOutput) +} + +type IsSubnetNetworkAclAttachmentRuleIcmp struct { + // The ICMP traffic code to allow + Code *int `pulumi:"code"` + // The ICMP traffic type to allow + Type *int `pulumi:"type"` +} + +// IsSubnetNetworkAclAttachmentRuleIcmpInput is an input type that accepts IsSubnetNetworkAclAttachmentRuleIcmpArgs and IsSubnetNetworkAclAttachmentRuleIcmpOutput values. +// You can construct a concrete instance of `IsSubnetNetworkAclAttachmentRuleIcmpInput` via: +// +// IsSubnetNetworkAclAttachmentRuleIcmpArgs{...} +type IsSubnetNetworkAclAttachmentRuleIcmpInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentRuleIcmpOutput() IsSubnetNetworkAclAttachmentRuleIcmpOutput + ToIsSubnetNetworkAclAttachmentRuleIcmpOutputWithContext(context.Context) IsSubnetNetworkAclAttachmentRuleIcmpOutput +} + +type IsSubnetNetworkAclAttachmentRuleIcmpArgs struct { + // The ICMP traffic code to allow + Code pulumi.IntPtrInput `pulumi:"code"` + // The ICMP traffic type to allow + Type pulumi.IntPtrInput `pulumi:"type"` +} + +func (IsSubnetNetworkAclAttachmentRuleIcmpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleIcmp)(nil)).Elem() +} + +func (i IsSubnetNetworkAclAttachmentRuleIcmpArgs) ToIsSubnetNetworkAclAttachmentRuleIcmpOutput() IsSubnetNetworkAclAttachmentRuleIcmpOutput { + return i.ToIsSubnetNetworkAclAttachmentRuleIcmpOutputWithContext(context.Background()) +} + +func (i IsSubnetNetworkAclAttachmentRuleIcmpArgs) ToIsSubnetNetworkAclAttachmentRuleIcmpOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleIcmpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentRuleIcmpOutput) +} + +// IsSubnetNetworkAclAttachmentRuleIcmpArrayInput is an input type that accepts IsSubnetNetworkAclAttachmentRuleIcmpArray and IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput values. +// You can construct a concrete instance of `IsSubnetNetworkAclAttachmentRuleIcmpArrayInput` via: +// +// IsSubnetNetworkAclAttachmentRuleIcmpArray{ IsSubnetNetworkAclAttachmentRuleIcmpArgs{...} } +type IsSubnetNetworkAclAttachmentRuleIcmpArrayInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentRuleIcmpArrayOutput() IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput + ToIsSubnetNetworkAclAttachmentRuleIcmpArrayOutputWithContext(context.Context) IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput +} + +type IsSubnetNetworkAclAttachmentRuleIcmpArray []IsSubnetNetworkAclAttachmentRuleIcmpInput + +func (IsSubnetNetworkAclAttachmentRuleIcmpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetNetworkAclAttachmentRuleIcmp)(nil)).Elem() +} + +func (i IsSubnetNetworkAclAttachmentRuleIcmpArray) ToIsSubnetNetworkAclAttachmentRuleIcmpArrayOutput() IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput { + return i.ToIsSubnetNetworkAclAttachmentRuleIcmpArrayOutputWithContext(context.Background()) +} + +func (i IsSubnetNetworkAclAttachmentRuleIcmpArray) ToIsSubnetNetworkAclAttachmentRuleIcmpArrayOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput) +} + +type IsSubnetNetworkAclAttachmentRuleIcmpOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentRuleIcmpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleIcmp)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentRuleIcmpOutput) ToIsSubnetNetworkAclAttachmentRuleIcmpOutput() IsSubnetNetworkAclAttachmentRuleIcmpOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleIcmpOutput) ToIsSubnetNetworkAclAttachmentRuleIcmpOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleIcmpOutput { + return o +} + +// The ICMP traffic code to allow +func (o IsSubnetNetworkAclAttachmentRuleIcmpOutput) Code() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleIcmp) *int { return v.Code }).(pulumi.IntPtrOutput) +} + +// The ICMP traffic type to allow +func (o IsSubnetNetworkAclAttachmentRuleIcmpOutput) Type() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleIcmp) *int { return v.Type }).(pulumi.IntPtrOutput) +} + +type IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetNetworkAclAttachmentRuleIcmp)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput) ToIsSubnetNetworkAclAttachmentRuleIcmpArrayOutput() IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput) ToIsSubnetNetworkAclAttachmentRuleIcmpArrayOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput) Index(i pulumi.IntInput) IsSubnetNetworkAclAttachmentRuleIcmpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSubnetNetworkAclAttachmentRuleIcmp { + return vs[0].([]IsSubnetNetworkAclAttachmentRuleIcmp)[vs[1].(int)] + }).(IsSubnetNetworkAclAttachmentRuleIcmpOutput) +} + +type IsSubnetNetworkAclAttachmentRuleTcp struct { + // The inclusive upper bound of TCP destination port range + PortMax *int `pulumi:"portMax"` + // The inclusive lower bound of TCP destination port range + PortMin *int `pulumi:"portMin"` + // The inclusive upper bound of TCP source port range + SourcePortMax *int `pulumi:"sourcePortMax"` + // The inclusive lower bound of TCP source port range + SourcePortMin *int `pulumi:"sourcePortMin"` +} + +// IsSubnetNetworkAclAttachmentRuleTcpInput is an input type that accepts IsSubnetNetworkAclAttachmentRuleTcpArgs and IsSubnetNetworkAclAttachmentRuleTcpOutput values. +// You can construct a concrete instance of `IsSubnetNetworkAclAttachmentRuleTcpInput` via: +// +// IsSubnetNetworkAclAttachmentRuleTcpArgs{...} +type IsSubnetNetworkAclAttachmentRuleTcpInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentRuleTcpOutput() IsSubnetNetworkAclAttachmentRuleTcpOutput + ToIsSubnetNetworkAclAttachmentRuleTcpOutputWithContext(context.Context) IsSubnetNetworkAclAttachmentRuleTcpOutput +} + +type IsSubnetNetworkAclAttachmentRuleTcpArgs struct { + // The inclusive upper bound of TCP destination port range + PortMax pulumi.IntPtrInput `pulumi:"portMax"` + // The inclusive lower bound of TCP destination port range + PortMin pulumi.IntPtrInput `pulumi:"portMin"` + // The inclusive upper bound of TCP source port range + SourcePortMax pulumi.IntPtrInput `pulumi:"sourcePortMax"` + // The inclusive lower bound of TCP source port range + SourcePortMin pulumi.IntPtrInput `pulumi:"sourcePortMin"` +} + +func (IsSubnetNetworkAclAttachmentRuleTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleTcp)(nil)).Elem() +} + +func (i IsSubnetNetworkAclAttachmentRuleTcpArgs) ToIsSubnetNetworkAclAttachmentRuleTcpOutput() IsSubnetNetworkAclAttachmentRuleTcpOutput { + return i.ToIsSubnetNetworkAclAttachmentRuleTcpOutputWithContext(context.Background()) +} + +func (i IsSubnetNetworkAclAttachmentRuleTcpArgs) ToIsSubnetNetworkAclAttachmentRuleTcpOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentRuleTcpOutput) +} + +// IsSubnetNetworkAclAttachmentRuleTcpArrayInput is an input type that accepts IsSubnetNetworkAclAttachmentRuleTcpArray and IsSubnetNetworkAclAttachmentRuleTcpArrayOutput values. +// You can construct a concrete instance of `IsSubnetNetworkAclAttachmentRuleTcpArrayInput` via: +// +// IsSubnetNetworkAclAttachmentRuleTcpArray{ IsSubnetNetworkAclAttachmentRuleTcpArgs{...} } +type IsSubnetNetworkAclAttachmentRuleTcpArrayInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentRuleTcpArrayOutput() IsSubnetNetworkAclAttachmentRuleTcpArrayOutput + ToIsSubnetNetworkAclAttachmentRuleTcpArrayOutputWithContext(context.Context) IsSubnetNetworkAclAttachmentRuleTcpArrayOutput +} + +type IsSubnetNetworkAclAttachmentRuleTcpArray []IsSubnetNetworkAclAttachmentRuleTcpInput + +func (IsSubnetNetworkAclAttachmentRuleTcpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetNetworkAclAttachmentRuleTcp)(nil)).Elem() +} + +func (i IsSubnetNetworkAclAttachmentRuleTcpArray) ToIsSubnetNetworkAclAttachmentRuleTcpArrayOutput() IsSubnetNetworkAclAttachmentRuleTcpArrayOutput { + return i.ToIsSubnetNetworkAclAttachmentRuleTcpArrayOutputWithContext(context.Background()) +} + +func (i IsSubnetNetworkAclAttachmentRuleTcpArray) ToIsSubnetNetworkAclAttachmentRuleTcpArrayOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleTcpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentRuleTcpArrayOutput) +} + +type IsSubnetNetworkAclAttachmentRuleTcpOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentRuleTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleTcp)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentRuleTcpOutput) ToIsSubnetNetworkAclAttachmentRuleTcpOutput() IsSubnetNetworkAclAttachmentRuleTcpOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleTcpOutput) ToIsSubnetNetworkAclAttachmentRuleTcpOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleTcpOutput { + return o +} + +// The inclusive upper bound of TCP destination port range +func (o IsSubnetNetworkAclAttachmentRuleTcpOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleTcp) *int { return v.PortMax }).(pulumi.IntPtrOutput) +} + +// The inclusive lower bound of TCP destination port range +func (o IsSubnetNetworkAclAttachmentRuleTcpOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleTcp) *int { return v.PortMin }).(pulumi.IntPtrOutput) +} + +// The inclusive upper bound of TCP source port range +func (o IsSubnetNetworkAclAttachmentRuleTcpOutput) SourcePortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleTcp) *int { return v.SourcePortMax }).(pulumi.IntPtrOutput) +} + +// The inclusive lower bound of TCP source port range +func (o IsSubnetNetworkAclAttachmentRuleTcpOutput) SourcePortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleTcp) *int { return v.SourcePortMin }).(pulumi.IntPtrOutput) +} + +type IsSubnetNetworkAclAttachmentRuleTcpArrayOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentRuleTcpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetNetworkAclAttachmentRuleTcp)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentRuleTcpArrayOutput) ToIsSubnetNetworkAclAttachmentRuleTcpArrayOutput() IsSubnetNetworkAclAttachmentRuleTcpArrayOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleTcpArrayOutput) ToIsSubnetNetworkAclAttachmentRuleTcpArrayOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleTcpArrayOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleTcpArrayOutput) Index(i pulumi.IntInput) IsSubnetNetworkAclAttachmentRuleTcpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSubnetNetworkAclAttachmentRuleTcp { + return vs[0].([]IsSubnetNetworkAclAttachmentRuleTcp)[vs[1].(int)] + }).(IsSubnetNetworkAclAttachmentRuleTcpOutput) +} + +type IsSubnetNetworkAclAttachmentRuleUdp struct { + // The inclusive upper bound of UDP destination port range + PortMax *int `pulumi:"portMax"` + // The inclusive lower bound of UDP destination port range + PortMin *int `pulumi:"portMin"` + // The inclusive upper bound of UDP source port range + SourcePortMax *int `pulumi:"sourcePortMax"` + // The inclusive lower bound of UDP source port range + SourcePortMin *int `pulumi:"sourcePortMin"` +} + +// IsSubnetNetworkAclAttachmentRuleUdpInput is an input type that accepts IsSubnetNetworkAclAttachmentRuleUdpArgs and IsSubnetNetworkAclAttachmentRuleUdpOutput values. +// You can construct a concrete instance of `IsSubnetNetworkAclAttachmentRuleUdpInput` via: +// +// IsSubnetNetworkAclAttachmentRuleUdpArgs{...} +type IsSubnetNetworkAclAttachmentRuleUdpInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentRuleUdpOutput() IsSubnetNetworkAclAttachmentRuleUdpOutput + ToIsSubnetNetworkAclAttachmentRuleUdpOutputWithContext(context.Context) IsSubnetNetworkAclAttachmentRuleUdpOutput +} + +type IsSubnetNetworkAclAttachmentRuleUdpArgs struct { + // The inclusive upper bound of UDP destination port range + PortMax pulumi.IntPtrInput `pulumi:"portMax"` + // The inclusive lower bound of UDP destination port range + PortMin pulumi.IntPtrInput `pulumi:"portMin"` + // The inclusive upper bound of UDP source port range + SourcePortMax pulumi.IntPtrInput `pulumi:"sourcePortMax"` + // The inclusive lower bound of UDP source port range + SourcePortMin pulumi.IntPtrInput `pulumi:"sourcePortMin"` +} + +func (IsSubnetNetworkAclAttachmentRuleUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleUdp)(nil)).Elem() +} + +func (i IsSubnetNetworkAclAttachmentRuleUdpArgs) ToIsSubnetNetworkAclAttachmentRuleUdpOutput() IsSubnetNetworkAclAttachmentRuleUdpOutput { + return i.ToIsSubnetNetworkAclAttachmentRuleUdpOutputWithContext(context.Background()) +} + +func (i IsSubnetNetworkAclAttachmentRuleUdpArgs) ToIsSubnetNetworkAclAttachmentRuleUdpOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentRuleUdpOutput) +} + +// IsSubnetNetworkAclAttachmentRuleUdpArrayInput is an input type that accepts IsSubnetNetworkAclAttachmentRuleUdpArray and IsSubnetNetworkAclAttachmentRuleUdpArrayOutput values. +// You can construct a concrete instance of `IsSubnetNetworkAclAttachmentRuleUdpArrayInput` via: +// +// IsSubnetNetworkAclAttachmentRuleUdpArray{ IsSubnetNetworkAclAttachmentRuleUdpArgs{...} } +type IsSubnetNetworkAclAttachmentRuleUdpArrayInput interface { + pulumi.Input + + ToIsSubnetNetworkAclAttachmentRuleUdpArrayOutput() IsSubnetNetworkAclAttachmentRuleUdpArrayOutput + ToIsSubnetNetworkAclAttachmentRuleUdpArrayOutputWithContext(context.Context) IsSubnetNetworkAclAttachmentRuleUdpArrayOutput +} + +type IsSubnetNetworkAclAttachmentRuleUdpArray []IsSubnetNetworkAclAttachmentRuleUdpInput + +func (IsSubnetNetworkAclAttachmentRuleUdpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetNetworkAclAttachmentRuleUdp)(nil)).Elem() +} + +func (i IsSubnetNetworkAclAttachmentRuleUdpArray) ToIsSubnetNetworkAclAttachmentRuleUdpArrayOutput() IsSubnetNetworkAclAttachmentRuleUdpArrayOutput { + return i.ToIsSubnetNetworkAclAttachmentRuleUdpArrayOutputWithContext(context.Background()) +} + +func (i IsSubnetNetworkAclAttachmentRuleUdpArray) ToIsSubnetNetworkAclAttachmentRuleUdpArrayOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleUdpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetNetworkAclAttachmentRuleUdpArrayOutput) +} + +type IsSubnetNetworkAclAttachmentRuleUdpOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentRuleUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleUdp)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentRuleUdpOutput) ToIsSubnetNetworkAclAttachmentRuleUdpOutput() IsSubnetNetworkAclAttachmentRuleUdpOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleUdpOutput) ToIsSubnetNetworkAclAttachmentRuleUdpOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleUdpOutput { + return o +} + +// The inclusive upper bound of UDP destination port range +func (o IsSubnetNetworkAclAttachmentRuleUdpOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleUdp) *int { return v.PortMax }).(pulumi.IntPtrOutput) +} + +// The inclusive lower bound of UDP destination port range +func (o IsSubnetNetworkAclAttachmentRuleUdpOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleUdp) *int { return v.PortMin }).(pulumi.IntPtrOutput) +} + +// The inclusive upper bound of UDP source port range +func (o IsSubnetNetworkAclAttachmentRuleUdpOutput) SourcePortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleUdp) *int { return v.SourcePortMax }).(pulumi.IntPtrOutput) +} + +// The inclusive lower bound of UDP source port range +func (o IsSubnetNetworkAclAttachmentRuleUdpOutput) SourcePortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsSubnetNetworkAclAttachmentRuleUdp) *int { return v.SourcePortMin }).(pulumi.IntPtrOutput) +} + +type IsSubnetNetworkAclAttachmentRuleUdpArrayOutput struct{ *pulumi.OutputState } + +func (IsSubnetNetworkAclAttachmentRuleUdpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetNetworkAclAttachmentRuleUdp)(nil)).Elem() +} + +func (o IsSubnetNetworkAclAttachmentRuleUdpArrayOutput) ToIsSubnetNetworkAclAttachmentRuleUdpArrayOutput() IsSubnetNetworkAclAttachmentRuleUdpArrayOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleUdpArrayOutput) ToIsSubnetNetworkAclAttachmentRuleUdpArrayOutputWithContext(ctx context.Context) IsSubnetNetworkAclAttachmentRuleUdpArrayOutput { + return o +} + +func (o IsSubnetNetworkAclAttachmentRuleUdpArrayOutput) Index(i pulumi.IntInput) IsSubnetNetworkAclAttachmentRuleUdpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSubnetNetworkAclAttachmentRuleUdp { + return vs[0].([]IsSubnetNetworkAclAttachmentRuleUdp)[vs[1].(int)] + }).(IsSubnetNetworkAclAttachmentRuleUdpOutput) +} + +type IsSubnetRoutingTableAttachmentResourceGroup struct { + // The URL for this resource group. + Href *string `pulumi:"href"` + // The unique identifier for this resource group. + Id *string `pulumi:"id"` + // The user-defined name for this resource group. + Name *string `pulumi:"name"` +} + +// IsSubnetRoutingTableAttachmentResourceGroupInput is an input type that accepts IsSubnetRoutingTableAttachmentResourceGroupArgs and IsSubnetRoutingTableAttachmentResourceGroupOutput values. +// You can construct a concrete instance of `IsSubnetRoutingTableAttachmentResourceGroupInput` via: +// +// IsSubnetRoutingTableAttachmentResourceGroupArgs{...} +type IsSubnetRoutingTableAttachmentResourceGroupInput interface { + pulumi.Input + + ToIsSubnetRoutingTableAttachmentResourceGroupOutput() IsSubnetRoutingTableAttachmentResourceGroupOutput + ToIsSubnetRoutingTableAttachmentResourceGroupOutputWithContext(context.Context) IsSubnetRoutingTableAttachmentResourceGroupOutput +} + +type IsSubnetRoutingTableAttachmentResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsSubnetRoutingTableAttachmentResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetRoutingTableAttachmentResourceGroup)(nil)).Elem() +} + +func (i IsSubnetRoutingTableAttachmentResourceGroupArgs) ToIsSubnetRoutingTableAttachmentResourceGroupOutput() IsSubnetRoutingTableAttachmentResourceGroupOutput { + return i.ToIsSubnetRoutingTableAttachmentResourceGroupOutputWithContext(context.Background()) +} + +func (i IsSubnetRoutingTableAttachmentResourceGroupArgs) ToIsSubnetRoutingTableAttachmentResourceGroupOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetRoutingTableAttachmentResourceGroupOutput) +} + +// IsSubnetRoutingTableAttachmentResourceGroupArrayInput is an input type that accepts IsSubnetRoutingTableAttachmentResourceGroupArray and IsSubnetRoutingTableAttachmentResourceGroupArrayOutput values. +// You can construct a concrete instance of `IsSubnetRoutingTableAttachmentResourceGroupArrayInput` via: +// +// IsSubnetRoutingTableAttachmentResourceGroupArray{ IsSubnetRoutingTableAttachmentResourceGroupArgs{...} } +type IsSubnetRoutingTableAttachmentResourceGroupArrayInput interface { + pulumi.Input + + ToIsSubnetRoutingTableAttachmentResourceGroupArrayOutput() IsSubnetRoutingTableAttachmentResourceGroupArrayOutput + ToIsSubnetRoutingTableAttachmentResourceGroupArrayOutputWithContext(context.Context) IsSubnetRoutingTableAttachmentResourceGroupArrayOutput +} + +type IsSubnetRoutingTableAttachmentResourceGroupArray []IsSubnetRoutingTableAttachmentResourceGroupInput + +func (IsSubnetRoutingTableAttachmentResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetRoutingTableAttachmentResourceGroup)(nil)).Elem() +} + +func (i IsSubnetRoutingTableAttachmentResourceGroupArray) ToIsSubnetRoutingTableAttachmentResourceGroupArrayOutput() IsSubnetRoutingTableAttachmentResourceGroupArrayOutput { + return i.ToIsSubnetRoutingTableAttachmentResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i IsSubnetRoutingTableAttachmentResourceGroupArray) ToIsSubnetRoutingTableAttachmentResourceGroupArrayOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetRoutingTableAttachmentResourceGroupArrayOutput) +} + +type IsSubnetRoutingTableAttachmentResourceGroupOutput struct{ *pulumi.OutputState } + +func (IsSubnetRoutingTableAttachmentResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetRoutingTableAttachmentResourceGroup)(nil)).Elem() +} + +func (o IsSubnetRoutingTableAttachmentResourceGroupOutput) ToIsSubnetRoutingTableAttachmentResourceGroupOutput() IsSubnetRoutingTableAttachmentResourceGroupOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentResourceGroupOutput) ToIsSubnetRoutingTableAttachmentResourceGroupOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o IsSubnetRoutingTableAttachmentResourceGroupOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetRoutingTableAttachmentResourceGroup) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group. +func (o IsSubnetRoutingTableAttachmentResourceGroupOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetRoutingTableAttachmentResourceGroup) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this resource group. +func (o IsSubnetRoutingTableAttachmentResourceGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetRoutingTableAttachmentResourceGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsSubnetRoutingTableAttachmentResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (IsSubnetRoutingTableAttachmentResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetRoutingTableAttachmentResourceGroup)(nil)).Elem() +} + +func (o IsSubnetRoutingTableAttachmentResourceGroupArrayOutput) ToIsSubnetRoutingTableAttachmentResourceGroupArrayOutput() IsSubnetRoutingTableAttachmentResourceGroupArrayOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentResourceGroupArrayOutput) ToIsSubnetRoutingTableAttachmentResourceGroupArrayOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentResourceGroupArrayOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentResourceGroupArrayOutput) Index(i pulumi.IntInput) IsSubnetRoutingTableAttachmentResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSubnetRoutingTableAttachmentResourceGroup { + return vs[0].([]IsSubnetRoutingTableAttachmentResourceGroup)[vs[1].(int)] + }).(IsSubnetRoutingTableAttachmentResourceGroupOutput) +} + +type IsSubnetRoutingTableAttachmentRoute struct { + // route ID + Id *string `pulumi:"id"` + // route name + Name *string `pulumi:"name"` +} + +// IsSubnetRoutingTableAttachmentRouteInput is an input type that accepts IsSubnetRoutingTableAttachmentRouteArgs and IsSubnetRoutingTableAttachmentRouteOutput values. +// You can construct a concrete instance of `IsSubnetRoutingTableAttachmentRouteInput` via: +// +// IsSubnetRoutingTableAttachmentRouteArgs{...} +type IsSubnetRoutingTableAttachmentRouteInput interface { + pulumi.Input + + ToIsSubnetRoutingTableAttachmentRouteOutput() IsSubnetRoutingTableAttachmentRouteOutput + ToIsSubnetRoutingTableAttachmentRouteOutputWithContext(context.Context) IsSubnetRoutingTableAttachmentRouteOutput +} + +type IsSubnetRoutingTableAttachmentRouteArgs struct { + // route ID + Id pulumi.StringPtrInput `pulumi:"id"` + // route name + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsSubnetRoutingTableAttachmentRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetRoutingTableAttachmentRoute)(nil)).Elem() +} + +func (i IsSubnetRoutingTableAttachmentRouteArgs) ToIsSubnetRoutingTableAttachmentRouteOutput() IsSubnetRoutingTableAttachmentRouteOutput { + return i.ToIsSubnetRoutingTableAttachmentRouteOutputWithContext(context.Background()) +} + +func (i IsSubnetRoutingTableAttachmentRouteArgs) ToIsSubnetRoutingTableAttachmentRouteOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetRoutingTableAttachmentRouteOutput) +} + +// IsSubnetRoutingTableAttachmentRouteArrayInput is an input type that accepts IsSubnetRoutingTableAttachmentRouteArray and IsSubnetRoutingTableAttachmentRouteArrayOutput values. +// You can construct a concrete instance of `IsSubnetRoutingTableAttachmentRouteArrayInput` via: +// +// IsSubnetRoutingTableAttachmentRouteArray{ IsSubnetRoutingTableAttachmentRouteArgs{...} } +type IsSubnetRoutingTableAttachmentRouteArrayInput interface { + pulumi.Input + + ToIsSubnetRoutingTableAttachmentRouteArrayOutput() IsSubnetRoutingTableAttachmentRouteArrayOutput + ToIsSubnetRoutingTableAttachmentRouteArrayOutputWithContext(context.Context) IsSubnetRoutingTableAttachmentRouteArrayOutput +} + +type IsSubnetRoutingTableAttachmentRouteArray []IsSubnetRoutingTableAttachmentRouteInput + +func (IsSubnetRoutingTableAttachmentRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetRoutingTableAttachmentRoute)(nil)).Elem() +} + +func (i IsSubnetRoutingTableAttachmentRouteArray) ToIsSubnetRoutingTableAttachmentRouteArrayOutput() IsSubnetRoutingTableAttachmentRouteArrayOutput { + return i.ToIsSubnetRoutingTableAttachmentRouteArrayOutputWithContext(context.Background()) +} + +func (i IsSubnetRoutingTableAttachmentRouteArray) ToIsSubnetRoutingTableAttachmentRouteArrayOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetRoutingTableAttachmentRouteArrayOutput) +} + +type IsSubnetRoutingTableAttachmentRouteOutput struct{ *pulumi.OutputState } + +func (IsSubnetRoutingTableAttachmentRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetRoutingTableAttachmentRoute)(nil)).Elem() +} + +func (o IsSubnetRoutingTableAttachmentRouteOutput) ToIsSubnetRoutingTableAttachmentRouteOutput() IsSubnetRoutingTableAttachmentRouteOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentRouteOutput) ToIsSubnetRoutingTableAttachmentRouteOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentRouteOutput { + return o +} + +// route ID +func (o IsSubnetRoutingTableAttachmentRouteOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetRoutingTableAttachmentRoute) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// route name +func (o IsSubnetRoutingTableAttachmentRouteOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetRoutingTableAttachmentRoute) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsSubnetRoutingTableAttachmentRouteArrayOutput struct{ *pulumi.OutputState } + +func (IsSubnetRoutingTableAttachmentRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetRoutingTableAttachmentRoute)(nil)).Elem() +} + +func (o IsSubnetRoutingTableAttachmentRouteArrayOutput) ToIsSubnetRoutingTableAttachmentRouteArrayOutput() IsSubnetRoutingTableAttachmentRouteArrayOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentRouteArrayOutput) ToIsSubnetRoutingTableAttachmentRouteArrayOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentRouteArrayOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentRouteArrayOutput) Index(i pulumi.IntInput) IsSubnetRoutingTableAttachmentRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSubnetRoutingTableAttachmentRoute { + return vs[0].([]IsSubnetRoutingTableAttachmentRoute)[vs[1].(int)] + }).(IsSubnetRoutingTableAttachmentRouteOutput) +} + +type IsSubnetRoutingTableAttachmentSubnet struct { + // Subnet ID + Id *string `pulumi:"id"` + // Subnet name + Name *string `pulumi:"name"` +} + +// IsSubnetRoutingTableAttachmentSubnetInput is an input type that accepts IsSubnetRoutingTableAttachmentSubnetArgs and IsSubnetRoutingTableAttachmentSubnetOutput values. +// You can construct a concrete instance of `IsSubnetRoutingTableAttachmentSubnetInput` via: +// +// IsSubnetRoutingTableAttachmentSubnetArgs{...} +type IsSubnetRoutingTableAttachmentSubnetInput interface { + pulumi.Input + + ToIsSubnetRoutingTableAttachmentSubnetOutput() IsSubnetRoutingTableAttachmentSubnetOutput + ToIsSubnetRoutingTableAttachmentSubnetOutputWithContext(context.Context) IsSubnetRoutingTableAttachmentSubnetOutput +} + +type IsSubnetRoutingTableAttachmentSubnetArgs struct { + // Subnet ID + Id pulumi.StringPtrInput `pulumi:"id"` + // Subnet name + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsSubnetRoutingTableAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetRoutingTableAttachmentSubnet)(nil)).Elem() +} + +func (i IsSubnetRoutingTableAttachmentSubnetArgs) ToIsSubnetRoutingTableAttachmentSubnetOutput() IsSubnetRoutingTableAttachmentSubnetOutput { + return i.ToIsSubnetRoutingTableAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i IsSubnetRoutingTableAttachmentSubnetArgs) ToIsSubnetRoutingTableAttachmentSubnetOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetRoutingTableAttachmentSubnetOutput) +} + +// IsSubnetRoutingTableAttachmentSubnetArrayInput is an input type that accepts IsSubnetRoutingTableAttachmentSubnetArray and IsSubnetRoutingTableAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `IsSubnetRoutingTableAttachmentSubnetArrayInput` via: +// +// IsSubnetRoutingTableAttachmentSubnetArray{ IsSubnetRoutingTableAttachmentSubnetArgs{...} } +type IsSubnetRoutingTableAttachmentSubnetArrayInput interface { + pulumi.Input + + ToIsSubnetRoutingTableAttachmentSubnetArrayOutput() IsSubnetRoutingTableAttachmentSubnetArrayOutput + ToIsSubnetRoutingTableAttachmentSubnetArrayOutputWithContext(context.Context) IsSubnetRoutingTableAttachmentSubnetArrayOutput +} + +type IsSubnetRoutingTableAttachmentSubnetArray []IsSubnetRoutingTableAttachmentSubnetInput + +func (IsSubnetRoutingTableAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetRoutingTableAttachmentSubnet)(nil)).Elem() +} + +func (i IsSubnetRoutingTableAttachmentSubnetArray) ToIsSubnetRoutingTableAttachmentSubnetArrayOutput() IsSubnetRoutingTableAttachmentSubnetArrayOutput { + return i.ToIsSubnetRoutingTableAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i IsSubnetRoutingTableAttachmentSubnetArray) ToIsSubnetRoutingTableAttachmentSubnetArrayOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsSubnetRoutingTableAttachmentSubnetArrayOutput) +} + +type IsSubnetRoutingTableAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (IsSubnetRoutingTableAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsSubnetRoutingTableAttachmentSubnet)(nil)).Elem() +} + +func (o IsSubnetRoutingTableAttachmentSubnetOutput) ToIsSubnetRoutingTableAttachmentSubnetOutput() IsSubnetRoutingTableAttachmentSubnetOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentSubnetOutput) ToIsSubnetRoutingTableAttachmentSubnetOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentSubnetOutput { + return o +} + +// Subnet ID +func (o IsSubnetRoutingTableAttachmentSubnetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetRoutingTableAttachmentSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Subnet name +func (o IsSubnetRoutingTableAttachmentSubnetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsSubnetRoutingTableAttachmentSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsSubnetRoutingTableAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (IsSubnetRoutingTableAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsSubnetRoutingTableAttachmentSubnet)(nil)).Elem() +} + +func (o IsSubnetRoutingTableAttachmentSubnetArrayOutput) ToIsSubnetRoutingTableAttachmentSubnetArrayOutput() IsSubnetRoutingTableAttachmentSubnetArrayOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentSubnetArrayOutput) ToIsSubnetRoutingTableAttachmentSubnetArrayOutputWithContext(ctx context.Context) IsSubnetRoutingTableAttachmentSubnetArrayOutput { + return o +} + +func (o IsSubnetRoutingTableAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) IsSubnetRoutingTableAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsSubnetRoutingTableAttachmentSubnet { + return vs[0].([]IsSubnetRoutingTableAttachmentSubnet)[vs[1].(int)] + }).(IsSubnetRoutingTableAttachmentSubnetOutput) +} + +type IsVirtualEndpointGatewayIpType struct { + // The IP Address + Address *string `pulumi:"address"` + // The IPs id + Id *string `pulumi:"id"` + // The IPs name + Name *string `pulumi:"name"` + // The VPE Resource Type + ResourceType *string `pulumi:"resourceType"` + // The Subnet id + Subnet *string `pulumi:"subnet"` +} + +// IsVirtualEndpointGatewayIpTypeInput is an input type that accepts IsVirtualEndpointGatewayIpTypeArgs and IsVirtualEndpointGatewayIpTypeOutput values. +// You can construct a concrete instance of `IsVirtualEndpointGatewayIpTypeInput` via: +// +// IsVirtualEndpointGatewayIpTypeArgs{...} +type IsVirtualEndpointGatewayIpTypeInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayIpTypeOutput() IsVirtualEndpointGatewayIpTypeOutput + ToIsVirtualEndpointGatewayIpTypeOutputWithContext(context.Context) IsVirtualEndpointGatewayIpTypeOutput +} + +type IsVirtualEndpointGatewayIpTypeArgs struct { + // The IP Address + Address pulumi.StringPtrInput `pulumi:"address"` + // The IPs id + Id pulumi.StringPtrInput `pulumi:"id"` + // The IPs name + Name pulumi.StringPtrInput `pulumi:"name"` + // The VPE Resource Type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // The Subnet id + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (IsVirtualEndpointGatewayIpTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualEndpointGatewayIpType)(nil)).Elem() +} + +func (i IsVirtualEndpointGatewayIpTypeArgs) ToIsVirtualEndpointGatewayIpTypeOutput() IsVirtualEndpointGatewayIpTypeOutput { + return i.ToIsVirtualEndpointGatewayIpTypeOutputWithContext(context.Background()) +} + +func (i IsVirtualEndpointGatewayIpTypeArgs) ToIsVirtualEndpointGatewayIpTypeOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayIpTypeOutput) +} + +// IsVirtualEndpointGatewayIpTypeArrayInput is an input type that accepts IsVirtualEndpointGatewayIpTypeArray and IsVirtualEndpointGatewayIpTypeArrayOutput values. +// You can construct a concrete instance of `IsVirtualEndpointGatewayIpTypeArrayInput` via: +// +// IsVirtualEndpointGatewayIpTypeArray{ IsVirtualEndpointGatewayIpTypeArgs{...} } +type IsVirtualEndpointGatewayIpTypeArrayInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayIpTypeArrayOutput() IsVirtualEndpointGatewayIpTypeArrayOutput + ToIsVirtualEndpointGatewayIpTypeArrayOutputWithContext(context.Context) IsVirtualEndpointGatewayIpTypeArrayOutput +} + +type IsVirtualEndpointGatewayIpTypeArray []IsVirtualEndpointGatewayIpTypeInput + +func (IsVirtualEndpointGatewayIpTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualEndpointGatewayIpType)(nil)).Elem() +} + +func (i IsVirtualEndpointGatewayIpTypeArray) ToIsVirtualEndpointGatewayIpTypeArrayOutput() IsVirtualEndpointGatewayIpTypeArrayOutput { + return i.ToIsVirtualEndpointGatewayIpTypeArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualEndpointGatewayIpTypeArray) ToIsVirtualEndpointGatewayIpTypeArrayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayIpTypeArrayOutput) +} + +type IsVirtualEndpointGatewayIpTypeOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayIpTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualEndpointGatewayIpType)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayIpTypeOutput) ToIsVirtualEndpointGatewayIpTypeOutput() IsVirtualEndpointGatewayIpTypeOutput { + return o +} + +func (o IsVirtualEndpointGatewayIpTypeOutput) ToIsVirtualEndpointGatewayIpTypeOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpTypeOutput { + return o +} + +// The IP Address +func (o IsVirtualEndpointGatewayIpTypeOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayIpType) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The IPs id +func (o IsVirtualEndpointGatewayIpTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayIpType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The IPs name +func (o IsVirtualEndpointGatewayIpTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayIpType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The VPE Resource Type +func (o IsVirtualEndpointGatewayIpTypeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayIpType) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// The Subnet id +func (o IsVirtualEndpointGatewayIpTypeOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayIpType) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type IsVirtualEndpointGatewayIpTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayIpTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualEndpointGatewayIpType)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayIpTypeArrayOutput) ToIsVirtualEndpointGatewayIpTypeArrayOutput() IsVirtualEndpointGatewayIpTypeArrayOutput { + return o +} + +func (o IsVirtualEndpointGatewayIpTypeArrayOutput) ToIsVirtualEndpointGatewayIpTypeArrayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpTypeArrayOutput { + return o +} + +func (o IsVirtualEndpointGatewayIpTypeArrayOutput) Index(i pulumi.IntInput) IsVirtualEndpointGatewayIpTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualEndpointGatewayIpType { + return vs[0].([]IsVirtualEndpointGatewayIpType)[vs[1].(int)] + }).(IsVirtualEndpointGatewayIpTypeOutput) +} + +type IsVirtualEndpointGatewayIpTarget struct { + // The IPs target id + Id *string `pulumi:"id"` + // The IPs target name + Name *string `pulumi:"name"` + // Endpoint gateway resource type + ResourceType *string `pulumi:"resourceType"` +} + +// IsVirtualEndpointGatewayIpTargetInput is an input type that accepts IsVirtualEndpointGatewayIpTargetArgs and IsVirtualEndpointGatewayIpTargetOutput values. +// You can construct a concrete instance of `IsVirtualEndpointGatewayIpTargetInput` via: +// +// IsVirtualEndpointGatewayIpTargetArgs{...} +type IsVirtualEndpointGatewayIpTargetInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayIpTargetOutput() IsVirtualEndpointGatewayIpTargetOutput + ToIsVirtualEndpointGatewayIpTargetOutputWithContext(context.Context) IsVirtualEndpointGatewayIpTargetOutput +} + +type IsVirtualEndpointGatewayIpTargetArgs struct { + // The IPs target id + Id pulumi.StringPtrInput `pulumi:"id"` + // The IPs target name + Name pulumi.StringPtrInput `pulumi:"name"` + // Endpoint gateway resource type + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVirtualEndpointGatewayIpTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualEndpointGatewayIpTarget)(nil)).Elem() +} + +func (i IsVirtualEndpointGatewayIpTargetArgs) ToIsVirtualEndpointGatewayIpTargetOutput() IsVirtualEndpointGatewayIpTargetOutput { + return i.ToIsVirtualEndpointGatewayIpTargetOutputWithContext(context.Background()) +} + +func (i IsVirtualEndpointGatewayIpTargetArgs) ToIsVirtualEndpointGatewayIpTargetOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayIpTargetOutput) +} + +// IsVirtualEndpointGatewayIpTargetArrayInput is an input type that accepts IsVirtualEndpointGatewayIpTargetArray and IsVirtualEndpointGatewayIpTargetArrayOutput values. +// You can construct a concrete instance of `IsVirtualEndpointGatewayIpTargetArrayInput` via: +// +// IsVirtualEndpointGatewayIpTargetArray{ IsVirtualEndpointGatewayIpTargetArgs{...} } +type IsVirtualEndpointGatewayIpTargetArrayInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayIpTargetArrayOutput() IsVirtualEndpointGatewayIpTargetArrayOutput + ToIsVirtualEndpointGatewayIpTargetArrayOutputWithContext(context.Context) IsVirtualEndpointGatewayIpTargetArrayOutput +} + +type IsVirtualEndpointGatewayIpTargetArray []IsVirtualEndpointGatewayIpTargetInput + +func (IsVirtualEndpointGatewayIpTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualEndpointGatewayIpTarget)(nil)).Elem() +} + +func (i IsVirtualEndpointGatewayIpTargetArray) ToIsVirtualEndpointGatewayIpTargetArrayOutput() IsVirtualEndpointGatewayIpTargetArrayOutput { + return i.ToIsVirtualEndpointGatewayIpTargetArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualEndpointGatewayIpTargetArray) ToIsVirtualEndpointGatewayIpTargetArrayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayIpTargetArrayOutput) +} + +type IsVirtualEndpointGatewayIpTargetOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayIpTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualEndpointGatewayIpTarget)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayIpTargetOutput) ToIsVirtualEndpointGatewayIpTargetOutput() IsVirtualEndpointGatewayIpTargetOutput { + return o +} + +func (o IsVirtualEndpointGatewayIpTargetOutput) ToIsVirtualEndpointGatewayIpTargetOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpTargetOutput { + return o +} + +// The IPs target id +func (o IsVirtualEndpointGatewayIpTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayIpTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The IPs target name +func (o IsVirtualEndpointGatewayIpTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayIpTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Endpoint gateway resource type +func (o IsVirtualEndpointGatewayIpTargetOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayIpTarget) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVirtualEndpointGatewayIpTargetArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayIpTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualEndpointGatewayIpTarget)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayIpTargetArrayOutput) ToIsVirtualEndpointGatewayIpTargetArrayOutput() IsVirtualEndpointGatewayIpTargetArrayOutput { + return o +} + +func (o IsVirtualEndpointGatewayIpTargetArrayOutput) ToIsVirtualEndpointGatewayIpTargetArrayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayIpTargetArrayOutput { + return o +} + +func (o IsVirtualEndpointGatewayIpTargetArrayOutput) Index(i pulumi.IntInput) IsVirtualEndpointGatewayIpTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualEndpointGatewayIpTarget { + return vs[0].([]IsVirtualEndpointGatewayIpTarget)[vs[1].(int)] + }).(IsVirtualEndpointGatewayIpTargetOutput) +} + +type IsVirtualEndpointGatewayLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVirtualEndpointGatewayLifecycleReasonInput is an input type that accepts IsVirtualEndpointGatewayLifecycleReasonArgs and IsVirtualEndpointGatewayLifecycleReasonOutput values. +// You can construct a concrete instance of `IsVirtualEndpointGatewayLifecycleReasonInput` via: +// +// IsVirtualEndpointGatewayLifecycleReasonArgs{...} +type IsVirtualEndpointGatewayLifecycleReasonInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayLifecycleReasonOutput() IsVirtualEndpointGatewayLifecycleReasonOutput + ToIsVirtualEndpointGatewayLifecycleReasonOutputWithContext(context.Context) IsVirtualEndpointGatewayLifecycleReasonOutput +} + +type IsVirtualEndpointGatewayLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVirtualEndpointGatewayLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (i IsVirtualEndpointGatewayLifecycleReasonArgs) ToIsVirtualEndpointGatewayLifecycleReasonOutput() IsVirtualEndpointGatewayLifecycleReasonOutput { + return i.ToIsVirtualEndpointGatewayLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsVirtualEndpointGatewayLifecycleReasonArgs) ToIsVirtualEndpointGatewayLifecycleReasonOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayLifecycleReasonOutput) +} + +// IsVirtualEndpointGatewayLifecycleReasonArrayInput is an input type that accepts IsVirtualEndpointGatewayLifecycleReasonArray and IsVirtualEndpointGatewayLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsVirtualEndpointGatewayLifecycleReasonArrayInput` via: +// +// IsVirtualEndpointGatewayLifecycleReasonArray{ IsVirtualEndpointGatewayLifecycleReasonArgs{...} } +type IsVirtualEndpointGatewayLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayLifecycleReasonArrayOutput() IsVirtualEndpointGatewayLifecycleReasonArrayOutput + ToIsVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(context.Context) IsVirtualEndpointGatewayLifecycleReasonArrayOutput +} + +type IsVirtualEndpointGatewayLifecycleReasonArray []IsVirtualEndpointGatewayLifecycleReasonInput + +func (IsVirtualEndpointGatewayLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (i IsVirtualEndpointGatewayLifecycleReasonArray) ToIsVirtualEndpointGatewayLifecycleReasonArrayOutput() IsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return i.ToIsVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualEndpointGatewayLifecycleReasonArray) ToIsVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayLifecycleReasonArrayOutput) +} + +type IsVirtualEndpointGatewayLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayLifecycleReasonOutput) ToIsVirtualEndpointGatewayLifecycleReasonOutput() IsVirtualEndpointGatewayLifecycleReasonOutput { + return o +} + +func (o IsVirtualEndpointGatewayLifecycleReasonOutput) ToIsVirtualEndpointGatewayLifecycleReasonOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o IsVirtualEndpointGatewayLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsVirtualEndpointGatewayLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsVirtualEndpointGatewayLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVirtualEndpointGatewayLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayLifecycleReasonArrayOutput) ToIsVirtualEndpointGatewayLifecycleReasonArrayOutput() IsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o +} + +func (o IsVirtualEndpointGatewayLifecycleReasonArrayOutput) ToIsVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o +} + +func (o IsVirtualEndpointGatewayLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsVirtualEndpointGatewayLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualEndpointGatewayLifecycleReason { + return vs[0].([]IsVirtualEndpointGatewayLifecycleReason)[vs[1].(int)] + }).(IsVirtualEndpointGatewayLifecycleReasonOutput) +} + +type IsVirtualEndpointGatewayTarget struct { + // The target crn + Crn *string `pulumi:"crn"` + // The target name + Name *string `pulumi:"name"` + // The target resource type + ResourceType string `pulumi:"resourceType"` +} + +// IsVirtualEndpointGatewayTargetInput is an input type that accepts IsVirtualEndpointGatewayTargetArgs and IsVirtualEndpointGatewayTargetOutput values. +// You can construct a concrete instance of `IsVirtualEndpointGatewayTargetInput` via: +// +// IsVirtualEndpointGatewayTargetArgs{...} +type IsVirtualEndpointGatewayTargetInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayTargetOutput() IsVirtualEndpointGatewayTargetOutput + ToIsVirtualEndpointGatewayTargetOutputWithContext(context.Context) IsVirtualEndpointGatewayTargetOutput +} + +type IsVirtualEndpointGatewayTargetArgs struct { + // The target crn + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The target name + Name pulumi.StringPtrInput `pulumi:"name"` + // The target resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (IsVirtualEndpointGatewayTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (i IsVirtualEndpointGatewayTargetArgs) ToIsVirtualEndpointGatewayTargetOutput() IsVirtualEndpointGatewayTargetOutput { + return i.ToIsVirtualEndpointGatewayTargetOutputWithContext(context.Background()) +} + +func (i IsVirtualEndpointGatewayTargetArgs) ToIsVirtualEndpointGatewayTargetOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayTargetOutput) +} + +func (i IsVirtualEndpointGatewayTargetArgs) ToIsVirtualEndpointGatewayTargetPtrOutput() IsVirtualEndpointGatewayTargetPtrOutput { + return i.ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(context.Background()) +} + +func (i IsVirtualEndpointGatewayTargetArgs) ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayTargetOutput).ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(ctx) +} + +// IsVirtualEndpointGatewayTargetPtrInput is an input type that accepts IsVirtualEndpointGatewayTargetArgs, IsVirtualEndpointGatewayTargetPtr and IsVirtualEndpointGatewayTargetPtrOutput values. +// You can construct a concrete instance of `IsVirtualEndpointGatewayTargetPtrInput` via: +// +// IsVirtualEndpointGatewayTargetArgs{...} +// +// or: +// +// nil +type IsVirtualEndpointGatewayTargetPtrInput interface { + pulumi.Input + + ToIsVirtualEndpointGatewayTargetPtrOutput() IsVirtualEndpointGatewayTargetPtrOutput + ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(context.Context) IsVirtualEndpointGatewayTargetPtrOutput +} + +type isVirtualEndpointGatewayTargetPtrType IsVirtualEndpointGatewayTargetArgs + +func IsVirtualEndpointGatewayTargetPtr(v *IsVirtualEndpointGatewayTargetArgs) IsVirtualEndpointGatewayTargetPtrInput { + return (*isVirtualEndpointGatewayTargetPtrType)(v) +} + +func (*isVirtualEndpointGatewayTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (i *isVirtualEndpointGatewayTargetPtrType) ToIsVirtualEndpointGatewayTargetPtrOutput() IsVirtualEndpointGatewayTargetPtrOutput { + return i.ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(context.Background()) +} + +func (i *isVirtualEndpointGatewayTargetPtrType) ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualEndpointGatewayTargetPtrOutput) +} + +type IsVirtualEndpointGatewayTargetOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayTargetOutput) ToIsVirtualEndpointGatewayTargetOutput() IsVirtualEndpointGatewayTargetOutput { + return o +} + +func (o IsVirtualEndpointGatewayTargetOutput) ToIsVirtualEndpointGatewayTargetOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayTargetOutput { + return o +} + +func (o IsVirtualEndpointGatewayTargetOutput) ToIsVirtualEndpointGatewayTargetPtrOutput() IsVirtualEndpointGatewayTargetPtrOutput { + return o.ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(context.Background()) +} + +func (o IsVirtualEndpointGatewayTargetOutput) ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVirtualEndpointGatewayTarget) *IsVirtualEndpointGatewayTarget { + return &v + }).(IsVirtualEndpointGatewayTargetPtrOutput) +} + +// The target crn +func (o IsVirtualEndpointGatewayTargetOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayTarget) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The target name +func (o IsVirtualEndpointGatewayTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The target resource type +func (o IsVirtualEndpointGatewayTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v IsVirtualEndpointGatewayTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type IsVirtualEndpointGatewayTargetPtrOutput struct{ *pulumi.OutputState } + +func (IsVirtualEndpointGatewayTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (o IsVirtualEndpointGatewayTargetPtrOutput) ToIsVirtualEndpointGatewayTargetPtrOutput() IsVirtualEndpointGatewayTargetPtrOutput { + return o +} + +func (o IsVirtualEndpointGatewayTargetPtrOutput) ToIsVirtualEndpointGatewayTargetPtrOutputWithContext(ctx context.Context) IsVirtualEndpointGatewayTargetPtrOutput { + return o +} + +func (o IsVirtualEndpointGatewayTargetPtrOutput) Elem() IsVirtualEndpointGatewayTargetOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayTarget) IsVirtualEndpointGatewayTarget { + if v != nil { + return *v + } + var ret IsVirtualEndpointGatewayTarget + return ret + }).(IsVirtualEndpointGatewayTargetOutput) +} + +// The target crn +func (o IsVirtualEndpointGatewayTargetPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayTarget) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// The target name +func (o IsVirtualEndpointGatewayTargetPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayTarget) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The target resource type +func (o IsVirtualEndpointGatewayTargetPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualEndpointGatewayTarget) *string { + if v == nil { + return nil + } + return &v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfaceFloatingIpDeleted struct { + // Link to documentation about deleted resources + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVirtualNetworkInterfaceFloatingIpDeletedInput is an input type that accepts IsVirtualNetworkInterfaceFloatingIpDeletedArgs and IsVirtualNetworkInterfaceFloatingIpDeletedOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceFloatingIpDeletedInput` via: +// +// IsVirtualNetworkInterfaceFloatingIpDeletedArgs{...} +type IsVirtualNetworkInterfaceFloatingIpDeletedInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceFloatingIpDeletedOutput() IsVirtualNetworkInterfaceFloatingIpDeletedOutput + ToIsVirtualNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Context) IsVirtualNetworkInterfaceFloatingIpDeletedOutput +} + +type IsVirtualNetworkInterfaceFloatingIpDeletedArgs struct { + // Link to documentation about deleted resources + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVirtualNetworkInterfaceFloatingIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceFloatingIpDeletedArgs) ToIsVirtualNetworkInterfaceFloatingIpDeletedOutput() IsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return i.ToIsVirtualNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceFloatingIpDeletedArgs) ToIsVirtualNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceFloatingIpDeletedOutput) +} + +// IsVirtualNetworkInterfaceFloatingIpDeletedArrayInput is an input type that accepts IsVirtualNetworkInterfaceFloatingIpDeletedArray and IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceFloatingIpDeletedArrayInput` via: +// +// IsVirtualNetworkInterfaceFloatingIpDeletedArray{ IsVirtualNetworkInterfaceFloatingIpDeletedArgs{...} } +type IsVirtualNetworkInterfaceFloatingIpDeletedArrayInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput() IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput + ToIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Context) IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput +} + +type IsVirtualNetworkInterfaceFloatingIpDeletedArray []IsVirtualNetworkInterfaceFloatingIpDeletedInput + +func (IsVirtualNetworkInterfaceFloatingIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceFloatingIpDeletedArray) ToIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput() IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return i.ToIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceFloatingIpDeletedArray) ToIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +type IsVirtualNetworkInterfaceFloatingIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceFloatingIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceFloatingIpDeletedOutput) ToIsVirtualNetworkInterfaceFloatingIpDeletedOutput() IsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +func (o IsVirtualNetworkInterfaceFloatingIpDeletedOutput) ToIsVirtualNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources +func (o IsVirtualNetworkInterfaceFloatingIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceFloatingIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) ToIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput() IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) ToIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) Index(i pulumi.IntInput) IsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualNetworkInterfaceFloatingIpDeleted { + return vs[0].([]IsVirtualNetworkInterfaceFloatingIpDeleted)[vs[1].(int)] + }).(IsVirtualNetworkInterfaceFloatingIpDeletedOutput) +} + +type IsVirtualNetworkInterfaceIpType struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVirtualNetworkInterfaceIpTypeInput is an input type that accepts IsVirtualNetworkInterfaceIpTypeArgs and IsVirtualNetworkInterfaceIpTypeOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceIpTypeInput` via: +// +// IsVirtualNetworkInterfaceIpTypeArgs{...} +type IsVirtualNetworkInterfaceIpTypeInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceIpTypeOutput() IsVirtualNetworkInterfaceIpTypeOutput + ToIsVirtualNetworkInterfaceIpTypeOutputWithContext(context.Context) IsVirtualNetworkInterfaceIpTypeOutput +} + +type IsVirtualNetworkInterfaceIpTypeArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVirtualNetworkInterfaceIpTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceIpType)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceIpTypeArgs) ToIsVirtualNetworkInterfaceIpTypeOutput() IsVirtualNetworkInterfaceIpTypeOutput { + return i.ToIsVirtualNetworkInterfaceIpTypeOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceIpTypeArgs) ToIsVirtualNetworkInterfaceIpTypeOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceIpTypeOutput) +} + +// IsVirtualNetworkInterfaceIpTypeArrayInput is an input type that accepts IsVirtualNetworkInterfaceIpTypeArray and IsVirtualNetworkInterfaceIpTypeArrayOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceIpTypeArrayInput` via: +// +// IsVirtualNetworkInterfaceIpTypeArray{ IsVirtualNetworkInterfaceIpTypeArgs{...} } +type IsVirtualNetworkInterfaceIpTypeArrayInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceIpTypeArrayOutput() IsVirtualNetworkInterfaceIpTypeArrayOutput + ToIsVirtualNetworkInterfaceIpTypeArrayOutputWithContext(context.Context) IsVirtualNetworkInterfaceIpTypeArrayOutput +} + +type IsVirtualNetworkInterfaceIpTypeArray []IsVirtualNetworkInterfaceIpTypeInput + +func (IsVirtualNetworkInterfaceIpTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceIpType)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceIpTypeArray) ToIsVirtualNetworkInterfaceIpTypeArrayOutput() IsVirtualNetworkInterfaceIpTypeArrayOutput { + return i.ToIsVirtualNetworkInterfaceIpTypeArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceIpTypeArray) ToIsVirtualNetworkInterfaceIpTypeArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceIpTypeArrayOutput) +} + +type IsVirtualNetworkInterfaceIpTypeOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceIpTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceIpType)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceIpTypeOutput) ToIsVirtualNetworkInterfaceIpTypeOutput() IsVirtualNetworkInterfaceIpTypeOutput { + return o +} + +func (o IsVirtualNetworkInterfaceIpTypeOutput) ToIsVirtualNetworkInterfaceIpTypeOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpTypeOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsVirtualNetworkInterfaceIpTypeOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceIpType) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsVirtualNetworkInterfaceIpTypeOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceIpType) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsVirtualNetworkInterfaceIpTypeOutput) Deleteds() IsVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceIpType) []IsVirtualNetworkInterfaceIpDeleted { return v.Deleteds }).(IsVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsVirtualNetworkInterfaceIpTypeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceIpType) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsVirtualNetworkInterfaceIpTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceIpType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsVirtualNetworkInterfaceIpTypeOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceIpType) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o IsVirtualNetworkInterfaceIpTypeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceIpType) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfaceIpTypeArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceIpTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceIpType)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceIpTypeArrayOutput) ToIsVirtualNetworkInterfaceIpTypeArrayOutput() IsVirtualNetworkInterfaceIpTypeArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceIpTypeArrayOutput) ToIsVirtualNetworkInterfaceIpTypeArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpTypeArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceIpTypeArrayOutput) Index(i pulumi.IntInput) IsVirtualNetworkInterfaceIpTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualNetworkInterfaceIpType { + return vs[0].([]IsVirtualNetworkInterfaceIpType)[vs[1].(int)] + }).(IsVirtualNetworkInterfaceIpTypeOutput) +} + +type IsVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVirtualNetworkInterfaceIpDeletedInput is an input type that accepts IsVirtualNetworkInterfaceIpDeletedArgs and IsVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceIpDeletedInput` via: +// +// IsVirtualNetworkInterfaceIpDeletedArgs{...} +type IsVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceIpDeletedOutput() IsVirtualNetworkInterfaceIpDeletedOutput + ToIsVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) IsVirtualNetworkInterfaceIpDeletedOutput +} + +type IsVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceIpDeletedArgs) ToIsVirtualNetworkInterfaceIpDeletedOutput() IsVirtualNetworkInterfaceIpDeletedOutput { + return i.ToIsVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceIpDeletedArgs) ToIsVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceIpDeletedOutput) +} + +// IsVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts IsVirtualNetworkInterfaceIpDeletedArray and IsVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// IsVirtualNetworkInterfaceIpDeletedArray{ IsVirtualNetworkInterfaceIpDeletedArgs{...} } +type IsVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceIpDeletedArrayOutput() IsVirtualNetworkInterfaceIpDeletedArrayOutput + ToIsVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) IsVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type IsVirtualNetworkInterfaceIpDeletedArray []IsVirtualNetworkInterfaceIpDeletedInput + +func (IsVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceIpDeletedArray) ToIsVirtualNetworkInterfaceIpDeletedArrayOutput() IsVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToIsVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceIpDeletedArray) ToIsVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type IsVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceIpDeletedOutput) ToIsVirtualNetworkInterfaceIpDeletedOutput() IsVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o IsVirtualNetworkInterfaceIpDeletedOutput) ToIsVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsVirtualNetworkInterfaceIpDeletedArrayOutput() IsVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceIpDeletedArrayOutput) ToIsVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) IsVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualNetworkInterfaceIpDeleted { + return vs[0].([]IsVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(IsVirtualNetworkInterfaceIpDeletedOutput) +} + +type IsVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete *bool `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name *string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp *string `pulumi:"reservedIp"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVirtualNetworkInterfacePrimaryIpInput is an input type that accepts IsVirtualNetworkInterfacePrimaryIpArgs and IsVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfacePrimaryIpInput` via: +// +// IsVirtualNetworkInterfacePrimaryIpArgs{...} +type IsVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfacePrimaryIpOutput() IsVirtualNetworkInterfacePrimaryIpOutput + ToIsVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) IsVirtualNetworkInterfacePrimaryIpOutput +} + +type IsVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolPtrInput `pulumi:"autoDelete"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringPtrInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringPtrInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfacePrimaryIpArgs) ToIsVirtualNetworkInterfacePrimaryIpOutput() IsVirtualNetworkInterfacePrimaryIpOutput { + return i.ToIsVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfacePrimaryIpArgs) ToIsVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfacePrimaryIpOutput) +} + +func (i IsVirtualNetworkInterfacePrimaryIpArgs) ToIsVirtualNetworkInterfacePrimaryIpPtrOutput() IsVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfacePrimaryIpArgs) ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfacePrimaryIpOutput).ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx) +} + +// IsVirtualNetworkInterfacePrimaryIpPtrInput is an input type that accepts IsVirtualNetworkInterfacePrimaryIpArgs, IsVirtualNetworkInterfacePrimaryIpPtr and IsVirtualNetworkInterfacePrimaryIpPtrOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfacePrimaryIpPtrInput` via: +// +// IsVirtualNetworkInterfacePrimaryIpArgs{...} +// +// or: +// +// nil +type IsVirtualNetworkInterfacePrimaryIpPtrInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfacePrimaryIpPtrOutput() IsVirtualNetworkInterfacePrimaryIpPtrOutput + ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Context) IsVirtualNetworkInterfacePrimaryIpPtrOutput +} + +type isVirtualNetworkInterfacePrimaryIpPtrType IsVirtualNetworkInterfacePrimaryIpArgs + +func IsVirtualNetworkInterfacePrimaryIpPtr(v *IsVirtualNetworkInterfacePrimaryIpArgs) IsVirtualNetworkInterfacePrimaryIpPtrInput { + return (*isVirtualNetworkInterfacePrimaryIpPtrType)(v) +} + +func (*isVirtualNetworkInterfacePrimaryIpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i *isVirtualNetworkInterfacePrimaryIpPtrType) ToIsVirtualNetworkInterfacePrimaryIpPtrOutput() IsVirtualNetworkInterfacePrimaryIpPtrOutput { + return i.ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (i *isVirtualNetworkInterfacePrimaryIpPtrType) ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +type IsVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfacePrimaryIpOutput) ToIsVirtualNetworkInterfacePrimaryIpOutput() IsVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsVirtualNetworkInterfacePrimaryIpOutput) ToIsVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o IsVirtualNetworkInterfacePrimaryIpOutput) ToIsVirtualNetworkInterfacePrimaryIpPtrOutput() IsVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(context.Background()) +} + +func (o IsVirtualNetworkInterfacePrimaryIpOutput) ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVirtualNetworkInterfacePrimaryIp) *IsVirtualNetworkInterfacePrimaryIp { + return &v + }).(IsVirtualNetworkInterfacePrimaryIpPtrOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfacePrimaryIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfacePrimaryIp) *bool { return v.AutoDelete }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsVirtualNetworkInterfacePrimaryIpOutput) Deleteds() IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfacePrimaryIp) []IsVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfacePrimaryIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfacePrimaryIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsVirtualNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfacePrimaryIp) *string { return v.ReservedIp }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfacePrimaryIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfacePrimaryIpPtrOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfacePrimaryIpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsVirtualNetworkInterfacePrimaryIpPtrOutput() IsVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) ToIsVirtualNetworkInterfacePrimaryIpPtrOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpPtrOutput { + return o +} + +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) Elem() IsVirtualNetworkInterfacePrimaryIpOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfacePrimaryIp) IsVirtualNetworkInterfacePrimaryIp { + if v != nil { + return *v + } + var ret IsVirtualNetworkInterfacePrimaryIp + return ret + }).(IsVirtualNetworkInterfacePrimaryIpOutput) +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either target is deleted, or the reserved IP is unbound. +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) AutoDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfacePrimaryIp) *bool { + if v == nil { + return nil + } + return v.AutoDelete + }).(pulumi.BoolPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) Deleteds() IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfacePrimaryIp) []IsVirtualNetworkInterfacePrimaryIpDeleted { + if v == nil { + return nil + } + return v.Deleteds + }).(IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) ReservedIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ReservedIp + }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVirtualNetworkInterfacePrimaryIpPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVirtualNetworkInterfacePrimaryIp) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts IsVirtualNetworkInterfacePrimaryIpDeletedArgs and IsVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// IsVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type IsVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfacePrimaryIpDeletedOutput() IsVirtualNetworkInterfacePrimaryIpDeletedOutput + ToIsVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) IsVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type IsVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsVirtualNetworkInterfacePrimaryIpDeletedOutput() IsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToIsVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfacePrimaryIpDeletedArgs) ToIsVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// IsVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts IsVirtualNetworkInterfacePrimaryIpDeletedArray and IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// IsVirtualNetworkInterfacePrimaryIpDeletedArray{ IsVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type IsVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type IsVirtualNetworkInterfacePrimaryIpDeletedArray []IsVirtualNetworkInterfacePrimaryIpDeletedInput + +func (IsVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfacePrimaryIpDeletedArray) ToIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type IsVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsVirtualNetworkInterfacePrimaryIpDeletedOutput() IsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o IsVirtualNetworkInterfacePrimaryIpDeletedOutput) ToIsVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfacePrimaryIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) IsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]IsVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(IsVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type IsVirtualNetworkInterfaceTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsVirtualNetworkInterfaceTargetDeleted `pulumi:"deleteds"` + // The URL for this share mount target. + Href *string `pulumi:"href"` + // The unique identifier for this share mount target. + Id *string `pulumi:"id"` + // The name for this share mount target. The name is unique across all mount targets for the file share. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVirtualNetworkInterfaceTargetInput is an input type that accepts IsVirtualNetworkInterfaceTargetArgs and IsVirtualNetworkInterfaceTargetOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceTargetInput` via: +// +// IsVirtualNetworkInterfaceTargetArgs{...} +type IsVirtualNetworkInterfaceTargetInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceTargetOutput() IsVirtualNetworkInterfaceTargetOutput + ToIsVirtualNetworkInterfaceTargetOutputWithContext(context.Context) IsVirtualNetworkInterfaceTargetOutput +} + +type IsVirtualNetworkInterfaceTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsVirtualNetworkInterfaceTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share mount target. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this share mount target. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this share mount target. The name is unique across all mount targets for the file share. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVirtualNetworkInterfaceTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceTargetArgs) ToIsVirtualNetworkInterfaceTargetOutput() IsVirtualNetworkInterfaceTargetOutput { + return i.ToIsVirtualNetworkInterfaceTargetOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceTargetArgs) ToIsVirtualNetworkInterfaceTargetOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceTargetOutput) +} + +// IsVirtualNetworkInterfaceTargetArrayInput is an input type that accepts IsVirtualNetworkInterfaceTargetArray and IsVirtualNetworkInterfaceTargetArrayOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceTargetArrayInput` via: +// +// IsVirtualNetworkInterfaceTargetArray{ IsVirtualNetworkInterfaceTargetArgs{...} } +type IsVirtualNetworkInterfaceTargetArrayInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceTargetArrayOutput() IsVirtualNetworkInterfaceTargetArrayOutput + ToIsVirtualNetworkInterfaceTargetArrayOutputWithContext(context.Context) IsVirtualNetworkInterfaceTargetArrayOutput +} + +type IsVirtualNetworkInterfaceTargetArray []IsVirtualNetworkInterfaceTargetInput + +func (IsVirtualNetworkInterfaceTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceTargetArray) ToIsVirtualNetworkInterfaceTargetArrayOutput() IsVirtualNetworkInterfaceTargetArrayOutput { + return i.ToIsVirtualNetworkInterfaceTargetArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceTargetArray) ToIsVirtualNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceTargetArrayOutput) +} + +type IsVirtualNetworkInterfaceTargetOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceTargetOutput) ToIsVirtualNetworkInterfaceTargetOutput() IsVirtualNetworkInterfaceTargetOutput { + return o +} + +func (o IsVirtualNetworkInterfaceTargetOutput) ToIsVirtualNetworkInterfaceTargetOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsVirtualNetworkInterfaceTargetOutput) Deleteds() IsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceTarget) []IsVirtualNetworkInterfaceTargetDeleted { return v.Deleteds }).(IsVirtualNetworkInterfaceTargetDeletedArrayOutput) +} + +// The URL for this share mount target. +func (o IsVirtualNetworkInterfaceTargetOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceTarget) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this share mount target. +func (o IsVirtualNetworkInterfaceTargetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceTarget) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this share mount target. The name is unique across all mount targets for the file share. +func (o IsVirtualNetworkInterfaceTargetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceTarget) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVirtualNetworkInterfaceTargetOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceTarget) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfaceTargetArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceTargetArrayOutput) ToIsVirtualNetworkInterfaceTargetArrayOutput() IsVirtualNetworkInterfaceTargetArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceTargetArrayOutput) ToIsVirtualNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceTargetArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceTargetArrayOutput) Index(i pulumi.IntInput) IsVirtualNetworkInterfaceTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualNetworkInterfaceTarget { + return vs[0].([]IsVirtualNetworkInterfaceTarget)[vs[1].(int)] + }).(IsVirtualNetworkInterfaceTargetOutput) +} + +type IsVirtualNetworkInterfaceTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVirtualNetworkInterfaceTargetDeletedInput is an input type that accepts IsVirtualNetworkInterfaceTargetDeletedArgs and IsVirtualNetworkInterfaceTargetDeletedOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceTargetDeletedInput` via: +// +// IsVirtualNetworkInterfaceTargetDeletedArgs{...} +type IsVirtualNetworkInterfaceTargetDeletedInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceTargetDeletedOutput() IsVirtualNetworkInterfaceTargetDeletedOutput + ToIsVirtualNetworkInterfaceTargetDeletedOutputWithContext(context.Context) IsVirtualNetworkInterfaceTargetDeletedOutput +} + +type IsVirtualNetworkInterfaceTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVirtualNetworkInterfaceTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceTargetDeletedArgs) ToIsVirtualNetworkInterfaceTargetDeletedOutput() IsVirtualNetworkInterfaceTargetDeletedOutput { + return i.ToIsVirtualNetworkInterfaceTargetDeletedOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceTargetDeletedArgs) ToIsVirtualNetworkInterfaceTargetDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceTargetDeletedOutput) +} + +// IsVirtualNetworkInterfaceTargetDeletedArrayInput is an input type that accepts IsVirtualNetworkInterfaceTargetDeletedArray and IsVirtualNetworkInterfaceTargetDeletedArrayOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceTargetDeletedArrayInput` via: +// +// IsVirtualNetworkInterfaceTargetDeletedArray{ IsVirtualNetworkInterfaceTargetDeletedArgs{...} } +type IsVirtualNetworkInterfaceTargetDeletedArrayInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceTargetDeletedArrayOutput() IsVirtualNetworkInterfaceTargetDeletedArrayOutput + ToIsVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(context.Context) IsVirtualNetworkInterfaceTargetDeletedArrayOutput +} + +type IsVirtualNetworkInterfaceTargetDeletedArray []IsVirtualNetworkInterfaceTargetDeletedInput + +func (IsVirtualNetworkInterfaceTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceTargetDeletedArray) ToIsVirtualNetworkInterfaceTargetDeletedArrayOutput() IsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return i.ToIsVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceTargetDeletedArray) ToIsVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceTargetDeletedArrayOutput) +} + +type IsVirtualNetworkInterfaceTargetDeletedOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceTargetDeletedOutput) ToIsVirtualNetworkInterfaceTargetDeletedOutput() IsVirtualNetworkInterfaceTargetDeletedOutput { + return o +} + +func (o IsVirtualNetworkInterfaceTargetDeletedOutput) ToIsVirtualNetworkInterfaceTargetDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVirtualNetworkInterfaceTargetDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceTargetDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfaceTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceTargetDeletedArrayOutput) ToIsVirtualNetworkInterfaceTargetDeletedArrayOutput() IsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceTargetDeletedArrayOutput) ToIsVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceTargetDeletedArrayOutput) Index(i pulumi.IntInput) IsVirtualNetworkInterfaceTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualNetworkInterfaceTargetDeleted { + return vs[0].([]IsVirtualNetworkInterfaceTargetDeleted)[vs[1].(int)] + }).(IsVirtualNetworkInterfaceTargetDeletedOutput) +} + +type IsVirtualNetworkInterfaceVpc struct { + // The CRN for this VPC. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsVirtualNetworkInterfaceVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href *string `pulumi:"href"` + // The unique identifier for this VPC. + Id *string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVirtualNetworkInterfaceVpcInput is an input type that accepts IsVirtualNetworkInterfaceVpcArgs and IsVirtualNetworkInterfaceVpcOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceVpcInput` via: +// +// IsVirtualNetworkInterfaceVpcArgs{...} +type IsVirtualNetworkInterfaceVpcInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceVpcOutput() IsVirtualNetworkInterfaceVpcOutput + ToIsVirtualNetworkInterfaceVpcOutputWithContext(context.Context) IsVirtualNetworkInterfaceVpcOutput +} + +type IsVirtualNetworkInterfaceVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsVirtualNetworkInterfaceVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVirtualNetworkInterfaceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceVpcArgs) ToIsVirtualNetworkInterfaceVpcOutput() IsVirtualNetworkInterfaceVpcOutput { + return i.ToIsVirtualNetworkInterfaceVpcOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceVpcArgs) ToIsVirtualNetworkInterfaceVpcOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceVpcOutput) +} + +// IsVirtualNetworkInterfaceVpcArrayInput is an input type that accepts IsVirtualNetworkInterfaceVpcArray and IsVirtualNetworkInterfaceVpcArrayOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceVpcArrayInput` via: +// +// IsVirtualNetworkInterfaceVpcArray{ IsVirtualNetworkInterfaceVpcArgs{...} } +type IsVirtualNetworkInterfaceVpcArrayInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceVpcArrayOutput() IsVirtualNetworkInterfaceVpcArrayOutput + ToIsVirtualNetworkInterfaceVpcArrayOutputWithContext(context.Context) IsVirtualNetworkInterfaceVpcArrayOutput +} + +type IsVirtualNetworkInterfaceVpcArray []IsVirtualNetworkInterfaceVpcInput + +func (IsVirtualNetworkInterfaceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceVpcArray) ToIsVirtualNetworkInterfaceVpcArrayOutput() IsVirtualNetworkInterfaceVpcArrayOutput { + return i.ToIsVirtualNetworkInterfaceVpcArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceVpcArray) ToIsVirtualNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceVpcArrayOutput) +} + +type IsVirtualNetworkInterfaceVpcOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceVpcOutput) ToIsVirtualNetworkInterfaceVpcOutput() IsVirtualNetworkInterfaceVpcOutput { + return o +} + +func (o IsVirtualNetworkInterfaceVpcOutput) ToIsVirtualNetworkInterfaceVpcOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceVpcOutput { + return o +} + +// The CRN for this VPC. +func (o IsVirtualNetworkInterfaceVpcOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceVpc) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsVirtualNetworkInterfaceVpcOutput) Deleteds() IsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceVpc) []IsVirtualNetworkInterfaceVpcDeleted { return v.Deleteds }).(IsVirtualNetworkInterfaceVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o IsVirtualNetworkInterfaceVpcOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceVpc) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsVirtualNetworkInterfaceVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o IsVirtualNetworkInterfaceVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVirtualNetworkInterfaceVpcOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceVpc) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfaceVpcArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceVpcArrayOutput) ToIsVirtualNetworkInterfaceVpcArrayOutput() IsVirtualNetworkInterfaceVpcArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceVpcArrayOutput) ToIsVirtualNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceVpcArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceVpcArrayOutput) Index(i pulumi.IntInput) IsVirtualNetworkInterfaceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualNetworkInterfaceVpc { + return vs[0].([]IsVirtualNetworkInterfaceVpc)[vs[1].(int)] + }).(IsVirtualNetworkInterfaceVpcOutput) +} + +type IsVirtualNetworkInterfaceVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVirtualNetworkInterfaceVpcDeletedInput is an input type that accepts IsVirtualNetworkInterfaceVpcDeletedArgs and IsVirtualNetworkInterfaceVpcDeletedOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceVpcDeletedInput` via: +// +// IsVirtualNetworkInterfaceVpcDeletedArgs{...} +type IsVirtualNetworkInterfaceVpcDeletedInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceVpcDeletedOutput() IsVirtualNetworkInterfaceVpcDeletedOutput + ToIsVirtualNetworkInterfaceVpcDeletedOutputWithContext(context.Context) IsVirtualNetworkInterfaceVpcDeletedOutput +} + +type IsVirtualNetworkInterfaceVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVirtualNetworkInterfaceVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceVpcDeletedArgs) ToIsVirtualNetworkInterfaceVpcDeletedOutput() IsVirtualNetworkInterfaceVpcDeletedOutput { + return i.ToIsVirtualNetworkInterfaceVpcDeletedOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceVpcDeletedArgs) ToIsVirtualNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceVpcDeletedOutput) +} + +// IsVirtualNetworkInterfaceVpcDeletedArrayInput is an input type that accepts IsVirtualNetworkInterfaceVpcDeletedArray and IsVirtualNetworkInterfaceVpcDeletedArrayOutput values. +// You can construct a concrete instance of `IsVirtualNetworkInterfaceVpcDeletedArrayInput` via: +// +// IsVirtualNetworkInterfaceVpcDeletedArray{ IsVirtualNetworkInterfaceVpcDeletedArgs{...} } +type IsVirtualNetworkInterfaceVpcDeletedArrayInput interface { + pulumi.Input + + ToIsVirtualNetworkInterfaceVpcDeletedArrayOutput() IsVirtualNetworkInterfaceVpcDeletedArrayOutput + ToIsVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Context) IsVirtualNetworkInterfaceVpcDeletedArrayOutput +} + +type IsVirtualNetworkInterfaceVpcDeletedArray []IsVirtualNetworkInterfaceVpcDeletedInput + +func (IsVirtualNetworkInterfaceVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i IsVirtualNetworkInterfaceVpcDeletedArray) ToIsVirtualNetworkInterfaceVpcDeletedArrayOutput() IsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return i.ToIsVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVirtualNetworkInterfaceVpcDeletedArray) ToIsVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVirtualNetworkInterfaceVpcDeletedArrayOutput) +} + +type IsVirtualNetworkInterfaceVpcDeletedOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceVpcDeletedOutput) ToIsVirtualNetworkInterfaceVpcDeletedOutput() IsVirtualNetworkInterfaceVpcDeletedOutput { + return o +} + +func (o IsVirtualNetworkInterfaceVpcDeletedOutput) ToIsVirtualNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVirtualNetworkInterfaceVpcDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVirtualNetworkInterfaceVpcDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVirtualNetworkInterfaceVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVirtualNetworkInterfaceVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o IsVirtualNetworkInterfaceVpcDeletedArrayOutput) ToIsVirtualNetworkInterfaceVpcDeletedArrayOutput() IsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceVpcDeletedArrayOutput) ToIsVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) IsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o IsVirtualNetworkInterfaceVpcDeletedArrayOutput) Index(i pulumi.IntInput) IsVirtualNetworkInterfaceVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVirtualNetworkInterfaceVpcDeleted { + return vs[0].([]IsVirtualNetworkInterfaceVpcDeleted)[vs[1].(int)] + }).(IsVirtualNetworkInterfaceVpcDeletedOutput) +} + +type IsVolumeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion *string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer *string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance *string `pulumi:"instance"` +} + +// IsVolumeAllowedUseInput is an input type that accepts IsVolumeAllowedUseArgs and IsVolumeAllowedUseOutput values. +// You can construct a concrete instance of `IsVolumeAllowedUseInput` via: +// +// IsVolumeAllowedUseArgs{...} +type IsVolumeAllowedUseInput interface { + pulumi.Input + + ToIsVolumeAllowedUseOutput() IsVolumeAllowedUseOutput + ToIsVolumeAllowedUseOutputWithContext(context.Context) IsVolumeAllowedUseOutput +} + +type IsVolumeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringPtrInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringPtrInput `pulumi:"instance"` +} + +func (IsVolumeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeAllowedUse)(nil)).Elem() +} + +func (i IsVolumeAllowedUseArgs) ToIsVolumeAllowedUseOutput() IsVolumeAllowedUseOutput { + return i.ToIsVolumeAllowedUseOutputWithContext(context.Background()) +} + +func (i IsVolumeAllowedUseArgs) ToIsVolumeAllowedUseOutputWithContext(ctx context.Context) IsVolumeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeAllowedUseOutput) +} + +func (i IsVolumeAllowedUseArgs) ToIsVolumeAllowedUsePtrOutput() IsVolumeAllowedUsePtrOutput { + return i.ToIsVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i IsVolumeAllowedUseArgs) ToIsVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsVolumeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeAllowedUseOutput).ToIsVolumeAllowedUsePtrOutputWithContext(ctx) +} + +// IsVolumeAllowedUsePtrInput is an input type that accepts IsVolumeAllowedUseArgs, IsVolumeAllowedUsePtr and IsVolumeAllowedUsePtrOutput values. +// You can construct a concrete instance of `IsVolumeAllowedUsePtrInput` via: +// +// IsVolumeAllowedUseArgs{...} +// +// or: +// +// nil +type IsVolumeAllowedUsePtrInput interface { + pulumi.Input + + ToIsVolumeAllowedUsePtrOutput() IsVolumeAllowedUsePtrOutput + ToIsVolumeAllowedUsePtrOutputWithContext(context.Context) IsVolumeAllowedUsePtrOutput +} + +type isVolumeAllowedUsePtrType IsVolumeAllowedUseArgs + +func IsVolumeAllowedUsePtr(v *IsVolumeAllowedUseArgs) IsVolumeAllowedUsePtrInput { + return (*isVolumeAllowedUsePtrType)(v) +} + +func (*isVolumeAllowedUsePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVolumeAllowedUse)(nil)).Elem() +} + +func (i *isVolumeAllowedUsePtrType) ToIsVolumeAllowedUsePtrOutput() IsVolumeAllowedUsePtrOutput { + return i.ToIsVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (i *isVolumeAllowedUsePtrType) ToIsVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsVolumeAllowedUsePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeAllowedUsePtrOutput) +} + +type IsVolumeAllowedUseOutput struct{ *pulumi.OutputState } + +func (IsVolumeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeAllowedUse)(nil)).Elem() +} + +func (o IsVolumeAllowedUseOutput) ToIsVolumeAllowedUseOutput() IsVolumeAllowedUseOutput { + return o +} + +func (o IsVolumeAllowedUseOutput) ToIsVolumeAllowedUseOutputWithContext(ctx context.Context) IsVolumeAllowedUseOutput { + return o +} + +func (o IsVolumeAllowedUseOutput) ToIsVolumeAllowedUsePtrOutput() IsVolumeAllowedUsePtrOutput { + return o.ToIsVolumeAllowedUsePtrOutputWithContext(context.Background()) +} + +func (o IsVolumeAllowedUseOutput) ToIsVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsVolumeAllowedUsePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVolumeAllowedUse) *IsVolumeAllowedUse { + return &v + }).(IsVolumeAllowedUsePtrOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsVolumeAllowedUseOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeAllowedUse) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsVolumeAllowedUseOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeAllowedUse) *string { return v.BareMetalServer }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsVolumeAllowedUseOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeAllowedUse) *string { return v.Instance }).(pulumi.StringPtrOutput) +} + +type IsVolumeAllowedUsePtrOutput struct{ *pulumi.OutputState } + +func (IsVolumeAllowedUsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVolumeAllowedUse)(nil)).Elem() +} + +func (o IsVolumeAllowedUsePtrOutput) ToIsVolumeAllowedUsePtrOutput() IsVolumeAllowedUsePtrOutput { + return o +} + +func (o IsVolumeAllowedUsePtrOutput) ToIsVolumeAllowedUsePtrOutputWithContext(ctx context.Context) IsVolumeAllowedUsePtrOutput { + return o +} + +func (o IsVolumeAllowedUsePtrOutput) Elem() IsVolumeAllowedUseOutput { + return o.ApplyT(func(v *IsVolumeAllowedUse) IsVolumeAllowedUse { + if v != nil { + return *v + } + var ret IsVolumeAllowedUse + return ret + }).(IsVolumeAllowedUseOutput) +} + +// The API version with which to evaluate the expressions. +func (o IsVolumeAllowedUsePtrOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.ApiVersion + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o IsVolumeAllowedUsePtrOutput) BareMetalServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.BareMetalServer + }).(pulumi.StringPtrOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o IsVolumeAllowedUsePtrOutput) Instance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVolumeAllowedUse) *string { + if v == nil { + return nil + } + return v.Instance + }).(pulumi.StringPtrOutput) +} + +type IsVolumeCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []IsVolumeCatalogOfferingDeleted `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn *string `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn *string `pulumi:"versionCrn"` +} + +// IsVolumeCatalogOfferingInput is an input type that accepts IsVolumeCatalogOfferingArgs and IsVolumeCatalogOfferingOutput values. +// You can construct a concrete instance of `IsVolumeCatalogOfferingInput` via: +// +// IsVolumeCatalogOfferingArgs{...} +type IsVolumeCatalogOfferingInput interface { + pulumi.Input + + ToIsVolumeCatalogOfferingOutput() IsVolumeCatalogOfferingOutput + ToIsVolumeCatalogOfferingOutputWithContext(context.Context) IsVolumeCatalogOfferingOutput +} + +type IsVolumeCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds IsVolumeCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringPtrInput `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn pulumi.StringPtrInput `pulumi:"versionCrn"` +} + +func (IsVolumeCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeCatalogOffering)(nil)).Elem() +} + +func (i IsVolumeCatalogOfferingArgs) ToIsVolumeCatalogOfferingOutput() IsVolumeCatalogOfferingOutput { + return i.ToIsVolumeCatalogOfferingOutputWithContext(context.Background()) +} + +func (i IsVolumeCatalogOfferingArgs) ToIsVolumeCatalogOfferingOutputWithContext(ctx context.Context) IsVolumeCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeCatalogOfferingOutput) +} + +// IsVolumeCatalogOfferingArrayInput is an input type that accepts IsVolumeCatalogOfferingArray and IsVolumeCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `IsVolumeCatalogOfferingArrayInput` via: +// +// IsVolumeCatalogOfferingArray{ IsVolumeCatalogOfferingArgs{...} } +type IsVolumeCatalogOfferingArrayInput interface { + pulumi.Input + + ToIsVolumeCatalogOfferingArrayOutput() IsVolumeCatalogOfferingArrayOutput + ToIsVolumeCatalogOfferingArrayOutputWithContext(context.Context) IsVolumeCatalogOfferingArrayOutput +} + +type IsVolumeCatalogOfferingArray []IsVolumeCatalogOfferingInput + +func (IsVolumeCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeCatalogOffering)(nil)).Elem() +} + +func (i IsVolumeCatalogOfferingArray) ToIsVolumeCatalogOfferingArrayOutput() IsVolumeCatalogOfferingArrayOutput { + return i.ToIsVolumeCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i IsVolumeCatalogOfferingArray) ToIsVolumeCatalogOfferingArrayOutputWithContext(ctx context.Context) IsVolumeCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeCatalogOfferingArrayOutput) +} + +type IsVolumeCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (IsVolumeCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeCatalogOffering)(nil)).Elem() +} + +func (o IsVolumeCatalogOfferingOutput) ToIsVolumeCatalogOfferingOutput() IsVolumeCatalogOfferingOutput { + return o +} + +func (o IsVolumeCatalogOfferingOutput) ToIsVolumeCatalogOfferingOutputWithContext(ctx context.Context) IsVolumeCatalogOfferingOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o IsVolumeCatalogOfferingOutput) Deleteds() IsVolumeCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v IsVolumeCatalogOffering) []IsVolumeCatalogOfferingDeleted { return v.Deleteds }).(IsVolumeCatalogOfferingDeletedArrayOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o IsVolumeCatalogOfferingOutput) PlanCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeCatalogOffering) *string { return v.PlanCrn }).(pulumi.StringPtrOutput) +} + +// The CRN for this version of a catalog offering +func (o IsVolumeCatalogOfferingOutput) VersionCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeCatalogOffering) *string { return v.VersionCrn }).(pulumi.StringPtrOutput) +} + +type IsVolumeCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (IsVolumeCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeCatalogOffering)(nil)).Elem() +} + +func (o IsVolumeCatalogOfferingArrayOutput) ToIsVolumeCatalogOfferingArrayOutput() IsVolumeCatalogOfferingArrayOutput { + return o +} + +func (o IsVolumeCatalogOfferingArrayOutput) ToIsVolumeCatalogOfferingArrayOutputWithContext(ctx context.Context) IsVolumeCatalogOfferingArrayOutput { + return o +} + +func (o IsVolumeCatalogOfferingArrayOutput) Index(i pulumi.IntInput) IsVolumeCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVolumeCatalogOffering { + return vs[0].([]IsVolumeCatalogOffering)[vs[1].(int)] + }).(IsVolumeCatalogOfferingOutput) +} + +type IsVolumeCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVolumeCatalogOfferingDeletedInput is an input type that accepts IsVolumeCatalogOfferingDeletedArgs and IsVolumeCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `IsVolumeCatalogOfferingDeletedInput` via: +// +// IsVolumeCatalogOfferingDeletedArgs{...} +type IsVolumeCatalogOfferingDeletedInput interface { + pulumi.Input + + ToIsVolumeCatalogOfferingDeletedOutput() IsVolumeCatalogOfferingDeletedOutput + ToIsVolumeCatalogOfferingDeletedOutputWithContext(context.Context) IsVolumeCatalogOfferingDeletedOutput +} + +type IsVolumeCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVolumeCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (i IsVolumeCatalogOfferingDeletedArgs) ToIsVolumeCatalogOfferingDeletedOutput() IsVolumeCatalogOfferingDeletedOutput { + return i.ToIsVolumeCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i IsVolumeCatalogOfferingDeletedArgs) ToIsVolumeCatalogOfferingDeletedOutputWithContext(ctx context.Context) IsVolumeCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeCatalogOfferingDeletedOutput) +} + +// IsVolumeCatalogOfferingDeletedArrayInput is an input type that accepts IsVolumeCatalogOfferingDeletedArray and IsVolumeCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `IsVolumeCatalogOfferingDeletedArrayInput` via: +// +// IsVolumeCatalogOfferingDeletedArray{ IsVolumeCatalogOfferingDeletedArgs{...} } +type IsVolumeCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToIsVolumeCatalogOfferingDeletedArrayOutput() IsVolumeCatalogOfferingDeletedArrayOutput + ToIsVolumeCatalogOfferingDeletedArrayOutputWithContext(context.Context) IsVolumeCatalogOfferingDeletedArrayOutput +} + +type IsVolumeCatalogOfferingDeletedArray []IsVolumeCatalogOfferingDeletedInput + +func (IsVolumeCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (i IsVolumeCatalogOfferingDeletedArray) ToIsVolumeCatalogOfferingDeletedArrayOutput() IsVolumeCatalogOfferingDeletedArrayOutput { + return i.ToIsVolumeCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVolumeCatalogOfferingDeletedArray) ToIsVolumeCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) IsVolumeCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeCatalogOfferingDeletedArrayOutput) +} + +type IsVolumeCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (IsVolumeCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (o IsVolumeCatalogOfferingDeletedOutput) ToIsVolumeCatalogOfferingDeletedOutput() IsVolumeCatalogOfferingDeletedOutput { + return o +} + +func (o IsVolumeCatalogOfferingDeletedOutput) ToIsVolumeCatalogOfferingDeletedOutputWithContext(ctx context.Context) IsVolumeCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVolumeCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeCatalogOfferingDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVolumeCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVolumeCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (o IsVolumeCatalogOfferingDeletedArrayOutput) ToIsVolumeCatalogOfferingDeletedArrayOutput() IsVolumeCatalogOfferingDeletedArrayOutput { + return o +} + +func (o IsVolumeCatalogOfferingDeletedArrayOutput) ToIsVolumeCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) IsVolumeCatalogOfferingDeletedArrayOutput { + return o +} + +func (o IsVolumeCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) IsVolumeCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVolumeCatalogOfferingDeleted { + return vs[0].([]IsVolumeCatalogOfferingDeleted)[vs[1].(int)] + }).(IsVolumeCatalogOfferingDeletedOutput) +} + +type IsVolumeHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVolumeHealthReasonInput is an input type that accepts IsVolumeHealthReasonArgs and IsVolumeHealthReasonOutput values. +// You can construct a concrete instance of `IsVolumeHealthReasonInput` via: +// +// IsVolumeHealthReasonArgs{...} +type IsVolumeHealthReasonInput interface { + pulumi.Input + + ToIsVolumeHealthReasonOutput() IsVolumeHealthReasonOutput + ToIsVolumeHealthReasonOutputWithContext(context.Context) IsVolumeHealthReasonOutput +} + +type IsVolumeHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVolumeHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeHealthReason)(nil)).Elem() +} + +func (i IsVolumeHealthReasonArgs) ToIsVolumeHealthReasonOutput() IsVolumeHealthReasonOutput { + return i.ToIsVolumeHealthReasonOutputWithContext(context.Background()) +} + +func (i IsVolumeHealthReasonArgs) ToIsVolumeHealthReasonOutputWithContext(ctx context.Context) IsVolumeHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeHealthReasonOutput) +} + +// IsVolumeHealthReasonArrayInput is an input type that accepts IsVolumeHealthReasonArray and IsVolumeHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsVolumeHealthReasonArrayInput` via: +// +// IsVolumeHealthReasonArray{ IsVolumeHealthReasonArgs{...} } +type IsVolumeHealthReasonArrayInput interface { + pulumi.Input + + ToIsVolumeHealthReasonArrayOutput() IsVolumeHealthReasonArrayOutput + ToIsVolumeHealthReasonArrayOutputWithContext(context.Context) IsVolumeHealthReasonArrayOutput +} + +type IsVolumeHealthReasonArray []IsVolumeHealthReasonInput + +func (IsVolumeHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeHealthReason)(nil)).Elem() +} + +func (i IsVolumeHealthReasonArray) ToIsVolumeHealthReasonArrayOutput() IsVolumeHealthReasonArrayOutput { + return i.ToIsVolumeHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVolumeHealthReasonArray) ToIsVolumeHealthReasonArrayOutputWithContext(ctx context.Context) IsVolumeHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeHealthReasonArrayOutput) +} + +type IsVolumeHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsVolumeHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeHealthReason)(nil)).Elem() +} + +func (o IsVolumeHealthReasonOutput) ToIsVolumeHealthReasonOutput() IsVolumeHealthReasonOutput { + return o +} + +func (o IsVolumeHealthReasonOutput) ToIsVolumeHealthReasonOutputWithContext(ctx context.Context) IsVolumeHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsVolumeHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsVolumeHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsVolumeHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVolumeHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVolumeHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeHealthReason)(nil)).Elem() +} + +func (o IsVolumeHealthReasonArrayOutput) ToIsVolumeHealthReasonArrayOutput() IsVolumeHealthReasonArrayOutput { + return o +} + +func (o IsVolumeHealthReasonArrayOutput) ToIsVolumeHealthReasonArrayOutputWithContext(ctx context.Context) IsVolumeHealthReasonArrayOutput { + return o +} + +func (o IsVolumeHealthReasonArrayOutput) Index(i pulumi.IntInput) IsVolumeHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVolumeHealthReason { + return vs[0].([]IsVolumeHealthReason)[vs[1].(int)] + }).(IsVolumeHealthReasonOutput) +} + +type IsVolumeOperatingSystem struct { + // The operating system architecture. + Architecture *string `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups. + DedicatedHostOnly *bool `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system. + DisplayName *string `pulumi:"displayName"` + // The software family for this operating system. + Family *string `pulumi:"family"` + // The URL for this operating system. + Href *string `pulumi:"href"` + // The globally unique name for this operating system. + Name *string `pulumi:"name"` + // The vendor of the operating system. + Vendor *string `pulumi:"vendor"` + // The major release version of this operating system. + Version *string `pulumi:"version"` +} + +// IsVolumeOperatingSystemInput is an input type that accepts IsVolumeOperatingSystemArgs and IsVolumeOperatingSystemOutput values. +// You can construct a concrete instance of `IsVolumeOperatingSystemInput` via: +// +// IsVolumeOperatingSystemArgs{...} +type IsVolumeOperatingSystemInput interface { + pulumi.Input + + ToIsVolumeOperatingSystemOutput() IsVolumeOperatingSystemOutput + ToIsVolumeOperatingSystemOutputWithContext(context.Context) IsVolumeOperatingSystemOutput +} + +type IsVolumeOperatingSystemArgs struct { + // The operating system architecture. + Architecture pulumi.StringPtrInput `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups. + DedicatedHostOnly pulumi.BoolPtrInput `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + // The software family for this operating system. + Family pulumi.StringPtrInput `pulumi:"family"` + // The URL for this operating system. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this operating system. + Name pulumi.StringPtrInput `pulumi:"name"` + // The vendor of the operating system. + Vendor pulumi.StringPtrInput `pulumi:"vendor"` + // The major release version of this operating system. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (IsVolumeOperatingSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeOperatingSystem)(nil)).Elem() +} + +func (i IsVolumeOperatingSystemArgs) ToIsVolumeOperatingSystemOutput() IsVolumeOperatingSystemOutput { + return i.ToIsVolumeOperatingSystemOutputWithContext(context.Background()) +} + +func (i IsVolumeOperatingSystemArgs) ToIsVolumeOperatingSystemOutputWithContext(ctx context.Context) IsVolumeOperatingSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeOperatingSystemOutput) +} + +// IsVolumeOperatingSystemArrayInput is an input type that accepts IsVolumeOperatingSystemArray and IsVolumeOperatingSystemArrayOutput values. +// You can construct a concrete instance of `IsVolumeOperatingSystemArrayInput` via: +// +// IsVolumeOperatingSystemArray{ IsVolumeOperatingSystemArgs{...} } +type IsVolumeOperatingSystemArrayInput interface { + pulumi.Input + + ToIsVolumeOperatingSystemArrayOutput() IsVolumeOperatingSystemArrayOutput + ToIsVolumeOperatingSystemArrayOutputWithContext(context.Context) IsVolumeOperatingSystemArrayOutput +} + +type IsVolumeOperatingSystemArray []IsVolumeOperatingSystemInput + +func (IsVolumeOperatingSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeOperatingSystem)(nil)).Elem() +} + +func (i IsVolumeOperatingSystemArray) ToIsVolumeOperatingSystemArrayOutput() IsVolumeOperatingSystemArrayOutput { + return i.ToIsVolumeOperatingSystemArrayOutputWithContext(context.Background()) +} + +func (i IsVolumeOperatingSystemArray) ToIsVolumeOperatingSystemArrayOutputWithContext(ctx context.Context) IsVolumeOperatingSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeOperatingSystemArrayOutput) +} + +type IsVolumeOperatingSystemOutput struct{ *pulumi.OutputState } + +func (IsVolumeOperatingSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeOperatingSystem)(nil)).Elem() +} + +func (o IsVolumeOperatingSystemOutput) ToIsVolumeOperatingSystemOutput() IsVolumeOperatingSystemOutput { + return o +} + +func (o IsVolumeOperatingSystemOutput) ToIsVolumeOperatingSystemOutputWithContext(ctx context.Context) IsVolumeOperatingSystemOutput { + return o +} + +// The operating system architecture. +func (o IsVolumeOperatingSystemOutput) Architecture() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeOperatingSystem) *string { return v.Architecture }).(pulumi.StringPtrOutput) +} + +// Images with this operating system can only be used on dedicated hosts or dedicated host groups. +func (o IsVolumeOperatingSystemOutput) DedicatedHostOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsVolumeOperatingSystem) *bool { return v.DedicatedHostOnly }).(pulumi.BoolPtrOutput) +} + +// A unique, display-friendly name for the operating system. +func (o IsVolumeOperatingSystemOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeOperatingSystem) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// The software family for this operating system. +func (o IsVolumeOperatingSystemOutput) Family() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeOperatingSystem) *string { return v.Family }).(pulumi.StringPtrOutput) +} + +// The URL for this operating system. +func (o IsVolumeOperatingSystemOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeOperatingSystem) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this operating system. +func (o IsVolumeOperatingSystemOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeOperatingSystem) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The vendor of the operating system. +func (o IsVolumeOperatingSystemOutput) Vendor() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeOperatingSystem) *string { return v.Vendor }).(pulumi.StringPtrOutput) +} + +// The major release version of this operating system. +func (o IsVolumeOperatingSystemOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeOperatingSystem) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type IsVolumeOperatingSystemArrayOutput struct{ *pulumi.OutputState } + +func (IsVolumeOperatingSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeOperatingSystem)(nil)).Elem() +} + +func (o IsVolumeOperatingSystemArrayOutput) ToIsVolumeOperatingSystemArrayOutput() IsVolumeOperatingSystemArrayOutput { + return o +} + +func (o IsVolumeOperatingSystemArrayOutput) ToIsVolumeOperatingSystemArrayOutputWithContext(ctx context.Context) IsVolumeOperatingSystemArrayOutput { + return o +} + +func (o IsVolumeOperatingSystemArrayOutput) Index(i pulumi.IntInput) IsVolumeOperatingSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVolumeOperatingSystem { + return vs[0].([]IsVolumeOperatingSystem)[vs[1].(int)] + }).(IsVolumeOperatingSystemOutput) +} + +type IsVolumeStatusReason struct { + // A snake case string succinctly identifying the status reason + Code *string `pulumi:"code"` + // An explanation of the status reason + Message *string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVolumeStatusReasonInput is an input type that accepts IsVolumeStatusReasonArgs and IsVolumeStatusReasonOutput values. +// You can construct a concrete instance of `IsVolumeStatusReasonInput` via: +// +// IsVolumeStatusReasonArgs{...} +type IsVolumeStatusReasonInput interface { + pulumi.Input + + ToIsVolumeStatusReasonOutput() IsVolumeStatusReasonOutput + ToIsVolumeStatusReasonOutputWithContext(context.Context) IsVolumeStatusReasonOutput +} + +type IsVolumeStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVolumeStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeStatusReason)(nil)).Elem() +} + +func (i IsVolumeStatusReasonArgs) ToIsVolumeStatusReasonOutput() IsVolumeStatusReasonOutput { + return i.ToIsVolumeStatusReasonOutputWithContext(context.Background()) +} + +func (i IsVolumeStatusReasonArgs) ToIsVolumeStatusReasonOutputWithContext(ctx context.Context) IsVolumeStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeStatusReasonOutput) +} + +// IsVolumeStatusReasonArrayInput is an input type that accepts IsVolumeStatusReasonArray and IsVolumeStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsVolumeStatusReasonArrayInput` via: +// +// IsVolumeStatusReasonArray{ IsVolumeStatusReasonArgs{...} } +type IsVolumeStatusReasonArrayInput interface { + pulumi.Input + + ToIsVolumeStatusReasonArrayOutput() IsVolumeStatusReasonArrayOutput + ToIsVolumeStatusReasonArrayOutputWithContext(context.Context) IsVolumeStatusReasonArrayOutput +} + +type IsVolumeStatusReasonArray []IsVolumeStatusReasonInput + +func (IsVolumeStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeStatusReason)(nil)).Elem() +} + +func (i IsVolumeStatusReasonArray) ToIsVolumeStatusReasonArrayOutput() IsVolumeStatusReasonArrayOutput { + return i.ToIsVolumeStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVolumeStatusReasonArray) ToIsVolumeStatusReasonArrayOutputWithContext(ctx context.Context) IsVolumeStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVolumeStatusReasonArrayOutput) +} + +type IsVolumeStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsVolumeStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVolumeStatusReason)(nil)).Elem() +} + +func (o IsVolumeStatusReasonOutput) ToIsVolumeStatusReasonOutput() IsVolumeStatusReasonOutput { + return o +} + +func (o IsVolumeStatusReasonOutput) ToIsVolumeStatusReasonOutputWithContext(ctx context.Context) IsVolumeStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o IsVolumeStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason +func (o IsVolumeStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason +func (o IsVolumeStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVolumeStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVolumeStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVolumeStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVolumeStatusReason)(nil)).Elem() +} + +func (o IsVolumeStatusReasonArrayOutput) ToIsVolumeStatusReasonArrayOutput() IsVolumeStatusReasonArrayOutput { + return o +} + +func (o IsVolumeStatusReasonArrayOutput) ToIsVolumeStatusReasonArrayOutputWithContext(ctx context.Context) IsVolumeStatusReasonArrayOutput { + return o +} + +func (o IsVolumeStatusReasonArrayOutput) Index(i pulumi.IntInput) IsVolumeStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVolumeStatusReason { + return vs[0].([]IsVolumeStatusReason)[vs[1].(int)] + }).(IsVolumeStatusReasonOutput) +} + +type IsVpcCseSourceAddress struct { + // Cloud service endpoint IP Address + Address *string `pulumi:"address"` + // Location info of CSE Address + ZoneName *string `pulumi:"zoneName"` +} + +// IsVpcCseSourceAddressInput is an input type that accepts IsVpcCseSourceAddressArgs and IsVpcCseSourceAddressOutput values. +// You can construct a concrete instance of `IsVpcCseSourceAddressInput` via: +// +// IsVpcCseSourceAddressArgs{...} +type IsVpcCseSourceAddressInput interface { + pulumi.Input + + ToIsVpcCseSourceAddressOutput() IsVpcCseSourceAddressOutput + ToIsVpcCseSourceAddressOutputWithContext(context.Context) IsVpcCseSourceAddressOutput +} + +type IsVpcCseSourceAddressArgs struct { + // Cloud service endpoint IP Address + Address pulumi.StringPtrInput `pulumi:"address"` + // Location info of CSE Address + ZoneName pulumi.StringPtrInput `pulumi:"zoneName"` +} + +func (IsVpcCseSourceAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcCseSourceAddress)(nil)).Elem() +} + +func (i IsVpcCseSourceAddressArgs) ToIsVpcCseSourceAddressOutput() IsVpcCseSourceAddressOutput { + return i.ToIsVpcCseSourceAddressOutputWithContext(context.Background()) +} + +func (i IsVpcCseSourceAddressArgs) ToIsVpcCseSourceAddressOutputWithContext(ctx context.Context) IsVpcCseSourceAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcCseSourceAddressOutput) +} + +// IsVpcCseSourceAddressArrayInput is an input type that accepts IsVpcCseSourceAddressArray and IsVpcCseSourceAddressArrayOutput values. +// You can construct a concrete instance of `IsVpcCseSourceAddressArrayInput` via: +// +// IsVpcCseSourceAddressArray{ IsVpcCseSourceAddressArgs{...} } +type IsVpcCseSourceAddressArrayInput interface { + pulumi.Input + + ToIsVpcCseSourceAddressArrayOutput() IsVpcCseSourceAddressArrayOutput + ToIsVpcCseSourceAddressArrayOutputWithContext(context.Context) IsVpcCseSourceAddressArrayOutput +} + +type IsVpcCseSourceAddressArray []IsVpcCseSourceAddressInput + +func (IsVpcCseSourceAddressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcCseSourceAddress)(nil)).Elem() +} + +func (i IsVpcCseSourceAddressArray) ToIsVpcCseSourceAddressArrayOutput() IsVpcCseSourceAddressArrayOutput { + return i.ToIsVpcCseSourceAddressArrayOutputWithContext(context.Background()) +} + +func (i IsVpcCseSourceAddressArray) ToIsVpcCseSourceAddressArrayOutputWithContext(ctx context.Context) IsVpcCseSourceAddressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcCseSourceAddressArrayOutput) +} + +type IsVpcCseSourceAddressOutput struct{ *pulumi.OutputState } + +func (IsVpcCseSourceAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcCseSourceAddress)(nil)).Elem() +} + +func (o IsVpcCseSourceAddressOutput) ToIsVpcCseSourceAddressOutput() IsVpcCseSourceAddressOutput { + return o +} + +func (o IsVpcCseSourceAddressOutput) ToIsVpcCseSourceAddressOutputWithContext(ctx context.Context) IsVpcCseSourceAddressOutput { + return o +} + +// Cloud service endpoint IP Address +func (o IsVpcCseSourceAddressOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcCseSourceAddress) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Location info of CSE Address +func (o IsVpcCseSourceAddressOutput) ZoneName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcCseSourceAddress) *string { return v.ZoneName }).(pulumi.StringPtrOutput) +} + +type IsVpcCseSourceAddressArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcCseSourceAddressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcCseSourceAddress)(nil)).Elem() +} + +func (o IsVpcCseSourceAddressArrayOutput) ToIsVpcCseSourceAddressArrayOutput() IsVpcCseSourceAddressArrayOutput { + return o +} + +func (o IsVpcCseSourceAddressArrayOutput) ToIsVpcCseSourceAddressArrayOutputWithContext(ctx context.Context) IsVpcCseSourceAddressArrayOutput { + return o +} + +func (o IsVpcCseSourceAddressArrayOutput) Index(i pulumi.IntInput) IsVpcCseSourceAddressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcCseSourceAddress { + return vs[0].([]IsVpcCseSourceAddress)[vs[1].(int)] + }).(IsVpcCseSourceAddressOutput) +} + +type IsVpcDns struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + EnableHub *bool `pulumi:"enableHub"` + // The number of DNS resolution bindings for this VPC. + ResolutionBindingCount *int `pulumi:"resolutionBindingCount"` + // The DNS resolver configuration for the VPC. + Resolver *IsVpcDnsResolver `pulumi:"resolver"` +} + +// IsVpcDnsInput is an input type that accepts IsVpcDnsArgs and IsVpcDnsOutput values. +// You can construct a concrete instance of `IsVpcDnsInput` via: +// +// IsVpcDnsArgs{...} +type IsVpcDnsInput interface { + pulumi.Input + + ToIsVpcDnsOutput() IsVpcDnsOutput + ToIsVpcDnsOutputWithContext(context.Context) IsVpcDnsOutput +} + +type IsVpcDnsArgs struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + EnableHub pulumi.BoolPtrInput `pulumi:"enableHub"` + // The number of DNS resolution bindings for this VPC. + ResolutionBindingCount pulumi.IntPtrInput `pulumi:"resolutionBindingCount"` + // The DNS resolver configuration for the VPC. + Resolver IsVpcDnsResolverPtrInput `pulumi:"resolver"` +} + +func (IsVpcDnsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDns)(nil)).Elem() +} + +func (i IsVpcDnsArgs) ToIsVpcDnsOutput() IsVpcDnsOutput { + return i.ToIsVpcDnsOutputWithContext(context.Background()) +} + +func (i IsVpcDnsArgs) ToIsVpcDnsOutputWithContext(ctx context.Context) IsVpcDnsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsOutput) +} + +func (i IsVpcDnsArgs) ToIsVpcDnsPtrOutput() IsVpcDnsPtrOutput { + return i.ToIsVpcDnsPtrOutputWithContext(context.Background()) +} + +func (i IsVpcDnsArgs) ToIsVpcDnsPtrOutputWithContext(ctx context.Context) IsVpcDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsOutput).ToIsVpcDnsPtrOutputWithContext(ctx) +} + +// IsVpcDnsPtrInput is an input type that accepts IsVpcDnsArgs, IsVpcDnsPtr and IsVpcDnsPtrOutput values. +// You can construct a concrete instance of `IsVpcDnsPtrInput` via: +// +// IsVpcDnsArgs{...} +// +// or: +// +// nil +type IsVpcDnsPtrInput interface { + pulumi.Input + + ToIsVpcDnsPtrOutput() IsVpcDnsPtrOutput + ToIsVpcDnsPtrOutputWithContext(context.Context) IsVpcDnsPtrOutput +} + +type isVpcDnsPtrType IsVpcDnsArgs + +func IsVpcDnsPtr(v *IsVpcDnsArgs) IsVpcDnsPtrInput { + return (*isVpcDnsPtrType)(v) +} + +func (*isVpcDnsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcDns)(nil)).Elem() +} + +func (i *isVpcDnsPtrType) ToIsVpcDnsPtrOutput() IsVpcDnsPtrOutput { + return i.ToIsVpcDnsPtrOutputWithContext(context.Background()) +} + +func (i *isVpcDnsPtrType) ToIsVpcDnsPtrOutputWithContext(ctx context.Context) IsVpcDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsPtrOutput) +} + +type IsVpcDnsOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDns)(nil)).Elem() +} + +func (o IsVpcDnsOutput) ToIsVpcDnsOutput() IsVpcDnsOutput { + return o +} + +func (o IsVpcDnsOutput) ToIsVpcDnsOutputWithContext(ctx context.Context) IsVpcDnsOutput { + return o +} + +func (o IsVpcDnsOutput) ToIsVpcDnsPtrOutput() IsVpcDnsPtrOutput { + return o.ToIsVpcDnsPtrOutputWithContext(context.Background()) +} + +func (o IsVpcDnsOutput) ToIsVpcDnsPtrOutputWithContext(ctx context.Context) IsVpcDnsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVpcDns) *IsVpcDns { + return &v + }).(IsVpcDnsPtrOutput) +} + +// Indicates whether this VPC is enabled as a DNS name resolution hub. +func (o IsVpcDnsOutput) EnableHub() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IsVpcDns) *bool { return v.EnableHub }).(pulumi.BoolPtrOutput) +} + +// The number of DNS resolution bindings for this VPC. +func (o IsVpcDnsOutput) ResolutionBindingCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsVpcDns) *int { return v.ResolutionBindingCount }).(pulumi.IntPtrOutput) +} + +// The DNS resolver configuration for the VPC. +func (o IsVpcDnsOutput) Resolver() IsVpcDnsResolverPtrOutput { + return o.ApplyT(func(v IsVpcDns) *IsVpcDnsResolver { return v.Resolver }).(IsVpcDnsResolverPtrOutput) +} + +type IsVpcDnsPtrOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcDns)(nil)).Elem() +} + +func (o IsVpcDnsPtrOutput) ToIsVpcDnsPtrOutput() IsVpcDnsPtrOutput { + return o +} + +func (o IsVpcDnsPtrOutput) ToIsVpcDnsPtrOutputWithContext(ctx context.Context) IsVpcDnsPtrOutput { + return o +} + +func (o IsVpcDnsPtrOutput) Elem() IsVpcDnsOutput { + return o.ApplyT(func(v *IsVpcDns) IsVpcDns { + if v != nil { + return *v + } + var ret IsVpcDns + return ret + }).(IsVpcDnsOutput) +} + +// Indicates whether this VPC is enabled as a DNS name resolution hub. +func (o IsVpcDnsPtrOutput) EnableHub() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IsVpcDns) *bool { + if v == nil { + return nil + } + return v.EnableHub + }).(pulumi.BoolPtrOutput) +} + +// The number of DNS resolution bindings for this VPC. +func (o IsVpcDnsPtrOutput) ResolutionBindingCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *IsVpcDns) *int { + if v == nil { + return nil + } + return v.ResolutionBindingCount + }).(pulumi.IntPtrOutput) +} + +// The DNS resolver configuration for the VPC. +func (o IsVpcDnsPtrOutput) Resolver() IsVpcDnsResolverPtrOutput { + return o.ApplyT(func(v *IsVpcDns) *IsVpcDnsResolver { + if v == nil { + return nil + } + return v.Resolver + }).(IsVpcDnsResolverPtrOutput) +} + +type IsVpcDnsResolutionBindingEndpointGateway struct { + // The CRN for this endpoint gateway. + Crn *string `pulumi:"crn"` + // The URL for this endpoint gateway. + Href *string `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id *string `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name *string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []IsVpcDnsResolutionBindingEndpointGatewayRemote `pulumi:"remotes"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVpcDnsResolutionBindingEndpointGatewayInput is an input type that accepts IsVpcDnsResolutionBindingEndpointGatewayArgs and IsVpcDnsResolutionBindingEndpointGatewayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingEndpointGatewayInput` via: +// +// IsVpcDnsResolutionBindingEndpointGatewayArgs{...} +type IsVpcDnsResolutionBindingEndpointGatewayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingEndpointGatewayOutput() IsVpcDnsResolutionBindingEndpointGatewayOutput + ToIsVpcDnsResolutionBindingEndpointGatewayOutputWithContext(context.Context) IsVpcDnsResolutionBindingEndpointGatewayOutput +} + +type IsVpcDnsResolutionBindingEndpointGatewayArgs struct { + // The CRN for this endpoint gateway. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The URL for this endpoint gateway. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name pulumi.StringPtrInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVpcDnsResolutionBindingEndpointGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayArgs) ToIsVpcDnsResolutionBindingEndpointGatewayOutput() IsVpcDnsResolutionBindingEndpointGatewayOutput { + return i.ToIsVpcDnsResolutionBindingEndpointGatewayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayArgs) ToIsVpcDnsResolutionBindingEndpointGatewayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingEndpointGatewayOutput) +} + +// IsVpcDnsResolutionBindingEndpointGatewayArrayInput is an input type that accepts IsVpcDnsResolutionBindingEndpointGatewayArray and IsVpcDnsResolutionBindingEndpointGatewayArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingEndpointGatewayArrayInput` via: +// +// IsVpcDnsResolutionBindingEndpointGatewayArray{ IsVpcDnsResolutionBindingEndpointGatewayArgs{...} } +type IsVpcDnsResolutionBindingEndpointGatewayArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingEndpointGatewayArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayArrayOutput + ToIsVpcDnsResolutionBindingEndpointGatewayArrayOutputWithContext(context.Context) IsVpcDnsResolutionBindingEndpointGatewayArrayOutput +} + +type IsVpcDnsResolutionBindingEndpointGatewayArray []IsVpcDnsResolutionBindingEndpointGatewayInput + +func (IsVpcDnsResolutionBindingEndpointGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayArray) ToIsVpcDnsResolutionBindingEndpointGatewayArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return i.ToIsVpcDnsResolutionBindingEndpointGatewayArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayArray) ToIsVpcDnsResolutionBindingEndpointGatewayArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingEndpointGatewayArrayOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingEndpointGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayOutput() IsVpcDnsResolutionBindingEndpointGatewayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayOutput { + return o +} + +// The CRN for this endpoint gateway. +func (o IsVpcDnsResolutionBindingEndpointGatewayOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGateway) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The URL for this endpoint gateway. +func (o IsVpcDnsResolutionBindingEndpointGatewayOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGateway) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this endpoint gateway. +func (o IsVpcDnsResolutionBindingEndpointGatewayOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGateway) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. +func (o IsVpcDnsResolutionBindingEndpointGatewayOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolutionBindingEndpointGatewayOutput) Remotes() IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGateway) []IsVpcDnsResolutionBindingEndpointGatewayRemote { + return v.Remotes + }).(IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) +} + +// The resource type. +func (o IsVpcDnsResolutionBindingEndpointGatewayOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGateway) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingEndpointGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayArrayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayArrayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolutionBindingEndpointGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolutionBindingEndpointGateway { + return vs[0].([]IsVpcDnsResolutionBindingEndpointGateway)[vs[1].(int)] + }).(IsVpcDnsResolutionBindingEndpointGatewayOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion `pulumi:"regions"` +} + +// IsVpcDnsResolutionBindingEndpointGatewayRemoteInput is an input type that accepts IsVpcDnsResolutionBindingEndpointGatewayRemoteArgs and IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingEndpointGatewayRemoteInput` via: +// +// IsVpcDnsResolutionBindingEndpointGatewayRemoteArgs{...} +type IsVpcDnsResolutionBindingEndpointGatewayRemoteInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput `pulumi:"regions"` +} + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteArgs) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return i.ToIsVpcDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteArgs) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) +} + +// IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput is an input type that accepts IsVpcDnsResolutionBindingEndpointGatewayRemoteArray and IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput` via: +// +// IsVpcDnsResolutionBindingEndpointGatewayRemoteArray{ IsVpcDnsResolutionBindingEndpointGatewayRemoteArgs{...} } +type IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteArray []IsVpcDnsResolutionBindingEndpointGatewayRemoteInput + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteArray) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return i.ToIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteArray) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) Accounts() IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGatewayRemote) []IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount { + return v.Accounts + }).(IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) Regions() IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGatewayRemote) []IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion { + return v.Regions + }).(IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolutionBindingEndpointGatewayRemote { + return vs[0].([]IsVpcDnsResolutionBindingEndpointGatewayRemote)[vs[1].(int)] + }).(IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount struct { + // The unique identifier for this account. + Id *string `pulumi:"id"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput is an input type that accepts IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs and IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput` via: +// +// IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs{...} +type IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringPtrInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return i.ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) +} + +// IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput is an input type that accepts IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray and IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput` via: +// +// IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray{ IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs{...} } +type IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray []IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return i.ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount { + return vs[0].([]IsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)[vs[1].(int)] + }).(IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion struct { + // The URL for this region. + Href *string `pulumi:"href"` + // The globally unique name for this region. + Name *string `pulumi:"name"` +} + +// IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput is an input type that accepts IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs and IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput` via: +// +// IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs{...} +type IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return i.ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) +} + +// IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput is an input type that accepts IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray and IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput` via: +// +// IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray{ IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs{...} } +type IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput + ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray []IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return i.ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ToIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion { + return vs[0].([]IsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)[vs[1].(int)] + }).(IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) +} + +type IsVpcDnsResolutionBindingHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpcDnsResolutionBindingHealthReasonInput is an input type that accepts IsVpcDnsResolutionBindingHealthReasonArgs and IsVpcDnsResolutionBindingHealthReasonOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingHealthReasonInput` via: +// +// IsVpcDnsResolutionBindingHealthReasonArgs{...} +type IsVpcDnsResolutionBindingHealthReasonInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingHealthReasonOutput() IsVpcDnsResolutionBindingHealthReasonOutput + ToIsVpcDnsResolutionBindingHealthReasonOutputWithContext(context.Context) IsVpcDnsResolutionBindingHealthReasonOutput +} + +type IsVpcDnsResolutionBindingHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpcDnsResolutionBindingHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingHealthReasonArgs) ToIsVpcDnsResolutionBindingHealthReasonOutput() IsVpcDnsResolutionBindingHealthReasonOutput { + return i.ToIsVpcDnsResolutionBindingHealthReasonOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingHealthReasonArgs) ToIsVpcDnsResolutionBindingHealthReasonOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingHealthReasonOutput) +} + +// IsVpcDnsResolutionBindingHealthReasonArrayInput is an input type that accepts IsVpcDnsResolutionBindingHealthReasonArray and IsVpcDnsResolutionBindingHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingHealthReasonArrayInput` via: +// +// IsVpcDnsResolutionBindingHealthReasonArray{ IsVpcDnsResolutionBindingHealthReasonArgs{...} } +type IsVpcDnsResolutionBindingHealthReasonArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingHealthReasonArrayOutput() IsVpcDnsResolutionBindingHealthReasonArrayOutput + ToIsVpcDnsResolutionBindingHealthReasonArrayOutputWithContext(context.Context) IsVpcDnsResolutionBindingHealthReasonArrayOutput +} + +type IsVpcDnsResolutionBindingHealthReasonArray []IsVpcDnsResolutionBindingHealthReasonInput + +func (IsVpcDnsResolutionBindingHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingHealthReasonArray) ToIsVpcDnsResolutionBindingHealthReasonArrayOutput() IsVpcDnsResolutionBindingHealthReasonArrayOutput { + return i.ToIsVpcDnsResolutionBindingHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingHealthReasonArray) ToIsVpcDnsResolutionBindingHealthReasonArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingHealthReasonArrayOutput) +} + +type IsVpcDnsResolutionBindingHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingHealthReasonOutput) ToIsVpcDnsResolutionBindingHealthReasonOutput() IsVpcDnsResolutionBindingHealthReasonOutput { + return o +} + +func (o IsVpcDnsResolutionBindingHealthReasonOutput) ToIsVpcDnsResolutionBindingHealthReasonOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsVpcDnsResolutionBindingHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsVpcDnsResolutionBindingHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsVpcDnsResolutionBindingHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolutionBindingHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingHealthReasonArrayOutput) ToIsVpcDnsResolutionBindingHealthReasonArrayOutput() IsVpcDnsResolutionBindingHealthReasonArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingHealthReasonArrayOutput) ToIsVpcDnsResolutionBindingHealthReasonArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingHealthReasonArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingHealthReasonArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolutionBindingHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolutionBindingHealthReason { + return vs[0].([]IsVpcDnsResolutionBindingHealthReason)[vs[1].(int)] + }).(IsVpcDnsResolutionBindingHealthReasonOutput) +} + +type IsVpcDnsResolutionBindingVpc struct { + // The CRN for this VPC. + Crn *string `pulumi:"crn"` + // The URL for this VPC. + Href *string `pulumi:"href"` + // The unique identifier for this VPC. + Id *string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name *string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []IsVpcDnsResolutionBindingVpcRemote `pulumi:"remotes"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVpcDnsResolutionBindingVpcInput is an input type that accepts IsVpcDnsResolutionBindingVpcArgs and IsVpcDnsResolutionBindingVpcOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingVpcInput` via: +// +// IsVpcDnsResolutionBindingVpcArgs{...} +type IsVpcDnsResolutionBindingVpcInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingVpcOutput() IsVpcDnsResolutionBindingVpcOutput + ToIsVpcDnsResolutionBindingVpcOutputWithContext(context.Context) IsVpcDnsResolutionBindingVpcOutput +} + +type IsVpcDnsResolutionBindingVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // The URL for this VPC. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes IsVpcDnsResolutionBindingVpcRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVpcDnsResolutionBindingVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingVpc)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingVpcArgs) ToIsVpcDnsResolutionBindingVpcOutput() IsVpcDnsResolutionBindingVpcOutput { + return i.ToIsVpcDnsResolutionBindingVpcOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingVpcArgs) ToIsVpcDnsResolutionBindingVpcOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcOutput) +} + +func (i IsVpcDnsResolutionBindingVpcArgs) ToIsVpcDnsResolutionBindingVpcPtrOutput() IsVpcDnsResolutionBindingVpcPtrOutput { + return i.ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingVpcArgs) ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcOutput).ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(ctx) +} + +// IsVpcDnsResolutionBindingVpcPtrInput is an input type that accepts IsVpcDnsResolutionBindingVpcArgs, IsVpcDnsResolutionBindingVpcPtr and IsVpcDnsResolutionBindingVpcPtrOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingVpcPtrInput` via: +// +// IsVpcDnsResolutionBindingVpcArgs{...} +// +// or: +// +// nil +type IsVpcDnsResolutionBindingVpcPtrInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingVpcPtrOutput() IsVpcDnsResolutionBindingVpcPtrOutput + ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(context.Context) IsVpcDnsResolutionBindingVpcPtrOutput +} + +type isVpcDnsResolutionBindingVpcPtrType IsVpcDnsResolutionBindingVpcArgs + +func IsVpcDnsResolutionBindingVpcPtr(v *IsVpcDnsResolutionBindingVpcArgs) IsVpcDnsResolutionBindingVpcPtrInput { + return (*isVpcDnsResolutionBindingVpcPtrType)(v) +} + +func (*isVpcDnsResolutionBindingVpcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcDnsResolutionBindingVpc)(nil)).Elem() +} + +func (i *isVpcDnsResolutionBindingVpcPtrType) ToIsVpcDnsResolutionBindingVpcPtrOutput() IsVpcDnsResolutionBindingVpcPtrOutput { + return i.ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(context.Background()) +} + +func (i *isVpcDnsResolutionBindingVpcPtrType) ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcPtrOutput) +} + +type IsVpcDnsResolutionBindingVpcOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingVpc)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingVpcOutput) ToIsVpcDnsResolutionBindingVpcOutput() IsVpcDnsResolutionBindingVpcOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcOutput) ToIsVpcDnsResolutionBindingVpcOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcOutput) ToIsVpcDnsResolutionBindingVpcPtrOutput() IsVpcDnsResolutionBindingVpcPtrOutput { + return o.ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(context.Background()) +} + +func (o IsVpcDnsResolutionBindingVpcOutput) ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVpcDnsResolutionBindingVpc) *IsVpcDnsResolutionBindingVpc { + return &v + }).(IsVpcDnsResolutionBindingVpcPtrOutput) +} + +// The CRN for this VPC. +func (o IsVpcDnsResolutionBindingVpcOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpc) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// The URL for this VPC. +func (o IsVpcDnsResolutionBindingVpcOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpc) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsVpcDnsResolutionBindingVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o IsVpcDnsResolutionBindingVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolutionBindingVpcOutput) Remotes() IsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpc) []IsVpcDnsResolutionBindingVpcRemote { return v.Remotes }).(IsVpcDnsResolutionBindingVpcRemoteArrayOutput) +} + +// The resource type. +func (o IsVpcDnsResolutionBindingVpcOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpc) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolutionBindingVpcPtrOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingVpcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcDnsResolutionBindingVpc)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingVpcPtrOutput) ToIsVpcDnsResolutionBindingVpcPtrOutput() IsVpcDnsResolutionBindingVpcPtrOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcPtrOutput) ToIsVpcDnsResolutionBindingVpcPtrOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcPtrOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcPtrOutput) Elem() IsVpcDnsResolutionBindingVpcOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBindingVpc) IsVpcDnsResolutionBindingVpc { + if v != nil { + return *v + } + var ret IsVpcDnsResolutionBindingVpc + return ret + }).(IsVpcDnsResolutionBindingVpcOutput) +} + +// The CRN for this VPC. +func (o IsVpcDnsResolutionBindingVpcPtrOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBindingVpc) *string { + if v == nil { + return nil + } + return v.Crn + }).(pulumi.StringPtrOutput) +} + +// The URL for this VPC. +func (o IsVpcDnsResolutionBindingVpcPtrOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBindingVpc) *string { + if v == nil { + return nil + } + return v.Href + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsVpcDnsResolutionBindingVpcPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBindingVpc) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o IsVpcDnsResolutionBindingVpcPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBindingVpc) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolutionBindingVpcPtrOutput) Remotes() IsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBindingVpc) []IsVpcDnsResolutionBindingVpcRemote { + if v == nil { + return nil + } + return v.Remotes + }).(IsVpcDnsResolutionBindingVpcRemoteArrayOutput) +} + +// The resource type. +func (o IsVpcDnsResolutionBindingVpcPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolutionBindingVpc) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolutionBindingVpcRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []IsVpcDnsResolutionBindingVpcRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []IsVpcDnsResolutionBindingVpcRemoteRegion `pulumi:"regions"` +} + +// IsVpcDnsResolutionBindingVpcRemoteInput is an input type that accepts IsVpcDnsResolutionBindingVpcRemoteArgs and IsVpcDnsResolutionBindingVpcRemoteOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingVpcRemoteInput` via: +// +// IsVpcDnsResolutionBindingVpcRemoteArgs{...} +type IsVpcDnsResolutionBindingVpcRemoteInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingVpcRemoteOutput() IsVpcDnsResolutionBindingVpcRemoteOutput + ToIsVpcDnsResolutionBindingVpcRemoteOutputWithContext(context.Context) IsVpcDnsResolutionBindingVpcRemoteOutput +} + +type IsVpcDnsResolutionBindingVpcRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts IsVpcDnsResolutionBindingVpcRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions IsVpcDnsResolutionBindingVpcRemoteRegionArrayInput `pulumi:"regions"` +} + +func (IsVpcDnsResolutionBindingVpcRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingVpcRemoteArgs) ToIsVpcDnsResolutionBindingVpcRemoteOutput() IsVpcDnsResolutionBindingVpcRemoteOutput { + return i.ToIsVpcDnsResolutionBindingVpcRemoteOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingVpcRemoteArgs) ToIsVpcDnsResolutionBindingVpcRemoteOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcRemoteOutput) +} + +// IsVpcDnsResolutionBindingVpcRemoteArrayInput is an input type that accepts IsVpcDnsResolutionBindingVpcRemoteArray and IsVpcDnsResolutionBindingVpcRemoteArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingVpcRemoteArrayInput` via: +// +// IsVpcDnsResolutionBindingVpcRemoteArray{ IsVpcDnsResolutionBindingVpcRemoteArgs{...} } +type IsVpcDnsResolutionBindingVpcRemoteArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingVpcRemoteArrayOutput() IsVpcDnsResolutionBindingVpcRemoteArrayOutput + ToIsVpcDnsResolutionBindingVpcRemoteArrayOutputWithContext(context.Context) IsVpcDnsResolutionBindingVpcRemoteArrayOutput +} + +type IsVpcDnsResolutionBindingVpcRemoteArray []IsVpcDnsResolutionBindingVpcRemoteInput + +func (IsVpcDnsResolutionBindingVpcRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingVpcRemoteArray) ToIsVpcDnsResolutionBindingVpcRemoteArrayOutput() IsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return i.ToIsVpcDnsResolutionBindingVpcRemoteArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingVpcRemoteArray) ToIsVpcDnsResolutionBindingVpcRemoteArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcRemoteArrayOutput) +} + +type IsVpcDnsResolutionBindingVpcRemoteOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingVpcRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingVpcRemoteOutput) ToIsVpcDnsResolutionBindingVpcRemoteOutput() IsVpcDnsResolutionBindingVpcRemoteOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteOutput) ToIsVpcDnsResolutionBindingVpcRemoteOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o IsVpcDnsResolutionBindingVpcRemoteOutput) Accounts() IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpcRemote) []IsVpcDnsResolutionBindingVpcRemoteAccount { + return v.Accounts + }).(IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o IsVpcDnsResolutionBindingVpcRemoteOutput) Regions() IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpcRemote) []IsVpcDnsResolutionBindingVpcRemoteRegion { + return v.Regions + }).(IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) +} + +type IsVpcDnsResolutionBindingVpcRemoteArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingVpcRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingVpcRemoteArrayOutput) ToIsVpcDnsResolutionBindingVpcRemoteArrayOutput() IsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteArrayOutput) ToIsVpcDnsResolutionBindingVpcRemoteArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolutionBindingVpcRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolutionBindingVpcRemote { + return vs[0].([]IsVpcDnsResolutionBindingVpcRemote)[vs[1].(int)] + }).(IsVpcDnsResolutionBindingVpcRemoteOutput) +} + +type IsVpcDnsResolutionBindingVpcRemoteAccount struct { + // The unique identifier for this account. + Id *string `pulumi:"id"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVpcDnsResolutionBindingVpcRemoteAccountInput is an input type that accepts IsVpcDnsResolutionBindingVpcRemoteAccountArgs and IsVpcDnsResolutionBindingVpcRemoteAccountOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingVpcRemoteAccountInput` via: +// +// IsVpcDnsResolutionBindingVpcRemoteAccountArgs{...} +type IsVpcDnsResolutionBindingVpcRemoteAccountInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingVpcRemoteAccountOutput() IsVpcDnsResolutionBindingVpcRemoteAccountOutput + ToIsVpcDnsResolutionBindingVpcRemoteAccountOutputWithContext(context.Context) IsVpcDnsResolutionBindingVpcRemoteAccountOutput +} + +type IsVpcDnsResolutionBindingVpcRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringPtrInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVpcDnsResolutionBindingVpcRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingVpcRemoteAccountArgs) ToIsVpcDnsResolutionBindingVpcRemoteAccountOutput() IsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return i.ToIsVpcDnsResolutionBindingVpcRemoteAccountOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingVpcRemoteAccountArgs) ToIsVpcDnsResolutionBindingVpcRemoteAccountOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcRemoteAccountOutput) +} + +// IsVpcDnsResolutionBindingVpcRemoteAccountArrayInput is an input type that accepts IsVpcDnsResolutionBindingVpcRemoteAccountArray and IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingVpcRemoteAccountArrayInput` via: +// +// IsVpcDnsResolutionBindingVpcRemoteAccountArray{ IsVpcDnsResolutionBindingVpcRemoteAccountArgs{...} } +type IsVpcDnsResolutionBindingVpcRemoteAccountArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput() IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput + ToIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(context.Context) IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput +} + +type IsVpcDnsResolutionBindingVpcRemoteAccountArray []IsVpcDnsResolutionBindingVpcRemoteAccountInput + +func (IsVpcDnsResolutionBindingVpcRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingVpcRemoteAccountArray) ToIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput() IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return i.ToIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingVpcRemoteAccountArray) ToIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) +} + +type IsVpcDnsResolutionBindingVpcRemoteAccountOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingVpcRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingVpcRemoteAccountOutput) ToIsVpcDnsResolutionBindingVpcRemoteAccountOutput() IsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteAccountOutput) ToIsVpcDnsResolutionBindingVpcRemoteAccountOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o IsVpcDnsResolutionBindingVpcRemoteAccountOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpcRemoteAccount) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVpcDnsResolutionBindingVpcRemoteAccountOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpcRemoteAccount) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) ToIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput() IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) ToIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolutionBindingVpcRemoteAccount { + return vs[0].([]IsVpcDnsResolutionBindingVpcRemoteAccount)[vs[1].(int)] + }).(IsVpcDnsResolutionBindingVpcRemoteAccountOutput) +} + +type IsVpcDnsResolutionBindingVpcRemoteRegion struct { + // The URL for this region. + Href *string `pulumi:"href"` + // The globally unique name for this region. + Name *string `pulumi:"name"` +} + +// IsVpcDnsResolutionBindingVpcRemoteRegionInput is an input type that accepts IsVpcDnsResolutionBindingVpcRemoteRegionArgs and IsVpcDnsResolutionBindingVpcRemoteRegionOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingVpcRemoteRegionInput` via: +// +// IsVpcDnsResolutionBindingVpcRemoteRegionArgs{...} +type IsVpcDnsResolutionBindingVpcRemoteRegionInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingVpcRemoteRegionOutput() IsVpcDnsResolutionBindingVpcRemoteRegionOutput + ToIsVpcDnsResolutionBindingVpcRemoteRegionOutputWithContext(context.Context) IsVpcDnsResolutionBindingVpcRemoteRegionOutput +} + +type IsVpcDnsResolutionBindingVpcRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringPtrInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsVpcDnsResolutionBindingVpcRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingVpcRemoteRegionArgs) ToIsVpcDnsResolutionBindingVpcRemoteRegionOutput() IsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return i.ToIsVpcDnsResolutionBindingVpcRemoteRegionOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingVpcRemoteRegionArgs) ToIsVpcDnsResolutionBindingVpcRemoteRegionOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcRemoteRegionOutput) +} + +// IsVpcDnsResolutionBindingVpcRemoteRegionArrayInput is an input type that accepts IsVpcDnsResolutionBindingVpcRemoteRegionArray and IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolutionBindingVpcRemoteRegionArrayInput` via: +// +// IsVpcDnsResolutionBindingVpcRemoteRegionArray{ IsVpcDnsResolutionBindingVpcRemoteRegionArgs{...} } +type IsVpcDnsResolutionBindingVpcRemoteRegionArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput() IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput + ToIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(context.Context) IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput +} + +type IsVpcDnsResolutionBindingVpcRemoteRegionArray []IsVpcDnsResolutionBindingVpcRemoteRegionInput + +func (IsVpcDnsResolutionBindingVpcRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (i IsVpcDnsResolutionBindingVpcRemoteRegionArray) ToIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput() IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return i.ToIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolutionBindingVpcRemoteRegionArray) ToIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) +} + +type IsVpcDnsResolutionBindingVpcRemoteRegionOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingVpcRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingVpcRemoteRegionOutput) ToIsVpcDnsResolutionBindingVpcRemoteRegionOutput() IsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteRegionOutput) ToIsVpcDnsResolutionBindingVpcRemoteRegionOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o IsVpcDnsResolutionBindingVpcRemoteRegionOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpcRemoteRegion) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The globally unique name for this region. +func (o IsVpcDnsResolutionBindingVpcRemoteRegionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolutionBindingVpcRemoteRegion) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (o IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) ToIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput() IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) ToIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(ctx context.Context) IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o +} + +func (o IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolutionBindingVpcRemoteRegion { + return vs[0].([]IsVpcDnsResolutionBindingVpcRemoteRegion)[vs[1].(int)] + }).(IsVpcDnsResolutionBindingVpcRemoteRegionOutput) +} + +type IsVpcDnsResolver struct { + // The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. + Configuration *string `pulumi:"configuration"` + // The VPC dns binding id whose DNS resolver provides the DNS server addresses for this VPC. + DnsBindingId *string `pulumi:"dnsBindingId"` + // The VPC dns binding name whose DNS resolver provides the DNS server addresses for this VPC. + DnsBindingName *string `pulumi:"dnsBindingName"` + // The manually specified DNS servers for this VPC. + ManualServers []IsVpcDnsResolverManualServer `pulumi:"manualServers"` + // The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. + Servers []IsVpcDnsResolverServer `pulumi:"servers"` + // The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. + Type *string `pulumi:"type"` + // The VPC crn whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + VpcCrn *string `pulumi:"vpcCrn"` + // The VPC id whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + VpcId *string `pulumi:"vpcId"` + // The VPC name whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + VpcName *string `pulumi:"vpcName"` + // The unique identifier for this account. + VpcRemoteAccountId *string `pulumi:"vpcRemoteAccountId"` + // Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. + VpcRemoteRegion *string `pulumi:"vpcRemoteRegion"` +} + +// IsVpcDnsResolverInput is an input type that accepts IsVpcDnsResolverArgs and IsVpcDnsResolverOutput values. +// You can construct a concrete instance of `IsVpcDnsResolverInput` via: +// +// IsVpcDnsResolverArgs{...} +type IsVpcDnsResolverInput interface { + pulumi.Input + + ToIsVpcDnsResolverOutput() IsVpcDnsResolverOutput + ToIsVpcDnsResolverOutputWithContext(context.Context) IsVpcDnsResolverOutput +} + +type IsVpcDnsResolverArgs struct { + // The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. + Configuration pulumi.StringPtrInput `pulumi:"configuration"` + // The VPC dns binding id whose DNS resolver provides the DNS server addresses for this VPC. + DnsBindingId pulumi.StringPtrInput `pulumi:"dnsBindingId"` + // The VPC dns binding name whose DNS resolver provides the DNS server addresses for this VPC. + DnsBindingName pulumi.StringPtrInput `pulumi:"dnsBindingName"` + // The manually specified DNS servers for this VPC. + ManualServers IsVpcDnsResolverManualServerArrayInput `pulumi:"manualServers"` + // The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. + Servers IsVpcDnsResolverServerArrayInput `pulumi:"servers"` + // The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. + Type pulumi.StringPtrInput `pulumi:"type"` + // The VPC crn whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + VpcCrn pulumi.StringPtrInput `pulumi:"vpcCrn"` + // The VPC id whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + VpcId pulumi.StringPtrInput `pulumi:"vpcId"` + // The VPC name whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + VpcName pulumi.StringPtrInput `pulumi:"vpcName"` + // The unique identifier for this account. + VpcRemoteAccountId pulumi.StringPtrInput `pulumi:"vpcRemoteAccountId"` + // Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. + VpcRemoteRegion pulumi.StringPtrInput `pulumi:"vpcRemoteRegion"` +} + +func (IsVpcDnsResolverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolver)(nil)).Elem() +} + +func (i IsVpcDnsResolverArgs) ToIsVpcDnsResolverOutput() IsVpcDnsResolverOutput { + return i.ToIsVpcDnsResolverOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolverArgs) ToIsVpcDnsResolverOutputWithContext(ctx context.Context) IsVpcDnsResolverOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolverOutput) +} + +func (i IsVpcDnsResolverArgs) ToIsVpcDnsResolverPtrOutput() IsVpcDnsResolverPtrOutput { + return i.ToIsVpcDnsResolverPtrOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolverArgs) ToIsVpcDnsResolverPtrOutputWithContext(ctx context.Context) IsVpcDnsResolverPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolverOutput).ToIsVpcDnsResolverPtrOutputWithContext(ctx) +} + +// IsVpcDnsResolverPtrInput is an input type that accepts IsVpcDnsResolverArgs, IsVpcDnsResolverPtr and IsVpcDnsResolverPtrOutput values. +// You can construct a concrete instance of `IsVpcDnsResolverPtrInput` via: +// +// IsVpcDnsResolverArgs{...} +// +// or: +// +// nil +type IsVpcDnsResolverPtrInput interface { + pulumi.Input + + ToIsVpcDnsResolverPtrOutput() IsVpcDnsResolverPtrOutput + ToIsVpcDnsResolverPtrOutputWithContext(context.Context) IsVpcDnsResolverPtrOutput +} + +type isVpcDnsResolverPtrType IsVpcDnsResolverArgs + +func IsVpcDnsResolverPtr(v *IsVpcDnsResolverArgs) IsVpcDnsResolverPtrInput { + return (*isVpcDnsResolverPtrType)(v) +} + +func (*isVpcDnsResolverPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcDnsResolver)(nil)).Elem() +} + +func (i *isVpcDnsResolverPtrType) ToIsVpcDnsResolverPtrOutput() IsVpcDnsResolverPtrOutput { + return i.ToIsVpcDnsResolverPtrOutputWithContext(context.Background()) +} + +func (i *isVpcDnsResolverPtrType) ToIsVpcDnsResolverPtrOutputWithContext(ctx context.Context) IsVpcDnsResolverPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolverPtrOutput) +} + +type IsVpcDnsResolverOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolver)(nil)).Elem() +} + +func (o IsVpcDnsResolverOutput) ToIsVpcDnsResolverOutput() IsVpcDnsResolverOutput { + return o +} + +func (o IsVpcDnsResolverOutput) ToIsVpcDnsResolverOutputWithContext(ctx context.Context) IsVpcDnsResolverOutput { + return o +} + +func (o IsVpcDnsResolverOutput) ToIsVpcDnsResolverPtrOutput() IsVpcDnsResolverPtrOutput { + return o.ToIsVpcDnsResolverPtrOutputWithContext(context.Background()) +} + +func (o IsVpcDnsResolverOutput) ToIsVpcDnsResolverPtrOutputWithContext(ctx context.Context) IsVpcDnsResolverPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVpcDnsResolver) *IsVpcDnsResolver { + return &v + }).(IsVpcDnsResolverPtrOutput) +} + +// The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. +func (o IsVpcDnsResolverOutput) Configuration() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.Configuration }).(pulumi.StringPtrOutput) +} + +// The VPC dns binding id whose DNS resolver provides the DNS server addresses for this VPC. +func (o IsVpcDnsResolverOutput) DnsBindingId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.DnsBindingId }).(pulumi.StringPtrOutput) +} + +// The VPC dns binding name whose DNS resolver provides the DNS server addresses for this VPC. +func (o IsVpcDnsResolverOutput) DnsBindingName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.DnsBindingName }).(pulumi.StringPtrOutput) +} + +// The manually specified DNS servers for this VPC. +func (o IsVpcDnsResolverOutput) ManualServers() IsVpcDnsResolverManualServerArrayOutput { + return o.ApplyT(func(v IsVpcDnsResolver) []IsVpcDnsResolverManualServer { return v.ManualServers }).(IsVpcDnsResolverManualServerArrayOutput) +} + +// The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. +func (o IsVpcDnsResolverOutput) Servers() IsVpcDnsResolverServerArrayOutput { + return o.ApplyT(func(v IsVpcDnsResolver) []IsVpcDnsResolverServer { return v.Servers }).(IsVpcDnsResolverServerArrayOutput) +} + +// The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. +func (o IsVpcDnsResolverOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +// The VPC crn whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolverOutput) VpcCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.VpcCrn }).(pulumi.StringPtrOutput) +} + +// The VPC id whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolverOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.VpcId }).(pulumi.StringPtrOutput) +} + +// The VPC name whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolverOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.VpcName }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this account. +func (o IsVpcDnsResolverOutput) VpcRemoteAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.VpcRemoteAccountId }).(pulumi.StringPtrOutput) +} + +// Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. +func (o IsVpcDnsResolverOutput) VpcRemoteRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolver) *string { return v.VpcRemoteRegion }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolverPtrOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolverPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpcDnsResolver)(nil)).Elem() +} + +func (o IsVpcDnsResolverPtrOutput) ToIsVpcDnsResolverPtrOutput() IsVpcDnsResolverPtrOutput { + return o +} + +func (o IsVpcDnsResolverPtrOutput) ToIsVpcDnsResolverPtrOutputWithContext(ctx context.Context) IsVpcDnsResolverPtrOutput { + return o +} + +func (o IsVpcDnsResolverPtrOutput) Elem() IsVpcDnsResolverOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) IsVpcDnsResolver { + if v != nil { + return *v + } + var ret IsVpcDnsResolver + return ret + }).(IsVpcDnsResolverOutput) +} + +// The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. +func (o IsVpcDnsResolverPtrOutput) Configuration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.Configuration + }).(pulumi.StringPtrOutput) +} + +// The VPC dns binding id whose DNS resolver provides the DNS server addresses for this VPC. +func (o IsVpcDnsResolverPtrOutput) DnsBindingId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.DnsBindingId + }).(pulumi.StringPtrOutput) +} + +// The VPC dns binding name whose DNS resolver provides the DNS server addresses for this VPC. +func (o IsVpcDnsResolverPtrOutput) DnsBindingName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.DnsBindingName + }).(pulumi.StringPtrOutput) +} + +// The manually specified DNS servers for this VPC. +func (o IsVpcDnsResolverPtrOutput) ManualServers() IsVpcDnsResolverManualServerArrayOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) []IsVpcDnsResolverManualServer { + if v == nil { + return nil + } + return v.ManualServers + }).(IsVpcDnsResolverManualServerArrayOutput) +} + +// The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. +func (o IsVpcDnsResolverPtrOutput) Servers() IsVpcDnsResolverServerArrayOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) []IsVpcDnsResolverServer { + if v == nil { + return nil + } + return v.Servers + }).(IsVpcDnsResolverServerArrayOutput) +} + +// The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. +func (o IsVpcDnsResolverPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +// The VPC crn whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolverPtrOutput) VpcCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.VpcCrn + }).(pulumi.StringPtrOutput) +} + +// The VPC id whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolverPtrOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.VpcId + }).(pulumi.StringPtrOutput) +} + +// The VPC name whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. +func (o IsVpcDnsResolverPtrOutput) VpcName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.VpcName + }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this account. +func (o IsVpcDnsResolverPtrOutput) VpcRemoteAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.VpcRemoteAccountId + }).(pulumi.StringPtrOutput) +} + +// Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. +func (o IsVpcDnsResolverPtrOutput) VpcRemoteRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpcDnsResolver) *string { + if v == nil { + return nil + } + return v.VpcRemoteRegion + }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolverManualServer struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity *string `pulumi:"zoneAffinity"` +} + +// IsVpcDnsResolverManualServerInput is an input type that accepts IsVpcDnsResolverManualServerArgs and IsVpcDnsResolverManualServerOutput values. +// You can construct a concrete instance of `IsVpcDnsResolverManualServerInput` via: +// +// IsVpcDnsResolverManualServerArgs{...} +type IsVpcDnsResolverManualServerInput interface { + pulumi.Input + + ToIsVpcDnsResolverManualServerOutput() IsVpcDnsResolverManualServerOutput + ToIsVpcDnsResolverManualServerOutputWithContext(context.Context) IsVpcDnsResolverManualServerOutput +} + +type IsVpcDnsResolverManualServerArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity pulumi.StringPtrInput `pulumi:"zoneAffinity"` +} + +func (IsVpcDnsResolverManualServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolverManualServer)(nil)).Elem() +} + +func (i IsVpcDnsResolverManualServerArgs) ToIsVpcDnsResolverManualServerOutput() IsVpcDnsResolverManualServerOutput { + return i.ToIsVpcDnsResolverManualServerOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolverManualServerArgs) ToIsVpcDnsResolverManualServerOutputWithContext(ctx context.Context) IsVpcDnsResolverManualServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolverManualServerOutput) +} + +// IsVpcDnsResolverManualServerArrayInput is an input type that accepts IsVpcDnsResolverManualServerArray and IsVpcDnsResolverManualServerArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolverManualServerArrayInput` via: +// +// IsVpcDnsResolverManualServerArray{ IsVpcDnsResolverManualServerArgs{...} } +type IsVpcDnsResolverManualServerArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolverManualServerArrayOutput() IsVpcDnsResolverManualServerArrayOutput + ToIsVpcDnsResolverManualServerArrayOutputWithContext(context.Context) IsVpcDnsResolverManualServerArrayOutput +} + +type IsVpcDnsResolverManualServerArray []IsVpcDnsResolverManualServerInput + +func (IsVpcDnsResolverManualServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolverManualServer)(nil)).Elem() +} + +func (i IsVpcDnsResolverManualServerArray) ToIsVpcDnsResolverManualServerArrayOutput() IsVpcDnsResolverManualServerArrayOutput { + return i.ToIsVpcDnsResolverManualServerArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolverManualServerArray) ToIsVpcDnsResolverManualServerArrayOutputWithContext(ctx context.Context) IsVpcDnsResolverManualServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolverManualServerArrayOutput) +} + +type IsVpcDnsResolverManualServerOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolverManualServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolverManualServer)(nil)).Elem() +} + +func (o IsVpcDnsResolverManualServerOutput) ToIsVpcDnsResolverManualServerOutput() IsVpcDnsResolverManualServerOutput { + return o +} + +func (o IsVpcDnsResolverManualServerOutput) ToIsVpcDnsResolverManualServerOutputWithContext(ctx context.Context) IsVpcDnsResolverManualServerOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsVpcDnsResolverManualServerOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolverManualServer) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. +func (o IsVpcDnsResolverManualServerOutput) ZoneAffinity() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolverManualServer) *string { return v.ZoneAffinity }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolverManualServerArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolverManualServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolverManualServer)(nil)).Elem() +} + +func (o IsVpcDnsResolverManualServerArrayOutput) ToIsVpcDnsResolverManualServerArrayOutput() IsVpcDnsResolverManualServerArrayOutput { + return o +} + +func (o IsVpcDnsResolverManualServerArrayOutput) ToIsVpcDnsResolverManualServerArrayOutputWithContext(ctx context.Context) IsVpcDnsResolverManualServerArrayOutput { + return o +} + +func (o IsVpcDnsResolverManualServerArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolverManualServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolverManualServer { + return vs[0].([]IsVpcDnsResolverManualServer)[vs[1].(int)] + }).(IsVpcDnsResolverManualServerOutput) +} + +type IsVpcDnsResolverServer struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity *string `pulumi:"zoneAffinity"` +} + +// IsVpcDnsResolverServerInput is an input type that accepts IsVpcDnsResolverServerArgs and IsVpcDnsResolverServerOutput values. +// You can construct a concrete instance of `IsVpcDnsResolverServerInput` via: +// +// IsVpcDnsResolverServerArgs{...} +type IsVpcDnsResolverServerInput interface { + pulumi.Input + + ToIsVpcDnsResolverServerOutput() IsVpcDnsResolverServerOutput + ToIsVpcDnsResolverServerOutputWithContext(context.Context) IsVpcDnsResolverServerOutput +} + +type IsVpcDnsResolverServerArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity pulumi.StringPtrInput `pulumi:"zoneAffinity"` +} + +func (IsVpcDnsResolverServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolverServer)(nil)).Elem() +} + +func (i IsVpcDnsResolverServerArgs) ToIsVpcDnsResolverServerOutput() IsVpcDnsResolverServerOutput { + return i.ToIsVpcDnsResolverServerOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolverServerArgs) ToIsVpcDnsResolverServerOutputWithContext(ctx context.Context) IsVpcDnsResolverServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolverServerOutput) +} + +// IsVpcDnsResolverServerArrayInput is an input type that accepts IsVpcDnsResolverServerArray and IsVpcDnsResolverServerArrayOutput values. +// You can construct a concrete instance of `IsVpcDnsResolverServerArrayInput` via: +// +// IsVpcDnsResolverServerArray{ IsVpcDnsResolverServerArgs{...} } +type IsVpcDnsResolverServerArrayInput interface { + pulumi.Input + + ToIsVpcDnsResolverServerArrayOutput() IsVpcDnsResolverServerArrayOutput + ToIsVpcDnsResolverServerArrayOutputWithContext(context.Context) IsVpcDnsResolverServerArrayOutput +} + +type IsVpcDnsResolverServerArray []IsVpcDnsResolverServerInput + +func (IsVpcDnsResolverServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolverServer)(nil)).Elem() +} + +func (i IsVpcDnsResolverServerArray) ToIsVpcDnsResolverServerArrayOutput() IsVpcDnsResolverServerArrayOutput { + return i.ToIsVpcDnsResolverServerArrayOutputWithContext(context.Background()) +} + +func (i IsVpcDnsResolverServerArray) ToIsVpcDnsResolverServerArrayOutputWithContext(ctx context.Context) IsVpcDnsResolverServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcDnsResolverServerArrayOutput) +} + +type IsVpcDnsResolverServerOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolverServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcDnsResolverServer)(nil)).Elem() +} + +func (o IsVpcDnsResolverServerOutput) ToIsVpcDnsResolverServerOutput() IsVpcDnsResolverServerOutput { + return o +} + +func (o IsVpcDnsResolverServerOutput) ToIsVpcDnsResolverServerOutputWithContext(ctx context.Context) IsVpcDnsResolverServerOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsVpcDnsResolverServerOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolverServer) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. +func (o IsVpcDnsResolverServerOutput) ZoneAffinity() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcDnsResolverServer) *string { return v.ZoneAffinity }).(pulumi.StringPtrOutput) +} + +type IsVpcDnsResolverServerArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcDnsResolverServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcDnsResolverServer)(nil)).Elem() +} + +func (o IsVpcDnsResolverServerArrayOutput) ToIsVpcDnsResolverServerArrayOutput() IsVpcDnsResolverServerArrayOutput { + return o +} + +func (o IsVpcDnsResolverServerArrayOutput) ToIsVpcDnsResolverServerArrayOutputWithContext(ctx context.Context) IsVpcDnsResolverServerArrayOutput { + return o +} + +func (o IsVpcDnsResolverServerArrayOutput) Index(i pulumi.IntInput) IsVpcDnsResolverServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcDnsResolverServer { + return vs[0].([]IsVpcDnsResolverServer)[vs[1].(int)] + }).(IsVpcDnsResolverServerOutput) +} + +type IsVpcHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpcHealthReasonInput is an input type that accepts IsVpcHealthReasonArgs and IsVpcHealthReasonOutput values. +// You can construct a concrete instance of `IsVpcHealthReasonInput` via: +// +// IsVpcHealthReasonArgs{...} +type IsVpcHealthReasonInput interface { + pulumi.Input + + ToIsVpcHealthReasonOutput() IsVpcHealthReasonOutput + ToIsVpcHealthReasonOutputWithContext(context.Context) IsVpcHealthReasonOutput +} + +type IsVpcHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpcHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcHealthReason)(nil)).Elem() +} + +func (i IsVpcHealthReasonArgs) ToIsVpcHealthReasonOutput() IsVpcHealthReasonOutput { + return i.ToIsVpcHealthReasonOutputWithContext(context.Background()) +} + +func (i IsVpcHealthReasonArgs) ToIsVpcHealthReasonOutputWithContext(ctx context.Context) IsVpcHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcHealthReasonOutput) +} + +// IsVpcHealthReasonArrayInput is an input type that accepts IsVpcHealthReasonArray and IsVpcHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsVpcHealthReasonArrayInput` via: +// +// IsVpcHealthReasonArray{ IsVpcHealthReasonArgs{...} } +type IsVpcHealthReasonArrayInput interface { + pulumi.Input + + ToIsVpcHealthReasonArrayOutput() IsVpcHealthReasonArrayOutput + ToIsVpcHealthReasonArrayOutputWithContext(context.Context) IsVpcHealthReasonArrayOutput +} + +type IsVpcHealthReasonArray []IsVpcHealthReasonInput + +func (IsVpcHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcHealthReason)(nil)).Elem() +} + +func (i IsVpcHealthReasonArray) ToIsVpcHealthReasonArrayOutput() IsVpcHealthReasonArrayOutput { + return i.ToIsVpcHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpcHealthReasonArray) ToIsVpcHealthReasonArrayOutputWithContext(ctx context.Context) IsVpcHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcHealthReasonArrayOutput) +} + +type IsVpcHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsVpcHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcHealthReason)(nil)).Elem() +} + +func (o IsVpcHealthReasonOutput) ToIsVpcHealthReasonOutput() IsVpcHealthReasonOutput { + return o +} + +func (o IsVpcHealthReasonOutput) ToIsVpcHealthReasonOutputWithContext(ctx context.Context) IsVpcHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsVpcHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsVpcHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsVpcHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpcHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcHealthReason)(nil)).Elem() +} + +func (o IsVpcHealthReasonArrayOutput) ToIsVpcHealthReasonArrayOutput() IsVpcHealthReasonArrayOutput { + return o +} + +func (o IsVpcHealthReasonArrayOutput) ToIsVpcHealthReasonArrayOutputWithContext(ctx context.Context) IsVpcHealthReasonArrayOutput { + return o +} + +func (o IsVpcHealthReasonArrayOutput) Index(i pulumi.IntInput) IsVpcHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcHealthReason { + return vs[0].([]IsVpcHealthReason)[vs[1].(int)] + }).(IsVpcHealthReasonOutput) +} + +type IsVpcPublicAddressRange struct { + // The CRN for this public address range. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []IsVpcPublicAddressRangeDeleted `pulumi:"deleteds"` + // The URL for this public address range. + Href *string `pulumi:"href"` + // The unique identifier for this public address range. + Id *string `pulumi:"id"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVpcPublicAddressRangeInput is an input type that accepts IsVpcPublicAddressRangeArgs and IsVpcPublicAddressRangeOutput values. +// You can construct a concrete instance of `IsVpcPublicAddressRangeInput` via: +// +// IsVpcPublicAddressRangeArgs{...} +type IsVpcPublicAddressRangeInput interface { + pulumi.Input + + ToIsVpcPublicAddressRangeOutput() IsVpcPublicAddressRangeOutput + ToIsVpcPublicAddressRangeOutputWithContext(context.Context) IsVpcPublicAddressRangeOutput +} + +type IsVpcPublicAddressRangeArgs struct { + // The CRN for this public address range. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds IsVpcPublicAddressRangeDeletedArrayInput `pulumi:"deleteds"` + // The URL for this public address range. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this public address range. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVpcPublicAddressRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcPublicAddressRange)(nil)).Elem() +} + +func (i IsVpcPublicAddressRangeArgs) ToIsVpcPublicAddressRangeOutput() IsVpcPublicAddressRangeOutput { + return i.ToIsVpcPublicAddressRangeOutputWithContext(context.Background()) +} + +func (i IsVpcPublicAddressRangeArgs) ToIsVpcPublicAddressRangeOutputWithContext(ctx context.Context) IsVpcPublicAddressRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcPublicAddressRangeOutput) +} + +// IsVpcPublicAddressRangeArrayInput is an input type that accepts IsVpcPublicAddressRangeArray and IsVpcPublicAddressRangeArrayOutput values. +// You can construct a concrete instance of `IsVpcPublicAddressRangeArrayInput` via: +// +// IsVpcPublicAddressRangeArray{ IsVpcPublicAddressRangeArgs{...} } +type IsVpcPublicAddressRangeArrayInput interface { + pulumi.Input + + ToIsVpcPublicAddressRangeArrayOutput() IsVpcPublicAddressRangeArrayOutput + ToIsVpcPublicAddressRangeArrayOutputWithContext(context.Context) IsVpcPublicAddressRangeArrayOutput +} + +type IsVpcPublicAddressRangeArray []IsVpcPublicAddressRangeInput + +func (IsVpcPublicAddressRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcPublicAddressRange)(nil)).Elem() +} + +func (i IsVpcPublicAddressRangeArray) ToIsVpcPublicAddressRangeArrayOutput() IsVpcPublicAddressRangeArrayOutput { + return i.ToIsVpcPublicAddressRangeArrayOutputWithContext(context.Background()) +} + +func (i IsVpcPublicAddressRangeArray) ToIsVpcPublicAddressRangeArrayOutputWithContext(ctx context.Context) IsVpcPublicAddressRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcPublicAddressRangeArrayOutput) +} + +type IsVpcPublicAddressRangeOutput struct{ *pulumi.OutputState } + +func (IsVpcPublicAddressRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcPublicAddressRange)(nil)).Elem() +} + +func (o IsVpcPublicAddressRangeOutput) ToIsVpcPublicAddressRangeOutput() IsVpcPublicAddressRangeOutput { + return o +} + +func (o IsVpcPublicAddressRangeOutput) ToIsVpcPublicAddressRangeOutputWithContext(ctx context.Context) IsVpcPublicAddressRangeOutput { + return o +} + +// The CRN for this public address range. +func (o IsVpcPublicAddressRangeOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcPublicAddressRange) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o IsVpcPublicAddressRangeOutput) Deleteds() IsVpcPublicAddressRangeDeletedArrayOutput { + return o.ApplyT(func(v IsVpcPublicAddressRange) []IsVpcPublicAddressRangeDeleted { return v.Deleteds }).(IsVpcPublicAddressRangeDeletedArrayOutput) +} + +// The URL for this public address range. +func (o IsVpcPublicAddressRangeOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcPublicAddressRange) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this public address range. +func (o IsVpcPublicAddressRangeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcPublicAddressRange) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name for this public address range. The name is unique across all public address ranges in the region. +func (o IsVpcPublicAddressRangeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcPublicAddressRange) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVpcPublicAddressRangeOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcPublicAddressRange) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVpcPublicAddressRangeArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcPublicAddressRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcPublicAddressRange)(nil)).Elem() +} + +func (o IsVpcPublicAddressRangeArrayOutput) ToIsVpcPublicAddressRangeArrayOutput() IsVpcPublicAddressRangeArrayOutput { + return o +} + +func (o IsVpcPublicAddressRangeArrayOutput) ToIsVpcPublicAddressRangeArrayOutputWithContext(ctx context.Context) IsVpcPublicAddressRangeArrayOutput { + return o +} + +func (o IsVpcPublicAddressRangeArrayOutput) Index(i pulumi.IntInput) IsVpcPublicAddressRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcPublicAddressRange { + return vs[0].([]IsVpcPublicAddressRange)[vs[1].(int)] + }).(IsVpcPublicAddressRangeOutput) +} + +type IsVpcPublicAddressRangeDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpcPublicAddressRangeDeletedInput is an input type that accepts IsVpcPublicAddressRangeDeletedArgs and IsVpcPublicAddressRangeDeletedOutput values. +// You can construct a concrete instance of `IsVpcPublicAddressRangeDeletedInput` via: +// +// IsVpcPublicAddressRangeDeletedArgs{...} +type IsVpcPublicAddressRangeDeletedInput interface { + pulumi.Input + + ToIsVpcPublicAddressRangeDeletedOutput() IsVpcPublicAddressRangeDeletedOutput + ToIsVpcPublicAddressRangeDeletedOutputWithContext(context.Context) IsVpcPublicAddressRangeDeletedOutput +} + +type IsVpcPublicAddressRangeDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpcPublicAddressRangeDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (i IsVpcPublicAddressRangeDeletedArgs) ToIsVpcPublicAddressRangeDeletedOutput() IsVpcPublicAddressRangeDeletedOutput { + return i.ToIsVpcPublicAddressRangeDeletedOutputWithContext(context.Background()) +} + +func (i IsVpcPublicAddressRangeDeletedArgs) ToIsVpcPublicAddressRangeDeletedOutputWithContext(ctx context.Context) IsVpcPublicAddressRangeDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcPublicAddressRangeDeletedOutput) +} + +// IsVpcPublicAddressRangeDeletedArrayInput is an input type that accepts IsVpcPublicAddressRangeDeletedArray and IsVpcPublicAddressRangeDeletedArrayOutput values. +// You can construct a concrete instance of `IsVpcPublicAddressRangeDeletedArrayInput` via: +// +// IsVpcPublicAddressRangeDeletedArray{ IsVpcPublicAddressRangeDeletedArgs{...} } +type IsVpcPublicAddressRangeDeletedArrayInput interface { + pulumi.Input + + ToIsVpcPublicAddressRangeDeletedArrayOutput() IsVpcPublicAddressRangeDeletedArrayOutput + ToIsVpcPublicAddressRangeDeletedArrayOutputWithContext(context.Context) IsVpcPublicAddressRangeDeletedArrayOutput +} + +type IsVpcPublicAddressRangeDeletedArray []IsVpcPublicAddressRangeDeletedInput + +func (IsVpcPublicAddressRangeDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (i IsVpcPublicAddressRangeDeletedArray) ToIsVpcPublicAddressRangeDeletedArrayOutput() IsVpcPublicAddressRangeDeletedArrayOutput { + return i.ToIsVpcPublicAddressRangeDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVpcPublicAddressRangeDeletedArray) ToIsVpcPublicAddressRangeDeletedArrayOutputWithContext(ctx context.Context) IsVpcPublicAddressRangeDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcPublicAddressRangeDeletedArrayOutput) +} + +type IsVpcPublicAddressRangeDeletedOutput struct{ *pulumi.OutputState } + +func (IsVpcPublicAddressRangeDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (o IsVpcPublicAddressRangeDeletedOutput) ToIsVpcPublicAddressRangeDeletedOutput() IsVpcPublicAddressRangeDeletedOutput { + return o +} + +func (o IsVpcPublicAddressRangeDeletedOutput) ToIsVpcPublicAddressRangeDeletedOutputWithContext(ctx context.Context) IsVpcPublicAddressRangeDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVpcPublicAddressRangeDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcPublicAddressRangeDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpcPublicAddressRangeDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcPublicAddressRangeDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (o IsVpcPublicAddressRangeDeletedArrayOutput) ToIsVpcPublicAddressRangeDeletedArrayOutput() IsVpcPublicAddressRangeDeletedArrayOutput { + return o +} + +func (o IsVpcPublicAddressRangeDeletedArrayOutput) ToIsVpcPublicAddressRangeDeletedArrayOutputWithContext(ctx context.Context) IsVpcPublicAddressRangeDeletedArrayOutput { + return o +} + +func (o IsVpcPublicAddressRangeDeletedArrayOutput) Index(i pulumi.IntInput) IsVpcPublicAddressRangeDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcPublicAddressRangeDeleted { + return vs[0].([]IsVpcPublicAddressRangeDeleted)[vs[1].(int)] + }).(IsVpcPublicAddressRangeDeletedOutput) +} + +type IsVpcRoutingTableResourceGroup struct { + // The URL for this resource group. + Href *string `pulumi:"href"` + // The unique identifier for this resource group. + Id *string `pulumi:"id"` + // The user-defined name for this resource group. + Name *string `pulumi:"name"` +} + +// IsVpcRoutingTableResourceGroupInput is an input type that accepts IsVpcRoutingTableResourceGroupArgs and IsVpcRoutingTableResourceGroupOutput values. +// You can construct a concrete instance of `IsVpcRoutingTableResourceGroupInput` via: +// +// IsVpcRoutingTableResourceGroupArgs{...} +type IsVpcRoutingTableResourceGroupInput interface { + pulumi.Input + + ToIsVpcRoutingTableResourceGroupOutput() IsVpcRoutingTableResourceGroupOutput + ToIsVpcRoutingTableResourceGroupOutputWithContext(context.Context) IsVpcRoutingTableResourceGroupOutput +} + +type IsVpcRoutingTableResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsVpcRoutingTableResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcRoutingTableResourceGroup)(nil)).Elem() +} + +func (i IsVpcRoutingTableResourceGroupArgs) ToIsVpcRoutingTableResourceGroupOutput() IsVpcRoutingTableResourceGroupOutput { + return i.ToIsVpcRoutingTableResourceGroupOutputWithContext(context.Background()) +} + +func (i IsVpcRoutingTableResourceGroupArgs) ToIsVpcRoutingTableResourceGroupOutputWithContext(ctx context.Context) IsVpcRoutingTableResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableResourceGroupOutput) +} + +// IsVpcRoutingTableResourceGroupArrayInput is an input type that accepts IsVpcRoutingTableResourceGroupArray and IsVpcRoutingTableResourceGroupArrayOutput values. +// You can construct a concrete instance of `IsVpcRoutingTableResourceGroupArrayInput` via: +// +// IsVpcRoutingTableResourceGroupArray{ IsVpcRoutingTableResourceGroupArgs{...} } +type IsVpcRoutingTableResourceGroupArrayInput interface { + pulumi.Input + + ToIsVpcRoutingTableResourceGroupArrayOutput() IsVpcRoutingTableResourceGroupArrayOutput + ToIsVpcRoutingTableResourceGroupArrayOutputWithContext(context.Context) IsVpcRoutingTableResourceGroupArrayOutput +} + +type IsVpcRoutingTableResourceGroupArray []IsVpcRoutingTableResourceGroupInput + +func (IsVpcRoutingTableResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcRoutingTableResourceGroup)(nil)).Elem() +} + +func (i IsVpcRoutingTableResourceGroupArray) ToIsVpcRoutingTableResourceGroupArrayOutput() IsVpcRoutingTableResourceGroupArrayOutput { + return i.ToIsVpcRoutingTableResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i IsVpcRoutingTableResourceGroupArray) ToIsVpcRoutingTableResourceGroupArrayOutputWithContext(ctx context.Context) IsVpcRoutingTableResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableResourceGroupArrayOutput) +} + +type IsVpcRoutingTableResourceGroupOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcRoutingTableResourceGroup)(nil)).Elem() +} + +func (o IsVpcRoutingTableResourceGroupOutput) ToIsVpcRoutingTableResourceGroupOutput() IsVpcRoutingTableResourceGroupOutput { + return o +} + +func (o IsVpcRoutingTableResourceGroupOutput) ToIsVpcRoutingTableResourceGroupOutputWithContext(ctx context.Context) IsVpcRoutingTableResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o IsVpcRoutingTableResourceGroupOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableResourceGroup) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this resource group. +func (o IsVpcRoutingTableResourceGroupOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableResourceGroup) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this resource group. +func (o IsVpcRoutingTableResourceGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableResourceGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsVpcRoutingTableResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcRoutingTableResourceGroup)(nil)).Elem() +} + +func (o IsVpcRoutingTableResourceGroupArrayOutput) ToIsVpcRoutingTableResourceGroupArrayOutput() IsVpcRoutingTableResourceGroupArrayOutput { + return o +} + +func (o IsVpcRoutingTableResourceGroupArrayOutput) ToIsVpcRoutingTableResourceGroupArrayOutputWithContext(ctx context.Context) IsVpcRoutingTableResourceGroupArrayOutput { + return o +} + +func (o IsVpcRoutingTableResourceGroupArrayOutput) Index(i pulumi.IntInput) IsVpcRoutingTableResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcRoutingTableResourceGroup { + return vs[0].([]IsVpcRoutingTableResourceGroup)[vs[1].(int)] + }).(IsVpcRoutingTableResourceGroupOutput) +} + +type IsVpcRoutingTableRouteCreator struct { + // The VPN gateway's CRN. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsVpcRoutingTableRouteCreatorDeleted `pulumi:"deleteds"` + // The VPN gateway's canonical URL. + Href *string `pulumi:"href"` + // The unique identifier for this VPN gateway. + Id *string `pulumi:"id"` + // The user-defined name for this VPN gateway. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVpcRoutingTableRouteCreatorInput is an input type that accepts IsVpcRoutingTableRouteCreatorArgs and IsVpcRoutingTableRouteCreatorOutput values. +// You can construct a concrete instance of `IsVpcRoutingTableRouteCreatorInput` via: +// +// IsVpcRoutingTableRouteCreatorArgs{...} +type IsVpcRoutingTableRouteCreatorInput interface { + pulumi.Input + + ToIsVpcRoutingTableRouteCreatorOutput() IsVpcRoutingTableRouteCreatorOutput + ToIsVpcRoutingTableRouteCreatorOutputWithContext(context.Context) IsVpcRoutingTableRouteCreatorOutput +} + +type IsVpcRoutingTableRouteCreatorArgs struct { + // The VPN gateway's CRN. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsVpcRoutingTableRouteCreatorDeletedArrayInput `pulumi:"deleteds"` + // The VPN gateway's canonical URL. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this VPN gateway. + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined name for this VPN gateway. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVpcRoutingTableRouteCreatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcRoutingTableRouteCreator)(nil)).Elem() +} + +func (i IsVpcRoutingTableRouteCreatorArgs) ToIsVpcRoutingTableRouteCreatorOutput() IsVpcRoutingTableRouteCreatorOutput { + return i.ToIsVpcRoutingTableRouteCreatorOutputWithContext(context.Background()) +} + +func (i IsVpcRoutingTableRouteCreatorArgs) ToIsVpcRoutingTableRouteCreatorOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteCreatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableRouteCreatorOutput) +} + +// IsVpcRoutingTableRouteCreatorArrayInput is an input type that accepts IsVpcRoutingTableRouteCreatorArray and IsVpcRoutingTableRouteCreatorArrayOutput values. +// You can construct a concrete instance of `IsVpcRoutingTableRouteCreatorArrayInput` via: +// +// IsVpcRoutingTableRouteCreatorArray{ IsVpcRoutingTableRouteCreatorArgs{...} } +type IsVpcRoutingTableRouteCreatorArrayInput interface { + pulumi.Input + + ToIsVpcRoutingTableRouteCreatorArrayOutput() IsVpcRoutingTableRouteCreatorArrayOutput + ToIsVpcRoutingTableRouteCreatorArrayOutputWithContext(context.Context) IsVpcRoutingTableRouteCreatorArrayOutput +} + +type IsVpcRoutingTableRouteCreatorArray []IsVpcRoutingTableRouteCreatorInput + +func (IsVpcRoutingTableRouteCreatorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcRoutingTableRouteCreator)(nil)).Elem() +} + +func (i IsVpcRoutingTableRouteCreatorArray) ToIsVpcRoutingTableRouteCreatorArrayOutput() IsVpcRoutingTableRouteCreatorArrayOutput { + return i.ToIsVpcRoutingTableRouteCreatorArrayOutputWithContext(context.Background()) +} + +func (i IsVpcRoutingTableRouteCreatorArray) ToIsVpcRoutingTableRouteCreatorArrayOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteCreatorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableRouteCreatorArrayOutput) +} + +type IsVpcRoutingTableRouteCreatorOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableRouteCreatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcRoutingTableRouteCreator)(nil)).Elem() +} + +func (o IsVpcRoutingTableRouteCreatorOutput) ToIsVpcRoutingTableRouteCreatorOutput() IsVpcRoutingTableRouteCreatorOutput { + return o +} + +func (o IsVpcRoutingTableRouteCreatorOutput) ToIsVpcRoutingTableRouteCreatorOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteCreatorOutput { + return o +} + +// The VPN gateway's CRN. +func (o IsVpcRoutingTableRouteCreatorOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableRouteCreator) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsVpcRoutingTableRouteCreatorOutput) Deleteds() IsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return o.ApplyT(func(v IsVpcRoutingTableRouteCreator) []IsVpcRoutingTableRouteCreatorDeleted { return v.Deleteds }).(IsVpcRoutingTableRouteCreatorDeletedArrayOutput) +} + +// The VPN gateway's canonical URL. +func (o IsVpcRoutingTableRouteCreatorOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableRouteCreator) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPN gateway. +func (o IsVpcRoutingTableRouteCreatorOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableRouteCreator) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this VPN gateway. +func (o IsVpcRoutingTableRouteCreatorOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableRouteCreator) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVpcRoutingTableRouteCreatorOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableRouteCreator) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVpcRoutingTableRouteCreatorArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableRouteCreatorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcRoutingTableRouteCreator)(nil)).Elem() +} + +func (o IsVpcRoutingTableRouteCreatorArrayOutput) ToIsVpcRoutingTableRouteCreatorArrayOutput() IsVpcRoutingTableRouteCreatorArrayOutput { + return o +} + +func (o IsVpcRoutingTableRouteCreatorArrayOutput) ToIsVpcRoutingTableRouteCreatorArrayOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteCreatorArrayOutput { + return o +} + +func (o IsVpcRoutingTableRouteCreatorArrayOutput) Index(i pulumi.IntInput) IsVpcRoutingTableRouteCreatorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcRoutingTableRouteCreator { + return vs[0].([]IsVpcRoutingTableRouteCreator)[vs[1].(int)] + }).(IsVpcRoutingTableRouteCreatorOutput) +} + +type IsVpcRoutingTableRouteCreatorDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpcRoutingTableRouteCreatorDeletedInput is an input type that accepts IsVpcRoutingTableRouteCreatorDeletedArgs and IsVpcRoutingTableRouteCreatorDeletedOutput values. +// You can construct a concrete instance of `IsVpcRoutingTableRouteCreatorDeletedInput` via: +// +// IsVpcRoutingTableRouteCreatorDeletedArgs{...} +type IsVpcRoutingTableRouteCreatorDeletedInput interface { + pulumi.Input + + ToIsVpcRoutingTableRouteCreatorDeletedOutput() IsVpcRoutingTableRouteCreatorDeletedOutput + ToIsVpcRoutingTableRouteCreatorDeletedOutputWithContext(context.Context) IsVpcRoutingTableRouteCreatorDeletedOutput +} + +type IsVpcRoutingTableRouteCreatorDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpcRoutingTableRouteCreatorDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcRoutingTableRouteCreatorDeleted)(nil)).Elem() +} + +func (i IsVpcRoutingTableRouteCreatorDeletedArgs) ToIsVpcRoutingTableRouteCreatorDeletedOutput() IsVpcRoutingTableRouteCreatorDeletedOutput { + return i.ToIsVpcRoutingTableRouteCreatorDeletedOutputWithContext(context.Background()) +} + +func (i IsVpcRoutingTableRouteCreatorDeletedArgs) ToIsVpcRoutingTableRouteCreatorDeletedOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteCreatorDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableRouteCreatorDeletedOutput) +} + +// IsVpcRoutingTableRouteCreatorDeletedArrayInput is an input type that accepts IsVpcRoutingTableRouteCreatorDeletedArray and IsVpcRoutingTableRouteCreatorDeletedArrayOutput values. +// You can construct a concrete instance of `IsVpcRoutingTableRouteCreatorDeletedArrayInput` via: +// +// IsVpcRoutingTableRouteCreatorDeletedArray{ IsVpcRoutingTableRouteCreatorDeletedArgs{...} } +type IsVpcRoutingTableRouteCreatorDeletedArrayInput interface { + pulumi.Input + + ToIsVpcRoutingTableRouteCreatorDeletedArrayOutput() IsVpcRoutingTableRouteCreatorDeletedArrayOutput + ToIsVpcRoutingTableRouteCreatorDeletedArrayOutputWithContext(context.Context) IsVpcRoutingTableRouteCreatorDeletedArrayOutput +} + +type IsVpcRoutingTableRouteCreatorDeletedArray []IsVpcRoutingTableRouteCreatorDeletedInput + +func (IsVpcRoutingTableRouteCreatorDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcRoutingTableRouteCreatorDeleted)(nil)).Elem() +} + +func (i IsVpcRoutingTableRouteCreatorDeletedArray) ToIsVpcRoutingTableRouteCreatorDeletedArrayOutput() IsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return i.ToIsVpcRoutingTableRouteCreatorDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVpcRoutingTableRouteCreatorDeletedArray) ToIsVpcRoutingTableRouteCreatorDeletedArrayOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableRouteCreatorDeletedArrayOutput) +} + +type IsVpcRoutingTableRouteCreatorDeletedOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableRouteCreatorDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcRoutingTableRouteCreatorDeleted)(nil)).Elem() +} + +func (o IsVpcRoutingTableRouteCreatorDeletedOutput) ToIsVpcRoutingTableRouteCreatorDeletedOutput() IsVpcRoutingTableRouteCreatorDeletedOutput { + return o +} + +func (o IsVpcRoutingTableRouteCreatorDeletedOutput) ToIsVpcRoutingTableRouteCreatorDeletedOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteCreatorDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVpcRoutingTableRouteCreatorDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableRouteCreatorDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpcRoutingTableRouteCreatorDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableRouteCreatorDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcRoutingTableRouteCreatorDeleted)(nil)).Elem() +} + +func (o IsVpcRoutingTableRouteCreatorDeletedArrayOutput) ToIsVpcRoutingTableRouteCreatorDeletedArrayOutput() IsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return o +} + +func (o IsVpcRoutingTableRouteCreatorDeletedArrayOutput) ToIsVpcRoutingTableRouteCreatorDeletedArrayOutputWithContext(ctx context.Context) IsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return o +} + +func (o IsVpcRoutingTableRouteCreatorDeletedArrayOutput) Index(i pulumi.IntInput) IsVpcRoutingTableRouteCreatorDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcRoutingTableRouteCreatorDeleted { + return vs[0].([]IsVpcRoutingTableRouteCreatorDeleted)[vs[1].(int)] + }).(IsVpcRoutingTableRouteCreatorDeletedOutput) +} + +type IsVpcRoutingTableSubnet struct { + // Subnet ID + Id *string `pulumi:"id"` + // Subnet name + Name *string `pulumi:"name"` +} + +// IsVpcRoutingTableSubnetInput is an input type that accepts IsVpcRoutingTableSubnetArgs and IsVpcRoutingTableSubnetOutput values. +// You can construct a concrete instance of `IsVpcRoutingTableSubnetInput` via: +// +// IsVpcRoutingTableSubnetArgs{...} +type IsVpcRoutingTableSubnetInput interface { + pulumi.Input + + ToIsVpcRoutingTableSubnetOutput() IsVpcRoutingTableSubnetOutput + ToIsVpcRoutingTableSubnetOutputWithContext(context.Context) IsVpcRoutingTableSubnetOutput +} + +type IsVpcRoutingTableSubnetArgs struct { + // Subnet ID + Id pulumi.StringPtrInput `pulumi:"id"` + // Subnet name + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsVpcRoutingTableSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcRoutingTableSubnet)(nil)).Elem() +} + +func (i IsVpcRoutingTableSubnetArgs) ToIsVpcRoutingTableSubnetOutput() IsVpcRoutingTableSubnetOutput { + return i.ToIsVpcRoutingTableSubnetOutputWithContext(context.Background()) +} + +func (i IsVpcRoutingTableSubnetArgs) ToIsVpcRoutingTableSubnetOutputWithContext(ctx context.Context) IsVpcRoutingTableSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableSubnetOutput) +} + +// IsVpcRoutingTableSubnetArrayInput is an input type that accepts IsVpcRoutingTableSubnetArray and IsVpcRoutingTableSubnetArrayOutput values. +// You can construct a concrete instance of `IsVpcRoutingTableSubnetArrayInput` via: +// +// IsVpcRoutingTableSubnetArray{ IsVpcRoutingTableSubnetArgs{...} } +type IsVpcRoutingTableSubnetArrayInput interface { + pulumi.Input + + ToIsVpcRoutingTableSubnetArrayOutput() IsVpcRoutingTableSubnetArrayOutput + ToIsVpcRoutingTableSubnetArrayOutputWithContext(context.Context) IsVpcRoutingTableSubnetArrayOutput +} + +type IsVpcRoutingTableSubnetArray []IsVpcRoutingTableSubnetInput + +func (IsVpcRoutingTableSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcRoutingTableSubnet)(nil)).Elem() +} + +func (i IsVpcRoutingTableSubnetArray) ToIsVpcRoutingTableSubnetArrayOutput() IsVpcRoutingTableSubnetArrayOutput { + return i.ToIsVpcRoutingTableSubnetArrayOutputWithContext(context.Background()) +} + +func (i IsVpcRoutingTableSubnetArray) ToIsVpcRoutingTableSubnetArrayOutputWithContext(ctx context.Context) IsVpcRoutingTableSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcRoutingTableSubnetArrayOutput) +} + +type IsVpcRoutingTableSubnetOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcRoutingTableSubnet)(nil)).Elem() +} + +func (o IsVpcRoutingTableSubnetOutput) ToIsVpcRoutingTableSubnetOutput() IsVpcRoutingTableSubnetOutput { + return o +} + +func (o IsVpcRoutingTableSubnetOutput) ToIsVpcRoutingTableSubnetOutputWithContext(ctx context.Context) IsVpcRoutingTableSubnetOutput { + return o +} + +// Subnet ID +func (o IsVpcRoutingTableSubnetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Subnet name +func (o IsVpcRoutingTableSubnetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcRoutingTableSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsVpcRoutingTableSubnetArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcRoutingTableSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcRoutingTableSubnet)(nil)).Elem() +} + +func (o IsVpcRoutingTableSubnetArrayOutput) ToIsVpcRoutingTableSubnetArrayOutput() IsVpcRoutingTableSubnetArrayOutput { + return o +} + +func (o IsVpcRoutingTableSubnetArrayOutput) ToIsVpcRoutingTableSubnetArrayOutputWithContext(ctx context.Context) IsVpcRoutingTableSubnetArrayOutput { + return o +} + +func (o IsVpcRoutingTableSubnetArrayOutput) Index(i pulumi.IntInput) IsVpcRoutingTableSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcRoutingTableSubnet { + return vs[0].([]IsVpcRoutingTableSubnet)[vs[1].(int)] + }).(IsVpcRoutingTableSubnetOutput) +} + +type IsVpcSecurityGroup struct { + // Security group id + GroupId *string `pulumi:"groupId"` + // Security group name + GroupName *string `pulumi:"groupName"` + // Security Rules + Rules []IsVpcSecurityGroupRule `pulumi:"rules"` +} + +// IsVpcSecurityGroupInput is an input type that accepts IsVpcSecurityGroupArgs and IsVpcSecurityGroupOutput values. +// You can construct a concrete instance of `IsVpcSecurityGroupInput` via: +// +// IsVpcSecurityGroupArgs{...} +type IsVpcSecurityGroupInput interface { + pulumi.Input + + ToIsVpcSecurityGroupOutput() IsVpcSecurityGroupOutput + ToIsVpcSecurityGroupOutputWithContext(context.Context) IsVpcSecurityGroupOutput +} + +type IsVpcSecurityGroupArgs struct { + // Security group id + GroupId pulumi.StringPtrInput `pulumi:"groupId"` + // Security group name + GroupName pulumi.StringPtrInput `pulumi:"groupName"` + // Security Rules + Rules IsVpcSecurityGroupRuleArrayInput `pulumi:"rules"` +} + +func (IsVpcSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcSecurityGroup)(nil)).Elem() +} + +func (i IsVpcSecurityGroupArgs) ToIsVpcSecurityGroupOutput() IsVpcSecurityGroupOutput { + return i.ToIsVpcSecurityGroupOutputWithContext(context.Background()) +} + +func (i IsVpcSecurityGroupArgs) ToIsVpcSecurityGroupOutputWithContext(ctx context.Context) IsVpcSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcSecurityGroupOutput) +} + +// IsVpcSecurityGroupArrayInput is an input type that accepts IsVpcSecurityGroupArray and IsVpcSecurityGroupArrayOutput values. +// You can construct a concrete instance of `IsVpcSecurityGroupArrayInput` via: +// +// IsVpcSecurityGroupArray{ IsVpcSecurityGroupArgs{...} } +type IsVpcSecurityGroupArrayInput interface { + pulumi.Input + + ToIsVpcSecurityGroupArrayOutput() IsVpcSecurityGroupArrayOutput + ToIsVpcSecurityGroupArrayOutputWithContext(context.Context) IsVpcSecurityGroupArrayOutput +} + +type IsVpcSecurityGroupArray []IsVpcSecurityGroupInput + +func (IsVpcSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcSecurityGroup)(nil)).Elem() +} + +func (i IsVpcSecurityGroupArray) ToIsVpcSecurityGroupArrayOutput() IsVpcSecurityGroupArrayOutput { + return i.ToIsVpcSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i IsVpcSecurityGroupArray) ToIsVpcSecurityGroupArrayOutputWithContext(ctx context.Context) IsVpcSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcSecurityGroupArrayOutput) +} + +type IsVpcSecurityGroupOutput struct{ *pulumi.OutputState } + +func (IsVpcSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcSecurityGroup)(nil)).Elem() +} + +func (o IsVpcSecurityGroupOutput) ToIsVpcSecurityGroupOutput() IsVpcSecurityGroupOutput { + return o +} + +func (o IsVpcSecurityGroupOutput) ToIsVpcSecurityGroupOutputWithContext(ctx context.Context) IsVpcSecurityGroupOutput { + return o +} + +// Security group id +func (o IsVpcSecurityGroupOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroup) *string { return v.GroupId }).(pulumi.StringPtrOutput) +} + +// Security group name +func (o IsVpcSecurityGroupOutput) GroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroup) *string { return v.GroupName }).(pulumi.StringPtrOutput) +} + +// Security Rules +func (o IsVpcSecurityGroupOutput) Rules() IsVpcSecurityGroupRuleArrayOutput { + return o.ApplyT(func(v IsVpcSecurityGroup) []IsVpcSecurityGroupRule { return v.Rules }).(IsVpcSecurityGroupRuleArrayOutput) +} + +type IsVpcSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcSecurityGroup)(nil)).Elem() +} + +func (o IsVpcSecurityGroupArrayOutput) ToIsVpcSecurityGroupArrayOutput() IsVpcSecurityGroupArrayOutput { + return o +} + +func (o IsVpcSecurityGroupArrayOutput) ToIsVpcSecurityGroupArrayOutputWithContext(ctx context.Context) IsVpcSecurityGroupArrayOutput { + return o +} + +func (o IsVpcSecurityGroupArrayOutput) Index(i pulumi.IntInput) IsVpcSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcSecurityGroup { + return vs[0].([]IsVpcSecurityGroup)[vs[1].(int)] + }).(IsVpcSecurityGroupOutput) +} + +type IsVpcSecurityGroupRule struct { + Code *int `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction *string `pulumi:"direction"` + // IP version: ipv4 + IpVersion *string `pulumi:"ipVersion"` + PortMax *int `pulumi:"portMax"` + PortMin *int `pulumi:"portMin"` + Protocol *string `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote *string `pulumi:"remote"` + // Rule ID + RuleId *string `pulumi:"ruleId"` + Type *int `pulumi:"type"` +} + +// IsVpcSecurityGroupRuleInput is an input type that accepts IsVpcSecurityGroupRuleArgs and IsVpcSecurityGroupRuleOutput values. +// You can construct a concrete instance of `IsVpcSecurityGroupRuleInput` via: +// +// IsVpcSecurityGroupRuleArgs{...} +type IsVpcSecurityGroupRuleInput interface { + pulumi.Input + + ToIsVpcSecurityGroupRuleOutput() IsVpcSecurityGroupRuleOutput + ToIsVpcSecurityGroupRuleOutputWithContext(context.Context) IsVpcSecurityGroupRuleOutput +} + +type IsVpcSecurityGroupRuleArgs struct { + Code pulumi.IntPtrInput `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringPtrInput `pulumi:"direction"` + // IP version: ipv4 + IpVersion pulumi.StringPtrInput `pulumi:"ipVersion"` + PortMax pulumi.IntPtrInput `pulumi:"portMax"` + PortMin pulumi.IntPtrInput `pulumi:"portMin"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote pulumi.StringPtrInput `pulumi:"remote"` + // Rule ID + RuleId pulumi.StringPtrInput `pulumi:"ruleId"` + Type pulumi.IntPtrInput `pulumi:"type"` +} + +func (IsVpcSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcSecurityGroupRule)(nil)).Elem() +} + +func (i IsVpcSecurityGroupRuleArgs) ToIsVpcSecurityGroupRuleOutput() IsVpcSecurityGroupRuleOutput { + return i.ToIsVpcSecurityGroupRuleOutputWithContext(context.Background()) +} + +func (i IsVpcSecurityGroupRuleArgs) ToIsVpcSecurityGroupRuleOutputWithContext(ctx context.Context) IsVpcSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcSecurityGroupRuleOutput) +} + +// IsVpcSecurityGroupRuleArrayInput is an input type that accepts IsVpcSecurityGroupRuleArray and IsVpcSecurityGroupRuleArrayOutput values. +// You can construct a concrete instance of `IsVpcSecurityGroupRuleArrayInput` via: +// +// IsVpcSecurityGroupRuleArray{ IsVpcSecurityGroupRuleArgs{...} } +type IsVpcSecurityGroupRuleArrayInput interface { + pulumi.Input + + ToIsVpcSecurityGroupRuleArrayOutput() IsVpcSecurityGroupRuleArrayOutput + ToIsVpcSecurityGroupRuleArrayOutputWithContext(context.Context) IsVpcSecurityGroupRuleArrayOutput +} + +type IsVpcSecurityGroupRuleArray []IsVpcSecurityGroupRuleInput + +func (IsVpcSecurityGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcSecurityGroupRule)(nil)).Elem() +} + +func (i IsVpcSecurityGroupRuleArray) ToIsVpcSecurityGroupRuleArrayOutput() IsVpcSecurityGroupRuleArrayOutput { + return i.ToIsVpcSecurityGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i IsVpcSecurityGroupRuleArray) ToIsVpcSecurityGroupRuleArrayOutputWithContext(ctx context.Context) IsVpcSecurityGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcSecurityGroupRuleArrayOutput) +} + +type IsVpcSecurityGroupRuleOutput struct{ *pulumi.OutputState } + +func (IsVpcSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcSecurityGroupRule)(nil)).Elem() +} + +func (o IsVpcSecurityGroupRuleOutput) ToIsVpcSecurityGroupRuleOutput() IsVpcSecurityGroupRuleOutput { + return o +} + +func (o IsVpcSecurityGroupRuleOutput) ToIsVpcSecurityGroupRuleOutputWithContext(ctx context.Context) IsVpcSecurityGroupRuleOutput { + return o +} + +func (o IsVpcSecurityGroupRuleOutput) Code() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *int { return v.Code }).(pulumi.IntPtrOutput) +} + +// Direction of traffic to enforce, either inbound or outbound +func (o IsVpcSecurityGroupRuleOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +// IP version: ipv4 +func (o IsVpcSecurityGroupRuleOutput) IpVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *string { return v.IpVersion }).(pulumi.StringPtrOutput) +} + +func (o IsVpcSecurityGroupRuleOutput) PortMax() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *int { return v.PortMax }).(pulumi.IntPtrOutput) +} + +func (o IsVpcSecurityGroupRuleOutput) PortMin() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *int { return v.PortMin }).(pulumi.IntPtrOutput) +} + +func (o IsVpcSecurityGroupRuleOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// Security group id: an IP address, a CIDR block, or a single security group identifier +func (o IsVpcSecurityGroupRuleOutput) Remote() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *string { return v.Remote }).(pulumi.StringPtrOutput) +} + +// Rule ID +func (o IsVpcSecurityGroupRuleOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *string { return v.RuleId }).(pulumi.StringPtrOutput) +} + +func (o IsVpcSecurityGroupRuleOutput) Type() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsVpcSecurityGroupRule) *int { return v.Type }).(pulumi.IntPtrOutput) +} + +type IsVpcSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcSecurityGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcSecurityGroupRule)(nil)).Elem() +} + +func (o IsVpcSecurityGroupRuleArrayOutput) ToIsVpcSecurityGroupRuleArrayOutput() IsVpcSecurityGroupRuleArrayOutput { + return o +} + +func (o IsVpcSecurityGroupRuleArrayOutput) ToIsVpcSecurityGroupRuleArrayOutputWithContext(ctx context.Context) IsVpcSecurityGroupRuleArrayOutput { + return o +} + +func (o IsVpcSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) IsVpcSecurityGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcSecurityGroupRule { + return vs[0].([]IsVpcSecurityGroupRule)[vs[1].(int)] + }).(IsVpcSecurityGroupRuleOutput) +} + +type IsVpcSubnet struct { + // Available IPv4 address count in the subnet + AvailableIpv4AddressCount *int `pulumi:"availableIpv4AddressCount"` + // subnet ID + Id *string `pulumi:"id"` + // subent name + Name *string `pulumi:"name"` + // subnet status + Status *string `pulumi:"status"` + // Total IPv4 address count in the subnet + TotalIpv4AddressCount *int `pulumi:"totalIpv4AddressCount"` + // subnet location + Zone *string `pulumi:"zone"` +} + +// IsVpcSubnetInput is an input type that accepts IsVpcSubnetArgs and IsVpcSubnetOutput values. +// You can construct a concrete instance of `IsVpcSubnetInput` via: +// +// IsVpcSubnetArgs{...} +type IsVpcSubnetInput interface { + pulumi.Input + + ToIsVpcSubnetOutput() IsVpcSubnetOutput + ToIsVpcSubnetOutputWithContext(context.Context) IsVpcSubnetOutput +} + +type IsVpcSubnetArgs struct { + // Available IPv4 address count in the subnet + AvailableIpv4AddressCount pulumi.IntPtrInput `pulumi:"availableIpv4AddressCount"` + // subnet ID + Id pulumi.StringPtrInput `pulumi:"id"` + // subent name + Name pulumi.StringPtrInput `pulumi:"name"` + // subnet status + Status pulumi.StringPtrInput `pulumi:"status"` + // Total IPv4 address count in the subnet + TotalIpv4AddressCount pulumi.IntPtrInput `pulumi:"totalIpv4AddressCount"` + // subnet location + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (IsVpcSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcSubnet)(nil)).Elem() +} + +func (i IsVpcSubnetArgs) ToIsVpcSubnetOutput() IsVpcSubnetOutput { + return i.ToIsVpcSubnetOutputWithContext(context.Background()) +} + +func (i IsVpcSubnetArgs) ToIsVpcSubnetOutputWithContext(ctx context.Context) IsVpcSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcSubnetOutput) +} + +// IsVpcSubnetArrayInput is an input type that accepts IsVpcSubnetArray and IsVpcSubnetArrayOutput values. +// You can construct a concrete instance of `IsVpcSubnetArrayInput` via: +// +// IsVpcSubnetArray{ IsVpcSubnetArgs{...} } +type IsVpcSubnetArrayInput interface { + pulumi.Input + + ToIsVpcSubnetArrayOutput() IsVpcSubnetArrayOutput + ToIsVpcSubnetArrayOutputWithContext(context.Context) IsVpcSubnetArrayOutput +} + +type IsVpcSubnetArray []IsVpcSubnetInput + +func (IsVpcSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcSubnet)(nil)).Elem() +} + +func (i IsVpcSubnetArray) ToIsVpcSubnetArrayOutput() IsVpcSubnetArrayOutput { + return i.ToIsVpcSubnetArrayOutputWithContext(context.Background()) +} + +func (i IsVpcSubnetArray) ToIsVpcSubnetArrayOutputWithContext(ctx context.Context) IsVpcSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpcSubnetArrayOutput) +} + +type IsVpcSubnetOutput struct{ *pulumi.OutputState } + +func (IsVpcSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpcSubnet)(nil)).Elem() +} + +func (o IsVpcSubnetOutput) ToIsVpcSubnetOutput() IsVpcSubnetOutput { + return o +} + +func (o IsVpcSubnetOutput) ToIsVpcSubnetOutputWithContext(ctx context.Context) IsVpcSubnetOutput { + return o +} + +// Available IPv4 address count in the subnet +func (o IsVpcSubnetOutput) AvailableIpv4AddressCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsVpcSubnet) *int { return v.AvailableIpv4AddressCount }).(pulumi.IntPtrOutput) +} + +// subnet ID +func (o IsVpcSubnetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// subent name +func (o IsVpcSubnetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// subnet status +func (o IsVpcSubnetOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSubnet) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// Total IPv4 address count in the subnet +func (o IsVpcSubnetOutput) TotalIpv4AddressCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v IsVpcSubnet) *int { return v.TotalIpv4AddressCount }).(pulumi.IntPtrOutput) +} + +// subnet location +func (o IsVpcSubnetOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpcSubnet) *string { return v.Zone }).(pulumi.StringPtrOutput) +} + +type IsVpcSubnetArrayOutput struct{ *pulumi.OutputState } + +func (IsVpcSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpcSubnet)(nil)).Elem() +} + +func (o IsVpcSubnetArrayOutput) ToIsVpcSubnetArrayOutput() IsVpcSubnetArrayOutput { + return o +} + +func (o IsVpcSubnetArrayOutput) ToIsVpcSubnetArrayOutputWithContext(ctx context.Context) IsVpcSubnetArrayOutput { + return o +} + +func (o IsVpcSubnetArrayOutput) Index(i pulumi.IntInput) IsVpcSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpcSubnet { + return vs[0].([]IsVpcSubnet)[vs[1].(int)] + }).(IsVpcSubnetOutput) +} + +type IsVpnGatewayConnectionLocal struct { + // VPN gateway connection local CIDRs + Cidrs []string `pulumi:"cidrs"` + // The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. + IkeIdentities []IsVpnGatewayConnectionLocalIkeIdentity `pulumi:"ikeIdentities"` +} + +// IsVpnGatewayConnectionLocalInput is an input type that accepts IsVpnGatewayConnectionLocalArgs and IsVpnGatewayConnectionLocalOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionLocalInput` via: +// +// IsVpnGatewayConnectionLocalArgs{...} +type IsVpnGatewayConnectionLocalInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionLocalOutput() IsVpnGatewayConnectionLocalOutput + ToIsVpnGatewayConnectionLocalOutputWithContext(context.Context) IsVpnGatewayConnectionLocalOutput +} + +type IsVpnGatewayConnectionLocalArgs struct { + // VPN gateway connection local CIDRs + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` + // The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. + IkeIdentities IsVpnGatewayConnectionLocalIkeIdentityArrayInput `pulumi:"ikeIdentities"` +} + +func (IsVpnGatewayConnectionLocalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionLocal)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionLocalArgs) ToIsVpnGatewayConnectionLocalOutput() IsVpnGatewayConnectionLocalOutput { + return i.ToIsVpnGatewayConnectionLocalOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionLocalArgs) ToIsVpnGatewayConnectionLocalOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionLocalOutput) +} + +func (i IsVpnGatewayConnectionLocalArgs) ToIsVpnGatewayConnectionLocalPtrOutput() IsVpnGatewayConnectionLocalPtrOutput { + return i.ToIsVpnGatewayConnectionLocalPtrOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionLocalArgs) ToIsVpnGatewayConnectionLocalPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionLocalOutput).ToIsVpnGatewayConnectionLocalPtrOutputWithContext(ctx) +} + +// IsVpnGatewayConnectionLocalPtrInput is an input type that accepts IsVpnGatewayConnectionLocalArgs, IsVpnGatewayConnectionLocalPtr and IsVpnGatewayConnectionLocalPtrOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionLocalPtrInput` via: +// +// IsVpnGatewayConnectionLocalArgs{...} +// +// or: +// +// nil +type IsVpnGatewayConnectionLocalPtrInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionLocalPtrOutput() IsVpnGatewayConnectionLocalPtrOutput + ToIsVpnGatewayConnectionLocalPtrOutputWithContext(context.Context) IsVpnGatewayConnectionLocalPtrOutput +} + +type isVpnGatewayConnectionLocalPtrType IsVpnGatewayConnectionLocalArgs + +func IsVpnGatewayConnectionLocalPtr(v *IsVpnGatewayConnectionLocalArgs) IsVpnGatewayConnectionLocalPtrInput { + return (*isVpnGatewayConnectionLocalPtrType)(v) +} + +func (*isVpnGatewayConnectionLocalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGatewayConnectionLocal)(nil)).Elem() +} + +func (i *isVpnGatewayConnectionLocalPtrType) ToIsVpnGatewayConnectionLocalPtrOutput() IsVpnGatewayConnectionLocalPtrOutput { + return i.ToIsVpnGatewayConnectionLocalPtrOutputWithContext(context.Background()) +} + +func (i *isVpnGatewayConnectionLocalPtrType) ToIsVpnGatewayConnectionLocalPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionLocalPtrOutput) +} + +type IsVpnGatewayConnectionLocalOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionLocalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionLocal)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionLocalOutput) ToIsVpnGatewayConnectionLocalOutput() IsVpnGatewayConnectionLocalOutput { + return o +} + +func (o IsVpnGatewayConnectionLocalOutput) ToIsVpnGatewayConnectionLocalOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalOutput { + return o +} + +func (o IsVpnGatewayConnectionLocalOutput) ToIsVpnGatewayConnectionLocalPtrOutput() IsVpnGatewayConnectionLocalPtrOutput { + return o.ToIsVpnGatewayConnectionLocalPtrOutputWithContext(context.Background()) +} + +func (o IsVpnGatewayConnectionLocalOutput) ToIsVpnGatewayConnectionLocalPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVpnGatewayConnectionLocal) *IsVpnGatewayConnectionLocal { + return &v + }).(IsVpnGatewayConnectionLocalPtrOutput) +} + +// VPN gateway connection local CIDRs +func (o IsVpnGatewayConnectionLocalOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionLocal) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +} + +// The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. +func (o IsVpnGatewayConnectionLocalOutput) IkeIdentities() IsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionLocal) []IsVpnGatewayConnectionLocalIkeIdentity { return v.IkeIdentities }).(IsVpnGatewayConnectionLocalIkeIdentityArrayOutput) +} + +type IsVpnGatewayConnectionLocalPtrOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionLocalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGatewayConnectionLocal)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionLocalPtrOutput) ToIsVpnGatewayConnectionLocalPtrOutput() IsVpnGatewayConnectionLocalPtrOutput { + return o +} + +func (o IsVpnGatewayConnectionLocalPtrOutput) ToIsVpnGatewayConnectionLocalPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalPtrOutput { + return o +} + +func (o IsVpnGatewayConnectionLocalPtrOutput) Elem() IsVpnGatewayConnectionLocalOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionLocal) IsVpnGatewayConnectionLocal { + if v != nil { + return *v + } + var ret IsVpnGatewayConnectionLocal + return ret + }).(IsVpnGatewayConnectionLocalOutput) +} + +// VPN gateway connection local CIDRs +func (o IsVpnGatewayConnectionLocalPtrOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionLocal) []string { + if v == nil { + return nil + } + return v.Cidrs + }).(pulumi.StringArrayOutput) +} + +// The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. +func (o IsVpnGatewayConnectionLocalPtrOutput) IkeIdentities() IsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionLocal) []IsVpnGatewayConnectionLocalIkeIdentity { + if v == nil { + return nil + } + return v.IkeIdentities + }).(IsVpnGatewayConnectionLocalIkeIdentityArrayOutput) +} + +type IsVpnGatewayConnectionLocalIkeIdentity struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type string `pulumi:"type"` + // The IKE identity FQDN value. + Value *string `pulumi:"value"` +} + +// IsVpnGatewayConnectionLocalIkeIdentityInput is an input type that accepts IsVpnGatewayConnectionLocalIkeIdentityArgs and IsVpnGatewayConnectionLocalIkeIdentityOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionLocalIkeIdentityInput` via: +// +// IsVpnGatewayConnectionLocalIkeIdentityArgs{...} +type IsVpnGatewayConnectionLocalIkeIdentityInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionLocalIkeIdentityOutput() IsVpnGatewayConnectionLocalIkeIdentityOutput + ToIsVpnGatewayConnectionLocalIkeIdentityOutputWithContext(context.Context) IsVpnGatewayConnectionLocalIkeIdentityOutput +} + +type IsVpnGatewayConnectionLocalIkeIdentityArgs struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type pulumi.StringInput `pulumi:"type"` + // The IKE identity FQDN value. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (IsVpnGatewayConnectionLocalIkeIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionLocalIkeIdentityArgs) ToIsVpnGatewayConnectionLocalIkeIdentityOutput() IsVpnGatewayConnectionLocalIkeIdentityOutput { + return i.ToIsVpnGatewayConnectionLocalIkeIdentityOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionLocalIkeIdentityArgs) ToIsVpnGatewayConnectionLocalIkeIdentityOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalIkeIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionLocalIkeIdentityOutput) +} + +// IsVpnGatewayConnectionLocalIkeIdentityArrayInput is an input type that accepts IsVpnGatewayConnectionLocalIkeIdentityArray and IsVpnGatewayConnectionLocalIkeIdentityArrayOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionLocalIkeIdentityArrayInput` via: +// +// IsVpnGatewayConnectionLocalIkeIdentityArray{ IsVpnGatewayConnectionLocalIkeIdentityArgs{...} } +type IsVpnGatewayConnectionLocalIkeIdentityArrayInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionLocalIkeIdentityArrayOutput() IsVpnGatewayConnectionLocalIkeIdentityArrayOutput + ToIsVpnGatewayConnectionLocalIkeIdentityArrayOutputWithContext(context.Context) IsVpnGatewayConnectionLocalIkeIdentityArrayOutput +} + +type IsVpnGatewayConnectionLocalIkeIdentityArray []IsVpnGatewayConnectionLocalIkeIdentityInput + +func (IsVpnGatewayConnectionLocalIkeIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionLocalIkeIdentityArray) ToIsVpnGatewayConnectionLocalIkeIdentityArrayOutput() IsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return i.ToIsVpnGatewayConnectionLocalIkeIdentityArrayOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionLocalIkeIdentityArray) ToIsVpnGatewayConnectionLocalIkeIdentityArrayOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionLocalIkeIdentityArrayOutput) +} + +type IsVpnGatewayConnectionLocalIkeIdentityOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionLocalIkeIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionLocalIkeIdentityOutput) ToIsVpnGatewayConnectionLocalIkeIdentityOutput() IsVpnGatewayConnectionLocalIkeIdentityOutput { + return o +} + +func (o IsVpnGatewayConnectionLocalIkeIdentityOutput) ToIsVpnGatewayConnectionLocalIkeIdentityOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalIkeIdentityOutput { + return o +} + +// The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. +func (o IsVpnGatewayConnectionLocalIkeIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionLocalIkeIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +// The IKE identity FQDN value. +func (o IsVpnGatewayConnectionLocalIkeIdentityOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionLocalIkeIdentity) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayConnectionLocalIkeIdentityArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionLocalIkeIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionLocalIkeIdentityArrayOutput) ToIsVpnGatewayConnectionLocalIkeIdentityArrayOutput() IsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return o +} + +func (o IsVpnGatewayConnectionLocalIkeIdentityArrayOutput) ToIsVpnGatewayConnectionLocalIkeIdentityArrayOutputWithContext(ctx context.Context) IsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return o +} + +func (o IsVpnGatewayConnectionLocalIkeIdentityArrayOutput) Index(i pulumi.IntInput) IsVpnGatewayConnectionLocalIkeIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnGatewayConnectionLocalIkeIdentity { + return vs[0].([]IsVpnGatewayConnectionLocalIkeIdentity)[vs[1].(int)] + }).(IsVpnGatewayConnectionLocalIkeIdentityOutput) +} + +type IsVpnGatewayConnectionPeer struct { + // The IP address of the peer VPN gateway for this connection. + Address *string `pulumi:"address"` + // VPN gateway connection peer CIDRs + Cidrs []string `pulumi:"cidrs"` + // The FQDN of the peer VPN gateway for this connection. + Fqdn *string `pulumi:"fqdn"` + // The peer IKE identity. + IkeIdentity *IsVpnGatewayConnectionPeerIkeIdentity `pulumi:"ikeIdentity"` + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type *string `pulumi:"type"` +} + +// IsVpnGatewayConnectionPeerInput is an input type that accepts IsVpnGatewayConnectionPeerArgs and IsVpnGatewayConnectionPeerOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionPeerInput` via: +// +// IsVpnGatewayConnectionPeerArgs{...} +type IsVpnGatewayConnectionPeerInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionPeerOutput() IsVpnGatewayConnectionPeerOutput + ToIsVpnGatewayConnectionPeerOutputWithContext(context.Context) IsVpnGatewayConnectionPeerOutput +} + +type IsVpnGatewayConnectionPeerArgs struct { + // The IP address of the peer VPN gateway for this connection. + Address pulumi.StringPtrInput `pulumi:"address"` + // VPN gateway connection peer CIDRs + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` + // The FQDN of the peer VPN gateway for this connection. + Fqdn pulumi.StringPtrInput `pulumi:"fqdn"` + // The peer IKE identity. + IkeIdentity IsVpnGatewayConnectionPeerIkeIdentityPtrInput `pulumi:"ikeIdentity"` + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (IsVpnGatewayConnectionPeerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionPeer)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionPeerArgs) ToIsVpnGatewayConnectionPeerOutput() IsVpnGatewayConnectionPeerOutput { + return i.ToIsVpnGatewayConnectionPeerOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionPeerArgs) ToIsVpnGatewayConnectionPeerOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionPeerOutput) +} + +func (i IsVpnGatewayConnectionPeerArgs) ToIsVpnGatewayConnectionPeerPtrOutput() IsVpnGatewayConnectionPeerPtrOutput { + return i.ToIsVpnGatewayConnectionPeerPtrOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionPeerArgs) ToIsVpnGatewayConnectionPeerPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionPeerOutput).ToIsVpnGatewayConnectionPeerPtrOutputWithContext(ctx) +} + +// IsVpnGatewayConnectionPeerPtrInput is an input type that accepts IsVpnGatewayConnectionPeerArgs, IsVpnGatewayConnectionPeerPtr and IsVpnGatewayConnectionPeerPtrOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionPeerPtrInput` via: +// +// IsVpnGatewayConnectionPeerArgs{...} +// +// or: +// +// nil +type IsVpnGatewayConnectionPeerPtrInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionPeerPtrOutput() IsVpnGatewayConnectionPeerPtrOutput + ToIsVpnGatewayConnectionPeerPtrOutputWithContext(context.Context) IsVpnGatewayConnectionPeerPtrOutput +} + +type isVpnGatewayConnectionPeerPtrType IsVpnGatewayConnectionPeerArgs + +func IsVpnGatewayConnectionPeerPtr(v *IsVpnGatewayConnectionPeerArgs) IsVpnGatewayConnectionPeerPtrInput { + return (*isVpnGatewayConnectionPeerPtrType)(v) +} + +func (*isVpnGatewayConnectionPeerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGatewayConnectionPeer)(nil)).Elem() +} + +func (i *isVpnGatewayConnectionPeerPtrType) ToIsVpnGatewayConnectionPeerPtrOutput() IsVpnGatewayConnectionPeerPtrOutput { + return i.ToIsVpnGatewayConnectionPeerPtrOutputWithContext(context.Background()) +} + +func (i *isVpnGatewayConnectionPeerPtrType) ToIsVpnGatewayConnectionPeerPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionPeerPtrOutput) +} + +type IsVpnGatewayConnectionPeerOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionPeerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionPeer)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionPeerOutput) ToIsVpnGatewayConnectionPeerOutput() IsVpnGatewayConnectionPeerOutput { + return o +} + +func (o IsVpnGatewayConnectionPeerOutput) ToIsVpnGatewayConnectionPeerOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerOutput { + return o +} + +func (o IsVpnGatewayConnectionPeerOutput) ToIsVpnGatewayConnectionPeerPtrOutput() IsVpnGatewayConnectionPeerPtrOutput { + return o.ToIsVpnGatewayConnectionPeerPtrOutputWithContext(context.Background()) +} + +func (o IsVpnGatewayConnectionPeerOutput) ToIsVpnGatewayConnectionPeerPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVpnGatewayConnectionPeer) *IsVpnGatewayConnectionPeer { + return &v + }).(IsVpnGatewayConnectionPeerPtrOutput) +} + +// The IP address of the peer VPN gateway for this connection. +func (o IsVpnGatewayConnectionPeerOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionPeer) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// VPN gateway connection peer CIDRs +func (o IsVpnGatewayConnectionPeerOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionPeer) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +} + +// The FQDN of the peer VPN gateway for this connection. +func (o IsVpnGatewayConnectionPeerOutput) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionPeer) *string { return v.Fqdn }).(pulumi.StringPtrOutput) +} + +// The peer IKE identity. +func (o IsVpnGatewayConnectionPeerOutput) IkeIdentity() IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionPeer) *IsVpnGatewayConnectionPeerIkeIdentity { return v.IkeIdentity }).(IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) +} + +// Indicates whether `peer.address` or `peer.fqdn` is used. +func (o IsVpnGatewayConnectionPeerOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionPeer) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayConnectionPeerPtrOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionPeerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGatewayConnectionPeer)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionPeerPtrOutput) ToIsVpnGatewayConnectionPeerPtrOutput() IsVpnGatewayConnectionPeerPtrOutput { + return o +} + +func (o IsVpnGatewayConnectionPeerPtrOutput) ToIsVpnGatewayConnectionPeerPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerPtrOutput { + return o +} + +func (o IsVpnGatewayConnectionPeerPtrOutput) Elem() IsVpnGatewayConnectionPeerOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeer) IsVpnGatewayConnectionPeer { + if v != nil { + return *v + } + var ret IsVpnGatewayConnectionPeer + return ret + }).(IsVpnGatewayConnectionPeerOutput) +} + +// The IP address of the peer VPN gateway for this connection. +func (o IsVpnGatewayConnectionPeerPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeer) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + +// VPN gateway connection peer CIDRs +func (o IsVpnGatewayConnectionPeerPtrOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeer) []string { + if v == nil { + return nil + } + return v.Cidrs + }).(pulumi.StringArrayOutput) +} + +// The FQDN of the peer VPN gateway for this connection. +func (o IsVpnGatewayConnectionPeerPtrOutput) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeer) *string { + if v == nil { + return nil + } + return v.Fqdn + }).(pulumi.StringPtrOutput) +} + +// The peer IKE identity. +func (o IsVpnGatewayConnectionPeerPtrOutput) IkeIdentity() IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeer) *IsVpnGatewayConnectionPeerIkeIdentity { + if v == nil { + return nil + } + return v.IkeIdentity + }).(IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) +} + +// Indicates whether `peer.address` or `peer.fqdn` is used. +func (o IsVpnGatewayConnectionPeerPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeer) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayConnectionPeerIkeIdentity struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type string `pulumi:"type"` + // The IKE identity FQDN value. + Value *string `pulumi:"value"` +} + +// IsVpnGatewayConnectionPeerIkeIdentityInput is an input type that accepts IsVpnGatewayConnectionPeerIkeIdentityArgs and IsVpnGatewayConnectionPeerIkeIdentityOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionPeerIkeIdentityInput` via: +// +// IsVpnGatewayConnectionPeerIkeIdentityArgs{...} +type IsVpnGatewayConnectionPeerIkeIdentityInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionPeerIkeIdentityOutput() IsVpnGatewayConnectionPeerIkeIdentityOutput + ToIsVpnGatewayConnectionPeerIkeIdentityOutputWithContext(context.Context) IsVpnGatewayConnectionPeerIkeIdentityOutput +} + +type IsVpnGatewayConnectionPeerIkeIdentityArgs struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type pulumi.StringInput `pulumi:"type"` + // The IKE identity FQDN value. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (IsVpnGatewayConnectionPeerIkeIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionPeerIkeIdentityArgs) ToIsVpnGatewayConnectionPeerIkeIdentityOutput() IsVpnGatewayConnectionPeerIkeIdentityOutput { + return i.ToIsVpnGatewayConnectionPeerIkeIdentityOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionPeerIkeIdentityArgs) ToIsVpnGatewayConnectionPeerIkeIdentityOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerIkeIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionPeerIkeIdentityOutput) +} + +func (i IsVpnGatewayConnectionPeerIkeIdentityArgs) ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutput() IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return i.ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionPeerIkeIdentityArgs) ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionPeerIkeIdentityOutput).ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(ctx) +} + +// IsVpnGatewayConnectionPeerIkeIdentityPtrInput is an input type that accepts IsVpnGatewayConnectionPeerIkeIdentityArgs, IsVpnGatewayConnectionPeerIkeIdentityPtr and IsVpnGatewayConnectionPeerIkeIdentityPtrOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionPeerIkeIdentityPtrInput` via: +// +// IsVpnGatewayConnectionPeerIkeIdentityArgs{...} +// +// or: +// +// nil +type IsVpnGatewayConnectionPeerIkeIdentityPtrInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutput() IsVpnGatewayConnectionPeerIkeIdentityPtrOutput + ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(context.Context) IsVpnGatewayConnectionPeerIkeIdentityPtrOutput +} + +type isVpnGatewayConnectionPeerIkeIdentityPtrType IsVpnGatewayConnectionPeerIkeIdentityArgs + +func IsVpnGatewayConnectionPeerIkeIdentityPtr(v *IsVpnGatewayConnectionPeerIkeIdentityArgs) IsVpnGatewayConnectionPeerIkeIdentityPtrInput { + return (*isVpnGatewayConnectionPeerIkeIdentityPtrType)(v) +} + +func (*isVpnGatewayConnectionPeerIkeIdentityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGatewayConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (i *isVpnGatewayConnectionPeerIkeIdentityPtrType) ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutput() IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return i.ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(context.Background()) +} + +func (i *isVpnGatewayConnectionPeerIkeIdentityPtrType) ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) +} + +type IsVpnGatewayConnectionPeerIkeIdentityOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionPeerIkeIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionPeerIkeIdentityOutput) ToIsVpnGatewayConnectionPeerIkeIdentityOutput() IsVpnGatewayConnectionPeerIkeIdentityOutput { + return o +} + +func (o IsVpnGatewayConnectionPeerIkeIdentityOutput) ToIsVpnGatewayConnectionPeerIkeIdentityOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerIkeIdentityOutput { + return o +} + +func (o IsVpnGatewayConnectionPeerIkeIdentityOutput) ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutput() IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return o.ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(context.Background()) +} + +func (o IsVpnGatewayConnectionPeerIkeIdentityOutput) ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IsVpnGatewayConnectionPeerIkeIdentity) *IsVpnGatewayConnectionPeerIkeIdentity { + return &v + }).(IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) +} + +// The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. +func (o IsVpnGatewayConnectionPeerIkeIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionPeerIkeIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +// The IKE identity FQDN value. +func (o IsVpnGatewayConnectionPeerIkeIdentityOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionPeerIkeIdentity) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayConnectionPeerIkeIdentityPtrOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IsVpnGatewayConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutput() IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return o +} + +func (o IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) ToIsVpnGatewayConnectionPeerIkeIdentityPtrOutputWithContext(ctx context.Context) IsVpnGatewayConnectionPeerIkeIdentityPtrOutput { + return o +} + +func (o IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) Elem() IsVpnGatewayConnectionPeerIkeIdentityOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeerIkeIdentity) IsVpnGatewayConnectionPeerIkeIdentity { + if v != nil { + return *v + } + var ret IsVpnGatewayConnectionPeerIkeIdentity + return ret + }).(IsVpnGatewayConnectionPeerIkeIdentityOutput) +} + +// The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. +func (o IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeerIkeIdentity) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// The IKE identity FQDN value. +func (o IsVpnGatewayConnectionPeerIkeIdentityPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IsVpnGatewayConnectionPeerIkeIdentity) *string { + if v == nil { + return nil + } + return v.Value + }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayConnectionStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code *string `pulumi:"code"` + // An explanation of the status reason. + Message *string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnGatewayConnectionStatusReasonInput is an input type that accepts IsVpnGatewayConnectionStatusReasonArgs and IsVpnGatewayConnectionStatusReasonOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionStatusReasonInput` via: +// +// IsVpnGatewayConnectionStatusReasonArgs{...} +type IsVpnGatewayConnectionStatusReasonInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionStatusReasonOutput() IsVpnGatewayConnectionStatusReasonOutput + ToIsVpnGatewayConnectionStatusReasonOutputWithContext(context.Context) IsVpnGatewayConnectionStatusReasonOutput +} + +type IsVpnGatewayConnectionStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnGatewayConnectionStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionStatusReason)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionStatusReasonArgs) ToIsVpnGatewayConnectionStatusReasonOutput() IsVpnGatewayConnectionStatusReasonOutput { + return i.ToIsVpnGatewayConnectionStatusReasonOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionStatusReasonArgs) ToIsVpnGatewayConnectionStatusReasonOutputWithContext(ctx context.Context) IsVpnGatewayConnectionStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionStatusReasonOutput) +} + +// IsVpnGatewayConnectionStatusReasonArrayInput is an input type that accepts IsVpnGatewayConnectionStatusReasonArray and IsVpnGatewayConnectionStatusReasonArrayOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionStatusReasonArrayInput` via: +// +// IsVpnGatewayConnectionStatusReasonArray{ IsVpnGatewayConnectionStatusReasonArgs{...} } +type IsVpnGatewayConnectionStatusReasonArrayInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionStatusReasonArrayOutput() IsVpnGatewayConnectionStatusReasonArrayOutput + ToIsVpnGatewayConnectionStatusReasonArrayOutputWithContext(context.Context) IsVpnGatewayConnectionStatusReasonArrayOutput +} + +type IsVpnGatewayConnectionStatusReasonArray []IsVpnGatewayConnectionStatusReasonInput + +func (IsVpnGatewayConnectionStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayConnectionStatusReason)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionStatusReasonArray) ToIsVpnGatewayConnectionStatusReasonArrayOutput() IsVpnGatewayConnectionStatusReasonArrayOutput { + return i.ToIsVpnGatewayConnectionStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionStatusReasonArray) ToIsVpnGatewayConnectionStatusReasonArrayOutputWithContext(ctx context.Context) IsVpnGatewayConnectionStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionStatusReasonArrayOutput) +} + +type IsVpnGatewayConnectionStatusReasonOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionStatusReason)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionStatusReasonOutput) ToIsVpnGatewayConnectionStatusReasonOutput() IsVpnGatewayConnectionStatusReasonOutput { + return o +} + +func (o IsVpnGatewayConnectionStatusReasonOutput) ToIsVpnGatewayConnectionStatusReasonOutputWithContext(ctx context.Context) IsVpnGatewayConnectionStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o IsVpnGatewayConnectionStatusReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionStatusReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the status reason. +func (o IsVpnGatewayConnectionStatusReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionStatusReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about this status reason. +func (o IsVpnGatewayConnectionStatusReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionStatusReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayConnectionStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayConnectionStatusReason)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionStatusReasonArrayOutput) ToIsVpnGatewayConnectionStatusReasonArrayOutput() IsVpnGatewayConnectionStatusReasonArrayOutput { + return o +} + +func (o IsVpnGatewayConnectionStatusReasonArrayOutput) ToIsVpnGatewayConnectionStatusReasonArrayOutputWithContext(ctx context.Context) IsVpnGatewayConnectionStatusReasonArrayOutput { + return o +} + +func (o IsVpnGatewayConnectionStatusReasonArrayOutput) Index(i pulumi.IntInput) IsVpnGatewayConnectionStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnGatewayConnectionStatusReason { + return vs[0].([]IsVpnGatewayConnectionStatusReason)[vs[1].(int)] + }).(IsVpnGatewayConnectionStatusReasonOutput) +} + +type IsVpnGatewayConnectionTunnel struct { + // The IP address of the VPN gateway member in which the tunnel resides + Address *string `pulumi:"address"` + // The status of the VPN Tunnel + Status *string `pulumi:"status"` +} + +// IsVpnGatewayConnectionTunnelInput is an input type that accepts IsVpnGatewayConnectionTunnelArgs and IsVpnGatewayConnectionTunnelOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionTunnelInput` via: +// +// IsVpnGatewayConnectionTunnelArgs{...} +type IsVpnGatewayConnectionTunnelInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionTunnelOutput() IsVpnGatewayConnectionTunnelOutput + ToIsVpnGatewayConnectionTunnelOutputWithContext(context.Context) IsVpnGatewayConnectionTunnelOutput +} + +type IsVpnGatewayConnectionTunnelArgs struct { + // The IP address of the VPN gateway member in which the tunnel resides + Address pulumi.StringPtrInput `pulumi:"address"` + // The status of the VPN Tunnel + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (IsVpnGatewayConnectionTunnelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionTunnel)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionTunnelArgs) ToIsVpnGatewayConnectionTunnelOutput() IsVpnGatewayConnectionTunnelOutput { + return i.ToIsVpnGatewayConnectionTunnelOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionTunnelArgs) ToIsVpnGatewayConnectionTunnelOutputWithContext(ctx context.Context) IsVpnGatewayConnectionTunnelOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionTunnelOutput) +} + +// IsVpnGatewayConnectionTunnelArrayInput is an input type that accepts IsVpnGatewayConnectionTunnelArray and IsVpnGatewayConnectionTunnelArrayOutput values. +// You can construct a concrete instance of `IsVpnGatewayConnectionTunnelArrayInput` via: +// +// IsVpnGatewayConnectionTunnelArray{ IsVpnGatewayConnectionTunnelArgs{...} } +type IsVpnGatewayConnectionTunnelArrayInput interface { + pulumi.Input + + ToIsVpnGatewayConnectionTunnelArrayOutput() IsVpnGatewayConnectionTunnelArrayOutput + ToIsVpnGatewayConnectionTunnelArrayOutputWithContext(context.Context) IsVpnGatewayConnectionTunnelArrayOutput +} + +type IsVpnGatewayConnectionTunnelArray []IsVpnGatewayConnectionTunnelInput + +func (IsVpnGatewayConnectionTunnelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayConnectionTunnel)(nil)).Elem() +} + +func (i IsVpnGatewayConnectionTunnelArray) ToIsVpnGatewayConnectionTunnelArrayOutput() IsVpnGatewayConnectionTunnelArrayOutput { + return i.ToIsVpnGatewayConnectionTunnelArrayOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayConnectionTunnelArray) ToIsVpnGatewayConnectionTunnelArrayOutputWithContext(ctx context.Context) IsVpnGatewayConnectionTunnelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayConnectionTunnelArrayOutput) +} + +type IsVpnGatewayConnectionTunnelOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionTunnelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayConnectionTunnel)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionTunnelOutput) ToIsVpnGatewayConnectionTunnelOutput() IsVpnGatewayConnectionTunnelOutput { + return o +} + +func (o IsVpnGatewayConnectionTunnelOutput) ToIsVpnGatewayConnectionTunnelOutputWithContext(ctx context.Context) IsVpnGatewayConnectionTunnelOutput { + return o +} + +// The IP address of the VPN gateway member in which the tunnel resides +func (o IsVpnGatewayConnectionTunnelOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionTunnel) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The status of the VPN Tunnel +func (o IsVpnGatewayConnectionTunnelOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayConnectionTunnel) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayConnectionTunnelArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayConnectionTunnelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayConnectionTunnel)(nil)).Elem() +} + +func (o IsVpnGatewayConnectionTunnelArrayOutput) ToIsVpnGatewayConnectionTunnelArrayOutput() IsVpnGatewayConnectionTunnelArrayOutput { + return o +} + +func (o IsVpnGatewayConnectionTunnelArrayOutput) ToIsVpnGatewayConnectionTunnelArrayOutputWithContext(ctx context.Context) IsVpnGatewayConnectionTunnelArrayOutput { + return o +} + +func (o IsVpnGatewayConnectionTunnelArrayOutput) Index(i pulumi.IntInput) IsVpnGatewayConnectionTunnelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnGatewayConnectionTunnel { + return vs[0].([]IsVpnGatewayConnectionTunnel)[vs[1].(int)] + }).(IsVpnGatewayConnectionTunnelOutput) +} + +type IsVpnGatewayHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnGatewayHealthReasonInput is an input type that accepts IsVpnGatewayHealthReasonArgs and IsVpnGatewayHealthReasonOutput values. +// You can construct a concrete instance of `IsVpnGatewayHealthReasonInput` via: +// +// IsVpnGatewayHealthReasonArgs{...} +type IsVpnGatewayHealthReasonInput interface { + pulumi.Input + + ToIsVpnGatewayHealthReasonOutput() IsVpnGatewayHealthReasonOutput + ToIsVpnGatewayHealthReasonOutputWithContext(context.Context) IsVpnGatewayHealthReasonOutput +} + +type IsVpnGatewayHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnGatewayHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayHealthReason)(nil)).Elem() +} + +func (i IsVpnGatewayHealthReasonArgs) ToIsVpnGatewayHealthReasonOutput() IsVpnGatewayHealthReasonOutput { + return i.ToIsVpnGatewayHealthReasonOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayHealthReasonArgs) ToIsVpnGatewayHealthReasonOutputWithContext(ctx context.Context) IsVpnGatewayHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayHealthReasonOutput) +} + +// IsVpnGatewayHealthReasonArrayInput is an input type that accepts IsVpnGatewayHealthReasonArray and IsVpnGatewayHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsVpnGatewayHealthReasonArrayInput` via: +// +// IsVpnGatewayHealthReasonArray{ IsVpnGatewayHealthReasonArgs{...} } +type IsVpnGatewayHealthReasonArrayInput interface { + pulumi.Input + + ToIsVpnGatewayHealthReasonArrayOutput() IsVpnGatewayHealthReasonArrayOutput + ToIsVpnGatewayHealthReasonArrayOutputWithContext(context.Context) IsVpnGatewayHealthReasonArrayOutput +} + +type IsVpnGatewayHealthReasonArray []IsVpnGatewayHealthReasonInput + +func (IsVpnGatewayHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayHealthReason)(nil)).Elem() +} + +func (i IsVpnGatewayHealthReasonArray) ToIsVpnGatewayHealthReasonArrayOutput() IsVpnGatewayHealthReasonArrayOutput { + return i.ToIsVpnGatewayHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayHealthReasonArray) ToIsVpnGatewayHealthReasonArrayOutputWithContext(ctx context.Context) IsVpnGatewayHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayHealthReasonArrayOutput) +} + +type IsVpnGatewayHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayHealthReason)(nil)).Elem() +} + +func (o IsVpnGatewayHealthReasonOutput) ToIsVpnGatewayHealthReasonOutput() IsVpnGatewayHealthReasonOutput { + return o +} + +func (o IsVpnGatewayHealthReasonOutput) ToIsVpnGatewayHealthReasonOutputWithContext(ctx context.Context) IsVpnGatewayHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsVpnGatewayHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsVpnGatewayHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsVpnGatewayHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayHealthReason)(nil)).Elem() +} + +func (o IsVpnGatewayHealthReasonArrayOutput) ToIsVpnGatewayHealthReasonArrayOutput() IsVpnGatewayHealthReasonArrayOutput { + return o +} + +func (o IsVpnGatewayHealthReasonArrayOutput) ToIsVpnGatewayHealthReasonArrayOutputWithContext(ctx context.Context) IsVpnGatewayHealthReasonArrayOutput { + return o +} + +func (o IsVpnGatewayHealthReasonArrayOutput) Index(i pulumi.IntInput) IsVpnGatewayHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnGatewayHealthReason { + return vs[0].([]IsVpnGatewayHealthReason)[vs[1].(int)] + }).(IsVpnGatewayHealthReasonOutput) +} + +type IsVpnGatewayLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnGatewayLifecycleReasonInput is an input type that accepts IsVpnGatewayLifecycleReasonArgs and IsVpnGatewayLifecycleReasonOutput values. +// You can construct a concrete instance of `IsVpnGatewayLifecycleReasonInput` via: +// +// IsVpnGatewayLifecycleReasonArgs{...} +type IsVpnGatewayLifecycleReasonInput interface { + pulumi.Input + + ToIsVpnGatewayLifecycleReasonOutput() IsVpnGatewayLifecycleReasonOutput + ToIsVpnGatewayLifecycleReasonOutputWithContext(context.Context) IsVpnGatewayLifecycleReasonOutput +} + +type IsVpnGatewayLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnGatewayLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (i IsVpnGatewayLifecycleReasonArgs) ToIsVpnGatewayLifecycleReasonOutput() IsVpnGatewayLifecycleReasonOutput { + return i.ToIsVpnGatewayLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayLifecycleReasonArgs) ToIsVpnGatewayLifecycleReasonOutputWithContext(ctx context.Context) IsVpnGatewayLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayLifecycleReasonOutput) +} + +// IsVpnGatewayLifecycleReasonArrayInput is an input type that accepts IsVpnGatewayLifecycleReasonArray and IsVpnGatewayLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsVpnGatewayLifecycleReasonArrayInput` via: +// +// IsVpnGatewayLifecycleReasonArray{ IsVpnGatewayLifecycleReasonArgs{...} } +type IsVpnGatewayLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsVpnGatewayLifecycleReasonArrayOutput() IsVpnGatewayLifecycleReasonArrayOutput + ToIsVpnGatewayLifecycleReasonArrayOutputWithContext(context.Context) IsVpnGatewayLifecycleReasonArrayOutput +} + +type IsVpnGatewayLifecycleReasonArray []IsVpnGatewayLifecycleReasonInput + +func (IsVpnGatewayLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (i IsVpnGatewayLifecycleReasonArray) ToIsVpnGatewayLifecycleReasonArrayOutput() IsVpnGatewayLifecycleReasonArrayOutput { + return i.ToIsVpnGatewayLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayLifecycleReasonArray) ToIsVpnGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) IsVpnGatewayLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayLifecycleReasonArrayOutput) +} + +type IsVpnGatewayLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (o IsVpnGatewayLifecycleReasonOutput) ToIsVpnGatewayLifecycleReasonOutput() IsVpnGatewayLifecycleReasonOutput { + return o +} + +func (o IsVpnGatewayLifecycleReasonOutput) ToIsVpnGatewayLifecycleReasonOutputWithContext(ctx context.Context) IsVpnGatewayLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o IsVpnGatewayLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsVpnGatewayLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsVpnGatewayLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (o IsVpnGatewayLifecycleReasonArrayOutput) ToIsVpnGatewayLifecycleReasonArrayOutput() IsVpnGatewayLifecycleReasonArrayOutput { + return o +} + +func (o IsVpnGatewayLifecycleReasonArrayOutput) ToIsVpnGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) IsVpnGatewayLifecycleReasonArrayOutput { + return o +} + +func (o IsVpnGatewayLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsVpnGatewayLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnGatewayLifecycleReason { + return vs[0].([]IsVpnGatewayLifecycleReason)[vs[1].(int)] + }).(IsVpnGatewayLifecycleReasonOutput) +} + +type IsVpnGatewayMember struct { + // The public IP address assigned to the VPN gateway member + Address *string `pulumi:"address"` + // The private IP address assigned to the VPN gateway member + PrivateAddress *string `pulumi:"privateAddress"` + // The high availability role assigned to the VPN gateway member + Role *string `pulumi:"role"` + // The status of the VPN gateway member + Status *string `pulumi:"status"` +} + +// IsVpnGatewayMemberInput is an input type that accepts IsVpnGatewayMemberArgs and IsVpnGatewayMemberOutput values. +// You can construct a concrete instance of `IsVpnGatewayMemberInput` via: +// +// IsVpnGatewayMemberArgs{...} +type IsVpnGatewayMemberInput interface { + pulumi.Input + + ToIsVpnGatewayMemberOutput() IsVpnGatewayMemberOutput + ToIsVpnGatewayMemberOutputWithContext(context.Context) IsVpnGatewayMemberOutput +} + +type IsVpnGatewayMemberArgs struct { + // The public IP address assigned to the VPN gateway member + Address pulumi.StringPtrInput `pulumi:"address"` + // The private IP address assigned to the VPN gateway member + PrivateAddress pulumi.StringPtrInput `pulumi:"privateAddress"` + // The high availability role assigned to the VPN gateway member + Role pulumi.StringPtrInput `pulumi:"role"` + // The status of the VPN gateway member + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (IsVpnGatewayMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayMember)(nil)).Elem() +} + +func (i IsVpnGatewayMemberArgs) ToIsVpnGatewayMemberOutput() IsVpnGatewayMemberOutput { + return i.ToIsVpnGatewayMemberOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayMemberArgs) ToIsVpnGatewayMemberOutputWithContext(ctx context.Context) IsVpnGatewayMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayMemberOutput) +} + +// IsVpnGatewayMemberArrayInput is an input type that accepts IsVpnGatewayMemberArray and IsVpnGatewayMemberArrayOutput values. +// You can construct a concrete instance of `IsVpnGatewayMemberArrayInput` via: +// +// IsVpnGatewayMemberArray{ IsVpnGatewayMemberArgs{...} } +type IsVpnGatewayMemberArrayInput interface { + pulumi.Input + + ToIsVpnGatewayMemberArrayOutput() IsVpnGatewayMemberArrayOutput + ToIsVpnGatewayMemberArrayOutputWithContext(context.Context) IsVpnGatewayMemberArrayOutput +} + +type IsVpnGatewayMemberArray []IsVpnGatewayMemberInput + +func (IsVpnGatewayMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayMember)(nil)).Elem() +} + +func (i IsVpnGatewayMemberArray) ToIsVpnGatewayMemberArrayOutput() IsVpnGatewayMemberArrayOutput { + return i.ToIsVpnGatewayMemberArrayOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayMemberArray) ToIsVpnGatewayMemberArrayOutputWithContext(ctx context.Context) IsVpnGatewayMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayMemberArrayOutput) +} + +type IsVpnGatewayMemberOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayMember)(nil)).Elem() +} + +func (o IsVpnGatewayMemberOutput) ToIsVpnGatewayMemberOutput() IsVpnGatewayMemberOutput { + return o +} + +func (o IsVpnGatewayMemberOutput) ToIsVpnGatewayMemberOutputWithContext(ctx context.Context) IsVpnGatewayMemberOutput { + return o +} + +// The public IP address assigned to the VPN gateway member +func (o IsVpnGatewayMemberOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayMember) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// The private IP address assigned to the VPN gateway member +func (o IsVpnGatewayMemberOutput) PrivateAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayMember) *string { return v.PrivateAddress }).(pulumi.StringPtrOutput) +} + +// The high availability role assigned to the VPN gateway member +func (o IsVpnGatewayMemberOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayMember) *string { return v.Role }).(pulumi.StringPtrOutput) +} + +// The status of the VPN gateway member +func (o IsVpnGatewayMemberOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayMember) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayMemberArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayMember)(nil)).Elem() +} + +func (o IsVpnGatewayMemberArrayOutput) ToIsVpnGatewayMemberArrayOutput() IsVpnGatewayMemberArrayOutput { + return o +} + +func (o IsVpnGatewayMemberArrayOutput) ToIsVpnGatewayMemberArrayOutputWithContext(ctx context.Context) IsVpnGatewayMemberArrayOutput { + return o +} + +func (o IsVpnGatewayMemberArrayOutput) Index(i pulumi.IntInput) IsVpnGatewayMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnGatewayMember { + return vs[0].([]IsVpnGatewayMember)[vs[1].(int)] + }).(IsVpnGatewayMemberOutput) +} + +type IsVpnGatewayVpc struct { + // The CRN for this VPC. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsVpnGatewayVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href *string `pulumi:"href"` + // The unique identifier for this VPC. + Id *string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name *string `pulumi:"name"` +} + +// IsVpnGatewayVpcInput is an input type that accepts IsVpnGatewayVpcArgs and IsVpnGatewayVpcOutput values. +// You can construct a concrete instance of `IsVpnGatewayVpcInput` via: +// +// IsVpnGatewayVpcArgs{...} +type IsVpnGatewayVpcInput interface { + pulumi.Input + + ToIsVpnGatewayVpcOutput() IsVpnGatewayVpcOutput + ToIsVpnGatewayVpcOutputWithContext(context.Context) IsVpnGatewayVpcOutput +} + +type IsVpnGatewayVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsVpnGatewayVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringPtrInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsVpnGatewayVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayVpc)(nil)).Elem() +} + +func (i IsVpnGatewayVpcArgs) ToIsVpnGatewayVpcOutput() IsVpnGatewayVpcOutput { + return i.ToIsVpnGatewayVpcOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayVpcArgs) ToIsVpnGatewayVpcOutputWithContext(ctx context.Context) IsVpnGatewayVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayVpcOutput) +} + +// IsVpnGatewayVpcArrayInput is an input type that accepts IsVpnGatewayVpcArray and IsVpnGatewayVpcArrayOutput values. +// You can construct a concrete instance of `IsVpnGatewayVpcArrayInput` via: +// +// IsVpnGatewayVpcArray{ IsVpnGatewayVpcArgs{...} } +type IsVpnGatewayVpcArrayInput interface { + pulumi.Input + + ToIsVpnGatewayVpcArrayOutput() IsVpnGatewayVpcArrayOutput + ToIsVpnGatewayVpcArrayOutputWithContext(context.Context) IsVpnGatewayVpcArrayOutput +} + +type IsVpnGatewayVpcArray []IsVpnGatewayVpcInput + +func (IsVpnGatewayVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayVpc)(nil)).Elem() +} + +func (i IsVpnGatewayVpcArray) ToIsVpnGatewayVpcArrayOutput() IsVpnGatewayVpcArrayOutput { + return i.ToIsVpnGatewayVpcArrayOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayVpcArray) ToIsVpnGatewayVpcArrayOutputWithContext(ctx context.Context) IsVpnGatewayVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayVpcArrayOutput) +} + +type IsVpnGatewayVpcOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayVpc)(nil)).Elem() +} + +func (o IsVpnGatewayVpcOutput) ToIsVpnGatewayVpcOutput() IsVpnGatewayVpcOutput { + return o +} + +func (o IsVpnGatewayVpcOutput) ToIsVpnGatewayVpcOutputWithContext(ctx context.Context) IsVpnGatewayVpcOutput { + return o +} + +// The CRN for this VPC. +func (o IsVpnGatewayVpcOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayVpc) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsVpnGatewayVpcOutput) Deleteds() IsVpnGatewayVpcDeletedArrayOutput { + return o.ApplyT(func(v IsVpnGatewayVpc) []IsVpnGatewayVpcDeleted { return v.Deleteds }).(IsVpnGatewayVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o IsVpnGatewayVpcOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayVpc) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsVpnGatewayVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this VPC. +func (o IsVpnGatewayVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayVpcArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayVpc)(nil)).Elem() +} + +func (o IsVpnGatewayVpcArrayOutput) ToIsVpnGatewayVpcArrayOutput() IsVpnGatewayVpcArrayOutput { + return o +} + +func (o IsVpnGatewayVpcArrayOutput) ToIsVpnGatewayVpcArrayOutputWithContext(ctx context.Context) IsVpnGatewayVpcArrayOutput { + return o +} + +func (o IsVpnGatewayVpcArrayOutput) Index(i pulumi.IntInput) IsVpnGatewayVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnGatewayVpc { + return vs[0].([]IsVpnGatewayVpc)[vs[1].(int)] + }).(IsVpnGatewayVpcOutput) +} + +type IsVpnGatewayVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnGatewayVpcDeletedInput is an input type that accepts IsVpnGatewayVpcDeletedArgs and IsVpnGatewayVpcDeletedOutput values. +// You can construct a concrete instance of `IsVpnGatewayVpcDeletedInput` via: +// +// IsVpnGatewayVpcDeletedArgs{...} +type IsVpnGatewayVpcDeletedInput interface { + pulumi.Input + + ToIsVpnGatewayVpcDeletedOutput() IsVpnGatewayVpcDeletedOutput + ToIsVpnGatewayVpcDeletedOutputWithContext(context.Context) IsVpnGatewayVpcDeletedOutput +} + +type IsVpnGatewayVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnGatewayVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (i IsVpnGatewayVpcDeletedArgs) ToIsVpnGatewayVpcDeletedOutput() IsVpnGatewayVpcDeletedOutput { + return i.ToIsVpnGatewayVpcDeletedOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayVpcDeletedArgs) ToIsVpnGatewayVpcDeletedOutputWithContext(ctx context.Context) IsVpnGatewayVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayVpcDeletedOutput) +} + +// IsVpnGatewayVpcDeletedArrayInput is an input type that accepts IsVpnGatewayVpcDeletedArray and IsVpnGatewayVpcDeletedArrayOutput values. +// You can construct a concrete instance of `IsVpnGatewayVpcDeletedArrayInput` via: +// +// IsVpnGatewayVpcDeletedArray{ IsVpnGatewayVpcDeletedArgs{...} } +type IsVpnGatewayVpcDeletedArrayInput interface { + pulumi.Input + + ToIsVpnGatewayVpcDeletedArrayOutput() IsVpnGatewayVpcDeletedArrayOutput + ToIsVpnGatewayVpcDeletedArrayOutputWithContext(context.Context) IsVpnGatewayVpcDeletedArrayOutput +} + +type IsVpnGatewayVpcDeletedArray []IsVpnGatewayVpcDeletedInput + +func (IsVpnGatewayVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (i IsVpnGatewayVpcDeletedArray) ToIsVpnGatewayVpcDeletedArrayOutput() IsVpnGatewayVpcDeletedArrayOutput { + return i.ToIsVpnGatewayVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVpnGatewayVpcDeletedArray) ToIsVpnGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) IsVpnGatewayVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnGatewayVpcDeletedArrayOutput) +} + +type IsVpnGatewayVpcDeletedOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (o IsVpnGatewayVpcDeletedOutput) ToIsVpnGatewayVpcDeletedOutput() IsVpnGatewayVpcDeletedOutput { + return o +} + +func (o IsVpnGatewayVpcDeletedOutput) ToIsVpnGatewayVpcDeletedOutputWithContext(ctx context.Context) IsVpnGatewayVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVpnGatewayVpcDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnGatewayVpcDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnGatewayVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnGatewayVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (o IsVpnGatewayVpcDeletedArrayOutput) ToIsVpnGatewayVpcDeletedArrayOutput() IsVpnGatewayVpcDeletedArrayOutput { + return o +} + +func (o IsVpnGatewayVpcDeletedArrayOutput) ToIsVpnGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) IsVpnGatewayVpcDeletedArrayOutput { + return o +} + +func (o IsVpnGatewayVpcDeletedArrayOutput) Index(i pulumi.IntInput) IsVpnGatewayVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnGatewayVpcDeleted { + return vs[0].([]IsVpnGatewayVpcDeleted)[vs[1].(int)] + }).(IsVpnGatewayVpcDeletedOutput) +} + +type IsVpnServerClientAuthentication struct { + // The crn of certificate instance to use for the VPN client certificate authority (CA). + ClientCaCrn *string `pulumi:"clientCaCrn"` + // The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered. + IdentityProvider *string `pulumi:"identityProvider"` + // The type of authentication. + Method string `pulumi:"method"` +} + +// IsVpnServerClientAuthenticationInput is an input type that accepts IsVpnServerClientAuthenticationArgs and IsVpnServerClientAuthenticationOutput values. +// You can construct a concrete instance of `IsVpnServerClientAuthenticationInput` via: +// +// IsVpnServerClientAuthenticationArgs{...} +type IsVpnServerClientAuthenticationInput interface { + pulumi.Input + + ToIsVpnServerClientAuthenticationOutput() IsVpnServerClientAuthenticationOutput + ToIsVpnServerClientAuthenticationOutputWithContext(context.Context) IsVpnServerClientAuthenticationOutput +} + +type IsVpnServerClientAuthenticationArgs struct { + // The crn of certificate instance to use for the VPN client certificate authority (CA). + ClientCaCrn pulumi.StringPtrInput `pulumi:"clientCaCrn"` + // The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered. + IdentityProvider pulumi.StringPtrInput `pulumi:"identityProvider"` + // The type of authentication. + Method pulumi.StringInput `pulumi:"method"` +} + +func (IsVpnServerClientAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerClientAuthentication)(nil)).Elem() +} + +func (i IsVpnServerClientAuthenticationArgs) ToIsVpnServerClientAuthenticationOutput() IsVpnServerClientAuthenticationOutput { + return i.ToIsVpnServerClientAuthenticationOutputWithContext(context.Background()) +} + +func (i IsVpnServerClientAuthenticationArgs) ToIsVpnServerClientAuthenticationOutputWithContext(ctx context.Context) IsVpnServerClientAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerClientAuthenticationOutput) +} + +// IsVpnServerClientAuthenticationArrayInput is an input type that accepts IsVpnServerClientAuthenticationArray and IsVpnServerClientAuthenticationArrayOutput values. +// You can construct a concrete instance of `IsVpnServerClientAuthenticationArrayInput` via: +// +// IsVpnServerClientAuthenticationArray{ IsVpnServerClientAuthenticationArgs{...} } +type IsVpnServerClientAuthenticationArrayInput interface { + pulumi.Input + + ToIsVpnServerClientAuthenticationArrayOutput() IsVpnServerClientAuthenticationArrayOutput + ToIsVpnServerClientAuthenticationArrayOutputWithContext(context.Context) IsVpnServerClientAuthenticationArrayOutput +} + +type IsVpnServerClientAuthenticationArray []IsVpnServerClientAuthenticationInput + +func (IsVpnServerClientAuthenticationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerClientAuthentication)(nil)).Elem() +} + +func (i IsVpnServerClientAuthenticationArray) ToIsVpnServerClientAuthenticationArrayOutput() IsVpnServerClientAuthenticationArrayOutput { + return i.ToIsVpnServerClientAuthenticationArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerClientAuthenticationArray) ToIsVpnServerClientAuthenticationArrayOutputWithContext(ctx context.Context) IsVpnServerClientAuthenticationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerClientAuthenticationArrayOutput) +} + +type IsVpnServerClientAuthenticationOutput struct{ *pulumi.OutputState } + +func (IsVpnServerClientAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerClientAuthentication)(nil)).Elem() +} + +func (o IsVpnServerClientAuthenticationOutput) ToIsVpnServerClientAuthenticationOutput() IsVpnServerClientAuthenticationOutput { + return o +} + +func (o IsVpnServerClientAuthenticationOutput) ToIsVpnServerClientAuthenticationOutputWithContext(ctx context.Context) IsVpnServerClientAuthenticationOutput { + return o +} + +// The crn of certificate instance to use for the VPN client certificate authority (CA). +func (o IsVpnServerClientAuthenticationOutput) ClientCaCrn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerClientAuthentication) *string { return v.ClientCaCrn }).(pulumi.StringPtrOutput) +} + +// The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered. +func (o IsVpnServerClientAuthenticationOutput) IdentityProvider() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerClientAuthentication) *string { return v.IdentityProvider }).(pulumi.StringPtrOutput) +} + +// The type of authentication. +func (o IsVpnServerClientAuthenticationOutput) Method() pulumi.StringOutput { + return o.ApplyT(func(v IsVpnServerClientAuthentication) string { return v.Method }).(pulumi.StringOutput) +} + +type IsVpnServerClientAuthenticationArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerClientAuthenticationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerClientAuthentication)(nil)).Elem() +} + +func (o IsVpnServerClientAuthenticationArrayOutput) ToIsVpnServerClientAuthenticationArrayOutput() IsVpnServerClientAuthenticationArrayOutput { + return o +} + +func (o IsVpnServerClientAuthenticationArrayOutput) ToIsVpnServerClientAuthenticationArrayOutputWithContext(ctx context.Context) IsVpnServerClientAuthenticationArrayOutput { + return o +} + +func (o IsVpnServerClientAuthenticationArrayOutput) Index(i pulumi.IntInput) IsVpnServerClientAuthenticationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerClientAuthentication { + return vs[0].([]IsVpnServerClientAuthentication)[vs[1].(int)] + }).(IsVpnServerClientAuthenticationOutput) +} + +type IsVpnServerHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnServerHealthReasonInput is an input type that accepts IsVpnServerHealthReasonArgs and IsVpnServerHealthReasonOutput values. +// You can construct a concrete instance of `IsVpnServerHealthReasonInput` via: +// +// IsVpnServerHealthReasonArgs{...} +type IsVpnServerHealthReasonInput interface { + pulumi.Input + + ToIsVpnServerHealthReasonOutput() IsVpnServerHealthReasonOutput + ToIsVpnServerHealthReasonOutputWithContext(context.Context) IsVpnServerHealthReasonOutput +} + +type IsVpnServerHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnServerHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerHealthReason)(nil)).Elem() +} + +func (i IsVpnServerHealthReasonArgs) ToIsVpnServerHealthReasonOutput() IsVpnServerHealthReasonOutput { + return i.ToIsVpnServerHealthReasonOutputWithContext(context.Background()) +} + +func (i IsVpnServerHealthReasonArgs) ToIsVpnServerHealthReasonOutputWithContext(ctx context.Context) IsVpnServerHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerHealthReasonOutput) +} + +// IsVpnServerHealthReasonArrayInput is an input type that accepts IsVpnServerHealthReasonArray and IsVpnServerHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsVpnServerHealthReasonArrayInput` via: +// +// IsVpnServerHealthReasonArray{ IsVpnServerHealthReasonArgs{...} } +type IsVpnServerHealthReasonArrayInput interface { + pulumi.Input + + ToIsVpnServerHealthReasonArrayOutput() IsVpnServerHealthReasonArrayOutput + ToIsVpnServerHealthReasonArrayOutputWithContext(context.Context) IsVpnServerHealthReasonArrayOutput +} + +type IsVpnServerHealthReasonArray []IsVpnServerHealthReasonInput + +func (IsVpnServerHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerHealthReason)(nil)).Elem() +} + +func (i IsVpnServerHealthReasonArray) ToIsVpnServerHealthReasonArrayOutput() IsVpnServerHealthReasonArrayOutput { + return i.ToIsVpnServerHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerHealthReasonArray) ToIsVpnServerHealthReasonArrayOutputWithContext(ctx context.Context) IsVpnServerHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerHealthReasonArrayOutput) +} + +type IsVpnServerHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsVpnServerHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerHealthReason)(nil)).Elem() +} + +func (o IsVpnServerHealthReasonOutput) ToIsVpnServerHealthReasonOutput() IsVpnServerHealthReasonOutput { + return o +} + +func (o IsVpnServerHealthReasonOutput) ToIsVpnServerHealthReasonOutputWithContext(ctx context.Context) IsVpnServerHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsVpnServerHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsVpnServerHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsVpnServerHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnServerHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerHealthReason)(nil)).Elem() +} + +func (o IsVpnServerHealthReasonArrayOutput) ToIsVpnServerHealthReasonArrayOutput() IsVpnServerHealthReasonArrayOutput { + return o +} + +func (o IsVpnServerHealthReasonArrayOutput) ToIsVpnServerHealthReasonArrayOutputWithContext(ctx context.Context) IsVpnServerHealthReasonArrayOutput { + return o +} + +func (o IsVpnServerHealthReasonArrayOutput) Index(i pulumi.IntInput) IsVpnServerHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerHealthReason { + return vs[0].([]IsVpnServerHealthReason)[vs[1].(int)] + }).(IsVpnServerHealthReasonOutput) +} + +type IsVpnServerLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnServerLifecycleReasonInput is an input type that accepts IsVpnServerLifecycleReasonArgs and IsVpnServerLifecycleReasonOutput values. +// You can construct a concrete instance of `IsVpnServerLifecycleReasonInput` via: +// +// IsVpnServerLifecycleReasonArgs{...} +type IsVpnServerLifecycleReasonInput interface { + pulumi.Input + + ToIsVpnServerLifecycleReasonOutput() IsVpnServerLifecycleReasonOutput + ToIsVpnServerLifecycleReasonOutputWithContext(context.Context) IsVpnServerLifecycleReasonOutput +} + +type IsVpnServerLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnServerLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerLifecycleReason)(nil)).Elem() +} + +func (i IsVpnServerLifecycleReasonArgs) ToIsVpnServerLifecycleReasonOutput() IsVpnServerLifecycleReasonOutput { + return i.ToIsVpnServerLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsVpnServerLifecycleReasonArgs) ToIsVpnServerLifecycleReasonOutputWithContext(ctx context.Context) IsVpnServerLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerLifecycleReasonOutput) +} + +// IsVpnServerLifecycleReasonArrayInput is an input type that accepts IsVpnServerLifecycleReasonArray and IsVpnServerLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsVpnServerLifecycleReasonArrayInput` via: +// +// IsVpnServerLifecycleReasonArray{ IsVpnServerLifecycleReasonArgs{...} } +type IsVpnServerLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsVpnServerLifecycleReasonArrayOutput() IsVpnServerLifecycleReasonArrayOutput + ToIsVpnServerLifecycleReasonArrayOutputWithContext(context.Context) IsVpnServerLifecycleReasonArrayOutput +} + +type IsVpnServerLifecycleReasonArray []IsVpnServerLifecycleReasonInput + +func (IsVpnServerLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerLifecycleReason)(nil)).Elem() +} + +func (i IsVpnServerLifecycleReasonArray) ToIsVpnServerLifecycleReasonArrayOutput() IsVpnServerLifecycleReasonArrayOutput { + return i.ToIsVpnServerLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerLifecycleReasonArray) ToIsVpnServerLifecycleReasonArrayOutputWithContext(ctx context.Context) IsVpnServerLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerLifecycleReasonArrayOutput) +} + +type IsVpnServerLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsVpnServerLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerLifecycleReason)(nil)).Elem() +} + +func (o IsVpnServerLifecycleReasonOutput) ToIsVpnServerLifecycleReasonOutput() IsVpnServerLifecycleReasonOutput { + return o +} + +func (o IsVpnServerLifecycleReasonOutput) ToIsVpnServerLifecycleReasonOutputWithContext(ctx context.Context) IsVpnServerLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o IsVpnServerLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsVpnServerLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsVpnServerLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnServerLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerLifecycleReason)(nil)).Elem() +} + +func (o IsVpnServerLifecycleReasonArrayOutput) ToIsVpnServerLifecycleReasonArrayOutput() IsVpnServerLifecycleReasonArrayOutput { + return o +} + +func (o IsVpnServerLifecycleReasonArrayOutput) ToIsVpnServerLifecycleReasonArrayOutputWithContext(ctx context.Context) IsVpnServerLifecycleReasonArrayOutput { + return o +} + +func (o IsVpnServerLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsVpnServerLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerLifecycleReason { + return vs[0].([]IsVpnServerLifecycleReason)[vs[1].(int)] + }).(IsVpnServerLifecycleReasonOutput) +} + +type IsVpnServerPrivateIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address *string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsVpnServerPrivateIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href *string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id *string `pulumi:"id"` + // The user-defined or system-provided name for this reserved IP. + Name *string `pulumi:"name"` + // The resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// IsVpnServerPrivateIpInput is an input type that accepts IsVpnServerPrivateIpArgs and IsVpnServerPrivateIpOutput values. +// You can construct a concrete instance of `IsVpnServerPrivateIpInput` via: +// +// IsVpnServerPrivateIpArgs{...} +type IsVpnServerPrivateIpInput interface { + pulumi.Input + + ToIsVpnServerPrivateIpOutput() IsVpnServerPrivateIpOutput + ToIsVpnServerPrivateIpOutputWithContext(context.Context) IsVpnServerPrivateIpOutput +} + +type IsVpnServerPrivateIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringPtrInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsVpnServerPrivateIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringPtrInput `pulumi:"id"` + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringPtrInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (IsVpnServerPrivateIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerPrivateIp)(nil)).Elem() +} + +func (i IsVpnServerPrivateIpArgs) ToIsVpnServerPrivateIpOutput() IsVpnServerPrivateIpOutput { + return i.ToIsVpnServerPrivateIpOutputWithContext(context.Background()) +} + +func (i IsVpnServerPrivateIpArgs) ToIsVpnServerPrivateIpOutputWithContext(ctx context.Context) IsVpnServerPrivateIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerPrivateIpOutput) +} + +// IsVpnServerPrivateIpArrayInput is an input type that accepts IsVpnServerPrivateIpArray and IsVpnServerPrivateIpArrayOutput values. +// You can construct a concrete instance of `IsVpnServerPrivateIpArrayInput` via: +// +// IsVpnServerPrivateIpArray{ IsVpnServerPrivateIpArgs{...} } +type IsVpnServerPrivateIpArrayInput interface { + pulumi.Input + + ToIsVpnServerPrivateIpArrayOutput() IsVpnServerPrivateIpArrayOutput + ToIsVpnServerPrivateIpArrayOutputWithContext(context.Context) IsVpnServerPrivateIpArrayOutput +} + +type IsVpnServerPrivateIpArray []IsVpnServerPrivateIpInput + +func (IsVpnServerPrivateIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerPrivateIp)(nil)).Elem() +} + +func (i IsVpnServerPrivateIpArray) ToIsVpnServerPrivateIpArrayOutput() IsVpnServerPrivateIpArrayOutput { + return i.ToIsVpnServerPrivateIpArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerPrivateIpArray) ToIsVpnServerPrivateIpArrayOutputWithContext(ctx context.Context) IsVpnServerPrivateIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerPrivateIpArrayOutput) +} + +type IsVpnServerPrivateIpOutput struct{ *pulumi.OutputState } + +func (IsVpnServerPrivateIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerPrivateIp)(nil)).Elem() +} + +func (o IsVpnServerPrivateIpOutput) ToIsVpnServerPrivateIpOutput() IsVpnServerPrivateIpOutput { + return o +} + +func (o IsVpnServerPrivateIpOutput) ToIsVpnServerPrivateIpOutputWithContext(ctx context.Context) IsVpnServerPrivateIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o IsVpnServerPrivateIpOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerPrivateIp) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsVpnServerPrivateIpOutput) Deleteds() IsVpnServerPrivateIpDeletedArrayOutput { + return o.ApplyT(func(v IsVpnServerPrivateIp) []IsVpnServerPrivateIpDeleted { return v.Deleteds }).(IsVpnServerPrivateIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o IsVpnServerPrivateIpOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerPrivateIp) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this reserved IP. +func (o IsVpnServerPrivateIpOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerPrivateIp) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-defined or system-provided name for this reserved IP. +func (o IsVpnServerPrivateIpOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerPrivateIp) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o IsVpnServerPrivateIpOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerPrivateIp) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type IsVpnServerPrivateIpArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerPrivateIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerPrivateIp)(nil)).Elem() +} + +func (o IsVpnServerPrivateIpArrayOutput) ToIsVpnServerPrivateIpArrayOutput() IsVpnServerPrivateIpArrayOutput { + return o +} + +func (o IsVpnServerPrivateIpArrayOutput) ToIsVpnServerPrivateIpArrayOutputWithContext(ctx context.Context) IsVpnServerPrivateIpArrayOutput { + return o +} + +func (o IsVpnServerPrivateIpArrayOutput) Index(i pulumi.IntInput) IsVpnServerPrivateIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerPrivateIp { + return vs[0].([]IsVpnServerPrivateIp)[vs[1].(int)] + }).(IsVpnServerPrivateIpOutput) +} + +type IsVpnServerPrivateIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnServerPrivateIpDeletedInput is an input type that accepts IsVpnServerPrivateIpDeletedArgs and IsVpnServerPrivateIpDeletedOutput values. +// You can construct a concrete instance of `IsVpnServerPrivateIpDeletedInput` via: +// +// IsVpnServerPrivateIpDeletedArgs{...} +type IsVpnServerPrivateIpDeletedInput interface { + pulumi.Input + + ToIsVpnServerPrivateIpDeletedOutput() IsVpnServerPrivateIpDeletedOutput + ToIsVpnServerPrivateIpDeletedOutputWithContext(context.Context) IsVpnServerPrivateIpDeletedOutput +} + +type IsVpnServerPrivateIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnServerPrivateIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (i IsVpnServerPrivateIpDeletedArgs) ToIsVpnServerPrivateIpDeletedOutput() IsVpnServerPrivateIpDeletedOutput { + return i.ToIsVpnServerPrivateIpDeletedOutputWithContext(context.Background()) +} + +func (i IsVpnServerPrivateIpDeletedArgs) ToIsVpnServerPrivateIpDeletedOutputWithContext(ctx context.Context) IsVpnServerPrivateIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerPrivateIpDeletedOutput) +} + +// IsVpnServerPrivateIpDeletedArrayInput is an input type that accepts IsVpnServerPrivateIpDeletedArray and IsVpnServerPrivateIpDeletedArrayOutput values. +// You can construct a concrete instance of `IsVpnServerPrivateIpDeletedArrayInput` via: +// +// IsVpnServerPrivateIpDeletedArray{ IsVpnServerPrivateIpDeletedArgs{...} } +type IsVpnServerPrivateIpDeletedArrayInput interface { + pulumi.Input + + ToIsVpnServerPrivateIpDeletedArrayOutput() IsVpnServerPrivateIpDeletedArrayOutput + ToIsVpnServerPrivateIpDeletedArrayOutputWithContext(context.Context) IsVpnServerPrivateIpDeletedArrayOutput +} + +type IsVpnServerPrivateIpDeletedArray []IsVpnServerPrivateIpDeletedInput + +func (IsVpnServerPrivateIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (i IsVpnServerPrivateIpDeletedArray) ToIsVpnServerPrivateIpDeletedArrayOutput() IsVpnServerPrivateIpDeletedArrayOutput { + return i.ToIsVpnServerPrivateIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerPrivateIpDeletedArray) ToIsVpnServerPrivateIpDeletedArrayOutputWithContext(ctx context.Context) IsVpnServerPrivateIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerPrivateIpDeletedArrayOutput) +} + +type IsVpnServerPrivateIpDeletedOutput struct{ *pulumi.OutputState } + +func (IsVpnServerPrivateIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (o IsVpnServerPrivateIpDeletedOutput) ToIsVpnServerPrivateIpDeletedOutput() IsVpnServerPrivateIpDeletedOutput { + return o +} + +func (o IsVpnServerPrivateIpDeletedOutput) ToIsVpnServerPrivateIpDeletedOutputWithContext(ctx context.Context) IsVpnServerPrivateIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVpnServerPrivateIpDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerPrivateIpDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnServerPrivateIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerPrivateIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (o IsVpnServerPrivateIpDeletedArrayOutput) ToIsVpnServerPrivateIpDeletedArrayOutput() IsVpnServerPrivateIpDeletedArrayOutput { + return o +} + +func (o IsVpnServerPrivateIpDeletedArrayOutput) ToIsVpnServerPrivateIpDeletedArrayOutputWithContext(ctx context.Context) IsVpnServerPrivateIpDeletedArrayOutput { + return o +} + +func (o IsVpnServerPrivateIpDeletedArrayOutput) Index(i pulumi.IntInput) IsVpnServerPrivateIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerPrivateIpDeleted { + return vs[0].([]IsVpnServerPrivateIpDeleted)[vs[1].(int)] + }).(IsVpnServerPrivateIpDeletedOutput) +} + +type IsVpnServerRouteHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code *string `pulumi:"code"` + // An explanation of the reason for this health state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnServerRouteHealthReasonInput is an input type that accepts IsVpnServerRouteHealthReasonArgs and IsVpnServerRouteHealthReasonOutput values. +// You can construct a concrete instance of `IsVpnServerRouteHealthReasonInput` via: +// +// IsVpnServerRouteHealthReasonArgs{...} +type IsVpnServerRouteHealthReasonInput interface { + pulumi.Input + + ToIsVpnServerRouteHealthReasonOutput() IsVpnServerRouteHealthReasonOutput + ToIsVpnServerRouteHealthReasonOutputWithContext(context.Context) IsVpnServerRouteHealthReasonOutput +} + +type IsVpnServerRouteHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnServerRouteHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerRouteHealthReason)(nil)).Elem() +} + +func (i IsVpnServerRouteHealthReasonArgs) ToIsVpnServerRouteHealthReasonOutput() IsVpnServerRouteHealthReasonOutput { + return i.ToIsVpnServerRouteHealthReasonOutputWithContext(context.Background()) +} + +func (i IsVpnServerRouteHealthReasonArgs) ToIsVpnServerRouteHealthReasonOutputWithContext(ctx context.Context) IsVpnServerRouteHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerRouteHealthReasonOutput) +} + +// IsVpnServerRouteHealthReasonArrayInput is an input type that accepts IsVpnServerRouteHealthReasonArray and IsVpnServerRouteHealthReasonArrayOutput values. +// You can construct a concrete instance of `IsVpnServerRouteHealthReasonArrayInput` via: +// +// IsVpnServerRouteHealthReasonArray{ IsVpnServerRouteHealthReasonArgs{...} } +type IsVpnServerRouteHealthReasonArrayInput interface { + pulumi.Input + + ToIsVpnServerRouteHealthReasonArrayOutput() IsVpnServerRouteHealthReasonArrayOutput + ToIsVpnServerRouteHealthReasonArrayOutputWithContext(context.Context) IsVpnServerRouteHealthReasonArrayOutput +} + +type IsVpnServerRouteHealthReasonArray []IsVpnServerRouteHealthReasonInput + +func (IsVpnServerRouteHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerRouteHealthReason)(nil)).Elem() +} + +func (i IsVpnServerRouteHealthReasonArray) ToIsVpnServerRouteHealthReasonArrayOutput() IsVpnServerRouteHealthReasonArrayOutput { + return i.ToIsVpnServerRouteHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerRouteHealthReasonArray) ToIsVpnServerRouteHealthReasonArrayOutputWithContext(ctx context.Context) IsVpnServerRouteHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerRouteHealthReasonArrayOutput) +} + +type IsVpnServerRouteHealthReasonOutput struct{ *pulumi.OutputState } + +func (IsVpnServerRouteHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerRouteHealthReason)(nil)).Elem() +} + +func (o IsVpnServerRouteHealthReasonOutput) ToIsVpnServerRouteHealthReasonOutput() IsVpnServerRouteHealthReasonOutput { + return o +} + +func (o IsVpnServerRouteHealthReasonOutput) ToIsVpnServerRouteHealthReasonOutputWithContext(ctx context.Context) IsVpnServerRouteHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o IsVpnServerRouteHealthReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerRouteHealthReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this health state. +func (o IsVpnServerRouteHealthReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerRouteHealthReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this health state. +func (o IsVpnServerRouteHealthReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerRouteHealthReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnServerRouteHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerRouteHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerRouteHealthReason)(nil)).Elem() +} + +func (o IsVpnServerRouteHealthReasonArrayOutput) ToIsVpnServerRouteHealthReasonArrayOutput() IsVpnServerRouteHealthReasonArrayOutput { + return o +} + +func (o IsVpnServerRouteHealthReasonArrayOutput) ToIsVpnServerRouteHealthReasonArrayOutputWithContext(ctx context.Context) IsVpnServerRouteHealthReasonArrayOutput { + return o +} + +func (o IsVpnServerRouteHealthReasonArrayOutput) Index(i pulumi.IntInput) IsVpnServerRouteHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerRouteHealthReason { + return vs[0].([]IsVpnServerRouteHealthReason)[vs[1].(int)] + }).(IsVpnServerRouteHealthReasonOutput) +} + +type IsVpnServerRouteLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code *string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message *string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnServerRouteLifecycleReasonInput is an input type that accepts IsVpnServerRouteLifecycleReasonArgs and IsVpnServerRouteLifecycleReasonOutput values. +// You can construct a concrete instance of `IsVpnServerRouteLifecycleReasonInput` via: +// +// IsVpnServerRouteLifecycleReasonArgs{...} +type IsVpnServerRouteLifecycleReasonInput interface { + pulumi.Input + + ToIsVpnServerRouteLifecycleReasonOutput() IsVpnServerRouteLifecycleReasonOutput + ToIsVpnServerRouteLifecycleReasonOutputWithContext(context.Context) IsVpnServerRouteLifecycleReasonOutput +} + +type IsVpnServerRouteLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringPtrInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringPtrInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnServerRouteLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerRouteLifecycleReason)(nil)).Elem() +} + +func (i IsVpnServerRouteLifecycleReasonArgs) ToIsVpnServerRouteLifecycleReasonOutput() IsVpnServerRouteLifecycleReasonOutput { + return i.ToIsVpnServerRouteLifecycleReasonOutputWithContext(context.Background()) +} + +func (i IsVpnServerRouteLifecycleReasonArgs) ToIsVpnServerRouteLifecycleReasonOutputWithContext(ctx context.Context) IsVpnServerRouteLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerRouteLifecycleReasonOutput) +} + +// IsVpnServerRouteLifecycleReasonArrayInput is an input type that accepts IsVpnServerRouteLifecycleReasonArray and IsVpnServerRouteLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `IsVpnServerRouteLifecycleReasonArrayInput` via: +// +// IsVpnServerRouteLifecycleReasonArray{ IsVpnServerRouteLifecycleReasonArgs{...} } +type IsVpnServerRouteLifecycleReasonArrayInput interface { + pulumi.Input + + ToIsVpnServerRouteLifecycleReasonArrayOutput() IsVpnServerRouteLifecycleReasonArrayOutput + ToIsVpnServerRouteLifecycleReasonArrayOutputWithContext(context.Context) IsVpnServerRouteLifecycleReasonArrayOutput +} + +type IsVpnServerRouteLifecycleReasonArray []IsVpnServerRouteLifecycleReasonInput + +func (IsVpnServerRouteLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerRouteLifecycleReason)(nil)).Elem() +} + +func (i IsVpnServerRouteLifecycleReasonArray) ToIsVpnServerRouteLifecycleReasonArrayOutput() IsVpnServerRouteLifecycleReasonArrayOutput { + return i.ToIsVpnServerRouteLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerRouteLifecycleReasonArray) ToIsVpnServerRouteLifecycleReasonArrayOutputWithContext(ctx context.Context) IsVpnServerRouteLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerRouteLifecycleReasonArrayOutput) +} + +type IsVpnServerRouteLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (IsVpnServerRouteLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerRouteLifecycleReason)(nil)).Elem() +} + +func (o IsVpnServerRouteLifecycleReasonOutput) ToIsVpnServerRouteLifecycleReasonOutput() IsVpnServerRouteLifecycleReasonOutput { + return o +} + +func (o IsVpnServerRouteLifecycleReasonOutput) ToIsVpnServerRouteLifecycleReasonOutputWithContext(ctx context.Context) IsVpnServerRouteLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o IsVpnServerRouteLifecycleReasonOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerRouteLifecycleReason) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o IsVpnServerRouteLifecycleReasonOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerRouteLifecycleReason) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o IsVpnServerRouteLifecycleReasonOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerRouteLifecycleReason) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnServerRouteLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerRouteLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerRouteLifecycleReason)(nil)).Elem() +} + +func (o IsVpnServerRouteLifecycleReasonArrayOutput) ToIsVpnServerRouteLifecycleReasonArrayOutput() IsVpnServerRouteLifecycleReasonArrayOutput { + return o +} + +func (o IsVpnServerRouteLifecycleReasonArrayOutput) ToIsVpnServerRouteLifecycleReasonArrayOutputWithContext(ctx context.Context) IsVpnServerRouteLifecycleReasonArrayOutput { + return o +} + +func (o IsVpnServerRouteLifecycleReasonArrayOutput) Index(i pulumi.IntInput) IsVpnServerRouteLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerRouteLifecycleReason { + return vs[0].([]IsVpnServerRouteLifecycleReason)[vs[1].(int)] + }).(IsVpnServerRouteLifecycleReasonOutput) +} + +type IsVpnServerVpc struct { + // The CRN for this VPC. + Crn *string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []IsVpnServerVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href *string `pulumi:"href"` + // The unique identifier for this VPC. + Id *string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name *string `pulumi:"name"` +} + +// IsVpnServerVpcInput is an input type that accepts IsVpnServerVpcArgs and IsVpnServerVpcOutput values. +// You can construct a concrete instance of `IsVpnServerVpcInput` via: +// +// IsVpnServerVpcArgs{...} +type IsVpnServerVpcInput interface { + pulumi.Input + + ToIsVpnServerVpcOutput() IsVpnServerVpcOutput + ToIsVpnServerVpcOutputWithContext(context.Context) IsVpnServerVpcOutput +} + +type IsVpnServerVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringPtrInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds IsVpnServerVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringPtrInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringPtrInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (IsVpnServerVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerVpc)(nil)).Elem() +} + +func (i IsVpnServerVpcArgs) ToIsVpnServerVpcOutput() IsVpnServerVpcOutput { + return i.ToIsVpnServerVpcOutputWithContext(context.Background()) +} + +func (i IsVpnServerVpcArgs) ToIsVpnServerVpcOutputWithContext(ctx context.Context) IsVpnServerVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerVpcOutput) +} + +// IsVpnServerVpcArrayInput is an input type that accepts IsVpnServerVpcArray and IsVpnServerVpcArrayOutput values. +// You can construct a concrete instance of `IsVpnServerVpcArrayInput` via: +// +// IsVpnServerVpcArray{ IsVpnServerVpcArgs{...} } +type IsVpnServerVpcArrayInput interface { + pulumi.Input + + ToIsVpnServerVpcArrayOutput() IsVpnServerVpcArrayOutput + ToIsVpnServerVpcArrayOutputWithContext(context.Context) IsVpnServerVpcArrayOutput +} + +type IsVpnServerVpcArray []IsVpnServerVpcInput + +func (IsVpnServerVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerVpc)(nil)).Elem() +} + +func (i IsVpnServerVpcArray) ToIsVpnServerVpcArrayOutput() IsVpnServerVpcArrayOutput { + return i.ToIsVpnServerVpcArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerVpcArray) ToIsVpnServerVpcArrayOutputWithContext(ctx context.Context) IsVpnServerVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerVpcArrayOutput) +} + +type IsVpnServerVpcOutput struct{ *pulumi.OutputState } + +func (IsVpnServerVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerVpc)(nil)).Elem() +} + +func (o IsVpnServerVpcOutput) ToIsVpnServerVpcOutput() IsVpnServerVpcOutput { + return o +} + +func (o IsVpnServerVpcOutput) ToIsVpnServerVpcOutputWithContext(ctx context.Context) IsVpnServerVpcOutput { + return o +} + +// The CRN for this VPC. +func (o IsVpnServerVpcOutput) Crn() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerVpc) *string { return v.Crn }).(pulumi.StringPtrOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o IsVpnServerVpcOutput) Deleteds() IsVpnServerVpcDeletedArrayOutput { + return o.ApplyT(func(v IsVpnServerVpc) []IsVpnServerVpcDeleted { return v.Deleteds }).(IsVpnServerVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o IsVpnServerVpcOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerVpc) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The unique identifier for this VPC. +func (o IsVpnServerVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The unique user-defined name for this VPC. +func (o IsVpnServerVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type IsVpnServerVpcArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerVpc)(nil)).Elem() +} + +func (o IsVpnServerVpcArrayOutput) ToIsVpnServerVpcArrayOutput() IsVpnServerVpcArrayOutput { + return o +} + +func (o IsVpnServerVpcArrayOutput) ToIsVpnServerVpcArrayOutputWithContext(ctx context.Context) IsVpnServerVpcArrayOutput { + return o +} + +func (o IsVpnServerVpcArrayOutput) Index(i pulumi.IntInput) IsVpnServerVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerVpc { + return vs[0].([]IsVpnServerVpc)[vs[1].(int)] + }).(IsVpnServerVpcOutput) +} + +type IsVpnServerVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo *string `pulumi:"moreInfo"` +} + +// IsVpnServerVpcDeletedInput is an input type that accepts IsVpnServerVpcDeletedArgs and IsVpnServerVpcDeletedOutput values. +// You can construct a concrete instance of `IsVpnServerVpcDeletedInput` via: +// +// IsVpnServerVpcDeletedArgs{...} +type IsVpnServerVpcDeletedInput interface { + pulumi.Input + + ToIsVpnServerVpcDeletedOutput() IsVpnServerVpcDeletedOutput + ToIsVpnServerVpcDeletedOutputWithContext(context.Context) IsVpnServerVpcDeletedOutput +} + +type IsVpnServerVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringPtrInput `pulumi:"moreInfo"` +} + +func (IsVpnServerVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerVpcDeleted)(nil)).Elem() +} + +func (i IsVpnServerVpcDeletedArgs) ToIsVpnServerVpcDeletedOutput() IsVpnServerVpcDeletedOutput { + return i.ToIsVpnServerVpcDeletedOutputWithContext(context.Background()) +} + +func (i IsVpnServerVpcDeletedArgs) ToIsVpnServerVpcDeletedOutputWithContext(ctx context.Context) IsVpnServerVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerVpcDeletedOutput) +} + +// IsVpnServerVpcDeletedArrayInput is an input type that accepts IsVpnServerVpcDeletedArray and IsVpnServerVpcDeletedArrayOutput values. +// You can construct a concrete instance of `IsVpnServerVpcDeletedArrayInput` via: +// +// IsVpnServerVpcDeletedArray{ IsVpnServerVpcDeletedArgs{...} } +type IsVpnServerVpcDeletedArrayInput interface { + pulumi.Input + + ToIsVpnServerVpcDeletedArrayOutput() IsVpnServerVpcDeletedArrayOutput + ToIsVpnServerVpcDeletedArrayOutputWithContext(context.Context) IsVpnServerVpcDeletedArrayOutput +} + +type IsVpnServerVpcDeletedArray []IsVpnServerVpcDeletedInput + +func (IsVpnServerVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerVpcDeleted)(nil)).Elem() +} + +func (i IsVpnServerVpcDeletedArray) ToIsVpnServerVpcDeletedArrayOutput() IsVpnServerVpcDeletedArrayOutput { + return i.ToIsVpnServerVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i IsVpnServerVpcDeletedArray) ToIsVpnServerVpcDeletedArrayOutputWithContext(ctx context.Context) IsVpnServerVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IsVpnServerVpcDeletedArrayOutput) +} + +type IsVpnServerVpcDeletedOutput struct{ *pulumi.OutputState } + +func (IsVpnServerVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IsVpnServerVpcDeleted)(nil)).Elem() +} + +func (o IsVpnServerVpcDeletedOutput) ToIsVpnServerVpcDeletedOutput() IsVpnServerVpcDeletedOutput { + return o +} + +func (o IsVpnServerVpcDeletedOutput) ToIsVpnServerVpcDeletedOutputWithContext(ctx context.Context) IsVpnServerVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o IsVpnServerVpcDeletedOutput) MoreInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v IsVpnServerVpcDeleted) *string { return v.MoreInfo }).(pulumi.StringPtrOutput) +} + +type IsVpnServerVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (IsVpnServerVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IsVpnServerVpcDeleted)(nil)).Elem() +} + +func (o IsVpnServerVpcDeletedArrayOutput) ToIsVpnServerVpcDeletedArrayOutput() IsVpnServerVpcDeletedArrayOutput { + return o +} + +func (o IsVpnServerVpcDeletedArrayOutput) ToIsVpnServerVpcDeletedArrayOutputWithContext(ctx context.Context) IsVpnServerVpcDeletedArrayOutput { + return o +} + +func (o IsVpnServerVpcDeletedArrayOutput) Index(i pulumi.IntInput) IsVpnServerVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IsVpnServerVpcDeleted { + return vs[0].([]IsVpnServerVpcDeleted)[vs[1].(int)] + }).(IsVpnServerVpcDeletedOutput) +} + +type PiDhcpLease struct { + // The IP of the PVM Instance + InstanceIp *string `pulumi:"instanceIp"` + // The MAC Address of the PVM Instance + InstanceMac *string `pulumi:"instanceMac"` +} + +// PiDhcpLeaseInput is an input type that accepts PiDhcpLeaseArgs and PiDhcpLeaseOutput values. +// You can construct a concrete instance of `PiDhcpLeaseInput` via: +// +// PiDhcpLeaseArgs{...} +type PiDhcpLeaseInput interface { + pulumi.Input + + ToPiDhcpLeaseOutput() PiDhcpLeaseOutput + ToPiDhcpLeaseOutputWithContext(context.Context) PiDhcpLeaseOutput +} + +type PiDhcpLeaseArgs struct { + // The IP of the PVM Instance + InstanceIp pulumi.StringPtrInput `pulumi:"instanceIp"` + // The MAC Address of the PVM Instance + InstanceMac pulumi.StringPtrInput `pulumi:"instanceMac"` +} + +func (PiDhcpLeaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiDhcpLease)(nil)).Elem() +} + +func (i PiDhcpLeaseArgs) ToPiDhcpLeaseOutput() PiDhcpLeaseOutput { + return i.ToPiDhcpLeaseOutputWithContext(context.Background()) +} + +func (i PiDhcpLeaseArgs) ToPiDhcpLeaseOutputWithContext(ctx context.Context) PiDhcpLeaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiDhcpLeaseOutput) +} + +// PiDhcpLeaseArrayInput is an input type that accepts PiDhcpLeaseArray and PiDhcpLeaseArrayOutput values. +// You can construct a concrete instance of `PiDhcpLeaseArrayInput` via: +// +// PiDhcpLeaseArray{ PiDhcpLeaseArgs{...} } +type PiDhcpLeaseArrayInput interface { + pulumi.Input + + ToPiDhcpLeaseArrayOutput() PiDhcpLeaseArrayOutput + ToPiDhcpLeaseArrayOutputWithContext(context.Context) PiDhcpLeaseArrayOutput +} + +type PiDhcpLeaseArray []PiDhcpLeaseInput + +func (PiDhcpLeaseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiDhcpLease)(nil)).Elem() +} + +func (i PiDhcpLeaseArray) ToPiDhcpLeaseArrayOutput() PiDhcpLeaseArrayOutput { + return i.ToPiDhcpLeaseArrayOutputWithContext(context.Background()) +} + +func (i PiDhcpLeaseArray) ToPiDhcpLeaseArrayOutputWithContext(ctx context.Context) PiDhcpLeaseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiDhcpLeaseArrayOutput) +} + +type PiDhcpLeaseOutput struct{ *pulumi.OutputState } + +func (PiDhcpLeaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiDhcpLease)(nil)).Elem() +} + +func (o PiDhcpLeaseOutput) ToPiDhcpLeaseOutput() PiDhcpLeaseOutput { + return o +} + +func (o PiDhcpLeaseOutput) ToPiDhcpLeaseOutputWithContext(ctx context.Context) PiDhcpLeaseOutput { + return o +} + +// The IP of the PVM Instance +func (o PiDhcpLeaseOutput) InstanceIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiDhcpLease) *string { return v.InstanceIp }).(pulumi.StringPtrOutput) +} + +// The MAC Address of the PVM Instance +func (o PiDhcpLeaseOutput) InstanceMac() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiDhcpLease) *string { return v.InstanceMac }).(pulumi.StringPtrOutput) +} + +type PiDhcpLeaseArrayOutput struct{ *pulumi.OutputState } + +func (PiDhcpLeaseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiDhcpLease)(nil)).Elem() +} + +func (o PiDhcpLeaseArrayOutput) ToPiDhcpLeaseArrayOutput() PiDhcpLeaseArrayOutput { + return o +} + +func (o PiDhcpLeaseArrayOutput) ToPiDhcpLeaseArrayOutputWithContext(ctx context.Context) PiDhcpLeaseArrayOutput { + return o +} + +func (o PiDhcpLeaseArrayOutput) Index(i pulumi.IntInput) PiDhcpLeaseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiDhcpLease { + return vs[0].([]PiDhcpLease)[vs[1].(int)] + }).(PiDhcpLeaseOutput) +} + +type PiHostCapacity struct { + // Number of cores currently available. + AvailableCores *float64 `pulumi:"availableCores"` + // Amount of memory currently available (in GB). + AvailableMemory *float64 `pulumi:"availableMemory"` + // Number of cores reserved for system use. + ReservedCore *float64 `pulumi:"reservedCore"` + // Amount of memory reserved for system use (in GB). + ReservedMemory *float64 `pulumi:"reservedMemory"` + // Total number of cores of the host. + TotalCore *float64 `pulumi:"totalCore"` + // Total amount of memory of the host (in GB). + TotalMemory *float64 `pulumi:"totalMemory"` + // Number of cores in use on the host. + UsedCore *float64 `pulumi:"usedCore"` + // Amount of memory used on the host (in GB). + UsedMemory *float64 `pulumi:"usedMemory"` +} + +// PiHostCapacityInput is an input type that accepts PiHostCapacityArgs and PiHostCapacityOutput values. +// You can construct a concrete instance of `PiHostCapacityInput` via: +// +// PiHostCapacityArgs{...} +type PiHostCapacityInput interface { + pulumi.Input + + ToPiHostCapacityOutput() PiHostCapacityOutput + ToPiHostCapacityOutputWithContext(context.Context) PiHostCapacityOutput +} + +type PiHostCapacityArgs struct { + // Number of cores currently available. + AvailableCores pulumi.Float64PtrInput `pulumi:"availableCores"` + // Amount of memory currently available (in GB). + AvailableMemory pulumi.Float64PtrInput `pulumi:"availableMemory"` + // Number of cores reserved for system use. + ReservedCore pulumi.Float64PtrInput `pulumi:"reservedCore"` + // Amount of memory reserved for system use (in GB). + ReservedMemory pulumi.Float64PtrInput `pulumi:"reservedMemory"` + // Total number of cores of the host. + TotalCore pulumi.Float64PtrInput `pulumi:"totalCore"` + // Total amount of memory of the host (in GB). + TotalMemory pulumi.Float64PtrInput `pulumi:"totalMemory"` + // Number of cores in use on the host. + UsedCore pulumi.Float64PtrInput `pulumi:"usedCore"` + // Amount of memory used on the host (in GB). + UsedMemory pulumi.Float64PtrInput `pulumi:"usedMemory"` +} + +func (PiHostCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiHostCapacity)(nil)).Elem() +} + +func (i PiHostCapacityArgs) ToPiHostCapacityOutput() PiHostCapacityOutput { + return i.ToPiHostCapacityOutputWithContext(context.Background()) +} + +func (i PiHostCapacityArgs) ToPiHostCapacityOutputWithContext(ctx context.Context) PiHostCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostCapacityOutput) +} + +// PiHostCapacityArrayInput is an input type that accepts PiHostCapacityArray and PiHostCapacityArrayOutput values. +// You can construct a concrete instance of `PiHostCapacityArrayInput` via: +// +// PiHostCapacityArray{ PiHostCapacityArgs{...} } +type PiHostCapacityArrayInput interface { + pulumi.Input + + ToPiHostCapacityArrayOutput() PiHostCapacityArrayOutput + ToPiHostCapacityArrayOutputWithContext(context.Context) PiHostCapacityArrayOutput +} + +type PiHostCapacityArray []PiHostCapacityInput + +func (PiHostCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiHostCapacity)(nil)).Elem() +} + +func (i PiHostCapacityArray) ToPiHostCapacityArrayOutput() PiHostCapacityArrayOutput { + return i.ToPiHostCapacityArrayOutputWithContext(context.Background()) +} + +func (i PiHostCapacityArray) ToPiHostCapacityArrayOutputWithContext(ctx context.Context) PiHostCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostCapacityArrayOutput) +} + +type PiHostCapacityOutput struct{ *pulumi.OutputState } + +func (PiHostCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiHostCapacity)(nil)).Elem() +} + +func (o PiHostCapacityOutput) ToPiHostCapacityOutput() PiHostCapacityOutput { + return o +} + +func (o PiHostCapacityOutput) ToPiHostCapacityOutputWithContext(ctx context.Context) PiHostCapacityOutput { + return o +} + +// Number of cores currently available. +func (o PiHostCapacityOutput) AvailableCores() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiHostCapacity) *float64 { return v.AvailableCores }).(pulumi.Float64PtrOutput) +} + +// Amount of memory currently available (in GB). +func (o PiHostCapacityOutput) AvailableMemory() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiHostCapacity) *float64 { return v.AvailableMemory }).(pulumi.Float64PtrOutput) +} + +// Number of cores reserved for system use. +func (o PiHostCapacityOutput) ReservedCore() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiHostCapacity) *float64 { return v.ReservedCore }).(pulumi.Float64PtrOutput) +} + +// Amount of memory reserved for system use (in GB). +func (o PiHostCapacityOutput) ReservedMemory() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiHostCapacity) *float64 { return v.ReservedMemory }).(pulumi.Float64PtrOutput) +} + +// Total number of cores of the host. +func (o PiHostCapacityOutput) TotalCore() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiHostCapacity) *float64 { return v.TotalCore }).(pulumi.Float64PtrOutput) +} + +// Total amount of memory of the host (in GB). +func (o PiHostCapacityOutput) TotalMemory() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiHostCapacity) *float64 { return v.TotalMemory }).(pulumi.Float64PtrOutput) +} + +// Number of cores in use on the host. +func (o PiHostCapacityOutput) UsedCore() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiHostCapacity) *float64 { return v.UsedCore }).(pulumi.Float64PtrOutput) +} + +// Amount of memory used on the host (in GB). +func (o PiHostCapacityOutput) UsedMemory() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiHostCapacity) *float64 { return v.UsedMemory }).(pulumi.Float64PtrOutput) +} + +type PiHostCapacityArrayOutput struct{ *pulumi.OutputState } + +func (PiHostCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiHostCapacity)(nil)).Elem() +} + +func (o PiHostCapacityArrayOutput) ToPiHostCapacityArrayOutput() PiHostCapacityArrayOutput { + return o +} + +func (o PiHostCapacityArrayOutput) ToPiHostCapacityArrayOutputWithContext(ctx context.Context) PiHostCapacityArrayOutput { + return o +} + +func (o PiHostCapacityArrayOutput) Index(i pulumi.IntInput) PiHostCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiHostCapacity { + return vs[0].([]PiHostCapacity)[vs[1].(int)] + }).(PiHostCapacityOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscaleGroupVirtualGuestMemberTemplateInput)(nil)).Elem(), ComputeAutoscaleGroupVirtualGuestMemberTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayInput)(nil)).Elem(), ComputeAutoscaleGroupVirtualGuestMemberTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmInput)(nil)).Elem(), ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayInput)(nil)).Elem(), ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscalePolicyTriggerInput)(nil)).Elem(), ComputeAutoscalePolicyTriggerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscalePolicyTriggerArrayInput)(nil)).Elem(), ComputeAutoscalePolicyTriggerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscalePolicyTriggerWatchInput)(nil)).Elem(), ComputeAutoscalePolicyTriggerWatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeAutoscalePolicyTriggerWatchArrayInput)(nil)).Elem(), ComputeAutoscalePolicyTriggerWatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeBareMetalStorageGroupInput)(nil)).Elem(), ComputeBareMetalStorageGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeBareMetalStorageGroupArrayInput)(nil)).Elem(), ComputeBareMetalStorageGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeVmInstanceBulkVmInput)(nil)).Elem(), ComputeVmInstanceBulkVmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeVmInstanceBulkVmArrayInput)(nil)).Elem(), ComputeVmInstanceBulkVmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketAbortIncompleteMultipartUploadDayInput)(nil)).Elem(), CosBucketAbortIncompleteMultipartUploadDayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketAbortIncompleteMultipartUploadDayArrayInput)(nil)).Elem(), CosBucketAbortIncompleteMultipartUploadDayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketActivityTrackingInput)(nil)).Elem(), CosBucketActivityTrackingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketActivityTrackingPtrInput)(nil)).Elem(), CosBucketActivityTrackingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketArchiveRuleInput)(nil)).Elem(), CosBucketArchiveRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketArchiveRulePtrInput)(nil)).Elem(), CosBucketArchiveRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketExpireRuleInput)(nil)).Elem(), CosBucketExpireRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketExpireRuleArrayInput)(nil)).Elem(), CosBucketExpireRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleArrayInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleExpirationInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterAndInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleFilterAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterTagInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleFilterTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleTransitionInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrInput)(nil)).Elem(), CosBucketLifecycleConfigurationLifecycleRuleTransitionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketMetricsMonitoringInput)(nil)).Elem(), CosBucketMetricsMonitoringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketMetricsMonitoringPtrInput)(nil)).Elem(), CosBucketMetricsMonitoringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketNoncurrentVersionExpirationInput)(nil)).Elem(), CosBucketNoncurrentVersionExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketNoncurrentVersionExpirationPtrInput)(nil)).Elem(), CosBucketNoncurrentVersionExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationInput)(nil)).Elem(), CosBucketObjectLockConfigurationObjectLockConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationPtrInput)(nil)).Elem(), CosBucketObjectLockConfigurationObjectLockConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleInput)(nil)).Elem(), CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrInput)(nil)).Elem(), CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionInput)(nil)).Elem(), CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrInput)(nil)).Elem(), CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectVersioningInput)(nil)).Elem(), CosBucketObjectVersioningArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketObjectVersioningPtrInput)(nil)).Elem(), CosBucketObjectVersioningArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketReplicationRuleReplicationRuleInput)(nil)).Elem(), CosBucketReplicationRuleReplicationRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketReplicationRuleReplicationRuleArrayInput)(nil)).Elem(), CosBucketReplicationRuleReplicationRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketRetentionRuleInput)(nil)).Elem(), CosBucketRetentionRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketRetentionRulePtrInput)(nil)).Elem(), CosBucketRetentionRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationPtrInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectInput)(nil)).Elem(), CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupDynamicRuleConditionInput)(nil)).Elem(), IamAccessGroupDynamicRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupDynamicRuleConditionArrayInput)(nil)).Elem(), IamAccessGroupDynamicRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupMembersMemberInput)(nil)).Elem(), IamAccessGroupMembersMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupMembersMemberArrayInput)(nil)).Elem(), IamAccessGroupMembersMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyResourceAttributeInput)(nil)).Elem(), IamAccessGroupPolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyResourceAttributeArrayInput)(nil)).Elem(), IamAccessGroupPolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyResourceTagInput)(nil)).Elem(), IamAccessGroupPolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyResourceTagArrayInput)(nil)).Elem(), IamAccessGroupPolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyResourcesInput)(nil)).Elem(), IamAccessGroupPolicyResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyResourcesPtrInput)(nil)).Elem(), IamAccessGroupPolicyResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyRuleConditionInput)(nil)).Elem(), IamAccessGroupPolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyRuleConditionArrayInput)(nil)).Elem(), IamAccessGroupPolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyRuleConditionConditionInput)(nil)).Elem(), IamAccessGroupPolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupPolicyRuleConditionConditionArrayInput)(nil)).Elem(), IamAccessGroupPolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupInput)(nil)).Elem(), IamAccessGroupTemplateGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupPtrInput)(nil)).Elem(), IamAccessGroupTemplateGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupActionControlsInput)(nil)).Elem(), IamAccessGroupTemplateGroupActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupActionControlsPtrInput)(nil)).Elem(), IamAccessGroupTemplateGroupActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupActionControlsAccessInput)(nil)).Elem(), IamAccessGroupTemplateGroupActionControlsAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupActionControlsAccessPtrInput)(nil)).Elem(), IamAccessGroupTemplateGroupActionControlsAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsPtrInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsActionControlsInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsActionControlsPtrInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleArrayInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleActionControlsInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsRuleActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleConditionInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupAssertionsRuleConditionArrayInput)(nil)).Elem(), IamAccessGroupTemplateGroupAssertionsRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupMembersInput)(nil)).Elem(), IamAccessGroupTemplateGroupMembersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupMembersPtrInput)(nil)).Elem(), IamAccessGroupTemplateGroupMembersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupMembersActionControlsInput)(nil)).Elem(), IamAccessGroupTemplateGroupMembersActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateGroupMembersActionControlsPtrInput)(nil)).Elem(), IamAccessGroupTemplateGroupMembersActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplatePolicyTemplateReferenceInput)(nil)).Elem(), IamAccessGroupTemplatePolicyTemplateReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplatePolicyTemplateReferenceArrayInput)(nil)).Elem(), IamAccessGroupTemplatePolicyTemplateReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupPtrInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupActionControlsInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupActionControlsPtrInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupActionControlsAccessInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupActionControlsAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupActionControlsAccessPtrInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupActionControlsAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsPtrInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsActionControlsInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleArrayInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleConditionInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupMembersInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupMembersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupMembersPtrInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupMembersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupMembersActionControlsInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupMembersActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionGroupMembersActionControlsPtrInput)(nil)).Elem(), IamAccessGroupTemplateVersionGroupMembersActionControlsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionPolicyTemplateReferenceInput)(nil)).Elem(), IamAccessGroupTemplateVersionPolicyTemplateReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayInput)(nil)).Elem(), IamAccessGroupTemplateVersionPolicyTemplateReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrInput)(nil)).Elem(), IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsHistoryInput)(nil)).Elem(), IamAccountSettingsHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsHistoryArrayInput)(nil)).Elem(), IamAccountSettingsHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsRestrictUserDomainInput)(nil)).Elem(), IamAccountSettingsRestrictUserDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsRestrictUserDomainArrayInput)(nil)).Elem(), IamAccountSettingsRestrictUserDomainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsInput)(nil)).Elem(), IamAccountSettingsTemplateAccountSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsPtrInput)(nil)).Elem(), IamAccountSettingsTemplateAccountSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsInput)(nil)).Elem(), IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrInput)(nil)).Elem(), IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionInput)(nil)).Elem(), IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayInput)(nil)).Elem(), IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsUserMfaInput)(nil)).Elem(), IamAccountSettingsTemplateAccountSettingsUserMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAccountSettingsUserMfaArrayInput)(nil)).Elem(), IamAccountSettingsTemplateAccountSettingsUserMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentContextInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentContextArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentContextArrayInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentContextArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentHistoryInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentHistoryArrayInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceArrayInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentResourceAccountSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentResourceAccountSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput)(nil)).Elem(), IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateHistoryInput)(nil)).Elem(), IamAccountSettingsTemplateHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsTemplateHistoryArrayInput)(nil)).Elem(), IamAccountSettingsTemplateHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsUserMfaInput)(nil)).Elem(), IamAccountSettingsUserMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAccountSettingsUserMfaArrayInput)(nil)).Elem(), IamAccountSettingsUserMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceInput)(nil)).Elem(), IamActionControlAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceArrayInput)(nil)).Elem(), IamActionControlAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlArrayInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageArrayInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlErrorMessageErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlErrorMessageErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlResourceCreatedInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentResourceActionControlResourceCreatedArrayInput)(nil)).Elem(), IamActionControlAssignmentResourceActionControlResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentTemplatesInput)(nil)).Elem(), IamActionControlAssignmentTemplatesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlAssignmentTemplatesPtrInput)(nil)).Elem(), IamActionControlAssignmentTemplatesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlTemplateActionControlInput)(nil)).Elem(), IamActionControlTemplateActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlTemplateActionControlArrayInput)(nil)).Elem(), IamActionControlTemplateActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlTemplateVersionActionControlInput)(nil)).Elem(), IamActionControlTemplateVersionActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamActionControlTemplateVersionActionControlArrayInput)(nil)).Elem(), IamActionControlTemplateVersionActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAuthorizationPolicyResourceAttributeInput)(nil)).Elem(), IamAuthorizationPolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAuthorizationPolicyResourceAttributeArrayInput)(nil)).Elem(), IamAuthorizationPolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAuthorizationPolicySubjectAttributeInput)(nil)).Elem(), IamAuthorizationPolicySubjectAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamAuthorizationPolicySubjectAttributeArrayInput)(nil)).Elem(), IamAuthorizationPolicySubjectAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourceInput)(nil)).Elem(), IamPolicyAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourceArrayInput)(nil)).Elem(), IamPolicyAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyArrayInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageArrayInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyErrorMessageErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyErrorMessageErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyResourceCreatedInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentResourcePolicyResourceCreatedArrayInput)(nil)).Elem(), IamPolicyAssignmentResourcePolicyResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentTemplatesInput)(nil)).Elem(), IamPolicyAssignmentTemplatesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyAssignmentTemplatesPtrInput)(nil)).Elem(), IamPolicyAssignmentTemplatesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyInput)(nil)).Elem(), IamPolicyTemplatePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyPtrInput)(nil)).Elem(), IamPolicyTemplatePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyResourceInput)(nil)).Elem(), IamPolicyTemplatePolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyResourceArrayInput)(nil)).Elem(), IamPolicyTemplatePolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyResourceAttributeInput)(nil)).Elem(), IamPolicyTemplatePolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyResourceAttributeArrayInput)(nil)).Elem(), IamPolicyTemplatePolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyResourceTagInput)(nil)).Elem(), IamPolicyTemplatePolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyResourceTagArrayInput)(nil)).Elem(), IamPolicyTemplatePolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyRuleConditionInput)(nil)).Elem(), IamPolicyTemplatePolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyRuleConditionArrayInput)(nil)).Elem(), IamPolicyTemplatePolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyRuleConditionConditionInput)(nil)).Elem(), IamPolicyTemplatePolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicyRuleConditionConditionArrayInput)(nil)).Elem(), IamPolicyTemplatePolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicySubjectInput)(nil)).Elem(), IamPolicyTemplatePolicySubjectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicySubjectArrayInput)(nil)).Elem(), IamPolicyTemplatePolicySubjectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicySubjectAttributeInput)(nil)).Elem(), IamPolicyTemplatePolicySubjectAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplatePolicySubjectAttributeArrayInput)(nil)).Elem(), IamPolicyTemplatePolicySubjectAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyPtrInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourcePtrInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceAttributeInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceAttributeArrayInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceTagInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyResourceTagArrayInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyRuleConditionInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyRuleConditionArrayInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyRuleConditionConditionInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput)(nil)).Elem(), IamPolicyTemplateVersionPolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicySubjectInput)(nil)).Elem(), IamPolicyTemplateVersionPolicySubjectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicySubjectArrayInput)(nil)).Elem(), IamPolicyTemplateVersionPolicySubjectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicySubjectAttributeInput)(nil)).Elem(), IamPolicyTemplateVersionPolicySubjectAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamPolicyTemplateVersionPolicySubjectAttributeArrayInput)(nil)).Elem(), IamPolicyTemplateVersionPolicySubjectAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyResourceAttributeInput)(nil)).Elem(), IamServicePolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyResourceAttributeArrayInput)(nil)).Elem(), IamServicePolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyResourceTagInput)(nil)).Elem(), IamServicePolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyResourceTagArrayInput)(nil)).Elem(), IamServicePolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyResourcesInput)(nil)).Elem(), IamServicePolicyResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyResourcesPtrInput)(nil)).Elem(), IamServicePolicyResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyRuleConditionInput)(nil)).Elem(), IamServicePolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyRuleConditionArrayInput)(nil)).Elem(), IamServicePolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyRuleConditionConditionInput)(nil)).Elem(), IamServicePolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamServicePolicyRuleConditionConditionArrayInput)(nil)).Elem(), IamServicePolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileClaimRuleConditionInput)(nil)).Elem(), IamTrustedProfileClaimRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileClaimRuleConditionArrayInput)(nil)).Elem(), IamTrustedProfileClaimRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileHistoryInput)(nil)).Elem(), IamTrustedProfileHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileHistoryArrayInput)(nil)).Elem(), IamTrustedProfileHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileIdentitiesIdentityInput)(nil)).Elem(), IamTrustedProfileIdentitiesIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileIdentitiesIdentityArrayInput)(nil)).Elem(), IamTrustedProfileIdentitiesIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileLinkLinkInput)(nil)).Elem(), IamTrustedProfileLinkLinkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileLinkLinkPtrInput)(nil)).Elem(), IamTrustedProfileLinkLinkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyResourceAttributeInput)(nil)).Elem(), IamTrustedProfilePolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyResourceAttributeArrayInput)(nil)).Elem(), IamTrustedProfilePolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyResourceTagInput)(nil)).Elem(), IamTrustedProfilePolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyResourceTagArrayInput)(nil)).Elem(), IamTrustedProfilePolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyResourcesInput)(nil)).Elem(), IamTrustedProfilePolicyResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyResourcesPtrInput)(nil)).Elem(), IamTrustedProfilePolicyResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyRuleConditionInput)(nil)).Elem(), IamTrustedProfilePolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyRuleConditionArrayInput)(nil)).Elem(), IamTrustedProfilePolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyRuleConditionConditionInput)(nil)).Elem(), IamTrustedProfilePolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfilePolicyRuleConditionConditionArrayInput)(nil)).Elem(), IamTrustedProfilePolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentContextInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentContextArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentContextArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentContextArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentHistoryInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentHistoryArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput)(nil)).Elem(), IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateHistoryInput)(nil)).Elem(), IamTrustedProfileTemplateHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateHistoryArrayInput)(nil)).Elem(), IamTrustedProfileTemplateHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplatePolicyTemplateReferenceInput)(nil)).Elem(), IamTrustedProfileTemplatePolicyTemplateReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplatePolicyTemplateReferenceArrayInput)(nil)).Elem(), IamTrustedProfileTemplatePolicyTemplateReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateProfileInput)(nil)).Elem(), IamTrustedProfileTemplateProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateProfilePtrInput)(nil)).Elem(), IamTrustedProfileTemplateProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateProfileIdentityInput)(nil)).Elem(), IamTrustedProfileTemplateProfileIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateProfileIdentityArrayInput)(nil)).Elem(), IamTrustedProfileTemplateProfileIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateProfileRuleInput)(nil)).Elem(), IamTrustedProfileTemplateProfileRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateProfileRuleArrayInput)(nil)).Elem(), IamTrustedProfileTemplateProfileRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateProfileRuleConditionInput)(nil)).Elem(), IamTrustedProfileTemplateProfileRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamTrustedProfileTemplateProfileRuleConditionArrayInput)(nil)).Elem(), IamTrustedProfileTemplateProfileRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteClassicInfraRoleInput)(nil)).Elem(), IamUserInviteClassicInfraRoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteClassicInfraRoleArrayInput)(nil)).Elem(), IamUserInviteClassicInfraRoleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteCloudFoundryRoleInput)(nil)).Elem(), IamUserInviteCloudFoundryRoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteCloudFoundryRoleArrayInput)(nil)).Elem(), IamUserInviteCloudFoundryRoleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteCloudFoundryRoleSpaceInput)(nil)).Elem(), IamUserInviteCloudFoundryRoleSpaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteCloudFoundryRoleSpaceArrayInput)(nil)).Elem(), IamUserInviteCloudFoundryRoleSpaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteIamPolicyInput)(nil)).Elem(), IamUserInviteIamPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteIamPolicyArrayInput)(nil)).Elem(), IamUserInviteIamPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteIamPolicyResourceInput)(nil)).Elem(), IamUserInviteIamPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteIamPolicyResourceArrayInput)(nil)).Elem(), IamUserInviteIamPolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserInput)(nil)).Elem(), IamUserInviteInvitedUserArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserArrayInput)(nil)).Elem(), IamUserInviteInvitedUserArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupInput)(nil)).Elem(), IamUserInviteInvitedUserAccessGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupArrayInput)(nil)).Elem(), IamUserInviteInvitedUserAccessGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupPolicyInput)(nil)).Elem(), IamUserInviteInvitedUserAccessGroupPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupPolicyArrayInput)(nil)).Elem(), IamUserInviteInvitedUserAccessGroupPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupPolicyResourceInput)(nil)).Elem(), IamUserInviteInvitedUserAccessGroupPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserAccessGroupPolicyResourceArrayInput)(nil)).Elem(), IamUserInviteInvitedUserAccessGroupPolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserUserPolicyInput)(nil)).Elem(), IamUserInviteInvitedUserUserPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserUserPolicyArrayInput)(nil)).Elem(), IamUserInviteInvitedUserUserPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserUserPolicyResourceInput)(nil)).Elem(), IamUserInviteInvitedUserUserPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserInviteInvitedUserUserPolicyResourceArrayInput)(nil)).Elem(), IamUserInviteInvitedUserUserPolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyResourceAttributeInput)(nil)).Elem(), IamUserPolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyResourceAttributeArrayInput)(nil)).Elem(), IamUserPolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyResourceTagInput)(nil)).Elem(), IamUserPolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyResourceTagArrayInput)(nil)).Elem(), IamUserPolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyResourcesInput)(nil)).Elem(), IamUserPolicyResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyResourcesPtrInput)(nil)).Elem(), IamUserPolicyResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyRuleConditionInput)(nil)).Elem(), IamUserPolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyRuleConditionArrayInput)(nil)).Elem(), IamUserPolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyRuleConditionConditionInput)(nil)).Elem(), IamUserPolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IamUserPolicyRuleConditionConditionArrayInput)(nil)).Elem(), IamUserPolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyHealthReasonInput)(nil)).Elem(), IsBackupPolicyHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyHealthReasonArrayInput)(nil)).Elem(), IsBackupPolicyHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyPlanClonePolicyInput)(nil)).Elem(), IsBackupPolicyPlanClonePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyPlanClonePolicyPtrInput)(nil)).Elem(), IsBackupPolicyPlanClonePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyPlanDeletionTriggerInput)(nil)).Elem(), IsBackupPolicyPlanDeletionTriggerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyPlanDeletionTriggerPtrInput)(nil)).Elem(), IsBackupPolicyPlanDeletionTriggerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyPlanRemoteRegionPolicyInput)(nil)).Elem(), IsBackupPolicyPlanRemoteRegionPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyPlanRemoteRegionPolicyArrayInput)(nil)).Elem(), IsBackupPolicyPlanRemoteRegionPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyScopeInput)(nil)).Elem(), IsBackupPolicyScopeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBackupPolicyScopePtrInput)(nil)).Elem(), IsBackupPolicyScopeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerActionStatusReasonInput)(nil)).Elem(), IsBareMetalServerActionStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerActionStatusReasonArrayInput)(nil)).Elem(), IsBareMetalServerActionStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerCpusInput)(nil)).Elem(), IsBareMetalServerCpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerCpusArrayInput)(nil)).Elem(), IsBareMetalServerCpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDefaultTrustedProfileInput)(nil)).Elem(), IsBareMetalServerDefaultTrustedProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDefaultTrustedProfilePtrInput)(nil)).Elem(), IsBareMetalServerDefaultTrustedProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDefaultTrustedProfileTargetInput)(nil)).Elem(), IsBareMetalServerDefaultTrustedProfileTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDefaultTrustedProfileTargetPtrInput)(nil)).Elem(), IsBareMetalServerDefaultTrustedProfileTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDiskTypeInput)(nil)).Elem(), IsBareMetalServerDiskTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDiskTypeArrayInput)(nil)).Elem(), IsBareMetalServerDiskTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDiskAllowedUseInput)(nil)).Elem(), IsBareMetalServerDiskAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerDiskAllowedUseArrayInput)(nil)).Elem(), IsBareMetalServerDiskAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerHealthReasonInput)(nil)).Elem(), IsBareMetalServerHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerHealthReasonArrayInput)(nil)).Elem(), IsBareMetalServerHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerInitializationDefaultTrustedProfileInput)(nil)).Elem(), IsBareMetalServerInitializationDefaultTrustedProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerInitializationDefaultTrustedProfilePtrInput)(nil)).Elem(), IsBareMetalServerInitializationDefaultTrustedProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerInitializationDefaultTrustedProfileTargetInput)(nil)).Elem(), IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrInput)(nil)).Elem(), IsBareMetalServerInitializationDefaultTrustedProfileTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerMetadataServiceInput)(nil)).Elem(), IsBareMetalServerMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerMetadataServicePtrInput)(nil)).Elem(), IsBareMetalServerMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentTypeInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentTypeArrayInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentDeletedInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentDeletedArrayInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceTypeInput)(nil)).Elem(), IsBareMetalServerNetworkInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceTypeArrayInput)(nil)).Elem(), IsBareMetalServerNetworkInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpInput)(nil)).Elem(), IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayInput)(nil)).Elem(), IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpInput)(nil)).Elem(), IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrInput)(nil)).Elem(), IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceFloatingIpTypeInput)(nil)).Elem(), IsBareMetalServerNetworkInterfaceFloatingIpTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput)(nil)).Elem(), IsBareMetalServerNetworkInterfaceFloatingIpTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsBareMetalServerNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsBareMetalServerNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentPtrInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentDeletedInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkInterfaceInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkInterfacePtrInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationInput)(nil)).Elem(), IsBareMetalServerReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationArrayInput)(nil)).Elem(), IsBareMetalServerReservationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationAffinityInput)(nil)).Elem(), IsBareMetalServerReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationAffinityArrayInput)(nil)).Elem(), IsBareMetalServerReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationAffinityPoolInput)(nil)).Elem(), IsBareMetalServerReservationAffinityPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationAffinityPoolArrayInput)(nil)).Elem(), IsBareMetalServerReservationAffinityPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationAffinityPoolDeletedInput)(nil)).Elem(), IsBareMetalServerReservationAffinityPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationAffinityPoolDeletedArrayInput)(nil)).Elem(), IsBareMetalServerReservationAffinityPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationDeletedInput)(nil)).Elem(), IsBareMetalServerReservationDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerReservationDeletedArrayInput)(nil)).Elem(), IsBareMetalServerReservationDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerStatusReasonInput)(nil)).Elem(), IsBareMetalServerStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerStatusReasonArrayInput)(nil)).Elem(), IsBareMetalServerStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerTrustedPlatformModuleInput)(nil)).Elem(), IsBareMetalServerTrustedPlatformModuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsBareMetalServerTrustedPlatformModulePtrInput)(nil)).Elem(), IsBareMetalServerTrustedPlatformModuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceLifecycleReasonInput)(nil)).Elem(), IsClusterNetworkInterfaceLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceLifecycleReasonArrayInput)(nil)).Elem(), IsClusterNetworkInterfaceLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsClusterNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsClusterNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceSubnetInput)(nil)).Elem(), IsClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceSubnetPtrInput)(nil)).Elem(), IsClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), IsClusterNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), IsClusterNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceTargetInput)(nil)).Elem(), IsClusterNetworkInterfaceTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceTargetArrayInput)(nil)).Elem(), IsClusterNetworkInterfaceTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceVpcInput)(nil)).Elem(), IsClusterNetworkInterfaceVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceVpcArrayInput)(nil)).Elem(), IsClusterNetworkInterfaceVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceVpcDeletedInput)(nil)).Elem(), IsClusterNetworkInterfaceVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceVpcDeletedArrayInput)(nil)).Elem(), IsClusterNetworkInterfaceVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceZoneInput)(nil)).Elem(), IsClusterNetworkInterfaceZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkInterfaceZoneArrayInput)(nil)).Elem(), IsClusterNetworkInterfaceZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkLifecycleReasonInput)(nil)).Elem(), IsClusterNetworkLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkLifecycleReasonArrayInput)(nil)).Elem(), IsClusterNetworkLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetLifecycleReasonInput)(nil)).Elem(), IsClusterNetworkSubnetLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetLifecycleReasonArrayInput)(nil)).Elem(), IsClusterNetworkSubnetLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetPrefixesInput)(nil)).Elem(), IsClusterNetworkSubnetPrefixesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetPrefixesPtrInput)(nil)).Elem(), IsClusterNetworkSubnetPrefixesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetReservedIpLifecycleReasonInput)(nil)).Elem(), IsClusterNetworkSubnetReservedIpLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput)(nil)).Elem(), IsClusterNetworkSubnetReservedIpLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetReservedIpTargetInput)(nil)).Elem(), IsClusterNetworkSubnetReservedIpTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetReservedIpTargetArrayInput)(nil)).Elem(), IsClusterNetworkSubnetReservedIpTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetReservedIpTargetDeletedInput)(nil)).Elem(), IsClusterNetworkSubnetReservedIpTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkSubnetReservedIpTargetDeletedArrayInput)(nil)).Elem(), IsClusterNetworkSubnetReservedIpTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkVpcInput)(nil)).Elem(), IsClusterNetworkVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkVpcPtrInput)(nil)).Elem(), IsClusterNetworkVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkVpcDeletedInput)(nil)).Elem(), IsClusterNetworkVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsClusterNetworkVpcDeletedArrayInput)(nil)).Elem(), IsClusterNetworkVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostAvailableVcpusInput)(nil)).Elem(), IsDedicatedHostAvailableVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostAvailableVcpusArrayInput)(nil)).Elem(), IsDedicatedHostAvailableVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskInput)(nil)).Elem(), IsDedicatedHostDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskArrayInput)(nil)).Elem(), IsDedicatedHostDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskInstanceDiskInput)(nil)).Elem(), IsDedicatedHostDiskInstanceDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskInstanceDiskArrayInput)(nil)).Elem(), IsDedicatedHostDiskInstanceDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskInstanceDiskDeletedInput)(nil)).Elem(), IsDedicatedHostDiskInstanceDiskDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskInstanceDiskDeletedArrayInput)(nil)).Elem(), IsDedicatedHostDiskInstanceDiskDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskManagementDiskInput)(nil)).Elem(), IsDedicatedHostDiskManagementDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostDiskManagementDiskArrayInput)(nil)).Elem(), IsDedicatedHostDiskManagementDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostGroupDedicatedHostInput)(nil)).Elem(), IsDedicatedHostGroupDedicatedHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostGroupDedicatedHostArrayInput)(nil)).Elem(), IsDedicatedHostGroupDedicatedHostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostGroupDedicatedHostDeletedInput)(nil)).Elem(), IsDedicatedHostGroupDedicatedHostDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostGroupDedicatedHostDeletedArrayInput)(nil)).Elem(), IsDedicatedHostGroupDedicatedHostDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostGroupSupportedInstanceProfileInput)(nil)).Elem(), IsDedicatedHostGroupSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostGroupSupportedInstanceProfileArrayInput)(nil)).Elem(), IsDedicatedHostGroupSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostInstanceInput)(nil)).Elem(), IsDedicatedHostInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostInstanceArrayInput)(nil)).Elem(), IsDedicatedHostInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostInstanceDeletedInput)(nil)).Elem(), IsDedicatedHostInstanceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostInstanceDeletedArrayInput)(nil)).Elem(), IsDedicatedHostInstanceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostNumaInput)(nil)).Elem(), IsDedicatedHostNumaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostNumaArrayInput)(nil)).Elem(), IsDedicatedHostNumaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostNumaNodeInput)(nil)).Elem(), IsDedicatedHostNumaNodeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostNumaNodeArrayInput)(nil)).Elem(), IsDedicatedHostNumaNodeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostSupportedInstanceProfileInput)(nil)).Elem(), IsDedicatedHostSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostSupportedInstanceProfileArrayInput)(nil)).Elem(), IsDedicatedHostSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostVcpusInput)(nil)).Elem(), IsDedicatedHostVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsDedicatedHostVcpusArrayInput)(nil)).Elem(), IsDedicatedHostVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsFloatingIpTargetListInput)(nil)).Elem(), IsFloatingIpTargetListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsFloatingIpTargetListArrayInput)(nil)).Elem(), IsFloatingIpTargetListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsFloatingIpTargetListDeletedInput)(nil)).Elem(), IsFloatingIpTargetListDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsFloatingIpTargetListDeletedArrayInput)(nil)).Elem(), IsFloatingIpTargetListDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsFloatingIpTargetListPrimaryIpInput)(nil)).Elem(), IsFloatingIpTargetListPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsFloatingIpTargetListPrimaryIpArrayInput)(nil)).Elem(), IsFloatingIpTargetListPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsIkePolicyVpnConnectionInput)(nil)).Elem(), IsIkePolicyVpnConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsIkePolicyVpnConnectionArrayInput)(nil)).Elem(), IsIkePolicyVpnConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsImageAllowedUseInput)(nil)).Elem(), IsImageAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsImageAllowedUsePtrInput)(nil)).Elem(), IsImageAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsImageExportJobStatusReasonInput)(nil)).Elem(), IsImageExportJobStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsImageExportJobStatusReasonArrayInput)(nil)).Elem(), IsImageExportJobStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsImageExportJobStorageBucketInput)(nil)).Elem(), IsImageExportJobStorageBucketArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsImageExportJobStorageBucketPtrInput)(nil)).Elem(), IsImageExportJobStorageBucketArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsImageExportJobStorageObjectInput)(nil)).Elem(), IsImageExportJobStorageObjectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsImageExportJobStorageObjectArrayInput)(nil)).Elem(), IsImageExportJobStorageObjectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceActionStatusReasonInput)(nil)).Elem(), IsInstanceActionStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceActionStatusReasonArrayInput)(nil)).Elem(), IsInstanceActionStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceBootVolumeInput)(nil)).Elem(), IsInstanceBootVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceBootVolumePtrInput)(nil)).Elem(), IsInstanceBootVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceBootVolumeAllowedUseInput)(nil)).Elem(), IsInstanceBootVolumeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceBootVolumeAllowedUsePtrInput)(nil)).Elem(), IsInstanceBootVolumeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceCatalogOfferingInput)(nil)).Elem(), IsInstanceCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceCatalogOfferingPtrInput)(nil)).Elem(), IsInstanceCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceCatalogOfferingDeletedInput)(nil)).Elem(), IsInstanceCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceCatalogOfferingDeletedArrayInput)(nil)).Elem(), IsInstanceCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkInput)(nil)).Elem(), IsInstanceClusterNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkArrayInput)(nil)).Elem(), IsInstanceClusterNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentTypeInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentTypeArrayInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentBeforeInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentBeforeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentBeforePtrInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentBeforeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentLifecycleReasonInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput)(nil)).Elem(), IsInstanceClusterNetworkAttachmentLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkDeletedInput)(nil)).Elem(), IsInstanceClusterNetworkDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceClusterNetworkDeletedArrayInput)(nil)).Elem(), IsInstanceClusterNetworkDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceDiskInput)(nil)).Elem(), IsInstanceDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceDiskArrayInput)(nil)).Elem(), IsInstanceDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceDiskManagementDiskInput)(nil)).Elem(), IsInstanceDiskManagementDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceDiskManagementDiskArrayInput)(nil)).Elem(), IsInstanceDiskManagementDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGpusInput)(nil)).Elem(), IsInstanceGpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGpusArrayInput)(nil)).Elem(), IsInstanceGpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupManagerActionTypeInput)(nil)).Elem(), IsInstanceGroupManagerActionTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupManagerActionTypeArrayInput)(nil)).Elem(), IsInstanceGroupManagerActionTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupMembershipInstanceInput)(nil)).Elem(), IsInstanceGroupMembershipInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupMembershipInstanceArrayInput)(nil)).Elem(), IsInstanceGroupMembershipInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupMembershipInstanceTemplateInput)(nil)).Elem(), IsInstanceGroupMembershipInstanceTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceGroupMembershipInstanceTemplateArrayInput)(nil)).Elem(), IsInstanceGroupMembershipInstanceTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceHealthReasonInput)(nil)).Elem(), IsInstanceHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceHealthReasonArrayInput)(nil)).Elem(), IsInstanceHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceLifecycleReasonInput)(nil)).Elem(), IsInstanceLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceLifecycleReasonArrayInput)(nil)).Elem(), IsInstanceLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceMetadataServiceInput)(nil)).Elem(), IsInstanceMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceMetadataServicePtrInput)(nil)).Elem(), IsInstanceMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentTypeInput)(nil)).Elem(), IsInstanceNetworkAttachmentTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentTypeArrayInput)(nil)).Elem(), IsInstanceNetworkAttachmentTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentDeletedInput)(nil)).Elem(), IsInstanceNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentDeletedArrayInput)(nil)).Elem(), IsInstanceNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentPrimaryIpInput)(nil)).Elem(), IsInstanceNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), IsInstanceNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), IsInstanceNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), IsInstanceNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfaceTypeInput)(nil)).Elem(), IsInstanceNetworkInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfaceTypeArrayInput)(nil)).Elem(), IsInstanceNetworkInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpTypeInput)(nil)).Elem(), IsInstanceNetworkInterfaceFloatingIpTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpTypeArrayInput)(nil)).Elem(), IsInstanceNetworkInterfaceFloatingIpTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpDeletedInput)(nil)).Elem(), IsInstanceNetworkInterfaceFloatingIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfaceFloatingIpDeletedArrayInput)(nil)).Elem(), IsInstanceNetworkInterfaceFloatingIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstanceNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsInstanceNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePlacementTargetInput)(nil)).Elem(), IsInstancePlacementTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePlacementTargetArrayInput)(nil)).Elem(), IsInstancePlacementTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePlacementTargetDeletedInput)(nil)).Elem(), IsInstancePlacementTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePlacementTargetDeletedArrayInput)(nil)).Elem(), IsInstancePlacementTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPtrInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentDeletedInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentDeletedArrayInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPrimaryIpInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkInterfaceInput)(nil)).Elem(), IsInstancePrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkInterfacePtrInput)(nil)).Elem(), IsInstancePrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstancePrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstancePrimaryNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsInstancePrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationInput)(nil)).Elem(), IsInstanceReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationArrayInput)(nil)).Elem(), IsInstanceReservationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationAffinityInput)(nil)).Elem(), IsInstanceReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationAffinityArrayInput)(nil)).Elem(), IsInstanceReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationAffinityPoolInput)(nil)).Elem(), IsInstanceReservationAffinityPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationAffinityPoolArrayInput)(nil)).Elem(), IsInstanceReservationAffinityPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationAffinityPoolDeletedInput)(nil)).Elem(), IsInstanceReservationAffinityPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationAffinityPoolDeletedArrayInput)(nil)).Elem(), IsInstanceReservationAffinityPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationDeletedInput)(nil)).Elem(), IsInstanceReservationDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceReservationDeletedArrayInput)(nil)).Elem(), IsInstanceReservationDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceStatusReasonInput)(nil)).Elem(), IsInstanceStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceStatusReasonArrayInput)(nil)).Elem(), IsInstanceStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateBootVolumeInput)(nil)).Elem(), IsInstanceTemplateBootVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateBootVolumePtrInput)(nil)).Elem(), IsInstanceTemplateBootVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateBootVolumeAllowedUseInput)(nil)).Elem(), IsInstanceTemplateBootVolumeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateBootVolumeAllowedUsePtrInput)(nil)).Elem(), IsInstanceTemplateBootVolumeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateCatalogOfferingInput)(nil)).Elem(), IsInstanceTemplateCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateCatalogOfferingPtrInput)(nil)).Elem(), IsInstanceTemplateCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateCatalogOfferingDeletedInput)(nil)).Elem(), IsInstanceTemplateCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateCatalogOfferingDeletedArrayInput)(nil)).Elem(), IsInstanceTemplateCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentInput)(nil)).Elem(), IsInstanceTemplateClusterNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentArrayInput)(nil)).Elem(), IsInstanceTemplateClusterNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput)(nil)).Elem(), IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput)(nil)).Elem(), IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrInput)(nil)).Elem(), IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateMetadataServiceInput)(nil)).Elem(), IsInstanceTemplateMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateMetadataServicePtrInput)(nil)).Elem(), IsInstanceTemplateMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentArrayInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentDeletedInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentDeletedArrayInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkInterfaceInput)(nil)).Elem(), IsInstanceTemplateNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkInterfaceArrayInput)(nil)).Elem(), IsInstanceTemplateNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstanceTemplateNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsInstanceTemplateNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePlacementTargetInput)(nil)).Elem(), IsInstanceTemplatePlacementTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePlacementTargetArrayInput)(nil)).Elem(), IsInstanceTemplatePlacementTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentPtrInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentDeletedInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkInterfaceInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkInterfacePtrInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateReservationAffinityInput)(nil)).Elem(), IsInstanceTemplateReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateReservationAffinityArrayInput)(nil)).Elem(), IsInstanceTemplateReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateReservationAffinityPoolInput)(nil)).Elem(), IsInstanceTemplateReservationAffinityPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateReservationAffinityPoolArrayInput)(nil)).Elem(), IsInstanceTemplateReservationAffinityPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentInput)(nil)).Elem(), IsInstanceTemplateVolumeAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentArrayInput)(nil)).Elem(), IsInstanceTemplateVolumeAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentVolumePrototypeInput)(nil)).Elem(), IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentVolumePrototypePtrInput)(nil)).Elem(), IsInstanceTemplateVolumeAttachmentVolumePrototypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput)(nil)).Elem(), IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrInput)(nil)).Elem(), IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVcpusInput)(nil)).Elem(), IsInstanceVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVcpusArrayInput)(nil)).Elem(), IsInstanceVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumeAttachmentTypeInput)(nil)).Elem(), IsInstanceVolumeAttachmentTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumeAttachmentTypeArrayInput)(nil)).Elem(), IsInstanceVolumeAttachmentTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumeAttachmentAllowedUseInput)(nil)).Elem(), IsInstanceVolumeAttachmentAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumeAttachmentAllowedUsePtrInput)(nil)).Elem(), IsInstanceVolumeAttachmentAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumePrototypeInput)(nil)).Elem(), IsInstanceVolumePrototypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumePrototypeArrayInput)(nil)).Elem(), IsInstanceVolumePrototypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumePrototypeAllowedUseInput)(nil)).Elem(), IsInstanceVolumePrototypeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsInstanceVolumePrototypeAllowedUsePtrInput)(nil)).Elem(), IsInstanceVolumePrototypeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsIpsecPolicyVpnConnectionInput)(nil)).Elem(), IsIpsecPolicyVpnConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsIpsecPolicyVpnConnectionArrayInput)(nil)).Elem(), IsIpsecPolicyVpnConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbAttachedLoadBalancerPoolMemberInput)(nil)).Elem(), IsLbAttachedLoadBalancerPoolMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbAttachedLoadBalancerPoolMemberArrayInput)(nil)).Elem(), IsLbAttachedLoadBalancerPoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbAttachedLoadBalancerPoolMemberDeletedInput)(nil)).Elem(), IsLbAttachedLoadBalancerPoolMemberDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbAttachedLoadBalancerPoolMemberDeletedArrayInput)(nil)).Elem(), IsLbAttachedLoadBalancerPoolMemberDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbDnsInput)(nil)).Elem(), IsLbDnsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbDnsPtrInput)(nil)).Elem(), IsLbDnsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerHttpsRedirectInput)(nil)).Elem(), IsLbListenerHttpsRedirectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerHttpsRedirectPtrInput)(nil)).Elem(), IsLbListenerHttpsRedirectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerHttpsRedirectListenerInput)(nil)).Elem(), IsLbListenerHttpsRedirectListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerHttpsRedirectListenerPtrInput)(nil)).Elem(), IsLbListenerHttpsRedirectListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerHttpsRedirectListenerDeletedInput)(nil)).Elem(), IsLbListenerHttpsRedirectListenerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerHttpsRedirectListenerDeletedArrayInput)(nil)).Elem(), IsLbListenerHttpsRedirectListenerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyRuleTypeInput)(nil)).Elem(), IsLbListenerPolicyRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyRuleTypeArrayInput)(nil)).Elem(), IsLbListenerPolicyRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyTargetInput)(nil)).Elem(), IsLbListenerPolicyTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyTargetPtrInput)(nil)).Elem(), IsLbListenerPolicyTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyTargetDeletedInput)(nil)).Elem(), IsLbListenerPolicyTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyTargetDeletedArrayInput)(nil)).Elem(), IsLbListenerPolicyTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyTargetListenerInput)(nil)).Elem(), IsLbListenerPolicyTargetListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyTargetListenerPtrInput)(nil)).Elem(), IsLbListenerPolicyTargetListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyTargetListenerDeletedInput)(nil)).Elem(), IsLbListenerPolicyTargetListenerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbListenerPolicyTargetListenerDeletedArrayInput)(nil)).Elem(), IsLbListenerPolicyTargetListenerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPoolFailsafePolicyInput)(nil)).Elem(), IsLbPoolFailsafePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPoolFailsafePolicyPtrInput)(nil)).Elem(), IsLbPoolFailsafePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPoolFailsafePolicyTargetInput)(nil)).Elem(), IsLbPoolFailsafePolicyTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPoolFailsafePolicyTargetPtrInput)(nil)).Elem(), IsLbPoolFailsafePolicyTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPoolFailsafePolicyTargetDeletedInput)(nil)).Elem(), IsLbPoolFailsafePolicyTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPoolFailsafePolicyTargetDeletedArrayInput)(nil)).Elem(), IsLbPoolFailsafePolicyTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPrivateIpInput)(nil)).Elem(), IsLbPrivateIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsLbPrivateIpArrayInput)(nil)).Elem(), IsLbPrivateIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleTypeInput)(nil)).Elem(), IsNetworkAclRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleTypeArrayInput)(nil)).Elem(), IsNetworkAclRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleIcmpInput)(nil)).Elem(), IsNetworkAclRuleIcmpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleIcmpPtrInput)(nil)).Elem(), IsNetworkAclRuleIcmpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleTcpInput)(nil)).Elem(), IsNetworkAclRuleTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleTcpPtrInput)(nil)).Elem(), IsNetworkAclRuleTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleUdpInput)(nil)).Elem(), IsNetworkAclRuleUdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsNetworkAclRuleUdpPtrInput)(nil)).Elem(), IsNetworkAclRuleUdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeResourceGroupInput)(nil)).Elem(), IsPublicAddressRangeResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeResourceGroupPtrInput)(nil)).Elem(), IsPublicAddressRangeResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeTargetInput)(nil)).Elem(), IsPublicAddressRangeTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeTargetPtrInput)(nil)).Elem(), IsPublicAddressRangeTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeTargetVpcInput)(nil)).Elem(), IsPublicAddressRangeTargetVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeTargetVpcPtrInput)(nil)).Elem(), IsPublicAddressRangeTargetVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeTargetVpcDeletedInput)(nil)).Elem(), IsPublicAddressRangeTargetVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeTargetVpcDeletedArrayInput)(nil)).Elem(), IsPublicAddressRangeTargetVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeTargetZoneInput)(nil)).Elem(), IsPublicAddressRangeTargetZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsPublicAddressRangeTargetZonePtrInput)(nil)).Elem(), IsPublicAddressRangeTargetZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateCapacityInput)(nil)).Elem(), IsReservationActivateCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateCapacityArrayInput)(nil)).Elem(), IsReservationActivateCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateCommittedUseInput)(nil)).Elem(), IsReservationActivateCommittedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateCommittedUseArrayInput)(nil)).Elem(), IsReservationActivateCommittedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateProfileInput)(nil)).Elem(), IsReservationActivateProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateProfileArrayInput)(nil)).Elem(), IsReservationActivateProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateResourceGroupInput)(nil)).Elem(), IsReservationActivateResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateResourceGroupArrayInput)(nil)).Elem(), IsReservationActivateResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateStatusReasonInput)(nil)).Elem(), IsReservationActivateStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationActivateStatusReasonArrayInput)(nil)).Elem(), IsReservationActivateStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationCapacityInput)(nil)).Elem(), IsReservationCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationCapacityPtrInput)(nil)).Elem(), IsReservationCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationCommittedUseInput)(nil)).Elem(), IsReservationCommittedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationCommittedUsePtrInput)(nil)).Elem(), IsReservationCommittedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationProfileInput)(nil)).Elem(), IsReservationProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationProfilePtrInput)(nil)).Elem(), IsReservationProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationResourceGroupInput)(nil)).Elem(), IsReservationResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationResourceGroupPtrInput)(nil)).Elem(), IsReservationResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationStatusReasonInput)(nil)).Elem(), IsReservationStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsReservationStatusReasonArrayInput)(nil)).Elem(), IsReservationStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleTypeInput)(nil)).Elem(), IsSecurityGroupRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleTypeArrayInput)(nil)).Elem(), IsSecurityGroupRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleIcmpInput)(nil)).Elem(), IsSecurityGroupRuleIcmpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleIcmpPtrInput)(nil)).Elem(), IsSecurityGroupRuleIcmpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleTcpInput)(nil)).Elem(), IsSecurityGroupRuleTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleTcpPtrInput)(nil)).Elem(), IsSecurityGroupRuleTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleUdpInput)(nil)).Elem(), IsSecurityGroupRuleUdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSecurityGroupRuleUdpPtrInput)(nil)).Elem(), IsSecurityGroupRuleUdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareAccessorBindingInput)(nil)).Elem(), IsShareAccessorBindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareAccessorBindingArrayInput)(nil)).Elem(), IsShareAccessorBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareInitialOwnerInput)(nil)).Elem(), IsShareInitialOwnerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareInitialOwnerPtrInput)(nil)).Elem(), IsShareInitialOwnerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareLatestJobInput)(nil)).Elem(), IsShareLatestJobArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareLatestJobArrayInput)(nil)).Elem(), IsShareLatestJobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareLatestJobStatusReasonInput)(nil)).Elem(), IsShareLatestJobStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareLatestJobStatusReasonArrayInput)(nil)).Elem(), IsShareLatestJobStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareLatestSyncInput)(nil)).Elem(), IsShareLatestSyncArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareLatestSyncArrayInput)(nil)).Elem(), IsShareLatestSyncArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareLifecycleReasonInput)(nil)).Elem(), IsShareLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareLifecycleReasonArrayInput)(nil)).Elem(), IsShareLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareMountTargetTypeInput)(nil)).Elem(), IsShareMountTargetTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareMountTargetTypeArrayInput)(nil)).Elem(), IsShareMountTargetTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterfaceInput)(nil)).Elem(), IsShareMountTargetVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterfacePtrInput)(nil)).Elem(), IsShareMountTargetVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterfaceArrayInput)(nil)).Elem(), IsShareMountTargetVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsShareMountTargetVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareInput)(nil)).Elem(), IsShareOriginShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginSharePtrInput)(nil)).Elem(), IsShareOriginShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareDeletedInput)(nil)).Elem(), IsShareOriginShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareDeletedArrayInput)(nil)).Elem(), IsShareOriginShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareRemoteInput)(nil)).Elem(), IsShareOriginShareRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareRemoteArrayInput)(nil)).Elem(), IsShareOriginShareRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareRemoteAccountInput)(nil)).Elem(), IsShareOriginShareRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareRemoteAccountArrayInput)(nil)).Elem(), IsShareOriginShareRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareRemoteRegionInput)(nil)).Elem(), IsShareOriginShareRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareOriginShareRemoteRegionArrayInput)(nil)).Elem(), IsShareOriginShareRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareInput)(nil)).Elem(), IsShareReplicaShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaSharePtrInput)(nil)).Elem(), IsShareReplicaShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareMountTargetInput)(nil)).Elem(), IsShareReplicaShareMountTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareMountTargetArrayInput)(nil)).Elem(), IsShareReplicaShareMountTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareMountTargetVirtualNetworkInterfaceInput)(nil)).Elem(), IsShareReplicaShareMountTargetVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayInput)(nil)).Elem(), IsShareReplicaShareMountTargetVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareReplicationStatusReasonInput)(nil)).Elem(), IsShareReplicaShareReplicationStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicaShareReplicationStatusReasonArrayInput)(nil)).Elem(), IsShareReplicaShareReplicationStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicationStatusReasonInput)(nil)).Elem(), IsShareReplicationStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareReplicationStatusReasonArrayInput)(nil)).Elem(), IsShareReplicationStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanInput)(nil)).Elem(), IsShareSnapshotBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanArrayInput)(nil)).Elem(), IsShareSnapshotBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanDeletedInput)(nil)).Elem(), IsShareSnapshotBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), IsShareSnapshotBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanRemoteInput)(nil)).Elem(), IsShareSnapshotBackupPolicyPlanRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanRemoteArrayInput)(nil)).Elem(), IsShareSnapshotBackupPolicyPlanRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanRemoteRegionInput)(nil)).Elem(), IsShareSnapshotBackupPolicyPlanRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput)(nil)).Elem(), IsShareSnapshotBackupPolicyPlanRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotResourceGroupInput)(nil)).Elem(), IsShareSnapshotResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotResourceGroupArrayInput)(nil)).Elem(), IsShareSnapshotResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotStatusReasonInput)(nil)).Elem(), IsShareSnapshotStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotStatusReasonArrayInput)(nil)).Elem(), IsShareSnapshotStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotZoneInput)(nil)).Elem(), IsShareSnapshotZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSnapshotZoneArrayInput)(nil)).Elem(), IsShareSnapshotZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSourceSnapshotInput)(nil)).Elem(), IsShareSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSourceSnapshotPtrInput)(nil)).Elem(), IsShareSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSourceSnapshotDeletedInput)(nil)).Elem(), IsShareSourceSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsShareSourceSnapshotDeletedArrayInput)(nil)).Elem(), IsShareSourceSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotAllowedUseInput)(nil)).Elem(), IsSnapshotAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotAllowedUsePtrInput)(nil)).Elem(), IsSnapshotAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotBackupPolicyPlanInput)(nil)).Elem(), IsSnapshotBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotBackupPolicyPlanArrayInput)(nil)).Elem(), IsSnapshotBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotBackupPolicyPlanDeletedInput)(nil)).Elem(), IsSnapshotBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), IsSnapshotBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCatalogOfferingInput)(nil)).Elem(), IsSnapshotCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCatalogOfferingArrayInput)(nil)).Elem(), IsSnapshotCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCatalogOfferingDeletedInput)(nil)).Elem(), IsSnapshotCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCatalogOfferingDeletedArrayInput)(nil)).Elem(), IsSnapshotCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanInput)(nil)).Elem(), IsSnapshotConsistencyGroupBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanArrayInput)(nil)).Elem(), IsSnapshotConsistencyGroupBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput)(nil)).Elem(), IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput)(nil)).Elem(), IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput)(nil)).Elem(), IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotInput)(nil)).Elem(), IsSnapshotConsistencyGroupSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotArrayInput)(nil)).Elem(), IsSnapshotConsistencyGroupSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceInput)(nil)).Elem(), IsSnapshotConsistencyGroupSnapshotReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceArrayInput)(nil)).Elem(), IsSnapshotConsistencyGroupSnapshotReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceDeletedInput)(nil)).Elem(), IsSnapshotConsistencyGroupSnapshotReferenceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayInput)(nil)).Elem(), IsSnapshotConsistencyGroupSnapshotReferenceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceRemoteInput)(nil)).Elem(), IsSnapshotConsistencyGroupSnapshotReferenceRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayInput)(nil)).Elem(), IsSnapshotConsistencyGroupSnapshotReferenceRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCopyInput)(nil)).Elem(), IsSnapshotCopyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCopyArrayInput)(nil)).Elem(), IsSnapshotCopyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCopyDeletedInput)(nil)).Elem(), IsSnapshotCopyDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCopyDeletedArrayInput)(nil)).Elem(), IsSnapshotCopyDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCopyRemoteInput)(nil)).Elem(), IsSnapshotCopyRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotCopyRemoteArrayInput)(nil)).Elem(), IsSnapshotCopyRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSnapshotConsistencyGroupInput)(nil)).Elem(), IsSnapshotSnapshotConsistencyGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSnapshotConsistencyGroupArrayInput)(nil)).Elem(), IsSnapshotSnapshotConsistencyGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSnapshotConsistencyGroupDeletedInput)(nil)).Elem(), IsSnapshotSnapshotConsistencyGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSnapshotConsistencyGroupDeletedArrayInput)(nil)).Elem(), IsSnapshotSnapshotConsistencyGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSourceSnapshotInput)(nil)).Elem(), IsSnapshotSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSourceSnapshotArrayInput)(nil)).Elem(), IsSnapshotSourceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSourceSnapshotDeletedInput)(nil)).Elem(), IsSnapshotSourceSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSourceSnapshotDeletedArrayInput)(nil)).Elem(), IsSnapshotSourceSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSourceSnapshotRemoteInput)(nil)).Elem(), IsSnapshotSourceSnapshotRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSnapshotSourceSnapshotRemoteArrayInput)(nil)).Elem(), IsSnapshotSourceSnapshotRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleInput)(nil)).Elem(), IsSubnetNetworkAclAttachmentRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleArrayInput)(nil)).Elem(), IsSubnetNetworkAclAttachmentRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleIcmpInput)(nil)).Elem(), IsSubnetNetworkAclAttachmentRuleIcmpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleIcmpArrayInput)(nil)).Elem(), IsSubnetNetworkAclAttachmentRuleIcmpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleTcpInput)(nil)).Elem(), IsSubnetNetworkAclAttachmentRuleTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleTcpArrayInput)(nil)).Elem(), IsSubnetNetworkAclAttachmentRuleTcpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleUdpInput)(nil)).Elem(), IsSubnetNetworkAclAttachmentRuleUdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetNetworkAclAttachmentRuleUdpArrayInput)(nil)).Elem(), IsSubnetNetworkAclAttachmentRuleUdpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetRoutingTableAttachmentResourceGroupInput)(nil)).Elem(), IsSubnetRoutingTableAttachmentResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetRoutingTableAttachmentResourceGroupArrayInput)(nil)).Elem(), IsSubnetRoutingTableAttachmentResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetRoutingTableAttachmentRouteInput)(nil)).Elem(), IsSubnetRoutingTableAttachmentRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetRoutingTableAttachmentRouteArrayInput)(nil)).Elem(), IsSubnetRoutingTableAttachmentRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetRoutingTableAttachmentSubnetInput)(nil)).Elem(), IsSubnetRoutingTableAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsSubnetRoutingTableAttachmentSubnetArrayInput)(nil)).Elem(), IsSubnetRoutingTableAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayIpTypeInput)(nil)).Elem(), IsVirtualEndpointGatewayIpTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayIpTypeArrayInput)(nil)).Elem(), IsVirtualEndpointGatewayIpTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayIpTargetInput)(nil)).Elem(), IsVirtualEndpointGatewayIpTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayIpTargetArrayInput)(nil)).Elem(), IsVirtualEndpointGatewayIpTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayLifecycleReasonInput)(nil)).Elem(), IsVirtualEndpointGatewayLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayLifecycleReasonArrayInput)(nil)).Elem(), IsVirtualEndpointGatewayLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayTargetInput)(nil)).Elem(), IsVirtualEndpointGatewayTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualEndpointGatewayTargetPtrInput)(nil)).Elem(), IsVirtualEndpointGatewayTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceFloatingIpDeletedInput)(nil)).Elem(), IsVirtualNetworkInterfaceFloatingIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceFloatingIpDeletedArrayInput)(nil)).Elem(), IsVirtualNetworkInterfaceFloatingIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceIpTypeInput)(nil)).Elem(), IsVirtualNetworkInterfaceIpTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceIpTypeArrayInput)(nil)).Elem(), IsVirtualNetworkInterfaceIpTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), IsVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), IsVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), IsVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfacePrimaryIpPtrInput)(nil)).Elem(), IsVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), IsVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), IsVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceTargetInput)(nil)).Elem(), IsVirtualNetworkInterfaceTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceTargetArrayInput)(nil)).Elem(), IsVirtualNetworkInterfaceTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceTargetDeletedInput)(nil)).Elem(), IsVirtualNetworkInterfaceTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceTargetDeletedArrayInput)(nil)).Elem(), IsVirtualNetworkInterfaceTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceVpcInput)(nil)).Elem(), IsVirtualNetworkInterfaceVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceVpcArrayInput)(nil)).Elem(), IsVirtualNetworkInterfaceVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceVpcDeletedInput)(nil)).Elem(), IsVirtualNetworkInterfaceVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVirtualNetworkInterfaceVpcDeletedArrayInput)(nil)).Elem(), IsVirtualNetworkInterfaceVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeAllowedUseInput)(nil)).Elem(), IsVolumeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeAllowedUsePtrInput)(nil)).Elem(), IsVolumeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeCatalogOfferingInput)(nil)).Elem(), IsVolumeCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeCatalogOfferingArrayInput)(nil)).Elem(), IsVolumeCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeCatalogOfferingDeletedInput)(nil)).Elem(), IsVolumeCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeCatalogOfferingDeletedArrayInput)(nil)).Elem(), IsVolumeCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeHealthReasonInput)(nil)).Elem(), IsVolumeHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeHealthReasonArrayInput)(nil)).Elem(), IsVolumeHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeOperatingSystemInput)(nil)).Elem(), IsVolumeOperatingSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeOperatingSystemArrayInput)(nil)).Elem(), IsVolumeOperatingSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeStatusReasonInput)(nil)).Elem(), IsVolumeStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVolumeStatusReasonArrayInput)(nil)).Elem(), IsVolumeStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcCseSourceAddressInput)(nil)).Elem(), IsVpcCseSourceAddressArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcCseSourceAddressArrayInput)(nil)).Elem(), IsVpcCseSourceAddressArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsInput)(nil)).Elem(), IsVpcDnsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsPtrInput)(nil)).Elem(), IsVpcDnsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayInput)(nil)).Elem(), IsVpcDnsResolutionBindingEndpointGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayArrayInput)(nil)).Elem(), IsVpcDnsResolutionBindingEndpointGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteInput)(nil)).Elem(), IsVpcDnsResolutionBindingEndpointGatewayRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput)(nil)).Elem(), IsVpcDnsResolutionBindingEndpointGatewayRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput)(nil)).Elem(), IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput)(nil)).Elem(), IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput)(nil)).Elem(), IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput)(nil)).Elem(), IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingHealthReasonInput)(nil)).Elem(), IsVpcDnsResolutionBindingHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingHealthReasonArrayInput)(nil)).Elem(), IsVpcDnsResolutionBindingHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingVpcInput)(nil)).Elem(), IsVpcDnsResolutionBindingVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingVpcPtrInput)(nil)).Elem(), IsVpcDnsResolutionBindingVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteInput)(nil)).Elem(), IsVpcDnsResolutionBindingVpcRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteArrayInput)(nil)).Elem(), IsVpcDnsResolutionBindingVpcRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteAccountInput)(nil)).Elem(), IsVpcDnsResolutionBindingVpcRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteAccountArrayInput)(nil)).Elem(), IsVpcDnsResolutionBindingVpcRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteRegionInput)(nil)).Elem(), IsVpcDnsResolutionBindingVpcRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolutionBindingVpcRemoteRegionArrayInput)(nil)).Elem(), IsVpcDnsResolutionBindingVpcRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolverInput)(nil)).Elem(), IsVpcDnsResolverArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolverPtrInput)(nil)).Elem(), IsVpcDnsResolverArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolverManualServerInput)(nil)).Elem(), IsVpcDnsResolverManualServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolverManualServerArrayInput)(nil)).Elem(), IsVpcDnsResolverManualServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolverServerInput)(nil)).Elem(), IsVpcDnsResolverServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcDnsResolverServerArrayInput)(nil)).Elem(), IsVpcDnsResolverServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcHealthReasonInput)(nil)).Elem(), IsVpcHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcHealthReasonArrayInput)(nil)).Elem(), IsVpcHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcPublicAddressRangeInput)(nil)).Elem(), IsVpcPublicAddressRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcPublicAddressRangeArrayInput)(nil)).Elem(), IsVpcPublicAddressRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcPublicAddressRangeDeletedInput)(nil)).Elem(), IsVpcPublicAddressRangeDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcPublicAddressRangeDeletedArrayInput)(nil)).Elem(), IsVpcPublicAddressRangeDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableResourceGroupInput)(nil)).Elem(), IsVpcRoutingTableResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableResourceGroupArrayInput)(nil)).Elem(), IsVpcRoutingTableResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableRouteCreatorInput)(nil)).Elem(), IsVpcRoutingTableRouteCreatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableRouteCreatorArrayInput)(nil)).Elem(), IsVpcRoutingTableRouteCreatorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableRouteCreatorDeletedInput)(nil)).Elem(), IsVpcRoutingTableRouteCreatorDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableRouteCreatorDeletedArrayInput)(nil)).Elem(), IsVpcRoutingTableRouteCreatorDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableSubnetInput)(nil)).Elem(), IsVpcRoutingTableSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcRoutingTableSubnetArrayInput)(nil)).Elem(), IsVpcRoutingTableSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcSecurityGroupInput)(nil)).Elem(), IsVpcSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcSecurityGroupArrayInput)(nil)).Elem(), IsVpcSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcSecurityGroupRuleInput)(nil)).Elem(), IsVpcSecurityGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcSecurityGroupRuleArrayInput)(nil)).Elem(), IsVpcSecurityGroupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcSubnetInput)(nil)).Elem(), IsVpcSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpcSubnetArrayInput)(nil)).Elem(), IsVpcSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionLocalInput)(nil)).Elem(), IsVpnGatewayConnectionLocalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionLocalPtrInput)(nil)).Elem(), IsVpnGatewayConnectionLocalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionLocalIkeIdentityInput)(nil)).Elem(), IsVpnGatewayConnectionLocalIkeIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionLocalIkeIdentityArrayInput)(nil)).Elem(), IsVpnGatewayConnectionLocalIkeIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionPeerInput)(nil)).Elem(), IsVpnGatewayConnectionPeerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionPeerPtrInput)(nil)).Elem(), IsVpnGatewayConnectionPeerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionPeerIkeIdentityInput)(nil)).Elem(), IsVpnGatewayConnectionPeerIkeIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionPeerIkeIdentityPtrInput)(nil)).Elem(), IsVpnGatewayConnectionPeerIkeIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionStatusReasonInput)(nil)).Elem(), IsVpnGatewayConnectionStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionStatusReasonArrayInput)(nil)).Elem(), IsVpnGatewayConnectionStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionTunnelInput)(nil)).Elem(), IsVpnGatewayConnectionTunnelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayConnectionTunnelArrayInput)(nil)).Elem(), IsVpnGatewayConnectionTunnelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayHealthReasonInput)(nil)).Elem(), IsVpnGatewayHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayHealthReasonArrayInput)(nil)).Elem(), IsVpnGatewayHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayLifecycleReasonInput)(nil)).Elem(), IsVpnGatewayLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayLifecycleReasonArrayInput)(nil)).Elem(), IsVpnGatewayLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayMemberInput)(nil)).Elem(), IsVpnGatewayMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayMemberArrayInput)(nil)).Elem(), IsVpnGatewayMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayVpcInput)(nil)).Elem(), IsVpnGatewayVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayVpcArrayInput)(nil)).Elem(), IsVpnGatewayVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayVpcDeletedInput)(nil)).Elem(), IsVpnGatewayVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnGatewayVpcDeletedArrayInput)(nil)).Elem(), IsVpnGatewayVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerClientAuthenticationInput)(nil)).Elem(), IsVpnServerClientAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerClientAuthenticationArrayInput)(nil)).Elem(), IsVpnServerClientAuthenticationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerHealthReasonInput)(nil)).Elem(), IsVpnServerHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerHealthReasonArrayInput)(nil)).Elem(), IsVpnServerHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerLifecycleReasonInput)(nil)).Elem(), IsVpnServerLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerLifecycleReasonArrayInput)(nil)).Elem(), IsVpnServerLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerPrivateIpInput)(nil)).Elem(), IsVpnServerPrivateIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerPrivateIpArrayInput)(nil)).Elem(), IsVpnServerPrivateIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerPrivateIpDeletedInput)(nil)).Elem(), IsVpnServerPrivateIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerPrivateIpDeletedArrayInput)(nil)).Elem(), IsVpnServerPrivateIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerRouteHealthReasonInput)(nil)).Elem(), IsVpnServerRouteHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerRouteHealthReasonArrayInput)(nil)).Elem(), IsVpnServerRouteHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerRouteLifecycleReasonInput)(nil)).Elem(), IsVpnServerRouteLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerRouteLifecycleReasonArrayInput)(nil)).Elem(), IsVpnServerRouteLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerVpcInput)(nil)).Elem(), IsVpnServerVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerVpcArrayInput)(nil)).Elem(), IsVpnServerVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerVpcDeletedInput)(nil)).Elem(), IsVpnServerVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IsVpnServerVpcDeletedArrayInput)(nil)).Elem(), IsVpnServerVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiDhcpLeaseInput)(nil)).Elem(), PiDhcpLeaseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiDhcpLeaseArrayInput)(nil)).Elem(), PiDhcpLeaseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiHostCapacityInput)(nil)).Elem(), PiHostCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiHostCapacityArrayInput)(nil)).Elem(), PiHostCapacityArray{}) + pulumi.RegisterOutputType(ComputeAutoscaleGroupVirtualGuestMemberTemplateOutput{}) + pulumi.RegisterOutputType(ComputeAutoscaleGroupVirtualGuestMemberTemplateArrayOutput{}) + pulumi.RegisterOutputType(ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmOutput{}) + pulumi.RegisterOutputType(ComputeAutoscaleGroupVirtualGuestMemberTemplateBulkVmArrayOutput{}) + pulumi.RegisterOutputType(ComputeAutoscalePolicyTriggerOutput{}) + pulumi.RegisterOutputType(ComputeAutoscalePolicyTriggerArrayOutput{}) + pulumi.RegisterOutputType(ComputeAutoscalePolicyTriggerWatchOutput{}) + pulumi.RegisterOutputType(ComputeAutoscalePolicyTriggerWatchArrayOutput{}) + pulumi.RegisterOutputType(ComputeBareMetalStorageGroupOutput{}) + pulumi.RegisterOutputType(ComputeBareMetalStorageGroupArrayOutput{}) + pulumi.RegisterOutputType(ComputeVmInstanceBulkVmOutput{}) + pulumi.RegisterOutputType(ComputeVmInstanceBulkVmArrayOutput{}) + pulumi.RegisterOutputType(CosBucketAbortIncompleteMultipartUploadDayOutput{}) + pulumi.RegisterOutputType(CosBucketAbortIncompleteMultipartUploadDayArrayOutput{}) + pulumi.RegisterOutputType(CosBucketActivityTrackingOutput{}) + pulumi.RegisterOutputType(CosBucketActivityTrackingPtrOutput{}) + pulumi.RegisterOutputType(CosBucketArchiveRuleOutput{}) + pulumi.RegisterOutputType(CosBucketArchiveRulePtrOutput{}) + pulumi.RegisterOutputType(CosBucketExpireRuleOutput{}) + pulumi.RegisterOutputType(CosBucketExpireRuleArrayOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleArrayOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleAbortIncompleteMultipartUploadPtrOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleExpirationOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleExpirationPtrOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleFilterOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleFilterAndOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleFilterAndPtrOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleFilterAndTagArrayOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleFilterTagOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleFilterTagPtrOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleNoncurrentVersionExpirationPtrOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleTransitionOutput{}) + pulumi.RegisterOutputType(CosBucketLifecycleConfigurationLifecycleRuleTransitionPtrOutput{}) + pulumi.RegisterOutputType(CosBucketMetricsMonitoringOutput{}) + pulumi.RegisterOutputType(CosBucketMetricsMonitoringPtrOutput{}) + pulumi.RegisterOutputType(CosBucketNoncurrentVersionExpirationOutput{}) + pulumi.RegisterOutputType(CosBucketNoncurrentVersionExpirationPtrOutput{}) + pulumi.RegisterOutputType(CosBucketObjectLockConfigurationObjectLockConfigurationOutput{}) + pulumi.RegisterOutputType(CosBucketObjectLockConfigurationObjectLockConfigurationPtrOutput{}) + pulumi.RegisterOutputType(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleOutput{}) + pulumi.RegisterOutputType(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRulePtrOutput{}) + pulumi.RegisterOutputType(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionOutput{}) + pulumi.RegisterOutputType(CosBucketObjectLockConfigurationObjectLockConfigurationObjectLockRuleDefaultRetentionPtrOutput{}) + pulumi.RegisterOutputType(CosBucketObjectVersioningOutput{}) + pulumi.RegisterOutputType(CosBucketObjectVersioningPtrOutput{}) + pulumi.RegisterOutputType(CosBucketReplicationRuleReplicationRuleOutput{}) + pulumi.RegisterOutputType(CosBucketReplicationRuleReplicationRuleArrayOutput{}) + pulumi.RegisterOutputType(CosBucketRetentionRuleOutput{}) + pulumi.RegisterOutputType(CosBucketRetentionRulePtrOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationPtrOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationErrorDocumentPtrOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationIndexDocumentPtrOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationRedirectAllRequestsToPtrOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleArrayOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleConditionPtrOutput{}) + pulumi.RegisterOutputType(CosBucketWebsiteConfigurationWebsiteConfigurationRoutingRuleRedirectOutput{}) + pulumi.RegisterOutputType(IamAccessGroupDynamicRuleConditionOutput{}) + pulumi.RegisterOutputType(IamAccessGroupDynamicRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupMembersMemberOutput{}) + pulumi.RegisterOutputType(IamAccessGroupMembersMemberArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyResourceTagOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyResourcesOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyResourcesPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(IamAccessGroupPolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupActionControlsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupActionControlsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupActionControlsAccessOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupActionControlsAccessPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsActionControlsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsActionControlsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsRuleOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsRuleArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsRuleActionControlsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsRuleActionControlsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsRuleConditionOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupAssertionsRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupMembersOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupMembersPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupMembersActionControlsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateGroupMembersActionControlsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplatePolicyTemplateReferenceOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplatePolicyTemplateReferenceArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupActionControlsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupActionControlsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupActionControlsAccessOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupActionControlsAccessPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsActionControlsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsActionControlsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsRuleOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsRuleArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsRuleActionControlsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsRuleConditionOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupAssertionsRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupMembersOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupMembersPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupMembersActionControlsOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionGroupMembersActionControlsPtrOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionPolicyTemplateReferenceOutput{}) + pulumi.RegisterOutputType(IamAccessGroupTemplateVersionPolicyTemplateReferenceArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionPtrOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesPtrOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServicePtrOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesServiceIdPtrOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypesUserPtrOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsHistoryOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsHistoryArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsRestrictUserDomainOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsRestrictUserDomainArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAccountSettingsOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAccountSettingsPtrOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsPtrOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAccountSettingsRestrictUserDomainsRestrictionArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAccountSettingsUserMfaOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAccountSettingsUserMfaArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentContextOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentContextArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentHistoryOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentHistoryArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentResourceOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentResourceAccountSettingOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateHistoryOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsTemplateHistoryArrayOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsUserMfaOutput{}) + pulumi.RegisterOutputType(IamAccountSettingsUserMfaArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlErrorMessageOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlErrorMessageErrorOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlResourceCreatedOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentTemplatesOutput{}) + pulumi.RegisterOutputType(IamActionControlAssignmentTemplatesPtrOutput{}) + pulumi.RegisterOutputType(IamActionControlTemplateActionControlOutput{}) + pulumi.RegisterOutputType(IamActionControlTemplateActionControlArrayOutput{}) + pulumi.RegisterOutputType(IamActionControlTemplateVersionActionControlOutput{}) + pulumi.RegisterOutputType(IamActionControlTemplateVersionActionControlArrayOutput{}) + pulumi.RegisterOutputType(IamAuthorizationPolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(IamAuthorizationPolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamAuthorizationPolicySubjectAttributeOutput{}) + pulumi.RegisterOutputType(IamAuthorizationPolicySubjectAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourceOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyErrorMessageOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyErrorMessageErrorOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyResourceCreatedOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentTemplatesOutput{}) + pulumi.RegisterOutputType(IamPolicyAssignmentTemplatesPtrOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyPtrOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyResourceOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyResourceTagOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicySubjectOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicySubjectArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicySubjectAttributeOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplatePolicySubjectAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyPtrOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyResourceOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyResourcePtrOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyResourceTagOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicySubjectOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicySubjectArrayOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicySubjectAttributeOutput{}) + pulumi.RegisterOutputType(IamPolicyTemplateVersionPolicySubjectAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamServicePolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(IamServicePolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamServicePolicyResourceTagOutput{}) + pulumi.RegisterOutputType(IamServicePolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(IamServicePolicyResourcesOutput{}) + pulumi.RegisterOutputType(IamServicePolicyResourcesPtrOutput{}) + pulumi.RegisterOutputType(IamServicePolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(IamServicePolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamServicePolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(IamServicePolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileClaimRuleConditionOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileClaimRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileHistoryOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileHistoryArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileIdentitiesIdentityOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileIdentitiesIdentityArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileLinkLinkOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileLinkLinkPtrOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyResourceTagOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyResourcesOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyResourcesPtrOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(IamTrustedProfilePolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentContextOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentContextArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentHistoryOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentHistoryArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourceOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourceProfileOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourceProfileArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateHistoryOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateHistoryArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplatePolicyTemplateReferenceOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateProfileOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateProfilePtrOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateProfileIdentityOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateProfileIdentityArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateProfileRuleOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateProfileRuleArrayOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateProfileRuleConditionOutput{}) + pulumi.RegisterOutputType(IamTrustedProfileTemplateProfileRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteClassicInfraRoleOutput{}) + pulumi.RegisterOutputType(IamUserInviteClassicInfraRoleArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteCloudFoundryRoleOutput{}) + pulumi.RegisterOutputType(IamUserInviteCloudFoundryRoleArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteCloudFoundryRoleSpaceOutput{}) + pulumi.RegisterOutputType(IamUserInviteCloudFoundryRoleSpaceArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteIamPolicyOutput{}) + pulumi.RegisterOutputType(IamUserInviteIamPolicyArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteIamPolicyResourceOutput{}) + pulumi.RegisterOutputType(IamUserInviteIamPolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserAccessGroupOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserAccessGroupArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserAccessGroupPolicyOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserAccessGroupPolicyArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserAccessGroupPolicyResourceOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserAccessGroupPolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserUserPolicyOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserUserPolicyArrayOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserUserPolicyResourceOutput{}) + pulumi.RegisterOutputType(IamUserInviteInvitedUserUserPolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(IamUserPolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(IamUserPolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(IamUserPolicyResourceTagOutput{}) + pulumi.RegisterOutputType(IamUserPolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(IamUserPolicyResourcesOutput{}) + pulumi.RegisterOutputType(IamUserPolicyResourcesPtrOutput{}) + pulumi.RegisterOutputType(IamUserPolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(IamUserPolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(IamUserPolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(IamUserPolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyHealthReasonOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyPlanClonePolicyOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyPlanClonePolicyPtrOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyPlanDeletionTriggerOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyPlanDeletionTriggerPtrOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyPlanRemoteRegionPolicyOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyPlanRemoteRegionPolicyArrayOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyScopeOutput{}) + pulumi.RegisterOutputType(IsBackupPolicyScopePtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerActionStatusReasonOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerActionStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerCpusOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerCpusArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerDefaultTrustedProfileOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerDefaultTrustedProfilePtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerDefaultTrustedProfileTargetOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerDefaultTrustedProfileTargetPtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerDiskTypeOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerDiskTypeArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerDiskAllowedUseOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerDiskAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerHealthReasonOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerInitializationDefaultTrustedProfileOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerInitializationDefaultTrustedProfilePtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerInitializationDefaultTrustedProfileTargetOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerInitializationDefaultTrustedProfileTargetPtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerMetadataServiceOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerMetadataServicePtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentTypeOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentTypeArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceTypeOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceAllowFloatFloatingIpArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceAllowFloatPrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceFloatingIpTypeOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentPtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerPrimaryNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationAffinityOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationAffinityPoolOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationAffinityPoolArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationAffinityPoolDeletedOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationAffinityPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationDeletedOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerReservationDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerStatusReasonOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerTrustedPlatformModuleOutput{}) + pulumi.RegisterOutputType(IsBareMetalServerTrustedPlatformModulePtrOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceSubnetPtrOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceTargetOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceTargetArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceVpcOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceVpcArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceVpcDeletedOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceZoneOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkInterfaceZoneArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetPrefixesOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetPrefixesPtrOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetReservedIpLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetReservedIpTargetOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetReservedIpTargetArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetReservedIpTargetDeletedOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkVpcOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkVpcPtrOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkVpcDeletedOutput{}) + pulumi.RegisterOutputType(IsClusterNetworkVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostAvailableVcpusOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostAvailableVcpusArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskInstanceDiskOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskInstanceDiskArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskInstanceDiskDeletedOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskInstanceDiskDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskManagementDiskOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostDiskManagementDiskArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostGroupDedicatedHostOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostGroupDedicatedHostArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostGroupDedicatedHostDeletedOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostGroupDedicatedHostDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostGroupSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostGroupSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostInstanceOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostInstanceArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostInstanceDeletedOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostInstanceDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostNumaOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostNumaArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostNumaNodeOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostNumaNodeArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostVcpusOutput{}) + pulumi.RegisterOutputType(IsDedicatedHostVcpusArrayOutput{}) + pulumi.RegisterOutputType(IsFloatingIpTargetListOutput{}) + pulumi.RegisterOutputType(IsFloatingIpTargetListArrayOutput{}) + pulumi.RegisterOutputType(IsFloatingIpTargetListDeletedOutput{}) + pulumi.RegisterOutputType(IsFloatingIpTargetListDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsFloatingIpTargetListPrimaryIpOutput{}) + pulumi.RegisterOutputType(IsFloatingIpTargetListPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(IsIkePolicyVpnConnectionOutput{}) + pulumi.RegisterOutputType(IsIkePolicyVpnConnectionArrayOutput{}) + pulumi.RegisterOutputType(IsImageAllowedUseOutput{}) + pulumi.RegisterOutputType(IsImageAllowedUsePtrOutput{}) + pulumi.RegisterOutputType(IsImageExportJobStatusReasonOutput{}) + pulumi.RegisterOutputType(IsImageExportJobStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsImageExportJobStorageBucketOutput{}) + pulumi.RegisterOutputType(IsImageExportJobStorageBucketPtrOutput{}) + pulumi.RegisterOutputType(IsImageExportJobStorageObjectOutput{}) + pulumi.RegisterOutputType(IsImageExportJobStorageObjectArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceActionStatusReasonOutput{}) + pulumi.RegisterOutputType(IsInstanceActionStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceBootVolumeOutput{}) + pulumi.RegisterOutputType(IsInstanceBootVolumePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceBootVolumeAllowedUseOutput{}) + pulumi.RegisterOutputType(IsInstanceBootVolumeAllowedUsePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceCatalogOfferingOutput{}) + pulumi.RegisterOutputType(IsInstanceCatalogOfferingPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentTypeOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentTypeArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentBeforeOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentBeforePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceClusterNetworkDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceDiskOutput{}) + pulumi.RegisterOutputType(IsInstanceDiskArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceDiskManagementDiskOutput{}) + pulumi.RegisterOutputType(IsInstanceDiskManagementDiskArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceGpusOutput{}) + pulumi.RegisterOutputType(IsInstanceGpusArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceGroupManagerActionTypeOutput{}) + pulumi.RegisterOutputType(IsInstanceGroupManagerActionTypeArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceGroupMembershipInstanceOutput{}) + pulumi.RegisterOutputType(IsInstanceGroupMembershipInstanceArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceGroupMembershipInstanceTemplateOutput{}) + pulumi.RegisterOutputType(IsInstanceGroupMembershipInstanceTemplateArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceHealthReasonOutput{}) + pulumi.RegisterOutputType(IsInstanceHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsInstanceLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceMetadataServiceOutput{}) + pulumi.RegisterOutputType(IsInstanceMetadataServicePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentTypeOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentTypeArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfaceTypeOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfaceFloatingIpTypeOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfaceFloatingIpTypeArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfaceFloatingIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsInstancePlacementTargetOutput{}) + pulumi.RegisterOutputType(IsInstancePlacementTargetArrayOutput{}) + pulumi.RegisterOutputType(IsInstancePlacementTargetDeletedOutput{}) + pulumi.RegisterOutputType(IsInstancePlacementTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentPtrOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstancePrimaryNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationAffinityOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationAffinityPoolOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationAffinityPoolArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationAffinityPoolDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationAffinityPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceReservationDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceStatusReasonOutput{}) + pulumi.RegisterOutputType(IsInstanceStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateBootVolumeOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateBootVolumePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateBootVolumeAllowedUseOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateBootVolumeAllowedUsePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateCatalogOfferingOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateCatalogOfferingPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateClusterNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateClusterNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateMetadataServiceOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateMetadataServicePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePlacementTargetOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePlacementTargetArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplatePrimaryNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateReservationAffinityOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateReservationAffinityPoolOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateReservationAffinityPoolArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateVolumeAttachmentOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateVolumeAttachmentArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateVolumeAttachmentVolumePrototypeOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateVolumeAttachmentVolumePrototypePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput{}) + pulumi.RegisterOutputType(IsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUsePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceVcpusOutput{}) + pulumi.RegisterOutputType(IsInstanceVcpusArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceVolumeAttachmentTypeOutput{}) + pulumi.RegisterOutputType(IsInstanceVolumeAttachmentTypeArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceVolumeAttachmentAllowedUseOutput{}) + pulumi.RegisterOutputType(IsInstanceVolumeAttachmentAllowedUsePtrOutput{}) + pulumi.RegisterOutputType(IsInstanceVolumePrototypeOutput{}) + pulumi.RegisterOutputType(IsInstanceVolumePrototypeArrayOutput{}) + pulumi.RegisterOutputType(IsInstanceVolumePrototypeAllowedUseOutput{}) + pulumi.RegisterOutputType(IsInstanceVolumePrototypeAllowedUsePtrOutput{}) + pulumi.RegisterOutputType(IsIpsecPolicyVpnConnectionOutput{}) + pulumi.RegisterOutputType(IsIpsecPolicyVpnConnectionArrayOutput{}) + pulumi.RegisterOutputType(IsLbAttachedLoadBalancerPoolMemberOutput{}) + pulumi.RegisterOutputType(IsLbAttachedLoadBalancerPoolMemberArrayOutput{}) + pulumi.RegisterOutputType(IsLbAttachedLoadBalancerPoolMemberDeletedOutput{}) + pulumi.RegisterOutputType(IsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsLbDnsOutput{}) + pulumi.RegisterOutputType(IsLbDnsPtrOutput{}) + pulumi.RegisterOutputType(IsLbListenerHttpsRedirectOutput{}) + pulumi.RegisterOutputType(IsLbListenerHttpsRedirectPtrOutput{}) + pulumi.RegisterOutputType(IsLbListenerHttpsRedirectListenerOutput{}) + pulumi.RegisterOutputType(IsLbListenerHttpsRedirectListenerPtrOutput{}) + pulumi.RegisterOutputType(IsLbListenerHttpsRedirectListenerDeletedOutput{}) + pulumi.RegisterOutputType(IsLbListenerHttpsRedirectListenerDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyRuleTypeOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyTargetOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyTargetPtrOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyTargetDeletedOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyTargetListenerOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyTargetListenerPtrOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyTargetListenerDeletedOutput{}) + pulumi.RegisterOutputType(IsLbListenerPolicyTargetListenerDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsLbPoolFailsafePolicyOutput{}) + pulumi.RegisterOutputType(IsLbPoolFailsafePolicyPtrOutput{}) + pulumi.RegisterOutputType(IsLbPoolFailsafePolicyTargetOutput{}) + pulumi.RegisterOutputType(IsLbPoolFailsafePolicyTargetPtrOutput{}) + pulumi.RegisterOutputType(IsLbPoolFailsafePolicyTargetDeletedOutput{}) + pulumi.RegisterOutputType(IsLbPoolFailsafePolicyTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsLbPrivateIpOutput{}) + pulumi.RegisterOutputType(IsLbPrivateIpArrayOutput{}) + pulumi.RegisterOutputType(IsNetworkAclRuleTypeOutput{}) + pulumi.RegisterOutputType(IsNetworkAclRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(IsNetworkAclRuleIcmpOutput{}) + pulumi.RegisterOutputType(IsNetworkAclRuleIcmpPtrOutput{}) + pulumi.RegisterOutputType(IsNetworkAclRuleTcpOutput{}) + pulumi.RegisterOutputType(IsNetworkAclRuleTcpPtrOutput{}) + pulumi.RegisterOutputType(IsNetworkAclRuleUdpOutput{}) + pulumi.RegisterOutputType(IsNetworkAclRuleUdpPtrOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeResourceGroupOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeResourceGroupPtrOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeTargetOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeTargetPtrOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeTargetVpcOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeTargetVpcPtrOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeTargetVpcDeletedOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeTargetVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeTargetZoneOutput{}) + pulumi.RegisterOutputType(IsPublicAddressRangeTargetZonePtrOutput{}) + pulumi.RegisterOutputType(IsReservationActivateCapacityOutput{}) + pulumi.RegisterOutputType(IsReservationActivateCapacityArrayOutput{}) + pulumi.RegisterOutputType(IsReservationActivateCommittedUseOutput{}) + pulumi.RegisterOutputType(IsReservationActivateCommittedUseArrayOutput{}) + pulumi.RegisterOutputType(IsReservationActivateProfileOutput{}) + pulumi.RegisterOutputType(IsReservationActivateProfileArrayOutput{}) + pulumi.RegisterOutputType(IsReservationActivateResourceGroupOutput{}) + pulumi.RegisterOutputType(IsReservationActivateResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(IsReservationActivateStatusReasonOutput{}) + pulumi.RegisterOutputType(IsReservationActivateStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsReservationCapacityOutput{}) + pulumi.RegisterOutputType(IsReservationCapacityPtrOutput{}) + pulumi.RegisterOutputType(IsReservationCommittedUseOutput{}) + pulumi.RegisterOutputType(IsReservationCommittedUsePtrOutput{}) + pulumi.RegisterOutputType(IsReservationProfileOutput{}) + pulumi.RegisterOutputType(IsReservationProfilePtrOutput{}) + pulumi.RegisterOutputType(IsReservationResourceGroupOutput{}) + pulumi.RegisterOutputType(IsReservationResourceGroupPtrOutput{}) + pulumi.RegisterOutputType(IsReservationStatusReasonOutput{}) + pulumi.RegisterOutputType(IsReservationStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleTypeOutput{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleIcmpOutput{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleIcmpPtrOutput{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleTcpOutput{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleTcpPtrOutput{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleUdpOutput{}) + pulumi.RegisterOutputType(IsSecurityGroupRuleUdpPtrOutput{}) + pulumi.RegisterOutputType(IsShareAccessorBindingOutput{}) + pulumi.RegisterOutputType(IsShareAccessorBindingArrayOutput{}) + pulumi.RegisterOutputType(IsShareInitialOwnerOutput{}) + pulumi.RegisterOutputType(IsShareInitialOwnerPtrOutput{}) + pulumi.RegisterOutputType(IsShareLatestJobOutput{}) + pulumi.RegisterOutputType(IsShareLatestJobArrayOutput{}) + pulumi.RegisterOutputType(IsShareLatestJobStatusReasonOutput{}) + pulumi.RegisterOutputType(IsShareLatestJobStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsShareLatestSyncOutput{}) + pulumi.RegisterOutputType(IsShareLatestSyncArrayOutput{}) + pulumi.RegisterOutputType(IsShareLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsShareLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsShareMountTargetTypeOutput{}) + pulumi.RegisterOutputType(IsShareMountTargetTypeArrayOutput{}) + pulumi.RegisterOutputType(IsShareMountTargetVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsShareMountTargetVirtualNetworkInterfacePtrOutput{}) + pulumi.RegisterOutputType(IsShareMountTargetVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(IsShareMountTargetVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsShareMountTargetVirtualNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareOutput{}) + pulumi.RegisterOutputType(IsShareOriginSharePtrOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareDeletedOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareRemoteOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareRemoteArrayOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareRemoteAccountOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareRemoteRegionOutput{}) + pulumi.RegisterOutputType(IsShareOriginShareRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareOutput{}) + pulumi.RegisterOutputType(IsShareReplicaSharePtrOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareMountTargetOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareMountTargetArrayOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareMountTargetVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareMountTargetVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareMountTargetVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareReplicationStatusReasonOutput{}) + pulumi.RegisterOutputType(IsShareReplicaShareReplicationStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsShareReplicationStatusReasonOutput{}) + pulumi.RegisterOutputType(IsShareReplicationStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotBackupPolicyPlanRemoteOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotBackupPolicyPlanRemoteArrayOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotBackupPolicyPlanRemoteRegionOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotResourceGroupOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotStatusReasonOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotZoneOutput{}) + pulumi.RegisterOutputType(IsShareSnapshotZoneArrayOutput{}) + pulumi.RegisterOutputType(IsShareSourceSnapshotOutput{}) + pulumi.RegisterOutputType(IsShareSourceSnapshotPtrOutput{}) + pulumi.RegisterOutputType(IsShareSourceSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(IsShareSourceSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotAllowedUseOutput{}) + pulumi.RegisterOutputType(IsSnapshotAllowedUsePtrOutput{}) + pulumi.RegisterOutputType(IsSnapshotBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(IsSnapshotBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(IsSnapshotBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotCatalogOfferingOutput{}) + pulumi.RegisterOutputType(IsSnapshotCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(IsSnapshotCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupSnapshotOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupSnapshotArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupSnapshotReferenceOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupSnapshotReferenceArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupSnapshotReferenceDeletedOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupSnapshotReferenceDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupSnapshotReferenceRemoteOutput{}) + pulumi.RegisterOutputType(IsSnapshotConsistencyGroupSnapshotReferenceRemoteArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotCopyOutput{}) + pulumi.RegisterOutputType(IsSnapshotCopyArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotCopyDeletedOutput{}) + pulumi.RegisterOutputType(IsSnapshotCopyDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotCopyRemoteOutput{}) + pulumi.RegisterOutputType(IsSnapshotCopyRemoteArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotSnapshotConsistencyGroupOutput{}) + pulumi.RegisterOutputType(IsSnapshotSnapshotConsistencyGroupArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotSnapshotConsistencyGroupDeletedOutput{}) + pulumi.RegisterOutputType(IsSnapshotSnapshotConsistencyGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotSourceSnapshotOutput{}) + pulumi.RegisterOutputType(IsSnapshotSourceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotSourceSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(IsSnapshotSourceSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsSnapshotSourceSnapshotRemoteOutput{}) + pulumi.RegisterOutputType(IsSnapshotSourceSnapshotRemoteArrayOutput{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentRuleOutput{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentRuleArrayOutput{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentRuleIcmpOutput{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentRuleIcmpArrayOutput{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentRuleTcpOutput{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentRuleTcpArrayOutput{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentRuleUdpOutput{}) + pulumi.RegisterOutputType(IsSubnetNetworkAclAttachmentRuleUdpArrayOutput{}) + pulumi.RegisterOutputType(IsSubnetRoutingTableAttachmentResourceGroupOutput{}) + pulumi.RegisterOutputType(IsSubnetRoutingTableAttachmentResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(IsSubnetRoutingTableAttachmentRouteOutput{}) + pulumi.RegisterOutputType(IsSubnetRoutingTableAttachmentRouteArrayOutput{}) + pulumi.RegisterOutputType(IsSubnetRoutingTableAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(IsSubnetRoutingTableAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayIpTypeOutput{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayIpTypeArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayIpTargetOutput{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayIpTargetArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayTargetOutput{}) + pulumi.RegisterOutputType(IsVirtualEndpointGatewayTargetPtrOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceFloatingIpDeletedOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceIpTypeOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceIpTypeArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfacePrimaryIpPtrOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceTargetOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceTargetArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceTargetDeletedOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceVpcOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceVpcArrayOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceVpcDeletedOutput{}) + pulumi.RegisterOutputType(IsVirtualNetworkInterfaceVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVolumeAllowedUseOutput{}) + pulumi.RegisterOutputType(IsVolumeAllowedUsePtrOutput{}) + pulumi.RegisterOutputType(IsVolumeCatalogOfferingOutput{}) + pulumi.RegisterOutputType(IsVolumeCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(IsVolumeCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(IsVolumeCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVolumeHealthReasonOutput{}) + pulumi.RegisterOutputType(IsVolumeHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVolumeOperatingSystemOutput{}) + pulumi.RegisterOutputType(IsVolumeOperatingSystemArrayOutput{}) + pulumi.RegisterOutputType(IsVolumeStatusReasonOutput{}) + pulumi.RegisterOutputType(IsVolumeStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpcCseSourceAddressOutput{}) + pulumi.RegisterOutputType(IsVpcCseSourceAddressArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsOutput{}) + pulumi.RegisterOutputType(IsVpcDnsPtrOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingEndpointGatewayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingEndpointGatewayArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingEndpointGatewayRemoteOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingHealthReasonOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingVpcOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingVpcPtrOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingVpcRemoteOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingVpcRemoteArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingVpcRemoteAccountOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingVpcRemoteRegionOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolverOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolverPtrOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolverManualServerOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolverManualServerArrayOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolverServerOutput{}) + pulumi.RegisterOutputType(IsVpcDnsResolverServerArrayOutput{}) + pulumi.RegisterOutputType(IsVpcHealthReasonOutput{}) + pulumi.RegisterOutputType(IsVpcHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpcPublicAddressRangeOutput{}) + pulumi.RegisterOutputType(IsVpcPublicAddressRangeArrayOutput{}) + pulumi.RegisterOutputType(IsVpcPublicAddressRangeDeletedOutput{}) + pulumi.RegisterOutputType(IsVpcPublicAddressRangeDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVpcRoutingTableResourceGroupOutput{}) + pulumi.RegisterOutputType(IsVpcRoutingTableResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(IsVpcRoutingTableRouteCreatorOutput{}) + pulumi.RegisterOutputType(IsVpcRoutingTableRouteCreatorArrayOutput{}) + pulumi.RegisterOutputType(IsVpcRoutingTableRouteCreatorDeletedOutput{}) + pulumi.RegisterOutputType(IsVpcRoutingTableRouteCreatorDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVpcRoutingTableSubnetOutput{}) + pulumi.RegisterOutputType(IsVpcRoutingTableSubnetArrayOutput{}) + pulumi.RegisterOutputType(IsVpcSecurityGroupOutput{}) + pulumi.RegisterOutputType(IsVpcSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(IsVpcSecurityGroupRuleOutput{}) + pulumi.RegisterOutputType(IsVpcSecurityGroupRuleArrayOutput{}) + pulumi.RegisterOutputType(IsVpcSubnetOutput{}) + pulumi.RegisterOutputType(IsVpcSubnetArrayOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionLocalOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionLocalPtrOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionLocalIkeIdentityOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionLocalIkeIdentityArrayOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionPeerOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionPeerPtrOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionPeerIkeIdentityOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionPeerIkeIdentityPtrOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionStatusReasonOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionTunnelOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayConnectionTunnelArrayOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayHealthReasonOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayMemberOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayMemberArrayOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayVpcOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayVpcArrayOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayVpcDeletedOutput{}) + pulumi.RegisterOutputType(IsVpnGatewayVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerClientAuthenticationOutput{}) + pulumi.RegisterOutputType(IsVpnServerClientAuthenticationArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerHealthReasonOutput{}) + pulumi.RegisterOutputType(IsVpnServerHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsVpnServerLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerPrivateIpOutput{}) + pulumi.RegisterOutputType(IsVpnServerPrivateIpArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerPrivateIpDeletedOutput{}) + pulumi.RegisterOutputType(IsVpnServerPrivateIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerRouteHealthReasonOutput{}) + pulumi.RegisterOutputType(IsVpnServerRouteHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerRouteLifecycleReasonOutput{}) + pulumi.RegisterOutputType(IsVpnServerRouteLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerVpcOutput{}) + pulumi.RegisterOutputType(IsVpnServerVpcArrayOutput{}) + pulumi.RegisterOutputType(IsVpnServerVpcDeletedOutput{}) + pulumi.RegisterOutputType(IsVpnServerVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(PiDhcpLeaseOutput{}) + pulumi.RegisterOutputType(PiDhcpLeaseArrayOutput{}) + pulumi.RegisterOutputType(PiHostCapacityOutput{}) + pulumi.RegisterOutputType(PiHostCapacityArrayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes1.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes1.go new file mode 100644 index 000000000..0c2d876d9 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes1.go @@ -0,0 +1,65149 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type PiHostGroupPiHost struct { + // Name of the host chosen by the user. + DisplayName string `pulumi:"displayName"` + // System type. + SysType string `pulumi:"sysType"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// PiHostGroupPiHostInput is an input type that accepts PiHostGroupPiHostArgs and PiHostGroupPiHostOutput values. +// You can construct a concrete instance of `PiHostGroupPiHostInput` via: +// +// PiHostGroupPiHostArgs{...} +type PiHostGroupPiHostInput interface { + pulumi.Input + + ToPiHostGroupPiHostOutput() PiHostGroupPiHostOutput + ToPiHostGroupPiHostOutputWithContext(context.Context) PiHostGroupPiHostOutput +} + +type PiHostGroupPiHostArgs struct { + // Name of the host chosen by the user. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // System type. + SysType pulumi.StringInput `pulumi:"sysType"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (PiHostGroupPiHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiHostGroupPiHost)(nil)).Elem() +} + +func (i PiHostGroupPiHostArgs) ToPiHostGroupPiHostOutput() PiHostGroupPiHostOutput { + return i.ToPiHostGroupPiHostOutputWithContext(context.Background()) +} + +func (i PiHostGroupPiHostArgs) ToPiHostGroupPiHostOutputWithContext(ctx context.Context) PiHostGroupPiHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostGroupPiHostOutput) +} + +// PiHostGroupPiHostArrayInput is an input type that accepts PiHostGroupPiHostArray and PiHostGroupPiHostArrayOutput values. +// You can construct a concrete instance of `PiHostGroupPiHostArrayInput` via: +// +// PiHostGroupPiHostArray{ PiHostGroupPiHostArgs{...} } +type PiHostGroupPiHostArrayInput interface { + pulumi.Input + + ToPiHostGroupPiHostArrayOutput() PiHostGroupPiHostArrayOutput + ToPiHostGroupPiHostArrayOutputWithContext(context.Context) PiHostGroupPiHostArrayOutput +} + +type PiHostGroupPiHostArray []PiHostGroupPiHostInput + +func (PiHostGroupPiHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiHostGroupPiHost)(nil)).Elem() +} + +func (i PiHostGroupPiHostArray) ToPiHostGroupPiHostArrayOutput() PiHostGroupPiHostArrayOutput { + return i.ToPiHostGroupPiHostArrayOutputWithContext(context.Background()) +} + +func (i PiHostGroupPiHostArray) ToPiHostGroupPiHostArrayOutputWithContext(ctx context.Context) PiHostGroupPiHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostGroupPiHostArrayOutput) +} + +type PiHostGroupPiHostOutput struct{ *pulumi.OutputState } + +func (PiHostGroupPiHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiHostGroupPiHost)(nil)).Elem() +} + +func (o PiHostGroupPiHostOutput) ToPiHostGroupPiHostOutput() PiHostGroupPiHostOutput { + return o +} + +func (o PiHostGroupPiHostOutput) ToPiHostGroupPiHostOutputWithContext(ctx context.Context) PiHostGroupPiHostOutput { + return o +} + +// Name of the host chosen by the user. +func (o PiHostGroupPiHostOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v PiHostGroupPiHost) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// System type. +func (o PiHostGroupPiHostOutput) SysType() pulumi.StringOutput { + return o.ApplyT(func(v PiHostGroupPiHost) string { return v.SysType }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o PiHostGroupPiHostOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v PiHostGroupPiHost) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type PiHostGroupPiHostArrayOutput struct{ *pulumi.OutputState } + +func (PiHostGroupPiHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiHostGroupPiHost)(nil)).Elem() +} + +func (o PiHostGroupPiHostArrayOutput) ToPiHostGroupPiHostArrayOutput() PiHostGroupPiHostArrayOutput { + return o +} + +func (o PiHostGroupPiHostArrayOutput) ToPiHostGroupPiHostArrayOutputWithContext(ctx context.Context) PiHostGroupPiHostArrayOutput { + return o +} + +func (o PiHostGroupPiHostArrayOutput) Index(i pulumi.IntInput) PiHostGroupPiHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiHostGroupPiHost { + return vs[0].([]PiHostGroupPiHost)[vs[1].(int)] + }).(PiHostGroupPiHostOutput) +} + +type PiHostGroupPiSecondary struct { + // Name of the host group to create in the secondary workspace. + Name *string `pulumi:"name"` + // ID of the workspace to share the host group with. + Workspace string `pulumi:"workspace"` +} + +// PiHostGroupPiSecondaryInput is an input type that accepts PiHostGroupPiSecondaryArgs and PiHostGroupPiSecondaryOutput values. +// You can construct a concrete instance of `PiHostGroupPiSecondaryInput` via: +// +// PiHostGroupPiSecondaryArgs{...} +type PiHostGroupPiSecondaryInput interface { + pulumi.Input + + ToPiHostGroupPiSecondaryOutput() PiHostGroupPiSecondaryOutput + ToPiHostGroupPiSecondaryOutputWithContext(context.Context) PiHostGroupPiSecondaryOutput +} + +type PiHostGroupPiSecondaryArgs struct { + // Name of the host group to create in the secondary workspace. + Name pulumi.StringPtrInput `pulumi:"name"` + // ID of the workspace to share the host group with. + Workspace pulumi.StringInput `pulumi:"workspace"` +} + +func (PiHostGroupPiSecondaryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiHostGroupPiSecondary)(nil)).Elem() +} + +func (i PiHostGroupPiSecondaryArgs) ToPiHostGroupPiSecondaryOutput() PiHostGroupPiSecondaryOutput { + return i.ToPiHostGroupPiSecondaryOutputWithContext(context.Background()) +} + +func (i PiHostGroupPiSecondaryArgs) ToPiHostGroupPiSecondaryOutputWithContext(ctx context.Context) PiHostGroupPiSecondaryOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostGroupPiSecondaryOutput) +} + +// PiHostGroupPiSecondaryArrayInput is an input type that accepts PiHostGroupPiSecondaryArray and PiHostGroupPiSecondaryArrayOutput values. +// You can construct a concrete instance of `PiHostGroupPiSecondaryArrayInput` via: +// +// PiHostGroupPiSecondaryArray{ PiHostGroupPiSecondaryArgs{...} } +type PiHostGroupPiSecondaryArrayInput interface { + pulumi.Input + + ToPiHostGroupPiSecondaryArrayOutput() PiHostGroupPiSecondaryArrayOutput + ToPiHostGroupPiSecondaryArrayOutputWithContext(context.Context) PiHostGroupPiSecondaryArrayOutput +} + +type PiHostGroupPiSecondaryArray []PiHostGroupPiSecondaryInput + +func (PiHostGroupPiSecondaryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiHostGroupPiSecondary)(nil)).Elem() +} + +func (i PiHostGroupPiSecondaryArray) ToPiHostGroupPiSecondaryArrayOutput() PiHostGroupPiSecondaryArrayOutput { + return i.ToPiHostGroupPiSecondaryArrayOutputWithContext(context.Background()) +} + +func (i PiHostGroupPiSecondaryArray) ToPiHostGroupPiSecondaryArrayOutputWithContext(ctx context.Context) PiHostGroupPiSecondaryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostGroupPiSecondaryArrayOutput) +} + +type PiHostGroupPiSecondaryOutput struct{ *pulumi.OutputState } + +func (PiHostGroupPiSecondaryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiHostGroupPiSecondary)(nil)).Elem() +} + +func (o PiHostGroupPiSecondaryOutput) ToPiHostGroupPiSecondaryOutput() PiHostGroupPiSecondaryOutput { + return o +} + +func (o PiHostGroupPiSecondaryOutput) ToPiHostGroupPiSecondaryOutputWithContext(ctx context.Context) PiHostGroupPiSecondaryOutput { + return o +} + +// Name of the host group to create in the secondary workspace. +func (o PiHostGroupPiSecondaryOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiHostGroupPiSecondary) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// ID of the workspace to share the host group with. +func (o PiHostGroupPiSecondaryOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v PiHostGroupPiSecondary) string { return v.Workspace }).(pulumi.StringOutput) +} + +type PiHostGroupPiSecondaryArrayOutput struct{ *pulumi.OutputState } + +func (PiHostGroupPiSecondaryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiHostGroupPiSecondary)(nil)).Elem() +} + +func (o PiHostGroupPiSecondaryArrayOutput) ToPiHostGroupPiSecondaryArrayOutput() PiHostGroupPiSecondaryArrayOutput { + return o +} + +func (o PiHostGroupPiSecondaryArrayOutput) ToPiHostGroupPiSecondaryArrayOutputWithContext(ctx context.Context) PiHostGroupPiSecondaryArrayOutput { + return o +} + +func (o PiHostGroupPiSecondaryArrayOutput) Index(i pulumi.IntInput) PiHostGroupPiSecondaryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiHostGroupPiSecondary { + return vs[0].([]PiHostGroupPiSecondary)[vs[1].(int)] + }).(PiHostGroupPiSecondaryOutput) +} + +type PiHostPiHost struct { + // Name of the host chosen by the user. + DisplayName string `pulumi:"displayName"` + // System type. + SysType string `pulumi:"sysType"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// PiHostPiHostInput is an input type that accepts PiHostPiHostArgs and PiHostPiHostOutput values. +// You can construct a concrete instance of `PiHostPiHostInput` via: +// +// PiHostPiHostArgs{...} +type PiHostPiHostInput interface { + pulumi.Input + + ToPiHostPiHostOutput() PiHostPiHostOutput + ToPiHostPiHostOutputWithContext(context.Context) PiHostPiHostOutput +} + +type PiHostPiHostArgs struct { + // Name of the host chosen by the user. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // System type. + SysType pulumi.StringInput `pulumi:"sysType"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (PiHostPiHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiHostPiHost)(nil)).Elem() +} + +func (i PiHostPiHostArgs) ToPiHostPiHostOutput() PiHostPiHostOutput { + return i.ToPiHostPiHostOutputWithContext(context.Background()) +} + +func (i PiHostPiHostArgs) ToPiHostPiHostOutputWithContext(ctx context.Context) PiHostPiHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostPiHostOutput) +} + +func (i PiHostPiHostArgs) ToPiHostPiHostPtrOutput() PiHostPiHostPtrOutput { + return i.ToPiHostPiHostPtrOutputWithContext(context.Background()) +} + +func (i PiHostPiHostArgs) ToPiHostPiHostPtrOutputWithContext(ctx context.Context) PiHostPiHostPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostPiHostOutput).ToPiHostPiHostPtrOutputWithContext(ctx) +} + +// PiHostPiHostPtrInput is an input type that accepts PiHostPiHostArgs, PiHostPiHostPtr and PiHostPiHostPtrOutput values. +// You can construct a concrete instance of `PiHostPiHostPtrInput` via: +// +// PiHostPiHostArgs{...} +// +// or: +// +// nil +type PiHostPiHostPtrInput interface { + pulumi.Input + + ToPiHostPiHostPtrOutput() PiHostPiHostPtrOutput + ToPiHostPiHostPtrOutputWithContext(context.Context) PiHostPiHostPtrOutput +} + +type piHostPiHostPtrType PiHostPiHostArgs + +func PiHostPiHostPtr(v *PiHostPiHostArgs) PiHostPiHostPtrInput { + return (*piHostPiHostPtrType)(v) +} + +func (*piHostPiHostPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiHostPiHost)(nil)).Elem() +} + +func (i *piHostPiHostPtrType) ToPiHostPiHostPtrOutput() PiHostPiHostPtrOutput { + return i.ToPiHostPiHostPtrOutputWithContext(context.Background()) +} + +func (i *piHostPiHostPtrType) ToPiHostPiHostPtrOutputWithContext(ctx context.Context) PiHostPiHostPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiHostPiHostPtrOutput) +} + +type PiHostPiHostOutput struct{ *pulumi.OutputState } + +func (PiHostPiHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiHostPiHost)(nil)).Elem() +} + +func (o PiHostPiHostOutput) ToPiHostPiHostOutput() PiHostPiHostOutput { + return o +} + +func (o PiHostPiHostOutput) ToPiHostPiHostOutputWithContext(ctx context.Context) PiHostPiHostOutput { + return o +} + +func (o PiHostPiHostOutput) ToPiHostPiHostPtrOutput() PiHostPiHostPtrOutput { + return o.ToPiHostPiHostPtrOutputWithContext(context.Background()) +} + +func (o PiHostPiHostOutput) ToPiHostPiHostPtrOutputWithContext(ctx context.Context) PiHostPiHostPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiHostPiHost) *PiHostPiHost { + return &v + }).(PiHostPiHostPtrOutput) +} + +// Name of the host chosen by the user. +func (o PiHostPiHostOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v PiHostPiHost) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// System type. +func (o PiHostPiHostOutput) SysType() pulumi.StringOutput { + return o.ApplyT(func(v PiHostPiHost) string { return v.SysType }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o PiHostPiHostOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v PiHostPiHost) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type PiHostPiHostPtrOutput struct{ *pulumi.OutputState } + +func (PiHostPiHostPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiHostPiHost)(nil)).Elem() +} + +func (o PiHostPiHostPtrOutput) ToPiHostPiHostPtrOutput() PiHostPiHostPtrOutput { + return o +} + +func (o PiHostPiHostPtrOutput) ToPiHostPiHostPtrOutputWithContext(ctx context.Context) PiHostPiHostPtrOutput { + return o +} + +func (o PiHostPiHostPtrOutput) Elem() PiHostPiHostOutput { + return o.ApplyT(func(v *PiHostPiHost) PiHostPiHost { + if v != nil { + return *v + } + var ret PiHostPiHost + return ret + }).(PiHostPiHostOutput) +} + +// Name of the host chosen by the user. +func (o PiHostPiHostPtrOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiHostPiHost) *string { + if v == nil { + return nil + } + return &v.DisplayName + }).(pulumi.StringPtrOutput) +} + +// System type. +func (o PiHostPiHostPtrOutput) SysType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiHostPiHost) *string { + if v == nil { + return nil + } + return &v.SysType + }).(pulumi.StringPtrOutput) +} + +// List of user tags attached to the resource. +func (o PiHostPiHostPtrOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PiHostPiHost) []string { + if v == nil { + return nil + } + return v.UserTags + }).(pulumi.StringArrayOutput) +} + +type PiImagePiImageImportDetails struct { + // Origin of the license of the product. + LicenseType string `pulumi:"licenseType"` + // Product within the image. + Product string `pulumi:"product"` + // Vendor supporting the product. + Vendor string `pulumi:"vendor"` +} + +// PiImagePiImageImportDetailsInput is an input type that accepts PiImagePiImageImportDetailsArgs and PiImagePiImageImportDetailsOutput values. +// You can construct a concrete instance of `PiImagePiImageImportDetailsInput` via: +// +// PiImagePiImageImportDetailsArgs{...} +type PiImagePiImageImportDetailsInput interface { + pulumi.Input + + ToPiImagePiImageImportDetailsOutput() PiImagePiImageImportDetailsOutput + ToPiImagePiImageImportDetailsOutputWithContext(context.Context) PiImagePiImageImportDetailsOutput +} + +type PiImagePiImageImportDetailsArgs struct { + // Origin of the license of the product. + LicenseType pulumi.StringInput `pulumi:"licenseType"` + // Product within the image. + Product pulumi.StringInput `pulumi:"product"` + // Vendor supporting the product. + Vendor pulumi.StringInput `pulumi:"vendor"` +} + +func (PiImagePiImageImportDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiImagePiImageImportDetails)(nil)).Elem() +} + +func (i PiImagePiImageImportDetailsArgs) ToPiImagePiImageImportDetailsOutput() PiImagePiImageImportDetailsOutput { + return i.ToPiImagePiImageImportDetailsOutputWithContext(context.Background()) +} + +func (i PiImagePiImageImportDetailsArgs) ToPiImagePiImageImportDetailsOutputWithContext(ctx context.Context) PiImagePiImageImportDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiImagePiImageImportDetailsOutput) +} + +func (i PiImagePiImageImportDetailsArgs) ToPiImagePiImageImportDetailsPtrOutput() PiImagePiImageImportDetailsPtrOutput { + return i.ToPiImagePiImageImportDetailsPtrOutputWithContext(context.Background()) +} + +func (i PiImagePiImageImportDetailsArgs) ToPiImagePiImageImportDetailsPtrOutputWithContext(ctx context.Context) PiImagePiImageImportDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiImagePiImageImportDetailsOutput).ToPiImagePiImageImportDetailsPtrOutputWithContext(ctx) +} + +// PiImagePiImageImportDetailsPtrInput is an input type that accepts PiImagePiImageImportDetailsArgs, PiImagePiImageImportDetailsPtr and PiImagePiImageImportDetailsPtrOutput values. +// You can construct a concrete instance of `PiImagePiImageImportDetailsPtrInput` via: +// +// PiImagePiImageImportDetailsArgs{...} +// +// or: +// +// nil +type PiImagePiImageImportDetailsPtrInput interface { + pulumi.Input + + ToPiImagePiImageImportDetailsPtrOutput() PiImagePiImageImportDetailsPtrOutput + ToPiImagePiImageImportDetailsPtrOutputWithContext(context.Context) PiImagePiImageImportDetailsPtrOutput +} + +type piImagePiImageImportDetailsPtrType PiImagePiImageImportDetailsArgs + +func PiImagePiImageImportDetailsPtr(v *PiImagePiImageImportDetailsArgs) PiImagePiImageImportDetailsPtrInput { + return (*piImagePiImageImportDetailsPtrType)(v) +} + +func (*piImagePiImageImportDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiImagePiImageImportDetails)(nil)).Elem() +} + +func (i *piImagePiImageImportDetailsPtrType) ToPiImagePiImageImportDetailsPtrOutput() PiImagePiImageImportDetailsPtrOutput { + return i.ToPiImagePiImageImportDetailsPtrOutputWithContext(context.Background()) +} + +func (i *piImagePiImageImportDetailsPtrType) ToPiImagePiImageImportDetailsPtrOutputWithContext(ctx context.Context) PiImagePiImageImportDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiImagePiImageImportDetailsPtrOutput) +} + +type PiImagePiImageImportDetailsOutput struct{ *pulumi.OutputState } + +func (PiImagePiImageImportDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiImagePiImageImportDetails)(nil)).Elem() +} + +func (o PiImagePiImageImportDetailsOutput) ToPiImagePiImageImportDetailsOutput() PiImagePiImageImportDetailsOutput { + return o +} + +func (o PiImagePiImageImportDetailsOutput) ToPiImagePiImageImportDetailsOutputWithContext(ctx context.Context) PiImagePiImageImportDetailsOutput { + return o +} + +func (o PiImagePiImageImportDetailsOutput) ToPiImagePiImageImportDetailsPtrOutput() PiImagePiImageImportDetailsPtrOutput { + return o.ToPiImagePiImageImportDetailsPtrOutputWithContext(context.Background()) +} + +func (o PiImagePiImageImportDetailsOutput) ToPiImagePiImageImportDetailsPtrOutputWithContext(ctx context.Context) PiImagePiImageImportDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiImagePiImageImportDetails) *PiImagePiImageImportDetails { + return &v + }).(PiImagePiImageImportDetailsPtrOutput) +} + +// Origin of the license of the product. +func (o PiImagePiImageImportDetailsOutput) LicenseType() pulumi.StringOutput { + return o.ApplyT(func(v PiImagePiImageImportDetails) string { return v.LicenseType }).(pulumi.StringOutput) +} + +// Product within the image. +func (o PiImagePiImageImportDetailsOutput) Product() pulumi.StringOutput { + return o.ApplyT(func(v PiImagePiImageImportDetails) string { return v.Product }).(pulumi.StringOutput) +} + +// Vendor supporting the product. +func (o PiImagePiImageImportDetailsOutput) Vendor() pulumi.StringOutput { + return o.ApplyT(func(v PiImagePiImageImportDetails) string { return v.Vendor }).(pulumi.StringOutput) +} + +type PiImagePiImageImportDetailsPtrOutput struct{ *pulumi.OutputState } + +func (PiImagePiImageImportDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiImagePiImageImportDetails)(nil)).Elem() +} + +func (o PiImagePiImageImportDetailsPtrOutput) ToPiImagePiImageImportDetailsPtrOutput() PiImagePiImageImportDetailsPtrOutput { + return o +} + +func (o PiImagePiImageImportDetailsPtrOutput) ToPiImagePiImageImportDetailsPtrOutputWithContext(ctx context.Context) PiImagePiImageImportDetailsPtrOutput { + return o +} + +func (o PiImagePiImageImportDetailsPtrOutput) Elem() PiImagePiImageImportDetailsOutput { + return o.ApplyT(func(v *PiImagePiImageImportDetails) PiImagePiImageImportDetails { + if v != nil { + return *v + } + var ret PiImagePiImageImportDetails + return ret + }).(PiImagePiImageImportDetailsOutput) +} + +// Origin of the license of the product. +func (o PiImagePiImageImportDetailsPtrOutput) LicenseType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImagePiImageImportDetails) *string { + if v == nil { + return nil + } + return &v.LicenseType + }).(pulumi.StringPtrOutput) +} + +// Product within the image. +func (o PiImagePiImageImportDetailsPtrOutput) Product() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImagePiImageImportDetails) *string { + if v == nil { + return nil + } + return &v.Product + }).(pulumi.StringPtrOutput) +} + +// Vendor supporting the product. +func (o PiImagePiImageImportDetailsPtrOutput) Vendor() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiImagePiImageImportDetails) *string { + if v == nil { + return nil + } + return &v.Vendor + }).(pulumi.StringPtrOutput) +} + +type PiInstancePiDeploymentTarget struct { + // The uuid of the host group or host. + Id string `pulumi:"id"` + // The deployment target type. Supported values are `host` and `hostGroup`. + Type string `pulumi:"type"` +} + +// PiInstancePiDeploymentTargetInput is an input type that accepts PiInstancePiDeploymentTargetArgs and PiInstancePiDeploymentTargetOutput values. +// You can construct a concrete instance of `PiInstancePiDeploymentTargetInput` via: +// +// PiInstancePiDeploymentTargetArgs{...} +type PiInstancePiDeploymentTargetInput interface { + pulumi.Input + + ToPiInstancePiDeploymentTargetOutput() PiInstancePiDeploymentTargetOutput + ToPiInstancePiDeploymentTargetOutputWithContext(context.Context) PiInstancePiDeploymentTargetOutput +} + +type PiInstancePiDeploymentTargetArgs struct { + // The uuid of the host group or host. + Id pulumi.StringInput `pulumi:"id"` + // The deployment target type. Supported values are `host` and `hostGroup`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (PiInstancePiDeploymentTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiInstancePiDeploymentTarget)(nil)).Elem() +} + +func (i PiInstancePiDeploymentTargetArgs) ToPiInstancePiDeploymentTargetOutput() PiInstancePiDeploymentTargetOutput { + return i.ToPiInstancePiDeploymentTargetOutputWithContext(context.Background()) +} + +func (i PiInstancePiDeploymentTargetArgs) ToPiInstancePiDeploymentTargetOutputWithContext(ctx context.Context) PiInstancePiDeploymentTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstancePiDeploymentTargetOutput) +} + +func (i PiInstancePiDeploymentTargetArgs) ToPiInstancePiDeploymentTargetPtrOutput() PiInstancePiDeploymentTargetPtrOutput { + return i.ToPiInstancePiDeploymentTargetPtrOutputWithContext(context.Background()) +} + +func (i PiInstancePiDeploymentTargetArgs) ToPiInstancePiDeploymentTargetPtrOutputWithContext(ctx context.Context) PiInstancePiDeploymentTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstancePiDeploymentTargetOutput).ToPiInstancePiDeploymentTargetPtrOutputWithContext(ctx) +} + +// PiInstancePiDeploymentTargetPtrInput is an input type that accepts PiInstancePiDeploymentTargetArgs, PiInstancePiDeploymentTargetPtr and PiInstancePiDeploymentTargetPtrOutput values. +// You can construct a concrete instance of `PiInstancePiDeploymentTargetPtrInput` via: +// +// PiInstancePiDeploymentTargetArgs{...} +// +// or: +// +// nil +type PiInstancePiDeploymentTargetPtrInput interface { + pulumi.Input + + ToPiInstancePiDeploymentTargetPtrOutput() PiInstancePiDeploymentTargetPtrOutput + ToPiInstancePiDeploymentTargetPtrOutputWithContext(context.Context) PiInstancePiDeploymentTargetPtrOutput +} + +type piInstancePiDeploymentTargetPtrType PiInstancePiDeploymentTargetArgs + +func PiInstancePiDeploymentTargetPtr(v *PiInstancePiDeploymentTargetArgs) PiInstancePiDeploymentTargetPtrInput { + return (*piInstancePiDeploymentTargetPtrType)(v) +} + +func (*piInstancePiDeploymentTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstancePiDeploymentTarget)(nil)).Elem() +} + +func (i *piInstancePiDeploymentTargetPtrType) ToPiInstancePiDeploymentTargetPtrOutput() PiInstancePiDeploymentTargetPtrOutput { + return i.ToPiInstancePiDeploymentTargetPtrOutputWithContext(context.Background()) +} + +func (i *piInstancePiDeploymentTargetPtrType) ToPiInstancePiDeploymentTargetPtrOutputWithContext(ctx context.Context) PiInstancePiDeploymentTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstancePiDeploymentTargetPtrOutput) +} + +type PiInstancePiDeploymentTargetOutput struct{ *pulumi.OutputState } + +func (PiInstancePiDeploymentTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiInstancePiDeploymentTarget)(nil)).Elem() +} + +func (o PiInstancePiDeploymentTargetOutput) ToPiInstancePiDeploymentTargetOutput() PiInstancePiDeploymentTargetOutput { + return o +} + +func (o PiInstancePiDeploymentTargetOutput) ToPiInstancePiDeploymentTargetOutputWithContext(ctx context.Context) PiInstancePiDeploymentTargetOutput { + return o +} + +func (o PiInstancePiDeploymentTargetOutput) ToPiInstancePiDeploymentTargetPtrOutput() PiInstancePiDeploymentTargetPtrOutput { + return o.ToPiInstancePiDeploymentTargetPtrOutputWithContext(context.Background()) +} + +func (o PiInstancePiDeploymentTargetOutput) ToPiInstancePiDeploymentTargetPtrOutputWithContext(ctx context.Context) PiInstancePiDeploymentTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiInstancePiDeploymentTarget) *PiInstancePiDeploymentTarget { + return &v + }).(PiInstancePiDeploymentTargetPtrOutput) +} + +// The uuid of the host group or host. +func (o PiInstancePiDeploymentTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v PiInstancePiDeploymentTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The deployment target type. Supported values are `host` and `hostGroup`. +func (o PiInstancePiDeploymentTargetOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PiInstancePiDeploymentTarget) string { return v.Type }).(pulumi.StringOutput) +} + +type PiInstancePiDeploymentTargetPtrOutput struct{ *pulumi.OutputState } + +func (PiInstancePiDeploymentTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstancePiDeploymentTarget)(nil)).Elem() +} + +func (o PiInstancePiDeploymentTargetPtrOutput) ToPiInstancePiDeploymentTargetPtrOutput() PiInstancePiDeploymentTargetPtrOutput { + return o +} + +func (o PiInstancePiDeploymentTargetPtrOutput) ToPiInstancePiDeploymentTargetPtrOutputWithContext(ctx context.Context) PiInstancePiDeploymentTargetPtrOutput { + return o +} + +func (o PiInstancePiDeploymentTargetPtrOutput) Elem() PiInstancePiDeploymentTargetOutput { + return o.ApplyT(func(v *PiInstancePiDeploymentTarget) PiInstancePiDeploymentTarget { + if v != nil { + return *v + } + var ret PiInstancePiDeploymentTarget + return ret + }).(PiInstancePiDeploymentTargetOutput) +} + +// The uuid of the host group or host. +func (o PiInstancePiDeploymentTargetPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstancePiDeploymentTarget) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// The deployment target type. Supported values are `host` and `hostGroup`. +func (o PiInstancePiDeploymentTargetPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstancePiDeploymentTarget) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type PiInstancePiNetwork struct { + ExternalIp *string `pulumi:"externalIp"` + IpAddress *string `pulumi:"ipAddress"` + MacAddress *string `pulumi:"macAddress"` + NetworkId string `pulumi:"networkId"` + // ID of the network interface. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + NetworkName *string `pulumi:"networkName"` + // Network security groups that the network interface is a member of. There is a limit of 1 network security group in the array. If not specified, default network security group is used. + NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` + // Links to the network security groups that the network interface is a member of. + NetworkSecurityGroupsHreves []string `pulumi:"networkSecurityGroupsHreves"` + Type *string `pulumi:"type"` +} + +// PiInstancePiNetworkInput is an input type that accepts PiInstancePiNetworkArgs and PiInstancePiNetworkOutput values. +// You can construct a concrete instance of `PiInstancePiNetworkInput` via: +// +// PiInstancePiNetworkArgs{...} +type PiInstancePiNetworkInput interface { + pulumi.Input + + ToPiInstancePiNetworkOutput() PiInstancePiNetworkOutput + ToPiInstancePiNetworkOutputWithContext(context.Context) PiInstancePiNetworkOutput +} + +type PiInstancePiNetworkArgs struct { + ExternalIp pulumi.StringPtrInput `pulumi:"externalIp"` + IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"` + MacAddress pulumi.StringPtrInput `pulumi:"macAddress"` + NetworkId pulumi.StringInput `pulumi:"networkId"` + // ID of the network interface. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + NetworkName pulumi.StringPtrInput `pulumi:"networkName"` + // Network security groups that the network interface is a member of. There is a limit of 1 network security group in the array. If not specified, default network security group is used. + NetworkSecurityGroupIds pulumi.StringArrayInput `pulumi:"networkSecurityGroupIds"` + // Links to the network security groups that the network interface is a member of. + NetworkSecurityGroupsHreves pulumi.StringArrayInput `pulumi:"networkSecurityGroupsHreves"` + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiInstancePiNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiInstancePiNetwork)(nil)).Elem() +} + +func (i PiInstancePiNetworkArgs) ToPiInstancePiNetworkOutput() PiInstancePiNetworkOutput { + return i.ToPiInstancePiNetworkOutputWithContext(context.Background()) +} + +func (i PiInstancePiNetworkArgs) ToPiInstancePiNetworkOutputWithContext(ctx context.Context) PiInstancePiNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstancePiNetworkOutput) +} + +// PiInstancePiNetworkArrayInput is an input type that accepts PiInstancePiNetworkArray and PiInstancePiNetworkArrayOutput values. +// You can construct a concrete instance of `PiInstancePiNetworkArrayInput` via: +// +// PiInstancePiNetworkArray{ PiInstancePiNetworkArgs{...} } +type PiInstancePiNetworkArrayInput interface { + pulumi.Input + + ToPiInstancePiNetworkArrayOutput() PiInstancePiNetworkArrayOutput + ToPiInstancePiNetworkArrayOutputWithContext(context.Context) PiInstancePiNetworkArrayOutput +} + +type PiInstancePiNetworkArray []PiInstancePiNetworkInput + +func (PiInstancePiNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiInstancePiNetwork)(nil)).Elem() +} + +func (i PiInstancePiNetworkArray) ToPiInstancePiNetworkArrayOutput() PiInstancePiNetworkArrayOutput { + return i.ToPiInstancePiNetworkArrayOutputWithContext(context.Background()) +} + +func (i PiInstancePiNetworkArray) ToPiInstancePiNetworkArrayOutputWithContext(ctx context.Context) PiInstancePiNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstancePiNetworkArrayOutput) +} + +type PiInstancePiNetworkOutput struct{ *pulumi.OutputState } + +func (PiInstancePiNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiInstancePiNetwork)(nil)).Elem() +} + +func (o PiInstancePiNetworkOutput) ToPiInstancePiNetworkOutput() PiInstancePiNetworkOutput { + return o +} + +func (o PiInstancePiNetworkOutput) ToPiInstancePiNetworkOutputWithContext(ctx context.Context) PiInstancePiNetworkOutput { + return o +} + +func (o PiInstancePiNetworkOutput) ExternalIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiInstancePiNetwork) *string { return v.ExternalIp }).(pulumi.StringPtrOutput) +} + +func (o PiInstancePiNetworkOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiInstancePiNetwork) *string { return v.IpAddress }).(pulumi.StringPtrOutput) +} + +func (o PiInstancePiNetworkOutput) MacAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiInstancePiNetwork) *string { return v.MacAddress }).(pulumi.StringPtrOutput) +} + +func (o PiInstancePiNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v PiInstancePiNetwork) string { return v.NetworkId }).(pulumi.StringOutput) +} + +// ID of the network interface. +func (o PiInstancePiNetworkOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiInstancePiNetwork) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +} + +func (o PiInstancePiNetworkOutput) NetworkName() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiInstancePiNetwork) *string { return v.NetworkName }).(pulumi.StringPtrOutput) +} + +// Network security groups that the network interface is a member of. There is a limit of 1 network security group in the array. If not specified, default network security group is used. +func (o PiInstancePiNetworkOutput) NetworkSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v PiInstancePiNetwork) []string { return v.NetworkSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Links to the network security groups that the network interface is a member of. +func (o PiInstancePiNetworkOutput) NetworkSecurityGroupsHreves() pulumi.StringArrayOutput { + return o.ApplyT(func(v PiInstancePiNetwork) []string { return v.NetworkSecurityGroupsHreves }).(pulumi.StringArrayOutput) +} + +func (o PiInstancePiNetworkOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiInstancePiNetwork) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiInstancePiNetworkArrayOutput struct{ *pulumi.OutputState } + +func (PiInstancePiNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiInstancePiNetwork)(nil)).Elem() +} + +func (o PiInstancePiNetworkArrayOutput) ToPiInstancePiNetworkArrayOutput() PiInstancePiNetworkArrayOutput { + return o +} + +func (o PiInstancePiNetworkArrayOutput) ToPiInstancePiNetworkArrayOutputWithContext(ctx context.Context) PiInstancePiNetworkArrayOutput { + return o +} + +func (o PiInstancePiNetworkArrayOutput) Index(i pulumi.IntInput) PiInstancePiNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiInstancePiNetwork { + return vs[0].([]PiInstancePiNetwork)[vs[1].(int)] + }).(PiInstancePiNetworkOutput) +} + +type PiInstancePiVirtualSerialNumber struct { + // Description of the Virtual Serial Number + Description *string `pulumi:"description"` + // Provide an existing reserved Virtual Serial Number or specify 'auto-assign' for auto generated Virtual Serial Number. + Serial string `pulumi:"serial"` + // Software tier. Enum: ["P05", "P10", "P20", "P30"]. + SoftwareTier *string `pulumi:"softwareTier"` +} + +// PiInstancePiVirtualSerialNumberInput is an input type that accepts PiInstancePiVirtualSerialNumberArgs and PiInstancePiVirtualSerialNumberOutput values. +// You can construct a concrete instance of `PiInstancePiVirtualSerialNumberInput` via: +// +// PiInstancePiVirtualSerialNumberArgs{...} +type PiInstancePiVirtualSerialNumberInput interface { + pulumi.Input + + ToPiInstancePiVirtualSerialNumberOutput() PiInstancePiVirtualSerialNumberOutput + ToPiInstancePiVirtualSerialNumberOutputWithContext(context.Context) PiInstancePiVirtualSerialNumberOutput +} + +type PiInstancePiVirtualSerialNumberArgs struct { + // Description of the Virtual Serial Number + Description pulumi.StringPtrInput `pulumi:"description"` + // Provide an existing reserved Virtual Serial Number or specify 'auto-assign' for auto generated Virtual Serial Number. + Serial pulumi.StringInput `pulumi:"serial"` + // Software tier. Enum: ["P05", "P10", "P20", "P30"]. + SoftwareTier pulumi.StringPtrInput `pulumi:"softwareTier"` +} + +func (PiInstancePiVirtualSerialNumberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiInstancePiVirtualSerialNumber)(nil)).Elem() +} + +func (i PiInstancePiVirtualSerialNumberArgs) ToPiInstancePiVirtualSerialNumberOutput() PiInstancePiVirtualSerialNumberOutput { + return i.ToPiInstancePiVirtualSerialNumberOutputWithContext(context.Background()) +} + +func (i PiInstancePiVirtualSerialNumberArgs) ToPiInstancePiVirtualSerialNumberOutputWithContext(ctx context.Context) PiInstancePiVirtualSerialNumberOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstancePiVirtualSerialNumberOutput) +} + +func (i PiInstancePiVirtualSerialNumberArgs) ToPiInstancePiVirtualSerialNumberPtrOutput() PiInstancePiVirtualSerialNumberPtrOutput { + return i.ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(context.Background()) +} + +func (i PiInstancePiVirtualSerialNumberArgs) ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(ctx context.Context) PiInstancePiVirtualSerialNumberPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstancePiVirtualSerialNumberOutput).ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(ctx) +} + +// PiInstancePiVirtualSerialNumberPtrInput is an input type that accepts PiInstancePiVirtualSerialNumberArgs, PiInstancePiVirtualSerialNumberPtr and PiInstancePiVirtualSerialNumberPtrOutput values. +// You can construct a concrete instance of `PiInstancePiVirtualSerialNumberPtrInput` via: +// +// PiInstancePiVirtualSerialNumberArgs{...} +// +// or: +// +// nil +type PiInstancePiVirtualSerialNumberPtrInput interface { + pulumi.Input + + ToPiInstancePiVirtualSerialNumberPtrOutput() PiInstancePiVirtualSerialNumberPtrOutput + ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(context.Context) PiInstancePiVirtualSerialNumberPtrOutput +} + +type piInstancePiVirtualSerialNumberPtrType PiInstancePiVirtualSerialNumberArgs + +func PiInstancePiVirtualSerialNumberPtr(v *PiInstancePiVirtualSerialNumberArgs) PiInstancePiVirtualSerialNumberPtrInput { + return (*piInstancePiVirtualSerialNumberPtrType)(v) +} + +func (*piInstancePiVirtualSerialNumberPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstancePiVirtualSerialNumber)(nil)).Elem() +} + +func (i *piInstancePiVirtualSerialNumberPtrType) ToPiInstancePiVirtualSerialNumberPtrOutput() PiInstancePiVirtualSerialNumberPtrOutput { + return i.ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(context.Background()) +} + +func (i *piInstancePiVirtualSerialNumberPtrType) ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(ctx context.Context) PiInstancePiVirtualSerialNumberPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiInstancePiVirtualSerialNumberPtrOutput) +} + +type PiInstancePiVirtualSerialNumberOutput struct{ *pulumi.OutputState } + +func (PiInstancePiVirtualSerialNumberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiInstancePiVirtualSerialNumber)(nil)).Elem() +} + +func (o PiInstancePiVirtualSerialNumberOutput) ToPiInstancePiVirtualSerialNumberOutput() PiInstancePiVirtualSerialNumberOutput { + return o +} + +func (o PiInstancePiVirtualSerialNumberOutput) ToPiInstancePiVirtualSerialNumberOutputWithContext(ctx context.Context) PiInstancePiVirtualSerialNumberOutput { + return o +} + +func (o PiInstancePiVirtualSerialNumberOutput) ToPiInstancePiVirtualSerialNumberPtrOutput() PiInstancePiVirtualSerialNumberPtrOutput { + return o.ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(context.Background()) +} + +func (o PiInstancePiVirtualSerialNumberOutput) ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(ctx context.Context) PiInstancePiVirtualSerialNumberPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiInstancePiVirtualSerialNumber) *PiInstancePiVirtualSerialNumber { + return &v + }).(PiInstancePiVirtualSerialNumberPtrOutput) +} + +// Description of the Virtual Serial Number +func (o PiInstancePiVirtualSerialNumberOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiInstancePiVirtualSerialNumber) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Provide an existing reserved Virtual Serial Number or specify 'auto-assign' for auto generated Virtual Serial Number. +func (o PiInstancePiVirtualSerialNumberOutput) Serial() pulumi.StringOutput { + return o.ApplyT(func(v PiInstancePiVirtualSerialNumber) string { return v.Serial }).(pulumi.StringOutput) +} + +// Software tier. Enum: ["P05", "P10", "P20", "P30"]. +func (o PiInstancePiVirtualSerialNumberOutput) SoftwareTier() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiInstancePiVirtualSerialNumber) *string { return v.SoftwareTier }).(pulumi.StringPtrOutput) +} + +type PiInstancePiVirtualSerialNumberPtrOutput struct{ *pulumi.OutputState } + +func (PiInstancePiVirtualSerialNumberPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiInstancePiVirtualSerialNumber)(nil)).Elem() +} + +func (o PiInstancePiVirtualSerialNumberPtrOutput) ToPiInstancePiVirtualSerialNumberPtrOutput() PiInstancePiVirtualSerialNumberPtrOutput { + return o +} + +func (o PiInstancePiVirtualSerialNumberPtrOutput) ToPiInstancePiVirtualSerialNumberPtrOutputWithContext(ctx context.Context) PiInstancePiVirtualSerialNumberPtrOutput { + return o +} + +func (o PiInstancePiVirtualSerialNumberPtrOutput) Elem() PiInstancePiVirtualSerialNumberOutput { + return o.ApplyT(func(v *PiInstancePiVirtualSerialNumber) PiInstancePiVirtualSerialNumber { + if v != nil { + return *v + } + var ret PiInstancePiVirtualSerialNumber + return ret + }).(PiInstancePiVirtualSerialNumberOutput) +} + +// Description of the Virtual Serial Number +func (o PiInstancePiVirtualSerialNumberPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstancePiVirtualSerialNumber) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Provide an existing reserved Virtual Serial Number or specify 'auto-assign' for auto generated Virtual Serial Number. +func (o PiInstancePiVirtualSerialNumberPtrOutput) Serial() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstancePiVirtualSerialNumber) *string { + if v == nil { + return nil + } + return &v.Serial + }).(pulumi.StringPtrOutput) +} + +// Software tier. Enum: ["P05", "P10", "P20", "P30"]. +func (o PiInstancePiVirtualSerialNumberPtrOutput) SoftwareTier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiInstancePiVirtualSerialNumber) *string { + if v == nil { + return nil + } + return v.SoftwareTier + }).(pulumi.StringPtrOutput) +} + +type PiNetworkAddressGroupMemberType struct { + // The IP addresses in CIDR notation for example 192.168.1.5/32. + Cidr *string `pulumi:"cidr"` + // The id of the Network Address Group member IP addresses. + Id *string `pulumi:"id"` +} + +// PiNetworkAddressGroupMemberTypeInput is an input type that accepts PiNetworkAddressGroupMemberTypeArgs and PiNetworkAddressGroupMemberTypeOutput values. +// You can construct a concrete instance of `PiNetworkAddressGroupMemberTypeInput` via: +// +// PiNetworkAddressGroupMemberTypeArgs{...} +type PiNetworkAddressGroupMemberTypeInput interface { + pulumi.Input + + ToPiNetworkAddressGroupMemberTypeOutput() PiNetworkAddressGroupMemberTypeOutput + ToPiNetworkAddressGroupMemberTypeOutputWithContext(context.Context) PiNetworkAddressGroupMemberTypeOutput +} + +type PiNetworkAddressGroupMemberTypeArgs struct { + // The IP addresses in CIDR notation for example 192.168.1.5/32. + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + // The id of the Network Address Group member IP addresses. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (PiNetworkAddressGroupMemberTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkAddressGroupMemberType)(nil)).Elem() +} + +func (i PiNetworkAddressGroupMemberTypeArgs) ToPiNetworkAddressGroupMemberTypeOutput() PiNetworkAddressGroupMemberTypeOutput { + return i.ToPiNetworkAddressGroupMemberTypeOutputWithContext(context.Background()) +} + +func (i PiNetworkAddressGroupMemberTypeArgs) ToPiNetworkAddressGroupMemberTypeOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkAddressGroupMemberTypeOutput) +} + +// PiNetworkAddressGroupMemberTypeArrayInput is an input type that accepts PiNetworkAddressGroupMemberTypeArray and PiNetworkAddressGroupMemberTypeArrayOutput values. +// You can construct a concrete instance of `PiNetworkAddressGroupMemberTypeArrayInput` via: +// +// PiNetworkAddressGroupMemberTypeArray{ PiNetworkAddressGroupMemberTypeArgs{...} } +type PiNetworkAddressGroupMemberTypeArrayInput interface { + pulumi.Input + + ToPiNetworkAddressGroupMemberTypeArrayOutput() PiNetworkAddressGroupMemberTypeArrayOutput + ToPiNetworkAddressGroupMemberTypeArrayOutputWithContext(context.Context) PiNetworkAddressGroupMemberTypeArrayOutput +} + +type PiNetworkAddressGroupMemberTypeArray []PiNetworkAddressGroupMemberTypeInput + +func (PiNetworkAddressGroupMemberTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkAddressGroupMemberType)(nil)).Elem() +} + +func (i PiNetworkAddressGroupMemberTypeArray) ToPiNetworkAddressGroupMemberTypeArrayOutput() PiNetworkAddressGroupMemberTypeArrayOutput { + return i.ToPiNetworkAddressGroupMemberTypeArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkAddressGroupMemberTypeArray) ToPiNetworkAddressGroupMemberTypeArrayOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkAddressGroupMemberTypeArrayOutput) +} + +type PiNetworkAddressGroupMemberTypeOutput struct{ *pulumi.OutputState } + +func (PiNetworkAddressGroupMemberTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkAddressGroupMemberType)(nil)).Elem() +} + +func (o PiNetworkAddressGroupMemberTypeOutput) ToPiNetworkAddressGroupMemberTypeOutput() PiNetworkAddressGroupMemberTypeOutput { + return o +} + +func (o PiNetworkAddressGroupMemberTypeOutput) ToPiNetworkAddressGroupMemberTypeOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberTypeOutput { + return o +} + +// The IP addresses in CIDR notation for example 192.168.1.5/32. +func (o PiNetworkAddressGroupMemberTypeOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkAddressGroupMemberType) *string { return v.Cidr }).(pulumi.StringPtrOutput) +} + +// The id of the Network Address Group member IP addresses. +func (o PiNetworkAddressGroupMemberTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkAddressGroupMemberType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type PiNetworkAddressGroupMemberTypeArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkAddressGroupMemberTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkAddressGroupMemberType)(nil)).Elem() +} + +func (o PiNetworkAddressGroupMemberTypeArrayOutput) ToPiNetworkAddressGroupMemberTypeArrayOutput() PiNetworkAddressGroupMemberTypeArrayOutput { + return o +} + +func (o PiNetworkAddressGroupMemberTypeArrayOutput) ToPiNetworkAddressGroupMemberTypeArrayOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberTypeArrayOutput { + return o +} + +func (o PiNetworkAddressGroupMemberTypeArrayOutput) Index(i pulumi.IntInput) PiNetworkAddressGroupMemberTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkAddressGroupMemberType { + return vs[0].([]PiNetworkAddressGroupMemberType)[vs[1].(int)] + }).(PiNetworkAddressGroupMemberTypeOutput) +} + +type PiNetworkAddressGroupMemberMember struct { + // The IP addresses in CIDR notation for example 192.168.1.5/32. + Cidr *string `pulumi:"cidr"` + // The id of the Network Address Group member IP addresses. + Id *string `pulumi:"id"` +} + +// PiNetworkAddressGroupMemberMemberInput is an input type that accepts PiNetworkAddressGroupMemberMemberArgs and PiNetworkAddressGroupMemberMemberOutput values. +// You can construct a concrete instance of `PiNetworkAddressGroupMemberMemberInput` via: +// +// PiNetworkAddressGroupMemberMemberArgs{...} +type PiNetworkAddressGroupMemberMemberInput interface { + pulumi.Input + + ToPiNetworkAddressGroupMemberMemberOutput() PiNetworkAddressGroupMemberMemberOutput + ToPiNetworkAddressGroupMemberMemberOutputWithContext(context.Context) PiNetworkAddressGroupMemberMemberOutput +} + +type PiNetworkAddressGroupMemberMemberArgs struct { + // The IP addresses in CIDR notation for example 192.168.1.5/32. + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + // The id of the Network Address Group member IP addresses. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (PiNetworkAddressGroupMemberMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkAddressGroupMemberMember)(nil)).Elem() +} + +func (i PiNetworkAddressGroupMemberMemberArgs) ToPiNetworkAddressGroupMemberMemberOutput() PiNetworkAddressGroupMemberMemberOutput { + return i.ToPiNetworkAddressGroupMemberMemberOutputWithContext(context.Background()) +} + +func (i PiNetworkAddressGroupMemberMemberArgs) ToPiNetworkAddressGroupMemberMemberOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkAddressGroupMemberMemberOutput) +} + +// PiNetworkAddressGroupMemberMemberArrayInput is an input type that accepts PiNetworkAddressGroupMemberMemberArray and PiNetworkAddressGroupMemberMemberArrayOutput values. +// You can construct a concrete instance of `PiNetworkAddressGroupMemberMemberArrayInput` via: +// +// PiNetworkAddressGroupMemberMemberArray{ PiNetworkAddressGroupMemberMemberArgs{...} } +type PiNetworkAddressGroupMemberMemberArrayInput interface { + pulumi.Input + + ToPiNetworkAddressGroupMemberMemberArrayOutput() PiNetworkAddressGroupMemberMemberArrayOutput + ToPiNetworkAddressGroupMemberMemberArrayOutputWithContext(context.Context) PiNetworkAddressGroupMemberMemberArrayOutput +} + +type PiNetworkAddressGroupMemberMemberArray []PiNetworkAddressGroupMemberMemberInput + +func (PiNetworkAddressGroupMemberMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkAddressGroupMemberMember)(nil)).Elem() +} + +func (i PiNetworkAddressGroupMemberMemberArray) ToPiNetworkAddressGroupMemberMemberArrayOutput() PiNetworkAddressGroupMemberMemberArrayOutput { + return i.ToPiNetworkAddressGroupMemberMemberArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkAddressGroupMemberMemberArray) ToPiNetworkAddressGroupMemberMemberArrayOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkAddressGroupMemberMemberArrayOutput) +} + +type PiNetworkAddressGroupMemberMemberOutput struct{ *pulumi.OutputState } + +func (PiNetworkAddressGroupMemberMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkAddressGroupMemberMember)(nil)).Elem() +} + +func (o PiNetworkAddressGroupMemberMemberOutput) ToPiNetworkAddressGroupMemberMemberOutput() PiNetworkAddressGroupMemberMemberOutput { + return o +} + +func (o PiNetworkAddressGroupMemberMemberOutput) ToPiNetworkAddressGroupMemberMemberOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberMemberOutput { + return o +} + +// The IP addresses in CIDR notation for example 192.168.1.5/32. +func (o PiNetworkAddressGroupMemberMemberOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkAddressGroupMemberMember) *string { return v.Cidr }).(pulumi.StringPtrOutput) +} + +// The id of the Network Address Group member IP addresses. +func (o PiNetworkAddressGroupMemberMemberOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkAddressGroupMemberMember) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type PiNetworkAddressGroupMemberMemberArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkAddressGroupMemberMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkAddressGroupMemberMember)(nil)).Elem() +} + +func (o PiNetworkAddressGroupMemberMemberArrayOutput) ToPiNetworkAddressGroupMemberMemberArrayOutput() PiNetworkAddressGroupMemberMemberArrayOutput { + return o +} + +func (o PiNetworkAddressGroupMemberMemberArrayOutput) ToPiNetworkAddressGroupMemberMemberArrayOutputWithContext(ctx context.Context) PiNetworkAddressGroupMemberMemberArrayOutput { + return o +} + +func (o PiNetworkAddressGroupMemberMemberArrayOutput) Index(i pulumi.IntInput) PiNetworkAddressGroupMemberMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkAddressGroupMemberMember { + return vs[0].([]PiNetworkAddressGroupMemberMember)[vs[1].(int)] + }).(PiNetworkAddressGroupMemberMemberOutput) +} + +type PiNetworkInterfaceInstance struct { + // Link to instance resource. + Href *string `pulumi:"href"` + // The attached instance ID. + InstanceId *string `pulumi:"instanceId"` +} + +// PiNetworkInterfaceInstanceInput is an input type that accepts PiNetworkInterfaceInstanceArgs and PiNetworkInterfaceInstanceOutput values. +// You can construct a concrete instance of `PiNetworkInterfaceInstanceInput` via: +// +// PiNetworkInterfaceInstanceArgs{...} +type PiNetworkInterfaceInstanceInput interface { + pulumi.Input + + ToPiNetworkInterfaceInstanceOutput() PiNetworkInterfaceInstanceOutput + ToPiNetworkInterfaceInstanceOutputWithContext(context.Context) PiNetworkInterfaceInstanceOutput +} + +type PiNetworkInterfaceInstanceArgs struct { + // Link to instance resource. + Href pulumi.StringPtrInput `pulumi:"href"` + // The attached instance ID. + InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` +} + +func (PiNetworkInterfaceInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkInterfaceInstance)(nil)).Elem() +} + +func (i PiNetworkInterfaceInstanceArgs) ToPiNetworkInterfaceInstanceOutput() PiNetworkInterfaceInstanceOutput { + return i.ToPiNetworkInterfaceInstanceOutputWithContext(context.Background()) +} + +func (i PiNetworkInterfaceInstanceArgs) ToPiNetworkInterfaceInstanceOutputWithContext(ctx context.Context) PiNetworkInterfaceInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkInterfaceInstanceOutput) +} + +// PiNetworkInterfaceInstanceArrayInput is an input type that accepts PiNetworkInterfaceInstanceArray and PiNetworkInterfaceInstanceArrayOutput values. +// You can construct a concrete instance of `PiNetworkInterfaceInstanceArrayInput` via: +// +// PiNetworkInterfaceInstanceArray{ PiNetworkInterfaceInstanceArgs{...} } +type PiNetworkInterfaceInstanceArrayInput interface { + pulumi.Input + + ToPiNetworkInterfaceInstanceArrayOutput() PiNetworkInterfaceInstanceArrayOutput + ToPiNetworkInterfaceInstanceArrayOutputWithContext(context.Context) PiNetworkInterfaceInstanceArrayOutput +} + +type PiNetworkInterfaceInstanceArray []PiNetworkInterfaceInstanceInput + +func (PiNetworkInterfaceInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkInterfaceInstance)(nil)).Elem() +} + +func (i PiNetworkInterfaceInstanceArray) ToPiNetworkInterfaceInstanceArrayOutput() PiNetworkInterfaceInstanceArrayOutput { + return i.ToPiNetworkInterfaceInstanceArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkInterfaceInstanceArray) ToPiNetworkInterfaceInstanceArrayOutputWithContext(ctx context.Context) PiNetworkInterfaceInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkInterfaceInstanceArrayOutput) +} + +type PiNetworkInterfaceInstanceOutput struct{ *pulumi.OutputState } + +func (PiNetworkInterfaceInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkInterfaceInstance)(nil)).Elem() +} + +func (o PiNetworkInterfaceInstanceOutput) ToPiNetworkInterfaceInstanceOutput() PiNetworkInterfaceInstanceOutput { + return o +} + +func (o PiNetworkInterfaceInstanceOutput) ToPiNetworkInterfaceInstanceOutputWithContext(ctx context.Context) PiNetworkInterfaceInstanceOutput { + return o +} + +// Link to instance resource. +func (o PiNetworkInterfaceInstanceOutput) Href() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkInterfaceInstance) *string { return v.Href }).(pulumi.StringPtrOutput) +} + +// The attached instance ID. +func (o PiNetworkInterfaceInstanceOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkInterfaceInstance) *string { return v.InstanceId }).(pulumi.StringPtrOutput) +} + +type PiNetworkInterfaceInstanceArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkInterfaceInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkInterfaceInstance)(nil)).Elem() +} + +func (o PiNetworkInterfaceInstanceArrayOutput) ToPiNetworkInterfaceInstanceArrayOutput() PiNetworkInterfaceInstanceArrayOutput { + return o +} + +func (o PiNetworkInterfaceInstanceArrayOutput) ToPiNetworkInterfaceInstanceArrayOutputWithContext(ctx context.Context) PiNetworkInterfaceInstanceArrayOutput { + return o +} + +func (o PiNetworkInterfaceInstanceArrayOutput) Index(i pulumi.IntInput) PiNetworkInterfaceInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkInterfaceInstance { + return vs[0].([]PiNetworkInterfaceInstance)[vs[1].(int)] + }).(PiNetworkInterfaceInstanceOutput) +} + +type PiNetworkNetworkAddressTranslation struct { + // source IP address, required if network peer type is L3BGP or L3STATIC and if NAT is enabled. + // + // Deprecated: This field is deprecated + SourceIp *string `pulumi:"sourceIp"` +} + +// PiNetworkNetworkAddressTranslationInput is an input type that accepts PiNetworkNetworkAddressTranslationArgs and PiNetworkNetworkAddressTranslationOutput values. +// You can construct a concrete instance of `PiNetworkNetworkAddressTranslationInput` via: +// +// PiNetworkNetworkAddressTranslationArgs{...} +type PiNetworkNetworkAddressTranslationInput interface { + pulumi.Input + + ToPiNetworkNetworkAddressTranslationOutput() PiNetworkNetworkAddressTranslationOutput + ToPiNetworkNetworkAddressTranslationOutputWithContext(context.Context) PiNetworkNetworkAddressTranslationOutput +} + +type PiNetworkNetworkAddressTranslationArgs struct { + // source IP address, required if network peer type is L3BGP or L3STATIC and if NAT is enabled. + // + // Deprecated: This field is deprecated + SourceIp pulumi.StringPtrInput `pulumi:"sourceIp"` +} + +func (PiNetworkNetworkAddressTranslationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkNetworkAddressTranslation)(nil)).Elem() +} + +func (i PiNetworkNetworkAddressTranslationArgs) ToPiNetworkNetworkAddressTranslationOutput() PiNetworkNetworkAddressTranslationOutput { + return i.ToPiNetworkNetworkAddressTranslationOutputWithContext(context.Background()) +} + +func (i PiNetworkNetworkAddressTranslationArgs) ToPiNetworkNetworkAddressTranslationOutputWithContext(ctx context.Context) PiNetworkNetworkAddressTranslationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkNetworkAddressTranslationOutput) +} + +// PiNetworkNetworkAddressTranslationArrayInput is an input type that accepts PiNetworkNetworkAddressTranslationArray and PiNetworkNetworkAddressTranslationArrayOutput values. +// You can construct a concrete instance of `PiNetworkNetworkAddressTranslationArrayInput` via: +// +// PiNetworkNetworkAddressTranslationArray{ PiNetworkNetworkAddressTranslationArgs{...} } +type PiNetworkNetworkAddressTranslationArrayInput interface { + pulumi.Input + + ToPiNetworkNetworkAddressTranslationArrayOutput() PiNetworkNetworkAddressTranslationArrayOutput + ToPiNetworkNetworkAddressTranslationArrayOutputWithContext(context.Context) PiNetworkNetworkAddressTranslationArrayOutput +} + +type PiNetworkNetworkAddressTranslationArray []PiNetworkNetworkAddressTranslationInput + +func (PiNetworkNetworkAddressTranslationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkNetworkAddressTranslation)(nil)).Elem() +} + +func (i PiNetworkNetworkAddressTranslationArray) ToPiNetworkNetworkAddressTranslationArrayOutput() PiNetworkNetworkAddressTranslationArrayOutput { + return i.ToPiNetworkNetworkAddressTranslationArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkNetworkAddressTranslationArray) ToPiNetworkNetworkAddressTranslationArrayOutputWithContext(ctx context.Context) PiNetworkNetworkAddressTranslationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkNetworkAddressTranslationArrayOutput) +} + +type PiNetworkNetworkAddressTranslationOutput struct{ *pulumi.OutputState } + +func (PiNetworkNetworkAddressTranslationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkNetworkAddressTranslation)(nil)).Elem() +} + +func (o PiNetworkNetworkAddressTranslationOutput) ToPiNetworkNetworkAddressTranslationOutput() PiNetworkNetworkAddressTranslationOutput { + return o +} + +func (o PiNetworkNetworkAddressTranslationOutput) ToPiNetworkNetworkAddressTranslationOutputWithContext(ctx context.Context) PiNetworkNetworkAddressTranslationOutput { + return o +} + +// source IP address, required if network peer type is L3BGP or L3STATIC and if NAT is enabled. +// +// Deprecated: This field is deprecated +func (o PiNetworkNetworkAddressTranslationOutput) SourceIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkNetworkAddressTranslation) *string { return v.SourceIp }).(pulumi.StringPtrOutput) +} + +type PiNetworkNetworkAddressTranslationArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkNetworkAddressTranslationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkNetworkAddressTranslation)(nil)).Elem() +} + +func (o PiNetworkNetworkAddressTranslationArrayOutput) ToPiNetworkNetworkAddressTranslationArrayOutput() PiNetworkNetworkAddressTranslationArrayOutput { + return o +} + +func (o PiNetworkNetworkAddressTranslationArrayOutput) ToPiNetworkNetworkAddressTranslationArrayOutputWithContext(ctx context.Context) PiNetworkNetworkAddressTranslationArrayOutput { + return o +} + +func (o PiNetworkNetworkAddressTranslationArrayOutput) Index(i pulumi.IntInput) PiNetworkNetworkAddressTranslationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkNetworkAddressTranslation { + return vs[0].([]PiNetworkNetworkAddressTranslation)[vs[1].(int)] + }).(PiNetworkNetworkAddressTranslationOutput) +} + +type PiNetworkPeerExportRouteFilter struct { + // Action of the filter. + Action *string `pulumi:"action"` + // Time stamp for create route filter. + CreationDate *string `pulumi:"creationDate"` + // Direction of the filter. + Direction *string `pulumi:"direction"` + // Error description. + Error *string `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge *int `pulumi:"ge"` + // Priority or order of the filter. + Index *int `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le *int `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix *string `pulumi:"prefix"` + // Route filter ID. + RouteFilterId *string `pulumi:"routeFilterId"` + // Status of the route filter. + State *string `pulumi:"state"` +} + +// PiNetworkPeerExportRouteFilterInput is an input type that accepts PiNetworkPeerExportRouteFilterArgs and PiNetworkPeerExportRouteFilterOutput values. +// You can construct a concrete instance of `PiNetworkPeerExportRouteFilterInput` via: +// +// PiNetworkPeerExportRouteFilterArgs{...} +type PiNetworkPeerExportRouteFilterInput interface { + pulumi.Input + + ToPiNetworkPeerExportRouteFilterOutput() PiNetworkPeerExportRouteFilterOutput + ToPiNetworkPeerExportRouteFilterOutputWithContext(context.Context) PiNetworkPeerExportRouteFilterOutput +} + +type PiNetworkPeerExportRouteFilterArgs struct { + // Action of the filter. + Action pulumi.StringPtrInput `pulumi:"action"` + // Time stamp for create route filter. + CreationDate pulumi.StringPtrInput `pulumi:"creationDate"` + // Direction of the filter. + Direction pulumi.StringPtrInput `pulumi:"direction"` + // Error description. + Error pulumi.StringPtrInput `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge pulumi.IntPtrInput `pulumi:"ge"` + // Priority or order of the filter. + Index pulumi.IntPtrInput `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le pulumi.IntPtrInput `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Route filter ID. + RouteFilterId pulumi.StringPtrInput `pulumi:"routeFilterId"` + // Status of the route filter. + State pulumi.StringPtrInput `pulumi:"state"` +} + +func (PiNetworkPeerExportRouteFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (i PiNetworkPeerExportRouteFilterArgs) ToPiNetworkPeerExportRouteFilterOutput() PiNetworkPeerExportRouteFilterOutput { + return i.ToPiNetworkPeerExportRouteFilterOutputWithContext(context.Background()) +} + +func (i PiNetworkPeerExportRouteFilterArgs) ToPiNetworkPeerExportRouteFilterOutputWithContext(ctx context.Context) PiNetworkPeerExportRouteFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPeerExportRouteFilterOutput) +} + +// PiNetworkPeerExportRouteFilterArrayInput is an input type that accepts PiNetworkPeerExportRouteFilterArray and PiNetworkPeerExportRouteFilterArrayOutput values. +// You can construct a concrete instance of `PiNetworkPeerExportRouteFilterArrayInput` via: +// +// PiNetworkPeerExportRouteFilterArray{ PiNetworkPeerExportRouteFilterArgs{...} } +type PiNetworkPeerExportRouteFilterArrayInput interface { + pulumi.Input + + ToPiNetworkPeerExportRouteFilterArrayOutput() PiNetworkPeerExportRouteFilterArrayOutput + ToPiNetworkPeerExportRouteFilterArrayOutputWithContext(context.Context) PiNetworkPeerExportRouteFilterArrayOutput +} + +type PiNetworkPeerExportRouteFilterArray []PiNetworkPeerExportRouteFilterInput + +func (PiNetworkPeerExportRouteFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (i PiNetworkPeerExportRouteFilterArray) ToPiNetworkPeerExportRouteFilterArrayOutput() PiNetworkPeerExportRouteFilterArrayOutput { + return i.ToPiNetworkPeerExportRouteFilterArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkPeerExportRouteFilterArray) ToPiNetworkPeerExportRouteFilterArrayOutputWithContext(ctx context.Context) PiNetworkPeerExportRouteFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPeerExportRouteFilterArrayOutput) +} + +type PiNetworkPeerExportRouteFilterOutput struct{ *pulumi.OutputState } + +func (PiNetworkPeerExportRouteFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (o PiNetworkPeerExportRouteFilterOutput) ToPiNetworkPeerExportRouteFilterOutput() PiNetworkPeerExportRouteFilterOutput { + return o +} + +func (o PiNetworkPeerExportRouteFilterOutput) ToPiNetworkPeerExportRouteFilterOutputWithContext(ctx context.Context) PiNetworkPeerExportRouteFilterOutput { + return o +} + +// Action of the filter. +func (o PiNetworkPeerExportRouteFilterOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// Time stamp for create route filter. +func (o PiNetworkPeerExportRouteFilterOutput) CreationDate() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *string { return v.CreationDate }).(pulumi.StringPtrOutput) +} + +// Direction of the filter. +func (o PiNetworkPeerExportRouteFilterOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +// Error description. +func (o PiNetworkPeerExportRouteFilterOutput) Error() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *string { return v.Error }).(pulumi.StringPtrOutput) +} + +// The minimum matching length of the prefix-set. +func (o PiNetworkPeerExportRouteFilterOutput) Ge() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *int { return v.Ge }).(pulumi.IntPtrOutput) +} + +// Priority or order of the filter. +func (o PiNetworkPeerExportRouteFilterOutput) Index() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *int { return v.Index }).(pulumi.IntPtrOutput) +} + +// The maximum matching length of the prefix-set. +func (o PiNetworkPeerExportRouteFilterOutput) Le() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *int { return v.Le }).(pulumi.IntPtrOutput) +} + +// IP prefix representing an address and mask length of the prefix-set. +func (o PiNetworkPeerExportRouteFilterOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// Route filter ID. +func (o PiNetworkPeerExportRouteFilterOutput) RouteFilterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *string { return v.RouteFilterId }).(pulumi.StringPtrOutput) +} + +// Status of the route filter. +func (o PiNetworkPeerExportRouteFilterOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerExportRouteFilter) *string { return v.State }).(pulumi.StringPtrOutput) +} + +type PiNetworkPeerExportRouteFilterArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkPeerExportRouteFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (o PiNetworkPeerExportRouteFilterArrayOutput) ToPiNetworkPeerExportRouteFilterArrayOutput() PiNetworkPeerExportRouteFilterArrayOutput { + return o +} + +func (o PiNetworkPeerExportRouteFilterArrayOutput) ToPiNetworkPeerExportRouteFilterArrayOutputWithContext(ctx context.Context) PiNetworkPeerExportRouteFilterArrayOutput { + return o +} + +func (o PiNetworkPeerExportRouteFilterArrayOutput) Index(i pulumi.IntInput) PiNetworkPeerExportRouteFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkPeerExportRouteFilter { + return vs[0].([]PiNetworkPeerExportRouteFilter)[vs[1].(int)] + }).(PiNetworkPeerExportRouteFilterOutput) +} + +type PiNetworkPeerImportRouteFilter struct { + // Action of the filter. + Action *string `pulumi:"action"` + // Time stamp for create route filter. + CreationDate *string `pulumi:"creationDate"` + // Direction of the filter. + Direction *string `pulumi:"direction"` + // Error description. + Error *string `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge *int `pulumi:"ge"` + // Priority or order of the filter. + Index *int `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le *int `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix *string `pulumi:"prefix"` + // Route filter ID. + RouteFilterId *string `pulumi:"routeFilterId"` + // Status of the route filter. + State *string `pulumi:"state"` +} + +// PiNetworkPeerImportRouteFilterInput is an input type that accepts PiNetworkPeerImportRouteFilterArgs and PiNetworkPeerImportRouteFilterOutput values. +// You can construct a concrete instance of `PiNetworkPeerImportRouteFilterInput` via: +// +// PiNetworkPeerImportRouteFilterArgs{...} +type PiNetworkPeerImportRouteFilterInput interface { + pulumi.Input + + ToPiNetworkPeerImportRouteFilterOutput() PiNetworkPeerImportRouteFilterOutput + ToPiNetworkPeerImportRouteFilterOutputWithContext(context.Context) PiNetworkPeerImportRouteFilterOutput +} + +type PiNetworkPeerImportRouteFilterArgs struct { + // Action of the filter. + Action pulumi.StringPtrInput `pulumi:"action"` + // Time stamp for create route filter. + CreationDate pulumi.StringPtrInput `pulumi:"creationDate"` + // Direction of the filter. + Direction pulumi.StringPtrInput `pulumi:"direction"` + // Error description. + Error pulumi.StringPtrInput `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge pulumi.IntPtrInput `pulumi:"ge"` + // Priority or order of the filter. + Index pulumi.IntPtrInput `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le pulumi.IntPtrInput `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Route filter ID. + RouteFilterId pulumi.StringPtrInput `pulumi:"routeFilterId"` + // Status of the route filter. + State pulumi.StringPtrInput `pulumi:"state"` +} + +func (PiNetworkPeerImportRouteFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (i PiNetworkPeerImportRouteFilterArgs) ToPiNetworkPeerImportRouteFilterOutput() PiNetworkPeerImportRouteFilterOutput { + return i.ToPiNetworkPeerImportRouteFilterOutputWithContext(context.Background()) +} + +func (i PiNetworkPeerImportRouteFilterArgs) ToPiNetworkPeerImportRouteFilterOutputWithContext(ctx context.Context) PiNetworkPeerImportRouteFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPeerImportRouteFilterOutput) +} + +// PiNetworkPeerImportRouteFilterArrayInput is an input type that accepts PiNetworkPeerImportRouteFilterArray and PiNetworkPeerImportRouteFilterArrayOutput values. +// You can construct a concrete instance of `PiNetworkPeerImportRouteFilterArrayInput` via: +// +// PiNetworkPeerImportRouteFilterArray{ PiNetworkPeerImportRouteFilterArgs{...} } +type PiNetworkPeerImportRouteFilterArrayInput interface { + pulumi.Input + + ToPiNetworkPeerImportRouteFilterArrayOutput() PiNetworkPeerImportRouteFilterArrayOutput + ToPiNetworkPeerImportRouteFilterArrayOutputWithContext(context.Context) PiNetworkPeerImportRouteFilterArrayOutput +} + +type PiNetworkPeerImportRouteFilterArray []PiNetworkPeerImportRouteFilterInput + +func (PiNetworkPeerImportRouteFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (i PiNetworkPeerImportRouteFilterArray) ToPiNetworkPeerImportRouteFilterArrayOutput() PiNetworkPeerImportRouteFilterArrayOutput { + return i.ToPiNetworkPeerImportRouteFilterArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkPeerImportRouteFilterArray) ToPiNetworkPeerImportRouteFilterArrayOutputWithContext(ctx context.Context) PiNetworkPeerImportRouteFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPeerImportRouteFilterArrayOutput) +} + +type PiNetworkPeerImportRouteFilterOutput struct{ *pulumi.OutputState } + +func (PiNetworkPeerImportRouteFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (o PiNetworkPeerImportRouteFilterOutput) ToPiNetworkPeerImportRouteFilterOutput() PiNetworkPeerImportRouteFilterOutput { + return o +} + +func (o PiNetworkPeerImportRouteFilterOutput) ToPiNetworkPeerImportRouteFilterOutputWithContext(ctx context.Context) PiNetworkPeerImportRouteFilterOutput { + return o +} + +// Action of the filter. +func (o PiNetworkPeerImportRouteFilterOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// Time stamp for create route filter. +func (o PiNetworkPeerImportRouteFilterOutput) CreationDate() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *string { return v.CreationDate }).(pulumi.StringPtrOutput) +} + +// Direction of the filter. +func (o PiNetworkPeerImportRouteFilterOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +// Error description. +func (o PiNetworkPeerImportRouteFilterOutput) Error() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *string { return v.Error }).(pulumi.StringPtrOutput) +} + +// The minimum matching length of the prefix-set. +func (o PiNetworkPeerImportRouteFilterOutput) Ge() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *int { return v.Ge }).(pulumi.IntPtrOutput) +} + +// Priority or order of the filter. +func (o PiNetworkPeerImportRouteFilterOutput) Index() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *int { return v.Index }).(pulumi.IntPtrOutput) +} + +// The maximum matching length of the prefix-set. +func (o PiNetworkPeerImportRouteFilterOutput) Le() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *int { return v.Le }).(pulumi.IntPtrOutput) +} + +// IP prefix representing an address and mask length of the prefix-set. +func (o PiNetworkPeerImportRouteFilterOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// Route filter ID. +func (o PiNetworkPeerImportRouteFilterOutput) RouteFilterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *string { return v.RouteFilterId }).(pulumi.StringPtrOutput) +} + +// Status of the route filter. +func (o PiNetworkPeerImportRouteFilterOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPeerImportRouteFilter) *string { return v.State }).(pulumi.StringPtrOutput) +} + +type PiNetworkPeerImportRouteFilterArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkPeerImportRouteFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (o PiNetworkPeerImportRouteFilterArrayOutput) ToPiNetworkPeerImportRouteFilterArrayOutput() PiNetworkPeerImportRouteFilterArrayOutput { + return o +} + +func (o PiNetworkPeerImportRouteFilterArrayOutput) ToPiNetworkPeerImportRouteFilterArrayOutputWithContext(ctx context.Context) PiNetworkPeerImportRouteFilterArrayOutput { + return o +} + +func (o PiNetworkPeerImportRouteFilterArrayOutput) Index(i pulumi.IntInput) PiNetworkPeerImportRouteFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkPeerImportRouteFilter { + return vs[0].([]PiNetworkPeerImportRouteFilter)[vs[1].(int)] + }).(PiNetworkPeerImportRouteFilterOutput) +} + +type PiNetworkPiIpaddressRange struct { + // The ending ip address. + PiEndingIpAddress string `pulumi:"piEndingIpAddress"` + // The staring ip address. + PiStartingIpAddress string `pulumi:"piStartingIpAddress"` +} + +// PiNetworkPiIpaddressRangeInput is an input type that accepts PiNetworkPiIpaddressRangeArgs and PiNetworkPiIpaddressRangeOutput values. +// You can construct a concrete instance of `PiNetworkPiIpaddressRangeInput` via: +// +// PiNetworkPiIpaddressRangeArgs{...} +type PiNetworkPiIpaddressRangeInput interface { + pulumi.Input + + ToPiNetworkPiIpaddressRangeOutput() PiNetworkPiIpaddressRangeOutput + ToPiNetworkPiIpaddressRangeOutputWithContext(context.Context) PiNetworkPiIpaddressRangeOutput +} + +type PiNetworkPiIpaddressRangeArgs struct { + // The ending ip address. + PiEndingIpAddress pulumi.StringInput `pulumi:"piEndingIpAddress"` + // The staring ip address. + PiStartingIpAddress pulumi.StringInput `pulumi:"piStartingIpAddress"` +} + +func (PiNetworkPiIpaddressRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPiIpaddressRange)(nil)).Elem() +} + +func (i PiNetworkPiIpaddressRangeArgs) ToPiNetworkPiIpaddressRangeOutput() PiNetworkPiIpaddressRangeOutput { + return i.ToPiNetworkPiIpaddressRangeOutputWithContext(context.Background()) +} + +func (i PiNetworkPiIpaddressRangeArgs) ToPiNetworkPiIpaddressRangeOutputWithContext(ctx context.Context) PiNetworkPiIpaddressRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPiIpaddressRangeOutput) +} + +// PiNetworkPiIpaddressRangeArrayInput is an input type that accepts PiNetworkPiIpaddressRangeArray and PiNetworkPiIpaddressRangeArrayOutput values. +// You can construct a concrete instance of `PiNetworkPiIpaddressRangeArrayInput` via: +// +// PiNetworkPiIpaddressRangeArray{ PiNetworkPiIpaddressRangeArgs{...} } +type PiNetworkPiIpaddressRangeArrayInput interface { + pulumi.Input + + ToPiNetworkPiIpaddressRangeArrayOutput() PiNetworkPiIpaddressRangeArrayOutput + ToPiNetworkPiIpaddressRangeArrayOutputWithContext(context.Context) PiNetworkPiIpaddressRangeArrayOutput +} + +type PiNetworkPiIpaddressRangeArray []PiNetworkPiIpaddressRangeInput + +func (PiNetworkPiIpaddressRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkPiIpaddressRange)(nil)).Elem() +} + +func (i PiNetworkPiIpaddressRangeArray) ToPiNetworkPiIpaddressRangeArrayOutput() PiNetworkPiIpaddressRangeArrayOutput { + return i.ToPiNetworkPiIpaddressRangeArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkPiIpaddressRangeArray) ToPiNetworkPiIpaddressRangeArrayOutputWithContext(ctx context.Context) PiNetworkPiIpaddressRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPiIpaddressRangeArrayOutput) +} + +type PiNetworkPiIpaddressRangeOutput struct{ *pulumi.OutputState } + +func (PiNetworkPiIpaddressRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPiIpaddressRange)(nil)).Elem() +} + +func (o PiNetworkPiIpaddressRangeOutput) ToPiNetworkPiIpaddressRangeOutput() PiNetworkPiIpaddressRangeOutput { + return o +} + +func (o PiNetworkPiIpaddressRangeOutput) ToPiNetworkPiIpaddressRangeOutputWithContext(ctx context.Context) PiNetworkPiIpaddressRangeOutput { + return o +} + +// The ending ip address. +func (o PiNetworkPiIpaddressRangeOutput) PiEndingIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v PiNetworkPiIpaddressRange) string { return v.PiEndingIpAddress }).(pulumi.StringOutput) +} + +// The staring ip address. +func (o PiNetworkPiIpaddressRangeOutput) PiStartingIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v PiNetworkPiIpaddressRange) string { return v.PiStartingIpAddress }).(pulumi.StringOutput) +} + +type PiNetworkPiIpaddressRangeArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkPiIpaddressRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkPiIpaddressRange)(nil)).Elem() +} + +func (o PiNetworkPiIpaddressRangeArrayOutput) ToPiNetworkPiIpaddressRangeArrayOutput() PiNetworkPiIpaddressRangeArrayOutput { + return o +} + +func (o PiNetworkPiIpaddressRangeArrayOutput) ToPiNetworkPiIpaddressRangeArrayOutputWithContext(ctx context.Context) PiNetworkPiIpaddressRangeArrayOutput { + return o +} + +func (o PiNetworkPiIpaddressRangeArrayOutput) Index(i pulumi.IntInput) PiNetworkPiIpaddressRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkPiIpaddressRange { + return vs[0].([]PiNetworkPiIpaddressRange)[vs[1].(int)] + }).(PiNetworkPiIpaddressRangeOutput) +} + +type PiNetworkPiNetworkPeer struct { + // ID of the network peer. + // + // Deprecated: This field is deprecated + Id string `pulumi:"id"` + // Contains the network address translation Details. + // + // Deprecated: This field is deprecated + NetworkAddressTranslation *PiNetworkPiNetworkPeerNetworkAddressTranslation `pulumi:"networkAddressTranslation"` + // Type of the network peer. + // + // Deprecated: This field is deprecated + Type *string `pulumi:"type"` +} + +// PiNetworkPiNetworkPeerInput is an input type that accepts PiNetworkPiNetworkPeerArgs and PiNetworkPiNetworkPeerOutput values. +// You can construct a concrete instance of `PiNetworkPiNetworkPeerInput` via: +// +// PiNetworkPiNetworkPeerArgs{...} +type PiNetworkPiNetworkPeerInput interface { + pulumi.Input + + ToPiNetworkPiNetworkPeerOutput() PiNetworkPiNetworkPeerOutput + ToPiNetworkPiNetworkPeerOutputWithContext(context.Context) PiNetworkPiNetworkPeerOutput +} + +type PiNetworkPiNetworkPeerArgs struct { + // ID of the network peer. + // + // Deprecated: This field is deprecated + Id pulumi.StringInput `pulumi:"id"` + // Contains the network address translation Details. + // + // Deprecated: This field is deprecated + NetworkAddressTranslation PiNetworkPiNetworkPeerNetworkAddressTranslationPtrInput `pulumi:"networkAddressTranslation"` + // Type of the network peer. + // + // Deprecated: This field is deprecated + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkPiNetworkPeerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPiNetworkPeer)(nil)).Elem() +} + +func (i PiNetworkPiNetworkPeerArgs) ToPiNetworkPiNetworkPeerOutput() PiNetworkPiNetworkPeerOutput { + return i.ToPiNetworkPiNetworkPeerOutputWithContext(context.Background()) +} + +func (i PiNetworkPiNetworkPeerArgs) ToPiNetworkPiNetworkPeerOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPiNetworkPeerOutput) +} + +func (i PiNetworkPiNetworkPeerArgs) ToPiNetworkPiNetworkPeerPtrOutput() PiNetworkPiNetworkPeerPtrOutput { + return i.ToPiNetworkPiNetworkPeerPtrOutputWithContext(context.Background()) +} + +func (i PiNetworkPiNetworkPeerArgs) ToPiNetworkPiNetworkPeerPtrOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPiNetworkPeerOutput).ToPiNetworkPiNetworkPeerPtrOutputWithContext(ctx) +} + +// PiNetworkPiNetworkPeerPtrInput is an input type that accepts PiNetworkPiNetworkPeerArgs, PiNetworkPiNetworkPeerPtr and PiNetworkPiNetworkPeerPtrOutput values. +// You can construct a concrete instance of `PiNetworkPiNetworkPeerPtrInput` via: +// +// PiNetworkPiNetworkPeerArgs{...} +// +// or: +// +// nil +type PiNetworkPiNetworkPeerPtrInput interface { + pulumi.Input + + ToPiNetworkPiNetworkPeerPtrOutput() PiNetworkPiNetworkPeerPtrOutput + ToPiNetworkPiNetworkPeerPtrOutputWithContext(context.Context) PiNetworkPiNetworkPeerPtrOutput +} + +type piNetworkPiNetworkPeerPtrType PiNetworkPiNetworkPeerArgs + +func PiNetworkPiNetworkPeerPtr(v *PiNetworkPiNetworkPeerArgs) PiNetworkPiNetworkPeerPtrInput { + return (*piNetworkPiNetworkPeerPtrType)(v) +} + +func (*piNetworkPiNetworkPeerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPiNetworkPeer)(nil)).Elem() +} + +func (i *piNetworkPiNetworkPeerPtrType) ToPiNetworkPiNetworkPeerPtrOutput() PiNetworkPiNetworkPeerPtrOutput { + return i.ToPiNetworkPiNetworkPeerPtrOutputWithContext(context.Background()) +} + +func (i *piNetworkPiNetworkPeerPtrType) ToPiNetworkPiNetworkPeerPtrOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPiNetworkPeerPtrOutput) +} + +type PiNetworkPiNetworkPeerOutput struct{ *pulumi.OutputState } + +func (PiNetworkPiNetworkPeerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPiNetworkPeer)(nil)).Elem() +} + +func (o PiNetworkPiNetworkPeerOutput) ToPiNetworkPiNetworkPeerOutput() PiNetworkPiNetworkPeerOutput { + return o +} + +func (o PiNetworkPiNetworkPeerOutput) ToPiNetworkPiNetworkPeerOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerOutput { + return o +} + +func (o PiNetworkPiNetworkPeerOutput) ToPiNetworkPiNetworkPeerPtrOutput() PiNetworkPiNetworkPeerPtrOutput { + return o.ToPiNetworkPiNetworkPeerPtrOutputWithContext(context.Background()) +} + +func (o PiNetworkPiNetworkPeerOutput) ToPiNetworkPiNetworkPeerPtrOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiNetworkPiNetworkPeer) *PiNetworkPiNetworkPeer { + return &v + }).(PiNetworkPiNetworkPeerPtrOutput) +} + +// ID of the network peer. +// +// Deprecated: This field is deprecated +func (o PiNetworkPiNetworkPeerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v PiNetworkPiNetworkPeer) string { return v.Id }).(pulumi.StringOutput) +} + +// Contains the network address translation Details. +// +// Deprecated: This field is deprecated +func (o PiNetworkPiNetworkPeerOutput) NetworkAddressTranslation() PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return o.ApplyT(func(v PiNetworkPiNetworkPeer) *PiNetworkPiNetworkPeerNetworkAddressTranslation { + return v.NetworkAddressTranslation + }).(PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) +} + +// Type of the network peer. +// +// Deprecated: This field is deprecated +func (o PiNetworkPiNetworkPeerOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkPiNetworkPeer) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkPiNetworkPeerPtrOutput struct{ *pulumi.OutputState } + +func (PiNetworkPiNetworkPeerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPiNetworkPeer)(nil)).Elem() +} + +func (o PiNetworkPiNetworkPeerPtrOutput) ToPiNetworkPiNetworkPeerPtrOutput() PiNetworkPiNetworkPeerPtrOutput { + return o +} + +func (o PiNetworkPiNetworkPeerPtrOutput) ToPiNetworkPiNetworkPeerPtrOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerPtrOutput { + return o +} + +func (o PiNetworkPiNetworkPeerPtrOutput) Elem() PiNetworkPiNetworkPeerOutput { + return o.ApplyT(func(v *PiNetworkPiNetworkPeer) PiNetworkPiNetworkPeer { + if v != nil { + return *v + } + var ret PiNetworkPiNetworkPeer + return ret + }).(PiNetworkPiNetworkPeerOutput) +} + +// ID of the network peer. +// +// Deprecated: This field is deprecated +func (o PiNetworkPiNetworkPeerPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkPiNetworkPeer) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// Contains the network address translation Details. +// +// Deprecated: This field is deprecated +func (o PiNetworkPiNetworkPeerPtrOutput) NetworkAddressTranslation() PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return o.ApplyT(func(v *PiNetworkPiNetworkPeer) *PiNetworkPiNetworkPeerNetworkAddressTranslation { + if v == nil { + return nil + } + return v.NetworkAddressTranslation + }).(PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) +} + +// Type of the network peer. +// +// Deprecated: This field is deprecated +func (o PiNetworkPiNetworkPeerPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkPiNetworkPeer) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +type PiNetworkPiNetworkPeerNetworkAddressTranslation struct { + // source IP address, required if network peer type is L3BGP or L3STATIC and if NAT is enabled. + // + // Deprecated: This field is deprecated + SourceIp string `pulumi:"sourceIp"` +} + +// PiNetworkPiNetworkPeerNetworkAddressTranslationInput is an input type that accepts PiNetworkPiNetworkPeerNetworkAddressTranslationArgs and PiNetworkPiNetworkPeerNetworkAddressTranslationOutput values. +// You can construct a concrete instance of `PiNetworkPiNetworkPeerNetworkAddressTranslationInput` via: +// +// PiNetworkPiNetworkPeerNetworkAddressTranslationArgs{...} +type PiNetworkPiNetworkPeerNetworkAddressTranslationInput interface { + pulumi.Input + + ToPiNetworkPiNetworkPeerNetworkAddressTranslationOutput() PiNetworkPiNetworkPeerNetworkAddressTranslationOutput + ToPiNetworkPiNetworkPeerNetworkAddressTranslationOutputWithContext(context.Context) PiNetworkPiNetworkPeerNetworkAddressTranslationOutput +} + +type PiNetworkPiNetworkPeerNetworkAddressTranslationArgs struct { + // source IP address, required if network peer type is L3BGP or L3STATIC and if NAT is enabled. + // + // Deprecated: This field is deprecated + SourceIp pulumi.StringInput `pulumi:"sourceIp"` +} + +func (PiNetworkPiNetworkPeerNetworkAddressTranslationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPiNetworkPeerNetworkAddressTranslation)(nil)).Elem() +} + +func (i PiNetworkPiNetworkPeerNetworkAddressTranslationArgs) ToPiNetworkPiNetworkPeerNetworkAddressTranslationOutput() PiNetworkPiNetworkPeerNetworkAddressTranslationOutput { + return i.ToPiNetworkPiNetworkPeerNetworkAddressTranslationOutputWithContext(context.Background()) +} + +func (i PiNetworkPiNetworkPeerNetworkAddressTranslationArgs) ToPiNetworkPiNetworkPeerNetworkAddressTranslationOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerNetworkAddressTranslationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPiNetworkPeerNetworkAddressTranslationOutput) +} + +func (i PiNetworkPiNetworkPeerNetworkAddressTranslationArgs) ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput() PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return i.ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(context.Background()) +} + +func (i PiNetworkPiNetworkPeerNetworkAddressTranslationArgs) ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPiNetworkPeerNetworkAddressTranslationOutput).ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(ctx) +} + +// PiNetworkPiNetworkPeerNetworkAddressTranslationPtrInput is an input type that accepts PiNetworkPiNetworkPeerNetworkAddressTranslationArgs, PiNetworkPiNetworkPeerNetworkAddressTranslationPtr and PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput values. +// You can construct a concrete instance of `PiNetworkPiNetworkPeerNetworkAddressTranslationPtrInput` via: +// +// PiNetworkPiNetworkPeerNetworkAddressTranslationArgs{...} +// +// or: +// +// nil +type PiNetworkPiNetworkPeerNetworkAddressTranslationPtrInput interface { + pulumi.Input + + ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput() PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput + ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(context.Context) PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput +} + +type piNetworkPiNetworkPeerNetworkAddressTranslationPtrType PiNetworkPiNetworkPeerNetworkAddressTranslationArgs + +func PiNetworkPiNetworkPeerNetworkAddressTranslationPtr(v *PiNetworkPiNetworkPeerNetworkAddressTranslationArgs) PiNetworkPiNetworkPeerNetworkAddressTranslationPtrInput { + return (*piNetworkPiNetworkPeerNetworkAddressTranslationPtrType)(v) +} + +func (*piNetworkPiNetworkPeerNetworkAddressTranslationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPiNetworkPeerNetworkAddressTranslation)(nil)).Elem() +} + +func (i *piNetworkPiNetworkPeerNetworkAddressTranslationPtrType) ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput() PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return i.ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(context.Background()) +} + +func (i *piNetworkPiNetworkPeerNetworkAddressTranslationPtrType) ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) +} + +type PiNetworkPiNetworkPeerNetworkAddressTranslationOutput struct{ *pulumi.OutputState } + +func (PiNetworkPiNetworkPeerNetworkAddressTranslationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkPiNetworkPeerNetworkAddressTranslation)(nil)).Elem() +} + +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationOutput) ToPiNetworkPiNetworkPeerNetworkAddressTranslationOutput() PiNetworkPiNetworkPeerNetworkAddressTranslationOutput { + return o +} + +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationOutput) ToPiNetworkPiNetworkPeerNetworkAddressTranslationOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerNetworkAddressTranslationOutput { + return o +} + +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationOutput) ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput() PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return o.ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(context.Background()) +} + +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationOutput) ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiNetworkPiNetworkPeerNetworkAddressTranslation) *PiNetworkPiNetworkPeerNetworkAddressTranslation { + return &v + }).(PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) +} + +// source IP address, required if network peer type is L3BGP or L3STATIC and if NAT is enabled. +// +// Deprecated: This field is deprecated +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationOutput) SourceIp() pulumi.StringOutput { + return o.ApplyT(func(v PiNetworkPiNetworkPeerNetworkAddressTranslation) string { return v.SourceIp }).(pulumi.StringOutput) +} + +type PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput struct{ *pulumi.OutputState } + +func (PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkPiNetworkPeerNetworkAddressTranslation)(nil)).Elem() +} + +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput() PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return o +} + +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) ToPiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutputWithContext(ctx context.Context) PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput { + return o +} + +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) Elem() PiNetworkPiNetworkPeerNetworkAddressTranslationOutput { + return o.ApplyT(func(v *PiNetworkPiNetworkPeerNetworkAddressTranslation) PiNetworkPiNetworkPeerNetworkAddressTranslation { + if v != nil { + return *v + } + var ret PiNetworkPiNetworkPeerNetworkAddressTranslation + return ret + }).(PiNetworkPiNetworkPeerNetworkAddressTranslationOutput) +} + +// source IP address, required if network peer type is L3BGP or L3STATIC and if NAT is enabled. +// +// Deprecated: This field is deprecated +func (o PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput) SourceIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkPiNetworkPeerNetworkAddressTranslation) *string { + if v == nil { + return nil + } + return &v.SourceIp + }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupMemberType struct { + // The ID of the member in a network security group. + Id *string `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress *string `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target *string `pulumi:"target"` + // The type of member. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupMemberTypeInput is an input type that accepts PiNetworkSecurityGroupMemberTypeArgs and PiNetworkSecurityGroupMemberTypeOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberTypeInput` via: +// +// PiNetworkSecurityGroupMemberTypeArgs{...} +type PiNetworkSecurityGroupMemberTypeInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberTypeOutput() PiNetworkSecurityGroupMemberTypeOutput + ToPiNetworkSecurityGroupMemberTypeOutputWithContext(context.Context) PiNetworkSecurityGroupMemberTypeOutput +} + +type PiNetworkSecurityGroupMemberTypeArgs struct { + // The ID of the member in a network security group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress pulumi.StringPtrInput `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target pulumi.StringPtrInput `pulumi:"target"` + // The type of member. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupMemberTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberType)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberTypeArgs) ToPiNetworkSecurityGroupMemberTypeOutput() PiNetworkSecurityGroupMemberTypeOutput { + return i.ToPiNetworkSecurityGroupMemberTypeOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberTypeArgs) ToPiNetworkSecurityGroupMemberTypeOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberTypeOutput) +} + +// PiNetworkSecurityGroupMemberTypeArrayInput is an input type that accepts PiNetworkSecurityGroupMemberTypeArray and PiNetworkSecurityGroupMemberTypeArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberTypeArrayInput` via: +// +// PiNetworkSecurityGroupMemberTypeArray{ PiNetworkSecurityGroupMemberTypeArgs{...} } +type PiNetworkSecurityGroupMemberTypeArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberTypeArrayOutput() PiNetworkSecurityGroupMemberTypeArrayOutput + ToPiNetworkSecurityGroupMemberTypeArrayOutputWithContext(context.Context) PiNetworkSecurityGroupMemberTypeArrayOutput +} + +type PiNetworkSecurityGroupMemberTypeArray []PiNetworkSecurityGroupMemberTypeInput + +func (PiNetworkSecurityGroupMemberTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberType)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberTypeArray) ToPiNetworkSecurityGroupMemberTypeArrayOutput() PiNetworkSecurityGroupMemberTypeArrayOutput { + return i.ToPiNetworkSecurityGroupMemberTypeArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberTypeArray) ToPiNetworkSecurityGroupMemberTypeArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberTypeArrayOutput) +} + +type PiNetworkSecurityGroupMemberTypeOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberType)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberTypeOutput) ToPiNetworkSecurityGroupMemberTypeOutput() PiNetworkSecurityGroupMemberTypeOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberTypeOutput) ToPiNetworkSecurityGroupMemberTypeOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberTypeOutput { + return o +} + +// The ID of the member in a network security group. +func (o PiNetworkSecurityGroupMemberTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The mac address of a network interface included if the type is network-interface. +func (o PiNetworkSecurityGroupMemberTypeOutput) MacAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberType) *string { return v.MacAddress }).(pulumi.StringPtrOutput) +} + +// The network ID of a network interface included if the type is network-interface. +func (o PiNetworkSecurityGroupMemberTypeOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberType) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +} + +// If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. +func (o PiNetworkSecurityGroupMemberTypeOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberType) *string { return v.Target }).(pulumi.StringPtrOutput) +} + +// The type of member. +func (o PiNetworkSecurityGroupMemberTypeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberType) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupMemberTypeArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberType)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberTypeArrayOutput) ToPiNetworkSecurityGroupMemberTypeArrayOutput() PiNetworkSecurityGroupMemberTypeArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberTypeArrayOutput) ToPiNetworkSecurityGroupMemberTypeArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberTypeArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberTypeArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupMemberTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupMemberType { + return vs[0].([]PiNetworkSecurityGroupMemberType)[vs[1].(int)] + }).(PiNetworkSecurityGroupMemberTypeOutput) +} + +type PiNetworkSecurityGroupMemberMember struct { + // The ID of the member in a network security group. + Id *string `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress *string `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target *string `pulumi:"target"` + // The type of member. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupMemberMemberInput is an input type that accepts PiNetworkSecurityGroupMemberMemberArgs and PiNetworkSecurityGroupMemberMemberOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberMemberInput` via: +// +// PiNetworkSecurityGroupMemberMemberArgs{...} +type PiNetworkSecurityGroupMemberMemberInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberMemberOutput() PiNetworkSecurityGroupMemberMemberOutput + ToPiNetworkSecurityGroupMemberMemberOutputWithContext(context.Context) PiNetworkSecurityGroupMemberMemberOutput +} + +type PiNetworkSecurityGroupMemberMemberArgs struct { + // The ID of the member in a network security group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress pulumi.StringPtrInput `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target pulumi.StringPtrInput `pulumi:"target"` + // The type of member. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupMemberMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberMember)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberMemberArgs) ToPiNetworkSecurityGroupMemberMemberOutput() PiNetworkSecurityGroupMemberMemberOutput { + return i.ToPiNetworkSecurityGroupMemberMemberOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberMemberArgs) ToPiNetworkSecurityGroupMemberMemberOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberMemberOutput) +} + +// PiNetworkSecurityGroupMemberMemberArrayInput is an input type that accepts PiNetworkSecurityGroupMemberMemberArray and PiNetworkSecurityGroupMemberMemberArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberMemberArrayInput` via: +// +// PiNetworkSecurityGroupMemberMemberArray{ PiNetworkSecurityGroupMemberMemberArgs{...} } +type PiNetworkSecurityGroupMemberMemberArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberMemberArrayOutput() PiNetworkSecurityGroupMemberMemberArrayOutput + ToPiNetworkSecurityGroupMemberMemberArrayOutputWithContext(context.Context) PiNetworkSecurityGroupMemberMemberArrayOutput +} + +type PiNetworkSecurityGroupMemberMemberArray []PiNetworkSecurityGroupMemberMemberInput + +func (PiNetworkSecurityGroupMemberMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberMember)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberMemberArray) ToPiNetworkSecurityGroupMemberMemberArrayOutput() PiNetworkSecurityGroupMemberMemberArrayOutput { + return i.ToPiNetworkSecurityGroupMemberMemberArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberMemberArray) ToPiNetworkSecurityGroupMemberMemberArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberMemberArrayOutput) +} + +type PiNetworkSecurityGroupMemberMemberOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberMember)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberMemberOutput) ToPiNetworkSecurityGroupMemberMemberOutput() PiNetworkSecurityGroupMemberMemberOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberMemberOutput) ToPiNetworkSecurityGroupMemberMemberOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberMemberOutput { + return o +} + +// The ID of the member in a network security group. +func (o PiNetworkSecurityGroupMemberMemberOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberMember) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The mac address of a network interface included if the type is network-interface. +func (o PiNetworkSecurityGroupMemberMemberOutput) MacAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberMember) *string { return v.MacAddress }).(pulumi.StringPtrOutput) +} + +// The network ID of a network interface included if the type is network-interface. +func (o PiNetworkSecurityGroupMemberMemberOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberMember) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +} + +// If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. +func (o PiNetworkSecurityGroupMemberMemberOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberMember) *string { return v.Target }).(pulumi.StringPtrOutput) +} + +// The type of member. +func (o PiNetworkSecurityGroupMemberMemberOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberMember) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupMemberMemberArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberMember)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberMemberArrayOutput) ToPiNetworkSecurityGroupMemberMemberArrayOutput() PiNetworkSecurityGroupMemberMemberArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberMemberArrayOutput) ToPiNetworkSecurityGroupMemberMemberArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberMemberArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberMemberArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupMemberMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupMemberMember { + return vs[0].([]PiNetworkSecurityGroupMemberMember)[vs[1].(int)] + }).(PiNetworkSecurityGroupMemberMemberOutput) +} + +type PiNetworkSecurityGroupMemberRule struct { + // The action to take if the rule matches network traffic. + Action *string `pulumi:"action"` + // The list of destination port. + DestinationPorts []PiNetworkSecurityGroupMemberRuleDestinationPort `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id *string `pulumi:"id"` + // The list of protocol. + Protocols []PiNetworkSecurityGroupMemberRuleProtocol `pulumi:"protocols"` + // List of remote. + Remotes []PiNetworkSecurityGroupMemberRuleRemote `pulumi:"remotes"` + // List of source port + SourcePorts []PiNetworkSecurityGroupMemberRuleSourcePort `pulumi:"sourcePorts"` +} + +// PiNetworkSecurityGroupMemberRuleInput is an input type that accepts PiNetworkSecurityGroupMemberRuleArgs and PiNetworkSecurityGroupMemberRuleOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleInput` via: +// +// PiNetworkSecurityGroupMemberRuleArgs{...} +type PiNetworkSecurityGroupMemberRuleInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleOutput() PiNetworkSecurityGroupMemberRuleOutput + ToPiNetworkSecurityGroupMemberRuleOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleOutput +} + +type PiNetworkSecurityGroupMemberRuleArgs struct { + // The action to take if the rule matches network traffic. + Action pulumi.StringPtrInput `pulumi:"action"` + // The list of destination port. + DestinationPorts PiNetworkSecurityGroupMemberRuleDestinationPortArrayInput `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The list of protocol. + Protocols PiNetworkSecurityGroupMemberRuleProtocolArrayInput `pulumi:"protocols"` + // List of remote. + Remotes PiNetworkSecurityGroupMemberRuleRemoteArrayInput `pulumi:"remotes"` + // List of source port + SourcePorts PiNetworkSecurityGroupMemberRuleSourcePortArrayInput `pulumi:"sourcePorts"` +} + +func (PiNetworkSecurityGroupMemberRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRule)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleArgs) ToPiNetworkSecurityGroupMemberRuleOutput() PiNetworkSecurityGroupMemberRuleOutput { + return i.ToPiNetworkSecurityGroupMemberRuleOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleArgs) ToPiNetworkSecurityGroupMemberRuleOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleOutput) +} + +// PiNetworkSecurityGroupMemberRuleArrayInput is an input type that accepts PiNetworkSecurityGroupMemberRuleArray and PiNetworkSecurityGroupMemberRuleArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleArrayInput` via: +// +// PiNetworkSecurityGroupMemberRuleArray{ PiNetworkSecurityGroupMemberRuleArgs{...} } +type PiNetworkSecurityGroupMemberRuleArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleArrayOutput() PiNetworkSecurityGroupMemberRuleArrayOutput + ToPiNetworkSecurityGroupMemberRuleArrayOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleArrayOutput +} + +type PiNetworkSecurityGroupMemberRuleArray []PiNetworkSecurityGroupMemberRuleInput + +func (PiNetworkSecurityGroupMemberRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRule)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleArray) ToPiNetworkSecurityGroupMemberRuleArrayOutput() PiNetworkSecurityGroupMemberRuleArrayOutput { + return i.ToPiNetworkSecurityGroupMemberRuleArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleArray) ToPiNetworkSecurityGroupMemberRuleArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleArrayOutput) +} + +type PiNetworkSecurityGroupMemberRuleOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRule)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleOutput) ToPiNetworkSecurityGroupMemberRuleOutput() PiNetworkSecurityGroupMemberRuleOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleOutput) ToPiNetworkSecurityGroupMemberRuleOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleOutput { + return o +} + +// The action to take if the rule matches network traffic. +func (o PiNetworkSecurityGroupMemberRuleOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRule) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// The list of destination port. +func (o PiNetworkSecurityGroupMemberRuleOutput) DestinationPorts() PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRule) []PiNetworkSecurityGroupMemberRuleDestinationPort { + return v.DestinationPorts + }).(PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput) +} + +// The ID of the rule in a network security group. +func (o PiNetworkSecurityGroupMemberRuleOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRule) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The list of protocol. +func (o PiNetworkSecurityGroupMemberRuleOutput) Protocols() PiNetworkSecurityGroupMemberRuleProtocolArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRule) []PiNetworkSecurityGroupMemberRuleProtocol { + return v.Protocols + }).(PiNetworkSecurityGroupMemberRuleProtocolArrayOutput) +} + +// List of remote. +func (o PiNetworkSecurityGroupMemberRuleOutput) Remotes() PiNetworkSecurityGroupMemberRuleRemoteArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRule) []PiNetworkSecurityGroupMemberRuleRemote { return v.Remotes }).(PiNetworkSecurityGroupMemberRuleRemoteArrayOutput) +} + +// List of source port +func (o PiNetworkSecurityGroupMemberRuleOutput) SourcePorts() PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRule) []PiNetworkSecurityGroupMemberRuleSourcePort { + return v.SourcePorts + }).(PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput) +} + +type PiNetworkSecurityGroupMemberRuleArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRule)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleArrayOutput) ToPiNetworkSecurityGroupMemberRuleArrayOutput() PiNetworkSecurityGroupMemberRuleArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleArrayOutput) ToPiNetworkSecurityGroupMemberRuleArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupMemberRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupMemberRule { + return vs[0].([]PiNetworkSecurityGroupMemberRule)[vs[1].(int)] + }).(PiNetworkSecurityGroupMemberRuleOutput) +} + +type PiNetworkSecurityGroupMemberRuleDestinationPort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupMemberRuleDestinationPortInput is an input type that accepts PiNetworkSecurityGroupMemberRuleDestinationPortArgs and PiNetworkSecurityGroupMemberRuleDestinationPortOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleDestinationPortInput` via: +// +// PiNetworkSecurityGroupMemberRuleDestinationPortArgs{...} +type PiNetworkSecurityGroupMemberRuleDestinationPortInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleDestinationPortOutput() PiNetworkSecurityGroupMemberRuleDestinationPortOutput + ToPiNetworkSecurityGroupMemberRuleDestinationPortOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleDestinationPortOutput +} + +type PiNetworkSecurityGroupMemberRuleDestinationPortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupMemberRuleDestinationPortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleDestinationPort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleDestinationPortArgs) ToPiNetworkSecurityGroupMemberRuleDestinationPortOutput() PiNetworkSecurityGroupMemberRuleDestinationPortOutput { + return i.ToPiNetworkSecurityGroupMemberRuleDestinationPortOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleDestinationPortArgs) ToPiNetworkSecurityGroupMemberRuleDestinationPortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleDestinationPortOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleDestinationPortOutput) +} + +// PiNetworkSecurityGroupMemberRuleDestinationPortArrayInput is an input type that accepts PiNetworkSecurityGroupMemberRuleDestinationPortArray and PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleDestinationPortArrayInput` via: +// +// PiNetworkSecurityGroupMemberRuleDestinationPortArray{ PiNetworkSecurityGroupMemberRuleDestinationPortArgs{...} } +type PiNetworkSecurityGroupMemberRuleDestinationPortArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput() PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput + ToPiNetworkSecurityGroupMemberRuleDestinationPortArrayOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput +} + +type PiNetworkSecurityGroupMemberRuleDestinationPortArray []PiNetworkSecurityGroupMemberRuleDestinationPortInput + +func (PiNetworkSecurityGroupMemberRuleDestinationPortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleDestinationPort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleDestinationPortArray) ToPiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput() PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput { + return i.ToPiNetworkSecurityGroupMemberRuleDestinationPortArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleDestinationPortArray) ToPiNetworkSecurityGroupMemberRuleDestinationPortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput) +} + +type PiNetworkSecurityGroupMemberRuleDestinationPortOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleDestinationPortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleDestinationPort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleDestinationPortOutput) ToPiNetworkSecurityGroupMemberRuleDestinationPortOutput() PiNetworkSecurityGroupMemberRuleDestinationPortOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleDestinationPortOutput) ToPiNetworkSecurityGroupMemberRuleDestinationPortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleDestinationPortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupMemberRuleDestinationPortOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleDestinationPort) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupMemberRuleDestinationPortOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleDestinationPort) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleDestinationPort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput) ToPiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput() PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput) ToPiNetworkSecurityGroupMemberRuleDestinationPortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupMemberRuleDestinationPortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupMemberRuleDestinationPort { + return vs[0].([]PiNetworkSecurityGroupMemberRuleDestinationPort)[vs[1].(int)] + }).(PiNetworkSecurityGroupMemberRuleDestinationPortOutput) +} + +type PiNetworkSecurityGroupMemberRuleProtocol struct { + // IIf icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType *string `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags []PiNetworkSecurityGroupMemberRuleProtocolTcpFlag `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupMemberRuleProtocolInput is an input type that accepts PiNetworkSecurityGroupMemberRuleProtocolArgs and PiNetworkSecurityGroupMemberRuleProtocolOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleProtocolInput` via: +// +// PiNetworkSecurityGroupMemberRuleProtocolArgs{...} +type PiNetworkSecurityGroupMemberRuleProtocolInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleProtocolOutput() PiNetworkSecurityGroupMemberRuleProtocolOutput + ToPiNetworkSecurityGroupMemberRuleProtocolOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleProtocolOutput +} + +type PiNetworkSecurityGroupMemberRuleProtocolArgs struct { + // IIf icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType pulumi.StringPtrInput `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayInput `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupMemberRuleProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleProtocol)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleProtocolArgs) ToPiNetworkSecurityGroupMemberRuleProtocolOutput() PiNetworkSecurityGroupMemberRuleProtocolOutput { + return i.ToPiNetworkSecurityGroupMemberRuleProtocolOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleProtocolArgs) ToPiNetworkSecurityGroupMemberRuleProtocolOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleProtocolOutput) +} + +// PiNetworkSecurityGroupMemberRuleProtocolArrayInput is an input type that accepts PiNetworkSecurityGroupMemberRuleProtocolArray and PiNetworkSecurityGroupMemberRuleProtocolArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleProtocolArrayInput` via: +// +// PiNetworkSecurityGroupMemberRuleProtocolArray{ PiNetworkSecurityGroupMemberRuleProtocolArgs{...} } +type PiNetworkSecurityGroupMemberRuleProtocolArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleProtocolArrayOutput() PiNetworkSecurityGroupMemberRuleProtocolArrayOutput + ToPiNetworkSecurityGroupMemberRuleProtocolArrayOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleProtocolArrayOutput +} + +type PiNetworkSecurityGroupMemberRuleProtocolArray []PiNetworkSecurityGroupMemberRuleProtocolInput + +func (PiNetworkSecurityGroupMemberRuleProtocolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleProtocol)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleProtocolArray) ToPiNetworkSecurityGroupMemberRuleProtocolArrayOutput() PiNetworkSecurityGroupMemberRuleProtocolArrayOutput { + return i.ToPiNetworkSecurityGroupMemberRuleProtocolArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleProtocolArray) ToPiNetworkSecurityGroupMemberRuleProtocolArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleProtocolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleProtocolArrayOutput) +} + +type PiNetworkSecurityGroupMemberRuleProtocolOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleProtocol)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolOutput) ToPiNetworkSecurityGroupMemberRuleProtocolOutput() PiNetworkSecurityGroupMemberRuleProtocolOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolOutput) ToPiNetworkSecurityGroupMemberRuleProtocolOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleProtocolOutput { + return o +} + +// IIf icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. +func (o PiNetworkSecurityGroupMemberRuleProtocolOutput) IcmpType() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleProtocol) *string { return v.IcmpType }).(pulumi.StringPtrOutput) +} + +// If tcp type, the list of TCP flags and if not present then all flags are matched. +func (o PiNetworkSecurityGroupMemberRuleProtocolOutput) TcpFlags() PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleProtocol) []PiNetworkSecurityGroupMemberRuleProtocolTcpFlag { + return v.TcpFlags + }).(PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput) +} + +// The protocol of the network traffic. +func (o PiNetworkSecurityGroupMemberRuleProtocolOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleProtocol) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupMemberRuleProtocolArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleProtocolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleProtocol)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolArrayOutput) ToPiNetworkSecurityGroupMemberRuleProtocolArrayOutput() PiNetworkSecurityGroupMemberRuleProtocolArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolArrayOutput) ToPiNetworkSecurityGroupMemberRuleProtocolArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleProtocolArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupMemberRuleProtocolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupMemberRuleProtocol { + return vs[0].([]PiNetworkSecurityGroupMemberRuleProtocol)[vs[1].(int)] + }).(PiNetworkSecurityGroupMemberRuleProtocolOutput) +} + +type PiNetworkSecurityGroupMemberRuleProtocolTcpFlag struct { + // TCP flag. + Flag *string `pulumi:"flag"` +} + +// PiNetworkSecurityGroupMemberRuleProtocolTcpFlagInput is an input type that accepts PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArgs and PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleProtocolTcpFlagInput` via: +// +// PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArgs{...} +type PiNetworkSecurityGroupMemberRuleProtocolTcpFlagInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput + ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput +} + +type PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArgs struct { + // TCP flag. + Flag pulumi.StringPtrInput `pulumi:"flag"` +} + +func (PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArgs) ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput { + return i.ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArgs) ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput) +} + +// PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayInput is an input type that accepts PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArray and PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayInput` via: +// +// PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArray{ PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArgs{...} } +type PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput + ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput +} + +type PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArray []PiNetworkSecurityGroupMemberRuleProtocolTcpFlagInput + +func (PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArray) ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput { + return i.ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArray) ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput) +} + +type PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput) ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput) ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput { + return o +} + +// TCP flag. +func (o PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput) Flag() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleProtocolTcpFlag) *string { return v.Flag }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput) ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput) ToPiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupMemberRuleProtocolTcpFlag { + return vs[0].([]PiNetworkSecurityGroupMemberRuleProtocolTcpFlag)[vs[1].(int)] + }).(PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput) +} + +type PiNetworkSecurityGroupMemberRuleRemote struct { + // The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. + Id *string `pulumi:"id"` + // The type of remote group the rules apply to. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupMemberRuleRemoteInput is an input type that accepts PiNetworkSecurityGroupMemberRuleRemoteArgs and PiNetworkSecurityGroupMemberRuleRemoteOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleRemoteInput` via: +// +// PiNetworkSecurityGroupMemberRuleRemoteArgs{...} +type PiNetworkSecurityGroupMemberRuleRemoteInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleRemoteOutput() PiNetworkSecurityGroupMemberRuleRemoteOutput + ToPiNetworkSecurityGroupMemberRuleRemoteOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleRemoteOutput +} + +type PiNetworkSecurityGroupMemberRuleRemoteArgs struct { + // The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The type of remote group the rules apply to. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupMemberRuleRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleRemote)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleRemoteArgs) ToPiNetworkSecurityGroupMemberRuleRemoteOutput() PiNetworkSecurityGroupMemberRuleRemoteOutput { + return i.ToPiNetworkSecurityGroupMemberRuleRemoteOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleRemoteArgs) ToPiNetworkSecurityGroupMemberRuleRemoteOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleRemoteOutput) +} + +// PiNetworkSecurityGroupMemberRuleRemoteArrayInput is an input type that accepts PiNetworkSecurityGroupMemberRuleRemoteArray and PiNetworkSecurityGroupMemberRuleRemoteArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleRemoteArrayInput` via: +// +// PiNetworkSecurityGroupMemberRuleRemoteArray{ PiNetworkSecurityGroupMemberRuleRemoteArgs{...} } +type PiNetworkSecurityGroupMemberRuleRemoteArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleRemoteArrayOutput() PiNetworkSecurityGroupMemberRuleRemoteArrayOutput + ToPiNetworkSecurityGroupMemberRuleRemoteArrayOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleRemoteArrayOutput +} + +type PiNetworkSecurityGroupMemberRuleRemoteArray []PiNetworkSecurityGroupMemberRuleRemoteInput + +func (PiNetworkSecurityGroupMemberRuleRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleRemote)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleRemoteArray) ToPiNetworkSecurityGroupMemberRuleRemoteArrayOutput() PiNetworkSecurityGroupMemberRuleRemoteArrayOutput { + return i.ToPiNetworkSecurityGroupMemberRuleRemoteArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleRemoteArray) ToPiNetworkSecurityGroupMemberRuleRemoteArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleRemoteArrayOutput) +} + +type PiNetworkSecurityGroupMemberRuleRemoteOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleRemote)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleRemoteOutput) ToPiNetworkSecurityGroupMemberRuleRemoteOutput() PiNetworkSecurityGroupMemberRuleRemoteOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleRemoteOutput) ToPiNetworkSecurityGroupMemberRuleRemoteOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleRemoteOutput { + return o +} + +// The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. +func (o PiNetworkSecurityGroupMemberRuleRemoteOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleRemote) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The type of remote group the rules apply to. +func (o PiNetworkSecurityGroupMemberRuleRemoteOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleRemote) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupMemberRuleRemoteArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleRemote)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleRemoteArrayOutput) ToPiNetworkSecurityGroupMemberRuleRemoteArrayOutput() PiNetworkSecurityGroupMemberRuleRemoteArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleRemoteArrayOutput) ToPiNetworkSecurityGroupMemberRuleRemoteArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleRemoteArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleRemoteArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupMemberRuleRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupMemberRuleRemote { + return vs[0].([]PiNetworkSecurityGroupMemberRuleRemote)[vs[1].(int)] + }).(PiNetworkSecurityGroupMemberRuleRemoteOutput) +} + +type PiNetworkSecurityGroupMemberRuleSourcePort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupMemberRuleSourcePortInput is an input type that accepts PiNetworkSecurityGroupMemberRuleSourcePortArgs and PiNetworkSecurityGroupMemberRuleSourcePortOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleSourcePortInput` via: +// +// PiNetworkSecurityGroupMemberRuleSourcePortArgs{...} +type PiNetworkSecurityGroupMemberRuleSourcePortInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleSourcePortOutput() PiNetworkSecurityGroupMemberRuleSourcePortOutput + ToPiNetworkSecurityGroupMemberRuleSourcePortOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleSourcePortOutput +} + +type PiNetworkSecurityGroupMemberRuleSourcePortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupMemberRuleSourcePortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleSourcePort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleSourcePortArgs) ToPiNetworkSecurityGroupMemberRuleSourcePortOutput() PiNetworkSecurityGroupMemberRuleSourcePortOutput { + return i.ToPiNetworkSecurityGroupMemberRuleSourcePortOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleSourcePortArgs) ToPiNetworkSecurityGroupMemberRuleSourcePortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleSourcePortOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleSourcePortOutput) +} + +// PiNetworkSecurityGroupMemberRuleSourcePortArrayInput is an input type that accepts PiNetworkSecurityGroupMemberRuleSourcePortArray and PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupMemberRuleSourcePortArrayInput` via: +// +// PiNetworkSecurityGroupMemberRuleSourcePortArray{ PiNetworkSecurityGroupMemberRuleSourcePortArgs{...} } +type PiNetworkSecurityGroupMemberRuleSourcePortArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupMemberRuleSourcePortArrayOutput() PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput + ToPiNetworkSecurityGroupMemberRuleSourcePortArrayOutputWithContext(context.Context) PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput +} + +type PiNetworkSecurityGroupMemberRuleSourcePortArray []PiNetworkSecurityGroupMemberRuleSourcePortInput + +func (PiNetworkSecurityGroupMemberRuleSourcePortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleSourcePort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupMemberRuleSourcePortArray) ToPiNetworkSecurityGroupMemberRuleSourcePortArrayOutput() PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput { + return i.ToPiNetworkSecurityGroupMemberRuleSourcePortArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupMemberRuleSourcePortArray) ToPiNetworkSecurityGroupMemberRuleSourcePortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput) +} + +type PiNetworkSecurityGroupMemberRuleSourcePortOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleSourcePortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleSourcePort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleSourcePortOutput) ToPiNetworkSecurityGroupMemberRuleSourcePortOutput() PiNetworkSecurityGroupMemberRuleSourcePortOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleSourcePortOutput) ToPiNetworkSecurityGroupMemberRuleSourcePortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleSourcePortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupMemberRuleSourcePortOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleSourcePort) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupMemberRuleSourcePortOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupMemberRuleSourcePort) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupMemberRuleSourcePort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput) ToPiNetworkSecurityGroupMemberRuleSourcePortArrayOutput() PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput) ToPiNetworkSecurityGroupMemberRuleSourcePortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupMemberRuleSourcePortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupMemberRuleSourcePort { + return vs[0].([]PiNetworkSecurityGroupMemberRuleSourcePort)[vs[1].(int)] + }).(PiNetworkSecurityGroupMemberRuleSourcePortOutput) +} + +type PiNetworkSecurityGroupRuleType struct { + // The action to take if the rule matches network traffic. + Action *string `pulumi:"action"` + // The list of destination port. + DestinationPorts []PiNetworkSecurityGroupRuleDestinationPort `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id *string `pulumi:"id"` + // The list of protocol. + Protocols []PiNetworkSecurityGroupRuleProtocol `pulumi:"protocols"` + // List of remote. + Remotes []PiNetworkSecurityGroupRuleRemote `pulumi:"remotes"` + // ist of source port + SourcePorts []PiNetworkSecurityGroupRuleSourcePort `pulumi:"sourcePorts"` +} + +// PiNetworkSecurityGroupRuleTypeInput is an input type that accepts PiNetworkSecurityGroupRuleTypeArgs and PiNetworkSecurityGroupRuleTypeOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleTypeInput` via: +// +// PiNetworkSecurityGroupRuleTypeArgs{...} +type PiNetworkSecurityGroupRuleTypeInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleTypeOutput() PiNetworkSecurityGroupRuleTypeOutput + ToPiNetworkSecurityGroupRuleTypeOutputWithContext(context.Context) PiNetworkSecurityGroupRuleTypeOutput +} + +type PiNetworkSecurityGroupRuleTypeArgs struct { + // The action to take if the rule matches network traffic. + Action pulumi.StringPtrInput `pulumi:"action"` + // The list of destination port. + DestinationPorts PiNetworkSecurityGroupRuleDestinationPortArrayInput `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The list of protocol. + Protocols PiNetworkSecurityGroupRuleProtocolArrayInput `pulumi:"protocols"` + // List of remote. + Remotes PiNetworkSecurityGroupRuleRemoteArrayInput `pulumi:"remotes"` + // ist of source port + SourcePorts PiNetworkSecurityGroupRuleSourcePortArrayInput `pulumi:"sourcePorts"` +} + +func (PiNetworkSecurityGroupRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleType)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleTypeArgs) ToPiNetworkSecurityGroupRuleTypeOutput() PiNetworkSecurityGroupRuleTypeOutput { + return i.ToPiNetworkSecurityGroupRuleTypeOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleTypeArgs) ToPiNetworkSecurityGroupRuleTypeOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleTypeOutput) +} + +// PiNetworkSecurityGroupRuleTypeArrayInput is an input type that accepts PiNetworkSecurityGroupRuleTypeArray and PiNetworkSecurityGroupRuleTypeArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleTypeArrayInput` via: +// +// PiNetworkSecurityGroupRuleTypeArray{ PiNetworkSecurityGroupRuleTypeArgs{...} } +type PiNetworkSecurityGroupRuleTypeArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleTypeArrayOutput() PiNetworkSecurityGroupRuleTypeArrayOutput + ToPiNetworkSecurityGroupRuleTypeArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleTypeArrayOutput +} + +type PiNetworkSecurityGroupRuleTypeArray []PiNetworkSecurityGroupRuleTypeInput + +func (PiNetworkSecurityGroupRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleType)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleTypeArray) ToPiNetworkSecurityGroupRuleTypeArrayOutput() PiNetworkSecurityGroupRuleTypeArrayOutput { + return i.ToPiNetworkSecurityGroupRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleTypeArray) ToPiNetworkSecurityGroupRuleTypeArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleTypeArrayOutput) +} + +type PiNetworkSecurityGroupRuleTypeOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleType)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleTypeOutput) ToPiNetworkSecurityGroupRuleTypeOutput() PiNetworkSecurityGroupRuleTypeOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleTypeOutput) ToPiNetworkSecurityGroupRuleTypeOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleTypeOutput { + return o +} + +// The action to take if the rule matches network traffic. +func (o PiNetworkSecurityGroupRuleTypeOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleType) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// The list of destination port. +func (o PiNetworkSecurityGroupRuleTypeOutput) DestinationPorts() PiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleType) []PiNetworkSecurityGroupRuleDestinationPort { + return v.DestinationPorts + }).(PiNetworkSecurityGroupRuleDestinationPortArrayOutput) +} + +// The ID of the rule in a network security group. +func (o PiNetworkSecurityGroupRuleTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The list of protocol. +func (o PiNetworkSecurityGroupRuleTypeOutput) Protocols() PiNetworkSecurityGroupRuleProtocolArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleType) []PiNetworkSecurityGroupRuleProtocol { return v.Protocols }).(PiNetworkSecurityGroupRuleProtocolArrayOutput) +} + +// List of remote. +func (o PiNetworkSecurityGroupRuleTypeOutput) Remotes() PiNetworkSecurityGroupRuleRemoteArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleType) []PiNetworkSecurityGroupRuleRemote { return v.Remotes }).(PiNetworkSecurityGroupRuleRemoteArrayOutput) +} + +// ist of source port +func (o PiNetworkSecurityGroupRuleTypeOutput) SourcePorts() PiNetworkSecurityGroupRuleSourcePortArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleType) []PiNetworkSecurityGroupRuleSourcePort { return v.SourcePorts }).(PiNetworkSecurityGroupRuleSourcePortArrayOutput) +} + +type PiNetworkSecurityGroupRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleType)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleTypeArrayOutput) ToPiNetworkSecurityGroupRuleTypeArrayOutput() PiNetworkSecurityGroupRuleTypeArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleTypeArrayOutput) ToPiNetworkSecurityGroupRuleTypeArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleTypeArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleTypeArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleType { + return vs[0].([]PiNetworkSecurityGroupRuleType)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleTypeOutput) +} + +type PiNetworkSecurityGroupRuleDestinationPort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupRuleDestinationPortInput is an input type that accepts PiNetworkSecurityGroupRuleDestinationPortArgs and PiNetworkSecurityGroupRuleDestinationPortOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleDestinationPortInput` via: +// +// PiNetworkSecurityGroupRuleDestinationPortArgs{...} +type PiNetworkSecurityGroupRuleDestinationPortInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleDestinationPortOutput() PiNetworkSecurityGroupRuleDestinationPortOutput + ToPiNetworkSecurityGroupRuleDestinationPortOutputWithContext(context.Context) PiNetworkSecurityGroupRuleDestinationPortOutput +} + +type PiNetworkSecurityGroupRuleDestinationPortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupRuleDestinationPortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleDestinationPortArgs) ToPiNetworkSecurityGroupRuleDestinationPortOutput() PiNetworkSecurityGroupRuleDestinationPortOutput { + return i.ToPiNetworkSecurityGroupRuleDestinationPortOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleDestinationPortArgs) ToPiNetworkSecurityGroupRuleDestinationPortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleDestinationPortOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleDestinationPortOutput) +} + +// PiNetworkSecurityGroupRuleDestinationPortArrayInput is an input type that accepts PiNetworkSecurityGroupRuleDestinationPortArray and PiNetworkSecurityGroupRuleDestinationPortArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleDestinationPortArrayInput` via: +// +// PiNetworkSecurityGroupRuleDestinationPortArray{ PiNetworkSecurityGroupRuleDestinationPortArgs{...} } +type PiNetworkSecurityGroupRuleDestinationPortArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleDestinationPortArrayOutput() PiNetworkSecurityGroupRuleDestinationPortArrayOutput + ToPiNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleDestinationPortArrayOutput +} + +type PiNetworkSecurityGroupRuleDestinationPortArray []PiNetworkSecurityGroupRuleDestinationPortInput + +func (PiNetworkSecurityGroupRuleDestinationPortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleDestinationPortArray) ToPiNetworkSecurityGroupRuleDestinationPortArrayOutput() PiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return i.ToPiNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleDestinationPortArray) ToPiNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleDestinationPortArrayOutput) +} + +type PiNetworkSecurityGroupRuleDestinationPortOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleDestinationPortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleDestinationPortOutput) ToPiNetworkSecurityGroupRuleDestinationPortOutput() PiNetworkSecurityGroupRuleDestinationPortOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleDestinationPortOutput) ToPiNetworkSecurityGroupRuleDestinationPortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleDestinationPortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRuleDestinationPortOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleDestinationPort) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRuleDestinationPortOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleDestinationPort) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRuleDestinationPortArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleDestinationPortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleDestinationPortArrayOutput) ToPiNetworkSecurityGroupRuleDestinationPortArrayOutput() PiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleDestinationPortArrayOutput) ToPiNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleDestinationPortArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleDestinationPortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleDestinationPort { + return vs[0].([]PiNetworkSecurityGroupRuleDestinationPort)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleDestinationPortOutput) +} + +type PiNetworkSecurityGroupRuleMember struct { + // The ID of the member in a network security group. + Id *string `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress *string `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target *string `pulumi:"target"` + // The type of member. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupRuleMemberInput is an input type that accepts PiNetworkSecurityGroupRuleMemberArgs and PiNetworkSecurityGroupRuleMemberOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleMemberInput` via: +// +// PiNetworkSecurityGroupRuleMemberArgs{...} +type PiNetworkSecurityGroupRuleMemberInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleMemberOutput() PiNetworkSecurityGroupRuleMemberOutput + ToPiNetworkSecurityGroupRuleMemberOutputWithContext(context.Context) PiNetworkSecurityGroupRuleMemberOutput +} + +type PiNetworkSecurityGroupRuleMemberArgs struct { + // The ID of the member in a network security group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress pulumi.StringPtrInput `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target pulumi.StringPtrInput `pulumi:"target"` + // The type of member. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupRuleMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleMember)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleMemberArgs) ToPiNetworkSecurityGroupRuleMemberOutput() PiNetworkSecurityGroupRuleMemberOutput { + return i.ToPiNetworkSecurityGroupRuleMemberOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleMemberArgs) ToPiNetworkSecurityGroupRuleMemberOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleMemberOutput) +} + +// PiNetworkSecurityGroupRuleMemberArrayInput is an input type that accepts PiNetworkSecurityGroupRuleMemberArray and PiNetworkSecurityGroupRuleMemberArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleMemberArrayInput` via: +// +// PiNetworkSecurityGroupRuleMemberArray{ PiNetworkSecurityGroupRuleMemberArgs{...} } +type PiNetworkSecurityGroupRuleMemberArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleMemberArrayOutput() PiNetworkSecurityGroupRuleMemberArrayOutput + ToPiNetworkSecurityGroupRuleMemberArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleMemberArrayOutput +} + +type PiNetworkSecurityGroupRuleMemberArray []PiNetworkSecurityGroupRuleMemberInput + +func (PiNetworkSecurityGroupRuleMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleMember)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleMemberArray) ToPiNetworkSecurityGroupRuleMemberArrayOutput() PiNetworkSecurityGroupRuleMemberArrayOutput { + return i.ToPiNetworkSecurityGroupRuleMemberArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleMemberArray) ToPiNetworkSecurityGroupRuleMemberArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleMemberArrayOutput) +} + +type PiNetworkSecurityGroupRuleMemberOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleMember)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleMemberOutput) ToPiNetworkSecurityGroupRuleMemberOutput() PiNetworkSecurityGroupRuleMemberOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleMemberOutput) ToPiNetworkSecurityGroupRuleMemberOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleMemberOutput { + return o +} + +// The ID of the member in a network security group. +func (o PiNetworkSecurityGroupRuleMemberOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleMember) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The mac address of a network interface included if the type is network-interface. +func (o PiNetworkSecurityGroupRuleMemberOutput) MacAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleMember) *string { return v.MacAddress }).(pulumi.StringPtrOutput) +} + +// The network ID of a network interface included if the type is network-interface. +func (o PiNetworkSecurityGroupRuleMemberOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleMember) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +} + +// If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. +func (o PiNetworkSecurityGroupRuleMemberOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleMember) *string { return v.Target }).(pulumi.StringPtrOutput) +} + +// The type of member. +func (o PiNetworkSecurityGroupRuleMemberOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleMember) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRuleMemberArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleMember)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleMemberArrayOutput) ToPiNetworkSecurityGroupRuleMemberArrayOutput() PiNetworkSecurityGroupRuleMemberArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleMemberArrayOutput) ToPiNetworkSecurityGroupRuleMemberArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleMemberArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleMemberArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleMember { + return vs[0].([]PiNetworkSecurityGroupRuleMember)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleMemberOutput) +} + +type PiNetworkSecurityGroupRulePiDestinationPort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupRulePiDestinationPortInput is an input type that accepts PiNetworkSecurityGroupRulePiDestinationPortArgs and PiNetworkSecurityGroupRulePiDestinationPortOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiDestinationPortInput` via: +// +// PiNetworkSecurityGroupRulePiDestinationPortArgs{...} +type PiNetworkSecurityGroupRulePiDestinationPortInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiDestinationPortOutput() PiNetworkSecurityGroupRulePiDestinationPortOutput + ToPiNetworkSecurityGroupRulePiDestinationPortOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiDestinationPortOutput +} + +type PiNetworkSecurityGroupRulePiDestinationPortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupRulePiDestinationPortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiDestinationPort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRulePiDestinationPortArgs) ToPiNetworkSecurityGroupRulePiDestinationPortOutput() PiNetworkSecurityGroupRulePiDestinationPortOutput { + return i.ToPiNetworkSecurityGroupRulePiDestinationPortOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiDestinationPortArgs) ToPiNetworkSecurityGroupRulePiDestinationPortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiDestinationPortOutput) +} + +func (i PiNetworkSecurityGroupRulePiDestinationPortArgs) ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiDestinationPortArgs) ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiDestinationPortOutput).ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(ctx) +} + +// PiNetworkSecurityGroupRulePiDestinationPortPtrInput is an input type that accepts PiNetworkSecurityGroupRulePiDestinationPortArgs, PiNetworkSecurityGroupRulePiDestinationPortPtr and PiNetworkSecurityGroupRulePiDestinationPortPtrOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiDestinationPortPtrInput` via: +// +// PiNetworkSecurityGroupRulePiDestinationPortArgs{...} +// +// or: +// +// nil +type PiNetworkSecurityGroupRulePiDestinationPortPtrInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortPtrOutput + ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiDestinationPortPtrOutput +} + +type piNetworkSecurityGroupRulePiDestinationPortPtrType PiNetworkSecurityGroupRulePiDestinationPortArgs + +func PiNetworkSecurityGroupRulePiDestinationPortPtr(v *PiNetworkSecurityGroupRulePiDestinationPortArgs) PiNetworkSecurityGroupRulePiDestinationPortPtrInput { + return (*piNetworkSecurityGroupRulePiDestinationPortPtrType)(v) +} + +func (*piNetworkSecurityGroupRulePiDestinationPortPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiDestinationPort)(nil)).Elem() +} + +func (i *piNetworkSecurityGroupRulePiDestinationPortPtrType) ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(context.Background()) +} + +func (i *piNetworkSecurityGroupRulePiDestinationPortPtrType) ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) +} + +type PiNetworkSecurityGroupRulePiDestinationPortOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiDestinationPortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiDestinationPort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortOutput) ToPiNetworkSecurityGroupRulePiDestinationPortOutput() PiNetworkSecurityGroupRulePiDestinationPortOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortOutput) ToPiNetworkSecurityGroupRulePiDestinationPortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortOutput) ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return o.ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(context.Background()) +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortOutput) ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiNetworkSecurityGroupRulePiDestinationPort) *PiNetworkSecurityGroupRulePiDestinationPort { + return &v + }).(PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRulePiDestinationPortOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiDestinationPort) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRulePiDestinationPortOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiDestinationPort) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRulePiDestinationPortPtrOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiDestinationPort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) ToPiNetworkSecurityGroupRulePiDestinationPortPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) Elem() PiNetworkSecurityGroupRulePiDestinationPortOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiDestinationPort) PiNetworkSecurityGroupRulePiDestinationPort { + if v != nil { + return *v + } + var ret PiNetworkSecurityGroupRulePiDestinationPort + return ret + }).(PiNetworkSecurityGroupRulePiDestinationPortOutput) +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiDestinationPort) *int { + if v == nil { + return nil + } + return v.Maximum + }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRulePiDestinationPortPtrOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiDestinationPort) *int { + if v == nil { + return nil + } + return v.Minimum + }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRulePiDestinationPorts struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupRulePiDestinationPortsInput is an input type that accepts PiNetworkSecurityGroupRulePiDestinationPortsArgs and PiNetworkSecurityGroupRulePiDestinationPortsOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiDestinationPortsInput` via: +// +// PiNetworkSecurityGroupRulePiDestinationPortsArgs{...} +type PiNetworkSecurityGroupRulePiDestinationPortsInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiDestinationPortsOutput() PiNetworkSecurityGroupRulePiDestinationPortsOutput + ToPiNetworkSecurityGroupRulePiDestinationPortsOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiDestinationPortsOutput +} + +type PiNetworkSecurityGroupRulePiDestinationPortsArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupRulePiDestinationPortsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiDestinationPorts)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRulePiDestinationPortsArgs) ToPiNetworkSecurityGroupRulePiDestinationPortsOutput() PiNetworkSecurityGroupRulePiDestinationPortsOutput { + return i.ToPiNetworkSecurityGroupRulePiDestinationPortsOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiDestinationPortsArgs) ToPiNetworkSecurityGroupRulePiDestinationPortsOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiDestinationPortsOutput) +} + +func (i PiNetworkSecurityGroupRulePiDestinationPortsArgs) ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiDestinationPortsArgs) ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiDestinationPortsOutput).ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(ctx) +} + +// PiNetworkSecurityGroupRulePiDestinationPortsPtrInput is an input type that accepts PiNetworkSecurityGroupRulePiDestinationPortsArgs, PiNetworkSecurityGroupRulePiDestinationPortsPtr and PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiDestinationPortsPtrInput` via: +// +// PiNetworkSecurityGroupRulePiDestinationPortsArgs{...} +// +// or: +// +// nil +type PiNetworkSecurityGroupRulePiDestinationPortsPtrInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput + ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput +} + +type piNetworkSecurityGroupRulePiDestinationPortsPtrType PiNetworkSecurityGroupRulePiDestinationPortsArgs + +func PiNetworkSecurityGroupRulePiDestinationPortsPtr(v *PiNetworkSecurityGroupRulePiDestinationPortsArgs) PiNetworkSecurityGroupRulePiDestinationPortsPtrInput { + return (*piNetworkSecurityGroupRulePiDestinationPortsPtrType)(v) +} + +func (*piNetworkSecurityGroupRulePiDestinationPortsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiDestinationPorts)(nil)).Elem() +} + +func (i *piNetworkSecurityGroupRulePiDestinationPortsPtrType) ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(context.Background()) +} + +func (i *piNetworkSecurityGroupRulePiDestinationPortsPtrType) ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) +} + +type PiNetworkSecurityGroupRulePiDestinationPortsOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiDestinationPortsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiDestinationPorts)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortsOutput) ToPiNetworkSecurityGroupRulePiDestinationPortsOutput() PiNetworkSecurityGroupRulePiDestinationPortsOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortsOutput) ToPiNetworkSecurityGroupRulePiDestinationPortsOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortsOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortsOutput) ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return o.ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(context.Background()) +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortsOutput) ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiNetworkSecurityGroupRulePiDestinationPorts) *PiNetworkSecurityGroupRulePiDestinationPorts { + return &v + }).(PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRulePiDestinationPortsOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiDestinationPorts) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRulePiDestinationPortsOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiDestinationPorts) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiDestinationPorts)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutput() PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) ToPiNetworkSecurityGroupRulePiDestinationPortsPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) Elem() PiNetworkSecurityGroupRulePiDestinationPortsOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiDestinationPorts) PiNetworkSecurityGroupRulePiDestinationPorts { + if v != nil { + return *v + } + var ret PiNetworkSecurityGroupRulePiDestinationPorts + return ret + }).(PiNetworkSecurityGroupRulePiDestinationPortsOutput) +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiDestinationPorts) *int { + if v == nil { + return nil + } + return v.Maximum + }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiDestinationPorts) *int { + if v == nil { + return nil + } + return v.Minimum + }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRulePiProtocol struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType *string `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags []PiNetworkSecurityGroupRulePiProtocolTcpFlag `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type string `pulumi:"type"` +} + +// PiNetworkSecurityGroupRulePiProtocolInput is an input type that accepts PiNetworkSecurityGroupRulePiProtocolArgs and PiNetworkSecurityGroupRulePiProtocolOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiProtocolInput` via: +// +// PiNetworkSecurityGroupRulePiProtocolArgs{...} +type PiNetworkSecurityGroupRulePiProtocolInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiProtocolOutput() PiNetworkSecurityGroupRulePiProtocolOutput + ToPiNetworkSecurityGroupRulePiProtocolOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiProtocolOutput +} + +type PiNetworkSecurityGroupRulePiProtocolArgs struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType pulumi.StringPtrInput `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayInput `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type pulumi.StringInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupRulePiProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiProtocol)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRulePiProtocolArgs) ToPiNetworkSecurityGroupRulePiProtocolOutput() PiNetworkSecurityGroupRulePiProtocolOutput { + return i.ToPiNetworkSecurityGroupRulePiProtocolOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiProtocolArgs) ToPiNetworkSecurityGroupRulePiProtocolOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiProtocolOutput) +} + +func (i PiNetworkSecurityGroupRulePiProtocolArgs) ToPiNetworkSecurityGroupRulePiProtocolPtrOutput() PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiProtocolArgs) ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiProtocolOutput).ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(ctx) +} + +// PiNetworkSecurityGroupRulePiProtocolPtrInput is an input type that accepts PiNetworkSecurityGroupRulePiProtocolArgs, PiNetworkSecurityGroupRulePiProtocolPtr and PiNetworkSecurityGroupRulePiProtocolPtrOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiProtocolPtrInput` via: +// +// PiNetworkSecurityGroupRulePiProtocolArgs{...} +// +// or: +// +// nil +type PiNetworkSecurityGroupRulePiProtocolPtrInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiProtocolPtrOutput() PiNetworkSecurityGroupRulePiProtocolPtrOutput + ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiProtocolPtrOutput +} + +type piNetworkSecurityGroupRulePiProtocolPtrType PiNetworkSecurityGroupRulePiProtocolArgs + +func PiNetworkSecurityGroupRulePiProtocolPtr(v *PiNetworkSecurityGroupRulePiProtocolArgs) PiNetworkSecurityGroupRulePiProtocolPtrInput { + return (*piNetworkSecurityGroupRulePiProtocolPtrType)(v) +} + +func (*piNetworkSecurityGroupRulePiProtocolPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiProtocol)(nil)).Elem() +} + +func (i *piNetworkSecurityGroupRulePiProtocolPtrType) ToPiNetworkSecurityGroupRulePiProtocolPtrOutput() PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(context.Background()) +} + +func (i *piNetworkSecurityGroupRulePiProtocolPtrType) ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiProtocolPtrOutput) +} + +type PiNetworkSecurityGroupRulePiProtocolOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiProtocol)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiProtocolOutput) ToPiNetworkSecurityGroupRulePiProtocolOutput() PiNetworkSecurityGroupRulePiProtocolOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiProtocolOutput) ToPiNetworkSecurityGroupRulePiProtocolOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiProtocolOutput) ToPiNetworkSecurityGroupRulePiProtocolPtrOutput() PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return o.ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(context.Background()) +} + +func (o PiNetworkSecurityGroupRulePiProtocolOutput) ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiNetworkSecurityGroupRulePiProtocol) *PiNetworkSecurityGroupRulePiProtocol { + return &v + }).(PiNetworkSecurityGroupRulePiProtocolPtrOutput) +} + +// If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. +func (o PiNetworkSecurityGroupRulePiProtocolOutput) IcmpType() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiProtocol) *string { return v.IcmpType }).(pulumi.StringPtrOutput) +} + +// If tcp type, the list of TCP flags and if not present then all flags are matched. +func (o PiNetworkSecurityGroupRulePiProtocolOutput) TcpFlags() PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiProtocol) []PiNetworkSecurityGroupRulePiProtocolTcpFlag { + return v.TcpFlags + }).(PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput) +} + +// The protocol of the network traffic. +func (o PiNetworkSecurityGroupRulePiProtocolOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiProtocol) string { return v.Type }).(pulumi.StringOutput) +} + +type PiNetworkSecurityGroupRulePiProtocolPtrOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiProtocolPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiProtocol)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiProtocolPtrOutput) ToPiNetworkSecurityGroupRulePiProtocolPtrOutput() PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiProtocolPtrOutput) ToPiNetworkSecurityGroupRulePiProtocolPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiProtocolPtrOutput) Elem() PiNetworkSecurityGroupRulePiProtocolOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiProtocol) PiNetworkSecurityGroupRulePiProtocol { + if v != nil { + return *v + } + var ret PiNetworkSecurityGroupRulePiProtocol + return ret + }).(PiNetworkSecurityGroupRulePiProtocolOutput) +} + +// If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. +func (o PiNetworkSecurityGroupRulePiProtocolPtrOutput) IcmpType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiProtocol) *string { + if v == nil { + return nil + } + return v.IcmpType + }).(pulumi.StringPtrOutput) +} + +// If tcp type, the list of TCP flags and if not present then all flags are matched. +func (o PiNetworkSecurityGroupRulePiProtocolPtrOutput) TcpFlags() PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiProtocol) []PiNetworkSecurityGroupRulePiProtocolTcpFlag { + if v == nil { + return nil + } + return v.TcpFlags + }).(PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput) +} + +// The protocol of the network traffic. +func (o PiNetworkSecurityGroupRulePiProtocolPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiProtocol) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRulePiProtocolTcpFlag struct { + // TCP flag. + Flag string `pulumi:"flag"` +} + +// PiNetworkSecurityGroupRulePiProtocolTcpFlagInput is an input type that accepts PiNetworkSecurityGroupRulePiProtocolTcpFlagArgs and PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiProtocolTcpFlagInput` via: +// +// PiNetworkSecurityGroupRulePiProtocolTcpFlagArgs{...} +type PiNetworkSecurityGroupRulePiProtocolTcpFlagInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiProtocolTcpFlagOutput() PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput + ToPiNetworkSecurityGroupRulePiProtocolTcpFlagOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput +} + +type PiNetworkSecurityGroupRulePiProtocolTcpFlagArgs struct { + // TCP flag. + Flag pulumi.StringInput `pulumi:"flag"` +} + +func (PiNetworkSecurityGroupRulePiProtocolTcpFlagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiProtocolTcpFlag)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRulePiProtocolTcpFlagArgs) ToPiNetworkSecurityGroupRulePiProtocolTcpFlagOutput() PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput { + return i.ToPiNetworkSecurityGroupRulePiProtocolTcpFlagOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiProtocolTcpFlagArgs) ToPiNetworkSecurityGroupRulePiProtocolTcpFlagOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput) +} + +// PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayInput is an input type that accepts PiNetworkSecurityGroupRulePiProtocolTcpFlagArray and PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayInput` via: +// +// PiNetworkSecurityGroupRulePiProtocolTcpFlagArray{ PiNetworkSecurityGroupRulePiProtocolTcpFlagArgs{...} } +type PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput + ToPiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput +} + +type PiNetworkSecurityGroupRulePiProtocolTcpFlagArray []PiNetworkSecurityGroupRulePiProtocolTcpFlagInput + +func (PiNetworkSecurityGroupRulePiProtocolTcpFlagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRulePiProtocolTcpFlag)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRulePiProtocolTcpFlagArray) ToPiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput { + return i.ToPiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiProtocolTcpFlagArray) ToPiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput) +} + +type PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiProtocolTcpFlag)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput) ToPiNetworkSecurityGroupRulePiProtocolTcpFlagOutput() PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput) ToPiNetworkSecurityGroupRulePiProtocolTcpFlagOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput { + return o +} + +// TCP flag. +func (o PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput) Flag() pulumi.StringOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiProtocolTcpFlag) string { return v.Flag }).(pulumi.StringOutput) +} + +type PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRulePiProtocolTcpFlag)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput) ToPiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput) ToPiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRulePiProtocolTcpFlag { + return vs[0].([]PiNetworkSecurityGroupRulePiProtocolTcpFlag)[vs[1].(int)] + }).(PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput) +} + +type PiNetworkSecurityGroupRulePiRemote struct { + // The ID of the remote network address group or network security group the rules apply to. Not required for default-network-address-group. + Id *string `pulumi:"id"` + // The type of remote group (MAC addresses, IP addresses, CIDRs, external CIDRs) that are the originators of rule's network traffic to match. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupRulePiRemoteInput is an input type that accepts PiNetworkSecurityGroupRulePiRemoteArgs and PiNetworkSecurityGroupRulePiRemoteOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiRemoteInput` via: +// +// PiNetworkSecurityGroupRulePiRemoteArgs{...} +type PiNetworkSecurityGroupRulePiRemoteInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiRemoteOutput() PiNetworkSecurityGroupRulePiRemoteOutput + ToPiNetworkSecurityGroupRulePiRemoteOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiRemoteOutput +} + +type PiNetworkSecurityGroupRulePiRemoteArgs struct { + // The ID of the remote network address group or network security group the rules apply to. Not required for default-network-address-group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The type of remote group (MAC addresses, IP addresses, CIDRs, external CIDRs) that are the originators of rule's network traffic to match. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupRulePiRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiRemote)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRulePiRemoteArgs) ToPiNetworkSecurityGroupRulePiRemoteOutput() PiNetworkSecurityGroupRulePiRemoteOutput { + return i.ToPiNetworkSecurityGroupRulePiRemoteOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiRemoteArgs) ToPiNetworkSecurityGroupRulePiRemoteOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiRemoteOutput) +} + +func (i PiNetworkSecurityGroupRulePiRemoteArgs) ToPiNetworkSecurityGroupRulePiRemotePtrOutput() PiNetworkSecurityGroupRulePiRemotePtrOutput { + return i.ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiRemoteArgs) ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiRemotePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiRemoteOutput).ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(ctx) +} + +// PiNetworkSecurityGroupRulePiRemotePtrInput is an input type that accepts PiNetworkSecurityGroupRulePiRemoteArgs, PiNetworkSecurityGroupRulePiRemotePtr and PiNetworkSecurityGroupRulePiRemotePtrOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiRemotePtrInput` via: +// +// PiNetworkSecurityGroupRulePiRemoteArgs{...} +// +// or: +// +// nil +type PiNetworkSecurityGroupRulePiRemotePtrInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiRemotePtrOutput() PiNetworkSecurityGroupRulePiRemotePtrOutput + ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiRemotePtrOutput +} + +type piNetworkSecurityGroupRulePiRemotePtrType PiNetworkSecurityGroupRulePiRemoteArgs + +func PiNetworkSecurityGroupRulePiRemotePtr(v *PiNetworkSecurityGroupRulePiRemoteArgs) PiNetworkSecurityGroupRulePiRemotePtrInput { + return (*piNetworkSecurityGroupRulePiRemotePtrType)(v) +} + +func (*piNetworkSecurityGroupRulePiRemotePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiRemote)(nil)).Elem() +} + +func (i *piNetworkSecurityGroupRulePiRemotePtrType) ToPiNetworkSecurityGroupRulePiRemotePtrOutput() PiNetworkSecurityGroupRulePiRemotePtrOutput { + return i.ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(context.Background()) +} + +func (i *piNetworkSecurityGroupRulePiRemotePtrType) ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiRemotePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiRemotePtrOutput) +} + +type PiNetworkSecurityGroupRulePiRemoteOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiRemote)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiRemoteOutput) ToPiNetworkSecurityGroupRulePiRemoteOutput() PiNetworkSecurityGroupRulePiRemoteOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiRemoteOutput) ToPiNetworkSecurityGroupRulePiRemoteOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiRemoteOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiRemoteOutput) ToPiNetworkSecurityGroupRulePiRemotePtrOutput() PiNetworkSecurityGroupRulePiRemotePtrOutput { + return o.ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(context.Background()) +} + +func (o PiNetworkSecurityGroupRulePiRemoteOutput) ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiRemotePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiNetworkSecurityGroupRulePiRemote) *PiNetworkSecurityGroupRulePiRemote { + return &v + }).(PiNetworkSecurityGroupRulePiRemotePtrOutput) +} + +// The ID of the remote network address group or network security group the rules apply to. Not required for default-network-address-group. +func (o PiNetworkSecurityGroupRulePiRemoteOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiRemote) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The type of remote group (MAC addresses, IP addresses, CIDRs, external CIDRs) that are the originators of rule's network traffic to match. +func (o PiNetworkSecurityGroupRulePiRemoteOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiRemote) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRulePiRemotePtrOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiRemotePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiRemote)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiRemotePtrOutput) ToPiNetworkSecurityGroupRulePiRemotePtrOutput() PiNetworkSecurityGroupRulePiRemotePtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiRemotePtrOutput) ToPiNetworkSecurityGroupRulePiRemotePtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiRemotePtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiRemotePtrOutput) Elem() PiNetworkSecurityGroupRulePiRemoteOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiRemote) PiNetworkSecurityGroupRulePiRemote { + if v != nil { + return *v + } + var ret PiNetworkSecurityGroupRulePiRemote + return ret + }).(PiNetworkSecurityGroupRulePiRemoteOutput) +} + +// The ID of the remote network address group or network security group the rules apply to. Not required for default-network-address-group. +func (o PiNetworkSecurityGroupRulePiRemotePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiRemote) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The type of remote group (MAC addresses, IP addresses, CIDRs, external CIDRs) that are the originators of rule's network traffic to match. +func (o PiNetworkSecurityGroupRulePiRemotePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiRemote) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRulePiSourcePort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupRulePiSourcePortInput is an input type that accepts PiNetworkSecurityGroupRulePiSourcePortArgs and PiNetworkSecurityGroupRulePiSourcePortOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiSourcePortInput` via: +// +// PiNetworkSecurityGroupRulePiSourcePortArgs{...} +type PiNetworkSecurityGroupRulePiSourcePortInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiSourcePortOutput() PiNetworkSecurityGroupRulePiSourcePortOutput + ToPiNetworkSecurityGroupRulePiSourcePortOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiSourcePortOutput +} + +type PiNetworkSecurityGroupRulePiSourcePortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupRulePiSourcePortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiSourcePort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRulePiSourcePortArgs) ToPiNetworkSecurityGroupRulePiSourcePortOutput() PiNetworkSecurityGroupRulePiSourcePortOutput { + return i.ToPiNetworkSecurityGroupRulePiSourcePortOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiSourcePortArgs) ToPiNetworkSecurityGroupRulePiSourcePortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiSourcePortOutput) +} + +func (i PiNetworkSecurityGroupRulePiSourcePortArgs) ToPiNetworkSecurityGroupRulePiSourcePortPtrOutput() PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiSourcePortArgs) ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiSourcePortOutput).ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(ctx) +} + +// PiNetworkSecurityGroupRulePiSourcePortPtrInput is an input type that accepts PiNetworkSecurityGroupRulePiSourcePortArgs, PiNetworkSecurityGroupRulePiSourcePortPtr and PiNetworkSecurityGroupRulePiSourcePortPtrOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiSourcePortPtrInput` via: +// +// PiNetworkSecurityGroupRulePiSourcePortArgs{...} +// +// or: +// +// nil +type PiNetworkSecurityGroupRulePiSourcePortPtrInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiSourcePortPtrOutput() PiNetworkSecurityGroupRulePiSourcePortPtrOutput + ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiSourcePortPtrOutput +} + +type piNetworkSecurityGroupRulePiSourcePortPtrType PiNetworkSecurityGroupRulePiSourcePortArgs + +func PiNetworkSecurityGroupRulePiSourcePortPtr(v *PiNetworkSecurityGroupRulePiSourcePortArgs) PiNetworkSecurityGroupRulePiSourcePortPtrInput { + return (*piNetworkSecurityGroupRulePiSourcePortPtrType)(v) +} + +func (*piNetworkSecurityGroupRulePiSourcePortPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiSourcePort)(nil)).Elem() +} + +func (i *piNetworkSecurityGroupRulePiSourcePortPtrType) ToPiNetworkSecurityGroupRulePiSourcePortPtrOutput() PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(context.Background()) +} + +func (i *piNetworkSecurityGroupRulePiSourcePortPtrType) ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiSourcePortPtrOutput) +} + +type PiNetworkSecurityGroupRulePiSourcePortOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiSourcePortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiSourcePort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiSourcePortOutput) ToPiNetworkSecurityGroupRulePiSourcePortOutput() PiNetworkSecurityGroupRulePiSourcePortOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiSourcePortOutput) ToPiNetworkSecurityGroupRulePiSourcePortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiSourcePortOutput) ToPiNetworkSecurityGroupRulePiSourcePortPtrOutput() PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return o.ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(context.Background()) +} + +func (o PiNetworkSecurityGroupRulePiSourcePortOutput) ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiNetworkSecurityGroupRulePiSourcePort) *PiNetworkSecurityGroupRulePiSourcePort { + return &v + }).(PiNetworkSecurityGroupRulePiSourcePortPtrOutput) +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRulePiSourcePortOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiSourcePort) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRulePiSourcePortOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiSourcePort) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRulePiSourcePortPtrOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiSourcePortPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiSourcePort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiSourcePortPtrOutput) ToPiNetworkSecurityGroupRulePiSourcePortPtrOutput() PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiSourcePortPtrOutput) ToPiNetworkSecurityGroupRulePiSourcePortPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiSourcePortPtrOutput) Elem() PiNetworkSecurityGroupRulePiSourcePortOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiSourcePort) PiNetworkSecurityGroupRulePiSourcePort { + if v != nil { + return *v + } + var ret PiNetworkSecurityGroupRulePiSourcePort + return ret + }).(PiNetworkSecurityGroupRulePiSourcePortOutput) +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRulePiSourcePortPtrOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiSourcePort) *int { + if v == nil { + return nil + } + return v.Maximum + }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRulePiSourcePortPtrOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiSourcePort) *int { + if v == nil { + return nil + } + return v.Minimum + }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRulePiSourcePorts struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupRulePiSourcePortsInput is an input type that accepts PiNetworkSecurityGroupRulePiSourcePortsArgs and PiNetworkSecurityGroupRulePiSourcePortsOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiSourcePortsInput` via: +// +// PiNetworkSecurityGroupRulePiSourcePortsArgs{...} +type PiNetworkSecurityGroupRulePiSourcePortsInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiSourcePortsOutput() PiNetworkSecurityGroupRulePiSourcePortsOutput + ToPiNetworkSecurityGroupRulePiSourcePortsOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiSourcePortsOutput +} + +type PiNetworkSecurityGroupRulePiSourcePortsArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupRulePiSourcePortsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiSourcePorts)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRulePiSourcePortsArgs) ToPiNetworkSecurityGroupRulePiSourcePortsOutput() PiNetworkSecurityGroupRulePiSourcePortsOutput { + return i.ToPiNetworkSecurityGroupRulePiSourcePortsOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiSourcePortsArgs) ToPiNetworkSecurityGroupRulePiSourcePortsOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiSourcePortsOutput) +} + +func (i PiNetworkSecurityGroupRulePiSourcePortsArgs) ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutput() PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRulePiSourcePortsArgs) ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiSourcePortsOutput).ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(ctx) +} + +// PiNetworkSecurityGroupRulePiSourcePortsPtrInput is an input type that accepts PiNetworkSecurityGroupRulePiSourcePortsArgs, PiNetworkSecurityGroupRulePiSourcePortsPtr and PiNetworkSecurityGroupRulePiSourcePortsPtrOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRulePiSourcePortsPtrInput` via: +// +// PiNetworkSecurityGroupRulePiSourcePortsArgs{...} +// +// or: +// +// nil +type PiNetworkSecurityGroupRulePiSourcePortsPtrInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutput() PiNetworkSecurityGroupRulePiSourcePortsPtrOutput + ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(context.Context) PiNetworkSecurityGroupRulePiSourcePortsPtrOutput +} + +type piNetworkSecurityGroupRulePiSourcePortsPtrType PiNetworkSecurityGroupRulePiSourcePortsArgs + +func PiNetworkSecurityGroupRulePiSourcePortsPtr(v *PiNetworkSecurityGroupRulePiSourcePortsArgs) PiNetworkSecurityGroupRulePiSourcePortsPtrInput { + return (*piNetworkSecurityGroupRulePiSourcePortsPtrType)(v) +} + +func (*piNetworkSecurityGroupRulePiSourcePortsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiSourcePorts)(nil)).Elem() +} + +func (i *piNetworkSecurityGroupRulePiSourcePortsPtrType) ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutput() PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return i.ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(context.Background()) +} + +func (i *piNetworkSecurityGroupRulePiSourcePortsPtrType) ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) +} + +type PiNetworkSecurityGroupRulePiSourcePortsOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiSourcePortsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRulePiSourcePorts)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiSourcePortsOutput) ToPiNetworkSecurityGroupRulePiSourcePortsOutput() PiNetworkSecurityGroupRulePiSourcePortsOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiSourcePortsOutput) ToPiNetworkSecurityGroupRulePiSourcePortsOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortsOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiSourcePortsOutput) ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutput() PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return o.ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(context.Background()) +} + +func (o PiNetworkSecurityGroupRulePiSourcePortsOutput) ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiNetworkSecurityGroupRulePiSourcePorts) *PiNetworkSecurityGroupRulePiSourcePorts { + return &v + }).(PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRulePiSourcePortsOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiSourcePorts) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRulePiSourcePortsOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRulePiSourcePorts) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRulePiSourcePortsPtrOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiNetworkSecurityGroupRulePiSourcePorts)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutput() PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) ToPiNetworkSecurityGroupRulePiSourcePortsPtrOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRulePiSourcePortsPtrOutput { + return o +} + +func (o PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) Elem() PiNetworkSecurityGroupRulePiSourcePortsOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiSourcePorts) PiNetworkSecurityGroupRulePiSourcePorts { + if v != nil { + return *v + } + var ret PiNetworkSecurityGroupRulePiSourcePorts + return ret + }).(PiNetworkSecurityGroupRulePiSourcePortsOutput) +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiSourcePorts) *int { + if v == nil { + return nil + } + return v.Maximum + }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRulePiSourcePortsPtrOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PiNetworkSecurityGroupRulePiSourcePorts) *int { + if v == nil { + return nil + } + return v.Minimum + }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRuleProtocol struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType *string `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags []PiNetworkSecurityGroupRuleProtocolTcpFlag `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupRuleProtocolInput is an input type that accepts PiNetworkSecurityGroupRuleProtocolArgs and PiNetworkSecurityGroupRuleProtocolOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleProtocolInput` via: +// +// PiNetworkSecurityGroupRuleProtocolArgs{...} +type PiNetworkSecurityGroupRuleProtocolInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleProtocolOutput() PiNetworkSecurityGroupRuleProtocolOutput + ToPiNetworkSecurityGroupRuleProtocolOutputWithContext(context.Context) PiNetworkSecurityGroupRuleProtocolOutput +} + +type PiNetworkSecurityGroupRuleProtocolArgs struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType pulumi.StringPtrInput `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags PiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupRuleProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleProtocolArgs) ToPiNetworkSecurityGroupRuleProtocolOutput() PiNetworkSecurityGroupRuleProtocolOutput { + return i.ToPiNetworkSecurityGroupRuleProtocolOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleProtocolArgs) ToPiNetworkSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleProtocolOutput) +} + +// PiNetworkSecurityGroupRuleProtocolArrayInput is an input type that accepts PiNetworkSecurityGroupRuleProtocolArray and PiNetworkSecurityGroupRuleProtocolArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleProtocolArrayInput` via: +// +// PiNetworkSecurityGroupRuleProtocolArray{ PiNetworkSecurityGroupRuleProtocolArgs{...} } +type PiNetworkSecurityGroupRuleProtocolArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleProtocolArrayOutput() PiNetworkSecurityGroupRuleProtocolArrayOutput + ToPiNetworkSecurityGroupRuleProtocolArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleProtocolArrayOutput +} + +type PiNetworkSecurityGroupRuleProtocolArray []PiNetworkSecurityGroupRuleProtocolInput + +func (PiNetworkSecurityGroupRuleProtocolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleProtocolArray) ToPiNetworkSecurityGroupRuleProtocolArrayOutput() PiNetworkSecurityGroupRuleProtocolArrayOutput { + return i.ToPiNetworkSecurityGroupRuleProtocolArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleProtocolArray) ToPiNetworkSecurityGroupRuleProtocolArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleProtocolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleProtocolArrayOutput) +} + +type PiNetworkSecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleProtocolOutput) ToPiNetworkSecurityGroupRuleProtocolOutput() PiNetworkSecurityGroupRuleProtocolOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleProtocolOutput) ToPiNetworkSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleProtocolOutput { + return o +} + +// If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. +func (o PiNetworkSecurityGroupRuleProtocolOutput) IcmpType() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleProtocol) *string { return v.IcmpType }).(pulumi.StringPtrOutput) +} + +// If tcp type, the list of TCP flags and if not present then all flags are matched. +func (o PiNetworkSecurityGroupRuleProtocolOutput) TcpFlags() PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleProtocol) []PiNetworkSecurityGroupRuleProtocolTcpFlag { + return v.TcpFlags + }).(PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) +} + +// The protocol of the network traffic. +func (o PiNetworkSecurityGroupRuleProtocolOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleProtocol) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRuleProtocolArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleProtocolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleProtocolArrayOutput) ToPiNetworkSecurityGroupRuleProtocolArrayOutput() PiNetworkSecurityGroupRuleProtocolArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleProtocolArrayOutput) ToPiNetworkSecurityGroupRuleProtocolArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleProtocolArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleProtocolArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleProtocolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleProtocol { + return vs[0].([]PiNetworkSecurityGroupRuleProtocol)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleProtocolOutput) +} + +type PiNetworkSecurityGroupRuleProtocolTcpFlag struct { + // TCP flag. + Flag *string `pulumi:"flag"` +} + +// PiNetworkSecurityGroupRuleProtocolTcpFlagInput is an input type that accepts PiNetworkSecurityGroupRuleProtocolTcpFlagArgs and PiNetworkSecurityGroupRuleProtocolTcpFlagOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleProtocolTcpFlagInput` via: +// +// PiNetworkSecurityGroupRuleProtocolTcpFlagArgs{...} +type PiNetworkSecurityGroupRuleProtocolTcpFlagInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupRuleProtocolTcpFlagOutput + ToPiNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(context.Context) PiNetworkSecurityGroupRuleProtocolTcpFlagOutput +} + +type PiNetworkSecurityGroupRuleProtocolTcpFlagArgs struct { + // TCP flag. + Flag pulumi.StringPtrInput `pulumi:"flag"` +} + +func (PiNetworkSecurityGroupRuleProtocolTcpFlagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleProtocolTcpFlagArgs) ToPiNetworkSecurityGroupRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return i.ToPiNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleProtocolTcpFlagArgs) ToPiNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleProtocolTcpFlagOutput) +} + +// PiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput is an input type that accepts PiNetworkSecurityGroupRuleProtocolTcpFlagArray and PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput` via: +// +// PiNetworkSecurityGroupRuleProtocolTcpFlagArray{ PiNetworkSecurityGroupRuleProtocolTcpFlagArgs{...} } +type PiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput + ToPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput +} + +type PiNetworkSecurityGroupRuleProtocolTcpFlagArray []PiNetworkSecurityGroupRuleProtocolTcpFlagInput + +func (PiNetworkSecurityGroupRuleProtocolTcpFlagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleProtocolTcpFlagArray) ToPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return i.ToPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleProtocolTcpFlagArray) ToPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) +} + +type PiNetworkSecurityGroupRuleProtocolTcpFlagOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleProtocolTcpFlagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleProtocolTcpFlagOutput) ToPiNetworkSecurityGroupRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleProtocolTcpFlagOutput) ToPiNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return o +} + +// TCP flag. +func (o PiNetworkSecurityGroupRuleProtocolTcpFlagOutput) Flag() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleProtocolTcpFlag) *string { return v.Flag }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ToPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ToPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleProtocolTcpFlag { + return vs[0].([]PiNetworkSecurityGroupRuleProtocolTcpFlag)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleProtocolTcpFlagOutput) +} + +type PiNetworkSecurityGroupRuleRemote struct { + // The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. + Id *string `pulumi:"id"` + // The type of remote group the rules apply to. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupRuleRemoteInput is an input type that accepts PiNetworkSecurityGroupRuleRemoteArgs and PiNetworkSecurityGroupRuleRemoteOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRemoteInput` via: +// +// PiNetworkSecurityGroupRuleRemoteArgs{...} +type PiNetworkSecurityGroupRuleRemoteInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRemoteOutput() PiNetworkSecurityGroupRuleRemoteOutput + ToPiNetworkSecurityGroupRuleRemoteOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRemoteOutput +} + +type PiNetworkSecurityGroupRuleRemoteArgs struct { + // The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The type of remote group the rules apply to. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupRuleRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRemoteArgs) ToPiNetworkSecurityGroupRuleRemoteOutput() PiNetworkSecurityGroupRuleRemoteOutput { + return i.ToPiNetworkSecurityGroupRuleRemoteOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRemoteArgs) ToPiNetworkSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRemoteOutput) +} + +// PiNetworkSecurityGroupRuleRemoteArrayInput is an input type that accepts PiNetworkSecurityGroupRuleRemoteArray and PiNetworkSecurityGroupRuleRemoteArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRemoteArrayInput` via: +// +// PiNetworkSecurityGroupRuleRemoteArray{ PiNetworkSecurityGroupRuleRemoteArgs{...} } +type PiNetworkSecurityGroupRuleRemoteArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRemoteArrayOutput() PiNetworkSecurityGroupRuleRemoteArrayOutput + ToPiNetworkSecurityGroupRuleRemoteArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRemoteArrayOutput +} + +type PiNetworkSecurityGroupRuleRemoteArray []PiNetworkSecurityGroupRuleRemoteInput + +func (PiNetworkSecurityGroupRuleRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRemoteArray) ToPiNetworkSecurityGroupRuleRemoteArrayOutput() PiNetworkSecurityGroupRuleRemoteArrayOutput { + return i.ToPiNetworkSecurityGroupRuleRemoteArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRemoteArray) ToPiNetworkSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRemoteArrayOutput) +} + +type PiNetworkSecurityGroupRuleRemoteOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRemoteOutput) ToPiNetworkSecurityGroupRuleRemoteOutput() PiNetworkSecurityGroupRuleRemoteOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRemoteOutput) ToPiNetworkSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRemoteOutput { + return o +} + +// The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. +func (o PiNetworkSecurityGroupRuleRemoteOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRemote) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The type of remote group the rules apply to. +func (o PiNetworkSecurityGroupRuleRemoteOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRemote) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRuleRemoteArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRemoteArrayOutput) ToPiNetworkSecurityGroupRuleRemoteArrayOutput() PiNetworkSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRemoteArrayOutput) ToPiNetworkSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRemoteArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleRemote { + return vs[0].([]PiNetworkSecurityGroupRuleRemote)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleRemoteOutput) +} + +type PiNetworkSecurityGroupRuleRule struct { + // The action to take if the rule matches network traffic. + Action *string `pulumi:"action"` + // Destination port ranges. + DestinationPorts []PiNetworkSecurityGroupRuleRuleDestinationPort `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id *string `pulumi:"id"` + // The list of protocol. + Protocols []PiNetworkSecurityGroupRuleRuleProtocol `pulumi:"protocols"` + // List of remote. + Remotes []PiNetworkSecurityGroupRuleRuleRemote `pulumi:"remotes"` + // Source port ranges. + SourcePorts []PiNetworkSecurityGroupRuleRuleSourcePort `pulumi:"sourcePorts"` +} + +// PiNetworkSecurityGroupRuleRuleInput is an input type that accepts PiNetworkSecurityGroupRuleRuleArgs and PiNetworkSecurityGroupRuleRuleOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleInput` via: +// +// PiNetworkSecurityGroupRuleRuleArgs{...} +type PiNetworkSecurityGroupRuleRuleInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleOutput() PiNetworkSecurityGroupRuleRuleOutput + ToPiNetworkSecurityGroupRuleRuleOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleOutput +} + +type PiNetworkSecurityGroupRuleRuleArgs struct { + // The action to take if the rule matches network traffic. + Action pulumi.StringPtrInput `pulumi:"action"` + // Destination port ranges. + DestinationPorts PiNetworkSecurityGroupRuleRuleDestinationPortArrayInput `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The list of protocol. + Protocols PiNetworkSecurityGroupRuleRuleProtocolArrayInput `pulumi:"protocols"` + // List of remote. + Remotes PiNetworkSecurityGroupRuleRuleRemoteArrayInput `pulumi:"remotes"` + // Source port ranges. + SourcePorts PiNetworkSecurityGroupRuleRuleSourcePortArrayInput `pulumi:"sourcePorts"` +} + +func (PiNetworkSecurityGroupRuleRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRule)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleArgs) ToPiNetworkSecurityGroupRuleRuleOutput() PiNetworkSecurityGroupRuleRuleOutput { + return i.ToPiNetworkSecurityGroupRuleRuleOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleArgs) ToPiNetworkSecurityGroupRuleRuleOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleOutput) +} + +// PiNetworkSecurityGroupRuleRuleArrayInput is an input type that accepts PiNetworkSecurityGroupRuleRuleArray and PiNetworkSecurityGroupRuleRuleArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleArrayInput` via: +// +// PiNetworkSecurityGroupRuleRuleArray{ PiNetworkSecurityGroupRuleRuleArgs{...} } +type PiNetworkSecurityGroupRuleRuleArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleArrayOutput() PiNetworkSecurityGroupRuleRuleArrayOutput + ToPiNetworkSecurityGroupRuleRuleArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleArrayOutput +} + +type PiNetworkSecurityGroupRuleRuleArray []PiNetworkSecurityGroupRuleRuleInput + +func (PiNetworkSecurityGroupRuleRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRule)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleArray) ToPiNetworkSecurityGroupRuleRuleArrayOutput() PiNetworkSecurityGroupRuleRuleArrayOutput { + return i.ToPiNetworkSecurityGroupRuleRuleArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleArray) ToPiNetworkSecurityGroupRuleRuleArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleArrayOutput) +} + +type PiNetworkSecurityGroupRuleRuleOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRule)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleOutput) ToPiNetworkSecurityGroupRuleRuleOutput() PiNetworkSecurityGroupRuleRuleOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleOutput) ToPiNetworkSecurityGroupRuleRuleOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleOutput { + return o +} + +// The action to take if the rule matches network traffic. +func (o PiNetworkSecurityGroupRuleRuleOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRule) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// Destination port ranges. +func (o PiNetworkSecurityGroupRuleRuleOutput) DestinationPorts() PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRule) []PiNetworkSecurityGroupRuleRuleDestinationPort { + return v.DestinationPorts + }).(PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput) +} + +// The ID of the rule in a network security group. +func (o PiNetworkSecurityGroupRuleRuleOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRule) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The list of protocol. +func (o PiNetworkSecurityGroupRuleRuleOutput) Protocols() PiNetworkSecurityGroupRuleRuleProtocolArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRule) []PiNetworkSecurityGroupRuleRuleProtocol { return v.Protocols }).(PiNetworkSecurityGroupRuleRuleProtocolArrayOutput) +} + +// List of remote. +func (o PiNetworkSecurityGroupRuleRuleOutput) Remotes() PiNetworkSecurityGroupRuleRuleRemoteArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRule) []PiNetworkSecurityGroupRuleRuleRemote { return v.Remotes }).(PiNetworkSecurityGroupRuleRuleRemoteArrayOutput) +} + +// Source port ranges. +func (o PiNetworkSecurityGroupRuleRuleOutput) SourcePorts() PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRule) []PiNetworkSecurityGroupRuleRuleSourcePort { + return v.SourcePorts + }).(PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput) +} + +type PiNetworkSecurityGroupRuleRuleArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRule)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleArrayOutput) ToPiNetworkSecurityGroupRuleRuleArrayOutput() PiNetworkSecurityGroupRuleRuleArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleArrayOutput) ToPiNetworkSecurityGroupRuleRuleArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleRule { + return vs[0].([]PiNetworkSecurityGroupRuleRule)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleRuleOutput) +} + +type PiNetworkSecurityGroupRuleRuleDestinationPort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupRuleRuleDestinationPortInput is an input type that accepts PiNetworkSecurityGroupRuleRuleDestinationPortArgs and PiNetworkSecurityGroupRuleRuleDestinationPortOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleDestinationPortInput` via: +// +// PiNetworkSecurityGroupRuleRuleDestinationPortArgs{...} +type PiNetworkSecurityGroupRuleRuleDestinationPortInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleDestinationPortOutput() PiNetworkSecurityGroupRuleRuleDestinationPortOutput + ToPiNetworkSecurityGroupRuleRuleDestinationPortOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleDestinationPortOutput +} + +type PiNetworkSecurityGroupRuleRuleDestinationPortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupRuleRuleDestinationPortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleDestinationPort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleDestinationPortArgs) ToPiNetworkSecurityGroupRuleRuleDestinationPortOutput() PiNetworkSecurityGroupRuleRuleDestinationPortOutput { + return i.ToPiNetworkSecurityGroupRuleRuleDestinationPortOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleDestinationPortArgs) ToPiNetworkSecurityGroupRuleRuleDestinationPortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleDestinationPortOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleDestinationPortOutput) +} + +// PiNetworkSecurityGroupRuleRuleDestinationPortArrayInput is an input type that accepts PiNetworkSecurityGroupRuleRuleDestinationPortArray and PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleDestinationPortArrayInput` via: +// +// PiNetworkSecurityGroupRuleRuleDestinationPortArray{ PiNetworkSecurityGroupRuleRuleDestinationPortArgs{...} } +type PiNetworkSecurityGroupRuleRuleDestinationPortArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput() PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput + ToPiNetworkSecurityGroupRuleRuleDestinationPortArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput +} + +type PiNetworkSecurityGroupRuleRuleDestinationPortArray []PiNetworkSecurityGroupRuleRuleDestinationPortInput + +func (PiNetworkSecurityGroupRuleRuleDestinationPortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleDestinationPort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleDestinationPortArray) ToPiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput() PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput { + return i.ToPiNetworkSecurityGroupRuleRuleDestinationPortArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleDestinationPortArray) ToPiNetworkSecurityGroupRuleRuleDestinationPortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput) +} + +type PiNetworkSecurityGroupRuleRuleDestinationPortOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleDestinationPortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleDestinationPort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleDestinationPortOutput) ToPiNetworkSecurityGroupRuleRuleDestinationPortOutput() PiNetworkSecurityGroupRuleRuleDestinationPortOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleDestinationPortOutput) ToPiNetworkSecurityGroupRuleRuleDestinationPortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleDestinationPortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRuleRuleDestinationPortOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleDestinationPort) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRuleRuleDestinationPortOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleDestinationPort) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleDestinationPort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput) ToPiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput() PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput) ToPiNetworkSecurityGroupRuleRuleDestinationPortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleRuleDestinationPortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleRuleDestinationPort { + return vs[0].([]PiNetworkSecurityGroupRuleRuleDestinationPort)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleRuleDestinationPortOutput) +} + +type PiNetworkSecurityGroupRuleRuleProtocol struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType *string `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags []PiNetworkSecurityGroupRuleRuleProtocolTcpFlag `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupRuleRuleProtocolInput is an input type that accepts PiNetworkSecurityGroupRuleRuleProtocolArgs and PiNetworkSecurityGroupRuleRuleProtocolOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleProtocolInput` via: +// +// PiNetworkSecurityGroupRuleRuleProtocolArgs{...} +type PiNetworkSecurityGroupRuleRuleProtocolInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleProtocolOutput() PiNetworkSecurityGroupRuleRuleProtocolOutput + ToPiNetworkSecurityGroupRuleRuleProtocolOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleProtocolOutput +} + +type PiNetworkSecurityGroupRuleRuleProtocolArgs struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType pulumi.StringPtrInput `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayInput `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupRuleRuleProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleProtocol)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleProtocolArgs) ToPiNetworkSecurityGroupRuleRuleProtocolOutput() PiNetworkSecurityGroupRuleRuleProtocolOutput { + return i.ToPiNetworkSecurityGroupRuleRuleProtocolOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleProtocolArgs) ToPiNetworkSecurityGroupRuleRuleProtocolOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleProtocolOutput) +} + +// PiNetworkSecurityGroupRuleRuleProtocolArrayInput is an input type that accepts PiNetworkSecurityGroupRuleRuleProtocolArray and PiNetworkSecurityGroupRuleRuleProtocolArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleProtocolArrayInput` via: +// +// PiNetworkSecurityGroupRuleRuleProtocolArray{ PiNetworkSecurityGroupRuleRuleProtocolArgs{...} } +type PiNetworkSecurityGroupRuleRuleProtocolArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleProtocolArrayOutput() PiNetworkSecurityGroupRuleRuleProtocolArrayOutput + ToPiNetworkSecurityGroupRuleRuleProtocolArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleProtocolArrayOutput +} + +type PiNetworkSecurityGroupRuleRuleProtocolArray []PiNetworkSecurityGroupRuleRuleProtocolInput + +func (PiNetworkSecurityGroupRuleRuleProtocolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleProtocol)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleProtocolArray) ToPiNetworkSecurityGroupRuleRuleProtocolArrayOutput() PiNetworkSecurityGroupRuleRuleProtocolArrayOutput { + return i.ToPiNetworkSecurityGroupRuleRuleProtocolArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleProtocolArray) ToPiNetworkSecurityGroupRuleRuleProtocolArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleProtocolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleProtocolArrayOutput) +} + +type PiNetworkSecurityGroupRuleRuleProtocolOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleProtocol)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolOutput) ToPiNetworkSecurityGroupRuleRuleProtocolOutput() PiNetworkSecurityGroupRuleRuleProtocolOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolOutput) ToPiNetworkSecurityGroupRuleRuleProtocolOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleProtocolOutput { + return o +} + +// If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. +func (o PiNetworkSecurityGroupRuleRuleProtocolOutput) IcmpType() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleProtocol) *string { return v.IcmpType }).(pulumi.StringPtrOutput) +} + +// If tcp type, the list of TCP flags and if not present then all flags are matched. +func (o PiNetworkSecurityGroupRuleRuleProtocolOutput) TcpFlags() PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleProtocol) []PiNetworkSecurityGroupRuleRuleProtocolTcpFlag { + return v.TcpFlags + }).(PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput) +} + +// The protocol of the network traffic. +func (o PiNetworkSecurityGroupRuleRuleProtocolOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleProtocol) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRuleRuleProtocolArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleProtocolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleProtocol)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolArrayOutput) ToPiNetworkSecurityGroupRuleRuleProtocolArrayOutput() PiNetworkSecurityGroupRuleRuleProtocolArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolArrayOutput) ToPiNetworkSecurityGroupRuleRuleProtocolArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleProtocolArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleRuleProtocolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleRuleProtocol { + return vs[0].([]PiNetworkSecurityGroupRuleRuleProtocol)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleRuleProtocolOutput) +} + +type PiNetworkSecurityGroupRuleRuleProtocolTcpFlag struct { + // TCP flag. + Flag *string `pulumi:"flag"` +} + +// PiNetworkSecurityGroupRuleRuleProtocolTcpFlagInput is an input type that accepts PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArgs and PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleProtocolTcpFlagInput` via: +// +// PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArgs{...} +type PiNetworkSecurityGroupRuleRuleProtocolTcpFlagInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput + ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput +} + +type PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArgs struct { + // TCP flag. + Flag pulumi.StringPtrInput `pulumi:"flag"` +} + +func (PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArgs) ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput { + return i.ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArgs) ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput) +} + +// PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayInput is an input type that accepts PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArray and PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayInput` via: +// +// PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArray{ PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArgs{...} } +type PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput + ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput +} + +type PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArray []PiNetworkSecurityGroupRuleRuleProtocolTcpFlagInput + +func (PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArray) ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput { + return i.ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArray) ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput) +} + +type PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput) ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput() PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput) ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput { + return o +} + +// TCP flag. +func (o PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput) Flag() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleProtocolTcpFlag) *string { return v.Flag }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput) ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput() PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput) ToPiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleRuleProtocolTcpFlag { + return vs[0].([]PiNetworkSecurityGroupRuleRuleProtocolTcpFlag)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput) +} + +type PiNetworkSecurityGroupRuleRuleRemote struct { + // The ID of the remote network address group or network security group the rules apply to. Not required for default-network-address-group. + Id *string `pulumi:"id"` + // The type of remote group the rules apply to. + Type *string `pulumi:"type"` +} + +// PiNetworkSecurityGroupRuleRuleRemoteInput is an input type that accepts PiNetworkSecurityGroupRuleRuleRemoteArgs and PiNetworkSecurityGroupRuleRuleRemoteOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleRemoteInput` via: +// +// PiNetworkSecurityGroupRuleRuleRemoteArgs{...} +type PiNetworkSecurityGroupRuleRuleRemoteInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleRemoteOutput() PiNetworkSecurityGroupRuleRuleRemoteOutput + ToPiNetworkSecurityGroupRuleRuleRemoteOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleRemoteOutput +} + +type PiNetworkSecurityGroupRuleRuleRemoteArgs struct { + // The ID of the remote network address group or network security group the rules apply to. Not required for default-network-address-group. + Id pulumi.StringPtrInput `pulumi:"id"` + // The type of remote group the rules apply to. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PiNetworkSecurityGroupRuleRuleRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleRemote)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleRemoteArgs) ToPiNetworkSecurityGroupRuleRuleRemoteOutput() PiNetworkSecurityGroupRuleRuleRemoteOutput { + return i.ToPiNetworkSecurityGroupRuleRuleRemoteOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleRemoteArgs) ToPiNetworkSecurityGroupRuleRuleRemoteOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleRemoteOutput) +} + +// PiNetworkSecurityGroupRuleRuleRemoteArrayInput is an input type that accepts PiNetworkSecurityGroupRuleRuleRemoteArray and PiNetworkSecurityGroupRuleRuleRemoteArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleRemoteArrayInput` via: +// +// PiNetworkSecurityGroupRuleRuleRemoteArray{ PiNetworkSecurityGroupRuleRuleRemoteArgs{...} } +type PiNetworkSecurityGroupRuleRuleRemoteArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleRemoteArrayOutput() PiNetworkSecurityGroupRuleRuleRemoteArrayOutput + ToPiNetworkSecurityGroupRuleRuleRemoteArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleRemoteArrayOutput +} + +type PiNetworkSecurityGroupRuleRuleRemoteArray []PiNetworkSecurityGroupRuleRuleRemoteInput + +func (PiNetworkSecurityGroupRuleRuleRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleRemote)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleRemoteArray) ToPiNetworkSecurityGroupRuleRuleRemoteArrayOutput() PiNetworkSecurityGroupRuleRuleRemoteArrayOutput { + return i.ToPiNetworkSecurityGroupRuleRuleRemoteArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleRemoteArray) ToPiNetworkSecurityGroupRuleRuleRemoteArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleRemoteArrayOutput) +} + +type PiNetworkSecurityGroupRuleRuleRemoteOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleRemote)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleRemoteOutput) ToPiNetworkSecurityGroupRuleRuleRemoteOutput() PiNetworkSecurityGroupRuleRuleRemoteOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleRemoteOutput) ToPiNetworkSecurityGroupRuleRuleRemoteOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleRemoteOutput { + return o +} + +// The ID of the remote network address group or network security group the rules apply to. Not required for default-network-address-group. +func (o PiNetworkSecurityGroupRuleRuleRemoteOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleRemote) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The type of remote group the rules apply to. +func (o PiNetworkSecurityGroupRuleRuleRemoteOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleRemote) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PiNetworkSecurityGroupRuleRuleRemoteArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleRemote)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleRemoteArrayOutput) ToPiNetworkSecurityGroupRuleRuleRemoteArrayOutput() PiNetworkSecurityGroupRuleRuleRemoteArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleRemoteArrayOutput) ToPiNetworkSecurityGroupRuleRuleRemoteArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleRemoteArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleRemoteArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleRuleRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleRuleRemote { + return vs[0].([]PiNetworkSecurityGroupRuleRuleRemote)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleRuleRemoteOutput) +} + +type PiNetworkSecurityGroupRuleRuleSourcePort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *float64 `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *float64 `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupRuleRuleSourcePortInput is an input type that accepts PiNetworkSecurityGroupRuleRuleSourcePortArgs and PiNetworkSecurityGroupRuleRuleSourcePortOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleSourcePortInput` via: +// +// PiNetworkSecurityGroupRuleRuleSourcePortArgs{...} +type PiNetworkSecurityGroupRuleRuleSourcePortInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleSourcePortOutput() PiNetworkSecurityGroupRuleRuleSourcePortOutput + ToPiNetworkSecurityGroupRuleRuleSourcePortOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleSourcePortOutput +} + +type PiNetworkSecurityGroupRuleRuleSourcePortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.Float64PtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.Float64PtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupRuleRuleSourcePortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleSourcePort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleSourcePortArgs) ToPiNetworkSecurityGroupRuleRuleSourcePortOutput() PiNetworkSecurityGroupRuleRuleSourcePortOutput { + return i.ToPiNetworkSecurityGroupRuleRuleSourcePortOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleSourcePortArgs) ToPiNetworkSecurityGroupRuleRuleSourcePortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleSourcePortOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleSourcePortOutput) +} + +// PiNetworkSecurityGroupRuleRuleSourcePortArrayInput is an input type that accepts PiNetworkSecurityGroupRuleRuleSourcePortArray and PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleRuleSourcePortArrayInput` via: +// +// PiNetworkSecurityGroupRuleRuleSourcePortArray{ PiNetworkSecurityGroupRuleRuleSourcePortArgs{...} } +type PiNetworkSecurityGroupRuleRuleSourcePortArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleRuleSourcePortArrayOutput() PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput + ToPiNetworkSecurityGroupRuleRuleSourcePortArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput +} + +type PiNetworkSecurityGroupRuleRuleSourcePortArray []PiNetworkSecurityGroupRuleRuleSourcePortInput + +func (PiNetworkSecurityGroupRuleRuleSourcePortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleSourcePort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleRuleSourcePortArray) ToPiNetworkSecurityGroupRuleRuleSourcePortArrayOutput() PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput { + return i.ToPiNetworkSecurityGroupRuleRuleSourcePortArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleRuleSourcePortArray) ToPiNetworkSecurityGroupRuleRuleSourcePortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput) +} + +type PiNetworkSecurityGroupRuleRuleSourcePortOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleSourcePortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleSourcePort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleSourcePortOutput) ToPiNetworkSecurityGroupRuleRuleSourcePortOutput() PiNetworkSecurityGroupRuleRuleSourcePortOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleSourcePortOutput) ToPiNetworkSecurityGroupRuleRuleSourcePortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleSourcePortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRuleRuleSourcePortOutput) Maximum() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleSourcePort) *float64 { return v.Maximum }).(pulumi.Float64PtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRuleRuleSourcePortOutput) Minimum() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleRuleSourcePort) *float64 { return v.Minimum }).(pulumi.Float64PtrOutput) +} + +type PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleRuleSourcePort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput) ToPiNetworkSecurityGroupRuleRuleSourcePortArrayOutput() PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput) ToPiNetworkSecurityGroupRuleRuleSourcePortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleRuleSourcePortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleRuleSourcePort { + return vs[0].([]PiNetworkSecurityGroupRuleRuleSourcePort)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleRuleSourcePortOutput) +} + +type PiNetworkSecurityGroupRuleSourcePort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum *int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum *int `pulumi:"minimum"` +} + +// PiNetworkSecurityGroupRuleSourcePortInput is an input type that accepts PiNetworkSecurityGroupRuleSourcePortArgs and PiNetworkSecurityGroupRuleSourcePortOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleSourcePortInput` via: +// +// PiNetworkSecurityGroupRuleSourcePortArgs{...} +type PiNetworkSecurityGroupRuleSourcePortInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleSourcePortOutput() PiNetworkSecurityGroupRuleSourcePortOutput + ToPiNetworkSecurityGroupRuleSourcePortOutputWithContext(context.Context) PiNetworkSecurityGroupRuleSourcePortOutput +} + +type PiNetworkSecurityGroupRuleSourcePortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntPtrInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntPtrInput `pulumi:"minimum"` +} + +func (PiNetworkSecurityGroupRuleSourcePortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleSourcePortArgs) ToPiNetworkSecurityGroupRuleSourcePortOutput() PiNetworkSecurityGroupRuleSourcePortOutput { + return i.ToPiNetworkSecurityGroupRuleSourcePortOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleSourcePortArgs) ToPiNetworkSecurityGroupRuleSourcePortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleSourcePortOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleSourcePortOutput) +} + +// PiNetworkSecurityGroupRuleSourcePortArrayInput is an input type that accepts PiNetworkSecurityGroupRuleSourcePortArray and PiNetworkSecurityGroupRuleSourcePortArrayOutput values. +// You can construct a concrete instance of `PiNetworkSecurityGroupRuleSourcePortArrayInput` via: +// +// PiNetworkSecurityGroupRuleSourcePortArray{ PiNetworkSecurityGroupRuleSourcePortArgs{...} } +type PiNetworkSecurityGroupRuleSourcePortArrayInput interface { + pulumi.Input + + ToPiNetworkSecurityGroupRuleSourcePortArrayOutput() PiNetworkSecurityGroupRuleSourcePortArrayOutput + ToPiNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(context.Context) PiNetworkSecurityGroupRuleSourcePortArrayOutput +} + +type PiNetworkSecurityGroupRuleSourcePortArray []PiNetworkSecurityGroupRuleSourcePortInput + +func (PiNetworkSecurityGroupRuleSourcePortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (i PiNetworkSecurityGroupRuleSourcePortArray) ToPiNetworkSecurityGroupRuleSourcePortArrayOutput() PiNetworkSecurityGroupRuleSourcePortArrayOutput { + return i.ToPiNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(context.Background()) +} + +func (i PiNetworkSecurityGroupRuleSourcePortArray) ToPiNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleSourcePortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiNetworkSecurityGroupRuleSourcePortArrayOutput) +} + +type PiNetworkSecurityGroupRuleSourcePortOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleSourcePortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleSourcePortOutput) ToPiNetworkSecurityGroupRuleSourcePortOutput() PiNetworkSecurityGroupRuleSourcePortOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleSourcePortOutput) ToPiNetworkSecurityGroupRuleSourcePortOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleSourcePortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o PiNetworkSecurityGroupRuleSourcePortOutput) Maximum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleSourcePort) *int { return v.Maximum }).(pulumi.IntPtrOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o PiNetworkSecurityGroupRuleSourcePortOutput) Minimum() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiNetworkSecurityGroupRuleSourcePort) *int { return v.Minimum }).(pulumi.IntPtrOutput) +} + +type PiNetworkSecurityGroupRuleSourcePortArrayOutput struct{ *pulumi.OutputState } + +func (PiNetworkSecurityGroupRuleSourcePortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (o PiNetworkSecurityGroupRuleSourcePortArrayOutput) ToPiNetworkSecurityGroupRuleSourcePortArrayOutput() PiNetworkSecurityGroupRuleSourcePortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleSourcePortArrayOutput) ToPiNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(ctx context.Context) PiNetworkSecurityGroupRuleSourcePortArrayOutput { + return o +} + +func (o PiNetworkSecurityGroupRuleSourcePortArrayOutput) Index(i pulumi.IntInput) PiNetworkSecurityGroupRuleSourcePortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiNetworkSecurityGroupRuleSourcePort { + return vs[0].([]PiNetworkSecurityGroupRuleSourcePort)[vs[1].(int)] + }).(PiNetworkSecurityGroupRuleSourcePortOutput) +} + +type PiSharedProcessorPoolInstance struct { + // Availability zone for the server instances. + AvailabilityZone *string `pulumi:"availabilityZone"` + // The amount of cpus for the server instance. + Cpus *int `pulumi:"cpus"` + // The server instance ID. + Id *string `pulumi:"id"` + // The amount of memory for the server instance. + Memory *int `pulumi:"memory"` + // The server instance name. + Name *string `pulumi:"name"` + // Status of the instance. + Status *string `pulumi:"status"` + // Identifies if uncapped or not. + Uncapped *bool `pulumi:"uncapped"` + // The amout of vcpus for the server instance. + Vcpus *float64 `pulumi:"vcpus"` +} + +// PiSharedProcessorPoolInstanceInput is an input type that accepts PiSharedProcessorPoolInstanceArgs and PiSharedProcessorPoolInstanceOutput values. +// You can construct a concrete instance of `PiSharedProcessorPoolInstanceInput` via: +// +// PiSharedProcessorPoolInstanceArgs{...} +type PiSharedProcessorPoolInstanceInput interface { + pulumi.Input + + ToPiSharedProcessorPoolInstanceOutput() PiSharedProcessorPoolInstanceOutput + ToPiSharedProcessorPoolInstanceOutputWithContext(context.Context) PiSharedProcessorPoolInstanceOutput +} + +type PiSharedProcessorPoolInstanceArgs struct { + // Availability zone for the server instances. + AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // The amount of cpus for the server instance. + Cpus pulumi.IntPtrInput `pulumi:"cpus"` + // The server instance ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // The amount of memory for the server instance. + Memory pulumi.IntPtrInput `pulumi:"memory"` + // The server instance name. + Name pulumi.StringPtrInput `pulumi:"name"` + // Status of the instance. + Status pulumi.StringPtrInput `pulumi:"status"` + // Identifies if uncapped or not. + Uncapped pulumi.BoolPtrInput `pulumi:"uncapped"` + // The amout of vcpus for the server instance. + Vcpus pulumi.Float64PtrInput `pulumi:"vcpus"` +} + +func (PiSharedProcessorPoolInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiSharedProcessorPoolInstance)(nil)).Elem() +} + +func (i PiSharedProcessorPoolInstanceArgs) ToPiSharedProcessorPoolInstanceOutput() PiSharedProcessorPoolInstanceOutput { + return i.ToPiSharedProcessorPoolInstanceOutputWithContext(context.Background()) +} + +func (i PiSharedProcessorPoolInstanceArgs) ToPiSharedProcessorPoolInstanceOutputWithContext(ctx context.Context) PiSharedProcessorPoolInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiSharedProcessorPoolInstanceOutput) +} + +// PiSharedProcessorPoolInstanceArrayInput is an input type that accepts PiSharedProcessorPoolInstanceArray and PiSharedProcessorPoolInstanceArrayOutput values. +// You can construct a concrete instance of `PiSharedProcessorPoolInstanceArrayInput` via: +// +// PiSharedProcessorPoolInstanceArray{ PiSharedProcessorPoolInstanceArgs{...} } +type PiSharedProcessorPoolInstanceArrayInput interface { + pulumi.Input + + ToPiSharedProcessorPoolInstanceArrayOutput() PiSharedProcessorPoolInstanceArrayOutput + ToPiSharedProcessorPoolInstanceArrayOutputWithContext(context.Context) PiSharedProcessorPoolInstanceArrayOutput +} + +type PiSharedProcessorPoolInstanceArray []PiSharedProcessorPoolInstanceInput + +func (PiSharedProcessorPoolInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiSharedProcessorPoolInstance)(nil)).Elem() +} + +func (i PiSharedProcessorPoolInstanceArray) ToPiSharedProcessorPoolInstanceArrayOutput() PiSharedProcessorPoolInstanceArrayOutput { + return i.ToPiSharedProcessorPoolInstanceArrayOutputWithContext(context.Background()) +} + +func (i PiSharedProcessorPoolInstanceArray) ToPiSharedProcessorPoolInstanceArrayOutputWithContext(ctx context.Context) PiSharedProcessorPoolInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiSharedProcessorPoolInstanceArrayOutput) +} + +type PiSharedProcessorPoolInstanceOutput struct{ *pulumi.OutputState } + +func (PiSharedProcessorPoolInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiSharedProcessorPoolInstance)(nil)).Elem() +} + +func (o PiSharedProcessorPoolInstanceOutput) ToPiSharedProcessorPoolInstanceOutput() PiSharedProcessorPoolInstanceOutput { + return o +} + +func (o PiSharedProcessorPoolInstanceOutput) ToPiSharedProcessorPoolInstanceOutputWithContext(ctx context.Context) PiSharedProcessorPoolInstanceOutput { + return o +} + +// Availability zone for the server instances. +func (o PiSharedProcessorPoolInstanceOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiSharedProcessorPoolInstance) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +} + +// The amount of cpus for the server instance. +func (o PiSharedProcessorPoolInstanceOutput) Cpus() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiSharedProcessorPoolInstance) *int { return v.Cpus }).(pulumi.IntPtrOutput) +} + +// The server instance ID. +func (o PiSharedProcessorPoolInstanceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiSharedProcessorPoolInstance) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The amount of memory for the server instance. +func (o PiSharedProcessorPoolInstanceOutput) Memory() pulumi.IntPtrOutput { + return o.ApplyT(func(v PiSharedProcessorPoolInstance) *int { return v.Memory }).(pulumi.IntPtrOutput) +} + +// The server instance name. +func (o PiSharedProcessorPoolInstanceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiSharedProcessorPoolInstance) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Status of the instance. +func (o PiSharedProcessorPoolInstanceOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiSharedProcessorPoolInstance) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// Identifies if uncapped or not. +func (o PiSharedProcessorPoolInstanceOutput) Uncapped() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PiSharedProcessorPoolInstance) *bool { return v.Uncapped }).(pulumi.BoolPtrOutput) +} + +// The amout of vcpus for the server instance. +func (o PiSharedProcessorPoolInstanceOutput) Vcpus() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PiSharedProcessorPoolInstance) *float64 { return v.Vcpus }).(pulumi.Float64PtrOutput) +} + +type PiSharedProcessorPoolInstanceArrayOutput struct{ *pulumi.OutputState } + +func (PiSharedProcessorPoolInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiSharedProcessorPoolInstance)(nil)).Elem() +} + +func (o PiSharedProcessorPoolInstanceArrayOutput) ToPiSharedProcessorPoolInstanceArrayOutput() PiSharedProcessorPoolInstanceArrayOutput { + return o +} + +func (o PiSharedProcessorPoolInstanceArrayOutput) ToPiSharedProcessorPoolInstanceArrayOutputWithContext(ctx context.Context) PiSharedProcessorPoolInstanceArrayOutput { + return o +} + +func (o PiSharedProcessorPoolInstanceArrayOutput) Index(i pulumi.IntInput) PiSharedProcessorPoolInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiSharedProcessorPoolInstance { + return vs[0].([]PiSharedProcessorPoolInstance)[vs[1].(int)] + }).(PiSharedProcessorPoolInstanceOutput) +} + +type PiVolumeCloneCloneVolume struct { + // The ID of the newly cloned volume. + CloneVolumeId *string `pulumi:"cloneVolumeId"` + // The ID of the source volume. + SourceVolumeId *string `pulumi:"sourceVolumeId"` +} + +// PiVolumeCloneCloneVolumeInput is an input type that accepts PiVolumeCloneCloneVolumeArgs and PiVolumeCloneCloneVolumeOutput values. +// You can construct a concrete instance of `PiVolumeCloneCloneVolumeInput` via: +// +// PiVolumeCloneCloneVolumeArgs{...} +type PiVolumeCloneCloneVolumeInput interface { + pulumi.Input + + ToPiVolumeCloneCloneVolumeOutput() PiVolumeCloneCloneVolumeOutput + ToPiVolumeCloneCloneVolumeOutputWithContext(context.Context) PiVolumeCloneCloneVolumeOutput +} + +type PiVolumeCloneCloneVolumeArgs struct { + // The ID of the newly cloned volume. + CloneVolumeId pulumi.StringPtrInput `pulumi:"cloneVolumeId"` + // The ID of the source volume. + SourceVolumeId pulumi.StringPtrInput `pulumi:"sourceVolumeId"` +} + +func (PiVolumeCloneCloneVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeCloneCloneVolume)(nil)).Elem() +} + +func (i PiVolumeCloneCloneVolumeArgs) ToPiVolumeCloneCloneVolumeOutput() PiVolumeCloneCloneVolumeOutput { + return i.ToPiVolumeCloneCloneVolumeOutputWithContext(context.Background()) +} + +func (i PiVolumeCloneCloneVolumeArgs) ToPiVolumeCloneCloneVolumeOutputWithContext(ctx context.Context) PiVolumeCloneCloneVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeCloneCloneVolumeOutput) +} + +// PiVolumeCloneCloneVolumeArrayInput is an input type that accepts PiVolumeCloneCloneVolumeArray and PiVolumeCloneCloneVolumeArrayOutput values. +// You can construct a concrete instance of `PiVolumeCloneCloneVolumeArrayInput` via: +// +// PiVolumeCloneCloneVolumeArray{ PiVolumeCloneCloneVolumeArgs{...} } +type PiVolumeCloneCloneVolumeArrayInput interface { + pulumi.Input + + ToPiVolumeCloneCloneVolumeArrayOutput() PiVolumeCloneCloneVolumeArrayOutput + ToPiVolumeCloneCloneVolumeArrayOutputWithContext(context.Context) PiVolumeCloneCloneVolumeArrayOutput +} + +type PiVolumeCloneCloneVolumeArray []PiVolumeCloneCloneVolumeInput + +func (PiVolumeCloneCloneVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeCloneCloneVolume)(nil)).Elem() +} + +func (i PiVolumeCloneCloneVolumeArray) ToPiVolumeCloneCloneVolumeArrayOutput() PiVolumeCloneCloneVolumeArrayOutput { + return i.ToPiVolumeCloneCloneVolumeArrayOutputWithContext(context.Background()) +} + +func (i PiVolumeCloneCloneVolumeArray) ToPiVolumeCloneCloneVolumeArrayOutputWithContext(ctx context.Context) PiVolumeCloneCloneVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeCloneCloneVolumeArrayOutput) +} + +type PiVolumeCloneCloneVolumeOutput struct{ *pulumi.OutputState } + +func (PiVolumeCloneCloneVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeCloneCloneVolume)(nil)).Elem() +} + +func (o PiVolumeCloneCloneVolumeOutput) ToPiVolumeCloneCloneVolumeOutput() PiVolumeCloneCloneVolumeOutput { + return o +} + +func (o PiVolumeCloneCloneVolumeOutput) ToPiVolumeCloneCloneVolumeOutputWithContext(ctx context.Context) PiVolumeCloneCloneVolumeOutput { + return o +} + +// The ID of the newly cloned volume. +func (o PiVolumeCloneCloneVolumeOutput) CloneVolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiVolumeCloneCloneVolume) *string { return v.CloneVolumeId }).(pulumi.StringPtrOutput) +} + +// The ID of the source volume. +func (o PiVolumeCloneCloneVolumeOutput) SourceVolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiVolumeCloneCloneVolume) *string { return v.SourceVolumeId }).(pulumi.StringPtrOutput) +} + +type PiVolumeCloneCloneVolumeArrayOutput struct{ *pulumi.OutputState } + +func (PiVolumeCloneCloneVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeCloneCloneVolume)(nil)).Elem() +} + +func (o PiVolumeCloneCloneVolumeArrayOutput) ToPiVolumeCloneCloneVolumeArrayOutput() PiVolumeCloneCloneVolumeArrayOutput { + return o +} + +func (o PiVolumeCloneCloneVolumeArrayOutput) ToPiVolumeCloneCloneVolumeArrayOutputWithContext(ctx context.Context) PiVolumeCloneCloneVolumeArrayOutput { + return o +} + +func (o PiVolumeCloneCloneVolumeArrayOutput) Index(i pulumi.IntInput) PiVolumeCloneCloneVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiVolumeCloneCloneVolume { + return vs[0].([]PiVolumeCloneCloneVolume)[vs[1].(int)] + }).(PiVolumeCloneCloneVolumeOutput) +} + +type PiVolumeGroupActionPiVolumeGroupAction struct { + // Performs reset action on the volume group to update its status value. + Reset *PiVolumeGroupActionPiVolumeGroupActionReset `pulumi:"reset"` + // Performs start action on a volume group. + Start *PiVolumeGroupActionPiVolumeGroupActionStart `pulumi:"start"` + // Performs stop action on a volume group. + Stop *PiVolumeGroupActionPiVolumeGroupActionStop `pulumi:"stop"` +} + +// PiVolumeGroupActionPiVolumeGroupActionInput is an input type that accepts PiVolumeGroupActionPiVolumeGroupActionArgs and PiVolumeGroupActionPiVolumeGroupActionOutput values. +// You can construct a concrete instance of `PiVolumeGroupActionPiVolumeGroupActionInput` via: +// +// PiVolumeGroupActionPiVolumeGroupActionArgs{...} +type PiVolumeGroupActionPiVolumeGroupActionInput interface { + pulumi.Input + + ToPiVolumeGroupActionPiVolumeGroupActionOutput() PiVolumeGroupActionPiVolumeGroupActionOutput + ToPiVolumeGroupActionPiVolumeGroupActionOutputWithContext(context.Context) PiVolumeGroupActionPiVolumeGroupActionOutput +} + +type PiVolumeGroupActionPiVolumeGroupActionArgs struct { + // Performs reset action on the volume group to update its status value. + Reset PiVolumeGroupActionPiVolumeGroupActionResetPtrInput `pulumi:"reset"` + // Performs start action on a volume group. + Start PiVolumeGroupActionPiVolumeGroupActionStartPtrInput `pulumi:"start"` + // Performs stop action on a volume group. + Stop PiVolumeGroupActionPiVolumeGroupActionStopPtrInput `pulumi:"stop"` +} + +func (PiVolumeGroupActionPiVolumeGroupActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupAction)(nil)).Elem() +} + +func (i PiVolumeGroupActionPiVolumeGroupActionArgs) ToPiVolumeGroupActionPiVolumeGroupActionOutput() PiVolumeGroupActionPiVolumeGroupActionOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionArgs) ToPiVolumeGroupActionPiVolumeGroupActionOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionOutput) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionArgs) ToPiVolumeGroupActionPiVolumeGroupActionPtrOutput() PiVolumeGroupActionPiVolumeGroupActionPtrOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionArgs) ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionOutput).ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(ctx) +} + +// PiVolumeGroupActionPiVolumeGroupActionPtrInput is an input type that accepts PiVolumeGroupActionPiVolumeGroupActionArgs, PiVolumeGroupActionPiVolumeGroupActionPtr and PiVolumeGroupActionPiVolumeGroupActionPtrOutput values. +// You can construct a concrete instance of `PiVolumeGroupActionPiVolumeGroupActionPtrInput` via: +// +// PiVolumeGroupActionPiVolumeGroupActionArgs{...} +// +// or: +// +// nil +type PiVolumeGroupActionPiVolumeGroupActionPtrInput interface { + pulumi.Input + + ToPiVolumeGroupActionPiVolumeGroupActionPtrOutput() PiVolumeGroupActionPiVolumeGroupActionPtrOutput + ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(context.Context) PiVolumeGroupActionPiVolumeGroupActionPtrOutput +} + +type piVolumeGroupActionPiVolumeGroupActionPtrType PiVolumeGroupActionPiVolumeGroupActionArgs + +func PiVolumeGroupActionPiVolumeGroupActionPtr(v *PiVolumeGroupActionPiVolumeGroupActionArgs) PiVolumeGroupActionPiVolumeGroupActionPtrInput { + return (*piVolumeGroupActionPiVolumeGroupActionPtrType)(v) +} + +func (*piVolumeGroupActionPiVolumeGroupActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupActionPiVolumeGroupAction)(nil)).Elem() +} + +func (i *piVolumeGroupActionPiVolumeGroupActionPtrType) ToPiVolumeGroupActionPiVolumeGroupActionPtrOutput() PiVolumeGroupActionPiVolumeGroupActionPtrOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(context.Background()) +} + +func (i *piVolumeGroupActionPiVolumeGroupActionPtrType) ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionPtrOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionPiVolumeGroupActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupAction)(nil)).Elem() +} + +func (o PiVolumeGroupActionPiVolumeGroupActionOutput) ToPiVolumeGroupActionPiVolumeGroupActionOutput() PiVolumeGroupActionPiVolumeGroupActionOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionOutput) ToPiVolumeGroupActionPiVolumeGroupActionOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionOutput) ToPiVolumeGroupActionPiVolumeGroupActionPtrOutput() PiVolumeGroupActionPiVolumeGroupActionPtrOutput { + return o.ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(context.Background()) +} + +func (o PiVolumeGroupActionPiVolumeGroupActionOutput) ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiVolumeGroupActionPiVolumeGroupAction) *PiVolumeGroupActionPiVolumeGroupAction { + return &v + }).(PiVolumeGroupActionPiVolumeGroupActionPtrOutput) +} + +// Performs reset action on the volume group to update its status value. +func (o PiVolumeGroupActionPiVolumeGroupActionOutput) Reset() PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return o.ApplyT(func(v PiVolumeGroupActionPiVolumeGroupAction) *PiVolumeGroupActionPiVolumeGroupActionReset { + return v.Reset + }).(PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) +} + +// Performs start action on a volume group. +func (o PiVolumeGroupActionPiVolumeGroupActionOutput) Start() PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return o.ApplyT(func(v PiVolumeGroupActionPiVolumeGroupAction) *PiVolumeGroupActionPiVolumeGroupActionStart { + return v.Start + }).(PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) +} + +// Performs stop action on a volume group. +func (o PiVolumeGroupActionPiVolumeGroupActionOutput) Stop() PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return o.ApplyT(func(v PiVolumeGroupActionPiVolumeGroupAction) *PiVolumeGroupActionPiVolumeGroupActionStop { + return v.Stop + }).(PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionPtrOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionPiVolumeGroupActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupActionPiVolumeGroupAction)(nil)).Elem() +} + +func (o PiVolumeGroupActionPiVolumeGroupActionPtrOutput) ToPiVolumeGroupActionPiVolumeGroupActionPtrOutput() PiVolumeGroupActionPiVolumeGroupActionPtrOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionPtrOutput) ToPiVolumeGroupActionPiVolumeGroupActionPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionPtrOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionPtrOutput) Elem() PiVolumeGroupActionPiVolumeGroupActionOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupAction) PiVolumeGroupActionPiVolumeGroupAction { + if v != nil { + return *v + } + var ret PiVolumeGroupActionPiVolumeGroupAction + return ret + }).(PiVolumeGroupActionPiVolumeGroupActionOutput) +} + +// Performs reset action on the volume group to update its status value. +func (o PiVolumeGroupActionPiVolumeGroupActionPtrOutput) Reset() PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupAction) *PiVolumeGroupActionPiVolumeGroupActionReset { + if v == nil { + return nil + } + return v.Reset + }).(PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) +} + +// Performs start action on a volume group. +func (o PiVolumeGroupActionPiVolumeGroupActionPtrOutput) Start() PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupAction) *PiVolumeGroupActionPiVolumeGroupActionStart { + if v == nil { + return nil + } + return v.Start + }).(PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) +} + +// Performs stop action on a volume group. +func (o PiVolumeGroupActionPiVolumeGroupActionPtrOutput) Stop() PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupAction) *PiVolumeGroupActionPiVolumeGroupActionStop { + if v == nil { + return nil + } + return v.Stop + }).(PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionReset struct { + // New status to be set for a volume group. + Status string `pulumi:"status"` +} + +// PiVolumeGroupActionPiVolumeGroupActionResetInput is an input type that accepts PiVolumeGroupActionPiVolumeGroupActionResetArgs and PiVolumeGroupActionPiVolumeGroupActionResetOutput values. +// You can construct a concrete instance of `PiVolumeGroupActionPiVolumeGroupActionResetInput` via: +// +// PiVolumeGroupActionPiVolumeGroupActionResetArgs{...} +type PiVolumeGroupActionPiVolumeGroupActionResetInput interface { + pulumi.Input + + ToPiVolumeGroupActionPiVolumeGroupActionResetOutput() PiVolumeGroupActionPiVolumeGroupActionResetOutput + ToPiVolumeGroupActionPiVolumeGroupActionResetOutputWithContext(context.Context) PiVolumeGroupActionPiVolumeGroupActionResetOutput +} + +type PiVolumeGroupActionPiVolumeGroupActionResetArgs struct { + // New status to be set for a volume group. + Status pulumi.StringInput `pulumi:"status"` +} + +func (PiVolumeGroupActionPiVolumeGroupActionResetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionReset)(nil)).Elem() +} + +func (i PiVolumeGroupActionPiVolumeGroupActionResetArgs) ToPiVolumeGroupActionPiVolumeGroupActionResetOutput() PiVolumeGroupActionPiVolumeGroupActionResetOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionResetOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionResetArgs) ToPiVolumeGroupActionPiVolumeGroupActionResetOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionResetOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionResetOutput) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionResetArgs) ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutput() PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionResetArgs) ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionResetOutput).ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(ctx) +} + +// PiVolumeGroupActionPiVolumeGroupActionResetPtrInput is an input type that accepts PiVolumeGroupActionPiVolumeGroupActionResetArgs, PiVolumeGroupActionPiVolumeGroupActionResetPtr and PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput values. +// You can construct a concrete instance of `PiVolumeGroupActionPiVolumeGroupActionResetPtrInput` via: +// +// PiVolumeGroupActionPiVolumeGroupActionResetArgs{...} +// +// or: +// +// nil +type PiVolumeGroupActionPiVolumeGroupActionResetPtrInput interface { + pulumi.Input + + ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutput() PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput + ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(context.Context) PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput +} + +type piVolumeGroupActionPiVolumeGroupActionResetPtrType PiVolumeGroupActionPiVolumeGroupActionResetArgs + +func PiVolumeGroupActionPiVolumeGroupActionResetPtr(v *PiVolumeGroupActionPiVolumeGroupActionResetArgs) PiVolumeGroupActionPiVolumeGroupActionResetPtrInput { + return (*piVolumeGroupActionPiVolumeGroupActionResetPtrType)(v) +} + +func (*piVolumeGroupActionPiVolumeGroupActionResetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupActionPiVolumeGroupActionReset)(nil)).Elem() +} + +func (i *piVolumeGroupActionPiVolumeGroupActionResetPtrType) ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutput() PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(context.Background()) +} + +func (i *piVolumeGroupActionPiVolumeGroupActionResetPtrType) ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionResetOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionPiVolumeGroupActionResetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionReset)(nil)).Elem() +} + +func (o PiVolumeGroupActionPiVolumeGroupActionResetOutput) ToPiVolumeGroupActionPiVolumeGroupActionResetOutput() PiVolumeGroupActionPiVolumeGroupActionResetOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionResetOutput) ToPiVolumeGroupActionPiVolumeGroupActionResetOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionResetOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionResetOutput) ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutput() PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return o.ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(context.Background()) +} + +func (o PiVolumeGroupActionPiVolumeGroupActionResetOutput) ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiVolumeGroupActionPiVolumeGroupActionReset) *PiVolumeGroupActionPiVolumeGroupActionReset { + return &v + }).(PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) +} + +// New status to be set for a volume group. +func (o PiVolumeGroupActionPiVolumeGroupActionResetOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v PiVolumeGroupActionPiVolumeGroupActionReset) string { return v.Status }).(pulumi.StringOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupActionPiVolumeGroupActionReset)(nil)).Elem() +} + +func (o PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutput() PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) ToPiVolumeGroupActionPiVolumeGroupActionResetPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) Elem() PiVolumeGroupActionPiVolumeGroupActionResetOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupActionReset) PiVolumeGroupActionPiVolumeGroupActionReset { + if v != nil { + return *v + } + var ret PiVolumeGroupActionPiVolumeGroupActionReset + return ret + }).(PiVolumeGroupActionPiVolumeGroupActionResetOutput) +} + +// New status to be set for a volume group. +func (o PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupActionReset) *string { + if v == nil { + return nil + } + return &v.Status + }).(pulumi.StringPtrOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionStart struct { + // Indicates the source of the action `master` or `aux`. + Source string `pulumi:"source"` +} + +// PiVolumeGroupActionPiVolumeGroupActionStartInput is an input type that accepts PiVolumeGroupActionPiVolumeGroupActionStartArgs and PiVolumeGroupActionPiVolumeGroupActionStartOutput values. +// You can construct a concrete instance of `PiVolumeGroupActionPiVolumeGroupActionStartInput` via: +// +// PiVolumeGroupActionPiVolumeGroupActionStartArgs{...} +type PiVolumeGroupActionPiVolumeGroupActionStartInput interface { + pulumi.Input + + ToPiVolumeGroupActionPiVolumeGroupActionStartOutput() PiVolumeGroupActionPiVolumeGroupActionStartOutput + ToPiVolumeGroupActionPiVolumeGroupActionStartOutputWithContext(context.Context) PiVolumeGroupActionPiVolumeGroupActionStartOutput +} + +type PiVolumeGroupActionPiVolumeGroupActionStartArgs struct { + // Indicates the source of the action `master` or `aux`. + Source pulumi.StringInput `pulumi:"source"` +} + +func (PiVolumeGroupActionPiVolumeGroupActionStartArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionStart)(nil)).Elem() +} + +func (i PiVolumeGroupActionPiVolumeGroupActionStartArgs) ToPiVolumeGroupActionPiVolumeGroupActionStartOutput() PiVolumeGroupActionPiVolumeGroupActionStartOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionStartOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionStartArgs) ToPiVolumeGroupActionPiVolumeGroupActionStartOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStartOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionStartOutput) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionStartArgs) ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionStartArgs) ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionStartOutput).ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(ctx) +} + +// PiVolumeGroupActionPiVolumeGroupActionStartPtrInput is an input type that accepts PiVolumeGroupActionPiVolumeGroupActionStartArgs, PiVolumeGroupActionPiVolumeGroupActionStartPtr and PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput values. +// You can construct a concrete instance of `PiVolumeGroupActionPiVolumeGroupActionStartPtrInput` via: +// +// PiVolumeGroupActionPiVolumeGroupActionStartArgs{...} +// +// or: +// +// nil +type PiVolumeGroupActionPiVolumeGroupActionStartPtrInput interface { + pulumi.Input + + ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput + ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(context.Context) PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput +} + +type piVolumeGroupActionPiVolumeGroupActionStartPtrType PiVolumeGroupActionPiVolumeGroupActionStartArgs + +func PiVolumeGroupActionPiVolumeGroupActionStartPtr(v *PiVolumeGroupActionPiVolumeGroupActionStartArgs) PiVolumeGroupActionPiVolumeGroupActionStartPtrInput { + return (*piVolumeGroupActionPiVolumeGroupActionStartPtrType)(v) +} + +func (*piVolumeGroupActionPiVolumeGroupActionStartPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupActionPiVolumeGroupActionStart)(nil)).Elem() +} + +func (i *piVolumeGroupActionPiVolumeGroupActionStartPtrType) ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(context.Background()) +} + +func (i *piVolumeGroupActionPiVolumeGroupActionStartPtrType) ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionStartOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionPiVolumeGroupActionStartOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionStart)(nil)).Elem() +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStartOutput) ToPiVolumeGroupActionPiVolumeGroupActionStartOutput() PiVolumeGroupActionPiVolumeGroupActionStartOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStartOutput) ToPiVolumeGroupActionPiVolumeGroupActionStartOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStartOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStartOutput) ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return o.ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(context.Background()) +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStartOutput) ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiVolumeGroupActionPiVolumeGroupActionStart) *PiVolumeGroupActionPiVolumeGroupActionStart { + return &v + }).(PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) +} + +// Indicates the source of the action `master` or `aux`. +func (o PiVolumeGroupActionPiVolumeGroupActionStartOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v PiVolumeGroupActionPiVolumeGroupActionStart) string { return v.Source }).(pulumi.StringOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupActionPiVolumeGroupActionStart)(nil)).Elem() +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) ToPiVolumeGroupActionPiVolumeGroupActionStartPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) Elem() PiVolumeGroupActionPiVolumeGroupActionStartOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupActionStart) PiVolumeGroupActionPiVolumeGroupActionStart { + if v != nil { + return *v + } + var ret PiVolumeGroupActionPiVolumeGroupActionStart + return ret + }).(PiVolumeGroupActionPiVolumeGroupActionStartOutput) +} + +// Indicates the source of the action `master` or `aux`. +func (o PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupActionStart) *string { + if v == nil { + return nil + } + return &v.Source + }).(pulumi.StringPtrOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionStop struct { + // Indicates the access mode of aux volumes. + Access bool `pulumi:"access"` +} + +// PiVolumeGroupActionPiVolumeGroupActionStopInput is an input type that accepts PiVolumeGroupActionPiVolumeGroupActionStopArgs and PiVolumeGroupActionPiVolumeGroupActionStopOutput values. +// You can construct a concrete instance of `PiVolumeGroupActionPiVolumeGroupActionStopInput` via: +// +// PiVolumeGroupActionPiVolumeGroupActionStopArgs{...} +type PiVolumeGroupActionPiVolumeGroupActionStopInput interface { + pulumi.Input + + ToPiVolumeGroupActionPiVolumeGroupActionStopOutput() PiVolumeGroupActionPiVolumeGroupActionStopOutput + ToPiVolumeGroupActionPiVolumeGroupActionStopOutputWithContext(context.Context) PiVolumeGroupActionPiVolumeGroupActionStopOutput +} + +type PiVolumeGroupActionPiVolumeGroupActionStopArgs struct { + // Indicates the access mode of aux volumes. + Access pulumi.BoolInput `pulumi:"access"` +} + +func (PiVolumeGroupActionPiVolumeGroupActionStopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionStop)(nil)).Elem() +} + +func (i PiVolumeGroupActionPiVolumeGroupActionStopArgs) ToPiVolumeGroupActionPiVolumeGroupActionStopOutput() PiVolumeGroupActionPiVolumeGroupActionStopOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionStopOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionStopArgs) ToPiVolumeGroupActionPiVolumeGroupActionStopOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStopOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionStopOutput) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionStopArgs) ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupActionPiVolumeGroupActionStopArgs) ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionStopOutput).ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(ctx) +} + +// PiVolumeGroupActionPiVolumeGroupActionStopPtrInput is an input type that accepts PiVolumeGroupActionPiVolumeGroupActionStopArgs, PiVolumeGroupActionPiVolumeGroupActionStopPtr and PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput values. +// You can construct a concrete instance of `PiVolumeGroupActionPiVolumeGroupActionStopPtrInput` via: +// +// PiVolumeGroupActionPiVolumeGroupActionStopArgs{...} +// +// or: +// +// nil +type PiVolumeGroupActionPiVolumeGroupActionStopPtrInput interface { + pulumi.Input + + ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput + ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(context.Context) PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput +} + +type piVolumeGroupActionPiVolumeGroupActionStopPtrType PiVolumeGroupActionPiVolumeGroupActionStopArgs + +func PiVolumeGroupActionPiVolumeGroupActionStopPtr(v *PiVolumeGroupActionPiVolumeGroupActionStopArgs) PiVolumeGroupActionPiVolumeGroupActionStopPtrInput { + return (*piVolumeGroupActionPiVolumeGroupActionStopPtrType)(v) +} + +func (*piVolumeGroupActionPiVolumeGroupActionStopPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupActionPiVolumeGroupActionStop)(nil)).Elem() +} + +func (i *piVolumeGroupActionPiVolumeGroupActionStopPtrType) ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return i.ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(context.Background()) +} + +func (i *piVolumeGroupActionPiVolumeGroupActionStopPtrType) ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionStopOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionPiVolumeGroupActionStopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionStop)(nil)).Elem() +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStopOutput) ToPiVolumeGroupActionPiVolumeGroupActionStopOutput() PiVolumeGroupActionPiVolumeGroupActionStopOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStopOutput) ToPiVolumeGroupActionPiVolumeGroupActionStopOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStopOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStopOutput) ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return o.ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(context.Background()) +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStopOutput) ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PiVolumeGroupActionPiVolumeGroupActionStop) *PiVolumeGroupActionPiVolumeGroupActionStop { + return &v + }).(PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) +} + +// Indicates the access mode of aux volumes. +func (o PiVolumeGroupActionPiVolumeGroupActionStopOutput) Access() pulumi.BoolOutput { + return o.ApplyT(func(v PiVolumeGroupActionPiVolumeGroupActionStop) bool { return v.Access }).(pulumi.BoolOutput) +} + +type PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PiVolumeGroupActionPiVolumeGroupActionStop)(nil)).Elem() +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutput() PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) ToPiVolumeGroupActionPiVolumeGroupActionStopPtrOutputWithContext(ctx context.Context) PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput { + return o +} + +func (o PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) Elem() PiVolumeGroupActionPiVolumeGroupActionStopOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupActionStop) PiVolumeGroupActionPiVolumeGroupActionStop { + if v != nil { + return *v + } + var ret PiVolumeGroupActionPiVolumeGroupActionStop + return ret + }).(PiVolumeGroupActionPiVolumeGroupActionStopOutput) +} + +// Indicates the access mode of aux volumes. +func (o PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput) Access() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PiVolumeGroupActionPiVolumeGroupActionStop) *bool { + if v == nil { + return nil + } + return &v.Access + }).(pulumi.BoolPtrOutput) +} + +type PiVolumeGroupStatusDescriptionError struct { + // The volume group error key. + Key *string `pulumi:"key"` + // The failure message providing more details about the error key. + Message *string `pulumi:"message"` + // List of volume IDs, which failed to be added to or removed from the volume group, with the given error. + VolumeIds []string `pulumi:"volumeIds"` +} + +// PiVolumeGroupStatusDescriptionErrorInput is an input type that accepts PiVolumeGroupStatusDescriptionErrorArgs and PiVolumeGroupStatusDescriptionErrorOutput values. +// You can construct a concrete instance of `PiVolumeGroupStatusDescriptionErrorInput` via: +// +// PiVolumeGroupStatusDescriptionErrorArgs{...} +type PiVolumeGroupStatusDescriptionErrorInput interface { + pulumi.Input + + ToPiVolumeGroupStatusDescriptionErrorOutput() PiVolumeGroupStatusDescriptionErrorOutput + ToPiVolumeGroupStatusDescriptionErrorOutputWithContext(context.Context) PiVolumeGroupStatusDescriptionErrorOutput +} + +type PiVolumeGroupStatusDescriptionErrorArgs struct { + // The volume group error key. + Key pulumi.StringPtrInput `pulumi:"key"` + // The failure message providing more details about the error key. + Message pulumi.StringPtrInput `pulumi:"message"` + // List of volume IDs, which failed to be added to or removed from the volume group, with the given error. + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` +} + +func (PiVolumeGroupStatusDescriptionErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (i PiVolumeGroupStatusDescriptionErrorArgs) ToPiVolumeGroupStatusDescriptionErrorOutput() PiVolumeGroupStatusDescriptionErrorOutput { + return i.ToPiVolumeGroupStatusDescriptionErrorOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupStatusDescriptionErrorArgs) ToPiVolumeGroupStatusDescriptionErrorOutputWithContext(ctx context.Context) PiVolumeGroupStatusDescriptionErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupStatusDescriptionErrorOutput) +} + +// PiVolumeGroupStatusDescriptionErrorArrayInput is an input type that accepts PiVolumeGroupStatusDescriptionErrorArray and PiVolumeGroupStatusDescriptionErrorArrayOutput values. +// You can construct a concrete instance of `PiVolumeGroupStatusDescriptionErrorArrayInput` via: +// +// PiVolumeGroupStatusDescriptionErrorArray{ PiVolumeGroupStatusDescriptionErrorArgs{...} } +type PiVolumeGroupStatusDescriptionErrorArrayInput interface { + pulumi.Input + + ToPiVolumeGroupStatusDescriptionErrorArrayOutput() PiVolumeGroupStatusDescriptionErrorArrayOutput + ToPiVolumeGroupStatusDescriptionErrorArrayOutputWithContext(context.Context) PiVolumeGroupStatusDescriptionErrorArrayOutput +} + +type PiVolumeGroupStatusDescriptionErrorArray []PiVolumeGroupStatusDescriptionErrorInput + +func (PiVolumeGroupStatusDescriptionErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (i PiVolumeGroupStatusDescriptionErrorArray) ToPiVolumeGroupStatusDescriptionErrorArrayOutput() PiVolumeGroupStatusDescriptionErrorArrayOutput { + return i.ToPiVolumeGroupStatusDescriptionErrorArrayOutputWithContext(context.Background()) +} + +func (i PiVolumeGroupStatusDescriptionErrorArray) ToPiVolumeGroupStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) PiVolumeGroupStatusDescriptionErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeGroupStatusDescriptionErrorArrayOutput) +} + +type PiVolumeGroupStatusDescriptionErrorOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupStatusDescriptionErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (o PiVolumeGroupStatusDescriptionErrorOutput) ToPiVolumeGroupStatusDescriptionErrorOutput() PiVolumeGroupStatusDescriptionErrorOutput { + return o +} + +func (o PiVolumeGroupStatusDescriptionErrorOutput) ToPiVolumeGroupStatusDescriptionErrorOutputWithContext(ctx context.Context) PiVolumeGroupStatusDescriptionErrorOutput { + return o +} + +// The volume group error key. +func (o PiVolumeGroupStatusDescriptionErrorOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiVolumeGroupStatusDescriptionError) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// The failure message providing more details about the error key. +func (o PiVolumeGroupStatusDescriptionErrorOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiVolumeGroupStatusDescriptionError) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// List of volume IDs, which failed to be added to or removed from the volume group, with the given error. +func (o PiVolumeGroupStatusDescriptionErrorOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v PiVolumeGroupStatusDescriptionError) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +type PiVolumeGroupStatusDescriptionErrorArrayOutput struct{ *pulumi.OutputState } + +func (PiVolumeGroupStatusDescriptionErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (o PiVolumeGroupStatusDescriptionErrorArrayOutput) ToPiVolumeGroupStatusDescriptionErrorArrayOutput() PiVolumeGroupStatusDescriptionErrorArrayOutput { + return o +} + +func (o PiVolumeGroupStatusDescriptionErrorArrayOutput) ToPiVolumeGroupStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) PiVolumeGroupStatusDescriptionErrorArrayOutput { + return o +} + +func (o PiVolumeGroupStatusDescriptionErrorArrayOutput) Index(i pulumi.IntInput) PiVolumeGroupStatusDescriptionErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiVolumeGroupStatusDescriptionError { + return vs[0].([]PiVolumeGroupStatusDescriptionError)[vs[1].(int)] + }).(PiVolumeGroupStatusDescriptionErrorOutput) +} + +type PiVolumeOnboardingPiOnboardingVolume struct { + // List auxiliary volumes. + PiAuxiliaryVolumes []PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume `pulumi:"piAuxiliaryVolumes"` + // The crn of source service broker instance from where auxiliary volumes need to be onboarded. + PiSourceCrn string `pulumi:"piSourceCrn"` +} + +// PiVolumeOnboardingPiOnboardingVolumeInput is an input type that accepts PiVolumeOnboardingPiOnboardingVolumeArgs and PiVolumeOnboardingPiOnboardingVolumeOutput values. +// You can construct a concrete instance of `PiVolumeOnboardingPiOnboardingVolumeInput` via: +// +// PiVolumeOnboardingPiOnboardingVolumeArgs{...} +type PiVolumeOnboardingPiOnboardingVolumeInput interface { + pulumi.Input + + ToPiVolumeOnboardingPiOnboardingVolumeOutput() PiVolumeOnboardingPiOnboardingVolumeOutput + ToPiVolumeOnboardingPiOnboardingVolumeOutputWithContext(context.Context) PiVolumeOnboardingPiOnboardingVolumeOutput +} + +type PiVolumeOnboardingPiOnboardingVolumeArgs struct { + // List auxiliary volumes. + PiAuxiliaryVolumes PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayInput `pulumi:"piAuxiliaryVolumes"` + // The crn of source service broker instance from where auxiliary volumes need to be onboarded. + PiSourceCrn pulumi.StringInput `pulumi:"piSourceCrn"` +} + +func (PiVolumeOnboardingPiOnboardingVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeOnboardingPiOnboardingVolume)(nil)).Elem() +} + +func (i PiVolumeOnboardingPiOnboardingVolumeArgs) ToPiVolumeOnboardingPiOnboardingVolumeOutput() PiVolumeOnboardingPiOnboardingVolumeOutput { + return i.ToPiVolumeOnboardingPiOnboardingVolumeOutputWithContext(context.Background()) +} + +func (i PiVolumeOnboardingPiOnboardingVolumeArgs) ToPiVolumeOnboardingPiOnboardingVolumeOutputWithContext(ctx context.Context) PiVolumeOnboardingPiOnboardingVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeOnboardingPiOnboardingVolumeOutput) +} + +// PiVolumeOnboardingPiOnboardingVolumeArrayInput is an input type that accepts PiVolumeOnboardingPiOnboardingVolumeArray and PiVolumeOnboardingPiOnboardingVolumeArrayOutput values. +// You can construct a concrete instance of `PiVolumeOnboardingPiOnboardingVolumeArrayInput` via: +// +// PiVolumeOnboardingPiOnboardingVolumeArray{ PiVolumeOnboardingPiOnboardingVolumeArgs{...} } +type PiVolumeOnboardingPiOnboardingVolumeArrayInput interface { + pulumi.Input + + ToPiVolumeOnboardingPiOnboardingVolumeArrayOutput() PiVolumeOnboardingPiOnboardingVolumeArrayOutput + ToPiVolumeOnboardingPiOnboardingVolumeArrayOutputWithContext(context.Context) PiVolumeOnboardingPiOnboardingVolumeArrayOutput +} + +type PiVolumeOnboardingPiOnboardingVolumeArray []PiVolumeOnboardingPiOnboardingVolumeInput + +func (PiVolumeOnboardingPiOnboardingVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeOnboardingPiOnboardingVolume)(nil)).Elem() +} + +func (i PiVolumeOnboardingPiOnboardingVolumeArray) ToPiVolumeOnboardingPiOnboardingVolumeArrayOutput() PiVolumeOnboardingPiOnboardingVolumeArrayOutput { + return i.ToPiVolumeOnboardingPiOnboardingVolumeArrayOutputWithContext(context.Background()) +} + +func (i PiVolumeOnboardingPiOnboardingVolumeArray) ToPiVolumeOnboardingPiOnboardingVolumeArrayOutputWithContext(ctx context.Context) PiVolumeOnboardingPiOnboardingVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeOnboardingPiOnboardingVolumeArrayOutput) +} + +type PiVolumeOnboardingPiOnboardingVolumeOutput struct{ *pulumi.OutputState } + +func (PiVolumeOnboardingPiOnboardingVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeOnboardingPiOnboardingVolume)(nil)).Elem() +} + +func (o PiVolumeOnboardingPiOnboardingVolumeOutput) ToPiVolumeOnboardingPiOnboardingVolumeOutput() PiVolumeOnboardingPiOnboardingVolumeOutput { + return o +} + +func (o PiVolumeOnboardingPiOnboardingVolumeOutput) ToPiVolumeOnboardingPiOnboardingVolumeOutputWithContext(ctx context.Context) PiVolumeOnboardingPiOnboardingVolumeOutput { + return o +} + +// List auxiliary volumes. +func (o PiVolumeOnboardingPiOnboardingVolumeOutput) PiAuxiliaryVolumes() PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput { + return o.ApplyT(func(v PiVolumeOnboardingPiOnboardingVolume) []PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume { + return v.PiAuxiliaryVolumes + }).(PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput) +} + +// The crn of source service broker instance from where auxiliary volumes need to be onboarded. +func (o PiVolumeOnboardingPiOnboardingVolumeOutput) PiSourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v PiVolumeOnboardingPiOnboardingVolume) string { return v.PiSourceCrn }).(pulumi.StringOutput) +} + +type PiVolumeOnboardingPiOnboardingVolumeArrayOutput struct{ *pulumi.OutputState } + +func (PiVolumeOnboardingPiOnboardingVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeOnboardingPiOnboardingVolume)(nil)).Elem() +} + +func (o PiVolumeOnboardingPiOnboardingVolumeArrayOutput) ToPiVolumeOnboardingPiOnboardingVolumeArrayOutput() PiVolumeOnboardingPiOnboardingVolumeArrayOutput { + return o +} + +func (o PiVolumeOnboardingPiOnboardingVolumeArrayOutput) ToPiVolumeOnboardingPiOnboardingVolumeArrayOutputWithContext(ctx context.Context) PiVolumeOnboardingPiOnboardingVolumeArrayOutput { + return o +} + +func (o PiVolumeOnboardingPiOnboardingVolumeArrayOutput) Index(i pulumi.IntInput) PiVolumeOnboardingPiOnboardingVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiVolumeOnboardingPiOnboardingVolume { + return vs[0].([]PiVolumeOnboardingPiOnboardingVolume)[vs[1].(int)] + }).(PiVolumeOnboardingPiOnboardingVolumeOutput) +} + +type PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume struct { + // The auxiliary volume name. + PiAuxiliaryVolumeName string `pulumi:"piAuxiliaryVolumeName"` + // The display name of auxiliary volume which is to be onboarded. + PiDisplayName *string `pulumi:"piDisplayName"` +} + +// PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeInput is an input type that accepts PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArgs and PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput values. +// You can construct a concrete instance of `PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeInput` via: +// +// PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArgs{...} +type PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeInput interface { + pulumi.Input + + ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput() PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput + ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutputWithContext(context.Context) PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput +} + +type PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArgs struct { + // The auxiliary volume name. + PiAuxiliaryVolumeName pulumi.StringInput `pulumi:"piAuxiliaryVolumeName"` + // The display name of auxiliary volume which is to be onboarded. + PiDisplayName pulumi.StringPtrInput `pulumi:"piDisplayName"` +} + +func (PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume)(nil)).Elem() +} + +func (i PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArgs) ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput() PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput { + return i.ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutputWithContext(context.Background()) +} + +func (i PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArgs) ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutputWithContext(ctx context.Context) PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput) +} + +// PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayInput is an input type that accepts PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArray and PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput values. +// You can construct a concrete instance of `PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayInput` via: +// +// PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArray{ PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArgs{...} } +type PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayInput interface { + pulumi.Input + + ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput() PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput + ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutputWithContext(context.Context) PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput +} + +type PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArray []PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeInput + +func (PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume)(nil)).Elem() +} + +func (i PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArray) ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput() PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput { + return i.ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutputWithContext(context.Background()) +} + +func (i PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArray) ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutputWithContext(ctx context.Context) PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput) +} + +type PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput struct{ *pulumi.OutputState } + +func (PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume)(nil)).Elem() +} + +func (o PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput) ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput() PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput { + return o +} + +func (o PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput) ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutputWithContext(ctx context.Context) PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput { + return o +} + +// The auxiliary volume name. +func (o PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput) PiAuxiliaryVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume) string { return v.PiAuxiliaryVolumeName }).(pulumi.StringOutput) +} + +// The display name of auxiliary volume which is to be onboarded. +func (o PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput) PiDisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume) *string { return v.PiDisplayName }).(pulumi.StringPtrOutput) +} + +type PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput struct{ *pulumi.OutputState } + +func (PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume)(nil)).Elem() +} + +func (o PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput) ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput() PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput { + return o +} + +func (o PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput) ToPiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutputWithContext(ctx context.Context) PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput { + return o +} + +func (o PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput) Index(i pulumi.IntInput) PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume { + return vs[0].([]PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolume)[vs[1].(int)] + }).(PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput) +} + +type PiVolumeOnboardingResultsVolumeOnboardingFailure struct { + // The failure reason for the volumes which have failed to be onboarded + FailureMessage *string `pulumi:"failureMessage"` + // List of volumes which have failed to be onboarded + Volumes []string `pulumi:"volumes"` +} + +// PiVolumeOnboardingResultsVolumeOnboardingFailureInput is an input type that accepts PiVolumeOnboardingResultsVolumeOnboardingFailureArgs and PiVolumeOnboardingResultsVolumeOnboardingFailureOutput values. +// You can construct a concrete instance of `PiVolumeOnboardingResultsVolumeOnboardingFailureInput` via: +// +// PiVolumeOnboardingResultsVolumeOnboardingFailureArgs{...} +type PiVolumeOnboardingResultsVolumeOnboardingFailureInput interface { + pulumi.Input + + ToPiVolumeOnboardingResultsVolumeOnboardingFailureOutput() PiVolumeOnboardingResultsVolumeOnboardingFailureOutput + ToPiVolumeOnboardingResultsVolumeOnboardingFailureOutputWithContext(context.Context) PiVolumeOnboardingResultsVolumeOnboardingFailureOutput +} + +type PiVolumeOnboardingResultsVolumeOnboardingFailureArgs struct { + // The failure reason for the volumes which have failed to be onboarded + FailureMessage pulumi.StringPtrInput `pulumi:"failureMessage"` + // List of volumes which have failed to be onboarded + Volumes pulumi.StringArrayInput `pulumi:"volumes"` +} + +func (PiVolumeOnboardingResultsVolumeOnboardingFailureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeOnboardingResultsVolumeOnboardingFailure)(nil)).Elem() +} + +func (i PiVolumeOnboardingResultsVolumeOnboardingFailureArgs) ToPiVolumeOnboardingResultsVolumeOnboardingFailureOutput() PiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return i.ToPiVolumeOnboardingResultsVolumeOnboardingFailureOutputWithContext(context.Background()) +} + +func (i PiVolumeOnboardingResultsVolumeOnboardingFailureArgs) ToPiVolumeOnboardingResultsVolumeOnboardingFailureOutputWithContext(ctx context.Context) PiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeOnboardingResultsVolumeOnboardingFailureOutput) +} + +// PiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput is an input type that accepts PiVolumeOnboardingResultsVolumeOnboardingFailureArray and PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput values. +// You can construct a concrete instance of `PiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput` via: +// +// PiVolumeOnboardingResultsVolumeOnboardingFailureArray{ PiVolumeOnboardingResultsVolumeOnboardingFailureArgs{...} } +type PiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput interface { + pulumi.Input + + ToPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput() PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput + ToPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutputWithContext(context.Context) PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput +} + +type PiVolumeOnboardingResultsVolumeOnboardingFailureArray []PiVolumeOnboardingResultsVolumeOnboardingFailureInput + +func (PiVolumeOnboardingResultsVolumeOnboardingFailureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeOnboardingResultsVolumeOnboardingFailure)(nil)).Elem() +} + +func (i PiVolumeOnboardingResultsVolumeOnboardingFailureArray) ToPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput() PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return i.ToPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutputWithContext(context.Background()) +} + +func (i PiVolumeOnboardingResultsVolumeOnboardingFailureArray) ToPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutputWithContext(ctx context.Context) PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) +} + +type PiVolumeOnboardingResultsVolumeOnboardingFailureOutput struct{ *pulumi.OutputState } + +func (PiVolumeOnboardingResultsVolumeOnboardingFailureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PiVolumeOnboardingResultsVolumeOnboardingFailure)(nil)).Elem() +} + +func (o PiVolumeOnboardingResultsVolumeOnboardingFailureOutput) ToPiVolumeOnboardingResultsVolumeOnboardingFailureOutput() PiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return o +} + +func (o PiVolumeOnboardingResultsVolumeOnboardingFailureOutput) ToPiVolumeOnboardingResultsVolumeOnboardingFailureOutputWithContext(ctx context.Context) PiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return o +} + +// The failure reason for the volumes which have failed to be onboarded +func (o PiVolumeOnboardingResultsVolumeOnboardingFailureOutput) FailureMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v PiVolumeOnboardingResultsVolumeOnboardingFailure) *string { return v.FailureMessage }).(pulumi.StringPtrOutput) +} + +// List of volumes which have failed to be onboarded +func (o PiVolumeOnboardingResultsVolumeOnboardingFailureOutput) Volumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v PiVolumeOnboardingResultsVolumeOnboardingFailure) []string { return v.Volumes }).(pulumi.StringArrayOutput) +} + +type PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput struct{ *pulumi.OutputState } + +func (PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PiVolumeOnboardingResultsVolumeOnboardingFailure)(nil)).Elem() +} + +func (o PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) ToPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput() PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return o +} + +func (o PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) ToPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutputWithContext(ctx context.Context) PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return o +} + +func (o PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) Index(i pulumi.IntInput) PiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PiVolumeOnboardingResultsVolumeOnboardingFailure { + return vs[0].([]PiVolumeOnboardingResultsVolumeOnboardingFailure)[vs[1].(int)] + }).(PiVolumeOnboardingResultsVolumeOnboardingFailureOutput) +} + +type ResourceInstancePlanHistory struct { + ResourcePlanId *string `pulumi:"resourcePlanId"` + StartDate *string `pulumi:"startDate"` +} + +// ResourceInstancePlanHistoryInput is an input type that accepts ResourceInstancePlanHistoryArgs and ResourceInstancePlanHistoryOutput values. +// You can construct a concrete instance of `ResourceInstancePlanHistoryInput` via: +// +// ResourceInstancePlanHistoryArgs{...} +type ResourceInstancePlanHistoryInput interface { + pulumi.Input + + ToResourceInstancePlanHistoryOutput() ResourceInstancePlanHistoryOutput + ToResourceInstancePlanHistoryOutputWithContext(context.Context) ResourceInstancePlanHistoryOutput +} + +type ResourceInstancePlanHistoryArgs struct { + ResourcePlanId pulumi.StringPtrInput `pulumi:"resourcePlanId"` + StartDate pulumi.StringPtrInput `pulumi:"startDate"` +} + +func (ResourceInstancePlanHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceInstancePlanHistory)(nil)).Elem() +} + +func (i ResourceInstancePlanHistoryArgs) ToResourceInstancePlanHistoryOutput() ResourceInstancePlanHistoryOutput { + return i.ToResourceInstancePlanHistoryOutputWithContext(context.Background()) +} + +func (i ResourceInstancePlanHistoryArgs) ToResourceInstancePlanHistoryOutputWithContext(ctx context.Context) ResourceInstancePlanHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceInstancePlanHistoryOutput) +} + +// ResourceInstancePlanHistoryArrayInput is an input type that accepts ResourceInstancePlanHistoryArray and ResourceInstancePlanHistoryArrayOutput values. +// You can construct a concrete instance of `ResourceInstancePlanHistoryArrayInput` via: +// +// ResourceInstancePlanHistoryArray{ ResourceInstancePlanHistoryArgs{...} } +type ResourceInstancePlanHistoryArrayInput interface { + pulumi.Input + + ToResourceInstancePlanHistoryArrayOutput() ResourceInstancePlanHistoryArrayOutput + ToResourceInstancePlanHistoryArrayOutputWithContext(context.Context) ResourceInstancePlanHistoryArrayOutput +} + +type ResourceInstancePlanHistoryArray []ResourceInstancePlanHistoryInput + +func (ResourceInstancePlanHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceInstancePlanHistory)(nil)).Elem() +} + +func (i ResourceInstancePlanHistoryArray) ToResourceInstancePlanHistoryArrayOutput() ResourceInstancePlanHistoryArrayOutput { + return i.ToResourceInstancePlanHistoryArrayOutputWithContext(context.Background()) +} + +func (i ResourceInstancePlanHistoryArray) ToResourceInstancePlanHistoryArrayOutputWithContext(ctx context.Context) ResourceInstancePlanHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceInstancePlanHistoryArrayOutput) +} + +type ResourceInstancePlanHistoryOutput struct{ *pulumi.OutputState } + +func (ResourceInstancePlanHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceInstancePlanHistory)(nil)).Elem() +} + +func (o ResourceInstancePlanHistoryOutput) ToResourceInstancePlanHistoryOutput() ResourceInstancePlanHistoryOutput { + return o +} + +func (o ResourceInstancePlanHistoryOutput) ToResourceInstancePlanHistoryOutputWithContext(ctx context.Context) ResourceInstancePlanHistoryOutput { + return o +} + +func (o ResourceInstancePlanHistoryOutput) ResourcePlanId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceInstancePlanHistory) *string { return v.ResourcePlanId }).(pulumi.StringPtrOutput) +} + +func (o ResourceInstancePlanHistoryOutput) StartDate() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceInstancePlanHistory) *string { return v.StartDate }).(pulumi.StringPtrOutput) +} + +type ResourceInstancePlanHistoryArrayOutput struct{ *pulumi.OutputState } + +func (ResourceInstancePlanHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceInstancePlanHistory)(nil)).Elem() +} + +func (o ResourceInstancePlanHistoryArrayOutput) ToResourceInstancePlanHistoryArrayOutput() ResourceInstancePlanHistoryArrayOutput { + return o +} + +func (o ResourceInstancePlanHistoryArrayOutput) ToResourceInstancePlanHistoryArrayOutputWithContext(ctx context.Context) ResourceInstancePlanHistoryArrayOutput { + return o +} + +func (o ResourceInstancePlanHistoryArrayOutput) Index(i pulumi.IntInput) ResourceInstancePlanHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceInstancePlanHistory { + return vs[0].([]ResourceInstancePlanHistory)[vs[1].(int)] + }).(ResourceInstancePlanHistoryOutput) +} + +type TgConnectionTunnel struct { + // The date and time that this connection was created + CreatedAt *string `pulumi:"createdAt"` + // The local network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalBgpAsn *int `pulumi:"localBgpAsn"` + // The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalGatewayIp string `pulumi:"localGatewayIp"` + // The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalTunnelIp string `pulumi:"localTunnelIp"` + Mtu *int `pulumi:"mtu"` + // The user-defined name for this tunnel connection. + Name string `pulumi:"name"` + // The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteBgpAsn *int `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteGatewayIp string `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteTunnelIp string `pulumi:"remoteTunnelIp"` + // What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status *string `pulumi:"status"` + // The Transit Gateway Connection tunnel identifier + TunnelId *string `pulumi:"tunnelId"` + // The date and time that this connection was last updated + UpdatedAt *string `pulumi:"updatedAt"` + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + Zone string `pulumi:"zone"` +} + +// TgConnectionTunnelInput is an input type that accepts TgConnectionTunnelArgs and TgConnectionTunnelOutput values. +// You can construct a concrete instance of `TgConnectionTunnelInput` via: +// +// TgConnectionTunnelArgs{...} +type TgConnectionTunnelInput interface { + pulumi.Input + + ToTgConnectionTunnelOutput() TgConnectionTunnelOutput + ToTgConnectionTunnelOutputWithContext(context.Context) TgConnectionTunnelOutput +} + +type TgConnectionTunnelArgs struct { + // The date and time that this connection was created + CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` + // The local network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalBgpAsn pulumi.IntPtrInput `pulumi:"localBgpAsn"` + // The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalGatewayIp pulumi.StringInput `pulumi:"localGatewayIp"` + // The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalTunnelIp pulumi.StringInput `pulumi:"localTunnelIp"` + Mtu pulumi.IntPtrInput `pulumi:"mtu"` + // The user-defined name for this tunnel connection. + Name pulumi.StringInput `pulumi:"name"` + // The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteBgpAsn pulumi.IntPtrInput `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteGatewayIp pulumi.StringInput `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteTunnelIp pulumi.StringInput `pulumi:"remoteTunnelIp"` + // What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status pulumi.StringPtrInput `pulumi:"status"` + // The Transit Gateway Connection tunnel identifier + TunnelId pulumi.StringPtrInput `pulumi:"tunnelId"` + // The date and time that this connection was last updated + UpdatedAt pulumi.StringPtrInput `pulumi:"updatedAt"` + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (TgConnectionTunnelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TgConnectionTunnel)(nil)).Elem() +} + +func (i TgConnectionTunnelArgs) ToTgConnectionTunnelOutput() TgConnectionTunnelOutput { + return i.ToTgConnectionTunnelOutputWithContext(context.Background()) +} + +func (i TgConnectionTunnelArgs) ToTgConnectionTunnelOutputWithContext(ctx context.Context) TgConnectionTunnelOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgConnectionTunnelOutput) +} + +// TgConnectionTunnelArrayInput is an input type that accepts TgConnectionTunnelArray and TgConnectionTunnelArrayOutput values. +// You can construct a concrete instance of `TgConnectionTunnelArrayInput` via: +// +// TgConnectionTunnelArray{ TgConnectionTunnelArgs{...} } +type TgConnectionTunnelArrayInput interface { + pulumi.Input + + ToTgConnectionTunnelArrayOutput() TgConnectionTunnelArrayOutput + ToTgConnectionTunnelArrayOutputWithContext(context.Context) TgConnectionTunnelArrayOutput +} + +type TgConnectionTunnelArray []TgConnectionTunnelInput + +func (TgConnectionTunnelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgConnectionTunnel)(nil)).Elem() +} + +func (i TgConnectionTunnelArray) ToTgConnectionTunnelArrayOutput() TgConnectionTunnelArrayOutput { + return i.ToTgConnectionTunnelArrayOutputWithContext(context.Background()) +} + +func (i TgConnectionTunnelArray) ToTgConnectionTunnelArrayOutputWithContext(ctx context.Context) TgConnectionTunnelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgConnectionTunnelArrayOutput) +} + +type TgConnectionTunnelOutput struct{ *pulumi.OutputState } + +func (TgConnectionTunnelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TgConnectionTunnel)(nil)).Elem() +} + +func (o TgConnectionTunnelOutput) ToTgConnectionTunnelOutput() TgConnectionTunnelOutput { + return o +} + +func (o TgConnectionTunnelOutput) ToTgConnectionTunnelOutputWithContext(ctx context.Context) TgConnectionTunnelOutput { + return o +} + +// The date and time that this connection was created +func (o TgConnectionTunnelOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgConnectionTunnel) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// The local network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionTunnelOutput) LocalBgpAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v TgConnectionTunnel) *int { return v.LocalBgpAsn }).(pulumi.IntPtrOutput) +} + +// The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionTunnelOutput) LocalGatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v TgConnectionTunnel) string { return v.LocalGatewayIp }).(pulumi.StringOutput) +} + +// The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionTunnelOutput) LocalTunnelIp() pulumi.StringOutput { + return o.ApplyT(func(v TgConnectionTunnel) string { return v.LocalTunnelIp }).(pulumi.StringOutput) +} + +func (o TgConnectionTunnelOutput) Mtu() pulumi.IntPtrOutput { + return o.ApplyT(func(v TgConnectionTunnel) *int { return v.Mtu }).(pulumi.IntPtrOutput) +} + +// The user-defined name for this tunnel connection. +func (o TgConnectionTunnelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v TgConnectionTunnel) string { return v.Name }).(pulumi.StringOutput) +} + +// The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionTunnelOutput) RemoteBgpAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v TgConnectionTunnel) *int { return v.RemoteBgpAsn }).(pulumi.IntPtrOutput) +} + +// The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionTunnelOutput) RemoteGatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v TgConnectionTunnel) string { return v.RemoteGatewayIp }).(pulumi.StringOutput) +} + +// The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionTunnelOutput) RemoteTunnelIp() pulumi.StringOutput { + return o.ApplyT(func(v TgConnectionTunnel) string { return v.RemoteTunnelIp }).(pulumi.StringOutput) +} + +// What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] +func (o TgConnectionTunnelOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgConnectionTunnel) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// The Transit Gateway Connection tunnel identifier +func (o TgConnectionTunnelOutput) TunnelId() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgConnectionTunnel) *string { return v.TunnelId }).(pulumi.StringPtrOutput) +} + +// The date and time that this connection was last updated +func (o TgConnectionTunnelOutput) UpdatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgConnectionTunnel) *string { return v.UpdatedAt }).(pulumi.StringPtrOutput) +} + +// Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionTunnelOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v TgConnectionTunnel) string { return v.Zone }).(pulumi.StringOutput) +} + +type TgConnectionTunnelArrayOutput struct{ *pulumi.OutputState } + +func (TgConnectionTunnelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgConnectionTunnel)(nil)).Elem() +} + +func (o TgConnectionTunnelArrayOutput) ToTgConnectionTunnelArrayOutput() TgConnectionTunnelArrayOutput { + return o +} + +func (o TgConnectionTunnelArrayOutput) ToTgConnectionTunnelArrayOutputWithContext(ctx context.Context) TgConnectionTunnelArrayOutput { + return o +} + +func (o TgConnectionTunnelArrayOutput) Index(i pulumi.IntInput) TgConnectionTunnelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TgConnectionTunnel { + return vs[0].([]TgConnectionTunnel)[vs[1].(int)] + }).(TgConnectionTunnelOutput) +} + +type TgRouteReportConnection struct { + // Collection of transit gateway connection's bgps + Bgps []TgRouteReportConnectionBgp `pulumi:"bgps"` + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` + // Collection of transit gateway connection's used routes + Routes []TgRouteReportConnectionRoute `pulumi:"routes"` + Type *string `pulumi:"type"` +} + +// TgRouteReportConnectionInput is an input type that accepts TgRouteReportConnectionArgs and TgRouteReportConnectionOutput values. +// You can construct a concrete instance of `TgRouteReportConnectionInput` via: +// +// TgRouteReportConnectionArgs{...} +type TgRouteReportConnectionInput interface { + pulumi.Input + + ToTgRouteReportConnectionOutput() TgRouteReportConnectionOutput + ToTgRouteReportConnectionOutputWithContext(context.Context) TgRouteReportConnectionOutput +} + +type TgRouteReportConnectionArgs struct { + // Collection of transit gateway connection's bgps + Bgps TgRouteReportConnectionBgpArrayInput `pulumi:"bgps"` + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` + // Collection of transit gateway connection's used routes + Routes TgRouteReportConnectionRouteArrayInput `pulumi:"routes"` + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (TgRouteReportConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportConnection)(nil)).Elem() +} + +func (i TgRouteReportConnectionArgs) ToTgRouteReportConnectionOutput() TgRouteReportConnectionOutput { + return i.ToTgRouteReportConnectionOutputWithContext(context.Background()) +} + +func (i TgRouteReportConnectionArgs) ToTgRouteReportConnectionOutputWithContext(ctx context.Context) TgRouteReportConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportConnectionOutput) +} + +// TgRouteReportConnectionArrayInput is an input type that accepts TgRouteReportConnectionArray and TgRouteReportConnectionArrayOutput values. +// You can construct a concrete instance of `TgRouteReportConnectionArrayInput` via: +// +// TgRouteReportConnectionArray{ TgRouteReportConnectionArgs{...} } +type TgRouteReportConnectionArrayInput interface { + pulumi.Input + + ToTgRouteReportConnectionArrayOutput() TgRouteReportConnectionArrayOutput + ToTgRouteReportConnectionArrayOutputWithContext(context.Context) TgRouteReportConnectionArrayOutput +} + +type TgRouteReportConnectionArray []TgRouteReportConnectionInput + +func (TgRouteReportConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportConnection)(nil)).Elem() +} + +func (i TgRouteReportConnectionArray) ToTgRouteReportConnectionArrayOutput() TgRouteReportConnectionArrayOutput { + return i.ToTgRouteReportConnectionArrayOutputWithContext(context.Background()) +} + +func (i TgRouteReportConnectionArray) ToTgRouteReportConnectionArrayOutputWithContext(ctx context.Context) TgRouteReportConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportConnectionArrayOutput) +} + +type TgRouteReportConnectionOutput struct{ *pulumi.OutputState } + +func (TgRouteReportConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportConnection)(nil)).Elem() +} + +func (o TgRouteReportConnectionOutput) ToTgRouteReportConnectionOutput() TgRouteReportConnectionOutput { + return o +} + +func (o TgRouteReportConnectionOutput) ToTgRouteReportConnectionOutputWithContext(ctx context.Context) TgRouteReportConnectionOutput { + return o +} + +// Collection of transit gateway connection's bgps +func (o TgRouteReportConnectionOutput) Bgps() TgRouteReportConnectionBgpArrayOutput { + return o.ApplyT(func(v TgRouteReportConnection) []TgRouteReportConnectionBgp { return v.Bgps }).(TgRouteReportConnectionBgpArrayOutput) +} + +func (o TgRouteReportConnectionOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportConnection) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o TgRouteReportConnectionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportConnection) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Collection of transit gateway connection's used routes +func (o TgRouteReportConnectionOutput) Routes() TgRouteReportConnectionRouteArrayOutput { + return o.ApplyT(func(v TgRouteReportConnection) []TgRouteReportConnectionRoute { return v.Routes }).(TgRouteReportConnectionRouteArrayOutput) +} + +func (o TgRouteReportConnectionOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportConnection) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type TgRouteReportConnectionArrayOutput struct{ *pulumi.OutputState } + +func (TgRouteReportConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportConnection)(nil)).Elem() +} + +func (o TgRouteReportConnectionArrayOutput) ToTgRouteReportConnectionArrayOutput() TgRouteReportConnectionArrayOutput { + return o +} + +func (o TgRouteReportConnectionArrayOutput) ToTgRouteReportConnectionArrayOutputWithContext(ctx context.Context) TgRouteReportConnectionArrayOutput { + return o +} + +func (o TgRouteReportConnectionArrayOutput) Index(i pulumi.IntInput) TgRouteReportConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TgRouteReportConnection { + return vs[0].([]TgRouteReportConnection)[vs[1].(int)] + }).(TgRouteReportConnectionOutput) +} + +type TgRouteReportConnectionBgp struct { + AsPath *string `pulumi:"asPath"` + IsUsed *bool `pulumi:"isUsed"` + LocalPreference *string `pulumi:"localPreference"` + Prefix *string `pulumi:"prefix"` +} + +// TgRouteReportConnectionBgpInput is an input type that accepts TgRouteReportConnectionBgpArgs and TgRouteReportConnectionBgpOutput values. +// You can construct a concrete instance of `TgRouteReportConnectionBgpInput` via: +// +// TgRouteReportConnectionBgpArgs{...} +type TgRouteReportConnectionBgpInput interface { + pulumi.Input + + ToTgRouteReportConnectionBgpOutput() TgRouteReportConnectionBgpOutput + ToTgRouteReportConnectionBgpOutputWithContext(context.Context) TgRouteReportConnectionBgpOutput +} + +type TgRouteReportConnectionBgpArgs struct { + AsPath pulumi.StringPtrInput `pulumi:"asPath"` + IsUsed pulumi.BoolPtrInput `pulumi:"isUsed"` + LocalPreference pulumi.StringPtrInput `pulumi:"localPreference"` + Prefix pulumi.StringPtrInput `pulumi:"prefix"` +} + +func (TgRouteReportConnectionBgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportConnectionBgp)(nil)).Elem() +} + +func (i TgRouteReportConnectionBgpArgs) ToTgRouteReportConnectionBgpOutput() TgRouteReportConnectionBgpOutput { + return i.ToTgRouteReportConnectionBgpOutputWithContext(context.Background()) +} + +func (i TgRouteReportConnectionBgpArgs) ToTgRouteReportConnectionBgpOutputWithContext(ctx context.Context) TgRouteReportConnectionBgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportConnectionBgpOutput) +} + +// TgRouteReportConnectionBgpArrayInput is an input type that accepts TgRouteReportConnectionBgpArray and TgRouteReportConnectionBgpArrayOutput values. +// You can construct a concrete instance of `TgRouteReportConnectionBgpArrayInput` via: +// +// TgRouteReportConnectionBgpArray{ TgRouteReportConnectionBgpArgs{...} } +type TgRouteReportConnectionBgpArrayInput interface { + pulumi.Input + + ToTgRouteReportConnectionBgpArrayOutput() TgRouteReportConnectionBgpArrayOutput + ToTgRouteReportConnectionBgpArrayOutputWithContext(context.Context) TgRouteReportConnectionBgpArrayOutput +} + +type TgRouteReportConnectionBgpArray []TgRouteReportConnectionBgpInput + +func (TgRouteReportConnectionBgpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportConnectionBgp)(nil)).Elem() +} + +func (i TgRouteReportConnectionBgpArray) ToTgRouteReportConnectionBgpArrayOutput() TgRouteReportConnectionBgpArrayOutput { + return i.ToTgRouteReportConnectionBgpArrayOutputWithContext(context.Background()) +} + +func (i TgRouteReportConnectionBgpArray) ToTgRouteReportConnectionBgpArrayOutputWithContext(ctx context.Context) TgRouteReportConnectionBgpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportConnectionBgpArrayOutput) +} + +type TgRouteReportConnectionBgpOutput struct{ *pulumi.OutputState } + +func (TgRouteReportConnectionBgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportConnectionBgp)(nil)).Elem() +} + +func (o TgRouteReportConnectionBgpOutput) ToTgRouteReportConnectionBgpOutput() TgRouteReportConnectionBgpOutput { + return o +} + +func (o TgRouteReportConnectionBgpOutput) ToTgRouteReportConnectionBgpOutputWithContext(ctx context.Context) TgRouteReportConnectionBgpOutput { + return o +} + +func (o TgRouteReportConnectionBgpOutput) AsPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportConnectionBgp) *string { return v.AsPath }).(pulumi.StringPtrOutput) +} + +func (o TgRouteReportConnectionBgpOutput) IsUsed() pulumi.BoolPtrOutput { + return o.ApplyT(func(v TgRouteReportConnectionBgp) *bool { return v.IsUsed }).(pulumi.BoolPtrOutput) +} + +func (o TgRouteReportConnectionBgpOutput) LocalPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportConnectionBgp) *string { return v.LocalPreference }).(pulumi.StringPtrOutput) +} + +func (o TgRouteReportConnectionBgpOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportConnectionBgp) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +type TgRouteReportConnectionBgpArrayOutput struct{ *pulumi.OutputState } + +func (TgRouteReportConnectionBgpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportConnectionBgp)(nil)).Elem() +} + +func (o TgRouteReportConnectionBgpArrayOutput) ToTgRouteReportConnectionBgpArrayOutput() TgRouteReportConnectionBgpArrayOutput { + return o +} + +func (o TgRouteReportConnectionBgpArrayOutput) ToTgRouteReportConnectionBgpArrayOutputWithContext(ctx context.Context) TgRouteReportConnectionBgpArrayOutput { + return o +} + +func (o TgRouteReportConnectionBgpArrayOutput) Index(i pulumi.IntInput) TgRouteReportConnectionBgpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TgRouteReportConnectionBgp { + return vs[0].([]TgRouteReportConnectionBgp)[vs[1].(int)] + }).(TgRouteReportConnectionBgpOutput) +} + +type TgRouteReportConnectionRoute struct { + Prefix *string `pulumi:"prefix"` +} + +// TgRouteReportConnectionRouteInput is an input type that accepts TgRouteReportConnectionRouteArgs and TgRouteReportConnectionRouteOutput values. +// You can construct a concrete instance of `TgRouteReportConnectionRouteInput` via: +// +// TgRouteReportConnectionRouteArgs{...} +type TgRouteReportConnectionRouteInput interface { + pulumi.Input + + ToTgRouteReportConnectionRouteOutput() TgRouteReportConnectionRouteOutput + ToTgRouteReportConnectionRouteOutputWithContext(context.Context) TgRouteReportConnectionRouteOutput +} + +type TgRouteReportConnectionRouteArgs struct { + Prefix pulumi.StringPtrInput `pulumi:"prefix"` +} + +func (TgRouteReportConnectionRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportConnectionRoute)(nil)).Elem() +} + +func (i TgRouteReportConnectionRouteArgs) ToTgRouteReportConnectionRouteOutput() TgRouteReportConnectionRouteOutput { + return i.ToTgRouteReportConnectionRouteOutputWithContext(context.Background()) +} + +func (i TgRouteReportConnectionRouteArgs) ToTgRouteReportConnectionRouteOutputWithContext(ctx context.Context) TgRouteReportConnectionRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportConnectionRouteOutput) +} + +// TgRouteReportConnectionRouteArrayInput is an input type that accepts TgRouteReportConnectionRouteArray and TgRouteReportConnectionRouteArrayOutput values. +// You can construct a concrete instance of `TgRouteReportConnectionRouteArrayInput` via: +// +// TgRouteReportConnectionRouteArray{ TgRouteReportConnectionRouteArgs{...} } +type TgRouteReportConnectionRouteArrayInput interface { + pulumi.Input + + ToTgRouteReportConnectionRouteArrayOutput() TgRouteReportConnectionRouteArrayOutput + ToTgRouteReportConnectionRouteArrayOutputWithContext(context.Context) TgRouteReportConnectionRouteArrayOutput +} + +type TgRouteReportConnectionRouteArray []TgRouteReportConnectionRouteInput + +func (TgRouteReportConnectionRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportConnectionRoute)(nil)).Elem() +} + +func (i TgRouteReportConnectionRouteArray) ToTgRouteReportConnectionRouteArrayOutput() TgRouteReportConnectionRouteArrayOutput { + return i.ToTgRouteReportConnectionRouteArrayOutputWithContext(context.Background()) +} + +func (i TgRouteReportConnectionRouteArray) ToTgRouteReportConnectionRouteArrayOutputWithContext(ctx context.Context) TgRouteReportConnectionRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportConnectionRouteArrayOutput) +} + +type TgRouteReportConnectionRouteOutput struct{ *pulumi.OutputState } + +func (TgRouteReportConnectionRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportConnectionRoute)(nil)).Elem() +} + +func (o TgRouteReportConnectionRouteOutput) ToTgRouteReportConnectionRouteOutput() TgRouteReportConnectionRouteOutput { + return o +} + +func (o TgRouteReportConnectionRouteOutput) ToTgRouteReportConnectionRouteOutputWithContext(ctx context.Context) TgRouteReportConnectionRouteOutput { + return o +} + +func (o TgRouteReportConnectionRouteOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportConnectionRoute) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +type TgRouteReportConnectionRouteArrayOutput struct{ *pulumi.OutputState } + +func (TgRouteReportConnectionRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportConnectionRoute)(nil)).Elem() +} + +func (o TgRouteReportConnectionRouteArrayOutput) ToTgRouteReportConnectionRouteArrayOutput() TgRouteReportConnectionRouteArrayOutput { + return o +} + +func (o TgRouteReportConnectionRouteArrayOutput) ToTgRouteReportConnectionRouteArrayOutputWithContext(ctx context.Context) TgRouteReportConnectionRouteArrayOutput { + return o +} + +func (o TgRouteReportConnectionRouteArrayOutput) Index(i pulumi.IntInput) TgRouteReportConnectionRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TgRouteReportConnectionRoute { + return vs[0].([]TgRouteReportConnectionRoute)[vs[1].(int)] + }).(TgRouteReportConnectionRouteOutput) +} + +type TgRouteReportOverlappingRoute struct { + // Collection of transit gateway overlapping route's details + Routes []TgRouteReportOverlappingRouteRoute `pulumi:"routes"` +} + +// TgRouteReportOverlappingRouteInput is an input type that accepts TgRouteReportOverlappingRouteArgs and TgRouteReportOverlappingRouteOutput values. +// You can construct a concrete instance of `TgRouteReportOverlappingRouteInput` via: +// +// TgRouteReportOverlappingRouteArgs{...} +type TgRouteReportOverlappingRouteInput interface { + pulumi.Input + + ToTgRouteReportOverlappingRouteOutput() TgRouteReportOverlappingRouteOutput + ToTgRouteReportOverlappingRouteOutputWithContext(context.Context) TgRouteReportOverlappingRouteOutput +} + +type TgRouteReportOverlappingRouteArgs struct { + // Collection of transit gateway overlapping route's details + Routes TgRouteReportOverlappingRouteRouteArrayInput `pulumi:"routes"` +} + +func (TgRouteReportOverlappingRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportOverlappingRoute)(nil)).Elem() +} + +func (i TgRouteReportOverlappingRouteArgs) ToTgRouteReportOverlappingRouteOutput() TgRouteReportOverlappingRouteOutput { + return i.ToTgRouteReportOverlappingRouteOutputWithContext(context.Background()) +} + +func (i TgRouteReportOverlappingRouteArgs) ToTgRouteReportOverlappingRouteOutputWithContext(ctx context.Context) TgRouteReportOverlappingRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportOverlappingRouteOutput) +} + +// TgRouteReportOverlappingRouteArrayInput is an input type that accepts TgRouteReportOverlappingRouteArray and TgRouteReportOverlappingRouteArrayOutput values. +// You can construct a concrete instance of `TgRouteReportOverlappingRouteArrayInput` via: +// +// TgRouteReportOverlappingRouteArray{ TgRouteReportOverlappingRouteArgs{...} } +type TgRouteReportOverlappingRouteArrayInput interface { + pulumi.Input + + ToTgRouteReportOverlappingRouteArrayOutput() TgRouteReportOverlappingRouteArrayOutput + ToTgRouteReportOverlappingRouteArrayOutputWithContext(context.Context) TgRouteReportOverlappingRouteArrayOutput +} + +type TgRouteReportOverlappingRouteArray []TgRouteReportOverlappingRouteInput + +func (TgRouteReportOverlappingRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportOverlappingRoute)(nil)).Elem() +} + +func (i TgRouteReportOverlappingRouteArray) ToTgRouteReportOverlappingRouteArrayOutput() TgRouteReportOverlappingRouteArrayOutput { + return i.ToTgRouteReportOverlappingRouteArrayOutputWithContext(context.Background()) +} + +func (i TgRouteReportOverlappingRouteArray) ToTgRouteReportOverlappingRouteArrayOutputWithContext(ctx context.Context) TgRouteReportOverlappingRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportOverlappingRouteArrayOutput) +} + +type TgRouteReportOverlappingRouteOutput struct{ *pulumi.OutputState } + +func (TgRouteReportOverlappingRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportOverlappingRoute)(nil)).Elem() +} + +func (o TgRouteReportOverlappingRouteOutput) ToTgRouteReportOverlappingRouteOutput() TgRouteReportOverlappingRouteOutput { + return o +} + +func (o TgRouteReportOverlappingRouteOutput) ToTgRouteReportOverlappingRouteOutputWithContext(ctx context.Context) TgRouteReportOverlappingRouteOutput { + return o +} + +// Collection of transit gateway overlapping route's details +func (o TgRouteReportOverlappingRouteOutput) Routes() TgRouteReportOverlappingRouteRouteArrayOutput { + return o.ApplyT(func(v TgRouteReportOverlappingRoute) []TgRouteReportOverlappingRouteRoute { return v.Routes }).(TgRouteReportOverlappingRouteRouteArrayOutput) +} + +type TgRouteReportOverlappingRouteArrayOutput struct{ *pulumi.OutputState } + +func (TgRouteReportOverlappingRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportOverlappingRoute)(nil)).Elem() +} + +func (o TgRouteReportOverlappingRouteArrayOutput) ToTgRouteReportOverlappingRouteArrayOutput() TgRouteReportOverlappingRouteArrayOutput { + return o +} + +func (o TgRouteReportOverlappingRouteArrayOutput) ToTgRouteReportOverlappingRouteArrayOutputWithContext(ctx context.Context) TgRouteReportOverlappingRouteArrayOutput { + return o +} + +func (o TgRouteReportOverlappingRouteArrayOutput) Index(i pulumi.IntInput) TgRouteReportOverlappingRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TgRouteReportOverlappingRoute { + return vs[0].([]TgRouteReportOverlappingRoute)[vs[1].(int)] + }).(TgRouteReportOverlappingRouteOutput) +} + +type TgRouteReportOverlappingRouteRoute struct { + ConnectionId *string `pulumi:"connectionId"` + Prefix *string `pulumi:"prefix"` +} + +// TgRouteReportOverlappingRouteRouteInput is an input type that accepts TgRouteReportOverlappingRouteRouteArgs and TgRouteReportOverlappingRouteRouteOutput values. +// You can construct a concrete instance of `TgRouteReportOverlappingRouteRouteInput` via: +// +// TgRouteReportOverlappingRouteRouteArgs{...} +type TgRouteReportOverlappingRouteRouteInput interface { + pulumi.Input + + ToTgRouteReportOverlappingRouteRouteOutput() TgRouteReportOverlappingRouteRouteOutput + ToTgRouteReportOverlappingRouteRouteOutputWithContext(context.Context) TgRouteReportOverlappingRouteRouteOutput +} + +type TgRouteReportOverlappingRouteRouteArgs struct { + ConnectionId pulumi.StringPtrInput `pulumi:"connectionId"` + Prefix pulumi.StringPtrInput `pulumi:"prefix"` +} + +func (TgRouteReportOverlappingRouteRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (i TgRouteReportOverlappingRouteRouteArgs) ToTgRouteReportOverlappingRouteRouteOutput() TgRouteReportOverlappingRouteRouteOutput { + return i.ToTgRouteReportOverlappingRouteRouteOutputWithContext(context.Background()) +} + +func (i TgRouteReportOverlappingRouteRouteArgs) ToTgRouteReportOverlappingRouteRouteOutputWithContext(ctx context.Context) TgRouteReportOverlappingRouteRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportOverlappingRouteRouteOutput) +} + +// TgRouteReportOverlappingRouteRouteArrayInput is an input type that accepts TgRouteReportOverlappingRouteRouteArray and TgRouteReportOverlappingRouteRouteArrayOutput values. +// You can construct a concrete instance of `TgRouteReportOverlappingRouteRouteArrayInput` via: +// +// TgRouteReportOverlappingRouteRouteArray{ TgRouteReportOverlappingRouteRouteArgs{...} } +type TgRouteReportOverlappingRouteRouteArrayInput interface { + pulumi.Input + + ToTgRouteReportOverlappingRouteRouteArrayOutput() TgRouteReportOverlappingRouteRouteArrayOutput + ToTgRouteReportOverlappingRouteRouteArrayOutputWithContext(context.Context) TgRouteReportOverlappingRouteRouteArrayOutput +} + +type TgRouteReportOverlappingRouteRouteArray []TgRouteReportOverlappingRouteRouteInput + +func (TgRouteReportOverlappingRouteRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (i TgRouteReportOverlappingRouteRouteArray) ToTgRouteReportOverlappingRouteRouteArrayOutput() TgRouteReportOverlappingRouteRouteArrayOutput { + return i.ToTgRouteReportOverlappingRouteRouteArrayOutputWithContext(context.Background()) +} + +func (i TgRouteReportOverlappingRouteRouteArray) ToTgRouteReportOverlappingRouteRouteArrayOutputWithContext(ctx context.Context) TgRouteReportOverlappingRouteRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportOverlappingRouteRouteArrayOutput) +} + +type TgRouteReportOverlappingRouteRouteOutput struct{ *pulumi.OutputState } + +func (TgRouteReportOverlappingRouteRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TgRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (o TgRouteReportOverlappingRouteRouteOutput) ToTgRouteReportOverlappingRouteRouteOutput() TgRouteReportOverlappingRouteRouteOutput { + return o +} + +func (o TgRouteReportOverlappingRouteRouteOutput) ToTgRouteReportOverlappingRouteRouteOutputWithContext(ctx context.Context) TgRouteReportOverlappingRouteRouteOutput { + return o +} + +func (o TgRouteReportOverlappingRouteRouteOutput) ConnectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportOverlappingRouteRoute) *string { return v.ConnectionId }).(pulumi.StringPtrOutput) +} + +func (o TgRouteReportOverlappingRouteRouteOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v TgRouteReportOverlappingRouteRoute) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +type TgRouteReportOverlappingRouteRouteArrayOutput struct{ *pulumi.OutputState } + +func (TgRouteReportOverlappingRouteRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TgRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (o TgRouteReportOverlappingRouteRouteArrayOutput) ToTgRouteReportOverlappingRouteRouteArrayOutput() TgRouteReportOverlappingRouteRouteArrayOutput { + return o +} + +func (o TgRouteReportOverlappingRouteRouteArrayOutput) ToTgRouteReportOverlappingRouteRouteArrayOutputWithContext(ctx context.Context) TgRouteReportOverlappingRouteRouteArrayOutput { + return o +} + +func (o TgRouteReportOverlappingRouteRouteArrayOutput) Index(i pulumi.IntInput) TgRouteReportOverlappingRouteRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TgRouteReportOverlappingRouteRoute { + return vs[0].([]TgRouteReportOverlappingRouteRoute)[vs[1].(int)] + }).(TgRouteReportOverlappingRouteRouteOutput) +} + +type GetComputePlacementGroupVirtualGuest struct { + Domain string `pulumi:"domain"` + Hostname string `pulumi:"hostname"` + Id int `pulumi:"id"` +} + +// GetComputePlacementGroupVirtualGuestInput is an input type that accepts GetComputePlacementGroupVirtualGuestArgs and GetComputePlacementGroupVirtualGuestOutput values. +// You can construct a concrete instance of `GetComputePlacementGroupVirtualGuestInput` via: +// +// GetComputePlacementGroupVirtualGuestArgs{...} +type GetComputePlacementGroupVirtualGuestInput interface { + pulumi.Input + + ToGetComputePlacementGroupVirtualGuestOutput() GetComputePlacementGroupVirtualGuestOutput + ToGetComputePlacementGroupVirtualGuestOutputWithContext(context.Context) GetComputePlacementGroupVirtualGuestOutput +} + +type GetComputePlacementGroupVirtualGuestArgs struct { + Domain pulumi.StringInput `pulumi:"domain"` + Hostname pulumi.StringInput `pulumi:"hostname"` + Id pulumi.IntInput `pulumi:"id"` +} + +func (GetComputePlacementGroupVirtualGuestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetComputePlacementGroupVirtualGuest)(nil)).Elem() +} + +func (i GetComputePlacementGroupVirtualGuestArgs) ToGetComputePlacementGroupVirtualGuestOutput() GetComputePlacementGroupVirtualGuestOutput { + return i.ToGetComputePlacementGroupVirtualGuestOutputWithContext(context.Background()) +} + +func (i GetComputePlacementGroupVirtualGuestArgs) ToGetComputePlacementGroupVirtualGuestOutputWithContext(ctx context.Context) GetComputePlacementGroupVirtualGuestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetComputePlacementGroupVirtualGuestOutput) +} + +// GetComputePlacementGroupVirtualGuestArrayInput is an input type that accepts GetComputePlacementGroupVirtualGuestArray and GetComputePlacementGroupVirtualGuestArrayOutput values. +// You can construct a concrete instance of `GetComputePlacementGroupVirtualGuestArrayInput` via: +// +// GetComputePlacementGroupVirtualGuestArray{ GetComputePlacementGroupVirtualGuestArgs{...} } +type GetComputePlacementGroupVirtualGuestArrayInput interface { + pulumi.Input + + ToGetComputePlacementGroupVirtualGuestArrayOutput() GetComputePlacementGroupVirtualGuestArrayOutput + ToGetComputePlacementGroupVirtualGuestArrayOutputWithContext(context.Context) GetComputePlacementGroupVirtualGuestArrayOutput +} + +type GetComputePlacementGroupVirtualGuestArray []GetComputePlacementGroupVirtualGuestInput + +func (GetComputePlacementGroupVirtualGuestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetComputePlacementGroupVirtualGuest)(nil)).Elem() +} + +func (i GetComputePlacementGroupVirtualGuestArray) ToGetComputePlacementGroupVirtualGuestArrayOutput() GetComputePlacementGroupVirtualGuestArrayOutput { + return i.ToGetComputePlacementGroupVirtualGuestArrayOutputWithContext(context.Background()) +} + +func (i GetComputePlacementGroupVirtualGuestArray) ToGetComputePlacementGroupVirtualGuestArrayOutputWithContext(ctx context.Context) GetComputePlacementGroupVirtualGuestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetComputePlacementGroupVirtualGuestArrayOutput) +} + +type GetComputePlacementGroupVirtualGuestOutput struct{ *pulumi.OutputState } + +func (GetComputePlacementGroupVirtualGuestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetComputePlacementGroupVirtualGuest)(nil)).Elem() +} + +func (o GetComputePlacementGroupVirtualGuestOutput) ToGetComputePlacementGroupVirtualGuestOutput() GetComputePlacementGroupVirtualGuestOutput { + return o +} + +func (o GetComputePlacementGroupVirtualGuestOutput) ToGetComputePlacementGroupVirtualGuestOutputWithContext(ctx context.Context) GetComputePlacementGroupVirtualGuestOutput { + return o +} + +func (o GetComputePlacementGroupVirtualGuestOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v GetComputePlacementGroupVirtualGuest) string { return v.Domain }).(pulumi.StringOutput) +} + +func (o GetComputePlacementGroupVirtualGuestOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v GetComputePlacementGroupVirtualGuest) string { return v.Hostname }).(pulumi.StringOutput) +} + +func (o GetComputePlacementGroupVirtualGuestOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetComputePlacementGroupVirtualGuest) int { return v.Id }).(pulumi.IntOutput) +} + +type GetComputePlacementGroupVirtualGuestArrayOutput struct{ *pulumi.OutputState } + +func (GetComputePlacementGroupVirtualGuestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetComputePlacementGroupVirtualGuest)(nil)).Elem() +} + +func (o GetComputePlacementGroupVirtualGuestArrayOutput) ToGetComputePlacementGroupVirtualGuestArrayOutput() GetComputePlacementGroupVirtualGuestArrayOutput { + return o +} + +func (o GetComputePlacementGroupVirtualGuestArrayOutput) ToGetComputePlacementGroupVirtualGuestArrayOutputWithContext(ctx context.Context) GetComputePlacementGroupVirtualGuestArrayOutput { + return o +} + +func (o GetComputePlacementGroupVirtualGuestArrayOutput) Index(i pulumi.IntInput) GetComputePlacementGroupVirtualGuestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetComputePlacementGroupVirtualGuest { + return vs[0].([]GetComputePlacementGroupVirtualGuest)[vs[1].(int)] + }).(GetComputePlacementGroupVirtualGuestOutput) +} + +type GetComputeReservedCapacityVirtualGuest struct { + Domain string `pulumi:"domain"` + Hostname string `pulumi:"hostname"` + Id int `pulumi:"id"` +} + +// GetComputeReservedCapacityVirtualGuestInput is an input type that accepts GetComputeReservedCapacityVirtualGuestArgs and GetComputeReservedCapacityVirtualGuestOutput values. +// You can construct a concrete instance of `GetComputeReservedCapacityVirtualGuestInput` via: +// +// GetComputeReservedCapacityVirtualGuestArgs{...} +type GetComputeReservedCapacityVirtualGuestInput interface { + pulumi.Input + + ToGetComputeReservedCapacityVirtualGuestOutput() GetComputeReservedCapacityVirtualGuestOutput + ToGetComputeReservedCapacityVirtualGuestOutputWithContext(context.Context) GetComputeReservedCapacityVirtualGuestOutput +} + +type GetComputeReservedCapacityVirtualGuestArgs struct { + Domain pulumi.StringInput `pulumi:"domain"` + Hostname pulumi.StringInput `pulumi:"hostname"` + Id pulumi.IntInput `pulumi:"id"` +} + +func (GetComputeReservedCapacityVirtualGuestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetComputeReservedCapacityVirtualGuest)(nil)).Elem() +} + +func (i GetComputeReservedCapacityVirtualGuestArgs) ToGetComputeReservedCapacityVirtualGuestOutput() GetComputeReservedCapacityVirtualGuestOutput { + return i.ToGetComputeReservedCapacityVirtualGuestOutputWithContext(context.Background()) +} + +func (i GetComputeReservedCapacityVirtualGuestArgs) ToGetComputeReservedCapacityVirtualGuestOutputWithContext(ctx context.Context) GetComputeReservedCapacityVirtualGuestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetComputeReservedCapacityVirtualGuestOutput) +} + +// GetComputeReservedCapacityVirtualGuestArrayInput is an input type that accepts GetComputeReservedCapacityVirtualGuestArray and GetComputeReservedCapacityVirtualGuestArrayOutput values. +// You can construct a concrete instance of `GetComputeReservedCapacityVirtualGuestArrayInput` via: +// +// GetComputeReservedCapacityVirtualGuestArray{ GetComputeReservedCapacityVirtualGuestArgs{...} } +type GetComputeReservedCapacityVirtualGuestArrayInput interface { + pulumi.Input + + ToGetComputeReservedCapacityVirtualGuestArrayOutput() GetComputeReservedCapacityVirtualGuestArrayOutput + ToGetComputeReservedCapacityVirtualGuestArrayOutputWithContext(context.Context) GetComputeReservedCapacityVirtualGuestArrayOutput +} + +type GetComputeReservedCapacityVirtualGuestArray []GetComputeReservedCapacityVirtualGuestInput + +func (GetComputeReservedCapacityVirtualGuestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetComputeReservedCapacityVirtualGuest)(nil)).Elem() +} + +func (i GetComputeReservedCapacityVirtualGuestArray) ToGetComputeReservedCapacityVirtualGuestArrayOutput() GetComputeReservedCapacityVirtualGuestArrayOutput { + return i.ToGetComputeReservedCapacityVirtualGuestArrayOutputWithContext(context.Background()) +} + +func (i GetComputeReservedCapacityVirtualGuestArray) ToGetComputeReservedCapacityVirtualGuestArrayOutputWithContext(ctx context.Context) GetComputeReservedCapacityVirtualGuestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetComputeReservedCapacityVirtualGuestArrayOutput) +} + +type GetComputeReservedCapacityVirtualGuestOutput struct{ *pulumi.OutputState } + +func (GetComputeReservedCapacityVirtualGuestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetComputeReservedCapacityVirtualGuest)(nil)).Elem() +} + +func (o GetComputeReservedCapacityVirtualGuestOutput) ToGetComputeReservedCapacityVirtualGuestOutput() GetComputeReservedCapacityVirtualGuestOutput { + return o +} + +func (o GetComputeReservedCapacityVirtualGuestOutput) ToGetComputeReservedCapacityVirtualGuestOutputWithContext(ctx context.Context) GetComputeReservedCapacityVirtualGuestOutput { + return o +} + +func (o GetComputeReservedCapacityVirtualGuestOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v GetComputeReservedCapacityVirtualGuest) string { return v.Domain }).(pulumi.StringOutput) +} + +func (o GetComputeReservedCapacityVirtualGuestOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v GetComputeReservedCapacityVirtualGuest) string { return v.Hostname }).(pulumi.StringOutput) +} + +func (o GetComputeReservedCapacityVirtualGuestOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetComputeReservedCapacityVirtualGuest) int { return v.Id }).(pulumi.IntOutput) +} + +type GetComputeReservedCapacityVirtualGuestArrayOutput struct{ *pulumi.OutputState } + +func (GetComputeReservedCapacityVirtualGuestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetComputeReservedCapacityVirtualGuest)(nil)).Elem() +} + +func (o GetComputeReservedCapacityVirtualGuestArrayOutput) ToGetComputeReservedCapacityVirtualGuestArrayOutput() GetComputeReservedCapacityVirtualGuestArrayOutput { + return o +} + +func (o GetComputeReservedCapacityVirtualGuestArrayOutput) ToGetComputeReservedCapacityVirtualGuestArrayOutputWithContext(ctx context.Context) GetComputeReservedCapacityVirtualGuestArrayOutput { + return o +} + +func (o GetComputeReservedCapacityVirtualGuestArrayOutput) Index(i pulumi.IntInput) GetComputeReservedCapacityVirtualGuestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetComputeReservedCapacityVirtualGuest { + return vs[0].([]GetComputeReservedCapacityVirtualGuest)[vs[1].(int)] + }).(GetComputeReservedCapacityVirtualGuestOutput) +} + +type GetCosBucketAbortIncompleteMultipartUploadDay struct { + // Specifies the number of days when the specific rule action takes effect. + DaysAfterInitiation int `pulumi:"daysAfterInitiation"` + // Enable or disable rule for a bucket + Enable bool `pulumi:"enable"` + // The rule applies to any objects with keys that match this prefix + Prefix string `pulumi:"prefix"` + // Unique identifier for the rule. Rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId string `pulumi:"ruleId"` +} + +// GetCosBucketAbortIncompleteMultipartUploadDayInput is an input type that accepts GetCosBucketAbortIncompleteMultipartUploadDayArgs and GetCosBucketAbortIncompleteMultipartUploadDayOutput values. +// You can construct a concrete instance of `GetCosBucketAbortIncompleteMultipartUploadDayInput` via: +// +// GetCosBucketAbortIncompleteMultipartUploadDayArgs{...} +type GetCosBucketAbortIncompleteMultipartUploadDayInput interface { + pulumi.Input + + ToGetCosBucketAbortIncompleteMultipartUploadDayOutput() GetCosBucketAbortIncompleteMultipartUploadDayOutput + ToGetCosBucketAbortIncompleteMultipartUploadDayOutputWithContext(context.Context) GetCosBucketAbortIncompleteMultipartUploadDayOutput +} + +type GetCosBucketAbortIncompleteMultipartUploadDayArgs struct { + // Specifies the number of days when the specific rule action takes effect. + DaysAfterInitiation pulumi.IntInput `pulumi:"daysAfterInitiation"` + // Enable or disable rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // The rule applies to any objects with keys that match this prefix + Prefix pulumi.StringInput `pulumi:"prefix"` + // Unique identifier for the rule. Rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId pulumi.StringInput `pulumi:"ruleId"` +} + +func (GetCosBucketAbortIncompleteMultipartUploadDayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketAbortIncompleteMultipartUploadDay)(nil)).Elem() +} + +func (i GetCosBucketAbortIncompleteMultipartUploadDayArgs) ToGetCosBucketAbortIncompleteMultipartUploadDayOutput() GetCosBucketAbortIncompleteMultipartUploadDayOutput { + return i.ToGetCosBucketAbortIncompleteMultipartUploadDayOutputWithContext(context.Background()) +} + +func (i GetCosBucketAbortIncompleteMultipartUploadDayArgs) ToGetCosBucketAbortIncompleteMultipartUploadDayOutputWithContext(ctx context.Context) GetCosBucketAbortIncompleteMultipartUploadDayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketAbortIncompleteMultipartUploadDayOutput) +} + +// GetCosBucketAbortIncompleteMultipartUploadDayArrayInput is an input type that accepts GetCosBucketAbortIncompleteMultipartUploadDayArray and GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput values. +// You can construct a concrete instance of `GetCosBucketAbortIncompleteMultipartUploadDayArrayInput` via: +// +// GetCosBucketAbortIncompleteMultipartUploadDayArray{ GetCosBucketAbortIncompleteMultipartUploadDayArgs{...} } +type GetCosBucketAbortIncompleteMultipartUploadDayArrayInput interface { + pulumi.Input + + ToGetCosBucketAbortIncompleteMultipartUploadDayArrayOutput() GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput + ToGetCosBucketAbortIncompleteMultipartUploadDayArrayOutputWithContext(context.Context) GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput +} + +type GetCosBucketAbortIncompleteMultipartUploadDayArray []GetCosBucketAbortIncompleteMultipartUploadDayInput + +func (GetCosBucketAbortIncompleteMultipartUploadDayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketAbortIncompleteMultipartUploadDay)(nil)).Elem() +} + +func (i GetCosBucketAbortIncompleteMultipartUploadDayArray) ToGetCosBucketAbortIncompleteMultipartUploadDayArrayOutput() GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return i.ToGetCosBucketAbortIncompleteMultipartUploadDayArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketAbortIncompleteMultipartUploadDayArray) ToGetCosBucketAbortIncompleteMultipartUploadDayArrayOutputWithContext(ctx context.Context) GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput) +} + +type GetCosBucketAbortIncompleteMultipartUploadDayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketAbortIncompleteMultipartUploadDayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketAbortIncompleteMultipartUploadDay)(nil)).Elem() +} + +func (o GetCosBucketAbortIncompleteMultipartUploadDayOutput) ToGetCosBucketAbortIncompleteMultipartUploadDayOutput() GetCosBucketAbortIncompleteMultipartUploadDayOutput { + return o +} + +func (o GetCosBucketAbortIncompleteMultipartUploadDayOutput) ToGetCosBucketAbortIncompleteMultipartUploadDayOutputWithContext(ctx context.Context) GetCosBucketAbortIncompleteMultipartUploadDayOutput { + return o +} + +// Specifies the number of days when the specific rule action takes effect. +func (o GetCosBucketAbortIncompleteMultipartUploadDayOutput) DaysAfterInitiation() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketAbortIncompleteMultipartUploadDay) int { return v.DaysAfterInitiation }).(pulumi.IntOutput) +} + +// Enable or disable rule for a bucket +func (o GetCosBucketAbortIncompleteMultipartUploadDayOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketAbortIncompleteMultipartUploadDay) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o GetCosBucketAbortIncompleteMultipartUploadDayOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketAbortIncompleteMultipartUploadDay) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Unique identifier for the rule. Rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket +func (o GetCosBucketAbortIncompleteMultipartUploadDayOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketAbortIncompleteMultipartUploadDay) string { return v.RuleId }).(pulumi.StringOutput) +} + +type GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketAbortIncompleteMultipartUploadDay)(nil)).Elem() +} + +func (o GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput) ToGetCosBucketAbortIncompleteMultipartUploadDayArrayOutput() GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return o +} + +func (o GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput) ToGetCosBucketAbortIncompleteMultipartUploadDayArrayOutputWithContext(ctx context.Context) GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput { + return o +} + +func (o GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput) Index(i pulumi.IntInput) GetCosBucketAbortIncompleteMultipartUploadDayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketAbortIncompleteMultipartUploadDay { + return vs[0].([]GetCosBucketAbortIncompleteMultipartUploadDay)[vs[1].(int)] + }).(GetCosBucketAbortIncompleteMultipartUploadDayOutput) +} + +type GetCosBucketActivityTracking struct { + // When the `activityTrackerCrn` is not populated, then enabled events are sent to the Activity Tracker instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration.If `activityTrackerCrn` is populated, then enabled events are sent to the Activity Tracker instance specified and bucket management events are always enabled. + ActivityTrackerCrn string `pulumi:"activityTrackerCrn"` + // This field only applies if `activityTrackerCrn` is not populated. If set to true, all bucket management events will be sent to Activity Tracker. + ManagementEvents bool `pulumi:"managementEvents"` + // If set to true, all object read events (i.e. downloads) will be sent to Activity Tracker. + ReadDataEvents bool `pulumi:"readDataEvents"` + // If set to true, all object write events (i.e. uploads) will be sent to Activity Tracker. + WriteDataEvents bool `pulumi:"writeDataEvents"` +} + +// GetCosBucketActivityTrackingInput is an input type that accepts GetCosBucketActivityTrackingArgs and GetCosBucketActivityTrackingOutput values. +// You can construct a concrete instance of `GetCosBucketActivityTrackingInput` via: +// +// GetCosBucketActivityTrackingArgs{...} +type GetCosBucketActivityTrackingInput interface { + pulumi.Input + + ToGetCosBucketActivityTrackingOutput() GetCosBucketActivityTrackingOutput + ToGetCosBucketActivityTrackingOutputWithContext(context.Context) GetCosBucketActivityTrackingOutput +} + +type GetCosBucketActivityTrackingArgs struct { + // When the `activityTrackerCrn` is not populated, then enabled events are sent to the Activity Tracker instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration.If `activityTrackerCrn` is populated, then enabled events are sent to the Activity Tracker instance specified and bucket management events are always enabled. + ActivityTrackerCrn pulumi.StringInput `pulumi:"activityTrackerCrn"` + // This field only applies if `activityTrackerCrn` is not populated. If set to true, all bucket management events will be sent to Activity Tracker. + ManagementEvents pulumi.BoolInput `pulumi:"managementEvents"` + // If set to true, all object read events (i.e. downloads) will be sent to Activity Tracker. + ReadDataEvents pulumi.BoolInput `pulumi:"readDataEvents"` + // If set to true, all object write events (i.e. uploads) will be sent to Activity Tracker. + WriteDataEvents pulumi.BoolInput `pulumi:"writeDataEvents"` +} + +func (GetCosBucketActivityTrackingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketActivityTracking)(nil)).Elem() +} + +func (i GetCosBucketActivityTrackingArgs) ToGetCosBucketActivityTrackingOutput() GetCosBucketActivityTrackingOutput { + return i.ToGetCosBucketActivityTrackingOutputWithContext(context.Background()) +} + +func (i GetCosBucketActivityTrackingArgs) ToGetCosBucketActivityTrackingOutputWithContext(ctx context.Context) GetCosBucketActivityTrackingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketActivityTrackingOutput) +} + +// GetCosBucketActivityTrackingArrayInput is an input type that accepts GetCosBucketActivityTrackingArray and GetCosBucketActivityTrackingArrayOutput values. +// You can construct a concrete instance of `GetCosBucketActivityTrackingArrayInput` via: +// +// GetCosBucketActivityTrackingArray{ GetCosBucketActivityTrackingArgs{...} } +type GetCosBucketActivityTrackingArrayInput interface { + pulumi.Input + + ToGetCosBucketActivityTrackingArrayOutput() GetCosBucketActivityTrackingArrayOutput + ToGetCosBucketActivityTrackingArrayOutputWithContext(context.Context) GetCosBucketActivityTrackingArrayOutput +} + +type GetCosBucketActivityTrackingArray []GetCosBucketActivityTrackingInput + +func (GetCosBucketActivityTrackingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketActivityTracking)(nil)).Elem() +} + +func (i GetCosBucketActivityTrackingArray) ToGetCosBucketActivityTrackingArrayOutput() GetCosBucketActivityTrackingArrayOutput { + return i.ToGetCosBucketActivityTrackingArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketActivityTrackingArray) ToGetCosBucketActivityTrackingArrayOutputWithContext(ctx context.Context) GetCosBucketActivityTrackingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketActivityTrackingArrayOutput) +} + +type GetCosBucketActivityTrackingOutput struct{ *pulumi.OutputState } + +func (GetCosBucketActivityTrackingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketActivityTracking)(nil)).Elem() +} + +func (o GetCosBucketActivityTrackingOutput) ToGetCosBucketActivityTrackingOutput() GetCosBucketActivityTrackingOutput { + return o +} + +func (o GetCosBucketActivityTrackingOutput) ToGetCosBucketActivityTrackingOutputWithContext(ctx context.Context) GetCosBucketActivityTrackingOutput { + return o +} + +// When the `activityTrackerCrn` is not populated, then enabled events are sent to the Activity Tracker instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration.If `activityTrackerCrn` is populated, then enabled events are sent to the Activity Tracker instance specified and bucket management events are always enabled. +func (o GetCosBucketActivityTrackingOutput) ActivityTrackerCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketActivityTracking) string { return v.ActivityTrackerCrn }).(pulumi.StringOutput) +} + +// This field only applies if `activityTrackerCrn` is not populated. If set to true, all bucket management events will be sent to Activity Tracker. +func (o GetCosBucketActivityTrackingOutput) ManagementEvents() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketActivityTracking) bool { return v.ManagementEvents }).(pulumi.BoolOutput) +} + +// If set to true, all object read events (i.e. downloads) will be sent to Activity Tracker. +func (o GetCosBucketActivityTrackingOutput) ReadDataEvents() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketActivityTracking) bool { return v.ReadDataEvents }).(pulumi.BoolOutput) +} + +// If set to true, all object write events (i.e. uploads) will be sent to Activity Tracker. +func (o GetCosBucketActivityTrackingOutput) WriteDataEvents() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketActivityTracking) bool { return v.WriteDataEvents }).(pulumi.BoolOutput) +} + +type GetCosBucketActivityTrackingArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketActivityTrackingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketActivityTracking)(nil)).Elem() +} + +func (o GetCosBucketActivityTrackingArrayOutput) ToGetCosBucketActivityTrackingArrayOutput() GetCosBucketActivityTrackingArrayOutput { + return o +} + +func (o GetCosBucketActivityTrackingArrayOutput) ToGetCosBucketActivityTrackingArrayOutputWithContext(ctx context.Context) GetCosBucketActivityTrackingArrayOutput { + return o +} + +func (o GetCosBucketActivityTrackingArrayOutput) Index(i pulumi.IntInput) GetCosBucketActivityTrackingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketActivityTracking { + return vs[0].([]GetCosBucketActivityTracking)[vs[1].(int)] + }).(GetCosBucketActivityTrackingOutput) +} + +type GetCosBucketArchiveRule struct { + Days int `pulumi:"days"` + // Enable or disable an archive rule for a bucket + Enable bool `pulumi:"enable"` + RuleId string `pulumi:"ruleId"` + Type string `pulumi:"type"` +} + +// GetCosBucketArchiveRuleInput is an input type that accepts GetCosBucketArchiveRuleArgs and GetCosBucketArchiveRuleOutput values. +// You can construct a concrete instance of `GetCosBucketArchiveRuleInput` via: +// +// GetCosBucketArchiveRuleArgs{...} +type GetCosBucketArchiveRuleInput interface { + pulumi.Input + + ToGetCosBucketArchiveRuleOutput() GetCosBucketArchiveRuleOutput + ToGetCosBucketArchiveRuleOutputWithContext(context.Context) GetCosBucketArchiveRuleOutput +} + +type GetCosBucketArchiveRuleArgs struct { + Days pulumi.IntInput `pulumi:"days"` + // Enable or disable an archive rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + RuleId pulumi.StringInput `pulumi:"ruleId"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetCosBucketArchiveRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketArchiveRule)(nil)).Elem() +} + +func (i GetCosBucketArchiveRuleArgs) ToGetCosBucketArchiveRuleOutput() GetCosBucketArchiveRuleOutput { + return i.ToGetCosBucketArchiveRuleOutputWithContext(context.Background()) +} + +func (i GetCosBucketArchiveRuleArgs) ToGetCosBucketArchiveRuleOutputWithContext(ctx context.Context) GetCosBucketArchiveRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketArchiveRuleOutput) +} + +// GetCosBucketArchiveRuleArrayInput is an input type that accepts GetCosBucketArchiveRuleArray and GetCosBucketArchiveRuleArrayOutput values. +// You can construct a concrete instance of `GetCosBucketArchiveRuleArrayInput` via: +// +// GetCosBucketArchiveRuleArray{ GetCosBucketArchiveRuleArgs{...} } +type GetCosBucketArchiveRuleArrayInput interface { + pulumi.Input + + ToGetCosBucketArchiveRuleArrayOutput() GetCosBucketArchiveRuleArrayOutput + ToGetCosBucketArchiveRuleArrayOutputWithContext(context.Context) GetCosBucketArchiveRuleArrayOutput +} + +type GetCosBucketArchiveRuleArray []GetCosBucketArchiveRuleInput + +func (GetCosBucketArchiveRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketArchiveRule)(nil)).Elem() +} + +func (i GetCosBucketArchiveRuleArray) ToGetCosBucketArchiveRuleArrayOutput() GetCosBucketArchiveRuleArrayOutput { + return i.ToGetCosBucketArchiveRuleArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketArchiveRuleArray) ToGetCosBucketArchiveRuleArrayOutputWithContext(ctx context.Context) GetCosBucketArchiveRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketArchiveRuleArrayOutput) +} + +type GetCosBucketArchiveRuleOutput struct{ *pulumi.OutputState } + +func (GetCosBucketArchiveRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketArchiveRule)(nil)).Elem() +} + +func (o GetCosBucketArchiveRuleOutput) ToGetCosBucketArchiveRuleOutput() GetCosBucketArchiveRuleOutput { + return o +} + +func (o GetCosBucketArchiveRuleOutput) ToGetCosBucketArchiveRuleOutputWithContext(ctx context.Context) GetCosBucketArchiveRuleOutput { + return o +} + +func (o GetCosBucketArchiveRuleOutput) Days() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketArchiveRule) int { return v.Days }).(pulumi.IntOutput) +} + +// Enable or disable an archive rule for a bucket +func (o GetCosBucketArchiveRuleOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketArchiveRule) bool { return v.Enable }).(pulumi.BoolOutput) +} + +func (o GetCosBucketArchiveRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketArchiveRule) string { return v.RuleId }).(pulumi.StringOutput) +} + +func (o GetCosBucketArchiveRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketArchiveRule) string { return v.Type }).(pulumi.StringOutput) +} + +type GetCosBucketArchiveRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketArchiveRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketArchiveRule)(nil)).Elem() +} + +func (o GetCosBucketArchiveRuleArrayOutput) ToGetCosBucketArchiveRuleArrayOutput() GetCosBucketArchiveRuleArrayOutput { + return o +} + +func (o GetCosBucketArchiveRuleArrayOutput) ToGetCosBucketArchiveRuleArrayOutputWithContext(ctx context.Context) GetCosBucketArchiveRuleArrayOutput { + return o +} + +func (o GetCosBucketArchiveRuleArrayOutput) Index(i pulumi.IntInput) GetCosBucketArchiveRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketArchiveRule { + return vs[0].([]GetCosBucketArchiveRule)[vs[1].(int)] + }).(GetCosBucketArchiveRuleOutput) +} + +type GetCosBucketExpireRule struct { + // Specifies the date when the specific rule action takes effect. + Date string `pulumi:"date"` + // Specifies the number of days when the specific rule action takes effect. + Days int `pulumi:"days"` + // Enable or disable an archive rule for a bucket + Enable bool `pulumi:"enable"` + // Expired object delete markers can be automatically cleaned up to improve performance in bucket. This cannot be used alongside version expiration. + ExpiredObjectDeleteMarker bool `pulumi:"expiredObjectDeleteMarker"` + // The rule applies to any objects with keys that match this prefix + Prefix string `pulumi:"prefix"` + RuleId string `pulumi:"ruleId"` +} + +// GetCosBucketExpireRuleInput is an input type that accepts GetCosBucketExpireRuleArgs and GetCosBucketExpireRuleOutput values. +// You can construct a concrete instance of `GetCosBucketExpireRuleInput` via: +// +// GetCosBucketExpireRuleArgs{...} +type GetCosBucketExpireRuleInput interface { + pulumi.Input + + ToGetCosBucketExpireRuleOutput() GetCosBucketExpireRuleOutput + ToGetCosBucketExpireRuleOutputWithContext(context.Context) GetCosBucketExpireRuleOutput +} + +type GetCosBucketExpireRuleArgs struct { + // Specifies the date when the specific rule action takes effect. + Date pulumi.StringInput `pulumi:"date"` + // Specifies the number of days when the specific rule action takes effect. + Days pulumi.IntInput `pulumi:"days"` + // Enable or disable an archive rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // Expired object delete markers can be automatically cleaned up to improve performance in bucket. This cannot be used alongside version expiration. + ExpiredObjectDeleteMarker pulumi.BoolInput `pulumi:"expiredObjectDeleteMarker"` + // The rule applies to any objects with keys that match this prefix + Prefix pulumi.StringInput `pulumi:"prefix"` + RuleId pulumi.StringInput `pulumi:"ruleId"` +} + +func (GetCosBucketExpireRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketExpireRule)(nil)).Elem() +} + +func (i GetCosBucketExpireRuleArgs) ToGetCosBucketExpireRuleOutput() GetCosBucketExpireRuleOutput { + return i.ToGetCosBucketExpireRuleOutputWithContext(context.Background()) +} + +func (i GetCosBucketExpireRuleArgs) ToGetCosBucketExpireRuleOutputWithContext(ctx context.Context) GetCosBucketExpireRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketExpireRuleOutput) +} + +// GetCosBucketExpireRuleArrayInput is an input type that accepts GetCosBucketExpireRuleArray and GetCosBucketExpireRuleArrayOutput values. +// You can construct a concrete instance of `GetCosBucketExpireRuleArrayInput` via: +// +// GetCosBucketExpireRuleArray{ GetCosBucketExpireRuleArgs{...} } +type GetCosBucketExpireRuleArrayInput interface { + pulumi.Input + + ToGetCosBucketExpireRuleArrayOutput() GetCosBucketExpireRuleArrayOutput + ToGetCosBucketExpireRuleArrayOutputWithContext(context.Context) GetCosBucketExpireRuleArrayOutput +} + +type GetCosBucketExpireRuleArray []GetCosBucketExpireRuleInput + +func (GetCosBucketExpireRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketExpireRule)(nil)).Elem() +} + +func (i GetCosBucketExpireRuleArray) ToGetCosBucketExpireRuleArrayOutput() GetCosBucketExpireRuleArrayOutput { + return i.ToGetCosBucketExpireRuleArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketExpireRuleArray) ToGetCosBucketExpireRuleArrayOutputWithContext(ctx context.Context) GetCosBucketExpireRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketExpireRuleArrayOutput) +} + +type GetCosBucketExpireRuleOutput struct{ *pulumi.OutputState } + +func (GetCosBucketExpireRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketExpireRule)(nil)).Elem() +} + +func (o GetCosBucketExpireRuleOutput) ToGetCosBucketExpireRuleOutput() GetCosBucketExpireRuleOutput { + return o +} + +func (o GetCosBucketExpireRuleOutput) ToGetCosBucketExpireRuleOutputWithContext(ctx context.Context) GetCosBucketExpireRuleOutput { + return o +} + +// Specifies the date when the specific rule action takes effect. +func (o GetCosBucketExpireRuleOutput) Date() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketExpireRule) string { return v.Date }).(pulumi.StringOutput) +} + +// Specifies the number of days when the specific rule action takes effect. +func (o GetCosBucketExpireRuleOutput) Days() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketExpireRule) int { return v.Days }).(pulumi.IntOutput) +} + +// Enable or disable an archive rule for a bucket +func (o GetCosBucketExpireRuleOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketExpireRule) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// Expired object delete markers can be automatically cleaned up to improve performance in bucket. This cannot be used alongside version expiration. +func (o GetCosBucketExpireRuleOutput) ExpiredObjectDeleteMarker() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketExpireRule) bool { return v.ExpiredObjectDeleteMarker }).(pulumi.BoolOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o GetCosBucketExpireRuleOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketExpireRule) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetCosBucketExpireRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketExpireRule) string { return v.RuleId }).(pulumi.StringOutput) +} + +type GetCosBucketExpireRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketExpireRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketExpireRule)(nil)).Elem() +} + +func (o GetCosBucketExpireRuleArrayOutput) ToGetCosBucketExpireRuleArrayOutput() GetCosBucketExpireRuleArrayOutput { + return o +} + +func (o GetCosBucketExpireRuleArrayOutput) ToGetCosBucketExpireRuleArrayOutputWithContext(ctx context.Context) GetCosBucketExpireRuleArrayOutput { + return o +} + +func (o GetCosBucketExpireRuleArrayOutput) Index(i pulumi.IntInput) GetCosBucketExpireRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketExpireRule { + return vs[0].([]GetCosBucketExpireRule)[vs[1].(int)] + }).(GetCosBucketExpireRuleOutput) +} + +type GetCosBucketLifecycleRule struct { + AbortIncompleteMultipartUploads []GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload `pulumi:"abortIncompleteMultipartUploads"` + Expirations []GetCosBucketLifecycleRuleExpiration `pulumi:"expirations"` + Filters []GetCosBucketLifecycleRuleFilter `pulumi:"filters"` + NoncurrentVersionExpirations []GetCosBucketLifecycleRuleNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpirations"` + RuleId string `pulumi:"ruleId"` + Status string `pulumi:"status"` + Transitions []GetCosBucketLifecycleRuleTransition `pulumi:"transitions"` +} + +// GetCosBucketLifecycleRuleInput is an input type that accepts GetCosBucketLifecycleRuleArgs and GetCosBucketLifecycleRuleOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleInput` via: +// +// GetCosBucketLifecycleRuleArgs{...} +type GetCosBucketLifecycleRuleInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleOutput() GetCosBucketLifecycleRuleOutput + ToGetCosBucketLifecycleRuleOutputWithContext(context.Context) GetCosBucketLifecycleRuleOutput +} + +type GetCosBucketLifecycleRuleArgs struct { + AbortIncompleteMultipartUploads GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayInput `pulumi:"abortIncompleteMultipartUploads"` + Expirations GetCosBucketLifecycleRuleExpirationArrayInput `pulumi:"expirations"` + Filters GetCosBucketLifecycleRuleFilterArrayInput `pulumi:"filters"` + NoncurrentVersionExpirations GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayInput `pulumi:"noncurrentVersionExpirations"` + RuleId pulumi.StringInput `pulumi:"ruleId"` + Status pulumi.StringInput `pulumi:"status"` + Transitions GetCosBucketLifecycleRuleTransitionArrayInput `pulumi:"transitions"` +} + +func (GetCosBucketLifecycleRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRule)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleArgs) ToGetCosBucketLifecycleRuleOutput() GetCosBucketLifecycleRuleOutput { + return i.ToGetCosBucketLifecycleRuleOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleArgs) ToGetCosBucketLifecycleRuleOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleOutput) +} + +// GetCosBucketLifecycleRuleArrayInput is an input type that accepts GetCosBucketLifecycleRuleArray and GetCosBucketLifecycleRuleArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleArrayInput` via: +// +// GetCosBucketLifecycleRuleArray{ GetCosBucketLifecycleRuleArgs{...} } +type GetCosBucketLifecycleRuleArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleArrayOutput() GetCosBucketLifecycleRuleArrayOutput + ToGetCosBucketLifecycleRuleArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleArrayOutput +} + +type GetCosBucketLifecycleRuleArray []GetCosBucketLifecycleRuleInput + +func (GetCosBucketLifecycleRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRule)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleArray) ToGetCosBucketLifecycleRuleArrayOutput() GetCosBucketLifecycleRuleArrayOutput { + return i.ToGetCosBucketLifecycleRuleArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleArray) ToGetCosBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleArrayOutput) +} + +type GetCosBucketLifecycleRuleOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRule)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleOutput) ToGetCosBucketLifecycleRuleOutput() GetCosBucketLifecycleRuleOutput { + return o +} + +func (o GetCosBucketLifecycleRuleOutput) ToGetCosBucketLifecycleRuleOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleOutput { + return o +} + +func (o GetCosBucketLifecycleRuleOutput) AbortIncompleteMultipartUploads() GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRule) []GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload { + return v.AbortIncompleteMultipartUploads + }).(GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput) +} + +func (o GetCosBucketLifecycleRuleOutput) Expirations() GetCosBucketLifecycleRuleExpirationArrayOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRule) []GetCosBucketLifecycleRuleExpiration { return v.Expirations }).(GetCosBucketLifecycleRuleExpirationArrayOutput) +} + +func (o GetCosBucketLifecycleRuleOutput) Filters() GetCosBucketLifecycleRuleFilterArrayOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRule) []GetCosBucketLifecycleRuleFilter { return v.Filters }).(GetCosBucketLifecycleRuleFilterArrayOutput) +} + +func (o GetCosBucketLifecycleRuleOutput) NoncurrentVersionExpirations() GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRule) []GetCosBucketLifecycleRuleNoncurrentVersionExpiration { + return v.NoncurrentVersionExpirations + }).(GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput) +} + +func (o GetCosBucketLifecycleRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRule) string { return v.RuleId }).(pulumi.StringOutput) +} + +func (o GetCosBucketLifecycleRuleOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRule) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetCosBucketLifecycleRuleOutput) Transitions() GetCosBucketLifecycleRuleTransitionArrayOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRule) []GetCosBucketLifecycleRuleTransition { return v.Transitions }).(GetCosBucketLifecycleRuleTransitionArrayOutput) +} + +type GetCosBucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRule)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleArrayOutput) ToGetCosBucketLifecycleRuleArrayOutput() GetCosBucketLifecycleRuleArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleArrayOutput) ToGetCosBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRule { + return vs[0].([]GetCosBucketLifecycleRule)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleOutput) +} + +type GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload struct { + DaysAfterInitiation int `pulumi:"daysAfterInitiation"` +} + +// GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadInput is an input type that accepts GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArgs and GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadInput` via: +// +// GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArgs{...} +type GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput() GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput + ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutputWithContext(context.Context) GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput +} + +type GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArgs struct { + DaysAfterInitiation pulumi.IntInput `pulumi:"daysAfterInitiation"` +} + +func (GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArgs) ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput() GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput { + return i.ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArgs) ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput) +} + +// GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayInput is an input type that accepts GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArray and GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayInput` via: +// +// GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArray{ GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArgs{...} } +type GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput() GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput + ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput +} + +type GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArray []GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadInput + +func (GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArray) ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput() GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput { + return i.ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArray) ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput) +} + +type GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput) ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput() GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput { + return o +} + +func (o GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput) ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput { + return o +} + +func (o GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput) DaysAfterInitiation() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload) int { return v.DaysAfterInitiation }).(pulumi.IntOutput) +} + +type GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput) ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput() GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput) ToGetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload { + return vs[0].([]GetCosBucketLifecycleRuleAbortIncompleteMultipartUpload)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput) +} + +type GetCosBucketLifecycleRuleExpiration struct { + Date string `pulumi:"date"` + Days int `pulumi:"days"` + ExpiredObjectDeleteMarker bool `pulumi:"expiredObjectDeleteMarker"` +} + +// GetCosBucketLifecycleRuleExpirationInput is an input type that accepts GetCosBucketLifecycleRuleExpirationArgs and GetCosBucketLifecycleRuleExpirationOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleExpirationInput` via: +// +// GetCosBucketLifecycleRuleExpirationArgs{...} +type GetCosBucketLifecycleRuleExpirationInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleExpirationOutput() GetCosBucketLifecycleRuleExpirationOutput + ToGetCosBucketLifecycleRuleExpirationOutputWithContext(context.Context) GetCosBucketLifecycleRuleExpirationOutput +} + +type GetCosBucketLifecycleRuleExpirationArgs struct { + Date pulumi.StringInput `pulumi:"date"` + Days pulumi.IntInput `pulumi:"days"` + ExpiredObjectDeleteMarker pulumi.BoolInput `pulumi:"expiredObjectDeleteMarker"` +} + +func (GetCosBucketLifecycleRuleExpirationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleExpiration)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleExpirationArgs) ToGetCosBucketLifecycleRuleExpirationOutput() GetCosBucketLifecycleRuleExpirationOutput { + return i.ToGetCosBucketLifecycleRuleExpirationOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleExpirationArgs) ToGetCosBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleExpirationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleExpirationOutput) +} + +// GetCosBucketLifecycleRuleExpirationArrayInput is an input type that accepts GetCosBucketLifecycleRuleExpirationArray and GetCosBucketLifecycleRuleExpirationArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleExpirationArrayInput` via: +// +// GetCosBucketLifecycleRuleExpirationArray{ GetCosBucketLifecycleRuleExpirationArgs{...} } +type GetCosBucketLifecycleRuleExpirationArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleExpirationArrayOutput() GetCosBucketLifecycleRuleExpirationArrayOutput + ToGetCosBucketLifecycleRuleExpirationArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleExpirationArrayOutput +} + +type GetCosBucketLifecycleRuleExpirationArray []GetCosBucketLifecycleRuleExpirationInput + +func (GetCosBucketLifecycleRuleExpirationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleExpiration)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleExpirationArray) ToGetCosBucketLifecycleRuleExpirationArrayOutput() GetCosBucketLifecycleRuleExpirationArrayOutput { + return i.ToGetCosBucketLifecycleRuleExpirationArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleExpirationArray) ToGetCosBucketLifecycleRuleExpirationArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleExpirationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleExpirationArrayOutput) +} + +type GetCosBucketLifecycleRuleExpirationOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleExpirationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleExpiration)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleExpirationOutput) ToGetCosBucketLifecycleRuleExpirationOutput() GetCosBucketLifecycleRuleExpirationOutput { + return o +} + +func (o GetCosBucketLifecycleRuleExpirationOutput) ToGetCosBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleExpirationOutput { + return o +} + +func (o GetCosBucketLifecycleRuleExpirationOutput) Date() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleExpiration) string { return v.Date }).(pulumi.StringOutput) +} + +func (o GetCosBucketLifecycleRuleExpirationOutput) Days() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleExpiration) int { return v.Days }).(pulumi.IntOutput) +} + +func (o GetCosBucketLifecycleRuleExpirationOutput) ExpiredObjectDeleteMarker() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleExpiration) bool { return v.ExpiredObjectDeleteMarker }).(pulumi.BoolOutput) +} + +type GetCosBucketLifecycleRuleExpirationArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleExpirationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleExpiration)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleExpirationArrayOutput) ToGetCosBucketLifecycleRuleExpirationArrayOutput() GetCosBucketLifecycleRuleExpirationArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleExpirationArrayOutput) ToGetCosBucketLifecycleRuleExpirationArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleExpirationArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleExpirationArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleExpirationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRuleExpiration { + return vs[0].([]GetCosBucketLifecycleRuleExpiration)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleExpirationOutput) +} + +type GetCosBucketLifecycleRuleFilter struct { + Ands []GetCosBucketLifecycleRuleFilterAnd `pulumi:"ands"` + ObjectSizeGreaterThan int `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan int `pulumi:"objectSizeLessThan"` + Prefix string `pulumi:"prefix"` + Tags []GetCosBucketLifecycleRuleFilterTag `pulumi:"tags"` +} + +// GetCosBucketLifecycleRuleFilterInput is an input type that accepts GetCosBucketLifecycleRuleFilterArgs and GetCosBucketLifecycleRuleFilterOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleFilterInput` via: +// +// GetCosBucketLifecycleRuleFilterArgs{...} +type GetCosBucketLifecycleRuleFilterInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleFilterOutput() GetCosBucketLifecycleRuleFilterOutput + ToGetCosBucketLifecycleRuleFilterOutputWithContext(context.Context) GetCosBucketLifecycleRuleFilterOutput +} + +type GetCosBucketLifecycleRuleFilterArgs struct { + Ands GetCosBucketLifecycleRuleFilterAndArrayInput `pulumi:"ands"` + ObjectSizeGreaterThan pulumi.IntInput `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan pulumi.IntInput `pulumi:"objectSizeLessThan"` + Prefix pulumi.StringInput `pulumi:"prefix"` + Tags GetCosBucketLifecycleRuleFilterTagArrayInput `pulumi:"tags"` +} + +func (GetCosBucketLifecycleRuleFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleFilter)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleFilterArgs) ToGetCosBucketLifecycleRuleFilterOutput() GetCosBucketLifecycleRuleFilterOutput { + return i.ToGetCosBucketLifecycleRuleFilterOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleFilterArgs) ToGetCosBucketLifecycleRuleFilterOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleFilterOutput) +} + +// GetCosBucketLifecycleRuleFilterArrayInput is an input type that accepts GetCosBucketLifecycleRuleFilterArray and GetCosBucketLifecycleRuleFilterArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleFilterArrayInput` via: +// +// GetCosBucketLifecycleRuleFilterArray{ GetCosBucketLifecycleRuleFilterArgs{...} } +type GetCosBucketLifecycleRuleFilterArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleFilterArrayOutput() GetCosBucketLifecycleRuleFilterArrayOutput + ToGetCosBucketLifecycleRuleFilterArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleFilterArrayOutput +} + +type GetCosBucketLifecycleRuleFilterArray []GetCosBucketLifecycleRuleFilterInput + +func (GetCosBucketLifecycleRuleFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleFilter)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleFilterArray) ToGetCosBucketLifecycleRuleFilterArrayOutput() GetCosBucketLifecycleRuleFilterArrayOutput { + return i.ToGetCosBucketLifecycleRuleFilterArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleFilterArray) ToGetCosBucketLifecycleRuleFilterArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleFilterArrayOutput) +} + +type GetCosBucketLifecycleRuleFilterOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleFilter)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleFilterOutput) ToGetCosBucketLifecycleRuleFilterOutput() GetCosBucketLifecycleRuleFilterOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterOutput) ToGetCosBucketLifecycleRuleFilterOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterOutput) Ands() GetCosBucketLifecycleRuleFilterAndArrayOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilter) []GetCosBucketLifecycleRuleFilterAnd { return v.Ands }).(GetCosBucketLifecycleRuleFilterAndArrayOutput) +} + +func (o GetCosBucketLifecycleRuleFilterOutput) ObjectSizeGreaterThan() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilter) int { return v.ObjectSizeGreaterThan }).(pulumi.IntOutput) +} + +func (o GetCosBucketLifecycleRuleFilterOutput) ObjectSizeLessThan() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilter) int { return v.ObjectSizeLessThan }).(pulumi.IntOutput) +} + +func (o GetCosBucketLifecycleRuleFilterOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilter) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetCosBucketLifecycleRuleFilterOutput) Tags() GetCosBucketLifecycleRuleFilterTagArrayOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilter) []GetCosBucketLifecycleRuleFilterTag { return v.Tags }).(GetCosBucketLifecycleRuleFilterTagArrayOutput) +} + +type GetCosBucketLifecycleRuleFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleFilter)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleFilterArrayOutput) ToGetCosBucketLifecycleRuleFilterArrayOutput() GetCosBucketLifecycleRuleFilterArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterArrayOutput) ToGetCosBucketLifecycleRuleFilterArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRuleFilter { + return vs[0].([]GetCosBucketLifecycleRuleFilter)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleFilterOutput) +} + +type GetCosBucketLifecycleRuleFilterAnd struct { + ObjectSizeGreaterThan int `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan int `pulumi:"objectSizeLessThan"` + Prefix string `pulumi:"prefix"` + Tags []GetCosBucketLifecycleRuleFilterAndTag `pulumi:"tags"` +} + +// GetCosBucketLifecycleRuleFilterAndInput is an input type that accepts GetCosBucketLifecycleRuleFilterAndArgs and GetCosBucketLifecycleRuleFilterAndOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleFilterAndInput` via: +// +// GetCosBucketLifecycleRuleFilterAndArgs{...} +type GetCosBucketLifecycleRuleFilterAndInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleFilterAndOutput() GetCosBucketLifecycleRuleFilterAndOutput + ToGetCosBucketLifecycleRuleFilterAndOutputWithContext(context.Context) GetCosBucketLifecycleRuleFilterAndOutput +} + +type GetCosBucketLifecycleRuleFilterAndArgs struct { + ObjectSizeGreaterThan pulumi.IntInput `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan pulumi.IntInput `pulumi:"objectSizeLessThan"` + Prefix pulumi.StringInput `pulumi:"prefix"` + Tags GetCosBucketLifecycleRuleFilterAndTagArrayInput `pulumi:"tags"` +} + +func (GetCosBucketLifecycleRuleFilterAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleFilterAnd)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleFilterAndArgs) ToGetCosBucketLifecycleRuleFilterAndOutput() GetCosBucketLifecycleRuleFilterAndOutput { + return i.ToGetCosBucketLifecycleRuleFilterAndOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleFilterAndArgs) ToGetCosBucketLifecycleRuleFilterAndOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleFilterAndOutput) +} + +// GetCosBucketLifecycleRuleFilterAndArrayInput is an input type that accepts GetCosBucketLifecycleRuleFilterAndArray and GetCosBucketLifecycleRuleFilterAndArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleFilterAndArrayInput` via: +// +// GetCosBucketLifecycleRuleFilterAndArray{ GetCosBucketLifecycleRuleFilterAndArgs{...} } +type GetCosBucketLifecycleRuleFilterAndArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleFilterAndArrayOutput() GetCosBucketLifecycleRuleFilterAndArrayOutput + ToGetCosBucketLifecycleRuleFilterAndArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleFilterAndArrayOutput +} + +type GetCosBucketLifecycleRuleFilterAndArray []GetCosBucketLifecycleRuleFilterAndInput + +func (GetCosBucketLifecycleRuleFilterAndArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleFilterAnd)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleFilterAndArray) ToGetCosBucketLifecycleRuleFilterAndArrayOutput() GetCosBucketLifecycleRuleFilterAndArrayOutput { + return i.ToGetCosBucketLifecycleRuleFilterAndArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleFilterAndArray) ToGetCosBucketLifecycleRuleFilterAndArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterAndArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleFilterAndArrayOutput) +} + +type GetCosBucketLifecycleRuleFilterAndOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleFilterAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleFilterAnd)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleFilterAndOutput) ToGetCosBucketLifecycleRuleFilterAndOutput() GetCosBucketLifecycleRuleFilterAndOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterAndOutput) ToGetCosBucketLifecycleRuleFilterAndOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterAndOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterAndOutput) ObjectSizeGreaterThan() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilterAnd) int { return v.ObjectSizeGreaterThan }).(pulumi.IntOutput) +} + +func (o GetCosBucketLifecycleRuleFilterAndOutput) ObjectSizeLessThan() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilterAnd) int { return v.ObjectSizeLessThan }).(pulumi.IntOutput) +} + +func (o GetCosBucketLifecycleRuleFilterAndOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilterAnd) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetCosBucketLifecycleRuleFilterAndOutput) Tags() GetCosBucketLifecycleRuleFilterAndTagArrayOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilterAnd) []GetCosBucketLifecycleRuleFilterAndTag { return v.Tags }).(GetCosBucketLifecycleRuleFilterAndTagArrayOutput) +} + +type GetCosBucketLifecycleRuleFilterAndArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleFilterAndArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleFilterAnd)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleFilterAndArrayOutput) ToGetCosBucketLifecycleRuleFilterAndArrayOutput() GetCosBucketLifecycleRuleFilterAndArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterAndArrayOutput) ToGetCosBucketLifecycleRuleFilterAndArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterAndArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterAndArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleFilterAndOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRuleFilterAnd { + return vs[0].([]GetCosBucketLifecycleRuleFilterAnd)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleFilterAndOutput) +} + +type GetCosBucketLifecycleRuleFilterAndTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + +// GetCosBucketLifecycleRuleFilterAndTagInput is an input type that accepts GetCosBucketLifecycleRuleFilterAndTagArgs and GetCosBucketLifecycleRuleFilterAndTagOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleFilterAndTagInput` via: +// +// GetCosBucketLifecycleRuleFilterAndTagArgs{...} +type GetCosBucketLifecycleRuleFilterAndTagInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleFilterAndTagOutput() GetCosBucketLifecycleRuleFilterAndTagOutput + ToGetCosBucketLifecycleRuleFilterAndTagOutputWithContext(context.Context) GetCosBucketLifecycleRuleFilterAndTagOutput +} + +type GetCosBucketLifecycleRuleFilterAndTagArgs struct { + Key pulumi.StringInput `pulumi:"key"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetCosBucketLifecycleRuleFilterAndTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleFilterAndTag)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleFilterAndTagArgs) ToGetCosBucketLifecycleRuleFilterAndTagOutput() GetCosBucketLifecycleRuleFilterAndTagOutput { + return i.ToGetCosBucketLifecycleRuleFilterAndTagOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleFilterAndTagArgs) ToGetCosBucketLifecycleRuleFilterAndTagOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterAndTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleFilterAndTagOutput) +} + +// GetCosBucketLifecycleRuleFilterAndTagArrayInput is an input type that accepts GetCosBucketLifecycleRuleFilterAndTagArray and GetCosBucketLifecycleRuleFilterAndTagArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleFilterAndTagArrayInput` via: +// +// GetCosBucketLifecycleRuleFilterAndTagArray{ GetCosBucketLifecycleRuleFilterAndTagArgs{...} } +type GetCosBucketLifecycleRuleFilterAndTagArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleFilterAndTagArrayOutput() GetCosBucketLifecycleRuleFilterAndTagArrayOutput + ToGetCosBucketLifecycleRuleFilterAndTagArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleFilterAndTagArrayOutput +} + +type GetCosBucketLifecycleRuleFilterAndTagArray []GetCosBucketLifecycleRuleFilterAndTagInput + +func (GetCosBucketLifecycleRuleFilterAndTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleFilterAndTag)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleFilterAndTagArray) ToGetCosBucketLifecycleRuleFilterAndTagArrayOutput() GetCosBucketLifecycleRuleFilterAndTagArrayOutput { + return i.ToGetCosBucketLifecycleRuleFilterAndTagArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleFilterAndTagArray) ToGetCosBucketLifecycleRuleFilterAndTagArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterAndTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleFilterAndTagArrayOutput) +} + +type GetCosBucketLifecycleRuleFilterAndTagOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleFilterAndTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleFilterAndTag)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleFilterAndTagOutput) ToGetCosBucketLifecycleRuleFilterAndTagOutput() GetCosBucketLifecycleRuleFilterAndTagOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterAndTagOutput) ToGetCosBucketLifecycleRuleFilterAndTagOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterAndTagOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterAndTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilterAndTag) string { return v.Key }).(pulumi.StringOutput) +} + +func (o GetCosBucketLifecycleRuleFilterAndTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilterAndTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetCosBucketLifecycleRuleFilterAndTagArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleFilterAndTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleFilterAndTag)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleFilterAndTagArrayOutput) ToGetCosBucketLifecycleRuleFilterAndTagArrayOutput() GetCosBucketLifecycleRuleFilterAndTagArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterAndTagArrayOutput) ToGetCosBucketLifecycleRuleFilterAndTagArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterAndTagArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterAndTagArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleFilterAndTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRuleFilterAndTag { + return vs[0].([]GetCosBucketLifecycleRuleFilterAndTag)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleFilterAndTagOutput) +} + +type GetCosBucketLifecycleRuleFilterTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + +// GetCosBucketLifecycleRuleFilterTagInput is an input type that accepts GetCosBucketLifecycleRuleFilterTagArgs and GetCosBucketLifecycleRuleFilterTagOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleFilterTagInput` via: +// +// GetCosBucketLifecycleRuleFilterTagArgs{...} +type GetCosBucketLifecycleRuleFilterTagInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleFilterTagOutput() GetCosBucketLifecycleRuleFilterTagOutput + ToGetCosBucketLifecycleRuleFilterTagOutputWithContext(context.Context) GetCosBucketLifecycleRuleFilterTagOutput +} + +type GetCosBucketLifecycleRuleFilterTagArgs struct { + Key pulumi.StringInput `pulumi:"key"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetCosBucketLifecycleRuleFilterTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleFilterTag)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleFilterTagArgs) ToGetCosBucketLifecycleRuleFilterTagOutput() GetCosBucketLifecycleRuleFilterTagOutput { + return i.ToGetCosBucketLifecycleRuleFilterTagOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleFilterTagArgs) ToGetCosBucketLifecycleRuleFilterTagOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleFilterTagOutput) +} + +// GetCosBucketLifecycleRuleFilterTagArrayInput is an input type that accepts GetCosBucketLifecycleRuleFilterTagArray and GetCosBucketLifecycleRuleFilterTagArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleFilterTagArrayInput` via: +// +// GetCosBucketLifecycleRuleFilterTagArray{ GetCosBucketLifecycleRuleFilterTagArgs{...} } +type GetCosBucketLifecycleRuleFilterTagArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleFilterTagArrayOutput() GetCosBucketLifecycleRuleFilterTagArrayOutput + ToGetCosBucketLifecycleRuleFilterTagArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleFilterTagArrayOutput +} + +type GetCosBucketLifecycleRuleFilterTagArray []GetCosBucketLifecycleRuleFilterTagInput + +func (GetCosBucketLifecycleRuleFilterTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleFilterTag)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleFilterTagArray) ToGetCosBucketLifecycleRuleFilterTagArrayOutput() GetCosBucketLifecycleRuleFilterTagArrayOutput { + return i.ToGetCosBucketLifecycleRuleFilterTagArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleFilterTagArray) ToGetCosBucketLifecycleRuleFilterTagArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleFilterTagArrayOutput) +} + +type GetCosBucketLifecycleRuleFilterTagOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleFilterTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleFilterTag)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleFilterTagOutput) ToGetCosBucketLifecycleRuleFilterTagOutput() GetCosBucketLifecycleRuleFilterTagOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterTagOutput) ToGetCosBucketLifecycleRuleFilterTagOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterTagOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilterTag) string { return v.Key }).(pulumi.StringOutput) +} + +func (o GetCosBucketLifecycleRuleFilterTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleFilterTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetCosBucketLifecycleRuleFilterTagArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleFilterTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleFilterTag)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleFilterTagArrayOutput) ToGetCosBucketLifecycleRuleFilterTagArrayOutput() GetCosBucketLifecycleRuleFilterTagArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterTagArrayOutput) ToGetCosBucketLifecycleRuleFilterTagArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleFilterTagArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleFilterTagArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleFilterTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRuleFilterTag { + return vs[0].([]GetCosBucketLifecycleRuleFilterTag)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleFilterTagOutput) +} + +type GetCosBucketLifecycleRuleNoncurrentVersionExpiration struct { + NoncurrentDays int `pulumi:"noncurrentDays"` +} + +// GetCosBucketLifecycleRuleNoncurrentVersionExpirationInput is an input type that accepts GetCosBucketLifecycleRuleNoncurrentVersionExpirationArgs and GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleNoncurrentVersionExpirationInput` via: +// +// GetCosBucketLifecycleRuleNoncurrentVersionExpirationArgs{...} +type GetCosBucketLifecycleRuleNoncurrentVersionExpirationInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput() GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput + ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Context) GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput +} + +type GetCosBucketLifecycleRuleNoncurrentVersionExpirationArgs struct { + NoncurrentDays pulumi.IntInput `pulumi:"noncurrentDays"` +} + +func (GetCosBucketLifecycleRuleNoncurrentVersionExpirationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput() GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return i.ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput) +} + +// GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayInput is an input type that accepts GetCosBucketLifecycleRuleNoncurrentVersionExpirationArray and GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayInput` via: +// +// GetCosBucketLifecycleRuleNoncurrentVersionExpirationArray{ GetCosBucketLifecycleRuleNoncurrentVersionExpirationArgs{...} } +type GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput() GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput + ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput +} + +type GetCosBucketLifecycleRuleNoncurrentVersionExpirationArray []GetCosBucketLifecycleRuleNoncurrentVersionExpirationInput + +func (GetCosBucketLifecycleRuleNoncurrentVersionExpirationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleNoncurrentVersionExpirationArray) ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput() GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput { + return i.ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleNoncurrentVersionExpirationArray) ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput) +} + +type GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput() GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return o +} + +func (o GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return o +} + +func (o GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput) NoncurrentDays() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleNoncurrentVersionExpiration) int { return v.NoncurrentDays }).(pulumi.IntOutput) +} + +type GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput) ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput() GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput) ToGetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRuleNoncurrentVersionExpiration { + return vs[0].([]GetCosBucketLifecycleRuleNoncurrentVersionExpiration)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput) +} + +type GetCosBucketLifecycleRuleTransition struct { + Date string `pulumi:"date"` + Days int `pulumi:"days"` + StoragClass string `pulumi:"storagClass"` +} + +// GetCosBucketLifecycleRuleTransitionInput is an input type that accepts GetCosBucketLifecycleRuleTransitionArgs and GetCosBucketLifecycleRuleTransitionOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleTransitionInput` via: +// +// GetCosBucketLifecycleRuleTransitionArgs{...} +type GetCosBucketLifecycleRuleTransitionInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleTransitionOutput() GetCosBucketLifecycleRuleTransitionOutput + ToGetCosBucketLifecycleRuleTransitionOutputWithContext(context.Context) GetCosBucketLifecycleRuleTransitionOutput +} + +type GetCosBucketLifecycleRuleTransitionArgs struct { + Date pulumi.StringInput `pulumi:"date"` + Days pulumi.IntInput `pulumi:"days"` + StoragClass pulumi.StringInput `pulumi:"storagClass"` +} + +func (GetCosBucketLifecycleRuleTransitionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleTransition)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleTransitionArgs) ToGetCosBucketLifecycleRuleTransitionOutput() GetCosBucketLifecycleRuleTransitionOutput { + return i.ToGetCosBucketLifecycleRuleTransitionOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleTransitionArgs) ToGetCosBucketLifecycleRuleTransitionOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleTransitionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleTransitionOutput) +} + +// GetCosBucketLifecycleRuleTransitionArrayInput is an input type that accepts GetCosBucketLifecycleRuleTransitionArray and GetCosBucketLifecycleRuleTransitionArrayOutput values. +// You can construct a concrete instance of `GetCosBucketLifecycleRuleTransitionArrayInput` via: +// +// GetCosBucketLifecycleRuleTransitionArray{ GetCosBucketLifecycleRuleTransitionArgs{...} } +type GetCosBucketLifecycleRuleTransitionArrayInput interface { + pulumi.Input + + ToGetCosBucketLifecycleRuleTransitionArrayOutput() GetCosBucketLifecycleRuleTransitionArrayOutput + ToGetCosBucketLifecycleRuleTransitionArrayOutputWithContext(context.Context) GetCosBucketLifecycleRuleTransitionArrayOutput +} + +type GetCosBucketLifecycleRuleTransitionArray []GetCosBucketLifecycleRuleTransitionInput + +func (GetCosBucketLifecycleRuleTransitionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleTransition)(nil)).Elem() +} + +func (i GetCosBucketLifecycleRuleTransitionArray) ToGetCosBucketLifecycleRuleTransitionArrayOutput() GetCosBucketLifecycleRuleTransitionArrayOutput { + return i.ToGetCosBucketLifecycleRuleTransitionArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketLifecycleRuleTransitionArray) ToGetCosBucketLifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleTransitionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketLifecycleRuleTransitionArrayOutput) +} + +type GetCosBucketLifecycleRuleTransitionOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleTransitionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketLifecycleRuleTransition)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleTransitionOutput) ToGetCosBucketLifecycleRuleTransitionOutput() GetCosBucketLifecycleRuleTransitionOutput { + return o +} + +func (o GetCosBucketLifecycleRuleTransitionOutput) ToGetCosBucketLifecycleRuleTransitionOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleTransitionOutput { + return o +} + +func (o GetCosBucketLifecycleRuleTransitionOutput) Date() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleTransition) string { return v.Date }).(pulumi.StringOutput) +} + +func (o GetCosBucketLifecycleRuleTransitionOutput) Days() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleTransition) int { return v.Days }).(pulumi.IntOutput) +} + +func (o GetCosBucketLifecycleRuleTransitionOutput) StoragClass() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketLifecycleRuleTransition) string { return v.StoragClass }).(pulumi.StringOutput) +} + +type GetCosBucketLifecycleRuleTransitionArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketLifecycleRuleTransitionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketLifecycleRuleTransition)(nil)).Elem() +} + +func (o GetCosBucketLifecycleRuleTransitionArrayOutput) ToGetCosBucketLifecycleRuleTransitionArrayOutput() GetCosBucketLifecycleRuleTransitionArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleTransitionArrayOutput) ToGetCosBucketLifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) GetCosBucketLifecycleRuleTransitionArrayOutput { + return o +} + +func (o GetCosBucketLifecycleRuleTransitionArrayOutput) Index(i pulumi.IntInput) GetCosBucketLifecycleRuleTransitionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketLifecycleRuleTransition { + return vs[0].([]GetCosBucketLifecycleRuleTransition)[vs[1].(int)] + }).(GetCosBucketLifecycleRuleTransitionOutput) +} + +type GetCosBucketMetricsMonitoring struct { + // When the `metricsMonitoringCrn` is not populated, then enabled metrics are sent to the monitoring instance associated to the container's location unless otherwise specified in the Metrics Router service configuration.If `metricsMonitoringCrn` is populated, then enabled events are sent to the Metrics Monitoring instance specified. + MetricsMonitoringCrn string `pulumi:"metricsMonitoringCrn"` + // If set to true, all request metrics (i.e. `rest.object.head`) will be sent to the monitoring service + RequestMetricsEnabled bool `pulumi:"requestMetricsEnabled"` + // If set to `true`, all usage metrics (i.e. `bytesUsed`) will be sent to the monitoring service. + UsageMetricsEnabled bool `pulumi:"usageMetricsEnabled"` +} + +// GetCosBucketMetricsMonitoringInput is an input type that accepts GetCosBucketMetricsMonitoringArgs and GetCosBucketMetricsMonitoringOutput values. +// You can construct a concrete instance of `GetCosBucketMetricsMonitoringInput` via: +// +// GetCosBucketMetricsMonitoringArgs{...} +type GetCosBucketMetricsMonitoringInput interface { + pulumi.Input + + ToGetCosBucketMetricsMonitoringOutput() GetCosBucketMetricsMonitoringOutput + ToGetCosBucketMetricsMonitoringOutputWithContext(context.Context) GetCosBucketMetricsMonitoringOutput +} + +type GetCosBucketMetricsMonitoringArgs struct { + // When the `metricsMonitoringCrn` is not populated, then enabled metrics are sent to the monitoring instance associated to the container's location unless otherwise specified in the Metrics Router service configuration.If `metricsMonitoringCrn` is populated, then enabled events are sent to the Metrics Monitoring instance specified. + MetricsMonitoringCrn pulumi.StringInput `pulumi:"metricsMonitoringCrn"` + // If set to true, all request metrics (i.e. `rest.object.head`) will be sent to the monitoring service + RequestMetricsEnabled pulumi.BoolInput `pulumi:"requestMetricsEnabled"` + // If set to `true`, all usage metrics (i.e. `bytesUsed`) will be sent to the monitoring service. + UsageMetricsEnabled pulumi.BoolInput `pulumi:"usageMetricsEnabled"` +} + +func (GetCosBucketMetricsMonitoringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketMetricsMonitoring)(nil)).Elem() +} + +func (i GetCosBucketMetricsMonitoringArgs) ToGetCosBucketMetricsMonitoringOutput() GetCosBucketMetricsMonitoringOutput { + return i.ToGetCosBucketMetricsMonitoringOutputWithContext(context.Background()) +} + +func (i GetCosBucketMetricsMonitoringArgs) ToGetCosBucketMetricsMonitoringOutputWithContext(ctx context.Context) GetCosBucketMetricsMonitoringOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketMetricsMonitoringOutput) +} + +// GetCosBucketMetricsMonitoringArrayInput is an input type that accepts GetCosBucketMetricsMonitoringArray and GetCosBucketMetricsMonitoringArrayOutput values. +// You can construct a concrete instance of `GetCosBucketMetricsMonitoringArrayInput` via: +// +// GetCosBucketMetricsMonitoringArray{ GetCosBucketMetricsMonitoringArgs{...} } +type GetCosBucketMetricsMonitoringArrayInput interface { + pulumi.Input + + ToGetCosBucketMetricsMonitoringArrayOutput() GetCosBucketMetricsMonitoringArrayOutput + ToGetCosBucketMetricsMonitoringArrayOutputWithContext(context.Context) GetCosBucketMetricsMonitoringArrayOutput +} + +type GetCosBucketMetricsMonitoringArray []GetCosBucketMetricsMonitoringInput + +func (GetCosBucketMetricsMonitoringArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketMetricsMonitoring)(nil)).Elem() +} + +func (i GetCosBucketMetricsMonitoringArray) ToGetCosBucketMetricsMonitoringArrayOutput() GetCosBucketMetricsMonitoringArrayOutput { + return i.ToGetCosBucketMetricsMonitoringArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketMetricsMonitoringArray) ToGetCosBucketMetricsMonitoringArrayOutputWithContext(ctx context.Context) GetCosBucketMetricsMonitoringArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketMetricsMonitoringArrayOutput) +} + +type GetCosBucketMetricsMonitoringOutput struct{ *pulumi.OutputState } + +func (GetCosBucketMetricsMonitoringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketMetricsMonitoring)(nil)).Elem() +} + +func (o GetCosBucketMetricsMonitoringOutput) ToGetCosBucketMetricsMonitoringOutput() GetCosBucketMetricsMonitoringOutput { + return o +} + +func (o GetCosBucketMetricsMonitoringOutput) ToGetCosBucketMetricsMonitoringOutputWithContext(ctx context.Context) GetCosBucketMetricsMonitoringOutput { + return o +} + +// When the `metricsMonitoringCrn` is not populated, then enabled metrics are sent to the monitoring instance associated to the container's location unless otherwise specified in the Metrics Router service configuration.If `metricsMonitoringCrn` is populated, then enabled events are sent to the Metrics Monitoring instance specified. +func (o GetCosBucketMetricsMonitoringOutput) MetricsMonitoringCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketMetricsMonitoring) string { return v.MetricsMonitoringCrn }).(pulumi.StringOutput) +} + +// If set to true, all request metrics (i.e. `rest.object.head`) will be sent to the monitoring service +func (o GetCosBucketMetricsMonitoringOutput) RequestMetricsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketMetricsMonitoring) bool { return v.RequestMetricsEnabled }).(pulumi.BoolOutput) +} + +// If set to `true`, all usage metrics (i.e. `bytesUsed`) will be sent to the monitoring service. +func (o GetCosBucketMetricsMonitoringOutput) UsageMetricsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketMetricsMonitoring) bool { return v.UsageMetricsEnabled }).(pulumi.BoolOutput) +} + +type GetCosBucketMetricsMonitoringArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketMetricsMonitoringArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketMetricsMonitoring)(nil)).Elem() +} + +func (o GetCosBucketMetricsMonitoringArrayOutput) ToGetCosBucketMetricsMonitoringArrayOutput() GetCosBucketMetricsMonitoringArrayOutput { + return o +} + +func (o GetCosBucketMetricsMonitoringArrayOutput) ToGetCosBucketMetricsMonitoringArrayOutputWithContext(ctx context.Context) GetCosBucketMetricsMonitoringArrayOutput { + return o +} + +func (o GetCosBucketMetricsMonitoringArrayOutput) Index(i pulumi.IntInput) GetCosBucketMetricsMonitoringOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketMetricsMonitoring { + return vs[0].([]GetCosBucketMetricsMonitoring)[vs[1].(int)] + }).(GetCosBucketMetricsMonitoringOutput) +} + +type GetCosBucketNoncurrentVersionExpiration struct { + // Enable or disable an expire rule for a bucket + Enable bool `pulumi:"enable"` + // Specifies the number of days when the specific rule action takes effect. + NoncurrentDays int `pulumi:"noncurrentDays"` + // The rule applies to any objects with keys that match this prefix + Prefix string `pulumi:"prefix"` + // Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId string `pulumi:"ruleId"` +} + +// GetCosBucketNoncurrentVersionExpirationInput is an input type that accepts GetCosBucketNoncurrentVersionExpirationArgs and GetCosBucketNoncurrentVersionExpirationOutput values. +// You can construct a concrete instance of `GetCosBucketNoncurrentVersionExpirationInput` via: +// +// GetCosBucketNoncurrentVersionExpirationArgs{...} +type GetCosBucketNoncurrentVersionExpirationInput interface { + pulumi.Input + + ToGetCosBucketNoncurrentVersionExpirationOutput() GetCosBucketNoncurrentVersionExpirationOutput + ToGetCosBucketNoncurrentVersionExpirationOutputWithContext(context.Context) GetCosBucketNoncurrentVersionExpirationOutput +} + +type GetCosBucketNoncurrentVersionExpirationArgs struct { + // Enable or disable an expire rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // Specifies the number of days when the specific rule action takes effect. + NoncurrentDays pulumi.IntInput `pulumi:"noncurrentDays"` + // The rule applies to any objects with keys that match this prefix + Prefix pulumi.StringInput `pulumi:"prefix"` + // Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket + RuleId pulumi.StringInput `pulumi:"ruleId"` +} + +func (GetCosBucketNoncurrentVersionExpirationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i GetCosBucketNoncurrentVersionExpirationArgs) ToGetCosBucketNoncurrentVersionExpirationOutput() GetCosBucketNoncurrentVersionExpirationOutput { + return i.ToGetCosBucketNoncurrentVersionExpirationOutputWithContext(context.Background()) +} + +func (i GetCosBucketNoncurrentVersionExpirationArgs) ToGetCosBucketNoncurrentVersionExpirationOutputWithContext(ctx context.Context) GetCosBucketNoncurrentVersionExpirationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketNoncurrentVersionExpirationOutput) +} + +// GetCosBucketNoncurrentVersionExpirationArrayInput is an input type that accepts GetCosBucketNoncurrentVersionExpirationArray and GetCosBucketNoncurrentVersionExpirationArrayOutput values. +// You can construct a concrete instance of `GetCosBucketNoncurrentVersionExpirationArrayInput` via: +// +// GetCosBucketNoncurrentVersionExpirationArray{ GetCosBucketNoncurrentVersionExpirationArgs{...} } +type GetCosBucketNoncurrentVersionExpirationArrayInput interface { + pulumi.Input + + ToGetCosBucketNoncurrentVersionExpirationArrayOutput() GetCosBucketNoncurrentVersionExpirationArrayOutput + ToGetCosBucketNoncurrentVersionExpirationArrayOutputWithContext(context.Context) GetCosBucketNoncurrentVersionExpirationArrayOutput +} + +type GetCosBucketNoncurrentVersionExpirationArray []GetCosBucketNoncurrentVersionExpirationInput + +func (GetCosBucketNoncurrentVersionExpirationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i GetCosBucketNoncurrentVersionExpirationArray) ToGetCosBucketNoncurrentVersionExpirationArrayOutput() GetCosBucketNoncurrentVersionExpirationArrayOutput { + return i.ToGetCosBucketNoncurrentVersionExpirationArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketNoncurrentVersionExpirationArray) ToGetCosBucketNoncurrentVersionExpirationArrayOutputWithContext(ctx context.Context) GetCosBucketNoncurrentVersionExpirationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketNoncurrentVersionExpirationArrayOutput) +} + +type GetCosBucketNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState } + +func (GetCosBucketNoncurrentVersionExpirationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o GetCosBucketNoncurrentVersionExpirationOutput) ToGetCosBucketNoncurrentVersionExpirationOutput() GetCosBucketNoncurrentVersionExpirationOutput { + return o +} + +func (o GetCosBucketNoncurrentVersionExpirationOutput) ToGetCosBucketNoncurrentVersionExpirationOutputWithContext(ctx context.Context) GetCosBucketNoncurrentVersionExpirationOutput { + return o +} + +// Enable or disable an expire rule for a bucket +func (o GetCosBucketNoncurrentVersionExpirationOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketNoncurrentVersionExpiration) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// Specifies the number of days when the specific rule action takes effect. +func (o GetCosBucketNoncurrentVersionExpirationOutput) NoncurrentDays() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketNoncurrentVersionExpiration) int { return v.NoncurrentDays }).(pulumi.IntOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o GetCosBucketNoncurrentVersionExpirationOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketNoncurrentVersionExpiration) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Unique identifier for the rule.Expire rules allow you to set a specific time frame after which objects are deleted. Set Rule ID for cos bucket +func (o GetCosBucketNoncurrentVersionExpirationOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketNoncurrentVersionExpiration) string { return v.RuleId }).(pulumi.StringOutput) +} + +type GetCosBucketNoncurrentVersionExpirationArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketNoncurrentVersionExpirationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o GetCosBucketNoncurrentVersionExpirationArrayOutput) ToGetCosBucketNoncurrentVersionExpirationArrayOutput() GetCosBucketNoncurrentVersionExpirationArrayOutput { + return o +} + +func (o GetCosBucketNoncurrentVersionExpirationArrayOutput) ToGetCosBucketNoncurrentVersionExpirationArrayOutputWithContext(ctx context.Context) GetCosBucketNoncurrentVersionExpirationArrayOutput { + return o +} + +func (o GetCosBucketNoncurrentVersionExpirationArrayOutput) Index(i pulumi.IntInput) GetCosBucketNoncurrentVersionExpirationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketNoncurrentVersionExpiration { + return vs[0].([]GetCosBucketNoncurrentVersionExpiration)[vs[1].(int)] + }).(GetCosBucketNoncurrentVersionExpirationOutput) +} + +type GetCosBucketObjectLockConfigurationType struct { + // Enable object lock on a COS bucket. This can be used to enable objectlock on an existing bucket + ObjectLockEnabled string `pulumi:"objectLockEnabled"` + ObjectLockRules []GetCosBucketObjectLockConfigurationObjectLockRule `pulumi:"objectLockRules"` +} + +// GetCosBucketObjectLockConfigurationTypeInput is an input type that accepts GetCosBucketObjectLockConfigurationTypeArgs and GetCosBucketObjectLockConfigurationTypeOutput values. +// You can construct a concrete instance of `GetCosBucketObjectLockConfigurationTypeInput` via: +// +// GetCosBucketObjectLockConfigurationTypeArgs{...} +type GetCosBucketObjectLockConfigurationTypeInput interface { + pulumi.Input + + ToGetCosBucketObjectLockConfigurationTypeOutput() GetCosBucketObjectLockConfigurationTypeOutput + ToGetCosBucketObjectLockConfigurationTypeOutputWithContext(context.Context) GetCosBucketObjectLockConfigurationTypeOutput +} + +type GetCosBucketObjectLockConfigurationTypeArgs struct { + // Enable object lock on a COS bucket. This can be used to enable objectlock on an existing bucket + ObjectLockEnabled pulumi.StringInput `pulumi:"objectLockEnabled"` + ObjectLockRules GetCosBucketObjectLockConfigurationObjectLockRuleArrayInput `pulumi:"objectLockRules"` +} + +func (GetCosBucketObjectLockConfigurationTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketObjectLockConfigurationType)(nil)).Elem() +} + +func (i GetCosBucketObjectLockConfigurationTypeArgs) ToGetCosBucketObjectLockConfigurationTypeOutput() GetCosBucketObjectLockConfigurationTypeOutput { + return i.ToGetCosBucketObjectLockConfigurationTypeOutputWithContext(context.Background()) +} + +func (i GetCosBucketObjectLockConfigurationTypeArgs) ToGetCosBucketObjectLockConfigurationTypeOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketObjectLockConfigurationTypeOutput) +} + +// GetCosBucketObjectLockConfigurationTypeArrayInput is an input type that accepts GetCosBucketObjectLockConfigurationTypeArray and GetCosBucketObjectLockConfigurationTypeArrayOutput values. +// You can construct a concrete instance of `GetCosBucketObjectLockConfigurationTypeArrayInput` via: +// +// GetCosBucketObjectLockConfigurationTypeArray{ GetCosBucketObjectLockConfigurationTypeArgs{...} } +type GetCosBucketObjectLockConfigurationTypeArrayInput interface { + pulumi.Input + + ToGetCosBucketObjectLockConfigurationTypeArrayOutput() GetCosBucketObjectLockConfigurationTypeArrayOutput + ToGetCosBucketObjectLockConfigurationTypeArrayOutputWithContext(context.Context) GetCosBucketObjectLockConfigurationTypeArrayOutput +} + +type GetCosBucketObjectLockConfigurationTypeArray []GetCosBucketObjectLockConfigurationTypeInput + +func (GetCosBucketObjectLockConfigurationTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketObjectLockConfigurationType)(nil)).Elem() +} + +func (i GetCosBucketObjectLockConfigurationTypeArray) ToGetCosBucketObjectLockConfigurationTypeArrayOutput() GetCosBucketObjectLockConfigurationTypeArrayOutput { + return i.ToGetCosBucketObjectLockConfigurationTypeArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketObjectLockConfigurationTypeArray) ToGetCosBucketObjectLockConfigurationTypeArrayOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketObjectLockConfigurationTypeArrayOutput) +} + +type GetCosBucketObjectLockConfigurationTypeOutput struct{ *pulumi.OutputState } + +func (GetCosBucketObjectLockConfigurationTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketObjectLockConfigurationType)(nil)).Elem() +} + +func (o GetCosBucketObjectLockConfigurationTypeOutput) ToGetCosBucketObjectLockConfigurationTypeOutput() GetCosBucketObjectLockConfigurationTypeOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationTypeOutput) ToGetCosBucketObjectLockConfigurationTypeOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationTypeOutput { + return o +} + +// Enable object lock on a COS bucket. This can be used to enable objectlock on an existing bucket +func (o GetCosBucketObjectLockConfigurationTypeOutput) ObjectLockEnabled() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketObjectLockConfigurationType) string { return v.ObjectLockEnabled }).(pulumi.StringOutput) +} + +func (o GetCosBucketObjectLockConfigurationTypeOutput) ObjectLockRules() GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput { + return o.ApplyT(func(v GetCosBucketObjectLockConfigurationType) []GetCosBucketObjectLockConfigurationObjectLockRule { + return v.ObjectLockRules + }).(GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput) +} + +type GetCosBucketObjectLockConfigurationTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketObjectLockConfigurationTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketObjectLockConfigurationType)(nil)).Elem() +} + +func (o GetCosBucketObjectLockConfigurationTypeArrayOutput) ToGetCosBucketObjectLockConfigurationTypeArrayOutput() GetCosBucketObjectLockConfigurationTypeArrayOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationTypeArrayOutput) ToGetCosBucketObjectLockConfigurationTypeArrayOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationTypeArrayOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationTypeArrayOutput) Index(i pulumi.IntInput) GetCosBucketObjectLockConfigurationTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketObjectLockConfigurationType { + return vs[0].([]GetCosBucketObjectLockConfigurationType)[vs[1].(int)] + }).(GetCosBucketObjectLockConfigurationTypeOutput) +} + +type GetCosBucketObjectLockConfigurationObjectLockRule struct { + // An object lock configuration on the object at a bucket level, in the form of a days , years and mode that establishes a point in time after which the object can be deleted. This is applied at bucket level hence it is by default applied to all the object in the bucket unless a seperate retention period is set on the object. + DefaultRetentions []GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention `pulumi:"defaultRetentions"` +} + +// GetCosBucketObjectLockConfigurationObjectLockRuleInput is an input type that accepts GetCosBucketObjectLockConfigurationObjectLockRuleArgs and GetCosBucketObjectLockConfigurationObjectLockRuleOutput values. +// You can construct a concrete instance of `GetCosBucketObjectLockConfigurationObjectLockRuleInput` via: +// +// GetCosBucketObjectLockConfigurationObjectLockRuleArgs{...} +type GetCosBucketObjectLockConfigurationObjectLockRuleInput interface { + pulumi.Input + + ToGetCosBucketObjectLockConfigurationObjectLockRuleOutput() GetCosBucketObjectLockConfigurationObjectLockRuleOutput + ToGetCosBucketObjectLockConfigurationObjectLockRuleOutputWithContext(context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleOutput +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleArgs struct { + // An object lock configuration on the object at a bucket level, in the form of a days , years and mode that establishes a point in time after which the object can be deleted. This is applied at bucket level hence it is by default applied to all the object in the bucket unless a seperate retention period is set on the object. + DefaultRetentions GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayInput `pulumi:"defaultRetentions"` +} + +func (GetCosBucketObjectLockConfigurationObjectLockRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketObjectLockConfigurationObjectLockRule)(nil)).Elem() +} + +func (i GetCosBucketObjectLockConfigurationObjectLockRuleArgs) ToGetCosBucketObjectLockConfigurationObjectLockRuleOutput() GetCosBucketObjectLockConfigurationObjectLockRuleOutput { + return i.ToGetCosBucketObjectLockConfigurationObjectLockRuleOutputWithContext(context.Background()) +} + +func (i GetCosBucketObjectLockConfigurationObjectLockRuleArgs) ToGetCosBucketObjectLockConfigurationObjectLockRuleOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketObjectLockConfigurationObjectLockRuleOutput) +} + +// GetCosBucketObjectLockConfigurationObjectLockRuleArrayInput is an input type that accepts GetCosBucketObjectLockConfigurationObjectLockRuleArray and GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput values. +// You can construct a concrete instance of `GetCosBucketObjectLockConfigurationObjectLockRuleArrayInput` via: +// +// GetCosBucketObjectLockConfigurationObjectLockRuleArray{ GetCosBucketObjectLockConfigurationObjectLockRuleArgs{...} } +type GetCosBucketObjectLockConfigurationObjectLockRuleArrayInput interface { + pulumi.Input + + ToGetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput() GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput + ToGetCosBucketObjectLockConfigurationObjectLockRuleArrayOutputWithContext(context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleArray []GetCosBucketObjectLockConfigurationObjectLockRuleInput + +func (GetCosBucketObjectLockConfigurationObjectLockRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketObjectLockConfigurationObjectLockRule)(nil)).Elem() +} + +func (i GetCosBucketObjectLockConfigurationObjectLockRuleArray) ToGetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput() GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput { + return i.ToGetCosBucketObjectLockConfigurationObjectLockRuleArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketObjectLockConfigurationObjectLockRuleArray) ToGetCosBucketObjectLockConfigurationObjectLockRuleArrayOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput) +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleOutput struct{ *pulumi.OutputState } + +func (GetCosBucketObjectLockConfigurationObjectLockRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketObjectLockConfigurationObjectLockRule)(nil)).Elem() +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleOutput) ToGetCosBucketObjectLockConfigurationObjectLockRuleOutput() GetCosBucketObjectLockConfigurationObjectLockRuleOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleOutput) ToGetCosBucketObjectLockConfigurationObjectLockRuleOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleOutput { + return o +} + +// An object lock configuration on the object at a bucket level, in the form of a days , years and mode that establishes a point in time after which the object can be deleted. This is applied at bucket level hence it is by default applied to all the object in the bucket unless a seperate retention period is set on the object. +func (o GetCosBucketObjectLockConfigurationObjectLockRuleOutput) DefaultRetentions() GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput { + return o.ApplyT(func(v GetCosBucketObjectLockConfigurationObjectLockRule) []GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention { + return v.DefaultRetentions + }).(GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput) +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketObjectLockConfigurationObjectLockRule)(nil)).Elem() +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput) ToGetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput() GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput) ToGetCosBucketObjectLockConfigurationObjectLockRuleArrayOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput) Index(i pulumi.IntInput) GetCosBucketObjectLockConfigurationObjectLockRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketObjectLockConfigurationObjectLockRule { + return vs[0].([]GetCosBucketObjectLockConfigurationObjectLockRule)[vs[1].(int)] + }).(GetCosBucketObjectLockConfigurationObjectLockRuleOutput) +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention struct { + // Retention period in terms of days after which the object can be deleted. + Days int `pulumi:"days"` + // Retention modes apply different levels of protection to the objects. + Mode string `pulumi:"mode"` + // Retention period in terms of years after which the object can be deleted. + Years int `pulumi:"years"` +} + +// GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionInput is an input type that accepts GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArgs and GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput values. +// You can construct a concrete instance of `GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionInput` via: +// +// GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArgs{...} +type GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionInput interface { + pulumi.Input + + ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput() GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput + ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutputWithContext(context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArgs struct { + // Retention period in terms of days after which the object can be deleted. + Days pulumi.IntInput `pulumi:"days"` + // Retention modes apply different levels of protection to the objects. + Mode pulumi.StringInput `pulumi:"mode"` + // Retention period in terms of years after which the object can be deleted. + Years pulumi.IntInput `pulumi:"years"` +} + +func (GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention)(nil)).Elem() +} + +func (i GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput() GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return i.ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutputWithContext(context.Background()) +} + +func (i GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArgs) ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) +} + +// GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayInput is an input type that accepts GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArray and GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput values. +// You can construct a concrete instance of `GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayInput` via: +// +// GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArray{ GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArgs{...} } +type GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayInput interface { + pulumi.Input + + ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput() GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput + ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutputWithContext(context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArray []GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionInput + +func (GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention)(nil)).Elem() +} + +func (i GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArray) ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput() GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput { + return i.ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArray) ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput) +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput struct{ *pulumi.OutputState } + +func (GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention)(nil)).Elem() +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput() GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return o +} + +// Retention period in terms of days after which the object can be deleted. +func (o GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) Days() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention) int { return v.Days }).(pulumi.IntOutput) +} + +// Retention modes apply different levels of protection to the objects. +func (o GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention) string { return v.Mode }).(pulumi.StringOutput) +} + +// Retention period in terms of years after which the object can be deleted. +func (o GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) Years() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention) int { return v.Years }).(pulumi.IntOutput) +} + +type GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention)(nil)).Elem() +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput) ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput() GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput) ToGetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutputWithContext(ctx context.Context) GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput { + return o +} + +func (o GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput) Index(i pulumi.IntInput) GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention { + return vs[0].([]GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetention)[vs[1].(int)] + }).(GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput) +} + +type GetCosBucketObjectVersioning struct { + // Enable or suspend the versioning for objects in the bucket + Enable bool `pulumi:"enable"` +} + +// GetCosBucketObjectVersioningInput is an input type that accepts GetCosBucketObjectVersioningArgs and GetCosBucketObjectVersioningOutput values. +// You can construct a concrete instance of `GetCosBucketObjectVersioningInput` via: +// +// GetCosBucketObjectVersioningArgs{...} +type GetCosBucketObjectVersioningInput interface { + pulumi.Input + + ToGetCosBucketObjectVersioningOutput() GetCosBucketObjectVersioningOutput + ToGetCosBucketObjectVersioningOutputWithContext(context.Context) GetCosBucketObjectVersioningOutput +} + +type GetCosBucketObjectVersioningArgs struct { + // Enable or suspend the versioning for objects in the bucket + Enable pulumi.BoolInput `pulumi:"enable"` +} + +func (GetCosBucketObjectVersioningArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketObjectVersioning)(nil)).Elem() +} + +func (i GetCosBucketObjectVersioningArgs) ToGetCosBucketObjectVersioningOutput() GetCosBucketObjectVersioningOutput { + return i.ToGetCosBucketObjectVersioningOutputWithContext(context.Background()) +} + +func (i GetCosBucketObjectVersioningArgs) ToGetCosBucketObjectVersioningOutputWithContext(ctx context.Context) GetCosBucketObjectVersioningOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketObjectVersioningOutput) +} + +// GetCosBucketObjectVersioningArrayInput is an input type that accepts GetCosBucketObjectVersioningArray and GetCosBucketObjectVersioningArrayOutput values. +// You can construct a concrete instance of `GetCosBucketObjectVersioningArrayInput` via: +// +// GetCosBucketObjectVersioningArray{ GetCosBucketObjectVersioningArgs{...} } +type GetCosBucketObjectVersioningArrayInput interface { + pulumi.Input + + ToGetCosBucketObjectVersioningArrayOutput() GetCosBucketObjectVersioningArrayOutput + ToGetCosBucketObjectVersioningArrayOutputWithContext(context.Context) GetCosBucketObjectVersioningArrayOutput +} + +type GetCosBucketObjectVersioningArray []GetCosBucketObjectVersioningInput + +func (GetCosBucketObjectVersioningArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketObjectVersioning)(nil)).Elem() +} + +func (i GetCosBucketObjectVersioningArray) ToGetCosBucketObjectVersioningArrayOutput() GetCosBucketObjectVersioningArrayOutput { + return i.ToGetCosBucketObjectVersioningArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketObjectVersioningArray) ToGetCosBucketObjectVersioningArrayOutputWithContext(ctx context.Context) GetCosBucketObjectVersioningArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketObjectVersioningArrayOutput) +} + +type GetCosBucketObjectVersioningOutput struct{ *pulumi.OutputState } + +func (GetCosBucketObjectVersioningOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketObjectVersioning)(nil)).Elem() +} + +func (o GetCosBucketObjectVersioningOutput) ToGetCosBucketObjectVersioningOutput() GetCosBucketObjectVersioningOutput { + return o +} + +func (o GetCosBucketObjectVersioningOutput) ToGetCosBucketObjectVersioningOutputWithContext(ctx context.Context) GetCosBucketObjectVersioningOutput { + return o +} + +// Enable or suspend the versioning for objects in the bucket +func (o GetCosBucketObjectVersioningOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketObjectVersioning) bool { return v.Enable }).(pulumi.BoolOutput) +} + +type GetCosBucketObjectVersioningArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketObjectVersioningArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketObjectVersioning)(nil)).Elem() +} + +func (o GetCosBucketObjectVersioningArrayOutput) ToGetCosBucketObjectVersioningArrayOutput() GetCosBucketObjectVersioningArrayOutput { + return o +} + +func (o GetCosBucketObjectVersioningArrayOutput) ToGetCosBucketObjectVersioningArrayOutputWithContext(ctx context.Context) GetCosBucketObjectVersioningArrayOutput { + return o +} + +func (o GetCosBucketObjectVersioningArrayOutput) Index(i pulumi.IntInput) GetCosBucketObjectVersioningOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketObjectVersioning { + return vs[0].([]GetCosBucketObjectVersioning)[vs[1].(int)] + }).(GetCosBucketObjectVersioningOutput) +} + +type GetCosBucketReplicationRuleType struct { + // Indicates whether to replicate delete markers. It should be either Enable or Disable + DeletemarkerReplicationStatus bool `pulumi:"deletemarkerReplicationStatus"` + // The Cloud Resource Name (CRN) of the bucket where you want COS to store the results + DestinationBucketCrn string `pulumi:"destinationBucketCrn"` + // Enable or disable an replication rule for a bucket + Enable bool `pulumi:"enable"` + // The rule applies to any objects with keys that match this prefix + Prefix string `pulumi:"prefix"` + Priority int `pulumi:"priority"` + // A unique identifier for the rule. The maximum value is 255 characters. + RuleId string `pulumi:"ruleId"` +} + +// GetCosBucketReplicationRuleTypeInput is an input type that accepts GetCosBucketReplicationRuleTypeArgs and GetCosBucketReplicationRuleTypeOutput values. +// You can construct a concrete instance of `GetCosBucketReplicationRuleTypeInput` via: +// +// GetCosBucketReplicationRuleTypeArgs{...} +type GetCosBucketReplicationRuleTypeInput interface { + pulumi.Input + + ToGetCosBucketReplicationRuleTypeOutput() GetCosBucketReplicationRuleTypeOutput + ToGetCosBucketReplicationRuleTypeOutputWithContext(context.Context) GetCosBucketReplicationRuleTypeOutput +} + +type GetCosBucketReplicationRuleTypeArgs struct { + // Indicates whether to replicate delete markers. It should be either Enable or Disable + DeletemarkerReplicationStatus pulumi.BoolInput `pulumi:"deletemarkerReplicationStatus"` + // The Cloud Resource Name (CRN) of the bucket where you want COS to store the results + DestinationBucketCrn pulumi.StringInput `pulumi:"destinationBucketCrn"` + // Enable or disable an replication rule for a bucket + Enable pulumi.BoolInput `pulumi:"enable"` + // The rule applies to any objects with keys that match this prefix + Prefix pulumi.StringInput `pulumi:"prefix"` + Priority pulumi.IntInput `pulumi:"priority"` + // A unique identifier for the rule. The maximum value is 255 characters. + RuleId pulumi.StringInput `pulumi:"ruleId"` +} + +func (GetCosBucketReplicationRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketReplicationRuleType)(nil)).Elem() +} + +func (i GetCosBucketReplicationRuleTypeArgs) ToGetCosBucketReplicationRuleTypeOutput() GetCosBucketReplicationRuleTypeOutput { + return i.ToGetCosBucketReplicationRuleTypeOutputWithContext(context.Background()) +} + +func (i GetCosBucketReplicationRuleTypeArgs) ToGetCosBucketReplicationRuleTypeOutputWithContext(ctx context.Context) GetCosBucketReplicationRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketReplicationRuleTypeOutput) +} + +// GetCosBucketReplicationRuleTypeArrayInput is an input type that accepts GetCosBucketReplicationRuleTypeArray and GetCosBucketReplicationRuleTypeArrayOutput values. +// You can construct a concrete instance of `GetCosBucketReplicationRuleTypeArrayInput` via: +// +// GetCosBucketReplicationRuleTypeArray{ GetCosBucketReplicationRuleTypeArgs{...} } +type GetCosBucketReplicationRuleTypeArrayInput interface { + pulumi.Input + + ToGetCosBucketReplicationRuleTypeArrayOutput() GetCosBucketReplicationRuleTypeArrayOutput + ToGetCosBucketReplicationRuleTypeArrayOutputWithContext(context.Context) GetCosBucketReplicationRuleTypeArrayOutput +} + +type GetCosBucketReplicationRuleTypeArray []GetCosBucketReplicationRuleTypeInput + +func (GetCosBucketReplicationRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketReplicationRuleType)(nil)).Elem() +} + +func (i GetCosBucketReplicationRuleTypeArray) ToGetCosBucketReplicationRuleTypeArrayOutput() GetCosBucketReplicationRuleTypeArrayOutput { + return i.ToGetCosBucketReplicationRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketReplicationRuleTypeArray) ToGetCosBucketReplicationRuleTypeArrayOutputWithContext(ctx context.Context) GetCosBucketReplicationRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketReplicationRuleTypeArrayOutput) +} + +type GetCosBucketReplicationRuleTypeOutput struct{ *pulumi.OutputState } + +func (GetCosBucketReplicationRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketReplicationRuleType)(nil)).Elem() +} + +func (o GetCosBucketReplicationRuleTypeOutput) ToGetCosBucketReplicationRuleTypeOutput() GetCosBucketReplicationRuleTypeOutput { + return o +} + +func (o GetCosBucketReplicationRuleTypeOutput) ToGetCosBucketReplicationRuleTypeOutputWithContext(ctx context.Context) GetCosBucketReplicationRuleTypeOutput { + return o +} + +// Indicates whether to replicate delete markers. It should be either Enable or Disable +func (o GetCosBucketReplicationRuleTypeOutput) DeletemarkerReplicationStatus() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketReplicationRuleType) bool { return v.DeletemarkerReplicationStatus }).(pulumi.BoolOutput) +} + +// The Cloud Resource Name (CRN) of the bucket where you want COS to store the results +func (o GetCosBucketReplicationRuleTypeOutput) DestinationBucketCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketReplicationRuleType) string { return v.DestinationBucketCrn }).(pulumi.StringOutput) +} + +// Enable or disable an replication rule for a bucket +func (o GetCosBucketReplicationRuleTypeOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketReplicationRuleType) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// The rule applies to any objects with keys that match this prefix +func (o GetCosBucketReplicationRuleTypeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketReplicationRuleType) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetCosBucketReplicationRuleTypeOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketReplicationRuleType) int { return v.Priority }).(pulumi.IntOutput) +} + +// A unique identifier for the rule. The maximum value is 255 characters. +func (o GetCosBucketReplicationRuleTypeOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketReplicationRuleType) string { return v.RuleId }).(pulumi.StringOutput) +} + +type GetCosBucketReplicationRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketReplicationRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketReplicationRuleType)(nil)).Elem() +} + +func (o GetCosBucketReplicationRuleTypeArrayOutput) ToGetCosBucketReplicationRuleTypeArrayOutput() GetCosBucketReplicationRuleTypeArrayOutput { + return o +} + +func (o GetCosBucketReplicationRuleTypeArrayOutput) ToGetCosBucketReplicationRuleTypeArrayOutputWithContext(ctx context.Context) GetCosBucketReplicationRuleTypeArrayOutput { + return o +} + +func (o GetCosBucketReplicationRuleTypeArrayOutput) Index(i pulumi.IntInput) GetCosBucketReplicationRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketReplicationRuleType { + return vs[0].([]GetCosBucketReplicationRuleType)[vs[1].(int)] + }).(GetCosBucketReplicationRuleTypeOutput) +} + +type GetCosBucketRetentionRule struct { + // If an object is stored in the bucket without specifying a custom retention period. + Default int `pulumi:"default"` + // Maximum duration of time an object can be kept unmodified in the bucket. + Maximum int `pulumi:"maximum"` + // Minimum duration of time an object must be kept unmodified in the bucket + Minimum int `pulumi:"minimum"` + // Enable or disable the permanent retention policy on the bucket + Permanent bool `pulumi:"permanent"` +} + +// GetCosBucketRetentionRuleInput is an input type that accepts GetCosBucketRetentionRuleArgs and GetCosBucketRetentionRuleOutput values. +// You can construct a concrete instance of `GetCosBucketRetentionRuleInput` via: +// +// GetCosBucketRetentionRuleArgs{...} +type GetCosBucketRetentionRuleInput interface { + pulumi.Input + + ToGetCosBucketRetentionRuleOutput() GetCosBucketRetentionRuleOutput + ToGetCosBucketRetentionRuleOutputWithContext(context.Context) GetCosBucketRetentionRuleOutput +} + +type GetCosBucketRetentionRuleArgs struct { + // If an object is stored in the bucket without specifying a custom retention period. + Default pulumi.IntInput `pulumi:"default"` + // Maximum duration of time an object can be kept unmodified in the bucket. + Maximum pulumi.IntInput `pulumi:"maximum"` + // Minimum duration of time an object must be kept unmodified in the bucket + Minimum pulumi.IntInput `pulumi:"minimum"` + // Enable or disable the permanent retention policy on the bucket + Permanent pulumi.BoolInput `pulumi:"permanent"` +} + +func (GetCosBucketRetentionRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketRetentionRule)(nil)).Elem() +} + +func (i GetCosBucketRetentionRuleArgs) ToGetCosBucketRetentionRuleOutput() GetCosBucketRetentionRuleOutput { + return i.ToGetCosBucketRetentionRuleOutputWithContext(context.Background()) +} + +func (i GetCosBucketRetentionRuleArgs) ToGetCosBucketRetentionRuleOutputWithContext(ctx context.Context) GetCosBucketRetentionRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketRetentionRuleOutput) +} + +// GetCosBucketRetentionRuleArrayInput is an input type that accepts GetCosBucketRetentionRuleArray and GetCosBucketRetentionRuleArrayOutput values. +// You can construct a concrete instance of `GetCosBucketRetentionRuleArrayInput` via: +// +// GetCosBucketRetentionRuleArray{ GetCosBucketRetentionRuleArgs{...} } +type GetCosBucketRetentionRuleArrayInput interface { + pulumi.Input + + ToGetCosBucketRetentionRuleArrayOutput() GetCosBucketRetentionRuleArrayOutput + ToGetCosBucketRetentionRuleArrayOutputWithContext(context.Context) GetCosBucketRetentionRuleArrayOutput +} + +type GetCosBucketRetentionRuleArray []GetCosBucketRetentionRuleInput + +func (GetCosBucketRetentionRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketRetentionRule)(nil)).Elem() +} + +func (i GetCosBucketRetentionRuleArray) ToGetCosBucketRetentionRuleArrayOutput() GetCosBucketRetentionRuleArrayOutput { + return i.ToGetCosBucketRetentionRuleArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketRetentionRuleArray) ToGetCosBucketRetentionRuleArrayOutputWithContext(ctx context.Context) GetCosBucketRetentionRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketRetentionRuleArrayOutput) +} + +type GetCosBucketRetentionRuleOutput struct{ *pulumi.OutputState } + +func (GetCosBucketRetentionRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketRetentionRule)(nil)).Elem() +} + +func (o GetCosBucketRetentionRuleOutput) ToGetCosBucketRetentionRuleOutput() GetCosBucketRetentionRuleOutput { + return o +} + +func (o GetCosBucketRetentionRuleOutput) ToGetCosBucketRetentionRuleOutputWithContext(ctx context.Context) GetCosBucketRetentionRuleOutput { + return o +} + +// If an object is stored in the bucket without specifying a custom retention period. +func (o GetCosBucketRetentionRuleOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketRetentionRule) int { return v.Default }).(pulumi.IntOutput) +} + +// Maximum duration of time an object can be kept unmodified in the bucket. +func (o GetCosBucketRetentionRuleOutput) Maximum() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketRetentionRule) int { return v.Maximum }).(pulumi.IntOutput) +} + +// Minimum duration of time an object must be kept unmodified in the bucket +func (o GetCosBucketRetentionRuleOutput) Minimum() pulumi.IntOutput { + return o.ApplyT(func(v GetCosBucketRetentionRule) int { return v.Minimum }).(pulumi.IntOutput) +} + +// Enable or disable the permanent retention policy on the bucket +func (o GetCosBucketRetentionRuleOutput) Permanent() pulumi.BoolOutput { + return o.ApplyT(func(v GetCosBucketRetentionRule) bool { return v.Permanent }).(pulumi.BoolOutput) +} + +type GetCosBucketRetentionRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketRetentionRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketRetentionRule)(nil)).Elem() +} + +func (o GetCosBucketRetentionRuleArrayOutput) ToGetCosBucketRetentionRuleArrayOutput() GetCosBucketRetentionRuleArrayOutput { + return o +} + +func (o GetCosBucketRetentionRuleArrayOutput) ToGetCosBucketRetentionRuleArrayOutputWithContext(ctx context.Context) GetCosBucketRetentionRuleArrayOutput { + return o +} + +func (o GetCosBucketRetentionRuleArrayOutput) Index(i pulumi.IntInput) GetCosBucketRetentionRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketRetentionRule { + return vs[0].([]GetCosBucketRetentionRule)[vs[1].(int)] + }).(GetCosBucketRetentionRuleOutput) +} + +type GetCosBucketWebsiteConfigurationType struct { + ErrorDocuments []GetCosBucketWebsiteConfigurationErrorDocument `pulumi:"errorDocuments"` + IndexDocuments []GetCosBucketWebsiteConfigurationIndexDocument `pulumi:"indexDocuments"` + RedirectAllRequestsTos []GetCosBucketWebsiteConfigurationRedirectAllRequestsTo `pulumi:"redirectAllRequestsTos"` + // Rules that define when a redirect is applied and the redirect behavior. + RoutingRule []GetCosBucketWebsiteConfigurationRoutingRule `pulumi:"routingRule"` + // Rules that define when a redirect is applied and the redirect behavior. + RoutingRules string `pulumi:"routingRules"` +} + +// GetCosBucketWebsiteConfigurationTypeInput is an input type that accepts GetCosBucketWebsiteConfigurationTypeArgs and GetCosBucketWebsiteConfigurationTypeOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationTypeInput` via: +// +// GetCosBucketWebsiteConfigurationTypeArgs{...} +type GetCosBucketWebsiteConfigurationTypeInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationTypeOutput() GetCosBucketWebsiteConfigurationTypeOutput + ToGetCosBucketWebsiteConfigurationTypeOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationTypeOutput +} + +type GetCosBucketWebsiteConfigurationTypeArgs struct { + ErrorDocuments GetCosBucketWebsiteConfigurationErrorDocumentArrayInput `pulumi:"errorDocuments"` + IndexDocuments GetCosBucketWebsiteConfigurationIndexDocumentArrayInput `pulumi:"indexDocuments"` + RedirectAllRequestsTos GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayInput `pulumi:"redirectAllRequestsTos"` + // Rules that define when a redirect is applied and the redirect behavior. + RoutingRule GetCosBucketWebsiteConfigurationRoutingRuleArrayInput `pulumi:"routingRule"` + // Rules that define when a redirect is applied and the redirect behavior. + RoutingRules pulumi.StringInput `pulumi:"routingRules"` +} + +func (GetCosBucketWebsiteConfigurationTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationType)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationTypeArgs) ToGetCosBucketWebsiteConfigurationTypeOutput() GetCosBucketWebsiteConfigurationTypeOutput { + return i.ToGetCosBucketWebsiteConfigurationTypeOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationTypeArgs) ToGetCosBucketWebsiteConfigurationTypeOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationTypeOutput) +} + +// GetCosBucketWebsiteConfigurationTypeArrayInput is an input type that accepts GetCosBucketWebsiteConfigurationTypeArray and GetCosBucketWebsiteConfigurationTypeArrayOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationTypeArrayInput` via: +// +// GetCosBucketWebsiteConfigurationTypeArray{ GetCosBucketWebsiteConfigurationTypeArgs{...} } +type GetCosBucketWebsiteConfigurationTypeArrayInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationTypeArrayOutput() GetCosBucketWebsiteConfigurationTypeArrayOutput + ToGetCosBucketWebsiteConfigurationTypeArrayOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationTypeArrayOutput +} + +type GetCosBucketWebsiteConfigurationTypeArray []GetCosBucketWebsiteConfigurationTypeInput + +func (GetCosBucketWebsiteConfigurationTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationType)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationTypeArray) ToGetCosBucketWebsiteConfigurationTypeArrayOutput() GetCosBucketWebsiteConfigurationTypeArrayOutput { + return i.ToGetCosBucketWebsiteConfigurationTypeArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationTypeArray) ToGetCosBucketWebsiteConfigurationTypeArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationTypeArrayOutput) +} + +type GetCosBucketWebsiteConfigurationTypeOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationType)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationTypeOutput) ToGetCosBucketWebsiteConfigurationTypeOutput() GetCosBucketWebsiteConfigurationTypeOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationTypeOutput) ToGetCosBucketWebsiteConfigurationTypeOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationTypeOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationTypeOutput) ErrorDocuments() GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationType) []GetCosBucketWebsiteConfigurationErrorDocument { + return v.ErrorDocuments + }).(GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput) +} + +func (o GetCosBucketWebsiteConfigurationTypeOutput) IndexDocuments() GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationType) []GetCosBucketWebsiteConfigurationIndexDocument { + return v.IndexDocuments + }).(GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput) +} + +func (o GetCosBucketWebsiteConfigurationTypeOutput) RedirectAllRequestsTos() GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationType) []GetCosBucketWebsiteConfigurationRedirectAllRequestsTo { + return v.RedirectAllRequestsTos + }).(GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput) +} + +// Rules that define when a redirect is applied and the redirect behavior. +func (o GetCosBucketWebsiteConfigurationTypeOutput) RoutingRule() GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationType) []GetCosBucketWebsiteConfigurationRoutingRule { + return v.RoutingRule + }).(GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput) +} + +// Rules that define when a redirect is applied and the redirect behavior. +func (o GetCosBucketWebsiteConfigurationTypeOutput) RoutingRules() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationType) string { return v.RoutingRules }).(pulumi.StringOutput) +} + +type GetCosBucketWebsiteConfigurationTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationType)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationTypeArrayOutput) ToGetCosBucketWebsiteConfigurationTypeArrayOutput() GetCosBucketWebsiteConfigurationTypeArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationTypeArrayOutput) ToGetCosBucketWebsiteConfigurationTypeArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationTypeArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationTypeArrayOutput) Index(i pulumi.IntInput) GetCosBucketWebsiteConfigurationTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketWebsiteConfigurationType { + return vs[0].([]GetCosBucketWebsiteConfigurationType)[vs[1].(int)] + }).(GetCosBucketWebsiteConfigurationTypeOutput) +} + +type GetCosBucketWebsiteConfigurationErrorDocument struct { + Key string `pulumi:"key"` +} + +// GetCosBucketWebsiteConfigurationErrorDocumentInput is an input type that accepts GetCosBucketWebsiteConfigurationErrorDocumentArgs and GetCosBucketWebsiteConfigurationErrorDocumentOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationErrorDocumentInput` via: +// +// GetCosBucketWebsiteConfigurationErrorDocumentArgs{...} +type GetCosBucketWebsiteConfigurationErrorDocumentInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationErrorDocumentOutput() GetCosBucketWebsiteConfigurationErrorDocumentOutput + ToGetCosBucketWebsiteConfigurationErrorDocumentOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationErrorDocumentOutput +} + +type GetCosBucketWebsiteConfigurationErrorDocumentArgs struct { + Key pulumi.StringInput `pulumi:"key"` +} + +func (GetCosBucketWebsiteConfigurationErrorDocumentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationErrorDocument)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationErrorDocumentArgs) ToGetCosBucketWebsiteConfigurationErrorDocumentOutput() GetCosBucketWebsiteConfigurationErrorDocumentOutput { + return i.ToGetCosBucketWebsiteConfigurationErrorDocumentOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationErrorDocumentArgs) ToGetCosBucketWebsiteConfigurationErrorDocumentOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationErrorDocumentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationErrorDocumentOutput) +} + +// GetCosBucketWebsiteConfigurationErrorDocumentArrayInput is an input type that accepts GetCosBucketWebsiteConfigurationErrorDocumentArray and GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationErrorDocumentArrayInput` via: +// +// GetCosBucketWebsiteConfigurationErrorDocumentArray{ GetCosBucketWebsiteConfigurationErrorDocumentArgs{...} } +type GetCosBucketWebsiteConfigurationErrorDocumentArrayInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationErrorDocumentArrayOutput() GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput + ToGetCosBucketWebsiteConfigurationErrorDocumentArrayOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput +} + +type GetCosBucketWebsiteConfigurationErrorDocumentArray []GetCosBucketWebsiteConfigurationErrorDocumentInput + +func (GetCosBucketWebsiteConfigurationErrorDocumentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationErrorDocument)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationErrorDocumentArray) ToGetCosBucketWebsiteConfigurationErrorDocumentArrayOutput() GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput { + return i.ToGetCosBucketWebsiteConfigurationErrorDocumentArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationErrorDocumentArray) ToGetCosBucketWebsiteConfigurationErrorDocumentArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput) +} + +type GetCosBucketWebsiteConfigurationErrorDocumentOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationErrorDocumentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationErrorDocument)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationErrorDocumentOutput) ToGetCosBucketWebsiteConfigurationErrorDocumentOutput() GetCosBucketWebsiteConfigurationErrorDocumentOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationErrorDocumentOutput) ToGetCosBucketWebsiteConfigurationErrorDocumentOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationErrorDocumentOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationErrorDocumentOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationErrorDocument) string { return v.Key }).(pulumi.StringOutput) +} + +type GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationErrorDocument)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput) ToGetCosBucketWebsiteConfigurationErrorDocumentArrayOutput() GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput) ToGetCosBucketWebsiteConfigurationErrorDocumentArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput) Index(i pulumi.IntInput) GetCosBucketWebsiteConfigurationErrorDocumentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketWebsiteConfigurationErrorDocument { + return vs[0].([]GetCosBucketWebsiteConfigurationErrorDocument)[vs[1].(int)] + }).(GetCosBucketWebsiteConfigurationErrorDocumentOutput) +} + +type GetCosBucketWebsiteConfigurationIndexDocument struct { + Suffix string `pulumi:"suffix"` +} + +// GetCosBucketWebsiteConfigurationIndexDocumentInput is an input type that accepts GetCosBucketWebsiteConfigurationIndexDocumentArgs and GetCosBucketWebsiteConfigurationIndexDocumentOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationIndexDocumentInput` via: +// +// GetCosBucketWebsiteConfigurationIndexDocumentArgs{...} +type GetCosBucketWebsiteConfigurationIndexDocumentInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationIndexDocumentOutput() GetCosBucketWebsiteConfigurationIndexDocumentOutput + ToGetCosBucketWebsiteConfigurationIndexDocumentOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationIndexDocumentOutput +} + +type GetCosBucketWebsiteConfigurationIndexDocumentArgs struct { + Suffix pulumi.StringInput `pulumi:"suffix"` +} + +func (GetCosBucketWebsiteConfigurationIndexDocumentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationIndexDocument)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationIndexDocumentArgs) ToGetCosBucketWebsiteConfigurationIndexDocumentOutput() GetCosBucketWebsiteConfigurationIndexDocumentOutput { + return i.ToGetCosBucketWebsiteConfigurationIndexDocumentOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationIndexDocumentArgs) ToGetCosBucketWebsiteConfigurationIndexDocumentOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationIndexDocumentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationIndexDocumentOutput) +} + +// GetCosBucketWebsiteConfigurationIndexDocumentArrayInput is an input type that accepts GetCosBucketWebsiteConfigurationIndexDocumentArray and GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationIndexDocumentArrayInput` via: +// +// GetCosBucketWebsiteConfigurationIndexDocumentArray{ GetCosBucketWebsiteConfigurationIndexDocumentArgs{...} } +type GetCosBucketWebsiteConfigurationIndexDocumentArrayInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationIndexDocumentArrayOutput() GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput + ToGetCosBucketWebsiteConfigurationIndexDocumentArrayOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput +} + +type GetCosBucketWebsiteConfigurationIndexDocumentArray []GetCosBucketWebsiteConfigurationIndexDocumentInput + +func (GetCosBucketWebsiteConfigurationIndexDocumentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationIndexDocument)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationIndexDocumentArray) ToGetCosBucketWebsiteConfigurationIndexDocumentArrayOutput() GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput { + return i.ToGetCosBucketWebsiteConfigurationIndexDocumentArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationIndexDocumentArray) ToGetCosBucketWebsiteConfigurationIndexDocumentArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput) +} + +type GetCosBucketWebsiteConfigurationIndexDocumentOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationIndexDocumentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationIndexDocument)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationIndexDocumentOutput) ToGetCosBucketWebsiteConfigurationIndexDocumentOutput() GetCosBucketWebsiteConfigurationIndexDocumentOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationIndexDocumentOutput) ToGetCosBucketWebsiteConfigurationIndexDocumentOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationIndexDocumentOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationIndexDocumentOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationIndexDocument) string { return v.Suffix }).(pulumi.StringOutput) +} + +type GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationIndexDocument)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput) ToGetCosBucketWebsiteConfigurationIndexDocumentArrayOutput() GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput) ToGetCosBucketWebsiteConfigurationIndexDocumentArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput) Index(i pulumi.IntInput) GetCosBucketWebsiteConfigurationIndexDocumentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketWebsiteConfigurationIndexDocument { + return vs[0].([]GetCosBucketWebsiteConfigurationIndexDocument)[vs[1].(int)] + }).(GetCosBucketWebsiteConfigurationIndexDocumentOutput) +} + +type GetCosBucketWebsiteConfigurationRedirectAllRequestsTo struct { + HostName string `pulumi:"hostName"` + Protocol string `pulumi:"protocol"` +} + +// GetCosBucketWebsiteConfigurationRedirectAllRequestsToInput is an input type that accepts GetCosBucketWebsiteConfigurationRedirectAllRequestsToArgs and GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationRedirectAllRequestsToInput` via: +// +// GetCosBucketWebsiteConfigurationRedirectAllRequestsToArgs{...} +type GetCosBucketWebsiteConfigurationRedirectAllRequestsToInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput() GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput + ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput +} + +type GetCosBucketWebsiteConfigurationRedirectAllRequestsToArgs struct { + HostName pulumi.StringInput `pulumi:"hostName"` + Protocol pulumi.StringInput `pulumi:"protocol"` +} + +func (GetCosBucketWebsiteConfigurationRedirectAllRequestsToArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationRedirectAllRequestsTo)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationRedirectAllRequestsToArgs) ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput() GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput { + return i.ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationRedirectAllRequestsToArgs) ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput) +} + +// GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayInput is an input type that accepts GetCosBucketWebsiteConfigurationRedirectAllRequestsToArray and GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayInput` via: +// +// GetCosBucketWebsiteConfigurationRedirectAllRequestsToArray{ GetCosBucketWebsiteConfigurationRedirectAllRequestsToArgs{...} } +type GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput() GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput + ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput +} + +type GetCosBucketWebsiteConfigurationRedirectAllRequestsToArray []GetCosBucketWebsiteConfigurationRedirectAllRequestsToInput + +func (GetCosBucketWebsiteConfigurationRedirectAllRequestsToArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationRedirectAllRequestsTo)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationRedirectAllRequestsToArray) ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput() GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput { + return i.ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationRedirectAllRequestsToArray) ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput) +} + +type GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationRedirectAllRequestsTo)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput) ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput() GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput) ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput) HostName() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRedirectAllRequestsTo) string { return v.HostName }).(pulumi.StringOutput) +} + +func (o GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRedirectAllRequestsTo) string { return v.Protocol }).(pulumi.StringOutput) +} + +type GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationRedirectAllRequestsTo)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput) ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput() GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput) ToGetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput) Index(i pulumi.IntInput) GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketWebsiteConfigurationRedirectAllRequestsTo { + return vs[0].([]GetCosBucketWebsiteConfigurationRedirectAllRequestsTo)[vs[1].(int)] + }).(GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRule struct { + // A condition that must be met for the specified redirect to be applie. + Conditions []GetCosBucketWebsiteConfigurationRoutingRuleCondition `pulumi:"conditions"` + // . + Redirects []GetCosBucketWebsiteConfigurationRoutingRuleRedirect `pulumi:"redirects"` +} + +// GetCosBucketWebsiteConfigurationRoutingRuleInput is an input type that accepts GetCosBucketWebsiteConfigurationRoutingRuleArgs and GetCosBucketWebsiteConfigurationRoutingRuleOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationRoutingRuleInput` via: +// +// GetCosBucketWebsiteConfigurationRoutingRuleArgs{...} +type GetCosBucketWebsiteConfigurationRoutingRuleInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationRoutingRuleOutput() GetCosBucketWebsiteConfigurationRoutingRuleOutput + ToGetCosBucketWebsiteConfigurationRoutingRuleOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationRoutingRuleOutput +} + +type GetCosBucketWebsiteConfigurationRoutingRuleArgs struct { + // A condition that must be met for the specified redirect to be applie. + Conditions GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayInput `pulumi:"conditions"` + // . + Redirects GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayInput `pulumi:"redirects"` +} + +func (GetCosBucketWebsiteConfigurationRoutingRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRule)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleArgs) ToGetCosBucketWebsiteConfigurationRoutingRuleOutput() GetCosBucketWebsiteConfigurationRoutingRuleOutput { + return i.ToGetCosBucketWebsiteConfigurationRoutingRuleOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleArgs) ToGetCosBucketWebsiteConfigurationRoutingRuleOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationRoutingRuleOutput) +} + +// GetCosBucketWebsiteConfigurationRoutingRuleArrayInput is an input type that accepts GetCosBucketWebsiteConfigurationRoutingRuleArray and GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationRoutingRuleArrayInput` via: +// +// GetCosBucketWebsiteConfigurationRoutingRuleArray{ GetCosBucketWebsiteConfigurationRoutingRuleArgs{...} } +type GetCosBucketWebsiteConfigurationRoutingRuleArrayInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationRoutingRuleArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput + ToGetCosBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput +} + +type GetCosBucketWebsiteConfigurationRoutingRuleArray []GetCosBucketWebsiteConfigurationRoutingRuleInput + +func (GetCosBucketWebsiteConfigurationRoutingRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationRoutingRule)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleArray) ToGetCosBucketWebsiteConfigurationRoutingRuleArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput { + return i.ToGetCosBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleArray) ToGetCosBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRuleOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationRoutingRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRule)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleOutput() GetCosBucketWebsiteConfigurationRoutingRuleOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleOutput { + return o +} + +// A condition that must be met for the specified redirect to be applie. +func (o GetCosBucketWebsiteConfigurationRoutingRuleOutput) Conditions() GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRule) []GetCosBucketWebsiteConfigurationRoutingRuleCondition { + return v.Conditions + }).(GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput) +} + +// . +func (o GetCosBucketWebsiteConfigurationRoutingRuleOutput) Redirects() GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRule) []GetCosBucketWebsiteConfigurationRoutingRuleRedirect { + return v.Redirects + }).(GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationRoutingRule)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput) Index(i pulumi.IntInput) GetCosBucketWebsiteConfigurationRoutingRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketWebsiteConfigurationRoutingRule { + return vs[0].([]GetCosBucketWebsiteConfigurationRoutingRule)[vs[1].(int)] + }).(GetCosBucketWebsiteConfigurationRoutingRuleOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRuleCondition struct { + // The HTTP error code when the redirect is applied. Valid codes are 4XX or 5XX.. + HttpErrorCodeReturnedEquals string `pulumi:"httpErrorCodeReturnedEquals"` + // The object key name prefix when the redirect is applied.. + KeyPrefixEquals string `pulumi:"keyPrefixEquals"` +} + +// GetCosBucketWebsiteConfigurationRoutingRuleConditionInput is an input type that accepts GetCosBucketWebsiteConfigurationRoutingRuleConditionArgs and GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationRoutingRuleConditionInput` via: +// +// GetCosBucketWebsiteConfigurationRoutingRuleConditionArgs{...} +type GetCosBucketWebsiteConfigurationRoutingRuleConditionInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationRoutingRuleConditionOutput() GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput + ToGetCosBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput +} + +type GetCosBucketWebsiteConfigurationRoutingRuleConditionArgs struct { + // The HTTP error code when the redirect is applied. Valid codes are 4XX or 5XX.. + HttpErrorCodeReturnedEquals pulumi.StringInput `pulumi:"httpErrorCodeReturnedEquals"` + // The object key name prefix when the redirect is applied.. + KeyPrefixEquals pulumi.StringInput `pulumi:"keyPrefixEquals"` +} + +func (GetCosBucketWebsiteConfigurationRoutingRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleCondition)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleConditionArgs) ToGetCosBucketWebsiteConfigurationRoutingRuleConditionOutput() GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput { + return i.ToGetCosBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleConditionArgs) ToGetCosBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput) +} + +// GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayInput is an input type that accepts GetCosBucketWebsiteConfigurationRoutingRuleConditionArray and GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayInput` via: +// +// GetCosBucketWebsiteConfigurationRoutingRuleConditionArray{ GetCosBucketWebsiteConfigurationRoutingRuleConditionArgs{...} } +type GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput + ToGetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput +} + +type GetCosBucketWebsiteConfigurationRoutingRuleConditionArray []GetCosBucketWebsiteConfigurationRoutingRuleConditionInput + +func (GetCosBucketWebsiteConfigurationRoutingRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationRoutingRuleCondition)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleConditionArray) ToGetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput { + return i.ToGetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleConditionArray) ToGetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleCondition)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleConditionOutput() GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput { + return o +} + +// The HTTP error code when the redirect is applied. Valid codes are 4XX or 5XX.. +func (o GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput) HttpErrorCodeReturnedEquals() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRuleCondition) string { + return v.HttpErrorCodeReturnedEquals + }).(pulumi.StringOutput) +} + +// The object key name prefix when the redirect is applied.. +func (o GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput) KeyPrefixEquals() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRuleCondition) string { return v.KeyPrefixEquals }).(pulumi.StringOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationRoutingRuleCondition)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput) Index(i pulumi.IntInput) GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketWebsiteConfigurationRoutingRuleCondition { + return vs[0].([]GetCosBucketWebsiteConfigurationRoutingRuleCondition)[vs[1].(int)] + }).(GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRuleRedirect struct { + // The host name the request should be redirected to. + HostName string `pulumi:"hostName"` + // The HTTP redirect code to use on the response. Valid codes are 3XX except 300.. + HttpRedirectCode string `pulumi:"httpRedirectCode"` + // Protocol to be used in the Location header that is returned in the response. + Protocol string `pulumi:"protocol"` + // The prefix of the object key name that replaces the value of KeyPrefixEquals in the redirect request. + ReplaceKeyPrefixWith string `pulumi:"replaceKeyPrefixWith"` + // The object key to be used in the Location header that is returned in the response. + ReplaceKeyWith string `pulumi:"replaceKeyWith"` +} + +// GetCosBucketWebsiteConfigurationRoutingRuleRedirectInput is an input type that accepts GetCosBucketWebsiteConfigurationRoutingRuleRedirectArgs and GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationRoutingRuleRedirectInput` via: +// +// GetCosBucketWebsiteConfigurationRoutingRuleRedirectArgs{...} +type GetCosBucketWebsiteConfigurationRoutingRuleRedirectInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput() GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput + ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput +} + +type GetCosBucketWebsiteConfigurationRoutingRuleRedirectArgs struct { + // The host name the request should be redirected to. + HostName pulumi.StringInput `pulumi:"hostName"` + // The HTTP redirect code to use on the response. Valid codes are 3XX except 300.. + HttpRedirectCode pulumi.StringInput `pulumi:"httpRedirectCode"` + // Protocol to be used in the Location header that is returned in the response. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The prefix of the object key name that replaces the value of KeyPrefixEquals in the redirect request. + ReplaceKeyPrefixWith pulumi.StringInput `pulumi:"replaceKeyPrefixWith"` + // The object key to be used in the Location header that is returned in the response. + ReplaceKeyWith pulumi.StringInput `pulumi:"replaceKeyWith"` +} + +func (GetCosBucketWebsiteConfigurationRoutingRuleRedirectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleRedirect)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleRedirectArgs) ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput() GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput { + return i.ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleRedirectArgs) ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) +} + +// GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayInput is an input type that accepts GetCosBucketWebsiteConfigurationRoutingRuleRedirectArray and GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput values. +// You can construct a concrete instance of `GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayInput` via: +// +// GetCosBucketWebsiteConfigurationRoutingRuleRedirectArray{ GetCosBucketWebsiteConfigurationRoutingRuleRedirectArgs{...} } +type GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayInput interface { + pulumi.Input + + ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput + ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutputWithContext(context.Context) GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput +} + +type GetCosBucketWebsiteConfigurationRoutingRuleRedirectArray []GetCosBucketWebsiteConfigurationRoutingRuleRedirectInput + +func (GetCosBucketWebsiteConfigurationRoutingRuleRedirectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationRoutingRuleRedirect)(nil)).Elem() +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleRedirectArray) ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput { + return i.ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutputWithContext(context.Background()) +} + +func (i GetCosBucketWebsiteConfigurationRoutingRuleRedirectArray) ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleRedirect)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput() GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput { + return o +} + +// The host name the request should be redirected to. +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) HostName() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRuleRedirect) string { return v.HostName }).(pulumi.StringOutput) +} + +// The HTTP redirect code to use on the response. Valid codes are 3XX except 300.. +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) HttpRedirectCode() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRuleRedirect) string { return v.HttpRedirectCode }).(pulumi.StringOutput) +} + +// Protocol to be used in the Location header that is returned in the response. +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRuleRedirect) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The prefix of the object key name that replaces the value of KeyPrefixEquals in the redirect request. +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) ReplaceKeyPrefixWith() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRuleRedirect) string { return v.ReplaceKeyPrefixWith }).(pulumi.StringOutput) +} + +// The object key to be used in the Location header that is returned in the response. +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) ReplaceKeyWith() pulumi.StringOutput { + return o.ApplyT(func(v GetCosBucketWebsiteConfigurationRoutingRuleRedirect) string { return v.ReplaceKeyWith }).(pulumi.StringOutput) +} + +type GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput struct{ *pulumi.OutputState } + +func (GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCosBucketWebsiteConfigurationRoutingRuleRedirect)(nil)).Elem() +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput() GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput) ToGetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutputWithContext(ctx context.Context) GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput { + return o +} + +func (o GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput) Index(i pulumi.IntInput) GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCosBucketWebsiteConfigurationRoutingRuleRedirect { + return vs[0].([]GetCosBucketWebsiteConfigurationRoutingRuleRedirect)[vs[1].(int)] + }).(GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput) +} + +type GetIamAccessGroupGroup struct { + // CRN of the access group + Crn string `pulumi:"crn"` + // Description of the access group + Description *string `pulumi:"description"` + IamProfileIds []string `pulumi:"iamProfileIds"` + IamServiceIds []string `pulumi:"iamServiceIds"` + IbmIds []string `pulumi:"ibmIds"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + Rules []GetIamAccessGroupGroupRule `pulumi:"rules"` +} + +// GetIamAccessGroupGroupInput is an input type that accepts GetIamAccessGroupGroupArgs and GetIamAccessGroupGroupOutput values. +// You can construct a concrete instance of `GetIamAccessGroupGroupInput` via: +// +// GetIamAccessGroupGroupArgs{...} +type GetIamAccessGroupGroupInput interface { + pulumi.Input + + ToGetIamAccessGroupGroupOutput() GetIamAccessGroupGroupOutput + ToGetIamAccessGroupGroupOutputWithContext(context.Context) GetIamAccessGroupGroupOutput +} + +type GetIamAccessGroupGroupArgs struct { + // CRN of the access group + Crn pulumi.StringInput `pulumi:"crn"` + // Description of the access group + Description pulumi.StringPtrInput `pulumi:"description"` + IamProfileIds pulumi.StringArrayInput `pulumi:"iamProfileIds"` + IamServiceIds pulumi.StringArrayInput `pulumi:"iamServiceIds"` + IbmIds pulumi.StringArrayInput `pulumi:"ibmIds"` + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + Rules GetIamAccessGroupGroupRuleArrayInput `pulumi:"rules"` +} + +func (GetIamAccessGroupGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupGroup)(nil)).Elem() +} + +func (i GetIamAccessGroupGroupArgs) ToGetIamAccessGroupGroupOutput() GetIamAccessGroupGroupOutput { + return i.ToGetIamAccessGroupGroupOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupGroupArgs) ToGetIamAccessGroupGroupOutputWithContext(ctx context.Context) GetIamAccessGroupGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupGroupOutput) +} + +// GetIamAccessGroupGroupArrayInput is an input type that accepts GetIamAccessGroupGroupArray and GetIamAccessGroupGroupArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupGroupArrayInput` via: +// +// GetIamAccessGroupGroupArray{ GetIamAccessGroupGroupArgs{...} } +type GetIamAccessGroupGroupArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupGroupArrayOutput() GetIamAccessGroupGroupArrayOutput + ToGetIamAccessGroupGroupArrayOutputWithContext(context.Context) GetIamAccessGroupGroupArrayOutput +} + +type GetIamAccessGroupGroupArray []GetIamAccessGroupGroupInput + +func (GetIamAccessGroupGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupGroup)(nil)).Elem() +} + +func (i GetIamAccessGroupGroupArray) ToGetIamAccessGroupGroupArrayOutput() GetIamAccessGroupGroupArrayOutput { + return i.ToGetIamAccessGroupGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupGroupArray) ToGetIamAccessGroupGroupArrayOutputWithContext(ctx context.Context) GetIamAccessGroupGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupGroupArrayOutput) +} + +type GetIamAccessGroupGroupOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupGroup)(nil)).Elem() +} + +func (o GetIamAccessGroupGroupOutput) ToGetIamAccessGroupGroupOutput() GetIamAccessGroupGroupOutput { + return o +} + +func (o GetIamAccessGroupGroupOutput) ToGetIamAccessGroupGroupOutputWithContext(ctx context.Context) GetIamAccessGroupGroupOutput { + return o +} + +// CRN of the access group +func (o GetIamAccessGroupGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// Description of the access group +func (o GetIamAccessGroupGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamAccessGroupGroup) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o GetIamAccessGroupGroupOutput) IamProfileIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupGroup) []string { return v.IamProfileIds }).(pulumi.StringArrayOutput) +} + +func (o GetIamAccessGroupGroupOutput) IamServiceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupGroup) []string { return v.IamServiceIds }).(pulumi.StringArrayOutput) +} + +func (o GetIamAccessGroupGroupOutput) IbmIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupGroup) []string { return v.IbmIds }).(pulumi.StringArrayOutput) +} + +func (o GetIamAccessGroupGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroup) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamAccessGroupGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroup) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIamAccessGroupGroupOutput) Rules() GetIamAccessGroupGroupRuleArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupGroup) []GetIamAccessGroupGroupRule { return v.Rules }).(GetIamAccessGroupGroupRuleArrayOutput) +} + +type GetIamAccessGroupGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupGroup)(nil)).Elem() +} + +func (o GetIamAccessGroupGroupArrayOutput) ToGetIamAccessGroupGroupArrayOutput() GetIamAccessGroupGroupArrayOutput { + return o +} + +func (o GetIamAccessGroupGroupArrayOutput) ToGetIamAccessGroupGroupArrayOutputWithContext(ctx context.Context) GetIamAccessGroupGroupArrayOutput { + return o +} + +func (o GetIamAccessGroupGroupArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupGroup { + return vs[0].([]GetIamAccessGroupGroup)[vs[1].(int)] + }).(GetIamAccessGroupGroupOutput) +} + +type GetIamAccessGroupGroupRule struct { + Conditions []GetIamAccessGroupGroupRuleCondition `pulumi:"conditions"` + // The expiration in hours + Expiration int `pulumi:"expiration"` + // The realm name or identity proivider url + IdentityProvider string `pulumi:"identityProvider"` + // The name of the Rule + Name string `pulumi:"name"` + // id of the rule + RuleId string `pulumi:"ruleId"` +} + +// GetIamAccessGroupGroupRuleInput is an input type that accepts GetIamAccessGroupGroupRuleArgs and GetIamAccessGroupGroupRuleOutput values. +// You can construct a concrete instance of `GetIamAccessGroupGroupRuleInput` via: +// +// GetIamAccessGroupGroupRuleArgs{...} +type GetIamAccessGroupGroupRuleInput interface { + pulumi.Input + + ToGetIamAccessGroupGroupRuleOutput() GetIamAccessGroupGroupRuleOutput + ToGetIamAccessGroupGroupRuleOutputWithContext(context.Context) GetIamAccessGroupGroupRuleOutput +} + +type GetIamAccessGroupGroupRuleArgs struct { + Conditions GetIamAccessGroupGroupRuleConditionArrayInput `pulumi:"conditions"` + // The expiration in hours + Expiration pulumi.IntInput `pulumi:"expiration"` + // The realm name or identity proivider url + IdentityProvider pulumi.StringInput `pulumi:"identityProvider"` + // The name of the Rule + Name pulumi.StringInput `pulumi:"name"` + // id of the rule + RuleId pulumi.StringInput `pulumi:"ruleId"` +} + +func (GetIamAccessGroupGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupGroupRule)(nil)).Elem() +} + +func (i GetIamAccessGroupGroupRuleArgs) ToGetIamAccessGroupGroupRuleOutput() GetIamAccessGroupGroupRuleOutput { + return i.ToGetIamAccessGroupGroupRuleOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupGroupRuleArgs) ToGetIamAccessGroupGroupRuleOutputWithContext(ctx context.Context) GetIamAccessGroupGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupGroupRuleOutput) +} + +// GetIamAccessGroupGroupRuleArrayInput is an input type that accepts GetIamAccessGroupGroupRuleArray and GetIamAccessGroupGroupRuleArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupGroupRuleArrayInput` via: +// +// GetIamAccessGroupGroupRuleArray{ GetIamAccessGroupGroupRuleArgs{...} } +type GetIamAccessGroupGroupRuleArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupGroupRuleArrayOutput() GetIamAccessGroupGroupRuleArrayOutput + ToGetIamAccessGroupGroupRuleArrayOutputWithContext(context.Context) GetIamAccessGroupGroupRuleArrayOutput +} + +type GetIamAccessGroupGroupRuleArray []GetIamAccessGroupGroupRuleInput + +func (GetIamAccessGroupGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupGroupRule)(nil)).Elem() +} + +func (i GetIamAccessGroupGroupRuleArray) ToGetIamAccessGroupGroupRuleArrayOutput() GetIamAccessGroupGroupRuleArrayOutput { + return i.ToGetIamAccessGroupGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupGroupRuleArray) ToGetIamAccessGroupGroupRuleArrayOutputWithContext(ctx context.Context) GetIamAccessGroupGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupGroupRuleArrayOutput) +} + +type GetIamAccessGroupGroupRuleOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupGroupRule)(nil)).Elem() +} + +func (o GetIamAccessGroupGroupRuleOutput) ToGetIamAccessGroupGroupRuleOutput() GetIamAccessGroupGroupRuleOutput { + return o +} + +func (o GetIamAccessGroupGroupRuleOutput) ToGetIamAccessGroupGroupRuleOutputWithContext(ctx context.Context) GetIamAccessGroupGroupRuleOutput { + return o +} + +func (o GetIamAccessGroupGroupRuleOutput) Conditions() GetIamAccessGroupGroupRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupGroupRule) []GetIamAccessGroupGroupRuleCondition { return v.Conditions }).(GetIamAccessGroupGroupRuleConditionArrayOutput) +} + +// The expiration in hours +func (o GetIamAccessGroupGroupRuleOutput) Expiration() pulumi.IntOutput { + return o.ApplyT(func(v GetIamAccessGroupGroupRule) int { return v.Expiration }).(pulumi.IntOutput) +} + +// The realm name or identity proivider url +func (o GetIamAccessGroupGroupRuleOutput) IdentityProvider() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroupRule) string { return v.IdentityProvider }).(pulumi.StringOutput) +} + +// The name of the Rule +func (o GetIamAccessGroupGroupRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroupRule) string { return v.Name }).(pulumi.StringOutput) +} + +// id of the rule +func (o GetIamAccessGroupGroupRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroupRule) string { return v.RuleId }).(pulumi.StringOutput) +} + +type GetIamAccessGroupGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupGroupRule)(nil)).Elem() +} + +func (o GetIamAccessGroupGroupRuleArrayOutput) ToGetIamAccessGroupGroupRuleArrayOutput() GetIamAccessGroupGroupRuleArrayOutput { + return o +} + +func (o GetIamAccessGroupGroupRuleArrayOutput) ToGetIamAccessGroupGroupRuleArrayOutputWithContext(ctx context.Context) GetIamAccessGroupGroupRuleArrayOutput { + return o +} + +func (o GetIamAccessGroupGroupRuleArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupGroupRule { + return vs[0].([]GetIamAccessGroupGroupRule)[vs[1].(int)] + }).(GetIamAccessGroupGroupRuleOutput) +} + +type GetIamAccessGroupGroupRuleCondition struct { + Claim string `pulumi:"claim"` + Operator string `pulumi:"operator"` + Value string `pulumi:"value"` +} + +// GetIamAccessGroupGroupRuleConditionInput is an input type that accepts GetIamAccessGroupGroupRuleConditionArgs and GetIamAccessGroupGroupRuleConditionOutput values. +// You can construct a concrete instance of `GetIamAccessGroupGroupRuleConditionInput` via: +// +// GetIamAccessGroupGroupRuleConditionArgs{...} +type GetIamAccessGroupGroupRuleConditionInput interface { + pulumi.Input + + ToGetIamAccessGroupGroupRuleConditionOutput() GetIamAccessGroupGroupRuleConditionOutput + ToGetIamAccessGroupGroupRuleConditionOutputWithContext(context.Context) GetIamAccessGroupGroupRuleConditionOutput +} + +type GetIamAccessGroupGroupRuleConditionArgs struct { + Claim pulumi.StringInput `pulumi:"claim"` + Operator pulumi.StringInput `pulumi:"operator"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamAccessGroupGroupRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupGroupRuleCondition)(nil)).Elem() +} + +func (i GetIamAccessGroupGroupRuleConditionArgs) ToGetIamAccessGroupGroupRuleConditionOutput() GetIamAccessGroupGroupRuleConditionOutput { + return i.ToGetIamAccessGroupGroupRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupGroupRuleConditionArgs) ToGetIamAccessGroupGroupRuleConditionOutputWithContext(ctx context.Context) GetIamAccessGroupGroupRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupGroupRuleConditionOutput) +} + +// GetIamAccessGroupGroupRuleConditionArrayInput is an input type that accepts GetIamAccessGroupGroupRuleConditionArray and GetIamAccessGroupGroupRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupGroupRuleConditionArrayInput` via: +// +// GetIamAccessGroupGroupRuleConditionArray{ GetIamAccessGroupGroupRuleConditionArgs{...} } +type GetIamAccessGroupGroupRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupGroupRuleConditionArrayOutput() GetIamAccessGroupGroupRuleConditionArrayOutput + ToGetIamAccessGroupGroupRuleConditionArrayOutputWithContext(context.Context) GetIamAccessGroupGroupRuleConditionArrayOutput +} + +type GetIamAccessGroupGroupRuleConditionArray []GetIamAccessGroupGroupRuleConditionInput + +func (GetIamAccessGroupGroupRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupGroupRuleCondition)(nil)).Elem() +} + +func (i GetIamAccessGroupGroupRuleConditionArray) ToGetIamAccessGroupGroupRuleConditionArrayOutput() GetIamAccessGroupGroupRuleConditionArrayOutput { + return i.ToGetIamAccessGroupGroupRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupGroupRuleConditionArray) ToGetIamAccessGroupGroupRuleConditionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupGroupRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupGroupRuleConditionArrayOutput) +} + +type GetIamAccessGroupGroupRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupGroupRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupGroupRuleCondition)(nil)).Elem() +} + +func (o GetIamAccessGroupGroupRuleConditionOutput) ToGetIamAccessGroupGroupRuleConditionOutput() GetIamAccessGroupGroupRuleConditionOutput { + return o +} + +func (o GetIamAccessGroupGroupRuleConditionOutput) ToGetIamAccessGroupGroupRuleConditionOutputWithContext(ctx context.Context) GetIamAccessGroupGroupRuleConditionOutput { + return o +} + +func (o GetIamAccessGroupGroupRuleConditionOutput) Claim() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroupRuleCondition) string { return v.Claim }).(pulumi.StringOutput) +} + +func (o GetIamAccessGroupGroupRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroupRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +func (o GetIamAccessGroupGroupRuleConditionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupGroupRuleCondition) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamAccessGroupGroupRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupGroupRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupGroupRuleCondition)(nil)).Elem() +} + +func (o GetIamAccessGroupGroupRuleConditionArrayOutput) ToGetIamAccessGroupGroupRuleConditionArrayOutput() GetIamAccessGroupGroupRuleConditionArrayOutput { + return o +} + +func (o GetIamAccessGroupGroupRuleConditionArrayOutput) ToGetIamAccessGroupGroupRuleConditionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupGroupRuleConditionArrayOutput { + return o +} + +func (o GetIamAccessGroupGroupRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupGroupRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupGroupRuleCondition { + return vs[0].([]GetIamAccessGroupGroupRuleCondition)[vs[1].(int)] + }).(GetIamAccessGroupGroupRuleConditionOutput) +} + +type GetIamAccessGroupPolicyPolicy struct { + // Description of the Policy + Description string `pulumi:"description"` + Id string `pulumi:"id"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set access management tags. + ResourceTags []GetIamAccessGroupPolicyPolicyResourceTag `pulumi:"resourceTags"` + Resources []GetIamAccessGroupPolicyPolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []GetIamAccessGroupPolicyPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + // Template meta data created from policy assignment + Templates []GetIamAccessGroupPolicyPolicyTemplate `pulumi:"templates"` +} + +// GetIamAccessGroupPolicyPolicyInput is an input type that accepts GetIamAccessGroupPolicyPolicyArgs and GetIamAccessGroupPolicyPolicyOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyInput` via: +// +// GetIamAccessGroupPolicyPolicyArgs{...} +type GetIamAccessGroupPolicyPolicyInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyOutput() GetIamAccessGroupPolicyPolicyOutput + ToGetIamAccessGroupPolicyPolicyOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyOutput +} + +type GetIamAccessGroupPolicyPolicyArgs struct { + // Description of the Policy + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput `pulumi:"pattern"` + // Set access management tags. + ResourceTags GetIamAccessGroupPolicyPolicyResourceTagArrayInput `pulumi:"resourceTags"` + Resources GetIamAccessGroupPolicyPolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions GetIamAccessGroupPolicyPolicyRuleConditionArrayInput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput `pulumi:"ruleOperator"` + // Template meta data created from policy assignment + Templates GetIamAccessGroupPolicyPolicyTemplateArrayInput `pulumi:"templates"` +} + +func (GetIamAccessGroupPolicyPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicy)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyArgs) ToGetIamAccessGroupPolicyPolicyOutput() GetIamAccessGroupPolicyPolicyOutput { + return i.ToGetIamAccessGroupPolicyPolicyOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyArgs) ToGetIamAccessGroupPolicyPolicyOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyOutput) +} + +// GetIamAccessGroupPolicyPolicyArrayInput is an input type that accepts GetIamAccessGroupPolicyPolicyArray and GetIamAccessGroupPolicyPolicyArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyArrayInput` via: +// +// GetIamAccessGroupPolicyPolicyArray{ GetIamAccessGroupPolicyPolicyArgs{...} } +type GetIamAccessGroupPolicyPolicyArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyArrayOutput() GetIamAccessGroupPolicyPolicyArrayOutput + ToGetIamAccessGroupPolicyPolicyArrayOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyArrayOutput +} + +type GetIamAccessGroupPolicyPolicyArray []GetIamAccessGroupPolicyPolicyInput + +func (GetIamAccessGroupPolicyPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicy)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyArray) ToGetIamAccessGroupPolicyPolicyArrayOutput() GetIamAccessGroupPolicyPolicyArrayOutput { + return i.ToGetIamAccessGroupPolicyPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyArray) ToGetIamAccessGroupPolicyPolicyArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicy)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyOutput) ToGetIamAccessGroupPolicyPolicyOutput() GetIamAccessGroupPolicyPolicyOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyOutput) ToGetIamAccessGroupPolicyPolicyOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyOutput { + return o +} + +// Description of the Policy +func (o GetIamAccessGroupPolicyPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetIamAccessGroupPolicyPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// Pattern rule follows for time-based condition +func (o GetIamAccessGroupPolicyPolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) *string { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// Set access management tags. +func (o GetIamAccessGroupPolicyPolicyOutput) ResourceTags() GetIamAccessGroupPolicyPolicyResourceTagArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) []GetIamAccessGroupPolicyPolicyResourceTag { + return v.ResourceTags + }).(GetIamAccessGroupPolicyPolicyResourceTagArrayOutput) +} + +func (o GetIamAccessGroupPolicyPolicyOutput) Resources() GetIamAccessGroupPolicyPolicyResourceArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) []GetIamAccessGroupPolicyPolicyResource { return v.Resources }).(GetIamAccessGroupPolicyPolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o GetIamAccessGroupPolicyPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o GetIamAccessGroupPolicyPolicyOutput) RuleConditions() GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) []GetIamAccessGroupPolicyPolicyRuleCondition { + return v.RuleConditions + }).(GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o GetIamAccessGroupPolicyPolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) *string { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +// Template meta data created from policy assignment +func (o GetIamAccessGroupPolicyPolicyOutput) Templates() GetIamAccessGroupPolicyPolicyTemplateArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicy) []GetIamAccessGroupPolicyPolicyTemplate { return v.Templates }).(GetIamAccessGroupPolicyPolicyTemplateArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicy)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyArrayOutput) ToGetIamAccessGroupPolicyPolicyArrayOutput() GetIamAccessGroupPolicyPolicyArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyArrayOutput) ToGetIamAccessGroupPolicyPolicyArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupPolicyPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupPolicyPolicy { + return vs[0].([]GetIamAccessGroupPolicyPolicy)[vs[1].(int)] + }).(GetIamAccessGroupPolicyPolicyOutput) +} + +type GetIamAccessGroupPolicyPolicyResource struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region string `pulumi:"region"` + // Resource of the policy definition + Resource string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType string `pulumi:"resourceType"` + // Service name of the policy definition + Service string `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId *string `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType string `pulumi:"serviceType"` +} + +// GetIamAccessGroupPolicyPolicyResourceInput is an input type that accepts GetIamAccessGroupPolicyPolicyResourceArgs and GetIamAccessGroupPolicyPolicyResourceOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyResourceInput` via: +// +// GetIamAccessGroupPolicyPolicyResourceArgs{...} +type GetIamAccessGroupPolicyPolicyResourceInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyResourceOutput() GetIamAccessGroupPolicyPolicyResourceOutput + ToGetIamAccessGroupPolicyPolicyResourceOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyResourceOutput +} + +type GetIamAccessGroupPolicyPolicyResourceArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringInput `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId pulumi.StringPtrInput `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType pulumi.StringInput `pulumi:"serviceType"` +} + +func (GetIamAccessGroupPolicyPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyResource)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyResourceArgs) ToGetIamAccessGroupPolicyPolicyResourceOutput() GetIamAccessGroupPolicyPolicyResourceOutput { + return i.ToGetIamAccessGroupPolicyPolicyResourceOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyResourceArgs) ToGetIamAccessGroupPolicyPolicyResourceOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyResourceOutput) +} + +// GetIamAccessGroupPolicyPolicyResourceArrayInput is an input type that accepts GetIamAccessGroupPolicyPolicyResourceArray and GetIamAccessGroupPolicyPolicyResourceArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyResourceArrayInput` via: +// +// GetIamAccessGroupPolicyPolicyResourceArray{ GetIamAccessGroupPolicyPolicyResourceArgs{...} } +type GetIamAccessGroupPolicyPolicyResourceArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyResourceArrayOutput() GetIamAccessGroupPolicyPolicyResourceArrayOutput + ToGetIamAccessGroupPolicyPolicyResourceArrayOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyResourceArrayOutput +} + +type GetIamAccessGroupPolicyPolicyResourceArray []GetIamAccessGroupPolicyPolicyResourceInput + +func (GetIamAccessGroupPolicyPolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyResource)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyResourceArray) ToGetIamAccessGroupPolicyPolicyResourceArrayOutput() GetIamAccessGroupPolicyPolicyResourceArrayOutput { + return i.ToGetIamAccessGroupPolicyPolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyResourceArray) ToGetIamAccessGroupPolicyPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyResourceArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyResourceOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyResource)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyResourceOutput) ToGetIamAccessGroupPolicyPolicyResourceOutput() GetIamAccessGroupPolicyPolicyResourceOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyResourceOutput) ToGetIamAccessGroupPolicyPolicyResourceOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyResourceOutput { + return o +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o GetIamAccessGroupPolicyPolicyResourceOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o GetIamAccessGroupPolicyPolicyResourceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) string { return v.Region }).(pulumi.StringOutput) +} + +// Resource of the policy definition +func (o GetIamAccessGroupPolicyPolicyResourceOutput) Resource() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) string { return v.Resource }).(pulumi.StringOutput) +} + +// ID of the resource group. +func (o GetIamAccessGroupPolicyPolicyResourceOutput) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) string { return v.ResourceGroupId }).(pulumi.StringOutput) +} + +// ID of resource instance of the policy definition +func (o GetIamAccessGroupPolicyPolicyResourceOutput) ResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) string { return v.ResourceInstanceId }).(pulumi.StringOutput) +} + +// Resource type of the policy definition +func (o GetIamAccessGroupPolicyPolicyResourceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Service name of the policy definition +func (o GetIamAccessGroupPolicyPolicyResourceOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) string { return v.Service }).(pulumi.StringOutput) +} + +// Service group id of the policy definition +func (o GetIamAccessGroupPolicyPolicyResourceOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) *string { return v.ServiceGroupId }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o GetIamAccessGroupPolicyPolicyResourceOutput) ServiceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResource) string { return v.ServiceType }).(pulumi.StringOutput) +} + +type GetIamAccessGroupPolicyPolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyResource)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyResourceArrayOutput) ToGetIamAccessGroupPolicyPolicyResourceArrayOutput() GetIamAccessGroupPolicyPolicyResourceArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyResourceArrayOutput) ToGetIamAccessGroupPolicyPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyResourceArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyResourceArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupPolicyPolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupPolicyPolicyResource { + return vs[0].([]GetIamAccessGroupPolicyPolicyResource)[vs[1].(int)] + }).(GetIamAccessGroupPolicyPolicyResourceOutput) +} + +type GetIamAccessGroupPolicyPolicyResourceTag struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// GetIamAccessGroupPolicyPolicyResourceTagInput is an input type that accepts GetIamAccessGroupPolicyPolicyResourceTagArgs and GetIamAccessGroupPolicyPolicyResourceTagOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyResourceTagInput` via: +// +// GetIamAccessGroupPolicyPolicyResourceTagArgs{...} +type GetIamAccessGroupPolicyPolicyResourceTagInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyResourceTagOutput() GetIamAccessGroupPolicyPolicyResourceTagOutput + ToGetIamAccessGroupPolicyPolicyResourceTagOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyResourceTagOutput +} + +type GetIamAccessGroupPolicyPolicyResourceTagArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamAccessGroupPolicyPolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyResourceTagArgs) ToGetIamAccessGroupPolicyPolicyResourceTagOutput() GetIamAccessGroupPolicyPolicyResourceTagOutput { + return i.ToGetIamAccessGroupPolicyPolicyResourceTagOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyResourceTagArgs) ToGetIamAccessGroupPolicyPolicyResourceTagOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyResourceTagOutput) +} + +// GetIamAccessGroupPolicyPolicyResourceTagArrayInput is an input type that accepts GetIamAccessGroupPolicyPolicyResourceTagArray and GetIamAccessGroupPolicyPolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyResourceTagArrayInput` via: +// +// GetIamAccessGroupPolicyPolicyResourceTagArray{ GetIamAccessGroupPolicyPolicyResourceTagArgs{...} } +type GetIamAccessGroupPolicyPolicyResourceTagArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyResourceTagArrayOutput() GetIamAccessGroupPolicyPolicyResourceTagArrayOutput + ToGetIamAccessGroupPolicyPolicyResourceTagArrayOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyResourceTagArrayOutput +} + +type GetIamAccessGroupPolicyPolicyResourceTagArray []GetIamAccessGroupPolicyPolicyResourceTagInput + +func (GetIamAccessGroupPolicyPolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyResourceTagArray) ToGetIamAccessGroupPolicyPolicyResourceTagArrayOutput() GetIamAccessGroupPolicyPolicyResourceTagArrayOutput { + return i.ToGetIamAccessGroupPolicyPolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyResourceTagArray) ToGetIamAccessGroupPolicyPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyResourceTagArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyResourceTagOutput) ToGetIamAccessGroupPolicyPolicyResourceTagOutput() GetIamAccessGroupPolicyPolicyResourceTagOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyResourceTagOutput) ToGetIamAccessGroupPolicyPolicyResourceTagOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyResourceTagOutput { + return o +} + +// Name of attribute. +func (o GetIamAccessGroupPolicyPolicyResourceTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResourceTag) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o GetIamAccessGroupPolicyPolicyResourceTagOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResourceTag) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of attribute. +func (o GetIamAccessGroupPolicyPolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamAccessGroupPolicyPolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyResourceTagArrayOutput) ToGetIamAccessGroupPolicyPolicyResourceTagArrayOutput() GetIamAccessGroupPolicyPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyResourceTagArrayOutput) ToGetIamAccessGroupPolicyPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyResourceTagArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupPolicyPolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupPolicyPolicyResourceTag { + return vs[0].([]GetIamAccessGroupPolicyPolicyResourceTag)[vs[1].(int)] + }).(GetIamAccessGroupPolicyPolicyResourceTagOutput) +} + +type GetIamAccessGroupPolicyPolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []GetIamAccessGroupPolicyPolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamAccessGroupPolicyPolicyRuleConditionInput is an input type that accepts GetIamAccessGroupPolicyPolicyRuleConditionArgs and GetIamAccessGroupPolicyPolicyRuleConditionOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyRuleConditionInput` via: +// +// GetIamAccessGroupPolicyPolicyRuleConditionArgs{...} +type GetIamAccessGroupPolicyPolicyRuleConditionInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyRuleConditionOutput() GetIamAccessGroupPolicyPolicyRuleConditionOutput + ToGetIamAccessGroupPolicyPolicyRuleConditionOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyRuleConditionOutput +} + +type GetIamAccessGroupPolicyPolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamAccessGroupPolicyPolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyRuleConditionArgs) ToGetIamAccessGroupPolicyPolicyRuleConditionOutput() GetIamAccessGroupPolicyPolicyRuleConditionOutput { + return i.ToGetIamAccessGroupPolicyPolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyRuleConditionArgs) ToGetIamAccessGroupPolicyPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyRuleConditionOutput) +} + +// GetIamAccessGroupPolicyPolicyRuleConditionArrayInput is an input type that accepts GetIamAccessGroupPolicyPolicyRuleConditionArray and GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyRuleConditionArrayInput` via: +// +// GetIamAccessGroupPolicyPolicyRuleConditionArray{ GetIamAccessGroupPolicyPolicyRuleConditionArgs{...} } +type GetIamAccessGroupPolicyPolicyRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyRuleConditionArrayOutput() GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput + ToGetIamAccessGroupPolicyPolicyRuleConditionArrayOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput +} + +type GetIamAccessGroupPolicyPolicyRuleConditionArray []GetIamAccessGroupPolicyPolicyRuleConditionInput + +func (GetIamAccessGroupPolicyPolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyRuleConditionArray) ToGetIamAccessGroupPolicyPolicyRuleConditionArrayOutput() GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput { + return i.ToGetIamAccessGroupPolicyPolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyRuleConditionArray) ToGetIamAccessGroupPolicyPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionOutput) ToGetIamAccessGroupPolicyPolicyRuleConditionOutput() GetIamAccessGroupPolicyPolicyRuleConditionOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionOutput) ToGetIamAccessGroupPolicyPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o GetIamAccessGroupPolicyPolicyRuleConditionOutput) Conditions() GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyRuleCondition) []GetIamAccessGroupPolicyPolicyRuleConditionCondition { + return v.Conditions + }).(GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o GetIamAccessGroupPolicyPolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o GetIamAccessGroupPolicyPolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamAccessGroupPolicyPolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput) ToGetIamAccessGroupPolicyPolicyRuleConditionArrayOutput() GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput) ToGetIamAccessGroupPolicyPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupPolicyPolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupPolicyPolicyRuleCondition { + return vs[0].([]GetIamAccessGroupPolicyPolicyRuleCondition)[vs[1].(int)] + }).(GetIamAccessGroupPolicyPolicyRuleConditionOutput) +} + +type GetIamAccessGroupPolicyPolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamAccessGroupPolicyPolicyRuleConditionConditionInput is an input type that accepts GetIamAccessGroupPolicyPolicyRuleConditionConditionArgs and GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyRuleConditionConditionInput` via: +// +// GetIamAccessGroupPolicyPolicyRuleConditionConditionArgs{...} +type GetIamAccessGroupPolicyPolicyRuleConditionConditionInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyRuleConditionConditionOutput() GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput + ToGetIamAccessGroupPolicyPolicyRuleConditionConditionOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput +} + +type GetIamAccessGroupPolicyPolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamAccessGroupPolicyPolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyRuleConditionConditionArgs) ToGetIamAccessGroupPolicyPolicyRuleConditionConditionOutput() GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput { + return i.ToGetIamAccessGroupPolicyPolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyRuleConditionConditionArgs) ToGetIamAccessGroupPolicyPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput) +} + +// GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayInput is an input type that accepts GetIamAccessGroupPolicyPolicyRuleConditionConditionArray and GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayInput` via: +// +// GetIamAccessGroupPolicyPolicyRuleConditionConditionArray{ GetIamAccessGroupPolicyPolicyRuleConditionConditionArgs{...} } +type GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput() GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput + ToGetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput +} + +type GetIamAccessGroupPolicyPolicyRuleConditionConditionArray []GetIamAccessGroupPolicyPolicyRuleConditionConditionInput + +func (GetIamAccessGroupPolicyPolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyRuleConditionConditionArray) ToGetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput() GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput { + return i.ToGetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyRuleConditionConditionArray) ToGetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput) ToGetIamAccessGroupPolicyPolicyRuleConditionConditionOutput() GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput) ToGetIamAccessGroupPolicyPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput) ToGetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput() GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput) ToGetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupPolicyPolicyRuleConditionCondition { + return vs[0].([]GetIamAccessGroupPolicyPolicyRuleConditionCondition)[vs[1].(int)] + }).(GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput) +} + +type GetIamAccessGroupPolicyPolicyTemplate struct { + // policy assignment id + AssignmentId string `pulumi:"assignmentId"` + // Policy template id + Id string `pulumi:"id"` + // orchestrator template id + RootIds []string `pulumi:"rootIds"` + // orchestrator template version + RootVersions []string `pulumi:"rootVersions"` + // Policy template version + Version string `pulumi:"version"` +} + +// GetIamAccessGroupPolicyPolicyTemplateInput is an input type that accepts GetIamAccessGroupPolicyPolicyTemplateArgs and GetIamAccessGroupPolicyPolicyTemplateOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyTemplateInput` via: +// +// GetIamAccessGroupPolicyPolicyTemplateArgs{...} +type GetIamAccessGroupPolicyPolicyTemplateInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyTemplateOutput() GetIamAccessGroupPolicyPolicyTemplateOutput + ToGetIamAccessGroupPolicyPolicyTemplateOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyTemplateOutput +} + +type GetIamAccessGroupPolicyPolicyTemplateArgs struct { + // policy assignment id + AssignmentId pulumi.StringInput `pulumi:"assignmentId"` + // Policy template id + Id pulumi.StringInput `pulumi:"id"` + // orchestrator template id + RootIds pulumi.StringArrayInput `pulumi:"rootIds"` + // orchestrator template version + RootVersions pulumi.StringArrayInput `pulumi:"rootVersions"` + // Policy template version + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamAccessGroupPolicyPolicyTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyTemplate)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyTemplateArgs) ToGetIamAccessGroupPolicyPolicyTemplateOutput() GetIamAccessGroupPolicyPolicyTemplateOutput { + return i.ToGetIamAccessGroupPolicyPolicyTemplateOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyTemplateArgs) ToGetIamAccessGroupPolicyPolicyTemplateOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyTemplateOutput) +} + +// GetIamAccessGroupPolicyPolicyTemplateArrayInput is an input type that accepts GetIamAccessGroupPolicyPolicyTemplateArray and GetIamAccessGroupPolicyPolicyTemplateArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupPolicyPolicyTemplateArrayInput` via: +// +// GetIamAccessGroupPolicyPolicyTemplateArray{ GetIamAccessGroupPolicyPolicyTemplateArgs{...} } +type GetIamAccessGroupPolicyPolicyTemplateArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupPolicyPolicyTemplateArrayOutput() GetIamAccessGroupPolicyPolicyTemplateArrayOutput + ToGetIamAccessGroupPolicyPolicyTemplateArrayOutputWithContext(context.Context) GetIamAccessGroupPolicyPolicyTemplateArrayOutput +} + +type GetIamAccessGroupPolicyPolicyTemplateArray []GetIamAccessGroupPolicyPolicyTemplateInput + +func (GetIamAccessGroupPolicyPolicyTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyTemplate)(nil)).Elem() +} + +func (i GetIamAccessGroupPolicyPolicyTemplateArray) ToGetIamAccessGroupPolicyPolicyTemplateArrayOutput() GetIamAccessGroupPolicyPolicyTemplateArrayOutput { + return i.ToGetIamAccessGroupPolicyPolicyTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupPolicyPolicyTemplateArray) ToGetIamAccessGroupPolicyPolicyTemplateArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupPolicyPolicyTemplateArrayOutput) +} + +type GetIamAccessGroupPolicyPolicyTemplateOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupPolicyPolicyTemplate)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyTemplateOutput) ToGetIamAccessGroupPolicyPolicyTemplateOutput() GetIamAccessGroupPolicyPolicyTemplateOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyTemplateOutput) ToGetIamAccessGroupPolicyPolicyTemplateOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyTemplateOutput { + return o +} + +// policy assignment id +func (o GetIamAccessGroupPolicyPolicyTemplateOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyTemplate) string { return v.AssignmentId }).(pulumi.StringOutput) +} + +// Policy template id +func (o GetIamAccessGroupPolicyPolicyTemplateOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyTemplate) string { return v.Id }).(pulumi.StringOutput) +} + +// orchestrator template id +func (o GetIamAccessGroupPolicyPolicyTemplateOutput) RootIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyTemplate) []string { return v.RootIds }).(pulumi.StringArrayOutput) +} + +// orchestrator template version +func (o GetIamAccessGroupPolicyPolicyTemplateOutput) RootVersions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyTemplate) []string { return v.RootVersions }).(pulumi.StringArrayOutput) +} + +// Policy template version +func (o GetIamAccessGroupPolicyPolicyTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupPolicyPolicyTemplate) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamAccessGroupPolicyPolicyTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupPolicyPolicyTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupPolicyPolicyTemplate)(nil)).Elem() +} + +func (o GetIamAccessGroupPolicyPolicyTemplateArrayOutput) ToGetIamAccessGroupPolicyPolicyTemplateArrayOutput() GetIamAccessGroupPolicyPolicyTemplateArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyTemplateArrayOutput) ToGetIamAccessGroupPolicyPolicyTemplateArrayOutputWithContext(ctx context.Context) GetIamAccessGroupPolicyPolicyTemplateArrayOutput { + return o +} + +func (o GetIamAccessGroupPolicyPolicyTemplateArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupPolicyPolicyTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupPolicyPolicyTemplate { + return vs[0].([]GetIamAccessGroupPolicyPolicyTemplate)[vs[1].(int)] + }).(GetIamAccessGroupPolicyPolicyTemplateOutput) +} + +type GetIamAccessGroupTemplateAssignmentAssignment struct { + // The ID of the account that the assignment belongs to. + AccountId string `pulumi:"accountId"` + // The date and time when the assignment was created. + CreatedAt string `pulumi:"createdAt"` + // The user or system that created the assignment. + CreatedById string `pulumi:"createdById"` + // The URL of the assignment resource. + Href string `pulumi:"href"` + // The ID of the assignment. + Id string `pulumi:"id"` + // The date and time when the assignment was last updated. + LastModifiedAt string `pulumi:"lastModifiedAt"` + // The user or system that last updated the assignment. + LastModifiedById string `pulumi:"lastModifiedById"` + // The operation that the assignment applies to (e.g. 'assign', 'update', 'remove'). + Operation string `pulumi:"operation"` + // The status of the assignment (e.g. 'accepted', 'in_progress', 'succeeded', 'failed', 'superseded'). + Status string `pulumi:"status"` + // The ID of the entity that the assignment applies to. + Target string `pulumi:"target"` + // The type of the entity that the assignment applies to. + TargetType string `pulumi:"targetType"` + // The ID of the template that the assignment is based on. + TemplateId string `pulumi:"templateId"` + // The version of the template that the assignment is based on. + TemplateVersion string `pulumi:"templateVersion"` +} + +// GetIamAccessGroupTemplateAssignmentAssignmentInput is an input type that accepts GetIamAccessGroupTemplateAssignmentAssignmentArgs and GetIamAccessGroupTemplateAssignmentAssignmentOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateAssignmentAssignmentInput` via: +// +// GetIamAccessGroupTemplateAssignmentAssignmentArgs{...} +type GetIamAccessGroupTemplateAssignmentAssignmentInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateAssignmentAssignmentOutput() GetIamAccessGroupTemplateAssignmentAssignmentOutput + ToGetIamAccessGroupTemplateAssignmentAssignmentOutputWithContext(context.Context) GetIamAccessGroupTemplateAssignmentAssignmentOutput +} + +type GetIamAccessGroupTemplateAssignmentAssignmentArgs struct { + // The ID of the account that the assignment belongs to. + AccountId pulumi.StringInput `pulumi:"accountId"` + // The date and time when the assignment was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The user or system that created the assignment. + CreatedById pulumi.StringInput `pulumi:"createdById"` + // The URL of the assignment resource. + Href pulumi.StringInput `pulumi:"href"` + // The ID of the assignment. + Id pulumi.StringInput `pulumi:"id"` + // The date and time when the assignment was last updated. + LastModifiedAt pulumi.StringInput `pulumi:"lastModifiedAt"` + // The user or system that last updated the assignment. + LastModifiedById pulumi.StringInput `pulumi:"lastModifiedById"` + // The operation that the assignment applies to (e.g. 'assign', 'update', 'remove'). + Operation pulumi.StringInput `pulumi:"operation"` + // The status of the assignment (e.g. 'accepted', 'in_progress', 'succeeded', 'failed', 'superseded'). + Status pulumi.StringInput `pulumi:"status"` + // The ID of the entity that the assignment applies to. + Target pulumi.StringInput `pulumi:"target"` + // The type of the entity that the assignment applies to. + TargetType pulumi.StringInput `pulumi:"targetType"` + // The ID of the template that the assignment is based on. + TemplateId pulumi.StringInput `pulumi:"templateId"` + // The version of the template that the assignment is based on. + TemplateVersion pulumi.StringInput `pulumi:"templateVersion"` +} + +func (GetIamAccessGroupTemplateAssignmentAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentAssignment)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateAssignmentAssignmentArgs) ToGetIamAccessGroupTemplateAssignmentAssignmentOutput() GetIamAccessGroupTemplateAssignmentAssignmentOutput { + return i.ToGetIamAccessGroupTemplateAssignmentAssignmentOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateAssignmentAssignmentArgs) ToGetIamAccessGroupTemplateAssignmentAssignmentOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateAssignmentAssignmentOutput) +} + +// GetIamAccessGroupTemplateAssignmentAssignmentArrayInput is an input type that accepts GetIamAccessGroupTemplateAssignmentAssignmentArray and GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateAssignmentAssignmentArrayInput` via: +// +// GetIamAccessGroupTemplateAssignmentAssignmentArray{ GetIamAccessGroupTemplateAssignmentAssignmentArgs{...} } +type GetIamAccessGroupTemplateAssignmentAssignmentArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateAssignmentAssignmentArrayOutput() GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput + ToGetIamAccessGroupTemplateAssignmentAssignmentArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput +} + +type GetIamAccessGroupTemplateAssignmentAssignmentArray []GetIamAccessGroupTemplateAssignmentAssignmentInput + +func (GetIamAccessGroupTemplateAssignmentAssignmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateAssignmentAssignment)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateAssignmentAssignmentArray) ToGetIamAccessGroupTemplateAssignmentAssignmentArrayOutput() GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput { + return i.ToGetIamAccessGroupTemplateAssignmentAssignmentArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateAssignmentAssignmentArray) ToGetIamAccessGroupTemplateAssignmentAssignmentArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput) +} + +type GetIamAccessGroupTemplateAssignmentAssignmentOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateAssignmentAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentAssignment)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) ToGetIamAccessGroupTemplateAssignmentAssignmentOutput() GetIamAccessGroupTemplateAssignmentAssignmentOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) ToGetIamAccessGroupTemplateAssignmentAssignmentOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentAssignmentOutput { + return o +} + +// The ID of the account that the assignment belongs to. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.AccountId }).(pulumi.StringOutput) +} + +// The date and time when the assignment was created. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The user or system that created the assignment. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.CreatedById }).(pulumi.StringOutput) +} + +// The URL of the assignment resource. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.Href }).(pulumi.StringOutput) +} + +// The ID of the assignment. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.Id }).(pulumi.StringOutput) +} + +// The date and time when the assignment was last updated. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The user or system that last updated the assignment. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The operation that the assignment applies to (e.g. 'assign', 'update', 'remove'). +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.Operation }).(pulumi.StringOutput) +} + +// The status of the assignment (e.g. 'accepted', 'in_progress', 'succeeded', 'failed', 'superseded'). +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.Status }).(pulumi.StringOutput) +} + +// The ID of the entity that the assignment applies to. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.Target }).(pulumi.StringOutput) +} + +// The type of the entity that the assignment applies to. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) TargetType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.TargetType }).(pulumi.StringOutput) +} + +// The ID of the template that the assignment is based on. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.TemplateId }).(pulumi.StringOutput) +} + +// The version of the template that the assignment is based on. +func (o GetIamAccessGroupTemplateAssignmentAssignmentOutput) TemplateVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentAssignment) string { return v.TemplateVersion }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateAssignmentAssignment)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput) ToGetIamAccessGroupTemplateAssignmentAssignmentArrayOutput() GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput) ToGetIamAccessGroupTemplateAssignmentAssignmentArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateAssignmentAssignmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateAssignmentAssignment { + return vs[0].([]GetIamAccessGroupTemplateAssignmentAssignment)[vs[1].(int)] + }).(GetIamAccessGroupTemplateAssignmentAssignmentOutput) +} + +type GetIamAccessGroupTemplateAssignmentFirst struct { + // A string containing the link’s URL. + Href string `pulumi:"href"` +} + +// GetIamAccessGroupTemplateAssignmentFirstInput is an input type that accepts GetIamAccessGroupTemplateAssignmentFirstArgs and GetIamAccessGroupTemplateAssignmentFirstOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateAssignmentFirstInput` via: +// +// GetIamAccessGroupTemplateAssignmentFirstArgs{...} +type GetIamAccessGroupTemplateAssignmentFirstInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateAssignmentFirstOutput() GetIamAccessGroupTemplateAssignmentFirstOutput + ToGetIamAccessGroupTemplateAssignmentFirstOutputWithContext(context.Context) GetIamAccessGroupTemplateAssignmentFirstOutput +} + +type GetIamAccessGroupTemplateAssignmentFirstArgs struct { + // A string containing the link’s URL. + Href pulumi.StringInput `pulumi:"href"` +} + +func (GetIamAccessGroupTemplateAssignmentFirstArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentFirst)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateAssignmentFirstArgs) ToGetIamAccessGroupTemplateAssignmentFirstOutput() GetIamAccessGroupTemplateAssignmentFirstOutput { + return i.ToGetIamAccessGroupTemplateAssignmentFirstOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateAssignmentFirstArgs) ToGetIamAccessGroupTemplateAssignmentFirstOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentFirstOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateAssignmentFirstOutput) +} + +// GetIamAccessGroupTemplateAssignmentFirstArrayInput is an input type that accepts GetIamAccessGroupTemplateAssignmentFirstArray and GetIamAccessGroupTemplateAssignmentFirstArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateAssignmentFirstArrayInput` via: +// +// GetIamAccessGroupTemplateAssignmentFirstArray{ GetIamAccessGroupTemplateAssignmentFirstArgs{...} } +type GetIamAccessGroupTemplateAssignmentFirstArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateAssignmentFirstArrayOutput() GetIamAccessGroupTemplateAssignmentFirstArrayOutput + ToGetIamAccessGroupTemplateAssignmentFirstArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateAssignmentFirstArrayOutput +} + +type GetIamAccessGroupTemplateAssignmentFirstArray []GetIamAccessGroupTemplateAssignmentFirstInput + +func (GetIamAccessGroupTemplateAssignmentFirstArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateAssignmentFirst)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateAssignmentFirstArray) ToGetIamAccessGroupTemplateAssignmentFirstArrayOutput() GetIamAccessGroupTemplateAssignmentFirstArrayOutput { + return i.ToGetIamAccessGroupTemplateAssignmentFirstArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateAssignmentFirstArray) ToGetIamAccessGroupTemplateAssignmentFirstArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentFirstArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateAssignmentFirstArrayOutput) +} + +type GetIamAccessGroupTemplateAssignmentFirstOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateAssignmentFirstOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentFirst)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateAssignmentFirstOutput) ToGetIamAccessGroupTemplateAssignmentFirstOutput() GetIamAccessGroupTemplateAssignmentFirstOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentFirstOutput) ToGetIamAccessGroupTemplateAssignmentFirstOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentFirstOutput { + return o +} + +// A string containing the link’s URL. +func (o GetIamAccessGroupTemplateAssignmentFirstOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentFirst) string { return v.Href }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateAssignmentFirstArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateAssignmentFirstArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateAssignmentFirst)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateAssignmentFirstArrayOutput) ToGetIamAccessGroupTemplateAssignmentFirstArrayOutput() GetIamAccessGroupTemplateAssignmentFirstArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentFirstArrayOutput) ToGetIamAccessGroupTemplateAssignmentFirstArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentFirstArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentFirstArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateAssignmentFirstOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateAssignmentFirst { + return vs[0].([]GetIamAccessGroupTemplateAssignmentFirst)[vs[1].(int)] + }).(GetIamAccessGroupTemplateAssignmentFirstOutput) +} + +type GetIamAccessGroupTemplateAssignmentLast struct { + // A string containing the link’s URL. + Href string `pulumi:"href"` +} + +// GetIamAccessGroupTemplateAssignmentLastInput is an input type that accepts GetIamAccessGroupTemplateAssignmentLastArgs and GetIamAccessGroupTemplateAssignmentLastOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateAssignmentLastInput` via: +// +// GetIamAccessGroupTemplateAssignmentLastArgs{...} +type GetIamAccessGroupTemplateAssignmentLastInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateAssignmentLastOutput() GetIamAccessGroupTemplateAssignmentLastOutput + ToGetIamAccessGroupTemplateAssignmentLastOutputWithContext(context.Context) GetIamAccessGroupTemplateAssignmentLastOutput +} + +type GetIamAccessGroupTemplateAssignmentLastArgs struct { + // A string containing the link’s URL. + Href pulumi.StringInput `pulumi:"href"` +} + +func (GetIamAccessGroupTemplateAssignmentLastArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentLast)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateAssignmentLastArgs) ToGetIamAccessGroupTemplateAssignmentLastOutput() GetIamAccessGroupTemplateAssignmentLastOutput { + return i.ToGetIamAccessGroupTemplateAssignmentLastOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateAssignmentLastArgs) ToGetIamAccessGroupTemplateAssignmentLastOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentLastOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateAssignmentLastOutput) +} + +// GetIamAccessGroupTemplateAssignmentLastArrayInput is an input type that accepts GetIamAccessGroupTemplateAssignmentLastArray and GetIamAccessGroupTemplateAssignmentLastArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateAssignmentLastArrayInput` via: +// +// GetIamAccessGroupTemplateAssignmentLastArray{ GetIamAccessGroupTemplateAssignmentLastArgs{...} } +type GetIamAccessGroupTemplateAssignmentLastArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateAssignmentLastArrayOutput() GetIamAccessGroupTemplateAssignmentLastArrayOutput + ToGetIamAccessGroupTemplateAssignmentLastArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateAssignmentLastArrayOutput +} + +type GetIamAccessGroupTemplateAssignmentLastArray []GetIamAccessGroupTemplateAssignmentLastInput + +func (GetIamAccessGroupTemplateAssignmentLastArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateAssignmentLast)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateAssignmentLastArray) ToGetIamAccessGroupTemplateAssignmentLastArrayOutput() GetIamAccessGroupTemplateAssignmentLastArrayOutput { + return i.ToGetIamAccessGroupTemplateAssignmentLastArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateAssignmentLastArray) ToGetIamAccessGroupTemplateAssignmentLastArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentLastArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateAssignmentLastArrayOutput) +} + +type GetIamAccessGroupTemplateAssignmentLastOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateAssignmentLastOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentLast)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateAssignmentLastOutput) ToGetIamAccessGroupTemplateAssignmentLastOutput() GetIamAccessGroupTemplateAssignmentLastOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentLastOutput) ToGetIamAccessGroupTemplateAssignmentLastOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentLastOutput { + return o +} + +// A string containing the link’s URL. +func (o GetIamAccessGroupTemplateAssignmentLastOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateAssignmentLast) string { return v.Href }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateAssignmentLastArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateAssignmentLastArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateAssignmentLast)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateAssignmentLastArrayOutput) ToGetIamAccessGroupTemplateAssignmentLastArrayOutput() GetIamAccessGroupTemplateAssignmentLastArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentLastArrayOutput) ToGetIamAccessGroupTemplateAssignmentLastArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateAssignmentLastArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateAssignmentLastArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateAssignmentLastOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateAssignmentLast { + return vs[0].([]GetIamAccessGroupTemplateAssignmentLast)[vs[1].(int)] + }).(GetIamAccessGroupTemplateAssignmentLastOutput) +} + +type GetIamAccessGroupTemplateVersionsFirst struct { + // A string containing the link’s URL. + Href string `pulumi:"href"` +} + +// GetIamAccessGroupTemplateVersionsFirstInput is an input type that accepts GetIamAccessGroupTemplateVersionsFirstArgs and GetIamAccessGroupTemplateVersionsFirstOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsFirstInput` via: +// +// GetIamAccessGroupTemplateVersionsFirstArgs{...} +type GetIamAccessGroupTemplateVersionsFirstInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsFirstOutput() GetIamAccessGroupTemplateVersionsFirstOutput + ToGetIamAccessGroupTemplateVersionsFirstOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsFirstOutput +} + +type GetIamAccessGroupTemplateVersionsFirstArgs struct { + // A string containing the link’s URL. + Href pulumi.StringInput `pulumi:"href"` +} + +func (GetIamAccessGroupTemplateVersionsFirstArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsFirst)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsFirstArgs) ToGetIamAccessGroupTemplateVersionsFirstOutput() GetIamAccessGroupTemplateVersionsFirstOutput { + return i.ToGetIamAccessGroupTemplateVersionsFirstOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsFirstArgs) ToGetIamAccessGroupTemplateVersionsFirstOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsFirstOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsFirstOutput) +} + +// GetIamAccessGroupTemplateVersionsFirstArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsFirstArray and GetIamAccessGroupTemplateVersionsFirstArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsFirstArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsFirstArray{ GetIamAccessGroupTemplateVersionsFirstArgs{...} } +type GetIamAccessGroupTemplateVersionsFirstArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsFirstArrayOutput() GetIamAccessGroupTemplateVersionsFirstArrayOutput + ToGetIamAccessGroupTemplateVersionsFirstArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsFirstArrayOutput +} + +type GetIamAccessGroupTemplateVersionsFirstArray []GetIamAccessGroupTemplateVersionsFirstInput + +func (GetIamAccessGroupTemplateVersionsFirstArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsFirst)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsFirstArray) ToGetIamAccessGroupTemplateVersionsFirstArrayOutput() GetIamAccessGroupTemplateVersionsFirstArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsFirstArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsFirstArray) ToGetIamAccessGroupTemplateVersionsFirstArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsFirstArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsFirstArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsFirstOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsFirstOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsFirst)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsFirstOutput) ToGetIamAccessGroupTemplateVersionsFirstOutput() GetIamAccessGroupTemplateVersionsFirstOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsFirstOutput) ToGetIamAccessGroupTemplateVersionsFirstOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsFirstOutput { + return o +} + +// A string containing the link’s URL. +func (o GetIamAccessGroupTemplateVersionsFirstOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsFirst) string { return v.Href }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateVersionsFirstArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsFirstArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsFirst)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsFirstArrayOutput) ToGetIamAccessGroupTemplateVersionsFirstArrayOutput() GetIamAccessGroupTemplateVersionsFirstArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsFirstArrayOutput) ToGetIamAccessGroupTemplateVersionsFirstArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsFirstArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsFirstArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsFirstOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsFirst { + return vs[0].([]GetIamAccessGroupTemplateVersionsFirst)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsFirstOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersion struct { + // The ID of the account associated with the template. + AccountId string `pulumi:"accountId"` + // A boolean indicating whether the template is committed or not. + Committed bool `pulumi:"committed"` + // The date and time the template was created. + CreatedAt string `pulumi:"createdAt"` + // The ID of the user who created the template. + CreatedById string `pulumi:"createdById"` + // The description of the template. + Description string `pulumi:"description"` + // Access Group Component. + Groups []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup `pulumi:"groups"` + // The URL to the template resource. + Href string `pulumi:"href"` + // The date and time the template was last modified. + LastModifiedAt string `pulumi:"lastModifiedAt"` + // The ID of the user who last modified the template. + LastModifiedById string `pulumi:"lastModifiedById"` + // The name of the template. + Name string `pulumi:"name"` + // A list of policy templates associated with the template. + PolicyTemplateReferences []GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference `pulumi:"policyTemplateReferences"` + // The version number of the template. + Version string `pulumi:"version"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionArgs struct { + // The ID of the account associated with the template. + AccountId pulumi.StringInput `pulumi:"accountId"` + // A boolean indicating whether the template is committed or not. + Committed pulumi.BoolInput `pulumi:"committed"` + // The date and time the template was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The ID of the user who created the template. + CreatedById pulumi.StringInput `pulumi:"createdById"` + // The description of the template. + Description pulumi.StringInput `pulumi:"description"` + // Access Group Component. + Groups GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayInput `pulumi:"groups"` + // The URL to the template resource. + Href pulumi.StringInput `pulumi:"href"` + // The date and time the template was last modified. + LastModifiedAt pulumi.StringInput `pulumi:"lastModifiedAt"` + // The ID of the user who last modified the template. + LastModifiedById pulumi.StringInput `pulumi:"lastModifiedById"` + // The name of the template. + Name pulumi.StringInput `pulumi:"name"` + // A list of policy templates associated with the template. + PolicyTemplateReferences GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayInput `pulumi:"policyTemplateReferences"` + // The version number of the template. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersion)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersion)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersion)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput { + return o +} + +// The ID of the account associated with the template. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.AccountId }).(pulumi.StringOutput) +} + +// A boolean indicating whether the template is committed or not. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) bool { return v.Committed }).(pulumi.BoolOutput) +} + +// The date and time the template was created. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The ID of the user who created the template. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.CreatedById }).(pulumi.StringOutput) +} + +// The description of the template. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.Description }).(pulumi.StringOutput) +} + +// Access Group Component. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) Groups() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup { + return v.Groups + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput) +} + +// The URL to the template resource. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.Href }).(pulumi.StringOutput) +} + +// The date and time the template was last modified. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The ID of the user who last modified the template. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The name of the template. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.Name }).(pulumi.StringOutput) +} + +// A list of policy templates associated with the template. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) PolicyTemplateReferences() GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference { + return v.PolicyTemplateReferences + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput) +} + +// The version number of the template. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersion) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersion)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersion { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersion)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup struct { + // Access group action controls component. + ActionControls []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl `pulumi:"actionControls"` + // Assertions Input Component. + Assertions []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion `pulumi:"assertions"` + // Access group description. This is shown in child accounts. + Description string `pulumi:"description"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Members []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember `pulumi:"members"` + // Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. + Name string `pulumi:"name"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArgs struct { + // Access group action controls component. + ActionControls GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayInput `pulumi:"actionControls"` + // Assertions Input Component. + Assertions GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayInput `pulumi:"assertions"` + // Access group description. This is shown in child accounts. + Description pulumi.StringInput `pulumi:"description"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Members GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayInput `pulumi:"members"` + // Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput { + return o +} + +// Access group action controls component. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) ActionControls() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl { + return v.ActionControls + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput) +} + +// Assertions Input Component. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) Assertions() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion { + return v.Assertions + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput) +} + +// Access group description. This is shown in child accounts. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup) string { return v.Description }).(pulumi.StringOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) Members() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember { + return v.Members + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput) +} + +// Give the access group a unique name that doesn't conflict with other templates access group name in the given account. This is shown in child accounts. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroup)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl struct { + // Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. + Accesses []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess `pulumi:"accesses"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArgs struct { + // Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. + Accesses GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayInput `pulumi:"accesses"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput { + return o +} + +// Control whether or not access group administrators in child accounts can add access policies to the enterprise-managed access group in their account. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput) Accesses() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess { + return v.Accesses + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControl)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess struct { + // Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. + Add bool `pulumi:"add"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArgs struct { + // Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. + Add pulumi.BoolInput `pulumi:"add"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput { + return o +} + +// Action control for adding access policies to an enterprise-managed access group in a child account. If an access group administrator in a child account adds a policy, they can always update or remove it. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput) Add() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess) bool { + return v.Add + }).(pulumi.BoolOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccess)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion struct { + // Control whether or not access group administrators in child accounts can add and remove dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these action controls. + ActionControls []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl `pulumi:"actionControls"` + // Dynamic rules to automatically add federated users to access groups based on specific identity attributes. + Rules []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule `pulumi:"rules"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArgs struct { + // Control whether or not access group administrators in child accounts can add and remove dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these action controls. + ActionControls GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayInput `pulumi:"actionControls"` + // Dynamic rules to automatically add federated users to access groups based on specific identity attributes. + Rules GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayInput `pulumi:"rules"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput { + return o +} + +// Control whether or not access group administrators in child accounts can add and remove dynamic rules for the enterprise-managed access group in their account. The inner level RuleActionControls override these action controls. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput) ActionControls() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl { + return v.ActionControls + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput) +} + +// Dynamic rules to automatically add federated users to access groups based on specific identity attributes. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput) Rules() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule { + return v.Rules + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertion)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl struct { + // Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. + Add bool `pulumi:"add"` + // Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. + Remove bool `pulumi:"remove"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArgs struct { + // Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. + Add pulumi.BoolInput `pulumi:"add"` + // Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. + Remove pulumi.BoolInput `pulumi:"remove"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput { + return o +} + +// Action control for adding dynamic rules to an enterprise-managed access group. If an access group administrator in a child account adds a dynamic rule, they can always update or remove it. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput) Add() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl) bool { + return v.Add + }).(pulumi.BoolOutput) +} + +// Action control for removing enterprise-managed dynamic rules in an enterprise-managed access group. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput) Remove() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl) bool { + return v.Remove + }).(pulumi.BoolOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControl)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule struct { + // Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. + ActionControls []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl `pulumi:"actionControls"` + // Conditions of membership. You can think of this as a key:value pair. + Conditions []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition `pulumi:"conditions"` + // Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. + Expiration int `pulumi:"expiration"` + // Dynamic rule name. + Name string `pulumi:"name"` + // The identity provider (IdP) URL. + RealmName string `pulumi:"realmName"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArgs struct { + // Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. + ActionControls GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayInput `pulumi:"actionControls"` + // Conditions of membership. You can think of this as a key:value pair. + Conditions GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayInput `pulumi:"conditions"` + // Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. + Expiration pulumi.IntInput `pulumi:"expiration"` + // Dynamic rule name. + Name pulumi.StringInput `pulumi:"name"` + // The identity provider (IdP) URL. + RealmName pulumi.StringInput `pulumi:"realmName"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput { + return o +} + +// Control whether or not access group administrators in child accounts can update and remove this dynamic rule in the enterprise-managed access group in their account.This overrides outer level AssertionsActionControls. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) ActionControls() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl { + return v.ActionControls + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput) +} + +// Conditions of membership. You can think of this as a key:value pair. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) Conditions() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition { + return v.Conditions + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput) +} + +// Session duration in hours. Access group membership is revoked after this time period expires. Users must log back in to refresh their access group membership. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) Expiration() pulumi.IntOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule) int { + return v.Expiration + }).(pulumi.IntOutput) +} + +// Dynamic rule name. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule) string { return v.Name }).(pulumi.StringOutput) +} + +// The identity provider (IdP) URL. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) RealmName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule) string { + return v.RealmName + }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRule)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl struct { + // Action control for removing this enterprise-managed dynamic rule. + Remove bool `pulumi:"remove"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArgs struct { + // Action control for removing this enterprise-managed dynamic rule. + Remove pulumi.BoolInput `pulumi:"remove"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput { + return o +} + +// Action control for removing this enterprise-managed dynamic rule. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput) Remove() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl) bool { + return v.Remove + }).(pulumi.BoolOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControl)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition struct { + // The key in the key:value pair. + Claim string `pulumi:"claim"` + // Compares the claim and the value. + Operator string `pulumi:"operator"` + // The value in the key:value pair. + Value string `pulumi:"value"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArgs struct { + // The key in the key:value pair. + Claim pulumi.StringInput `pulumi:"claim"` + // Compares the claim and the value. + Operator pulumi.StringInput `pulumi:"operator"` + // The value in the key:value pair. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput { + return o +} + +// The key in the key:value pair. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput) Claim() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition) string { + return v.Claim + }).(pulumi.StringOutput) +} + +// Compares the claim and the value. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition) string { + return v.Operator + }).(pulumi.StringOutput) +} + +// The value in the key:value pair. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition) string { + return v.Value + }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleCondition)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember struct { + // Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. + ActionControls []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl `pulumi:"actionControls"` + // Array of service IDs to add to the template. + Services []string `pulumi:"services"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Users []string `pulumi:"users"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArgs struct { + // Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. + ActionControls GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayInput `pulumi:"actionControls"` + // Array of service IDs to add to the template. + Services pulumi.StringArrayInput `pulumi:"services"` + // Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. + Users pulumi.StringArrayInput `pulumi:"users"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput { + return o +} + +// Control whether or not access group administrators in child accounts can add and remove members from the enterprise-managed access group in their account. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput) ActionControls() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember) []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl { + return v.ActionControls + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput) +} + +// Array of service IDs to add to the template. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput) Services() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember) []string { return v.Services }).(pulumi.StringArrayOutput) +} + +// Array of enterprise users to add to the template. All enterprise users that you add to the template must be invited to the child accounts where the template is assigned. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput) Users() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember) []string { return v.Users }).(pulumi.StringArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMember)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl struct { + // Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. + Add bool `pulumi:"add"` + // Action control for removing enterprise-managed members from an enterprise-managed access group. + Remove bool `pulumi:"remove"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArgs struct { + // Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. + Add pulumi.BoolInput `pulumi:"add"` + // Action control for removing enterprise-managed members from an enterprise-managed access group. + Remove pulumi.BoolInput `pulumi:"remove"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput { + return o +} + +// Action control for adding child account members to an enterprise-managed access group. If an access group administrator in a child account adds a member, they can always remove them. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput) Add() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl) bool { + return v.Add + }).(pulumi.BoolOutput) +} + +// Action control for removing enterprise-managed members from an enterprise-managed access group. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput) Remove() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl) bool { + return v.Remove + }).(pulumi.BoolOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControl)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference struct { + // Policy template ID. + Id string `pulumi:"id"` + // Policy template version. + Version string `pulumi:"version"` +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArgs and GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArgs{...} +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArgs struct { + // Policy template ID. + Id pulumi.StringInput `pulumi:"id"` + // Policy template version. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArgs) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput) +} + +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArray and GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArray{ GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArgs{...} } +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput + ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArray []GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceInput + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArray) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput { + return o +} + +// Policy template ID. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference) string { + return v.Id + }).(pulumi.StringOutput) +} + +// Policy template version. +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference) string { + return v.Version + }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput() GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput) ToGetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference { + return vs[0].([]GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReference)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput) +} + +type GetIamAccessGroupTemplateVersionsLast struct { + // A string containing the link’s URL. + Href string `pulumi:"href"` +} + +// GetIamAccessGroupTemplateVersionsLastInput is an input type that accepts GetIamAccessGroupTemplateVersionsLastArgs and GetIamAccessGroupTemplateVersionsLastOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsLastInput` via: +// +// GetIamAccessGroupTemplateVersionsLastArgs{...} +type GetIamAccessGroupTemplateVersionsLastInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsLastOutput() GetIamAccessGroupTemplateVersionsLastOutput + ToGetIamAccessGroupTemplateVersionsLastOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsLastOutput +} + +type GetIamAccessGroupTemplateVersionsLastArgs struct { + // A string containing the link’s URL. + Href pulumi.StringInput `pulumi:"href"` +} + +func (GetIamAccessGroupTemplateVersionsLastArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsLast)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsLastArgs) ToGetIamAccessGroupTemplateVersionsLastOutput() GetIamAccessGroupTemplateVersionsLastOutput { + return i.ToGetIamAccessGroupTemplateVersionsLastOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsLastArgs) ToGetIamAccessGroupTemplateVersionsLastOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsLastOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsLastOutput) +} + +// GetIamAccessGroupTemplateVersionsLastArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsLastArray and GetIamAccessGroupTemplateVersionsLastArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsLastArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsLastArray{ GetIamAccessGroupTemplateVersionsLastArgs{...} } +type GetIamAccessGroupTemplateVersionsLastArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsLastArrayOutput() GetIamAccessGroupTemplateVersionsLastArrayOutput + ToGetIamAccessGroupTemplateVersionsLastArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsLastArrayOutput +} + +type GetIamAccessGroupTemplateVersionsLastArray []GetIamAccessGroupTemplateVersionsLastInput + +func (GetIamAccessGroupTemplateVersionsLastArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsLast)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsLastArray) ToGetIamAccessGroupTemplateVersionsLastArrayOutput() GetIamAccessGroupTemplateVersionsLastArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsLastArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsLastArray) ToGetIamAccessGroupTemplateVersionsLastArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsLastArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsLastArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsLastOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsLastOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsLast)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsLastOutput) ToGetIamAccessGroupTemplateVersionsLastOutput() GetIamAccessGroupTemplateVersionsLastOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsLastOutput) ToGetIamAccessGroupTemplateVersionsLastOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsLastOutput { + return o +} + +// A string containing the link’s URL. +func (o GetIamAccessGroupTemplateVersionsLastOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsLast) string { return v.Href }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateVersionsLastArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsLastArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsLast)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsLastArrayOutput) ToGetIamAccessGroupTemplateVersionsLastArrayOutput() GetIamAccessGroupTemplateVersionsLastArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsLastArrayOutput) ToGetIamAccessGroupTemplateVersionsLastArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsLastArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsLastArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsLastOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsLast { + return vs[0].([]GetIamAccessGroupTemplateVersionsLast)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsLastOutput) +} + +type GetIamAccessGroupTemplateVersionsPreviouse struct { + // A string containing the link’s URL. + Href string `pulumi:"href"` +} + +// GetIamAccessGroupTemplateVersionsPreviouseInput is an input type that accepts GetIamAccessGroupTemplateVersionsPreviouseArgs and GetIamAccessGroupTemplateVersionsPreviouseOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsPreviouseInput` via: +// +// GetIamAccessGroupTemplateVersionsPreviouseArgs{...} +type GetIamAccessGroupTemplateVersionsPreviouseInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsPreviouseOutput() GetIamAccessGroupTemplateVersionsPreviouseOutput + ToGetIamAccessGroupTemplateVersionsPreviouseOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsPreviouseOutput +} + +type GetIamAccessGroupTemplateVersionsPreviouseArgs struct { + // A string containing the link’s URL. + Href pulumi.StringInput `pulumi:"href"` +} + +func (GetIamAccessGroupTemplateVersionsPreviouseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsPreviouse)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsPreviouseArgs) ToGetIamAccessGroupTemplateVersionsPreviouseOutput() GetIamAccessGroupTemplateVersionsPreviouseOutput { + return i.ToGetIamAccessGroupTemplateVersionsPreviouseOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsPreviouseArgs) ToGetIamAccessGroupTemplateVersionsPreviouseOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsPreviouseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsPreviouseOutput) +} + +// GetIamAccessGroupTemplateVersionsPreviouseArrayInput is an input type that accepts GetIamAccessGroupTemplateVersionsPreviouseArray and GetIamAccessGroupTemplateVersionsPreviouseArrayOutput values. +// You can construct a concrete instance of `GetIamAccessGroupTemplateVersionsPreviouseArrayInput` via: +// +// GetIamAccessGroupTemplateVersionsPreviouseArray{ GetIamAccessGroupTemplateVersionsPreviouseArgs{...} } +type GetIamAccessGroupTemplateVersionsPreviouseArrayInput interface { + pulumi.Input + + ToGetIamAccessGroupTemplateVersionsPreviouseArrayOutput() GetIamAccessGroupTemplateVersionsPreviouseArrayOutput + ToGetIamAccessGroupTemplateVersionsPreviouseArrayOutputWithContext(context.Context) GetIamAccessGroupTemplateVersionsPreviouseArrayOutput +} + +type GetIamAccessGroupTemplateVersionsPreviouseArray []GetIamAccessGroupTemplateVersionsPreviouseInput + +func (GetIamAccessGroupTemplateVersionsPreviouseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsPreviouse)(nil)).Elem() +} + +func (i GetIamAccessGroupTemplateVersionsPreviouseArray) ToGetIamAccessGroupTemplateVersionsPreviouseArrayOutput() GetIamAccessGroupTemplateVersionsPreviouseArrayOutput { + return i.ToGetIamAccessGroupTemplateVersionsPreviouseArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccessGroupTemplateVersionsPreviouseArray) ToGetIamAccessGroupTemplateVersionsPreviouseArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsPreviouseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccessGroupTemplateVersionsPreviouseArrayOutput) +} + +type GetIamAccessGroupTemplateVersionsPreviouseOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsPreviouseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccessGroupTemplateVersionsPreviouse)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsPreviouseOutput) ToGetIamAccessGroupTemplateVersionsPreviouseOutput() GetIamAccessGroupTemplateVersionsPreviouseOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsPreviouseOutput) ToGetIamAccessGroupTemplateVersionsPreviouseOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsPreviouseOutput { + return o +} + +// A string containing the link’s URL. +func (o GetIamAccessGroupTemplateVersionsPreviouseOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccessGroupTemplateVersionsPreviouse) string { return v.Href }).(pulumi.StringOutput) +} + +type GetIamAccessGroupTemplateVersionsPreviouseArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccessGroupTemplateVersionsPreviouseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccessGroupTemplateVersionsPreviouse)(nil)).Elem() +} + +func (o GetIamAccessGroupTemplateVersionsPreviouseArrayOutput) ToGetIamAccessGroupTemplateVersionsPreviouseArrayOutput() GetIamAccessGroupTemplateVersionsPreviouseArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsPreviouseArrayOutput) ToGetIamAccessGroupTemplateVersionsPreviouseArrayOutputWithContext(ctx context.Context) GetIamAccessGroupTemplateVersionsPreviouseArrayOutput { + return o +} + +func (o GetIamAccessGroupTemplateVersionsPreviouseArrayOutput) Index(i pulumi.IntInput) GetIamAccessGroupTemplateVersionsPreviouseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccessGroupTemplateVersionsPreviouse { + return vs[0].([]GetIamAccessGroupTemplateVersionsPreviouse)[vs[1].(int)] + }).(GetIamAccessGroupTemplateVersionsPreviouseOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction struct { + // The settings for each identity type. + IdentityTypes []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType `pulumi:"identityTypes"` +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs{...} +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs struct { + // The settings for each identity type. + IdentityTypes GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayInput `pulumi:"identityTypes"` +} + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArray and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArray{ GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs{...} } +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArray []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return o +} + +// The settings for each identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) IdentityTypes() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction) []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType { + return v.IdentityTypes + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction { + return vs[0].([]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteraction)[vs[1].(int)] + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType struct { + // The core set of properties associated with a serviceId identity type. + ServiceIds []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId `pulumi:"serviceIds"` + // The core set of properties associated with a service identity type. + Services []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService `pulumi:"services"` + // The core set of properties associated with a user identity type. + Users []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser `pulumi:"users"` +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArgs and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArgs{...} +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArgs struct { + // The core set of properties associated with a serviceId identity type. + ServiceIds GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayInput `pulumi:"serviceIds"` + // The core set of properties associated with a service identity type. + Services GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayInput `pulumi:"services"` + // The core set of properties associated with a user identity type. + Users GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayInput `pulumi:"users"` +} + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput) +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArray and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArray{ GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArgs{...} } +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArray []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeInput + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput { + return o +} + +// The core set of properties associated with a serviceId identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput) ServiceIds() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType) []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId { + return v.ServiceIds + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput) +} + +// The core set of properties associated with a service identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput) Services() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType) []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService { + return v.Services + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput) +} + +// The core set of properties associated with a user identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput) Users() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType) []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser { + return v.Users + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType { + return vs[0].([]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityType)[vs[1].(int)] + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService struct { + // List of accounts that the state applies to for the service identity type. + ExternalAllowedAccounts []string `pulumi:"externalAllowedAccounts"` + // The state of the service identity type. + State string `pulumi:"state"` +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArgs and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArgs{...} +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArgs struct { + // List of accounts that the state applies to for the service identity type. + ExternalAllowedAccounts pulumi.StringArrayInput `pulumi:"externalAllowedAccounts"` + // The state of the service identity type. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput) +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArray and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArray{ GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArgs{...} } +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArray []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceInput + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput { + return o +} + +// List of accounts that the state applies to for the service identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService) []string { + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the service identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService) string { + return v.State + }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService { + return vs[0].([]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeService)[vs[1].(int)] + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId struct { + // List of accounts that the state applies to for the serviceId identity type. + ExternalAllowedAccounts []string `pulumi:"externalAllowedAccounts"` + // The state of the serviceId identity type. + State string `pulumi:"state"` +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArgs and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArgs{...} +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArgs struct { + // List of accounts that the state applies to for the serviceId identity type. + ExternalAllowedAccounts pulumi.StringArrayInput `pulumi:"externalAllowedAccounts"` + // The state of the serviceId identity type. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput) +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArray and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArray{ GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArgs{...} } +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArray []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdInput + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput { + return o +} + +// List of accounts that the state applies to for the serviceId identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId) []string { + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the serviceId identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId) string { + return v.State + }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId { + return vs[0].([]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceId)[vs[1].(int)] + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser struct { + // List of accounts that the state applies to for the user identity type. + ExternalAllowedAccounts []string `pulumi:"externalAllowedAccounts"` + // The state of the user identity type. + State string `pulumi:"state"` +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArgs and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArgs{...} +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArgs struct { + // List of accounts that the state applies to for the user identity type. + ExternalAllowedAccounts pulumi.StringArrayInput `pulumi:"externalAllowedAccounts"` + // The state of the user identity type. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArgs) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput) +} + +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayInput is an input type that accepts GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArray and GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayInput` via: +// +// GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArray{ GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArgs{...} } +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput + ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutputWithContext(context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArray []GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserInput + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser)(nil)).Elem() +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput { + return i.ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArray) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput { + return o +} + +// List of accounts that the state applies to for the user identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput) ExternalAllowedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser) []string { + return v.ExternalAllowedAccounts + }).(pulumi.StringArrayOutput) +} + +// The state of the user identity type. +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser) string { + return v.State + }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser)(nil)).Elem() +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput() GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput) ToGetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput { + return o +} + +func (o GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser { + return vs[0].([]GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUser)[vs[1].(int)] + }).(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput) +} + +type GetIamAccountSettingsHistory struct { + // Action of the history entry. + Action string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp string `pulumi:"timestamp"` +} + +// GetIamAccountSettingsHistoryInput is an input type that accepts GetIamAccountSettingsHistoryArgs and GetIamAccountSettingsHistoryOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsHistoryInput` via: +// +// GetIamAccountSettingsHistoryArgs{...} +type GetIamAccountSettingsHistoryInput interface { + pulumi.Input + + ToGetIamAccountSettingsHistoryOutput() GetIamAccountSettingsHistoryOutput + ToGetIamAccountSettingsHistoryOutputWithContext(context.Context) GetIamAccountSettingsHistoryOutput +} + +type GetIamAccountSettingsHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringInput `pulumi:"timestamp"` +} + +func (GetIamAccountSettingsHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsHistory)(nil)).Elem() +} + +func (i GetIamAccountSettingsHistoryArgs) ToGetIamAccountSettingsHistoryOutput() GetIamAccountSettingsHistoryOutput { + return i.ToGetIamAccountSettingsHistoryOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsHistoryArgs) ToGetIamAccountSettingsHistoryOutputWithContext(ctx context.Context) GetIamAccountSettingsHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsHistoryOutput) +} + +// GetIamAccountSettingsHistoryArrayInput is an input type that accepts GetIamAccountSettingsHistoryArray and GetIamAccountSettingsHistoryArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsHistoryArrayInput` via: +// +// GetIamAccountSettingsHistoryArray{ GetIamAccountSettingsHistoryArgs{...} } +type GetIamAccountSettingsHistoryArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsHistoryArrayOutput() GetIamAccountSettingsHistoryArrayOutput + ToGetIamAccountSettingsHistoryArrayOutputWithContext(context.Context) GetIamAccountSettingsHistoryArrayOutput +} + +type GetIamAccountSettingsHistoryArray []GetIamAccountSettingsHistoryInput + +func (GetIamAccountSettingsHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsHistory)(nil)).Elem() +} + +func (i GetIamAccountSettingsHistoryArray) ToGetIamAccountSettingsHistoryArrayOutput() GetIamAccountSettingsHistoryArrayOutput { + return i.ToGetIamAccountSettingsHistoryArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsHistoryArray) ToGetIamAccountSettingsHistoryArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsHistoryArrayOutput) +} + +type GetIamAccountSettingsHistoryOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsHistory)(nil)).Elem() +} + +func (o GetIamAccountSettingsHistoryOutput) ToGetIamAccountSettingsHistoryOutput() GetIamAccountSettingsHistoryOutput { + return o +} + +func (o GetIamAccountSettingsHistoryOutput) ToGetIamAccountSettingsHistoryOutputWithContext(ctx context.Context) GetIamAccountSettingsHistoryOutput { + return o +} + +// Action of the history entry. +func (o GetIamAccountSettingsHistoryOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsHistory) string { return v.Action }).(pulumi.StringOutput) +} + +// IAM ID of the identity which triggered the action. +func (o GetIamAccountSettingsHistoryOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsHistory) string { return v.IamId }).(pulumi.StringOutput) +} + +// Account of the identity which triggered the action. +func (o GetIamAccountSettingsHistoryOutput) IamIdAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsHistory) string { return v.IamIdAccount }).(pulumi.StringOutput) +} + +// Message which summarizes the executed action. +func (o GetIamAccountSettingsHistoryOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsHistory) string { return v.Message }).(pulumi.StringOutput) +} + +// Params of the history entry. +func (o GetIamAccountSettingsHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o GetIamAccountSettingsHistoryOutput) Timestamp() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsHistory) string { return v.Timestamp }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsHistoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsHistory)(nil)).Elem() +} + +func (o GetIamAccountSettingsHistoryArrayOutput) ToGetIamAccountSettingsHistoryArrayOutput() GetIamAccountSettingsHistoryArrayOutput { + return o +} + +func (o GetIamAccountSettingsHistoryArrayOutput) ToGetIamAccountSettingsHistoryArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsHistoryArrayOutput { + return o +} + +func (o GetIamAccountSettingsHistoryArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsHistory { + return vs[0].([]GetIamAccountSettingsHistory)[vs[1].(int)] + }).(GetIamAccountSettingsHistoryOutput) +} + +type GetIamAccountSettingsRestrictUserDomain struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns []string `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId string `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation bool `pulumi:"restrictInvitation"` +} + +// GetIamAccountSettingsRestrictUserDomainInput is an input type that accepts GetIamAccountSettingsRestrictUserDomainArgs and GetIamAccountSettingsRestrictUserDomainOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsRestrictUserDomainInput` via: +// +// GetIamAccountSettingsRestrictUserDomainArgs{...} +type GetIamAccountSettingsRestrictUserDomainInput interface { + pulumi.Input + + ToGetIamAccountSettingsRestrictUserDomainOutput() GetIamAccountSettingsRestrictUserDomainOutput + ToGetIamAccountSettingsRestrictUserDomainOutputWithContext(context.Context) GetIamAccountSettingsRestrictUserDomainOutput +} + +type GetIamAccountSettingsRestrictUserDomainArgs struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns pulumi.StringArrayInput `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId pulumi.StringInput `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation pulumi.BoolInput `pulumi:"restrictInvitation"` +} + +func (GetIamAccountSettingsRestrictUserDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsRestrictUserDomain)(nil)).Elem() +} + +func (i GetIamAccountSettingsRestrictUserDomainArgs) ToGetIamAccountSettingsRestrictUserDomainOutput() GetIamAccountSettingsRestrictUserDomainOutput { + return i.ToGetIamAccountSettingsRestrictUserDomainOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsRestrictUserDomainArgs) ToGetIamAccountSettingsRestrictUserDomainOutputWithContext(ctx context.Context) GetIamAccountSettingsRestrictUserDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsRestrictUserDomainOutput) +} + +// GetIamAccountSettingsRestrictUserDomainArrayInput is an input type that accepts GetIamAccountSettingsRestrictUserDomainArray and GetIamAccountSettingsRestrictUserDomainArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsRestrictUserDomainArrayInput` via: +// +// GetIamAccountSettingsRestrictUserDomainArray{ GetIamAccountSettingsRestrictUserDomainArgs{...} } +type GetIamAccountSettingsRestrictUserDomainArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsRestrictUserDomainArrayOutput() GetIamAccountSettingsRestrictUserDomainArrayOutput + ToGetIamAccountSettingsRestrictUserDomainArrayOutputWithContext(context.Context) GetIamAccountSettingsRestrictUserDomainArrayOutput +} + +type GetIamAccountSettingsRestrictUserDomainArray []GetIamAccountSettingsRestrictUserDomainInput + +func (GetIamAccountSettingsRestrictUserDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsRestrictUserDomain)(nil)).Elem() +} + +func (i GetIamAccountSettingsRestrictUserDomainArray) ToGetIamAccountSettingsRestrictUserDomainArrayOutput() GetIamAccountSettingsRestrictUserDomainArrayOutput { + return i.ToGetIamAccountSettingsRestrictUserDomainArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsRestrictUserDomainArray) ToGetIamAccountSettingsRestrictUserDomainArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsRestrictUserDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsRestrictUserDomainArrayOutput) +} + +type GetIamAccountSettingsRestrictUserDomainOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsRestrictUserDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsRestrictUserDomain)(nil)).Elem() +} + +func (o GetIamAccountSettingsRestrictUserDomainOutput) ToGetIamAccountSettingsRestrictUserDomainOutput() GetIamAccountSettingsRestrictUserDomainOutput { + return o +} + +func (o GetIamAccountSettingsRestrictUserDomainOutput) ToGetIamAccountSettingsRestrictUserDomainOutputWithContext(ctx context.Context) GetIamAccountSettingsRestrictUserDomainOutput { + return o +} + +// The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. +func (o GetIamAccountSettingsRestrictUserDomainOutput) InvitationEmailAllowPatterns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsRestrictUserDomain) []string { return v.InvitationEmailAllowPatterns }).(pulumi.StringArrayOutput) +} + +// The realm that the restrictions apply to. +func (o GetIamAccountSettingsRestrictUserDomainOutput) RealmId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsRestrictUserDomain) string { return v.RealmId }).(pulumi.StringOutput) +} + +// When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. +func (o GetIamAccountSettingsRestrictUserDomainOutput) RestrictInvitation() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccountSettingsRestrictUserDomain) bool { return v.RestrictInvitation }).(pulumi.BoolOutput) +} + +type GetIamAccountSettingsRestrictUserDomainArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsRestrictUserDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsRestrictUserDomain)(nil)).Elem() +} + +func (o GetIamAccountSettingsRestrictUserDomainArrayOutput) ToGetIamAccountSettingsRestrictUserDomainArrayOutput() GetIamAccountSettingsRestrictUserDomainArrayOutput { + return o +} + +func (o GetIamAccountSettingsRestrictUserDomainArrayOutput) ToGetIamAccountSettingsRestrictUserDomainArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsRestrictUserDomainArrayOutput { + return o +} + +func (o GetIamAccountSettingsRestrictUserDomainArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsRestrictUserDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsRestrictUserDomain { + return vs[0].([]GetIamAccountSettingsRestrictUserDomain)[vs[1].(int)] + }).(GetIamAccountSettingsRestrictUserDomainOutput) +} + +type GetIamAccountSettingsTemplateAccountSetting struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses string `pulumi:"allowedIpAddresses"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity string `pulumi:"maxSessionsPerIdentity"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey string `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating a service ID is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId string `pulumi:"restrictCreateServiceId"` + RestrictUserDomains []GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console * NOT_SET - to 'unset' a previous set value. + RestrictUserListVisibility string `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds string `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds string `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds string `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds string `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas []GetIamAccountSettingsTemplateAccountSettingUserMfa `pulumi:"userMfas"` +} + +// GetIamAccountSettingsTemplateAccountSettingInput is an input type that accepts GetIamAccountSettingsTemplateAccountSettingArgs and GetIamAccountSettingsTemplateAccountSettingOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAccountSettingInput` via: +// +// GetIamAccountSettingsTemplateAccountSettingArgs{...} +type GetIamAccountSettingsTemplateAccountSettingInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAccountSettingOutput() GetIamAccountSettingsTemplateAccountSettingOutput + ToGetIamAccountSettingsTemplateAccountSettingOutputWithContext(context.Context) GetIamAccountSettingsTemplateAccountSettingOutput +} + +type GetIamAccountSettingsTemplateAccountSettingArgs struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses pulumi.StringInput `pulumi:"allowedIpAddresses"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity pulumi.StringInput `pulumi:"maxSessionsPerIdentity"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` + // Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey pulumi.StringInput `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating a service ID is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId pulumi.StringInput `pulumi:"restrictCreateServiceId"` + RestrictUserDomains GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayInput `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console * NOT_SET - to 'unset' a previous set value. + RestrictUserListVisibility pulumi.StringInput `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds pulumi.StringInput `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds pulumi.StringInput `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds pulumi.StringInput `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds pulumi.StringInput `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas GetIamAccountSettingsTemplateAccountSettingUserMfaArrayInput `pulumi:"userMfas"` +} + +func (GetIamAccountSettingsTemplateAccountSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSetting)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAccountSettingArgs) ToGetIamAccountSettingsTemplateAccountSettingOutput() GetIamAccountSettingsTemplateAccountSettingOutput { + return i.ToGetIamAccountSettingsTemplateAccountSettingOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAccountSettingArgs) ToGetIamAccountSettingsTemplateAccountSettingOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAccountSettingOutput) +} + +// GetIamAccountSettingsTemplateAccountSettingArrayInput is an input type that accepts GetIamAccountSettingsTemplateAccountSettingArray and GetIamAccountSettingsTemplateAccountSettingArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAccountSettingArrayInput` via: +// +// GetIamAccountSettingsTemplateAccountSettingArray{ GetIamAccountSettingsTemplateAccountSettingArgs{...} } +type GetIamAccountSettingsTemplateAccountSettingArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAccountSettingArrayOutput() GetIamAccountSettingsTemplateAccountSettingArrayOutput + ToGetIamAccountSettingsTemplateAccountSettingArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAccountSettingArrayOutput +} + +type GetIamAccountSettingsTemplateAccountSettingArray []GetIamAccountSettingsTemplateAccountSettingInput + +func (GetIamAccountSettingsTemplateAccountSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAccountSetting)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAccountSettingArray) ToGetIamAccountSettingsTemplateAccountSettingArrayOutput() GetIamAccountSettingsTemplateAccountSettingArrayOutput { + return i.ToGetIamAccountSettingsTemplateAccountSettingArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAccountSettingArray) ToGetIamAccountSettingsTemplateAccountSettingArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAccountSettingArrayOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAccountSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSetting)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAccountSettingOutput) ToGetIamAccountSettingsTemplateAccountSettingOutput() GetIamAccountSettingsTemplateAccountSettingOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingOutput) ToGetIamAccountSettingsTemplateAccountSettingOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingOutput { + return o +} + +// Defines the IP addresses and subnets from which IAM tokens can be created for the account. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) AllowedIpAddresses() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { return v.AllowedIpAddresses }).(pulumi.StringOutput) +} + +// Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) MaxSessionsPerIdentity() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { return v.MaxSessionsPerIdentity }).(pulumi.StringOutput) +} + +// Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { return v.Mfa }).(pulumi.StringOutput) +} + +// Defines whether or not creating platform API keys is access controlled. Valid values: * RESTRICTED - to apply access control * NOT_RESTRICTED - to remove access control * NOT_SET - to 'unset' a previous set value. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) RestrictCreatePlatformApikey() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { return v.RestrictCreatePlatformApikey }).(pulumi.StringOutput) +} + +// Defines whether or not creating a service ID is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) RestrictCreateServiceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { return v.RestrictCreateServiceId }).(pulumi.StringOutput) +} + +func (o GetIamAccountSettingsTemplateAccountSettingOutput) RestrictUserDomains() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) []GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain { + return v.RestrictUserDomains + }).(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput) +} + +// Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console * NOT_SET - to 'unset' a previous set value. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) RestrictUserListVisibility() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { return v.RestrictUserListVisibility }).(pulumi.StringOutput) +} + +// Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) SessionExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { return v.SessionExpirationInSeconds }).(pulumi.StringOutput) +} + +// Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) SessionInvalidationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { return v.SessionInvalidationInSeconds }).(pulumi.StringOutput) +} + +// Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) SystemAccessTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { + return v.SystemAccessTokenExpirationInSeconds + }).(pulumi.StringOutput) +} + +// Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) SystemRefreshTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) string { + return v.SystemRefreshTokenExpirationInSeconds + }).(pulumi.StringOutput) +} + +// List of users that are exempted from the MFA requirement of the account. +func (o GetIamAccountSettingsTemplateAccountSettingOutput) UserMfas() GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSetting) []GetIamAccountSettingsTemplateAccountSettingUserMfa { + return v.UserMfas + }).(GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAccountSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAccountSetting)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAccountSettingArrayOutput) ToGetIamAccountSettingsTemplateAccountSettingArrayOutput() GetIamAccountSettingsTemplateAccountSettingArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingArrayOutput) ToGetIamAccountSettingsTemplateAccountSettingArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAccountSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAccountSetting { + return vs[0].([]GetIamAccountSettingsTemplateAccountSetting)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAccountSettingOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain struct { + AccountSufficient bool `pulumi:"accountSufficient"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + Restrictions []GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction `pulumi:"restrictions"` +} + +// GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainInput is an input type that accepts GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArgs and GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainInput` via: +// +// GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArgs{...} +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput + ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutputWithContext(context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArgs struct { + AccountSufficient pulumi.BoolInput `pulumi:"accountSufficient"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + Restrictions GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayInput `pulumi:"restrictions"` +} + +func (GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArgs) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput { + return i.ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArgs) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput) +} + +// GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayInput is an input type that accepts GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArray and GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayInput` via: +// +// GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArray{ GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArgs{...} } +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput + ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArray []GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainInput + +func (GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArray) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput { + return i.ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArray) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput) AccountSufficient() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain) bool { return v.AccountSufficient }).(pulumi.BoolOutput) +} + +// Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput) Restrictions() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain) []GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction { + return v.Restrictions + }).(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain { + return vs[0].([]GetIamAccountSettingsTemplateAccountSettingRestrictUserDomain)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns []string `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId string `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation bool `pulumi:"restrictInvitation"` +} + +// GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionInput is an input type that accepts GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArgs and GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionInput` via: +// +// GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArgs{...} +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput + ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutputWithContext(context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArgs struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns pulumi.StringArrayInput `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId pulumi.StringInput `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation pulumi.BoolInput `pulumi:"restrictInvitation"` +} + +func (GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArgs) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput { + return i.ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArgs) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput) +} + +// GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayInput is an input type that accepts GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArray and GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayInput` via: +// +// GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArray{ GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArgs{...} } +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput + ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArray []GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionInput + +func (GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArray) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput { + return i.ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArray) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput { + return o +} + +// The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput) InvitationEmailAllowPatterns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction) []string { + return v.InvitationEmailAllowPatterns + }).(pulumi.StringArrayOutput) +} + +// The realm that the restrictions apply to. +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput) RealmId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction) string { + return v.RealmId + }).(pulumi.StringOutput) +} + +// When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput) RestrictInvitation() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction) bool { + return v.RestrictInvitation + }).(pulumi.BoolOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput() GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput) ToGetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction { + return vs[0].([]GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestriction)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingUserMfa struct { + // The iamId of the user. + IamId string `pulumi:"iamId"` + // Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` +} + +// GetIamAccountSettingsTemplateAccountSettingUserMfaInput is an input type that accepts GetIamAccountSettingsTemplateAccountSettingUserMfaArgs and GetIamAccountSettingsTemplateAccountSettingUserMfaOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAccountSettingUserMfaInput` via: +// +// GetIamAccountSettingsTemplateAccountSettingUserMfaArgs{...} +type GetIamAccountSettingsTemplateAccountSettingUserMfaInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAccountSettingUserMfaOutput() GetIamAccountSettingsTemplateAccountSettingUserMfaOutput + ToGetIamAccountSettingsTemplateAccountSettingUserMfaOutputWithContext(context.Context) GetIamAccountSettingsTemplateAccountSettingUserMfaOutput +} + +type GetIamAccountSettingsTemplateAccountSettingUserMfaArgs struct { + // The iamId of the user. + IamId pulumi.StringInput `pulumi:"iamId"` + // Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` +} + +func (GetIamAccountSettingsTemplateAccountSettingUserMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingUserMfa)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAccountSettingUserMfaArgs) ToGetIamAccountSettingsTemplateAccountSettingUserMfaOutput() GetIamAccountSettingsTemplateAccountSettingUserMfaOutput { + return i.ToGetIamAccountSettingsTemplateAccountSettingUserMfaOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAccountSettingUserMfaArgs) ToGetIamAccountSettingsTemplateAccountSettingUserMfaOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingUserMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAccountSettingUserMfaOutput) +} + +// GetIamAccountSettingsTemplateAccountSettingUserMfaArrayInput is an input type that accepts GetIamAccountSettingsTemplateAccountSettingUserMfaArray and GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAccountSettingUserMfaArrayInput` via: +// +// GetIamAccountSettingsTemplateAccountSettingUserMfaArray{ GetIamAccountSettingsTemplateAccountSettingUserMfaArgs{...} } +type GetIamAccountSettingsTemplateAccountSettingUserMfaArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput() GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput + ToGetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput +} + +type GetIamAccountSettingsTemplateAccountSettingUserMfaArray []GetIamAccountSettingsTemplateAccountSettingUserMfaInput + +func (GetIamAccountSettingsTemplateAccountSettingUserMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAccountSettingUserMfa)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAccountSettingUserMfaArray) ToGetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput() GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput { + return i.ToGetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAccountSettingUserMfaArray) ToGetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingUserMfaOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAccountSettingUserMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingUserMfa)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAccountSettingUserMfaOutput) ToGetIamAccountSettingsTemplateAccountSettingUserMfaOutput() GetIamAccountSettingsTemplateAccountSettingUserMfaOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingUserMfaOutput) ToGetIamAccountSettingsTemplateAccountSettingUserMfaOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingUserMfaOutput { + return o +} + +// The iamId of the user. +func (o GetIamAccountSettingsTemplateAccountSettingUserMfaOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSettingUserMfa) string { return v.IamId }).(pulumi.StringOutput) +} + +// Defines the MFA requirement for the user. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamAccountSettingsTemplateAccountSettingUserMfaOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAccountSettingUserMfa) string { return v.Mfa }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAccountSettingUserMfa)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput) ToGetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput() GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput) ToGetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAccountSettingUserMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAccountSettingUserMfa { + return vs[0].([]GetIamAccountSettingsTemplateAccountSettingUserMfa)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAccountSettingUserMfaOutput) +} + +type GetIamAccountSettingsTemplateAssignmentContext struct { + // The cluster name. + ClusterName string `pulumi:"clusterName"` + // The elapsed time in msec. + ElapsedTime string `pulumi:"elapsedTime"` + // The finish time of the request. + EndTime string `pulumi:"endTime"` + // The host of the server instance processing the request. + Host string `pulumi:"host"` + // The instance ID of the server instance processing the request. + InstanceId string `pulumi:"instanceId"` + // The operation of the inbound REST request. + Operation string `pulumi:"operation"` + // The start time of the request. + StartTime string `pulumi:"startTime"` + // The thread ID of the server instance processing the request. + ThreadId string `pulumi:"threadId"` + // The transaction ID of the inbound REST request. + TransactionId string `pulumi:"transactionId"` + // The URL of that cluster. + Url string `pulumi:"url"` + // The user agent of the inbound REST request. + UserAgent string `pulumi:"userAgent"` +} + +// GetIamAccountSettingsTemplateAssignmentContextInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentContextArgs and GetIamAccountSettingsTemplateAssignmentContextOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentContextInput` via: +// +// GetIamAccountSettingsTemplateAssignmentContextArgs{...} +type GetIamAccountSettingsTemplateAssignmentContextInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentContextOutput() GetIamAccountSettingsTemplateAssignmentContextOutput + ToGetIamAccountSettingsTemplateAssignmentContextOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentContextOutput +} + +type GetIamAccountSettingsTemplateAssignmentContextArgs struct { + // The cluster name. + ClusterName pulumi.StringInput `pulumi:"clusterName"` + // The elapsed time in msec. + ElapsedTime pulumi.StringInput `pulumi:"elapsedTime"` + // The finish time of the request. + EndTime pulumi.StringInput `pulumi:"endTime"` + // The host of the server instance processing the request. + Host pulumi.StringInput `pulumi:"host"` + // The instance ID of the server instance processing the request. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // The operation of the inbound REST request. + Operation pulumi.StringInput `pulumi:"operation"` + // The start time of the request. + StartTime pulumi.StringInput `pulumi:"startTime"` + // The thread ID of the server instance processing the request. + ThreadId pulumi.StringInput `pulumi:"threadId"` + // The transaction ID of the inbound REST request. + TransactionId pulumi.StringInput `pulumi:"transactionId"` + // The URL of that cluster. + Url pulumi.StringInput `pulumi:"url"` + // The user agent of the inbound REST request. + UserAgent pulumi.StringInput `pulumi:"userAgent"` +} + +func (GetIamAccountSettingsTemplateAssignmentContextArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentContext)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentContextArgs) ToGetIamAccountSettingsTemplateAssignmentContextOutput() GetIamAccountSettingsTemplateAssignmentContextOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentContextOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentContextArgs) ToGetIamAccountSettingsTemplateAssignmentContextOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentContextOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentContextOutput) +} + +// GetIamAccountSettingsTemplateAssignmentContextArrayInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentContextArray and GetIamAccountSettingsTemplateAssignmentContextArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentContextArrayInput` via: +// +// GetIamAccountSettingsTemplateAssignmentContextArray{ GetIamAccountSettingsTemplateAssignmentContextArgs{...} } +type GetIamAccountSettingsTemplateAssignmentContextArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentContextArrayOutput() GetIamAccountSettingsTemplateAssignmentContextArrayOutput + ToGetIamAccountSettingsTemplateAssignmentContextArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentContextArrayOutput +} + +type GetIamAccountSettingsTemplateAssignmentContextArray []GetIamAccountSettingsTemplateAssignmentContextInput + +func (GetIamAccountSettingsTemplateAssignmentContextArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentContext)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentContextArray) ToGetIamAccountSettingsTemplateAssignmentContextArrayOutput() GetIamAccountSettingsTemplateAssignmentContextArrayOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentContextArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentContextArray) ToGetIamAccountSettingsTemplateAssignmentContextArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentContextArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentContextArrayOutput) +} + +type GetIamAccountSettingsTemplateAssignmentContextOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentContextOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentContext)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) ToGetIamAccountSettingsTemplateAssignmentContextOutput() GetIamAccountSettingsTemplateAssignmentContextOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) ToGetIamAccountSettingsTemplateAssignmentContextOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentContextOutput { + return o +} + +// The cluster name. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.ClusterName }).(pulumi.StringOutput) +} + +// The elapsed time in msec. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) ElapsedTime() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.ElapsedTime }).(pulumi.StringOutput) +} + +// The finish time of the request. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) EndTime() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.EndTime }).(pulumi.StringOutput) +} + +// The host of the server instance processing the request. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) Host() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.Host }).(pulumi.StringOutput) +} + +// The instance ID of the server instance processing the request. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// The operation of the inbound REST request. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.Operation }).(pulumi.StringOutput) +} + +// The start time of the request. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) StartTime() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.StartTime }).(pulumi.StringOutput) +} + +// The thread ID of the server instance processing the request. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) ThreadId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.ThreadId }).(pulumi.StringOutput) +} + +// The transaction ID of the inbound REST request. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.TransactionId }).(pulumi.StringOutput) +} + +// The URL of that cluster. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.Url }).(pulumi.StringOutput) +} + +// The user agent of the inbound REST request. +func (o GetIamAccountSettingsTemplateAssignmentContextOutput) UserAgent() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentContext) string { return v.UserAgent }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsTemplateAssignmentContextArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentContextArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentContext)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentContextArrayOutput) ToGetIamAccountSettingsTemplateAssignmentContextArrayOutput() GetIamAccountSettingsTemplateAssignmentContextArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentContextArrayOutput) ToGetIamAccountSettingsTemplateAssignmentContextArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentContextArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentContextArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAssignmentContextOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAssignmentContext { + return vs[0].([]GetIamAccountSettingsTemplateAssignmentContext)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAssignmentContextOutput) +} + +type GetIamAccountSettingsTemplateAssignmentHistory struct { + // Action of the history entry. + Action string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp string `pulumi:"timestamp"` +} + +// GetIamAccountSettingsTemplateAssignmentHistoryInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentHistoryArgs and GetIamAccountSettingsTemplateAssignmentHistoryOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentHistoryInput` via: +// +// GetIamAccountSettingsTemplateAssignmentHistoryArgs{...} +type GetIamAccountSettingsTemplateAssignmentHistoryInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentHistoryOutput() GetIamAccountSettingsTemplateAssignmentHistoryOutput + ToGetIamAccountSettingsTemplateAssignmentHistoryOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentHistoryOutput +} + +type GetIamAccountSettingsTemplateAssignmentHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringInput `pulumi:"timestamp"` +} + +func (GetIamAccountSettingsTemplateAssignmentHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentHistory)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentHistoryArgs) ToGetIamAccountSettingsTemplateAssignmentHistoryOutput() GetIamAccountSettingsTemplateAssignmentHistoryOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentHistoryOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentHistoryArgs) ToGetIamAccountSettingsTemplateAssignmentHistoryOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentHistoryOutput) +} + +// GetIamAccountSettingsTemplateAssignmentHistoryArrayInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentHistoryArray and GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentHistoryArrayInput` via: +// +// GetIamAccountSettingsTemplateAssignmentHistoryArray{ GetIamAccountSettingsTemplateAssignmentHistoryArgs{...} } +type GetIamAccountSettingsTemplateAssignmentHistoryArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentHistoryArrayOutput() GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput + ToGetIamAccountSettingsTemplateAssignmentHistoryArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput +} + +type GetIamAccountSettingsTemplateAssignmentHistoryArray []GetIamAccountSettingsTemplateAssignmentHistoryInput + +func (GetIamAccountSettingsTemplateAssignmentHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentHistory)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentHistoryArray) ToGetIamAccountSettingsTemplateAssignmentHistoryArrayOutput() GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentHistoryArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentHistoryArray) ToGetIamAccountSettingsTemplateAssignmentHistoryArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput) +} + +type GetIamAccountSettingsTemplateAssignmentHistoryOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentHistory)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentHistoryOutput) ToGetIamAccountSettingsTemplateAssignmentHistoryOutput() GetIamAccountSettingsTemplateAssignmentHistoryOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentHistoryOutput) ToGetIamAccountSettingsTemplateAssignmentHistoryOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentHistoryOutput { + return o +} + +// Action of the history entry. +func (o GetIamAccountSettingsTemplateAssignmentHistoryOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentHistory) string { return v.Action }).(pulumi.StringOutput) +} + +// IAM ID of the identity which triggered the action. +func (o GetIamAccountSettingsTemplateAssignmentHistoryOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentHistory) string { return v.IamId }).(pulumi.StringOutput) +} + +// Account of the identity which triggered the action. +func (o GetIamAccountSettingsTemplateAssignmentHistoryOutput) IamIdAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentHistory) string { return v.IamIdAccount }).(pulumi.StringOutput) +} + +// Message which summarizes the executed action. +func (o GetIamAccountSettingsTemplateAssignmentHistoryOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentHistory) string { return v.Message }).(pulumi.StringOutput) +} + +// Params of the history entry. +func (o GetIamAccountSettingsTemplateAssignmentHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o GetIamAccountSettingsTemplateAssignmentHistoryOutput) Timestamp() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentHistory) string { return v.Timestamp }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentHistory)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput) ToGetIamAccountSettingsTemplateAssignmentHistoryArrayOutput() GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput) ToGetIamAccountSettingsTemplateAssignmentHistoryArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAssignmentHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAssignmentHistory { + return vs[0].([]GetIamAccountSettingsTemplateAssignmentHistory)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAssignmentHistoryOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResource struct { + AccountSettings []GetIamAccountSettingsTemplateAssignmentResourceAccountSetting `pulumi:"accountSettings"` + // Target account where the IAM resource is created. + Target string `pulumi:"target"` +} + +// GetIamAccountSettingsTemplateAssignmentResourceInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentResourceArgs and GetIamAccountSettingsTemplateAssignmentResourceOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentResourceInput` via: +// +// GetIamAccountSettingsTemplateAssignmentResourceArgs{...} +type GetIamAccountSettingsTemplateAssignmentResourceInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentResourceOutput() GetIamAccountSettingsTemplateAssignmentResourceOutput + ToGetIamAccountSettingsTemplateAssignmentResourceOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentResourceOutput +} + +type GetIamAccountSettingsTemplateAssignmentResourceArgs struct { + AccountSettings GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput `pulumi:"accountSettings"` + // Target account where the IAM resource is created. + Target pulumi.StringInput `pulumi:"target"` +} + +func (GetIamAccountSettingsTemplateAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResource)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceArgs) ToGetIamAccountSettingsTemplateAssignmentResourceOutput() GetIamAccountSettingsTemplateAssignmentResourceOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentResourceOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceArgs) ToGetIamAccountSettingsTemplateAssignmentResourceOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentResourceOutput) +} + +// GetIamAccountSettingsTemplateAssignmentResourceArrayInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentResourceArray and GetIamAccountSettingsTemplateAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentResourceArrayInput` via: +// +// GetIamAccountSettingsTemplateAssignmentResourceArray{ GetIamAccountSettingsTemplateAssignmentResourceArgs{...} } +type GetIamAccountSettingsTemplateAssignmentResourceArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentResourceArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceArrayOutput + ToGetIamAccountSettingsTemplateAssignmentResourceArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentResourceArrayOutput +} + +type GetIamAccountSettingsTemplateAssignmentResourceArray []GetIamAccountSettingsTemplateAssignmentResourceInput + +func (GetIamAccountSettingsTemplateAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentResource)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceArray) ToGetIamAccountSettingsTemplateAssignmentResourceArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceArrayOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceArray) ToGetIamAccountSettingsTemplateAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentResourceArrayOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResource)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceOutput) ToGetIamAccountSettingsTemplateAssignmentResourceOutput() GetIamAccountSettingsTemplateAssignmentResourceOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceOutput) ToGetIamAccountSettingsTemplateAssignmentResourceOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceOutput) AccountSettings() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResource) []GetIamAccountSettingsTemplateAssignmentResourceAccountSetting { + return v.AccountSettings + }).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) +} + +// Target account where the IAM resource is created. +func (o GetIamAccountSettingsTemplateAssignmentResourceOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResource) string { return v.Target }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentResource)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceArrayOutput) ToGetIamAccountSettingsTemplateAssignmentResourceArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceArrayOutput) ToGetIamAccountSettingsTemplateAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAssignmentResource { + return vs[0].([]GetIamAccountSettingsTemplateAssignmentResource)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAssignmentResourceOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSetting struct { + // Body parameters for assignment error. + ErrorMessages []GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id string `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds []GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status string `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version string `pulumi:"version"` +} + +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArgs and GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentResourceAccountSettingInput` via: +// +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArgs{...} +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArgs struct { + // Body parameters for assignment error. + ErrorMessages GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id pulumi.StringInput `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status pulumi.StringInput `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSetting)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArgs) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArgs) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) +} + +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArray and GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput` via: +// +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArray{ GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArgs{...} } +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArray []GetIamAccountSettingsTemplateAssignmentResourceAccountSettingInput + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentResourceAccountSetting)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArray) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArray) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSetting)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return o +} + +// Body parameters for assignment error. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ErrorMessages() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSetting) []GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage { + return v.ErrorMessages + }).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) +} + +// Policy Template Id, only returned for a profile assignment with policy references. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSetting) string { return v.Id }).(pulumi.StringOutput) +} + +// Body parameters for created resource. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) ResourceCreateds() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSetting) []GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated { + return v.ResourceCreateds + }).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) +} + +// Status for the target account's assignment. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSetting) string { return v.Status }).(pulumi.StringOutput) +} + +// Policy version, only returned for a profile assignment with policy references. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSetting) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentResourceAccountSetting)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAssignmentResourceAccountSetting { + return vs[0].([]GetIamAccountSettingsTemplateAssignmentResourceAccountSetting)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage struct { + // Internal error code. + ErrorCode string `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message string `pulumi:"message"` + // Name of the error. + Name string `pulumi:"name"` + // Internal status code for the error. + StatusCode string `pulumi:"statusCode"` +} + +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs and GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput` via: +// +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs{...} +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs struct { + // Internal error code. + ErrorCode pulumi.StringInput `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message pulumi.StringInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringInput `pulumi:"name"` + // Internal status code for the error. + StatusCode pulumi.StringInput `pulumi:"statusCode"` +} + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) +} + +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray and GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput` via: +// +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray{ GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs{...} } +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray []GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return o +} + +// Internal error code. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) ErrorCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage) string { + return v.ErrorCode + }).(pulumi.StringOutput) +} + +// Error message detailing the nature of the error. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage) string { + return v.Message + }).(pulumi.StringOutput) +} + +// Name of the error. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage) string { + return v.Name + }).(pulumi.StringOutput) +} + +// Internal status code for the error. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) StatusCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage) string { + return v.StatusCode + }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage { + return vs[0].([]GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessage)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated struct { + // Id of the created resource. + Id string `pulumi:"id"` +} + +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs and GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput` via: +// +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs{...} +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs struct { + // Id of the created resource. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) +} + +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput is an input type that accepts GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray and GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput` via: +// +// GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray{ GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs{...} } +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput + ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray []GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return i.ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return o +} + +// Id of the created resource. +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput() GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) ToGetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated { + return vs[0].([]GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreated)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput) +} + +type GetIamAccountSettingsTemplateHistory struct { + // Action of the history entry. + Action string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp string `pulumi:"timestamp"` +} + +// GetIamAccountSettingsTemplateHistoryInput is an input type that accepts GetIamAccountSettingsTemplateHistoryArgs and GetIamAccountSettingsTemplateHistoryOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateHistoryInput` via: +// +// GetIamAccountSettingsTemplateHistoryArgs{...} +type GetIamAccountSettingsTemplateHistoryInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateHistoryOutput() GetIamAccountSettingsTemplateHistoryOutput + ToGetIamAccountSettingsTemplateHistoryOutputWithContext(context.Context) GetIamAccountSettingsTemplateHistoryOutput +} + +type GetIamAccountSettingsTemplateHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringInput `pulumi:"timestamp"` +} + +func (GetIamAccountSettingsTemplateHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateHistory)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateHistoryArgs) ToGetIamAccountSettingsTemplateHistoryOutput() GetIamAccountSettingsTemplateHistoryOutput { + return i.ToGetIamAccountSettingsTemplateHistoryOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateHistoryArgs) ToGetIamAccountSettingsTemplateHistoryOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateHistoryOutput) +} + +// GetIamAccountSettingsTemplateHistoryArrayInput is an input type that accepts GetIamAccountSettingsTemplateHistoryArray and GetIamAccountSettingsTemplateHistoryArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsTemplateHistoryArrayInput` via: +// +// GetIamAccountSettingsTemplateHistoryArray{ GetIamAccountSettingsTemplateHistoryArgs{...} } +type GetIamAccountSettingsTemplateHistoryArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsTemplateHistoryArrayOutput() GetIamAccountSettingsTemplateHistoryArrayOutput + ToGetIamAccountSettingsTemplateHistoryArrayOutputWithContext(context.Context) GetIamAccountSettingsTemplateHistoryArrayOutput +} + +type GetIamAccountSettingsTemplateHistoryArray []GetIamAccountSettingsTemplateHistoryInput + +func (GetIamAccountSettingsTemplateHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateHistory)(nil)).Elem() +} + +func (i GetIamAccountSettingsTemplateHistoryArray) ToGetIamAccountSettingsTemplateHistoryArrayOutput() GetIamAccountSettingsTemplateHistoryArrayOutput { + return i.ToGetIamAccountSettingsTemplateHistoryArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsTemplateHistoryArray) ToGetIamAccountSettingsTemplateHistoryArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsTemplateHistoryArrayOutput) +} + +type GetIamAccountSettingsTemplateHistoryOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsTemplateHistory)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateHistoryOutput) ToGetIamAccountSettingsTemplateHistoryOutput() GetIamAccountSettingsTemplateHistoryOutput { + return o +} + +func (o GetIamAccountSettingsTemplateHistoryOutput) ToGetIamAccountSettingsTemplateHistoryOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateHistoryOutput { + return o +} + +// Action of the history entry. +func (o GetIamAccountSettingsTemplateHistoryOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateHistory) string { return v.Action }).(pulumi.StringOutput) +} + +// IAM ID of the identity which triggered the action. +func (o GetIamAccountSettingsTemplateHistoryOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateHistory) string { return v.IamId }).(pulumi.StringOutput) +} + +// Account of the identity which triggered the action. +func (o GetIamAccountSettingsTemplateHistoryOutput) IamIdAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateHistory) string { return v.IamIdAccount }).(pulumi.StringOutput) +} + +// Message which summarizes the executed action. +func (o GetIamAccountSettingsTemplateHistoryOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateHistory) string { return v.Message }).(pulumi.StringOutput) +} + +// Params of the history entry. +func (o GetIamAccountSettingsTemplateHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o GetIamAccountSettingsTemplateHistoryOutput) Timestamp() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsTemplateHistory) string { return v.Timestamp }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsTemplateHistoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsTemplateHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsTemplateHistory)(nil)).Elem() +} + +func (o GetIamAccountSettingsTemplateHistoryArrayOutput) ToGetIamAccountSettingsTemplateHistoryArrayOutput() GetIamAccountSettingsTemplateHistoryArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateHistoryArrayOutput) ToGetIamAccountSettingsTemplateHistoryArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsTemplateHistoryArrayOutput { + return o +} + +func (o GetIamAccountSettingsTemplateHistoryArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsTemplateHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsTemplateHistory { + return vs[0].([]GetIamAccountSettingsTemplateHistory)[vs[1].(int)] + }).(GetIamAccountSettingsTemplateHistoryOutput) +} + +type GetIamAccountSettingsUserMfa struct { + // optional description. + Description string `pulumi:"description"` + // email of the user. + Email string `pulumi:"email"` + // The iamId of the user. + IamId string `pulumi:"iamId"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` + // name of the user account. + Name string `pulumi:"name"` + // userName of the user. + UserName string `pulumi:"userName"` +} + +// GetIamAccountSettingsUserMfaInput is an input type that accepts GetIamAccountSettingsUserMfaArgs and GetIamAccountSettingsUserMfaOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsUserMfaInput` via: +// +// GetIamAccountSettingsUserMfaArgs{...} +type GetIamAccountSettingsUserMfaInput interface { + pulumi.Input + + ToGetIamAccountSettingsUserMfaOutput() GetIamAccountSettingsUserMfaOutput + ToGetIamAccountSettingsUserMfaOutputWithContext(context.Context) GetIamAccountSettingsUserMfaOutput +} + +type GetIamAccountSettingsUserMfaArgs struct { + // optional description. + Description pulumi.StringInput `pulumi:"description"` + // email of the user. + Email pulumi.StringInput `pulumi:"email"` + // The iamId of the user. + IamId pulumi.StringInput `pulumi:"iamId"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` + // name of the user account. + Name pulumi.StringInput `pulumi:"name"` + // userName of the user. + UserName pulumi.StringInput `pulumi:"userName"` +} + +func (GetIamAccountSettingsUserMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsUserMfa)(nil)).Elem() +} + +func (i GetIamAccountSettingsUserMfaArgs) ToGetIamAccountSettingsUserMfaOutput() GetIamAccountSettingsUserMfaOutput { + return i.ToGetIamAccountSettingsUserMfaOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsUserMfaArgs) ToGetIamAccountSettingsUserMfaOutputWithContext(ctx context.Context) GetIamAccountSettingsUserMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsUserMfaOutput) +} + +// GetIamAccountSettingsUserMfaArrayInput is an input type that accepts GetIamAccountSettingsUserMfaArray and GetIamAccountSettingsUserMfaArrayOutput values. +// You can construct a concrete instance of `GetIamAccountSettingsUserMfaArrayInput` via: +// +// GetIamAccountSettingsUserMfaArray{ GetIamAccountSettingsUserMfaArgs{...} } +type GetIamAccountSettingsUserMfaArrayInput interface { + pulumi.Input + + ToGetIamAccountSettingsUserMfaArrayOutput() GetIamAccountSettingsUserMfaArrayOutput + ToGetIamAccountSettingsUserMfaArrayOutputWithContext(context.Context) GetIamAccountSettingsUserMfaArrayOutput +} + +type GetIamAccountSettingsUserMfaArray []GetIamAccountSettingsUserMfaInput + +func (GetIamAccountSettingsUserMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsUserMfa)(nil)).Elem() +} + +func (i GetIamAccountSettingsUserMfaArray) ToGetIamAccountSettingsUserMfaArrayOutput() GetIamAccountSettingsUserMfaArrayOutput { + return i.ToGetIamAccountSettingsUserMfaArrayOutputWithContext(context.Background()) +} + +func (i GetIamAccountSettingsUserMfaArray) ToGetIamAccountSettingsUserMfaArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsUserMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAccountSettingsUserMfaArrayOutput) +} + +type GetIamAccountSettingsUserMfaOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsUserMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAccountSettingsUserMfa)(nil)).Elem() +} + +func (o GetIamAccountSettingsUserMfaOutput) ToGetIamAccountSettingsUserMfaOutput() GetIamAccountSettingsUserMfaOutput { + return o +} + +func (o GetIamAccountSettingsUserMfaOutput) ToGetIamAccountSettingsUserMfaOutputWithContext(ctx context.Context) GetIamAccountSettingsUserMfaOutput { + return o +} + +// optional description. +func (o GetIamAccountSettingsUserMfaOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsUserMfa) string { return v.Description }).(pulumi.StringOutput) +} + +// email of the user. +func (o GetIamAccountSettingsUserMfaOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsUserMfa) string { return v.Email }).(pulumi.StringOutput) +} + +// The iamId of the user. +func (o GetIamAccountSettingsUserMfaOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsUserMfa) string { return v.IamId }).(pulumi.StringOutput) +} + +// MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamAccountSettingsUserMfaOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsUserMfa) string { return v.Mfa }).(pulumi.StringOutput) +} + +// name of the user account. +func (o GetIamAccountSettingsUserMfaOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsUserMfa) string { return v.Name }).(pulumi.StringOutput) +} + +// userName of the user. +func (o GetIamAccountSettingsUserMfaOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAccountSettingsUserMfa) string { return v.UserName }).(pulumi.StringOutput) +} + +type GetIamAccountSettingsUserMfaArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAccountSettingsUserMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAccountSettingsUserMfa)(nil)).Elem() +} + +func (o GetIamAccountSettingsUserMfaArrayOutput) ToGetIamAccountSettingsUserMfaArrayOutput() GetIamAccountSettingsUserMfaArrayOutput { + return o +} + +func (o GetIamAccountSettingsUserMfaArrayOutput) ToGetIamAccountSettingsUserMfaArrayOutputWithContext(ctx context.Context) GetIamAccountSettingsUserMfaArrayOutput { + return o +} + +func (o GetIamAccountSettingsUserMfaArrayOutput) Index(i pulumi.IntInput) GetIamAccountSettingsUserMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAccountSettingsUserMfa { + return vs[0].([]GetIamAccountSettingsUserMfa)[vs[1].(int)] + }).(GetIamAccountSettingsUserMfaOutput) +} + +type GetIamActionControlAssignmentResource struct { + // Set of properties of the assigned resource or error message if assignment failed. + ActionControls []GetIamActionControlAssignmentResourceActionControl `pulumi:"actionControls"` + // assignment target account and type. + Targets []GetIamActionControlAssignmentResourceTarget `pulumi:"targets"` +} + +// GetIamActionControlAssignmentResourceInput is an input type that accepts GetIamActionControlAssignmentResourceArgs and GetIamActionControlAssignmentResourceOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceInput` via: +// +// GetIamActionControlAssignmentResourceArgs{...} +type GetIamActionControlAssignmentResourceInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceOutput() GetIamActionControlAssignmentResourceOutput + ToGetIamActionControlAssignmentResourceOutputWithContext(context.Context) GetIamActionControlAssignmentResourceOutput +} + +type GetIamActionControlAssignmentResourceArgs struct { + // Set of properties of the assigned resource or error message if assignment failed. + ActionControls GetIamActionControlAssignmentResourceActionControlArrayInput `pulumi:"actionControls"` + // assignment target account and type. + Targets GetIamActionControlAssignmentResourceTargetArrayInput `pulumi:"targets"` +} + +func (GetIamActionControlAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResource)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceArgs) ToGetIamActionControlAssignmentResourceOutput() GetIamActionControlAssignmentResourceOutput { + return i.ToGetIamActionControlAssignmentResourceOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceArgs) ToGetIamActionControlAssignmentResourceOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceOutput) +} + +// GetIamActionControlAssignmentResourceArrayInput is an input type that accepts GetIamActionControlAssignmentResourceArray and GetIamActionControlAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceArrayInput` via: +// +// GetIamActionControlAssignmentResourceArray{ GetIamActionControlAssignmentResourceArgs{...} } +type GetIamActionControlAssignmentResourceArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceArrayOutput() GetIamActionControlAssignmentResourceArrayOutput + ToGetIamActionControlAssignmentResourceArrayOutputWithContext(context.Context) GetIamActionControlAssignmentResourceArrayOutput +} + +type GetIamActionControlAssignmentResourceArray []GetIamActionControlAssignmentResourceInput + +func (GetIamActionControlAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResource)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceArray) ToGetIamActionControlAssignmentResourceArrayOutput() GetIamActionControlAssignmentResourceArrayOutput { + return i.ToGetIamActionControlAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceArray) ToGetIamActionControlAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceArrayOutput) +} + +type GetIamActionControlAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResource)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceOutput) ToGetIamActionControlAssignmentResourceOutput() GetIamActionControlAssignmentResourceOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceOutput) ToGetIamActionControlAssignmentResourceOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceOutput { + return o +} + +// Set of properties of the assigned resource or error message if assignment failed. +func (o GetIamActionControlAssignmentResourceOutput) ActionControls() GetIamActionControlAssignmentResourceActionControlArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResource) []GetIamActionControlAssignmentResourceActionControl { + return v.ActionControls + }).(GetIamActionControlAssignmentResourceActionControlArrayOutput) +} + +// assignment target account and type. +func (o GetIamActionControlAssignmentResourceOutput) Targets() GetIamActionControlAssignmentResourceTargetArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResource) []GetIamActionControlAssignmentResourceTarget { + return v.Targets + }).(GetIamActionControlAssignmentResourceTargetArrayOutput) +} + +type GetIamActionControlAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResource)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceArrayOutput) ToGetIamActionControlAssignmentResourceArrayOutput() GetIamActionControlAssignmentResourceArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceArrayOutput) ToGetIamActionControlAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentResource { + return vs[0].([]GetIamActionControlAssignmentResource)[vs[1].(int)] + }).(GetIamActionControlAssignmentResourceOutput) +} + +type GetIamActionControlAssignmentResourceActionControl struct { + // Body parameters for assignment error. + ErrorMessages []GetIamActionControlAssignmentResourceActionControlErrorMessage `pulumi:"errorMessages"` + // On success, it includes the action control assigned. + ResourceCreateds []GetIamActionControlAssignmentResourceActionControlResourceCreated `pulumi:"resourceCreateds"` +} + +// GetIamActionControlAssignmentResourceActionControlInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlArgs and GetIamActionControlAssignmentResourceActionControlOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlInput` via: +// +// GetIamActionControlAssignmentResourceActionControlArgs{...} +type GetIamActionControlAssignmentResourceActionControlInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlOutput() GetIamActionControlAssignmentResourceActionControlOutput + ToGetIamActionControlAssignmentResourceActionControlOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlOutput +} + +type GetIamActionControlAssignmentResourceActionControlArgs struct { + // Body parameters for assignment error. + ErrorMessages GetIamActionControlAssignmentResourceActionControlErrorMessageArrayInput `pulumi:"errorMessages"` + // On success, it includes the action control assigned. + ResourceCreateds GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayInput `pulumi:"resourceCreateds"` +} + +func (GetIamActionControlAssignmentResourceActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControl)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlArgs) ToGetIamActionControlAssignmentResourceActionControlOutput() GetIamActionControlAssignmentResourceActionControlOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlArgs) ToGetIamActionControlAssignmentResourceActionControlOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlOutput) +} + +// GetIamActionControlAssignmentResourceActionControlArrayInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlArray and GetIamActionControlAssignmentResourceActionControlArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlArrayInput` via: +// +// GetIamActionControlAssignmentResourceActionControlArray{ GetIamActionControlAssignmentResourceActionControlArgs{...} } +type GetIamActionControlAssignmentResourceActionControlArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlArrayOutput() GetIamActionControlAssignmentResourceActionControlArrayOutput + ToGetIamActionControlAssignmentResourceActionControlArrayOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlArrayOutput +} + +type GetIamActionControlAssignmentResourceActionControlArray []GetIamActionControlAssignmentResourceActionControlInput + +func (GetIamActionControlAssignmentResourceActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControl)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlArray) ToGetIamActionControlAssignmentResourceActionControlArrayOutput() GetIamActionControlAssignmentResourceActionControlArrayOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlArray) ToGetIamActionControlAssignmentResourceActionControlArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlArrayOutput) +} + +type GetIamActionControlAssignmentResourceActionControlOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControl)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlOutput) ToGetIamActionControlAssignmentResourceActionControlOutput() GetIamActionControlAssignmentResourceActionControlOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlOutput) ToGetIamActionControlAssignmentResourceActionControlOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlOutput { + return o +} + +// Body parameters for assignment error. +func (o GetIamActionControlAssignmentResourceActionControlOutput) ErrorMessages() GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControl) []GetIamActionControlAssignmentResourceActionControlErrorMessage { + return v.ErrorMessages + }).(GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) +} + +// On success, it includes the action control assigned. +func (o GetIamActionControlAssignmentResourceActionControlOutput) ResourceCreateds() GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControl) []GetIamActionControlAssignmentResourceActionControlResourceCreated { + return v.ResourceCreateds + }).(GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) +} + +type GetIamActionControlAssignmentResourceActionControlArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControl)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlArrayOutput) ToGetIamActionControlAssignmentResourceActionControlArrayOutput() GetIamActionControlAssignmentResourceActionControlArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlArrayOutput) ToGetIamActionControlAssignmentResourceActionControlArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentResourceActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentResourceActionControl { + return vs[0].([]GetIamActionControlAssignmentResourceActionControl)[vs[1].(int)] + }).(GetIamActionControlAssignmentResourceActionControlOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessage struct { + // Internal status code for the error. + Code string `pulumi:"code"` + // Internal error code. + ErrorCode string `pulumi:"errorCode"` + // The errors encountered during the response. + Errors []GetIamActionControlAssignmentResourceActionControlErrorMessageError `pulumi:"errors"` + // Error message detailing the nature of the error. + Message string `pulumi:"message"` + // Name of the error. + Name string `pulumi:"name"` + // The HTTP error code of the response. + StatusCode int `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace string `pulumi:"trace"` +} + +// GetIamActionControlAssignmentResourceActionControlErrorMessageInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlErrorMessageArgs and GetIamActionControlAssignmentResourceActionControlErrorMessageOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlErrorMessageInput` via: +// +// GetIamActionControlAssignmentResourceActionControlErrorMessageArgs{...} +type GetIamActionControlAssignmentResourceActionControlErrorMessageInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlErrorMessageOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageOutput + ToGetIamActionControlAssignmentResourceActionControlErrorMessageOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageOutput +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageArgs struct { + // Internal status code for the error. + Code pulumi.StringInput `pulumi:"code"` + // Internal error code. + ErrorCode pulumi.StringInput `pulumi:"errorCode"` + // The errors encountered during the response. + Errors GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput `pulumi:"errors"` + // Error message detailing the nature of the error. + Message pulumi.StringInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringInput `pulumi:"name"` + // The HTTP error code of the response. + StatusCode pulumi.IntInput `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace pulumi.StringInput `pulumi:"trace"` +} + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageArgs) ToGetIamActionControlAssignmentResourceActionControlErrorMessageOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlErrorMessageOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageArgs) ToGetIamActionControlAssignmentResourceActionControlErrorMessageOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) +} + +// GetIamActionControlAssignmentResourceActionControlErrorMessageArrayInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlErrorMessageArray and GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlErrorMessageArrayInput` via: +// +// GetIamActionControlAssignmentResourceActionControlErrorMessageArray{ GetIamActionControlAssignmentResourceActionControlErrorMessageArgs{...} } +type GetIamActionControlAssignmentResourceActionControlErrorMessageArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput + ToGetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageArray []GetIamActionControlAssignmentResourceActionControlErrorMessageInput + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageArray) ToGetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageArray) ToGetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageOutput { + return o +} + +// Internal status code for the error. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessage) string { return v.Code }).(pulumi.StringOutput) +} + +// Internal error code. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) ErrorCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessage) string { return v.ErrorCode }).(pulumi.StringOutput) +} + +// The errors encountered during the response. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) Errors() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessage) []GetIamActionControlAssignmentResourceActionControlErrorMessageError { + return v.Errors + }).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) +} + +// Error message detailing the nature of the error. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessage) string { return v.Message }).(pulumi.StringOutput) +} + +// Name of the error. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessage) string { return v.Name }).(pulumi.StringOutput) +} + +// The HTTP error code of the response. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) StatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessage) int { return v.StatusCode }).(pulumi.IntOutput) +} + +// The unique transaction ID for the request. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) Trace() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessage) string { return v.Trace }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentResourceActionControlErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentResourceActionControlErrorMessage { + return vs[0].([]GetIamActionControlAssignmentResourceActionControlErrorMessage)[vs[1].(int)] + }).(GetIamActionControlAssignmentResourceActionControlErrorMessageOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageError struct { + // The API error code for the error. + Code string `pulumi:"code"` + // Additional error details. + Details []GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail `pulumi:"details"` + // The error message returned by the API. + Message string `pulumi:"message"` + // Additional info for error. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArgs and GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlErrorMessageErrorInput` via: +// +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArgs{...} +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArgs struct { + // The API error code for the error. + Code pulumi.StringInput `pulumi:"code"` + // Additional error details. + Details GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput `pulumi:"details"` + // The error message returned by the API. + Message pulumi.StringInput `pulumi:"message"` + // Additional info for error. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArgs) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArgs) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) +} + +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArray and GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput` via: +// +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArray{ GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArgs{...} } +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArray []GetIamActionControlAssignmentResourceActionControlErrorMessageErrorInput + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArray) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArray) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return o +} + +// The API error code for the error. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessageError) string { return v.Code }).(pulumi.StringOutput) +} + +// Additional error details. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) Details() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessageError) []GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail { + return v.Details + }).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) +} + +// The error message returned by the API. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessageError) string { return v.Message }).(pulumi.StringOutput) +} + +// Additional info for error. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessageError) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentResourceActionControlErrorMessageError { + return vs[0].([]GetIamActionControlAssignmentResourceActionControlErrorMessageError)[vs[1].(int)] + }).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail struct { + // Details of conflicting resource. + ConflictsWiths []GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith `pulumi:"conflictsWiths"` +} + +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs and GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput` via: +// +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs{...} +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs struct { + // Details of conflicting resource. + ConflictsWiths GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput `pulumi:"conflictsWiths"` +} + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) +} + +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray and GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput` via: +// +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray{ GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs{...} } +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray []GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return o +} + +// Details of conflicting resource. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) ConflictsWiths() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail) []GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith { + return v.ConflictsWiths + }).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail { + return vs[0].([]GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetail)[vs[1].(int)] + }).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith struct { + // The revision number of the resource. + Etag string `pulumi:"etag"` + // The conflicting policy ID. + Policy string `pulumi:"policy"` + // The conflicting role of ID. + Role string `pulumi:"role"` +} + +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs and GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput` via: +// +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{...} +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs struct { + // The revision number of the resource. + Etag pulumi.StringInput `pulumi:"etag"` + // The conflicting policy ID. + Policy pulumi.StringInput `pulumi:"policy"` + // The conflicting role of ID. + Role pulumi.StringInput `pulumi:"role"` +} + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) +} + +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray and GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput` via: +// +// GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray{ GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{...} } +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput + ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray []GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return o +} + +// The revision number of the resource. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) string { + return v.Etag + }).(pulumi.StringOutput) +} + +// The conflicting policy ID. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) string { + return v.Policy + }).(pulumi.StringOutput) +} + +// The conflicting role of ID. +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) string { + return v.Role + }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ToGetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith { + return vs[0].([]GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)[vs[1].(int)] + }).(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) +} + +type GetIamActionControlAssignmentResourceActionControlResourceCreated struct { + // action control id. + Id string `pulumi:"id"` +} + +// GetIamActionControlAssignmentResourceActionControlResourceCreatedInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlResourceCreatedArgs and GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlResourceCreatedInput` via: +// +// GetIamActionControlAssignmentResourceActionControlResourceCreatedArgs{...} +type GetIamActionControlAssignmentResourceActionControlResourceCreatedInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlResourceCreatedOutput() GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput + ToGetIamActionControlAssignmentResourceActionControlResourceCreatedOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput +} + +type GetIamActionControlAssignmentResourceActionControlResourceCreatedArgs struct { + // action control id. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIamActionControlAssignmentResourceActionControlResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlResourceCreatedArgs) ToGetIamActionControlAssignmentResourceActionControlResourceCreatedOutput() GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlResourceCreatedOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlResourceCreatedArgs) ToGetIamActionControlAssignmentResourceActionControlResourceCreatedOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput) +} + +// GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayInput is an input type that accepts GetIamActionControlAssignmentResourceActionControlResourceCreatedArray and GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayInput` via: +// +// GetIamActionControlAssignmentResourceActionControlResourceCreatedArray{ GetIamActionControlAssignmentResourceActionControlResourceCreatedArgs{...} } +type GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput() GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput + ToGetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(context.Context) GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput +} + +type GetIamActionControlAssignmentResourceActionControlResourceCreatedArray []GetIamActionControlAssignmentResourceActionControlResourceCreatedInput + +func (GetIamActionControlAssignmentResourceActionControlResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceActionControlResourceCreatedArray) ToGetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput() GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return i.ToGetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceActionControlResourceCreatedArray) ToGetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) +} + +type GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput) ToGetIamActionControlAssignmentResourceActionControlResourceCreatedOutput() GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput) ToGetIamActionControlAssignmentResourceActionControlResourceCreatedOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return o +} + +// action control id. +func (o GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceActionControlResourceCreated) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) ToGetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput() GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) ToGetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentResourceActionControlResourceCreated { + return vs[0].([]GetIamActionControlAssignmentResourceActionControlResourceCreated)[vs[1].(int)] + }).(GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput) +} + +type GetIamActionControlAssignmentResourceTarget struct { + // ID of the target account. + Id string `pulumi:"id"` + // Assignment target type. + Type string `pulumi:"type"` +} + +// GetIamActionControlAssignmentResourceTargetInput is an input type that accepts GetIamActionControlAssignmentResourceTargetArgs and GetIamActionControlAssignmentResourceTargetOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceTargetInput` via: +// +// GetIamActionControlAssignmentResourceTargetArgs{...} +type GetIamActionControlAssignmentResourceTargetInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceTargetOutput() GetIamActionControlAssignmentResourceTargetOutput + ToGetIamActionControlAssignmentResourceTargetOutputWithContext(context.Context) GetIamActionControlAssignmentResourceTargetOutput +} + +type GetIamActionControlAssignmentResourceTargetArgs struct { + // ID of the target account. + Id pulumi.StringInput `pulumi:"id"` + // Assignment target type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamActionControlAssignmentResourceTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceTarget)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceTargetArgs) ToGetIamActionControlAssignmentResourceTargetOutput() GetIamActionControlAssignmentResourceTargetOutput { + return i.ToGetIamActionControlAssignmentResourceTargetOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceTargetArgs) ToGetIamActionControlAssignmentResourceTargetOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceTargetOutput) +} + +// GetIamActionControlAssignmentResourceTargetArrayInput is an input type that accepts GetIamActionControlAssignmentResourceTargetArray and GetIamActionControlAssignmentResourceTargetArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentResourceTargetArrayInput` via: +// +// GetIamActionControlAssignmentResourceTargetArray{ GetIamActionControlAssignmentResourceTargetArgs{...} } +type GetIamActionControlAssignmentResourceTargetArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentResourceTargetArrayOutput() GetIamActionControlAssignmentResourceTargetArrayOutput + ToGetIamActionControlAssignmentResourceTargetArrayOutputWithContext(context.Context) GetIamActionControlAssignmentResourceTargetArrayOutput +} + +type GetIamActionControlAssignmentResourceTargetArray []GetIamActionControlAssignmentResourceTargetInput + +func (GetIamActionControlAssignmentResourceTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceTarget)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentResourceTargetArray) ToGetIamActionControlAssignmentResourceTargetArrayOutput() GetIamActionControlAssignmentResourceTargetArrayOutput { + return i.ToGetIamActionControlAssignmentResourceTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentResourceTargetArray) ToGetIamActionControlAssignmentResourceTargetArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentResourceTargetArrayOutput) +} + +type GetIamActionControlAssignmentResourceTargetOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentResourceTarget)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceTargetOutput) ToGetIamActionControlAssignmentResourceTargetOutput() GetIamActionControlAssignmentResourceTargetOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceTargetOutput) ToGetIamActionControlAssignmentResourceTargetOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceTargetOutput { + return o +} + +// ID of the target account. +func (o GetIamActionControlAssignmentResourceTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// Assignment target type. +func (o GetIamActionControlAssignmentResourceTargetOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentResourceTarget) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentResourceTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentResourceTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentResourceTarget)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentResourceTargetArrayOutput) ToGetIamActionControlAssignmentResourceTargetArrayOutput() GetIamActionControlAssignmentResourceTargetArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceTargetArrayOutput) ToGetIamActionControlAssignmentResourceTargetArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentResourceTargetArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentResourceTargetArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentResourceTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentResourceTarget { + return vs[0].([]GetIamActionControlAssignmentResourceTarget)[vs[1].(int)] + }).(GetIamActionControlAssignmentResourceTargetOutput) +} + +type GetIamActionControlAssignmentTarget struct { + // ID of the target account. + Id string `pulumi:"id"` + // Assignment target type. + Type string `pulumi:"type"` +} + +// GetIamActionControlAssignmentTargetInput is an input type that accepts GetIamActionControlAssignmentTargetArgs and GetIamActionControlAssignmentTargetOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentTargetInput` via: +// +// GetIamActionControlAssignmentTargetArgs{...} +type GetIamActionControlAssignmentTargetInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentTargetOutput() GetIamActionControlAssignmentTargetOutput + ToGetIamActionControlAssignmentTargetOutputWithContext(context.Context) GetIamActionControlAssignmentTargetOutput +} + +type GetIamActionControlAssignmentTargetArgs struct { + // ID of the target account. + Id pulumi.StringInput `pulumi:"id"` + // Assignment target type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamActionControlAssignmentTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentTarget)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentTargetArgs) ToGetIamActionControlAssignmentTargetOutput() GetIamActionControlAssignmentTargetOutput { + return i.ToGetIamActionControlAssignmentTargetOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentTargetArgs) ToGetIamActionControlAssignmentTargetOutputWithContext(ctx context.Context) GetIamActionControlAssignmentTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentTargetOutput) +} + +// GetIamActionControlAssignmentTargetArrayInput is an input type that accepts GetIamActionControlAssignmentTargetArray and GetIamActionControlAssignmentTargetArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentTargetArrayInput` via: +// +// GetIamActionControlAssignmentTargetArray{ GetIamActionControlAssignmentTargetArgs{...} } +type GetIamActionControlAssignmentTargetArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentTargetArrayOutput() GetIamActionControlAssignmentTargetArrayOutput + ToGetIamActionControlAssignmentTargetArrayOutputWithContext(context.Context) GetIamActionControlAssignmentTargetArrayOutput +} + +type GetIamActionControlAssignmentTargetArray []GetIamActionControlAssignmentTargetInput + +func (GetIamActionControlAssignmentTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentTarget)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentTargetArray) ToGetIamActionControlAssignmentTargetArrayOutput() GetIamActionControlAssignmentTargetArrayOutput { + return i.ToGetIamActionControlAssignmentTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentTargetArray) ToGetIamActionControlAssignmentTargetArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentTargetArrayOutput) +} + +type GetIamActionControlAssignmentTargetOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentTarget)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentTargetOutput) ToGetIamActionControlAssignmentTargetOutput() GetIamActionControlAssignmentTargetOutput { + return o +} + +func (o GetIamActionControlAssignmentTargetOutput) ToGetIamActionControlAssignmentTargetOutputWithContext(ctx context.Context) GetIamActionControlAssignmentTargetOutput { + return o +} + +// ID of the target account. +func (o GetIamActionControlAssignmentTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// Assignment target type. +func (o GetIamActionControlAssignmentTargetOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentTarget) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentTarget)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentTargetArrayOutput) ToGetIamActionControlAssignmentTargetArrayOutput() GetIamActionControlAssignmentTargetArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentTargetArrayOutput) ToGetIamActionControlAssignmentTargetArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentTargetArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentTargetArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentTarget { + return vs[0].([]GetIamActionControlAssignmentTarget)[vs[1].(int)] + }).(GetIamActionControlAssignmentTargetOutput) +} + +type GetIamActionControlAssignmentTemplate struct { + // Action control template ID. + Id string `pulumi:"id"` + // Action control template version. + Version string `pulumi:"version"` +} + +// GetIamActionControlAssignmentTemplateInput is an input type that accepts GetIamActionControlAssignmentTemplateArgs and GetIamActionControlAssignmentTemplateOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentTemplateInput` via: +// +// GetIamActionControlAssignmentTemplateArgs{...} +type GetIamActionControlAssignmentTemplateInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentTemplateOutput() GetIamActionControlAssignmentTemplateOutput + ToGetIamActionControlAssignmentTemplateOutputWithContext(context.Context) GetIamActionControlAssignmentTemplateOutput +} + +type GetIamActionControlAssignmentTemplateArgs struct { + // Action control template ID. + Id pulumi.StringInput `pulumi:"id"` + // Action control template version. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamActionControlAssignmentTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentTemplate)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentTemplateArgs) ToGetIamActionControlAssignmentTemplateOutput() GetIamActionControlAssignmentTemplateOutput { + return i.ToGetIamActionControlAssignmentTemplateOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentTemplateArgs) ToGetIamActionControlAssignmentTemplateOutputWithContext(ctx context.Context) GetIamActionControlAssignmentTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentTemplateOutput) +} + +// GetIamActionControlAssignmentTemplateArrayInput is an input type that accepts GetIamActionControlAssignmentTemplateArray and GetIamActionControlAssignmentTemplateArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentTemplateArrayInput` via: +// +// GetIamActionControlAssignmentTemplateArray{ GetIamActionControlAssignmentTemplateArgs{...} } +type GetIamActionControlAssignmentTemplateArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentTemplateArrayOutput() GetIamActionControlAssignmentTemplateArrayOutput + ToGetIamActionControlAssignmentTemplateArrayOutputWithContext(context.Context) GetIamActionControlAssignmentTemplateArrayOutput +} + +type GetIamActionControlAssignmentTemplateArray []GetIamActionControlAssignmentTemplateInput + +func (GetIamActionControlAssignmentTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentTemplate)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentTemplateArray) ToGetIamActionControlAssignmentTemplateArrayOutput() GetIamActionControlAssignmentTemplateArrayOutput { + return i.ToGetIamActionControlAssignmentTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentTemplateArray) ToGetIamActionControlAssignmentTemplateArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentTemplateArrayOutput) +} + +type GetIamActionControlAssignmentTemplateOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentTemplate)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentTemplateOutput) ToGetIamActionControlAssignmentTemplateOutput() GetIamActionControlAssignmentTemplateOutput { + return o +} + +func (o GetIamActionControlAssignmentTemplateOutput) ToGetIamActionControlAssignmentTemplateOutputWithContext(ctx context.Context) GetIamActionControlAssignmentTemplateOutput { + return o +} + +// Action control template ID. +func (o GetIamActionControlAssignmentTemplateOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentTemplate) string { return v.Id }).(pulumi.StringOutput) +} + +// Action control template version. +func (o GetIamActionControlAssignmentTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentTemplate) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentTemplate)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentTemplateArrayOutput) ToGetIamActionControlAssignmentTemplateArrayOutput() GetIamActionControlAssignmentTemplateArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentTemplateArrayOutput) ToGetIamActionControlAssignmentTemplateArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentTemplateArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentTemplateArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentTemplate { + return vs[0].([]GetIamActionControlAssignmentTemplate)[vs[1].(int)] + }).(GetIamActionControlAssignmentTemplateOutput) +} + +type GetIamActionControlAssignmentsAssignment struct { + // The account GUID that the action control assignments belong to. + AccountId string `pulumi:"accountId"` + // The UTC timestamp when the action control assignment was created. + CreatedAt string `pulumi:"createdAt"` + // The IAM ID of the entity that created the action control assignment. + CreatedById string `pulumi:"createdById"` + // The href URL that links to the action control assignments API by action control assignment ID. + Href string `pulumi:"href"` + // Action control assignment ID. + Id string `pulumi:"id"` + // The UTC timestamp when the action control assignment was last modified. + LastModifiedAt string `pulumi:"lastModifiedAt"` + // The IAM ID of the entity that last modified the action control assignment. + LastModifiedById string `pulumi:"lastModifiedById"` + // The current operation of the action control assignment. + Operation string `pulumi:"operation"` + // Resources created when action control template is assigned. + Resources []GetIamActionControlAssignmentsAssignmentResource `pulumi:"resources"` + // The action control assignment status. + Status string `pulumi:"status"` + // assignment target account and type. + Targets []GetIamActionControlAssignmentsAssignmentTarget `pulumi:"targets"` + // The action control template id and version that will be assigned. + Templates []GetIamActionControlAssignmentsAssignmentTemplate `pulumi:"templates"` +} + +// GetIamActionControlAssignmentsAssignmentInput is an input type that accepts GetIamActionControlAssignmentsAssignmentArgs and GetIamActionControlAssignmentsAssignmentOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentInput` via: +// +// GetIamActionControlAssignmentsAssignmentArgs{...} +type GetIamActionControlAssignmentsAssignmentInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentOutput() GetIamActionControlAssignmentsAssignmentOutput + ToGetIamActionControlAssignmentsAssignmentOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentOutput +} + +type GetIamActionControlAssignmentsAssignmentArgs struct { + // The account GUID that the action control assignments belong to. + AccountId pulumi.StringInput `pulumi:"accountId"` + // The UTC timestamp when the action control assignment was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The IAM ID of the entity that created the action control assignment. + CreatedById pulumi.StringInput `pulumi:"createdById"` + // The href URL that links to the action control assignments API by action control assignment ID. + Href pulumi.StringInput `pulumi:"href"` + // Action control assignment ID. + Id pulumi.StringInput `pulumi:"id"` + // The UTC timestamp when the action control assignment was last modified. + LastModifiedAt pulumi.StringInput `pulumi:"lastModifiedAt"` + // The IAM ID of the entity that last modified the action control assignment. + LastModifiedById pulumi.StringInput `pulumi:"lastModifiedById"` + // The current operation of the action control assignment. + Operation pulumi.StringInput `pulumi:"operation"` + // Resources created when action control template is assigned. + Resources GetIamActionControlAssignmentsAssignmentResourceArrayInput `pulumi:"resources"` + // The action control assignment status. + Status pulumi.StringInput `pulumi:"status"` + // assignment target account and type. + Targets GetIamActionControlAssignmentsAssignmentTargetArrayInput `pulumi:"targets"` + // The action control template id and version that will be assigned. + Templates GetIamActionControlAssignmentsAssignmentTemplateArrayInput `pulumi:"templates"` +} + +func (GetIamActionControlAssignmentsAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignment)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentArgs) ToGetIamActionControlAssignmentsAssignmentOutput() GetIamActionControlAssignmentsAssignmentOutput { + return i.ToGetIamActionControlAssignmentsAssignmentOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentArgs) ToGetIamActionControlAssignmentsAssignmentOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentOutput) +} + +// GetIamActionControlAssignmentsAssignmentArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentArray and GetIamActionControlAssignmentsAssignmentArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentArray{ GetIamActionControlAssignmentsAssignmentArgs{...} } +type GetIamActionControlAssignmentsAssignmentArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentArrayOutput() GetIamActionControlAssignmentsAssignmentArrayOutput + ToGetIamActionControlAssignmentsAssignmentArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentArray []GetIamActionControlAssignmentsAssignmentInput + +func (GetIamActionControlAssignmentsAssignmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignment)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentArray) ToGetIamActionControlAssignmentsAssignmentArrayOutput() GetIamActionControlAssignmentsAssignmentArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentArray) ToGetIamActionControlAssignmentsAssignmentArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignment)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentOutput) ToGetIamActionControlAssignmentsAssignmentOutput() GetIamActionControlAssignmentsAssignmentOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentOutput) ToGetIamActionControlAssignmentsAssignmentOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentOutput { + return o +} + +// The account GUID that the action control assignments belong to. +func (o GetIamActionControlAssignmentsAssignmentOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.AccountId }).(pulumi.StringOutput) +} + +// The UTC timestamp when the action control assignment was created. +func (o GetIamActionControlAssignmentsAssignmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The IAM ID of the entity that created the action control assignment. +func (o GetIamActionControlAssignmentsAssignmentOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.CreatedById }).(pulumi.StringOutput) +} + +// The href URL that links to the action control assignments API by action control assignment ID. +func (o GetIamActionControlAssignmentsAssignmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.Href }).(pulumi.StringOutput) +} + +// Action control assignment ID. +func (o GetIamActionControlAssignmentsAssignmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.Id }).(pulumi.StringOutput) +} + +// The UTC timestamp when the action control assignment was last modified. +func (o GetIamActionControlAssignmentsAssignmentOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The IAM ID of the entity that last modified the action control assignment. +func (o GetIamActionControlAssignmentsAssignmentOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// The current operation of the action control assignment. +func (o GetIamActionControlAssignmentsAssignmentOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.Operation }).(pulumi.StringOutput) +} + +// Resources created when action control template is assigned. +func (o GetIamActionControlAssignmentsAssignmentOutput) Resources() GetIamActionControlAssignmentsAssignmentResourceArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) []GetIamActionControlAssignmentsAssignmentResource { + return v.Resources + }).(GetIamActionControlAssignmentsAssignmentResourceArrayOutput) +} + +// The action control assignment status. +func (o GetIamActionControlAssignmentsAssignmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) string { return v.Status }).(pulumi.StringOutput) +} + +// assignment target account and type. +func (o GetIamActionControlAssignmentsAssignmentOutput) Targets() GetIamActionControlAssignmentsAssignmentTargetArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) []GetIamActionControlAssignmentsAssignmentTarget { + return v.Targets + }).(GetIamActionControlAssignmentsAssignmentTargetArrayOutput) +} + +// The action control template id and version that will be assigned. +func (o GetIamActionControlAssignmentsAssignmentOutput) Templates() GetIamActionControlAssignmentsAssignmentTemplateArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignment) []GetIamActionControlAssignmentsAssignmentTemplate { + return v.Templates + }).(GetIamActionControlAssignmentsAssignmentTemplateArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignment)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentArrayOutput) ToGetIamActionControlAssignmentsAssignmentArrayOutput() GetIamActionControlAssignmentsAssignmentArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentArrayOutput) ToGetIamActionControlAssignmentsAssignmentArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignment { + return vs[0].([]GetIamActionControlAssignmentsAssignment)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentOutput) +} + +type GetIamActionControlAssignmentsAssignmentResource struct { + // Set of properties of the assigned resource or error message if assignment failed. + ActionControls []GetIamActionControlAssignmentsAssignmentResourceActionControl `pulumi:"actionControls"` + // assignment target account and type. + Targets []GetIamActionControlAssignmentsAssignmentResourceTarget `pulumi:"targets"` +} + +// GetIamActionControlAssignmentsAssignmentResourceInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceArgs and GetIamActionControlAssignmentsAssignmentResourceOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceArgs{...} +type GetIamActionControlAssignmentsAssignmentResourceInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceOutput() GetIamActionControlAssignmentsAssignmentResourceOutput + ToGetIamActionControlAssignmentsAssignmentResourceOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceArgs struct { + // Set of properties of the assigned resource or error message if assignment failed. + ActionControls GetIamActionControlAssignmentsAssignmentResourceActionControlArrayInput `pulumi:"actionControls"` + // assignment target account and type. + Targets GetIamActionControlAssignmentsAssignmentResourceTargetArrayInput `pulumi:"targets"` +} + +func (GetIamActionControlAssignmentsAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResource)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceArgs) ToGetIamActionControlAssignmentsAssignmentResourceOutput() GetIamActionControlAssignmentsAssignmentResourceOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceArgs) ToGetIamActionControlAssignmentsAssignmentResourceOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceOutput) +} + +// GetIamActionControlAssignmentsAssignmentResourceArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceArray and GetIamActionControlAssignmentsAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceArray{ GetIamActionControlAssignmentsAssignmentResourceArgs{...} } +type GetIamActionControlAssignmentsAssignmentResourceArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceArrayOutput() GetIamActionControlAssignmentsAssignmentResourceArrayOutput + ToGetIamActionControlAssignmentsAssignmentResourceArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceArray []GetIamActionControlAssignmentsAssignmentResourceInput + +func (GetIamActionControlAssignmentsAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResource)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceArray) ToGetIamActionControlAssignmentsAssignmentResourceArrayOutput() GetIamActionControlAssignmentsAssignmentResourceArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceArray) ToGetIamActionControlAssignmentsAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResource)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceOutput) ToGetIamActionControlAssignmentsAssignmentResourceOutput() GetIamActionControlAssignmentsAssignmentResourceOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceOutput) ToGetIamActionControlAssignmentsAssignmentResourceOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceOutput { + return o +} + +// Set of properties of the assigned resource or error message if assignment failed. +func (o GetIamActionControlAssignmentsAssignmentResourceOutput) ActionControls() GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResource) []GetIamActionControlAssignmentsAssignmentResourceActionControl { + return v.ActionControls + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput) +} + +// assignment target account and type. +func (o GetIamActionControlAssignmentsAssignmentResourceOutput) Targets() GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResource) []GetIamActionControlAssignmentsAssignmentResourceTarget { + return v.Targets + }).(GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResource)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceArrayOutput() GetIamActionControlAssignmentsAssignmentResourceArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentResource { + return vs[0].([]GetIamActionControlAssignmentsAssignmentResource)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentResourceOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControl struct { + // The error response from API. + ErrorMessages []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage `pulumi:"errorMessages"` + // On success, it includes the action control assigned. + ResourceCreateds []GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated `pulumi:"resourceCreateds"` +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlArgs and GetIamActionControlAssignmentsAssignmentResourceActionControlOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlArgs{...} +type GetIamActionControlAssignmentsAssignmentResourceActionControlInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlArgs struct { + // The error response from API. + ErrorMessages GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayInput `pulumi:"errorMessages"` + // On success, it includes the action control assigned. + ResourceCreateds GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayInput `pulumi:"resourceCreateds"` +} + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControl)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlOutput) +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlArray and GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlArray{ GetIamActionControlAssignmentsAssignmentResourceActionControlArgs{...} } +type GetIamActionControlAssignmentsAssignmentResourceActionControlArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlArray []GetIamActionControlAssignmentsAssignmentResourceActionControlInput + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControl)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControl)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlOutput { + return o +} + +// The error response from API. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlOutput) ErrorMessages() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControl) []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage { + return v.ErrorMessages + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput) +} + +// On success, it includes the action control assigned. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlOutput) ResourceCreateds() GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControl) []GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated { + return v.ResourceCreateds + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControl)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentResourceActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentResourceActionControl { + return vs[0].([]GetIamActionControlAssignmentsAssignmentResourceActionControl)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage struct { + // Internal status code for the error. + Code string `pulumi:"code"` + // Internal error code. + ErrorCode string `pulumi:"errorCode"` + // The errors encountered during the response. + Errors []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError `pulumi:"errors"` + // Error message detailing the nature of the error. + Message string `pulumi:"message"` + // Name of the error. + Name string `pulumi:"name"` + // The HTTP error code of the response. + StatusCode int `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace string `pulumi:"trace"` +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArgs and GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArgs{...} +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArgs struct { + // Internal status code for the error. + Code pulumi.StringInput `pulumi:"code"` + // Internal error code. + ErrorCode pulumi.StringInput `pulumi:"errorCode"` + // The errors encountered during the response. + Errors GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayInput `pulumi:"errors"` + // Error message detailing the nature of the error. + Message pulumi.StringInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringInput `pulumi:"name"` + // The HTTP error code of the response. + StatusCode pulumi.IntInput `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace pulumi.StringInput `pulumi:"trace"` +} + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArray and GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArray{ GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArgs{...} } +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArray []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageInput + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput { + return o +} + +// Internal status code for the error. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage) string { + return v.Code + }).(pulumi.StringOutput) +} + +// Internal error code. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) ErrorCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage) string { + return v.ErrorCode + }).(pulumi.StringOutput) +} + +// The errors encountered during the response. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) Errors() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage) []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError { + return v.Errors + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput) +} + +// Error message detailing the nature of the error. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage) string { + return v.Message + }).(pulumi.StringOutput) +} + +// Name of the error. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage) string { + return v.Name + }).(pulumi.StringOutput) +} + +// The HTTP error code of the response. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) StatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage) int { + return v.StatusCode + }).(pulumi.IntOutput) +} + +// The unique transaction ID for the request. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) Trace() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage) string { + return v.Trace + }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage { + return vs[0].([]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessage)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError struct { + // The API error code for the error. + Code string `pulumi:"code"` + // Additional error details. + Details []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail `pulumi:"details"` + // The error message returned by the API. + Message string `pulumi:"message"` + // Additional info for error. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArgs and GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArgs{...} +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArgs struct { + // The API error code for the error. + Code pulumi.StringInput `pulumi:"code"` + // Additional error details. + Details GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayInput `pulumi:"details"` + // The error message returned by the API. + Message pulumi.StringInput `pulumi:"message"` + // Additional info for error. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArray and GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArray{ GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArgs{...} } +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArray []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorInput + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput { + return o +} + +// The API error code for the error. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError) string { + return v.Code + }).(pulumi.StringOutput) +} + +// Additional error details. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) Details() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError) []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail { + return v.Details + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) +} + +// The error message returned by the API. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError) string { + return v.Message + }).(pulumi.StringOutput) +} + +// Additional info for error. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError { + return vs[0].([]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageError)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail struct { + // Details of conflicting resource. + ConflictsWiths []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith `pulumi:"conflictsWiths"` +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArgs and GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArgs{...} +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArgs struct { + // Details of conflicting resource. + ConflictsWiths GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput `pulumi:"conflictsWiths"` +} + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput) +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArray and GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArray{ GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArgs{...} } +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArray []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailInput + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return o +} + +// Details of conflicting resource. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput) ConflictsWiths() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail) []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith { + return v.ConflictsWiths + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail { + return vs[0].([]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetail)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith struct { + // The revision number of the resource. + Etag string `pulumi:"etag"` + // The conflicting policy ID. + Policy string `pulumi:"policy"` + // The conflicting role of ID. + Role string `pulumi:"role"` +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs and GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{...} +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs struct { + // The revision number of the resource. + Etag pulumi.StringInput `pulumi:"etag"` + // The conflicting policy ID. + Policy pulumi.StringInput `pulumi:"policy"` + // The conflicting role of ID. + Role pulumi.StringInput `pulumi:"role"` +} + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray and GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray{ GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{...} } +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray []GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return o +} + +// The revision number of the resource. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) string { + return v.Etag + }).(pulumi.StringOutput) +} + +// The conflicting policy ID. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) string { + return v.Policy + }).(pulumi.StringOutput) +} + +// The conflicting role of ID. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith) string { + return v.Role + }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith { + return vs[0].([]GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWith)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated struct { + // action control id. + Id string `pulumi:"id"` +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArgs and GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArgs{...} +type GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArgs struct { + // action control id. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArgs) ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput) +} + +// GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArray and GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArray{ GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArgs{...} } +type GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput + ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArray []GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedInput + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArray) ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput { + return o +} + +// action control id. +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput() GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated { + return vs[0].([]GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreated)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceTarget struct { + // ID of the target account. + Id string `pulumi:"id"` + // Assignment target type. + Type string `pulumi:"type"` +} + +// GetIamActionControlAssignmentsAssignmentResourceTargetInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceTargetArgs and GetIamActionControlAssignmentsAssignmentResourceTargetOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceTargetInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceTargetArgs{...} +type GetIamActionControlAssignmentsAssignmentResourceTargetInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceTargetOutput() GetIamActionControlAssignmentsAssignmentResourceTargetOutput + ToGetIamActionControlAssignmentsAssignmentResourceTargetOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceTargetOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceTargetArgs struct { + // ID of the target account. + Id pulumi.StringInput `pulumi:"id"` + // Assignment target type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamActionControlAssignmentsAssignmentResourceTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceTarget)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceTargetArgs) ToGetIamActionControlAssignmentsAssignmentResourceTargetOutput() GetIamActionControlAssignmentsAssignmentResourceTargetOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceTargetOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceTargetArgs) ToGetIamActionControlAssignmentsAssignmentResourceTargetOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceTargetOutput) +} + +// GetIamActionControlAssignmentsAssignmentResourceTargetArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentResourceTargetArray and GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentResourceTargetArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentResourceTargetArray{ GetIamActionControlAssignmentsAssignmentResourceTargetArgs{...} } +type GetIamActionControlAssignmentsAssignmentResourceTargetArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput() GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput + ToGetIamActionControlAssignmentsAssignmentResourceTargetArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentResourceTargetArray []GetIamActionControlAssignmentsAssignmentResourceTargetInput + +func (GetIamActionControlAssignmentsAssignmentResourceTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceTarget)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentResourceTargetArray) ToGetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput() GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentResourceTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentResourceTargetArray) ToGetIamActionControlAssignmentsAssignmentResourceTargetArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceTargetOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceTarget)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceTargetOutput) ToGetIamActionControlAssignmentsAssignmentResourceTargetOutput() GetIamActionControlAssignmentsAssignmentResourceTargetOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceTargetOutput) ToGetIamActionControlAssignmentsAssignmentResourceTargetOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceTargetOutput { + return o +} + +// ID of the target account. +func (o GetIamActionControlAssignmentsAssignmentResourceTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// Assignment target type. +func (o GetIamActionControlAssignmentsAssignmentResourceTargetOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentResourceTarget) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentResourceTarget)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput() GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput) ToGetIamActionControlAssignmentsAssignmentResourceTargetArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentResourceTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentResourceTarget { + return vs[0].([]GetIamActionControlAssignmentsAssignmentResourceTarget)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentResourceTargetOutput) +} + +type GetIamActionControlAssignmentsAssignmentTarget struct { + // ID of the target account. + Id string `pulumi:"id"` + // Assignment target type. + Type string `pulumi:"type"` +} + +// GetIamActionControlAssignmentsAssignmentTargetInput is an input type that accepts GetIamActionControlAssignmentsAssignmentTargetArgs and GetIamActionControlAssignmentsAssignmentTargetOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentTargetInput` via: +// +// GetIamActionControlAssignmentsAssignmentTargetArgs{...} +type GetIamActionControlAssignmentsAssignmentTargetInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentTargetOutput() GetIamActionControlAssignmentsAssignmentTargetOutput + ToGetIamActionControlAssignmentsAssignmentTargetOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentTargetOutput +} + +type GetIamActionControlAssignmentsAssignmentTargetArgs struct { + // ID of the target account. + Id pulumi.StringInput `pulumi:"id"` + // Assignment target type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamActionControlAssignmentsAssignmentTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentTarget)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentTargetArgs) ToGetIamActionControlAssignmentsAssignmentTargetOutput() GetIamActionControlAssignmentsAssignmentTargetOutput { + return i.ToGetIamActionControlAssignmentsAssignmentTargetOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentTargetArgs) ToGetIamActionControlAssignmentsAssignmentTargetOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentTargetOutput) +} + +// GetIamActionControlAssignmentsAssignmentTargetArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentTargetArray and GetIamActionControlAssignmentsAssignmentTargetArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentTargetArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentTargetArray{ GetIamActionControlAssignmentsAssignmentTargetArgs{...} } +type GetIamActionControlAssignmentsAssignmentTargetArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentTargetArrayOutput() GetIamActionControlAssignmentsAssignmentTargetArrayOutput + ToGetIamActionControlAssignmentsAssignmentTargetArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentTargetArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentTargetArray []GetIamActionControlAssignmentsAssignmentTargetInput + +func (GetIamActionControlAssignmentsAssignmentTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentTarget)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentTargetArray) ToGetIamActionControlAssignmentsAssignmentTargetArrayOutput() GetIamActionControlAssignmentsAssignmentTargetArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentTargetArray) ToGetIamActionControlAssignmentsAssignmentTargetArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentTargetArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentTargetOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentTarget)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentTargetOutput) ToGetIamActionControlAssignmentsAssignmentTargetOutput() GetIamActionControlAssignmentsAssignmentTargetOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentTargetOutput) ToGetIamActionControlAssignmentsAssignmentTargetOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentTargetOutput { + return o +} + +// ID of the target account. +func (o GetIamActionControlAssignmentsAssignmentTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// Assignment target type. +func (o GetIamActionControlAssignmentsAssignmentTargetOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentTarget) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentsAssignmentTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentTarget)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentTargetArrayOutput) ToGetIamActionControlAssignmentsAssignmentTargetArrayOutput() GetIamActionControlAssignmentsAssignmentTargetArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentTargetArrayOutput) ToGetIamActionControlAssignmentsAssignmentTargetArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentTargetArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentTargetArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentTarget { + return vs[0].([]GetIamActionControlAssignmentsAssignmentTarget)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentTargetOutput) +} + +type GetIamActionControlAssignmentsAssignmentTemplate struct { + // Action control template ID. + Id string `pulumi:"id"` + // Action control template version. + Version string `pulumi:"version"` +} + +// GetIamActionControlAssignmentsAssignmentTemplateInput is an input type that accepts GetIamActionControlAssignmentsAssignmentTemplateArgs and GetIamActionControlAssignmentsAssignmentTemplateOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentTemplateInput` via: +// +// GetIamActionControlAssignmentsAssignmentTemplateArgs{...} +type GetIamActionControlAssignmentsAssignmentTemplateInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentTemplateOutput() GetIamActionControlAssignmentsAssignmentTemplateOutput + ToGetIamActionControlAssignmentsAssignmentTemplateOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentTemplateOutput +} + +type GetIamActionControlAssignmentsAssignmentTemplateArgs struct { + // Action control template ID. + Id pulumi.StringInput `pulumi:"id"` + // Action control template version. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamActionControlAssignmentsAssignmentTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentTemplate)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentTemplateArgs) ToGetIamActionControlAssignmentsAssignmentTemplateOutput() GetIamActionControlAssignmentsAssignmentTemplateOutput { + return i.ToGetIamActionControlAssignmentsAssignmentTemplateOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentTemplateArgs) ToGetIamActionControlAssignmentsAssignmentTemplateOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentTemplateOutput) +} + +// GetIamActionControlAssignmentsAssignmentTemplateArrayInput is an input type that accepts GetIamActionControlAssignmentsAssignmentTemplateArray and GetIamActionControlAssignmentsAssignmentTemplateArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlAssignmentsAssignmentTemplateArrayInput` via: +// +// GetIamActionControlAssignmentsAssignmentTemplateArray{ GetIamActionControlAssignmentsAssignmentTemplateArgs{...} } +type GetIamActionControlAssignmentsAssignmentTemplateArrayInput interface { + pulumi.Input + + ToGetIamActionControlAssignmentsAssignmentTemplateArrayOutput() GetIamActionControlAssignmentsAssignmentTemplateArrayOutput + ToGetIamActionControlAssignmentsAssignmentTemplateArrayOutputWithContext(context.Context) GetIamActionControlAssignmentsAssignmentTemplateArrayOutput +} + +type GetIamActionControlAssignmentsAssignmentTemplateArray []GetIamActionControlAssignmentsAssignmentTemplateInput + +func (GetIamActionControlAssignmentsAssignmentTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentTemplate)(nil)).Elem() +} + +func (i GetIamActionControlAssignmentsAssignmentTemplateArray) ToGetIamActionControlAssignmentsAssignmentTemplateArrayOutput() GetIamActionControlAssignmentsAssignmentTemplateArrayOutput { + return i.ToGetIamActionControlAssignmentsAssignmentTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlAssignmentsAssignmentTemplateArray) ToGetIamActionControlAssignmentsAssignmentTemplateArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlAssignmentsAssignmentTemplateArrayOutput) +} + +type GetIamActionControlAssignmentsAssignmentTemplateOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentTemplate)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentTemplateOutput) ToGetIamActionControlAssignmentsAssignmentTemplateOutput() GetIamActionControlAssignmentsAssignmentTemplateOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentTemplateOutput) ToGetIamActionControlAssignmentsAssignmentTemplateOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentTemplateOutput { + return o +} + +// Action control template ID. +func (o GetIamActionControlAssignmentsAssignmentTemplateOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentTemplate) string { return v.Id }).(pulumi.StringOutput) +} + +// Action control template version. +func (o GetIamActionControlAssignmentsAssignmentTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlAssignmentsAssignmentTemplate) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamActionControlAssignmentsAssignmentTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlAssignmentsAssignmentTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlAssignmentsAssignmentTemplate)(nil)).Elem() +} + +func (o GetIamActionControlAssignmentsAssignmentTemplateArrayOutput) ToGetIamActionControlAssignmentsAssignmentTemplateArrayOutput() GetIamActionControlAssignmentsAssignmentTemplateArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentTemplateArrayOutput) ToGetIamActionControlAssignmentsAssignmentTemplateArrayOutputWithContext(ctx context.Context) GetIamActionControlAssignmentsAssignmentTemplateArrayOutput { + return o +} + +func (o GetIamActionControlAssignmentsAssignmentTemplateArrayOutput) Index(i pulumi.IntInput) GetIamActionControlAssignmentsAssignmentTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlAssignmentsAssignmentTemplate { + return vs[0].([]GetIamActionControlAssignmentsAssignmentTemplate)[vs[1].(int)] + }).(GetIamActionControlAssignmentsAssignmentTemplateOutput) +} + +type GetIamActionControlTemplateActionControlTemplate struct { + // account id where this template will be created. + AccountId string `pulumi:"accountId"` + // The action control properties that are created in an action resource when the template is assigned. + ActionControls []GetIamActionControlTemplateActionControlTemplateActionControl `pulumi:"actionControls"` + // Template version committed status. + Committed bool `pulumi:"committed"` + // description of template purpose. + Description string `pulumi:"description"` + // The action control template ID. + Id string `pulumi:"id"` + // name of template. + Name string `pulumi:"name"` + // Template version. + Version string `pulumi:"version"` +} + +// GetIamActionControlTemplateActionControlTemplateInput is an input type that accepts GetIamActionControlTemplateActionControlTemplateArgs and GetIamActionControlTemplateActionControlTemplateOutput values. +// You can construct a concrete instance of `GetIamActionControlTemplateActionControlTemplateInput` via: +// +// GetIamActionControlTemplateActionControlTemplateArgs{...} +type GetIamActionControlTemplateActionControlTemplateInput interface { + pulumi.Input + + ToGetIamActionControlTemplateActionControlTemplateOutput() GetIamActionControlTemplateActionControlTemplateOutput + ToGetIamActionControlTemplateActionControlTemplateOutputWithContext(context.Context) GetIamActionControlTemplateActionControlTemplateOutput +} + +type GetIamActionControlTemplateActionControlTemplateArgs struct { + // account id where this template will be created. + AccountId pulumi.StringInput `pulumi:"accountId"` + // The action control properties that are created in an action resource when the template is assigned. + ActionControls GetIamActionControlTemplateActionControlTemplateActionControlArrayInput `pulumi:"actionControls"` + // Template version committed status. + Committed pulumi.BoolInput `pulumi:"committed"` + // description of template purpose. + Description pulumi.StringInput `pulumi:"description"` + // The action control template ID. + Id pulumi.StringInput `pulumi:"id"` + // name of template. + Name pulumi.StringInput `pulumi:"name"` + // Template version. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamActionControlTemplateActionControlTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlTemplateActionControlTemplate)(nil)).Elem() +} + +func (i GetIamActionControlTemplateActionControlTemplateArgs) ToGetIamActionControlTemplateActionControlTemplateOutput() GetIamActionControlTemplateActionControlTemplateOutput { + return i.ToGetIamActionControlTemplateActionControlTemplateOutputWithContext(context.Background()) +} + +func (i GetIamActionControlTemplateActionControlTemplateArgs) ToGetIamActionControlTemplateActionControlTemplateOutputWithContext(ctx context.Context) GetIamActionControlTemplateActionControlTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlTemplateActionControlTemplateOutput) +} + +// GetIamActionControlTemplateActionControlTemplateArrayInput is an input type that accepts GetIamActionControlTemplateActionControlTemplateArray and GetIamActionControlTemplateActionControlTemplateArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlTemplateActionControlTemplateArrayInput` via: +// +// GetIamActionControlTemplateActionControlTemplateArray{ GetIamActionControlTemplateActionControlTemplateArgs{...} } +type GetIamActionControlTemplateActionControlTemplateArrayInput interface { + pulumi.Input + + ToGetIamActionControlTemplateActionControlTemplateArrayOutput() GetIamActionControlTemplateActionControlTemplateArrayOutput + ToGetIamActionControlTemplateActionControlTemplateArrayOutputWithContext(context.Context) GetIamActionControlTemplateActionControlTemplateArrayOutput +} + +type GetIamActionControlTemplateActionControlTemplateArray []GetIamActionControlTemplateActionControlTemplateInput + +func (GetIamActionControlTemplateActionControlTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlTemplateActionControlTemplate)(nil)).Elem() +} + +func (i GetIamActionControlTemplateActionControlTemplateArray) ToGetIamActionControlTemplateActionControlTemplateArrayOutput() GetIamActionControlTemplateActionControlTemplateArrayOutput { + return i.ToGetIamActionControlTemplateActionControlTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlTemplateActionControlTemplateArray) ToGetIamActionControlTemplateActionControlTemplateArrayOutputWithContext(ctx context.Context) GetIamActionControlTemplateActionControlTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlTemplateActionControlTemplateArrayOutput) +} + +type GetIamActionControlTemplateActionControlTemplateOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlTemplateActionControlTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlTemplateActionControlTemplate)(nil)).Elem() +} + +func (o GetIamActionControlTemplateActionControlTemplateOutput) ToGetIamActionControlTemplateActionControlTemplateOutput() GetIamActionControlTemplateActionControlTemplateOutput { + return o +} + +func (o GetIamActionControlTemplateActionControlTemplateOutput) ToGetIamActionControlTemplateActionControlTemplateOutputWithContext(ctx context.Context) GetIamActionControlTemplateActionControlTemplateOutput { + return o +} + +// account id where this template will be created. +func (o GetIamActionControlTemplateActionControlTemplateOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplate) string { return v.AccountId }).(pulumi.StringOutput) +} + +// The action control properties that are created in an action resource when the template is assigned. +func (o GetIamActionControlTemplateActionControlTemplateOutput) ActionControls() GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplate) []GetIamActionControlTemplateActionControlTemplateActionControl { + return v.ActionControls + }).(GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput) +} + +// Template version committed status. +func (o GetIamActionControlTemplateActionControlTemplateOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplate) bool { return v.Committed }).(pulumi.BoolOutput) +} + +// description of template purpose. +func (o GetIamActionControlTemplateActionControlTemplateOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplate) string { return v.Description }).(pulumi.StringOutput) +} + +// The action control template ID. +func (o GetIamActionControlTemplateActionControlTemplateOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplate) string { return v.Id }).(pulumi.StringOutput) +} + +// name of template. +func (o GetIamActionControlTemplateActionControlTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplate) string { return v.Name }).(pulumi.StringOutput) +} + +// Template version. +func (o GetIamActionControlTemplateActionControlTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplate) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamActionControlTemplateActionControlTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlTemplateActionControlTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlTemplateActionControlTemplate)(nil)).Elem() +} + +func (o GetIamActionControlTemplateActionControlTemplateArrayOutput) ToGetIamActionControlTemplateActionControlTemplateArrayOutput() GetIamActionControlTemplateActionControlTemplateArrayOutput { + return o +} + +func (o GetIamActionControlTemplateActionControlTemplateArrayOutput) ToGetIamActionControlTemplateActionControlTemplateArrayOutputWithContext(ctx context.Context) GetIamActionControlTemplateActionControlTemplateArrayOutput { + return o +} + +func (o GetIamActionControlTemplateActionControlTemplateArrayOutput) Index(i pulumi.IntInput) GetIamActionControlTemplateActionControlTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlTemplateActionControlTemplate { + return vs[0].([]GetIamActionControlTemplateActionControlTemplate)[vs[1].(int)] + }).(GetIamActionControlTemplateActionControlTemplateOutput) +} + +type GetIamActionControlTemplateActionControlTemplateActionControl struct { + // List of actions to control access. + Actions []string `pulumi:"actions"` + // Description of the action control. + Description *string `pulumi:"description"` + // The service name that the action control refers. + ServiceName string `pulumi:"serviceName"` +} + +// GetIamActionControlTemplateActionControlTemplateActionControlInput is an input type that accepts GetIamActionControlTemplateActionControlTemplateActionControlArgs and GetIamActionControlTemplateActionControlTemplateActionControlOutput values. +// You can construct a concrete instance of `GetIamActionControlTemplateActionControlTemplateActionControlInput` via: +// +// GetIamActionControlTemplateActionControlTemplateActionControlArgs{...} +type GetIamActionControlTemplateActionControlTemplateActionControlInput interface { + pulumi.Input + + ToGetIamActionControlTemplateActionControlTemplateActionControlOutput() GetIamActionControlTemplateActionControlTemplateActionControlOutput + ToGetIamActionControlTemplateActionControlTemplateActionControlOutputWithContext(context.Context) GetIamActionControlTemplateActionControlTemplateActionControlOutput +} + +type GetIamActionControlTemplateActionControlTemplateActionControlArgs struct { + // List of actions to control access. + Actions pulumi.StringArrayInput `pulumi:"actions"` + // Description of the action control. + Description pulumi.StringPtrInput `pulumi:"description"` + // The service name that the action control refers. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (GetIamActionControlTemplateActionControlTemplateActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlTemplateActionControlTemplateActionControl)(nil)).Elem() +} + +func (i GetIamActionControlTemplateActionControlTemplateActionControlArgs) ToGetIamActionControlTemplateActionControlTemplateActionControlOutput() GetIamActionControlTemplateActionControlTemplateActionControlOutput { + return i.ToGetIamActionControlTemplateActionControlTemplateActionControlOutputWithContext(context.Background()) +} + +func (i GetIamActionControlTemplateActionControlTemplateActionControlArgs) ToGetIamActionControlTemplateActionControlTemplateActionControlOutputWithContext(ctx context.Context) GetIamActionControlTemplateActionControlTemplateActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlTemplateActionControlTemplateActionControlOutput) +} + +// GetIamActionControlTemplateActionControlTemplateActionControlArrayInput is an input type that accepts GetIamActionControlTemplateActionControlTemplateActionControlArray and GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlTemplateActionControlTemplateActionControlArrayInput` via: +// +// GetIamActionControlTemplateActionControlTemplateActionControlArray{ GetIamActionControlTemplateActionControlTemplateActionControlArgs{...} } +type GetIamActionControlTemplateActionControlTemplateActionControlArrayInput interface { + pulumi.Input + + ToGetIamActionControlTemplateActionControlTemplateActionControlArrayOutput() GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput + ToGetIamActionControlTemplateActionControlTemplateActionControlArrayOutputWithContext(context.Context) GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput +} + +type GetIamActionControlTemplateActionControlTemplateActionControlArray []GetIamActionControlTemplateActionControlTemplateActionControlInput + +func (GetIamActionControlTemplateActionControlTemplateActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlTemplateActionControlTemplateActionControl)(nil)).Elem() +} + +func (i GetIamActionControlTemplateActionControlTemplateActionControlArray) ToGetIamActionControlTemplateActionControlTemplateActionControlArrayOutput() GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput { + return i.ToGetIamActionControlTemplateActionControlTemplateActionControlArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlTemplateActionControlTemplateActionControlArray) ToGetIamActionControlTemplateActionControlTemplateActionControlArrayOutputWithContext(ctx context.Context) GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput) +} + +type GetIamActionControlTemplateActionControlTemplateActionControlOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlTemplateActionControlTemplateActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlTemplateActionControlTemplateActionControl)(nil)).Elem() +} + +func (o GetIamActionControlTemplateActionControlTemplateActionControlOutput) ToGetIamActionControlTemplateActionControlTemplateActionControlOutput() GetIamActionControlTemplateActionControlTemplateActionControlOutput { + return o +} + +func (o GetIamActionControlTemplateActionControlTemplateActionControlOutput) ToGetIamActionControlTemplateActionControlTemplateActionControlOutputWithContext(ctx context.Context) GetIamActionControlTemplateActionControlTemplateActionControlOutput { + return o +} + +// List of actions to control access. +func (o GetIamActionControlTemplateActionControlTemplateActionControlOutput) Actions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplateActionControl) []string { return v.Actions }).(pulumi.StringArrayOutput) +} + +// Description of the action control. +func (o GetIamActionControlTemplateActionControlTemplateActionControlOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplateActionControl) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The service name that the action control refers. +func (o GetIamActionControlTemplateActionControlTemplateActionControlOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlTemplateActionControlTemplateActionControl) string { return v.ServiceName }).(pulumi.StringOutput) +} + +type GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlTemplateActionControlTemplateActionControl)(nil)).Elem() +} + +func (o GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput) ToGetIamActionControlTemplateActionControlTemplateActionControlArrayOutput() GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput { + return o +} + +func (o GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput) ToGetIamActionControlTemplateActionControlTemplateActionControlArrayOutputWithContext(ctx context.Context) GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput { + return o +} + +func (o GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput) Index(i pulumi.IntInput) GetIamActionControlTemplateActionControlTemplateActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlTemplateActionControlTemplateActionControl { + return vs[0].([]GetIamActionControlTemplateActionControlTemplateActionControl)[vs[1].(int)] + }).(GetIamActionControlTemplateActionControlTemplateActionControlOutput) +} + +type GetIamActionControlTemplateVersionActionControl struct { + // List of actions to control access. + Actions []string `pulumi:"actions"` + // Description of the action control. + Description string `pulumi:"description"` + // The service name that the action control refers. + ServiceName string `pulumi:"serviceName"` +} + +// GetIamActionControlTemplateVersionActionControlInput is an input type that accepts GetIamActionControlTemplateVersionActionControlArgs and GetIamActionControlTemplateVersionActionControlOutput values. +// You can construct a concrete instance of `GetIamActionControlTemplateVersionActionControlInput` via: +// +// GetIamActionControlTemplateVersionActionControlArgs{...} +type GetIamActionControlTemplateVersionActionControlInput interface { + pulumi.Input + + ToGetIamActionControlTemplateVersionActionControlOutput() GetIamActionControlTemplateVersionActionControlOutput + ToGetIamActionControlTemplateVersionActionControlOutputWithContext(context.Context) GetIamActionControlTemplateVersionActionControlOutput +} + +type GetIamActionControlTemplateVersionActionControlArgs struct { + // List of actions to control access. + Actions pulumi.StringArrayInput `pulumi:"actions"` + // Description of the action control. + Description pulumi.StringInput `pulumi:"description"` + // The service name that the action control refers. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (GetIamActionControlTemplateVersionActionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlTemplateVersionActionControl)(nil)).Elem() +} + +func (i GetIamActionControlTemplateVersionActionControlArgs) ToGetIamActionControlTemplateVersionActionControlOutput() GetIamActionControlTemplateVersionActionControlOutput { + return i.ToGetIamActionControlTemplateVersionActionControlOutputWithContext(context.Background()) +} + +func (i GetIamActionControlTemplateVersionActionControlArgs) ToGetIamActionControlTemplateVersionActionControlOutputWithContext(ctx context.Context) GetIamActionControlTemplateVersionActionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlTemplateVersionActionControlOutput) +} + +// GetIamActionControlTemplateVersionActionControlArrayInput is an input type that accepts GetIamActionControlTemplateVersionActionControlArray and GetIamActionControlTemplateVersionActionControlArrayOutput values. +// You can construct a concrete instance of `GetIamActionControlTemplateVersionActionControlArrayInput` via: +// +// GetIamActionControlTemplateVersionActionControlArray{ GetIamActionControlTemplateVersionActionControlArgs{...} } +type GetIamActionControlTemplateVersionActionControlArrayInput interface { + pulumi.Input + + ToGetIamActionControlTemplateVersionActionControlArrayOutput() GetIamActionControlTemplateVersionActionControlArrayOutput + ToGetIamActionControlTemplateVersionActionControlArrayOutputWithContext(context.Context) GetIamActionControlTemplateVersionActionControlArrayOutput +} + +type GetIamActionControlTemplateVersionActionControlArray []GetIamActionControlTemplateVersionActionControlInput + +func (GetIamActionControlTemplateVersionActionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlTemplateVersionActionControl)(nil)).Elem() +} + +func (i GetIamActionControlTemplateVersionActionControlArray) ToGetIamActionControlTemplateVersionActionControlArrayOutput() GetIamActionControlTemplateVersionActionControlArrayOutput { + return i.ToGetIamActionControlTemplateVersionActionControlArrayOutputWithContext(context.Background()) +} + +func (i GetIamActionControlTemplateVersionActionControlArray) ToGetIamActionControlTemplateVersionActionControlArrayOutputWithContext(ctx context.Context) GetIamActionControlTemplateVersionActionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamActionControlTemplateVersionActionControlArrayOutput) +} + +type GetIamActionControlTemplateVersionActionControlOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlTemplateVersionActionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamActionControlTemplateVersionActionControl)(nil)).Elem() +} + +func (o GetIamActionControlTemplateVersionActionControlOutput) ToGetIamActionControlTemplateVersionActionControlOutput() GetIamActionControlTemplateVersionActionControlOutput { + return o +} + +func (o GetIamActionControlTemplateVersionActionControlOutput) ToGetIamActionControlTemplateVersionActionControlOutputWithContext(ctx context.Context) GetIamActionControlTemplateVersionActionControlOutput { + return o +} + +// List of actions to control access. +func (o GetIamActionControlTemplateVersionActionControlOutput) Actions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamActionControlTemplateVersionActionControl) []string { return v.Actions }).(pulumi.StringArrayOutput) +} + +// Description of the action control. +func (o GetIamActionControlTemplateVersionActionControlOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlTemplateVersionActionControl) string { return v.Description }).(pulumi.StringOutput) +} + +// The service name that the action control refers. +func (o GetIamActionControlTemplateVersionActionControlOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamActionControlTemplateVersionActionControl) string { return v.ServiceName }).(pulumi.StringOutput) +} + +type GetIamActionControlTemplateVersionActionControlArrayOutput struct{ *pulumi.OutputState } + +func (GetIamActionControlTemplateVersionActionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamActionControlTemplateVersionActionControl)(nil)).Elem() +} + +func (o GetIamActionControlTemplateVersionActionControlArrayOutput) ToGetIamActionControlTemplateVersionActionControlArrayOutput() GetIamActionControlTemplateVersionActionControlArrayOutput { + return o +} + +func (o GetIamActionControlTemplateVersionActionControlArrayOutput) ToGetIamActionControlTemplateVersionActionControlArrayOutputWithContext(ctx context.Context) GetIamActionControlTemplateVersionActionControlArrayOutput { + return o +} + +func (o GetIamActionControlTemplateVersionActionControlArrayOutput) Index(i pulumi.IntInput) GetIamActionControlTemplateVersionActionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamActionControlTemplateVersionActionControl { + return vs[0].([]GetIamActionControlTemplateVersionActionControl)[vs[1].(int)] + }).(GetIamActionControlTemplateVersionActionControlOutput) +} + +type GetIamAuthorizationPoliciesPolicy struct { + // Description of the Policy + Description string `pulumi:"description"` + Id string `pulumi:"id"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // The source resource group Id + SourceResourceGroupId string `pulumi:"sourceResourceGroupId"` + // The source resource instance Id + SourceResourceInstanceId string `pulumi:"sourceResourceInstanceId"` + // Resource type of source service + SourceResourceType string `pulumi:"sourceResourceType"` + // Account GUID of source service + SourceServiceAccount string `pulumi:"sourceServiceAccount"` + // The source service name + SourceServiceName string `pulumi:"sourceServiceName"` + // The target resource group Id + TargetResourceGroupId string `pulumi:"targetResourceGroupId"` + // The target resource instance Id + TargetResourceInstanceId string `pulumi:"targetResourceInstanceId"` + // Resource type of target service + TargetResourceType string `pulumi:"targetResourceType"` + // The target service name + TargetServiceName string `pulumi:"targetServiceName"` + Version string `pulumi:"version"` +} + +// GetIamAuthorizationPoliciesPolicyInput is an input type that accepts GetIamAuthorizationPoliciesPolicyArgs and GetIamAuthorizationPoliciesPolicyOutput values. +// You can construct a concrete instance of `GetIamAuthorizationPoliciesPolicyInput` via: +// +// GetIamAuthorizationPoliciesPolicyArgs{...} +type GetIamAuthorizationPoliciesPolicyInput interface { + pulumi.Input + + ToGetIamAuthorizationPoliciesPolicyOutput() GetIamAuthorizationPoliciesPolicyOutput + ToGetIamAuthorizationPoliciesPolicyOutputWithContext(context.Context) GetIamAuthorizationPoliciesPolicyOutput +} + +type GetIamAuthorizationPoliciesPolicyArgs struct { + // Description of the Policy + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // The source resource group Id + SourceResourceGroupId pulumi.StringInput `pulumi:"sourceResourceGroupId"` + // The source resource instance Id + SourceResourceInstanceId pulumi.StringInput `pulumi:"sourceResourceInstanceId"` + // Resource type of source service + SourceResourceType pulumi.StringInput `pulumi:"sourceResourceType"` + // Account GUID of source service + SourceServiceAccount pulumi.StringInput `pulumi:"sourceServiceAccount"` + // The source service name + SourceServiceName pulumi.StringInput `pulumi:"sourceServiceName"` + // The target resource group Id + TargetResourceGroupId pulumi.StringInput `pulumi:"targetResourceGroupId"` + // The target resource instance Id + TargetResourceInstanceId pulumi.StringInput `pulumi:"targetResourceInstanceId"` + // Resource type of target service + TargetResourceType pulumi.StringInput `pulumi:"targetResourceType"` + // The target service name + TargetServiceName pulumi.StringInput `pulumi:"targetServiceName"` + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamAuthorizationPoliciesPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAuthorizationPoliciesPolicy)(nil)).Elem() +} + +func (i GetIamAuthorizationPoliciesPolicyArgs) ToGetIamAuthorizationPoliciesPolicyOutput() GetIamAuthorizationPoliciesPolicyOutput { + return i.ToGetIamAuthorizationPoliciesPolicyOutputWithContext(context.Background()) +} + +func (i GetIamAuthorizationPoliciesPolicyArgs) ToGetIamAuthorizationPoliciesPolicyOutputWithContext(ctx context.Context) GetIamAuthorizationPoliciesPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAuthorizationPoliciesPolicyOutput) +} + +// GetIamAuthorizationPoliciesPolicyArrayInput is an input type that accepts GetIamAuthorizationPoliciesPolicyArray and GetIamAuthorizationPoliciesPolicyArrayOutput values. +// You can construct a concrete instance of `GetIamAuthorizationPoliciesPolicyArrayInput` via: +// +// GetIamAuthorizationPoliciesPolicyArray{ GetIamAuthorizationPoliciesPolicyArgs{...} } +type GetIamAuthorizationPoliciesPolicyArrayInput interface { + pulumi.Input + + ToGetIamAuthorizationPoliciesPolicyArrayOutput() GetIamAuthorizationPoliciesPolicyArrayOutput + ToGetIamAuthorizationPoliciesPolicyArrayOutputWithContext(context.Context) GetIamAuthorizationPoliciesPolicyArrayOutput +} + +type GetIamAuthorizationPoliciesPolicyArray []GetIamAuthorizationPoliciesPolicyInput + +func (GetIamAuthorizationPoliciesPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAuthorizationPoliciesPolicy)(nil)).Elem() +} + +func (i GetIamAuthorizationPoliciesPolicyArray) ToGetIamAuthorizationPoliciesPolicyArrayOutput() GetIamAuthorizationPoliciesPolicyArrayOutput { + return i.ToGetIamAuthorizationPoliciesPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamAuthorizationPoliciesPolicyArray) ToGetIamAuthorizationPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetIamAuthorizationPoliciesPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamAuthorizationPoliciesPolicyArrayOutput) +} + +type GetIamAuthorizationPoliciesPolicyOutput struct{ *pulumi.OutputState } + +func (GetIamAuthorizationPoliciesPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamAuthorizationPoliciesPolicy)(nil)).Elem() +} + +func (o GetIamAuthorizationPoliciesPolicyOutput) ToGetIamAuthorizationPoliciesPolicyOutput() GetIamAuthorizationPoliciesPolicyOutput { + return o +} + +func (o GetIamAuthorizationPoliciesPolicyOutput) ToGetIamAuthorizationPoliciesPolicyOutputWithContext(ctx context.Context) GetIamAuthorizationPoliciesPolicyOutput { + return o +} + +// Description of the Policy +func (o GetIamAuthorizationPoliciesPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetIamAuthorizationPoliciesPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// Role names of the policy definition +func (o GetIamAuthorizationPoliciesPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// The source resource group Id +func (o GetIamAuthorizationPoliciesPolicyOutput) SourceResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.SourceResourceGroupId }).(pulumi.StringOutput) +} + +// The source resource instance Id +func (o GetIamAuthorizationPoliciesPolicyOutput) SourceResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.SourceResourceInstanceId }).(pulumi.StringOutput) +} + +// Resource type of source service +func (o GetIamAuthorizationPoliciesPolicyOutput) SourceResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.SourceResourceType }).(pulumi.StringOutput) +} + +// Account GUID of source service +func (o GetIamAuthorizationPoliciesPolicyOutput) SourceServiceAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.SourceServiceAccount }).(pulumi.StringOutput) +} + +// The source service name +func (o GetIamAuthorizationPoliciesPolicyOutput) SourceServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.SourceServiceName }).(pulumi.StringOutput) +} + +// The target resource group Id +func (o GetIamAuthorizationPoliciesPolicyOutput) TargetResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.TargetResourceGroupId }).(pulumi.StringOutput) +} + +// The target resource instance Id +func (o GetIamAuthorizationPoliciesPolicyOutput) TargetResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.TargetResourceInstanceId }).(pulumi.StringOutput) +} + +// Resource type of target service +func (o GetIamAuthorizationPoliciesPolicyOutput) TargetResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.TargetResourceType }).(pulumi.StringOutput) +} + +// The target service name +func (o GetIamAuthorizationPoliciesPolicyOutput) TargetServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.TargetServiceName }).(pulumi.StringOutput) +} + +func (o GetIamAuthorizationPoliciesPolicyOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamAuthorizationPoliciesPolicy) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamAuthorizationPoliciesPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamAuthorizationPoliciesPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamAuthorizationPoliciesPolicy)(nil)).Elem() +} + +func (o GetIamAuthorizationPoliciesPolicyArrayOutput) ToGetIamAuthorizationPoliciesPolicyArrayOutput() GetIamAuthorizationPoliciesPolicyArrayOutput { + return o +} + +func (o GetIamAuthorizationPoliciesPolicyArrayOutput) ToGetIamAuthorizationPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetIamAuthorizationPoliciesPolicyArrayOutput { + return o +} + +func (o GetIamAuthorizationPoliciesPolicyArrayOutput) Index(i pulumi.IntInput) GetIamAuthorizationPoliciesPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamAuthorizationPoliciesPolicy { + return vs[0].([]GetIamAuthorizationPoliciesPolicy)[vs[1].(int)] + }).(GetIamAuthorizationPoliciesPolicyOutput) +} + +type GetIamEffectiveAccountSettingsAccount struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses string `pulumi:"allowedIpAddresses"` + // Version of the account settings. + EntityTag string `pulumi:"entityTag"` + // History of the Account Settings. + Histories []GetIamEffectiveAccountSettingsAccountHistory `pulumi:"histories"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity string `pulumi:"maxSessionsPerIdentity"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey string `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId string `pulumi:"restrictCreateServiceId"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + RestrictUserDomains []GetIamEffectiveAccountSettingsAccountRestrictUserDomain `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility string `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds string `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds string `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds string `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds string `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas []GetIamEffectiveAccountSettingsAccountUserMfa `pulumi:"userMfas"` +} + +// GetIamEffectiveAccountSettingsAccountInput is an input type that accepts GetIamEffectiveAccountSettingsAccountArgs and GetIamEffectiveAccountSettingsAccountOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAccountInput` via: +// +// GetIamEffectiveAccountSettingsAccountArgs{...} +type GetIamEffectiveAccountSettingsAccountInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAccountOutput() GetIamEffectiveAccountSettingsAccountOutput + ToGetIamEffectiveAccountSettingsAccountOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAccountOutput +} + +type GetIamEffectiveAccountSettingsAccountArgs struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses pulumi.StringInput `pulumi:"allowedIpAddresses"` + // Version of the account settings. + EntityTag pulumi.StringInput `pulumi:"entityTag"` + // History of the Account Settings. + Histories GetIamEffectiveAccountSettingsAccountHistoryArrayInput `pulumi:"histories"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity pulumi.StringInput `pulumi:"maxSessionsPerIdentity"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey pulumi.StringInput `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId pulumi.StringInput `pulumi:"restrictCreateServiceId"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + RestrictUserDomains GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayInput `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility pulumi.StringInput `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds pulumi.StringInput `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds pulumi.StringInput `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds pulumi.StringInput `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds pulumi.StringInput `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas GetIamEffectiveAccountSettingsAccountUserMfaArrayInput `pulumi:"userMfas"` +} + +func (GetIamEffectiveAccountSettingsAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAccount)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAccountArgs) ToGetIamEffectiveAccountSettingsAccountOutput() GetIamEffectiveAccountSettingsAccountOutput { + return i.ToGetIamEffectiveAccountSettingsAccountOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAccountArgs) ToGetIamEffectiveAccountSettingsAccountOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAccountOutput) +} + +// GetIamEffectiveAccountSettingsAccountArrayInput is an input type that accepts GetIamEffectiveAccountSettingsAccountArray and GetIamEffectiveAccountSettingsAccountArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAccountArrayInput` via: +// +// GetIamEffectiveAccountSettingsAccountArray{ GetIamEffectiveAccountSettingsAccountArgs{...} } +type GetIamEffectiveAccountSettingsAccountArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAccountArrayOutput() GetIamEffectiveAccountSettingsAccountArrayOutput + ToGetIamEffectiveAccountSettingsAccountArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAccountArrayOutput +} + +type GetIamEffectiveAccountSettingsAccountArray []GetIamEffectiveAccountSettingsAccountInput + +func (GetIamEffectiveAccountSettingsAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAccount)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAccountArray) ToGetIamEffectiveAccountSettingsAccountArrayOutput() GetIamEffectiveAccountSettingsAccountArrayOutput { + return i.ToGetIamEffectiveAccountSettingsAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAccountArray) ToGetIamEffectiveAccountSettingsAccountArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAccountArrayOutput) +} + +type GetIamEffectiveAccountSettingsAccountOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAccount)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAccountOutput) ToGetIamEffectiveAccountSettingsAccountOutput() GetIamEffectiveAccountSettingsAccountOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountOutput) ToGetIamEffectiveAccountSettingsAccountOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountOutput { + return o +} + +// Defines the IP addresses and subnets from which IAM tokens can be created for the account. +func (o GetIamEffectiveAccountSettingsAccountOutput) AllowedIpAddresses() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.AllowedIpAddresses }).(pulumi.StringOutput) +} + +// Version of the account settings. +func (o GetIamEffectiveAccountSettingsAccountOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.EntityTag }).(pulumi.StringOutput) +} + +// History of the Account Settings. +func (o GetIamEffectiveAccountSettingsAccountOutput) Histories() GetIamEffectiveAccountSettingsAccountHistoryArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) []GetIamEffectiveAccountSettingsAccountHistory { + return v.Histories + }).(GetIamEffectiveAccountSettingsAccountHistoryArrayOutput) +} + +// Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAccountOutput) MaxSessionsPerIdentity() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.MaxSessionsPerIdentity }).(pulumi.StringOutput) +} + +// MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamEffectiveAccountSettingsAccountOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.Mfa }).(pulumi.StringOutput) +} + +// Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o GetIamEffectiveAccountSettingsAccountOutput) RestrictCreatePlatformApikey() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.RestrictCreatePlatformApikey }).(pulumi.StringOutput) +} + +// Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o GetIamEffectiveAccountSettingsAccountOutput) RestrictCreateServiceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.RestrictCreateServiceId }).(pulumi.StringOutput) +} + +// Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. +func (o GetIamEffectiveAccountSettingsAccountOutput) RestrictUserDomains() GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) []GetIamEffectiveAccountSettingsAccountRestrictUserDomain { + return v.RestrictUserDomains + }).(GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput) +} + +// Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. +func (o GetIamEffectiveAccountSettingsAccountOutput) RestrictUserListVisibility() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.RestrictUserListVisibility }).(pulumi.StringOutput) +} + +// Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAccountOutput) SessionExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.SessionExpirationInSeconds }).(pulumi.StringOutput) +} + +// Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAccountOutput) SessionInvalidationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.SessionInvalidationInSeconds }).(pulumi.StringOutput) +} + +// Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAccountOutput) SystemAccessTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.SystemAccessTokenExpirationInSeconds }).(pulumi.StringOutput) +} + +// Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAccountOutput) SystemRefreshTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) string { return v.SystemRefreshTokenExpirationInSeconds }).(pulumi.StringOutput) +} + +// List of users that are exempted from the MFA requirement of the account. +func (o GetIamEffectiveAccountSettingsAccountOutput) UserMfas() GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccount) []GetIamEffectiveAccountSettingsAccountUserMfa { + return v.UserMfas + }).(GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput) +} + +type GetIamEffectiveAccountSettingsAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAccount)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAccountArrayOutput) ToGetIamEffectiveAccountSettingsAccountArrayOutput() GetIamEffectiveAccountSettingsAccountArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountArrayOutput) ToGetIamEffectiveAccountSettingsAccountArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsAccount { + return vs[0].([]GetIamEffectiveAccountSettingsAccount)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsAccountOutput) +} + +type GetIamEffectiveAccountSettingsAccountHistory struct { + // Action of the history entry. + Action string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp string `pulumi:"timestamp"` +} + +// GetIamEffectiveAccountSettingsAccountHistoryInput is an input type that accepts GetIamEffectiveAccountSettingsAccountHistoryArgs and GetIamEffectiveAccountSettingsAccountHistoryOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAccountHistoryInput` via: +// +// GetIamEffectiveAccountSettingsAccountHistoryArgs{...} +type GetIamEffectiveAccountSettingsAccountHistoryInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAccountHistoryOutput() GetIamEffectiveAccountSettingsAccountHistoryOutput + ToGetIamEffectiveAccountSettingsAccountHistoryOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAccountHistoryOutput +} + +type GetIamEffectiveAccountSettingsAccountHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringInput `pulumi:"timestamp"` +} + +func (GetIamEffectiveAccountSettingsAccountHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountHistory)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAccountHistoryArgs) ToGetIamEffectiveAccountSettingsAccountHistoryOutput() GetIamEffectiveAccountSettingsAccountHistoryOutput { + return i.ToGetIamEffectiveAccountSettingsAccountHistoryOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAccountHistoryArgs) ToGetIamEffectiveAccountSettingsAccountHistoryOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAccountHistoryOutput) +} + +// GetIamEffectiveAccountSettingsAccountHistoryArrayInput is an input type that accepts GetIamEffectiveAccountSettingsAccountHistoryArray and GetIamEffectiveAccountSettingsAccountHistoryArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAccountHistoryArrayInput` via: +// +// GetIamEffectiveAccountSettingsAccountHistoryArray{ GetIamEffectiveAccountSettingsAccountHistoryArgs{...} } +type GetIamEffectiveAccountSettingsAccountHistoryArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAccountHistoryArrayOutput() GetIamEffectiveAccountSettingsAccountHistoryArrayOutput + ToGetIamEffectiveAccountSettingsAccountHistoryArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAccountHistoryArrayOutput +} + +type GetIamEffectiveAccountSettingsAccountHistoryArray []GetIamEffectiveAccountSettingsAccountHistoryInput + +func (GetIamEffectiveAccountSettingsAccountHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAccountHistory)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAccountHistoryArray) ToGetIamEffectiveAccountSettingsAccountHistoryArrayOutput() GetIamEffectiveAccountSettingsAccountHistoryArrayOutput { + return i.ToGetIamEffectiveAccountSettingsAccountHistoryArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAccountHistoryArray) ToGetIamEffectiveAccountSettingsAccountHistoryArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAccountHistoryArrayOutput) +} + +type GetIamEffectiveAccountSettingsAccountHistoryOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAccountHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountHistory)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAccountHistoryOutput) ToGetIamEffectiveAccountSettingsAccountHistoryOutput() GetIamEffectiveAccountSettingsAccountHistoryOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountHistoryOutput) ToGetIamEffectiveAccountSettingsAccountHistoryOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountHistoryOutput { + return o +} + +// Action of the history entry. +func (o GetIamEffectiveAccountSettingsAccountHistoryOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountHistory) string { return v.Action }).(pulumi.StringOutput) +} + +// IAM ID of the identity which triggered the action. +func (o GetIamEffectiveAccountSettingsAccountHistoryOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountHistory) string { return v.IamId }).(pulumi.StringOutput) +} + +// Account of the identity which triggered the action. +func (o GetIamEffectiveAccountSettingsAccountHistoryOutput) IamIdAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountHistory) string { return v.IamIdAccount }).(pulumi.StringOutput) +} + +// Message which summarizes the executed action. +func (o GetIamEffectiveAccountSettingsAccountHistoryOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountHistory) string { return v.Message }).(pulumi.StringOutput) +} + +// Params of the history entry. +func (o GetIamEffectiveAccountSettingsAccountHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o GetIamEffectiveAccountSettingsAccountHistoryOutput) Timestamp() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountHistory) string { return v.Timestamp }).(pulumi.StringOutput) +} + +type GetIamEffectiveAccountSettingsAccountHistoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAccountHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAccountHistory)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAccountHistoryArrayOutput) ToGetIamEffectiveAccountSettingsAccountHistoryArrayOutput() GetIamEffectiveAccountSettingsAccountHistoryArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountHistoryArrayOutput) ToGetIamEffectiveAccountSettingsAccountHistoryArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountHistoryArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountHistoryArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsAccountHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsAccountHistory { + return vs[0].([]GetIamEffectiveAccountSettingsAccountHistory)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsAccountHistoryOutput) +} + +type GetIamEffectiveAccountSettingsAccountRestrictUserDomain struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns []string `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId string `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation bool `pulumi:"restrictInvitation"` +} + +// GetIamEffectiveAccountSettingsAccountRestrictUserDomainInput is an input type that accepts GetIamEffectiveAccountSettingsAccountRestrictUserDomainArgs and GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAccountRestrictUserDomainInput` via: +// +// GetIamEffectiveAccountSettingsAccountRestrictUserDomainArgs{...} +type GetIamEffectiveAccountSettingsAccountRestrictUserDomainInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput() GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput + ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput +} + +type GetIamEffectiveAccountSettingsAccountRestrictUserDomainArgs struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns pulumi.StringArrayInput `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId pulumi.StringInput `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation pulumi.BoolInput `pulumi:"restrictInvitation"` +} + +func (GetIamEffectiveAccountSettingsAccountRestrictUserDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountRestrictUserDomain)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAccountRestrictUserDomainArgs) ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput() GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput { + return i.ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAccountRestrictUserDomainArgs) ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput) +} + +// GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayInput is an input type that accepts GetIamEffectiveAccountSettingsAccountRestrictUserDomainArray and GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayInput` via: +// +// GetIamEffectiveAccountSettingsAccountRestrictUserDomainArray{ GetIamEffectiveAccountSettingsAccountRestrictUserDomainArgs{...} } +type GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput() GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput + ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput +} + +type GetIamEffectiveAccountSettingsAccountRestrictUserDomainArray []GetIamEffectiveAccountSettingsAccountRestrictUserDomainInput + +func (GetIamEffectiveAccountSettingsAccountRestrictUserDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAccountRestrictUserDomain)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAccountRestrictUserDomainArray) ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput() GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput { + return i.ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAccountRestrictUserDomainArray) ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput) +} + +type GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountRestrictUserDomain)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput) ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput() GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput) ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput { + return o +} + +// The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. +func (o GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput) InvitationEmailAllowPatterns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountRestrictUserDomain) []string { + return v.InvitationEmailAllowPatterns + }).(pulumi.StringArrayOutput) +} + +// The realm that the restrictions apply to. +func (o GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput) RealmId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountRestrictUserDomain) string { return v.RealmId }).(pulumi.StringOutput) +} + +// When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. +func (o GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput) RestrictInvitation() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountRestrictUserDomain) bool { return v.RestrictInvitation }).(pulumi.BoolOutput) +} + +type GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAccountRestrictUserDomain)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput) ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput() GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput) ToGetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsAccountRestrictUserDomain { + return vs[0].([]GetIamEffectiveAccountSettingsAccountRestrictUserDomain)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput) +} + +type GetIamEffectiveAccountSettingsAccountUserMfa struct { + // optional description. + Description string `pulumi:"description"` + // email of the user. + Email string `pulumi:"email"` + // The iamId of the user. + IamId string `pulumi:"iamId"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` + // name of the user account. + Name string `pulumi:"name"` + // userName of the user. + UserName string `pulumi:"userName"` +} + +// GetIamEffectiveAccountSettingsAccountUserMfaInput is an input type that accepts GetIamEffectiveAccountSettingsAccountUserMfaArgs and GetIamEffectiveAccountSettingsAccountUserMfaOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAccountUserMfaInput` via: +// +// GetIamEffectiveAccountSettingsAccountUserMfaArgs{...} +type GetIamEffectiveAccountSettingsAccountUserMfaInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAccountUserMfaOutput() GetIamEffectiveAccountSettingsAccountUserMfaOutput + ToGetIamEffectiveAccountSettingsAccountUserMfaOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAccountUserMfaOutput +} + +type GetIamEffectiveAccountSettingsAccountUserMfaArgs struct { + // optional description. + Description pulumi.StringInput `pulumi:"description"` + // email of the user. + Email pulumi.StringInput `pulumi:"email"` + // The iamId of the user. + IamId pulumi.StringInput `pulumi:"iamId"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` + // name of the user account. + Name pulumi.StringInput `pulumi:"name"` + // userName of the user. + UserName pulumi.StringInput `pulumi:"userName"` +} + +func (GetIamEffectiveAccountSettingsAccountUserMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountUserMfa)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAccountUserMfaArgs) ToGetIamEffectiveAccountSettingsAccountUserMfaOutput() GetIamEffectiveAccountSettingsAccountUserMfaOutput { + return i.ToGetIamEffectiveAccountSettingsAccountUserMfaOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAccountUserMfaArgs) ToGetIamEffectiveAccountSettingsAccountUserMfaOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountUserMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAccountUserMfaOutput) +} + +// GetIamEffectiveAccountSettingsAccountUserMfaArrayInput is an input type that accepts GetIamEffectiveAccountSettingsAccountUserMfaArray and GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAccountUserMfaArrayInput` via: +// +// GetIamEffectiveAccountSettingsAccountUserMfaArray{ GetIamEffectiveAccountSettingsAccountUserMfaArgs{...} } +type GetIamEffectiveAccountSettingsAccountUserMfaArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAccountUserMfaArrayOutput() GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput + ToGetIamEffectiveAccountSettingsAccountUserMfaArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput +} + +type GetIamEffectiveAccountSettingsAccountUserMfaArray []GetIamEffectiveAccountSettingsAccountUserMfaInput + +func (GetIamEffectiveAccountSettingsAccountUserMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAccountUserMfa)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAccountUserMfaArray) ToGetIamEffectiveAccountSettingsAccountUserMfaArrayOutput() GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput { + return i.ToGetIamEffectiveAccountSettingsAccountUserMfaArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAccountUserMfaArray) ToGetIamEffectiveAccountSettingsAccountUserMfaArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput) +} + +type GetIamEffectiveAccountSettingsAccountUserMfaOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAccountUserMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountUserMfa)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAccountUserMfaOutput) ToGetIamEffectiveAccountSettingsAccountUserMfaOutput() GetIamEffectiveAccountSettingsAccountUserMfaOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountUserMfaOutput) ToGetIamEffectiveAccountSettingsAccountUserMfaOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountUserMfaOutput { + return o +} + +// optional description. +func (o GetIamEffectiveAccountSettingsAccountUserMfaOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountUserMfa) string { return v.Description }).(pulumi.StringOutput) +} + +// email of the user. +func (o GetIamEffectiveAccountSettingsAccountUserMfaOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountUserMfa) string { return v.Email }).(pulumi.StringOutput) +} + +// The iamId of the user. +func (o GetIamEffectiveAccountSettingsAccountUserMfaOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountUserMfa) string { return v.IamId }).(pulumi.StringOutput) +} + +// MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamEffectiveAccountSettingsAccountUserMfaOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountUserMfa) string { return v.Mfa }).(pulumi.StringOutput) +} + +// name of the user account. +func (o GetIamEffectiveAccountSettingsAccountUserMfaOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountUserMfa) string { return v.Name }).(pulumi.StringOutput) +} + +// userName of the user. +func (o GetIamEffectiveAccountSettingsAccountUserMfaOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAccountUserMfa) string { return v.UserName }).(pulumi.StringOutput) +} + +type GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAccountUserMfa)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput) ToGetIamEffectiveAccountSettingsAccountUserMfaArrayOutput() GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput) ToGetIamEffectiveAccountSettingsAccountUserMfaArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsAccountUserMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsAccountUserMfa { + return vs[0].([]GetIamEffectiveAccountSettingsAccountUserMfa)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsAccountUserMfaOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplate struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses string `pulumi:"allowedIpAddresses"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity string `pulumi:"maxSessionsPerIdentity"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey string `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId string `pulumi:"restrictCreateServiceId"` + RestrictUserDomains []GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility string `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds string `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds string `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds string `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds string `pulumi:"systemRefreshTokenExpirationInSeconds"` + // Template Id. + TemplateId string `pulumi:"templateId"` + // Template name. + TemplateName string `pulumi:"templateName"` + // Template version. + TemplateVersion int `pulumi:"templateVersion"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas []GetIamEffectiveAccountSettingsAssignedTemplateUserMfa `pulumi:"userMfas"` +} + +// GetIamEffectiveAccountSettingsAssignedTemplateInput is an input type that accepts GetIamEffectiveAccountSettingsAssignedTemplateArgs and GetIamEffectiveAccountSettingsAssignedTemplateOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAssignedTemplateInput` via: +// +// GetIamEffectiveAccountSettingsAssignedTemplateArgs{...} +type GetIamEffectiveAccountSettingsAssignedTemplateInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAssignedTemplateOutput() GetIamEffectiveAccountSettingsAssignedTemplateOutput + ToGetIamEffectiveAccountSettingsAssignedTemplateOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAssignedTemplateOutput +} + +type GetIamEffectiveAccountSettingsAssignedTemplateArgs struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses pulumi.StringInput `pulumi:"allowedIpAddresses"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity pulumi.StringInput `pulumi:"maxSessionsPerIdentity"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey pulumi.StringInput `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId pulumi.StringInput `pulumi:"restrictCreateServiceId"` + RestrictUserDomains GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayInput `pulumi:"restrictUserDomains"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility pulumi.StringInput `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds pulumi.StringInput `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds pulumi.StringInput `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds pulumi.StringInput `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds pulumi.StringInput `pulumi:"systemRefreshTokenExpirationInSeconds"` + // Template Id. + TemplateId pulumi.StringInput `pulumi:"templateId"` + // Template name. + TemplateName pulumi.StringInput `pulumi:"templateName"` + // Template version. + TemplateVersion pulumi.IntInput `pulumi:"templateVersion"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayInput `pulumi:"userMfas"` +} + +func (GetIamEffectiveAccountSettingsAssignedTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplate)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateArgs) ToGetIamEffectiveAccountSettingsAssignedTemplateOutput() GetIamEffectiveAccountSettingsAssignedTemplateOutput { + return i.ToGetIamEffectiveAccountSettingsAssignedTemplateOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateArgs) ToGetIamEffectiveAccountSettingsAssignedTemplateOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAssignedTemplateOutput) +} + +// GetIamEffectiveAccountSettingsAssignedTemplateArrayInput is an input type that accepts GetIamEffectiveAccountSettingsAssignedTemplateArray and GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAssignedTemplateArrayInput` via: +// +// GetIamEffectiveAccountSettingsAssignedTemplateArray{ GetIamEffectiveAccountSettingsAssignedTemplateArgs{...} } +type GetIamEffectiveAccountSettingsAssignedTemplateArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAssignedTemplateArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput + ToGetIamEffectiveAccountSettingsAssignedTemplateArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput +} + +type GetIamEffectiveAccountSettingsAssignedTemplateArray []GetIamEffectiveAccountSettingsAssignedTemplateInput + +func (GetIamEffectiveAccountSettingsAssignedTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAssignedTemplate)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateArray) ToGetIamEffectiveAccountSettingsAssignedTemplateArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput { + return i.ToGetIamEffectiveAccountSettingsAssignedTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateArray) ToGetIamEffectiveAccountSettingsAssignedTemplateArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAssignedTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplate)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateOutput() GetIamEffectiveAccountSettingsAssignedTemplateOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateOutput { + return o +} + +// Defines the IP addresses and subnets from which IAM tokens can be created for the account. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) AllowedIpAddresses() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.AllowedIpAddresses }).(pulumi.StringOutput) +} + +// Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) MaxSessionsPerIdentity() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.MaxSessionsPerIdentity }).(pulumi.StringOutput) +} + +// MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.Mfa }).(pulumi.StringOutput) +} + +// Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) RestrictCreatePlatformApikey() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.RestrictCreatePlatformApikey }).(pulumi.StringOutput) +} + +// Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) RestrictCreateServiceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.RestrictCreateServiceId }).(pulumi.StringOutput) +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) RestrictUserDomains() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) []GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain { + return v.RestrictUserDomains + }).(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput) +} + +// Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) RestrictUserListVisibility() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.RestrictUserListVisibility }).(pulumi.StringOutput) +} + +// Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) SessionExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.SessionExpirationInSeconds }).(pulumi.StringOutput) +} + +// Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) SessionInvalidationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.SessionInvalidationInSeconds }).(pulumi.StringOutput) +} + +// Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) SystemAccessTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { + return v.SystemAccessTokenExpirationInSeconds + }).(pulumi.StringOutput) +} + +// Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) SystemRefreshTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { + return v.SystemRefreshTokenExpirationInSeconds + }).(pulumi.StringOutput) +} + +// Template Id. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.TemplateId }).(pulumi.StringOutput) +} + +// Template name. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) TemplateName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) string { return v.TemplateName }).(pulumi.StringOutput) +} + +// Template version. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) TemplateVersion() pulumi.IntOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) int { return v.TemplateVersion }).(pulumi.IntOutput) +} + +// List of users that are exempted from the MFA requirement of the account. +func (o GetIamEffectiveAccountSettingsAssignedTemplateOutput) UserMfas() GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplate) []GetIamEffectiveAccountSettingsAssignedTemplateUserMfa { + return v.UserMfas + }).(GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAssignedTemplate)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsAssignedTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsAssignedTemplate { + return vs[0].([]GetIamEffectiveAccountSettingsAssignedTemplate)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsAssignedTemplateOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain struct { + AccountSufficient bool `pulumi:"accountSufficient"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + Restrictions []GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction `pulumi:"restrictions"` +} + +// GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainInput is an input type that accepts GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArgs and GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainInput` via: +// +// GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArgs{...} +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput + ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArgs struct { + AccountSufficient pulumi.BoolInput `pulumi:"accountSufficient"` + // Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. + Restrictions GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayInput `pulumi:"restrictions"` +} + +func (GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArgs) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput { + return i.ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArgs) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput) +} + +// GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayInput is an input type that accepts GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArray and GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayInput` via: +// +// GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArray{ GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArgs{...} } +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput + ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArray []GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainInput + +func (GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArray) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput { + return i.ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArray) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput) AccountSufficient() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain) bool { + return v.AccountSufficient + }).(pulumi.BoolOutput) +} + +// Defines if account invitations are restricted to specified domains. To remove an entry for a realm_id, perform an update (PUT) request with only the realmId set. +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput) Restrictions() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain) []GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction { + return v.Restrictions + }).(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain { + return vs[0].([]GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomain)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns []string `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId string `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation bool `pulumi:"restrictInvitation"` +} + +// GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionInput is an input type that accepts GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArgs and GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionInput` via: +// +// GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArgs{...} +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput + ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArgs struct { + // The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. + InvitationEmailAllowPatterns pulumi.StringArrayInput `pulumi:"invitationEmailAllowPatterns"` + // The realm that the restrictions apply to. + RealmId pulumi.StringInput `pulumi:"realmId"` + // When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. + RestrictInvitation pulumi.BoolInput `pulumi:"restrictInvitation"` +} + +func (GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArgs) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput { + return i.ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArgs) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput) +} + +// GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayInput is an input type that accepts GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArray and GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayInput` via: +// +// GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArray{ GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArgs{...} } +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput + ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArray []GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionInput + +func (GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArray) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput { + return i.ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArray) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput { + return o +} + +// The list of allowed email patterns. Wildcard syntax is supported, '*' represents any sequence of zero or more characters in the string, except for '.' and '@'. The sequence ends if a '.' or '@' was found. '**' represents any sequence of zero or more characters in the string - without limit. +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput) InvitationEmailAllowPatterns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction) []string { + return v.InvitationEmailAllowPatterns + }).(pulumi.StringArrayOutput) +} + +// The realm that the restrictions apply to. +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput) RealmId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction) string { + return v.RealmId + }).(pulumi.StringOutput) +} + +// When true invites will only be possible to the domain patterns provided, otherwise invites are unrestricted. +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput) RestrictInvitation() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction) bool { + return v.RestrictInvitation + }).(pulumi.BoolOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction { + return vs[0].([]GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestriction)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateUserMfa struct { + // optional description. + Description string `pulumi:"description"` + // email of the user. + Email string `pulumi:"email"` + // The iamId of the user. + IamId string `pulumi:"iamId"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` + // name of the user account. + Name string `pulumi:"name"` + // userName of the user. + UserName string `pulumi:"userName"` +} + +// GetIamEffectiveAccountSettingsAssignedTemplateUserMfaInput is an input type that accepts GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArgs and GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAssignedTemplateUserMfaInput` via: +// +// GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArgs{...} +type GetIamEffectiveAccountSettingsAssignedTemplateUserMfaInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput() GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput + ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput +} + +type GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArgs struct { + // optional description. + Description pulumi.StringInput `pulumi:"description"` + // email of the user. + Email pulumi.StringInput `pulumi:"email"` + // The iamId of the user. + IamId pulumi.StringInput `pulumi:"iamId"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` + // name of the user account. + Name pulumi.StringInput `pulumi:"name"` + // userName of the user. + UserName pulumi.StringInput `pulumi:"userName"` +} + +func (GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateUserMfa)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArgs) ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput() GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput { + return i.ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArgs) ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) +} + +// GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayInput is an input type that accepts GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArray and GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayInput` via: +// +// GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArray{ GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArgs{...} } +type GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput + ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput +} + +type GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArray []GetIamEffectiveAccountSettingsAssignedTemplateUserMfaInput + +func (GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAssignedTemplateUserMfa)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArray) ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput { + return i.ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArray) ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateUserMfa)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput() GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput { + return o +} + +// optional description. +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateUserMfa) string { return v.Description }).(pulumi.StringOutput) +} + +// email of the user. +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateUserMfa) string { return v.Email }).(pulumi.StringOutput) +} + +// The iamId of the user. +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateUserMfa) string { return v.IamId }).(pulumi.StringOutput) +} + +// MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateUserMfa) string { return v.Mfa }).(pulumi.StringOutput) +} + +// name of the user account. +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateUserMfa) string { return v.Name }).(pulumi.StringOutput) +} + +// userName of the user. +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsAssignedTemplateUserMfa) string { return v.UserName }).(pulumi.StringOutput) +} + +type GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsAssignedTemplateUserMfa)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput() GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput) ToGetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsAssignedTemplateUserMfa { + return vs[0].([]GetIamEffectiveAccountSettingsAssignedTemplateUserMfa)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput) +} + +type GetIamEffectiveAccountSettingsEffective struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses string `pulumi:"allowedIpAddresses"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity string `pulumi:"maxSessionsPerIdentity"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey string `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId string `pulumi:"restrictCreateServiceId"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility string `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds string `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds string `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds string `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds string `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas []GetIamEffectiveAccountSettingsEffectiveUserMfa `pulumi:"userMfas"` +} + +// GetIamEffectiveAccountSettingsEffectiveInput is an input type that accepts GetIamEffectiveAccountSettingsEffectiveArgs and GetIamEffectiveAccountSettingsEffectiveOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsEffectiveInput` via: +// +// GetIamEffectiveAccountSettingsEffectiveArgs{...} +type GetIamEffectiveAccountSettingsEffectiveInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsEffectiveOutput() GetIamEffectiveAccountSettingsEffectiveOutput + ToGetIamEffectiveAccountSettingsEffectiveOutputWithContext(context.Context) GetIamEffectiveAccountSettingsEffectiveOutput +} + +type GetIamEffectiveAccountSettingsEffectiveArgs struct { + // Defines the IP addresses and subnets from which IAM tokens can be created for the account. + AllowedIpAddresses pulumi.StringInput `pulumi:"allowedIpAddresses"` + // Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. + MaxSessionsPerIdentity pulumi.StringInput `pulumi:"maxSessionsPerIdentity"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreatePlatformApikey pulumi.StringInput `pulumi:"restrictCreatePlatformApikey"` + // Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. + RestrictCreateServiceId pulumi.StringInput `pulumi:"restrictCreateServiceId"` + // Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. + RestrictUserListVisibility pulumi.StringInput `pulumi:"restrictUserListVisibility"` + // Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. + SessionExpirationInSeconds pulumi.StringInput `pulumi:"sessionExpirationInSeconds"` + // Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. + SessionInvalidationInSeconds pulumi.StringInput `pulumi:"sessionInvalidationInSeconds"` + // Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. + SystemAccessTokenExpirationInSeconds pulumi.StringInput `pulumi:"systemAccessTokenExpirationInSeconds"` + // Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. + SystemRefreshTokenExpirationInSeconds pulumi.StringInput `pulumi:"systemRefreshTokenExpirationInSeconds"` + // List of users that are exempted from the MFA requirement of the account. + UserMfas GetIamEffectiveAccountSettingsEffectiveUserMfaArrayInput `pulumi:"userMfas"` +} + +func (GetIamEffectiveAccountSettingsEffectiveArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsEffective)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsEffectiveArgs) ToGetIamEffectiveAccountSettingsEffectiveOutput() GetIamEffectiveAccountSettingsEffectiveOutput { + return i.ToGetIamEffectiveAccountSettingsEffectiveOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsEffectiveArgs) ToGetIamEffectiveAccountSettingsEffectiveOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsEffectiveOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsEffectiveOutput) +} + +// GetIamEffectiveAccountSettingsEffectiveArrayInput is an input type that accepts GetIamEffectiveAccountSettingsEffectiveArray and GetIamEffectiveAccountSettingsEffectiveArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsEffectiveArrayInput` via: +// +// GetIamEffectiveAccountSettingsEffectiveArray{ GetIamEffectiveAccountSettingsEffectiveArgs{...} } +type GetIamEffectiveAccountSettingsEffectiveArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsEffectiveArrayOutput() GetIamEffectiveAccountSettingsEffectiveArrayOutput + ToGetIamEffectiveAccountSettingsEffectiveArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsEffectiveArrayOutput +} + +type GetIamEffectiveAccountSettingsEffectiveArray []GetIamEffectiveAccountSettingsEffectiveInput + +func (GetIamEffectiveAccountSettingsEffectiveArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsEffective)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsEffectiveArray) ToGetIamEffectiveAccountSettingsEffectiveArrayOutput() GetIamEffectiveAccountSettingsEffectiveArrayOutput { + return i.ToGetIamEffectiveAccountSettingsEffectiveArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsEffectiveArray) ToGetIamEffectiveAccountSettingsEffectiveArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsEffectiveArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsEffectiveArrayOutput) +} + +type GetIamEffectiveAccountSettingsEffectiveOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsEffectiveOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsEffective)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsEffectiveOutput) ToGetIamEffectiveAccountSettingsEffectiveOutput() GetIamEffectiveAccountSettingsEffectiveOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsEffectiveOutput) ToGetIamEffectiveAccountSettingsEffectiveOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsEffectiveOutput { + return o +} + +// Defines the IP addresses and subnets from which IAM tokens can be created for the account. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) AllowedIpAddresses() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.AllowedIpAddresses }).(pulumi.StringOutput) +} + +// Defines the max allowed sessions per identity required by the account. Valid values: * Any whole number greater than 0 * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) MaxSessionsPerIdentity() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.MaxSessionsPerIdentity }).(pulumi.StringOutput) +} + +// MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.Mfa }).(pulumi.StringOutput) +} + +// Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) RestrictCreatePlatformApikey() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.RestrictCreatePlatformApikey }).(pulumi.StringOutput) +} + +// Defines whether or not creating the resource is access controlled. Valid values: * RESTRICTED - only users assigned the 'Service ID creator' role on the IAM Identity Service can create service IDs, including the account owner * NOT_RESTRICTED - all members of an account can create service IDs * NOT_SET - to 'unset' a previous set value. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) RestrictCreateServiceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.RestrictCreateServiceId }).(pulumi.StringOutput) +} + +// Defines whether or not user visibility is access controlled. Valid values: * RESTRICTED - users can view only specific types of users in the account, such as those the user has invited to the account, or descendants of those users based on the classic infrastructure hierarchy * NOT_RESTRICTED - any user in the account can view other users from the Users page in IBM Cloud console. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) RestrictUserListVisibility() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.RestrictUserListVisibility }).(pulumi.StringOutput) +} + +// Defines the session expiration in seconds for the account. Valid values: * Any whole number between between '900' and '86400' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) SessionExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.SessionExpirationInSeconds }).(pulumi.StringOutput) +} + +// Defines the period of time in seconds in which a session will be invalidated due to inactivity. Valid values: * Any whole number between '900' and '7200' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) SessionInvalidationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.SessionInvalidationInSeconds }).(pulumi.StringOutput) +} + +// Defines the access token expiration in seconds. Valid values: * Any whole number between '900' and '3600' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) SystemAccessTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.SystemAccessTokenExpirationInSeconds }).(pulumi.StringOutput) +} + +// Defines the refresh token expiration in seconds. Valid values: * Any whole number between '900' and '259200' * NOT_SET - To unset account setting and use service default. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) SystemRefreshTokenExpirationInSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) string { return v.SystemRefreshTokenExpirationInSeconds }).(pulumi.StringOutput) +} + +// List of users that are exempted from the MFA requirement of the account. +func (o GetIamEffectiveAccountSettingsEffectiveOutput) UserMfas() GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffective) []GetIamEffectiveAccountSettingsEffectiveUserMfa { + return v.UserMfas + }).(GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput) +} + +type GetIamEffectiveAccountSettingsEffectiveArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsEffectiveArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsEffective)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsEffectiveArrayOutput) ToGetIamEffectiveAccountSettingsEffectiveArrayOutput() GetIamEffectiveAccountSettingsEffectiveArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsEffectiveArrayOutput) ToGetIamEffectiveAccountSettingsEffectiveArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsEffectiveArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsEffectiveArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsEffectiveOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsEffective { + return vs[0].([]GetIamEffectiveAccountSettingsEffective)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsEffectiveOutput) +} + +type GetIamEffectiveAccountSettingsEffectiveUserMfa struct { + // optional description. + Description string `pulumi:"description"` + // email of the user. + Email string `pulumi:"email"` + // The iamId of the user. + IamId string `pulumi:"iamId"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa string `pulumi:"mfa"` + // name of the user account. + Name string `pulumi:"name"` + // userName of the user. + UserName string `pulumi:"userName"` +} + +// GetIamEffectiveAccountSettingsEffectiveUserMfaInput is an input type that accepts GetIamEffectiveAccountSettingsEffectiveUserMfaArgs and GetIamEffectiveAccountSettingsEffectiveUserMfaOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsEffectiveUserMfaInput` via: +// +// GetIamEffectiveAccountSettingsEffectiveUserMfaArgs{...} +type GetIamEffectiveAccountSettingsEffectiveUserMfaInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsEffectiveUserMfaOutput() GetIamEffectiveAccountSettingsEffectiveUserMfaOutput + ToGetIamEffectiveAccountSettingsEffectiveUserMfaOutputWithContext(context.Context) GetIamEffectiveAccountSettingsEffectiveUserMfaOutput +} + +type GetIamEffectiveAccountSettingsEffectiveUserMfaArgs struct { + // optional description. + Description pulumi.StringInput `pulumi:"description"` + // email of the user. + Email pulumi.StringInput `pulumi:"email"` + // The iamId of the user. + IamId pulumi.StringInput `pulumi:"iamId"` + // MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + Mfa pulumi.StringInput `pulumi:"mfa"` + // name of the user account. + Name pulumi.StringInput `pulumi:"name"` + // userName of the user. + UserName pulumi.StringInput `pulumi:"userName"` +} + +func (GetIamEffectiveAccountSettingsEffectiveUserMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsEffectiveUserMfa)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsEffectiveUserMfaArgs) ToGetIamEffectiveAccountSettingsEffectiveUserMfaOutput() GetIamEffectiveAccountSettingsEffectiveUserMfaOutput { + return i.ToGetIamEffectiveAccountSettingsEffectiveUserMfaOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsEffectiveUserMfaArgs) ToGetIamEffectiveAccountSettingsEffectiveUserMfaOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsEffectiveUserMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) +} + +// GetIamEffectiveAccountSettingsEffectiveUserMfaArrayInput is an input type that accepts GetIamEffectiveAccountSettingsEffectiveUserMfaArray and GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput values. +// You can construct a concrete instance of `GetIamEffectiveAccountSettingsEffectiveUserMfaArrayInput` via: +// +// GetIamEffectiveAccountSettingsEffectiveUserMfaArray{ GetIamEffectiveAccountSettingsEffectiveUserMfaArgs{...} } +type GetIamEffectiveAccountSettingsEffectiveUserMfaArrayInput interface { + pulumi.Input + + ToGetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput() GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput + ToGetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutputWithContext(context.Context) GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput +} + +type GetIamEffectiveAccountSettingsEffectiveUserMfaArray []GetIamEffectiveAccountSettingsEffectiveUserMfaInput + +func (GetIamEffectiveAccountSettingsEffectiveUserMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsEffectiveUserMfa)(nil)).Elem() +} + +func (i GetIamEffectiveAccountSettingsEffectiveUserMfaArray) ToGetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput() GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput { + return i.ToGetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutputWithContext(context.Background()) +} + +func (i GetIamEffectiveAccountSettingsEffectiveUserMfaArray) ToGetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput) +} + +type GetIamEffectiveAccountSettingsEffectiveUserMfaOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamEffectiveAccountSettingsEffectiveUserMfa)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) ToGetIamEffectiveAccountSettingsEffectiveUserMfaOutput() GetIamEffectiveAccountSettingsEffectiveUserMfaOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) ToGetIamEffectiveAccountSettingsEffectiveUserMfaOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsEffectiveUserMfaOutput { + return o +} + +// optional description. +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffectiveUserMfa) string { return v.Description }).(pulumi.StringOutput) +} + +// email of the user. +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffectiveUserMfa) string { return v.Email }).(pulumi.StringOutput) +} + +// The iamId of the user. +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffectiveUserMfa) string { return v.IamId }).(pulumi.StringOutput) +} + +// MFA trait definitions as follows: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) Mfa() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffectiveUserMfa) string { return v.Mfa }).(pulumi.StringOutput) +} + +// name of the user account. +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffectiveUserMfa) string { return v.Name }).(pulumi.StringOutput) +} + +// userName of the user. +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamEffectiveAccountSettingsEffectiveUserMfa) string { return v.UserName }).(pulumi.StringOutput) +} + +type GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput struct{ *pulumi.OutputState } + +func (GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamEffectiveAccountSettingsEffectiveUserMfa)(nil)).Elem() +} + +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput) ToGetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput() GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput) ToGetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutputWithContext(ctx context.Context) GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput { + return o +} + +func (o GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput) Index(i pulumi.IntInput) GetIamEffectiveAccountSettingsEffectiveUserMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamEffectiveAccountSettingsEffectiveUserMfa { + return vs[0].([]GetIamEffectiveAccountSettingsEffectiveUserMfa)[vs[1].(int)] + }).(GetIamEffectiveAccountSettingsEffectiveUserMfaOutput) +} + +type GetIamPolicyAssignmentResource struct { + // Set of properties for the assigned resource. + Policies []GetIamPolicyAssignmentResourcePolicy `pulumi:"policies"` + // assignment target details + Target map[string]string `pulumi:"target"` +} + +// GetIamPolicyAssignmentResourceInput is an input type that accepts GetIamPolicyAssignmentResourceArgs and GetIamPolicyAssignmentResourceOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourceInput` via: +// +// GetIamPolicyAssignmentResourceArgs{...} +type GetIamPolicyAssignmentResourceInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourceOutput() GetIamPolicyAssignmentResourceOutput + ToGetIamPolicyAssignmentResourceOutputWithContext(context.Context) GetIamPolicyAssignmentResourceOutput +} + +type GetIamPolicyAssignmentResourceArgs struct { + // Set of properties for the assigned resource. + Policies GetIamPolicyAssignmentResourcePolicyArrayInput `pulumi:"policies"` + // assignment target details + Target pulumi.StringMapInput `pulumi:"target"` +} + +func (GetIamPolicyAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResource)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourceArgs) ToGetIamPolicyAssignmentResourceOutput() GetIamPolicyAssignmentResourceOutput { + return i.ToGetIamPolicyAssignmentResourceOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourceArgs) ToGetIamPolicyAssignmentResourceOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourceOutput) +} + +// GetIamPolicyAssignmentResourceArrayInput is an input type that accepts GetIamPolicyAssignmentResourceArray and GetIamPolicyAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourceArrayInput` via: +// +// GetIamPolicyAssignmentResourceArray{ GetIamPolicyAssignmentResourceArgs{...} } +type GetIamPolicyAssignmentResourceArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourceArrayOutput() GetIamPolicyAssignmentResourceArrayOutput + ToGetIamPolicyAssignmentResourceArrayOutputWithContext(context.Context) GetIamPolicyAssignmentResourceArrayOutput +} + +type GetIamPolicyAssignmentResourceArray []GetIamPolicyAssignmentResourceInput + +func (GetIamPolicyAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResource)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourceArray) ToGetIamPolicyAssignmentResourceArrayOutput() GetIamPolicyAssignmentResourceArrayOutput { + return i.ToGetIamPolicyAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourceArray) ToGetIamPolicyAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourceArrayOutput) +} + +type GetIamPolicyAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResource)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourceOutput) ToGetIamPolicyAssignmentResourceOutput() GetIamPolicyAssignmentResourceOutput { + return o +} + +func (o GetIamPolicyAssignmentResourceOutput) ToGetIamPolicyAssignmentResourceOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourceOutput { + return o +} + +// Set of properties for the assigned resource. +func (o GetIamPolicyAssignmentResourceOutput) Policies() GetIamPolicyAssignmentResourcePolicyArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResource) []GetIamPolicyAssignmentResourcePolicy { return v.Policies }).(GetIamPolicyAssignmentResourcePolicyArrayOutput) +} + +// assignment target details +func (o GetIamPolicyAssignmentResourceOutput) Target() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResource) map[string]string { return v.Target }).(pulumi.StringMapOutput) +} + +type GetIamPolicyAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResource)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourceArrayOutput) ToGetIamPolicyAssignmentResourceArrayOutput() GetIamPolicyAssignmentResourceArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourceArrayOutput) ToGetIamPolicyAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourceArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourceArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentResource { + return vs[0].([]GetIamPolicyAssignmentResource)[vs[1].(int)] + }).(GetIamPolicyAssignmentResourceOutput) +} + +type GetIamPolicyAssignmentResourcePolicy struct { + // The error response from API. + ErrorMessages []GetIamPolicyAssignmentResourcePolicyErrorMessage `pulumi:"errorMessages"` + // On success, includes the policy assigned. + ResourceCreateds []GetIamPolicyAssignmentResourcePolicyResourceCreated `pulumi:"resourceCreateds"` + // The policy assignment status. + Status string `pulumi:"status"` +} + +// GetIamPolicyAssignmentResourcePolicyInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyArgs and GetIamPolicyAssignmentResourcePolicyOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyInput` via: +// +// GetIamPolicyAssignmentResourcePolicyArgs{...} +type GetIamPolicyAssignmentResourcePolicyInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyOutput() GetIamPolicyAssignmentResourcePolicyOutput + ToGetIamPolicyAssignmentResourcePolicyOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyOutput +} + +type GetIamPolicyAssignmentResourcePolicyArgs struct { + // The error response from API. + ErrorMessages GetIamPolicyAssignmentResourcePolicyErrorMessageArrayInput `pulumi:"errorMessages"` + // On success, includes the policy assigned. + ResourceCreateds GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // The policy assignment status. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetIamPolicyAssignmentResourcePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicy)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyArgs) ToGetIamPolicyAssignmentResourcePolicyOutput() GetIamPolicyAssignmentResourcePolicyOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyArgs) ToGetIamPolicyAssignmentResourcePolicyOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyOutput) +} + +// GetIamPolicyAssignmentResourcePolicyArrayInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyArray and GetIamPolicyAssignmentResourcePolicyArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyArrayInput` via: +// +// GetIamPolicyAssignmentResourcePolicyArray{ GetIamPolicyAssignmentResourcePolicyArgs{...} } +type GetIamPolicyAssignmentResourcePolicyArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyArrayOutput() GetIamPolicyAssignmentResourcePolicyArrayOutput + ToGetIamPolicyAssignmentResourcePolicyArrayOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyArrayOutput +} + +type GetIamPolicyAssignmentResourcePolicyArray []GetIamPolicyAssignmentResourcePolicyInput + +func (GetIamPolicyAssignmentResourcePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicy)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyArray) ToGetIamPolicyAssignmentResourcePolicyArrayOutput() GetIamPolicyAssignmentResourcePolicyArrayOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyArray) ToGetIamPolicyAssignmentResourcePolicyArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyArrayOutput) +} + +type GetIamPolicyAssignmentResourcePolicyOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicy)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyOutput) ToGetIamPolicyAssignmentResourcePolicyOutput() GetIamPolicyAssignmentResourcePolicyOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyOutput) ToGetIamPolicyAssignmentResourcePolicyOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyOutput { + return o +} + +// The error response from API. +func (o GetIamPolicyAssignmentResourcePolicyOutput) ErrorMessages() GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicy) []GetIamPolicyAssignmentResourcePolicyErrorMessage { + return v.ErrorMessages + }).(GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) +} + +// On success, includes the policy assigned. +func (o GetIamPolicyAssignmentResourcePolicyOutput) ResourceCreateds() GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicy) []GetIamPolicyAssignmentResourcePolicyResourceCreated { + return v.ResourceCreateds + }).(GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) +} + +// The policy assignment status. +func (o GetIamPolicyAssignmentResourcePolicyOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicy) string { return v.Status }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentResourcePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicy)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyArrayOutput) ToGetIamPolicyAssignmentResourcePolicyArrayOutput() GetIamPolicyAssignmentResourcePolicyArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyArrayOutput) ToGetIamPolicyAssignmentResourcePolicyArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentResourcePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentResourcePolicy { + return vs[0].([]GetIamPolicyAssignmentResourcePolicy)[vs[1].(int)] + }).(GetIamPolicyAssignmentResourcePolicyOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessage struct { + // Internal status code for the error. + Code string `pulumi:"code"` + // Internal error code. + ErrorCode string `pulumi:"errorCode"` + // The errors encountered during the response. + Errors []GetIamPolicyAssignmentResourcePolicyErrorMessageError `pulumi:"errors"` + // Error message detailing the nature of the error. + Message string `pulumi:"message"` + // Name of the error. + Name string `pulumi:"name"` + // The HTTP error code of the response. + StatusCode int `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace string `pulumi:"trace"` +} + +// GetIamPolicyAssignmentResourcePolicyErrorMessageInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyErrorMessageArgs and GetIamPolicyAssignmentResourcePolicyErrorMessageOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyErrorMessageInput` via: +// +// GetIamPolicyAssignmentResourcePolicyErrorMessageArgs{...} +type GetIamPolicyAssignmentResourcePolicyErrorMessageInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyErrorMessageOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageOutput + ToGetIamPolicyAssignmentResourcePolicyErrorMessageOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageOutput +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageArgs struct { + // Internal status code for the error. + Code pulumi.StringInput `pulumi:"code"` + // Internal error code. + ErrorCode pulumi.StringInput `pulumi:"errorCode"` + // The errors encountered during the response. + Errors GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput `pulumi:"errors"` + // Error message detailing the nature of the error. + Message pulumi.StringInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringInput `pulumi:"name"` + // The HTTP error code of the response. + StatusCode pulumi.IntInput `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace pulumi.StringInput `pulumi:"trace"` +} + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageArgs) ToGetIamPolicyAssignmentResourcePolicyErrorMessageOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyErrorMessageOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageArgs) ToGetIamPolicyAssignmentResourcePolicyErrorMessageOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) +} + +// GetIamPolicyAssignmentResourcePolicyErrorMessageArrayInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyErrorMessageArray and GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyErrorMessageArrayInput` via: +// +// GetIamPolicyAssignmentResourcePolicyErrorMessageArray{ GetIamPolicyAssignmentResourcePolicyErrorMessageArgs{...} } +type GetIamPolicyAssignmentResourcePolicyErrorMessageArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput + ToGetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageArray []GetIamPolicyAssignmentResourcePolicyErrorMessageInput + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageArray) ToGetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageArray) ToGetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageOutput { + return o +} + +// Internal status code for the error. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessage) string { return v.Code }).(pulumi.StringOutput) +} + +// Internal error code. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) ErrorCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessage) string { return v.ErrorCode }).(pulumi.StringOutput) +} + +// The errors encountered during the response. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) Errors() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessage) []GetIamPolicyAssignmentResourcePolicyErrorMessageError { + return v.Errors + }).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) +} + +// Error message detailing the nature of the error. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessage) string { return v.Message }).(pulumi.StringOutput) +} + +// Name of the error. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessage) string { return v.Name }).(pulumi.StringOutput) +} + +// The HTTP error code of the response. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) StatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessage) int { return v.StatusCode }).(pulumi.IntOutput) +} + +// The unique transaction ID for the request. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) Trace() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessage) string { return v.Trace }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentResourcePolicyErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentResourcePolicyErrorMessage { + return vs[0].([]GetIamPolicyAssignmentResourcePolicyErrorMessage)[vs[1].(int)] + }).(GetIamPolicyAssignmentResourcePolicyErrorMessageOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageError struct { + // The API error code for the error. + Code string `pulumi:"code"` + // Additional error details. + Details []GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail `pulumi:"details"` + // The error message returned by the API. + Message string `pulumi:"message"` + // Additional info for error. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArgs and GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyErrorMessageErrorInput` via: +// +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArgs{...} +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArgs struct { + // The API error code for the error. + Code pulumi.StringInput `pulumi:"code"` + // Additional error details. + Details GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput `pulumi:"details"` + // The error message returned by the API. + Message pulumi.StringInput `pulumi:"message"` + // Additional info for error. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArgs) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArgs) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) +} + +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArray and GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput` via: +// +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArray{ GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArgs{...} } +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArray []GetIamPolicyAssignmentResourcePolicyErrorMessageErrorInput + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArray) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArray) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return o +} + +// The API error code for the error. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessageError) string { return v.Code }).(pulumi.StringOutput) +} + +// Additional error details. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) Details() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessageError) []GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail { + return v.Details + }).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) +} + +// The error message returned by the API. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessageError) string { return v.Message }).(pulumi.StringOutput) +} + +// Additional info for error. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessageError) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentResourcePolicyErrorMessageError { + return vs[0].([]GetIamPolicyAssignmentResourcePolicyErrorMessageError)[vs[1].(int)] + }).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail struct { + // Details of conflicting resource. + ConflictsWiths []GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith `pulumi:"conflictsWiths"` +} + +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs and GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput` via: +// +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs{...} +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs struct { + // Details of conflicting resource. + ConflictsWiths GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput `pulumi:"conflictsWiths"` +} + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) +} + +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray and GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput` via: +// +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray{ GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs{...} } +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray []GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return o +} + +// Details of conflicting resource. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) ConflictsWiths() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail) []GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith { + return v.ConflictsWiths + }).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail { + return vs[0].([]GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetail)[vs[1].(int)] + }).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith struct { + // The revision number of the resource. + Etag string `pulumi:"etag"` + // The conflicting policy id. + Policy string `pulumi:"policy"` + // The conflicting role id. + Role string `pulumi:"role"` +} + +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs and GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput` via: +// +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{...} +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs struct { + // The revision number of the resource. + Etag pulumi.StringInput `pulumi:"etag"` + // The conflicting policy id. + Policy pulumi.StringInput `pulumi:"policy"` + // The conflicting role id. + Role pulumi.StringInput `pulumi:"role"` +} + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) +} + +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray and GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput` via: +// +// GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray{ GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{...} } +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput + ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray []GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return o +} + +// The revision number of the resource. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) string { return v.Etag }).(pulumi.StringOutput) +} + +// The conflicting policy id. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) string { + return v.Policy + }).(pulumi.StringOutput) +} + +// The conflicting role id. +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) string { return v.Role }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ToGetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith { + return vs[0].([]GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)[vs[1].(int)] + }).(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) +} + +type GetIamPolicyAssignmentResourcePolicyResourceCreated struct { + // policy id. + Id string `pulumi:"id"` +} + +// GetIamPolicyAssignmentResourcePolicyResourceCreatedInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyResourceCreatedArgs and GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyResourceCreatedInput` via: +// +// GetIamPolicyAssignmentResourcePolicyResourceCreatedArgs{...} +type GetIamPolicyAssignmentResourcePolicyResourceCreatedInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyResourceCreatedOutput() GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput + ToGetIamPolicyAssignmentResourcePolicyResourceCreatedOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput +} + +type GetIamPolicyAssignmentResourcePolicyResourceCreatedArgs struct { + // policy id. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIamPolicyAssignmentResourcePolicyResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyResourceCreatedArgs) ToGetIamPolicyAssignmentResourcePolicyResourceCreatedOutput() GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyResourceCreatedOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyResourceCreatedArgs) ToGetIamPolicyAssignmentResourcePolicyResourceCreatedOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput) +} + +// GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayInput is an input type that accepts GetIamPolicyAssignmentResourcePolicyResourceCreatedArray and GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayInput` via: +// +// GetIamPolicyAssignmentResourcePolicyResourceCreatedArray{ GetIamPolicyAssignmentResourcePolicyResourceCreatedArgs{...} } +type GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput() GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput + ToGetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(context.Context) GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput +} + +type GetIamPolicyAssignmentResourcePolicyResourceCreatedArray []GetIamPolicyAssignmentResourcePolicyResourceCreatedInput + +func (GetIamPolicyAssignmentResourcePolicyResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentResourcePolicyResourceCreatedArray) ToGetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput() GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return i.ToGetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentResourcePolicyResourceCreatedArray) ToGetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) +} + +type GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput) ToGetIamPolicyAssignmentResourcePolicyResourceCreatedOutput() GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput) ToGetIamPolicyAssignmentResourcePolicyResourceCreatedOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return o +} + +// policy id. +func (o GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentResourcePolicyResourceCreated) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) ToGetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput() GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) ToGetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentResourcePolicyResourceCreated { + return vs[0].([]GetIamPolicyAssignmentResourcePolicyResourceCreated)[vs[1].(int)] + }).(GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput) +} + +type GetIamPolicyAssignmentsAssignment struct { + // The account GUID that the policies assignments belong to.. + AccountId string `pulumi:"accountId"` + // Passed in value to correlate with other assignments. + AssignmentId string `pulumi:"assignmentId"` + // The UTC timestamp when the policy assignment was created. + CreatedAt string `pulumi:"createdAt"` + // The iam ID of the entity that created the policy assignment. + CreatedById string `pulumi:"createdById"` + // The href URL that links to the policies assignments API by policy assignment ID. + Href string `pulumi:"href"` + // Policy assignment ID. + Id string `pulumi:"id"` + // The UTC timestamp when the policy assignment was last modified. + LastModifiedAt string `pulumi:"lastModifiedAt"` + // The iam ID of the entity that last modified the policy assignment. + LastModifiedById string `pulumi:"lastModifiedById"` + // Object for each account assigned. + Resources []GetIamPolicyAssignmentsAssignmentResource `pulumi:"resources"` + // The policy assignment status. + Status string `pulumi:"status"` + // assignment access type subject details + Subject map[string]string `pulumi:"subject"` + // assignment target details + Target map[string]string `pulumi:"target"` + // policy template details + Template map[string]string `pulumi:"template"` + // policy template id. + TemplateId string `pulumi:"templateId"` + // policy template version. + TemplateVersion string `pulumi:"templateVersion"` +} + +// GetIamPolicyAssignmentsAssignmentInput is an input type that accepts GetIamPolicyAssignmentsAssignmentArgs and GetIamPolicyAssignmentsAssignmentOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentInput` via: +// +// GetIamPolicyAssignmentsAssignmentArgs{...} +type GetIamPolicyAssignmentsAssignmentInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentOutput() GetIamPolicyAssignmentsAssignmentOutput + ToGetIamPolicyAssignmentsAssignmentOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentOutput +} + +type GetIamPolicyAssignmentsAssignmentArgs struct { + // The account GUID that the policies assignments belong to.. + AccountId pulumi.StringInput `pulumi:"accountId"` + // Passed in value to correlate with other assignments. + AssignmentId pulumi.StringInput `pulumi:"assignmentId"` + // The UTC timestamp when the policy assignment was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The iam ID of the entity that created the policy assignment. + CreatedById pulumi.StringInput `pulumi:"createdById"` + // The href URL that links to the policies assignments API by policy assignment ID. + Href pulumi.StringInput `pulumi:"href"` + // Policy assignment ID. + Id pulumi.StringInput `pulumi:"id"` + // The UTC timestamp when the policy assignment was last modified. + LastModifiedAt pulumi.StringInput `pulumi:"lastModifiedAt"` + // The iam ID of the entity that last modified the policy assignment. + LastModifiedById pulumi.StringInput `pulumi:"lastModifiedById"` + // Object for each account assigned. + Resources GetIamPolicyAssignmentsAssignmentResourceArrayInput `pulumi:"resources"` + // The policy assignment status. + Status pulumi.StringInput `pulumi:"status"` + // assignment access type subject details + Subject pulumi.StringMapInput `pulumi:"subject"` + // assignment target details + Target pulumi.StringMapInput `pulumi:"target"` + // policy template details + Template pulumi.StringMapInput `pulumi:"template"` + // policy template id. + TemplateId pulumi.StringInput `pulumi:"templateId"` + // policy template version. + TemplateVersion pulumi.StringInput `pulumi:"templateVersion"` +} + +func (GetIamPolicyAssignmentsAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignment)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentArgs) ToGetIamPolicyAssignmentsAssignmentOutput() GetIamPolicyAssignmentsAssignmentOutput { + return i.ToGetIamPolicyAssignmentsAssignmentOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentArgs) ToGetIamPolicyAssignmentsAssignmentOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentOutput) +} + +// GetIamPolicyAssignmentsAssignmentArrayInput is an input type that accepts GetIamPolicyAssignmentsAssignmentArray and GetIamPolicyAssignmentsAssignmentArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentArrayInput` via: +// +// GetIamPolicyAssignmentsAssignmentArray{ GetIamPolicyAssignmentsAssignmentArgs{...} } +type GetIamPolicyAssignmentsAssignmentArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentArrayOutput() GetIamPolicyAssignmentsAssignmentArrayOutput + ToGetIamPolicyAssignmentsAssignmentArrayOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentArrayOutput +} + +type GetIamPolicyAssignmentsAssignmentArray []GetIamPolicyAssignmentsAssignmentInput + +func (GetIamPolicyAssignmentsAssignmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignment)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentArray) ToGetIamPolicyAssignmentsAssignmentArrayOutput() GetIamPolicyAssignmentsAssignmentArrayOutput { + return i.ToGetIamPolicyAssignmentsAssignmentArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentArray) ToGetIamPolicyAssignmentsAssignmentArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignment)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentOutput) ToGetIamPolicyAssignmentsAssignmentOutput() GetIamPolicyAssignmentsAssignmentOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentOutput) ToGetIamPolicyAssignmentsAssignmentOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentOutput { + return o +} + +// The account GUID that the policies assignments belong to.. +func (o GetIamPolicyAssignmentsAssignmentOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.AccountId }).(pulumi.StringOutput) +} + +// Passed in value to correlate with other assignments. +func (o GetIamPolicyAssignmentsAssignmentOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.AssignmentId }).(pulumi.StringOutput) +} + +// The UTC timestamp when the policy assignment was created. +func (o GetIamPolicyAssignmentsAssignmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The iam ID of the entity that created the policy assignment. +func (o GetIamPolicyAssignmentsAssignmentOutput) CreatedById() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.CreatedById }).(pulumi.StringOutput) +} + +// The href URL that links to the policies assignments API by policy assignment ID. +func (o GetIamPolicyAssignmentsAssignmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.Href }).(pulumi.StringOutput) +} + +// Policy assignment ID. +func (o GetIamPolicyAssignmentsAssignmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.Id }).(pulumi.StringOutput) +} + +// The UTC timestamp when the policy assignment was last modified. +func (o GetIamPolicyAssignmentsAssignmentOutput) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +// The iam ID of the entity that last modified the policy assignment. +func (o GetIamPolicyAssignmentsAssignmentOutput) LastModifiedById() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.LastModifiedById }).(pulumi.StringOutput) +} + +// Object for each account assigned. +func (o GetIamPolicyAssignmentsAssignmentOutput) Resources() GetIamPolicyAssignmentsAssignmentResourceArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) []GetIamPolicyAssignmentsAssignmentResource { + return v.Resources + }).(GetIamPolicyAssignmentsAssignmentResourceArrayOutput) +} + +// The policy assignment status. +func (o GetIamPolicyAssignmentsAssignmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.Status }).(pulumi.StringOutput) +} + +// assignment access type subject details +func (o GetIamPolicyAssignmentsAssignmentOutput) Subject() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) map[string]string { return v.Subject }).(pulumi.StringMapOutput) +} + +// assignment target details +func (o GetIamPolicyAssignmentsAssignmentOutput) Target() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) map[string]string { return v.Target }).(pulumi.StringMapOutput) +} + +// policy template details +func (o GetIamPolicyAssignmentsAssignmentOutput) Template() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) map[string]string { return v.Template }).(pulumi.StringMapOutput) +} + +// policy template id. +func (o GetIamPolicyAssignmentsAssignmentOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.TemplateId }).(pulumi.StringOutput) +} + +// policy template version. +func (o GetIamPolicyAssignmentsAssignmentOutput) TemplateVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignment) string { return v.TemplateVersion }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentsAssignmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignment)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentArrayOutput) ToGetIamPolicyAssignmentsAssignmentArrayOutput() GetIamPolicyAssignmentsAssignmentArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentArrayOutput) ToGetIamPolicyAssignmentsAssignmentArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentsAssignmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentsAssignment { + return vs[0].([]GetIamPolicyAssignmentsAssignment)[vs[1].(int)] + }).(GetIamPolicyAssignmentsAssignmentOutput) +} + +type GetIamPolicyAssignmentsAssignmentResource struct { + // Set of properties for the assigned resource. + Policies []GetIamPolicyAssignmentsAssignmentResourcePolicy `pulumi:"policies"` + // assignment target details + Target map[string]string `pulumi:"target"` +} + +// GetIamPolicyAssignmentsAssignmentResourceInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourceArgs and GetIamPolicyAssignmentsAssignmentResourceOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourceInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourceArgs{...} +type GetIamPolicyAssignmentsAssignmentResourceInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourceOutput() GetIamPolicyAssignmentsAssignmentResourceOutput + ToGetIamPolicyAssignmentsAssignmentResourceOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourceOutput +} + +type GetIamPolicyAssignmentsAssignmentResourceArgs struct { + // Set of properties for the assigned resource. + Policies GetIamPolicyAssignmentsAssignmentResourcePolicyArrayInput `pulumi:"policies"` + // assignment target details + Target pulumi.StringMapInput `pulumi:"target"` +} + +func (GetIamPolicyAssignmentsAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResource)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourceArgs) ToGetIamPolicyAssignmentsAssignmentResourceOutput() GetIamPolicyAssignmentsAssignmentResourceOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourceOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourceArgs) ToGetIamPolicyAssignmentsAssignmentResourceOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourceOutput) +} + +// GetIamPolicyAssignmentsAssignmentResourceArrayInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourceArray and GetIamPolicyAssignmentsAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourceArrayInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourceArray{ GetIamPolicyAssignmentsAssignmentResourceArgs{...} } +type GetIamPolicyAssignmentsAssignmentResourceArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourceArrayOutput() GetIamPolicyAssignmentsAssignmentResourceArrayOutput + ToGetIamPolicyAssignmentsAssignmentResourceArrayOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourceArrayOutput +} + +type GetIamPolicyAssignmentsAssignmentResourceArray []GetIamPolicyAssignmentsAssignmentResourceInput + +func (GetIamPolicyAssignmentsAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResource)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourceArray) ToGetIamPolicyAssignmentsAssignmentResourceArrayOutput() GetIamPolicyAssignmentsAssignmentResourceArrayOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourceArray) ToGetIamPolicyAssignmentsAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourceArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResource)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourceOutput) ToGetIamPolicyAssignmentsAssignmentResourceOutput() GetIamPolicyAssignmentsAssignmentResourceOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourceOutput) ToGetIamPolicyAssignmentsAssignmentResourceOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourceOutput { + return o +} + +// Set of properties for the assigned resource. +func (o GetIamPolicyAssignmentsAssignmentResourceOutput) Policies() GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResource) []GetIamPolicyAssignmentsAssignmentResourcePolicy { + return v.Policies + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput) +} + +// assignment target details +func (o GetIamPolicyAssignmentsAssignmentResourceOutput) Target() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResource) map[string]string { return v.Target }).(pulumi.StringMapOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResource)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourceArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourceArrayOutput() GetIamPolicyAssignmentsAssignmentResourceArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourceArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourceArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourceArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentsAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentsAssignmentResource { + return vs[0].([]GetIamPolicyAssignmentsAssignmentResource)[vs[1].(int)] + }).(GetIamPolicyAssignmentsAssignmentResourceOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicy struct { + // The error response from API. + ErrorMessages []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage `pulumi:"errorMessages"` + // On success, includes the policy assigned. + ResourceCreateds []GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated `pulumi:"resourceCreateds"` + // policy status. + Status string `pulumi:"status"` +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyArgs and GetIamPolicyAssignmentsAssignmentResourcePolicyOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyArgs{...} +type GetIamPolicyAssignmentsAssignmentResourcePolicyInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyArgs struct { + // The error response from API. + ErrorMessages GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayInput `pulumi:"errorMessages"` + // On success, includes the policy assigned. + ResourceCreateds GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // policy status. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicy)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyOutput) +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyArrayInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyArray and GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyArrayInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyArray{ GetIamPolicyAssignmentsAssignmentResourcePolicyArgs{...} } +type GetIamPolicyAssignmentsAssignmentResourcePolicyArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyArray []GetIamPolicyAssignmentsAssignmentResourcePolicyInput + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicy)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicy)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyOutput { + return o +} + +// The error response from API. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyOutput) ErrorMessages() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicy) []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage { + return v.ErrorMessages + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput) +} + +// On success, includes the policy assigned. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyOutput) ResourceCreateds() GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicy) []GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated { + return v.ResourceCreateds + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput) +} + +// policy status. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicy) string { return v.Status }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicy)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentsAssignmentResourcePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentsAssignmentResourcePolicy { + return vs[0].([]GetIamPolicyAssignmentsAssignmentResourcePolicy)[vs[1].(int)] + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage struct { + // Internal status code for the error. + Code string `pulumi:"code"` + // Internal error code. + ErrorCode string `pulumi:"errorCode"` + // The errors encountered during the response. + Errors []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError `pulumi:"errors"` + // Error message detailing the nature of the error. + Message string `pulumi:"message"` + // Name of the error. + Name string `pulumi:"name"` + // The HTTP error code of the response. + StatusCode int `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace string `pulumi:"trace"` +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArgs and GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArgs{...} +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArgs struct { + // Internal status code for the error. + Code pulumi.StringInput `pulumi:"code"` + // Internal error code. + ErrorCode pulumi.StringInput `pulumi:"errorCode"` + // The errors encountered during the response. + Errors GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayInput `pulumi:"errors"` + // Error message detailing the nature of the error. + Message pulumi.StringInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringInput `pulumi:"name"` + // The HTTP error code of the response. + StatusCode pulumi.IntInput `pulumi:"statusCode"` + // The unique transaction ID for the request. + Trace pulumi.StringInput `pulumi:"trace"` +} + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArray and GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArray{ GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArgs{...} } +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArray []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageInput + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput { + return o +} + +// Internal status code for the error. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage) string { return v.Code }).(pulumi.StringOutput) +} + +// Internal error code. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) ErrorCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage) string { return v.ErrorCode }).(pulumi.StringOutput) +} + +// The errors encountered during the response. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) Errors() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage) []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError { + return v.Errors + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput) +} + +// Error message detailing the nature of the error. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage) string { return v.Message }).(pulumi.StringOutput) +} + +// Name of the error. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage) string { return v.Name }).(pulumi.StringOutput) +} + +// The HTTP error code of the response. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) StatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage) int { return v.StatusCode }).(pulumi.IntOutput) +} + +// The unique transaction ID for the request. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) Trace() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage) string { return v.Trace }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage { + return vs[0].([]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessage)[vs[1].(int)] + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError struct { + // The API error code for the error. + Code string `pulumi:"code"` + // Additional error details. + Details []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail `pulumi:"details"` + // The error message returned by the API. + Message string `pulumi:"message"` + // Additional info for error. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArgs and GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArgs{...} +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArgs struct { + // The API error code for the error. + Code pulumi.StringInput `pulumi:"code"` + // Additional error details. + Details GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayInput `pulumi:"details"` + // The error message returned by the API. + Message pulumi.StringInput `pulumi:"message"` + // Additional info for error. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArray and GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArray{ GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArgs{...} } +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArray []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorInput + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput { + return o +} + +// The API error code for the error. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError) string { return v.Code }).(pulumi.StringOutput) +} + +// Additional error details. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) Details() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError) []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail { + return v.Details + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) +} + +// The error message returned by the API. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError) string { return v.Message }).(pulumi.StringOutput) +} + +// Additional info for error. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError { + return vs[0].([]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageError)[vs[1].(int)] + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail struct { + // Details of conflicting resource. + ConflictsWiths []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith `pulumi:"conflictsWiths"` +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArgs and GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArgs{...} +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArgs struct { + // Details of conflicting resource. + ConflictsWiths GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput `pulumi:"conflictsWiths"` +} + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput) +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArray and GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArray{ GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArgs{...} } +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArray []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailInput + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return o +} + +// Details of conflicting resource. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput) ConflictsWiths() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail) []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith { + return v.ConflictsWiths + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail { + return vs[0].([]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetail)[vs[1].(int)] + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith struct { + // The revision number of the resource. + Etag string `pulumi:"etag"` + // The conflicting policy id. + Policy string `pulumi:"policy"` + // The conflicting role id. + Role string `pulumi:"role"` +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs and GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{...} +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs struct { + // The revision number of the resource. + Etag pulumi.StringInput `pulumi:"etag"` + // The conflicting policy id. + Policy pulumi.StringInput `pulumi:"policy"` + // The conflicting role id. + Role pulumi.StringInput `pulumi:"role"` +} + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray and GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray{ GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{...} } +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray []GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return o +} + +// The revision number of the resource. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) string { + return v.Etag + }).(pulumi.StringOutput) +} + +// The conflicting policy id. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) string { + return v.Policy + }).(pulumi.StringOutput) +} + +// The conflicting role id. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith) string { + return v.Role + }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith { + return vs[0].([]GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWith)[vs[1].(int)] + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated struct { + // policy id. + Id string `pulumi:"id"` +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArgs and GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArgs{...} +type GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArgs struct { + // policy id. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArgs) ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput) +} + +// GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayInput is an input type that accepts GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArray and GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayInput` via: +// +// GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArray{ GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArgs{...} } +type GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayInput interface { + pulumi.Input + + ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput + ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArray []GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedInput + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput { + return i.ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArray) ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput { + return o +} + +// policy id. +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated)(nil)).Elem() +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput() GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput) ToGetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput { + return o +} + +func (o GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput) Index(i pulumi.IntInput) GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated { + return vs[0].([]GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreated)[vs[1].(int)] + }).(GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput) +} + +type GetIamPolicyTemplatePolicyTemplate struct { + // account id where this template will be created. + AccountId string `pulumi:"accountId"` + // Template vesrsion committed status. + Committed bool `pulumi:"committed"` + // description of template purpose. + Description string `pulumi:"description"` + // The policy template ID. + Id string `pulumi:"id"` + // name of template. + Name string `pulumi:"name"` + // The core set of properties associated with the template's policy objet. + Policies []GetIamPolicyTemplatePolicyTemplatePolicy `pulumi:"policies"` + // Template vesrsion. + Version string `pulumi:"version"` +} + +// GetIamPolicyTemplatePolicyTemplateInput is an input type that accepts GetIamPolicyTemplatePolicyTemplateArgs and GetIamPolicyTemplatePolicyTemplateOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplateInput` via: +// +// GetIamPolicyTemplatePolicyTemplateArgs{...} +type GetIamPolicyTemplatePolicyTemplateInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplateOutput() GetIamPolicyTemplatePolicyTemplateOutput + ToGetIamPolicyTemplatePolicyTemplateOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplateOutput +} + +type GetIamPolicyTemplatePolicyTemplateArgs struct { + // account id where this template will be created. + AccountId pulumi.StringInput `pulumi:"accountId"` + // Template vesrsion committed status. + Committed pulumi.BoolInput `pulumi:"committed"` + // description of template purpose. + Description pulumi.StringInput `pulumi:"description"` + // The policy template ID. + Id pulumi.StringInput `pulumi:"id"` + // name of template. + Name pulumi.StringInput `pulumi:"name"` + // The core set of properties associated with the template's policy objet. + Policies GetIamPolicyTemplatePolicyTemplatePolicyArrayInput `pulumi:"policies"` + // Template vesrsion. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamPolicyTemplatePolicyTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplate)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplateArgs) ToGetIamPolicyTemplatePolicyTemplateOutput() GetIamPolicyTemplatePolicyTemplateOutput { + return i.ToGetIamPolicyTemplatePolicyTemplateOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplateArgs) ToGetIamPolicyTemplatePolicyTemplateOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplateOutput) +} + +// GetIamPolicyTemplatePolicyTemplateArrayInput is an input type that accepts GetIamPolicyTemplatePolicyTemplateArray and GetIamPolicyTemplatePolicyTemplateArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplateArrayInput` via: +// +// GetIamPolicyTemplatePolicyTemplateArray{ GetIamPolicyTemplatePolicyTemplateArgs{...} } +type GetIamPolicyTemplatePolicyTemplateArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplateArrayOutput() GetIamPolicyTemplatePolicyTemplateArrayOutput + ToGetIamPolicyTemplatePolicyTemplateArrayOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplateArrayOutput +} + +type GetIamPolicyTemplatePolicyTemplateArray []GetIamPolicyTemplatePolicyTemplateInput + +func (GetIamPolicyTemplatePolicyTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplate)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplateArray) ToGetIamPolicyTemplatePolicyTemplateArrayOutput() GetIamPolicyTemplatePolicyTemplateArrayOutput { + return i.ToGetIamPolicyTemplatePolicyTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplateArray) ToGetIamPolicyTemplatePolicyTemplateArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplateArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplateOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplate)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplateOutput) ToGetIamPolicyTemplatePolicyTemplateOutput() GetIamPolicyTemplatePolicyTemplateOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplateOutput) ToGetIamPolicyTemplatePolicyTemplateOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplateOutput { + return o +} + +// account id where this template will be created. +func (o GetIamPolicyTemplatePolicyTemplateOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplate) string { return v.AccountId }).(pulumi.StringOutput) +} + +// Template vesrsion committed status. +func (o GetIamPolicyTemplatePolicyTemplateOutput) Committed() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplate) bool { return v.Committed }).(pulumi.BoolOutput) +} + +// description of template purpose. +func (o GetIamPolicyTemplatePolicyTemplateOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplate) string { return v.Description }).(pulumi.StringOutput) +} + +// The policy template ID. +func (o GetIamPolicyTemplatePolicyTemplateOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplate) string { return v.Id }).(pulumi.StringOutput) +} + +// name of template. +func (o GetIamPolicyTemplatePolicyTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplate) string { return v.Name }).(pulumi.StringOutput) +} + +// The core set of properties associated with the template's policy objet. +func (o GetIamPolicyTemplatePolicyTemplateOutput) Policies() GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplate) []GetIamPolicyTemplatePolicyTemplatePolicy { + return v.Policies + }).(GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput) +} + +// Template vesrsion. +func (o GetIamPolicyTemplatePolicyTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplate) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamPolicyTemplatePolicyTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplate)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplateArrayOutput) ToGetIamPolicyTemplatePolicyTemplateArrayOutput() GetIamPolicyTemplatePolicyTemplateArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplateArrayOutput) ToGetIamPolicyTemplatePolicyTemplateArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplateArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplateArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplatePolicyTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplatePolicyTemplate { + return vs[0].([]GetIamPolicyTemplatePolicyTemplate)[vs[1].(int)] + }).(GetIamPolicyTemplatePolicyTemplateOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicy struct { + // Allows the customer to use their own words to record the purpose/context related to a policy. + Description string `pulumi:"description"` + // Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. + Pattern string `pulumi:"pattern"` + // The resource attributes to which the policy grants access. + Resources []GetIamPolicyTemplatePolicyTemplatePolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + // The policy type; either 'access' or 'authorization'. + Type string `pulumi:"type"` +} + +// GetIamPolicyTemplatePolicyTemplatePolicyInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyArgs and GetIamPolicyTemplatePolicyTemplatePolicyOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyArgs{...} +type GetIamPolicyTemplatePolicyTemplatePolicyInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyOutput() GetIamPolicyTemplatePolicyTemplatePolicyOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyArgs struct { + // Allows the customer to use their own words to record the purpose/context related to a policy. + Description pulumi.StringInput `pulumi:"description"` + // Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. + Pattern pulumi.StringInput `pulumi:"pattern"` + // The resource attributes to which the policy grants access. + Resources GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayInput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput `pulumi:"ruleOperator"` + // The policy type; either 'access' or 'authorization'. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamPolicyTemplatePolicyTemplatePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicy)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyOutput() GetIamPolicyTemplatePolicyTemplatePolicyOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyOutput) +} + +// GetIamPolicyTemplatePolicyTemplatePolicyArrayInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyArray and GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyArrayInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyArray{ GetIamPolicyTemplatePolicyTemplatePolicyArgs{...} } +type GetIamPolicyTemplatePolicyTemplatePolicyArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyArrayOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyArray []GetIamPolicyTemplatePolicyTemplatePolicyInput + +func (GetIamPolicyTemplatePolicyTemplatePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicy)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyArray) ToGetIamPolicyTemplatePolicyTemplatePolicyArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyArray) ToGetIamPolicyTemplatePolicyTemplatePolicyArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicy)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyOutput() GetIamPolicyTemplatePolicyTemplatePolicyOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyOutput { + return o +} + +// Allows the customer to use their own words to record the purpose/context related to a policy. +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicy) string { return v.Description }).(pulumi.StringOutput) +} + +// Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) Pattern() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicy) string { return v.Pattern }).(pulumi.StringOutput) +} + +// The resource attributes to which the policy grants access. +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) Resources() GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicy) []GetIamPolicyTemplatePolicyTemplatePolicyResource { + return v.Resources + }).(GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) RuleConditions() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicy) []GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition { + return v.RuleConditions + }).(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicy) *string { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +// The policy type; either 'access' or 'authorization'. +func (o GetIamPolicyTemplatePolicyTemplatePolicyOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicy) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicy)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplatePolicyTemplatePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplatePolicyTemplatePolicy { + return vs[0].([]GetIamPolicyTemplatePolicyTemplatePolicy)[vs[1].(int)] + }).(GetIamPolicyTemplatePolicyTemplatePolicyOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResource struct { + // List of resource attributes to which the policy grants access. + Attributes []GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute `pulumi:"attributes"` + // Optional list of resource tags to which the policy grants access. + Tags []GetIamPolicyTemplatePolicyTemplatePolicyResourceTag `pulumi:"tags"` +} + +// GetIamPolicyTemplatePolicyTemplatePolicyResourceInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyResourceArgs and GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyResourceInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyResourceArgs{...} +type GetIamPolicyTemplatePolicyTemplatePolicyResourceInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceArgs struct { + // List of resource attributes to which the policy grants access. + Attributes GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayInput `pulumi:"attributes"` + // Optional list of resource tags to which the policy grants access. + Tags GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayInput `pulumi:"tags"` +} + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResource)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyResourceOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput) +} + +// GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyResourceArray and GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyResourceArray{ GetIamPolicyTemplatePolicyTemplatePolicyResourceArgs{...} } +type GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceArray []GetIamPolicyTemplatePolicyTemplatePolicyResourceInput + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyResource)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceArray) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceArray) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResource)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput { + return o +} + +// List of resource attributes to which the policy grants access. +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput) Attributes() GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyResource) []GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute { + return v.Attributes + }).(GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput) +} + +// Optional list of resource tags to which the policy grants access. +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput) Tags() GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyResource) []GetIamPolicyTemplatePolicyTemplatePolicyResourceTag { + return v.Tags + }).(GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyResource)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplatePolicyTemplatePolicyResource { + return vs[0].([]GetIamPolicyTemplatePolicyTemplatePolicyResource)[vs[1].(int)] + }).(GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute struct { + // The name of a resource attribute. + Key string `pulumi:"key"` + // The operator of an attribute. + Operator string `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value string `pulumi:"value"` +} + +// GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArgs and GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArgs{...} +type GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArgs struct { + // The name of a resource attribute. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput) +} + +// GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArray and GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArray{ GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArgs{...} } +type GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArray []GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeInput + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArray) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArray) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput { + return o +} + +// The name of a resource attribute. +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an attribute. +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute { + return vs[0].([]GetIamPolicyTemplatePolicyTemplatePolicyResourceAttribute)[vs[1].(int)] + }).(GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceTag struct { + // The name of an access management tag. + Key string `pulumi:"key"` + // The operator of an access management tag. + Operator string `pulumi:"operator"` + // The value of an access management tag. + Value string `pulumi:"value"` +} + +// GetIamPolicyTemplatePolicyTemplatePolicyResourceTagInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArgs and GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyResourceTagInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArgs{...} +type GetIamPolicyTemplatePolicyTemplatePolicyResourceTagInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArgs struct { + // The name of an access management tag. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an access management tag. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of an access management tag. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceTag)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput) +} + +// GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArray and GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArray{ GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArgs{...} } +type GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArray []GetIamPolicyTemplatePolicyTemplatePolicyResourceTagInput + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyResourceTag)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArray) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArray) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceTag)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput { + return o +} + +// The name of an access management tag. +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyResourceTag) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an access management tag. +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyResourceTag) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of an access management tag. +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyResourceTag)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplatePolicyTemplatePolicyResourceTag { + return vs[0].([]GetIamPolicyTemplatePolicyTemplatePolicyResourceTag)[vs[1].(int)] + }).(GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArgs and GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArgs{...} +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) +} + +// GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArray and GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArray{ GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArgs{...} } +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArray []GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionInput + +func (GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArray) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArray) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) Conditions() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition) []GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition { + return v.Conditions + }).(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition { + return vs[0].([]GetIamPolicyTemplatePolicyTemplatePolicyRuleCondition)[vs[1].(int)] + }).(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArgs and GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArgs{...} +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArgs) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput) +} + +// GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayInput is an input type that accepts GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArray and GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayInput` via: +// +// GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArray{ GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArgs{...} } +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput + ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutputWithContext(context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArray []GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionInput + +func (GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArray) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput { + return i.ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArray) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput() GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput) ToGetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition { + return vs[0].([]GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionCondition)[vs[1].(int)] + }).(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput) +} + +type GetIamPolicyTemplateVersionPolicy struct { + // Allows the customer to use their own words to record the purpose/context related to a policy. + Description string `pulumi:"description"` + // Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. + Pattern string `pulumi:"pattern"` + // The resource attributes to which the policy grants access. + Resources []GetIamPolicyTemplateVersionPolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []GetIamPolicyTemplateVersionPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + // The policy type; either 'access' or 'authorization'. + Type string `pulumi:"type"` +} + +// GetIamPolicyTemplateVersionPolicyInput is an input type that accepts GetIamPolicyTemplateVersionPolicyArgs and GetIamPolicyTemplateVersionPolicyOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyInput` via: +// +// GetIamPolicyTemplateVersionPolicyArgs{...} +type GetIamPolicyTemplateVersionPolicyInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyOutput() GetIamPolicyTemplateVersionPolicyOutput + ToGetIamPolicyTemplateVersionPolicyOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyOutput +} + +type GetIamPolicyTemplateVersionPolicyArgs struct { + // Allows the customer to use their own words to record the purpose/context related to a policy. + Description pulumi.StringInput `pulumi:"description"` + // Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. + Pattern pulumi.StringInput `pulumi:"pattern"` + // The resource attributes to which the policy grants access. + Resources GetIamPolicyTemplateVersionPolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions GetIamPolicyTemplateVersionPolicyRuleConditionArrayInput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput `pulumi:"ruleOperator"` + // The policy type; either 'access' or 'authorization'. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamPolicyTemplateVersionPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicy)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyArgs) ToGetIamPolicyTemplateVersionPolicyOutput() GetIamPolicyTemplateVersionPolicyOutput { + return i.ToGetIamPolicyTemplateVersionPolicyOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyArgs) ToGetIamPolicyTemplateVersionPolicyOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyOutput) +} + +// GetIamPolicyTemplateVersionPolicyArrayInput is an input type that accepts GetIamPolicyTemplateVersionPolicyArray and GetIamPolicyTemplateVersionPolicyArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyArrayInput` via: +// +// GetIamPolicyTemplateVersionPolicyArray{ GetIamPolicyTemplateVersionPolicyArgs{...} } +type GetIamPolicyTemplateVersionPolicyArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyArrayOutput() GetIamPolicyTemplateVersionPolicyArrayOutput + ToGetIamPolicyTemplateVersionPolicyArrayOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyArrayOutput +} + +type GetIamPolicyTemplateVersionPolicyArray []GetIamPolicyTemplateVersionPolicyInput + +func (GetIamPolicyTemplateVersionPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicy)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyArray) ToGetIamPolicyTemplateVersionPolicyArrayOutput() GetIamPolicyTemplateVersionPolicyArrayOutput { + return i.ToGetIamPolicyTemplateVersionPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyArray) ToGetIamPolicyTemplateVersionPolicyArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicy)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyOutput) ToGetIamPolicyTemplateVersionPolicyOutput() GetIamPolicyTemplateVersionPolicyOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyOutput) ToGetIamPolicyTemplateVersionPolicyOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyOutput { + return o +} + +// Allows the customer to use their own words to record the purpose/context related to a policy. +func (o GetIamPolicyTemplateVersionPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +// Indicates pattern of rule, either 'time-based-conditions:once', 'time-based-conditions:weekly:all-day', or 'time-based-conditions:weekly:custom-hours'. +func (o GetIamPolicyTemplateVersionPolicyOutput) Pattern() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicy) string { return v.Pattern }).(pulumi.StringOutput) +} + +// The resource attributes to which the policy grants access. +func (o GetIamPolicyTemplateVersionPolicyOutput) Resources() GetIamPolicyTemplateVersionPolicyResourceArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicy) []GetIamPolicyTemplateVersionPolicyResource { + return v.Resources + }).(GetIamPolicyTemplateVersionPolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o GetIamPolicyTemplateVersionPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o GetIamPolicyTemplateVersionPolicyOutput) RuleConditions() GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicy) []GetIamPolicyTemplateVersionPolicyRuleCondition { + return v.RuleConditions + }).(GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o GetIamPolicyTemplateVersionPolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicy) *string { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +// The policy type; either 'access' or 'authorization'. +func (o GetIamPolicyTemplateVersionPolicyOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicy) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamPolicyTemplateVersionPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicy)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyArrayOutput) ToGetIamPolicyTemplateVersionPolicyArrayOutput() GetIamPolicyTemplateVersionPolicyArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyArrayOutput) ToGetIamPolicyTemplateVersionPolicyArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplateVersionPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplateVersionPolicy { + return vs[0].([]GetIamPolicyTemplateVersionPolicy)[vs[1].(int)] + }).(GetIamPolicyTemplateVersionPolicyOutput) +} + +type GetIamPolicyTemplateVersionPolicyResource struct { + // List of resource attributes to which the policy grants access. + Attributes []GetIamPolicyTemplateVersionPolicyResourceAttribute `pulumi:"attributes"` + // Optional list of resource tags to which the policy grants access. + Tags []GetIamPolicyTemplateVersionPolicyResourceTag `pulumi:"tags"` +} + +// GetIamPolicyTemplateVersionPolicyResourceInput is an input type that accepts GetIamPolicyTemplateVersionPolicyResourceArgs and GetIamPolicyTemplateVersionPolicyResourceOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyResourceInput` via: +// +// GetIamPolicyTemplateVersionPolicyResourceArgs{...} +type GetIamPolicyTemplateVersionPolicyResourceInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyResourceOutput() GetIamPolicyTemplateVersionPolicyResourceOutput + ToGetIamPolicyTemplateVersionPolicyResourceOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyResourceOutput +} + +type GetIamPolicyTemplateVersionPolicyResourceArgs struct { + // List of resource attributes to which the policy grants access. + Attributes GetIamPolicyTemplateVersionPolicyResourceAttributeArrayInput `pulumi:"attributes"` + // Optional list of resource tags to which the policy grants access. + Tags GetIamPolicyTemplateVersionPolicyResourceTagArrayInput `pulumi:"tags"` +} + +func (GetIamPolicyTemplateVersionPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResource)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyResourceArgs) ToGetIamPolicyTemplateVersionPolicyResourceOutput() GetIamPolicyTemplateVersionPolicyResourceOutput { + return i.ToGetIamPolicyTemplateVersionPolicyResourceOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyResourceArgs) ToGetIamPolicyTemplateVersionPolicyResourceOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyResourceOutput) +} + +// GetIamPolicyTemplateVersionPolicyResourceArrayInput is an input type that accepts GetIamPolicyTemplateVersionPolicyResourceArray and GetIamPolicyTemplateVersionPolicyResourceArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyResourceArrayInput` via: +// +// GetIamPolicyTemplateVersionPolicyResourceArray{ GetIamPolicyTemplateVersionPolicyResourceArgs{...} } +type GetIamPolicyTemplateVersionPolicyResourceArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyResourceArrayOutput() GetIamPolicyTemplateVersionPolicyResourceArrayOutput + ToGetIamPolicyTemplateVersionPolicyResourceArrayOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyResourceArrayOutput +} + +type GetIamPolicyTemplateVersionPolicyResourceArray []GetIamPolicyTemplateVersionPolicyResourceInput + +func (GetIamPolicyTemplateVersionPolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyResource)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyResourceArray) ToGetIamPolicyTemplateVersionPolicyResourceArrayOutput() GetIamPolicyTemplateVersionPolicyResourceArrayOutput { + return i.ToGetIamPolicyTemplateVersionPolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyResourceArray) ToGetIamPolicyTemplateVersionPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyResourceArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyResourceOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResource)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyResourceOutput) ToGetIamPolicyTemplateVersionPolicyResourceOutput() GetIamPolicyTemplateVersionPolicyResourceOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceOutput) ToGetIamPolicyTemplateVersionPolicyResourceOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceOutput { + return o +} + +// List of resource attributes to which the policy grants access. +func (o GetIamPolicyTemplateVersionPolicyResourceOutput) Attributes() GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyResource) []GetIamPolicyTemplateVersionPolicyResourceAttribute { + return v.Attributes + }).(GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) +} + +// Optional list of resource tags to which the policy grants access. +func (o GetIamPolicyTemplateVersionPolicyResourceOutput) Tags() GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyResource) []GetIamPolicyTemplateVersionPolicyResourceTag { + return v.Tags + }).(GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyResource)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyResourceArrayOutput) ToGetIamPolicyTemplateVersionPolicyResourceArrayOutput() GetIamPolicyTemplateVersionPolicyResourceArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceArrayOutput) ToGetIamPolicyTemplateVersionPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplateVersionPolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplateVersionPolicyResource { + return vs[0].([]GetIamPolicyTemplateVersionPolicyResource)[vs[1].(int)] + }).(GetIamPolicyTemplateVersionPolicyResourceOutput) +} + +type GetIamPolicyTemplateVersionPolicyResourceAttribute struct { + // The name of a resource attribute. + Key string `pulumi:"key"` + // The operator of an attribute. + Operator string `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value string `pulumi:"value"` +} + +// GetIamPolicyTemplateVersionPolicyResourceAttributeInput is an input type that accepts GetIamPolicyTemplateVersionPolicyResourceAttributeArgs and GetIamPolicyTemplateVersionPolicyResourceAttributeOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyResourceAttributeInput` via: +// +// GetIamPolicyTemplateVersionPolicyResourceAttributeArgs{...} +type GetIamPolicyTemplateVersionPolicyResourceAttributeInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyResourceAttributeOutput() GetIamPolicyTemplateVersionPolicyResourceAttributeOutput + ToGetIamPolicyTemplateVersionPolicyResourceAttributeOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyResourceAttributeOutput +} + +type GetIamPolicyTemplateVersionPolicyResourceAttributeArgs struct { + // The name of a resource attribute. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamPolicyTemplateVersionPolicyResourceAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceAttribute)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyResourceAttributeArgs) ToGetIamPolicyTemplateVersionPolicyResourceAttributeOutput() GetIamPolicyTemplateVersionPolicyResourceAttributeOutput { + return i.ToGetIamPolicyTemplateVersionPolicyResourceAttributeOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyResourceAttributeArgs) ToGetIamPolicyTemplateVersionPolicyResourceAttributeOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyResourceAttributeOutput) +} + +// GetIamPolicyTemplateVersionPolicyResourceAttributeArrayInput is an input type that accepts GetIamPolicyTemplateVersionPolicyResourceAttributeArray and GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyResourceAttributeArrayInput` via: +// +// GetIamPolicyTemplateVersionPolicyResourceAttributeArray{ GetIamPolicyTemplateVersionPolicyResourceAttributeArgs{...} } +type GetIamPolicyTemplateVersionPolicyResourceAttributeArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput() GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput + ToGetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput +} + +type GetIamPolicyTemplateVersionPolicyResourceAttributeArray []GetIamPolicyTemplateVersionPolicyResourceAttributeInput + +func (GetIamPolicyTemplateVersionPolicyResourceAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyResourceAttribute)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyResourceAttributeArray) ToGetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput() GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return i.ToGetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyResourceAttributeArray) ToGetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyResourceAttributeOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyResourceAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceAttribute)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyResourceAttributeOutput) ToGetIamPolicyTemplateVersionPolicyResourceAttributeOutput() GetIamPolicyTemplateVersionPolicyResourceAttributeOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceAttributeOutput) ToGetIamPolicyTemplateVersionPolicyResourceAttributeOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceAttributeOutput { + return o +} + +// The name of a resource attribute. +func (o GetIamPolicyTemplateVersionPolicyResourceAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyResourceAttribute) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an attribute. +func (o GetIamPolicyTemplateVersionPolicyResourceAttributeOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyResourceAttribute) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of a rule or resource attribute; can be boolean or string for resource attribute. Can be string or an array of strings (e.g., array of days to permit access) for rule attribute. +func (o GetIamPolicyTemplateVersionPolicyResourceAttributeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyResourceAttribute) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyResourceAttribute)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) ToGetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput() GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) ToGetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplateVersionPolicyResourceAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplateVersionPolicyResourceAttribute { + return vs[0].([]GetIamPolicyTemplateVersionPolicyResourceAttribute)[vs[1].(int)] + }).(GetIamPolicyTemplateVersionPolicyResourceAttributeOutput) +} + +type GetIamPolicyTemplateVersionPolicyResourceTag struct { + // The name of an access management tag. + Key string `pulumi:"key"` + // The operator of an access management tag. + Operator string `pulumi:"operator"` + // The value of an access management tag. + Value string `pulumi:"value"` +} + +// GetIamPolicyTemplateVersionPolicyResourceTagInput is an input type that accepts GetIamPolicyTemplateVersionPolicyResourceTagArgs and GetIamPolicyTemplateVersionPolicyResourceTagOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyResourceTagInput` via: +// +// GetIamPolicyTemplateVersionPolicyResourceTagArgs{...} +type GetIamPolicyTemplateVersionPolicyResourceTagInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyResourceTagOutput() GetIamPolicyTemplateVersionPolicyResourceTagOutput + ToGetIamPolicyTemplateVersionPolicyResourceTagOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyResourceTagOutput +} + +type GetIamPolicyTemplateVersionPolicyResourceTagArgs struct { + // The name of an access management tag. + Key pulumi.StringInput `pulumi:"key"` + // The operator of an access management tag. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of an access management tag. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamPolicyTemplateVersionPolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyResourceTagArgs) ToGetIamPolicyTemplateVersionPolicyResourceTagOutput() GetIamPolicyTemplateVersionPolicyResourceTagOutput { + return i.ToGetIamPolicyTemplateVersionPolicyResourceTagOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyResourceTagArgs) ToGetIamPolicyTemplateVersionPolicyResourceTagOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyResourceTagOutput) +} + +// GetIamPolicyTemplateVersionPolicyResourceTagArrayInput is an input type that accepts GetIamPolicyTemplateVersionPolicyResourceTagArray and GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyResourceTagArrayInput` via: +// +// GetIamPolicyTemplateVersionPolicyResourceTagArray{ GetIamPolicyTemplateVersionPolicyResourceTagArgs{...} } +type GetIamPolicyTemplateVersionPolicyResourceTagArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyResourceTagArrayOutput() GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput + ToGetIamPolicyTemplateVersionPolicyResourceTagArrayOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput +} + +type GetIamPolicyTemplateVersionPolicyResourceTagArray []GetIamPolicyTemplateVersionPolicyResourceTagInput + +func (GetIamPolicyTemplateVersionPolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyResourceTagArray) ToGetIamPolicyTemplateVersionPolicyResourceTagArrayOutput() GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return i.ToGetIamPolicyTemplateVersionPolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyResourceTagArray) ToGetIamPolicyTemplateVersionPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyResourceTagOutput) ToGetIamPolicyTemplateVersionPolicyResourceTagOutput() GetIamPolicyTemplateVersionPolicyResourceTagOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceTagOutput) ToGetIamPolicyTemplateVersionPolicyResourceTagOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceTagOutput { + return o +} + +// The name of an access management tag. +func (o GetIamPolicyTemplateVersionPolicyResourceTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyResourceTag) string { return v.Key }).(pulumi.StringOutput) +} + +// The operator of an access management tag. +func (o GetIamPolicyTemplateVersionPolicyResourceTagOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyResourceTag) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of an access management tag. +func (o GetIamPolicyTemplateVersionPolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput) ToGetIamPolicyTemplateVersionPolicyResourceTagArrayOutput() GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput) ToGetIamPolicyTemplateVersionPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplateVersionPolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplateVersionPolicyResourceTag { + return vs[0].([]GetIamPolicyTemplateVersionPolicyResourceTag)[vs[1].(int)] + }).(GetIamPolicyTemplateVersionPolicyResourceTagOutput) +} + +type GetIamPolicyTemplateVersionPolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []GetIamPolicyTemplateVersionPolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamPolicyTemplateVersionPolicyRuleConditionInput is an input type that accepts GetIamPolicyTemplateVersionPolicyRuleConditionArgs and GetIamPolicyTemplateVersionPolicyRuleConditionOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyRuleConditionInput` via: +// +// GetIamPolicyTemplateVersionPolicyRuleConditionArgs{...} +type GetIamPolicyTemplateVersionPolicyRuleConditionInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyRuleConditionOutput() GetIamPolicyTemplateVersionPolicyRuleConditionOutput + ToGetIamPolicyTemplateVersionPolicyRuleConditionOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionOutput +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamPolicyTemplateVersionPolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyRuleConditionArgs) ToGetIamPolicyTemplateVersionPolicyRuleConditionOutput() GetIamPolicyTemplateVersionPolicyRuleConditionOutput { + return i.ToGetIamPolicyTemplateVersionPolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyRuleConditionArgs) ToGetIamPolicyTemplateVersionPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyRuleConditionOutput) +} + +// GetIamPolicyTemplateVersionPolicyRuleConditionArrayInput is an input type that accepts GetIamPolicyTemplateVersionPolicyRuleConditionArray and GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyRuleConditionArrayInput` via: +// +// GetIamPolicyTemplateVersionPolicyRuleConditionArray{ GetIamPolicyTemplateVersionPolicyRuleConditionArgs{...} } +type GetIamPolicyTemplateVersionPolicyRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput() GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput + ToGetIamPolicyTemplateVersionPolicyRuleConditionArrayOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionArray []GetIamPolicyTemplateVersionPolicyRuleConditionInput + +func (GetIamPolicyTemplateVersionPolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyRuleConditionArray) ToGetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput() GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return i.ToGetIamPolicyTemplateVersionPolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyRuleConditionArray) ToGetIamPolicyTemplateVersionPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionOutput) ToGetIamPolicyTemplateVersionPolicyRuleConditionOutput() GetIamPolicyTemplateVersionPolicyRuleConditionOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionOutput) ToGetIamPolicyTemplateVersionPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o GetIamPolicyTemplateVersionPolicyRuleConditionOutput) Conditions() GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyRuleCondition) []GetIamPolicyTemplateVersionPolicyRuleConditionCondition { + return v.Conditions + }).(GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o GetIamPolicyTemplateVersionPolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o GetIamPolicyTemplateVersionPolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamPolicyTemplateVersionPolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput) ToGetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput() GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput) ToGetIamPolicyTemplateVersionPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplateVersionPolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplateVersionPolicyRuleCondition { + return vs[0].([]GetIamPolicyTemplateVersionPolicyRuleCondition)[vs[1].(int)] + }).(GetIamPolicyTemplateVersionPolicyRuleConditionOutput) +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamPolicyTemplateVersionPolicyRuleConditionConditionInput is an input type that accepts GetIamPolicyTemplateVersionPolicyRuleConditionConditionArgs and GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyRuleConditionConditionInput` via: +// +// GetIamPolicyTemplateVersionPolicyRuleConditionConditionArgs{...} +type GetIamPolicyTemplateVersionPolicyRuleConditionConditionInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput() GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput + ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamPolicyTemplateVersionPolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyRuleConditionConditionArgs) ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput() GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return i.ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyRuleConditionConditionArgs) ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput) +} + +// GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput is an input type that accepts GetIamPolicyTemplateVersionPolicyRuleConditionConditionArray and GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput` via: +// +// GetIamPolicyTemplateVersionPolicyRuleConditionConditionArray{ GetIamPolicyTemplateVersionPolicyRuleConditionConditionArgs{...} } +type GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput() GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput + ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutputWithContext(context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionConditionArray []GetIamPolicyTemplateVersionPolicyRuleConditionConditionInput + +func (GetIamPolicyTemplateVersionPolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamPolicyTemplateVersionPolicyRuleConditionConditionArray) ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput() GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return i.ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamPolicyTemplateVersionPolicyRuleConditionConditionArray) ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput) ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput() GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput) ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamPolicyTemplateVersionPolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamPolicyTemplateVersionPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput() GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) ToGetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamPolicyTemplateVersionPolicyRuleConditionCondition { + return vs[0].([]GetIamPolicyTemplateVersionPolicyRuleConditionCondition)[vs[1].(int)] + }).(GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput) +} + +type GetIamRolesRole struct { + Description string `pulumi:"description"` + Name string `pulumi:"name"` + Type string `pulumi:"type"` +} + +// GetIamRolesRoleInput is an input type that accepts GetIamRolesRoleArgs and GetIamRolesRoleOutput values. +// You can construct a concrete instance of `GetIamRolesRoleInput` via: +// +// GetIamRolesRoleArgs{...} +type GetIamRolesRoleInput interface { + pulumi.Input + + ToGetIamRolesRoleOutput() GetIamRolesRoleOutput + ToGetIamRolesRoleOutputWithContext(context.Context) GetIamRolesRoleOutput +} + +type GetIamRolesRoleArgs struct { + Description pulumi.StringInput `pulumi:"description"` + Name pulumi.StringInput `pulumi:"name"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamRolesRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamRolesRole)(nil)).Elem() +} + +func (i GetIamRolesRoleArgs) ToGetIamRolesRoleOutput() GetIamRolesRoleOutput { + return i.ToGetIamRolesRoleOutputWithContext(context.Background()) +} + +func (i GetIamRolesRoleArgs) ToGetIamRolesRoleOutputWithContext(ctx context.Context) GetIamRolesRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamRolesRoleOutput) +} + +// GetIamRolesRoleArrayInput is an input type that accepts GetIamRolesRoleArray and GetIamRolesRoleArrayOutput values. +// You can construct a concrete instance of `GetIamRolesRoleArrayInput` via: +// +// GetIamRolesRoleArray{ GetIamRolesRoleArgs{...} } +type GetIamRolesRoleArrayInput interface { + pulumi.Input + + ToGetIamRolesRoleArrayOutput() GetIamRolesRoleArrayOutput + ToGetIamRolesRoleArrayOutputWithContext(context.Context) GetIamRolesRoleArrayOutput +} + +type GetIamRolesRoleArray []GetIamRolesRoleInput + +func (GetIamRolesRoleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamRolesRole)(nil)).Elem() +} + +func (i GetIamRolesRoleArray) ToGetIamRolesRoleArrayOutput() GetIamRolesRoleArrayOutput { + return i.ToGetIamRolesRoleArrayOutputWithContext(context.Background()) +} + +func (i GetIamRolesRoleArray) ToGetIamRolesRoleArrayOutputWithContext(ctx context.Context) GetIamRolesRoleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamRolesRoleArrayOutput) +} + +type GetIamRolesRoleOutput struct{ *pulumi.OutputState } + +func (GetIamRolesRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamRolesRole)(nil)).Elem() +} + +func (o GetIamRolesRoleOutput) ToGetIamRolesRoleOutput() GetIamRolesRoleOutput { + return o +} + +func (o GetIamRolesRoleOutput) ToGetIamRolesRoleOutputWithContext(ctx context.Context) GetIamRolesRoleOutput { + return o +} + +func (o GetIamRolesRoleOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamRolesRole) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetIamRolesRoleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamRolesRole) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIamRolesRoleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamRolesRole) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamRolesRoleArrayOutput struct{ *pulumi.OutputState } + +func (GetIamRolesRoleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamRolesRole)(nil)).Elem() +} + +func (o GetIamRolesRoleArrayOutput) ToGetIamRolesRoleArrayOutput() GetIamRolesRoleArrayOutput { + return o +} + +func (o GetIamRolesRoleArrayOutput) ToGetIamRolesRoleArrayOutputWithContext(ctx context.Context) GetIamRolesRoleArrayOutput { + return o +} + +func (o GetIamRolesRoleArrayOutput) Index(i pulumi.IntInput) GetIamRolesRoleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamRolesRole { + return vs[0].([]GetIamRolesRole)[vs[1].(int)] + }).(GetIamRolesRoleOutput) +} + +type GetIamServiceIdServiceId struct { + // bound to of the serviceID + // + // Deprecated: bound_to attribute in serviceIds list has been deprecated + BoundTo string `pulumi:"boundTo"` + // CRN of the serviceID + Crn string `pulumi:"crn"` + // description of the serviceID + Description string `pulumi:"description"` + // The IAM ID of the serviceID + IamId string `pulumi:"iamId"` + Id string `pulumi:"id"` + // lock state of the serviceID + Locked bool `pulumi:"locked"` + // Version of the serviceID + Version string `pulumi:"version"` +} + +// GetIamServiceIdServiceIdInput is an input type that accepts GetIamServiceIdServiceIdArgs and GetIamServiceIdServiceIdOutput values. +// You can construct a concrete instance of `GetIamServiceIdServiceIdInput` via: +// +// GetIamServiceIdServiceIdArgs{...} +type GetIamServiceIdServiceIdInput interface { + pulumi.Input + + ToGetIamServiceIdServiceIdOutput() GetIamServiceIdServiceIdOutput + ToGetIamServiceIdServiceIdOutputWithContext(context.Context) GetIamServiceIdServiceIdOutput +} + +type GetIamServiceIdServiceIdArgs struct { + // bound to of the serviceID + // + // Deprecated: bound_to attribute in serviceIds list has been deprecated + BoundTo pulumi.StringInput `pulumi:"boundTo"` + // CRN of the serviceID + Crn pulumi.StringInput `pulumi:"crn"` + // description of the serviceID + Description pulumi.StringInput `pulumi:"description"` + // The IAM ID of the serviceID + IamId pulumi.StringInput `pulumi:"iamId"` + Id pulumi.StringInput `pulumi:"id"` + // lock state of the serviceID + Locked pulumi.BoolInput `pulumi:"locked"` + // Version of the serviceID + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamServiceIdServiceIdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServiceIdServiceId)(nil)).Elem() +} + +func (i GetIamServiceIdServiceIdArgs) ToGetIamServiceIdServiceIdOutput() GetIamServiceIdServiceIdOutput { + return i.ToGetIamServiceIdServiceIdOutputWithContext(context.Background()) +} + +func (i GetIamServiceIdServiceIdArgs) ToGetIamServiceIdServiceIdOutputWithContext(ctx context.Context) GetIamServiceIdServiceIdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServiceIdServiceIdOutput) +} + +// GetIamServiceIdServiceIdArrayInput is an input type that accepts GetIamServiceIdServiceIdArray and GetIamServiceIdServiceIdArrayOutput values. +// You can construct a concrete instance of `GetIamServiceIdServiceIdArrayInput` via: +// +// GetIamServiceIdServiceIdArray{ GetIamServiceIdServiceIdArgs{...} } +type GetIamServiceIdServiceIdArrayInput interface { + pulumi.Input + + ToGetIamServiceIdServiceIdArrayOutput() GetIamServiceIdServiceIdArrayOutput + ToGetIamServiceIdServiceIdArrayOutputWithContext(context.Context) GetIamServiceIdServiceIdArrayOutput +} + +type GetIamServiceIdServiceIdArray []GetIamServiceIdServiceIdInput + +func (GetIamServiceIdServiceIdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServiceIdServiceId)(nil)).Elem() +} + +func (i GetIamServiceIdServiceIdArray) ToGetIamServiceIdServiceIdArrayOutput() GetIamServiceIdServiceIdArrayOutput { + return i.ToGetIamServiceIdServiceIdArrayOutputWithContext(context.Background()) +} + +func (i GetIamServiceIdServiceIdArray) ToGetIamServiceIdServiceIdArrayOutputWithContext(ctx context.Context) GetIamServiceIdServiceIdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServiceIdServiceIdArrayOutput) +} + +type GetIamServiceIdServiceIdOutput struct{ *pulumi.OutputState } + +func (GetIamServiceIdServiceIdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServiceIdServiceId)(nil)).Elem() +} + +func (o GetIamServiceIdServiceIdOutput) ToGetIamServiceIdServiceIdOutput() GetIamServiceIdServiceIdOutput { + return o +} + +func (o GetIamServiceIdServiceIdOutput) ToGetIamServiceIdServiceIdOutputWithContext(ctx context.Context) GetIamServiceIdServiceIdOutput { + return o +} + +// bound to of the serviceID +// +// Deprecated: bound_to attribute in serviceIds list has been deprecated +func (o GetIamServiceIdServiceIdOutput) BoundTo() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServiceIdServiceId) string { return v.BoundTo }).(pulumi.StringOutput) +} + +// CRN of the serviceID +func (o GetIamServiceIdServiceIdOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServiceIdServiceId) string { return v.Crn }).(pulumi.StringOutput) +} + +// description of the serviceID +func (o GetIamServiceIdServiceIdOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServiceIdServiceId) string { return v.Description }).(pulumi.StringOutput) +} + +// The IAM ID of the serviceID +func (o GetIamServiceIdServiceIdOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServiceIdServiceId) string { return v.IamId }).(pulumi.StringOutput) +} + +func (o GetIamServiceIdServiceIdOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServiceIdServiceId) string { return v.Id }).(pulumi.StringOutput) +} + +// lock state of the serviceID +func (o GetIamServiceIdServiceIdOutput) Locked() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamServiceIdServiceId) bool { return v.Locked }).(pulumi.BoolOutput) +} + +// Version of the serviceID +func (o GetIamServiceIdServiceIdOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServiceIdServiceId) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamServiceIdServiceIdArrayOutput struct{ *pulumi.OutputState } + +func (GetIamServiceIdServiceIdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServiceIdServiceId)(nil)).Elem() +} + +func (o GetIamServiceIdServiceIdArrayOutput) ToGetIamServiceIdServiceIdArrayOutput() GetIamServiceIdServiceIdArrayOutput { + return o +} + +func (o GetIamServiceIdServiceIdArrayOutput) ToGetIamServiceIdServiceIdArrayOutputWithContext(ctx context.Context) GetIamServiceIdServiceIdArrayOutput { + return o +} + +func (o GetIamServiceIdServiceIdArrayOutput) Index(i pulumi.IntInput) GetIamServiceIdServiceIdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamServiceIdServiceId { + return vs[0].([]GetIamServiceIdServiceId)[vs[1].(int)] + }).(GetIamServiceIdServiceIdOutput) +} + +type GetIamServicePolicyPolicy struct { + // Description of the Policy + Description string `pulumi:"description"` + Id string `pulumi:"id"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set access management tags. + ResourceTags []GetIamServicePolicyPolicyResourceTag `pulumi:"resourceTags"` + Resources []GetIamServicePolicyPolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []GetIamServicePolicyPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` +} + +// GetIamServicePolicyPolicyInput is an input type that accepts GetIamServicePolicyPolicyArgs and GetIamServicePolicyPolicyOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyInput` via: +// +// GetIamServicePolicyPolicyArgs{...} +type GetIamServicePolicyPolicyInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyOutput() GetIamServicePolicyPolicyOutput + ToGetIamServicePolicyPolicyOutputWithContext(context.Context) GetIamServicePolicyPolicyOutput +} + +type GetIamServicePolicyPolicyArgs struct { + // Description of the Policy + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput `pulumi:"pattern"` + // Set access management tags. + ResourceTags GetIamServicePolicyPolicyResourceTagArrayInput `pulumi:"resourceTags"` + Resources GetIamServicePolicyPolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions GetIamServicePolicyPolicyRuleConditionArrayInput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput `pulumi:"ruleOperator"` +} + +func (GetIamServicePolicyPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicy)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyArgs) ToGetIamServicePolicyPolicyOutput() GetIamServicePolicyPolicyOutput { + return i.ToGetIamServicePolicyPolicyOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyArgs) ToGetIamServicePolicyPolicyOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyOutput) +} + +// GetIamServicePolicyPolicyArrayInput is an input type that accepts GetIamServicePolicyPolicyArray and GetIamServicePolicyPolicyArrayOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyArrayInput` via: +// +// GetIamServicePolicyPolicyArray{ GetIamServicePolicyPolicyArgs{...} } +type GetIamServicePolicyPolicyArrayInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyArrayOutput() GetIamServicePolicyPolicyArrayOutput + ToGetIamServicePolicyPolicyArrayOutputWithContext(context.Context) GetIamServicePolicyPolicyArrayOutput +} + +type GetIamServicePolicyPolicyArray []GetIamServicePolicyPolicyInput + +func (GetIamServicePolicyPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicy)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyArray) ToGetIamServicePolicyPolicyArrayOutput() GetIamServicePolicyPolicyArrayOutput { + return i.ToGetIamServicePolicyPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyArray) ToGetIamServicePolicyPolicyArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyArrayOutput) +} + +type GetIamServicePolicyPolicyOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicy)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyOutput) ToGetIamServicePolicyPolicyOutput() GetIamServicePolicyPolicyOutput { + return o +} + +func (o GetIamServicePolicyPolicyOutput) ToGetIamServicePolicyPolicyOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyOutput { + return o +} + +// Description of the Policy +func (o GetIamServicePolicyPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetIamServicePolicyPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// Pattern rule follows for time-based condition +func (o GetIamServicePolicyPolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicy) *string { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// Set access management tags. +func (o GetIamServicePolicyPolicyOutput) ResourceTags() GetIamServicePolicyPolicyResourceTagArrayOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicy) []GetIamServicePolicyPolicyResourceTag { return v.ResourceTags }).(GetIamServicePolicyPolicyResourceTagArrayOutput) +} + +func (o GetIamServicePolicyPolicyOutput) Resources() GetIamServicePolicyPolicyResourceArrayOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicy) []GetIamServicePolicyPolicyResource { return v.Resources }).(GetIamServicePolicyPolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o GetIamServicePolicyPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o GetIamServicePolicyPolicyOutput) RuleConditions() GetIamServicePolicyPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicy) []GetIamServicePolicyPolicyRuleCondition { return v.RuleConditions }).(GetIamServicePolicyPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o GetIamServicePolicyPolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicy) *string { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +type GetIamServicePolicyPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicy)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyArrayOutput) ToGetIamServicePolicyPolicyArrayOutput() GetIamServicePolicyPolicyArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyArrayOutput) ToGetIamServicePolicyPolicyArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyArrayOutput) Index(i pulumi.IntInput) GetIamServicePolicyPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamServicePolicyPolicy { + return vs[0].([]GetIamServicePolicyPolicy)[vs[1].(int)] + }).(GetIamServicePolicyPolicyOutput) +} + +type GetIamServicePolicyPolicyResource struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region string `pulumi:"region"` + // Resource of the policy definition + Resource string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType string `pulumi:"resourceType"` + // Service name of the policy definition + Service string `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId *string `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType string `pulumi:"serviceType"` +} + +// GetIamServicePolicyPolicyResourceInput is an input type that accepts GetIamServicePolicyPolicyResourceArgs and GetIamServicePolicyPolicyResourceOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyResourceInput` via: +// +// GetIamServicePolicyPolicyResourceArgs{...} +type GetIamServicePolicyPolicyResourceInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyResourceOutput() GetIamServicePolicyPolicyResourceOutput + ToGetIamServicePolicyPolicyResourceOutputWithContext(context.Context) GetIamServicePolicyPolicyResourceOutput +} + +type GetIamServicePolicyPolicyResourceArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringInput `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId pulumi.StringPtrInput `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType pulumi.StringInput `pulumi:"serviceType"` +} + +func (GetIamServicePolicyPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicyResource)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyResourceArgs) ToGetIamServicePolicyPolicyResourceOutput() GetIamServicePolicyPolicyResourceOutput { + return i.ToGetIamServicePolicyPolicyResourceOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyResourceArgs) ToGetIamServicePolicyPolicyResourceOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyResourceOutput) +} + +// GetIamServicePolicyPolicyResourceArrayInput is an input type that accepts GetIamServicePolicyPolicyResourceArray and GetIamServicePolicyPolicyResourceArrayOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyResourceArrayInput` via: +// +// GetIamServicePolicyPolicyResourceArray{ GetIamServicePolicyPolicyResourceArgs{...} } +type GetIamServicePolicyPolicyResourceArrayInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyResourceArrayOutput() GetIamServicePolicyPolicyResourceArrayOutput + ToGetIamServicePolicyPolicyResourceArrayOutputWithContext(context.Context) GetIamServicePolicyPolicyResourceArrayOutput +} + +type GetIamServicePolicyPolicyResourceArray []GetIamServicePolicyPolicyResourceInput + +func (GetIamServicePolicyPolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicyResource)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyResourceArray) ToGetIamServicePolicyPolicyResourceArrayOutput() GetIamServicePolicyPolicyResourceArrayOutput { + return i.ToGetIamServicePolicyPolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyResourceArray) ToGetIamServicePolicyPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyResourceArrayOutput) +} + +type GetIamServicePolicyPolicyResourceOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicyResource)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyResourceOutput) ToGetIamServicePolicyPolicyResourceOutput() GetIamServicePolicyPolicyResourceOutput { + return o +} + +func (o GetIamServicePolicyPolicyResourceOutput) ToGetIamServicePolicyPolicyResourceOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyResourceOutput { + return o +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o GetIamServicePolicyPolicyResourceOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o GetIamServicePolicyPolicyResourceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) string { return v.Region }).(pulumi.StringOutput) +} + +// Resource of the policy definition +func (o GetIamServicePolicyPolicyResourceOutput) Resource() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) string { return v.Resource }).(pulumi.StringOutput) +} + +// ID of the resource group. +func (o GetIamServicePolicyPolicyResourceOutput) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) string { return v.ResourceGroupId }).(pulumi.StringOutput) +} + +// ID of resource instance of the policy definition +func (o GetIamServicePolicyPolicyResourceOutput) ResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) string { return v.ResourceInstanceId }).(pulumi.StringOutput) +} + +// Resource type of the policy definition +func (o GetIamServicePolicyPolicyResourceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Service name of the policy definition +func (o GetIamServicePolicyPolicyResourceOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) string { return v.Service }).(pulumi.StringOutput) +} + +// Service group id of the policy definition +func (o GetIamServicePolicyPolicyResourceOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) *string { return v.ServiceGroupId }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o GetIamServicePolicyPolicyResourceOutput) ServiceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResource) string { return v.ServiceType }).(pulumi.StringOutput) +} + +type GetIamServicePolicyPolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicyResource)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyResourceArrayOutput) ToGetIamServicePolicyPolicyResourceArrayOutput() GetIamServicePolicyPolicyResourceArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyResourceArrayOutput) ToGetIamServicePolicyPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyResourceArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyResourceArrayOutput) Index(i pulumi.IntInput) GetIamServicePolicyPolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamServicePolicyPolicyResource { + return vs[0].([]GetIamServicePolicyPolicyResource)[vs[1].(int)] + }).(GetIamServicePolicyPolicyResourceOutput) +} + +type GetIamServicePolicyPolicyResourceTag struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// GetIamServicePolicyPolicyResourceTagInput is an input type that accepts GetIamServicePolicyPolicyResourceTagArgs and GetIamServicePolicyPolicyResourceTagOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyResourceTagInput` via: +// +// GetIamServicePolicyPolicyResourceTagArgs{...} +type GetIamServicePolicyPolicyResourceTagInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyResourceTagOutput() GetIamServicePolicyPolicyResourceTagOutput + ToGetIamServicePolicyPolicyResourceTagOutputWithContext(context.Context) GetIamServicePolicyPolicyResourceTagOutput +} + +type GetIamServicePolicyPolicyResourceTagArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamServicePolicyPolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyResourceTagArgs) ToGetIamServicePolicyPolicyResourceTagOutput() GetIamServicePolicyPolicyResourceTagOutput { + return i.ToGetIamServicePolicyPolicyResourceTagOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyResourceTagArgs) ToGetIamServicePolicyPolicyResourceTagOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyResourceTagOutput) +} + +// GetIamServicePolicyPolicyResourceTagArrayInput is an input type that accepts GetIamServicePolicyPolicyResourceTagArray and GetIamServicePolicyPolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyResourceTagArrayInput` via: +// +// GetIamServicePolicyPolicyResourceTagArray{ GetIamServicePolicyPolicyResourceTagArgs{...} } +type GetIamServicePolicyPolicyResourceTagArrayInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyResourceTagArrayOutput() GetIamServicePolicyPolicyResourceTagArrayOutput + ToGetIamServicePolicyPolicyResourceTagArrayOutputWithContext(context.Context) GetIamServicePolicyPolicyResourceTagArrayOutput +} + +type GetIamServicePolicyPolicyResourceTagArray []GetIamServicePolicyPolicyResourceTagInput + +func (GetIamServicePolicyPolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyResourceTagArray) ToGetIamServicePolicyPolicyResourceTagArrayOutput() GetIamServicePolicyPolicyResourceTagArrayOutput { + return i.ToGetIamServicePolicyPolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyResourceTagArray) ToGetIamServicePolicyPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyResourceTagArrayOutput) +} + +type GetIamServicePolicyPolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyResourceTagOutput) ToGetIamServicePolicyPolicyResourceTagOutput() GetIamServicePolicyPolicyResourceTagOutput { + return o +} + +func (o GetIamServicePolicyPolicyResourceTagOutput) ToGetIamServicePolicyPolicyResourceTagOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyResourceTagOutput { + return o +} + +// Name of attribute. +func (o GetIamServicePolicyPolicyResourceTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResourceTag) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o GetIamServicePolicyPolicyResourceTagOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResourceTag) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of attribute. +func (o GetIamServicePolicyPolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamServicePolicyPolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyResourceTagArrayOutput) ToGetIamServicePolicyPolicyResourceTagArrayOutput() GetIamServicePolicyPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyResourceTagArrayOutput) ToGetIamServicePolicyPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyResourceTagArrayOutput) Index(i pulumi.IntInput) GetIamServicePolicyPolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamServicePolicyPolicyResourceTag { + return vs[0].([]GetIamServicePolicyPolicyResourceTag)[vs[1].(int)] + }).(GetIamServicePolicyPolicyResourceTagOutput) +} + +type GetIamServicePolicyPolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []GetIamServicePolicyPolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamServicePolicyPolicyRuleConditionInput is an input type that accepts GetIamServicePolicyPolicyRuleConditionArgs and GetIamServicePolicyPolicyRuleConditionOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyRuleConditionInput` via: +// +// GetIamServicePolicyPolicyRuleConditionArgs{...} +type GetIamServicePolicyPolicyRuleConditionInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyRuleConditionOutput() GetIamServicePolicyPolicyRuleConditionOutput + ToGetIamServicePolicyPolicyRuleConditionOutputWithContext(context.Context) GetIamServicePolicyPolicyRuleConditionOutput +} + +type GetIamServicePolicyPolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions GetIamServicePolicyPolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamServicePolicyPolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyRuleConditionArgs) ToGetIamServicePolicyPolicyRuleConditionOutput() GetIamServicePolicyPolicyRuleConditionOutput { + return i.ToGetIamServicePolicyPolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyRuleConditionArgs) ToGetIamServicePolicyPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyRuleConditionOutput) +} + +// GetIamServicePolicyPolicyRuleConditionArrayInput is an input type that accepts GetIamServicePolicyPolicyRuleConditionArray and GetIamServicePolicyPolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyRuleConditionArrayInput` via: +// +// GetIamServicePolicyPolicyRuleConditionArray{ GetIamServicePolicyPolicyRuleConditionArgs{...} } +type GetIamServicePolicyPolicyRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyRuleConditionArrayOutput() GetIamServicePolicyPolicyRuleConditionArrayOutput + ToGetIamServicePolicyPolicyRuleConditionArrayOutputWithContext(context.Context) GetIamServicePolicyPolicyRuleConditionArrayOutput +} + +type GetIamServicePolicyPolicyRuleConditionArray []GetIamServicePolicyPolicyRuleConditionInput + +func (GetIamServicePolicyPolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyRuleConditionArray) ToGetIamServicePolicyPolicyRuleConditionArrayOutput() GetIamServicePolicyPolicyRuleConditionArrayOutput { + return i.ToGetIamServicePolicyPolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyRuleConditionArray) ToGetIamServicePolicyPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyRuleConditionArrayOutput) +} + +type GetIamServicePolicyPolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyRuleConditionOutput) ToGetIamServicePolicyPolicyRuleConditionOutput() GetIamServicePolicyPolicyRuleConditionOutput { + return o +} + +func (o GetIamServicePolicyPolicyRuleConditionOutput) ToGetIamServicePolicyPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o GetIamServicePolicyPolicyRuleConditionOutput) Conditions() GetIamServicePolicyPolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyRuleCondition) []GetIamServicePolicyPolicyRuleConditionCondition { + return v.Conditions + }).(GetIamServicePolicyPolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o GetIamServicePolicyPolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o GetIamServicePolicyPolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamServicePolicyPolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamServicePolicyPolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyRuleConditionArrayOutput) ToGetIamServicePolicyPolicyRuleConditionArrayOutput() GetIamServicePolicyPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyRuleConditionArrayOutput) ToGetIamServicePolicyPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamServicePolicyPolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamServicePolicyPolicyRuleCondition { + return vs[0].([]GetIamServicePolicyPolicyRuleCondition)[vs[1].(int)] + }).(GetIamServicePolicyPolicyRuleConditionOutput) +} + +type GetIamServicePolicyPolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamServicePolicyPolicyRuleConditionConditionInput is an input type that accepts GetIamServicePolicyPolicyRuleConditionConditionArgs and GetIamServicePolicyPolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyRuleConditionConditionInput` via: +// +// GetIamServicePolicyPolicyRuleConditionConditionArgs{...} +type GetIamServicePolicyPolicyRuleConditionConditionInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyRuleConditionConditionOutput() GetIamServicePolicyPolicyRuleConditionConditionOutput + ToGetIamServicePolicyPolicyRuleConditionConditionOutputWithContext(context.Context) GetIamServicePolicyPolicyRuleConditionConditionOutput +} + +type GetIamServicePolicyPolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamServicePolicyPolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyRuleConditionConditionArgs) ToGetIamServicePolicyPolicyRuleConditionConditionOutput() GetIamServicePolicyPolicyRuleConditionConditionOutput { + return i.ToGetIamServicePolicyPolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyRuleConditionConditionArgs) ToGetIamServicePolicyPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyRuleConditionConditionOutput) +} + +// GetIamServicePolicyPolicyRuleConditionConditionArrayInput is an input type that accepts GetIamServicePolicyPolicyRuleConditionConditionArray and GetIamServicePolicyPolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `GetIamServicePolicyPolicyRuleConditionConditionArrayInput` via: +// +// GetIamServicePolicyPolicyRuleConditionConditionArray{ GetIamServicePolicyPolicyRuleConditionConditionArgs{...} } +type GetIamServicePolicyPolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToGetIamServicePolicyPolicyRuleConditionConditionArrayOutput() GetIamServicePolicyPolicyRuleConditionConditionArrayOutput + ToGetIamServicePolicyPolicyRuleConditionConditionArrayOutputWithContext(context.Context) GetIamServicePolicyPolicyRuleConditionConditionArrayOutput +} + +type GetIamServicePolicyPolicyRuleConditionConditionArray []GetIamServicePolicyPolicyRuleConditionConditionInput + +func (GetIamServicePolicyPolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamServicePolicyPolicyRuleConditionConditionArray) ToGetIamServicePolicyPolicyRuleConditionConditionArrayOutput() GetIamServicePolicyPolicyRuleConditionConditionArrayOutput { + return i.ToGetIamServicePolicyPolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamServicePolicyPolicyRuleConditionConditionArray) ToGetIamServicePolicyPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamServicePolicyPolicyRuleConditionConditionArrayOutput) +} + +type GetIamServicePolicyPolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamServicePolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyRuleConditionConditionOutput) ToGetIamServicePolicyPolicyRuleConditionConditionOutput() GetIamServicePolicyPolicyRuleConditionConditionOutput { + return o +} + +func (o GetIamServicePolicyPolicyRuleConditionConditionOutput) ToGetIamServicePolicyPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o GetIamServicePolicyPolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o GetIamServicePolicyPolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamServicePolicyPolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamServicePolicyPolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamServicePolicyPolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamServicePolicyPolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamServicePolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamServicePolicyPolicyRuleConditionConditionArrayOutput) ToGetIamServicePolicyPolicyRuleConditionConditionArrayOutput() GetIamServicePolicyPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyRuleConditionConditionArrayOutput) ToGetIamServicePolicyPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamServicePolicyPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamServicePolicyPolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) GetIamServicePolicyPolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamServicePolicyPolicyRuleConditionCondition { + return vs[0].([]GetIamServicePolicyPolicyRuleConditionCondition)[vs[1].(int)] + }).(GetIamServicePolicyPolicyRuleConditionConditionOutput) +} + +type GetIamTrustedProfileClaimRuleCondition struct { + // The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). + Claim string `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator string `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value string `pulumi:"value"` +} + +// GetIamTrustedProfileClaimRuleConditionInput is an input type that accepts GetIamTrustedProfileClaimRuleConditionArgs and GetIamTrustedProfileClaimRuleConditionOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileClaimRuleConditionInput` via: +// +// GetIamTrustedProfileClaimRuleConditionArgs{...} +type GetIamTrustedProfileClaimRuleConditionInput interface { + pulumi.Input + + ToGetIamTrustedProfileClaimRuleConditionOutput() GetIamTrustedProfileClaimRuleConditionOutput + ToGetIamTrustedProfileClaimRuleConditionOutputWithContext(context.Context) GetIamTrustedProfileClaimRuleConditionOutput +} + +type GetIamTrustedProfileClaimRuleConditionArgs struct { + // The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). + Claim pulumi.StringInput `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator pulumi.StringInput `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamTrustedProfileClaimRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileClaimRuleCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfileClaimRuleConditionArgs) ToGetIamTrustedProfileClaimRuleConditionOutput() GetIamTrustedProfileClaimRuleConditionOutput { + return i.ToGetIamTrustedProfileClaimRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileClaimRuleConditionArgs) ToGetIamTrustedProfileClaimRuleConditionOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileClaimRuleConditionOutput) +} + +// GetIamTrustedProfileClaimRuleConditionArrayInput is an input type that accepts GetIamTrustedProfileClaimRuleConditionArray and GetIamTrustedProfileClaimRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileClaimRuleConditionArrayInput` via: +// +// GetIamTrustedProfileClaimRuleConditionArray{ GetIamTrustedProfileClaimRuleConditionArgs{...} } +type GetIamTrustedProfileClaimRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileClaimRuleConditionArrayOutput() GetIamTrustedProfileClaimRuleConditionArrayOutput + ToGetIamTrustedProfileClaimRuleConditionArrayOutputWithContext(context.Context) GetIamTrustedProfileClaimRuleConditionArrayOutput +} + +type GetIamTrustedProfileClaimRuleConditionArray []GetIamTrustedProfileClaimRuleConditionInput + +func (GetIamTrustedProfileClaimRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileClaimRuleCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfileClaimRuleConditionArray) ToGetIamTrustedProfileClaimRuleConditionArrayOutput() GetIamTrustedProfileClaimRuleConditionArrayOutput { + return i.ToGetIamTrustedProfileClaimRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileClaimRuleConditionArray) ToGetIamTrustedProfileClaimRuleConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileClaimRuleConditionArrayOutput) +} + +type GetIamTrustedProfileClaimRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileClaimRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileClaimRuleCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfileClaimRuleConditionOutput) ToGetIamTrustedProfileClaimRuleConditionOutput() GetIamTrustedProfileClaimRuleConditionOutput { + return o +} + +func (o GetIamTrustedProfileClaimRuleConditionOutput) ToGetIamTrustedProfileClaimRuleConditionOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRuleConditionOutput { + return o +} + +// The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). +func (o GetIamTrustedProfileClaimRuleConditionOutput) Claim() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRuleCondition) string { return v.Claim }).(pulumi.StringOutput) +} + +// The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. +func (o GetIamTrustedProfileClaimRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// The stringified JSON value that the claim is compared to using the operator. +func (o GetIamTrustedProfileClaimRuleConditionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRuleCondition) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileClaimRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileClaimRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileClaimRuleCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfileClaimRuleConditionArrayOutput) ToGetIamTrustedProfileClaimRuleConditionArrayOutput() GetIamTrustedProfileClaimRuleConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfileClaimRuleConditionArrayOutput) ToGetIamTrustedProfileClaimRuleConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRuleConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfileClaimRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileClaimRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileClaimRuleCondition { + return vs[0].([]GetIamTrustedProfileClaimRuleCondition)[vs[1].(int)] + }).(GetIamTrustedProfileClaimRuleConditionOutput) +} + +type GetIamTrustedProfileClaimRulesRule struct { + // Conditions of this claim rule. + Conditions []GetIamTrustedProfileClaimRulesRuleCondition `pulumi:"conditions"` + // The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. + CrType string `pulumi:"crType"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt string `pulumi:"createdAt"` + // version of the claim rule. + EntityTag string `pulumi:"entityTag"` + // Session expiration in seconds. + Expiration int `pulumi:"expiration"` + // the unique identifier of the claim rule. + Id string `pulumi:"id"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt string `pulumi:"modifiedAt"` + // The optional claim rule name. + Name string `pulumi:"name"` + // The realm name of the Idp this claim rule applies to. + RealmName string `pulumi:"realmName"` + // Type of the claim rule, either 'Profile-SAML' or 'Profile-CR'. + Type string `pulumi:"type"` +} + +// GetIamTrustedProfileClaimRulesRuleInput is an input type that accepts GetIamTrustedProfileClaimRulesRuleArgs and GetIamTrustedProfileClaimRulesRuleOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileClaimRulesRuleInput` via: +// +// GetIamTrustedProfileClaimRulesRuleArgs{...} +type GetIamTrustedProfileClaimRulesRuleInput interface { + pulumi.Input + + ToGetIamTrustedProfileClaimRulesRuleOutput() GetIamTrustedProfileClaimRulesRuleOutput + ToGetIamTrustedProfileClaimRulesRuleOutputWithContext(context.Context) GetIamTrustedProfileClaimRulesRuleOutput +} + +type GetIamTrustedProfileClaimRulesRuleArgs struct { + // Conditions of this claim rule. + Conditions GetIamTrustedProfileClaimRulesRuleConditionArrayInput `pulumi:"conditions"` + // The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. + CrType pulumi.StringInput `pulumi:"crType"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // version of the claim rule. + EntityTag pulumi.StringInput `pulumi:"entityTag"` + // Session expiration in seconds. + Expiration pulumi.IntInput `pulumi:"expiration"` + // the unique identifier of the claim rule. + Id pulumi.StringInput `pulumi:"id"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringInput `pulumi:"modifiedAt"` + // The optional claim rule name. + Name pulumi.StringInput `pulumi:"name"` + // The realm name of the Idp this claim rule applies to. + RealmName pulumi.StringInput `pulumi:"realmName"` + // Type of the claim rule, either 'Profile-SAML' or 'Profile-CR'. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamTrustedProfileClaimRulesRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileClaimRulesRule)(nil)).Elem() +} + +func (i GetIamTrustedProfileClaimRulesRuleArgs) ToGetIamTrustedProfileClaimRulesRuleOutput() GetIamTrustedProfileClaimRulesRuleOutput { + return i.ToGetIamTrustedProfileClaimRulesRuleOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileClaimRulesRuleArgs) ToGetIamTrustedProfileClaimRulesRuleOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileClaimRulesRuleOutput) +} + +// GetIamTrustedProfileClaimRulesRuleArrayInput is an input type that accepts GetIamTrustedProfileClaimRulesRuleArray and GetIamTrustedProfileClaimRulesRuleArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileClaimRulesRuleArrayInput` via: +// +// GetIamTrustedProfileClaimRulesRuleArray{ GetIamTrustedProfileClaimRulesRuleArgs{...} } +type GetIamTrustedProfileClaimRulesRuleArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileClaimRulesRuleArrayOutput() GetIamTrustedProfileClaimRulesRuleArrayOutput + ToGetIamTrustedProfileClaimRulesRuleArrayOutputWithContext(context.Context) GetIamTrustedProfileClaimRulesRuleArrayOutput +} + +type GetIamTrustedProfileClaimRulesRuleArray []GetIamTrustedProfileClaimRulesRuleInput + +func (GetIamTrustedProfileClaimRulesRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileClaimRulesRule)(nil)).Elem() +} + +func (i GetIamTrustedProfileClaimRulesRuleArray) ToGetIamTrustedProfileClaimRulesRuleArrayOutput() GetIamTrustedProfileClaimRulesRuleArrayOutput { + return i.ToGetIamTrustedProfileClaimRulesRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileClaimRulesRuleArray) ToGetIamTrustedProfileClaimRulesRuleArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileClaimRulesRuleArrayOutput) +} + +type GetIamTrustedProfileClaimRulesRuleOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileClaimRulesRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileClaimRulesRule)(nil)).Elem() +} + +func (o GetIamTrustedProfileClaimRulesRuleOutput) ToGetIamTrustedProfileClaimRulesRuleOutput() GetIamTrustedProfileClaimRulesRuleOutput { + return o +} + +func (o GetIamTrustedProfileClaimRulesRuleOutput) ToGetIamTrustedProfileClaimRulesRuleOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesRuleOutput { + return o +} + +// Conditions of this claim rule. +func (o GetIamTrustedProfileClaimRulesRuleOutput) Conditions() GetIamTrustedProfileClaimRulesRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) []GetIamTrustedProfileClaimRulesRuleCondition { + return v.Conditions + }).(GetIamTrustedProfileClaimRulesRuleConditionArrayOutput) +} + +// The compute resource type. Not required if type is Profile-SAML. Valid values are VSI, IKS_SA, ROKS_SA. +func (o GetIamTrustedProfileClaimRulesRuleOutput) CrType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) string { return v.CrType }).(pulumi.StringOutput) +} + +// If set contains a date time string of the creation date in ISO format. +func (o GetIamTrustedProfileClaimRulesRuleOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// version of the claim rule. +func (o GetIamTrustedProfileClaimRulesRuleOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) string { return v.EntityTag }).(pulumi.StringOutput) +} + +// Session expiration in seconds. +func (o GetIamTrustedProfileClaimRulesRuleOutput) Expiration() pulumi.IntOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) int { return v.Expiration }).(pulumi.IntOutput) +} + +// the unique identifier of the claim rule. +func (o GetIamTrustedProfileClaimRulesRuleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) string { return v.Id }).(pulumi.StringOutput) +} + +// If set contains a date time string of the last modification date in ISO format. +func (o GetIamTrustedProfileClaimRulesRuleOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) string { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// The optional claim rule name. +func (o GetIamTrustedProfileClaimRulesRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) string { return v.Name }).(pulumi.StringOutput) +} + +// The realm name of the Idp this claim rule applies to. +func (o GetIamTrustedProfileClaimRulesRuleOutput) RealmName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) string { return v.RealmName }).(pulumi.StringOutput) +} + +// Type of the claim rule, either 'Profile-SAML' or 'Profile-CR'. +func (o GetIamTrustedProfileClaimRulesRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRule) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileClaimRulesRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileClaimRulesRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileClaimRulesRule)(nil)).Elem() +} + +func (o GetIamTrustedProfileClaimRulesRuleArrayOutput) ToGetIamTrustedProfileClaimRulesRuleArrayOutput() GetIamTrustedProfileClaimRulesRuleArrayOutput { + return o +} + +func (o GetIamTrustedProfileClaimRulesRuleArrayOutput) ToGetIamTrustedProfileClaimRulesRuleArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesRuleArrayOutput { + return o +} + +func (o GetIamTrustedProfileClaimRulesRuleArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileClaimRulesRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileClaimRulesRule { + return vs[0].([]GetIamTrustedProfileClaimRulesRule)[vs[1].(int)] + }).(GetIamTrustedProfileClaimRulesRuleOutput) +} + +type GetIamTrustedProfileClaimRulesRuleCondition struct { + // The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). + Claim string `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator string `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value string `pulumi:"value"` +} + +// GetIamTrustedProfileClaimRulesRuleConditionInput is an input type that accepts GetIamTrustedProfileClaimRulesRuleConditionArgs and GetIamTrustedProfileClaimRulesRuleConditionOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileClaimRulesRuleConditionInput` via: +// +// GetIamTrustedProfileClaimRulesRuleConditionArgs{...} +type GetIamTrustedProfileClaimRulesRuleConditionInput interface { + pulumi.Input + + ToGetIamTrustedProfileClaimRulesRuleConditionOutput() GetIamTrustedProfileClaimRulesRuleConditionOutput + ToGetIamTrustedProfileClaimRulesRuleConditionOutputWithContext(context.Context) GetIamTrustedProfileClaimRulesRuleConditionOutput +} + +type GetIamTrustedProfileClaimRulesRuleConditionArgs struct { + // The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). + Claim pulumi.StringInput `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator pulumi.StringInput `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamTrustedProfileClaimRulesRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileClaimRulesRuleCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfileClaimRulesRuleConditionArgs) ToGetIamTrustedProfileClaimRulesRuleConditionOutput() GetIamTrustedProfileClaimRulesRuleConditionOutput { + return i.ToGetIamTrustedProfileClaimRulesRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileClaimRulesRuleConditionArgs) ToGetIamTrustedProfileClaimRulesRuleConditionOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileClaimRulesRuleConditionOutput) +} + +// GetIamTrustedProfileClaimRulesRuleConditionArrayInput is an input type that accepts GetIamTrustedProfileClaimRulesRuleConditionArray and GetIamTrustedProfileClaimRulesRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileClaimRulesRuleConditionArrayInput` via: +// +// GetIamTrustedProfileClaimRulesRuleConditionArray{ GetIamTrustedProfileClaimRulesRuleConditionArgs{...} } +type GetIamTrustedProfileClaimRulesRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileClaimRulesRuleConditionArrayOutput() GetIamTrustedProfileClaimRulesRuleConditionArrayOutput + ToGetIamTrustedProfileClaimRulesRuleConditionArrayOutputWithContext(context.Context) GetIamTrustedProfileClaimRulesRuleConditionArrayOutput +} + +type GetIamTrustedProfileClaimRulesRuleConditionArray []GetIamTrustedProfileClaimRulesRuleConditionInput + +func (GetIamTrustedProfileClaimRulesRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileClaimRulesRuleCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfileClaimRulesRuleConditionArray) ToGetIamTrustedProfileClaimRulesRuleConditionArrayOutput() GetIamTrustedProfileClaimRulesRuleConditionArrayOutput { + return i.ToGetIamTrustedProfileClaimRulesRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileClaimRulesRuleConditionArray) ToGetIamTrustedProfileClaimRulesRuleConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileClaimRulesRuleConditionArrayOutput) +} + +type GetIamTrustedProfileClaimRulesRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileClaimRulesRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileClaimRulesRuleCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfileClaimRulesRuleConditionOutput) ToGetIamTrustedProfileClaimRulesRuleConditionOutput() GetIamTrustedProfileClaimRulesRuleConditionOutput { + return o +} + +func (o GetIamTrustedProfileClaimRulesRuleConditionOutput) ToGetIamTrustedProfileClaimRulesRuleConditionOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesRuleConditionOutput { + return o +} + +// The claim to evaluate against. [Learn more](https://www.terraform.io/docs/account?topic=account-iam-condition-properties&interface=ui#cr-attribute-names). +func (o GetIamTrustedProfileClaimRulesRuleConditionOutput) Claim() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRuleCondition) string { return v.Claim }).(pulumi.StringOutput) +} + +// The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. +func (o GetIamTrustedProfileClaimRulesRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// The stringified JSON value that the claim is compared to using the operator. +func (o GetIamTrustedProfileClaimRulesRuleConditionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileClaimRulesRuleCondition) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileClaimRulesRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileClaimRulesRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileClaimRulesRuleCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfileClaimRulesRuleConditionArrayOutput) ToGetIamTrustedProfileClaimRulesRuleConditionArrayOutput() GetIamTrustedProfileClaimRulesRuleConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfileClaimRulesRuleConditionArrayOutput) ToGetIamTrustedProfileClaimRulesRuleConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileClaimRulesRuleConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfileClaimRulesRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileClaimRulesRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileClaimRulesRuleCondition { + return vs[0].([]GetIamTrustedProfileClaimRulesRuleCondition)[vs[1].(int)] + }).(GetIamTrustedProfileClaimRulesRuleConditionOutput) +} + +type GetIamTrustedProfileHistory struct { + // Action of the history entry. + Action string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp string `pulumi:"timestamp"` +} + +// GetIamTrustedProfileHistoryInput is an input type that accepts GetIamTrustedProfileHistoryArgs and GetIamTrustedProfileHistoryOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileHistoryInput` via: +// +// GetIamTrustedProfileHistoryArgs{...} +type GetIamTrustedProfileHistoryInput interface { + pulumi.Input + + ToGetIamTrustedProfileHistoryOutput() GetIamTrustedProfileHistoryOutput + ToGetIamTrustedProfileHistoryOutputWithContext(context.Context) GetIamTrustedProfileHistoryOutput +} + +type GetIamTrustedProfileHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringInput `pulumi:"timestamp"` +} + +func (GetIamTrustedProfileHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileHistory)(nil)).Elem() +} + +func (i GetIamTrustedProfileHistoryArgs) ToGetIamTrustedProfileHistoryOutput() GetIamTrustedProfileHistoryOutput { + return i.ToGetIamTrustedProfileHistoryOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileHistoryArgs) ToGetIamTrustedProfileHistoryOutputWithContext(ctx context.Context) GetIamTrustedProfileHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileHistoryOutput) +} + +// GetIamTrustedProfileHistoryArrayInput is an input type that accepts GetIamTrustedProfileHistoryArray and GetIamTrustedProfileHistoryArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileHistoryArrayInput` via: +// +// GetIamTrustedProfileHistoryArray{ GetIamTrustedProfileHistoryArgs{...} } +type GetIamTrustedProfileHistoryArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileHistoryArrayOutput() GetIamTrustedProfileHistoryArrayOutput + ToGetIamTrustedProfileHistoryArrayOutputWithContext(context.Context) GetIamTrustedProfileHistoryArrayOutput +} + +type GetIamTrustedProfileHistoryArray []GetIamTrustedProfileHistoryInput + +func (GetIamTrustedProfileHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileHistory)(nil)).Elem() +} + +func (i GetIamTrustedProfileHistoryArray) ToGetIamTrustedProfileHistoryArrayOutput() GetIamTrustedProfileHistoryArrayOutput { + return i.ToGetIamTrustedProfileHistoryArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileHistoryArray) ToGetIamTrustedProfileHistoryArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileHistoryArrayOutput) +} + +type GetIamTrustedProfileHistoryOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileHistory)(nil)).Elem() +} + +func (o GetIamTrustedProfileHistoryOutput) ToGetIamTrustedProfileHistoryOutput() GetIamTrustedProfileHistoryOutput { + return o +} + +func (o GetIamTrustedProfileHistoryOutput) ToGetIamTrustedProfileHistoryOutputWithContext(ctx context.Context) GetIamTrustedProfileHistoryOutput { + return o +} + +// Action of the history entry. +func (o GetIamTrustedProfileHistoryOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileHistory) string { return v.Action }).(pulumi.StringOutput) +} + +// IAM ID of the identity which triggered the action. +func (o GetIamTrustedProfileHistoryOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileHistory) string { return v.IamId }).(pulumi.StringOutput) +} + +// Account of the identity which triggered the action. +func (o GetIamTrustedProfileHistoryOutput) IamIdAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileHistory) string { return v.IamIdAccount }).(pulumi.StringOutput) +} + +// Message which summarizes the executed action. +func (o GetIamTrustedProfileHistoryOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileHistory) string { return v.Message }).(pulumi.StringOutput) +} + +// Params of the history entry. +func (o GetIamTrustedProfileHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o GetIamTrustedProfileHistoryOutput) Timestamp() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileHistory) string { return v.Timestamp }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileHistoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileHistory)(nil)).Elem() +} + +func (o GetIamTrustedProfileHistoryArrayOutput) ToGetIamTrustedProfileHistoryArrayOutput() GetIamTrustedProfileHistoryArrayOutput { + return o +} + +func (o GetIamTrustedProfileHistoryArrayOutput) ToGetIamTrustedProfileHistoryArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileHistoryArrayOutput { + return o +} + +func (o GetIamTrustedProfileHistoryArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileHistory { + return vs[0].([]GetIamTrustedProfileHistory)[vs[1].(int)] + }).(GetIamTrustedProfileHistoryOutput) +} + +type GetIamTrustedProfileIdentitiesIdentity struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts []string `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description string `pulumi:"description"` + // IAM ID of the identity. + IamId string `pulumi:"iamId"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier string `pulumi:"identifier"` + // Type of the identity. + Type string `pulumi:"type"` +} + +// GetIamTrustedProfileIdentitiesIdentityInput is an input type that accepts GetIamTrustedProfileIdentitiesIdentityArgs and GetIamTrustedProfileIdentitiesIdentityOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileIdentitiesIdentityInput` via: +// +// GetIamTrustedProfileIdentitiesIdentityArgs{...} +type GetIamTrustedProfileIdentitiesIdentityInput interface { + pulumi.Input + + ToGetIamTrustedProfileIdentitiesIdentityOutput() GetIamTrustedProfileIdentitiesIdentityOutput + ToGetIamTrustedProfileIdentitiesIdentityOutputWithContext(context.Context) GetIamTrustedProfileIdentitiesIdentityOutput +} + +type GetIamTrustedProfileIdentitiesIdentityArgs struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts pulumi.StringArrayInput `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description pulumi.StringInput `pulumi:"description"` + // IAM ID of the identity. + IamId pulumi.StringInput `pulumi:"iamId"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier pulumi.StringInput `pulumi:"identifier"` + // Type of the identity. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamTrustedProfileIdentitiesIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileIdentitiesIdentity)(nil)).Elem() +} + +func (i GetIamTrustedProfileIdentitiesIdentityArgs) ToGetIamTrustedProfileIdentitiesIdentityOutput() GetIamTrustedProfileIdentitiesIdentityOutput { + return i.ToGetIamTrustedProfileIdentitiesIdentityOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileIdentitiesIdentityArgs) ToGetIamTrustedProfileIdentitiesIdentityOutputWithContext(ctx context.Context) GetIamTrustedProfileIdentitiesIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileIdentitiesIdentityOutput) +} + +// GetIamTrustedProfileIdentitiesIdentityArrayInput is an input type that accepts GetIamTrustedProfileIdentitiesIdentityArray and GetIamTrustedProfileIdentitiesIdentityArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileIdentitiesIdentityArrayInput` via: +// +// GetIamTrustedProfileIdentitiesIdentityArray{ GetIamTrustedProfileIdentitiesIdentityArgs{...} } +type GetIamTrustedProfileIdentitiesIdentityArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileIdentitiesIdentityArrayOutput() GetIamTrustedProfileIdentitiesIdentityArrayOutput + ToGetIamTrustedProfileIdentitiesIdentityArrayOutputWithContext(context.Context) GetIamTrustedProfileIdentitiesIdentityArrayOutput +} + +type GetIamTrustedProfileIdentitiesIdentityArray []GetIamTrustedProfileIdentitiesIdentityInput + +func (GetIamTrustedProfileIdentitiesIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileIdentitiesIdentity)(nil)).Elem() +} + +func (i GetIamTrustedProfileIdentitiesIdentityArray) ToGetIamTrustedProfileIdentitiesIdentityArrayOutput() GetIamTrustedProfileIdentitiesIdentityArrayOutput { + return i.ToGetIamTrustedProfileIdentitiesIdentityArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileIdentitiesIdentityArray) ToGetIamTrustedProfileIdentitiesIdentityArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileIdentitiesIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileIdentitiesIdentityArrayOutput) +} + +type GetIamTrustedProfileIdentitiesIdentityOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileIdentitiesIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileIdentitiesIdentity)(nil)).Elem() +} + +func (o GetIamTrustedProfileIdentitiesIdentityOutput) ToGetIamTrustedProfileIdentitiesIdentityOutput() GetIamTrustedProfileIdentitiesIdentityOutput { + return o +} + +func (o GetIamTrustedProfileIdentitiesIdentityOutput) ToGetIamTrustedProfileIdentitiesIdentityOutputWithContext(ctx context.Context) GetIamTrustedProfileIdentitiesIdentityOutput { + return o +} + +// Only valid for the type user. Accounts from which a user can assume the trusted profile. +func (o GetIamTrustedProfileIdentitiesIdentityOutput) Accounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileIdentitiesIdentity) []string { return v.Accounts }).(pulumi.StringArrayOutput) +} + +// Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. +func (o GetIamTrustedProfileIdentitiesIdentityOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileIdentitiesIdentity) string { return v.Description }).(pulumi.StringOutput) +} + +// IAM ID of the identity. +func (o GetIamTrustedProfileIdentitiesIdentityOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileIdentitiesIdentity) string { return v.IamId }).(pulumi.StringOutput) +} + +// Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. +func (o GetIamTrustedProfileIdentitiesIdentityOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileIdentitiesIdentity) string { return v.Identifier }).(pulumi.StringOutput) +} + +// Type of the identity. +func (o GetIamTrustedProfileIdentitiesIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileIdentitiesIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileIdentitiesIdentityArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileIdentitiesIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileIdentitiesIdentity)(nil)).Elem() +} + +func (o GetIamTrustedProfileIdentitiesIdentityArrayOutput) ToGetIamTrustedProfileIdentitiesIdentityArrayOutput() GetIamTrustedProfileIdentitiesIdentityArrayOutput { + return o +} + +func (o GetIamTrustedProfileIdentitiesIdentityArrayOutput) ToGetIamTrustedProfileIdentitiesIdentityArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileIdentitiesIdentityArrayOutput { + return o +} + +func (o GetIamTrustedProfileIdentitiesIdentityArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileIdentitiesIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileIdentitiesIdentity { + return vs[0].([]GetIamTrustedProfileIdentitiesIdentity)[vs[1].(int)] + }).(GetIamTrustedProfileIdentitiesIdentityOutput) +} + +type GetIamTrustedProfileLinkLink struct { + // Component name of the compute resource, only required if crType is CE. + ComponentName string `pulumi:"componentName"` + // Component type of the compute resource, only required if crType is CE. + ComponentType string `pulumi:"componentType"` + // The CRN of the compute resource. + Crn string `pulumi:"crn"` + // Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. + Name string `pulumi:"name"` + // The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. + Namespace string `pulumi:"namespace"` +} + +// GetIamTrustedProfileLinkLinkInput is an input type that accepts GetIamTrustedProfileLinkLinkArgs and GetIamTrustedProfileLinkLinkOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileLinkLinkInput` via: +// +// GetIamTrustedProfileLinkLinkArgs{...} +type GetIamTrustedProfileLinkLinkInput interface { + pulumi.Input + + ToGetIamTrustedProfileLinkLinkOutput() GetIamTrustedProfileLinkLinkOutput + ToGetIamTrustedProfileLinkLinkOutputWithContext(context.Context) GetIamTrustedProfileLinkLinkOutput +} + +type GetIamTrustedProfileLinkLinkArgs struct { + // Component name of the compute resource, only required if crType is CE. + ComponentName pulumi.StringInput `pulumi:"componentName"` + // Component type of the compute resource, only required if crType is CE. + ComponentType pulumi.StringInput `pulumi:"componentType"` + // The CRN of the compute resource. + Crn pulumi.StringInput `pulumi:"crn"` + // Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. + Name pulumi.StringInput `pulumi:"name"` + // The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. + Namespace pulumi.StringInput `pulumi:"namespace"` +} + +func (GetIamTrustedProfileLinkLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileLinkLink)(nil)).Elem() +} + +func (i GetIamTrustedProfileLinkLinkArgs) ToGetIamTrustedProfileLinkLinkOutput() GetIamTrustedProfileLinkLinkOutput { + return i.ToGetIamTrustedProfileLinkLinkOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileLinkLinkArgs) ToGetIamTrustedProfileLinkLinkOutputWithContext(ctx context.Context) GetIamTrustedProfileLinkLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileLinkLinkOutput) +} + +// GetIamTrustedProfileLinkLinkArrayInput is an input type that accepts GetIamTrustedProfileLinkLinkArray and GetIamTrustedProfileLinkLinkArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileLinkLinkArrayInput` via: +// +// GetIamTrustedProfileLinkLinkArray{ GetIamTrustedProfileLinkLinkArgs{...} } +type GetIamTrustedProfileLinkLinkArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileLinkLinkArrayOutput() GetIamTrustedProfileLinkLinkArrayOutput + ToGetIamTrustedProfileLinkLinkArrayOutputWithContext(context.Context) GetIamTrustedProfileLinkLinkArrayOutput +} + +type GetIamTrustedProfileLinkLinkArray []GetIamTrustedProfileLinkLinkInput + +func (GetIamTrustedProfileLinkLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileLinkLink)(nil)).Elem() +} + +func (i GetIamTrustedProfileLinkLinkArray) ToGetIamTrustedProfileLinkLinkArrayOutput() GetIamTrustedProfileLinkLinkArrayOutput { + return i.ToGetIamTrustedProfileLinkLinkArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileLinkLinkArray) ToGetIamTrustedProfileLinkLinkArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileLinkLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileLinkLinkArrayOutput) +} + +type GetIamTrustedProfileLinkLinkOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileLinkLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileLinkLink)(nil)).Elem() +} + +func (o GetIamTrustedProfileLinkLinkOutput) ToGetIamTrustedProfileLinkLinkOutput() GetIamTrustedProfileLinkLinkOutput { + return o +} + +func (o GetIamTrustedProfileLinkLinkOutput) ToGetIamTrustedProfileLinkLinkOutputWithContext(ctx context.Context) GetIamTrustedProfileLinkLinkOutput { + return o +} + +// Component name of the compute resource, only required if crType is CE. +func (o GetIamTrustedProfileLinkLinkOutput) ComponentName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinkLink) string { return v.ComponentName }).(pulumi.StringOutput) +} + +// Component type of the compute resource, only required if crType is CE. +func (o GetIamTrustedProfileLinkLinkOutput) ComponentType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinkLink) string { return v.ComponentType }).(pulumi.StringOutput) +} + +// The CRN of the compute resource. +func (o GetIamTrustedProfileLinkLinkOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinkLink) string { return v.Crn }).(pulumi.StringOutput) +} + +// Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. +func (o GetIamTrustedProfileLinkLinkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinkLink) string { return v.Name }).(pulumi.StringOutput) +} + +// The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. +func (o GetIamTrustedProfileLinkLinkOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinkLink) string { return v.Namespace }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileLinkLinkArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileLinkLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileLinkLink)(nil)).Elem() +} + +func (o GetIamTrustedProfileLinkLinkArrayOutput) ToGetIamTrustedProfileLinkLinkArrayOutput() GetIamTrustedProfileLinkLinkArrayOutput { + return o +} + +func (o GetIamTrustedProfileLinkLinkArrayOutput) ToGetIamTrustedProfileLinkLinkArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileLinkLinkArrayOutput { + return o +} + +func (o GetIamTrustedProfileLinkLinkArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileLinkLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileLinkLink { + return vs[0].([]GetIamTrustedProfileLinkLink)[vs[1].(int)] + }).(GetIamTrustedProfileLinkLinkOutput) +} + +type GetIamTrustedProfileLinksLink struct { + // The compute resource type. Valid values are VSI, IKS_SA, ROKS_SA. + CrType string `pulumi:"crType"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt string `pulumi:"createdAt"` + // version of the link. + EntityTag string `pulumi:"entityTag"` + // the unique identifier of the link. + Id string `pulumi:"id"` + Links []GetIamTrustedProfileLinksLinkLink `pulumi:"links"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt string `pulumi:"modifiedAt"` + // Optional name of the Link. + Name string `pulumi:"name"` +} + +// GetIamTrustedProfileLinksLinkInput is an input type that accepts GetIamTrustedProfileLinksLinkArgs and GetIamTrustedProfileLinksLinkOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileLinksLinkInput` via: +// +// GetIamTrustedProfileLinksLinkArgs{...} +type GetIamTrustedProfileLinksLinkInput interface { + pulumi.Input + + ToGetIamTrustedProfileLinksLinkOutput() GetIamTrustedProfileLinksLinkOutput + ToGetIamTrustedProfileLinksLinkOutputWithContext(context.Context) GetIamTrustedProfileLinksLinkOutput +} + +type GetIamTrustedProfileLinksLinkArgs struct { + // The compute resource type. Valid values are VSI, IKS_SA, ROKS_SA. + CrType pulumi.StringInput `pulumi:"crType"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // version of the link. + EntityTag pulumi.StringInput `pulumi:"entityTag"` + // the unique identifier of the link. + Id pulumi.StringInput `pulumi:"id"` + Links GetIamTrustedProfileLinksLinkLinkArrayInput `pulumi:"links"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringInput `pulumi:"modifiedAt"` + // Optional name of the Link. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIamTrustedProfileLinksLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileLinksLink)(nil)).Elem() +} + +func (i GetIamTrustedProfileLinksLinkArgs) ToGetIamTrustedProfileLinksLinkOutput() GetIamTrustedProfileLinksLinkOutput { + return i.ToGetIamTrustedProfileLinksLinkOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileLinksLinkArgs) ToGetIamTrustedProfileLinksLinkOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileLinksLinkOutput) +} + +// GetIamTrustedProfileLinksLinkArrayInput is an input type that accepts GetIamTrustedProfileLinksLinkArray and GetIamTrustedProfileLinksLinkArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileLinksLinkArrayInput` via: +// +// GetIamTrustedProfileLinksLinkArray{ GetIamTrustedProfileLinksLinkArgs{...} } +type GetIamTrustedProfileLinksLinkArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileLinksLinkArrayOutput() GetIamTrustedProfileLinksLinkArrayOutput + ToGetIamTrustedProfileLinksLinkArrayOutputWithContext(context.Context) GetIamTrustedProfileLinksLinkArrayOutput +} + +type GetIamTrustedProfileLinksLinkArray []GetIamTrustedProfileLinksLinkInput + +func (GetIamTrustedProfileLinksLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileLinksLink)(nil)).Elem() +} + +func (i GetIamTrustedProfileLinksLinkArray) ToGetIamTrustedProfileLinksLinkArrayOutput() GetIamTrustedProfileLinksLinkArrayOutput { + return i.ToGetIamTrustedProfileLinksLinkArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileLinksLinkArray) ToGetIamTrustedProfileLinksLinkArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileLinksLinkArrayOutput) +} + +type GetIamTrustedProfileLinksLinkOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileLinksLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileLinksLink)(nil)).Elem() +} + +func (o GetIamTrustedProfileLinksLinkOutput) ToGetIamTrustedProfileLinksLinkOutput() GetIamTrustedProfileLinksLinkOutput { + return o +} + +func (o GetIamTrustedProfileLinksLinkOutput) ToGetIamTrustedProfileLinksLinkOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksLinkOutput { + return o +} + +// The compute resource type. Valid values are VSI, IKS_SA, ROKS_SA. +func (o GetIamTrustedProfileLinksLinkOutput) CrType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLink) string { return v.CrType }).(pulumi.StringOutput) +} + +// If set contains a date time string of the creation date in ISO format. +func (o GetIamTrustedProfileLinksLinkOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLink) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// version of the link. +func (o GetIamTrustedProfileLinksLinkOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLink) string { return v.EntityTag }).(pulumi.StringOutput) +} + +// the unique identifier of the link. +func (o GetIamTrustedProfileLinksLinkOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLink) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIamTrustedProfileLinksLinkOutput) Links() GetIamTrustedProfileLinksLinkLinkArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLink) []GetIamTrustedProfileLinksLinkLink { return v.Links }).(GetIamTrustedProfileLinksLinkLinkArrayOutput) +} + +// If set contains a date time string of the last modification date in ISO format. +func (o GetIamTrustedProfileLinksLinkOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLink) string { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// Optional name of the Link. +func (o GetIamTrustedProfileLinksLinkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLink) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileLinksLinkArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileLinksLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileLinksLink)(nil)).Elem() +} + +func (o GetIamTrustedProfileLinksLinkArrayOutput) ToGetIamTrustedProfileLinksLinkArrayOutput() GetIamTrustedProfileLinksLinkArrayOutput { + return o +} + +func (o GetIamTrustedProfileLinksLinkArrayOutput) ToGetIamTrustedProfileLinksLinkArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksLinkArrayOutput { + return o +} + +func (o GetIamTrustedProfileLinksLinkArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileLinksLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileLinksLink { + return vs[0].([]GetIamTrustedProfileLinksLink)[vs[1].(int)] + }).(GetIamTrustedProfileLinksLinkOutput) +} + +type GetIamTrustedProfileLinksLinkLink struct { + // The CRN of the compute resource. + Crn string `pulumi:"crn"` + // Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. + Name string `pulumi:"name"` + // The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. + Namespace string `pulumi:"namespace"` +} + +// GetIamTrustedProfileLinksLinkLinkInput is an input type that accepts GetIamTrustedProfileLinksLinkLinkArgs and GetIamTrustedProfileLinksLinkLinkOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileLinksLinkLinkInput` via: +// +// GetIamTrustedProfileLinksLinkLinkArgs{...} +type GetIamTrustedProfileLinksLinkLinkInput interface { + pulumi.Input + + ToGetIamTrustedProfileLinksLinkLinkOutput() GetIamTrustedProfileLinksLinkLinkOutput + ToGetIamTrustedProfileLinksLinkLinkOutputWithContext(context.Context) GetIamTrustedProfileLinksLinkLinkOutput +} + +type GetIamTrustedProfileLinksLinkLinkArgs struct { + // The CRN of the compute resource. + Crn pulumi.StringInput `pulumi:"crn"` + // Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. + Name pulumi.StringInput `pulumi:"name"` + // The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. + Namespace pulumi.StringInput `pulumi:"namespace"` +} + +func (GetIamTrustedProfileLinksLinkLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileLinksLinkLink)(nil)).Elem() +} + +func (i GetIamTrustedProfileLinksLinkLinkArgs) ToGetIamTrustedProfileLinksLinkLinkOutput() GetIamTrustedProfileLinksLinkLinkOutput { + return i.ToGetIamTrustedProfileLinksLinkLinkOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileLinksLinkLinkArgs) ToGetIamTrustedProfileLinksLinkLinkOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksLinkLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileLinksLinkLinkOutput) +} + +// GetIamTrustedProfileLinksLinkLinkArrayInput is an input type that accepts GetIamTrustedProfileLinksLinkLinkArray and GetIamTrustedProfileLinksLinkLinkArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileLinksLinkLinkArrayInput` via: +// +// GetIamTrustedProfileLinksLinkLinkArray{ GetIamTrustedProfileLinksLinkLinkArgs{...} } +type GetIamTrustedProfileLinksLinkLinkArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileLinksLinkLinkArrayOutput() GetIamTrustedProfileLinksLinkLinkArrayOutput + ToGetIamTrustedProfileLinksLinkLinkArrayOutputWithContext(context.Context) GetIamTrustedProfileLinksLinkLinkArrayOutput +} + +type GetIamTrustedProfileLinksLinkLinkArray []GetIamTrustedProfileLinksLinkLinkInput + +func (GetIamTrustedProfileLinksLinkLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileLinksLinkLink)(nil)).Elem() +} + +func (i GetIamTrustedProfileLinksLinkLinkArray) ToGetIamTrustedProfileLinksLinkLinkArrayOutput() GetIamTrustedProfileLinksLinkLinkArrayOutput { + return i.ToGetIamTrustedProfileLinksLinkLinkArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileLinksLinkLinkArray) ToGetIamTrustedProfileLinksLinkLinkArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksLinkLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileLinksLinkLinkArrayOutput) +} + +type GetIamTrustedProfileLinksLinkLinkOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileLinksLinkLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileLinksLinkLink)(nil)).Elem() +} + +func (o GetIamTrustedProfileLinksLinkLinkOutput) ToGetIamTrustedProfileLinksLinkLinkOutput() GetIamTrustedProfileLinksLinkLinkOutput { + return o +} + +func (o GetIamTrustedProfileLinksLinkLinkOutput) ToGetIamTrustedProfileLinksLinkLinkOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksLinkLinkOutput { + return o +} + +// The CRN of the compute resource. +func (o GetIamTrustedProfileLinksLinkLinkOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLinkLink) string { return v.Crn }).(pulumi.StringOutput) +} + +// Name of the compute resource, only required if crType is IKS_SA or ROKS_SA. +func (o GetIamTrustedProfileLinksLinkLinkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLinkLink) string { return v.Name }).(pulumi.StringOutput) +} + +// The compute resource namespace, only required if crType is IKS_SA or ROKS_SA. +func (o GetIamTrustedProfileLinksLinkLinkOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileLinksLinkLink) string { return v.Namespace }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileLinksLinkLinkArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileLinksLinkLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileLinksLinkLink)(nil)).Elem() +} + +func (o GetIamTrustedProfileLinksLinkLinkArrayOutput) ToGetIamTrustedProfileLinksLinkLinkArrayOutput() GetIamTrustedProfileLinksLinkLinkArrayOutput { + return o +} + +func (o GetIamTrustedProfileLinksLinkLinkArrayOutput) ToGetIamTrustedProfileLinksLinkLinkArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileLinksLinkLinkArrayOutput { + return o +} + +func (o GetIamTrustedProfileLinksLinkLinkArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileLinksLinkLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileLinksLinkLink { + return vs[0].([]GetIamTrustedProfileLinksLinkLink)[vs[1].(int)] + }).(GetIamTrustedProfileLinksLinkLinkOutput) +} + +type GetIamTrustedProfilePolicyPolicy struct { + // Description of the Policy + Description string `pulumi:"description"` + Id string `pulumi:"id"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set access management tags. + ResourceTags []GetIamTrustedProfilePolicyPolicyResourceTag `pulumi:"resourceTags"` + Resources []GetIamTrustedProfilePolicyPolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []GetIamTrustedProfilePolicyPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` + // Template meta data created from policy assignment + Templates []GetIamTrustedProfilePolicyPolicyTemplate `pulumi:"templates"` +} + +// GetIamTrustedProfilePolicyPolicyInput is an input type that accepts GetIamTrustedProfilePolicyPolicyArgs and GetIamTrustedProfilePolicyPolicyOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyInput` via: +// +// GetIamTrustedProfilePolicyPolicyArgs{...} +type GetIamTrustedProfilePolicyPolicyInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyOutput() GetIamTrustedProfilePolicyPolicyOutput + ToGetIamTrustedProfilePolicyPolicyOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyOutput +} + +type GetIamTrustedProfilePolicyPolicyArgs struct { + // Description of the Policy + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput `pulumi:"pattern"` + // Set access management tags. + ResourceTags GetIamTrustedProfilePolicyPolicyResourceTagArrayInput `pulumi:"resourceTags"` + Resources GetIamTrustedProfilePolicyPolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions GetIamTrustedProfilePolicyPolicyRuleConditionArrayInput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput `pulumi:"ruleOperator"` + // Template meta data created from policy assignment + Templates GetIamTrustedProfilePolicyPolicyTemplateArrayInput `pulumi:"templates"` +} + +func (GetIamTrustedProfilePolicyPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicy)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyArgs) ToGetIamTrustedProfilePolicyPolicyOutput() GetIamTrustedProfilePolicyPolicyOutput { + return i.ToGetIamTrustedProfilePolicyPolicyOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyArgs) ToGetIamTrustedProfilePolicyPolicyOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyOutput) +} + +// GetIamTrustedProfilePolicyPolicyArrayInput is an input type that accepts GetIamTrustedProfilePolicyPolicyArray and GetIamTrustedProfilePolicyPolicyArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyArrayInput` via: +// +// GetIamTrustedProfilePolicyPolicyArray{ GetIamTrustedProfilePolicyPolicyArgs{...} } +type GetIamTrustedProfilePolicyPolicyArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyArrayOutput() GetIamTrustedProfilePolicyPolicyArrayOutput + ToGetIamTrustedProfilePolicyPolicyArrayOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyArrayOutput +} + +type GetIamTrustedProfilePolicyPolicyArray []GetIamTrustedProfilePolicyPolicyInput + +func (GetIamTrustedProfilePolicyPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicy)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyArray) ToGetIamTrustedProfilePolicyPolicyArrayOutput() GetIamTrustedProfilePolicyPolicyArrayOutput { + return i.ToGetIamTrustedProfilePolicyPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyArray) ToGetIamTrustedProfilePolicyPolicyArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicy)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyOutput) ToGetIamTrustedProfilePolicyPolicyOutput() GetIamTrustedProfilePolicyPolicyOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyOutput) ToGetIamTrustedProfilePolicyPolicyOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyOutput { + return o +} + +// Description of the Policy +func (o GetIamTrustedProfilePolicyPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetIamTrustedProfilePolicyPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// Pattern rule follows for time-based condition +func (o GetIamTrustedProfilePolicyPolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) *string { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// Set access management tags. +func (o GetIamTrustedProfilePolicyPolicyOutput) ResourceTags() GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) []GetIamTrustedProfilePolicyPolicyResourceTag { + return v.ResourceTags + }).(GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput) +} + +func (o GetIamTrustedProfilePolicyPolicyOutput) Resources() GetIamTrustedProfilePolicyPolicyResourceArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) []GetIamTrustedProfilePolicyPolicyResource { + return v.Resources + }).(GetIamTrustedProfilePolicyPolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o GetIamTrustedProfilePolicyPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o GetIamTrustedProfilePolicyPolicyOutput) RuleConditions() GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) []GetIamTrustedProfilePolicyPolicyRuleCondition { + return v.RuleConditions + }).(GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o GetIamTrustedProfilePolicyPolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) *string { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +// Template meta data created from policy assignment +func (o GetIamTrustedProfilePolicyPolicyOutput) Templates() GetIamTrustedProfilePolicyPolicyTemplateArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicy) []GetIamTrustedProfilePolicyPolicyTemplate { + return v.Templates + }).(GetIamTrustedProfilePolicyPolicyTemplateArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicy)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyArrayOutput) ToGetIamTrustedProfilePolicyPolicyArrayOutput() GetIamTrustedProfilePolicyPolicyArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyArrayOutput) ToGetIamTrustedProfilePolicyPolicyArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfilePolicyPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfilePolicyPolicy { + return vs[0].([]GetIamTrustedProfilePolicyPolicy)[vs[1].(int)] + }).(GetIamTrustedProfilePolicyPolicyOutput) +} + +type GetIamTrustedProfilePolicyPolicyResource struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region string `pulumi:"region"` + // Resource of the policy definition + Resource string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType string `pulumi:"resourceType"` + // Service name of the policy definition + Service string `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId *string `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType string `pulumi:"serviceType"` +} + +// GetIamTrustedProfilePolicyPolicyResourceInput is an input type that accepts GetIamTrustedProfilePolicyPolicyResourceArgs and GetIamTrustedProfilePolicyPolicyResourceOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyResourceInput` via: +// +// GetIamTrustedProfilePolicyPolicyResourceArgs{...} +type GetIamTrustedProfilePolicyPolicyResourceInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyResourceOutput() GetIamTrustedProfilePolicyPolicyResourceOutput + ToGetIamTrustedProfilePolicyPolicyResourceOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyResourceOutput +} + +type GetIamTrustedProfilePolicyPolicyResourceArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringInput `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId pulumi.StringPtrInput `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType pulumi.StringInput `pulumi:"serviceType"` +} + +func (GetIamTrustedProfilePolicyPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyResource)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyResourceArgs) ToGetIamTrustedProfilePolicyPolicyResourceOutput() GetIamTrustedProfilePolicyPolicyResourceOutput { + return i.ToGetIamTrustedProfilePolicyPolicyResourceOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyResourceArgs) ToGetIamTrustedProfilePolicyPolicyResourceOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyResourceOutput) +} + +// GetIamTrustedProfilePolicyPolicyResourceArrayInput is an input type that accepts GetIamTrustedProfilePolicyPolicyResourceArray and GetIamTrustedProfilePolicyPolicyResourceArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyResourceArrayInput` via: +// +// GetIamTrustedProfilePolicyPolicyResourceArray{ GetIamTrustedProfilePolicyPolicyResourceArgs{...} } +type GetIamTrustedProfilePolicyPolicyResourceArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyResourceArrayOutput() GetIamTrustedProfilePolicyPolicyResourceArrayOutput + ToGetIamTrustedProfilePolicyPolicyResourceArrayOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyResourceArrayOutput +} + +type GetIamTrustedProfilePolicyPolicyResourceArray []GetIamTrustedProfilePolicyPolicyResourceInput + +func (GetIamTrustedProfilePolicyPolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyResource)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyResourceArray) ToGetIamTrustedProfilePolicyPolicyResourceArrayOutput() GetIamTrustedProfilePolicyPolicyResourceArrayOutput { + return i.ToGetIamTrustedProfilePolicyPolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyResourceArray) ToGetIamTrustedProfilePolicyPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyResourceArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyResourceOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyResource)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) ToGetIamTrustedProfilePolicyPolicyResourceOutput() GetIamTrustedProfilePolicyPolicyResourceOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) ToGetIamTrustedProfilePolicyPolicyResourceOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyResourceOutput { + return o +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) string { return v.Region }).(pulumi.StringOutput) +} + +// Resource of the policy definition +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) Resource() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) string { return v.Resource }).(pulumi.StringOutput) +} + +// ID of the resource group. +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) string { return v.ResourceGroupId }).(pulumi.StringOutput) +} + +// ID of resource instance of the policy definition +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) ResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) string { return v.ResourceInstanceId }).(pulumi.StringOutput) +} + +// Resource type of the policy definition +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Service name of the policy definition +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) string { return v.Service }).(pulumi.StringOutput) +} + +// Service group id of the policy definition +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) *string { return v.ServiceGroupId }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o GetIamTrustedProfilePolicyPolicyResourceOutput) ServiceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResource) string { return v.ServiceType }).(pulumi.StringOutput) +} + +type GetIamTrustedProfilePolicyPolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyResource)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyResourceArrayOutput) ToGetIamTrustedProfilePolicyPolicyResourceArrayOutput() GetIamTrustedProfilePolicyPolicyResourceArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyResourceArrayOutput) ToGetIamTrustedProfilePolicyPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyResourceArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyResourceArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfilePolicyPolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfilePolicyPolicyResource { + return vs[0].([]GetIamTrustedProfilePolicyPolicyResource)[vs[1].(int)] + }).(GetIamTrustedProfilePolicyPolicyResourceOutput) +} + +type GetIamTrustedProfilePolicyPolicyResourceTag struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// GetIamTrustedProfilePolicyPolicyResourceTagInput is an input type that accepts GetIamTrustedProfilePolicyPolicyResourceTagArgs and GetIamTrustedProfilePolicyPolicyResourceTagOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyResourceTagInput` via: +// +// GetIamTrustedProfilePolicyPolicyResourceTagArgs{...} +type GetIamTrustedProfilePolicyPolicyResourceTagInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyResourceTagOutput() GetIamTrustedProfilePolicyPolicyResourceTagOutput + ToGetIamTrustedProfilePolicyPolicyResourceTagOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyResourceTagOutput +} + +type GetIamTrustedProfilePolicyPolicyResourceTagArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamTrustedProfilePolicyPolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyResourceTagArgs) ToGetIamTrustedProfilePolicyPolicyResourceTagOutput() GetIamTrustedProfilePolicyPolicyResourceTagOutput { + return i.ToGetIamTrustedProfilePolicyPolicyResourceTagOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyResourceTagArgs) ToGetIamTrustedProfilePolicyPolicyResourceTagOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyResourceTagOutput) +} + +// GetIamTrustedProfilePolicyPolicyResourceTagArrayInput is an input type that accepts GetIamTrustedProfilePolicyPolicyResourceTagArray and GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyResourceTagArrayInput` via: +// +// GetIamTrustedProfilePolicyPolicyResourceTagArray{ GetIamTrustedProfilePolicyPolicyResourceTagArgs{...} } +type GetIamTrustedProfilePolicyPolicyResourceTagArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyResourceTagArrayOutput() GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput + ToGetIamTrustedProfilePolicyPolicyResourceTagArrayOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput +} + +type GetIamTrustedProfilePolicyPolicyResourceTagArray []GetIamTrustedProfilePolicyPolicyResourceTagInput + +func (GetIamTrustedProfilePolicyPolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyResourceTagArray) ToGetIamTrustedProfilePolicyPolicyResourceTagArrayOutput() GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput { + return i.ToGetIamTrustedProfilePolicyPolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyResourceTagArray) ToGetIamTrustedProfilePolicyPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyResourceTagOutput) ToGetIamTrustedProfilePolicyPolicyResourceTagOutput() GetIamTrustedProfilePolicyPolicyResourceTagOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyResourceTagOutput) ToGetIamTrustedProfilePolicyPolicyResourceTagOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyResourceTagOutput { + return o +} + +// Name of attribute. +func (o GetIamTrustedProfilePolicyPolicyResourceTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResourceTag) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o GetIamTrustedProfilePolicyPolicyResourceTagOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResourceTag) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of attribute. +func (o GetIamTrustedProfilePolicyPolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput) ToGetIamTrustedProfilePolicyPolicyResourceTagArrayOutput() GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput) ToGetIamTrustedProfilePolicyPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfilePolicyPolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfilePolicyPolicyResourceTag { + return vs[0].([]GetIamTrustedProfilePolicyPolicyResourceTag)[vs[1].(int)] + }).(GetIamTrustedProfilePolicyPolicyResourceTagOutput) +} + +type GetIamTrustedProfilePolicyPolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []GetIamTrustedProfilePolicyPolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamTrustedProfilePolicyPolicyRuleConditionInput is an input type that accepts GetIamTrustedProfilePolicyPolicyRuleConditionArgs and GetIamTrustedProfilePolicyPolicyRuleConditionOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyRuleConditionInput` via: +// +// GetIamTrustedProfilePolicyPolicyRuleConditionArgs{...} +type GetIamTrustedProfilePolicyPolicyRuleConditionInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyRuleConditionOutput() GetIamTrustedProfilePolicyPolicyRuleConditionOutput + ToGetIamTrustedProfilePolicyPolicyRuleConditionOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionOutput +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamTrustedProfilePolicyPolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyRuleConditionArgs) ToGetIamTrustedProfilePolicyPolicyRuleConditionOutput() GetIamTrustedProfilePolicyPolicyRuleConditionOutput { + return i.ToGetIamTrustedProfilePolicyPolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyRuleConditionArgs) ToGetIamTrustedProfilePolicyPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyRuleConditionOutput) +} + +// GetIamTrustedProfilePolicyPolicyRuleConditionArrayInput is an input type that accepts GetIamTrustedProfilePolicyPolicyRuleConditionArray and GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyRuleConditionArrayInput` via: +// +// GetIamTrustedProfilePolicyPolicyRuleConditionArray{ GetIamTrustedProfilePolicyPolicyRuleConditionArgs{...} } +type GetIamTrustedProfilePolicyPolicyRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput() GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput + ToGetIamTrustedProfilePolicyPolicyRuleConditionArrayOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionArray []GetIamTrustedProfilePolicyPolicyRuleConditionInput + +func (GetIamTrustedProfilePolicyPolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyRuleConditionArray) ToGetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput() GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput { + return i.ToGetIamTrustedProfilePolicyPolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyRuleConditionArray) ToGetIamTrustedProfilePolicyPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionOutput) ToGetIamTrustedProfilePolicyPolicyRuleConditionOutput() GetIamTrustedProfilePolicyPolicyRuleConditionOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionOutput) ToGetIamTrustedProfilePolicyPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o GetIamTrustedProfilePolicyPolicyRuleConditionOutput) Conditions() GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyRuleCondition) []GetIamTrustedProfilePolicyPolicyRuleConditionCondition { + return v.Conditions + }).(GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o GetIamTrustedProfilePolicyPolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o GetIamTrustedProfilePolicyPolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamTrustedProfilePolicyPolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput) ToGetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput() GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput) ToGetIamTrustedProfilePolicyPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfilePolicyPolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfilePolicyPolicyRuleCondition { + return vs[0].([]GetIamTrustedProfilePolicyPolicyRuleCondition)[vs[1].(int)] + }).(GetIamTrustedProfilePolicyPolicyRuleConditionOutput) +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamTrustedProfilePolicyPolicyRuleConditionConditionInput is an input type that accepts GetIamTrustedProfilePolicyPolicyRuleConditionConditionArgs and GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyRuleConditionConditionInput` via: +// +// GetIamTrustedProfilePolicyPolicyRuleConditionConditionArgs{...} +type GetIamTrustedProfilePolicyPolicyRuleConditionConditionInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput() GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput + ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamTrustedProfilePolicyPolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyRuleConditionConditionArgs) ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput() GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput { + return i.ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyRuleConditionConditionArgs) ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput) +} + +// GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayInput is an input type that accepts GetIamTrustedProfilePolicyPolicyRuleConditionConditionArray and GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayInput` via: +// +// GetIamTrustedProfilePolicyPolicyRuleConditionConditionArray{ GetIamTrustedProfilePolicyPolicyRuleConditionConditionArgs{...} } +type GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput() GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput + ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionConditionArray []GetIamTrustedProfilePolicyPolicyRuleConditionConditionInput + +func (GetIamTrustedProfilePolicyPolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyRuleConditionConditionArray) ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput() GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput { + return i.ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyRuleConditionConditionArray) ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput) ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput() GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput) ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput) ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput() GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput) ToGetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfilePolicyPolicyRuleConditionCondition { + return vs[0].([]GetIamTrustedProfilePolicyPolicyRuleConditionCondition)[vs[1].(int)] + }).(GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput) +} + +type GetIamTrustedProfilePolicyPolicyTemplate struct { + // policy assignment id + AssignmentIds []string `pulumi:"assignmentIds"` + // Policy template id + Id string `pulumi:"id"` + // orchestrator template id + RootIds []string `pulumi:"rootIds"` + // orchestrator template version + RootVersions []string `pulumi:"rootVersions"` + // Policy template version + Version string `pulumi:"version"` +} + +// GetIamTrustedProfilePolicyPolicyTemplateInput is an input type that accepts GetIamTrustedProfilePolicyPolicyTemplateArgs and GetIamTrustedProfilePolicyPolicyTemplateOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyTemplateInput` via: +// +// GetIamTrustedProfilePolicyPolicyTemplateArgs{...} +type GetIamTrustedProfilePolicyPolicyTemplateInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyTemplateOutput() GetIamTrustedProfilePolicyPolicyTemplateOutput + ToGetIamTrustedProfilePolicyPolicyTemplateOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyTemplateOutput +} + +type GetIamTrustedProfilePolicyPolicyTemplateArgs struct { + // policy assignment id + AssignmentIds pulumi.StringArrayInput `pulumi:"assignmentIds"` + // Policy template id + Id pulumi.StringInput `pulumi:"id"` + // orchestrator template id + RootIds pulumi.StringArrayInput `pulumi:"rootIds"` + // orchestrator template version + RootVersions pulumi.StringArrayInput `pulumi:"rootVersions"` + // Policy template version + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamTrustedProfilePolicyPolicyTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyTemplate)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyTemplateArgs) ToGetIamTrustedProfilePolicyPolicyTemplateOutput() GetIamTrustedProfilePolicyPolicyTemplateOutput { + return i.ToGetIamTrustedProfilePolicyPolicyTemplateOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyTemplateArgs) ToGetIamTrustedProfilePolicyPolicyTemplateOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyTemplateOutput) +} + +// GetIamTrustedProfilePolicyPolicyTemplateArrayInput is an input type that accepts GetIamTrustedProfilePolicyPolicyTemplateArray and GetIamTrustedProfilePolicyPolicyTemplateArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilePolicyPolicyTemplateArrayInput` via: +// +// GetIamTrustedProfilePolicyPolicyTemplateArray{ GetIamTrustedProfilePolicyPolicyTemplateArgs{...} } +type GetIamTrustedProfilePolicyPolicyTemplateArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfilePolicyPolicyTemplateArrayOutput() GetIamTrustedProfilePolicyPolicyTemplateArrayOutput + ToGetIamTrustedProfilePolicyPolicyTemplateArrayOutputWithContext(context.Context) GetIamTrustedProfilePolicyPolicyTemplateArrayOutput +} + +type GetIamTrustedProfilePolicyPolicyTemplateArray []GetIamTrustedProfilePolicyPolicyTemplateInput + +func (GetIamTrustedProfilePolicyPolicyTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyTemplate)(nil)).Elem() +} + +func (i GetIamTrustedProfilePolicyPolicyTemplateArray) ToGetIamTrustedProfilePolicyPolicyTemplateArrayOutput() GetIamTrustedProfilePolicyPolicyTemplateArrayOutput { + return i.ToGetIamTrustedProfilePolicyPolicyTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilePolicyPolicyTemplateArray) ToGetIamTrustedProfilePolicyPolicyTemplateArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilePolicyPolicyTemplateArrayOutput) +} + +type GetIamTrustedProfilePolicyPolicyTemplateOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyTemplate)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyTemplateOutput) ToGetIamTrustedProfilePolicyPolicyTemplateOutput() GetIamTrustedProfilePolicyPolicyTemplateOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyTemplateOutput) ToGetIamTrustedProfilePolicyPolicyTemplateOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyTemplateOutput { + return o +} + +// policy assignment id +func (o GetIamTrustedProfilePolicyPolicyTemplateOutput) AssignmentIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyTemplate) []string { return v.AssignmentIds }).(pulumi.StringArrayOutput) +} + +// Policy template id +func (o GetIamTrustedProfilePolicyPolicyTemplateOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyTemplate) string { return v.Id }).(pulumi.StringOutput) +} + +// orchestrator template id +func (o GetIamTrustedProfilePolicyPolicyTemplateOutput) RootIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyTemplate) []string { return v.RootIds }).(pulumi.StringArrayOutput) +} + +// orchestrator template version +func (o GetIamTrustedProfilePolicyPolicyTemplateOutput) RootVersions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyTemplate) []string { return v.RootVersions }).(pulumi.StringArrayOutput) +} + +// Policy template version +func (o GetIamTrustedProfilePolicyPolicyTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilePolicyPolicyTemplate) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamTrustedProfilePolicyPolicyTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilePolicyPolicyTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilePolicyPolicyTemplate)(nil)).Elem() +} + +func (o GetIamTrustedProfilePolicyPolicyTemplateArrayOutput) ToGetIamTrustedProfilePolicyPolicyTemplateArrayOutput() GetIamTrustedProfilePolicyPolicyTemplateArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyTemplateArrayOutput) ToGetIamTrustedProfilePolicyPolicyTemplateArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilePolicyPolicyTemplateArrayOutput { + return o +} + +func (o GetIamTrustedProfilePolicyPolicyTemplateArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfilePolicyPolicyTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfilePolicyPolicyTemplate { + return vs[0].([]GetIamTrustedProfilePolicyPolicyTemplate)[vs[1].(int)] + }).(GetIamTrustedProfilePolicyPolicyTemplateOutput) +} + +type GetIamTrustedProfileTemplateAssignmentContext struct { + // The cluster name. + ClusterName string `pulumi:"clusterName"` + // The elapsed time in msec. + ElapsedTime string `pulumi:"elapsedTime"` + // The finish time of the request. + EndTime string `pulumi:"endTime"` + // The host of the server instance processing the request. + Host string `pulumi:"host"` + // The instance ID of the server instance processing the request. + InstanceId string `pulumi:"instanceId"` + // The operation of the inbound REST request. + Operation string `pulumi:"operation"` + // The start time of the request. + StartTime string `pulumi:"startTime"` + // The thread ID of the server instance processing the request. + ThreadId string `pulumi:"threadId"` + // The transaction ID of the inbound REST request. + TransactionId string `pulumi:"transactionId"` + // The URL of that cluster. + Url string `pulumi:"url"` + // The user agent of the inbound REST request. + UserAgent string `pulumi:"userAgent"` +} + +// GetIamTrustedProfileTemplateAssignmentContextInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentContextArgs and GetIamTrustedProfileTemplateAssignmentContextOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentContextInput` via: +// +// GetIamTrustedProfileTemplateAssignmentContextArgs{...} +type GetIamTrustedProfileTemplateAssignmentContextInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentContextOutput() GetIamTrustedProfileTemplateAssignmentContextOutput + ToGetIamTrustedProfileTemplateAssignmentContextOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentContextOutput +} + +type GetIamTrustedProfileTemplateAssignmentContextArgs struct { + // The cluster name. + ClusterName pulumi.StringInput `pulumi:"clusterName"` + // The elapsed time in msec. + ElapsedTime pulumi.StringInput `pulumi:"elapsedTime"` + // The finish time of the request. + EndTime pulumi.StringInput `pulumi:"endTime"` + // The host of the server instance processing the request. + Host pulumi.StringInput `pulumi:"host"` + // The instance ID of the server instance processing the request. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // The operation of the inbound REST request. + Operation pulumi.StringInput `pulumi:"operation"` + // The start time of the request. + StartTime pulumi.StringInput `pulumi:"startTime"` + // The thread ID of the server instance processing the request. + ThreadId pulumi.StringInput `pulumi:"threadId"` + // The transaction ID of the inbound REST request. + TransactionId pulumi.StringInput `pulumi:"transactionId"` + // The URL of that cluster. + Url pulumi.StringInput `pulumi:"url"` + // The user agent of the inbound REST request. + UserAgent pulumi.StringInput `pulumi:"userAgent"` +} + +func (GetIamTrustedProfileTemplateAssignmentContextArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentContext)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentContextArgs) ToGetIamTrustedProfileTemplateAssignmentContextOutput() GetIamTrustedProfileTemplateAssignmentContextOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentContextOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentContextArgs) ToGetIamTrustedProfileTemplateAssignmentContextOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentContextOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentContextOutput) +} + +// GetIamTrustedProfileTemplateAssignmentContextArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentContextArray and GetIamTrustedProfileTemplateAssignmentContextArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentContextArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentContextArray{ GetIamTrustedProfileTemplateAssignmentContextArgs{...} } +type GetIamTrustedProfileTemplateAssignmentContextArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentContextArrayOutput() GetIamTrustedProfileTemplateAssignmentContextArrayOutput + ToGetIamTrustedProfileTemplateAssignmentContextArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentContextArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentContextArray []GetIamTrustedProfileTemplateAssignmentContextInput + +func (GetIamTrustedProfileTemplateAssignmentContextArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentContext)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentContextArray) ToGetIamTrustedProfileTemplateAssignmentContextArrayOutput() GetIamTrustedProfileTemplateAssignmentContextArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentContextArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentContextArray) ToGetIamTrustedProfileTemplateAssignmentContextArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentContextArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentContextArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentContextOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentContextOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentContext)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) ToGetIamTrustedProfileTemplateAssignmentContextOutput() GetIamTrustedProfileTemplateAssignmentContextOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) ToGetIamTrustedProfileTemplateAssignmentContextOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentContextOutput { + return o +} + +// The cluster name. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.ClusterName }).(pulumi.StringOutput) +} + +// The elapsed time in msec. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) ElapsedTime() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.ElapsedTime }).(pulumi.StringOutput) +} + +// The finish time of the request. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) EndTime() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.EndTime }).(pulumi.StringOutput) +} + +// The host of the server instance processing the request. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) Host() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.Host }).(pulumi.StringOutput) +} + +// The instance ID of the server instance processing the request. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// The operation of the inbound REST request. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.Operation }).(pulumi.StringOutput) +} + +// The start time of the request. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) StartTime() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.StartTime }).(pulumi.StringOutput) +} + +// The thread ID of the server instance processing the request. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) ThreadId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.ThreadId }).(pulumi.StringOutput) +} + +// The transaction ID of the inbound REST request. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) TransactionId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.TransactionId }).(pulumi.StringOutput) +} + +// The URL of that cluster. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.Url }).(pulumi.StringOutput) +} + +// The user agent of the inbound REST request. +func (o GetIamTrustedProfileTemplateAssignmentContextOutput) UserAgent() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentContext) string { return v.UserAgent }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentContextArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentContextArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentContext)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentContextArrayOutput) ToGetIamTrustedProfileTemplateAssignmentContextArrayOutput() GetIamTrustedProfileTemplateAssignmentContextArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentContextArrayOutput) ToGetIamTrustedProfileTemplateAssignmentContextArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentContextArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentContextArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentContextOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentContext { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentContext)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentContextOutput) +} + +type GetIamTrustedProfileTemplateAssignmentHistory struct { + // Action of the history entry. + Action string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp string `pulumi:"timestamp"` +} + +// GetIamTrustedProfileTemplateAssignmentHistoryInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentHistoryArgs and GetIamTrustedProfileTemplateAssignmentHistoryOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentHistoryInput` via: +// +// GetIamTrustedProfileTemplateAssignmentHistoryArgs{...} +type GetIamTrustedProfileTemplateAssignmentHistoryInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentHistoryOutput() GetIamTrustedProfileTemplateAssignmentHistoryOutput + ToGetIamTrustedProfileTemplateAssignmentHistoryOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentHistoryOutput +} + +type GetIamTrustedProfileTemplateAssignmentHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringInput `pulumi:"timestamp"` +} + +func (GetIamTrustedProfileTemplateAssignmentHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentHistory)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentHistoryArgs) ToGetIamTrustedProfileTemplateAssignmentHistoryOutput() GetIamTrustedProfileTemplateAssignmentHistoryOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentHistoryOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentHistoryArgs) ToGetIamTrustedProfileTemplateAssignmentHistoryOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentHistoryOutput) +} + +// GetIamTrustedProfileTemplateAssignmentHistoryArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentHistoryArray and GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentHistoryArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentHistoryArray{ GetIamTrustedProfileTemplateAssignmentHistoryArgs{...} } +type GetIamTrustedProfileTemplateAssignmentHistoryArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentHistoryArrayOutput() GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput + ToGetIamTrustedProfileTemplateAssignmentHistoryArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentHistoryArray []GetIamTrustedProfileTemplateAssignmentHistoryInput + +func (GetIamTrustedProfileTemplateAssignmentHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentHistory)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentHistoryArray) ToGetIamTrustedProfileTemplateAssignmentHistoryArrayOutput() GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentHistoryArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentHistoryArray) ToGetIamTrustedProfileTemplateAssignmentHistoryArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentHistoryOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentHistory)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentHistoryOutput) ToGetIamTrustedProfileTemplateAssignmentHistoryOutput() GetIamTrustedProfileTemplateAssignmentHistoryOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentHistoryOutput) ToGetIamTrustedProfileTemplateAssignmentHistoryOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentHistoryOutput { + return o +} + +// Action of the history entry. +func (o GetIamTrustedProfileTemplateAssignmentHistoryOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentHistory) string { return v.Action }).(pulumi.StringOutput) +} + +// IAM ID of the identity which triggered the action. +func (o GetIamTrustedProfileTemplateAssignmentHistoryOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentHistory) string { return v.IamId }).(pulumi.StringOutput) +} + +// Account of the identity which triggered the action. +func (o GetIamTrustedProfileTemplateAssignmentHistoryOutput) IamIdAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentHistory) string { return v.IamIdAccount }).(pulumi.StringOutput) +} + +// Message which summarizes the executed action. +func (o GetIamTrustedProfileTemplateAssignmentHistoryOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentHistory) string { return v.Message }).(pulumi.StringOutput) +} + +// Params of the history entry. +func (o GetIamTrustedProfileTemplateAssignmentHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o GetIamTrustedProfileTemplateAssignmentHistoryOutput) Timestamp() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentHistory) string { return v.Timestamp }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentHistory)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput) ToGetIamTrustedProfileTemplateAssignmentHistoryArrayOutput() GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput) ToGetIamTrustedProfileTemplateAssignmentHistoryArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentHistory { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentHistory)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentHistoryOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResource struct { + // Policy resource(s) included only for trusted profile assignments with policy references. + PolicyTemplateReferences []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference `pulumi:"policyTemplateReferences"` + Profiles []GetIamTrustedProfileTemplateAssignmentResourceProfile `pulumi:"profiles"` + // Target account where the IAM resource is created. + Target string `pulumi:"target"` +} + +// GetIamTrustedProfileTemplateAssignmentResourceInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourceArgs and GetIamTrustedProfileTemplateAssignmentResourceOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourceInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourceArgs{...} +type GetIamTrustedProfileTemplateAssignmentResourceInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourceOutput() GetIamTrustedProfileTemplateAssignmentResourceOutput + ToGetIamTrustedProfileTemplateAssignmentResourceOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourceOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourceArgs struct { + // Policy resource(s) included only for trusted profile assignments with policy references. + PolicyTemplateReferences GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput `pulumi:"policyTemplateReferences"` + Profiles GetIamTrustedProfileTemplateAssignmentResourceProfileArrayInput `pulumi:"profiles"` + // Target account where the IAM resource is created. + Target pulumi.StringInput `pulumi:"target"` +} + +func (GetIamTrustedProfileTemplateAssignmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResource)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceArgs) ToGetIamTrustedProfileTemplateAssignmentResourceOutput() GetIamTrustedProfileTemplateAssignmentResourceOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourceOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceArgs) ToGetIamTrustedProfileTemplateAssignmentResourceOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourceOutput) +} + +// GetIamTrustedProfileTemplateAssignmentResourceArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourceArray and GetIamTrustedProfileTemplateAssignmentResourceArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourceArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourceArray{ GetIamTrustedProfileTemplateAssignmentResourceArgs{...} } +type GetIamTrustedProfileTemplateAssignmentResourceArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourceArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceArrayOutput + ToGetIamTrustedProfileTemplateAssignmentResourceArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourceArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourceArray []GetIamTrustedProfileTemplateAssignmentResourceInput + +func (GetIamTrustedProfileTemplateAssignmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResource)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceArray) ToGetIamTrustedProfileTemplateAssignmentResourceArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceArray) ToGetIamTrustedProfileTemplateAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourceArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResource)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceOutput) ToGetIamTrustedProfileTemplateAssignmentResourceOutput() GetIamTrustedProfileTemplateAssignmentResourceOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceOutput) ToGetIamTrustedProfileTemplateAssignmentResourceOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceOutput { + return o +} + +// Policy resource(s) included only for trusted profile assignments with policy references. +func (o GetIamTrustedProfileTemplateAssignmentResourceOutput) PolicyTemplateReferences() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResource) []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference { + return v.PolicyTemplateReferences + }).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceOutput) Profiles() GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResource) []GetIamTrustedProfileTemplateAssignmentResourceProfile { + return v.Profiles + }).(GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) +} + +// Target account where the IAM resource is created. +func (o GetIamTrustedProfileTemplateAssignmentResourceOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResource) string { return v.Target }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResource)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourceArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourceArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentResource { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentResource)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentResourceOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference struct { + // Body parameters for assignment error. + ErrorMessages []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id string `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status string `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version string `pulumi:"version"` +} + +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs and GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs{...} +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs struct { + // Body parameters for assignment error. + ErrorMessages GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id pulumi.StringInput `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status pulumi.StringInput `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) +} + +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray and GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray{ GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs{...} } +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return o +} + +// Body parameters for assignment error. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ErrorMessages() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage { + return v.ErrorMessages + }).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) +} + +// Policy Template Id, only returned for a profile assignment with policy references. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) string { return v.Id }).(pulumi.StringOutput) +} + +// Body parameters for created resource. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) ResourceCreateds() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated { + return v.ResourceCreateds + }).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) +} + +// Status for the target account's assignment. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) string { return v.Status }).(pulumi.StringOutput) +} + +// Policy version, only returned for a profile assignment with policy references. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReference)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage struct { + // Internal error code. + ErrorCode string `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message string `pulumi:"message"` + // Name of the error. + Name string `pulumi:"name"` + // Internal status code for the error. + StatusCode string `pulumi:"statusCode"` +} + +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs and GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs{...} +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs struct { + // Internal error code. + ErrorCode pulumi.StringInput `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message pulumi.StringInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringInput `pulumi:"name"` + // Internal status code for the error. + StatusCode pulumi.StringInput `pulumi:"statusCode"` +} + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) +} + +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray and GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray{ GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs{...} } +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return o +} + +// Internal error code. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) ErrorCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage) string { + return v.ErrorCode + }).(pulumi.StringOutput) +} + +// Error message detailing the nature of the error. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage) string { + return v.Message + }).(pulumi.StringOutput) +} + +// Name of the error. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage) string { + return v.Name + }).(pulumi.StringOutput) +} + +// Internal status code for the error. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) StatusCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage) string { + return v.StatusCode + }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessage)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated struct { + // Id of the created resource. + Id string `pulumi:"id"` +} + +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs and GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs{...} +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs struct { + // Id of the created resource. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) +} + +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray and GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray{ GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs{...} } +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput + ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray []GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return o +} + +// Id of the created resource. +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput() GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreated)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfile struct { + // Body parameters for assignment error. + ErrorMessages []GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id string `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds []GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status string `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version string `pulumi:"version"` +} + +// GetIamTrustedProfileTemplateAssignmentResourceProfileInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourceProfileArgs and GetIamTrustedProfileTemplateAssignmentResourceProfileOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourceProfileInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourceProfileArgs{...} +type GetIamTrustedProfileTemplateAssignmentResourceProfileInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourceProfileOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileOutput + ToGetIamTrustedProfileTemplateAssignmentResourceProfileOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileArgs struct { + // Body parameters for assignment error. + ErrorMessages GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput `pulumi:"errorMessages"` + // Policy Template Id, only returned for a profile assignment with policy references. + Id pulumi.StringInput `pulumi:"id"` + // Body parameters for created resource. + ResourceCreateds GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput `pulumi:"resourceCreateds"` + // Status for the target account's assignment. + Status pulumi.StringInput `pulumi:"status"` + // Policy version, only returned for a profile assignment with policy references. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfile)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileArgs) ToGetIamTrustedProfileTemplateAssignmentResourceProfileOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourceProfileOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileArgs) ToGetIamTrustedProfileTemplateAssignmentResourceProfileOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) +} + +// GetIamTrustedProfileTemplateAssignmentResourceProfileArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourceProfileArray and GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourceProfileArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourceProfileArray{ GetIamTrustedProfileTemplateAssignmentResourceProfileArgs{...} } +type GetIamTrustedProfileTemplateAssignmentResourceProfileArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput + ToGetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileArray []GetIamTrustedProfileTemplateAssignmentResourceProfileInput + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourceProfile)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileArray) ToGetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileArray) ToGetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfile)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileOutput { + return o +} + +// Body parameters for assignment error. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) ErrorMessages() GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfile) []GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage { + return v.ErrorMessages + }).(GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) +} + +// Policy Template Id, only returned for a profile assignment with policy references. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfile) string { return v.Id }).(pulumi.StringOutput) +} + +// Body parameters for created resource. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) ResourceCreateds() GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfile) []GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated { + return v.ResourceCreateds + }).(GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) +} + +// Status for the target account's assignment. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfile) string { return v.Status }).(pulumi.StringOutput) +} + +// Policy version, only returned for a profile assignment with policy references. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfile) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourceProfile)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentResourceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentResourceProfile { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentResourceProfile)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentResourceProfileOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage struct { + // Internal error code. + ErrorCode string `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message string `pulumi:"message"` + // Name of the error. + Name string `pulumi:"name"` + // Internal status code for the error. + StatusCode string `pulumi:"statusCode"` +} + +// GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs and GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs{...} +type GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput + ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs struct { + // Internal error code. + ErrorCode pulumi.StringInput `pulumi:"errorCode"` + // Error message detailing the nature of the error. + Message pulumi.StringInput `pulumi:"message"` + // Name of the error. + Name pulumi.StringInput `pulumi:"name"` + // Internal status code for the error. + StatusCode pulumi.StringInput `pulumi:"statusCode"` +} + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs) ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs) ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) +} + +// GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray and GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray{ GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs{...} } +type GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput + ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray []GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray) ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray) ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return o +} + +// Internal error code. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) ErrorCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage) string { return v.ErrorCode }).(pulumi.StringOutput) +} + +// Error message detailing the nature of the error. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage) string { return v.Message }).(pulumi.StringOutput) +} + +// Name of the error. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage) string { return v.Name }).(pulumi.StringOutput) +} + +// Internal status code for the error. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) StatusCode() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage) string { return v.StatusCode }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessage)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated struct { + // Id of the created resource. + Id string `pulumi:"id"` +} + +// GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs and GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs{...} +type GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput + ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs struct { + // Id of the created resource. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs) ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs) ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) +} + +// GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput is an input type that accepts GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray and GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput` via: +// +// GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray{ GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs{...} } +type GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput + ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray []GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray) ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return i.ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray) ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return o +} + +// Id of the created resource. +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput() GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) ToGetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated { + return vs[0].([]GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreated)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput) +} + +type GetIamTrustedProfileTemplateHistory struct { + // Action of the history entry. + Action string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp string `pulumi:"timestamp"` +} + +// GetIamTrustedProfileTemplateHistoryInput is an input type that accepts GetIamTrustedProfileTemplateHistoryArgs and GetIamTrustedProfileTemplateHistoryOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateHistoryInput` via: +// +// GetIamTrustedProfileTemplateHistoryArgs{...} +type GetIamTrustedProfileTemplateHistoryInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateHistoryOutput() GetIamTrustedProfileTemplateHistoryOutput + ToGetIamTrustedProfileTemplateHistoryOutputWithContext(context.Context) GetIamTrustedProfileTemplateHistoryOutput +} + +type GetIamTrustedProfileTemplateHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringInput `pulumi:"timestamp"` +} + +func (GetIamTrustedProfileTemplateHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateHistory)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateHistoryArgs) ToGetIamTrustedProfileTemplateHistoryOutput() GetIamTrustedProfileTemplateHistoryOutput { + return i.ToGetIamTrustedProfileTemplateHistoryOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateHistoryArgs) ToGetIamTrustedProfileTemplateHistoryOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateHistoryOutput) +} + +// GetIamTrustedProfileTemplateHistoryArrayInput is an input type that accepts GetIamTrustedProfileTemplateHistoryArray and GetIamTrustedProfileTemplateHistoryArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateHistoryArrayInput` via: +// +// GetIamTrustedProfileTemplateHistoryArray{ GetIamTrustedProfileTemplateHistoryArgs{...} } +type GetIamTrustedProfileTemplateHistoryArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateHistoryArrayOutput() GetIamTrustedProfileTemplateHistoryArrayOutput + ToGetIamTrustedProfileTemplateHistoryArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateHistoryArrayOutput +} + +type GetIamTrustedProfileTemplateHistoryArray []GetIamTrustedProfileTemplateHistoryInput + +func (GetIamTrustedProfileTemplateHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateHistory)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateHistoryArray) ToGetIamTrustedProfileTemplateHistoryArrayOutput() GetIamTrustedProfileTemplateHistoryArrayOutput { + return i.ToGetIamTrustedProfileTemplateHistoryArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateHistoryArray) ToGetIamTrustedProfileTemplateHistoryArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateHistoryArrayOutput) +} + +type GetIamTrustedProfileTemplateHistoryOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateHistory)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateHistoryOutput) ToGetIamTrustedProfileTemplateHistoryOutput() GetIamTrustedProfileTemplateHistoryOutput { + return o +} + +func (o GetIamTrustedProfileTemplateHistoryOutput) ToGetIamTrustedProfileTemplateHistoryOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateHistoryOutput { + return o +} + +// Action of the history entry. +func (o GetIamTrustedProfileTemplateHistoryOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateHistory) string { return v.Action }).(pulumi.StringOutput) +} + +// IAM ID of the identity which triggered the action. +func (o GetIamTrustedProfileTemplateHistoryOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateHistory) string { return v.IamId }).(pulumi.StringOutput) +} + +// Account of the identity which triggered the action. +func (o GetIamTrustedProfileTemplateHistoryOutput) IamIdAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateHistory) string { return v.IamIdAccount }).(pulumi.StringOutput) +} + +// Message which summarizes the executed action. +func (o GetIamTrustedProfileTemplateHistoryOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateHistory) string { return v.Message }).(pulumi.StringOutput) +} + +// Params of the history entry. +func (o GetIamTrustedProfileTemplateHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o GetIamTrustedProfileTemplateHistoryOutput) Timestamp() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateHistory) string { return v.Timestamp }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateHistoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateHistory)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateHistoryArrayOutput) ToGetIamTrustedProfileTemplateHistoryArrayOutput() GetIamTrustedProfileTemplateHistoryArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateHistoryArrayOutput) ToGetIamTrustedProfileTemplateHistoryArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateHistoryArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateHistoryArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateHistory { + return vs[0].([]GetIamTrustedProfileTemplateHistory)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateHistoryOutput) +} + +type GetIamTrustedProfileTemplatePolicyTemplateReference struct { + // ID of Access Policy Template. + Id string `pulumi:"id"` + // Version of Access Policy Template. + Version string `pulumi:"version"` +} + +// GetIamTrustedProfileTemplatePolicyTemplateReferenceInput is an input type that accepts GetIamTrustedProfileTemplatePolicyTemplateReferenceArgs and GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplatePolicyTemplateReferenceInput` via: +// +// GetIamTrustedProfileTemplatePolicyTemplateReferenceArgs{...} +type GetIamTrustedProfileTemplatePolicyTemplateReferenceInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplatePolicyTemplateReferenceOutput() GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput + ToGetIamTrustedProfileTemplatePolicyTemplateReferenceOutputWithContext(context.Context) GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput +} + +type GetIamTrustedProfileTemplatePolicyTemplateReferenceArgs struct { + // ID of Access Policy Template. + Id pulumi.StringInput `pulumi:"id"` + // Version of Access Policy Template. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIamTrustedProfileTemplatePolicyTemplateReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplatePolicyTemplateReferenceArgs) ToGetIamTrustedProfileTemplatePolicyTemplateReferenceOutput() GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return i.ToGetIamTrustedProfileTemplatePolicyTemplateReferenceOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplatePolicyTemplateReferenceArgs) ToGetIamTrustedProfileTemplatePolicyTemplateReferenceOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput) +} + +// GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayInput is an input type that accepts GetIamTrustedProfileTemplatePolicyTemplateReferenceArray and GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayInput` via: +// +// GetIamTrustedProfileTemplatePolicyTemplateReferenceArray{ GetIamTrustedProfileTemplatePolicyTemplateReferenceArgs{...} } +type GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput() GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput + ToGetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput +} + +type GetIamTrustedProfileTemplatePolicyTemplateReferenceArray []GetIamTrustedProfileTemplatePolicyTemplateReferenceInput + +func (GetIamTrustedProfileTemplatePolicyTemplateReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplatePolicyTemplateReferenceArray) ToGetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput() GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return i.ToGetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplatePolicyTemplateReferenceArray) ToGetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) +} + +type GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput) ToGetIamTrustedProfileTemplatePolicyTemplateReferenceOutput() GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return o +} + +func (o GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput) ToGetIamTrustedProfileTemplatePolicyTemplateReferenceOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return o +} + +// ID of Access Policy Template. +func (o GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplatePolicyTemplateReference) string { return v.Id }).(pulumi.StringOutput) +} + +// Version of Access Policy Template. +func (o GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplatePolicyTemplateReference) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplatePolicyTemplateReference)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) ToGetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput() GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) ToGetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplatePolicyTemplateReference { + return vs[0].([]GetIamTrustedProfileTemplatePolicyTemplateReference)[vs[1].(int)] + }).(GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput) +} + +type GetIamTrustedProfileTemplateProfile struct { + // Description of the Profile. + Description string `pulumi:"description"` + // Identities for the Profile. + Identities []GetIamTrustedProfileTemplateProfileIdentity `pulumi:"identities"` + // Name of the Profile. + Name string `pulumi:"name"` + // Rules for the Profile. + Rules []GetIamTrustedProfileTemplateProfileRule `pulumi:"rules"` +} + +// GetIamTrustedProfileTemplateProfileInput is an input type that accepts GetIamTrustedProfileTemplateProfileArgs and GetIamTrustedProfileTemplateProfileOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateProfileInput` via: +// +// GetIamTrustedProfileTemplateProfileArgs{...} +type GetIamTrustedProfileTemplateProfileInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateProfileOutput() GetIamTrustedProfileTemplateProfileOutput + ToGetIamTrustedProfileTemplateProfileOutputWithContext(context.Context) GetIamTrustedProfileTemplateProfileOutput +} + +type GetIamTrustedProfileTemplateProfileArgs struct { + // Description of the Profile. + Description pulumi.StringInput `pulumi:"description"` + // Identities for the Profile. + Identities GetIamTrustedProfileTemplateProfileIdentityArrayInput `pulumi:"identities"` + // Name of the Profile. + Name pulumi.StringInput `pulumi:"name"` + // Rules for the Profile. + Rules GetIamTrustedProfileTemplateProfileRuleArrayInput `pulumi:"rules"` +} + +func (GetIamTrustedProfileTemplateProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateProfile)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateProfileArgs) ToGetIamTrustedProfileTemplateProfileOutput() GetIamTrustedProfileTemplateProfileOutput { + return i.ToGetIamTrustedProfileTemplateProfileOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateProfileArgs) ToGetIamTrustedProfileTemplateProfileOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateProfileOutput) +} + +// GetIamTrustedProfileTemplateProfileArrayInput is an input type that accepts GetIamTrustedProfileTemplateProfileArray and GetIamTrustedProfileTemplateProfileArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateProfileArrayInput` via: +// +// GetIamTrustedProfileTemplateProfileArray{ GetIamTrustedProfileTemplateProfileArgs{...} } +type GetIamTrustedProfileTemplateProfileArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateProfileArrayOutput() GetIamTrustedProfileTemplateProfileArrayOutput + ToGetIamTrustedProfileTemplateProfileArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateProfileArrayOutput +} + +type GetIamTrustedProfileTemplateProfileArray []GetIamTrustedProfileTemplateProfileInput + +func (GetIamTrustedProfileTemplateProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateProfile)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateProfileArray) ToGetIamTrustedProfileTemplateProfileArrayOutput() GetIamTrustedProfileTemplateProfileArrayOutput { + return i.ToGetIamTrustedProfileTemplateProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateProfileArray) ToGetIamTrustedProfileTemplateProfileArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateProfileArrayOutput) +} + +type GetIamTrustedProfileTemplateProfileOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateProfile)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateProfileOutput) ToGetIamTrustedProfileTemplateProfileOutput() GetIamTrustedProfileTemplateProfileOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileOutput) ToGetIamTrustedProfileTemplateProfileOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileOutput { + return o +} + +// Description of the Profile. +func (o GetIamTrustedProfileTemplateProfileOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfile) string { return v.Description }).(pulumi.StringOutput) +} + +// Identities for the Profile. +func (o GetIamTrustedProfileTemplateProfileOutput) Identities() GetIamTrustedProfileTemplateProfileIdentityArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfile) []GetIamTrustedProfileTemplateProfileIdentity { + return v.Identities + }).(GetIamTrustedProfileTemplateProfileIdentityArrayOutput) +} + +// Name of the Profile. +func (o GetIamTrustedProfileTemplateProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// Rules for the Profile. +func (o GetIamTrustedProfileTemplateProfileOutput) Rules() GetIamTrustedProfileTemplateProfileRuleArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfile) []GetIamTrustedProfileTemplateProfileRule { return v.Rules }).(GetIamTrustedProfileTemplateProfileRuleArrayOutput) +} + +type GetIamTrustedProfileTemplateProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateProfile)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateProfileArrayOutput) ToGetIamTrustedProfileTemplateProfileArrayOutput() GetIamTrustedProfileTemplateProfileArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileArrayOutput) ToGetIamTrustedProfileTemplateProfileArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateProfile { + return vs[0].([]GetIamTrustedProfileTemplateProfile)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateProfileOutput) +} + +type GetIamTrustedProfileTemplateProfileIdentity struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts []string `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description string `pulumi:"description"` + // IAM ID of the identity. + IamId string `pulumi:"iamId"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier string `pulumi:"identifier"` + // Type of the identity. + Type string `pulumi:"type"` +} + +// GetIamTrustedProfileTemplateProfileIdentityInput is an input type that accepts GetIamTrustedProfileTemplateProfileIdentityArgs and GetIamTrustedProfileTemplateProfileIdentityOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateProfileIdentityInput` via: +// +// GetIamTrustedProfileTemplateProfileIdentityArgs{...} +type GetIamTrustedProfileTemplateProfileIdentityInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateProfileIdentityOutput() GetIamTrustedProfileTemplateProfileIdentityOutput + ToGetIamTrustedProfileTemplateProfileIdentityOutputWithContext(context.Context) GetIamTrustedProfileTemplateProfileIdentityOutput +} + +type GetIamTrustedProfileTemplateProfileIdentityArgs struct { + // Only valid for the type user. Accounts from which a user can assume the trusted profile. + Accounts pulumi.StringArrayInput `pulumi:"accounts"` + // Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. + Description pulumi.StringInput `pulumi:"description"` + // IAM ID of the identity. + IamId pulumi.StringInput `pulumi:"iamId"` + // Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. + Identifier pulumi.StringInput `pulumi:"identifier"` + // Type of the identity. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamTrustedProfileTemplateProfileIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateProfileIdentity)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateProfileIdentityArgs) ToGetIamTrustedProfileTemplateProfileIdentityOutput() GetIamTrustedProfileTemplateProfileIdentityOutput { + return i.ToGetIamTrustedProfileTemplateProfileIdentityOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateProfileIdentityArgs) ToGetIamTrustedProfileTemplateProfileIdentityOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateProfileIdentityOutput) +} + +// GetIamTrustedProfileTemplateProfileIdentityArrayInput is an input type that accepts GetIamTrustedProfileTemplateProfileIdentityArray and GetIamTrustedProfileTemplateProfileIdentityArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateProfileIdentityArrayInput` via: +// +// GetIamTrustedProfileTemplateProfileIdentityArray{ GetIamTrustedProfileTemplateProfileIdentityArgs{...} } +type GetIamTrustedProfileTemplateProfileIdentityArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateProfileIdentityArrayOutput() GetIamTrustedProfileTemplateProfileIdentityArrayOutput + ToGetIamTrustedProfileTemplateProfileIdentityArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateProfileIdentityArrayOutput +} + +type GetIamTrustedProfileTemplateProfileIdentityArray []GetIamTrustedProfileTemplateProfileIdentityInput + +func (GetIamTrustedProfileTemplateProfileIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateProfileIdentity)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateProfileIdentityArray) ToGetIamTrustedProfileTemplateProfileIdentityArrayOutput() GetIamTrustedProfileTemplateProfileIdentityArrayOutput { + return i.ToGetIamTrustedProfileTemplateProfileIdentityArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateProfileIdentityArray) ToGetIamTrustedProfileTemplateProfileIdentityArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateProfileIdentityArrayOutput) +} + +type GetIamTrustedProfileTemplateProfileIdentityOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateProfileIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateProfileIdentity)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateProfileIdentityOutput) ToGetIamTrustedProfileTemplateProfileIdentityOutput() GetIamTrustedProfileTemplateProfileIdentityOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileIdentityOutput) ToGetIamTrustedProfileTemplateProfileIdentityOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileIdentityOutput { + return o +} + +// Only valid for the type user. Accounts from which a user can assume the trusted profile. +func (o GetIamTrustedProfileTemplateProfileIdentityOutput) Accounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileIdentity) []string { return v.Accounts }).(pulumi.StringArrayOutput) +} + +// Description of the identity that can assume the trusted profile. This is optional field for all the types of identities. When this field is not set for the identity type 'serviceid' then the description of the service id is used. Description is recommended for the identity type 'crn' E.g. 'Instance 1234 of IBM Cloud Service project'. +func (o GetIamTrustedProfileTemplateProfileIdentityOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileIdentity) string { return v.Description }).(pulumi.StringOutput) +} + +// IAM ID of the identity. +func (o GetIamTrustedProfileTemplateProfileIdentityOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileIdentity) string { return v.IamId }).(pulumi.StringOutput) +} + +// Identifier of the identity that can assume the trusted profiles. This can be a user identifier (IAM id), serviceid or crn. Internally it uses account id of the service id for the identifier 'serviceid' and for the identifier 'crn' it uses account id contained in the CRN. +func (o GetIamTrustedProfileTemplateProfileIdentityOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileIdentity) string { return v.Identifier }).(pulumi.StringOutput) +} + +// Type of the identity. +func (o GetIamTrustedProfileTemplateProfileIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateProfileIdentityArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateProfileIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateProfileIdentity)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateProfileIdentityArrayOutput) ToGetIamTrustedProfileTemplateProfileIdentityArrayOutput() GetIamTrustedProfileTemplateProfileIdentityArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileIdentityArrayOutput) ToGetIamTrustedProfileTemplateProfileIdentityArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileIdentityArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileIdentityArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateProfileIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateProfileIdentity { + return vs[0].([]GetIamTrustedProfileTemplateProfileIdentity)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateProfileIdentityOutput) +} + +type GetIamTrustedProfileTemplateProfileRule struct { + // Conditions of this claim rule. + Conditions []GetIamTrustedProfileTemplateProfileRuleCondition `pulumi:"conditions"` + // Session expiration in seconds, only required if type is 'Profile-SAML'. + Expiration int `pulumi:"expiration"` + // Name of the claim rule to be created or updated. + Name string `pulumi:"name"` + // The realm name of the Idp this claim rule applies to. This field is required only if the type is specified as 'Profile-SAML'. + RealmName string `pulumi:"realmName"` + // Type of the claim rule. + Type string `pulumi:"type"` +} + +// GetIamTrustedProfileTemplateProfileRuleInput is an input type that accepts GetIamTrustedProfileTemplateProfileRuleArgs and GetIamTrustedProfileTemplateProfileRuleOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateProfileRuleInput` via: +// +// GetIamTrustedProfileTemplateProfileRuleArgs{...} +type GetIamTrustedProfileTemplateProfileRuleInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateProfileRuleOutput() GetIamTrustedProfileTemplateProfileRuleOutput + ToGetIamTrustedProfileTemplateProfileRuleOutputWithContext(context.Context) GetIamTrustedProfileTemplateProfileRuleOutput +} + +type GetIamTrustedProfileTemplateProfileRuleArgs struct { + // Conditions of this claim rule. + Conditions GetIamTrustedProfileTemplateProfileRuleConditionArrayInput `pulumi:"conditions"` + // Session expiration in seconds, only required if type is 'Profile-SAML'. + Expiration pulumi.IntInput `pulumi:"expiration"` + // Name of the claim rule to be created or updated. + Name pulumi.StringInput `pulumi:"name"` + // The realm name of the Idp this claim rule applies to. This field is required only if the type is specified as 'Profile-SAML'. + RealmName pulumi.StringInput `pulumi:"realmName"` + // Type of the claim rule. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIamTrustedProfileTemplateProfileRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateProfileRule)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateProfileRuleArgs) ToGetIamTrustedProfileTemplateProfileRuleOutput() GetIamTrustedProfileTemplateProfileRuleOutput { + return i.ToGetIamTrustedProfileTemplateProfileRuleOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateProfileRuleArgs) ToGetIamTrustedProfileTemplateProfileRuleOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateProfileRuleOutput) +} + +// GetIamTrustedProfileTemplateProfileRuleArrayInput is an input type that accepts GetIamTrustedProfileTemplateProfileRuleArray and GetIamTrustedProfileTemplateProfileRuleArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateProfileRuleArrayInput` via: +// +// GetIamTrustedProfileTemplateProfileRuleArray{ GetIamTrustedProfileTemplateProfileRuleArgs{...} } +type GetIamTrustedProfileTemplateProfileRuleArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateProfileRuleArrayOutput() GetIamTrustedProfileTemplateProfileRuleArrayOutput + ToGetIamTrustedProfileTemplateProfileRuleArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateProfileRuleArrayOutput +} + +type GetIamTrustedProfileTemplateProfileRuleArray []GetIamTrustedProfileTemplateProfileRuleInput + +func (GetIamTrustedProfileTemplateProfileRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateProfileRule)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateProfileRuleArray) ToGetIamTrustedProfileTemplateProfileRuleArrayOutput() GetIamTrustedProfileTemplateProfileRuleArrayOutput { + return i.ToGetIamTrustedProfileTemplateProfileRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateProfileRuleArray) ToGetIamTrustedProfileTemplateProfileRuleArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateProfileRuleArrayOutput) +} + +type GetIamTrustedProfileTemplateProfileRuleOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateProfileRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateProfileRule)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateProfileRuleOutput) ToGetIamTrustedProfileTemplateProfileRuleOutput() GetIamTrustedProfileTemplateProfileRuleOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileRuleOutput) ToGetIamTrustedProfileTemplateProfileRuleOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileRuleOutput { + return o +} + +// Conditions of this claim rule. +func (o GetIamTrustedProfileTemplateProfileRuleOutput) Conditions() GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileRule) []GetIamTrustedProfileTemplateProfileRuleCondition { + return v.Conditions + }).(GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput) +} + +// Session expiration in seconds, only required if type is 'Profile-SAML'. +func (o GetIamTrustedProfileTemplateProfileRuleOutput) Expiration() pulumi.IntOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileRule) int { return v.Expiration }).(pulumi.IntOutput) +} + +// Name of the claim rule to be created or updated. +func (o GetIamTrustedProfileTemplateProfileRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileRule) string { return v.Name }).(pulumi.StringOutput) +} + +// The realm name of the Idp this claim rule applies to. This field is required only if the type is specified as 'Profile-SAML'. +func (o GetIamTrustedProfileTemplateProfileRuleOutput) RealmName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileRule) string { return v.RealmName }).(pulumi.StringOutput) +} + +// Type of the claim rule. +func (o GetIamTrustedProfileTemplateProfileRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileRule) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateProfileRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateProfileRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateProfileRule)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateProfileRuleArrayOutput) ToGetIamTrustedProfileTemplateProfileRuleArrayOutput() GetIamTrustedProfileTemplateProfileRuleArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileRuleArrayOutput) ToGetIamTrustedProfileTemplateProfileRuleArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileRuleArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileRuleArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateProfileRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateProfileRule { + return vs[0].([]GetIamTrustedProfileTemplateProfileRule)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateProfileRuleOutput) +} + +type GetIamTrustedProfileTemplateProfileRuleCondition struct { + // The claim to evaluate against. + Claim string `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator string `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value string `pulumi:"value"` +} + +// GetIamTrustedProfileTemplateProfileRuleConditionInput is an input type that accepts GetIamTrustedProfileTemplateProfileRuleConditionArgs and GetIamTrustedProfileTemplateProfileRuleConditionOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateProfileRuleConditionInput` via: +// +// GetIamTrustedProfileTemplateProfileRuleConditionArgs{...} +type GetIamTrustedProfileTemplateProfileRuleConditionInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateProfileRuleConditionOutput() GetIamTrustedProfileTemplateProfileRuleConditionOutput + ToGetIamTrustedProfileTemplateProfileRuleConditionOutputWithContext(context.Context) GetIamTrustedProfileTemplateProfileRuleConditionOutput +} + +type GetIamTrustedProfileTemplateProfileRuleConditionArgs struct { + // The claim to evaluate against. + Claim pulumi.StringInput `pulumi:"claim"` + // The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. + Operator pulumi.StringInput `pulumi:"operator"` + // The stringified JSON value that the claim is compared to using the operator. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamTrustedProfileTemplateProfileRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateProfileRuleCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateProfileRuleConditionArgs) ToGetIamTrustedProfileTemplateProfileRuleConditionOutput() GetIamTrustedProfileTemplateProfileRuleConditionOutput { + return i.ToGetIamTrustedProfileTemplateProfileRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateProfileRuleConditionArgs) ToGetIamTrustedProfileTemplateProfileRuleConditionOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateProfileRuleConditionOutput) +} + +// GetIamTrustedProfileTemplateProfileRuleConditionArrayInput is an input type that accepts GetIamTrustedProfileTemplateProfileRuleConditionArray and GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfileTemplateProfileRuleConditionArrayInput` via: +// +// GetIamTrustedProfileTemplateProfileRuleConditionArray{ GetIamTrustedProfileTemplateProfileRuleConditionArgs{...} } +type GetIamTrustedProfileTemplateProfileRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfileTemplateProfileRuleConditionArrayOutput() GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput + ToGetIamTrustedProfileTemplateProfileRuleConditionArrayOutputWithContext(context.Context) GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput +} + +type GetIamTrustedProfileTemplateProfileRuleConditionArray []GetIamTrustedProfileTemplateProfileRuleConditionInput + +func (GetIamTrustedProfileTemplateProfileRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateProfileRuleCondition)(nil)).Elem() +} + +func (i GetIamTrustedProfileTemplateProfileRuleConditionArray) ToGetIamTrustedProfileTemplateProfileRuleConditionArrayOutput() GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return i.ToGetIamTrustedProfileTemplateProfileRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfileTemplateProfileRuleConditionArray) ToGetIamTrustedProfileTemplateProfileRuleConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput) +} + +type GetIamTrustedProfileTemplateProfileRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateProfileRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfileTemplateProfileRuleCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateProfileRuleConditionOutput) ToGetIamTrustedProfileTemplateProfileRuleConditionOutput() GetIamTrustedProfileTemplateProfileRuleConditionOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileRuleConditionOutput) ToGetIamTrustedProfileTemplateProfileRuleConditionOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileRuleConditionOutput { + return o +} + +// The claim to evaluate against. +func (o GetIamTrustedProfileTemplateProfileRuleConditionOutput) Claim() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileRuleCondition) string { return v.Claim }).(pulumi.StringOutput) +} + +// The operation to perform on the claim. valid values are EQUALS, NOT_EQUALS, EQUALS_IGNORE_CASE, NOT_EQUALS_IGNORE_CASE, CONTAINS, IN. +func (o GetIamTrustedProfileTemplateProfileRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// The stringified JSON value that the claim is compared to using the operator. +func (o GetIamTrustedProfileTemplateProfileRuleConditionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfileTemplateProfileRuleCondition) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfileTemplateProfileRuleCondition)(nil)).Elem() +} + +func (o GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput) ToGetIamTrustedProfileTemplateProfileRuleConditionArrayOutput() GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput) ToGetIamTrustedProfileTemplateProfileRuleConditionArrayOutputWithContext(ctx context.Context) GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput { + return o +} + +func (o GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfileTemplateProfileRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfileTemplateProfileRuleCondition { + return vs[0].([]GetIamTrustedProfileTemplateProfileRuleCondition)[vs[1].(int)] + }).(GetIamTrustedProfileTemplateProfileRuleConditionOutput) +} + +type GetIamTrustedProfilesProfile struct { + // ID of the account that this trusted profile belong to. + AccountId string `pulumi:"accountId"` + // ID of the assignment that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + AssignmentId string `pulumi:"assignmentId"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt string `pulumi:"createdAt"` + // Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::profile:Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + Crn string `pulumi:"crn"` + // The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. + Description string `pulumi:"description"` + // Version of the trusted profile details object. You need to specify this value when updating the trusted profile to avoid stale updates. + EntityTag string `pulumi:"entityTag"` + // History of the trusted profile. + Histories []GetIamTrustedProfilesProfileHistory `pulumi:"histories"` + // The iamId of this trusted profile. + IamId string `pulumi:"iamId"` + // the unique identifier of the trusted profile. Example:'Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + Id string `pulumi:"id"` + // IMS acount ID of the trusted profile. + ImsAccountId int `pulumi:"imsAccountId"` + // IMS user ID of the trusted profile. + ImsUserId int `pulumi:"imsUserId"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt string `pulumi:"modifiedAt"` + // Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. + Name string `pulumi:"name"` + // ID of the IAM template that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + TemplateId string `pulumi:"templateId"` +} + +// GetIamTrustedProfilesProfileInput is an input type that accepts GetIamTrustedProfilesProfileArgs and GetIamTrustedProfilesProfileOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilesProfileInput` via: +// +// GetIamTrustedProfilesProfileArgs{...} +type GetIamTrustedProfilesProfileInput interface { + pulumi.Input + + ToGetIamTrustedProfilesProfileOutput() GetIamTrustedProfilesProfileOutput + ToGetIamTrustedProfilesProfileOutputWithContext(context.Context) GetIamTrustedProfilesProfileOutput +} + +type GetIamTrustedProfilesProfileArgs struct { + // ID of the account that this trusted profile belong to. + AccountId pulumi.StringInput `pulumi:"accountId"` + // ID of the assignment that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + AssignmentId pulumi.StringInput `pulumi:"assignmentId"` + // If set contains a date time string of the creation date in ISO format. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::profile:Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + Crn pulumi.StringInput `pulumi:"crn"` + // The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. + Description pulumi.StringInput `pulumi:"description"` + // Version of the trusted profile details object. You need to specify this value when updating the trusted profile to avoid stale updates. + EntityTag pulumi.StringInput `pulumi:"entityTag"` + // History of the trusted profile. + Histories GetIamTrustedProfilesProfileHistoryArrayInput `pulumi:"histories"` + // The iamId of this trusted profile. + IamId pulumi.StringInput `pulumi:"iamId"` + // the unique identifier of the trusted profile. Example:'Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. + Id pulumi.StringInput `pulumi:"id"` + // IMS acount ID of the trusted profile. + ImsAccountId pulumi.IntInput `pulumi:"imsAccountId"` + // IMS user ID of the trusted profile. + ImsUserId pulumi.IntInput `pulumi:"imsUserId"` + // If set contains a date time string of the last modification date in ISO format. + ModifiedAt pulumi.StringInput `pulumi:"modifiedAt"` + // Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. + Name pulumi.StringInput `pulumi:"name"` + // ID of the IAM template that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. + TemplateId pulumi.StringInput `pulumi:"templateId"` +} + +func (GetIamTrustedProfilesProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilesProfile)(nil)).Elem() +} + +func (i GetIamTrustedProfilesProfileArgs) ToGetIamTrustedProfilesProfileOutput() GetIamTrustedProfilesProfileOutput { + return i.ToGetIamTrustedProfilesProfileOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilesProfileArgs) ToGetIamTrustedProfilesProfileOutputWithContext(ctx context.Context) GetIamTrustedProfilesProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilesProfileOutput) +} + +// GetIamTrustedProfilesProfileArrayInput is an input type that accepts GetIamTrustedProfilesProfileArray and GetIamTrustedProfilesProfileArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilesProfileArrayInput` via: +// +// GetIamTrustedProfilesProfileArray{ GetIamTrustedProfilesProfileArgs{...} } +type GetIamTrustedProfilesProfileArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfilesProfileArrayOutput() GetIamTrustedProfilesProfileArrayOutput + ToGetIamTrustedProfilesProfileArrayOutputWithContext(context.Context) GetIamTrustedProfilesProfileArrayOutput +} + +type GetIamTrustedProfilesProfileArray []GetIamTrustedProfilesProfileInput + +func (GetIamTrustedProfilesProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilesProfile)(nil)).Elem() +} + +func (i GetIamTrustedProfilesProfileArray) ToGetIamTrustedProfilesProfileArrayOutput() GetIamTrustedProfilesProfileArrayOutput { + return i.ToGetIamTrustedProfilesProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilesProfileArray) ToGetIamTrustedProfilesProfileArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilesProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilesProfileArrayOutput) +} + +type GetIamTrustedProfilesProfileOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilesProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilesProfile)(nil)).Elem() +} + +func (o GetIamTrustedProfilesProfileOutput) ToGetIamTrustedProfilesProfileOutput() GetIamTrustedProfilesProfileOutput { + return o +} + +func (o GetIamTrustedProfilesProfileOutput) ToGetIamTrustedProfilesProfileOutputWithContext(ctx context.Context) GetIamTrustedProfilesProfileOutput { + return o +} + +// ID of the account that this trusted profile belong to. +func (o GetIamTrustedProfilesProfileOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.AccountId }).(pulumi.StringOutput) +} + +// ID of the assignment that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. +func (o GetIamTrustedProfilesProfileOutput) AssignmentId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.AssignmentId }).(pulumi.StringOutput) +} + +// If set contains a date time string of the creation date in ISO format. +func (o GetIamTrustedProfilesProfileOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Cloud Resource Name of the item. Example Cloud Resource Name: 'crn:v1:bluemix:public:iam-identity:us-south:a/myaccount::profile:Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. +func (o GetIamTrustedProfilesProfileOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.Crn }).(pulumi.StringOutput) +} + +// The optional description of the trusted profile. The 'description' property is only available if a description was provided during a create of a trusted profile. +func (o GetIamTrustedProfilesProfileOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.Description }).(pulumi.StringOutput) +} + +// Version of the trusted profile details object. You need to specify this value when updating the trusted profile to avoid stale updates. +func (o GetIamTrustedProfilesProfileOutput) EntityTag() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.EntityTag }).(pulumi.StringOutput) +} + +// History of the trusted profile. +func (o GetIamTrustedProfilesProfileOutput) Histories() GetIamTrustedProfilesProfileHistoryArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) []GetIamTrustedProfilesProfileHistory { return v.Histories }).(GetIamTrustedProfilesProfileHistoryArrayOutput) +} + +// The iamId of this trusted profile. +func (o GetIamTrustedProfilesProfileOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.IamId }).(pulumi.StringOutput) +} + +// the unique identifier of the trusted profile. Example:'Profile-94497d0d-2ac3-41bf-a993-a49d1b14627c'. +func (o GetIamTrustedProfilesProfileOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.Id }).(pulumi.StringOutput) +} + +// IMS acount ID of the trusted profile. +func (o GetIamTrustedProfilesProfileOutput) ImsAccountId() pulumi.IntOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) int { return v.ImsAccountId }).(pulumi.IntOutput) +} + +// IMS user ID of the trusted profile. +func (o GetIamTrustedProfilesProfileOutput) ImsUserId() pulumi.IntOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) int { return v.ImsUserId }).(pulumi.IntOutput) +} + +// If set contains a date time string of the last modification date in ISO format. +func (o GetIamTrustedProfilesProfileOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// Name of the trusted profile. The name is checked for uniqueness. Therefore trusted profiles with the same names can not exist in the same account. +func (o GetIamTrustedProfilesProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// ID of the IAM template that was used to create an enterprise-managed trusted profile in your account. When returned, this indicates that the trusted profile is created from and managed by a template in the root enterprise account. +func (o GetIamTrustedProfilesProfileOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfile) string { return v.TemplateId }).(pulumi.StringOutput) +} + +type GetIamTrustedProfilesProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilesProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilesProfile)(nil)).Elem() +} + +func (o GetIamTrustedProfilesProfileArrayOutput) ToGetIamTrustedProfilesProfileArrayOutput() GetIamTrustedProfilesProfileArrayOutput { + return o +} + +func (o GetIamTrustedProfilesProfileArrayOutput) ToGetIamTrustedProfilesProfileArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilesProfileArrayOutput { + return o +} + +func (o GetIamTrustedProfilesProfileArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfilesProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfilesProfile { + return vs[0].([]GetIamTrustedProfilesProfile)[vs[1].(int)] + }).(GetIamTrustedProfilesProfileOutput) +} + +type GetIamTrustedProfilesProfileHistory struct { + // Action of the history entry. + Action string `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId string `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount string `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message string `pulumi:"message"` + // Params of the history entry. + Params []string `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp string `pulumi:"timestamp"` +} + +// GetIamTrustedProfilesProfileHistoryInput is an input type that accepts GetIamTrustedProfilesProfileHistoryArgs and GetIamTrustedProfilesProfileHistoryOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilesProfileHistoryInput` via: +// +// GetIamTrustedProfilesProfileHistoryArgs{...} +type GetIamTrustedProfilesProfileHistoryInput interface { + pulumi.Input + + ToGetIamTrustedProfilesProfileHistoryOutput() GetIamTrustedProfilesProfileHistoryOutput + ToGetIamTrustedProfilesProfileHistoryOutputWithContext(context.Context) GetIamTrustedProfilesProfileHistoryOutput +} + +type GetIamTrustedProfilesProfileHistoryArgs struct { + // Action of the history entry. + Action pulumi.StringInput `pulumi:"action"` + // IAM ID of the identity which triggered the action. + IamId pulumi.StringInput `pulumi:"iamId"` + // Account of the identity which triggered the action. + IamIdAccount pulumi.StringInput `pulumi:"iamIdAccount"` + // Message which summarizes the executed action. + Message pulumi.StringInput `pulumi:"message"` + // Params of the history entry. + Params pulumi.StringArrayInput `pulumi:"params"` + // Timestamp when the action was triggered. + Timestamp pulumi.StringInput `pulumi:"timestamp"` +} + +func (GetIamTrustedProfilesProfileHistoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilesProfileHistory)(nil)).Elem() +} + +func (i GetIamTrustedProfilesProfileHistoryArgs) ToGetIamTrustedProfilesProfileHistoryOutput() GetIamTrustedProfilesProfileHistoryOutput { + return i.ToGetIamTrustedProfilesProfileHistoryOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilesProfileHistoryArgs) ToGetIamTrustedProfilesProfileHistoryOutputWithContext(ctx context.Context) GetIamTrustedProfilesProfileHistoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilesProfileHistoryOutput) +} + +// GetIamTrustedProfilesProfileHistoryArrayInput is an input type that accepts GetIamTrustedProfilesProfileHistoryArray and GetIamTrustedProfilesProfileHistoryArrayOutput values. +// You can construct a concrete instance of `GetIamTrustedProfilesProfileHistoryArrayInput` via: +// +// GetIamTrustedProfilesProfileHistoryArray{ GetIamTrustedProfilesProfileHistoryArgs{...} } +type GetIamTrustedProfilesProfileHistoryArrayInput interface { + pulumi.Input + + ToGetIamTrustedProfilesProfileHistoryArrayOutput() GetIamTrustedProfilesProfileHistoryArrayOutput + ToGetIamTrustedProfilesProfileHistoryArrayOutputWithContext(context.Context) GetIamTrustedProfilesProfileHistoryArrayOutput +} + +type GetIamTrustedProfilesProfileHistoryArray []GetIamTrustedProfilesProfileHistoryInput + +func (GetIamTrustedProfilesProfileHistoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilesProfileHistory)(nil)).Elem() +} + +func (i GetIamTrustedProfilesProfileHistoryArray) ToGetIamTrustedProfilesProfileHistoryArrayOutput() GetIamTrustedProfilesProfileHistoryArrayOutput { + return i.ToGetIamTrustedProfilesProfileHistoryArrayOutputWithContext(context.Background()) +} + +func (i GetIamTrustedProfilesProfileHistoryArray) ToGetIamTrustedProfilesProfileHistoryArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilesProfileHistoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamTrustedProfilesProfileHistoryArrayOutput) +} + +type GetIamTrustedProfilesProfileHistoryOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilesProfileHistoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamTrustedProfilesProfileHistory)(nil)).Elem() +} + +func (o GetIamTrustedProfilesProfileHistoryOutput) ToGetIamTrustedProfilesProfileHistoryOutput() GetIamTrustedProfilesProfileHistoryOutput { + return o +} + +func (o GetIamTrustedProfilesProfileHistoryOutput) ToGetIamTrustedProfilesProfileHistoryOutputWithContext(ctx context.Context) GetIamTrustedProfilesProfileHistoryOutput { + return o +} + +// Action of the history entry. +func (o GetIamTrustedProfilesProfileHistoryOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfileHistory) string { return v.Action }).(pulumi.StringOutput) +} + +// IAM ID of the identity which triggered the action. +func (o GetIamTrustedProfilesProfileHistoryOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfileHistory) string { return v.IamId }).(pulumi.StringOutput) +} + +// Account of the identity which triggered the action. +func (o GetIamTrustedProfilesProfileHistoryOutput) IamIdAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfileHistory) string { return v.IamIdAccount }).(pulumi.StringOutput) +} + +// Message which summarizes the executed action. +func (o GetIamTrustedProfilesProfileHistoryOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfileHistory) string { return v.Message }).(pulumi.StringOutput) +} + +// Params of the history entry. +func (o GetIamTrustedProfilesProfileHistoryOutput) Params() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfileHistory) []string { return v.Params }).(pulumi.StringArrayOutput) +} + +// Timestamp when the action was triggered. +func (o GetIamTrustedProfilesProfileHistoryOutput) Timestamp() pulumi.StringOutput { + return o.ApplyT(func(v GetIamTrustedProfilesProfileHistory) string { return v.Timestamp }).(pulumi.StringOutput) +} + +type GetIamTrustedProfilesProfileHistoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIamTrustedProfilesProfileHistoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamTrustedProfilesProfileHistory)(nil)).Elem() +} + +func (o GetIamTrustedProfilesProfileHistoryArrayOutput) ToGetIamTrustedProfilesProfileHistoryArrayOutput() GetIamTrustedProfilesProfileHistoryArrayOutput { + return o +} + +func (o GetIamTrustedProfilesProfileHistoryArrayOutput) ToGetIamTrustedProfilesProfileHistoryArrayOutputWithContext(ctx context.Context) GetIamTrustedProfilesProfileHistoryArrayOutput { + return o +} + +func (o GetIamTrustedProfilesProfileHistoryArrayOutput) Index(i pulumi.IntInput) GetIamTrustedProfilesProfileHistoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamTrustedProfilesProfileHistory { + return vs[0].([]GetIamTrustedProfilesProfileHistory)[vs[1].(int)] + }).(GetIamTrustedProfilesProfileHistoryOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfa struct { + // The enrollment complies to the effective requirement. + Complies bool `pulumi:"complies"` + SecurityQuestions []GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion `pulumi:"securityQuestions"` + Totps []GetIamUserMfaEnrollmentsAccountBasedMfaTotp `pulumi:"totps"` + Verisigns []GetIamUserMfaEnrollmentsAccountBasedMfaVerisign `pulumi:"verisigns"` +} + +// GetIamUserMfaEnrollmentsAccountBasedMfaInput is an input type that accepts GetIamUserMfaEnrollmentsAccountBasedMfaArgs and GetIamUserMfaEnrollmentsAccountBasedMfaOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsAccountBasedMfaInput` via: +// +// GetIamUserMfaEnrollmentsAccountBasedMfaArgs{...} +type GetIamUserMfaEnrollmentsAccountBasedMfaInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsAccountBasedMfaOutput() GetIamUserMfaEnrollmentsAccountBasedMfaOutput + ToGetIamUserMfaEnrollmentsAccountBasedMfaOutputWithContext(context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaOutput +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaArgs struct { + // The enrollment complies to the effective requirement. + Complies pulumi.BoolInput `pulumi:"complies"` + SecurityQuestions GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayInput `pulumi:"securityQuestions"` + Totps GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayInput `pulumi:"totps"` + Verisigns GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayInput `pulumi:"verisigns"` +} + +func (GetIamUserMfaEnrollmentsAccountBasedMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfa)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaArgs) ToGetIamUserMfaEnrollmentsAccountBasedMfaOutput() GetIamUserMfaEnrollmentsAccountBasedMfaOutput { + return i.ToGetIamUserMfaEnrollmentsAccountBasedMfaOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaArgs) ToGetIamUserMfaEnrollmentsAccountBasedMfaOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsAccountBasedMfaOutput) +} + +// GetIamUserMfaEnrollmentsAccountBasedMfaArrayInput is an input type that accepts GetIamUserMfaEnrollmentsAccountBasedMfaArray and GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsAccountBasedMfaArrayInput` via: +// +// GetIamUserMfaEnrollmentsAccountBasedMfaArray{ GetIamUserMfaEnrollmentsAccountBasedMfaArgs{...} } +type GetIamUserMfaEnrollmentsAccountBasedMfaArrayInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput + ToGetIamUserMfaEnrollmentsAccountBasedMfaArrayOutputWithContext(context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaArray []GetIamUserMfaEnrollmentsAccountBasedMfaInput + +func (GetIamUserMfaEnrollmentsAccountBasedMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsAccountBasedMfa)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaArray) ToGetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput { + return i.ToGetIamUserMfaEnrollmentsAccountBasedMfaArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaArray) ToGetIamUserMfaEnrollmentsAccountBasedMfaArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsAccountBasedMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfa)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaOutput() GetIamUserMfaEnrollmentsAccountBasedMfaOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaOutput { + return o +} + +// The enrollment complies to the effective requirement. +func (o GetIamUserMfaEnrollmentsAccountBasedMfaOutput) Complies() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfa) bool { return v.Complies }).(pulumi.BoolOutput) +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaOutput) SecurityQuestions() GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfa) []GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion { + return v.SecurityQuestions + }).(GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput) +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaOutput) Totps() GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfa) []GetIamUserMfaEnrollmentsAccountBasedMfaTotp { + return v.Totps + }).(GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput) +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaOutput) Verisigns() GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfa) []GetIamUserMfaEnrollmentsAccountBasedMfaVerisign { + return v.Verisigns + }).(GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsAccountBasedMfa)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput) Index(i pulumi.IntInput) GetIamUserMfaEnrollmentsAccountBasedMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserMfaEnrollmentsAccountBasedMfa { + return vs[0].([]GetIamUserMfaEnrollmentsAccountBasedMfa)[vs[1].(int)] + }).(GetIamUserMfaEnrollmentsAccountBasedMfaOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion struct { + // Describes whether the enrollment type is enrolled. + Enrolled bool `pulumi:"enrolled"` + // Describes whether the enrollment type is required. + Required bool `pulumi:"required"` +} + +// GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionInput is an input type that accepts GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArgs and GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionInput` via: +// +// GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArgs{...} +type GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput() GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput + ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutputWithContext(context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArgs struct { + // Describes whether the enrollment type is enrolled. + Enrolled pulumi.BoolInput `pulumi:"enrolled"` + // Describes whether the enrollment type is required. + Required pulumi.BoolInput `pulumi:"required"` +} + +func (GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArgs) ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput() GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput { + return i.ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArgs) ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput) +} + +// GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayInput is an input type that accepts GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArray and GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayInput` via: +// +// GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArray{ GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArgs{...} } +type GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput + ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutputWithContext(context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArray []GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionInput + +func (GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArray) ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput { + return i.ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArray) ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput() GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput { + return o +} + +// Describes whether the enrollment type is enrolled. +func (o GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput) Enrolled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion) bool { return v.Enrolled }).(pulumi.BoolOutput) +} + +// Describes whether the enrollment type is required. +func (o GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput) Required() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion) bool { return v.Required }).(pulumi.BoolOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput) Index(i pulumi.IntInput) GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion { + return vs[0].([]GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestion)[vs[1].(int)] + }).(GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaTotp struct { + // Describes whether the enrollment type is enrolled. + Enrolled bool `pulumi:"enrolled"` + // Describes whether the enrollment type is required. + Required bool `pulumi:"required"` +} + +// GetIamUserMfaEnrollmentsAccountBasedMfaTotpInput is an input type that accepts GetIamUserMfaEnrollmentsAccountBasedMfaTotpArgs and GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsAccountBasedMfaTotpInput` via: +// +// GetIamUserMfaEnrollmentsAccountBasedMfaTotpArgs{...} +type GetIamUserMfaEnrollmentsAccountBasedMfaTotpInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput() GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput + ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpOutputWithContext(context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaTotpArgs struct { + // Describes whether the enrollment type is enrolled. + Enrolled pulumi.BoolInput `pulumi:"enrolled"` + // Describes whether the enrollment type is required. + Required pulumi.BoolInput `pulumi:"required"` +} + +func (GetIamUserMfaEnrollmentsAccountBasedMfaTotpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaTotp)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaTotpArgs) ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput() GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput { + return i.ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaTotpArgs) ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput) +} + +// GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayInput is an input type that accepts GetIamUserMfaEnrollmentsAccountBasedMfaTotpArray and GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayInput` via: +// +// GetIamUserMfaEnrollmentsAccountBasedMfaTotpArray{ GetIamUserMfaEnrollmentsAccountBasedMfaTotpArgs{...} } +type GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput + ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutputWithContext(context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaTotpArray []GetIamUserMfaEnrollmentsAccountBasedMfaTotpInput + +func (GetIamUserMfaEnrollmentsAccountBasedMfaTotpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsAccountBasedMfaTotp)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaTotpArray) ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput { + return i.ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaTotpArray) ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaTotp)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput() GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput { + return o +} + +// Describes whether the enrollment type is enrolled. +func (o GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput) Enrolled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfaTotp) bool { return v.Enrolled }).(pulumi.BoolOutput) +} + +// Describes whether the enrollment type is required. +func (o GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput) Required() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfaTotp) bool { return v.Required }).(pulumi.BoolOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsAccountBasedMfaTotp)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput) Index(i pulumi.IntInput) GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserMfaEnrollmentsAccountBasedMfaTotp { + return vs[0].([]GetIamUserMfaEnrollmentsAccountBasedMfaTotp)[vs[1].(int)] + }).(GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaVerisign struct { + // Describes whether the enrollment type is enrolled. + Enrolled bool `pulumi:"enrolled"` + // Describes whether the enrollment type is required. + Required bool `pulumi:"required"` +} + +// GetIamUserMfaEnrollmentsAccountBasedMfaVerisignInput is an input type that accepts GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArgs and GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsAccountBasedMfaVerisignInput` via: +// +// GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArgs{...} +type GetIamUserMfaEnrollmentsAccountBasedMfaVerisignInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput() GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput + ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutputWithContext(context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArgs struct { + // Describes whether the enrollment type is enrolled. + Enrolled pulumi.BoolInput `pulumi:"enrolled"` + // Describes whether the enrollment type is required. + Required pulumi.BoolInput `pulumi:"required"` +} + +func (GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaVerisign)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArgs) ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput() GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput { + return i.ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArgs) ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput) +} + +// GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayInput is an input type that accepts GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArray and GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayInput` via: +// +// GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArray{ GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArgs{...} } +type GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput + ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutputWithContext(context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArray []GetIamUserMfaEnrollmentsAccountBasedMfaVerisignInput + +func (GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsAccountBasedMfaVerisign)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArray) ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput { + return i.ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArray) ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaVerisign)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput() GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput { + return o +} + +// Describes whether the enrollment type is enrolled. +func (o GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput) Enrolled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfaVerisign) bool { return v.Enrolled }).(pulumi.BoolOutput) +} + +// Describes whether the enrollment type is required. +func (o GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput) Required() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsAccountBasedMfaVerisign) bool { return v.Required }).(pulumi.BoolOutput) +} + +type GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsAccountBasedMfaVerisign)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput() GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput) ToGetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput) Index(i pulumi.IntInput) GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserMfaEnrollmentsAccountBasedMfaVerisign { + return vs[0].([]GetIamUserMfaEnrollmentsAccountBasedMfaVerisign)[vs[1].(int)] + }).(GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput) +} + +type GetIamUserMfaEnrollmentsIdBasedMfa struct { + // The enrollment complies to the effective requirement. + Complies bool `pulumi:"complies"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + TraitAccountDefault string `pulumi:"traitAccountDefault"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + TraitEffective string `pulumi:"traitEffective"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + TraitUserSpecific string `pulumi:"traitUserSpecific"` +} + +// GetIamUserMfaEnrollmentsIdBasedMfaInput is an input type that accepts GetIamUserMfaEnrollmentsIdBasedMfaArgs and GetIamUserMfaEnrollmentsIdBasedMfaOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsIdBasedMfaInput` via: +// +// GetIamUserMfaEnrollmentsIdBasedMfaArgs{...} +type GetIamUserMfaEnrollmentsIdBasedMfaInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsIdBasedMfaOutput() GetIamUserMfaEnrollmentsIdBasedMfaOutput + ToGetIamUserMfaEnrollmentsIdBasedMfaOutputWithContext(context.Context) GetIamUserMfaEnrollmentsIdBasedMfaOutput +} + +type GetIamUserMfaEnrollmentsIdBasedMfaArgs struct { + // The enrollment complies to the effective requirement. + Complies pulumi.BoolInput `pulumi:"complies"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + TraitAccountDefault pulumi.StringInput `pulumi:"traitAccountDefault"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + TraitEffective pulumi.StringInput `pulumi:"traitEffective"` + // Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. + TraitUserSpecific pulumi.StringInput `pulumi:"traitUserSpecific"` +} + +func (GetIamUserMfaEnrollmentsIdBasedMfaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsIdBasedMfa)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsIdBasedMfaArgs) ToGetIamUserMfaEnrollmentsIdBasedMfaOutput() GetIamUserMfaEnrollmentsIdBasedMfaOutput { + return i.ToGetIamUserMfaEnrollmentsIdBasedMfaOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsIdBasedMfaArgs) ToGetIamUserMfaEnrollmentsIdBasedMfaOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsIdBasedMfaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsIdBasedMfaOutput) +} + +// GetIamUserMfaEnrollmentsIdBasedMfaArrayInput is an input type that accepts GetIamUserMfaEnrollmentsIdBasedMfaArray and GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput values. +// You can construct a concrete instance of `GetIamUserMfaEnrollmentsIdBasedMfaArrayInput` via: +// +// GetIamUserMfaEnrollmentsIdBasedMfaArray{ GetIamUserMfaEnrollmentsIdBasedMfaArgs{...} } +type GetIamUserMfaEnrollmentsIdBasedMfaArrayInput interface { + pulumi.Input + + ToGetIamUserMfaEnrollmentsIdBasedMfaArrayOutput() GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput + ToGetIamUserMfaEnrollmentsIdBasedMfaArrayOutputWithContext(context.Context) GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput +} + +type GetIamUserMfaEnrollmentsIdBasedMfaArray []GetIamUserMfaEnrollmentsIdBasedMfaInput + +func (GetIamUserMfaEnrollmentsIdBasedMfaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsIdBasedMfa)(nil)).Elem() +} + +func (i GetIamUserMfaEnrollmentsIdBasedMfaArray) ToGetIamUserMfaEnrollmentsIdBasedMfaArrayOutput() GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput { + return i.ToGetIamUserMfaEnrollmentsIdBasedMfaArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserMfaEnrollmentsIdBasedMfaArray) ToGetIamUserMfaEnrollmentsIdBasedMfaArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput) +} + +type GetIamUserMfaEnrollmentsIdBasedMfaOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsIdBasedMfaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserMfaEnrollmentsIdBasedMfa)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsIdBasedMfaOutput) ToGetIamUserMfaEnrollmentsIdBasedMfaOutput() GetIamUserMfaEnrollmentsIdBasedMfaOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsIdBasedMfaOutput) ToGetIamUserMfaEnrollmentsIdBasedMfaOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsIdBasedMfaOutput { + return o +} + +// The enrollment complies to the effective requirement. +func (o GetIamUserMfaEnrollmentsIdBasedMfaOutput) Complies() pulumi.BoolOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsIdBasedMfa) bool { return v.Complies }).(pulumi.BoolOutput) +} + +// Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamUserMfaEnrollmentsIdBasedMfaOutput) TraitAccountDefault() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsIdBasedMfa) string { return v.TraitAccountDefault }).(pulumi.StringOutput) +} + +// Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamUserMfaEnrollmentsIdBasedMfaOutput) TraitEffective() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsIdBasedMfa) string { return v.TraitEffective }).(pulumi.StringOutput) +} + +// Defines the MFA trait for the account. Valid values: * NONE - No MFA trait set * NONE_NO_ROPC- No MFA, disable CLI logins with only a password * TOTP - For all non-federated IBMId users * TOTP4ALL - For all users * LEVEL1 - Email-based MFA for all users * LEVEL2 - TOTP-based MFA for all users * LEVEL3 - U2F MFA for all users. +func (o GetIamUserMfaEnrollmentsIdBasedMfaOutput) TraitUserSpecific() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserMfaEnrollmentsIdBasedMfa) string { return v.TraitUserSpecific }).(pulumi.StringOutput) +} + +type GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserMfaEnrollmentsIdBasedMfa)(nil)).Elem() +} + +func (o GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput) ToGetIamUserMfaEnrollmentsIdBasedMfaArrayOutput() GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput) ToGetIamUserMfaEnrollmentsIdBasedMfaArrayOutputWithContext(ctx context.Context) GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput { + return o +} + +func (o GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput) Index(i pulumi.IntInput) GetIamUserMfaEnrollmentsIdBasedMfaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserMfaEnrollmentsIdBasedMfa { + return vs[0].([]GetIamUserMfaEnrollmentsIdBasedMfa)[vs[1].(int)] + }).(GetIamUserMfaEnrollmentsIdBasedMfaOutput) +} + +type GetIamUserPolicyPolicy struct { + // Description of the Policy + Description string `pulumi:"description"` + Id string `pulumi:"id"` + // Pattern rule follows for time-based condition + Pattern *string `pulumi:"pattern"` + // Set access management tags. + ResourceTags []GetIamUserPolicyPolicyResourceTag `pulumi:"resourceTags"` + Resources []GetIamUserPolicyPolicyResource `pulumi:"resources"` + // Role names of the policy definition + Roles []string `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions []GetIamUserPolicyPolicyRuleCondition `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator *string `pulumi:"ruleOperator"` +} + +// GetIamUserPolicyPolicyInput is an input type that accepts GetIamUserPolicyPolicyArgs and GetIamUserPolicyPolicyOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyInput` via: +// +// GetIamUserPolicyPolicyArgs{...} +type GetIamUserPolicyPolicyInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyOutput() GetIamUserPolicyPolicyOutput + ToGetIamUserPolicyPolicyOutputWithContext(context.Context) GetIamUserPolicyPolicyOutput +} + +type GetIamUserPolicyPolicyArgs struct { + // Description of the Policy + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + // Pattern rule follows for time-based condition + Pattern pulumi.StringPtrInput `pulumi:"pattern"` + // Set access management tags. + ResourceTags GetIamUserPolicyPolicyResourceTagArrayInput `pulumi:"resourceTags"` + Resources GetIamUserPolicyPolicyResourceArrayInput `pulumi:"resources"` + // Role names of the policy definition + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Rule conditions enforced by the policy + RuleConditions GetIamUserPolicyPolicyRuleConditionArrayInput `pulumi:"ruleConditions"` + // Operator that multiple rule conditions are evaluated over + RuleOperator pulumi.StringPtrInput `pulumi:"ruleOperator"` +} + +func (GetIamUserPolicyPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicy)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyArgs) ToGetIamUserPolicyPolicyOutput() GetIamUserPolicyPolicyOutput { + return i.ToGetIamUserPolicyPolicyOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyArgs) ToGetIamUserPolicyPolicyOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyOutput) +} + +// GetIamUserPolicyPolicyArrayInput is an input type that accepts GetIamUserPolicyPolicyArray and GetIamUserPolicyPolicyArrayOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyArrayInput` via: +// +// GetIamUserPolicyPolicyArray{ GetIamUserPolicyPolicyArgs{...} } +type GetIamUserPolicyPolicyArrayInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyArrayOutput() GetIamUserPolicyPolicyArrayOutput + ToGetIamUserPolicyPolicyArrayOutputWithContext(context.Context) GetIamUserPolicyPolicyArrayOutput +} + +type GetIamUserPolicyPolicyArray []GetIamUserPolicyPolicyInput + +func (GetIamUserPolicyPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicy)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyArray) ToGetIamUserPolicyPolicyArrayOutput() GetIamUserPolicyPolicyArrayOutput { + return i.ToGetIamUserPolicyPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyArray) ToGetIamUserPolicyPolicyArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyArrayOutput) +} + +type GetIamUserPolicyPolicyOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicy)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyOutput) ToGetIamUserPolicyPolicyOutput() GetIamUserPolicyPolicyOutput { + return o +} + +func (o GetIamUserPolicyPolicyOutput) ToGetIamUserPolicyPolicyOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyOutput { + return o +} + +// Description of the Policy +func (o GetIamUserPolicyPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetIamUserPolicyPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// Pattern rule follows for time-based condition +func (o GetIamUserPolicyPolicyOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicy) *string { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// Set access management tags. +func (o GetIamUserPolicyPolicyOutput) ResourceTags() GetIamUserPolicyPolicyResourceTagArrayOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicy) []GetIamUserPolicyPolicyResourceTag { return v.ResourceTags }).(GetIamUserPolicyPolicyResourceTagArrayOutput) +} + +func (o GetIamUserPolicyPolicyOutput) Resources() GetIamUserPolicyPolicyResourceArrayOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicy) []GetIamUserPolicyPolicyResource { return v.Resources }).(GetIamUserPolicyPolicyResourceArrayOutput) +} + +// Role names of the policy definition +func (o GetIamUserPolicyPolicyOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicy) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Rule conditions enforced by the policy +func (o GetIamUserPolicyPolicyOutput) RuleConditions() GetIamUserPolicyPolicyRuleConditionArrayOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicy) []GetIamUserPolicyPolicyRuleCondition { return v.RuleConditions }).(GetIamUserPolicyPolicyRuleConditionArrayOutput) +} + +// Operator that multiple rule conditions are evaluated over +func (o GetIamUserPolicyPolicyOutput) RuleOperator() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicy) *string { return v.RuleOperator }).(pulumi.StringPtrOutput) +} + +type GetIamUserPolicyPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicy)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyArrayOutput) ToGetIamUserPolicyPolicyArrayOutput() GetIamUserPolicyPolicyArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyArrayOutput) ToGetIamUserPolicyPolicyArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyArrayOutput) Index(i pulumi.IntInput) GetIamUserPolicyPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserPolicyPolicy { + return vs[0].([]GetIamUserPolicyPolicy)[vs[1].(int)] + }).(GetIamUserPolicyPolicyOutput) +} + +type GetIamUserPolicyPolicyResource struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes map[string]string `pulumi:"attributes"` + // Region of the policy definition + Region string `pulumi:"region"` + // Resource of the policy definition + Resource string `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId string `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId string `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType string `pulumi:"resourceType"` + // Service name of the policy definition + Service string `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId *string `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType string `pulumi:"serviceType"` +} + +// GetIamUserPolicyPolicyResourceInput is an input type that accepts GetIamUserPolicyPolicyResourceArgs and GetIamUserPolicyPolicyResourceOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyResourceInput` via: +// +// GetIamUserPolicyPolicyResourceArgs{...} +type GetIamUserPolicyPolicyResourceInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyResourceOutput() GetIamUserPolicyPolicyResourceOutput + ToGetIamUserPolicyPolicyResourceOutputWithContext(context.Context) GetIamUserPolicyPolicyResourceOutput +} + +type GetIamUserPolicyPolicyResourceArgs struct { + // Set resource attributes in the form of 'name=value,name=value.... + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Region of the policy definition + Region pulumi.StringInput `pulumi:"region"` + // Resource of the policy definition + Resource pulumi.StringInput `pulumi:"resource"` + // ID of the resource group. + ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"` + // ID of resource instance of the policy definition + ResourceInstanceId pulumi.StringInput `pulumi:"resourceInstanceId"` + // Resource type of the policy definition + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Service name of the policy definition + Service pulumi.StringInput `pulumi:"service"` + // Service group id of the policy definition + ServiceGroupId pulumi.StringPtrInput `pulumi:"serviceGroupId"` + // Service type of the policy definition + ServiceType pulumi.StringInput `pulumi:"serviceType"` +} + +func (GetIamUserPolicyPolicyResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicyResource)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyResourceArgs) ToGetIamUserPolicyPolicyResourceOutput() GetIamUserPolicyPolicyResourceOutput { + return i.ToGetIamUserPolicyPolicyResourceOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyResourceArgs) ToGetIamUserPolicyPolicyResourceOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyResourceOutput) +} + +// GetIamUserPolicyPolicyResourceArrayInput is an input type that accepts GetIamUserPolicyPolicyResourceArray and GetIamUserPolicyPolicyResourceArrayOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyResourceArrayInput` via: +// +// GetIamUserPolicyPolicyResourceArray{ GetIamUserPolicyPolicyResourceArgs{...} } +type GetIamUserPolicyPolicyResourceArrayInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyResourceArrayOutput() GetIamUserPolicyPolicyResourceArrayOutput + ToGetIamUserPolicyPolicyResourceArrayOutputWithContext(context.Context) GetIamUserPolicyPolicyResourceArrayOutput +} + +type GetIamUserPolicyPolicyResourceArray []GetIamUserPolicyPolicyResourceInput + +func (GetIamUserPolicyPolicyResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicyResource)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyResourceArray) ToGetIamUserPolicyPolicyResourceArrayOutput() GetIamUserPolicyPolicyResourceArrayOutput { + return i.ToGetIamUserPolicyPolicyResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyResourceArray) ToGetIamUserPolicyPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyResourceArrayOutput) +} + +type GetIamUserPolicyPolicyResourceOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicyResource)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyResourceOutput) ToGetIamUserPolicyPolicyResourceOutput() GetIamUserPolicyPolicyResourceOutput { + return o +} + +func (o GetIamUserPolicyPolicyResourceOutput) ToGetIamUserPolicyPolicyResourceOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyResourceOutput { + return o +} + +// Set resource attributes in the form of 'name=value,name=value.... +func (o GetIamUserPolicyPolicyResourceOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Region of the policy definition +func (o GetIamUserPolicyPolicyResourceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) string { return v.Region }).(pulumi.StringOutput) +} + +// Resource of the policy definition +func (o GetIamUserPolicyPolicyResourceOutput) Resource() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) string { return v.Resource }).(pulumi.StringOutput) +} + +// ID of the resource group. +func (o GetIamUserPolicyPolicyResourceOutput) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) string { return v.ResourceGroupId }).(pulumi.StringOutput) +} + +// ID of resource instance of the policy definition +func (o GetIamUserPolicyPolicyResourceOutput) ResourceInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) string { return v.ResourceInstanceId }).(pulumi.StringOutput) +} + +// Resource type of the policy definition +func (o GetIamUserPolicyPolicyResourceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Service name of the policy definition +func (o GetIamUserPolicyPolicyResourceOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) string { return v.Service }).(pulumi.StringOutput) +} + +// Service group id of the policy definition +func (o GetIamUserPolicyPolicyResourceOutput) ServiceGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) *string { return v.ServiceGroupId }).(pulumi.StringPtrOutput) +} + +// Service type of the policy definition +func (o GetIamUserPolicyPolicyResourceOutput) ServiceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResource) string { return v.ServiceType }).(pulumi.StringOutput) +} + +type GetIamUserPolicyPolicyResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicyResource)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyResourceArrayOutput) ToGetIamUserPolicyPolicyResourceArrayOutput() GetIamUserPolicyPolicyResourceArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyResourceArrayOutput) ToGetIamUserPolicyPolicyResourceArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyResourceArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyResourceArrayOutput) Index(i pulumi.IntInput) GetIamUserPolicyPolicyResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserPolicyPolicyResource { + return vs[0].([]GetIamUserPolicyPolicyResource)[vs[1].(int)] + }).(GetIamUserPolicyPolicyResourceOutput) +} + +type GetIamUserPolicyPolicyResourceTag struct { + // Name of attribute. + Name string `pulumi:"name"` + // Operator of attribute. + Operator string `pulumi:"operator"` + // Value of attribute. + Value string `pulumi:"value"` +} + +// GetIamUserPolicyPolicyResourceTagInput is an input type that accepts GetIamUserPolicyPolicyResourceTagArgs and GetIamUserPolicyPolicyResourceTagOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyResourceTagInput` via: +// +// GetIamUserPolicyPolicyResourceTagArgs{...} +type GetIamUserPolicyPolicyResourceTagInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyResourceTagOutput() GetIamUserPolicyPolicyResourceTagOutput + ToGetIamUserPolicyPolicyResourceTagOutputWithContext(context.Context) GetIamUserPolicyPolicyResourceTagOutput +} + +type GetIamUserPolicyPolicyResourceTagArgs struct { + // Name of attribute. + Name pulumi.StringInput `pulumi:"name"` + // Operator of attribute. + Operator pulumi.StringInput `pulumi:"operator"` + // Value of attribute. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIamUserPolicyPolicyResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyResourceTagArgs) ToGetIamUserPolicyPolicyResourceTagOutput() GetIamUserPolicyPolicyResourceTagOutput { + return i.ToGetIamUserPolicyPolicyResourceTagOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyResourceTagArgs) ToGetIamUserPolicyPolicyResourceTagOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyResourceTagOutput) +} + +// GetIamUserPolicyPolicyResourceTagArrayInput is an input type that accepts GetIamUserPolicyPolicyResourceTagArray and GetIamUserPolicyPolicyResourceTagArrayOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyResourceTagArrayInput` via: +// +// GetIamUserPolicyPolicyResourceTagArray{ GetIamUserPolicyPolicyResourceTagArgs{...} } +type GetIamUserPolicyPolicyResourceTagArrayInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyResourceTagArrayOutput() GetIamUserPolicyPolicyResourceTagArrayOutput + ToGetIamUserPolicyPolicyResourceTagArrayOutputWithContext(context.Context) GetIamUserPolicyPolicyResourceTagArrayOutput +} + +type GetIamUserPolicyPolicyResourceTagArray []GetIamUserPolicyPolicyResourceTagInput + +func (GetIamUserPolicyPolicyResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicyResourceTag)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyResourceTagArray) ToGetIamUserPolicyPolicyResourceTagArrayOutput() GetIamUserPolicyPolicyResourceTagArrayOutput { + return i.ToGetIamUserPolicyPolicyResourceTagArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyResourceTagArray) ToGetIamUserPolicyPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyResourceTagArrayOutput) +} + +type GetIamUserPolicyPolicyResourceTagOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyResourceTagOutput) ToGetIamUserPolicyPolicyResourceTagOutput() GetIamUserPolicyPolicyResourceTagOutput { + return o +} + +func (o GetIamUserPolicyPolicyResourceTagOutput) ToGetIamUserPolicyPolicyResourceTagOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyResourceTagOutput { + return o +} + +// Name of attribute. +func (o GetIamUserPolicyPolicyResourceTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResourceTag) string { return v.Name }).(pulumi.StringOutput) +} + +// Operator of attribute. +func (o GetIamUserPolicyPolicyResourceTagOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResourceTag) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of attribute. +func (o GetIamUserPolicyPolicyResourceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyResourceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIamUserPolicyPolicyResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicyResourceTag)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyResourceTagArrayOutput) ToGetIamUserPolicyPolicyResourceTagArrayOutput() GetIamUserPolicyPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyResourceTagArrayOutput) ToGetIamUserPolicyPolicyResourceTagArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyResourceTagArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyResourceTagArrayOutput) Index(i pulumi.IntInput) GetIamUserPolicyPolicyResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserPolicyPolicyResourceTag { + return vs[0].([]GetIamUserPolicyPolicyResourceTag)[vs[1].(int)] + }).(GetIamUserPolicyPolicyResourceTagOutput) +} + +type GetIamUserPolicyPolicyRuleCondition struct { + // Additional Rule conditions enforced by the policy + Conditions []GetIamUserPolicyPolicyRuleConditionCondition `pulumi:"conditions"` + // Key of the condition + Key *string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamUserPolicyPolicyRuleConditionInput is an input type that accepts GetIamUserPolicyPolicyRuleConditionArgs and GetIamUserPolicyPolicyRuleConditionOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyRuleConditionInput` via: +// +// GetIamUserPolicyPolicyRuleConditionArgs{...} +type GetIamUserPolicyPolicyRuleConditionInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyRuleConditionOutput() GetIamUserPolicyPolicyRuleConditionOutput + ToGetIamUserPolicyPolicyRuleConditionOutputWithContext(context.Context) GetIamUserPolicyPolicyRuleConditionOutput +} + +type GetIamUserPolicyPolicyRuleConditionArgs struct { + // Additional Rule conditions enforced by the policy + Conditions GetIamUserPolicyPolicyRuleConditionConditionArrayInput `pulumi:"conditions"` + // Key of the condition + Key pulumi.StringPtrInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamUserPolicyPolicyRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyRuleConditionArgs) ToGetIamUserPolicyPolicyRuleConditionOutput() GetIamUserPolicyPolicyRuleConditionOutput { + return i.ToGetIamUserPolicyPolicyRuleConditionOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyRuleConditionArgs) ToGetIamUserPolicyPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyRuleConditionOutput) +} + +// GetIamUserPolicyPolicyRuleConditionArrayInput is an input type that accepts GetIamUserPolicyPolicyRuleConditionArray and GetIamUserPolicyPolicyRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyRuleConditionArrayInput` via: +// +// GetIamUserPolicyPolicyRuleConditionArray{ GetIamUserPolicyPolicyRuleConditionArgs{...} } +type GetIamUserPolicyPolicyRuleConditionArrayInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyRuleConditionArrayOutput() GetIamUserPolicyPolicyRuleConditionArrayOutput + ToGetIamUserPolicyPolicyRuleConditionArrayOutputWithContext(context.Context) GetIamUserPolicyPolicyRuleConditionArrayOutput +} + +type GetIamUserPolicyPolicyRuleConditionArray []GetIamUserPolicyPolicyRuleConditionInput + +func (GetIamUserPolicyPolicyRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicyRuleCondition)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyRuleConditionArray) ToGetIamUserPolicyPolicyRuleConditionArrayOutput() GetIamUserPolicyPolicyRuleConditionArrayOutput { + return i.ToGetIamUserPolicyPolicyRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyRuleConditionArray) ToGetIamUserPolicyPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyRuleConditionArrayOutput) +} + +type GetIamUserPolicyPolicyRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyRuleConditionOutput) ToGetIamUserPolicyPolicyRuleConditionOutput() GetIamUserPolicyPolicyRuleConditionOutput { + return o +} + +func (o GetIamUserPolicyPolicyRuleConditionOutput) ToGetIamUserPolicyPolicyRuleConditionOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyRuleConditionOutput { + return o +} + +// Additional Rule conditions enforced by the policy +func (o GetIamUserPolicyPolicyRuleConditionOutput) Conditions() GetIamUserPolicyPolicyRuleConditionConditionArrayOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyRuleCondition) []GetIamUserPolicyPolicyRuleConditionCondition { + return v.Conditions + }).(GetIamUserPolicyPolicyRuleConditionConditionArrayOutput) +} + +// Key of the condition +func (o GetIamUserPolicyPolicyRuleConditionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyRuleCondition) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Operator of the condition +func (o GetIamUserPolicyPolicyRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamUserPolicyPolicyRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamUserPolicyPolicyRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicyRuleCondition)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyRuleConditionArrayOutput) ToGetIamUserPolicyPolicyRuleConditionArrayOutput() GetIamUserPolicyPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyRuleConditionArrayOutput) ToGetIamUserPolicyPolicyRuleConditionArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyRuleConditionArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyRuleConditionArrayOutput) Index(i pulumi.IntInput) GetIamUserPolicyPolicyRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserPolicyPolicyRuleCondition { + return vs[0].([]GetIamUserPolicyPolicyRuleCondition)[vs[1].(int)] + }).(GetIamUserPolicyPolicyRuleConditionOutput) +} + +type GetIamUserPolicyPolicyRuleConditionCondition struct { + // Key of the condition + Key string `pulumi:"key"` + // Operator of the condition + Operator string `pulumi:"operator"` + // Value of the condition + Values []string `pulumi:"values"` +} + +// GetIamUserPolicyPolicyRuleConditionConditionInput is an input type that accepts GetIamUserPolicyPolicyRuleConditionConditionArgs and GetIamUserPolicyPolicyRuleConditionConditionOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyRuleConditionConditionInput` via: +// +// GetIamUserPolicyPolicyRuleConditionConditionArgs{...} +type GetIamUserPolicyPolicyRuleConditionConditionInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyRuleConditionConditionOutput() GetIamUserPolicyPolicyRuleConditionConditionOutput + ToGetIamUserPolicyPolicyRuleConditionConditionOutputWithContext(context.Context) GetIamUserPolicyPolicyRuleConditionConditionOutput +} + +type GetIamUserPolicyPolicyRuleConditionConditionArgs struct { + // Key of the condition + Key pulumi.StringInput `pulumi:"key"` + // Operator of the condition + Operator pulumi.StringInput `pulumi:"operator"` + // Value of the condition + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIamUserPolicyPolicyRuleConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyRuleConditionConditionArgs) ToGetIamUserPolicyPolicyRuleConditionConditionOutput() GetIamUserPolicyPolicyRuleConditionConditionOutput { + return i.ToGetIamUserPolicyPolicyRuleConditionConditionOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyRuleConditionConditionArgs) ToGetIamUserPolicyPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyRuleConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyRuleConditionConditionOutput) +} + +// GetIamUserPolicyPolicyRuleConditionConditionArrayInput is an input type that accepts GetIamUserPolicyPolicyRuleConditionConditionArray and GetIamUserPolicyPolicyRuleConditionConditionArrayOutput values. +// You can construct a concrete instance of `GetIamUserPolicyPolicyRuleConditionConditionArrayInput` via: +// +// GetIamUserPolicyPolicyRuleConditionConditionArray{ GetIamUserPolicyPolicyRuleConditionConditionArgs{...} } +type GetIamUserPolicyPolicyRuleConditionConditionArrayInput interface { + pulumi.Input + + ToGetIamUserPolicyPolicyRuleConditionConditionArrayOutput() GetIamUserPolicyPolicyRuleConditionConditionArrayOutput + ToGetIamUserPolicyPolicyRuleConditionConditionArrayOutputWithContext(context.Context) GetIamUserPolicyPolicyRuleConditionConditionArrayOutput +} + +type GetIamUserPolicyPolicyRuleConditionConditionArray []GetIamUserPolicyPolicyRuleConditionConditionInput + +func (GetIamUserPolicyPolicyRuleConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (i GetIamUserPolicyPolicyRuleConditionConditionArray) ToGetIamUserPolicyPolicyRuleConditionConditionArrayOutput() GetIamUserPolicyPolicyRuleConditionConditionArrayOutput { + return i.ToGetIamUserPolicyPolicyRuleConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i GetIamUserPolicyPolicyRuleConditionConditionArray) ToGetIamUserPolicyPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyRuleConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUserPolicyPolicyRuleConditionConditionArrayOutput) +} + +type GetIamUserPolicyPolicyRuleConditionConditionOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyRuleConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUserPolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyRuleConditionConditionOutput) ToGetIamUserPolicyPolicyRuleConditionConditionOutput() GetIamUserPolicyPolicyRuleConditionConditionOutput { + return o +} + +func (o GetIamUserPolicyPolicyRuleConditionConditionOutput) ToGetIamUserPolicyPolicyRuleConditionConditionOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyRuleConditionConditionOutput { + return o +} + +// Key of the condition +func (o GetIamUserPolicyPolicyRuleConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyRuleConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Operator of the condition +func (o GetIamUserPolicyPolicyRuleConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyRuleConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// Value of the condition +func (o GetIamUserPolicyPolicyRuleConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIamUserPolicyPolicyRuleConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIamUserPolicyPolicyRuleConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUserPolicyPolicyRuleConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUserPolicyPolicyRuleConditionCondition)(nil)).Elem() +} + +func (o GetIamUserPolicyPolicyRuleConditionConditionArrayOutput) ToGetIamUserPolicyPolicyRuleConditionConditionArrayOutput() GetIamUserPolicyPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyRuleConditionConditionArrayOutput) ToGetIamUserPolicyPolicyRuleConditionConditionArrayOutputWithContext(ctx context.Context) GetIamUserPolicyPolicyRuleConditionConditionArrayOutput { + return o +} + +func (o GetIamUserPolicyPolicyRuleConditionConditionArrayOutput) Index(i pulumi.IntInput) GetIamUserPolicyPolicyRuleConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUserPolicyPolicyRuleConditionCondition { + return vs[0].([]GetIamUserPolicyPolicyRuleConditionCondition)[vs[1].(int)] + }).(GetIamUserPolicyPolicyRuleConditionConditionOutput) +} + +type GetIamUsersUser struct { + // An alphanumeric value identifying the account ID. + AccountId string `pulumi:"accountId"` + // The alternative phone number of the user. + AltPhonenumber string `pulumi:"altPhonenumber"` + // The email of the user. + Email string `pulumi:"email"` + // The first name of the user. + FirstName string `pulumi:"firstName"` + // User's IAM ID or or email of user + IamId string `pulumi:"iamId"` + // The last name of the user. + LastName string `pulumi:"lastName"` + // The phone for the user. + Phonenumber string `pulumi:"phonenumber"` + // The realm of the user. + Realm string `pulumi:"realm"` + // The state of the user. Possible values are PROCESSING, PENDING, ACTIVE, DISABLED_CLASSIC_INFRASTRUCTURE, and VPN_ONLY. + State string `pulumi:"state"` + // The user ID used for login. + UserId string `pulumi:"userId"` +} + +// GetIamUsersUserInput is an input type that accepts GetIamUsersUserArgs and GetIamUsersUserOutput values. +// You can construct a concrete instance of `GetIamUsersUserInput` via: +// +// GetIamUsersUserArgs{...} +type GetIamUsersUserInput interface { + pulumi.Input + + ToGetIamUsersUserOutput() GetIamUsersUserOutput + ToGetIamUsersUserOutputWithContext(context.Context) GetIamUsersUserOutput +} + +type GetIamUsersUserArgs struct { + // An alphanumeric value identifying the account ID. + AccountId pulumi.StringInput `pulumi:"accountId"` + // The alternative phone number of the user. + AltPhonenumber pulumi.StringInput `pulumi:"altPhonenumber"` + // The email of the user. + Email pulumi.StringInput `pulumi:"email"` + // The first name of the user. + FirstName pulumi.StringInput `pulumi:"firstName"` + // User's IAM ID or or email of user + IamId pulumi.StringInput `pulumi:"iamId"` + // The last name of the user. + LastName pulumi.StringInput `pulumi:"lastName"` + // The phone for the user. + Phonenumber pulumi.StringInput `pulumi:"phonenumber"` + // The realm of the user. + Realm pulumi.StringInput `pulumi:"realm"` + // The state of the user. Possible values are PROCESSING, PENDING, ACTIVE, DISABLED_CLASSIC_INFRASTRUCTURE, and VPN_ONLY. + State pulumi.StringInput `pulumi:"state"` + // The user ID used for login. + UserId pulumi.StringInput `pulumi:"userId"` +} + +func (GetIamUsersUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUsersUser)(nil)).Elem() +} + +func (i GetIamUsersUserArgs) ToGetIamUsersUserOutput() GetIamUsersUserOutput { + return i.ToGetIamUsersUserOutputWithContext(context.Background()) +} + +func (i GetIamUsersUserArgs) ToGetIamUsersUserOutputWithContext(ctx context.Context) GetIamUsersUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUsersUserOutput) +} + +// GetIamUsersUserArrayInput is an input type that accepts GetIamUsersUserArray and GetIamUsersUserArrayOutput values. +// You can construct a concrete instance of `GetIamUsersUserArrayInput` via: +// +// GetIamUsersUserArray{ GetIamUsersUserArgs{...} } +type GetIamUsersUserArrayInput interface { + pulumi.Input + + ToGetIamUsersUserArrayOutput() GetIamUsersUserArrayOutput + ToGetIamUsersUserArrayOutputWithContext(context.Context) GetIamUsersUserArrayOutput +} + +type GetIamUsersUserArray []GetIamUsersUserInput + +func (GetIamUsersUserArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUsersUser)(nil)).Elem() +} + +func (i GetIamUsersUserArray) ToGetIamUsersUserArrayOutput() GetIamUsersUserArrayOutput { + return i.ToGetIamUsersUserArrayOutputWithContext(context.Background()) +} + +func (i GetIamUsersUserArray) ToGetIamUsersUserArrayOutputWithContext(ctx context.Context) GetIamUsersUserArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIamUsersUserArrayOutput) +} + +type GetIamUsersUserOutput struct{ *pulumi.OutputState } + +func (GetIamUsersUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIamUsersUser)(nil)).Elem() +} + +func (o GetIamUsersUserOutput) ToGetIamUsersUserOutput() GetIamUsersUserOutput { + return o +} + +func (o GetIamUsersUserOutput) ToGetIamUsersUserOutputWithContext(ctx context.Context) GetIamUsersUserOutput { + return o +} + +// An alphanumeric value identifying the account ID. +func (o GetIamUsersUserOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.AccountId }).(pulumi.StringOutput) +} + +// The alternative phone number of the user. +func (o GetIamUsersUserOutput) AltPhonenumber() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.AltPhonenumber }).(pulumi.StringOutput) +} + +// The email of the user. +func (o GetIamUsersUserOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.Email }).(pulumi.StringOutput) +} + +// The first name of the user. +func (o GetIamUsersUserOutput) FirstName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.FirstName }).(pulumi.StringOutput) +} + +// User's IAM ID or or email of user +func (o GetIamUsersUserOutput) IamId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.IamId }).(pulumi.StringOutput) +} + +// The last name of the user. +func (o GetIamUsersUserOutput) LastName() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.LastName }).(pulumi.StringOutput) +} + +// The phone for the user. +func (o GetIamUsersUserOutput) Phonenumber() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.Phonenumber }).(pulumi.StringOutput) +} + +// The realm of the user. +func (o GetIamUsersUserOutput) Realm() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.Realm }).(pulumi.StringOutput) +} + +// The state of the user. Possible values are PROCESSING, PENDING, ACTIVE, DISABLED_CLASSIC_INFRASTRUCTURE, and VPN_ONLY. +func (o GetIamUsersUserOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.State }).(pulumi.StringOutput) +} + +// The user ID used for login. +func (o GetIamUsersUserOutput) UserId() pulumi.StringOutput { + return o.ApplyT(func(v GetIamUsersUser) string { return v.UserId }).(pulumi.StringOutput) +} + +type GetIamUsersUserArrayOutput struct{ *pulumi.OutputState } + +func (GetIamUsersUserArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIamUsersUser)(nil)).Elem() +} + +func (o GetIamUsersUserArrayOutput) ToGetIamUsersUserArrayOutput() GetIamUsersUserArrayOutput { + return o +} + +func (o GetIamUsersUserArrayOutput) ToGetIamUsersUserArrayOutputWithContext(ctx context.Context) GetIamUsersUserArrayOutput { + return o +} + +func (o GetIamUsersUserArrayOutput) Index(i pulumi.IntInput) GetIamUsersUserOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIamUsersUser { + return vs[0].([]GetIamUsersUser)[vs[1].(int)] + }).(GetIamUsersUserOutput) +} + +type GetIsBackupPoliciesBackupPolicy struct { + // The date and time that the backup policy was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this backup policy. + Crn string `pulumi:"crn"` + // The reasons for the current healthState (if any). + HealthReasons []GetIsBackupPoliciesBackupPolicyHealthReason `pulumi:"healthReasons"` + // The health of this resource + HealthState string `pulumi:"healthState"` + // The URL for this backup policy. + Href string `pulumi:"href"` + // The unique identifier for this backup policy. + Id string `pulumi:"id"` + // The included content for backups created using this policy + IncludedContents []string `pulumi:"includedContents"` + // The date and time that the most recent job for this backup policy completed. + LastJobCompletedAt string `pulumi:"lastJobCompletedAt"` + // The lifecycle state of the backup policy. + LifecycleState string `pulumi:"lifecycleState"` + // The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceType string `pulumi:"matchResourceType"` + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceTypes []string `pulumi:"matchResourceTypes"` + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. + MatchUserTags []string `pulumi:"matchUserTags"` + // The unique user-defined name for this backup policy. + Name string `pulumi:"name"` + // The plans for the backup policy. + Plans []GetIsBackupPoliciesBackupPolicyPlan `pulumi:"plans"` + // The resource group for this backup policy. + ResourceGroups []GetIsBackupPoliciesBackupPolicyResourceGroup `pulumi:"resourceGroups"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The scope for this backup policy. + Scopes []GetIsBackupPoliciesBackupPolicyScope `pulumi:"scopes"` +} + +// GetIsBackupPoliciesBackupPolicyInput is an input type that accepts GetIsBackupPoliciesBackupPolicyArgs and GetIsBackupPoliciesBackupPolicyOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyInput` via: +// +// GetIsBackupPoliciesBackupPolicyArgs{...} +type GetIsBackupPoliciesBackupPolicyInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyOutput() GetIsBackupPoliciesBackupPolicyOutput + ToGetIsBackupPoliciesBackupPolicyOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyOutput +} + +type GetIsBackupPoliciesBackupPolicyArgs struct { + // The date and time that the backup policy was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this backup policy. + Crn pulumi.StringInput `pulumi:"crn"` + // The reasons for the current healthState (if any). + HealthReasons GetIsBackupPoliciesBackupPolicyHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource + HealthState pulumi.StringInput `pulumi:"healthState"` + // The URL for this backup policy. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy. + Id pulumi.StringInput `pulumi:"id"` + // The included content for backups created using this policy + IncludedContents pulumi.StringArrayInput `pulumi:"includedContents"` + // The date and time that the most recent job for this backup policy completed. + LastJobCompletedAt pulumi.StringInput `pulumi:"lastJobCompletedAt"` + // The lifecycle state of the backup policy. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceType pulumi.StringInput `pulumi:"matchResourceType"` + // A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. + MatchResourceTypes pulumi.StringArrayInput `pulumi:"matchResourceTypes"` + // The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. + MatchUserTags pulumi.StringArrayInput `pulumi:"matchUserTags"` + // The unique user-defined name for this backup policy. + Name pulumi.StringInput `pulumi:"name"` + // The plans for the backup policy. + Plans GetIsBackupPoliciesBackupPolicyPlanArrayInput `pulumi:"plans"` + // The resource group for this backup policy. + ResourceGroups GetIsBackupPoliciesBackupPolicyResourceGroupArrayInput `pulumi:"resourceGroups"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The scope for this backup policy. + Scopes GetIsBackupPoliciesBackupPolicyScopeArrayInput `pulumi:"scopes"` +} + +func (GetIsBackupPoliciesBackupPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicy)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyArgs) ToGetIsBackupPoliciesBackupPolicyOutput() GetIsBackupPoliciesBackupPolicyOutput { + return i.ToGetIsBackupPoliciesBackupPolicyOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyArgs) ToGetIsBackupPoliciesBackupPolicyOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyOutput) +} + +// GetIsBackupPoliciesBackupPolicyArrayInput is an input type that accepts GetIsBackupPoliciesBackupPolicyArray and GetIsBackupPoliciesBackupPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyArrayInput` via: +// +// GetIsBackupPoliciesBackupPolicyArray{ GetIsBackupPoliciesBackupPolicyArgs{...} } +type GetIsBackupPoliciesBackupPolicyArrayInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyArrayOutput() GetIsBackupPoliciesBackupPolicyArrayOutput + ToGetIsBackupPoliciesBackupPolicyArrayOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyArrayOutput +} + +type GetIsBackupPoliciesBackupPolicyArray []GetIsBackupPoliciesBackupPolicyInput + +func (GetIsBackupPoliciesBackupPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicy)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyArray) ToGetIsBackupPoliciesBackupPolicyArrayOutput() GetIsBackupPoliciesBackupPolicyArrayOutput { + return i.ToGetIsBackupPoliciesBackupPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyArray) ToGetIsBackupPoliciesBackupPolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyArrayOutput) +} + +type GetIsBackupPoliciesBackupPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicy)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyOutput) ToGetIsBackupPoliciesBackupPolicyOutput() GetIsBackupPoliciesBackupPolicyOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyOutput) ToGetIsBackupPoliciesBackupPolicyOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyOutput { + return o +} + +// The date and time that the backup policy was created. +func (o GetIsBackupPoliciesBackupPolicyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.Crn }).(pulumi.StringOutput) +} + +// The reasons for the current healthState (if any). +func (o GetIsBackupPoliciesBackupPolicyOutput) HealthReasons() GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) []GetIsBackupPoliciesBackupPolicyHealthReason { + return v.HealthReasons + }).(GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput) +} + +// The health of this resource +func (o GetIsBackupPoliciesBackupPolicyOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// The included content for backups created using this policy +func (o GetIsBackupPoliciesBackupPolicyOutput) IncludedContents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) []string { return v.IncludedContents }).(pulumi.StringArrayOutput) +} + +// The date and time that the most recent job for this backup policy completed. +func (o GetIsBackupPoliciesBackupPolicyOutput) LastJobCompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.LastJobCompletedAt }).(pulumi.StringOutput) +} + +// The lifecycle state of the backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The resource type this backup policy will apply to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) MatchResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.MatchResourceType }).(pulumi.StringOutput) +} + +// A resource type this backup policy applies to. Resources that have both a matching type and a matching user tag will be subject to the backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) MatchResourceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) []string { return v.MatchResourceTypes }).(pulumi.StringArrayOutput) +} + +// The user tags this backup policy applies to. Resources that have both a matching user tag and a matching type will be subject to the backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) MatchUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) []string { return v.MatchUserTags }).(pulumi.StringArrayOutput) +} + +// The unique user-defined name for this backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.Name }).(pulumi.StringOutput) +} + +// The plans for the backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) Plans() GetIsBackupPoliciesBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) []GetIsBackupPoliciesBackupPolicyPlan { return v.Plans }).(GetIsBackupPoliciesBackupPolicyPlanArrayOutput) +} + +// The resource group for this backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) ResourceGroups() GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) []GetIsBackupPoliciesBackupPolicyResourceGroup { + return v.ResourceGroups + }).(GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput) +} + +// The type of resource referenced. +func (o GetIsBackupPoliciesBackupPolicyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The scope for this backup policy. +func (o GetIsBackupPoliciesBackupPolicyOutput) Scopes() GetIsBackupPoliciesBackupPolicyScopeArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicy) []GetIsBackupPoliciesBackupPolicyScope { return v.Scopes }).(GetIsBackupPoliciesBackupPolicyScopeArrayOutput) +} + +type GetIsBackupPoliciesBackupPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicy)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyArrayOutput) ToGetIsBackupPoliciesBackupPolicyArrayOutput() GetIsBackupPoliciesBackupPolicyArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyArrayOutput) ToGetIsBackupPoliciesBackupPolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyArrayOutput) Index(i pulumi.IntInput) GetIsBackupPoliciesBackupPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPoliciesBackupPolicy { + return vs[0].([]GetIsBackupPoliciesBackupPolicy)[vs[1].(int)] + }).(GetIsBackupPoliciesBackupPolicyOutput) +} + +type GetIsBackupPoliciesBackupPolicyHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPoliciesBackupPolicyHealthReasonInput is an input type that accepts GetIsBackupPoliciesBackupPolicyHealthReasonArgs and GetIsBackupPoliciesBackupPolicyHealthReasonOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyHealthReasonInput` via: +// +// GetIsBackupPoliciesBackupPolicyHealthReasonArgs{...} +type GetIsBackupPoliciesBackupPolicyHealthReasonInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyHealthReasonOutput() GetIsBackupPoliciesBackupPolicyHealthReasonOutput + ToGetIsBackupPoliciesBackupPolicyHealthReasonOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyHealthReasonOutput +} + +type GetIsBackupPoliciesBackupPolicyHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPoliciesBackupPolicyHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyHealthReason)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyHealthReasonArgs) ToGetIsBackupPoliciesBackupPolicyHealthReasonOutput() GetIsBackupPoliciesBackupPolicyHealthReasonOutput { + return i.ToGetIsBackupPoliciesBackupPolicyHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyHealthReasonArgs) ToGetIsBackupPoliciesBackupPolicyHealthReasonOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyHealthReasonOutput) +} + +// GetIsBackupPoliciesBackupPolicyHealthReasonArrayInput is an input type that accepts GetIsBackupPoliciesBackupPolicyHealthReasonArray and GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyHealthReasonArrayInput` via: +// +// GetIsBackupPoliciesBackupPolicyHealthReasonArray{ GetIsBackupPoliciesBackupPolicyHealthReasonArgs{...} } +type GetIsBackupPoliciesBackupPolicyHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput() GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput + ToGetIsBackupPoliciesBackupPolicyHealthReasonArrayOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput +} + +type GetIsBackupPoliciesBackupPolicyHealthReasonArray []GetIsBackupPoliciesBackupPolicyHealthReasonInput + +func (GetIsBackupPoliciesBackupPolicyHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyHealthReason)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyHealthReasonArray) ToGetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput() GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput { + return i.ToGetIsBackupPoliciesBackupPolicyHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyHealthReasonArray) ToGetIsBackupPoliciesBackupPolicyHealthReasonArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput) +} + +type GetIsBackupPoliciesBackupPolicyHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyHealthReason)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyHealthReasonOutput) ToGetIsBackupPoliciesBackupPolicyHealthReasonOutput() GetIsBackupPoliciesBackupPolicyHealthReasonOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyHealthReasonOutput) ToGetIsBackupPoliciesBackupPolicyHealthReasonOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsBackupPoliciesBackupPolicyHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsBackupPoliciesBackupPolicyHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsBackupPoliciesBackupPolicyHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyHealthReason)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput) ToGetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput() GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput) ToGetIsBackupPoliciesBackupPolicyHealthReasonArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsBackupPoliciesBackupPolicyHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPoliciesBackupPolicyHealthReason { + return vs[0].([]GetIsBackupPoliciesBackupPolicyHealthReason)[vs[1].(int)] + }).(GetIsBackupPoliciesBackupPolicyHealthReasonOutput) +} + +type GetIsBackupPoliciesBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPoliciesBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPoliciesBackupPolicyPlanInput is an input type that accepts GetIsBackupPoliciesBackupPolicyPlanArgs and GetIsBackupPoliciesBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyPlanInput` via: +// +// GetIsBackupPoliciesBackupPolicyPlanArgs{...} +type GetIsBackupPoliciesBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyPlanOutput() GetIsBackupPoliciesBackupPolicyPlanOutput + ToGetIsBackupPoliciesBackupPolicyPlanOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyPlanOutput +} + +type GetIsBackupPoliciesBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPoliciesBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPoliciesBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyPlanArgs) ToGetIsBackupPoliciesBackupPolicyPlanOutput() GetIsBackupPoliciesBackupPolicyPlanOutput { + return i.ToGetIsBackupPoliciesBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyPlanArgs) ToGetIsBackupPoliciesBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyPlanOutput) +} + +// GetIsBackupPoliciesBackupPolicyPlanArrayInput is an input type that accepts GetIsBackupPoliciesBackupPolicyPlanArray and GetIsBackupPoliciesBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyPlanArrayInput` via: +// +// GetIsBackupPoliciesBackupPolicyPlanArray{ GetIsBackupPoliciesBackupPolicyPlanArgs{...} } +type GetIsBackupPoliciesBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyPlanArrayOutput() GetIsBackupPoliciesBackupPolicyPlanArrayOutput + ToGetIsBackupPoliciesBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyPlanArrayOutput +} + +type GetIsBackupPoliciesBackupPolicyPlanArray []GetIsBackupPoliciesBackupPolicyPlanInput + +func (GetIsBackupPoliciesBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyPlanArray) ToGetIsBackupPoliciesBackupPolicyPlanArrayOutput() GetIsBackupPoliciesBackupPolicyPlanArrayOutput { + return i.ToGetIsBackupPoliciesBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyPlanArray) ToGetIsBackupPoliciesBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyPlanArrayOutput) +} + +type GetIsBackupPoliciesBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyPlanOutput) ToGetIsBackupPoliciesBackupPolicyPlanOutput() GetIsBackupPoliciesBackupPolicyPlanOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyPlanOutput) ToGetIsBackupPoliciesBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPoliciesBackupPolicyPlanOutput) Deleteds() GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyPlan) []GetIsBackupPoliciesBackupPolicyPlanDeleted { + return v.Deleteds + }).(GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsBackupPoliciesBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsBackupPoliciesBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this backup policy plan. +func (o GetIsBackupPoliciesBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsBackupPoliciesBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPoliciesBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyPlanArrayOutput) ToGetIsBackupPoliciesBackupPolicyPlanArrayOutput() GetIsBackupPoliciesBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyPlanArrayOutput) ToGetIsBackupPoliciesBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsBackupPoliciesBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPoliciesBackupPolicyPlan { + return vs[0].([]GetIsBackupPoliciesBackupPolicyPlan)[vs[1].(int)] + }).(GetIsBackupPoliciesBackupPolicyPlanOutput) +} + +type GetIsBackupPoliciesBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPoliciesBackupPolicyPlanDeletedInput is an input type that accepts GetIsBackupPoliciesBackupPolicyPlanDeletedArgs and GetIsBackupPoliciesBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyPlanDeletedInput` via: +// +// GetIsBackupPoliciesBackupPolicyPlanDeletedArgs{...} +type GetIsBackupPoliciesBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyPlanDeletedOutput() GetIsBackupPoliciesBackupPolicyPlanDeletedOutput + ToGetIsBackupPoliciesBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyPlanDeletedOutput +} + +type GetIsBackupPoliciesBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPoliciesBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyPlanDeletedArgs) ToGetIsBackupPoliciesBackupPolicyPlanDeletedOutput() GetIsBackupPoliciesBackupPolicyPlanDeletedOutput { + return i.ToGetIsBackupPoliciesBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyPlanDeletedArgs) ToGetIsBackupPoliciesBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyPlanDeletedOutput) +} + +// GetIsBackupPoliciesBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsBackupPoliciesBackupPolicyPlanDeletedArray and GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsBackupPoliciesBackupPolicyPlanDeletedArray{ GetIsBackupPoliciesBackupPolicyPlanDeletedArgs{...} } +type GetIsBackupPoliciesBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput() GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput + ToGetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput +} + +type GetIsBackupPoliciesBackupPolicyPlanDeletedArray []GetIsBackupPoliciesBackupPolicyPlanDeletedInput + +func (GetIsBackupPoliciesBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyPlanDeletedArray) ToGetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput() GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyPlanDeletedArray) ToGetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsBackupPoliciesBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyPlanDeletedOutput) ToGetIsBackupPoliciesBackupPolicyPlanDeletedOutput() GetIsBackupPoliciesBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyPlanDeletedOutput) ToGetIsBackupPoliciesBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPoliciesBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput) ToGetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput() GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput) ToGetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPoliciesBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPoliciesBackupPolicyPlanDeleted { + return vs[0].([]GetIsBackupPoliciesBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsBackupPoliciesBackupPolicyPlanDeletedOutput) +} + +type GetIsBackupPoliciesBackupPolicyResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsBackupPoliciesBackupPolicyResourceGroupInput is an input type that accepts GetIsBackupPoliciesBackupPolicyResourceGroupArgs and GetIsBackupPoliciesBackupPolicyResourceGroupOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyResourceGroupInput` via: +// +// GetIsBackupPoliciesBackupPolicyResourceGroupArgs{...} +type GetIsBackupPoliciesBackupPolicyResourceGroupInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyResourceGroupOutput() GetIsBackupPoliciesBackupPolicyResourceGroupOutput + ToGetIsBackupPoliciesBackupPolicyResourceGroupOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyResourceGroupOutput +} + +type GetIsBackupPoliciesBackupPolicyResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPoliciesBackupPolicyResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyResourceGroupArgs) ToGetIsBackupPoliciesBackupPolicyResourceGroupOutput() GetIsBackupPoliciesBackupPolicyResourceGroupOutput { + return i.ToGetIsBackupPoliciesBackupPolicyResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyResourceGroupArgs) ToGetIsBackupPoliciesBackupPolicyResourceGroupOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyResourceGroupOutput) +} + +// GetIsBackupPoliciesBackupPolicyResourceGroupArrayInput is an input type that accepts GetIsBackupPoliciesBackupPolicyResourceGroupArray and GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyResourceGroupArrayInput` via: +// +// GetIsBackupPoliciesBackupPolicyResourceGroupArray{ GetIsBackupPoliciesBackupPolicyResourceGroupArgs{...} } +type GetIsBackupPoliciesBackupPolicyResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput() GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput + ToGetIsBackupPoliciesBackupPolicyResourceGroupArrayOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput +} + +type GetIsBackupPoliciesBackupPolicyResourceGroupArray []GetIsBackupPoliciesBackupPolicyResourceGroupInput + +func (GetIsBackupPoliciesBackupPolicyResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyResourceGroupArray) ToGetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput() GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput { + return i.ToGetIsBackupPoliciesBackupPolicyResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyResourceGroupArray) ToGetIsBackupPoliciesBackupPolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput) +} + +type GetIsBackupPoliciesBackupPolicyResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyResourceGroupOutput) ToGetIsBackupPoliciesBackupPolicyResourceGroupOutput() GetIsBackupPoliciesBackupPolicyResourceGroupOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyResourceGroupOutput) ToGetIsBackupPoliciesBackupPolicyResourceGroupOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsBackupPoliciesBackupPolicyResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsBackupPoliciesBackupPolicyResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsBackupPoliciesBackupPolicyResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput) ToGetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput() GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput) ToGetIsBackupPoliciesBackupPolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsBackupPoliciesBackupPolicyResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPoliciesBackupPolicyResourceGroup { + return vs[0].([]GetIsBackupPoliciesBackupPolicyResourceGroup)[vs[1].(int)] + }).(GetIsBackupPoliciesBackupPolicyResourceGroupOutput) +} + +type GetIsBackupPoliciesBackupPolicyScope struct { + // The CRN for this enterprise. + Crn string `pulumi:"crn"` + // The unique identifier for this enterprise or account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPoliciesBackupPolicyScopeInput is an input type that accepts GetIsBackupPoliciesBackupPolicyScopeArgs and GetIsBackupPoliciesBackupPolicyScopeOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyScopeInput` via: +// +// GetIsBackupPoliciesBackupPolicyScopeArgs{...} +type GetIsBackupPoliciesBackupPolicyScopeInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyScopeOutput() GetIsBackupPoliciesBackupPolicyScopeOutput + ToGetIsBackupPoliciesBackupPolicyScopeOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyScopeOutput +} + +type GetIsBackupPoliciesBackupPolicyScopeArgs struct { + // The CRN for this enterprise. + Crn pulumi.StringInput `pulumi:"crn"` + // The unique identifier for this enterprise or account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPoliciesBackupPolicyScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyScope)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyScopeArgs) ToGetIsBackupPoliciesBackupPolicyScopeOutput() GetIsBackupPoliciesBackupPolicyScopeOutput { + return i.ToGetIsBackupPoliciesBackupPolicyScopeOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyScopeArgs) ToGetIsBackupPoliciesBackupPolicyScopeOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyScopeOutput) +} + +// GetIsBackupPoliciesBackupPolicyScopeArrayInput is an input type that accepts GetIsBackupPoliciesBackupPolicyScopeArray and GetIsBackupPoliciesBackupPolicyScopeArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPoliciesBackupPolicyScopeArrayInput` via: +// +// GetIsBackupPoliciesBackupPolicyScopeArray{ GetIsBackupPoliciesBackupPolicyScopeArgs{...} } +type GetIsBackupPoliciesBackupPolicyScopeArrayInput interface { + pulumi.Input + + ToGetIsBackupPoliciesBackupPolicyScopeArrayOutput() GetIsBackupPoliciesBackupPolicyScopeArrayOutput + ToGetIsBackupPoliciesBackupPolicyScopeArrayOutputWithContext(context.Context) GetIsBackupPoliciesBackupPolicyScopeArrayOutput +} + +type GetIsBackupPoliciesBackupPolicyScopeArray []GetIsBackupPoliciesBackupPolicyScopeInput + +func (GetIsBackupPoliciesBackupPolicyScopeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyScope)(nil)).Elem() +} + +func (i GetIsBackupPoliciesBackupPolicyScopeArray) ToGetIsBackupPoliciesBackupPolicyScopeArrayOutput() GetIsBackupPoliciesBackupPolicyScopeArrayOutput { + return i.ToGetIsBackupPoliciesBackupPolicyScopeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPoliciesBackupPolicyScopeArray) ToGetIsBackupPoliciesBackupPolicyScopeArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyScopeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPoliciesBackupPolicyScopeArrayOutput) +} + +type GetIsBackupPoliciesBackupPolicyScopeOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyScope)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyScopeOutput) ToGetIsBackupPoliciesBackupPolicyScopeOutput() GetIsBackupPoliciesBackupPolicyScopeOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyScopeOutput) ToGetIsBackupPoliciesBackupPolicyScopeOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyScopeOutput { + return o +} + +// The CRN for this enterprise. +func (o GetIsBackupPoliciesBackupPolicyScopeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyScope) string { return v.Crn }).(pulumi.StringOutput) +} + +// The unique identifier for this enterprise or account. +func (o GetIsBackupPoliciesBackupPolicyScopeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyScope) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBackupPoliciesBackupPolicyScopeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPoliciesBackupPolicyScope) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPoliciesBackupPolicyScopeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPoliciesBackupPolicyScopeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPoliciesBackupPolicyScope)(nil)).Elem() +} + +func (o GetIsBackupPoliciesBackupPolicyScopeArrayOutput) ToGetIsBackupPoliciesBackupPolicyScopeArrayOutput() GetIsBackupPoliciesBackupPolicyScopeArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyScopeArrayOutput) ToGetIsBackupPoliciesBackupPolicyScopeArrayOutputWithContext(ctx context.Context) GetIsBackupPoliciesBackupPolicyScopeArrayOutput { + return o +} + +func (o GetIsBackupPoliciesBackupPolicyScopeArrayOutput) Index(i pulumi.IntInput) GetIsBackupPoliciesBackupPolicyScopeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPoliciesBackupPolicyScope { + return vs[0].([]GetIsBackupPoliciesBackupPolicyScope)[vs[1].(int)] + }).(GetIsBackupPoliciesBackupPolicyScopeOutput) +} + +type GetIsBackupPolicyHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyHealthReasonInput is an input type that accepts GetIsBackupPolicyHealthReasonArgs and GetIsBackupPolicyHealthReasonOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyHealthReasonInput` via: +// +// GetIsBackupPolicyHealthReasonArgs{...} +type GetIsBackupPolicyHealthReasonInput interface { + pulumi.Input + + ToGetIsBackupPolicyHealthReasonOutput() GetIsBackupPolicyHealthReasonOutput + ToGetIsBackupPolicyHealthReasonOutputWithContext(context.Context) GetIsBackupPolicyHealthReasonOutput +} + +type GetIsBackupPolicyHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyHealthReason)(nil)).Elem() +} + +func (i GetIsBackupPolicyHealthReasonArgs) ToGetIsBackupPolicyHealthReasonOutput() GetIsBackupPolicyHealthReasonOutput { + return i.ToGetIsBackupPolicyHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyHealthReasonArgs) ToGetIsBackupPolicyHealthReasonOutputWithContext(ctx context.Context) GetIsBackupPolicyHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyHealthReasonOutput) +} + +// GetIsBackupPolicyHealthReasonArrayInput is an input type that accepts GetIsBackupPolicyHealthReasonArray and GetIsBackupPolicyHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyHealthReasonArrayInput` via: +// +// GetIsBackupPolicyHealthReasonArray{ GetIsBackupPolicyHealthReasonArgs{...} } +type GetIsBackupPolicyHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyHealthReasonArrayOutput() GetIsBackupPolicyHealthReasonArrayOutput + ToGetIsBackupPolicyHealthReasonArrayOutputWithContext(context.Context) GetIsBackupPolicyHealthReasonArrayOutput +} + +type GetIsBackupPolicyHealthReasonArray []GetIsBackupPolicyHealthReasonInput + +func (GetIsBackupPolicyHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyHealthReason)(nil)).Elem() +} + +func (i GetIsBackupPolicyHealthReasonArray) ToGetIsBackupPolicyHealthReasonArrayOutput() GetIsBackupPolicyHealthReasonArrayOutput { + return i.ToGetIsBackupPolicyHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyHealthReasonArray) ToGetIsBackupPolicyHealthReasonArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyHealthReasonArrayOutput) +} + +type GetIsBackupPolicyHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyHealthReason)(nil)).Elem() +} + +func (o GetIsBackupPolicyHealthReasonOutput) ToGetIsBackupPolicyHealthReasonOutput() GetIsBackupPolicyHealthReasonOutput { + return o +} + +func (o GetIsBackupPolicyHealthReasonOutput) ToGetIsBackupPolicyHealthReasonOutputWithContext(ctx context.Context) GetIsBackupPolicyHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsBackupPolicyHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsBackupPolicyHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsBackupPolicyHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyHealthReason)(nil)).Elem() +} + +func (o GetIsBackupPolicyHealthReasonArrayOutput) ToGetIsBackupPolicyHealthReasonArrayOutput() GetIsBackupPolicyHealthReasonArrayOutput { + return o +} + +func (o GetIsBackupPolicyHealthReasonArrayOutput) ToGetIsBackupPolicyHealthReasonArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyHealthReasonArrayOutput { + return o +} + +func (o GetIsBackupPolicyHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyHealthReason { + return vs[0].([]GetIsBackupPolicyHealthReason)[vs[1].(int)] + }).(GetIsBackupPolicyHealthReasonOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes []GetIsBackupPolicyJobBackupPolicyPlanRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyJobBackupPolicyPlanInput is an input type that accepts GetIsBackupPolicyJobBackupPolicyPlanArgs and GetIsBackupPolicyJobBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobBackupPolicyPlanInput` via: +// +// GetIsBackupPolicyJobBackupPolicyPlanArgs{...} +type GetIsBackupPolicyJobBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobBackupPolicyPlanOutput() GetIsBackupPolicyJobBackupPolicyPlanOutput + ToGetIsBackupPolicyJobBackupPolicyPlanOutputWithContext(context.Context) GetIsBackupPolicyJobBackupPolicyPlanOutput +} + +type GetIsBackupPolicyJobBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyJobBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanArgs) ToGetIsBackupPolicyJobBackupPolicyPlanOutput() GetIsBackupPolicyJobBackupPolicyPlanOutput { + return i.ToGetIsBackupPolicyJobBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanArgs) ToGetIsBackupPolicyJobBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobBackupPolicyPlanOutput) +} + +// GetIsBackupPolicyJobBackupPolicyPlanArrayInput is an input type that accepts GetIsBackupPolicyJobBackupPolicyPlanArray and GetIsBackupPolicyJobBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobBackupPolicyPlanArrayInput` via: +// +// GetIsBackupPolicyJobBackupPolicyPlanArray{ GetIsBackupPolicyJobBackupPolicyPlanArgs{...} } +type GetIsBackupPolicyJobBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobBackupPolicyPlanArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanArrayOutput + ToGetIsBackupPolicyJobBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsBackupPolicyJobBackupPolicyPlanArrayOutput +} + +type GetIsBackupPolicyJobBackupPolicyPlanArray []GetIsBackupPolicyJobBackupPolicyPlanInput + +func (GetIsBackupPolicyJobBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanArray) ToGetIsBackupPolicyJobBackupPolicyPlanArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanArrayOutput { + return i.ToGetIsBackupPolicyJobBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanArray) ToGetIsBackupPolicyJobBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobBackupPolicyPlanArrayOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanOutput) ToGetIsBackupPolicyJobBackupPolicyPlanOutput() GetIsBackupPolicyJobBackupPolicyPlanOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanOutput) ToGetIsBackupPolicyJobBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobBackupPolicyPlanOutput) Deleteds() GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlan) []GetIsBackupPolicyJobBackupPolicyPlanDeleted { + return v.Deleteds + }).(GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsBackupPolicyJobBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsBackupPolicyJobBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this backup policy plan. +func (o GetIsBackupPolicyJobBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. +func (o GetIsBackupPolicyJobBackupPolicyPlanOutput) Remotes() GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlan) []GetIsBackupPolicyJobBackupPolicyPlanRemote { + return v.Remotes + }).(GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanArrayOutput) ToGetIsBackupPolicyJobBackupPolicyPlanArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanArrayOutput) ToGetIsBackupPolicyJobBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobBackupPolicyPlan { + return vs[0].([]GetIsBackupPolicyJobBackupPolicyPlan)[vs[1].(int)] + }).(GetIsBackupPolicyJobBackupPolicyPlanOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobBackupPolicyPlanDeletedInput is an input type that accepts GetIsBackupPolicyJobBackupPolicyPlanDeletedArgs and GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobBackupPolicyPlanDeletedInput` via: +// +// GetIsBackupPolicyJobBackupPolicyPlanDeletedArgs{...} +type GetIsBackupPolicyJobBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobBackupPolicyPlanDeletedOutput() GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput + ToGetIsBackupPolicyJobBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput +} + +type GetIsBackupPolicyJobBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanDeletedArgs) ToGetIsBackupPolicyJobBackupPolicyPlanDeletedOutput() GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput { + return i.ToGetIsBackupPolicyJobBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanDeletedArgs) ToGetIsBackupPolicyJobBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput) +} + +// GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobBackupPolicyPlanDeletedArray and GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsBackupPolicyJobBackupPolicyPlanDeletedArray{ GetIsBackupPolicyJobBackupPolicyPlanDeletedArgs{...} } +type GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput + ToGetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput +} + +type GetIsBackupPolicyJobBackupPolicyPlanDeletedArray []GetIsBackupPolicyJobBackupPolicyPlanDeletedInput + +func (GetIsBackupPolicyJobBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanDeletedArray) ToGetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanDeletedArray) ToGetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput) ToGetIsBackupPolicyJobBackupPolicyPlanDeletedOutput() GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput) ToGetIsBackupPolicyJobBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput) ToGetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput) ToGetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobBackupPolicyPlanDeleted { + return vs[0].([]GetIsBackupPolicyJobBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlanRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobBackupPolicyPlanRemoteInput is an input type that accepts GetIsBackupPolicyJobBackupPolicyPlanRemoteArgs and GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobBackupPolicyPlanRemoteInput` via: +// +// GetIsBackupPolicyJobBackupPolicyPlanRemoteArgs{...} +type GetIsBackupPolicyJobBackupPolicyPlanRemoteInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobBackupPolicyPlanRemoteOutput() GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput + ToGetIsBackupPolicyJobBackupPolicyPlanRemoteOutputWithContext(context.Context) GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput +} + +type GetIsBackupPolicyJobBackupPolicyPlanRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobBackupPolicyPlanRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanRemoteArgs) ToGetIsBackupPolicyJobBackupPolicyPlanRemoteOutput() GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput { + return i.ToGetIsBackupPolicyJobBackupPolicyPlanRemoteOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanRemoteArgs) ToGetIsBackupPolicyJobBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput) +} + +// GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayInput is an input type that accepts GetIsBackupPolicyJobBackupPolicyPlanRemoteArray and GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayInput` via: +// +// GetIsBackupPolicyJobBackupPolicyPlanRemoteArray{ GetIsBackupPolicyJobBackupPolicyPlanRemoteArgs{...} } +type GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput + ToGetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutputWithContext(context.Context) GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput +} + +type GetIsBackupPolicyJobBackupPolicyPlanRemoteArray []GetIsBackupPolicyJobBackupPolicyPlanRemoteInput + +func (GetIsBackupPolicyJobBackupPolicyPlanRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanRemoteArray) ToGetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput { + return i.ToGetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobBackupPolicyPlanRemoteArray) ToGetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput) ToGetIsBackupPolicyJobBackupPolicyPlanRemoteOutput() GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput) ToGetIsBackupPolicyJobBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlanRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobBackupPolicyPlanRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput) ToGetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput() GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput) ToGetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobBackupPolicyPlanRemote { + return vs[0].([]GetIsBackupPolicyJobBackupPolicyPlanRemote)[vs[1].(int)] + }).(GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput) +} + +type GetIsBackupPolicyJobSourceInstance struct { + // The CRN for this volume. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobSourceInstanceDeleted `pulumi:"deleteds"` + // The URL for this volume. + Href string `pulumi:"href"` + // The unique identifier for this volume. + Id string `pulumi:"id"` + // The unique user-defined name for this volume. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobSourceInstanceInput is an input type that accepts GetIsBackupPolicyJobSourceInstanceArgs and GetIsBackupPolicyJobSourceInstanceOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceInstanceInput` via: +// +// GetIsBackupPolicyJobSourceInstanceArgs{...} +type GetIsBackupPolicyJobSourceInstanceInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceInstanceOutput() GetIsBackupPolicyJobSourceInstanceOutput + ToGetIsBackupPolicyJobSourceInstanceOutputWithContext(context.Context) GetIsBackupPolicyJobSourceInstanceOutput +} + +type GetIsBackupPolicyJobSourceInstanceArgs struct { + // The CRN for this volume. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobSourceInstanceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this volume. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this volume. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this volume. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobSourceInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceInstance)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceInstanceArgs) ToGetIsBackupPolicyJobSourceInstanceOutput() GetIsBackupPolicyJobSourceInstanceOutput { + return i.ToGetIsBackupPolicyJobSourceInstanceOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceInstanceArgs) ToGetIsBackupPolicyJobSourceInstanceOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceInstanceOutput) +} + +// GetIsBackupPolicyJobSourceInstanceArrayInput is an input type that accepts GetIsBackupPolicyJobSourceInstanceArray and GetIsBackupPolicyJobSourceInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceInstanceArrayInput` via: +// +// GetIsBackupPolicyJobSourceInstanceArray{ GetIsBackupPolicyJobSourceInstanceArgs{...} } +type GetIsBackupPolicyJobSourceInstanceArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceInstanceArrayOutput() GetIsBackupPolicyJobSourceInstanceArrayOutput + ToGetIsBackupPolicyJobSourceInstanceArrayOutputWithContext(context.Context) GetIsBackupPolicyJobSourceInstanceArrayOutput +} + +type GetIsBackupPolicyJobSourceInstanceArray []GetIsBackupPolicyJobSourceInstanceInput + +func (GetIsBackupPolicyJobSourceInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceInstance)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceInstanceArray) ToGetIsBackupPolicyJobSourceInstanceArrayOutput() GetIsBackupPolicyJobSourceInstanceArrayOutput { + return i.ToGetIsBackupPolicyJobSourceInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceInstanceArray) ToGetIsBackupPolicyJobSourceInstanceArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceInstanceArrayOutput) +} + +type GetIsBackupPolicyJobSourceInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceInstance)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceInstanceOutput) ToGetIsBackupPolicyJobSourceInstanceOutput() GetIsBackupPolicyJobSourceInstanceOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceInstanceOutput) ToGetIsBackupPolicyJobSourceInstanceOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceInstanceOutput { + return o +} + +// The CRN for this volume. +func (o GetIsBackupPolicyJobSourceInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobSourceInstanceOutput) Deleteds() GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceInstance) []GetIsBackupPolicyJobSourceInstanceDeleted { + return v.Deleteds + }).(GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput) +} + +// The URL for this volume. +func (o GetIsBackupPolicyJobSourceInstanceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceInstance) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this volume. +func (o GetIsBackupPolicyJobSourceInstanceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceInstance) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume. +func (o GetIsBackupPolicyJobSourceInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceInstance) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobSourceInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceInstance)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceInstanceArrayOutput) ToGetIsBackupPolicyJobSourceInstanceArrayOutput() GetIsBackupPolicyJobSourceInstanceArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceInstanceArrayOutput) ToGetIsBackupPolicyJobSourceInstanceArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceInstanceArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceInstanceArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobSourceInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobSourceInstance { + return vs[0].([]GetIsBackupPolicyJobSourceInstance)[vs[1].(int)] + }).(GetIsBackupPolicyJobSourceInstanceOutput) +} + +type GetIsBackupPolicyJobSourceInstanceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobSourceInstanceDeletedInput is an input type that accepts GetIsBackupPolicyJobSourceInstanceDeletedArgs and GetIsBackupPolicyJobSourceInstanceDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceInstanceDeletedInput` via: +// +// GetIsBackupPolicyJobSourceInstanceDeletedArgs{...} +type GetIsBackupPolicyJobSourceInstanceDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceInstanceDeletedOutput() GetIsBackupPolicyJobSourceInstanceDeletedOutput + ToGetIsBackupPolicyJobSourceInstanceDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobSourceInstanceDeletedOutput +} + +type GetIsBackupPolicyJobSourceInstanceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobSourceInstanceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceInstanceDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceInstanceDeletedArgs) ToGetIsBackupPolicyJobSourceInstanceDeletedOutput() GetIsBackupPolicyJobSourceInstanceDeletedOutput { + return i.ToGetIsBackupPolicyJobSourceInstanceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceInstanceDeletedArgs) ToGetIsBackupPolicyJobSourceInstanceDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceInstanceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceInstanceDeletedOutput) +} + +// GetIsBackupPolicyJobSourceInstanceDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobSourceInstanceDeletedArray and GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceInstanceDeletedArrayInput` via: +// +// GetIsBackupPolicyJobSourceInstanceDeletedArray{ GetIsBackupPolicyJobSourceInstanceDeletedArgs{...} } +type GetIsBackupPolicyJobSourceInstanceDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceInstanceDeletedArrayOutput() GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput + ToGetIsBackupPolicyJobSourceInstanceDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput +} + +type GetIsBackupPolicyJobSourceInstanceDeletedArray []GetIsBackupPolicyJobSourceInstanceDeletedInput + +func (GetIsBackupPolicyJobSourceInstanceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceInstanceDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceInstanceDeletedArray) ToGetIsBackupPolicyJobSourceInstanceDeletedArrayOutput() GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobSourceInstanceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceInstanceDeletedArray) ToGetIsBackupPolicyJobSourceInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput) +} + +type GetIsBackupPolicyJobSourceInstanceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceInstanceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceInstanceDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceInstanceDeletedOutput) ToGetIsBackupPolicyJobSourceInstanceDeletedOutput() GetIsBackupPolicyJobSourceInstanceDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceInstanceDeletedOutput) ToGetIsBackupPolicyJobSourceInstanceDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceInstanceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobSourceInstanceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceInstanceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceInstanceDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput) ToGetIsBackupPolicyJobSourceInstanceDeletedArrayOutput() GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput) ToGetIsBackupPolicyJobSourceInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobSourceInstanceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobSourceInstanceDeleted { + return vs[0].([]GetIsBackupPolicyJobSourceInstanceDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobSourceInstanceDeletedOutput) +} + +type GetIsBackupPolicyJobSourceShare struct { + // The CRN for this volume. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobSourceShareDeleted `pulumi:"deleteds"` + // The URL for this volume. + Href string `pulumi:"href"` + // The unique identifier for this volume. + Id string `pulumi:"id"` + // The unique user-defined name for this volume. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobSourceShareInput is an input type that accepts GetIsBackupPolicyJobSourceShareArgs and GetIsBackupPolicyJobSourceShareOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceShareInput` via: +// +// GetIsBackupPolicyJobSourceShareArgs{...} +type GetIsBackupPolicyJobSourceShareInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceShareOutput() GetIsBackupPolicyJobSourceShareOutput + ToGetIsBackupPolicyJobSourceShareOutputWithContext(context.Context) GetIsBackupPolicyJobSourceShareOutput +} + +type GetIsBackupPolicyJobSourceShareArgs struct { + // The CRN for this volume. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobSourceShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this volume. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this volume. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this volume. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobSourceShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceShare)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceShareArgs) ToGetIsBackupPolicyJobSourceShareOutput() GetIsBackupPolicyJobSourceShareOutput { + return i.ToGetIsBackupPolicyJobSourceShareOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceShareArgs) ToGetIsBackupPolicyJobSourceShareOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceShareOutput) +} + +// GetIsBackupPolicyJobSourceShareArrayInput is an input type that accepts GetIsBackupPolicyJobSourceShareArray and GetIsBackupPolicyJobSourceShareArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceShareArrayInput` via: +// +// GetIsBackupPolicyJobSourceShareArray{ GetIsBackupPolicyJobSourceShareArgs{...} } +type GetIsBackupPolicyJobSourceShareArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceShareArrayOutput() GetIsBackupPolicyJobSourceShareArrayOutput + ToGetIsBackupPolicyJobSourceShareArrayOutputWithContext(context.Context) GetIsBackupPolicyJobSourceShareArrayOutput +} + +type GetIsBackupPolicyJobSourceShareArray []GetIsBackupPolicyJobSourceShareInput + +func (GetIsBackupPolicyJobSourceShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceShare)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceShareArray) ToGetIsBackupPolicyJobSourceShareArrayOutput() GetIsBackupPolicyJobSourceShareArrayOutput { + return i.ToGetIsBackupPolicyJobSourceShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceShareArray) ToGetIsBackupPolicyJobSourceShareArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceShareArrayOutput) +} + +type GetIsBackupPolicyJobSourceShareOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceShare)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceShareOutput) ToGetIsBackupPolicyJobSourceShareOutput() GetIsBackupPolicyJobSourceShareOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceShareOutput) ToGetIsBackupPolicyJobSourceShareOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceShareOutput { + return o +} + +// The CRN for this volume. +func (o GetIsBackupPolicyJobSourceShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobSourceShareOutput) Deleteds() GetIsBackupPolicyJobSourceShareDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceShare) []GetIsBackupPolicyJobSourceShareDeleted { return v.Deleteds }).(GetIsBackupPolicyJobSourceShareDeletedArrayOutput) +} + +// The URL for this volume. +func (o GetIsBackupPolicyJobSourceShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this volume. +func (o GetIsBackupPolicyJobSourceShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume. +func (o GetIsBackupPolicyJobSourceShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceShare) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobSourceShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceShare)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceShareArrayOutput) ToGetIsBackupPolicyJobSourceShareArrayOutput() GetIsBackupPolicyJobSourceShareArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceShareArrayOutput) ToGetIsBackupPolicyJobSourceShareArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceShareArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceShareArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobSourceShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobSourceShare { + return vs[0].([]GetIsBackupPolicyJobSourceShare)[vs[1].(int)] + }).(GetIsBackupPolicyJobSourceShareOutput) +} + +type GetIsBackupPolicyJobSourceShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobSourceShareDeletedInput is an input type that accepts GetIsBackupPolicyJobSourceShareDeletedArgs and GetIsBackupPolicyJobSourceShareDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceShareDeletedInput` via: +// +// GetIsBackupPolicyJobSourceShareDeletedArgs{...} +type GetIsBackupPolicyJobSourceShareDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceShareDeletedOutput() GetIsBackupPolicyJobSourceShareDeletedOutput + ToGetIsBackupPolicyJobSourceShareDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobSourceShareDeletedOutput +} + +type GetIsBackupPolicyJobSourceShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobSourceShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceShareDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceShareDeletedArgs) ToGetIsBackupPolicyJobSourceShareDeletedOutput() GetIsBackupPolicyJobSourceShareDeletedOutput { + return i.ToGetIsBackupPolicyJobSourceShareDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceShareDeletedArgs) ToGetIsBackupPolicyJobSourceShareDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceShareDeletedOutput) +} + +// GetIsBackupPolicyJobSourceShareDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobSourceShareDeletedArray and GetIsBackupPolicyJobSourceShareDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceShareDeletedArrayInput` via: +// +// GetIsBackupPolicyJobSourceShareDeletedArray{ GetIsBackupPolicyJobSourceShareDeletedArgs{...} } +type GetIsBackupPolicyJobSourceShareDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceShareDeletedArrayOutput() GetIsBackupPolicyJobSourceShareDeletedArrayOutput + ToGetIsBackupPolicyJobSourceShareDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobSourceShareDeletedArrayOutput +} + +type GetIsBackupPolicyJobSourceShareDeletedArray []GetIsBackupPolicyJobSourceShareDeletedInput + +func (GetIsBackupPolicyJobSourceShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceShareDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceShareDeletedArray) ToGetIsBackupPolicyJobSourceShareDeletedArrayOutput() GetIsBackupPolicyJobSourceShareDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobSourceShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceShareDeletedArray) ToGetIsBackupPolicyJobSourceShareDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceShareDeletedArrayOutput) +} + +type GetIsBackupPolicyJobSourceShareDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceShareDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceShareDeletedOutput) ToGetIsBackupPolicyJobSourceShareDeletedOutput() GetIsBackupPolicyJobSourceShareDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceShareDeletedOutput) ToGetIsBackupPolicyJobSourceShareDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobSourceShareDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceShareDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobSourceShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceShareDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceShareDeletedArrayOutput) ToGetIsBackupPolicyJobSourceShareDeletedArrayOutput() GetIsBackupPolicyJobSourceShareDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceShareDeletedArrayOutput) ToGetIsBackupPolicyJobSourceShareDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceShareDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceShareDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobSourceShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobSourceShareDeleted { + return vs[0].([]GetIsBackupPolicyJobSourceShareDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobSourceShareDeletedOutput) +} + +type GetIsBackupPolicyJobSourceVolume struct { + // The CRN for this volume. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobSourceVolumeDeleted `pulumi:"deleteds"` + // The URL for this volume. + Href string `pulumi:"href"` + // The unique identifier for this volume. + Id string `pulumi:"id"` + // The unique user-defined name for this volume. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes []GetIsBackupPolicyJobSourceVolumeRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyJobSourceVolumeInput is an input type that accepts GetIsBackupPolicyJobSourceVolumeArgs and GetIsBackupPolicyJobSourceVolumeOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceVolumeInput` via: +// +// GetIsBackupPolicyJobSourceVolumeArgs{...} +type GetIsBackupPolicyJobSourceVolumeInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceVolumeOutput() GetIsBackupPolicyJobSourceVolumeOutput + ToGetIsBackupPolicyJobSourceVolumeOutputWithContext(context.Context) GetIsBackupPolicyJobSourceVolumeOutput +} + +type GetIsBackupPolicyJobSourceVolumeArgs struct { + // The CRN for this volume. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobSourceVolumeDeletedArrayInput `pulumi:"deleteds"` + // The URL for this volume. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this volume. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this volume. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes GetIsBackupPolicyJobSourceVolumeRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyJobSourceVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceVolume)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceVolumeArgs) ToGetIsBackupPolicyJobSourceVolumeOutput() GetIsBackupPolicyJobSourceVolumeOutput { + return i.ToGetIsBackupPolicyJobSourceVolumeOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceVolumeArgs) ToGetIsBackupPolicyJobSourceVolumeOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceVolumeOutput) +} + +// GetIsBackupPolicyJobSourceVolumeArrayInput is an input type that accepts GetIsBackupPolicyJobSourceVolumeArray and GetIsBackupPolicyJobSourceVolumeArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceVolumeArrayInput` via: +// +// GetIsBackupPolicyJobSourceVolumeArray{ GetIsBackupPolicyJobSourceVolumeArgs{...} } +type GetIsBackupPolicyJobSourceVolumeArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceVolumeArrayOutput() GetIsBackupPolicyJobSourceVolumeArrayOutput + ToGetIsBackupPolicyJobSourceVolumeArrayOutputWithContext(context.Context) GetIsBackupPolicyJobSourceVolumeArrayOutput +} + +type GetIsBackupPolicyJobSourceVolumeArray []GetIsBackupPolicyJobSourceVolumeInput + +func (GetIsBackupPolicyJobSourceVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceVolume)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceVolumeArray) ToGetIsBackupPolicyJobSourceVolumeArrayOutput() GetIsBackupPolicyJobSourceVolumeArrayOutput { + return i.ToGetIsBackupPolicyJobSourceVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceVolumeArray) ToGetIsBackupPolicyJobSourceVolumeArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceVolumeArrayOutput) +} + +type GetIsBackupPolicyJobSourceVolumeOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceVolume)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceVolumeOutput) ToGetIsBackupPolicyJobSourceVolumeOutput() GetIsBackupPolicyJobSourceVolumeOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeOutput) ToGetIsBackupPolicyJobSourceVolumeOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeOutput { + return o +} + +// The CRN for this volume. +func (o GetIsBackupPolicyJobSourceVolumeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolume) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobSourceVolumeOutput) Deleteds() GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolume) []GetIsBackupPolicyJobSourceVolumeDeleted { return v.Deleteds }).(GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput) +} + +// The URL for this volume. +func (o GetIsBackupPolicyJobSourceVolumeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolume) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this volume. +func (o GetIsBackupPolicyJobSourceVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolume) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume. +func (o GetIsBackupPolicyJobSourceVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. +func (o GetIsBackupPolicyJobSourceVolumeOutput) Remotes() GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolume) []GetIsBackupPolicyJobSourceVolumeRemote { return v.Remotes }).(GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobSourceVolumeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolume) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobSourceVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceVolume)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceVolumeArrayOutput) ToGetIsBackupPolicyJobSourceVolumeArrayOutput() GetIsBackupPolicyJobSourceVolumeArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeArrayOutput) ToGetIsBackupPolicyJobSourceVolumeArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobSourceVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobSourceVolume { + return vs[0].([]GetIsBackupPolicyJobSourceVolume)[vs[1].(int)] + }).(GetIsBackupPolicyJobSourceVolumeOutput) +} + +type GetIsBackupPolicyJobSourceVolumeDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobSourceVolumeDeletedInput is an input type that accepts GetIsBackupPolicyJobSourceVolumeDeletedArgs and GetIsBackupPolicyJobSourceVolumeDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceVolumeDeletedInput` via: +// +// GetIsBackupPolicyJobSourceVolumeDeletedArgs{...} +type GetIsBackupPolicyJobSourceVolumeDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceVolumeDeletedOutput() GetIsBackupPolicyJobSourceVolumeDeletedOutput + ToGetIsBackupPolicyJobSourceVolumeDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobSourceVolumeDeletedOutput +} + +type GetIsBackupPolicyJobSourceVolumeDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobSourceVolumeDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceVolumeDeletedArgs) ToGetIsBackupPolicyJobSourceVolumeDeletedOutput() GetIsBackupPolicyJobSourceVolumeDeletedOutput { + return i.ToGetIsBackupPolicyJobSourceVolumeDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceVolumeDeletedArgs) ToGetIsBackupPolicyJobSourceVolumeDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceVolumeDeletedOutput) +} + +// GetIsBackupPolicyJobSourceVolumeDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobSourceVolumeDeletedArray and GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceVolumeDeletedArrayInput` via: +// +// GetIsBackupPolicyJobSourceVolumeDeletedArray{ GetIsBackupPolicyJobSourceVolumeDeletedArgs{...} } +type GetIsBackupPolicyJobSourceVolumeDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceVolumeDeletedArrayOutput() GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput + ToGetIsBackupPolicyJobSourceVolumeDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput +} + +type GetIsBackupPolicyJobSourceVolumeDeletedArray []GetIsBackupPolicyJobSourceVolumeDeletedInput + +func (GetIsBackupPolicyJobSourceVolumeDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceVolumeDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceVolumeDeletedArray) ToGetIsBackupPolicyJobSourceVolumeDeletedArrayOutput() GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobSourceVolumeDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceVolumeDeletedArray) ToGetIsBackupPolicyJobSourceVolumeDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput) +} + +type GetIsBackupPolicyJobSourceVolumeDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceVolumeDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceVolumeDeletedOutput) ToGetIsBackupPolicyJobSourceVolumeDeletedOutput() GetIsBackupPolicyJobSourceVolumeDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeDeletedOutput) ToGetIsBackupPolicyJobSourceVolumeDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobSourceVolumeDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolumeDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceVolumeDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput) ToGetIsBackupPolicyJobSourceVolumeDeletedArrayOutput() GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput) ToGetIsBackupPolicyJobSourceVolumeDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobSourceVolumeDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobSourceVolumeDeleted { + return vs[0].([]GetIsBackupPolicyJobSourceVolumeDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobSourceVolumeDeletedOutput) +} + +type GetIsBackupPolicyJobSourceVolumeRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobSourceVolumeRemoteInput is an input type that accepts GetIsBackupPolicyJobSourceVolumeRemoteArgs and GetIsBackupPolicyJobSourceVolumeRemoteOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceVolumeRemoteInput` via: +// +// GetIsBackupPolicyJobSourceVolumeRemoteArgs{...} +type GetIsBackupPolicyJobSourceVolumeRemoteInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceVolumeRemoteOutput() GetIsBackupPolicyJobSourceVolumeRemoteOutput + ToGetIsBackupPolicyJobSourceVolumeRemoteOutputWithContext(context.Context) GetIsBackupPolicyJobSourceVolumeRemoteOutput +} + +type GetIsBackupPolicyJobSourceVolumeRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobSourceVolumeRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceVolumeRemoteArgs) ToGetIsBackupPolicyJobSourceVolumeRemoteOutput() GetIsBackupPolicyJobSourceVolumeRemoteOutput { + return i.ToGetIsBackupPolicyJobSourceVolumeRemoteOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceVolumeRemoteArgs) ToGetIsBackupPolicyJobSourceVolumeRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceVolumeRemoteOutput) +} + +// GetIsBackupPolicyJobSourceVolumeRemoteArrayInput is an input type that accepts GetIsBackupPolicyJobSourceVolumeRemoteArray and GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobSourceVolumeRemoteArrayInput` via: +// +// GetIsBackupPolicyJobSourceVolumeRemoteArray{ GetIsBackupPolicyJobSourceVolumeRemoteArgs{...} } +type GetIsBackupPolicyJobSourceVolumeRemoteArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobSourceVolumeRemoteArrayOutput() GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput + ToGetIsBackupPolicyJobSourceVolumeRemoteArrayOutputWithContext(context.Context) GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput +} + +type GetIsBackupPolicyJobSourceVolumeRemoteArray []GetIsBackupPolicyJobSourceVolumeRemoteInput + +func (GetIsBackupPolicyJobSourceVolumeRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceVolumeRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobSourceVolumeRemoteArray) ToGetIsBackupPolicyJobSourceVolumeRemoteArrayOutput() GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput { + return i.ToGetIsBackupPolicyJobSourceVolumeRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobSourceVolumeRemoteArray) ToGetIsBackupPolicyJobSourceVolumeRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput) +} + +type GetIsBackupPolicyJobSourceVolumeRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceVolumeRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceVolumeRemoteOutput) ToGetIsBackupPolicyJobSourceVolumeRemoteOutput() GetIsBackupPolicyJobSourceVolumeRemoteOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeRemoteOutput) ToGetIsBackupPolicyJobSourceVolumeRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsBackupPolicyJobSourceVolumeRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolumeRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsBackupPolicyJobSourceVolumeRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobSourceVolumeRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobSourceVolumeRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput) ToGetIsBackupPolicyJobSourceVolumeRemoteArrayOutput() GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput) ToGetIsBackupPolicyJobSourceVolumeRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobSourceVolumeRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobSourceVolumeRemote { + return vs[0].([]GetIsBackupPolicyJobSourceVolumeRemote)[vs[1].(int)] + }).(GetIsBackupPolicyJobSourceVolumeRemoteOutput) +} + +type GetIsBackupPolicyJobStatusReason struct { + // A snake case string succinctly identifying the status reason:- `internalError`: Internal error (contact IBM support)- `snapshotPending`: Cannot delete backup (snapshot) in the `pending` lifecycle state- `snapshotVolumeLimit`: The snapshot limit for the source volume has been reached- `sourceVolumeBusy`: The source volume has `busy` set (after multiple retries). + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobStatusReasonInput is an input type that accepts GetIsBackupPolicyJobStatusReasonArgs and GetIsBackupPolicyJobStatusReasonOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobStatusReasonInput` via: +// +// GetIsBackupPolicyJobStatusReasonArgs{...} +type GetIsBackupPolicyJobStatusReasonInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobStatusReasonOutput() GetIsBackupPolicyJobStatusReasonOutput + ToGetIsBackupPolicyJobStatusReasonOutputWithContext(context.Context) GetIsBackupPolicyJobStatusReasonOutput +} + +type GetIsBackupPolicyJobStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason:- `internalError`: Internal error (contact IBM support)- `snapshotPending`: Cannot delete backup (snapshot) in the `pending` lifecycle state- `snapshotVolumeLimit`: The snapshot limit for the source volume has been reached- `sourceVolumeBusy`: The source volume has `busy` set (after multiple retries). + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobStatusReason)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobStatusReasonArgs) ToGetIsBackupPolicyJobStatusReasonOutput() GetIsBackupPolicyJobStatusReasonOutput { + return i.ToGetIsBackupPolicyJobStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobStatusReasonArgs) ToGetIsBackupPolicyJobStatusReasonOutputWithContext(ctx context.Context) GetIsBackupPolicyJobStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobStatusReasonOutput) +} + +// GetIsBackupPolicyJobStatusReasonArrayInput is an input type that accepts GetIsBackupPolicyJobStatusReasonArray and GetIsBackupPolicyJobStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobStatusReasonArrayInput` via: +// +// GetIsBackupPolicyJobStatusReasonArray{ GetIsBackupPolicyJobStatusReasonArgs{...} } +type GetIsBackupPolicyJobStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobStatusReasonArrayOutput() GetIsBackupPolicyJobStatusReasonArrayOutput + ToGetIsBackupPolicyJobStatusReasonArrayOutputWithContext(context.Context) GetIsBackupPolicyJobStatusReasonArrayOutput +} + +type GetIsBackupPolicyJobStatusReasonArray []GetIsBackupPolicyJobStatusReasonInput + +func (GetIsBackupPolicyJobStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobStatusReason)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobStatusReasonArray) ToGetIsBackupPolicyJobStatusReasonArrayOutput() GetIsBackupPolicyJobStatusReasonArrayOutput { + return i.ToGetIsBackupPolicyJobStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobStatusReasonArray) ToGetIsBackupPolicyJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobStatusReasonArrayOutput) +} + +type GetIsBackupPolicyJobStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobStatusReason)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobStatusReasonOutput) ToGetIsBackupPolicyJobStatusReasonOutput() GetIsBackupPolicyJobStatusReasonOutput { + return o +} + +func (o GetIsBackupPolicyJobStatusReasonOutput) ToGetIsBackupPolicyJobStatusReasonOutputWithContext(ctx context.Context) GetIsBackupPolicyJobStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason:- `internalError`: Internal error (contact IBM support)- `snapshotPending`: Cannot delete backup (snapshot) in the `pending` lifecycle state- `snapshotVolumeLimit`: The snapshot limit for the source volume has been reached- `sourceVolumeBusy`: The source volume has `busy` set (after multiple retries). +func (o GetIsBackupPolicyJobStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsBackupPolicyJobStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsBackupPolicyJobStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobStatusReason)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobStatusReasonArrayOutput) ToGetIsBackupPolicyJobStatusReasonArrayOutput() GetIsBackupPolicyJobStatusReasonArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobStatusReasonArrayOutput) ToGetIsBackupPolicyJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobStatusReasonArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobStatusReason { + return vs[0].([]GetIsBackupPolicyJobStatusReason)[vs[1].(int)] + }).(GetIsBackupPolicyJobStatusReasonOutput) +} + +type GetIsBackupPolicyJobTargetSnapshot struct { + // The CRN for this snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobTargetSnapshotDeleted `pulumi:"deleteds"` + // The URL for this snapshot. + Href string `pulumi:"href"` + // The unique identifier for this snapshot. + Id string `pulumi:"id"` + // The user-defined name for this snapshot. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsBackupPolicyJobTargetSnapshotRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyJobTargetSnapshotInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotArgs and GetIsBackupPolicyJobTargetSnapshotOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotArgs{...} +type GetIsBackupPolicyJobTargetSnapshotInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotOutput() GetIsBackupPolicyJobTargetSnapshotOutput + ToGetIsBackupPolicyJobTargetSnapshotOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotOutput +} + +type GetIsBackupPolicyJobTargetSnapshotArgs struct { + // The CRN for this snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobTargetSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for this snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this snapshot. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsBackupPolicyJobTargetSnapshotRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyJobTargetSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshot)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotArgs) ToGetIsBackupPolicyJobTargetSnapshotOutput() GetIsBackupPolicyJobTargetSnapshotOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotArgs) ToGetIsBackupPolicyJobTargetSnapshotOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotOutput) +} + +// GetIsBackupPolicyJobTargetSnapshotArrayInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotArray and GetIsBackupPolicyJobTargetSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotArrayInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotArray{ GetIsBackupPolicyJobTargetSnapshotArgs{...} } +type GetIsBackupPolicyJobTargetSnapshotArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotArrayOutput() GetIsBackupPolicyJobTargetSnapshotArrayOutput + ToGetIsBackupPolicyJobTargetSnapshotArrayOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotArrayOutput +} + +type GetIsBackupPolicyJobTargetSnapshotArray []GetIsBackupPolicyJobTargetSnapshotInput + +func (GetIsBackupPolicyJobTargetSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshot)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotArray) ToGetIsBackupPolicyJobTargetSnapshotArrayOutput() GetIsBackupPolicyJobTargetSnapshotArrayOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotArray) ToGetIsBackupPolicyJobTargetSnapshotArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotArrayOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshot)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotOutput) ToGetIsBackupPolicyJobTargetSnapshotOutput() GetIsBackupPolicyJobTargetSnapshotOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotOutput) ToGetIsBackupPolicyJobTargetSnapshotOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotOutput { + return o +} + +// The CRN for this snapshot. +func (o GetIsBackupPolicyJobTargetSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobTargetSnapshotOutput) Deleteds() GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshot) []GetIsBackupPolicyJobTargetSnapshotDeleted { + return v.Deleteds + }).(GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput) +} + +// The URL for this snapshot. +func (o GetIsBackupPolicyJobTargetSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot. +func (o GetIsBackupPolicyJobTargetSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this snapshot. +func (o GetIsBackupPolicyJobTargetSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsBackupPolicyJobTargetSnapshotOutput) Remotes() GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshot) []GetIsBackupPolicyJobTargetSnapshotRemote { + return v.Remotes + }).(GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobTargetSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshot)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotArrayOutput() GetIsBackupPolicyJobTargetSnapshotArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobTargetSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobTargetSnapshot { + return vs[0].([]GetIsBackupPolicyJobTargetSnapshot)[vs[1].(int)] + }).(GetIsBackupPolicyJobTargetSnapshotOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobTargetSnapshotDeletedInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotDeletedArgs and GetIsBackupPolicyJobTargetSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotDeletedInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotDeletedArgs{...} +type GetIsBackupPolicyJobTargetSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotDeletedOutput() GetIsBackupPolicyJobTargetSnapshotDeletedOutput + ToGetIsBackupPolicyJobTargetSnapshotDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotDeletedOutput +} + +type GetIsBackupPolicyJobTargetSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobTargetSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotDeletedArgs) ToGetIsBackupPolicyJobTargetSnapshotDeletedOutput() GetIsBackupPolicyJobTargetSnapshotDeletedOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotDeletedArgs) ToGetIsBackupPolicyJobTargetSnapshotDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotDeletedOutput) +} + +// GetIsBackupPolicyJobTargetSnapshotDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotDeletedArray and GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotDeletedArrayInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotDeletedArray{ GetIsBackupPolicyJobTargetSnapshotDeletedArgs{...} } +type GetIsBackupPolicyJobTargetSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput() GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput + ToGetIsBackupPolicyJobTargetSnapshotDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput +} + +type GetIsBackupPolicyJobTargetSnapshotDeletedArray []GetIsBackupPolicyJobTargetSnapshotDeletedInput + +func (GetIsBackupPolicyJobTargetSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotDeletedArray) ToGetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput() GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotDeletedArray) ToGetIsBackupPolicyJobTargetSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotDeletedOutput) ToGetIsBackupPolicyJobTargetSnapshotDeletedOutput() GetIsBackupPolicyJobTargetSnapshotDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotDeletedOutput) ToGetIsBackupPolicyJobTargetSnapshotDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobTargetSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshotDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput() GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobTargetSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobTargetSnapshotDeleted { + return vs[0].([]GetIsBackupPolicyJobTargetSnapshotDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobTargetSnapshotDeletedOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsBackupPolicyJobTargetSnapshotRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsBackupPolicyJobTargetSnapshotRemoteRegion `pulumi:"regions"` +} + +// GetIsBackupPolicyJobTargetSnapshotRemoteInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotRemoteArgs and GetIsBackupPolicyJobTargetSnapshotRemoteOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotRemoteInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotRemoteArgs{...} +type GetIsBackupPolicyJobTargetSnapshotRemoteInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotRemoteOutput() GetIsBackupPolicyJobTargetSnapshotRemoteOutput + ToGetIsBackupPolicyJobTargetSnapshotRemoteOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteOutput +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsBackupPolicyJobTargetSnapshotRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteArgs) ToGetIsBackupPolicyJobTargetSnapshotRemoteOutput() GetIsBackupPolicyJobTargetSnapshotRemoteOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotRemoteOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteArgs) ToGetIsBackupPolicyJobTargetSnapshotRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotRemoteOutput) +} + +// GetIsBackupPolicyJobTargetSnapshotRemoteArrayInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotRemoteArray and GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotRemoteArrayInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotRemoteArray{ GetIsBackupPolicyJobTargetSnapshotRemoteArgs{...} } +type GetIsBackupPolicyJobTargetSnapshotRemoteArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput + ToGetIsBackupPolicyJobTargetSnapshotRemoteArrayOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteArray []GetIsBackupPolicyJobTargetSnapshotRemoteInput + +func (GetIsBackupPolicyJobTargetSnapshotRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshotRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteArray) ToGetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteArray) ToGetIsBackupPolicyJobTargetSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteOutput() GetIsBackupPolicyJobTargetSnapshotRemoteOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsBackupPolicyJobTargetSnapshotRemoteOutput) Accounts() GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshotRemote) []GetIsBackupPolicyJobTargetSnapshotRemoteAccount { + return v.Accounts + }).(GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsBackupPolicyJobTargetSnapshotRemoteOutput) Regions() GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshotRemote) []GetIsBackupPolicyJobTargetSnapshotRemoteRegion { + return v.Regions + }).(GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshotRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobTargetSnapshotRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobTargetSnapshotRemote { + return vs[0].([]GetIsBackupPolicyJobTargetSnapshotRemote)[vs[1].(int)] + }).(GetIsBackupPolicyJobTargetSnapshotRemoteOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyJobTargetSnapshotRemoteAccountInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotRemoteAccountArgs and GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotRemoteAccountInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotRemoteAccountArgs{...} +type GetIsBackupPolicyJobTargetSnapshotRemoteAccountInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput() GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput + ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyJobTargetSnapshotRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteAccount)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteAccountArgs) ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput() GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteAccountArgs) ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput) +} + +// GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotRemoteAccountArray and GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotRemoteAccountArray{ GetIsBackupPolicyJobTargetSnapshotRemoteAccountArgs{...} } +type GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput + ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteAccountArray []GetIsBackupPolicyJobTargetSnapshotRemoteAccountInput + +func (GetIsBackupPolicyJobTargetSnapshotRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshotRemoteAccount)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteAccountArray) ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteAccountArray) ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteAccount)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput() GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshotRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshotRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshotRemoteAccount)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobTargetSnapshotRemoteAccount { + return vs[0].([]GetIsBackupPolicyJobTargetSnapshotRemoteAccount)[vs[1].(int)] + }).(GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobTargetSnapshotRemoteRegionInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotRemoteRegionArgs and GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotRemoteRegionInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotRemoteRegionArgs{...} +type GetIsBackupPolicyJobTargetSnapshotRemoteRegionInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput() GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput + ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobTargetSnapshotRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteRegion)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteRegionArgs) ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput() GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteRegionArgs) ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput) +} + +// GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayInput is an input type that accepts GetIsBackupPolicyJobTargetSnapshotRemoteRegionArray and GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayInput` via: +// +// GetIsBackupPolicyJobTargetSnapshotRemoteRegionArray{ GetIsBackupPolicyJobTargetSnapshotRemoteRegionArgs{...} } +type GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput + ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutputWithContext(context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteRegionArray []GetIsBackupPolicyJobTargetSnapshotRemoteRegionInput + +func (GetIsBackupPolicyJobTargetSnapshotRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshotRemoteRegion)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteRegionArray) ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput { + return i.ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobTargetSnapshotRemoteRegionArray) ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteRegion)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput() GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshotRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobTargetSnapshotRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobTargetSnapshotRemoteRegion)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput() GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput) ToGetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobTargetSnapshotRemoteRegion { + return vs[0].([]GetIsBackupPolicyJobTargetSnapshotRemoteRegion)[vs[1].(int)] + }).(GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput) +} + +type GetIsBackupPolicyJobsJob struct { + // Indicates whether this backup policy job will be automatically deleted after it completes. At present, this is always `true`, but may be modifiable in the future. + AutoDelete bool `pulumi:"autoDelete"` + // If `autoDelete` is `true`, the days after completion that this backup policy job will be deleted. This value may be modifiable in the future. + AutoDeleteAfter int `pulumi:"autoDeleteAfter"` + // The backup policy plan operated this backup policy job (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + BackupPolicyPlans []GetIsBackupPolicyJobsJobBackupPolicyPlan `pulumi:"backupPolicyPlans"` + // The date and time that the backup policy job was completed. + CompletedAt string `pulumi:"completedAt"` + // The date and time that the backup policy job was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this backup policy job. + Href string `pulumi:"href"` + // The unique identifier for this backup policy job. + Id string `pulumi:"id"` + // The type of backup policy job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy job on which the unexpected property value was encountered. + JobType string `pulumi:"jobType"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The source volume this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SourceInstances []GetIsBackupPolicyJobsJobSourceInstance `pulumi:"sourceInstances"` + // The source share this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SourceShares []GetIsBackupPolicyJobsJobSourceShare `pulumi:"sourceShares"` + // The source volume this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SourceVolumes []GetIsBackupPolicyJobsJobSourceVolume `pulumi:"sourceVolumes"` + // The status of the backup policy job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy job on which the unexpected property value was encountered. + Status string `pulumi:"status"` + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons []GetIsBackupPolicyJobsJobStatusReason `pulumi:"statusReasons"` + // The snapshot operated on by this backup policy job (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + TargetSnapshots []GetIsBackupPolicyJobsJobTargetSnapshot `pulumi:"targetSnapshots"` +} + +// GetIsBackupPolicyJobsJobInput is an input type that accepts GetIsBackupPolicyJobsJobArgs and GetIsBackupPolicyJobsJobOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobInput` via: +// +// GetIsBackupPolicyJobsJobArgs{...} +type GetIsBackupPolicyJobsJobInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobOutput() GetIsBackupPolicyJobsJobOutput + ToGetIsBackupPolicyJobsJobOutputWithContext(context.Context) GetIsBackupPolicyJobsJobOutput +} + +type GetIsBackupPolicyJobsJobArgs struct { + // Indicates whether this backup policy job will be automatically deleted after it completes. At present, this is always `true`, but may be modifiable in the future. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // If `autoDelete` is `true`, the days after completion that this backup policy job will be deleted. This value may be modifiable in the future. + AutoDeleteAfter pulumi.IntInput `pulumi:"autoDeleteAfter"` + // The backup policy plan operated this backup policy job (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + BackupPolicyPlans GetIsBackupPolicyJobsJobBackupPolicyPlanArrayInput `pulumi:"backupPolicyPlans"` + // The date and time that the backup policy job was completed. + CompletedAt pulumi.StringInput `pulumi:"completedAt"` + // The date and time that the backup policy job was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this backup policy job. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy job. + Id pulumi.StringInput `pulumi:"id"` + // The type of backup policy job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy job on which the unexpected property value was encountered. + JobType pulumi.StringInput `pulumi:"jobType"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The source volume this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SourceInstances GetIsBackupPolicyJobsJobSourceInstanceArrayInput `pulumi:"sourceInstances"` + // The source share this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SourceShares GetIsBackupPolicyJobsJobSourceShareArrayInput `pulumi:"sourceShares"` + // The source volume this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + SourceVolumes GetIsBackupPolicyJobsJobSourceVolumeArrayInput `pulumi:"sourceVolumes"` + // The status of the backup policy job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy job on which the unexpected property value was encountered. + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons GetIsBackupPolicyJobsJobStatusReasonArrayInput `pulumi:"statusReasons"` + // The snapshot operated on by this backup policy job (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + TargetSnapshots GetIsBackupPolicyJobsJobTargetSnapshotArrayInput `pulumi:"targetSnapshots"` +} + +func (GetIsBackupPolicyJobsJobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJob)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobArgs) ToGetIsBackupPolicyJobsJobOutput() GetIsBackupPolicyJobsJobOutput { + return i.ToGetIsBackupPolicyJobsJobOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobArgs) ToGetIsBackupPolicyJobsJobOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobOutput) +} + +// GetIsBackupPolicyJobsJobArrayInput is an input type that accepts GetIsBackupPolicyJobsJobArray and GetIsBackupPolicyJobsJobArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobArrayInput` via: +// +// GetIsBackupPolicyJobsJobArray{ GetIsBackupPolicyJobsJobArgs{...} } +type GetIsBackupPolicyJobsJobArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobArrayOutput() GetIsBackupPolicyJobsJobArrayOutput + ToGetIsBackupPolicyJobsJobArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobArrayOutput +} + +type GetIsBackupPolicyJobsJobArray []GetIsBackupPolicyJobsJobInput + +func (GetIsBackupPolicyJobsJobArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJob)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobArray) ToGetIsBackupPolicyJobsJobArrayOutput() GetIsBackupPolicyJobsJobArrayOutput { + return i.ToGetIsBackupPolicyJobsJobArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobArray) ToGetIsBackupPolicyJobsJobArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobArrayOutput) +} + +type GetIsBackupPolicyJobsJobOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJob)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobOutput) ToGetIsBackupPolicyJobsJobOutput() GetIsBackupPolicyJobsJobOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobOutput) ToGetIsBackupPolicyJobsJobOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobOutput { + return o +} + +// Indicates whether this backup policy job will be automatically deleted after it completes. At present, this is always `true`, but may be modifiable in the future. +func (o GetIsBackupPolicyJobsJobOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// If `autoDelete` is `true`, the days after completion that this backup policy job will be deleted. This value may be modifiable in the future. +func (o GetIsBackupPolicyJobsJobOutput) AutoDeleteAfter() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) int { return v.AutoDeleteAfter }).(pulumi.IntOutput) +} + +// The backup policy plan operated this backup policy job (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +func (o GetIsBackupPolicyJobsJobOutput) BackupPolicyPlans() GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) []GetIsBackupPolicyJobsJobBackupPolicyPlan { + return v.BackupPolicyPlans + }).(GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput) +} + +// The date and time that the backup policy job was completed. +func (o GetIsBackupPolicyJobsJobOutput) CompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) string { return v.CompletedAt }).(pulumi.StringOutput) +} + +// The date and time that the backup policy job was created. +func (o GetIsBackupPolicyJobsJobOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this backup policy job. +func (o GetIsBackupPolicyJobsJobOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy job. +func (o GetIsBackupPolicyJobsJobOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) string { return v.Id }).(pulumi.StringOutput) +} + +// The type of backup policy job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy job on which the unexpected property value was encountered. +func (o GetIsBackupPolicyJobsJobOutput) JobType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) string { return v.JobType }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobsJobOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The source volume this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +func (o GetIsBackupPolicyJobsJobOutput) SourceInstances() GetIsBackupPolicyJobsJobSourceInstanceArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) []GetIsBackupPolicyJobsJobSourceInstance { return v.SourceInstances }).(GetIsBackupPolicyJobsJobSourceInstanceArrayOutput) +} + +// The source share this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +func (o GetIsBackupPolicyJobsJobOutput) SourceShares() GetIsBackupPolicyJobsJobSourceShareArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) []GetIsBackupPolicyJobsJobSourceShare { return v.SourceShares }).(GetIsBackupPolicyJobsJobSourceShareArrayOutput) +} + +// The source volume this backup was created from (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +func (o GetIsBackupPolicyJobsJobOutput) SourceVolumes() GetIsBackupPolicyJobsJobSourceVolumeArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) []GetIsBackupPolicyJobsJobSourceVolume { return v.SourceVolumes }).(GetIsBackupPolicyJobsJobSourceVolumeArrayOutput) +} + +// The status of the backup policy job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy job on which the unexpected property value was encountered. +func (o GetIsBackupPolicyJobsJobOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o GetIsBackupPolicyJobsJobOutput) StatusReasons() GetIsBackupPolicyJobsJobStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) []GetIsBackupPolicyJobsJobStatusReason { return v.StatusReasons }).(GetIsBackupPolicyJobsJobStatusReasonArrayOutput) +} + +// The snapshot operated on by this backup policy job (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +func (o GetIsBackupPolicyJobsJobOutput) TargetSnapshots() GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJob) []GetIsBackupPolicyJobsJobTargetSnapshot { return v.TargetSnapshots }).(GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput) +} + +type GetIsBackupPolicyJobsJobArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJob)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobArrayOutput) ToGetIsBackupPolicyJobsJobArrayOutput() GetIsBackupPolicyJobsJobArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobArrayOutput) ToGetIsBackupPolicyJobsJobArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJob { + return vs[0].([]GetIsBackupPolicyJobsJob)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes []GetIsBackupPolicyJobsJobBackupPolicyPlanRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyJobsJobBackupPolicyPlanInput is an input type that accepts GetIsBackupPolicyJobsJobBackupPolicyPlanArgs and GetIsBackupPolicyJobsJobBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobBackupPolicyPlanInput` via: +// +// GetIsBackupPolicyJobsJobBackupPolicyPlanArgs{...} +type GetIsBackupPolicyJobsJobBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobBackupPolicyPlanOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanOutput + ToGetIsBackupPolicyJobsJobBackupPolicyPlanOutputWithContext(context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanOutput +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanArgs) ToGetIsBackupPolicyJobsJobBackupPolicyPlanOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanOutput { + return i.ToGetIsBackupPolicyJobsJobBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanArgs) ToGetIsBackupPolicyJobsJobBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) +} + +// GetIsBackupPolicyJobsJobBackupPolicyPlanArrayInput is an input type that accepts GetIsBackupPolicyJobsJobBackupPolicyPlanArray and GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobBackupPolicyPlanArrayInput` via: +// +// GetIsBackupPolicyJobsJobBackupPolicyPlanArray{ GetIsBackupPolicyJobsJobBackupPolicyPlanArgs{...} } +type GetIsBackupPolicyJobsJobBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput + ToGetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanArray []GetIsBackupPolicyJobsJobBackupPolicyPlanInput + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanArray) ToGetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput { + return i.ToGetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanArray) ToGetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) Deleteds() GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlan) []GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted { + return v.Deleteds + }).(GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this backup policy plan. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) Remotes() GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlan) []GetIsBackupPolicyJobsJobBackupPolicyPlanRemote { + return v.Remotes + }).(GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobBackupPolicyPlan { + return vs[0].([]GetIsBackupPolicyJobsJobBackupPolicyPlan)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobBackupPolicyPlanOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedInput is an input type that accepts GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArgs and GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedInput` via: +// +// GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArgs{...} +type GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput + ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArgs) ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput { + return i.ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArgs) ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput) +} + +// GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArray and GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArray{ GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArgs{...} } +type GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput + ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArray []GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedInput + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArray) ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArray) ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted { + return vs[0].([]GetIsBackupPolicyJobsJobBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteInput is an input type that accepts GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArgs and GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteInput` via: +// +// GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArgs{...} +type GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput + ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutputWithContext(context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArgs) ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput { + return i.ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArgs) ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput) +} + +// GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayInput is an input type that accepts GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArray and GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayInput` via: +// +// GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArray{ GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArgs{...} } +type GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput + ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArray []GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteInput + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArray) ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput { + return i.ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArray) ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlanRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobBackupPolicyPlanRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput() GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput) ToGetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobBackupPolicyPlanRemote { + return vs[0].([]GetIsBackupPolicyJobsJobBackupPolicyPlanRemote)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput) +} + +type GetIsBackupPolicyJobsJobSourceInstance struct { + // The CRN for this volume. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobsJobSourceInstanceDeleted `pulumi:"deleteds"` + // The URL for this volume. + Href string `pulumi:"href"` + // The unique identifier for this volume. + Id string `pulumi:"id"` + // The unique user-defined name for this volume. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobsJobSourceInstanceInput is an input type that accepts GetIsBackupPolicyJobsJobSourceInstanceArgs and GetIsBackupPolicyJobsJobSourceInstanceOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceInstanceInput` via: +// +// GetIsBackupPolicyJobsJobSourceInstanceArgs{...} +type GetIsBackupPolicyJobsJobSourceInstanceInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceInstanceOutput() GetIsBackupPolicyJobsJobSourceInstanceOutput + ToGetIsBackupPolicyJobsJobSourceInstanceOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceInstanceOutput +} + +type GetIsBackupPolicyJobsJobSourceInstanceArgs struct { + // The CRN for this volume. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this volume. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this volume. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this volume. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobsJobSourceInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceInstance)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceInstanceArgs) ToGetIsBackupPolicyJobsJobSourceInstanceOutput() GetIsBackupPolicyJobsJobSourceInstanceOutput { + return i.ToGetIsBackupPolicyJobsJobSourceInstanceOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceInstanceArgs) ToGetIsBackupPolicyJobsJobSourceInstanceOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceInstanceOutput) +} + +// GetIsBackupPolicyJobsJobSourceInstanceArrayInput is an input type that accepts GetIsBackupPolicyJobsJobSourceInstanceArray and GetIsBackupPolicyJobsJobSourceInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceInstanceArrayInput` via: +// +// GetIsBackupPolicyJobsJobSourceInstanceArray{ GetIsBackupPolicyJobsJobSourceInstanceArgs{...} } +type GetIsBackupPolicyJobsJobSourceInstanceArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceInstanceArrayOutput() GetIsBackupPolicyJobsJobSourceInstanceArrayOutput + ToGetIsBackupPolicyJobsJobSourceInstanceArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceInstanceArrayOutput +} + +type GetIsBackupPolicyJobsJobSourceInstanceArray []GetIsBackupPolicyJobsJobSourceInstanceInput + +func (GetIsBackupPolicyJobsJobSourceInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceInstance)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceInstanceArray) ToGetIsBackupPolicyJobsJobSourceInstanceArrayOutput() GetIsBackupPolicyJobsJobSourceInstanceArrayOutput { + return i.ToGetIsBackupPolicyJobsJobSourceInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceInstanceArray) ToGetIsBackupPolicyJobsJobSourceInstanceArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceInstanceArrayOutput) +} + +type GetIsBackupPolicyJobsJobSourceInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceInstance)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceOutput) ToGetIsBackupPolicyJobsJobSourceInstanceOutput() GetIsBackupPolicyJobsJobSourceInstanceOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceOutput) ToGetIsBackupPolicyJobsJobSourceInstanceOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceInstanceOutput { + return o +} + +// The CRN for this volume. +func (o GetIsBackupPolicyJobsJobSourceInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobsJobSourceInstanceOutput) Deleteds() GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceInstance) []GetIsBackupPolicyJobsJobSourceInstanceDeleted { + return v.Deleteds + }).(GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput) +} + +// The URL for this volume. +func (o GetIsBackupPolicyJobsJobSourceInstanceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceInstance) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this volume. +func (o GetIsBackupPolicyJobsJobSourceInstanceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceInstance) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume. +func (o GetIsBackupPolicyJobsJobSourceInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceInstance) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobSourceInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceInstance)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceArrayOutput) ToGetIsBackupPolicyJobsJobSourceInstanceArrayOutput() GetIsBackupPolicyJobsJobSourceInstanceArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceArrayOutput) ToGetIsBackupPolicyJobsJobSourceInstanceArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceInstanceArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobSourceInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobSourceInstance { + return vs[0].([]GetIsBackupPolicyJobsJobSourceInstance)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobSourceInstanceOutput) +} + +type GetIsBackupPolicyJobsJobSourceInstanceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobsJobSourceInstanceDeletedInput is an input type that accepts GetIsBackupPolicyJobsJobSourceInstanceDeletedArgs and GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceInstanceDeletedInput` via: +// +// GetIsBackupPolicyJobsJobSourceInstanceDeletedArgs{...} +type GetIsBackupPolicyJobsJobSourceInstanceDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceInstanceDeletedOutput() GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput + ToGetIsBackupPolicyJobsJobSourceInstanceDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput +} + +type GetIsBackupPolicyJobsJobSourceInstanceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobsJobSourceInstanceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceInstanceDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceInstanceDeletedArgs) ToGetIsBackupPolicyJobsJobSourceInstanceDeletedOutput() GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput { + return i.ToGetIsBackupPolicyJobsJobSourceInstanceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceInstanceDeletedArgs) ToGetIsBackupPolicyJobsJobSourceInstanceDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput) +} + +// GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobsJobSourceInstanceDeletedArray and GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayInput` via: +// +// GetIsBackupPolicyJobsJobSourceInstanceDeletedArray{ GetIsBackupPolicyJobsJobSourceInstanceDeletedArgs{...} } +type GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput + ToGetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput +} + +type GetIsBackupPolicyJobsJobSourceInstanceDeletedArray []GetIsBackupPolicyJobsJobSourceInstanceDeletedInput + +func (GetIsBackupPolicyJobsJobSourceInstanceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceInstanceDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceInstanceDeletedArray) ToGetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceInstanceDeletedArray) ToGetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput) +} + +type GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceInstanceDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput) ToGetIsBackupPolicyJobsJobSourceInstanceDeletedOutput() GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput) ToGetIsBackupPolicyJobsJobSourceInstanceDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceInstanceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceInstanceDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput) ToGetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput) ToGetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobSourceInstanceDeleted { + return vs[0].([]GetIsBackupPolicyJobsJobSourceInstanceDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput) +} + +type GetIsBackupPolicyJobsJobSourceShare struct { + // The CRN for this volume. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobsJobSourceShareDeleted `pulumi:"deleteds"` + // The URL for this volume. + Href string `pulumi:"href"` + // The unique identifier for this volume. + Id string `pulumi:"id"` + // The unique user-defined name for this volume. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobsJobSourceShareInput is an input type that accepts GetIsBackupPolicyJobsJobSourceShareArgs and GetIsBackupPolicyJobsJobSourceShareOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceShareInput` via: +// +// GetIsBackupPolicyJobsJobSourceShareArgs{...} +type GetIsBackupPolicyJobsJobSourceShareInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceShareOutput() GetIsBackupPolicyJobsJobSourceShareOutput + ToGetIsBackupPolicyJobsJobSourceShareOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceShareOutput +} + +type GetIsBackupPolicyJobsJobSourceShareArgs struct { + // The CRN for this volume. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobsJobSourceShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this volume. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this volume. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this volume. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobsJobSourceShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceShare)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceShareArgs) ToGetIsBackupPolicyJobsJobSourceShareOutput() GetIsBackupPolicyJobsJobSourceShareOutput { + return i.ToGetIsBackupPolicyJobsJobSourceShareOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceShareArgs) ToGetIsBackupPolicyJobsJobSourceShareOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceShareOutput) +} + +// GetIsBackupPolicyJobsJobSourceShareArrayInput is an input type that accepts GetIsBackupPolicyJobsJobSourceShareArray and GetIsBackupPolicyJobsJobSourceShareArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceShareArrayInput` via: +// +// GetIsBackupPolicyJobsJobSourceShareArray{ GetIsBackupPolicyJobsJobSourceShareArgs{...} } +type GetIsBackupPolicyJobsJobSourceShareArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceShareArrayOutput() GetIsBackupPolicyJobsJobSourceShareArrayOutput + ToGetIsBackupPolicyJobsJobSourceShareArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceShareArrayOutput +} + +type GetIsBackupPolicyJobsJobSourceShareArray []GetIsBackupPolicyJobsJobSourceShareInput + +func (GetIsBackupPolicyJobsJobSourceShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceShare)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceShareArray) ToGetIsBackupPolicyJobsJobSourceShareArrayOutput() GetIsBackupPolicyJobsJobSourceShareArrayOutput { + return i.ToGetIsBackupPolicyJobsJobSourceShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceShareArray) ToGetIsBackupPolicyJobsJobSourceShareArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceShareArrayOutput) +} + +type GetIsBackupPolicyJobsJobSourceShareOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceShare)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceShareOutput) ToGetIsBackupPolicyJobsJobSourceShareOutput() GetIsBackupPolicyJobsJobSourceShareOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceShareOutput) ToGetIsBackupPolicyJobsJobSourceShareOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceShareOutput { + return o +} + +// The CRN for this volume. +func (o GetIsBackupPolicyJobsJobSourceShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobsJobSourceShareOutput) Deleteds() GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceShare) []GetIsBackupPolicyJobsJobSourceShareDeleted { + return v.Deleteds + }).(GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput) +} + +// The URL for this volume. +func (o GetIsBackupPolicyJobsJobSourceShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this volume. +func (o GetIsBackupPolicyJobsJobSourceShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume. +func (o GetIsBackupPolicyJobsJobSourceShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceShare) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobSourceShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceShare)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceShareArrayOutput) ToGetIsBackupPolicyJobsJobSourceShareArrayOutput() GetIsBackupPolicyJobsJobSourceShareArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceShareArrayOutput) ToGetIsBackupPolicyJobsJobSourceShareArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceShareArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceShareArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobSourceShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobSourceShare { + return vs[0].([]GetIsBackupPolicyJobsJobSourceShare)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobSourceShareOutput) +} + +type GetIsBackupPolicyJobsJobSourceShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobsJobSourceShareDeletedInput is an input type that accepts GetIsBackupPolicyJobsJobSourceShareDeletedArgs and GetIsBackupPolicyJobsJobSourceShareDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceShareDeletedInput` via: +// +// GetIsBackupPolicyJobsJobSourceShareDeletedArgs{...} +type GetIsBackupPolicyJobsJobSourceShareDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceShareDeletedOutput() GetIsBackupPolicyJobsJobSourceShareDeletedOutput + ToGetIsBackupPolicyJobsJobSourceShareDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceShareDeletedOutput +} + +type GetIsBackupPolicyJobsJobSourceShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobsJobSourceShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceShareDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceShareDeletedArgs) ToGetIsBackupPolicyJobsJobSourceShareDeletedOutput() GetIsBackupPolicyJobsJobSourceShareDeletedOutput { + return i.ToGetIsBackupPolicyJobsJobSourceShareDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceShareDeletedArgs) ToGetIsBackupPolicyJobsJobSourceShareDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceShareDeletedOutput) +} + +// GetIsBackupPolicyJobsJobSourceShareDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobsJobSourceShareDeletedArray and GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceShareDeletedArrayInput` via: +// +// GetIsBackupPolicyJobsJobSourceShareDeletedArray{ GetIsBackupPolicyJobsJobSourceShareDeletedArgs{...} } +type GetIsBackupPolicyJobsJobSourceShareDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput + ToGetIsBackupPolicyJobsJobSourceShareDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput +} + +type GetIsBackupPolicyJobsJobSourceShareDeletedArray []GetIsBackupPolicyJobsJobSourceShareDeletedInput + +func (GetIsBackupPolicyJobsJobSourceShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceShareDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceShareDeletedArray) ToGetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobsJobSourceShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceShareDeletedArray) ToGetIsBackupPolicyJobsJobSourceShareDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput) +} + +type GetIsBackupPolicyJobsJobSourceShareDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceShareDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceShareDeletedOutput) ToGetIsBackupPolicyJobsJobSourceShareDeletedOutput() GetIsBackupPolicyJobsJobSourceShareDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceShareDeletedOutput) ToGetIsBackupPolicyJobsJobSourceShareDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobsJobSourceShareDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceShareDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceShareDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput) ToGetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput) ToGetIsBackupPolicyJobsJobSourceShareDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobSourceShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobSourceShareDeleted { + return vs[0].([]GetIsBackupPolicyJobsJobSourceShareDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobSourceShareDeletedOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolume struct { + // The CRN for this volume. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobsJobSourceVolumeDeleted `pulumi:"deleteds"` + // The URL for this volume. + Href string `pulumi:"href"` + // The unique identifier for this volume. + Id string `pulumi:"id"` + // The unique user-defined name for this volume. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes []GetIsBackupPolicyJobsJobSourceVolumeRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyJobsJobSourceVolumeInput is an input type that accepts GetIsBackupPolicyJobsJobSourceVolumeArgs and GetIsBackupPolicyJobsJobSourceVolumeOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceVolumeInput` via: +// +// GetIsBackupPolicyJobsJobSourceVolumeArgs{...} +type GetIsBackupPolicyJobsJobSourceVolumeInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceVolumeOutput() GetIsBackupPolicyJobsJobSourceVolumeOutput + ToGetIsBackupPolicyJobsJobSourceVolumeOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceVolumeOutput +} + +type GetIsBackupPolicyJobsJobSourceVolumeArgs struct { + // The CRN for this volume. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayInput `pulumi:"deleteds"` + // The URL for this volume. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this volume. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this volume. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyJobsJobSourceVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolume)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeArgs) ToGetIsBackupPolicyJobsJobSourceVolumeOutput() GetIsBackupPolicyJobsJobSourceVolumeOutput { + return i.ToGetIsBackupPolicyJobsJobSourceVolumeOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeArgs) ToGetIsBackupPolicyJobsJobSourceVolumeOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceVolumeOutput) +} + +// GetIsBackupPolicyJobsJobSourceVolumeArrayInput is an input type that accepts GetIsBackupPolicyJobsJobSourceVolumeArray and GetIsBackupPolicyJobsJobSourceVolumeArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceVolumeArrayInput` via: +// +// GetIsBackupPolicyJobsJobSourceVolumeArray{ GetIsBackupPolicyJobsJobSourceVolumeArgs{...} } +type GetIsBackupPolicyJobsJobSourceVolumeArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceVolumeArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeArrayOutput + ToGetIsBackupPolicyJobsJobSourceVolumeArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceVolumeArrayOutput +} + +type GetIsBackupPolicyJobsJobSourceVolumeArray []GetIsBackupPolicyJobsJobSourceVolumeInput + +func (GetIsBackupPolicyJobsJobSourceVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceVolume)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeArray) ToGetIsBackupPolicyJobsJobSourceVolumeArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeArrayOutput { + return i.ToGetIsBackupPolicyJobsJobSourceVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeArray) ToGetIsBackupPolicyJobsJobSourceVolumeArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceVolumeArrayOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolumeOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolume)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) ToGetIsBackupPolicyJobsJobSourceVolumeOutput() GetIsBackupPolicyJobsJobSourceVolumeOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) ToGetIsBackupPolicyJobsJobSourceVolumeOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeOutput { + return o +} + +// The CRN for this volume. +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolume) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) Deleteds() GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolume) []GetIsBackupPolicyJobsJobSourceVolumeDeleted { + return v.Deleteds + }).(GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput) +} + +// The URL for this volume. +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolume) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this volume. +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolume) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume. +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) Remotes() GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolume) []GetIsBackupPolicyJobsJobSourceVolumeRemote { + return v.Remotes + }).(GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobsJobSourceVolumeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolume) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceVolume)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeArrayOutput) ToGetIsBackupPolicyJobsJobSourceVolumeArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeArrayOutput) ToGetIsBackupPolicyJobsJobSourceVolumeArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobSourceVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobSourceVolume { + return vs[0].([]GetIsBackupPolicyJobsJobSourceVolume)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobSourceVolumeOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolumeDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobsJobSourceVolumeDeletedInput is an input type that accepts GetIsBackupPolicyJobsJobSourceVolumeDeletedArgs and GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceVolumeDeletedInput` via: +// +// GetIsBackupPolicyJobsJobSourceVolumeDeletedArgs{...} +type GetIsBackupPolicyJobsJobSourceVolumeDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceVolumeDeletedOutput() GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput + ToGetIsBackupPolicyJobsJobSourceVolumeDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput +} + +type GetIsBackupPolicyJobsJobSourceVolumeDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobsJobSourceVolumeDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeDeletedArgs) ToGetIsBackupPolicyJobsJobSourceVolumeDeletedOutput() GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput { + return i.ToGetIsBackupPolicyJobsJobSourceVolumeDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeDeletedArgs) ToGetIsBackupPolicyJobsJobSourceVolumeDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput) +} + +// GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobsJobSourceVolumeDeletedArray and GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayInput` via: +// +// GetIsBackupPolicyJobsJobSourceVolumeDeletedArray{ GetIsBackupPolicyJobsJobSourceVolumeDeletedArgs{...} } +type GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput + ToGetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput +} + +type GetIsBackupPolicyJobsJobSourceVolumeDeletedArray []GetIsBackupPolicyJobsJobSourceVolumeDeletedInput + +func (GetIsBackupPolicyJobsJobSourceVolumeDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceVolumeDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeDeletedArray) ToGetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeDeletedArray) ToGetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput) ToGetIsBackupPolicyJobsJobSourceVolumeDeletedOutput() GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput) ToGetIsBackupPolicyJobsJobSourceVolumeDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolumeDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceVolumeDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput) ToGetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput) ToGetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobSourceVolumeDeleted { + return vs[0].([]GetIsBackupPolicyJobsJobSourceVolumeDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolumeRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobsJobSourceVolumeRemoteInput is an input type that accepts GetIsBackupPolicyJobsJobSourceVolumeRemoteArgs and GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceVolumeRemoteInput` via: +// +// GetIsBackupPolicyJobsJobSourceVolumeRemoteArgs{...} +type GetIsBackupPolicyJobsJobSourceVolumeRemoteInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceVolumeRemoteOutput() GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput + ToGetIsBackupPolicyJobsJobSourceVolumeRemoteOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput +} + +type GetIsBackupPolicyJobsJobSourceVolumeRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobsJobSourceVolumeRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeRemoteArgs) ToGetIsBackupPolicyJobsJobSourceVolumeRemoteOutput() GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput { + return i.ToGetIsBackupPolicyJobsJobSourceVolumeRemoteOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeRemoteArgs) ToGetIsBackupPolicyJobsJobSourceVolumeRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput) +} + +// GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayInput is an input type that accepts GetIsBackupPolicyJobsJobSourceVolumeRemoteArray and GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayInput` via: +// +// GetIsBackupPolicyJobsJobSourceVolumeRemoteArray{ GetIsBackupPolicyJobsJobSourceVolumeRemoteArgs{...} } +type GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput + ToGetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput +} + +type GetIsBackupPolicyJobsJobSourceVolumeRemoteArray []GetIsBackupPolicyJobsJobSourceVolumeRemoteInput + +func (GetIsBackupPolicyJobsJobSourceVolumeRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceVolumeRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeRemoteArray) ToGetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput { + return i.ToGetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobSourceVolumeRemoteArray) ToGetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput) ToGetIsBackupPolicyJobsJobSourceVolumeRemoteOutput() GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput) ToGetIsBackupPolicyJobsJobSourceVolumeRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolumeRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobSourceVolumeRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobSourceVolumeRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput) ToGetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput() GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput) ToGetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobSourceVolumeRemote { + return vs[0].([]GetIsBackupPolicyJobsJobSourceVolumeRemote)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput) +} + +type GetIsBackupPolicyJobsJobStatusReason struct { + // A snake case string succinctly identifying the status reason:- `internalError`: Internal error (contact IBM support)- `snapshotPending`: Cannot delete backup (snapshot) in the `pending` lifecycle state- `snapshotVolumeLimit`: The snapshot limit for the source volume has been reached- `sourceVolumeBusy`: The source volume has `busy` set (after multiple retries). + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobsJobStatusReasonInput is an input type that accepts GetIsBackupPolicyJobsJobStatusReasonArgs and GetIsBackupPolicyJobsJobStatusReasonOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobStatusReasonInput` via: +// +// GetIsBackupPolicyJobsJobStatusReasonArgs{...} +type GetIsBackupPolicyJobsJobStatusReasonInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobStatusReasonOutput() GetIsBackupPolicyJobsJobStatusReasonOutput + ToGetIsBackupPolicyJobsJobStatusReasonOutputWithContext(context.Context) GetIsBackupPolicyJobsJobStatusReasonOutput +} + +type GetIsBackupPolicyJobsJobStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason:- `internalError`: Internal error (contact IBM support)- `snapshotPending`: Cannot delete backup (snapshot) in the `pending` lifecycle state- `snapshotVolumeLimit`: The snapshot limit for the source volume has been reached- `sourceVolumeBusy`: The source volume has `busy` set (after multiple retries). + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobsJobStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobStatusReason)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobStatusReasonArgs) ToGetIsBackupPolicyJobsJobStatusReasonOutput() GetIsBackupPolicyJobsJobStatusReasonOutput { + return i.ToGetIsBackupPolicyJobsJobStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobStatusReasonArgs) ToGetIsBackupPolicyJobsJobStatusReasonOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobStatusReasonOutput) +} + +// GetIsBackupPolicyJobsJobStatusReasonArrayInput is an input type that accepts GetIsBackupPolicyJobsJobStatusReasonArray and GetIsBackupPolicyJobsJobStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobStatusReasonArrayInput` via: +// +// GetIsBackupPolicyJobsJobStatusReasonArray{ GetIsBackupPolicyJobsJobStatusReasonArgs{...} } +type GetIsBackupPolicyJobsJobStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobStatusReasonArrayOutput() GetIsBackupPolicyJobsJobStatusReasonArrayOutput + ToGetIsBackupPolicyJobsJobStatusReasonArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobStatusReasonArrayOutput +} + +type GetIsBackupPolicyJobsJobStatusReasonArray []GetIsBackupPolicyJobsJobStatusReasonInput + +func (GetIsBackupPolicyJobsJobStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobStatusReason)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobStatusReasonArray) ToGetIsBackupPolicyJobsJobStatusReasonArrayOutput() GetIsBackupPolicyJobsJobStatusReasonArrayOutput { + return i.ToGetIsBackupPolicyJobsJobStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobStatusReasonArray) ToGetIsBackupPolicyJobsJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobStatusReasonArrayOutput) +} + +type GetIsBackupPolicyJobsJobStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobStatusReason)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobStatusReasonOutput) ToGetIsBackupPolicyJobsJobStatusReasonOutput() GetIsBackupPolicyJobsJobStatusReasonOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobStatusReasonOutput) ToGetIsBackupPolicyJobsJobStatusReasonOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason:- `internalError`: Internal error (contact IBM support)- `snapshotPending`: Cannot delete backup (snapshot) in the `pending` lifecycle state- `snapshotVolumeLimit`: The snapshot limit for the source volume has been reached- `sourceVolumeBusy`: The source volume has `busy` set (after multiple retries). +func (o GetIsBackupPolicyJobsJobStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsBackupPolicyJobsJobStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsBackupPolicyJobsJobStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobStatusReason)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobStatusReasonArrayOutput) ToGetIsBackupPolicyJobsJobStatusReasonArrayOutput() GetIsBackupPolicyJobsJobStatusReasonArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobStatusReasonArrayOutput) ToGetIsBackupPolicyJobsJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobStatusReasonArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobStatusReason { + return vs[0].([]GetIsBackupPolicyJobsJobStatusReason)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobStatusReasonOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshot struct { + // The CRN for this snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyJobsJobTargetSnapshotDeleted `pulumi:"deleteds"` + // The URL for this snapshot. + Href string `pulumi:"href"` + // The unique identifier for this snapshot. + Id string `pulumi:"id"` + // The user-defined name for this snapshot. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsBackupPolicyJobsJobTargetSnapshotRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyJobsJobTargetSnapshotInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotArgs and GetIsBackupPolicyJobsJobTargetSnapshotOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotArgs{...} +type GetIsBackupPolicyJobsJobTargetSnapshotInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotOutput() GetIsBackupPolicyJobsJobTargetSnapshotOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotArgs struct { + // The CRN for this snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for this snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this snapshot. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyJobsJobTargetSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshot)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotOutput() GetIsBackupPolicyJobsJobTargetSnapshotOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotOutput) +} + +// GetIsBackupPolicyJobsJobTargetSnapshotArrayInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotArray and GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotArrayInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotArray{ GetIsBackupPolicyJobsJobTargetSnapshotArgs{...} } +type GetIsBackupPolicyJobsJobTargetSnapshotArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotArray []GetIsBackupPolicyJobsJobTargetSnapshotInput + +func (GetIsBackupPolicyJobsJobTargetSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshot)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotArray) ToGetIsBackupPolicyJobsJobTargetSnapshotArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotArray) ToGetIsBackupPolicyJobsJobTargetSnapshotArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshot)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotOutput() GetIsBackupPolicyJobsJobTargetSnapshotOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotOutput { + return o +} + +// The CRN for this snapshot. +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) Deleteds() GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshot) []GetIsBackupPolicyJobsJobTargetSnapshotDeleted { + return v.Deleteds + }).(GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput) +} + +// The URL for this snapshot. +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot. +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this snapshot. +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) Remotes() GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshot) []GetIsBackupPolicyJobsJobTargetSnapshotRemote { + return v.Remotes + }).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobsJobTargetSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshot)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobTargetSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobTargetSnapshot { + return vs[0].([]GetIsBackupPolicyJobsJobTargetSnapshot)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobTargetSnapshotOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyJobsJobTargetSnapshotDeletedInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotDeletedArgs and GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotDeletedInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotDeletedArgs{...} +type GetIsBackupPolicyJobsJobTargetSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput() GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyJobsJobTargetSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotDeletedArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput() GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotDeletedArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput) +} + +// GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotDeletedArray and GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotDeletedArray{ GetIsBackupPolicyJobsJobTargetSnapshotDeletedArgs{...} } +type GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotDeletedArray []GetIsBackupPolicyJobsJobTargetSnapshotDeletedInput + +func (GetIsBackupPolicyJobsJobTargetSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotDeletedArray) ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotDeletedArray) ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput() GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshotDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobTargetSnapshotDeleted { + return vs[0].([]GetIsBackupPolicyJobsJobTargetSnapshotDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion `pulumi:"regions"` +} + +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotRemoteArgs and GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotRemoteInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteArgs{...} +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput) +} + +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotRemoteArray and GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteArray{ GetIsBackupPolicyJobsJobTargetSnapshotRemoteArgs{...} } +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteArray []GetIsBackupPolicyJobsJobTargetSnapshotRemoteInput + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshotRemote)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteArray) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteArray) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput) Accounts() GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshotRemote) []GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount { + return v.Accounts + }).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput) Regions() GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshotRemote) []GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion { + return v.Regions + }).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshotRemote)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobTargetSnapshotRemote { + return vs[0].([]GetIsBackupPolicyJobsJobTargetSnapshotRemote)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArgs and GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArgs{...} +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput) +} + +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArray and GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArray{ GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArgs{...} } +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArray []GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountInput + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArray) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArray) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount { + return vs[0].([]GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccount)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArgs and GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArgs{...} +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArgs) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput) +} + +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayInput is an input type that accepts GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArray and GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayInput` via: +// +// GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArray{ GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArgs{...} } +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput + ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutputWithContext(context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArray []GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionInput + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion)(nil)).Elem() +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArray) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput { + return i.ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArray) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion)(nil)).Elem() +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput() GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput) ToGetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput { + return o +} + +func (o GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion { + return vs[0].([]GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegion)[vs[1].(int)] + }).(GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput) +} + +type GetIsBackupPolicyPlanType struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyPlanTypeInput is an input type that accepts GetIsBackupPolicyPlanTypeArgs and GetIsBackupPolicyPlanTypeOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanTypeInput` via: +// +// GetIsBackupPolicyPlanTypeArgs{...} +type GetIsBackupPolicyPlanTypeInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanTypeOutput() GetIsBackupPolicyPlanTypeOutput + ToGetIsBackupPolicyPlanTypeOutputWithContext(context.Context) GetIsBackupPolicyPlanTypeOutput +} + +type GetIsBackupPolicyPlanTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyPlanTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanType)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanTypeArgs) ToGetIsBackupPolicyPlanTypeOutput() GetIsBackupPolicyPlanTypeOutput { + return i.ToGetIsBackupPolicyPlanTypeOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanTypeArgs) ToGetIsBackupPolicyPlanTypeOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanTypeOutput) +} + +// GetIsBackupPolicyPlanTypeArrayInput is an input type that accepts GetIsBackupPolicyPlanTypeArray and GetIsBackupPolicyPlanTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanTypeArrayInput` via: +// +// GetIsBackupPolicyPlanTypeArray{ GetIsBackupPolicyPlanTypeArgs{...} } +type GetIsBackupPolicyPlanTypeArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanTypeArrayOutput() GetIsBackupPolicyPlanTypeArrayOutput + ToGetIsBackupPolicyPlanTypeArrayOutputWithContext(context.Context) GetIsBackupPolicyPlanTypeArrayOutput +} + +type GetIsBackupPolicyPlanTypeArray []GetIsBackupPolicyPlanTypeInput + +func (GetIsBackupPolicyPlanTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanType)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanTypeArray) ToGetIsBackupPolicyPlanTypeArrayOutput() GetIsBackupPolicyPlanTypeArrayOutput { + return i.ToGetIsBackupPolicyPlanTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanTypeArray) ToGetIsBackupPolicyPlanTypeArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanTypeArrayOutput) +} + +type GetIsBackupPolicyPlanTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanType)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanTypeOutput) ToGetIsBackupPolicyPlanTypeOutput() GetIsBackupPolicyPlanTypeOutput { + return o +} + +func (o GetIsBackupPolicyPlanTypeOutput) ToGetIsBackupPolicyPlanTypeOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBackupPolicyPlanTypeOutput) Deleteds() GetIsBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanType) []GetIsBackupPolicyPlanDeleted { return v.Deleteds }).(GetIsBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsBackupPolicyPlanTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsBackupPolicyPlanTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanType) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this backup policy plan. +func (o GetIsBackupPolicyPlanTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanType) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsBackupPolicyPlanTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyPlanTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanType)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanTypeArrayOutput) ToGetIsBackupPolicyPlanTypeArrayOutput() GetIsBackupPolicyPlanTypeArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanTypeArrayOutput) ToGetIsBackupPolicyPlanTypeArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanTypeArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanTypeArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlanTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlanType { + return vs[0].([]GetIsBackupPolicyPlanType)[vs[1].(int)] + }).(GetIsBackupPolicyPlanTypeOutput) +} + +type GetIsBackupPolicyPlanClonePolicy struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots int `pulumi:"maxSnapshots"` + // The zone this backup policy plan will create snapshot clones in. + Zones []string `pulumi:"zones"` +} + +// GetIsBackupPolicyPlanClonePolicyInput is an input type that accepts GetIsBackupPolicyPlanClonePolicyArgs and GetIsBackupPolicyPlanClonePolicyOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanClonePolicyInput` via: +// +// GetIsBackupPolicyPlanClonePolicyArgs{...} +type GetIsBackupPolicyPlanClonePolicyInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanClonePolicyOutput() GetIsBackupPolicyPlanClonePolicyOutput + ToGetIsBackupPolicyPlanClonePolicyOutputWithContext(context.Context) GetIsBackupPolicyPlanClonePolicyOutput +} + +type GetIsBackupPolicyPlanClonePolicyArgs struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots pulumi.IntInput `pulumi:"maxSnapshots"` + // The zone this backup policy plan will create snapshot clones in. + Zones pulumi.StringArrayInput `pulumi:"zones"` +} + +func (GetIsBackupPolicyPlanClonePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanClonePolicy)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanClonePolicyArgs) ToGetIsBackupPolicyPlanClonePolicyOutput() GetIsBackupPolicyPlanClonePolicyOutput { + return i.ToGetIsBackupPolicyPlanClonePolicyOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanClonePolicyArgs) ToGetIsBackupPolicyPlanClonePolicyOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanClonePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanClonePolicyOutput) +} + +// GetIsBackupPolicyPlanClonePolicyArrayInput is an input type that accepts GetIsBackupPolicyPlanClonePolicyArray and GetIsBackupPolicyPlanClonePolicyArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanClonePolicyArrayInput` via: +// +// GetIsBackupPolicyPlanClonePolicyArray{ GetIsBackupPolicyPlanClonePolicyArgs{...} } +type GetIsBackupPolicyPlanClonePolicyArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanClonePolicyArrayOutput() GetIsBackupPolicyPlanClonePolicyArrayOutput + ToGetIsBackupPolicyPlanClonePolicyArrayOutputWithContext(context.Context) GetIsBackupPolicyPlanClonePolicyArrayOutput +} + +type GetIsBackupPolicyPlanClonePolicyArray []GetIsBackupPolicyPlanClonePolicyInput + +func (GetIsBackupPolicyPlanClonePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanClonePolicy)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanClonePolicyArray) ToGetIsBackupPolicyPlanClonePolicyArrayOutput() GetIsBackupPolicyPlanClonePolicyArrayOutput { + return i.ToGetIsBackupPolicyPlanClonePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanClonePolicyArray) ToGetIsBackupPolicyPlanClonePolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanClonePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanClonePolicyArrayOutput) +} + +type GetIsBackupPolicyPlanClonePolicyOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanClonePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanClonePolicy)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanClonePolicyOutput) ToGetIsBackupPolicyPlanClonePolicyOutput() GetIsBackupPolicyPlanClonePolicyOutput { + return o +} + +func (o GetIsBackupPolicyPlanClonePolicyOutput) ToGetIsBackupPolicyPlanClonePolicyOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanClonePolicyOutput { + return o +} + +// The maximum number of recent snapshots (per source) that will keep clones. +func (o GetIsBackupPolicyPlanClonePolicyOutput) MaxSnapshots() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanClonePolicy) int { return v.MaxSnapshots }).(pulumi.IntOutput) +} + +// The zone this backup policy plan will create snapshot clones in. +func (o GetIsBackupPolicyPlanClonePolicyOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanClonePolicy) []string { return v.Zones }).(pulumi.StringArrayOutput) +} + +type GetIsBackupPolicyPlanClonePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanClonePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanClonePolicy)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanClonePolicyArrayOutput) ToGetIsBackupPolicyPlanClonePolicyArrayOutput() GetIsBackupPolicyPlanClonePolicyArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanClonePolicyArrayOutput) ToGetIsBackupPolicyPlanClonePolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanClonePolicyArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanClonePolicyArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlanClonePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlanClonePolicy { + return vs[0].([]GetIsBackupPolicyPlanClonePolicy)[vs[1].(int)] + }).(GetIsBackupPolicyPlanClonePolicyOutput) +} + +type GetIsBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBackupPolicyPlanDeletedInput is an input type that accepts GetIsBackupPolicyPlanDeletedArgs and GetIsBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanDeletedInput` via: +// +// GetIsBackupPolicyPlanDeletedArgs{...} +type GetIsBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanDeletedOutput() GetIsBackupPolicyPlanDeletedOutput + ToGetIsBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsBackupPolicyPlanDeletedOutput +} + +type GetIsBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanDeletedArgs) ToGetIsBackupPolicyPlanDeletedOutput() GetIsBackupPolicyPlanDeletedOutput { + return i.ToGetIsBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanDeletedArgs) ToGetIsBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanDeletedOutput) +} + +// GetIsBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsBackupPolicyPlanDeletedArray and GetIsBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsBackupPolicyPlanDeletedArray{ GetIsBackupPolicyPlanDeletedArgs{...} } +type GetIsBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyPlanDeletedArrayOutput + ToGetIsBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsBackupPolicyPlanDeletedArrayOutput +} + +type GetIsBackupPolicyPlanDeletedArray []GetIsBackupPolicyPlanDeletedInput + +func (GetIsBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanDeletedArray) ToGetIsBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanDeletedArray) ToGetIsBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanDeletedOutput) ToGetIsBackupPolicyPlanDeletedOutput() GetIsBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsBackupPolicyPlanDeletedOutput) ToGetIsBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanDeletedArrayOutput) ToGetIsBackupPolicyPlanDeletedArrayOutput() GetIsBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanDeletedArrayOutput) ToGetIsBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlanDeleted { + return vs[0].([]GetIsBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsBackupPolicyPlanDeletedOutput) +} + +type GetIsBackupPolicyPlanDeletionTrigger struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter int `pulumi:"deleteAfter"` + // The maximum number of recent backups to keep. If absent, there is no maximum. + DeleteOverCount int `pulumi:"deleteOverCount"` +} + +// GetIsBackupPolicyPlanDeletionTriggerInput is an input type that accepts GetIsBackupPolicyPlanDeletionTriggerArgs and GetIsBackupPolicyPlanDeletionTriggerOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanDeletionTriggerInput` via: +// +// GetIsBackupPolicyPlanDeletionTriggerArgs{...} +type GetIsBackupPolicyPlanDeletionTriggerInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanDeletionTriggerOutput() GetIsBackupPolicyPlanDeletionTriggerOutput + ToGetIsBackupPolicyPlanDeletionTriggerOutputWithContext(context.Context) GetIsBackupPolicyPlanDeletionTriggerOutput +} + +type GetIsBackupPolicyPlanDeletionTriggerArgs struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter pulumi.IntInput `pulumi:"deleteAfter"` + // The maximum number of recent backups to keep. If absent, there is no maximum. + DeleteOverCount pulumi.IntInput `pulumi:"deleteOverCount"` +} + +func (GetIsBackupPolicyPlanDeletionTriggerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanDeletionTrigger)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanDeletionTriggerArgs) ToGetIsBackupPolicyPlanDeletionTriggerOutput() GetIsBackupPolicyPlanDeletionTriggerOutput { + return i.ToGetIsBackupPolicyPlanDeletionTriggerOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanDeletionTriggerArgs) ToGetIsBackupPolicyPlanDeletionTriggerOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanDeletionTriggerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanDeletionTriggerOutput) +} + +// GetIsBackupPolicyPlanDeletionTriggerArrayInput is an input type that accepts GetIsBackupPolicyPlanDeletionTriggerArray and GetIsBackupPolicyPlanDeletionTriggerArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanDeletionTriggerArrayInput` via: +// +// GetIsBackupPolicyPlanDeletionTriggerArray{ GetIsBackupPolicyPlanDeletionTriggerArgs{...} } +type GetIsBackupPolicyPlanDeletionTriggerArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanDeletionTriggerArrayOutput() GetIsBackupPolicyPlanDeletionTriggerArrayOutput + ToGetIsBackupPolicyPlanDeletionTriggerArrayOutputWithContext(context.Context) GetIsBackupPolicyPlanDeletionTriggerArrayOutput +} + +type GetIsBackupPolicyPlanDeletionTriggerArray []GetIsBackupPolicyPlanDeletionTriggerInput + +func (GetIsBackupPolicyPlanDeletionTriggerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanDeletionTrigger)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanDeletionTriggerArray) ToGetIsBackupPolicyPlanDeletionTriggerArrayOutput() GetIsBackupPolicyPlanDeletionTriggerArrayOutput { + return i.ToGetIsBackupPolicyPlanDeletionTriggerArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanDeletionTriggerArray) ToGetIsBackupPolicyPlanDeletionTriggerArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanDeletionTriggerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanDeletionTriggerArrayOutput) +} + +type GetIsBackupPolicyPlanDeletionTriggerOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanDeletionTriggerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanDeletionTrigger)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanDeletionTriggerOutput) ToGetIsBackupPolicyPlanDeletionTriggerOutput() GetIsBackupPolicyPlanDeletionTriggerOutput { + return o +} + +func (o GetIsBackupPolicyPlanDeletionTriggerOutput) ToGetIsBackupPolicyPlanDeletionTriggerOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanDeletionTriggerOutput { + return o +} + +// The maximum number of days to keep each backup after creation. +func (o GetIsBackupPolicyPlanDeletionTriggerOutput) DeleteAfter() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanDeletionTrigger) int { return v.DeleteAfter }).(pulumi.IntOutput) +} + +// The maximum number of recent backups to keep. If absent, there is no maximum. +func (o GetIsBackupPolicyPlanDeletionTriggerOutput) DeleteOverCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanDeletionTrigger) int { return v.DeleteOverCount }).(pulumi.IntOutput) +} + +type GetIsBackupPolicyPlanDeletionTriggerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanDeletionTriggerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanDeletionTrigger)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanDeletionTriggerArrayOutput) ToGetIsBackupPolicyPlanDeletionTriggerArrayOutput() GetIsBackupPolicyPlanDeletionTriggerArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanDeletionTriggerArrayOutput) ToGetIsBackupPolicyPlanDeletionTriggerArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanDeletionTriggerArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanDeletionTriggerArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlanDeletionTriggerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlanDeletionTrigger { + return vs[0].([]GetIsBackupPolicyPlanDeletionTrigger)[vs[1].(int)] + }).(GetIsBackupPolicyPlanDeletionTriggerOutput) +} + +type GetIsBackupPolicyPlanRemoteRegionPolicy struct { + // The maximum number of recent remote copies to keep in this region. + DeleteOverCount int `pulumi:"deleteOverCount"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey string `pulumi:"encryptionKey"` + // The globally unique name for this region. + Region string `pulumi:"region"` +} + +// GetIsBackupPolicyPlanRemoteRegionPolicyInput is an input type that accepts GetIsBackupPolicyPlanRemoteRegionPolicyArgs and GetIsBackupPolicyPlanRemoteRegionPolicyOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanRemoteRegionPolicyInput` via: +// +// GetIsBackupPolicyPlanRemoteRegionPolicyArgs{...} +type GetIsBackupPolicyPlanRemoteRegionPolicyInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanRemoteRegionPolicyOutput() GetIsBackupPolicyPlanRemoteRegionPolicyOutput + ToGetIsBackupPolicyPlanRemoteRegionPolicyOutputWithContext(context.Context) GetIsBackupPolicyPlanRemoteRegionPolicyOutput +} + +type GetIsBackupPolicyPlanRemoteRegionPolicyArgs struct { + // The maximum number of recent remote copies to keep in this region. + DeleteOverCount pulumi.IntInput `pulumi:"deleteOverCount"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"` + // The globally unique name for this region. + Region pulumi.StringInput `pulumi:"region"` +} + +func (GetIsBackupPolicyPlanRemoteRegionPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanRemoteRegionPolicyArgs) ToGetIsBackupPolicyPlanRemoteRegionPolicyOutput() GetIsBackupPolicyPlanRemoteRegionPolicyOutput { + return i.ToGetIsBackupPolicyPlanRemoteRegionPolicyOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanRemoteRegionPolicyArgs) ToGetIsBackupPolicyPlanRemoteRegionPolicyOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanRemoteRegionPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanRemoteRegionPolicyOutput) +} + +// GetIsBackupPolicyPlanRemoteRegionPolicyArrayInput is an input type that accepts GetIsBackupPolicyPlanRemoteRegionPolicyArray and GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlanRemoteRegionPolicyArrayInput` via: +// +// GetIsBackupPolicyPlanRemoteRegionPolicyArray{ GetIsBackupPolicyPlanRemoteRegionPolicyArgs{...} } +type GetIsBackupPolicyPlanRemoteRegionPolicyArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput() GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput + ToGetIsBackupPolicyPlanRemoteRegionPolicyArrayOutputWithContext(context.Context) GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput +} + +type GetIsBackupPolicyPlanRemoteRegionPolicyArray []GetIsBackupPolicyPlanRemoteRegionPolicyInput + +func (GetIsBackupPolicyPlanRemoteRegionPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlanRemoteRegionPolicyArray) ToGetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput() GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return i.ToGetIsBackupPolicyPlanRemoteRegionPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlanRemoteRegionPolicyArray) ToGetIsBackupPolicyPlanRemoteRegionPolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput) +} + +type GetIsBackupPolicyPlanRemoteRegionPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanRemoteRegionPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanRemoteRegionPolicyOutput) ToGetIsBackupPolicyPlanRemoteRegionPolicyOutput() GetIsBackupPolicyPlanRemoteRegionPolicyOutput { + return o +} + +func (o GetIsBackupPolicyPlanRemoteRegionPolicyOutput) ToGetIsBackupPolicyPlanRemoteRegionPolicyOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanRemoteRegionPolicyOutput { + return o +} + +// The maximum number of recent remote copies to keep in this region. +func (o GetIsBackupPolicyPlanRemoteRegionPolicyOutput) DeleteOverCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanRemoteRegionPolicy) int { return v.DeleteOverCount }).(pulumi.IntOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o GetIsBackupPolicyPlanRemoteRegionPolicyOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanRemoteRegionPolicy) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsBackupPolicyPlanRemoteRegionPolicyOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlanRemoteRegionPolicy) string { return v.Region }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput) ToGetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput() GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput) ToGetIsBackupPolicyPlanRemoteRegionPolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlanRemoteRegionPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlanRemoteRegionPolicy { + return vs[0].([]GetIsBackupPolicyPlanRemoteRegionPolicy)[vs[1].(int)] + }).(GetIsBackupPolicyPlanRemoteRegionPolicyOutput) +} + +type GetIsBackupPolicyPlansPlan struct { + // Indicates whether the plan is active. + Active bool `pulumi:"active"` + // The user tags to attach to backups (snapshots) created by this plan. + AttachUserTags []string `pulumi:"attachUserTags"` + ClonePolicies []GetIsBackupPolicyPlansPlanClonePolicy `pulumi:"clonePolicies"` + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags bool `pulumi:"copyUserTags"` + // The date and time that the backup policy plan was created. + CreatedAt string `pulumi:"createdAt"` + // The cron specification for the backup schedule. + CronSpec string `pulumi:"cronSpec"` + DeletionTriggers []GetIsBackupPolicyPlansPlanDeletionTrigger `pulumi:"deletionTriggers"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The lifecycle state of this backup policy plan. + LifecycleState string `pulumi:"lifecycleState"` + // The unique user-defined name for this backup policy plan. + Name string `pulumi:"name"` + // Backup policy plan cross region rule. + RemoteRegionPolicies []GetIsBackupPolicyPlansPlanRemoteRegionPolicy `pulumi:"remoteRegionPolicies"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyPlansPlanInput is an input type that accepts GetIsBackupPolicyPlansPlanArgs and GetIsBackupPolicyPlansPlanOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlansPlanInput` via: +// +// GetIsBackupPolicyPlansPlanArgs{...} +type GetIsBackupPolicyPlansPlanInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlansPlanOutput() GetIsBackupPolicyPlansPlanOutput + ToGetIsBackupPolicyPlansPlanOutputWithContext(context.Context) GetIsBackupPolicyPlansPlanOutput +} + +type GetIsBackupPolicyPlansPlanArgs struct { + // Indicates whether the plan is active. + Active pulumi.BoolInput `pulumi:"active"` + // The user tags to attach to backups (snapshots) created by this plan. + AttachUserTags pulumi.StringArrayInput `pulumi:"attachUserTags"` + ClonePolicies GetIsBackupPolicyPlansPlanClonePolicyArrayInput `pulumi:"clonePolicies"` + // Indicates whether to copy the source's user tags to the created backups (snapshots). + CopyUserTags pulumi.BoolInput `pulumi:"copyUserTags"` + // The date and time that the backup policy plan was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The cron specification for the backup schedule. + CronSpec pulumi.StringInput `pulumi:"cronSpec"` + DeletionTriggers GetIsBackupPolicyPlansPlanDeletionTriggerArrayInput `pulumi:"deletionTriggers"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of this backup policy plan. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The unique user-defined name for this backup policy plan. + Name pulumi.StringInput `pulumi:"name"` + // Backup policy plan cross region rule. + RemoteRegionPolicies GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayInput `pulumi:"remoteRegionPolicies"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyPlansPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansPlan)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlansPlanArgs) ToGetIsBackupPolicyPlansPlanOutput() GetIsBackupPolicyPlansPlanOutput { + return i.ToGetIsBackupPolicyPlansPlanOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlansPlanArgs) ToGetIsBackupPolicyPlansPlanOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlansPlanOutput) +} + +// GetIsBackupPolicyPlansPlanArrayInput is an input type that accepts GetIsBackupPolicyPlansPlanArray and GetIsBackupPolicyPlansPlanArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlansPlanArrayInput` via: +// +// GetIsBackupPolicyPlansPlanArray{ GetIsBackupPolicyPlansPlanArgs{...} } +type GetIsBackupPolicyPlansPlanArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlansPlanArrayOutput() GetIsBackupPolicyPlansPlanArrayOutput + ToGetIsBackupPolicyPlansPlanArrayOutputWithContext(context.Context) GetIsBackupPolicyPlansPlanArrayOutput +} + +type GetIsBackupPolicyPlansPlanArray []GetIsBackupPolicyPlansPlanInput + +func (GetIsBackupPolicyPlansPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlansPlan)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlansPlanArray) ToGetIsBackupPolicyPlansPlanArrayOutput() GetIsBackupPolicyPlansPlanArrayOutput { + return i.ToGetIsBackupPolicyPlansPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlansPlanArray) ToGetIsBackupPolicyPlansPlanArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlansPlanArrayOutput) +} + +type GetIsBackupPolicyPlansPlanOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansPlan)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansPlanOutput) ToGetIsBackupPolicyPlansPlanOutput() GetIsBackupPolicyPlansPlanOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanOutput) ToGetIsBackupPolicyPlansPlanOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanOutput { + return o +} + +// Indicates whether the plan is active. +func (o GetIsBackupPolicyPlansPlanOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) bool { return v.Active }).(pulumi.BoolOutput) +} + +// The user tags to attach to backups (snapshots) created by this plan. +func (o GetIsBackupPolicyPlansPlanOutput) AttachUserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) []string { return v.AttachUserTags }).(pulumi.StringArrayOutput) +} + +func (o GetIsBackupPolicyPlansPlanOutput) ClonePolicies() GetIsBackupPolicyPlansPlanClonePolicyArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) []GetIsBackupPolicyPlansPlanClonePolicy { return v.ClonePolicies }).(GetIsBackupPolicyPlansPlanClonePolicyArrayOutput) +} + +// Indicates whether to copy the source's user tags to the created backups (snapshots). +func (o GetIsBackupPolicyPlansPlanOutput) CopyUserTags() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) bool { return v.CopyUserTags }).(pulumi.BoolOutput) +} + +// The date and time that the backup policy plan was created. +func (o GetIsBackupPolicyPlansPlanOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The cron specification for the backup schedule. +func (o GetIsBackupPolicyPlansPlanOutput) CronSpec() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) string { return v.CronSpec }).(pulumi.StringOutput) +} + +func (o GetIsBackupPolicyPlansPlanOutput) DeletionTriggers() GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) []GetIsBackupPolicyPlansPlanDeletionTrigger { + return v.DeletionTriggers + }).(GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsBackupPolicyPlansPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsBackupPolicyPlansPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of this backup policy plan. +func (o GetIsBackupPolicyPlansPlanOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The unique user-defined name for this backup policy plan. +func (o GetIsBackupPolicyPlansPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// Backup policy plan cross region rule. +func (o GetIsBackupPolicyPlansPlanOutput) RemoteRegionPolicies() GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) []GetIsBackupPolicyPlansPlanRemoteRegionPolicy { + return v.RemoteRegionPolicies + }).(GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput) +} + +// The resource type. +func (o GetIsBackupPolicyPlansPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyPlansPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlansPlan)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansPlanArrayOutput) ToGetIsBackupPolicyPlansPlanArrayOutput() GetIsBackupPolicyPlansPlanArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanArrayOutput) ToGetIsBackupPolicyPlansPlanArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlansPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlansPlan { + return vs[0].([]GetIsBackupPolicyPlansPlan)[vs[1].(int)] + }).(GetIsBackupPolicyPlansPlanOutput) +} + +type GetIsBackupPolicyPlansPlanClonePolicy struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots int `pulumi:"maxSnapshots"` + // The zone this backup policy plan will create snapshot clones in. + Zones []string `pulumi:"zones"` +} + +// GetIsBackupPolicyPlansPlanClonePolicyInput is an input type that accepts GetIsBackupPolicyPlansPlanClonePolicyArgs and GetIsBackupPolicyPlansPlanClonePolicyOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlansPlanClonePolicyInput` via: +// +// GetIsBackupPolicyPlansPlanClonePolicyArgs{...} +type GetIsBackupPolicyPlansPlanClonePolicyInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlansPlanClonePolicyOutput() GetIsBackupPolicyPlansPlanClonePolicyOutput + ToGetIsBackupPolicyPlansPlanClonePolicyOutputWithContext(context.Context) GetIsBackupPolicyPlansPlanClonePolicyOutput +} + +type GetIsBackupPolicyPlansPlanClonePolicyArgs struct { + // The maximum number of recent snapshots (per source) that will keep clones. + MaxSnapshots pulumi.IntInput `pulumi:"maxSnapshots"` + // The zone this backup policy plan will create snapshot clones in. + Zones pulumi.StringArrayInput `pulumi:"zones"` +} + +func (GetIsBackupPolicyPlansPlanClonePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansPlanClonePolicy)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlansPlanClonePolicyArgs) ToGetIsBackupPolicyPlansPlanClonePolicyOutput() GetIsBackupPolicyPlansPlanClonePolicyOutput { + return i.ToGetIsBackupPolicyPlansPlanClonePolicyOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlansPlanClonePolicyArgs) ToGetIsBackupPolicyPlansPlanClonePolicyOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanClonePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlansPlanClonePolicyOutput) +} + +// GetIsBackupPolicyPlansPlanClonePolicyArrayInput is an input type that accepts GetIsBackupPolicyPlansPlanClonePolicyArray and GetIsBackupPolicyPlansPlanClonePolicyArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlansPlanClonePolicyArrayInput` via: +// +// GetIsBackupPolicyPlansPlanClonePolicyArray{ GetIsBackupPolicyPlansPlanClonePolicyArgs{...} } +type GetIsBackupPolicyPlansPlanClonePolicyArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlansPlanClonePolicyArrayOutput() GetIsBackupPolicyPlansPlanClonePolicyArrayOutput + ToGetIsBackupPolicyPlansPlanClonePolicyArrayOutputWithContext(context.Context) GetIsBackupPolicyPlansPlanClonePolicyArrayOutput +} + +type GetIsBackupPolicyPlansPlanClonePolicyArray []GetIsBackupPolicyPlansPlanClonePolicyInput + +func (GetIsBackupPolicyPlansPlanClonePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlansPlanClonePolicy)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlansPlanClonePolicyArray) ToGetIsBackupPolicyPlansPlanClonePolicyArrayOutput() GetIsBackupPolicyPlansPlanClonePolicyArrayOutput { + return i.ToGetIsBackupPolicyPlansPlanClonePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlansPlanClonePolicyArray) ToGetIsBackupPolicyPlansPlanClonePolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanClonePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlansPlanClonePolicyArrayOutput) +} + +type GetIsBackupPolicyPlansPlanClonePolicyOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansPlanClonePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansPlanClonePolicy)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansPlanClonePolicyOutput) ToGetIsBackupPolicyPlansPlanClonePolicyOutput() GetIsBackupPolicyPlansPlanClonePolicyOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanClonePolicyOutput) ToGetIsBackupPolicyPlansPlanClonePolicyOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanClonePolicyOutput { + return o +} + +// The maximum number of recent snapshots (per source) that will keep clones. +func (o GetIsBackupPolicyPlansPlanClonePolicyOutput) MaxSnapshots() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlanClonePolicy) int { return v.MaxSnapshots }).(pulumi.IntOutput) +} + +// The zone this backup policy plan will create snapshot clones in. +func (o GetIsBackupPolicyPlansPlanClonePolicyOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlanClonePolicy) []string { return v.Zones }).(pulumi.StringArrayOutput) +} + +type GetIsBackupPolicyPlansPlanClonePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansPlanClonePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlansPlanClonePolicy)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansPlanClonePolicyArrayOutput) ToGetIsBackupPolicyPlansPlanClonePolicyArrayOutput() GetIsBackupPolicyPlansPlanClonePolicyArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanClonePolicyArrayOutput) ToGetIsBackupPolicyPlansPlanClonePolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanClonePolicyArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanClonePolicyArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlansPlanClonePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlansPlanClonePolicy { + return vs[0].([]GetIsBackupPolicyPlansPlanClonePolicy)[vs[1].(int)] + }).(GetIsBackupPolicyPlansPlanClonePolicyOutput) +} + +type GetIsBackupPolicyPlansPlanDeletionTrigger struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter int `pulumi:"deleteAfter"` + // The maximum number of recent backups to keep. If absent, there is no maximum. + DeleteOverCount int `pulumi:"deleteOverCount"` +} + +// GetIsBackupPolicyPlansPlanDeletionTriggerInput is an input type that accepts GetIsBackupPolicyPlansPlanDeletionTriggerArgs and GetIsBackupPolicyPlansPlanDeletionTriggerOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlansPlanDeletionTriggerInput` via: +// +// GetIsBackupPolicyPlansPlanDeletionTriggerArgs{...} +type GetIsBackupPolicyPlansPlanDeletionTriggerInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlansPlanDeletionTriggerOutput() GetIsBackupPolicyPlansPlanDeletionTriggerOutput + ToGetIsBackupPolicyPlansPlanDeletionTriggerOutputWithContext(context.Context) GetIsBackupPolicyPlansPlanDeletionTriggerOutput +} + +type GetIsBackupPolicyPlansPlanDeletionTriggerArgs struct { + // The maximum number of days to keep each backup after creation. + DeleteAfter pulumi.IntInput `pulumi:"deleteAfter"` + // The maximum number of recent backups to keep. If absent, there is no maximum. + DeleteOverCount pulumi.IntInput `pulumi:"deleteOverCount"` +} + +func (GetIsBackupPolicyPlansPlanDeletionTriggerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansPlanDeletionTrigger)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlansPlanDeletionTriggerArgs) ToGetIsBackupPolicyPlansPlanDeletionTriggerOutput() GetIsBackupPolicyPlansPlanDeletionTriggerOutput { + return i.ToGetIsBackupPolicyPlansPlanDeletionTriggerOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlansPlanDeletionTriggerArgs) ToGetIsBackupPolicyPlansPlanDeletionTriggerOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanDeletionTriggerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlansPlanDeletionTriggerOutput) +} + +// GetIsBackupPolicyPlansPlanDeletionTriggerArrayInput is an input type that accepts GetIsBackupPolicyPlansPlanDeletionTriggerArray and GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlansPlanDeletionTriggerArrayInput` via: +// +// GetIsBackupPolicyPlansPlanDeletionTriggerArray{ GetIsBackupPolicyPlansPlanDeletionTriggerArgs{...} } +type GetIsBackupPolicyPlansPlanDeletionTriggerArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput() GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput + ToGetIsBackupPolicyPlansPlanDeletionTriggerArrayOutputWithContext(context.Context) GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput +} + +type GetIsBackupPolicyPlansPlanDeletionTriggerArray []GetIsBackupPolicyPlansPlanDeletionTriggerInput + +func (GetIsBackupPolicyPlansPlanDeletionTriggerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlansPlanDeletionTrigger)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlansPlanDeletionTriggerArray) ToGetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput() GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput { + return i.ToGetIsBackupPolicyPlansPlanDeletionTriggerArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlansPlanDeletionTriggerArray) ToGetIsBackupPolicyPlansPlanDeletionTriggerArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput) +} + +type GetIsBackupPolicyPlansPlanDeletionTriggerOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansPlanDeletionTriggerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansPlanDeletionTrigger)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansPlanDeletionTriggerOutput) ToGetIsBackupPolicyPlansPlanDeletionTriggerOutput() GetIsBackupPolicyPlansPlanDeletionTriggerOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanDeletionTriggerOutput) ToGetIsBackupPolicyPlansPlanDeletionTriggerOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanDeletionTriggerOutput { + return o +} + +// The maximum number of days to keep each backup after creation. +func (o GetIsBackupPolicyPlansPlanDeletionTriggerOutput) DeleteAfter() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlanDeletionTrigger) int { return v.DeleteAfter }).(pulumi.IntOutput) +} + +// The maximum number of recent backups to keep. If absent, there is no maximum. +func (o GetIsBackupPolicyPlansPlanDeletionTriggerOutput) DeleteOverCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlanDeletionTrigger) int { return v.DeleteOverCount }).(pulumi.IntOutput) +} + +type GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlansPlanDeletionTrigger)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput) ToGetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput() GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput) ToGetIsBackupPolicyPlansPlanDeletionTriggerArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlansPlanDeletionTriggerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlansPlanDeletionTrigger { + return vs[0].([]GetIsBackupPolicyPlansPlanDeletionTrigger)[vs[1].(int)] + }).(GetIsBackupPolicyPlansPlanDeletionTriggerOutput) +} + +type GetIsBackupPolicyPlansPlanRemoteRegionPolicy struct { + // The maximum number of recent remote copies to keep in this region. + DeleteOverCount int `pulumi:"deleteOverCount"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey string `pulumi:"encryptionKey"` + // The globally unique name for this region. + Region string `pulumi:"region"` +} + +// GetIsBackupPolicyPlansPlanRemoteRegionPolicyInput is an input type that accepts GetIsBackupPolicyPlansPlanRemoteRegionPolicyArgs and GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlansPlanRemoteRegionPolicyInput` via: +// +// GetIsBackupPolicyPlansPlanRemoteRegionPolicyArgs{...} +type GetIsBackupPolicyPlansPlanRemoteRegionPolicyInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput() GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput + ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyOutputWithContext(context.Context) GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput +} + +type GetIsBackupPolicyPlansPlanRemoteRegionPolicyArgs struct { + // The maximum number of recent remote copies to keep in this region. + DeleteOverCount pulumi.IntInput `pulumi:"deleteOverCount"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"` + // The globally unique name for this region. + Region pulumi.StringInput `pulumi:"region"` +} + +func (GetIsBackupPolicyPlansPlanRemoteRegionPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlansPlanRemoteRegionPolicyArgs) ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput() GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput { + return i.ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlansPlanRemoteRegionPolicyArgs) ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput) +} + +// GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayInput is an input type that accepts GetIsBackupPolicyPlansPlanRemoteRegionPolicyArray and GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayInput` via: +// +// GetIsBackupPolicyPlansPlanRemoteRegionPolicyArray{ GetIsBackupPolicyPlansPlanRemoteRegionPolicyArgs{...} } +type GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput() GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput + ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutputWithContext(context.Context) GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput +} + +type GetIsBackupPolicyPlansPlanRemoteRegionPolicyArray []GetIsBackupPolicyPlansPlanRemoteRegionPolicyInput + +func (GetIsBackupPolicyPlansPlanRemoteRegionPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlansPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (i GetIsBackupPolicyPlansPlanRemoteRegionPolicyArray) ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput() GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput { + return i.ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyPlansPlanRemoteRegionPolicyArray) ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput) +} + +type GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyPlansPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput) ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput() GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput) ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput { + return o +} + +// The maximum number of recent remote copies to keep in this region. +func (o GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput) DeleteOverCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlanRemoteRegionPolicy) int { return v.DeleteOverCount }).(pulumi.IntOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Services Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlanRemoteRegionPolicy) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyPlansPlanRemoteRegionPolicy) string { return v.Region }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyPlansPlanRemoteRegionPolicy)(nil)).Elem() +} + +func (o GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput) ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput() GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput) ToGetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput { + return o +} + +func (o GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyPlansPlanRemoteRegionPolicy { + return vs[0].([]GetIsBackupPolicyPlansPlanRemoteRegionPolicy)[vs[1].(int)] + }).(GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput) +} + +type GetIsBackupPolicyResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsBackupPolicyResourceGroupInput is an input type that accepts GetIsBackupPolicyResourceGroupArgs and GetIsBackupPolicyResourceGroupOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyResourceGroupInput` via: +// +// GetIsBackupPolicyResourceGroupArgs{...} +type GetIsBackupPolicyResourceGroupInput interface { + pulumi.Input + + ToGetIsBackupPolicyResourceGroupOutput() GetIsBackupPolicyResourceGroupOutput + ToGetIsBackupPolicyResourceGroupOutputWithContext(context.Context) GetIsBackupPolicyResourceGroupOutput +} + +type GetIsBackupPolicyResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsBackupPolicyResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsBackupPolicyResourceGroupArgs) ToGetIsBackupPolicyResourceGroupOutput() GetIsBackupPolicyResourceGroupOutput { + return i.ToGetIsBackupPolicyResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyResourceGroupArgs) ToGetIsBackupPolicyResourceGroupOutputWithContext(ctx context.Context) GetIsBackupPolicyResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyResourceGroupOutput) +} + +// GetIsBackupPolicyResourceGroupArrayInput is an input type that accepts GetIsBackupPolicyResourceGroupArray and GetIsBackupPolicyResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyResourceGroupArrayInput` via: +// +// GetIsBackupPolicyResourceGroupArray{ GetIsBackupPolicyResourceGroupArgs{...} } +type GetIsBackupPolicyResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyResourceGroupArrayOutput() GetIsBackupPolicyResourceGroupArrayOutput + ToGetIsBackupPolicyResourceGroupArrayOutputWithContext(context.Context) GetIsBackupPolicyResourceGroupArrayOutput +} + +type GetIsBackupPolicyResourceGroupArray []GetIsBackupPolicyResourceGroupInput + +func (GetIsBackupPolicyResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsBackupPolicyResourceGroupArray) ToGetIsBackupPolicyResourceGroupArrayOutput() GetIsBackupPolicyResourceGroupArrayOutput { + return i.ToGetIsBackupPolicyResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyResourceGroupArray) ToGetIsBackupPolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyResourceGroupArrayOutput) +} + +type GetIsBackupPolicyResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsBackupPolicyResourceGroupOutput) ToGetIsBackupPolicyResourceGroupOutput() GetIsBackupPolicyResourceGroupOutput { + return o +} + +func (o GetIsBackupPolicyResourceGroupOutput) ToGetIsBackupPolicyResourceGroupOutputWithContext(ctx context.Context) GetIsBackupPolicyResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsBackupPolicyResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsBackupPolicyResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsBackupPolicyResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsBackupPolicyResourceGroupArrayOutput) ToGetIsBackupPolicyResourceGroupArrayOutput() GetIsBackupPolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsBackupPolicyResourceGroupArrayOutput) ToGetIsBackupPolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsBackupPolicyResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyResourceGroup { + return vs[0].([]GetIsBackupPolicyResourceGroup)[vs[1].(int)] + }).(GetIsBackupPolicyResourceGroupOutput) +} + +type GetIsBackupPolicyScope struct { + // The CRN for this enterprise. + Crn string `pulumi:"crn"` + // The unique identifier for this enterprise or account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBackupPolicyScopeInput is an input type that accepts GetIsBackupPolicyScopeArgs and GetIsBackupPolicyScopeOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyScopeInput` via: +// +// GetIsBackupPolicyScopeArgs{...} +type GetIsBackupPolicyScopeInput interface { + pulumi.Input + + ToGetIsBackupPolicyScopeOutput() GetIsBackupPolicyScopeOutput + ToGetIsBackupPolicyScopeOutputWithContext(context.Context) GetIsBackupPolicyScopeOutput +} + +type GetIsBackupPolicyScopeArgs struct { + // The CRN for this enterprise. + Crn pulumi.StringInput `pulumi:"crn"` + // The unique identifier for this enterprise or account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBackupPolicyScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyScope)(nil)).Elem() +} + +func (i GetIsBackupPolicyScopeArgs) ToGetIsBackupPolicyScopeOutput() GetIsBackupPolicyScopeOutput { + return i.ToGetIsBackupPolicyScopeOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyScopeArgs) ToGetIsBackupPolicyScopeOutputWithContext(ctx context.Context) GetIsBackupPolicyScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyScopeOutput) +} + +// GetIsBackupPolicyScopeArrayInput is an input type that accepts GetIsBackupPolicyScopeArray and GetIsBackupPolicyScopeArrayOutput values. +// You can construct a concrete instance of `GetIsBackupPolicyScopeArrayInput` via: +// +// GetIsBackupPolicyScopeArray{ GetIsBackupPolicyScopeArgs{...} } +type GetIsBackupPolicyScopeArrayInput interface { + pulumi.Input + + ToGetIsBackupPolicyScopeArrayOutput() GetIsBackupPolicyScopeArrayOutput + ToGetIsBackupPolicyScopeArrayOutputWithContext(context.Context) GetIsBackupPolicyScopeArrayOutput +} + +type GetIsBackupPolicyScopeArray []GetIsBackupPolicyScopeInput + +func (GetIsBackupPolicyScopeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyScope)(nil)).Elem() +} + +func (i GetIsBackupPolicyScopeArray) ToGetIsBackupPolicyScopeArrayOutput() GetIsBackupPolicyScopeArrayOutput { + return i.ToGetIsBackupPolicyScopeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBackupPolicyScopeArray) ToGetIsBackupPolicyScopeArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyScopeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBackupPolicyScopeArrayOutput) +} + +type GetIsBackupPolicyScopeOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBackupPolicyScope)(nil)).Elem() +} + +func (o GetIsBackupPolicyScopeOutput) ToGetIsBackupPolicyScopeOutput() GetIsBackupPolicyScopeOutput { + return o +} + +func (o GetIsBackupPolicyScopeOutput) ToGetIsBackupPolicyScopeOutputWithContext(ctx context.Context) GetIsBackupPolicyScopeOutput { + return o +} + +// The CRN for this enterprise. +func (o GetIsBackupPolicyScopeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyScope) string { return v.Crn }).(pulumi.StringOutput) +} + +// The unique identifier for this enterprise or account. +func (o GetIsBackupPolicyScopeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyScope) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBackupPolicyScopeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBackupPolicyScope) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBackupPolicyScopeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBackupPolicyScopeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBackupPolicyScope)(nil)).Elem() +} + +func (o GetIsBackupPolicyScopeArrayOutput) ToGetIsBackupPolicyScopeArrayOutput() GetIsBackupPolicyScopeArrayOutput { + return o +} + +func (o GetIsBackupPolicyScopeArrayOutput) ToGetIsBackupPolicyScopeArrayOutputWithContext(ctx context.Context) GetIsBackupPolicyScopeArrayOutput { + return o +} + +func (o GetIsBackupPolicyScopeArrayOutput) Index(i pulumi.IntInput) GetIsBackupPolicyScopeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBackupPolicyScope { + return vs[0].([]GetIsBackupPolicyScope)[vs[1].(int)] + }).(GetIsBackupPolicyScopeOutput) +} + +type GetIsBareMetalServerCpus struct { + // The CPU architecture + Architecture string `pulumi:"architecture"` + // The total number of cores + CoreCount int `pulumi:"coreCount"` + // The total number of CPU sockets + SocketCount int `pulumi:"socketCount"` + // The total number of hardware threads per core + ThreadsPerCore int `pulumi:"threadsPerCore"` +} + +// GetIsBareMetalServerCpusInput is an input type that accepts GetIsBareMetalServerCpusArgs and GetIsBareMetalServerCpusOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerCpusInput` via: +// +// GetIsBareMetalServerCpusArgs{...} +type GetIsBareMetalServerCpusInput interface { + pulumi.Input + + ToGetIsBareMetalServerCpusOutput() GetIsBareMetalServerCpusOutput + ToGetIsBareMetalServerCpusOutputWithContext(context.Context) GetIsBareMetalServerCpusOutput +} + +type GetIsBareMetalServerCpusArgs struct { + // The CPU architecture + Architecture pulumi.StringInput `pulumi:"architecture"` + // The total number of cores + CoreCount pulumi.IntInput `pulumi:"coreCount"` + // The total number of CPU sockets + SocketCount pulumi.IntInput `pulumi:"socketCount"` + // The total number of hardware threads per core + ThreadsPerCore pulumi.IntInput `pulumi:"threadsPerCore"` +} + +func (GetIsBareMetalServerCpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerCpus)(nil)).Elem() +} + +func (i GetIsBareMetalServerCpusArgs) ToGetIsBareMetalServerCpusOutput() GetIsBareMetalServerCpusOutput { + return i.ToGetIsBareMetalServerCpusOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerCpusArgs) ToGetIsBareMetalServerCpusOutputWithContext(ctx context.Context) GetIsBareMetalServerCpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerCpusOutput) +} + +// GetIsBareMetalServerCpusArrayInput is an input type that accepts GetIsBareMetalServerCpusArray and GetIsBareMetalServerCpusArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerCpusArrayInput` via: +// +// GetIsBareMetalServerCpusArray{ GetIsBareMetalServerCpusArgs{...} } +type GetIsBareMetalServerCpusArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerCpusArrayOutput() GetIsBareMetalServerCpusArrayOutput + ToGetIsBareMetalServerCpusArrayOutputWithContext(context.Context) GetIsBareMetalServerCpusArrayOutput +} + +type GetIsBareMetalServerCpusArray []GetIsBareMetalServerCpusInput + +func (GetIsBareMetalServerCpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerCpus)(nil)).Elem() +} + +func (i GetIsBareMetalServerCpusArray) ToGetIsBareMetalServerCpusArrayOutput() GetIsBareMetalServerCpusArrayOutput { + return i.ToGetIsBareMetalServerCpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerCpusArray) ToGetIsBareMetalServerCpusArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerCpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerCpusArrayOutput) +} + +type GetIsBareMetalServerCpusOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerCpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerCpus)(nil)).Elem() +} + +func (o GetIsBareMetalServerCpusOutput) ToGetIsBareMetalServerCpusOutput() GetIsBareMetalServerCpusOutput { + return o +} + +func (o GetIsBareMetalServerCpusOutput) ToGetIsBareMetalServerCpusOutputWithContext(ctx context.Context) GetIsBareMetalServerCpusOutput { + return o +} + +// The CPU architecture +func (o GetIsBareMetalServerCpusOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerCpus) string { return v.Architecture }).(pulumi.StringOutput) +} + +// The total number of cores +func (o GetIsBareMetalServerCpusOutput) CoreCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerCpus) int { return v.CoreCount }).(pulumi.IntOutput) +} + +// The total number of CPU sockets +func (o GetIsBareMetalServerCpusOutput) SocketCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerCpus) int { return v.SocketCount }).(pulumi.IntOutput) +} + +// The total number of hardware threads per core +func (o GetIsBareMetalServerCpusOutput) ThreadsPerCore() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerCpus) int { return v.ThreadsPerCore }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerCpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerCpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerCpus)(nil)).Elem() +} + +func (o GetIsBareMetalServerCpusArrayOutput) ToGetIsBareMetalServerCpusArrayOutput() GetIsBareMetalServerCpusArrayOutput { + return o +} + +func (o GetIsBareMetalServerCpusArrayOutput) ToGetIsBareMetalServerCpusArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerCpusArrayOutput { + return o +} + +func (o GetIsBareMetalServerCpusArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerCpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerCpus { + return vs[0].([]GetIsBareMetalServerCpus)[vs[1].(int)] + }).(GetIsBareMetalServerCpusOutput) +} + +type GetIsBareMetalServerDiskType struct { + // The usage constraints to be matched against the requested bare metal server properties to determine compatibility. + AllowedUses []GetIsBareMetalServerDiskAllowedUse `pulumi:"allowedUses"` + // The URL for this bare metal server disk + Href string `pulumi:"href"` + // The unique identifier for this bare metal server disk + Id string `pulumi:"id"` + // The disk interface used for attaching the disk. Supported values are [ nvme, sata ] + InterfaceType string `pulumi:"interfaceType"` + // The user-defined name for this disk + Name string `pulumi:"name"` + // The resource type + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes) + Size int `pulumi:"size"` +} + +// GetIsBareMetalServerDiskTypeInput is an input type that accepts GetIsBareMetalServerDiskTypeArgs and GetIsBareMetalServerDiskTypeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerDiskTypeInput` via: +// +// GetIsBareMetalServerDiskTypeArgs{...} +type GetIsBareMetalServerDiskTypeInput interface { + pulumi.Input + + ToGetIsBareMetalServerDiskTypeOutput() GetIsBareMetalServerDiskTypeOutput + ToGetIsBareMetalServerDiskTypeOutputWithContext(context.Context) GetIsBareMetalServerDiskTypeOutput +} + +type GetIsBareMetalServerDiskTypeArgs struct { + // The usage constraints to be matched against the requested bare metal server properties to determine compatibility. + AllowedUses GetIsBareMetalServerDiskAllowedUseArrayInput `pulumi:"allowedUses"` + // The URL for this bare metal server disk + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this bare metal server disk + Id pulumi.StringInput `pulumi:"id"` + // The disk interface used for attaching the disk. Supported values are [ nvme, sata ] + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The user-defined name for this disk + Name pulumi.StringInput `pulumi:"name"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes) + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetIsBareMetalServerDiskTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDiskType)(nil)).Elem() +} + +func (i GetIsBareMetalServerDiskTypeArgs) ToGetIsBareMetalServerDiskTypeOutput() GetIsBareMetalServerDiskTypeOutput { + return i.ToGetIsBareMetalServerDiskTypeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerDiskTypeArgs) ToGetIsBareMetalServerDiskTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerDiskTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerDiskTypeOutput) +} + +// GetIsBareMetalServerDiskTypeArrayInput is an input type that accepts GetIsBareMetalServerDiskTypeArray and GetIsBareMetalServerDiskTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerDiskTypeArrayInput` via: +// +// GetIsBareMetalServerDiskTypeArray{ GetIsBareMetalServerDiskTypeArgs{...} } +type GetIsBareMetalServerDiskTypeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerDiskTypeArrayOutput() GetIsBareMetalServerDiskTypeArrayOutput + ToGetIsBareMetalServerDiskTypeArrayOutputWithContext(context.Context) GetIsBareMetalServerDiskTypeArrayOutput +} + +type GetIsBareMetalServerDiskTypeArray []GetIsBareMetalServerDiskTypeInput + +func (GetIsBareMetalServerDiskTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerDiskType)(nil)).Elem() +} + +func (i GetIsBareMetalServerDiskTypeArray) ToGetIsBareMetalServerDiskTypeArrayOutput() GetIsBareMetalServerDiskTypeArrayOutput { + return i.ToGetIsBareMetalServerDiskTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerDiskTypeArray) ToGetIsBareMetalServerDiskTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerDiskTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerDiskTypeArrayOutput) +} + +type GetIsBareMetalServerDiskTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDiskTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDiskType)(nil)).Elem() +} + +func (o GetIsBareMetalServerDiskTypeOutput) ToGetIsBareMetalServerDiskTypeOutput() GetIsBareMetalServerDiskTypeOutput { + return o +} + +func (o GetIsBareMetalServerDiskTypeOutput) ToGetIsBareMetalServerDiskTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerDiskTypeOutput { + return o +} + +// The usage constraints to be matched against the requested bare metal server properties to determine compatibility. +func (o GetIsBareMetalServerDiskTypeOutput) AllowedUses() GetIsBareMetalServerDiskAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskType) []GetIsBareMetalServerDiskAllowedUse { return v.AllowedUses }).(GetIsBareMetalServerDiskAllowedUseArrayOutput) +} + +// The URL for this bare metal server disk +func (o GetIsBareMetalServerDiskTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this bare metal server disk +func (o GetIsBareMetalServerDiskTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskType) string { return v.Id }).(pulumi.StringOutput) +} + +// The disk interface used for attaching the disk. Supported values are [ nvme, sata ] +func (o GetIsBareMetalServerDiskTypeOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskType) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The user-defined name for this disk +func (o GetIsBareMetalServerDiskTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskType) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsBareMetalServerDiskTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes) +func (o GetIsBareMetalServerDiskTypeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskType) int { return v.Size }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerDiskTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDiskTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerDiskType)(nil)).Elem() +} + +func (o GetIsBareMetalServerDiskTypeArrayOutput) ToGetIsBareMetalServerDiskTypeArrayOutput() GetIsBareMetalServerDiskTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerDiskTypeArrayOutput) ToGetIsBareMetalServerDiskTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerDiskTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerDiskTypeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerDiskTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerDiskType { + return vs[0].([]GetIsBareMetalServerDiskType)[vs[1].(int)] + }).(GetIsBareMetalServerDiskTypeOutput) +} + +type GetIsBareMetalServerDiskAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. + BareMetalServer string `pulumi:"bareMetalServer"` +} + +// GetIsBareMetalServerDiskAllowedUseInput is an input type that accepts GetIsBareMetalServerDiskAllowedUseArgs and GetIsBareMetalServerDiskAllowedUseOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerDiskAllowedUseInput` via: +// +// GetIsBareMetalServerDiskAllowedUseArgs{...} +type GetIsBareMetalServerDiskAllowedUseInput interface { + pulumi.Input + + ToGetIsBareMetalServerDiskAllowedUseOutput() GetIsBareMetalServerDiskAllowedUseOutput + ToGetIsBareMetalServerDiskAllowedUseOutputWithContext(context.Context) GetIsBareMetalServerDiskAllowedUseOutput +} + +type GetIsBareMetalServerDiskAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` +} + +func (GetIsBareMetalServerDiskAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDiskAllowedUse)(nil)).Elem() +} + +func (i GetIsBareMetalServerDiskAllowedUseArgs) ToGetIsBareMetalServerDiskAllowedUseOutput() GetIsBareMetalServerDiskAllowedUseOutput { + return i.ToGetIsBareMetalServerDiskAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerDiskAllowedUseArgs) ToGetIsBareMetalServerDiskAllowedUseOutputWithContext(ctx context.Context) GetIsBareMetalServerDiskAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerDiskAllowedUseOutput) +} + +// GetIsBareMetalServerDiskAllowedUseArrayInput is an input type that accepts GetIsBareMetalServerDiskAllowedUseArray and GetIsBareMetalServerDiskAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerDiskAllowedUseArrayInput` via: +// +// GetIsBareMetalServerDiskAllowedUseArray{ GetIsBareMetalServerDiskAllowedUseArgs{...} } +type GetIsBareMetalServerDiskAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerDiskAllowedUseArrayOutput() GetIsBareMetalServerDiskAllowedUseArrayOutput + ToGetIsBareMetalServerDiskAllowedUseArrayOutputWithContext(context.Context) GetIsBareMetalServerDiskAllowedUseArrayOutput +} + +type GetIsBareMetalServerDiskAllowedUseArray []GetIsBareMetalServerDiskAllowedUseInput + +func (GetIsBareMetalServerDiskAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerDiskAllowedUse)(nil)).Elem() +} + +func (i GetIsBareMetalServerDiskAllowedUseArray) ToGetIsBareMetalServerDiskAllowedUseArrayOutput() GetIsBareMetalServerDiskAllowedUseArrayOutput { + return i.ToGetIsBareMetalServerDiskAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerDiskAllowedUseArray) ToGetIsBareMetalServerDiskAllowedUseArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerDiskAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerDiskAllowedUseArrayOutput) +} + +type GetIsBareMetalServerDiskAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDiskAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDiskAllowedUse)(nil)).Elem() +} + +func (o GetIsBareMetalServerDiskAllowedUseOutput) ToGetIsBareMetalServerDiskAllowedUseOutput() GetIsBareMetalServerDiskAllowedUseOutput { + return o +} + +func (o GetIsBareMetalServerDiskAllowedUseOutput) ToGetIsBareMetalServerDiskAllowedUseOutputWithContext(ctx context.Context) GetIsBareMetalServerDiskAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsBareMetalServerDiskAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. +func (o GetIsBareMetalServerDiskAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDiskAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerDiskAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDiskAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerDiskAllowedUse)(nil)).Elem() +} + +func (o GetIsBareMetalServerDiskAllowedUseArrayOutput) ToGetIsBareMetalServerDiskAllowedUseArrayOutput() GetIsBareMetalServerDiskAllowedUseArrayOutput { + return o +} + +func (o GetIsBareMetalServerDiskAllowedUseArrayOutput) ToGetIsBareMetalServerDiskAllowedUseArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerDiskAllowedUseArrayOutput { + return o +} + +func (o GetIsBareMetalServerDiskAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerDiskAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerDiskAllowedUse { + return vs[0].([]GetIsBareMetalServerDiskAllowedUse)[vs[1].(int)] + }).(GetIsBareMetalServerDiskAllowedUseOutput) +} + +type GetIsBareMetalServerDisksDisk struct { + // The usage constraints to be matched against the requested bare metal server properties to determine compatibility. + AllowedUses []GetIsBareMetalServerDisksDiskAllowedUse `pulumi:"allowedUses"` + // The URL for this bare metal server disk + Href string `pulumi:"href"` + // The unique identifier for this bare metal server disk + Id string `pulumi:"id"` + // The disk interface used for attaching the disk. Supported values are [ nvme, sata ] + InterfaceType string `pulumi:"interfaceType"` + // The user-defined name for this disk + Name string `pulumi:"name"` + // The resource type + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes) + Size int `pulumi:"size"` +} + +// GetIsBareMetalServerDisksDiskInput is an input type that accepts GetIsBareMetalServerDisksDiskArgs and GetIsBareMetalServerDisksDiskOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerDisksDiskInput` via: +// +// GetIsBareMetalServerDisksDiskArgs{...} +type GetIsBareMetalServerDisksDiskInput interface { + pulumi.Input + + ToGetIsBareMetalServerDisksDiskOutput() GetIsBareMetalServerDisksDiskOutput + ToGetIsBareMetalServerDisksDiskOutputWithContext(context.Context) GetIsBareMetalServerDisksDiskOutput +} + +type GetIsBareMetalServerDisksDiskArgs struct { + // The usage constraints to be matched against the requested bare metal server properties to determine compatibility. + AllowedUses GetIsBareMetalServerDisksDiskAllowedUseArrayInput `pulumi:"allowedUses"` + // The URL for this bare metal server disk + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this bare metal server disk + Id pulumi.StringInput `pulumi:"id"` + // The disk interface used for attaching the disk. Supported values are [ nvme, sata ] + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The user-defined name for this disk + Name pulumi.StringInput `pulumi:"name"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes) + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetIsBareMetalServerDisksDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDisksDisk)(nil)).Elem() +} + +func (i GetIsBareMetalServerDisksDiskArgs) ToGetIsBareMetalServerDisksDiskOutput() GetIsBareMetalServerDisksDiskOutput { + return i.ToGetIsBareMetalServerDisksDiskOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerDisksDiskArgs) ToGetIsBareMetalServerDisksDiskOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerDisksDiskOutput) +} + +// GetIsBareMetalServerDisksDiskArrayInput is an input type that accepts GetIsBareMetalServerDisksDiskArray and GetIsBareMetalServerDisksDiskArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerDisksDiskArrayInput` via: +// +// GetIsBareMetalServerDisksDiskArray{ GetIsBareMetalServerDisksDiskArgs{...} } +type GetIsBareMetalServerDisksDiskArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerDisksDiskArrayOutput() GetIsBareMetalServerDisksDiskArrayOutput + ToGetIsBareMetalServerDisksDiskArrayOutputWithContext(context.Context) GetIsBareMetalServerDisksDiskArrayOutput +} + +type GetIsBareMetalServerDisksDiskArray []GetIsBareMetalServerDisksDiskInput + +func (GetIsBareMetalServerDisksDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerDisksDisk)(nil)).Elem() +} + +func (i GetIsBareMetalServerDisksDiskArray) ToGetIsBareMetalServerDisksDiskArrayOutput() GetIsBareMetalServerDisksDiskArrayOutput { + return i.ToGetIsBareMetalServerDisksDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerDisksDiskArray) ToGetIsBareMetalServerDisksDiskArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerDisksDiskArrayOutput) +} + +type GetIsBareMetalServerDisksDiskOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDisksDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDisksDisk)(nil)).Elem() +} + +func (o GetIsBareMetalServerDisksDiskOutput) ToGetIsBareMetalServerDisksDiskOutput() GetIsBareMetalServerDisksDiskOutput { + return o +} + +func (o GetIsBareMetalServerDisksDiskOutput) ToGetIsBareMetalServerDisksDiskOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksDiskOutput { + return o +} + +// The usage constraints to be matched against the requested bare metal server properties to determine compatibility. +func (o GetIsBareMetalServerDisksDiskOutput) AllowedUses() GetIsBareMetalServerDisksDiskAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDisk) []GetIsBareMetalServerDisksDiskAllowedUse { return v.AllowedUses }).(GetIsBareMetalServerDisksDiskAllowedUseArrayOutput) +} + +// The URL for this bare metal server disk +func (o GetIsBareMetalServerDisksDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this bare metal server disk +func (o GetIsBareMetalServerDisksDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The disk interface used for attaching the disk. Supported values are [ nvme, sata ] +func (o GetIsBareMetalServerDisksDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDisk) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The user-defined name for this disk +func (o GetIsBareMetalServerDisksDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsBareMetalServerDisksDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes) +func (o GetIsBareMetalServerDisksDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDisk) int { return v.Size }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerDisksDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDisksDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerDisksDisk)(nil)).Elem() +} + +func (o GetIsBareMetalServerDisksDiskArrayOutput) ToGetIsBareMetalServerDisksDiskArrayOutput() GetIsBareMetalServerDisksDiskArrayOutput { + return o +} + +func (o GetIsBareMetalServerDisksDiskArrayOutput) ToGetIsBareMetalServerDisksDiskArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksDiskArrayOutput { + return o +} + +func (o GetIsBareMetalServerDisksDiskArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerDisksDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerDisksDisk { + return vs[0].([]GetIsBareMetalServerDisksDisk)[vs[1].(int)] + }).(GetIsBareMetalServerDisksDiskOutput) +} + +type GetIsBareMetalServerDisksDiskAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. + BareMetalServer string `pulumi:"bareMetalServer"` +} + +// GetIsBareMetalServerDisksDiskAllowedUseInput is an input type that accepts GetIsBareMetalServerDisksDiskAllowedUseArgs and GetIsBareMetalServerDisksDiskAllowedUseOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerDisksDiskAllowedUseInput` via: +// +// GetIsBareMetalServerDisksDiskAllowedUseArgs{...} +type GetIsBareMetalServerDisksDiskAllowedUseInput interface { + pulumi.Input + + ToGetIsBareMetalServerDisksDiskAllowedUseOutput() GetIsBareMetalServerDisksDiskAllowedUseOutput + ToGetIsBareMetalServerDisksDiskAllowedUseOutputWithContext(context.Context) GetIsBareMetalServerDisksDiskAllowedUseOutput +} + +type GetIsBareMetalServerDisksDiskAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` +} + +func (GetIsBareMetalServerDisksDiskAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDisksDiskAllowedUse)(nil)).Elem() +} + +func (i GetIsBareMetalServerDisksDiskAllowedUseArgs) ToGetIsBareMetalServerDisksDiskAllowedUseOutput() GetIsBareMetalServerDisksDiskAllowedUseOutput { + return i.ToGetIsBareMetalServerDisksDiskAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerDisksDiskAllowedUseArgs) ToGetIsBareMetalServerDisksDiskAllowedUseOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksDiskAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerDisksDiskAllowedUseOutput) +} + +// GetIsBareMetalServerDisksDiskAllowedUseArrayInput is an input type that accepts GetIsBareMetalServerDisksDiskAllowedUseArray and GetIsBareMetalServerDisksDiskAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerDisksDiskAllowedUseArrayInput` via: +// +// GetIsBareMetalServerDisksDiskAllowedUseArray{ GetIsBareMetalServerDisksDiskAllowedUseArgs{...} } +type GetIsBareMetalServerDisksDiskAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerDisksDiskAllowedUseArrayOutput() GetIsBareMetalServerDisksDiskAllowedUseArrayOutput + ToGetIsBareMetalServerDisksDiskAllowedUseArrayOutputWithContext(context.Context) GetIsBareMetalServerDisksDiskAllowedUseArrayOutput +} + +type GetIsBareMetalServerDisksDiskAllowedUseArray []GetIsBareMetalServerDisksDiskAllowedUseInput + +func (GetIsBareMetalServerDisksDiskAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerDisksDiskAllowedUse)(nil)).Elem() +} + +func (i GetIsBareMetalServerDisksDiskAllowedUseArray) ToGetIsBareMetalServerDisksDiskAllowedUseArrayOutput() GetIsBareMetalServerDisksDiskAllowedUseArrayOutput { + return i.ToGetIsBareMetalServerDisksDiskAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerDisksDiskAllowedUseArray) ToGetIsBareMetalServerDisksDiskAllowedUseArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksDiskAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerDisksDiskAllowedUseArrayOutput) +} + +type GetIsBareMetalServerDisksDiskAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDisksDiskAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerDisksDiskAllowedUse)(nil)).Elem() +} + +func (o GetIsBareMetalServerDisksDiskAllowedUseOutput) ToGetIsBareMetalServerDisksDiskAllowedUseOutput() GetIsBareMetalServerDisksDiskAllowedUseOutput { + return o +} + +func (o GetIsBareMetalServerDisksDiskAllowedUseOutput) ToGetIsBareMetalServerDisksDiskAllowedUseOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksDiskAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsBareMetalServerDisksDiskAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDiskAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. +func (o GetIsBareMetalServerDisksDiskAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerDisksDiskAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerDisksDiskAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerDisksDiskAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerDisksDiskAllowedUse)(nil)).Elem() +} + +func (o GetIsBareMetalServerDisksDiskAllowedUseArrayOutput) ToGetIsBareMetalServerDisksDiskAllowedUseArrayOutput() GetIsBareMetalServerDisksDiskAllowedUseArrayOutput { + return o +} + +func (o GetIsBareMetalServerDisksDiskAllowedUseArrayOutput) ToGetIsBareMetalServerDisksDiskAllowedUseArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerDisksDiskAllowedUseArrayOutput { + return o +} + +func (o GetIsBareMetalServerDisksDiskAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerDisksDiskAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerDisksDiskAllowedUse { + return vs[0].([]GetIsBareMetalServerDisksDiskAllowedUse)[vs[1].(int)] + }).(GetIsBareMetalServerDisksDiskAllowedUseOutput) +} + +type GetIsBareMetalServerHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerHealthReasonInput is an input type that accepts GetIsBareMetalServerHealthReasonArgs and GetIsBareMetalServerHealthReasonOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerHealthReasonInput` via: +// +// GetIsBareMetalServerHealthReasonArgs{...} +type GetIsBareMetalServerHealthReasonInput interface { + pulumi.Input + + ToGetIsBareMetalServerHealthReasonOutput() GetIsBareMetalServerHealthReasonOutput + ToGetIsBareMetalServerHealthReasonOutputWithContext(context.Context) GetIsBareMetalServerHealthReasonOutput +} + +type GetIsBareMetalServerHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerHealthReason)(nil)).Elem() +} + +func (i GetIsBareMetalServerHealthReasonArgs) ToGetIsBareMetalServerHealthReasonOutput() GetIsBareMetalServerHealthReasonOutput { + return i.ToGetIsBareMetalServerHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerHealthReasonArgs) ToGetIsBareMetalServerHealthReasonOutputWithContext(ctx context.Context) GetIsBareMetalServerHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerHealthReasonOutput) +} + +// GetIsBareMetalServerHealthReasonArrayInput is an input type that accepts GetIsBareMetalServerHealthReasonArray and GetIsBareMetalServerHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerHealthReasonArrayInput` via: +// +// GetIsBareMetalServerHealthReasonArray{ GetIsBareMetalServerHealthReasonArgs{...} } +type GetIsBareMetalServerHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerHealthReasonArrayOutput() GetIsBareMetalServerHealthReasonArrayOutput + ToGetIsBareMetalServerHealthReasonArrayOutputWithContext(context.Context) GetIsBareMetalServerHealthReasonArrayOutput +} + +type GetIsBareMetalServerHealthReasonArray []GetIsBareMetalServerHealthReasonInput + +func (GetIsBareMetalServerHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerHealthReason)(nil)).Elem() +} + +func (i GetIsBareMetalServerHealthReasonArray) ToGetIsBareMetalServerHealthReasonArrayOutput() GetIsBareMetalServerHealthReasonArrayOutput { + return i.ToGetIsBareMetalServerHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerHealthReasonArray) ToGetIsBareMetalServerHealthReasonArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerHealthReasonArrayOutput) +} + +type GetIsBareMetalServerHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerHealthReason)(nil)).Elem() +} + +func (o GetIsBareMetalServerHealthReasonOutput) ToGetIsBareMetalServerHealthReasonOutput() GetIsBareMetalServerHealthReasonOutput { + return o +} + +func (o GetIsBareMetalServerHealthReasonOutput) ToGetIsBareMetalServerHealthReasonOutputWithContext(ctx context.Context) GetIsBareMetalServerHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsBareMetalServerHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsBareMetalServerHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsBareMetalServerHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerHealthReason)(nil)).Elem() +} + +func (o GetIsBareMetalServerHealthReasonArrayOutput) ToGetIsBareMetalServerHealthReasonArrayOutput() GetIsBareMetalServerHealthReasonArrayOutput { + return o +} + +func (o GetIsBareMetalServerHealthReasonArrayOutput) ToGetIsBareMetalServerHealthReasonArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerHealthReasonArrayOutput { + return o +} + +func (o GetIsBareMetalServerHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerHealthReason { + return vs[0].([]GetIsBareMetalServerHealthReason)[vs[1].(int)] + }).(GetIsBareMetalServerHealthReasonOutput) +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfile struct { + // If set to true, the system will create a link to the specified target trusted profile during server creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the server is deleted. + AutoLink bool `pulumi:"autoLink"` + // The default IAM trusted profile to use for this bare metal server + Targets []GetIsBareMetalServerInitializationDefaultTrustedProfileTarget `pulumi:"targets"` +} + +// GetIsBareMetalServerInitializationDefaultTrustedProfileInput is an input type that accepts GetIsBareMetalServerInitializationDefaultTrustedProfileArgs and GetIsBareMetalServerInitializationDefaultTrustedProfileOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerInitializationDefaultTrustedProfileInput` via: +// +// GetIsBareMetalServerInitializationDefaultTrustedProfileArgs{...} +type GetIsBareMetalServerInitializationDefaultTrustedProfileInput interface { + pulumi.Input + + ToGetIsBareMetalServerInitializationDefaultTrustedProfileOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileOutput + ToGetIsBareMetalServerInitializationDefaultTrustedProfileOutputWithContext(context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileOutput +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileArgs struct { + // If set to true, the system will create a link to the specified target trusted profile during server creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the server is deleted. + AutoLink pulumi.BoolInput `pulumi:"autoLink"` + // The default IAM trusted profile to use for this bare metal server + Targets GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayInput `pulumi:"targets"` +} + +func (GetIsBareMetalServerInitializationDefaultTrustedProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerInitializationDefaultTrustedProfile)(nil)).Elem() +} + +func (i GetIsBareMetalServerInitializationDefaultTrustedProfileArgs) ToGetIsBareMetalServerInitializationDefaultTrustedProfileOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileOutput { + return i.ToGetIsBareMetalServerInitializationDefaultTrustedProfileOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerInitializationDefaultTrustedProfileArgs) ToGetIsBareMetalServerInitializationDefaultTrustedProfileOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerInitializationDefaultTrustedProfileOutput) +} + +// GetIsBareMetalServerInitializationDefaultTrustedProfileArrayInput is an input type that accepts GetIsBareMetalServerInitializationDefaultTrustedProfileArray and GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerInitializationDefaultTrustedProfileArrayInput` via: +// +// GetIsBareMetalServerInitializationDefaultTrustedProfileArray{ GetIsBareMetalServerInitializationDefaultTrustedProfileArgs{...} } +type GetIsBareMetalServerInitializationDefaultTrustedProfileArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput + ToGetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutputWithContext(context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileArray []GetIsBareMetalServerInitializationDefaultTrustedProfileInput + +func (GetIsBareMetalServerInitializationDefaultTrustedProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerInitializationDefaultTrustedProfile)(nil)).Elem() +} + +func (i GetIsBareMetalServerInitializationDefaultTrustedProfileArray) ToGetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput { + return i.ToGetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerInitializationDefaultTrustedProfileArray) ToGetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput) +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerInitializationDefaultTrustedProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerInitializationDefaultTrustedProfile)(nil)).Elem() +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileOutput) ToGetIsBareMetalServerInitializationDefaultTrustedProfileOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileOutput { + return o +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileOutput) ToGetIsBareMetalServerInitializationDefaultTrustedProfileOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileOutput { + return o +} + +// If set to true, the system will create a link to the specified target trusted profile during server creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the server is deleted. +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileOutput) AutoLink() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationDefaultTrustedProfile) bool { return v.AutoLink }).(pulumi.BoolOutput) +} + +// The default IAM trusted profile to use for this bare metal server +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileOutput) Targets() GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationDefaultTrustedProfile) []GetIsBareMetalServerInitializationDefaultTrustedProfileTarget { + return v.Targets + }).(GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput) +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerInitializationDefaultTrustedProfile)(nil)).Elem() +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput) ToGetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput { + return o +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput) ToGetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput { + return o +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerInitializationDefaultTrustedProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerInitializationDefaultTrustedProfile { + return vs[0].([]GetIsBareMetalServerInitializationDefaultTrustedProfile)[vs[1].(int)] + }).(GetIsBareMetalServerInitializationDefaultTrustedProfileOutput) +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileTarget struct { + // The CRN for this trusted profile + Crn string `pulumi:"crn"` + // The unique identifier for this trusted profile + Id string `pulumi:"id"` +} + +// GetIsBareMetalServerInitializationDefaultTrustedProfileTargetInput is an input type that accepts GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArgs and GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerInitializationDefaultTrustedProfileTargetInput` via: +// +// GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArgs{...} +type GetIsBareMetalServerInitializationDefaultTrustedProfileTargetInput interface { + pulumi.Input + + ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput + ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutputWithContext(context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArgs struct { + // The CRN for this trusted profile + Crn pulumi.StringInput `pulumi:"crn"` + // The unique identifier for this trusted profile + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerInitializationDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (i GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return i.ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArgs) ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) +} + +// GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayInput is an input type that accepts GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArray and GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayInput` via: +// +// GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArray{ GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArgs{...} } +type GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput + ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutputWithContext(context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArray []GetIsBareMetalServerInitializationDefaultTrustedProfileTargetInput + +func (GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerInitializationDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (i GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArray) ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput { + return i.ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArray) ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput) +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerInitializationDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return o +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return o +} + +// The CRN for this trusted profile +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationDefaultTrustedProfileTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// The unique identifier for this trusted profile +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationDefaultTrustedProfileTarget) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerInitializationDefaultTrustedProfileTarget)(nil)).Elem() +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput) ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput() GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput { + return o +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput) ToGetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput { + return o +} + +func (o GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerInitializationDefaultTrustedProfileTarget { + return vs[0].([]GetIsBareMetalServerInitializationDefaultTrustedProfileTarget)[vs[1].(int)] + }).(GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput) +} + +type GetIsBareMetalServerInitializationUserAccount struct { + // The password at initialization, encrypted using encryption_key, and returned base64-encoded + EncryptedPassword string `pulumi:"encryptedPassword"` + // The CRN for the encryption key + EncryptionKey string `pulumi:"encryptionKey"` + // The password at initialization, encrypted using encryption_key, and returned base64-encoded + Password string `pulumi:"password"` + // The type of resource referenced : [ hostUserAccount ] + ResourceType string `pulumi:"resourceType"` + // The username for the account created at initialization + Username string `pulumi:"username"` +} + +// GetIsBareMetalServerInitializationUserAccountInput is an input type that accepts GetIsBareMetalServerInitializationUserAccountArgs and GetIsBareMetalServerInitializationUserAccountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerInitializationUserAccountInput` via: +// +// GetIsBareMetalServerInitializationUserAccountArgs{...} +type GetIsBareMetalServerInitializationUserAccountInput interface { + pulumi.Input + + ToGetIsBareMetalServerInitializationUserAccountOutput() GetIsBareMetalServerInitializationUserAccountOutput + ToGetIsBareMetalServerInitializationUserAccountOutputWithContext(context.Context) GetIsBareMetalServerInitializationUserAccountOutput +} + +type GetIsBareMetalServerInitializationUserAccountArgs struct { + // The password at initialization, encrypted using encryption_key, and returned base64-encoded + EncryptedPassword pulumi.StringInput `pulumi:"encryptedPassword"` + // The CRN for the encryption key + EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"` + // The password at initialization, encrypted using encryption_key, and returned base64-encoded + Password pulumi.StringInput `pulumi:"password"` + // The type of resource referenced : [ hostUserAccount ] + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The username for the account created at initialization + Username pulumi.StringInput `pulumi:"username"` +} + +func (GetIsBareMetalServerInitializationUserAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerInitializationUserAccount)(nil)).Elem() +} + +func (i GetIsBareMetalServerInitializationUserAccountArgs) ToGetIsBareMetalServerInitializationUserAccountOutput() GetIsBareMetalServerInitializationUserAccountOutput { + return i.ToGetIsBareMetalServerInitializationUserAccountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerInitializationUserAccountArgs) ToGetIsBareMetalServerInitializationUserAccountOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationUserAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerInitializationUserAccountOutput) +} + +// GetIsBareMetalServerInitializationUserAccountArrayInput is an input type that accepts GetIsBareMetalServerInitializationUserAccountArray and GetIsBareMetalServerInitializationUserAccountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerInitializationUserAccountArrayInput` via: +// +// GetIsBareMetalServerInitializationUserAccountArray{ GetIsBareMetalServerInitializationUserAccountArgs{...} } +type GetIsBareMetalServerInitializationUserAccountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerInitializationUserAccountArrayOutput() GetIsBareMetalServerInitializationUserAccountArrayOutput + ToGetIsBareMetalServerInitializationUserAccountArrayOutputWithContext(context.Context) GetIsBareMetalServerInitializationUserAccountArrayOutput +} + +type GetIsBareMetalServerInitializationUserAccountArray []GetIsBareMetalServerInitializationUserAccountInput + +func (GetIsBareMetalServerInitializationUserAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerInitializationUserAccount)(nil)).Elem() +} + +func (i GetIsBareMetalServerInitializationUserAccountArray) ToGetIsBareMetalServerInitializationUserAccountArrayOutput() GetIsBareMetalServerInitializationUserAccountArrayOutput { + return i.ToGetIsBareMetalServerInitializationUserAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerInitializationUserAccountArray) ToGetIsBareMetalServerInitializationUserAccountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationUserAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerInitializationUserAccountArrayOutput) +} + +type GetIsBareMetalServerInitializationUserAccountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerInitializationUserAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerInitializationUserAccount)(nil)).Elem() +} + +func (o GetIsBareMetalServerInitializationUserAccountOutput) ToGetIsBareMetalServerInitializationUserAccountOutput() GetIsBareMetalServerInitializationUserAccountOutput { + return o +} + +func (o GetIsBareMetalServerInitializationUserAccountOutput) ToGetIsBareMetalServerInitializationUserAccountOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationUserAccountOutput { + return o +} + +// The password at initialization, encrypted using encryption_key, and returned base64-encoded +func (o GetIsBareMetalServerInitializationUserAccountOutput) EncryptedPassword() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationUserAccount) string { return v.EncryptedPassword }).(pulumi.StringOutput) +} + +// The CRN for the encryption key +func (o GetIsBareMetalServerInitializationUserAccountOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationUserAccount) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The password at initialization, encrypted using encryption_key, and returned base64-encoded +func (o GetIsBareMetalServerInitializationUserAccountOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationUserAccount) string { return v.Password }).(pulumi.StringOutput) +} + +// The type of resource referenced : [ hostUserAccount ] +func (o GetIsBareMetalServerInitializationUserAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationUserAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The username for the account created at initialization +func (o GetIsBareMetalServerInitializationUserAccountOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerInitializationUserAccount) string { return v.Username }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerInitializationUserAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerInitializationUserAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerInitializationUserAccount)(nil)).Elem() +} + +func (o GetIsBareMetalServerInitializationUserAccountArrayOutput) ToGetIsBareMetalServerInitializationUserAccountArrayOutput() GetIsBareMetalServerInitializationUserAccountArrayOutput { + return o +} + +func (o GetIsBareMetalServerInitializationUserAccountArrayOutput) ToGetIsBareMetalServerInitializationUserAccountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerInitializationUserAccountArrayOutput { + return o +} + +func (o GetIsBareMetalServerInitializationUserAccountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerInitializationUserAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerInitializationUserAccount { + return vs[0].([]GetIsBareMetalServerInitializationUserAccount)[vs[1].(int)] + }).(GetIsBareMetalServerInitializationUserAccountOutput) +} + +type GetIsBareMetalServerMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the bare metal server + Enabled bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol string `pulumi:"protocol"` +} + +// GetIsBareMetalServerMetadataServiceInput is an input type that accepts GetIsBareMetalServerMetadataServiceArgs and GetIsBareMetalServerMetadataServiceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerMetadataServiceInput` via: +// +// GetIsBareMetalServerMetadataServiceArgs{...} +type GetIsBareMetalServerMetadataServiceInput interface { + pulumi.Input + + ToGetIsBareMetalServerMetadataServiceOutput() GetIsBareMetalServerMetadataServiceOutput + ToGetIsBareMetalServerMetadataServiceOutputWithContext(context.Context) GetIsBareMetalServerMetadataServiceOutput +} + +type GetIsBareMetalServerMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the bare metal server + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringInput `pulumi:"protocol"` +} + +func (GetIsBareMetalServerMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerMetadataService)(nil)).Elem() +} + +func (i GetIsBareMetalServerMetadataServiceArgs) ToGetIsBareMetalServerMetadataServiceOutput() GetIsBareMetalServerMetadataServiceOutput { + return i.ToGetIsBareMetalServerMetadataServiceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerMetadataServiceArgs) ToGetIsBareMetalServerMetadataServiceOutputWithContext(ctx context.Context) GetIsBareMetalServerMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerMetadataServiceOutput) +} + +// GetIsBareMetalServerMetadataServiceArrayInput is an input type that accepts GetIsBareMetalServerMetadataServiceArray and GetIsBareMetalServerMetadataServiceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerMetadataServiceArrayInput` via: +// +// GetIsBareMetalServerMetadataServiceArray{ GetIsBareMetalServerMetadataServiceArgs{...} } +type GetIsBareMetalServerMetadataServiceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerMetadataServiceArrayOutput() GetIsBareMetalServerMetadataServiceArrayOutput + ToGetIsBareMetalServerMetadataServiceArrayOutputWithContext(context.Context) GetIsBareMetalServerMetadataServiceArrayOutput +} + +type GetIsBareMetalServerMetadataServiceArray []GetIsBareMetalServerMetadataServiceInput + +func (GetIsBareMetalServerMetadataServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerMetadataService)(nil)).Elem() +} + +func (i GetIsBareMetalServerMetadataServiceArray) ToGetIsBareMetalServerMetadataServiceArrayOutput() GetIsBareMetalServerMetadataServiceArrayOutput { + return i.ToGetIsBareMetalServerMetadataServiceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerMetadataServiceArray) ToGetIsBareMetalServerMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerMetadataServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerMetadataServiceArrayOutput) +} + +type GetIsBareMetalServerMetadataServiceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerMetadataService)(nil)).Elem() +} + +func (o GetIsBareMetalServerMetadataServiceOutput) ToGetIsBareMetalServerMetadataServiceOutput() GetIsBareMetalServerMetadataServiceOutput { + return o +} + +func (o GetIsBareMetalServerMetadataServiceOutput) ToGetIsBareMetalServerMetadataServiceOutputWithContext(ctx context.Context) GetIsBareMetalServerMetadataServiceOutput { + return o +} + +// Indicates whether the metadata service endpoint will be available to the bare metal server +func (o GetIsBareMetalServerMetadataServiceOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerMetadataService) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o GetIsBareMetalServerMetadataServiceOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerMetadataService) string { return v.Protocol }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerMetadataServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerMetadataServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerMetadataService)(nil)).Elem() +} + +func (o GetIsBareMetalServerMetadataServiceArrayOutput) ToGetIsBareMetalServerMetadataServiceArrayOutput() GetIsBareMetalServerMetadataServiceArrayOutput { + return o +} + +func (o GetIsBareMetalServerMetadataServiceArrayOutput) ToGetIsBareMetalServerMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerMetadataServiceArrayOutput { + return o +} + +func (o GetIsBareMetalServerMetadataServiceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerMetadataServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerMetadataService { + return vs[0].([]GetIsBareMetalServerMetadataService)[vs[1].(int)] + }).(GetIsBareMetalServerMetadataServiceOutput) +} + +type GetIsBareMetalServerNetworkAttachmentType struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServerNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this network attachment. + Href string `pulumi:"href"` + // The unique identifier for this network attachment. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []GetIsBareMetalServerNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets []GetIsBareMetalServerNetworkAttachmentSubnet `pulumi:"subnets"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces []GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsBareMetalServerNetworkAttachmentTypeInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentTypeArgs and GetIsBareMetalServerNetworkAttachmentTypeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentTypeInput` via: +// +// GetIsBareMetalServerNetworkAttachmentTypeArgs{...} +type GetIsBareMetalServerNetworkAttachmentTypeInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentTypeOutput() GetIsBareMetalServerNetworkAttachmentTypeOutput + ToGetIsBareMetalServerNetworkAttachmentTypeOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentTypeOutput +} + +type GetIsBareMetalServerNetworkAttachmentTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServerNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network attachment. + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets GetIsBareMetalServerNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsBareMetalServerNetworkAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentType)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentTypeArgs) ToGetIsBareMetalServerNetworkAttachmentTypeOutput() GetIsBareMetalServerNetworkAttachmentTypeOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentTypeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentTypeArgs) ToGetIsBareMetalServerNetworkAttachmentTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentTypeOutput) +} + +// GetIsBareMetalServerNetworkAttachmentTypeArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentTypeArray and GetIsBareMetalServerNetworkAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentTypeArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentTypeArray{ GetIsBareMetalServerNetworkAttachmentTypeArgs{...} } +type GetIsBareMetalServerNetworkAttachmentTypeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentTypeArrayOutput() GetIsBareMetalServerNetworkAttachmentTypeArrayOutput + ToGetIsBareMetalServerNetworkAttachmentTypeArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentTypeArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentTypeArray []GetIsBareMetalServerNetworkAttachmentTypeInput + +func (GetIsBareMetalServerNetworkAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentType)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentTypeArray) ToGetIsBareMetalServerNetworkAttachmentTypeArrayOutput() GetIsBareMetalServerNetworkAttachmentTypeArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentTypeArray) ToGetIsBareMetalServerNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentTypeArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentType)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) ToGetIsBareMetalServerNetworkAttachmentTypeOutput() GetIsBareMetalServerNetworkAttachmentTypeOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) ToGetIsBareMetalServerNetworkAttachmentTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) Deleteds() GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentType) []GetIsBareMetalServerNetworkAttachmentDeleted { + return v.Deleteds + }).(GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this network attachment. +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network attachment. +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentType) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentType) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) PrimaryIps() GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentType) []GetIsBareMetalServerNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the network attachment. +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) Subnets() GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentType) []GetIsBareMetalServerNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput) +} + +// The virtual network interface for this bare metal server network attachment. +func (o GetIsBareMetalServerNetworkAttachmentTypeOutput) VirtualNetworkInterfaces() GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentType) []GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentType)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentTypeArrayOutput) ToGetIsBareMetalServerNetworkAttachmentTypeArrayOutput() GetIsBareMetalServerNetworkAttachmentTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentTypeArrayOutput) ToGetIsBareMetalServerNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentTypeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentType { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentType)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentTypeOutput) +} + +type GetIsBareMetalServerNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerNetworkAttachmentDeletedInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentDeletedArgs and GetIsBareMetalServerNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentDeletedInput` via: +// +// GetIsBareMetalServerNetworkAttachmentDeletedArgs{...} +type GetIsBareMetalServerNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentDeletedOutput() GetIsBareMetalServerNetworkAttachmentDeletedOutput + ToGetIsBareMetalServerNetworkAttachmentDeletedOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentDeletedOutput +} + +type GetIsBareMetalServerNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentDeletedOutput() GetIsBareMetalServerNetworkAttachmentDeletedOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentDeletedOutput) +} + +// GetIsBareMetalServerNetworkAttachmentDeletedArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentDeletedArray and GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentDeletedArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentDeletedArray{ GetIsBareMetalServerNetworkAttachmentDeletedArgs{...} } +type GetIsBareMetalServerNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput + ToGetIsBareMetalServerNetworkAttachmentDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentDeletedArray []GetIsBareMetalServerNetworkAttachmentDeletedInput + +func (GetIsBareMetalServerNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentDeletedArray) ToGetIsBareMetalServerNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentDeletedArray) ToGetIsBareMetalServerNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentDeletedOutput() GetIsBareMetalServerNetworkAttachmentDeletedOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentDeleted { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentDeletedOutput) +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentPrimaryIpArgs and GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentPrimaryIpInput` via: +// +// GetIsBareMetalServerNetworkAttachmentPrimaryIpArgs{...} +type GetIsBareMetalServerNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput + ToGetIsBareMetalServerNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) +} + +// GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentPrimaryIpArray and GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentPrimaryIpArray{ GetIsBareMetalServerNetworkAttachmentPrimaryIpArgs{...} } +type GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput + ToGetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpArray []GetIsBareMetalServerNetworkAttachmentPrimaryIpInput + +func (GetIsBareMetalServerNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentPrimaryIp) []GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput) +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArgs and GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArray and GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArray{ GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArray []GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsBareMetalServerNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServerNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerNetworkAttachmentSubnetInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentSubnetArgs and GetIsBareMetalServerNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentSubnetInput` via: +// +// GetIsBareMetalServerNetworkAttachmentSubnetArgs{...} +type GetIsBareMetalServerNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentSubnetOutput() GetIsBareMetalServerNetworkAttachmentSubnetOutput + ToGetIsBareMetalServerNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentSubnetOutput +} + +type GetIsBareMetalServerNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentSubnetArgs) ToGetIsBareMetalServerNetworkAttachmentSubnetOutput() GetIsBareMetalServerNetworkAttachmentSubnetOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentSubnetArgs) ToGetIsBareMetalServerNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentSubnetOutput) +} + +// GetIsBareMetalServerNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentSubnetArray and GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentSubnetArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentSubnetArray{ GetIsBareMetalServerNetworkAttachmentSubnetArgs{...} } +type GetIsBareMetalServerNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput + ToGetIsBareMetalServerNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentSubnetArray []GetIsBareMetalServerNetworkAttachmentSubnetInput + +func (GetIsBareMetalServerNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentSubnetArray) ToGetIsBareMetalServerNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentSubnetArray) ToGetIsBareMetalServerNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetOutput) ToGetIsBareMetalServerNetworkAttachmentSubnetOutput() GetIsBareMetalServerNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetOutput) ToGetIsBareMetalServerNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsBareMetalServerNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServerNetworkAttachmentSubnetOutput) Deleteds() GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentSubnet) []GetIsBareMetalServerNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsBareMetalServerNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsBareMetalServerNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsBareMetalServerNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServerNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServerNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentSubnet { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentSubnetOutput) +} + +type GetIsBareMetalServerNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentSubnetDeletedArgs and GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsBareMetalServerNetworkAttachmentSubnetDeletedArgs{...} +type GetIsBareMetalServerNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput + ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput +} + +type GetIsBareMetalServerNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentSubnetDeletedArray and GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentSubnetDeletedArray{ GetIsBareMetalServerNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentSubnetDeletedArray []GetIsBareMetalServerNetworkAttachmentSubnetDeletedInput + +func (GetIsBareMetalServerNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray and GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray []GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachment struct { + // Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. + AllowToFloat bool `pulumi:"allowToFloat"` + AllowedVlans []int `pulumi:"allowedVlans"` + // The date and time that the bare metal server network attachment was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this bare metal server network attachment. + Href string `pulumi:"href"` + // The unique identifier for this bare metal server network attachment. + Id string `pulumi:"id"` + // The network attachment's interface type:- `hipersocket`: a virtual network device that provides high-speed TCP/IP connectivity within a `s390x` based system- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType string `pulumi:"interfaceType"` + // The lifecycle state of the bare metal server network attachment. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name string `pulumi:"name"` + // The port speed for this bare metal server network attachment in Mbps. + PortSpeed int `pulumi:"portSpeed"` + // The primary IP address of the virtual network interface for the bare metal servernetwork attachment. + PrimaryIps []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the bare metal server networkattachment. + Subnets []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet `pulumi:"subnets"` + // The bare metal server network attachment type. + Type string `pulumi:"type"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. + Vlan int `pulumi:"vlan"` +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArgs and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArgs{...} +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArgs struct { + // Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. + AllowToFloat pulumi.BoolInput `pulumi:"allowToFloat"` + AllowedVlans pulumi.IntArrayInput `pulumi:"allowedVlans"` + // The date and time that the bare metal server network attachment was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this bare metal server network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this bare metal server network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The network attachment's interface type:- `hipersocket`: a virtual network device that provides high-speed TCP/IP connectivity within a `s390x` based system- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The lifecycle state of the bare metal server network attachment. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. + Name pulumi.StringInput `pulumi:"name"` + // The port speed for this bare metal server network attachment in Mbps. + PortSpeed pulumi.IntInput `pulumi:"portSpeed"` + // The primary IP address of the virtual network interface for the bare metal servernetwork attachment. + PrimaryIps GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the bare metal server networkattachment. + Subnets GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The bare metal server network attachment type. + Type pulumi.StringInput `pulumi:"type"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. + Vlan pulumi.IntInput `pulumi:"vlan"` +} + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachment)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArray and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArray{ GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArgs{...} } +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArray []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentInput + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachment)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachment)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput { + return o +} + +// Indicates if the bare metal server network attachment can automatically float to any other server within the same `resourceGroup`. The bare metal server network attachment will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to bare metal server network attachments with `vlan` interface type. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) AllowToFloat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) bool { return v.AllowToFloat }).(pulumi.BoolOutput) +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) []int { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +// The date and time that the bare metal server network attachment was created. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this bare metal server network attachment. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this bare metal server network attachment. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +// The network attachment's interface type:- `hipersocket`: a virtual network device that provides high-speed TCP/IP connectivity within a `s390x` based system- `pci`: a physical PCI device which can only be created or deleted when the bare metal server is stopped - Has an `allowedVlans` property which controls the VLANs that will be permitted to use the PCI attachment - Cannot directly use an IEEE 802.1q VLAN tag.- `vlan`: a virtual device, used through a `pci` device that has the `vlan` in its array of `allowedVlans`. - Must use an IEEE 802.1q tag.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The lifecycle state of the bare metal server network attachment. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this bare metal server network attachment. The name is unique across all network attachments for the bare metal server. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The port speed for this bare metal server network attachment in Mbps. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +// The primary IP address of the virtual network interface for the bare metal servernetwork attachment. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) PrimaryIps() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the bare metal server networkattachment. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) Subnets() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) +} + +// The bare metal server network attachment type. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) string { return v.Type }).(pulumi.StringOutput) +} + +// The virtual network interface for this bare metal server network attachment. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this attachment. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachment) int { return v.Vlan }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachment)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentsNetworkAttachment { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentsNetworkAttachment)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArgs and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArgs{...} +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArray and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArray{ GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArgs{...} } +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArray []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpInput + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp) []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray{ GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArgs and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArgs{...} +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArray and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArray{ GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArgs{...} } +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArray []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetInput + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) Deleteds() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet) []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs{...} +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArray and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArray{ GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArray []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedInput + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray and GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray []GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { + return v.Name + }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsBareMetalServerNetworkInterfaceType struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // The URL for this network interface + Href string `pulumi:"href"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // IPv4, The IP address. + PrimaryIps []GetIsBareMetalServerNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// GetIsBareMetalServerNetworkInterfaceTypeInput is an input type that accepts GetIsBareMetalServerNetworkInterfaceTypeArgs and GetIsBareMetalServerNetworkInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfaceTypeInput` via: +// +// GetIsBareMetalServerNetworkInterfaceTypeArgs{...} +type GetIsBareMetalServerNetworkInterfaceTypeInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfaceTypeOutput() GetIsBareMetalServerNetworkInterfaceTypeOutput + ToGetIsBareMetalServerNetworkInterfaceTypeOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfaceTypeOutput +} + +type GetIsBareMetalServerNetworkInterfaceTypeArgs struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // The URL for this network interface + Href pulumi.StringInput `pulumi:"href"` + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // IPv4, The IP address. + PrimaryIps GetIsBareMetalServerNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsBareMetalServerNetworkInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceType)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfaceTypeArgs) ToGetIsBareMetalServerNetworkInterfaceTypeOutput() GetIsBareMetalServerNetworkInterfaceTypeOutput { + return i.ToGetIsBareMetalServerNetworkInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfaceTypeArgs) ToGetIsBareMetalServerNetworkInterfaceTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfaceTypeOutput) +} + +// GetIsBareMetalServerNetworkInterfaceTypeArrayInput is an input type that accepts GetIsBareMetalServerNetworkInterfaceTypeArray and GetIsBareMetalServerNetworkInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfaceTypeArrayInput` via: +// +// GetIsBareMetalServerNetworkInterfaceTypeArray{ GetIsBareMetalServerNetworkInterfaceTypeArgs{...} } +type GetIsBareMetalServerNetworkInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfaceTypeArrayOutput() GetIsBareMetalServerNetworkInterfaceTypeArrayOutput + ToGetIsBareMetalServerNetworkInterfaceTypeArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfaceTypeArrayOutput +} + +type GetIsBareMetalServerNetworkInterfaceTypeArray []GetIsBareMetalServerNetworkInterfaceTypeInput + +func (GetIsBareMetalServerNetworkInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfaceType)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfaceTypeArray) ToGetIsBareMetalServerNetworkInterfaceTypeArrayOutput() GetIsBareMetalServerNetworkInterfaceTypeArrayOutput { + return i.ToGetIsBareMetalServerNetworkInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfaceTypeArray) ToGetIsBareMetalServerNetworkInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfaceTypeArrayOutput) +} + +type GetIsBareMetalServerNetworkInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceType)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) ToGetIsBareMetalServerNetworkInterfaceTypeOutput() GetIsBareMetalServerNetworkInterfaceTypeOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) ToGetIsBareMetalServerNetworkInterfaceTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceTypeOutput { + return o +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceType) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// The URL for this network interface +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceType) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceType) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceType) string { return v.Name }).(pulumi.StringOutput) +} + +// IPv4, The IP address. +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) PrimaryIps() GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceType) []GetIsBareMetalServerNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceType) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceType) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfaceType)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeArrayOutput) ToGetIsBareMetalServerNetworkInterfaceTypeArrayOutput() GetIsBareMetalServerNetworkInterfaceTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeArrayOutput) ToGetIsBareMetalServerNetworkInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkInterfaceType { + return vs[0].([]GetIsBareMetalServerNetworkInterfaceType)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkInterfaceTypeOutput) +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpType struct { + // The globally unique IP address + Address string `pulumi:"address"` + // The CRN for this floating IP + Crn string `pulumi:"crn"` + // The URL for this floating IP + Href string `pulumi:"href"` + // The unique identifier for this floating IP + Id string `pulumi:"id"` + // The unique user-defined name for this floating IP + Name string `pulumi:"name"` + // The unique identifier for this floating IP + // + // Deprecated: This field is deprecated - replaced by id + ReservedIp string `pulumi:"reservedIp"` +} + +// GetIsBareMetalServerNetworkInterfaceFloatingIpTypeInput is an input type that accepts GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArgs and GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfaceFloatingIpTypeInput` via: +// +// GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArgs{...} +type GetIsBareMetalServerNetworkInterfaceFloatingIpTypeInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput + ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArgs struct { + // The globally unique IP address + Address pulumi.StringInput `pulumi:"address"` + // The CRN for this floating IP + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this floating IP + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this floating IP + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this floating IP + Name pulumi.StringInput `pulumi:"name"` + // The unique identifier for this floating IP + // + // Deprecated: This field is deprecated - replaced by id + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` +} + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArgs) ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return i.ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArgs) ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) +} + +// GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput is an input type that accepts GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArray and GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput` via: +// +// GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArray{ GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArgs{...} } +type GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput + ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArray []GetIsBareMetalServerNetworkInterfaceFloatingIpTypeInput + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArray) ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return i.ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArray) ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return o +} + +// The globally unique IP address +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpType) string { return v.Address }).(pulumi.StringOutput) +} + +// The CRN for this floating IP +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpType) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this floating IP +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this floating IP +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpType) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this floating IP +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpType) string { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier for this floating IP +// +// Deprecated: This field is deprecated - replaced by id +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpType) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkInterfaceFloatingIpType { + return vs[0].([]GetIsBareMetalServerNetworkInterfaceFloatingIpType)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput) +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp struct { + // Floating IP address + Address string `pulumi:"address"` + // Floating IP crn + Crn string `pulumi:"crn"` + // ID of the floating IP + Id string `pulumi:"id"` + // Name of the floating IP + Name string `pulumi:"name"` + // Floating IP status + Status string `pulumi:"status"` + // Target info + Target string `pulumi:"target"` + // Zone name + Zone string `pulumi:"zone"` +} + +// GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpInput is an input type that accepts GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArgs and GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpInput` via: +// +// GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArgs{...} +type GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput + ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArgs struct { + // Floating IP address + Address pulumi.StringInput `pulumi:"address"` + // Floating IP crn + Crn pulumi.StringInput `pulumi:"crn"` + // ID of the floating IP + Id pulumi.StringInput `pulumi:"id"` + // Name of the floating IP + Name pulumi.StringInput `pulumi:"name"` + // Floating IP status + Status pulumi.StringInput `pulumi:"status"` + // Target info + Target pulumi.StringInput `pulumi:"target"` + // Zone name + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArgs) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput { + return i.ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArgs) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) +} + +// GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayInput is an input type that accepts GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArray and GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayInput` via: +// +// GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArray{ GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArgs{...} } +type GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput + ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArray []GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpInput + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArray) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return i.ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArray) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput) +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput { + return o +} + +// Floating IP address +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp) string { return v.Address }).(pulumi.StringOutput) +} + +// Floating IP crn +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp) string { return v.Crn }).(pulumi.StringOutput) +} + +// ID of the floating IP +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp) string { return v.Id }).(pulumi.StringOutput) +} + +// Name of the floating IP +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Floating IP status +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp) string { return v.Status }).(pulumi.StringOutput) +} + +// Target info +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp) string { return v.Target }).(pulumi.StringOutput) +} + +// Zone name +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput() GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput) ToGetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp { + return vs[0].([]GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIp)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput) +} + +type GetIsBareMetalServerNetworkInterfacePrimaryIp struct { + // The globally unique IP address + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerNetworkInterfacePrimaryIpInput is an input type that accepts GetIsBareMetalServerNetworkInterfacePrimaryIpArgs and GetIsBareMetalServerNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfacePrimaryIpInput` via: +// +// GetIsBareMetalServerNetworkInterfacePrimaryIpArgs{...} +type GetIsBareMetalServerNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerNetworkInterfacePrimaryIpOutput + ToGetIsBareMetalServerNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfacePrimaryIpOutput +} + +type GetIsBareMetalServerNetworkInterfacePrimaryIpArgs struct { + // The globally unique IP address + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServerNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerNetworkInterfacePrimaryIpOutput { + return i.ToGetIsBareMetalServerNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServerNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) +} + +// GetIsBareMetalServerNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsBareMetalServerNetworkInterfacePrimaryIpArray and GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsBareMetalServerNetworkInterfacePrimaryIpArray{ GetIsBareMetalServerNetworkInterfacePrimaryIpArgs{...} } +type GetIsBareMetalServerNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput + ToGetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsBareMetalServerNetworkInterfacePrimaryIpArray []GetIsBareMetalServerNetworkInterfacePrimaryIpInput + +func (GetIsBareMetalServerNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsBareMetalServerNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServerNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServerNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacePrimaryIpOutput { + return o +} + +// The globally unique IP address +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkInterfacePrimaryIp { + return vs[0].([]GetIsBareMetalServerNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkInterfacePrimaryIpOutput) +} + +type GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp struct { + // The IP address + Address string `pulumi:"address"` + // If reserved ip shall be deleted automatically + AutoDelete bool `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The user-defined or system-provided name for this reserved IP. + Name string `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner string `pulumi:"owner"` + // The unique identifier for this reserved IP + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // Reserved IP target id + Target string `pulumi:"target"` +} + +// GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpInput is an input type that accepts GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArgs and GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpInput` via: +// +// GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArgs{...} +type GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput() GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput + ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput +} + +type GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArgs struct { + // The IP address + Address pulumi.StringInput `pulumi:"address"` + // If reserved ip shall be deleted automatically + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringInput `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner pulumi.StringInput `pulumi:"owner"` + // The unique identifier for this reserved IP + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Reserved IP target id + Target pulumi.StringInput `pulumi:"target"` +} + +func (GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArgs) ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput() GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput { + return i.ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArgs) ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) +} + +// GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayInput is an input type that accepts GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArray and GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayInput` via: +// +// GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArray{ GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArgs{...} } +type GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput() GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput + ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput +} + +type GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArray []GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpInput + +func (GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArray) ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput() GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput { + return i.ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArray) ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput) +} + +type GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput() GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput { + return o +} + +// The IP address +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If reserved ip shall be deleted automatically +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the reserved IP was created. +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this reserved IP. +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this reserved IP. +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The owner of a reserved IP, defining whether it is managed by the user or the provider. +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) string { return v.Owner }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Reserved IP target id +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp) string { return v.Target }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput) ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput() GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput) ToGetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp { + return vs[0].([]GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIp)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterface struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat bool `pulumi:"allowInterfaceToFloat"` + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans []int `pulumi:"allowedVlans"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + // The floating IPs associated with this network interface. + FloatingIps []GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp `pulumi:"floatingIps"` + // The URL for this network interface + Href string `pulumi:"href"` + // The id of the network interface + Id string `pulumi:"id"` + // The network interface type: [ pci, vlan ] + InterfaceType string `pulumi:"interfaceType"` + // The MAC address of the interface. If absent, the value is not known. + MacAddress string `pulumi:"macAddress"` + // The user-defined name for this network interface + Name string `pulumi:"name"` + // The network interface port speed in Mbps + PortSpeed int `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIps []GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The resource type : [ subnetReservedIp ] + ResourceType string `pulumi:"resourceType"` + // Collection of security groups ids + SecurityGroups []string `pulumi:"securityGroups"` + // The status of the network interface : [ available, deleting, failed, pending ] + Status string `pulumi:"status"` + // The id of the associated subnet + Subnet string `pulumi:"subnet"` + // The type of this bare metal server network interface : [ primary, secondary ] + Type string `pulumi:"type"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan int `pulumi:"vlan"` +} + +// GetIsBareMetalServerNetworkInterfacesNetworkInterfaceInput is an input type that accepts GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArgs and GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfacesNetworkInterfaceInput` via: +// +// GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArgs{...} +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArgs struct { + // Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. + AllowInterfaceToFloat pulumi.BoolInput `pulumi:"allowInterfaceToFloat"` + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. + AllowedVlans pulumi.IntArrayInput `pulumi:"allowedVlans"` + // If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolInput `pulumi:"enableInfrastructureNat"` + // The floating IPs associated with this network interface. + FloatingIps GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayInput `pulumi:"floatingIps"` + // The URL for this network interface + Href pulumi.StringInput `pulumi:"href"` + // The id of the network interface + Id pulumi.StringInput `pulumi:"id"` + // The network interface type: [ pci, vlan ] + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The MAC address of the interface. If absent, the value is not known. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // The user-defined name for this network interface + Name pulumi.StringInput `pulumi:"name"` + // The network interface port speed in Mbps + PortSpeed pulumi.IntInput `pulumi:"portSpeed"` + // title: IPv4, The IP address. + PrimaryIps GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type : [ subnetReservedIp ] + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Collection of security groups ids + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The status of the network interface : [ available, deleting, failed, pending ] + Status pulumi.StringInput `pulumi:"status"` + // The id of the associated subnet + Subnet pulumi.StringInput `pulumi:"subnet"` + // The type of this bare metal server network interface : [ primary, secondary ] + Type pulumi.StringInput `pulumi:"type"` + // Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface + Vlan pulumi.IntInput `pulumi:"vlan"` +} + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArgs) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput { + return i.ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArgs) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) +} + +// GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArray and GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArray{ GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArgs{...} } +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArray []GetIsBareMetalServerNetworkInterfacesNetworkInterfaceInput + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfacesNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArray) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArray) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput { + return o +} + +// Indicates if the interface can float to any other server within the same resource_group. The interface will float automatically if the network detects a GARP or RARP on another bare metal server in the resource group. Applies only to vlan type interfaces. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) AllowInterfaceToFloat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) bool { return v.AllowInterfaceToFloat }).(pulumi.BoolOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// Indicates what VLAN IDs (for VLAN type only) can use this physical (PCI type) interface. A given VLAN can only be in the allowedVlans array for one PCI type adapter per bare metal server. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) AllowedVlans() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) []int { return v.AllowedVlans }).(pulumi.IntArrayOutput) +} + +// If true, the VPC infrastructure performs any needed NAT operations. If false, the packet is passed unmodified to/from the network interface, allowing the workload to perform any needed NAT operations. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) bool { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +// The floating IPs associated with this network interface. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) FloatingIps() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) []GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp { + return v.FloatingIps + }).(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) +} + +// The URL for this network interface +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The id of the network interface +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The network interface type: [ pci, vlan ] +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The MAC address of the interface. If absent, the value is not known. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The network interface port speed in Mbps +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +// title: IPv4, The IP address. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) PrimaryIps() GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) []GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) +} + +// The resource type : [ subnetReservedIp ] +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Collection of security groups ids +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The status of the network interface : [ available, deleting, failed, pending ] +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.Status }).(pulumi.StringOutput) +} + +// The id of the associated subnet +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +// The type of this bare metal server network interface : [ primary, secondary ] +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) string { return v.Type }).(pulumi.StringOutput) +} + +// Indicates the 802.1Q VLAN ID tag that must be used for all traffic on this interface +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterface) int { return v.Vlan }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfacesNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkInterfacesNetworkInterface { + return vs[0].([]GetIsBareMetalServerNetworkInterfacesNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp struct { + // The globally unique IP address + Address string `pulumi:"address"` + // The CRN for this floating IP + Crn string `pulumi:"crn"` + // The URL for this floating IP + Href string `pulumi:"href"` + // The unique identifier for this floating IP + Id string `pulumi:"id"` + // The unique user-defined name for this floating IP + Name string `pulumi:"name"` + // The unique identifier for this floating IP + // + // Deprecated: This field is deprecated - replaced by id + ReservedIp string `pulumi:"reservedIp"` +} + +// GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpInput is an input type that accepts GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArgs and GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpInput` via: +// +// GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArgs{...} +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArgs struct { + // The globally unique IP address + Address pulumi.StringInput `pulumi:"address"` + // The CRN for this floating IP + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this floating IP + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this floating IP + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this floating IP + Name pulumi.StringInput `pulumi:"name"` + // The unique identifier for this floating IP + // + // Deprecated: This field is deprecated - replaced by id + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` +} + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArgs) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return i.ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArgs) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) +} + +// GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayInput is an input type that accepts GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArray and GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayInput` via: +// +// GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArray{ GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArgs{...} } +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArray []GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpInput + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArray) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return i.ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArray) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return o +} + +// The globally unique IP address +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The CRN for this floating IP +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this floating IP +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this floating IP +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this floating IP +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier for this floating IP +// +// Deprecated: This field is deprecated - replaced by id +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp { + return vs[0].([]GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIp)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp struct { + // The globally unique IP address + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpInput is an input type that accepts GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArgs and GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpInput` via: +// +// GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArgs{...} +type GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArgs struct { + // The globally unique IP address + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return i.ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) +} + +// GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArray and GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArray{ GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArgs{...} } +type GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput + ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArray []GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpInput + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return o +} + +// The globally unique IP address +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp { + return vs[0].([]GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServerPrimaryNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this network attachment. + Href string `pulumi:"href"` + // The unique identifier for this network attachment. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets []GetIsBareMetalServerPrimaryNetworkAttachmentSubnet `pulumi:"subnets"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces []GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentArgs and GetIsBareMetalServerPrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentArgs{...} +type GetIsBareMetalServerPrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentOutput() GetIsBareMetalServerPrimaryNetworkAttachmentOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network attachment. + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsBareMetalServerPrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentOutput() GetIsBareMetalServerPrimaryNetworkAttachmentOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentOutput) +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentArray and GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentArray{ GetIsBareMetalServerPrimaryNetworkAttachmentArgs{...} } +type GetIsBareMetalServerPrimaryNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentArray []GetIsBareMetalServerPrimaryNetworkAttachmentInput + +func (GetIsBareMetalServerPrimaryNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentOutput() GetIsBareMetalServerPrimaryNetworkAttachmentOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) Deleteds() GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachment) []GetIsBareMetalServerPrimaryNetworkAttachmentDeleted { + return v.Deleteds + }).(GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this network attachment. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network attachment. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) PrimaryIps() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachment) []GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the network attachment. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) Subnets() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachment) []GetIsBareMetalServerPrimaryNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput) +} + +// The virtual network interface for this bare metal server network attachment. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachment) []GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkAttachment { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkAttachment)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkAttachmentOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentDeletedInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArgs and GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentDeletedInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArgs{...} +type GetIsBareMetalServerPrimaryNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArray and GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArray{ GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArgs{...} } +type GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArray []GetIsBareMetalServerPrimaryNetworkAttachmentDeletedInput + +func (GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkAttachmentDeleted { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkAttachmentDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArgs and GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArgs{...} +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArray and GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArray{ GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArgs{...} } +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArray []GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpInput + +func (GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp) []GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs and GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArray and GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArray{ GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArray []GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentSubnetInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArgs and GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentSubnetInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArgs{...} +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArray and GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArray{ GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArgs{...} } +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArray []GetIsBareMetalServerPrimaryNetworkAttachmentSubnetInput + +func (GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) Deleteds() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentSubnet) []GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkAttachmentSubnet { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArgs and GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArgs{...} +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArray and GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArray{ GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArray []GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedInput + +func (GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray and GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray []GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsBareMetalServerPrimaryNetworkInterface struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // This URL of the interface + Href string `pulumi:"href"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + PortSpeed int `pulumi:"portSpeed"` + // IPv4, The IP address. + PrimaryIps []GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// GetIsBareMetalServerPrimaryNetworkInterfaceInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkInterfaceArgs and GetIsBareMetalServerPrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkInterfaceInput` via: +// +// GetIsBareMetalServerPrimaryNetworkInterfaceArgs{...} +type GetIsBareMetalServerPrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkInterfaceOutput() GetIsBareMetalServerPrimaryNetworkInterfaceOutput + ToGetIsBareMetalServerPrimaryNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkInterfaceOutput +} + +type GetIsBareMetalServerPrimaryNetworkInterfaceArgs struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // This URL of the interface + Href pulumi.StringInput `pulumi:"href"` + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + PortSpeed pulumi.IntInput `pulumi:"portSpeed"` + // IPv4, The IP address. + PrimaryIps GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsBareMetalServerPrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkInterfaceArgs) ToGetIsBareMetalServerPrimaryNetworkInterfaceOutput() GetIsBareMetalServerPrimaryNetworkInterfaceOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkInterfaceArgs) ToGetIsBareMetalServerPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkInterfaceOutput) +} + +// GetIsBareMetalServerPrimaryNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkInterfaceArray and GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkInterfaceArray{ GetIsBareMetalServerPrimaryNetworkInterfaceArgs{...} } +type GetIsBareMetalServerPrimaryNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput() GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput + ToGetIsBareMetalServerPrimaryNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkInterfaceArray []GetIsBareMetalServerPrimaryNetworkInterfaceInput + +func (GetIsBareMetalServerPrimaryNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkInterfaceArray) ToGetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput() GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkInterfaceArray) ToGetIsBareMetalServerPrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) ToGetIsBareMetalServerPrimaryNetworkInterfaceOutput() GetIsBareMetalServerPrimaryNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) ToGetIsBareMetalServerPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkInterfaceOutput { + return o +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterface) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// This URL of the interface +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterface) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +// IPv4, The IP address. +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) PrimaryIps() GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterface) []GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput) ToGetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput() GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput) ToGetIsBareMetalServerPrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkInterface { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkInterfaceOutput) +} + +type GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp struct { + // The globally unique IP address + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs and GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput` via: +// +// GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs{...} +type GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput + ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput +} + +type GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs struct { + // The globally unique IP address + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) +} + +// GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArray and GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArray{ GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs{...} } +type GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput + ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArray []GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput + +func (GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput() GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +// The globally unique IP address +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp { + return vs[0].([]GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput) +} + +type GetIsBareMetalServerProfileBandwidth struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsBareMetalServerProfileBandwidthInput is an input type that accepts GetIsBareMetalServerProfileBandwidthArgs and GetIsBareMetalServerProfileBandwidthOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileBandwidthInput` via: +// +// GetIsBareMetalServerProfileBandwidthArgs{...} +type GetIsBareMetalServerProfileBandwidthInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileBandwidthOutput() GetIsBareMetalServerProfileBandwidthOutput + ToGetIsBareMetalServerProfileBandwidthOutputWithContext(context.Context) GetIsBareMetalServerProfileBandwidthOutput +} + +type GetIsBareMetalServerProfileBandwidthArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfileBandwidthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileBandwidth)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileBandwidthArgs) ToGetIsBareMetalServerProfileBandwidthOutput() GetIsBareMetalServerProfileBandwidthOutput { + return i.ToGetIsBareMetalServerProfileBandwidthOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileBandwidthArgs) ToGetIsBareMetalServerProfileBandwidthOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileBandwidthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileBandwidthOutput) +} + +// GetIsBareMetalServerProfileBandwidthArrayInput is an input type that accepts GetIsBareMetalServerProfileBandwidthArray and GetIsBareMetalServerProfileBandwidthArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileBandwidthArrayInput` via: +// +// GetIsBareMetalServerProfileBandwidthArray{ GetIsBareMetalServerProfileBandwidthArgs{...} } +type GetIsBareMetalServerProfileBandwidthArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileBandwidthArrayOutput() GetIsBareMetalServerProfileBandwidthArrayOutput + ToGetIsBareMetalServerProfileBandwidthArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileBandwidthArrayOutput +} + +type GetIsBareMetalServerProfileBandwidthArray []GetIsBareMetalServerProfileBandwidthInput + +func (GetIsBareMetalServerProfileBandwidthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileBandwidth)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileBandwidthArray) ToGetIsBareMetalServerProfileBandwidthArrayOutput() GetIsBareMetalServerProfileBandwidthArrayOutput { + return i.ToGetIsBareMetalServerProfileBandwidthArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileBandwidthArray) ToGetIsBareMetalServerProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileBandwidthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileBandwidthArrayOutput) +} + +type GetIsBareMetalServerProfileBandwidthOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileBandwidthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileBandwidth)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileBandwidthOutput) ToGetIsBareMetalServerProfileBandwidthOutput() GetIsBareMetalServerProfileBandwidthOutput { + return o +} + +func (o GetIsBareMetalServerProfileBandwidthOutput) ToGetIsBareMetalServerProfileBandwidthOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileBandwidthOutput { + return o +} + +// The default value for this profile field. +func (o GetIsBareMetalServerProfileBandwidthOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileBandwidth) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsBareMetalServerProfileBandwidthOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileBandwidth) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsBareMetalServerProfileBandwidthOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileBandwidth) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsBareMetalServerProfileBandwidthOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileBandwidth) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileBandwidthOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileBandwidth) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfileBandwidthOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileBandwidth) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsBareMetalServerProfileBandwidthOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileBandwidth) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsBareMetalServerProfileBandwidthArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileBandwidthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileBandwidth)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileBandwidthArrayOutput) ToGetIsBareMetalServerProfileBandwidthArrayOutput() GetIsBareMetalServerProfileBandwidthArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileBandwidthArrayOutput) ToGetIsBareMetalServerProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileBandwidthArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileBandwidthArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileBandwidthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileBandwidth { + return vs[0].([]GetIsBareMetalServerProfileBandwidth)[vs[1].(int)] + }).(GetIsBareMetalServerProfileBandwidthOutput) +} + +type GetIsBareMetalServerProfileConsoleType struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The console types for a bare metal server with this profile. + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfileConsoleTypeInput is an input type that accepts GetIsBareMetalServerProfileConsoleTypeArgs and GetIsBareMetalServerProfileConsoleTypeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileConsoleTypeInput` via: +// +// GetIsBareMetalServerProfileConsoleTypeArgs{...} +type GetIsBareMetalServerProfileConsoleTypeInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileConsoleTypeOutput() GetIsBareMetalServerProfileConsoleTypeOutput + ToGetIsBareMetalServerProfileConsoleTypeOutputWithContext(context.Context) GetIsBareMetalServerProfileConsoleTypeOutput +} + +type GetIsBareMetalServerProfileConsoleTypeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The console types for a bare metal server with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfileConsoleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileConsoleType)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileConsoleTypeArgs) ToGetIsBareMetalServerProfileConsoleTypeOutput() GetIsBareMetalServerProfileConsoleTypeOutput { + return i.ToGetIsBareMetalServerProfileConsoleTypeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileConsoleTypeArgs) ToGetIsBareMetalServerProfileConsoleTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileConsoleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileConsoleTypeOutput) +} + +// GetIsBareMetalServerProfileConsoleTypeArrayInput is an input type that accepts GetIsBareMetalServerProfileConsoleTypeArray and GetIsBareMetalServerProfileConsoleTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileConsoleTypeArrayInput` via: +// +// GetIsBareMetalServerProfileConsoleTypeArray{ GetIsBareMetalServerProfileConsoleTypeArgs{...} } +type GetIsBareMetalServerProfileConsoleTypeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileConsoleTypeArrayOutput() GetIsBareMetalServerProfileConsoleTypeArrayOutput + ToGetIsBareMetalServerProfileConsoleTypeArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileConsoleTypeArrayOutput +} + +type GetIsBareMetalServerProfileConsoleTypeArray []GetIsBareMetalServerProfileConsoleTypeInput + +func (GetIsBareMetalServerProfileConsoleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileConsoleType)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileConsoleTypeArray) ToGetIsBareMetalServerProfileConsoleTypeArrayOutput() GetIsBareMetalServerProfileConsoleTypeArrayOutput { + return i.ToGetIsBareMetalServerProfileConsoleTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileConsoleTypeArray) ToGetIsBareMetalServerProfileConsoleTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileConsoleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileConsoleTypeArrayOutput) +} + +type GetIsBareMetalServerProfileConsoleTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileConsoleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileConsoleType)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileConsoleTypeOutput) ToGetIsBareMetalServerProfileConsoleTypeOutput() GetIsBareMetalServerProfileConsoleTypeOutput { + return o +} + +func (o GetIsBareMetalServerProfileConsoleTypeOutput) ToGetIsBareMetalServerProfileConsoleTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileConsoleTypeOutput { + return o +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfileConsoleTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileConsoleType) string { return v.Type }).(pulumi.StringOutput) +} + +// The console types for a bare metal server with this profile. +func (o GetIsBareMetalServerProfileConsoleTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileConsoleType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfileConsoleTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileConsoleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileConsoleType)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileConsoleTypeArrayOutput) ToGetIsBareMetalServerProfileConsoleTypeArrayOutput() GetIsBareMetalServerProfileConsoleTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileConsoleTypeArrayOutput) ToGetIsBareMetalServerProfileConsoleTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileConsoleTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileConsoleTypeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileConsoleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileConsoleType { + return vs[0].([]GetIsBareMetalServerProfileConsoleType)[vs[1].(int)] + }).(GetIsBareMetalServerProfileConsoleTypeOutput) +} + +type GetIsBareMetalServerProfileCpuArchitecture struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value string `pulumi:"value"` +} + +// GetIsBareMetalServerProfileCpuArchitectureInput is an input type that accepts GetIsBareMetalServerProfileCpuArchitectureArgs and GetIsBareMetalServerProfileCpuArchitectureOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileCpuArchitectureInput` via: +// +// GetIsBareMetalServerProfileCpuArchitectureArgs{...} +type GetIsBareMetalServerProfileCpuArchitectureInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileCpuArchitectureOutput() GetIsBareMetalServerProfileCpuArchitectureOutput + ToGetIsBareMetalServerProfileCpuArchitectureOutputWithContext(context.Context) GetIsBareMetalServerProfileCpuArchitectureOutput +} + +type GetIsBareMetalServerProfileCpuArchitectureArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfileCpuArchitectureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileCpuArchitecture)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileCpuArchitectureArgs) ToGetIsBareMetalServerProfileCpuArchitectureOutput() GetIsBareMetalServerProfileCpuArchitectureOutput { + return i.ToGetIsBareMetalServerProfileCpuArchitectureOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileCpuArchitectureArgs) ToGetIsBareMetalServerProfileCpuArchitectureOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuArchitectureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileCpuArchitectureOutput) +} + +// GetIsBareMetalServerProfileCpuArchitectureArrayInput is an input type that accepts GetIsBareMetalServerProfileCpuArchitectureArray and GetIsBareMetalServerProfileCpuArchitectureArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileCpuArchitectureArrayInput` via: +// +// GetIsBareMetalServerProfileCpuArchitectureArray{ GetIsBareMetalServerProfileCpuArchitectureArgs{...} } +type GetIsBareMetalServerProfileCpuArchitectureArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileCpuArchitectureArrayOutput() GetIsBareMetalServerProfileCpuArchitectureArrayOutput + ToGetIsBareMetalServerProfileCpuArchitectureArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileCpuArchitectureArrayOutput +} + +type GetIsBareMetalServerProfileCpuArchitectureArray []GetIsBareMetalServerProfileCpuArchitectureInput + +func (GetIsBareMetalServerProfileCpuArchitectureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileCpuArchitecture)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileCpuArchitectureArray) ToGetIsBareMetalServerProfileCpuArchitectureArrayOutput() GetIsBareMetalServerProfileCpuArchitectureArrayOutput { + return i.ToGetIsBareMetalServerProfileCpuArchitectureArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileCpuArchitectureArray) ToGetIsBareMetalServerProfileCpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuArchitectureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileCpuArchitectureArrayOutput) +} + +type GetIsBareMetalServerProfileCpuArchitectureOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileCpuArchitectureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileCpuArchitecture)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileCpuArchitectureOutput) ToGetIsBareMetalServerProfileCpuArchitectureOutput() GetIsBareMetalServerProfileCpuArchitectureOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuArchitectureOutput) ToGetIsBareMetalServerProfileCpuArchitectureOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuArchitectureOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileCpuArchitectureOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileCpuArchitecture) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfileCpuArchitectureOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileCpuArchitecture) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerProfileCpuArchitectureArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileCpuArchitectureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileCpuArchitecture)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileCpuArchitectureArrayOutput) ToGetIsBareMetalServerProfileCpuArchitectureArrayOutput() GetIsBareMetalServerProfileCpuArchitectureArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuArchitectureArrayOutput) ToGetIsBareMetalServerProfileCpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuArchitectureArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuArchitectureArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileCpuArchitectureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileCpuArchitecture { + return vs[0].([]GetIsBareMetalServerProfileCpuArchitecture)[vs[1].(int)] + }).(GetIsBareMetalServerProfileCpuArchitectureOutput) +} + +type GetIsBareMetalServerProfileCpuCoreCount struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfileCpuCoreCountInput is an input type that accepts GetIsBareMetalServerProfileCpuCoreCountArgs and GetIsBareMetalServerProfileCpuCoreCountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileCpuCoreCountInput` via: +// +// GetIsBareMetalServerProfileCpuCoreCountArgs{...} +type GetIsBareMetalServerProfileCpuCoreCountInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileCpuCoreCountOutput() GetIsBareMetalServerProfileCpuCoreCountOutput + ToGetIsBareMetalServerProfileCpuCoreCountOutputWithContext(context.Context) GetIsBareMetalServerProfileCpuCoreCountOutput +} + +type GetIsBareMetalServerProfileCpuCoreCountArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfileCpuCoreCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileCpuCoreCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileCpuCoreCountArgs) ToGetIsBareMetalServerProfileCpuCoreCountOutput() GetIsBareMetalServerProfileCpuCoreCountOutput { + return i.ToGetIsBareMetalServerProfileCpuCoreCountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileCpuCoreCountArgs) ToGetIsBareMetalServerProfileCpuCoreCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuCoreCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileCpuCoreCountOutput) +} + +// GetIsBareMetalServerProfileCpuCoreCountArrayInput is an input type that accepts GetIsBareMetalServerProfileCpuCoreCountArray and GetIsBareMetalServerProfileCpuCoreCountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileCpuCoreCountArrayInput` via: +// +// GetIsBareMetalServerProfileCpuCoreCountArray{ GetIsBareMetalServerProfileCpuCoreCountArgs{...} } +type GetIsBareMetalServerProfileCpuCoreCountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileCpuCoreCountArrayOutput() GetIsBareMetalServerProfileCpuCoreCountArrayOutput + ToGetIsBareMetalServerProfileCpuCoreCountArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileCpuCoreCountArrayOutput +} + +type GetIsBareMetalServerProfileCpuCoreCountArray []GetIsBareMetalServerProfileCpuCoreCountInput + +func (GetIsBareMetalServerProfileCpuCoreCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileCpuCoreCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileCpuCoreCountArray) ToGetIsBareMetalServerProfileCpuCoreCountArrayOutput() GetIsBareMetalServerProfileCpuCoreCountArrayOutput { + return i.ToGetIsBareMetalServerProfileCpuCoreCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileCpuCoreCountArray) ToGetIsBareMetalServerProfileCpuCoreCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuCoreCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileCpuCoreCountArrayOutput) +} + +type GetIsBareMetalServerProfileCpuCoreCountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileCpuCoreCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileCpuCoreCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileCpuCoreCountOutput) ToGetIsBareMetalServerProfileCpuCoreCountOutput() GetIsBareMetalServerProfileCpuCoreCountOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuCoreCountOutput) ToGetIsBareMetalServerProfileCpuCoreCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuCoreCountOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileCpuCoreCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileCpuCoreCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfileCpuCoreCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileCpuCoreCount) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfileCpuCoreCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileCpuCoreCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileCpuCoreCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileCpuCoreCountArrayOutput) ToGetIsBareMetalServerProfileCpuCoreCountArrayOutput() GetIsBareMetalServerProfileCpuCoreCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuCoreCountArrayOutput) ToGetIsBareMetalServerProfileCpuCoreCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuCoreCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuCoreCountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileCpuCoreCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileCpuCoreCount { + return vs[0].([]GetIsBareMetalServerProfileCpuCoreCount)[vs[1].(int)] + }).(GetIsBareMetalServerProfileCpuCoreCountOutput) +} + +type GetIsBareMetalServerProfileCpuSocketCount struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfileCpuSocketCountInput is an input type that accepts GetIsBareMetalServerProfileCpuSocketCountArgs and GetIsBareMetalServerProfileCpuSocketCountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileCpuSocketCountInput` via: +// +// GetIsBareMetalServerProfileCpuSocketCountArgs{...} +type GetIsBareMetalServerProfileCpuSocketCountInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileCpuSocketCountOutput() GetIsBareMetalServerProfileCpuSocketCountOutput + ToGetIsBareMetalServerProfileCpuSocketCountOutputWithContext(context.Context) GetIsBareMetalServerProfileCpuSocketCountOutput +} + +type GetIsBareMetalServerProfileCpuSocketCountArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfileCpuSocketCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileCpuSocketCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileCpuSocketCountArgs) ToGetIsBareMetalServerProfileCpuSocketCountOutput() GetIsBareMetalServerProfileCpuSocketCountOutput { + return i.ToGetIsBareMetalServerProfileCpuSocketCountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileCpuSocketCountArgs) ToGetIsBareMetalServerProfileCpuSocketCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuSocketCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileCpuSocketCountOutput) +} + +// GetIsBareMetalServerProfileCpuSocketCountArrayInput is an input type that accepts GetIsBareMetalServerProfileCpuSocketCountArray and GetIsBareMetalServerProfileCpuSocketCountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileCpuSocketCountArrayInput` via: +// +// GetIsBareMetalServerProfileCpuSocketCountArray{ GetIsBareMetalServerProfileCpuSocketCountArgs{...} } +type GetIsBareMetalServerProfileCpuSocketCountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileCpuSocketCountArrayOutput() GetIsBareMetalServerProfileCpuSocketCountArrayOutput + ToGetIsBareMetalServerProfileCpuSocketCountArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileCpuSocketCountArrayOutput +} + +type GetIsBareMetalServerProfileCpuSocketCountArray []GetIsBareMetalServerProfileCpuSocketCountInput + +func (GetIsBareMetalServerProfileCpuSocketCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileCpuSocketCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileCpuSocketCountArray) ToGetIsBareMetalServerProfileCpuSocketCountArrayOutput() GetIsBareMetalServerProfileCpuSocketCountArrayOutput { + return i.ToGetIsBareMetalServerProfileCpuSocketCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileCpuSocketCountArray) ToGetIsBareMetalServerProfileCpuSocketCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuSocketCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileCpuSocketCountArrayOutput) +} + +type GetIsBareMetalServerProfileCpuSocketCountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileCpuSocketCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileCpuSocketCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileCpuSocketCountOutput) ToGetIsBareMetalServerProfileCpuSocketCountOutput() GetIsBareMetalServerProfileCpuSocketCountOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuSocketCountOutput) ToGetIsBareMetalServerProfileCpuSocketCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuSocketCountOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileCpuSocketCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileCpuSocketCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfileCpuSocketCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileCpuSocketCount) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfileCpuSocketCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileCpuSocketCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileCpuSocketCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileCpuSocketCountArrayOutput) ToGetIsBareMetalServerProfileCpuSocketCountArrayOutput() GetIsBareMetalServerProfileCpuSocketCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuSocketCountArrayOutput) ToGetIsBareMetalServerProfileCpuSocketCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileCpuSocketCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileCpuSocketCountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileCpuSocketCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileCpuSocketCount { + return vs[0].([]GetIsBareMetalServerProfileCpuSocketCount)[vs[1].(int)] + }).(GetIsBareMetalServerProfileCpuSocketCountOutput) +} + +type GetIsBareMetalServerProfileDisk struct { + // The number of disks of this configuration for a bare metal server with this profile + Quantities []GetIsBareMetalServerProfileDiskQuantity `pulumi:"quantities"` + // The size of the disk in GB (gigabytes) + Sizes []GetIsBareMetalServerProfileDiskSize `pulumi:"sizes"` + // The disk interface used for attaching the disk. + SupportedInterfaceTypes []GetIsBareMetalServerProfileDiskSupportedInterfaceType `pulumi:"supportedInterfaceTypes"` +} + +// GetIsBareMetalServerProfileDiskInput is an input type that accepts GetIsBareMetalServerProfileDiskArgs and GetIsBareMetalServerProfileDiskOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileDiskInput` via: +// +// GetIsBareMetalServerProfileDiskArgs{...} +type GetIsBareMetalServerProfileDiskInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileDiskOutput() GetIsBareMetalServerProfileDiskOutput + ToGetIsBareMetalServerProfileDiskOutputWithContext(context.Context) GetIsBareMetalServerProfileDiskOutput +} + +type GetIsBareMetalServerProfileDiskArgs struct { + // The number of disks of this configuration for a bare metal server with this profile + Quantities GetIsBareMetalServerProfileDiskQuantityArrayInput `pulumi:"quantities"` + // The size of the disk in GB (gigabytes) + Sizes GetIsBareMetalServerProfileDiskSizeArrayInput `pulumi:"sizes"` + // The disk interface used for attaching the disk. + SupportedInterfaceTypes GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayInput `pulumi:"supportedInterfaceTypes"` +} + +func (GetIsBareMetalServerProfileDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileDisk)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileDiskArgs) ToGetIsBareMetalServerProfileDiskOutput() GetIsBareMetalServerProfileDiskOutput { + return i.ToGetIsBareMetalServerProfileDiskOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileDiskArgs) ToGetIsBareMetalServerProfileDiskOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileDiskOutput) +} + +// GetIsBareMetalServerProfileDiskArrayInput is an input type that accepts GetIsBareMetalServerProfileDiskArray and GetIsBareMetalServerProfileDiskArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileDiskArrayInput` via: +// +// GetIsBareMetalServerProfileDiskArray{ GetIsBareMetalServerProfileDiskArgs{...} } +type GetIsBareMetalServerProfileDiskArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileDiskArrayOutput() GetIsBareMetalServerProfileDiskArrayOutput + ToGetIsBareMetalServerProfileDiskArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileDiskArrayOutput +} + +type GetIsBareMetalServerProfileDiskArray []GetIsBareMetalServerProfileDiskInput + +func (GetIsBareMetalServerProfileDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileDisk)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileDiskArray) ToGetIsBareMetalServerProfileDiskArrayOutput() GetIsBareMetalServerProfileDiskArrayOutput { + return i.ToGetIsBareMetalServerProfileDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileDiskArray) ToGetIsBareMetalServerProfileDiskArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileDiskArrayOutput) +} + +type GetIsBareMetalServerProfileDiskOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileDisk)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileDiskOutput) ToGetIsBareMetalServerProfileDiskOutput() GetIsBareMetalServerProfileDiskOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskOutput) ToGetIsBareMetalServerProfileDiskOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskOutput { + return o +} + +// The number of disks of this configuration for a bare metal server with this profile +func (o GetIsBareMetalServerProfileDiskOutput) Quantities() GetIsBareMetalServerProfileDiskQuantityArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDisk) []GetIsBareMetalServerProfileDiskQuantity { return v.Quantities }).(GetIsBareMetalServerProfileDiskQuantityArrayOutput) +} + +// The size of the disk in GB (gigabytes) +func (o GetIsBareMetalServerProfileDiskOutput) Sizes() GetIsBareMetalServerProfileDiskSizeArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDisk) []GetIsBareMetalServerProfileDiskSize { return v.Sizes }).(GetIsBareMetalServerProfileDiskSizeArrayOutput) +} + +// The disk interface used for attaching the disk. +func (o GetIsBareMetalServerProfileDiskOutput) SupportedInterfaceTypes() GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDisk) []GetIsBareMetalServerProfileDiskSupportedInterfaceType { + return v.SupportedInterfaceTypes + }).(GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput) +} + +type GetIsBareMetalServerProfileDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileDisk)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileDiskArrayOutput) ToGetIsBareMetalServerProfileDiskArrayOutput() GetIsBareMetalServerProfileDiskArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskArrayOutput) ToGetIsBareMetalServerProfileDiskArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileDisk { + return vs[0].([]GetIsBareMetalServerProfileDisk)[vs[1].(int)] + }).(GetIsBareMetalServerProfileDiskOutput) +} + +type GetIsBareMetalServerProfileDiskQuantity struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfileDiskQuantityInput is an input type that accepts GetIsBareMetalServerProfileDiskQuantityArgs and GetIsBareMetalServerProfileDiskQuantityOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileDiskQuantityInput` via: +// +// GetIsBareMetalServerProfileDiskQuantityArgs{...} +type GetIsBareMetalServerProfileDiskQuantityInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileDiskQuantityOutput() GetIsBareMetalServerProfileDiskQuantityOutput + ToGetIsBareMetalServerProfileDiskQuantityOutputWithContext(context.Context) GetIsBareMetalServerProfileDiskQuantityOutput +} + +type GetIsBareMetalServerProfileDiskQuantityArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfileDiskQuantityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileDiskQuantityArgs) ToGetIsBareMetalServerProfileDiskQuantityOutput() GetIsBareMetalServerProfileDiskQuantityOutput { + return i.ToGetIsBareMetalServerProfileDiskQuantityOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileDiskQuantityArgs) ToGetIsBareMetalServerProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskQuantityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileDiskQuantityOutput) +} + +// GetIsBareMetalServerProfileDiskQuantityArrayInput is an input type that accepts GetIsBareMetalServerProfileDiskQuantityArray and GetIsBareMetalServerProfileDiskQuantityArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileDiskQuantityArrayInput` via: +// +// GetIsBareMetalServerProfileDiskQuantityArray{ GetIsBareMetalServerProfileDiskQuantityArgs{...} } +type GetIsBareMetalServerProfileDiskQuantityArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileDiskQuantityArrayOutput() GetIsBareMetalServerProfileDiskQuantityArrayOutput + ToGetIsBareMetalServerProfileDiskQuantityArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileDiskQuantityArrayOutput +} + +type GetIsBareMetalServerProfileDiskQuantityArray []GetIsBareMetalServerProfileDiskQuantityInput + +func (GetIsBareMetalServerProfileDiskQuantityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileDiskQuantityArray) ToGetIsBareMetalServerProfileDiskQuantityArrayOutput() GetIsBareMetalServerProfileDiskQuantityArrayOutput { + return i.ToGetIsBareMetalServerProfileDiskQuantityArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileDiskQuantityArray) ToGetIsBareMetalServerProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskQuantityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileDiskQuantityArrayOutput) +} + +type GetIsBareMetalServerProfileDiskQuantityOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileDiskQuantityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileDiskQuantityOutput) ToGetIsBareMetalServerProfileDiskQuantityOutput() GetIsBareMetalServerProfileDiskQuantityOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskQuantityOutput) ToGetIsBareMetalServerProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskQuantityOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileDiskQuantityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDiskQuantity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfileDiskQuantityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDiskQuantity) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfileDiskQuantityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileDiskQuantityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileDiskQuantityArrayOutput) ToGetIsBareMetalServerProfileDiskQuantityArrayOutput() GetIsBareMetalServerProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskQuantityArrayOutput) ToGetIsBareMetalServerProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskQuantityArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileDiskQuantityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileDiskQuantity { + return vs[0].([]GetIsBareMetalServerProfileDiskQuantity)[vs[1].(int)] + }).(GetIsBareMetalServerProfileDiskQuantityOutput) +} + +type GetIsBareMetalServerProfileDiskSize struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfileDiskSizeInput is an input type that accepts GetIsBareMetalServerProfileDiskSizeArgs and GetIsBareMetalServerProfileDiskSizeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileDiskSizeInput` via: +// +// GetIsBareMetalServerProfileDiskSizeArgs{...} +type GetIsBareMetalServerProfileDiskSizeInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileDiskSizeOutput() GetIsBareMetalServerProfileDiskSizeOutput + ToGetIsBareMetalServerProfileDiskSizeOutputWithContext(context.Context) GetIsBareMetalServerProfileDiskSizeOutput +} + +type GetIsBareMetalServerProfileDiskSizeArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfileDiskSizeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileDiskSize)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileDiskSizeArgs) ToGetIsBareMetalServerProfileDiskSizeOutput() GetIsBareMetalServerProfileDiskSizeOutput { + return i.ToGetIsBareMetalServerProfileDiskSizeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileDiskSizeArgs) ToGetIsBareMetalServerProfileDiskSizeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskSizeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileDiskSizeOutput) +} + +// GetIsBareMetalServerProfileDiskSizeArrayInput is an input type that accepts GetIsBareMetalServerProfileDiskSizeArray and GetIsBareMetalServerProfileDiskSizeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileDiskSizeArrayInput` via: +// +// GetIsBareMetalServerProfileDiskSizeArray{ GetIsBareMetalServerProfileDiskSizeArgs{...} } +type GetIsBareMetalServerProfileDiskSizeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileDiskSizeArrayOutput() GetIsBareMetalServerProfileDiskSizeArrayOutput + ToGetIsBareMetalServerProfileDiskSizeArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileDiskSizeArrayOutput +} + +type GetIsBareMetalServerProfileDiskSizeArray []GetIsBareMetalServerProfileDiskSizeInput + +func (GetIsBareMetalServerProfileDiskSizeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileDiskSize)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileDiskSizeArray) ToGetIsBareMetalServerProfileDiskSizeArrayOutput() GetIsBareMetalServerProfileDiskSizeArrayOutput { + return i.ToGetIsBareMetalServerProfileDiskSizeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileDiskSizeArray) ToGetIsBareMetalServerProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskSizeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileDiskSizeArrayOutput) +} + +type GetIsBareMetalServerProfileDiskSizeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileDiskSizeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileDiskSize)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileDiskSizeOutput) ToGetIsBareMetalServerProfileDiskSizeOutput() GetIsBareMetalServerProfileDiskSizeOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskSizeOutput) ToGetIsBareMetalServerProfileDiskSizeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskSizeOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileDiskSizeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDiskSize) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfileDiskSizeOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDiskSize) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfileDiskSizeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileDiskSizeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileDiskSize)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileDiskSizeArrayOutput) ToGetIsBareMetalServerProfileDiskSizeArrayOutput() GetIsBareMetalServerProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskSizeArrayOutput) ToGetIsBareMetalServerProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskSizeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileDiskSizeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileDiskSize { + return vs[0].([]GetIsBareMetalServerProfileDiskSize)[vs[1].(int)] + }).(GetIsBareMetalServerProfileDiskSizeOutput) +} + +type GetIsBareMetalServerProfileDiskSupportedInterfaceType struct { + // The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Default string `pulumi:"default"` + // The type for this profile field + Type string `pulumi:"type"` + // The supported disk interfaces used for attaching the disk + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfileDiskSupportedInterfaceTypeInput is an input type that accepts GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArgs and GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileDiskSupportedInterfaceTypeInput` via: +// +// GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArgs{...} +type GetIsBareMetalServerProfileDiskSupportedInterfaceTypeInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput() GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput + ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutputWithContext(context.Context) GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput +} + +type GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArgs struct { + // The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The supported disk interfaces used for attaching the disk + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArgs) ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput() GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput { + return i.ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArgs) ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput) +} + +// GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayInput is an input type that accepts GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArray and GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayInput` via: +// +// GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArray{ GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArgs{...} } +type GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput() GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput + ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput +} + +type GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArray []GetIsBareMetalServerProfileDiskSupportedInterfaceTypeInput + +func (GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArray) ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput() GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput { + return i.ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArray) ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput) +} + +type GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput) ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput() GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput) ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput { + return o +} + +// The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDiskSupportedInterfaceType) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDiskSupportedInterfaceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported disk interfaces used for attaching the disk +func (o GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileDiskSupportedInterfaceType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput) ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput() GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput) ToGetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileDiskSupportedInterfaceType { + return vs[0].([]GetIsBareMetalServerProfileDiskSupportedInterfaceType)[vs[1].(int)] + }).(GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput) +} + +type GetIsBareMetalServerProfileMemory struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfileMemoryInput is an input type that accepts GetIsBareMetalServerProfileMemoryArgs and GetIsBareMetalServerProfileMemoryOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileMemoryInput` via: +// +// GetIsBareMetalServerProfileMemoryArgs{...} +type GetIsBareMetalServerProfileMemoryInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileMemoryOutput() GetIsBareMetalServerProfileMemoryOutput + ToGetIsBareMetalServerProfileMemoryOutputWithContext(context.Context) GetIsBareMetalServerProfileMemoryOutput +} + +type GetIsBareMetalServerProfileMemoryArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfileMemoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileMemory)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileMemoryArgs) ToGetIsBareMetalServerProfileMemoryOutput() GetIsBareMetalServerProfileMemoryOutput { + return i.ToGetIsBareMetalServerProfileMemoryOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileMemoryArgs) ToGetIsBareMetalServerProfileMemoryOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileMemoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileMemoryOutput) +} + +// GetIsBareMetalServerProfileMemoryArrayInput is an input type that accepts GetIsBareMetalServerProfileMemoryArray and GetIsBareMetalServerProfileMemoryArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileMemoryArrayInput` via: +// +// GetIsBareMetalServerProfileMemoryArray{ GetIsBareMetalServerProfileMemoryArgs{...} } +type GetIsBareMetalServerProfileMemoryArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileMemoryArrayOutput() GetIsBareMetalServerProfileMemoryArrayOutput + ToGetIsBareMetalServerProfileMemoryArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileMemoryArrayOutput +} + +type GetIsBareMetalServerProfileMemoryArray []GetIsBareMetalServerProfileMemoryInput + +func (GetIsBareMetalServerProfileMemoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileMemory)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileMemoryArray) ToGetIsBareMetalServerProfileMemoryArrayOutput() GetIsBareMetalServerProfileMemoryArrayOutput { + return i.ToGetIsBareMetalServerProfileMemoryArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileMemoryArray) ToGetIsBareMetalServerProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileMemoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileMemoryArrayOutput) +} + +type GetIsBareMetalServerProfileMemoryOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileMemoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileMemory)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileMemoryOutput) ToGetIsBareMetalServerProfileMemoryOutput() GetIsBareMetalServerProfileMemoryOutput { + return o +} + +func (o GetIsBareMetalServerProfileMemoryOutput) ToGetIsBareMetalServerProfileMemoryOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileMemoryOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileMemoryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileMemory) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfileMemoryOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileMemory) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfileMemoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileMemoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileMemory)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileMemoryArrayOutput) ToGetIsBareMetalServerProfileMemoryArrayOutput() GetIsBareMetalServerProfileMemoryArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileMemoryArrayOutput) ToGetIsBareMetalServerProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileMemoryArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileMemoryArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileMemoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileMemory { + return vs[0].([]GetIsBareMetalServerProfileMemory)[vs[1].(int)] + }).(GetIsBareMetalServerProfileMemoryOutput) +} + +type GetIsBareMetalServerProfileNetworkAttachmentCount struct { + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The type for this profile field. + Type string `pulumi:"type"` +} + +// GetIsBareMetalServerProfileNetworkAttachmentCountInput is an input type that accepts GetIsBareMetalServerProfileNetworkAttachmentCountArgs and GetIsBareMetalServerProfileNetworkAttachmentCountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileNetworkAttachmentCountInput` via: +// +// GetIsBareMetalServerProfileNetworkAttachmentCountArgs{...} +type GetIsBareMetalServerProfileNetworkAttachmentCountInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileNetworkAttachmentCountOutput() GetIsBareMetalServerProfileNetworkAttachmentCountOutput + ToGetIsBareMetalServerProfileNetworkAttachmentCountOutputWithContext(context.Context) GetIsBareMetalServerProfileNetworkAttachmentCountOutput +} + +type GetIsBareMetalServerProfileNetworkAttachmentCountArgs struct { + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsBareMetalServerProfileNetworkAttachmentCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileNetworkAttachmentCountArgs) ToGetIsBareMetalServerProfileNetworkAttachmentCountOutput() GetIsBareMetalServerProfileNetworkAttachmentCountOutput { + return i.ToGetIsBareMetalServerProfileNetworkAttachmentCountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileNetworkAttachmentCountArgs) ToGetIsBareMetalServerProfileNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileNetworkAttachmentCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileNetworkAttachmentCountOutput) +} + +// GetIsBareMetalServerProfileNetworkAttachmentCountArrayInput is an input type that accepts GetIsBareMetalServerProfileNetworkAttachmentCountArray and GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileNetworkAttachmentCountArrayInput` via: +// +// GetIsBareMetalServerProfileNetworkAttachmentCountArray{ GetIsBareMetalServerProfileNetworkAttachmentCountArgs{...} } +type GetIsBareMetalServerProfileNetworkAttachmentCountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput() GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput + ToGetIsBareMetalServerProfileNetworkAttachmentCountArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput +} + +type GetIsBareMetalServerProfileNetworkAttachmentCountArray []GetIsBareMetalServerProfileNetworkAttachmentCountInput + +func (GetIsBareMetalServerProfileNetworkAttachmentCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileNetworkAttachmentCountArray) ToGetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput() GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput { + return i.ToGetIsBareMetalServerProfileNetworkAttachmentCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileNetworkAttachmentCountArray) ToGetIsBareMetalServerProfileNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput) +} + +type GetIsBareMetalServerProfileNetworkAttachmentCountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileNetworkAttachmentCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileNetworkAttachmentCountOutput) ToGetIsBareMetalServerProfileNetworkAttachmentCountOutput() GetIsBareMetalServerProfileNetworkAttachmentCountOutput { + return o +} + +func (o GetIsBareMetalServerProfileNetworkAttachmentCountOutput) ToGetIsBareMetalServerProfileNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileNetworkAttachmentCountOutput { + return o +} + +// The maximum value for this profile field. +func (o GetIsBareMetalServerProfileNetworkAttachmentCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileNetworkAttachmentCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsBareMetalServerProfileNetworkAttachmentCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileNetworkAttachmentCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfileNetworkAttachmentCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileNetworkAttachmentCount) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput) ToGetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput() GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput) ToGetIsBareMetalServerProfileNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileNetworkAttachmentCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileNetworkAttachmentCount { + return vs[0].([]GetIsBareMetalServerProfileNetworkAttachmentCount)[vs[1].(int)] + }).(GetIsBareMetalServerProfileNetworkAttachmentCountOutput) +} + +type GetIsBareMetalServerProfileNetworkInterfaceCount struct { + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The type for this profile field. + Type string `pulumi:"type"` +} + +// GetIsBareMetalServerProfileNetworkInterfaceCountInput is an input type that accepts GetIsBareMetalServerProfileNetworkInterfaceCountArgs and GetIsBareMetalServerProfileNetworkInterfaceCountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileNetworkInterfaceCountInput` via: +// +// GetIsBareMetalServerProfileNetworkInterfaceCountArgs{...} +type GetIsBareMetalServerProfileNetworkInterfaceCountInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileNetworkInterfaceCountOutput() GetIsBareMetalServerProfileNetworkInterfaceCountOutput + ToGetIsBareMetalServerProfileNetworkInterfaceCountOutputWithContext(context.Context) GetIsBareMetalServerProfileNetworkInterfaceCountOutput +} + +type GetIsBareMetalServerProfileNetworkInterfaceCountArgs struct { + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsBareMetalServerProfileNetworkInterfaceCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileNetworkInterfaceCountArgs) ToGetIsBareMetalServerProfileNetworkInterfaceCountOutput() GetIsBareMetalServerProfileNetworkInterfaceCountOutput { + return i.ToGetIsBareMetalServerProfileNetworkInterfaceCountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileNetworkInterfaceCountArgs) ToGetIsBareMetalServerProfileNetworkInterfaceCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileNetworkInterfaceCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileNetworkInterfaceCountOutput) +} + +// GetIsBareMetalServerProfileNetworkInterfaceCountArrayInput is an input type that accepts GetIsBareMetalServerProfileNetworkInterfaceCountArray and GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileNetworkInterfaceCountArrayInput` via: +// +// GetIsBareMetalServerProfileNetworkInterfaceCountArray{ GetIsBareMetalServerProfileNetworkInterfaceCountArgs{...} } +type GetIsBareMetalServerProfileNetworkInterfaceCountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput() GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput + ToGetIsBareMetalServerProfileNetworkInterfaceCountArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput +} + +type GetIsBareMetalServerProfileNetworkInterfaceCountArray []GetIsBareMetalServerProfileNetworkInterfaceCountInput + +func (GetIsBareMetalServerProfileNetworkInterfaceCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileNetworkInterfaceCountArray) ToGetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput() GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput { + return i.ToGetIsBareMetalServerProfileNetworkInterfaceCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileNetworkInterfaceCountArray) ToGetIsBareMetalServerProfileNetworkInterfaceCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput) +} + +type GetIsBareMetalServerProfileNetworkInterfaceCountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileNetworkInterfaceCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileNetworkInterfaceCountOutput) ToGetIsBareMetalServerProfileNetworkInterfaceCountOutput() GetIsBareMetalServerProfileNetworkInterfaceCountOutput { + return o +} + +func (o GetIsBareMetalServerProfileNetworkInterfaceCountOutput) ToGetIsBareMetalServerProfileNetworkInterfaceCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileNetworkInterfaceCountOutput { + return o +} + +// The maximum value for this profile field. +func (o GetIsBareMetalServerProfileNetworkInterfaceCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileNetworkInterfaceCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsBareMetalServerProfileNetworkInterfaceCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileNetworkInterfaceCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfileNetworkInterfaceCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileNetworkInterfaceCount) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput) ToGetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput() GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput) ToGetIsBareMetalServerProfileNetworkInterfaceCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileNetworkInterfaceCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileNetworkInterfaceCount { + return vs[0].([]GetIsBareMetalServerProfileNetworkInterfaceCount)[vs[1].(int)] + }).(GetIsBareMetalServerProfileNetworkInterfaceCountOutput) +} + +type GetIsBareMetalServerProfileOsArchitecture struct { + // The default for this profile field + Default string `pulumi:"default"` + // The type for this profile field + Type string `pulumi:"type"` + // The supported OS architecture(s) for a bare metal server with this profile + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfileOsArchitectureInput is an input type that accepts GetIsBareMetalServerProfileOsArchitectureArgs and GetIsBareMetalServerProfileOsArchitectureOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileOsArchitectureInput` via: +// +// GetIsBareMetalServerProfileOsArchitectureArgs{...} +type GetIsBareMetalServerProfileOsArchitectureInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileOsArchitectureOutput() GetIsBareMetalServerProfileOsArchitectureOutput + ToGetIsBareMetalServerProfileOsArchitectureOutputWithContext(context.Context) GetIsBareMetalServerProfileOsArchitectureOutput +} + +type GetIsBareMetalServerProfileOsArchitectureArgs struct { + // The default for this profile field + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The supported OS architecture(s) for a bare metal server with this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfileOsArchitectureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileOsArchitecture)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileOsArchitectureArgs) ToGetIsBareMetalServerProfileOsArchitectureOutput() GetIsBareMetalServerProfileOsArchitectureOutput { + return i.ToGetIsBareMetalServerProfileOsArchitectureOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileOsArchitectureArgs) ToGetIsBareMetalServerProfileOsArchitectureOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileOsArchitectureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileOsArchitectureOutput) +} + +// GetIsBareMetalServerProfileOsArchitectureArrayInput is an input type that accepts GetIsBareMetalServerProfileOsArchitectureArray and GetIsBareMetalServerProfileOsArchitectureArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileOsArchitectureArrayInput` via: +// +// GetIsBareMetalServerProfileOsArchitectureArray{ GetIsBareMetalServerProfileOsArchitectureArgs{...} } +type GetIsBareMetalServerProfileOsArchitectureArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileOsArchitectureArrayOutput() GetIsBareMetalServerProfileOsArchitectureArrayOutput + ToGetIsBareMetalServerProfileOsArchitectureArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileOsArchitectureArrayOutput +} + +type GetIsBareMetalServerProfileOsArchitectureArray []GetIsBareMetalServerProfileOsArchitectureInput + +func (GetIsBareMetalServerProfileOsArchitectureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileOsArchitecture)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileOsArchitectureArray) ToGetIsBareMetalServerProfileOsArchitectureArrayOutput() GetIsBareMetalServerProfileOsArchitectureArrayOutput { + return i.ToGetIsBareMetalServerProfileOsArchitectureArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileOsArchitectureArray) ToGetIsBareMetalServerProfileOsArchitectureArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileOsArchitectureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileOsArchitectureArrayOutput) +} + +type GetIsBareMetalServerProfileOsArchitectureOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileOsArchitectureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileOsArchitecture)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileOsArchitectureOutput) ToGetIsBareMetalServerProfileOsArchitectureOutput() GetIsBareMetalServerProfileOsArchitectureOutput { + return o +} + +func (o GetIsBareMetalServerProfileOsArchitectureOutput) ToGetIsBareMetalServerProfileOsArchitectureOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileOsArchitectureOutput { + return o +} + +// The default for this profile field +func (o GetIsBareMetalServerProfileOsArchitectureOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileOsArchitecture) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileOsArchitectureOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileOsArchitecture) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported OS architecture(s) for a bare metal server with this profile +func (o GetIsBareMetalServerProfileOsArchitectureOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileOsArchitecture) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfileOsArchitectureArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileOsArchitectureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileOsArchitecture)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileOsArchitectureArrayOutput) ToGetIsBareMetalServerProfileOsArchitectureArrayOutput() GetIsBareMetalServerProfileOsArchitectureArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileOsArchitectureArrayOutput) ToGetIsBareMetalServerProfileOsArchitectureArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileOsArchitectureArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileOsArchitectureArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileOsArchitectureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileOsArchitecture { + return vs[0].([]GetIsBareMetalServerProfileOsArchitecture)[vs[1].(int)] + }).(GetIsBareMetalServerProfileOsArchitectureOutput) +} + +type GetIsBareMetalServerProfileReservationTerm struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The supported committed use terms for a reservation using this profile + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfileReservationTermInput is an input type that accepts GetIsBareMetalServerProfileReservationTermArgs and GetIsBareMetalServerProfileReservationTermOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileReservationTermInput` via: +// +// GetIsBareMetalServerProfileReservationTermArgs{...} +type GetIsBareMetalServerProfileReservationTermInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileReservationTermOutput() GetIsBareMetalServerProfileReservationTermOutput + ToGetIsBareMetalServerProfileReservationTermOutputWithContext(context.Context) GetIsBareMetalServerProfileReservationTermOutput +} + +type GetIsBareMetalServerProfileReservationTermArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported committed use terms for a reservation using this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfileReservationTermArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileReservationTerm)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileReservationTermArgs) ToGetIsBareMetalServerProfileReservationTermOutput() GetIsBareMetalServerProfileReservationTermOutput { + return i.ToGetIsBareMetalServerProfileReservationTermOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileReservationTermArgs) ToGetIsBareMetalServerProfileReservationTermOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileReservationTermOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileReservationTermOutput) +} + +// GetIsBareMetalServerProfileReservationTermArrayInput is an input type that accepts GetIsBareMetalServerProfileReservationTermArray and GetIsBareMetalServerProfileReservationTermArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileReservationTermArrayInput` via: +// +// GetIsBareMetalServerProfileReservationTermArray{ GetIsBareMetalServerProfileReservationTermArgs{...} } +type GetIsBareMetalServerProfileReservationTermArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileReservationTermArrayOutput() GetIsBareMetalServerProfileReservationTermArrayOutput + ToGetIsBareMetalServerProfileReservationTermArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileReservationTermArrayOutput +} + +type GetIsBareMetalServerProfileReservationTermArray []GetIsBareMetalServerProfileReservationTermInput + +func (GetIsBareMetalServerProfileReservationTermArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileReservationTerm)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileReservationTermArray) ToGetIsBareMetalServerProfileReservationTermArrayOutput() GetIsBareMetalServerProfileReservationTermArrayOutput { + return i.ToGetIsBareMetalServerProfileReservationTermArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileReservationTermArray) ToGetIsBareMetalServerProfileReservationTermArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileReservationTermArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileReservationTermArrayOutput) +} + +type GetIsBareMetalServerProfileReservationTermOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileReservationTermOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileReservationTerm)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileReservationTermOutput) ToGetIsBareMetalServerProfileReservationTermOutput() GetIsBareMetalServerProfileReservationTermOutput { + return o +} + +func (o GetIsBareMetalServerProfileReservationTermOutput) ToGetIsBareMetalServerProfileReservationTermOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileReservationTermOutput { + return o +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfileReservationTermOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileReservationTerm) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported committed use terms for a reservation using this profile +func (o GetIsBareMetalServerProfileReservationTermOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileReservationTerm) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfileReservationTermArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileReservationTermArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileReservationTerm)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileReservationTermArrayOutput) ToGetIsBareMetalServerProfileReservationTermArrayOutput() GetIsBareMetalServerProfileReservationTermArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileReservationTermArrayOutput) ToGetIsBareMetalServerProfileReservationTermArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileReservationTermArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileReservationTermArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileReservationTermOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileReservationTerm { + return vs[0].([]GetIsBareMetalServerProfileReservationTerm)[vs[1].(int)] + }).(GetIsBareMetalServerProfileReservationTermOutput) +} + +type GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode struct { + // The type for this profile field + Type string `pulumi:"type"` + // The supported trusted platform module (TPM) modes + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeInput is an input type that accepts GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArgs and GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeInput` via: +// +// GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArgs{...} +type GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput() GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput + ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutputWithContext(context.Context) GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput +} + +type GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The supported trusted platform module (TPM) modes + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArgs) ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput() GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput { + return i.ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArgs) ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput) +} + +// GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayInput is an input type that accepts GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArray and GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayInput` via: +// +// GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArray{ GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArgs{...} } +type GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput() GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput + ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput +} + +type GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArray []GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeInput + +func (GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArray) ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput() GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput { + return i.ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArray) ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput) +} + +type GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput) ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput() GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput { + return o +} + +func (o GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput) ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported trusted platform module (TPM) modes +func (o GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput) ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput() GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput) ToGetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode { + return vs[0].([]GetIsBareMetalServerProfileSupportedTrustedPlatformModuleMode)[vs[1].(int)] + }).(GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput) +} + +type GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value bool `pulumi:"value"` +} + +// GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedInput is an input type that accepts GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArgs and GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedInput` via: +// +// GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArgs{...} +type GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput() GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput + ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutputWithContext(context.Context) GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput +} + +type GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.BoolInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArgs) ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput() GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput { + return i.ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArgs) ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput) +} + +// GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayInput is an input type that accepts GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArray and GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayInput` via: +// +// GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArray{ GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArgs{...} } +type GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput() GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput + ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutputWithContext(context.Context) GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput +} + +type GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArray []GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedInput + +func (GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArray) ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput() GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput { + return i.ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArray) ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput) +} + +type GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput) ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput() GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput { + return o +} + +func (o GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput) ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput { + return o +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput) Value() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported) bool { return v.Value }).(pulumi.BoolOutput) +} + +type GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput) ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput() GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput) ToGetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported { + return vs[0].([]GetIsBareMetalServerProfileVirtualNetworkInterfacesSupported)[vs[1].(int)] + }).(GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput) +} + +type GetIsBareMetalServerProfilesProfile struct { + // The total bandwidth (in megabits per second) shared across the network interfaces of a bare metal server with this profile + Bandwidths []GetIsBareMetalServerProfilesProfileBandwidth `pulumi:"bandwidths"` + // The console type configuration for a bare metal server with this profile. + ConsoleTypes []GetIsBareMetalServerProfilesProfileConsoleType `pulumi:"consoleTypes"` + // The CPU architecture for a bare metal server with this profile + CpuArchitectures []GetIsBareMetalServerProfilesProfileCpuArchitecture `pulumi:"cpuArchitectures"` + // The CPU core count for a bare metal server with this profile + CpuCoreCounts []GetIsBareMetalServerProfilesProfileCpuCoreCount `pulumi:"cpuCoreCounts"` + // The number of CPU sockets for a bare metal server with this profile + CpuSocketCounts []GetIsBareMetalServerProfilesProfileCpuSocketCount `pulumi:"cpuSocketCounts"` + // Collection of the bare metal server profile's disks + Disks []GetIsBareMetalServerProfilesProfileDisk `pulumi:"disks"` + // The product family this bare metal server profile belongs to + Family string `pulumi:"family"` + // The URL for this bare metal server profile + Href string `pulumi:"href"` + // The name for this bare metal server profile + Id string `pulumi:"id"` + // The memory (in gibibytes) for a bare metal server with this profile + Memories []GetIsBareMetalServerProfilesProfileMemory `pulumi:"memories"` + // The name for this bare metal server profile + Name string `pulumi:"name"` + NetworkAttachmentCounts []GetIsBareMetalServerProfilesProfileNetworkAttachmentCount `pulumi:"networkAttachmentCounts"` + NetworkInterfaceCounts []GetIsBareMetalServerProfilesProfileNetworkInterfaceCount `pulumi:"networkInterfaceCounts"` + // The supported OS architecture(s) for a bare metal server with this profile + OsArchitectures []GetIsBareMetalServerProfilesProfileOsArchitecture `pulumi:"osArchitectures"` + // The resource type for this bare metal server profile + ResourceType string `pulumi:"resourceType"` + // An array of supported trusted platform module (TPM) modes for this bare metal server profile + SupportedTrustedPlatformModuleModes []GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode `pulumi:"supportedTrustedPlatformModuleModes"` + // Indicates whether this profile supports virtual network interfaces. + VirtualNetworkInterfacesSupporteds []GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported `pulumi:"virtualNetworkInterfacesSupporteds"` +} + +// GetIsBareMetalServerProfilesProfileInput is an input type that accepts GetIsBareMetalServerProfilesProfileArgs and GetIsBareMetalServerProfilesProfileOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileInput` via: +// +// GetIsBareMetalServerProfilesProfileArgs{...} +type GetIsBareMetalServerProfilesProfileInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileOutput() GetIsBareMetalServerProfilesProfileOutput + ToGetIsBareMetalServerProfilesProfileOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileOutput +} + +type GetIsBareMetalServerProfilesProfileArgs struct { + // The total bandwidth (in megabits per second) shared across the network interfaces of a bare metal server with this profile + Bandwidths GetIsBareMetalServerProfilesProfileBandwidthArrayInput `pulumi:"bandwidths"` + // The console type configuration for a bare metal server with this profile. + ConsoleTypes GetIsBareMetalServerProfilesProfileConsoleTypeArrayInput `pulumi:"consoleTypes"` + // The CPU architecture for a bare metal server with this profile + CpuArchitectures GetIsBareMetalServerProfilesProfileCpuArchitectureArrayInput `pulumi:"cpuArchitectures"` + // The CPU core count for a bare metal server with this profile + CpuCoreCounts GetIsBareMetalServerProfilesProfileCpuCoreCountArrayInput `pulumi:"cpuCoreCounts"` + // The number of CPU sockets for a bare metal server with this profile + CpuSocketCounts GetIsBareMetalServerProfilesProfileCpuSocketCountArrayInput `pulumi:"cpuSocketCounts"` + // Collection of the bare metal server profile's disks + Disks GetIsBareMetalServerProfilesProfileDiskArrayInput `pulumi:"disks"` + // The product family this bare metal server profile belongs to + Family pulumi.StringInput `pulumi:"family"` + // The URL for this bare metal server profile + Href pulumi.StringInput `pulumi:"href"` + // The name for this bare metal server profile + Id pulumi.StringInput `pulumi:"id"` + // The memory (in gibibytes) for a bare metal server with this profile + Memories GetIsBareMetalServerProfilesProfileMemoryArrayInput `pulumi:"memories"` + // The name for this bare metal server profile + Name pulumi.StringInput `pulumi:"name"` + NetworkAttachmentCounts GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayInput `pulumi:"networkAttachmentCounts"` + NetworkInterfaceCounts GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayInput `pulumi:"networkInterfaceCounts"` + // The supported OS architecture(s) for a bare metal server with this profile + OsArchitectures GetIsBareMetalServerProfilesProfileOsArchitectureArrayInput `pulumi:"osArchitectures"` + // The resource type for this bare metal server profile + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // An array of supported trusted platform module (TPM) modes for this bare metal server profile + SupportedTrustedPlatformModuleModes GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayInput `pulumi:"supportedTrustedPlatformModuleModes"` + // Indicates whether this profile supports virtual network interfaces. + VirtualNetworkInterfacesSupporteds GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayInput `pulumi:"virtualNetworkInterfacesSupporteds"` +} + +func (GetIsBareMetalServerProfilesProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfile)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileArgs) ToGetIsBareMetalServerProfilesProfileOutput() GetIsBareMetalServerProfilesProfileOutput { + return i.ToGetIsBareMetalServerProfilesProfileOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileArgs) ToGetIsBareMetalServerProfilesProfileOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileOutput) +} + +// GetIsBareMetalServerProfilesProfileArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileArray and GetIsBareMetalServerProfilesProfileArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileArray{ GetIsBareMetalServerProfilesProfileArgs{...} } +type GetIsBareMetalServerProfilesProfileArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileArrayOutput() GetIsBareMetalServerProfilesProfileArrayOutput + ToGetIsBareMetalServerProfilesProfileArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileArrayOutput +} + +type GetIsBareMetalServerProfilesProfileArray []GetIsBareMetalServerProfilesProfileInput + +func (GetIsBareMetalServerProfilesProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfile)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileArray) ToGetIsBareMetalServerProfilesProfileArrayOutput() GetIsBareMetalServerProfilesProfileArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileArray) ToGetIsBareMetalServerProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfile)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileOutput) ToGetIsBareMetalServerProfilesProfileOutput() GetIsBareMetalServerProfilesProfileOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileOutput) ToGetIsBareMetalServerProfilesProfileOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileOutput { + return o +} + +// The total bandwidth (in megabits per second) shared across the network interfaces of a bare metal server with this profile +func (o GetIsBareMetalServerProfilesProfileOutput) Bandwidths() GetIsBareMetalServerProfilesProfileBandwidthArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileBandwidth { + return v.Bandwidths + }).(GetIsBareMetalServerProfilesProfileBandwidthArrayOutput) +} + +// The console type configuration for a bare metal server with this profile. +func (o GetIsBareMetalServerProfilesProfileOutput) ConsoleTypes() GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileConsoleType { + return v.ConsoleTypes + }).(GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput) +} + +// The CPU architecture for a bare metal server with this profile +func (o GetIsBareMetalServerProfilesProfileOutput) CpuArchitectures() GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileCpuArchitecture { + return v.CpuArchitectures + }).(GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput) +} + +// The CPU core count for a bare metal server with this profile +func (o GetIsBareMetalServerProfilesProfileOutput) CpuCoreCounts() GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileCpuCoreCount { + return v.CpuCoreCounts + }).(GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput) +} + +// The number of CPU sockets for a bare metal server with this profile +func (o GetIsBareMetalServerProfilesProfileOutput) CpuSocketCounts() GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileCpuSocketCount { + return v.CpuSocketCounts + }).(GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput) +} + +// Collection of the bare metal server profile's disks +func (o GetIsBareMetalServerProfilesProfileOutput) Disks() GetIsBareMetalServerProfilesProfileDiskArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileDisk { return v.Disks }).(GetIsBareMetalServerProfilesProfileDiskArrayOutput) +} + +// The product family this bare metal server profile belongs to +func (o GetIsBareMetalServerProfilesProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this bare metal server profile +func (o GetIsBareMetalServerProfilesProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The name for this bare metal server profile +func (o GetIsBareMetalServerProfilesProfileOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) string { return v.Id }).(pulumi.StringOutput) +} + +// The memory (in gibibytes) for a bare metal server with this profile +func (o GetIsBareMetalServerProfilesProfileOutput) Memories() GetIsBareMetalServerProfilesProfileMemoryArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileMemory { + return v.Memories + }).(GetIsBareMetalServerProfilesProfileMemoryArrayOutput) +} + +// The name for this bare metal server profile +func (o GetIsBareMetalServerProfilesProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServerProfilesProfileOutput) NetworkAttachmentCounts() GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileNetworkAttachmentCount { + return v.NetworkAttachmentCounts + }).(GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput) +} + +func (o GetIsBareMetalServerProfilesProfileOutput) NetworkInterfaceCounts() GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileNetworkInterfaceCount { + return v.NetworkInterfaceCounts + }).(GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput) +} + +// The supported OS architecture(s) for a bare metal server with this profile +func (o GetIsBareMetalServerProfilesProfileOutput) OsArchitectures() GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileOsArchitecture { + return v.OsArchitectures + }).(GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput) +} + +// The resource type for this bare metal server profile +func (o GetIsBareMetalServerProfilesProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// An array of supported trusted platform module (TPM) modes for this bare metal server profile +func (o GetIsBareMetalServerProfilesProfileOutput) SupportedTrustedPlatformModuleModes() GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode { + return v.SupportedTrustedPlatformModuleModes + }).(GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput) +} + +// Indicates whether this profile supports virtual network interfaces. +func (o GetIsBareMetalServerProfilesProfileOutput) VirtualNetworkInterfacesSupporteds() GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfile) []GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported { + return v.VirtualNetworkInterfacesSupporteds + }).(GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfile)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileArrayOutput) ToGetIsBareMetalServerProfilesProfileArrayOutput() GetIsBareMetalServerProfilesProfileArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileArrayOutput) ToGetIsBareMetalServerProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfile { + return vs[0].([]GetIsBareMetalServerProfilesProfile)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileOutput) +} + +type GetIsBareMetalServerProfilesProfileBandwidth struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsBareMetalServerProfilesProfileBandwidthInput is an input type that accepts GetIsBareMetalServerProfilesProfileBandwidthArgs and GetIsBareMetalServerProfilesProfileBandwidthOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileBandwidthInput` via: +// +// GetIsBareMetalServerProfilesProfileBandwidthArgs{...} +type GetIsBareMetalServerProfilesProfileBandwidthInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileBandwidthOutput() GetIsBareMetalServerProfilesProfileBandwidthOutput + ToGetIsBareMetalServerProfilesProfileBandwidthOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileBandwidthOutput +} + +type GetIsBareMetalServerProfilesProfileBandwidthArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfilesProfileBandwidthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileBandwidth)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileBandwidthArgs) ToGetIsBareMetalServerProfilesProfileBandwidthOutput() GetIsBareMetalServerProfilesProfileBandwidthOutput { + return i.ToGetIsBareMetalServerProfilesProfileBandwidthOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileBandwidthArgs) ToGetIsBareMetalServerProfilesProfileBandwidthOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileBandwidthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileBandwidthOutput) +} + +// GetIsBareMetalServerProfilesProfileBandwidthArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileBandwidthArray and GetIsBareMetalServerProfilesProfileBandwidthArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileBandwidthArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileBandwidthArray{ GetIsBareMetalServerProfilesProfileBandwidthArgs{...} } +type GetIsBareMetalServerProfilesProfileBandwidthArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileBandwidthArrayOutput() GetIsBareMetalServerProfilesProfileBandwidthArrayOutput + ToGetIsBareMetalServerProfilesProfileBandwidthArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileBandwidthArrayOutput +} + +type GetIsBareMetalServerProfilesProfileBandwidthArray []GetIsBareMetalServerProfilesProfileBandwidthInput + +func (GetIsBareMetalServerProfilesProfileBandwidthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileBandwidth)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileBandwidthArray) ToGetIsBareMetalServerProfilesProfileBandwidthArrayOutput() GetIsBareMetalServerProfilesProfileBandwidthArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileBandwidthArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileBandwidthArray) ToGetIsBareMetalServerProfilesProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileBandwidthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileBandwidthArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileBandwidthOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileBandwidthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileBandwidth)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) ToGetIsBareMetalServerProfilesProfileBandwidthOutput() GetIsBareMetalServerProfilesProfileBandwidthOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) ToGetIsBareMetalServerProfilesProfileBandwidthOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileBandwidthOutput { + return o +} + +// The default value for this profile field. +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileBandwidth) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileBandwidth) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileBandwidth) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileBandwidth) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileBandwidth) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileBandwidth) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsBareMetalServerProfilesProfileBandwidthOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileBandwidth) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileBandwidthArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileBandwidthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileBandwidth)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileBandwidthArrayOutput) ToGetIsBareMetalServerProfilesProfileBandwidthArrayOutput() GetIsBareMetalServerProfilesProfileBandwidthArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileBandwidthArrayOutput) ToGetIsBareMetalServerProfilesProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileBandwidthArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileBandwidthArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileBandwidthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileBandwidth { + return vs[0].([]GetIsBareMetalServerProfilesProfileBandwidth)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileBandwidthOutput) +} + +type GetIsBareMetalServerProfilesProfileConsoleType struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The console types for a bare metal server with this profile. + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfilesProfileConsoleTypeInput is an input type that accepts GetIsBareMetalServerProfilesProfileConsoleTypeArgs and GetIsBareMetalServerProfilesProfileConsoleTypeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileConsoleTypeInput` via: +// +// GetIsBareMetalServerProfilesProfileConsoleTypeArgs{...} +type GetIsBareMetalServerProfilesProfileConsoleTypeInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileConsoleTypeOutput() GetIsBareMetalServerProfilesProfileConsoleTypeOutput + ToGetIsBareMetalServerProfilesProfileConsoleTypeOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileConsoleTypeOutput +} + +type GetIsBareMetalServerProfilesProfileConsoleTypeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The console types for a bare metal server with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfilesProfileConsoleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileConsoleType)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileConsoleTypeArgs) ToGetIsBareMetalServerProfilesProfileConsoleTypeOutput() GetIsBareMetalServerProfilesProfileConsoleTypeOutput { + return i.ToGetIsBareMetalServerProfilesProfileConsoleTypeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileConsoleTypeArgs) ToGetIsBareMetalServerProfilesProfileConsoleTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileConsoleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileConsoleTypeOutput) +} + +// GetIsBareMetalServerProfilesProfileConsoleTypeArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileConsoleTypeArray and GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileConsoleTypeArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileConsoleTypeArray{ GetIsBareMetalServerProfilesProfileConsoleTypeArgs{...} } +type GetIsBareMetalServerProfilesProfileConsoleTypeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput() GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput + ToGetIsBareMetalServerProfilesProfileConsoleTypeArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput +} + +type GetIsBareMetalServerProfilesProfileConsoleTypeArray []GetIsBareMetalServerProfilesProfileConsoleTypeInput + +func (GetIsBareMetalServerProfilesProfileConsoleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileConsoleType)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileConsoleTypeArray) ToGetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput() GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileConsoleTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileConsoleTypeArray) ToGetIsBareMetalServerProfilesProfileConsoleTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileConsoleTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileConsoleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileConsoleType)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileConsoleTypeOutput) ToGetIsBareMetalServerProfilesProfileConsoleTypeOutput() GetIsBareMetalServerProfilesProfileConsoleTypeOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileConsoleTypeOutput) ToGetIsBareMetalServerProfilesProfileConsoleTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileConsoleTypeOutput { + return o +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfilesProfileConsoleTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileConsoleType) string { return v.Type }).(pulumi.StringOutput) +} + +// The console types for a bare metal server with this profile. +func (o GetIsBareMetalServerProfilesProfileConsoleTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileConsoleType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileConsoleType)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput) ToGetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput() GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput) ToGetIsBareMetalServerProfilesProfileConsoleTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileConsoleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileConsoleType { + return vs[0].([]GetIsBareMetalServerProfilesProfileConsoleType)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileConsoleTypeOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuArchitecture struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value string `pulumi:"value"` +} + +// GetIsBareMetalServerProfilesProfileCpuArchitectureInput is an input type that accepts GetIsBareMetalServerProfilesProfileCpuArchitectureArgs and GetIsBareMetalServerProfilesProfileCpuArchitectureOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileCpuArchitectureInput` via: +// +// GetIsBareMetalServerProfilesProfileCpuArchitectureArgs{...} +type GetIsBareMetalServerProfilesProfileCpuArchitectureInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileCpuArchitectureOutput() GetIsBareMetalServerProfilesProfileCpuArchitectureOutput + ToGetIsBareMetalServerProfilesProfileCpuArchitectureOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileCpuArchitectureOutput +} + +type GetIsBareMetalServerProfilesProfileCpuArchitectureArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfilesProfileCpuArchitectureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuArchitecture)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileCpuArchitectureArgs) ToGetIsBareMetalServerProfilesProfileCpuArchitectureOutput() GetIsBareMetalServerProfilesProfileCpuArchitectureOutput { + return i.ToGetIsBareMetalServerProfilesProfileCpuArchitectureOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileCpuArchitectureArgs) ToGetIsBareMetalServerProfilesProfileCpuArchitectureOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuArchitectureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileCpuArchitectureOutput) +} + +// GetIsBareMetalServerProfilesProfileCpuArchitectureArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileCpuArchitectureArray and GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileCpuArchitectureArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileCpuArchitectureArray{ GetIsBareMetalServerProfilesProfileCpuArchitectureArgs{...} } +type GetIsBareMetalServerProfilesProfileCpuArchitectureArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput() GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput + ToGetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput +} + +type GetIsBareMetalServerProfilesProfileCpuArchitectureArray []GetIsBareMetalServerProfilesProfileCpuArchitectureInput + +func (GetIsBareMetalServerProfilesProfileCpuArchitectureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileCpuArchitecture)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileCpuArchitectureArray) ToGetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput() GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileCpuArchitectureArray) ToGetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuArchitectureOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileCpuArchitectureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuArchitecture)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileCpuArchitectureOutput) ToGetIsBareMetalServerProfilesProfileCpuArchitectureOutput() GetIsBareMetalServerProfilesProfileCpuArchitectureOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuArchitectureOutput) ToGetIsBareMetalServerProfilesProfileCpuArchitectureOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuArchitectureOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileCpuArchitectureOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileCpuArchitecture) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfilesProfileCpuArchitectureOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileCpuArchitecture) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileCpuArchitecture)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput) ToGetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput() GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput) ToGetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileCpuArchitectureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileCpuArchitecture { + return vs[0].([]GetIsBareMetalServerProfilesProfileCpuArchitecture)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileCpuArchitectureOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuCoreCount struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfilesProfileCpuCoreCountInput is an input type that accepts GetIsBareMetalServerProfilesProfileCpuCoreCountArgs and GetIsBareMetalServerProfilesProfileCpuCoreCountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileCpuCoreCountInput` via: +// +// GetIsBareMetalServerProfilesProfileCpuCoreCountArgs{...} +type GetIsBareMetalServerProfilesProfileCpuCoreCountInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileCpuCoreCountOutput() GetIsBareMetalServerProfilesProfileCpuCoreCountOutput + ToGetIsBareMetalServerProfilesProfileCpuCoreCountOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileCpuCoreCountOutput +} + +type GetIsBareMetalServerProfilesProfileCpuCoreCountArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfilesProfileCpuCoreCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuCoreCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileCpuCoreCountArgs) ToGetIsBareMetalServerProfilesProfileCpuCoreCountOutput() GetIsBareMetalServerProfilesProfileCpuCoreCountOutput { + return i.ToGetIsBareMetalServerProfilesProfileCpuCoreCountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileCpuCoreCountArgs) ToGetIsBareMetalServerProfilesProfileCpuCoreCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuCoreCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileCpuCoreCountOutput) +} + +// GetIsBareMetalServerProfilesProfileCpuCoreCountArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileCpuCoreCountArray and GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileCpuCoreCountArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileCpuCoreCountArray{ GetIsBareMetalServerProfilesProfileCpuCoreCountArgs{...} } +type GetIsBareMetalServerProfilesProfileCpuCoreCountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput() GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput + ToGetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput +} + +type GetIsBareMetalServerProfilesProfileCpuCoreCountArray []GetIsBareMetalServerProfilesProfileCpuCoreCountInput + +func (GetIsBareMetalServerProfilesProfileCpuCoreCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileCpuCoreCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileCpuCoreCountArray) ToGetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput() GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileCpuCoreCountArray) ToGetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuCoreCountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileCpuCoreCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuCoreCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileCpuCoreCountOutput) ToGetIsBareMetalServerProfilesProfileCpuCoreCountOutput() GetIsBareMetalServerProfilesProfileCpuCoreCountOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuCoreCountOutput) ToGetIsBareMetalServerProfilesProfileCpuCoreCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuCoreCountOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileCpuCoreCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileCpuCoreCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfilesProfileCpuCoreCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileCpuCoreCount) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileCpuCoreCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput) ToGetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput() GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput) ToGetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileCpuCoreCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileCpuCoreCount { + return vs[0].([]GetIsBareMetalServerProfilesProfileCpuCoreCount)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileCpuCoreCountOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuSocketCount struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfilesProfileCpuSocketCountInput is an input type that accepts GetIsBareMetalServerProfilesProfileCpuSocketCountArgs and GetIsBareMetalServerProfilesProfileCpuSocketCountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileCpuSocketCountInput` via: +// +// GetIsBareMetalServerProfilesProfileCpuSocketCountArgs{...} +type GetIsBareMetalServerProfilesProfileCpuSocketCountInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileCpuSocketCountOutput() GetIsBareMetalServerProfilesProfileCpuSocketCountOutput + ToGetIsBareMetalServerProfilesProfileCpuSocketCountOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileCpuSocketCountOutput +} + +type GetIsBareMetalServerProfilesProfileCpuSocketCountArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfilesProfileCpuSocketCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuSocketCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileCpuSocketCountArgs) ToGetIsBareMetalServerProfilesProfileCpuSocketCountOutput() GetIsBareMetalServerProfilesProfileCpuSocketCountOutput { + return i.ToGetIsBareMetalServerProfilesProfileCpuSocketCountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileCpuSocketCountArgs) ToGetIsBareMetalServerProfilesProfileCpuSocketCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuSocketCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileCpuSocketCountOutput) +} + +// GetIsBareMetalServerProfilesProfileCpuSocketCountArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileCpuSocketCountArray and GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileCpuSocketCountArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileCpuSocketCountArray{ GetIsBareMetalServerProfilesProfileCpuSocketCountArgs{...} } +type GetIsBareMetalServerProfilesProfileCpuSocketCountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput() GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput + ToGetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput +} + +type GetIsBareMetalServerProfilesProfileCpuSocketCountArray []GetIsBareMetalServerProfilesProfileCpuSocketCountInput + +func (GetIsBareMetalServerProfilesProfileCpuSocketCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileCpuSocketCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileCpuSocketCountArray) ToGetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput() GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileCpuSocketCountArray) ToGetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuSocketCountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileCpuSocketCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuSocketCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileCpuSocketCountOutput) ToGetIsBareMetalServerProfilesProfileCpuSocketCountOutput() GetIsBareMetalServerProfilesProfileCpuSocketCountOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuSocketCountOutput) ToGetIsBareMetalServerProfilesProfileCpuSocketCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuSocketCountOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileCpuSocketCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileCpuSocketCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfilesProfileCpuSocketCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileCpuSocketCount) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileCpuSocketCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput) ToGetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput() GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput) ToGetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileCpuSocketCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileCpuSocketCount { + return vs[0].([]GetIsBareMetalServerProfilesProfileCpuSocketCount)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileCpuSocketCountOutput) +} + +type GetIsBareMetalServerProfilesProfileDisk struct { + // The number of disks of this configuration for a bare metal server with this profile + Quantities []GetIsBareMetalServerProfilesProfileDiskQuantity `pulumi:"quantities"` + // The size of the disk in GB (gigabytes) + Sizes []GetIsBareMetalServerProfilesProfileDiskSize `pulumi:"sizes"` + // The disk interface used for attaching the disk. + SupportedInterfaceTypes []GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType `pulumi:"supportedInterfaceTypes"` +} + +// GetIsBareMetalServerProfilesProfileDiskInput is an input type that accepts GetIsBareMetalServerProfilesProfileDiskArgs and GetIsBareMetalServerProfilesProfileDiskOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileDiskInput` via: +// +// GetIsBareMetalServerProfilesProfileDiskArgs{...} +type GetIsBareMetalServerProfilesProfileDiskInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileDiskOutput() GetIsBareMetalServerProfilesProfileDiskOutput + ToGetIsBareMetalServerProfilesProfileDiskOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileDiskOutput +} + +type GetIsBareMetalServerProfilesProfileDiskArgs struct { + // The number of disks of this configuration for a bare metal server with this profile + Quantities GetIsBareMetalServerProfilesProfileDiskQuantityArrayInput `pulumi:"quantities"` + // The size of the disk in GB (gigabytes) + Sizes GetIsBareMetalServerProfilesProfileDiskSizeArrayInput `pulumi:"sizes"` + // The disk interface used for attaching the disk. + SupportedInterfaceTypes GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayInput `pulumi:"supportedInterfaceTypes"` +} + +func (GetIsBareMetalServerProfilesProfileDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDisk)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileDiskArgs) ToGetIsBareMetalServerProfilesProfileDiskOutput() GetIsBareMetalServerProfilesProfileDiskOutput { + return i.ToGetIsBareMetalServerProfilesProfileDiskOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileDiskArgs) ToGetIsBareMetalServerProfilesProfileDiskOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileDiskOutput) +} + +// GetIsBareMetalServerProfilesProfileDiskArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileDiskArray and GetIsBareMetalServerProfilesProfileDiskArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileDiskArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileDiskArray{ GetIsBareMetalServerProfilesProfileDiskArgs{...} } +type GetIsBareMetalServerProfilesProfileDiskArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileDiskArrayOutput() GetIsBareMetalServerProfilesProfileDiskArrayOutput + ToGetIsBareMetalServerProfilesProfileDiskArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileDiskArrayOutput +} + +type GetIsBareMetalServerProfilesProfileDiskArray []GetIsBareMetalServerProfilesProfileDiskInput + +func (GetIsBareMetalServerProfilesProfileDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileDisk)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileDiskArray) ToGetIsBareMetalServerProfilesProfileDiskArrayOutput() GetIsBareMetalServerProfilesProfileDiskArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileDiskArray) ToGetIsBareMetalServerProfilesProfileDiskArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileDiskArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDisk)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileDiskOutput) ToGetIsBareMetalServerProfilesProfileDiskOutput() GetIsBareMetalServerProfilesProfileDiskOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskOutput) ToGetIsBareMetalServerProfilesProfileDiskOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskOutput { + return o +} + +// The number of disks of this configuration for a bare metal server with this profile +func (o GetIsBareMetalServerProfilesProfileDiskOutput) Quantities() GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDisk) []GetIsBareMetalServerProfilesProfileDiskQuantity { + return v.Quantities + }).(GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput) +} + +// The size of the disk in GB (gigabytes) +func (o GetIsBareMetalServerProfilesProfileDiskOutput) Sizes() GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDisk) []GetIsBareMetalServerProfilesProfileDiskSize { + return v.Sizes + }).(GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput) +} + +// The disk interface used for attaching the disk. +func (o GetIsBareMetalServerProfilesProfileDiskOutput) SupportedInterfaceTypes() GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDisk) []GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType { + return v.SupportedInterfaceTypes + }).(GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileDisk)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileDiskArrayOutput) ToGetIsBareMetalServerProfilesProfileDiskArrayOutput() GetIsBareMetalServerProfilesProfileDiskArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskArrayOutput) ToGetIsBareMetalServerProfilesProfileDiskArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileDisk { + return vs[0].([]GetIsBareMetalServerProfilesProfileDisk)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileDiskOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskQuantity struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfilesProfileDiskQuantityInput is an input type that accepts GetIsBareMetalServerProfilesProfileDiskQuantityArgs and GetIsBareMetalServerProfilesProfileDiskQuantityOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileDiskQuantityInput` via: +// +// GetIsBareMetalServerProfilesProfileDiskQuantityArgs{...} +type GetIsBareMetalServerProfilesProfileDiskQuantityInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileDiskQuantityOutput() GetIsBareMetalServerProfilesProfileDiskQuantityOutput + ToGetIsBareMetalServerProfilesProfileDiskQuantityOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileDiskQuantityOutput +} + +type GetIsBareMetalServerProfilesProfileDiskQuantityArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfilesProfileDiskQuantityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileDiskQuantityArgs) ToGetIsBareMetalServerProfilesProfileDiskQuantityOutput() GetIsBareMetalServerProfilesProfileDiskQuantityOutput { + return i.ToGetIsBareMetalServerProfilesProfileDiskQuantityOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileDiskQuantityArgs) ToGetIsBareMetalServerProfilesProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskQuantityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileDiskQuantityOutput) +} + +// GetIsBareMetalServerProfilesProfileDiskQuantityArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileDiskQuantityArray and GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileDiskQuantityArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileDiskQuantityArray{ GetIsBareMetalServerProfilesProfileDiskQuantityArgs{...} } +type GetIsBareMetalServerProfilesProfileDiskQuantityArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput() GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput + ToGetIsBareMetalServerProfilesProfileDiskQuantityArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput +} + +type GetIsBareMetalServerProfilesProfileDiskQuantityArray []GetIsBareMetalServerProfilesProfileDiskQuantityInput + +func (GetIsBareMetalServerProfilesProfileDiskQuantityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileDiskQuantityArray) ToGetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput() GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileDiskQuantityArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileDiskQuantityArray) ToGetIsBareMetalServerProfilesProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskQuantityOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileDiskQuantityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileDiskQuantityOutput) ToGetIsBareMetalServerProfilesProfileDiskQuantityOutput() GetIsBareMetalServerProfilesProfileDiskQuantityOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskQuantityOutput) ToGetIsBareMetalServerProfilesProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskQuantityOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileDiskQuantityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDiskQuantity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfilesProfileDiskQuantityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDiskQuantity) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput) ToGetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput() GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput) ToGetIsBareMetalServerProfilesProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileDiskQuantityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileDiskQuantity { + return vs[0].([]GetIsBareMetalServerProfilesProfileDiskQuantity)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileDiskQuantityOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskSize struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfilesProfileDiskSizeInput is an input type that accepts GetIsBareMetalServerProfilesProfileDiskSizeArgs and GetIsBareMetalServerProfilesProfileDiskSizeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileDiskSizeInput` via: +// +// GetIsBareMetalServerProfilesProfileDiskSizeArgs{...} +type GetIsBareMetalServerProfilesProfileDiskSizeInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileDiskSizeOutput() GetIsBareMetalServerProfilesProfileDiskSizeOutput + ToGetIsBareMetalServerProfilesProfileDiskSizeOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileDiskSizeOutput +} + +type GetIsBareMetalServerProfilesProfileDiskSizeArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfilesProfileDiskSizeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskSize)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileDiskSizeArgs) ToGetIsBareMetalServerProfilesProfileDiskSizeOutput() GetIsBareMetalServerProfilesProfileDiskSizeOutput { + return i.ToGetIsBareMetalServerProfilesProfileDiskSizeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileDiskSizeArgs) ToGetIsBareMetalServerProfilesProfileDiskSizeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskSizeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileDiskSizeOutput) +} + +// GetIsBareMetalServerProfilesProfileDiskSizeArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileDiskSizeArray and GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileDiskSizeArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileDiskSizeArray{ GetIsBareMetalServerProfilesProfileDiskSizeArgs{...} } +type GetIsBareMetalServerProfilesProfileDiskSizeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileDiskSizeArrayOutput() GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput + ToGetIsBareMetalServerProfilesProfileDiskSizeArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput +} + +type GetIsBareMetalServerProfilesProfileDiskSizeArray []GetIsBareMetalServerProfilesProfileDiskSizeInput + +func (GetIsBareMetalServerProfilesProfileDiskSizeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileDiskSize)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileDiskSizeArray) ToGetIsBareMetalServerProfilesProfileDiskSizeArrayOutput() GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileDiskSizeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileDiskSizeArray) ToGetIsBareMetalServerProfilesProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskSizeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileDiskSizeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskSize)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileDiskSizeOutput) ToGetIsBareMetalServerProfilesProfileDiskSizeOutput() GetIsBareMetalServerProfilesProfileDiskSizeOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskSizeOutput) ToGetIsBareMetalServerProfilesProfileDiskSizeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskSizeOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileDiskSizeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDiskSize) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfilesProfileDiskSizeOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDiskSize) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileDiskSize)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput) ToGetIsBareMetalServerProfilesProfileDiskSizeArrayOutput() GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput) ToGetIsBareMetalServerProfilesProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileDiskSizeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileDiskSize { + return vs[0].([]GetIsBareMetalServerProfilesProfileDiskSize)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileDiskSizeOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType struct { + // The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Default string `pulumi:"default"` + // The type for this profile field + Type string `pulumi:"type"` + // The supported disk interfaces used for attaching the disk + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeInput is an input type that accepts GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArgs and GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeInput` via: +// +// GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArgs{...} +type GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput() GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput + ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput +} + +type GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArgs struct { + // The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The supported disk interfaces used for attaching the disk + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArgs) ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput() GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput { + return i.ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArgs) ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput) +} + +// GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArray and GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArray{ GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArgs{...} } +type GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput() GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput + ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput +} + +type GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArray []GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeInput + +func (GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArray) ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput() GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArray) ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput) ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput() GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput) ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput { + return o +} + +// The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported disk interfaces used for attaching the disk +func (o GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput) ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput() GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput) ToGetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType { + return vs[0].([]GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceType)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput) +} + +type GetIsBareMetalServerProfilesProfileMemory struct { + // The type for this profile field + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` +} + +// GetIsBareMetalServerProfilesProfileMemoryInput is an input type that accepts GetIsBareMetalServerProfilesProfileMemoryArgs and GetIsBareMetalServerProfilesProfileMemoryOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileMemoryInput` via: +// +// GetIsBareMetalServerProfilesProfileMemoryArgs{...} +type GetIsBareMetalServerProfilesProfileMemoryInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileMemoryOutput() GetIsBareMetalServerProfilesProfileMemoryOutput + ToGetIsBareMetalServerProfilesProfileMemoryOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileMemoryOutput +} + +type GetIsBareMetalServerProfilesProfileMemoryArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfilesProfileMemoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileMemory)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileMemoryArgs) ToGetIsBareMetalServerProfilesProfileMemoryOutput() GetIsBareMetalServerProfilesProfileMemoryOutput { + return i.ToGetIsBareMetalServerProfilesProfileMemoryOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileMemoryArgs) ToGetIsBareMetalServerProfilesProfileMemoryOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileMemoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileMemoryOutput) +} + +// GetIsBareMetalServerProfilesProfileMemoryArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileMemoryArray and GetIsBareMetalServerProfilesProfileMemoryArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileMemoryArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileMemoryArray{ GetIsBareMetalServerProfilesProfileMemoryArgs{...} } +type GetIsBareMetalServerProfilesProfileMemoryArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileMemoryArrayOutput() GetIsBareMetalServerProfilesProfileMemoryArrayOutput + ToGetIsBareMetalServerProfilesProfileMemoryArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileMemoryArrayOutput +} + +type GetIsBareMetalServerProfilesProfileMemoryArray []GetIsBareMetalServerProfilesProfileMemoryInput + +func (GetIsBareMetalServerProfilesProfileMemoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileMemory)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileMemoryArray) ToGetIsBareMetalServerProfilesProfileMemoryArrayOutput() GetIsBareMetalServerProfilesProfileMemoryArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileMemoryArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileMemoryArray) ToGetIsBareMetalServerProfilesProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileMemoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileMemoryArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileMemoryOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileMemoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileMemory)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileMemoryOutput) ToGetIsBareMetalServerProfilesProfileMemoryOutput() GetIsBareMetalServerProfilesProfileMemoryOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileMemoryOutput) ToGetIsBareMetalServerProfilesProfileMemoryOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileMemoryOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileMemoryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileMemory) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsBareMetalServerProfilesProfileMemoryOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileMemory) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsBareMetalServerProfilesProfileMemoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileMemoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileMemory)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileMemoryArrayOutput) ToGetIsBareMetalServerProfilesProfileMemoryArrayOutput() GetIsBareMetalServerProfilesProfileMemoryArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileMemoryArrayOutput) ToGetIsBareMetalServerProfilesProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileMemoryArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileMemoryArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileMemoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileMemory { + return vs[0].([]GetIsBareMetalServerProfilesProfileMemory)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileMemoryOutput) +} + +type GetIsBareMetalServerProfilesProfileNetworkAttachmentCount struct { + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The type for this profile field. + Type string `pulumi:"type"` +} + +// GetIsBareMetalServerProfilesProfileNetworkAttachmentCountInput is an input type that accepts GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArgs and GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileNetworkAttachmentCountInput` via: +// +// GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArgs{...} +type GetIsBareMetalServerProfilesProfileNetworkAttachmentCountInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput() GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput + ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput +} + +type GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArgs struct { + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArgs) ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput() GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput { + return i.ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArgs) ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput) +} + +// GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArray and GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArray{ GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArgs{...} } +type GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput() GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput + ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput +} + +type GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArray []GetIsBareMetalServerProfilesProfileNetworkAttachmentCountInput + +func (GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArray) ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput() GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArray) ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput) ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput() GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput) ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput { + return o +} + +// The maximum value for this profile field. +func (o GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileNetworkAttachmentCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileNetworkAttachmentCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileNetworkAttachmentCount) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput) ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput() GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput) ToGetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileNetworkAttachmentCount { + return vs[0].([]GetIsBareMetalServerProfilesProfileNetworkAttachmentCount)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput) +} + +type GetIsBareMetalServerProfilesProfileNetworkInterfaceCount struct { + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The type for this profile field. + Type string `pulumi:"type"` +} + +// GetIsBareMetalServerProfilesProfileNetworkInterfaceCountInput is an input type that accepts GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArgs and GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileNetworkInterfaceCountInput` via: +// +// GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArgs{...} +type GetIsBareMetalServerProfilesProfileNetworkInterfaceCountInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput() GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput + ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput +} + +type GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArgs struct { + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArgs) ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput() GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput { + return i.ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArgs) ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput) +} + +// GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArray and GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArray{ GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArgs{...} } +type GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput() GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput + ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput +} + +type GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArray []GetIsBareMetalServerProfilesProfileNetworkInterfaceCountInput + +func (GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArray) ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput() GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArray) ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput) ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput() GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput) ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput { + return o +} + +// The maximum value for this profile field. +func (o GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileNetworkInterfaceCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileNetworkInterfaceCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileNetworkInterfaceCount) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput) ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput() GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput) ToGetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileNetworkInterfaceCount { + return vs[0].([]GetIsBareMetalServerProfilesProfileNetworkInterfaceCount)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput) +} + +type GetIsBareMetalServerProfilesProfileOsArchitecture struct { + // The default for this profile field + Default string `pulumi:"default"` + // The type for this profile field + Type string `pulumi:"type"` + // The supported OS architecture(s) for a bare metal server with this profile + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfilesProfileOsArchitectureInput is an input type that accepts GetIsBareMetalServerProfilesProfileOsArchitectureArgs and GetIsBareMetalServerProfilesProfileOsArchitectureOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileOsArchitectureInput` via: +// +// GetIsBareMetalServerProfilesProfileOsArchitectureArgs{...} +type GetIsBareMetalServerProfilesProfileOsArchitectureInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileOsArchitectureOutput() GetIsBareMetalServerProfilesProfileOsArchitectureOutput + ToGetIsBareMetalServerProfilesProfileOsArchitectureOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileOsArchitectureOutput +} + +type GetIsBareMetalServerProfilesProfileOsArchitectureArgs struct { + // The default for this profile field + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The supported OS architecture(s) for a bare metal server with this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfilesProfileOsArchitectureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileOsArchitecture)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileOsArchitectureArgs) ToGetIsBareMetalServerProfilesProfileOsArchitectureOutput() GetIsBareMetalServerProfilesProfileOsArchitectureOutput { + return i.ToGetIsBareMetalServerProfilesProfileOsArchitectureOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileOsArchitectureArgs) ToGetIsBareMetalServerProfilesProfileOsArchitectureOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileOsArchitectureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileOsArchitectureOutput) +} + +// GetIsBareMetalServerProfilesProfileOsArchitectureArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileOsArchitectureArray and GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileOsArchitectureArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileOsArchitectureArray{ GetIsBareMetalServerProfilesProfileOsArchitectureArgs{...} } +type GetIsBareMetalServerProfilesProfileOsArchitectureArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput() GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput + ToGetIsBareMetalServerProfilesProfileOsArchitectureArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput +} + +type GetIsBareMetalServerProfilesProfileOsArchitectureArray []GetIsBareMetalServerProfilesProfileOsArchitectureInput + +func (GetIsBareMetalServerProfilesProfileOsArchitectureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileOsArchitecture)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileOsArchitectureArray) ToGetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput() GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileOsArchitectureArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileOsArchitectureArray) ToGetIsBareMetalServerProfilesProfileOsArchitectureArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileOsArchitectureOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileOsArchitectureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileOsArchitecture)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileOsArchitectureOutput) ToGetIsBareMetalServerProfilesProfileOsArchitectureOutput() GetIsBareMetalServerProfilesProfileOsArchitectureOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileOsArchitectureOutput) ToGetIsBareMetalServerProfilesProfileOsArchitectureOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileOsArchitectureOutput { + return o +} + +// The default for this profile field +func (o GetIsBareMetalServerProfilesProfileOsArchitectureOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileOsArchitecture) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileOsArchitectureOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileOsArchitecture) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported OS architecture(s) for a bare metal server with this profile +func (o GetIsBareMetalServerProfilesProfileOsArchitectureOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileOsArchitecture) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileOsArchitecture)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput) ToGetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput() GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput) ToGetIsBareMetalServerProfilesProfileOsArchitectureArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileOsArchitectureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileOsArchitecture { + return vs[0].([]GetIsBareMetalServerProfilesProfileOsArchitecture)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileOsArchitectureOutput) +} + +type GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode struct { + // The type for this profile field + Type string `pulumi:"type"` + // The supported trusted platform module (TPM) modes + Values []string `pulumi:"values"` +} + +// GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeInput is an input type that accepts GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArgs and GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeInput` via: +// +// GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArgs{...} +type GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput() GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput + ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput +} + +type GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArgs struct { + // The type for this profile field + Type pulumi.StringInput `pulumi:"type"` + // The supported trusted platform module (TPM) modes + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArgs) ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput() GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput { + return i.ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArgs) ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput) +} + +// GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArray and GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArray{ GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArgs{...} } +type GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput() GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput + ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput +} + +type GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArray []GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeInput + +func (GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArray) ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput() GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArray) ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput) ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput() GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput) ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput { + return o +} + +// The type for this profile field +func (o GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported trusted platform module (TPM) modes +func (o GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode) []string { + return v.Values + }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput) ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput() GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput) ToGetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode { + return vs[0].([]GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleMode)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput) +} + +type GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value bool `pulumi:"value"` +} + +// GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedInput is an input type that accepts GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArgs and GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedInput` via: +// +// GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArgs{...} +type GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput() GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput + ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput +} + +type GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.BoolInput `pulumi:"value"` +} + +func (GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArgs) ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput() GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput { + return i.ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArgs) ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput) +} + +// GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayInput is an input type that accepts GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArray and GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayInput` via: +// +// GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArray{ GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArgs{...} } +type GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput() GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput + ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutputWithContext(context.Context) GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput +} + +type GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArray []GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedInput + +func (GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported)(nil)).Elem() +} + +func (i GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArray) ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput() GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput { + return i.ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArray) ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput) +} + +type GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput) ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput() GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput) ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput { + return o +} + +// The type for this profile field. +func (o GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput) Value() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported) bool { return v.Value }).(pulumi.BoolOutput) +} + +type GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported)(nil)).Elem() +} + +func (o GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput) ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput() GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput) ToGetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput { + return o +} + +func (o GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported { + return vs[0].([]GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupported)[vs[1].(int)] + }).(GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput) +} + +type GetIsBareMetalServerReservation struct { + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBareMetalServerReservationDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerReservationInput is an input type that accepts GetIsBareMetalServerReservationArgs and GetIsBareMetalServerReservationOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationInput` via: +// +// GetIsBareMetalServerReservationArgs{...} +type GetIsBareMetalServerReservationInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationOutput() GetIsBareMetalServerReservationOutput + ToGetIsBareMetalServerReservationOutputWithContext(context.Context) GetIsBareMetalServerReservationOutput +} + +type GetIsBareMetalServerReservationArgs struct { + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBareMetalServerReservationDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservation)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationArgs) ToGetIsBareMetalServerReservationOutput() GetIsBareMetalServerReservationOutput { + return i.ToGetIsBareMetalServerReservationOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationArgs) ToGetIsBareMetalServerReservationOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationOutput) +} + +// GetIsBareMetalServerReservationArrayInput is an input type that accepts GetIsBareMetalServerReservationArray and GetIsBareMetalServerReservationArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationArrayInput` via: +// +// GetIsBareMetalServerReservationArray{ GetIsBareMetalServerReservationArgs{...} } +type GetIsBareMetalServerReservationArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationArrayOutput() GetIsBareMetalServerReservationArrayOutput + ToGetIsBareMetalServerReservationArrayOutputWithContext(context.Context) GetIsBareMetalServerReservationArrayOutput +} + +type GetIsBareMetalServerReservationArray []GetIsBareMetalServerReservationInput + +func (GetIsBareMetalServerReservationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservation)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationArray) ToGetIsBareMetalServerReservationArrayOutput() GetIsBareMetalServerReservationArrayOutput { + return i.ToGetIsBareMetalServerReservationArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationArray) ToGetIsBareMetalServerReservationArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationArrayOutput) +} + +type GetIsBareMetalServerReservationOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservation)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationOutput) ToGetIsBareMetalServerReservationOutput() GetIsBareMetalServerReservationOutput { + return o +} + +func (o GetIsBareMetalServerReservationOutput) ToGetIsBareMetalServerReservationOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationOutput { + return o +} + +// The CRN for this reservation. +func (o GetIsBareMetalServerReservationOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservation) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBareMetalServerReservationOutput) Deleteds() GetIsBareMetalServerReservationDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservation) []GetIsBareMetalServerReservationDeleted { return v.Deleteds }).(GetIsBareMetalServerReservationDeletedArrayOutput) +} + +// The URL for this reservation. +func (o GetIsBareMetalServerReservationOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservation) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsBareMetalServerReservationOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservation) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o GetIsBareMetalServerReservationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservation) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerReservationOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservation) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerReservationArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservation)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationArrayOutput) ToGetIsBareMetalServerReservationArrayOutput() GetIsBareMetalServerReservationArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationArrayOutput) ToGetIsBareMetalServerReservationArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerReservationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerReservation { + return vs[0].([]GetIsBareMetalServerReservation)[vs[1].(int)] + }).(GetIsBareMetalServerReservationOutput) +} + +type GetIsBareMetalServerReservationAffinity struct { + // The reservation affinity policy to use for this bare metal server. + Policy string `pulumi:"policy"` + // The pool of reservations available for use by this bare metal server. + Pools []GetIsBareMetalServerReservationAffinityPool `pulumi:"pools"` +} + +// GetIsBareMetalServerReservationAffinityInput is an input type that accepts GetIsBareMetalServerReservationAffinityArgs and GetIsBareMetalServerReservationAffinityOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationAffinityInput` via: +// +// GetIsBareMetalServerReservationAffinityArgs{...} +type GetIsBareMetalServerReservationAffinityInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationAffinityOutput() GetIsBareMetalServerReservationAffinityOutput + ToGetIsBareMetalServerReservationAffinityOutputWithContext(context.Context) GetIsBareMetalServerReservationAffinityOutput +} + +type GetIsBareMetalServerReservationAffinityArgs struct { + // The reservation affinity policy to use for this bare metal server. + Policy pulumi.StringInput `pulumi:"policy"` + // The pool of reservations available for use by this bare metal server. + Pools GetIsBareMetalServerReservationAffinityPoolArrayInput `pulumi:"pools"` +} + +func (GetIsBareMetalServerReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservationAffinity)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationAffinityArgs) ToGetIsBareMetalServerReservationAffinityOutput() GetIsBareMetalServerReservationAffinityOutput { + return i.ToGetIsBareMetalServerReservationAffinityOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationAffinityArgs) ToGetIsBareMetalServerReservationAffinityOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationAffinityOutput) +} + +// GetIsBareMetalServerReservationAffinityArrayInput is an input type that accepts GetIsBareMetalServerReservationAffinityArray and GetIsBareMetalServerReservationAffinityArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationAffinityArrayInput` via: +// +// GetIsBareMetalServerReservationAffinityArray{ GetIsBareMetalServerReservationAffinityArgs{...} } +type GetIsBareMetalServerReservationAffinityArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationAffinityArrayOutput() GetIsBareMetalServerReservationAffinityArrayOutput + ToGetIsBareMetalServerReservationAffinityArrayOutputWithContext(context.Context) GetIsBareMetalServerReservationAffinityArrayOutput +} + +type GetIsBareMetalServerReservationAffinityArray []GetIsBareMetalServerReservationAffinityInput + +func (GetIsBareMetalServerReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservationAffinity)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationAffinityArray) ToGetIsBareMetalServerReservationAffinityArrayOutput() GetIsBareMetalServerReservationAffinityArrayOutput { + return i.ToGetIsBareMetalServerReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationAffinityArray) ToGetIsBareMetalServerReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationAffinityArrayOutput) +} + +type GetIsBareMetalServerReservationAffinityOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservationAffinity)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationAffinityOutput) ToGetIsBareMetalServerReservationAffinityOutput() GetIsBareMetalServerReservationAffinityOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityOutput) ToGetIsBareMetalServerReservationAffinityOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this bare metal server. +func (o GetIsBareMetalServerReservationAffinityOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinity) string { return v.Policy }).(pulumi.StringOutput) +} + +// The pool of reservations available for use by this bare metal server. +func (o GetIsBareMetalServerReservationAffinityOutput) Pools() GetIsBareMetalServerReservationAffinityPoolArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinity) []GetIsBareMetalServerReservationAffinityPool { + return v.Pools + }).(GetIsBareMetalServerReservationAffinityPoolArrayOutput) +} + +type GetIsBareMetalServerReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservationAffinity)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationAffinityArrayOutput) ToGetIsBareMetalServerReservationAffinityArrayOutput() GetIsBareMetalServerReservationAffinityArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityArrayOutput) ToGetIsBareMetalServerReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerReservationAffinity { + return vs[0].([]GetIsBareMetalServerReservationAffinity)[vs[1].(int)] + }).(GetIsBareMetalServerReservationAffinityOutput) +} + +type GetIsBareMetalServerReservationAffinityPool struct { + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBareMetalServerReservationAffinityPoolDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServerReservationAffinityPoolInput is an input type that accepts GetIsBareMetalServerReservationAffinityPoolArgs and GetIsBareMetalServerReservationAffinityPoolOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationAffinityPoolInput` via: +// +// GetIsBareMetalServerReservationAffinityPoolArgs{...} +type GetIsBareMetalServerReservationAffinityPoolInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationAffinityPoolOutput() GetIsBareMetalServerReservationAffinityPoolOutput + ToGetIsBareMetalServerReservationAffinityPoolOutputWithContext(context.Context) GetIsBareMetalServerReservationAffinityPoolOutput +} + +type GetIsBareMetalServerReservationAffinityPoolArgs struct { + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBareMetalServerReservationAffinityPoolDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServerReservationAffinityPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservationAffinityPool)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationAffinityPoolArgs) ToGetIsBareMetalServerReservationAffinityPoolOutput() GetIsBareMetalServerReservationAffinityPoolOutput { + return i.ToGetIsBareMetalServerReservationAffinityPoolOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationAffinityPoolArgs) ToGetIsBareMetalServerReservationAffinityPoolOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationAffinityPoolOutput) +} + +// GetIsBareMetalServerReservationAffinityPoolArrayInput is an input type that accepts GetIsBareMetalServerReservationAffinityPoolArray and GetIsBareMetalServerReservationAffinityPoolArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationAffinityPoolArrayInput` via: +// +// GetIsBareMetalServerReservationAffinityPoolArray{ GetIsBareMetalServerReservationAffinityPoolArgs{...} } +type GetIsBareMetalServerReservationAffinityPoolArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationAffinityPoolArrayOutput() GetIsBareMetalServerReservationAffinityPoolArrayOutput + ToGetIsBareMetalServerReservationAffinityPoolArrayOutputWithContext(context.Context) GetIsBareMetalServerReservationAffinityPoolArrayOutput +} + +type GetIsBareMetalServerReservationAffinityPoolArray []GetIsBareMetalServerReservationAffinityPoolInput + +func (GetIsBareMetalServerReservationAffinityPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservationAffinityPool)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationAffinityPoolArray) ToGetIsBareMetalServerReservationAffinityPoolArrayOutput() GetIsBareMetalServerReservationAffinityPoolArrayOutput { + return i.ToGetIsBareMetalServerReservationAffinityPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationAffinityPoolArray) ToGetIsBareMetalServerReservationAffinityPoolArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationAffinityPoolArrayOutput) +} + +type GetIsBareMetalServerReservationAffinityPoolOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationAffinityPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservationAffinityPool)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationAffinityPoolOutput) ToGetIsBareMetalServerReservationAffinityPoolOutput() GetIsBareMetalServerReservationAffinityPoolOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityPoolOutput) ToGetIsBareMetalServerReservationAffinityPoolOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityPoolOutput { + return o +} + +// The CRN for this reservation. +func (o GetIsBareMetalServerReservationAffinityPoolOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinityPool) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBareMetalServerReservationAffinityPoolOutput) Deleteds() GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinityPool) []GetIsBareMetalServerReservationAffinityPoolDeleted { + return v.Deleteds + }).(GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput) +} + +// The URL for this reservation. +func (o GetIsBareMetalServerReservationAffinityPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinityPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsBareMetalServerReservationAffinityPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinityPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o GetIsBareMetalServerReservationAffinityPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinityPool) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServerReservationAffinityPoolOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinityPool) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerReservationAffinityPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationAffinityPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservationAffinityPool)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationAffinityPoolArrayOutput) ToGetIsBareMetalServerReservationAffinityPoolArrayOutput() GetIsBareMetalServerReservationAffinityPoolArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityPoolArrayOutput) ToGetIsBareMetalServerReservationAffinityPoolArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityPoolArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityPoolArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerReservationAffinityPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerReservationAffinityPool { + return vs[0].([]GetIsBareMetalServerReservationAffinityPool)[vs[1].(int)] + }).(GetIsBareMetalServerReservationAffinityPoolOutput) +} + +type GetIsBareMetalServerReservationAffinityPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerReservationAffinityPoolDeletedInput is an input type that accepts GetIsBareMetalServerReservationAffinityPoolDeletedArgs and GetIsBareMetalServerReservationAffinityPoolDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationAffinityPoolDeletedInput` via: +// +// GetIsBareMetalServerReservationAffinityPoolDeletedArgs{...} +type GetIsBareMetalServerReservationAffinityPoolDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationAffinityPoolDeletedOutput() GetIsBareMetalServerReservationAffinityPoolDeletedOutput + ToGetIsBareMetalServerReservationAffinityPoolDeletedOutputWithContext(context.Context) GetIsBareMetalServerReservationAffinityPoolDeletedOutput +} + +type GetIsBareMetalServerReservationAffinityPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerReservationAffinityPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationAffinityPoolDeletedArgs) ToGetIsBareMetalServerReservationAffinityPoolDeletedOutput() GetIsBareMetalServerReservationAffinityPoolDeletedOutput { + return i.ToGetIsBareMetalServerReservationAffinityPoolDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationAffinityPoolDeletedArgs) ToGetIsBareMetalServerReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationAffinityPoolDeletedOutput) +} + +// GetIsBareMetalServerReservationAffinityPoolDeletedArrayInput is an input type that accepts GetIsBareMetalServerReservationAffinityPoolDeletedArray and GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationAffinityPoolDeletedArrayInput` via: +// +// GetIsBareMetalServerReservationAffinityPoolDeletedArray{ GetIsBareMetalServerReservationAffinityPoolDeletedArgs{...} } +type GetIsBareMetalServerReservationAffinityPoolDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput() GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput + ToGetIsBareMetalServerReservationAffinityPoolDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput +} + +type GetIsBareMetalServerReservationAffinityPoolDeletedArray []GetIsBareMetalServerReservationAffinityPoolDeletedInput + +func (GetIsBareMetalServerReservationAffinityPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationAffinityPoolDeletedArray) ToGetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput() GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return i.ToGetIsBareMetalServerReservationAffinityPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationAffinityPoolDeletedArray) ToGetIsBareMetalServerReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput) +} + +type GetIsBareMetalServerReservationAffinityPoolDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationAffinityPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationAffinityPoolDeletedOutput) ToGetIsBareMetalServerReservationAffinityPoolDeletedOutput() GetIsBareMetalServerReservationAffinityPoolDeletedOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityPoolDeletedOutput) ToGetIsBareMetalServerReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerReservationAffinityPoolDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationAffinityPoolDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput) ToGetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput() GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput) ToGetIsBareMetalServerReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerReservationAffinityPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerReservationAffinityPoolDeleted { + return vs[0].([]GetIsBareMetalServerReservationAffinityPoolDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerReservationAffinityPoolDeletedOutput) +} + +type GetIsBareMetalServerReservationDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerReservationDeletedInput is an input type that accepts GetIsBareMetalServerReservationDeletedArgs and GetIsBareMetalServerReservationDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationDeletedInput` via: +// +// GetIsBareMetalServerReservationDeletedArgs{...} +type GetIsBareMetalServerReservationDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationDeletedOutput() GetIsBareMetalServerReservationDeletedOutput + ToGetIsBareMetalServerReservationDeletedOutputWithContext(context.Context) GetIsBareMetalServerReservationDeletedOutput +} + +type GetIsBareMetalServerReservationDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerReservationDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservationDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationDeletedArgs) ToGetIsBareMetalServerReservationDeletedOutput() GetIsBareMetalServerReservationDeletedOutput { + return i.ToGetIsBareMetalServerReservationDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationDeletedArgs) ToGetIsBareMetalServerReservationDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationDeletedOutput) +} + +// GetIsBareMetalServerReservationDeletedArrayInput is an input type that accepts GetIsBareMetalServerReservationDeletedArray and GetIsBareMetalServerReservationDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerReservationDeletedArrayInput` via: +// +// GetIsBareMetalServerReservationDeletedArray{ GetIsBareMetalServerReservationDeletedArgs{...} } +type GetIsBareMetalServerReservationDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerReservationDeletedArrayOutput() GetIsBareMetalServerReservationDeletedArrayOutput + ToGetIsBareMetalServerReservationDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServerReservationDeletedArrayOutput +} + +type GetIsBareMetalServerReservationDeletedArray []GetIsBareMetalServerReservationDeletedInput + +func (GetIsBareMetalServerReservationDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservationDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServerReservationDeletedArray) ToGetIsBareMetalServerReservationDeletedArrayOutput() GetIsBareMetalServerReservationDeletedArrayOutput { + return i.ToGetIsBareMetalServerReservationDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerReservationDeletedArray) ToGetIsBareMetalServerReservationDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerReservationDeletedArrayOutput) +} + +type GetIsBareMetalServerReservationDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerReservationDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationDeletedOutput) ToGetIsBareMetalServerReservationDeletedOutput() GetIsBareMetalServerReservationDeletedOutput { + return o +} + +func (o GetIsBareMetalServerReservationDeletedOutput) ToGetIsBareMetalServerReservationDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServerReservationDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerReservationDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerReservationDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerReservationDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerReservationDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServerReservationDeletedArrayOutput) ToGetIsBareMetalServerReservationDeletedArrayOutput() GetIsBareMetalServerReservationDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationDeletedArrayOutput) ToGetIsBareMetalServerReservationDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerReservationDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServerReservationDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerReservationDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerReservationDeleted { + return vs[0].([]GetIsBareMetalServerReservationDeleted)[vs[1].(int)] + }).(GetIsBareMetalServerReservationDeletedOutput) +} + +type GetIsBareMetalServerStatusReason struct { + // A snake case string succinctly identifying the status reason + Code string `pulumi:"code"` + // An explanation of the status reason + Message string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServerStatusReasonInput is an input type that accepts GetIsBareMetalServerStatusReasonArgs and GetIsBareMetalServerStatusReasonOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerStatusReasonInput` via: +// +// GetIsBareMetalServerStatusReasonArgs{...} +type GetIsBareMetalServerStatusReasonInput interface { + pulumi.Input + + ToGetIsBareMetalServerStatusReasonOutput() GetIsBareMetalServerStatusReasonOutput + ToGetIsBareMetalServerStatusReasonOutputWithContext(context.Context) GetIsBareMetalServerStatusReasonOutput +} + +type GetIsBareMetalServerStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServerStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerStatusReason)(nil)).Elem() +} + +func (i GetIsBareMetalServerStatusReasonArgs) ToGetIsBareMetalServerStatusReasonOutput() GetIsBareMetalServerStatusReasonOutput { + return i.ToGetIsBareMetalServerStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerStatusReasonArgs) ToGetIsBareMetalServerStatusReasonOutputWithContext(ctx context.Context) GetIsBareMetalServerStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerStatusReasonOutput) +} + +// GetIsBareMetalServerStatusReasonArrayInput is an input type that accepts GetIsBareMetalServerStatusReasonArray and GetIsBareMetalServerStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerStatusReasonArrayInput` via: +// +// GetIsBareMetalServerStatusReasonArray{ GetIsBareMetalServerStatusReasonArgs{...} } +type GetIsBareMetalServerStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerStatusReasonArrayOutput() GetIsBareMetalServerStatusReasonArrayOutput + ToGetIsBareMetalServerStatusReasonArrayOutputWithContext(context.Context) GetIsBareMetalServerStatusReasonArrayOutput +} + +type GetIsBareMetalServerStatusReasonArray []GetIsBareMetalServerStatusReasonInput + +func (GetIsBareMetalServerStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerStatusReason)(nil)).Elem() +} + +func (i GetIsBareMetalServerStatusReasonArray) ToGetIsBareMetalServerStatusReasonArrayOutput() GetIsBareMetalServerStatusReasonArrayOutput { + return i.ToGetIsBareMetalServerStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerStatusReasonArray) ToGetIsBareMetalServerStatusReasonArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerStatusReasonArrayOutput) +} + +type GetIsBareMetalServerStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerStatusReason)(nil)).Elem() +} + +func (o GetIsBareMetalServerStatusReasonOutput) ToGetIsBareMetalServerStatusReasonOutput() GetIsBareMetalServerStatusReasonOutput { + return o +} + +func (o GetIsBareMetalServerStatusReasonOutput) ToGetIsBareMetalServerStatusReasonOutputWithContext(ctx context.Context) GetIsBareMetalServerStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o GetIsBareMetalServerStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason +func (o GetIsBareMetalServerStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason +func (o GetIsBareMetalServerStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServerStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerStatusReason)(nil)).Elem() +} + +func (o GetIsBareMetalServerStatusReasonArrayOutput) ToGetIsBareMetalServerStatusReasonArrayOutput() GetIsBareMetalServerStatusReasonArrayOutput { + return o +} + +func (o GetIsBareMetalServerStatusReasonArrayOutput) ToGetIsBareMetalServerStatusReasonArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerStatusReasonArrayOutput { + return o +} + +func (o GetIsBareMetalServerStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerStatusReason { + return vs[0].([]GetIsBareMetalServerStatusReason)[vs[1].(int)] + }).(GetIsBareMetalServerStatusReasonOutput) +} + +type GetIsBareMetalServerTrustedPlatformModule struct { + // Indicates whether the trusted platform module is enabled. + Enabled bool `pulumi:"enabled"` + // The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes + Mode string `pulumi:"mode"` + // The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] + SupportedModes []string `pulumi:"supportedModes"` +} + +// GetIsBareMetalServerTrustedPlatformModuleInput is an input type that accepts GetIsBareMetalServerTrustedPlatformModuleArgs and GetIsBareMetalServerTrustedPlatformModuleOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerTrustedPlatformModuleInput` via: +// +// GetIsBareMetalServerTrustedPlatformModuleArgs{...} +type GetIsBareMetalServerTrustedPlatformModuleInput interface { + pulumi.Input + + ToGetIsBareMetalServerTrustedPlatformModuleOutput() GetIsBareMetalServerTrustedPlatformModuleOutput + ToGetIsBareMetalServerTrustedPlatformModuleOutputWithContext(context.Context) GetIsBareMetalServerTrustedPlatformModuleOutput +} + +type GetIsBareMetalServerTrustedPlatformModuleArgs struct { + // Indicates whether the trusted platform module is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes + Mode pulumi.StringInput `pulumi:"mode"` + // The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] + SupportedModes pulumi.StringArrayInput `pulumi:"supportedModes"` +} + +func (GetIsBareMetalServerTrustedPlatformModuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerTrustedPlatformModule)(nil)).Elem() +} + +func (i GetIsBareMetalServerTrustedPlatformModuleArgs) ToGetIsBareMetalServerTrustedPlatformModuleOutput() GetIsBareMetalServerTrustedPlatformModuleOutput { + return i.ToGetIsBareMetalServerTrustedPlatformModuleOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerTrustedPlatformModuleArgs) ToGetIsBareMetalServerTrustedPlatformModuleOutputWithContext(ctx context.Context) GetIsBareMetalServerTrustedPlatformModuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerTrustedPlatformModuleOutput) +} + +// GetIsBareMetalServerTrustedPlatformModuleArrayInput is an input type that accepts GetIsBareMetalServerTrustedPlatformModuleArray and GetIsBareMetalServerTrustedPlatformModuleArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServerTrustedPlatformModuleArrayInput` via: +// +// GetIsBareMetalServerTrustedPlatformModuleArray{ GetIsBareMetalServerTrustedPlatformModuleArgs{...} } +type GetIsBareMetalServerTrustedPlatformModuleArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServerTrustedPlatformModuleArrayOutput() GetIsBareMetalServerTrustedPlatformModuleArrayOutput + ToGetIsBareMetalServerTrustedPlatformModuleArrayOutputWithContext(context.Context) GetIsBareMetalServerTrustedPlatformModuleArrayOutput +} + +type GetIsBareMetalServerTrustedPlatformModuleArray []GetIsBareMetalServerTrustedPlatformModuleInput + +func (GetIsBareMetalServerTrustedPlatformModuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerTrustedPlatformModule)(nil)).Elem() +} + +func (i GetIsBareMetalServerTrustedPlatformModuleArray) ToGetIsBareMetalServerTrustedPlatformModuleArrayOutput() GetIsBareMetalServerTrustedPlatformModuleArrayOutput { + return i.ToGetIsBareMetalServerTrustedPlatformModuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServerTrustedPlatformModuleArray) ToGetIsBareMetalServerTrustedPlatformModuleArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerTrustedPlatformModuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServerTrustedPlatformModuleArrayOutput) +} + +type GetIsBareMetalServerTrustedPlatformModuleOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerTrustedPlatformModuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServerTrustedPlatformModule)(nil)).Elem() +} + +func (o GetIsBareMetalServerTrustedPlatformModuleOutput) ToGetIsBareMetalServerTrustedPlatformModuleOutput() GetIsBareMetalServerTrustedPlatformModuleOutput { + return o +} + +func (o GetIsBareMetalServerTrustedPlatformModuleOutput) ToGetIsBareMetalServerTrustedPlatformModuleOutputWithContext(ctx context.Context) GetIsBareMetalServerTrustedPlatformModuleOutput { + return o +} + +// Indicates whether the trusted platform module is enabled. +func (o GetIsBareMetalServerTrustedPlatformModuleOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServerTrustedPlatformModule) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes +func (o GetIsBareMetalServerTrustedPlatformModuleOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServerTrustedPlatformModule) string { return v.Mode }).(pulumi.StringOutput) +} + +// The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] +func (o GetIsBareMetalServerTrustedPlatformModuleOutput) SupportedModes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServerTrustedPlatformModule) []string { return v.SupportedModes }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServerTrustedPlatformModuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServerTrustedPlatformModuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServerTrustedPlatformModule)(nil)).Elem() +} + +func (o GetIsBareMetalServerTrustedPlatformModuleArrayOutput) ToGetIsBareMetalServerTrustedPlatformModuleArrayOutput() GetIsBareMetalServerTrustedPlatformModuleArrayOutput { + return o +} + +func (o GetIsBareMetalServerTrustedPlatformModuleArrayOutput) ToGetIsBareMetalServerTrustedPlatformModuleArrayOutputWithContext(ctx context.Context) GetIsBareMetalServerTrustedPlatformModuleArrayOutput { + return o +} + +func (o GetIsBareMetalServerTrustedPlatformModuleArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServerTrustedPlatformModuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServerTrustedPlatformModule { + return vs[0].([]GetIsBareMetalServerTrustedPlatformModule)[vs[1].(int)] + }).(GetIsBareMetalServerTrustedPlatformModuleOutput) +} + +type GetIsBareMetalServersServer struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The total bandwidth (in megabits per second) + Bandwidth int `pulumi:"bandwidth"` + // The unique identifier for this bare metal server disk + BootTarget string `pulumi:"bootTarget"` + // The bare metal server CPU configuration + Cpus []GetIsBareMetalServersServerCpus `pulumi:"cpus"` + // The date and time that the bare metal server was created + CreatedAt string `pulumi:"createdAt"` + // The CRN for this bare metal server + Crn string `pulumi:"crn"` + // The disks for this bare metal server, including any disks that are associated with the boot_target. + Disks []GetIsBareMetalServersServerDisk `pulumi:"disks"` + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. + EnableSecureBoot bool `pulumi:"enableSecureBoot"` + // The type of firmware update available + FirmwareUpdateTypeAvailable string `pulumi:"firmwareUpdateTypeAvailable"` + // The reasons for the current healthState (if any). + HealthReasons []GetIsBareMetalServersServerHealthReason `pulumi:"healthReasons"` + // The health of this resource + HealthState string `pulumi:"healthState"` + // The URL for this bare metal server + Href string `pulumi:"href"` + // Bare metal server id + Id string `pulumi:"id"` + // image id + Image string `pulumi:"image"` + // SSH key Ids for the bare metal server + Keys []string `pulumi:"keys"` + // The amount of memory, truncated to whole gibibytes + Memory int `pulumi:"memory"` + // The metadata service configuration + MetadataServices []GetIsBareMetalServersServerMetadataService `pulumi:"metadataServices"` + // Bare metal server name + Name string `pulumi:"name"` + // The network attachments for this bare metal server, including the primary network attachment. + NetworkAttachments []GetIsBareMetalServersServerNetworkAttachment `pulumi:"networkAttachments"` + NetworkInterfaces []GetIsBareMetalServersServerNetworkInterface `pulumi:"networkInterfaces"` + // The primary network attachment. + PrimaryNetworkAttachments []GetIsBareMetalServersServerPrimaryNetworkAttachment `pulumi:"primaryNetworkAttachments"` + // Primary Network interface info + PrimaryNetworkInterfaces []GetIsBareMetalServersServerPrimaryNetworkInterface `pulumi:"primaryNetworkInterfaces"` + // profile name + Profile string `pulumi:"profile"` + ReservationAffinities []GetIsBareMetalServersServerReservationAffinity `pulumi:"reservationAffinities"` + // The reservation used by this bare metal server + Reservations []GetIsBareMetalServersServerReservation `pulumi:"reservations"` + // Resource group name + ResourceGroup string `pulumi:"resourceGroup"` + // Resource type name + ResourceType string `pulumi:"resourceType"` + // Bare metal server status + Status string `pulumi:"status"` + StatusReasons []GetIsBareMetalServersServerStatusReason `pulumi:"statusReasons"` + // Tags for the Bare metal server + Tags []string `pulumi:"tags"` + TrustedPlatformModules []GetIsBareMetalServersServerTrustedPlatformModule `pulumi:"trustedPlatformModules"` + // The VPC the bare metal server is to be a part of + Vpc string `pulumi:"vpc"` + // Zone name + Zone string `pulumi:"zone"` +} + +// GetIsBareMetalServersServerInput is an input type that accepts GetIsBareMetalServersServerArgs and GetIsBareMetalServersServerOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerInput` via: +// +// GetIsBareMetalServersServerArgs{...} +type GetIsBareMetalServersServerInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerOutput() GetIsBareMetalServersServerOutput + ToGetIsBareMetalServersServerOutputWithContext(context.Context) GetIsBareMetalServersServerOutput +} + +type GetIsBareMetalServersServerArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The total bandwidth (in megabits per second) + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + // The unique identifier for this bare metal server disk + BootTarget pulumi.StringInput `pulumi:"bootTarget"` + // The bare metal server CPU configuration + Cpus GetIsBareMetalServersServerCpusArrayInput `pulumi:"cpus"` + // The date and time that the bare metal server was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this bare metal server + Crn pulumi.StringInput `pulumi:"crn"` + // The disks for this bare metal server, including any disks that are associated with the boot_target. + Disks GetIsBareMetalServersServerDiskArrayInput `pulumi:"disks"` + // Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. + EnableSecureBoot pulumi.BoolInput `pulumi:"enableSecureBoot"` + // The type of firmware update available + FirmwareUpdateTypeAvailable pulumi.StringInput `pulumi:"firmwareUpdateTypeAvailable"` + // The reasons for the current healthState (if any). + HealthReasons GetIsBareMetalServersServerHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource + HealthState pulumi.StringInput `pulumi:"healthState"` + // The URL for this bare metal server + Href pulumi.StringInput `pulumi:"href"` + // Bare metal server id + Id pulumi.StringInput `pulumi:"id"` + // image id + Image pulumi.StringInput `pulumi:"image"` + // SSH key Ids for the bare metal server + Keys pulumi.StringArrayInput `pulumi:"keys"` + // The amount of memory, truncated to whole gibibytes + Memory pulumi.IntInput `pulumi:"memory"` + // The metadata service configuration + MetadataServices GetIsBareMetalServersServerMetadataServiceArrayInput `pulumi:"metadataServices"` + // Bare metal server name + Name pulumi.StringInput `pulumi:"name"` + // The network attachments for this bare metal server, including the primary network attachment. + NetworkAttachments GetIsBareMetalServersServerNetworkAttachmentArrayInput `pulumi:"networkAttachments"` + NetworkInterfaces GetIsBareMetalServersServerNetworkInterfaceArrayInput `pulumi:"networkInterfaces"` + // The primary network attachment. + PrimaryNetworkAttachments GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayInput `pulumi:"primaryNetworkAttachments"` + // Primary Network interface info + PrimaryNetworkInterfaces GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayInput `pulumi:"primaryNetworkInterfaces"` + // profile name + Profile pulumi.StringInput `pulumi:"profile"` + ReservationAffinities GetIsBareMetalServersServerReservationAffinityArrayInput `pulumi:"reservationAffinities"` + // The reservation used by this bare metal server + Reservations GetIsBareMetalServersServerReservationArrayInput `pulumi:"reservations"` + // Resource group name + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // Resource type name + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Bare metal server status + Status pulumi.StringInput `pulumi:"status"` + StatusReasons GetIsBareMetalServersServerStatusReasonArrayInput `pulumi:"statusReasons"` + // Tags for the Bare metal server + Tags pulumi.StringArrayInput `pulumi:"tags"` + TrustedPlatformModules GetIsBareMetalServersServerTrustedPlatformModuleArrayInput `pulumi:"trustedPlatformModules"` + // The VPC the bare metal server is to be a part of + Vpc pulumi.StringInput `pulumi:"vpc"` + // Zone name + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsBareMetalServersServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServer)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerArgs) ToGetIsBareMetalServersServerOutput() GetIsBareMetalServersServerOutput { + return i.ToGetIsBareMetalServersServerOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerArgs) ToGetIsBareMetalServersServerOutputWithContext(ctx context.Context) GetIsBareMetalServersServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerOutput) +} + +// GetIsBareMetalServersServerArrayInput is an input type that accepts GetIsBareMetalServersServerArray and GetIsBareMetalServersServerArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerArrayInput` via: +// +// GetIsBareMetalServersServerArray{ GetIsBareMetalServersServerArgs{...} } +type GetIsBareMetalServersServerArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerArrayOutput() GetIsBareMetalServersServerArrayOutput + ToGetIsBareMetalServersServerArrayOutputWithContext(context.Context) GetIsBareMetalServersServerArrayOutput +} + +type GetIsBareMetalServersServerArray []GetIsBareMetalServersServerInput + +func (GetIsBareMetalServersServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServer)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerArray) ToGetIsBareMetalServersServerArrayOutput() GetIsBareMetalServersServerArrayOutput { + return i.ToGetIsBareMetalServersServerArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerArray) ToGetIsBareMetalServersServerArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerArrayOutput) +} + +type GetIsBareMetalServersServerOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServer)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerOutput) ToGetIsBareMetalServersServerOutput() GetIsBareMetalServersServerOutput { + return o +} + +func (o GetIsBareMetalServersServerOutput) ToGetIsBareMetalServersServerOutputWithContext(ctx context.Context) GetIsBareMetalServersServerOutput { + return o +} + +// List of access tags +func (o GetIsBareMetalServersServerOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The total bandwidth (in megabits per second) +func (o GetIsBareMetalServersServerOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +// The unique identifier for this bare metal server disk +func (o GetIsBareMetalServersServerOutput) BootTarget() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.BootTarget }).(pulumi.StringOutput) +} + +// The bare metal server CPU configuration +func (o GetIsBareMetalServersServerOutput) Cpus() GetIsBareMetalServersServerCpusArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerCpus { return v.Cpus }).(GetIsBareMetalServersServerCpusArrayOutput) +} + +// The date and time that the bare metal server was created +func (o GetIsBareMetalServersServerOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this bare metal server +func (o GetIsBareMetalServersServerOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Crn }).(pulumi.StringOutput) +} + +// The disks for this bare metal server, including any disks that are associated with the boot_target. +func (o GetIsBareMetalServersServerOutput) Disks() GetIsBareMetalServersServerDiskArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerDisk { return v.Disks }).(GetIsBareMetalServersServerDiskArrayOutput) +} + +// Indicates whether secure boot is enabled. If enabled, the image must support secure boot or the server will fail to boot. +func (o GetIsBareMetalServersServerOutput) EnableSecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) bool { return v.EnableSecureBoot }).(pulumi.BoolOutput) +} + +// The type of firmware update available +func (o GetIsBareMetalServersServerOutput) FirmwareUpdateTypeAvailable() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.FirmwareUpdateTypeAvailable }).(pulumi.StringOutput) +} + +// The reasons for the current healthState (if any). +func (o GetIsBareMetalServersServerOutput) HealthReasons() GetIsBareMetalServersServerHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerHealthReason { return v.HealthReasons }).(GetIsBareMetalServersServerHealthReasonArrayOutput) +} + +// The health of this resource +func (o GetIsBareMetalServersServerOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this bare metal server +func (o GetIsBareMetalServersServerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Href }).(pulumi.StringOutput) +} + +// Bare metal server id +func (o GetIsBareMetalServersServerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Id }).(pulumi.StringOutput) +} + +// image id +func (o GetIsBareMetalServersServerOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Image }).(pulumi.StringOutput) +} + +// SSH key Ids for the bare metal server +func (o GetIsBareMetalServersServerOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []string { return v.Keys }).(pulumi.StringArrayOutput) +} + +// The amount of memory, truncated to whole gibibytes +func (o GetIsBareMetalServersServerOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) int { return v.Memory }).(pulumi.IntOutput) +} + +// The metadata service configuration +func (o GetIsBareMetalServersServerOutput) MetadataServices() GetIsBareMetalServersServerMetadataServiceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerMetadataService { + return v.MetadataServices + }).(GetIsBareMetalServersServerMetadataServiceArrayOutput) +} + +// Bare metal server name +func (o GetIsBareMetalServersServerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Name }).(pulumi.StringOutput) +} + +// The network attachments for this bare metal server, including the primary network attachment. +func (o GetIsBareMetalServersServerOutput) NetworkAttachments() GetIsBareMetalServersServerNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerNetworkAttachment { + return v.NetworkAttachments + }).(GetIsBareMetalServersServerNetworkAttachmentArrayOutput) +} + +func (o GetIsBareMetalServersServerOutput) NetworkInterfaces() GetIsBareMetalServersServerNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerNetworkInterface { + return v.NetworkInterfaces + }).(GetIsBareMetalServersServerNetworkInterfaceArrayOutput) +} + +// The primary network attachment. +func (o GetIsBareMetalServersServerOutput) PrimaryNetworkAttachments() GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerPrimaryNetworkAttachment { + return v.PrimaryNetworkAttachments + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput) +} + +// Primary Network interface info +func (o GetIsBareMetalServersServerOutput) PrimaryNetworkInterfaces() GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerPrimaryNetworkInterface { + return v.PrimaryNetworkInterfaces + }).(GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput) +} + +// profile name +func (o GetIsBareMetalServersServerOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerOutput) ReservationAffinities() GetIsBareMetalServersServerReservationAffinityArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerReservationAffinity { + return v.ReservationAffinities + }).(GetIsBareMetalServersServerReservationAffinityArrayOutput) +} + +// The reservation used by this bare metal server +func (o GetIsBareMetalServersServerOutput) Reservations() GetIsBareMetalServersServerReservationArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerReservation { return v.Reservations }).(GetIsBareMetalServersServerReservationArrayOutput) +} + +// Resource group name +func (o GetIsBareMetalServersServerOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// Resource type name +func (o GetIsBareMetalServersServerOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Bare metal server status +func (o GetIsBareMetalServersServerOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerOutput) StatusReasons() GetIsBareMetalServersServerStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerStatusReason { return v.StatusReasons }).(GetIsBareMetalServersServerStatusReasonArrayOutput) +} + +// Tags for the Bare metal server +func (o GetIsBareMetalServersServerOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o GetIsBareMetalServersServerOutput) TrustedPlatformModules() GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) []GetIsBareMetalServersServerTrustedPlatformModule { + return v.TrustedPlatformModules + }).(GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput) +} + +// The VPC the bare metal server is to be a part of +func (o GetIsBareMetalServersServerOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Vpc }).(pulumi.StringOutput) +} + +// Zone name +func (o GetIsBareMetalServersServerOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServer) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServer)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerArrayOutput) ToGetIsBareMetalServersServerArrayOutput() GetIsBareMetalServersServerArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerArrayOutput) ToGetIsBareMetalServersServerArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServer { + return vs[0].([]GetIsBareMetalServersServer)[vs[1].(int)] + }).(GetIsBareMetalServersServerOutput) +} + +type GetIsBareMetalServersServerCpus struct { + // The CPU architecture + Architecture string `pulumi:"architecture"` + // The total number of cores + CoreCount int `pulumi:"coreCount"` + // The total number of CPU sockets + SocketCount int `pulumi:"socketCount"` + // The total number of hardware threads per core + ThreadsPerCore int `pulumi:"threadsPerCore"` +} + +// GetIsBareMetalServersServerCpusInput is an input type that accepts GetIsBareMetalServersServerCpusArgs and GetIsBareMetalServersServerCpusOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerCpusInput` via: +// +// GetIsBareMetalServersServerCpusArgs{...} +type GetIsBareMetalServersServerCpusInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerCpusOutput() GetIsBareMetalServersServerCpusOutput + ToGetIsBareMetalServersServerCpusOutputWithContext(context.Context) GetIsBareMetalServersServerCpusOutput +} + +type GetIsBareMetalServersServerCpusArgs struct { + // The CPU architecture + Architecture pulumi.StringInput `pulumi:"architecture"` + // The total number of cores + CoreCount pulumi.IntInput `pulumi:"coreCount"` + // The total number of CPU sockets + SocketCount pulumi.IntInput `pulumi:"socketCount"` + // The total number of hardware threads per core + ThreadsPerCore pulumi.IntInput `pulumi:"threadsPerCore"` +} + +func (GetIsBareMetalServersServerCpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerCpus)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerCpusArgs) ToGetIsBareMetalServersServerCpusOutput() GetIsBareMetalServersServerCpusOutput { + return i.ToGetIsBareMetalServersServerCpusOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerCpusArgs) ToGetIsBareMetalServersServerCpusOutputWithContext(ctx context.Context) GetIsBareMetalServersServerCpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerCpusOutput) +} + +// GetIsBareMetalServersServerCpusArrayInput is an input type that accepts GetIsBareMetalServersServerCpusArray and GetIsBareMetalServersServerCpusArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerCpusArrayInput` via: +// +// GetIsBareMetalServersServerCpusArray{ GetIsBareMetalServersServerCpusArgs{...} } +type GetIsBareMetalServersServerCpusArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerCpusArrayOutput() GetIsBareMetalServersServerCpusArrayOutput + ToGetIsBareMetalServersServerCpusArrayOutputWithContext(context.Context) GetIsBareMetalServersServerCpusArrayOutput +} + +type GetIsBareMetalServersServerCpusArray []GetIsBareMetalServersServerCpusInput + +func (GetIsBareMetalServersServerCpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerCpus)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerCpusArray) ToGetIsBareMetalServersServerCpusArrayOutput() GetIsBareMetalServersServerCpusArrayOutput { + return i.ToGetIsBareMetalServersServerCpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerCpusArray) ToGetIsBareMetalServersServerCpusArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerCpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerCpusArrayOutput) +} + +type GetIsBareMetalServersServerCpusOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerCpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerCpus)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerCpusOutput) ToGetIsBareMetalServersServerCpusOutput() GetIsBareMetalServersServerCpusOutput { + return o +} + +func (o GetIsBareMetalServersServerCpusOutput) ToGetIsBareMetalServersServerCpusOutputWithContext(ctx context.Context) GetIsBareMetalServersServerCpusOutput { + return o +} + +// The CPU architecture +func (o GetIsBareMetalServersServerCpusOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerCpus) string { return v.Architecture }).(pulumi.StringOutput) +} + +// The total number of cores +func (o GetIsBareMetalServersServerCpusOutput) CoreCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerCpus) int { return v.CoreCount }).(pulumi.IntOutput) +} + +// The total number of CPU sockets +func (o GetIsBareMetalServersServerCpusOutput) SocketCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerCpus) int { return v.SocketCount }).(pulumi.IntOutput) +} + +// The total number of hardware threads per core +func (o GetIsBareMetalServersServerCpusOutput) ThreadsPerCore() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerCpus) int { return v.ThreadsPerCore }).(pulumi.IntOutput) +} + +type GetIsBareMetalServersServerCpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerCpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerCpus)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerCpusArrayOutput) ToGetIsBareMetalServersServerCpusArrayOutput() GetIsBareMetalServersServerCpusArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerCpusArrayOutput) ToGetIsBareMetalServersServerCpusArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerCpusArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerCpusArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerCpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerCpus { + return vs[0].([]GetIsBareMetalServersServerCpus)[vs[1].(int)] + }).(GetIsBareMetalServersServerCpusOutput) +} + +type GetIsBareMetalServersServerDisk struct { + // The usage constraints to be matched against the requested bare metal server properties to determine compatibility. + AllowedUses []GetIsBareMetalServersServerDiskAllowedUse `pulumi:"allowedUses"` + // The URL for this bare metal server disk + Href string `pulumi:"href"` + // The unique identifier for this bare metal server disk + Id string `pulumi:"id"` + // The disk interface used for attaching the disk. Supported values are [ nvme, sata ] + InterfaceType string `pulumi:"interfaceType"` + // The user-defined name for this disk + Name string `pulumi:"name"` + // The resource type + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes) + Size int `pulumi:"size"` +} + +// GetIsBareMetalServersServerDiskInput is an input type that accepts GetIsBareMetalServersServerDiskArgs and GetIsBareMetalServersServerDiskOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerDiskInput` via: +// +// GetIsBareMetalServersServerDiskArgs{...} +type GetIsBareMetalServersServerDiskInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerDiskOutput() GetIsBareMetalServersServerDiskOutput + ToGetIsBareMetalServersServerDiskOutputWithContext(context.Context) GetIsBareMetalServersServerDiskOutput +} + +type GetIsBareMetalServersServerDiskArgs struct { + // The usage constraints to be matched against the requested bare metal server properties to determine compatibility. + AllowedUses GetIsBareMetalServersServerDiskAllowedUseArrayInput `pulumi:"allowedUses"` + // The URL for this bare metal server disk + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this bare metal server disk + Id pulumi.StringInput `pulumi:"id"` + // The disk interface used for attaching the disk. Supported values are [ nvme, sata ] + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The user-defined name for this disk + Name pulumi.StringInput `pulumi:"name"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes) + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetIsBareMetalServersServerDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerDisk)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerDiskArgs) ToGetIsBareMetalServersServerDiskOutput() GetIsBareMetalServersServerDiskOutput { + return i.ToGetIsBareMetalServersServerDiskOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerDiskArgs) ToGetIsBareMetalServersServerDiskOutputWithContext(ctx context.Context) GetIsBareMetalServersServerDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerDiskOutput) +} + +// GetIsBareMetalServersServerDiskArrayInput is an input type that accepts GetIsBareMetalServersServerDiskArray and GetIsBareMetalServersServerDiskArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerDiskArrayInput` via: +// +// GetIsBareMetalServersServerDiskArray{ GetIsBareMetalServersServerDiskArgs{...} } +type GetIsBareMetalServersServerDiskArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerDiskArrayOutput() GetIsBareMetalServersServerDiskArrayOutput + ToGetIsBareMetalServersServerDiskArrayOutputWithContext(context.Context) GetIsBareMetalServersServerDiskArrayOutput +} + +type GetIsBareMetalServersServerDiskArray []GetIsBareMetalServersServerDiskInput + +func (GetIsBareMetalServersServerDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerDisk)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerDiskArray) ToGetIsBareMetalServersServerDiskArrayOutput() GetIsBareMetalServersServerDiskArrayOutput { + return i.ToGetIsBareMetalServersServerDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerDiskArray) ToGetIsBareMetalServersServerDiskArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerDiskArrayOutput) +} + +type GetIsBareMetalServersServerDiskOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerDisk)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerDiskOutput) ToGetIsBareMetalServersServerDiskOutput() GetIsBareMetalServersServerDiskOutput { + return o +} + +func (o GetIsBareMetalServersServerDiskOutput) ToGetIsBareMetalServersServerDiskOutputWithContext(ctx context.Context) GetIsBareMetalServersServerDiskOutput { + return o +} + +// The usage constraints to be matched against the requested bare metal server properties to determine compatibility. +func (o GetIsBareMetalServersServerDiskOutput) AllowedUses() GetIsBareMetalServersServerDiskAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDisk) []GetIsBareMetalServersServerDiskAllowedUse { + return v.AllowedUses + }).(GetIsBareMetalServersServerDiskAllowedUseArrayOutput) +} + +// The URL for this bare metal server disk +func (o GetIsBareMetalServersServerDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this bare metal server disk +func (o GetIsBareMetalServersServerDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The disk interface used for attaching the disk. Supported values are [ nvme, sata ] +func (o GetIsBareMetalServersServerDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDisk) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The user-defined name for this disk +func (o GetIsBareMetalServersServerDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsBareMetalServersServerDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes) +func (o GetIsBareMetalServersServerDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDisk) int { return v.Size }).(pulumi.IntOutput) +} + +type GetIsBareMetalServersServerDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerDisk)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerDiskArrayOutput) ToGetIsBareMetalServersServerDiskArrayOutput() GetIsBareMetalServersServerDiskArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerDiskArrayOutput) ToGetIsBareMetalServersServerDiskArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerDiskArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerDiskArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerDisk { + return vs[0].([]GetIsBareMetalServersServerDisk)[vs[1].(int)] + }).(GetIsBareMetalServersServerDiskOutput) +} + +type GetIsBareMetalServersServerDiskAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. + BareMetalServer string `pulumi:"bareMetalServer"` +} + +// GetIsBareMetalServersServerDiskAllowedUseInput is an input type that accepts GetIsBareMetalServersServerDiskAllowedUseArgs and GetIsBareMetalServersServerDiskAllowedUseOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerDiskAllowedUseInput` via: +// +// GetIsBareMetalServersServerDiskAllowedUseArgs{...} +type GetIsBareMetalServersServerDiskAllowedUseInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerDiskAllowedUseOutput() GetIsBareMetalServersServerDiskAllowedUseOutput + ToGetIsBareMetalServersServerDiskAllowedUseOutputWithContext(context.Context) GetIsBareMetalServersServerDiskAllowedUseOutput +} + +type GetIsBareMetalServersServerDiskAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` +} + +func (GetIsBareMetalServersServerDiskAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerDiskAllowedUse)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerDiskAllowedUseArgs) ToGetIsBareMetalServersServerDiskAllowedUseOutput() GetIsBareMetalServersServerDiskAllowedUseOutput { + return i.ToGetIsBareMetalServersServerDiskAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerDiskAllowedUseArgs) ToGetIsBareMetalServersServerDiskAllowedUseOutputWithContext(ctx context.Context) GetIsBareMetalServersServerDiskAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerDiskAllowedUseOutput) +} + +// GetIsBareMetalServersServerDiskAllowedUseArrayInput is an input type that accepts GetIsBareMetalServersServerDiskAllowedUseArray and GetIsBareMetalServersServerDiskAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerDiskAllowedUseArrayInput` via: +// +// GetIsBareMetalServersServerDiskAllowedUseArray{ GetIsBareMetalServersServerDiskAllowedUseArgs{...} } +type GetIsBareMetalServersServerDiskAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerDiskAllowedUseArrayOutput() GetIsBareMetalServersServerDiskAllowedUseArrayOutput + ToGetIsBareMetalServersServerDiskAllowedUseArrayOutputWithContext(context.Context) GetIsBareMetalServersServerDiskAllowedUseArrayOutput +} + +type GetIsBareMetalServersServerDiskAllowedUseArray []GetIsBareMetalServersServerDiskAllowedUseInput + +func (GetIsBareMetalServersServerDiskAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerDiskAllowedUse)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerDiskAllowedUseArray) ToGetIsBareMetalServersServerDiskAllowedUseArrayOutput() GetIsBareMetalServersServerDiskAllowedUseArrayOutput { + return i.ToGetIsBareMetalServersServerDiskAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerDiskAllowedUseArray) ToGetIsBareMetalServersServerDiskAllowedUseArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerDiskAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerDiskAllowedUseArrayOutput) +} + +type GetIsBareMetalServersServerDiskAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerDiskAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerDiskAllowedUse)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerDiskAllowedUseOutput) ToGetIsBareMetalServersServerDiskAllowedUseOutput() GetIsBareMetalServersServerDiskAllowedUseOutput { + return o +} + +func (o GetIsBareMetalServersServerDiskAllowedUseOutput) ToGetIsBareMetalServersServerDiskAllowedUseOutputWithContext(ctx context.Context) GetIsBareMetalServersServerDiskAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsBareMetalServersServerDiskAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDiskAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this disk. +func (o GetIsBareMetalServersServerDiskAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerDiskAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerDiskAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerDiskAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerDiskAllowedUse)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerDiskAllowedUseArrayOutput) ToGetIsBareMetalServersServerDiskAllowedUseArrayOutput() GetIsBareMetalServersServerDiskAllowedUseArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerDiskAllowedUseArrayOutput) ToGetIsBareMetalServersServerDiskAllowedUseArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerDiskAllowedUseArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerDiskAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerDiskAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerDiskAllowedUse { + return vs[0].([]GetIsBareMetalServersServerDiskAllowedUse)[vs[1].(int)] + }).(GetIsBareMetalServersServerDiskAllowedUseOutput) +} + +type GetIsBareMetalServersServerHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerHealthReasonInput is an input type that accepts GetIsBareMetalServersServerHealthReasonArgs and GetIsBareMetalServersServerHealthReasonOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerHealthReasonInput` via: +// +// GetIsBareMetalServersServerHealthReasonArgs{...} +type GetIsBareMetalServersServerHealthReasonInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerHealthReasonOutput() GetIsBareMetalServersServerHealthReasonOutput + ToGetIsBareMetalServersServerHealthReasonOutputWithContext(context.Context) GetIsBareMetalServersServerHealthReasonOutput +} + +type GetIsBareMetalServersServerHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerHealthReason)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerHealthReasonArgs) ToGetIsBareMetalServersServerHealthReasonOutput() GetIsBareMetalServersServerHealthReasonOutput { + return i.ToGetIsBareMetalServersServerHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerHealthReasonArgs) ToGetIsBareMetalServersServerHealthReasonOutputWithContext(ctx context.Context) GetIsBareMetalServersServerHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerHealthReasonOutput) +} + +// GetIsBareMetalServersServerHealthReasonArrayInput is an input type that accepts GetIsBareMetalServersServerHealthReasonArray and GetIsBareMetalServersServerHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerHealthReasonArrayInput` via: +// +// GetIsBareMetalServersServerHealthReasonArray{ GetIsBareMetalServersServerHealthReasonArgs{...} } +type GetIsBareMetalServersServerHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerHealthReasonArrayOutput() GetIsBareMetalServersServerHealthReasonArrayOutput + ToGetIsBareMetalServersServerHealthReasonArrayOutputWithContext(context.Context) GetIsBareMetalServersServerHealthReasonArrayOutput +} + +type GetIsBareMetalServersServerHealthReasonArray []GetIsBareMetalServersServerHealthReasonInput + +func (GetIsBareMetalServersServerHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerHealthReason)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerHealthReasonArray) ToGetIsBareMetalServersServerHealthReasonArrayOutput() GetIsBareMetalServersServerHealthReasonArrayOutput { + return i.ToGetIsBareMetalServersServerHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerHealthReasonArray) ToGetIsBareMetalServersServerHealthReasonArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerHealthReasonArrayOutput) +} + +type GetIsBareMetalServersServerHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerHealthReason)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerHealthReasonOutput) ToGetIsBareMetalServersServerHealthReasonOutput() GetIsBareMetalServersServerHealthReasonOutput { + return o +} + +func (o GetIsBareMetalServersServerHealthReasonOutput) ToGetIsBareMetalServersServerHealthReasonOutputWithContext(ctx context.Context) GetIsBareMetalServersServerHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsBareMetalServersServerHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsBareMetalServersServerHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsBareMetalServersServerHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerHealthReason)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerHealthReasonArrayOutput) ToGetIsBareMetalServersServerHealthReasonArrayOutput() GetIsBareMetalServersServerHealthReasonArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerHealthReasonArrayOutput) ToGetIsBareMetalServersServerHealthReasonArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerHealthReasonArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerHealthReason { + return vs[0].([]GetIsBareMetalServersServerHealthReason)[vs[1].(int)] + }).(GetIsBareMetalServersServerHealthReasonOutput) +} + +type GetIsBareMetalServersServerMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the bare metal server + Enabled bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol string `pulumi:"protocol"` +} + +// GetIsBareMetalServersServerMetadataServiceInput is an input type that accepts GetIsBareMetalServersServerMetadataServiceArgs and GetIsBareMetalServersServerMetadataServiceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerMetadataServiceInput` via: +// +// GetIsBareMetalServersServerMetadataServiceArgs{...} +type GetIsBareMetalServersServerMetadataServiceInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerMetadataServiceOutput() GetIsBareMetalServersServerMetadataServiceOutput + ToGetIsBareMetalServersServerMetadataServiceOutputWithContext(context.Context) GetIsBareMetalServersServerMetadataServiceOutput +} + +type GetIsBareMetalServersServerMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the bare metal server + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringInput `pulumi:"protocol"` +} + +func (GetIsBareMetalServersServerMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerMetadataService)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerMetadataServiceArgs) ToGetIsBareMetalServersServerMetadataServiceOutput() GetIsBareMetalServersServerMetadataServiceOutput { + return i.ToGetIsBareMetalServersServerMetadataServiceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerMetadataServiceArgs) ToGetIsBareMetalServersServerMetadataServiceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerMetadataServiceOutput) +} + +// GetIsBareMetalServersServerMetadataServiceArrayInput is an input type that accepts GetIsBareMetalServersServerMetadataServiceArray and GetIsBareMetalServersServerMetadataServiceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerMetadataServiceArrayInput` via: +// +// GetIsBareMetalServersServerMetadataServiceArray{ GetIsBareMetalServersServerMetadataServiceArgs{...} } +type GetIsBareMetalServersServerMetadataServiceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerMetadataServiceArrayOutput() GetIsBareMetalServersServerMetadataServiceArrayOutput + ToGetIsBareMetalServersServerMetadataServiceArrayOutputWithContext(context.Context) GetIsBareMetalServersServerMetadataServiceArrayOutput +} + +type GetIsBareMetalServersServerMetadataServiceArray []GetIsBareMetalServersServerMetadataServiceInput + +func (GetIsBareMetalServersServerMetadataServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerMetadataService)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerMetadataServiceArray) ToGetIsBareMetalServersServerMetadataServiceArrayOutput() GetIsBareMetalServersServerMetadataServiceArrayOutput { + return i.ToGetIsBareMetalServersServerMetadataServiceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerMetadataServiceArray) ToGetIsBareMetalServersServerMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerMetadataServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerMetadataServiceArrayOutput) +} + +type GetIsBareMetalServersServerMetadataServiceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerMetadataService)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerMetadataServiceOutput) ToGetIsBareMetalServersServerMetadataServiceOutput() GetIsBareMetalServersServerMetadataServiceOutput { + return o +} + +func (o GetIsBareMetalServersServerMetadataServiceOutput) ToGetIsBareMetalServersServerMetadataServiceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerMetadataServiceOutput { + return o +} + +// Indicates whether the metadata service endpoint will be available to the bare metal server +func (o GetIsBareMetalServersServerMetadataServiceOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerMetadataService) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o GetIsBareMetalServersServerMetadataServiceOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerMetadataService) string { return v.Protocol }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerMetadataServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerMetadataServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerMetadataService)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerMetadataServiceArrayOutput) ToGetIsBareMetalServersServerMetadataServiceArrayOutput() GetIsBareMetalServersServerMetadataServiceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerMetadataServiceArrayOutput) ToGetIsBareMetalServersServerMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerMetadataServiceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerMetadataServiceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerMetadataServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerMetadataService { + return vs[0].([]GetIsBareMetalServersServerMetadataService)[vs[1].(int)] + }).(GetIsBareMetalServersServerMetadataServiceOutput) +} + +type GetIsBareMetalServersServerNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServersServerNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this network attachment. + Href string `pulumi:"href"` + // The unique identifier for this network attachment. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []GetIsBareMetalServersServerNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets []GetIsBareMetalServersServerNetworkAttachmentSubnet `pulumi:"subnets"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces []GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsBareMetalServersServerNetworkAttachmentInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentArgs and GetIsBareMetalServersServerNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentArgs{...} +type GetIsBareMetalServersServerNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentOutput() GetIsBareMetalServersServerNetworkAttachmentOutput + ToGetIsBareMetalServersServerNetworkAttachmentOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServersServerNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network attachment. + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets GetIsBareMetalServersServerNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsBareMetalServersServerNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachment)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentArgs) ToGetIsBareMetalServersServerNetworkAttachmentOutput() GetIsBareMetalServersServerNetworkAttachmentOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentArgs) ToGetIsBareMetalServersServerNetworkAttachmentOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentOutput) +} + +// GetIsBareMetalServersServerNetworkAttachmentArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentArray and GetIsBareMetalServersServerNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentArrayInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentArray{ GetIsBareMetalServersServerNetworkAttachmentArgs{...} } +type GetIsBareMetalServersServerNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentArrayOutput() GetIsBareMetalServersServerNetworkAttachmentArrayOutput + ToGetIsBareMetalServersServerNetworkAttachmentArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentArrayOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentArray []GetIsBareMetalServersServerNetworkAttachmentInput + +func (GetIsBareMetalServersServerNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachment)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentArray) ToGetIsBareMetalServersServerNetworkAttachmentArrayOutput() GetIsBareMetalServersServerNetworkAttachmentArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentArray) ToGetIsBareMetalServersServerNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentArrayOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachment)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) ToGetIsBareMetalServersServerNetworkAttachmentOutput() GetIsBareMetalServersServerNetworkAttachmentOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) ToGetIsBareMetalServersServerNetworkAttachmentOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) Deleteds() GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachment) []GetIsBareMetalServersServerNetworkAttachmentDeleted { + return v.Deleteds + }).(GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this network attachment. +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network attachment. +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) PrimaryIps() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachment) []GetIsBareMetalServersServerNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the network attachment. +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) Subnets() GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachment) []GetIsBareMetalServersServerNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput) +} + +// The virtual network interface for this bare metal server network attachment. +func (o GetIsBareMetalServersServerNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachment) []GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachment)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentArrayOutput() GetIsBareMetalServersServerNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkAttachment { + return vs[0].([]GetIsBareMetalServersServerNetworkAttachment)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkAttachmentOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerNetworkAttachmentDeletedInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentDeletedArgs and GetIsBareMetalServersServerNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentDeletedInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentDeletedArgs{...} +type GetIsBareMetalServersServerNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentDeletedOutput + ToGetIsBareMetalServersServerNetworkAttachmentDeletedOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentDeletedOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentDeletedArgs) ToGetIsBareMetalServersServerNetworkAttachmentDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentDeletedOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentDeletedArgs) ToGetIsBareMetalServersServerNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentDeletedOutput) +} + +// GetIsBareMetalServersServerNetworkAttachmentDeletedArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentDeletedArray and GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentDeletedArrayInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentDeletedArray{ GetIsBareMetalServersServerNetworkAttachmentDeletedArgs{...} } +type GetIsBareMetalServersServerNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput + ToGetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentDeletedArray []GetIsBareMetalServersServerNetworkAttachmentDeletedInput + +func (GetIsBareMetalServersServerNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentDeletedArray) ToGetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentDeletedArray) ToGetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentDeletedOutput) ToGetIsBareMetalServersServerNetworkAttachmentDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentDeletedOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentDeletedOutput) ToGetIsBareMetalServersServerNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServersServerNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkAttachmentDeleted { + return vs[0].([]GetIsBareMetalServersServerNetworkAttachmentDeleted)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkAttachmentDeletedOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArgs and GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentPrimaryIpInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArgs{...} +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput + ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) +} + +// GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArray and GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArray{ GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArgs{...} } +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput + ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArray []GetIsBareMetalServersServerNetworkAttachmentPrimaryIpInput + +func (GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentPrimaryIp) []GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsBareMetalServersServerNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArgs and GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArray and GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArray{ GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArray []GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerNetworkAttachmentSubnetInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentSubnetArgs and GetIsBareMetalServersServerNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentSubnetInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentSubnetArgs{...} +type GetIsBareMetalServersServerNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentSubnetOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetOutput + ToGetIsBareMetalServersServerNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentSubnetArgs) ToGetIsBareMetalServersServerNetworkAttachmentSubnetOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentSubnetArgs) ToGetIsBareMetalServersServerNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) +} + +// GetIsBareMetalServersServerNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentSubnetArray and GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentSubnetArrayInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentSubnetArray{ GetIsBareMetalServersServerNetworkAttachmentSubnetArgs{...} } +type GetIsBareMetalServersServerNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput + ToGetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetArray []GetIsBareMetalServersServerNetworkAttachmentSubnetInput + +func (GetIsBareMetalServersServerNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentSubnetArray) ToGetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentSubnetArray) ToGetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) ToGetIsBareMetalServersServerNetworkAttachmentSubnetOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) ToGetIsBareMetalServersServerNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) Deleteds() GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentSubnet) []GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkAttachmentSubnet { + return vs[0].([]GetIsBareMetalServersServerNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkAttachmentSubnetOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArgs and GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArgs{...} +type GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput + ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArray and GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArray{ GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArray []GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedInput + +func (GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsBareMetalServersServerNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArray and GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArray []GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsBareMetalServersServerNetworkInterface struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // The URL for this network interface + Href string `pulumi:"href"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // IPv4, The IP address. + PrimaryIps []GetIsBareMetalServersServerNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// GetIsBareMetalServersServerNetworkInterfaceInput is an input type that accepts GetIsBareMetalServersServerNetworkInterfaceArgs and GetIsBareMetalServersServerNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkInterfaceInput` via: +// +// GetIsBareMetalServersServerNetworkInterfaceArgs{...} +type GetIsBareMetalServersServerNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkInterfaceOutput() GetIsBareMetalServersServerNetworkInterfaceOutput + ToGetIsBareMetalServersServerNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkInterfaceOutput +} + +type GetIsBareMetalServersServerNetworkInterfaceArgs struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // The URL for this network interface + Href pulumi.StringInput `pulumi:"href"` + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // IPv4, The IP address. + PrimaryIps GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsBareMetalServersServerNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkInterfaceArgs) ToGetIsBareMetalServersServerNetworkInterfaceOutput() GetIsBareMetalServersServerNetworkInterfaceOutput { + return i.ToGetIsBareMetalServersServerNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkInterfaceArgs) ToGetIsBareMetalServersServerNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkInterfaceOutput) +} + +// GetIsBareMetalServersServerNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkInterfaceArray and GetIsBareMetalServersServerNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServersServerNetworkInterfaceArray{ GetIsBareMetalServersServerNetworkInterfaceArgs{...} } +type GetIsBareMetalServersServerNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkInterfaceArrayOutput() GetIsBareMetalServersServerNetworkInterfaceArrayOutput + ToGetIsBareMetalServersServerNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServersServerNetworkInterfaceArray []GetIsBareMetalServersServerNetworkInterfaceInput + +func (GetIsBareMetalServersServerNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkInterfaceArray) ToGetIsBareMetalServersServerNetworkInterfaceArrayOutput() GetIsBareMetalServersServerNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkInterfaceArray) ToGetIsBareMetalServersServerNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServersServerNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) ToGetIsBareMetalServersServerNetworkInterfaceOutput() GetIsBareMetalServersServerNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) ToGetIsBareMetalServersServerNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkInterfaceOutput { + return o +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterface) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// The URL for this network interface +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// IPv4, The IP address. +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) PrimaryIps() GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterface) []GetIsBareMetalServersServerNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput) +} + +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o GetIsBareMetalServersServerNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkInterfaceArrayOutput) ToGetIsBareMetalServersServerNetworkInterfaceArrayOutput() GetIsBareMetalServersServerNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkInterfaceArrayOutput) ToGetIsBareMetalServersServerNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkInterface { + return vs[0].([]GetIsBareMetalServersServerNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkInterfaceOutput) +} + +type GetIsBareMetalServersServerNetworkInterfacePrimaryIp struct { + // The globally unique IP address + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerNetworkInterfacePrimaryIpInput is an input type that accepts GetIsBareMetalServersServerNetworkInterfacePrimaryIpArgs and GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkInterfacePrimaryIpInput` via: +// +// GetIsBareMetalServersServerNetworkInterfacePrimaryIpArgs{...} +type GetIsBareMetalServersServerNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput() GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput + ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput +} + +type GetIsBareMetalServersServerNetworkInterfacePrimaryIpArgs struct { + // The globally unique IP address + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput() GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput { + return i.ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) +} + +// GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsBareMetalServersServerNetworkInterfacePrimaryIpArray and GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsBareMetalServersServerNetworkInterfacePrimaryIpArray{ GetIsBareMetalServersServerNetworkInterfacePrimaryIpArgs{...} } +type GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput + ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsBareMetalServersServerNetworkInterfacePrimaryIpArray []GetIsBareMetalServersServerNetworkInterfacePrimaryIpInput + +func (GetIsBareMetalServersServerNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput() GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput { + return o +} + +// The globally unique IP address +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerNetworkInterfacePrimaryIp { + return vs[0].([]GetIsBareMetalServersServerNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this network attachment. + Href string `pulumi:"href"` + // The unique identifier for this network attachment. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets []GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet `pulumi:"subnets"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces []GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentArgs and GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network attachment. + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The virtual network interface for this bare metal server network attachment. + VirtualNetworkInterfaces GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentArray and GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentArray{ GetIsBareMetalServersServerPrimaryNetworkAttachmentArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentArray []GetIsBareMetalServersServerPrimaryNetworkAttachmentInput + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) Deleteds() GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachment) []GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted { + return v.Deleteds + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this network attachment. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network attachment. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) PrimaryIps() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachment) []GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the network attachment. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) Subnets() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachment) []GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput) +} + +// The virtual network interface for this bare metal server network attachment. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachment) []GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkAttachment { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkAttachment)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArgs and GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArray and GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArray{ GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArray []GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedInput + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkAttachmentDeleted)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArgs and GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArray and GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArray{ GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArray []GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpInput + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp) []GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs and GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArray and GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArray{ GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArray []GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArgs and GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArray and GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArray{ GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArray []GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetInput + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) Deleteds() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet) []GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArgs and GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArray and GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArray{ GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArray []GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedInput + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray and GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray []GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.Name + }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkInterface struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // This URL of the interface + Href string `pulumi:"href"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + PortSpeed int `pulumi:"portSpeed"` + // IPv4, The IP address. + PrimaryIps []GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// GetIsBareMetalServersServerPrimaryNetworkInterfaceInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkInterfaceArgs and GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkInterfaceInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkInterfaceArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkInterfaceOutput() GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput + ToGetIsBareMetalServersServerPrimaryNetworkInterfaceOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfaceArgs struct { + // Indicates whether IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // This URL of the interface + Href pulumi.StringInput `pulumi:"href"` + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + PortSpeed pulumi.IntInput `pulumi:"portSpeed"` + // IPv4, The IP address. + PrimaryIps GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkInterfaceArgs) ToGetIsBareMetalServersServerPrimaryNetworkInterfaceOutput() GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkInterfaceArgs) ToGetIsBareMetalServersServerPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkInterfaceArray and GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkInterfaceArray{ GetIsBareMetalServersServerPrimaryNetworkInterfaceArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput() GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfaceArray []GetIsBareMetalServersServerPrimaryNetworkInterfaceInput + +func (GetIsBareMetalServersServerPrimaryNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkInterfaceArray) ToGetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput() GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkInterfaceArray) ToGetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) ToGetIsBareMetalServersServerPrimaryNetworkInterfaceOutput() GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) ToGetIsBareMetalServersServerPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput { + return o +} + +// Indicates whether IP spoofing is allowed on this interface. +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterface) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// This URL of the interface +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterface) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +// IPv4, The IP address. +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) PrimaryIps() GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterface) []GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput() GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkInterface { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkInterface)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp struct { + // The globally unique IP address + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArgs and GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArgs{...} +type GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput() GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput + ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArgs struct { + // The globally unique IP address + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput() GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArgs) ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) +} + +// GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArray and GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArray{ GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArgs{...} } +type GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput + ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArray []GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpInput + +func (GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArray) ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput() GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +// The globally unique IP address +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp { + return vs[0].([]GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput) +} + +type GetIsBareMetalServersServerReservation struct { + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBareMetalServersServerReservationDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerReservationInput is an input type that accepts GetIsBareMetalServersServerReservationArgs and GetIsBareMetalServersServerReservationOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationInput` via: +// +// GetIsBareMetalServersServerReservationArgs{...} +type GetIsBareMetalServersServerReservationInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationOutput() GetIsBareMetalServersServerReservationOutput + ToGetIsBareMetalServersServerReservationOutputWithContext(context.Context) GetIsBareMetalServersServerReservationOutput +} + +type GetIsBareMetalServersServerReservationArgs struct { + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBareMetalServersServerReservationDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservation)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationArgs) ToGetIsBareMetalServersServerReservationOutput() GetIsBareMetalServersServerReservationOutput { + return i.ToGetIsBareMetalServersServerReservationOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationArgs) ToGetIsBareMetalServersServerReservationOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationOutput) +} + +// GetIsBareMetalServersServerReservationArrayInput is an input type that accepts GetIsBareMetalServersServerReservationArray and GetIsBareMetalServersServerReservationArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationArrayInput` via: +// +// GetIsBareMetalServersServerReservationArray{ GetIsBareMetalServersServerReservationArgs{...} } +type GetIsBareMetalServersServerReservationArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationArrayOutput() GetIsBareMetalServersServerReservationArrayOutput + ToGetIsBareMetalServersServerReservationArrayOutputWithContext(context.Context) GetIsBareMetalServersServerReservationArrayOutput +} + +type GetIsBareMetalServersServerReservationArray []GetIsBareMetalServersServerReservationInput + +func (GetIsBareMetalServersServerReservationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservation)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationArray) ToGetIsBareMetalServersServerReservationArrayOutput() GetIsBareMetalServersServerReservationArrayOutput { + return i.ToGetIsBareMetalServersServerReservationArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationArray) ToGetIsBareMetalServersServerReservationArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationArrayOutput) +} + +type GetIsBareMetalServersServerReservationOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservation)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationOutput) ToGetIsBareMetalServersServerReservationOutput() GetIsBareMetalServersServerReservationOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationOutput) ToGetIsBareMetalServersServerReservationOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationOutput { + return o +} + +// The CRN for this reservation. +func (o GetIsBareMetalServersServerReservationOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservation) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBareMetalServersServerReservationOutput) Deleteds() GetIsBareMetalServersServerReservationDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservation) []GetIsBareMetalServersServerReservationDeleted { + return v.Deleteds + }).(GetIsBareMetalServersServerReservationDeletedArrayOutput) +} + +// The URL for this reservation. +func (o GetIsBareMetalServersServerReservationOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservation) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsBareMetalServersServerReservationOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservation) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o GetIsBareMetalServersServerReservationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservation) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerReservationOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservation) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerReservationArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservation)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationArrayOutput) ToGetIsBareMetalServersServerReservationArrayOutput() GetIsBareMetalServersServerReservationArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationArrayOutput) ToGetIsBareMetalServersServerReservationArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerReservationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerReservation { + return vs[0].([]GetIsBareMetalServersServerReservation)[vs[1].(int)] + }).(GetIsBareMetalServersServerReservationOutput) +} + +type GetIsBareMetalServersServerReservationAffinity struct { + // The reservation affinity policy to use for this bare metal server. + Policy string `pulumi:"policy"` + // The pool of reservations available for use by this bare metal server. + Pools []GetIsBareMetalServersServerReservationAffinityPool `pulumi:"pools"` +} + +// GetIsBareMetalServersServerReservationAffinityInput is an input type that accepts GetIsBareMetalServersServerReservationAffinityArgs and GetIsBareMetalServersServerReservationAffinityOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationAffinityInput` via: +// +// GetIsBareMetalServersServerReservationAffinityArgs{...} +type GetIsBareMetalServersServerReservationAffinityInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationAffinityOutput() GetIsBareMetalServersServerReservationAffinityOutput + ToGetIsBareMetalServersServerReservationAffinityOutputWithContext(context.Context) GetIsBareMetalServersServerReservationAffinityOutput +} + +type GetIsBareMetalServersServerReservationAffinityArgs struct { + // The reservation affinity policy to use for this bare metal server. + Policy pulumi.StringInput `pulumi:"policy"` + // The pool of reservations available for use by this bare metal server. + Pools GetIsBareMetalServersServerReservationAffinityPoolArrayInput `pulumi:"pools"` +} + +func (GetIsBareMetalServersServerReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinity)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationAffinityArgs) ToGetIsBareMetalServersServerReservationAffinityOutput() GetIsBareMetalServersServerReservationAffinityOutput { + return i.ToGetIsBareMetalServersServerReservationAffinityOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationAffinityArgs) ToGetIsBareMetalServersServerReservationAffinityOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationAffinityOutput) +} + +// GetIsBareMetalServersServerReservationAffinityArrayInput is an input type that accepts GetIsBareMetalServersServerReservationAffinityArray and GetIsBareMetalServersServerReservationAffinityArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationAffinityArrayInput` via: +// +// GetIsBareMetalServersServerReservationAffinityArray{ GetIsBareMetalServersServerReservationAffinityArgs{...} } +type GetIsBareMetalServersServerReservationAffinityArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationAffinityArrayOutput() GetIsBareMetalServersServerReservationAffinityArrayOutput + ToGetIsBareMetalServersServerReservationAffinityArrayOutputWithContext(context.Context) GetIsBareMetalServersServerReservationAffinityArrayOutput +} + +type GetIsBareMetalServersServerReservationAffinityArray []GetIsBareMetalServersServerReservationAffinityInput + +func (GetIsBareMetalServersServerReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservationAffinity)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationAffinityArray) ToGetIsBareMetalServersServerReservationAffinityArrayOutput() GetIsBareMetalServersServerReservationAffinityArrayOutput { + return i.ToGetIsBareMetalServersServerReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationAffinityArray) ToGetIsBareMetalServersServerReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationAffinityArrayOutput) +} + +type GetIsBareMetalServersServerReservationAffinityOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinity)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationAffinityOutput) ToGetIsBareMetalServersServerReservationAffinityOutput() GetIsBareMetalServersServerReservationAffinityOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityOutput) ToGetIsBareMetalServersServerReservationAffinityOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this bare metal server. +func (o GetIsBareMetalServersServerReservationAffinityOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinity) string { return v.Policy }).(pulumi.StringOutput) +} + +// The pool of reservations available for use by this bare metal server. +func (o GetIsBareMetalServersServerReservationAffinityOutput) Pools() GetIsBareMetalServersServerReservationAffinityPoolArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinity) []GetIsBareMetalServersServerReservationAffinityPool { + return v.Pools + }).(GetIsBareMetalServersServerReservationAffinityPoolArrayOutput) +} + +type GetIsBareMetalServersServerReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservationAffinity)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationAffinityArrayOutput) ToGetIsBareMetalServersServerReservationAffinityArrayOutput() GetIsBareMetalServersServerReservationAffinityArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityArrayOutput) ToGetIsBareMetalServersServerReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerReservationAffinity { + return vs[0].([]GetIsBareMetalServersServerReservationAffinity)[vs[1].(int)] + }).(GetIsBareMetalServersServerReservationAffinityOutput) +} + +type GetIsBareMetalServersServerReservationAffinityPool struct { + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsBareMetalServersServerReservationAffinityPoolDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsBareMetalServersServerReservationAffinityPoolInput is an input type that accepts GetIsBareMetalServersServerReservationAffinityPoolArgs and GetIsBareMetalServersServerReservationAffinityPoolOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationAffinityPoolInput` via: +// +// GetIsBareMetalServersServerReservationAffinityPoolArgs{...} +type GetIsBareMetalServersServerReservationAffinityPoolInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationAffinityPoolOutput() GetIsBareMetalServersServerReservationAffinityPoolOutput + ToGetIsBareMetalServersServerReservationAffinityPoolOutputWithContext(context.Context) GetIsBareMetalServersServerReservationAffinityPoolOutput +} + +type GetIsBareMetalServersServerReservationAffinityPoolArgs struct { + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsBareMetalServersServerReservationAffinityPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityPool)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationAffinityPoolArgs) ToGetIsBareMetalServersServerReservationAffinityPoolOutput() GetIsBareMetalServersServerReservationAffinityPoolOutput { + return i.ToGetIsBareMetalServersServerReservationAffinityPoolOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationAffinityPoolArgs) ToGetIsBareMetalServersServerReservationAffinityPoolOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationAffinityPoolOutput) +} + +// GetIsBareMetalServersServerReservationAffinityPoolArrayInput is an input type that accepts GetIsBareMetalServersServerReservationAffinityPoolArray and GetIsBareMetalServersServerReservationAffinityPoolArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationAffinityPoolArrayInput` via: +// +// GetIsBareMetalServersServerReservationAffinityPoolArray{ GetIsBareMetalServersServerReservationAffinityPoolArgs{...} } +type GetIsBareMetalServersServerReservationAffinityPoolArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationAffinityPoolArrayOutput() GetIsBareMetalServersServerReservationAffinityPoolArrayOutput + ToGetIsBareMetalServersServerReservationAffinityPoolArrayOutputWithContext(context.Context) GetIsBareMetalServersServerReservationAffinityPoolArrayOutput +} + +type GetIsBareMetalServersServerReservationAffinityPoolArray []GetIsBareMetalServersServerReservationAffinityPoolInput + +func (GetIsBareMetalServersServerReservationAffinityPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservationAffinityPool)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationAffinityPoolArray) ToGetIsBareMetalServersServerReservationAffinityPoolArrayOutput() GetIsBareMetalServersServerReservationAffinityPoolArrayOutput { + return i.ToGetIsBareMetalServersServerReservationAffinityPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationAffinityPoolArray) ToGetIsBareMetalServersServerReservationAffinityPoolArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationAffinityPoolArrayOutput) +} + +type GetIsBareMetalServersServerReservationAffinityPoolOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationAffinityPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityPool)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolOutput) ToGetIsBareMetalServersServerReservationAffinityPoolOutput() GetIsBareMetalServersServerReservationAffinityPoolOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolOutput) ToGetIsBareMetalServersServerReservationAffinityPoolOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityPoolOutput { + return o +} + +// The CRN for this reservation. +func (o GetIsBareMetalServersServerReservationAffinityPoolOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinityPool) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsBareMetalServersServerReservationAffinityPoolOutput) Deleteds() GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinityPool) []GetIsBareMetalServersServerReservationAffinityPoolDeleted { + return v.Deleteds + }).(GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput) +} + +// The URL for this reservation. +func (o GetIsBareMetalServersServerReservationAffinityPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinityPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsBareMetalServersServerReservationAffinityPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinityPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o GetIsBareMetalServersServerReservationAffinityPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinityPool) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsBareMetalServersServerReservationAffinityPoolOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinityPool) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerReservationAffinityPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationAffinityPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservationAffinityPool)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolArrayOutput) ToGetIsBareMetalServersServerReservationAffinityPoolArrayOutput() GetIsBareMetalServersServerReservationAffinityPoolArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolArrayOutput) ToGetIsBareMetalServersServerReservationAffinityPoolArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityPoolArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerReservationAffinityPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerReservationAffinityPool { + return vs[0].([]GetIsBareMetalServersServerReservationAffinityPool)[vs[1].(int)] + }).(GetIsBareMetalServersServerReservationAffinityPoolOutput) +} + +type GetIsBareMetalServersServerReservationAffinityPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerReservationAffinityPoolDeletedInput is an input type that accepts GetIsBareMetalServersServerReservationAffinityPoolDeletedArgs and GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationAffinityPoolDeletedInput` via: +// +// GetIsBareMetalServersServerReservationAffinityPoolDeletedArgs{...} +type GetIsBareMetalServersServerReservationAffinityPoolDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationAffinityPoolDeletedOutput() GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput + ToGetIsBareMetalServersServerReservationAffinityPoolDeletedOutputWithContext(context.Context) GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput +} + +type GetIsBareMetalServersServerReservationAffinityPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerReservationAffinityPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationAffinityPoolDeletedArgs) ToGetIsBareMetalServersServerReservationAffinityPoolDeletedOutput() GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput { + return i.ToGetIsBareMetalServersServerReservationAffinityPoolDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationAffinityPoolDeletedArgs) ToGetIsBareMetalServersServerReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput) +} + +// GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayInput is an input type that accepts GetIsBareMetalServersServerReservationAffinityPoolDeletedArray and GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayInput` via: +// +// GetIsBareMetalServersServerReservationAffinityPoolDeletedArray{ GetIsBareMetalServersServerReservationAffinityPoolDeletedArgs{...} } +type GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput() GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput + ToGetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput +} + +type GetIsBareMetalServersServerReservationAffinityPoolDeletedArray []GetIsBareMetalServersServerReservationAffinityPoolDeletedInput + +func (GetIsBareMetalServersServerReservationAffinityPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationAffinityPoolDeletedArray) ToGetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput() GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput { + return i.ToGetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationAffinityPoolDeletedArray) ToGetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput) +} + +type GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput) ToGetIsBareMetalServersServerReservationAffinityPoolDeletedOutput() GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput) ToGetIsBareMetalServersServerReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationAffinityPoolDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput) ToGetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput() GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput) ToGetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerReservationAffinityPoolDeleted { + return vs[0].([]GetIsBareMetalServersServerReservationAffinityPoolDeleted)[vs[1].(int)] + }).(GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput) +} + +type GetIsBareMetalServersServerReservationDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerReservationDeletedInput is an input type that accepts GetIsBareMetalServersServerReservationDeletedArgs and GetIsBareMetalServersServerReservationDeletedOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationDeletedInput` via: +// +// GetIsBareMetalServersServerReservationDeletedArgs{...} +type GetIsBareMetalServersServerReservationDeletedInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationDeletedOutput() GetIsBareMetalServersServerReservationDeletedOutput + ToGetIsBareMetalServersServerReservationDeletedOutputWithContext(context.Context) GetIsBareMetalServersServerReservationDeletedOutput +} + +type GetIsBareMetalServersServerReservationDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerReservationDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservationDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationDeletedArgs) ToGetIsBareMetalServersServerReservationDeletedOutput() GetIsBareMetalServersServerReservationDeletedOutput { + return i.ToGetIsBareMetalServersServerReservationDeletedOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationDeletedArgs) ToGetIsBareMetalServersServerReservationDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationDeletedOutput) +} + +// GetIsBareMetalServersServerReservationDeletedArrayInput is an input type that accepts GetIsBareMetalServersServerReservationDeletedArray and GetIsBareMetalServersServerReservationDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerReservationDeletedArrayInput` via: +// +// GetIsBareMetalServersServerReservationDeletedArray{ GetIsBareMetalServersServerReservationDeletedArgs{...} } +type GetIsBareMetalServersServerReservationDeletedArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerReservationDeletedArrayOutput() GetIsBareMetalServersServerReservationDeletedArrayOutput + ToGetIsBareMetalServersServerReservationDeletedArrayOutputWithContext(context.Context) GetIsBareMetalServersServerReservationDeletedArrayOutput +} + +type GetIsBareMetalServersServerReservationDeletedArray []GetIsBareMetalServersServerReservationDeletedInput + +func (GetIsBareMetalServersServerReservationDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservationDeleted)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerReservationDeletedArray) ToGetIsBareMetalServersServerReservationDeletedArrayOutput() GetIsBareMetalServersServerReservationDeletedArrayOutput { + return i.ToGetIsBareMetalServersServerReservationDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerReservationDeletedArray) ToGetIsBareMetalServersServerReservationDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerReservationDeletedArrayOutput) +} + +type GetIsBareMetalServersServerReservationDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerReservationDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationDeletedOutput) ToGetIsBareMetalServersServerReservationDeletedOutput() GetIsBareMetalServersServerReservationDeletedOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationDeletedOutput) ToGetIsBareMetalServersServerReservationDeletedOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsBareMetalServersServerReservationDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerReservationDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerReservationDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerReservationDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerReservationDeleted)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerReservationDeletedArrayOutput) ToGetIsBareMetalServersServerReservationDeletedArrayOutput() GetIsBareMetalServersServerReservationDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationDeletedArrayOutput) ToGetIsBareMetalServersServerReservationDeletedArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerReservationDeletedArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerReservationDeletedArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerReservationDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerReservationDeleted { + return vs[0].([]GetIsBareMetalServersServerReservationDeleted)[vs[1].(int)] + }).(GetIsBareMetalServersServerReservationDeletedOutput) +} + +type GetIsBareMetalServersServerStatusReason struct { + // A snake case string succinctly identifying the status reason + Code string `pulumi:"code"` + // An explanation of the status reason + Message string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsBareMetalServersServerStatusReasonInput is an input type that accepts GetIsBareMetalServersServerStatusReasonArgs and GetIsBareMetalServersServerStatusReasonOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerStatusReasonInput` via: +// +// GetIsBareMetalServersServerStatusReasonArgs{...} +type GetIsBareMetalServersServerStatusReasonInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerStatusReasonOutput() GetIsBareMetalServersServerStatusReasonOutput + ToGetIsBareMetalServersServerStatusReasonOutputWithContext(context.Context) GetIsBareMetalServersServerStatusReasonOutput +} + +type GetIsBareMetalServersServerStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsBareMetalServersServerStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerStatusReason)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerStatusReasonArgs) ToGetIsBareMetalServersServerStatusReasonOutput() GetIsBareMetalServersServerStatusReasonOutput { + return i.ToGetIsBareMetalServersServerStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerStatusReasonArgs) ToGetIsBareMetalServersServerStatusReasonOutputWithContext(ctx context.Context) GetIsBareMetalServersServerStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerStatusReasonOutput) +} + +// GetIsBareMetalServersServerStatusReasonArrayInput is an input type that accepts GetIsBareMetalServersServerStatusReasonArray and GetIsBareMetalServersServerStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerStatusReasonArrayInput` via: +// +// GetIsBareMetalServersServerStatusReasonArray{ GetIsBareMetalServersServerStatusReasonArgs{...} } +type GetIsBareMetalServersServerStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerStatusReasonArrayOutput() GetIsBareMetalServersServerStatusReasonArrayOutput + ToGetIsBareMetalServersServerStatusReasonArrayOutputWithContext(context.Context) GetIsBareMetalServersServerStatusReasonArrayOutput +} + +type GetIsBareMetalServersServerStatusReasonArray []GetIsBareMetalServersServerStatusReasonInput + +func (GetIsBareMetalServersServerStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerStatusReason)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerStatusReasonArray) ToGetIsBareMetalServersServerStatusReasonArrayOutput() GetIsBareMetalServersServerStatusReasonArrayOutput { + return i.ToGetIsBareMetalServersServerStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerStatusReasonArray) ToGetIsBareMetalServersServerStatusReasonArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerStatusReasonArrayOutput) +} + +type GetIsBareMetalServersServerStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerStatusReason)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerStatusReasonOutput) ToGetIsBareMetalServersServerStatusReasonOutput() GetIsBareMetalServersServerStatusReasonOutput { + return o +} + +func (o GetIsBareMetalServersServerStatusReasonOutput) ToGetIsBareMetalServersServerStatusReasonOutputWithContext(ctx context.Context) GetIsBareMetalServersServerStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o GetIsBareMetalServersServerStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason +func (o GetIsBareMetalServersServerStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason +func (o GetIsBareMetalServersServerStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsBareMetalServersServerStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerStatusReason)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerStatusReasonArrayOutput) ToGetIsBareMetalServersServerStatusReasonArrayOutput() GetIsBareMetalServersServerStatusReasonArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerStatusReasonArrayOutput) ToGetIsBareMetalServersServerStatusReasonArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerStatusReasonArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerStatusReason { + return vs[0].([]GetIsBareMetalServersServerStatusReason)[vs[1].(int)] + }).(GetIsBareMetalServersServerStatusReasonOutput) +} + +type GetIsBareMetalServersServerTrustedPlatformModule struct { + // Indicates whether the trusted platform module is enabled. + Enabled bool `pulumi:"enabled"` + // The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes + Mode string `pulumi:"mode"` + // The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] + SupportedModes []string `pulumi:"supportedModes"` +} + +// GetIsBareMetalServersServerTrustedPlatformModuleInput is an input type that accepts GetIsBareMetalServersServerTrustedPlatformModuleArgs and GetIsBareMetalServersServerTrustedPlatformModuleOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerTrustedPlatformModuleInput` via: +// +// GetIsBareMetalServersServerTrustedPlatformModuleArgs{...} +type GetIsBareMetalServersServerTrustedPlatformModuleInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerTrustedPlatformModuleOutput() GetIsBareMetalServersServerTrustedPlatformModuleOutput + ToGetIsBareMetalServersServerTrustedPlatformModuleOutputWithContext(context.Context) GetIsBareMetalServersServerTrustedPlatformModuleOutput +} + +type GetIsBareMetalServersServerTrustedPlatformModuleArgs struct { + // Indicates whether the trusted platform module is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes + Mode pulumi.StringInput `pulumi:"mode"` + // The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] + SupportedModes pulumi.StringArrayInput `pulumi:"supportedModes"` +} + +func (GetIsBareMetalServersServerTrustedPlatformModuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerTrustedPlatformModule)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerTrustedPlatformModuleArgs) ToGetIsBareMetalServersServerTrustedPlatformModuleOutput() GetIsBareMetalServersServerTrustedPlatformModuleOutput { + return i.ToGetIsBareMetalServersServerTrustedPlatformModuleOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerTrustedPlatformModuleArgs) ToGetIsBareMetalServersServerTrustedPlatformModuleOutputWithContext(ctx context.Context) GetIsBareMetalServersServerTrustedPlatformModuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerTrustedPlatformModuleOutput) +} + +// GetIsBareMetalServersServerTrustedPlatformModuleArrayInput is an input type that accepts GetIsBareMetalServersServerTrustedPlatformModuleArray and GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput values. +// You can construct a concrete instance of `GetIsBareMetalServersServerTrustedPlatformModuleArrayInput` via: +// +// GetIsBareMetalServersServerTrustedPlatformModuleArray{ GetIsBareMetalServersServerTrustedPlatformModuleArgs{...} } +type GetIsBareMetalServersServerTrustedPlatformModuleArrayInput interface { + pulumi.Input + + ToGetIsBareMetalServersServerTrustedPlatformModuleArrayOutput() GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput + ToGetIsBareMetalServersServerTrustedPlatformModuleArrayOutputWithContext(context.Context) GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput +} + +type GetIsBareMetalServersServerTrustedPlatformModuleArray []GetIsBareMetalServersServerTrustedPlatformModuleInput + +func (GetIsBareMetalServersServerTrustedPlatformModuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerTrustedPlatformModule)(nil)).Elem() +} + +func (i GetIsBareMetalServersServerTrustedPlatformModuleArray) ToGetIsBareMetalServersServerTrustedPlatformModuleArrayOutput() GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput { + return i.ToGetIsBareMetalServersServerTrustedPlatformModuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsBareMetalServersServerTrustedPlatformModuleArray) ToGetIsBareMetalServersServerTrustedPlatformModuleArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput) +} + +type GetIsBareMetalServersServerTrustedPlatformModuleOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerTrustedPlatformModuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsBareMetalServersServerTrustedPlatformModule)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerTrustedPlatformModuleOutput) ToGetIsBareMetalServersServerTrustedPlatformModuleOutput() GetIsBareMetalServersServerTrustedPlatformModuleOutput { + return o +} + +func (o GetIsBareMetalServersServerTrustedPlatformModuleOutput) ToGetIsBareMetalServersServerTrustedPlatformModuleOutputWithContext(ctx context.Context) GetIsBareMetalServersServerTrustedPlatformModuleOutput { + return o +} + +// Indicates whether the trusted platform module is enabled. +func (o GetIsBareMetalServersServerTrustedPlatformModuleOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerTrustedPlatformModule) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The trusted platform module mode to use. The specified value must be listed in the bare metal server profile's supported_trusted_platform_module_modes +func (o GetIsBareMetalServersServerTrustedPlatformModuleOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerTrustedPlatformModule) string { return v.Mode }).(pulumi.StringOutput) +} + +// The trusted platform module (TPM) mode:: disabled: No TPM functionality, tpm_2: TPM 2.0. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. Enum: [ disabled, tpm2 ] +func (o GetIsBareMetalServersServerTrustedPlatformModuleOutput) SupportedModes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsBareMetalServersServerTrustedPlatformModule) []string { return v.SupportedModes }).(pulumi.StringArrayOutput) +} + +type GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsBareMetalServersServerTrustedPlatformModule)(nil)).Elem() +} + +func (o GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput) ToGetIsBareMetalServersServerTrustedPlatformModuleArrayOutput() GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput) ToGetIsBareMetalServersServerTrustedPlatformModuleArrayOutputWithContext(ctx context.Context) GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput { + return o +} + +func (o GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput) Index(i pulumi.IntInput) GetIsBareMetalServersServerTrustedPlatformModuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsBareMetalServersServerTrustedPlatformModule { + return vs[0].([]GetIsBareMetalServersServerTrustedPlatformModule)[vs[1].(int)] + }).(GetIsBareMetalServersServerTrustedPlatformModuleOutput) +} + +type GetIsClusterNetworkInterfaceLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkInterfaceLifecycleReasonInput is an input type that accepts GetIsClusterNetworkInterfaceLifecycleReasonArgs and GetIsClusterNetworkInterfaceLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceLifecycleReasonInput` via: +// +// GetIsClusterNetworkInterfaceLifecycleReasonArgs{...} +type GetIsClusterNetworkInterfaceLifecycleReasonInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceLifecycleReasonOutput() GetIsClusterNetworkInterfaceLifecycleReasonOutput + ToGetIsClusterNetworkInterfaceLifecycleReasonOutputWithContext(context.Context) GetIsClusterNetworkInterfaceLifecycleReasonOutput +} + +type GetIsClusterNetworkInterfaceLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkInterfaceLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceLifecycleReasonArgs) ToGetIsClusterNetworkInterfaceLifecycleReasonOutput() GetIsClusterNetworkInterfaceLifecycleReasonOutput { + return i.ToGetIsClusterNetworkInterfaceLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceLifecycleReasonArgs) ToGetIsClusterNetworkInterfaceLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceLifecycleReasonOutput) +} + +// GetIsClusterNetworkInterfaceLifecycleReasonArrayInput is an input type that accepts GetIsClusterNetworkInterfaceLifecycleReasonArray and GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceLifecycleReasonArrayInput` via: +// +// GetIsClusterNetworkInterfaceLifecycleReasonArray{ GetIsClusterNetworkInterfaceLifecycleReasonArgs{...} } +type GetIsClusterNetworkInterfaceLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceLifecycleReasonArrayOutput() GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput + ToGetIsClusterNetworkInterfaceLifecycleReasonArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput +} + +type GetIsClusterNetworkInterfaceLifecycleReasonArray []GetIsClusterNetworkInterfaceLifecycleReasonInput + +func (GetIsClusterNetworkInterfaceLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceLifecycleReasonArray) ToGetIsClusterNetworkInterfaceLifecycleReasonArrayOutput() GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return i.ToGetIsClusterNetworkInterfaceLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceLifecycleReasonArray) ToGetIsClusterNetworkInterfaceLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput) +} + +type GetIsClusterNetworkInterfaceLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceLifecycleReasonOutput) ToGetIsClusterNetworkInterfaceLifecycleReasonOutput() GetIsClusterNetworkInterfaceLifecycleReasonOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceLifecycleReasonOutput) ToGetIsClusterNetworkInterfaceLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkInterfaceLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsClusterNetworkInterfaceLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsClusterNetworkInterfaceLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput) ToGetIsClusterNetworkInterfaceLifecycleReasonArrayOutput() GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput) ToGetIsClusterNetworkInterfaceLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfaceLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfaceLifecycleReason { + return vs[0].([]GetIsClusterNetworkInterfaceLifecycleReason)[vs[1].(int)] + }).(GetIsClusterNetworkInterfaceLifecycleReasonOutput) +} + +type GetIsClusterNetworkInterfacePrimaryIp struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkInterfacePrimaryIpInput is an input type that accepts GetIsClusterNetworkInterfacePrimaryIpArgs and GetIsClusterNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacePrimaryIpInput` via: +// +// GetIsClusterNetworkInterfacePrimaryIpArgs{...} +type GetIsClusterNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacePrimaryIpOutput() GetIsClusterNetworkInterfacePrimaryIpOutput + ToGetIsClusterNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsClusterNetworkInterfacePrimaryIpOutput +} + +type GetIsClusterNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacePrimaryIpArgs) ToGetIsClusterNetworkInterfacePrimaryIpOutput() GetIsClusterNetworkInterfacePrimaryIpOutput { + return i.ToGetIsClusterNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacePrimaryIpArgs) ToGetIsClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacePrimaryIpOutput) +} + +// GetIsClusterNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsClusterNetworkInterfacePrimaryIpArray and GetIsClusterNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsClusterNetworkInterfacePrimaryIpArray{ GetIsClusterNetworkInterfacePrimaryIpArgs{...} } +type GetIsClusterNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacePrimaryIpArrayOutput() GetIsClusterNetworkInterfacePrimaryIpArrayOutput + ToGetIsClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsClusterNetworkInterfacePrimaryIpArray []GetIsClusterNetworkInterfacePrimaryIpInput + +func (GetIsClusterNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacePrimaryIpArray) ToGetIsClusterNetworkInterfacePrimaryIpArrayOutput() GetIsClusterNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacePrimaryIpArray) ToGetIsClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsClusterNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacePrimaryIpOutput) ToGetIsClusterNetworkInterfacePrimaryIpOutput() GetIsClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsClusterNetworkInterfacePrimaryIpOutput) ToGetIsClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o GetIsClusterNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkInterfacePrimaryIpOutput) Deleteds() GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacePrimaryIp) []GetIsClusterNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o GetIsClusterNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o GetIsClusterNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacePrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o GetIsClusterNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsClusterNetworkInterfacePrimaryIpArrayOutput() GetIsClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacePrimaryIp { + return vs[0].([]GetIsClusterNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacePrimaryIpOutput) +} + +type GetIsClusterNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkInterfacePrimaryIpDeletedInput is an input type that accepts GetIsClusterNetworkInterfacePrimaryIpDeletedArgs and GetIsClusterNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacePrimaryIpDeletedInput` via: +// +// GetIsClusterNetworkInterfacePrimaryIpDeletedArgs{...} +type GetIsClusterNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsClusterNetworkInterfacePrimaryIpDeletedOutput + ToGetIsClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) GetIsClusterNetworkInterfacePrimaryIpDeletedOutput +} + +type GetIsClusterNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacePrimaryIpDeletedArgs) ToGetIsClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsClusterNetworkInterfacePrimaryIpDeletedOutput { + return i.ToGetIsClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacePrimaryIpDeletedArgs) ToGetIsClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +// GetIsClusterNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts GetIsClusterNetworkInterfacePrimaryIpDeletedArray and GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// GetIsClusterNetworkInterfacePrimaryIpDeletedArray{ GetIsClusterNetworkInterfacePrimaryIpDeletedArgs{...} } +type GetIsClusterNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput + ToGetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type GetIsClusterNetworkInterfacePrimaryIpDeletedArray []GetIsClusterNetworkInterfacePrimaryIpDeletedInput + +func (GetIsClusterNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacePrimaryIpDeletedArray) ToGetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToGetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacePrimaryIpDeletedArray) ToGetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type GetIsClusterNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacePrimaryIpDeletedOutput) ToGetIsClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o GetIsClusterNetworkInterfacePrimaryIpDeletedOutput) ToGetIsClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacePrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacePrimaryIpDeleted { + return vs[0].([]GetIsClusterNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +type GetIsClusterNetworkInterfaceSubnet struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id string `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkInterfaceSubnetInput is an input type that accepts GetIsClusterNetworkInterfaceSubnetArgs and GetIsClusterNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceSubnetInput` via: +// +// GetIsClusterNetworkInterfaceSubnetArgs{...} +type GetIsClusterNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceSubnetOutput() GetIsClusterNetworkInterfaceSubnetOutput + ToGetIsClusterNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsClusterNetworkInterfaceSubnetOutput +} + +type GetIsClusterNetworkInterfaceSubnetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceSubnetArgs) ToGetIsClusterNetworkInterfaceSubnetOutput() GetIsClusterNetworkInterfaceSubnetOutput { + return i.ToGetIsClusterNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceSubnetArgs) ToGetIsClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceSubnetOutput) +} + +// GetIsClusterNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsClusterNetworkInterfaceSubnetArray and GetIsClusterNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceSubnetArrayInput` via: +// +// GetIsClusterNetworkInterfaceSubnetArray{ GetIsClusterNetworkInterfaceSubnetArgs{...} } +type GetIsClusterNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceSubnetArrayOutput() GetIsClusterNetworkInterfaceSubnetArrayOutput + ToGetIsClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfaceSubnetArrayOutput +} + +type GetIsClusterNetworkInterfaceSubnetArray []GetIsClusterNetworkInterfaceSubnetInput + +func (GetIsClusterNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceSubnetArray) ToGetIsClusterNetworkInterfaceSubnetArrayOutput() GetIsClusterNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceSubnetArray) ToGetIsClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsClusterNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceSubnetOutput) ToGetIsClusterNetworkInterfaceSubnetOutput() GetIsClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceSubnetOutput) ToGetIsClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceSubnetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkInterfaceSubnetOutput) Deleteds() GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceSubnet) []GetIsClusterNetworkInterfaceSubnetDeleted { + return v.Deleteds + }).(GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this cluster network subnet. +func (o GetIsClusterNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet. +func (o GetIsClusterNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o GetIsClusterNetworkInterfaceSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfaceSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceSubnetArrayOutput) ToGetIsClusterNetworkInterfaceSubnetArrayOutput() GetIsClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceSubnetArrayOutput) ToGetIsClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfaceSubnet { + return vs[0].([]GetIsClusterNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsClusterNetworkInterfaceSubnetOutput) +} + +type GetIsClusterNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkInterfaceSubnetDeletedInput is an input type that accepts GetIsClusterNetworkInterfaceSubnetDeletedArgs and GetIsClusterNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceSubnetDeletedInput` via: +// +// GetIsClusterNetworkInterfaceSubnetDeletedArgs{...} +type GetIsClusterNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceSubnetDeletedOutput() GetIsClusterNetworkInterfaceSubnetDeletedOutput + ToGetIsClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) GetIsClusterNetworkInterfaceSubnetDeletedOutput +} + +type GetIsClusterNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceSubnetDeletedArgs) ToGetIsClusterNetworkInterfaceSubnetDeletedOutput() GetIsClusterNetworkInterfaceSubnetDeletedOutput { + return i.ToGetIsClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceSubnetDeletedArgs) ToGetIsClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceSubnetDeletedOutput) +} + +// GetIsClusterNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts GetIsClusterNetworkInterfaceSubnetDeletedArray and GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceSubnetDeletedArrayInput` via: +// +// GetIsClusterNetworkInterfaceSubnetDeletedArray{ GetIsClusterNetworkInterfaceSubnetDeletedArgs{...} } +type GetIsClusterNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput + ToGetIsClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput +} + +type GetIsClusterNetworkInterfaceSubnetDeletedArray []GetIsClusterNetworkInterfaceSubnetDeletedInput + +func (GetIsClusterNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceSubnetDeletedArray) ToGetIsClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToGetIsClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceSubnetDeletedArray) ToGetIsClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +type GetIsClusterNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceSubnetDeletedOutput) ToGetIsClusterNetworkInterfaceSubnetDeletedOutput() GetIsClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceSubnetDeletedOutput) ToGetIsClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfaceSubnetDeleted { + return vs[0].([]GetIsClusterNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkInterfaceSubnetDeletedOutput) +} + +type GetIsClusterNetworkInterfaceTarget struct { + // The URL for this instance cluster network attachment. + Href string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id string `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkInterfaceTargetInput is an input type that accepts GetIsClusterNetworkInterfaceTargetArgs and GetIsClusterNetworkInterfaceTargetOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceTargetInput` via: +// +// GetIsClusterNetworkInterfaceTargetArgs{...} +type GetIsClusterNetworkInterfaceTargetInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceTargetOutput() GetIsClusterNetworkInterfaceTargetOutput + ToGetIsClusterNetworkInterfaceTargetOutputWithContext(context.Context) GetIsClusterNetworkInterfaceTargetOutput +} + +type GetIsClusterNetworkInterfaceTargetArgs struct { + // The URL for this instance cluster network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkInterfaceTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceTarget)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceTargetArgs) ToGetIsClusterNetworkInterfaceTargetOutput() GetIsClusterNetworkInterfaceTargetOutput { + return i.ToGetIsClusterNetworkInterfaceTargetOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceTargetArgs) ToGetIsClusterNetworkInterfaceTargetOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceTargetOutput) +} + +// GetIsClusterNetworkInterfaceTargetArrayInput is an input type that accepts GetIsClusterNetworkInterfaceTargetArray and GetIsClusterNetworkInterfaceTargetArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceTargetArrayInput` via: +// +// GetIsClusterNetworkInterfaceTargetArray{ GetIsClusterNetworkInterfaceTargetArgs{...} } +type GetIsClusterNetworkInterfaceTargetArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceTargetArrayOutput() GetIsClusterNetworkInterfaceTargetArrayOutput + ToGetIsClusterNetworkInterfaceTargetArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfaceTargetArrayOutput +} + +type GetIsClusterNetworkInterfaceTargetArray []GetIsClusterNetworkInterfaceTargetInput + +func (GetIsClusterNetworkInterfaceTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceTarget)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceTargetArray) ToGetIsClusterNetworkInterfaceTargetArrayOutput() GetIsClusterNetworkInterfaceTargetArrayOutput { + return i.ToGetIsClusterNetworkInterfaceTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceTargetArray) ToGetIsClusterNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceTargetArrayOutput) +} + +type GetIsClusterNetworkInterfaceTargetOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceTarget)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceTargetOutput) ToGetIsClusterNetworkInterfaceTargetOutput() GetIsClusterNetworkInterfaceTargetOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceTargetOutput) ToGetIsClusterNetworkInterfaceTargetOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceTargetOutput { + return o +} + +// The URL for this instance cluster network attachment. +func (o GetIsClusterNetworkInterfaceTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o GetIsClusterNetworkInterfaceTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o GetIsClusterNetworkInterfaceTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfaceTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfaceTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceTarget)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceTargetArrayOutput) ToGetIsClusterNetworkInterfaceTargetArrayOutput() GetIsClusterNetworkInterfaceTargetArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceTargetArrayOutput) ToGetIsClusterNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceTargetArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceTargetArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfaceTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfaceTarget { + return vs[0].([]GetIsClusterNetworkInterfaceTarget)[vs[1].(int)] + }).(GetIsClusterNetworkInterfaceTargetOutput) +} + +type GetIsClusterNetworkInterfaceVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkInterfaceVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkInterfaceVpcInput is an input type that accepts GetIsClusterNetworkInterfaceVpcArgs and GetIsClusterNetworkInterfaceVpcOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceVpcInput` via: +// +// GetIsClusterNetworkInterfaceVpcArgs{...} +type GetIsClusterNetworkInterfaceVpcInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceVpcOutput() GetIsClusterNetworkInterfaceVpcOutput + ToGetIsClusterNetworkInterfaceVpcOutputWithContext(context.Context) GetIsClusterNetworkInterfaceVpcOutput +} + +type GetIsClusterNetworkInterfaceVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkInterfaceVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkInterfaceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceVpc)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceVpcArgs) ToGetIsClusterNetworkInterfaceVpcOutput() GetIsClusterNetworkInterfaceVpcOutput { + return i.ToGetIsClusterNetworkInterfaceVpcOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceVpcArgs) ToGetIsClusterNetworkInterfaceVpcOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceVpcOutput) +} + +// GetIsClusterNetworkInterfaceVpcArrayInput is an input type that accepts GetIsClusterNetworkInterfaceVpcArray and GetIsClusterNetworkInterfaceVpcArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceVpcArrayInput` via: +// +// GetIsClusterNetworkInterfaceVpcArray{ GetIsClusterNetworkInterfaceVpcArgs{...} } +type GetIsClusterNetworkInterfaceVpcArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceVpcArrayOutput() GetIsClusterNetworkInterfaceVpcArrayOutput + ToGetIsClusterNetworkInterfaceVpcArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfaceVpcArrayOutput +} + +type GetIsClusterNetworkInterfaceVpcArray []GetIsClusterNetworkInterfaceVpcInput + +func (GetIsClusterNetworkInterfaceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceVpc)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceVpcArray) ToGetIsClusterNetworkInterfaceVpcArrayOutput() GetIsClusterNetworkInterfaceVpcArrayOutput { + return i.ToGetIsClusterNetworkInterfaceVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceVpcArray) ToGetIsClusterNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceVpcArrayOutput) +} + +type GetIsClusterNetworkInterfaceVpcOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceVpc)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceVpcOutput) ToGetIsClusterNetworkInterfaceVpcOutput() GetIsClusterNetworkInterfaceVpcOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceVpcOutput) ToGetIsClusterNetworkInterfaceVpcOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsClusterNetworkInterfaceVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkInterfaceVpcOutput) Deleteds() GetIsClusterNetworkInterfaceVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceVpc) []GetIsClusterNetworkInterfaceVpcDeleted { return v.Deleteds }).(GetIsClusterNetworkInterfaceVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsClusterNetworkInterfaceVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsClusterNetworkInterfaceVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsClusterNetworkInterfaceVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfaceVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfaceVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceVpc)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceVpcArrayOutput) ToGetIsClusterNetworkInterfaceVpcArrayOutput() GetIsClusterNetworkInterfaceVpcArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceVpcArrayOutput) ToGetIsClusterNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceVpcArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceVpcArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfaceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfaceVpc { + return vs[0].([]GetIsClusterNetworkInterfaceVpc)[vs[1].(int)] + }).(GetIsClusterNetworkInterfaceVpcOutput) +} + +type GetIsClusterNetworkInterfaceVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkInterfaceVpcDeletedInput is an input type that accepts GetIsClusterNetworkInterfaceVpcDeletedArgs and GetIsClusterNetworkInterfaceVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceVpcDeletedInput` via: +// +// GetIsClusterNetworkInterfaceVpcDeletedArgs{...} +type GetIsClusterNetworkInterfaceVpcDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceVpcDeletedOutput() GetIsClusterNetworkInterfaceVpcDeletedOutput + ToGetIsClusterNetworkInterfaceVpcDeletedOutputWithContext(context.Context) GetIsClusterNetworkInterfaceVpcDeletedOutput +} + +type GetIsClusterNetworkInterfaceVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkInterfaceVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceVpcDeletedArgs) ToGetIsClusterNetworkInterfaceVpcDeletedOutput() GetIsClusterNetworkInterfaceVpcDeletedOutput { + return i.ToGetIsClusterNetworkInterfaceVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceVpcDeletedArgs) ToGetIsClusterNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceVpcDeletedOutput) +} + +// GetIsClusterNetworkInterfaceVpcDeletedArrayInput is an input type that accepts GetIsClusterNetworkInterfaceVpcDeletedArray and GetIsClusterNetworkInterfaceVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceVpcDeletedArrayInput` via: +// +// GetIsClusterNetworkInterfaceVpcDeletedArray{ GetIsClusterNetworkInterfaceVpcDeletedArgs{...} } +type GetIsClusterNetworkInterfaceVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceVpcDeletedArrayOutput() GetIsClusterNetworkInterfaceVpcDeletedArrayOutput + ToGetIsClusterNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfaceVpcDeletedArrayOutput +} + +type GetIsClusterNetworkInterfaceVpcDeletedArray []GetIsClusterNetworkInterfaceVpcDeletedInput + +func (GetIsClusterNetworkInterfaceVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceVpcDeletedArray) ToGetIsClusterNetworkInterfaceVpcDeletedArrayOutput() GetIsClusterNetworkInterfaceVpcDeletedArrayOutput { + return i.ToGetIsClusterNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceVpcDeletedArray) ToGetIsClusterNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceVpcDeletedArrayOutput) +} + +type GetIsClusterNetworkInterfaceVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceVpcDeletedOutput) ToGetIsClusterNetworkInterfaceVpcDeletedOutput() GetIsClusterNetworkInterfaceVpcDeletedOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceVpcDeletedOutput) ToGetIsClusterNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkInterfaceVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfaceVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceVpcDeletedArrayOutput) ToGetIsClusterNetworkInterfaceVpcDeletedArrayOutput() GetIsClusterNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceVpcDeletedArrayOutput) ToGetIsClusterNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfaceVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfaceVpcDeleted { + return vs[0].([]GetIsClusterNetworkInterfaceVpcDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkInterfaceVpcDeletedOutput) +} + +type GetIsClusterNetworkInterfaceZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsClusterNetworkInterfaceZoneInput is an input type that accepts GetIsClusterNetworkInterfaceZoneArgs and GetIsClusterNetworkInterfaceZoneOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceZoneInput` via: +// +// GetIsClusterNetworkInterfaceZoneArgs{...} +type GetIsClusterNetworkInterfaceZoneInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceZoneOutput() GetIsClusterNetworkInterfaceZoneOutput + ToGetIsClusterNetworkInterfaceZoneOutputWithContext(context.Context) GetIsClusterNetworkInterfaceZoneOutput +} + +type GetIsClusterNetworkInterfaceZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsClusterNetworkInterfaceZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceZoneArgs) ToGetIsClusterNetworkInterfaceZoneOutput() GetIsClusterNetworkInterfaceZoneOutput { + return i.ToGetIsClusterNetworkInterfaceZoneOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceZoneArgs) ToGetIsClusterNetworkInterfaceZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceZoneOutput) +} + +// GetIsClusterNetworkInterfaceZoneArrayInput is an input type that accepts GetIsClusterNetworkInterfaceZoneArray and GetIsClusterNetworkInterfaceZoneArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfaceZoneArrayInput` via: +// +// GetIsClusterNetworkInterfaceZoneArray{ GetIsClusterNetworkInterfaceZoneArgs{...} } +type GetIsClusterNetworkInterfaceZoneArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfaceZoneArrayOutput() GetIsClusterNetworkInterfaceZoneArrayOutput + ToGetIsClusterNetworkInterfaceZoneArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfaceZoneArrayOutput +} + +type GetIsClusterNetworkInterfaceZoneArray []GetIsClusterNetworkInterfaceZoneInput + +func (GetIsClusterNetworkInterfaceZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfaceZoneArray) ToGetIsClusterNetworkInterfaceZoneArrayOutput() GetIsClusterNetworkInterfaceZoneArrayOutput { + return i.ToGetIsClusterNetworkInterfaceZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfaceZoneArray) ToGetIsClusterNetworkInterfaceZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfaceZoneArrayOutput) +} + +type GetIsClusterNetworkInterfaceZoneOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfaceZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceZoneOutput) ToGetIsClusterNetworkInterfaceZoneOutput() GetIsClusterNetworkInterfaceZoneOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceZoneOutput) ToGetIsClusterNetworkInterfaceZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsClusterNetworkInterfaceZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsClusterNetworkInterfaceZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfaceZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfaceZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfaceZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfaceZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfaceZoneArrayOutput) ToGetIsClusterNetworkInterfaceZoneArrayOutput() GetIsClusterNetworkInterfaceZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceZoneArrayOutput) ToGetIsClusterNetworkInterfaceZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfaceZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfaceZoneArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfaceZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfaceZone { + return vs[0].([]GetIsClusterNetworkInterfaceZone)[vs[1].(int)] + }).(GetIsClusterNetworkInterfaceZoneOutput) +} + +type GetIsClusterNetworkInterfacesInterface struct { + // Indicates whether source IP spoofing is allowed on this cluster network interface. If `false`, source IP spoofing is prevented on this cluster network interface. If `true`, source IP spoofing is allowed on this cluster network interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete bool `pulumi:"autoDelete"` + // The date and time that the cluster network interface was created. + CreatedAt string `pulumi:"createdAt"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + // The URL for this cluster network interface. + Href string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id string `pulumi:"id"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []GetIsClusterNetworkInterfacesInterfaceLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network interface. + LifecycleState string `pulumi:"lifecycleState"` + // The MAC address of the cluster network interface. May be absent if`lifecycleState` is `pending`. + MacAddress string `pulumi:"macAddress"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name string `pulumi:"name"` + // The cluster network subnet reserved IP for this cluster network interface. + PrimaryIps []GetIsClusterNetworkInterfacesInterfacePrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + Subnets []GetIsClusterNetworkInterfacesInterfaceSubnet `pulumi:"subnets"` + // The target of this cluster network interface.If absent, this cluster network interface is not attached to a target.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets []GetIsClusterNetworkInterfacesInterfaceTarget `pulumi:"targets"` + // The VPC this cluster network interface resides in. + Vpcs []GetIsClusterNetworkInterfacesInterfaceVpc `pulumi:"vpcs"` + // The zone this cluster network interface resides in. + Zones []GetIsClusterNetworkInterfacesInterfaceZone `pulumi:"zones"` +} + +// GetIsClusterNetworkInterfacesInterfaceInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceArgs and GetIsClusterNetworkInterfacesInterfaceOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceArgs{...} +type GetIsClusterNetworkInterfacesInterfaceInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceOutput() GetIsClusterNetworkInterfacesInterfaceOutput + ToGetIsClusterNetworkInterfacesInterfaceOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceOutput +} + +type GetIsClusterNetworkInterfacesInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this cluster network interface. If `false`, source IP spoofing is prevented on this cluster network interface. If `true`, source IP spoofing is allowed on this cluster network interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The date and time that the cluster network interface was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations. + EnableInfrastructureNat pulumi.BoolInput `pulumi:"enableInfrastructureNat"` + // The URL for this cluster network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringInput `pulumi:"id"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network interface. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The MAC address of the cluster network interface. May be absent if`lifecycleState` is `pending`. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The cluster network subnet reserved IP for this cluster network interface. + PrimaryIps GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + Subnets GetIsClusterNetworkInterfacesInterfaceSubnetArrayInput `pulumi:"subnets"` + // The target of this cluster network interface.If absent, this cluster network interface is not attached to a target.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets GetIsClusterNetworkInterfacesInterfaceTargetArrayInput `pulumi:"targets"` + // The VPC this cluster network interface resides in. + Vpcs GetIsClusterNetworkInterfacesInterfaceVpcArrayInput `pulumi:"vpcs"` + // The zone this cluster network interface resides in. + Zones GetIsClusterNetworkInterfacesInterfaceZoneArrayInput `pulumi:"zones"` +} + +func (GetIsClusterNetworkInterfacesInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterface)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceArgs) ToGetIsClusterNetworkInterfacesInterfaceOutput() GetIsClusterNetworkInterfacesInterfaceOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceArgs) ToGetIsClusterNetworkInterfacesInterfaceOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceOutput) +} + +// GetIsClusterNetworkInterfacesInterfaceArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceArray and GetIsClusterNetworkInterfacesInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceArray{ GetIsClusterNetworkInterfacesInterfaceArgs{...} } +type GetIsClusterNetworkInterfacesInterfaceArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceArrayOutput() GetIsClusterNetworkInterfacesInterfaceArrayOutput + ToGetIsClusterNetworkInterfacesInterfaceArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfaceArray []GetIsClusterNetworkInterfacesInterfaceInput + +func (GetIsClusterNetworkInterfacesInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterface)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceArray) ToGetIsClusterNetworkInterfacesInterfaceArrayOutput() GetIsClusterNetworkInterfacesInterfaceArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceArray) ToGetIsClusterNetworkInterfacesInterfaceArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterface)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceOutput) ToGetIsClusterNetworkInterfacesInterfaceOutput() GetIsClusterNetworkInterfacesInterfaceOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceOutput) ToGetIsClusterNetworkInterfacesInterfaceOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this cluster network interface. If `false`, source IP spoofing is prevented on this cluster network interface. If `true`, source IP spoofing is allowed on this cluster network interface. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the cluster network interface was created. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) bool { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +// The URL for this cluster network interface. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network interface. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o GetIsClusterNetworkInterfacesInterfaceOutput) LifecycleReasons() GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) []GetIsClusterNetworkInterfacesInterfaceLifecycleReason { + return v.LifecycleReasons + }).(GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput) +} + +// The lifecycle state of the cluster network interface. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The MAC address of the cluster network interface. May be absent if`lifecycleState` is `pending`. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The cluster network subnet reserved IP for this cluster network interface. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) PrimaryIps() GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) []GetIsClusterNetworkInterfacesInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsClusterNetworkInterfacesInterfaceOutput) Subnets() GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) []GetIsClusterNetworkInterfacesInterfaceSubnet { + return v.Subnets + }).(GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput) +} + +// The target of this cluster network interface.If absent, this cluster network interface is not attached to a target.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) Targets() GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) []GetIsClusterNetworkInterfacesInterfaceTarget { + return v.Targets + }).(GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput) +} + +// The VPC this cluster network interface resides in. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) Vpcs() GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) []GetIsClusterNetworkInterfacesInterfaceVpc { + return v.Vpcs + }).(GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput) +} + +// The zone this cluster network interface resides in. +func (o GetIsClusterNetworkInterfacesInterfaceOutput) Zones() GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterface) []GetIsClusterNetworkInterfacesInterfaceZone { + return v.Zones + }).(GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterface)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceArrayOutput() GetIsClusterNetworkInterfacesInterfaceArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterface { + return vs[0].([]GetIsClusterNetworkInterfacesInterface)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfaceOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkInterfacesInterfaceLifecycleReasonInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArgs and GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceLifecycleReasonInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArgs{...} +type GetIsClusterNetworkInterfacesInterfaceLifecycleReasonInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput() GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput + ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput +} + +type GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArgs) ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput() GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArgs) ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput) +} + +// GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArray and GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArray{ GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArgs{...} } +type GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput() GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput + ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArray []GetIsClusterNetworkInterfacesInterfaceLifecycleReasonInput + +func (GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArray) ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput() GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArray) ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput) ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput() GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput) ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput() GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfaceLifecycleReason { + return vs[0].([]GetIsClusterNetworkInterfacesInterfaceLifecycleReason)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput) +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIp struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkInterfacesInterfacePrimaryIpInput is an input type that accepts GetIsClusterNetworkInterfacesInterfacePrimaryIpArgs and GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfacePrimaryIpInput` via: +// +// GetIsClusterNetworkInterfacesInterfacePrimaryIpArgs{...} +type GetIsClusterNetworkInterfacesInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfacePrimaryIpOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput + ToGetIsClusterNetworkInterfacesInterfacePrimaryIpOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkInterfacesInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfacePrimaryIpArgs) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput { + return i.ToGetIsClusterNetworkInterfacesInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfacePrimaryIpArgs) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) +} + +// GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfacePrimaryIpArray and GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfacePrimaryIpArray{ GetIsClusterNetworkInterfacesInterfacePrimaryIpArgs{...} } +type GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput + ToGetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpArray []GetIsClusterNetworkInterfacesInterfacePrimaryIpInput + +func (GetIsClusterNetworkInterfacesInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfacePrimaryIpArray) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfacePrimaryIpArray) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput { + return o +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) Deleteds() GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfacePrimaryIp) []GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted { + return v.Deleteds + }).(GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfacePrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfacePrimaryIp { + return vs[0].([]GetIsClusterNetworkInterfacesInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput) +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedInput is an input type that accepts GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArgs and GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedInput` via: +// +// GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArgs{...} +type GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput + ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArgs) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput { + return i.ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArgs) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput) +} + +// GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArray and GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArray{ GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArgs{...} } +type GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput + ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArray []GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedInput + +func (GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArray) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArray) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput) ToGetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted { + return vs[0].([]GetIsClusterNetworkInterfacesInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceSubnet struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkInterfacesInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id string `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkInterfacesInterfaceSubnetInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceSubnetArgs and GetIsClusterNetworkInterfacesInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceSubnetInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceSubnetArgs{...} +type GetIsClusterNetworkInterfacesInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceSubnetOutput() GetIsClusterNetworkInterfacesInterfaceSubnetOutput + ToGetIsClusterNetworkInterfacesInterfaceSubnetOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetOutput +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkInterfacesInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceSubnetArgs) ToGetIsClusterNetworkInterfacesInterfaceSubnetOutput() GetIsClusterNetworkInterfacesInterfaceSubnetOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceSubnetArgs) ToGetIsClusterNetworkInterfacesInterfaceSubnetOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceSubnetOutput) +} + +// GetIsClusterNetworkInterfacesInterfaceSubnetArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceSubnetArray and GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceSubnetArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceSubnetArray{ GetIsClusterNetworkInterfacesInterfaceSubnetArgs{...} } +type GetIsClusterNetworkInterfacesInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput() GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput + ToGetIsClusterNetworkInterfacesInterfaceSubnetArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetArray []GetIsClusterNetworkInterfacesInterfaceSubnetInput + +func (GetIsClusterNetworkInterfacesInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceSubnetArray) ToGetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput() GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceSubnetArray) ToGetIsClusterNetworkInterfacesInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetOutput) ToGetIsClusterNetworkInterfacesInterfaceSubnetOutput() GetIsClusterNetworkInterfacesInterfaceSubnetOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetOutput) ToGetIsClusterNetworkInterfacesInterfaceSubnetOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkInterfacesInterfaceSubnetOutput) Deleteds() GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceSubnet) []GetIsClusterNetworkInterfacesInterfaceSubnetDeleted { + return v.Deleteds + }).(GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this cluster network subnet. +func (o GetIsClusterNetworkInterfacesInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet. +func (o GetIsClusterNetworkInterfacesInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o GetIsClusterNetworkInterfacesInterfaceSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfacesInterfaceSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput() GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfaceSubnet { + return vs[0].([]GetIsClusterNetworkInterfacesInterfaceSubnet)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfaceSubnetOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkInterfacesInterfaceSubnetDeletedInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArgs and GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceSubnetDeletedInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArgs{...} +type GetIsClusterNetworkInterfacesInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput() GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput + ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArgs) ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput() GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArgs) ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput) +} + +// GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArray and GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArray{ GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArgs{...} } +type GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput + ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArray []GetIsClusterNetworkInterfacesInterfaceSubnetDeletedInput + +func (GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArray) ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArray) ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput) ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput() GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput) ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfaceSubnetDeleted { + return vs[0].([]GetIsClusterNetworkInterfacesInterfaceSubnetDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceTarget struct { + // The URL for this instance cluster network attachment. + Href string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id string `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkInterfacesInterfaceTargetInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceTargetArgs and GetIsClusterNetworkInterfacesInterfaceTargetOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceTargetInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceTargetArgs{...} +type GetIsClusterNetworkInterfacesInterfaceTargetInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceTargetOutput() GetIsClusterNetworkInterfacesInterfaceTargetOutput + ToGetIsClusterNetworkInterfacesInterfaceTargetOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceTargetOutput +} + +type GetIsClusterNetworkInterfacesInterfaceTargetArgs struct { + // The URL for this instance cluster network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkInterfacesInterfaceTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceTarget)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceTargetArgs) ToGetIsClusterNetworkInterfacesInterfaceTargetOutput() GetIsClusterNetworkInterfacesInterfaceTargetOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceTargetOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceTargetArgs) ToGetIsClusterNetworkInterfacesInterfaceTargetOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceTargetOutput) +} + +// GetIsClusterNetworkInterfacesInterfaceTargetArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceTargetArray and GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceTargetArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceTargetArray{ GetIsClusterNetworkInterfacesInterfaceTargetArgs{...} } +type GetIsClusterNetworkInterfacesInterfaceTargetArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceTargetArrayOutput() GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput + ToGetIsClusterNetworkInterfacesInterfaceTargetArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfaceTargetArray []GetIsClusterNetworkInterfacesInterfaceTargetInput + +func (GetIsClusterNetworkInterfacesInterfaceTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceTarget)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceTargetArray) ToGetIsClusterNetworkInterfacesInterfaceTargetArrayOutput() GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceTargetArray) ToGetIsClusterNetworkInterfacesInterfaceTargetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceTargetOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceTarget)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceTargetOutput) ToGetIsClusterNetworkInterfacesInterfaceTargetOutput() GetIsClusterNetworkInterfacesInterfaceTargetOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceTargetOutput) ToGetIsClusterNetworkInterfacesInterfaceTargetOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceTargetOutput { + return o +} + +// The URL for this instance cluster network attachment. +func (o GetIsClusterNetworkInterfacesInterfaceTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o GetIsClusterNetworkInterfacesInterfaceTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o GetIsClusterNetworkInterfacesInterfaceTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfacesInterfaceTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceTarget)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceTargetArrayOutput() GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceTargetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfaceTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfaceTarget { + return vs[0].([]GetIsClusterNetworkInterfacesInterfaceTarget)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfaceTargetOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkInterfacesInterfaceVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkInterfacesInterfaceVpcInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceVpcArgs and GetIsClusterNetworkInterfacesInterfaceVpcOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceVpcInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceVpcArgs{...} +type GetIsClusterNetworkInterfacesInterfaceVpcInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceVpcOutput() GetIsClusterNetworkInterfacesInterfaceVpcOutput + ToGetIsClusterNetworkInterfacesInterfaceVpcOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceVpcOutput +} + +type GetIsClusterNetworkInterfacesInterfaceVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkInterfacesInterfaceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceVpc)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceVpcArgs) ToGetIsClusterNetworkInterfacesInterfaceVpcOutput() GetIsClusterNetworkInterfacesInterfaceVpcOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceVpcOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceVpcArgs) ToGetIsClusterNetworkInterfacesInterfaceVpcOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceVpcOutput) +} + +// GetIsClusterNetworkInterfacesInterfaceVpcArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceVpcArray and GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceVpcArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceVpcArray{ GetIsClusterNetworkInterfacesInterfaceVpcArgs{...} } +type GetIsClusterNetworkInterfacesInterfaceVpcArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceVpcArrayOutput() GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput + ToGetIsClusterNetworkInterfacesInterfaceVpcArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfaceVpcArray []GetIsClusterNetworkInterfacesInterfaceVpcInput + +func (GetIsClusterNetworkInterfacesInterfaceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceVpc)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceVpcArray) ToGetIsClusterNetworkInterfacesInterfaceVpcArrayOutput() GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceVpcArray) ToGetIsClusterNetworkInterfacesInterfaceVpcArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceVpcOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceVpc)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcOutput) ToGetIsClusterNetworkInterfacesInterfaceVpcOutput() GetIsClusterNetworkInterfacesInterfaceVpcOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcOutput) ToGetIsClusterNetworkInterfacesInterfaceVpcOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsClusterNetworkInterfacesInterfaceVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkInterfacesInterfaceVpcOutput) Deleteds() GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceVpc) []GetIsClusterNetworkInterfacesInterfaceVpcDeleted { + return v.Deleteds + }).(GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsClusterNetworkInterfacesInterfaceVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsClusterNetworkInterfacesInterfaceVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsClusterNetworkInterfacesInterfaceVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkInterfacesInterfaceVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceVpc)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceVpcArrayOutput() GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceVpcArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfaceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfaceVpc { + return vs[0].([]GetIsClusterNetworkInterfacesInterfaceVpc)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfaceVpcOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkInterfacesInterfaceVpcDeletedInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceVpcDeletedArgs and GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceVpcDeletedInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceVpcDeletedArgs{...} +type GetIsClusterNetworkInterfacesInterfaceVpcDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput() GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput + ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput +} + +type GetIsClusterNetworkInterfacesInterfaceVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkInterfacesInterfaceVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceVpcDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceVpcDeletedArgs) ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput() GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceVpcDeletedArgs) ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput) +} + +// GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceVpcDeletedArray and GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceVpcDeletedArray{ GetIsClusterNetworkInterfacesInterfaceVpcDeletedArgs{...} } +type GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput + ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfaceVpcDeletedArray []GetIsClusterNetworkInterfacesInterfaceVpcDeletedInput + +func (GetIsClusterNetworkInterfacesInterfaceVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceVpcDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceVpcDeletedArray) ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceVpcDeletedArray) ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceVpcDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput) ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput() GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput) ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceVpcDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput() GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfaceVpcDeleted { + return vs[0].([]GetIsClusterNetworkInterfacesInterfaceVpcDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsClusterNetworkInterfacesInterfaceZoneInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceZoneArgs and GetIsClusterNetworkInterfacesInterfaceZoneOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceZoneInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceZoneArgs{...} +type GetIsClusterNetworkInterfacesInterfaceZoneInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceZoneOutput() GetIsClusterNetworkInterfacesInterfaceZoneOutput + ToGetIsClusterNetworkInterfacesInterfaceZoneOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceZoneOutput +} + +type GetIsClusterNetworkInterfacesInterfaceZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsClusterNetworkInterfacesInterfaceZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceZoneArgs) ToGetIsClusterNetworkInterfacesInterfaceZoneOutput() GetIsClusterNetworkInterfacesInterfaceZoneOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceZoneOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceZoneArgs) ToGetIsClusterNetworkInterfacesInterfaceZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceZoneOutput) +} + +// GetIsClusterNetworkInterfacesInterfaceZoneArrayInput is an input type that accepts GetIsClusterNetworkInterfacesInterfaceZoneArray and GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkInterfacesInterfaceZoneArrayInput` via: +// +// GetIsClusterNetworkInterfacesInterfaceZoneArray{ GetIsClusterNetworkInterfacesInterfaceZoneArgs{...} } +type GetIsClusterNetworkInterfacesInterfaceZoneArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkInterfacesInterfaceZoneArrayOutput() GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput + ToGetIsClusterNetworkInterfacesInterfaceZoneArrayOutputWithContext(context.Context) GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput +} + +type GetIsClusterNetworkInterfacesInterfaceZoneArray []GetIsClusterNetworkInterfacesInterfaceZoneInput + +func (GetIsClusterNetworkInterfacesInterfaceZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkInterfacesInterfaceZoneArray) ToGetIsClusterNetworkInterfacesInterfaceZoneArrayOutput() GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput { + return i.ToGetIsClusterNetworkInterfacesInterfaceZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkInterfacesInterfaceZoneArray) ToGetIsClusterNetworkInterfacesInterfaceZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceZoneOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceZoneOutput) ToGetIsClusterNetworkInterfacesInterfaceZoneOutput() GetIsClusterNetworkInterfacesInterfaceZoneOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceZoneOutput) ToGetIsClusterNetworkInterfacesInterfaceZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsClusterNetworkInterfacesInterfaceZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsClusterNetworkInterfacesInterfaceZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkInterfacesInterfaceZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkInterfacesInterfaceZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceZoneArrayOutput() GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput) ToGetIsClusterNetworkInterfacesInterfaceZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkInterfacesInterfaceZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkInterfacesInterfaceZone { + return vs[0].([]GetIsClusterNetworkInterfacesInterfaceZone)[vs[1].(int)] + }).(GetIsClusterNetworkInterfacesInterfaceZoneOutput) +} + +type GetIsClusterNetworkLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkLifecycleReasonInput is an input type that accepts GetIsClusterNetworkLifecycleReasonArgs and GetIsClusterNetworkLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkLifecycleReasonInput` via: +// +// GetIsClusterNetworkLifecycleReasonArgs{...} +type GetIsClusterNetworkLifecycleReasonInput interface { + pulumi.Input + + ToGetIsClusterNetworkLifecycleReasonOutput() GetIsClusterNetworkLifecycleReasonOutput + ToGetIsClusterNetworkLifecycleReasonOutputWithContext(context.Context) GetIsClusterNetworkLifecycleReasonOutput +} + +type GetIsClusterNetworkLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkLifecycleReasonArgs) ToGetIsClusterNetworkLifecycleReasonOutput() GetIsClusterNetworkLifecycleReasonOutput { + return i.ToGetIsClusterNetworkLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkLifecycleReasonArgs) ToGetIsClusterNetworkLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkLifecycleReasonOutput) +} + +// GetIsClusterNetworkLifecycleReasonArrayInput is an input type that accepts GetIsClusterNetworkLifecycleReasonArray and GetIsClusterNetworkLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkLifecycleReasonArrayInput` via: +// +// GetIsClusterNetworkLifecycleReasonArray{ GetIsClusterNetworkLifecycleReasonArgs{...} } +type GetIsClusterNetworkLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkLifecycleReasonArrayOutput() GetIsClusterNetworkLifecycleReasonArrayOutput + ToGetIsClusterNetworkLifecycleReasonArrayOutputWithContext(context.Context) GetIsClusterNetworkLifecycleReasonArrayOutput +} + +type GetIsClusterNetworkLifecycleReasonArray []GetIsClusterNetworkLifecycleReasonInput + +func (GetIsClusterNetworkLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkLifecycleReasonArray) ToGetIsClusterNetworkLifecycleReasonArrayOutput() GetIsClusterNetworkLifecycleReasonArrayOutput { + return i.ToGetIsClusterNetworkLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkLifecycleReasonArray) ToGetIsClusterNetworkLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkLifecycleReasonArrayOutput) +} + +type GetIsClusterNetworkLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkLifecycleReasonOutput) ToGetIsClusterNetworkLifecycleReasonOutput() GetIsClusterNetworkLifecycleReasonOutput { + return o +} + +func (o GetIsClusterNetworkLifecycleReasonOutput) ToGetIsClusterNetworkLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsClusterNetworkLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsClusterNetworkLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkLifecycleReasonArrayOutput) ToGetIsClusterNetworkLifecycleReasonArrayOutput() GetIsClusterNetworkLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkLifecycleReasonArrayOutput) ToGetIsClusterNetworkLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkLifecycleReason { + return vs[0].([]GetIsClusterNetworkLifecycleReason)[vs[1].(int)] + }).(GetIsClusterNetworkLifecycleReasonOutput) +} + +type GetIsClusterNetworkProfile struct { + // The URL for this cluster network profile. + Href string `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkProfileInput is an input type that accepts GetIsClusterNetworkProfileArgs and GetIsClusterNetworkProfileOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfileInput` via: +// +// GetIsClusterNetworkProfileArgs{...} +type GetIsClusterNetworkProfileInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfileOutput() GetIsClusterNetworkProfileOutput + ToGetIsClusterNetworkProfileOutputWithContext(context.Context) GetIsClusterNetworkProfileOutput +} + +type GetIsClusterNetworkProfileArgs struct { + // The URL for this cluster network profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfileArgs) ToGetIsClusterNetworkProfileOutput() GetIsClusterNetworkProfileOutput { + return i.ToGetIsClusterNetworkProfileOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfileArgs) ToGetIsClusterNetworkProfileOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfileOutput) +} + +// GetIsClusterNetworkProfileArrayInput is an input type that accepts GetIsClusterNetworkProfileArray and GetIsClusterNetworkProfileArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfileArrayInput` via: +// +// GetIsClusterNetworkProfileArray{ GetIsClusterNetworkProfileArgs{...} } +type GetIsClusterNetworkProfileArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfileArrayOutput() GetIsClusterNetworkProfileArrayOutput + ToGetIsClusterNetworkProfileArrayOutputWithContext(context.Context) GetIsClusterNetworkProfileArrayOutput +} + +type GetIsClusterNetworkProfileArray []GetIsClusterNetworkProfileInput + +func (GetIsClusterNetworkProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfileArray) ToGetIsClusterNetworkProfileArrayOutput() GetIsClusterNetworkProfileArrayOutput { + return i.ToGetIsClusterNetworkProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfileArray) ToGetIsClusterNetworkProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfileArrayOutput) +} + +type GetIsClusterNetworkProfileOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfileOutput) ToGetIsClusterNetworkProfileOutput() GetIsClusterNetworkProfileOutput { + return o +} + +func (o GetIsClusterNetworkProfileOutput) ToGetIsClusterNetworkProfileOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileOutput { + return o +} + +// The URL for this cluster network profile. +func (o GetIsClusterNetworkProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this cluster network profile. +func (o GetIsClusterNetworkProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfileArrayOutput) ToGetIsClusterNetworkProfileArrayOutput() GetIsClusterNetworkProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfileArrayOutput) ToGetIsClusterNetworkProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfileArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkProfile { + return vs[0].([]GetIsClusterNetworkProfile)[vs[1].(int)] + }).(GetIsClusterNetworkProfileOutput) +} + +type GetIsClusterNetworkProfileSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkProfileSupportedInstanceProfileInput is an input type that accepts GetIsClusterNetworkProfileSupportedInstanceProfileArgs and GetIsClusterNetworkProfileSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfileSupportedInstanceProfileInput` via: +// +// GetIsClusterNetworkProfileSupportedInstanceProfileArgs{...} +type GetIsClusterNetworkProfileSupportedInstanceProfileInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfileSupportedInstanceProfileOutput() GetIsClusterNetworkProfileSupportedInstanceProfileOutput + ToGetIsClusterNetworkProfileSupportedInstanceProfileOutputWithContext(context.Context) GetIsClusterNetworkProfileSupportedInstanceProfileOutput +} + +type GetIsClusterNetworkProfileSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkProfileSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfileSupportedInstanceProfileArgs) ToGetIsClusterNetworkProfileSupportedInstanceProfileOutput() GetIsClusterNetworkProfileSupportedInstanceProfileOutput { + return i.ToGetIsClusterNetworkProfileSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfileSupportedInstanceProfileArgs) ToGetIsClusterNetworkProfileSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfileSupportedInstanceProfileOutput) +} + +// GetIsClusterNetworkProfileSupportedInstanceProfileArrayInput is an input type that accepts GetIsClusterNetworkProfileSupportedInstanceProfileArray and GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfileSupportedInstanceProfileArrayInput` via: +// +// GetIsClusterNetworkProfileSupportedInstanceProfileArray{ GetIsClusterNetworkProfileSupportedInstanceProfileArgs{...} } +type GetIsClusterNetworkProfileSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput() GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput + ToGetIsClusterNetworkProfileSupportedInstanceProfileArrayOutputWithContext(context.Context) GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput +} + +type GetIsClusterNetworkProfileSupportedInstanceProfileArray []GetIsClusterNetworkProfileSupportedInstanceProfileInput + +func (GetIsClusterNetworkProfileSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfileSupportedInstanceProfileArray) ToGetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput() GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput { + return i.ToGetIsClusterNetworkProfileSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfileSupportedInstanceProfileArray) ToGetIsClusterNetworkProfileSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput) +} + +type GetIsClusterNetworkProfileSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfileSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfileSupportedInstanceProfileOutput) ToGetIsClusterNetworkProfileSupportedInstanceProfileOutput() GetIsClusterNetworkProfileSupportedInstanceProfileOutput { + return o +} + +func (o GetIsClusterNetworkProfileSupportedInstanceProfileOutput) ToGetIsClusterNetworkProfileSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsClusterNetworkProfileSupportedInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfileSupportedInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsClusterNetworkProfileSupportedInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfileSupportedInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkProfileSupportedInstanceProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfileSupportedInstanceProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput) ToGetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput() GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput) ToGetIsClusterNetworkProfileSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkProfileSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkProfileSupportedInstanceProfile { + return vs[0].([]GetIsClusterNetworkProfileSupportedInstanceProfile)[vs[1].(int)] + }).(GetIsClusterNetworkProfileSupportedInstanceProfileOutput) +} + +type GetIsClusterNetworkProfileZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsClusterNetworkProfileZoneInput is an input type that accepts GetIsClusterNetworkProfileZoneArgs and GetIsClusterNetworkProfileZoneOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfileZoneInput` via: +// +// GetIsClusterNetworkProfileZoneArgs{...} +type GetIsClusterNetworkProfileZoneInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfileZoneOutput() GetIsClusterNetworkProfileZoneOutput + ToGetIsClusterNetworkProfileZoneOutputWithContext(context.Context) GetIsClusterNetworkProfileZoneOutput +} + +type GetIsClusterNetworkProfileZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsClusterNetworkProfileZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfileZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfileZoneArgs) ToGetIsClusterNetworkProfileZoneOutput() GetIsClusterNetworkProfileZoneOutput { + return i.ToGetIsClusterNetworkProfileZoneOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfileZoneArgs) ToGetIsClusterNetworkProfileZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfileZoneOutput) +} + +// GetIsClusterNetworkProfileZoneArrayInput is an input type that accepts GetIsClusterNetworkProfileZoneArray and GetIsClusterNetworkProfileZoneArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfileZoneArrayInput` via: +// +// GetIsClusterNetworkProfileZoneArray{ GetIsClusterNetworkProfileZoneArgs{...} } +type GetIsClusterNetworkProfileZoneArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfileZoneArrayOutput() GetIsClusterNetworkProfileZoneArrayOutput + ToGetIsClusterNetworkProfileZoneArrayOutputWithContext(context.Context) GetIsClusterNetworkProfileZoneArrayOutput +} + +type GetIsClusterNetworkProfileZoneArray []GetIsClusterNetworkProfileZoneInput + +func (GetIsClusterNetworkProfileZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfileZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfileZoneArray) ToGetIsClusterNetworkProfileZoneArrayOutput() GetIsClusterNetworkProfileZoneArrayOutput { + return i.ToGetIsClusterNetworkProfileZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfileZoneArray) ToGetIsClusterNetworkProfileZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfileZoneArrayOutput) +} + +type GetIsClusterNetworkProfileZoneOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfileZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfileZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfileZoneOutput) ToGetIsClusterNetworkProfileZoneOutput() GetIsClusterNetworkProfileZoneOutput { + return o +} + +func (o GetIsClusterNetworkProfileZoneOutput) ToGetIsClusterNetworkProfileZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsClusterNetworkProfileZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfileZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsClusterNetworkProfileZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfileZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkProfileZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfileZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfileZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfileZoneArrayOutput) ToGetIsClusterNetworkProfileZoneArrayOutput() GetIsClusterNetworkProfileZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfileZoneArrayOutput) ToGetIsClusterNetworkProfileZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfileZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfileZoneArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkProfileZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkProfileZone { + return vs[0].([]GetIsClusterNetworkProfileZone)[vs[1].(int)] + }).(GetIsClusterNetworkProfileZoneOutput) +} + +type GetIsClusterNetworkProfilesProfile struct { + // The product family this cluster network profile belongs to.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family string `pulumi:"family"` + // The URL for this cluster network profile. + Href string `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The instance profiles that support this cluster network profile. + SupportedInstanceProfiles []GetIsClusterNetworkProfilesProfileSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + // Zones in this region that support this cluster network profile. + Zones []GetIsClusterNetworkProfilesProfileZone `pulumi:"zones"` +} + +// GetIsClusterNetworkProfilesProfileInput is an input type that accepts GetIsClusterNetworkProfilesProfileArgs and GetIsClusterNetworkProfilesProfileOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfilesProfileInput` via: +// +// GetIsClusterNetworkProfilesProfileArgs{...} +type GetIsClusterNetworkProfilesProfileInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfilesProfileOutput() GetIsClusterNetworkProfilesProfileOutput + ToGetIsClusterNetworkProfilesProfileOutputWithContext(context.Context) GetIsClusterNetworkProfilesProfileOutput +} + +type GetIsClusterNetworkProfilesProfileArgs struct { + // The product family this cluster network profile belongs to.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family pulumi.StringInput `pulumi:"family"` + // The URL for this cluster network profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The instance profiles that support this cluster network profile. + SupportedInstanceProfiles GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayInput `pulumi:"supportedInstanceProfiles"` + // Zones in this region that support this cluster network profile. + Zones GetIsClusterNetworkProfilesProfileZoneArrayInput `pulumi:"zones"` +} + +func (GetIsClusterNetworkProfilesProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfilesProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfilesProfileArgs) ToGetIsClusterNetworkProfilesProfileOutput() GetIsClusterNetworkProfilesProfileOutput { + return i.ToGetIsClusterNetworkProfilesProfileOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfilesProfileArgs) ToGetIsClusterNetworkProfilesProfileOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfilesProfileOutput) +} + +// GetIsClusterNetworkProfilesProfileArrayInput is an input type that accepts GetIsClusterNetworkProfilesProfileArray and GetIsClusterNetworkProfilesProfileArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfilesProfileArrayInput` via: +// +// GetIsClusterNetworkProfilesProfileArray{ GetIsClusterNetworkProfilesProfileArgs{...} } +type GetIsClusterNetworkProfilesProfileArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfilesProfileArrayOutput() GetIsClusterNetworkProfilesProfileArrayOutput + ToGetIsClusterNetworkProfilesProfileArrayOutputWithContext(context.Context) GetIsClusterNetworkProfilesProfileArrayOutput +} + +type GetIsClusterNetworkProfilesProfileArray []GetIsClusterNetworkProfilesProfileInput + +func (GetIsClusterNetworkProfilesProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfilesProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfilesProfileArray) ToGetIsClusterNetworkProfilesProfileArrayOutput() GetIsClusterNetworkProfilesProfileArrayOutput { + return i.ToGetIsClusterNetworkProfilesProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfilesProfileArray) ToGetIsClusterNetworkProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfilesProfileArrayOutput) +} + +type GetIsClusterNetworkProfilesProfileOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfilesProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfilesProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfilesProfileOutput) ToGetIsClusterNetworkProfilesProfileOutput() GetIsClusterNetworkProfilesProfileOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileOutput) ToGetIsClusterNetworkProfilesProfileOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileOutput { + return o +} + +// The product family this cluster network profile belongs to.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkProfilesProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this cluster network profile. +func (o GetIsClusterNetworkProfilesProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this cluster network profile. +func (o GetIsClusterNetworkProfilesProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkProfilesProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The instance profiles that support this cluster network profile. +func (o GetIsClusterNetworkProfilesProfileOutput) SupportedInstanceProfiles() GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfile) []GetIsClusterNetworkProfilesProfileSupportedInstanceProfile { + return v.SupportedInstanceProfiles + }).(GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput) +} + +// Zones in this region that support this cluster network profile. +func (o GetIsClusterNetworkProfilesProfileOutput) Zones() GetIsClusterNetworkProfilesProfileZoneArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfile) []GetIsClusterNetworkProfilesProfileZone { return v.Zones }).(GetIsClusterNetworkProfilesProfileZoneArrayOutput) +} + +type GetIsClusterNetworkProfilesProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfilesProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfilesProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfilesProfileArrayOutput) ToGetIsClusterNetworkProfilesProfileArrayOutput() GetIsClusterNetworkProfilesProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileArrayOutput) ToGetIsClusterNetworkProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkProfilesProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkProfilesProfile { + return vs[0].([]GetIsClusterNetworkProfilesProfile)[vs[1].(int)] + }).(GetIsClusterNetworkProfilesProfileOutput) +} + +type GetIsClusterNetworkProfilesProfileSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkProfilesProfileSupportedInstanceProfileInput is an input type that accepts GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArgs and GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfilesProfileSupportedInstanceProfileInput` via: +// +// GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArgs{...} +type GetIsClusterNetworkProfilesProfileSupportedInstanceProfileInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput() GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput + ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutputWithContext(context.Context) GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput +} + +type GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfilesProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArgs) ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput() GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput { + return i.ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArgs) ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput) +} + +// GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayInput is an input type that accepts GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArray and GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayInput` via: +// +// GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArray{ GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArgs{...} } +type GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput() GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput + ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutputWithContext(context.Context) GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput +} + +type GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArray []GetIsClusterNetworkProfilesProfileSupportedInstanceProfileInput + +func (GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfilesProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArray) ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput() GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput { + return i.ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArray) ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput) +} + +type GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfilesProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput) ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput() GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput) ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfileSupportedInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfileSupportedInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfileSupportedInstanceProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfilesProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput) ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput() GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput) ToGetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkProfilesProfileSupportedInstanceProfile { + return vs[0].([]GetIsClusterNetworkProfilesProfileSupportedInstanceProfile)[vs[1].(int)] + }).(GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput) +} + +type GetIsClusterNetworkProfilesProfileZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsClusterNetworkProfilesProfileZoneInput is an input type that accepts GetIsClusterNetworkProfilesProfileZoneArgs and GetIsClusterNetworkProfilesProfileZoneOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfilesProfileZoneInput` via: +// +// GetIsClusterNetworkProfilesProfileZoneArgs{...} +type GetIsClusterNetworkProfilesProfileZoneInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfilesProfileZoneOutput() GetIsClusterNetworkProfilesProfileZoneOutput + ToGetIsClusterNetworkProfilesProfileZoneOutputWithContext(context.Context) GetIsClusterNetworkProfilesProfileZoneOutput +} + +type GetIsClusterNetworkProfilesProfileZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsClusterNetworkProfilesProfileZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfilesProfileZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfilesProfileZoneArgs) ToGetIsClusterNetworkProfilesProfileZoneOutput() GetIsClusterNetworkProfilesProfileZoneOutput { + return i.ToGetIsClusterNetworkProfilesProfileZoneOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfilesProfileZoneArgs) ToGetIsClusterNetworkProfilesProfileZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfilesProfileZoneOutput) +} + +// GetIsClusterNetworkProfilesProfileZoneArrayInput is an input type that accepts GetIsClusterNetworkProfilesProfileZoneArray and GetIsClusterNetworkProfilesProfileZoneArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkProfilesProfileZoneArrayInput` via: +// +// GetIsClusterNetworkProfilesProfileZoneArray{ GetIsClusterNetworkProfilesProfileZoneArgs{...} } +type GetIsClusterNetworkProfilesProfileZoneArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkProfilesProfileZoneArrayOutput() GetIsClusterNetworkProfilesProfileZoneArrayOutput + ToGetIsClusterNetworkProfilesProfileZoneArrayOutputWithContext(context.Context) GetIsClusterNetworkProfilesProfileZoneArrayOutput +} + +type GetIsClusterNetworkProfilesProfileZoneArray []GetIsClusterNetworkProfilesProfileZoneInput + +func (GetIsClusterNetworkProfilesProfileZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfilesProfileZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkProfilesProfileZoneArray) ToGetIsClusterNetworkProfilesProfileZoneArrayOutput() GetIsClusterNetworkProfilesProfileZoneArrayOutput { + return i.ToGetIsClusterNetworkProfilesProfileZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkProfilesProfileZoneArray) ToGetIsClusterNetworkProfilesProfileZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkProfilesProfileZoneArrayOutput) +} + +type GetIsClusterNetworkProfilesProfileZoneOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfilesProfileZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkProfilesProfileZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfilesProfileZoneOutput) ToGetIsClusterNetworkProfilesProfileZoneOutput() GetIsClusterNetworkProfilesProfileZoneOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileZoneOutput) ToGetIsClusterNetworkProfilesProfileZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsClusterNetworkProfilesProfileZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfileZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsClusterNetworkProfilesProfileZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkProfilesProfileZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkProfilesProfileZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkProfilesProfileZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkProfilesProfileZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkProfilesProfileZoneArrayOutput) ToGetIsClusterNetworkProfilesProfileZoneArrayOutput() GetIsClusterNetworkProfilesProfileZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileZoneArrayOutput) ToGetIsClusterNetworkProfilesProfileZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkProfilesProfileZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkProfilesProfileZoneArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkProfilesProfileZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkProfilesProfileZone { + return vs[0].([]GetIsClusterNetworkProfilesProfileZone)[vs[1].(int)] + }).(GetIsClusterNetworkProfilesProfileZoneOutput) +} + +type GetIsClusterNetworkResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsClusterNetworkResourceGroupInput is an input type that accepts GetIsClusterNetworkResourceGroupArgs and GetIsClusterNetworkResourceGroupOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkResourceGroupInput` via: +// +// GetIsClusterNetworkResourceGroupArgs{...} +type GetIsClusterNetworkResourceGroupInput interface { + pulumi.Input + + ToGetIsClusterNetworkResourceGroupOutput() GetIsClusterNetworkResourceGroupOutput + ToGetIsClusterNetworkResourceGroupOutputWithContext(context.Context) GetIsClusterNetworkResourceGroupOutput +} + +type GetIsClusterNetworkResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsClusterNetworkResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkResourceGroup)(nil)).Elem() +} + +func (i GetIsClusterNetworkResourceGroupArgs) ToGetIsClusterNetworkResourceGroupOutput() GetIsClusterNetworkResourceGroupOutput { + return i.ToGetIsClusterNetworkResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkResourceGroupArgs) ToGetIsClusterNetworkResourceGroupOutputWithContext(ctx context.Context) GetIsClusterNetworkResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkResourceGroupOutput) +} + +// GetIsClusterNetworkResourceGroupArrayInput is an input type that accepts GetIsClusterNetworkResourceGroupArray and GetIsClusterNetworkResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkResourceGroupArrayInput` via: +// +// GetIsClusterNetworkResourceGroupArray{ GetIsClusterNetworkResourceGroupArgs{...} } +type GetIsClusterNetworkResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkResourceGroupArrayOutput() GetIsClusterNetworkResourceGroupArrayOutput + ToGetIsClusterNetworkResourceGroupArrayOutputWithContext(context.Context) GetIsClusterNetworkResourceGroupArrayOutput +} + +type GetIsClusterNetworkResourceGroupArray []GetIsClusterNetworkResourceGroupInput + +func (GetIsClusterNetworkResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkResourceGroup)(nil)).Elem() +} + +func (i GetIsClusterNetworkResourceGroupArray) ToGetIsClusterNetworkResourceGroupArrayOutput() GetIsClusterNetworkResourceGroupArrayOutput { + return i.ToGetIsClusterNetworkResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkResourceGroupArray) ToGetIsClusterNetworkResourceGroupArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkResourceGroupArrayOutput) +} + +type GetIsClusterNetworkResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkResourceGroup)(nil)).Elem() +} + +func (o GetIsClusterNetworkResourceGroupOutput) ToGetIsClusterNetworkResourceGroupOutput() GetIsClusterNetworkResourceGroupOutput { + return o +} + +func (o GetIsClusterNetworkResourceGroupOutput) ToGetIsClusterNetworkResourceGroupOutputWithContext(ctx context.Context) GetIsClusterNetworkResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsClusterNetworkResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsClusterNetworkResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsClusterNetworkResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkResourceGroup)(nil)).Elem() +} + +func (o GetIsClusterNetworkResourceGroupArrayOutput) ToGetIsClusterNetworkResourceGroupArrayOutput() GetIsClusterNetworkResourceGroupArrayOutput { + return o +} + +func (o GetIsClusterNetworkResourceGroupArrayOutput) ToGetIsClusterNetworkResourceGroupArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkResourceGroupArrayOutput { + return o +} + +func (o GetIsClusterNetworkResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkResourceGroup { + return vs[0].([]GetIsClusterNetworkResourceGroup)[vs[1].(int)] + }).(GetIsClusterNetworkResourceGroupOutput) +} + +type GetIsClusterNetworkSubnetLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkSubnetLifecycleReasonInput is an input type that accepts GetIsClusterNetworkSubnetLifecycleReasonArgs and GetIsClusterNetworkSubnetLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetLifecycleReasonInput` via: +// +// GetIsClusterNetworkSubnetLifecycleReasonArgs{...} +type GetIsClusterNetworkSubnetLifecycleReasonInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetLifecycleReasonOutput() GetIsClusterNetworkSubnetLifecycleReasonOutput + ToGetIsClusterNetworkSubnetLifecycleReasonOutputWithContext(context.Context) GetIsClusterNetworkSubnetLifecycleReasonOutput +} + +type GetIsClusterNetworkSubnetLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkSubnetLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetLifecycleReasonArgs) ToGetIsClusterNetworkSubnetLifecycleReasonOutput() GetIsClusterNetworkSubnetLifecycleReasonOutput { + return i.ToGetIsClusterNetworkSubnetLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetLifecycleReasonArgs) ToGetIsClusterNetworkSubnetLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetLifecycleReasonOutput) +} + +// GetIsClusterNetworkSubnetLifecycleReasonArrayInput is an input type that accepts GetIsClusterNetworkSubnetLifecycleReasonArray and GetIsClusterNetworkSubnetLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetLifecycleReasonArrayInput` via: +// +// GetIsClusterNetworkSubnetLifecycleReasonArray{ GetIsClusterNetworkSubnetLifecycleReasonArgs{...} } +type GetIsClusterNetworkSubnetLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetLifecycleReasonArrayOutput + ToGetIsClusterNetworkSubnetLifecycleReasonArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetLifecycleReasonArrayOutput +} + +type GetIsClusterNetworkSubnetLifecycleReasonArray []GetIsClusterNetworkSubnetLifecycleReasonInput + +func (GetIsClusterNetworkSubnetLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetLifecycleReasonArray) ToGetIsClusterNetworkSubnetLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetLifecycleReasonArrayOutput { + return i.ToGetIsClusterNetworkSubnetLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetLifecycleReasonArray) ToGetIsClusterNetworkSubnetLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetLifecycleReasonArrayOutput) +} + +type GetIsClusterNetworkSubnetLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetLifecycleReasonOutput) ToGetIsClusterNetworkSubnetLifecycleReasonOutput() GetIsClusterNetworkSubnetLifecycleReasonOutput { + return o +} + +func (o GetIsClusterNetworkSubnetLifecycleReasonOutput) ToGetIsClusterNetworkSubnetLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkSubnetLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsClusterNetworkSubnetLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsClusterNetworkSubnetLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetLifecycleReasonArrayOutput) ToGetIsClusterNetworkSubnetLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetLifecycleReasonArrayOutput) ToGetIsClusterNetworkSubnetLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetLifecycleReason { + return vs[0].([]GetIsClusterNetworkSubnetLifecycleReason)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetLifecycleReasonOutput) +} + +type GetIsClusterNetworkSubnetPrefix struct { + // The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. + AllocationPolicy string `pulumi:"allocationPolicy"` + // The CIDR block for this prefix. + Cidr string `pulumi:"cidr"` +} + +// GetIsClusterNetworkSubnetPrefixInput is an input type that accepts GetIsClusterNetworkSubnetPrefixArgs and GetIsClusterNetworkSubnetPrefixOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetPrefixInput` via: +// +// GetIsClusterNetworkSubnetPrefixArgs{...} +type GetIsClusterNetworkSubnetPrefixInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetPrefixOutput() GetIsClusterNetworkSubnetPrefixOutput + ToGetIsClusterNetworkSubnetPrefixOutputWithContext(context.Context) GetIsClusterNetworkSubnetPrefixOutput +} + +type GetIsClusterNetworkSubnetPrefixArgs struct { + // The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. + AllocationPolicy pulumi.StringInput `pulumi:"allocationPolicy"` + // The CIDR block for this prefix. + Cidr pulumi.StringInput `pulumi:"cidr"` +} + +func (GetIsClusterNetworkSubnetPrefixArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetPrefix)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetPrefixArgs) ToGetIsClusterNetworkSubnetPrefixOutput() GetIsClusterNetworkSubnetPrefixOutput { + return i.ToGetIsClusterNetworkSubnetPrefixOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetPrefixArgs) ToGetIsClusterNetworkSubnetPrefixOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetPrefixOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetPrefixOutput) +} + +// GetIsClusterNetworkSubnetPrefixArrayInput is an input type that accepts GetIsClusterNetworkSubnetPrefixArray and GetIsClusterNetworkSubnetPrefixArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetPrefixArrayInput` via: +// +// GetIsClusterNetworkSubnetPrefixArray{ GetIsClusterNetworkSubnetPrefixArgs{...} } +type GetIsClusterNetworkSubnetPrefixArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetPrefixArrayOutput() GetIsClusterNetworkSubnetPrefixArrayOutput + ToGetIsClusterNetworkSubnetPrefixArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetPrefixArrayOutput +} + +type GetIsClusterNetworkSubnetPrefixArray []GetIsClusterNetworkSubnetPrefixInput + +func (GetIsClusterNetworkSubnetPrefixArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetPrefix)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetPrefixArray) ToGetIsClusterNetworkSubnetPrefixArrayOutput() GetIsClusterNetworkSubnetPrefixArrayOutput { + return i.ToGetIsClusterNetworkSubnetPrefixArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetPrefixArray) ToGetIsClusterNetworkSubnetPrefixArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetPrefixArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetPrefixArrayOutput) +} + +type GetIsClusterNetworkSubnetPrefixOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetPrefixOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetPrefix)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetPrefixOutput) ToGetIsClusterNetworkSubnetPrefixOutput() GetIsClusterNetworkSubnetPrefixOutput { + return o +} + +func (o GetIsClusterNetworkSubnetPrefixOutput) ToGetIsClusterNetworkSubnetPrefixOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetPrefixOutput { + return o +} + +// The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. +func (o GetIsClusterNetworkSubnetPrefixOutput) AllocationPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetPrefix) string { return v.AllocationPolicy }).(pulumi.StringOutput) +} + +// The CIDR block for this prefix. +func (o GetIsClusterNetworkSubnetPrefixOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetPrefix) string { return v.Cidr }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetPrefixArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetPrefixArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetPrefix)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetPrefixArrayOutput) ToGetIsClusterNetworkSubnetPrefixArrayOutput() GetIsClusterNetworkSubnetPrefixArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetPrefixArrayOutput) ToGetIsClusterNetworkSubnetPrefixArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetPrefixArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetPrefixArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetPrefixOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetPrefix { + return vs[0].([]GetIsClusterNetworkSubnetPrefix)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetPrefixOutput) +} + +type GetIsClusterNetworkSubnetReservedIpLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkSubnetReservedIpLifecycleReasonInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpLifecycleReasonArgs and GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpLifecycleReasonInput` via: +// +// GetIsClusterNetworkSubnetReservedIpLifecycleReasonArgs{...} +type GetIsClusterNetworkSubnetReservedIpLifecycleReasonInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput() GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput + ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput +} + +type GetIsClusterNetworkSubnetReservedIpLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkSubnetReservedIpLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpLifecycleReasonArgs) ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput() GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpLifecycleReasonArgs) ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput) +} + +// GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpLifecycleReasonArray and GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput` via: +// +// GetIsClusterNetworkSubnetReservedIpLifecycleReasonArray{ GetIsClusterNetworkSubnetReservedIpLifecycleReasonArgs{...} } +type GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput + ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput +} + +type GetIsClusterNetworkSubnetReservedIpLifecycleReasonArray []GetIsClusterNetworkSubnetReservedIpLifecycleReasonInput + +func (GetIsClusterNetworkSubnetReservedIpLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpLifecycleReasonArray) ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpLifecycleReasonArray) ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) +} + +type GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput) ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput() GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput) ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) ToGetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetReservedIpLifecycleReason { + return vs[0].([]GetIsClusterNetworkSubnetReservedIpLifecycleReason)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput) +} + +type GetIsClusterNetworkSubnetReservedIpTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkSubnetReservedIpTargetDeleted `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id string `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkSubnetReservedIpTargetInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpTargetArgs and GetIsClusterNetworkSubnetReservedIpTargetOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpTargetInput` via: +// +// GetIsClusterNetworkSubnetReservedIpTargetArgs{...} +type GetIsClusterNetworkSubnetReservedIpTargetInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpTargetOutput() GetIsClusterNetworkSubnetReservedIpTargetOutput + ToGetIsClusterNetworkSubnetReservedIpTargetOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpTargetOutput +} + +type GetIsClusterNetworkSubnetReservedIpTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkSubnetReservedIpTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpTarget)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpTargetArgs) ToGetIsClusterNetworkSubnetReservedIpTargetOutput() GetIsClusterNetworkSubnetReservedIpTargetOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpTargetOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpTargetArgs) ToGetIsClusterNetworkSubnetReservedIpTargetOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpTargetOutput) +} + +// GetIsClusterNetworkSubnetReservedIpTargetArrayInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpTargetArray and GetIsClusterNetworkSubnetReservedIpTargetArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpTargetArrayInput` via: +// +// GetIsClusterNetworkSubnetReservedIpTargetArray{ GetIsClusterNetworkSubnetReservedIpTargetArgs{...} } +type GetIsClusterNetworkSubnetReservedIpTargetArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpTargetArrayOutput() GetIsClusterNetworkSubnetReservedIpTargetArrayOutput + ToGetIsClusterNetworkSubnetReservedIpTargetArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpTargetArrayOutput +} + +type GetIsClusterNetworkSubnetReservedIpTargetArray []GetIsClusterNetworkSubnetReservedIpTargetInput + +func (GetIsClusterNetworkSubnetReservedIpTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpTarget)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpTargetArray) ToGetIsClusterNetworkSubnetReservedIpTargetArrayOutput() GetIsClusterNetworkSubnetReservedIpTargetArrayOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpTargetArray) ToGetIsClusterNetworkSubnetReservedIpTargetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpTargetArrayOutput) +} + +type GetIsClusterNetworkSubnetReservedIpTargetOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpTarget)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetOutput) ToGetIsClusterNetworkSubnetReservedIpTargetOutput() GetIsClusterNetworkSubnetReservedIpTargetOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetOutput) ToGetIsClusterNetworkSubnetReservedIpTargetOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkSubnetReservedIpTargetOutput) Deleteds() GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpTarget) []GetIsClusterNetworkSubnetReservedIpTargetDeleted { + return v.Deleteds + }).(GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) +} + +// The URL for this cluster network interface. +func (o GetIsClusterNetworkSubnetReservedIpTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network interface. +func (o GetIsClusterNetworkSubnetReservedIpTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o GetIsClusterNetworkSubnetReservedIpTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkSubnetReservedIpTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetReservedIpTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpTarget)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetArrayOutput) ToGetIsClusterNetworkSubnetReservedIpTargetArrayOutput() GetIsClusterNetworkSubnetReservedIpTargetArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetArrayOutput) ToGetIsClusterNetworkSubnetReservedIpTargetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpTargetArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetReservedIpTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetReservedIpTarget { + return vs[0].([]GetIsClusterNetworkSubnetReservedIpTarget)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetReservedIpTargetOutput) +} + +type GetIsClusterNetworkSubnetReservedIpTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkSubnetReservedIpTargetDeletedInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpTargetDeletedArgs and GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpTargetDeletedInput` via: +// +// GetIsClusterNetworkSubnetReservedIpTargetDeletedArgs{...} +type GetIsClusterNetworkSubnetReservedIpTargetDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpTargetDeletedOutput() GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput + ToGetIsClusterNetworkSubnetReservedIpTargetDeletedOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput +} + +type GetIsClusterNetworkSubnetReservedIpTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkSubnetReservedIpTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpTargetDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpTargetDeletedArgs) ToGetIsClusterNetworkSubnetReservedIpTargetDeletedOutput() GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpTargetDeletedArgs) ToGetIsClusterNetworkSubnetReservedIpTargetDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput) +} + +// GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpTargetDeletedArray and GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayInput` via: +// +// GetIsClusterNetworkSubnetReservedIpTargetDeletedArray{ GetIsClusterNetworkSubnetReservedIpTargetDeletedArgs{...} } +type GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput() GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput + ToGetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput +} + +type GetIsClusterNetworkSubnetReservedIpTargetDeletedArray []GetIsClusterNetworkSubnetReservedIpTargetDeletedInput + +func (GetIsClusterNetworkSubnetReservedIpTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpTargetDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpTargetDeletedArray) ToGetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput() GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpTargetDeletedArray) ToGetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) +} + +type GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpTargetDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput) ToGetIsClusterNetworkSubnetReservedIpTargetDeletedOutput() GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput) ToGetIsClusterNetworkSubnetReservedIpTargetDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpTargetDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) ToGetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput() GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) ToGetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetReservedIpTargetDeleted { + return vs[0].([]GetIsClusterNetworkSubnetReservedIpTargetDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIp struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address string `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The date and time that the cluster network subnet reserved IP was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this cluster network subnet reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id string `pulumi:"id"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network subnet reserved IP. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name string `pulumi:"name"` + // The owner of the cluster network subnet reserved IPThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Owner string `pulumi:"owner"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The target this cluster network subnet reserved IP is bound to.If absent, this cluster network subnet reserved IP is provider-owned or unbound. + Targets []GetIsClusterNetworkSubnetReservedIpsReservedIpTarget `pulumi:"targets"` +} + +// GetIsClusterNetworkSubnetReservedIpsReservedIpInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpsReservedIpArgs and GetIsClusterNetworkSubnetReservedIpsReservedIpOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpsReservedIpInput` via: +// +// GetIsClusterNetworkSubnetReservedIpsReservedIpArgs{...} +type GetIsClusterNetworkSubnetReservedIpsReservedIpInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpsReservedIpOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpOutput + ToGetIsClusterNetworkSubnetReservedIpsReservedIpOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpOutput +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The date and time that the cluster network subnet reserved IP was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network subnet reserved IP. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringInput `pulumi:"name"` + // The owner of the cluster network subnet reserved IPThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Owner pulumi.StringInput `pulumi:"owner"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The target this cluster network subnet reserved IP is bound to.If absent, this cluster network subnet reserved IP is provider-owned or unbound. + Targets GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayInput `pulumi:"targets"` +} + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIp)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpArgs) ToGetIsClusterNetworkSubnetReservedIpsReservedIpOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpsReservedIpOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpArgs) ToGetIsClusterNetworkSubnetReservedIpsReservedIpOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) +} + +// GetIsClusterNetworkSubnetReservedIpsReservedIpArrayInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpsReservedIpArray and GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpsReservedIpArrayInput` via: +// +// GetIsClusterNetworkSubnetReservedIpsReservedIpArray{ GetIsClusterNetworkSubnetReservedIpsReservedIpArgs{...} } +type GetIsClusterNetworkSubnetReservedIpsReservedIpArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput + ToGetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpArray []GetIsClusterNetworkSubnetReservedIpsReservedIpInput + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpsReservedIp)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpArray) ToGetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpArray) ToGetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIp)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpOutput { + return o +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) string { return v.Address }).(pulumi.StringOutput) +} + +// Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the cluster network subnet reserved IP was created. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) LifecycleReasons() GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) []GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason { + return v.LifecycleReasons + }).(GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput) +} + +// The lifecycle state of the cluster network subnet reserved IP. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The owner of the cluster network subnet reserved IPThe enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) string { return v.Owner }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The target this cluster network subnet reserved IP is bound to.If absent, this cluster network subnet reserved IP is provider-owned or unbound. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) Targets() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIp) []GetIsClusterNetworkSubnetReservedIpsReservedIpTarget { + return v.Targets + }).(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpsReservedIp)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetReservedIpsReservedIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetReservedIpsReservedIp { + return vs[0].([]GetIsClusterNetworkSubnetReservedIpsReservedIp)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetReservedIpsReservedIpOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArgs and GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonInput` via: +// +// GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArgs{...} +type GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput + ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArgs) ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArgs) ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput) +} + +// GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArray and GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayInput` via: +// +// GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArray{ GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArgs{...} } +type GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput + ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArray []GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonInput + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArray) ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArray) ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason { + return vs[0].([]GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReason)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id string `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkSubnetReservedIpsReservedIpTargetInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArgs and GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpsReservedIpTargetInput` via: +// +// GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArgs{...} +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput + ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpTarget)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArgs) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArgs) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) +} + +// GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArray and GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayInput` via: +// +// GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArray{ GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArgs{...} } +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput + ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArray []GetIsClusterNetworkSubnetReservedIpsReservedIpTargetInput + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpsReservedIpTarget)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArray) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArray) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpTarget)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) Deleteds() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpTarget) []GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted { + return v.Deleteds + }).(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput) +} + +// The URL for this cluster network interface. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network interface. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpsReservedIpTarget)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetReservedIpsReservedIpTarget { + return vs[0].([]GetIsClusterNetworkSubnetReservedIpsReservedIpTarget)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArgs and GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedInput` via: +// +// GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArgs{...} +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput + ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArgs) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArgs) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput) +} + +// GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayInput is an input type that accepts GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArray and GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayInput` via: +// +// GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArray{ GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArgs{...} } +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput + ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArray []GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedInput + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArray) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput { + return i.ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArray) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput() GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput) ToGetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted { + return vs[0].([]GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput) +} + +type GetIsClusterNetworkSubnetsSubnet struct { + // The number of IPv4 addresses in this cluster network subnet that are not in use, and have not been reserved by the user or the provider. + AvailableIpv4AddressCount int `pulumi:"availableIpv4AddressCount"` + // The date and time that the cluster network subnet was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this cluster network subnet. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id string `pulumi:"id"` + // The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IpVersion string `pulumi:"ipVersion"` + // The IPv4 range of this cluster network subnet, expressed in CIDR format. + Ipv4CidrBlock string `pulumi:"ipv4CidrBlock"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []GetIsClusterNetworkSubnetsSubnetLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network subnet. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount int `pulumi:"totalIpv4AddressCount"` +} + +// GetIsClusterNetworkSubnetsSubnetInput is an input type that accepts GetIsClusterNetworkSubnetsSubnetArgs and GetIsClusterNetworkSubnetsSubnetOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetsSubnetInput` via: +// +// GetIsClusterNetworkSubnetsSubnetArgs{...} +type GetIsClusterNetworkSubnetsSubnetInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetsSubnetOutput() GetIsClusterNetworkSubnetsSubnetOutput + ToGetIsClusterNetworkSubnetsSubnetOutputWithContext(context.Context) GetIsClusterNetworkSubnetsSubnetOutput +} + +type GetIsClusterNetworkSubnetsSubnetArgs struct { + // The number of IPv4 addresses in this cluster network subnet that are not in use, and have not been reserved by the user or the provider. + AvailableIpv4AddressCount pulumi.IntInput `pulumi:"availableIpv4AddressCount"` + // The date and time that the cluster network subnet was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this cluster network subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringInput `pulumi:"id"` + // The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + // The IPv4 range of this cluster network subnet, expressed in CIDR format. + Ipv4CidrBlock pulumi.StringInput `pulumi:"ipv4CidrBlock"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network subnet. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. + TotalIpv4AddressCount pulumi.IntInput `pulumi:"totalIpv4AddressCount"` +} + +func (GetIsClusterNetworkSubnetsSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetsSubnet)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetsSubnetArgs) ToGetIsClusterNetworkSubnetsSubnetOutput() GetIsClusterNetworkSubnetsSubnetOutput { + return i.ToGetIsClusterNetworkSubnetsSubnetOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetsSubnetArgs) ToGetIsClusterNetworkSubnetsSubnetOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetsSubnetOutput) +} + +// GetIsClusterNetworkSubnetsSubnetArrayInput is an input type that accepts GetIsClusterNetworkSubnetsSubnetArray and GetIsClusterNetworkSubnetsSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetsSubnetArrayInput` via: +// +// GetIsClusterNetworkSubnetsSubnetArray{ GetIsClusterNetworkSubnetsSubnetArgs{...} } +type GetIsClusterNetworkSubnetsSubnetArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetsSubnetArrayOutput() GetIsClusterNetworkSubnetsSubnetArrayOutput + ToGetIsClusterNetworkSubnetsSubnetArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetsSubnetArrayOutput +} + +type GetIsClusterNetworkSubnetsSubnetArray []GetIsClusterNetworkSubnetsSubnetInput + +func (GetIsClusterNetworkSubnetsSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetsSubnet)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetsSubnetArray) ToGetIsClusterNetworkSubnetsSubnetArrayOutput() GetIsClusterNetworkSubnetsSubnetArrayOutput { + return i.ToGetIsClusterNetworkSubnetsSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetsSubnetArray) ToGetIsClusterNetworkSubnetsSubnetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetsSubnetArrayOutput) +} + +type GetIsClusterNetworkSubnetsSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetsSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetsSubnet)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetsSubnetOutput) ToGetIsClusterNetworkSubnetsSubnetOutput() GetIsClusterNetworkSubnetsSubnetOutput { + return o +} + +func (o GetIsClusterNetworkSubnetsSubnetOutput) ToGetIsClusterNetworkSubnetsSubnetOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsSubnetOutput { + return o +} + +// The number of IPv4 addresses in this cluster network subnet that are not in use, and have not been reserved by the user or the provider. +func (o GetIsClusterNetworkSubnetsSubnetOutput) AvailableIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) int { return v.AvailableIpv4AddressCount }).(pulumi.IntOutput) +} + +// The date and time that the cluster network subnet was created. +func (o GetIsClusterNetworkSubnetsSubnetOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this cluster network subnet. +func (o GetIsClusterNetworkSubnetsSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet. +func (o GetIsClusterNetworkSubnetsSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The IP version for this cluster network subnet.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkSubnetsSubnetOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) string { return v.IpVersion }).(pulumi.StringOutput) +} + +// The IPv4 range of this cluster network subnet, expressed in CIDR format. +func (o GetIsClusterNetworkSubnetsSubnetOutput) Ipv4CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) string { return v.Ipv4CidrBlock }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o GetIsClusterNetworkSubnetsSubnetOutput) LifecycleReasons() GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) []GetIsClusterNetworkSubnetsSubnetLifecycleReason { + return v.LifecycleReasons + }).(GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput) +} + +// The lifecycle state of the cluster network subnet. +func (o GetIsClusterNetworkSubnetsSubnetOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o GetIsClusterNetworkSubnetsSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkSubnetsSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The total number of IPv4 addresses in this cluster network subnet.Note: This is calculated as 2(32 - prefix length). For example, the prefix length `/24` gives:
2(32 - 24) = 28 = 256 addresses. +func (o GetIsClusterNetworkSubnetsSubnetOutput) TotalIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnet) int { return v.TotalIpv4AddressCount }).(pulumi.IntOutput) +} + +type GetIsClusterNetworkSubnetsSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetsSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetsSubnet)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetsSubnetArrayOutput) ToGetIsClusterNetworkSubnetsSubnetArrayOutput() GetIsClusterNetworkSubnetsSubnetArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetsSubnetArrayOutput) ToGetIsClusterNetworkSubnetsSubnetArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsSubnetArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetsSubnetArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetsSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetsSubnet { + return vs[0].([]GetIsClusterNetworkSubnetsSubnet)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetsSubnetOutput) +} + +type GetIsClusterNetworkSubnetsSubnetLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkSubnetsSubnetLifecycleReasonInput is an input type that accepts GetIsClusterNetworkSubnetsSubnetLifecycleReasonArgs and GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetsSubnetLifecycleReasonInput` via: +// +// GetIsClusterNetworkSubnetsSubnetLifecycleReasonArgs{...} +type GetIsClusterNetworkSubnetsSubnetLifecycleReasonInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput() GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput + ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonOutputWithContext(context.Context) GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput +} + +type GetIsClusterNetworkSubnetsSubnetLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkSubnetsSubnetLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetsSubnetLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetsSubnetLifecycleReasonArgs) ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput() GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput { + return i.ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetsSubnetLifecycleReasonArgs) ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput) +} + +// GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayInput is an input type that accepts GetIsClusterNetworkSubnetsSubnetLifecycleReasonArray and GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayInput` via: +// +// GetIsClusterNetworkSubnetsSubnetLifecycleReasonArray{ GetIsClusterNetworkSubnetsSubnetLifecycleReasonArgs{...} } +type GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput + ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutputWithContext(context.Context) GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput +} + +type GetIsClusterNetworkSubnetsSubnetLifecycleReasonArray []GetIsClusterNetworkSubnetsSubnetLifecycleReasonInput + +func (GetIsClusterNetworkSubnetsSubnetLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetsSubnetLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworkSubnetsSubnetLifecycleReasonArray) ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput { + return i.ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkSubnetsSubnetLifecycleReasonArray) ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput) +} + +type GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkSubnetsSubnetLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput) ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput() GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput { + return o +} + +func (o GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput) ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnetLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnetLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkSubnetsSubnetLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkSubnetsSubnetLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput) ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput() GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput) ToGetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkSubnetsSubnetLifecycleReason { + return vs[0].([]GetIsClusterNetworkSubnetsSubnetLifecycleReason)[vs[1].(int)] + }).(GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput) +} + +type GetIsClusterNetworkVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworkVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworkVpcInput is an input type that accepts GetIsClusterNetworkVpcArgs and GetIsClusterNetworkVpcOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkVpcInput` via: +// +// GetIsClusterNetworkVpcArgs{...} +type GetIsClusterNetworkVpcInput interface { + pulumi.Input + + ToGetIsClusterNetworkVpcOutput() GetIsClusterNetworkVpcOutput + ToGetIsClusterNetworkVpcOutputWithContext(context.Context) GetIsClusterNetworkVpcOutput +} + +type GetIsClusterNetworkVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworkVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworkVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkVpc)(nil)).Elem() +} + +func (i GetIsClusterNetworkVpcArgs) ToGetIsClusterNetworkVpcOutput() GetIsClusterNetworkVpcOutput { + return i.ToGetIsClusterNetworkVpcOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkVpcArgs) ToGetIsClusterNetworkVpcOutputWithContext(ctx context.Context) GetIsClusterNetworkVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkVpcOutput) +} + +// GetIsClusterNetworkVpcArrayInput is an input type that accepts GetIsClusterNetworkVpcArray and GetIsClusterNetworkVpcArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkVpcArrayInput` via: +// +// GetIsClusterNetworkVpcArray{ GetIsClusterNetworkVpcArgs{...} } +type GetIsClusterNetworkVpcArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkVpcArrayOutput() GetIsClusterNetworkVpcArrayOutput + ToGetIsClusterNetworkVpcArrayOutputWithContext(context.Context) GetIsClusterNetworkVpcArrayOutput +} + +type GetIsClusterNetworkVpcArray []GetIsClusterNetworkVpcInput + +func (GetIsClusterNetworkVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkVpc)(nil)).Elem() +} + +func (i GetIsClusterNetworkVpcArray) ToGetIsClusterNetworkVpcArrayOutput() GetIsClusterNetworkVpcArrayOutput { + return i.ToGetIsClusterNetworkVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkVpcArray) ToGetIsClusterNetworkVpcArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkVpcArrayOutput) +} + +type GetIsClusterNetworkVpcOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkVpc)(nil)).Elem() +} + +func (o GetIsClusterNetworkVpcOutput) ToGetIsClusterNetworkVpcOutput() GetIsClusterNetworkVpcOutput { + return o +} + +func (o GetIsClusterNetworkVpcOutput) ToGetIsClusterNetworkVpcOutputWithContext(ctx context.Context) GetIsClusterNetworkVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsClusterNetworkVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworkVpcOutput) Deleteds() GetIsClusterNetworkVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworkVpc) []GetIsClusterNetworkVpcDeleted { return v.Deleteds }).(GetIsClusterNetworkVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsClusterNetworkVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsClusterNetworkVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsClusterNetworkVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworkVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkVpc)(nil)).Elem() +} + +func (o GetIsClusterNetworkVpcArrayOutput) ToGetIsClusterNetworkVpcArrayOutput() GetIsClusterNetworkVpcArrayOutput { + return o +} + +func (o GetIsClusterNetworkVpcArrayOutput) ToGetIsClusterNetworkVpcArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkVpcArrayOutput { + return o +} + +func (o GetIsClusterNetworkVpcArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkVpc { + return vs[0].([]GetIsClusterNetworkVpc)[vs[1].(int)] + }).(GetIsClusterNetworkVpcOutput) +} + +type GetIsClusterNetworkVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworkVpcDeletedInput is an input type that accepts GetIsClusterNetworkVpcDeletedArgs and GetIsClusterNetworkVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkVpcDeletedInput` via: +// +// GetIsClusterNetworkVpcDeletedArgs{...} +type GetIsClusterNetworkVpcDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworkVpcDeletedOutput() GetIsClusterNetworkVpcDeletedOutput + ToGetIsClusterNetworkVpcDeletedOutputWithContext(context.Context) GetIsClusterNetworkVpcDeletedOutput +} + +type GetIsClusterNetworkVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworkVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkVpcDeletedArgs) ToGetIsClusterNetworkVpcDeletedOutput() GetIsClusterNetworkVpcDeletedOutput { + return i.ToGetIsClusterNetworkVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkVpcDeletedArgs) ToGetIsClusterNetworkVpcDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkVpcDeletedOutput) +} + +// GetIsClusterNetworkVpcDeletedArrayInput is an input type that accepts GetIsClusterNetworkVpcDeletedArray and GetIsClusterNetworkVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkVpcDeletedArrayInput` via: +// +// GetIsClusterNetworkVpcDeletedArray{ GetIsClusterNetworkVpcDeletedArgs{...} } +type GetIsClusterNetworkVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkVpcDeletedArrayOutput() GetIsClusterNetworkVpcDeletedArrayOutput + ToGetIsClusterNetworkVpcDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworkVpcDeletedArrayOutput +} + +type GetIsClusterNetworkVpcDeletedArray []GetIsClusterNetworkVpcDeletedInput + +func (GetIsClusterNetworkVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworkVpcDeletedArray) ToGetIsClusterNetworkVpcDeletedArrayOutput() GetIsClusterNetworkVpcDeletedArrayOutput { + return i.ToGetIsClusterNetworkVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkVpcDeletedArray) ToGetIsClusterNetworkVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkVpcDeletedArrayOutput) +} + +type GetIsClusterNetworkVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkVpcDeletedOutput) ToGetIsClusterNetworkVpcDeletedOutput() GetIsClusterNetworkVpcDeletedOutput { + return o +} + +func (o GetIsClusterNetworkVpcDeletedOutput) ToGetIsClusterNetworkVpcDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworkVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworkVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworkVpcDeletedArrayOutput) ToGetIsClusterNetworkVpcDeletedArrayOutput() GetIsClusterNetworkVpcDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkVpcDeletedArrayOutput) ToGetIsClusterNetworkVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkVpcDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworkVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkVpcDeleted { + return vs[0].([]GetIsClusterNetworkVpcDeleted)[vs[1].(int)] + }).(GetIsClusterNetworkVpcDeletedOutput) +} + +type GetIsClusterNetworkZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsClusterNetworkZoneInput is an input type that accepts GetIsClusterNetworkZoneArgs and GetIsClusterNetworkZoneOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkZoneInput` via: +// +// GetIsClusterNetworkZoneArgs{...} +type GetIsClusterNetworkZoneInput interface { + pulumi.Input + + ToGetIsClusterNetworkZoneOutput() GetIsClusterNetworkZoneOutput + ToGetIsClusterNetworkZoneOutputWithContext(context.Context) GetIsClusterNetworkZoneOutput +} + +type GetIsClusterNetworkZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsClusterNetworkZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkZoneArgs) ToGetIsClusterNetworkZoneOutput() GetIsClusterNetworkZoneOutput { + return i.ToGetIsClusterNetworkZoneOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkZoneArgs) ToGetIsClusterNetworkZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkZoneOutput) +} + +// GetIsClusterNetworkZoneArrayInput is an input type that accepts GetIsClusterNetworkZoneArray and GetIsClusterNetworkZoneArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworkZoneArrayInput` via: +// +// GetIsClusterNetworkZoneArray{ GetIsClusterNetworkZoneArgs{...} } +type GetIsClusterNetworkZoneArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworkZoneArrayOutput() GetIsClusterNetworkZoneArrayOutput + ToGetIsClusterNetworkZoneArrayOutputWithContext(context.Context) GetIsClusterNetworkZoneArrayOutput +} + +type GetIsClusterNetworkZoneArray []GetIsClusterNetworkZoneInput + +func (GetIsClusterNetworkZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkZone)(nil)).Elem() +} + +func (i GetIsClusterNetworkZoneArray) ToGetIsClusterNetworkZoneArrayOutput() GetIsClusterNetworkZoneArrayOutput { + return i.ToGetIsClusterNetworkZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworkZoneArray) ToGetIsClusterNetworkZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworkZoneArrayOutput) +} + +type GetIsClusterNetworkZoneOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworkZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkZoneOutput) ToGetIsClusterNetworkZoneOutput() GetIsClusterNetworkZoneOutput { + return o +} + +func (o GetIsClusterNetworkZoneOutput) ToGetIsClusterNetworkZoneOutputWithContext(ctx context.Context) GetIsClusterNetworkZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsClusterNetworkZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsClusterNetworkZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworkZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsClusterNetworkZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworkZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworkZone)(nil)).Elem() +} + +func (o GetIsClusterNetworkZoneArrayOutput) ToGetIsClusterNetworkZoneArrayOutput() GetIsClusterNetworkZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkZoneArrayOutput) ToGetIsClusterNetworkZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworkZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworkZoneArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworkZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworkZone { + return vs[0].([]GetIsClusterNetworkZone)[vs[1].(int)] + }).(GetIsClusterNetworkZoneOutput) +} + +type GetIsClusterNetworksClusterNetwork struct { + // The date and time that the cluster network was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this cluster network. + Crn string `pulumi:"crn"` + // The URL for this cluster network. + Href string `pulumi:"href"` + // The unique identifier for this cluster network. + Id string `pulumi:"id"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []GetIsClusterNetworksClusterNetworkLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name string `pulumi:"name"` + // The profile for this cluster network. + Profiles []GetIsClusterNetworksClusterNetworkProfile `pulumi:"profiles"` + // The resource group for this cluster network. + ResourceGroups []GetIsClusterNetworksClusterNetworkResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The IP address ranges available for subnets for this cluster network. + SubnetPrefixes []GetIsClusterNetworksClusterNetworkSubnetPrefix `pulumi:"subnetPrefixes"` + // The VPC this cluster network resides in. + Vpcs []GetIsClusterNetworksClusterNetworkVpc `pulumi:"vpcs"` + // The zone this cluster network resides in. + Zones []GetIsClusterNetworksClusterNetworkZone `pulumi:"zones"` +} + +// GetIsClusterNetworksClusterNetworkInput is an input type that accepts GetIsClusterNetworksClusterNetworkArgs and GetIsClusterNetworksClusterNetworkOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkInput` via: +// +// GetIsClusterNetworksClusterNetworkArgs{...} +type GetIsClusterNetworksClusterNetworkInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkOutput() GetIsClusterNetworksClusterNetworkOutput + ToGetIsClusterNetworksClusterNetworkOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkOutput +} + +type GetIsClusterNetworksClusterNetworkArgs struct { + // The date and time that the cluster network was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this cluster network. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this cluster network. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network. + Id pulumi.StringInput `pulumi:"id"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons GetIsClusterNetworksClusterNetworkLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the cluster network. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name pulumi.StringInput `pulumi:"name"` + // The profile for this cluster network. + Profiles GetIsClusterNetworksClusterNetworkProfileArrayInput `pulumi:"profiles"` + // The resource group for this cluster network. + ResourceGroups GetIsClusterNetworksClusterNetworkResourceGroupArrayInput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The IP address ranges available for subnets for this cluster network. + SubnetPrefixes GetIsClusterNetworksClusterNetworkSubnetPrefixArrayInput `pulumi:"subnetPrefixes"` + // The VPC this cluster network resides in. + Vpcs GetIsClusterNetworksClusterNetworkVpcArrayInput `pulumi:"vpcs"` + // The zone this cluster network resides in. + Zones GetIsClusterNetworksClusterNetworkZoneArrayInput `pulumi:"zones"` +} + +func (GetIsClusterNetworksClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetwork)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkArgs) ToGetIsClusterNetworksClusterNetworkOutput() GetIsClusterNetworksClusterNetworkOutput { + return i.ToGetIsClusterNetworksClusterNetworkOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkArgs) ToGetIsClusterNetworksClusterNetworkOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkOutput) +} + +// GetIsClusterNetworksClusterNetworkArrayInput is an input type that accepts GetIsClusterNetworksClusterNetworkArray and GetIsClusterNetworksClusterNetworkArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkArrayInput` via: +// +// GetIsClusterNetworksClusterNetworkArray{ GetIsClusterNetworksClusterNetworkArgs{...} } +type GetIsClusterNetworksClusterNetworkArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkArrayOutput() GetIsClusterNetworksClusterNetworkArrayOutput + ToGetIsClusterNetworksClusterNetworkArrayOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkArrayOutput +} + +type GetIsClusterNetworksClusterNetworkArray []GetIsClusterNetworksClusterNetworkInput + +func (GetIsClusterNetworksClusterNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetwork)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkArray) ToGetIsClusterNetworksClusterNetworkArrayOutput() GetIsClusterNetworksClusterNetworkArrayOutput { + return i.ToGetIsClusterNetworksClusterNetworkArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkArray) ToGetIsClusterNetworksClusterNetworkArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetwork)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkOutput) ToGetIsClusterNetworksClusterNetworkOutput() GetIsClusterNetworksClusterNetworkOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkOutput) ToGetIsClusterNetworksClusterNetworkOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkOutput { + return o +} + +// The date and time that the cluster network was created. +func (o GetIsClusterNetworksClusterNetworkOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this cluster network. +func (o GetIsClusterNetworksClusterNetworkOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this cluster network. +func (o GetIsClusterNetworksClusterNetworkOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network. +func (o GetIsClusterNetworksClusterNetworkOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) string { return v.Id }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o GetIsClusterNetworksClusterNetworkOutput) LifecycleReasons() GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) []GetIsClusterNetworksClusterNetworkLifecycleReason { + return v.LifecycleReasons + }).(GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput) +} + +// The lifecycle state of the cluster network. +func (o GetIsClusterNetworksClusterNetworkOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this cluster network. The name must not be used by another cluster network in the region. +func (o GetIsClusterNetworksClusterNetworkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) string { return v.Name }).(pulumi.StringOutput) +} + +// The profile for this cluster network. +func (o GetIsClusterNetworksClusterNetworkOutput) Profiles() GetIsClusterNetworksClusterNetworkProfileArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) []GetIsClusterNetworksClusterNetworkProfile { + return v.Profiles + }).(GetIsClusterNetworksClusterNetworkProfileArrayOutput) +} + +// The resource group for this cluster network. +func (o GetIsClusterNetworksClusterNetworkOutput) ResourceGroups() GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) []GetIsClusterNetworksClusterNetworkResourceGroup { + return v.ResourceGroups + }).(GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput) +} + +// The resource type. +func (o GetIsClusterNetworksClusterNetworkOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The IP address ranges available for subnets for this cluster network. +func (o GetIsClusterNetworksClusterNetworkOutput) SubnetPrefixes() GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) []GetIsClusterNetworksClusterNetworkSubnetPrefix { + return v.SubnetPrefixes + }).(GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput) +} + +// The VPC this cluster network resides in. +func (o GetIsClusterNetworksClusterNetworkOutput) Vpcs() GetIsClusterNetworksClusterNetworkVpcArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) []GetIsClusterNetworksClusterNetworkVpc { return v.Vpcs }).(GetIsClusterNetworksClusterNetworkVpcArrayOutput) +} + +// The zone this cluster network resides in. +func (o GetIsClusterNetworksClusterNetworkOutput) Zones() GetIsClusterNetworksClusterNetworkZoneArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetwork) []GetIsClusterNetworksClusterNetworkZone { return v.Zones }).(GetIsClusterNetworksClusterNetworkZoneArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetwork)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkArrayOutput) ToGetIsClusterNetworksClusterNetworkArrayOutput() GetIsClusterNetworksClusterNetworkArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkArrayOutput) ToGetIsClusterNetworksClusterNetworkArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworksClusterNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworksClusterNetwork { + return vs[0].([]GetIsClusterNetworksClusterNetwork)[vs[1].(int)] + }).(GetIsClusterNetworksClusterNetworkOutput) +} + +type GetIsClusterNetworksClusterNetworkLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworksClusterNetworkLifecycleReasonInput is an input type that accepts GetIsClusterNetworksClusterNetworkLifecycleReasonArgs and GetIsClusterNetworksClusterNetworkLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkLifecycleReasonInput` via: +// +// GetIsClusterNetworksClusterNetworkLifecycleReasonArgs{...} +type GetIsClusterNetworksClusterNetworkLifecycleReasonInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkLifecycleReasonOutput() GetIsClusterNetworksClusterNetworkLifecycleReasonOutput + ToGetIsClusterNetworksClusterNetworkLifecycleReasonOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkLifecycleReasonOutput +} + +type GetIsClusterNetworksClusterNetworkLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworksClusterNetworkLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkLifecycleReasonArgs) ToGetIsClusterNetworksClusterNetworkLifecycleReasonOutput() GetIsClusterNetworksClusterNetworkLifecycleReasonOutput { + return i.ToGetIsClusterNetworksClusterNetworkLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkLifecycleReasonArgs) ToGetIsClusterNetworksClusterNetworkLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkLifecycleReasonOutput) +} + +// GetIsClusterNetworksClusterNetworkLifecycleReasonArrayInput is an input type that accepts GetIsClusterNetworksClusterNetworkLifecycleReasonArray and GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkLifecycleReasonArrayInput` via: +// +// GetIsClusterNetworksClusterNetworkLifecycleReasonArray{ GetIsClusterNetworksClusterNetworkLifecycleReasonArgs{...} } +type GetIsClusterNetworksClusterNetworkLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput() GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput + ToGetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput +} + +type GetIsClusterNetworksClusterNetworkLifecycleReasonArray []GetIsClusterNetworksClusterNetworkLifecycleReasonInput + +func (GetIsClusterNetworksClusterNetworkLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkLifecycleReasonArray) ToGetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput() GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput { + return i.ToGetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkLifecycleReasonArray) ToGetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkLifecycleReasonOutput) ToGetIsClusterNetworksClusterNetworkLifecycleReasonOutput() GetIsClusterNetworksClusterNetworkLifecycleReasonOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkLifecycleReasonOutput) ToGetIsClusterNetworksClusterNetworkLifecycleReasonOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsClusterNetworksClusterNetworkLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsClusterNetworksClusterNetworkLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsClusterNetworksClusterNetworkLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkLifecycleReason)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput) ToGetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput() GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput) ToGetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworksClusterNetworkLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworksClusterNetworkLifecycleReason { + return vs[0].([]GetIsClusterNetworksClusterNetworkLifecycleReason)[vs[1].(int)] + }).(GetIsClusterNetworksClusterNetworkLifecycleReasonOutput) +} + +type GetIsClusterNetworksClusterNetworkProfile struct { + // The URL for this cluster network profile. + Href string `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworksClusterNetworkProfileInput is an input type that accepts GetIsClusterNetworksClusterNetworkProfileArgs and GetIsClusterNetworksClusterNetworkProfileOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkProfileInput` via: +// +// GetIsClusterNetworksClusterNetworkProfileArgs{...} +type GetIsClusterNetworksClusterNetworkProfileInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkProfileOutput() GetIsClusterNetworksClusterNetworkProfileOutput + ToGetIsClusterNetworksClusterNetworkProfileOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkProfileOutput +} + +type GetIsClusterNetworksClusterNetworkProfileArgs struct { + // The URL for this cluster network profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworksClusterNetworkProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkProfileArgs) ToGetIsClusterNetworksClusterNetworkProfileOutput() GetIsClusterNetworksClusterNetworkProfileOutput { + return i.ToGetIsClusterNetworksClusterNetworkProfileOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkProfileArgs) ToGetIsClusterNetworksClusterNetworkProfileOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkProfileOutput) +} + +// GetIsClusterNetworksClusterNetworkProfileArrayInput is an input type that accepts GetIsClusterNetworksClusterNetworkProfileArray and GetIsClusterNetworksClusterNetworkProfileArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkProfileArrayInput` via: +// +// GetIsClusterNetworksClusterNetworkProfileArray{ GetIsClusterNetworksClusterNetworkProfileArgs{...} } +type GetIsClusterNetworksClusterNetworkProfileArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkProfileArrayOutput() GetIsClusterNetworksClusterNetworkProfileArrayOutput + ToGetIsClusterNetworksClusterNetworkProfileArrayOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkProfileArrayOutput +} + +type GetIsClusterNetworksClusterNetworkProfileArray []GetIsClusterNetworksClusterNetworkProfileInput + +func (GetIsClusterNetworksClusterNetworkProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkProfile)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkProfileArray) ToGetIsClusterNetworksClusterNetworkProfileArrayOutput() GetIsClusterNetworksClusterNetworkProfileArrayOutput { + return i.ToGetIsClusterNetworksClusterNetworkProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkProfileArray) ToGetIsClusterNetworksClusterNetworkProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkProfileArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkProfileOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkProfileOutput) ToGetIsClusterNetworksClusterNetworkProfileOutput() GetIsClusterNetworksClusterNetworkProfileOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkProfileOutput) ToGetIsClusterNetworksClusterNetworkProfileOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkProfileOutput { + return o +} + +// The URL for this cluster network profile. +func (o GetIsClusterNetworksClusterNetworkProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this cluster network profile. +func (o GetIsClusterNetworksClusterNetworkProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworksClusterNetworkProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworksClusterNetworkProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkProfile)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkProfileArrayOutput) ToGetIsClusterNetworksClusterNetworkProfileArrayOutput() GetIsClusterNetworksClusterNetworkProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkProfileArrayOutput) ToGetIsClusterNetworksClusterNetworkProfileArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkProfileArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkProfileArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworksClusterNetworkProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworksClusterNetworkProfile { + return vs[0].([]GetIsClusterNetworksClusterNetworkProfile)[vs[1].(int)] + }).(GetIsClusterNetworksClusterNetworkProfileOutput) +} + +type GetIsClusterNetworksClusterNetworkResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsClusterNetworksClusterNetworkResourceGroupInput is an input type that accepts GetIsClusterNetworksClusterNetworkResourceGroupArgs and GetIsClusterNetworksClusterNetworkResourceGroupOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkResourceGroupInput` via: +// +// GetIsClusterNetworksClusterNetworkResourceGroupArgs{...} +type GetIsClusterNetworksClusterNetworkResourceGroupInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkResourceGroupOutput() GetIsClusterNetworksClusterNetworkResourceGroupOutput + ToGetIsClusterNetworksClusterNetworkResourceGroupOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkResourceGroupOutput +} + +type GetIsClusterNetworksClusterNetworkResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsClusterNetworksClusterNetworkResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkResourceGroup)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkResourceGroupArgs) ToGetIsClusterNetworksClusterNetworkResourceGroupOutput() GetIsClusterNetworksClusterNetworkResourceGroupOutput { + return i.ToGetIsClusterNetworksClusterNetworkResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkResourceGroupArgs) ToGetIsClusterNetworksClusterNetworkResourceGroupOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkResourceGroupOutput) +} + +// GetIsClusterNetworksClusterNetworkResourceGroupArrayInput is an input type that accepts GetIsClusterNetworksClusterNetworkResourceGroupArray and GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkResourceGroupArrayInput` via: +// +// GetIsClusterNetworksClusterNetworkResourceGroupArray{ GetIsClusterNetworksClusterNetworkResourceGroupArgs{...} } +type GetIsClusterNetworksClusterNetworkResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkResourceGroupArrayOutput() GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput + ToGetIsClusterNetworksClusterNetworkResourceGroupArrayOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput +} + +type GetIsClusterNetworksClusterNetworkResourceGroupArray []GetIsClusterNetworksClusterNetworkResourceGroupInput + +func (GetIsClusterNetworksClusterNetworkResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkResourceGroup)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkResourceGroupArray) ToGetIsClusterNetworksClusterNetworkResourceGroupArrayOutput() GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput { + return i.ToGetIsClusterNetworksClusterNetworkResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkResourceGroupArray) ToGetIsClusterNetworksClusterNetworkResourceGroupArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkResourceGroup)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkResourceGroupOutput) ToGetIsClusterNetworksClusterNetworkResourceGroupOutput() GetIsClusterNetworksClusterNetworkResourceGroupOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkResourceGroupOutput) ToGetIsClusterNetworksClusterNetworkResourceGroupOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsClusterNetworksClusterNetworkResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsClusterNetworksClusterNetworkResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsClusterNetworksClusterNetworkResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkResourceGroup)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput) ToGetIsClusterNetworksClusterNetworkResourceGroupArrayOutput() GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput) ToGetIsClusterNetworksClusterNetworkResourceGroupArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworksClusterNetworkResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworksClusterNetworkResourceGroup { + return vs[0].([]GetIsClusterNetworksClusterNetworkResourceGroup)[vs[1].(int)] + }).(GetIsClusterNetworksClusterNetworkResourceGroupOutput) +} + +type GetIsClusterNetworksClusterNetworkSubnetPrefix struct { + // The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. + AllocationPolicy string `pulumi:"allocationPolicy"` + // The CIDR block for this prefix. + Cidr string `pulumi:"cidr"` +} + +// GetIsClusterNetworksClusterNetworkSubnetPrefixInput is an input type that accepts GetIsClusterNetworksClusterNetworkSubnetPrefixArgs and GetIsClusterNetworksClusterNetworkSubnetPrefixOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkSubnetPrefixInput` via: +// +// GetIsClusterNetworksClusterNetworkSubnetPrefixArgs{...} +type GetIsClusterNetworksClusterNetworkSubnetPrefixInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkSubnetPrefixOutput() GetIsClusterNetworksClusterNetworkSubnetPrefixOutput + ToGetIsClusterNetworksClusterNetworkSubnetPrefixOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkSubnetPrefixOutput +} + +type GetIsClusterNetworksClusterNetworkSubnetPrefixArgs struct { + // The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. + AllocationPolicy pulumi.StringInput `pulumi:"allocationPolicy"` + // The CIDR block for this prefix. + Cidr pulumi.StringInput `pulumi:"cidr"` +} + +func (GetIsClusterNetworksClusterNetworkSubnetPrefixArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkSubnetPrefix)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkSubnetPrefixArgs) ToGetIsClusterNetworksClusterNetworkSubnetPrefixOutput() GetIsClusterNetworksClusterNetworkSubnetPrefixOutput { + return i.ToGetIsClusterNetworksClusterNetworkSubnetPrefixOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkSubnetPrefixArgs) ToGetIsClusterNetworksClusterNetworkSubnetPrefixOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkSubnetPrefixOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkSubnetPrefixOutput) +} + +// GetIsClusterNetworksClusterNetworkSubnetPrefixArrayInput is an input type that accepts GetIsClusterNetworksClusterNetworkSubnetPrefixArray and GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkSubnetPrefixArrayInput` via: +// +// GetIsClusterNetworksClusterNetworkSubnetPrefixArray{ GetIsClusterNetworksClusterNetworkSubnetPrefixArgs{...} } +type GetIsClusterNetworksClusterNetworkSubnetPrefixArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput() GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput + ToGetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput +} + +type GetIsClusterNetworksClusterNetworkSubnetPrefixArray []GetIsClusterNetworksClusterNetworkSubnetPrefixInput + +func (GetIsClusterNetworksClusterNetworkSubnetPrefixArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkSubnetPrefix)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkSubnetPrefixArray) ToGetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput() GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput { + return i.ToGetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkSubnetPrefixArray) ToGetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkSubnetPrefixOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkSubnetPrefixOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkSubnetPrefix)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkSubnetPrefixOutput) ToGetIsClusterNetworksClusterNetworkSubnetPrefixOutput() GetIsClusterNetworksClusterNetworkSubnetPrefixOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkSubnetPrefixOutput) ToGetIsClusterNetworksClusterNetworkSubnetPrefixOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkSubnetPrefixOutput { + return o +} + +// The allocation policy for this subnet prefix:- `auto`: Subnets created by total count in this cluster network can use this prefix. +func (o GetIsClusterNetworksClusterNetworkSubnetPrefixOutput) AllocationPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkSubnetPrefix) string { return v.AllocationPolicy }).(pulumi.StringOutput) +} + +// The CIDR block for this prefix. +func (o GetIsClusterNetworksClusterNetworkSubnetPrefixOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkSubnetPrefix) string { return v.Cidr }).(pulumi.StringOutput) +} + +type GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkSubnetPrefix)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput) ToGetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput() GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput) ToGetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworksClusterNetworkSubnetPrefixOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworksClusterNetworkSubnetPrefix { + return vs[0].([]GetIsClusterNetworksClusterNetworkSubnetPrefix)[vs[1].(int)] + }).(GetIsClusterNetworksClusterNetworkSubnetPrefixOutput) +} + +type GetIsClusterNetworksClusterNetworkVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsClusterNetworksClusterNetworkVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsClusterNetworksClusterNetworkVpcInput is an input type that accepts GetIsClusterNetworksClusterNetworkVpcArgs and GetIsClusterNetworksClusterNetworkVpcOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkVpcInput` via: +// +// GetIsClusterNetworksClusterNetworkVpcArgs{...} +type GetIsClusterNetworksClusterNetworkVpcInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkVpcOutput() GetIsClusterNetworksClusterNetworkVpcOutput + ToGetIsClusterNetworksClusterNetworkVpcOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkVpcOutput +} + +type GetIsClusterNetworksClusterNetworkVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsClusterNetworksClusterNetworkVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsClusterNetworksClusterNetworkVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkVpc)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkVpcArgs) ToGetIsClusterNetworksClusterNetworkVpcOutput() GetIsClusterNetworksClusterNetworkVpcOutput { + return i.ToGetIsClusterNetworksClusterNetworkVpcOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkVpcArgs) ToGetIsClusterNetworksClusterNetworkVpcOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkVpcOutput) +} + +// GetIsClusterNetworksClusterNetworkVpcArrayInput is an input type that accepts GetIsClusterNetworksClusterNetworkVpcArray and GetIsClusterNetworksClusterNetworkVpcArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkVpcArrayInput` via: +// +// GetIsClusterNetworksClusterNetworkVpcArray{ GetIsClusterNetworksClusterNetworkVpcArgs{...} } +type GetIsClusterNetworksClusterNetworkVpcArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkVpcArrayOutput() GetIsClusterNetworksClusterNetworkVpcArrayOutput + ToGetIsClusterNetworksClusterNetworkVpcArrayOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkVpcArrayOutput +} + +type GetIsClusterNetworksClusterNetworkVpcArray []GetIsClusterNetworksClusterNetworkVpcInput + +func (GetIsClusterNetworksClusterNetworkVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkVpc)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkVpcArray) ToGetIsClusterNetworksClusterNetworkVpcArrayOutput() GetIsClusterNetworksClusterNetworkVpcArrayOutput { + return i.ToGetIsClusterNetworksClusterNetworkVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkVpcArray) ToGetIsClusterNetworksClusterNetworkVpcArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkVpcArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkVpcOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkVpc)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkVpcOutput) ToGetIsClusterNetworksClusterNetworkVpcOutput() GetIsClusterNetworksClusterNetworkVpcOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkVpcOutput) ToGetIsClusterNetworksClusterNetworkVpcOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsClusterNetworksClusterNetworkVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsClusterNetworksClusterNetworkVpcOutput) Deleteds() GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkVpc) []GetIsClusterNetworksClusterNetworkVpcDeleted { + return v.Deleteds + }).(GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsClusterNetworksClusterNetworkVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsClusterNetworksClusterNetworkVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsClusterNetworksClusterNetworkVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsClusterNetworksClusterNetworkVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsClusterNetworksClusterNetworkVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkVpc)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkVpcArrayOutput) ToGetIsClusterNetworksClusterNetworkVpcArrayOutput() GetIsClusterNetworksClusterNetworkVpcArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkVpcArrayOutput) ToGetIsClusterNetworksClusterNetworkVpcArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkVpcArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkVpcArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworksClusterNetworkVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworksClusterNetworkVpc { + return vs[0].([]GetIsClusterNetworksClusterNetworkVpc)[vs[1].(int)] + }).(GetIsClusterNetworksClusterNetworkVpcOutput) +} + +type GetIsClusterNetworksClusterNetworkVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsClusterNetworksClusterNetworkVpcDeletedInput is an input type that accepts GetIsClusterNetworksClusterNetworkVpcDeletedArgs and GetIsClusterNetworksClusterNetworkVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkVpcDeletedInput` via: +// +// GetIsClusterNetworksClusterNetworkVpcDeletedArgs{...} +type GetIsClusterNetworksClusterNetworkVpcDeletedInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkVpcDeletedOutput() GetIsClusterNetworksClusterNetworkVpcDeletedOutput + ToGetIsClusterNetworksClusterNetworkVpcDeletedOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkVpcDeletedOutput +} + +type GetIsClusterNetworksClusterNetworkVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsClusterNetworksClusterNetworkVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkVpcDeletedArgs) ToGetIsClusterNetworksClusterNetworkVpcDeletedOutput() GetIsClusterNetworksClusterNetworkVpcDeletedOutput { + return i.ToGetIsClusterNetworksClusterNetworkVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkVpcDeletedArgs) ToGetIsClusterNetworksClusterNetworkVpcDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkVpcDeletedOutput) +} + +// GetIsClusterNetworksClusterNetworkVpcDeletedArrayInput is an input type that accepts GetIsClusterNetworksClusterNetworkVpcDeletedArray and GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkVpcDeletedArrayInput` via: +// +// GetIsClusterNetworksClusterNetworkVpcDeletedArray{ GetIsClusterNetworksClusterNetworkVpcDeletedArgs{...} } +type GetIsClusterNetworksClusterNetworkVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput() GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput + ToGetIsClusterNetworksClusterNetworkVpcDeletedArrayOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput +} + +type GetIsClusterNetworksClusterNetworkVpcDeletedArray []GetIsClusterNetworksClusterNetworkVpcDeletedInput + +func (GetIsClusterNetworksClusterNetworkVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkVpcDeletedArray) ToGetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput() GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput { + return i.ToGetIsClusterNetworksClusterNetworkVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkVpcDeletedArray) ToGetIsClusterNetworksClusterNetworkVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkVpcDeletedOutput) ToGetIsClusterNetworksClusterNetworkVpcDeletedOutput() GetIsClusterNetworksClusterNetworkVpcDeletedOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkVpcDeletedOutput) ToGetIsClusterNetworksClusterNetworkVpcDeletedOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsClusterNetworksClusterNetworkVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkVpcDeleted)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput) ToGetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput() GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput) ToGetIsClusterNetworksClusterNetworkVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworksClusterNetworkVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworksClusterNetworkVpcDeleted { + return vs[0].([]GetIsClusterNetworksClusterNetworkVpcDeleted)[vs[1].(int)] + }).(GetIsClusterNetworksClusterNetworkVpcDeletedOutput) +} + +type GetIsClusterNetworksClusterNetworkZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsClusterNetworksClusterNetworkZoneInput is an input type that accepts GetIsClusterNetworksClusterNetworkZoneArgs and GetIsClusterNetworksClusterNetworkZoneOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkZoneInput` via: +// +// GetIsClusterNetworksClusterNetworkZoneArgs{...} +type GetIsClusterNetworksClusterNetworkZoneInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkZoneOutput() GetIsClusterNetworksClusterNetworkZoneOutput + ToGetIsClusterNetworksClusterNetworkZoneOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkZoneOutput +} + +type GetIsClusterNetworksClusterNetworkZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsClusterNetworksClusterNetworkZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkZone)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkZoneArgs) ToGetIsClusterNetworksClusterNetworkZoneOutput() GetIsClusterNetworksClusterNetworkZoneOutput { + return i.ToGetIsClusterNetworksClusterNetworkZoneOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkZoneArgs) ToGetIsClusterNetworksClusterNetworkZoneOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkZoneOutput) +} + +// GetIsClusterNetworksClusterNetworkZoneArrayInput is an input type that accepts GetIsClusterNetworksClusterNetworkZoneArray and GetIsClusterNetworksClusterNetworkZoneArrayOutput values. +// You can construct a concrete instance of `GetIsClusterNetworksClusterNetworkZoneArrayInput` via: +// +// GetIsClusterNetworksClusterNetworkZoneArray{ GetIsClusterNetworksClusterNetworkZoneArgs{...} } +type GetIsClusterNetworksClusterNetworkZoneArrayInput interface { + pulumi.Input + + ToGetIsClusterNetworksClusterNetworkZoneArrayOutput() GetIsClusterNetworksClusterNetworkZoneArrayOutput + ToGetIsClusterNetworksClusterNetworkZoneArrayOutputWithContext(context.Context) GetIsClusterNetworksClusterNetworkZoneArrayOutput +} + +type GetIsClusterNetworksClusterNetworkZoneArray []GetIsClusterNetworksClusterNetworkZoneInput + +func (GetIsClusterNetworksClusterNetworkZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkZone)(nil)).Elem() +} + +func (i GetIsClusterNetworksClusterNetworkZoneArray) ToGetIsClusterNetworksClusterNetworkZoneArrayOutput() GetIsClusterNetworksClusterNetworkZoneArrayOutput { + return i.ToGetIsClusterNetworksClusterNetworkZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsClusterNetworksClusterNetworkZoneArray) ToGetIsClusterNetworksClusterNetworkZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsClusterNetworksClusterNetworkZoneArrayOutput) +} + +type GetIsClusterNetworksClusterNetworkZoneOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsClusterNetworksClusterNetworkZone)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkZoneOutput) ToGetIsClusterNetworksClusterNetworkZoneOutput() GetIsClusterNetworksClusterNetworkZoneOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkZoneOutput) ToGetIsClusterNetworksClusterNetworkZoneOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsClusterNetworksClusterNetworkZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsClusterNetworksClusterNetworkZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsClusterNetworksClusterNetworkZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsClusterNetworksClusterNetworkZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsClusterNetworksClusterNetworkZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsClusterNetworksClusterNetworkZone)(nil)).Elem() +} + +func (o GetIsClusterNetworksClusterNetworkZoneArrayOutput) ToGetIsClusterNetworksClusterNetworkZoneArrayOutput() GetIsClusterNetworksClusterNetworkZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkZoneArrayOutput) ToGetIsClusterNetworksClusterNetworkZoneArrayOutputWithContext(ctx context.Context) GetIsClusterNetworksClusterNetworkZoneArrayOutput { + return o +} + +func (o GetIsClusterNetworksClusterNetworkZoneArrayOutput) Index(i pulumi.IntInput) GetIsClusterNetworksClusterNetworkZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsClusterNetworksClusterNetworkZone { + return vs[0].([]GetIsClusterNetworksClusterNetworkZone)[vs[1].(int)] + }).(GetIsClusterNetworksClusterNetworkZoneOutput) +} + +type GetIsDedicatedHostAvailableVcpus struct { + // The VCPU architecture. + Architecture string `pulumi:"architecture"` + // The number of VCPUs assigned. + Count int `pulumi:"count"` + // The VCPU manufacturer. + Manufacturer string `pulumi:"manufacturer"` +} + +// GetIsDedicatedHostAvailableVcpusInput is an input type that accepts GetIsDedicatedHostAvailableVcpusArgs and GetIsDedicatedHostAvailableVcpusOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostAvailableVcpusInput` via: +// +// GetIsDedicatedHostAvailableVcpusArgs{...} +type GetIsDedicatedHostAvailableVcpusInput interface { + pulumi.Input + + ToGetIsDedicatedHostAvailableVcpusOutput() GetIsDedicatedHostAvailableVcpusOutput + ToGetIsDedicatedHostAvailableVcpusOutputWithContext(context.Context) GetIsDedicatedHostAvailableVcpusOutput +} + +type GetIsDedicatedHostAvailableVcpusArgs struct { + // The VCPU architecture. + Architecture pulumi.StringInput `pulumi:"architecture"` + // The number of VCPUs assigned. + Count pulumi.IntInput `pulumi:"count"` + // The VCPU manufacturer. + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` +} + +func (GetIsDedicatedHostAvailableVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (i GetIsDedicatedHostAvailableVcpusArgs) ToGetIsDedicatedHostAvailableVcpusOutput() GetIsDedicatedHostAvailableVcpusOutput { + return i.ToGetIsDedicatedHostAvailableVcpusOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostAvailableVcpusArgs) ToGetIsDedicatedHostAvailableVcpusOutputWithContext(ctx context.Context) GetIsDedicatedHostAvailableVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostAvailableVcpusOutput) +} + +// GetIsDedicatedHostAvailableVcpusArrayInput is an input type that accepts GetIsDedicatedHostAvailableVcpusArray and GetIsDedicatedHostAvailableVcpusArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostAvailableVcpusArrayInput` via: +// +// GetIsDedicatedHostAvailableVcpusArray{ GetIsDedicatedHostAvailableVcpusArgs{...} } +type GetIsDedicatedHostAvailableVcpusArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostAvailableVcpusArrayOutput() GetIsDedicatedHostAvailableVcpusArrayOutput + ToGetIsDedicatedHostAvailableVcpusArrayOutputWithContext(context.Context) GetIsDedicatedHostAvailableVcpusArrayOutput +} + +type GetIsDedicatedHostAvailableVcpusArray []GetIsDedicatedHostAvailableVcpusInput + +func (GetIsDedicatedHostAvailableVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (i GetIsDedicatedHostAvailableVcpusArray) ToGetIsDedicatedHostAvailableVcpusArrayOutput() GetIsDedicatedHostAvailableVcpusArrayOutput { + return i.ToGetIsDedicatedHostAvailableVcpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostAvailableVcpusArray) ToGetIsDedicatedHostAvailableVcpusArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostAvailableVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostAvailableVcpusArrayOutput) +} + +type GetIsDedicatedHostAvailableVcpusOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostAvailableVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (o GetIsDedicatedHostAvailableVcpusOutput) ToGetIsDedicatedHostAvailableVcpusOutput() GetIsDedicatedHostAvailableVcpusOutput { + return o +} + +func (o GetIsDedicatedHostAvailableVcpusOutput) ToGetIsDedicatedHostAvailableVcpusOutputWithContext(ctx context.Context) GetIsDedicatedHostAvailableVcpusOutput { + return o +} + +// The VCPU architecture. +func (o GetIsDedicatedHostAvailableVcpusOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostAvailableVcpus) string { return v.Architecture }).(pulumi.StringOutput) +} + +// The number of VCPUs assigned. +func (o GetIsDedicatedHostAvailableVcpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostAvailableVcpus) int { return v.Count }).(pulumi.IntOutput) +} + +// The VCPU manufacturer. +func (o GetIsDedicatedHostAvailableVcpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostAvailableVcpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostAvailableVcpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostAvailableVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (o GetIsDedicatedHostAvailableVcpusArrayOutput) ToGetIsDedicatedHostAvailableVcpusArrayOutput() GetIsDedicatedHostAvailableVcpusArrayOutput { + return o +} + +func (o GetIsDedicatedHostAvailableVcpusArrayOutput) ToGetIsDedicatedHostAvailableVcpusArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostAvailableVcpusArrayOutput { + return o +} + +func (o GetIsDedicatedHostAvailableVcpusArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostAvailableVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostAvailableVcpus { + return vs[0].([]GetIsDedicatedHostAvailableVcpus)[vs[1].(int)] + }).(GetIsDedicatedHostAvailableVcpusOutput) +} + +type GetIsDedicatedHostDisk struct { + // The remaining space left for instance placement in GB (gigabytes). + Available int `pulumi:"available"` + // The date and time that the disk was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this disk. + Href string `pulumi:"href"` + // The unique identifier for this disk. + Id string `pulumi:"id"` + // Instance disks that are on this dedicated host disk. + InstanceDisks []GetIsDedicatedHostDiskInstanceDisk `pulumi:"instanceDisks"` + // The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType string `pulumi:"interfaceType"` + // The lifecycle state of this dedicated host disk. + LifecycleState string `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this disk. + Name string `pulumi:"name"` + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable bool `pulumi:"provisionable"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size int `pulumi:"size"` + // The instance disk interfaces supported for this dedicated host disk. + SupportedInstanceInterfaceTypes []string `pulumi:"supportedInstanceInterfaceTypes"` +} + +// GetIsDedicatedHostDiskInput is an input type that accepts GetIsDedicatedHostDiskArgs and GetIsDedicatedHostDiskOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDiskInput` via: +// +// GetIsDedicatedHostDiskArgs{...} +type GetIsDedicatedHostDiskInput interface { + pulumi.Input + + ToGetIsDedicatedHostDiskOutput() GetIsDedicatedHostDiskOutput + ToGetIsDedicatedHostDiskOutputWithContext(context.Context) GetIsDedicatedHostDiskOutput +} + +type GetIsDedicatedHostDiskArgs struct { + // The remaining space left for instance placement in GB (gigabytes). + Available pulumi.IntInput `pulumi:"available"` + // The date and time that the disk was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this disk. + Id pulumi.StringInput `pulumi:"id"` + // Instance disks that are on this dedicated host disk. + InstanceDisks GetIsDedicatedHostDiskInstanceDiskArrayInput `pulumi:"instanceDisks"` + // The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The lifecycle state of this dedicated host disk. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable pulumi.BoolInput `pulumi:"provisionable"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntInput `pulumi:"size"` + // The instance disk interfaces supported for this dedicated host disk. + SupportedInstanceInterfaceTypes pulumi.StringArrayInput `pulumi:"supportedInstanceInterfaceTypes"` +} + +func (GetIsDedicatedHostDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostDiskArgs) ToGetIsDedicatedHostDiskOutput() GetIsDedicatedHostDiskOutput { + return i.ToGetIsDedicatedHostDiskOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDiskArgs) ToGetIsDedicatedHostDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDiskOutput) +} + +// GetIsDedicatedHostDiskArrayInput is an input type that accepts GetIsDedicatedHostDiskArray and GetIsDedicatedHostDiskArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDiskArrayInput` via: +// +// GetIsDedicatedHostDiskArray{ GetIsDedicatedHostDiskArgs{...} } +type GetIsDedicatedHostDiskArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostDiskArrayOutput() GetIsDedicatedHostDiskArrayOutput + ToGetIsDedicatedHostDiskArrayOutputWithContext(context.Context) GetIsDedicatedHostDiskArrayOutput +} + +type GetIsDedicatedHostDiskArray []GetIsDedicatedHostDiskInput + +func (GetIsDedicatedHostDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostDiskArray) ToGetIsDedicatedHostDiskArrayOutput() GetIsDedicatedHostDiskArrayOutput { + return i.ToGetIsDedicatedHostDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDiskArray) ToGetIsDedicatedHostDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDiskArrayOutput) +} + +type GetIsDedicatedHostDiskOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostDiskOutput) ToGetIsDedicatedHostDiskOutput() GetIsDedicatedHostDiskOutput { + return o +} + +func (o GetIsDedicatedHostDiskOutput) ToGetIsDedicatedHostDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskOutput { + return o +} + +// The remaining space left for instance placement in GB (gigabytes). +func (o GetIsDedicatedHostDiskOutput) Available() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) int { return v.Available }).(pulumi.IntOutput) +} + +// The date and time that the disk was created. +func (o GetIsDedicatedHostDiskOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this disk. +func (o GetIsDedicatedHostDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this disk. +func (o GetIsDedicatedHostDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance disks that are on this dedicated host disk. +func (o GetIsDedicatedHostDiskOutput) InstanceDisks() GetIsDedicatedHostDiskInstanceDiskArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) []GetIsDedicatedHostDiskInstanceDisk { return v.InstanceDisks }).(GetIsDedicatedHostDiskInstanceDiskArrayOutput) +} + +// The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsDedicatedHostDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The lifecycle state of this dedicated host disk. +func (o GetIsDedicatedHostDiskOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this disk. +func (o GetIsDedicatedHostDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates whether this dedicated host disk is available for instance disk creation. +func (o GetIsDedicatedHostDiskOutput) Provisionable() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) bool { return v.Provisionable }).(pulumi.BoolOutput) +} + +// The type of resource referenced. +func (o GetIsDedicatedHostDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsDedicatedHostDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) int { return v.Size }).(pulumi.IntOutput) +} + +// The instance disk interfaces supported for this dedicated host disk. +func (o GetIsDedicatedHostDiskOutput) SupportedInstanceInterfaceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisk) []string { return v.SupportedInstanceInterfaceTypes }).(pulumi.StringArrayOutput) +} + +type GetIsDedicatedHostDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostDiskArrayOutput) ToGetIsDedicatedHostDiskArrayOutput() GetIsDedicatedHostDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostDiskArrayOutput) ToGetIsDedicatedHostDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostDiskArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostDisk { + return vs[0].([]GetIsDedicatedHostDisk)[vs[1].(int)] + }).(GetIsDedicatedHostDiskOutput) +} + +type GetIsDedicatedHostDiskInstanceDisk struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsDedicatedHostDiskInstanceDiskDeleted `pulumi:"deleteds"` + // The URL for this instance disk. + Href string `pulumi:"href"` + // The unique identifier for this instance disk. + Id string `pulumi:"id"` + // The user-defined name for this disk. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsDedicatedHostDiskInstanceDiskInput is an input type that accepts GetIsDedicatedHostDiskInstanceDiskArgs and GetIsDedicatedHostDiskInstanceDiskOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDiskInstanceDiskInput` via: +// +// GetIsDedicatedHostDiskInstanceDiskArgs{...} +type GetIsDedicatedHostDiskInstanceDiskInput interface { + pulumi.Input + + ToGetIsDedicatedHostDiskInstanceDiskOutput() GetIsDedicatedHostDiskInstanceDiskOutput + ToGetIsDedicatedHostDiskInstanceDiskOutputWithContext(context.Context) GetIsDedicatedHostDiskInstanceDiskOutput +} + +type GetIsDedicatedHostDiskInstanceDiskArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsDedicatedHostDiskInstanceDiskDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance disk. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsDedicatedHostDiskInstanceDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostDiskInstanceDiskArgs) ToGetIsDedicatedHostDiskInstanceDiskOutput() GetIsDedicatedHostDiskInstanceDiskOutput { + return i.ToGetIsDedicatedHostDiskInstanceDiskOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDiskInstanceDiskArgs) ToGetIsDedicatedHostDiskInstanceDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskInstanceDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDiskInstanceDiskOutput) +} + +// GetIsDedicatedHostDiskInstanceDiskArrayInput is an input type that accepts GetIsDedicatedHostDiskInstanceDiskArray and GetIsDedicatedHostDiskInstanceDiskArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDiskInstanceDiskArrayInput` via: +// +// GetIsDedicatedHostDiskInstanceDiskArray{ GetIsDedicatedHostDiskInstanceDiskArgs{...} } +type GetIsDedicatedHostDiskInstanceDiskArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostDiskInstanceDiskArrayOutput() GetIsDedicatedHostDiskInstanceDiskArrayOutput + ToGetIsDedicatedHostDiskInstanceDiskArrayOutputWithContext(context.Context) GetIsDedicatedHostDiskInstanceDiskArrayOutput +} + +type GetIsDedicatedHostDiskInstanceDiskArray []GetIsDedicatedHostDiskInstanceDiskInput + +func (GetIsDedicatedHostDiskInstanceDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostDiskInstanceDiskArray) ToGetIsDedicatedHostDiskInstanceDiskArrayOutput() GetIsDedicatedHostDiskInstanceDiskArrayOutput { + return i.ToGetIsDedicatedHostDiskInstanceDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDiskInstanceDiskArray) ToGetIsDedicatedHostDiskInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskInstanceDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDiskInstanceDiskArrayOutput) +} + +type GetIsDedicatedHostDiskInstanceDiskOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDiskInstanceDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostDiskInstanceDiskOutput) ToGetIsDedicatedHostDiskInstanceDiskOutput() GetIsDedicatedHostDiskInstanceDiskOutput { + return o +} + +func (o GetIsDedicatedHostDiskInstanceDiskOutput) ToGetIsDedicatedHostDiskInstanceDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskInstanceDiskOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsDedicatedHostDiskInstanceDiskOutput) Deleteds() GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostDiskInstanceDisk) []GetIsDedicatedHostDiskInstanceDiskDeleted { + return v.Deleteds + }).(GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput) +} + +// The URL for this instance disk. +func (o GetIsDedicatedHostDiskInstanceDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDiskInstanceDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance disk. +func (o GetIsDedicatedHostDiskInstanceDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDiskInstanceDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this disk. +func (o GetIsDedicatedHostDiskInstanceDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDiskInstanceDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsDedicatedHostDiskInstanceDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDiskInstanceDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostDiskInstanceDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDiskInstanceDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostDiskInstanceDiskArrayOutput) ToGetIsDedicatedHostDiskInstanceDiskArrayOutput() GetIsDedicatedHostDiskInstanceDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostDiskInstanceDiskArrayOutput) ToGetIsDedicatedHostDiskInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskInstanceDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostDiskInstanceDiskArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostDiskInstanceDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostDiskInstanceDisk { + return vs[0].([]GetIsDedicatedHostDiskInstanceDisk)[vs[1].(int)] + }).(GetIsDedicatedHostDiskInstanceDiskOutput) +} + +type GetIsDedicatedHostDiskInstanceDiskDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsDedicatedHostDiskInstanceDiskDeletedInput is an input type that accepts GetIsDedicatedHostDiskInstanceDiskDeletedArgs and GetIsDedicatedHostDiskInstanceDiskDeletedOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDiskInstanceDiskDeletedInput` via: +// +// GetIsDedicatedHostDiskInstanceDiskDeletedArgs{...} +type GetIsDedicatedHostDiskInstanceDiskDeletedInput interface { + pulumi.Input + + ToGetIsDedicatedHostDiskInstanceDiskDeletedOutput() GetIsDedicatedHostDiskInstanceDiskDeletedOutput + ToGetIsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(context.Context) GetIsDedicatedHostDiskInstanceDiskDeletedOutput +} + +type GetIsDedicatedHostDiskInstanceDiskDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsDedicatedHostDiskInstanceDiskDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostDiskInstanceDiskDeletedArgs) ToGetIsDedicatedHostDiskInstanceDiskDeletedOutput() GetIsDedicatedHostDiskInstanceDiskDeletedOutput { + return i.ToGetIsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDiskInstanceDiskDeletedArgs) ToGetIsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskInstanceDiskDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDiskInstanceDiskDeletedOutput) +} + +// GetIsDedicatedHostDiskInstanceDiskDeletedArrayInput is an input type that accepts GetIsDedicatedHostDiskInstanceDiskDeletedArray and GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDiskInstanceDiskDeletedArrayInput` via: +// +// GetIsDedicatedHostDiskInstanceDiskDeletedArray{ GetIsDedicatedHostDiskInstanceDiskDeletedArgs{...} } +type GetIsDedicatedHostDiskInstanceDiskDeletedArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput + ToGetIsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(context.Context) GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput +} + +type GetIsDedicatedHostDiskInstanceDiskDeletedArray []GetIsDedicatedHostDiskInstanceDiskDeletedInput + +func (GetIsDedicatedHostDiskInstanceDiskDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostDiskInstanceDiskDeletedArray) ToGetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return i.ToGetIsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDiskInstanceDiskDeletedArray) ToGetIsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput) +} + +type GetIsDedicatedHostDiskInstanceDiskDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDiskInstanceDiskDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostDiskInstanceDiskDeletedOutput) ToGetIsDedicatedHostDiskInstanceDiskDeletedOutput() GetIsDedicatedHostDiskInstanceDiskDeletedOutput { + return o +} + +func (o GetIsDedicatedHostDiskInstanceDiskDeletedOutput) ToGetIsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskInstanceDiskDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsDedicatedHostDiskInstanceDiskDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDiskInstanceDiskDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ToGetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ToGetIsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostDiskInstanceDiskDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostDiskInstanceDiskDeleted { + return vs[0].([]GetIsDedicatedHostDiskInstanceDiskDeleted)[vs[1].(int)] + }).(GetIsDedicatedHostDiskInstanceDiskDeletedOutput) +} + +type GetIsDedicatedHostDisksDisk struct { + // The remaining space left for instance placement in GB (gigabytes). + Available int `pulumi:"available"` + // The date and time that the disk was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this disk. + Href string `pulumi:"href"` + // The unique identifier for this disk. + Id string `pulumi:"id"` + // Instance disks that are on this dedicated host disk. + InstanceDisks []GetIsDedicatedHostDisksDiskInstanceDisk `pulumi:"instanceDisks"` + // The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType string `pulumi:"interfaceType"` + // The lifecycle state of this dedicated host disk. + LifecycleState string `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this disk. + Name string `pulumi:"name"` + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable bool `pulumi:"provisionable"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size int `pulumi:"size"` + // The instance disk interfaces supported for this dedicated host disk. + SupportedInstanceInterfaceTypes []string `pulumi:"supportedInstanceInterfaceTypes"` +} + +// GetIsDedicatedHostDisksDiskInput is an input type that accepts GetIsDedicatedHostDisksDiskArgs and GetIsDedicatedHostDisksDiskOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDisksDiskInput` via: +// +// GetIsDedicatedHostDisksDiskArgs{...} +type GetIsDedicatedHostDisksDiskInput interface { + pulumi.Input + + ToGetIsDedicatedHostDisksDiskOutput() GetIsDedicatedHostDisksDiskOutput + ToGetIsDedicatedHostDisksDiskOutputWithContext(context.Context) GetIsDedicatedHostDisksDiskOutput +} + +type GetIsDedicatedHostDisksDiskArgs struct { + // The remaining space left for instance placement in GB (gigabytes). + Available pulumi.IntInput `pulumi:"available"` + // The date and time that the disk was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this disk. + Id pulumi.StringInput `pulumi:"id"` + // Instance disks that are on this dedicated host disk. + InstanceDisks GetIsDedicatedHostDisksDiskInstanceDiskArrayInput `pulumi:"instanceDisks"` + // The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The lifecycle state of this dedicated host disk. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable pulumi.BoolInput `pulumi:"provisionable"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntInput `pulumi:"size"` + // The instance disk interfaces supported for this dedicated host disk. + SupportedInstanceInterfaceTypes pulumi.StringArrayInput `pulumi:"supportedInstanceInterfaceTypes"` +} + +func (GetIsDedicatedHostDisksDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisksDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostDisksDiskArgs) ToGetIsDedicatedHostDisksDiskOutput() GetIsDedicatedHostDisksDiskOutput { + return i.ToGetIsDedicatedHostDisksDiskOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDisksDiskArgs) ToGetIsDedicatedHostDisksDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDisksDiskOutput) +} + +// GetIsDedicatedHostDisksDiskArrayInput is an input type that accepts GetIsDedicatedHostDisksDiskArray and GetIsDedicatedHostDisksDiskArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDisksDiskArrayInput` via: +// +// GetIsDedicatedHostDisksDiskArray{ GetIsDedicatedHostDisksDiskArgs{...} } +type GetIsDedicatedHostDisksDiskArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostDisksDiskArrayOutput() GetIsDedicatedHostDisksDiskArrayOutput + ToGetIsDedicatedHostDisksDiskArrayOutputWithContext(context.Context) GetIsDedicatedHostDisksDiskArrayOutput +} + +type GetIsDedicatedHostDisksDiskArray []GetIsDedicatedHostDisksDiskInput + +func (GetIsDedicatedHostDisksDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDisksDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostDisksDiskArray) ToGetIsDedicatedHostDisksDiskArrayOutput() GetIsDedicatedHostDisksDiskArrayOutput { + return i.ToGetIsDedicatedHostDisksDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDisksDiskArray) ToGetIsDedicatedHostDisksDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDisksDiskArrayOutput) +} + +type GetIsDedicatedHostDisksDiskOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDisksDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisksDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostDisksDiskOutput) ToGetIsDedicatedHostDisksDiskOutput() GetIsDedicatedHostDisksDiskOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskOutput) ToGetIsDedicatedHostDisksDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskOutput { + return o +} + +// The remaining space left for instance placement in GB (gigabytes). +func (o GetIsDedicatedHostDisksDiskOutput) Available() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) int { return v.Available }).(pulumi.IntOutput) +} + +// The date and time that the disk was created. +func (o GetIsDedicatedHostDisksDiskOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this disk. +func (o GetIsDedicatedHostDisksDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this disk. +func (o GetIsDedicatedHostDisksDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance disks that are on this dedicated host disk. +func (o GetIsDedicatedHostDisksDiskOutput) InstanceDisks() GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) []GetIsDedicatedHostDisksDiskInstanceDisk { return v.InstanceDisks }).(GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput) +} + +// The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsDedicatedHostDisksDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The lifecycle state of this dedicated host disk. +func (o GetIsDedicatedHostDisksDiskOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this disk. +func (o GetIsDedicatedHostDisksDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates whether this dedicated host disk is available for instance disk creation. +func (o GetIsDedicatedHostDisksDiskOutput) Provisionable() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) bool { return v.Provisionable }).(pulumi.BoolOutput) +} + +// The type of resource referenced. +func (o GetIsDedicatedHostDisksDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsDedicatedHostDisksDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) int { return v.Size }).(pulumi.IntOutput) +} + +// The instance disk interfaces supported for this dedicated host disk. +func (o GetIsDedicatedHostDisksDiskOutput) SupportedInstanceInterfaceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDisk) []string { return v.SupportedInstanceInterfaceTypes }).(pulumi.StringArrayOutput) +} + +type GetIsDedicatedHostDisksDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDisksDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDisksDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostDisksDiskArrayOutput) ToGetIsDedicatedHostDisksDiskArrayOutput() GetIsDedicatedHostDisksDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskArrayOutput) ToGetIsDedicatedHostDisksDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostDisksDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostDisksDisk { + return vs[0].([]GetIsDedicatedHostDisksDisk)[vs[1].(int)] + }).(GetIsDedicatedHostDisksDiskOutput) +} + +type GetIsDedicatedHostDisksDiskInstanceDisk struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsDedicatedHostDisksDiskInstanceDiskDeleted `pulumi:"deleteds"` + // The URL for this instance disk. + Href string `pulumi:"href"` + // The unique identifier for this instance disk. + Id string `pulumi:"id"` + // The user-defined name for this disk. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsDedicatedHostDisksDiskInstanceDiskInput is an input type that accepts GetIsDedicatedHostDisksDiskInstanceDiskArgs and GetIsDedicatedHostDisksDiskInstanceDiskOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDisksDiskInstanceDiskInput` via: +// +// GetIsDedicatedHostDisksDiskInstanceDiskArgs{...} +type GetIsDedicatedHostDisksDiskInstanceDiskInput interface { + pulumi.Input + + ToGetIsDedicatedHostDisksDiskInstanceDiskOutput() GetIsDedicatedHostDisksDiskInstanceDiskOutput + ToGetIsDedicatedHostDisksDiskInstanceDiskOutputWithContext(context.Context) GetIsDedicatedHostDisksDiskInstanceDiskOutput +} + +type GetIsDedicatedHostDisksDiskInstanceDiskArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance disk. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsDedicatedHostDisksDiskInstanceDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisksDiskInstanceDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostDisksDiskInstanceDiskArgs) ToGetIsDedicatedHostDisksDiskInstanceDiskOutput() GetIsDedicatedHostDisksDiskInstanceDiskOutput { + return i.ToGetIsDedicatedHostDisksDiskInstanceDiskOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDisksDiskInstanceDiskArgs) ToGetIsDedicatedHostDisksDiskInstanceDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskInstanceDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDisksDiskInstanceDiskOutput) +} + +// GetIsDedicatedHostDisksDiskInstanceDiskArrayInput is an input type that accepts GetIsDedicatedHostDisksDiskInstanceDiskArray and GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDisksDiskInstanceDiskArrayInput` via: +// +// GetIsDedicatedHostDisksDiskInstanceDiskArray{ GetIsDedicatedHostDisksDiskInstanceDiskArgs{...} } +type GetIsDedicatedHostDisksDiskInstanceDiskArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostDisksDiskInstanceDiskArrayOutput() GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput + ToGetIsDedicatedHostDisksDiskInstanceDiskArrayOutputWithContext(context.Context) GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput +} + +type GetIsDedicatedHostDisksDiskInstanceDiskArray []GetIsDedicatedHostDisksDiskInstanceDiskInput + +func (GetIsDedicatedHostDisksDiskInstanceDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDisksDiskInstanceDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostDisksDiskInstanceDiskArray) ToGetIsDedicatedHostDisksDiskInstanceDiskArrayOutput() GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput { + return i.ToGetIsDedicatedHostDisksDiskInstanceDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDisksDiskInstanceDiskArray) ToGetIsDedicatedHostDisksDiskInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput) +} + +type GetIsDedicatedHostDisksDiskInstanceDiskOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDisksDiskInstanceDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisksDiskInstanceDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskOutput) ToGetIsDedicatedHostDisksDiskInstanceDiskOutput() GetIsDedicatedHostDisksDiskInstanceDiskOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskOutput) ToGetIsDedicatedHostDisksDiskInstanceDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskInstanceDiskOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsDedicatedHostDisksDiskInstanceDiskOutput) Deleteds() GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDiskInstanceDisk) []GetIsDedicatedHostDisksDiskInstanceDiskDeleted { + return v.Deleteds + }).(GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput) +} + +// The URL for this instance disk. +func (o GetIsDedicatedHostDisksDiskInstanceDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDiskInstanceDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance disk. +func (o GetIsDedicatedHostDisksDiskInstanceDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDiskInstanceDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this disk. +func (o GetIsDedicatedHostDisksDiskInstanceDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDiskInstanceDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsDedicatedHostDisksDiskInstanceDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDiskInstanceDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDisksDiskInstanceDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput) ToGetIsDedicatedHostDisksDiskInstanceDiskArrayOutput() GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput) ToGetIsDedicatedHostDisksDiskInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostDisksDiskInstanceDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostDisksDiskInstanceDisk { + return vs[0].([]GetIsDedicatedHostDisksDiskInstanceDisk)[vs[1].(int)] + }).(GetIsDedicatedHostDisksDiskInstanceDiskOutput) +} + +type GetIsDedicatedHostDisksDiskInstanceDiskDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsDedicatedHostDisksDiskInstanceDiskDeletedInput is an input type that accepts GetIsDedicatedHostDisksDiskInstanceDiskDeletedArgs and GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDisksDiskInstanceDiskDeletedInput` via: +// +// GetIsDedicatedHostDisksDiskInstanceDiskDeletedArgs{...} +type GetIsDedicatedHostDisksDiskInstanceDiskDeletedInput interface { + pulumi.Input + + ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput() GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput + ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedOutputWithContext(context.Context) GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput +} + +type GetIsDedicatedHostDisksDiskInstanceDiskDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsDedicatedHostDisksDiskInstanceDiskDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisksDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostDisksDiskInstanceDiskDeletedArgs) ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput() GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput { + return i.ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDisksDiskInstanceDiskDeletedArgs) ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput) +} + +// GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayInput is an input type that accepts GetIsDedicatedHostDisksDiskInstanceDiskDeletedArray and GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayInput` via: +// +// GetIsDedicatedHostDisksDiskInstanceDiskDeletedArray{ GetIsDedicatedHostDisksDiskInstanceDiskDeletedArgs{...} } +type GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput + ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutputWithContext(context.Context) GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput +} + +type GetIsDedicatedHostDisksDiskInstanceDiskDeletedArray []GetIsDedicatedHostDisksDiskInstanceDiskDeletedInput + +func (GetIsDedicatedHostDisksDiskInstanceDiskDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDisksDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostDisksDiskInstanceDiskDeletedArray) ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput { + return i.ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostDisksDiskInstanceDiskDeletedArray) ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput) +} + +type GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostDisksDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput) ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput() GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput) ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostDisksDiskInstanceDiskDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostDisksDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput) ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput) ToGetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostDisksDiskInstanceDiskDeleted { + return vs[0].([]GetIsDedicatedHostDisksDiskInstanceDiskDeleted)[vs[1].(int)] + }).(GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput) +} + +type GetIsDedicatedHostGroupDedicatedHost struct { + // The CRN for this dedicated host. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsDedicatedHostGroupDedicatedHostDeleted `pulumi:"deleteds"` + // The URL for this dedicated host. + Href string `pulumi:"href"` + // The unique identifier for this dedicated host. + Id string `pulumi:"id"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsDedicatedHostGroupDedicatedHostInput is an input type that accepts GetIsDedicatedHostGroupDedicatedHostArgs and GetIsDedicatedHostGroupDedicatedHostOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupDedicatedHostInput` via: +// +// GetIsDedicatedHostGroupDedicatedHostArgs{...} +type GetIsDedicatedHostGroupDedicatedHostInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupDedicatedHostOutput() GetIsDedicatedHostGroupDedicatedHostOutput + ToGetIsDedicatedHostGroupDedicatedHostOutputWithContext(context.Context) GetIsDedicatedHostGroupDedicatedHostOutput +} + +type GetIsDedicatedHostGroupDedicatedHostArgs struct { + // The CRN for this dedicated host. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsDedicatedHostGroupDedicatedHostDeletedArrayInput `pulumi:"deleteds"` + // The URL for this dedicated host. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this dedicated host. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsDedicatedHostGroupDedicatedHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupDedicatedHost)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupDedicatedHostArgs) ToGetIsDedicatedHostGroupDedicatedHostOutput() GetIsDedicatedHostGroupDedicatedHostOutput { + return i.ToGetIsDedicatedHostGroupDedicatedHostOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupDedicatedHostArgs) ToGetIsDedicatedHostGroupDedicatedHostOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupDedicatedHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupDedicatedHostOutput) +} + +// GetIsDedicatedHostGroupDedicatedHostArrayInput is an input type that accepts GetIsDedicatedHostGroupDedicatedHostArray and GetIsDedicatedHostGroupDedicatedHostArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupDedicatedHostArrayInput` via: +// +// GetIsDedicatedHostGroupDedicatedHostArray{ GetIsDedicatedHostGroupDedicatedHostArgs{...} } +type GetIsDedicatedHostGroupDedicatedHostArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupDedicatedHostArrayOutput() GetIsDedicatedHostGroupDedicatedHostArrayOutput + ToGetIsDedicatedHostGroupDedicatedHostArrayOutputWithContext(context.Context) GetIsDedicatedHostGroupDedicatedHostArrayOutput +} + +type GetIsDedicatedHostGroupDedicatedHostArray []GetIsDedicatedHostGroupDedicatedHostInput + +func (GetIsDedicatedHostGroupDedicatedHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupDedicatedHost)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupDedicatedHostArray) ToGetIsDedicatedHostGroupDedicatedHostArrayOutput() GetIsDedicatedHostGroupDedicatedHostArrayOutput { + return i.ToGetIsDedicatedHostGroupDedicatedHostArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupDedicatedHostArray) ToGetIsDedicatedHostGroupDedicatedHostArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupDedicatedHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupDedicatedHostArrayOutput) +} + +type GetIsDedicatedHostGroupDedicatedHostOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupDedicatedHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupDedicatedHost)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupDedicatedHostOutput) ToGetIsDedicatedHostGroupDedicatedHostOutput() GetIsDedicatedHostGroupDedicatedHostOutput { + return o +} + +func (o GetIsDedicatedHostGroupDedicatedHostOutput) ToGetIsDedicatedHostGroupDedicatedHostOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupDedicatedHostOutput { + return o +} + +// The CRN for this dedicated host. +func (o GetIsDedicatedHostGroupDedicatedHostOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupDedicatedHost) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsDedicatedHostGroupDedicatedHostOutput) Deleteds() GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupDedicatedHost) []GetIsDedicatedHostGroupDedicatedHostDeleted { + return v.Deleteds + }).(GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput) +} + +// The URL for this dedicated host. +func (o GetIsDedicatedHostGroupDedicatedHostOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupDedicatedHost) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this dedicated host. +func (o GetIsDedicatedHostGroupDedicatedHostOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupDedicatedHost) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsDedicatedHostGroupDedicatedHostOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupDedicatedHost) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsDedicatedHostGroupDedicatedHostOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupDedicatedHost) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostGroupDedicatedHostArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupDedicatedHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupDedicatedHost)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupDedicatedHostArrayOutput) ToGetIsDedicatedHostGroupDedicatedHostArrayOutput() GetIsDedicatedHostGroupDedicatedHostArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupDedicatedHostArrayOutput) ToGetIsDedicatedHostGroupDedicatedHostArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupDedicatedHostArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupDedicatedHostArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostGroupDedicatedHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostGroupDedicatedHost { + return vs[0].([]GetIsDedicatedHostGroupDedicatedHost)[vs[1].(int)] + }).(GetIsDedicatedHostGroupDedicatedHostOutput) +} + +type GetIsDedicatedHostGroupDedicatedHostDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsDedicatedHostGroupDedicatedHostDeletedInput is an input type that accepts GetIsDedicatedHostGroupDedicatedHostDeletedArgs and GetIsDedicatedHostGroupDedicatedHostDeletedOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupDedicatedHostDeletedInput` via: +// +// GetIsDedicatedHostGroupDedicatedHostDeletedArgs{...} +type GetIsDedicatedHostGroupDedicatedHostDeletedInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupDedicatedHostDeletedOutput() GetIsDedicatedHostGroupDedicatedHostDeletedOutput + ToGetIsDedicatedHostGroupDedicatedHostDeletedOutputWithContext(context.Context) GetIsDedicatedHostGroupDedicatedHostDeletedOutput +} + +type GetIsDedicatedHostGroupDedicatedHostDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsDedicatedHostGroupDedicatedHostDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupDedicatedHostDeletedArgs) ToGetIsDedicatedHostGroupDedicatedHostDeletedOutput() GetIsDedicatedHostGroupDedicatedHostDeletedOutput { + return i.ToGetIsDedicatedHostGroupDedicatedHostDeletedOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupDedicatedHostDeletedArgs) ToGetIsDedicatedHostGroupDedicatedHostDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupDedicatedHostDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupDedicatedHostDeletedOutput) +} + +// GetIsDedicatedHostGroupDedicatedHostDeletedArrayInput is an input type that accepts GetIsDedicatedHostGroupDedicatedHostDeletedArray and GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupDedicatedHostDeletedArrayInput` via: +// +// GetIsDedicatedHostGroupDedicatedHostDeletedArray{ GetIsDedicatedHostGroupDedicatedHostDeletedArgs{...} } +type GetIsDedicatedHostGroupDedicatedHostDeletedArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput() GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput + ToGetIsDedicatedHostGroupDedicatedHostDeletedArrayOutputWithContext(context.Context) GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput +} + +type GetIsDedicatedHostGroupDedicatedHostDeletedArray []GetIsDedicatedHostGroupDedicatedHostDeletedInput + +func (GetIsDedicatedHostGroupDedicatedHostDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupDedicatedHostDeletedArray) ToGetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput() GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return i.ToGetIsDedicatedHostGroupDedicatedHostDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupDedicatedHostDeletedArray) ToGetIsDedicatedHostGroupDedicatedHostDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput) +} + +type GetIsDedicatedHostGroupDedicatedHostDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupDedicatedHostDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupDedicatedHostDeletedOutput) ToGetIsDedicatedHostGroupDedicatedHostDeletedOutput() GetIsDedicatedHostGroupDedicatedHostDeletedOutput { + return o +} + +func (o GetIsDedicatedHostGroupDedicatedHostDeletedOutput) ToGetIsDedicatedHostGroupDedicatedHostDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupDedicatedHostDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsDedicatedHostGroupDedicatedHostDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupDedicatedHostDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput) ToGetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput() GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput) ToGetIsDedicatedHostGroupDedicatedHostDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostGroupDedicatedHostDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostGroupDedicatedHostDeleted { + return vs[0].([]GetIsDedicatedHostGroupDedicatedHostDeleted)[vs[1].(int)] + }).(GetIsDedicatedHostGroupDedicatedHostDeletedOutput) +} + +type GetIsDedicatedHostGroupSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostGroupSupportedInstanceProfileInput is an input type that accepts GetIsDedicatedHostGroupSupportedInstanceProfileArgs and GetIsDedicatedHostGroupSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupSupportedInstanceProfileInput` via: +// +// GetIsDedicatedHostGroupSupportedInstanceProfileArgs{...} +type GetIsDedicatedHostGroupSupportedInstanceProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupSupportedInstanceProfileOutput() GetIsDedicatedHostGroupSupportedInstanceProfileOutput + ToGetIsDedicatedHostGroupSupportedInstanceProfileOutputWithContext(context.Context) GetIsDedicatedHostGroupSupportedInstanceProfileOutput +} + +type GetIsDedicatedHostGroupSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostGroupSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupSupportedInstanceProfileArgs) ToGetIsDedicatedHostGroupSupportedInstanceProfileOutput() GetIsDedicatedHostGroupSupportedInstanceProfileOutput { + return i.ToGetIsDedicatedHostGroupSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupSupportedInstanceProfileArgs) ToGetIsDedicatedHostGroupSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupSupportedInstanceProfileOutput) +} + +// GetIsDedicatedHostGroupSupportedInstanceProfileArrayInput is an input type that accepts GetIsDedicatedHostGroupSupportedInstanceProfileArray and GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupSupportedInstanceProfileArrayInput` via: +// +// GetIsDedicatedHostGroupSupportedInstanceProfileArray{ GetIsDedicatedHostGroupSupportedInstanceProfileArgs{...} } +type GetIsDedicatedHostGroupSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput() GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput + ToGetIsDedicatedHostGroupSupportedInstanceProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput +} + +type GetIsDedicatedHostGroupSupportedInstanceProfileArray []GetIsDedicatedHostGroupSupportedInstanceProfileInput + +func (GetIsDedicatedHostGroupSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupSupportedInstanceProfileArray) ToGetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput() GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return i.ToGetIsDedicatedHostGroupSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupSupportedInstanceProfileArray) ToGetIsDedicatedHostGroupSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput) +} + +type GetIsDedicatedHostGroupSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupSupportedInstanceProfileOutput) ToGetIsDedicatedHostGroupSupportedInstanceProfileOutput() GetIsDedicatedHostGroupSupportedInstanceProfileOutput { + return o +} + +func (o GetIsDedicatedHostGroupSupportedInstanceProfileOutput) ToGetIsDedicatedHostGroupSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsDedicatedHostGroupSupportedInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupSupportedInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsDedicatedHostGroupSupportedInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupSupportedInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput() GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostGroupSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostGroupSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostGroupSupportedInstanceProfile { + return vs[0].([]GetIsDedicatedHostGroupSupportedInstanceProfile)[vs[1].(int)] + }).(GetIsDedicatedHostGroupSupportedInstanceProfileOutput) +} + +type GetIsDedicatedHostGroupsHostGroup struct { + // The dedicated host profile class for hosts in this group. + Class string `pulumi:"class"` + // The date and time that the dedicated host group was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this dedicated host group. + Crn string `pulumi:"crn"` + // The dedicated hosts that are in this dedicated host group. + DedicatedHosts []GetIsDedicatedHostGroupsHostGroupDedicatedHost `pulumi:"dedicatedHosts"` + // The dedicated host profile family for hosts in this group. + Family string `pulumi:"family"` + // The URL for this dedicated host group. + Href string `pulumi:"href"` + // The unique identifier for this dedicated host group. + Id string `pulumi:"id"` + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The resource group for this dedicated host group. + ResourceGroup string `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // Array of instance profiles that can be used by instances placed on this dedicated host group. + SupportedInstanceProfiles []GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + // The globally unique name of the zone this dedicated host group resides in. + Zone string `pulumi:"zone"` +} + +// GetIsDedicatedHostGroupsHostGroupInput is an input type that accepts GetIsDedicatedHostGroupsHostGroupArgs and GetIsDedicatedHostGroupsHostGroupOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupsHostGroupInput` via: +// +// GetIsDedicatedHostGroupsHostGroupArgs{...} +type GetIsDedicatedHostGroupsHostGroupInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupsHostGroupOutput() GetIsDedicatedHostGroupsHostGroupOutput + ToGetIsDedicatedHostGroupsHostGroupOutputWithContext(context.Context) GetIsDedicatedHostGroupsHostGroupOutput +} + +type GetIsDedicatedHostGroupsHostGroupArgs struct { + // The dedicated host profile class for hosts in this group. + Class pulumi.StringInput `pulumi:"class"` + // The date and time that the dedicated host group was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this dedicated host group. + Crn pulumi.StringInput `pulumi:"crn"` + // The dedicated hosts that are in this dedicated host group. + DedicatedHosts GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayInput `pulumi:"dedicatedHosts"` + // The dedicated host profile family for hosts in this group. + Family pulumi.StringInput `pulumi:"family"` + // The URL for this dedicated host group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this dedicated host group. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The resource group for this dedicated host group. + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Array of instance profiles that can be used by instances placed on this dedicated host group. + SupportedInstanceProfiles GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayInput `pulumi:"supportedInstanceProfiles"` + // The globally unique name of the zone this dedicated host group resides in. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsDedicatedHostGroupsHostGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroup)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupsHostGroupArgs) ToGetIsDedicatedHostGroupsHostGroupOutput() GetIsDedicatedHostGroupsHostGroupOutput { + return i.ToGetIsDedicatedHostGroupsHostGroupOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupsHostGroupArgs) ToGetIsDedicatedHostGroupsHostGroupOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupsHostGroupOutput) +} + +// GetIsDedicatedHostGroupsHostGroupArrayInput is an input type that accepts GetIsDedicatedHostGroupsHostGroupArray and GetIsDedicatedHostGroupsHostGroupArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupsHostGroupArrayInput` via: +// +// GetIsDedicatedHostGroupsHostGroupArray{ GetIsDedicatedHostGroupsHostGroupArgs{...} } +type GetIsDedicatedHostGroupsHostGroupArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupsHostGroupArrayOutput() GetIsDedicatedHostGroupsHostGroupArrayOutput + ToGetIsDedicatedHostGroupsHostGroupArrayOutputWithContext(context.Context) GetIsDedicatedHostGroupsHostGroupArrayOutput +} + +type GetIsDedicatedHostGroupsHostGroupArray []GetIsDedicatedHostGroupsHostGroupInput + +func (GetIsDedicatedHostGroupsHostGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupsHostGroup)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupsHostGroupArray) ToGetIsDedicatedHostGroupsHostGroupArrayOutput() GetIsDedicatedHostGroupsHostGroupArrayOutput { + return i.ToGetIsDedicatedHostGroupsHostGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupsHostGroupArray) ToGetIsDedicatedHostGroupsHostGroupArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupsHostGroupArrayOutput) +} + +type GetIsDedicatedHostGroupsHostGroupOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsHostGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroup)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsHostGroupOutput) ToGetIsDedicatedHostGroupsHostGroupOutput() GetIsDedicatedHostGroupsHostGroupOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupOutput) ToGetIsDedicatedHostGroupsHostGroupOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupOutput { + return o +} + +// The dedicated host profile class for hosts in this group. +func (o GetIsDedicatedHostGroupsHostGroupOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.Class }).(pulumi.StringOutput) +} + +// The date and time that the dedicated host group was created. +func (o GetIsDedicatedHostGroupsHostGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this dedicated host group. +func (o GetIsDedicatedHostGroupsHostGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// The dedicated hosts that are in this dedicated host group. +func (o GetIsDedicatedHostGroupsHostGroupOutput) DedicatedHosts() GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) []GetIsDedicatedHostGroupsHostGroupDedicatedHost { + return v.DedicatedHosts + }).(GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput) +} + +// The dedicated host profile family for hosts in this group. +func (o GetIsDedicatedHostGroupsHostGroupOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this dedicated host group. +func (o GetIsDedicatedHostGroupsHostGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this dedicated host group. +func (o GetIsDedicatedHostGroupsHostGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsDedicatedHostGroupsHostGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this dedicated host group. +func (o GetIsDedicatedHostGroupsHostGroupOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsDedicatedHostGroupsHostGroupOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Array of instance profiles that can be used by instances placed on this dedicated host group. +func (o GetIsDedicatedHostGroupsHostGroupOutput) SupportedInstanceProfiles() GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) []GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile { + return v.SupportedInstanceProfiles + }).(GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput) +} + +// The globally unique name of the zone this dedicated host group resides in. +func (o GetIsDedicatedHostGroupsHostGroupOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroup) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostGroupsHostGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsHostGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupsHostGroup)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsHostGroupArrayOutput) ToGetIsDedicatedHostGroupsHostGroupArrayOutput() GetIsDedicatedHostGroupsHostGroupArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupArrayOutput) ToGetIsDedicatedHostGroupsHostGroupArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostGroupsHostGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostGroupsHostGroup { + return vs[0].([]GetIsDedicatedHostGroupsHostGroup)[vs[1].(int)] + }).(GetIsDedicatedHostGroupsHostGroupOutput) +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHost struct { + // The CRN for this dedicated host. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted `pulumi:"deleteds"` + // The URL for this dedicated host. + Href string `pulumi:"href"` + // The unique identifier for this dedicated host. + Id string `pulumi:"id"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsDedicatedHostGroupsHostGroupDedicatedHostInput is an input type that accepts GetIsDedicatedHostGroupsHostGroupDedicatedHostArgs and GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupsHostGroupDedicatedHostInput` via: +// +// GetIsDedicatedHostGroupsHostGroupDedicatedHostArgs{...} +type GetIsDedicatedHostGroupsHostGroupDedicatedHostInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupsHostGroupDedicatedHostOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput + ToGetIsDedicatedHostGroupsHostGroupDedicatedHostOutputWithContext(context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostArgs struct { + // The CRN for this dedicated host. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayInput `pulumi:"deleteds"` + // The URL for this dedicated host. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this dedicated host. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsDedicatedHostGroupsHostGroupDedicatedHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupDedicatedHost)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupsHostGroupDedicatedHostArgs) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput { + return i.ToGetIsDedicatedHostGroupsHostGroupDedicatedHostOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupsHostGroupDedicatedHostArgs) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) +} + +// GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayInput is an input type that accepts GetIsDedicatedHostGroupsHostGroupDedicatedHostArray and GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayInput` via: +// +// GetIsDedicatedHostGroupsHostGroupDedicatedHostArray{ GetIsDedicatedHostGroupsHostGroupDedicatedHostArgs{...} } +type GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput + ToGetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutputWithContext(context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostArray []GetIsDedicatedHostGroupsHostGroupDedicatedHostInput + +func (GetIsDedicatedHostGroupsHostGroupDedicatedHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupsHostGroupDedicatedHost)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupsHostGroupDedicatedHostArray) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput { + return i.ToGetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupsHostGroupDedicatedHostArray) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput) +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupDedicatedHost)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput { + return o +} + +// The CRN for this dedicated host. +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupDedicatedHost) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) Deleteds() GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupDedicatedHost) []GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted { + return v.Deleteds + }).(GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput) +} + +// The URL for this dedicated host. +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupDedicatedHost) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this dedicated host. +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupDedicatedHost) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupDedicatedHost) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupDedicatedHost) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupsHostGroupDedicatedHost)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostGroupsHostGroupDedicatedHost { + return vs[0].([]GetIsDedicatedHostGroupsHostGroupDedicatedHost)[vs[1].(int)] + }).(GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput) +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedInput is an input type that accepts GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArgs and GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedInput` via: +// +// GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArgs{...} +type GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput + ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutputWithContext(context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArgs) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput { + return i.ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArgs) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput) +} + +// GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayInput is an input type that accepts GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArray and GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayInput` via: +// +// GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArray{ GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArgs{...} } +type GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput + ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutputWithContext(context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArray []GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedInput + +func (GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArray) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput { + return i.ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArray) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput) +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput() GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput) ToGetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted { + return vs[0].([]GetIsDedicatedHostGroupsHostGroupDedicatedHostDeleted)[vs[1].(int)] + }).(GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput) +} + +type GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileInput is an input type that accepts GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArgs and GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileInput` via: +// +// GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArgs{...} +type GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput() GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput + ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutputWithContext(context.Context) GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput +} + +type GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArgs) ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput() GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput { + return i.ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArgs) ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput) +} + +// GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayInput is an input type that accepts GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArray and GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayInput` via: +// +// GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArray{ GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArgs{...} } +type GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput() GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput + ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput +} + +type GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArray []GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileInput + +func (GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArray) ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput() GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput { + return i.ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArray) ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput) +} + +type GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput) ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput() GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput) ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput() GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile { + return vs[0].([]GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfile)[vs[1].(int)] + }).(GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput) +} + +type GetIsDedicatedHostInstance struct { + // The CRN for this virtual server instance. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsDedicatedHostInstanceDeleted `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href string `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id string `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostInstanceInput is an input type that accepts GetIsDedicatedHostInstanceArgs and GetIsDedicatedHostInstanceOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostInstanceInput` via: +// +// GetIsDedicatedHostInstanceArgs{...} +type GetIsDedicatedHostInstanceInput interface { + pulumi.Input + + ToGetIsDedicatedHostInstanceOutput() GetIsDedicatedHostInstanceOutput + ToGetIsDedicatedHostInstanceOutputWithContext(context.Context) GetIsDedicatedHostInstanceOutput +} + +type GetIsDedicatedHostInstanceArgs struct { + // The CRN for this virtual server instance. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsDedicatedHostInstanceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostInstance)(nil)).Elem() +} + +func (i GetIsDedicatedHostInstanceArgs) ToGetIsDedicatedHostInstanceOutput() GetIsDedicatedHostInstanceOutput { + return i.ToGetIsDedicatedHostInstanceOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostInstanceArgs) ToGetIsDedicatedHostInstanceOutputWithContext(ctx context.Context) GetIsDedicatedHostInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostInstanceOutput) +} + +// GetIsDedicatedHostInstanceArrayInput is an input type that accepts GetIsDedicatedHostInstanceArray and GetIsDedicatedHostInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostInstanceArrayInput` via: +// +// GetIsDedicatedHostInstanceArray{ GetIsDedicatedHostInstanceArgs{...} } +type GetIsDedicatedHostInstanceArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostInstanceArrayOutput() GetIsDedicatedHostInstanceArrayOutput + ToGetIsDedicatedHostInstanceArrayOutputWithContext(context.Context) GetIsDedicatedHostInstanceArrayOutput +} + +type GetIsDedicatedHostInstanceArray []GetIsDedicatedHostInstanceInput + +func (GetIsDedicatedHostInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostInstance)(nil)).Elem() +} + +func (i GetIsDedicatedHostInstanceArray) ToGetIsDedicatedHostInstanceArrayOutput() GetIsDedicatedHostInstanceArrayOutput { + return i.ToGetIsDedicatedHostInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostInstanceArray) ToGetIsDedicatedHostInstanceArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostInstanceArrayOutput) +} + +type GetIsDedicatedHostInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostInstance)(nil)).Elem() +} + +func (o GetIsDedicatedHostInstanceOutput) ToGetIsDedicatedHostInstanceOutput() GetIsDedicatedHostInstanceOutput { + return o +} + +func (o GetIsDedicatedHostInstanceOutput) ToGetIsDedicatedHostInstanceOutputWithContext(ctx context.Context) GetIsDedicatedHostInstanceOutput { + return o +} + +// The CRN for this virtual server instance. +func (o GetIsDedicatedHostInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsDedicatedHostInstanceOutput) Deleteds() GetIsDedicatedHostInstanceDeletedArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostInstance) []GetIsDedicatedHostInstanceDeleted { return v.Deleteds }).(GetIsDedicatedHostInstanceDeletedArrayOutput) +} + +// The URL for this virtual server instance. +func (o GetIsDedicatedHostInstanceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostInstance) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual server instance. +func (o GetIsDedicatedHostInstanceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostInstance) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o GetIsDedicatedHostInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostInstance) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostInstance)(nil)).Elem() +} + +func (o GetIsDedicatedHostInstanceArrayOutput) ToGetIsDedicatedHostInstanceArrayOutput() GetIsDedicatedHostInstanceArrayOutput { + return o +} + +func (o GetIsDedicatedHostInstanceArrayOutput) ToGetIsDedicatedHostInstanceArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostInstanceArrayOutput { + return o +} + +func (o GetIsDedicatedHostInstanceArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostInstance { + return vs[0].([]GetIsDedicatedHostInstance)[vs[1].(int)] + }).(GetIsDedicatedHostInstanceOutput) +} + +type GetIsDedicatedHostInstanceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsDedicatedHostInstanceDeletedInput is an input type that accepts GetIsDedicatedHostInstanceDeletedArgs and GetIsDedicatedHostInstanceDeletedOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostInstanceDeletedInput` via: +// +// GetIsDedicatedHostInstanceDeletedArgs{...} +type GetIsDedicatedHostInstanceDeletedInput interface { + pulumi.Input + + ToGetIsDedicatedHostInstanceDeletedOutput() GetIsDedicatedHostInstanceDeletedOutput + ToGetIsDedicatedHostInstanceDeletedOutputWithContext(context.Context) GetIsDedicatedHostInstanceDeletedOutput +} + +type GetIsDedicatedHostInstanceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsDedicatedHostInstanceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostInstanceDeletedArgs) ToGetIsDedicatedHostInstanceDeletedOutput() GetIsDedicatedHostInstanceDeletedOutput { + return i.ToGetIsDedicatedHostInstanceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostInstanceDeletedArgs) ToGetIsDedicatedHostInstanceDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostInstanceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostInstanceDeletedOutput) +} + +// GetIsDedicatedHostInstanceDeletedArrayInput is an input type that accepts GetIsDedicatedHostInstanceDeletedArray and GetIsDedicatedHostInstanceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostInstanceDeletedArrayInput` via: +// +// GetIsDedicatedHostInstanceDeletedArray{ GetIsDedicatedHostInstanceDeletedArgs{...} } +type GetIsDedicatedHostInstanceDeletedArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostInstanceDeletedArrayOutput() GetIsDedicatedHostInstanceDeletedArrayOutput + ToGetIsDedicatedHostInstanceDeletedArrayOutputWithContext(context.Context) GetIsDedicatedHostInstanceDeletedArrayOutput +} + +type GetIsDedicatedHostInstanceDeletedArray []GetIsDedicatedHostInstanceDeletedInput + +func (GetIsDedicatedHostInstanceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostInstanceDeletedArray) ToGetIsDedicatedHostInstanceDeletedArrayOutput() GetIsDedicatedHostInstanceDeletedArrayOutput { + return i.ToGetIsDedicatedHostInstanceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostInstanceDeletedArray) ToGetIsDedicatedHostInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostInstanceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostInstanceDeletedArrayOutput) +} + +type GetIsDedicatedHostInstanceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostInstanceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostInstanceDeletedOutput) ToGetIsDedicatedHostInstanceDeletedOutput() GetIsDedicatedHostInstanceDeletedOutput { + return o +} + +func (o GetIsDedicatedHostInstanceDeletedOutput) ToGetIsDedicatedHostInstanceDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostInstanceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsDedicatedHostInstanceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostInstanceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostInstanceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostInstanceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostInstanceDeletedArrayOutput) ToGetIsDedicatedHostInstanceDeletedArrayOutput() GetIsDedicatedHostInstanceDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostInstanceDeletedArrayOutput) ToGetIsDedicatedHostInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostInstanceDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostInstanceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostInstanceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostInstanceDeleted { + return vs[0].([]GetIsDedicatedHostInstanceDeleted)[vs[1].(int)] + }).(GetIsDedicatedHostInstanceDeletedOutput) +} + +type GetIsDedicatedHostNuma struct { + // The total number of NUMA nodes for this dedicated host + Count int `pulumi:"count"` + // The NUMA nodes for this dedicated host. + Nodes []GetIsDedicatedHostNumaNode `pulumi:"nodes"` +} + +// GetIsDedicatedHostNumaInput is an input type that accepts GetIsDedicatedHostNumaArgs and GetIsDedicatedHostNumaOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostNumaInput` via: +// +// GetIsDedicatedHostNumaArgs{...} +type GetIsDedicatedHostNumaInput interface { + pulumi.Input + + ToGetIsDedicatedHostNumaOutput() GetIsDedicatedHostNumaOutput + ToGetIsDedicatedHostNumaOutputWithContext(context.Context) GetIsDedicatedHostNumaOutput +} + +type GetIsDedicatedHostNumaArgs struct { + // The total number of NUMA nodes for this dedicated host + Count pulumi.IntInput `pulumi:"count"` + // The NUMA nodes for this dedicated host. + Nodes GetIsDedicatedHostNumaNodeArrayInput `pulumi:"nodes"` +} + +func (GetIsDedicatedHostNumaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostNuma)(nil)).Elem() +} + +func (i GetIsDedicatedHostNumaArgs) ToGetIsDedicatedHostNumaOutput() GetIsDedicatedHostNumaOutput { + return i.ToGetIsDedicatedHostNumaOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostNumaArgs) ToGetIsDedicatedHostNumaOutputWithContext(ctx context.Context) GetIsDedicatedHostNumaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostNumaOutput) +} + +// GetIsDedicatedHostNumaArrayInput is an input type that accepts GetIsDedicatedHostNumaArray and GetIsDedicatedHostNumaArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostNumaArrayInput` via: +// +// GetIsDedicatedHostNumaArray{ GetIsDedicatedHostNumaArgs{...} } +type GetIsDedicatedHostNumaArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostNumaArrayOutput() GetIsDedicatedHostNumaArrayOutput + ToGetIsDedicatedHostNumaArrayOutputWithContext(context.Context) GetIsDedicatedHostNumaArrayOutput +} + +type GetIsDedicatedHostNumaArray []GetIsDedicatedHostNumaInput + +func (GetIsDedicatedHostNumaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostNuma)(nil)).Elem() +} + +func (i GetIsDedicatedHostNumaArray) ToGetIsDedicatedHostNumaArrayOutput() GetIsDedicatedHostNumaArrayOutput { + return i.ToGetIsDedicatedHostNumaArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostNumaArray) ToGetIsDedicatedHostNumaArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostNumaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostNumaArrayOutput) +} + +type GetIsDedicatedHostNumaOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostNumaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostNuma)(nil)).Elem() +} + +func (o GetIsDedicatedHostNumaOutput) ToGetIsDedicatedHostNumaOutput() GetIsDedicatedHostNumaOutput { + return o +} + +func (o GetIsDedicatedHostNumaOutput) ToGetIsDedicatedHostNumaOutputWithContext(ctx context.Context) GetIsDedicatedHostNumaOutput { + return o +} + +// The total number of NUMA nodes for this dedicated host +func (o GetIsDedicatedHostNumaOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostNuma) int { return v.Count }).(pulumi.IntOutput) +} + +// The NUMA nodes for this dedicated host. +func (o GetIsDedicatedHostNumaOutput) Nodes() GetIsDedicatedHostNumaNodeArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostNuma) []GetIsDedicatedHostNumaNode { return v.Nodes }).(GetIsDedicatedHostNumaNodeArrayOutput) +} + +type GetIsDedicatedHostNumaArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostNumaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostNuma)(nil)).Elem() +} + +func (o GetIsDedicatedHostNumaArrayOutput) ToGetIsDedicatedHostNumaArrayOutput() GetIsDedicatedHostNumaArrayOutput { + return o +} + +func (o GetIsDedicatedHostNumaArrayOutput) ToGetIsDedicatedHostNumaArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostNumaArrayOutput { + return o +} + +func (o GetIsDedicatedHostNumaArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostNumaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostNuma { + return vs[0].([]GetIsDedicatedHostNuma)[vs[1].(int)] + }).(GetIsDedicatedHostNumaOutput) +} + +type GetIsDedicatedHostNumaNode struct { + // The available VCPU for this NUMA node. + AvailableVcpu int `pulumi:"availableVcpu"` + // The total VCPU capacity for this NUMA node. + Vcpu int `pulumi:"vcpu"` +} + +// GetIsDedicatedHostNumaNodeInput is an input type that accepts GetIsDedicatedHostNumaNodeArgs and GetIsDedicatedHostNumaNodeOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostNumaNodeInput` via: +// +// GetIsDedicatedHostNumaNodeArgs{...} +type GetIsDedicatedHostNumaNodeInput interface { + pulumi.Input + + ToGetIsDedicatedHostNumaNodeOutput() GetIsDedicatedHostNumaNodeOutput + ToGetIsDedicatedHostNumaNodeOutputWithContext(context.Context) GetIsDedicatedHostNumaNodeOutput +} + +type GetIsDedicatedHostNumaNodeArgs struct { + // The available VCPU for this NUMA node. + AvailableVcpu pulumi.IntInput `pulumi:"availableVcpu"` + // The total VCPU capacity for this NUMA node. + Vcpu pulumi.IntInput `pulumi:"vcpu"` +} + +func (GetIsDedicatedHostNumaNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostNumaNode)(nil)).Elem() +} + +func (i GetIsDedicatedHostNumaNodeArgs) ToGetIsDedicatedHostNumaNodeOutput() GetIsDedicatedHostNumaNodeOutput { + return i.ToGetIsDedicatedHostNumaNodeOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostNumaNodeArgs) ToGetIsDedicatedHostNumaNodeOutputWithContext(ctx context.Context) GetIsDedicatedHostNumaNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostNumaNodeOutput) +} + +// GetIsDedicatedHostNumaNodeArrayInput is an input type that accepts GetIsDedicatedHostNumaNodeArray and GetIsDedicatedHostNumaNodeArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostNumaNodeArrayInput` via: +// +// GetIsDedicatedHostNumaNodeArray{ GetIsDedicatedHostNumaNodeArgs{...} } +type GetIsDedicatedHostNumaNodeArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostNumaNodeArrayOutput() GetIsDedicatedHostNumaNodeArrayOutput + ToGetIsDedicatedHostNumaNodeArrayOutputWithContext(context.Context) GetIsDedicatedHostNumaNodeArrayOutput +} + +type GetIsDedicatedHostNumaNodeArray []GetIsDedicatedHostNumaNodeInput + +func (GetIsDedicatedHostNumaNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostNumaNode)(nil)).Elem() +} + +func (i GetIsDedicatedHostNumaNodeArray) ToGetIsDedicatedHostNumaNodeArrayOutput() GetIsDedicatedHostNumaNodeArrayOutput { + return i.ToGetIsDedicatedHostNumaNodeArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostNumaNodeArray) ToGetIsDedicatedHostNumaNodeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostNumaNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostNumaNodeArrayOutput) +} + +type GetIsDedicatedHostNumaNodeOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostNumaNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostNumaNode)(nil)).Elem() +} + +func (o GetIsDedicatedHostNumaNodeOutput) ToGetIsDedicatedHostNumaNodeOutput() GetIsDedicatedHostNumaNodeOutput { + return o +} + +func (o GetIsDedicatedHostNumaNodeOutput) ToGetIsDedicatedHostNumaNodeOutputWithContext(ctx context.Context) GetIsDedicatedHostNumaNodeOutput { + return o +} + +// The available VCPU for this NUMA node. +func (o GetIsDedicatedHostNumaNodeOutput) AvailableVcpu() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostNumaNode) int { return v.AvailableVcpu }).(pulumi.IntOutput) +} + +// The total VCPU capacity for this NUMA node. +func (o GetIsDedicatedHostNumaNodeOutput) Vcpu() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostNumaNode) int { return v.Vcpu }).(pulumi.IntOutput) +} + +type GetIsDedicatedHostNumaNodeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostNumaNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostNumaNode)(nil)).Elem() +} + +func (o GetIsDedicatedHostNumaNodeArrayOutput) ToGetIsDedicatedHostNumaNodeArrayOutput() GetIsDedicatedHostNumaNodeArrayOutput { + return o +} + +func (o GetIsDedicatedHostNumaNodeArrayOutput) ToGetIsDedicatedHostNumaNodeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostNumaNodeArrayOutput { + return o +} + +func (o GetIsDedicatedHostNumaNodeArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostNumaNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostNumaNode { + return vs[0].([]GetIsDedicatedHostNumaNode)[vs[1].(int)] + }).(GetIsDedicatedHostNumaNodeOutput) +} + +type GetIsDedicatedHostProfile struct { + // The URL for this dedicated host. + Href string `pulumi:"href"` + // The globally unique name for this dedicated host profile. + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostProfileInput is an input type that accepts GetIsDedicatedHostProfileArgs and GetIsDedicatedHostProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileInput` via: +// +// GetIsDedicatedHostProfileArgs{...} +type GetIsDedicatedHostProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileOutput() GetIsDedicatedHostProfileOutput + ToGetIsDedicatedHostProfileOutputWithContext(context.Context) GetIsDedicatedHostProfileOutput +} + +type GetIsDedicatedHostProfileArgs struct { + // The URL for this dedicated host. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this dedicated host profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileArgs) ToGetIsDedicatedHostProfileOutput() GetIsDedicatedHostProfileOutput { + return i.ToGetIsDedicatedHostProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileArgs) ToGetIsDedicatedHostProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileOutput) +} + +// GetIsDedicatedHostProfileArrayInput is an input type that accepts GetIsDedicatedHostProfileArray and GetIsDedicatedHostProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileArrayInput` via: +// +// GetIsDedicatedHostProfileArray{ GetIsDedicatedHostProfileArgs{...} } +type GetIsDedicatedHostProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileArrayOutput() GetIsDedicatedHostProfileArrayOutput + ToGetIsDedicatedHostProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileArrayOutput +} + +type GetIsDedicatedHostProfileArray []GetIsDedicatedHostProfileInput + +func (GetIsDedicatedHostProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileArray) ToGetIsDedicatedHostProfileArrayOutput() GetIsDedicatedHostProfileArrayOutput { + return i.ToGetIsDedicatedHostProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileArray) ToGetIsDedicatedHostProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileArrayOutput) +} + +type GetIsDedicatedHostProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileOutput) ToGetIsDedicatedHostProfileOutput() GetIsDedicatedHostProfileOutput { + return o +} + +func (o GetIsDedicatedHostProfileOutput) ToGetIsDedicatedHostProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileOutput { + return o +} + +// The URL for this dedicated host. +func (o GetIsDedicatedHostProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this dedicated host profile. +func (o GetIsDedicatedHostProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileArrayOutput) ToGetIsDedicatedHostProfileArrayOutput() GetIsDedicatedHostProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileArrayOutput) ToGetIsDedicatedHostProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfile { + return vs[0].([]GetIsDedicatedHostProfile)[vs[1].(int)] + }).(GetIsDedicatedHostProfileOutput) +} + +type GetIsDedicatedHostProfileDisk struct { + InterfaceTypes []GetIsDedicatedHostProfileDiskInterfaceType `pulumi:"interfaceTypes"` + // The number of disks of this type for a dedicated host with this profile. + Quantities []GetIsDedicatedHostProfileDiskQuantity `pulumi:"quantities"` + // The size of the disk in GB (gigabytes). + Sizes []GetIsDedicatedHostProfileDiskSize `pulumi:"sizes"` + SupportedInstanceInterfaceTypes []GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType `pulumi:"supportedInstanceInterfaceTypes"` +} + +// GetIsDedicatedHostProfileDiskInput is an input type that accepts GetIsDedicatedHostProfileDiskArgs and GetIsDedicatedHostProfileDiskOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskInput` via: +// +// GetIsDedicatedHostProfileDiskArgs{...} +type GetIsDedicatedHostProfileDiskInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskOutput() GetIsDedicatedHostProfileDiskOutput + ToGetIsDedicatedHostProfileDiskOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskOutput +} + +type GetIsDedicatedHostProfileDiskArgs struct { + InterfaceTypes GetIsDedicatedHostProfileDiskInterfaceTypeArrayInput `pulumi:"interfaceTypes"` + // The number of disks of this type for a dedicated host with this profile. + Quantities GetIsDedicatedHostProfileDiskQuantityArrayInput `pulumi:"quantities"` + // The size of the disk in GB (gigabytes). + Sizes GetIsDedicatedHostProfileDiskSizeArrayInput `pulumi:"sizes"` + SupportedInstanceInterfaceTypes GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayInput `pulumi:"supportedInstanceInterfaceTypes"` +} + +func (GetIsDedicatedHostProfileDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskArgs) ToGetIsDedicatedHostProfileDiskOutput() GetIsDedicatedHostProfileDiskOutput { + return i.ToGetIsDedicatedHostProfileDiskOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskArgs) ToGetIsDedicatedHostProfileDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskOutput) +} + +// GetIsDedicatedHostProfileDiskArrayInput is an input type that accepts GetIsDedicatedHostProfileDiskArray and GetIsDedicatedHostProfileDiskArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskArrayInput` via: +// +// GetIsDedicatedHostProfileDiskArray{ GetIsDedicatedHostProfileDiskArgs{...} } +type GetIsDedicatedHostProfileDiskArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskArrayOutput() GetIsDedicatedHostProfileDiskArrayOutput + ToGetIsDedicatedHostProfileDiskArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskArrayOutput +} + +type GetIsDedicatedHostProfileDiskArray []GetIsDedicatedHostProfileDiskInput + +func (GetIsDedicatedHostProfileDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskArray) ToGetIsDedicatedHostProfileDiskArrayOutput() GetIsDedicatedHostProfileDiskArrayOutput { + return i.ToGetIsDedicatedHostProfileDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskArray) ToGetIsDedicatedHostProfileDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskArrayOutput) +} + +type GetIsDedicatedHostProfileDiskOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskOutput) ToGetIsDedicatedHostProfileDiskOutput() GetIsDedicatedHostProfileDiskOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskOutput) ToGetIsDedicatedHostProfileDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskOutput) InterfaceTypes() GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDisk) []GetIsDedicatedHostProfileDiskInterfaceType { + return v.InterfaceTypes + }).(GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput) +} + +// The number of disks of this type for a dedicated host with this profile. +func (o GetIsDedicatedHostProfileDiskOutput) Quantities() GetIsDedicatedHostProfileDiskQuantityArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDisk) []GetIsDedicatedHostProfileDiskQuantity { return v.Quantities }).(GetIsDedicatedHostProfileDiskQuantityArrayOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsDedicatedHostProfileDiskOutput) Sizes() GetIsDedicatedHostProfileDiskSizeArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDisk) []GetIsDedicatedHostProfileDiskSize { return v.Sizes }).(GetIsDedicatedHostProfileDiskSizeArrayOutput) +} + +func (o GetIsDedicatedHostProfileDiskOutput) SupportedInstanceInterfaceTypes() GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDisk) []GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType { + return v.SupportedInstanceInterfaceTypes + }).(GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput) +} + +type GetIsDedicatedHostProfileDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskArrayOutput) ToGetIsDedicatedHostProfileDiskArrayOutput() GetIsDedicatedHostProfileDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskArrayOutput) ToGetIsDedicatedHostProfileDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileDisk { + return vs[0].([]GetIsDedicatedHostProfileDisk)[vs[1].(int)] + }).(GetIsDedicatedHostProfileDiskOutput) +} + +type GetIsDedicatedHostProfileDiskInterfaceType struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The interface of the disk for a dedicated host with this profileThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Value string `pulumi:"value"` +} + +// GetIsDedicatedHostProfileDiskInterfaceTypeInput is an input type that accepts GetIsDedicatedHostProfileDiskInterfaceTypeArgs and GetIsDedicatedHostProfileDiskInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskInterfaceTypeInput` via: +// +// GetIsDedicatedHostProfileDiskInterfaceTypeArgs{...} +type GetIsDedicatedHostProfileDiskInterfaceTypeInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskInterfaceTypeOutput() GetIsDedicatedHostProfileDiskInterfaceTypeOutput + ToGetIsDedicatedHostProfileDiskInterfaceTypeOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskInterfaceTypeOutput +} + +type GetIsDedicatedHostProfileDiskInterfaceTypeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The interface of the disk for a dedicated host with this profileThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfileDiskInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDiskInterfaceType)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskInterfaceTypeArgs) ToGetIsDedicatedHostProfileDiskInterfaceTypeOutput() GetIsDedicatedHostProfileDiskInterfaceTypeOutput { + return i.ToGetIsDedicatedHostProfileDiskInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskInterfaceTypeArgs) ToGetIsDedicatedHostProfileDiskInterfaceTypeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskInterfaceTypeOutput) +} + +// GetIsDedicatedHostProfileDiskInterfaceTypeArrayInput is an input type that accepts GetIsDedicatedHostProfileDiskInterfaceTypeArray and GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskInterfaceTypeArrayInput` via: +// +// GetIsDedicatedHostProfileDiskInterfaceTypeArray{ GetIsDedicatedHostProfileDiskInterfaceTypeArgs{...} } +type GetIsDedicatedHostProfileDiskInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput() GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput + ToGetIsDedicatedHostProfileDiskInterfaceTypeArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput +} + +type GetIsDedicatedHostProfileDiskInterfaceTypeArray []GetIsDedicatedHostProfileDiskInterfaceTypeInput + +func (GetIsDedicatedHostProfileDiskInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDiskInterfaceType)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskInterfaceTypeArray) ToGetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput() GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput { + return i.ToGetIsDedicatedHostProfileDiskInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskInterfaceTypeArray) ToGetIsDedicatedHostProfileDiskInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput) +} + +type GetIsDedicatedHostProfileDiskInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDiskInterfaceType)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskInterfaceTypeOutput) ToGetIsDedicatedHostProfileDiskInterfaceTypeOutput() GetIsDedicatedHostProfileDiskInterfaceTypeOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskInterfaceTypeOutput) ToGetIsDedicatedHostProfileDiskInterfaceTypeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskInterfaceTypeOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileDiskInterfaceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDiskInterfaceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The interface of the disk for a dedicated host with this profileThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsDedicatedHostProfileDiskInterfaceTypeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDiskInterfaceType) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDiskInterfaceType)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput) ToGetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput() GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput) ToGetIsDedicatedHostProfileDiskInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileDiskInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileDiskInterfaceType { + return vs[0].([]GetIsDedicatedHostProfileDiskInterfaceType)[vs[1].(int)] + }).(GetIsDedicatedHostProfileDiskInterfaceTypeOutput) +} + +type GetIsDedicatedHostProfileDiskQuantity struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` +} + +// GetIsDedicatedHostProfileDiskQuantityInput is an input type that accepts GetIsDedicatedHostProfileDiskQuantityArgs and GetIsDedicatedHostProfileDiskQuantityOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskQuantityInput` via: +// +// GetIsDedicatedHostProfileDiskQuantityArgs{...} +type GetIsDedicatedHostProfileDiskQuantityInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskQuantityOutput() GetIsDedicatedHostProfileDiskQuantityOutput + ToGetIsDedicatedHostProfileDiskQuantityOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskQuantityOutput +} + +type GetIsDedicatedHostProfileDiskQuantityArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfileDiskQuantityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskQuantityArgs) ToGetIsDedicatedHostProfileDiskQuantityOutput() GetIsDedicatedHostProfileDiskQuantityOutput { + return i.ToGetIsDedicatedHostProfileDiskQuantityOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskQuantityArgs) ToGetIsDedicatedHostProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskQuantityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskQuantityOutput) +} + +// GetIsDedicatedHostProfileDiskQuantityArrayInput is an input type that accepts GetIsDedicatedHostProfileDiskQuantityArray and GetIsDedicatedHostProfileDiskQuantityArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskQuantityArrayInput` via: +// +// GetIsDedicatedHostProfileDiskQuantityArray{ GetIsDedicatedHostProfileDiskQuantityArgs{...} } +type GetIsDedicatedHostProfileDiskQuantityArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskQuantityArrayOutput() GetIsDedicatedHostProfileDiskQuantityArrayOutput + ToGetIsDedicatedHostProfileDiskQuantityArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskQuantityArrayOutput +} + +type GetIsDedicatedHostProfileDiskQuantityArray []GetIsDedicatedHostProfileDiskQuantityInput + +func (GetIsDedicatedHostProfileDiskQuantityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskQuantityArray) ToGetIsDedicatedHostProfileDiskQuantityArrayOutput() GetIsDedicatedHostProfileDiskQuantityArrayOutput { + return i.ToGetIsDedicatedHostProfileDiskQuantityArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskQuantityArray) ToGetIsDedicatedHostProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskQuantityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskQuantityArrayOutput) +} + +type GetIsDedicatedHostProfileDiskQuantityOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskQuantityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskQuantityOutput) ToGetIsDedicatedHostProfileDiskQuantityOutput() GetIsDedicatedHostProfileDiskQuantityOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskQuantityOutput) ToGetIsDedicatedHostProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskQuantityOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileDiskQuantityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDiskQuantity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsDedicatedHostProfileDiskQuantityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDiskQuantity) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsDedicatedHostProfileDiskQuantityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskQuantityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskQuantityArrayOutput) ToGetIsDedicatedHostProfileDiskQuantityArrayOutput() GetIsDedicatedHostProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskQuantityArrayOutput) ToGetIsDedicatedHostProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskQuantityArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileDiskQuantityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileDiskQuantity { + return vs[0].([]GetIsDedicatedHostProfileDiskQuantity)[vs[1].(int)] + }).(GetIsDedicatedHostProfileDiskQuantityOutput) +} + +type GetIsDedicatedHostProfileDiskSize struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The size of the disk in GB (gigabytes). + Value int `pulumi:"value"` +} + +// GetIsDedicatedHostProfileDiskSizeInput is an input type that accepts GetIsDedicatedHostProfileDiskSizeArgs and GetIsDedicatedHostProfileDiskSizeOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskSizeInput` via: +// +// GetIsDedicatedHostProfileDiskSizeArgs{...} +type GetIsDedicatedHostProfileDiskSizeInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskSizeOutput() GetIsDedicatedHostProfileDiskSizeOutput + ToGetIsDedicatedHostProfileDiskSizeOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskSizeOutput +} + +type GetIsDedicatedHostProfileDiskSizeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The size of the disk in GB (gigabytes). + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfileDiskSizeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDiskSize)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskSizeArgs) ToGetIsDedicatedHostProfileDiskSizeOutput() GetIsDedicatedHostProfileDiskSizeOutput { + return i.ToGetIsDedicatedHostProfileDiskSizeOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskSizeArgs) ToGetIsDedicatedHostProfileDiskSizeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskSizeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskSizeOutput) +} + +// GetIsDedicatedHostProfileDiskSizeArrayInput is an input type that accepts GetIsDedicatedHostProfileDiskSizeArray and GetIsDedicatedHostProfileDiskSizeArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskSizeArrayInput` via: +// +// GetIsDedicatedHostProfileDiskSizeArray{ GetIsDedicatedHostProfileDiskSizeArgs{...} } +type GetIsDedicatedHostProfileDiskSizeArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskSizeArrayOutput() GetIsDedicatedHostProfileDiskSizeArrayOutput + ToGetIsDedicatedHostProfileDiskSizeArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskSizeArrayOutput +} + +type GetIsDedicatedHostProfileDiskSizeArray []GetIsDedicatedHostProfileDiskSizeInput + +func (GetIsDedicatedHostProfileDiskSizeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDiskSize)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskSizeArray) ToGetIsDedicatedHostProfileDiskSizeArrayOutput() GetIsDedicatedHostProfileDiskSizeArrayOutput { + return i.ToGetIsDedicatedHostProfileDiskSizeArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskSizeArray) ToGetIsDedicatedHostProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskSizeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskSizeArrayOutput) +} + +type GetIsDedicatedHostProfileDiskSizeOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskSizeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDiskSize)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskSizeOutput) ToGetIsDedicatedHostProfileDiskSizeOutput() GetIsDedicatedHostProfileDiskSizeOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskSizeOutput) ToGetIsDedicatedHostProfileDiskSizeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskSizeOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileDiskSizeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDiskSize) string { return v.Type }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsDedicatedHostProfileDiskSizeOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDiskSize) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsDedicatedHostProfileDiskSizeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskSizeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDiskSize)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskSizeArrayOutput) ToGetIsDedicatedHostProfileDiskSizeArrayOutput() GetIsDedicatedHostProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskSizeArrayOutput) ToGetIsDedicatedHostProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskSizeArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileDiskSizeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileDiskSize { + return vs[0].([]GetIsDedicatedHostProfileDiskSize)[vs[1].(int)] + }).(GetIsDedicatedHostProfileDiskSizeOutput) +} + +type GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The instance disk interfaces supported for a dedicated host with this profile. + Values []string `pulumi:"values"` +} + +// GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeInput is an input type that accepts GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArgs and GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeInput` via: +// +// GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArgs{...} +type GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput() GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput + ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput +} + +type GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The instance disk interfaces supported for a dedicated host with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArgs) ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput() GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput { + return i.ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArgs) ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput) +} + +// GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayInput is an input type that accepts GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArray and GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayInput` via: +// +// GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArray{ GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArgs{...} } +type GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput() GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput + ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput +} + +type GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArray []GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeInput + +func (GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArray) ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput() GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return i.ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArray) ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput) +} + +type GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput) ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput() GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput) ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The instance disk interfaces supported for a dedicated host with this profile. +func (o GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput) ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput() GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput) ToGetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType { + return vs[0].([]GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceType)[vs[1].(int)] + }).(GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput) +} + +type GetIsDedicatedHostProfileMemory struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsDedicatedHostProfileMemoryInput is an input type that accepts GetIsDedicatedHostProfileMemoryArgs and GetIsDedicatedHostProfileMemoryOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileMemoryInput` via: +// +// GetIsDedicatedHostProfileMemoryArgs{...} +type GetIsDedicatedHostProfileMemoryInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileMemoryOutput() GetIsDedicatedHostProfileMemoryOutput + ToGetIsDedicatedHostProfileMemoryOutputWithContext(context.Context) GetIsDedicatedHostProfileMemoryOutput +} + +type GetIsDedicatedHostProfileMemoryArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsDedicatedHostProfileMemoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileMemory)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileMemoryArgs) ToGetIsDedicatedHostProfileMemoryOutput() GetIsDedicatedHostProfileMemoryOutput { + return i.ToGetIsDedicatedHostProfileMemoryOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileMemoryArgs) ToGetIsDedicatedHostProfileMemoryOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileMemoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileMemoryOutput) +} + +// GetIsDedicatedHostProfileMemoryArrayInput is an input type that accepts GetIsDedicatedHostProfileMemoryArray and GetIsDedicatedHostProfileMemoryArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileMemoryArrayInput` via: +// +// GetIsDedicatedHostProfileMemoryArray{ GetIsDedicatedHostProfileMemoryArgs{...} } +type GetIsDedicatedHostProfileMemoryArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileMemoryArrayOutput() GetIsDedicatedHostProfileMemoryArrayOutput + ToGetIsDedicatedHostProfileMemoryArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileMemoryArrayOutput +} + +type GetIsDedicatedHostProfileMemoryArray []GetIsDedicatedHostProfileMemoryInput + +func (GetIsDedicatedHostProfileMemoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileMemory)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileMemoryArray) ToGetIsDedicatedHostProfileMemoryArrayOutput() GetIsDedicatedHostProfileMemoryArrayOutput { + return i.ToGetIsDedicatedHostProfileMemoryArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileMemoryArray) ToGetIsDedicatedHostProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileMemoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileMemoryArrayOutput) +} + +type GetIsDedicatedHostProfileMemoryOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileMemoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileMemory)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileMemoryOutput) ToGetIsDedicatedHostProfileMemoryOutput() GetIsDedicatedHostProfileMemoryOutput { + return o +} + +func (o GetIsDedicatedHostProfileMemoryOutput) ToGetIsDedicatedHostProfileMemoryOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileMemoryOutput { + return o +} + +// The default value for this profile field. +func (o GetIsDedicatedHostProfileMemoryOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileMemory) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsDedicatedHostProfileMemoryOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileMemory) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsDedicatedHostProfileMemoryOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileMemory) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsDedicatedHostProfileMemoryOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileMemory) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileMemoryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileMemory) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsDedicatedHostProfileMemoryOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileMemory) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsDedicatedHostProfileMemoryOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileMemory) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsDedicatedHostProfileMemoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileMemoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileMemory)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileMemoryArrayOutput) ToGetIsDedicatedHostProfileMemoryArrayOutput() GetIsDedicatedHostProfileMemoryArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileMemoryArrayOutput) ToGetIsDedicatedHostProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileMemoryArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileMemoryArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileMemoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileMemory { + return vs[0].([]GetIsDedicatedHostProfileMemory)[vs[1].(int)] + }).(GetIsDedicatedHostProfileMemoryOutput) +} + +type GetIsDedicatedHostProfileSocketCount struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsDedicatedHostProfileSocketCountInput is an input type that accepts GetIsDedicatedHostProfileSocketCountArgs and GetIsDedicatedHostProfileSocketCountOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileSocketCountInput` via: +// +// GetIsDedicatedHostProfileSocketCountArgs{...} +type GetIsDedicatedHostProfileSocketCountInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileSocketCountOutput() GetIsDedicatedHostProfileSocketCountOutput + ToGetIsDedicatedHostProfileSocketCountOutputWithContext(context.Context) GetIsDedicatedHostProfileSocketCountOutput +} + +type GetIsDedicatedHostProfileSocketCountArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsDedicatedHostProfileSocketCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileSocketCount)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileSocketCountArgs) ToGetIsDedicatedHostProfileSocketCountOutput() GetIsDedicatedHostProfileSocketCountOutput { + return i.ToGetIsDedicatedHostProfileSocketCountOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileSocketCountArgs) ToGetIsDedicatedHostProfileSocketCountOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileSocketCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileSocketCountOutput) +} + +// GetIsDedicatedHostProfileSocketCountArrayInput is an input type that accepts GetIsDedicatedHostProfileSocketCountArray and GetIsDedicatedHostProfileSocketCountArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileSocketCountArrayInput` via: +// +// GetIsDedicatedHostProfileSocketCountArray{ GetIsDedicatedHostProfileSocketCountArgs{...} } +type GetIsDedicatedHostProfileSocketCountArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileSocketCountArrayOutput() GetIsDedicatedHostProfileSocketCountArrayOutput + ToGetIsDedicatedHostProfileSocketCountArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileSocketCountArrayOutput +} + +type GetIsDedicatedHostProfileSocketCountArray []GetIsDedicatedHostProfileSocketCountInput + +func (GetIsDedicatedHostProfileSocketCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileSocketCount)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileSocketCountArray) ToGetIsDedicatedHostProfileSocketCountArrayOutput() GetIsDedicatedHostProfileSocketCountArrayOutput { + return i.ToGetIsDedicatedHostProfileSocketCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileSocketCountArray) ToGetIsDedicatedHostProfileSocketCountArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileSocketCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileSocketCountArrayOutput) +} + +type GetIsDedicatedHostProfileSocketCountOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileSocketCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileSocketCount)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileSocketCountOutput) ToGetIsDedicatedHostProfileSocketCountOutput() GetIsDedicatedHostProfileSocketCountOutput { + return o +} + +func (o GetIsDedicatedHostProfileSocketCountOutput) ToGetIsDedicatedHostProfileSocketCountOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileSocketCountOutput { + return o +} + +// The default value for this profile field. +func (o GetIsDedicatedHostProfileSocketCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSocketCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsDedicatedHostProfileSocketCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSocketCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsDedicatedHostProfileSocketCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSocketCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsDedicatedHostProfileSocketCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSocketCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileSocketCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSocketCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsDedicatedHostProfileSocketCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSocketCount) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsDedicatedHostProfileSocketCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSocketCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsDedicatedHostProfileSocketCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileSocketCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileSocketCount)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileSocketCountArrayOutput) ToGetIsDedicatedHostProfileSocketCountArrayOutput() GetIsDedicatedHostProfileSocketCountArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileSocketCountArrayOutput) ToGetIsDedicatedHostProfileSocketCountArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileSocketCountArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileSocketCountArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileSocketCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileSocketCount { + return vs[0].([]GetIsDedicatedHostProfileSocketCount)[vs[1].(int)] + }).(GetIsDedicatedHostProfileSocketCountOutput) +} + +type GetIsDedicatedHostProfileSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostProfileSupportedInstanceProfileInput is an input type that accepts GetIsDedicatedHostProfileSupportedInstanceProfileArgs and GetIsDedicatedHostProfileSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileSupportedInstanceProfileInput` via: +// +// GetIsDedicatedHostProfileSupportedInstanceProfileArgs{...} +type GetIsDedicatedHostProfileSupportedInstanceProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileSupportedInstanceProfileOutput() GetIsDedicatedHostProfileSupportedInstanceProfileOutput + ToGetIsDedicatedHostProfileSupportedInstanceProfileOutputWithContext(context.Context) GetIsDedicatedHostProfileSupportedInstanceProfileOutput +} + +type GetIsDedicatedHostProfileSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostProfileSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileSupportedInstanceProfileArgs) ToGetIsDedicatedHostProfileSupportedInstanceProfileOutput() GetIsDedicatedHostProfileSupportedInstanceProfileOutput { + return i.ToGetIsDedicatedHostProfileSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileSupportedInstanceProfileArgs) ToGetIsDedicatedHostProfileSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileSupportedInstanceProfileOutput) +} + +// GetIsDedicatedHostProfileSupportedInstanceProfileArrayInput is an input type that accepts GetIsDedicatedHostProfileSupportedInstanceProfileArray and GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileSupportedInstanceProfileArrayInput` via: +// +// GetIsDedicatedHostProfileSupportedInstanceProfileArray{ GetIsDedicatedHostProfileSupportedInstanceProfileArgs{...} } +type GetIsDedicatedHostProfileSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput() GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput + ToGetIsDedicatedHostProfileSupportedInstanceProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput +} + +type GetIsDedicatedHostProfileSupportedInstanceProfileArray []GetIsDedicatedHostProfileSupportedInstanceProfileInput + +func (GetIsDedicatedHostProfileSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileSupportedInstanceProfileArray) ToGetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput() GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput { + return i.ToGetIsDedicatedHostProfileSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileSupportedInstanceProfileArray) ToGetIsDedicatedHostProfileSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput) +} + +type GetIsDedicatedHostProfileSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileSupportedInstanceProfileOutput) ToGetIsDedicatedHostProfileSupportedInstanceProfileOutput() GetIsDedicatedHostProfileSupportedInstanceProfileOutput { + return o +} + +func (o GetIsDedicatedHostProfileSupportedInstanceProfileOutput) ToGetIsDedicatedHostProfileSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsDedicatedHostProfileSupportedInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSupportedInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsDedicatedHostProfileSupportedInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileSupportedInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput() GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostProfileSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileSupportedInstanceProfile { + return vs[0].([]GetIsDedicatedHostProfileSupportedInstanceProfile)[vs[1].(int)] + }).(GetIsDedicatedHostProfileSupportedInstanceProfileOutput) +} + +type GetIsDedicatedHostProfileVcpuArchitecture struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The VCPU architecture for a dedicated host with this profile. + Value string `pulumi:"value"` +} + +// GetIsDedicatedHostProfileVcpuArchitectureInput is an input type that accepts GetIsDedicatedHostProfileVcpuArchitectureArgs and GetIsDedicatedHostProfileVcpuArchitectureOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileVcpuArchitectureInput` via: +// +// GetIsDedicatedHostProfileVcpuArchitectureArgs{...} +type GetIsDedicatedHostProfileVcpuArchitectureInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileVcpuArchitectureOutput() GetIsDedicatedHostProfileVcpuArchitectureOutput + ToGetIsDedicatedHostProfileVcpuArchitectureOutputWithContext(context.Context) GetIsDedicatedHostProfileVcpuArchitectureOutput +} + +type GetIsDedicatedHostProfileVcpuArchitectureArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The VCPU architecture for a dedicated host with this profile. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfileVcpuArchitectureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileVcpuArchitecture)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileVcpuArchitectureArgs) ToGetIsDedicatedHostProfileVcpuArchitectureOutput() GetIsDedicatedHostProfileVcpuArchitectureOutput { + return i.ToGetIsDedicatedHostProfileVcpuArchitectureOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileVcpuArchitectureArgs) ToGetIsDedicatedHostProfileVcpuArchitectureOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuArchitectureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileVcpuArchitectureOutput) +} + +// GetIsDedicatedHostProfileVcpuArchitectureArrayInput is an input type that accepts GetIsDedicatedHostProfileVcpuArchitectureArray and GetIsDedicatedHostProfileVcpuArchitectureArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileVcpuArchitectureArrayInput` via: +// +// GetIsDedicatedHostProfileVcpuArchitectureArray{ GetIsDedicatedHostProfileVcpuArchitectureArgs{...} } +type GetIsDedicatedHostProfileVcpuArchitectureArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileVcpuArchitectureArrayOutput() GetIsDedicatedHostProfileVcpuArchitectureArrayOutput + ToGetIsDedicatedHostProfileVcpuArchitectureArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileVcpuArchitectureArrayOutput +} + +type GetIsDedicatedHostProfileVcpuArchitectureArray []GetIsDedicatedHostProfileVcpuArchitectureInput + +func (GetIsDedicatedHostProfileVcpuArchitectureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileVcpuArchitecture)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileVcpuArchitectureArray) ToGetIsDedicatedHostProfileVcpuArchitectureArrayOutput() GetIsDedicatedHostProfileVcpuArchitectureArrayOutput { + return i.ToGetIsDedicatedHostProfileVcpuArchitectureArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileVcpuArchitectureArray) ToGetIsDedicatedHostProfileVcpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuArchitectureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileVcpuArchitectureArrayOutput) +} + +type GetIsDedicatedHostProfileVcpuArchitectureOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileVcpuArchitectureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileVcpuArchitecture)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileVcpuArchitectureOutput) ToGetIsDedicatedHostProfileVcpuArchitectureOutput() GetIsDedicatedHostProfileVcpuArchitectureOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuArchitectureOutput) ToGetIsDedicatedHostProfileVcpuArchitectureOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuArchitectureOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileVcpuArchitectureOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuArchitecture) string { return v.Type }).(pulumi.StringOutput) +} + +// The VCPU architecture for a dedicated host with this profile. +func (o GetIsDedicatedHostProfileVcpuArchitectureOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuArchitecture) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfileVcpuArchitectureArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileVcpuArchitectureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileVcpuArchitecture)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileVcpuArchitectureArrayOutput) ToGetIsDedicatedHostProfileVcpuArchitectureArrayOutput() GetIsDedicatedHostProfileVcpuArchitectureArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuArchitectureArrayOutput) ToGetIsDedicatedHostProfileVcpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuArchitectureArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuArchitectureArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileVcpuArchitectureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileVcpuArchitecture { + return vs[0].([]GetIsDedicatedHostProfileVcpuArchitecture)[vs[1].(int)] + }).(GetIsDedicatedHostProfileVcpuArchitectureOutput) +} + +type GetIsDedicatedHostProfileVcpuCount struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsDedicatedHostProfileVcpuCountInput is an input type that accepts GetIsDedicatedHostProfileVcpuCountArgs and GetIsDedicatedHostProfileVcpuCountOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileVcpuCountInput` via: +// +// GetIsDedicatedHostProfileVcpuCountArgs{...} +type GetIsDedicatedHostProfileVcpuCountInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileVcpuCountOutput() GetIsDedicatedHostProfileVcpuCountOutput + ToGetIsDedicatedHostProfileVcpuCountOutputWithContext(context.Context) GetIsDedicatedHostProfileVcpuCountOutput +} + +type GetIsDedicatedHostProfileVcpuCountArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsDedicatedHostProfileVcpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileVcpuCount)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileVcpuCountArgs) ToGetIsDedicatedHostProfileVcpuCountOutput() GetIsDedicatedHostProfileVcpuCountOutput { + return i.ToGetIsDedicatedHostProfileVcpuCountOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileVcpuCountArgs) ToGetIsDedicatedHostProfileVcpuCountOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileVcpuCountOutput) +} + +// GetIsDedicatedHostProfileVcpuCountArrayInput is an input type that accepts GetIsDedicatedHostProfileVcpuCountArray and GetIsDedicatedHostProfileVcpuCountArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileVcpuCountArrayInput` via: +// +// GetIsDedicatedHostProfileVcpuCountArray{ GetIsDedicatedHostProfileVcpuCountArgs{...} } +type GetIsDedicatedHostProfileVcpuCountArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileVcpuCountArrayOutput() GetIsDedicatedHostProfileVcpuCountArrayOutput + ToGetIsDedicatedHostProfileVcpuCountArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileVcpuCountArrayOutput +} + +type GetIsDedicatedHostProfileVcpuCountArray []GetIsDedicatedHostProfileVcpuCountInput + +func (GetIsDedicatedHostProfileVcpuCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileVcpuCount)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileVcpuCountArray) ToGetIsDedicatedHostProfileVcpuCountArrayOutput() GetIsDedicatedHostProfileVcpuCountArrayOutput { + return i.ToGetIsDedicatedHostProfileVcpuCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileVcpuCountArray) ToGetIsDedicatedHostProfileVcpuCountArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileVcpuCountArrayOutput) +} + +type GetIsDedicatedHostProfileVcpuCountOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileVcpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileVcpuCount)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileVcpuCountOutput) ToGetIsDedicatedHostProfileVcpuCountOutput() GetIsDedicatedHostProfileVcpuCountOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuCountOutput) ToGetIsDedicatedHostProfileVcpuCountOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuCountOutput { + return o +} + +// The default value for this profile field. +func (o GetIsDedicatedHostProfileVcpuCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsDedicatedHostProfileVcpuCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsDedicatedHostProfileVcpuCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsDedicatedHostProfileVcpuCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileVcpuCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsDedicatedHostProfileVcpuCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuCount) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsDedicatedHostProfileVcpuCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsDedicatedHostProfileVcpuCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileVcpuCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileVcpuCount)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileVcpuCountArrayOutput) ToGetIsDedicatedHostProfileVcpuCountArrayOutput() GetIsDedicatedHostProfileVcpuCountArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuCountArrayOutput) ToGetIsDedicatedHostProfileVcpuCountArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuCountArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuCountArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileVcpuCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileVcpuCount { + return vs[0].([]GetIsDedicatedHostProfileVcpuCount)[vs[1].(int)] + }).(GetIsDedicatedHostProfileVcpuCountOutput) +} + +type GetIsDedicatedHostProfileVcpuManufacturer struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The VCPU manufacturer for a dedicated host with this profile. + Value string `pulumi:"value"` +} + +// GetIsDedicatedHostProfileVcpuManufacturerInput is an input type that accepts GetIsDedicatedHostProfileVcpuManufacturerArgs and GetIsDedicatedHostProfileVcpuManufacturerOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileVcpuManufacturerInput` via: +// +// GetIsDedicatedHostProfileVcpuManufacturerArgs{...} +type GetIsDedicatedHostProfileVcpuManufacturerInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileVcpuManufacturerOutput() GetIsDedicatedHostProfileVcpuManufacturerOutput + ToGetIsDedicatedHostProfileVcpuManufacturerOutputWithContext(context.Context) GetIsDedicatedHostProfileVcpuManufacturerOutput +} + +type GetIsDedicatedHostProfileVcpuManufacturerArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The VCPU manufacturer for a dedicated host with this profile. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfileVcpuManufacturerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileVcpuManufacturer)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileVcpuManufacturerArgs) ToGetIsDedicatedHostProfileVcpuManufacturerOutput() GetIsDedicatedHostProfileVcpuManufacturerOutput { + return i.ToGetIsDedicatedHostProfileVcpuManufacturerOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileVcpuManufacturerArgs) ToGetIsDedicatedHostProfileVcpuManufacturerOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuManufacturerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileVcpuManufacturerOutput) +} + +// GetIsDedicatedHostProfileVcpuManufacturerArrayInput is an input type that accepts GetIsDedicatedHostProfileVcpuManufacturerArray and GetIsDedicatedHostProfileVcpuManufacturerArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfileVcpuManufacturerArrayInput` via: +// +// GetIsDedicatedHostProfileVcpuManufacturerArray{ GetIsDedicatedHostProfileVcpuManufacturerArgs{...} } +type GetIsDedicatedHostProfileVcpuManufacturerArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfileVcpuManufacturerArrayOutput() GetIsDedicatedHostProfileVcpuManufacturerArrayOutput + ToGetIsDedicatedHostProfileVcpuManufacturerArrayOutputWithContext(context.Context) GetIsDedicatedHostProfileVcpuManufacturerArrayOutput +} + +type GetIsDedicatedHostProfileVcpuManufacturerArray []GetIsDedicatedHostProfileVcpuManufacturerInput + +func (GetIsDedicatedHostProfileVcpuManufacturerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileVcpuManufacturer)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfileVcpuManufacturerArray) ToGetIsDedicatedHostProfileVcpuManufacturerArrayOutput() GetIsDedicatedHostProfileVcpuManufacturerArrayOutput { + return i.ToGetIsDedicatedHostProfileVcpuManufacturerArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfileVcpuManufacturerArray) ToGetIsDedicatedHostProfileVcpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuManufacturerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfileVcpuManufacturerArrayOutput) +} + +type GetIsDedicatedHostProfileVcpuManufacturerOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileVcpuManufacturerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfileVcpuManufacturer)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileVcpuManufacturerOutput) ToGetIsDedicatedHostProfileVcpuManufacturerOutput() GetIsDedicatedHostProfileVcpuManufacturerOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuManufacturerOutput) ToGetIsDedicatedHostProfileVcpuManufacturerOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuManufacturerOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfileVcpuManufacturerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuManufacturer) string { return v.Type }).(pulumi.StringOutput) +} + +// The VCPU manufacturer for a dedicated host with this profile. +func (o GetIsDedicatedHostProfileVcpuManufacturerOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfileVcpuManufacturer) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfileVcpuManufacturerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfileVcpuManufacturerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfileVcpuManufacturer)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfileVcpuManufacturerArrayOutput) ToGetIsDedicatedHostProfileVcpuManufacturerArrayOutput() GetIsDedicatedHostProfileVcpuManufacturerArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuManufacturerArrayOutput) ToGetIsDedicatedHostProfileVcpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfileVcpuManufacturerArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfileVcpuManufacturerArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfileVcpuManufacturerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfileVcpuManufacturer { + return vs[0].([]GetIsDedicatedHostProfileVcpuManufacturer)[vs[1].(int)] + }).(GetIsDedicatedHostProfileVcpuManufacturerOutput) +} + +type GetIsDedicatedHostProfilesProfile struct { + // The product class this dedicated host profile belongs to. + Class string `pulumi:"class"` + // Collection of the dedicated host profile's disks. + Disks []GetIsDedicatedHostProfilesProfileDisk `pulumi:"disks"` + // The product family this dedicated host profile belongs toThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Family string `pulumi:"family"` + // The URL for this dedicated host. + Href string `pulumi:"href"` + Memories []GetIsDedicatedHostProfilesProfileMemory `pulumi:"memories"` + // The globally unique name for this dedicated host profile. + Name string `pulumi:"name"` + SocketCounts []GetIsDedicatedHostProfilesProfileSocketCount `pulumi:"socketCounts"` + // The status of the dedicated host profile. + Status string `pulumi:"status"` + // Array of instance profiles that can be used by instances placed on dedicated hosts with this profile. + SupportedInstanceProfiles []GetIsDedicatedHostProfilesProfileSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + VcpuArchitectures []GetIsDedicatedHostProfilesProfileVcpuArchitecture `pulumi:"vcpuArchitectures"` + VcpuCounts []GetIsDedicatedHostProfilesProfileVcpuCount `pulumi:"vcpuCounts"` + VcpuManufacturers []GetIsDedicatedHostProfilesProfileVcpuManufacturer `pulumi:"vcpuManufacturers"` +} + +// GetIsDedicatedHostProfilesProfileInput is an input type that accepts GetIsDedicatedHostProfilesProfileArgs and GetIsDedicatedHostProfilesProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileInput` via: +// +// GetIsDedicatedHostProfilesProfileArgs{...} +type GetIsDedicatedHostProfilesProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileOutput() GetIsDedicatedHostProfilesProfileOutput + ToGetIsDedicatedHostProfilesProfileOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileOutput +} + +type GetIsDedicatedHostProfilesProfileArgs struct { + // The product class this dedicated host profile belongs to. + Class pulumi.StringInput `pulumi:"class"` + // Collection of the dedicated host profile's disks. + Disks GetIsDedicatedHostProfilesProfileDiskArrayInput `pulumi:"disks"` + // The product family this dedicated host profile belongs toThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Family pulumi.StringInput `pulumi:"family"` + // The URL for this dedicated host. + Href pulumi.StringInput `pulumi:"href"` + Memories GetIsDedicatedHostProfilesProfileMemoryArrayInput `pulumi:"memories"` + // The globally unique name for this dedicated host profile. + Name pulumi.StringInput `pulumi:"name"` + SocketCounts GetIsDedicatedHostProfilesProfileSocketCountArrayInput `pulumi:"socketCounts"` + // The status of the dedicated host profile. + Status pulumi.StringInput `pulumi:"status"` + // Array of instance profiles that can be used by instances placed on dedicated hosts with this profile. + SupportedInstanceProfiles GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayInput `pulumi:"supportedInstanceProfiles"` + VcpuArchitectures GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayInput `pulumi:"vcpuArchitectures"` + VcpuCounts GetIsDedicatedHostProfilesProfileVcpuCountArrayInput `pulumi:"vcpuCounts"` + VcpuManufacturers GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayInput `pulumi:"vcpuManufacturers"` +} + +func (GetIsDedicatedHostProfilesProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileArgs) ToGetIsDedicatedHostProfilesProfileOutput() GetIsDedicatedHostProfilesProfileOutput { + return i.ToGetIsDedicatedHostProfilesProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileArgs) ToGetIsDedicatedHostProfilesProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileOutput) +} + +// GetIsDedicatedHostProfilesProfileArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileArray and GetIsDedicatedHostProfilesProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileArray{ GetIsDedicatedHostProfilesProfileArgs{...} } +type GetIsDedicatedHostProfilesProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileArrayOutput() GetIsDedicatedHostProfilesProfileArrayOutput + ToGetIsDedicatedHostProfilesProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileArrayOutput +} + +type GetIsDedicatedHostProfilesProfileArray []GetIsDedicatedHostProfilesProfileInput + +func (GetIsDedicatedHostProfilesProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileArray) ToGetIsDedicatedHostProfilesProfileArrayOutput() GetIsDedicatedHostProfilesProfileArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileArray) ToGetIsDedicatedHostProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileOutput) ToGetIsDedicatedHostProfilesProfileOutput() GetIsDedicatedHostProfilesProfileOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileOutput) ToGetIsDedicatedHostProfilesProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileOutput { + return o +} + +// The product class this dedicated host profile belongs to. +func (o GetIsDedicatedHostProfilesProfileOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) string { return v.Class }).(pulumi.StringOutput) +} + +// Collection of the dedicated host profile's disks. +func (o GetIsDedicatedHostProfilesProfileOutput) Disks() GetIsDedicatedHostProfilesProfileDiskArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) []GetIsDedicatedHostProfilesProfileDisk { return v.Disks }).(GetIsDedicatedHostProfilesProfileDiskArrayOutput) +} + +// The product family this dedicated host profile belongs toThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsDedicatedHostProfilesProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this dedicated host. +func (o GetIsDedicatedHostProfilesProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsDedicatedHostProfilesProfileOutput) Memories() GetIsDedicatedHostProfilesProfileMemoryArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) []GetIsDedicatedHostProfilesProfileMemory { return v.Memories }).(GetIsDedicatedHostProfilesProfileMemoryArrayOutput) +} + +// The globally unique name for this dedicated host profile. +func (o GetIsDedicatedHostProfilesProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsDedicatedHostProfilesProfileOutput) SocketCounts() GetIsDedicatedHostProfilesProfileSocketCountArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) []GetIsDedicatedHostProfilesProfileSocketCount { + return v.SocketCounts + }).(GetIsDedicatedHostProfilesProfileSocketCountArrayOutput) +} + +// The status of the dedicated host profile. +func (o GetIsDedicatedHostProfilesProfileOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) string { return v.Status }).(pulumi.StringOutput) +} + +// Array of instance profiles that can be used by instances placed on dedicated hosts with this profile. +func (o GetIsDedicatedHostProfilesProfileOutput) SupportedInstanceProfiles() GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) []GetIsDedicatedHostProfilesProfileSupportedInstanceProfile { + return v.SupportedInstanceProfiles + }).(GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput) +} + +func (o GetIsDedicatedHostProfilesProfileOutput) VcpuArchitectures() GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) []GetIsDedicatedHostProfilesProfileVcpuArchitecture { + return v.VcpuArchitectures + }).(GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput) +} + +func (o GetIsDedicatedHostProfilesProfileOutput) VcpuCounts() GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) []GetIsDedicatedHostProfilesProfileVcpuCount { + return v.VcpuCounts + }).(GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput) +} + +func (o GetIsDedicatedHostProfilesProfileOutput) VcpuManufacturers() GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfile) []GetIsDedicatedHostProfilesProfileVcpuManufacturer { + return v.VcpuManufacturers + }).(GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileArrayOutput) ToGetIsDedicatedHostProfilesProfileArrayOutput() GetIsDedicatedHostProfilesProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileArrayOutput) ToGetIsDedicatedHostProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfile { + return vs[0].([]GetIsDedicatedHostProfilesProfile)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileOutput) +} + +type GetIsDedicatedHostProfilesProfileDisk struct { + InterfaceTypes []GetIsDedicatedHostProfilesProfileDiskInterfaceType `pulumi:"interfaceTypes"` + // The number of disks of this type for a dedicated host with this profile. + Quantities []GetIsDedicatedHostProfilesProfileDiskQuantity `pulumi:"quantities"` + // The size of the disk in GB (gigabytes). + Sizes []GetIsDedicatedHostProfilesProfileDiskSize `pulumi:"sizes"` + SupportedInstanceInterfaceTypes []GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType `pulumi:"supportedInstanceInterfaceTypes"` +} + +// GetIsDedicatedHostProfilesProfileDiskInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskArgs and GetIsDedicatedHostProfilesProfileDiskOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskArgs{...} +type GetIsDedicatedHostProfilesProfileDiskInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskOutput() GetIsDedicatedHostProfilesProfileDiskOutput + ToGetIsDedicatedHostProfilesProfileDiskOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskOutput +} + +type GetIsDedicatedHostProfilesProfileDiskArgs struct { + InterfaceTypes GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayInput `pulumi:"interfaceTypes"` + // The number of disks of this type for a dedicated host with this profile. + Quantities GetIsDedicatedHostProfilesProfileDiskQuantityArrayInput `pulumi:"quantities"` + // The size of the disk in GB (gigabytes). + Sizes GetIsDedicatedHostProfilesProfileDiskSizeArrayInput `pulumi:"sizes"` + SupportedInstanceInterfaceTypes GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayInput `pulumi:"supportedInstanceInterfaceTypes"` +} + +func (GetIsDedicatedHostProfilesProfileDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskArgs) ToGetIsDedicatedHostProfilesProfileDiskOutput() GetIsDedicatedHostProfilesProfileDiskOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskArgs) ToGetIsDedicatedHostProfilesProfileDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskOutput) +} + +// GetIsDedicatedHostProfilesProfileDiskArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskArray and GetIsDedicatedHostProfilesProfileDiskArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskArray{ GetIsDedicatedHostProfilesProfileDiskArgs{...} } +type GetIsDedicatedHostProfilesProfileDiskArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskArrayOutput() GetIsDedicatedHostProfilesProfileDiskArrayOutput + ToGetIsDedicatedHostProfilesProfileDiskArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskArrayOutput +} + +type GetIsDedicatedHostProfilesProfileDiskArray []GetIsDedicatedHostProfilesProfileDiskInput + +func (GetIsDedicatedHostProfilesProfileDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskArray) ToGetIsDedicatedHostProfilesProfileDiskArrayOutput() GetIsDedicatedHostProfilesProfileDiskArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskArray) ToGetIsDedicatedHostProfilesProfileDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskOutput) ToGetIsDedicatedHostProfilesProfileDiskOutput() GetIsDedicatedHostProfilesProfileDiskOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskOutput) ToGetIsDedicatedHostProfilesProfileDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskOutput) InterfaceTypes() GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDisk) []GetIsDedicatedHostProfilesProfileDiskInterfaceType { + return v.InterfaceTypes + }).(GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput) +} + +// The number of disks of this type for a dedicated host with this profile. +func (o GetIsDedicatedHostProfilesProfileDiskOutput) Quantities() GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDisk) []GetIsDedicatedHostProfilesProfileDiskQuantity { + return v.Quantities + }).(GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsDedicatedHostProfilesProfileDiskOutput) Sizes() GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDisk) []GetIsDedicatedHostProfilesProfileDiskSize { + return v.Sizes + }).(GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput) +} + +func (o GetIsDedicatedHostProfilesProfileDiskOutput) SupportedInstanceInterfaceTypes() GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDisk) []GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType { + return v.SupportedInstanceInterfaceTypes + }).(GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskArrayOutput() GetIsDedicatedHostProfilesProfileDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileDisk { + return vs[0].([]GetIsDedicatedHostProfilesProfileDisk)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileDiskOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskInterfaceType struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The interface of the disk for a dedicated host with this profileThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Value string `pulumi:"value"` +} + +// GetIsDedicatedHostProfilesProfileDiskInterfaceTypeInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArgs and GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskInterfaceTypeInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArgs{...} +type GetIsDedicatedHostProfilesProfileDiskInterfaceTypeInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput() GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput + ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput +} + +type GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The interface of the disk for a dedicated host with this profileThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskInterfaceType)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArgs) ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput() GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArgs) ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput) +} + +// GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArray and GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArray{ GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArgs{...} } +type GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput() GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput + ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput +} + +type GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArray []GetIsDedicatedHostProfilesProfileDiskInterfaceTypeInput + +func (GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDiskInterfaceType)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArray) ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput() GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArray) ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskInterfaceType)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput) ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput() GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput) ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDiskInterfaceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The interface of the disk for a dedicated host with this profileThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDiskInterfaceType) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDiskInterfaceType)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput() GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileDiskInterfaceType { + return vs[0].([]GetIsDedicatedHostProfilesProfileDiskInterfaceType)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskQuantity struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` +} + +// GetIsDedicatedHostProfilesProfileDiskQuantityInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskQuantityArgs and GetIsDedicatedHostProfilesProfileDiskQuantityOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskQuantityInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskQuantityArgs{...} +type GetIsDedicatedHostProfilesProfileDiskQuantityInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskQuantityOutput() GetIsDedicatedHostProfilesProfileDiskQuantityOutput + ToGetIsDedicatedHostProfilesProfileDiskQuantityOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskQuantityOutput +} + +type GetIsDedicatedHostProfilesProfileDiskQuantityArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfilesProfileDiskQuantityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskQuantityArgs) ToGetIsDedicatedHostProfilesProfileDiskQuantityOutput() GetIsDedicatedHostProfilesProfileDiskQuantityOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskQuantityOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskQuantityArgs) ToGetIsDedicatedHostProfilesProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskQuantityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskQuantityOutput) +} + +// GetIsDedicatedHostProfilesProfileDiskQuantityArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskQuantityArray and GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskQuantityArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskQuantityArray{ GetIsDedicatedHostProfilesProfileDiskQuantityArgs{...} } +type GetIsDedicatedHostProfilesProfileDiskQuantityArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput() GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput + ToGetIsDedicatedHostProfilesProfileDiskQuantityArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput +} + +type GetIsDedicatedHostProfilesProfileDiskQuantityArray []GetIsDedicatedHostProfilesProfileDiskQuantityInput + +func (GetIsDedicatedHostProfilesProfileDiskQuantityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskQuantityArray) ToGetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput() GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskQuantityArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskQuantityArray) ToGetIsDedicatedHostProfilesProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskQuantityOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskQuantityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskQuantityOutput) ToGetIsDedicatedHostProfilesProfileDiskQuantityOutput() GetIsDedicatedHostProfilesProfileDiskQuantityOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskQuantityOutput) ToGetIsDedicatedHostProfilesProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskQuantityOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileDiskQuantityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDiskQuantity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsDedicatedHostProfilesProfileDiskQuantityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDiskQuantity) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput() GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileDiskQuantityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileDiskQuantity { + return vs[0].([]GetIsDedicatedHostProfilesProfileDiskQuantity)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileDiskQuantityOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskSize struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The size of the disk in GB (gigabytes). + Value int `pulumi:"value"` +} + +// GetIsDedicatedHostProfilesProfileDiskSizeInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskSizeArgs and GetIsDedicatedHostProfilesProfileDiskSizeOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskSizeInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskSizeArgs{...} +type GetIsDedicatedHostProfilesProfileDiskSizeInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskSizeOutput() GetIsDedicatedHostProfilesProfileDiskSizeOutput + ToGetIsDedicatedHostProfilesProfileDiskSizeOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskSizeOutput +} + +type GetIsDedicatedHostProfilesProfileDiskSizeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The size of the disk in GB (gigabytes). + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfilesProfileDiskSizeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskSize)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskSizeArgs) ToGetIsDedicatedHostProfilesProfileDiskSizeOutput() GetIsDedicatedHostProfilesProfileDiskSizeOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskSizeOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskSizeArgs) ToGetIsDedicatedHostProfilesProfileDiskSizeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskSizeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskSizeOutput) +} + +// GetIsDedicatedHostProfilesProfileDiskSizeArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskSizeArray and GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskSizeArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskSizeArray{ GetIsDedicatedHostProfilesProfileDiskSizeArgs{...} } +type GetIsDedicatedHostProfilesProfileDiskSizeArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskSizeArrayOutput() GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput + ToGetIsDedicatedHostProfilesProfileDiskSizeArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput +} + +type GetIsDedicatedHostProfilesProfileDiskSizeArray []GetIsDedicatedHostProfilesProfileDiskSizeInput + +func (GetIsDedicatedHostProfilesProfileDiskSizeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDiskSize)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskSizeArray) ToGetIsDedicatedHostProfilesProfileDiskSizeArrayOutput() GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskSizeArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskSizeArray) ToGetIsDedicatedHostProfilesProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskSizeOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskSizeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskSize)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskSizeOutput) ToGetIsDedicatedHostProfilesProfileDiskSizeOutput() GetIsDedicatedHostProfilesProfileDiskSizeOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskSizeOutput) ToGetIsDedicatedHostProfilesProfileDiskSizeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskSizeOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileDiskSizeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDiskSize) string { return v.Type }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsDedicatedHostProfilesProfileDiskSizeOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDiskSize) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDiskSize)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskSizeArrayOutput() GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileDiskSizeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileDiskSize { + return vs[0].([]GetIsDedicatedHostProfilesProfileDiskSize)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileDiskSizeOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The instance disk interfaces supported for a dedicated host with this profile. + Values []string `pulumi:"values"` +} + +// GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArgs and GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArgs{...} +type GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput() GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput + ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput +} + +type GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The instance disk interfaces supported for a dedicated host with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArgs) ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput() GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArgs) ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput) +} + +// GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArray and GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArray{ GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArgs{...} } +type GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput() GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput + ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput +} + +type GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArray []GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeInput + +func (GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArray) ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput() GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArray) ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput) ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput() GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput) ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The instance disk interfaces supported for a dedicated host with this profile. +func (o GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput() GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput) ToGetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType { + return vs[0].([]GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceType)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput) +} + +type GetIsDedicatedHostProfilesProfileMemory struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsDedicatedHostProfilesProfileMemoryInput is an input type that accepts GetIsDedicatedHostProfilesProfileMemoryArgs and GetIsDedicatedHostProfilesProfileMemoryOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileMemoryInput` via: +// +// GetIsDedicatedHostProfilesProfileMemoryArgs{...} +type GetIsDedicatedHostProfilesProfileMemoryInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileMemoryOutput() GetIsDedicatedHostProfilesProfileMemoryOutput + ToGetIsDedicatedHostProfilesProfileMemoryOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileMemoryOutput +} + +type GetIsDedicatedHostProfilesProfileMemoryArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsDedicatedHostProfilesProfileMemoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileMemory)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileMemoryArgs) ToGetIsDedicatedHostProfilesProfileMemoryOutput() GetIsDedicatedHostProfilesProfileMemoryOutput { + return i.ToGetIsDedicatedHostProfilesProfileMemoryOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileMemoryArgs) ToGetIsDedicatedHostProfilesProfileMemoryOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileMemoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileMemoryOutput) +} + +// GetIsDedicatedHostProfilesProfileMemoryArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileMemoryArray and GetIsDedicatedHostProfilesProfileMemoryArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileMemoryArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileMemoryArray{ GetIsDedicatedHostProfilesProfileMemoryArgs{...} } +type GetIsDedicatedHostProfilesProfileMemoryArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileMemoryArrayOutput() GetIsDedicatedHostProfilesProfileMemoryArrayOutput + ToGetIsDedicatedHostProfilesProfileMemoryArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileMemoryArrayOutput +} + +type GetIsDedicatedHostProfilesProfileMemoryArray []GetIsDedicatedHostProfilesProfileMemoryInput + +func (GetIsDedicatedHostProfilesProfileMemoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileMemory)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileMemoryArray) ToGetIsDedicatedHostProfilesProfileMemoryArrayOutput() GetIsDedicatedHostProfilesProfileMemoryArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileMemoryArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileMemoryArray) ToGetIsDedicatedHostProfilesProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileMemoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileMemoryArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileMemoryOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileMemoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileMemory)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) ToGetIsDedicatedHostProfilesProfileMemoryOutput() GetIsDedicatedHostProfilesProfileMemoryOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) ToGetIsDedicatedHostProfilesProfileMemoryOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileMemoryOutput { + return o +} + +// The default value for this profile field. +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileMemory) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileMemory) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileMemory) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileMemory) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileMemory) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileMemory) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsDedicatedHostProfilesProfileMemoryOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileMemory) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileMemoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileMemoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileMemory)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileMemoryArrayOutput) ToGetIsDedicatedHostProfilesProfileMemoryArrayOutput() GetIsDedicatedHostProfilesProfileMemoryArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileMemoryArrayOutput) ToGetIsDedicatedHostProfilesProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileMemoryArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileMemoryArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileMemoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileMemory { + return vs[0].([]GetIsDedicatedHostProfilesProfileMemory)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileMemoryOutput) +} + +type GetIsDedicatedHostProfilesProfileSocketCount struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsDedicatedHostProfilesProfileSocketCountInput is an input type that accepts GetIsDedicatedHostProfilesProfileSocketCountArgs and GetIsDedicatedHostProfilesProfileSocketCountOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileSocketCountInput` via: +// +// GetIsDedicatedHostProfilesProfileSocketCountArgs{...} +type GetIsDedicatedHostProfilesProfileSocketCountInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileSocketCountOutput() GetIsDedicatedHostProfilesProfileSocketCountOutput + ToGetIsDedicatedHostProfilesProfileSocketCountOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileSocketCountOutput +} + +type GetIsDedicatedHostProfilesProfileSocketCountArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsDedicatedHostProfilesProfileSocketCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileSocketCount)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileSocketCountArgs) ToGetIsDedicatedHostProfilesProfileSocketCountOutput() GetIsDedicatedHostProfilesProfileSocketCountOutput { + return i.ToGetIsDedicatedHostProfilesProfileSocketCountOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileSocketCountArgs) ToGetIsDedicatedHostProfilesProfileSocketCountOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileSocketCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileSocketCountOutput) +} + +// GetIsDedicatedHostProfilesProfileSocketCountArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileSocketCountArray and GetIsDedicatedHostProfilesProfileSocketCountArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileSocketCountArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileSocketCountArray{ GetIsDedicatedHostProfilesProfileSocketCountArgs{...} } +type GetIsDedicatedHostProfilesProfileSocketCountArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileSocketCountArrayOutput() GetIsDedicatedHostProfilesProfileSocketCountArrayOutput + ToGetIsDedicatedHostProfilesProfileSocketCountArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileSocketCountArrayOutput +} + +type GetIsDedicatedHostProfilesProfileSocketCountArray []GetIsDedicatedHostProfilesProfileSocketCountInput + +func (GetIsDedicatedHostProfilesProfileSocketCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileSocketCount)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileSocketCountArray) ToGetIsDedicatedHostProfilesProfileSocketCountArrayOutput() GetIsDedicatedHostProfilesProfileSocketCountArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileSocketCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileSocketCountArray) ToGetIsDedicatedHostProfilesProfileSocketCountArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileSocketCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileSocketCountArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileSocketCountOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileSocketCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileSocketCount)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) ToGetIsDedicatedHostProfilesProfileSocketCountOutput() GetIsDedicatedHostProfilesProfileSocketCountOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) ToGetIsDedicatedHostProfilesProfileSocketCountOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileSocketCountOutput { + return o +} + +// The default value for this profile field. +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSocketCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSocketCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSocketCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSocketCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSocketCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSocketCount) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsDedicatedHostProfilesProfileSocketCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSocketCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileSocketCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileSocketCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileSocketCount)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileSocketCountArrayOutput) ToGetIsDedicatedHostProfilesProfileSocketCountArrayOutput() GetIsDedicatedHostProfilesProfileSocketCountArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileSocketCountArrayOutput) ToGetIsDedicatedHostProfilesProfileSocketCountArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileSocketCountArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileSocketCountArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileSocketCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileSocketCount { + return vs[0].([]GetIsDedicatedHostProfilesProfileSocketCount)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileSocketCountOutput) +} + +type GetIsDedicatedHostProfilesProfileSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostProfilesProfileSupportedInstanceProfileInput is an input type that accepts GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArgs and GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileSupportedInstanceProfileInput` via: +// +// GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArgs{...} +type GetIsDedicatedHostProfilesProfileSupportedInstanceProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput() GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput + ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput +} + +type GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArgs) ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput() GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput { + return i.ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArgs) ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput) +} + +// GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArray and GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArray{ GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArgs{...} } +type GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput() GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput + ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput +} + +type GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArray []GetIsDedicatedHostProfilesProfileSupportedInstanceProfileInput + +func (GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArray) ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput() GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArray) ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput) ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput() GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput) ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSupportedInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileSupportedInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput() GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileSupportedInstanceProfile { + return vs[0].([]GetIsDedicatedHostProfilesProfileSupportedInstanceProfile)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput) +} + +type GetIsDedicatedHostProfilesProfileVcpuArchitecture struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The VCPU architecture for a dedicated host with this profile. + Value string `pulumi:"value"` +} + +// GetIsDedicatedHostProfilesProfileVcpuArchitectureInput is an input type that accepts GetIsDedicatedHostProfilesProfileVcpuArchitectureArgs and GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileVcpuArchitectureInput` via: +// +// GetIsDedicatedHostProfilesProfileVcpuArchitectureArgs{...} +type GetIsDedicatedHostProfilesProfileVcpuArchitectureInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileVcpuArchitectureOutput() GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput + ToGetIsDedicatedHostProfilesProfileVcpuArchitectureOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput +} + +type GetIsDedicatedHostProfilesProfileVcpuArchitectureArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The VCPU architecture for a dedicated host with this profile. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfilesProfileVcpuArchitectureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuArchitecture)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileVcpuArchitectureArgs) ToGetIsDedicatedHostProfilesProfileVcpuArchitectureOutput() GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput { + return i.ToGetIsDedicatedHostProfilesProfileVcpuArchitectureOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileVcpuArchitectureArgs) ToGetIsDedicatedHostProfilesProfileVcpuArchitectureOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput) +} + +// GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileVcpuArchitectureArray and GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileVcpuArchitectureArray{ GetIsDedicatedHostProfilesProfileVcpuArchitectureArgs{...} } +type GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput() GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput + ToGetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput +} + +type GetIsDedicatedHostProfilesProfileVcpuArchitectureArray []GetIsDedicatedHostProfilesProfileVcpuArchitectureInput + +func (GetIsDedicatedHostProfilesProfileVcpuArchitectureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileVcpuArchitecture)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileVcpuArchitectureArray) ToGetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput() GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileVcpuArchitectureArray) ToGetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuArchitecture)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput) ToGetIsDedicatedHostProfilesProfileVcpuArchitectureOutput() GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput) ToGetIsDedicatedHostProfilesProfileVcpuArchitectureOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuArchitecture) string { return v.Type }).(pulumi.StringOutput) +} + +// The VCPU architecture for a dedicated host with this profile. +func (o GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuArchitecture) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileVcpuArchitecture)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput) ToGetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput() GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput) ToGetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileVcpuArchitecture { + return vs[0].([]GetIsDedicatedHostProfilesProfileVcpuArchitecture)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput) +} + +type GetIsDedicatedHostProfilesProfileVcpuCount struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsDedicatedHostProfilesProfileVcpuCountInput is an input type that accepts GetIsDedicatedHostProfilesProfileVcpuCountArgs and GetIsDedicatedHostProfilesProfileVcpuCountOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileVcpuCountInput` via: +// +// GetIsDedicatedHostProfilesProfileVcpuCountArgs{...} +type GetIsDedicatedHostProfilesProfileVcpuCountInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileVcpuCountOutput() GetIsDedicatedHostProfilesProfileVcpuCountOutput + ToGetIsDedicatedHostProfilesProfileVcpuCountOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileVcpuCountOutput +} + +type GetIsDedicatedHostProfilesProfileVcpuCountArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsDedicatedHostProfilesProfileVcpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuCount)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileVcpuCountArgs) ToGetIsDedicatedHostProfilesProfileVcpuCountOutput() GetIsDedicatedHostProfilesProfileVcpuCountOutput { + return i.ToGetIsDedicatedHostProfilesProfileVcpuCountOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileVcpuCountArgs) ToGetIsDedicatedHostProfilesProfileVcpuCountOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileVcpuCountOutput) +} + +// GetIsDedicatedHostProfilesProfileVcpuCountArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileVcpuCountArray and GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileVcpuCountArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileVcpuCountArray{ GetIsDedicatedHostProfilesProfileVcpuCountArgs{...} } +type GetIsDedicatedHostProfilesProfileVcpuCountArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileVcpuCountArrayOutput() GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput + ToGetIsDedicatedHostProfilesProfileVcpuCountArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput +} + +type GetIsDedicatedHostProfilesProfileVcpuCountArray []GetIsDedicatedHostProfilesProfileVcpuCountInput + +func (GetIsDedicatedHostProfilesProfileVcpuCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileVcpuCount)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileVcpuCountArray) ToGetIsDedicatedHostProfilesProfileVcpuCountArrayOutput() GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileVcpuCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileVcpuCountArray) ToGetIsDedicatedHostProfilesProfileVcpuCountArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileVcpuCountOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileVcpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuCount)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) ToGetIsDedicatedHostProfilesProfileVcpuCountOutput() GetIsDedicatedHostProfilesProfileVcpuCountOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) ToGetIsDedicatedHostProfilesProfileVcpuCountOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuCountOutput { + return o +} + +// The default value for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuCount) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileVcpuCount)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput) ToGetIsDedicatedHostProfilesProfileVcpuCountArrayOutput() GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput) ToGetIsDedicatedHostProfilesProfileVcpuCountArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileVcpuCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileVcpuCount { + return vs[0].([]GetIsDedicatedHostProfilesProfileVcpuCount)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileVcpuCountOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PiHostGroupPiHostInput)(nil)).Elem(), PiHostGroupPiHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiHostGroupPiHostArrayInput)(nil)).Elem(), PiHostGroupPiHostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiHostGroupPiSecondaryInput)(nil)).Elem(), PiHostGroupPiSecondaryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiHostGroupPiSecondaryArrayInput)(nil)).Elem(), PiHostGroupPiSecondaryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiHostPiHostInput)(nil)).Elem(), PiHostPiHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiHostPiHostPtrInput)(nil)).Elem(), PiHostPiHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiImagePiImageImportDetailsInput)(nil)).Elem(), PiImagePiImageImportDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiImagePiImageImportDetailsPtrInput)(nil)).Elem(), PiImagePiImageImportDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiInstancePiDeploymentTargetInput)(nil)).Elem(), PiInstancePiDeploymentTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiInstancePiDeploymentTargetPtrInput)(nil)).Elem(), PiInstancePiDeploymentTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiInstancePiNetworkInput)(nil)).Elem(), PiInstancePiNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiInstancePiNetworkArrayInput)(nil)).Elem(), PiInstancePiNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiInstancePiVirtualSerialNumberInput)(nil)).Elem(), PiInstancePiVirtualSerialNumberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiInstancePiVirtualSerialNumberPtrInput)(nil)).Elem(), PiInstancePiVirtualSerialNumberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkAddressGroupMemberTypeInput)(nil)).Elem(), PiNetworkAddressGroupMemberTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkAddressGroupMemberTypeArrayInput)(nil)).Elem(), PiNetworkAddressGroupMemberTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkAddressGroupMemberMemberInput)(nil)).Elem(), PiNetworkAddressGroupMemberMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkAddressGroupMemberMemberArrayInput)(nil)).Elem(), PiNetworkAddressGroupMemberMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkInterfaceInstanceInput)(nil)).Elem(), PiNetworkInterfaceInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkInterfaceInstanceArrayInput)(nil)).Elem(), PiNetworkInterfaceInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkNetworkAddressTranslationInput)(nil)).Elem(), PiNetworkNetworkAddressTranslationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkNetworkAddressTranslationArrayInput)(nil)).Elem(), PiNetworkNetworkAddressTranslationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPeerExportRouteFilterInput)(nil)).Elem(), PiNetworkPeerExportRouteFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPeerExportRouteFilterArrayInput)(nil)).Elem(), PiNetworkPeerExportRouteFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPeerImportRouteFilterInput)(nil)).Elem(), PiNetworkPeerImportRouteFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPeerImportRouteFilterArrayInput)(nil)).Elem(), PiNetworkPeerImportRouteFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPiIpaddressRangeInput)(nil)).Elem(), PiNetworkPiIpaddressRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPiIpaddressRangeArrayInput)(nil)).Elem(), PiNetworkPiIpaddressRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPiNetworkPeerInput)(nil)).Elem(), PiNetworkPiNetworkPeerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPiNetworkPeerPtrInput)(nil)).Elem(), PiNetworkPiNetworkPeerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPiNetworkPeerNetworkAddressTranslationInput)(nil)).Elem(), PiNetworkPiNetworkPeerNetworkAddressTranslationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkPiNetworkPeerNetworkAddressTranslationPtrInput)(nil)).Elem(), PiNetworkPiNetworkPeerNetworkAddressTranslationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberTypeInput)(nil)).Elem(), PiNetworkSecurityGroupMemberTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberTypeArrayInput)(nil)).Elem(), PiNetworkSecurityGroupMemberTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberMemberInput)(nil)).Elem(), PiNetworkSecurityGroupMemberMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberMemberArrayInput)(nil)).Elem(), PiNetworkSecurityGroupMemberMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleArrayInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleDestinationPortInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleDestinationPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleDestinationPortArrayInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleDestinationPortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleProtocolInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleProtocolArrayInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleProtocolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleProtocolTcpFlagInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleRemoteInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleRemoteArrayInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleSourcePortInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleSourcePortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupMemberRuleSourcePortArrayInput)(nil)).Elem(), PiNetworkSecurityGroupMemberRuleSourcePortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleTypeInput)(nil)).Elem(), PiNetworkSecurityGroupRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleTypeArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleDestinationPortInput)(nil)).Elem(), PiNetworkSecurityGroupRuleDestinationPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleDestinationPortArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleDestinationPortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleMemberInput)(nil)).Elem(), PiNetworkSecurityGroupRuleMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleMemberArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiDestinationPortInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiDestinationPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiDestinationPortPtrInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiDestinationPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiDestinationPortsInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiDestinationPortsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiDestinationPortsPtrInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiDestinationPortsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiProtocolInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiProtocolPtrInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiProtocolTcpFlagInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiProtocolTcpFlagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiProtocolTcpFlagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiRemoteInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiRemotePtrInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiSourcePortInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiSourcePortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiSourcePortPtrInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiSourcePortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiSourcePortsInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiSourcePortsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRulePiSourcePortsPtrInput)(nil)).Elem(), PiNetworkSecurityGroupRulePiSourcePortsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleProtocolInput)(nil)).Elem(), PiNetworkSecurityGroupRuleProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleProtocolArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleProtocolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleProtocolTcpFlagInput)(nil)).Elem(), PiNetworkSecurityGroupRuleProtocolTcpFlagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleProtocolTcpFlagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRemoteInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRemoteArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleDestinationPortInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleDestinationPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleDestinationPortArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleDestinationPortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleProtocolInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleProtocolArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleProtocolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleProtocolTcpFlagInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleRemoteInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleRemoteArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleSourcePortInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleSourcePortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleRuleSourcePortArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleRuleSourcePortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleSourcePortInput)(nil)).Elem(), PiNetworkSecurityGroupRuleSourcePortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiNetworkSecurityGroupRuleSourcePortArrayInput)(nil)).Elem(), PiNetworkSecurityGroupRuleSourcePortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiSharedProcessorPoolInstanceInput)(nil)).Elem(), PiSharedProcessorPoolInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiSharedProcessorPoolInstanceArrayInput)(nil)).Elem(), PiSharedProcessorPoolInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeCloneCloneVolumeInput)(nil)).Elem(), PiVolumeCloneCloneVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeCloneCloneVolumeArrayInput)(nil)).Elem(), PiVolumeCloneCloneVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionInput)(nil)).Elem(), PiVolumeGroupActionPiVolumeGroupActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionPtrInput)(nil)).Elem(), PiVolumeGroupActionPiVolumeGroupActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionResetInput)(nil)).Elem(), PiVolumeGroupActionPiVolumeGroupActionResetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionResetPtrInput)(nil)).Elem(), PiVolumeGroupActionPiVolumeGroupActionResetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionStartInput)(nil)).Elem(), PiVolumeGroupActionPiVolumeGroupActionStartArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionStartPtrInput)(nil)).Elem(), PiVolumeGroupActionPiVolumeGroupActionStartArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionStopInput)(nil)).Elem(), PiVolumeGroupActionPiVolumeGroupActionStopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupActionPiVolumeGroupActionStopPtrInput)(nil)).Elem(), PiVolumeGroupActionPiVolumeGroupActionStopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupStatusDescriptionErrorInput)(nil)).Elem(), PiVolumeGroupStatusDescriptionErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeGroupStatusDescriptionErrorArrayInput)(nil)).Elem(), PiVolumeGroupStatusDescriptionErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeOnboardingPiOnboardingVolumeInput)(nil)).Elem(), PiVolumeOnboardingPiOnboardingVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeOnboardingPiOnboardingVolumeArrayInput)(nil)).Elem(), PiVolumeOnboardingPiOnboardingVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeInput)(nil)).Elem(), PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayInput)(nil)).Elem(), PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeOnboardingResultsVolumeOnboardingFailureInput)(nil)).Elem(), PiVolumeOnboardingResultsVolumeOnboardingFailureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput)(nil)).Elem(), PiVolumeOnboardingResultsVolumeOnboardingFailureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ResourceInstancePlanHistoryInput)(nil)).Elem(), ResourceInstancePlanHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ResourceInstancePlanHistoryArrayInput)(nil)).Elem(), ResourceInstancePlanHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgConnectionTunnelInput)(nil)).Elem(), TgConnectionTunnelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgConnectionTunnelArrayInput)(nil)).Elem(), TgConnectionTunnelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportConnectionInput)(nil)).Elem(), TgRouteReportConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportConnectionArrayInput)(nil)).Elem(), TgRouteReportConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportConnectionBgpInput)(nil)).Elem(), TgRouteReportConnectionBgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportConnectionBgpArrayInput)(nil)).Elem(), TgRouteReportConnectionBgpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportConnectionRouteInput)(nil)).Elem(), TgRouteReportConnectionRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportConnectionRouteArrayInput)(nil)).Elem(), TgRouteReportConnectionRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportOverlappingRouteInput)(nil)).Elem(), TgRouteReportOverlappingRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportOverlappingRouteArrayInput)(nil)).Elem(), TgRouteReportOverlappingRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportOverlappingRouteRouteInput)(nil)).Elem(), TgRouteReportOverlappingRouteRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportOverlappingRouteRouteArrayInput)(nil)).Elem(), TgRouteReportOverlappingRouteRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetComputePlacementGroupVirtualGuestInput)(nil)).Elem(), GetComputePlacementGroupVirtualGuestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetComputePlacementGroupVirtualGuestArrayInput)(nil)).Elem(), GetComputePlacementGroupVirtualGuestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetComputeReservedCapacityVirtualGuestInput)(nil)).Elem(), GetComputeReservedCapacityVirtualGuestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetComputeReservedCapacityVirtualGuestArrayInput)(nil)).Elem(), GetComputeReservedCapacityVirtualGuestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketAbortIncompleteMultipartUploadDayInput)(nil)).Elem(), GetCosBucketAbortIncompleteMultipartUploadDayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketAbortIncompleteMultipartUploadDayArrayInput)(nil)).Elem(), GetCosBucketAbortIncompleteMultipartUploadDayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketActivityTrackingInput)(nil)).Elem(), GetCosBucketActivityTrackingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketActivityTrackingArrayInput)(nil)).Elem(), GetCosBucketActivityTrackingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketArchiveRuleInput)(nil)).Elem(), GetCosBucketArchiveRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketArchiveRuleArrayInput)(nil)).Elem(), GetCosBucketArchiveRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketExpireRuleInput)(nil)).Elem(), GetCosBucketExpireRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketExpireRuleArrayInput)(nil)).Elem(), GetCosBucketExpireRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleInput)(nil)).Elem(), GetCosBucketLifecycleRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadInput)(nil)).Elem(), GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleExpirationInput)(nil)).Elem(), GetCosBucketLifecycleRuleExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleExpirationArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleExpirationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleFilterInput)(nil)).Elem(), GetCosBucketLifecycleRuleFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleFilterArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleFilterAndInput)(nil)).Elem(), GetCosBucketLifecycleRuleFilterAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleFilterAndArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleFilterAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleFilterAndTagInput)(nil)).Elem(), GetCosBucketLifecycleRuleFilterAndTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleFilterAndTagArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleFilterAndTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleFilterTagInput)(nil)).Elem(), GetCosBucketLifecycleRuleFilterTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleFilterTagArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleFilterTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleNoncurrentVersionExpirationInput)(nil)).Elem(), GetCosBucketLifecycleRuleNoncurrentVersionExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleNoncurrentVersionExpirationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleTransitionInput)(nil)).Elem(), GetCosBucketLifecycleRuleTransitionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketLifecycleRuleTransitionArrayInput)(nil)).Elem(), GetCosBucketLifecycleRuleTransitionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketMetricsMonitoringInput)(nil)).Elem(), GetCosBucketMetricsMonitoringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketMetricsMonitoringArrayInput)(nil)).Elem(), GetCosBucketMetricsMonitoringArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketNoncurrentVersionExpirationInput)(nil)).Elem(), GetCosBucketNoncurrentVersionExpirationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketNoncurrentVersionExpirationArrayInput)(nil)).Elem(), GetCosBucketNoncurrentVersionExpirationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketObjectLockConfigurationTypeInput)(nil)).Elem(), GetCosBucketObjectLockConfigurationTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketObjectLockConfigurationTypeArrayInput)(nil)).Elem(), GetCosBucketObjectLockConfigurationTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketObjectLockConfigurationObjectLockRuleInput)(nil)).Elem(), GetCosBucketObjectLockConfigurationObjectLockRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketObjectLockConfigurationObjectLockRuleArrayInput)(nil)).Elem(), GetCosBucketObjectLockConfigurationObjectLockRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionInput)(nil)).Elem(), GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayInput)(nil)).Elem(), GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketObjectVersioningInput)(nil)).Elem(), GetCosBucketObjectVersioningArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketObjectVersioningArrayInput)(nil)).Elem(), GetCosBucketObjectVersioningArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketReplicationRuleTypeInput)(nil)).Elem(), GetCosBucketReplicationRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketReplicationRuleTypeArrayInput)(nil)).Elem(), GetCosBucketReplicationRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketRetentionRuleInput)(nil)).Elem(), GetCosBucketRetentionRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketRetentionRuleArrayInput)(nil)).Elem(), GetCosBucketRetentionRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationTypeInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationTypeArrayInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationErrorDocumentInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationErrorDocumentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationErrorDocumentArrayInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationErrorDocumentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationIndexDocumentInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationIndexDocumentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationIndexDocumentArrayInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationIndexDocumentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationRedirectAllRequestsToInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationRedirectAllRequestsToArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationRedirectAllRequestsToArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationRoutingRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleArrayInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationRoutingRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleConditionInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationRoutingRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationRoutingRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleRedirectInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationRoutingRuleRedirectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayInput)(nil)).Elem(), GetCosBucketWebsiteConfigurationRoutingRuleRedirectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupGroupInput)(nil)).Elem(), GetIamAccessGroupGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupGroupArrayInput)(nil)).Elem(), GetIamAccessGroupGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupGroupRuleInput)(nil)).Elem(), GetIamAccessGroupGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupGroupRuleArrayInput)(nil)).Elem(), GetIamAccessGroupGroupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupGroupRuleConditionInput)(nil)).Elem(), GetIamAccessGroupGroupRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupGroupRuleConditionArrayInput)(nil)).Elem(), GetIamAccessGroupGroupRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyArrayInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyResourceInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyResourceArrayInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyResourceTagInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyResourceTagArrayInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyRuleConditionInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyRuleConditionArrayInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyRuleConditionConditionInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyTemplateInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupPolicyPolicyTemplateArrayInput)(nil)).Elem(), GetIamAccessGroupPolicyPolicyTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentAssignmentInput)(nil)).Elem(), GetIamAccessGroupTemplateAssignmentAssignmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentAssignmentArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateAssignmentAssignmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentFirstInput)(nil)).Elem(), GetIamAccessGroupTemplateAssignmentFirstArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentFirstArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateAssignmentFirstArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentLastInput)(nil)).Elem(), GetIamAccessGroupTemplateAssignmentLastArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateAssignmentLastArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateAssignmentLastArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsFirstInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsFirstArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsFirstArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsFirstArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsLastInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsLastArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsLastArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsLastArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsPreviouseInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsPreviouseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccessGroupTemplateVersionsPreviouseArrayInput)(nil)).Elem(), GetIamAccessGroupTemplateVersionsPreviouseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayInput)(nil)).Elem(), GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsHistoryInput)(nil)).Elem(), GetIamAccountSettingsHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsHistoryArrayInput)(nil)).Elem(), GetIamAccountSettingsHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsRestrictUserDomainInput)(nil)).Elem(), GetIamAccountSettingsRestrictUserDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsRestrictUserDomainArrayInput)(nil)).Elem(), GetIamAccountSettingsRestrictUserDomainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingInput)(nil)).Elem(), GetIamAccountSettingsTemplateAccountSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAccountSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainInput)(nil)).Elem(), GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionInput)(nil)).Elem(), GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingUserMfaInput)(nil)).Elem(), GetIamAccountSettingsTemplateAccountSettingUserMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAccountSettingUserMfaArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAccountSettingUserMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentContextInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentContextArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentContextArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentContextArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentHistoryInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentHistoryArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateHistoryInput)(nil)).Elem(), GetIamAccountSettingsTemplateHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsTemplateHistoryArrayInput)(nil)).Elem(), GetIamAccountSettingsTemplateHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsUserMfaInput)(nil)).Elem(), GetIamAccountSettingsUserMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAccountSettingsUserMfaArrayInput)(nil)).Elem(), GetIamAccountSettingsUserMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceInput)(nil)).Elem(), GetIamActionControlAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceArrayInput)(nil)).Elem(), GetIamActionControlAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlArrayInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageArrayInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlResourceCreatedInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayInput)(nil)).Elem(), GetIamActionControlAssignmentResourceActionControlResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceTargetInput)(nil)).Elem(), GetIamActionControlAssignmentResourceTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentResourceTargetArrayInput)(nil)).Elem(), GetIamActionControlAssignmentResourceTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentTargetInput)(nil)).Elem(), GetIamActionControlAssignmentTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentTargetArrayInput)(nil)).Elem(), GetIamActionControlAssignmentTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentTemplateInput)(nil)).Elem(), GetIamActionControlAssignmentTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentTemplateArrayInput)(nil)).Elem(), GetIamActionControlAssignmentTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceTargetInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentResourceTargetArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentResourceTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentTargetInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentTargetArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentTemplateInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlAssignmentsAssignmentTemplateArrayInput)(nil)).Elem(), GetIamActionControlAssignmentsAssignmentTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlTemplateActionControlTemplateInput)(nil)).Elem(), GetIamActionControlTemplateActionControlTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlTemplateActionControlTemplateArrayInput)(nil)).Elem(), GetIamActionControlTemplateActionControlTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlTemplateActionControlTemplateActionControlInput)(nil)).Elem(), GetIamActionControlTemplateActionControlTemplateActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlTemplateActionControlTemplateActionControlArrayInput)(nil)).Elem(), GetIamActionControlTemplateActionControlTemplateActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlTemplateVersionActionControlInput)(nil)).Elem(), GetIamActionControlTemplateVersionActionControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamActionControlTemplateVersionActionControlArrayInput)(nil)).Elem(), GetIamActionControlTemplateVersionActionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAuthorizationPoliciesPolicyInput)(nil)).Elem(), GetIamAuthorizationPoliciesPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamAuthorizationPoliciesPolicyArrayInput)(nil)).Elem(), GetIamAuthorizationPoliciesPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountHistoryInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAccountHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountHistoryArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAccountHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountRestrictUserDomainInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAccountRestrictUserDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAccountRestrictUserDomainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountUserMfaInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAccountUserMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAccountUserMfaArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAccountUserMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAssignedTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAssignedTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateUserMfaInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsEffectiveInput)(nil)).Elem(), GetIamEffectiveAccountSettingsEffectiveArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsEffectiveArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsEffectiveArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsEffectiveUserMfaInput)(nil)).Elem(), GetIamEffectiveAccountSettingsEffectiveUserMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamEffectiveAccountSettingsEffectiveUserMfaArrayInput)(nil)).Elem(), GetIamEffectiveAccountSettingsEffectiveUserMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourceInput)(nil)).Elem(), GetIamPolicyAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourceArrayInput)(nil)).Elem(), GetIamPolicyAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyArrayInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageArrayInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyResourceCreatedInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayInput)(nil)).Elem(), GetIamPolicyAssignmentResourcePolicyResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentArrayInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourceInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourceArrayInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyArrayInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayInput)(nil)).Elem(), GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplateInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplateArrayInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyArrayInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceTagInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayInput)(nil)).Elem(), GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyArrayInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceArrayInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceAttributeInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyResourceAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceAttributeArrayInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyResourceAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceTagInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyResourceTagArrayInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyRuleConditionInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyRuleConditionArrayInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyRuleConditionConditionInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayInput)(nil)).Elem(), GetIamPolicyTemplateVersionPolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamRolesRoleInput)(nil)).Elem(), GetIamRolesRoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamRolesRoleArrayInput)(nil)).Elem(), GetIamRolesRoleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServiceIdServiceIdInput)(nil)).Elem(), GetIamServiceIdServiceIdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServiceIdServiceIdArrayInput)(nil)).Elem(), GetIamServiceIdServiceIdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyInput)(nil)).Elem(), GetIamServicePolicyPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyArrayInput)(nil)).Elem(), GetIamServicePolicyPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyResourceInput)(nil)).Elem(), GetIamServicePolicyPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyResourceArrayInput)(nil)).Elem(), GetIamServicePolicyPolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyResourceTagInput)(nil)).Elem(), GetIamServicePolicyPolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyResourceTagArrayInput)(nil)).Elem(), GetIamServicePolicyPolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyRuleConditionInput)(nil)).Elem(), GetIamServicePolicyPolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyRuleConditionArrayInput)(nil)).Elem(), GetIamServicePolicyPolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyRuleConditionConditionInput)(nil)).Elem(), GetIamServicePolicyPolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamServicePolicyPolicyRuleConditionConditionArrayInput)(nil)).Elem(), GetIamServicePolicyPolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileClaimRuleConditionInput)(nil)).Elem(), GetIamTrustedProfileClaimRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileClaimRuleConditionArrayInput)(nil)).Elem(), GetIamTrustedProfileClaimRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileClaimRulesRuleInput)(nil)).Elem(), GetIamTrustedProfileClaimRulesRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileClaimRulesRuleArrayInput)(nil)).Elem(), GetIamTrustedProfileClaimRulesRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileClaimRulesRuleConditionInput)(nil)).Elem(), GetIamTrustedProfileClaimRulesRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileClaimRulesRuleConditionArrayInput)(nil)).Elem(), GetIamTrustedProfileClaimRulesRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileHistoryInput)(nil)).Elem(), GetIamTrustedProfileHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileHistoryArrayInput)(nil)).Elem(), GetIamTrustedProfileHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileIdentitiesIdentityInput)(nil)).Elem(), GetIamTrustedProfileIdentitiesIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileIdentitiesIdentityArrayInput)(nil)).Elem(), GetIamTrustedProfileIdentitiesIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileLinkLinkInput)(nil)).Elem(), GetIamTrustedProfileLinkLinkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileLinkLinkArrayInput)(nil)).Elem(), GetIamTrustedProfileLinkLinkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileLinksLinkInput)(nil)).Elem(), GetIamTrustedProfileLinksLinkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileLinksLinkArrayInput)(nil)).Elem(), GetIamTrustedProfileLinksLinkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileLinksLinkLinkInput)(nil)).Elem(), GetIamTrustedProfileLinksLinkLinkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileLinksLinkLinkArrayInput)(nil)).Elem(), GetIamTrustedProfileLinksLinkLinkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyArrayInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyResourceInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyResourceArrayInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyResourceTagInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyResourceTagArrayInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyRuleConditionInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyRuleConditionArrayInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyRuleConditionConditionInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyTemplateInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilePolicyPolicyTemplateArrayInput)(nil)).Elem(), GetIamTrustedProfilePolicyPolicyTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentContextInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentContextArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentContextArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentContextArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentHistoryInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentHistoryArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateHistoryInput)(nil)).Elem(), GetIamTrustedProfileTemplateHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateHistoryArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplatePolicyTemplateReferenceInput)(nil)).Elem(), GetIamTrustedProfileTemplatePolicyTemplateReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplatePolicyTemplateReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateProfileInput)(nil)).Elem(), GetIamTrustedProfileTemplateProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateProfileArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateProfileIdentityInput)(nil)).Elem(), GetIamTrustedProfileTemplateProfileIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateProfileIdentityArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateProfileIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateProfileRuleInput)(nil)).Elem(), GetIamTrustedProfileTemplateProfileRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateProfileRuleArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateProfileRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateProfileRuleConditionInput)(nil)).Elem(), GetIamTrustedProfileTemplateProfileRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfileTemplateProfileRuleConditionArrayInput)(nil)).Elem(), GetIamTrustedProfileTemplateProfileRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilesProfileInput)(nil)).Elem(), GetIamTrustedProfilesProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilesProfileArrayInput)(nil)).Elem(), GetIamTrustedProfilesProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilesProfileHistoryInput)(nil)).Elem(), GetIamTrustedProfilesProfileHistoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamTrustedProfilesProfileHistoryArrayInput)(nil)).Elem(), GetIamTrustedProfilesProfileHistoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaInput)(nil)).Elem(), GetIamUserMfaEnrollmentsAccountBasedMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaArrayInput)(nil)).Elem(), GetIamUserMfaEnrollmentsAccountBasedMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionInput)(nil)).Elem(), GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayInput)(nil)).Elem(), GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaTotpInput)(nil)).Elem(), GetIamUserMfaEnrollmentsAccountBasedMfaTotpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayInput)(nil)).Elem(), GetIamUserMfaEnrollmentsAccountBasedMfaTotpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaVerisignInput)(nil)).Elem(), GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayInput)(nil)).Elem(), GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsIdBasedMfaInput)(nil)).Elem(), GetIamUserMfaEnrollmentsIdBasedMfaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserMfaEnrollmentsIdBasedMfaArrayInput)(nil)).Elem(), GetIamUserMfaEnrollmentsIdBasedMfaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyInput)(nil)).Elem(), GetIamUserPolicyPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyArrayInput)(nil)).Elem(), GetIamUserPolicyPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyResourceInput)(nil)).Elem(), GetIamUserPolicyPolicyResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyResourceArrayInput)(nil)).Elem(), GetIamUserPolicyPolicyResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyResourceTagInput)(nil)).Elem(), GetIamUserPolicyPolicyResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyResourceTagArrayInput)(nil)).Elem(), GetIamUserPolicyPolicyResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyRuleConditionInput)(nil)).Elem(), GetIamUserPolicyPolicyRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyRuleConditionArrayInput)(nil)).Elem(), GetIamUserPolicyPolicyRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyRuleConditionConditionInput)(nil)).Elem(), GetIamUserPolicyPolicyRuleConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUserPolicyPolicyRuleConditionConditionArrayInput)(nil)).Elem(), GetIamUserPolicyPolicyRuleConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUsersUserInput)(nil)).Elem(), GetIamUsersUserArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIamUsersUserArrayInput)(nil)).Elem(), GetIamUsersUserArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyArrayInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyHealthReasonInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyHealthReasonArrayInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyPlanInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyResourceGroupInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyResourceGroupArrayInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyScopeInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyScopeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPoliciesBackupPolicyScopeArrayInput)(nil)).Elem(), GetIsBackupPoliciesBackupPolicyScopeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyHealthReasonInput)(nil)).Elem(), GetIsBackupPolicyHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyHealthReasonArrayInput)(nil)).Elem(), GetIsBackupPolicyHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanInput)(nil)).Elem(), GetIsBackupPolicyJobBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsBackupPolicyJobBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanRemoteInput)(nil)).Elem(), GetIsBackupPolicyJobBackupPolicyPlanRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayInput)(nil)).Elem(), GetIsBackupPolicyJobBackupPolicyPlanRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceInstanceInput)(nil)).Elem(), GetIsBackupPolicyJobSourceInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceInstanceArrayInput)(nil)).Elem(), GetIsBackupPolicyJobSourceInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceInstanceDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobSourceInstanceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceInstanceDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobSourceInstanceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceShareInput)(nil)).Elem(), GetIsBackupPolicyJobSourceShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceShareArrayInput)(nil)).Elem(), GetIsBackupPolicyJobSourceShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceShareDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobSourceShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceShareDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobSourceShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeInput)(nil)).Elem(), GetIsBackupPolicyJobSourceVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeArrayInput)(nil)).Elem(), GetIsBackupPolicyJobSourceVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobSourceVolumeDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobSourceVolumeDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeRemoteInput)(nil)).Elem(), GetIsBackupPolicyJobSourceVolumeRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobSourceVolumeRemoteArrayInput)(nil)).Elem(), GetIsBackupPolicyJobSourceVolumeRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobStatusReasonInput)(nil)).Elem(), GetIsBackupPolicyJobStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobStatusReasonArrayInput)(nil)).Elem(), GetIsBackupPolicyJobStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotArrayInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteArrayInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteAccountInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteRegionInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayInput)(nil)).Elem(), GetIsBackupPolicyJobTargetSnapshotRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobInput)(nil)).Elem(), GetIsBackupPolicyJobsJobArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanInput)(nil)).Elem(), GetIsBackupPolicyJobsJobBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteInput)(nil)).Elem(), GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceInstanceInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceInstanceArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceInstanceDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceInstanceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceInstanceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceShareInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceShareArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceShareDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceShareDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceVolumeDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceVolumeDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeRemoteInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceVolumeRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobSourceVolumeRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobStatusReasonInput)(nil)).Elem(), GetIsBackupPolicyJobsJobStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobStatusReasonArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotDeletedInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayInput)(nil)).Elem(), GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanTypeInput)(nil)).Elem(), GetIsBackupPolicyPlanTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanTypeArrayInput)(nil)).Elem(), GetIsBackupPolicyPlanTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanClonePolicyInput)(nil)).Elem(), GetIsBackupPolicyPlanClonePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanClonePolicyArrayInput)(nil)).Elem(), GetIsBackupPolicyPlanClonePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanDeletionTriggerInput)(nil)).Elem(), GetIsBackupPolicyPlanDeletionTriggerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanDeletionTriggerArrayInput)(nil)).Elem(), GetIsBackupPolicyPlanDeletionTriggerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanRemoteRegionPolicyInput)(nil)).Elem(), GetIsBackupPolicyPlanRemoteRegionPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlanRemoteRegionPolicyArrayInput)(nil)).Elem(), GetIsBackupPolicyPlanRemoteRegionPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlansPlanInput)(nil)).Elem(), GetIsBackupPolicyPlansPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlansPlanArrayInput)(nil)).Elem(), GetIsBackupPolicyPlansPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlansPlanClonePolicyInput)(nil)).Elem(), GetIsBackupPolicyPlansPlanClonePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlansPlanClonePolicyArrayInput)(nil)).Elem(), GetIsBackupPolicyPlansPlanClonePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlansPlanDeletionTriggerInput)(nil)).Elem(), GetIsBackupPolicyPlansPlanDeletionTriggerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlansPlanDeletionTriggerArrayInput)(nil)).Elem(), GetIsBackupPolicyPlansPlanDeletionTriggerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlansPlanRemoteRegionPolicyInput)(nil)).Elem(), GetIsBackupPolicyPlansPlanRemoteRegionPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayInput)(nil)).Elem(), GetIsBackupPolicyPlansPlanRemoteRegionPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyResourceGroupInput)(nil)).Elem(), GetIsBackupPolicyResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyResourceGroupArrayInput)(nil)).Elem(), GetIsBackupPolicyResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyScopeInput)(nil)).Elem(), GetIsBackupPolicyScopeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBackupPolicyScopeArrayInput)(nil)).Elem(), GetIsBackupPolicyScopeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerCpusInput)(nil)).Elem(), GetIsBareMetalServerCpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerCpusArrayInput)(nil)).Elem(), GetIsBareMetalServerCpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerDiskTypeInput)(nil)).Elem(), GetIsBareMetalServerDiskTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerDiskTypeArrayInput)(nil)).Elem(), GetIsBareMetalServerDiskTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerDiskAllowedUseInput)(nil)).Elem(), GetIsBareMetalServerDiskAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerDiskAllowedUseArrayInput)(nil)).Elem(), GetIsBareMetalServerDiskAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerDisksDiskInput)(nil)).Elem(), GetIsBareMetalServerDisksDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerDisksDiskArrayInput)(nil)).Elem(), GetIsBareMetalServerDisksDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerDisksDiskAllowedUseInput)(nil)).Elem(), GetIsBareMetalServerDisksDiskAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerDisksDiskAllowedUseArrayInput)(nil)).Elem(), GetIsBareMetalServerDisksDiskAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerHealthReasonInput)(nil)).Elem(), GetIsBareMetalServerHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerHealthReasonArrayInput)(nil)).Elem(), GetIsBareMetalServerHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerInitializationDefaultTrustedProfileInput)(nil)).Elem(), GetIsBareMetalServerInitializationDefaultTrustedProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerInitializationDefaultTrustedProfileArrayInput)(nil)).Elem(), GetIsBareMetalServerInitializationDefaultTrustedProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerInitializationDefaultTrustedProfileTargetInput)(nil)).Elem(), GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayInput)(nil)).Elem(), GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerInitializationUserAccountInput)(nil)).Elem(), GetIsBareMetalServerInitializationUserAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerInitializationUserAccountArrayInput)(nil)).Elem(), GetIsBareMetalServerInitializationUserAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerMetadataServiceInput)(nil)).Elem(), GetIsBareMetalServerMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerMetadataServiceArrayInput)(nil)).Elem(), GetIsBareMetalServerMetadataServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentTypeInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentTypeArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentDeletedInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceTypeInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceTypeArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpTypeInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentDeletedInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileBandwidthInput)(nil)).Elem(), GetIsBareMetalServerProfileBandwidthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileBandwidthArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileBandwidthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileConsoleTypeInput)(nil)).Elem(), GetIsBareMetalServerProfileConsoleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileConsoleTypeArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileConsoleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileCpuArchitectureInput)(nil)).Elem(), GetIsBareMetalServerProfileCpuArchitectureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileCpuArchitectureArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileCpuArchitectureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileCpuCoreCountInput)(nil)).Elem(), GetIsBareMetalServerProfileCpuCoreCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileCpuCoreCountArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileCpuCoreCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileCpuSocketCountInput)(nil)).Elem(), GetIsBareMetalServerProfileCpuSocketCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileCpuSocketCountArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileCpuSocketCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileDiskInput)(nil)).Elem(), GetIsBareMetalServerProfileDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileDiskArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileDiskQuantityInput)(nil)).Elem(), GetIsBareMetalServerProfileDiskQuantityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileDiskQuantityArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileDiskQuantityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileDiskSizeInput)(nil)).Elem(), GetIsBareMetalServerProfileDiskSizeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileDiskSizeArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileDiskSizeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileDiskSupportedInterfaceTypeInput)(nil)).Elem(), GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileMemoryInput)(nil)).Elem(), GetIsBareMetalServerProfileMemoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileMemoryArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileMemoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileNetworkAttachmentCountInput)(nil)).Elem(), GetIsBareMetalServerProfileNetworkAttachmentCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileNetworkAttachmentCountArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileNetworkAttachmentCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileNetworkInterfaceCountInput)(nil)).Elem(), GetIsBareMetalServerProfileNetworkInterfaceCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileNetworkInterfaceCountArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileNetworkInterfaceCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileOsArchitectureInput)(nil)).Elem(), GetIsBareMetalServerProfileOsArchitectureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileOsArchitectureArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileOsArchitectureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileReservationTermInput)(nil)).Elem(), GetIsBareMetalServerProfileReservationTermArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileReservationTermArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileReservationTermArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeInput)(nil)).Elem(), GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedInput)(nil)).Elem(), GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayInput)(nil)).Elem(), GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileBandwidthInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileBandwidthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileBandwidthArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileBandwidthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileConsoleTypeInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileConsoleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileConsoleTypeArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileConsoleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuArchitectureInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileCpuArchitectureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuArchitectureArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileCpuArchitectureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuCoreCountInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileCpuCoreCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuCoreCountArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileCpuCoreCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuSocketCountInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileCpuSocketCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileCpuSocketCountArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileCpuSocketCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskQuantityInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileDiskQuantityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskQuantityArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileDiskQuantityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskSizeInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileDiskSizeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskSizeArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileDiskSizeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileMemoryInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileMemoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileMemoryArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileMemoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileNetworkAttachmentCountInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileNetworkInterfaceCountInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileOsArchitectureInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileOsArchitectureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileOsArchitectureArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileOsArchitectureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayInput)(nil)).Elem(), GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationInput)(nil)).Elem(), GetIsBareMetalServerReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationArrayInput)(nil)).Elem(), GetIsBareMetalServerReservationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationAffinityInput)(nil)).Elem(), GetIsBareMetalServerReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationAffinityArrayInput)(nil)).Elem(), GetIsBareMetalServerReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationAffinityPoolInput)(nil)).Elem(), GetIsBareMetalServerReservationAffinityPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationAffinityPoolArrayInput)(nil)).Elem(), GetIsBareMetalServerReservationAffinityPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationAffinityPoolDeletedInput)(nil)).Elem(), GetIsBareMetalServerReservationAffinityPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationAffinityPoolDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerReservationAffinityPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationDeletedInput)(nil)).Elem(), GetIsBareMetalServerReservationDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerReservationDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServerReservationDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerStatusReasonInput)(nil)).Elem(), GetIsBareMetalServerStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerStatusReasonArrayInput)(nil)).Elem(), GetIsBareMetalServerStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerTrustedPlatformModuleInput)(nil)).Elem(), GetIsBareMetalServerTrustedPlatformModuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServerTrustedPlatformModuleArrayInput)(nil)).Elem(), GetIsBareMetalServerTrustedPlatformModuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerInput)(nil)).Elem(), GetIsBareMetalServersServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerArrayInput)(nil)).Elem(), GetIsBareMetalServersServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerCpusInput)(nil)).Elem(), GetIsBareMetalServersServerCpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerCpusArrayInput)(nil)).Elem(), GetIsBareMetalServersServerCpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerDiskInput)(nil)).Elem(), GetIsBareMetalServersServerDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerDiskArrayInput)(nil)).Elem(), GetIsBareMetalServersServerDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerDiskAllowedUseInput)(nil)).Elem(), GetIsBareMetalServersServerDiskAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerDiskAllowedUseArrayInput)(nil)).Elem(), GetIsBareMetalServersServerDiskAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerHealthReasonInput)(nil)).Elem(), GetIsBareMetalServersServerHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerHealthReasonArrayInput)(nil)).Elem(), GetIsBareMetalServersServerHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerMetadataServiceInput)(nil)).Elem(), GetIsBareMetalServersServerMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerMetadataServiceArrayInput)(nil)).Elem(), GetIsBareMetalServersServerMetadataServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentDeletedInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServersServerNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkInterfaceInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationInput)(nil)).Elem(), GetIsBareMetalServersServerReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationArrayInput)(nil)).Elem(), GetIsBareMetalServersServerReservationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityInput)(nil)).Elem(), GetIsBareMetalServersServerReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityArrayInput)(nil)).Elem(), GetIsBareMetalServersServerReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityPoolInput)(nil)).Elem(), GetIsBareMetalServersServerReservationAffinityPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityPoolArrayInput)(nil)).Elem(), GetIsBareMetalServersServerReservationAffinityPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityPoolDeletedInput)(nil)).Elem(), GetIsBareMetalServersServerReservationAffinityPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServersServerReservationAffinityPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationDeletedInput)(nil)).Elem(), GetIsBareMetalServersServerReservationDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerReservationDeletedArrayInput)(nil)).Elem(), GetIsBareMetalServersServerReservationDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerStatusReasonInput)(nil)).Elem(), GetIsBareMetalServersServerStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerStatusReasonArrayInput)(nil)).Elem(), GetIsBareMetalServersServerStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerTrustedPlatformModuleInput)(nil)).Elem(), GetIsBareMetalServersServerTrustedPlatformModuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsBareMetalServersServerTrustedPlatformModuleArrayInput)(nil)).Elem(), GetIsBareMetalServersServerTrustedPlatformModuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceLifecycleReasonInput)(nil)).Elem(), GetIsClusterNetworkInterfaceLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceLifecycleReasonArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfaceLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), GetIsClusterNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), GetIsClusterNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceTargetInput)(nil)).Elem(), GetIsClusterNetworkInterfaceTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceTargetArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfaceTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceVpcInput)(nil)).Elem(), GetIsClusterNetworkInterfaceVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceVpcArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfaceVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceVpcDeletedInput)(nil)).Elem(), GetIsClusterNetworkInterfaceVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceVpcDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfaceVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceZoneInput)(nil)).Elem(), GetIsClusterNetworkInterfaceZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfaceZoneArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfaceZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceLifecycleReasonInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfacePrimaryIpInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceSubnetInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceSubnetArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceSubnetDeletedInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceTargetInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceTargetArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceVpcInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceVpcArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceVpcDeletedInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceZoneInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkInterfacesInterfaceZoneArrayInput)(nil)).Elem(), GetIsClusterNetworkInterfacesInterfaceZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkLifecycleReasonInput)(nil)).Elem(), GetIsClusterNetworkLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkLifecycleReasonArrayInput)(nil)).Elem(), GetIsClusterNetworkLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfileInput)(nil)).Elem(), GetIsClusterNetworkProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfileArrayInput)(nil)).Elem(), GetIsClusterNetworkProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfileSupportedInstanceProfileInput)(nil)).Elem(), GetIsClusterNetworkProfileSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfileSupportedInstanceProfileArrayInput)(nil)).Elem(), GetIsClusterNetworkProfileSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfileZoneInput)(nil)).Elem(), GetIsClusterNetworkProfileZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfileZoneArrayInput)(nil)).Elem(), GetIsClusterNetworkProfileZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfilesProfileInput)(nil)).Elem(), GetIsClusterNetworkProfilesProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfilesProfileArrayInput)(nil)).Elem(), GetIsClusterNetworkProfilesProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfilesProfileSupportedInstanceProfileInput)(nil)).Elem(), GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayInput)(nil)).Elem(), GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfilesProfileZoneInput)(nil)).Elem(), GetIsClusterNetworkProfilesProfileZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkProfilesProfileZoneArrayInput)(nil)).Elem(), GetIsClusterNetworkProfilesProfileZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkResourceGroupInput)(nil)).Elem(), GetIsClusterNetworkResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkResourceGroupArrayInput)(nil)).Elem(), GetIsClusterNetworkResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetLifecycleReasonInput)(nil)).Elem(), GetIsClusterNetworkSubnetLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetLifecycleReasonArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetPrefixInput)(nil)).Elem(), GetIsClusterNetworkSubnetPrefixArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetPrefixArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetPrefixArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpLifecycleReasonInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpTargetInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpTargetArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpTargetDeletedInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpsReservedIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpsReservedIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpTargetInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetsSubnetInput)(nil)).Elem(), GetIsClusterNetworkSubnetsSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetsSubnetArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetsSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetsSubnetLifecycleReasonInput)(nil)).Elem(), GetIsClusterNetworkSubnetsSubnetLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayInput)(nil)).Elem(), GetIsClusterNetworkSubnetsSubnetLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkVpcInput)(nil)).Elem(), GetIsClusterNetworkVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkVpcArrayInput)(nil)).Elem(), GetIsClusterNetworkVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkVpcDeletedInput)(nil)).Elem(), GetIsClusterNetworkVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkVpcDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworkVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkZoneInput)(nil)).Elem(), GetIsClusterNetworkZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworkZoneArrayInput)(nil)).Elem(), GetIsClusterNetworkZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkArrayInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkLifecycleReasonInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkLifecycleReasonArrayInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkProfileInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkProfileArrayInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkResourceGroupInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkResourceGroupArrayInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkSubnetPrefixInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkSubnetPrefixArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkSubnetPrefixArrayInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkSubnetPrefixArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkVpcInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkVpcArrayInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkVpcDeletedInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkVpcDeletedArrayInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkZoneInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsClusterNetworksClusterNetworkZoneArrayInput)(nil)).Elem(), GetIsClusterNetworksClusterNetworkZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostAvailableVcpusInput)(nil)).Elem(), GetIsDedicatedHostAvailableVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostAvailableVcpusArrayInput)(nil)).Elem(), GetIsDedicatedHostAvailableVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDiskInput)(nil)).Elem(), GetIsDedicatedHostDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDiskArrayInput)(nil)).Elem(), GetIsDedicatedHostDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDiskInstanceDiskInput)(nil)).Elem(), GetIsDedicatedHostDiskInstanceDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDiskInstanceDiskArrayInput)(nil)).Elem(), GetIsDedicatedHostDiskInstanceDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDiskInstanceDiskDeletedInput)(nil)).Elem(), GetIsDedicatedHostDiskInstanceDiskDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDiskInstanceDiskDeletedArrayInput)(nil)).Elem(), GetIsDedicatedHostDiskInstanceDiskDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDisksDiskInput)(nil)).Elem(), GetIsDedicatedHostDisksDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDisksDiskArrayInput)(nil)).Elem(), GetIsDedicatedHostDisksDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDisksDiskInstanceDiskInput)(nil)).Elem(), GetIsDedicatedHostDisksDiskInstanceDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDisksDiskInstanceDiskArrayInput)(nil)).Elem(), GetIsDedicatedHostDisksDiskInstanceDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDisksDiskInstanceDiskDeletedInput)(nil)).Elem(), GetIsDedicatedHostDisksDiskInstanceDiskDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayInput)(nil)).Elem(), GetIsDedicatedHostDisksDiskInstanceDiskDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupDedicatedHostInput)(nil)).Elem(), GetIsDedicatedHostGroupDedicatedHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupDedicatedHostArrayInput)(nil)).Elem(), GetIsDedicatedHostGroupDedicatedHostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupDedicatedHostDeletedInput)(nil)).Elem(), GetIsDedicatedHostGroupDedicatedHostDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupDedicatedHostDeletedArrayInput)(nil)).Elem(), GetIsDedicatedHostGroupDedicatedHostDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupSupportedInstanceProfileInput)(nil)).Elem(), GetIsDedicatedHostGroupSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupSupportedInstanceProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostGroupSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupInput)(nil)).Elem(), GetIsDedicatedHostGroupsHostGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupArrayInput)(nil)).Elem(), GetIsDedicatedHostGroupsHostGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupDedicatedHostInput)(nil)).Elem(), GetIsDedicatedHostGroupsHostGroupDedicatedHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayInput)(nil)).Elem(), GetIsDedicatedHostGroupsHostGroupDedicatedHostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedInput)(nil)).Elem(), GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayInput)(nil)).Elem(), GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileInput)(nil)).Elem(), GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostInstanceInput)(nil)).Elem(), GetIsDedicatedHostInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostInstanceArrayInput)(nil)).Elem(), GetIsDedicatedHostInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostInstanceDeletedInput)(nil)).Elem(), GetIsDedicatedHostInstanceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostInstanceDeletedArrayInput)(nil)).Elem(), GetIsDedicatedHostInstanceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostNumaInput)(nil)).Elem(), GetIsDedicatedHostNumaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostNumaArrayInput)(nil)).Elem(), GetIsDedicatedHostNumaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostNumaNodeInput)(nil)).Elem(), GetIsDedicatedHostNumaNodeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostNumaNodeArrayInput)(nil)).Elem(), GetIsDedicatedHostNumaNodeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileInput)(nil)).Elem(), GetIsDedicatedHostProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskInterfaceTypeInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskInterfaceTypeArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskQuantityInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskQuantityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskQuantityArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskQuantityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskSizeInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskSizeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskSizeArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskSizeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileMemoryInput)(nil)).Elem(), GetIsDedicatedHostProfileMemoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileMemoryArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileMemoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileSocketCountInput)(nil)).Elem(), GetIsDedicatedHostProfileSocketCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileSocketCountArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileSocketCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileSupportedInstanceProfileInput)(nil)).Elem(), GetIsDedicatedHostProfileSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileSupportedInstanceProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileVcpuArchitectureInput)(nil)).Elem(), GetIsDedicatedHostProfileVcpuArchitectureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileVcpuArchitectureArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileVcpuArchitectureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileVcpuCountInput)(nil)).Elem(), GetIsDedicatedHostProfileVcpuCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileVcpuCountArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileVcpuCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileVcpuManufacturerInput)(nil)).Elem(), GetIsDedicatedHostProfileVcpuManufacturerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfileVcpuManufacturerArrayInput)(nil)).Elem(), GetIsDedicatedHostProfileVcpuManufacturerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskInterfaceTypeInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskQuantityInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskQuantityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskQuantityArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskQuantityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskSizeInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskSizeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskSizeArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskSizeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileMemoryInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileMemoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileMemoryArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileMemoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileSocketCountInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileSocketCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileSocketCountArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileSocketCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileSupportedInstanceProfileInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuArchitectureInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileVcpuArchitectureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileVcpuArchitectureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuCountInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileVcpuCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuCountArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileVcpuCountArray{}) + pulumi.RegisterOutputType(PiHostGroupPiHostOutput{}) + pulumi.RegisterOutputType(PiHostGroupPiHostArrayOutput{}) + pulumi.RegisterOutputType(PiHostGroupPiSecondaryOutput{}) + pulumi.RegisterOutputType(PiHostGroupPiSecondaryArrayOutput{}) + pulumi.RegisterOutputType(PiHostPiHostOutput{}) + pulumi.RegisterOutputType(PiHostPiHostPtrOutput{}) + pulumi.RegisterOutputType(PiImagePiImageImportDetailsOutput{}) + pulumi.RegisterOutputType(PiImagePiImageImportDetailsPtrOutput{}) + pulumi.RegisterOutputType(PiInstancePiDeploymentTargetOutput{}) + pulumi.RegisterOutputType(PiInstancePiDeploymentTargetPtrOutput{}) + pulumi.RegisterOutputType(PiInstancePiNetworkOutput{}) + pulumi.RegisterOutputType(PiInstancePiNetworkArrayOutput{}) + pulumi.RegisterOutputType(PiInstancePiVirtualSerialNumberOutput{}) + pulumi.RegisterOutputType(PiInstancePiVirtualSerialNumberPtrOutput{}) + pulumi.RegisterOutputType(PiNetworkAddressGroupMemberTypeOutput{}) + pulumi.RegisterOutputType(PiNetworkAddressGroupMemberTypeArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkAddressGroupMemberMemberOutput{}) + pulumi.RegisterOutputType(PiNetworkAddressGroupMemberMemberArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkInterfaceInstanceOutput{}) + pulumi.RegisterOutputType(PiNetworkInterfaceInstanceArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkNetworkAddressTranslationOutput{}) + pulumi.RegisterOutputType(PiNetworkNetworkAddressTranslationArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkPeerExportRouteFilterOutput{}) + pulumi.RegisterOutputType(PiNetworkPeerExportRouteFilterArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkPeerImportRouteFilterOutput{}) + pulumi.RegisterOutputType(PiNetworkPeerImportRouteFilterArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkPiIpaddressRangeOutput{}) + pulumi.RegisterOutputType(PiNetworkPiIpaddressRangeArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkPiNetworkPeerOutput{}) + pulumi.RegisterOutputType(PiNetworkPiNetworkPeerPtrOutput{}) + pulumi.RegisterOutputType(PiNetworkPiNetworkPeerNetworkAddressTranslationOutput{}) + pulumi.RegisterOutputType(PiNetworkPiNetworkPeerNetworkAddressTranslationPtrOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberTypeOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberTypeArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberMemberOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberMemberArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleDestinationPortOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleDestinationPortArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleProtocolOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleProtocolArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleProtocolTcpFlagOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleProtocolTcpFlagArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleRemoteOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleRemoteArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleSourcePortOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupMemberRuleSourcePortArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleTypeOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleDestinationPortOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleDestinationPortArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleMemberOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleMemberArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiDestinationPortOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiDestinationPortPtrOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiDestinationPortsOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiDestinationPortsPtrOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiProtocolOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiProtocolPtrOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiProtocolTcpFlagOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiProtocolTcpFlagArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiRemoteOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiRemotePtrOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiSourcePortOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiSourcePortPtrOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiSourcePortsOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRulePiSourcePortsPtrOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleProtocolOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleProtocolArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleProtocolTcpFlagOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRemoteOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRemoteArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleDestinationPortOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleDestinationPortArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleProtocolOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleProtocolArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleProtocolTcpFlagOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleProtocolTcpFlagArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleRemoteOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleRemoteArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleSourcePortOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleRuleSourcePortArrayOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleSourcePortOutput{}) + pulumi.RegisterOutputType(PiNetworkSecurityGroupRuleSourcePortArrayOutput{}) + pulumi.RegisterOutputType(PiSharedProcessorPoolInstanceOutput{}) + pulumi.RegisterOutputType(PiSharedProcessorPoolInstanceArrayOutput{}) + pulumi.RegisterOutputType(PiVolumeCloneCloneVolumeOutput{}) + pulumi.RegisterOutputType(PiVolumeCloneCloneVolumeArrayOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupActionPiVolumeGroupActionOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupActionPiVolumeGroupActionPtrOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupActionPiVolumeGroupActionResetOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupActionPiVolumeGroupActionResetPtrOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupActionPiVolumeGroupActionStartOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupActionPiVolumeGroupActionStartPtrOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupActionPiVolumeGroupActionStopOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupActionPiVolumeGroupActionStopPtrOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupStatusDescriptionErrorOutput{}) + pulumi.RegisterOutputType(PiVolumeGroupStatusDescriptionErrorArrayOutput{}) + pulumi.RegisterOutputType(PiVolumeOnboardingPiOnboardingVolumeOutput{}) + pulumi.RegisterOutputType(PiVolumeOnboardingPiOnboardingVolumeArrayOutput{}) + pulumi.RegisterOutputType(PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeOutput{}) + pulumi.RegisterOutputType(PiVolumeOnboardingPiOnboardingVolumePiAuxiliaryVolumeArrayOutput{}) + pulumi.RegisterOutputType(PiVolumeOnboardingResultsVolumeOnboardingFailureOutput{}) + pulumi.RegisterOutputType(PiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput{}) + pulumi.RegisterOutputType(ResourceInstancePlanHistoryOutput{}) + pulumi.RegisterOutputType(ResourceInstancePlanHistoryArrayOutput{}) + pulumi.RegisterOutputType(TgConnectionTunnelOutput{}) + pulumi.RegisterOutputType(TgConnectionTunnelArrayOutput{}) + pulumi.RegisterOutputType(TgRouteReportConnectionOutput{}) + pulumi.RegisterOutputType(TgRouteReportConnectionArrayOutput{}) + pulumi.RegisterOutputType(TgRouteReportConnectionBgpOutput{}) + pulumi.RegisterOutputType(TgRouteReportConnectionBgpArrayOutput{}) + pulumi.RegisterOutputType(TgRouteReportConnectionRouteOutput{}) + pulumi.RegisterOutputType(TgRouteReportConnectionRouteArrayOutput{}) + pulumi.RegisterOutputType(TgRouteReportOverlappingRouteOutput{}) + pulumi.RegisterOutputType(TgRouteReportOverlappingRouteArrayOutput{}) + pulumi.RegisterOutputType(TgRouteReportOverlappingRouteRouteOutput{}) + pulumi.RegisterOutputType(TgRouteReportOverlappingRouteRouteArrayOutput{}) + pulumi.RegisterOutputType(GetComputePlacementGroupVirtualGuestOutput{}) + pulumi.RegisterOutputType(GetComputePlacementGroupVirtualGuestArrayOutput{}) + pulumi.RegisterOutputType(GetComputeReservedCapacityVirtualGuestOutput{}) + pulumi.RegisterOutputType(GetComputeReservedCapacityVirtualGuestArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketAbortIncompleteMultipartUploadDayOutput{}) + pulumi.RegisterOutputType(GetCosBucketAbortIncompleteMultipartUploadDayArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketActivityTrackingOutput{}) + pulumi.RegisterOutputType(GetCosBucketActivityTrackingArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketArchiveRuleOutput{}) + pulumi.RegisterOutputType(GetCosBucketArchiveRuleArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketExpireRuleOutput{}) + pulumi.RegisterOutputType(GetCosBucketExpireRuleArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleAbortIncompleteMultipartUploadArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleExpirationOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleExpirationArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleFilterOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleFilterArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleFilterAndOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleFilterAndArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleFilterAndTagOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleFilterAndTagArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleFilterTagOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleFilterTagArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleNoncurrentVersionExpirationOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleNoncurrentVersionExpirationArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleTransitionOutput{}) + pulumi.RegisterOutputType(GetCosBucketLifecycleRuleTransitionArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketMetricsMonitoringOutput{}) + pulumi.RegisterOutputType(GetCosBucketMetricsMonitoringArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketNoncurrentVersionExpirationOutput{}) + pulumi.RegisterOutputType(GetCosBucketNoncurrentVersionExpirationArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketObjectLockConfigurationTypeOutput{}) + pulumi.RegisterOutputType(GetCosBucketObjectLockConfigurationTypeArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketObjectLockConfigurationObjectLockRuleOutput{}) + pulumi.RegisterOutputType(GetCosBucketObjectLockConfigurationObjectLockRuleArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionOutput{}) + pulumi.RegisterOutputType(GetCosBucketObjectLockConfigurationObjectLockRuleDefaultRetentionArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketObjectVersioningOutput{}) + pulumi.RegisterOutputType(GetCosBucketObjectVersioningArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketReplicationRuleTypeOutput{}) + pulumi.RegisterOutputType(GetCosBucketReplicationRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketRetentionRuleOutput{}) + pulumi.RegisterOutputType(GetCosBucketRetentionRuleArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationTypeOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationTypeArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationErrorDocumentOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationErrorDocumentArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationIndexDocumentOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationIndexDocumentArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationRedirectAllRequestsToOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationRedirectAllRequestsToArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationRoutingRuleOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationRoutingRuleArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationRoutingRuleConditionOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationRoutingRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationRoutingRuleRedirectOutput{}) + pulumi.RegisterOutputType(GetCosBucketWebsiteConfigurationRoutingRuleRedirectArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupGroupOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupGroupRuleOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupGroupRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupGroupRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupGroupRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyResourceOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyResourceTagOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyTemplateOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupPolicyPolicyTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateAssignmentAssignmentOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateAssignmentAssignmentArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateAssignmentFirstOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateAssignmentFirstArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateAssignmentLastOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateAssignmentLastArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsFirstOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsFirstArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupActionControlAccessArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionActionControlArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleActionControlArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupAssertionRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionGroupMemberActionControlArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsGroupTemplateVersionPolicyTemplateReferenceArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsLastOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsLastArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsPreviouseOutput{}) + pulumi.RegisterOutputType(GetIamAccessGroupTemplateVersionsPreviouseArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeServiceIdArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsExternalInteractionExternalAccountIdentityInteractionIdentityTypeUserArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsHistoryOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsHistoryArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsRestrictUserDomainOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsRestrictUserDomainArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAccountSettingOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAccountSettingArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAccountSettingRestrictUserDomainRestrictionArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAccountSettingUserMfaOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAccountSettingUserMfaArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentContextOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentContextArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentHistoryOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentHistoryArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentResourceOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateAssignmentResourceAccountSettingResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateHistoryOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsTemplateHistoryArrayOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsUserMfaOutput{}) + pulumi.RegisterOutputType(GetIamAccountSettingsUserMfaArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlErrorMessageOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlResourceCreatedOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceActionControlResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceTargetOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentResourceTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentTargetOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentTemplateOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlErrorMessageErrorDetailConflictsWithArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceActionControlResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceTargetOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentResourceTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentTargetOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentTemplateOutput{}) + pulumi.RegisterOutputType(GetIamActionControlAssignmentsAssignmentTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlTemplateActionControlTemplateOutput{}) + pulumi.RegisterOutputType(GetIamActionControlTemplateActionControlTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlTemplateActionControlTemplateActionControlOutput{}) + pulumi.RegisterOutputType(GetIamActionControlTemplateActionControlTemplateActionControlArrayOutput{}) + pulumi.RegisterOutputType(GetIamActionControlTemplateVersionActionControlOutput{}) + pulumi.RegisterOutputType(GetIamActionControlTemplateVersionActionControlArrayOutput{}) + pulumi.RegisterOutputType(GetIamAuthorizationPoliciesPolicyOutput{}) + pulumi.RegisterOutputType(GetIamAuthorizationPoliciesPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAccountOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAccountHistoryOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAccountHistoryArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAccountRestrictUserDomainOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAccountRestrictUserDomainArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAccountUserMfaOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAccountUserMfaArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAssignedTemplateOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAssignedTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAssignedTemplateRestrictUserDomainRestrictionArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAssignedTemplateUserMfaOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsAssignedTemplateUserMfaArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsEffectiveOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsEffectiveArrayOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsEffectiveUserMfaOutput{}) + pulumi.RegisterOutputType(GetIamEffectiveAccountSettingsEffectiveUserMfaArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourceOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyErrorMessageOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyResourceCreatedOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentResourcePolicyResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourceOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyErrorMessageErrorDetailConflictsWithArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedOutput{}) + pulumi.RegisterOutputType(GetIamPolicyAssignmentsAssignmentResourcePolicyResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplateOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyResourceOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyResourceTagOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplatePolicyTemplatePolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyResourceOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyResourceAttributeOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyResourceAttributeArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyResourceTagOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(GetIamPolicyTemplateVersionPolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamRolesRoleOutput{}) + pulumi.RegisterOutputType(GetIamRolesRoleArrayOutput{}) + pulumi.RegisterOutputType(GetIamServiceIdServiceIdOutput{}) + pulumi.RegisterOutputType(GetIamServiceIdServiceIdArrayOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyResourceOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyResourceTagOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(GetIamServicePolicyPolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileClaimRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileClaimRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileClaimRulesRuleOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileClaimRulesRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileClaimRulesRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileClaimRulesRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileHistoryOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileHistoryArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileIdentitiesIdentityOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileIdentitiesIdentityArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileLinkLinkOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileLinkLinkArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileLinksLinkOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileLinksLinkArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileLinksLinkLinkOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileLinksLinkLinkArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyResourceOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyResourceTagOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyTemplateOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilePolicyPolicyTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentContextOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentContextArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentHistoryOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentHistoryArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourceOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourcePolicyTemplateReferenceResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourceProfileOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourceProfileErrorMessageArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateAssignmentResourceProfileResourceCreatedArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateHistoryOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateHistoryArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplatePolicyTemplateReferenceOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplatePolicyTemplateReferenceArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateProfileOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateProfileIdentityOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateProfileIdentityArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateProfileRuleOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateProfileRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateProfileRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfileTemplateProfileRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilesProfileOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilesProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilesProfileHistoryOutput{}) + pulumi.RegisterOutputType(GetIamTrustedProfilesProfileHistoryArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsAccountBasedMfaOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsAccountBasedMfaArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsAccountBasedMfaSecurityQuestionArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsAccountBasedMfaTotpOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsAccountBasedMfaTotpArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsAccountBasedMfaVerisignOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsAccountBasedMfaVerisignArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsIdBasedMfaOutput{}) + pulumi.RegisterOutputType(GetIamUserMfaEnrollmentsIdBasedMfaArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyResourceOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyResourceTagOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyResourceTagArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyRuleConditionOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyRuleConditionConditionOutput{}) + pulumi.RegisterOutputType(GetIamUserPolicyPolicyRuleConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(GetIamUsersUserOutput{}) + pulumi.RegisterOutputType(GetIamUsersUserArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyScopeOutput{}) + pulumi.RegisterOutputType(GetIsBackupPoliciesBackupPolicyScopeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobBackupPolicyPlanRemoteOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobBackupPolicyPlanRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceInstanceOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceInstanceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceInstanceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceShareOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceShareDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceVolumeOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceVolumeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceVolumeDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceVolumeDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceVolumeRemoteOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobSourceVolumeRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotRemoteOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobTargetSnapshotRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobBackupPolicyPlanRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceInstanceOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceInstanceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceInstanceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceShareOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceShareDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceVolumeOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceVolumeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceVolumeDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceVolumeDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceVolumeRemoteOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobSourceVolumeRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotRemoteOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyJobsJobTargetSnapshotRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanTypeOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanClonePolicyOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanClonePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanDeletionTriggerOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanDeletionTriggerArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanRemoteRegionPolicyOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlanRemoteRegionPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlansPlanOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlansPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlansPlanClonePolicyOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlansPlanClonePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlansPlanDeletionTriggerOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlansPlanDeletionTriggerArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlansPlanRemoteRegionPolicyOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyPlansPlanRemoteRegionPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyScopeOutput{}) + pulumi.RegisterOutputType(GetIsBackupPolicyScopeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerCpusOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerCpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerDiskTypeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerDiskTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerDiskAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerDiskAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerDisksDiskOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerDisksDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerDisksDiskAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerDisksDiskAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerInitializationDefaultTrustedProfileOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerInitializationDefaultTrustedProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerInitializationDefaultTrustedProfileTargetOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerInitializationDefaultTrustedProfileTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerInitializationUserAccountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerInitializationUserAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerMetadataServiceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerMetadataServiceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentTypeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceFloatingIpTypeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceFloatingIpTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceFloatingIpsFloatingIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfaceReservedIpsReservedIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerPrimaryNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileBandwidthOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileBandwidthArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileConsoleTypeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileConsoleTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileCpuArchitectureOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileCpuArchitectureArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileCpuCoreCountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileCpuCoreCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileCpuSocketCountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileCpuSocketCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileDiskOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileDiskQuantityOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileDiskQuantityArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileDiskSizeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileDiskSizeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileDiskSupportedInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileDiskSupportedInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileMemoryOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileMemoryArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileNetworkAttachmentCountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileNetworkAttachmentCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileNetworkInterfaceCountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileNetworkInterfaceCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileOsArchitectureOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileOsArchitectureArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileReservationTermOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileReservationTermArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileSupportedTrustedPlatformModuleModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfileVirtualNetworkInterfacesSupportedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileBandwidthOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileBandwidthArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileConsoleTypeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileConsoleTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileCpuArchitectureOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileCpuArchitectureArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileCpuCoreCountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileCpuCoreCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileCpuSocketCountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileCpuSocketCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileDiskOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileDiskQuantityOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileDiskQuantityArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileDiskSizeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileDiskSizeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileDiskSupportedInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileMemoryOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileMemoryArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileNetworkAttachmentCountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileNetworkAttachmentCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileNetworkInterfaceCountOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileNetworkInterfaceCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileOsArchitectureOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileOsArchitectureArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileSupportedTrustedPlatformModuleModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerProfilesProfileVirtualNetworkInterfacesSupportedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationAffinityOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationAffinityPoolOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationAffinityPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationAffinityPoolDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationAffinityPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerReservationDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerTrustedPlatformModuleOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServerTrustedPlatformModuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerCpusOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerCpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerDiskOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerDiskAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerDiskAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerMetadataServiceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerMetadataServiceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerPrimaryNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationAffinityOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationAffinityPoolOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationAffinityPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationAffinityPoolDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationAffinityPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationDeletedOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerReservationDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerTrustedPlatformModuleOutput{}) + pulumi.RegisterOutputType(GetIsBareMetalServersServerTrustedPlatformModuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceTargetOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceVpcOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceZoneOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfaceZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceTargetOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceVpcOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceZoneOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkInterfacesInterfaceZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfileOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfileSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfileSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfileZoneOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfileZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfilesProfileOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfilesProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfilesProfileSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfilesProfileSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfilesProfileZoneOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkProfilesProfileZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetPrefixOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetPrefixArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpTargetOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsReservedIpOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsReservedIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsReservedIpLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetReservedIpsReservedIpTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetsSubnetOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetsSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetsSubnetLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkSubnetsSubnetLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkVpcOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkZoneOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworkZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkProfileOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkSubnetPrefixOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkSubnetPrefixArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkVpcOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkZoneOutput{}) + pulumi.RegisterOutputType(GetIsClusterNetworksClusterNetworkZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostAvailableVcpusOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostAvailableVcpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDiskOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDiskInstanceDiskOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDiskInstanceDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDiskInstanceDiskDeletedOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDiskInstanceDiskDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDisksDiskOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDisksDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDisksDiskInstanceDiskOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDisksDiskInstanceDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDisksDiskInstanceDiskDeletedOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostDisksDiskInstanceDiskDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupDedicatedHostOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupDedicatedHostArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupDedicatedHostDeletedOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupDedicatedHostDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsHostGroupOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsHostGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsHostGroupDedicatedHostOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsHostGroupDedicatedHostArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsHostGroupDedicatedHostDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostGroupsHostGroupSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostInstanceOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostInstanceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostInstanceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostNumaOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostNumaArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostNumaNodeOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostNumaNodeArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskQuantityOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskQuantityArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskSizeOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskSizeArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileDiskSupportedInstanceInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileMemoryOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileMemoryArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileSocketCountOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileSocketCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileVcpuArchitectureOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileVcpuArchitectureArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileVcpuCountOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileVcpuCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileVcpuManufacturerOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfileVcpuManufacturerArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskQuantityOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskQuantityArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskSizeOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskSizeArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileDiskSupportedInstanceInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileMemoryOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileMemoryArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileSocketCountOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileSocketCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileVcpuArchitectureOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileVcpuArchitectureArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileVcpuCountOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileVcpuCountArrayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes2.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes2.go new file mode 100644 index 000000000..c4aad737f --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes2.go @@ -0,0 +1,66213 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type GetIsDedicatedHostProfilesProfileVcpuManufacturer struct { + // The type for this profile field. + Type string `pulumi:"type"` + // TThe VCPU manufacturer for a dedicated host with this profile. + Value string `pulumi:"value"` +} + +// GetIsDedicatedHostProfilesProfileVcpuManufacturerInput is an input type that accepts GetIsDedicatedHostProfilesProfileVcpuManufacturerArgs and GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileVcpuManufacturerInput` via: +// +// GetIsDedicatedHostProfilesProfileVcpuManufacturerArgs{...} +type GetIsDedicatedHostProfilesProfileVcpuManufacturerInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileVcpuManufacturerOutput() GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput + ToGetIsDedicatedHostProfilesProfileVcpuManufacturerOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput +} + +type GetIsDedicatedHostProfilesProfileVcpuManufacturerArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // TThe VCPU manufacturer for a dedicated host with this profile. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsDedicatedHostProfilesProfileVcpuManufacturerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuManufacturer)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileVcpuManufacturerArgs) ToGetIsDedicatedHostProfilesProfileVcpuManufacturerOutput() GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput { + return i.ToGetIsDedicatedHostProfilesProfileVcpuManufacturerOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileVcpuManufacturerArgs) ToGetIsDedicatedHostProfilesProfileVcpuManufacturerOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput) +} + +// GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayInput is an input type that accepts GetIsDedicatedHostProfilesProfileVcpuManufacturerArray and GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayInput` via: +// +// GetIsDedicatedHostProfilesProfileVcpuManufacturerArray{ GetIsDedicatedHostProfilesProfileVcpuManufacturerArgs{...} } +type GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput() GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput + ToGetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutputWithContext(context.Context) GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput +} + +type GetIsDedicatedHostProfilesProfileVcpuManufacturerArray []GetIsDedicatedHostProfilesProfileVcpuManufacturerInput + +func (GetIsDedicatedHostProfilesProfileVcpuManufacturerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileVcpuManufacturer)(nil)).Elem() +} + +func (i GetIsDedicatedHostProfilesProfileVcpuManufacturerArray) ToGetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput() GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput { + return i.ToGetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostProfilesProfileVcpuManufacturerArray) ToGetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput) +} + +type GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuManufacturer)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput) ToGetIsDedicatedHostProfilesProfileVcpuManufacturerOutput() GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput) ToGetIsDedicatedHostProfilesProfileVcpuManufacturerOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput { + return o +} + +// The type for this profile field. +func (o GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuManufacturer) string { return v.Type }).(pulumi.StringOutput) +} + +// TThe VCPU manufacturer for a dedicated host with this profile. +func (o GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostProfilesProfileVcpuManufacturer) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostProfilesProfileVcpuManufacturer)(nil)).Elem() +} + +func (o GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput) ToGetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput() GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput) ToGetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput { + return o +} + +func (o GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostProfilesProfileVcpuManufacturer { + return vs[0].([]GetIsDedicatedHostProfilesProfileVcpuManufacturer)[vs[1].(int)] + }).(GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput) +} + +type GetIsDedicatedHostSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostSupportedInstanceProfileInput is an input type that accepts GetIsDedicatedHostSupportedInstanceProfileArgs and GetIsDedicatedHostSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostSupportedInstanceProfileInput` via: +// +// GetIsDedicatedHostSupportedInstanceProfileArgs{...} +type GetIsDedicatedHostSupportedInstanceProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostSupportedInstanceProfileOutput() GetIsDedicatedHostSupportedInstanceProfileOutput + ToGetIsDedicatedHostSupportedInstanceProfileOutputWithContext(context.Context) GetIsDedicatedHostSupportedInstanceProfileOutput +} + +type GetIsDedicatedHostSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostSupportedInstanceProfileArgs) ToGetIsDedicatedHostSupportedInstanceProfileOutput() GetIsDedicatedHostSupportedInstanceProfileOutput { + return i.ToGetIsDedicatedHostSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostSupportedInstanceProfileArgs) ToGetIsDedicatedHostSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostSupportedInstanceProfileOutput) +} + +// GetIsDedicatedHostSupportedInstanceProfileArrayInput is an input type that accepts GetIsDedicatedHostSupportedInstanceProfileArray and GetIsDedicatedHostSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostSupportedInstanceProfileArrayInput` via: +// +// GetIsDedicatedHostSupportedInstanceProfileArray{ GetIsDedicatedHostSupportedInstanceProfileArgs{...} } +type GetIsDedicatedHostSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostSupportedInstanceProfileArrayOutput() GetIsDedicatedHostSupportedInstanceProfileArrayOutput + ToGetIsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostSupportedInstanceProfileArrayOutput +} + +type GetIsDedicatedHostSupportedInstanceProfileArray []GetIsDedicatedHostSupportedInstanceProfileInput + +func (GetIsDedicatedHostSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostSupportedInstanceProfileArray) ToGetIsDedicatedHostSupportedInstanceProfileArrayOutput() GetIsDedicatedHostSupportedInstanceProfileArrayOutput { + return i.ToGetIsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostSupportedInstanceProfileArray) ToGetIsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostSupportedInstanceProfileArrayOutput) +} + +type GetIsDedicatedHostSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostSupportedInstanceProfileOutput) ToGetIsDedicatedHostSupportedInstanceProfileOutput() GetIsDedicatedHostSupportedInstanceProfileOutput { + return o +} + +func (o GetIsDedicatedHostSupportedInstanceProfileOutput) ToGetIsDedicatedHostSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsDedicatedHostSupportedInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostSupportedInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsDedicatedHostSupportedInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostSupportedInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostSupportedInstanceProfileArrayOutput() GetIsDedicatedHostSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostSupportedInstanceProfile { + return vs[0].([]GetIsDedicatedHostSupportedInstanceProfile)[vs[1].(int)] + }).(GetIsDedicatedHostSupportedInstanceProfileOutput) +} + +type GetIsDedicatedHostVcpus struct { + // The VCPU architecture. + Architecture string `pulumi:"architecture"` + // The number of VCPUs assigned. + Count int `pulumi:"count"` + // The VCPU manufacturer. + Manufacturer string `pulumi:"manufacturer"` +} + +// GetIsDedicatedHostVcpusInput is an input type that accepts GetIsDedicatedHostVcpusArgs and GetIsDedicatedHostVcpusOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostVcpusInput` via: +// +// GetIsDedicatedHostVcpusArgs{...} +type GetIsDedicatedHostVcpusInput interface { + pulumi.Input + + ToGetIsDedicatedHostVcpusOutput() GetIsDedicatedHostVcpusOutput + ToGetIsDedicatedHostVcpusOutputWithContext(context.Context) GetIsDedicatedHostVcpusOutput +} + +type GetIsDedicatedHostVcpusArgs struct { + // The VCPU architecture. + Architecture pulumi.StringInput `pulumi:"architecture"` + // The number of VCPUs assigned. + Count pulumi.IntInput `pulumi:"count"` + // The VCPU manufacturer. + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` +} + +func (GetIsDedicatedHostVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostVcpus)(nil)).Elem() +} + +func (i GetIsDedicatedHostVcpusArgs) ToGetIsDedicatedHostVcpusOutput() GetIsDedicatedHostVcpusOutput { + return i.ToGetIsDedicatedHostVcpusOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostVcpusArgs) ToGetIsDedicatedHostVcpusOutputWithContext(ctx context.Context) GetIsDedicatedHostVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostVcpusOutput) +} + +// GetIsDedicatedHostVcpusArrayInput is an input type that accepts GetIsDedicatedHostVcpusArray and GetIsDedicatedHostVcpusArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostVcpusArrayInput` via: +// +// GetIsDedicatedHostVcpusArray{ GetIsDedicatedHostVcpusArgs{...} } +type GetIsDedicatedHostVcpusArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostVcpusArrayOutput() GetIsDedicatedHostVcpusArrayOutput + ToGetIsDedicatedHostVcpusArrayOutputWithContext(context.Context) GetIsDedicatedHostVcpusArrayOutput +} + +type GetIsDedicatedHostVcpusArray []GetIsDedicatedHostVcpusInput + +func (GetIsDedicatedHostVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostVcpus)(nil)).Elem() +} + +func (i GetIsDedicatedHostVcpusArray) ToGetIsDedicatedHostVcpusArrayOutput() GetIsDedicatedHostVcpusArrayOutput { + return i.ToGetIsDedicatedHostVcpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostVcpusArray) ToGetIsDedicatedHostVcpusArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostVcpusArrayOutput) +} + +type GetIsDedicatedHostVcpusOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostVcpus)(nil)).Elem() +} + +func (o GetIsDedicatedHostVcpusOutput) ToGetIsDedicatedHostVcpusOutput() GetIsDedicatedHostVcpusOutput { + return o +} + +func (o GetIsDedicatedHostVcpusOutput) ToGetIsDedicatedHostVcpusOutputWithContext(ctx context.Context) GetIsDedicatedHostVcpusOutput { + return o +} + +// The VCPU architecture. +func (o GetIsDedicatedHostVcpusOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostVcpus) string { return v.Architecture }).(pulumi.StringOutput) +} + +// The number of VCPUs assigned. +func (o GetIsDedicatedHostVcpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostVcpus) int { return v.Count }).(pulumi.IntOutput) +} + +// The VCPU manufacturer. +func (o GetIsDedicatedHostVcpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostVcpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostVcpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostVcpus)(nil)).Elem() +} + +func (o GetIsDedicatedHostVcpusArrayOutput) ToGetIsDedicatedHostVcpusArrayOutput() GetIsDedicatedHostVcpusArrayOutput { + return o +} + +func (o GetIsDedicatedHostVcpusArrayOutput) ToGetIsDedicatedHostVcpusArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostVcpusArrayOutput { + return o +} + +func (o GetIsDedicatedHostVcpusArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostVcpus { + return vs[0].([]GetIsDedicatedHostVcpus)[vs[1].(int)] + }).(GetIsDedicatedHostVcpusOutput) +} + +type GetIsDedicatedHostsDedicatedHost struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The amount of memory in gibibytes that is currently available for instances. + AvailableMemory int `pulumi:"availableMemory"` + // The available VCPU for the dedicated host. + AvailableVcpus []GetIsDedicatedHostsDedicatedHostAvailableVcpus `pulumi:"availableVcpus"` + // The date and time that the dedicated host was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this dedicated host. + Crn string `pulumi:"crn"` + // Collection of the dedicated host's disks. + Disks []GetIsDedicatedHostsDedicatedHostDisk `pulumi:"disks"` + // The unique identifier of the dedicated host group this dedicated host is in. + HostGroup string `pulumi:"hostGroup"` + // The URL for this dedicated host. + Href string `pulumi:"href"` + // The unique identifier for this dedicated host. + Id string `pulumi:"id"` + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled bool `pulumi:"instancePlacementEnabled"` + // Array of instances that are allocated to this dedicated host. + Instances []GetIsDedicatedHostsDedicatedHostInstance `pulumi:"instances"` + // The lifecycle state of the dedicated host resource. + LifecycleState string `pulumi:"lifecycleState"` + // The total amount of memory in gibibytes for this host. + Memory int `pulumi:"memory"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The dedicated host NUMA configuration + Numas []GetIsDedicatedHostsDedicatedHostNuma `pulumi:"numas"` + // The profile this dedicated host uses. + Profiles []GetIsDedicatedHostsDedicatedHostProfile `pulumi:"profiles"` + // Indicates whether this dedicated host is available for instance creation. + Provisionable bool `pulumi:"provisionable"` + // The unique identifier of the resource group for this dedicated host. + ResourceGroup string `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The total number of sockets for this host. + SocketCount int `pulumi:"socketCount"` + // The administrative state of the dedicated host.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the dedicated host on which the unexpected property value was encountered. + State string `pulumi:"state"` + // Array of instance profiles that can be used by instances placed on this dedicated host. + SupportedInstanceProfiles []GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile `pulumi:"supportedInstanceProfiles"` + // The total VCPU of the dedicated host. + Vcpus []GetIsDedicatedHostsDedicatedHostVcpus `pulumi:"vcpus"` + // The globally unique name of the zone this dedicated host resides in. + Zone string `pulumi:"zone"` +} + +// GetIsDedicatedHostsDedicatedHostInput is an input type that accepts GetIsDedicatedHostsDedicatedHostArgs and GetIsDedicatedHostsDedicatedHostOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostInput` via: +// +// GetIsDedicatedHostsDedicatedHostArgs{...} +type GetIsDedicatedHostsDedicatedHostInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostOutput() GetIsDedicatedHostsDedicatedHostOutput + ToGetIsDedicatedHostsDedicatedHostOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostOutput +} + +type GetIsDedicatedHostsDedicatedHostArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The amount of memory in gibibytes that is currently available for instances. + AvailableMemory pulumi.IntInput `pulumi:"availableMemory"` + // The available VCPU for the dedicated host. + AvailableVcpus GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayInput `pulumi:"availableVcpus"` + // The date and time that the dedicated host was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this dedicated host. + Crn pulumi.StringInput `pulumi:"crn"` + // Collection of the dedicated host's disks. + Disks GetIsDedicatedHostsDedicatedHostDiskArrayInput `pulumi:"disks"` + // The unique identifier of the dedicated host group this dedicated host is in. + HostGroup pulumi.StringInput `pulumi:"hostGroup"` + // The URL for this dedicated host. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this dedicated host. + Id pulumi.StringInput `pulumi:"id"` + // If set to true, instances can be placed on this dedicated host. + InstancePlacementEnabled pulumi.BoolInput `pulumi:"instancePlacementEnabled"` + // Array of instances that are allocated to this dedicated host. + Instances GetIsDedicatedHostsDedicatedHostInstanceArrayInput `pulumi:"instances"` + // The lifecycle state of the dedicated host resource. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The total amount of memory in gibibytes for this host. + Memory pulumi.IntInput `pulumi:"memory"` + // The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The dedicated host NUMA configuration + Numas GetIsDedicatedHostsDedicatedHostNumaArrayInput `pulumi:"numas"` + // The profile this dedicated host uses. + Profiles GetIsDedicatedHostsDedicatedHostProfileArrayInput `pulumi:"profiles"` + // Indicates whether this dedicated host is available for instance creation. + Provisionable pulumi.BoolInput `pulumi:"provisionable"` + // The unique identifier of the resource group for this dedicated host. + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The total number of sockets for this host. + SocketCount pulumi.IntInput `pulumi:"socketCount"` + // The administrative state of the dedicated host.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the dedicated host on which the unexpected property value was encountered. + State pulumi.StringInput `pulumi:"state"` + // Array of instance profiles that can be used by instances placed on this dedicated host. + SupportedInstanceProfiles GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayInput `pulumi:"supportedInstanceProfiles"` + // The total VCPU of the dedicated host. + Vcpus GetIsDedicatedHostsDedicatedHostVcpusArrayInput `pulumi:"vcpus"` + // The globally unique name of the zone this dedicated host resides in. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsDedicatedHostsDedicatedHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHost)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostArgs) ToGetIsDedicatedHostsDedicatedHostOutput() GetIsDedicatedHostsDedicatedHostOutput { + return i.ToGetIsDedicatedHostsDedicatedHostOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostArgs) ToGetIsDedicatedHostsDedicatedHostOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostOutput) +} + +// GetIsDedicatedHostsDedicatedHostArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostArray and GetIsDedicatedHostsDedicatedHostArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostArray{ GetIsDedicatedHostsDedicatedHostArgs{...} } +type GetIsDedicatedHostsDedicatedHostArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostArrayOutput() GetIsDedicatedHostsDedicatedHostArrayOutput + ToGetIsDedicatedHostsDedicatedHostArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostArray []GetIsDedicatedHostsDedicatedHostInput + +func (GetIsDedicatedHostsDedicatedHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHost)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostArray) ToGetIsDedicatedHostsDedicatedHostArrayOutput() GetIsDedicatedHostsDedicatedHostArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostArray) ToGetIsDedicatedHostsDedicatedHostArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHost)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostOutput) ToGetIsDedicatedHostsDedicatedHostOutput() GetIsDedicatedHostsDedicatedHostOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostOutput) ToGetIsDedicatedHostsDedicatedHostOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostOutput { + return o +} + +// List of access tags +func (o GetIsDedicatedHostsDedicatedHostOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The amount of memory in gibibytes that is currently available for instances. +func (o GetIsDedicatedHostsDedicatedHostOutput) AvailableMemory() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) int { return v.AvailableMemory }).(pulumi.IntOutput) +} + +// The available VCPU for the dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) AvailableVcpus() GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) []GetIsDedicatedHostsDedicatedHostAvailableVcpus { + return v.AvailableVcpus + }).(GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput) +} + +// The date and time that the dedicated host was created. +func (o GetIsDedicatedHostsDedicatedHostOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.Crn }).(pulumi.StringOutput) +} + +// Collection of the dedicated host's disks. +func (o GetIsDedicatedHostsDedicatedHostOutput) Disks() GetIsDedicatedHostsDedicatedHostDiskArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) []GetIsDedicatedHostsDedicatedHostDisk { return v.Disks }).(GetIsDedicatedHostsDedicatedHostDiskArrayOutput) +} + +// The unique identifier of the dedicated host group this dedicated host is in. +func (o GetIsDedicatedHostsDedicatedHostOutput) HostGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.HostGroup }).(pulumi.StringOutput) +} + +// The URL for this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.Id }).(pulumi.StringOutput) +} + +// If set to true, instances can be placed on this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) InstancePlacementEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) bool { return v.InstancePlacementEnabled }).(pulumi.BoolOutput) +} + +// Array of instances that are allocated to this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) Instances() GetIsDedicatedHostsDedicatedHostInstanceArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) []GetIsDedicatedHostsDedicatedHostInstance { + return v.Instances + }).(GetIsDedicatedHostsDedicatedHostInstanceArrayOutput) +} + +// The lifecycle state of the dedicated host resource. +func (o GetIsDedicatedHostsDedicatedHostOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The total amount of memory in gibibytes for this host. +func (o GetIsDedicatedHostsDedicatedHostOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) int { return v.Memory }).(pulumi.IntOutput) +} + +// The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsDedicatedHostsDedicatedHostOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.Name }).(pulumi.StringOutput) +} + +// The dedicated host NUMA configuration +func (o GetIsDedicatedHostsDedicatedHostOutput) Numas() GetIsDedicatedHostsDedicatedHostNumaArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) []GetIsDedicatedHostsDedicatedHostNuma { return v.Numas }).(GetIsDedicatedHostsDedicatedHostNumaArrayOutput) +} + +// The profile this dedicated host uses. +func (o GetIsDedicatedHostsDedicatedHostOutput) Profiles() GetIsDedicatedHostsDedicatedHostProfileArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) []GetIsDedicatedHostsDedicatedHostProfile { return v.Profiles }).(GetIsDedicatedHostsDedicatedHostProfileArrayOutput) +} + +// Indicates whether this dedicated host is available for instance creation. +func (o GetIsDedicatedHostsDedicatedHostOutput) Provisionable() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) bool { return v.Provisionable }).(pulumi.BoolOutput) +} + +// The unique identifier of the resource group for this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsDedicatedHostsDedicatedHostOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The total number of sockets for this host. +func (o GetIsDedicatedHostsDedicatedHostOutput) SocketCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) int { return v.SocketCount }).(pulumi.IntOutput) +} + +// The administrative state of the dedicated host.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the dedicated host on which the unexpected property value was encountered. +func (o GetIsDedicatedHostsDedicatedHostOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.State }).(pulumi.StringOutput) +} + +// Array of instance profiles that can be used by instances placed on this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) SupportedInstanceProfiles() GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) []GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile { + return v.SupportedInstanceProfiles + }).(GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput) +} + +// The total VCPU of the dedicated host. +func (o GetIsDedicatedHostsDedicatedHostOutput) Vcpus() GetIsDedicatedHostsDedicatedHostVcpusArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) []GetIsDedicatedHostsDedicatedHostVcpus { return v.Vcpus }).(GetIsDedicatedHostsDedicatedHostVcpusArrayOutput) +} + +// The globally unique name of the zone this dedicated host resides in. +func (o GetIsDedicatedHostsDedicatedHostOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHost) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHost)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostArrayOutput) ToGetIsDedicatedHostsDedicatedHostArrayOutput() GetIsDedicatedHostsDedicatedHostArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostArrayOutput) ToGetIsDedicatedHostsDedicatedHostArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHost { + return vs[0].([]GetIsDedicatedHostsDedicatedHost)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostOutput) +} + +type GetIsDedicatedHostsDedicatedHostAvailableVcpus struct { + // The VCPU architecture. + Architecture string `pulumi:"architecture"` + // The number of VCPUs assigned. + Count int `pulumi:"count"` + // The VCPU manufacturer. + Manufacturer string `pulumi:"manufacturer"` +} + +// GetIsDedicatedHostsDedicatedHostAvailableVcpusInput is an input type that accepts GetIsDedicatedHostsDedicatedHostAvailableVcpusArgs and GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostAvailableVcpusInput` via: +// +// GetIsDedicatedHostsDedicatedHostAvailableVcpusArgs{...} +type GetIsDedicatedHostsDedicatedHostAvailableVcpusInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostAvailableVcpusOutput() GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput + ToGetIsDedicatedHostsDedicatedHostAvailableVcpusOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput +} + +type GetIsDedicatedHostsDedicatedHostAvailableVcpusArgs struct { + // The VCPU architecture. + Architecture pulumi.StringInput `pulumi:"architecture"` + // The number of VCPUs assigned. + Count pulumi.IntInput `pulumi:"count"` + // The VCPU manufacturer. + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` +} + +func (GetIsDedicatedHostsDedicatedHostAvailableVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostAvailableVcpusArgs) ToGetIsDedicatedHostsDedicatedHostAvailableVcpusOutput() GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput { + return i.ToGetIsDedicatedHostsDedicatedHostAvailableVcpusOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostAvailableVcpusArgs) ToGetIsDedicatedHostsDedicatedHostAvailableVcpusOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput) +} + +// GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostAvailableVcpusArray and GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostAvailableVcpusArray{ GetIsDedicatedHostsDedicatedHostAvailableVcpusArgs{...} } +type GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput() GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput + ToGetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostAvailableVcpusArray []GetIsDedicatedHostsDedicatedHostAvailableVcpusInput + +func (GetIsDedicatedHostsDedicatedHostAvailableVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostAvailableVcpusArray) ToGetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput() GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostAvailableVcpusArray) ToGetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput) ToGetIsDedicatedHostsDedicatedHostAvailableVcpusOutput() GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput) ToGetIsDedicatedHostsDedicatedHostAvailableVcpusOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput { + return o +} + +// The VCPU architecture. +func (o GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostAvailableVcpus) string { return v.Architecture }).(pulumi.StringOutput) +} + +// The number of VCPUs assigned. +func (o GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostAvailableVcpus) int { return v.Count }).(pulumi.IntOutput) +} + +// The VCPU manufacturer. +func (o GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostAvailableVcpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostAvailableVcpus)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput) ToGetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput() GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput) ToGetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostAvailableVcpus { + return vs[0].([]GetIsDedicatedHostsDedicatedHostAvailableVcpus)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput) +} + +type GetIsDedicatedHostsDedicatedHostDisk struct { + // The remaining space left for instance placement in GB (gigabytes). + Available int `pulumi:"available"` + // The date and time that the disk was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this disk. + Href string `pulumi:"href"` + // The unique identifier for this disk. + Id string `pulumi:"id"` + // Instance disks that are on this dedicated host disk. + InstanceDisks []GetIsDedicatedHostsDedicatedHostDiskInstanceDisk `pulumi:"instanceDisks"` + // The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType string `pulumi:"interfaceType"` + // The lifecycle state of this dedicated host disk. + LifecycleState string `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this disk. + Name string `pulumi:"name"` + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable bool `pulumi:"provisionable"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size int `pulumi:"size"` + // The instance disk interfaces supported for this dedicated host disk. + SupportedInstanceInterfaceTypes []string `pulumi:"supportedInstanceInterfaceTypes"` +} + +// GetIsDedicatedHostsDedicatedHostDiskInput is an input type that accepts GetIsDedicatedHostsDedicatedHostDiskArgs and GetIsDedicatedHostsDedicatedHostDiskOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostDiskInput` via: +// +// GetIsDedicatedHostsDedicatedHostDiskArgs{...} +type GetIsDedicatedHostsDedicatedHostDiskInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostDiskOutput() GetIsDedicatedHostsDedicatedHostDiskOutput + ToGetIsDedicatedHostsDedicatedHostDiskOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostDiskOutput +} + +type GetIsDedicatedHostsDedicatedHostDiskArgs struct { + // The remaining space left for instance placement in GB (gigabytes). + Available pulumi.IntInput `pulumi:"available"` + // The date and time that the disk was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this disk. + Id pulumi.StringInput `pulumi:"id"` + // Instance disks that are on this dedicated host disk. + InstanceDisks GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayInput `pulumi:"instanceDisks"` + // The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The lifecycle state of this dedicated host disk. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // Indicates whether this dedicated host disk is available for instance disk creation. + Provisionable pulumi.BoolInput `pulumi:"provisionable"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntInput `pulumi:"size"` + // The instance disk interfaces supported for this dedicated host disk. + SupportedInstanceInterfaceTypes pulumi.StringArrayInput `pulumi:"supportedInstanceInterfaceTypes"` +} + +func (GetIsDedicatedHostsDedicatedHostDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostDiskArgs) ToGetIsDedicatedHostsDedicatedHostDiskOutput() GetIsDedicatedHostsDedicatedHostDiskOutput { + return i.ToGetIsDedicatedHostsDedicatedHostDiskOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostDiskArgs) ToGetIsDedicatedHostsDedicatedHostDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostDiskOutput) +} + +// GetIsDedicatedHostsDedicatedHostDiskArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostDiskArray and GetIsDedicatedHostsDedicatedHostDiskArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostDiskArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostDiskArray{ GetIsDedicatedHostsDedicatedHostDiskArgs{...} } +type GetIsDedicatedHostsDedicatedHostDiskArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostDiskArrayOutput() GetIsDedicatedHostsDedicatedHostDiskArrayOutput + ToGetIsDedicatedHostsDedicatedHostDiskArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostDiskArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostDiskArray []GetIsDedicatedHostsDedicatedHostDiskInput + +func (GetIsDedicatedHostsDedicatedHostDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostDiskArray) ToGetIsDedicatedHostsDedicatedHostDiskArrayOutput() GetIsDedicatedHostsDedicatedHostDiskArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostDiskArray) ToGetIsDedicatedHostsDedicatedHostDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostDiskArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostDiskOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) ToGetIsDedicatedHostsDedicatedHostDiskOutput() GetIsDedicatedHostsDedicatedHostDiskOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) ToGetIsDedicatedHostsDedicatedHostDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskOutput { + return o +} + +// The remaining space left for instance placement in GB (gigabytes). +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) Available() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) int { return v.Available }).(pulumi.IntOutput) +} + +// The date and time that the disk was created. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this disk. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this disk. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance disks that are on this dedicated host disk. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) InstanceDisks() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) []GetIsDedicatedHostsDedicatedHostDiskInstanceDisk { + return v.InstanceDisks + }).(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput) +} + +// The disk interface used for attaching the diskThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The lifecycle state of this dedicated host disk. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this disk. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates whether this dedicated host disk is available for instance disk creation. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) Provisionable() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) bool { return v.Provisionable }).(pulumi.BoolOutput) +} + +// The type of resource referenced. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) int { return v.Size }).(pulumi.IntOutput) +} + +// The instance disk interfaces supported for this dedicated host disk. +func (o GetIsDedicatedHostsDedicatedHostDiskOutput) SupportedInstanceInterfaceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDisk) []string { return v.SupportedInstanceInterfaceTypes }).(pulumi.StringArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostDiskArrayOutput) ToGetIsDedicatedHostsDedicatedHostDiskArrayOutput() GetIsDedicatedHostsDedicatedHostDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskArrayOutput) ToGetIsDedicatedHostsDedicatedHostDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostDisk { + return vs[0].([]GetIsDedicatedHostsDedicatedHostDisk)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostDiskOutput) +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDisk struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted `pulumi:"deleteds"` + // The URL for this instance disk. + Href string `pulumi:"href"` + // The unique identifier for this instance disk. + Id string `pulumi:"id"` + // The user-defined name for this disk. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsDedicatedHostsDedicatedHostDiskInstanceDiskInput is an input type that accepts GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArgs and GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostDiskInstanceDiskInput` via: +// +// GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArgs{...} +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput + ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance disk. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArgs) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput { + return i.ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArgs) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) +} + +// GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArray and GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArray{ GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArgs{...} } +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput + ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArray []GetIsDedicatedHostsDedicatedHostDiskInstanceDiskInput + +func (GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArray) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArray) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) Deleteds() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDiskInstanceDisk) []GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted { + return v.Deleteds + }).(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput) +} + +// The URL for this instance disk. +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDiskInstanceDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance disk. +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDiskInstanceDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this disk. +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDiskInstanceDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDiskInstanceDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostDiskInstanceDisk)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostDiskInstanceDisk { + return vs[0].([]GetIsDedicatedHostsDedicatedHostDiskInstanceDisk)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput) +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedInput is an input type that accepts GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArgs and GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedInput` via: +// +// GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArgs{...} +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput + ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArgs) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput { + return i.ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArgs) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput) +} + +// GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArray and GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArray{ GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArgs{...} } +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput + ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArray []GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedInput + +func (GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArray) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArray) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput() GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput) ToGetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted { + return vs[0].([]GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeleted)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput) +} + +type GetIsDedicatedHostsDedicatedHostInstance struct { + // The CRN for this virtual server instance. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsDedicatedHostsDedicatedHostInstanceDeleted `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href string `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id string `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostsDedicatedHostInstanceInput is an input type that accepts GetIsDedicatedHostsDedicatedHostInstanceArgs and GetIsDedicatedHostsDedicatedHostInstanceOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostInstanceInput` via: +// +// GetIsDedicatedHostsDedicatedHostInstanceArgs{...} +type GetIsDedicatedHostsDedicatedHostInstanceInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostInstanceOutput() GetIsDedicatedHostsDedicatedHostInstanceOutput + ToGetIsDedicatedHostsDedicatedHostInstanceOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostInstanceOutput +} + +type GetIsDedicatedHostsDedicatedHostInstanceArgs struct { + // The CRN for this virtual server instance. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostsDedicatedHostInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInstance)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostInstanceArgs) ToGetIsDedicatedHostsDedicatedHostInstanceOutput() GetIsDedicatedHostsDedicatedHostInstanceOutput { + return i.ToGetIsDedicatedHostsDedicatedHostInstanceOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostInstanceArgs) ToGetIsDedicatedHostsDedicatedHostInstanceOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostInstanceOutput) +} + +// GetIsDedicatedHostsDedicatedHostInstanceArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostInstanceArray and GetIsDedicatedHostsDedicatedHostInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostInstanceArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostInstanceArray{ GetIsDedicatedHostsDedicatedHostInstanceArgs{...} } +type GetIsDedicatedHostsDedicatedHostInstanceArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostInstanceArrayOutput() GetIsDedicatedHostsDedicatedHostInstanceArrayOutput + ToGetIsDedicatedHostsDedicatedHostInstanceArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostInstanceArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostInstanceArray []GetIsDedicatedHostsDedicatedHostInstanceInput + +func (GetIsDedicatedHostsDedicatedHostInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostInstance)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostInstanceArray) ToGetIsDedicatedHostsDedicatedHostInstanceArrayOutput() GetIsDedicatedHostsDedicatedHostInstanceArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostInstanceArray) ToGetIsDedicatedHostsDedicatedHostInstanceArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostInstanceArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInstance)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceOutput) ToGetIsDedicatedHostsDedicatedHostInstanceOutput() GetIsDedicatedHostsDedicatedHostInstanceOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceOutput) ToGetIsDedicatedHostsDedicatedHostInstanceOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostInstanceOutput { + return o +} + +// The CRN for this virtual server instance. +func (o GetIsDedicatedHostsDedicatedHostInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsDedicatedHostsDedicatedHostInstanceOutput) Deleteds() GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostInstance) []GetIsDedicatedHostsDedicatedHostInstanceDeleted { + return v.Deleteds + }).(GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput) +} + +// The URL for this virtual server instance. +func (o GetIsDedicatedHostsDedicatedHostInstanceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostInstance) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual server instance. +func (o GetIsDedicatedHostsDedicatedHostInstanceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostInstance) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o GetIsDedicatedHostsDedicatedHostInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostInstance) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostInstance)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceArrayOutput) ToGetIsDedicatedHostsDedicatedHostInstanceArrayOutput() GetIsDedicatedHostsDedicatedHostInstanceArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceArrayOutput) ToGetIsDedicatedHostsDedicatedHostInstanceArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostInstanceArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostInstance { + return vs[0].([]GetIsDedicatedHostsDedicatedHostInstance)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostInstanceOutput) +} + +type GetIsDedicatedHostsDedicatedHostInstanceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsDedicatedHostsDedicatedHostInstanceDeletedInput is an input type that accepts GetIsDedicatedHostsDedicatedHostInstanceDeletedArgs and GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostInstanceDeletedInput` via: +// +// GetIsDedicatedHostsDedicatedHostInstanceDeletedArgs{...} +type GetIsDedicatedHostsDedicatedHostInstanceDeletedInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostInstanceDeletedOutput() GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput + ToGetIsDedicatedHostsDedicatedHostInstanceDeletedOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput +} + +type GetIsDedicatedHostsDedicatedHostInstanceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsDedicatedHostsDedicatedHostInstanceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostInstanceDeletedArgs) ToGetIsDedicatedHostsDedicatedHostInstanceDeletedOutput() GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput { + return i.ToGetIsDedicatedHostsDedicatedHostInstanceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostInstanceDeletedArgs) ToGetIsDedicatedHostsDedicatedHostInstanceDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput) +} + +// GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostInstanceDeletedArray and GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostInstanceDeletedArray{ GetIsDedicatedHostsDedicatedHostInstanceDeletedArgs{...} } +type GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput() GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput + ToGetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostInstanceDeletedArray []GetIsDedicatedHostsDedicatedHostInstanceDeletedInput + +func (GetIsDedicatedHostsDedicatedHostInstanceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostInstanceDeletedArray) ToGetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput() GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostInstanceDeletedArray) ToGetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput) ToGetIsDedicatedHostsDedicatedHostInstanceDeletedOutput() GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput) ToGetIsDedicatedHostsDedicatedHostInstanceDeletedOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostInstanceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostInstanceDeleted)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput) ToGetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput() GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput) ToGetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostInstanceDeleted { + return vs[0].([]GetIsDedicatedHostsDedicatedHostInstanceDeleted)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput) +} + +type GetIsDedicatedHostsDedicatedHostNuma struct { + // The total number of NUMA nodes for this dedicated host + Count int `pulumi:"count"` + // The NUMA nodes for this dedicated host. + Nodes []GetIsDedicatedHostsDedicatedHostNumaNode `pulumi:"nodes"` +} + +// GetIsDedicatedHostsDedicatedHostNumaInput is an input type that accepts GetIsDedicatedHostsDedicatedHostNumaArgs and GetIsDedicatedHostsDedicatedHostNumaOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostNumaInput` via: +// +// GetIsDedicatedHostsDedicatedHostNumaArgs{...} +type GetIsDedicatedHostsDedicatedHostNumaInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostNumaOutput() GetIsDedicatedHostsDedicatedHostNumaOutput + ToGetIsDedicatedHostsDedicatedHostNumaOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostNumaOutput +} + +type GetIsDedicatedHostsDedicatedHostNumaArgs struct { + // The total number of NUMA nodes for this dedicated host + Count pulumi.IntInput `pulumi:"count"` + // The NUMA nodes for this dedicated host. + Nodes GetIsDedicatedHostsDedicatedHostNumaNodeArrayInput `pulumi:"nodes"` +} + +func (GetIsDedicatedHostsDedicatedHostNumaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostNuma)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostNumaArgs) ToGetIsDedicatedHostsDedicatedHostNumaOutput() GetIsDedicatedHostsDedicatedHostNumaOutput { + return i.ToGetIsDedicatedHostsDedicatedHostNumaOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostNumaArgs) ToGetIsDedicatedHostsDedicatedHostNumaOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostNumaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostNumaOutput) +} + +// GetIsDedicatedHostsDedicatedHostNumaArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostNumaArray and GetIsDedicatedHostsDedicatedHostNumaArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostNumaArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostNumaArray{ GetIsDedicatedHostsDedicatedHostNumaArgs{...} } +type GetIsDedicatedHostsDedicatedHostNumaArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostNumaArrayOutput() GetIsDedicatedHostsDedicatedHostNumaArrayOutput + ToGetIsDedicatedHostsDedicatedHostNumaArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostNumaArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostNumaArray []GetIsDedicatedHostsDedicatedHostNumaInput + +func (GetIsDedicatedHostsDedicatedHostNumaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostNuma)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostNumaArray) ToGetIsDedicatedHostsDedicatedHostNumaArrayOutput() GetIsDedicatedHostsDedicatedHostNumaArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostNumaArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostNumaArray) ToGetIsDedicatedHostsDedicatedHostNumaArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostNumaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostNumaArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostNumaOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostNumaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostNuma)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostNumaOutput) ToGetIsDedicatedHostsDedicatedHostNumaOutput() GetIsDedicatedHostsDedicatedHostNumaOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostNumaOutput) ToGetIsDedicatedHostsDedicatedHostNumaOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostNumaOutput { + return o +} + +// The total number of NUMA nodes for this dedicated host +func (o GetIsDedicatedHostsDedicatedHostNumaOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostNuma) int { return v.Count }).(pulumi.IntOutput) +} + +// The NUMA nodes for this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostNumaOutput) Nodes() GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostNuma) []GetIsDedicatedHostsDedicatedHostNumaNode { + return v.Nodes + }).(GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostNumaArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostNumaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostNuma)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostNumaArrayOutput) ToGetIsDedicatedHostsDedicatedHostNumaArrayOutput() GetIsDedicatedHostsDedicatedHostNumaArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostNumaArrayOutput) ToGetIsDedicatedHostsDedicatedHostNumaArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostNumaArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostNumaArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostNumaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostNuma { + return vs[0].([]GetIsDedicatedHostsDedicatedHostNuma)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostNumaOutput) +} + +type GetIsDedicatedHostsDedicatedHostNumaNode struct { + // The available VCPU for this NUMA node. + AvailableVcpu int `pulumi:"availableVcpu"` + // The total VCPU capacity for this NUMA node. + Vcpu int `pulumi:"vcpu"` +} + +// GetIsDedicatedHostsDedicatedHostNumaNodeInput is an input type that accepts GetIsDedicatedHostsDedicatedHostNumaNodeArgs and GetIsDedicatedHostsDedicatedHostNumaNodeOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostNumaNodeInput` via: +// +// GetIsDedicatedHostsDedicatedHostNumaNodeArgs{...} +type GetIsDedicatedHostsDedicatedHostNumaNodeInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostNumaNodeOutput() GetIsDedicatedHostsDedicatedHostNumaNodeOutput + ToGetIsDedicatedHostsDedicatedHostNumaNodeOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostNumaNodeOutput +} + +type GetIsDedicatedHostsDedicatedHostNumaNodeArgs struct { + // The available VCPU for this NUMA node. + AvailableVcpu pulumi.IntInput `pulumi:"availableVcpu"` + // The total VCPU capacity for this NUMA node. + Vcpu pulumi.IntInput `pulumi:"vcpu"` +} + +func (GetIsDedicatedHostsDedicatedHostNumaNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostNumaNode)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostNumaNodeArgs) ToGetIsDedicatedHostsDedicatedHostNumaNodeOutput() GetIsDedicatedHostsDedicatedHostNumaNodeOutput { + return i.ToGetIsDedicatedHostsDedicatedHostNumaNodeOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostNumaNodeArgs) ToGetIsDedicatedHostsDedicatedHostNumaNodeOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostNumaNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostNumaNodeOutput) +} + +// GetIsDedicatedHostsDedicatedHostNumaNodeArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostNumaNodeArray and GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostNumaNodeArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostNumaNodeArray{ GetIsDedicatedHostsDedicatedHostNumaNodeArgs{...} } +type GetIsDedicatedHostsDedicatedHostNumaNodeArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput() GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput + ToGetIsDedicatedHostsDedicatedHostNumaNodeArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostNumaNodeArray []GetIsDedicatedHostsDedicatedHostNumaNodeInput + +func (GetIsDedicatedHostsDedicatedHostNumaNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostNumaNode)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostNumaNodeArray) ToGetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput() GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostNumaNodeArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostNumaNodeArray) ToGetIsDedicatedHostsDedicatedHostNumaNodeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostNumaNodeOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostNumaNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostNumaNode)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostNumaNodeOutput) ToGetIsDedicatedHostsDedicatedHostNumaNodeOutput() GetIsDedicatedHostsDedicatedHostNumaNodeOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostNumaNodeOutput) ToGetIsDedicatedHostsDedicatedHostNumaNodeOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostNumaNodeOutput { + return o +} + +// The available VCPU for this NUMA node. +func (o GetIsDedicatedHostsDedicatedHostNumaNodeOutput) AvailableVcpu() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostNumaNode) int { return v.AvailableVcpu }).(pulumi.IntOutput) +} + +// The total VCPU capacity for this NUMA node. +func (o GetIsDedicatedHostsDedicatedHostNumaNodeOutput) Vcpu() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostNumaNode) int { return v.Vcpu }).(pulumi.IntOutput) +} + +type GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostNumaNode)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput) ToGetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput() GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput) ToGetIsDedicatedHostsDedicatedHostNumaNodeArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostNumaNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostNumaNode { + return vs[0].([]GetIsDedicatedHostsDedicatedHostNumaNode)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostNumaNodeOutput) +} + +type GetIsDedicatedHostsDedicatedHostProfile struct { + // The URL for this dedicated host. + Href string `pulumi:"href"` + // The globally unique name for this dedicated host profile. + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostsDedicatedHostProfileInput is an input type that accepts GetIsDedicatedHostsDedicatedHostProfileArgs and GetIsDedicatedHostsDedicatedHostProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostProfileInput` via: +// +// GetIsDedicatedHostsDedicatedHostProfileArgs{...} +type GetIsDedicatedHostsDedicatedHostProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostProfileOutput() GetIsDedicatedHostsDedicatedHostProfileOutput + ToGetIsDedicatedHostsDedicatedHostProfileOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostProfileOutput +} + +type GetIsDedicatedHostsDedicatedHostProfileArgs struct { + // The URL for this dedicated host. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this dedicated host profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostsDedicatedHostProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostProfileArgs) ToGetIsDedicatedHostsDedicatedHostProfileOutput() GetIsDedicatedHostsDedicatedHostProfileOutput { + return i.ToGetIsDedicatedHostsDedicatedHostProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostProfileArgs) ToGetIsDedicatedHostsDedicatedHostProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostProfileOutput) +} + +// GetIsDedicatedHostsDedicatedHostProfileArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostProfileArray and GetIsDedicatedHostsDedicatedHostProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostProfileArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostProfileArray{ GetIsDedicatedHostsDedicatedHostProfileArgs{...} } +type GetIsDedicatedHostsDedicatedHostProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostProfileArrayOutput() GetIsDedicatedHostsDedicatedHostProfileArrayOutput + ToGetIsDedicatedHostsDedicatedHostProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostProfileArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostProfileArray []GetIsDedicatedHostsDedicatedHostProfileInput + +func (GetIsDedicatedHostsDedicatedHostProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostProfileArray) ToGetIsDedicatedHostsDedicatedHostProfileArrayOutput() GetIsDedicatedHostsDedicatedHostProfileArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostProfileArray) ToGetIsDedicatedHostsDedicatedHostProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostProfileArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostProfileOutput) ToGetIsDedicatedHostsDedicatedHostProfileOutput() GetIsDedicatedHostsDedicatedHostProfileOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostProfileOutput) ToGetIsDedicatedHostsDedicatedHostProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostProfileOutput { + return o +} + +// The URL for this dedicated host. +func (o GetIsDedicatedHostsDedicatedHostProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this dedicated host profile. +func (o GetIsDedicatedHostsDedicatedHostProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostProfileArrayOutput) ToGetIsDedicatedHostsDedicatedHostProfileArrayOutput() GetIsDedicatedHostsDedicatedHostProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostProfileArrayOutput) ToGetIsDedicatedHostsDedicatedHostProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostProfile { + return vs[0].([]GetIsDedicatedHostsDedicatedHostProfile)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostProfileOutput) +} + +type GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` +} + +// GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileInput is an input type that accepts GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArgs and GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileInput` via: +// +// GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArgs{...} +type GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput() GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput + ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput +} + +type GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArgs) ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput() GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput { + return i.ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArgs) ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput) +} + +// GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArray and GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArray{ GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArgs{...} } +type GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput() GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput + ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArray []GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileInput + +func (GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArray) ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput() GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArray) ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput) ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput() GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput) ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput() GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput) ToGetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile { + return vs[0].([]GetIsDedicatedHostsDedicatedHostSupportedInstanceProfile)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput) +} + +type GetIsDedicatedHostsDedicatedHostVcpus struct { + // The VCPU architecture. + Architecture string `pulumi:"architecture"` + // The number of VCPUs assigned. + Count int `pulumi:"count"` + // The VCPU manufacturer. + Manufacturer string `pulumi:"manufacturer"` +} + +// GetIsDedicatedHostsDedicatedHostVcpusInput is an input type that accepts GetIsDedicatedHostsDedicatedHostVcpusArgs and GetIsDedicatedHostsDedicatedHostVcpusOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostVcpusInput` via: +// +// GetIsDedicatedHostsDedicatedHostVcpusArgs{...} +type GetIsDedicatedHostsDedicatedHostVcpusInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostVcpusOutput() GetIsDedicatedHostsDedicatedHostVcpusOutput + ToGetIsDedicatedHostsDedicatedHostVcpusOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostVcpusOutput +} + +type GetIsDedicatedHostsDedicatedHostVcpusArgs struct { + // The VCPU architecture. + Architecture pulumi.StringInput `pulumi:"architecture"` + // The number of VCPUs assigned. + Count pulumi.IntInput `pulumi:"count"` + // The VCPU manufacturer. + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` +} + +func (GetIsDedicatedHostsDedicatedHostVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostVcpus)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostVcpusArgs) ToGetIsDedicatedHostsDedicatedHostVcpusOutput() GetIsDedicatedHostsDedicatedHostVcpusOutput { + return i.ToGetIsDedicatedHostsDedicatedHostVcpusOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostVcpusArgs) ToGetIsDedicatedHostsDedicatedHostVcpusOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostVcpusOutput) +} + +// GetIsDedicatedHostsDedicatedHostVcpusArrayInput is an input type that accepts GetIsDedicatedHostsDedicatedHostVcpusArray and GetIsDedicatedHostsDedicatedHostVcpusArrayOutput values. +// You can construct a concrete instance of `GetIsDedicatedHostsDedicatedHostVcpusArrayInput` via: +// +// GetIsDedicatedHostsDedicatedHostVcpusArray{ GetIsDedicatedHostsDedicatedHostVcpusArgs{...} } +type GetIsDedicatedHostsDedicatedHostVcpusArrayInput interface { + pulumi.Input + + ToGetIsDedicatedHostsDedicatedHostVcpusArrayOutput() GetIsDedicatedHostsDedicatedHostVcpusArrayOutput + ToGetIsDedicatedHostsDedicatedHostVcpusArrayOutputWithContext(context.Context) GetIsDedicatedHostsDedicatedHostVcpusArrayOutput +} + +type GetIsDedicatedHostsDedicatedHostVcpusArray []GetIsDedicatedHostsDedicatedHostVcpusInput + +func (GetIsDedicatedHostsDedicatedHostVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostVcpus)(nil)).Elem() +} + +func (i GetIsDedicatedHostsDedicatedHostVcpusArray) ToGetIsDedicatedHostsDedicatedHostVcpusArrayOutput() GetIsDedicatedHostsDedicatedHostVcpusArrayOutput { + return i.ToGetIsDedicatedHostsDedicatedHostVcpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsDedicatedHostsDedicatedHostVcpusArray) ToGetIsDedicatedHostsDedicatedHostVcpusArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsDedicatedHostsDedicatedHostVcpusArrayOutput) +} + +type GetIsDedicatedHostsDedicatedHostVcpusOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostVcpus)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostVcpusOutput) ToGetIsDedicatedHostsDedicatedHostVcpusOutput() GetIsDedicatedHostsDedicatedHostVcpusOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostVcpusOutput) ToGetIsDedicatedHostsDedicatedHostVcpusOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostVcpusOutput { + return o +} + +// The VCPU architecture. +func (o GetIsDedicatedHostsDedicatedHostVcpusOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostVcpus) string { return v.Architecture }).(pulumi.StringOutput) +} + +// The number of VCPUs assigned. +func (o GetIsDedicatedHostsDedicatedHostVcpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostVcpus) int { return v.Count }).(pulumi.IntOutput) +} + +// The VCPU manufacturer. +func (o GetIsDedicatedHostsDedicatedHostVcpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsDedicatedHostsDedicatedHostVcpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +type GetIsDedicatedHostsDedicatedHostVcpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsDedicatedHostsDedicatedHostVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsDedicatedHostsDedicatedHostVcpus)(nil)).Elem() +} + +func (o GetIsDedicatedHostsDedicatedHostVcpusArrayOutput) ToGetIsDedicatedHostsDedicatedHostVcpusArrayOutput() GetIsDedicatedHostsDedicatedHostVcpusArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostVcpusArrayOutput) ToGetIsDedicatedHostsDedicatedHostVcpusArrayOutputWithContext(ctx context.Context) GetIsDedicatedHostsDedicatedHostVcpusArrayOutput { + return o +} + +func (o GetIsDedicatedHostsDedicatedHostVcpusArrayOutput) Index(i pulumi.IntInput) GetIsDedicatedHostsDedicatedHostVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsDedicatedHostsDedicatedHostVcpus { + return vs[0].([]GetIsDedicatedHostsDedicatedHostVcpus)[vs[1].(int)] + }).(GetIsDedicatedHostsDedicatedHostVcpusOutput) +} + +type GetIsEndpointGatewayTargetsResource struct { + // CRN for this specific object + Crn string `pulumi:"crn"` + // Data endpoint type of this offering + EndpointType string `pulumi:"endpointType"` + // Fully qualified domain names + FullQualifiedDomainNames []string `pulumi:"fullQualifiedDomainNames"` + // Service location of this offering + Location string `pulumi:"location"` + // Display name in the requested language + Name string `pulumi:"name"` + // Parent for this specific object + Parent string `pulumi:"parent"` + // Resource type of this offering. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsEndpointGatewayTargetsResourceInput is an input type that accepts GetIsEndpointGatewayTargetsResourceArgs and GetIsEndpointGatewayTargetsResourceOutput values. +// You can construct a concrete instance of `GetIsEndpointGatewayTargetsResourceInput` via: +// +// GetIsEndpointGatewayTargetsResourceArgs{...} +type GetIsEndpointGatewayTargetsResourceInput interface { + pulumi.Input + + ToGetIsEndpointGatewayTargetsResourceOutput() GetIsEndpointGatewayTargetsResourceOutput + ToGetIsEndpointGatewayTargetsResourceOutputWithContext(context.Context) GetIsEndpointGatewayTargetsResourceOutput +} + +type GetIsEndpointGatewayTargetsResourceArgs struct { + // CRN for this specific object + Crn pulumi.StringInput `pulumi:"crn"` + // Data endpoint type of this offering + EndpointType pulumi.StringInput `pulumi:"endpointType"` + // Fully qualified domain names + FullQualifiedDomainNames pulumi.StringArrayInput `pulumi:"fullQualifiedDomainNames"` + // Service location of this offering + Location pulumi.StringInput `pulumi:"location"` + // Display name in the requested language + Name pulumi.StringInput `pulumi:"name"` + // Parent for this specific object + Parent pulumi.StringInput `pulumi:"parent"` + // Resource type of this offering. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsEndpointGatewayTargetsResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsEndpointGatewayTargetsResource)(nil)).Elem() +} + +func (i GetIsEndpointGatewayTargetsResourceArgs) ToGetIsEndpointGatewayTargetsResourceOutput() GetIsEndpointGatewayTargetsResourceOutput { + return i.ToGetIsEndpointGatewayTargetsResourceOutputWithContext(context.Background()) +} + +func (i GetIsEndpointGatewayTargetsResourceArgs) ToGetIsEndpointGatewayTargetsResourceOutputWithContext(ctx context.Context) GetIsEndpointGatewayTargetsResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsEndpointGatewayTargetsResourceOutput) +} + +// GetIsEndpointGatewayTargetsResourceArrayInput is an input type that accepts GetIsEndpointGatewayTargetsResourceArray and GetIsEndpointGatewayTargetsResourceArrayOutput values. +// You can construct a concrete instance of `GetIsEndpointGatewayTargetsResourceArrayInput` via: +// +// GetIsEndpointGatewayTargetsResourceArray{ GetIsEndpointGatewayTargetsResourceArgs{...} } +type GetIsEndpointGatewayTargetsResourceArrayInput interface { + pulumi.Input + + ToGetIsEndpointGatewayTargetsResourceArrayOutput() GetIsEndpointGatewayTargetsResourceArrayOutput + ToGetIsEndpointGatewayTargetsResourceArrayOutputWithContext(context.Context) GetIsEndpointGatewayTargetsResourceArrayOutput +} + +type GetIsEndpointGatewayTargetsResourceArray []GetIsEndpointGatewayTargetsResourceInput + +func (GetIsEndpointGatewayTargetsResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsEndpointGatewayTargetsResource)(nil)).Elem() +} + +func (i GetIsEndpointGatewayTargetsResourceArray) ToGetIsEndpointGatewayTargetsResourceArrayOutput() GetIsEndpointGatewayTargetsResourceArrayOutput { + return i.ToGetIsEndpointGatewayTargetsResourceArrayOutputWithContext(context.Background()) +} + +func (i GetIsEndpointGatewayTargetsResourceArray) ToGetIsEndpointGatewayTargetsResourceArrayOutputWithContext(ctx context.Context) GetIsEndpointGatewayTargetsResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsEndpointGatewayTargetsResourceArrayOutput) +} + +type GetIsEndpointGatewayTargetsResourceOutput struct{ *pulumi.OutputState } + +func (GetIsEndpointGatewayTargetsResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsEndpointGatewayTargetsResource)(nil)).Elem() +} + +func (o GetIsEndpointGatewayTargetsResourceOutput) ToGetIsEndpointGatewayTargetsResourceOutput() GetIsEndpointGatewayTargetsResourceOutput { + return o +} + +func (o GetIsEndpointGatewayTargetsResourceOutput) ToGetIsEndpointGatewayTargetsResourceOutputWithContext(ctx context.Context) GetIsEndpointGatewayTargetsResourceOutput { + return o +} + +// CRN for this specific object +func (o GetIsEndpointGatewayTargetsResourceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResource) string { return v.Crn }).(pulumi.StringOutput) +} + +// Data endpoint type of this offering +func (o GetIsEndpointGatewayTargetsResourceOutput) EndpointType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResource) string { return v.EndpointType }).(pulumi.StringOutput) +} + +// Fully qualified domain names +func (o GetIsEndpointGatewayTargetsResourceOutput) FullQualifiedDomainNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResource) []string { return v.FullQualifiedDomainNames }).(pulumi.StringArrayOutput) +} + +// Service location of this offering +func (o GetIsEndpointGatewayTargetsResourceOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResource) string { return v.Location }).(pulumi.StringOutput) +} + +// Display name in the requested language +func (o GetIsEndpointGatewayTargetsResourceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResource) string { return v.Name }).(pulumi.StringOutput) +} + +// Parent for this specific object +func (o GetIsEndpointGatewayTargetsResourceOutput) Parent() pulumi.StringOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResource) string { return v.Parent }).(pulumi.StringOutput) +} + +// Resource type of this offering. +func (o GetIsEndpointGatewayTargetsResourceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsEndpointGatewayTargetsResource) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsEndpointGatewayTargetsResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsEndpointGatewayTargetsResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsEndpointGatewayTargetsResource)(nil)).Elem() +} + +func (o GetIsEndpointGatewayTargetsResourceArrayOutput) ToGetIsEndpointGatewayTargetsResourceArrayOutput() GetIsEndpointGatewayTargetsResourceArrayOutput { + return o +} + +func (o GetIsEndpointGatewayTargetsResourceArrayOutput) ToGetIsEndpointGatewayTargetsResourceArrayOutputWithContext(ctx context.Context) GetIsEndpointGatewayTargetsResourceArrayOutput { + return o +} + +func (o GetIsEndpointGatewayTargetsResourceArrayOutput) Index(i pulumi.IntInput) GetIsEndpointGatewayTargetsResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsEndpointGatewayTargetsResource { + return vs[0].([]GetIsEndpointGatewayTargetsResource)[vs[1].(int)] + }).(GetIsEndpointGatewayTargetsResourceOutput) +} + +type GetIsFloatingIpTargetList struct { + // The CRN for this public gateway. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsFloatingIpTargetListDeleted `pulumi:"deleteds"` + // The URL for this network interface. + Href string `pulumi:"href"` + // The unique identifier for this network interface. + Id string `pulumi:"id"` + // The user-defined name for this network interface. + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsFloatingIpTargetListPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsFloatingIpTargetListInput is an input type that accepts GetIsFloatingIpTargetListArgs and GetIsFloatingIpTargetListOutput values. +// You can construct a concrete instance of `GetIsFloatingIpTargetListInput` via: +// +// GetIsFloatingIpTargetListArgs{...} +type GetIsFloatingIpTargetListInput interface { + pulumi.Input + + ToGetIsFloatingIpTargetListOutput() GetIsFloatingIpTargetListOutput + ToGetIsFloatingIpTargetListOutputWithContext(context.Context) GetIsFloatingIpTargetListOutput +} + +type GetIsFloatingIpTargetListArgs struct { + // The CRN for this public gateway. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsFloatingIpTargetListDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network interface. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this network interface. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsFloatingIpTargetListPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsFloatingIpTargetListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpTargetList)(nil)).Elem() +} + +func (i GetIsFloatingIpTargetListArgs) ToGetIsFloatingIpTargetListOutput() GetIsFloatingIpTargetListOutput { + return i.ToGetIsFloatingIpTargetListOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpTargetListArgs) ToGetIsFloatingIpTargetListOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpTargetListOutput) +} + +// GetIsFloatingIpTargetListArrayInput is an input type that accepts GetIsFloatingIpTargetListArray and GetIsFloatingIpTargetListArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpTargetListArrayInput` via: +// +// GetIsFloatingIpTargetListArray{ GetIsFloatingIpTargetListArgs{...} } +type GetIsFloatingIpTargetListArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpTargetListArrayOutput() GetIsFloatingIpTargetListArrayOutput + ToGetIsFloatingIpTargetListArrayOutputWithContext(context.Context) GetIsFloatingIpTargetListArrayOutput +} + +type GetIsFloatingIpTargetListArray []GetIsFloatingIpTargetListInput + +func (GetIsFloatingIpTargetListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpTargetList)(nil)).Elem() +} + +func (i GetIsFloatingIpTargetListArray) ToGetIsFloatingIpTargetListArrayOutput() GetIsFloatingIpTargetListArrayOutput { + return i.ToGetIsFloatingIpTargetListArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpTargetListArray) ToGetIsFloatingIpTargetListArrayOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpTargetListArrayOutput) +} + +type GetIsFloatingIpTargetListOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpTargetListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpTargetList)(nil)).Elem() +} + +func (o GetIsFloatingIpTargetListOutput) ToGetIsFloatingIpTargetListOutput() GetIsFloatingIpTargetListOutput { + return o +} + +func (o GetIsFloatingIpTargetListOutput) ToGetIsFloatingIpTargetListOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListOutput { + return o +} + +// The CRN for this public gateway. +func (o GetIsFloatingIpTargetListOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetList) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsFloatingIpTargetListOutput) Deleteds() GetIsFloatingIpTargetListDeletedArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetList) []GetIsFloatingIpTargetListDeleted { return v.Deleteds }).(GetIsFloatingIpTargetListDeletedArrayOutput) +} + +// The URL for this network interface. +func (o GetIsFloatingIpTargetListOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetList) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network interface. +func (o GetIsFloatingIpTargetListOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetList) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface. +func (o GetIsFloatingIpTargetListOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetList) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsFloatingIpTargetListOutput) PrimaryIps() GetIsFloatingIpTargetListPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetList) []GetIsFloatingIpTargetListPrimaryIp { return v.PrimaryIps }).(GetIsFloatingIpTargetListPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsFloatingIpTargetListOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetList) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsFloatingIpTargetListArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpTargetListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpTargetList)(nil)).Elem() +} + +func (o GetIsFloatingIpTargetListArrayOutput) ToGetIsFloatingIpTargetListArrayOutput() GetIsFloatingIpTargetListArrayOutput { + return o +} + +func (o GetIsFloatingIpTargetListArrayOutput) ToGetIsFloatingIpTargetListArrayOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListArrayOutput { + return o +} + +func (o GetIsFloatingIpTargetListArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpTargetListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpTargetList { + return vs[0].([]GetIsFloatingIpTargetList)[vs[1].(int)] + }).(GetIsFloatingIpTargetListOutput) +} + +type GetIsFloatingIpTargetListDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsFloatingIpTargetListDeletedInput is an input type that accepts GetIsFloatingIpTargetListDeletedArgs and GetIsFloatingIpTargetListDeletedOutput values. +// You can construct a concrete instance of `GetIsFloatingIpTargetListDeletedInput` via: +// +// GetIsFloatingIpTargetListDeletedArgs{...} +type GetIsFloatingIpTargetListDeletedInput interface { + pulumi.Input + + ToGetIsFloatingIpTargetListDeletedOutput() GetIsFloatingIpTargetListDeletedOutput + ToGetIsFloatingIpTargetListDeletedOutputWithContext(context.Context) GetIsFloatingIpTargetListDeletedOutput +} + +type GetIsFloatingIpTargetListDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsFloatingIpTargetListDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpTargetListDeleted)(nil)).Elem() +} + +func (i GetIsFloatingIpTargetListDeletedArgs) ToGetIsFloatingIpTargetListDeletedOutput() GetIsFloatingIpTargetListDeletedOutput { + return i.ToGetIsFloatingIpTargetListDeletedOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpTargetListDeletedArgs) ToGetIsFloatingIpTargetListDeletedOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpTargetListDeletedOutput) +} + +// GetIsFloatingIpTargetListDeletedArrayInput is an input type that accepts GetIsFloatingIpTargetListDeletedArray and GetIsFloatingIpTargetListDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpTargetListDeletedArrayInput` via: +// +// GetIsFloatingIpTargetListDeletedArray{ GetIsFloatingIpTargetListDeletedArgs{...} } +type GetIsFloatingIpTargetListDeletedArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpTargetListDeletedArrayOutput() GetIsFloatingIpTargetListDeletedArrayOutput + ToGetIsFloatingIpTargetListDeletedArrayOutputWithContext(context.Context) GetIsFloatingIpTargetListDeletedArrayOutput +} + +type GetIsFloatingIpTargetListDeletedArray []GetIsFloatingIpTargetListDeletedInput + +func (GetIsFloatingIpTargetListDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpTargetListDeleted)(nil)).Elem() +} + +func (i GetIsFloatingIpTargetListDeletedArray) ToGetIsFloatingIpTargetListDeletedArrayOutput() GetIsFloatingIpTargetListDeletedArrayOutput { + return i.ToGetIsFloatingIpTargetListDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpTargetListDeletedArray) ToGetIsFloatingIpTargetListDeletedArrayOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpTargetListDeletedArrayOutput) +} + +type GetIsFloatingIpTargetListDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpTargetListDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpTargetListDeleted)(nil)).Elem() +} + +func (o GetIsFloatingIpTargetListDeletedOutput) ToGetIsFloatingIpTargetListDeletedOutput() GetIsFloatingIpTargetListDeletedOutput { + return o +} + +func (o GetIsFloatingIpTargetListDeletedOutput) ToGetIsFloatingIpTargetListDeletedOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsFloatingIpTargetListDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetListDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsFloatingIpTargetListDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpTargetListDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpTargetListDeleted)(nil)).Elem() +} + +func (o GetIsFloatingIpTargetListDeletedArrayOutput) ToGetIsFloatingIpTargetListDeletedArrayOutput() GetIsFloatingIpTargetListDeletedArrayOutput { + return o +} + +func (o GetIsFloatingIpTargetListDeletedArrayOutput) ToGetIsFloatingIpTargetListDeletedArrayOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListDeletedArrayOutput { + return o +} + +func (o GetIsFloatingIpTargetListDeletedArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpTargetListDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpTargetListDeleted { + return vs[0].([]GetIsFloatingIpTargetListDeleted)[vs[1].(int)] + }).(GetIsFloatingIpTargetListDeletedOutput) +} + +type GetIsFloatingIpTargetListPrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsFloatingIpTargetListPrimaryIpInput is an input type that accepts GetIsFloatingIpTargetListPrimaryIpArgs and GetIsFloatingIpTargetListPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsFloatingIpTargetListPrimaryIpInput` via: +// +// GetIsFloatingIpTargetListPrimaryIpArgs{...} +type GetIsFloatingIpTargetListPrimaryIpInput interface { + pulumi.Input + + ToGetIsFloatingIpTargetListPrimaryIpOutput() GetIsFloatingIpTargetListPrimaryIpOutput + ToGetIsFloatingIpTargetListPrimaryIpOutputWithContext(context.Context) GetIsFloatingIpTargetListPrimaryIpOutput +} + +type GetIsFloatingIpTargetListPrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsFloatingIpTargetListPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpTargetListPrimaryIp)(nil)).Elem() +} + +func (i GetIsFloatingIpTargetListPrimaryIpArgs) ToGetIsFloatingIpTargetListPrimaryIpOutput() GetIsFloatingIpTargetListPrimaryIpOutput { + return i.ToGetIsFloatingIpTargetListPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpTargetListPrimaryIpArgs) ToGetIsFloatingIpTargetListPrimaryIpOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpTargetListPrimaryIpOutput) +} + +// GetIsFloatingIpTargetListPrimaryIpArrayInput is an input type that accepts GetIsFloatingIpTargetListPrimaryIpArray and GetIsFloatingIpTargetListPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpTargetListPrimaryIpArrayInput` via: +// +// GetIsFloatingIpTargetListPrimaryIpArray{ GetIsFloatingIpTargetListPrimaryIpArgs{...} } +type GetIsFloatingIpTargetListPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpTargetListPrimaryIpArrayOutput() GetIsFloatingIpTargetListPrimaryIpArrayOutput + ToGetIsFloatingIpTargetListPrimaryIpArrayOutputWithContext(context.Context) GetIsFloatingIpTargetListPrimaryIpArrayOutput +} + +type GetIsFloatingIpTargetListPrimaryIpArray []GetIsFloatingIpTargetListPrimaryIpInput + +func (GetIsFloatingIpTargetListPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpTargetListPrimaryIp)(nil)).Elem() +} + +func (i GetIsFloatingIpTargetListPrimaryIpArray) ToGetIsFloatingIpTargetListPrimaryIpArrayOutput() GetIsFloatingIpTargetListPrimaryIpArrayOutput { + return i.ToGetIsFloatingIpTargetListPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpTargetListPrimaryIpArray) ToGetIsFloatingIpTargetListPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpTargetListPrimaryIpArrayOutput) +} + +type GetIsFloatingIpTargetListPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpTargetListPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpTargetListPrimaryIp)(nil)).Elem() +} + +func (o GetIsFloatingIpTargetListPrimaryIpOutput) ToGetIsFloatingIpTargetListPrimaryIpOutput() GetIsFloatingIpTargetListPrimaryIpOutput { + return o +} + +func (o GetIsFloatingIpTargetListPrimaryIpOutput) ToGetIsFloatingIpTargetListPrimaryIpOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListPrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsFloatingIpTargetListPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetListPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsFloatingIpTargetListPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetListPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsFloatingIpTargetListPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetListPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsFloatingIpTargetListPrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetListPrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsFloatingIpTargetListPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpTargetListPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsFloatingIpTargetListPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpTargetListPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpTargetListPrimaryIp)(nil)).Elem() +} + +func (o GetIsFloatingIpTargetListPrimaryIpArrayOutput) ToGetIsFloatingIpTargetListPrimaryIpArrayOutput() GetIsFloatingIpTargetListPrimaryIpArrayOutput { + return o +} + +func (o GetIsFloatingIpTargetListPrimaryIpArrayOutput) ToGetIsFloatingIpTargetListPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsFloatingIpTargetListPrimaryIpArrayOutput { + return o +} + +func (o GetIsFloatingIpTargetListPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpTargetListPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpTargetListPrimaryIp { + return vs[0].([]GetIsFloatingIpTargetListPrimaryIp)[vs[1].(int)] + }).(GetIsFloatingIpTargetListPrimaryIpOutput) +} + +type GetIsFloatingIpsFloatingIp struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The globally unique IP address. + Address string `pulumi:"address"` + // The date and time that the floating IP was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this floating IP. + Crn string `pulumi:"crn"` + // The URL for this floating IP. + Href string `pulumi:"href"` + // The unique identifier for this floating IP. + Id string `pulumi:"id"` + // The unique user-defined name for this floating IP. + Name string `pulumi:"name"` + // The resource group for this floating IP. + ResourceGroups []GetIsFloatingIpsFloatingIpResourceGroup `pulumi:"resourceGroups"` + // The status of the floating IP. + Status string `pulumi:"status"` + // The target of this floating IP. + Targets []GetIsFloatingIpsFloatingIpTarget `pulumi:"targets"` + // The zone this floating IP resides in. + Zones []GetIsFloatingIpsFloatingIpZone `pulumi:"zones"` +} + +// GetIsFloatingIpsFloatingIpInput is an input type that accepts GetIsFloatingIpsFloatingIpArgs and GetIsFloatingIpsFloatingIpOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpInput` via: +// +// GetIsFloatingIpsFloatingIpArgs{...} +type GetIsFloatingIpsFloatingIpInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpOutput() GetIsFloatingIpsFloatingIpOutput + ToGetIsFloatingIpsFloatingIpOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpOutput +} + +type GetIsFloatingIpsFloatingIpArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The globally unique IP address. + Address pulumi.StringInput `pulumi:"address"` + // The date and time that the floating IP was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this floating IP. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this floating IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this floating IP. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this floating IP. + Name pulumi.StringInput `pulumi:"name"` + // The resource group for this floating IP. + ResourceGroups GetIsFloatingIpsFloatingIpResourceGroupArrayInput `pulumi:"resourceGroups"` + // The status of the floating IP. + Status pulumi.StringInput `pulumi:"status"` + // The target of this floating IP. + Targets GetIsFloatingIpsFloatingIpTargetArrayInput `pulumi:"targets"` + // The zone this floating IP resides in. + Zones GetIsFloatingIpsFloatingIpZoneArrayInput `pulumi:"zones"` +} + +func (GetIsFloatingIpsFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIp)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpArgs) ToGetIsFloatingIpsFloatingIpOutput() GetIsFloatingIpsFloatingIpOutput { + return i.ToGetIsFloatingIpsFloatingIpOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpArgs) ToGetIsFloatingIpsFloatingIpOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpOutput) +} + +// GetIsFloatingIpsFloatingIpArrayInput is an input type that accepts GetIsFloatingIpsFloatingIpArray and GetIsFloatingIpsFloatingIpArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpArrayInput` via: +// +// GetIsFloatingIpsFloatingIpArray{ GetIsFloatingIpsFloatingIpArgs{...} } +type GetIsFloatingIpsFloatingIpArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpArrayOutput() GetIsFloatingIpsFloatingIpArrayOutput + ToGetIsFloatingIpsFloatingIpArrayOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpArrayOutput +} + +type GetIsFloatingIpsFloatingIpArray []GetIsFloatingIpsFloatingIpInput + +func (GetIsFloatingIpsFloatingIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIp)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpArray) ToGetIsFloatingIpsFloatingIpArrayOutput() GetIsFloatingIpsFloatingIpArrayOutput { + return i.ToGetIsFloatingIpsFloatingIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpArray) ToGetIsFloatingIpsFloatingIpArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpArrayOutput) +} + +type GetIsFloatingIpsFloatingIpOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIp)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpOutput) ToGetIsFloatingIpsFloatingIpOutput() GetIsFloatingIpsFloatingIpOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpOutput) ToGetIsFloatingIpsFloatingIpOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpOutput { + return o +} + +// List of access management tags +func (o GetIsFloatingIpsFloatingIpOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The globally unique IP address. +func (o GetIsFloatingIpsFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The date and time that the floating IP was created. +func (o GetIsFloatingIpsFloatingIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this floating IP. +func (o GetIsFloatingIpsFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this floating IP. +func (o GetIsFloatingIpsFloatingIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this floating IP. +func (o GetIsFloatingIpsFloatingIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this floating IP. +func (o GetIsFloatingIpsFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this floating IP. +func (o GetIsFloatingIpsFloatingIpOutput) ResourceGroups() GetIsFloatingIpsFloatingIpResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) []GetIsFloatingIpsFloatingIpResourceGroup { return v.ResourceGroups }).(GetIsFloatingIpsFloatingIpResourceGroupArrayOutput) +} + +// The status of the floating IP. +func (o GetIsFloatingIpsFloatingIpOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) string { return v.Status }).(pulumi.StringOutput) +} + +// The target of this floating IP. +func (o GetIsFloatingIpsFloatingIpOutput) Targets() GetIsFloatingIpsFloatingIpTargetArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) []GetIsFloatingIpsFloatingIpTarget { return v.Targets }).(GetIsFloatingIpsFloatingIpTargetArrayOutput) +} + +// The zone this floating IP resides in. +func (o GetIsFloatingIpsFloatingIpOutput) Zones() GetIsFloatingIpsFloatingIpZoneArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIp) []GetIsFloatingIpsFloatingIpZone { return v.Zones }).(GetIsFloatingIpsFloatingIpZoneArrayOutput) +} + +type GetIsFloatingIpsFloatingIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIp)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpArrayOutput) ToGetIsFloatingIpsFloatingIpArrayOutput() GetIsFloatingIpsFloatingIpArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpArrayOutput) ToGetIsFloatingIpsFloatingIpArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpsFloatingIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpsFloatingIp { + return vs[0].([]GetIsFloatingIpsFloatingIp)[vs[1].(int)] + }).(GetIsFloatingIpsFloatingIpOutput) +} + +type GetIsFloatingIpsFloatingIpResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsFloatingIpsFloatingIpResourceGroupInput is an input type that accepts GetIsFloatingIpsFloatingIpResourceGroupArgs and GetIsFloatingIpsFloatingIpResourceGroupOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpResourceGroupInput` via: +// +// GetIsFloatingIpsFloatingIpResourceGroupArgs{...} +type GetIsFloatingIpsFloatingIpResourceGroupInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpResourceGroupOutput() GetIsFloatingIpsFloatingIpResourceGroupOutput + ToGetIsFloatingIpsFloatingIpResourceGroupOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpResourceGroupOutput +} + +type GetIsFloatingIpsFloatingIpResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsFloatingIpsFloatingIpResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpResourceGroup)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpResourceGroupArgs) ToGetIsFloatingIpsFloatingIpResourceGroupOutput() GetIsFloatingIpsFloatingIpResourceGroupOutput { + return i.ToGetIsFloatingIpsFloatingIpResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpResourceGroupArgs) ToGetIsFloatingIpsFloatingIpResourceGroupOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpResourceGroupOutput) +} + +// GetIsFloatingIpsFloatingIpResourceGroupArrayInput is an input type that accepts GetIsFloatingIpsFloatingIpResourceGroupArray and GetIsFloatingIpsFloatingIpResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpResourceGroupArrayInput` via: +// +// GetIsFloatingIpsFloatingIpResourceGroupArray{ GetIsFloatingIpsFloatingIpResourceGroupArgs{...} } +type GetIsFloatingIpsFloatingIpResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpResourceGroupArrayOutput() GetIsFloatingIpsFloatingIpResourceGroupArrayOutput + ToGetIsFloatingIpsFloatingIpResourceGroupArrayOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpResourceGroupArrayOutput +} + +type GetIsFloatingIpsFloatingIpResourceGroupArray []GetIsFloatingIpsFloatingIpResourceGroupInput + +func (GetIsFloatingIpsFloatingIpResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpResourceGroup)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpResourceGroupArray) ToGetIsFloatingIpsFloatingIpResourceGroupArrayOutput() GetIsFloatingIpsFloatingIpResourceGroupArrayOutput { + return i.ToGetIsFloatingIpsFloatingIpResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpResourceGroupArray) ToGetIsFloatingIpsFloatingIpResourceGroupArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpResourceGroupArrayOutput) +} + +type GetIsFloatingIpsFloatingIpResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpResourceGroup)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpResourceGroupOutput) ToGetIsFloatingIpsFloatingIpResourceGroupOutput() GetIsFloatingIpsFloatingIpResourceGroupOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpResourceGroupOutput) ToGetIsFloatingIpsFloatingIpResourceGroupOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsFloatingIpsFloatingIpResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsFloatingIpsFloatingIpResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsFloatingIpsFloatingIpResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsFloatingIpsFloatingIpResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpResourceGroup)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpResourceGroupArrayOutput) ToGetIsFloatingIpsFloatingIpResourceGroupArrayOutput() GetIsFloatingIpsFloatingIpResourceGroupArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpResourceGroupArrayOutput) ToGetIsFloatingIpsFloatingIpResourceGroupArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpResourceGroupArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpsFloatingIpResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpsFloatingIpResourceGroup { + return vs[0].([]GetIsFloatingIpsFloatingIpResourceGroup)[vs[1].(int)] + }).(GetIsFloatingIpsFloatingIpResourceGroupOutput) +} + +type GetIsFloatingIpsFloatingIpTarget struct { + // The CRN for this public gateway. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsFloatingIpsFloatingIpTargetDeleted `pulumi:"deleteds"` + // The URL for this network interface. + Href string `pulumi:"href"` + // The unique identifier for this network interface. + Id string `pulumi:"id"` + // The user-defined name for this network interface. + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsFloatingIpsFloatingIpTargetPrimaryIp `pulumi:"primaryIps"` + // The primary IPv4 address.If the address has not yet been selected, the value will be `0.0.0.0`. + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsFloatingIpsFloatingIpTargetInput is an input type that accepts GetIsFloatingIpsFloatingIpTargetArgs and GetIsFloatingIpsFloatingIpTargetOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpTargetInput` via: +// +// GetIsFloatingIpsFloatingIpTargetArgs{...} +type GetIsFloatingIpsFloatingIpTargetInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpTargetOutput() GetIsFloatingIpsFloatingIpTargetOutput + ToGetIsFloatingIpsFloatingIpTargetOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpTargetOutput +} + +type GetIsFloatingIpsFloatingIpTargetArgs struct { + // The CRN for this public gateway. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsFloatingIpsFloatingIpTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network interface. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this network interface. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayInput `pulumi:"primaryIps"` + // The primary IPv4 address.If the address has not yet been selected, the value will be `0.0.0.0`. + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsFloatingIpsFloatingIpTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpTarget)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpTargetArgs) ToGetIsFloatingIpsFloatingIpTargetOutput() GetIsFloatingIpsFloatingIpTargetOutput { + return i.ToGetIsFloatingIpsFloatingIpTargetOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpTargetArgs) ToGetIsFloatingIpsFloatingIpTargetOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpTargetOutput) +} + +// GetIsFloatingIpsFloatingIpTargetArrayInput is an input type that accepts GetIsFloatingIpsFloatingIpTargetArray and GetIsFloatingIpsFloatingIpTargetArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpTargetArrayInput` via: +// +// GetIsFloatingIpsFloatingIpTargetArray{ GetIsFloatingIpsFloatingIpTargetArgs{...} } +type GetIsFloatingIpsFloatingIpTargetArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpTargetArrayOutput() GetIsFloatingIpsFloatingIpTargetArrayOutput + ToGetIsFloatingIpsFloatingIpTargetArrayOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpTargetArrayOutput +} + +type GetIsFloatingIpsFloatingIpTargetArray []GetIsFloatingIpsFloatingIpTargetInput + +func (GetIsFloatingIpsFloatingIpTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpTarget)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpTargetArray) ToGetIsFloatingIpsFloatingIpTargetArrayOutput() GetIsFloatingIpsFloatingIpTargetArrayOutput { + return i.ToGetIsFloatingIpsFloatingIpTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpTargetArray) ToGetIsFloatingIpsFloatingIpTargetArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpTargetArrayOutput) +} + +type GetIsFloatingIpsFloatingIpTargetOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpTarget)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpTargetOutput) ToGetIsFloatingIpsFloatingIpTargetOutput() GetIsFloatingIpsFloatingIpTargetOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetOutput) ToGetIsFloatingIpsFloatingIpTargetOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetOutput { + return o +} + +// The CRN for this public gateway. +func (o GetIsFloatingIpsFloatingIpTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsFloatingIpsFloatingIpTargetOutput) Deleteds() GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTarget) []GetIsFloatingIpsFloatingIpTargetDeleted { return v.Deleteds }).(GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput) +} + +// The URL for this network interface. +func (o GetIsFloatingIpsFloatingIpTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network interface. +func (o GetIsFloatingIpsFloatingIpTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface. +func (o GetIsFloatingIpsFloatingIpTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsFloatingIpsFloatingIpTargetOutput) PrimaryIps() GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTarget) []GetIsFloatingIpsFloatingIpTargetPrimaryIp { + return v.PrimaryIps + }).(GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput) +} + +// The primary IPv4 address.If the address has not yet been selected, the value will be `0.0.0.0`. +func (o GetIsFloatingIpsFloatingIpTargetOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTarget) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsFloatingIpsFloatingIpTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsFloatingIpsFloatingIpTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpTarget)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpTargetArrayOutput) ToGetIsFloatingIpsFloatingIpTargetArrayOutput() GetIsFloatingIpsFloatingIpTargetArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetArrayOutput) ToGetIsFloatingIpsFloatingIpTargetArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpsFloatingIpTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpsFloatingIpTarget { + return vs[0].([]GetIsFloatingIpsFloatingIpTarget)[vs[1].(int)] + }).(GetIsFloatingIpsFloatingIpTargetOutput) +} + +type GetIsFloatingIpsFloatingIpTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsFloatingIpsFloatingIpTargetDeletedInput is an input type that accepts GetIsFloatingIpsFloatingIpTargetDeletedArgs and GetIsFloatingIpsFloatingIpTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpTargetDeletedInput` via: +// +// GetIsFloatingIpsFloatingIpTargetDeletedArgs{...} +type GetIsFloatingIpsFloatingIpTargetDeletedInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpTargetDeletedOutput() GetIsFloatingIpsFloatingIpTargetDeletedOutput + ToGetIsFloatingIpsFloatingIpTargetDeletedOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpTargetDeletedOutput +} + +type GetIsFloatingIpsFloatingIpTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsFloatingIpsFloatingIpTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetDeleted)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpTargetDeletedArgs) ToGetIsFloatingIpsFloatingIpTargetDeletedOutput() GetIsFloatingIpsFloatingIpTargetDeletedOutput { + return i.ToGetIsFloatingIpsFloatingIpTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpTargetDeletedArgs) ToGetIsFloatingIpsFloatingIpTargetDeletedOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpTargetDeletedOutput) +} + +// GetIsFloatingIpsFloatingIpTargetDeletedArrayInput is an input type that accepts GetIsFloatingIpsFloatingIpTargetDeletedArray and GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpTargetDeletedArrayInput` via: +// +// GetIsFloatingIpsFloatingIpTargetDeletedArray{ GetIsFloatingIpsFloatingIpTargetDeletedArgs{...} } +type GetIsFloatingIpsFloatingIpTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpTargetDeletedArrayOutput() GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput + ToGetIsFloatingIpsFloatingIpTargetDeletedArrayOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput +} + +type GetIsFloatingIpsFloatingIpTargetDeletedArray []GetIsFloatingIpsFloatingIpTargetDeletedInput + +func (GetIsFloatingIpsFloatingIpTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpTargetDeleted)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpTargetDeletedArray) ToGetIsFloatingIpsFloatingIpTargetDeletedArrayOutput() GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput { + return i.ToGetIsFloatingIpsFloatingIpTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpTargetDeletedArray) ToGetIsFloatingIpsFloatingIpTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput) +} + +type GetIsFloatingIpsFloatingIpTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetDeleted)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpTargetDeletedOutput) ToGetIsFloatingIpsFloatingIpTargetDeletedOutput() GetIsFloatingIpsFloatingIpTargetDeletedOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetDeletedOutput) ToGetIsFloatingIpsFloatingIpTargetDeletedOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsFloatingIpsFloatingIpTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpTargetDeleted)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput) ToGetIsFloatingIpsFloatingIpTargetDeletedArrayOutput() GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput) ToGetIsFloatingIpsFloatingIpTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpsFloatingIpTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpsFloatingIpTargetDeleted { + return vs[0].([]GetIsFloatingIpsFloatingIpTargetDeleted)[vs[1].(int)] + }).(GetIsFloatingIpsFloatingIpTargetDeletedOutput) +} + +type GetIsFloatingIpsFloatingIpTargetPrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsFloatingIpsFloatingIpTargetPrimaryIpInput is an input type that accepts GetIsFloatingIpsFloatingIpTargetPrimaryIpArgs and GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpTargetPrimaryIpInput` via: +// +// GetIsFloatingIpsFloatingIpTargetPrimaryIpArgs{...} +type GetIsFloatingIpsFloatingIpTargetPrimaryIpInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpTargetPrimaryIpOutput() GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput + ToGetIsFloatingIpsFloatingIpTargetPrimaryIpOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput +} + +type GetIsFloatingIpsFloatingIpTargetPrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsFloatingIpsFloatingIpTargetPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetPrimaryIp)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpTargetPrimaryIpArgs) ToGetIsFloatingIpsFloatingIpTargetPrimaryIpOutput() GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput { + return i.ToGetIsFloatingIpsFloatingIpTargetPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpTargetPrimaryIpArgs) ToGetIsFloatingIpsFloatingIpTargetPrimaryIpOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) +} + +// GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayInput is an input type that accepts GetIsFloatingIpsFloatingIpTargetPrimaryIpArray and GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayInput` via: +// +// GetIsFloatingIpsFloatingIpTargetPrimaryIpArray{ GetIsFloatingIpsFloatingIpTargetPrimaryIpArgs{...} } +type GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput() GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput + ToGetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput +} + +type GetIsFloatingIpsFloatingIpTargetPrimaryIpArray []GetIsFloatingIpsFloatingIpTargetPrimaryIpInput + +func (GetIsFloatingIpsFloatingIpTargetPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpTargetPrimaryIp)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpTargetPrimaryIpArray) ToGetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput() GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput { + return i.ToGetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpTargetPrimaryIpArray) ToGetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput) +} + +type GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetPrimaryIp)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) ToGetIsFloatingIpsFloatingIpTargetPrimaryIpOutput() GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) ToGetIsFloatingIpsFloatingIpTargetPrimaryIpOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTargetPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTargetPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTargetPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTargetPrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpTargetPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpTargetPrimaryIp)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput) ToGetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput() GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput) ToGetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpsFloatingIpTargetPrimaryIp { + return vs[0].([]GetIsFloatingIpsFloatingIpTargetPrimaryIp)[vs[1].(int)] + }).(GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput) +} + +type GetIsFloatingIpsFloatingIpZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsFloatingIpsFloatingIpZoneInput is an input type that accepts GetIsFloatingIpsFloatingIpZoneArgs and GetIsFloatingIpsFloatingIpZoneOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpZoneInput` via: +// +// GetIsFloatingIpsFloatingIpZoneArgs{...} +type GetIsFloatingIpsFloatingIpZoneInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpZoneOutput() GetIsFloatingIpsFloatingIpZoneOutput + ToGetIsFloatingIpsFloatingIpZoneOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpZoneOutput +} + +type GetIsFloatingIpsFloatingIpZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsFloatingIpsFloatingIpZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpZone)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpZoneArgs) ToGetIsFloatingIpsFloatingIpZoneOutput() GetIsFloatingIpsFloatingIpZoneOutput { + return i.ToGetIsFloatingIpsFloatingIpZoneOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpZoneArgs) ToGetIsFloatingIpsFloatingIpZoneOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpZoneOutput) +} + +// GetIsFloatingIpsFloatingIpZoneArrayInput is an input type that accepts GetIsFloatingIpsFloatingIpZoneArray and GetIsFloatingIpsFloatingIpZoneArrayOutput values. +// You can construct a concrete instance of `GetIsFloatingIpsFloatingIpZoneArrayInput` via: +// +// GetIsFloatingIpsFloatingIpZoneArray{ GetIsFloatingIpsFloatingIpZoneArgs{...} } +type GetIsFloatingIpsFloatingIpZoneArrayInput interface { + pulumi.Input + + ToGetIsFloatingIpsFloatingIpZoneArrayOutput() GetIsFloatingIpsFloatingIpZoneArrayOutput + ToGetIsFloatingIpsFloatingIpZoneArrayOutputWithContext(context.Context) GetIsFloatingIpsFloatingIpZoneArrayOutput +} + +type GetIsFloatingIpsFloatingIpZoneArray []GetIsFloatingIpsFloatingIpZoneInput + +func (GetIsFloatingIpsFloatingIpZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpZone)(nil)).Elem() +} + +func (i GetIsFloatingIpsFloatingIpZoneArray) ToGetIsFloatingIpsFloatingIpZoneArrayOutput() GetIsFloatingIpsFloatingIpZoneArrayOutput { + return i.ToGetIsFloatingIpsFloatingIpZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsFloatingIpsFloatingIpZoneArray) ToGetIsFloatingIpsFloatingIpZoneArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFloatingIpsFloatingIpZoneArrayOutput) +} + +type GetIsFloatingIpsFloatingIpZoneOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFloatingIpsFloatingIpZone)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpZoneOutput) ToGetIsFloatingIpsFloatingIpZoneOutput() GetIsFloatingIpsFloatingIpZoneOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpZoneOutput) ToGetIsFloatingIpsFloatingIpZoneOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsFloatingIpsFloatingIpZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsFloatingIpsFloatingIpZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFloatingIpsFloatingIpZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsFloatingIpsFloatingIpZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFloatingIpsFloatingIpZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFloatingIpsFloatingIpZone)(nil)).Elem() +} + +func (o GetIsFloatingIpsFloatingIpZoneArrayOutput) ToGetIsFloatingIpsFloatingIpZoneArrayOutput() GetIsFloatingIpsFloatingIpZoneArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpZoneArrayOutput) ToGetIsFloatingIpsFloatingIpZoneArrayOutputWithContext(ctx context.Context) GetIsFloatingIpsFloatingIpZoneArrayOutput { + return o +} + +func (o GetIsFloatingIpsFloatingIpZoneArrayOutput) Index(i pulumi.IntInput) GetIsFloatingIpsFloatingIpZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFloatingIpsFloatingIpZone { + return vs[0].([]GetIsFloatingIpsFloatingIpZone)[vs[1].(int)] + }).(GetIsFloatingIpsFloatingIpZoneOutput) +} + +type GetIsFlowLogResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsFlowLogResourceGroupInput is an input type that accepts GetIsFlowLogResourceGroupArgs and GetIsFlowLogResourceGroupOutput values. +// You can construct a concrete instance of `GetIsFlowLogResourceGroupInput` via: +// +// GetIsFlowLogResourceGroupArgs{...} +type GetIsFlowLogResourceGroupInput interface { + pulumi.Input + + ToGetIsFlowLogResourceGroupOutput() GetIsFlowLogResourceGroupOutput + ToGetIsFlowLogResourceGroupOutputWithContext(context.Context) GetIsFlowLogResourceGroupOutput +} + +type GetIsFlowLogResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsFlowLogResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogResourceGroup)(nil)).Elem() +} + +func (i GetIsFlowLogResourceGroupArgs) ToGetIsFlowLogResourceGroupOutput() GetIsFlowLogResourceGroupOutput { + return i.ToGetIsFlowLogResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogResourceGroupArgs) ToGetIsFlowLogResourceGroupOutputWithContext(ctx context.Context) GetIsFlowLogResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogResourceGroupOutput) +} + +// GetIsFlowLogResourceGroupArrayInput is an input type that accepts GetIsFlowLogResourceGroupArray and GetIsFlowLogResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsFlowLogResourceGroupArrayInput` via: +// +// GetIsFlowLogResourceGroupArray{ GetIsFlowLogResourceGroupArgs{...} } +type GetIsFlowLogResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsFlowLogResourceGroupArrayOutput() GetIsFlowLogResourceGroupArrayOutput + ToGetIsFlowLogResourceGroupArrayOutputWithContext(context.Context) GetIsFlowLogResourceGroupArrayOutput +} + +type GetIsFlowLogResourceGroupArray []GetIsFlowLogResourceGroupInput + +func (GetIsFlowLogResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogResourceGroup)(nil)).Elem() +} + +func (i GetIsFlowLogResourceGroupArray) ToGetIsFlowLogResourceGroupArrayOutput() GetIsFlowLogResourceGroupArrayOutput { + return i.ToGetIsFlowLogResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogResourceGroupArray) ToGetIsFlowLogResourceGroupArrayOutputWithContext(ctx context.Context) GetIsFlowLogResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogResourceGroupArrayOutput) +} + +type GetIsFlowLogResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogResourceGroup)(nil)).Elem() +} + +func (o GetIsFlowLogResourceGroupOutput) ToGetIsFlowLogResourceGroupOutput() GetIsFlowLogResourceGroupOutput { + return o +} + +func (o GetIsFlowLogResourceGroupOutput) ToGetIsFlowLogResourceGroupOutputWithContext(ctx context.Context) GetIsFlowLogResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsFlowLogResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsFlowLogResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsFlowLogResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsFlowLogResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogResourceGroup)(nil)).Elem() +} + +func (o GetIsFlowLogResourceGroupArrayOutput) ToGetIsFlowLogResourceGroupArrayOutput() GetIsFlowLogResourceGroupArrayOutput { + return o +} + +func (o GetIsFlowLogResourceGroupArrayOutput) ToGetIsFlowLogResourceGroupArrayOutputWithContext(ctx context.Context) GetIsFlowLogResourceGroupArrayOutput { + return o +} + +func (o GetIsFlowLogResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsFlowLogResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFlowLogResourceGroup { + return vs[0].([]GetIsFlowLogResourceGroup)[vs[1].(int)] + }).(GetIsFlowLogResourceGroupOutput) +} + +type GetIsFlowLogStorageBucket struct { + // The globally unique name of this COS bucket. + Name string `pulumi:"name"` +} + +// GetIsFlowLogStorageBucketInput is an input type that accepts GetIsFlowLogStorageBucketArgs and GetIsFlowLogStorageBucketOutput values. +// You can construct a concrete instance of `GetIsFlowLogStorageBucketInput` via: +// +// GetIsFlowLogStorageBucketArgs{...} +type GetIsFlowLogStorageBucketInput interface { + pulumi.Input + + ToGetIsFlowLogStorageBucketOutput() GetIsFlowLogStorageBucketOutput + ToGetIsFlowLogStorageBucketOutputWithContext(context.Context) GetIsFlowLogStorageBucketOutput +} + +type GetIsFlowLogStorageBucketArgs struct { + // The globally unique name of this COS bucket. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsFlowLogStorageBucketArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogStorageBucket)(nil)).Elem() +} + +func (i GetIsFlowLogStorageBucketArgs) ToGetIsFlowLogStorageBucketOutput() GetIsFlowLogStorageBucketOutput { + return i.ToGetIsFlowLogStorageBucketOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogStorageBucketArgs) ToGetIsFlowLogStorageBucketOutputWithContext(ctx context.Context) GetIsFlowLogStorageBucketOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogStorageBucketOutput) +} + +// GetIsFlowLogStorageBucketArrayInput is an input type that accepts GetIsFlowLogStorageBucketArray and GetIsFlowLogStorageBucketArrayOutput values. +// You can construct a concrete instance of `GetIsFlowLogStorageBucketArrayInput` via: +// +// GetIsFlowLogStorageBucketArray{ GetIsFlowLogStorageBucketArgs{...} } +type GetIsFlowLogStorageBucketArrayInput interface { + pulumi.Input + + ToGetIsFlowLogStorageBucketArrayOutput() GetIsFlowLogStorageBucketArrayOutput + ToGetIsFlowLogStorageBucketArrayOutputWithContext(context.Context) GetIsFlowLogStorageBucketArrayOutput +} + +type GetIsFlowLogStorageBucketArray []GetIsFlowLogStorageBucketInput + +func (GetIsFlowLogStorageBucketArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogStorageBucket)(nil)).Elem() +} + +func (i GetIsFlowLogStorageBucketArray) ToGetIsFlowLogStorageBucketArrayOutput() GetIsFlowLogStorageBucketArrayOutput { + return i.ToGetIsFlowLogStorageBucketArrayOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogStorageBucketArray) ToGetIsFlowLogStorageBucketArrayOutputWithContext(ctx context.Context) GetIsFlowLogStorageBucketArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogStorageBucketArrayOutput) +} + +type GetIsFlowLogStorageBucketOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogStorageBucketOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogStorageBucket)(nil)).Elem() +} + +func (o GetIsFlowLogStorageBucketOutput) ToGetIsFlowLogStorageBucketOutput() GetIsFlowLogStorageBucketOutput { + return o +} + +func (o GetIsFlowLogStorageBucketOutput) ToGetIsFlowLogStorageBucketOutputWithContext(ctx context.Context) GetIsFlowLogStorageBucketOutput { + return o +} + +// The globally unique name of this COS bucket. +func (o GetIsFlowLogStorageBucketOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogStorageBucket) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsFlowLogStorageBucketArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogStorageBucketArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogStorageBucket)(nil)).Elem() +} + +func (o GetIsFlowLogStorageBucketArrayOutput) ToGetIsFlowLogStorageBucketArrayOutput() GetIsFlowLogStorageBucketArrayOutput { + return o +} + +func (o GetIsFlowLogStorageBucketArrayOutput) ToGetIsFlowLogStorageBucketArrayOutputWithContext(ctx context.Context) GetIsFlowLogStorageBucketArrayOutput { + return o +} + +func (o GetIsFlowLogStorageBucketArrayOutput) Index(i pulumi.IntInput) GetIsFlowLogStorageBucketOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFlowLogStorageBucket { + return vs[0].([]GetIsFlowLogStorageBucket)[vs[1].(int)] + }).(GetIsFlowLogStorageBucketOutput) +} + +type GetIsFlowLogTarget struct { + // The CRN for this virtual server instance. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsFlowLogTargetDeleted `pulumi:"deleteds"` + // The URL for this network interface. + Href string `pulumi:"href"` + // The unique identifier for this network interface. + Id string `pulumi:"id"` + // The user-defined name for this network interface. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsFlowLogTargetInput is an input type that accepts GetIsFlowLogTargetArgs and GetIsFlowLogTargetOutput values. +// You can construct a concrete instance of `GetIsFlowLogTargetInput` via: +// +// GetIsFlowLogTargetArgs{...} +type GetIsFlowLogTargetInput interface { + pulumi.Input + + ToGetIsFlowLogTargetOutput() GetIsFlowLogTargetOutput + ToGetIsFlowLogTargetOutputWithContext(context.Context) GetIsFlowLogTargetOutput +} + +type GetIsFlowLogTargetArgs struct { + // The CRN for this virtual server instance. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsFlowLogTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network interface. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this network interface. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsFlowLogTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogTarget)(nil)).Elem() +} + +func (i GetIsFlowLogTargetArgs) ToGetIsFlowLogTargetOutput() GetIsFlowLogTargetOutput { + return i.ToGetIsFlowLogTargetOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogTargetArgs) ToGetIsFlowLogTargetOutputWithContext(ctx context.Context) GetIsFlowLogTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogTargetOutput) +} + +// GetIsFlowLogTargetArrayInput is an input type that accepts GetIsFlowLogTargetArray and GetIsFlowLogTargetArrayOutput values. +// You can construct a concrete instance of `GetIsFlowLogTargetArrayInput` via: +// +// GetIsFlowLogTargetArray{ GetIsFlowLogTargetArgs{...} } +type GetIsFlowLogTargetArrayInput interface { + pulumi.Input + + ToGetIsFlowLogTargetArrayOutput() GetIsFlowLogTargetArrayOutput + ToGetIsFlowLogTargetArrayOutputWithContext(context.Context) GetIsFlowLogTargetArrayOutput +} + +type GetIsFlowLogTargetArray []GetIsFlowLogTargetInput + +func (GetIsFlowLogTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogTarget)(nil)).Elem() +} + +func (i GetIsFlowLogTargetArray) ToGetIsFlowLogTargetArrayOutput() GetIsFlowLogTargetArrayOutput { + return i.ToGetIsFlowLogTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogTargetArray) ToGetIsFlowLogTargetArrayOutputWithContext(ctx context.Context) GetIsFlowLogTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogTargetArrayOutput) +} + +type GetIsFlowLogTargetOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogTarget)(nil)).Elem() +} + +func (o GetIsFlowLogTargetOutput) ToGetIsFlowLogTargetOutput() GetIsFlowLogTargetOutput { + return o +} + +func (o GetIsFlowLogTargetOutput) ToGetIsFlowLogTargetOutputWithContext(ctx context.Context) GetIsFlowLogTargetOutput { + return o +} + +// The CRN for this virtual server instance. +func (o GetIsFlowLogTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsFlowLogTargetOutput) Deleteds() GetIsFlowLogTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsFlowLogTarget) []GetIsFlowLogTargetDeleted { return v.Deleteds }).(GetIsFlowLogTargetDeletedArrayOutput) +} + +// The URL for this network interface. +func (o GetIsFlowLogTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network interface. +func (o GetIsFlowLogTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface. +func (o GetIsFlowLogTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsFlowLogTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsFlowLogTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogTarget)(nil)).Elem() +} + +func (o GetIsFlowLogTargetArrayOutput) ToGetIsFlowLogTargetArrayOutput() GetIsFlowLogTargetArrayOutput { + return o +} + +func (o GetIsFlowLogTargetArrayOutput) ToGetIsFlowLogTargetArrayOutputWithContext(ctx context.Context) GetIsFlowLogTargetArrayOutput { + return o +} + +func (o GetIsFlowLogTargetArrayOutput) Index(i pulumi.IntInput) GetIsFlowLogTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFlowLogTarget { + return vs[0].([]GetIsFlowLogTarget)[vs[1].(int)] + }).(GetIsFlowLogTargetOutput) +} + +type GetIsFlowLogTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsFlowLogTargetDeletedInput is an input type that accepts GetIsFlowLogTargetDeletedArgs and GetIsFlowLogTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsFlowLogTargetDeletedInput` via: +// +// GetIsFlowLogTargetDeletedArgs{...} +type GetIsFlowLogTargetDeletedInput interface { + pulumi.Input + + ToGetIsFlowLogTargetDeletedOutput() GetIsFlowLogTargetDeletedOutput + ToGetIsFlowLogTargetDeletedOutputWithContext(context.Context) GetIsFlowLogTargetDeletedOutput +} + +type GetIsFlowLogTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsFlowLogTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogTargetDeleted)(nil)).Elem() +} + +func (i GetIsFlowLogTargetDeletedArgs) ToGetIsFlowLogTargetDeletedOutput() GetIsFlowLogTargetDeletedOutput { + return i.ToGetIsFlowLogTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogTargetDeletedArgs) ToGetIsFlowLogTargetDeletedOutputWithContext(ctx context.Context) GetIsFlowLogTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogTargetDeletedOutput) +} + +// GetIsFlowLogTargetDeletedArrayInput is an input type that accepts GetIsFlowLogTargetDeletedArray and GetIsFlowLogTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsFlowLogTargetDeletedArrayInput` via: +// +// GetIsFlowLogTargetDeletedArray{ GetIsFlowLogTargetDeletedArgs{...} } +type GetIsFlowLogTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsFlowLogTargetDeletedArrayOutput() GetIsFlowLogTargetDeletedArrayOutput + ToGetIsFlowLogTargetDeletedArrayOutputWithContext(context.Context) GetIsFlowLogTargetDeletedArrayOutput +} + +type GetIsFlowLogTargetDeletedArray []GetIsFlowLogTargetDeletedInput + +func (GetIsFlowLogTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogTargetDeleted)(nil)).Elem() +} + +func (i GetIsFlowLogTargetDeletedArray) ToGetIsFlowLogTargetDeletedArrayOutput() GetIsFlowLogTargetDeletedArrayOutput { + return i.ToGetIsFlowLogTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogTargetDeletedArray) ToGetIsFlowLogTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsFlowLogTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogTargetDeletedArrayOutput) +} + +type GetIsFlowLogTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogTargetDeleted)(nil)).Elem() +} + +func (o GetIsFlowLogTargetDeletedOutput) ToGetIsFlowLogTargetDeletedOutput() GetIsFlowLogTargetDeletedOutput { + return o +} + +func (o GetIsFlowLogTargetDeletedOutput) ToGetIsFlowLogTargetDeletedOutputWithContext(ctx context.Context) GetIsFlowLogTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsFlowLogTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsFlowLogTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogTargetDeleted)(nil)).Elem() +} + +func (o GetIsFlowLogTargetDeletedArrayOutput) ToGetIsFlowLogTargetDeletedArrayOutput() GetIsFlowLogTargetDeletedArrayOutput { + return o +} + +func (o GetIsFlowLogTargetDeletedArrayOutput) ToGetIsFlowLogTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsFlowLogTargetDeletedArrayOutput { + return o +} + +func (o GetIsFlowLogTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsFlowLogTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFlowLogTargetDeleted { + return vs[0].([]GetIsFlowLogTargetDeleted)[vs[1].(int)] + }).(GetIsFlowLogTargetDeletedOutput) +} + +type GetIsFlowLogVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsFlowLogVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` +} + +// GetIsFlowLogVpcInput is an input type that accepts GetIsFlowLogVpcArgs and GetIsFlowLogVpcOutput values. +// You can construct a concrete instance of `GetIsFlowLogVpcInput` via: +// +// GetIsFlowLogVpcArgs{...} +type GetIsFlowLogVpcInput interface { + pulumi.Input + + ToGetIsFlowLogVpcOutput() GetIsFlowLogVpcOutput + ToGetIsFlowLogVpcOutputWithContext(context.Context) GetIsFlowLogVpcOutput +} + +type GetIsFlowLogVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsFlowLogVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsFlowLogVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogVpc)(nil)).Elem() +} + +func (i GetIsFlowLogVpcArgs) ToGetIsFlowLogVpcOutput() GetIsFlowLogVpcOutput { + return i.ToGetIsFlowLogVpcOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogVpcArgs) ToGetIsFlowLogVpcOutputWithContext(ctx context.Context) GetIsFlowLogVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogVpcOutput) +} + +// GetIsFlowLogVpcArrayInput is an input type that accepts GetIsFlowLogVpcArray and GetIsFlowLogVpcArrayOutput values. +// You can construct a concrete instance of `GetIsFlowLogVpcArrayInput` via: +// +// GetIsFlowLogVpcArray{ GetIsFlowLogVpcArgs{...} } +type GetIsFlowLogVpcArrayInput interface { + pulumi.Input + + ToGetIsFlowLogVpcArrayOutput() GetIsFlowLogVpcArrayOutput + ToGetIsFlowLogVpcArrayOutputWithContext(context.Context) GetIsFlowLogVpcArrayOutput +} + +type GetIsFlowLogVpcArray []GetIsFlowLogVpcInput + +func (GetIsFlowLogVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogVpc)(nil)).Elem() +} + +func (i GetIsFlowLogVpcArray) ToGetIsFlowLogVpcArrayOutput() GetIsFlowLogVpcArrayOutput { + return i.ToGetIsFlowLogVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogVpcArray) ToGetIsFlowLogVpcArrayOutputWithContext(ctx context.Context) GetIsFlowLogVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogVpcArrayOutput) +} + +type GetIsFlowLogVpcOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogVpc)(nil)).Elem() +} + +func (o GetIsFlowLogVpcOutput) ToGetIsFlowLogVpcOutput() GetIsFlowLogVpcOutput { + return o +} + +func (o GetIsFlowLogVpcOutput) ToGetIsFlowLogVpcOutputWithContext(ctx context.Context) GetIsFlowLogVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsFlowLogVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsFlowLogVpcOutput) Deleteds() GetIsFlowLogVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsFlowLogVpc) []GetIsFlowLogVpcDeleted { return v.Deleteds }).(GetIsFlowLogVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsFlowLogVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsFlowLogVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsFlowLogVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogVpc) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsFlowLogVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogVpc)(nil)).Elem() +} + +func (o GetIsFlowLogVpcArrayOutput) ToGetIsFlowLogVpcArrayOutput() GetIsFlowLogVpcArrayOutput { + return o +} + +func (o GetIsFlowLogVpcArrayOutput) ToGetIsFlowLogVpcArrayOutputWithContext(ctx context.Context) GetIsFlowLogVpcArrayOutput { + return o +} + +func (o GetIsFlowLogVpcArrayOutput) Index(i pulumi.IntInput) GetIsFlowLogVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFlowLogVpc { + return vs[0].([]GetIsFlowLogVpc)[vs[1].(int)] + }).(GetIsFlowLogVpcOutput) +} + +type GetIsFlowLogVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsFlowLogVpcDeletedInput is an input type that accepts GetIsFlowLogVpcDeletedArgs and GetIsFlowLogVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsFlowLogVpcDeletedInput` via: +// +// GetIsFlowLogVpcDeletedArgs{...} +type GetIsFlowLogVpcDeletedInput interface { + pulumi.Input + + ToGetIsFlowLogVpcDeletedOutput() GetIsFlowLogVpcDeletedOutput + ToGetIsFlowLogVpcDeletedOutputWithContext(context.Context) GetIsFlowLogVpcDeletedOutput +} + +type GetIsFlowLogVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsFlowLogVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogVpcDeleted)(nil)).Elem() +} + +func (i GetIsFlowLogVpcDeletedArgs) ToGetIsFlowLogVpcDeletedOutput() GetIsFlowLogVpcDeletedOutput { + return i.ToGetIsFlowLogVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogVpcDeletedArgs) ToGetIsFlowLogVpcDeletedOutputWithContext(ctx context.Context) GetIsFlowLogVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogVpcDeletedOutput) +} + +// GetIsFlowLogVpcDeletedArrayInput is an input type that accepts GetIsFlowLogVpcDeletedArray and GetIsFlowLogVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsFlowLogVpcDeletedArrayInput` via: +// +// GetIsFlowLogVpcDeletedArray{ GetIsFlowLogVpcDeletedArgs{...} } +type GetIsFlowLogVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsFlowLogVpcDeletedArrayOutput() GetIsFlowLogVpcDeletedArrayOutput + ToGetIsFlowLogVpcDeletedArrayOutputWithContext(context.Context) GetIsFlowLogVpcDeletedArrayOutput +} + +type GetIsFlowLogVpcDeletedArray []GetIsFlowLogVpcDeletedInput + +func (GetIsFlowLogVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogVpcDeleted)(nil)).Elem() +} + +func (i GetIsFlowLogVpcDeletedArray) ToGetIsFlowLogVpcDeletedArrayOutput() GetIsFlowLogVpcDeletedArrayOutput { + return i.ToGetIsFlowLogVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogVpcDeletedArray) ToGetIsFlowLogVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsFlowLogVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogVpcDeletedArrayOutput) +} + +type GetIsFlowLogVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogVpcDeleted)(nil)).Elem() +} + +func (o GetIsFlowLogVpcDeletedOutput) ToGetIsFlowLogVpcDeletedOutput() GetIsFlowLogVpcDeletedOutput { + return o +} + +func (o GetIsFlowLogVpcDeletedOutput) ToGetIsFlowLogVpcDeletedOutputWithContext(ctx context.Context) GetIsFlowLogVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsFlowLogVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsFlowLogVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogVpcDeleted)(nil)).Elem() +} + +func (o GetIsFlowLogVpcDeletedArrayOutput) ToGetIsFlowLogVpcDeletedArrayOutput() GetIsFlowLogVpcDeletedArrayOutput { + return o +} + +func (o GetIsFlowLogVpcDeletedArrayOutput) ToGetIsFlowLogVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsFlowLogVpcDeletedArrayOutput { + return o +} + +func (o GetIsFlowLogVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsFlowLogVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFlowLogVpcDeleted { + return vs[0].([]GetIsFlowLogVpcDeleted)[vs[1].(int)] + }).(GetIsFlowLogVpcDeletedOutput) +} + +type GetIsFlowLogsFlowLogCollector struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Indicates whether this collector is active + Active bool `pulumi:"active"` + // The date and time flow log was created + CreatedAt string `pulumi:"createdAt"` + // The CRN for this flow log collector + Crn string `pulumi:"crn"` + // The URL for this flow log collector + Href string `pulumi:"href"` + // The unique identifier for this flow log collector + Id string `pulumi:"id"` + // The lifecycle state of the flow log collector + LifecycleState string `pulumi:"lifecycleState"` + // Flow Log Collector name + Name string `pulumi:"name"` + // The resource group of flow log + ResourceGroup string `pulumi:"resourceGroup"` + // The Cloud Object Storage bucket name where the collected flows will be logged + StorageBucket string `pulumi:"storageBucket"` + // Tags for the VPC Flow logs + Tags []string `pulumi:"tags"` + // The target id that the flow log collector is to collect flow logs + Target string `pulumi:"target"` + // The VPC this flow log collector is associated with + Vpc string `pulumi:"vpc"` +} + +// GetIsFlowLogsFlowLogCollectorInput is an input type that accepts GetIsFlowLogsFlowLogCollectorArgs and GetIsFlowLogsFlowLogCollectorOutput values. +// You can construct a concrete instance of `GetIsFlowLogsFlowLogCollectorInput` via: +// +// GetIsFlowLogsFlowLogCollectorArgs{...} +type GetIsFlowLogsFlowLogCollectorInput interface { + pulumi.Input + + ToGetIsFlowLogsFlowLogCollectorOutput() GetIsFlowLogsFlowLogCollectorOutput + ToGetIsFlowLogsFlowLogCollectorOutputWithContext(context.Context) GetIsFlowLogsFlowLogCollectorOutput +} + +type GetIsFlowLogsFlowLogCollectorArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // Indicates whether this collector is active + Active pulumi.BoolInput `pulumi:"active"` + // The date and time flow log was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this flow log collector + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this flow log collector + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this flow log collector + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the flow log collector + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // Flow Log Collector name + Name pulumi.StringInput `pulumi:"name"` + // The resource group of flow log + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The Cloud Object Storage bucket name where the collected flows will be logged + StorageBucket pulumi.StringInput `pulumi:"storageBucket"` + // Tags for the VPC Flow logs + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The target id that the flow log collector is to collect flow logs + Target pulumi.StringInput `pulumi:"target"` + // The VPC this flow log collector is associated with + Vpc pulumi.StringInput `pulumi:"vpc"` +} + +func (GetIsFlowLogsFlowLogCollectorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogsFlowLogCollector)(nil)).Elem() +} + +func (i GetIsFlowLogsFlowLogCollectorArgs) ToGetIsFlowLogsFlowLogCollectorOutput() GetIsFlowLogsFlowLogCollectorOutput { + return i.ToGetIsFlowLogsFlowLogCollectorOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogsFlowLogCollectorArgs) ToGetIsFlowLogsFlowLogCollectorOutputWithContext(ctx context.Context) GetIsFlowLogsFlowLogCollectorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogsFlowLogCollectorOutput) +} + +// GetIsFlowLogsFlowLogCollectorArrayInput is an input type that accepts GetIsFlowLogsFlowLogCollectorArray and GetIsFlowLogsFlowLogCollectorArrayOutput values. +// You can construct a concrete instance of `GetIsFlowLogsFlowLogCollectorArrayInput` via: +// +// GetIsFlowLogsFlowLogCollectorArray{ GetIsFlowLogsFlowLogCollectorArgs{...} } +type GetIsFlowLogsFlowLogCollectorArrayInput interface { + pulumi.Input + + ToGetIsFlowLogsFlowLogCollectorArrayOutput() GetIsFlowLogsFlowLogCollectorArrayOutput + ToGetIsFlowLogsFlowLogCollectorArrayOutputWithContext(context.Context) GetIsFlowLogsFlowLogCollectorArrayOutput +} + +type GetIsFlowLogsFlowLogCollectorArray []GetIsFlowLogsFlowLogCollectorInput + +func (GetIsFlowLogsFlowLogCollectorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogsFlowLogCollector)(nil)).Elem() +} + +func (i GetIsFlowLogsFlowLogCollectorArray) ToGetIsFlowLogsFlowLogCollectorArrayOutput() GetIsFlowLogsFlowLogCollectorArrayOutput { + return i.ToGetIsFlowLogsFlowLogCollectorArrayOutputWithContext(context.Background()) +} + +func (i GetIsFlowLogsFlowLogCollectorArray) ToGetIsFlowLogsFlowLogCollectorArrayOutputWithContext(ctx context.Context) GetIsFlowLogsFlowLogCollectorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsFlowLogsFlowLogCollectorArrayOutput) +} + +type GetIsFlowLogsFlowLogCollectorOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogsFlowLogCollectorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsFlowLogsFlowLogCollector)(nil)).Elem() +} + +func (o GetIsFlowLogsFlowLogCollectorOutput) ToGetIsFlowLogsFlowLogCollectorOutput() GetIsFlowLogsFlowLogCollectorOutput { + return o +} + +func (o GetIsFlowLogsFlowLogCollectorOutput) ToGetIsFlowLogsFlowLogCollectorOutputWithContext(ctx context.Context) GetIsFlowLogsFlowLogCollectorOutput { + return o +} + +// List of access management tags +func (o GetIsFlowLogsFlowLogCollectorOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Indicates whether this collector is active +func (o GetIsFlowLogsFlowLogCollectorOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) bool { return v.Active }).(pulumi.BoolOutput) +} + +// The date and time flow log was created +func (o GetIsFlowLogsFlowLogCollectorOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this flow log collector +func (o GetIsFlowLogsFlowLogCollectorOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this flow log collector +func (o GetIsFlowLogsFlowLogCollectorOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this flow log collector +func (o GetIsFlowLogsFlowLogCollectorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of the flow log collector +func (o GetIsFlowLogsFlowLogCollectorOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Flow Log Collector name +func (o GetIsFlowLogsFlowLogCollectorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group of flow log +func (o GetIsFlowLogsFlowLogCollectorOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The Cloud Object Storage bucket name where the collected flows will be logged +func (o GetIsFlowLogsFlowLogCollectorOutput) StorageBucket() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.StorageBucket }).(pulumi.StringOutput) +} + +// Tags for the VPC Flow logs +func (o GetIsFlowLogsFlowLogCollectorOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The target id that the flow log collector is to collect flow logs +func (o GetIsFlowLogsFlowLogCollectorOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.Target }).(pulumi.StringOutput) +} + +// The VPC this flow log collector is associated with +func (o GetIsFlowLogsFlowLogCollectorOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsFlowLogsFlowLogCollector) string { return v.Vpc }).(pulumi.StringOutput) +} + +type GetIsFlowLogsFlowLogCollectorArrayOutput struct{ *pulumi.OutputState } + +func (GetIsFlowLogsFlowLogCollectorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsFlowLogsFlowLogCollector)(nil)).Elem() +} + +func (o GetIsFlowLogsFlowLogCollectorArrayOutput) ToGetIsFlowLogsFlowLogCollectorArrayOutput() GetIsFlowLogsFlowLogCollectorArrayOutput { + return o +} + +func (o GetIsFlowLogsFlowLogCollectorArrayOutput) ToGetIsFlowLogsFlowLogCollectorArrayOutputWithContext(ctx context.Context) GetIsFlowLogsFlowLogCollectorArrayOutput { + return o +} + +func (o GetIsFlowLogsFlowLogCollectorArrayOutput) Index(i pulumi.IntInput) GetIsFlowLogsFlowLogCollectorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsFlowLogsFlowLogCollector { + return vs[0].([]GetIsFlowLogsFlowLogCollector)[vs[1].(int)] + }).(GetIsFlowLogsFlowLogCollectorOutput) +} + +type GetIsIkePoliciesIkePolicy struct { + // The authentication algorithm. + AuthenticationAlgorithm string `pulumi:"authenticationAlgorithm"` + // The VPN gateway connections that use this IKE policy. + Connections []GetIsIkePoliciesIkePolicyConnection `pulumi:"connections"` + // The date and time that this IKE policy was created. + CreatedAt string `pulumi:"createdAt"` + // The Diffie-Hellman group. + DhGroup int `pulumi:"dhGroup"` + // The encryption algorithm. + EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"` + // The IKE policy's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this IKE policy. + Id string `pulumi:"id"` + // The IKE protocol version. + IkeVersion int `pulumi:"ikeVersion"` + // The key lifetime in seconds. + KeyLifetime int `pulumi:"keyLifetime"` + // The user-defined name for this IKE policy. + Name string `pulumi:"name"` + // The IKE negotiation mode. Only `main` is supported. + NegotiationMode string `pulumi:"negotiationMode"` + // The resource group for this IKE policy. + ResourceGroups []GetIsIkePoliciesIkePolicyResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsIkePoliciesIkePolicyInput is an input type that accepts GetIsIkePoliciesIkePolicyArgs and GetIsIkePoliciesIkePolicyOutput values. +// You can construct a concrete instance of `GetIsIkePoliciesIkePolicyInput` via: +// +// GetIsIkePoliciesIkePolicyArgs{...} +type GetIsIkePoliciesIkePolicyInput interface { + pulumi.Input + + ToGetIsIkePoliciesIkePolicyOutput() GetIsIkePoliciesIkePolicyOutput + ToGetIsIkePoliciesIkePolicyOutputWithContext(context.Context) GetIsIkePoliciesIkePolicyOutput +} + +type GetIsIkePoliciesIkePolicyArgs struct { + // The authentication algorithm. + AuthenticationAlgorithm pulumi.StringInput `pulumi:"authenticationAlgorithm"` + // The VPN gateway connections that use this IKE policy. + Connections GetIsIkePoliciesIkePolicyConnectionArrayInput `pulumi:"connections"` + // The date and time that this IKE policy was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The Diffie-Hellman group. + DhGroup pulumi.IntInput `pulumi:"dhGroup"` + // The encryption algorithm. + EncryptionAlgorithm pulumi.StringInput `pulumi:"encryptionAlgorithm"` + // The IKE policy's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this IKE policy. + Id pulumi.StringInput `pulumi:"id"` + // The IKE protocol version. + IkeVersion pulumi.IntInput `pulumi:"ikeVersion"` + // The key lifetime in seconds. + KeyLifetime pulumi.IntInput `pulumi:"keyLifetime"` + // The user-defined name for this IKE policy. + Name pulumi.StringInput `pulumi:"name"` + // The IKE negotiation mode. Only `main` is supported. + NegotiationMode pulumi.StringInput `pulumi:"negotiationMode"` + // The resource group for this IKE policy. + ResourceGroups GetIsIkePoliciesIkePolicyResourceGroupArrayInput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsIkePoliciesIkePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesIkePolicy)(nil)).Elem() +} + +func (i GetIsIkePoliciesIkePolicyArgs) ToGetIsIkePoliciesIkePolicyOutput() GetIsIkePoliciesIkePolicyOutput { + return i.ToGetIsIkePoliciesIkePolicyOutputWithContext(context.Background()) +} + +func (i GetIsIkePoliciesIkePolicyArgs) ToGetIsIkePoliciesIkePolicyOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePoliciesIkePolicyOutput) +} + +// GetIsIkePoliciesIkePolicyArrayInput is an input type that accepts GetIsIkePoliciesIkePolicyArray and GetIsIkePoliciesIkePolicyArrayOutput values. +// You can construct a concrete instance of `GetIsIkePoliciesIkePolicyArrayInput` via: +// +// GetIsIkePoliciesIkePolicyArray{ GetIsIkePoliciesIkePolicyArgs{...} } +type GetIsIkePoliciesIkePolicyArrayInput interface { + pulumi.Input + + ToGetIsIkePoliciesIkePolicyArrayOutput() GetIsIkePoliciesIkePolicyArrayOutput + ToGetIsIkePoliciesIkePolicyArrayOutputWithContext(context.Context) GetIsIkePoliciesIkePolicyArrayOutput +} + +type GetIsIkePoliciesIkePolicyArray []GetIsIkePoliciesIkePolicyInput + +func (GetIsIkePoliciesIkePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePoliciesIkePolicy)(nil)).Elem() +} + +func (i GetIsIkePoliciesIkePolicyArray) ToGetIsIkePoliciesIkePolicyArrayOutput() GetIsIkePoliciesIkePolicyArrayOutput { + return i.ToGetIsIkePoliciesIkePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsIkePoliciesIkePolicyArray) ToGetIsIkePoliciesIkePolicyArrayOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePoliciesIkePolicyArrayOutput) +} + +type GetIsIkePoliciesIkePolicyOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesIkePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesIkePolicy)(nil)).Elem() +} + +func (o GetIsIkePoliciesIkePolicyOutput) ToGetIsIkePoliciesIkePolicyOutput() GetIsIkePoliciesIkePolicyOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyOutput) ToGetIsIkePoliciesIkePolicyOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyOutput { + return o +} + +// The authentication algorithm. +func (o GetIsIkePoliciesIkePolicyOutput) AuthenticationAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) string { return v.AuthenticationAlgorithm }).(pulumi.StringOutput) +} + +// The VPN gateway connections that use this IKE policy. +func (o GetIsIkePoliciesIkePolicyOutput) Connections() GetIsIkePoliciesIkePolicyConnectionArrayOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) []GetIsIkePoliciesIkePolicyConnection { return v.Connections }).(GetIsIkePoliciesIkePolicyConnectionArrayOutput) +} + +// The date and time that this IKE policy was created. +func (o GetIsIkePoliciesIkePolicyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The Diffie-Hellman group. +func (o GetIsIkePoliciesIkePolicyOutput) DhGroup() pulumi.IntOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) int { return v.DhGroup }).(pulumi.IntOutput) +} + +// The encryption algorithm. +func (o GetIsIkePoliciesIkePolicyOutput) EncryptionAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) string { return v.EncryptionAlgorithm }).(pulumi.StringOutput) +} + +// The IKE policy's canonical URL. +func (o GetIsIkePoliciesIkePolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this IKE policy. +func (o GetIsIkePoliciesIkePolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// The IKE protocol version. +func (o GetIsIkePoliciesIkePolicyOutput) IkeVersion() pulumi.IntOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) int { return v.IkeVersion }).(pulumi.IntOutput) +} + +// The key lifetime in seconds. +func (o GetIsIkePoliciesIkePolicyOutput) KeyLifetime() pulumi.IntOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) int { return v.KeyLifetime }).(pulumi.IntOutput) +} + +// The user-defined name for this IKE policy. +func (o GetIsIkePoliciesIkePolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) string { return v.Name }).(pulumi.StringOutput) +} + +// The IKE negotiation mode. Only `main` is supported. +func (o GetIsIkePoliciesIkePolicyOutput) NegotiationMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) string { return v.NegotiationMode }).(pulumi.StringOutput) +} + +// The resource group for this IKE policy. +func (o GetIsIkePoliciesIkePolicyOutput) ResourceGroups() GetIsIkePoliciesIkePolicyResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) []GetIsIkePoliciesIkePolicyResourceGroup { return v.ResourceGroups }).(GetIsIkePoliciesIkePolicyResourceGroupArrayOutput) +} + +// The resource type. +func (o GetIsIkePoliciesIkePolicyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicy) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsIkePoliciesIkePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesIkePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePoliciesIkePolicy)(nil)).Elem() +} + +func (o GetIsIkePoliciesIkePolicyArrayOutput) ToGetIsIkePoliciesIkePolicyArrayOutput() GetIsIkePoliciesIkePolicyArrayOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyArrayOutput) ToGetIsIkePoliciesIkePolicyArrayOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyArrayOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyArrayOutput) Index(i pulumi.IntInput) GetIsIkePoliciesIkePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIkePoliciesIkePolicy { + return vs[0].([]GetIsIkePoliciesIkePolicy)[vs[1].(int)] + }).(GetIsIkePoliciesIkePolicyOutput) +} + +type GetIsIkePoliciesIkePolicyConnection struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsIkePoliciesIkePolicyConnectionDeleted `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id string `pulumi:"id"` + // The user-defined name for this VPN connection. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsIkePoliciesIkePolicyConnectionInput is an input type that accepts GetIsIkePoliciesIkePolicyConnectionArgs and GetIsIkePoliciesIkePolicyConnectionOutput values. +// You can construct a concrete instance of `GetIsIkePoliciesIkePolicyConnectionInput` via: +// +// GetIsIkePoliciesIkePolicyConnectionArgs{...} +type GetIsIkePoliciesIkePolicyConnectionInput interface { + pulumi.Input + + ToGetIsIkePoliciesIkePolicyConnectionOutput() GetIsIkePoliciesIkePolicyConnectionOutput + ToGetIsIkePoliciesIkePolicyConnectionOutputWithContext(context.Context) GetIsIkePoliciesIkePolicyConnectionOutput +} + +type GetIsIkePoliciesIkePolicyConnectionArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsIkePoliciesIkePolicyConnectionDeletedArrayInput `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this VPN connection. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsIkePoliciesIkePolicyConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesIkePolicyConnection)(nil)).Elem() +} + +func (i GetIsIkePoliciesIkePolicyConnectionArgs) ToGetIsIkePoliciesIkePolicyConnectionOutput() GetIsIkePoliciesIkePolicyConnectionOutput { + return i.ToGetIsIkePoliciesIkePolicyConnectionOutputWithContext(context.Background()) +} + +func (i GetIsIkePoliciesIkePolicyConnectionArgs) ToGetIsIkePoliciesIkePolicyConnectionOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePoliciesIkePolicyConnectionOutput) +} + +// GetIsIkePoliciesIkePolicyConnectionArrayInput is an input type that accepts GetIsIkePoliciesIkePolicyConnectionArray and GetIsIkePoliciesIkePolicyConnectionArrayOutput values. +// You can construct a concrete instance of `GetIsIkePoliciesIkePolicyConnectionArrayInput` via: +// +// GetIsIkePoliciesIkePolicyConnectionArray{ GetIsIkePoliciesIkePolicyConnectionArgs{...} } +type GetIsIkePoliciesIkePolicyConnectionArrayInput interface { + pulumi.Input + + ToGetIsIkePoliciesIkePolicyConnectionArrayOutput() GetIsIkePoliciesIkePolicyConnectionArrayOutput + ToGetIsIkePoliciesIkePolicyConnectionArrayOutputWithContext(context.Context) GetIsIkePoliciesIkePolicyConnectionArrayOutput +} + +type GetIsIkePoliciesIkePolicyConnectionArray []GetIsIkePoliciesIkePolicyConnectionInput + +func (GetIsIkePoliciesIkePolicyConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePoliciesIkePolicyConnection)(nil)).Elem() +} + +func (i GetIsIkePoliciesIkePolicyConnectionArray) ToGetIsIkePoliciesIkePolicyConnectionArrayOutput() GetIsIkePoliciesIkePolicyConnectionArrayOutput { + return i.ToGetIsIkePoliciesIkePolicyConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetIsIkePoliciesIkePolicyConnectionArray) ToGetIsIkePoliciesIkePolicyConnectionArrayOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePoliciesIkePolicyConnectionArrayOutput) +} + +type GetIsIkePoliciesIkePolicyConnectionOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesIkePolicyConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesIkePolicyConnection)(nil)).Elem() +} + +func (o GetIsIkePoliciesIkePolicyConnectionOutput) ToGetIsIkePoliciesIkePolicyConnectionOutput() GetIsIkePoliciesIkePolicyConnectionOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyConnectionOutput) ToGetIsIkePoliciesIkePolicyConnectionOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyConnectionOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsIkePoliciesIkePolicyConnectionOutput) Deleteds() GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyConnection) []GetIsIkePoliciesIkePolicyConnectionDeleted { + return v.Deleteds + }).(GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput) +} + +// The VPN connection's canonical URL. +func (o GetIsIkePoliciesIkePolicyConnectionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyConnection) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway connection. +func (o GetIsIkePoliciesIkePolicyConnectionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyConnection) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN connection. +func (o GetIsIkePoliciesIkePolicyConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsIkePoliciesIkePolicyConnectionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyConnection) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsIkePoliciesIkePolicyConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesIkePolicyConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePoliciesIkePolicyConnection)(nil)).Elem() +} + +func (o GetIsIkePoliciesIkePolicyConnectionArrayOutput) ToGetIsIkePoliciesIkePolicyConnectionArrayOutput() GetIsIkePoliciesIkePolicyConnectionArrayOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyConnectionArrayOutput) ToGetIsIkePoliciesIkePolicyConnectionArrayOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyConnectionArrayOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyConnectionArrayOutput) Index(i pulumi.IntInput) GetIsIkePoliciesIkePolicyConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIkePoliciesIkePolicyConnection { + return vs[0].([]GetIsIkePoliciesIkePolicyConnection)[vs[1].(int)] + }).(GetIsIkePoliciesIkePolicyConnectionOutput) +} + +type GetIsIkePoliciesIkePolicyConnectionDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsIkePoliciesIkePolicyConnectionDeletedInput is an input type that accepts GetIsIkePoliciesIkePolicyConnectionDeletedArgs and GetIsIkePoliciesIkePolicyConnectionDeletedOutput values. +// You can construct a concrete instance of `GetIsIkePoliciesIkePolicyConnectionDeletedInput` via: +// +// GetIsIkePoliciesIkePolicyConnectionDeletedArgs{...} +type GetIsIkePoliciesIkePolicyConnectionDeletedInput interface { + pulumi.Input + + ToGetIsIkePoliciesIkePolicyConnectionDeletedOutput() GetIsIkePoliciesIkePolicyConnectionDeletedOutput + ToGetIsIkePoliciesIkePolicyConnectionDeletedOutputWithContext(context.Context) GetIsIkePoliciesIkePolicyConnectionDeletedOutput +} + +type GetIsIkePoliciesIkePolicyConnectionDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsIkePoliciesIkePolicyConnectionDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesIkePolicyConnectionDeleted)(nil)).Elem() +} + +func (i GetIsIkePoliciesIkePolicyConnectionDeletedArgs) ToGetIsIkePoliciesIkePolicyConnectionDeletedOutput() GetIsIkePoliciesIkePolicyConnectionDeletedOutput { + return i.ToGetIsIkePoliciesIkePolicyConnectionDeletedOutputWithContext(context.Background()) +} + +func (i GetIsIkePoliciesIkePolicyConnectionDeletedArgs) ToGetIsIkePoliciesIkePolicyConnectionDeletedOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyConnectionDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePoliciesIkePolicyConnectionDeletedOutput) +} + +// GetIsIkePoliciesIkePolicyConnectionDeletedArrayInput is an input type that accepts GetIsIkePoliciesIkePolicyConnectionDeletedArray and GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsIkePoliciesIkePolicyConnectionDeletedArrayInput` via: +// +// GetIsIkePoliciesIkePolicyConnectionDeletedArray{ GetIsIkePoliciesIkePolicyConnectionDeletedArgs{...} } +type GetIsIkePoliciesIkePolicyConnectionDeletedArrayInput interface { + pulumi.Input + + ToGetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput() GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput + ToGetIsIkePoliciesIkePolicyConnectionDeletedArrayOutputWithContext(context.Context) GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput +} + +type GetIsIkePoliciesIkePolicyConnectionDeletedArray []GetIsIkePoliciesIkePolicyConnectionDeletedInput + +func (GetIsIkePoliciesIkePolicyConnectionDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePoliciesIkePolicyConnectionDeleted)(nil)).Elem() +} + +func (i GetIsIkePoliciesIkePolicyConnectionDeletedArray) ToGetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput() GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput { + return i.ToGetIsIkePoliciesIkePolicyConnectionDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsIkePoliciesIkePolicyConnectionDeletedArray) ToGetIsIkePoliciesIkePolicyConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput) +} + +type GetIsIkePoliciesIkePolicyConnectionDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesIkePolicyConnectionDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesIkePolicyConnectionDeleted)(nil)).Elem() +} + +func (o GetIsIkePoliciesIkePolicyConnectionDeletedOutput) ToGetIsIkePoliciesIkePolicyConnectionDeletedOutput() GetIsIkePoliciesIkePolicyConnectionDeletedOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyConnectionDeletedOutput) ToGetIsIkePoliciesIkePolicyConnectionDeletedOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyConnectionDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsIkePoliciesIkePolicyConnectionDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyConnectionDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePoliciesIkePolicyConnectionDeleted)(nil)).Elem() +} + +func (o GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput) ToGetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput() GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput) ToGetIsIkePoliciesIkePolicyConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput) Index(i pulumi.IntInput) GetIsIkePoliciesIkePolicyConnectionDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIkePoliciesIkePolicyConnectionDeleted { + return vs[0].([]GetIsIkePoliciesIkePolicyConnectionDeleted)[vs[1].(int)] + }).(GetIsIkePoliciesIkePolicyConnectionDeletedOutput) +} + +type GetIsIkePoliciesIkePolicyResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsIkePoliciesIkePolicyResourceGroupInput is an input type that accepts GetIsIkePoliciesIkePolicyResourceGroupArgs and GetIsIkePoliciesIkePolicyResourceGroupOutput values. +// You can construct a concrete instance of `GetIsIkePoliciesIkePolicyResourceGroupInput` via: +// +// GetIsIkePoliciesIkePolicyResourceGroupArgs{...} +type GetIsIkePoliciesIkePolicyResourceGroupInput interface { + pulumi.Input + + ToGetIsIkePoliciesIkePolicyResourceGroupOutput() GetIsIkePoliciesIkePolicyResourceGroupOutput + ToGetIsIkePoliciesIkePolicyResourceGroupOutputWithContext(context.Context) GetIsIkePoliciesIkePolicyResourceGroupOutput +} + +type GetIsIkePoliciesIkePolicyResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsIkePoliciesIkePolicyResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesIkePolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsIkePoliciesIkePolicyResourceGroupArgs) ToGetIsIkePoliciesIkePolicyResourceGroupOutput() GetIsIkePoliciesIkePolicyResourceGroupOutput { + return i.ToGetIsIkePoliciesIkePolicyResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsIkePoliciesIkePolicyResourceGroupArgs) ToGetIsIkePoliciesIkePolicyResourceGroupOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePoliciesIkePolicyResourceGroupOutput) +} + +// GetIsIkePoliciesIkePolicyResourceGroupArrayInput is an input type that accepts GetIsIkePoliciesIkePolicyResourceGroupArray and GetIsIkePoliciesIkePolicyResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsIkePoliciesIkePolicyResourceGroupArrayInput` via: +// +// GetIsIkePoliciesIkePolicyResourceGroupArray{ GetIsIkePoliciesIkePolicyResourceGroupArgs{...} } +type GetIsIkePoliciesIkePolicyResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsIkePoliciesIkePolicyResourceGroupArrayOutput() GetIsIkePoliciesIkePolicyResourceGroupArrayOutput + ToGetIsIkePoliciesIkePolicyResourceGroupArrayOutputWithContext(context.Context) GetIsIkePoliciesIkePolicyResourceGroupArrayOutput +} + +type GetIsIkePoliciesIkePolicyResourceGroupArray []GetIsIkePoliciesIkePolicyResourceGroupInput + +func (GetIsIkePoliciesIkePolicyResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePoliciesIkePolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsIkePoliciesIkePolicyResourceGroupArray) ToGetIsIkePoliciesIkePolicyResourceGroupArrayOutput() GetIsIkePoliciesIkePolicyResourceGroupArrayOutput { + return i.ToGetIsIkePoliciesIkePolicyResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsIkePoliciesIkePolicyResourceGroupArray) ToGetIsIkePoliciesIkePolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePoliciesIkePolicyResourceGroupArrayOutput) +} + +type GetIsIkePoliciesIkePolicyResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesIkePolicyResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePoliciesIkePolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsIkePoliciesIkePolicyResourceGroupOutput) ToGetIsIkePoliciesIkePolicyResourceGroupOutput() GetIsIkePoliciesIkePolicyResourceGroupOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyResourceGroupOutput) ToGetIsIkePoliciesIkePolicyResourceGroupOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsIkePoliciesIkePolicyResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsIkePoliciesIkePolicyResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsIkePoliciesIkePolicyResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePoliciesIkePolicyResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsIkePoliciesIkePolicyResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIkePoliciesIkePolicyResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePoliciesIkePolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsIkePoliciesIkePolicyResourceGroupArrayOutput) ToGetIsIkePoliciesIkePolicyResourceGroupArrayOutput() GetIsIkePoliciesIkePolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyResourceGroupArrayOutput) ToGetIsIkePoliciesIkePolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsIkePoliciesIkePolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsIkePoliciesIkePolicyResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsIkePoliciesIkePolicyResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIkePoliciesIkePolicyResourceGroup { + return vs[0].([]GetIsIkePoliciesIkePolicyResourceGroup)[vs[1].(int)] + }).(GetIsIkePoliciesIkePolicyResourceGroupOutput) +} + +type GetIsIkePolicyConnection struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsIkePolicyConnectionDeleted `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id string `pulumi:"id"` + // The user-defined name for this VPN connection. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsIkePolicyConnectionInput is an input type that accepts GetIsIkePolicyConnectionArgs and GetIsIkePolicyConnectionOutput values. +// You can construct a concrete instance of `GetIsIkePolicyConnectionInput` via: +// +// GetIsIkePolicyConnectionArgs{...} +type GetIsIkePolicyConnectionInput interface { + pulumi.Input + + ToGetIsIkePolicyConnectionOutput() GetIsIkePolicyConnectionOutput + ToGetIsIkePolicyConnectionOutputWithContext(context.Context) GetIsIkePolicyConnectionOutput +} + +type GetIsIkePolicyConnectionArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsIkePolicyConnectionDeletedArrayInput `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this VPN connection. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsIkePolicyConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePolicyConnection)(nil)).Elem() +} + +func (i GetIsIkePolicyConnectionArgs) ToGetIsIkePolicyConnectionOutput() GetIsIkePolicyConnectionOutput { + return i.ToGetIsIkePolicyConnectionOutputWithContext(context.Background()) +} + +func (i GetIsIkePolicyConnectionArgs) ToGetIsIkePolicyConnectionOutputWithContext(ctx context.Context) GetIsIkePolicyConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePolicyConnectionOutput) +} + +// GetIsIkePolicyConnectionArrayInput is an input type that accepts GetIsIkePolicyConnectionArray and GetIsIkePolicyConnectionArrayOutput values. +// You can construct a concrete instance of `GetIsIkePolicyConnectionArrayInput` via: +// +// GetIsIkePolicyConnectionArray{ GetIsIkePolicyConnectionArgs{...} } +type GetIsIkePolicyConnectionArrayInput interface { + pulumi.Input + + ToGetIsIkePolicyConnectionArrayOutput() GetIsIkePolicyConnectionArrayOutput + ToGetIsIkePolicyConnectionArrayOutputWithContext(context.Context) GetIsIkePolicyConnectionArrayOutput +} + +type GetIsIkePolicyConnectionArray []GetIsIkePolicyConnectionInput + +func (GetIsIkePolicyConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePolicyConnection)(nil)).Elem() +} + +func (i GetIsIkePolicyConnectionArray) ToGetIsIkePolicyConnectionArrayOutput() GetIsIkePolicyConnectionArrayOutput { + return i.ToGetIsIkePolicyConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetIsIkePolicyConnectionArray) ToGetIsIkePolicyConnectionArrayOutputWithContext(ctx context.Context) GetIsIkePolicyConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePolicyConnectionArrayOutput) +} + +type GetIsIkePolicyConnectionOutput struct{ *pulumi.OutputState } + +func (GetIsIkePolicyConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePolicyConnection)(nil)).Elem() +} + +func (o GetIsIkePolicyConnectionOutput) ToGetIsIkePolicyConnectionOutput() GetIsIkePolicyConnectionOutput { + return o +} + +func (o GetIsIkePolicyConnectionOutput) ToGetIsIkePolicyConnectionOutputWithContext(ctx context.Context) GetIsIkePolicyConnectionOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsIkePolicyConnectionOutput) Deleteds() GetIsIkePolicyConnectionDeletedArrayOutput { + return o.ApplyT(func(v GetIsIkePolicyConnection) []GetIsIkePolicyConnectionDeleted { return v.Deleteds }).(GetIsIkePolicyConnectionDeletedArrayOutput) +} + +// The VPN connection's canonical URL. +func (o GetIsIkePolicyConnectionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePolicyConnection) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway connection. +func (o GetIsIkePolicyConnectionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePolicyConnection) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN connection. +func (o GetIsIkePolicyConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePolicyConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsIkePolicyConnectionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePolicyConnection) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsIkePolicyConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIkePolicyConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePolicyConnection)(nil)).Elem() +} + +func (o GetIsIkePolicyConnectionArrayOutput) ToGetIsIkePolicyConnectionArrayOutput() GetIsIkePolicyConnectionArrayOutput { + return o +} + +func (o GetIsIkePolicyConnectionArrayOutput) ToGetIsIkePolicyConnectionArrayOutputWithContext(ctx context.Context) GetIsIkePolicyConnectionArrayOutput { + return o +} + +func (o GetIsIkePolicyConnectionArrayOutput) Index(i pulumi.IntInput) GetIsIkePolicyConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIkePolicyConnection { + return vs[0].([]GetIsIkePolicyConnection)[vs[1].(int)] + }).(GetIsIkePolicyConnectionOutput) +} + +type GetIsIkePolicyConnectionDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsIkePolicyConnectionDeletedInput is an input type that accepts GetIsIkePolicyConnectionDeletedArgs and GetIsIkePolicyConnectionDeletedOutput values. +// You can construct a concrete instance of `GetIsIkePolicyConnectionDeletedInput` via: +// +// GetIsIkePolicyConnectionDeletedArgs{...} +type GetIsIkePolicyConnectionDeletedInput interface { + pulumi.Input + + ToGetIsIkePolicyConnectionDeletedOutput() GetIsIkePolicyConnectionDeletedOutput + ToGetIsIkePolicyConnectionDeletedOutputWithContext(context.Context) GetIsIkePolicyConnectionDeletedOutput +} + +type GetIsIkePolicyConnectionDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsIkePolicyConnectionDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePolicyConnectionDeleted)(nil)).Elem() +} + +func (i GetIsIkePolicyConnectionDeletedArgs) ToGetIsIkePolicyConnectionDeletedOutput() GetIsIkePolicyConnectionDeletedOutput { + return i.ToGetIsIkePolicyConnectionDeletedOutputWithContext(context.Background()) +} + +func (i GetIsIkePolicyConnectionDeletedArgs) ToGetIsIkePolicyConnectionDeletedOutputWithContext(ctx context.Context) GetIsIkePolicyConnectionDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePolicyConnectionDeletedOutput) +} + +// GetIsIkePolicyConnectionDeletedArrayInput is an input type that accepts GetIsIkePolicyConnectionDeletedArray and GetIsIkePolicyConnectionDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsIkePolicyConnectionDeletedArrayInput` via: +// +// GetIsIkePolicyConnectionDeletedArray{ GetIsIkePolicyConnectionDeletedArgs{...} } +type GetIsIkePolicyConnectionDeletedArrayInput interface { + pulumi.Input + + ToGetIsIkePolicyConnectionDeletedArrayOutput() GetIsIkePolicyConnectionDeletedArrayOutput + ToGetIsIkePolicyConnectionDeletedArrayOutputWithContext(context.Context) GetIsIkePolicyConnectionDeletedArrayOutput +} + +type GetIsIkePolicyConnectionDeletedArray []GetIsIkePolicyConnectionDeletedInput + +func (GetIsIkePolicyConnectionDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePolicyConnectionDeleted)(nil)).Elem() +} + +func (i GetIsIkePolicyConnectionDeletedArray) ToGetIsIkePolicyConnectionDeletedArrayOutput() GetIsIkePolicyConnectionDeletedArrayOutput { + return i.ToGetIsIkePolicyConnectionDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsIkePolicyConnectionDeletedArray) ToGetIsIkePolicyConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsIkePolicyConnectionDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePolicyConnectionDeletedArrayOutput) +} + +type GetIsIkePolicyConnectionDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsIkePolicyConnectionDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePolicyConnectionDeleted)(nil)).Elem() +} + +func (o GetIsIkePolicyConnectionDeletedOutput) ToGetIsIkePolicyConnectionDeletedOutput() GetIsIkePolicyConnectionDeletedOutput { + return o +} + +func (o GetIsIkePolicyConnectionDeletedOutput) ToGetIsIkePolicyConnectionDeletedOutputWithContext(ctx context.Context) GetIsIkePolicyConnectionDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsIkePolicyConnectionDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePolicyConnectionDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsIkePolicyConnectionDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIkePolicyConnectionDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePolicyConnectionDeleted)(nil)).Elem() +} + +func (o GetIsIkePolicyConnectionDeletedArrayOutput) ToGetIsIkePolicyConnectionDeletedArrayOutput() GetIsIkePolicyConnectionDeletedArrayOutput { + return o +} + +func (o GetIsIkePolicyConnectionDeletedArrayOutput) ToGetIsIkePolicyConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsIkePolicyConnectionDeletedArrayOutput { + return o +} + +func (o GetIsIkePolicyConnectionDeletedArrayOutput) Index(i pulumi.IntInput) GetIsIkePolicyConnectionDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIkePolicyConnectionDeleted { + return vs[0].([]GetIsIkePolicyConnectionDeleted)[vs[1].(int)] + }).(GetIsIkePolicyConnectionDeletedOutput) +} + +type GetIsIkePolicyResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsIkePolicyResourceGroupInput is an input type that accepts GetIsIkePolicyResourceGroupArgs and GetIsIkePolicyResourceGroupOutput values. +// You can construct a concrete instance of `GetIsIkePolicyResourceGroupInput` via: +// +// GetIsIkePolicyResourceGroupArgs{...} +type GetIsIkePolicyResourceGroupInput interface { + pulumi.Input + + ToGetIsIkePolicyResourceGroupOutput() GetIsIkePolicyResourceGroupOutput + ToGetIsIkePolicyResourceGroupOutputWithContext(context.Context) GetIsIkePolicyResourceGroupOutput +} + +type GetIsIkePolicyResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsIkePolicyResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsIkePolicyResourceGroupArgs) ToGetIsIkePolicyResourceGroupOutput() GetIsIkePolicyResourceGroupOutput { + return i.ToGetIsIkePolicyResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsIkePolicyResourceGroupArgs) ToGetIsIkePolicyResourceGroupOutputWithContext(ctx context.Context) GetIsIkePolicyResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePolicyResourceGroupOutput) +} + +// GetIsIkePolicyResourceGroupArrayInput is an input type that accepts GetIsIkePolicyResourceGroupArray and GetIsIkePolicyResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsIkePolicyResourceGroupArrayInput` via: +// +// GetIsIkePolicyResourceGroupArray{ GetIsIkePolicyResourceGroupArgs{...} } +type GetIsIkePolicyResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsIkePolicyResourceGroupArrayOutput() GetIsIkePolicyResourceGroupArrayOutput + ToGetIsIkePolicyResourceGroupArrayOutputWithContext(context.Context) GetIsIkePolicyResourceGroupArrayOutput +} + +type GetIsIkePolicyResourceGroupArray []GetIsIkePolicyResourceGroupInput + +func (GetIsIkePolicyResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsIkePolicyResourceGroupArray) ToGetIsIkePolicyResourceGroupArrayOutput() GetIsIkePolicyResourceGroupArrayOutput { + return i.ToGetIsIkePolicyResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsIkePolicyResourceGroupArray) ToGetIsIkePolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsIkePolicyResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIkePolicyResourceGroupArrayOutput) +} + +type GetIsIkePolicyResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsIkePolicyResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIkePolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsIkePolicyResourceGroupOutput) ToGetIsIkePolicyResourceGroupOutput() GetIsIkePolicyResourceGroupOutput { + return o +} + +func (o GetIsIkePolicyResourceGroupOutput) ToGetIsIkePolicyResourceGroupOutputWithContext(ctx context.Context) GetIsIkePolicyResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsIkePolicyResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePolicyResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsIkePolicyResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePolicyResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsIkePolicyResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIkePolicyResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsIkePolicyResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIkePolicyResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIkePolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsIkePolicyResourceGroupArrayOutput) ToGetIsIkePolicyResourceGroupArrayOutput() GetIsIkePolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsIkePolicyResourceGroupArrayOutput) ToGetIsIkePolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsIkePolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsIkePolicyResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsIkePolicyResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIkePolicyResourceGroup { + return vs[0].([]GetIsIkePolicyResourceGroup)[vs[1].(int)] + }).(GetIsIkePolicyResourceGroupOutput) +} + +type GetIsImageAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + Instance string `pulumi:"instance"` +} + +// GetIsImageAllowedUseInput is an input type that accepts GetIsImageAllowedUseArgs and GetIsImageAllowedUseOutput values. +// You can construct a concrete instance of `GetIsImageAllowedUseInput` via: +// +// GetIsImageAllowedUseArgs{...} +type GetIsImageAllowedUseInput interface { + pulumi.Input + + ToGetIsImageAllowedUseOutput() GetIsImageAllowedUseOutput + ToGetIsImageAllowedUseOutputWithContext(context.Context) GetIsImageAllowedUseOutput +} + +type GetIsImageAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsImageAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageAllowedUse)(nil)).Elem() +} + +func (i GetIsImageAllowedUseArgs) ToGetIsImageAllowedUseOutput() GetIsImageAllowedUseOutput { + return i.ToGetIsImageAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsImageAllowedUseArgs) ToGetIsImageAllowedUseOutputWithContext(ctx context.Context) GetIsImageAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageAllowedUseOutput) +} + +// GetIsImageAllowedUseArrayInput is an input type that accepts GetIsImageAllowedUseArray and GetIsImageAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsImageAllowedUseArrayInput` via: +// +// GetIsImageAllowedUseArray{ GetIsImageAllowedUseArgs{...} } +type GetIsImageAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsImageAllowedUseArrayOutput() GetIsImageAllowedUseArrayOutput + ToGetIsImageAllowedUseArrayOutputWithContext(context.Context) GetIsImageAllowedUseArrayOutput +} + +type GetIsImageAllowedUseArray []GetIsImageAllowedUseInput + +func (GetIsImageAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageAllowedUse)(nil)).Elem() +} + +func (i GetIsImageAllowedUseArray) ToGetIsImageAllowedUseArrayOutput() GetIsImageAllowedUseArrayOutput { + return i.ToGetIsImageAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageAllowedUseArray) ToGetIsImageAllowedUseArrayOutputWithContext(ctx context.Context) GetIsImageAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageAllowedUseArrayOutput) +} + +type GetIsImageAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsImageAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageAllowedUse)(nil)).Elem() +} + +func (o GetIsImageAllowedUseOutput) ToGetIsImageAllowedUseOutput() GetIsImageAllowedUseOutput { + return o +} + +func (o GetIsImageAllowedUseOutput) ToGetIsImageAllowedUseOutputWithContext(ctx context.Context) GetIsImageAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsImageAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using this image. +func (o GetIsImageAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. +func (o GetIsImageAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsImageAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageAllowedUse)(nil)).Elem() +} + +func (o GetIsImageAllowedUseArrayOutput) ToGetIsImageAllowedUseArrayOutput() GetIsImageAllowedUseArrayOutput { + return o +} + +func (o GetIsImageAllowedUseArrayOutput) ToGetIsImageAllowedUseArrayOutputWithContext(ctx context.Context) GetIsImageAllowedUseArrayOutput { + return o +} + +func (o GetIsImageAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsImageAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageAllowedUse { + return vs[0].([]GetIsImageAllowedUse)[vs[1].(int)] + }).(GetIsImageAllowedUseOutput) +} + +type GetIsImageBareMetalServerProfilesBareMetalServerProfile struct { + // The URL for this bare metal server profile. + Href string `pulumi:"href"` + // The name for this bare metal server profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsImageBareMetalServerProfilesBareMetalServerProfileInput is an input type that accepts GetIsImageBareMetalServerProfilesBareMetalServerProfileArgs and GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput values. +// You can construct a concrete instance of `GetIsImageBareMetalServerProfilesBareMetalServerProfileInput` via: +// +// GetIsImageBareMetalServerProfilesBareMetalServerProfileArgs{...} +type GetIsImageBareMetalServerProfilesBareMetalServerProfileInput interface { + pulumi.Input + + ToGetIsImageBareMetalServerProfilesBareMetalServerProfileOutput() GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput + ToGetIsImageBareMetalServerProfilesBareMetalServerProfileOutputWithContext(context.Context) GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput +} + +type GetIsImageBareMetalServerProfilesBareMetalServerProfileArgs struct { + // The URL for this bare metal server profile. + Href pulumi.StringInput `pulumi:"href"` + // The name for this bare metal server profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsImageBareMetalServerProfilesBareMetalServerProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageBareMetalServerProfilesBareMetalServerProfile)(nil)).Elem() +} + +func (i GetIsImageBareMetalServerProfilesBareMetalServerProfileArgs) ToGetIsImageBareMetalServerProfilesBareMetalServerProfileOutput() GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput { + return i.ToGetIsImageBareMetalServerProfilesBareMetalServerProfileOutputWithContext(context.Background()) +} + +func (i GetIsImageBareMetalServerProfilesBareMetalServerProfileArgs) ToGetIsImageBareMetalServerProfilesBareMetalServerProfileOutputWithContext(ctx context.Context) GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput) +} + +// GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayInput is an input type that accepts GetIsImageBareMetalServerProfilesBareMetalServerProfileArray and GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput values. +// You can construct a concrete instance of `GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayInput` via: +// +// GetIsImageBareMetalServerProfilesBareMetalServerProfileArray{ GetIsImageBareMetalServerProfilesBareMetalServerProfileArgs{...} } +type GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayInput interface { + pulumi.Input + + ToGetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput() GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput + ToGetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutputWithContext(context.Context) GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput +} + +type GetIsImageBareMetalServerProfilesBareMetalServerProfileArray []GetIsImageBareMetalServerProfilesBareMetalServerProfileInput + +func (GetIsImageBareMetalServerProfilesBareMetalServerProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageBareMetalServerProfilesBareMetalServerProfile)(nil)).Elem() +} + +func (i GetIsImageBareMetalServerProfilesBareMetalServerProfileArray) ToGetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput() GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput { + return i.ToGetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageBareMetalServerProfilesBareMetalServerProfileArray) ToGetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutputWithContext(ctx context.Context) GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput) +} + +type GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput struct{ *pulumi.OutputState } + +func (GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageBareMetalServerProfilesBareMetalServerProfile)(nil)).Elem() +} + +func (o GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput) ToGetIsImageBareMetalServerProfilesBareMetalServerProfileOutput() GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput { + return o +} + +func (o GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput) ToGetIsImageBareMetalServerProfilesBareMetalServerProfileOutputWithContext(ctx context.Context) GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput { + return o +} + +// The URL for this bare metal server profile. +func (o GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageBareMetalServerProfilesBareMetalServerProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The name for this bare metal server profile. +func (o GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageBareMetalServerProfilesBareMetalServerProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageBareMetalServerProfilesBareMetalServerProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageBareMetalServerProfilesBareMetalServerProfile)(nil)).Elem() +} + +func (o GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput) ToGetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput() GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput { + return o +} + +func (o GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput) ToGetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutputWithContext(ctx context.Context) GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput { + return o +} + +func (o GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput) Index(i pulumi.IntInput) GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageBareMetalServerProfilesBareMetalServerProfile { + return vs[0].([]GetIsImageBareMetalServerProfilesBareMetalServerProfile)[vs[1].(int)] + }).(GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput) +} + +type GetIsImageCatalogOffering struct { + // Indicates whether this image is managed as part of a catalog offering. A managed image can be provisioned using its catalog offering CRN or catalog offering version CRN. + Managed bool `pulumi:"managed"` + // The catalog offering version associated with this image. + Versions []GetIsImageCatalogOfferingVersion `pulumi:"versions"` +} + +// GetIsImageCatalogOfferingInput is an input type that accepts GetIsImageCatalogOfferingArgs and GetIsImageCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsImageCatalogOfferingInput` via: +// +// GetIsImageCatalogOfferingArgs{...} +type GetIsImageCatalogOfferingInput interface { + pulumi.Input + + ToGetIsImageCatalogOfferingOutput() GetIsImageCatalogOfferingOutput + ToGetIsImageCatalogOfferingOutputWithContext(context.Context) GetIsImageCatalogOfferingOutput +} + +type GetIsImageCatalogOfferingArgs struct { + // Indicates whether this image is managed as part of a catalog offering. A managed image can be provisioned using its catalog offering CRN or catalog offering version CRN. + Managed pulumi.BoolInput `pulumi:"managed"` + // The catalog offering version associated with this image. + Versions GetIsImageCatalogOfferingVersionArrayInput `pulumi:"versions"` +} + +func (GetIsImageCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageCatalogOffering)(nil)).Elem() +} + +func (i GetIsImageCatalogOfferingArgs) ToGetIsImageCatalogOfferingOutput() GetIsImageCatalogOfferingOutput { + return i.ToGetIsImageCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsImageCatalogOfferingArgs) ToGetIsImageCatalogOfferingOutputWithContext(ctx context.Context) GetIsImageCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageCatalogOfferingOutput) +} + +// GetIsImageCatalogOfferingArrayInput is an input type that accepts GetIsImageCatalogOfferingArray and GetIsImageCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsImageCatalogOfferingArrayInput` via: +// +// GetIsImageCatalogOfferingArray{ GetIsImageCatalogOfferingArgs{...} } +type GetIsImageCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsImageCatalogOfferingArrayOutput() GetIsImageCatalogOfferingArrayOutput + ToGetIsImageCatalogOfferingArrayOutputWithContext(context.Context) GetIsImageCatalogOfferingArrayOutput +} + +type GetIsImageCatalogOfferingArray []GetIsImageCatalogOfferingInput + +func (GetIsImageCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageCatalogOffering)(nil)).Elem() +} + +func (i GetIsImageCatalogOfferingArray) ToGetIsImageCatalogOfferingArrayOutput() GetIsImageCatalogOfferingArrayOutput { + return i.ToGetIsImageCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageCatalogOfferingArray) ToGetIsImageCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsImageCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageCatalogOfferingArrayOutput) +} + +type GetIsImageCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsImageCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageCatalogOffering)(nil)).Elem() +} + +func (o GetIsImageCatalogOfferingOutput) ToGetIsImageCatalogOfferingOutput() GetIsImageCatalogOfferingOutput { + return o +} + +func (o GetIsImageCatalogOfferingOutput) ToGetIsImageCatalogOfferingOutputWithContext(ctx context.Context) GetIsImageCatalogOfferingOutput { + return o +} + +// Indicates whether this image is managed as part of a catalog offering. A managed image can be provisioned using its catalog offering CRN or catalog offering version CRN. +func (o GetIsImageCatalogOfferingOutput) Managed() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsImageCatalogOffering) bool { return v.Managed }).(pulumi.BoolOutput) +} + +// The catalog offering version associated with this image. +func (o GetIsImageCatalogOfferingOutput) Versions() GetIsImageCatalogOfferingVersionArrayOutput { + return o.ApplyT(func(v GetIsImageCatalogOffering) []GetIsImageCatalogOfferingVersion { return v.Versions }).(GetIsImageCatalogOfferingVersionArrayOutput) +} + +type GetIsImageCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageCatalogOffering)(nil)).Elem() +} + +func (o GetIsImageCatalogOfferingArrayOutput) ToGetIsImageCatalogOfferingArrayOutput() GetIsImageCatalogOfferingArrayOutput { + return o +} + +func (o GetIsImageCatalogOfferingArrayOutput) ToGetIsImageCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsImageCatalogOfferingArrayOutput { + return o +} + +func (o GetIsImageCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsImageCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageCatalogOffering { + return vs[0].([]GetIsImageCatalogOffering)[vs[1].(int)] + }).(GetIsImageCatalogOfferingOutput) +} + +type GetIsImageCatalogOfferingVersion struct { + // The CRN for this version of the IBM Cloud catalog offering. + Crn string `pulumi:"crn"` +} + +// GetIsImageCatalogOfferingVersionInput is an input type that accepts GetIsImageCatalogOfferingVersionArgs and GetIsImageCatalogOfferingVersionOutput values. +// You can construct a concrete instance of `GetIsImageCatalogOfferingVersionInput` via: +// +// GetIsImageCatalogOfferingVersionArgs{...} +type GetIsImageCatalogOfferingVersionInput interface { + pulumi.Input + + ToGetIsImageCatalogOfferingVersionOutput() GetIsImageCatalogOfferingVersionOutput + ToGetIsImageCatalogOfferingVersionOutputWithContext(context.Context) GetIsImageCatalogOfferingVersionOutput +} + +type GetIsImageCatalogOfferingVersionArgs struct { + // The CRN for this version of the IBM Cloud catalog offering. + Crn pulumi.StringInput `pulumi:"crn"` +} + +func (GetIsImageCatalogOfferingVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageCatalogOfferingVersion)(nil)).Elem() +} + +func (i GetIsImageCatalogOfferingVersionArgs) ToGetIsImageCatalogOfferingVersionOutput() GetIsImageCatalogOfferingVersionOutput { + return i.ToGetIsImageCatalogOfferingVersionOutputWithContext(context.Background()) +} + +func (i GetIsImageCatalogOfferingVersionArgs) ToGetIsImageCatalogOfferingVersionOutputWithContext(ctx context.Context) GetIsImageCatalogOfferingVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageCatalogOfferingVersionOutput) +} + +// GetIsImageCatalogOfferingVersionArrayInput is an input type that accepts GetIsImageCatalogOfferingVersionArray and GetIsImageCatalogOfferingVersionArrayOutput values. +// You can construct a concrete instance of `GetIsImageCatalogOfferingVersionArrayInput` via: +// +// GetIsImageCatalogOfferingVersionArray{ GetIsImageCatalogOfferingVersionArgs{...} } +type GetIsImageCatalogOfferingVersionArrayInput interface { + pulumi.Input + + ToGetIsImageCatalogOfferingVersionArrayOutput() GetIsImageCatalogOfferingVersionArrayOutput + ToGetIsImageCatalogOfferingVersionArrayOutputWithContext(context.Context) GetIsImageCatalogOfferingVersionArrayOutput +} + +type GetIsImageCatalogOfferingVersionArray []GetIsImageCatalogOfferingVersionInput + +func (GetIsImageCatalogOfferingVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageCatalogOfferingVersion)(nil)).Elem() +} + +func (i GetIsImageCatalogOfferingVersionArray) ToGetIsImageCatalogOfferingVersionArrayOutput() GetIsImageCatalogOfferingVersionArrayOutput { + return i.ToGetIsImageCatalogOfferingVersionArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageCatalogOfferingVersionArray) ToGetIsImageCatalogOfferingVersionArrayOutputWithContext(ctx context.Context) GetIsImageCatalogOfferingVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageCatalogOfferingVersionArrayOutput) +} + +type GetIsImageCatalogOfferingVersionOutput struct{ *pulumi.OutputState } + +func (GetIsImageCatalogOfferingVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageCatalogOfferingVersion)(nil)).Elem() +} + +func (o GetIsImageCatalogOfferingVersionOutput) ToGetIsImageCatalogOfferingVersionOutput() GetIsImageCatalogOfferingVersionOutput { + return o +} + +func (o GetIsImageCatalogOfferingVersionOutput) ToGetIsImageCatalogOfferingVersionOutputWithContext(ctx context.Context) GetIsImageCatalogOfferingVersionOutput { + return o +} + +// The CRN for this version of the IBM Cloud catalog offering. +func (o GetIsImageCatalogOfferingVersionOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageCatalogOfferingVersion) string { return v.Crn }).(pulumi.StringOutput) +} + +type GetIsImageCatalogOfferingVersionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageCatalogOfferingVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageCatalogOfferingVersion)(nil)).Elem() +} + +func (o GetIsImageCatalogOfferingVersionArrayOutput) ToGetIsImageCatalogOfferingVersionArrayOutput() GetIsImageCatalogOfferingVersionArrayOutput { + return o +} + +func (o GetIsImageCatalogOfferingVersionArrayOutput) ToGetIsImageCatalogOfferingVersionArrayOutputWithContext(ctx context.Context) GetIsImageCatalogOfferingVersionArrayOutput { + return o +} + +func (o GetIsImageCatalogOfferingVersionArrayOutput) Index(i pulumi.IntInput) GetIsImageCatalogOfferingVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageCatalogOfferingVersion { + return vs[0].([]GetIsImageCatalogOfferingVersion)[vs[1].(int)] + }).(GetIsImageCatalogOfferingVersionOutput) +} + +type GetIsImageExportJobStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsImageExportJobStatusReasonInput is an input type that accepts GetIsImageExportJobStatusReasonArgs and GetIsImageExportJobStatusReasonOutput values. +// You can construct a concrete instance of `GetIsImageExportJobStatusReasonInput` via: +// +// GetIsImageExportJobStatusReasonArgs{...} +type GetIsImageExportJobStatusReasonInput interface { + pulumi.Input + + ToGetIsImageExportJobStatusReasonOutput() GetIsImageExportJobStatusReasonOutput + ToGetIsImageExportJobStatusReasonOutputWithContext(context.Context) GetIsImageExportJobStatusReasonOutput +} + +type GetIsImageExportJobStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsImageExportJobStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobStatusReason)(nil)).Elem() +} + +func (i GetIsImageExportJobStatusReasonArgs) ToGetIsImageExportJobStatusReasonOutput() GetIsImageExportJobStatusReasonOutput { + return i.ToGetIsImageExportJobStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobStatusReasonArgs) ToGetIsImageExportJobStatusReasonOutputWithContext(ctx context.Context) GetIsImageExportJobStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobStatusReasonOutput) +} + +// GetIsImageExportJobStatusReasonArrayInput is an input type that accepts GetIsImageExportJobStatusReasonArray and GetIsImageExportJobStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsImageExportJobStatusReasonArrayInput` via: +// +// GetIsImageExportJobStatusReasonArray{ GetIsImageExportJobStatusReasonArgs{...} } +type GetIsImageExportJobStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsImageExportJobStatusReasonArrayOutput() GetIsImageExportJobStatusReasonArrayOutput + ToGetIsImageExportJobStatusReasonArrayOutputWithContext(context.Context) GetIsImageExportJobStatusReasonArrayOutput +} + +type GetIsImageExportJobStatusReasonArray []GetIsImageExportJobStatusReasonInput + +func (GetIsImageExportJobStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobStatusReason)(nil)).Elem() +} + +func (i GetIsImageExportJobStatusReasonArray) ToGetIsImageExportJobStatusReasonArrayOutput() GetIsImageExportJobStatusReasonArrayOutput { + return i.ToGetIsImageExportJobStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobStatusReasonArray) ToGetIsImageExportJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsImageExportJobStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobStatusReasonArrayOutput) +} + +type GetIsImageExportJobStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobStatusReason)(nil)).Elem() +} + +func (o GetIsImageExportJobStatusReasonOutput) ToGetIsImageExportJobStatusReasonOutput() GetIsImageExportJobStatusReasonOutput { + return o +} + +func (o GetIsImageExportJobStatusReasonOutput) ToGetIsImageExportJobStatusReasonOutputWithContext(ctx context.Context) GetIsImageExportJobStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsImageExportJobStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsImageExportJobStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsImageExportJobStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsImageExportJobStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobStatusReason)(nil)).Elem() +} + +func (o GetIsImageExportJobStatusReasonArrayOutput) ToGetIsImageExportJobStatusReasonArrayOutput() GetIsImageExportJobStatusReasonArrayOutput { + return o +} + +func (o GetIsImageExportJobStatusReasonArrayOutput) ToGetIsImageExportJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsImageExportJobStatusReasonArrayOutput { + return o +} + +func (o GetIsImageExportJobStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsImageExportJobStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageExportJobStatusReason { + return vs[0].([]GetIsImageExportJobStatusReason)[vs[1].(int)] + }).(GetIsImageExportJobStatusReasonOutput) +} + +type GetIsImageExportJobStorageBucket struct { + // The CRN of this Cloud Object Storage bucket. + Crn string `pulumi:"crn"` + // The globally unique name of this Cloud Object Storage bucket. + Name string `pulumi:"name"` +} + +// GetIsImageExportJobStorageBucketInput is an input type that accepts GetIsImageExportJobStorageBucketArgs and GetIsImageExportJobStorageBucketOutput values. +// You can construct a concrete instance of `GetIsImageExportJobStorageBucketInput` via: +// +// GetIsImageExportJobStorageBucketArgs{...} +type GetIsImageExportJobStorageBucketInput interface { + pulumi.Input + + ToGetIsImageExportJobStorageBucketOutput() GetIsImageExportJobStorageBucketOutput + ToGetIsImageExportJobStorageBucketOutputWithContext(context.Context) GetIsImageExportJobStorageBucketOutput +} + +type GetIsImageExportJobStorageBucketArgs struct { + // The CRN of this Cloud Object Storage bucket. + Crn pulumi.StringInput `pulumi:"crn"` + // The globally unique name of this Cloud Object Storage bucket. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsImageExportJobStorageBucketArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobStorageBucket)(nil)).Elem() +} + +func (i GetIsImageExportJobStorageBucketArgs) ToGetIsImageExportJobStorageBucketOutput() GetIsImageExportJobStorageBucketOutput { + return i.ToGetIsImageExportJobStorageBucketOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobStorageBucketArgs) ToGetIsImageExportJobStorageBucketOutputWithContext(ctx context.Context) GetIsImageExportJobStorageBucketOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobStorageBucketOutput) +} + +// GetIsImageExportJobStorageBucketArrayInput is an input type that accepts GetIsImageExportJobStorageBucketArray and GetIsImageExportJobStorageBucketArrayOutput values. +// You can construct a concrete instance of `GetIsImageExportJobStorageBucketArrayInput` via: +// +// GetIsImageExportJobStorageBucketArray{ GetIsImageExportJobStorageBucketArgs{...} } +type GetIsImageExportJobStorageBucketArrayInput interface { + pulumi.Input + + ToGetIsImageExportJobStorageBucketArrayOutput() GetIsImageExportJobStorageBucketArrayOutput + ToGetIsImageExportJobStorageBucketArrayOutputWithContext(context.Context) GetIsImageExportJobStorageBucketArrayOutput +} + +type GetIsImageExportJobStorageBucketArray []GetIsImageExportJobStorageBucketInput + +func (GetIsImageExportJobStorageBucketArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobStorageBucket)(nil)).Elem() +} + +func (i GetIsImageExportJobStorageBucketArray) ToGetIsImageExportJobStorageBucketArrayOutput() GetIsImageExportJobStorageBucketArrayOutput { + return i.ToGetIsImageExportJobStorageBucketArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobStorageBucketArray) ToGetIsImageExportJobStorageBucketArrayOutputWithContext(ctx context.Context) GetIsImageExportJobStorageBucketArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobStorageBucketArrayOutput) +} + +type GetIsImageExportJobStorageBucketOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobStorageBucketOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobStorageBucket)(nil)).Elem() +} + +func (o GetIsImageExportJobStorageBucketOutput) ToGetIsImageExportJobStorageBucketOutput() GetIsImageExportJobStorageBucketOutput { + return o +} + +func (o GetIsImageExportJobStorageBucketOutput) ToGetIsImageExportJobStorageBucketOutputWithContext(ctx context.Context) GetIsImageExportJobStorageBucketOutput { + return o +} + +// The CRN of this Cloud Object Storage bucket. +func (o GetIsImageExportJobStorageBucketOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobStorageBucket) string { return v.Crn }).(pulumi.StringOutput) +} + +// The globally unique name of this Cloud Object Storage bucket. +func (o GetIsImageExportJobStorageBucketOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobStorageBucket) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsImageExportJobStorageBucketArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobStorageBucketArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobStorageBucket)(nil)).Elem() +} + +func (o GetIsImageExportJobStorageBucketArrayOutput) ToGetIsImageExportJobStorageBucketArrayOutput() GetIsImageExportJobStorageBucketArrayOutput { + return o +} + +func (o GetIsImageExportJobStorageBucketArrayOutput) ToGetIsImageExportJobStorageBucketArrayOutputWithContext(ctx context.Context) GetIsImageExportJobStorageBucketArrayOutput { + return o +} + +func (o GetIsImageExportJobStorageBucketArrayOutput) Index(i pulumi.IntInput) GetIsImageExportJobStorageBucketOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageExportJobStorageBucket { + return vs[0].([]GetIsImageExportJobStorageBucket)[vs[1].(int)] + }).(GetIsImageExportJobStorageBucketOutput) +} + +type GetIsImageExportJobStorageObject struct { + // The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. + Name string `pulumi:"name"` +} + +// GetIsImageExportJobStorageObjectInput is an input type that accepts GetIsImageExportJobStorageObjectArgs and GetIsImageExportJobStorageObjectOutput values. +// You can construct a concrete instance of `GetIsImageExportJobStorageObjectInput` via: +// +// GetIsImageExportJobStorageObjectArgs{...} +type GetIsImageExportJobStorageObjectInput interface { + pulumi.Input + + ToGetIsImageExportJobStorageObjectOutput() GetIsImageExportJobStorageObjectOutput + ToGetIsImageExportJobStorageObjectOutputWithContext(context.Context) GetIsImageExportJobStorageObjectOutput +} + +type GetIsImageExportJobStorageObjectArgs struct { + // The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsImageExportJobStorageObjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobStorageObject)(nil)).Elem() +} + +func (i GetIsImageExportJobStorageObjectArgs) ToGetIsImageExportJobStorageObjectOutput() GetIsImageExportJobStorageObjectOutput { + return i.ToGetIsImageExportJobStorageObjectOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobStorageObjectArgs) ToGetIsImageExportJobStorageObjectOutputWithContext(ctx context.Context) GetIsImageExportJobStorageObjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobStorageObjectOutput) +} + +// GetIsImageExportJobStorageObjectArrayInput is an input type that accepts GetIsImageExportJobStorageObjectArray and GetIsImageExportJobStorageObjectArrayOutput values. +// You can construct a concrete instance of `GetIsImageExportJobStorageObjectArrayInput` via: +// +// GetIsImageExportJobStorageObjectArray{ GetIsImageExportJobStorageObjectArgs{...} } +type GetIsImageExportJobStorageObjectArrayInput interface { + pulumi.Input + + ToGetIsImageExportJobStorageObjectArrayOutput() GetIsImageExportJobStorageObjectArrayOutput + ToGetIsImageExportJobStorageObjectArrayOutputWithContext(context.Context) GetIsImageExportJobStorageObjectArrayOutput +} + +type GetIsImageExportJobStorageObjectArray []GetIsImageExportJobStorageObjectInput + +func (GetIsImageExportJobStorageObjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobStorageObject)(nil)).Elem() +} + +func (i GetIsImageExportJobStorageObjectArray) ToGetIsImageExportJobStorageObjectArrayOutput() GetIsImageExportJobStorageObjectArrayOutput { + return i.ToGetIsImageExportJobStorageObjectArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobStorageObjectArray) ToGetIsImageExportJobStorageObjectArrayOutputWithContext(ctx context.Context) GetIsImageExportJobStorageObjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobStorageObjectArrayOutput) +} + +type GetIsImageExportJobStorageObjectOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobStorageObjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobStorageObject)(nil)).Elem() +} + +func (o GetIsImageExportJobStorageObjectOutput) ToGetIsImageExportJobStorageObjectOutput() GetIsImageExportJobStorageObjectOutput { + return o +} + +func (o GetIsImageExportJobStorageObjectOutput) ToGetIsImageExportJobStorageObjectOutputWithContext(ctx context.Context) GetIsImageExportJobStorageObjectOutput { + return o +} + +// The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. +func (o GetIsImageExportJobStorageObjectOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobStorageObject) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsImageExportJobStorageObjectArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobStorageObjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobStorageObject)(nil)).Elem() +} + +func (o GetIsImageExportJobStorageObjectArrayOutput) ToGetIsImageExportJobStorageObjectArrayOutput() GetIsImageExportJobStorageObjectArrayOutput { + return o +} + +func (o GetIsImageExportJobStorageObjectArrayOutput) ToGetIsImageExportJobStorageObjectArrayOutputWithContext(ctx context.Context) GetIsImageExportJobStorageObjectArrayOutput { + return o +} + +func (o GetIsImageExportJobStorageObjectArrayOutput) Index(i pulumi.IntInput) GetIsImageExportJobStorageObjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageExportJobStorageObject { + return vs[0].([]GetIsImageExportJobStorageObject)[vs[1].(int)] + }).(GetIsImageExportJobStorageObjectOutput) +} + +type GetIsImageExportJobsExportJob struct { + // The date and time that the image export job was completed.If absent, the export job has not yet completed. + CompletedAt string `pulumi:"completedAt"` + // The date and time that the image export job was created. + CreatedAt string `pulumi:"createdAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for the exported image. This key can be unwrapped with the image's `encryptionKey` root key using either Key Protect or Hyper Protect Crypto Service.If absent, the export job is for an unencrypted image. + EncryptedDataKey string `pulumi:"encryptedDataKey"` + // The format of the exported image. + Format string `pulumi:"format"` + // The URL for this image export job. + Href string `pulumi:"href"` + // The unique identifier for this image export job. + ImageExportJob string `pulumi:"imageExportJob"` + // The user-defined name for this image export job. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The date and time that the image export job started running.If absent, the export job has not yet started. + StartedAt string `pulumi:"startedAt"` + // The status of this image export job:- `deleting`: Export job is being deleted- `failed`: Export job could not be completed successfully- `queued`: Export job is queued- `running`: Export job is in progress- `succeeded`: Export job was completed successfullyThe exported image object is automatically deleted for `failed` jobs. + Status string `pulumi:"status"` + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons []GetIsImageExportJobsExportJobStatusReason `pulumi:"statusReasons"` + // The Cloud Object Storage bucket of the exported image object. + StorageBuckets []GetIsImageExportJobsExportJobStorageBucket `pulumi:"storageBuckets"` + // The Cloud Object Storage location of the exported image object. The object at this location may not exist until the job is started, and will be incomplete while the job is running.After the job completes, the exported image object is not managed by the IBM VPC service, and may be removed or replaced with a different object by any user or service with IAM authorization to the bucket. + StorageHref string `pulumi:"storageHref"` + // The Cloud Object Storage object for the exported image. This object may not exist untilthe job is started, and will not be complete until the job completes. + StorageObjects []GetIsImageExportJobsExportJobStorageObject `pulumi:"storageObjects"` +} + +// GetIsImageExportJobsExportJobInput is an input type that accepts GetIsImageExportJobsExportJobArgs and GetIsImageExportJobsExportJobOutput values. +// You can construct a concrete instance of `GetIsImageExportJobsExportJobInput` via: +// +// GetIsImageExportJobsExportJobArgs{...} +type GetIsImageExportJobsExportJobInput interface { + pulumi.Input + + ToGetIsImageExportJobsExportJobOutput() GetIsImageExportJobsExportJobOutput + ToGetIsImageExportJobsExportJobOutputWithContext(context.Context) GetIsImageExportJobsExportJobOutput +} + +type GetIsImageExportJobsExportJobArgs struct { + // The date and time that the image export job was completed.If absent, the export job has not yet completed. + CompletedAt pulumi.StringInput `pulumi:"completedAt"` + // The date and time that the image export job was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // A base64-encoded, encrypted representation of the key that was used to encrypt the data for the exported image. This key can be unwrapped with the image's `encryptionKey` root key using either Key Protect or Hyper Protect Crypto Service.If absent, the export job is for an unencrypted image. + EncryptedDataKey pulumi.StringInput `pulumi:"encryptedDataKey"` + // The format of the exported image. + Format pulumi.StringInput `pulumi:"format"` + // The URL for this image export job. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this image export job. + ImageExportJob pulumi.StringInput `pulumi:"imageExportJob"` + // The user-defined name for this image export job. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The date and time that the image export job started running.If absent, the export job has not yet started. + StartedAt pulumi.StringInput `pulumi:"startedAt"` + // The status of this image export job:- `deleting`: Export job is being deleted- `failed`: Export job could not be completed successfully- `queued`: Export job is queued- `running`: Export job is in progress- `succeeded`: Export job was completed successfullyThe exported image object is automatically deleted for `failed` jobs. + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons GetIsImageExportJobsExportJobStatusReasonArrayInput `pulumi:"statusReasons"` + // The Cloud Object Storage bucket of the exported image object. + StorageBuckets GetIsImageExportJobsExportJobStorageBucketArrayInput `pulumi:"storageBuckets"` + // The Cloud Object Storage location of the exported image object. The object at this location may not exist until the job is started, and will be incomplete while the job is running.After the job completes, the exported image object is not managed by the IBM VPC service, and may be removed or replaced with a different object by any user or service with IAM authorization to the bucket. + StorageHref pulumi.StringInput `pulumi:"storageHref"` + // The Cloud Object Storage object for the exported image. This object may not exist untilthe job is started, and will not be complete until the job completes. + StorageObjects GetIsImageExportJobsExportJobStorageObjectArrayInput `pulumi:"storageObjects"` +} + +func (GetIsImageExportJobsExportJobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsExportJob)(nil)).Elem() +} + +func (i GetIsImageExportJobsExportJobArgs) ToGetIsImageExportJobsExportJobOutput() GetIsImageExportJobsExportJobOutput { + return i.ToGetIsImageExportJobsExportJobOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobsExportJobArgs) ToGetIsImageExportJobsExportJobOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobsExportJobOutput) +} + +// GetIsImageExportJobsExportJobArrayInput is an input type that accepts GetIsImageExportJobsExportJobArray and GetIsImageExportJobsExportJobArrayOutput values. +// You can construct a concrete instance of `GetIsImageExportJobsExportJobArrayInput` via: +// +// GetIsImageExportJobsExportJobArray{ GetIsImageExportJobsExportJobArgs{...} } +type GetIsImageExportJobsExportJobArrayInput interface { + pulumi.Input + + ToGetIsImageExportJobsExportJobArrayOutput() GetIsImageExportJobsExportJobArrayOutput + ToGetIsImageExportJobsExportJobArrayOutputWithContext(context.Context) GetIsImageExportJobsExportJobArrayOutput +} + +type GetIsImageExportJobsExportJobArray []GetIsImageExportJobsExportJobInput + +func (GetIsImageExportJobsExportJobArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobsExportJob)(nil)).Elem() +} + +func (i GetIsImageExportJobsExportJobArray) ToGetIsImageExportJobsExportJobArrayOutput() GetIsImageExportJobsExportJobArrayOutput { + return i.ToGetIsImageExportJobsExportJobArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobsExportJobArray) ToGetIsImageExportJobsExportJobArrayOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobsExportJobArrayOutput) +} + +type GetIsImageExportJobsExportJobOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsExportJobOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsExportJob)(nil)).Elem() +} + +func (o GetIsImageExportJobsExportJobOutput) ToGetIsImageExportJobsExportJobOutput() GetIsImageExportJobsExportJobOutput { + return o +} + +func (o GetIsImageExportJobsExportJobOutput) ToGetIsImageExportJobsExportJobOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobOutput { + return o +} + +// The date and time that the image export job was completed.If absent, the export job has not yet completed. +func (o GetIsImageExportJobsExportJobOutput) CompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.CompletedAt }).(pulumi.StringOutput) +} + +// The date and time that the image export job was created. +func (o GetIsImageExportJobsExportJobOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// A base64-encoded, encrypted representation of the key that was used to encrypt the data for the exported image. This key can be unwrapped with the image's `encryptionKey` root key using either Key Protect or Hyper Protect Crypto Service.If absent, the export job is for an unencrypted image. +func (o GetIsImageExportJobsExportJobOutput) EncryptedDataKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.EncryptedDataKey }).(pulumi.StringOutput) +} + +// The format of the exported image. +func (o GetIsImageExportJobsExportJobOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.Format }).(pulumi.StringOutput) +} + +// The URL for this image export job. +func (o GetIsImageExportJobsExportJobOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this image export job. +func (o GetIsImageExportJobsExportJobOutput) ImageExportJob() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.ImageExportJob }).(pulumi.StringOutput) +} + +// The user-defined name for this image export job. +func (o GetIsImageExportJobsExportJobOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsImageExportJobsExportJobOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The date and time that the image export job started running.If absent, the export job has not yet started. +func (o GetIsImageExportJobsExportJobOutput) StartedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.StartedAt }).(pulumi.StringOutput) +} + +// The status of this image export job:- `deleting`: Export job is being deleted- `failed`: Export job could not be completed successfully- `queued`: Export job is queued- `running`: Export job is in progress- `succeeded`: Export job was completed successfullyThe exported image object is automatically deleted for `failed` jobs. +func (o GetIsImageExportJobsExportJobOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o GetIsImageExportJobsExportJobOutput) StatusReasons() GetIsImageExportJobsExportJobStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) []GetIsImageExportJobsExportJobStatusReason { + return v.StatusReasons + }).(GetIsImageExportJobsExportJobStatusReasonArrayOutput) +} + +// The Cloud Object Storage bucket of the exported image object. +func (o GetIsImageExportJobsExportJobOutput) StorageBuckets() GetIsImageExportJobsExportJobStorageBucketArrayOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) []GetIsImageExportJobsExportJobStorageBucket { + return v.StorageBuckets + }).(GetIsImageExportJobsExportJobStorageBucketArrayOutput) +} + +// The Cloud Object Storage location of the exported image object. The object at this location may not exist until the job is started, and will be incomplete while the job is running.After the job completes, the exported image object is not managed by the IBM VPC service, and may be removed or replaced with a different object by any user or service with IAM authorization to the bucket. +func (o GetIsImageExportJobsExportJobOutput) StorageHref() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) string { return v.StorageHref }).(pulumi.StringOutput) +} + +// The Cloud Object Storage object for the exported image. This object may not exist untilthe job is started, and will not be complete until the job completes. +func (o GetIsImageExportJobsExportJobOutput) StorageObjects() GetIsImageExportJobsExportJobStorageObjectArrayOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJob) []GetIsImageExportJobsExportJobStorageObject { + return v.StorageObjects + }).(GetIsImageExportJobsExportJobStorageObjectArrayOutput) +} + +type GetIsImageExportJobsExportJobArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsExportJobArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobsExportJob)(nil)).Elem() +} + +func (o GetIsImageExportJobsExportJobArrayOutput) ToGetIsImageExportJobsExportJobArrayOutput() GetIsImageExportJobsExportJobArrayOutput { + return o +} + +func (o GetIsImageExportJobsExportJobArrayOutput) ToGetIsImageExportJobsExportJobArrayOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobArrayOutput { + return o +} + +func (o GetIsImageExportJobsExportJobArrayOutput) Index(i pulumi.IntInput) GetIsImageExportJobsExportJobOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageExportJobsExportJob { + return vs[0].([]GetIsImageExportJobsExportJob)[vs[1].(int)] + }).(GetIsImageExportJobsExportJobOutput) +} + +type GetIsImageExportJobsExportJobStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsImageExportJobsExportJobStatusReasonInput is an input type that accepts GetIsImageExportJobsExportJobStatusReasonArgs and GetIsImageExportJobsExportJobStatusReasonOutput values. +// You can construct a concrete instance of `GetIsImageExportJobsExportJobStatusReasonInput` via: +// +// GetIsImageExportJobsExportJobStatusReasonArgs{...} +type GetIsImageExportJobsExportJobStatusReasonInput interface { + pulumi.Input + + ToGetIsImageExportJobsExportJobStatusReasonOutput() GetIsImageExportJobsExportJobStatusReasonOutput + ToGetIsImageExportJobsExportJobStatusReasonOutputWithContext(context.Context) GetIsImageExportJobsExportJobStatusReasonOutput +} + +type GetIsImageExportJobsExportJobStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsImageExportJobsExportJobStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsExportJobStatusReason)(nil)).Elem() +} + +func (i GetIsImageExportJobsExportJobStatusReasonArgs) ToGetIsImageExportJobsExportJobStatusReasonOutput() GetIsImageExportJobsExportJobStatusReasonOutput { + return i.ToGetIsImageExportJobsExportJobStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobsExportJobStatusReasonArgs) ToGetIsImageExportJobsExportJobStatusReasonOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobsExportJobStatusReasonOutput) +} + +// GetIsImageExportJobsExportJobStatusReasonArrayInput is an input type that accepts GetIsImageExportJobsExportJobStatusReasonArray and GetIsImageExportJobsExportJobStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsImageExportJobsExportJobStatusReasonArrayInput` via: +// +// GetIsImageExportJobsExportJobStatusReasonArray{ GetIsImageExportJobsExportJobStatusReasonArgs{...} } +type GetIsImageExportJobsExportJobStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsImageExportJobsExportJobStatusReasonArrayOutput() GetIsImageExportJobsExportJobStatusReasonArrayOutput + ToGetIsImageExportJobsExportJobStatusReasonArrayOutputWithContext(context.Context) GetIsImageExportJobsExportJobStatusReasonArrayOutput +} + +type GetIsImageExportJobsExportJobStatusReasonArray []GetIsImageExportJobsExportJobStatusReasonInput + +func (GetIsImageExportJobsExportJobStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobsExportJobStatusReason)(nil)).Elem() +} + +func (i GetIsImageExportJobsExportJobStatusReasonArray) ToGetIsImageExportJobsExportJobStatusReasonArrayOutput() GetIsImageExportJobsExportJobStatusReasonArrayOutput { + return i.ToGetIsImageExportJobsExportJobStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobsExportJobStatusReasonArray) ToGetIsImageExportJobsExportJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobsExportJobStatusReasonArrayOutput) +} + +type GetIsImageExportJobsExportJobStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsExportJobStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsExportJobStatusReason)(nil)).Elem() +} + +func (o GetIsImageExportJobsExportJobStatusReasonOutput) ToGetIsImageExportJobsExportJobStatusReasonOutput() GetIsImageExportJobsExportJobStatusReasonOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStatusReasonOutput) ToGetIsImageExportJobsExportJobStatusReasonOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsImageExportJobsExportJobStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJobStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsImageExportJobsExportJobStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJobStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsImageExportJobsExportJobStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJobStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsImageExportJobsExportJobStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsExportJobStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobsExportJobStatusReason)(nil)).Elem() +} + +func (o GetIsImageExportJobsExportJobStatusReasonArrayOutput) ToGetIsImageExportJobsExportJobStatusReasonArrayOutput() GetIsImageExportJobsExportJobStatusReasonArrayOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStatusReasonArrayOutput) ToGetIsImageExportJobsExportJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStatusReasonArrayOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsImageExportJobsExportJobStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageExportJobsExportJobStatusReason { + return vs[0].([]GetIsImageExportJobsExportJobStatusReason)[vs[1].(int)] + }).(GetIsImageExportJobsExportJobStatusReasonOutput) +} + +type GetIsImageExportJobsExportJobStorageBucket struct { + // The CRN of this Cloud Object Storage bucket. + Crn string `pulumi:"crn"` + // The globally unique name of this Cloud Object Storage bucket. + Name string `pulumi:"name"` +} + +// GetIsImageExportJobsExportJobStorageBucketInput is an input type that accepts GetIsImageExportJobsExportJobStorageBucketArgs and GetIsImageExportJobsExportJobStorageBucketOutput values. +// You can construct a concrete instance of `GetIsImageExportJobsExportJobStorageBucketInput` via: +// +// GetIsImageExportJobsExportJobStorageBucketArgs{...} +type GetIsImageExportJobsExportJobStorageBucketInput interface { + pulumi.Input + + ToGetIsImageExportJobsExportJobStorageBucketOutput() GetIsImageExportJobsExportJobStorageBucketOutput + ToGetIsImageExportJobsExportJobStorageBucketOutputWithContext(context.Context) GetIsImageExportJobsExportJobStorageBucketOutput +} + +type GetIsImageExportJobsExportJobStorageBucketArgs struct { + // The CRN of this Cloud Object Storage bucket. + Crn pulumi.StringInput `pulumi:"crn"` + // The globally unique name of this Cloud Object Storage bucket. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsImageExportJobsExportJobStorageBucketArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsExportJobStorageBucket)(nil)).Elem() +} + +func (i GetIsImageExportJobsExportJobStorageBucketArgs) ToGetIsImageExportJobsExportJobStorageBucketOutput() GetIsImageExportJobsExportJobStorageBucketOutput { + return i.ToGetIsImageExportJobsExportJobStorageBucketOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobsExportJobStorageBucketArgs) ToGetIsImageExportJobsExportJobStorageBucketOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStorageBucketOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobsExportJobStorageBucketOutput) +} + +// GetIsImageExportJobsExportJobStorageBucketArrayInput is an input type that accepts GetIsImageExportJobsExportJobStorageBucketArray and GetIsImageExportJobsExportJobStorageBucketArrayOutput values. +// You can construct a concrete instance of `GetIsImageExportJobsExportJobStorageBucketArrayInput` via: +// +// GetIsImageExportJobsExportJobStorageBucketArray{ GetIsImageExportJobsExportJobStorageBucketArgs{...} } +type GetIsImageExportJobsExportJobStorageBucketArrayInput interface { + pulumi.Input + + ToGetIsImageExportJobsExportJobStorageBucketArrayOutput() GetIsImageExportJobsExportJobStorageBucketArrayOutput + ToGetIsImageExportJobsExportJobStorageBucketArrayOutputWithContext(context.Context) GetIsImageExportJobsExportJobStorageBucketArrayOutput +} + +type GetIsImageExportJobsExportJobStorageBucketArray []GetIsImageExportJobsExportJobStorageBucketInput + +func (GetIsImageExportJobsExportJobStorageBucketArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobsExportJobStorageBucket)(nil)).Elem() +} + +func (i GetIsImageExportJobsExportJobStorageBucketArray) ToGetIsImageExportJobsExportJobStorageBucketArrayOutput() GetIsImageExportJobsExportJobStorageBucketArrayOutput { + return i.ToGetIsImageExportJobsExportJobStorageBucketArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobsExportJobStorageBucketArray) ToGetIsImageExportJobsExportJobStorageBucketArrayOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStorageBucketArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobsExportJobStorageBucketArrayOutput) +} + +type GetIsImageExportJobsExportJobStorageBucketOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsExportJobStorageBucketOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsExportJobStorageBucket)(nil)).Elem() +} + +func (o GetIsImageExportJobsExportJobStorageBucketOutput) ToGetIsImageExportJobsExportJobStorageBucketOutput() GetIsImageExportJobsExportJobStorageBucketOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStorageBucketOutput) ToGetIsImageExportJobsExportJobStorageBucketOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStorageBucketOutput { + return o +} + +// The CRN of this Cloud Object Storage bucket. +func (o GetIsImageExportJobsExportJobStorageBucketOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJobStorageBucket) string { return v.Crn }).(pulumi.StringOutput) +} + +// The globally unique name of this Cloud Object Storage bucket. +func (o GetIsImageExportJobsExportJobStorageBucketOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJobStorageBucket) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsImageExportJobsExportJobStorageBucketArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsExportJobStorageBucketArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobsExportJobStorageBucket)(nil)).Elem() +} + +func (o GetIsImageExportJobsExportJobStorageBucketArrayOutput) ToGetIsImageExportJobsExportJobStorageBucketArrayOutput() GetIsImageExportJobsExportJobStorageBucketArrayOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStorageBucketArrayOutput) ToGetIsImageExportJobsExportJobStorageBucketArrayOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStorageBucketArrayOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStorageBucketArrayOutput) Index(i pulumi.IntInput) GetIsImageExportJobsExportJobStorageBucketOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageExportJobsExportJobStorageBucket { + return vs[0].([]GetIsImageExportJobsExportJobStorageBucket)[vs[1].(int)] + }).(GetIsImageExportJobsExportJobStorageBucketOutput) +} + +type GetIsImageExportJobsExportJobStorageObject struct { + // The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. + Name string `pulumi:"name"` +} + +// GetIsImageExportJobsExportJobStorageObjectInput is an input type that accepts GetIsImageExportJobsExportJobStorageObjectArgs and GetIsImageExportJobsExportJobStorageObjectOutput values. +// You can construct a concrete instance of `GetIsImageExportJobsExportJobStorageObjectInput` via: +// +// GetIsImageExportJobsExportJobStorageObjectArgs{...} +type GetIsImageExportJobsExportJobStorageObjectInput interface { + pulumi.Input + + ToGetIsImageExportJobsExportJobStorageObjectOutput() GetIsImageExportJobsExportJobStorageObjectOutput + ToGetIsImageExportJobsExportJobStorageObjectOutputWithContext(context.Context) GetIsImageExportJobsExportJobStorageObjectOutput +} + +type GetIsImageExportJobsExportJobStorageObjectArgs struct { + // The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsImageExportJobsExportJobStorageObjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsExportJobStorageObject)(nil)).Elem() +} + +func (i GetIsImageExportJobsExportJobStorageObjectArgs) ToGetIsImageExportJobsExportJobStorageObjectOutput() GetIsImageExportJobsExportJobStorageObjectOutput { + return i.ToGetIsImageExportJobsExportJobStorageObjectOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobsExportJobStorageObjectArgs) ToGetIsImageExportJobsExportJobStorageObjectOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStorageObjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobsExportJobStorageObjectOutput) +} + +// GetIsImageExportJobsExportJobStorageObjectArrayInput is an input type that accepts GetIsImageExportJobsExportJobStorageObjectArray and GetIsImageExportJobsExportJobStorageObjectArrayOutput values. +// You can construct a concrete instance of `GetIsImageExportJobsExportJobStorageObjectArrayInput` via: +// +// GetIsImageExportJobsExportJobStorageObjectArray{ GetIsImageExportJobsExportJobStorageObjectArgs{...} } +type GetIsImageExportJobsExportJobStorageObjectArrayInput interface { + pulumi.Input + + ToGetIsImageExportJobsExportJobStorageObjectArrayOutput() GetIsImageExportJobsExportJobStorageObjectArrayOutput + ToGetIsImageExportJobsExportJobStorageObjectArrayOutputWithContext(context.Context) GetIsImageExportJobsExportJobStorageObjectArrayOutput +} + +type GetIsImageExportJobsExportJobStorageObjectArray []GetIsImageExportJobsExportJobStorageObjectInput + +func (GetIsImageExportJobsExportJobStorageObjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobsExportJobStorageObject)(nil)).Elem() +} + +func (i GetIsImageExportJobsExportJobStorageObjectArray) ToGetIsImageExportJobsExportJobStorageObjectArrayOutput() GetIsImageExportJobsExportJobStorageObjectArrayOutput { + return i.ToGetIsImageExportJobsExportJobStorageObjectArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageExportJobsExportJobStorageObjectArray) ToGetIsImageExportJobsExportJobStorageObjectArrayOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStorageObjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageExportJobsExportJobStorageObjectArrayOutput) +} + +type GetIsImageExportJobsExportJobStorageObjectOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsExportJobStorageObjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageExportJobsExportJobStorageObject)(nil)).Elem() +} + +func (o GetIsImageExportJobsExportJobStorageObjectOutput) ToGetIsImageExportJobsExportJobStorageObjectOutput() GetIsImageExportJobsExportJobStorageObjectOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStorageObjectOutput) ToGetIsImageExportJobsExportJobStorageObjectOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStorageObjectOutput { + return o +} + +// The name of this Cloud Object Storage object. Names are unique within a Cloud Object Storage bucket. +func (o GetIsImageExportJobsExportJobStorageObjectOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageExportJobsExportJobStorageObject) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsImageExportJobsExportJobStorageObjectArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageExportJobsExportJobStorageObjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageExportJobsExportJobStorageObject)(nil)).Elem() +} + +func (o GetIsImageExportJobsExportJobStorageObjectArrayOutput) ToGetIsImageExportJobsExportJobStorageObjectArrayOutput() GetIsImageExportJobsExportJobStorageObjectArrayOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStorageObjectArrayOutput) ToGetIsImageExportJobsExportJobStorageObjectArrayOutputWithContext(ctx context.Context) GetIsImageExportJobsExportJobStorageObjectArrayOutput { + return o +} + +func (o GetIsImageExportJobsExportJobStorageObjectArrayOutput) Index(i pulumi.IntInput) GetIsImageExportJobsExportJobStorageObjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageExportJobsExportJobStorageObject { + return vs[0].([]GetIsImageExportJobsExportJobStorageObject)[vs[1].(int)] + }).(GetIsImageExportJobsExportJobStorageObjectOutput) +} + +type GetIsImageInstanceProfilesInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsImageInstanceProfilesInstanceProfileInput is an input type that accepts GetIsImageInstanceProfilesInstanceProfileArgs and GetIsImageInstanceProfilesInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsImageInstanceProfilesInstanceProfileInput` via: +// +// GetIsImageInstanceProfilesInstanceProfileArgs{...} +type GetIsImageInstanceProfilesInstanceProfileInput interface { + pulumi.Input + + ToGetIsImageInstanceProfilesInstanceProfileOutput() GetIsImageInstanceProfilesInstanceProfileOutput + ToGetIsImageInstanceProfilesInstanceProfileOutputWithContext(context.Context) GetIsImageInstanceProfilesInstanceProfileOutput +} + +type GetIsImageInstanceProfilesInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsImageInstanceProfilesInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (i GetIsImageInstanceProfilesInstanceProfileArgs) ToGetIsImageInstanceProfilesInstanceProfileOutput() GetIsImageInstanceProfilesInstanceProfileOutput { + return i.ToGetIsImageInstanceProfilesInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsImageInstanceProfilesInstanceProfileArgs) ToGetIsImageInstanceProfilesInstanceProfileOutputWithContext(ctx context.Context) GetIsImageInstanceProfilesInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageInstanceProfilesInstanceProfileOutput) +} + +// GetIsImageInstanceProfilesInstanceProfileArrayInput is an input type that accepts GetIsImageInstanceProfilesInstanceProfileArray and GetIsImageInstanceProfilesInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsImageInstanceProfilesInstanceProfileArrayInput` via: +// +// GetIsImageInstanceProfilesInstanceProfileArray{ GetIsImageInstanceProfilesInstanceProfileArgs{...} } +type GetIsImageInstanceProfilesInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsImageInstanceProfilesInstanceProfileArrayOutput() GetIsImageInstanceProfilesInstanceProfileArrayOutput + ToGetIsImageInstanceProfilesInstanceProfileArrayOutputWithContext(context.Context) GetIsImageInstanceProfilesInstanceProfileArrayOutput +} + +type GetIsImageInstanceProfilesInstanceProfileArray []GetIsImageInstanceProfilesInstanceProfileInput + +func (GetIsImageInstanceProfilesInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (i GetIsImageInstanceProfilesInstanceProfileArray) ToGetIsImageInstanceProfilesInstanceProfileArrayOutput() GetIsImageInstanceProfilesInstanceProfileArrayOutput { + return i.ToGetIsImageInstanceProfilesInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageInstanceProfilesInstanceProfileArray) ToGetIsImageInstanceProfilesInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsImageInstanceProfilesInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageInstanceProfilesInstanceProfileArrayOutput) +} + +type GetIsImageInstanceProfilesInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsImageInstanceProfilesInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (o GetIsImageInstanceProfilesInstanceProfileOutput) ToGetIsImageInstanceProfilesInstanceProfileOutput() GetIsImageInstanceProfilesInstanceProfileOutput { + return o +} + +func (o GetIsImageInstanceProfilesInstanceProfileOutput) ToGetIsImageInstanceProfilesInstanceProfileOutputWithContext(ctx context.Context) GetIsImageInstanceProfilesInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsImageInstanceProfilesInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageInstanceProfilesInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsImageInstanceProfilesInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageInstanceProfilesInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsImageInstanceProfilesInstanceProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageInstanceProfilesInstanceProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsImageInstanceProfilesInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageInstanceProfilesInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (o GetIsImageInstanceProfilesInstanceProfileArrayOutput) ToGetIsImageInstanceProfilesInstanceProfileArrayOutput() GetIsImageInstanceProfilesInstanceProfileArrayOutput { + return o +} + +func (o GetIsImageInstanceProfilesInstanceProfileArrayOutput) ToGetIsImageInstanceProfilesInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsImageInstanceProfilesInstanceProfileArrayOutput { + return o +} + +func (o GetIsImageInstanceProfilesInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsImageInstanceProfilesInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageInstanceProfilesInstanceProfile { + return vs[0].([]GetIsImageInstanceProfilesInstanceProfile)[vs[1].(int)] + }).(GetIsImageInstanceProfilesInstanceProfileOutput) +} + +type GetIsImageOperatingSystem struct { + // Users may create new images with this operating system + AllowUserImageCreation bool `pulumi:"allowUserImageCreation"` + // The operating system architecture + Architecture string `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups + DedicatedHostOnly bool `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system + DisplayName string `pulumi:"displayName"` + // The software family for this operating system + Family string `pulumi:"family"` + // The URL for this operating system + Href string `pulumi:"href"` + // The globally unique name for this operating system + Name string `pulumi:"name"` + // The user data format for this image + UserDataFormat string `pulumi:"userDataFormat"` + // The vendor of the operating system + Vendor string `pulumi:"vendor"` + // The major release version of this operating system + Version string `pulumi:"version"` +} + +// GetIsImageOperatingSystemInput is an input type that accepts GetIsImageOperatingSystemArgs and GetIsImageOperatingSystemOutput values. +// You can construct a concrete instance of `GetIsImageOperatingSystemInput` via: +// +// GetIsImageOperatingSystemArgs{...} +type GetIsImageOperatingSystemInput interface { + pulumi.Input + + ToGetIsImageOperatingSystemOutput() GetIsImageOperatingSystemOutput + ToGetIsImageOperatingSystemOutputWithContext(context.Context) GetIsImageOperatingSystemOutput +} + +type GetIsImageOperatingSystemArgs struct { + // Users may create new images with this operating system + AllowUserImageCreation pulumi.BoolInput `pulumi:"allowUserImageCreation"` + // The operating system architecture + Architecture pulumi.StringInput `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups + DedicatedHostOnly pulumi.BoolInput `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system + DisplayName pulumi.StringInput `pulumi:"displayName"` + // The software family for this operating system + Family pulumi.StringInput `pulumi:"family"` + // The URL for this operating system + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this operating system + Name pulumi.StringInput `pulumi:"name"` + // The user data format for this image + UserDataFormat pulumi.StringInput `pulumi:"userDataFormat"` + // The vendor of the operating system + Vendor pulumi.StringInput `pulumi:"vendor"` + // The major release version of this operating system + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIsImageOperatingSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageOperatingSystem)(nil)).Elem() +} + +func (i GetIsImageOperatingSystemArgs) ToGetIsImageOperatingSystemOutput() GetIsImageOperatingSystemOutput { + return i.ToGetIsImageOperatingSystemOutputWithContext(context.Background()) +} + +func (i GetIsImageOperatingSystemArgs) ToGetIsImageOperatingSystemOutputWithContext(ctx context.Context) GetIsImageOperatingSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageOperatingSystemOutput) +} + +// GetIsImageOperatingSystemArrayInput is an input type that accepts GetIsImageOperatingSystemArray and GetIsImageOperatingSystemArrayOutput values. +// You can construct a concrete instance of `GetIsImageOperatingSystemArrayInput` via: +// +// GetIsImageOperatingSystemArray{ GetIsImageOperatingSystemArgs{...} } +type GetIsImageOperatingSystemArrayInput interface { + pulumi.Input + + ToGetIsImageOperatingSystemArrayOutput() GetIsImageOperatingSystemArrayOutput + ToGetIsImageOperatingSystemArrayOutputWithContext(context.Context) GetIsImageOperatingSystemArrayOutput +} + +type GetIsImageOperatingSystemArray []GetIsImageOperatingSystemInput + +func (GetIsImageOperatingSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageOperatingSystem)(nil)).Elem() +} + +func (i GetIsImageOperatingSystemArray) ToGetIsImageOperatingSystemArrayOutput() GetIsImageOperatingSystemArrayOutput { + return i.ToGetIsImageOperatingSystemArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageOperatingSystemArray) ToGetIsImageOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsImageOperatingSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageOperatingSystemArrayOutput) +} + +type GetIsImageOperatingSystemOutput struct{ *pulumi.OutputState } + +func (GetIsImageOperatingSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageOperatingSystem)(nil)).Elem() +} + +func (o GetIsImageOperatingSystemOutput) ToGetIsImageOperatingSystemOutput() GetIsImageOperatingSystemOutput { + return o +} + +func (o GetIsImageOperatingSystemOutput) ToGetIsImageOperatingSystemOutputWithContext(ctx context.Context) GetIsImageOperatingSystemOutput { + return o +} + +// Users may create new images with this operating system +func (o GetIsImageOperatingSystemOutput) AllowUserImageCreation() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) bool { return v.AllowUserImageCreation }).(pulumi.BoolOutput) +} + +// The operating system architecture +func (o GetIsImageOperatingSystemOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) string { return v.Architecture }).(pulumi.StringOutput) +} + +// Images with this operating system can only be used on dedicated hosts or dedicated host groups +func (o GetIsImageOperatingSystemOutput) DedicatedHostOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) bool { return v.DedicatedHostOnly }).(pulumi.BoolOutput) +} + +// A unique, display-friendly name for the operating system +func (o GetIsImageOperatingSystemOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The software family for this operating system +func (o GetIsImageOperatingSystemOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this operating system +func (o GetIsImageOperatingSystemOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this operating system +func (o GetIsImageOperatingSystemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) string { return v.Name }).(pulumi.StringOutput) +} + +// The user data format for this image +func (o GetIsImageOperatingSystemOutput) UserDataFormat() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) string { return v.UserDataFormat }).(pulumi.StringOutput) +} + +// The vendor of the operating system +func (o GetIsImageOperatingSystemOutput) Vendor() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) string { return v.Vendor }).(pulumi.StringOutput) +} + +// The major release version of this operating system +func (o GetIsImageOperatingSystemOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageOperatingSystem) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIsImageOperatingSystemArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageOperatingSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageOperatingSystem)(nil)).Elem() +} + +func (o GetIsImageOperatingSystemArrayOutput) ToGetIsImageOperatingSystemArrayOutput() GetIsImageOperatingSystemArrayOutput { + return o +} + +func (o GetIsImageOperatingSystemArrayOutput) ToGetIsImageOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsImageOperatingSystemArrayOutput { + return o +} + +func (o GetIsImageOperatingSystemArrayOutput) Index(i pulumi.IntInput) GetIsImageOperatingSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageOperatingSystem { + return vs[0].([]GetIsImageOperatingSystem)[vs[1].(int)] + }).(GetIsImageOperatingSystemOutput) +} + +type GetIsImageRemote struct { + // If present, this property indicates that the referenced resource is remote to this account, and identifies the owning account. + Accounts []GetIsImageRemoteAccount `pulumi:"accounts"` +} + +// GetIsImageRemoteInput is an input type that accepts GetIsImageRemoteArgs and GetIsImageRemoteOutput values. +// You can construct a concrete instance of `GetIsImageRemoteInput` via: +// +// GetIsImageRemoteArgs{...} +type GetIsImageRemoteInput interface { + pulumi.Input + + ToGetIsImageRemoteOutput() GetIsImageRemoteOutput + ToGetIsImageRemoteOutputWithContext(context.Context) GetIsImageRemoteOutput +} + +type GetIsImageRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to this account, and identifies the owning account. + Accounts GetIsImageRemoteAccountArrayInput `pulumi:"accounts"` +} + +func (GetIsImageRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageRemote)(nil)).Elem() +} + +func (i GetIsImageRemoteArgs) ToGetIsImageRemoteOutput() GetIsImageRemoteOutput { + return i.ToGetIsImageRemoteOutputWithContext(context.Background()) +} + +func (i GetIsImageRemoteArgs) ToGetIsImageRemoteOutputWithContext(ctx context.Context) GetIsImageRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageRemoteOutput) +} + +// GetIsImageRemoteArrayInput is an input type that accepts GetIsImageRemoteArray and GetIsImageRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsImageRemoteArrayInput` via: +// +// GetIsImageRemoteArray{ GetIsImageRemoteArgs{...} } +type GetIsImageRemoteArrayInput interface { + pulumi.Input + + ToGetIsImageRemoteArrayOutput() GetIsImageRemoteArrayOutput + ToGetIsImageRemoteArrayOutputWithContext(context.Context) GetIsImageRemoteArrayOutput +} + +type GetIsImageRemoteArray []GetIsImageRemoteInput + +func (GetIsImageRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageRemote)(nil)).Elem() +} + +func (i GetIsImageRemoteArray) ToGetIsImageRemoteArrayOutput() GetIsImageRemoteArrayOutput { + return i.ToGetIsImageRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageRemoteArray) ToGetIsImageRemoteArrayOutputWithContext(ctx context.Context) GetIsImageRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageRemoteArrayOutput) +} + +type GetIsImageRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsImageRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageRemote)(nil)).Elem() +} + +func (o GetIsImageRemoteOutput) ToGetIsImageRemoteOutput() GetIsImageRemoteOutput { + return o +} + +func (o GetIsImageRemoteOutput) ToGetIsImageRemoteOutputWithContext(ctx context.Context) GetIsImageRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to this account, and identifies the owning account. +func (o GetIsImageRemoteOutput) Accounts() GetIsImageRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsImageRemote) []GetIsImageRemoteAccount { return v.Accounts }).(GetIsImageRemoteAccountArrayOutput) +} + +type GetIsImageRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageRemote)(nil)).Elem() +} + +func (o GetIsImageRemoteArrayOutput) ToGetIsImageRemoteArrayOutput() GetIsImageRemoteArrayOutput { + return o +} + +func (o GetIsImageRemoteArrayOutput) ToGetIsImageRemoteArrayOutputWithContext(ctx context.Context) GetIsImageRemoteArrayOutput { + return o +} + +func (o GetIsImageRemoteArrayOutput) Index(i pulumi.IntInput) GetIsImageRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageRemote { + return vs[0].([]GetIsImageRemote)[vs[1].(int)] + }).(GetIsImageRemoteOutput) +} + +type GetIsImageRemoteAccount struct { + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsImageRemoteAccountInput is an input type that accepts GetIsImageRemoteAccountArgs and GetIsImageRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsImageRemoteAccountInput` via: +// +// GetIsImageRemoteAccountArgs{...} +type GetIsImageRemoteAccountInput interface { + pulumi.Input + + ToGetIsImageRemoteAccountOutput() GetIsImageRemoteAccountOutput + ToGetIsImageRemoteAccountOutputWithContext(context.Context) GetIsImageRemoteAccountOutput +} + +type GetIsImageRemoteAccountArgs struct { + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsImageRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageRemoteAccount)(nil)).Elem() +} + +func (i GetIsImageRemoteAccountArgs) ToGetIsImageRemoteAccountOutput() GetIsImageRemoteAccountOutput { + return i.ToGetIsImageRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsImageRemoteAccountArgs) ToGetIsImageRemoteAccountOutputWithContext(ctx context.Context) GetIsImageRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageRemoteAccountOutput) +} + +// GetIsImageRemoteAccountArrayInput is an input type that accepts GetIsImageRemoteAccountArray and GetIsImageRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsImageRemoteAccountArrayInput` via: +// +// GetIsImageRemoteAccountArray{ GetIsImageRemoteAccountArgs{...} } +type GetIsImageRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsImageRemoteAccountArrayOutput() GetIsImageRemoteAccountArrayOutput + ToGetIsImageRemoteAccountArrayOutputWithContext(context.Context) GetIsImageRemoteAccountArrayOutput +} + +type GetIsImageRemoteAccountArray []GetIsImageRemoteAccountInput + +func (GetIsImageRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageRemoteAccount)(nil)).Elem() +} + +func (i GetIsImageRemoteAccountArray) ToGetIsImageRemoteAccountArrayOutput() GetIsImageRemoteAccountArrayOutput { + return i.ToGetIsImageRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageRemoteAccountArray) ToGetIsImageRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsImageRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageRemoteAccountArrayOutput) +} + +type GetIsImageRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsImageRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageRemoteAccount)(nil)).Elem() +} + +func (o GetIsImageRemoteAccountOutput) ToGetIsImageRemoteAccountOutput() GetIsImageRemoteAccountOutput { + return o +} + +func (o GetIsImageRemoteAccountOutput) ToGetIsImageRemoteAccountOutputWithContext(ctx context.Context) GetIsImageRemoteAccountOutput { + return o +} + +// The unique identifier for this resource group. +func (o GetIsImageRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsImageRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsImageRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageRemoteAccount)(nil)).Elem() +} + +func (o GetIsImageRemoteAccountArrayOutput) ToGetIsImageRemoteAccountArrayOutput() GetIsImageRemoteAccountArrayOutput { + return o +} + +func (o GetIsImageRemoteAccountArrayOutput) ToGetIsImageRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsImageRemoteAccountArrayOutput { + return o +} + +func (o GetIsImageRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsImageRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageRemoteAccount { + return vs[0].([]GetIsImageRemoteAccount)[vs[1].(int)] + }).(GetIsImageRemoteAccountOutput) +} + +type GetIsImageResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsImageResourceGroupInput is an input type that accepts GetIsImageResourceGroupArgs and GetIsImageResourceGroupOutput values. +// You can construct a concrete instance of `GetIsImageResourceGroupInput` via: +// +// GetIsImageResourceGroupArgs{...} +type GetIsImageResourceGroupInput interface { + pulumi.Input + + ToGetIsImageResourceGroupOutput() GetIsImageResourceGroupOutput + ToGetIsImageResourceGroupOutputWithContext(context.Context) GetIsImageResourceGroupOutput +} + +type GetIsImageResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsImageResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageResourceGroup)(nil)).Elem() +} + +func (i GetIsImageResourceGroupArgs) ToGetIsImageResourceGroupOutput() GetIsImageResourceGroupOutput { + return i.ToGetIsImageResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsImageResourceGroupArgs) ToGetIsImageResourceGroupOutputWithContext(ctx context.Context) GetIsImageResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageResourceGroupOutput) +} + +// GetIsImageResourceGroupArrayInput is an input type that accepts GetIsImageResourceGroupArray and GetIsImageResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsImageResourceGroupArrayInput` via: +// +// GetIsImageResourceGroupArray{ GetIsImageResourceGroupArgs{...} } +type GetIsImageResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsImageResourceGroupArrayOutput() GetIsImageResourceGroupArrayOutput + ToGetIsImageResourceGroupArrayOutputWithContext(context.Context) GetIsImageResourceGroupArrayOutput +} + +type GetIsImageResourceGroupArray []GetIsImageResourceGroupInput + +func (GetIsImageResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageResourceGroup)(nil)).Elem() +} + +func (i GetIsImageResourceGroupArray) ToGetIsImageResourceGroupArrayOutput() GetIsImageResourceGroupArrayOutput { + return i.ToGetIsImageResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageResourceGroupArray) ToGetIsImageResourceGroupArrayOutputWithContext(ctx context.Context) GetIsImageResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageResourceGroupArrayOutput) +} + +type GetIsImageResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsImageResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageResourceGroup)(nil)).Elem() +} + +func (o GetIsImageResourceGroupOutput) ToGetIsImageResourceGroupOutput() GetIsImageResourceGroupOutput { + return o +} + +func (o GetIsImageResourceGroupOutput) ToGetIsImageResourceGroupOutputWithContext(ctx context.Context) GetIsImageResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsImageResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsImageResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsImageResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsImageResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageResourceGroup)(nil)).Elem() +} + +func (o GetIsImageResourceGroupArrayOutput) ToGetIsImageResourceGroupArrayOutput() GetIsImageResourceGroupArrayOutput { + return o +} + +func (o GetIsImageResourceGroupArrayOutput) ToGetIsImageResourceGroupArrayOutputWithContext(ctx context.Context) GetIsImageResourceGroupArrayOutput { + return o +} + +func (o GetIsImageResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsImageResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageResourceGroup { + return vs[0].([]GetIsImageResourceGroup)[vs[1].(int)] + }).(GetIsImageResourceGroupOutput) +} + +type GetIsImageStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsImageStatusReasonInput is an input type that accepts GetIsImageStatusReasonArgs and GetIsImageStatusReasonOutput values. +// You can construct a concrete instance of `GetIsImageStatusReasonInput` via: +// +// GetIsImageStatusReasonArgs{...} +type GetIsImageStatusReasonInput interface { + pulumi.Input + + ToGetIsImageStatusReasonOutput() GetIsImageStatusReasonOutput + ToGetIsImageStatusReasonOutputWithContext(context.Context) GetIsImageStatusReasonOutput +} + +type GetIsImageStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsImageStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageStatusReason)(nil)).Elem() +} + +func (i GetIsImageStatusReasonArgs) ToGetIsImageStatusReasonOutput() GetIsImageStatusReasonOutput { + return i.ToGetIsImageStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsImageStatusReasonArgs) ToGetIsImageStatusReasonOutputWithContext(ctx context.Context) GetIsImageStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageStatusReasonOutput) +} + +// GetIsImageStatusReasonArrayInput is an input type that accepts GetIsImageStatusReasonArray and GetIsImageStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsImageStatusReasonArrayInput` via: +// +// GetIsImageStatusReasonArray{ GetIsImageStatusReasonArgs{...} } +type GetIsImageStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsImageStatusReasonArrayOutput() GetIsImageStatusReasonArrayOutput + ToGetIsImageStatusReasonArrayOutputWithContext(context.Context) GetIsImageStatusReasonArrayOutput +} + +type GetIsImageStatusReasonArray []GetIsImageStatusReasonInput + +func (GetIsImageStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageStatusReason)(nil)).Elem() +} + +func (i GetIsImageStatusReasonArray) ToGetIsImageStatusReasonArrayOutput() GetIsImageStatusReasonArrayOutput { + return i.ToGetIsImageStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsImageStatusReasonArray) ToGetIsImageStatusReasonArrayOutputWithContext(ctx context.Context) GetIsImageStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImageStatusReasonArrayOutput) +} + +type GetIsImageStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsImageStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImageStatusReason)(nil)).Elem() +} + +func (o GetIsImageStatusReasonOutput) ToGetIsImageStatusReasonOutput() GetIsImageStatusReasonOutput { + return o +} + +func (o GetIsImageStatusReasonOutput) ToGetIsImageStatusReasonOutputWithContext(ctx context.Context) GetIsImageStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsImageStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsImageStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsImageStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImageStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsImageStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImageStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImageStatusReason)(nil)).Elem() +} + +func (o GetIsImageStatusReasonArrayOutput) ToGetIsImageStatusReasonArrayOutput() GetIsImageStatusReasonArrayOutput { + return o +} + +func (o GetIsImageStatusReasonArrayOutput) ToGetIsImageStatusReasonArrayOutputWithContext(ctx context.Context) GetIsImageStatusReasonArrayOutput { + return o +} + +func (o GetIsImageStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsImageStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImageStatusReason { + return vs[0].([]GetIsImageStatusReason)[vs[1].(int)] + }).(GetIsImageStatusReasonOutput) +} + +type GetIsImagesImage struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUses []GetIsImagesImageAllowedUse `pulumi:"allowedUses"` + // The operating system architecture + Architecture string `pulumi:"architecture"` + CatalogOfferings []GetIsImagesImageCatalogOffering `pulumi:"catalogOfferings"` + // The SHA256 Checksum for this image + Checksum string `pulumi:"checksum"` + // The CRN for this image + Crn string `pulumi:"crn"` + // The type of encryption used on the image + Encryption string `pulumi:"encryption"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey string `pulumi:"encryptionKey"` + // The unique identifier for this image + Id string `pulumi:"id"` + // Image name + Name string `pulumi:"name"` + OperatingSystems []GetIsImagesImageOperatingSystem `pulumi:"operatingSystems"` + // Image Operating system + Os string `pulumi:"os"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes []GetIsImagesImageRemote `pulumi:"remotes"` + // The resource group for this IPsec policy. + ResourceGroups []GetIsImagesImageResourceGroup `pulumi:"resourceGroups"` + // Source volume id of the image + SourceVolume string `pulumi:"sourceVolume"` + // The status of this image + Status string `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons []GetIsImagesImageStatusReason `pulumi:"statusReasons"` + // The user data format for this image + UserDataFormat string `pulumi:"userDataFormat"` + // Whether the image is publicly visible or private to the account + Visibility string `pulumi:"visibility"` +} + +// GetIsImagesImageInput is an input type that accepts GetIsImagesImageArgs and GetIsImagesImageOutput values. +// You can construct a concrete instance of `GetIsImagesImageInput` via: +// +// GetIsImagesImageArgs{...} +type GetIsImagesImageInput interface { + pulumi.Input + + ToGetIsImagesImageOutput() GetIsImagesImageOutput + ToGetIsImagesImageOutputWithContext(context.Context) GetIsImagesImageOutput +} + +type GetIsImagesImageArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. + AllowedUses GetIsImagesImageAllowedUseArrayInput `pulumi:"allowedUses"` + // The operating system architecture + Architecture pulumi.StringInput `pulumi:"architecture"` + CatalogOfferings GetIsImagesImageCatalogOfferingArrayInput `pulumi:"catalogOfferings"` + // The SHA256 Checksum for this image + Checksum pulumi.StringInput `pulumi:"checksum"` + // The CRN for this image + Crn pulumi.StringInput `pulumi:"crn"` + // The type of encryption used on the image + Encryption pulumi.StringInput `pulumi:"encryption"` + // The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource + EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"` + // The unique identifier for this image + Id pulumi.StringInput `pulumi:"id"` + // Image name + Name pulumi.StringInput `pulumi:"name"` + OperatingSystems GetIsImagesImageOperatingSystemArrayInput `pulumi:"operatingSystems"` + // Image Operating system + Os pulumi.StringInput `pulumi:"os"` + // If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. + Remotes GetIsImagesImageRemoteArrayInput `pulumi:"remotes"` + // The resource group for this IPsec policy. + ResourceGroups GetIsImagesImageResourceGroupArrayInput `pulumi:"resourceGroups"` + // Source volume id of the image + SourceVolume pulumi.StringInput `pulumi:"sourceVolume"` + // The status of this image + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons GetIsImagesImageStatusReasonArrayInput `pulumi:"statusReasons"` + // The user data format for this image + UserDataFormat pulumi.StringInput `pulumi:"userDataFormat"` + // Whether the image is publicly visible or private to the account + Visibility pulumi.StringInput `pulumi:"visibility"` +} + +func (GetIsImagesImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImage)(nil)).Elem() +} + +func (i GetIsImagesImageArgs) ToGetIsImagesImageOutput() GetIsImagesImageOutput { + return i.ToGetIsImagesImageOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageArgs) ToGetIsImagesImageOutputWithContext(ctx context.Context) GetIsImagesImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageOutput) +} + +// GetIsImagesImageArrayInput is an input type that accepts GetIsImagesImageArray and GetIsImagesImageArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageArrayInput` via: +// +// GetIsImagesImageArray{ GetIsImagesImageArgs{...} } +type GetIsImagesImageArrayInput interface { + pulumi.Input + + ToGetIsImagesImageArrayOutput() GetIsImagesImageArrayOutput + ToGetIsImagesImageArrayOutputWithContext(context.Context) GetIsImagesImageArrayOutput +} + +type GetIsImagesImageArray []GetIsImagesImageInput + +func (GetIsImagesImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImage)(nil)).Elem() +} + +func (i GetIsImagesImageArray) ToGetIsImagesImageArrayOutput() GetIsImagesImageArrayOutput { + return i.ToGetIsImagesImageArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageArray) ToGetIsImagesImageArrayOutputWithContext(ctx context.Context) GetIsImagesImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageArrayOutput) +} + +type GetIsImagesImageOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImage)(nil)).Elem() +} + +func (o GetIsImagesImageOutput) ToGetIsImagesImageOutput() GetIsImagesImageOutput { + return o +} + +func (o GetIsImagesImageOutput) ToGetIsImagesImageOutputWithContext(ctx context.Context) GetIsImagesImageOutput { + return o +} + +// List of access tags +func (o GetIsImagesImageOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsImagesImage) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. +func (o GetIsImagesImageOutput) AllowedUses() GetIsImagesImageAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsImagesImage) []GetIsImagesImageAllowedUse { return v.AllowedUses }).(GetIsImagesImageAllowedUseArrayOutput) +} + +// The operating system architecture +func (o GetIsImagesImageOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Architecture }).(pulumi.StringOutput) +} + +func (o GetIsImagesImageOutput) CatalogOfferings() GetIsImagesImageCatalogOfferingArrayOutput { + return o.ApplyT(func(v GetIsImagesImage) []GetIsImagesImageCatalogOffering { return v.CatalogOfferings }).(GetIsImagesImageCatalogOfferingArrayOutput) +} + +// The SHA256 Checksum for this image +func (o GetIsImagesImageOutput) Checksum() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Checksum }).(pulumi.StringOutput) +} + +// The CRN for this image +func (o GetIsImagesImageOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Crn }).(pulumi.StringOutput) +} + +// The type of encryption used on the image +func (o GetIsImagesImageOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Encryption }).(pulumi.StringOutput) +} + +// The CRN of the Key Protect Root Key or Hyper Protect Crypto Service Root Key for this resource +func (o GetIsImagesImageOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The unique identifier for this image +func (o GetIsImagesImageOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Id }).(pulumi.StringOutput) +} + +// Image name +func (o GetIsImagesImageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsImagesImageOutput) OperatingSystems() GetIsImagesImageOperatingSystemArrayOutput { + return o.ApplyT(func(v GetIsImagesImage) []GetIsImagesImageOperatingSystem { return v.OperatingSystems }).(GetIsImagesImageOperatingSystemArrayOutput) +} + +// Image Operating system +func (o GetIsImagesImageOutput) Os() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Os }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this reference is remote and therefore may not be directly retrievable. +func (o GetIsImagesImageOutput) Remotes() GetIsImagesImageRemoteArrayOutput { + return o.ApplyT(func(v GetIsImagesImage) []GetIsImagesImageRemote { return v.Remotes }).(GetIsImagesImageRemoteArrayOutput) +} + +// The resource group for this IPsec policy. +func (o GetIsImagesImageOutput) ResourceGroups() GetIsImagesImageResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsImagesImage) []GetIsImagesImageResourceGroup { return v.ResourceGroups }).(GetIsImagesImageResourceGroupArrayOutput) +} + +// Source volume id of the image +func (o GetIsImagesImageOutput) SourceVolume() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.SourceVolume }).(pulumi.StringOutput) +} + +// The status of this image +func (o GetIsImagesImageOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any). +func (o GetIsImagesImageOutput) StatusReasons() GetIsImagesImageStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsImagesImage) []GetIsImagesImageStatusReason { return v.StatusReasons }).(GetIsImagesImageStatusReasonArrayOutput) +} + +// The user data format for this image +func (o GetIsImagesImageOutput) UserDataFormat() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.UserDataFormat }).(pulumi.StringOutput) +} + +// Whether the image is publicly visible or private to the account +func (o GetIsImagesImageOutput) Visibility() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImage) string { return v.Visibility }).(pulumi.StringOutput) +} + +type GetIsImagesImageArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImage)(nil)).Elem() +} + +func (o GetIsImagesImageArrayOutput) ToGetIsImagesImageArrayOutput() GetIsImagesImageArrayOutput { + return o +} + +func (o GetIsImagesImageArrayOutput) ToGetIsImagesImageArrayOutputWithContext(ctx context.Context) GetIsImagesImageArrayOutput { + return o +} + +func (o GetIsImagesImageArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImage { + return vs[0].([]GetIsImagesImage)[vs[1].(int)] + }).(GetIsImagesImageOutput) +} + +type GetIsImagesImageAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + Instance string `pulumi:"instance"` +} + +// GetIsImagesImageAllowedUseInput is an input type that accepts GetIsImagesImageAllowedUseArgs and GetIsImagesImageAllowedUseOutput values. +// You can construct a concrete instance of `GetIsImagesImageAllowedUseInput` via: +// +// GetIsImagesImageAllowedUseArgs{...} +type GetIsImagesImageAllowedUseInput interface { + pulumi.Input + + ToGetIsImagesImageAllowedUseOutput() GetIsImagesImageAllowedUseOutput + ToGetIsImagesImageAllowedUseOutputWithContext(context.Context) GetIsImagesImageAllowedUseOutput +} + +type GetIsImagesImageAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using this image. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsImagesImageAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageAllowedUse)(nil)).Elem() +} + +func (i GetIsImagesImageAllowedUseArgs) ToGetIsImagesImageAllowedUseOutput() GetIsImagesImageAllowedUseOutput { + return i.ToGetIsImagesImageAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageAllowedUseArgs) ToGetIsImagesImageAllowedUseOutputWithContext(ctx context.Context) GetIsImagesImageAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageAllowedUseOutput) +} + +// GetIsImagesImageAllowedUseArrayInput is an input type that accepts GetIsImagesImageAllowedUseArray and GetIsImagesImageAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageAllowedUseArrayInput` via: +// +// GetIsImagesImageAllowedUseArray{ GetIsImagesImageAllowedUseArgs{...} } +type GetIsImagesImageAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsImagesImageAllowedUseArrayOutput() GetIsImagesImageAllowedUseArrayOutput + ToGetIsImagesImageAllowedUseArrayOutputWithContext(context.Context) GetIsImagesImageAllowedUseArrayOutput +} + +type GetIsImagesImageAllowedUseArray []GetIsImagesImageAllowedUseInput + +func (GetIsImagesImageAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageAllowedUse)(nil)).Elem() +} + +func (i GetIsImagesImageAllowedUseArray) ToGetIsImagesImageAllowedUseArrayOutput() GetIsImagesImageAllowedUseArrayOutput { + return i.ToGetIsImagesImageAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageAllowedUseArray) ToGetIsImagesImageAllowedUseArrayOutputWithContext(ctx context.Context) GetIsImagesImageAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageAllowedUseArrayOutput) +} + +type GetIsImagesImageAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageAllowedUse)(nil)).Elem() +} + +func (o GetIsImagesImageAllowedUseOutput) ToGetIsImagesImageAllowedUseOutput() GetIsImagesImageAllowedUseOutput { + return o +} + +func (o GetIsImagesImageAllowedUseOutput) ToGetIsImagesImageAllowedUseOutputWithContext(ctx context.Context) GetIsImagesImageAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsImagesImageAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using this image. +func (o GetIsImagesImageAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this image. +func (o GetIsImagesImageAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsImagesImageAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageAllowedUse)(nil)).Elem() +} + +func (o GetIsImagesImageAllowedUseArrayOutput) ToGetIsImagesImageAllowedUseArrayOutput() GetIsImagesImageAllowedUseArrayOutput { + return o +} + +func (o GetIsImagesImageAllowedUseArrayOutput) ToGetIsImagesImageAllowedUseArrayOutputWithContext(ctx context.Context) GetIsImagesImageAllowedUseArrayOutput { + return o +} + +func (o GetIsImagesImageAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageAllowedUse { + return vs[0].([]GetIsImagesImageAllowedUse)[vs[1].(int)] + }).(GetIsImagesImageAllowedUseOutput) +} + +type GetIsImagesImageCatalogOffering struct { + // Indicates whether this image is managed as part of a catalog offering. A managed image can be provisioned using its catalog offering CRN or catalog offering version CRN. + Managed bool `pulumi:"managed"` + // The catalog offering version associated with this image. + Versions []GetIsImagesImageCatalogOfferingVersion `pulumi:"versions"` +} + +// GetIsImagesImageCatalogOfferingInput is an input type that accepts GetIsImagesImageCatalogOfferingArgs and GetIsImagesImageCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsImagesImageCatalogOfferingInput` via: +// +// GetIsImagesImageCatalogOfferingArgs{...} +type GetIsImagesImageCatalogOfferingInput interface { + pulumi.Input + + ToGetIsImagesImageCatalogOfferingOutput() GetIsImagesImageCatalogOfferingOutput + ToGetIsImagesImageCatalogOfferingOutputWithContext(context.Context) GetIsImagesImageCatalogOfferingOutput +} + +type GetIsImagesImageCatalogOfferingArgs struct { + // Indicates whether this image is managed as part of a catalog offering. A managed image can be provisioned using its catalog offering CRN or catalog offering version CRN. + Managed pulumi.BoolInput `pulumi:"managed"` + // The catalog offering version associated with this image. + Versions GetIsImagesImageCatalogOfferingVersionArrayInput `pulumi:"versions"` +} + +func (GetIsImagesImageCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageCatalogOffering)(nil)).Elem() +} + +func (i GetIsImagesImageCatalogOfferingArgs) ToGetIsImagesImageCatalogOfferingOutput() GetIsImagesImageCatalogOfferingOutput { + return i.ToGetIsImagesImageCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageCatalogOfferingArgs) ToGetIsImagesImageCatalogOfferingOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageCatalogOfferingOutput) +} + +// GetIsImagesImageCatalogOfferingArrayInput is an input type that accepts GetIsImagesImageCatalogOfferingArray and GetIsImagesImageCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageCatalogOfferingArrayInput` via: +// +// GetIsImagesImageCatalogOfferingArray{ GetIsImagesImageCatalogOfferingArgs{...} } +type GetIsImagesImageCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsImagesImageCatalogOfferingArrayOutput() GetIsImagesImageCatalogOfferingArrayOutput + ToGetIsImagesImageCatalogOfferingArrayOutputWithContext(context.Context) GetIsImagesImageCatalogOfferingArrayOutput +} + +type GetIsImagesImageCatalogOfferingArray []GetIsImagesImageCatalogOfferingInput + +func (GetIsImagesImageCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageCatalogOffering)(nil)).Elem() +} + +func (i GetIsImagesImageCatalogOfferingArray) ToGetIsImagesImageCatalogOfferingArrayOutput() GetIsImagesImageCatalogOfferingArrayOutput { + return i.ToGetIsImagesImageCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageCatalogOfferingArray) ToGetIsImagesImageCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageCatalogOfferingArrayOutput) +} + +type GetIsImagesImageCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageCatalogOffering)(nil)).Elem() +} + +func (o GetIsImagesImageCatalogOfferingOutput) ToGetIsImagesImageCatalogOfferingOutput() GetIsImagesImageCatalogOfferingOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingOutput) ToGetIsImagesImageCatalogOfferingOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingOutput { + return o +} + +// Indicates whether this image is managed as part of a catalog offering. A managed image can be provisioned using its catalog offering CRN or catalog offering version CRN. +func (o GetIsImagesImageCatalogOfferingOutput) Managed() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsImagesImageCatalogOffering) bool { return v.Managed }).(pulumi.BoolOutput) +} + +// The catalog offering version associated with this image. +func (o GetIsImagesImageCatalogOfferingOutput) Versions() GetIsImagesImageCatalogOfferingVersionArrayOutput { + return o.ApplyT(func(v GetIsImagesImageCatalogOffering) []GetIsImagesImageCatalogOfferingVersion { return v.Versions }).(GetIsImagesImageCatalogOfferingVersionArrayOutput) +} + +type GetIsImagesImageCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageCatalogOffering)(nil)).Elem() +} + +func (o GetIsImagesImageCatalogOfferingArrayOutput) ToGetIsImagesImageCatalogOfferingArrayOutput() GetIsImagesImageCatalogOfferingArrayOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingArrayOutput) ToGetIsImagesImageCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingArrayOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageCatalogOffering { + return vs[0].([]GetIsImagesImageCatalogOffering)[vs[1].(int)] + }).(GetIsImagesImageCatalogOfferingOutput) +} + +type GetIsImagesImageCatalogOfferingVersion struct { + // The CRN for this version of the IBM Cloud catalog offering. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsImagesImageCatalogOfferingVersionDeleted `pulumi:"deleteds"` +} + +// GetIsImagesImageCatalogOfferingVersionInput is an input type that accepts GetIsImagesImageCatalogOfferingVersionArgs and GetIsImagesImageCatalogOfferingVersionOutput values. +// You can construct a concrete instance of `GetIsImagesImageCatalogOfferingVersionInput` via: +// +// GetIsImagesImageCatalogOfferingVersionArgs{...} +type GetIsImagesImageCatalogOfferingVersionInput interface { + pulumi.Input + + ToGetIsImagesImageCatalogOfferingVersionOutput() GetIsImagesImageCatalogOfferingVersionOutput + ToGetIsImagesImageCatalogOfferingVersionOutputWithContext(context.Context) GetIsImagesImageCatalogOfferingVersionOutput +} + +type GetIsImagesImageCatalogOfferingVersionArgs struct { + // The CRN for this version of the IBM Cloud catalog offering. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsImagesImageCatalogOfferingVersionDeletedArrayInput `pulumi:"deleteds"` +} + +func (GetIsImagesImageCatalogOfferingVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageCatalogOfferingVersion)(nil)).Elem() +} + +func (i GetIsImagesImageCatalogOfferingVersionArgs) ToGetIsImagesImageCatalogOfferingVersionOutput() GetIsImagesImageCatalogOfferingVersionOutput { + return i.ToGetIsImagesImageCatalogOfferingVersionOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageCatalogOfferingVersionArgs) ToGetIsImagesImageCatalogOfferingVersionOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageCatalogOfferingVersionOutput) +} + +// GetIsImagesImageCatalogOfferingVersionArrayInput is an input type that accepts GetIsImagesImageCatalogOfferingVersionArray and GetIsImagesImageCatalogOfferingVersionArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageCatalogOfferingVersionArrayInput` via: +// +// GetIsImagesImageCatalogOfferingVersionArray{ GetIsImagesImageCatalogOfferingVersionArgs{...} } +type GetIsImagesImageCatalogOfferingVersionArrayInput interface { + pulumi.Input + + ToGetIsImagesImageCatalogOfferingVersionArrayOutput() GetIsImagesImageCatalogOfferingVersionArrayOutput + ToGetIsImagesImageCatalogOfferingVersionArrayOutputWithContext(context.Context) GetIsImagesImageCatalogOfferingVersionArrayOutput +} + +type GetIsImagesImageCatalogOfferingVersionArray []GetIsImagesImageCatalogOfferingVersionInput + +func (GetIsImagesImageCatalogOfferingVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageCatalogOfferingVersion)(nil)).Elem() +} + +func (i GetIsImagesImageCatalogOfferingVersionArray) ToGetIsImagesImageCatalogOfferingVersionArrayOutput() GetIsImagesImageCatalogOfferingVersionArrayOutput { + return i.ToGetIsImagesImageCatalogOfferingVersionArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageCatalogOfferingVersionArray) ToGetIsImagesImageCatalogOfferingVersionArrayOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageCatalogOfferingVersionArrayOutput) +} + +type GetIsImagesImageCatalogOfferingVersionOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageCatalogOfferingVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageCatalogOfferingVersion)(nil)).Elem() +} + +func (o GetIsImagesImageCatalogOfferingVersionOutput) ToGetIsImagesImageCatalogOfferingVersionOutput() GetIsImagesImageCatalogOfferingVersionOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingVersionOutput) ToGetIsImagesImageCatalogOfferingVersionOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingVersionOutput { + return o +} + +// The CRN for this version of the IBM Cloud catalog offering. +func (o GetIsImagesImageCatalogOfferingVersionOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageCatalogOfferingVersion) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsImagesImageCatalogOfferingVersionOutput) Deleteds() GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput { + return o.ApplyT(func(v GetIsImagesImageCatalogOfferingVersion) []GetIsImagesImageCatalogOfferingVersionDeleted { + return v.Deleteds + }).(GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput) +} + +type GetIsImagesImageCatalogOfferingVersionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageCatalogOfferingVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageCatalogOfferingVersion)(nil)).Elem() +} + +func (o GetIsImagesImageCatalogOfferingVersionArrayOutput) ToGetIsImagesImageCatalogOfferingVersionArrayOutput() GetIsImagesImageCatalogOfferingVersionArrayOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingVersionArrayOutput) ToGetIsImagesImageCatalogOfferingVersionArrayOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingVersionArrayOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingVersionArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageCatalogOfferingVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageCatalogOfferingVersion { + return vs[0].([]GetIsImagesImageCatalogOfferingVersion)[vs[1].(int)] + }).(GetIsImagesImageCatalogOfferingVersionOutput) +} + +type GetIsImagesImageCatalogOfferingVersionDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsImagesImageCatalogOfferingVersionDeletedInput is an input type that accepts GetIsImagesImageCatalogOfferingVersionDeletedArgs and GetIsImagesImageCatalogOfferingVersionDeletedOutput values. +// You can construct a concrete instance of `GetIsImagesImageCatalogOfferingVersionDeletedInput` via: +// +// GetIsImagesImageCatalogOfferingVersionDeletedArgs{...} +type GetIsImagesImageCatalogOfferingVersionDeletedInput interface { + pulumi.Input + + ToGetIsImagesImageCatalogOfferingVersionDeletedOutput() GetIsImagesImageCatalogOfferingVersionDeletedOutput + ToGetIsImagesImageCatalogOfferingVersionDeletedOutputWithContext(context.Context) GetIsImagesImageCatalogOfferingVersionDeletedOutput +} + +type GetIsImagesImageCatalogOfferingVersionDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsImagesImageCatalogOfferingVersionDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageCatalogOfferingVersionDeleted)(nil)).Elem() +} + +func (i GetIsImagesImageCatalogOfferingVersionDeletedArgs) ToGetIsImagesImageCatalogOfferingVersionDeletedOutput() GetIsImagesImageCatalogOfferingVersionDeletedOutput { + return i.ToGetIsImagesImageCatalogOfferingVersionDeletedOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageCatalogOfferingVersionDeletedArgs) ToGetIsImagesImageCatalogOfferingVersionDeletedOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingVersionDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageCatalogOfferingVersionDeletedOutput) +} + +// GetIsImagesImageCatalogOfferingVersionDeletedArrayInput is an input type that accepts GetIsImagesImageCatalogOfferingVersionDeletedArray and GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageCatalogOfferingVersionDeletedArrayInput` via: +// +// GetIsImagesImageCatalogOfferingVersionDeletedArray{ GetIsImagesImageCatalogOfferingVersionDeletedArgs{...} } +type GetIsImagesImageCatalogOfferingVersionDeletedArrayInput interface { + pulumi.Input + + ToGetIsImagesImageCatalogOfferingVersionDeletedArrayOutput() GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput + ToGetIsImagesImageCatalogOfferingVersionDeletedArrayOutputWithContext(context.Context) GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput +} + +type GetIsImagesImageCatalogOfferingVersionDeletedArray []GetIsImagesImageCatalogOfferingVersionDeletedInput + +func (GetIsImagesImageCatalogOfferingVersionDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageCatalogOfferingVersionDeleted)(nil)).Elem() +} + +func (i GetIsImagesImageCatalogOfferingVersionDeletedArray) ToGetIsImagesImageCatalogOfferingVersionDeletedArrayOutput() GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput { + return i.ToGetIsImagesImageCatalogOfferingVersionDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageCatalogOfferingVersionDeletedArray) ToGetIsImagesImageCatalogOfferingVersionDeletedArrayOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput) +} + +type GetIsImagesImageCatalogOfferingVersionDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageCatalogOfferingVersionDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageCatalogOfferingVersionDeleted)(nil)).Elem() +} + +func (o GetIsImagesImageCatalogOfferingVersionDeletedOutput) ToGetIsImagesImageCatalogOfferingVersionDeletedOutput() GetIsImagesImageCatalogOfferingVersionDeletedOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingVersionDeletedOutput) ToGetIsImagesImageCatalogOfferingVersionDeletedOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingVersionDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsImagesImageCatalogOfferingVersionDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageCatalogOfferingVersionDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageCatalogOfferingVersionDeleted)(nil)).Elem() +} + +func (o GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput) ToGetIsImagesImageCatalogOfferingVersionDeletedArrayOutput() GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput) ToGetIsImagesImageCatalogOfferingVersionDeletedArrayOutputWithContext(ctx context.Context) GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput { + return o +} + +func (o GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageCatalogOfferingVersionDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageCatalogOfferingVersionDeleted { + return vs[0].([]GetIsImagesImageCatalogOfferingVersionDeleted)[vs[1].(int)] + }).(GetIsImagesImageCatalogOfferingVersionDeletedOutput) +} + +type GetIsImagesImageOperatingSystem struct { + // Users may create new images with this operating system + AllowUserImageCreation bool `pulumi:"allowUserImageCreation"` + // The operating system architecture + Architecture string `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups + DedicatedHostOnly bool `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system + DisplayName string `pulumi:"displayName"` + // The software family for this operating system + Family string `pulumi:"family"` + // The URL for this operating system + Href string `pulumi:"href"` + // The globally unique name for this operating system + Name string `pulumi:"name"` + // The user data format for this image + UserDataFormat string `pulumi:"userDataFormat"` + // The vendor of the operating system + Vendor string `pulumi:"vendor"` + // The major release version of this operating system + Version string `pulumi:"version"` +} + +// GetIsImagesImageOperatingSystemInput is an input type that accepts GetIsImagesImageOperatingSystemArgs and GetIsImagesImageOperatingSystemOutput values. +// You can construct a concrete instance of `GetIsImagesImageOperatingSystemInput` via: +// +// GetIsImagesImageOperatingSystemArgs{...} +type GetIsImagesImageOperatingSystemInput interface { + pulumi.Input + + ToGetIsImagesImageOperatingSystemOutput() GetIsImagesImageOperatingSystemOutput + ToGetIsImagesImageOperatingSystemOutputWithContext(context.Context) GetIsImagesImageOperatingSystemOutput +} + +type GetIsImagesImageOperatingSystemArgs struct { + // Users may create new images with this operating system + AllowUserImageCreation pulumi.BoolInput `pulumi:"allowUserImageCreation"` + // The operating system architecture + Architecture pulumi.StringInput `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups + DedicatedHostOnly pulumi.BoolInput `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system + DisplayName pulumi.StringInput `pulumi:"displayName"` + // The software family for this operating system + Family pulumi.StringInput `pulumi:"family"` + // The URL for this operating system + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this operating system + Name pulumi.StringInput `pulumi:"name"` + // The user data format for this image + UserDataFormat pulumi.StringInput `pulumi:"userDataFormat"` + // The vendor of the operating system + Vendor pulumi.StringInput `pulumi:"vendor"` + // The major release version of this operating system + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIsImagesImageOperatingSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageOperatingSystem)(nil)).Elem() +} + +func (i GetIsImagesImageOperatingSystemArgs) ToGetIsImagesImageOperatingSystemOutput() GetIsImagesImageOperatingSystemOutput { + return i.ToGetIsImagesImageOperatingSystemOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageOperatingSystemArgs) ToGetIsImagesImageOperatingSystemOutputWithContext(ctx context.Context) GetIsImagesImageOperatingSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageOperatingSystemOutput) +} + +// GetIsImagesImageOperatingSystemArrayInput is an input type that accepts GetIsImagesImageOperatingSystemArray and GetIsImagesImageOperatingSystemArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageOperatingSystemArrayInput` via: +// +// GetIsImagesImageOperatingSystemArray{ GetIsImagesImageOperatingSystemArgs{...} } +type GetIsImagesImageOperatingSystemArrayInput interface { + pulumi.Input + + ToGetIsImagesImageOperatingSystemArrayOutput() GetIsImagesImageOperatingSystemArrayOutput + ToGetIsImagesImageOperatingSystemArrayOutputWithContext(context.Context) GetIsImagesImageOperatingSystemArrayOutput +} + +type GetIsImagesImageOperatingSystemArray []GetIsImagesImageOperatingSystemInput + +func (GetIsImagesImageOperatingSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageOperatingSystem)(nil)).Elem() +} + +func (i GetIsImagesImageOperatingSystemArray) ToGetIsImagesImageOperatingSystemArrayOutput() GetIsImagesImageOperatingSystemArrayOutput { + return i.ToGetIsImagesImageOperatingSystemArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageOperatingSystemArray) ToGetIsImagesImageOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsImagesImageOperatingSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageOperatingSystemArrayOutput) +} + +type GetIsImagesImageOperatingSystemOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageOperatingSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageOperatingSystem)(nil)).Elem() +} + +func (o GetIsImagesImageOperatingSystemOutput) ToGetIsImagesImageOperatingSystemOutput() GetIsImagesImageOperatingSystemOutput { + return o +} + +func (o GetIsImagesImageOperatingSystemOutput) ToGetIsImagesImageOperatingSystemOutputWithContext(ctx context.Context) GetIsImagesImageOperatingSystemOutput { + return o +} + +// Users may create new images with this operating system +func (o GetIsImagesImageOperatingSystemOutput) AllowUserImageCreation() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) bool { return v.AllowUserImageCreation }).(pulumi.BoolOutput) +} + +// The operating system architecture +func (o GetIsImagesImageOperatingSystemOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) string { return v.Architecture }).(pulumi.StringOutput) +} + +// Images with this operating system can only be used on dedicated hosts or dedicated host groups +func (o GetIsImagesImageOperatingSystemOutput) DedicatedHostOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) bool { return v.DedicatedHostOnly }).(pulumi.BoolOutput) +} + +// A unique, display-friendly name for the operating system +func (o GetIsImagesImageOperatingSystemOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The software family for this operating system +func (o GetIsImagesImageOperatingSystemOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this operating system +func (o GetIsImagesImageOperatingSystemOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this operating system +func (o GetIsImagesImageOperatingSystemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) string { return v.Name }).(pulumi.StringOutput) +} + +// The user data format for this image +func (o GetIsImagesImageOperatingSystemOutput) UserDataFormat() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) string { return v.UserDataFormat }).(pulumi.StringOutput) +} + +// The vendor of the operating system +func (o GetIsImagesImageOperatingSystemOutput) Vendor() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) string { return v.Vendor }).(pulumi.StringOutput) +} + +// The major release version of this operating system +func (o GetIsImagesImageOperatingSystemOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageOperatingSystem) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIsImagesImageOperatingSystemArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageOperatingSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageOperatingSystem)(nil)).Elem() +} + +func (o GetIsImagesImageOperatingSystemArrayOutput) ToGetIsImagesImageOperatingSystemArrayOutput() GetIsImagesImageOperatingSystemArrayOutput { + return o +} + +func (o GetIsImagesImageOperatingSystemArrayOutput) ToGetIsImagesImageOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsImagesImageOperatingSystemArrayOutput { + return o +} + +func (o GetIsImagesImageOperatingSystemArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageOperatingSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageOperatingSystem { + return vs[0].([]GetIsImagesImageOperatingSystem)[vs[1].(int)] + }).(GetIsImagesImageOperatingSystemOutput) +} + +type GetIsImagesImageRemote struct { + // If present, this property indicates that the referenced resource is remote to this account, and identifies the owning account. + Accounts []GetIsImagesImageRemoteAccount `pulumi:"accounts"` +} + +// GetIsImagesImageRemoteInput is an input type that accepts GetIsImagesImageRemoteArgs and GetIsImagesImageRemoteOutput values. +// You can construct a concrete instance of `GetIsImagesImageRemoteInput` via: +// +// GetIsImagesImageRemoteArgs{...} +type GetIsImagesImageRemoteInput interface { + pulumi.Input + + ToGetIsImagesImageRemoteOutput() GetIsImagesImageRemoteOutput + ToGetIsImagesImageRemoteOutputWithContext(context.Context) GetIsImagesImageRemoteOutput +} + +type GetIsImagesImageRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to this account, and identifies the owning account. + Accounts GetIsImagesImageRemoteAccountArrayInput `pulumi:"accounts"` +} + +func (GetIsImagesImageRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageRemote)(nil)).Elem() +} + +func (i GetIsImagesImageRemoteArgs) ToGetIsImagesImageRemoteOutput() GetIsImagesImageRemoteOutput { + return i.ToGetIsImagesImageRemoteOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageRemoteArgs) ToGetIsImagesImageRemoteOutputWithContext(ctx context.Context) GetIsImagesImageRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageRemoteOutput) +} + +// GetIsImagesImageRemoteArrayInput is an input type that accepts GetIsImagesImageRemoteArray and GetIsImagesImageRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageRemoteArrayInput` via: +// +// GetIsImagesImageRemoteArray{ GetIsImagesImageRemoteArgs{...} } +type GetIsImagesImageRemoteArrayInput interface { + pulumi.Input + + ToGetIsImagesImageRemoteArrayOutput() GetIsImagesImageRemoteArrayOutput + ToGetIsImagesImageRemoteArrayOutputWithContext(context.Context) GetIsImagesImageRemoteArrayOutput +} + +type GetIsImagesImageRemoteArray []GetIsImagesImageRemoteInput + +func (GetIsImagesImageRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageRemote)(nil)).Elem() +} + +func (i GetIsImagesImageRemoteArray) ToGetIsImagesImageRemoteArrayOutput() GetIsImagesImageRemoteArrayOutput { + return i.ToGetIsImagesImageRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageRemoteArray) ToGetIsImagesImageRemoteArrayOutputWithContext(ctx context.Context) GetIsImagesImageRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageRemoteArrayOutput) +} + +type GetIsImagesImageRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageRemote)(nil)).Elem() +} + +func (o GetIsImagesImageRemoteOutput) ToGetIsImagesImageRemoteOutput() GetIsImagesImageRemoteOutput { + return o +} + +func (o GetIsImagesImageRemoteOutput) ToGetIsImagesImageRemoteOutputWithContext(ctx context.Context) GetIsImagesImageRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to this account, and identifies the owning account. +func (o GetIsImagesImageRemoteOutput) Accounts() GetIsImagesImageRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsImagesImageRemote) []GetIsImagesImageRemoteAccount { return v.Accounts }).(GetIsImagesImageRemoteAccountArrayOutput) +} + +type GetIsImagesImageRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageRemote)(nil)).Elem() +} + +func (o GetIsImagesImageRemoteArrayOutput) ToGetIsImagesImageRemoteArrayOutput() GetIsImagesImageRemoteArrayOutput { + return o +} + +func (o GetIsImagesImageRemoteArrayOutput) ToGetIsImagesImageRemoteArrayOutputWithContext(ctx context.Context) GetIsImagesImageRemoteArrayOutput { + return o +} + +func (o GetIsImagesImageRemoteArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageRemote { + return vs[0].([]GetIsImagesImageRemote)[vs[1].(int)] + }).(GetIsImagesImageRemoteOutput) +} + +type GetIsImagesImageRemoteAccount struct { + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsImagesImageRemoteAccountInput is an input type that accepts GetIsImagesImageRemoteAccountArgs and GetIsImagesImageRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsImagesImageRemoteAccountInput` via: +// +// GetIsImagesImageRemoteAccountArgs{...} +type GetIsImagesImageRemoteAccountInput interface { + pulumi.Input + + ToGetIsImagesImageRemoteAccountOutput() GetIsImagesImageRemoteAccountOutput + ToGetIsImagesImageRemoteAccountOutputWithContext(context.Context) GetIsImagesImageRemoteAccountOutput +} + +type GetIsImagesImageRemoteAccountArgs struct { + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsImagesImageRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageRemoteAccount)(nil)).Elem() +} + +func (i GetIsImagesImageRemoteAccountArgs) ToGetIsImagesImageRemoteAccountOutput() GetIsImagesImageRemoteAccountOutput { + return i.ToGetIsImagesImageRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageRemoteAccountArgs) ToGetIsImagesImageRemoteAccountOutputWithContext(ctx context.Context) GetIsImagesImageRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageRemoteAccountOutput) +} + +// GetIsImagesImageRemoteAccountArrayInput is an input type that accepts GetIsImagesImageRemoteAccountArray and GetIsImagesImageRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageRemoteAccountArrayInput` via: +// +// GetIsImagesImageRemoteAccountArray{ GetIsImagesImageRemoteAccountArgs{...} } +type GetIsImagesImageRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsImagesImageRemoteAccountArrayOutput() GetIsImagesImageRemoteAccountArrayOutput + ToGetIsImagesImageRemoteAccountArrayOutputWithContext(context.Context) GetIsImagesImageRemoteAccountArrayOutput +} + +type GetIsImagesImageRemoteAccountArray []GetIsImagesImageRemoteAccountInput + +func (GetIsImagesImageRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageRemoteAccount)(nil)).Elem() +} + +func (i GetIsImagesImageRemoteAccountArray) ToGetIsImagesImageRemoteAccountArrayOutput() GetIsImagesImageRemoteAccountArrayOutput { + return i.ToGetIsImagesImageRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageRemoteAccountArray) ToGetIsImagesImageRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsImagesImageRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageRemoteAccountArrayOutput) +} + +type GetIsImagesImageRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageRemoteAccount)(nil)).Elem() +} + +func (o GetIsImagesImageRemoteAccountOutput) ToGetIsImagesImageRemoteAccountOutput() GetIsImagesImageRemoteAccountOutput { + return o +} + +func (o GetIsImagesImageRemoteAccountOutput) ToGetIsImagesImageRemoteAccountOutputWithContext(ctx context.Context) GetIsImagesImageRemoteAccountOutput { + return o +} + +// The unique identifier for this resource group. +func (o GetIsImagesImageRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsImagesImageRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsImagesImageRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageRemoteAccount)(nil)).Elem() +} + +func (o GetIsImagesImageRemoteAccountArrayOutput) ToGetIsImagesImageRemoteAccountArrayOutput() GetIsImagesImageRemoteAccountArrayOutput { + return o +} + +func (o GetIsImagesImageRemoteAccountArrayOutput) ToGetIsImagesImageRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsImagesImageRemoteAccountArrayOutput { + return o +} + +func (o GetIsImagesImageRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageRemoteAccount { + return vs[0].([]GetIsImagesImageRemoteAccount)[vs[1].(int)] + }).(GetIsImagesImageRemoteAccountOutput) +} + +type GetIsImagesImageResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsImagesImageResourceGroupInput is an input type that accepts GetIsImagesImageResourceGroupArgs and GetIsImagesImageResourceGroupOutput values. +// You can construct a concrete instance of `GetIsImagesImageResourceGroupInput` via: +// +// GetIsImagesImageResourceGroupArgs{...} +type GetIsImagesImageResourceGroupInput interface { + pulumi.Input + + ToGetIsImagesImageResourceGroupOutput() GetIsImagesImageResourceGroupOutput + ToGetIsImagesImageResourceGroupOutputWithContext(context.Context) GetIsImagesImageResourceGroupOutput +} + +type GetIsImagesImageResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsImagesImageResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageResourceGroup)(nil)).Elem() +} + +func (i GetIsImagesImageResourceGroupArgs) ToGetIsImagesImageResourceGroupOutput() GetIsImagesImageResourceGroupOutput { + return i.ToGetIsImagesImageResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageResourceGroupArgs) ToGetIsImagesImageResourceGroupOutputWithContext(ctx context.Context) GetIsImagesImageResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageResourceGroupOutput) +} + +// GetIsImagesImageResourceGroupArrayInput is an input type that accepts GetIsImagesImageResourceGroupArray and GetIsImagesImageResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageResourceGroupArrayInput` via: +// +// GetIsImagesImageResourceGroupArray{ GetIsImagesImageResourceGroupArgs{...} } +type GetIsImagesImageResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsImagesImageResourceGroupArrayOutput() GetIsImagesImageResourceGroupArrayOutput + ToGetIsImagesImageResourceGroupArrayOutputWithContext(context.Context) GetIsImagesImageResourceGroupArrayOutput +} + +type GetIsImagesImageResourceGroupArray []GetIsImagesImageResourceGroupInput + +func (GetIsImagesImageResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageResourceGroup)(nil)).Elem() +} + +func (i GetIsImagesImageResourceGroupArray) ToGetIsImagesImageResourceGroupArrayOutput() GetIsImagesImageResourceGroupArrayOutput { + return i.ToGetIsImagesImageResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageResourceGroupArray) ToGetIsImagesImageResourceGroupArrayOutputWithContext(ctx context.Context) GetIsImagesImageResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageResourceGroupArrayOutput) +} + +type GetIsImagesImageResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageResourceGroup)(nil)).Elem() +} + +func (o GetIsImagesImageResourceGroupOutput) ToGetIsImagesImageResourceGroupOutput() GetIsImagesImageResourceGroupOutput { + return o +} + +func (o GetIsImagesImageResourceGroupOutput) ToGetIsImagesImageResourceGroupOutputWithContext(ctx context.Context) GetIsImagesImageResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsImagesImageResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsImagesImageResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsImagesImageResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsImagesImageResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageResourceGroup)(nil)).Elem() +} + +func (o GetIsImagesImageResourceGroupArrayOutput) ToGetIsImagesImageResourceGroupArrayOutput() GetIsImagesImageResourceGroupArrayOutput { + return o +} + +func (o GetIsImagesImageResourceGroupArrayOutput) ToGetIsImagesImageResourceGroupArrayOutputWithContext(ctx context.Context) GetIsImagesImageResourceGroupArrayOutput { + return o +} + +func (o GetIsImagesImageResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageResourceGroup { + return vs[0].([]GetIsImagesImageResourceGroup)[vs[1].(int)] + }).(GetIsImagesImageResourceGroupOutput) +} + +type GetIsImagesImageStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsImagesImageStatusReasonInput is an input type that accepts GetIsImagesImageStatusReasonArgs and GetIsImagesImageStatusReasonOutput values. +// You can construct a concrete instance of `GetIsImagesImageStatusReasonInput` via: +// +// GetIsImagesImageStatusReasonArgs{...} +type GetIsImagesImageStatusReasonInput interface { + pulumi.Input + + ToGetIsImagesImageStatusReasonOutput() GetIsImagesImageStatusReasonOutput + ToGetIsImagesImageStatusReasonOutputWithContext(context.Context) GetIsImagesImageStatusReasonOutput +} + +type GetIsImagesImageStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsImagesImageStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageStatusReason)(nil)).Elem() +} + +func (i GetIsImagesImageStatusReasonArgs) ToGetIsImagesImageStatusReasonOutput() GetIsImagesImageStatusReasonOutput { + return i.ToGetIsImagesImageStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageStatusReasonArgs) ToGetIsImagesImageStatusReasonOutputWithContext(ctx context.Context) GetIsImagesImageStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageStatusReasonOutput) +} + +// GetIsImagesImageStatusReasonArrayInput is an input type that accepts GetIsImagesImageStatusReasonArray and GetIsImagesImageStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsImagesImageStatusReasonArrayInput` via: +// +// GetIsImagesImageStatusReasonArray{ GetIsImagesImageStatusReasonArgs{...} } +type GetIsImagesImageStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsImagesImageStatusReasonArrayOutput() GetIsImagesImageStatusReasonArrayOutput + ToGetIsImagesImageStatusReasonArrayOutputWithContext(context.Context) GetIsImagesImageStatusReasonArrayOutput +} + +type GetIsImagesImageStatusReasonArray []GetIsImagesImageStatusReasonInput + +func (GetIsImagesImageStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageStatusReason)(nil)).Elem() +} + +func (i GetIsImagesImageStatusReasonArray) ToGetIsImagesImageStatusReasonArrayOutput() GetIsImagesImageStatusReasonArrayOutput { + return i.ToGetIsImagesImageStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsImagesImageStatusReasonArray) ToGetIsImagesImageStatusReasonArrayOutputWithContext(ctx context.Context) GetIsImagesImageStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsImagesImageStatusReasonArrayOutput) +} + +type GetIsImagesImageStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsImagesImageStatusReason)(nil)).Elem() +} + +func (o GetIsImagesImageStatusReasonOutput) ToGetIsImagesImageStatusReasonOutput() GetIsImagesImageStatusReasonOutput { + return o +} + +func (o GetIsImagesImageStatusReasonOutput) ToGetIsImagesImageStatusReasonOutputWithContext(ctx context.Context) GetIsImagesImageStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsImagesImageStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsImagesImageStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsImagesImageStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsImagesImageStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsImagesImageStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsImagesImageStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsImagesImageStatusReason)(nil)).Elem() +} + +func (o GetIsImagesImageStatusReasonArrayOutput) ToGetIsImagesImageStatusReasonArrayOutput() GetIsImagesImageStatusReasonArrayOutput { + return o +} + +func (o GetIsImagesImageStatusReasonArrayOutput) ToGetIsImagesImageStatusReasonArrayOutputWithContext(ctx context.Context) GetIsImagesImageStatusReasonArrayOutput { + return o +} + +func (o GetIsImagesImageStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsImagesImageStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsImagesImageStatusReason { + return vs[0].([]GetIsImagesImageStatusReason)[vs[1].(int)] + }).(GetIsImagesImageStatusReasonOutput) +} + +type GetIsInstanceBootVolume struct { + // Instance Boot Volume device + Device string `pulumi:"device"` + // Instance Boot Volume id + Id string `pulumi:"id"` + // Instance Boot Volume name + Name string `pulumi:"name"` + // Instance Boot Volume's volume CRN + VolumeCrn string `pulumi:"volumeCrn"` + // Instance Boot Volume's volume id + VolumeId string `pulumi:"volumeId"` + // Instance Boot Volume's volume name + VolumeName string `pulumi:"volumeName"` +} + +// GetIsInstanceBootVolumeInput is an input type that accepts GetIsInstanceBootVolumeArgs and GetIsInstanceBootVolumeOutput values. +// You can construct a concrete instance of `GetIsInstanceBootVolumeInput` via: +// +// GetIsInstanceBootVolumeArgs{...} +type GetIsInstanceBootVolumeInput interface { + pulumi.Input + + ToGetIsInstanceBootVolumeOutput() GetIsInstanceBootVolumeOutput + ToGetIsInstanceBootVolumeOutputWithContext(context.Context) GetIsInstanceBootVolumeOutput +} + +type GetIsInstanceBootVolumeArgs struct { + // Instance Boot Volume device + Device pulumi.StringInput `pulumi:"device"` + // Instance Boot Volume id + Id pulumi.StringInput `pulumi:"id"` + // Instance Boot Volume name + Name pulumi.StringInput `pulumi:"name"` + // Instance Boot Volume's volume CRN + VolumeCrn pulumi.StringInput `pulumi:"volumeCrn"` + // Instance Boot Volume's volume id + VolumeId pulumi.StringInput `pulumi:"volumeId"` + // Instance Boot Volume's volume name + VolumeName pulumi.StringInput `pulumi:"volumeName"` +} + +func (GetIsInstanceBootVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceBootVolume)(nil)).Elem() +} + +func (i GetIsInstanceBootVolumeArgs) ToGetIsInstanceBootVolumeOutput() GetIsInstanceBootVolumeOutput { + return i.ToGetIsInstanceBootVolumeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceBootVolumeArgs) ToGetIsInstanceBootVolumeOutputWithContext(ctx context.Context) GetIsInstanceBootVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceBootVolumeOutput) +} + +// GetIsInstanceBootVolumeArrayInput is an input type that accepts GetIsInstanceBootVolumeArray and GetIsInstanceBootVolumeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceBootVolumeArrayInput` via: +// +// GetIsInstanceBootVolumeArray{ GetIsInstanceBootVolumeArgs{...} } +type GetIsInstanceBootVolumeArrayInput interface { + pulumi.Input + + ToGetIsInstanceBootVolumeArrayOutput() GetIsInstanceBootVolumeArrayOutput + ToGetIsInstanceBootVolumeArrayOutputWithContext(context.Context) GetIsInstanceBootVolumeArrayOutput +} + +type GetIsInstanceBootVolumeArray []GetIsInstanceBootVolumeInput + +func (GetIsInstanceBootVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceBootVolume)(nil)).Elem() +} + +func (i GetIsInstanceBootVolumeArray) ToGetIsInstanceBootVolumeArrayOutput() GetIsInstanceBootVolumeArrayOutput { + return i.ToGetIsInstanceBootVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceBootVolumeArray) ToGetIsInstanceBootVolumeArrayOutputWithContext(ctx context.Context) GetIsInstanceBootVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceBootVolumeArrayOutput) +} + +type GetIsInstanceBootVolumeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceBootVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceBootVolume)(nil)).Elem() +} + +func (o GetIsInstanceBootVolumeOutput) ToGetIsInstanceBootVolumeOutput() GetIsInstanceBootVolumeOutput { + return o +} + +func (o GetIsInstanceBootVolumeOutput) ToGetIsInstanceBootVolumeOutputWithContext(ctx context.Context) GetIsInstanceBootVolumeOutput { + return o +} + +// Instance Boot Volume device +func (o GetIsInstanceBootVolumeOutput) Device() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceBootVolume) string { return v.Device }).(pulumi.StringOutput) +} + +// Instance Boot Volume id +func (o GetIsInstanceBootVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceBootVolume) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance Boot Volume name +func (o GetIsInstanceBootVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceBootVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// Instance Boot Volume's volume CRN +func (o GetIsInstanceBootVolumeOutput) VolumeCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceBootVolume) string { return v.VolumeCrn }).(pulumi.StringOutput) +} + +// Instance Boot Volume's volume id +func (o GetIsInstanceBootVolumeOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceBootVolume) string { return v.VolumeId }).(pulumi.StringOutput) +} + +// Instance Boot Volume's volume name +func (o GetIsInstanceBootVolumeOutput) VolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceBootVolume) string { return v.VolumeName }).(pulumi.StringOutput) +} + +type GetIsInstanceBootVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceBootVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceBootVolume)(nil)).Elem() +} + +func (o GetIsInstanceBootVolumeArrayOutput) ToGetIsInstanceBootVolumeArrayOutput() GetIsInstanceBootVolumeArrayOutput { + return o +} + +func (o GetIsInstanceBootVolumeArrayOutput) ToGetIsInstanceBootVolumeArrayOutputWithContext(ctx context.Context) GetIsInstanceBootVolumeArrayOutput { + return o +} + +func (o GetIsInstanceBootVolumeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceBootVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceBootVolume { + return vs[0].([]GetIsInstanceBootVolume)[vs[1].(int)] + }).(GetIsInstanceBootVolumeOutput) +} + +type GetIsInstanceCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsInstanceCatalogOfferingDeleted `pulumi:"deleteds"` + // Identifies a catalog offering by a unique CRN property + OfferingCrn string `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn string `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn string `pulumi:"versionCrn"` +} + +// GetIsInstanceCatalogOfferingInput is an input type that accepts GetIsInstanceCatalogOfferingArgs and GetIsInstanceCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsInstanceCatalogOfferingInput` via: +// +// GetIsInstanceCatalogOfferingArgs{...} +type GetIsInstanceCatalogOfferingInput interface { + pulumi.Input + + ToGetIsInstanceCatalogOfferingOutput() GetIsInstanceCatalogOfferingOutput + ToGetIsInstanceCatalogOfferingOutputWithContext(context.Context) GetIsInstanceCatalogOfferingOutput +} + +type GetIsInstanceCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsInstanceCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // Identifies a catalog offering by a unique CRN property + OfferingCrn pulumi.StringInput `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringInput `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn pulumi.StringInput `pulumi:"versionCrn"` +} + +func (GetIsInstanceCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceCatalogOffering)(nil)).Elem() +} + +func (i GetIsInstanceCatalogOfferingArgs) ToGetIsInstanceCatalogOfferingOutput() GetIsInstanceCatalogOfferingOutput { + return i.ToGetIsInstanceCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsInstanceCatalogOfferingArgs) ToGetIsInstanceCatalogOfferingOutputWithContext(ctx context.Context) GetIsInstanceCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceCatalogOfferingOutput) +} + +// GetIsInstanceCatalogOfferingArrayInput is an input type that accepts GetIsInstanceCatalogOfferingArray and GetIsInstanceCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceCatalogOfferingArrayInput` via: +// +// GetIsInstanceCatalogOfferingArray{ GetIsInstanceCatalogOfferingArgs{...} } +type GetIsInstanceCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsInstanceCatalogOfferingArrayOutput() GetIsInstanceCatalogOfferingArrayOutput + ToGetIsInstanceCatalogOfferingArrayOutputWithContext(context.Context) GetIsInstanceCatalogOfferingArrayOutput +} + +type GetIsInstanceCatalogOfferingArray []GetIsInstanceCatalogOfferingInput + +func (GetIsInstanceCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceCatalogOffering)(nil)).Elem() +} + +func (i GetIsInstanceCatalogOfferingArray) ToGetIsInstanceCatalogOfferingArrayOutput() GetIsInstanceCatalogOfferingArrayOutput { + return i.ToGetIsInstanceCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceCatalogOfferingArray) ToGetIsInstanceCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsInstanceCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceCatalogOfferingArrayOutput) +} + +type GetIsInstanceCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceCatalogOffering)(nil)).Elem() +} + +func (o GetIsInstanceCatalogOfferingOutput) ToGetIsInstanceCatalogOfferingOutput() GetIsInstanceCatalogOfferingOutput { + return o +} + +func (o GetIsInstanceCatalogOfferingOutput) ToGetIsInstanceCatalogOfferingOutputWithContext(ctx context.Context) GetIsInstanceCatalogOfferingOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsInstanceCatalogOfferingOutput) Deleteds() GetIsInstanceCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceCatalogOffering) []GetIsInstanceCatalogOfferingDeleted { return v.Deleteds }).(GetIsInstanceCatalogOfferingDeletedArrayOutput) +} + +// Identifies a catalog offering by a unique CRN property +func (o GetIsInstanceCatalogOfferingOutput) OfferingCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceCatalogOffering) string { return v.OfferingCrn }).(pulumi.StringOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o GetIsInstanceCatalogOfferingOutput) PlanCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceCatalogOffering) string { return v.PlanCrn }).(pulumi.StringOutput) +} + +// Identifies a version of a catalog offering by a unique CRN property +func (o GetIsInstanceCatalogOfferingOutput) VersionCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceCatalogOffering) string { return v.VersionCrn }).(pulumi.StringOutput) +} + +type GetIsInstanceCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceCatalogOffering)(nil)).Elem() +} + +func (o GetIsInstanceCatalogOfferingArrayOutput) ToGetIsInstanceCatalogOfferingArrayOutput() GetIsInstanceCatalogOfferingArrayOutput { + return o +} + +func (o GetIsInstanceCatalogOfferingArrayOutput) ToGetIsInstanceCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsInstanceCatalogOfferingArrayOutput { + return o +} + +func (o GetIsInstanceCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsInstanceCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceCatalogOffering { + return vs[0].([]GetIsInstanceCatalogOffering)[vs[1].(int)] + }).(GetIsInstanceCatalogOfferingOutput) +} + +type GetIsInstanceCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceCatalogOfferingDeletedInput is an input type that accepts GetIsInstanceCatalogOfferingDeletedArgs and GetIsInstanceCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceCatalogOfferingDeletedInput` via: +// +// GetIsInstanceCatalogOfferingDeletedArgs{...} +type GetIsInstanceCatalogOfferingDeletedInput interface { + pulumi.Input + + ToGetIsInstanceCatalogOfferingDeletedOutput() GetIsInstanceCatalogOfferingDeletedOutput + ToGetIsInstanceCatalogOfferingDeletedOutputWithContext(context.Context) GetIsInstanceCatalogOfferingDeletedOutput +} + +type GetIsInstanceCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsInstanceCatalogOfferingDeletedArgs) ToGetIsInstanceCatalogOfferingDeletedOutput() GetIsInstanceCatalogOfferingDeletedOutput { + return i.ToGetIsInstanceCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceCatalogOfferingDeletedArgs) ToGetIsInstanceCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsInstanceCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceCatalogOfferingDeletedOutput) +} + +// GetIsInstanceCatalogOfferingDeletedArrayInput is an input type that accepts GetIsInstanceCatalogOfferingDeletedArray and GetIsInstanceCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceCatalogOfferingDeletedArrayInput` via: +// +// GetIsInstanceCatalogOfferingDeletedArray{ GetIsInstanceCatalogOfferingDeletedArgs{...} } +type GetIsInstanceCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceCatalogOfferingDeletedArrayOutput() GetIsInstanceCatalogOfferingDeletedArrayOutput + ToGetIsInstanceCatalogOfferingDeletedArrayOutputWithContext(context.Context) GetIsInstanceCatalogOfferingDeletedArrayOutput +} + +type GetIsInstanceCatalogOfferingDeletedArray []GetIsInstanceCatalogOfferingDeletedInput + +func (GetIsInstanceCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsInstanceCatalogOfferingDeletedArray) ToGetIsInstanceCatalogOfferingDeletedArrayOutput() GetIsInstanceCatalogOfferingDeletedArrayOutput { + return i.ToGetIsInstanceCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceCatalogOfferingDeletedArray) ToGetIsInstanceCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceCatalogOfferingDeletedArrayOutput) +} + +type GetIsInstanceCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsInstanceCatalogOfferingDeletedOutput) ToGetIsInstanceCatalogOfferingDeletedOutput() GetIsInstanceCatalogOfferingDeletedOutput { + return o +} + +func (o GetIsInstanceCatalogOfferingDeletedOutput) ToGetIsInstanceCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsInstanceCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceCatalogOfferingDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsInstanceCatalogOfferingDeletedArrayOutput) ToGetIsInstanceCatalogOfferingDeletedArrayOutput() GetIsInstanceCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsInstanceCatalogOfferingDeletedArrayOutput) ToGetIsInstanceCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsInstanceCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceCatalogOfferingDeleted { + return vs[0].([]GetIsInstanceCatalogOfferingDeleted)[vs[1].(int)] + }).(GetIsInstanceCatalogOfferingDeletedOutput) +} + +type GetIsInstanceClusterNetwork struct { + // The CRN for this cluster network. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceClusterNetworkDeleted `pulumi:"deleteds"` + // The URL for this cluster network. + Href string `pulumi:"href"` + // The unique identifier for this cluster network. + Id string `pulumi:"id"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkInput is an input type that accepts GetIsInstanceClusterNetworkArgs and GetIsInstanceClusterNetworkOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkInput` via: +// +// GetIsInstanceClusterNetworkArgs{...} +type GetIsInstanceClusterNetworkInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkOutput() GetIsInstanceClusterNetworkOutput + ToGetIsInstanceClusterNetworkOutputWithContext(context.Context) GetIsInstanceClusterNetworkOutput +} + +type GetIsInstanceClusterNetworkArgs struct { + // The CRN for this cluster network. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceClusterNetworkDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetwork)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkArgs) ToGetIsInstanceClusterNetworkOutput() GetIsInstanceClusterNetworkOutput { + return i.ToGetIsInstanceClusterNetworkOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkArgs) ToGetIsInstanceClusterNetworkOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkOutput) +} + +// GetIsInstanceClusterNetworkArrayInput is an input type that accepts GetIsInstanceClusterNetworkArray and GetIsInstanceClusterNetworkArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkArrayInput` via: +// +// GetIsInstanceClusterNetworkArray{ GetIsInstanceClusterNetworkArgs{...} } +type GetIsInstanceClusterNetworkArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkArrayOutput() GetIsInstanceClusterNetworkArrayOutput + ToGetIsInstanceClusterNetworkArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkArrayOutput +} + +type GetIsInstanceClusterNetworkArray []GetIsInstanceClusterNetworkInput + +func (GetIsInstanceClusterNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetwork)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkArray) ToGetIsInstanceClusterNetworkArrayOutput() GetIsInstanceClusterNetworkArrayOutput { + return i.ToGetIsInstanceClusterNetworkArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkArray) ToGetIsInstanceClusterNetworkArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkArrayOutput) +} + +type GetIsInstanceClusterNetworkOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetwork)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkOutput) ToGetIsInstanceClusterNetworkOutput() GetIsInstanceClusterNetworkOutput { + return o +} + +func (o GetIsInstanceClusterNetworkOutput) ToGetIsInstanceClusterNetworkOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkOutput { + return o +} + +// The CRN for this cluster network. +func (o GetIsInstanceClusterNetworkOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetwork) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceClusterNetworkOutput) Deleteds() GetIsInstanceClusterNetworkDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetwork) []GetIsInstanceClusterNetworkDeleted { return v.Deleteds }).(GetIsInstanceClusterNetworkDeletedArrayOutput) +} + +// The URL for this cluster network. +func (o GetIsInstanceClusterNetworkOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetwork) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network. +func (o GetIsInstanceClusterNetworkOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetwork) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network. The name must not be used by another cluster network in the region. +func (o GetIsInstanceClusterNetworkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetwork) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetwork) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetwork)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkArrayOutput) ToGetIsInstanceClusterNetworkArrayOutput() GetIsInstanceClusterNetworkArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkArrayOutput) ToGetIsInstanceClusterNetworkArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetwork { + return vs[0].([]GetIsInstanceClusterNetwork)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkOutput) +} + +type GetIsInstanceClusterNetworkAttachmentType struct { + // The URL for this instance cluster network attachment. + Href string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id string `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkAttachmentTypeInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentTypeArgs and GetIsInstanceClusterNetworkAttachmentTypeOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentTypeInput` via: +// +// GetIsInstanceClusterNetworkAttachmentTypeArgs{...} +type GetIsInstanceClusterNetworkAttachmentTypeInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentTypeOutput() GetIsInstanceClusterNetworkAttachmentTypeOutput + ToGetIsInstanceClusterNetworkAttachmentTypeOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentTypeOutput +} + +type GetIsInstanceClusterNetworkAttachmentTypeArgs struct { + // The URL for this instance cluster network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentType)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentTypeArgs) ToGetIsInstanceClusterNetworkAttachmentTypeOutput() GetIsInstanceClusterNetworkAttachmentTypeOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentTypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentTypeArgs) ToGetIsInstanceClusterNetworkAttachmentTypeOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentTypeOutput) +} + +// GetIsInstanceClusterNetworkAttachmentTypeArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentTypeArray and GetIsInstanceClusterNetworkAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentTypeArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentTypeArray{ GetIsInstanceClusterNetworkAttachmentTypeArgs{...} } +type GetIsInstanceClusterNetworkAttachmentTypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentTypeArrayOutput() GetIsInstanceClusterNetworkAttachmentTypeArrayOutput + ToGetIsInstanceClusterNetworkAttachmentTypeArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentTypeArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentTypeArray []GetIsInstanceClusterNetworkAttachmentTypeInput + +func (GetIsInstanceClusterNetworkAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentType)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentTypeArray) ToGetIsInstanceClusterNetworkAttachmentTypeArrayOutput() GetIsInstanceClusterNetworkAttachmentTypeArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentTypeArray) ToGetIsInstanceClusterNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentTypeArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentTypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentType)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentTypeOutput) ToGetIsInstanceClusterNetworkAttachmentTypeOutput() GetIsInstanceClusterNetworkAttachmentTypeOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentTypeOutput) ToGetIsInstanceClusterNetworkAttachmentTypeOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentTypeOutput { + return o +} + +// The URL for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentType) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o GetIsInstanceClusterNetworkAttachmentTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentType) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentType)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentTypeArrayOutput) ToGetIsInstanceClusterNetworkAttachmentTypeArrayOutput() GetIsInstanceClusterNetworkAttachmentTypeArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentTypeArrayOutput) ToGetIsInstanceClusterNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentTypeArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentTypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentType { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentType)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentTypeOutput) +} + +type GetIsInstanceClusterNetworkAttachmentBefore struct { + // The URL for this instance cluster network attachment. + Href string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id string `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkAttachmentBeforeInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentBeforeArgs and GetIsInstanceClusterNetworkAttachmentBeforeOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentBeforeInput` via: +// +// GetIsInstanceClusterNetworkAttachmentBeforeArgs{...} +type GetIsInstanceClusterNetworkAttachmentBeforeInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentBeforeOutput() GetIsInstanceClusterNetworkAttachmentBeforeOutput + ToGetIsInstanceClusterNetworkAttachmentBeforeOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentBeforeOutput +} + +type GetIsInstanceClusterNetworkAttachmentBeforeArgs struct { + // The URL for this instance cluster network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkAttachmentBeforeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentBeforeArgs) ToGetIsInstanceClusterNetworkAttachmentBeforeOutput() GetIsInstanceClusterNetworkAttachmentBeforeOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentBeforeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentBeforeArgs) ToGetIsInstanceClusterNetworkAttachmentBeforeOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentBeforeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentBeforeOutput) +} + +// GetIsInstanceClusterNetworkAttachmentBeforeArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentBeforeArray and GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentBeforeArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentBeforeArray{ GetIsInstanceClusterNetworkAttachmentBeforeArgs{...} } +type GetIsInstanceClusterNetworkAttachmentBeforeArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentBeforeArrayOutput() GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput + ToGetIsInstanceClusterNetworkAttachmentBeforeArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentBeforeArray []GetIsInstanceClusterNetworkAttachmentBeforeInput + +func (GetIsInstanceClusterNetworkAttachmentBeforeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentBeforeArray) ToGetIsInstanceClusterNetworkAttachmentBeforeArrayOutput() GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentBeforeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentBeforeArray) ToGetIsInstanceClusterNetworkAttachmentBeforeArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentBeforeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentBeforeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentBeforeOutput) ToGetIsInstanceClusterNetworkAttachmentBeforeOutput() GetIsInstanceClusterNetworkAttachmentBeforeOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentBeforeOutput) ToGetIsInstanceClusterNetworkAttachmentBeforeOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentBeforeOutput { + return o +} + +// The URL for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentBeforeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentBefore) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentBeforeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentBefore) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o GetIsInstanceClusterNetworkAttachmentBeforeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentBefore) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentBeforeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentBefore) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput) ToGetIsInstanceClusterNetworkAttachmentBeforeArrayOutput() GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput) ToGetIsInstanceClusterNetworkAttachmentBeforeArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentBeforeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentBefore { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentBefore)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentBeforeOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id string `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name string `pulumi:"name"` + // The primary IP for this cluster network interface. + PrimaryIps []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + Subnets []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet `pulumi:"subnets"` +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP for this cluster network interface. + PrimaryIps GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + Subnets GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` +} + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArray and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArray{ GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} } +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArray []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Deleteds() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted { + return v.Deleteds + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) +} + +// The URL for this cluster network interface. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network interface. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP for this cluster network interface. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) PrimaryIps() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) Subnets() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{...} +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray{ GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{...} } +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeleted)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray{ GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Deleteds() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{...} +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray{ GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{...} } +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id string `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray{ GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Deleteds() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted { + return v.Deleteds + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this cluster network subnet. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{...} +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) +} + +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray and GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray{ GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{...} } +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput + ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray []GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) +} + +type GetIsInstanceClusterNetworkAttachmentLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkAttachmentLifecycleReasonInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentLifecycleReasonArgs and GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentLifecycleReasonInput` via: +// +// GetIsInstanceClusterNetworkAttachmentLifecycleReasonArgs{...} +type GetIsInstanceClusterNetworkAttachmentLifecycleReasonInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput() GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput + ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput +} + +type GetIsInstanceClusterNetworkAttachmentLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkAttachmentLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentLifecycleReasonArgs) ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput() GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentLifecycleReasonArgs) ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput) +} + +// GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentLifecycleReasonArray and GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentLifecycleReasonArray{ GetIsInstanceClusterNetworkAttachmentLifecycleReasonArgs{...} } +type GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput() GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput + ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentLifecycleReasonArray []GetIsInstanceClusterNetworkAttachmentLifecycleReasonInput + +func (GetIsInstanceClusterNetworkAttachmentLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentLifecycleReasonArray) ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput() GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentLifecycleReasonArray) ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput) ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput() GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput) ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput() GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) ToGetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentLifecycleReason { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentLifecycleReason)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment struct { + // The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. + Befores []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore `pulumi:"befores"` + // The cluster network interface for this instance cluster network attachment. + ClusterNetworkInterfaces []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface `pulumi:"clusterNetworkInterfaces"` + // The URL for this instance cluster network attachment. + Href string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id string `pulumi:"id"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the instance cluster network attachment. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArgs struct { + // The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. + Befores GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayInput `pulumi:"befores"` + // The cluster network interface for this instance cluster network attachment. + ClusterNetworkInterfaces GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayInput `pulumi:"clusterNetworkInterfaces"` + // The URL for this instance cluster network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The reasons for the current `lifecycleState` (if any). + LifecycleReasons GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the instance cluster network attachment. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput { + return o +} + +// The instance cluster network attachment that is immediately before. If absent, this is thelast instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) Befores() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore { + return v.Befores + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput) +} + +// The cluster network interface for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) ClusterNetworkInterfaces() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface { + return v.ClusterNetworkInterfaces + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) +} + +// The URL for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +// The reasons for the current `lifecycleState` (if any). +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) LifecycleReasons() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason { + return v.LifecycleReasons + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput) +} + +// The lifecycle state of the instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachment)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore struct { + // The URL for this instance cluster network attachment. + Href string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id string `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArgs struct { + // The URL for this instance cluster network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput { + return o +} + +// The URL for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBefore)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id string `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name string `pulumi:"name"` + // The primary IP for this cluster network interface. + PrimaryIps []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + Subnets []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet `pulumi:"subnets"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network interface. The name is unique across all interfaces in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP for this cluster network interface. + PrimaryIps GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + Subnets GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) Deleteds() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted { + return v.Deleteds + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) +} + +// The URL for this cluster network interface. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network interface. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this cluster network interface. The name is unique across all interfaces in the cluster network. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface) string { + return v.Name + }).(pulumi.StringOutput) +} + +// The primary IP for this cluster network interface. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) PrimaryIps() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) Subnets() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeleted)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address.If the address is pending allocation, the value will be `0.0.0.0`.This property may [expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) to support IPv6 addresses in the future. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Deleteds() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name is unique across all reserved IPs in a cluster network subnet. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Name + }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id string `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Deleteds() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet) []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted { + return v.Deleteds + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this cluster network subnet. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet. The name is unique across all cluster network subnets in the cluster network. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { + return v.Name + }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArgs and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArgs{...} +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArgs struct { + // A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArgs) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput) +} + +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayInput is an input type that accepts GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArray and GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayInput` via: +// +// GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArray{ GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArgs{...} } +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput + ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArray []GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonInput + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput { + return i.ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArray) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput { + return o +} + +// A reason code for this lifecycle state:- `internalError`: internal error (contact IBM support)- `resourceSuspendedByProvider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason) string { + return v.Code + }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason) string { + return v.Message + }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput() GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput) ToGetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason { + return vs[0].([]GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReason)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput) +} + +type GetIsInstanceClusterNetworkDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceClusterNetworkDeletedInput is an input type that accepts GetIsInstanceClusterNetworkDeletedArgs and GetIsInstanceClusterNetworkDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkDeletedInput` via: +// +// GetIsInstanceClusterNetworkDeletedArgs{...} +type GetIsInstanceClusterNetworkDeletedInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkDeletedOutput() GetIsInstanceClusterNetworkDeletedOutput + ToGetIsInstanceClusterNetworkDeletedOutputWithContext(context.Context) GetIsInstanceClusterNetworkDeletedOutput +} + +type GetIsInstanceClusterNetworkDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceClusterNetworkDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkDeletedArgs) ToGetIsInstanceClusterNetworkDeletedOutput() GetIsInstanceClusterNetworkDeletedOutput { + return i.ToGetIsInstanceClusterNetworkDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkDeletedArgs) ToGetIsInstanceClusterNetworkDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkDeletedOutput) +} + +// GetIsInstanceClusterNetworkDeletedArrayInput is an input type that accepts GetIsInstanceClusterNetworkDeletedArray and GetIsInstanceClusterNetworkDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceClusterNetworkDeletedArrayInput` via: +// +// GetIsInstanceClusterNetworkDeletedArray{ GetIsInstanceClusterNetworkDeletedArgs{...} } +type GetIsInstanceClusterNetworkDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceClusterNetworkDeletedArrayOutput() GetIsInstanceClusterNetworkDeletedArrayOutput + ToGetIsInstanceClusterNetworkDeletedArrayOutputWithContext(context.Context) GetIsInstanceClusterNetworkDeletedArrayOutput +} + +type GetIsInstanceClusterNetworkDeletedArray []GetIsInstanceClusterNetworkDeletedInput + +func (GetIsInstanceClusterNetworkDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (i GetIsInstanceClusterNetworkDeletedArray) ToGetIsInstanceClusterNetworkDeletedArrayOutput() GetIsInstanceClusterNetworkDeletedArrayOutput { + return i.ToGetIsInstanceClusterNetworkDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceClusterNetworkDeletedArray) ToGetIsInstanceClusterNetworkDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceClusterNetworkDeletedArrayOutput) +} + +type GetIsInstanceClusterNetworkDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkDeletedOutput) ToGetIsInstanceClusterNetworkDeletedOutput() GetIsInstanceClusterNetworkDeletedOutput { + return o +} + +func (o GetIsInstanceClusterNetworkDeletedOutput) ToGetIsInstanceClusterNetworkDeletedOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceClusterNetworkDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceClusterNetworkDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceClusterNetworkDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceClusterNetworkDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (o GetIsInstanceClusterNetworkDeletedArrayOutput) ToGetIsInstanceClusterNetworkDeletedArrayOutput() GetIsInstanceClusterNetworkDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkDeletedArrayOutput) ToGetIsInstanceClusterNetworkDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceClusterNetworkDeletedArrayOutput { + return o +} + +func (o GetIsInstanceClusterNetworkDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceClusterNetworkDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceClusterNetworkDeleted { + return vs[0].([]GetIsInstanceClusterNetworkDeleted)[vs[1].(int)] + }).(GetIsInstanceClusterNetworkDeletedOutput) +} + +type GetIsInstanceDisk struct { + // The date and time that the disk was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this instance disk. + Href string `pulumi:"href"` + // The unique identifier for this instance disk. + Id string `pulumi:"id"` + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType string `pulumi:"interfaceType"` + // The user-defined name for this disk. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size int `pulumi:"size"` +} + +// GetIsInstanceDiskInput is an input type that accepts GetIsInstanceDiskArgs and GetIsInstanceDiskOutput values. +// You can construct a concrete instance of `GetIsInstanceDiskInput` via: +// +// GetIsInstanceDiskArgs{...} +type GetIsInstanceDiskInput interface { + pulumi.Input + + ToGetIsInstanceDiskOutput() GetIsInstanceDiskOutput + ToGetIsInstanceDiskOutputWithContext(context.Context) GetIsInstanceDiskOutput +} + +type GetIsInstanceDiskArgs struct { + // The date and time that the disk was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this instance disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance disk. + Id pulumi.StringInput `pulumi:"id"` + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The user-defined name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetIsInstanceDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceDisk)(nil)).Elem() +} + +func (i GetIsInstanceDiskArgs) ToGetIsInstanceDiskOutput() GetIsInstanceDiskOutput { + return i.ToGetIsInstanceDiskOutputWithContext(context.Background()) +} + +func (i GetIsInstanceDiskArgs) ToGetIsInstanceDiskOutputWithContext(ctx context.Context) GetIsInstanceDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceDiskOutput) +} + +// GetIsInstanceDiskArrayInput is an input type that accepts GetIsInstanceDiskArray and GetIsInstanceDiskArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceDiskArrayInput` via: +// +// GetIsInstanceDiskArray{ GetIsInstanceDiskArgs{...} } +type GetIsInstanceDiskArrayInput interface { + pulumi.Input + + ToGetIsInstanceDiskArrayOutput() GetIsInstanceDiskArrayOutput + ToGetIsInstanceDiskArrayOutputWithContext(context.Context) GetIsInstanceDiskArrayOutput +} + +type GetIsInstanceDiskArray []GetIsInstanceDiskInput + +func (GetIsInstanceDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceDisk)(nil)).Elem() +} + +func (i GetIsInstanceDiskArray) ToGetIsInstanceDiskArrayOutput() GetIsInstanceDiskArrayOutput { + return i.ToGetIsInstanceDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceDiskArray) ToGetIsInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsInstanceDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceDiskArrayOutput) +} + +type GetIsInstanceDiskOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceDisk)(nil)).Elem() +} + +func (o GetIsInstanceDiskOutput) ToGetIsInstanceDiskOutput() GetIsInstanceDiskOutput { + return o +} + +func (o GetIsInstanceDiskOutput) ToGetIsInstanceDiskOutputWithContext(ctx context.Context) GetIsInstanceDiskOutput { + return o +} + +// The date and time that the disk was created. +func (o GetIsInstanceDiskOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisk) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this instance disk. +func (o GetIsInstanceDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance disk. +func (o GetIsInstanceDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsInstanceDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisk) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The user-defined name for this disk. +func (o GetIsInstanceDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsInstanceDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceDisk) int { return v.Size }).(pulumi.IntOutput) +} + +type GetIsInstanceDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceDisk)(nil)).Elem() +} + +func (o GetIsInstanceDiskArrayOutput) ToGetIsInstanceDiskArrayOutput() GetIsInstanceDiskArrayOutput { + return o +} + +func (o GetIsInstanceDiskArrayOutput) ToGetIsInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsInstanceDiskArrayOutput { + return o +} + +func (o GetIsInstanceDiskArrayOutput) Index(i pulumi.IntInput) GetIsInstanceDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceDisk { + return vs[0].([]GetIsInstanceDisk)[vs[1].(int)] + }).(GetIsInstanceDiskOutput) +} + +type GetIsInstanceDisksDisk struct { + // The date and time that the disk was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this instance disk. + Href string `pulumi:"href"` + // The unique identifier for this instance disk. + Id string `pulumi:"id"` + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType string `pulumi:"interfaceType"` + // The user-defined name for this disk. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size int `pulumi:"size"` +} + +// GetIsInstanceDisksDiskInput is an input type that accepts GetIsInstanceDisksDiskArgs and GetIsInstanceDisksDiskOutput values. +// You can construct a concrete instance of `GetIsInstanceDisksDiskInput` via: +// +// GetIsInstanceDisksDiskArgs{...} +type GetIsInstanceDisksDiskInput interface { + pulumi.Input + + ToGetIsInstanceDisksDiskOutput() GetIsInstanceDisksDiskOutput + ToGetIsInstanceDisksDiskOutputWithContext(context.Context) GetIsInstanceDisksDiskOutput +} + +type GetIsInstanceDisksDiskArgs struct { + // The date and time that the disk was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this instance disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance disk. + Id pulumi.StringInput `pulumi:"id"` + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The user-defined name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetIsInstanceDisksDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceDisksDisk)(nil)).Elem() +} + +func (i GetIsInstanceDisksDiskArgs) ToGetIsInstanceDisksDiskOutput() GetIsInstanceDisksDiskOutput { + return i.ToGetIsInstanceDisksDiskOutputWithContext(context.Background()) +} + +func (i GetIsInstanceDisksDiskArgs) ToGetIsInstanceDisksDiskOutputWithContext(ctx context.Context) GetIsInstanceDisksDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceDisksDiskOutput) +} + +// GetIsInstanceDisksDiskArrayInput is an input type that accepts GetIsInstanceDisksDiskArray and GetIsInstanceDisksDiskArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceDisksDiskArrayInput` via: +// +// GetIsInstanceDisksDiskArray{ GetIsInstanceDisksDiskArgs{...} } +type GetIsInstanceDisksDiskArrayInput interface { + pulumi.Input + + ToGetIsInstanceDisksDiskArrayOutput() GetIsInstanceDisksDiskArrayOutput + ToGetIsInstanceDisksDiskArrayOutputWithContext(context.Context) GetIsInstanceDisksDiskArrayOutput +} + +type GetIsInstanceDisksDiskArray []GetIsInstanceDisksDiskInput + +func (GetIsInstanceDisksDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceDisksDisk)(nil)).Elem() +} + +func (i GetIsInstanceDisksDiskArray) ToGetIsInstanceDisksDiskArrayOutput() GetIsInstanceDisksDiskArrayOutput { + return i.ToGetIsInstanceDisksDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceDisksDiskArray) ToGetIsInstanceDisksDiskArrayOutputWithContext(ctx context.Context) GetIsInstanceDisksDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceDisksDiskArrayOutput) +} + +type GetIsInstanceDisksDiskOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceDisksDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceDisksDisk)(nil)).Elem() +} + +func (o GetIsInstanceDisksDiskOutput) ToGetIsInstanceDisksDiskOutput() GetIsInstanceDisksDiskOutput { + return o +} + +func (o GetIsInstanceDisksDiskOutput) ToGetIsInstanceDisksDiskOutputWithContext(ctx context.Context) GetIsInstanceDisksDiskOutput { + return o +} + +// The date and time that the disk was created. +func (o GetIsInstanceDisksDiskOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisksDisk) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this instance disk. +func (o GetIsInstanceDisksDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisksDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance disk. +func (o GetIsInstanceDisksDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisksDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsInstanceDisksDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisksDisk) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The user-defined name for this disk. +func (o GetIsInstanceDisksDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisksDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceDisksDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceDisksDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsInstanceDisksDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceDisksDisk) int { return v.Size }).(pulumi.IntOutput) +} + +type GetIsInstanceDisksDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceDisksDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceDisksDisk)(nil)).Elem() +} + +func (o GetIsInstanceDisksDiskArrayOutput) ToGetIsInstanceDisksDiskArrayOutput() GetIsInstanceDisksDiskArrayOutput { + return o +} + +func (o GetIsInstanceDisksDiskArrayOutput) ToGetIsInstanceDisksDiskArrayOutputWithContext(ctx context.Context) GetIsInstanceDisksDiskArrayOutput { + return o +} + +func (o GetIsInstanceDisksDiskArrayOutput) Index(i pulumi.IntInput) GetIsInstanceDisksDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceDisksDisk { + return vs[0].([]GetIsInstanceDisksDisk)[vs[1].(int)] + }).(GetIsInstanceDisksDiskOutput) +} + +type GetIsInstanceGpus struct { + // Instance GPU Count + Count int `pulumi:"count"` + // Instance GPU Manufacturer + Manufacturer string `pulumi:"manufacturer"` + // Instance GPU Memory + Memory int `pulumi:"memory"` + // Instance GPU Model + Model string `pulumi:"model"` +} + +// GetIsInstanceGpusInput is an input type that accepts GetIsInstanceGpusArgs and GetIsInstanceGpusOutput values. +// You can construct a concrete instance of `GetIsInstanceGpusInput` via: +// +// GetIsInstanceGpusArgs{...} +type GetIsInstanceGpusInput interface { + pulumi.Input + + ToGetIsInstanceGpusOutput() GetIsInstanceGpusOutput + ToGetIsInstanceGpusOutputWithContext(context.Context) GetIsInstanceGpusOutput +} + +type GetIsInstanceGpusArgs struct { + // Instance GPU Count + Count pulumi.IntInput `pulumi:"count"` + // Instance GPU Manufacturer + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` + // Instance GPU Memory + Memory pulumi.IntInput `pulumi:"memory"` + // Instance GPU Model + Model pulumi.StringInput `pulumi:"model"` +} + +func (GetIsInstanceGpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGpus)(nil)).Elem() +} + +func (i GetIsInstanceGpusArgs) ToGetIsInstanceGpusOutput() GetIsInstanceGpusOutput { + return i.ToGetIsInstanceGpusOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGpusArgs) ToGetIsInstanceGpusOutputWithContext(ctx context.Context) GetIsInstanceGpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGpusOutput) +} + +// GetIsInstanceGpusArrayInput is an input type that accepts GetIsInstanceGpusArray and GetIsInstanceGpusArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGpusArrayInput` via: +// +// GetIsInstanceGpusArray{ GetIsInstanceGpusArgs{...} } +type GetIsInstanceGpusArrayInput interface { + pulumi.Input + + ToGetIsInstanceGpusArrayOutput() GetIsInstanceGpusArrayOutput + ToGetIsInstanceGpusArrayOutputWithContext(context.Context) GetIsInstanceGpusArrayOutput +} + +type GetIsInstanceGpusArray []GetIsInstanceGpusInput + +func (GetIsInstanceGpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGpus)(nil)).Elem() +} + +func (i GetIsInstanceGpusArray) ToGetIsInstanceGpusArrayOutput() GetIsInstanceGpusArrayOutput { + return i.ToGetIsInstanceGpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGpusArray) ToGetIsInstanceGpusArrayOutputWithContext(ctx context.Context) GetIsInstanceGpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGpusArrayOutput) +} + +type GetIsInstanceGpusOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGpus)(nil)).Elem() +} + +func (o GetIsInstanceGpusOutput) ToGetIsInstanceGpusOutput() GetIsInstanceGpusOutput { + return o +} + +func (o GetIsInstanceGpusOutput) ToGetIsInstanceGpusOutputWithContext(ctx context.Context) GetIsInstanceGpusOutput { + return o +} + +// Instance GPU Count +func (o GetIsInstanceGpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGpus) int { return v.Count }).(pulumi.IntOutput) +} + +// Instance GPU Manufacturer +func (o GetIsInstanceGpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +// Instance GPU Memory +func (o GetIsInstanceGpusOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGpus) int { return v.Memory }).(pulumi.IntOutput) +} + +// Instance GPU Model +func (o GetIsInstanceGpusOutput) Model() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGpus) string { return v.Model }).(pulumi.StringOutput) +} + +type GetIsInstanceGpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGpus)(nil)).Elem() +} + +func (o GetIsInstanceGpusArrayOutput) ToGetIsInstanceGpusArrayOutput() GetIsInstanceGpusArrayOutput { + return o +} + +func (o GetIsInstanceGpusArrayOutput) ToGetIsInstanceGpusArrayOutputWithContext(ctx context.Context) GetIsInstanceGpusArrayOutput { + return o +} + +func (o GetIsInstanceGpusArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGpus { + return vs[0].([]GetIsInstanceGpus)[vs[1].(int)] + }).(GetIsInstanceGpusOutput) +} + +type GetIsInstanceGroupManagerActionType struct { + InstanceGroupManagerAction string `pulumi:"instanceGroupManagerAction"` + InstanceGroupManagerActionName string `pulumi:"instanceGroupManagerActionName"` + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceGroupManagerActionTypeInput is an input type that accepts GetIsInstanceGroupManagerActionTypeArgs and GetIsInstanceGroupManagerActionTypeOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagerActionTypeInput` via: +// +// GetIsInstanceGroupManagerActionTypeArgs{...} +type GetIsInstanceGroupManagerActionTypeInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagerActionTypeOutput() GetIsInstanceGroupManagerActionTypeOutput + ToGetIsInstanceGroupManagerActionTypeOutputWithContext(context.Context) GetIsInstanceGroupManagerActionTypeOutput +} + +type GetIsInstanceGroupManagerActionTypeArgs struct { + InstanceGroupManagerAction pulumi.StringInput `pulumi:"instanceGroupManagerAction"` + InstanceGroupManagerActionName pulumi.StringInput `pulumi:"instanceGroupManagerActionName"` + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceGroupManagerActionTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerActionType)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagerActionTypeArgs) ToGetIsInstanceGroupManagerActionTypeOutput() GetIsInstanceGroupManagerActionTypeOutput { + return i.ToGetIsInstanceGroupManagerActionTypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagerActionTypeArgs) ToGetIsInstanceGroupManagerActionTypeOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagerActionTypeOutput) +} + +// GetIsInstanceGroupManagerActionTypeArrayInput is an input type that accepts GetIsInstanceGroupManagerActionTypeArray and GetIsInstanceGroupManagerActionTypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagerActionTypeArrayInput` via: +// +// GetIsInstanceGroupManagerActionTypeArray{ GetIsInstanceGroupManagerActionTypeArgs{...} } +type GetIsInstanceGroupManagerActionTypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagerActionTypeArrayOutput() GetIsInstanceGroupManagerActionTypeArrayOutput + ToGetIsInstanceGroupManagerActionTypeArrayOutputWithContext(context.Context) GetIsInstanceGroupManagerActionTypeArrayOutput +} + +type GetIsInstanceGroupManagerActionTypeArray []GetIsInstanceGroupManagerActionTypeInput + +func (GetIsInstanceGroupManagerActionTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagerActionType)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagerActionTypeArray) ToGetIsInstanceGroupManagerActionTypeArrayOutput() GetIsInstanceGroupManagerActionTypeArrayOutput { + return i.ToGetIsInstanceGroupManagerActionTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagerActionTypeArray) ToGetIsInstanceGroupManagerActionTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagerActionTypeArrayOutput) +} + +type GetIsInstanceGroupManagerActionTypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagerActionTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerActionType)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagerActionTypeOutput) ToGetIsInstanceGroupManagerActionTypeOutput() GetIsInstanceGroupManagerActionTypeOutput { + return o +} + +func (o GetIsInstanceGroupManagerActionTypeOutput) ToGetIsInstanceGroupManagerActionTypeOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionTypeOutput { + return o +} + +func (o GetIsInstanceGroupManagerActionTypeOutput) InstanceGroupManagerAction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionType) string { return v.InstanceGroupManagerAction }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerActionTypeOutput) InstanceGroupManagerActionName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionType) string { return v.InstanceGroupManagerActionName }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerActionTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupManagerActionTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagerActionTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagerActionType)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagerActionTypeArrayOutput) ToGetIsInstanceGroupManagerActionTypeArrayOutput() GetIsInstanceGroupManagerActionTypeArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagerActionTypeArrayOutput) ToGetIsInstanceGroupManagerActionTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionTypeArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagerActionTypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupManagerActionTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupManagerActionType { + return vs[0].([]GetIsInstanceGroupManagerActionType)[vs[1].(int)] + }).(GetIsInstanceGroupManagerActionTypeOutput) +} + +type GetIsInstanceGroupManagerActionsInstanceGroupManagerAction struct { + // Instance group manager action ID + ActionId string `pulumi:"actionId"` + // The type of action for the instance group. + ActionType string `pulumi:"actionType"` + AutoDelete bool `pulumi:"autoDelete"` + AutoDeleteTimeout int `pulumi:"autoDeleteTimeout"` + // The date and time that the instance group manager action was modified. + CreatedAt string `pulumi:"createdAt"` + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. + CronSpec string `pulumi:"cronSpec"` + // instance group ID + InstanceGroup string `pulumi:"instanceGroup"` + // The date and time the scheduled action was last applied. If empty the action has never been applied. + LastAppliedAt string `pulumi:"lastAppliedAt"` + // The maximum number of members in a managed instance group + MaxMembershipCount int `pulumi:"maxMembershipCount"` + // The number of members the instance group should have at the scheduled time. + MembershipCount int `pulumi:"membershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount int `pulumi:"minMembershipCount"` + // instance group manager action name + Name string `pulumi:"name"` + // The date and time the scheduled action will next run. If empty the system is currently calculating the next run time. + NextRunAt string `pulumi:"nextRunAt"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The date and time the scheduled action will run. + RunAt string `pulumi:"runAt"` + // The status of the instance group action- `active`: Action is ready to be run- `completed`: Action was completed successfully- `failed`: Action could not be completed successfully- `incompatible`: Action parameters are not compatible with the group or manager- `omitted`: Action was not applied because this action's manager was disabled. + Status string `pulumi:"status"` + // The unique identifier for this instance group manager of type autoscale. + TargetManager string `pulumi:"targetManager"` + // Instance group manager name of type autoscale. + TargetManagerName string `pulumi:"targetManagerName"` + // The date and time that the instance group manager action was modified. + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetIsInstanceGroupManagerActionsInstanceGroupManagerActionInput is an input type that accepts GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArgs and GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagerActionsInstanceGroupManagerActionInput` via: +// +// GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArgs{...} +type GetIsInstanceGroupManagerActionsInstanceGroupManagerActionInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput() GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput + ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutputWithContext(context.Context) GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput +} + +type GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArgs struct { + // Instance group manager action ID + ActionId pulumi.StringInput `pulumi:"actionId"` + // The type of action for the instance group. + ActionType pulumi.StringInput `pulumi:"actionType"` + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + AutoDeleteTimeout pulumi.IntInput `pulumi:"autoDeleteTimeout"` + // The date and time that the instance group manager action was modified. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. + CronSpec pulumi.StringInput `pulumi:"cronSpec"` + // instance group ID + InstanceGroup pulumi.StringInput `pulumi:"instanceGroup"` + // The date and time the scheduled action was last applied. If empty the action has never been applied. + LastAppliedAt pulumi.StringInput `pulumi:"lastAppliedAt"` + // The maximum number of members in a managed instance group + MaxMembershipCount pulumi.IntInput `pulumi:"maxMembershipCount"` + // The number of members the instance group should have at the scheduled time. + MembershipCount pulumi.IntInput `pulumi:"membershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount pulumi.IntInput `pulumi:"minMembershipCount"` + // instance group manager action name + Name pulumi.StringInput `pulumi:"name"` + // The date and time the scheduled action will next run. If empty the system is currently calculating the next run time. + NextRunAt pulumi.StringInput `pulumi:"nextRunAt"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The date and time the scheduled action will run. + RunAt pulumi.StringInput `pulumi:"runAt"` + // The status of the instance group action- `active`: Action is ready to be run- `completed`: Action was completed successfully- `failed`: Action could not be completed successfully- `incompatible`: Action parameters are not compatible with the group or manager- `omitted`: Action was not applied because this action's manager was disabled. + Status pulumi.StringInput `pulumi:"status"` + // The unique identifier for this instance group manager of type autoscale. + TargetManager pulumi.StringInput `pulumi:"targetManager"` + // Instance group manager name of type autoscale. + TargetManagerName pulumi.StringInput `pulumi:"targetManagerName"` + // The date and time that the instance group manager action was modified. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerActionsInstanceGroupManagerAction)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArgs) ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput() GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput { + return i.ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArgs) ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) +} + +// GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayInput is an input type that accepts GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArray and GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayInput` via: +// +// GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArray{ GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArgs{...} } +type GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput() GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput + ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutputWithContext(context.Context) GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput +} + +type GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArray []GetIsInstanceGroupManagerActionsInstanceGroupManagerActionInput + +func (GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagerActionsInstanceGroupManagerAction)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArray) ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput() GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput { + return i.ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArray) ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput) +} + +type GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerActionsInstanceGroupManagerAction)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput() GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput { + return o +} + +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput { + return o +} + +// Instance group manager action ID +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) ActionId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.ActionId }).(pulumi.StringOutput) +} + +// The type of action for the instance group. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) ActionType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.ActionType }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) AutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) int { return v.AutoDeleteTimeout }).(pulumi.IntOutput) +} + +// The date and time that the instance group manager action was modified. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The cron specification for a recurring scheduled action. Actions can be applied a maximum of one time within a 5 min period. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) CronSpec() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.CronSpec }).(pulumi.StringOutput) +} + +// instance group ID +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) InstanceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.InstanceGroup }).(pulumi.StringOutput) +} + +// The date and time the scheduled action was last applied. If empty the action has never been applied. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) LastAppliedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.LastAppliedAt }).(pulumi.StringOutput) +} + +// The maximum number of members in a managed instance group +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) MaxMembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) int { return v.MaxMembershipCount }).(pulumi.IntOutput) +} + +// The number of members the instance group should have at the scheduled time. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) MembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) int { return v.MembershipCount }).(pulumi.IntOutput) +} + +// The minimum number of members in a managed instance group +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) MinMembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) int { return v.MinMembershipCount }).(pulumi.IntOutput) +} + +// instance group manager action name +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.Name }).(pulumi.StringOutput) +} + +// The date and time the scheduled action will next run. If empty the system is currently calculating the next run time. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) NextRunAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.NextRunAt }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The date and time the scheduled action will run. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) RunAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.RunAt }).(pulumi.StringOutput) +} + +// The status of the instance group action- `active`: Action is ready to be run- `completed`: Action was completed successfully- `failed`: Action could not be completed successfully- `incompatible`: Action parameters are not compatible with the group or manager- `omitted`: Action was not applied because this action's manager was disabled. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.Status }).(pulumi.StringOutput) +} + +// The unique identifier for this instance group manager of type autoscale. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) TargetManager() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.TargetManager }).(pulumi.StringOutput) +} + +// Instance group manager name of type autoscale. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) TargetManagerName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.TargetManagerName }).(pulumi.StringOutput) +} + +// The date and time that the instance group manager action was modified. +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerActionsInstanceGroupManagerAction) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagerActionsInstanceGroupManagerAction)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput) ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput() GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput) ToGetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupManagerActionsInstanceGroupManagerAction { + return vs[0].([]GetIsInstanceGroupManagerActionsInstanceGroupManagerAction)[vs[1].(int)] + }).(GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput) +} + +type GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy struct { + // ID of the instance group manager policy. + Id string `pulumi:"id"` + // The type of metric to be evaluated + MetricType string `pulumi:"metricType"` + // The metric value to be evaluated + MetricValue int `pulumi:"metricValue"` + // The name of the instance group manager policy + Name string `pulumi:"name"` + // The policy ID + PolicyId string `pulumi:"policyId"` + // The type of Policy for the Instance Group + PolicyType string `pulumi:"policyType"` +} + +// GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyInput is an input type that accepts GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArgs and GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyInput` via: +// +// GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArgs{...} +type GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput() GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput + ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutputWithContext(context.Context) GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput +} + +type GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArgs struct { + // ID of the instance group manager policy. + Id pulumi.StringInput `pulumi:"id"` + // The type of metric to be evaluated + MetricType pulumi.StringInput `pulumi:"metricType"` + // The metric value to be evaluated + MetricValue pulumi.IntInput `pulumi:"metricValue"` + // The name of the instance group manager policy + Name pulumi.StringInput `pulumi:"name"` + // The policy ID + PolicyId pulumi.StringInput `pulumi:"policyId"` + // The type of Policy for the Instance Group + PolicyType pulumi.StringInput `pulumi:"policyType"` +} + +func (GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArgs) ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput() GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput { + return i.ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArgs) ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) +} + +// GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayInput is an input type that accepts GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArray and GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayInput` via: +// +// GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArray{ GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArgs{...} } +type GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput() GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput + ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutputWithContext(context.Context) GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput +} + +type GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArray []GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyInput + +func (GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArray) ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput() GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput { + return i.ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArray) ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput) +} + +type GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput() GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput { + return o +} + +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput { + return o +} + +// ID of the instance group manager policy. +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// The type of metric to be evaluated +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) MetricType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy) string { return v.MetricType }).(pulumi.StringOutput) +} + +// The metric value to be evaluated +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) MetricValue() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy) int { return v.MetricValue }).(pulumi.IntOutput) +} + +// The name of the instance group manager policy +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy) string { return v.Name }).(pulumi.StringOutput) +} + +// The policy ID +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy) string { return v.PolicyId }).(pulumi.StringOutput) +} + +// The type of Policy for the Instance Group +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) PolicyType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy) string { return v.PolicyType }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput) ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput() GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput) ToGetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy { + return vs[0].([]GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicy)[vs[1].(int)] + }).(GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput) +} + +type GetIsInstanceGroupManagersInstanceGroupManager struct { + Actions []GetIsInstanceGroupManagersInstanceGroupManagerAction `pulumi:"actions"` + // The time window in seconds to aggregate metrics prior to evaluation + AggregationWindow int `pulumi:"aggregationWindow"` + // The duration of time in seconds to pause further scale actions after scaling has taken place + Cooldown int `pulumi:"cooldown"` + // ID of the instance group manager. + Id string `pulumi:"id"` + // The ID of instance group manager. + ManagerId string `pulumi:"managerId"` + // The type of instance group manager. + ManagerType string `pulumi:"managerType"` + // The maximum number of members in a managed instance group + MaxMembershipCount int `pulumi:"maxMembershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount int `pulumi:"minMembershipCount"` + // Name of the instance group manager. + Name string `pulumi:"name"` + // list of Policies associated with instancegroup manager + Policies []string `pulumi:"policies"` +} + +// GetIsInstanceGroupManagersInstanceGroupManagerInput is an input type that accepts GetIsInstanceGroupManagersInstanceGroupManagerArgs and GetIsInstanceGroupManagersInstanceGroupManagerOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagersInstanceGroupManagerInput` via: +// +// GetIsInstanceGroupManagersInstanceGroupManagerArgs{...} +type GetIsInstanceGroupManagersInstanceGroupManagerInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagersInstanceGroupManagerOutput() GetIsInstanceGroupManagersInstanceGroupManagerOutput + ToGetIsInstanceGroupManagersInstanceGroupManagerOutputWithContext(context.Context) GetIsInstanceGroupManagersInstanceGroupManagerOutput +} + +type GetIsInstanceGroupManagersInstanceGroupManagerArgs struct { + Actions GetIsInstanceGroupManagersInstanceGroupManagerActionArrayInput `pulumi:"actions"` + // The time window in seconds to aggregate metrics prior to evaluation + AggregationWindow pulumi.IntInput `pulumi:"aggregationWindow"` + // The duration of time in seconds to pause further scale actions after scaling has taken place + Cooldown pulumi.IntInput `pulumi:"cooldown"` + // ID of the instance group manager. + Id pulumi.StringInput `pulumi:"id"` + // The ID of instance group manager. + ManagerId pulumi.StringInput `pulumi:"managerId"` + // The type of instance group manager. + ManagerType pulumi.StringInput `pulumi:"managerType"` + // The maximum number of members in a managed instance group + MaxMembershipCount pulumi.IntInput `pulumi:"maxMembershipCount"` + // The minimum number of members in a managed instance group + MinMembershipCount pulumi.IntInput `pulumi:"minMembershipCount"` + // Name of the instance group manager. + Name pulumi.StringInput `pulumi:"name"` + // list of Policies associated with instancegroup manager + Policies pulumi.StringArrayInput `pulumi:"policies"` +} + +func (GetIsInstanceGroupManagersInstanceGroupManagerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagersInstanceGroupManager)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagersInstanceGroupManagerArgs) ToGetIsInstanceGroupManagersInstanceGroupManagerOutput() GetIsInstanceGroupManagersInstanceGroupManagerOutput { + return i.ToGetIsInstanceGroupManagersInstanceGroupManagerOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagersInstanceGroupManagerArgs) ToGetIsInstanceGroupManagersInstanceGroupManagerOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersInstanceGroupManagerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagersInstanceGroupManagerOutput) +} + +// GetIsInstanceGroupManagersInstanceGroupManagerArrayInput is an input type that accepts GetIsInstanceGroupManagersInstanceGroupManagerArray and GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagersInstanceGroupManagerArrayInput` via: +// +// GetIsInstanceGroupManagersInstanceGroupManagerArray{ GetIsInstanceGroupManagersInstanceGroupManagerArgs{...} } +type GetIsInstanceGroupManagersInstanceGroupManagerArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagersInstanceGroupManagerArrayOutput() GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput + ToGetIsInstanceGroupManagersInstanceGroupManagerArrayOutputWithContext(context.Context) GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput +} + +type GetIsInstanceGroupManagersInstanceGroupManagerArray []GetIsInstanceGroupManagersInstanceGroupManagerInput + +func (GetIsInstanceGroupManagersInstanceGroupManagerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagersInstanceGroupManager)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagersInstanceGroupManagerArray) ToGetIsInstanceGroupManagersInstanceGroupManagerArrayOutput() GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput { + return i.ToGetIsInstanceGroupManagersInstanceGroupManagerArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagersInstanceGroupManagerArray) ToGetIsInstanceGroupManagersInstanceGroupManagerArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput) +} + +type GetIsInstanceGroupManagersInstanceGroupManagerOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagersInstanceGroupManagerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagersInstanceGroupManager)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) ToGetIsInstanceGroupManagersInstanceGroupManagerOutput() GetIsInstanceGroupManagersInstanceGroupManagerOutput { + return o +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) ToGetIsInstanceGroupManagersInstanceGroupManagerOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersInstanceGroupManagerOutput { + return o +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) Actions() GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) []GetIsInstanceGroupManagersInstanceGroupManagerAction { + return v.Actions + }).(GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput) +} + +// The time window in seconds to aggregate metrics prior to evaluation +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) AggregationWindow() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) int { return v.AggregationWindow }).(pulumi.IntOutput) +} + +// The duration of time in seconds to pause further scale actions after scaling has taken place +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) Cooldown() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) int { return v.Cooldown }).(pulumi.IntOutput) +} + +// ID of the instance group manager. +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) string { return v.Id }).(pulumi.StringOutput) +} + +// The ID of instance group manager. +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) ManagerId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) string { return v.ManagerId }).(pulumi.StringOutput) +} + +// The type of instance group manager. +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) ManagerType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) string { return v.ManagerType }).(pulumi.StringOutput) +} + +// The maximum number of members in a managed instance group +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) MaxMembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) int { return v.MaxMembershipCount }).(pulumi.IntOutput) +} + +// The minimum number of members in a managed instance group +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) MinMembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) int { return v.MinMembershipCount }).(pulumi.IntOutput) +} + +// Name of the instance group manager. +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) string { return v.Name }).(pulumi.StringOutput) +} + +// list of Policies associated with instancegroup manager +func (o GetIsInstanceGroupManagersInstanceGroupManagerOutput) Policies() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManager) []string { return v.Policies }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagersInstanceGroupManager)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput) ToGetIsInstanceGroupManagersInstanceGroupManagerArrayOutput() GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput) ToGetIsInstanceGroupManagersInstanceGroupManagerArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupManagersInstanceGroupManagerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupManagersInstanceGroupManager { + return vs[0].([]GetIsInstanceGroupManagersInstanceGroupManager)[vs[1].(int)] + }).(GetIsInstanceGroupManagersInstanceGroupManagerOutput) +} + +type GetIsInstanceGroupManagersInstanceGroupManagerAction struct { + InstanceGroupManagerAction string `pulumi:"instanceGroupManagerAction"` + InstanceGroupManagerActionName string `pulumi:"instanceGroupManagerActionName"` + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceGroupManagersInstanceGroupManagerActionInput is an input type that accepts GetIsInstanceGroupManagersInstanceGroupManagerActionArgs and GetIsInstanceGroupManagersInstanceGroupManagerActionOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagersInstanceGroupManagerActionInput` via: +// +// GetIsInstanceGroupManagersInstanceGroupManagerActionArgs{...} +type GetIsInstanceGroupManagersInstanceGroupManagerActionInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagersInstanceGroupManagerActionOutput() GetIsInstanceGroupManagersInstanceGroupManagerActionOutput + ToGetIsInstanceGroupManagersInstanceGroupManagerActionOutputWithContext(context.Context) GetIsInstanceGroupManagersInstanceGroupManagerActionOutput +} + +type GetIsInstanceGroupManagersInstanceGroupManagerActionArgs struct { + InstanceGroupManagerAction pulumi.StringInput `pulumi:"instanceGroupManagerAction"` + InstanceGroupManagerActionName pulumi.StringInput `pulumi:"instanceGroupManagerActionName"` + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceGroupManagersInstanceGroupManagerActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagersInstanceGroupManagerAction)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagersInstanceGroupManagerActionArgs) ToGetIsInstanceGroupManagersInstanceGroupManagerActionOutput() GetIsInstanceGroupManagersInstanceGroupManagerActionOutput { + return i.ToGetIsInstanceGroupManagersInstanceGroupManagerActionOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagersInstanceGroupManagerActionArgs) ToGetIsInstanceGroupManagersInstanceGroupManagerActionOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersInstanceGroupManagerActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagersInstanceGroupManagerActionOutput) +} + +// GetIsInstanceGroupManagersInstanceGroupManagerActionArrayInput is an input type that accepts GetIsInstanceGroupManagersInstanceGroupManagerActionArray and GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupManagersInstanceGroupManagerActionArrayInput` via: +// +// GetIsInstanceGroupManagersInstanceGroupManagerActionArray{ GetIsInstanceGroupManagersInstanceGroupManagerActionArgs{...} } +type GetIsInstanceGroupManagersInstanceGroupManagerActionArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput() GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput + ToGetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutputWithContext(context.Context) GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput +} + +type GetIsInstanceGroupManagersInstanceGroupManagerActionArray []GetIsInstanceGroupManagersInstanceGroupManagerActionInput + +func (GetIsInstanceGroupManagersInstanceGroupManagerActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagersInstanceGroupManagerAction)(nil)).Elem() +} + +func (i GetIsInstanceGroupManagersInstanceGroupManagerActionArray) ToGetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput() GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput { + return i.ToGetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupManagersInstanceGroupManagerActionArray) ToGetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput) +} + +type GetIsInstanceGroupManagersInstanceGroupManagerActionOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagersInstanceGroupManagerActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupManagersInstanceGroupManagerAction)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerActionOutput) ToGetIsInstanceGroupManagersInstanceGroupManagerActionOutput() GetIsInstanceGroupManagersInstanceGroupManagerActionOutput { + return o +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerActionOutput) ToGetIsInstanceGroupManagersInstanceGroupManagerActionOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersInstanceGroupManagerActionOutput { + return o +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerActionOutput) InstanceGroupManagerAction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManagerAction) string { + return v.InstanceGroupManagerAction + }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerActionOutput) InstanceGroupManagerActionName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManagerAction) string { + return v.InstanceGroupManagerActionName + }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerActionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupManagersInstanceGroupManagerAction) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupManagersInstanceGroupManagerAction)(nil)).Elem() +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput) ToGetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput() GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput) ToGetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput { + return o +} + +func (o GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupManagersInstanceGroupManagerActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupManagersInstanceGroupManagerAction { + return vs[0].([]GetIsInstanceGroupManagersInstanceGroupManagerAction)[vs[1].(int)] + }).(GetIsInstanceGroupManagersInstanceGroupManagerActionOutput) +} + +type GetIsInstanceGroupMembershipInstance struct { + // The CRN for this virtual server instance. + Crn string `pulumi:"crn"` + // The user-defined name for this virtual server instance (and default system hostname). + Name string `pulumi:"name"` + // The unique identifier for this virtual server instance. + VirtualServerInstance string `pulumi:"virtualServerInstance"` +} + +// GetIsInstanceGroupMembershipInstanceInput is an input type that accepts GetIsInstanceGroupMembershipInstanceArgs and GetIsInstanceGroupMembershipInstanceOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipInstanceInput` via: +// +// GetIsInstanceGroupMembershipInstanceArgs{...} +type GetIsInstanceGroupMembershipInstanceInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipInstanceOutput() GetIsInstanceGroupMembershipInstanceOutput + ToGetIsInstanceGroupMembershipInstanceOutputWithContext(context.Context) GetIsInstanceGroupMembershipInstanceOutput +} + +type GetIsInstanceGroupMembershipInstanceArgs struct { + // The CRN for this virtual server instance. + Crn pulumi.StringInput `pulumi:"crn"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringInput `pulumi:"name"` + // The unique identifier for this virtual server instance. + VirtualServerInstance pulumi.StringInput `pulumi:"virtualServerInstance"` +} + +func (GetIsInstanceGroupMembershipInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipInstance)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipInstanceArgs) ToGetIsInstanceGroupMembershipInstanceOutput() GetIsInstanceGroupMembershipInstanceOutput { + return i.ToGetIsInstanceGroupMembershipInstanceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipInstanceArgs) ToGetIsInstanceGroupMembershipInstanceOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipInstanceOutput) +} + +// GetIsInstanceGroupMembershipInstanceArrayInput is an input type that accepts GetIsInstanceGroupMembershipInstanceArray and GetIsInstanceGroupMembershipInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipInstanceArrayInput` via: +// +// GetIsInstanceGroupMembershipInstanceArray{ GetIsInstanceGroupMembershipInstanceArgs{...} } +type GetIsInstanceGroupMembershipInstanceArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipInstanceArrayOutput() GetIsInstanceGroupMembershipInstanceArrayOutput + ToGetIsInstanceGroupMembershipInstanceArrayOutputWithContext(context.Context) GetIsInstanceGroupMembershipInstanceArrayOutput +} + +type GetIsInstanceGroupMembershipInstanceArray []GetIsInstanceGroupMembershipInstanceInput + +func (GetIsInstanceGroupMembershipInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipInstance)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipInstanceArray) ToGetIsInstanceGroupMembershipInstanceArrayOutput() GetIsInstanceGroupMembershipInstanceArrayOutput { + return i.ToGetIsInstanceGroupMembershipInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipInstanceArray) ToGetIsInstanceGroupMembershipInstanceArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipInstanceArrayOutput) +} + +type GetIsInstanceGroupMembershipInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipInstance)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipInstanceOutput) ToGetIsInstanceGroupMembershipInstanceOutput() GetIsInstanceGroupMembershipInstanceOutput { + return o +} + +func (o GetIsInstanceGroupMembershipInstanceOutput) ToGetIsInstanceGroupMembershipInstanceOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipInstanceOutput { + return o +} + +// The CRN for this virtual server instance. +func (o GetIsInstanceGroupMembershipInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o GetIsInstanceGroupMembershipInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipInstance) string { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual server instance. +func (o GetIsInstanceGroupMembershipInstanceOutput) VirtualServerInstance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipInstance) string { return v.VirtualServerInstance }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupMembershipInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipInstance)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipInstanceArrayOutput) ToGetIsInstanceGroupMembershipInstanceArrayOutput() GetIsInstanceGroupMembershipInstanceArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipInstanceArrayOutput) ToGetIsInstanceGroupMembershipInstanceArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipInstanceArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipInstanceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupMembershipInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupMembershipInstance { + return vs[0].([]GetIsInstanceGroupMembershipInstance)[vs[1].(int)] + }).(GetIsInstanceGroupMembershipInstanceOutput) +} + +type GetIsInstanceGroupMembershipInstanceTemplate struct { + // The CRN for this instance template. + Crn string `pulumi:"crn"` + // The unique identifier for this instance template. + InstanceTemplate string `pulumi:"instanceTemplate"` + // The unique user-defined name for this instance template. + Name string `pulumi:"name"` +} + +// GetIsInstanceGroupMembershipInstanceTemplateInput is an input type that accepts GetIsInstanceGroupMembershipInstanceTemplateArgs and GetIsInstanceGroupMembershipInstanceTemplateOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipInstanceTemplateInput` via: +// +// GetIsInstanceGroupMembershipInstanceTemplateArgs{...} +type GetIsInstanceGroupMembershipInstanceTemplateInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipInstanceTemplateOutput() GetIsInstanceGroupMembershipInstanceTemplateOutput + ToGetIsInstanceGroupMembershipInstanceTemplateOutputWithContext(context.Context) GetIsInstanceGroupMembershipInstanceTemplateOutput +} + +type GetIsInstanceGroupMembershipInstanceTemplateArgs struct { + // The CRN for this instance template. + Crn pulumi.StringInput `pulumi:"crn"` + // The unique identifier for this instance template. + InstanceTemplate pulumi.StringInput `pulumi:"instanceTemplate"` + // The unique user-defined name for this instance template. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceGroupMembershipInstanceTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipInstanceTemplate)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipInstanceTemplateArgs) ToGetIsInstanceGroupMembershipInstanceTemplateOutput() GetIsInstanceGroupMembershipInstanceTemplateOutput { + return i.ToGetIsInstanceGroupMembershipInstanceTemplateOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipInstanceTemplateArgs) ToGetIsInstanceGroupMembershipInstanceTemplateOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipInstanceTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipInstanceTemplateOutput) +} + +// GetIsInstanceGroupMembershipInstanceTemplateArrayInput is an input type that accepts GetIsInstanceGroupMembershipInstanceTemplateArray and GetIsInstanceGroupMembershipInstanceTemplateArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipInstanceTemplateArrayInput` via: +// +// GetIsInstanceGroupMembershipInstanceTemplateArray{ GetIsInstanceGroupMembershipInstanceTemplateArgs{...} } +type GetIsInstanceGroupMembershipInstanceTemplateArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipInstanceTemplateArrayOutput() GetIsInstanceGroupMembershipInstanceTemplateArrayOutput + ToGetIsInstanceGroupMembershipInstanceTemplateArrayOutputWithContext(context.Context) GetIsInstanceGroupMembershipInstanceTemplateArrayOutput +} + +type GetIsInstanceGroupMembershipInstanceTemplateArray []GetIsInstanceGroupMembershipInstanceTemplateInput + +func (GetIsInstanceGroupMembershipInstanceTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipInstanceTemplate)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipInstanceTemplateArray) ToGetIsInstanceGroupMembershipInstanceTemplateArrayOutput() GetIsInstanceGroupMembershipInstanceTemplateArrayOutput { + return i.ToGetIsInstanceGroupMembershipInstanceTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipInstanceTemplateArray) ToGetIsInstanceGroupMembershipInstanceTemplateArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipInstanceTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipInstanceTemplateArrayOutput) +} + +type GetIsInstanceGroupMembershipInstanceTemplateOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipInstanceTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipInstanceTemplate)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipInstanceTemplateOutput) ToGetIsInstanceGroupMembershipInstanceTemplateOutput() GetIsInstanceGroupMembershipInstanceTemplateOutput { + return o +} + +func (o GetIsInstanceGroupMembershipInstanceTemplateOutput) ToGetIsInstanceGroupMembershipInstanceTemplateOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipInstanceTemplateOutput { + return o +} + +// The CRN for this instance template. +func (o GetIsInstanceGroupMembershipInstanceTemplateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipInstanceTemplate) string { return v.Crn }).(pulumi.StringOutput) +} + +// The unique identifier for this instance template. +func (o GetIsInstanceGroupMembershipInstanceTemplateOutput) InstanceTemplate() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipInstanceTemplate) string { return v.InstanceTemplate }).(pulumi.StringOutput) +} + +// The unique user-defined name for this instance template. +func (o GetIsInstanceGroupMembershipInstanceTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipInstanceTemplate) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupMembershipInstanceTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipInstanceTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipInstanceTemplate)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipInstanceTemplateArrayOutput) ToGetIsInstanceGroupMembershipInstanceTemplateArrayOutput() GetIsInstanceGroupMembershipInstanceTemplateArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipInstanceTemplateArrayOutput) ToGetIsInstanceGroupMembershipInstanceTemplateArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipInstanceTemplateArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipInstanceTemplateArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupMembershipInstanceTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupMembershipInstanceTemplate { + return vs[0].([]GetIsInstanceGroupMembershipInstanceTemplate)[vs[1].(int)] + }).(GetIsInstanceGroupMembershipInstanceTemplateOutput) +} + +type GetIsInstanceGroupMembershipsMembership struct { + // If set to true, when deleting the membership the instance will also be deleted. + DeleteInstanceOnMembershipDelete bool `pulumi:"deleteInstanceOnMembershipDelete"` + // The unique identifier for this instance group membership. + InstanceGroupMembership string `pulumi:"instanceGroupMembership"` + InstanceTemplates []GetIsInstanceGroupMembershipsMembershipInstanceTemplate `pulumi:"instanceTemplates"` + Instances []GetIsInstanceGroupMembershipsMembershipInstance `pulumi:"instances"` + // The unique identifier for this load balancer pool member. + LoadBalancerPoolMember string `pulumi:"loadBalancerPoolMember"` + // The user-defined name for this instance group membership. Names must be unique within the instance group. + Name string `pulumi:"name"` + // The status of the instance group membership- `deleting`: Membership is deleting dependent resources- `failed`: Membership was unable to maintain dependent resources- `healthy`: Membership is active and serving in the group- `pending`: Membership is waiting for dependent resources- `unhealthy`: Membership has unhealthy dependent resources. + Status string `pulumi:"status"` +} + +// GetIsInstanceGroupMembershipsMembershipInput is an input type that accepts GetIsInstanceGroupMembershipsMembershipArgs and GetIsInstanceGroupMembershipsMembershipOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipsMembershipInput` via: +// +// GetIsInstanceGroupMembershipsMembershipArgs{...} +type GetIsInstanceGroupMembershipsMembershipInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipsMembershipOutput() GetIsInstanceGroupMembershipsMembershipOutput + ToGetIsInstanceGroupMembershipsMembershipOutputWithContext(context.Context) GetIsInstanceGroupMembershipsMembershipOutput +} + +type GetIsInstanceGroupMembershipsMembershipArgs struct { + // If set to true, when deleting the membership the instance will also be deleted. + DeleteInstanceOnMembershipDelete pulumi.BoolInput `pulumi:"deleteInstanceOnMembershipDelete"` + // The unique identifier for this instance group membership. + InstanceGroupMembership pulumi.StringInput `pulumi:"instanceGroupMembership"` + InstanceTemplates GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayInput `pulumi:"instanceTemplates"` + Instances GetIsInstanceGroupMembershipsMembershipInstanceArrayInput `pulumi:"instances"` + // The unique identifier for this load balancer pool member. + LoadBalancerPoolMember pulumi.StringInput `pulumi:"loadBalancerPoolMember"` + // The user-defined name for this instance group membership. Names must be unique within the instance group. + Name pulumi.StringInput `pulumi:"name"` + // The status of the instance group membership- `deleting`: Membership is deleting dependent resources- `failed`: Membership was unable to maintain dependent resources- `healthy`: Membership is active and serving in the group- `pending`: Membership is waiting for dependent resources- `unhealthy`: Membership has unhealthy dependent resources. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetIsInstanceGroupMembershipsMembershipArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipsMembership)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipsMembershipArgs) ToGetIsInstanceGroupMembershipsMembershipOutput() GetIsInstanceGroupMembershipsMembershipOutput { + return i.ToGetIsInstanceGroupMembershipsMembershipOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipsMembershipArgs) ToGetIsInstanceGroupMembershipsMembershipOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipsMembershipOutput) +} + +// GetIsInstanceGroupMembershipsMembershipArrayInput is an input type that accepts GetIsInstanceGroupMembershipsMembershipArray and GetIsInstanceGroupMembershipsMembershipArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipsMembershipArrayInput` via: +// +// GetIsInstanceGroupMembershipsMembershipArray{ GetIsInstanceGroupMembershipsMembershipArgs{...} } +type GetIsInstanceGroupMembershipsMembershipArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipsMembershipArrayOutput() GetIsInstanceGroupMembershipsMembershipArrayOutput + ToGetIsInstanceGroupMembershipsMembershipArrayOutputWithContext(context.Context) GetIsInstanceGroupMembershipsMembershipArrayOutput +} + +type GetIsInstanceGroupMembershipsMembershipArray []GetIsInstanceGroupMembershipsMembershipInput + +func (GetIsInstanceGroupMembershipsMembershipArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipsMembership)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipsMembershipArray) ToGetIsInstanceGroupMembershipsMembershipArrayOutput() GetIsInstanceGroupMembershipsMembershipArrayOutput { + return i.ToGetIsInstanceGroupMembershipsMembershipArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipsMembershipArray) ToGetIsInstanceGroupMembershipsMembershipArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipsMembershipArrayOutput) +} + +type GetIsInstanceGroupMembershipsMembershipOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipsMembershipOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipsMembership)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipsMembershipOutput) ToGetIsInstanceGroupMembershipsMembershipOutput() GetIsInstanceGroupMembershipsMembershipOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipOutput) ToGetIsInstanceGroupMembershipsMembershipOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipOutput { + return o +} + +// If set to true, when deleting the membership the instance will also be deleted. +func (o GetIsInstanceGroupMembershipsMembershipOutput) DeleteInstanceOnMembershipDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembership) bool { return v.DeleteInstanceOnMembershipDelete }).(pulumi.BoolOutput) +} + +// The unique identifier for this instance group membership. +func (o GetIsInstanceGroupMembershipsMembershipOutput) InstanceGroupMembership() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembership) string { return v.InstanceGroupMembership }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupMembershipsMembershipOutput) InstanceTemplates() GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembership) []GetIsInstanceGroupMembershipsMembershipInstanceTemplate { + return v.InstanceTemplates + }).(GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput) +} + +func (o GetIsInstanceGroupMembershipsMembershipOutput) Instances() GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembership) []GetIsInstanceGroupMembershipsMembershipInstance { + return v.Instances + }).(GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput) +} + +// The unique identifier for this load balancer pool member. +func (o GetIsInstanceGroupMembershipsMembershipOutput) LoadBalancerPoolMember() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembership) string { return v.LoadBalancerPoolMember }).(pulumi.StringOutput) +} + +// The user-defined name for this instance group membership. Names must be unique within the instance group. +func (o GetIsInstanceGroupMembershipsMembershipOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembership) string { return v.Name }).(pulumi.StringOutput) +} + +// The status of the instance group membership- `deleting`: Membership is deleting dependent resources- `failed`: Membership was unable to maintain dependent resources- `healthy`: Membership is active and serving in the group- `pending`: Membership is waiting for dependent resources- `unhealthy`: Membership has unhealthy dependent resources. +func (o GetIsInstanceGroupMembershipsMembershipOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembership) string { return v.Status }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupMembershipsMembershipArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipsMembershipArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipsMembership)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipsMembershipArrayOutput) ToGetIsInstanceGroupMembershipsMembershipArrayOutput() GetIsInstanceGroupMembershipsMembershipArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipArrayOutput) ToGetIsInstanceGroupMembershipsMembershipArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupMembershipsMembershipOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupMembershipsMembership { + return vs[0].([]GetIsInstanceGroupMembershipsMembership)[vs[1].(int)] + }).(GetIsInstanceGroupMembershipsMembershipOutput) +} + +type GetIsInstanceGroupMembershipsMembershipInstance struct { + // The CRN for this virtual server instance. + Crn string `pulumi:"crn"` + // The user-defined name for this virtual server instance (and default system hostname). + Name string `pulumi:"name"` + // The unique identifier for this virtual server instance. + VirtualServerInstance string `pulumi:"virtualServerInstance"` +} + +// GetIsInstanceGroupMembershipsMembershipInstanceInput is an input type that accepts GetIsInstanceGroupMembershipsMembershipInstanceArgs and GetIsInstanceGroupMembershipsMembershipInstanceOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipsMembershipInstanceInput` via: +// +// GetIsInstanceGroupMembershipsMembershipInstanceArgs{...} +type GetIsInstanceGroupMembershipsMembershipInstanceInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipsMembershipInstanceOutput() GetIsInstanceGroupMembershipsMembershipInstanceOutput + ToGetIsInstanceGroupMembershipsMembershipInstanceOutputWithContext(context.Context) GetIsInstanceGroupMembershipsMembershipInstanceOutput +} + +type GetIsInstanceGroupMembershipsMembershipInstanceArgs struct { + // The CRN for this virtual server instance. + Crn pulumi.StringInput `pulumi:"crn"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringInput `pulumi:"name"` + // The unique identifier for this virtual server instance. + VirtualServerInstance pulumi.StringInput `pulumi:"virtualServerInstance"` +} + +func (GetIsInstanceGroupMembershipsMembershipInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInstance)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipsMembershipInstanceArgs) ToGetIsInstanceGroupMembershipsMembershipInstanceOutput() GetIsInstanceGroupMembershipsMembershipInstanceOutput { + return i.ToGetIsInstanceGroupMembershipsMembershipInstanceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipsMembershipInstanceArgs) ToGetIsInstanceGroupMembershipsMembershipInstanceOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipsMembershipInstanceOutput) +} + +// GetIsInstanceGroupMembershipsMembershipInstanceArrayInput is an input type that accepts GetIsInstanceGroupMembershipsMembershipInstanceArray and GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipsMembershipInstanceArrayInput` via: +// +// GetIsInstanceGroupMembershipsMembershipInstanceArray{ GetIsInstanceGroupMembershipsMembershipInstanceArgs{...} } +type GetIsInstanceGroupMembershipsMembershipInstanceArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipsMembershipInstanceArrayOutput() GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput + ToGetIsInstanceGroupMembershipsMembershipInstanceArrayOutputWithContext(context.Context) GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput +} + +type GetIsInstanceGroupMembershipsMembershipInstanceArray []GetIsInstanceGroupMembershipsMembershipInstanceInput + +func (GetIsInstanceGroupMembershipsMembershipInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipsMembershipInstance)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipsMembershipInstanceArray) ToGetIsInstanceGroupMembershipsMembershipInstanceArrayOutput() GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput { + return i.ToGetIsInstanceGroupMembershipsMembershipInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipsMembershipInstanceArray) ToGetIsInstanceGroupMembershipsMembershipInstanceArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput) +} + +type GetIsInstanceGroupMembershipsMembershipInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipsMembershipInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInstance)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceOutput) ToGetIsInstanceGroupMembershipsMembershipInstanceOutput() GetIsInstanceGroupMembershipsMembershipInstanceOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceOutput) ToGetIsInstanceGroupMembershipsMembershipInstanceOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipInstanceOutput { + return o +} + +// The CRN for this virtual server instance. +func (o GetIsInstanceGroupMembershipsMembershipInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembershipInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o GetIsInstanceGroupMembershipsMembershipInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembershipInstance) string { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual server instance. +func (o GetIsInstanceGroupMembershipsMembershipInstanceOutput) VirtualServerInstance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembershipInstance) string { return v.VirtualServerInstance }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipsMembershipInstance)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput) ToGetIsInstanceGroupMembershipsMembershipInstanceArrayOutput() GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput) ToGetIsInstanceGroupMembershipsMembershipInstanceArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupMembershipsMembershipInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupMembershipsMembershipInstance { + return vs[0].([]GetIsInstanceGroupMembershipsMembershipInstance)[vs[1].(int)] + }).(GetIsInstanceGroupMembershipsMembershipInstanceOutput) +} + +type GetIsInstanceGroupMembershipsMembershipInstanceTemplate struct { + // The CRN for this instance template. + Crn string `pulumi:"crn"` + // The unique identifier for this instance template. + InstanceTemplate string `pulumi:"instanceTemplate"` + // The unique user-defined name for this instance template. + Name string `pulumi:"name"` +} + +// GetIsInstanceGroupMembershipsMembershipInstanceTemplateInput is an input type that accepts GetIsInstanceGroupMembershipsMembershipInstanceTemplateArgs and GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipsMembershipInstanceTemplateInput` via: +// +// GetIsInstanceGroupMembershipsMembershipInstanceTemplateArgs{...} +type GetIsInstanceGroupMembershipsMembershipInstanceTemplateInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput() GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput + ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateOutputWithContext(context.Context) GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput +} + +type GetIsInstanceGroupMembershipsMembershipInstanceTemplateArgs struct { + // The CRN for this instance template. + Crn pulumi.StringInput `pulumi:"crn"` + // The unique identifier for this instance template. + InstanceTemplate pulumi.StringInput `pulumi:"instanceTemplate"` + // The unique user-defined name for this instance template. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceGroupMembershipsMembershipInstanceTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInstanceTemplate)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipsMembershipInstanceTemplateArgs) ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput() GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput { + return i.ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipsMembershipInstanceTemplateArgs) ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput) +} + +// GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayInput is an input type that accepts GetIsInstanceGroupMembershipsMembershipInstanceTemplateArray and GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayInput` via: +// +// GetIsInstanceGroupMembershipsMembershipInstanceTemplateArray{ GetIsInstanceGroupMembershipsMembershipInstanceTemplateArgs{...} } +type GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput() GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput + ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutputWithContext(context.Context) GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput +} + +type GetIsInstanceGroupMembershipsMembershipInstanceTemplateArray []GetIsInstanceGroupMembershipsMembershipInstanceTemplateInput + +func (GetIsInstanceGroupMembershipsMembershipInstanceTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipsMembershipInstanceTemplate)(nil)).Elem() +} + +func (i GetIsInstanceGroupMembershipsMembershipInstanceTemplateArray) ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput() GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput { + return i.ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupMembershipsMembershipInstanceTemplateArray) ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput) +} + +type GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInstanceTemplate)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput) ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput() GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput) ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput { + return o +} + +// The CRN for this instance template. +func (o GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembershipInstanceTemplate) string { return v.Crn }).(pulumi.StringOutput) +} + +// The unique identifier for this instance template. +func (o GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput) InstanceTemplate() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembershipInstanceTemplate) string { return v.InstanceTemplate }).(pulumi.StringOutput) +} + +// The unique user-defined name for this instance template. +func (o GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupMembershipsMembershipInstanceTemplate) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupMembershipsMembershipInstanceTemplate)(nil)).Elem() +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput) ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput() GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput) ToGetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput { + return o +} + +func (o GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupMembershipsMembershipInstanceTemplate { + return vs[0].([]GetIsInstanceGroupMembershipsMembershipInstanceTemplate)[vs[1].(int)] + }).(GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput) +} + +type GetIsInstanceGroupsInstanceGroup struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // Required if specifying a load balancer pool only. Used by the instance group when scaling up instances to supply the port for the load balancer pool member. + ApplicationPort int `pulumi:"applicationPort"` + // The date and time that the instance group was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this instance group. + Crn string `pulumi:"crn"` + // The URL for this instance group. + Href string `pulumi:"href"` + // The unique identifier for this instance group. + Id string `pulumi:"id"` + // The template used to create new instances for this group. + InstanceTemplates []GetIsInstanceGroupsInstanceGroupInstanceTemplate `pulumi:"instanceTemplates"` + // The load balancer pool managed by this group. Instances createdby this group will have a new load balancer pool member in thatpool created. + LoadBalancerPools []GetIsInstanceGroupsInstanceGroupLoadBalancerPool `pulumi:"loadBalancerPools"` + // The managers for the instance group. + Managers []GetIsInstanceGroupsInstanceGroupManager `pulumi:"managers"` + // The number of instances in the instance group. + MembershipCount int `pulumi:"membershipCount"` + // The user-defined name for this instance group. + Name string `pulumi:"name"` + ResourceGroups []GetIsInstanceGroupsInstanceGroupResourceGroup `pulumi:"resourceGroups"` + // The status of the instance group- `deleting`: Group is being deleted- `healthy`: Group has `membershipCount` instances- `scaling`: Instances in the group are being created or deleted to reach `membershipCount`- `unhealthy`: Group is unable to reach `membershipCount` instances. + Status string `pulumi:"status"` + // The subnets to use when creating new instances. + Subnets []GetIsInstanceGroupsInstanceGroupSubnet `pulumi:"subnets"` + // The date and time that the instance group was updated. + UpdatedAt string `pulumi:"updatedAt"` + // The VPC the instance group resides in. + Vpcs []GetIsInstanceGroupsInstanceGroupVpc `pulumi:"vpcs"` +} + +// GetIsInstanceGroupsInstanceGroupInput is an input type that accepts GetIsInstanceGroupsInstanceGroupArgs and GetIsInstanceGroupsInstanceGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupInput` via: +// +// GetIsInstanceGroupsInstanceGroupArgs{...} +type GetIsInstanceGroupsInstanceGroupInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupOutput() GetIsInstanceGroupsInstanceGroupOutput + ToGetIsInstanceGroupsInstanceGroupOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupOutput +} + +type GetIsInstanceGroupsInstanceGroupArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // Required if specifying a load balancer pool only. Used by the instance group when scaling up instances to supply the port for the load balancer pool member. + ApplicationPort pulumi.IntInput `pulumi:"applicationPort"` + // The date and time that the instance group was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this instance group. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this instance group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance group. + Id pulumi.StringInput `pulumi:"id"` + // The template used to create new instances for this group. + InstanceTemplates GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayInput `pulumi:"instanceTemplates"` + // The load balancer pool managed by this group. Instances createdby this group will have a new load balancer pool member in thatpool created. + LoadBalancerPools GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayInput `pulumi:"loadBalancerPools"` + // The managers for the instance group. + Managers GetIsInstanceGroupsInstanceGroupManagerArrayInput `pulumi:"managers"` + // The number of instances in the instance group. + MembershipCount pulumi.IntInput `pulumi:"membershipCount"` + // The user-defined name for this instance group. + Name pulumi.StringInput `pulumi:"name"` + ResourceGroups GetIsInstanceGroupsInstanceGroupResourceGroupArrayInput `pulumi:"resourceGroups"` + // The status of the instance group- `deleting`: Group is being deleted- `healthy`: Group has `membershipCount` instances- `scaling`: Instances in the group are being created or deleted to reach `membershipCount`- `unhealthy`: Group is unable to reach `membershipCount` instances. + Status pulumi.StringInput `pulumi:"status"` + // The subnets to use when creating new instances. + Subnets GetIsInstanceGroupsInstanceGroupSubnetArrayInput `pulumi:"subnets"` + // The date and time that the instance group was updated. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` + // The VPC the instance group resides in. + Vpcs GetIsInstanceGroupsInstanceGroupVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsInstanceGroupsInstanceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroup)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupArgs) ToGetIsInstanceGroupsInstanceGroupOutput() GetIsInstanceGroupsInstanceGroupOutput { + return i.ToGetIsInstanceGroupsInstanceGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupArgs) ToGetIsInstanceGroupsInstanceGroupOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupOutput) +} + +// GetIsInstanceGroupsInstanceGroupArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupArray and GetIsInstanceGroupsInstanceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupArray{ GetIsInstanceGroupsInstanceGroupArgs{...} } +type GetIsInstanceGroupsInstanceGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupArrayOutput() GetIsInstanceGroupsInstanceGroupArrayOutput + ToGetIsInstanceGroupsInstanceGroupArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupArray []GetIsInstanceGroupsInstanceGroupInput + +func (GetIsInstanceGroupsInstanceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroup)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupArray) ToGetIsInstanceGroupsInstanceGroupArrayOutput() GetIsInstanceGroupsInstanceGroupArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupArray) ToGetIsInstanceGroupsInstanceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroup)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupOutput) ToGetIsInstanceGroupsInstanceGroupOutput() GetIsInstanceGroupsInstanceGroupOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupOutput) ToGetIsInstanceGroupsInstanceGroupOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupOutput { + return o +} + +// List of access tags +func (o GetIsInstanceGroupsInstanceGroupOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Required if specifying a load balancer pool only. Used by the instance group when scaling up instances to supply the port for the load balancer pool member. +func (o GetIsInstanceGroupsInstanceGroupOutput) ApplicationPort() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) int { return v.ApplicationPort }).(pulumi.IntOutput) +} + +// The date and time that the instance group was created. +func (o GetIsInstanceGroupsInstanceGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this instance group. +func (o GetIsInstanceGroupsInstanceGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this instance group. +func (o GetIsInstanceGroupsInstanceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance group. +func (o GetIsInstanceGroupsInstanceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The template used to create new instances for this group. +func (o GetIsInstanceGroupsInstanceGroupOutput) InstanceTemplates() GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) []GetIsInstanceGroupsInstanceGroupInstanceTemplate { + return v.InstanceTemplates + }).(GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput) +} + +// The load balancer pool managed by this group. Instances createdby this group will have a new load balancer pool member in thatpool created. +func (o GetIsInstanceGroupsInstanceGroupOutput) LoadBalancerPools() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) []GetIsInstanceGroupsInstanceGroupLoadBalancerPool { + return v.LoadBalancerPools + }).(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput) +} + +// The managers for the instance group. +func (o GetIsInstanceGroupsInstanceGroupOutput) Managers() GetIsInstanceGroupsInstanceGroupManagerArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) []GetIsInstanceGroupsInstanceGroupManager { return v.Managers }).(GetIsInstanceGroupsInstanceGroupManagerArrayOutput) +} + +// The number of instances in the instance group. +func (o GetIsInstanceGroupsInstanceGroupOutput) MembershipCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) int { return v.MembershipCount }).(pulumi.IntOutput) +} + +// The user-defined name for this instance group. +func (o GetIsInstanceGroupsInstanceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsInstanceGroupsInstanceGroupOutput) ResourceGroups() GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) []GetIsInstanceGroupsInstanceGroupResourceGroup { + return v.ResourceGroups + }).(GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput) +} + +// The status of the instance group- `deleting`: Group is being deleted- `healthy`: Group has `membershipCount` instances- `scaling`: Instances in the group are being created or deleted to reach `membershipCount`- `unhealthy`: Group is unable to reach `membershipCount` instances. +func (o GetIsInstanceGroupsInstanceGroupOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) string { return v.Status }).(pulumi.StringOutput) +} + +// The subnets to use when creating new instances. +func (o GetIsInstanceGroupsInstanceGroupOutput) Subnets() GetIsInstanceGroupsInstanceGroupSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) []GetIsInstanceGroupsInstanceGroupSubnet { return v.Subnets }).(GetIsInstanceGroupsInstanceGroupSubnetArrayOutput) +} + +// The date and time that the instance group was updated. +func (o GetIsInstanceGroupsInstanceGroupOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// The VPC the instance group resides in. +func (o GetIsInstanceGroupsInstanceGroupOutput) Vpcs() GetIsInstanceGroupsInstanceGroupVpcArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroup) []GetIsInstanceGroupsInstanceGroupVpc { return v.Vpcs }).(GetIsInstanceGroupsInstanceGroupVpcArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroup)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupArrayOutput) ToGetIsInstanceGroupsInstanceGroupArrayOutput() GetIsInstanceGroupsInstanceGroupArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupArrayOutput) ToGetIsInstanceGroupsInstanceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroup { + return vs[0].([]GetIsInstanceGroupsInstanceGroup)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupOutput) +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplate struct { + // The CRN for this instance template. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted `pulumi:"deleteds"` + // The URL for this instance template. + Href string `pulumi:"href"` + // The unique identifier for this instance template. + Id string `pulumi:"id"` + // The unique user-defined name for this instance template. + Name string `pulumi:"name"` +} + +// GetIsInstanceGroupsInstanceGroupInstanceTemplateInput is an input type that accepts GetIsInstanceGroupsInstanceGroupInstanceTemplateArgs and GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupInstanceTemplateInput` via: +// +// GetIsInstanceGroupsInstanceGroupInstanceTemplateArgs{...} +type GetIsInstanceGroupsInstanceGroupInstanceTemplateInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupInstanceTemplateOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput + ToGetIsInstanceGroupsInstanceGroupInstanceTemplateOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateArgs struct { + // The CRN for this instance template. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance template. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance template. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this instance template. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceGroupsInstanceGroupInstanceTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInstanceTemplate)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupInstanceTemplateArgs) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput { + return i.ToGetIsInstanceGroupsInstanceGroupInstanceTemplateOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupInstanceTemplateArgs) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) +} + +// GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupInstanceTemplateArray and GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupInstanceTemplateArray{ GetIsInstanceGroupsInstanceGroupInstanceTemplateArgs{...} } +type GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput + ToGetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateArray []GetIsInstanceGroupsInstanceGroupInstanceTemplateInput + +func (GetIsInstanceGroupsInstanceGroupInstanceTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupInstanceTemplate)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupInstanceTemplateArray) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupInstanceTemplateArray) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInstanceTemplate)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput { + return o +} + +// The CRN for this instance template. +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupInstanceTemplate) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) Deleteds() GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupInstanceTemplate) []GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted { + return v.Deleteds + }).(GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput) +} + +// The URL for this instance template. +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupInstanceTemplate) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance template. +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupInstanceTemplate) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this instance template. +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupInstanceTemplate) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupInstanceTemplate)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupInstanceTemplate { + return vs[0].([]GetIsInstanceGroupsInstanceGroupInstanceTemplate)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput) +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedInput is an input type that accepts GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArgs and GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedInput` via: +// +// GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArgs{...} +type GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput + ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArgs) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput { + return i.ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArgs) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput) +} + +// GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArray and GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArray{ GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArgs{...} } +type GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput + ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArray []GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedInput + +func (GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArray) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArray) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted { + return vs[0].([]GetIsInstanceGroupsInstanceGroupInstanceTemplateDeleted)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput) +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPool struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted `pulumi:"deleteds"` + // The pool's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id string `pulumi:"id"` + // The user-defined name for this load balancer pool. + Name string `pulumi:"name"` +} + +// GetIsInstanceGroupsInstanceGroupLoadBalancerPoolInput is an input type that accepts GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArgs and GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupLoadBalancerPoolInput` via: +// +// GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArgs{...} +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput + ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayInput `pulumi:"deleteds"` + // The pool's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this load balancer pool. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupLoadBalancerPool)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArgs) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput { + return i.ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArgs) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) +} + +// GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArray and GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArray{ GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArgs{...} } +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput + ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArray []GetIsInstanceGroupsInstanceGroupLoadBalancerPoolInput + +func (GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupLoadBalancerPool)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArray) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArray) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupLoadBalancerPool)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) Deleteds() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupLoadBalancerPool) []GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted { + return v.Deleteds + }).(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput) +} + +// The pool's canonical URL. +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupLoadBalancerPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool. +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupLoadBalancerPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this load balancer pool. +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupLoadBalancerPool) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupLoadBalancerPool)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupLoadBalancerPool { + return vs[0].([]GetIsInstanceGroupsInstanceGroupLoadBalancerPool)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput) +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedInput is an input type that accepts GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArgs and GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedInput` via: +// +// GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArgs{...} +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput + ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArgs) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput { + return i.ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArgs) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput) +} + +// GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArray and GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArray{ GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArgs{...} } +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput + ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArray []GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedInput + +func (GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArray) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArray) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted { + return vs[0].([]GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeleted)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput) +} + +type GetIsInstanceGroupsInstanceGroupManager struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceGroupsInstanceGroupManagerDeleted `pulumi:"deleteds"` + // The URL for this instance group manager. + Href string `pulumi:"href"` + // The unique identifier for this instance group manager. + Id string `pulumi:"id"` + // The user-defined name for this instance group manager. + Name string `pulumi:"name"` +} + +// GetIsInstanceGroupsInstanceGroupManagerInput is an input type that accepts GetIsInstanceGroupsInstanceGroupManagerArgs and GetIsInstanceGroupsInstanceGroupManagerOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupManagerInput` via: +// +// GetIsInstanceGroupsInstanceGroupManagerArgs{...} +type GetIsInstanceGroupsInstanceGroupManagerInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupManagerOutput() GetIsInstanceGroupsInstanceGroupManagerOutput + ToGetIsInstanceGroupsInstanceGroupManagerOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupManagerOutput +} + +type GetIsInstanceGroupsInstanceGroupManagerArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceGroupsInstanceGroupManagerDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance group manager. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance group manager. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this instance group manager. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceGroupsInstanceGroupManagerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupManager)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupManagerArgs) ToGetIsInstanceGroupsInstanceGroupManagerOutput() GetIsInstanceGroupsInstanceGroupManagerOutput { + return i.ToGetIsInstanceGroupsInstanceGroupManagerOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupManagerArgs) ToGetIsInstanceGroupsInstanceGroupManagerOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupManagerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupManagerOutput) +} + +// GetIsInstanceGroupsInstanceGroupManagerArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupManagerArray and GetIsInstanceGroupsInstanceGroupManagerArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupManagerArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupManagerArray{ GetIsInstanceGroupsInstanceGroupManagerArgs{...} } +type GetIsInstanceGroupsInstanceGroupManagerArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupManagerArrayOutput() GetIsInstanceGroupsInstanceGroupManagerArrayOutput + ToGetIsInstanceGroupsInstanceGroupManagerArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupManagerArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupManagerArray []GetIsInstanceGroupsInstanceGroupManagerInput + +func (GetIsInstanceGroupsInstanceGroupManagerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupManager)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupManagerArray) ToGetIsInstanceGroupsInstanceGroupManagerArrayOutput() GetIsInstanceGroupsInstanceGroupManagerArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupManagerArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupManagerArray) ToGetIsInstanceGroupsInstanceGroupManagerArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupManagerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupManagerArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupManagerOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupManagerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupManager)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupManagerOutput) ToGetIsInstanceGroupsInstanceGroupManagerOutput() GetIsInstanceGroupsInstanceGroupManagerOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupManagerOutput) ToGetIsInstanceGroupsInstanceGroupManagerOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupManagerOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceGroupsInstanceGroupManagerOutput) Deleteds() GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupManager) []GetIsInstanceGroupsInstanceGroupManagerDeleted { + return v.Deleteds + }).(GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput) +} + +// The URL for this instance group manager. +func (o GetIsInstanceGroupsInstanceGroupManagerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupManager) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance group manager. +func (o GetIsInstanceGroupsInstanceGroupManagerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupManager) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this instance group manager. +func (o GetIsInstanceGroupsInstanceGroupManagerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupManager) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupManagerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupManagerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupManager)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupManagerArrayOutput) ToGetIsInstanceGroupsInstanceGroupManagerArrayOutput() GetIsInstanceGroupsInstanceGroupManagerArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupManagerArrayOutput) ToGetIsInstanceGroupsInstanceGroupManagerArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupManagerArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupManagerArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupManagerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupManager { + return vs[0].([]GetIsInstanceGroupsInstanceGroupManager)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupManagerOutput) +} + +type GetIsInstanceGroupsInstanceGroupManagerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceGroupsInstanceGroupManagerDeletedInput is an input type that accepts GetIsInstanceGroupsInstanceGroupManagerDeletedArgs and GetIsInstanceGroupsInstanceGroupManagerDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupManagerDeletedInput` via: +// +// GetIsInstanceGroupsInstanceGroupManagerDeletedArgs{...} +type GetIsInstanceGroupsInstanceGroupManagerDeletedInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupManagerDeletedOutput() GetIsInstanceGroupsInstanceGroupManagerDeletedOutput + ToGetIsInstanceGroupsInstanceGroupManagerDeletedOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupManagerDeletedOutput +} + +type GetIsInstanceGroupsInstanceGroupManagerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceGroupsInstanceGroupManagerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupManagerDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupManagerDeletedArgs) ToGetIsInstanceGroupsInstanceGroupManagerDeletedOutput() GetIsInstanceGroupsInstanceGroupManagerDeletedOutput { + return i.ToGetIsInstanceGroupsInstanceGroupManagerDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupManagerDeletedArgs) ToGetIsInstanceGroupsInstanceGroupManagerDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupManagerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupManagerDeletedOutput) +} + +// GetIsInstanceGroupsInstanceGroupManagerDeletedArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupManagerDeletedArray and GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupManagerDeletedArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupManagerDeletedArray{ GetIsInstanceGroupsInstanceGroupManagerDeletedArgs{...} } +type GetIsInstanceGroupsInstanceGroupManagerDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput + ToGetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupManagerDeletedArray []GetIsInstanceGroupsInstanceGroupManagerDeletedInput + +func (GetIsInstanceGroupsInstanceGroupManagerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupManagerDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupManagerDeletedArray) ToGetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupManagerDeletedArray) ToGetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupManagerDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupManagerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupManagerDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupManagerDeletedOutput) ToGetIsInstanceGroupsInstanceGroupManagerDeletedOutput() GetIsInstanceGroupsInstanceGroupManagerDeletedOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupManagerDeletedOutput) ToGetIsInstanceGroupsInstanceGroupManagerDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupManagerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceGroupsInstanceGroupManagerDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupManagerDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupManagerDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupManagerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupManagerDeleted { + return vs[0].([]GetIsInstanceGroupsInstanceGroupManagerDeleted)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupManagerDeletedOutput) +} + +type GetIsInstanceGroupsInstanceGroupResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsInstanceGroupsInstanceGroupResourceGroupInput is an input type that accepts GetIsInstanceGroupsInstanceGroupResourceGroupArgs and GetIsInstanceGroupsInstanceGroupResourceGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupResourceGroupInput` via: +// +// GetIsInstanceGroupsInstanceGroupResourceGroupArgs{...} +type GetIsInstanceGroupsInstanceGroupResourceGroupInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupResourceGroupOutput() GetIsInstanceGroupsInstanceGroupResourceGroupOutput + ToGetIsInstanceGroupsInstanceGroupResourceGroupOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupResourceGroupOutput +} + +type GetIsInstanceGroupsInstanceGroupResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceGroupsInstanceGroupResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupResourceGroupArgs) ToGetIsInstanceGroupsInstanceGroupResourceGroupOutput() GetIsInstanceGroupsInstanceGroupResourceGroupOutput { + return i.ToGetIsInstanceGroupsInstanceGroupResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupResourceGroupArgs) ToGetIsInstanceGroupsInstanceGroupResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupResourceGroupOutput) +} + +// GetIsInstanceGroupsInstanceGroupResourceGroupArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupResourceGroupArray and GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupResourceGroupArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupResourceGroupArray{ GetIsInstanceGroupsInstanceGroupResourceGroupArgs{...} } +type GetIsInstanceGroupsInstanceGroupResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput() GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput + ToGetIsInstanceGroupsInstanceGroupResourceGroupArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupResourceGroupArray []GetIsInstanceGroupsInstanceGroupResourceGroupInput + +func (GetIsInstanceGroupsInstanceGroupResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupResourceGroupArray) ToGetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput() GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupResourceGroupArray) ToGetIsInstanceGroupsInstanceGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupResourceGroupOutput) ToGetIsInstanceGroupsInstanceGroupResourceGroupOutput() GetIsInstanceGroupsInstanceGroupResourceGroupOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupResourceGroupOutput) ToGetIsInstanceGroupsInstanceGroupResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsInstanceGroupsInstanceGroupResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsInstanceGroupsInstanceGroupResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsInstanceGroupsInstanceGroupResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput) ToGetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput() GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput) ToGetIsInstanceGroupsInstanceGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupResourceGroup { + return vs[0].([]GetIsInstanceGroupsInstanceGroupResourceGroup)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupResourceGroupOutput) +} + +type GetIsInstanceGroupsInstanceGroupSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceGroupsInstanceGroupSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceGroupsInstanceGroupSubnetInput is an input type that accepts GetIsInstanceGroupsInstanceGroupSubnetArgs and GetIsInstanceGroupsInstanceGroupSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupSubnetInput` via: +// +// GetIsInstanceGroupsInstanceGroupSubnetArgs{...} +type GetIsInstanceGroupsInstanceGroupSubnetInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupSubnetOutput() GetIsInstanceGroupsInstanceGroupSubnetOutput + ToGetIsInstanceGroupsInstanceGroupSubnetOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupSubnetOutput +} + +type GetIsInstanceGroupsInstanceGroupSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceGroupsInstanceGroupSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupSubnet)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupSubnetArgs) ToGetIsInstanceGroupsInstanceGroupSubnetOutput() GetIsInstanceGroupsInstanceGroupSubnetOutput { + return i.ToGetIsInstanceGroupsInstanceGroupSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupSubnetArgs) ToGetIsInstanceGroupsInstanceGroupSubnetOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupSubnetOutput) +} + +// GetIsInstanceGroupsInstanceGroupSubnetArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupSubnetArray and GetIsInstanceGroupsInstanceGroupSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupSubnetArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupSubnetArray{ GetIsInstanceGroupsInstanceGroupSubnetArgs{...} } +type GetIsInstanceGroupsInstanceGroupSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupSubnetArrayOutput() GetIsInstanceGroupsInstanceGroupSubnetArrayOutput + ToGetIsInstanceGroupsInstanceGroupSubnetArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupSubnetArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupSubnetArray []GetIsInstanceGroupsInstanceGroupSubnetInput + +func (GetIsInstanceGroupsInstanceGroupSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupSubnet)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupSubnetArray) ToGetIsInstanceGroupsInstanceGroupSubnetArrayOutput() GetIsInstanceGroupsInstanceGroupSubnetArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupSubnetArray) ToGetIsInstanceGroupsInstanceGroupSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupSubnetArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupSubnet)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetOutput) ToGetIsInstanceGroupsInstanceGroupSubnetOutput() GetIsInstanceGroupsInstanceGroupSubnetOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetOutput) ToGetIsInstanceGroupsInstanceGroupSubnetOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceGroupsInstanceGroupSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceGroupsInstanceGroupSubnetOutput) Deleteds() GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupSubnet) []GetIsInstanceGroupsInstanceGroupSubnetDeleted { + return v.Deleteds + }).(GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceGroupsInstanceGroupSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceGroupsInstanceGroupSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsInstanceGroupsInstanceGroupSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceGroupsInstanceGroupSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupSubnet)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetArrayOutput) ToGetIsInstanceGroupsInstanceGroupSubnetArrayOutput() GetIsInstanceGroupsInstanceGroupSubnetArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetArrayOutput) ToGetIsInstanceGroupsInstanceGroupSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupSubnetArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupSubnet { + return vs[0].([]GetIsInstanceGroupsInstanceGroupSubnet)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupSubnetOutput) +} + +type GetIsInstanceGroupsInstanceGroupSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceGroupsInstanceGroupSubnetDeletedInput is an input type that accepts GetIsInstanceGroupsInstanceGroupSubnetDeletedArgs and GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupSubnetDeletedInput` via: +// +// GetIsInstanceGroupsInstanceGroupSubnetDeletedArgs{...} +type GetIsInstanceGroupsInstanceGroupSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupSubnetDeletedOutput() GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput + ToGetIsInstanceGroupsInstanceGroupSubnetDeletedOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput +} + +type GetIsInstanceGroupsInstanceGroupSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceGroupsInstanceGroupSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupSubnetDeletedArgs) ToGetIsInstanceGroupsInstanceGroupSubnetDeletedOutput() GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput { + return i.ToGetIsInstanceGroupsInstanceGroupSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupSubnetDeletedArgs) ToGetIsInstanceGroupsInstanceGroupSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput) +} + +// GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupSubnetDeletedArray and GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupSubnetDeletedArray{ GetIsInstanceGroupsInstanceGroupSubnetDeletedArgs{...} } +type GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput + ToGetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupSubnetDeletedArray []GetIsInstanceGroupsInstanceGroupSubnetDeletedInput + +func (GetIsInstanceGroupsInstanceGroupSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupSubnetDeletedArray) ToGetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupSubnetDeletedArray) ToGetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput) ToGetIsInstanceGroupsInstanceGroupSubnetDeletedOutput() GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput) ToGetIsInstanceGroupsInstanceGroupSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupSubnetDeleted { + return vs[0].([]GetIsInstanceGroupsInstanceGroupSubnetDeleted)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput) +} + +type GetIsInstanceGroupsInstanceGroupVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceGroupsInstanceGroupVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceGroupsInstanceGroupVpcInput is an input type that accepts GetIsInstanceGroupsInstanceGroupVpcArgs and GetIsInstanceGroupsInstanceGroupVpcOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupVpcInput` via: +// +// GetIsInstanceGroupsInstanceGroupVpcArgs{...} +type GetIsInstanceGroupsInstanceGroupVpcInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupVpcOutput() GetIsInstanceGroupsInstanceGroupVpcOutput + ToGetIsInstanceGroupsInstanceGroupVpcOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupVpcOutput +} + +type GetIsInstanceGroupsInstanceGroupVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceGroupsInstanceGroupVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceGroupsInstanceGroupVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupVpc)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupVpcArgs) ToGetIsInstanceGroupsInstanceGroupVpcOutput() GetIsInstanceGroupsInstanceGroupVpcOutput { + return i.ToGetIsInstanceGroupsInstanceGroupVpcOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupVpcArgs) ToGetIsInstanceGroupsInstanceGroupVpcOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupVpcOutput) +} + +// GetIsInstanceGroupsInstanceGroupVpcArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupVpcArray and GetIsInstanceGroupsInstanceGroupVpcArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupVpcArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupVpcArray{ GetIsInstanceGroupsInstanceGroupVpcArgs{...} } +type GetIsInstanceGroupsInstanceGroupVpcArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupVpcArrayOutput() GetIsInstanceGroupsInstanceGroupVpcArrayOutput + ToGetIsInstanceGroupsInstanceGroupVpcArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupVpcArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupVpcArray []GetIsInstanceGroupsInstanceGroupVpcInput + +func (GetIsInstanceGroupsInstanceGroupVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupVpc)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupVpcArray) ToGetIsInstanceGroupsInstanceGroupVpcArrayOutput() GetIsInstanceGroupsInstanceGroupVpcArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupVpcArray) ToGetIsInstanceGroupsInstanceGroupVpcArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupVpcArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupVpcOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupVpc)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupVpcOutput) ToGetIsInstanceGroupsInstanceGroupVpcOutput() GetIsInstanceGroupsInstanceGroupVpcOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupVpcOutput) ToGetIsInstanceGroupsInstanceGroupVpcOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsInstanceGroupsInstanceGroupVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceGroupsInstanceGroupVpcOutput) Deleteds() GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupVpc) []GetIsInstanceGroupsInstanceGroupVpcDeleted { + return v.Deleteds + }).(GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsInstanceGroupsInstanceGroupVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsInstanceGroupsInstanceGroupVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsInstanceGroupsInstanceGroupVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceGroupsInstanceGroupVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupVpc)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupVpcArrayOutput) ToGetIsInstanceGroupsInstanceGroupVpcArrayOutput() GetIsInstanceGroupsInstanceGroupVpcArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupVpcArrayOutput) ToGetIsInstanceGroupsInstanceGroupVpcArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupVpcArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupVpcArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupVpc { + return vs[0].([]GetIsInstanceGroupsInstanceGroupVpc)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupVpcOutput) +} + +type GetIsInstanceGroupsInstanceGroupVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceGroupsInstanceGroupVpcDeletedInput is an input type that accepts GetIsInstanceGroupsInstanceGroupVpcDeletedArgs and GetIsInstanceGroupsInstanceGroupVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupVpcDeletedInput` via: +// +// GetIsInstanceGroupsInstanceGroupVpcDeletedArgs{...} +type GetIsInstanceGroupsInstanceGroupVpcDeletedInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupVpcDeletedOutput() GetIsInstanceGroupsInstanceGroupVpcDeletedOutput + ToGetIsInstanceGroupsInstanceGroupVpcDeletedOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupVpcDeletedOutput +} + +type GetIsInstanceGroupsInstanceGroupVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceGroupsInstanceGroupVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupVpcDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupVpcDeletedArgs) ToGetIsInstanceGroupsInstanceGroupVpcDeletedOutput() GetIsInstanceGroupsInstanceGroupVpcDeletedOutput { + return i.ToGetIsInstanceGroupsInstanceGroupVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupVpcDeletedArgs) ToGetIsInstanceGroupsInstanceGroupVpcDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupVpcDeletedOutput) +} + +// GetIsInstanceGroupsInstanceGroupVpcDeletedArrayInput is an input type that accepts GetIsInstanceGroupsInstanceGroupVpcDeletedArray and GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceGroupsInstanceGroupVpcDeletedArrayInput` via: +// +// GetIsInstanceGroupsInstanceGroupVpcDeletedArray{ GetIsInstanceGroupsInstanceGroupVpcDeletedArgs{...} } +type GetIsInstanceGroupsInstanceGroupVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput + ToGetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutputWithContext(context.Context) GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput +} + +type GetIsInstanceGroupsInstanceGroupVpcDeletedArray []GetIsInstanceGroupsInstanceGroupVpcDeletedInput + +func (GetIsInstanceGroupsInstanceGroupVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupVpcDeleted)(nil)).Elem() +} + +func (i GetIsInstanceGroupsInstanceGroupVpcDeletedArray) ToGetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput { + return i.ToGetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceGroupsInstanceGroupVpcDeletedArray) ToGetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput) +} + +type GetIsInstanceGroupsInstanceGroupVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupVpcDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupVpcDeletedOutput) ToGetIsInstanceGroupsInstanceGroupVpcDeletedOutput() GetIsInstanceGroupsInstanceGroupVpcDeletedOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupVpcDeletedOutput) ToGetIsInstanceGroupsInstanceGroupVpcDeletedOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceGroupsInstanceGroupVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceGroupsInstanceGroupVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceGroupsInstanceGroupVpcDeleted)(nil)).Elem() +} + +func (o GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput() GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput) ToGetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput { + return o +} + +func (o GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceGroupsInstanceGroupVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceGroupsInstanceGroupVpcDeleted { + return vs[0].([]GetIsInstanceGroupsInstanceGroupVpcDeleted)[vs[1].(int)] + }).(GetIsInstanceGroupsInstanceGroupVpcDeletedOutput) +} + +type GetIsInstanceHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceHealthReasonInput is an input type that accepts GetIsInstanceHealthReasonArgs and GetIsInstanceHealthReasonOutput values. +// You can construct a concrete instance of `GetIsInstanceHealthReasonInput` via: +// +// GetIsInstanceHealthReasonArgs{...} +type GetIsInstanceHealthReasonInput interface { + pulumi.Input + + ToGetIsInstanceHealthReasonOutput() GetIsInstanceHealthReasonOutput + ToGetIsInstanceHealthReasonOutputWithContext(context.Context) GetIsInstanceHealthReasonOutput +} + +type GetIsInstanceHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceHealthReason)(nil)).Elem() +} + +func (i GetIsInstanceHealthReasonArgs) ToGetIsInstanceHealthReasonOutput() GetIsInstanceHealthReasonOutput { + return i.ToGetIsInstanceHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsInstanceHealthReasonArgs) ToGetIsInstanceHealthReasonOutputWithContext(ctx context.Context) GetIsInstanceHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceHealthReasonOutput) +} + +// GetIsInstanceHealthReasonArrayInput is an input type that accepts GetIsInstanceHealthReasonArray and GetIsInstanceHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceHealthReasonArrayInput` via: +// +// GetIsInstanceHealthReasonArray{ GetIsInstanceHealthReasonArgs{...} } +type GetIsInstanceHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsInstanceHealthReasonArrayOutput() GetIsInstanceHealthReasonArrayOutput + ToGetIsInstanceHealthReasonArrayOutputWithContext(context.Context) GetIsInstanceHealthReasonArrayOutput +} + +type GetIsInstanceHealthReasonArray []GetIsInstanceHealthReasonInput + +func (GetIsInstanceHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceHealthReason)(nil)).Elem() +} + +func (i GetIsInstanceHealthReasonArray) ToGetIsInstanceHealthReasonArrayOutput() GetIsInstanceHealthReasonArrayOutput { + return i.ToGetIsInstanceHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceHealthReasonArray) ToGetIsInstanceHealthReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceHealthReasonArrayOutput) +} + +type GetIsInstanceHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceHealthReason)(nil)).Elem() +} + +func (o GetIsInstanceHealthReasonOutput) ToGetIsInstanceHealthReasonOutput() GetIsInstanceHealthReasonOutput { + return o +} + +func (o GetIsInstanceHealthReasonOutput) ToGetIsInstanceHealthReasonOutputWithContext(ctx context.Context) GetIsInstanceHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsInstanceHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsInstanceHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsInstanceHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceHealthReason)(nil)).Elem() +} + +func (o GetIsInstanceHealthReasonArrayOutput) ToGetIsInstanceHealthReasonArrayOutput() GetIsInstanceHealthReasonArrayOutput { + return o +} + +func (o GetIsInstanceHealthReasonArrayOutput) ToGetIsInstanceHealthReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceHealthReasonArrayOutput { + return o +} + +func (o GetIsInstanceHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsInstanceHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceHealthReason { + return vs[0].([]GetIsInstanceHealthReason)[vs[1].(int)] + }).(GetIsInstanceHealthReasonOutput) +} + +type GetIsInstanceKey struct { + // Instance key id + Id string `pulumi:"id"` + // Instance key name + Name string `pulumi:"name"` +} + +// GetIsInstanceKeyInput is an input type that accepts GetIsInstanceKeyArgs and GetIsInstanceKeyOutput values. +// You can construct a concrete instance of `GetIsInstanceKeyInput` via: +// +// GetIsInstanceKeyArgs{...} +type GetIsInstanceKeyInput interface { + pulumi.Input + + ToGetIsInstanceKeyOutput() GetIsInstanceKeyOutput + ToGetIsInstanceKeyOutputWithContext(context.Context) GetIsInstanceKeyOutput +} + +type GetIsInstanceKeyArgs struct { + // Instance key id + Id pulumi.StringInput `pulumi:"id"` + // Instance key name + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceKey)(nil)).Elem() +} + +func (i GetIsInstanceKeyArgs) ToGetIsInstanceKeyOutput() GetIsInstanceKeyOutput { + return i.ToGetIsInstanceKeyOutputWithContext(context.Background()) +} + +func (i GetIsInstanceKeyArgs) ToGetIsInstanceKeyOutputWithContext(ctx context.Context) GetIsInstanceKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceKeyOutput) +} + +// GetIsInstanceKeyArrayInput is an input type that accepts GetIsInstanceKeyArray and GetIsInstanceKeyArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceKeyArrayInput` via: +// +// GetIsInstanceKeyArray{ GetIsInstanceKeyArgs{...} } +type GetIsInstanceKeyArrayInput interface { + pulumi.Input + + ToGetIsInstanceKeyArrayOutput() GetIsInstanceKeyArrayOutput + ToGetIsInstanceKeyArrayOutputWithContext(context.Context) GetIsInstanceKeyArrayOutput +} + +type GetIsInstanceKeyArray []GetIsInstanceKeyInput + +func (GetIsInstanceKeyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceKey)(nil)).Elem() +} + +func (i GetIsInstanceKeyArray) ToGetIsInstanceKeyArrayOutput() GetIsInstanceKeyArrayOutput { + return i.ToGetIsInstanceKeyArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceKeyArray) ToGetIsInstanceKeyArrayOutputWithContext(ctx context.Context) GetIsInstanceKeyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceKeyArrayOutput) +} + +type GetIsInstanceKeyOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceKey)(nil)).Elem() +} + +func (o GetIsInstanceKeyOutput) ToGetIsInstanceKeyOutput() GetIsInstanceKeyOutput { + return o +} + +func (o GetIsInstanceKeyOutput) ToGetIsInstanceKeyOutputWithContext(ctx context.Context) GetIsInstanceKeyOutput { + return o +} + +// Instance key id +func (o GetIsInstanceKeyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceKey) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance key name +func (o GetIsInstanceKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceKey) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceKeyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceKeyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceKey)(nil)).Elem() +} + +func (o GetIsInstanceKeyArrayOutput) ToGetIsInstanceKeyArrayOutput() GetIsInstanceKeyArrayOutput { + return o +} + +func (o GetIsInstanceKeyArrayOutput) ToGetIsInstanceKeyArrayOutputWithContext(ctx context.Context) GetIsInstanceKeyArrayOutput { + return o +} + +func (o GetIsInstanceKeyArrayOutput) Index(i pulumi.IntInput) GetIsInstanceKeyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceKey { + return vs[0].([]GetIsInstanceKey)[vs[1].(int)] + }).(GetIsInstanceKeyOutput) +} + +type GetIsInstanceLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceLifecycleReasonInput is an input type that accepts GetIsInstanceLifecycleReasonArgs and GetIsInstanceLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsInstanceLifecycleReasonInput` via: +// +// GetIsInstanceLifecycleReasonArgs{...} +type GetIsInstanceLifecycleReasonInput interface { + pulumi.Input + + ToGetIsInstanceLifecycleReasonOutput() GetIsInstanceLifecycleReasonOutput + ToGetIsInstanceLifecycleReasonOutputWithContext(context.Context) GetIsInstanceLifecycleReasonOutput +} + +type GetIsInstanceLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceLifecycleReason)(nil)).Elem() +} + +func (i GetIsInstanceLifecycleReasonArgs) ToGetIsInstanceLifecycleReasonOutput() GetIsInstanceLifecycleReasonOutput { + return i.ToGetIsInstanceLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsInstanceLifecycleReasonArgs) ToGetIsInstanceLifecycleReasonOutputWithContext(ctx context.Context) GetIsInstanceLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceLifecycleReasonOutput) +} + +// GetIsInstanceLifecycleReasonArrayInput is an input type that accepts GetIsInstanceLifecycleReasonArray and GetIsInstanceLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceLifecycleReasonArrayInput` via: +// +// GetIsInstanceLifecycleReasonArray{ GetIsInstanceLifecycleReasonArgs{...} } +type GetIsInstanceLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsInstanceLifecycleReasonArrayOutput() GetIsInstanceLifecycleReasonArrayOutput + ToGetIsInstanceLifecycleReasonArrayOutputWithContext(context.Context) GetIsInstanceLifecycleReasonArrayOutput +} + +type GetIsInstanceLifecycleReasonArray []GetIsInstanceLifecycleReasonInput + +func (GetIsInstanceLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceLifecycleReason)(nil)).Elem() +} + +func (i GetIsInstanceLifecycleReasonArray) ToGetIsInstanceLifecycleReasonArrayOutput() GetIsInstanceLifecycleReasonArrayOutput { + return i.ToGetIsInstanceLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceLifecycleReasonArray) ToGetIsInstanceLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceLifecycleReasonArrayOutput) +} + +type GetIsInstanceLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceLifecycleReason)(nil)).Elem() +} + +func (o GetIsInstanceLifecycleReasonOutput) ToGetIsInstanceLifecycleReasonOutput() GetIsInstanceLifecycleReasonOutput { + return o +} + +func (o GetIsInstanceLifecycleReasonOutput) ToGetIsInstanceLifecycleReasonOutputWithContext(ctx context.Context) GetIsInstanceLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsInstanceLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsInstanceLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsInstanceLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceLifecycleReason)(nil)).Elem() +} + +func (o GetIsInstanceLifecycleReasonArrayOutput) ToGetIsInstanceLifecycleReasonArrayOutput() GetIsInstanceLifecycleReasonArrayOutput { + return o +} + +func (o GetIsInstanceLifecycleReasonArrayOutput) ToGetIsInstanceLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceLifecycleReasonArrayOutput { + return o +} + +func (o GetIsInstanceLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsInstanceLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceLifecycleReason { + return vs[0].([]GetIsInstanceLifecycleReason)[vs[1].(int)] + }).(GetIsInstanceLifecycleReasonOutput) +} + +type GetIsInstanceMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol string `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit int `pulumi:"responseHopLimit"` +} + +// GetIsInstanceMetadataServiceInput is an input type that accepts GetIsInstanceMetadataServiceArgs and GetIsInstanceMetadataServiceOutput values. +// You can construct a concrete instance of `GetIsInstanceMetadataServiceInput` via: +// +// GetIsInstanceMetadataServiceArgs{...} +type GetIsInstanceMetadataServiceInput interface { + pulumi.Input + + ToGetIsInstanceMetadataServiceOutput() GetIsInstanceMetadataServiceOutput + ToGetIsInstanceMetadataServiceOutputWithContext(context.Context) GetIsInstanceMetadataServiceOutput +} + +type GetIsInstanceMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit pulumi.IntInput `pulumi:"responseHopLimit"` +} + +func (GetIsInstanceMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceMetadataService)(nil)).Elem() +} + +func (i GetIsInstanceMetadataServiceArgs) ToGetIsInstanceMetadataServiceOutput() GetIsInstanceMetadataServiceOutput { + return i.ToGetIsInstanceMetadataServiceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceMetadataServiceArgs) ToGetIsInstanceMetadataServiceOutputWithContext(ctx context.Context) GetIsInstanceMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceMetadataServiceOutput) +} + +// GetIsInstanceMetadataServiceArrayInput is an input type that accepts GetIsInstanceMetadataServiceArray and GetIsInstanceMetadataServiceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceMetadataServiceArrayInput` via: +// +// GetIsInstanceMetadataServiceArray{ GetIsInstanceMetadataServiceArgs{...} } +type GetIsInstanceMetadataServiceArrayInput interface { + pulumi.Input + + ToGetIsInstanceMetadataServiceArrayOutput() GetIsInstanceMetadataServiceArrayOutput + ToGetIsInstanceMetadataServiceArrayOutputWithContext(context.Context) GetIsInstanceMetadataServiceArrayOutput +} + +type GetIsInstanceMetadataServiceArray []GetIsInstanceMetadataServiceInput + +func (GetIsInstanceMetadataServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceMetadataService)(nil)).Elem() +} + +func (i GetIsInstanceMetadataServiceArray) ToGetIsInstanceMetadataServiceArrayOutput() GetIsInstanceMetadataServiceArrayOutput { + return i.ToGetIsInstanceMetadataServiceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceMetadataServiceArray) ToGetIsInstanceMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsInstanceMetadataServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceMetadataServiceArrayOutput) +} + +type GetIsInstanceMetadataServiceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceMetadataService)(nil)).Elem() +} + +func (o GetIsInstanceMetadataServiceOutput) ToGetIsInstanceMetadataServiceOutput() GetIsInstanceMetadataServiceOutput { + return o +} + +func (o GetIsInstanceMetadataServiceOutput) ToGetIsInstanceMetadataServiceOutputWithContext(ctx context.Context) GetIsInstanceMetadataServiceOutput { + return o +} + +// Indicates whether the metadata service endpoint will be available to the virtual server instance +func (o GetIsInstanceMetadataServiceOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceMetadataService) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o GetIsInstanceMetadataServiceOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceMetadataService) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The hop limit (IP time to live) for IP response packets from the metadata service +func (o GetIsInstanceMetadataServiceOutput) ResponseHopLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceMetadataService) int { return v.ResponseHopLimit }).(pulumi.IntOutput) +} + +type GetIsInstanceMetadataServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceMetadataServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceMetadataService)(nil)).Elem() +} + +func (o GetIsInstanceMetadataServiceArrayOutput) ToGetIsInstanceMetadataServiceArrayOutput() GetIsInstanceMetadataServiceArrayOutput { + return o +} + +func (o GetIsInstanceMetadataServiceArrayOutput) ToGetIsInstanceMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsInstanceMetadataServiceArrayOutput { + return o +} + +func (o GetIsInstanceMetadataServiceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceMetadataServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceMetadataService { + return vs[0].([]GetIsInstanceMetadataService)[vs[1].(int)] + }).(GetIsInstanceMetadataServiceOutput) +} + +type GetIsInstanceNetworkAttachmentType struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this network attachment. + Href string `pulumi:"href"` + // The unique identifier for this network attachment. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []GetIsInstanceNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets []GetIsInstanceNetworkAttachmentSubnet `pulumi:"subnets"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces []GetIsInstanceNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstanceNetworkAttachmentTypeInput is an input type that accepts GetIsInstanceNetworkAttachmentTypeArgs and GetIsInstanceNetworkAttachmentTypeOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentTypeInput` via: +// +// GetIsInstanceNetworkAttachmentTypeArgs{...} +type GetIsInstanceNetworkAttachmentTypeInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentTypeOutput() GetIsInstanceNetworkAttachmentTypeOutput + ToGetIsInstanceNetworkAttachmentTypeOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentTypeOutput +} + +type GetIsInstanceNetworkAttachmentTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network attachment. + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps GetIsInstanceNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets GetIsInstanceNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstanceNetworkAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentType)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentTypeArgs) ToGetIsInstanceNetworkAttachmentTypeOutput() GetIsInstanceNetworkAttachmentTypeOutput { + return i.ToGetIsInstanceNetworkAttachmentTypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentTypeArgs) ToGetIsInstanceNetworkAttachmentTypeOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentTypeOutput) +} + +// GetIsInstanceNetworkAttachmentTypeArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentTypeArray and GetIsInstanceNetworkAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentTypeArrayInput` via: +// +// GetIsInstanceNetworkAttachmentTypeArray{ GetIsInstanceNetworkAttachmentTypeArgs{...} } +type GetIsInstanceNetworkAttachmentTypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentTypeArrayOutput() GetIsInstanceNetworkAttachmentTypeArrayOutput + ToGetIsInstanceNetworkAttachmentTypeArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentTypeArrayOutput +} + +type GetIsInstanceNetworkAttachmentTypeArray []GetIsInstanceNetworkAttachmentTypeInput + +func (GetIsInstanceNetworkAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentType)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentTypeArray) ToGetIsInstanceNetworkAttachmentTypeArrayOutput() GetIsInstanceNetworkAttachmentTypeArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentTypeArray) ToGetIsInstanceNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentTypeArrayOutput) +} + +type GetIsInstanceNetworkAttachmentTypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentType)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentTypeOutput) ToGetIsInstanceNetworkAttachmentTypeOutput() GetIsInstanceNetworkAttachmentTypeOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentTypeOutput) ToGetIsInstanceNetworkAttachmentTypeOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceNetworkAttachmentTypeOutput) Deleteds() GetIsInstanceNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentType) []GetIsInstanceNetworkAttachmentDeleted { return v.Deleteds }).(GetIsInstanceNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this network attachment. +func (o GetIsInstanceNetworkAttachmentTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network attachment. +func (o GetIsInstanceNetworkAttachmentTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentType) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceNetworkAttachmentTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentType) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o GetIsInstanceNetworkAttachmentTypeOutput) PrimaryIps() GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentType) []GetIsInstanceNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkAttachmentTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the network attachment. +func (o GetIsInstanceNetworkAttachmentTypeOutput) Subnets() GetIsInstanceNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentType) []GetIsInstanceNetworkAttachmentSubnet { return v.Subnets }).(GetIsInstanceNetworkAttachmentSubnetArrayOutput) +} + +// The virtual network interface for this instance network attachment. +func (o GetIsInstanceNetworkAttachmentTypeOutput) VirtualNetworkInterfaces() GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentType) []GetIsInstanceNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceNetworkAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentType)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentTypeArrayOutput) ToGetIsInstanceNetworkAttachmentTypeArrayOutput() GetIsInstanceNetworkAttachmentTypeArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentTypeArrayOutput) ToGetIsInstanceNetworkAttachmentTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentTypeArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentTypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentType { + return vs[0].([]GetIsInstanceNetworkAttachmentType)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentTypeOutput) +} + +type GetIsInstanceNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkAttachmentDeletedInput is an input type that accepts GetIsInstanceNetworkAttachmentDeletedArgs and GetIsInstanceNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentDeletedInput` via: +// +// GetIsInstanceNetworkAttachmentDeletedArgs{...} +type GetIsInstanceNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentDeletedOutput() GetIsInstanceNetworkAttachmentDeletedOutput + ToGetIsInstanceNetworkAttachmentDeletedOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentDeletedOutput +} + +type GetIsInstanceNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentDeletedArgs) ToGetIsInstanceNetworkAttachmentDeletedOutput() GetIsInstanceNetworkAttachmentDeletedOutput { + return i.ToGetIsInstanceNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentDeletedArgs) ToGetIsInstanceNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentDeletedOutput) +} + +// GetIsInstanceNetworkAttachmentDeletedArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentDeletedArray and GetIsInstanceNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentDeletedArrayInput` via: +// +// GetIsInstanceNetworkAttachmentDeletedArray{ GetIsInstanceNetworkAttachmentDeletedArgs{...} } +type GetIsInstanceNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentDeletedArrayOutput() GetIsInstanceNetworkAttachmentDeletedArrayOutput + ToGetIsInstanceNetworkAttachmentDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentDeletedArrayOutput +} + +type GetIsInstanceNetworkAttachmentDeletedArray []GetIsInstanceNetworkAttachmentDeletedInput + +func (GetIsInstanceNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentDeletedArray) ToGetIsInstanceNetworkAttachmentDeletedArrayOutput() GetIsInstanceNetworkAttachmentDeletedArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentDeletedArray) ToGetIsInstanceNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentDeletedArrayOutput) +} + +type GetIsInstanceNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentDeletedOutput) ToGetIsInstanceNetworkAttachmentDeletedOutput() GetIsInstanceNetworkAttachmentDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentDeletedOutput) ToGetIsInstanceNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentDeletedArrayOutput() GetIsInstanceNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentDeleted { + return vs[0].([]GetIsInstanceNetworkAttachmentDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentDeletedOutput) +} + +type GetIsInstanceNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsInstanceNetworkAttachmentPrimaryIpArgs and GetIsInstanceNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentPrimaryIpInput` via: +// +// GetIsInstanceNetworkAttachmentPrimaryIpArgs{...} +type GetIsInstanceNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentPrimaryIpOutput() GetIsInstanceNetworkAttachmentPrimaryIpOutput + ToGetIsInstanceNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentPrimaryIpOutput +} + +type GetIsInstanceNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentPrimaryIpArgs) ToGetIsInstanceNetworkAttachmentPrimaryIpOutput() GetIsInstanceNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsInstanceNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentPrimaryIpArgs) ToGetIsInstanceNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentPrimaryIpOutput) +} + +// GetIsInstanceNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentPrimaryIpArray and GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsInstanceNetworkAttachmentPrimaryIpArray{ GetIsInstanceNetworkAttachmentPrimaryIpArgs{...} } +type GetIsInstanceNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentPrimaryIpArrayOutput() GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput + ToGetIsInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsInstanceNetworkAttachmentPrimaryIpArray []GetIsInstanceNetworkAttachmentPrimaryIpInput + +func (GetIsInstanceNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentPrimaryIpArray) ToGetIsInstanceNetworkAttachmentPrimaryIpArrayOutput() GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentPrimaryIpArray) ToGetIsInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsInstanceNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpOutput) ToGetIsInstanceNetworkAttachmentPrimaryIpOutput() GetIsInstanceNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpOutput) ToGetIsInstanceNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsInstanceNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentPrimaryIp) []GetIsInstanceNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsInstanceNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstanceNetworkAttachmentPrimaryIpArrayOutput() GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsInstanceNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentPrimaryIpOutput) +} + +type GetIsInstanceNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsInstanceNetworkAttachmentPrimaryIpDeletedArgs and GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsInstanceNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsInstanceNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsInstanceNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentPrimaryIpDeletedArray and GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsInstanceNetworkAttachmentPrimaryIpDeletedArray{ GetIsInstanceNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsInstanceNetworkAttachmentPrimaryIpDeletedArray []GetIsInstanceNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsInstanceNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsInstanceNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsInstanceNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceNetworkAttachmentSubnetInput is an input type that accepts GetIsInstanceNetworkAttachmentSubnetArgs and GetIsInstanceNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentSubnetInput` via: +// +// GetIsInstanceNetworkAttachmentSubnetArgs{...} +type GetIsInstanceNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentSubnetOutput() GetIsInstanceNetworkAttachmentSubnetOutput + ToGetIsInstanceNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentSubnetOutput +} + +type GetIsInstanceNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentSubnetArgs) ToGetIsInstanceNetworkAttachmentSubnetOutput() GetIsInstanceNetworkAttachmentSubnetOutput { + return i.ToGetIsInstanceNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentSubnetArgs) ToGetIsInstanceNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentSubnetOutput) +} + +// GetIsInstanceNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentSubnetArray and GetIsInstanceNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentSubnetArrayInput` via: +// +// GetIsInstanceNetworkAttachmentSubnetArray{ GetIsInstanceNetworkAttachmentSubnetArgs{...} } +type GetIsInstanceNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentSubnetArrayOutput() GetIsInstanceNetworkAttachmentSubnetArrayOutput + ToGetIsInstanceNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentSubnetArrayOutput +} + +type GetIsInstanceNetworkAttachmentSubnetArray []GetIsInstanceNetworkAttachmentSubnetInput + +func (GetIsInstanceNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentSubnetArray) ToGetIsInstanceNetworkAttachmentSubnetArrayOutput() GetIsInstanceNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentSubnetArray) ToGetIsInstanceNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentSubnetArrayOutput) +} + +type GetIsInstanceNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentSubnetOutput) ToGetIsInstanceNetworkAttachmentSubnetOutput() GetIsInstanceNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentSubnetOutput) ToGetIsInstanceNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceNetworkAttachmentSubnetOutput) Deleteds() GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentSubnet) []GetIsInstanceNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsInstanceNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentSubnetArrayOutput) ToGetIsInstanceNetworkAttachmentSubnetArrayOutput() GetIsInstanceNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentSubnetArrayOutput) ToGetIsInstanceNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentSubnet { + return vs[0].([]GetIsInstanceNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentSubnetOutput) +} + +type GetIsInstanceNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsInstanceNetworkAttachmentSubnetDeletedArgs and GetIsInstanceNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsInstanceNetworkAttachmentSubnetDeletedArgs{...} +type GetIsInstanceNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentSubnetDeletedOutput() GetIsInstanceNetworkAttachmentSubnetDeletedOutput + ToGetIsInstanceNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentSubnetDeletedOutput +} + +type GetIsInstanceNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentSubnetDeletedArgs) ToGetIsInstanceNetworkAttachmentSubnetDeletedOutput() GetIsInstanceNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsInstanceNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentSubnetDeletedArgs) ToGetIsInstanceNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsInstanceNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentSubnetDeletedArray and GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsInstanceNetworkAttachmentSubnetDeletedArray{ GetIsInstanceNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsInstanceNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsInstanceNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsInstanceNetworkAttachmentSubnetDeletedArray []GetIsInstanceNetworkAttachmentSubnetDeletedInput + +func (GetIsInstanceNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentSubnetDeletedArray) ToGetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentSubnetDeletedArray) ToGetIsInstanceNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsInstanceNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentSubnetDeletedOutput) ToGetIsInstanceNetworkAttachmentSubnetDeletedOutput() GetIsInstanceNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentSubnetDeletedOutput) ToGetIsInstanceNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsInstanceNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsInstanceNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstanceNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachment struct { + // The date and time that the instance network attachment was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this instance network attachment. + Href string `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id string `pulumi:"id"` + // The lifecycle state of the instance network attachment. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name string `pulumi:"name"` + // The port speed for this instance network attachment in Mbps. + PortSpeed int `pulumi:"portSpeed"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIps []GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the instance network attachment. + Subnets []GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet `pulumi:"subnets"` + // The instance network attachment type. + Type string `pulumi:"type"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces []GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentArgs and GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentArgs{...} +type GetIsInstanceNetworkAttachmentsNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentArgs struct { + // The date and time that the instance network attachment was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this instance network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the instance network attachment. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this instance network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringInput `pulumi:"name"` + // The port speed for this instance network attachment in Mbps. + PortSpeed pulumi.IntInput `pulumi:"portSpeed"` + // The primary IP address of the virtual network interface for the instance networkattachment. + PrimaryIps GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the instance network attachment. + Subnets GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The instance network attachment type. + Type pulumi.StringInput `pulumi:"type"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentArray and GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentArray{ GetIsInstanceNetworkAttachmentsNetworkAttachmentArgs{...} } +type GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentArray []GetIsInstanceNetworkAttachmentsNetworkAttachmentInput + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput { + return o +} + +// The date and time that the instance network attachment was created. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this instance network attachment. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance network attachment. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of the instance network attachment. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this instance network attachment. The name is unique across all network attachments for the instance. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The port speed for this instance network attachment in Mbps. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +// The primary IP address of the virtual network interface for the instance networkattachment. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) PrimaryIps() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) []GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the instance network attachment. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) Subnets() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) []GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) +} + +// The instance network attachment type. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) string { return v.Type }).(pulumi.StringOutput) +} + +// The virtual network interface for this instance network attachment. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachment) []GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentsNetworkAttachment { + return vs[0].([]GetIsInstanceNetworkAttachmentsNetworkAttachment)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArgs and GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArgs{...} +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArray and GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArray{ GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArgs{...} } +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArray []GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpInput + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp) []GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs and GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray and GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray{ GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray []GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArgs and GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArgs{...} +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArray and GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArray{ GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArgs{...} } +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArray []GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetInput + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) Deleteds() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet) []GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet { + return vs[0].([]GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs and GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs{...} +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArray and GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArray{ GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArray []GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedInput + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstanceNetworkInterfaceType struct { + // Instance Network Interface id + Id string `pulumi:"id"` + // Instance Network Interface name + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstanceNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // Instance Network Interface IPV4 Address + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + // Instance Network Interface Security Groups + SecurityGroups []string `pulumi:"securityGroups"` + // Instance Network Interface subnet + Subnet string `pulumi:"subnet"` +} + +// GetIsInstanceNetworkInterfaceTypeInput is an input type that accepts GetIsInstanceNetworkInterfaceTypeArgs and GetIsInstanceNetworkInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceTypeInput` via: +// +// GetIsInstanceNetworkInterfaceTypeArgs{...} +type GetIsInstanceNetworkInterfaceTypeInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceTypeOutput() GetIsInstanceNetworkInterfaceTypeOutput + ToGetIsInstanceNetworkInterfaceTypeOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceTypeOutput +} + +type GetIsInstanceNetworkInterfaceTypeArgs struct { + // Instance Network Interface id + Id pulumi.StringInput `pulumi:"id"` + // Instance Network Interface name + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstanceNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // Instance Network Interface IPV4 Address + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + // Instance Network Interface Security Groups + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // Instance Network Interface subnet + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsInstanceNetworkInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceType)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceTypeArgs) ToGetIsInstanceNetworkInterfaceTypeOutput() GetIsInstanceNetworkInterfaceTypeOutput { + return i.ToGetIsInstanceNetworkInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceTypeArgs) ToGetIsInstanceNetworkInterfaceTypeOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceTypeOutput) +} + +// GetIsInstanceNetworkInterfaceTypeArrayInput is an input type that accepts GetIsInstanceNetworkInterfaceTypeArray and GetIsInstanceNetworkInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceTypeArrayInput` via: +// +// GetIsInstanceNetworkInterfaceTypeArray{ GetIsInstanceNetworkInterfaceTypeArgs{...} } +type GetIsInstanceNetworkInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceTypeArrayOutput() GetIsInstanceNetworkInterfaceTypeArrayOutput + ToGetIsInstanceNetworkInterfaceTypeArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceTypeArrayOutput +} + +type GetIsInstanceNetworkInterfaceTypeArray []GetIsInstanceNetworkInterfaceTypeInput + +func (GetIsInstanceNetworkInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceType)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceTypeArray) ToGetIsInstanceNetworkInterfaceTypeArrayOutput() GetIsInstanceNetworkInterfaceTypeArrayOutput { + return i.ToGetIsInstanceNetworkInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceTypeArray) ToGetIsInstanceNetworkInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceTypeArrayOutput) +} + +type GetIsInstanceNetworkInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceType)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceTypeOutput) ToGetIsInstanceNetworkInterfaceTypeOutput() GetIsInstanceNetworkInterfaceTypeOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceTypeOutput) ToGetIsInstanceNetworkInterfaceTypeOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceTypeOutput { + return o +} + +// Instance Network Interface id +func (o GetIsInstanceNetworkInterfaceTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceType) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance Network Interface name +func (o GetIsInstanceNetworkInterfaceTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceType) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstanceNetworkInterfaceTypeOutput) PrimaryIps() GetIsInstanceNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceType) []GetIsInstanceNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceNetworkInterfacePrimaryIpArrayOutput) +} + +// Instance Network Interface IPV4 Address +func (o GetIsInstanceNetworkInterfaceTypeOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceType) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +// Instance Network Interface Security Groups +func (o GetIsInstanceNetworkInterfaceTypeOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceType) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Instance Network Interface subnet +func (o GetIsInstanceNetworkInterfaceTypeOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceType) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceType)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceTypeArrayOutput) ToGetIsInstanceNetworkInterfaceTypeArrayOutput() GetIsInstanceNetworkInterfaceTypeArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceTypeArrayOutput) ToGetIsInstanceNetworkInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceTypeArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfaceType { + return vs[0].([]GetIsInstanceNetworkInterfaceType)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfaceTypeOutput) +} + +type GetIsInstanceNetworkInterfaceFloatingIpType struct { + // The globally unique IP address. + Address string `pulumi:"address"` + // The CRN for this floating IP. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceNetworkInterfaceFloatingIpDeleted `pulumi:"deleteds"` + // The URL for this floating IP. + Href string `pulumi:"href"` + // The unique identifier for this floating IP. + Id string `pulumi:"id"` + // The unique user-defined name for this floating IP. + Name string `pulumi:"name"` +} + +// GetIsInstanceNetworkInterfaceFloatingIpTypeInput is an input type that accepts GetIsInstanceNetworkInterfaceFloatingIpTypeArgs and GetIsInstanceNetworkInterfaceFloatingIpTypeOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceFloatingIpTypeInput` via: +// +// GetIsInstanceNetworkInterfaceFloatingIpTypeArgs{...} +type GetIsInstanceNetworkInterfaceFloatingIpTypeInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceFloatingIpTypeOutput() GetIsInstanceNetworkInterfaceFloatingIpTypeOutput + ToGetIsInstanceNetworkInterfaceFloatingIpTypeOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceFloatingIpTypeOutput +} + +type GetIsInstanceNetworkInterfaceFloatingIpTypeArgs struct { + // The globally unique IP address. + Address pulumi.StringInput `pulumi:"address"` + // The CRN for this floating IP. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this floating IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this floating IP. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this floating IP. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceNetworkInterfaceFloatingIpTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceFloatingIpTypeArgs) ToGetIsInstanceNetworkInterfaceFloatingIpTypeOutput() GetIsInstanceNetworkInterfaceFloatingIpTypeOutput { + return i.ToGetIsInstanceNetworkInterfaceFloatingIpTypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceFloatingIpTypeArgs) ToGetIsInstanceNetworkInterfaceFloatingIpTypeOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceFloatingIpTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) +} + +// GetIsInstanceNetworkInterfaceFloatingIpTypeArrayInput is an input type that accepts GetIsInstanceNetworkInterfaceFloatingIpTypeArray and GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceFloatingIpTypeArrayInput` via: +// +// GetIsInstanceNetworkInterfaceFloatingIpTypeArray{ GetIsInstanceNetworkInterfaceFloatingIpTypeArgs{...} } +type GetIsInstanceNetworkInterfaceFloatingIpTypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput() GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput + ToGetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput +} + +type GetIsInstanceNetworkInterfaceFloatingIpTypeArray []GetIsInstanceNetworkInterfaceFloatingIpTypeInput + +func (GetIsInstanceNetworkInterfaceFloatingIpTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceFloatingIpTypeArray) ToGetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput() GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return i.ToGetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceFloatingIpTypeArray) ToGetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) +} + +type GetIsInstanceNetworkInterfaceFloatingIpTypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) ToGetIsInstanceNetworkInterfaceFloatingIpTypeOutput() GetIsInstanceNetworkInterfaceFloatingIpTypeOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) ToGetIsInstanceNetworkInterfaceFloatingIpTypeOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceFloatingIpTypeOutput { + return o +} + +// The globally unique IP address. +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceFloatingIpType) string { return v.Address }).(pulumi.StringOutput) +} + +// The CRN for this floating IP. +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceFloatingIpType) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) Deleteds() GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceFloatingIpType) []GetIsInstanceNetworkInterfaceFloatingIpDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +// The URL for this floating IP. +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceFloatingIpType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this floating IP. +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceFloatingIpType) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this floating IP. +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceFloatingIpType) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceFloatingIpType)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) ToGetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput() GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) ToGetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfaceFloatingIpTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfaceFloatingIpType { + return vs[0].([]GetIsInstanceNetworkInterfaceFloatingIpType)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfaceFloatingIpTypeOutput) +} + +type GetIsInstanceNetworkInterfaceFloatingIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkInterfaceFloatingIpDeletedInput is an input type that accepts GetIsInstanceNetworkInterfaceFloatingIpDeletedArgs and GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceFloatingIpDeletedInput` via: +// +// GetIsInstanceNetworkInterfaceFloatingIpDeletedArgs{...} +type GetIsInstanceNetworkInterfaceFloatingIpDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceFloatingIpDeletedOutput() GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput + ToGetIsInstanceNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput +} + +type GetIsInstanceNetworkInterfaceFloatingIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkInterfaceFloatingIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceFloatingIpDeletedArgs) ToGetIsInstanceNetworkInterfaceFloatingIpDeletedOutput() GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return i.ToGetIsInstanceNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceFloatingIpDeletedArgs) ToGetIsInstanceNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput) +} + +// GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayInput is an input type that accepts GetIsInstanceNetworkInterfaceFloatingIpDeletedArray and GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayInput` via: +// +// GetIsInstanceNetworkInterfaceFloatingIpDeletedArray{ GetIsInstanceNetworkInterfaceFloatingIpDeletedArgs{...} } +type GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput + ToGetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput +} + +type GetIsInstanceNetworkInterfaceFloatingIpDeletedArray []GetIsInstanceNetworkInterfaceFloatingIpDeletedInput + +func (GetIsInstanceNetworkInterfaceFloatingIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceFloatingIpDeletedArray) ToGetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return i.ToGetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceFloatingIpDeletedArray) ToGetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +type GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput) ToGetIsInstanceNetworkInterfaceFloatingIpDeletedOutput() GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput) ToGetIsInstanceNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceFloatingIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) ToGetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) ToGetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfaceFloatingIpDeleted { + return vs[0].([]GetIsInstanceNetworkInterfaceFloatingIpDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput) +} + +type GetIsInstanceNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceNetworkInterfacePrimaryIpArgs and GetIsInstanceNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacePrimaryIpOutput() GetIsInstanceNetworkInterfacePrimaryIpOutput + ToGetIsInstanceNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacePrimaryIpArgs) ToGetIsInstanceNetworkInterfacePrimaryIpOutput() GetIsInstanceNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacePrimaryIpArgs) ToGetIsInstanceNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceNetworkInterfacePrimaryIpArray and GetIsInstanceNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceNetworkInterfacePrimaryIpArray{ GetIsInstanceNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceNetworkInterfacePrimaryIpArray []GetIsInstanceNetworkInterfacePrimaryIpInput + +func (GetIsInstanceNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacePrimaryIpArray) ToGetIsInstanceNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacePrimaryIpArray) ToGetIsInstanceNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacePrimaryIpOutput) ToGetIsInstanceNetworkInterfacePrimaryIpOutput() GetIsInstanceNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacePrimaryIpOutput) ToGetIsInstanceNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstanceNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsInstanceNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstanceNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstanceNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsInstanceNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceNetworkInterfaceReservedIpsReservedIp struct { + // The IP address + Address string `pulumi:"address"` + // If reserved ip shall be deleted automatically + AutoDelete bool `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The user-defined or system-provided name for this reserved IP. + Name string `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner string `pulumi:"owner"` + // The unique identifier for this reserved IP + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // Reserved IP target id + Target string `pulumi:"target"` +} + +// GetIsInstanceNetworkInterfaceReservedIpsReservedIpInput is an input type that accepts GetIsInstanceNetworkInterfaceReservedIpsReservedIpArgs and GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceReservedIpsReservedIpInput` via: +// +// GetIsInstanceNetworkInterfaceReservedIpsReservedIpArgs{...} +type GetIsInstanceNetworkInterfaceReservedIpsReservedIpInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput() GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput + ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput +} + +type GetIsInstanceNetworkInterfaceReservedIpsReservedIpArgs struct { + // The IP address + Address pulumi.StringInput `pulumi:"address"` + // If reserved ip shall be deleted automatically + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringInput `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner pulumi.StringInput `pulumi:"owner"` + // The unique identifier for this reserved IP + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Reserved IP target id + Target pulumi.StringInput `pulumi:"target"` +} + +func (GetIsInstanceNetworkInterfaceReservedIpsReservedIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceReservedIpsReservedIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceReservedIpsReservedIpArgs) ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput() GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput { + return i.ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceReservedIpsReservedIpArgs) ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) +} + +// GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayInput is an input type that accepts GetIsInstanceNetworkInterfaceReservedIpsReservedIpArray and GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayInput` via: +// +// GetIsInstanceNetworkInterfaceReservedIpsReservedIpArray{ GetIsInstanceNetworkInterfaceReservedIpsReservedIpArgs{...} } +type GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput() GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput + ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput +} + +type GetIsInstanceNetworkInterfaceReservedIpsReservedIpArray []GetIsInstanceNetworkInterfaceReservedIpsReservedIpInput + +func (GetIsInstanceNetworkInterfaceReservedIpsReservedIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceReservedIpsReservedIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceReservedIpsReservedIpArray) ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput() GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput { + return i.ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceReservedIpsReservedIpArray) ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput) +} + +type GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceReservedIpsReservedIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput() GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput { + return o +} + +// The IP address +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If reserved ip shall be deleted automatically +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the reserved IP was created. +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this reserved IP. +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The owner of a reserved IP, defining whether it is managed by the user or the provider. +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) string { return v.Owner }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Reserved IP target id +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceReservedIpsReservedIp) string { return v.Target }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceReservedIpsReservedIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput) ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput() GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput) ToGetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfaceReservedIpsReservedIp { + return vs[0].([]GetIsInstanceNetworkInterfaceReservedIpsReservedIp)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput) +} + +type GetIsInstanceNetworkInterfaceSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceNetworkInterfaceSecurityGroupDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name string `pulumi:"name"` +} + +// GetIsInstanceNetworkInterfaceSecurityGroupInput is an input type that accepts GetIsInstanceNetworkInterfaceSecurityGroupArgs and GetIsInstanceNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceSecurityGroupInput` via: +// +// GetIsInstanceNetworkInterfaceSecurityGroupArgs{...} +type GetIsInstanceNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceSecurityGroupOutput() GetIsInstanceNetworkInterfaceSecurityGroupOutput + ToGetIsInstanceNetworkInterfaceSecurityGroupOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceSecurityGroupOutput +} + +type GetIsInstanceNetworkInterfaceSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceNetworkInterfaceSecurityGroupOutput() GetIsInstanceNetworkInterfaceSecurityGroupOutput { + return i.ToGetIsInstanceNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceSecurityGroupOutput) +} + +// GetIsInstanceNetworkInterfaceSecurityGroupArrayInput is an input type that accepts GetIsInstanceNetworkInterfaceSecurityGroupArray and GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceSecurityGroupArrayInput` via: +// +// GetIsInstanceNetworkInterfaceSecurityGroupArray{ GetIsInstanceNetworkInterfaceSecurityGroupArgs{...} } +type GetIsInstanceNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput + ToGetIsInstanceNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput +} + +type GetIsInstanceNetworkInterfaceSecurityGroupArray []GetIsInstanceNetworkInterfaceSecurityGroupInput + +func (GetIsInstanceNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceSecurityGroupArray) ToGetIsInstanceNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput { + return i.ToGetIsInstanceNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceSecurityGroupArray) ToGetIsInstanceNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput) +} + +type GetIsInstanceNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceNetworkInterfaceSecurityGroupOutput() GetIsInstanceNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsInstanceNetworkInterfaceSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSecurityGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceNetworkInterfaceSecurityGroupOutput) Deleteds() GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSecurityGroup) []GetIsInstanceNetworkInterfaceSecurityGroupDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsInstanceNetworkInterfaceSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSecurityGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsInstanceNetworkInterfaceSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this security group. Names must be unique within the VPC the security group resides in. +func (o GetIsInstanceNetworkInterfaceSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfaceSecurityGroup { + return vs[0].([]GetIsInstanceNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfaceSecurityGroupOutput) +} + +type GetIsInstanceNetworkInterfaceSecurityGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkInterfaceSecurityGroupDeletedInput is an input type that accepts GetIsInstanceNetworkInterfaceSecurityGroupDeletedArgs and GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceSecurityGroupDeletedInput` via: +// +// GetIsInstanceNetworkInterfaceSecurityGroupDeletedArgs{...} +type GetIsInstanceNetworkInterfaceSecurityGroupDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput() GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput + ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput +} + +type GetIsInstanceNetworkInterfaceSecurityGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkInterfaceSecurityGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceSecurityGroupDeletedArgs) ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput() GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput { + return i.ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceSecurityGroupDeletedArgs) ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput) +} + +// GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayInput is an input type that accepts GetIsInstanceNetworkInterfaceSecurityGroupDeletedArray and GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayInput` via: +// +// GetIsInstanceNetworkInterfaceSecurityGroupDeletedArray{ GetIsInstanceNetworkInterfaceSecurityGroupDeletedArgs{...} } +type GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput + ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput +} + +type GetIsInstanceNetworkInterfaceSecurityGroupDeletedArray []GetIsInstanceNetworkInterfaceSecurityGroupDeletedInput + +func (GetIsInstanceNetworkInterfaceSecurityGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceSecurityGroupDeletedArray) ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput { + return i.ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceSecurityGroupDeletedArray) ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput) +} + +type GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput) ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput() GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput) ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSecurityGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput) ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput) ToGetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfaceSecurityGroupDeleted { + return vs[0].([]GetIsInstanceNetworkInterfaceSecurityGroupDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput) +} + +type GetIsInstanceNetworkInterfaceSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` +} + +// GetIsInstanceNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceNetworkInterfaceSubnetArgs and GetIsInstanceNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceNetworkInterfaceSubnetArgs{...} +type GetIsInstanceNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceSubnetOutput() GetIsInstanceNetworkInterfaceSubnetOutput + ToGetIsInstanceNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceSubnetOutput +} + +type GetIsInstanceNetworkInterfaceSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceSubnetArgs) ToGetIsInstanceNetworkInterfaceSubnetOutput() GetIsInstanceNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceSubnetArgs) ToGetIsInstanceNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceNetworkInterfaceSubnetArray and GetIsInstanceNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceNetworkInterfaceSubnetArray{ GetIsInstanceNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceSubnetArrayOutput() GetIsInstanceNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceNetworkInterfaceSubnetArray []GetIsInstanceNetworkInterfaceSubnetInput + +func (GetIsInstanceNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceSubnetArray) ToGetIsInstanceNetworkInterfaceSubnetArrayOutput() GetIsInstanceNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceSubnetArray) ToGetIsInstanceNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceSubnetOutput) ToGetIsInstanceNetworkInterfaceSubnetOutput() GetIsInstanceNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSubnetOutput) ToGetIsInstanceNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceNetworkInterfaceSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceNetworkInterfaceSubnetOutput) Deleteds() GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSubnet) []GetIsInstanceNetworkInterfaceSubnetDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsInstanceNetworkInterfaceSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceNetworkInterfaceSubnetArrayOutput() GetIsInstanceNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkInterfaceSubnetDeletedInput is an input type that accepts GetIsInstanceNetworkInterfaceSubnetDeletedArgs and GetIsInstanceNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceSubnetDeletedInput` via: +// +// GetIsInstanceNetworkInterfaceSubnetDeletedArgs{...} +type GetIsInstanceNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceSubnetDeletedOutput() GetIsInstanceNetworkInterfaceSubnetDeletedOutput + ToGetIsInstanceNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceSubnetDeletedOutput +} + +type GetIsInstanceNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceSubnetDeletedArgs) ToGetIsInstanceNetworkInterfaceSubnetDeletedOutput() GetIsInstanceNetworkInterfaceSubnetDeletedOutput { + return i.ToGetIsInstanceNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceSubnetDeletedArgs) ToGetIsInstanceNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceSubnetDeletedOutput) +} + +// GetIsInstanceNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts GetIsInstanceNetworkInterfaceSubnetDeletedArray and GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfaceSubnetDeletedArrayInput` via: +// +// GetIsInstanceNetworkInterfaceSubnetDeletedArray{ GetIsInstanceNetworkInterfaceSubnetDeletedArgs{...} } +type GetIsInstanceNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput + ToGetIsInstanceNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput +} + +type GetIsInstanceNetworkInterfaceSubnetDeletedArray []GetIsInstanceNetworkInterfaceSubnetDeletedInput + +func (GetIsInstanceNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfaceSubnetDeletedArray) ToGetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToGetIsInstanceNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfaceSubnetDeletedArray) ToGetIsInstanceNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput) +} + +type GetIsInstanceNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceSubnetDeletedOutput) ToGetIsInstanceNetworkInterfaceSubnetDeletedOutput() GetIsInstanceNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSubnetDeletedOutput) ToGetIsInstanceNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfaceSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsInstanceNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfaceSubnetDeleted { + return vs[0].([]GetIsInstanceNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfaceSubnetDeletedOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // The date and time that the network interface was created. + CreatedAt string `pulumi:"createdAt"` + // The floating IPs associated with this network interface. + FloatingIps []GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp `pulumi:"floatingIps"` + // The URL for this network interface. + Href string `pulumi:"href"` + // The unique identifier for this network interface. + Id string `pulumi:"id"` + // The user-defined name for this network interface. + Name string `pulumi:"name"` + // The network interface port speed in Mbps. + PortSpeed int `pulumi:"portSpeed"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The primary IPv4 address. + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // Collection of security groups. + SecurityGroups []GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` + // The status of the network interface. + Status string `pulumi:"status"` + // The associated subnet. + Subnets []GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet `pulumi:"subnets"` + // The type of this network interface as it relates to an instance. + Type string `pulumi:"type"` +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceArgs and GetIsInstanceNetworkInterfacesNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceArgs{...} +type GetIsInstanceNetworkInterfacesNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // The date and time that the network interface was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The floating IPs associated with this network interface. + FloatingIps GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayInput `pulumi:"floatingIps"` + // The URL for this network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network interface. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this network interface. + Name pulumi.StringInput `pulumi:"name"` + // The network interface port speed in Mbps. + PortSpeed pulumi.IntInput `pulumi:"portSpeed"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The primary IPv4 address. + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Collection of security groups. + SecurityGroups GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayInput `pulumi:"securityGroups"` + // The status of the network interface. + Status pulumi.StringInput `pulumi:"status"` + // The associated subnet. + Subnets GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` + // The type of this network interface as it relates to an instance. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceArray and GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceArrayInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceArray{ GetIsInstanceNetworkInterfacesNetworkInterfaceArgs{...} } +type GetIsInstanceNetworkInterfacesNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceArray []GetIsInstanceNetworkInterfacesNetworkInterfaceInput + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this interface. If false, source IP spoofing is prevented on this interface. If true, source IP spoofing is allowed on this interface. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// The date and time that the network interface was created. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The floating IPs associated with this network interface. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) FloatingIps() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) []GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp { + return v.FloatingIps + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) +} + +// The URL for this network interface. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network interface. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The network interface port speed in Mbps. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) PrimaryIps() GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) []GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) +} + +// The primary IPv4 address. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Collection of security groups. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) SecurityGroups() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) []GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput) +} + +// The status of the network interface. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) string { return v.Status }).(pulumi.StringOutput) +} + +// The associated subnet. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) Subnets() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) []GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput) +} + +// The type of this network interface as it relates to an instance. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterface) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacesNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacesNetworkInterface { + return vs[0].([]GetIsInstanceNetworkInterfacesNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp struct { + // The globally unique IP address. + Address string `pulumi:"address"` + // The CRN for this floating IP. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted `pulumi:"deleteds"` + // The URL for this floating IP. + Href string `pulumi:"href"` + // The unique identifier for this floating IP. + Id string `pulumi:"id"` + // The unique user-defined name for this floating IP. + Name string `pulumi:"name"` +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArgs and GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArgs{...} +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArgs struct { + // The globally unique IP address. + Address pulumi.StringInput `pulumi:"address"` + // The CRN for this floating IP. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this floating IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this floating IP. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this floating IP. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArray and GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArray{ GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArgs{...} } +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArray []GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpInput + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return o +} + +// The globally unique IP address. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The CRN for this floating IP. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) Deleteds() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp) []GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +// The URL for this floating IP. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this floating IP. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this floating IP. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp { + return vs[0].([]GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIp)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArgs and GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArgs{...} +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput) +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArray and GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArray{ GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArgs{...} } +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArray []GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedInput + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted { + return vs[0].([]GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArgs and GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput() GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput() GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArray and GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArray{ GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArray []GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpInput + +func (GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArray) ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArray) ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput() GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name string `pulumi:"name"` +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArgs and GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArgs{...} +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArray and GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArray{ GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArgs{...} } +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArray []GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupInput + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) Deleteds() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup) []GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this security group. Names must be unique within the VPC the security group resides in. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup { + return vs[0].([]GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArgs and GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArgs{...} +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput) +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArray and GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArray{ GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArgs{...} } +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArray []GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedInput + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted { + return vs[0].([]GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArgs and GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArgs{...} +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArray and GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArray{ GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArray []GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetInput + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) Deleteds() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet) []GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted { + return v.Deleteds + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceNetworkInterfacesNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArgs and GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArgs{...} +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArgs) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput) +} + +// GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArray and GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayInput` via: +// +// GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArray{ GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArgs{...} } +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput + ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArray []GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedInput + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArray) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput() GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted { + return vs[0].([]GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput) +} + +type GetIsInstancePlacementTarget struct { + // The CRN for this dedicated host group. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstancePlacementTargetDeleted `pulumi:"deleteds"` + // The URL for this dedicated host group. + Href string `pulumi:"href"` + // The unique identifier for this dedicated host group. + Id string `pulumi:"id"` + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancePlacementTargetInput is an input type that accepts GetIsInstancePlacementTargetArgs and GetIsInstancePlacementTargetOutput values. +// You can construct a concrete instance of `GetIsInstancePlacementTargetInput` via: +// +// GetIsInstancePlacementTargetArgs{...} +type GetIsInstancePlacementTargetInput interface { + pulumi.Input + + ToGetIsInstancePlacementTargetOutput() GetIsInstancePlacementTargetOutput + ToGetIsInstancePlacementTargetOutputWithContext(context.Context) GetIsInstancePlacementTargetOutput +} + +type GetIsInstancePlacementTargetArgs struct { + // The CRN for this dedicated host group. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstancePlacementTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this dedicated host group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this dedicated host group. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancePlacementTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePlacementTarget)(nil)).Elem() +} + +func (i GetIsInstancePlacementTargetArgs) ToGetIsInstancePlacementTargetOutput() GetIsInstancePlacementTargetOutput { + return i.ToGetIsInstancePlacementTargetOutputWithContext(context.Background()) +} + +func (i GetIsInstancePlacementTargetArgs) ToGetIsInstancePlacementTargetOutputWithContext(ctx context.Context) GetIsInstancePlacementTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePlacementTargetOutput) +} + +// GetIsInstancePlacementTargetArrayInput is an input type that accepts GetIsInstancePlacementTargetArray and GetIsInstancePlacementTargetArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePlacementTargetArrayInput` via: +// +// GetIsInstancePlacementTargetArray{ GetIsInstancePlacementTargetArgs{...} } +type GetIsInstancePlacementTargetArrayInput interface { + pulumi.Input + + ToGetIsInstancePlacementTargetArrayOutput() GetIsInstancePlacementTargetArrayOutput + ToGetIsInstancePlacementTargetArrayOutputWithContext(context.Context) GetIsInstancePlacementTargetArrayOutput +} + +type GetIsInstancePlacementTargetArray []GetIsInstancePlacementTargetInput + +func (GetIsInstancePlacementTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePlacementTarget)(nil)).Elem() +} + +func (i GetIsInstancePlacementTargetArray) ToGetIsInstancePlacementTargetArrayOutput() GetIsInstancePlacementTargetArrayOutput { + return i.ToGetIsInstancePlacementTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePlacementTargetArray) ToGetIsInstancePlacementTargetArrayOutputWithContext(ctx context.Context) GetIsInstancePlacementTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePlacementTargetArrayOutput) +} + +type GetIsInstancePlacementTargetOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePlacementTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePlacementTarget)(nil)).Elem() +} + +func (o GetIsInstancePlacementTargetOutput) ToGetIsInstancePlacementTargetOutput() GetIsInstancePlacementTargetOutput { + return o +} + +func (o GetIsInstancePlacementTargetOutput) ToGetIsInstancePlacementTargetOutputWithContext(ctx context.Context) GetIsInstancePlacementTargetOutput { + return o +} + +// The CRN for this dedicated host group. +func (o GetIsInstancePlacementTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePlacementTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstancePlacementTargetOutput) Deleteds() GetIsInstancePlacementTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancePlacementTarget) []GetIsInstancePlacementTargetDeleted { return v.Deleteds }).(GetIsInstancePlacementTargetDeletedArrayOutput) +} + +// The URL for this dedicated host group. +func (o GetIsInstancePlacementTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePlacementTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this dedicated host group. +func (o GetIsInstancePlacementTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePlacementTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this dedicated host group. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstancePlacementTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePlacementTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsInstancePlacementTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePlacementTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancePlacementTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePlacementTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePlacementTarget)(nil)).Elem() +} + +func (o GetIsInstancePlacementTargetArrayOutput) ToGetIsInstancePlacementTargetArrayOutput() GetIsInstancePlacementTargetArrayOutput { + return o +} + +func (o GetIsInstancePlacementTargetArrayOutput) ToGetIsInstancePlacementTargetArrayOutputWithContext(ctx context.Context) GetIsInstancePlacementTargetArrayOutput { + return o +} + +func (o GetIsInstancePlacementTargetArrayOutput) Index(i pulumi.IntInput) GetIsInstancePlacementTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePlacementTarget { + return vs[0].([]GetIsInstancePlacementTarget)[vs[1].(int)] + }).(GetIsInstancePlacementTargetOutput) +} + +type GetIsInstancePlacementTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancePlacementTargetDeletedInput is an input type that accepts GetIsInstancePlacementTargetDeletedArgs and GetIsInstancePlacementTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancePlacementTargetDeletedInput` via: +// +// GetIsInstancePlacementTargetDeletedArgs{...} +type GetIsInstancePlacementTargetDeletedInput interface { + pulumi.Input + + ToGetIsInstancePlacementTargetDeletedOutput() GetIsInstancePlacementTargetDeletedOutput + ToGetIsInstancePlacementTargetDeletedOutputWithContext(context.Context) GetIsInstancePlacementTargetDeletedOutput +} + +type GetIsInstancePlacementTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancePlacementTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (i GetIsInstancePlacementTargetDeletedArgs) ToGetIsInstancePlacementTargetDeletedOutput() GetIsInstancePlacementTargetDeletedOutput { + return i.ToGetIsInstancePlacementTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancePlacementTargetDeletedArgs) ToGetIsInstancePlacementTargetDeletedOutputWithContext(ctx context.Context) GetIsInstancePlacementTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePlacementTargetDeletedOutput) +} + +// GetIsInstancePlacementTargetDeletedArrayInput is an input type that accepts GetIsInstancePlacementTargetDeletedArray and GetIsInstancePlacementTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePlacementTargetDeletedArrayInput` via: +// +// GetIsInstancePlacementTargetDeletedArray{ GetIsInstancePlacementTargetDeletedArgs{...} } +type GetIsInstancePlacementTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancePlacementTargetDeletedArrayOutput() GetIsInstancePlacementTargetDeletedArrayOutput + ToGetIsInstancePlacementTargetDeletedArrayOutputWithContext(context.Context) GetIsInstancePlacementTargetDeletedArrayOutput +} + +type GetIsInstancePlacementTargetDeletedArray []GetIsInstancePlacementTargetDeletedInput + +func (GetIsInstancePlacementTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (i GetIsInstancePlacementTargetDeletedArray) ToGetIsInstancePlacementTargetDeletedArrayOutput() GetIsInstancePlacementTargetDeletedArrayOutput { + return i.ToGetIsInstancePlacementTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePlacementTargetDeletedArray) ToGetIsInstancePlacementTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancePlacementTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePlacementTargetDeletedArrayOutput) +} + +type GetIsInstancePlacementTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePlacementTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (o GetIsInstancePlacementTargetDeletedOutput) ToGetIsInstancePlacementTargetDeletedOutput() GetIsInstancePlacementTargetDeletedOutput { + return o +} + +func (o GetIsInstancePlacementTargetDeletedOutput) ToGetIsInstancePlacementTargetDeletedOutputWithContext(ctx context.Context) GetIsInstancePlacementTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancePlacementTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePlacementTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancePlacementTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePlacementTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (o GetIsInstancePlacementTargetDeletedArrayOutput) ToGetIsInstancePlacementTargetDeletedArrayOutput() GetIsInstancePlacementTargetDeletedArrayOutput { + return o +} + +func (o GetIsInstancePlacementTargetDeletedArrayOutput) ToGetIsInstancePlacementTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancePlacementTargetDeletedArrayOutput { + return o +} + +func (o GetIsInstancePlacementTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancePlacementTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePlacementTargetDeleted { + return vs[0].([]GetIsInstancePlacementTargetDeleted)[vs[1].(int)] + }).(GetIsInstancePlacementTargetDeletedOutput) +} + +type GetIsInstancePrimaryNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancePrimaryNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this network attachment. + Href string `pulumi:"href"` + // The unique identifier for this network attachment. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []GetIsInstancePrimaryNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets []GetIsInstancePrimaryNetworkAttachmentSubnet `pulumi:"subnets"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces []GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstancePrimaryNetworkAttachmentInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentArgs and GetIsInstancePrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentArgs{...} +type GetIsInstancePrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentOutput() GetIsInstancePrimaryNetworkAttachmentOutput + ToGetIsInstancePrimaryNetworkAttachmentOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentOutput +} + +type GetIsInstancePrimaryNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancePrimaryNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network attachment. + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets GetIsInstancePrimaryNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstancePrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentArgs) ToGetIsInstancePrimaryNetworkAttachmentOutput() GetIsInstancePrimaryNetworkAttachmentOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentArgs) ToGetIsInstancePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentOutput) +} + +// GetIsInstancePrimaryNetworkAttachmentArrayInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentArray and GetIsInstancePrimaryNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentArrayInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentArray{ GetIsInstancePrimaryNetworkAttachmentArgs{...} } +type GetIsInstancePrimaryNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentArrayOutput() GetIsInstancePrimaryNetworkAttachmentArrayOutput + ToGetIsInstancePrimaryNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentArrayOutput +} + +type GetIsInstancePrimaryNetworkAttachmentArray []GetIsInstancePrimaryNetworkAttachmentInput + +func (GetIsInstancePrimaryNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentArray) ToGetIsInstancePrimaryNetworkAttachmentArrayOutput() GetIsInstancePrimaryNetworkAttachmentArrayOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentArray) ToGetIsInstancePrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentArrayOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentOutput) ToGetIsInstancePrimaryNetworkAttachmentOutput() GetIsInstancePrimaryNetworkAttachmentOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentOutput) ToGetIsInstancePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancePrimaryNetworkAttachmentOutput) Deleteds() GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachment) []GetIsInstancePrimaryNetworkAttachmentDeleted { + return v.Deleteds + }).(GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this network attachment. +func (o GetIsInstancePrimaryNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network attachment. +func (o GetIsInstancePrimaryNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstancePrimaryNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o GetIsInstancePrimaryNetworkAttachmentOutput) PrimaryIps() GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachment) []GetIsInstancePrimaryNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsInstancePrimaryNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the network attachment. +func (o GetIsInstancePrimaryNetworkAttachmentOutput) Subnets() GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachment) []GetIsInstancePrimaryNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput) +} + +// The virtual network interface for this instance network attachment. +func (o GetIsInstancePrimaryNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachment) []GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentArrayOutput() GetIsInstancePrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkAttachment { + return vs[0].([]GetIsInstancePrimaryNetworkAttachment)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkAttachmentOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancePrimaryNetworkAttachmentDeletedInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentDeletedArgs and GetIsInstancePrimaryNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentDeletedInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentDeletedArgs{...} +type GetIsInstancePrimaryNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentDeletedOutput() GetIsInstancePrimaryNetworkAttachmentDeletedOutput + ToGetIsInstancePrimaryNetworkAttachmentDeletedOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentDeletedOutput +} + +type GetIsInstancePrimaryNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancePrimaryNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentDeletedArgs) ToGetIsInstancePrimaryNetworkAttachmentDeletedOutput() GetIsInstancePrimaryNetworkAttachmentDeletedOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentDeletedArgs) ToGetIsInstancePrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentDeletedOutput) +} + +// GetIsInstancePrimaryNetworkAttachmentDeletedArrayInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentDeletedArray and GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentDeletedArrayInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentDeletedArray{ GetIsInstancePrimaryNetworkAttachmentDeletedArgs{...} } +type GetIsInstancePrimaryNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput + ToGetIsInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput +} + +type GetIsInstancePrimaryNetworkAttachmentDeletedArray []GetIsInstancePrimaryNetworkAttachmentDeletedInput + +func (GetIsInstancePrimaryNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentDeletedArray) ToGetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentDeletedArray) ToGetIsInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentDeletedOutput) ToGetIsInstancePrimaryNetworkAttachmentDeletedOutput() GetIsInstancePrimaryNetworkAttachmentDeletedOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentDeletedOutput) ToGetIsInstancePrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancePrimaryNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkAttachmentDeleted { + return vs[0].([]GetIsInstancePrimaryNetworkAttachmentDeleted)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkAttachmentDeletedOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancePrimaryNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentPrimaryIpArgs and GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentPrimaryIpInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentPrimaryIpArgs{...} +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput + ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancePrimaryNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentPrimaryIpArgs) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentPrimaryIpArgs) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) +} + +// GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentPrimaryIpArray and GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentPrimaryIpArray{ GetIsInstancePrimaryNetworkAttachmentPrimaryIpArgs{...} } +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput + ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpArray []GetIsInstancePrimaryNetworkAttachmentPrimaryIpInput + +func (GetIsInstancePrimaryNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentPrimaryIpArray) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentPrimaryIpArray) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentPrimaryIp) []GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsInstancePrimaryNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs and GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray and GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray{ GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray []GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancePrimaryNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancePrimaryNetworkAttachmentSubnetInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentSubnetArgs and GetIsInstancePrimaryNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentSubnetInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentSubnetArgs{...} +type GetIsInstancePrimaryNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentSubnetOutput() GetIsInstancePrimaryNetworkAttachmentSubnetOutput + ToGetIsInstancePrimaryNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetOutput +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancePrimaryNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentSubnetArgs) ToGetIsInstancePrimaryNetworkAttachmentSubnetOutput() GetIsInstancePrimaryNetworkAttachmentSubnetOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentSubnetArgs) ToGetIsInstancePrimaryNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentSubnetOutput) +} + +// GetIsInstancePrimaryNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentSubnetArray and GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentSubnetArrayInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentSubnetArray{ GetIsInstancePrimaryNetworkAttachmentSubnetArgs{...} } +type GetIsInstancePrimaryNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput() GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput + ToGetIsInstancePrimaryNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetArray []GetIsInstancePrimaryNetworkAttachmentSubnetInput + +func (GetIsInstancePrimaryNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentSubnetArray) ToGetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput() GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentSubnetArray) ToGetIsInstancePrimaryNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetOutput) ToGetIsInstancePrimaryNetworkAttachmentSubnetOutput() GetIsInstancePrimaryNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetOutput) ToGetIsInstancePrimaryNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstancePrimaryNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancePrimaryNetworkAttachmentSubnetOutput) Deleteds() GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentSubnet) []GetIsInstancePrimaryNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsInstancePrimaryNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstancePrimaryNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsInstancePrimaryNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancePrimaryNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput() GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkAttachmentSubnet { + return vs[0].([]GetIsInstancePrimaryNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkAttachmentSubnetOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancePrimaryNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArgs and GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArgs{...} +type GetIsInstancePrimaryNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput() GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput + ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArgs) ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput() GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArgs) ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArray and GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArray{ GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArray []GetIsInstancePrimaryNetworkAttachmentSubnetDeletedInput + +func (GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArray) ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArray) ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput) ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput() GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput) ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsInstancePrimaryNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstancePrimaryNetworkInterface struct { + // Instance Primary Network Interface id + Id string `pulumi:"id"` + // Instance Primary Network Interface name + Name string `pulumi:"name"` + // Instance Primary Network Interface port speed + PortSpeed int `pulumi:"portSpeed"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstancePrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // Instance Primary Network Interface IPV4 Address + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + // Instance Primary Network Interface Security groups + SecurityGroups []string `pulumi:"securityGroups"` + // Instance Primary Network Interface subnet + Subnet string `pulumi:"subnet"` +} + +// GetIsInstancePrimaryNetworkInterfaceInput is an input type that accepts GetIsInstancePrimaryNetworkInterfaceArgs and GetIsInstancePrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkInterfaceInput` via: +// +// GetIsInstancePrimaryNetworkInterfaceArgs{...} +type GetIsInstancePrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkInterfaceOutput() GetIsInstancePrimaryNetworkInterfaceOutput + ToGetIsInstancePrimaryNetworkInterfaceOutputWithContext(context.Context) GetIsInstancePrimaryNetworkInterfaceOutput +} + +type GetIsInstancePrimaryNetworkInterfaceArgs struct { + // Instance Primary Network Interface id + Id pulumi.StringInput `pulumi:"id"` + // Instance Primary Network Interface name + Name pulumi.StringInput `pulumi:"name"` + // Instance Primary Network Interface port speed + PortSpeed pulumi.IntInput `pulumi:"portSpeed"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // Instance Primary Network Interface IPV4 Address + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + // Instance Primary Network Interface Security groups + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // Instance Primary Network Interface subnet + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsInstancePrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkInterfaceArgs) ToGetIsInstancePrimaryNetworkInterfaceOutput() GetIsInstancePrimaryNetworkInterfaceOutput { + return i.ToGetIsInstancePrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkInterfaceArgs) ToGetIsInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkInterfaceOutput) +} + +// GetIsInstancePrimaryNetworkInterfaceArrayInput is an input type that accepts GetIsInstancePrimaryNetworkInterfaceArray and GetIsInstancePrimaryNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkInterfaceArrayInput` via: +// +// GetIsInstancePrimaryNetworkInterfaceArray{ GetIsInstancePrimaryNetworkInterfaceArgs{...} } +type GetIsInstancePrimaryNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkInterfaceArrayOutput() GetIsInstancePrimaryNetworkInterfaceArrayOutput + ToGetIsInstancePrimaryNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkInterfaceArrayOutput +} + +type GetIsInstancePrimaryNetworkInterfaceArray []GetIsInstancePrimaryNetworkInterfaceInput + +func (GetIsInstancePrimaryNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkInterfaceArray) ToGetIsInstancePrimaryNetworkInterfaceArrayOutput() GetIsInstancePrimaryNetworkInterfaceArrayOutput { + return i.ToGetIsInstancePrimaryNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkInterfaceArray) ToGetIsInstancePrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkInterfaceArrayOutput) +} + +type GetIsInstancePrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkInterfaceOutput) ToGetIsInstancePrimaryNetworkInterfaceOutput() GetIsInstancePrimaryNetworkInterfaceOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkInterfaceOutput) ToGetIsInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkInterfaceOutput { + return o +} + +// Instance Primary Network Interface id +func (o GetIsInstancePrimaryNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance Primary Network Interface name +func (o GetIsInstancePrimaryNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// Instance Primary Network Interface port speed +func (o GetIsInstancePrimaryNetworkInterfaceOutput) PortSpeed() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterface) int { return v.PortSpeed }).(pulumi.IntOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstancePrimaryNetworkInterfaceOutput) PrimaryIps() GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterface) []GetIsInstancePrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +// Instance Primary Network Interface IPV4 Address +func (o GetIsInstancePrimaryNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterface) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +// Instance Primary Network Interface Security groups +func (o GetIsInstancePrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Instance Primary Network Interface subnet +func (o GetIsInstancePrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsInstancePrimaryNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkInterfaceArrayOutput) ToGetIsInstancePrimaryNetworkInterfaceArrayOutput() GetIsInstancePrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkInterfaceArrayOutput) ToGetIsInstancePrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkInterface { + return vs[0].([]GetIsInstancePrimaryNetworkInterface)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkInterfaceOutput) +} + +type GetIsInstancePrimaryNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancePrimaryNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstancePrimaryNetworkInterfacePrimaryIpArgs and GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstancePrimaryNetworkInterfacePrimaryIpArgs{...} +type GetIsInstancePrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput + ToGetIsInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput +} + +type GetIsInstancePrimaryNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancePrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkInterfacePrimaryIpArgs) ToGetIsInstancePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkInterfacePrimaryIpArgs) ToGetIsInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstancePrimaryNetworkInterfacePrimaryIpArray and GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstancePrimaryNetworkInterfacePrimaryIpArray{ GetIsInstancePrimaryNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstancePrimaryNetworkInterfacePrimaryIpArray []GetIsInstancePrimaryNetworkInterfacePrimaryIpInput + +func (GetIsInstancePrimaryNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancePrimaryNetworkInterfacePrimaryIpArray) ToGetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancePrimaryNetworkInterfacePrimaryIpArray) ToGetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) ToGetIsInstancePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) ToGetIsInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancePrimaryNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancePrimaryNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstancePrimaryNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceProfileBandwidth struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileBandwidthInput is an input type that accepts GetIsInstanceProfileBandwidthArgs and GetIsInstanceProfileBandwidthOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileBandwidthInput` via: +// +// GetIsInstanceProfileBandwidthArgs{...} +type GetIsInstanceProfileBandwidthInput interface { + pulumi.Input + + ToGetIsInstanceProfileBandwidthOutput() GetIsInstanceProfileBandwidthOutput + ToGetIsInstanceProfileBandwidthOutputWithContext(context.Context) GetIsInstanceProfileBandwidthOutput +} + +type GetIsInstanceProfileBandwidthArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileBandwidthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileBandwidth)(nil)).Elem() +} + +func (i GetIsInstanceProfileBandwidthArgs) ToGetIsInstanceProfileBandwidthOutput() GetIsInstanceProfileBandwidthOutput { + return i.ToGetIsInstanceProfileBandwidthOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileBandwidthArgs) ToGetIsInstanceProfileBandwidthOutputWithContext(ctx context.Context) GetIsInstanceProfileBandwidthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileBandwidthOutput) +} + +// GetIsInstanceProfileBandwidthArrayInput is an input type that accepts GetIsInstanceProfileBandwidthArray and GetIsInstanceProfileBandwidthArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileBandwidthArrayInput` via: +// +// GetIsInstanceProfileBandwidthArray{ GetIsInstanceProfileBandwidthArgs{...} } +type GetIsInstanceProfileBandwidthArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileBandwidthArrayOutput() GetIsInstanceProfileBandwidthArrayOutput + ToGetIsInstanceProfileBandwidthArrayOutputWithContext(context.Context) GetIsInstanceProfileBandwidthArrayOutput +} + +type GetIsInstanceProfileBandwidthArray []GetIsInstanceProfileBandwidthInput + +func (GetIsInstanceProfileBandwidthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileBandwidth)(nil)).Elem() +} + +func (i GetIsInstanceProfileBandwidthArray) ToGetIsInstanceProfileBandwidthArrayOutput() GetIsInstanceProfileBandwidthArrayOutput { + return i.ToGetIsInstanceProfileBandwidthArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileBandwidthArray) ToGetIsInstanceProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileBandwidthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileBandwidthArrayOutput) +} + +type GetIsInstanceProfileBandwidthOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileBandwidthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileBandwidth)(nil)).Elem() +} + +func (o GetIsInstanceProfileBandwidthOutput) ToGetIsInstanceProfileBandwidthOutput() GetIsInstanceProfileBandwidthOutput { + return o +} + +func (o GetIsInstanceProfileBandwidthOutput) ToGetIsInstanceProfileBandwidthOutputWithContext(ctx context.Context) GetIsInstanceProfileBandwidthOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfileBandwidthOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileBandwidth) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileBandwidthOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileBandwidth) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileBandwidthOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileBandwidth) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfileBandwidthOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileBandwidth) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileBandwidthOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileBandwidth) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileBandwidthOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileBandwidth) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileBandwidthOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileBandwidth) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileBandwidthArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileBandwidthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileBandwidth)(nil)).Elem() +} + +func (o GetIsInstanceProfileBandwidthArrayOutput) ToGetIsInstanceProfileBandwidthArrayOutput() GetIsInstanceProfileBandwidthArrayOutput { + return o +} + +func (o GetIsInstanceProfileBandwidthArrayOutput) ToGetIsInstanceProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileBandwidthArrayOutput { + return o +} + +func (o GetIsInstanceProfileBandwidthArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileBandwidthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileBandwidth { + return vs[0].([]GetIsInstanceProfileBandwidth)[vs[1].(int)] + }).(GetIsInstanceProfileBandwidthOutput) +} + +type GetIsInstanceProfileClusterNetworkAttachmentCount struct { + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileClusterNetworkAttachmentCountInput is an input type that accepts GetIsInstanceProfileClusterNetworkAttachmentCountArgs and GetIsInstanceProfileClusterNetworkAttachmentCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileClusterNetworkAttachmentCountInput` via: +// +// GetIsInstanceProfileClusterNetworkAttachmentCountArgs{...} +type GetIsInstanceProfileClusterNetworkAttachmentCountInput interface { + pulumi.Input + + ToGetIsInstanceProfileClusterNetworkAttachmentCountOutput() GetIsInstanceProfileClusterNetworkAttachmentCountOutput + ToGetIsInstanceProfileClusterNetworkAttachmentCountOutputWithContext(context.Context) GetIsInstanceProfileClusterNetworkAttachmentCountOutput +} + +type GetIsInstanceProfileClusterNetworkAttachmentCountArgs struct { + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileClusterNetworkAttachmentCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileClusterNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileClusterNetworkAttachmentCountArgs) ToGetIsInstanceProfileClusterNetworkAttachmentCountOutput() GetIsInstanceProfileClusterNetworkAttachmentCountOutput { + return i.ToGetIsInstanceProfileClusterNetworkAttachmentCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileClusterNetworkAttachmentCountArgs) ToGetIsInstanceProfileClusterNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsInstanceProfileClusterNetworkAttachmentCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileClusterNetworkAttachmentCountOutput) +} + +// GetIsInstanceProfileClusterNetworkAttachmentCountArrayInput is an input type that accepts GetIsInstanceProfileClusterNetworkAttachmentCountArray and GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileClusterNetworkAttachmentCountArrayInput` via: +// +// GetIsInstanceProfileClusterNetworkAttachmentCountArray{ GetIsInstanceProfileClusterNetworkAttachmentCountArgs{...} } +type GetIsInstanceProfileClusterNetworkAttachmentCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput() GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput + ToGetIsInstanceProfileClusterNetworkAttachmentCountArrayOutputWithContext(context.Context) GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput +} + +type GetIsInstanceProfileClusterNetworkAttachmentCountArray []GetIsInstanceProfileClusterNetworkAttachmentCountInput + +func (GetIsInstanceProfileClusterNetworkAttachmentCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileClusterNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileClusterNetworkAttachmentCountArray) ToGetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput() GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput { + return i.ToGetIsInstanceProfileClusterNetworkAttachmentCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileClusterNetworkAttachmentCountArray) ToGetIsInstanceProfileClusterNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput) +} + +type GetIsInstanceProfileClusterNetworkAttachmentCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileClusterNetworkAttachmentCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileClusterNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileClusterNetworkAttachmentCountOutput) ToGetIsInstanceProfileClusterNetworkAttachmentCountOutput() GetIsInstanceProfileClusterNetworkAttachmentCountOutput { + return o +} + +func (o GetIsInstanceProfileClusterNetworkAttachmentCountOutput) ToGetIsInstanceProfileClusterNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsInstanceProfileClusterNetworkAttachmentCountOutput { + return o +} + +func (o GetIsInstanceProfileClusterNetworkAttachmentCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileClusterNetworkAttachmentCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileClusterNetworkAttachmentCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileClusterNetworkAttachmentCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileClusterNetworkAttachmentCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileClusterNetworkAttachmentCount) int { return v.Min }).(pulumi.IntOutput) +} + +func (o GetIsInstanceProfileClusterNetworkAttachmentCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileClusterNetworkAttachmentCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileClusterNetworkAttachmentCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileClusterNetworkAttachmentCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileClusterNetworkAttachmentCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileClusterNetworkAttachmentCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileClusterNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput) ToGetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput() GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput) ToGetIsInstanceProfileClusterNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileClusterNetworkAttachmentCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileClusterNetworkAttachmentCount { + return vs[0].([]GetIsInstanceProfileClusterNetworkAttachmentCount)[vs[1].(int)] + }).(GetIsInstanceProfileClusterNetworkAttachmentCountOutput) +} + +type GetIsInstanceProfileConfidentialComputeMode struct { + // The default confidential compute mode for this profile. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The supported confidential compute modes. + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfileConfidentialComputeModeInput is an input type that accepts GetIsInstanceProfileConfidentialComputeModeArgs and GetIsInstanceProfileConfidentialComputeModeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileConfidentialComputeModeInput` via: +// +// GetIsInstanceProfileConfidentialComputeModeArgs{...} +type GetIsInstanceProfileConfidentialComputeModeInput interface { + pulumi.Input + + ToGetIsInstanceProfileConfidentialComputeModeOutput() GetIsInstanceProfileConfidentialComputeModeOutput + ToGetIsInstanceProfileConfidentialComputeModeOutputWithContext(context.Context) GetIsInstanceProfileConfidentialComputeModeOutput +} + +type GetIsInstanceProfileConfidentialComputeModeArgs struct { + // The default confidential compute mode for this profile. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported confidential compute modes. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileConfidentialComputeModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileConfidentialComputeMode)(nil)).Elem() +} + +func (i GetIsInstanceProfileConfidentialComputeModeArgs) ToGetIsInstanceProfileConfidentialComputeModeOutput() GetIsInstanceProfileConfidentialComputeModeOutput { + return i.ToGetIsInstanceProfileConfidentialComputeModeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileConfidentialComputeModeArgs) ToGetIsInstanceProfileConfidentialComputeModeOutputWithContext(ctx context.Context) GetIsInstanceProfileConfidentialComputeModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileConfidentialComputeModeOutput) +} + +// GetIsInstanceProfileConfidentialComputeModeArrayInput is an input type that accepts GetIsInstanceProfileConfidentialComputeModeArray and GetIsInstanceProfileConfidentialComputeModeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileConfidentialComputeModeArrayInput` via: +// +// GetIsInstanceProfileConfidentialComputeModeArray{ GetIsInstanceProfileConfidentialComputeModeArgs{...} } +type GetIsInstanceProfileConfidentialComputeModeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileConfidentialComputeModeArrayOutput() GetIsInstanceProfileConfidentialComputeModeArrayOutput + ToGetIsInstanceProfileConfidentialComputeModeArrayOutputWithContext(context.Context) GetIsInstanceProfileConfidentialComputeModeArrayOutput +} + +type GetIsInstanceProfileConfidentialComputeModeArray []GetIsInstanceProfileConfidentialComputeModeInput + +func (GetIsInstanceProfileConfidentialComputeModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileConfidentialComputeMode)(nil)).Elem() +} + +func (i GetIsInstanceProfileConfidentialComputeModeArray) ToGetIsInstanceProfileConfidentialComputeModeArrayOutput() GetIsInstanceProfileConfidentialComputeModeArrayOutput { + return i.ToGetIsInstanceProfileConfidentialComputeModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileConfidentialComputeModeArray) ToGetIsInstanceProfileConfidentialComputeModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileConfidentialComputeModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileConfidentialComputeModeArrayOutput) +} + +type GetIsInstanceProfileConfidentialComputeModeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileConfidentialComputeModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileConfidentialComputeMode)(nil)).Elem() +} + +func (o GetIsInstanceProfileConfidentialComputeModeOutput) ToGetIsInstanceProfileConfidentialComputeModeOutput() GetIsInstanceProfileConfidentialComputeModeOutput { + return o +} + +func (o GetIsInstanceProfileConfidentialComputeModeOutput) ToGetIsInstanceProfileConfidentialComputeModeOutputWithContext(ctx context.Context) GetIsInstanceProfileConfidentialComputeModeOutput { + return o +} + +// The default confidential compute mode for this profile. +func (o GetIsInstanceProfileConfidentialComputeModeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileConfidentialComputeMode) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileConfidentialComputeModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileConfidentialComputeMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported confidential compute modes. +func (o GetIsInstanceProfileConfidentialComputeModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileConfidentialComputeMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfileConfidentialComputeModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileConfidentialComputeModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileConfidentialComputeMode)(nil)).Elem() +} + +func (o GetIsInstanceProfileConfidentialComputeModeArrayOutput) ToGetIsInstanceProfileConfidentialComputeModeArrayOutput() GetIsInstanceProfileConfidentialComputeModeArrayOutput { + return o +} + +func (o GetIsInstanceProfileConfidentialComputeModeArrayOutput) ToGetIsInstanceProfileConfidentialComputeModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileConfidentialComputeModeArrayOutput { + return o +} + +func (o GetIsInstanceProfileConfidentialComputeModeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileConfidentialComputeModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileConfidentialComputeMode { + return vs[0].([]GetIsInstanceProfileConfidentialComputeMode)[vs[1].(int)] + }).(GetIsInstanceProfileConfidentialComputeModeOutput) +} + +type GetIsInstanceProfileDisk struct { + Quantities []GetIsInstanceProfileDiskQuantity `pulumi:"quantities"` + Sizes []GetIsInstanceProfileDiskSize `pulumi:"sizes"` + SupportedInterfaceTypes []GetIsInstanceProfileDiskSupportedInterfaceType `pulumi:"supportedInterfaceTypes"` +} + +// GetIsInstanceProfileDiskInput is an input type that accepts GetIsInstanceProfileDiskArgs and GetIsInstanceProfileDiskOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileDiskInput` via: +// +// GetIsInstanceProfileDiskArgs{...} +type GetIsInstanceProfileDiskInput interface { + pulumi.Input + + ToGetIsInstanceProfileDiskOutput() GetIsInstanceProfileDiskOutput + ToGetIsInstanceProfileDiskOutputWithContext(context.Context) GetIsInstanceProfileDiskOutput +} + +type GetIsInstanceProfileDiskArgs struct { + Quantities GetIsInstanceProfileDiskQuantityArrayInput `pulumi:"quantities"` + Sizes GetIsInstanceProfileDiskSizeArrayInput `pulumi:"sizes"` + SupportedInterfaceTypes GetIsInstanceProfileDiskSupportedInterfaceTypeArrayInput `pulumi:"supportedInterfaceTypes"` +} + +func (GetIsInstanceProfileDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileDisk)(nil)).Elem() +} + +func (i GetIsInstanceProfileDiskArgs) ToGetIsInstanceProfileDiskOutput() GetIsInstanceProfileDiskOutput { + return i.ToGetIsInstanceProfileDiskOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileDiskArgs) ToGetIsInstanceProfileDiskOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileDiskOutput) +} + +// GetIsInstanceProfileDiskArrayInput is an input type that accepts GetIsInstanceProfileDiskArray and GetIsInstanceProfileDiskArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileDiskArrayInput` via: +// +// GetIsInstanceProfileDiskArray{ GetIsInstanceProfileDiskArgs{...} } +type GetIsInstanceProfileDiskArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileDiskArrayOutput() GetIsInstanceProfileDiskArrayOutput + ToGetIsInstanceProfileDiskArrayOutputWithContext(context.Context) GetIsInstanceProfileDiskArrayOutput +} + +type GetIsInstanceProfileDiskArray []GetIsInstanceProfileDiskInput + +func (GetIsInstanceProfileDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileDisk)(nil)).Elem() +} + +func (i GetIsInstanceProfileDiskArray) ToGetIsInstanceProfileDiskArrayOutput() GetIsInstanceProfileDiskArrayOutput { + return i.ToGetIsInstanceProfileDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileDiskArray) ToGetIsInstanceProfileDiskArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileDiskArrayOutput) +} + +type GetIsInstanceProfileDiskOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileDisk)(nil)).Elem() +} + +func (o GetIsInstanceProfileDiskOutput) ToGetIsInstanceProfileDiskOutput() GetIsInstanceProfileDiskOutput { + return o +} + +func (o GetIsInstanceProfileDiskOutput) ToGetIsInstanceProfileDiskOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskOutput { + return o +} + +func (o GetIsInstanceProfileDiskOutput) Quantities() GetIsInstanceProfileDiskQuantityArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileDisk) []GetIsInstanceProfileDiskQuantity { return v.Quantities }).(GetIsInstanceProfileDiskQuantityArrayOutput) +} + +func (o GetIsInstanceProfileDiskOutput) Sizes() GetIsInstanceProfileDiskSizeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileDisk) []GetIsInstanceProfileDiskSize { return v.Sizes }).(GetIsInstanceProfileDiskSizeArrayOutput) +} + +func (o GetIsInstanceProfileDiskOutput) SupportedInterfaceTypes() GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileDisk) []GetIsInstanceProfileDiskSupportedInterfaceType { + return v.SupportedInterfaceTypes + }).(GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput) +} + +type GetIsInstanceProfileDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileDisk)(nil)).Elem() +} + +func (o GetIsInstanceProfileDiskArrayOutput) ToGetIsInstanceProfileDiskArrayOutput() GetIsInstanceProfileDiskArrayOutput { + return o +} + +func (o GetIsInstanceProfileDiskArrayOutput) ToGetIsInstanceProfileDiskArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskArrayOutput { + return o +} + +func (o GetIsInstanceProfileDiskArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileDisk { + return vs[0].([]GetIsInstanceProfileDisk)[vs[1].(int)] + }).(GetIsInstanceProfileDiskOutput) +} + +type GetIsInstanceProfileDiskQuantity struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileDiskQuantityInput is an input type that accepts GetIsInstanceProfileDiskQuantityArgs and GetIsInstanceProfileDiskQuantityOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileDiskQuantityInput` via: +// +// GetIsInstanceProfileDiskQuantityArgs{...} +type GetIsInstanceProfileDiskQuantityInput interface { + pulumi.Input + + ToGetIsInstanceProfileDiskQuantityOutput() GetIsInstanceProfileDiskQuantityOutput + ToGetIsInstanceProfileDiskQuantityOutputWithContext(context.Context) GetIsInstanceProfileDiskQuantityOutput +} + +type GetIsInstanceProfileDiskQuantityArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileDiskQuantityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsInstanceProfileDiskQuantityArgs) ToGetIsInstanceProfileDiskQuantityOutput() GetIsInstanceProfileDiskQuantityOutput { + return i.ToGetIsInstanceProfileDiskQuantityOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileDiskQuantityArgs) ToGetIsInstanceProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskQuantityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileDiskQuantityOutput) +} + +// GetIsInstanceProfileDiskQuantityArrayInput is an input type that accepts GetIsInstanceProfileDiskQuantityArray and GetIsInstanceProfileDiskQuantityArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileDiskQuantityArrayInput` via: +// +// GetIsInstanceProfileDiskQuantityArray{ GetIsInstanceProfileDiskQuantityArgs{...} } +type GetIsInstanceProfileDiskQuantityArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileDiskQuantityArrayOutput() GetIsInstanceProfileDiskQuantityArrayOutput + ToGetIsInstanceProfileDiskQuantityArrayOutputWithContext(context.Context) GetIsInstanceProfileDiskQuantityArrayOutput +} + +type GetIsInstanceProfileDiskQuantityArray []GetIsInstanceProfileDiskQuantityInput + +func (GetIsInstanceProfileDiskQuantityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsInstanceProfileDiskQuantityArray) ToGetIsInstanceProfileDiskQuantityArrayOutput() GetIsInstanceProfileDiskQuantityArrayOutput { + return i.ToGetIsInstanceProfileDiskQuantityArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileDiskQuantityArray) ToGetIsInstanceProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskQuantityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileDiskQuantityArrayOutput) +} + +type GetIsInstanceProfileDiskQuantityOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileDiskQuantityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsInstanceProfileDiskQuantityOutput) ToGetIsInstanceProfileDiskQuantityOutput() GetIsInstanceProfileDiskQuantityOutput { + return o +} + +func (o GetIsInstanceProfileDiskQuantityOutput) ToGetIsInstanceProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskQuantityOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfileDiskQuantityOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskQuantity) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileDiskQuantityOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskQuantity) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileDiskQuantityOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskQuantity) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfileDiskQuantityOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskQuantity) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileDiskQuantityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskQuantity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileDiskQuantityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskQuantity) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileDiskQuantityOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskQuantity) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileDiskQuantityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileDiskQuantityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsInstanceProfileDiskQuantityArrayOutput) ToGetIsInstanceProfileDiskQuantityArrayOutput() GetIsInstanceProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsInstanceProfileDiskQuantityArrayOutput) ToGetIsInstanceProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsInstanceProfileDiskQuantityArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileDiskQuantityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileDiskQuantity { + return vs[0].([]GetIsInstanceProfileDiskQuantity)[vs[1].(int)] + }).(GetIsInstanceProfileDiskQuantityOutput) +} + +type GetIsInstanceProfileDiskSize struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileDiskSizeInput is an input type that accepts GetIsInstanceProfileDiskSizeArgs and GetIsInstanceProfileDiskSizeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileDiskSizeInput` via: +// +// GetIsInstanceProfileDiskSizeArgs{...} +type GetIsInstanceProfileDiskSizeInput interface { + pulumi.Input + + ToGetIsInstanceProfileDiskSizeOutput() GetIsInstanceProfileDiskSizeOutput + ToGetIsInstanceProfileDiskSizeOutputWithContext(context.Context) GetIsInstanceProfileDiskSizeOutput +} + +type GetIsInstanceProfileDiskSizeArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileDiskSizeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileDiskSize)(nil)).Elem() +} + +func (i GetIsInstanceProfileDiskSizeArgs) ToGetIsInstanceProfileDiskSizeOutput() GetIsInstanceProfileDiskSizeOutput { + return i.ToGetIsInstanceProfileDiskSizeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileDiskSizeArgs) ToGetIsInstanceProfileDiskSizeOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskSizeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileDiskSizeOutput) +} + +// GetIsInstanceProfileDiskSizeArrayInput is an input type that accepts GetIsInstanceProfileDiskSizeArray and GetIsInstanceProfileDiskSizeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileDiskSizeArrayInput` via: +// +// GetIsInstanceProfileDiskSizeArray{ GetIsInstanceProfileDiskSizeArgs{...} } +type GetIsInstanceProfileDiskSizeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileDiskSizeArrayOutput() GetIsInstanceProfileDiskSizeArrayOutput + ToGetIsInstanceProfileDiskSizeArrayOutputWithContext(context.Context) GetIsInstanceProfileDiskSizeArrayOutput +} + +type GetIsInstanceProfileDiskSizeArray []GetIsInstanceProfileDiskSizeInput + +func (GetIsInstanceProfileDiskSizeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileDiskSize)(nil)).Elem() +} + +func (i GetIsInstanceProfileDiskSizeArray) ToGetIsInstanceProfileDiskSizeArrayOutput() GetIsInstanceProfileDiskSizeArrayOutput { + return i.ToGetIsInstanceProfileDiskSizeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileDiskSizeArray) ToGetIsInstanceProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskSizeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileDiskSizeArrayOutput) +} + +type GetIsInstanceProfileDiskSizeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileDiskSizeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileDiskSize)(nil)).Elem() +} + +func (o GetIsInstanceProfileDiskSizeOutput) ToGetIsInstanceProfileDiskSizeOutput() GetIsInstanceProfileDiskSizeOutput { + return o +} + +func (o GetIsInstanceProfileDiskSizeOutput) ToGetIsInstanceProfileDiskSizeOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskSizeOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfileDiskSizeOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSize) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileDiskSizeOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSize) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileDiskSizeOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSize) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfileDiskSizeOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSize) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileDiskSizeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSize) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileDiskSizeOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSize) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileDiskSizeOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSize) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileDiskSizeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileDiskSizeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileDiskSize)(nil)).Elem() +} + +func (o GetIsInstanceProfileDiskSizeArrayOutput) ToGetIsInstanceProfileDiskSizeArrayOutput() GetIsInstanceProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsInstanceProfileDiskSizeArrayOutput) ToGetIsInstanceProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsInstanceProfileDiskSizeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileDiskSizeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileDiskSize { + return vs[0].([]GetIsInstanceProfileDiskSize)[vs[1].(int)] + }).(GetIsInstanceProfileDiskSizeOutput) +} + +type GetIsInstanceProfileDiskSupportedInterfaceType struct { + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The supported disk interfaces used for attaching the disk. + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfileDiskSupportedInterfaceTypeInput is an input type that accepts GetIsInstanceProfileDiskSupportedInterfaceTypeArgs and GetIsInstanceProfileDiskSupportedInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileDiskSupportedInterfaceTypeInput` via: +// +// GetIsInstanceProfileDiskSupportedInterfaceTypeArgs{...} +type GetIsInstanceProfileDiskSupportedInterfaceTypeInput interface { + pulumi.Input + + ToGetIsInstanceProfileDiskSupportedInterfaceTypeOutput() GetIsInstanceProfileDiskSupportedInterfaceTypeOutput + ToGetIsInstanceProfileDiskSupportedInterfaceTypeOutputWithContext(context.Context) GetIsInstanceProfileDiskSupportedInterfaceTypeOutput +} + +type GetIsInstanceProfileDiskSupportedInterfaceTypeArgs struct { + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported disk interfaces used for attaching the disk. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileDiskSupportedInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (i GetIsInstanceProfileDiskSupportedInterfaceTypeArgs) ToGetIsInstanceProfileDiskSupportedInterfaceTypeOutput() GetIsInstanceProfileDiskSupportedInterfaceTypeOutput { + return i.ToGetIsInstanceProfileDiskSupportedInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileDiskSupportedInterfaceTypeArgs) ToGetIsInstanceProfileDiskSupportedInterfaceTypeOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskSupportedInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileDiskSupportedInterfaceTypeOutput) +} + +// GetIsInstanceProfileDiskSupportedInterfaceTypeArrayInput is an input type that accepts GetIsInstanceProfileDiskSupportedInterfaceTypeArray and GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileDiskSupportedInterfaceTypeArrayInput` via: +// +// GetIsInstanceProfileDiskSupportedInterfaceTypeArray{ GetIsInstanceProfileDiskSupportedInterfaceTypeArgs{...} } +type GetIsInstanceProfileDiskSupportedInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput() GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput + ToGetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutputWithContext(context.Context) GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput +} + +type GetIsInstanceProfileDiskSupportedInterfaceTypeArray []GetIsInstanceProfileDiskSupportedInterfaceTypeInput + +func (GetIsInstanceProfileDiskSupportedInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (i GetIsInstanceProfileDiskSupportedInterfaceTypeArray) ToGetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput() GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput { + return i.ToGetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileDiskSupportedInterfaceTypeArray) ToGetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput) +} + +type GetIsInstanceProfileDiskSupportedInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileDiskSupportedInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (o GetIsInstanceProfileDiskSupportedInterfaceTypeOutput) ToGetIsInstanceProfileDiskSupportedInterfaceTypeOutput() GetIsInstanceProfileDiskSupportedInterfaceTypeOutput { + return o +} + +func (o GetIsInstanceProfileDiskSupportedInterfaceTypeOutput) ToGetIsInstanceProfileDiskSupportedInterfaceTypeOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskSupportedInterfaceTypeOutput { + return o +} + +// The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsInstanceProfileDiskSupportedInterfaceTypeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSupportedInterfaceType) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileDiskSupportedInterfaceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSupportedInterfaceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported disk interfaces used for attaching the disk. +func (o GetIsInstanceProfileDiskSupportedInterfaceTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileDiskSupportedInterfaceType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (o GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput) ToGetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput() GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput { + return o +} + +func (o GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput) ToGetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput { + return o +} + +func (o GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileDiskSupportedInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileDiskSupportedInterfaceType { + return vs[0].([]GetIsInstanceProfileDiskSupportedInterfaceType)[vs[1].(int)] + }).(GetIsInstanceProfileDiskSupportedInterfaceTypeOutput) +} + +type GetIsInstanceProfileGpuCount struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileGpuCountInput is an input type that accepts GetIsInstanceProfileGpuCountArgs and GetIsInstanceProfileGpuCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileGpuCountInput` via: +// +// GetIsInstanceProfileGpuCountArgs{...} +type GetIsInstanceProfileGpuCountInput interface { + pulumi.Input + + ToGetIsInstanceProfileGpuCountOutput() GetIsInstanceProfileGpuCountOutput + ToGetIsInstanceProfileGpuCountOutputWithContext(context.Context) GetIsInstanceProfileGpuCountOutput +} + +type GetIsInstanceProfileGpuCountArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileGpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileGpuCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileGpuCountArgs) ToGetIsInstanceProfileGpuCountOutput() GetIsInstanceProfileGpuCountOutput { + return i.ToGetIsInstanceProfileGpuCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileGpuCountArgs) ToGetIsInstanceProfileGpuCountOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileGpuCountOutput) +} + +// GetIsInstanceProfileGpuCountArrayInput is an input type that accepts GetIsInstanceProfileGpuCountArray and GetIsInstanceProfileGpuCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileGpuCountArrayInput` via: +// +// GetIsInstanceProfileGpuCountArray{ GetIsInstanceProfileGpuCountArgs{...} } +type GetIsInstanceProfileGpuCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileGpuCountArrayOutput() GetIsInstanceProfileGpuCountArrayOutput + ToGetIsInstanceProfileGpuCountArrayOutputWithContext(context.Context) GetIsInstanceProfileGpuCountArrayOutput +} + +type GetIsInstanceProfileGpuCountArray []GetIsInstanceProfileGpuCountInput + +func (GetIsInstanceProfileGpuCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileGpuCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileGpuCountArray) ToGetIsInstanceProfileGpuCountArrayOutput() GetIsInstanceProfileGpuCountArrayOutput { + return i.ToGetIsInstanceProfileGpuCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileGpuCountArray) ToGetIsInstanceProfileGpuCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileGpuCountArrayOutput) +} + +type GetIsInstanceProfileGpuCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileGpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileGpuCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileGpuCountOutput) ToGetIsInstanceProfileGpuCountOutput() GetIsInstanceProfileGpuCountOutput { + return o +} + +func (o GetIsInstanceProfileGpuCountOutput) ToGetIsInstanceProfileGpuCountOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuCountOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfileGpuCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileGpuCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileGpuCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfileGpuCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileGpuCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileGpuCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuCount) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileGpuCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileGpuCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileGpuCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileGpuCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileGpuCountArrayOutput) ToGetIsInstanceProfileGpuCountArrayOutput() GetIsInstanceProfileGpuCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileGpuCountArrayOutput) ToGetIsInstanceProfileGpuCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileGpuCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileGpuCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileGpuCount { + return vs[0].([]GetIsInstanceProfileGpuCount)[vs[1].(int)] + }).(GetIsInstanceProfileGpuCountOutput) +} + +type GetIsInstanceProfileGpuManufacturer struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The possible GPU manufacturer(s) for an instance with this profile + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfileGpuManufacturerInput is an input type that accepts GetIsInstanceProfileGpuManufacturerArgs and GetIsInstanceProfileGpuManufacturerOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileGpuManufacturerInput` via: +// +// GetIsInstanceProfileGpuManufacturerArgs{...} +type GetIsInstanceProfileGpuManufacturerInput interface { + pulumi.Input + + ToGetIsInstanceProfileGpuManufacturerOutput() GetIsInstanceProfileGpuManufacturerOutput + ToGetIsInstanceProfileGpuManufacturerOutputWithContext(context.Context) GetIsInstanceProfileGpuManufacturerOutput +} + +type GetIsInstanceProfileGpuManufacturerArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The possible GPU manufacturer(s) for an instance with this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileGpuManufacturerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileGpuManufacturer)(nil)).Elem() +} + +func (i GetIsInstanceProfileGpuManufacturerArgs) ToGetIsInstanceProfileGpuManufacturerOutput() GetIsInstanceProfileGpuManufacturerOutput { + return i.ToGetIsInstanceProfileGpuManufacturerOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileGpuManufacturerArgs) ToGetIsInstanceProfileGpuManufacturerOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuManufacturerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileGpuManufacturerOutput) +} + +// GetIsInstanceProfileGpuManufacturerArrayInput is an input type that accepts GetIsInstanceProfileGpuManufacturerArray and GetIsInstanceProfileGpuManufacturerArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileGpuManufacturerArrayInput` via: +// +// GetIsInstanceProfileGpuManufacturerArray{ GetIsInstanceProfileGpuManufacturerArgs{...} } +type GetIsInstanceProfileGpuManufacturerArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileGpuManufacturerArrayOutput() GetIsInstanceProfileGpuManufacturerArrayOutput + ToGetIsInstanceProfileGpuManufacturerArrayOutputWithContext(context.Context) GetIsInstanceProfileGpuManufacturerArrayOutput +} + +type GetIsInstanceProfileGpuManufacturerArray []GetIsInstanceProfileGpuManufacturerInput + +func (GetIsInstanceProfileGpuManufacturerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileGpuManufacturer)(nil)).Elem() +} + +func (i GetIsInstanceProfileGpuManufacturerArray) ToGetIsInstanceProfileGpuManufacturerArrayOutput() GetIsInstanceProfileGpuManufacturerArrayOutput { + return i.ToGetIsInstanceProfileGpuManufacturerArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileGpuManufacturerArray) ToGetIsInstanceProfileGpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuManufacturerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileGpuManufacturerArrayOutput) +} + +type GetIsInstanceProfileGpuManufacturerOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileGpuManufacturerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileGpuManufacturer)(nil)).Elem() +} + +func (o GetIsInstanceProfileGpuManufacturerOutput) ToGetIsInstanceProfileGpuManufacturerOutput() GetIsInstanceProfileGpuManufacturerOutput { + return o +} + +func (o GetIsInstanceProfileGpuManufacturerOutput) ToGetIsInstanceProfileGpuManufacturerOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuManufacturerOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfileGpuManufacturerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuManufacturer) string { return v.Type }).(pulumi.StringOutput) +} + +// The possible GPU manufacturer(s) for an instance with this profile +func (o GetIsInstanceProfileGpuManufacturerOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuManufacturer) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfileGpuManufacturerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileGpuManufacturerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileGpuManufacturer)(nil)).Elem() +} + +func (o GetIsInstanceProfileGpuManufacturerArrayOutput) ToGetIsInstanceProfileGpuManufacturerArrayOutput() GetIsInstanceProfileGpuManufacturerArrayOutput { + return o +} + +func (o GetIsInstanceProfileGpuManufacturerArrayOutput) ToGetIsInstanceProfileGpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuManufacturerArrayOutput { + return o +} + +func (o GetIsInstanceProfileGpuManufacturerArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileGpuManufacturerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileGpuManufacturer { + return vs[0].([]GetIsInstanceProfileGpuManufacturer)[vs[1].(int)] + }).(GetIsInstanceProfileGpuManufacturerOutput) +} + +type GetIsInstanceProfileGpuMemory struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileGpuMemoryInput is an input type that accepts GetIsInstanceProfileGpuMemoryArgs and GetIsInstanceProfileGpuMemoryOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileGpuMemoryInput` via: +// +// GetIsInstanceProfileGpuMemoryArgs{...} +type GetIsInstanceProfileGpuMemoryInput interface { + pulumi.Input + + ToGetIsInstanceProfileGpuMemoryOutput() GetIsInstanceProfileGpuMemoryOutput + ToGetIsInstanceProfileGpuMemoryOutputWithContext(context.Context) GetIsInstanceProfileGpuMemoryOutput +} + +type GetIsInstanceProfileGpuMemoryArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileGpuMemoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileGpuMemory)(nil)).Elem() +} + +func (i GetIsInstanceProfileGpuMemoryArgs) ToGetIsInstanceProfileGpuMemoryOutput() GetIsInstanceProfileGpuMemoryOutput { + return i.ToGetIsInstanceProfileGpuMemoryOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileGpuMemoryArgs) ToGetIsInstanceProfileGpuMemoryOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuMemoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileGpuMemoryOutput) +} + +// GetIsInstanceProfileGpuMemoryArrayInput is an input type that accepts GetIsInstanceProfileGpuMemoryArray and GetIsInstanceProfileGpuMemoryArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileGpuMemoryArrayInput` via: +// +// GetIsInstanceProfileGpuMemoryArray{ GetIsInstanceProfileGpuMemoryArgs{...} } +type GetIsInstanceProfileGpuMemoryArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileGpuMemoryArrayOutput() GetIsInstanceProfileGpuMemoryArrayOutput + ToGetIsInstanceProfileGpuMemoryArrayOutputWithContext(context.Context) GetIsInstanceProfileGpuMemoryArrayOutput +} + +type GetIsInstanceProfileGpuMemoryArray []GetIsInstanceProfileGpuMemoryInput + +func (GetIsInstanceProfileGpuMemoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileGpuMemory)(nil)).Elem() +} + +func (i GetIsInstanceProfileGpuMemoryArray) ToGetIsInstanceProfileGpuMemoryArrayOutput() GetIsInstanceProfileGpuMemoryArrayOutput { + return i.ToGetIsInstanceProfileGpuMemoryArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileGpuMemoryArray) ToGetIsInstanceProfileGpuMemoryArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuMemoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileGpuMemoryArrayOutput) +} + +type GetIsInstanceProfileGpuMemoryOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileGpuMemoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileGpuMemory)(nil)).Elem() +} + +func (o GetIsInstanceProfileGpuMemoryOutput) ToGetIsInstanceProfileGpuMemoryOutput() GetIsInstanceProfileGpuMemoryOutput { + return o +} + +func (o GetIsInstanceProfileGpuMemoryOutput) ToGetIsInstanceProfileGpuMemoryOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuMemoryOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfileGpuMemoryOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuMemory) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileGpuMemoryOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuMemory) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileGpuMemoryOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuMemory) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfileGpuMemoryOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuMemory) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileGpuMemoryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuMemory) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileGpuMemoryOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuMemory) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileGpuMemoryOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuMemory) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileGpuMemoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileGpuMemoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileGpuMemory)(nil)).Elem() +} + +func (o GetIsInstanceProfileGpuMemoryArrayOutput) ToGetIsInstanceProfileGpuMemoryArrayOutput() GetIsInstanceProfileGpuMemoryArrayOutput { + return o +} + +func (o GetIsInstanceProfileGpuMemoryArrayOutput) ToGetIsInstanceProfileGpuMemoryArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuMemoryArrayOutput { + return o +} + +func (o GetIsInstanceProfileGpuMemoryArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileGpuMemoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileGpuMemory { + return vs[0].([]GetIsInstanceProfileGpuMemory)[vs[1].(int)] + }).(GetIsInstanceProfileGpuMemoryOutput) +} + +type GetIsInstanceProfileGpuModel struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The possible GPU model(s) for an instance with this profile + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfileGpuModelInput is an input type that accepts GetIsInstanceProfileGpuModelArgs and GetIsInstanceProfileGpuModelOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileGpuModelInput` via: +// +// GetIsInstanceProfileGpuModelArgs{...} +type GetIsInstanceProfileGpuModelInput interface { + pulumi.Input + + ToGetIsInstanceProfileGpuModelOutput() GetIsInstanceProfileGpuModelOutput + ToGetIsInstanceProfileGpuModelOutputWithContext(context.Context) GetIsInstanceProfileGpuModelOutput +} + +type GetIsInstanceProfileGpuModelArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The possible GPU model(s) for an instance with this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileGpuModelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileGpuModel)(nil)).Elem() +} + +func (i GetIsInstanceProfileGpuModelArgs) ToGetIsInstanceProfileGpuModelOutput() GetIsInstanceProfileGpuModelOutput { + return i.ToGetIsInstanceProfileGpuModelOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileGpuModelArgs) ToGetIsInstanceProfileGpuModelOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuModelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileGpuModelOutput) +} + +// GetIsInstanceProfileGpuModelArrayInput is an input type that accepts GetIsInstanceProfileGpuModelArray and GetIsInstanceProfileGpuModelArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileGpuModelArrayInput` via: +// +// GetIsInstanceProfileGpuModelArray{ GetIsInstanceProfileGpuModelArgs{...} } +type GetIsInstanceProfileGpuModelArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileGpuModelArrayOutput() GetIsInstanceProfileGpuModelArrayOutput + ToGetIsInstanceProfileGpuModelArrayOutputWithContext(context.Context) GetIsInstanceProfileGpuModelArrayOutput +} + +type GetIsInstanceProfileGpuModelArray []GetIsInstanceProfileGpuModelInput + +func (GetIsInstanceProfileGpuModelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileGpuModel)(nil)).Elem() +} + +func (i GetIsInstanceProfileGpuModelArray) ToGetIsInstanceProfileGpuModelArrayOutput() GetIsInstanceProfileGpuModelArrayOutput { + return i.ToGetIsInstanceProfileGpuModelArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileGpuModelArray) ToGetIsInstanceProfileGpuModelArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuModelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileGpuModelArrayOutput) +} + +type GetIsInstanceProfileGpuModelOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileGpuModelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileGpuModel)(nil)).Elem() +} + +func (o GetIsInstanceProfileGpuModelOutput) ToGetIsInstanceProfileGpuModelOutput() GetIsInstanceProfileGpuModelOutput { + return o +} + +func (o GetIsInstanceProfileGpuModelOutput) ToGetIsInstanceProfileGpuModelOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuModelOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfileGpuModelOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuModel) string { return v.Type }).(pulumi.StringOutput) +} + +// The possible GPU model(s) for an instance with this profile +func (o GetIsInstanceProfileGpuModelOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileGpuModel) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfileGpuModelArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileGpuModelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileGpuModel)(nil)).Elem() +} + +func (o GetIsInstanceProfileGpuModelArrayOutput) ToGetIsInstanceProfileGpuModelArrayOutput() GetIsInstanceProfileGpuModelArrayOutput { + return o +} + +func (o GetIsInstanceProfileGpuModelArrayOutput) ToGetIsInstanceProfileGpuModelArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileGpuModelArrayOutput { + return o +} + +func (o GetIsInstanceProfileGpuModelArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileGpuModelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileGpuModel { + return vs[0].([]GetIsInstanceProfileGpuModel)[vs[1].(int)] + }).(GetIsInstanceProfileGpuModelOutput) +} + +type GetIsInstanceProfileMemory struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileMemoryInput is an input type that accepts GetIsInstanceProfileMemoryArgs and GetIsInstanceProfileMemoryOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileMemoryInput` via: +// +// GetIsInstanceProfileMemoryArgs{...} +type GetIsInstanceProfileMemoryInput interface { + pulumi.Input + + ToGetIsInstanceProfileMemoryOutput() GetIsInstanceProfileMemoryOutput + ToGetIsInstanceProfileMemoryOutputWithContext(context.Context) GetIsInstanceProfileMemoryOutput +} + +type GetIsInstanceProfileMemoryArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileMemoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileMemory)(nil)).Elem() +} + +func (i GetIsInstanceProfileMemoryArgs) ToGetIsInstanceProfileMemoryOutput() GetIsInstanceProfileMemoryOutput { + return i.ToGetIsInstanceProfileMemoryOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileMemoryArgs) ToGetIsInstanceProfileMemoryOutputWithContext(ctx context.Context) GetIsInstanceProfileMemoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileMemoryOutput) +} + +// GetIsInstanceProfileMemoryArrayInput is an input type that accepts GetIsInstanceProfileMemoryArray and GetIsInstanceProfileMemoryArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileMemoryArrayInput` via: +// +// GetIsInstanceProfileMemoryArray{ GetIsInstanceProfileMemoryArgs{...} } +type GetIsInstanceProfileMemoryArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileMemoryArrayOutput() GetIsInstanceProfileMemoryArrayOutput + ToGetIsInstanceProfileMemoryArrayOutputWithContext(context.Context) GetIsInstanceProfileMemoryArrayOutput +} + +type GetIsInstanceProfileMemoryArray []GetIsInstanceProfileMemoryInput + +func (GetIsInstanceProfileMemoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileMemory)(nil)).Elem() +} + +func (i GetIsInstanceProfileMemoryArray) ToGetIsInstanceProfileMemoryArrayOutput() GetIsInstanceProfileMemoryArrayOutput { + return i.ToGetIsInstanceProfileMemoryArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileMemoryArray) ToGetIsInstanceProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileMemoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileMemoryArrayOutput) +} + +type GetIsInstanceProfileMemoryOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileMemoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileMemory)(nil)).Elem() +} + +func (o GetIsInstanceProfileMemoryOutput) ToGetIsInstanceProfileMemoryOutput() GetIsInstanceProfileMemoryOutput { + return o +} + +func (o GetIsInstanceProfileMemoryOutput) ToGetIsInstanceProfileMemoryOutputWithContext(ctx context.Context) GetIsInstanceProfileMemoryOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfileMemoryOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileMemory) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileMemoryOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileMemory) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileMemoryOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileMemory) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfileMemoryOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileMemory) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileMemoryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileMemory) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileMemoryOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileMemory) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileMemoryOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileMemory) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileMemoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileMemoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileMemory)(nil)).Elem() +} + +func (o GetIsInstanceProfileMemoryArrayOutput) ToGetIsInstanceProfileMemoryArrayOutput() GetIsInstanceProfileMemoryArrayOutput { + return o +} + +func (o GetIsInstanceProfileMemoryArrayOutput) ToGetIsInstanceProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileMemoryArrayOutput { + return o +} + +func (o GetIsInstanceProfileMemoryArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileMemoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileMemory { + return vs[0].([]GetIsInstanceProfileMemory)[vs[1].(int)] + }).(GetIsInstanceProfileMemoryOutput) +} + +type GetIsInstanceProfileNetworkAttachmentCount struct { + // The maximum value for this profile field + Max int `pulumi:"max"` + // The minimum value for this profile field + Min int `pulumi:"min"` + // The type for this profile field. + Type string `pulumi:"type"` +} + +// GetIsInstanceProfileNetworkAttachmentCountInput is an input type that accepts GetIsInstanceProfileNetworkAttachmentCountArgs and GetIsInstanceProfileNetworkAttachmentCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileNetworkAttachmentCountInput` via: +// +// GetIsInstanceProfileNetworkAttachmentCountArgs{...} +type GetIsInstanceProfileNetworkAttachmentCountInput interface { + pulumi.Input + + ToGetIsInstanceProfileNetworkAttachmentCountOutput() GetIsInstanceProfileNetworkAttachmentCountOutput + ToGetIsInstanceProfileNetworkAttachmentCountOutputWithContext(context.Context) GetIsInstanceProfileNetworkAttachmentCountOutput +} + +type GetIsInstanceProfileNetworkAttachmentCountArgs struct { + // The maximum value for this profile field + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field + Min pulumi.IntInput `pulumi:"min"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsInstanceProfileNetworkAttachmentCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileNetworkAttachmentCountArgs) ToGetIsInstanceProfileNetworkAttachmentCountOutput() GetIsInstanceProfileNetworkAttachmentCountOutput { + return i.ToGetIsInstanceProfileNetworkAttachmentCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileNetworkAttachmentCountArgs) ToGetIsInstanceProfileNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsInstanceProfileNetworkAttachmentCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileNetworkAttachmentCountOutput) +} + +// GetIsInstanceProfileNetworkAttachmentCountArrayInput is an input type that accepts GetIsInstanceProfileNetworkAttachmentCountArray and GetIsInstanceProfileNetworkAttachmentCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileNetworkAttachmentCountArrayInput` via: +// +// GetIsInstanceProfileNetworkAttachmentCountArray{ GetIsInstanceProfileNetworkAttachmentCountArgs{...} } +type GetIsInstanceProfileNetworkAttachmentCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileNetworkAttachmentCountArrayOutput() GetIsInstanceProfileNetworkAttachmentCountArrayOutput + ToGetIsInstanceProfileNetworkAttachmentCountArrayOutputWithContext(context.Context) GetIsInstanceProfileNetworkAttachmentCountArrayOutput +} + +type GetIsInstanceProfileNetworkAttachmentCountArray []GetIsInstanceProfileNetworkAttachmentCountInput + +func (GetIsInstanceProfileNetworkAttachmentCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileNetworkAttachmentCountArray) ToGetIsInstanceProfileNetworkAttachmentCountArrayOutput() GetIsInstanceProfileNetworkAttachmentCountArrayOutput { + return i.ToGetIsInstanceProfileNetworkAttachmentCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileNetworkAttachmentCountArray) ToGetIsInstanceProfileNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileNetworkAttachmentCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileNetworkAttachmentCountArrayOutput) +} + +type GetIsInstanceProfileNetworkAttachmentCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileNetworkAttachmentCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileNetworkAttachmentCountOutput) ToGetIsInstanceProfileNetworkAttachmentCountOutput() GetIsInstanceProfileNetworkAttachmentCountOutput { + return o +} + +func (o GetIsInstanceProfileNetworkAttachmentCountOutput) ToGetIsInstanceProfileNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsInstanceProfileNetworkAttachmentCountOutput { + return o +} + +// The maximum value for this profile field +func (o GetIsInstanceProfileNetworkAttachmentCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileNetworkAttachmentCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field +func (o GetIsInstanceProfileNetworkAttachmentCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileNetworkAttachmentCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileNetworkAttachmentCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileNetworkAttachmentCount) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsInstanceProfileNetworkAttachmentCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileNetworkAttachmentCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileNetworkAttachmentCountArrayOutput) ToGetIsInstanceProfileNetworkAttachmentCountArrayOutput() GetIsInstanceProfileNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileNetworkAttachmentCountArrayOutput) ToGetIsInstanceProfileNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileNetworkAttachmentCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileNetworkAttachmentCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileNetworkAttachmentCount { + return vs[0].([]GetIsInstanceProfileNetworkAttachmentCount)[vs[1].(int)] + }).(GetIsInstanceProfileNetworkAttachmentCountOutput) +} + +type GetIsInstanceProfileNetworkInterfaceCount struct { + // The maximum value for this profile field + Max int `pulumi:"max"` + // The minimum value for this profile field + Min int `pulumi:"min"` + // The type for this profile field. + Type string `pulumi:"type"` +} + +// GetIsInstanceProfileNetworkInterfaceCountInput is an input type that accepts GetIsInstanceProfileNetworkInterfaceCountArgs and GetIsInstanceProfileNetworkInterfaceCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileNetworkInterfaceCountInput` via: +// +// GetIsInstanceProfileNetworkInterfaceCountArgs{...} +type GetIsInstanceProfileNetworkInterfaceCountInput interface { + pulumi.Input + + ToGetIsInstanceProfileNetworkInterfaceCountOutput() GetIsInstanceProfileNetworkInterfaceCountOutput + ToGetIsInstanceProfileNetworkInterfaceCountOutputWithContext(context.Context) GetIsInstanceProfileNetworkInterfaceCountOutput +} + +type GetIsInstanceProfileNetworkInterfaceCountArgs struct { + // The maximum value for this profile field + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field + Min pulumi.IntInput `pulumi:"min"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsInstanceProfileNetworkInterfaceCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileNetworkInterfaceCountArgs) ToGetIsInstanceProfileNetworkInterfaceCountOutput() GetIsInstanceProfileNetworkInterfaceCountOutput { + return i.ToGetIsInstanceProfileNetworkInterfaceCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileNetworkInterfaceCountArgs) ToGetIsInstanceProfileNetworkInterfaceCountOutputWithContext(ctx context.Context) GetIsInstanceProfileNetworkInterfaceCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileNetworkInterfaceCountOutput) +} + +// GetIsInstanceProfileNetworkInterfaceCountArrayInput is an input type that accepts GetIsInstanceProfileNetworkInterfaceCountArray and GetIsInstanceProfileNetworkInterfaceCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileNetworkInterfaceCountArrayInput` via: +// +// GetIsInstanceProfileNetworkInterfaceCountArray{ GetIsInstanceProfileNetworkInterfaceCountArgs{...} } +type GetIsInstanceProfileNetworkInterfaceCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileNetworkInterfaceCountArrayOutput() GetIsInstanceProfileNetworkInterfaceCountArrayOutput + ToGetIsInstanceProfileNetworkInterfaceCountArrayOutputWithContext(context.Context) GetIsInstanceProfileNetworkInterfaceCountArrayOutput +} + +type GetIsInstanceProfileNetworkInterfaceCountArray []GetIsInstanceProfileNetworkInterfaceCountInput + +func (GetIsInstanceProfileNetworkInterfaceCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileNetworkInterfaceCountArray) ToGetIsInstanceProfileNetworkInterfaceCountArrayOutput() GetIsInstanceProfileNetworkInterfaceCountArrayOutput { + return i.ToGetIsInstanceProfileNetworkInterfaceCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileNetworkInterfaceCountArray) ToGetIsInstanceProfileNetworkInterfaceCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileNetworkInterfaceCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileNetworkInterfaceCountArrayOutput) +} + +type GetIsInstanceProfileNetworkInterfaceCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileNetworkInterfaceCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileNetworkInterfaceCountOutput) ToGetIsInstanceProfileNetworkInterfaceCountOutput() GetIsInstanceProfileNetworkInterfaceCountOutput { + return o +} + +func (o GetIsInstanceProfileNetworkInterfaceCountOutput) ToGetIsInstanceProfileNetworkInterfaceCountOutputWithContext(ctx context.Context) GetIsInstanceProfileNetworkInterfaceCountOutput { + return o +} + +// The maximum value for this profile field +func (o GetIsInstanceProfileNetworkInterfaceCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileNetworkInterfaceCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field +func (o GetIsInstanceProfileNetworkInterfaceCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileNetworkInterfaceCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileNetworkInterfaceCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileNetworkInterfaceCount) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsInstanceProfileNetworkInterfaceCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileNetworkInterfaceCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileNetworkInterfaceCountArrayOutput) ToGetIsInstanceProfileNetworkInterfaceCountArrayOutput() GetIsInstanceProfileNetworkInterfaceCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileNetworkInterfaceCountArrayOutput) ToGetIsInstanceProfileNetworkInterfaceCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileNetworkInterfaceCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileNetworkInterfaceCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileNetworkInterfaceCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileNetworkInterfaceCount { + return vs[0].([]GetIsInstanceProfileNetworkInterfaceCount)[vs[1].(int)] + }).(GetIsInstanceProfileNetworkInterfaceCountOutput) +} + +type GetIsInstanceProfileNumaCount struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` +} + +// GetIsInstanceProfileNumaCountInput is an input type that accepts GetIsInstanceProfileNumaCountArgs and GetIsInstanceProfileNumaCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileNumaCountInput` via: +// +// GetIsInstanceProfileNumaCountArgs{...} +type GetIsInstanceProfileNumaCountInput interface { + pulumi.Input + + ToGetIsInstanceProfileNumaCountOutput() GetIsInstanceProfileNumaCountOutput + ToGetIsInstanceProfileNumaCountOutputWithContext(context.Context) GetIsInstanceProfileNumaCountOutput +} + +type GetIsInstanceProfileNumaCountArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsInstanceProfileNumaCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileNumaCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileNumaCountArgs) ToGetIsInstanceProfileNumaCountOutput() GetIsInstanceProfileNumaCountOutput { + return i.ToGetIsInstanceProfileNumaCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileNumaCountArgs) ToGetIsInstanceProfileNumaCountOutputWithContext(ctx context.Context) GetIsInstanceProfileNumaCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileNumaCountOutput) +} + +// GetIsInstanceProfileNumaCountArrayInput is an input type that accepts GetIsInstanceProfileNumaCountArray and GetIsInstanceProfileNumaCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileNumaCountArrayInput` via: +// +// GetIsInstanceProfileNumaCountArray{ GetIsInstanceProfileNumaCountArgs{...} } +type GetIsInstanceProfileNumaCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileNumaCountArrayOutput() GetIsInstanceProfileNumaCountArrayOutput + ToGetIsInstanceProfileNumaCountArrayOutputWithContext(context.Context) GetIsInstanceProfileNumaCountArrayOutput +} + +type GetIsInstanceProfileNumaCountArray []GetIsInstanceProfileNumaCountInput + +func (GetIsInstanceProfileNumaCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileNumaCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileNumaCountArray) ToGetIsInstanceProfileNumaCountArrayOutput() GetIsInstanceProfileNumaCountArrayOutput { + return i.ToGetIsInstanceProfileNumaCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileNumaCountArray) ToGetIsInstanceProfileNumaCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileNumaCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileNumaCountArrayOutput) +} + +type GetIsInstanceProfileNumaCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileNumaCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileNumaCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileNumaCountOutput) ToGetIsInstanceProfileNumaCountOutput() GetIsInstanceProfileNumaCountOutput { + return o +} + +func (o GetIsInstanceProfileNumaCountOutput) ToGetIsInstanceProfileNumaCountOutputWithContext(ctx context.Context) GetIsInstanceProfileNumaCountOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfileNumaCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileNumaCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileNumaCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileNumaCount) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsInstanceProfileNumaCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileNumaCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileNumaCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileNumaCountArrayOutput) ToGetIsInstanceProfileNumaCountArrayOutput() GetIsInstanceProfileNumaCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileNumaCountArrayOutput) ToGetIsInstanceProfileNumaCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileNumaCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileNumaCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileNumaCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileNumaCount { + return vs[0].([]GetIsInstanceProfileNumaCount)[vs[1].(int)] + }).(GetIsInstanceProfileNumaCountOutput) +} + +type GetIsInstanceProfilePortSpeed struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` +} + +// GetIsInstanceProfilePortSpeedInput is an input type that accepts GetIsInstanceProfilePortSpeedArgs and GetIsInstanceProfilePortSpeedOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilePortSpeedInput` via: +// +// GetIsInstanceProfilePortSpeedArgs{...} +type GetIsInstanceProfilePortSpeedInput interface { + pulumi.Input + + ToGetIsInstanceProfilePortSpeedOutput() GetIsInstanceProfilePortSpeedOutput + ToGetIsInstanceProfilePortSpeedOutputWithContext(context.Context) GetIsInstanceProfilePortSpeedOutput +} + +type GetIsInstanceProfilePortSpeedArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsInstanceProfilePortSpeedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilePortSpeed)(nil)).Elem() +} + +func (i GetIsInstanceProfilePortSpeedArgs) ToGetIsInstanceProfilePortSpeedOutput() GetIsInstanceProfilePortSpeedOutput { + return i.ToGetIsInstanceProfilePortSpeedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilePortSpeedArgs) ToGetIsInstanceProfilePortSpeedOutputWithContext(ctx context.Context) GetIsInstanceProfilePortSpeedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilePortSpeedOutput) +} + +// GetIsInstanceProfilePortSpeedArrayInput is an input type that accepts GetIsInstanceProfilePortSpeedArray and GetIsInstanceProfilePortSpeedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilePortSpeedArrayInput` via: +// +// GetIsInstanceProfilePortSpeedArray{ GetIsInstanceProfilePortSpeedArgs{...} } +type GetIsInstanceProfilePortSpeedArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilePortSpeedArrayOutput() GetIsInstanceProfilePortSpeedArrayOutput + ToGetIsInstanceProfilePortSpeedArrayOutputWithContext(context.Context) GetIsInstanceProfilePortSpeedArrayOutput +} + +type GetIsInstanceProfilePortSpeedArray []GetIsInstanceProfilePortSpeedInput + +func (GetIsInstanceProfilePortSpeedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilePortSpeed)(nil)).Elem() +} + +func (i GetIsInstanceProfilePortSpeedArray) ToGetIsInstanceProfilePortSpeedArrayOutput() GetIsInstanceProfilePortSpeedArrayOutput { + return i.ToGetIsInstanceProfilePortSpeedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilePortSpeedArray) ToGetIsInstanceProfilePortSpeedArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilePortSpeedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilePortSpeedArrayOutput) +} + +type GetIsInstanceProfilePortSpeedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilePortSpeedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilePortSpeed)(nil)).Elem() +} + +func (o GetIsInstanceProfilePortSpeedOutput) ToGetIsInstanceProfilePortSpeedOutput() GetIsInstanceProfilePortSpeedOutput { + return o +} + +func (o GetIsInstanceProfilePortSpeedOutput) ToGetIsInstanceProfilePortSpeedOutputWithContext(ctx context.Context) GetIsInstanceProfilePortSpeedOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfilePortSpeedOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilePortSpeed) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilePortSpeedOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilePortSpeed) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsInstanceProfilePortSpeedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilePortSpeedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilePortSpeed)(nil)).Elem() +} + +func (o GetIsInstanceProfilePortSpeedArrayOutput) ToGetIsInstanceProfilePortSpeedArrayOutput() GetIsInstanceProfilePortSpeedArrayOutput { + return o +} + +func (o GetIsInstanceProfilePortSpeedArrayOutput) ToGetIsInstanceProfilePortSpeedArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilePortSpeedArrayOutput { + return o +} + +func (o GetIsInstanceProfilePortSpeedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilePortSpeedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilePortSpeed { + return vs[0].([]GetIsInstanceProfilePortSpeed)[vs[1].(int)] + }).(GetIsInstanceProfilePortSpeedOutput) +} + +type GetIsInstanceProfileReservationTerm struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The supported committed use terms for a reservation using this profile + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfileReservationTermInput is an input type that accepts GetIsInstanceProfileReservationTermArgs and GetIsInstanceProfileReservationTermOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileReservationTermInput` via: +// +// GetIsInstanceProfileReservationTermArgs{...} +type GetIsInstanceProfileReservationTermInput interface { + pulumi.Input + + ToGetIsInstanceProfileReservationTermOutput() GetIsInstanceProfileReservationTermOutput + ToGetIsInstanceProfileReservationTermOutputWithContext(context.Context) GetIsInstanceProfileReservationTermOutput +} + +type GetIsInstanceProfileReservationTermArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported committed use terms for a reservation using this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileReservationTermArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileReservationTerm)(nil)).Elem() +} + +func (i GetIsInstanceProfileReservationTermArgs) ToGetIsInstanceProfileReservationTermOutput() GetIsInstanceProfileReservationTermOutput { + return i.ToGetIsInstanceProfileReservationTermOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileReservationTermArgs) ToGetIsInstanceProfileReservationTermOutputWithContext(ctx context.Context) GetIsInstanceProfileReservationTermOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileReservationTermOutput) +} + +// GetIsInstanceProfileReservationTermArrayInput is an input type that accepts GetIsInstanceProfileReservationTermArray and GetIsInstanceProfileReservationTermArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileReservationTermArrayInput` via: +// +// GetIsInstanceProfileReservationTermArray{ GetIsInstanceProfileReservationTermArgs{...} } +type GetIsInstanceProfileReservationTermArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileReservationTermArrayOutput() GetIsInstanceProfileReservationTermArrayOutput + ToGetIsInstanceProfileReservationTermArrayOutputWithContext(context.Context) GetIsInstanceProfileReservationTermArrayOutput +} + +type GetIsInstanceProfileReservationTermArray []GetIsInstanceProfileReservationTermInput + +func (GetIsInstanceProfileReservationTermArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileReservationTerm)(nil)).Elem() +} + +func (i GetIsInstanceProfileReservationTermArray) ToGetIsInstanceProfileReservationTermArrayOutput() GetIsInstanceProfileReservationTermArrayOutput { + return i.ToGetIsInstanceProfileReservationTermArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileReservationTermArray) ToGetIsInstanceProfileReservationTermArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileReservationTermArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileReservationTermArrayOutput) +} + +type GetIsInstanceProfileReservationTermOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileReservationTermOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileReservationTerm)(nil)).Elem() +} + +func (o GetIsInstanceProfileReservationTermOutput) ToGetIsInstanceProfileReservationTermOutput() GetIsInstanceProfileReservationTermOutput { + return o +} + +func (o GetIsInstanceProfileReservationTermOutput) ToGetIsInstanceProfileReservationTermOutputWithContext(ctx context.Context) GetIsInstanceProfileReservationTermOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfileReservationTermOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileReservationTerm) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported committed use terms for a reservation using this profile +func (o GetIsInstanceProfileReservationTermOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileReservationTerm) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfileReservationTermArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileReservationTermArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileReservationTerm)(nil)).Elem() +} + +func (o GetIsInstanceProfileReservationTermArrayOutput) ToGetIsInstanceProfileReservationTermArrayOutput() GetIsInstanceProfileReservationTermArrayOutput { + return o +} + +func (o GetIsInstanceProfileReservationTermArrayOutput) ToGetIsInstanceProfileReservationTermArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileReservationTermArrayOutput { + return o +} + +func (o GetIsInstanceProfileReservationTermArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileReservationTermOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileReservationTerm { + return vs[0].([]GetIsInstanceProfileReservationTerm)[vs[1].(int)] + }).(GetIsInstanceProfileReservationTermOutput) +} + +type GetIsInstanceProfileSecureBootMode struct { + // The default secure boot mode for this profile. + Default bool `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The supported `enableSecureBoot` values for an instance using this profile. + Values []bool `pulumi:"values"` +} + +// GetIsInstanceProfileSecureBootModeInput is an input type that accepts GetIsInstanceProfileSecureBootModeArgs and GetIsInstanceProfileSecureBootModeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileSecureBootModeInput` via: +// +// GetIsInstanceProfileSecureBootModeArgs{...} +type GetIsInstanceProfileSecureBootModeInput interface { + pulumi.Input + + ToGetIsInstanceProfileSecureBootModeOutput() GetIsInstanceProfileSecureBootModeOutput + ToGetIsInstanceProfileSecureBootModeOutputWithContext(context.Context) GetIsInstanceProfileSecureBootModeOutput +} + +type GetIsInstanceProfileSecureBootModeArgs struct { + // The default secure boot mode for this profile. + Default pulumi.BoolInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported `enableSecureBoot` values for an instance using this profile. + Values pulumi.BoolArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileSecureBootModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileSecureBootMode)(nil)).Elem() +} + +func (i GetIsInstanceProfileSecureBootModeArgs) ToGetIsInstanceProfileSecureBootModeOutput() GetIsInstanceProfileSecureBootModeOutput { + return i.ToGetIsInstanceProfileSecureBootModeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileSecureBootModeArgs) ToGetIsInstanceProfileSecureBootModeOutputWithContext(ctx context.Context) GetIsInstanceProfileSecureBootModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileSecureBootModeOutput) +} + +// GetIsInstanceProfileSecureBootModeArrayInput is an input type that accepts GetIsInstanceProfileSecureBootModeArray and GetIsInstanceProfileSecureBootModeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileSecureBootModeArrayInput` via: +// +// GetIsInstanceProfileSecureBootModeArray{ GetIsInstanceProfileSecureBootModeArgs{...} } +type GetIsInstanceProfileSecureBootModeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileSecureBootModeArrayOutput() GetIsInstanceProfileSecureBootModeArrayOutput + ToGetIsInstanceProfileSecureBootModeArrayOutputWithContext(context.Context) GetIsInstanceProfileSecureBootModeArrayOutput +} + +type GetIsInstanceProfileSecureBootModeArray []GetIsInstanceProfileSecureBootModeInput + +func (GetIsInstanceProfileSecureBootModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileSecureBootMode)(nil)).Elem() +} + +func (i GetIsInstanceProfileSecureBootModeArray) ToGetIsInstanceProfileSecureBootModeArrayOutput() GetIsInstanceProfileSecureBootModeArrayOutput { + return i.ToGetIsInstanceProfileSecureBootModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileSecureBootModeArray) ToGetIsInstanceProfileSecureBootModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileSecureBootModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileSecureBootModeArrayOutput) +} + +type GetIsInstanceProfileSecureBootModeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileSecureBootModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileSecureBootMode)(nil)).Elem() +} + +func (o GetIsInstanceProfileSecureBootModeOutput) ToGetIsInstanceProfileSecureBootModeOutput() GetIsInstanceProfileSecureBootModeOutput { + return o +} + +func (o GetIsInstanceProfileSecureBootModeOutput) ToGetIsInstanceProfileSecureBootModeOutputWithContext(ctx context.Context) GetIsInstanceProfileSecureBootModeOutput { + return o +} + +// The default secure boot mode for this profile. +func (o GetIsInstanceProfileSecureBootModeOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceProfileSecureBootMode) bool { return v.Default }).(pulumi.BoolOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileSecureBootModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileSecureBootMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported `enableSecureBoot` values for an instance using this profile. +func (o GetIsInstanceProfileSecureBootModeOutput) Values() pulumi.BoolArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileSecureBootMode) []bool { return v.Values }).(pulumi.BoolArrayOutput) +} + +type GetIsInstanceProfileSecureBootModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileSecureBootModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileSecureBootMode)(nil)).Elem() +} + +func (o GetIsInstanceProfileSecureBootModeArrayOutput) ToGetIsInstanceProfileSecureBootModeArrayOutput() GetIsInstanceProfileSecureBootModeArrayOutput { + return o +} + +func (o GetIsInstanceProfileSecureBootModeArrayOutput) ToGetIsInstanceProfileSecureBootModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileSecureBootModeArrayOutput { + return o +} + +func (o GetIsInstanceProfileSecureBootModeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileSecureBootModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileSecureBootMode { + return vs[0].([]GetIsInstanceProfileSecureBootMode)[vs[1].(int)] + }).(GetIsInstanceProfileSecureBootModeOutput) +} + +type GetIsInstanceProfileSupportedClusterNetworkProfile struct { + // The URL for this cluster network profile. + Href string `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceProfileSupportedClusterNetworkProfileInput is an input type that accepts GetIsInstanceProfileSupportedClusterNetworkProfileArgs and GetIsInstanceProfileSupportedClusterNetworkProfileOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileSupportedClusterNetworkProfileInput` via: +// +// GetIsInstanceProfileSupportedClusterNetworkProfileArgs{...} +type GetIsInstanceProfileSupportedClusterNetworkProfileInput interface { + pulumi.Input + + ToGetIsInstanceProfileSupportedClusterNetworkProfileOutput() GetIsInstanceProfileSupportedClusterNetworkProfileOutput + ToGetIsInstanceProfileSupportedClusterNetworkProfileOutputWithContext(context.Context) GetIsInstanceProfileSupportedClusterNetworkProfileOutput +} + +type GetIsInstanceProfileSupportedClusterNetworkProfileArgs struct { + // The URL for this cluster network profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceProfileSupportedClusterNetworkProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileSupportedClusterNetworkProfile)(nil)).Elem() +} + +func (i GetIsInstanceProfileSupportedClusterNetworkProfileArgs) ToGetIsInstanceProfileSupportedClusterNetworkProfileOutput() GetIsInstanceProfileSupportedClusterNetworkProfileOutput { + return i.ToGetIsInstanceProfileSupportedClusterNetworkProfileOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileSupportedClusterNetworkProfileArgs) ToGetIsInstanceProfileSupportedClusterNetworkProfileOutputWithContext(ctx context.Context) GetIsInstanceProfileSupportedClusterNetworkProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileSupportedClusterNetworkProfileOutput) +} + +// GetIsInstanceProfileSupportedClusterNetworkProfileArrayInput is an input type that accepts GetIsInstanceProfileSupportedClusterNetworkProfileArray and GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileSupportedClusterNetworkProfileArrayInput` via: +// +// GetIsInstanceProfileSupportedClusterNetworkProfileArray{ GetIsInstanceProfileSupportedClusterNetworkProfileArgs{...} } +type GetIsInstanceProfileSupportedClusterNetworkProfileArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput() GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput + ToGetIsInstanceProfileSupportedClusterNetworkProfileArrayOutputWithContext(context.Context) GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput +} + +type GetIsInstanceProfileSupportedClusterNetworkProfileArray []GetIsInstanceProfileSupportedClusterNetworkProfileInput + +func (GetIsInstanceProfileSupportedClusterNetworkProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileSupportedClusterNetworkProfile)(nil)).Elem() +} + +func (i GetIsInstanceProfileSupportedClusterNetworkProfileArray) ToGetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput() GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput { + return i.ToGetIsInstanceProfileSupportedClusterNetworkProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileSupportedClusterNetworkProfileArray) ToGetIsInstanceProfileSupportedClusterNetworkProfileArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput) +} + +type GetIsInstanceProfileSupportedClusterNetworkProfileOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileSupportedClusterNetworkProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileSupportedClusterNetworkProfile)(nil)).Elem() +} + +func (o GetIsInstanceProfileSupportedClusterNetworkProfileOutput) ToGetIsInstanceProfileSupportedClusterNetworkProfileOutput() GetIsInstanceProfileSupportedClusterNetworkProfileOutput { + return o +} + +func (o GetIsInstanceProfileSupportedClusterNetworkProfileOutput) ToGetIsInstanceProfileSupportedClusterNetworkProfileOutputWithContext(ctx context.Context) GetIsInstanceProfileSupportedClusterNetworkProfileOutput { + return o +} + +// The URL for this cluster network profile. +func (o GetIsInstanceProfileSupportedClusterNetworkProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileSupportedClusterNetworkProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this cluster network profile. +func (o GetIsInstanceProfileSupportedClusterNetworkProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileSupportedClusterNetworkProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceProfileSupportedClusterNetworkProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileSupportedClusterNetworkProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileSupportedClusterNetworkProfile)(nil)).Elem() +} + +func (o GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput) ToGetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput() GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput { + return o +} + +func (o GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput) ToGetIsInstanceProfileSupportedClusterNetworkProfileArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput { + return o +} + +func (o GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileSupportedClusterNetworkProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileSupportedClusterNetworkProfile { + return vs[0].([]GetIsInstanceProfileSupportedClusterNetworkProfile)[vs[1].(int)] + }).(GetIsInstanceProfileSupportedClusterNetworkProfileOutput) +} + +type GetIsInstanceProfileTotalVolumeBandwidth struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileTotalVolumeBandwidthInput is an input type that accepts GetIsInstanceProfileTotalVolumeBandwidthArgs and GetIsInstanceProfileTotalVolumeBandwidthOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileTotalVolumeBandwidthInput` via: +// +// GetIsInstanceProfileTotalVolumeBandwidthArgs{...} +type GetIsInstanceProfileTotalVolumeBandwidthInput interface { + pulumi.Input + + ToGetIsInstanceProfileTotalVolumeBandwidthOutput() GetIsInstanceProfileTotalVolumeBandwidthOutput + ToGetIsInstanceProfileTotalVolumeBandwidthOutputWithContext(context.Context) GetIsInstanceProfileTotalVolumeBandwidthOutput +} + +type GetIsInstanceProfileTotalVolumeBandwidthArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileTotalVolumeBandwidthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileTotalVolumeBandwidth)(nil)).Elem() +} + +func (i GetIsInstanceProfileTotalVolumeBandwidthArgs) ToGetIsInstanceProfileTotalVolumeBandwidthOutput() GetIsInstanceProfileTotalVolumeBandwidthOutput { + return i.ToGetIsInstanceProfileTotalVolumeBandwidthOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileTotalVolumeBandwidthArgs) ToGetIsInstanceProfileTotalVolumeBandwidthOutputWithContext(ctx context.Context) GetIsInstanceProfileTotalVolumeBandwidthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileTotalVolumeBandwidthOutput) +} + +// GetIsInstanceProfileTotalVolumeBandwidthArrayInput is an input type that accepts GetIsInstanceProfileTotalVolumeBandwidthArray and GetIsInstanceProfileTotalVolumeBandwidthArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileTotalVolumeBandwidthArrayInput` via: +// +// GetIsInstanceProfileTotalVolumeBandwidthArray{ GetIsInstanceProfileTotalVolumeBandwidthArgs{...} } +type GetIsInstanceProfileTotalVolumeBandwidthArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileTotalVolumeBandwidthArrayOutput() GetIsInstanceProfileTotalVolumeBandwidthArrayOutput + ToGetIsInstanceProfileTotalVolumeBandwidthArrayOutputWithContext(context.Context) GetIsInstanceProfileTotalVolumeBandwidthArrayOutput +} + +type GetIsInstanceProfileTotalVolumeBandwidthArray []GetIsInstanceProfileTotalVolumeBandwidthInput + +func (GetIsInstanceProfileTotalVolumeBandwidthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileTotalVolumeBandwidth)(nil)).Elem() +} + +func (i GetIsInstanceProfileTotalVolumeBandwidthArray) ToGetIsInstanceProfileTotalVolumeBandwidthArrayOutput() GetIsInstanceProfileTotalVolumeBandwidthArrayOutput { + return i.ToGetIsInstanceProfileTotalVolumeBandwidthArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileTotalVolumeBandwidthArray) ToGetIsInstanceProfileTotalVolumeBandwidthArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileTotalVolumeBandwidthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileTotalVolumeBandwidthArrayOutput) +} + +type GetIsInstanceProfileTotalVolumeBandwidthOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileTotalVolumeBandwidthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileTotalVolumeBandwidth)(nil)).Elem() +} + +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) ToGetIsInstanceProfileTotalVolumeBandwidthOutput() GetIsInstanceProfileTotalVolumeBandwidthOutput { + return o +} + +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) ToGetIsInstanceProfileTotalVolumeBandwidthOutputWithContext(ctx context.Context) GetIsInstanceProfileTotalVolumeBandwidthOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileTotalVolumeBandwidth) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileTotalVolumeBandwidth) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileTotalVolumeBandwidth) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileTotalVolumeBandwidth) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileTotalVolumeBandwidth) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileTotalVolumeBandwidth) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileTotalVolumeBandwidthOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileTotalVolumeBandwidth) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileTotalVolumeBandwidthArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileTotalVolumeBandwidthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileTotalVolumeBandwidth)(nil)).Elem() +} + +func (o GetIsInstanceProfileTotalVolumeBandwidthArrayOutput) ToGetIsInstanceProfileTotalVolumeBandwidthArrayOutput() GetIsInstanceProfileTotalVolumeBandwidthArrayOutput { + return o +} + +func (o GetIsInstanceProfileTotalVolumeBandwidthArrayOutput) ToGetIsInstanceProfileTotalVolumeBandwidthArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileTotalVolumeBandwidthArrayOutput { + return o +} + +func (o GetIsInstanceProfileTotalVolumeBandwidthArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileTotalVolumeBandwidthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileTotalVolumeBandwidth { + return vs[0].([]GetIsInstanceProfileTotalVolumeBandwidth)[vs[1].(int)] + }).(GetIsInstanceProfileTotalVolumeBandwidthOutput) +} + +type GetIsInstanceProfileVcpuArchitecture struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The VCPU architecture for an instance with this profile. + Value string `pulumi:"value"` +} + +// GetIsInstanceProfileVcpuArchitectureInput is an input type that accepts GetIsInstanceProfileVcpuArchitectureArgs and GetIsInstanceProfileVcpuArchitectureOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileVcpuArchitectureInput` via: +// +// GetIsInstanceProfileVcpuArchitectureArgs{...} +type GetIsInstanceProfileVcpuArchitectureInput interface { + pulumi.Input + + ToGetIsInstanceProfileVcpuArchitectureOutput() GetIsInstanceProfileVcpuArchitectureOutput + ToGetIsInstanceProfileVcpuArchitectureOutputWithContext(context.Context) GetIsInstanceProfileVcpuArchitectureOutput +} + +type GetIsInstanceProfileVcpuArchitectureArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The VCPU architecture for an instance with this profile. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsInstanceProfileVcpuArchitectureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileVcpuArchitecture)(nil)).Elem() +} + +func (i GetIsInstanceProfileVcpuArchitectureArgs) ToGetIsInstanceProfileVcpuArchitectureOutput() GetIsInstanceProfileVcpuArchitectureOutput { + return i.ToGetIsInstanceProfileVcpuArchitectureOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileVcpuArchitectureArgs) ToGetIsInstanceProfileVcpuArchitectureOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuArchitectureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileVcpuArchitectureOutput) +} + +// GetIsInstanceProfileVcpuArchitectureArrayInput is an input type that accepts GetIsInstanceProfileVcpuArchitectureArray and GetIsInstanceProfileVcpuArchitectureArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileVcpuArchitectureArrayInput` via: +// +// GetIsInstanceProfileVcpuArchitectureArray{ GetIsInstanceProfileVcpuArchitectureArgs{...} } +type GetIsInstanceProfileVcpuArchitectureArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileVcpuArchitectureArrayOutput() GetIsInstanceProfileVcpuArchitectureArrayOutput + ToGetIsInstanceProfileVcpuArchitectureArrayOutputWithContext(context.Context) GetIsInstanceProfileVcpuArchitectureArrayOutput +} + +type GetIsInstanceProfileVcpuArchitectureArray []GetIsInstanceProfileVcpuArchitectureInput + +func (GetIsInstanceProfileVcpuArchitectureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileVcpuArchitecture)(nil)).Elem() +} + +func (i GetIsInstanceProfileVcpuArchitectureArray) ToGetIsInstanceProfileVcpuArchitectureArrayOutput() GetIsInstanceProfileVcpuArchitectureArrayOutput { + return i.ToGetIsInstanceProfileVcpuArchitectureArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileVcpuArchitectureArray) ToGetIsInstanceProfileVcpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuArchitectureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileVcpuArchitectureArrayOutput) +} + +type GetIsInstanceProfileVcpuArchitectureOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileVcpuArchitectureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileVcpuArchitecture)(nil)).Elem() +} + +func (o GetIsInstanceProfileVcpuArchitectureOutput) ToGetIsInstanceProfileVcpuArchitectureOutput() GetIsInstanceProfileVcpuArchitectureOutput { + return o +} + +func (o GetIsInstanceProfileVcpuArchitectureOutput) ToGetIsInstanceProfileVcpuArchitectureOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuArchitectureOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfileVcpuArchitectureOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuArchitecture) string { return v.Type }).(pulumi.StringOutput) +} + +// The VCPU architecture for an instance with this profile. +func (o GetIsInstanceProfileVcpuArchitectureOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuArchitecture) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsInstanceProfileVcpuArchitectureArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileVcpuArchitectureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileVcpuArchitecture)(nil)).Elem() +} + +func (o GetIsInstanceProfileVcpuArchitectureArrayOutput) ToGetIsInstanceProfileVcpuArchitectureArrayOutput() GetIsInstanceProfileVcpuArchitectureArrayOutput { + return o +} + +func (o GetIsInstanceProfileVcpuArchitectureArrayOutput) ToGetIsInstanceProfileVcpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuArchitectureArrayOutput { + return o +} + +func (o GetIsInstanceProfileVcpuArchitectureArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileVcpuArchitectureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileVcpuArchitecture { + return vs[0].([]GetIsInstanceProfileVcpuArchitecture)[vs[1].(int)] + }).(GetIsInstanceProfileVcpuArchitectureOutput) +} + +type GetIsInstanceProfileVcpuCount struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfileVcpuCountInput is an input type that accepts GetIsInstanceProfileVcpuCountArgs and GetIsInstanceProfileVcpuCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileVcpuCountInput` via: +// +// GetIsInstanceProfileVcpuCountArgs{...} +type GetIsInstanceProfileVcpuCountInput interface { + pulumi.Input + + ToGetIsInstanceProfileVcpuCountOutput() GetIsInstanceProfileVcpuCountOutput + ToGetIsInstanceProfileVcpuCountOutputWithContext(context.Context) GetIsInstanceProfileVcpuCountOutput +} + +type GetIsInstanceProfileVcpuCountArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileVcpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileVcpuCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileVcpuCountArgs) ToGetIsInstanceProfileVcpuCountOutput() GetIsInstanceProfileVcpuCountOutput { + return i.ToGetIsInstanceProfileVcpuCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileVcpuCountArgs) ToGetIsInstanceProfileVcpuCountOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileVcpuCountOutput) +} + +// GetIsInstanceProfileVcpuCountArrayInput is an input type that accepts GetIsInstanceProfileVcpuCountArray and GetIsInstanceProfileVcpuCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileVcpuCountArrayInput` via: +// +// GetIsInstanceProfileVcpuCountArray{ GetIsInstanceProfileVcpuCountArgs{...} } +type GetIsInstanceProfileVcpuCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileVcpuCountArrayOutput() GetIsInstanceProfileVcpuCountArrayOutput + ToGetIsInstanceProfileVcpuCountArrayOutputWithContext(context.Context) GetIsInstanceProfileVcpuCountArrayOutput +} + +type GetIsInstanceProfileVcpuCountArray []GetIsInstanceProfileVcpuCountInput + +func (GetIsInstanceProfileVcpuCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileVcpuCount)(nil)).Elem() +} + +func (i GetIsInstanceProfileVcpuCountArray) ToGetIsInstanceProfileVcpuCountArrayOutput() GetIsInstanceProfileVcpuCountArrayOutput { + return i.ToGetIsInstanceProfileVcpuCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileVcpuCountArray) ToGetIsInstanceProfileVcpuCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileVcpuCountArrayOutput) +} + +type GetIsInstanceProfileVcpuCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileVcpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileVcpuCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileVcpuCountOutput) ToGetIsInstanceProfileVcpuCountOutput() GetIsInstanceProfileVcpuCountOutput { + return o +} + +func (o GetIsInstanceProfileVcpuCountOutput) ToGetIsInstanceProfileVcpuCountOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuCountOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfileVcpuCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfileVcpuCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfileVcpuCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfileVcpuCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileVcpuCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfileVcpuCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuCount) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfileVcpuCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfileVcpuCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileVcpuCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileVcpuCount)(nil)).Elem() +} + +func (o GetIsInstanceProfileVcpuCountArrayOutput) ToGetIsInstanceProfileVcpuCountArrayOutput() GetIsInstanceProfileVcpuCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileVcpuCountArrayOutput) ToGetIsInstanceProfileVcpuCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuCountArrayOutput { + return o +} + +func (o GetIsInstanceProfileVcpuCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileVcpuCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileVcpuCount { + return vs[0].([]GetIsInstanceProfileVcpuCount)[vs[1].(int)] + }).(GetIsInstanceProfileVcpuCountOutput) +} + +type GetIsInstanceProfileVcpuManufacturer struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The VCPU manufacturer for an instance with this profile. + Value string `pulumi:"value"` +} + +// GetIsInstanceProfileVcpuManufacturerInput is an input type that accepts GetIsInstanceProfileVcpuManufacturerArgs and GetIsInstanceProfileVcpuManufacturerOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileVcpuManufacturerInput` via: +// +// GetIsInstanceProfileVcpuManufacturerArgs{...} +type GetIsInstanceProfileVcpuManufacturerInput interface { + pulumi.Input + + ToGetIsInstanceProfileVcpuManufacturerOutput() GetIsInstanceProfileVcpuManufacturerOutput + ToGetIsInstanceProfileVcpuManufacturerOutputWithContext(context.Context) GetIsInstanceProfileVcpuManufacturerOutput +} + +type GetIsInstanceProfileVcpuManufacturerArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The VCPU manufacturer for an instance with this profile. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsInstanceProfileVcpuManufacturerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileVcpuManufacturer)(nil)).Elem() +} + +func (i GetIsInstanceProfileVcpuManufacturerArgs) ToGetIsInstanceProfileVcpuManufacturerOutput() GetIsInstanceProfileVcpuManufacturerOutput { + return i.ToGetIsInstanceProfileVcpuManufacturerOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileVcpuManufacturerArgs) ToGetIsInstanceProfileVcpuManufacturerOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuManufacturerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileVcpuManufacturerOutput) +} + +// GetIsInstanceProfileVcpuManufacturerArrayInput is an input type that accepts GetIsInstanceProfileVcpuManufacturerArray and GetIsInstanceProfileVcpuManufacturerArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileVcpuManufacturerArrayInput` via: +// +// GetIsInstanceProfileVcpuManufacturerArray{ GetIsInstanceProfileVcpuManufacturerArgs{...} } +type GetIsInstanceProfileVcpuManufacturerArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileVcpuManufacturerArrayOutput() GetIsInstanceProfileVcpuManufacturerArrayOutput + ToGetIsInstanceProfileVcpuManufacturerArrayOutputWithContext(context.Context) GetIsInstanceProfileVcpuManufacturerArrayOutput +} + +type GetIsInstanceProfileVcpuManufacturerArray []GetIsInstanceProfileVcpuManufacturerInput + +func (GetIsInstanceProfileVcpuManufacturerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileVcpuManufacturer)(nil)).Elem() +} + +func (i GetIsInstanceProfileVcpuManufacturerArray) ToGetIsInstanceProfileVcpuManufacturerArrayOutput() GetIsInstanceProfileVcpuManufacturerArrayOutput { + return i.ToGetIsInstanceProfileVcpuManufacturerArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileVcpuManufacturerArray) ToGetIsInstanceProfileVcpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuManufacturerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileVcpuManufacturerArrayOutput) +} + +type GetIsInstanceProfileVcpuManufacturerOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileVcpuManufacturerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileVcpuManufacturer)(nil)).Elem() +} + +func (o GetIsInstanceProfileVcpuManufacturerOutput) ToGetIsInstanceProfileVcpuManufacturerOutput() GetIsInstanceProfileVcpuManufacturerOutput { + return o +} + +func (o GetIsInstanceProfileVcpuManufacturerOutput) ToGetIsInstanceProfileVcpuManufacturerOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuManufacturerOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfileVcpuManufacturerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuManufacturer) string { return v.Type }).(pulumi.StringOutput) +} + +// The VCPU manufacturer for an instance with this profile. +func (o GetIsInstanceProfileVcpuManufacturerOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileVcpuManufacturer) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsInstanceProfileVcpuManufacturerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileVcpuManufacturerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileVcpuManufacturer)(nil)).Elem() +} + +func (o GetIsInstanceProfileVcpuManufacturerArrayOutput) ToGetIsInstanceProfileVcpuManufacturerArrayOutput() GetIsInstanceProfileVcpuManufacturerArrayOutput { + return o +} + +func (o GetIsInstanceProfileVcpuManufacturerArrayOutput) ToGetIsInstanceProfileVcpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileVcpuManufacturerArrayOutput { + return o +} + +func (o GetIsInstanceProfileVcpuManufacturerArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileVcpuManufacturerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileVcpuManufacturer { + return vs[0].([]GetIsInstanceProfileVcpuManufacturer)[vs[1].(int)] + }).(GetIsInstanceProfileVcpuManufacturerOutput) +} + +type GetIsInstanceProfileVolumeBandwidthQosMode struct { + // The default volume bandwidth QoS mode for this profile. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The permitted volume bandwidth QoS modes for an instance using this profile. + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfileVolumeBandwidthQosModeInput is an input type that accepts GetIsInstanceProfileVolumeBandwidthQosModeArgs and GetIsInstanceProfileVolumeBandwidthQosModeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileVolumeBandwidthQosModeInput` via: +// +// GetIsInstanceProfileVolumeBandwidthQosModeArgs{...} +type GetIsInstanceProfileVolumeBandwidthQosModeInput interface { + pulumi.Input + + ToGetIsInstanceProfileVolumeBandwidthQosModeOutput() GetIsInstanceProfileVolumeBandwidthQosModeOutput + ToGetIsInstanceProfileVolumeBandwidthQosModeOutputWithContext(context.Context) GetIsInstanceProfileVolumeBandwidthQosModeOutput +} + +type GetIsInstanceProfileVolumeBandwidthQosModeArgs struct { + // The default volume bandwidth QoS mode for this profile. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The permitted volume bandwidth QoS modes for an instance using this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfileVolumeBandwidthQosModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileVolumeBandwidthQosMode)(nil)).Elem() +} + +func (i GetIsInstanceProfileVolumeBandwidthQosModeArgs) ToGetIsInstanceProfileVolumeBandwidthQosModeOutput() GetIsInstanceProfileVolumeBandwidthQosModeOutput { + return i.ToGetIsInstanceProfileVolumeBandwidthQosModeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileVolumeBandwidthQosModeArgs) ToGetIsInstanceProfileVolumeBandwidthQosModeOutputWithContext(ctx context.Context) GetIsInstanceProfileVolumeBandwidthQosModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileVolumeBandwidthQosModeOutput) +} + +// GetIsInstanceProfileVolumeBandwidthQosModeArrayInput is an input type that accepts GetIsInstanceProfileVolumeBandwidthQosModeArray and GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfileVolumeBandwidthQosModeArrayInput` via: +// +// GetIsInstanceProfileVolumeBandwidthQosModeArray{ GetIsInstanceProfileVolumeBandwidthQosModeArgs{...} } +type GetIsInstanceProfileVolumeBandwidthQosModeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfileVolumeBandwidthQosModeArrayOutput() GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput + ToGetIsInstanceProfileVolumeBandwidthQosModeArrayOutputWithContext(context.Context) GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput +} + +type GetIsInstanceProfileVolumeBandwidthQosModeArray []GetIsInstanceProfileVolumeBandwidthQosModeInput + +func (GetIsInstanceProfileVolumeBandwidthQosModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileVolumeBandwidthQosMode)(nil)).Elem() +} + +func (i GetIsInstanceProfileVolumeBandwidthQosModeArray) ToGetIsInstanceProfileVolumeBandwidthQosModeArrayOutput() GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput { + return i.ToGetIsInstanceProfileVolumeBandwidthQosModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfileVolumeBandwidthQosModeArray) ToGetIsInstanceProfileVolumeBandwidthQosModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput) +} + +type GetIsInstanceProfileVolumeBandwidthQosModeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileVolumeBandwidthQosModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfileVolumeBandwidthQosMode)(nil)).Elem() +} + +func (o GetIsInstanceProfileVolumeBandwidthQosModeOutput) ToGetIsInstanceProfileVolumeBandwidthQosModeOutput() GetIsInstanceProfileVolumeBandwidthQosModeOutput { + return o +} + +func (o GetIsInstanceProfileVolumeBandwidthQosModeOutput) ToGetIsInstanceProfileVolumeBandwidthQosModeOutputWithContext(ctx context.Context) GetIsInstanceProfileVolumeBandwidthQosModeOutput { + return o +} + +// The default volume bandwidth QoS mode for this profile. +func (o GetIsInstanceProfileVolumeBandwidthQosModeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileVolumeBandwidthQosMode) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfileVolumeBandwidthQosModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfileVolumeBandwidthQosMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The permitted volume bandwidth QoS modes for an instance using this profile. +func (o GetIsInstanceProfileVolumeBandwidthQosModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfileVolumeBandwidthQosMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfileVolumeBandwidthQosMode)(nil)).Elem() +} + +func (o GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput) ToGetIsInstanceProfileVolumeBandwidthQosModeArrayOutput() GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput { + return o +} + +func (o GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput) ToGetIsInstanceProfileVolumeBandwidthQosModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput { + return o +} + +func (o GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfileVolumeBandwidthQosModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfileVolumeBandwidthQosMode { + return vs[0].([]GetIsInstanceProfileVolumeBandwidthQosMode)[vs[1].(int)] + }).(GetIsInstanceProfileVolumeBandwidthQosModeOutput) +} + +type GetIsInstanceProfilesProfile struct { + // The default OS architecture for an instance with this profile. + Architecture string `pulumi:"architecture"` + // The type for the OS architecture. + ArchitectureType string `pulumi:"architectureType"` + // The supported OS architecture(s) for an instance with this profile. + ArchitectureValues []string `pulumi:"architectureValues"` + Bandwidths []GetIsInstanceProfilesProfileBandwidth `pulumi:"bandwidths"` + ClusterNetworkAttachmentCounts []GetIsInstanceProfilesProfileClusterNetworkAttachmentCount `pulumi:"clusterNetworkAttachmentCounts"` + ConfidentialComputeModes []GetIsInstanceProfilesProfileConfidentialComputeMode `pulumi:"confidentialComputeModes"` + // Collection of the instance profile's disks. + Disks []GetIsInstanceProfilesProfileDisk `pulumi:"disks"` + // The product family this virtual server instance profile belongs to. + Family string `pulumi:"family"` + // GPU count of this profile + GpuCounts []GetIsInstanceProfilesProfileGpuCount `pulumi:"gpuCounts"` + // GPU manufacturer of this profile + GpuManufacturers []GetIsInstanceProfilesProfileGpuManufacturer `pulumi:"gpuManufacturers"` + // GPU memory of this profile + GpuMemories []GetIsInstanceProfilesProfileGpuMemory `pulumi:"gpuMemories"` + // GPU model of this profile + GpuModels []GetIsInstanceProfilesProfileGpuModel `pulumi:"gpuModels"` + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + Memories []GetIsInstanceProfilesProfileMemory `pulumi:"memories"` + Name string `pulumi:"name"` + NetworkAttachmentCounts []GetIsInstanceProfilesProfileNetworkAttachmentCount `pulumi:"networkAttachmentCounts"` + NetworkInterfaceCounts []GetIsInstanceProfilesProfileNetworkInterfaceCount `pulumi:"networkInterfaceCounts"` + NumaCounts []GetIsInstanceProfilesProfileNumaCount `pulumi:"numaCounts"` + PortSpeeds []GetIsInstanceProfilesProfilePortSpeed `pulumi:"portSpeeds"` + // The type for this profile field + ReservationTerms []GetIsInstanceProfilesProfileReservationTerm `pulumi:"reservationTerms"` + SecureBootModes []GetIsInstanceProfilesProfileSecureBootMode `pulumi:"secureBootModes"` + // The status of the instance profile. + Status string `pulumi:"status"` + // The cluster network profiles that support this instance profile. + SupportedClusterNetworkProfiles []GetIsInstanceProfilesProfileSupportedClusterNetworkProfile `pulumi:"supportedClusterNetworkProfiles"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in this value will result in a corresponding decrease to total_network_bandwidth. + TotalVolumeBandwidths []GetIsInstanceProfilesProfileTotalVolumeBandwidth `pulumi:"totalVolumeBandwidths"` + VcpuArchitectures []GetIsInstanceProfilesProfileVcpuArchitecture `pulumi:"vcpuArchitectures"` + VcpuCounts []GetIsInstanceProfilesProfileVcpuCount `pulumi:"vcpuCounts"` + VcpuManufacturers []GetIsInstanceProfilesProfileVcpuManufacturer `pulumi:"vcpuManufacturers"` + VolumeBandwidthQosModes []GetIsInstanceProfilesProfileVolumeBandwidthQosMode `pulumi:"volumeBandwidthQosModes"` +} + +// GetIsInstanceProfilesProfileInput is an input type that accepts GetIsInstanceProfilesProfileArgs and GetIsInstanceProfilesProfileOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileInput` via: +// +// GetIsInstanceProfilesProfileArgs{...} +type GetIsInstanceProfilesProfileInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileOutput() GetIsInstanceProfilesProfileOutput + ToGetIsInstanceProfilesProfileOutputWithContext(context.Context) GetIsInstanceProfilesProfileOutput +} + +type GetIsInstanceProfilesProfileArgs struct { + // The default OS architecture for an instance with this profile. + Architecture pulumi.StringInput `pulumi:"architecture"` + // The type for the OS architecture. + ArchitectureType pulumi.StringInput `pulumi:"architectureType"` + // The supported OS architecture(s) for an instance with this profile. + ArchitectureValues pulumi.StringArrayInput `pulumi:"architectureValues"` + Bandwidths GetIsInstanceProfilesProfileBandwidthArrayInput `pulumi:"bandwidths"` + ClusterNetworkAttachmentCounts GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayInput `pulumi:"clusterNetworkAttachmentCounts"` + ConfidentialComputeModes GetIsInstanceProfilesProfileConfidentialComputeModeArrayInput `pulumi:"confidentialComputeModes"` + // Collection of the instance profile's disks. + Disks GetIsInstanceProfilesProfileDiskArrayInput `pulumi:"disks"` + // The product family this virtual server instance profile belongs to. + Family pulumi.StringInput `pulumi:"family"` + // GPU count of this profile + GpuCounts GetIsInstanceProfilesProfileGpuCountArrayInput `pulumi:"gpuCounts"` + // GPU manufacturer of this profile + GpuManufacturers GetIsInstanceProfilesProfileGpuManufacturerArrayInput `pulumi:"gpuManufacturers"` + // GPU memory of this profile + GpuMemories GetIsInstanceProfilesProfileGpuMemoryArrayInput `pulumi:"gpuMemories"` + // GPU model of this profile + GpuModels GetIsInstanceProfilesProfileGpuModelArrayInput `pulumi:"gpuModels"` + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + Memories GetIsInstanceProfilesProfileMemoryArrayInput `pulumi:"memories"` + Name pulumi.StringInput `pulumi:"name"` + NetworkAttachmentCounts GetIsInstanceProfilesProfileNetworkAttachmentCountArrayInput `pulumi:"networkAttachmentCounts"` + NetworkInterfaceCounts GetIsInstanceProfilesProfileNetworkInterfaceCountArrayInput `pulumi:"networkInterfaceCounts"` + NumaCounts GetIsInstanceProfilesProfileNumaCountArrayInput `pulumi:"numaCounts"` + PortSpeeds GetIsInstanceProfilesProfilePortSpeedArrayInput `pulumi:"portSpeeds"` + // The type for this profile field + ReservationTerms GetIsInstanceProfilesProfileReservationTermArrayInput `pulumi:"reservationTerms"` + SecureBootModes GetIsInstanceProfilesProfileSecureBootModeArrayInput `pulumi:"secureBootModes"` + // The status of the instance profile. + Status pulumi.StringInput `pulumi:"status"` + // The cluster network profiles that support this instance profile. + SupportedClusterNetworkProfiles GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayInput `pulumi:"supportedClusterNetworkProfiles"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in this value will result in a corresponding decrease to total_network_bandwidth. + TotalVolumeBandwidths GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayInput `pulumi:"totalVolumeBandwidths"` + VcpuArchitectures GetIsInstanceProfilesProfileVcpuArchitectureArrayInput `pulumi:"vcpuArchitectures"` + VcpuCounts GetIsInstanceProfilesProfileVcpuCountArrayInput `pulumi:"vcpuCounts"` + VcpuManufacturers GetIsInstanceProfilesProfileVcpuManufacturerArrayInput `pulumi:"vcpuManufacturers"` + VolumeBandwidthQosModes GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayInput `pulumi:"volumeBandwidthQosModes"` +} + +func (GetIsInstanceProfilesProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfile)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileArgs) ToGetIsInstanceProfilesProfileOutput() GetIsInstanceProfilesProfileOutput { + return i.ToGetIsInstanceProfilesProfileOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileArgs) ToGetIsInstanceProfilesProfileOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileOutput) +} + +// GetIsInstanceProfilesProfileArrayInput is an input type that accepts GetIsInstanceProfilesProfileArray and GetIsInstanceProfilesProfileArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileArrayInput` via: +// +// GetIsInstanceProfilesProfileArray{ GetIsInstanceProfilesProfileArgs{...} } +type GetIsInstanceProfilesProfileArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileArrayOutput() GetIsInstanceProfilesProfileArrayOutput + ToGetIsInstanceProfilesProfileArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileArrayOutput +} + +type GetIsInstanceProfilesProfileArray []GetIsInstanceProfilesProfileInput + +func (GetIsInstanceProfilesProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfile)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileArray) ToGetIsInstanceProfilesProfileArrayOutput() GetIsInstanceProfilesProfileArrayOutput { + return i.ToGetIsInstanceProfilesProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileArray) ToGetIsInstanceProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileArrayOutput) +} + +type GetIsInstanceProfilesProfileOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfile)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileOutput) ToGetIsInstanceProfilesProfileOutput() GetIsInstanceProfilesProfileOutput { + return o +} + +func (o GetIsInstanceProfilesProfileOutput) ToGetIsInstanceProfilesProfileOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileOutput { + return o +} + +// The default OS architecture for an instance with this profile. +func (o GetIsInstanceProfilesProfileOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) string { return v.Architecture }).(pulumi.StringOutput) +} + +// The type for the OS architecture. +func (o GetIsInstanceProfilesProfileOutput) ArchitectureType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) string { return v.ArchitectureType }).(pulumi.StringOutput) +} + +// The supported OS architecture(s) for an instance with this profile. +func (o GetIsInstanceProfilesProfileOutput) ArchitectureValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []string { return v.ArchitectureValues }).(pulumi.StringArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) Bandwidths() GetIsInstanceProfilesProfileBandwidthArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileBandwidth { return v.Bandwidths }).(GetIsInstanceProfilesProfileBandwidthArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) ClusterNetworkAttachmentCounts() GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileClusterNetworkAttachmentCount { + return v.ClusterNetworkAttachmentCounts + }).(GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) ConfidentialComputeModes() GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileConfidentialComputeMode { + return v.ConfidentialComputeModes + }).(GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput) +} + +// Collection of the instance profile's disks. +func (o GetIsInstanceProfilesProfileOutput) Disks() GetIsInstanceProfilesProfileDiskArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileDisk { return v.Disks }).(GetIsInstanceProfilesProfileDiskArrayOutput) +} + +// The product family this virtual server instance profile belongs to. +func (o GetIsInstanceProfilesProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// GPU count of this profile +func (o GetIsInstanceProfilesProfileOutput) GpuCounts() GetIsInstanceProfilesProfileGpuCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileGpuCount { return v.GpuCounts }).(GetIsInstanceProfilesProfileGpuCountArrayOutput) +} + +// GPU manufacturer of this profile +func (o GetIsInstanceProfilesProfileOutput) GpuManufacturers() GetIsInstanceProfilesProfileGpuManufacturerArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileGpuManufacturer { + return v.GpuManufacturers + }).(GetIsInstanceProfilesProfileGpuManufacturerArrayOutput) +} + +// GPU memory of this profile +func (o GetIsInstanceProfilesProfileOutput) GpuMemories() GetIsInstanceProfilesProfileGpuMemoryArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileGpuMemory { return v.GpuMemories }).(GetIsInstanceProfilesProfileGpuMemoryArrayOutput) +} + +// GPU model of this profile +func (o GetIsInstanceProfilesProfileOutput) GpuModels() GetIsInstanceProfilesProfileGpuModelArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileGpuModel { return v.GpuModels }).(GetIsInstanceProfilesProfileGpuModelArrayOutput) +} + +// The URL for this virtual server instance profile. +func (o GetIsInstanceProfilesProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) Memories() GetIsInstanceProfilesProfileMemoryArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileMemory { return v.Memories }).(GetIsInstanceProfilesProfileMemoryArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) NetworkAttachmentCounts() GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileNetworkAttachmentCount { + return v.NetworkAttachmentCounts + }).(GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) NetworkInterfaceCounts() GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileNetworkInterfaceCount { + return v.NetworkInterfaceCounts + }).(GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) NumaCounts() GetIsInstanceProfilesProfileNumaCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileNumaCount { return v.NumaCounts }).(GetIsInstanceProfilesProfileNumaCountArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) PortSpeeds() GetIsInstanceProfilesProfilePortSpeedArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfilePortSpeed { return v.PortSpeeds }).(GetIsInstanceProfilesProfilePortSpeedArrayOutput) +} + +// The type for this profile field +func (o GetIsInstanceProfilesProfileOutput) ReservationTerms() GetIsInstanceProfilesProfileReservationTermArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileReservationTerm { + return v.ReservationTerms + }).(GetIsInstanceProfilesProfileReservationTermArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) SecureBootModes() GetIsInstanceProfilesProfileSecureBootModeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileSecureBootMode { + return v.SecureBootModes + }).(GetIsInstanceProfilesProfileSecureBootModeArrayOutput) +} + +// The status of the instance profile. +func (o GetIsInstanceProfilesProfileOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) string { return v.Status }).(pulumi.StringOutput) +} + +// The cluster network profiles that support this instance profile. +func (o GetIsInstanceProfilesProfileOutput) SupportedClusterNetworkProfiles() GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileSupportedClusterNetworkProfile { + return v.SupportedClusterNetworkProfiles + }).(GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput) +} + +// The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes. An increase in this value will result in a corresponding decrease to total_network_bandwidth. +func (o GetIsInstanceProfilesProfileOutput) TotalVolumeBandwidths() GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileTotalVolumeBandwidth { + return v.TotalVolumeBandwidths + }).(GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) VcpuArchitectures() GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileVcpuArchitecture { + return v.VcpuArchitectures + }).(GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) VcpuCounts() GetIsInstanceProfilesProfileVcpuCountArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileVcpuCount { return v.VcpuCounts }).(GetIsInstanceProfilesProfileVcpuCountArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) VcpuManufacturers() GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileVcpuManufacturer { + return v.VcpuManufacturers + }).(GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput) +} + +func (o GetIsInstanceProfilesProfileOutput) VolumeBandwidthQosModes() GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfile) []GetIsInstanceProfilesProfileVolumeBandwidthQosMode { + return v.VolumeBandwidthQosModes + }).(GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput) +} + +type GetIsInstanceProfilesProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfile)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileArrayOutput) ToGetIsInstanceProfilesProfileArrayOutput() GetIsInstanceProfilesProfileArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileArrayOutput) ToGetIsInstanceProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfile { + return vs[0].([]GetIsInstanceProfilesProfile)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileOutput) +} + +type GetIsInstanceProfilesProfileBandwidth struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileBandwidthInput is an input type that accepts GetIsInstanceProfilesProfileBandwidthArgs and GetIsInstanceProfilesProfileBandwidthOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileBandwidthInput` via: +// +// GetIsInstanceProfilesProfileBandwidthArgs{...} +type GetIsInstanceProfilesProfileBandwidthInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileBandwidthOutput() GetIsInstanceProfilesProfileBandwidthOutput + ToGetIsInstanceProfilesProfileBandwidthOutputWithContext(context.Context) GetIsInstanceProfilesProfileBandwidthOutput +} + +type GetIsInstanceProfilesProfileBandwidthArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileBandwidthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileBandwidth)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileBandwidthArgs) ToGetIsInstanceProfilesProfileBandwidthOutput() GetIsInstanceProfilesProfileBandwidthOutput { + return i.ToGetIsInstanceProfilesProfileBandwidthOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileBandwidthArgs) ToGetIsInstanceProfilesProfileBandwidthOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileBandwidthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileBandwidthOutput) +} + +// GetIsInstanceProfilesProfileBandwidthArrayInput is an input type that accepts GetIsInstanceProfilesProfileBandwidthArray and GetIsInstanceProfilesProfileBandwidthArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileBandwidthArrayInput` via: +// +// GetIsInstanceProfilesProfileBandwidthArray{ GetIsInstanceProfilesProfileBandwidthArgs{...} } +type GetIsInstanceProfilesProfileBandwidthArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileBandwidthArrayOutput() GetIsInstanceProfilesProfileBandwidthArrayOutput + ToGetIsInstanceProfilesProfileBandwidthArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileBandwidthArrayOutput +} + +type GetIsInstanceProfilesProfileBandwidthArray []GetIsInstanceProfilesProfileBandwidthInput + +func (GetIsInstanceProfilesProfileBandwidthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileBandwidth)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileBandwidthArray) ToGetIsInstanceProfilesProfileBandwidthArrayOutput() GetIsInstanceProfilesProfileBandwidthArrayOutput { + return i.ToGetIsInstanceProfilesProfileBandwidthArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileBandwidthArray) ToGetIsInstanceProfilesProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileBandwidthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileBandwidthArrayOutput) +} + +type GetIsInstanceProfilesProfileBandwidthOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileBandwidthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileBandwidth)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileBandwidthOutput) ToGetIsInstanceProfilesProfileBandwidthOutput() GetIsInstanceProfilesProfileBandwidthOutput { + return o +} + +func (o GetIsInstanceProfilesProfileBandwidthOutput) ToGetIsInstanceProfilesProfileBandwidthOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileBandwidthOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfilesProfileBandwidthOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileBandwidth) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileBandwidthOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileBandwidth) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileBandwidthOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileBandwidth) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfilesProfileBandwidthOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileBandwidth) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileBandwidthOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileBandwidth) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileBandwidthOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileBandwidth) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileBandwidthOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileBandwidth) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileBandwidthArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileBandwidthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileBandwidth)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileBandwidthArrayOutput) ToGetIsInstanceProfilesProfileBandwidthArrayOutput() GetIsInstanceProfilesProfileBandwidthArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileBandwidthArrayOutput) ToGetIsInstanceProfilesProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileBandwidthArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileBandwidthArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileBandwidthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileBandwidth { + return vs[0].([]GetIsInstanceProfilesProfileBandwidth)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileBandwidthOutput) +} + +type GetIsInstanceProfilesProfileClusterNetworkAttachmentCount struct { + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileClusterNetworkAttachmentCountInput is an input type that accepts GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArgs and GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileClusterNetworkAttachmentCountInput` via: +// +// GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArgs{...} +type GetIsInstanceProfilesProfileClusterNetworkAttachmentCountInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput() GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput + ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutputWithContext(context.Context) GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput +} + +type GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArgs struct { + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileClusterNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArgs) ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput() GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput { + return i.ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArgs) ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) +} + +// GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayInput is an input type that accepts GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArray and GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayInput` via: +// +// GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArray{ GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArgs{...} } +type GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput() GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput + ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput +} + +type GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArray []GetIsInstanceProfilesProfileClusterNetworkAttachmentCountInput + +func (GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileClusterNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArray) ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput() GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput { + return i.ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArray) ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput) +} + +type GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileClusterNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput() GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput { + return o +} + +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput { + return o +} + +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileClusterNetworkAttachmentCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileClusterNetworkAttachmentCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileClusterNetworkAttachmentCount) int { return v.Min }).(pulumi.IntOutput) +} + +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileClusterNetworkAttachmentCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileClusterNetworkAttachmentCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileClusterNetworkAttachmentCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileClusterNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput) ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput() GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput) ToGetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileClusterNetworkAttachmentCount { + return vs[0].([]GetIsInstanceProfilesProfileClusterNetworkAttachmentCount)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput) +} + +type GetIsInstanceProfilesProfileConfidentialComputeMode struct { + // The default confidential compute mode for this profile. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The supported confidential compute modes. + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileConfidentialComputeModeInput is an input type that accepts GetIsInstanceProfilesProfileConfidentialComputeModeArgs and GetIsInstanceProfilesProfileConfidentialComputeModeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileConfidentialComputeModeInput` via: +// +// GetIsInstanceProfilesProfileConfidentialComputeModeArgs{...} +type GetIsInstanceProfilesProfileConfidentialComputeModeInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileConfidentialComputeModeOutput() GetIsInstanceProfilesProfileConfidentialComputeModeOutput + ToGetIsInstanceProfilesProfileConfidentialComputeModeOutputWithContext(context.Context) GetIsInstanceProfilesProfileConfidentialComputeModeOutput +} + +type GetIsInstanceProfilesProfileConfidentialComputeModeArgs struct { + // The default confidential compute mode for this profile. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported confidential compute modes. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileConfidentialComputeModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileConfidentialComputeMode)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileConfidentialComputeModeArgs) ToGetIsInstanceProfilesProfileConfidentialComputeModeOutput() GetIsInstanceProfilesProfileConfidentialComputeModeOutput { + return i.ToGetIsInstanceProfilesProfileConfidentialComputeModeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileConfidentialComputeModeArgs) ToGetIsInstanceProfilesProfileConfidentialComputeModeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileConfidentialComputeModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileConfidentialComputeModeOutput) +} + +// GetIsInstanceProfilesProfileConfidentialComputeModeArrayInput is an input type that accepts GetIsInstanceProfilesProfileConfidentialComputeModeArray and GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileConfidentialComputeModeArrayInput` via: +// +// GetIsInstanceProfilesProfileConfidentialComputeModeArray{ GetIsInstanceProfilesProfileConfidentialComputeModeArgs{...} } +type GetIsInstanceProfilesProfileConfidentialComputeModeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput() GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput + ToGetIsInstanceProfilesProfileConfidentialComputeModeArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput +} + +type GetIsInstanceProfilesProfileConfidentialComputeModeArray []GetIsInstanceProfilesProfileConfidentialComputeModeInput + +func (GetIsInstanceProfilesProfileConfidentialComputeModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileConfidentialComputeMode)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileConfidentialComputeModeArray) ToGetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput() GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput { + return i.ToGetIsInstanceProfilesProfileConfidentialComputeModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileConfidentialComputeModeArray) ToGetIsInstanceProfilesProfileConfidentialComputeModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput) +} + +type GetIsInstanceProfilesProfileConfidentialComputeModeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileConfidentialComputeModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileConfidentialComputeMode)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileConfidentialComputeModeOutput) ToGetIsInstanceProfilesProfileConfidentialComputeModeOutput() GetIsInstanceProfilesProfileConfidentialComputeModeOutput { + return o +} + +func (o GetIsInstanceProfilesProfileConfidentialComputeModeOutput) ToGetIsInstanceProfilesProfileConfidentialComputeModeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileConfidentialComputeModeOutput { + return o +} + +// The default confidential compute mode for this profile. +func (o GetIsInstanceProfilesProfileConfidentialComputeModeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileConfidentialComputeMode) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileConfidentialComputeModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileConfidentialComputeMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported confidential compute modes. +func (o GetIsInstanceProfilesProfileConfidentialComputeModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileConfidentialComputeMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileConfidentialComputeMode)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput) ToGetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput() GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput) ToGetIsInstanceProfilesProfileConfidentialComputeModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileConfidentialComputeModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileConfidentialComputeMode { + return vs[0].([]GetIsInstanceProfilesProfileConfidentialComputeMode)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileConfidentialComputeModeOutput) +} + +type GetIsInstanceProfilesProfileDisk struct { + Quantities []GetIsInstanceProfilesProfileDiskQuantity `pulumi:"quantities"` + Sizes []GetIsInstanceProfilesProfileDiskSize `pulumi:"sizes"` + SupportedInterfaceTypes []GetIsInstanceProfilesProfileDiskSupportedInterfaceType `pulumi:"supportedInterfaceTypes"` +} + +// GetIsInstanceProfilesProfileDiskInput is an input type that accepts GetIsInstanceProfilesProfileDiskArgs and GetIsInstanceProfilesProfileDiskOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileDiskInput` via: +// +// GetIsInstanceProfilesProfileDiskArgs{...} +type GetIsInstanceProfilesProfileDiskInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileDiskOutput() GetIsInstanceProfilesProfileDiskOutput + ToGetIsInstanceProfilesProfileDiskOutputWithContext(context.Context) GetIsInstanceProfilesProfileDiskOutput +} + +type GetIsInstanceProfilesProfileDiskArgs struct { + Quantities GetIsInstanceProfilesProfileDiskQuantityArrayInput `pulumi:"quantities"` + Sizes GetIsInstanceProfilesProfileDiskSizeArrayInput `pulumi:"sizes"` + SupportedInterfaceTypes GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayInput `pulumi:"supportedInterfaceTypes"` +} + +func (GetIsInstanceProfilesProfileDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileDisk)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileDiskArgs) ToGetIsInstanceProfilesProfileDiskOutput() GetIsInstanceProfilesProfileDiskOutput { + return i.ToGetIsInstanceProfilesProfileDiskOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileDiskArgs) ToGetIsInstanceProfilesProfileDiskOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileDiskOutput) +} + +// GetIsInstanceProfilesProfileDiskArrayInput is an input type that accepts GetIsInstanceProfilesProfileDiskArray and GetIsInstanceProfilesProfileDiskArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileDiskArrayInput` via: +// +// GetIsInstanceProfilesProfileDiskArray{ GetIsInstanceProfilesProfileDiskArgs{...} } +type GetIsInstanceProfilesProfileDiskArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileDiskArrayOutput() GetIsInstanceProfilesProfileDiskArrayOutput + ToGetIsInstanceProfilesProfileDiskArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileDiskArrayOutput +} + +type GetIsInstanceProfilesProfileDiskArray []GetIsInstanceProfilesProfileDiskInput + +func (GetIsInstanceProfilesProfileDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileDisk)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileDiskArray) ToGetIsInstanceProfilesProfileDiskArrayOutput() GetIsInstanceProfilesProfileDiskArrayOutput { + return i.ToGetIsInstanceProfilesProfileDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileDiskArray) ToGetIsInstanceProfilesProfileDiskArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileDiskArrayOutput) +} + +type GetIsInstanceProfilesProfileDiskOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileDisk)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileDiskOutput) ToGetIsInstanceProfilesProfileDiskOutput() GetIsInstanceProfilesProfileDiskOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskOutput) ToGetIsInstanceProfilesProfileDiskOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskOutput) Quantities() GetIsInstanceProfilesProfileDiskQuantityArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDisk) []GetIsInstanceProfilesProfileDiskQuantity { + return v.Quantities + }).(GetIsInstanceProfilesProfileDiskQuantityArrayOutput) +} + +func (o GetIsInstanceProfilesProfileDiskOutput) Sizes() GetIsInstanceProfilesProfileDiskSizeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDisk) []GetIsInstanceProfilesProfileDiskSize { return v.Sizes }).(GetIsInstanceProfilesProfileDiskSizeArrayOutput) +} + +func (o GetIsInstanceProfilesProfileDiskOutput) SupportedInterfaceTypes() GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDisk) []GetIsInstanceProfilesProfileDiskSupportedInterfaceType { + return v.SupportedInterfaceTypes + }).(GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput) +} + +type GetIsInstanceProfilesProfileDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileDisk)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileDiskArrayOutput) ToGetIsInstanceProfilesProfileDiskArrayOutput() GetIsInstanceProfilesProfileDiskArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskArrayOutput) ToGetIsInstanceProfilesProfileDiskArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileDisk { + return vs[0].([]GetIsInstanceProfilesProfileDisk)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileDiskOutput) +} + +type GetIsInstanceProfilesProfileDiskQuantity struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileDiskQuantityInput is an input type that accepts GetIsInstanceProfilesProfileDiskQuantityArgs and GetIsInstanceProfilesProfileDiskQuantityOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileDiskQuantityInput` via: +// +// GetIsInstanceProfilesProfileDiskQuantityArgs{...} +type GetIsInstanceProfilesProfileDiskQuantityInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileDiskQuantityOutput() GetIsInstanceProfilesProfileDiskQuantityOutput + ToGetIsInstanceProfilesProfileDiskQuantityOutputWithContext(context.Context) GetIsInstanceProfilesProfileDiskQuantityOutput +} + +type GetIsInstanceProfilesProfileDiskQuantityArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileDiskQuantityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileDiskQuantityArgs) ToGetIsInstanceProfilesProfileDiskQuantityOutput() GetIsInstanceProfilesProfileDiskQuantityOutput { + return i.ToGetIsInstanceProfilesProfileDiskQuantityOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileDiskQuantityArgs) ToGetIsInstanceProfilesProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskQuantityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileDiskQuantityOutput) +} + +// GetIsInstanceProfilesProfileDiskQuantityArrayInput is an input type that accepts GetIsInstanceProfilesProfileDiskQuantityArray and GetIsInstanceProfilesProfileDiskQuantityArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileDiskQuantityArrayInput` via: +// +// GetIsInstanceProfilesProfileDiskQuantityArray{ GetIsInstanceProfilesProfileDiskQuantityArgs{...} } +type GetIsInstanceProfilesProfileDiskQuantityArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileDiskQuantityArrayOutput() GetIsInstanceProfilesProfileDiskQuantityArrayOutput + ToGetIsInstanceProfilesProfileDiskQuantityArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileDiskQuantityArrayOutput +} + +type GetIsInstanceProfilesProfileDiskQuantityArray []GetIsInstanceProfilesProfileDiskQuantityInput + +func (GetIsInstanceProfilesProfileDiskQuantityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileDiskQuantityArray) ToGetIsInstanceProfilesProfileDiskQuantityArrayOutput() GetIsInstanceProfilesProfileDiskQuantityArrayOutput { + return i.ToGetIsInstanceProfilesProfileDiskQuantityArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileDiskQuantityArray) ToGetIsInstanceProfilesProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskQuantityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileDiskQuantityArrayOutput) +} + +type GetIsInstanceProfilesProfileDiskQuantityOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileDiskQuantityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) ToGetIsInstanceProfilesProfileDiskQuantityOutput() GetIsInstanceProfilesProfileDiskQuantityOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) ToGetIsInstanceProfilesProfileDiskQuantityOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskQuantityOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskQuantity) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskQuantity) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskQuantity) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskQuantity) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskQuantity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskQuantity) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileDiskQuantityOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskQuantity) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileDiskQuantityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileDiskQuantityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileDiskQuantity)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileDiskQuantityArrayOutput) ToGetIsInstanceProfilesProfileDiskQuantityArrayOutput() GetIsInstanceProfilesProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskQuantityArrayOutput) ToGetIsInstanceProfilesProfileDiskQuantityArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskQuantityArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskQuantityArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileDiskQuantityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileDiskQuantity { + return vs[0].([]GetIsInstanceProfilesProfileDiskQuantity)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileDiskQuantityOutput) +} + +type GetIsInstanceProfilesProfileDiskSize struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileDiskSizeInput is an input type that accepts GetIsInstanceProfilesProfileDiskSizeArgs and GetIsInstanceProfilesProfileDiskSizeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileDiskSizeInput` via: +// +// GetIsInstanceProfilesProfileDiskSizeArgs{...} +type GetIsInstanceProfilesProfileDiskSizeInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileDiskSizeOutput() GetIsInstanceProfilesProfileDiskSizeOutput + ToGetIsInstanceProfilesProfileDiskSizeOutputWithContext(context.Context) GetIsInstanceProfilesProfileDiskSizeOutput +} + +type GetIsInstanceProfilesProfileDiskSizeArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileDiskSizeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileDiskSize)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileDiskSizeArgs) ToGetIsInstanceProfilesProfileDiskSizeOutput() GetIsInstanceProfilesProfileDiskSizeOutput { + return i.ToGetIsInstanceProfilesProfileDiskSizeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileDiskSizeArgs) ToGetIsInstanceProfilesProfileDiskSizeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskSizeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileDiskSizeOutput) +} + +// GetIsInstanceProfilesProfileDiskSizeArrayInput is an input type that accepts GetIsInstanceProfilesProfileDiskSizeArray and GetIsInstanceProfilesProfileDiskSizeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileDiskSizeArrayInput` via: +// +// GetIsInstanceProfilesProfileDiskSizeArray{ GetIsInstanceProfilesProfileDiskSizeArgs{...} } +type GetIsInstanceProfilesProfileDiskSizeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileDiskSizeArrayOutput() GetIsInstanceProfilesProfileDiskSizeArrayOutput + ToGetIsInstanceProfilesProfileDiskSizeArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileDiskSizeArrayOutput +} + +type GetIsInstanceProfilesProfileDiskSizeArray []GetIsInstanceProfilesProfileDiskSizeInput + +func (GetIsInstanceProfilesProfileDiskSizeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileDiskSize)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileDiskSizeArray) ToGetIsInstanceProfilesProfileDiskSizeArrayOutput() GetIsInstanceProfilesProfileDiskSizeArrayOutput { + return i.ToGetIsInstanceProfilesProfileDiskSizeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileDiskSizeArray) ToGetIsInstanceProfilesProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskSizeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileDiskSizeArrayOutput) +} + +type GetIsInstanceProfilesProfileDiskSizeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileDiskSizeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileDiskSize)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileDiskSizeOutput) ToGetIsInstanceProfilesProfileDiskSizeOutput() GetIsInstanceProfilesProfileDiskSizeOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskSizeOutput) ToGetIsInstanceProfilesProfileDiskSizeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskSizeOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfilesProfileDiskSizeOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSize) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileDiskSizeOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSize) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileDiskSizeOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSize) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfilesProfileDiskSizeOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSize) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileDiskSizeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSize) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileDiskSizeOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSize) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileDiskSizeOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSize) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileDiskSizeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileDiskSizeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileDiskSize)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileDiskSizeArrayOutput) ToGetIsInstanceProfilesProfileDiskSizeArrayOutput() GetIsInstanceProfilesProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskSizeArrayOutput) ToGetIsInstanceProfilesProfileDiskSizeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskSizeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskSizeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileDiskSizeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileDiskSize { + return vs[0].([]GetIsInstanceProfilesProfileDiskSize)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileDiskSizeOutput) +} + +type GetIsInstanceProfilesProfileDiskSupportedInterfaceType struct { + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The supported disk interfaces used for attaching the disk. + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeInput is an input type that accepts GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArgs and GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeInput` via: +// +// GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArgs{...} +type GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput() GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput + ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutputWithContext(context.Context) GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput +} + +type GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArgs struct { + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported disk interfaces used for attaching the disk. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArgs) ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput() GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput { + return i.ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArgs) ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput) +} + +// GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayInput is an input type that accepts GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArray and GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayInput` via: +// +// GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArray{ GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArgs{...} } +type GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput() GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput + ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput +} + +type GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArray []GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeInput + +func (GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArray) ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput() GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return i.ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArray) ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput) +} + +type GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput) ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput() GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput) ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput { + return o +} + +// The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSupportedInterfaceType) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSupportedInterfaceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported disk interfaces used for attaching the disk. +func (o GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileDiskSupportedInterfaceType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileDiskSupportedInterfaceType)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput) ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput() GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput) ToGetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileDiskSupportedInterfaceType { + return vs[0].([]GetIsInstanceProfilesProfileDiskSupportedInterfaceType)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput) +} + +type GetIsInstanceProfilesProfileGpuCount struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileGpuCountInput is an input type that accepts GetIsInstanceProfilesProfileGpuCountArgs and GetIsInstanceProfilesProfileGpuCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileGpuCountInput` via: +// +// GetIsInstanceProfilesProfileGpuCountArgs{...} +type GetIsInstanceProfilesProfileGpuCountInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileGpuCountOutput() GetIsInstanceProfilesProfileGpuCountOutput + ToGetIsInstanceProfilesProfileGpuCountOutputWithContext(context.Context) GetIsInstanceProfilesProfileGpuCountOutput +} + +type GetIsInstanceProfilesProfileGpuCountArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileGpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileGpuCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileGpuCountArgs) ToGetIsInstanceProfilesProfileGpuCountOutput() GetIsInstanceProfilesProfileGpuCountOutput { + return i.ToGetIsInstanceProfilesProfileGpuCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileGpuCountArgs) ToGetIsInstanceProfilesProfileGpuCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileGpuCountOutput) +} + +// GetIsInstanceProfilesProfileGpuCountArrayInput is an input type that accepts GetIsInstanceProfilesProfileGpuCountArray and GetIsInstanceProfilesProfileGpuCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileGpuCountArrayInput` via: +// +// GetIsInstanceProfilesProfileGpuCountArray{ GetIsInstanceProfilesProfileGpuCountArgs{...} } +type GetIsInstanceProfilesProfileGpuCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileGpuCountArrayOutput() GetIsInstanceProfilesProfileGpuCountArrayOutput + ToGetIsInstanceProfilesProfileGpuCountArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileGpuCountArrayOutput +} + +type GetIsInstanceProfilesProfileGpuCountArray []GetIsInstanceProfilesProfileGpuCountInput + +func (GetIsInstanceProfilesProfileGpuCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileGpuCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileGpuCountArray) ToGetIsInstanceProfilesProfileGpuCountArrayOutput() GetIsInstanceProfilesProfileGpuCountArrayOutput { + return i.ToGetIsInstanceProfilesProfileGpuCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileGpuCountArray) ToGetIsInstanceProfilesProfileGpuCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileGpuCountArrayOutput) +} + +type GetIsInstanceProfilesProfileGpuCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileGpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileGpuCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileGpuCountOutput) ToGetIsInstanceProfilesProfileGpuCountOutput() GetIsInstanceProfilesProfileGpuCountOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuCountOutput) ToGetIsInstanceProfilesProfileGpuCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuCountOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfilesProfileGpuCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileGpuCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileGpuCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfilesProfileGpuCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileGpuCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileGpuCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuCount) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileGpuCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileGpuCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileGpuCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileGpuCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileGpuCountArrayOutput) ToGetIsInstanceProfilesProfileGpuCountArrayOutput() GetIsInstanceProfilesProfileGpuCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuCountArrayOutput) ToGetIsInstanceProfilesProfileGpuCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileGpuCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileGpuCount { + return vs[0].([]GetIsInstanceProfilesProfileGpuCount)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileGpuCountOutput) +} + +type GetIsInstanceProfilesProfileGpuManufacturer struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The possible GPU manufacturer(s) for an instance with this profile + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileGpuManufacturerInput is an input type that accepts GetIsInstanceProfilesProfileGpuManufacturerArgs and GetIsInstanceProfilesProfileGpuManufacturerOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileGpuManufacturerInput` via: +// +// GetIsInstanceProfilesProfileGpuManufacturerArgs{...} +type GetIsInstanceProfilesProfileGpuManufacturerInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileGpuManufacturerOutput() GetIsInstanceProfilesProfileGpuManufacturerOutput + ToGetIsInstanceProfilesProfileGpuManufacturerOutputWithContext(context.Context) GetIsInstanceProfilesProfileGpuManufacturerOutput +} + +type GetIsInstanceProfilesProfileGpuManufacturerArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The possible GPU manufacturer(s) for an instance with this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileGpuManufacturerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileGpuManufacturer)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileGpuManufacturerArgs) ToGetIsInstanceProfilesProfileGpuManufacturerOutput() GetIsInstanceProfilesProfileGpuManufacturerOutput { + return i.ToGetIsInstanceProfilesProfileGpuManufacturerOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileGpuManufacturerArgs) ToGetIsInstanceProfilesProfileGpuManufacturerOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuManufacturerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileGpuManufacturerOutput) +} + +// GetIsInstanceProfilesProfileGpuManufacturerArrayInput is an input type that accepts GetIsInstanceProfilesProfileGpuManufacturerArray and GetIsInstanceProfilesProfileGpuManufacturerArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileGpuManufacturerArrayInput` via: +// +// GetIsInstanceProfilesProfileGpuManufacturerArray{ GetIsInstanceProfilesProfileGpuManufacturerArgs{...} } +type GetIsInstanceProfilesProfileGpuManufacturerArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileGpuManufacturerArrayOutput() GetIsInstanceProfilesProfileGpuManufacturerArrayOutput + ToGetIsInstanceProfilesProfileGpuManufacturerArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileGpuManufacturerArrayOutput +} + +type GetIsInstanceProfilesProfileGpuManufacturerArray []GetIsInstanceProfilesProfileGpuManufacturerInput + +func (GetIsInstanceProfilesProfileGpuManufacturerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileGpuManufacturer)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileGpuManufacturerArray) ToGetIsInstanceProfilesProfileGpuManufacturerArrayOutput() GetIsInstanceProfilesProfileGpuManufacturerArrayOutput { + return i.ToGetIsInstanceProfilesProfileGpuManufacturerArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileGpuManufacturerArray) ToGetIsInstanceProfilesProfileGpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuManufacturerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileGpuManufacturerArrayOutput) +} + +type GetIsInstanceProfilesProfileGpuManufacturerOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileGpuManufacturerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileGpuManufacturer)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileGpuManufacturerOutput) ToGetIsInstanceProfilesProfileGpuManufacturerOutput() GetIsInstanceProfilesProfileGpuManufacturerOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuManufacturerOutput) ToGetIsInstanceProfilesProfileGpuManufacturerOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuManufacturerOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileGpuManufacturerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuManufacturer) string { return v.Type }).(pulumi.StringOutput) +} + +// The possible GPU manufacturer(s) for an instance with this profile +func (o GetIsInstanceProfilesProfileGpuManufacturerOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuManufacturer) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfilesProfileGpuManufacturerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileGpuManufacturerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileGpuManufacturer)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileGpuManufacturerArrayOutput) ToGetIsInstanceProfilesProfileGpuManufacturerArrayOutput() GetIsInstanceProfilesProfileGpuManufacturerArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuManufacturerArrayOutput) ToGetIsInstanceProfilesProfileGpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuManufacturerArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuManufacturerArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileGpuManufacturerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileGpuManufacturer { + return vs[0].([]GetIsInstanceProfilesProfileGpuManufacturer)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileGpuManufacturerOutput) +} + +type GetIsInstanceProfilesProfileGpuMemory struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileGpuMemoryInput is an input type that accepts GetIsInstanceProfilesProfileGpuMemoryArgs and GetIsInstanceProfilesProfileGpuMemoryOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileGpuMemoryInput` via: +// +// GetIsInstanceProfilesProfileGpuMemoryArgs{...} +type GetIsInstanceProfilesProfileGpuMemoryInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileGpuMemoryOutput() GetIsInstanceProfilesProfileGpuMemoryOutput + ToGetIsInstanceProfilesProfileGpuMemoryOutputWithContext(context.Context) GetIsInstanceProfilesProfileGpuMemoryOutput +} + +type GetIsInstanceProfilesProfileGpuMemoryArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileGpuMemoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileGpuMemory)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileGpuMemoryArgs) ToGetIsInstanceProfilesProfileGpuMemoryOutput() GetIsInstanceProfilesProfileGpuMemoryOutput { + return i.ToGetIsInstanceProfilesProfileGpuMemoryOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileGpuMemoryArgs) ToGetIsInstanceProfilesProfileGpuMemoryOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuMemoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileGpuMemoryOutput) +} + +// GetIsInstanceProfilesProfileGpuMemoryArrayInput is an input type that accepts GetIsInstanceProfilesProfileGpuMemoryArray and GetIsInstanceProfilesProfileGpuMemoryArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileGpuMemoryArrayInput` via: +// +// GetIsInstanceProfilesProfileGpuMemoryArray{ GetIsInstanceProfilesProfileGpuMemoryArgs{...} } +type GetIsInstanceProfilesProfileGpuMemoryArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileGpuMemoryArrayOutput() GetIsInstanceProfilesProfileGpuMemoryArrayOutput + ToGetIsInstanceProfilesProfileGpuMemoryArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileGpuMemoryArrayOutput +} + +type GetIsInstanceProfilesProfileGpuMemoryArray []GetIsInstanceProfilesProfileGpuMemoryInput + +func (GetIsInstanceProfilesProfileGpuMemoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileGpuMemory)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileGpuMemoryArray) ToGetIsInstanceProfilesProfileGpuMemoryArrayOutput() GetIsInstanceProfilesProfileGpuMemoryArrayOutput { + return i.ToGetIsInstanceProfilesProfileGpuMemoryArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileGpuMemoryArray) ToGetIsInstanceProfilesProfileGpuMemoryArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuMemoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileGpuMemoryArrayOutput) +} + +type GetIsInstanceProfilesProfileGpuMemoryOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileGpuMemoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileGpuMemory)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) ToGetIsInstanceProfilesProfileGpuMemoryOutput() GetIsInstanceProfilesProfileGpuMemoryOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) ToGetIsInstanceProfilesProfileGpuMemoryOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuMemoryOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuMemory) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuMemory) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuMemory) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuMemory) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuMemory) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuMemory) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileGpuMemoryOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuMemory) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileGpuMemoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileGpuMemoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileGpuMemory)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileGpuMemoryArrayOutput) ToGetIsInstanceProfilesProfileGpuMemoryArrayOutput() GetIsInstanceProfilesProfileGpuMemoryArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuMemoryArrayOutput) ToGetIsInstanceProfilesProfileGpuMemoryArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuMemoryArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuMemoryArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileGpuMemoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileGpuMemory { + return vs[0].([]GetIsInstanceProfilesProfileGpuMemory)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileGpuMemoryOutput) +} + +type GetIsInstanceProfilesProfileGpuModel struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The possible GPU model(s) for an instance with this profile + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileGpuModelInput is an input type that accepts GetIsInstanceProfilesProfileGpuModelArgs and GetIsInstanceProfilesProfileGpuModelOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileGpuModelInput` via: +// +// GetIsInstanceProfilesProfileGpuModelArgs{...} +type GetIsInstanceProfilesProfileGpuModelInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileGpuModelOutput() GetIsInstanceProfilesProfileGpuModelOutput + ToGetIsInstanceProfilesProfileGpuModelOutputWithContext(context.Context) GetIsInstanceProfilesProfileGpuModelOutput +} + +type GetIsInstanceProfilesProfileGpuModelArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The possible GPU model(s) for an instance with this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileGpuModelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileGpuModel)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileGpuModelArgs) ToGetIsInstanceProfilesProfileGpuModelOutput() GetIsInstanceProfilesProfileGpuModelOutput { + return i.ToGetIsInstanceProfilesProfileGpuModelOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileGpuModelArgs) ToGetIsInstanceProfilesProfileGpuModelOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuModelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileGpuModelOutput) +} + +// GetIsInstanceProfilesProfileGpuModelArrayInput is an input type that accepts GetIsInstanceProfilesProfileGpuModelArray and GetIsInstanceProfilesProfileGpuModelArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileGpuModelArrayInput` via: +// +// GetIsInstanceProfilesProfileGpuModelArray{ GetIsInstanceProfilesProfileGpuModelArgs{...} } +type GetIsInstanceProfilesProfileGpuModelArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileGpuModelArrayOutput() GetIsInstanceProfilesProfileGpuModelArrayOutput + ToGetIsInstanceProfilesProfileGpuModelArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileGpuModelArrayOutput +} + +type GetIsInstanceProfilesProfileGpuModelArray []GetIsInstanceProfilesProfileGpuModelInput + +func (GetIsInstanceProfilesProfileGpuModelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileGpuModel)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileGpuModelArray) ToGetIsInstanceProfilesProfileGpuModelArrayOutput() GetIsInstanceProfilesProfileGpuModelArrayOutput { + return i.ToGetIsInstanceProfilesProfileGpuModelArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileGpuModelArray) ToGetIsInstanceProfilesProfileGpuModelArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuModelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileGpuModelArrayOutput) +} + +type GetIsInstanceProfilesProfileGpuModelOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileGpuModelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileGpuModel)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileGpuModelOutput) ToGetIsInstanceProfilesProfileGpuModelOutput() GetIsInstanceProfilesProfileGpuModelOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuModelOutput) ToGetIsInstanceProfilesProfileGpuModelOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuModelOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileGpuModelOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuModel) string { return v.Type }).(pulumi.StringOutput) +} + +// The possible GPU model(s) for an instance with this profile +func (o GetIsInstanceProfilesProfileGpuModelOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileGpuModel) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfilesProfileGpuModelArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileGpuModelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileGpuModel)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileGpuModelArrayOutput) ToGetIsInstanceProfilesProfileGpuModelArrayOutput() GetIsInstanceProfilesProfileGpuModelArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuModelArrayOutput) ToGetIsInstanceProfilesProfileGpuModelArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileGpuModelArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileGpuModelArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileGpuModelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileGpuModel { + return vs[0].([]GetIsInstanceProfilesProfileGpuModel)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileGpuModelOutput) +} + +type GetIsInstanceProfilesProfileMemory struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileMemoryInput is an input type that accepts GetIsInstanceProfilesProfileMemoryArgs and GetIsInstanceProfilesProfileMemoryOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileMemoryInput` via: +// +// GetIsInstanceProfilesProfileMemoryArgs{...} +type GetIsInstanceProfilesProfileMemoryInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileMemoryOutput() GetIsInstanceProfilesProfileMemoryOutput + ToGetIsInstanceProfilesProfileMemoryOutputWithContext(context.Context) GetIsInstanceProfilesProfileMemoryOutput +} + +type GetIsInstanceProfilesProfileMemoryArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileMemoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileMemory)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileMemoryArgs) ToGetIsInstanceProfilesProfileMemoryOutput() GetIsInstanceProfilesProfileMemoryOutput { + return i.ToGetIsInstanceProfilesProfileMemoryOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileMemoryArgs) ToGetIsInstanceProfilesProfileMemoryOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileMemoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileMemoryOutput) +} + +// GetIsInstanceProfilesProfileMemoryArrayInput is an input type that accepts GetIsInstanceProfilesProfileMemoryArray and GetIsInstanceProfilesProfileMemoryArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileMemoryArrayInput` via: +// +// GetIsInstanceProfilesProfileMemoryArray{ GetIsInstanceProfilesProfileMemoryArgs{...} } +type GetIsInstanceProfilesProfileMemoryArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileMemoryArrayOutput() GetIsInstanceProfilesProfileMemoryArrayOutput + ToGetIsInstanceProfilesProfileMemoryArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileMemoryArrayOutput +} + +type GetIsInstanceProfilesProfileMemoryArray []GetIsInstanceProfilesProfileMemoryInput + +func (GetIsInstanceProfilesProfileMemoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileMemory)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileMemoryArray) ToGetIsInstanceProfilesProfileMemoryArrayOutput() GetIsInstanceProfilesProfileMemoryArrayOutput { + return i.ToGetIsInstanceProfilesProfileMemoryArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileMemoryArray) ToGetIsInstanceProfilesProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileMemoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileMemoryArrayOutput) +} + +type GetIsInstanceProfilesProfileMemoryOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileMemoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileMemory)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileMemoryOutput) ToGetIsInstanceProfilesProfileMemoryOutput() GetIsInstanceProfilesProfileMemoryOutput { + return o +} + +func (o GetIsInstanceProfilesProfileMemoryOutput) ToGetIsInstanceProfilesProfileMemoryOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileMemoryOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfilesProfileMemoryOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileMemory) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileMemoryOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileMemory) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileMemoryOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileMemory) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfilesProfileMemoryOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileMemory) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileMemoryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileMemory) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileMemoryOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileMemory) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileMemoryOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileMemory) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileMemoryArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileMemoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileMemory)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileMemoryArrayOutput) ToGetIsInstanceProfilesProfileMemoryArrayOutput() GetIsInstanceProfilesProfileMemoryArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileMemoryArrayOutput) ToGetIsInstanceProfilesProfileMemoryArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileMemoryArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileMemoryArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileMemoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileMemory { + return vs[0].([]GetIsInstanceProfilesProfileMemory)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileMemoryOutput) +} + +type GetIsInstanceProfilesProfileNetworkAttachmentCount struct { + // The maximum value for this profile field + Max int `pulumi:"max"` + // The minimum value for this profile field + Min int `pulumi:"min"` + // The type for this profile field. + Type string `pulumi:"type"` +} + +// GetIsInstanceProfilesProfileNetworkAttachmentCountInput is an input type that accepts GetIsInstanceProfilesProfileNetworkAttachmentCountArgs and GetIsInstanceProfilesProfileNetworkAttachmentCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileNetworkAttachmentCountInput` via: +// +// GetIsInstanceProfilesProfileNetworkAttachmentCountArgs{...} +type GetIsInstanceProfilesProfileNetworkAttachmentCountInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileNetworkAttachmentCountOutput() GetIsInstanceProfilesProfileNetworkAttachmentCountOutput + ToGetIsInstanceProfilesProfileNetworkAttachmentCountOutputWithContext(context.Context) GetIsInstanceProfilesProfileNetworkAttachmentCountOutput +} + +type GetIsInstanceProfilesProfileNetworkAttachmentCountArgs struct { + // The maximum value for this profile field + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field + Min pulumi.IntInput `pulumi:"min"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsInstanceProfilesProfileNetworkAttachmentCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileNetworkAttachmentCountArgs) ToGetIsInstanceProfilesProfileNetworkAttachmentCountOutput() GetIsInstanceProfilesProfileNetworkAttachmentCountOutput { + return i.ToGetIsInstanceProfilesProfileNetworkAttachmentCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileNetworkAttachmentCountArgs) ToGetIsInstanceProfilesProfileNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNetworkAttachmentCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileNetworkAttachmentCountOutput) +} + +// GetIsInstanceProfilesProfileNetworkAttachmentCountArrayInput is an input type that accepts GetIsInstanceProfilesProfileNetworkAttachmentCountArray and GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileNetworkAttachmentCountArrayInput` via: +// +// GetIsInstanceProfilesProfileNetworkAttachmentCountArray{ GetIsInstanceProfilesProfileNetworkAttachmentCountArgs{...} } +type GetIsInstanceProfilesProfileNetworkAttachmentCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput() GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput + ToGetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput +} + +type GetIsInstanceProfilesProfileNetworkAttachmentCountArray []GetIsInstanceProfilesProfileNetworkAttachmentCountInput + +func (GetIsInstanceProfilesProfileNetworkAttachmentCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileNetworkAttachmentCountArray) ToGetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput() GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput { + return i.ToGetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileNetworkAttachmentCountArray) ToGetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput) +} + +type GetIsInstanceProfilesProfileNetworkAttachmentCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileNetworkAttachmentCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileNetworkAttachmentCountOutput) ToGetIsInstanceProfilesProfileNetworkAttachmentCountOutput() GetIsInstanceProfilesProfileNetworkAttachmentCountOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNetworkAttachmentCountOutput) ToGetIsInstanceProfilesProfileNetworkAttachmentCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNetworkAttachmentCountOutput { + return o +} + +// The maximum value for this profile field +func (o GetIsInstanceProfilesProfileNetworkAttachmentCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileNetworkAttachmentCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field +func (o GetIsInstanceProfilesProfileNetworkAttachmentCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileNetworkAttachmentCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileNetworkAttachmentCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileNetworkAttachmentCount) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileNetworkAttachmentCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput) ToGetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput() GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput) ToGetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileNetworkAttachmentCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileNetworkAttachmentCount { + return vs[0].([]GetIsInstanceProfilesProfileNetworkAttachmentCount)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileNetworkAttachmentCountOutput) +} + +type GetIsInstanceProfilesProfileNetworkInterfaceCount struct { + // The maximum value for this profile field + Max int `pulumi:"max"` + // The minimum value for this profile field + Min int `pulumi:"min"` + // The type for this profile field. + Type string `pulumi:"type"` +} + +// GetIsInstanceProfilesProfileNetworkInterfaceCountInput is an input type that accepts GetIsInstanceProfilesProfileNetworkInterfaceCountArgs and GetIsInstanceProfilesProfileNetworkInterfaceCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileNetworkInterfaceCountInput` via: +// +// GetIsInstanceProfilesProfileNetworkInterfaceCountArgs{...} +type GetIsInstanceProfilesProfileNetworkInterfaceCountInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileNetworkInterfaceCountOutput() GetIsInstanceProfilesProfileNetworkInterfaceCountOutput + ToGetIsInstanceProfilesProfileNetworkInterfaceCountOutputWithContext(context.Context) GetIsInstanceProfilesProfileNetworkInterfaceCountOutput +} + +type GetIsInstanceProfilesProfileNetworkInterfaceCountArgs struct { + // The maximum value for this profile field + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field + Min pulumi.IntInput `pulumi:"min"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsInstanceProfilesProfileNetworkInterfaceCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileNetworkInterfaceCountArgs) ToGetIsInstanceProfilesProfileNetworkInterfaceCountOutput() GetIsInstanceProfilesProfileNetworkInterfaceCountOutput { + return i.ToGetIsInstanceProfilesProfileNetworkInterfaceCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileNetworkInterfaceCountArgs) ToGetIsInstanceProfilesProfileNetworkInterfaceCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNetworkInterfaceCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileNetworkInterfaceCountOutput) +} + +// GetIsInstanceProfilesProfileNetworkInterfaceCountArrayInput is an input type that accepts GetIsInstanceProfilesProfileNetworkInterfaceCountArray and GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileNetworkInterfaceCountArrayInput` via: +// +// GetIsInstanceProfilesProfileNetworkInterfaceCountArray{ GetIsInstanceProfilesProfileNetworkInterfaceCountArgs{...} } +type GetIsInstanceProfilesProfileNetworkInterfaceCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput() GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput + ToGetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput +} + +type GetIsInstanceProfilesProfileNetworkInterfaceCountArray []GetIsInstanceProfilesProfileNetworkInterfaceCountInput + +func (GetIsInstanceProfilesProfileNetworkInterfaceCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileNetworkInterfaceCountArray) ToGetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput() GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput { + return i.ToGetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileNetworkInterfaceCountArray) ToGetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput) +} + +type GetIsInstanceProfilesProfileNetworkInterfaceCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileNetworkInterfaceCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileNetworkInterfaceCountOutput) ToGetIsInstanceProfilesProfileNetworkInterfaceCountOutput() GetIsInstanceProfilesProfileNetworkInterfaceCountOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNetworkInterfaceCountOutput) ToGetIsInstanceProfilesProfileNetworkInterfaceCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNetworkInterfaceCountOutput { + return o +} + +// The maximum value for this profile field +func (o GetIsInstanceProfilesProfileNetworkInterfaceCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileNetworkInterfaceCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field +func (o GetIsInstanceProfilesProfileNetworkInterfaceCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileNetworkInterfaceCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileNetworkInterfaceCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileNetworkInterfaceCount) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileNetworkInterfaceCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput) ToGetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput() GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput) ToGetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileNetworkInterfaceCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileNetworkInterfaceCount { + return vs[0].([]GetIsInstanceProfilesProfileNetworkInterfaceCount)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileNetworkInterfaceCountOutput) +} + +type GetIsInstanceProfilesProfileNumaCount struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` +} + +// GetIsInstanceProfilesProfileNumaCountInput is an input type that accepts GetIsInstanceProfilesProfileNumaCountArgs and GetIsInstanceProfilesProfileNumaCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileNumaCountInput` via: +// +// GetIsInstanceProfilesProfileNumaCountArgs{...} +type GetIsInstanceProfilesProfileNumaCountInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileNumaCountOutput() GetIsInstanceProfilesProfileNumaCountOutput + ToGetIsInstanceProfilesProfileNumaCountOutputWithContext(context.Context) GetIsInstanceProfilesProfileNumaCountOutput +} + +type GetIsInstanceProfilesProfileNumaCountArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsInstanceProfilesProfileNumaCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileNumaCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileNumaCountArgs) ToGetIsInstanceProfilesProfileNumaCountOutput() GetIsInstanceProfilesProfileNumaCountOutput { + return i.ToGetIsInstanceProfilesProfileNumaCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileNumaCountArgs) ToGetIsInstanceProfilesProfileNumaCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNumaCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileNumaCountOutput) +} + +// GetIsInstanceProfilesProfileNumaCountArrayInput is an input type that accepts GetIsInstanceProfilesProfileNumaCountArray and GetIsInstanceProfilesProfileNumaCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileNumaCountArrayInput` via: +// +// GetIsInstanceProfilesProfileNumaCountArray{ GetIsInstanceProfilesProfileNumaCountArgs{...} } +type GetIsInstanceProfilesProfileNumaCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileNumaCountArrayOutput() GetIsInstanceProfilesProfileNumaCountArrayOutput + ToGetIsInstanceProfilesProfileNumaCountArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileNumaCountArrayOutput +} + +type GetIsInstanceProfilesProfileNumaCountArray []GetIsInstanceProfilesProfileNumaCountInput + +func (GetIsInstanceProfilesProfileNumaCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileNumaCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileNumaCountArray) ToGetIsInstanceProfilesProfileNumaCountArrayOutput() GetIsInstanceProfilesProfileNumaCountArrayOutput { + return i.ToGetIsInstanceProfilesProfileNumaCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileNumaCountArray) ToGetIsInstanceProfilesProfileNumaCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNumaCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileNumaCountArrayOutput) +} + +type GetIsInstanceProfilesProfileNumaCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileNumaCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileNumaCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileNumaCountOutput) ToGetIsInstanceProfilesProfileNumaCountOutput() GetIsInstanceProfilesProfileNumaCountOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNumaCountOutput) ToGetIsInstanceProfilesProfileNumaCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNumaCountOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileNumaCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileNumaCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileNumaCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileNumaCount) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsInstanceProfilesProfileNumaCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileNumaCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileNumaCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileNumaCountArrayOutput) ToGetIsInstanceProfilesProfileNumaCountArrayOutput() GetIsInstanceProfilesProfileNumaCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNumaCountArrayOutput) ToGetIsInstanceProfilesProfileNumaCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileNumaCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileNumaCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileNumaCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileNumaCount { + return vs[0].([]GetIsInstanceProfilesProfileNumaCount)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileNumaCountOutput) +} + +type GetIsInstanceProfilesProfilePortSpeed struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` +} + +// GetIsInstanceProfilesProfilePortSpeedInput is an input type that accepts GetIsInstanceProfilesProfilePortSpeedArgs and GetIsInstanceProfilesProfilePortSpeedOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfilePortSpeedInput` via: +// +// GetIsInstanceProfilesProfilePortSpeedArgs{...} +type GetIsInstanceProfilesProfilePortSpeedInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfilePortSpeedOutput() GetIsInstanceProfilesProfilePortSpeedOutput + ToGetIsInstanceProfilesProfilePortSpeedOutputWithContext(context.Context) GetIsInstanceProfilesProfilePortSpeedOutput +} + +type GetIsInstanceProfilesProfilePortSpeedArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetIsInstanceProfilesProfilePortSpeedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfilePortSpeed)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfilePortSpeedArgs) ToGetIsInstanceProfilesProfilePortSpeedOutput() GetIsInstanceProfilesProfilePortSpeedOutput { + return i.ToGetIsInstanceProfilesProfilePortSpeedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfilePortSpeedArgs) ToGetIsInstanceProfilesProfilePortSpeedOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfilePortSpeedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfilePortSpeedOutput) +} + +// GetIsInstanceProfilesProfilePortSpeedArrayInput is an input type that accepts GetIsInstanceProfilesProfilePortSpeedArray and GetIsInstanceProfilesProfilePortSpeedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfilePortSpeedArrayInput` via: +// +// GetIsInstanceProfilesProfilePortSpeedArray{ GetIsInstanceProfilesProfilePortSpeedArgs{...} } +type GetIsInstanceProfilesProfilePortSpeedArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfilePortSpeedArrayOutput() GetIsInstanceProfilesProfilePortSpeedArrayOutput + ToGetIsInstanceProfilesProfilePortSpeedArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfilePortSpeedArrayOutput +} + +type GetIsInstanceProfilesProfilePortSpeedArray []GetIsInstanceProfilesProfilePortSpeedInput + +func (GetIsInstanceProfilesProfilePortSpeedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfilePortSpeed)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfilePortSpeedArray) ToGetIsInstanceProfilesProfilePortSpeedArrayOutput() GetIsInstanceProfilesProfilePortSpeedArrayOutput { + return i.ToGetIsInstanceProfilesProfilePortSpeedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfilePortSpeedArray) ToGetIsInstanceProfilesProfilePortSpeedArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfilePortSpeedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfilePortSpeedArrayOutput) +} + +type GetIsInstanceProfilesProfilePortSpeedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfilePortSpeedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfilePortSpeed)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfilePortSpeedOutput) ToGetIsInstanceProfilesProfilePortSpeedOutput() GetIsInstanceProfilesProfilePortSpeedOutput { + return o +} + +func (o GetIsInstanceProfilesProfilePortSpeedOutput) ToGetIsInstanceProfilesProfilePortSpeedOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfilePortSpeedOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfilePortSpeedOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfilePortSpeed) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfilePortSpeedOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfilePortSpeed) int { return v.Value }).(pulumi.IntOutput) +} + +type GetIsInstanceProfilesProfilePortSpeedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfilePortSpeedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfilePortSpeed)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfilePortSpeedArrayOutput) ToGetIsInstanceProfilesProfilePortSpeedArrayOutput() GetIsInstanceProfilesProfilePortSpeedArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfilePortSpeedArrayOutput) ToGetIsInstanceProfilesProfilePortSpeedArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfilePortSpeedArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfilePortSpeedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfilePortSpeedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfilePortSpeed { + return vs[0].([]GetIsInstanceProfilesProfilePortSpeed)[vs[1].(int)] + }).(GetIsInstanceProfilesProfilePortSpeedOutput) +} + +type GetIsInstanceProfilesProfileReservationTerm struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The supported committed use terms for a reservation using this profile + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileReservationTermInput is an input type that accepts GetIsInstanceProfilesProfileReservationTermArgs and GetIsInstanceProfilesProfileReservationTermOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileReservationTermInput` via: +// +// GetIsInstanceProfilesProfileReservationTermArgs{...} +type GetIsInstanceProfilesProfileReservationTermInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileReservationTermOutput() GetIsInstanceProfilesProfileReservationTermOutput + ToGetIsInstanceProfilesProfileReservationTermOutputWithContext(context.Context) GetIsInstanceProfilesProfileReservationTermOutput +} + +type GetIsInstanceProfilesProfileReservationTermArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported committed use terms for a reservation using this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileReservationTermArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileReservationTerm)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileReservationTermArgs) ToGetIsInstanceProfilesProfileReservationTermOutput() GetIsInstanceProfilesProfileReservationTermOutput { + return i.ToGetIsInstanceProfilesProfileReservationTermOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileReservationTermArgs) ToGetIsInstanceProfilesProfileReservationTermOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileReservationTermOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileReservationTermOutput) +} + +// GetIsInstanceProfilesProfileReservationTermArrayInput is an input type that accepts GetIsInstanceProfilesProfileReservationTermArray and GetIsInstanceProfilesProfileReservationTermArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileReservationTermArrayInput` via: +// +// GetIsInstanceProfilesProfileReservationTermArray{ GetIsInstanceProfilesProfileReservationTermArgs{...} } +type GetIsInstanceProfilesProfileReservationTermArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileReservationTermArrayOutput() GetIsInstanceProfilesProfileReservationTermArrayOutput + ToGetIsInstanceProfilesProfileReservationTermArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileReservationTermArrayOutput +} + +type GetIsInstanceProfilesProfileReservationTermArray []GetIsInstanceProfilesProfileReservationTermInput + +func (GetIsInstanceProfilesProfileReservationTermArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileReservationTerm)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileReservationTermArray) ToGetIsInstanceProfilesProfileReservationTermArrayOutput() GetIsInstanceProfilesProfileReservationTermArrayOutput { + return i.ToGetIsInstanceProfilesProfileReservationTermArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileReservationTermArray) ToGetIsInstanceProfilesProfileReservationTermArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileReservationTermArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileReservationTermArrayOutput) +} + +type GetIsInstanceProfilesProfileReservationTermOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileReservationTermOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileReservationTerm)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileReservationTermOutput) ToGetIsInstanceProfilesProfileReservationTermOutput() GetIsInstanceProfilesProfileReservationTermOutput { + return o +} + +func (o GetIsInstanceProfilesProfileReservationTermOutput) ToGetIsInstanceProfilesProfileReservationTermOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileReservationTermOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileReservationTermOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileReservationTerm) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported committed use terms for a reservation using this profile +func (o GetIsInstanceProfilesProfileReservationTermOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileReservationTerm) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfilesProfileReservationTermArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileReservationTermArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileReservationTerm)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileReservationTermArrayOutput) ToGetIsInstanceProfilesProfileReservationTermArrayOutput() GetIsInstanceProfilesProfileReservationTermArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileReservationTermArrayOutput) ToGetIsInstanceProfilesProfileReservationTermArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileReservationTermArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileReservationTermArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileReservationTermOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileReservationTerm { + return vs[0].([]GetIsInstanceProfilesProfileReservationTerm)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileReservationTermOutput) +} + +type GetIsInstanceProfilesProfileSecureBootMode struct { + // The default secure boot mode for this profile. + Default bool `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The supported `enableSecureBoot` values for an instance using this profile. + Values []bool `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileSecureBootModeInput is an input type that accepts GetIsInstanceProfilesProfileSecureBootModeArgs and GetIsInstanceProfilesProfileSecureBootModeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileSecureBootModeInput` via: +// +// GetIsInstanceProfilesProfileSecureBootModeArgs{...} +type GetIsInstanceProfilesProfileSecureBootModeInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileSecureBootModeOutput() GetIsInstanceProfilesProfileSecureBootModeOutput + ToGetIsInstanceProfilesProfileSecureBootModeOutputWithContext(context.Context) GetIsInstanceProfilesProfileSecureBootModeOutput +} + +type GetIsInstanceProfilesProfileSecureBootModeArgs struct { + // The default secure boot mode for this profile. + Default pulumi.BoolInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported `enableSecureBoot` values for an instance using this profile. + Values pulumi.BoolArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileSecureBootModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileSecureBootMode)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileSecureBootModeArgs) ToGetIsInstanceProfilesProfileSecureBootModeOutput() GetIsInstanceProfilesProfileSecureBootModeOutput { + return i.ToGetIsInstanceProfilesProfileSecureBootModeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileSecureBootModeArgs) ToGetIsInstanceProfilesProfileSecureBootModeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileSecureBootModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileSecureBootModeOutput) +} + +// GetIsInstanceProfilesProfileSecureBootModeArrayInput is an input type that accepts GetIsInstanceProfilesProfileSecureBootModeArray and GetIsInstanceProfilesProfileSecureBootModeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileSecureBootModeArrayInput` via: +// +// GetIsInstanceProfilesProfileSecureBootModeArray{ GetIsInstanceProfilesProfileSecureBootModeArgs{...} } +type GetIsInstanceProfilesProfileSecureBootModeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileSecureBootModeArrayOutput() GetIsInstanceProfilesProfileSecureBootModeArrayOutput + ToGetIsInstanceProfilesProfileSecureBootModeArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileSecureBootModeArrayOutput +} + +type GetIsInstanceProfilesProfileSecureBootModeArray []GetIsInstanceProfilesProfileSecureBootModeInput + +func (GetIsInstanceProfilesProfileSecureBootModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileSecureBootMode)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileSecureBootModeArray) ToGetIsInstanceProfilesProfileSecureBootModeArrayOutput() GetIsInstanceProfilesProfileSecureBootModeArrayOutput { + return i.ToGetIsInstanceProfilesProfileSecureBootModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileSecureBootModeArray) ToGetIsInstanceProfilesProfileSecureBootModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileSecureBootModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileSecureBootModeArrayOutput) +} + +type GetIsInstanceProfilesProfileSecureBootModeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileSecureBootModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileSecureBootMode)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileSecureBootModeOutput) ToGetIsInstanceProfilesProfileSecureBootModeOutput() GetIsInstanceProfilesProfileSecureBootModeOutput { + return o +} + +func (o GetIsInstanceProfilesProfileSecureBootModeOutput) ToGetIsInstanceProfilesProfileSecureBootModeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileSecureBootModeOutput { + return o +} + +// The default secure boot mode for this profile. +func (o GetIsInstanceProfilesProfileSecureBootModeOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileSecureBootMode) bool { return v.Default }).(pulumi.BoolOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileSecureBootModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileSecureBootMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported `enableSecureBoot` values for an instance using this profile. +func (o GetIsInstanceProfilesProfileSecureBootModeOutput) Values() pulumi.BoolArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileSecureBootMode) []bool { return v.Values }).(pulumi.BoolArrayOutput) +} + +type GetIsInstanceProfilesProfileSecureBootModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileSecureBootModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileSecureBootMode)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileSecureBootModeArrayOutput) ToGetIsInstanceProfilesProfileSecureBootModeArrayOutput() GetIsInstanceProfilesProfileSecureBootModeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileSecureBootModeArrayOutput) ToGetIsInstanceProfilesProfileSecureBootModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileSecureBootModeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileSecureBootModeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileSecureBootModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileSecureBootMode { + return vs[0].([]GetIsInstanceProfilesProfileSecureBootMode)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileSecureBootModeOutput) +} + +type GetIsInstanceProfilesProfileSupportedClusterNetworkProfile struct { + // The URL for this cluster network profile. + Href string `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceProfilesProfileSupportedClusterNetworkProfileInput is an input type that accepts GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArgs and GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileSupportedClusterNetworkProfileInput` via: +// +// GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArgs{...} +type GetIsInstanceProfilesProfileSupportedClusterNetworkProfileInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput() GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput + ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutputWithContext(context.Context) GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput +} + +type GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArgs struct { + // The URL for this cluster network profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this cluster network profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileSupportedClusterNetworkProfile)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArgs) ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput() GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput { + return i.ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArgs) ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput) +} + +// GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayInput is an input type that accepts GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArray and GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayInput` via: +// +// GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArray{ GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArgs{...} } +type GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput() GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput + ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput +} + +type GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArray []GetIsInstanceProfilesProfileSupportedClusterNetworkProfileInput + +func (GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileSupportedClusterNetworkProfile)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArray) ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput() GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput { + return i.ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArray) ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput) +} + +type GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileSupportedClusterNetworkProfile)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput) ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput() GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput { + return o +} + +func (o GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput) ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput { + return o +} + +// The URL for this cluster network profile. +func (o GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileSupportedClusterNetworkProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this cluster network profile. +func (o GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileSupportedClusterNetworkProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileSupportedClusterNetworkProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileSupportedClusterNetworkProfile)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput) ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput() GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput) ToGetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileSupportedClusterNetworkProfile { + return vs[0].([]GetIsInstanceProfilesProfileSupportedClusterNetworkProfile)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput) +} + +type GetIsInstanceProfilesProfileTotalVolumeBandwidth struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileTotalVolumeBandwidthInput is an input type that accepts GetIsInstanceProfilesProfileTotalVolumeBandwidthArgs and GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileTotalVolumeBandwidthInput` via: +// +// GetIsInstanceProfilesProfileTotalVolumeBandwidthArgs{...} +type GetIsInstanceProfilesProfileTotalVolumeBandwidthInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileTotalVolumeBandwidthOutput() GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput + ToGetIsInstanceProfilesProfileTotalVolumeBandwidthOutputWithContext(context.Context) GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput +} + +type GetIsInstanceProfilesProfileTotalVolumeBandwidthArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileTotalVolumeBandwidthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileTotalVolumeBandwidth)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileTotalVolumeBandwidthArgs) ToGetIsInstanceProfilesProfileTotalVolumeBandwidthOutput() GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput { + return i.ToGetIsInstanceProfilesProfileTotalVolumeBandwidthOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileTotalVolumeBandwidthArgs) ToGetIsInstanceProfilesProfileTotalVolumeBandwidthOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) +} + +// GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayInput is an input type that accepts GetIsInstanceProfilesProfileTotalVolumeBandwidthArray and GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayInput` via: +// +// GetIsInstanceProfilesProfileTotalVolumeBandwidthArray{ GetIsInstanceProfilesProfileTotalVolumeBandwidthArgs{...} } +type GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput() GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput + ToGetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput +} + +type GetIsInstanceProfilesProfileTotalVolumeBandwidthArray []GetIsInstanceProfilesProfileTotalVolumeBandwidthInput + +func (GetIsInstanceProfilesProfileTotalVolumeBandwidthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileTotalVolumeBandwidth)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileTotalVolumeBandwidthArray) ToGetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput() GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput { + return i.ToGetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileTotalVolumeBandwidthArray) ToGetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput) +} + +type GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileTotalVolumeBandwidth)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) ToGetIsInstanceProfilesProfileTotalVolumeBandwidthOutput() GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput { + return o +} + +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) ToGetIsInstanceProfilesProfileTotalVolumeBandwidthOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileTotalVolumeBandwidth) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileTotalVolumeBandwidth) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileTotalVolumeBandwidth) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileTotalVolumeBandwidth) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileTotalVolumeBandwidth) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileTotalVolumeBandwidth) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileTotalVolumeBandwidth) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileTotalVolumeBandwidth)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput) ToGetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput() GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput) ToGetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileTotalVolumeBandwidth { + return vs[0].([]GetIsInstanceProfilesProfileTotalVolumeBandwidth)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput) +} + +type GetIsInstanceProfilesProfileVcpuArchitecture struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The VCPU architecture for an instance with this profile. + Value string `pulumi:"value"` +} + +// GetIsInstanceProfilesProfileVcpuArchitectureInput is an input type that accepts GetIsInstanceProfilesProfileVcpuArchitectureArgs and GetIsInstanceProfilesProfileVcpuArchitectureOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileVcpuArchitectureInput` via: +// +// GetIsInstanceProfilesProfileVcpuArchitectureArgs{...} +type GetIsInstanceProfilesProfileVcpuArchitectureInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileVcpuArchitectureOutput() GetIsInstanceProfilesProfileVcpuArchitectureOutput + ToGetIsInstanceProfilesProfileVcpuArchitectureOutputWithContext(context.Context) GetIsInstanceProfilesProfileVcpuArchitectureOutput +} + +type GetIsInstanceProfilesProfileVcpuArchitectureArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The VCPU architecture for an instance with this profile. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsInstanceProfilesProfileVcpuArchitectureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuArchitecture)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileVcpuArchitectureArgs) ToGetIsInstanceProfilesProfileVcpuArchitectureOutput() GetIsInstanceProfilesProfileVcpuArchitectureOutput { + return i.ToGetIsInstanceProfilesProfileVcpuArchitectureOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileVcpuArchitectureArgs) ToGetIsInstanceProfilesProfileVcpuArchitectureOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuArchitectureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileVcpuArchitectureOutput) +} + +// GetIsInstanceProfilesProfileVcpuArchitectureArrayInput is an input type that accepts GetIsInstanceProfilesProfileVcpuArchitectureArray and GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileVcpuArchitectureArrayInput` via: +// +// GetIsInstanceProfilesProfileVcpuArchitectureArray{ GetIsInstanceProfilesProfileVcpuArchitectureArgs{...} } +type GetIsInstanceProfilesProfileVcpuArchitectureArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileVcpuArchitectureArrayOutput() GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput + ToGetIsInstanceProfilesProfileVcpuArchitectureArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput +} + +type GetIsInstanceProfilesProfileVcpuArchitectureArray []GetIsInstanceProfilesProfileVcpuArchitectureInput + +func (GetIsInstanceProfilesProfileVcpuArchitectureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileVcpuArchitecture)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileVcpuArchitectureArray) ToGetIsInstanceProfilesProfileVcpuArchitectureArrayOutput() GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput { + return i.ToGetIsInstanceProfilesProfileVcpuArchitectureArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileVcpuArchitectureArray) ToGetIsInstanceProfilesProfileVcpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput) +} + +type GetIsInstanceProfilesProfileVcpuArchitectureOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileVcpuArchitectureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuArchitecture)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileVcpuArchitectureOutput) ToGetIsInstanceProfilesProfileVcpuArchitectureOutput() GetIsInstanceProfilesProfileVcpuArchitectureOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuArchitectureOutput) ToGetIsInstanceProfilesProfileVcpuArchitectureOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuArchitectureOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileVcpuArchitectureOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuArchitecture) string { return v.Type }).(pulumi.StringOutput) +} + +// The VCPU architecture for an instance with this profile. +func (o GetIsInstanceProfilesProfileVcpuArchitectureOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuArchitecture) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileVcpuArchitecture)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput) ToGetIsInstanceProfilesProfileVcpuArchitectureArrayOutput() GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput) ToGetIsInstanceProfilesProfileVcpuArchitectureArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileVcpuArchitectureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileVcpuArchitecture { + return vs[0].([]GetIsInstanceProfilesProfileVcpuArchitecture)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileVcpuArchitectureOutput) +} + +type GetIsInstanceProfilesProfileVcpuCount struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileVcpuCountInput is an input type that accepts GetIsInstanceProfilesProfileVcpuCountArgs and GetIsInstanceProfilesProfileVcpuCountOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileVcpuCountInput` via: +// +// GetIsInstanceProfilesProfileVcpuCountArgs{...} +type GetIsInstanceProfilesProfileVcpuCountInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileVcpuCountOutput() GetIsInstanceProfilesProfileVcpuCountOutput + ToGetIsInstanceProfilesProfileVcpuCountOutputWithContext(context.Context) GetIsInstanceProfilesProfileVcpuCountOutput +} + +type GetIsInstanceProfilesProfileVcpuCountArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileVcpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileVcpuCountArgs) ToGetIsInstanceProfilesProfileVcpuCountOutput() GetIsInstanceProfilesProfileVcpuCountOutput { + return i.ToGetIsInstanceProfilesProfileVcpuCountOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileVcpuCountArgs) ToGetIsInstanceProfilesProfileVcpuCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileVcpuCountOutput) +} + +// GetIsInstanceProfilesProfileVcpuCountArrayInput is an input type that accepts GetIsInstanceProfilesProfileVcpuCountArray and GetIsInstanceProfilesProfileVcpuCountArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileVcpuCountArrayInput` via: +// +// GetIsInstanceProfilesProfileVcpuCountArray{ GetIsInstanceProfilesProfileVcpuCountArgs{...} } +type GetIsInstanceProfilesProfileVcpuCountArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileVcpuCountArrayOutput() GetIsInstanceProfilesProfileVcpuCountArrayOutput + ToGetIsInstanceProfilesProfileVcpuCountArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileVcpuCountArrayOutput +} + +type GetIsInstanceProfilesProfileVcpuCountArray []GetIsInstanceProfilesProfileVcpuCountInput + +func (GetIsInstanceProfilesProfileVcpuCountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileVcpuCount)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileVcpuCountArray) ToGetIsInstanceProfilesProfileVcpuCountArrayOutput() GetIsInstanceProfilesProfileVcpuCountArrayOutput { + return i.ToGetIsInstanceProfilesProfileVcpuCountArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileVcpuCountArray) ToGetIsInstanceProfilesProfileVcpuCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuCountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileVcpuCountArrayOutput) +} + +type GetIsInstanceProfilesProfileVcpuCountOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileVcpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileVcpuCountOutput) ToGetIsInstanceProfilesProfileVcpuCountOutput() GetIsInstanceProfilesProfileVcpuCountOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuCountOutput) ToGetIsInstanceProfilesProfileVcpuCountOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuCountOutput { + return o +} + +// The default value for this profile field. +func (o GetIsInstanceProfilesProfileVcpuCountOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuCount) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsInstanceProfilesProfileVcpuCountOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuCount) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsInstanceProfilesProfileVcpuCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuCount) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsInstanceProfilesProfileVcpuCountOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuCount) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileVcpuCountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuCount) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsInstanceProfilesProfileVcpuCountOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuCount) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsInstanceProfilesProfileVcpuCountOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuCount) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsInstanceProfilesProfileVcpuCountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileVcpuCountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileVcpuCount)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileVcpuCountArrayOutput) ToGetIsInstanceProfilesProfileVcpuCountArrayOutput() GetIsInstanceProfilesProfileVcpuCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuCountArrayOutput) ToGetIsInstanceProfilesProfileVcpuCountArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuCountArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuCountArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileVcpuCountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileVcpuCount { + return vs[0].([]GetIsInstanceProfilesProfileVcpuCount)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileVcpuCountOutput) +} + +type GetIsInstanceProfilesProfileVcpuManufacturer struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The VCPU manufacturer for an instance with this profile. + Value string `pulumi:"value"` +} + +// GetIsInstanceProfilesProfileVcpuManufacturerInput is an input type that accepts GetIsInstanceProfilesProfileVcpuManufacturerArgs and GetIsInstanceProfilesProfileVcpuManufacturerOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileVcpuManufacturerInput` via: +// +// GetIsInstanceProfilesProfileVcpuManufacturerArgs{...} +type GetIsInstanceProfilesProfileVcpuManufacturerInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileVcpuManufacturerOutput() GetIsInstanceProfilesProfileVcpuManufacturerOutput + ToGetIsInstanceProfilesProfileVcpuManufacturerOutputWithContext(context.Context) GetIsInstanceProfilesProfileVcpuManufacturerOutput +} + +type GetIsInstanceProfilesProfileVcpuManufacturerArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The VCPU manufacturer for an instance with this profile. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsInstanceProfilesProfileVcpuManufacturerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuManufacturer)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileVcpuManufacturerArgs) ToGetIsInstanceProfilesProfileVcpuManufacturerOutput() GetIsInstanceProfilesProfileVcpuManufacturerOutput { + return i.ToGetIsInstanceProfilesProfileVcpuManufacturerOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileVcpuManufacturerArgs) ToGetIsInstanceProfilesProfileVcpuManufacturerOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuManufacturerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileVcpuManufacturerOutput) +} + +// GetIsInstanceProfilesProfileVcpuManufacturerArrayInput is an input type that accepts GetIsInstanceProfilesProfileVcpuManufacturerArray and GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileVcpuManufacturerArrayInput` via: +// +// GetIsInstanceProfilesProfileVcpuManufacturerArray{ GetIsInstanceProfilesProfileVcpuManufacturerArgs{...} } +type GetIsInstanceProfilesProfileVcpuManufacturerArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileVcpuManufacturerArrayOutput() GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput + ToGetIsInstanceProfilesProfileVcpuManufacturerArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput +} + +type GetIsInstanceProfilesProfileVcpuManufacturerArray []GetIsInstanceProfilesProfileVcpuManufacturerInput + +func (GetIsInstanceProfilesProfileVcpuManufacturerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileVcpuManufacturer)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileVcpuManufacturerArray) ToGetIsInstanceProfilesProfileVcpuManufacturerArrayOutput() GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput { + return i.ToGetIsInstanceProfilesProfileVcpuManufacturerArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileVcpuManufacturerArray) ToGetIsInstanceProfilesProfileVcpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput) +} + +type GetIsInstanceProfilesProfileVcpuManufacturerOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileVcpuManufacturerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuManufacturer)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileVcpuManufacturerOutput) ToGetIsInstanceProfilesProfileVcpuManufacturerOutput() GetIsInstanceProfilesProfileVcpuManufacturerOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuManufacturerOutput) ToGetIsInstanceProfilesProfileVcpuManufacturerOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuManufacturerOutput { + return o +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileVcpuManufacturerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuManufacturer) string { return v.Type }).(pulumi.StringOutput) +} + +// The VCPU manufacturer for an instance with this profile. +func (o GetIsInstanceProfilesProfileVcpuManufacturerOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVcpuManufacturer) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileVcpuManufacturer)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput) ToGetIsInstanceProfilesProfileVcpuManufacturerArrayOutput() GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput) ToGetIsInstanceProfilesProfileVcpuManufacturerArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileVcpuManufacturerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileVcpuManufacturer { + return vs[0].([]GetIsInstanceProfilesProfileVcpuManufacturer)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileVcpuManufacturerOutput) +} + +type GetIsInstanceProfilesProfileVolumeBandwidthQosMode struct { + // The default volume bandwidth QoS mode for this profile. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The permitted volume bandwidth QoS modes for an instance using this profile. + Values []string `pulumi:"values"` +} + +// GetIsInstanceProfilesProfileVolumeBandwidthQosModeInput is an input type that accepts GetIsInstanceProfilesProfileVolumeBandwidthQosModeArgs and GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileVolumeBandwidthQosModeInput` via: +// +// GetIsInstanceProfilesProfileVolumeBandwidthQosModeArgs{...} +type GetIsInstanceProfilesProfileVolumeBandwidthQosModeInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput() GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput + ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeOutputWithContext(context.Context) GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput +} + +type GetIsInstanceProfilesProfileVolumeBandwidthQosModeArgs struct { + // The default volume bandwidth QoS mode for this profile. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The permitted volume bandwidth QoS modes for an instance using this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsInstanceProfilesProfileVolumeBandwidthQosModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileVolumeBandwidthQosMode)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileVolumeBandwidthQosModeArgs) ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput() GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput { + return i.ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileVolumeBandwidthQosModeArgs) ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput) +} + +// GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayInput is an input type that accepts GetIsInstanceProfilesProfileVolumeBandwidthQosModeArray and GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayInput` via: +// +// GetIsInstanceProfilesProfileVolumeBandwidthQosModeArray{ GetIsInstanceProfilesProfileVolumeBandwidthQosModeArgs{...} } +type GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayInput interface { + pulumi.Input + + ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput() GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput + ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutputWithContext(context.Context) GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput +} + +type GetIsInstanceProfilesProfileVolumeBandwidthQosModeArray []GetIsInstanceProfilesProfileVolumeBandwidthQosModeInput + +func (GetIsInstanceProfilesProfileVolumeBandwidthQosModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileVolumeBandwidthQosMode)(nil)).Elem() +} + +func (i GetIsInstanceProfilesProfileVolumeBandwidthQosModeArray) ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput() GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput { + return i.ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceProfilesProfileVolumeBandwidthQosModeArray) ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput) +} + +type GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceProfilesProfileVolumeBandwidthQosMode)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput) ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput() GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput) ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput { + return o +} + +// The default volume bandwidth QoS mode for this profile. +func (o GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVolumeBandwidthQosMode) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVolumeBandwidthQosMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The permitted volume bandwidth QoS modes for an instance using this profile. +func (o GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceProfilesProfileVolumeBandwidthQosMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceProfilesProfileVolumeBandwidthQosMode)(nil)).Elem() +} + +func (o GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput) ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput() GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput) ToGetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutputWithContext(ctx context.Context) GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput { + return o +} + +func (o GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceProfilesProfileVolumeBandwidthQosMode { + return vs[0].([]GetIsInstanceProfilesProfileVolumeBandwidthQosMode)[vs[1].(int)] + }).(GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput) +} + +type GetIsInstanceReservation struct { + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceReservationDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceReservationInput is an input type that accepts GetIsInstanceReservationArgs and GetIsInstanceReservationOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationInput` via: +// +// GetIsInstanceReservationArgs{...} +type GetIsInstanceReservationInput interface { + pulumi.Input + + ToGetIsInstanceReservationOutput() GetIsInstanceReservationOutput + ToGetIsInstanceReservationOutputWithContext(context.Context) GetIsInstanceReservationOutput +} + +type GetIsInstanceReservationArgs struct { + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceReservationDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservation)(nil)).Elem() +} + +func (i GetIsInstanceReservationArgs) ToGetIsInstanceReservationOutput() GetIsInstanceReservationOutput { + return i.ToGetIsInstanceReservationOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationArgs) ToGetIsInstanceReservationOutputWithContext(ctx context.Context) GetIsInstanceReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationOutput) +} + +// GetIsInstanceReservationArrayInput is an input type that accepts GetIsInstanceReservationArray and GetIsInstanceReservationArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationArrayInput` via: +// +// GetIsInstanceReservationArray{ GetIsInstanceReservationArgs{...} } +type GetIsInstanceReservationArrayInput interface { + pulumi.Input + + ToGetIsInstanceReservationArrayOutput() GetIsInstanceReservationArrayOutput + ToGetIsInstanceReservationArrayOutputWithContext(context.Context) GetIsInstanceReservationArrayOutput +} + +type GetIsInstanceReservationArray []GetIsInstanceReservationInput + +func (GetIsInstanceReservationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservation)(nil)).Elem() +} + +func (i GetIsInstanceReservationArray) ToGetIsInstanceReservationArrayOutput() GetIsInstanceReservationArrayOutput { + return i.ToGetIsInstanceReservationArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationArray) ToGetIsInstanceReservationArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationArrayOutput) +} + +type GetIsInstanceReservationOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservation)(nil)).Elem() +} + +func (o GetIsInstanceReservationOutput) ToGetIsInstanceReservationOutput() GetIsInstanceReservationOutput { + return o +} + +func (o GetIsInstanceReservationOutput) ToGetIsInstanceReservationOutputWithContext(ctx context.Context) GetIsInstanceReservationOutput { + return o +} + +// The CRN for this reservation. +func (o GetIsInstanceReservationOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservation) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceReservationOutput) Deleteds() GetIsInstanceReservationDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceReservation) []GetIsInstanceReservationDeleted { return v.Deleteds }).(GetIsInstanceReservationDeletedArrayOutput) +} + +// The URL for this reservation. +func (o GetIsInstanceReservationOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservation) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsInstanceReservationOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservation) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o GetIsInstanceReservationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservation) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceReservationOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservation) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceReservationArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservation)(nil)).Elem() +} + +func (o GetIsInstanceReservationArrayOutput) ToGetIsInstanceReservationArrayOutput() GetIsInstanceReservationArrayOutput { + return o +} + +func (o GetIsInstanceReservationArrayOutput) ToGetIsInstanceReservationArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationArrayOutput { + return o +} + +func (o GetIsInstanceReservationArrayOutput) Index(i pulumi.IntInput) GetIsInstanceReservationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceReservation { + return vs[0].([]GetIsInstanceReservation)[vs[1].(int)] + }).(GetIsInstanceReservationOutput) +} + +type GetIsInstanceReservationAffinity struct { + // The reservation affinity policy to use for this virtual server instance. + Policy string `pulumi:"policy"` + // The pool of reservations available for use by this virtual server instance. + Pools []GetIsInstanceReservationAffinityPool `pulumi:"pools"` +} + +// GetIsInstanceReservationAffinityInput is an input type that accepts GetIsInstanceReservationAffinityArgs and GetIsInstanceReservationAffinityOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationAffinityInput` via: +// +// GetIsInstanceReservationAffinityArgs{...} +type GetIsInstanceReservationAffinityInput interface { + pulumi.Input + + ToGetIsInstanceReservationAffinityOutput() GetIsInstanceReservationAffinityOutput + ToGetIsInstanceReservationAffinityOutputWithContext(context.Context) GetIsInstanceReservationAffinityOutput +} + +type GetIsInstanceReservationAffinityArgs struct { + // The reservation affinity policy to use for this virtual server instance. + Policy pulumi.StringInput `pulumi:"policy"` + // The pool of reservations available for use by this virtual server instance. + Pools GetIsInstanceReservationAffinityPoolArrayInput `pulumi:"pools"` +} + +func (GetIsInstanceReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservationAffinity)(nil)).Elem() +} + +func (i GetIsInstanceReservationAffinityArgs) ToGetIsInstanceReservationAffinityOutput() GetIsInstanceReservationAffinityOutput { + return i.ToGetIsInstanceReservationAffinityOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationAffinityArgs) ToGetIsInstanceReservationAffinityOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationAffinityOutput) +} + +// GetIsInstanceReservationAffinityArrayInput is an input type that accepts GetIsInstanceReservationAffinityArray and GetIsInstanceReservationAffinityArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationAffinityArrayInput` via: +// +// GetIsInstanceReservationAffinityArray{ GetIsInstanceReservationAffinityArgs{...} } +type GetIsInstanceReservationAffinityArrayInput interface { + pulumi.Input + + ToGetIsInstanceReservationAffinityArrayOutput() GetIsInstanceReservationAffinityArrayOutput + ToGetIsInstanceReservationAffinityArrayOutputWithContext(context.Context) GetIsInstanceReservationAffinityArrayOutput +} + +type GetIsInstanceReservationAffinityArray []GetIsInstanceReservationAffinityInput + +func (GetIsInstanceReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservationAffinity)(nil)).Elem() +} + +func (i GetIsInstanceReservationAffinityArray) ToGetIsInstanceReservationAffinityArrayOutput() GetIsInstanceReservationAffinityArrayOutput { + return i.ToGetIsInstanceReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationAffinityArray) ToGetIsInstanceReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationAffinityArrayOutput) +} + +type GetIsInstanceReservationAffinityOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservationAffinity)(nil)).Elem() +} + +func (o GetIsInstanceReservationAffinityOutput) ToGetIsInstanceReservationAffinityOutput() GetIsInstanceReservationAffinityOutput { + return o +} + +func (o GetIsInstanceReservationAffinityOutput) ToGetIsInstanceReservationAffinityOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this virtual server instance. +func (o GetIsInstanceReservationAffinityOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinity) string { return v.Policy }).(pulumi.StringOutput) +} + +// The pool of reservations available for use by this virtual server instance. +func (o GetIsInstanceReservationAffinityOutput) Pools() GetIsInstanceReservationAffinityPoolArrayOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinity) []GetIsInstanceReservationAffinityPool { return v.Pools }).(GetIsInstanceReservationAffinityPoolArrayOutput) +} + +type GetIsInstanceReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservationAffinity)(nil)).Elem() +} + +func (o GetIsInstanceReservationAffinityArrayOutput) ToGetIsInstanceReservationAffinityArrayOutput() GetIsInstanceReservationAffinityArrayOutput { + return o +} + +func (o GetIsInstanceReservationAffinityArrayOutput) ToGetIsInstanceReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityArrayOutput { + return o +} + +func (o GetIsInstanceReservationAffinityArrayOutput) Index(i pulumi.IntInput) GetIsInstanceReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceReservationAffinity { + return vs[0].([]GetIsInstanceReservationAffinity)[vs[1].(int)] + }).(GetIsInstanceReservationAffinityOutput) +} + +type GetIsInstanceReservationAffinityPool struct { + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstanceReservationAffinityPoolDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstanceReservationAffinityPoolInput is an input type that accepts GetIsInstanceReservationAffinityPoolArgs and GetIsInstanceReservationAffinityPoolOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationAffinityPoolInput` via: +// +// GetIsInstanceReservationAffinityPoolArgs{...} +type GetIsInstanceReservationAffinityPoolInput interface { + pulumi.Input + + ToGetIsInstanceReservationAffinityPoolOutput() GetIsInstanceReservationAffinityPoolOutput + ToGetIsInstanceReservationAffinityPoolOutputWithContext(context.Context) GetIsInstanceReservationAffinityPoolOutput +} + +type GetIsInstanceReservationAffinityPoolArgs struct { + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstanceReservationAffinityPoolDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstanceReservationAffinityPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservationAffinityPool)(nil)).Elem() +} + +func (i GetIsInstanceReservationAffinityPoolArgs) ToGetIsInstanceReservationAffinityPoolOutput() GetIsInstanceReservationAffinityPoolOutput { + return i.ToGetIsInstanceReservationAffinityPoolOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationAffinityPoolArgs) ToGetIsInstanceReservationAffinityPoolOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationAffinityPoolOutput) +} + +// GetIsInstanceReservationAffinityPoolArrayInput is an input type that accepts GetIsInstanceReservationAffinityPoolArray and GetIsInstanceReservationAffinityPoolArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationAffinityPoolArrayInput` via: +// +// GetIsInstanceReservationAffinityPoolArray{ GetIsInstanceReservationAffinityPoolArgs{...} } +type GetIsInstanceReservationAffinityPoolArrayInput interface { + pulumi.Input + + ToGetIsInstanceReservationAffinityPoolArrayOutput() GetIsInstanceReservationAffinityPoolArrayOutput + ToGetIsInstanceReservationAffinityPoolArrayOutputWithContext(context.Context) GetIsInstanceReservationAffinityPoolArrayOutput +} + +type GetIsInstanceReservationAffinityPoolArray []GetIsInstanceReservationAffinityPoolInput + +func (GetIsInstanceReservationAffinityPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservationAffinityPool)(nil)).Elem() +} + +func (i GetIsInstanceReservationAffinityPoolArray) ToGetIsInstanceReservationAffinityPoolArrayOutput() GetIsInstanceReservationAffinityPoolArrayOutput { + return i.ToGetIsInstanceReservationAffinityPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationAffinityPoolArray) ToGetIsInstanceReservationAffinityPoolArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationAffinityPoolArrayOutput) +} + +type GetIsInstanceReservationAffinityPoolOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationAffinityPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservationAffinityPool)(nil)).Elem() +} + +func (o GetIsInstanceReservationAffinityPoolOutput) ToGetIsInstanceReservationAffinityPoolOutput() GetIsInstanceReservationAffinityPoolOutput { + return o +} + +func (o GetIsInstanceReservationAffinityPoolOutput) ToGetIsInstanceReservationAffinityPoolOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityPoolOutput { + return o +} + +// The CRN for this reservation. +func (o GetIsInstanceReservationAffinityPoolOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinityPool) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstanceReservationAffinityPoolOutput) Deleteds() GetIsInstanceReservationAffinityPoolDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinityPool) []GetIsInstanceReservationAffinityPoolDeleted { + return v.Deleteds + }).(GetIsInstanceReservationAffinityPoolDeletedArrayOutput) +} + +// The URL for this reservation. +func (o GetIsInstanceReservationAffinityPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinityPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsInstanceReservationAffinityPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinityPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o GetIsInstanceReservationAffinityPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinityPool) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstanceReservationAffinityPoolOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinityPool) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstanceReservationAffinityPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationAffinityPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservationAffinityPool)(nil)).Elem() +} + +func (o GetIsInstanceReservationAffinityPoolArrayOutput) ToGetIsInstanceReservationAffinityPoolArrayOutput() GetIsInstanceReservationAffinityPoolArrayOutput { + return o +} + +func (o GetIsInstanceReservationAffinityPoolArrayOutput) ToGetIsInstanceReservationAffinityPoolArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityPoolArrayOutput { + return o +} + +func (o GetIsInstanceReservationAffinityPoolArrayOutput) Index(i pulumi.IntInput) GetIsInstanceReservationAffinityPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceReservationAffinityPool { + return vs[0].([]GetIsInstanceReservationAffinityPool)[vs[1].(int)] + }).(GetIsInstanceReservationAffinityPoolOutput) +} + +type GetIsInstanceReservationAffinityPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceReservationAffinityPoolDeletedInput is an input type that accepts GetIsInstanceReservationAffinityPoolDeletedArgs and GetIsInstanceReservationAffinityPoolDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationAffinityPoolDeletedInput` via: +// +// GetIsInstanceReservationAffinityPoolDeletedArgs{...} +type GetIsInstanceReservationAffinityPoolDeletedInput interface { + pulumi.Input + + ToGetIsInstanceReservationAffinityPoolDeletedOutput() GetIsInstanceReservationAffinityPoolDeletedOutput + ToGetIsInstanceReservationAffinityPoolDeletedOutputWithContext(context.Context) GetIsInstanceReservationAffinityPoolDeletedOutput +} + +type GetIsInstanceReservationAffinityPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceReservationAffinityPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i GetIsInstanceReservationAffinityPoolDeletedArgs) ToGetIsInstanceReservationAffinityPoolDeletedOutput() GetIsInstanceReservationAffinityPoolDeletedOutput { + return i.ToGetIsInstanceReservationAffinityPoolDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationAffinityPoolDeletedArgs) ToGetIsInstanceReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationAffinityPoolDeletedOutput) +} + +// GetIsInstanceReservationAffinityPoolDeletedArrayInput is an input type that accepts GetIsInstanceReservationAffinityPoolDeletedArray and GetIsInstanceReservationAffinityPoolDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationAffinityPoolDeletedArrayInput` via: +// +// GetIsInstanceReservationAffinityPoolDeletedArray{ GetIsInstanceReservationAffinityPoolDeletedArgs{...} } +type GetIsInstanceReservationAffinityPoolDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceReservationAffinityPoolDeletedArrayOutput() GetIsInstanceReservationAffinityPoolDeletedArrayOutput + ToGetIsInstanceReservationAffinityPoolDeletedArrayOutputWithContext(context.Context) GetIsInstanceReservationAffinityPoolDeletedArrayOutput +} + +type GetIsInstanceReservationAffinityPoolDeletedArray []GetIsInstanceReservationAffinityPoolDeletedInput + +func (GetIsInstanceReservationAffinityPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i GetIsInstanceReservationAffinityPoolDeletedArray) ToGetIsInstanceReservationAffinityPoolDeletedArrayOutput() GetIsInstanceReservationAffinityPoolDeletedArrayOutput { + return i.ToGetIsInstanceReservationAffinityPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationAffinityPoolDeletedArray) ToGetIsInstanceReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationAffinityPoolDeletedArrayOutput) +} + +type GetIsInstanceReservationAffinityPoolDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationAffinityPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o GetIsInstanceReservationAffinityPoolDeletedOutput) ToGetIsInstanceReservationAffinityPoolDeletedOutput() GetIsInstanceReservationAffinityPoolDeletedOutput { + return o +} + +func (o GetIsInstanceReservationAffinityPoolDeletedOutput) ToGetIsInstanceReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceReservationAffinityPoolDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservationAffinityPoolDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceReservationAffinityPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationAffinityPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o GetIsInstanceReservationAffinityPoolDeletedArrayOutput) ToGetIsInstanceReservationAffinityPoolDeletedArrayOutput() GetIsInstanceReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o GetIsInstanceReservationAffinityPoolDeletedArrayOutput) ToGetIsInstanceReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o GetIsInstanceReservationAffinityPoolDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceReservationAffinityPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceReservationAffinityPoolDeleted { + return vs[0].([]GetIsInstanceReservationAffinityPoolDeleted)[vs[1].(int)] + }).(GetIsInstanceReservationAffinityPoolDeletedOutput) +} + +type GetIsInstanceReservationDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceReservationDeletedInput is an input type that accepts GetIsInstanceReservationDeletedArgs and GetIsInstanceReservationDeletedOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationDeletedInput` via: +// +// GetIsInstanceReservationDeletedArgs{...} +type GetIsInstanceReservationDeletedInput interface { + pulumi.Input + + ToGetIsInstanceReservationDeletedOutput() GetIsInstanceReservationDeletedOutput + ToGetIsInstanceReservationDeletedOutputWithContext(context.Context) GetIsInstanceReservationDeletedOutput +} + +type GetIsInstanceReservationDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceReservationDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservationDeleted)(nil)).Elem() +} + +func (i GetIsInstanceReservationDeletedArgs) ToGetIsInstanceReservationDeletedOutput() GetIsInstanceReservationDeletedOutput { + return i.ToGetIsInstanceReservationDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationDeletedArgs) ToGetIsInstanceReservationDeletedOutputWithContext(ctx context.Context) GetIsInstanceReservationDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationDeletedOutput) +} + +// GetIsInstanceReservationDeletedArrayInput is an input type that accepts GetIsInstanceReservationDeletedArray and GetIsInstanceReservationDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceReservationDeletedArrayInput` via: +// +// GetIsInstanceReservationDeletedArray{ GetIsInstanceReservationDeletedArgs{...} } +type GetIsInstanceReservationDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstanceReservationDeletedArrayOutput() GetIsInstanceReservationDeletedArrayOutput + ToGetIsInstanceReservationDeletedArrayOutputWithContext(context.Context) GetIsInstanceReservationDeletedArrayOutput +} + +type GetIsInstanceReservationDeletedArray []GetIsInstanceReservationDeletedInput + +func (GetIsInstanceReservationDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservationDeleted)(nil)).Elem() +} + +func (i GetIsInstanceReservationDeletedArray) ToGetIsInstanceReservationDeletedArrayOutput() GetIsInstanceReservationDeletedArrayOutput { + return i.ToGetIsInstanceReservationDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceReservationDeletedArray) ToGetIsInstanceReservationDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceReservationDeletedArrayOutput) +} + +type GetIsInstanceReservationDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceReservationDeleted)(nil)).Elem() +} + +func (o GetIsInstanceReservationDeletedOutput) ToGetIsInstanceReservationDeletedOutput() GetIsInstanceReservationDeletedOutput { + return o +} + +func (o GetIsInstanceReservationDeletedOutput) ToGetIsInstanceReservationDeletedOutputWithContext(ctx context.Context) GetIsInstanceReservationDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstanceReservationDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceReservationDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceReservationDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceReservationDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceReservationDeleted)(nil)).Elem() +} + +func (o GetIsInstanceReservationDeletedArrayOutput) ToGetIsInstanceReservationDeletedArrayOutput() GetIsInstanceReservationDeletedArrayOutput { + return o +} + +func (o GetIsInstanceReservationDeletedArrayOutput) ToGetIsInstanceReservationDeletedArrayOutputWithContext(ctx context.Context) GetIsInstanceReservationDeletedArrayOutput { + return o +} + +func (o GetIsInstanceReservationDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstanceReservationDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceReservationDeleted { + return vs[0].([]GetIsInstanceReservationDeleted)[vs[1].(int)] + }).(GetIsInstanceReservationDeletedOutput) +} + +type GetIsInstanceStatusReason struct { + // A snake case string succinctly identifying the status reason + Code string `pulumi:"code"` + // An explanation of the status reason + Message string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstanceStatusReasonInput is an input type that accepts GetIsInstanceStatusReasonArgs and GetIsInstanceStatusReasonOutput values. +// You can construct a concrete instance of `GetIsInstanceStatusReasonInput` via: +// +// GetIsInstanceStatusReasonArgs{...} +type GetIsInstanceStatusReasonInput interface { + pulumi.Input + + ToGetIsInstanceStatusReasonOutput() GetIsInstanceStatusReasonOutput + ToGetIsInstanceStatusReasonOutputWithContext(context.Context) GetIsInstanceStatusReasonOutput +} + +type GetIsInstanceStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstanceStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceStatusReason)(nil)).Elem() +} + +func (i GetIsInstanceStatusReasonArgs) ToGetIsInstanceStatusReasonOutput() GetIsInstanceStatusReasonOutput { + return i.ToGetIsInstanceStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsInstanceStatusReasonArgs) ToGetIsInstanceStatusReasonOutputWithContext(ctx context.Context) GetIsInstanceStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceStatusReasonOutput) +} + +// GetIsInstanceStatusReasonArrayInput is an input type that accepts GetIsInstanceStatusReasonArray and GetIsInstanceStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceStatusReasonArrayInput` via: +// +// GetIsInstanceStatusReasonArray{ GetIsInstanceStatusReasonArgs{...} } +type GetIsInstanceStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsInstanceStatusReasonArrayOutput() GetIsInstanceStatusReasonArrayOutput + ToGetIsInstanceStatusReasonArrayOutputWithContext(context.Context) GetIsInstanceStatusReasonArrayOutput +} + +type GetIsInstanceStatusReasonArray []GetIsInstanceStatusReasonInput + +func (GetIsInstanceStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceStatusReason)(nil)).Elem() +} + +func (i GetIsInstanceStatusReasonArray) ToGetIsInstanceStatusReasonArrayOutput() GetIsInstanceStatusReasonArrayOutput { + return i.ToGetIsInstanceStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceStatusReasonArray) ToGetIsInstanceStatusReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceStatusReasonArrayOutput) +} + +type GetIsInstanceStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceStatusReason)(nil)).Elem() +} + +func (o GetIsInstanceStatusReasonOutput) ToGetIsInstanceStatusReasonOutput() GetIsInstanceStatusReasonOutput { + return o +} + +func (o GetIsInstanceStatusReasonOutput) ToGetIsInstanceStatusReasonOutputWithContext(ctx context.Context) GetIsInstanceStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o GetIsInstanceStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason +func (o GetIsInstanceStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason +func (o GetIsInstanceStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstanceStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceStatusReason)(nil)).Elem() +} + +func (o GetIsInstanceStatusReasonArrayOutput) ToGetIsInstanceStatusReasonArrayOutput() GetIsInstanceStatusReasonArrayOutput { + return o +} + +func (o GetIsInstanceStatusReasonArrayOutput) ToGetIsInstanceStatusReasonArrayOutputWithContext(ctx context.Context) GetIsInstanceStatusReasonArrayOutput { + return o +} + +func (o GetIsInstanceStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsInstanceStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceStatusReason { + return vs[0].([]GetIsInstanceStatusReason)[vs[1].(int)] + }).(GetIsInstanceStatusReasonOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachment struct { + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses []GetIsInstanceTemplateBootVolumeAttachmentAllowedUse `pulumi:"allowedUses"` + Bandwidth int `pulumi:"bandwidth"` + DeleteVolumeOnInstanceDelete bool `pulumi:"deleteVolumeOnInstanceDelete"` + Name string `pulumi:"name"` + Profile string `pulumi:"profile"` + Size int `pulumi:"size"` + // The snapshot from which to clone the volume. + SourceSnapshots []GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot `pulumi:"sourceSnapshots"` + // The user tags associated with this volume. + Tags []string `pulumi:"tags"` + Volume string `pulumi:"volume"` +} + +// GetIsInstanceTemplateBootVolumeAttachmentInput is an input type that accepts GetIsInstanceTemplateBootVolumeAttachmentArgs and GetIsInstanceTemplateBootVolumeAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateBootVolumeAttachmentInput` via: +// +// GetIsInstanceTemplateBootVolumeAttachmentArgs{...} +type GetIsInstanceTemplateBootVolumeAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplateBootVolumeAttachmentOutput() GetIsInstanceTemplateBootVolumeAttachmentOutput + ToGetIsInstanceTemplateBootVolumeAttachmentOutputWithContext(context.Context) GetIsInstanceTemplateBootVolumeAttachmentOutput +} + +type GetIsInstanceTemplateBootVolumeAttachmentArgs struct { + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayInput `pulumi:"allowedUses"` + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + DeleteVolumeOnInstanceDelete pulumi.BoolInput `pulumi:"deleteVolumeOnInstanceDelete"` + Name pulumi.StringInput `pulumi:"name"` + Profile pulumi.StringInput `pulumi:"profile"` + Size pulumi.IntInput `pulumi:"size"` + // The snapshot from which to clone the volume. + SourceSnapshots GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayInput `pulumi:"sourceSnapshots"` + // The user tags associated with this volume. + Tags pulumi.StringArrayInput `pulumi:"tags"` + Volume pulumi.StringInput `pulumi:"volume"` +} + +func (GetIsInstanceTemplateBootVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentArgs) ToGetIsInstanceTemplateBootVolumeAttachmentOutput() GetIsInstanceTemplateBootVolumeAttachmentOutput { + return i.ToGetIsInstanceTemplateBootVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentArgs) ToGetIsInstanceTemplateBootVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateBootVolumeAttachmentOutput) +} + +// GetIsInstanceTemplateBootVolumeAttachmentArrayInput is an input type that accepts GetIsInstanceTemplateBootVolumeAttachmentArray and GetIsInstanceTemplateBootVolumeAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateBootVolumeAttachmentArrayInput` via: +// +// GetIsInstanceTemplateBootVolumeAttachmentArray{ GetIsInstanceTemplateBootVolumeAttachmentArgs{...} } +type GetIsInstanceTemplateBootVolumeAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateBootVolumeAttachmentArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentArrayOutput + ToGetIsInstanceTemplateBootVolumeAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplateBootVolumeAttachmentArrayOutput +} + +type GetIsInstanceTemplateBootVolumeAttachmentArray []GetIsInstanceTemplateBootVolumeAttachmentInput + +func (GetIsInstanceTemplateBootVolumeAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateBootVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentArray) ToGetIsInstanceTemplateBootVolumeAttachmentArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentArrayOutput { + return i.ToGetIsInstanceTemplateBootVolumeAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentArray) ToGetIsInstanceTemplateBootVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateBootVolumeAttachmentArrayOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateBootVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) ToGetIsInstanceTemplateBootVolumeAttachmentOutput() GetIsInstanceTemplateBootVolumeAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) ToGetIsInstanceTemplateBootVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentOutput { + return o +} + +// The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) AllowedUses() GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) []GetIsInstanceTemplateBootVolumeAttachmentAllowedUse { + return v.AllowedUses + }).(GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput) +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) int { return v.Size }).(pulumi.IntOutput) +} + +// The snapshot from which to clone the volume. +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) SourceSnapshots() GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) []GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot { + return v.SourceSnapshots + }).(GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) +} + +// The user tags associated with this volume. +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentOutput) Volume() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachment) string { return v.Volume }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateBootVolumeAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateBootVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentArrayOutput) ToGetIsInstanceTemplateBootVolumeAttachmentArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentArrayOutput) ToGetIsInstanceTemplateBootVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateBootVolumeAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateBootVolumeAttachment { + return vs[0].([]GetIsInstanceTemplateBootVolumeAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplateBootVolumeAttachmentOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachmentAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance string `pulumi:"instance"` +} + +// GetIsInstanceTemplateBootVolumeAttachmentAllowedUseInput is an input type that accepts GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArgs and GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateBootVolumeAttachmentAllowedUseInput` via: +// +// GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArgs{...} +type GetIsInstanceTemplateBootVolumeAttachmentAllowedUseInput interface { + pulumi.Input + + ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput() GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput + ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutputWithContext(context.Context) GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput +} + +type GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArgs) ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput() GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput { + return i.ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArgs) ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput) +} + +// GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayInput is an input type that accepts GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArray and GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayInput` via: +// +// GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArray{ GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArgs{...} } +type GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput + ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutputWithContext(context.Context) GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput +} + +type GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArray []GetIsInstanceTemplateBootVolumeAttachmentAllowedUseInput + +func (GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateBootVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArray) ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return i.ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArray) ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput) ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput() GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput) ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachmentAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachmentAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachmentAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateBootVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput) ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput) ToGetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateBootVolumeAttachmentAllowedUse { + return vs[0].([]GetIsInstanceTemplateBootVolumeAttachmentAllowedUse)[vs[1].(int)] + }).(GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot struct { + // The CRN of this snapshot. + Crn string `pulumi:"crn"` + // The URL for this snapshot. + Href string `pulumi:"href"` + // The unique identifier for this snapshot. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotInput is an input type that accepts GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArgs and GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotInput` via: +// +// GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArgs{...} +type GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotInput interface { + pulumi.Input + + ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput() GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput + ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutputWithContext(context.Context) GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput +} + +type GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArgs struct { + // The CRN of this snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this snapshot. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot)(nil)).Elem() +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArgs) ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput() GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput { + return i.ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArgs) ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput) +} + +// GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayInput is an input type that accepts GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArray and GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayInput` via: +// +// GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArray{ GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArgs{...} } +type GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput + ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutputWithContext(context.Context) GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput +} + +type GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArray []GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotInput + +func (GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot)(nil)).Elem() +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArray) ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return i.ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArray) ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot)(nil)).Elem() +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput) ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput() GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput) ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput { + return o +} + +// The CRN of this snapshot. +func (o GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this snapshot. +func (o GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot. +func (o GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot)(nil)).Elem() +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput() GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) ToGetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return o +} + +func (o GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot { + return vs[0].([]GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshot)[vs[1].(int)] + }).(GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput) +} + +type GetIsInstanceTemplateCatalogOffering struct { + // Identifies a catalog offering by a unique CRN property + OfferingCrn string `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn string `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn string `pulumi:"versionCrn"` +} + +// GetIsInstanceTemplateCatalogOfferingInput is an input type that accepts GetIsInstanceTemplateCatalogOfferingArgs and GetIsInstanceTemplateCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateCatalogOfferingInput` via: +// +// GetIsInstanceTemplateCatalogOfferingArgs{...} +type GetIsInstanceTemplateCatalogOfferingInput interface { + pulumi.Input + + ToGetIsInstanceTemplateCatalogOfferingOutput() GetIsInstanceTemplateCatalogOfferingOutput + ToGetIsInstanceTemplateCatalogOfferingOutputWithContext(context.Context) GetIsInstanceTemplateCatalogOfferingOutput +} + +type GetIsInstanceTemplateCatalogOfferingArgs struct { + // Identifies a catalog offering by a unique CRN property + OfferingCrn pulumi.StringInput `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringInput `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn pulumi.StringInput `pulumi:"versionCrn"` +} + +func (GetIsInstanceTemplateCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateCatalogOffering)(nil)).Elem() +} + +func (i GetIsInstanceTemplateCatalogOfferingArgs) ToGetIsInstanceTemplateCatalogOfferingOutput() GetIsInstanceTemplateCatalogOfferingOutput { + return i.ToGetIsInstanceTemplateCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateCatalogOfferingArgs) ToGetIsInstanceTemplateCatalogOfferingOutputWithContext(ctx context.Context) GetIsInstanceTemplateCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateCatalogOfferingOutput) +} + +// GetIsInstanceTemplateCatalogOfferingArrayInput is an input type that accepts GetIsInstanceTemplateCatalogOfferingArray and GetIsInstanceTemplateCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateCatalogOfferingArrayInput` via: +// +// GetIsInstanceTemplateCatalogOfferingArray{ GetIsInstanceTemplateCatalogOfferingArgs{...} } +type GetIsInstanceTemplateCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateCatalogOfferingArrayOutput() GetIsInstanceTemplateCatalogOfferingArrayOutput + ToGetIsInstanceTemplateCatalogOfferingArrayOutputWithContext(context.Context) GetIsInstanceTemplateCatalogOfferingArrayOutput +} + +type GetIsInstanceTemplateCatalogOfferingArray []GetIsInstanceTemplateCatalogOfferingInput + +func (GetIsInstanceTemplateCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateCatalogOffering)(nil)).Elem() +} + +func (i GetIsInstanceTemplateCatalogOfferingArray) ToGetIsInstanceTemplateCatalogOfferingArrayOutput() GetIsInstanceTemplateCatalogOfferingArrayOutput { + return i.ToGetIsInstanceTemplateCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateCatalogOfferingArray) ToGetIsInstanceTemplateCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateCatalogOfferingArrayOutput) +} + +type GetIsInstanceTemplateCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateCatalogOffering)(nil)).Elem() +} + +func (o GetIsInstanceTemplateCatalogOfferingOutput) ToGetIsInstanceTemplateCatalogOfferingOutput() GetIsInstanceTemplateCatalogOfferingOutput { + return o +} + +func (o GetIsInstanceTemplateCatalogOfferingOutput) ToGetIsInstanceTemplateCatalogOfferingOutputWithContext(ctx context.Context) GetIsInstanceTemplateCatalogOfferingOutput { + return o +} + +// Identifies a catalog offering by a unique CRN property +func (o GetIsInstanceTemplateCatalogOfferingOutput) OfferingCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateCatalogOffering) string { return v.OfferingCrn }).(pulumi.StringOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o GetIsInstanceTemplateCatalogOfferingOutput) PlanCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateCatalogOffering) string { return v.PlanCrn }).(pulumi.StringOutput) +} + +// Identifies a version of a catalog offering by a unique CRN property +func (o GetIsInstanceTemplateCatalogOfferingOutput) VersionCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateCatalogOffering) string { return v.VersionCrn }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateCatalogOffering)(nil)).Elem() +} + +func (o GetIsInstanceTemplateCatalogOfferingArrayOutput) ToGetIsInstanceTemplateCatalogOfferingArrayOutput() GetIsInstanceTemplateCatalogOfferingArrayOutput { + return o +} + +func (o GetIsInstanceTemplateCatalogOfferingArrayOutput) ToGetIsInstanceTemplateCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateCatalogOfferingArrayOutput { + return o +} + +func (o GetIsInstanceTemplateCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateCatalogOffering { + return vs[0].([]GetIsInstanceTemplateCatalogOffering)[vs[1].(int)] + }).(GetIsInstanceTemplateCatalogOfferingOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachment struct { + // A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. + ClusterNetworkInterfaces []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface `pulumi:"clusterNetworkInterfaces"` + // The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplateClusterNetworkAttachmentInput is an input type that accepts GetIsInstanceTemplateClusterNetworkAttachmentArgs and GetIsInstanceTemplateClusterNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateClusterNetworkAttachmentInput` via: +// +// GetIsInstanceTemplateClusterNetworkAttachmentArgs{...} +type GetIsInstanceTemplateClusterNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplateClusterNetworkAttachmentOutput() GetIsInstanceTemplateClusterNetworkAttachmentOutput + ToGetIsInstanceTemplateClusterNetworkAttachmentOutputWithContext(context.Context) GetIsInstanceTemplateClusterNetworkAttachmentOutput +} + +type GetIsInstanceTemplateClusterNetworkAttachmentArgs struct { + // A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. + ClusterNetworkInterfaces GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput `pulumi:"clusterNetworkInterfaces"` + // The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplateClusterNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentArgs) ToGetIsInstanceTemplateClusterNetworkAttachmentOutput() GetIsInstanceTemplateClusterNetworkAttachmentOutput { + return i.ToGetIsInstanceTemplateClusterNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentArgs) ToGetIsInstanceTemplateClusterNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateClusterNetworkAttachmentOutput) +} + +// GetIsInstanceTemplateClusterNetworkAttachmentArrayInput is an input type that accepts GetIsInstanceTemplateClusterNetworkAttachmentArray and GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateClusterNetworkAttachmentArrayInput` via: +// +// GetIsInstanceTemplateClusterNetworkAttachmentArray{ GetIsInstanceTemplateClusterNetworkAttachmentArgs{...} } +type GetIsInstanceTemplateClusterNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateClusterNetworkAttachmentArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput + ToGetIsInstanceTemplateClusterNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput +} + +type GetIsInstanceTemplateClusterNetworkAttachmentArray []GetIsInstanceTemplateClusterNetworkAttachmentInput + +func (GetIsInstanceTemplateClusterNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentArray) ToGetIsInstanceTemplateClusterNetworkAttachmentArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return i.ToGetIsInstanceTemplateClusterNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentArray) ToGetIsInstanceTemplateClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateClusterNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentOutput() GetIsInstanceTemplateClusterNetworkAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentOutput { + return o +} + +// A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. +func (o GetIsInstanceTemplateClusterNetworkAttachmentOutput) ClusterNetworkInterfaces() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachment) []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface { + return v.ClusterNetworkInterfaces + }).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) +} + +// The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. +func (o GetIsInstanceTemplateClusterNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateClusterNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateClusterNetworkAttachment { + return vs[0].([]GetIsInstanceTemplateClusterNetworkAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplateClusterNetworkAttachmentOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this cluster network interface. + Href string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id string `pulumi:"id"` + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. + PrimaryIps []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. + Subnets []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet `pulumi:"subnets"` +} + +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs and GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput` via: +// +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this cluster network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. + PrimaryIps GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. + Subnets GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` +} + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray and GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray{ GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} } +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +// Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The URL for this cluster network interface. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network interface. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) +} + +// The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Subnets() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface { + return vs[0].([]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this cluster network subnet reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray and GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Name + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet struct { + // The URL for this cluster network subnet. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs and GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs struct { + // The URL for this cluster network subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray and GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray{ GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray []GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +// The URL for this cluster network subnet. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet. +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceTemplateMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol string `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit int `pulumi:"responseHopLimit"` +} + +// GetIsInstanceTemplateMetadataServiceInput is an input type that accepts GetIsInstanceTemplateMetadataServiceArgs and GetIsInstanceTemplateMetadataServiceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateMetadataServiceInput` via: +// +// GetIsInstanceTemplateMetadataServiceArgs{...} +type GetIsInstanceTemplateMetadataServiceInput interface { + pulumi.Input + + ToGetIsInstanceTemplateMetadataServiceOutput() GetIsInstanceTemplateMetadataServiceOutput + ToGetIsInstanceTemplateMetadataServiceOutputWithContext(context.Context) GetIsInstanceTemplateMetadataServiceOutput +} + +type GetIsInstanceTemplateMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit pulumi.IntInput `pulumi:"responseHopLimit"` +} + +func (GetIsInstanceTemplateMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateMetadataService)(nil)).Elem() +} + +func (i GetIsInstanceTemplateMetadataServiceArgs) ToGetIsInstanceTemplateMetadataServiceOutput() GetIsInstanceTemplateMetadataServiceOutput { + return i.ToGetIsInstanceTemplateMetadataServiceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateMetadataServiceArgs) ToGetIsInstanceTemplateMetadataServiceOutputWithContext(ctx context.Context) GetIsInstanceTemplateMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateMetadataServiceOutput) +} + +// GetIsInstanceTemplateMetadataServiceArrayInput is an input type that accepts GetIsInstanceTemplateMetadataServiceArray and GetIsInstanceTemplateMetadataServiceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateMetadataServiceArrayInput` via: +// +// GetIsInstanceTemplateMetadataServiceArray{ GetIsInstanceTemplateMetadataServiceArgs{...} } +type GetIsInstanceTemplateMetadataServiceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateMetadataServiceArrayOutput() GetIsInstanceTemplateMetadataServiceArrayOutput + ToGetIsInstanceTemplateMetadataServiceArrayOutputWithContext(context.Context) GetIsInstanceTemplateMetadataServiceArrayOutput +} + +type GetIsInstanceTemplateMetadataServiceArray []GetIsInstanceTemplateMetadataServiceInput + +func (GetIsInstanceTemplateMetadataServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateMetadataService)(nil)).Elem() +} + +func (i GetIsInstanceTemplateMetadataServiceArray) ToGetIsInstanceTemplateMetadataServiceArrayOutput() GetIsInstanceTemplateMetadataServiceArrayOutput { + return i.ToGetIsInstanceTemplateMetadataServiceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateMetadataServiceArray) ToGetIsInstanceTemplateMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateMetadataServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateMetadataServiceArrayOutput) +} + +type GetIsInstanceTemplateMetadataServiceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateMetadataService)(nil)).Elem() +} + +func (o GetIsInstanceTemplateMetadataServiceOutput) ToGetIsInstanceTemplateMetadataServiceOutput() GetIsInstanceTemplateMetadataServiceOutput { + return o +} + +func (o GetIsInstanceTemplateMetadataServiceOutput) ToGetIsInstanceTemplateMetadataServiceOutputWithContext(ctx context.Context) GetIsInstanceTemplateMetadataServiceOutput { + return o +} + +// Indicates whether the metadata service endpoint will be available to the virtual server instance +func (o GetIsInstanceTemplateMetadataServiceOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateMetadataService) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o GetIsInstanceTemplateMetadataServiceOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateMetadataService) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The hop limit (IP time to live) for IP response packets from the metadata service +func (o GetIsInstanceTemplateMetadataServiceOutput) ResponseHopLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplateMetadataService) int { return v.ResponseHopLimit }).(pulumi.IntOutput) +} + +type GetIsInstanceTemplateMetadataServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateMetadataServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateMetadataService)(nil)).Elem() +} + +func (o GetIsInstanceTemplateMetadataServiceArrayOutput) ToGetIsInstanceTemplateMetadataServiceArrayOutput() GetIsInstanceTemplateMetadataServiceArrayOutput { + return o +} + +func (o GetIsInstanceTemplateMetadataServiceArrayOutput) ToGetIsInstanceTemplateMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateMetadataServiceArrayOutput { + return o +} + +func (o GetIsInstanceTemplateMetadataServiceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateMetadataServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateMetadataService { + return vs[0].([]GetIsInstanceTemplateMetadataService)[vs[1].(int)] + }).(GetIsInstanceTemplateMetadataServiceOutput) +} + +type GetIsInstanceTemplateNetworkAttachment struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. + VirtualNetworkInterfaces []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstanceTemplateNetworkAttachmentInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentArgs and GetIsInstanceTemplateNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentArgs{...} +type GetIsInstanceTemplateNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentOutput() GetIsInstanceTemplateNetworkAttachmentOutput + ToGetIsInstanceTemplateNetworkAttachmentOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentOutput +} + +type GetIsInstanceTemplateNetworkAttachmentArgs struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. + VirtualNetworkInterfaces GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstanceTemplateNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentArgs) ToGetIsInstanceTemplateNetworkAttachmentOutput() GetIsInstanceTemplateNetworkAttachmentOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentArgs) ToGetIsInstanceTemplateNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentOutput) +} + +// GetIsInstanceTemplateNetworkAttachmentArrayInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentArray and GetIsInstanceTemplateNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentArrayInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentArray{ GetIsInstanceTemplateNetworkAttachmentArgs{...} } +type GetIsInstanceTemplateNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentArrayOutput() GetIsInstanceTemplateNetworkAttachmentArrayOutput + ToGetIsInstanceTemplateNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentArrayOutput +} + +type GetIsInstanceTemplateNetworkAttachmentArray []GetIsInstanceTemplateNetworkAttachmentInput + +func (GetIsInstanceTemplateNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentArray) ToGetIsInstanceTemplateNetworkAttachmentArrayOutput() GetIsInstanceTemplateNetworkAttachmentArrayOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentArray) ToGetIsInstanceTemplateNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentOutput) ToGetIsInstanceTemplateNetworkAttachmentOutput() GetIsInstanceTemplateNetworkAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentOutput) ToGetIsInstanceTemplateNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentOutput { + return o +} + +// The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplateNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. +func (o GetIsInstanceTemplateNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachment) []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentArrayOutput() GetIsInstanceTemplateNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkAttachment { + return vs[0].([]GetIsInstanceTemplateNetworkAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkAttachmentOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete bool `pulumi:"autoDelete"` + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. + Ips []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name string `pulumi:"name"` + // The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. + PrimaryIps []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode string `pulumi:"protocolStateFilteringMode"` + // The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. + ResourceGroups []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup `pulumi:"resourceGroups"` + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. + SecurityGroups []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` + // The associated subnet. Required if `primaryIp` does not specify a reserved IP. + Subnets []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet `pulumi:"subnets"` +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolInput `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. + Ips GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. + PrimaryIps GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringInput `pulumi:"protocolStateFilteringMode"` + // The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. + ResourceGroups GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput `pulumi:"resourceGroups"` + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. + SecurityGroups GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput `pulumi:"securityGroups"` + // The associated subnet. Required if `primaryIp` does not specify a reserved IP. + Subnets GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` +} + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The CRN for this virtual network interface. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringOutput) +} + +// The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroups() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup { + return v.ResourceGroups + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +// The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +// The associated subnet. Required if `primaryIp` does not specify a reserved IP. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Subnets() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray{ GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Address }).(pulumi.StringOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup struct { + // The unique identifier for this resource group. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{...} +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs struct { + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray{ GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{...} } +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +// The unique identifier for this resource group. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup { + return vs[0].([]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{...} +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray{ GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{...} } +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The security group's canonical URL. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup { + return vs[0].([]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{...} +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray and GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray{ GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray []GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceTemplateNetworkInterface struct { + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstanceTemplateNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// GetIsInstanceTemplateNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplateNetworkInterfaceArgs and GetIsInstanceTemplateNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkInterfaceInput` via: +// +// GetIsInstanceTemplateNetworkInterfaceArgs{...} +type GetIsInstanceTemplateNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkInterfaceOutput() GetIsInstanceTemplateNetworkInterfaceOutput + ToGetIsInstanceTemplateNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplateNetworkInterfaceOutput +} + +type GetIsInstanceTemplateNetworkInterfaceArgs struct { + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsInstanceTemplateNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkInterfaceArgs) ToGetIsInstanceTemplateNetworkInterfaceOutput() GetIsInstanceTemplateNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplateNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkInterfaceArgs) ToGetIsInstanceTemplateNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkInterfaceOutput) +} + +// GetIsInstanceTemplateNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplateNetworkInterfaceArray and GetIsInstanceTemplateNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplateNetworkInterfaceArray{ GetIsInstanceTemplateNetworkInterfaceArgs{...} } +type GetIsInstanceTemplateNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkInterfaceArrayOutput() GetIsInstanceTemplateNetworkInterfaceArrayOutput + ToGetIsInstanceTemplateNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplateNetworkInterfaceArray []GetIsInstanceTemplateNetworkInterfaceInput + +func (GetIsInstanceTemplateNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkInterfaceArray) ToGetIsInstanceTemplateNetworkInterfaceArrayOutput() GetIsInstanceTemplateNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplateNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkInterfaceArray) ToGetIsInstanceTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplateNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkInterfaceOutput) ToGetIsInstanceTemplateNetworkInterfaceOutput() GetIsInstanceTemplateNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkInterfaceOutput) ToGetIsInstanceTemplateNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstanceTemplateNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkInterface) []GetIsInstanceTemplateNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput) +} + +func (o GetIsInstanceTemplateNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkInterface) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplateNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o GetIsInstanceTemplateNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkInterfaceArrayOutput) ToGetIsInstanceTemplateNetworkInterfaceArrayOutput() GetIsInstanceTemplateNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkInterfaceArrayOutput) ToGetIsInstanceTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkInterface { + return vs[0].([]GetIsInstanceTemplateNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkInterfaceOutput) +} + +type GetIsInstanceTemplateNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` +} + +// GetIsInstanceTemplateNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplateNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplateNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplateNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplateNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplateNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` +} + +func (GetIsInstanceTemplateNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplateNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplateNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplateNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplateNetworkInterfacePrimaryIpArray and GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplateNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplateNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplateNetworkInterfacePrimaryIpArray []GetIsInstanceTemplateNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplateNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplateNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplateNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplateNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplateNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplatePlacementTarget struct { + // The CRN for this dedicated host. + Crn string `pulumi:"crn"` + // The URL for this dedicated host. + Href string `pulumi:"href"` + // The unique identifier for this dedicated host. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatePlacementTargetInput is an input type that accepts GetIsInstanceTemplatePlacementTargetArgs and GetIsInstanceTemplatePlacementTargetOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePlacementTargetInput` via: +// +// GetIsInstanceTemplatePlacementTargetArgs{...} +type GetIsInstanceTemplatePlacementTargetInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePlacementTargetOutput() GetIsInstanceTemplatePlacementTargetOutput + ToGetIsInstanceTemplatePlacementTargetOutputWithContext(context.Context) GetIsInstanceTemplatePlacementTargetOutput +} + +type GetIsInstanceTemplatePlacementTargetArgs struct { + // The CRN for this dedicated host. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this dedicated host. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this dedicated host. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatePlacementTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePlacementTarget)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePlacementTargetArgs) ToGetIsInstanceTemplatePlacementTargetOutput() GetIsInstanceTemplatePlacementTargetOutput { + return i.ToGetIsInstanceTemplatePlacementTargetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePlacementTargetArgs) ToGetIsInstanceTemplatePlacementTargetOutputWithContext(ctx context.Context) GetIsInstanceTemplatePlacementTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePlacementTargetOutput) +} + +// GetIsInstanceTemplatePlacementTargetArrayInput is an input type that accepts GetIsInstanceTemplatePlacementTargetArray and GetIsInstanceTemplatePlacementTargetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePlacementTargetArrayInput` via: +// +// GetIsInstanceTemplatePlacementTargetArray{ GetIsInstanceTemplatePlacementTargetArgs{...} } +type GetIsInstanceTemplatePlacementTargetArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePlacementTargetArrayOutput() GetIsInstanceTemplatePlacementTargetArrayOutput + ToGetIsInstanceTemplatePlacementTargetArrayOutputWithContext(context.Context) GetIsInstanceTemplatePlacementTargetArrayOutput +} + +type GetIsInstanceTemplatePlacementTargetArray []GetIsInstanceTemplatePlacementTargetInput + +func (GetIsInstanceTemplatePlacementTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePlacementTarget)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePlacementTargetArray) ToGetIsInstanceTemplatePlacementTargetArrayOutput() GetIsInstanceTemplatePlacementTargetArrayOutput { + return i.ToGetIsInstanceTemplatePlacementTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePlacementTargetArray) ToGetIsInstanceTemplatePlacementTargetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePlacementTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePlacementTargetArrayOutput) +} + +type GetIsInstanceTemplatePlacementTargetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePlacementTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePlacementTarget)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePlacementTargetOutput) ToGetIsInstanceTemplatePlacementTargetOutput() GetIsInstanceTemplatePlacementTargetOutput { + return o +} + +func (o GetIsInstanceTemplatePlacementTargetOutput) ToGetIsInstanceTemplatePlacementTargetOutputWithContext(ctx context.Context) GetIsInstanceTemplatePlacementTargetOutput { + return o +} + +// The CRN for this dedicated host. +func (o GetIsInstanceTemplatePlacementTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePlacementTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this dedicated host. +func (o GetIsInstanceTemplatePlacementTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePlacementTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this dedicated host. +func (o GetIsInstanceTemplatePlacementTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePlacementTarget) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatePlacementTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePlacementTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePlacementTarget)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePlacementTargetArrayOutput) ToGetIsInstanceTemplatePlacementTargetArrayOutput() GetIsInstanceTemplatePlacementTargetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePlacementTargetArrayOutput) ToGetIsInstanceTemplatePlacementTargetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePlacementTargetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePlacementTargetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePlacementTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePlacementTarget { + return vs[0].([]GetIsInstanceTemplatePlacementTarget)[vs[1].(int)] + }).(GetIsInstanceTemplatePlacementTargetOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachment struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. + VirtualNetworkInterfaces []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentArgs and GetIsInstanceTemplatePrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentArgs{...} +type GetIsInstanceTemplatePrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentArgs struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. + VirtualNetworkInterfaces GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentArray and GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentArray{ GetIsInstanceTemplatePrimaryNetworkAttachmentArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentArray []GetIsInstanceTemplatePrimaryNetworkAttachmentInput + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentOutput { + return o +} + +// The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachment) []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkAttachment { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete bool `pulumi:"autoDelete"` + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. + Ips []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name string `pulumi:"name"` + // The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. + PrimaryIps []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode string `pulumi:"protocolStateFilteringMode"` + // The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. + ResourceGroups []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup `pulumi:"resourceGroups"` + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. + SecurityGroups []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` + // The associated subnet. Required if `primaryIp` does not specify a reserved IP. + Subnets []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet `pulumi:"subnets"` +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolInput `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. + Ips GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. + PrimaryIps GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringInput `pulumi:"protocolStateFilteringMode"` + // The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. + ResourceGroups GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput `pulumi:"resourceGroups"` + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. + SecurityGroups GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput `pulumi:"securityGroups"` + // The associated subnet. Required if `primaryIp` does not specify a reserved IP. + Subnets GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` +} + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) bool { + return v.AllowIpSpoofing + }).(pulumi.BoolOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The CRN for this virtual network interface. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringOutput) +} + +// The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroups() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup { + return v.ResourceGroups + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +// The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +// The associated subnet. Required if `primaryIp` does not specify a reserved IP. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Subnets() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{ GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Name + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup struct { + // The unique identifier for this resource group. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{...} +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs struct { + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray{ GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +// The unique identifier for this resource group. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{...} +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray{ GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The security group's canonical URL. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{...} +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray and GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray{ GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray []GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkInterface struct { + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// GetIsInstanceTemplatePrimaryNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkInterfaceArgs and GetIsInstanceTemplatePrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkInterfaceInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkInterfaceArgs{...} +type GetIsInstanceTemplatePrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkInterfaceOutput() GetIsInstanceTemplatePrimaryNetworkInterfaceOutput + ToGetIsInstanceTemplatePrimaryNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkInterfaceOutput +} + +type GetIsInstanceTemplatePrimaryNetworkInterfaceArgs struct { + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsInstanceTemplatePrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkInterfaceArgs) ToGetIsInstanceTemplatePrimaryNetworkInterfaceOutput() GetIsInstanceTemplatePrimaryNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkInterfaceArgs) ToGetIsInstanceTemplatePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkInterfaceArray and GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkInterfaceArray{ GetIsInstanceTemplatePrimaryNetworkInterfaceArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput() GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkInterfaceArray []GetIsInstanceTemplatePrimaryNetworkInterfaceInput + +func (GetIsInstanceTemplatePrimaryNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkInterfaceArray) ToGetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput() GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkInterfaceArray) ToGetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) ToGetIsInstanceTemplatePrimaryNetworkInterfaceOutput() GetIsInstanceTemplatePrimaryNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) ToGetIsInstanceTemplatePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkInterface) []GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkInterface) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput() GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkInterface { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkInterfaceOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` +} + +// GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` +} + +func (GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArray and GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArray []GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplateReservationAffinity struct { + // The reservation affinity policy to use for this virtual server instance. + Policy string `pulumi:"policy"` + // The reservation associated with this template. + Pool string `pulumi:"pool"` +} + +// GetIsInstanceTemplateReservationAffinityInput is an input type that accepts GetIsInstanceTemplateReservationAffinityArgs and GetIsInstanceTemplateReservationAffinityOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateReservationAffinityInput` via: +// +// GetIsInstanceTemplateReservationAffinityArgs{...} +type GetIsInstanceTemplateReservationAffinityInput interface { + pulumi.Input + + ToGetIsInstanceTemplateReservationAffinityOutput() GetIsInstanceTemplateReservationAffinityOutput + ToGetIsInstanceTemplateReservationAffinityOutputWithContext(context.Context) GetIsInstanceTemplateReservationAffinityOutput +} + +type GetIsInstanceTemplateReservationAffinityArgs struct { + // The reservation affinity policy to use for this virtual server instance. + Policy pulumi.StringInput `pulumi:"policy"` + // The reservation associated with this template. + Pool pulumi.StringInput `pulumi:"pool"` +} + +func (GetIsInstanceTemplateReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateReservationAffinity)(nil)).Elem() +} + +func (i GetIsInstanceTemplateReservationAffinityArgs) ToGetIsInstanceTemplateReservationAffinityOutput() GetIsInstanceTemplateReservationAffinityOutput { + return i.ToGetIsInstanceTemplateReservationAffinityOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateReservationAffinityArgs) ToGetIsInstanceTemplateReservationAffinityOutputWithContext(ctx context.Context) GetIsInstanceTemplateReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateReservationAffinityOutput) +} + +// GetIsInstanceTemplateReservationAffinityArrayInput is an input type that accepts GetIsInstanceTemplateReservationAffinityArray and GetIsInstanceTemplateReservationAffinityArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateReservationAffinityArrayInput` via: +// +// GetIsInstanceTemplateReservationAffinityArray{ GetIsInstanceTemplateReservationAffinityArgs{...} } +type GetIsInstanceTemplateReservationAffinityArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateReservationAffinityArrayOutput() GetIsInstanceTemplateReservationAffinityArrayOutput + ToGetIsInstanceTemplateReservationAffinityArrayOutputWithContext(context.Context) GetIsInstanceTemplateReservationAffinityArrayOutput +} + +type GetIsInstanceTemplateReservationAffinityArray []GetIsInstanceTemplateReservationAffinityInput + +func (GetIsInstanceTemplateReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateReservationAffinity)(nil)).Elem() +} + +func (i GetIsInstanceTemplateReservationAffinityArray) ToGetIsInstanceTemplateReservationAffinityArrayOutput() GetIsInstanceTemplateReservationAffinityArrayOutput { + return i.ToGetIsInstanceTemplateReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateReservationAffinityArray) ToGetIsInstanceTemplateReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateReservationAffinityArrayOutput) +} + +type GetIsInstanceTemplateReservationAffinityOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateReservationAffinity)(nil)).Elem() +} + +func (o GetIsInstanceTemplateReservationAffinityOutput) ToGetIsInstanceTemplateReservationAffinityOutput() GetIsInstanceTemplateReservationAffinityOutput { + return o +} + +func (o GetIsInstanceTemplateReservationAffinityOutput) ToGetIsInstanceTemplateReservationAffinityOutputWithContext(ctx context.Context) GetIsInstanceTemplateReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this virtual server instance. +func (o GetIsInstanceTemplateReservationAffinityOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateReservationAffinity) string { return v.Policy }).(pulumi.StringOutput) +} + +// The reservation associated with this template. +func (o GetIsInstanceTemplateReservationAffinityOutput) Pool() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateReservationAffinity) string { return v.Pool }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateReservationAffinity)(nil)).Elem() +} + +func (o GetIsInstanceTemplateReservationAffinityArrayOutput) ToGetIsInstanceTemplateReservationAffinityArrayOutput() GetIsInstanceTemplateReservationAffinityArrayOutput { + return o +} + +func (o GetIsInstanceTemplateReservationAffinityArrayOutput) ToGetIsInstanceTemplateReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateReservationAffinityArrayOutput { + return o +} + +func (o GetIsInstanceTemplateReservationAffinityArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateReservationAffinity { + return vs[0].([]GetIsInstanceTemplateReservationAffinity)[vs[1].(int)] + }).(GetIsInstanceTemplateReservationAffinityOutput) +} + +type GetIsInstanceTemplateVolumeAttachment struct { + DeleteVolumeOnInstanceDelete bool `pulumi:"deleteVolumeOnInstanceDelete"` + Name string `pulumi:"name"` + Volume string `pulumi:"volume"` + VolumePrototypes []GetIsInstanceTemplateVolumeAttachmentVolumePrototype `pulumi:"volumePrototypes"` +} + +// GetIsInstanceTemplateVolumeAttachmentInput is an input type that accepts GetIsInstanceTemplateVolumeAttachmentArgs and GetIsInstanceTemplateVolumeAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateVolumeAttachmentInput` via: +// +// GetIsInstanceTemplateVolumeAttachmentArgs{...} +type GetIsInstanceTemplateVolumeAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplateVolumeAttachmentOutput() GetIsInstanceTemplateVolumeAttachmentOutput + ToGetIsInstanceTemplateVolumeAttachmentOutputWithContext(context.Context) GetIsInstanceTemplateVolumeAttachmentOutput +} + +type GetIsInstanceTemplateVolumeAttachmentArgs struct { + DeleteVolumeOnInstanceDelete pulumi.BoolInput `pulumi:"deleteVolumeOnInstanceDelete"` + Name pulumi.StringInput `pulumi:"name"` + Volume pulumi.StringInput `pulumi:"volume"` + VolumePrototypes GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayInput `pulumi:"volumePrototypes"` +} + +func (GetIsInstanceTemplateVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplateVolumeAttachmentArgs) ToGetIsInstanceTemplateVolumeAttachmentOutput() GetIsInstanceTemplateVolumeAttachmentOutput { + return i.ToGetIsInstanceTemplateVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateVolumeAttachmentArgs) ToGetIsInstanceTemplateVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateVolumeAttachmentOutput) +} + +// GetIsInstanceTemplateVolumeAttachmentArrayInput is an input type that accepts GetIsInstanceTemplateVolumeAttachmentArray and GetIsInstanceTemplateVolumeAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateVolumeAttachmentArrayInput` via: +// +// GetIsInstanceTemplateVolumeAttachmentArray{ GetIsInstanceTemplateVolumeAttachmentArgs{...} } +type GetIsInstanceTemplateVolumeAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateVolumeAttachmentArrayOutput() GetIsInstanceTemplateVolumeAttachmentArrayOutput + ToGetIsInstanceTemplateVolumeAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplateVolumeAttachmentArrayOutput +} + +type GetIsInstanceTemplateVolumeAttachmentArray []GetIsInstanceTemplateVolumeAttachmentInput + +func (GetIsInstanceTemplateVolumeAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplateVolumeAttachmentArray) ToGetIsInstanceTemplateVolumeAttachmentArrayOutput() GetIsInstanceTemplateVolumeAttachmentArrayOutput { + return i.ToGetIsInstanceTemplateVolumeAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateVolumeAttachmentArray) ToGetIsInstanceTemplateVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateVolumeAttachmentArrayOutput) +} + +type GetIsInstanceTemplateVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplateVolumeAttachmentOutput) ToGetIsInstanceTemplateVolumeAttachmentOutput() GetIsInstanceTemplateVolumeAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentOutput) ToGetIsInstanceTemplateVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachment) bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +func (o GetIsInstanceTemplateVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplateVolumeAttachmentOutput) Volume() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachment) string { return v.Volume }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplateVolumeAttachmentOutput) VolumePrototypes() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachment) []GetIsInstanceTemplateVolumeAttachmentVolumePrototype { + return v.VolumePrototypes + }).(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput) +} + +type GetIsInstanceTemplateVolumeAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateVolumeAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplateVolumeAttachmentArrayOutput) ToGetIsInstanceTemplateVolumeAttachmentArrayOutput() GetIsInstanceTemplateVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentArrayOutput) ToGetIsInstanceTemplateVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateVolumeAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateVolumeAttachment { + return vs[0].([]GetIsInstanceTemplateVolumeAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplateVolumeAttachmentOutput) +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototype struct { + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses []GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse `pulumi:"allowedUses"` + Bandwidth int `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity int `pulumi:"capacity"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey string `pulumi:"encryptionKey"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops int `pulumi:"iops"` + // The globally unique name for the volume profile to use for this volume. + Profile string `pulumi:"profile"` + // The snapshot to use as a source for the volume's data. + SourceSnapshot string `pulumi:"sourceSnapshot"` + // The user tags associated with this volume. + Tags []string `pulumi:"tags"` +} + +// GetIsInstanceTemplateVolumeAttachmentVolumePrototypeInput is an input type that accepts GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArgs and GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateVolumeAttachmentVolumePrototypeInput` via: +// +// GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArgs{...} +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeInput interface { + pulumi.Input + + ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput + ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutputWithContext(context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArgs struct { + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput `pulumi:"allowedUses"` + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity pulumi.IntInput `pulumi:"capacity"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops pulumi.IntInput `pulumi:"iops"` + // The globally unique name for the volume profile to use for this volume. + Profile pulumi.StringInput `pulumi:"profile"` + // The snapshot to use as a source for the volume's data. + SourceSnapshot pulumi.StringInput `pulumi:"sourceSnapshot"` + // The user tags associated with this volume. + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (i GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return i.ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArgs) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) +} + +// GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayInput is an input type that accepts GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArray and GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayInput` via: +// +// GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArray{ GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArgs{...} } +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput + ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutputWithContext(context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArray []GetIsInstanceTemplateVolumeAttachmentVolumePrototypeInput + +func (GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (i GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArray) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return i.ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArray) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput) +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return o +} + +// The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) AllowedUses() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototype) []GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse { + return v.AllowedUses + }).(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototype) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +// The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Capacity() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototype) int { return v.Capacity }).(pulumi.IntOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototype) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The maximum I/O operations per second (IOPS) for the volume. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototype) int { return v.Iops }).(pulumi.IntOutput) +} + +// The globally unique name for the volume profile to use for this volume. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototype) string { return v.Profile }).(pulumi.StringOutput) +} + +// The snapshot to use as a source for the volume's data. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) SourceSnapshot() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototype) string { return v.SourceSnapshot }).(pulumi.StringOutput) +} + +// The user tags associated with this volume. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototype) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateVolumeAttachmentVolumePrototype { + return vs[0].([]GetIsInstanceTemplateVolumeAttachmentVolumePrototype)[vs[1].(int)] + }).(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput) +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance string `pulumi:"instance"` +} + +// GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput is an input type that accepts GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs and GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput` via: +// +// GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{...} +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput interface { + pulumi.Input + + ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput + ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (i GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return i.ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) +} + +// GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput is an input type that accepts GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArray and GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput` via: +// +// GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArray{ GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{...} } +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput + ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutputWithContext(context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArray []GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput + +func (GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (i GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArray) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return i.ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArray) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) string { + return v.BareMetalServer + }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput() GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) ToGetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return o +} + +func (o GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse { + return vs[0].([]GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUse)[vs[1].(int)] + }).(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) +} + +type GetIsInstanceTemplatesTemplate struct { + // The availability policy to use for this virtual server instance. The action to perform if the compute host experiences a failure. + AvailabilityPolicyHostFailure string `pulumi:"availabilityPolicyHostFailure"` + BootVolumeAttachments []GetIsInstanceTemplatesTemplateBootVolumeAttachment `pulumi:"bootVolumeAttachments"` + // The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOfferings []GetIsInstanceTemplatesTemplateCatalogOffering `pulumi:"catalogOfferings"` + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. + ClusterNetworkAttachments []GetIsInstanceTemplatesTemplateClusterNetworkAttachment `pulumi:"clusterNetworkAttachments"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode string `pulumi:"confidentialComputeMode"` + Crn string `pulumi:"crn"` + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink bool `pulumi:"defaultTrustedProfileAutoLink"` + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget string `pulumi:"defaultTrustedProfileTarget"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot bool `pulumi:"enableSecureBoot"` + Href string `pulumi:"href"` + Id string `pulumi:"id"` + Image string `pulumi:"image"` + Keys []string `pulumi:"keys"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + MetadataServiceEnabled bool `pulumi:"metadataServiceEnabled"` + // The metadata service configuration + MetadataServices []GetIsInstanceTemplatesTemplateMetadataService `pulumi:"metadataServices"` + Name string `pulumi:"name"` + // The additional network attachments to create for the virtual server instance. + NetworkAttachments []GetIsInstanceTemplatesTemplateNetworkAttachment `pulumi:"networkAttachments"` + NetworkInterfaces []GetIsInstanceTemplatesTemplateNetworkInterface `pulumi:"networkInterfaces"` + // The placement restrictions for the virtual server instance. For the target tobe changed, the instance `status` must be `stopping` or `stopped`. + PlacementTargets []GetIsInstanceTemplatesTemplatePlacementTarget `pulumi:"placementTargets"` + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachments []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment `pulumi:"primaryNetworkAttachments"` + PrimaryNetworkInterfaces []GetIsInstanceTemplatesTemplatePrimaryNetworkInterface `pulumi:"primaryNetworkInterfaces"` + Profile string `pulumi:"profile"` + ReservationAffinities []GetIsInstanceTemplatesTemplateReservationAffinity `pulumi:"reservationAffinities"` + ResourceGroup string `pulumi:"resourceGroup"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth int `pulumi:"totalVolumeBandwidth"` + UserData string `pulumi:"userData"` + VolumeAttachments []GetIsInstanceTemplatesTemplateVolumeAttachment `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode string `pulumi:"volumeBandwidthQosMode"` + Vpc string `pulumi:"vpc"` + Zone string `pulumi:"zone"` +} + +// GetIsInstanceTemplatesTemplateInput is an input type that accepts GetIsInstanceTemplatesTemplateArgs and GetIsInstanceTemplatesTemplateOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateInput` via: +// +// GetIsInstanceTemplatesTemplateArgs{...} +type GetIsInstanceTemplatesTemplateInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateOutput() GetIsInstanceTemplatesTemplateOutput + ToGetIsInstanceTemplatesTemplateOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateOutput +} + +type GetIsInstanceTemplatesTemplateArgs struct { + // The availability policy to use for this virtual server instance. The action to perform if the compute host experiences a failure. + AvailabilityPolicyHostFailure pulumi.StringInput `pulumi:"availabilityPolicyHostFailure"` + BootVolumeAttachments GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayInput `pulumi:"bootVolumeAttachments"` + // The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOfferings GetIsInstanceTemplatesTemplateCatalogOfferingArrayInput `pulumi:"catalogOfferings"` + // The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. + ClusterNetworkAttachments GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayInput `pulumi:"clusterNetworkAttachments"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode pulumi.StringInput `pulumi:"confidentialComputeMode"` + Crn pulumi.StringInput `pulumi:"crn"` + // If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. + DefaultTrustedProfileAutoLink pulumi.BoolInput `pulumi:"defaultTrustedProfileAutoLink"` + // The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. + DefaultTrustedProfileTarget pulumi.StringInput `pulumi:"defaultTrustedProfileTarget"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot pulumi.BoolInput `pulumi:"enableSecureBoot"` + Href pulumi.StringInput `pulumi:"href"` + Id pulumi.StringInput `pulumi:"id"` + Image pulumi.StringInput `pulumi:"image"` + Keys pulumi.StringArrayInput `pulumi:"keys"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + MetadataServiceEnabled pulumi.BoolInput `pulumi:"metadataServiceEnabled"` + // The metadata service configuration + MetadataServices GetIsInstanceTemplatesTemplateMetadataServiceArrayInput `pulumi:"metadataServices"` + Name pulumi.StringInput `pulumi:"name"` + // The additional network attachments to create for the virtual server instance. + NetworkAttachments GetIsInstanceTemplatesTemplateNetworkAttachmentArrayInput `pulumi:"networkAttachments"` + NetworkInterfaces GetIsInstanceTemplatesTemplateNetworkInterfaceArrayInput `pulumi:"networkInterfaces"` + // The placement restrictions for the virtual server instance. For the target tobe changed, the instance `status` must be `stopping` or `stopped`. + PlacementTargets GetIsInstanceTemplatesTemplatePlacementTargetArrayInput `pulumi:"placementTargets"` + // The primary network attachment to create for the virtual server instance. + PrimaryNetworkAttachments GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayInput `pulumi:"primaryNetworkAttachments"` + PrimaryNetworkInterfaces GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayInput `pulumi:"primaryNetworkInterfaces"` + Profile pulumi.StringInput `pulumi:"profile"` + ReservationAffinities GetIsInstanceTemplatesTemplateReservationAffinityArrayInput `pulumi:"reservationAffinities"` + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth pulumi.IntInput `pulumi:"totalVolumeBandwidth"` + UserData pulumi.StringInput `pulumi:"userData"` + VolumeAttachments GetIsInstanceTemplatesTemplateVolumeAttachmentArrayInput `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode pulumi.StringInput `pulumi:"volumeBandwidthQosMode"` + Vpc pulumi.StringInput `pulumi:"vpc"` + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsInstanceTemplatesTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplate)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateArgs) ToGetIsInstanceTemplatesTemplateOutput() GetIsInstanceTemplatesTemplateOutput { + return i.ToGetIsInstanceTemplatesTemplateOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateArgs) ToGetIsInstanceTemplatesTemplateOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateOutput) +} + +// GetIsInstanceTemplatesTemplateArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateArray and GetIsInstanceTemplatesTemplateArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateArrayInput` via: +// +// GetIsInstanceTemplatesTemplateArray{ GetIsInstanceTemplatesTemplateArgs{...} } +type GetIsInstanceTemplatesTemplateArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateArrayOutput() GetIsInstanceTemplatesTemplateArrayOutput + ToGetIsInstanceTemplatesTemplateArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateArrayOutput +} + +type GetIsInstanceTemplatesTemplateArray []GetIsInstanceTemplatesTemplateInput + +func (GetIsInstanceTemplatesTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplate)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateArray) ToGetIsInstanceTemplatesTemplateArrayOutput() GetIsInstanceTemplatesTemplateArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateArray) ToGetIsInstanceTemplatesTemplateArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateArrayOutput) +} + +type GetIsInstanceTemplatesTemplateOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplate)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateOutput) ToGetIsInstanceTemplatesTemplateOutput() GetIsInstanceTemplatesTemplateOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateOutput) ToGetIsInstanceTemplatesTemplateOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateOutput { + return o +} + +// The availability policy to use for this virtual server instance. The action to perform if the compute host experiences a failure. +func (o GetIsInstanceTemplatesTemplateOutput) AvailabilityPolicyHostFailure() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.AvailabilityPolicyHostFailure }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) BootVolumeAttachments() GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplateBootVolumeAttachment { + return v.BootVolumeAttachments + }).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput) +} + +// The catalog offering or offering version to use when provisioning this virtual server instance template. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. +func (o GetIsInstanceTemplatesTemplateOutput) CatalogOfferings() GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplateCatalogOffering { + return v.CatalogOfferings + }).(GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput) +} + +// The cluster network attachments to create for this virtual server instance. A cluster network attachment represents a device that is connected to a cluster network. The number of network attachments must match one of the values from the instance profile's `clusterNetworkAttachmentCount` before the instance can be started. +func (o GetIsInstanceTemplatesTemplateOutput) ClusterNetworkAttachments() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplateClusterNetworkAttachment { + return v.ClusterNetworkAttachments + }).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput) +} + +// The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. +func (o GetIsInstanceTemplatesTemplateOutput) ConfidentialComputeMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.ConfidentialComputeMode }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.Crn }).(pulumi.StringOutput) +} + +// If set to `true`, the system will create a link to the specified `target` trusted profile during instance creation. Regardless of whether a link is created by the system or manually using the IAM Identity service, it will be automatically deleted when the instance is deleted. +func (o GetIsInstanceTemplatesTemplateOutput) DefaultTrustedProfileAutoLink() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) bool { return v.DefaultTrustedProfileAutoLink }).(pulumi.BoolOutput) +} + +// The unique identifier or CRN of the default IAM trusted profile to use for this virtual server instance. +func (o GetIsInstanceTemplatesTemplateOutput) DefaultTrustedProfileTarget() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.DefaultTrustedProfileTarget }).(pulumi.StringOutput) +} + +// Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. +func (o GetIsInstanceTemplatesTemplateOutput) EnableSecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) bool { return v.EnableSecureBoot }).(pulumi.BoolOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.Image }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Keys() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []string { return v.Keys }).(pulumi.StringArrayOutput) +} + +// Indicates whether the metadata service endpoint is available to the virtual server instance +func (o GetIsInstanceTemplatesTemplateOutput) MetadataServiceEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) bool { return v.MetadataServiceEnabled }).(pulumi.BoolOutput) +} + +// The metadata service configuration +func (o GetIsInstanceTemplatesTemplateOutput) MetadataServices() GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplateMetadataService { + return v.MetadataServices + }).(GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.Name }).(pulumi.StringOutput) +} + +// The additional network attachments to create for the virtual server instance. +func (o GetIsInstanceTemplatesTemplateOutput) NetworkAttachments() GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplateNetworkAttachment { + return v.NetworkAttachments + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) NetworkInterfaces() GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplateNetworkInterface { + return v.NetworkInterfaces + }).(GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput) +} + +// The placement restrictions for the virtual server instance. For the target tobe changed, the instance `status` must be `stopping` or `stopped`. +func (o GetIsInstanceTemplatesTemplateOutput) PlacementTargets() GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplatePlacementTarget { + return v.PlacementTargets + }).(GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput) +} + +// The primary network attachment to create for the virtual server instance. +func (o GetIsInstanceTemplatesTemplateOutput) PrimaryNetworkAttachments() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment { + return v.PrimaryNetworkAttachments + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) PrimaryNetworkInterfaces() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplatePrimaryNetworkInterface { + return v.PrimaryNetworkInterfaces + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) ReservationAffinities() GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplateReservationAffinity { + return v.ReservationAffinities + }).(GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes +func (o GetIsInstanceTemplatesTemplateOutput) TotalVolumeBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) int { return v.TotalVolumeBandwidth }).(pulumi.IntOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) UserData() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.UserData }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) VolumeAttachments() GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) []GetIsInstanceTemplatesTemplateVolumeAttachment { + return v.VolumeAttachments + }).(GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput) +} + +// The volume bandwidth QoS mode for this virtual server instance. +func (o GetIsInstanceTemplatesTemplateOutput) VolumeBandwidthQosMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.VolumeBandwidthQosMode }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplate) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplate)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateArrayOutput) ToGetIsInstanceTemplatesTemplateArrayOutput() GetIsInstanceTemplatesTemplateArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateArrayOutput) ToGetIsInstanceTemplatesTemplateArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplate { + return vs[0].([]GetIsInstanceTemplatesTemplate)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachment struct { + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses []GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse `pulumi:"allowedUses"` + Bandwidth int `pulumi:"bandwidth"` + DeleteVolumeOnInstanceDelete bool `pulumi:"deleteVolumeOnInstanceDelete"` + Name string `pulumi:"name"` + Profile string `pulumi:"profile"` + Size int `pulumi:"size"` + // The snapshot from which to clone the volume. + SourceSnapshots []GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot `pulumi:"sourceSnapshots"` + // The user tags associated with this volume. + Tags []string `pulumi:"tags"` + Volume string `pulumi:"volume"` +} + +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentInput is an input type that accepts GetIsInstanceTemplatesTemplateBootVolumeAttachmentArgs and GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateBootVolumeAttachmentInput` via: +// +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentArgs{...} +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentArgs struct { + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayInput `pulumi:"allowedUses"` + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + DeleteVolumeOnInstanceDelete pulumi.BoolInput `pulumi:"deleteVolumeOnInstanceDelete"` + Name pulumi.StringInput `pulumi:"name"` + Profile pulumi.StringInput `pulumi:"profile"` + Size pulumi.IntInput `pulumi:"size"` + // The snapshot from which to clone the volume. + SourceSnapshots GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayInput `pulumi:"sourceSnapshots"` + // The user tags associated with this volume. + Tags pulumi.StringArrayInput `pulumi:"tags"` + Volume pulumi.StringInput `pulumi:"volume"` +} + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentArgs) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput { + return i.ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentArgs) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) +} + +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateBootVolumeAttachmentArray and GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayInput` via: +// +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentArray{ GetIsInstanceTemplatesTemplateBootVolumeAttachmentArgs{...} } +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentArray []GetIsInstanceTemplatesTemplateBootVolumeAttachmentInput + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateBootVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentArray) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentArray) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput { + return o +} + +// The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) AllowedUses() GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) []GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse { + return v.AllowedUses + }).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) int { return v.Size }).(pulumi.IntOutput) +} + +// The snapshot from which to clone the volume. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) SourceSnapshots() GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) []GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot { + return v.SourceSnapshots + }).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) +} + +// The user tags associated with this volume. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) Volume() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachment) string { return v.Volume }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateBootVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateBootVolumeAttachment { + return vs[0].([]GetIsInstanceTemplatesTemplateBootVolumeAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance string `pulumi:"instance"` +} + +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseInput is an input type that accepts GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArgs and GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseInput` via: +// +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArgs{...} +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArgs) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput { + return i.ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArgs) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput) +} + +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArray and GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayInput` via: +// +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArray{ GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArgs{...} } +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArray []GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseInput + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArray) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArray) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse { + return vs[0].([]GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUse)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot struct { + // The CRN of this snapshot. + Crn string `pulumi:"crn"` + // The URL for this snapshot. + Href string `pulumi:"href"` + // The unique identifier for this snapshot. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotInput is an input type that accepts GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArgs and GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotInput` via: +// +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArgs{...} +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArgs struct { + // The CRN of this snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this snapshot. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArgs) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput { + return i.ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArgs) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput) +} + +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArray and GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayInput` via: +// +// GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArray{ GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArgs{...} } +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput + ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArray []GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotInput + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArray) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArray) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput { + return o +} + +// The CRN of this snapshot. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this snapshot. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot. +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput() GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) ToGetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot { + return vs[0].([]GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshot)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput) +} + +type GetIsInstanceTemplatesTemplateCatalogOffering struct { + // Identifies a catalog offering by a unique CRN property + OfferingCrn string `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn string `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn string `pulumi:"versionCrn"` +} + +// GetIsInstanceTemplatesTemplateCatalogOfferingInput is an input type that accepts GetIsInstanceTemplatesTemplateCatalogOfferingArgs and GetIsInstanceTemplatesTemplateCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateCatalogOfferingInput` via: +// +// GetIsInstanceTemplatesTemplateCatalogOfferingArgs{...} +type GetIsInstanceTemplatesTemplateCatalogOfferingInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateCatalogOfferingOutput() GetIsInstanceTemplatesTemplateCatalogOfferingOutput + ToGetIsInstanceTemplatesTemplateCatalogOfferingOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateCatalogOfferingOutput +} + +type GetIsInstanceTemplatesTemplateCatalogOfferingArgs struct { + // Identifies a catalog offering by a unique CRN property + OfferingCrn pulumi.StringInput `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringInput `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn pulumi.StringInput `pulumi:"versionCrn"` +} + +func (GetIsInstanceTemplatesTemplateCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateCatalogOffering)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateCatalogOfferingArgs) ToGetIsInstanceTemplatesTemplateCatalogOfferingOutput() GetIsInstanceTemplatesTemplateCatalogOfferingOutput { + return i.ToGetIsInstanceTemplatesTemplateCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateCatalogOfferingArgs) ToGetIsInstanceTemplatesTemplateCatalogOfferingOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateCatalogOfferingOutput) +} + +// GetIsInstanceTemplatesTemplateCatalogOfferingArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateCatalogOfferingArray and GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateCatalogOfferingArrayInput` via: +// +// GetIsInstanceTemplatesTemplateCatalogOfferingArray{ GetIsInstanceTemplatesTemplateCatalogOfferingArgs{...} } +type GetIsInstanceTemplatesTemplateCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput() GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput + ToGetIsInstanceTemplatesTemplateCatalogOfferingArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput +} + +type GetIsInstanceTemplatesTemplateCatalogOfferingArray []GetIsInstanceTemplatesTemplateCatalogOfferingInput + +func (GetIsInstanceTemplatesTemplateCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateCatalogOffering)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateCatalogOfferingArray) ToGetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput() GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateCatalogOfferingArray) ToGetIsInstanceTemplatesTemplateCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput) +} + +type GetIsInstanceTemplatesTemplateCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateCatalogOffering)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateCatalogOfferingOutput) ToGetIsInstanceTemplatesTemplateCatalogOfferingOutput() GetIsInstanceTemplatesTemplateCatalogOfferingOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateCatalogOfferingOutput) ToGetIsInstanceTemplatesTemplateCatalogOfferingOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateCatalogOfferingOutput { + return o +} + +// Identifies a catalog offering by a unique CRN property +func (o GetIsInstanceTemplatesTemplateCatalogOfferingOutput) OfferingCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateCatalogOffering) string { return v.OfferingCrn }).(pulumi.StringOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o GetIsInstanceTemplatesTemplateCatalogOfferingOutput) PlanCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateCatalogOffering) string { return v.PlanCrn }).(pulumi.StringOutput) +} + +// Identifies a version of a catalog offering by a unique CRN property +func (o GetIsInstanceTemplatesTemplateCatalogOfferingOutput) VersionCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateCatalogOffering) string { return v.VersionCrn }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateCatalogOffering)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput) ToGetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput() GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput) ToGetIsInstanceTemplatesTemplateCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateCatalogOffering { + return vs[0].([]GetIsInstanceTemplatesTemplateCatalogOffering)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateCatalogOfferingOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachment struct { + // A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. + ClusterNetworkInterfaces []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface `pulumi:"clusterNetworkInterfaces"` + // The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentInput is an input type that accepts GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArgs and GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateClusterNetworkAttachmentInput` via: +// +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArgs{...} +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArgs struct { + // A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. + ClusterNetworkInterfaces GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput `pulumi:"clusterNetworkInterfaces"` + // The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArgs) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput { + return i.ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArgs) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput) +} + +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArray and GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayInput` via: +// +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArray{ GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArgs{...} } +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArray []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentInput + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArray) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArray) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput { + return o +} + +// A cluster network interface for the instance cluster network attachment. This can bespecified using an existing cluster network interface that does not already have a `target`,or a prototype object for a new cluster network interface.This instance must reside in the same VPC as the specified cluster network interface. Thecluster network interface must reside in the same cluster network as the`clusterNetworkInterface` of any other `clusterNetworkAttachments` for this instance. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput) ClusterNetworkInterfaces() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachment) []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface { + return v.ClusterNetworkInterfaces + }).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) +} + +// The name for this cluster network attachment. Names must be unique within the instance the cluster network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateClusterNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateClusterNetworkAttachment { + return vs[0].([]GetIsInstanceTemplatesTemplateClusterNetworkAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this cluster network interface. + Href string `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id string `pulumi:"id"` + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. + PrimaryIps []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. + Subnets []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet `pulumi:"subnets"` +} + +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs and GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput` via: +// +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs struct { + // Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this cluster network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. + PrimaryIps GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. + Subnets GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` +} + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray and GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray{ GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs{...} } +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return o +} + +// Indicates whether this cluster network interface will be automatically deleted when `target` is deleted. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this cluster network interface. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network interface. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this cluster network interface. The name must not be used by another interface in the cluster network. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface) string { + return v.Name + }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the cluster network interface. May be eithera cluster network subnet reserved IP identity, or a cluster network subnet reserved IPprototype object which will be used to create a new cluster network subnet reserved IP.If a cluster network subnet reserved IP identity is provided, the specified clusternetwork subnet reserved IP must be unbound.If a cluster network subnet reserved IP prototype object with an address is provided,the address must be available on the cluster network interface's cluster networksubnet. If no address is specified, an available address on the cluster network subnetwill be automatically selected and reserved. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) +} + +// The associated cluster network subnet. Required if `primaryIp` does not specify acluster network subnet reserved IP identity. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) Subnets() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface) []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface { + return vs[0].([]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this cluster network subnet reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id string `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this cluster network subnet reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray and GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this cluster network subnet reserved IP member will be automatically deleted when either `target` is deleted, or the cluster network subnet reserved IP is unbound. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this cluster network subnet reserved IP. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet reserved IP. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this cluster network subnet reserved IP. The name must not be used by another reserved IP in the cluster network subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp) string { + return v.Name + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet struct { + // The URL for this cluster network subnet. + Href string `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs and GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs struct { + // The URL for this cluster network subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network subnet. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray and GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray{ GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray []GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return o +} + +// The URL for this cluster network subnet. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network subnet. +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceTemplatesTemplateMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol string `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit int `pulumi:"responseHopLimit"` +} + +// GetIsInstanceTemplatesTemplateMetadataServiceInput is an input type that accepts GetIsInstanceTemplatesTemplateMetadataServiceArgs and GetIsInstanceTemplatesTemplateMetadataServiceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateMetadataServiceInput` via: +// +// GetIsInstanceTemplatesTemplateMetadataServiceArgs{...} +type GetIsInstanceTemplatesTemplateMetadataServiceInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateMetadataServiceOutput() GetIsInstanceTemplatesTemplateMetadataServiceOutput + ToGetIsInstanceTemplatesTemplateMetadataServiceOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateMetadataServiceOutput +} + +type GetIsInstanceTemplatesTemplateMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit pulumi.IntInput `pulumi:"responseHopLimit"` +} + +func (GetIsInstanceTemplatesTemplateMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateMetadataService)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateMetadataServiceArgs) ToGetIsInstanceTemplatesTemplateMetadataServiceOutput() GetIsInstanceTemplatesTemplateMetadataServiceOutput { + return i.ToGetIsInstanceTemplatesTemplateMetadataServiceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateMetadataServiceArgs) ToGetIsInstanceTemplatesTemplateMetadataServiceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateMetadataServiceOutput) +} + +// GetIsInstanceTemplatesTemplateMetadataServiceArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateMetadataServiceArray and GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateMetadataServiceArrayInput` via: +// +// GetIsInstanceTemplatesTemplateMetadataServiceArray{ GetIsInstanceTemplatesTemplateMetadataServiceArgs{...} } +type GetIsInstanceTemplatesTemplateMetadataServiceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateMetadataServiceArrayOutput() GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput + ToGetIsInstanceTemplatesTemplateMetadataServiceArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput +} + +type GetIsInstanceTemplatesTemplateMetadataServiceArray []GetIsInstanceTemplatesTemplateMetadataServiceInput + +func (GetIsInstanceTemplatesTemplateMetadataServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateMetadataService)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateMetadataServiceArray) ToGetIsInstanceTemplatesTemplateMetadataServiceArrayOutput() GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateMetadataServiceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateMetadataServiceArray) ToGetIsInstanceTemplatesTemplateMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput) +} + +type GetIsInstanceTemplatesTemplateMetadataServiceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateMetadataService)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateMetadataServiceOutput) ToGetIsInstanceTemplatesTemplateMetadataServiceOutput() GetIsInstanceTemplatesTemplateMetadataServiceOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateMetadataServiceOutput) ToGetIsInstanceTemplatesTemplateMetadataServiceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateMetadataServiceOutput { + return o +} + +// Indicates whether the metadata service endpoint will be available to the virtual server instance +func (o GetIsInstanceTemplatesTemplateMetadataServiceOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateMetadataService) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o GetIsInstanceTemplatesTemplateMetadataServiceOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateMetadataService) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The hop limit (IP time to live) for IP response packets from the metadata service +func (o GetIsInstanceTemplatesTemplateMetadataServiceOutput) ResponseHopLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateMetadataService) int { return v.ResponseHopLimit }).(pulumi.IntOutput) +} + +type GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateMetadataService)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput) ToGetIsInstanceTemplatesTemplateMetadataServiceArrayOutput() GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput) ToGetIsInstanceTemplatesTemplateMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateMetadataServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateMetadataService { + return vs[0].([]GetIsInstanceTemplatesTemplateMetadataService)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateMetadataServiceOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachment struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. + VirtualNetworkInterfaces []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentArgs and GetIsInstanceTemplatesTemplateNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentArgs{...} +type GetIsInstanceTemplatesTemplateNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentArgs struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. + VirtualNetworkInterfaces GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentArray and GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentArray{ GetIsInstanceTemplatesTemplateNetworkAttachmentArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentArray []GetIsInstanceTemplatesTemplateNetworkAttachmentInput + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentOutput { + return o +} + +// The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachment) []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkAttachment { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete bool `pulumi:"autoDelete"` + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. + Ips []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name string `pulumi:"name"` + // The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. + PrimaryIps []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode string `pulumi:"protocolStateFilteringMode"` + // The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. + ResourceGroups []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup `pulumi:"resourceGroups"` + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. + SecurityGroups []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` + // The associated subnet. Required if `primaryIp` does not specify a reserved IP. + Subnets []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet `pulumi:"subnets"` +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolInput `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. + Ips GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. + PrimaryIps GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringInput `pulumi:"protocolStateFilteringMode"` + // The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. + ResourceGroups GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput `pulumi:"resourceGroups"` + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. + SecurityGroups GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput `pulumi:"securityGroups"` + // The associated subnet. Required if `primaryIp` does not specify a reserved IP. + Subnets GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` +} + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) bool { + return v.AllowIpSpoofing + }).(pulumi.BoolOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The CRN for this virtual network interface. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringOutput) +} + +// The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroups() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup { + return v.ResourceGroups + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +// The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +// The associated subnet. Required if `primaryIp` does not specify a reserved IP. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) Subnets() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray{ GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Name + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup struct { + // The unique identifier for this resource group. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{...} +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs struct { + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray{ GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +// The unique identifier for this resource group. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroup)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{...} +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray{ GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The security group's canonical URL. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{...} +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray and GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray{ GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray []GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkInterface struct { + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// GetIsInstanceTemplatesTemplateNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkInterfaceArgs and GetIsInstanceTemplatesTemplateNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkInterfaceInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkInterfaceArgs{...} +type GetIsInstanceTemplatesTemplateNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateNetworkInterfaceOutput + ToGetIsInstanceTemplatesTemplateNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkInterfaceOutput +} + +type GetIsInstanceTemplatesTemplateNetworkInterfaceArgs struct { + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsInstanceTemplatesTemplateNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplateNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplateNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkInterfaceArray and GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkInterfaceArray{ GetIsInstanceTemplatesTemplateNetworkInterfaceArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkInterfaceArray []GetIsInstanceTemplatesTemplateNetworkInterfaceInput + +func (GetIsInstanceTemplatesTemplateNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplateNetworkInterfaceOutput() GetIsInstanceTemplatesTemplateNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplateNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkInterface) []GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkInterface) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkInterface { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkInterfaceOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` +} + +// GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` +} + +func (GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArray and GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArray []GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplatesTemplatePlacementTarget struct { + // The CRN for this dedicated host. + Crn string `pulumi:"crn"` + // The URL for this dedicated host. + Href string `pulumi:"href"` + // The unique identifier for this dedicated host. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplatePlacementTargetInput is an input type that accepts GetIsInstanceTemplatesTemplatePlacementTargetArgs and GetIsInstanceTemplatesTemplatePlacementTargetOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePlacementTargetInput` via: +// +// GetIsInstanceTemplatesTemplatePlacementTargetArgs{...} +type GetIsInstanceTemplatesTemplatePlacementTargetInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePlacementTargetOutput() GetIsInstanceTemplatesTemplatePlacementTargetOutput + ToGetIsInstanceTemplatesTemplatePlacementTargetOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePlacementTargetOutput +} + +type GetIsInstanceTemplatesTemplatePlacementTargetArgs struct { + // The CRN for this dedicated host. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this dedicated host. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this dedicated host. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplatePlacementTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePlacementTarget)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePlacementTargetArgs) ToGetIsInstanceTemplatesTemplatePlacementTargetOutput() GetIsInstanceTemplatesTemplatePlacementTargetOutput { + return i.ToGetIsInstanceTemplatesTemplatePlacementTargetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePlacementTargetArgs) ToGetIsInstanceTemplatesTemplatePlacementTargetOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePlacementTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePlacementTargetOutput) +} + +// GetIsInstanceTemplatesTemplatePlacementTargetArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePlacementTargetArray and GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePlacementTargetArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePlacementTargetArray{ GetIsInstanceTemplatesTemplatePlacementTargetArgs{...} } +type GetIsInstanceTemplatesTemplatePlacementTargetArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePlacementTargetArrayOutput() GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput + ToGetIsInstanceTemplatesTemplatePlacementTargetArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput +} + +type GetIsInstanceTemplatesTemplatePlacementTargetArray []GetIsInstanceTemplatesTemplatePlacementTargetInput + +func (GetIsInstanceTemplatesTemplatePlacementTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePlacementTarget)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePlacementTargetArray) ToGetIsInstanceTemplatesTemplatePlacementTargetArrayOutput() GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePlacementTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePlacementTargetArray) ToGetIsInstanceTemplatesTemplatePlacementTargetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePlacementTargetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePlacementTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePlacementTarget)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePlacementTargetOutput) ToGetIsInstanceTemplatesTemplatePlacementTargetOutput() GetIsInstanceTemplatesTemplatePlacementTargetOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePlacementTargetOutput) ToGetIsInstanceTemplatesTemplatePlacementTargetOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePlacementTargetOutput { + return o +} + +// The CRN for this dedicated host. +func (o GetIsInstanceTemplatesTemplatePlacementTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePlacementTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this dedicated host. +func (o GetIsInstanceTemplatesTemplatePlacementTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePlacementTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this dedicated host. +func (o GetIsInstanceTemplatesTemplatePlacementTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePlacementTarget) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePlacementTarget)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput) ToGetIsInstanceTemplatesTemplatePlacementTargetArrayOutput() GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput) ToGetIsInstanceTemplatesTemplatePlacementTargetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePlacementTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePlacementTarget { + return vs[0].([]GetIsInstanceTemplatesTemplatePlacementTarget)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePlacementTargetOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. + VirtualNetworkInterfaces []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArgs struct { + // The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. + VirtualNetworkInterfaces GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArray and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArray []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput { + return o +} + +// The name for this network attachment. Names must be unique within the instance the network attachment resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// A virtual network interface for the instance network attachment. This can be specifiedusing an existing virtual network interface, or a prototype object for a new virtualnetwork interface.If an existing virtual network interface is specified, `enableInfrastructureNat` must be`false`. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment) []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete bool `pulumi:"autoDelete"` + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. + Ips []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp `pulumi:"ips"` + // The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name string `pulumi:"name"` + // The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. + PrimaryIps []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode string `pulumi:"protocolStateFilteringMode"` + // The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. + ResourceGroups []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup `pulumi:"resourceGroups"` + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. + SecurityGroups []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` + // The associated subnet. Required if `primaryIp` does not specify a reserved IP. + Subnets []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet `pulumi:"subnets"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolInput `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. + Ips GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. + PrimaryIps GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringInput `pulumi:"protocolStateFilteringMode"` + // The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. + ResourceGroups GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput `pulumi:"resourceGroups"` + // The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. + SecurityGroups GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput `pulumi:"securityGroups"` + // The associated subnet. Required if `primaryIp` does not specify a reserved IP. + Subnets GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) bool { + return v.AllowIpSpoofing + }).(pulumi.BoolOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The CRN for this virtual network interface. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) bool { + return v.EnableInfrastructureNat + }).(pulumi.BoolOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.Id + }).(pulumi.StringOutput) +} + +// Additional IP addresses to bind to the virtual network interface. Each item may be either a reserved IP identity, or as a reserved IP prototype object which will be used to create a new reserved IP. All IP addresses must be in the same subnet as the primary IP.If reserved IP identities are provided, the specified reserved IPs must be unbound.If reserved IP prototype objects with addresses are provided, the addresses must be available on the virtual network interface's subnet. For any prototype objects that do not specify an address, an available address on the subnet will be automatically selected and reserved. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Ips() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return v.Ips + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +// The name for this virtual network interface. The name must not be used by another virtual network interface in the VPC. If unspecified, the name will be a hyphenated list of randomly-selected words. Names beginning with `ibm-` are reserved for provider-owned resources, and are not allowed. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.Name + }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the virtual network interface. May be either areserved IP identity, or a reserved IP prototype object which will be used to create anew reserved IP.If a reserved IP identity is provided, the specified reserved IP must be unbound.If a reserved IP prototype object with an address is provided, the address must beavailable on the virtual network interface's subnet. If no address is specified,an available address on the subnet will be automatically selected and reserved. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringOutput) +} + +// The resource group to use for this virtual network interface. If unspecified, thevirtual server instance's resource group will be used. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceGroups() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup { + return v.ResourceGroups + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +// The security groups to use for this virtual network interface. If unspecified, the default security group of the VPC for the subnet is used. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) SecurityGroups() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +// The associated subnet. Required if `primaryIp` does not specify a reserved IP. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Subnets() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface) []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp) string { + return v.Name + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address string `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete bool `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. + Address pulumi.StringInput `pulumi:"address"` + // Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet.If unspecified, an available address on the subnet will automatically be selected. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Address + }).(pulumi.StringOutput) +} + +// Indicates whether this reserved IP member will be automatically deleted when either`target` is deleted, or the reserved IP is unbound. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) bool { + return v.AutoDelete + }).(pulumi.BoolOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name must not be used by another reserved IP in the subnet. Names starting with `ibm-` are reserved for provider-owned resources, and are not allowed. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp) string { + return v.Name + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup struct { + // The unique identifier for this resource group. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs struct { + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +// The unique identifier for this resource group. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroup)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The security group's canonical URL. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray and GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray []GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet) string { + return v.Crn + }).(pulumi.StringOutput) +} + +// The URL for this subnet. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet) string { + return v.Id + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterface struct { + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + SecurityGroups []string `pulumi:"securityGroups"` + Subnet string `pulumi:"subnet"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArgs struct { + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArray and GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArray []GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) PrimaryIps() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkInterface) []GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkInterface) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkInterface { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkInterface)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArgs and GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArgs{...} +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` +} + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArgs) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArray and GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArray{ GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArray []GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpInput + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArray) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstanceTemplatesTemplateReservationAffinity struct { + // The reservation affinity policy to use for this virtual server instance. + Policy string `pulumi:"policy"` + // The reservation associated with this template. + Pool string `pulumi:"pool"` +} + +// GetIsInstanceTemplatesTemplateReservationAffinityInput is an input type that accepts GetIsInstanceTemplatesTemplateReservationAffinityArgs and GetIsInstanceTemplatesTemplateReservationAffinityOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateReservationAffinityInput` via: +// +// GetIsInstanceTemplatesTemplateReservationAffinityArgs{...} +type GetIsInstanceTemplatesTemplateReservationAffinityInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateReservationAffinityOutput() GetIsInstanceTemplatesTemplateReservationAffinityOutput + ToGetIsInstanceTemplatesTemplateReservationAffinityOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateReservationAffinityOutput +} + +type GetIsInstanceTemplatesTemplateReservationAffinityArgs struct { + // The reservation affinity policy to use for this virtual server instance. + Policy pulumi.StringInput `pulumi:"policy"` + // The reservation associated with this template. + Pool pulumi.StringInput `pulumi:"pool"` +} + +func (GetIsInstanceTemplatesTemplateReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateReservationAffinity)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateReservationAffinityArgs) ToGetIsInstanceTemplatesTemplateReservationAffinityOutput() GetIsInstanceTemplatesTemplateReservationAffinityOutput { + return i.ToGetIsInstanceTemplatesTemplateReservationAffinityOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateReservationAffinityArgs) ToGetIsInstanceTemplatesTemplateReservationAffinityOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateReservationAffinityOutput) +} + +// GetIsInstanceTemplatesTemplateReservationAffinityArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateReservationAffinityArray and GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateReservationAffinityArrayInput` via: +// +// GetIsInstanceTemplatesTemplateReservationAffinityArray{ GetIsInstanceTemplatesTemplateReservationAffinityArgs{...} } +type GetIsInstanceTemplatesTemplateReservationAffinityArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateReservationAffinityArrayOutput() GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput + ToGetIsInstanceTemplatesTemplateReservationAffinityArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput +} + +type GetIsInstanceTemplatesTemplateReservationAffinityArray []GetIsInstanceTemplatesTemplateReservationAffinityInput + +func (GetIsInstanceTemplatesTemplateReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateReservationAffinity)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateReservationAffinityArray) ToGetIsInstanceTemplatesTemplateReservationAffinityArrayOutput() GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateReservationAffinityArray) ToGetIsInstanceTemplatesTemplateReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput) +} + +type GetIsInstanceTemplatesTemplateReservationAffinityOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateReservationAffinity)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateReservationAffinityOutput) ToGetIsInstanceTemplatesTemplateReservationAffinityOutput() GetIsInstanceTemplatesTemplateReservationAffinityOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateReservationAffinityOutput) ToGetIsInstanceTemplatesTemplateReservationAffinityOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this virtual server instance. +func (o GetIsInstanceTemplatesTemplateReservationAffinityOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateReservationAffinity) string { return v.Policy }).(pulumi.StringOutput) +} + +// The reservation associated with this template. +func (o GetIsInstanceTemplatesTemplateReservationAffinityOutput) Pool() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateReservationAffinity) string { return v.Pool }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateReservationAffinity)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput) ToGetIsInstanceTemplatesTemplateReservationAffinityArrayOutput() GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput) ToGetIsInstanceTemplatesTemplateReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateReservationAffinity { + return vs[0].([]GetIsInstanceTemplatesTemplateReservationAffinity)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateReservationAffinityOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachment struct { + DeleteVolumeOnInstanceDelete bool `pulumi:"deleteVolumeOnInstanceDelete"` + Name string `pulumi:"name"` + Volume string `pulumi:"volume"` + VolumePrototypes []GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype `pulumi:"volumePrototypes"` +} + +// GetIsInstanceTemplatesTemplateVolumeAttachmentInput is an input type that accepts GetIsInstanceTemplatesTemplateVolumeAttachmentArgs and GetIsInstanceTemplatesTemplateVolumeAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateVolumeAttachmentInput` via: +// +// GetIsInstanceTemplatesTemplateVolumeAttachmentArgs{...} +type GetIsInstanceTemplatesTemplateVolumeAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateVolumeAttachmentOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentOutput + ToGetIsInstanceTemplatesTemplateVolumeAttachmentOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentOutput +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentArgs struct { + DeleteVolumeOnInstanceDelete pulumi.BoolInput `pulumi:"deleteVolumeOnInstanceDelete"` + Name pulumi.StringInput `pulumi:"name"` + Volume pulumi.StringInput `pulumi:"volume"` + VolumePrototypes GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayInput `pulumi:"volumePrototypes"` +} + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentArgs) ToGetIsInstanceTemplatesTemplateVolumeAttachmentOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentOutput { + return i.ToGetIsInstanceTemplatesTemplateVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentArgs) ToGetIsInstanceTemplatesTemplateVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) +} + +// GetIsInstanceTemplatesTemplateVolumeAttachmentArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateVolumeAttachmentArray and GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateVolumeAttachmentArrayInput` via: +// +// GetIsInstanceTemplatesTemplateVolumeAttachmentArray{ GetIsInstanceTemplatesTemplateVolumeAttachmentArgs{...} } +type GetIsInstanceTemplatesTemplateVolumeAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput + ToGetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentArray []GetIsInstanceTemplatesTemplateVolumeAttachmentInput + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentArray) ToGetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentArray) ToGetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachment) bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) Volume() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachment) string { return v.Volume }).(pulumi.StringOutput) +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) VolumePrototypes() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachment) []GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype { + return v.VolumePrototypes + }).(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateVolumeAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateVolumeAttachment { + return vs[0].([]GetIsInstanceTemplatesTemplateVolumeAttachment)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateVolumeAttachmentOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype struct { + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses []GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse `pulumi:"allowedUses"` + Bandwidth int `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity int `pulumi:"capacity"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey string `pulumi:"encryptionKey"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops int `pulumi:"iops"` + // The globally unique name for the volume profile to use for this volume. + Profile string `pulumi:"profile"` + // The snapshot to use as a source for the volume's data. + SourceSnapshot string `pulumi:"sourceSnapshot"` + // The user tags associated with this volume. + Tags []string `pulumi:"tags"` +} + +// GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeInput is an input type that accepts GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArgs and GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeInput` via: +// +// GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArgs{...} +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput + ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArgs struct { + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput `pulumi:"allowedUses"` + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + // The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity pulumi.IntInput `pulumi:"capacity"` + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"` + // The maximum I/O operations per second (IOPS) for the volume. + Iops pulumi.IntInput `pulumi:"iops"` + // The globally unique name for the volume profile to use for this volume. + Profile pulumi.StringInput `pulumi:"profile"` + // The snapshot to use as a source for the volume's data. + SourceSnapshot pulumi.StringInput `pulumi:"sourceSnapshot"` + // The user tags associated with this volume. + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArgs) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput { + return i.ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArgs) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) +} + +// GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArray and GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayInput` via: +// +// GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArray{ GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArgs{...} } +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput + ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArray []GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeInput + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArray) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArray) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput { + return o +} + +// The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) AllowedUses() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype) []GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse { + return v.AllowedUses + }).(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +// The capacity of the volume in gigabytes. The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) Capacity() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype) int { return v.Capacity }).(pulumi.IntOutput) +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The maximum I/O operations per second (IOPS) for the volume. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype) int { return v.Iops }).(pulumi.IntOutput) +} + +// The globally unique name for the volume profile to use for this volume. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype) string { return v.Profile }).(pulumi.StringOutput) +} + +// The snapshot to use as a source for the volume's data. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) SourceSnapshot() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype) string { return v.SourceSnapshot }).(pulumi.StringOutput) +} + +// The user tags associated with this volume. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype { + return vs[0].([]GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototype)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance string `pulumi:"instance"` +} + +// GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseInput is an input type that accepts GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs and GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseInput` via: +// +// GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{...} +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput + ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return i.ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) +} + +// GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput is an input type that accepts GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArray and GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput` via: +// +// GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArray{ GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{...} } +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput + ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutputWithContext(context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArray []GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseInput + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArray) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return i.ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArray) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse) string { + return v.ApiVersion + }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse) string { + return v.BareMetalServer + }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse) string { + return v.Instance + }).(pulumi.StringOutput) +} + +type GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse)(nil)).Elem() +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput() GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) ToGetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutputWithContext(ctx context.Context) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput { + return o +} + +func (o GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse { + return vs[0].([]GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUse)[vs[1].(int)] + }).(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput) +} + +type GetIsInstanceVcpus struct { + // Instance vCPU Architecture + Architecture string `pulumi:"architecture"` + // Instance vCPU count + Count int `pulumi:"count"` + // Instance vCPU Manufacturer + Manufacturer string `pulumi:"manufacturer"` +} + +// GetIsInstanceVcpusInput is an input type that accepts GetIsInstanceVcpusArgs and GetIsInstanceVcpusOutput values. +// You can construct a concrete instance of `GetIsInstanceVcpusInput` via: +// +// GetIsInstanceVcpusArgs{...} +type GetIsInstanceVcpusInput interface { + pulumi.Input + + ToGetIsInstanceVcpusOutput() GetIsInstanceVcpusOutput + ToGetIsInstanceVcpusOutputWithContext(context.Context) GetIsInstanceVcpusOutput +} + +type GetIsInstanceVcpusArgs struct { + // Instance vCPU Architecture + Architecture pulumi.StringInput `pulumi:"architecture"` + // Instance vCPU count + Count pulumi.IntInput `pulumi:"count"` + // Instance vCPU Manufacturer + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` +} + +func (GetIsInstanceVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVcpus)(nil)).Elem() +} + +func (i GetIsInstanceVcpusArgs) ToGetIsInstanceVcpusOutput() GetIsInstanceVcpusOutput { + return i.ToGetIsInstanceVcpusOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVcpusArgs) ToGetIsInstanceVcpusOutputWithContext(ctx context.Context) GetIsInstanceVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVcpusOutput) +} + +// GetIsInstanceVcpusArrayInput is an input type that accepts GetIsInstanceVcpusArray and GetIsInstanceVcpusArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceVcpusArrayInput` via: +// +// GetIsInstanceVcpusArray{ GetIsInstanceVcpusArgs{...} } +type GetIsInstanceVcpusArrayInput interface { + pulumi.Input + + ToGetIsInstanceVcpusArrayOutput() GetIsInstanceVcpusArrayOutput + ToGetIsInstanceVcpusArrayOutputWithContext(context.Context) GetIsInstanceVcpusArrayOutput +} + +type GetIsInstanceVcpusArray []GetIsInstanceVcpusInput + +func (GetIsInstanceVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVcpus)(nil)).Elem() +} + +func (i GetIsInstanceVcpusArray) ToGetIsInstanceVcpusArrayOutput() GetIsInstanceVcpusArrayOutput { + return i.ToGetIsInstanceVcpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVcpusArray) ToGetIsInstanceVcpusArrayOutputWithContext(ctx context.Context) GetIsInstanceVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVcpusArrayOutput) +} + +type GetIsInstanceVcpusOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVcpus)(nil)).Elem() +} + +func (o GetIsInstanceVcpusOutput) ToGetIsInstanceVcpusOutput() GetIsInstanceVcpusOutput { + return o +} + +func (o GetIsInstanceVcpusOutput) ToGetIsInstanceVcpusOutputWithContext(ctx context.Context) GetIsInstanceVcpusOutput { + return o +} + +// Instance vCPU Architecture +func (o GetIsInstanceVcpusOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVcpus) string { return v.Architecture }).(pulumi.StringOutput) +} + +// Instance vCPU count +func (o GetIsInstanceVcpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceVcpus) int { return v.Count }).(pulumi.IntOutput) +} + +// Instance vCPU Manufacturer +func (o GetIsInstanceVcpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVcpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +type GetIsInstanceVcpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVcpus)(nil)).Elem() +} + +func (o GetIsInstanceVcpusArrayOutput) ToGetIsInstanceVcpusArrayOutput() GetIsInstanceVcpusArrayOutput { + return o +} + +func (o GetIsInstanceVcpusArrayOutput) ToGetIsInstanceVcpusArrayOutputWithContext(ctx context.Context) GetIsInstanceVcpusArrayOutput { + return o +} + +func (o GetIsInstanceVcpusArrayOutput) Index(i pulumi.IntInput) GetIsInstanceVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceVcpus { + return vs[0].([]GetIsInstanceVcpus)[vs[1].(int)] + }).(GetIsInstanceVcpusOutput) +} + +type GetIsInstanceVolumeAttachmentType struct { + // Instance Volume Attachment id + Id string `pulumi:"id"` + // Instance Volume Attachment name + Name string `pulumi:"name"` + // Instance Boot Volume's volume CRN + VolumeCrn string `pulumi:"volumeCrn"` + // Instance Boot Volume's volume id + VolumeId string `pulumi:"volumeId"` + // Instance Boot Volume's volume name + VolumeName string `pulumi:"volumeName"` +} + +// GetIsInstanceVolumeAttachmentTypeInput is an input type that accepts GetIsInstanceVolumeAttachmentTypeArgs and GetIsInstanceVolumeAttachmentTypeOutput values. +// You can construct a concrete instance of `GetIsInstanceVolumeAttachmentTypeInput` via: +// +// GetIsInstanceVolumeAttachmentTypeArgs{...} +type GetIsInstanceVolumeAttachmentTypeInput interface { + pulumi.Input + + ToGetIsInstanceVolumeAttachmentTypeOutput() GetIsInstanceVolumeAttachmentTypeOutput + ToGetIsInstanceVolumeAttachmentTypeOutputWithContext(context.Context) GetIsInstanceVolumeAttachmentTypeOutput +} + +type GetIsInstanceVolumeAttachmentTypeArgs struct { + // Instance Volume Attachment id + Id pulumi.StringInput `pulumi:"id"` + // Instance Volume Attachment name + Name pulumi.StringInput `pulumi:"name"` + // Instance Boot Volume's volume CRN + VolumeCrn pulumi.StringInput `pulumi:"volumeCrn"` + // Instance Boot Volume's volume id + VolumeId pulumi.StringInput `pulumi:"volumeId"` + // Instance Boot Volume's volume name + VolumeName pulumi.StringInput `pulumi:"volumeName"` +} + +func (GetIsInstanceVolumeAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentType)(nil)).Elem() +} + +func (i GetIsInstanceVolumeAttachmentTypeArgs) ToGetIsInstanceVolumeAttachmentTypeOutput() GetIsInstanceVolumeAttachmentTypeOutput { + return i.ToGetIsInstanceVolumeAttachmentTypeOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVolumeAttachmentTypeArgs) ToGetIsInstanceVolumeAttachmentTypeOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVolumeAttachmentTypeOutput) +} + +// GetIsInstanceVolumeAttachmentTypeArrayInput is an input type that accepts GetIsInstanceVolumeAttachmentTypeArray and GetIsInstanceVolumeAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceVolumeAttachmentTypeArrayInput` via: +// +// GetIsInstanceVolumeAttachmentTypeArray{ GetIsInstanceVolumeAttachmentTypeArgs{...} } +type GetIsInstanceVolumeAttachmentTypeArrayInput interface { + pulumi.Input + + ToGetIsInstanceVolumeAttachmentTypeArrayOutput() GetIsInstanceVolumeAttachmentTypeArrayOutput + ToGetIsInstanceVolumeAttachmentTypeArrayOutputWithContext(context.Context) GetIsInstanceVolumeAttachmentTypeArrayOutput +} + +type GetIsInstanceVolumeAttachmentTypeArray []GetIsInstanceVolumeAttachmentTypeInput + +func (GetIsInstanceVolumeAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVolumeAttachmentType)(nil)).Elem() +} + +func (i GetIsInstanceVolumeAttachmentTypeArray) ToGetIsInstanceVolumeAttachmentTypeArrayOutput() GetIsInstanceVolumeAttachmentTypeArrayOutput { + return i.ToGetIsInstanceVolumeAttachmentTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVolumeAttachmentTypeArray) ToGetIsInstanceVolumeAttachmentTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVolumeAttachmentTypeArrayOutput) +} + +type GetIsInstanceVolumeAttachmentTypeOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentType)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentTypeOutput) ToGetIsInstanceVolumeAttachmentTypeOutput() GetIsInstanceVolumeAttachmentTypeOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentTypeOutput) ToGetIsInstanceVolumeAttachmentTypeOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentTypeOutput { + return o +} + +// Instance Volume Attachment id +func (o GetIsInstanceVolumeAttachmentTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentType) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance Volume Attachment name +func (o GetIsInstanceVolumeAttachmentTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentType) string { return v.Name }).(pulumi.StringOutput) +} + +// Instance Boot Volume's volume CRN +func (o GetIsInstanceVolumeAttachmentTypeOutput) VolumeCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentType) string { return v.VolumeCrn }).(pulumi.StringOutput) +} + +// Instance Boot Volume's volume id +func (o GetIsInstanceVolumeAttachmentTypeOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentType) string { return v.VolumeId }).(pulumi.StringOutput) +} + +// Instance Boot Volume's volume name +func (o GetIsInstanceVolumeAttachmentTypeOutput) VolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentType) string { return v.VolumeName }).(pulumi.StringOutput) +} + +type GetIsInstanceVolumeAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVolumeAttachmentType)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentTypeArrayOutput) ToGetIsInstanceVolumeAttachmentTypeArrayOutput() GetIsInstanceVolumeAttachmentTypeArrayOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentTypeArrayOutput) ToGetIsInstanceVolumeAttachmentTypeArrayOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentTypeArrayOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentTypeArrayOutput) Index(i pulumi.IntInput) GetIsInstanceVolumeAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceVolumeAttachmentType { + return vs[0].([]GetIsInstanceVolumeAttachmentType)[vs[1].(int)] + }).(GetIsInstanceVolumeAttachmentTypeOutput) +} + +type GetIsInstanceVolumeAttachmentVolumeReference struct { + // The CRN for this volume + VolumeCrn string `pulumi:"volumeCrn"` + // Link to documentation about deleted resources + VolumeDeleted string `pulumi:"volumeDeleted"` + // The URL for this volume + VolumeHref string `pulumi:"volumeHref"` + // The unique identifier for this volume + VolumeId string `pulumi:"volumeId"` + // The unique user-defined name for this volume + VolumeName string `pulumi:"volumeName"` +} + +// GetIsInstanceVolumeAttachmentVolumeReferenceInput is an input type that accepts GetIsInstanceVolumeAttachmentVolumeReferenceArgs and GetIsInstanceVolumeAttachmentVolumeReferenceOutput values. +// You can construct a concrete instance of `GetIsInstanceVolumeAttachmentVolumeReferenceInput` via: +// +// GetIsInstanceVolumeAttachmentVolumeReferenceArgs{...} +type GetIsInstanceVolumeAttachmentVolumeReferenceInput interface { + pulumi.Input + + ToGetIsInstanceVolumeAttachmentVolumeReferenceOutput() GetIsInstanceVolumeAttachmentVolumeReferenceOutput + ToGetIsInstanceVolumeAttachmentVolumeReferenceOutputWithContext(context.Context) GetIsInstanceVolumeAttachmentVolumeReferenceOutput +} + +type GetIsInstanceVolumeAttachmentVolumeReferenceArgs struct { + // The CRN for this volume + VolumeCrn pulumi.StringInput `pulumi:"volumeCrn"` + // Link to documentation about deleted resources + VolumeDeleted pulumi.StringInput `pulumi:"volumeDeleted"` + // The URL for this volume + VolumeHref pulumi.StringInput `pulumi:"volumeHref"` + // The unique identifier for this volume + VolumeId pulumi.StringInput `pulumi:"volumeId"` + // The unique user-defined name for this volume + VolumeName pulumi.StringInput `pulumi:"volumeName"` +} + +func (GetIsInstanceVolumeAttachmentVolumeReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentVolumeReference)(nil)).Elem() +} + +func (i GetIsInstanceVolumeAttachmentVolumeReferenceArgs) ToGetIsInstanceVolumeAttachmentVolumeReferenceOutput() GetIsInstanceVolumeAttachmentVolumeReferenceOutput { + return i.ToGetIsInstanceVolumeAttachmentVolumeReferenceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVolumeAttachmentVolumeReferenceArgs) ToGetIsInstanceVolumeAttachmentVolumeReferenceOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentVolumeReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVolumeAttachmentVolumeReferenceOutput) +} + +// GetIsInstanceVolumeAttachmentVolumeReferenceArrayInput is an input type that accepts GetIsInstanceVolumeAttachmentVolumeReferenceArray and GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceVolumeAttachmentVolumeReferenceArrayInput` via: +// +// GetIsInstanceVolumeAttachmentVolumeReferenceArray{ GetIsInstanceVolumeAttachmentVolumeReferenceArgs{...} } +type GetIsInstanceVolumeAttachmentVolumeReferenceArrayInput interface { + pulumi.Input + + ToGetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput() GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput + ToGetIsInstanceVolumeAttachmentVolumeReferenceArrayOutputWithContext(context.Context) GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput +} + +type GetIsInstanceVolumeAttachmentVolumeReferenceArray []GetIsInstanceVolumeAttachmentVolumeReferenceInput + +func (GetIsInstanceVolumeAttachmentVolumeReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVolumeAttachmentVolumeReference)(nil)).Elem() +} + +func (i GetIsInstanceVolumeAttachmentVolumeReferenceArray) ToGetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput() GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput { + return i.ToGetIsInstanceVolumeAttachmentVolumeReferenceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVolumeAttachmentVolumeReferenceArray) ToGetIsInstanceVolumeAttachmentVolumeReferenceArrayOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput) +} + +type GetIsInstanceVolumeAttachmentVolumeReferenceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentVolumeReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentVolumeReference)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentVolumeReferenceOutput) ToGetIsInstanceVolumeAttachmentVolumeReferenceOutput() GetIsInstanceVolumeAttachmentVolumeReferenceOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentVolumeReferenceOutput) ToGetIsInstanceVolumeAttachmentVolumeReferenceOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentVolumeReferenceOutput { + return o +} + +// The CRN for this volume +func (o GetIsInstanceVolumeAttachmentVolumeReferenceOutput) VolumeCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentVolumeReference) string { return v.VolumeCrn }).(pulumi.StringOutput) +} + +// Link to documentation about deleted resources +func (o GetIsInstanceVolumeAttachmentVolumeReferenceOutput) VolumeDeleted() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentVolumeReference) string { return v.VolumeDeleted }).(pulumi.StringOutput) +} + +// The URL for this volume +func (o GetIsInstanceVolumeAttachmentVolumeReferenceOutput) VolumeHref() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentVolumeReference) string { return v.VolumeHref }).(pulumi.StringOutput) +} + +// The unique identifier for this volume +func (o GetIsInstanceVolumeAttachmentVolumeReferenceOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentVolumeReference) string { return v.VolumeId }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume +func (o GetIsInstanceVolumeAttachmentVolumeReferenceOutput) VolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentVolumeReference) string { return v.VolumeName }).(pulumi.StringOutput) +} + +type GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVolumeAttachmentVolumeReference)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput) ToGetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput() GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput) ToGetIsInstanceVolumeAttachmentVolumeReferenceArrayOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceVolumeAttachmentVolumeReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceVolumeAttachmentVolumeReference { + return vs[0].([]GetIsInstanceVolumeAttachmentVolumeReference)[vs[1].(int)] + }).(GetIsInstanceVolumeAttachmentVolumeReferenceOutput) +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachment struct { + // The maximum bandwidth (in megabits per second) for the volume when attached to this instance. This may be lower than the volume bandwidth depending on the configuration of the instance. + Bandwidth int `pulumi:"bandwidth"` + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete bool `pulumi:"deleteVolumeOnInstanceDelete"` + // A unique identifier for the device which is exposed to the instance operating system + Device string `pulumi:"device"` + // The URL for this volume attachment + Href string `pulumi:"href"` + // The user-defined name for this volume attachment. + Name string `pulumi:"name"` + // The status of this volume attachment, one of [ attached, attaching, deleting, detaching ] + Status string `pulumi:"status"` + // The type of volume attachment one of [ boot, data ] + Type string `pulumi:"type"` + // The unique identifier for this volume attachment + VolumeAttachmentId string `pulumi:"volumeAttachmentId"` + // The CRN for this volume + VolumeCrn string `pulumi:"volumeCrn"` + // Link to documentation about deleted resources + VolumeDeleted string `pulumi:"volumeDeleted"` + // The URL for this volume + VolumeHref string `pulumi:"volumeHref"` + // The unique identifier for this volume + VolumeId string `pulumi:"volumeId"` + // The unique user-defined name for this volume + VolumeName string `pulumi:"volumeName"` + // The attached volume + VolumeReferences []GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference `pulumi:"volumeReferences"` +} + +// GetIsInstanceVolumeAttachmentsVolumeAttachmentInput is an input type that accepts GetIsInstanceVolumeAttachmentsVolumeAttachmentArgs and GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstanceVolumeAttachmentsVolumeAttachmentInput` via: +// +// GetIsInstanceVolumeAttachmentsVolumeAttachmentArgs{...} +type GetIsInstanceVolumeAttachmentsVolumeAttachmentInput interface { + pulumi.Input + + ToGetIsInstanceVolumeAttachmentsVolumeAttachmentOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput + ToGetIsInstanceVolumeAttachmentsVolumeAttachmentOutputWithContext(context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentArgs struct { + // The maximum bandwidth (in megabits per second) for the volume when attached to this instance. This may be lower than the volume bandwidth depending on the configuration of the instance. + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete pulumi.BoolInput `pulumi:"deleteVolumeOnInstanceDelete"` + // A unique identifier for the device which is exposed to the instance operating system + Device pulumi.StringInput `pulumi:"device"` + // The URL for this volume attachment + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this volume attachment. + Name pulumi.StringInput `pulumi:"name"` + // The status of this volume attachment, one of [ attached, attaching, deleting, detaching ] + Status pulumi.StringInput `pulumi:"status"` + // The type of volume attachment one of [ boot, data ] + Type pulumi.StringInput `pulumi:"type"` + // The unique identifier for this volume attachment + VolumeAttachmentId pulumi.StringInput `pulumi:"volumeAttachmentId"` + // The CRN for this volume + VolumeCrn pulumi.StringInput `pulumi:"volumeCrn"` + // Link to documentation about deleted resources + VolumeDeleted pulumi.StringInput `pulumi:"volumeDeleted"` + // The URL for this volume + VolumeHref pulumi.StringInput `pulumi:"volumeHref"` + // The unique identifier for this volume + VolumeId pulumi.StringInput `pulumi:"volumeId"` + // The unique user-defined name for this volume + VolumeName pulumi.StringInput `pulumi:"volumeName"` + // The attached volume + VolumeReferences GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayInput `pulumi:"volumeReferences"` +} + +func (GetIsInstanceVolumeAttachmentsVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentsVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceVolumeAttachmentsVolumeAttachmentArgs) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput { + return i.ToGetIsInstanceVolumeAttachmentsVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVolumeAttachmentsVolumeAttachmentArgs) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) +} + +// GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayInput is an input type that accepts GetIsInstanceVolumeAttachmentsVolumeAttachmentArray and GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayInput` via: +// +// GetIsInstanceVolumeAttachmentsVolumeAttachmentArray{ GetIsInstanceVolumeAttachmentsVolumeAttachmentArgs{...} } +type GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput + ToGetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutputWithContext(context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentArray []GetIsInstanceVolumeAttachmentsVolumeAttachmentInput + +func (GetIsInstanceVolumeAttachmentsVolumeAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVolumeAttachmentsVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstanceVolumeAttachmentsVolumeAttachmentArray) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput { + return i.ToGetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVolumeAttachmentsVolumeAttachmentArray) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput) +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentsVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput { + return o +} + +// The maximum bandwidth (in megabits per second) for the volume when attached to this instance. This may be lower than the volume bandwidth depending on the configuration of the instance. +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +// If set to true, when deleting the instance the volume will also be deleted. +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +// A unique identifier for the device which is exposed to the instance operating system +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) Device() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.Device }).(pulumi.StringOutput) +} + +// The URL for this volume attachment +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this volume attachment. +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The status of this volume attachment, one of [ attached, attaching, deleting, detaching ] +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.Status }).(pulumi.StringOutput) +} + +// The type of volume attachment one of [ boot, data ] +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.Type }).(pulumi.StringOutput) +} + +// The unique identifier for this volume attachment +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) VolumeAttachmentId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.VolumeAttachmentId }).(pulumi.StringOutput) +} + +// The CRN for this volume +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) VolumeCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.VolumeCrn }).(pulumi.StringOutput) +} + +// Link to documentation about deleted resources +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) VolumeDeleted() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.VolumeDeleted }).(pulumi.StringOutput) +} + +// The URL for this volume +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) VolumeHref() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.VolumeHref }).(pulumi.StringOutput) +} + +// The unique identifier for this volume +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.VolumeId }).(pulumi.StringOutput) +} + +// The unique user-defined name for this volume +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) VolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) string { return v.VolumeName }).(pulumi.StringOutput) +} + +// The attached volume +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) VolumeReferences() GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput { + return o.ApplyT(func(v GetIsInstanceVolumeAttachmentsVolumeAttachment) []GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference { + return v.VolumeReferences + }).(GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput) +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVolumeAttachmentsVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceVolumeAttachmentsVolumeAttachment { + return vs[0].([]GetIsInstanceVolumeAttachmentsVolumeAttachment)[vs[1].(int)] + }).(GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput) +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference struct { +} + +// GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceInput is an input type that accepts GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArgs and GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput values. +// You can construct a concrete instance of `GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceInput` via: +// +// GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArgs{...} +type GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceInput interface { + pulumi.Input + + ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput + ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutputWithContext(context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArgs struct { +} + +func (GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference)(nil)).Elem() +} + +func (i GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArgs) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput { + return i.ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArgs) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput) +} + +// GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayInput is an input type that accepts GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArray and GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput values. +// You can construct a concrete instance of `GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayInput` via: +// +// GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArray{ GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArgs{...} } +type GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayInput interface { + pulumi.Input + + ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput + ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutputWithContext(context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArray []GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceInput + +func (GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference)(nil)).Elem() +} + +func (i GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArray) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput { + return i.ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArray) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput) +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput { + return o +} + +type GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference)(nil)).Elem() +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput() GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput) ToGetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutputWithContext(ctx context.Context) GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput { + return o +} + +func (o GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput) Index(i pulumi.IntInput) GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference { + return vs[0].([]GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReference)[vs[1].(int)] + }).(GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput) +} + +type GetIsInstancesInstance struct { + // list of access tags for the instance + AccessTags []string `pulumi:"accessTags"` + // The availability policy to use for this virtual server instance. The action to perform if the compute host experiences a failure. + AvailabilityPolicyHostFailure string `pulumi:"availabilityPolicyHostFailure"` + // The total bandwidth (in megabits per second) shared across the instance's network interfaces and storage volumes + Bandwidth int `pulumi:"bandwidth"` + // Instance Boot Volume + BootVolumes []GetIsInstancesInstanceBootVolume `pulumi:"bootVolumes"` + // The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOfferings []GetIsInstancesInstanceCatalogOffering `pulumi:"catalogOfferings"` + // The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. + ClusterNetworkAttachments []GetIsInstancesInstanceClusterNetworkAttachment `pulumi:"clusterNetworkAttachments"` + // If present, the cluster network that this virtual server instance resides in. + ClusterNetworks []GetIsInstancesInstanceClusterNetwork `pulumi:"clusterNetworks"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode string `pulumi:"confidentialComputeMode"` + // The crn for this Instance + Crn string `pulumi:"crn"` + // Collection of the instance's disks. + Disks []GetIsInstancesInstanceDisk `pulumi:"disks"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot bool `pulumi:"enableSecureBoot"` + // Instance GPU + Gpus []GetIsInstancesInstanceGpus `pulumi:"gpus"` + // The reasons for the current healthState (if any). + HealthReasons []GetIsInstancesInstanceHealthReason `pulumi:"healthReasons"` + // The health of this resource + HealthState string `pulumi:"healthState"` + // Instance id + Id string `pulumi:"id"` + // Instance Image + Image string `pulumi:"image"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []GetIsInstancesInstanceLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the virtual server instance. + LifecycleState string `pulumi:"lifecycleState"` + // Instance memory + Memory int `pulumi:"memory"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + MetadataServiceEnabled bool `pulumi:"metadataServiceEnabled"` + // The metadata service configuration + MetadataServices []GetIsInstancesInstanceMetadataService `pulumi:"metadataServices"` + // Instance name + Name string `pulumi:"name"` + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments []GetIsInstancesInstanceNetworkAttachment `pulumi:"networkAttachments"` + // Instance Network Interfaces + NetworkInterfaces []GetIsInstancesInstanceNetworkInterface `pulumi:"networkInterfaces"` + // The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. + NumaCount int `pulumi:"numaCount"` + // The placement restrictions for the virtual server instance. + PlacementTargets []GetIsInstancesInstancePlacementTarget `pulumi:"placementTargets"` + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachments []GetIsInstancesInstancePrimaryNetworkAttachment `pulumi:"primaryNetworkAttachments"` + // Instance Primary Network Interface + PrimaryNetworkInterfaces []GetIsInstancesInstancePrimaryNetworkInterface `pulumi:"primaryNetworkInterfaces"` + // Instance Profile + Profile string `pulumi:"profile"` + ReservationAffinities []GetIsInstancesInstanceReservationAffinity `pulumi:"reservationAffinities"` + // The reservation used by this virtual server instance + Reservations []GetIsInstancesInstanceReservation `pulumi:"reservations"` + // Instance resource group + ResourceGroup string `pulumi:"resourceGroup"` + // Instance status + Status string `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons []GetIsInstancesInstanceStatusReason `pulumi:"statusReasons"` + // list of tags for the instance + Tags []string `pulumi:"tags"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance network interfaces. + TotalNetworkBandwidth int `pulumi:"totalNetworkBandwidth"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth int `pulumi:"totalVolumeBandwidth"` + // Instance vcpu + Vcpus []GetIsInstancesInstanceVcpus `pulumi:"vcpus"` + // Instance Volume Attachments + VolumeAttachments []GetIsInstancesInstanceVolumeAttachment `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode string `pulumi:"volumeBandwidthQosMode"` + // vpc attached to the instance + Vpc string `pulumi:"vpc"` + // Instance zone + Zone string `pulumi:"zone"` +} + +// GetIsInstancesInstanceInput is an input type that accepts GetIsInstancesInstanceArgs and GetIsInstancesInstanceOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceInput` via: +// +// GetIsInstancesInstanceArgs{...} +type GetIsInstancesInstanceInput interface { + pulumi.Input + + ToGetIsInstancesInstanceOutput() GetIsInstancesInstanceOutput + ToGetIsInstancesInstanceOutputWithContext(context.Context) GetIsInstancesInstanceOutput +} + +type GetIsInstancesInstanceArgs struct { + // list of access tags for the instance + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The availability policy to use for this virtual server instance. The action to perform if the compute host experiences a failure. + AvailabilityPolicyHostFailure pulumi.StringInput `pulumi:"availabilityPolicyHostFailure"` + // The total bandwidth (in megabits per second) shared across the instance's network interfaces and storage volumes + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + // Instance Boot Volume + BootVolumes GetIsInstancesInstanceBootVolumeArrayInput `pulumi:"bootVolumes"` + // The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. + CatalogOfferings GetIsInstancesInstanceCatalogOfferingArrayInput `pulumi:"catalogOfferings"` + // The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. + ClusterNetworkAttachments GetIsInstancesInstanceClusterNetworkAttachmentArrayInput `pulumi:"clusterNetworkAttachments"` + // If present, the cluster network that this virtual server instance resides in. + ClusterNetworks GetIsInstancesInstanceClusterNetworkArrayInput `pulumi:"clusterNetworks"` + // The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. + ConfidentialComputeMode pulumi.StringInput `pulumi:"confidentialComputeMode"` + // The crn for this Instance + Crn pulumi.StringInput `pulumi:"crn"` + // Collection of the instance's disks. + Disks GetIsInstancesInstanceDiskArrayInput `pulumi:"disks"` + // Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. + EnableSecureBoot pulumi.BoolInput `pulumi:"enableSecureBoot"` + // Instance GPU + Gpus GetIsInstancesInstanceGpusArrayInput `pulumi:"gpus"` + // The reasons for the current healthState (if any). + HealthReasons GetIsInstancesInstanceHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource + HealthState pulumi.StringInput `pulumi:"healthState"` + // Instance id + Id pulumi.StringInput `pulumi:"id"` + // Instance Image + Image pulumi.StringInput `pulumi:"image"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons GetIsInstancesInstanceLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the virtual server instance. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // Instance memory + Memory pulumi.IntInput `pulumi:"memory"` + // Indicates whether the metadata service endpoint is available to the virtual server instance + MetadataServiceEnabled pulumi.BoolInput `pulumi:"metadataServiceEnabled"` + // The metadata service configuration + MetadataServices GetIsInstancesInstanceMetadataServiceArrayInput `pulumi:"metadataServices"` + // Instance name + Name pulumi.StringInput `pulumi:"name"` + // The network attachments for this virtual server instance, including the primary network attachment. + NetworkAttachments GetIsInstancesInstanceNetworkAttachmentArrayInput `pulumi:"networkAttachments"` + // Instance Network Interfaces + NetworkInterfaces GetIsInstancesInstanceNetworkInterfaceArrayInput `pulumi:"networkInterfaces"` + // The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. + NumaCount pulumi.IntInput `pulumi:"numaCount"` + // The placement restrictions for the virtual server instance. + PlacementTargets GetIsInstancesInstancePlacementTargetArrayInput `pulumi:"placementTargets"` + // The primary network attachment for this virtual server instance. + PrimaryNetworkAttachments GetIsInstancesInstancePrimaryNetworkAttachmentArrayInput `pulumi:"primaryNetworkAttachments"` + // Instance Primary Network Interface + PrimaryNetworkInterfaces GetIsInstancesInstancePrimaryNetworkInterfaceArrayInput `pulumi:"primaryNetworkInterfaces"` + // Instance Profile + Profile pulumi.StringInput `pulumi:"profile"` + ReservationAffinities GetIsInstancesInstanceReservationAffinityArrayInput `pulumi:"reservationAffinities"` + // The reservation used by this virtual server instance + Reservations GetIsInstancesInstanceReservationArrayInput `pulumi:"reservations"` + // Instance resource group + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // Instance status + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons GetIsInstancesInstanceStatusReasonArrayInput `pulumi:"statusReasons"` + // list of tags for the instance + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance network interfaces. + TotalNetworkBandwidth pulumi.IntInput `pulumi:"totalNetworkBandwidth"` + // The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes + TotalVolumeBandwidth pulumi.IntInput `pulumi:"totalVolumeBandwidth"` + // Instance vcpu + Vcpus GetIsInstancesInstanceVcpusArrayInput `pulumi:"vcpus"` + // Instance Volume Attachments + VolumeAttachments GetIsInstancesInstanceVolumeAttachmentArrayInput `pulumi:"volumeAttachments"` + // The volume bandwidth QoS mode for this virtual server instance. + VolumeBandwidthQosMode pulumi.StringInput `pulumi:"volumeBandwidthQosMode"` + // vpc attached to the instance + Vpc pulumi.StringInput `pulumi:"vpc"` + // Instance zone + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsInstancesInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstance)(nil)).Elem() +} + +func (i GetIsInstancesInstanceArgs) ToGetIsInstancesInstanceOutput() GetIsInstancesInstanceOutput { + return i.ToGetIsInstancesInstanceOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceArgs) ToGetIsInstancesInstanceOutputWithContext(ctx context.Context) GetIsInstancesInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceOutput) +} + +// GetIsInstancesInstanceArrayInput is an input type that accepts GetIsInstancesInstanceArray and GetIsInstancesInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceArrayInput` via: +// +// GetIsInstancesInstanceArray{ GetIsInstancesInstanceArgs{...} } +type GetIsInstancesInstanceArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceArrayOutput() GetIsInstancesInstanceArrayOutput + ToGetIsInstancesInstanceArrayOutputWithContext(context.Context) GetIsInstancesInstanceArrayOutput +} + +type GetIsInstancesInstanceArray []GetIsInstancesInstanceInput + +func (GetIsInstancesInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstance)(nil)).Elem() +} + +func (i GetIsInstancesInstanceArray) ToGetIsInstancesInstanceArrayOutput() GetIsInstancesInstanceArrayOutput { + return i.ToGetIsInstancesInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceArray) ToGetIsInstancesInstanceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceArrayOutput) +} + +type GetIsInstancesInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstance)(nil)).Elem() +} + +func (o GetIsInstancesInstanceOutput) ToGetIsInstancesInstanceOutput() GetIsInstancesInstanceOutput { + return o +} + +func (o GetIsInstancesInstanceOutput) ToGetIsInstancesInstanceOutputWithContext(ctx context.Context) GetIsInstancesInstanceOutput { + return o +} + +// list of access tags for the instance +func (o GetIsInstancesInstanceOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The availability policy to use for this virtual server instance. The action to perform if the compute host experiences a failure. +func (o GetIsInstancesInstanceOutput) AvailabilityPolicyHostFailure() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.AvailabilityPolicyHostFailure }).(pulumi.StringOutput) +} + +// The total bandwidth (in megabits per second) shared across the instance's network interfaces and storage volumes +func (o GetIsInstancesInstanceOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstance) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +// Instance Boot Volume +func (o GetIsInstancesInstanceOutput) BootVolumes() GetIsInstancesInstanceBootVolumeArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceBootVolume { return v.BootVolumes }).(GetIsInstancesInstanceBootVolumeArrayOutput) +} + +// The catalog offering or offering version to use when provisioning this virtual server instance. If an offering is specified, the latest version of that offering will be used. The specified offering or offering version may be in a different account in the same enterprise, subject to IAM policies. +func (o GetIsInstancesInstanceOutput) CatalogOfferings() GetIsInstancesInstanceCatalogOfferingArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceCatalogOffering { return v.CatalogOfferings }).(GetIsInstancesInstanceCatalogOfferingArrayOutput) +} + +// The cluster network attachments for this virtual server instance.The cluster network attachments are ordered for consistent instance configuration. +func (o GetIsInstancesInstanceOutput) ClusterNetworkAttachments() GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceClusterNetworkAttachment { + return v.ClusterNetworkAttachments + }).(GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput) +} + +// If present, the cluster network that this virtual server instance resides in. +func (o GetIsInstancesInstanceOutput) ClusterNetworks() GetIsInstancesInstanceClusterNetworkArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceClusterNetwork { return v.ClusterNetworks }).(GetIsInstancesInstanceClusterNetworkArrayOutput) +} + +// The confidential compute mode to use for this virtual server instance.If unspecified, the default confidential compute mode from the profile will be used. +func (o GetIsInstancesInstanceOutput) ConfidentialComputeMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.ConfidentialComputeMode }).(pulumi.StringOutput) +} + +// The crn for this Instance +func (o GetIsInstancesInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// Collection of the instance's disks. +func (o GetIsInstancesInstanceOutput) Disks() GetIsInstancesInstanceDiskArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceDisk { return v.Disks }).(GetIsInstancesInstanceDiskArrayOutput) +} + +// Indicates whether secure boot is enabled for this virtual server instance.If unspecified, the default secure boot mode from the profile will be used. +func (o GetIsInstancesInstanceOutput) EnableSecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstancesInstance) bool { return v.EnableSecureBoot }).(pulumi.BoolOutput) +} + +// Instance GPU +func (o GetIsInstancesInstanceOutput) Gpus() GetIsInstancesInstanceGpusArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceGpus { return v.Gpus }).(GetIsInstancesInstanceGpusArrayOutput) +} + +// The reasons for the current healthState (if any). +func (o GetIsInstancesInstanceOutput) HealthReasons() GetIsInstancesInstanceHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceHealthReason { return v.HealthReasons }).(GetIsInstancesInstanceHealthReasonArrayOutput) +} + +// The health of this resource +func (o GetIsInstancesInstanceOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.HealthState }).(pulumi.StringOutput) +} + +// Instance id +func (o GetIsInstancesInstanceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance Image +func (o GetIsInstancesInstanceOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.Image }).(pulumi.StringOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o GetIsInstancesInstanceOutput) LifecycleReasons() GetIsInstancesInstanceLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceLifecycleReason { return v.LifecycleReasons }).(GetIsInstancesInstanceLifecycleReasonArrayOutput) +} + +// The lifecycle state of the virtual server instance. +func (o GetIsInstancesInstanceOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Instance memory +func (o GetIsInstancesInstanceOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstance) int { return v.Memory }).(pulumi.IntOutput) +} + +// Indicates whether the metadata service endpoint is available to the virtual server instance +func (o GetIsInstancesInstanceOutput) MetadataServiceEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstancesInstance) bool { return v.MetadataServiceEnabled }).(pulumi.BoolOutput) +} + +// The metadata service configuration +func (o GetIsInstancesInstanceOutput) MetadataServices() GetIsInstancesInstanceMetadataServiceArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceMetadataService { return v.MetadataServices }).(GetIsInstancesInstanceMetadataServiceArrayOutput) +} + +// Instance name +func (o GetIsInstancesInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.Name }).(pulumi.StringOutput) +} + +// The network attachments for this virtual server instance, including the primary network attachment. +func (o GetIsInstancesInstanceOutput) NetworkAttachments() GetIsInstancesInstanceNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceNetworkAttachment { return v.NetworkAttachments }).(GetIsInstancesInstanceNetworkAttachmentArrayOutput) +} + +// Instance Network Interfaces +func (o GetIsInstancesInstanceOutput) NetworkInterfaces() GetIsInstancesInstanceNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceNetworkInterface { return v.NetworkInterfaces }).(GetIsInstancesInstanceNetworkInterfaceArrayOutput) +} + +// The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. +func (o GetIsInstancesInstanceOutput) NumaCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstance) int { return v.NumaCount }).(pulumi.IntOutput) +} + +// The placement restrictions for the virtual server instance. +func (o GetIsInstancesInstanceOutput) PlacementTargets() GetIsInstancesInstancePlacementTargetArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstancePlacementTarget { return v.PlacementTargets }).(GetIsInstancesInstancePlacementTargetArrayOutput) +} + +// The primary network attachment for this virtual server instance. +func (o GetIsInstancesInstanceOutput) PrimaryNetworkAttachments() GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstancePrimaryNetworkAttachment { + return v.PrimaryNetworkAttachments + }).(GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput) +} + +// Instance Primary Network Interface +func (o GetIsInstancesInstanceOutput) PrimaryNetworkInterfaces() GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstancePrimaryNetworkInterface { + return v.PrimaryNetworkInterfaces + }).(GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput) +} + +// Instance Profile +func (o GetIsInstancesInstanceOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.Profile }).(pulumi.StringOutput) +} + +func (o GetIsInstancesInstanceOutput) ReservationAffinities() GetIsInstancesInstanceReservationAffinityArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceReservationAffinity { + return v.ReservationAffinities + }).(GetIsInstancesInstanceReservationAffinityArrayOutput) +} + +// The reservation used by this virtual server instance +func (o GetIsInstancesInstanceOutput) Reservations() GetIsInstancesInstanceReservationArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceReservation { return v.Reservations }).(GetIsInstancesInstanceReservationArrayOutput) +} + +// Instance resource group +func (o GetIsInstancesInstanceOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// Instance status +func (o GetIsInstancesInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any). +func (o GetIsInstancesInstanceOutput) StatusReasons() GetIsInstancesInstanceStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceStatusReason { return v.StatusReasons }).(GetIsInstancesInstanceStatusReasonArrayOutput) +} + +// list of tags for the instance +func (o GetIsInstancesInstanceOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The amount of bandwidth (in megabits per second) allocated exclusively to instance network interfaces. +func (o GetIsInstancesInstanceOutput) TotalNetworkBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstance) int { return v.TotalNetworkBandwidth }).(pulumi.IntOutput) +} + +// The amount of bandwidth (in megabits per second) allocated exclusively to instance storage volumes +func (o GetIsInstancesInstanceOutput) TotalVolumeBandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstance) int { return v.TotalVolumeBandwidth }).(pulumi.IntOutput) +} + +// Instance vcpu +func (o GetIsInstancesInstanceOutput) Vcpus() GetIsInstancesInstanceVcpusArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceVcpus { return v.Vcpus }).(GetIsInstancesInstanceVcpusArrayOutput) +} + +// Instance Volume Attachments +func (o GetIsInstancesInstanceOutput) VolumeAttachments() GetIsInstancesInstanceVolumeAttachmentArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstance) []GetIsInstancesInstanceVolumeAttachment { return v.VolumeAttachments }).(GetIsInstancesInstanceVolumeAttachmentArrayOutput) +} + +// The volume bandwidth QoS mode for this virtual server instance. +func (o GetIsInstancesInstanceOutput) VolumeBandwidthQosMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.VolumeBandwidthQosMode }).(pulumi.StringOutput) +} + +// vpc attached to the instance +func (o GetIsInstancesInstanceOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.Vpc }).(pulumi.StringOutput) +} + +// Instance zone +func (o GetIsInstancesInstanceOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstance) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstance)(nil)).Elem() +} + +func (o GetIsInstancesInstanceArrayOutput) ToGetIsInstancesInstanceArrayOutput() GetIsInstancesInstanceArrayOutput { + return o +} + +func (o GetIsInstancesInstanceArrayOutput) ToGetIsInstancesInstanceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceArrayOutput { + return o +} + +func (o GetIsInstancesInstanceArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstance { + return vs[0].([]GetIsInstancesInstance)[vs[1].(int)] + }).(GetIsInstancesInstanceOutput) +} + +type GetIsInstancesInstanceBootVolume struct { + // Instance Boot volume device + Device string `pulumi:"device"` + // Instance Boot volume id + Id string `pulumi:"id"` + // Instance Boot volume name + Name string `pulumi:"name"` + // Instance Boot volume's volume CRN + VolumeCrn string `pulumi:"volumeCrn"` + // Instance Boot volume's volume id + VolumeId string `pulumi:"volumeId"` +} + +// GetIsInstancesInstanceBootVolumeInput is an input type that accepts GetIsInstancesInstanceBootVolumeArgs and GetIsInstancesInstanceBootVolumeOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceBootVolumeInput` via: +// +// GetIsInstancesInstanceBootVolumeArgs{...} +type GetIsInstancesInstanceBootVolumeInput interface { + pulumi.Input + + ToGetIsInstancesInstanceBootVolumeOutput() GetIsInstancesInstanceBootVolumeOutput + ToGetIsInstancesInstanceBootVolumeOutputWithContext(context.Context) GetIsInstancesInstanceBootVolumeOutput +} + +type GetIsInstancesInstanceBootVolumeArgs struct { + // Instance Boot volume device + Device pulumi.StringInput `pulumi:"device"` + // Instance Boot volume id + Id pulumi.StringInput `pulumi:"id"` + // Instance Boot volume name + Name pulumi.StringInput `pulumi:"name"` + // Instance Boot volume's volume CRN + VolumeCrn pulumi.StringInput `pulumi:"volumeCrn"` + // Instance Boot volume's volume id + VolumeId pulumi.StringInput `pulumi:"volumeId"` +} + +func (GetIsInstancesInstanceBootVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceBootVolume)(nil)).Elem() +} + +func (i GetIsInstancesInstanceBootVolumeArgs) ToGetIsInstancesInstanceBootVolumeOutput() GetIsInstancesInstanceBootVolumeOutput { + return i.ToGetIsInstancesInstanceBootVolumeOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceBootVolumeArgs) ToGetIsInstancesInstanceBootVolumeOutputWithContext(ctx context.Context) GetIsInstancesInstanceBootVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceBootVolumeOutput) +} + +// GetIsInstancesInstanceBootVolumeArrayInput is an input type that accepts GetIsInstancesInstanceBootVolumeArray and GetIsInstancesInstanceBootVolumeArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceBootVolumeArrayInput` via: +// +// GetIsInstancesInstanceBootVolumeArray{ GetIsInstancesInstanceBootVolumeArgs{...} } +type GetIsInstancesInstanceBootVolumeArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceBootVolumeArrayOutput() GetIsInstancesInstanceBootVolumeArrayOutput + ToGetIsInstancesInstanceBootVolumeArrayOutputWithContext(context.Context) GetIsInstancesInstanceBootVolumeArrayOutput +} + +type GetIsInstancesInstanceBootVolumeArray []GetIsInstancesInstanceBootVolumeInput + +func (GetIsInstancesInstanceBootVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceBootVolume)(nil)).Elem() +} + +func (i GetIsInstancesInstanceBootVolumeArray) ToGetIsInstancesInstanceBootVolumeArrayOutput() GetIsInstancesInstanceBootVolumeArrayOutput { + return i.ToGetIsInstancesInstanceBootVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceBootVolumeArray) ToGetIsInstancesInstanceBootVolumeArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceBootVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceBootVolumeArrayOutput) +} + +type GetIsInstancesInstanceBootVolumeOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceBootVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceBootVolume)(nil)).Elem() +} + +func (o GetIsInstancesInstanceBootVolumeOutput) ToGetIsInstancesInstanceBootVolumeOutput() GetIsInstancesInstanceBootVolumeOutput { + return o +} + +func (o GetIsInstancesInstanceBootVolumeOutput) ToGetIsInstancesInstanceBootVolumeOutputWithContext(ctx context.Context) GetIsInstancesInstanceBootVolumeOutput { + return o +} + +// Instance Boot volume device +func (o GetIsInstancesInstanceBootVolumeOutput) Device() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceBootVolume) string { return v.Device }).(pulumi.StringOutput) +} + +// Instance Boot volume id +func (o GetIsInstancesInstanceBootVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceBootVolume) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance Boot volume name +func (o GetIsInstancesInstanceBootVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceBootVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// Instance Boot volume's volume CRN +func (o GetIsInstancesInstanceBootVolumeOutput) VolumeCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceBootVolume) string { return v.VolumeCrn }).(pulumi.StringOutput) +} + +// Instance Boot volume's volume id +func (o GetIsInstancesInstanceBootVolumeOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceBootVolume) string { return v.VolumeId }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceBootVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceBootVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceBootVolume)(nil)).Elem() +} + +func (o GetIsInstancesInstanceBootVolumeArrayOutput) ToGetIsInstancesInstanceBootVolumeArrayOutput() GetIsInstancesInstanceBootVolumeArrayOutput { + return o +} + +func (o GetIsInstancesInstanceBootVolumeArrayOutput) ToGetIsInstancesInstanceBootVolumeArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceBootVolumeArrayOutput { + return o +} + +func (o GetIsInstancesInstanceBootVolumeArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceBootVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceBootVolume { + return vs[0].([]GetIsInstancesInstanceBootVolume)[vs[1].(int)] + }).(GetIsInstancesInstanceBootVolumeOutput) +} + +type GetIsInstancesInstanceCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsInstancesInstanceCatalogOfferingDeleted `pulumi:"deleteds"` + // Identifies a catalog offering by a unique CRN property + OfferingCrn string `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn string `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn string `pulumi:"versionCrn"` +} + +// GetIsInstancesInstanceCatalogOfferingInput is an input type that accepts GetIsInstancesInstanceCatalogOfferingArgs and GetIsInstancesInstanceCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceCatalogOfferingInput` via: +// +// GetIsInstancesInstanceCatalogOfferingArgs{...} +type GetIsInstancesInstanceCatalogOfferingInput interface { + pulumi.Input + + ToGetIsInstancesInstanceCatalogOfferingOutput() GetIsInstancesInstanceCatalogOfferingOutput + ToGetIsInstancesInstanceCatalogOfferingOutputWithContext(context.Context) GetIsInstancesInstanceCatalogOfferingOutput +} + +type GetIsInstancesInstanceCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsInstancesInstanceCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // Identifies a catalog offering by a unique CRN property + OfferingCrn pulumi.StringInput `pulumi:"offeringCrn"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringInput `pulumi:"planCrn"` + // Identifies a version of a catalog offering by a unique CRN property + VersionCrn pulumi.StringInput `pulumi:"versionCrn"` +} + +func (GetIsInstancesInstanceCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceCatalogOffering)(nil)).Elem() +} + +func (i GetIsInstancesInstanceCatalogOfferingArgs) ToGetIsInstancesInstanceCatalogOfferingOutput() GetIsInstancesInstanceCatalogOfferingOutput { + return i.ToGetIsInstancesInstanceCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceCatalogOfferingArgs) ToGetIsInstancesInstanceCatalogOfferingOutputWithContext(ctx context.Context) GetIsInstancesInstanceCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceCatalogOfferingOutput) +} + +// GetIsInstancesInstanceCatalogOfferingArrayInput is an input type that accepts GetIsInstancesInstanceCatalogOfferingArray and GetIsInstancesInstanceCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceCatalogOfferingArrayInput` via: +// +// GetIsInstancesInstanceCatalogOfferingArray{ GetIsInstancesInstanceCatalogOfferingArgs{...} } +type GetIsInstancesInstanceCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceCatalogOfferingArrayOutput() GetIsInstancesInstanceCatalogOfferingArrayOutput + ToGetIsInstancesInstanceCatalogOfferingArrayOutputWithContext(context.Context) GetIsInstancesInstanceCatalogOfferingArrayOutput +} + +type GetIsInstancesInstanceCatalogOfferingArray []GetIsInstancesInstanceCatalogOfferingInput + +func (GetIsInstancesInstanceCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceCatalogOffering)(nil)).Elem() +} + +func (i GetIsInstancesInstanceCatalogOfferingArray) ToGetIsInstancesInstanceCatalogOfferingArrayOutput() GetIsInstancesInstanceCatalogOfferingArrayOutput { + return i.ToGetIsInstancesInstanceCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceCatalogOfferingArray) ToGetIsInstancesInstanceCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceCatalogOfferingArrayOutput) +} + +type GetIsInstancesInstanceCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceCatalogOffering)(nil)).Elem() +} + +func (o GetIsInstancesInstanceCatalogOfferingOutput) ToGetIsInstancesInstanceCatalogOfferingOutput() GetIsInstancesInstanceCatalogOfferingOutput { + return o +} + +func (o GetIsInstancesInstanceCatalogOfferingOutput) ToGetIsInstancesInstanceCatalogOfferingOutputWithContext(ctx context.Context) GetIsInstancesInstanceCatalogOfferingOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsInstancesInstanceCatalogOfferingOutput) Deleteds() GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceCatalogOffering) []GetIsInstancesInstanceCatalogOfferingDeleted { + return v.Deleteds + }).(GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput) +} + +// Identifies a catalog offering by a unique CRN property +func (o GetIsInstancesInstanceCatalogOfferingOutput) OfferingCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceCatalogOffering) string { return v.OfferingCrn }).(pulumi.StringOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o GetIsInstancesInstanceCatalogOfferingOutput) PlanCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceCatalogOffering) string { return v.PlanCrn }).(pulumi.StringOutput) +} + +// Identifies a version of a catalog offering by a unique CRN property +func (o GetIsInstancesInstanceCatalogOfferingOutput) VersionCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceCatalogOffering) string { return v.VersionCrn }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceCatalogOffering)(nil)).Elem() +} + +func (o GetIsInstancesInstanceCatalogOfferingArrayOutput) ToGetIsInstancesInstanceCatalogOfferingArrayOutput() GetIsInstancesInstanceCatalogOfferingArrayOutput { + return o +} + +func (o GetIsInstancesInstanceCatalogOfferingArrayOutput) ToGetIsInstancesInstanceCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceCatalogOfferingArrayOutput { + return o +} + +func (o GetIsInstancesInstanceCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceCatalogOffering { + return vs[0].([]GetIsInstancesInstanceCatalogOffering)[vs[1].(int)] + }).(GetIsInstancesInstanceCatalogOfferingOutput) +} + +type GetIsInstancesInstanceCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceCatalogOfferingDeletedInput is an input type that accepts GetIsInstancesInstanceCatalogOfferingDeletedArgs and GetIsInstancesInstanceCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceCatalogOfferingDeletedInput` via: +// +// GetIsInstancesInstanceCatalogOfferingDeletedArgs{...} +type GetIsInstancesInstanceCatalogOfferingDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstanceCatalogOfferingDeletedOutput() GetIsInstancesInstanceCatalogOfferingDeletedOutput + ToGetIsInstancesInstanceCatalogOfferingDeletedOutputWithContext(context.Context) GetIsInstancesInstanceCatalogOfferingDeletedOutput +} + +type GetIsInstancesInstanceCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceCatalogOfferingDeletedArgs) ToGetIsInstancesInstanceCatalogOfferingDeletedOutput() GetIsInstancesInstanceCatalogOfferingDeletedOutput { + return i.ToGetIsInstancesInstanceCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceCatalogOfferingDeletedArgs) ToGetIsInstancesInstanceCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceCatalogOfferingDeletedOutput) +} + +// GetIsInstancesInstanceCatalogOfferingDeletedArrayInput is an input type that accepts GetIsInstancesInstanceCatalogOfferingDeletedArray and GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceCatalogOfferingDeletedArrayInput` via: +// +// GetIsInstancesInstanceCatalogOfferingDeletedArray{ GetIsInstancesInstanceCatalogOfferingDeletedArgs{...} } +type GetIsInstancesInstanceCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceCatalogOfferingDeletedArrayOutput() GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput + ToGetIsInstancesInstanceCatalogOfferingDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput +} + +type GetIsInstancesInstanceCatalogOfferingDeletedArray []GetIsInstancesInstanceCatalogOfferingDeletedInput + +func (GetIsInstancesInstanceCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceCatalogOfferingDeletedArray) ToGetIsInstancesInstanceCatalogOfferingDeletedArrayOutput() GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput { + return i.ToGetIsInstancesInstanceCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceCatalogOfferingDeletedArray) ToGetIsInstancesInstanceCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput) +} + +type GetIsInstancesInstanceCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceCatalogOfferingDeletedOutput) ToGetIsInstancesInstanceCatalogOfferingDeletedOutput() GetIsInstancesInstanceCatalogOfferingDeletedOutput { + return o +} + +func (o GetIsInstancesInstanceCatalogOfferingDeletedOutput) ToGetIsInstancesInstanceCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstanceCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceCatalogOfferingDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput) ToGetIsInstancesInstanceCatalogOfferingDeletedArrayOutput() GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput) ToGetIsInstancesInstanceCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceCatalogOfferingDeleted { + return vs[0].([]GetIsInstancesInstanceCatalogOfferingDeleted)[vs[1].(int)] + }).(GetIsInstancesInstanceCatalogOfferingDeletedOutput) +} + +type GetIsInstancesInstanceClusterNetwork struct { + // The CRN for this cluster network. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancesInstanceClusterNetworkDeleted `pulumi:"deleteds"` + // The URL for this cluster network. + Href string `pulumi:"href"` + // The unique identifier for this cluster network. + Id string `pulumi:"id"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstanceClusterNetworkInput is an input type that accepts GetIsInstancesInstanceClusterNetworkArgs and GetIsInstancesInstanceClusterNetworkOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceClusterNetworkInput` via: +// +// GetIsInstancesInstanceClusterNetworkArgs{...} +type GetIsInstancesInstanceClusterNetworkInput interface { + pulumi.Input + + ToGetIsInstancesInstanceClusterNetworkOutput() GetIsInstancesInstanceClusterNetworkOutput + ToGetIsInstancesInstanceClusterNetworkOutputWithContext(context.Context) GetIsInstancesInstanceClusterNetworkOutput +} + +type GetIsInstancesInstanceClusterNetworkArgs struct { + // The CRN for this cluster network. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancesInstanceClusterNetworkDeletedArrayInput `pulumi:"deleteds"` + // The URL for this cluster network. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this cluster network. + Id pulumi.StringInput `pulumi:"id"` + // The name for this cluster network. The name must not be used by another cluster network in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstanceClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceClusterNetwork)(nil)).Elem() +} + +func (i GetIsInstancesInstanceClusterNetworkArgs) ToGetIsInstancesInstanceClusterNetworkOutput() GetIsInstancesInstanceClusterNetworkOutput { + return i.ToGetIsInstancesInstanceClusterNetworkOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceClusterNetworkArgs) ToGetIsInstancesInstanceClusterNetworkOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceClusterNetworkOutput) +} + +// GetIsInstancesInstanceClusterNetworkArrayInput is an input type that accepts GetIsInstancesInstanceClusterNetworkArray and GetIsInstancesInstanceClusterNetworkArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceClusterNetworkArrayInput` via: +// +// GetIsInstancesInstanceClusterNetworkArray{ GetIsInstancesInstanceClusterNetworkArgs{...} } +type GetIsInstancesInstanceClusterNetworkArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceClusterNetworkArrayOutput() GetIsInstancesInstanceClusterNetworkArrayOutput + ToGetIsInstancesInstanceClusterNetworkArrayOutputWithContext(context.Context) GetIsInstancesInstanceClusterNetworkArrayOutput +} + +type GetIsInstancesInstanceClusterNetworkArray []GetIsInstancesInstanceClusterNetworkInput + +func (GetIsInstancesInstanceClusterNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceClusterNetwork)(nil)).Elem() +} + +func (i GetIsInstancesInstanceClusterNetworkArray) ToGetIsInstancesInstanceClusterNetworkArrayOutput() GetIsInstancesInstanceClusterNetworkArrayOutput { + return i.ToGetIsInstancesInstanceClusterNetworkArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceClusterNetworkArray) ToGetIsInstancesInstanceClusterNetworkArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceClusterNetworkArrayOutput) +} + +type GetIsInstancesInstanceClusterNetworkOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceClusterNetwork)(nil)).Elem() +} + +func (o GetIsInstancesInstanceClusterNetworkOutput) ToGetIsInstancesInstanceClusterNetworkOutput() GetIsInstancesInstanceClusterNetworkOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkOutput) ToGetIsInstancesInstanceClusterNetworkOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkOutput { + return o +} + +// The CRN for this cluster network. +func (o GetIsInstancesInstanceClusterNetworkOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetwork) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancesInstanceClusterNetworkOutput) Deleteds() GetIsInstancesInstanceClusterNetworkDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetwork) []GetIsInstancesInstanceClusterNetworkDeleted { + return v.Deleteds + }).(GetIsInstancesInstanceClusterNetworkDeletedArrayOutput) +} + +// The URL for this cluster network. +func (o GetIsInstancesInstanceClusterNetworkOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetwork) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this cluster network. +func (o GetIsInstancesInstanceClusterNetworkOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetwork) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this cluster network. The name must not be used by another cluster network in the region. +func (o GetIsInstancesInstanceClusterNetworkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetwork) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceClusterNetworkOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetwork) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceClusterNetworkArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceClusterNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceClusterNetwork)(nil)).Elem() +} + +func (o GetIsInstancesInstanceClusterNetworkArrayOutput) ToGetIsInstancesInstanceClusterNetworkArrayOutput() GetIsInstancesInstanceClusterNetworkArrayOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkArrayOutput) ToGetIsInstancesInstanceClusterNetworkArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkArrayOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceClusterNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceClusterNetwork { + return vs[0].([]GetIsInstancesInstanceClusterNetwork)[vs[1].(int)] + }).(GetIsInstancesInstanceClusterNetworkOutput) +} + +type GetIsInstancesInstanceClusterNetworkAttachment struct { + // The URL for this instance cluster network attachment. + Href string `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id string `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstanceClusterNetworkAttachmentInput is an input type that accepts GetIsInstancesInstanceClusterNetworkAttachmentArgs and GetIsInstancesInstanceClusterNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceClusterNetworkAttachmentInput` via: +// +// GetIsInstancesInstanceClusterNetworkAttachmentArgs{...} +type GetIsInstancesInstanceClusterNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstancesInstanceClusterNetworkAttachmentOutput() GetIsInstancesInstanceClusterNetworkAttachmentOutput + ToGetIsInstancesInstanceClusterNetworkAttachmentOutputWithContext(context.Context) GetIsInstancesInstanceClusterNetworkAttachmentOutput +} + +type GetIsInstancesInstanceClusterNetworkAttachmentArgs struct { + // The URL for this instance cluster network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance cluster network attachment. + Id pulumi.StringInput `pulumi:"id"` + // The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstanceClusterNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstancesInstanceClusterNetworkAttachmentArgs) ToGetIsInstancesInstanceClusterNetworkAttachmentOutput() GetIsInstancesInstanceClusterNetworkAttachmentOutput { + return i.ToGetIsInstancesInstanceClusterNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceClusterNetworkAttachmentArgs) ToGetIsInstancesInstanceClusterNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceClusterNetworkAttachmentOutput) +} + +// GetIsInstancesInstanceClusterNetworkAttachmentArrayInput is an input type that accepts GetIsInstancesInstanceClusterNetworkAttachmentArray and GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceClusterNetworkAttachmentArrayInput` via: +// +// GetIsInstancesInstanceClusterNetworkAttachmentArray{ GetIsInstancesInstanceClusterNetworkAttachmentArgs{...} } +type GetIsInstancesInstanceClusterNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceClusterNetworkAttachmentArrayOutput() GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput + ToGetIsInstancesInstanceClusterNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput +} + +type GetIsInstancesInstanceClusterNetworkAttachmentArray []GetIsInstancesInstanceClusterNetworkAttachmentInput + +func (GetIsInstancesInstanceClusterNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceClusterNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstancesInstanceClusterNetworkAttachmentArray) ToGetIsInstancesInstanceClusterNetworkAttachmentArrayOutput() GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput { + return i.ToGetIsInstancesInstanceClusterNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceClusterNetworkAttachmentArray) ToGetIsInstancesInstanceClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput) +} + +type GetIsInstancesInstanceClusterNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceClusterNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstancesInstanceClusterNetworkAttachmentOutput) ToGetIsInstancesInstanceClusterNetworkAttachmentOutput() GetIsInstancesInstanceClusterNetworkAttachmentOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkAttachmentOutput) ToGetIsInstancesInstanceClusterNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkAttachmentOutput { + return o +} + +// The URL for this instance cluster network attachment. +func (o GetIsInstancesInstanceClusterNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance cluster network attachment. +func (o GetIsInstancesInstanceClusterNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this instance cluster network attachment. The name is unique across all network attachments for the instance. +func (o GetIsInstancesInstanceClusterNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceClusterNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceClusterNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput) ToGetIsInstancesInstanceClusterNetworkAttachmentArrayOutput() GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput) ToGetIsInstancesInstanceClusterNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceClusterNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceClusterNetworkAttachment { + return vs[0].([]GetIsInstancesInstanceClusterNetworkAttachment)[vs[1].(int)] + }).(GetIsInstancesInstanceClusterNetworkAttachmentOutput) +} + +type GetIsInstancesInstanceClusterNetworkDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceClusterNetworkDeletedInput is an input type that accepts GetIsInstancesInstanceClusterNetworkDeletedArgs and GetIsInstancesInstanceClusterNetworkDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceClusterNetworkDeletedInput` via: +// +// GetIsInstancesInstanceClusterNetworkDeletedArgs{...} +type GetIsInstancesInstanceClusterNetworkDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstanceClusterNetworkDeletedOutput() GetIsInstancesInstanceClusterNetworkDeletedOutput + ToGetIsInstancesInstanceClusterNetworkDeletedOutputWithContext(context.Context) GetIsInstancesInstanceClusterNetworkDeletedOutput +} + +type GetIsInstancesInstanceClusterNetworkDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceClusterNetworkDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceClusterNetworkDeletedArgs) ToGetIsInstancesInstanceClusterNetworkDeletedOutput() GetIsInstancesInstanceClusterNetworkDeletedOutput { + return i.ToGetIsInstancesInstanceClusterNetworkDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceClusterNetworkDeletedArgs) ToGetIsInstancesInstanceClusterNetworkDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceClusterNetworkDeletedOutput) +} + +// GetIsInstancesInstanceClusterNetworkDeletedArrayInput is an input type that accepts GetIsInstancesInstanceClusterNetworkDeletedArray and GetIsInstancesInstanceClusterNetworkDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceClusterNetworkDeletedArrayInput` via: +// +// GetIsInstancesInstanceClusterNetworkDeletedArray{ GetIsInstancesInstanceClusterNetworkDeletedArgs{...} } +type GetIsInstancesInstanceClusterNetworkDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceClusterNetworkDeletedArrayOutput() GetIsInstancesInstanceClusterNetworkDeletedArrayOutput + ToGetIsInstancesInstanceClusterNetworkDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstanceClusterNetworkDeletedArrayOutput +} + +type GetIsInstancesInstanceClusterNetworkDeletedArray []GetIsInstancesInstanceClusterNetworkDeletedInput + +func (GetIsInstancesInstanceClusterNetworkDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceClusterNetworkDeletedArray) ToGetIsInstancesInstanceClusterNetworkDeletedArrayOutput() GetIsInstancesInstanceClusterNetworkDeletedArrayOutput { + return i.ToGetIsInstancesInstanceClusterNetworkDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceClusterNetworkDeletedArray) ToGetIsInstancesInstanceClusterNetworkDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceClusterNetworkDeletedArrayOutput) +} + +type GetIsInstancesInstanceClusterNetworkDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceClusterNetworkDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceClusterNetworkDeletedOutput) ToGetIsInstancesInstanceClusterNetworkDeletedOutput() GetIsInstancesInstanceClusterNetworkDeletedOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkDeletedOutput) ToGetIsInstancesInstanceClusterNetworkDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstanceClusterNetworkDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceClusterNetworkDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceClusterNetworkDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceClusterNetworkDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceClusterNetworkDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceClusterNetworkDeletedArrayOutput) ToGetIsInstancesInstanceClusterNetworkDeletedArrayOutput() GetIsInstancesInstanceClusterNetworkDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkDeletedArrayOutput) ToGetIsInstancesInstanceClusterNetworkDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceClusterNetworkDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceClusterNetworkDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceClusterNetworkDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceClusterNetworkDeleted { + return vs[0].([]GetIsInstancesInstanceClusterNetworkDeleted)[vs[1].(int)] + }).(GetIsInstancesInstanceClusterNetworkDeletedOutput) +} + +type GetIsInstancesInstanceDisk struct { + // The date and time that the disk was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this instance disk. + Href string `pulumi:"href"` + // The unique identifier for this instance disk. + Id string `pulumi:"id"` + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType string `pulumi:"interfaceType"` + // The user-defined name for this disk. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size int `pulumi:"size"` +} + +// GetIsInstancesInstanceDiskInput is an input type that accepts GetIsInstancesInstanceDiskArgs and GetIsInstancesInstanceDiskOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceDiskInput` via: +// +// GetIsInstancesInstanceDiskArgs{...} +type GetIsInstancesInstanceDiskInput interface { + pulumi.Input + + ToGetIsInstancesInstanceDiskOutput() GetIsInstancesInstanceDiskOutput + ToGetIsInstancesInstanceDiskOutputWithContext(context.Context) GetIsInstancesInstanceDiskOutput +} + +type GetIsInstancesInstanceDiskArgs struct { + // The date and time that the disk was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this instance disk. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance disk. + Id pulumi.StringInput `pulumi:"id"` + // The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + InterfaceType pulumi.StringInput `pulumi:"interfaceType"` + // The user-defined name for this disk. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the disk in GB (gigabytes). + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetIsInstancesInstanceDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceDisk)(nil)).Elem() +} + +func (i GetIsInstancesInstanceDiskArgs) ToGetIsInstancesInstanceDiskOutput() GetIsInstancesInstanceDiskOutput { + return i.ToGetIsInstancesInstanceDiskOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceDiskArgs) ToGetIsInstancesInstanceDiskOutputWithContext(ctx context.Context) GetIsInstancesInstanceDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceDiskOutput) +} + +// GetIsInstancesInstanceDiskArrayInput is an input type that accepts GetIsInstancesInstanceDiskArray and GetIsInstancesInstanceDiskArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceDiskArrayInput` via: +// +// GetIsInstancesInstanceDiskArray{ GetIsInstancesInstanceDiskArgs{...} } +type GetIsInstancesInstanceDiskArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceDiskArrayOutput() GetIsInstancesInstanceDiskArrayOutput + ToGetIsInstancesInstanceDiskArrayOutputWithContext(context.Context) GetIsInstancesInstanceDiskArrayOutput +} + +type GetIsInstancesInstanceDiskArray []GetIsInstancesInstanceDiskInput + +func (GetIsInstancesInstanceDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceDisk)(nil)).Elem() +} + +func (i GetIsInstancesInstanceDiskArray) ToGetIsInstancesInstanceDiskArrayOutput() GetIsInstancesInstanceDiskArrayOutput { + return i.ToGetIsInstancesInstanceDiskArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceDiskArray) ToGetIsInstancesInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceDiskArrayOutput) +} + +type GetIsInstancesInstanceDiskOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceDisk)(nil)).Elem() +} + +func (o GetIsInstancesInstanceDiskOutput) ToGetIsInstancesInstanceDiskOutput() GetIsInstancesInstanceDiskOutput { + return o +} + +func (o GetIsInstancesInstanceDiskOutput) ToGetIsInstancesInstanceDiskOutputWithContext(ctx context.Context) GetIsInstancesInstanceDiskOutput { + return o +} + +// The date and time that the disk was created. +func (o GetIsInstancesInstanceDiskOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceDisk) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this instance disk. +func (o GetIsInstancesInstanceDiskOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceDisk) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance disk. +func (o GetIsInstancesInstanceDiskOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceDisk) string { return v.Id }).(pulumi.StringOutput) +} + +// The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsInstancesInstanceDiskOutput) InterfaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceDisk) string { return v.InterfaceType }).(pulumi.StringOutput) +} + +// The user-defined name for this disk. +func (o GetIsInstancesInstanceDiskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceDisk) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceDiskOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceDisk) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the disk in GB (gigabytes). +func (o GetIsInstancesInstanceDiskOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstanceDisk) int { return v.Size }).(pulumi.IntOutput) +} + +type GetIsInstancesInstanceDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceDisk)(nil)).Elem() +} + +func (o GetIsInstancesInstanceDiskArrayOutput) ToGetIsInstancesInstanceDiskArrayOutput() GetIsInstancesInstanceDiskArrayOutput { + return o +} + +func (o GetIsInstancesInstanceDiskArrayOutput) ToGetIsInstancesInstanceDiskArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceDiskArrayOutput { + return o +} + +func (o GetIsInstancesInstanceDiskArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceDisk { + return vs[0].([]GetIsInstancesInstanceDisk)[vs[1].(int)] + }).(GetIsInstancesInstanceDiskOutput) +} + +type GetIsInstancesInstanceGpus struct { + // Instance GPU Count + Count int `pulumi:"count"` + // Instance GPU Manufacturer + Manufacturer string `pulumi:"manufacturer"` + // Instance GPU Memory + Memory int `pulumi:"memory"` + // Instance GPU Model + Model string `pulumi:"model"` +} + +// GetIsInstancesInstanceGpusInput is an input type that accepts GetIsInstancesInstanceGpusArgs and GetIsInstancesInstanceGpusOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceGpusInput` via: +// +// GetIsInstancesInstanceGpusArgs{...} +type GetIsInstancesInstanceGpusInput interface { + pulumi.Input + + ToGetIsInstancesInstanceGpusOutput() GetIsInstancesInstanceGpusOutput + ToGetIsInstancesInstanceGpusOutputWithContext(context.Context) GetIsInstancesInstanceGpusOutput +} + +type GetIsInstancesInstanceGpusArgs struct { + // Instance GPU Count + Count pulumi.IntInput `pulumi:"count"` + // Instance GPU Manufacturer + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` + // Instance GPU Memory + Memory pulumi.IntInput `pulumi:"memory"` + // Instance GPU Model + Model pulumi.StringInput `pulumi:"model"` +} + +func (GetIsInstancesInstanceGpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceGpus)(nil)).Elem() +} + +func (i GetIsInstancesInstanceGpusArgs) ToGetIsInstancesInstanceGpusOutput() GetIsInstancesInstanceGpusOutput { + return i.ToGetIsInstancesInstanceGpusOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceGpusArgs) ToGetIsInstancesInstanceGpusOutputWithContext(ctx context.Context) GetIsInstancesInstanceGpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceGpusOutput) +} + +// GetIsInstancesInstanceGpusArrayInput is an input type that accepts GetIsInstancesInstanceGpusArray and GetIsInstancesInstanceGpusArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceGpusArrayInput` via: +// +// GetIsInstancesInstanceGpusArray{ GetIsInstancesInstanceGpusArgs{...} } +type GetIsInstancesInstanceGpusArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceGpusArrayOutput() GetIsInstancesInstanceGpusArrayOutput + ToGetIsInstancesInstanceGpusArrayOutputWithContext(context.Context) GetIsInstancesInstanceGpusArrayOutput +} + +type GetIsInstancesInstanceGpusArray []GetIsInstancesInstanceGpusInput + +func (GetIsInstancesInstanceGpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceGpus)(nil)).Elem() +} + +func (i GetIsInstancesInstanceGpusArray) ToGetIsInstancesInstanceGpusArrayOutput() GetIsInstancesInstanceGpusArrayOutput { + return i.ToGetIsInstancesInstanceGpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceGpusArray) ToGetIsInstancesInstanceGpusArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceGpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceGpusArrayOutput) +} + +type GetIsInstancesInstanceGpusOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceGpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceGpus)(nil)).Elem() +} + +func (o GetIsInstancesInstanceGpusOutput) ToGetIsInstancesInstanceGpusOutput() GetIsInstancesInstanceGpusOutput { + return o +} + +func (o GetIsInstancesInstanceGpusOutput) ToGetIsInstancesInstanceGpusOutputWithContext(ctx context.Context) GetIsInstancesInstanceGpusOutput { + return o +} + +// Instance GPU Count +func (o GetIsInstancesInstanceGpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstanceGpus) int { return v.Count }).(pulumi.IntOutput) +} + +// Instance GPU Manufacturer +func (o GetIsInstancesInstanceGpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceGpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +// Instance GPU Memory +func (o GetIsInstancesInstanceGpusOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstanceGpus) int { return v.Memory }).(pulumi.IntOutput) +} + +// Instance GPU Model +func (o GetIsInstancesInstanceGpusOutput) Model() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceGpus) string { return v.Model }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceGpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceGpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceGpus)(nil)).Elem() +} + +func (o GetIsInstancesInstanceGpusArrayOutput) ToGetIsInstancesInstanceGpusArrayOutput() GetIsInstancesInstanceGpusArrayOutput { + return o +} + +func (o GetIsInstancesInstanceGpusArrayOutput) ToGetIsInstancesInstanceGpusArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceGpusArrayOutput { + return o +} + +func (o GetIsInstancesInstanceGpusArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceGpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceGpus { + return vs[0].([]GetIsInstancesInstanceGpus)[vs[1].(int)] + }).(GetIsInstancesInstanceGpusOutput) +} + +type GetIsInstancesInstanceHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceHealthReasonInput is an input type that accepts GetIsInstancesInstanceHealthReasonArgs and GetIsInstancesInstanceHealthReasonOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceHealthReasonInput` via: +// +// GetIsInstancesInstanceHealthReasonArgs{...} +type GetIsInstancesInstanceHealthReasonInput interface { + pulumi.Input + + ToGetIsInstancesInstanceHealthReasonOutput() GetIsInstancesInstanceHealthReasonOutput + ToGetIsInstancesInstanceHealthReasonOutputWithContext(context.Context) GetIsInstancesInstanceHealthReasonOutput +} + +type GetIsInstancesInstanceHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceHealthReason)(nil)).Elem() +} + +func (i GetIsInstancesInstanceHealthReasonArgs) ToGetIsInstancesInstanceHealthReasonOutput() GetIsInstancesInstanceHealthReasonOutput { + return i.ToGetIsInstancesInstanceHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceHealthReasonArgs) ToGetIsInstancesInstanceHealthReasonOutputWithContext(ctx context.Context) GetIsInstancesInstanceHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceHealthReasonOutput) +} + +// GetIsInstancesInstanceHealthReasonArrayInput is an input type that accepts GetIsInstancesInstanceHealthReasonArray and GetIsInstancesInstanceHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceHealthReasonArrayInput` via: +// +// GetIsInstancesInstanceHealthReasonArray{ GetIsInstancesInstanceHealthReasonArgs{...} } +type GetIsInstancesInstanceHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceHealthReasonArrayOutput() GetIsInstancesInstanceHealthReasonArrayOutput + ToGetIsInstancesInstanceHealthReasonArrayOutputWithContext(context.Context) GetIsInstancesInstanceHealthReasonArrayOutput +} + +type GetIsInstancesInstanceHealthReasonArray []GetIsInstancesInstanceHealthReasonInput + +func (GetIsInstancesInstanceHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceHealthReason)(nil)).Elem() +} + +func (i GetIsInstancesInstanceHealthReasonArray) ToGetIsInstancesInstanceHealthReasonArrayOutput() GetIsInstancesInstanceHealthReasonArrayOutput { + return i.ToGetIsInstancesInstanceHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceHealthReasonArray) ToGetIsInstancesInstanceHealthReasonArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceHealthReasonArrayOutput) +} + +type GetIsInstancesInstanceHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceHealthReason)(nil)).Elem() +} + +func (o GetIsInstancesInstanceHealthReasonOutput) ToGetIsInstancesInstanceHealthReasonOutput() GetIsInstancesInstanceHealthReasonOutput { + return o +} + +func (o GetIsInstancesInstanceHealthReasonOutput) ToGetIsInstancesInstanceHealthReasonOutputWithContext(ctx context.Context) GetIsInstancesInstanceHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsInstancesInstanceHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsInstancesInstanceHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsInstancesInstanceHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceHealthReason)(nil)).Elem() +} + +func (o GetIsInstancesInstanceHealthReasonArrayOutput) ToGetIsInstancesInstanceHealthReasonArrayOutput() GetIsInstancesInstanceHealthReasonArrayOutput { + return o +} + +func (o GetIsInstancesInstanceHealthReasonArrayOutput) ToGetIsInstancesInstanceHealthReasonArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceHealthReasonArrayOutput { + return o +} + +func (o GetIsInstancesInstanceHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceHealthReason { + return vs[0].([]GetIsInstancesInstanceHealthReason)[vs[1].(int)] + }).(GetIsInstancesInstanceHealthReasonOutput) +} + +type GetIsInstancesInstanceLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceLifecycleReasonInput is an input type that accepts GetIsInstancesInstanceLifecycleReasonArgs and GetIsInstancesInstanceLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceLifecycleReasonInput` via: +// +// GetIsInstancesInstanceLifecycleReasonArgs{...} +type GetIsInstancesInstanceLifecycleReasonInput interface { + pulumi.Input + + ToGetIsInstancesInstanceLifecycleReasonOutput() GetIsInstancesInstanceLifecycleReasonOutput + ToGetIsInstancesInstanceLifecycleReasonOutputWithContext(context.Context) GetIsInstancesInstanceLifecycleReasonOutput +} + +type GetIsInstancesInstanceLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceLifecycleReason)(nil)).Elem() +} + +func (i GetIsInstancesInstanceLifecycleReasonArgs) ToGetIsInstancesInstanceLifecycleReasonOutput() GetIsInstancesInstanceLifecycleReasonOutput { + return i.ToGetIsInstancesInstanceLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceLifecycleReasonArgs) ToGetIsInstancesInstanceLifecycleReasonOutputWithContext(ctx context.Context) GetIsInstancesInstanceLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceLifecycleReasonOutput) +} + +// GetIsInstancesInstanceLifecycleReasonArrayInput is an input type that accepts GetIsInstancesInstanceLifecycleReasonArray and GetIsInstancesInstanceLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceLifecycleReasonArrayInput` via: +// +// GetIsInstancesInstanceLifecycleReasonArray{ GetIsInstancesInstanceLifecycleReasonArgs{...} } +type GetIsInstancesInstanceLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceLifecycleReasonArrayOutput() GetIsInstancesInstanceLifecycleReasonArrayOutput + ToGetIsInstancesInstanceLifecycleReasonArrayOutputWithContext(context.Context) GetIsInstancesInstanceLifecycleReasonArrayOutput +} + +type GetIsInstancesInstanceLifecycleReasonArray []GetIsInstancesInstanceLifecycleReasonInput + +func (GetIsInstancesInstanceLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceLifecycleReason)(nil)).Elem() +} + +func (i GetIsInstancesInstanceLifecycleReasonArray) ToGetIsInstancesInstanceLifecycleReasonArrayOutput() GetIsInstancesInstanceLifecycleReasonArrayOutput { + return i.ToGetIsInstancesInstanceLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceLifecycleReasonArray) ToGetIsInstancesInstanceLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceLifecycleReasonArrayOutput) +} + +type GetIsInstancesInstanceLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceLifecycleReason)(nil)).Elem() +} + +func (o GetIsInstancesInstanceLifecycleReasonOutput) ToGetIsInstancesInstanceLifecycleReasonOutput() GetIsInstancesInstanceLifecycleReasonOutput { + return o +} + +func (o GetIsInstancesInstanceLifecycleReasonOutput) ToGetIsInstancesInstanceLifecycleReasonOutputWithContext(ctx context.Context) GetIsInstancesInstanceLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsInstancesInstanceLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsInstancesInstanceLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsInstancesInstanceLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceLifecycleReason)(nil)).Elem() +} + +func (o GetIsInstancesInstanceLifecycleReasonArrayOutput) ToGetIsInstancesInstanceLifecycleReasonArrayOutput() GetIsInstancesInstanceLifecycleReasonArrayOutput { + return o +} + +func (o GetIsInstancesInstanceLifecycleReasonArrayOutput) ToGetIsInstancesInstanceLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceLifecycleReasonArrayOutput { + return o +} + +func (o GetIsInstancesInstanceLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceLifecycleReason { + return vs[0].([]GetIsInstancesInstanceLifecycleReason)[vs[1].(int)] + }).(GetIsInstancesInstanceLifecycleReasonOutput) +} + +type GetIsInstancesInstanceMetadataService struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled bool `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol string `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit int `pulumi:"responseHopLimit"` +} + +// GetIsInstancesInstanceMetadataServiceInput is an input type that accepts GetIsInstancesInstanceMetadataServiceArgs and GetIsInstancesInstanceMetadataServiceOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceMetadataServiceInput` via: +// +// GetIsInstancesInstanceMetadataServiceArgs{...} +type GetIsInstancesInstanceMetadataServiceInput interface { + pulumi.Input + + ToGetIsInstancesInstanceMetadataServiceOutput() GetIsInstancesInstanceMetadataServiceOutput + ToGetIsInstancesInstanceMetadataServiceOutputWithContext(context.Context) GetIsInstancesInstanceMetadataServiceOutput +} + +type GetIsInstancesInstanceMetadataServiceArgs struct { + // Indicates whether the metadata service endpoint will be available to the virtual server instance + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The hop limit (IP time to live) for IP response packets from the metadata service + ResponseHopLimit pulumi.IntInput `pulumi:"responseHopLimit"` +} + +func (GetIsInstancesInstanceMetadataServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceMetadataService)(nil)).Elem() +} + +func (i GetIsInstancesInstanceMetadataServiceArgs) ToGetIsInstancesInstanceMetadataServiceOutput() GetIsInstancesInstanceMetadataServiceOutput { + return i.ToGetIsInstancesInstanceMetadataServiceOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceMetadataServiceArgs) ToGetIsInstancesInstanceMetadataServiceOutputWithContext(ctx context.Context) GetIsInstancesInstanceMetadataServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceMetadataServiceOutput) +} + +// GetIsInstancesInstanceMetadataServiceArrayInput is an input type that accepts GetIsInstancesInstanceMetadataServiceArray and GetIsInstancesInstanceMetadataServiceArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceMetadataServiceArrayInput` via: +// +// GetIsInstancesInstanceMetadataServiceArray{ GetIsInstancesInstanceMetadataServiceArgs{...} } +type GetIsInstancesInstanceMetadataServiceArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceMetadataServiceArrayOutput() GetIsInstancesInstanceMetadataServiceArrayOutput + ToGetIsInstancesInstanceMetadataServiceArrayOutputWithContext(context.Context) GetIsInstancesInstanceMetadataServiceArrayOutput +} + +type GetIsInstancesInstanceMetadataServiceArray []GetIsInstancesInstanceMetadataServiceInput + +func (GetIsInstancesInstanceMetadataServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceMetadataService)(nil)).Elem() +} + +func (i GetIsInstancesInstanceMetadataServiceArray) ToGetIsInstancesInstanceMetadataServiceArrayOutput() GetIsInstancesInstanceMetadataServiceArrayOutput { + return i.ToGetIsInstancesInstanceMetadataServiceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceMetadataServiceArray) ToGetIsInstancesInstanceMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceMetadataServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceMetadataServiceArrayOutput) +} + +type GetIsInstancesInstanceMetadataServiceOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceMetadataServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceMetadataService)(nil)).Elem() +} + +func (o GetIsInstancesInstanceMetadataServiceOutput) ToGetIsInstancesInstanceMetadataServiceOutput() GetIsInstancesInstanceMetadataServiceOutput { + return o +} + +func (o GetIsInstancesInstanceMetadataServiceOutput) ToGetIsInstancesInstanceMetadataServiceOutputWithContext(ctx context.Context) GetIsInstancesInstanceMetadataServiceOutput { + return o +} + +// Indicates whether the metadata service endpoint will be available to the virtual server instance +func (o GetIsInstancesInstanceMetadataServiceOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsInstancesInstanceMetadataService) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The communication protocol to use for the metadata service endpoint. Applies only when the metadata service is enabled. +func (o GetIsInstancesInstanceMetadataServiceOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceMetadataService) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The hop limit (IP time to live) for IP response packets from the metadata service +func (o GetIsInstancesInstanceMetadataServiceOutput) ResponseHopLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstanceMetadataService) int { return v.ResponseHopLimit }).(pulumi.IntOutput) +} + +type GetIsInstancesInstanceMetadataServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceMetadataServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceMetadataService)(nil)).Elem() +} + +func (o GetIsInstancesInstanceMetadataServiceArrayOutput) ToGetIsInstancesInstanceMetadataServiceArrayOutput() GetIsInstancesInstanceMetadataServiceArrayOutput { + return o +} + +func (o GetIsInstancesInstanceMetadataServiceArrayOutput) ToGetIsInstancesInstanceMetadataServiceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceMetadataServiceArrayOutput { + return o +} + +func (o GetIsInstancesInstanceMetadataServiceArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceMetadataServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceMetadataService { + return vs[0].([]GetIsInstancesInstanceMetadataService)[vs[1].(int)] + }).(GetIsInstancesInstanceMetadataServiceOutput) +} + +type GetIsInstancesInstanceNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancesInstanceNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this network attachment. + Href string `pulumi:"href"` + // The unique identifier for this network attachment. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []GetIsInstancesInstanceNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets []GetIsInstancesInstanceNetworkAttachmentSubnet `pulumi:"subnets"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces []GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstancesInstanceNetworkAttachmentInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentArgs and GetIsInstancesInstanceNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentArgs{...} +type GetIsInstancesInstanceNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentOutput() GetIsInstancesInstanceNetworkAttachmentOutput + ToGetIsInstancesInstanceNetworkAttachmentOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentOutput +} + +type GetIsInstancesInstanceNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancesInstanceNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network attachment. + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets GetIsInstancesInstanceNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstancesInstanceNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentArgs) ToGetIsInstancesInstanceNetworkAttachmentOutput() GetIsInstancesInstanceNetworkAttachmentOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentArgs) ToGetIsInstancesInstanceNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentOutput) +} + +// GetIsInstancesInstanceNetworkAttachmentArrayInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentArray and GetIsInstancesInstanceNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentArrayInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentArray{ GetIsInstancesInstanceNetworkAttachmentArgs{...} } +type GetIsInstancesInstanceNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentArrayOutput() GetIsInstancesInstanceNetworkAttachmentArrayOutput + ToGetIsInstancesInstanceNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentArrayOutput +} + +type GetIsInstancesInstanceNetworkAttachmentArray []GetIsInstancesInstanceNetworkAttachmentInput + +func (GetIsInstancesInstanceNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentArray) ToGetIsInstancesInstanceNetworkAttachmentArrayOutput() GetIsInstancesInstanceNetworkAttachmentArrayOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentArray) ToGetIsInstancesInstanceNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentArrayOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentOutput) ToGetIsInstancesInstanceNetworkAttachmentOutput() GetIsInstancesInstanceNetworkAttachmentOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentOutput) ToGetIsInstancesInstanceNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancesInstanceNetworkAttachmentOutput) Deleteds() GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachment) []GetIsInstancesInstanceNetworkAttachmentDeleted { + return v.Deleteds + }).(GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this network attachment. +func (o GetIsInstancesInstanceNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network attachment. +func (o GetIsInstancesInstanceNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstancesInstanceNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o GetIsInstancesInstanceNetworkAttachmentOutput) PrimaryIps() GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachment) []GetIsInstancesInstanceNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the network attachment. +func (o GetIsInstancesInstanceNetworkAttachmentOutput) Subnets() GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachment) []GetIsInstancesInstanceNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput) +} + +// The virtual network interface for this instance network attachment. +func (o GetIsInstancesInstanceNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachment) []GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentArrayOutput() GetIsInstancesInstanceNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkAttachment { + return vs[0].([]GetIsInstancesInstanceNetworkAttachment)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkAttachmentOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceNetworkAttachmentDeletedInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentDeletedArgs and GetIsInstancesInstanceNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentDeletedInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentDeletedArgs{...} +type GetIsInstancesInstanceNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentDeletedOutput() GetIsInstancesInstanceNetworkAttachmentDeletedOutput + ToGetIsInstancesInstanceNetworkAttachmentDeletedOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentDeletedOutput +} + +type GetIsInstancesInstanceNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentDeletedArgs) ToGetIsInstancesInstanceNetworkAttachmentDeletedOutput() GetIsInstancesInstanceNetworkAttachmentDeletedOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentDeletedArgs) ToGetIsInstancesInstanceNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentDeletedOutput) +} + +// GetIsInstancesInstanceNetworkAttachmentDeletedArrayInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentDeletedArray and GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentDeletedArrayInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentDeletedArray{ GetIsInstancesInstanceNetworkAttachmentDeletedArgs{...} } +type GetIsInstancesInstanceNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput + ToGetIsInstancesInstanceNetworkAttachmentDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput +} + +type GetIsInstancesInstanceNetworkAttachmentDeletedArray []GetIsInstancesInstanceNetworkAttachmentDeletedInput + +func (GetIsInstancesInstanceNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentDeletedArray) ToGetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentDeletedArray) ToGetIsInstancesInstanceNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentDeletedOutput) ToGetIsInstancesInstanceNetworkAttachmentDeletedOutput() GetIsInstancesInstanceNetworkAttachmentDeletedOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentDeletedOutput) ToGetIsInstancesInstanceNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstanceNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkAttachmentDeleted { + return vs[0].([]GetIsInstancesInstanceNetworkAttachmentDeleted)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkAttachmentDeletedOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstanceNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentPrimaryIpArgs and GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentPrimaryIpInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentPrimaryIpArgs{...} +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput + ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstanceNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentPrimaryIpArgs) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentPrimaryIpArgs) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) +} + +// GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentPrimaryIpArray and GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentPrimaryIpArray{ GetIsInstancesInstanceNetworkAttachmentPrimaryIpArgs{...} } +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput + ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpArray []GetIsInstancesInstanceNetworkAttachmentPrimaryIpInput + +func (GetIsInstancesInstanceNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentPrimaryIpArray) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentPrimaryIpArray) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentPrimaryIp) []GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsInstancesInstanceNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArgs and GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArray and GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArray{ GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArray []GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancesInstanceNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstanceNetworkAttachmentSubnetInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentSubnetArgs and GetIsInstancesInstanceNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentSubnetInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentSubnetArgs{...} +type GetIsInstancesInstanceNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentSubnetOutput() GetIsInstancesInstanceNetworkAttachmentSubnetOutput + ToGetIsInstancesInstanceNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetOutput +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstanceNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentSubnetArgs) ToGetIsInstancesInstanceNetworkAttachmentSubnetOutput() GetIsInstancesInstanceNetworkAttachmentSubnetOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentSubnetArgs) ToGetIsInstancesInstanceNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentSubnetOutput) +} + +// GetIsInstancesInstanceNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentSubnetArray and GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentSubnetArrayInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentSubnetArray{ GetIsInstancesInstanceNetworkAttachmentSubnetArgs{...} } +type GetIsInstancesInstanceNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput() GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput + ToGetIsInstancesInstanceNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetArray []GetIsInstancesInstanceNetworkAttachmentSubnetInput + +func (GetIsInstancesInstanceNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentSubnetArray) ToGetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput() GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentSubnetArray) ToGetIsInstancesInstanceNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetOutput) ToGetIsInstancesInstanceNetworkAttachmentSubnetOutput() GetIsInstancesInstanceNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetOutput) ToGetIsInstancesInstanceNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstancesInstanceNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancesInstanceNetworkAttachmentSubnetOutput) Deleteds() GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentSubnet) []GetIsInstancesInstanceNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsInstancesInstanceNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstancesInstanceNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsInstancesInstanceNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput() GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkAttachmentSubnet { + return vs[0].([]GetIsInstancesInstanceNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkAttachmentSubnetOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArgs and GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArgs{...} +type GetIsInstancesInstanceNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput() GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput + ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArgs) ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput() GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArgs) ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArray and GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArray{ GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArray []GetIsInstancesInstanceNetworkAttachmentSubnetDeletedInput + +func (GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArray) ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArray) ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput) ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput() GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput) ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsInstancesInstanceNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstancesInstanceNetworkInterface struct { + // Instance Network interface id + Id string `pulumi:"id"` + // Instance Network interface name + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstancesInstanceNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // Instance Network interface IPV4 Address + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + // Instance Network interface security groups + SecurityGroups []string `pulumi:"securityGroups"` + // Instance Network interface subnet + Subnet string `pulumi:"subnet"` +} + +// GetIsInstancesInstanceNetworkInterfaceInput is an input type that accepts GetIsInstancesInstanceNetworkInterfaceArgs and GetIsInstancesInstanceNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkInterfaceInput` via: +// +// GetIsInstancesInstanceNetworkInterfaceArgs{...} +type GetIsInstancesInstanceNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkInterfaceOutput() GetIsInstancesInstanceNetworkInterfaceOutput + ToGetIsInstancesInstanceNetworkInterfaceOutputWithContext(context.Context) GetIsInstancesInstanceNetworkInterfaceOutput +} + +type GetIsInstancesInstanceNetworkInterfaceArgs struct { + // Instance Network interface id + Id pulumi.StringInput `pulumi:"id"` + // Instance Network interface name + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // Instance Network interface IPV4 Address + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + // Instance Network interface security groups + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // Instance Network interface subnet + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsInstancesInstanceNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkInterfaceArgs) ToGetIsInstancesInstanceNetworkInterfaceOutput() GetIsInstancesInstanceNetworkInterfaceOutput { + return i.ToGetIsInstancesInstanceNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkInterfaceArgs) ToGetIsInstancesInstanceNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkInterfaceOutput) +} + +// GetIsInstancesInstanceNetworkInterfaceArrayInput is an input type that accepts GetIsInstancesInstanceNetworkInterfaceArray and GetIsInstancesInstanceNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkInterfaceArrayInput` via: +// +// GetIsInstancesInstanceNetworkInterfaceArray{ GetIsInstancesInstanceNetworkInterfaceArgs{...} } +type GetIsInstancesInstanceNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkInterfaceArrayOutput() GetIsInstancesInstanceNetworkInterfaceArrayOutput + ToGetIsInstancesInstanceNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkInterfaceArrayOutput +} + +type GetIsInstancesInstanceNetworkInterfaceArray []GetIsInstancesInstanceNetworkInterfaceInput + +func (GetIsInstancesInstanceNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkInterfaceArray) ToGetIsInstancesInstanceNetworkInterfaceArrayOutput() GetIsInstancesInstanceNetworkInterfaceArrayOutput { + return i.ToGetIsInstancesInstanceNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkInterfaceArray) ToGetIsInstancesInstanceNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkInterfaceArrayOutput) +} + +type GetIsInstancesInstanceNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkInterfaceOutput) ToGetIsInstancesInstanceNetworkInterfaceOutput() GetIsInstancesInstanceNetworkInterfaceOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkInterfaceOutput) ToGetIsInstancesInstanceNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkInterfaceOutput { + return o +} + +// Instance Network interface id +func (o GetIsInstancesInstanceNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance Network interface name +func (o GetIsInstancesInstanceNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstancesInstanceNetworkInterfaceOutput) PrimaryIps() GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterface) []GetIsInstancesInstanceNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput) +} + +// Instance Network interface IPV4 Address +func (o GetIsInstancesInstanceNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterface) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +// Instance Network interface security groups +func (o GetIsInstancesInstanceNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Instance Network interface subnet +func (o GetIsInstancesInstanceNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkInterfaceArrayOutput) ToGetIsInstancesInstanceNetworkInterfaceArrayOutput() GetIsInstancesInstanceNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkInterfaceArrayOutput) ToGetIsInstancesInstanceNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkInterface { + return vs[0].([]GetIsInstancesInstanceNetworkInterface)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkInterfaceOutput) +} + +type GetIsInstancesInstanceNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstanceNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstancesInstanceNetworkInterfacePrimaryIpArgs and GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstancesInstanceNetworkInterfacePrimaryIpArgs{...} +type GetIsInstancesInstanceNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkInterfacePrimaryIpOutput() GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput + ToGetIsInstancesInstanceNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput +} + +type GetIsInstancesInstanceNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstanceNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkInterfacePrimaryIpArgs) ToGetIsInstancesInstanceNetworkInterfacePrimaryIpOutput() GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstancesInstanceNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkInterfacePrimaryIpArgs) ToGetIsInstancesInstanceNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstancesInstanceNetworkInterfacePrimaryIpArray and GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstancesInstanceNetworkInterfacePrimaryIpArray{ GetIsInstancesInstanceNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput() GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstancesInstanceNetworkInterfacePrimaryIpArray []GetIsInstancesInstanceNetworkInterfacePrimaryIpInput + +func (GetIsInstancesInstanceNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancesInstanceNetworkInterfacePrimaryIpArray) ToGetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput() GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceNetworkInterfacePrimaryIpArray) ToGetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) ToGetIsInstancesInstanceNetworkInterfacePrimaryIpOutput() GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) ToGetIsInstancesInstanceNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput() GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstancesInstanceNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstancesInstancePlacementTarget struct { + // The CRN for this placement target resource. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstancesInstancePlacementTargetDeleted `pulumi:"deleteds"` + // The URL for this placement target resource. + Href string `pulumi:"href"` + // The unique identifier for this placement target resource. + Id string `pulumi:"id"` + // The unique user-defined name for this placement target resource. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstancePlacementTargetInput is an input type that accepts GetIsInstancesInstancePlacementTargetArgs and GetIsInstancesInstancePlacementTargetOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePlacementTargetInput` via: +// +// GetIsInstancesInstancePlacementTargetArgs{...} +type GetIsInstancesInstancePlacementTargetInput interface { + pulumi.Input + + ToGetIsInstancesInstancePlacementTargetOutput() GetIsInstancesInstancePlacementTargetOutput + ToGetIsInstancesInstancePlacementTargetOutputWithContext(context.Context) GetIsInstancesInstancePlacementTargetOutput +} + +type GetIsInstancesInstancePlacementTargetArgs struct { + // The CRN for this placement target resource. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstancesInstancePlacementTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this placement target resource. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this placement target resource. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this placement target resource. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstancePlacementTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePlacementTarget)(nil)).Elem() +} + +func (i GetIsInstancesInstancePlacementTargetArgs) ToGetIsInstancesInstancePlacementTargetOutput() GetIsInstancesInstancePlacementTargetOutput { + return i.ToGetIsInstancesInstancePlacementTargetOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePlacementTargetArgs) ToGetIsInstancesInstancePlacementTargetOutputWithContext(ctx context.Context) GetIsInstancesInstancePlacementTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePlacementTargetOutput) +} + +// GetIsInstancesInstancePlacementTargetArrayInput is an input type that accepts GetIsInstancesInstancePlacementTargetArray and GetIsInstancesInstancePlacementTargetArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePlacementTargetArrayInput` via: +// +// GetIsInstancesInstancePlacementTargetArray{ GetIsInstancesInstancePlacementTargetArgs{...} } +type GetIsInstancesInstancePlacementTargetArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePlacementTargetArrayOutput() GetIsInstancesInstancePlacementTargetArrayOutput + ToGetIsInstancesInstancePlacementTargetArrayOutputWithContext(context.Context) GetIsInstancesInstancePlacementTargetArrayOutput +} + +type GetIsInstancesInstancePlacementTargetArray []GetIsInstancesInstancePlacementTargetInput + +func (GetIsInstancesInstancePlacementTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePlacementTarget)(nil)).Elem() +} + +func (i GetIsInstancesInstancePlacementTargetArray) ToGetIsInstancesInstancePlacementTargetArrayOutput() GetIsInstancesInstancePlacementTargetArrayOutput { + return i.ToGetIsInstancesInstancePlacementTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePlacementTargetArray) ToGetIsInstancesInstancePlacementTargetArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePlacementTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePlacementTargetArrayOutput) +} + +type GetIsInstancesInstancePlacementTargetOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePlacementTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePlacementTarget)(nil)).Elem() +} + +func (o GetIsInstancesInstancePlacementTargetOutput) ToGetIsInstancesInstancePlacementTargetOutput() GetIsInstancesInstancePlacementTargetOutput { + return o +} + +func (o GetIsInstancesInstancePlacementTargetOutput) ToGetIsInstancesInstancePlacementTargetOutputWithContext(ctx context.Context) GetIsInstancesInstancePlacementTargetOutput { + return o +} + +// The CRN for this placement target resource. +func (o GetIsInstancesInstancePlacementTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePlacementTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstancesInstancePlacementTargetOutput) Deleteds() GetIsInstancesInstancePlacementTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePlacementTarget) []GetIsInstancesInstancePlacementTargetDeleted { + return v.Deleteds + }).(GetIsInstancesInstancePlacementTargetDeletedArrayOutput) +} + +// The URL for this placement target resource. +func (o GetIsInstancesInstancePlacementTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePlacementTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this placement target resource. +func (o GetIsInstancesInstancePlacementTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePlacementTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this placement target resource. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsInstancesInstancePlacementTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePlacementTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsInstancesInstancePlacementTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePlacementTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePlacementTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePlacementTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePlacementTarget)(nil)).Elem() +} + +func (o GetIsInstancesInstancePlacementTargetArrayOutput) ToGetIsInstancesInstancePlacementTargetArrayOutput() GetIsInstancesInstancePlacementTargetArrayOutput { + return o +} + +func (o GetIsInstancesInstancePlacementTargetArrayOutput) ToGetIsInstancesInstancePlacementTargetArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePlacementTargetArrayOutput { + return o +} + +func (o GetIsInstancesInstancePlacementTargetArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePlacementTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePlacementTarget { + return vs[0].([]GetIsInstancesInstancePlacementTarget)[vs[1].(int)] + }).(GetIsInstancesInstancePlacementTargetOutput) +} + +type GetIsInstancesInstancePlacementTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstancePlacementTargetDeletedInput is an input type that accepts GetIsInstancesInstancePlacementTargetDeletedArgs and GetIsInstancesInstancePlacementTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePlacementTargetDeletedInput` via: +// +// GetIsInstancesInstancePlacementTargetDeletedArgs{...} +type GetIsInstancesInstancePlacementTargetDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstancePlacementTargetDeletedOutput() GetIsInstancesInstancePlacementTargetDeletedOutput + ToGetIsInstancesInstancePlacementTargetDeletedOutputWithContext(context.Context) GetIsInstancesInstancePlacementTargetDeletedOutput +} + +type GetIsInstancesInstancePlacementTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstancePlacementTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstancePlacementTargetDeletedArgs) ToGetIsInstancesInstancePlacementTargetDeletedOutput() GetIsInstancesInstancePlacementTargetDeletedOutput { + return i.ToGetIsInstancesInstancePlacementTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePlacementTargetDeletedArgs) ToGetIsInstancesInstancePlacementTargetDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstancePlacementTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePlacementTargetDeletedOutput) +} + +// GetIsInstancesInstancePlacementTargetDeletedArrayInput is an input type that accepts GetIsInstancesInstancePlacementTargetDeletedArray and GetIsInstancesInstancePlacementTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePlacementTargetDeletedArrayInput` via: +// +// GetIsInstancesInstancePlacementTargetDeletedArray{ GetIsInstancesInstancePlacementTargetDeletedArgs{...} } +type GetIsInstancesInstancePlacementTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePlacementTargetDeletedArrayOutput() GetIsInstancesInstancePlacementTargetDeletedArrayOutput + ToGetIsInstancesInstancePlacementTargetDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstancePlacementTargetDeletedArrayOutput +} + +type GetIsInstancesInstancePlacementTargetDeletedArray []GetIsInstancesInstancePlacementTargetDeletedInput + +func (GetIsInstancesInstancePlacementTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstancePlacementTargetDeletedArray) ToGetIsInstancesInstancePlacementTargetDeletedArrayOutput() GetIsInstancesInstancePlacementTargetDeletedArrayOutput { + return i.ToGetIsInstancesInstancePlacementTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePlacementTargetDeletedArray) ToGetIsInstancesInstancePlacementTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePlacementTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePlacementTargetDeletedArrayOutput) +} + +type GetIsInstancesInstancePlacementTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePlacementTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstancePlacementTargetDeletedOutput) ToGetIsInstancesInstancePlacementTargetDeletedOutput() GetIsInstancesInstancePlacementTargetDeletedOutput { + return o +} + +func (o GetIsInstancesInstancePlacementTargetDeletedOutput) ToGetIsInstancesInstancePlacementTargetDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstancePlacementTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstancePlacementTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePlacementTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePlacementTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePlacementTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePlacementTargetDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstancePlacementTargetDeletedArrayOutput) ToGetIsInstancesInstancePlacementTargetDeletedArrayOutput() GetIsInstancesInstancePlacementTargetDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstancePlacementTargetDeletedArrayOutput) ToGetIsInstancesInstancePlacementTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePlacementTargetDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstancePlacementTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePlacementTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePlacementTargetDeleted { + return vs[0].([]GetIsInstancesInstancePlacementTargetDeleted)[vs[1].(int)] + }).(GetIsInstancesInstancePlacementTargetDeletedOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachment struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancesInstancePrimaryNetworkAttachmentDeleted `pulumi:"deleteds"` + // The URL for this network attachment. + Href string `pulumi:"href"` + // The unique identifier for this network attachment. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps []GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp `pulumi:"primaryIps"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets []GetIsInstancesInstancePrimaryNetworkAttachmentSubnet `pulumi:"subnets"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces []GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentArgs and GetIsInstancesInstancePrimaryNetworkAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentArgs{...} +type GetIsInstancesInstancePrimaryNetworkAttachmentInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentOutput() GetIsInstancesInstancePrimaryNetworkAttachmentOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network attachment. + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the network attachment. + PrimaryIps GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayInput `pulumi:"primaryIps"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet of the virtual network interface for the network attachment. + Subnets GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayInput `pulumi:"subnets"` + // The virtual network interface for this instance network attachment. + VirtualNetworkInterfaces GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` +} + +func (GetIsInstancesInstancePrimaryNetworkAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentOutput() GetIsInstancesInstancePrimaryNetworkAttachmentOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentOutput) +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentArray and GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentArray{ GetIsInstancesInstancePrimaryNetworkAttachmentArgs{...} } +type GetIsInstancesInstancePrimaryNetworkAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentArray []GetIsInstancesInstancePrimaryNetworkAttachmentInput + +func (GetIsInstancesInstancePrimaryNetworkAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentOutput() GetIsInstancesInstancePrimaryNetworkAttachmentOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) Deleteds() GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachment) []GetIsInstancesInstancePrimaryNetworkAttachmentDeleted { + return v.Deleteds + }).(GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput) +} + +// The URL for this network attachment. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network attachment. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the network attachment. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) PrimaryIps() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachment) []GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp { + return v.PrimaryIps + }).(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +// The resource type. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachment) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet of the virtual network interface for the network attachment. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) Subnets() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachment) []GetIsInstancesInstancePrimaryNetworkAttachmentSubnet { + return v.Subnets + }).(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput) +} + +// The virtual network interface for this instance network attachment. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentOutput) VirtualNetworkInterfaces() GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachment) []GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachment)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkAttachment { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkAttachment)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkAttachmentOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentDeletedInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArgs and GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentDeletedInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArgs{...} +type GetIsInstancesInstancePrimaryNetworkAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput) +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArray and GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArray{ GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArgs{...} } +type GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArray []GetIsInstancesInstancePrimaryNetworkAttachmentDeletedInput + +func (GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkAttachmentDeleted { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkAttachmentDeleted)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArgs and GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArgs{...} +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArray and GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArray{ GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArgs{...} } +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArray []GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpInput + +func (GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) Deleteds() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp) []GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted { + return v.Deleteds + }).(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIp)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs and GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray and GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray{ GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{...} } +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray []GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput + +func (GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentSubnetInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArgs and GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentSubnetInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArgs{...} +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArray and GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArray{ GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArgs{...} } +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArray []GetIsInstancesInstancePrimaryNetworkAttachmentSubnetInput + +func (GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) Deleteds() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentSubnet) []GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted { + return v.Deleteds + }).(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentSubnet)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkAttachmentSubnet { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkAttachmentSubnet)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArgs and GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArgs{...} +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput) +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArray and GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArray{ GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArgs{...} } +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArray []GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedInput + +func (GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeleted)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs and GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} +type GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs) ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +// GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray and GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray{ GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{...} } +type GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput + ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray []GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput + +func (GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray) ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput() GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this virtual network interface. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput() GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) ToGetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput) +} + +type GetIsInstancesInstancePrimaryNetworkInterface struct { + // Instance Primary Network interface id + Id string `pulumi:"id"` + // Instance Primary Network interface name + Name string `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps []GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // Instance Primary Network interface IPV4 Address + PrimaryIpv4Address string `pulumi:"primaryIpv4Address"` + // Instance Primary Network interface security groups + SecurityGroups []string `pulumi:"securityGroups"` + // Instance Primary Network interface subnet + Subnet string `pulumi:"subnet"` +} + +// GetIsInstancesInstancePrimaryNetworkInterfaceInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkInterfaceArgs and GetIsInstancesInstancePrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkInterfaceInput` via: +// +// GetIsInstancesInstancePrimaryNetworkInterfaceArgs{...} +type GetIsInstancesInstancePrimaryNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkInterfaceOutput() GetIsInstancesInstancePrimaryNetworkInterfaceOutput + ToGetIsInstancesInstancePrimaryNetworkInterfaceOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkInterfaceOutput +} + +type GetIsInstancesInstancePrimaryNetworkInterfaceArgs struct { + // Instance Primary Network interface id + Id pulumi.StringInput `pulumi:"id"` + // Instance Primary Network interface name + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. + PrimaryIps GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // Instance Primary Network interface IPV4 Address + PrimaryIpv4Address pulumi.StringInput `pulumi:"primaryIpv4Address"` + // Instance Primary Network interface security groups + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // Instance Primary Network interface subnet + Subnet pulumi.StringInput `pulumi:"subnet"` +} + +func (GetIsInstancesInstancePrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkInterfaceArgs) ToGetIsInstancesInstancePrimaryNetworkInterfaceOutput() GetIsInstancesInstancePrimaryNetworkInterfaceOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkInterfaceArgs) ToGetIsInstancesInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkInterfaceOutput) +} + +// GetIsInstancesInstancePrimaryNetworkInterfaceArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkInterfaceArray and GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkInterfaceArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkInterfaceArray{ GetIsInstancesInstancePrimaryNetworkInterfaceArgs{...} } +type GetIsInstancesInstancePrimaryNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput() GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput + ToGetIsInstancesInstancePrimaryNetworkInterfaceArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkInterfaceArray []GetIsInstancesInstancePrimaryNetworkInterfaceInput + +func (GetIsInstancesInstancePrimaryNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkInterfaceArray) ToGetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput() GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkInterfaceArray) ToGetIsInstancesInstancePrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfaceOutput) ToGetIsInstancesInstancePrimaryNetworkInterfaceOutput() GetIsInstancesInstancePrimaryNetworkInterfaceOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfaceOutput) ToGetIsInstancesInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkInterfaceOutput { + return o +} + +// Instance Primary Network interface id +func (o GetIsInstancesInstancePrimaryNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance Primary Network interface name +func (o GetIsInstancesInstancePrimaryNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address to bind to the network interface. This can be specified using an existing reserved IP, or a prototype object for a new reserved IP. +func (o GetIsInstancesInstancePrimaryNetworkInterfaceOutput) PrimaryIps() GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterface) []GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +// Instance Primary Network interface IPV4 Address +func (o GetIsInstancesInstancePrimaryNetworkInterfaceOutput) PrimaryIpv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterface) string { return v.PrimaryIpv4Address }).(pulumi.StringOutput) +} + +// Instance Primary Network interface security groups +func (o GetIsInstancesInstancePrimaryNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Instance Primary Network interface subnet +func (o GetIsInstancesInstancePrimaryNetworkInterfaceOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterface) string { return v.Subnet }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkInterface)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput) ToGetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput() GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput) ToGetIsInstancesInstancePrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkInterface { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkInterface)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkInterfaceOutput) +} + +type GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArgs and GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpInput` via: +// +// GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArgs{...} +type GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput + ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput +} + +type GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArgs) ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArgs) ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) +} + +// GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArray and GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArray{ GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArgs{...} } +type GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput + ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArray []GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpInput + +func (GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArray) ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArray) ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput() GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput() GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) ToGetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp { + return vs[0].([]GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput) +} + +type GetIsInstancesInstanceReservation struct { + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstancesInstanceReservationDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstanceReservationInput is an input type that accepts GetIsInstancesInstanceReservationArgs and GetIsInstancesInstanceReservationOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationInput` via: +// +// GetIsInstancesInstanceReservationArgs{...} +type GetIsInstancesInstanceReservationInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationOutput() GetIsInstancesInstanceReservationOutput + ToGetIsInstancesInstanceReservationOutputWithContext(context.Context) GetIsInstancesInstanceReservationOutput +} + +type GetIsInstancesInstanceReservationArgs struct { + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstancesInstanceReservationDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstanceReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservation)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationArgs) ToGetIsInstancesInstanceReservationOutput() GetIsInstancesInstanceReservationOutput { + return i.ToGetIsInstancesInstanceReservationOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationArgs) ToGetIsInstancesInstanceReservationOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationOutput) +} + +// GetIsInstancesInstanceReservationArrayInput is an input type that accepts GetIsInstancesInstanceReservationArray and GetIsInstancesInstanceReservationArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationArrayInput` via: +// +// GetIsInstancesInstanceReservationArray{ GetIsInstancesInstanceReservationArgs{...} } +type GetIsInstancesInstanceReservationArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationArrayOutput() GetIsInstancesInstanceReservationArrayOutput + ToGetIsInstancesInstanceReservationArrayOutputWithContext(context.Context) GetIsInstancesInstanceReservationArrayOutput +} + +type GetIsInstancesInstanceReservationArray []GetIsInstancesInstanceReservationInput + +func (GetIsInstancesInstanceReservationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservation)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationArray) ToGetIsInstancesInstanceReservationArrayOutput() GetIsInstancesInstanceReservationArrayOutput { + return i.ToGetIsInstancesInstanceReservationArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationArray) ToGetIsInstancesInstanceReservationArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationArrayOutput) +} + +type GetIsInstancesInstanceReservationOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservation)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationOutput) ToGetIsInstancesInstanceReservationOutput() GetIsInstancesInstanceReservationOutput { + return o +} + +func (o GetIsInstancesInstanceReservationOutput) ToGetIsInstancesInstanceReservationOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationOutput { + return o +} + +// The CRN for this reservation. +func (o GetIsInstancesInstanceReservationOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservation) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstancesInstanceReservationOutput) Deleteds() GetIsInstancesInstanceReservationDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservation) []GetIsInstancesInstanceReservationDeleted { + return v.Deleteds + }).(GetIsInstancesInstanceReservationDeletedArrayOutput) +} + +// The URL for this reservation. +func (o GetIsInstancesInstanceReservationOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservation) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsInstancesInstanceReservationOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservation) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o GetIsInstancesInstanceReservationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservation) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceReservationOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservation) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceReservationArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservation)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationArrayOutput) ToGetIsInstancesInstanceReservationArrayOutput() GetIsInstancesInstanceReservationArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationArrayOutput) ToGetIsInstancesInstanceReservationArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceReservationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceReservation { + return vs[0].([]GetIsInstancesInstanceReservation)[vs[1].(int)] + }).(GetIsInstancesInstanceReservationOutput) +} + +type GetIsInstancesInstanceReservationAffinity struct { + // The reservation affinity policy to use for this virtual server instance. + Policy string `pulumi:"policy"` + // The pool of reservations available for use by this virtual server instance. + Pools []GetIsInstancesInstanceReservationAffinityPool `pulumi:"pools"` +} + +// GetIsInstancesInstanceReservationAffinityInput is an input type that accepts GetIsInstancesInstanceReservationAffinityArgs and GetIsInstancesInstanceReservationAffinityOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationAffinityInput` via: +// +// GetIsInstancesInstanceReservationAffinityArgs{...} +type GetIsInstancesInstanceReservationAffinityInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationAffinityOutput() GetIsInstancesInstanceReservationAffinityOutput + ToGetIsInstancesInstanceReservationAffinityOutputWithContext(context.Context) GetIsInstancesInstanceReservationAffinityOutput +} + +type GetIsInstancesInstanceReservationAffinityArgs struct { + // The reservation affinity policy to use for this virtual server instance. + Policy pulumi.StringInput `pulumi:"policy"` + // The pool of reservations available for use by this virtual server instance. + Pools GetIsInstancesInstanceReservationAffinityPoolArrayInput `pulumi:"pools"` +} + +func (GetIsInstancesInstanceReservationAffinityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservationAffinity)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationAffinityArgs) ToGetIsInstancesInstanceReservationAffinityOutput() GetIsInstancesInstanceReservationAffinityOutput { + return i.ToGetIsInstancesInstanceReservationAffinityOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationAffinityArgs) ToGetIsInstancesInstanceReservationAffinityOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationAffinityOutput) +} + +// GetIsInstancesInstanceReservationAffinityArrayInput is an input type that accepts GetIsInstancesInstanceReservationAffinityArray and GetIsInstancesInstanceReservationAffinityArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationAffinityArrayInput` via: +// +// GetIsInstancesInstanceReservationAffinityArray{ GetIsInstancesInstanceReservationAffinityArgs{...} } +type GetIsInstancesInstanceReservationAffinityArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationAffinityArrayOutput() GetIsInstancesInstanceReservationAffinityArrayOutput + ToGetIsInstancesInstanceReservationAffinityArrayOutputWithContext(context.Context) GetIsInstancesInstanceReservationAffinityArrayOutput +} + +type GetIsInstancesInstanceReservationAffinityArray []GetIsInstancesInstanceReservationAffinityInput + +func (GetIsInstancesInstanceReservationAffinityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservationAffinity)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationAffinityArray) ToGetIsInstancesInstanceReservationAffinityArrayOutput() GetIsInstancesInstanceReservationAffinityArrayOutput { + return i.ToGetIsInstancesInstanceReservationAffinityArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationAffinityArray) ToGetIsInstancesInstanceReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationAffinityArrayOutput) +} + +type GetIsInstancesInstanceReservationAffinityOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservationAffinity)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationAffinityOutput) ToGetIsInstancesInstanceReservationAffinityOutput() GetIsInstancesInstanceReservationAffinityOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityOutput) ToGetIsInstancesInstanceReservationAffinityOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityOutput { + return o +} + +// The reservation affinity policy to use for this virtual server instance. +func (o GetIsInstancesInstanceReservationAffinityOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinity) string { return v.Policy }).(pulumi.StringOutput) +} + +// The pool of reservations available for use by this virtual server instance. +func (o GetIsInstancesInstanceReservationAffinityOutput) Pools() GetIsInstancesInstanceReservationAffinityPoolArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinity) []GetIsInstancesInstanceReservationAffinityPool { + return v.Pools + }).(GetIsInstancesInstanceReservationAffinityPoolArrayOutput) +} + +type GetIsInstancesInstanceReservationAffinityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationAffinityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservationAffinity)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationAffinityArrayOutput) ToGetIsInstancesInstanceReservationAffinityArrayOutput() GetIsInstancesInstanceReservationAffinityArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityArrayOutput) ToGetIsInstancesInstanceReservationAffinityArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceReservationAffinityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceReservationAffinity { + return vs[0].([]GetIsInstancesInstanceReservationAffinity)[vs[1].(int)] + }).(GetIsInstancesInstanceReservationAffinityOutput) +} + +type GetIsInstancesInstanceReservationAffinityPool struct { + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsInstancesInstanceReservationAffinityPoolDeleted `pulumi:"deleteds"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsInstancesInstanceReservationAffinityPoolInput is an input type that accepts GetIsInstancesInstanceReservationAffinityPoolArgs and GetIsInstancesInstanceReservationAffinityPoolOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationAffinityPoolInput` via: +// +// GetIsInstancesInstanceReservationAffinityPoolArgs{...} +type GetIsInstancesInstanceReservationAffinityPoolInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationAffinityPoolOutput() GetIsInstancesInstanceReservationAffinityPoolOutput + ToGetIsInstancesInstanceReservationAffinityPoolOutputWithContext(context.Context) GetIsInstancesInstanceReservationAffinityPoolOutput +} + +type GetIsInstancesInstanceReservationAffinityPoolArgs struct { + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsInstancesInstanceReservationAffinityPoolDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reservation. The name is unique across all reservations in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsInstancesInstanceReservationAffinityPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityPool)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationAffinityPoolArgs) ToGetIsInstancesInstanceReservationAffinityPoolOutput() GetIsInstancesInstanceReservationAffinityPoolOutput { + return i.ToGetIsInstancesInstanceReservationAffinityPoolOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationAffinityPoolArgs) ToGetIsInstancesInstanceReservationAffinityPoolOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationAffinityPoolOutput) +} + +// GetIsInstancesInstanceReservationAffinityPoolArrayInput is an input type that accepts GetIsInstancesInstanceReservationAffinityPoolArray and GetIsInstancesInstanceReservationAffinityPoolArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationAffinityPoolArrayInput` via: +// +// GetIsInstancesInstanceReservationAffinityPoolArray{ GetIsInstancesInstanceReservationAffinityPoolArgs{...} } +type GetIsInstancesInstanceReservationAffinityPoolArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationAffinityPoolArrayOutput() GetIsInstancesInstanceReservationAffinityPoolArrayOutput + ToGetIsInstancesInstanceReservationAffinityPoolArrayOutputWithContext(context.Context) GetIsInstancesInstanceReservationAffinityPoolArrayOutput +} + +type GetIsInstancesInstanceReservationAffinityPoolArray []GetIsInstancesInstanceReservationAffinityPoolInput + +func (GetIsInstancesInstanceReservationAffinityPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservationAffinityPool)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationAffinityPoolArray) ToGetIsInstancesInstanceReservationAffinityPoolArrayOutput() GetIsInstancesInstanceReservationAffinityPoolArrayOutput { + return i.ToGetIsInstancesInstanceReservationAffinityPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationAffinityPoolArray) ToGetIsInstancesInstanceReservationAffinityPoolArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationAffinityPoolArrayOutput) +} + +type GetIsInstancesInstanceReservationAffinityPoolOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationAffinityPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityPool)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationAffinityPoolOutput) ToGetIsInstancesInstanceReservationAffinityPoolOutput() GetIsInstancesInstanceReservationAffinityPoolOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityPoolOutput) ToGetIsInstancesInstanceReservationAffinityPoolOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityPoolOutput { + return o +} + +// The CRN for this reservation. +func (o GetIsInstancesInstanceReservationAffinityPoolOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinityPool) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsInstancesInstanceReservationAffinityPoolOutput) Deleteds() GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinityPool) []GetIsInstancesInstanceReservationAffinityPoolDeleted { + return v.Deleteds + }).(GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput) +} + +// The URL for this reservation. +func (o GetIsInstancesInstanceReservationAffinityPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinityPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsInstancesInstanceReservationAffinityPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinityPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reservation. The name is unique across all reservations in the region. +func (o GetIsInstancesInstanceReservationAffinityPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinityPool) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsInstancesInstanceReservationAffinityPoolOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinityPool) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceReservationAffinityPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationAffinityPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservationAffinityPool)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationAffinityPoolArrayOutput) ToGetIsInstancesInstanceReservationAffinityPoolArrayOutput() GetIsInstancesInstanceReservationAffinityPoolArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityPoolArrayOutput) ToGetIsInstancesInstanceReservationAffinityPoolArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityPoolArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityPoolArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceReservationAffinityPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceReservationAffinityPool { + return vs[0].([]GetIsInstancesInstanceReservationAffinityPool)[vs[1].(int)] + }).(GetIsInstancesInstanceReservationAffinityPoolOutput) +} + +type GetIsInstancesInstanceReservationAffinityPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceReservationAffinityPoolDeletedInput is an input type that accepts GetIsInstancesInstanceReservationAffinityPoolDeletedArgs and GetIsInstancesInstanceReservationAffinityPoolDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationAffinityPoolDeletedInput` via: +// +// GetIsInstancesInstanceReservationAffinityPoolDeletedArgs{...} +type GetIsInstancesInstanceReservationAffinityPoolDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationAffinityPoolDeletedOutput() GetIsInstancesInstanceReservationAffinityPoolDeletedOutput + ToGetIsInstancesInstanceReservationAffinityPoolDeletedOutputWithContext(context.Context) GetIsInstancesInstanceReservationAffinityPoolDeletedOutput +} + +type GetIsInstancesInstanceReservationAffinityPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceReservationAffinityPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationAffinityPoolDeletedArgs) ToGetIsInstancesInstanceReservationAffinityPoolDeletedOutput() GetIsInstancesInstanceReservationAffinityPoolDeletedOutput { + return i.ToGetIsInstancesInstanceReservationAffinityPoolDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationAffinityPoolDeletedArgs) ToGetIsInstancesInstanceReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationAffinityPoolDeletedOutput) +} + +// GetIsInstancesInstanceReservationAffinityPoolDeletedArrayInput is an input type that accepts GetIsInstancesInstanceReservationAffinityPoolDeletedArray and GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationAffinityPoolDeletedArrayInput` via: +// +// GetIsInstancesInstanceReservationAffinityPoolDeletedArray{ GetIsInstancesInstanceReservationAffinityPoolDeletedArgs{...} } +type GetIsInstancesInstanceReservationAffinityPoolDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput() GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput + ToGetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput +} + +type GetIsInstancesInstanceReservationAffinityPoolDeletedArray []GetIsInstancesInstanceReservationAffinityPoolDeletedInput + +func (GetIsInstancesInstanceReservationAffinityPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationAffinityPoolDeletedArray) ToGetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput() GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput { + return i.ToGetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationAffinityPoolDeletedArray) ToGetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput) +} + +type GetIsInstancesInstanceReservationAffinityPoolDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationAffinityPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationAffinityPoolDeletedOutput) ToGetIsInstancesInstanceReservationAffinityPoolDeletedOutput() GetIsInstancesInstanceReservationAffinityPoolDeletedOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityPoolDeletedOutput) ToGetIsInstancesInstanceReservationAffinityPoolDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstanceReservationAffinityPoolDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationAffinityPoolDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservationAffinityPoolDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput) ToGetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput() GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput) ToGetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceReservationAffinityPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceReservationAffinityPoolDeleted { + return vs[0].([]GetIsInstancesInstanceReservationAffinityPoolDeleted)[vs[1].(int)] + }).(GetIsInstancesInstanceReservationAffinityPoolDeletedOutput) +} + +type GetIsInstancesInstanceReservationDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceReservationDeletedInput is an input type that accepts GetIsInstancesInstanceReservationDeletedArgs and GetIsInstancesInstanceReservationDeletedOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationDeletedInput` via: +// +// GetIsInstancesInstanceReservationDeletedArgs{...} +type GetIsInstancesInstanceReservationDeletedInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationDeletedOutput() GetIsInstancesInstanceReservationDeletedOutput + ToGetIsInstancesInstanceReservationDeletedOutputWithContext(context.Context) GetIsInstancesInstanceReservationDeletedOutput +} + +type GetIsInstancesInstanceReservationDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceReservationDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservationDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationDeletedArgs) ToGetIsInstancesInstanceReservationDeletedOutput() GetIsInstancesInstanceReservationDeletedOutput { + return i.ToGetIsInstancesInstanceReservationDeletedOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationDeletedArgs) ToGetIsInstancesInstanceReservationDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationDeletedOutput) +} + +// GetIsInstancesInstanceReservationDeletedArrayInput is an input type that accepts GetIsInstancesInstanceReservationDeletedArray and GetIsInstancesInstanceReservationDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceReservationDeletedArrayInput` via: +// +// GetIsInstancesInstanceReservationDeletedArray{ GetIsInstancesInstanceReservationDeletedArgs{...} } +type GetIsInstancesInstanceReservationDeletedArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceReservationDeletedArrayOutput() GetIsInstancesInstanceReservationDeletedArrayOutput + ToGetIsInstancesInstanceReservationDeletedArrayOutputWithContext(context.Context) GetIsInstancesInstanceReservationDeletedArrayOutput +} + +type GetIsInstancesInstanceReservationDeletedArray []GetIsInstancesInstanceReservationDeletedInput + +func (GetIsInstancesInstanceReservationDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservationDeleted)(nil)).Elem() +} + +func (i GetIsInstancesInstanceReservationDeletedArray) ToGetIsInstancesInstanceReservationDeletedArrayOutput() GetIsInstancesInstanceReservationDeletedArrayOutput { + return i.ToGetIsInstancesInstanceReservationDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceReservationDeletedArray) ToGetIsInstancesInstanceReservationDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceReservationDeletedArrayOutput) +} + +type GetIsInstancesInstanceReservationDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceReservationDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationDeletedOutput) ToGetIsInstancesInstanceReservationDeletedOutput() GetIsInstancesInstanceReservationDeletedOutput { + return o +} + +func (o GetIsInstancesInstanceReservationDeletedOutput) ToGetIsInstancesInstanceReservationDeletedOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsInstancesInstanceReservationDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceReservationDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceReservationDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceReservationDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceReservationDeleted)(nil)).Elem() +} + +func (o GetIsInstancesInstanceReservationDeletedArrayOutput) ToGetIsInstancesInstanceReservationDeletedArrayOutput() GetIsInstancesInstanceReservationDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationDeletedArrayOutput) ToGetIsInstancesInstanceReservationDeletedArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceReservationDeletedArrayOutput { + return o +} + +func (o GetIsInstancesInstanceReservationDeletedArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceReservationDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceReservationDeleted { + return vs[0].([]GetIsInstancesInstanceReservationDeleted)[vs[1].(int)] + }).(GetIsInstancesInstanceReservationDeletedOutput) +} + +type GetIsInstancesInstanceStatusReason struct { + // A snake case string succinctly identifying the status reason + Code string `pulumi:"code"` + // An explanation of the status reason + Message string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsInstancesInstanceStatusReasonInput is an input type that accepts GetIsInstancesInstanceStatusReasonArgs and GetIsInstancesInstanceStatusReasonOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceStatusReasonInput` via: +// +// GetIsInstancesInstanceStatusReasonArgs{...} +type GetIsInstancesInstanceStatusReasonInput interface { + pulumi.Input + + ToGetIsInstancesInstanceStatusReasonOutput() GetIsInstancesInstanceStatusReasonOutput + ToGetIsInstancesInstanceStatusReasonOutputWithContext(context.Context) GetIsInstancesInstanceStatusReasonOutput +} + +type GetIsInstancesInstanceStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsInstancesInstanceStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceStatusReason)(nil)).Elem() +} + +func (i GetIsInstancesInstanceStatusReasonArgs) ToGetIsInstancesInstanceStatusReasonOutput() GetIsInstancesInstanceStatusReasonOutput { + return i.ToGetIsInstancesInstanceStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceStatusReasonArgs) ToGetIsInstancesInstanceStatusReasonOutputWithContext(ctx context.Context) GetIsInstancesInstanceStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceStatusReasonOutput) +} + +// GetIsInstancesInstanceStatusReasonArrayInput is an input type that accepts GetIsInstancesInstanceStatusReasonArray and GetIsInstancesInstanceStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceStatusReasonArrayInput` via: +// +// GetIsInstancesInstanceStatusReasonArray{ GetIsInstancesInstanceStatusReasonArgs{...} } +type GetIsInstancesInstanceStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceStatusReasonArrayOutput() GetIsInstancesInstanceStatusReasonArrayOutput + ToGetIsInstancesInstanceStatusReasonArrayOutputWithContext(context.Context) GetIsInstancesInstanceStatusReasonArrayOutput +} + +type GetIsInstancesInstanceStatusReasonArray []GetIsInstancesInstanceStatusReasonInput + +func (GetIsInstancesInstanceStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceStatusReason)(nil)).Elem() +} + +func (i GetIsInstancesInstanceStatusReasonArray) ToGetIsInstancesInstanceStatusReasonArrayOutput() GetIsInstancesInstanceStatusReasonArrayOutput { + return i.ToGetIsInstancesInstanceStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceStatusReasonArray) ToGetIsInstancesInstanceStatusReasonArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceStatusReasonArrayOutput) +} + +type GetIsInstancesInstanceStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceStatusReason)(nil)).Elem() +} + +func (o GetIsInstancesInstanceStatusReasonOutput) ToGetIsInstancesInstanceStatusReasonOutput() GetIsInstancesInstanceStatusReasonOutput { + return o +} + +func (o GetIsInstancesInstanceStatusReasonOutput) ToGetIsInstancesInstanceStatusReasonOutputWithContext(ctx context.Context) GetIsInstancesInstanceStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o GetIsInstancesInstanceStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason +func (o GetIsInstancesInstanceStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason +func (o GetIsInstancesInstanceStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceStatusReason)(nil)).Elem() +} + +func (o GetIsInstancesInstanceStatusReasonArrayOutput) ToGetIsInstancesInstanceStatusReasonArrayOutput() GetIsInstancesInstanceStatusReasonArrayOutput { + return o +} + +func (o GetIsInstancesInstanceStatusReasonArrayOutput) ToGetIsInstancesInstanceStatusReasonArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceStatusReasonArrayOutput { + return o +} + +func (o GetIsInstancesInstanceStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceStatusReason { + return vs[0].([]GetIsInstancesInstanceStatusReason)[vs[1].(int)] + }).(GetIsInstancesInstanceStatusReasonOutput) +} + +type GetIsInstancesInstanceVcpus struct { + // Instance vcpu architecture + Architecture string `pulumi:"architecture"` + // Instance vcpu count + Count int `pulumi:"count"` + // Instance vcpu manufacturer + Manufacturer string `pulumi:"manufacturer"` +} + +// GetIsInstancesInstanceVcpusInput is an input type that accepts GetIsInstancesInstanceVcpusArgs and GetIsInstancesInstanceVcpusOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceVcpusInput` via: +// +// GetIsInstancesInstanceVcpusArgs{...} +type GetIsInstancesInstanceVcpusInput interface { + pulumi.Input + + ToGetIsInstancesInstanceVcpusOutput() GetIsInstancesInstanceVcpusOutput + ToGetIsInstancesInstanceVcpusOutputWithContext(context.Context) GetIsInstancesInstanceVcpusOutput +} + +type GetIsInstancesInstanceVcpusArgs struct { + // Instance vcpu architecture + Architecture pulumi.StringInput `pulumi:"architecture"` + // Instance vcpu count + Count pulumi.IntInput `pulumi:"count"` + // Instance vcpu manufacturer + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` +} + +func (GetIsInstancesInstanceVcpusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceVcpus)(nil)).Elem() +} + +func (i GetIsInstancesInstanceVcpusArgs) ToGetIsInstancesInstanceVcpusOutput() GetIsInstancesInstanceVcpusOutput { + return i.ToGetIsInstancesInstanceVcpusOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceVcpusArgs) ToGetIsInstancesInstanceVcpusOutputWithContext(ctx context.Context) GetIsInstancesInstanceVcpusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceVcpusOutput) +} + +// GetIsInstancesInstanceVcpusArrayInput is an input type that accepts GetIsInstancesInstanceVcpusArray and GetIsInstancesInstanceVcpusArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceVcpusArrayInput` via: +// +// GetIsInstancesInstanceVcpusArray{ GetIsInstancesInstanceVcpusArgs{...} } +type GetIsInstancesInstanceVcpusArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceVcpusArrayOutput() GetIsInstancesInstanceVcpusArrayOutput + ToGetIsInstancesInstanceVcpusArrayOutputWithContext(context.Context) GetIsInstancesInstanceVcpusArrayOutput +} + +type GetIsInstancesInstanceVcpusArray []GetIsInstancesInstanceVcpusInput + +func (GetIsInstancesInstanceVcpusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceVcpus)(nil)).Elem() +} + +func (i GetIsInstancesInstanceVcpusArray) ToGetIsInstancesInstanceVcpusArrayOutput() GetIsInstancesInstanceVcpusArrayOutput { + return i.ToGetIsInstancesInstanceVcpusArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceVcpusArray) ToGetIsInstancesInstanceVcpusArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceVcpusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceVcpusArrayOutput) +} + +type GetIsInstancesInstanceVcpusOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceVcpusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceVcpus)(nil)).Elem() +} + +func (o GetIsInstancesInstanceVcpusOutput) ToGetIsInstancesInstanceVcpusOutput() GetIsInstancesInstanceVcpusOutput { + return o +} + +func (o GetIsInstancesInstanceVcpusOutput) ToGetIsInstancesInstanceVcpusOutputWithContext(ctx context.Context) GetIsInstancesInstanceVcpusOutput { + return o +} + +// Instance vcpu architecture +func (o GetIsInstancesInstanceVcpusOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceVcpus) string { return v.Architecture }).(pulumi.StringOutput) +} + +// Instance vcpu count +func (o GetIsInstancesInstanceVcpusOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetIsInstancesInstanceVcpus) int { return v.Count }).(pulumi.IntOutput) +} + +// Instance vcpu manufacturer +func (o GetIsInstancesInstanceVcpusOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceVcpus) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceVcpusArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceVcpusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceVcpus)(nil)).Elem() +} + +func (o GetIsInstancesInstanceVcpusArrayOutput) ToGetIsInstancesInstanceVcpusArrayOutput() GetIsInstancesInstanceVcpusArrayOutput { + return o +} + +func (o GetIsInstancesInstanceVcpusArrayOutput) ToGetIsInstancesInstanceVcpusArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceVcpusArrayOutput { + return o +} + +func (o GetIsInstancesInstanceVcpusArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceVcpusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceVcpus { + return vs[0].([]GetIsInstancesInstanceVcpus)[vs[1].(int)] + }).(GetIsInstancesInstanceVcpusOutput) +} + +type GetIsInstancesInstanceVolumeAttachment struct { + // Instance volume Attachment id + Id string `pulumi:"id"` + // Instance volume Attachment name + Name string `pulumi:"name"` + // Instance volume Attachment's volume CRN + VolumeCrn string `pulumi:"volumeCrn"` + // Instance volume Attachment's volume id + VolumeId string `pulumi:"volumeId"` + // Instance volume Attachment's volume name + VolumeName string `pulumi:"volumeName"` +} + +// GetIsInstancesInstanceVolumeAttachmentInput is an input type that accepts GetIsInstancesInstanceVolumeAttachmentArgs and GetIsInstancesInstanceVolumeAttachmentOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceVolumeAttachmentInput` via: +// +// GetIsInstancesInstanceVolumeAttachmentArgs{...} +type GetIsInstancesInstanceVolumeAttachmentInput interface { + pulumi.Input + + ToGetIsInstancesInstanceVolumeAttachmentOutput() GetIsInstancesInstanceVolumeAttachmentOutput + ToGetIsInstancesInstanceVolumeAttachmentOutputWithContext(context.Context) GetIsInstancesInstanceVolumeAttachmentOutput +} + +type GetIsInstancesInstanceVolumeAttachmentArgs struct { + // Instance volume Attachment id + Id pulumi.StringInput `pulumi:"id"` + // Instance volume Attachment name + Name pulumi.StringInput `pulumi:"name"` + // Instance volume Attachment's volume CRN + VolumeCrn pulumi.StringInput `pulumi:"volumeCrn"` + // Instance volume Attachment's volume id + VolumeId pulumi.StringInput `pulumi:"volumeId"` + // Instance volume Attachment's volume name + VolumeName pulumi.StringInput `pulumi:"volumeName"` +} + +func (GetIsInstancesInstanceVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstancesInstanceVolumeAttachmentArgs) ToGetIsInstancesInstanceVolumeAttachmentOutput() GetIsInstancesInstanceVolumeAttachmentOutput { + return i.ToGetIsInstancesInstanceVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceVolumeAttachmentArgs) ToGetIsInstancesInstanceVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstancesInstanceVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceVolumeAttachmentOutput) +} + +// GetIsInstancesInstanceVolumeAttachmentArrayInput is an input type that accepts GetIsInstancesInstanceVolumeAttachmentArray and GetIsInstancesInstanceVolumeAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsInstancesInstanceVolumeAttachmentArrayInput` via: +// +// GetIsInstancesInstanceVolumeAttachmentArray{ GetIsInstancesInstanceVolumeAttachmentArgs{...} } +type GetIsInstancesInstanceVolumeAttachmentArrayInput interface { + pulumi.Input + + ToGetIsInstancesInstanceVolumeAttachmentArrayOutput() GetIsInstancesInstanceVolumeAttachmentArrayOutput + ToGetIsInstancesInstanceVolumeAttachmentArrayOutputWithContext(context.Context) GetIsInstancesInstanceVolumeAttachmentArrayOutput +} + +type GetIsInstancesInstanceVolumeAttachmentArray []GetIsInstancesInstanceVolumeAttachmentInput + +func (GetIsInstancesInstanceVolumeAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceVolumeAttachment)(nil)).Elem() +} + +func (i GetIsInstancesInstanceVolumeAttachmentArray) ToGetIsInstancesInstanceVolumeAttachmentArrayOutput() GetIsInstancesInstanceVolumeAttachmentArrayOutput { + return i.ToGetIsInstancesInstanceVolumeAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsInstancesInstanceVolumeAttachmentArray) ToGetIsInstancesInstanceVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceVolumeAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsInstancesInstanceVolumeAttachmentArrayOutput) +} + +type GetIsInstancesInstanceVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsInstancesInstanceVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstancesInstanceVolumeAttachmentOutput) ToGetIsInstancesInstanceVolumeAttachmentOutput() GetIsInstancesInstanceVolumeAttachmentOutput { + return o +} + +func (o GetIsInstancesInstanceVolumeAttachmentOutput) ToGetIsInstancesInstanceVolumeAttachmentOutputWithContext(ctx context.Context) GetIsInstancesInstanceVolumeAttachmentOutput { + return o +} + +// Instance volume Attachment id +func (o GetIsInstancesInstanceVolumeAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceVolumeAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance volume Attachment name +func (o GetIsInstancesInstanceVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceVolumeAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// Instance volume Attachment's volume CRN +func (o GetIsInstancesInstanceVolumeAttachmentOutput) VolumeCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceVolumeAttachment) string { return v.VolumeCrn }).(pulumi.StringOutput) +} + +// Instance volume Attachment's volume id +func (o GetIsInstancesInstanceVolumeAttachmentOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceVolumeAttachment) string { return v.VolumeId }).(pulumi.StringOutput) +} + +// Instance volume Attachment's volume name +func (o GetIsInstancesInstanceVolumeAttachmentOutput) VolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsInstancesInstanceVolumeAttachment) string { return v.VolumeName }).(pulumi.StringOutput) +} + +type GetIsInstancesInstanceVolumeAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsInstancesInstanceVolumeAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsInstancesInstanceVolumeAttachment)(nil)).Elem() +} + +func (o GetIsInstancesInstanceVolumeAttachmentArrayOutput) ToGetIsInstancesInstanceVolumeAttachmentArrayOutput() GetIsInstancesInstanceVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstancesInstanceVolumeAttachmentArrayOutput) ToGetIsInstancesInstanceVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsInstancesInstanceVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsInstancesInstanceVolumeAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsInstancesInstanceVolumeAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsInstancesInstanceVolumeAttachment { + return vs[0].([]GetIsInstancesInstanceVolumeAttachment)[vs[1].(int)] + }).(GetIsInstancesInstanceVolumeAttachmentOutput) +} + +type GetIsIpsecPoliciesIpsecPolicy struct { + // The authentication algorithm. + AuthenticationAlgorithm string `pulumi:"authenticationAlgorithm"` + // The VPN gateway connections that use this IPsec policy. + Connections []GetIsIpsecPoliciesIpsecPolicyConnection `pulumi:"connections"` + // The date and time that this IPsec policy was created. + CreatedAt string `pulumi:"createdAt"` + // The encapsulation mode used. Only `tunnel` is supported. + EncapsulationMode string `pulumi:"encapsulationMode"` + // The encryption algorithm. + EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"` + // The IPsec policy's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this IPsec policy. + Id string `pulumi:"id"` + // The key lifetime in seconds. + KeyLifetime int `pulumi:"keyLifetime"` + // The user-defined name for this IPsec policy. + Name string `pulumi:"name"` + // Perfect Forward Secrecy. + Pfs string `pulumi:"pfs"` + // The resource group for this IPsec policy. + ResourceGroups []GetIsIpsecPoliciesIpsecPolicyResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The transform protocol used. Only `esp` is supported. + TransformProtocol string `pulumi:"transformProtocol"` +} + +// GetIsIpsecPoliciesIpsecPolicyInput is an input type that accepts GetIsIpsecPoliciesIpsecPolicyArgs and GetIsIpsecPoliciesIpsecPolicyOutput values. +// You can construct a concrete instance of `GetIsIpsecPoliciesIpsecPolicyInput` via: +// +// GetIsIpsecPoliciesIpsecPolicyArgs{...} +type GetIsIpsecPoliciesIpsecPolicyInput interface { + pulumi.Input + + ToGetIsIpsecPoliciesIpsecPolicyOutput() GetIsIpsecPoliciesIpsecPolicyOutput + ToGetIsIpsecPoliciesIpsecPolicyOutputWithContext(context.Context) GetIsIpsecPoliciesIpsecPolicyOutput +} + +type GetIsIpsecPoliciesIpsecPolicyArgs struct { + // The authentication algorithm. + AuthenticationAlgorithm pulumi.StringInput `pulumi:"authenticationAlgorithm"` + // The VPN gateway connections that use this IPsec policy. + Connections GetIsIpsecPoliciesIpsecPolicyConnectionArrayInput `pulumi:"connections"` + // The date and time that this IPsec policy was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The encapsulation mode used. Only `tunnel` is supported. + EncapsulationMode pulumi.StringInput `pulumi:"encapsulationMode"` + // The encryption algorithm. + EncryptionAlgorithm pulumi.StringInput `pulumi:"encryptionAlgorithm"` + // The IPsec policy's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this IPsec policy. + Id pulumi.StringInput `pulumi:"id"` + // The key lifetime in seconds. + KeyLifetime pulumi.IntInput `pulumi:"keyLifetime"` + // The user-defined name for this IPsec policy. + Name pulumi.StringInput `pulumi:"name"` + // Perfect Forward Secrecy. + Pfs pulumi.StringInput `pulumi:"pfs"` + // The resource group for this IPsec policy. + ResourceGroups GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayInput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The transform protocol used. Only `esp` is supported. + TransformProtocol pulumi.StringInput `pulumi:"transformProtocol"` +} + +func (GetIsIpsecPoliciesIpsecPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicy)(nil)).Elem() +} + +func (i GetIsIpsecPoliciesIpsecPolicyArgs) ToGetIsIpsecPoliciesIpsecPolicyOutput() GetIsIpsecPoliciesIpsecPolicyOutput { + return i.ToGetIsIpsecPoliciesIpsecPolicyOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPoliciesIpsecPolicyArgs) ToGetIsIpsecPoliciesIpsecPolicyOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPoliciesIpsecPolicyOutput) +} + +// GetIsIpsecPoliciesIpsecPolicyArrayInput is an input type that accepts GetIsIpsecPoliciesIpsecPolicyArray and GetIsIpsecPoliciesIpsecPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsIpsecPoliciesIpsecPolicyArrayInput` via: +// +// GetIsIpsecPoliciesIpsecPolicyArray{ GetIsIpsecPoliciesIpsecPolicyArgs{...} } +type GetIsIpsecPoliciesIpsecPolicyArrayInput interface { + pulumi.Input + + ToGetIsIpsecPoliciesIpsecPolicyArrayOutput() GetIsIpsecPoliciesIpsecPolicyArrayOutput + ToGetIsIpsecPoliciesIpsecPolicyArrayOutputWithContext(context.Context) GetIsIpsecPoliciesIpsecPolicyArrayOutput +} + +type GetIsIpsecPoliciesIpsecPolicyArray []GetIsIpsecPoliciesIpsecPolicyInput + +func (GetIsIpsecPoliciesIpsecPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPoliciesIpsecPolicy)(nil)).Elem() +} + +func (i GetIsIpsecPoliciesIpsecPolicyArray) ToGetIsIpsecPoliciesIpsecPolicyArrayOutput() GetIsIpsecPoliciesIpsecPolicyArrayOutput { + return i.ToGetIsIpsecPoliciesIpsecPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPoliciesIpsecPolicyArray) ToGetIsIpsecPoliciesIpsecPolicyArrayOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPoliciesIpsecPolicyArrayOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesIpsecPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicy)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesIpsecPolicyOutput) ToGetIsIpsecPoliciesIpsecPolicyOutput() GetIsIpsecPoliciesIpsecPolicyOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyOutput) ToGetIsIpsecPoliciesIpsecPolicyOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyOutput { + return o +} + +// The authentication algorithm. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) AuthenticationAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.AuthenticationAlgorithm }).(pulumi.StringOutput) +} + +// The VPN gateway connections that use this IPsec policy. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) Connections() GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) []GetIsIpsecPoliciesIpsecPolicyConnection { return v.Connections }).(GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput) +} + +// The date and time that this IPsec policy was created. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The encapsulation mode used. Only `tunnel` is supported. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) EncapsulationMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.EncapsulationMode }).(pulumi.StringOutput) +} + +// The encryption algorithm. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) EncryptionAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.EncryptionAlgorithm }).(pulumi.StringOutput) +} + +// The IPsec policy's canonical URL. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this IPsec policy. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// The key lifetime in seconds. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) KeyLifetime() pulumi.IntOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) int { return v.KeyLifetime }).(pulumi.IntOutput) +} + +// The user-defined name for this IPsec policy. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.Name }).(pulumi.StringOutput) +} + +// Perfect Forward Secrecy. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) Pfs() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.Pfs }).(pulumi.StringOutput) +} + +// The resource group for this IPsec policy. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) ResourceGroups() GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) []GetIsIpsecPoliciesIpsecPolicyResourceGroup { + return v.ResourceGroups + }).(GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput) +} + +// The resource type. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The transform protocol used. Only `esp` is supported. +func (o GetIsIpsecPoliciesIpsecPolicyOutput) TransformProtocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicy) string { return v.TransformProtocol }).(pulumi.StringOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesIpsecPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPoliciesIpsecPolicy)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesIpsecPolicyArrayOutput) ToGetIsIpsecPoliciesIpsecPolicyArrayOutput() GetIsIpsecPoliciesIpsecPolicyArrayOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyArrayOutput) ToGetIsIpsecPoliciesIpsecPolicyArrayOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyArrayOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyArrayOutput) Index(i pulumi.IntInput) GetIsIpsecPoliciesIpsecPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIpsecPoliciesIpsecPolicy { + return vs[0].([]GetIsIpsecPoliciesIpsecPolicy)[vs[1].(int)] + }).(GetIsIpsecPoliciesIpsecPolicyOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyConnection struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsIpsecPoliciesIpsecPolicyConnectionDeleted `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id string `pulumi:"id"` + // The user-defined name for this VPN connection. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsIpsecPoliciesIpsecPolicyConnectionInput is an input type that accepts GetIsIpsecPoliciesIpsecPolicyConnectionArgs and GetIsIpsecPoliciesIpsecPolicyConnectionOutput values. +// You can construct a concrete instance of `GetIsIpsecPoliciesIpsecPolicyConnectionInput` via: +// +// GetIsIpsecPoliciesIpsecPolicyConnectionArgs{...} +type GetIsIpsecPoliciesIpsecPolicyConnectionInput interface { + pulumi.Input + + ToGetIsIpsecPoliciesIpsecPolicyConnectionOutput() GetIsIpsecPoliciesIpsecPolicyConnectionOutput + ToGetIsIpsecPoliciesIpsecPolicyConnectionOutputWithContext(context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionOutput +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayInput `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this VPN connection. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsIpsecPoliciesIpsecPolicyConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyConnection)(nil)).Elem() +} + +func (i GetIsIpsecPoliciesIpsecPolicyConnectionArgs) ToGetIsIpsecPoliciesIpsecPolicyConnectionOutput() GetIsIpsecPoliciesIpsecPolicyConnectionOutput { + return i.ToGetIsIpsecPoliciesIpsecPolicyConnectionOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPoliciesIpsecPolicyConnectionArgs) ToGetIsIpsecPoliciesIpsecPolicyConnectionOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPoliciesIpsecPolicyConnectionOutput) +} + +// GetIsIpsecPoliciesIpsecPolicyConnectionArrayInput is an input type that accepts GetIsIpsecPoliciesIpsecPolicyConnectionArray and GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput values. +// You can construct a concrete instance of `GetIsIpsecPoliciesIpsecPolicyConnectionArrayInput` via: +// +// GetIsIpsecPoliciesIpsecPolicyConnectionArray{ GetIsIpsecPoliciesIpsecPolicyConnectionArgs{...} } +type GetIsIpsecPoliciesIpsecPolicyConnectionArrayInput interface { + pulumi.Input + + ToGetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput() GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput + ToGetIsIpsecPoliciesIpsecPolicyConnectionArrayOutputWithContext(context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionArray []GetIsIpsecPoliciesIpsecPolicyConnectionInput + +func (GetIsIpsecPoliciesIpsecPolicyConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPoliciesIpsecPolicyConnection)(nil)).Elem() +} + +func (i GetIsIpsecPoliciesIpsecPolicyConnectionArray) ToGetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput() GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput { + return i.ToGetIsIpsecPoliciesIpsecPolicyConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPoliciesIpsecPolicyConnectionArray) ToGetIsIpsecPoliciesIpsecPolicyConnectionArrayOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesIpsecPolicyConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyConnection)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionOutput) ToGetIsIpsecPoliciesIpsecPolicyConnectionOutput() GetIsIpsecPoliciesIpsecPolicyConnectionOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionOutput) ToGetIsIpsecPoliciesIpsecPolicyConnectionOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsIpsecPoliciesIpsecPolicyConnectionOutput) Deleteds() GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyConnection) []GetIsIpsecPoliciesIpsecPolicyConnectionDeleted { + return v.Deleteds + }).(GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput) +} + +// The VPN connection's canonical URL. +func (o GetIsIpsecPoliciesIpsecPolicyConnectionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyConnection) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway connection. +func (o GetIsIpsecPoliciesIpsecPolicyConnectionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyConnection) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN connection. +func (o GetIsIpsecPoliciesIpsecPolicyConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsIpsecPoliciesIpsecPolicyConnectionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyConnection) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPoliciesIpsecPolicyConnection)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput) ToGetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput() GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput) ToGetIsIpsecPoliciesIpsecPolicyConnectionArrayOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput) Index(i pulumi.IntInput) GetIsIpsecPoliciesIpsecPolicyConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIpsecPoliciesIpsecPolicyConnection { + return vs[0].([]GetIsIpsecPoliciesIpsecPolicyConnection)[vs[1].(int)] + }).(GetIsIpsecPoliciesIpsecPolicyConnectionOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsIpsecPoliciesIpsecPolicyConnectionDeletedInput is an input type that accepts GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArgs and GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput values. +// You can construct a concrete instance of `GetIsIpsecPoliciesIpsecPolicyConnectionDeletedInput` via: +// +// GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArgs{...} +type GetIsIpsecPoliciesIpsecPolicyConnectionDeletedInput interface { + pulumi.Input + + ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput() GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput + ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutputWithContext(context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyConnectionDeleted)(nil)).Elem() +} + +func (i GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArgs) ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput() GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput { + return i.ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArgs) ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput) +} + +// GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayInput is an input type that accepts GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArray and GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayInput` via: +// +// GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArray{ GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArgs{...} } +type GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayInput interface { + pulumi.Input + + ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput() GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput + ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutputWithContext(context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArray []GetIsIpsecPoliciesIpsecPolicyConnectionDeletedInput + +func (GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPoliciesIpsecPolicyConnectionDeleted)(nil)).Elem() +} + +func (i GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArray) ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput() GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput { + return i.ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArray) ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyConnectionDeleted)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput) ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput() GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput) ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyConnectionDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPoliciesIpsecPolicyConnectionDeleted)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput) ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput() GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput) ToGetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput) Index(i pulumi.IntInput) GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIpsecPoliciesIpsecPolicyConnectionDeleted { + return vs[0].([]GetIsIpsecPoliciesIpsecPolicyConnectionDeleted)[vs[1].(int)] + }).(GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsIpsecPoliciesIpsecPolicyResourceGroupInput is an input type that accepts GetIsIpsecPoliciesIpsecPolicyResourceGroupArgs and GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput values. +// You can construct a concrete instance of `GetIsIpsecPoliciesIpsecPolicyResourceGroupInput` via: +// +// GetIsIpsecPoliciesIpsecPolicyResourceGroupArgs{...} +type GetIsIpsecPoliciesIpsecPolicyResourceGroupInput interface { + pulumi.Input + + ToGetIsIpsecPoliciesIpsecPolicyResourceGroupOutput() GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput + ToGetIsIpsecPoliciesIpsecPolicyResourceGroupOutputWithContext(context.Context) GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput +} + +type GetIsIpsecPoliciesIpsecPolicyResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsIpsecPoliciesIpsecPolicyResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsIpsecPoliciesIpsecPolicyResourceGroupArgs) ToGetIsIpsecPoliciesIpsecPolicyResourceGroupOutput() GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput { + return i.ToGetIsIpsecPoliciesIpsecPolicyResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPoliciesIpsecPolicyResourceGroupArgs) ToGetIsIpsecPoliciesIpsecPolicyResourceGroupOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput) +} + +// GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayInput is an input type that accepts GetIsIpsecPoliciesIpsecPolicyResourceGroupArray and GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayInput` via: +// +// GetIsIpsecPoliciesIpsecPolicyResourceGroupArray{ GetIsIpsecPoliciesIpsecPolicyResourceGroupArgs{...} } +type GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput() GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput + ToGetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutputWithContext(context.Context) GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput +} + +type GetIsIpsecPoliciesIpsecPolicyResourceGroupArray []GetIsIpsecPoliciesIpsecPolicyResourceGroupInput + +func (GetIsIpsecPoliciesIpsecPolicyResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPoliciesIpsecPolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsIpsecPoliciesIpsecPolicyResourceGroupArray) ToGetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput() GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput { + return i.ToGetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPoliciesIpsecPolicyResourceGroupArray) ToGetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput) ToGetIsIpsecPoliciesIpsecPolicyResourceGroupOutput() GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput) ToGetIsIpsecPoliciesIpsecPolicyResourceGroupOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPoliciesIpsecPolicyResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPoliciesIpsecPolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput) ToGetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput() GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput) ToGetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIpsecPoliciesIpsecPolicyResourceGroup { + return vs[0].([]GetIsIpsecPoliciesIpsecPolicyResourceGroup)[vs[1].(int)] + }).(GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput) +} + +type GetIsIpsecPolicyConnection struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsIpsecPolicyConnectionDeleted `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id string `pulumi:"id"` + // The user-defined name for this VPN connection. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsIpsecPolicyConnectionInput is an input type that accepts GetIsIpsecPolicyConnectionArgs and GetIsIpsecPolicyConnectionOutput values. +// You can construct a concrete instance of `GetIsIpsecPolicyConnectionInput` via: +// +// GetIsIpsecPolicyConnectionArgs{...} +type GetIsIpsecPolicyConnectionInput interface { + pulumi.Input + + ToGetIsIpsecPolicyConnectionOutput() GetIsIpsecPolicyConnectionOutput + ToGetIsIpsecPolicyConnectionOutputWithContext(context.Context) GetIsIpsecPolicyConnectionOutput +} + +type GetIsIpsecPolicyConnectionArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsIpsecPolicyConnectionDeletedArrayInput `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this VPN connection. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsIpsecPolicyConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPolicyConnection)(nil)).Elem() +} + +func (i GetIsIpsecPolicyConnectionArgs) ToGetIsIpsecPolicyConnectionOutput() GetIsIpsecPolicyConnectionOutput { + return i.ToGetIsIpsecPolicyConnectionOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPolicyConnectionArgs) ToGetIsIpsecPolicyConnectionOutputWithContext(ctx context.Context) GetIsIpsecPolicyConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPolicyConnectionOutput) +} + +// GetIsIpsecPolicyConnectionArrayInput is an input type that accepts GetIsIpsecPolicyConnectionArray and GetIsIpsecPolicyConnectionArrayOutput values. +// You can construct a concrete instance of `GetIsIpsecPolicyConnectionArrayInput` via: +// +// GetIsIpsecPolicyConnectionArray{ GetIsIpsecPolicyConnectionArgs{...} } +type GetIsIpsecPolicyConnectionArrayInput interface { + pulumi.Input + + ToGetIsIpsecPolicyConnectionArrayOutput() GetIsIpsecPolicyConnectionArrayOutput + ToGetIsIpsecPolicyConnectionArrayOutputWithContext(context.Context) GetIsIpsecPolicyConnectionArrayOutput +} + +type GetIsIpsecPolicyConnectionArray []GetIsIpsecPolicyConnectionInput + +func (GetIsIpsecPolicyConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPolicyConnection)(nil)).Elem() +} + +func (i GetIsIpsecPolicyConnectionArray) ToGetIsIpsecPolicyConnectionArrayOutput() GetIsIpsecPolicyConnectionArrayOutput { + return i.ToGetIsIpsecPolicyConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPolicyConnectionArray) ToGetIsIpsecPolicyConnectionArrayOutputWithContext(ctx context.Context) GetIsIpsecPolicyConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPolicyConnectionArrayOutput) +} + +type GetIsIpsecPolicyConnectionOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPolicyConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPolicyConnection)(nil)).Elem() +} + +func (o GetIsIpsecPolicyConnectionOutput) ToGetIsIpsecPolicyConnectionOutput() GetIsIpsecPolicyConnectionOutput { + return o +} + +func (o GetIsIpsecPolicyConnectionOutput) ToGetIsIpsecPolicyConnectionOutputWithContext(ctx context.Context) GetIsIpsecPolicyConnectionOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsIpsecPolicyConnectionOutput) Deleteds() GetIsIpsecPolicyConnectionDeletedArrayOutput { + return o.ApplyT(func(v GetIsIpsecPolicyConnection) []GetIsIpsecPolicyConnectionDeleted { return v.Deleteds }).(GetIsIpsecPolicyConnectionDeletedArrayOutput) +} + +// The VPN connection's canonical URL. +func (o GetIsIpsecPolicyConnectionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPolicyConnection) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway connection. +func (o GetIsIpsecPolicyConnectionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPolicyConnection) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN connection. +func (o GetIsIpsecPolicyConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPolicyConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsIpsecPolicyConnectionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPolicyConnection) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsIpsecPolicyConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPolicyConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPolicyConnection)(nil)).Elem() +} + +func (o GetIsIpsecPolicyConnectionArrayOutput) ToGetIsIpsecPolicyConnectionArrayOutput() GetIsIpsecPolicyConnectionArrayOutput { + return o +} + +func (o GetIsIpsecPolicyConnectionArrayOutput) ToGetIsIpsecPolicyConnectionArrayOutputWithContext(ctx context.Context) GetIsIpsecPolicyConnectionArrayOutput { + return o +} + +func (o GetIsIpsecPolicyConnectionArrayOutput) Index(i pulumi.IntInput) GetIsIpsecPolicyConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIpsecPolicyConnection { + return vs[0].([]GetIsIpsecPolicyConnection)[vs[1].(int)] + }).(GetIsIpsecPolicyConnectionOutput) +} + +type GetIsIpsecPolicyConnectionDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsIpsecPolicyConnectionDeletedInput is an input type that accepts GetIsIpsecPolicyConnectionDeletedArgs and GetIsIpsecPolicyConnectionDeletedOutput values. +// You can construct a concrete instance of `GetIsIpsecPolicyConnectionDeletedInput` via: +// +// GetIsIpsecPolicyConnectionDeletedArgs{...} +type GetIsIpsecPolicyConnectionDeletedInput interface { + pulumi.Input + + ToGetIsIpsecPolicyConnectionDeletedOutput() GetIsIpsecPolicyConnectionDeletedOutput + ToGetIsIpsecPolicyConnectionDeletedOutputWithContext(context.Context) GetIsIpsecPolicyConnectionDeletedOutput +} + +type GetIsIpsecPolicyConnectionDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsIpsecPolicyConnectionDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPolicyConnectionDeleted)(nil)).Elem() +} + +func (i GetIsIpsecPolicyConnectionDeletedArgs) ToGetIsIpsecPolicyConnectionDeletedOutput() GetIsIpsecPolicyConnectionDeletedOutput { + return i.ToGetIsIpsecPolicyConnectionDeletedOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPolicyConnectionDeletedArgs) ToGetIsIpsecPolicyConnectionDeletedOutputWithContext(ctx context.Context) GetIsIpsecPolicyConnectionDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPolicyConnectionDeletedOutput) +} + +// GetIsIpsecPolicyConnectionDeletedArrayInput is an input type that accepts GetIsIpsecPolicyConnectionDeletedArray and GetIsIpsecPolicyConnectionDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsIpsecPolicyConnectionDeletedArrayInput` via: +// +// GetIsIpsecPolicyConnectionDeletedArray{ GetIsIpsecPolicyConnectionDeletedArgs{...} } +type GetIsIpsecPolicyConnectionDeletedArrayInput interface { + pulumi.Input + + ToGetIsIpsecPolicyConnectionDeletedArrayOutput() GetIsIpsecPolicyConnectionDeletedArrayOutput + ToGetIsIpsecPolicyConnectionDeletedArrayOutputWithContext(context.Context) GetIsIpsecPolicyConnectionDeletedArrayOutput +} + +type GetIsIpsecPolicyConnectionDeletedArray []GetIsIpsecPolicyConnectionDeletedInput + +func (GetIsIpsecPolicyConnectionDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPolicyConnectionDeleted)(nil)).Elem() +} + +func (i GetIsIpsecPolicyConnectionDeletedArray) ToGetIsIpsecPolicyConnectionDeletedArrayOutput() GetIsIpsecPolicyConnectionDeletedArrayOutput { + return i.ToGetIsIpsecPolicyConnectionDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPolicyConnectionDeletedArray) ToGetIsIpsecPolicyConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsIpsecPolicyConnectionDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPolicyConnectionDeletedArrayOutput) +} + +type GetIsIpsecPolicyConnectionDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPolicyConnectionDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPolicyConnectionDeleted)(nil)).Elem() +} + +func (o GetIsIpsecPolicyConnectionDeletedOutput) ToGetIsIpsecPolicyConnectionDeletedOutput() GetIsIpsecPolicyConnectionDeletedOutput { + return o +} + +func (o GetIsIpsecPolicyConnectionDeletedOutput) ToGetIsIpsecPolicyConnectionDeletedOutputWithContext(ctx context.Context) GetIsIpsecPolicyConnectionDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsIpsecPolicyConnectionDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPolicyConnectionDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsIpsecPolicyConnectionDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPolicyConnectionDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPolicyConnectionDeleted)(nil)).Elem() +} + +func (o GetIsIpsecPolicyConnectionDeletedArrayOutput) ToGetIsIpsecPolicyConnectionDeletedArrayOutput() GetIsIpsecPolicyConnectionDeletedArrayOutput { + return o +} + +func (o GetIsIpsecPolicyConnectionDeletedArrayOutput) ToGetIsIpsecPolicyConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsIpsecPolicyConnectionDeletedArrayOutput { + return o +} + +func (o GetIsIpsecPolicyConnectionDeletedArrayOutput) Index(i pulumi.IntInput) GetIsIpsecPolicyConnectionDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIpsecPolicyConnectionDeleted { + return vs[0].([]GetIsIpsecPolicyConnectionDeleted)[vs[1].(int)] + }).(GetIsIpsecPolicyConnectionDeletedOutput) +} + +type GetIsIpsecPolicyResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsIpsecPolicyResourceGroupInput is an input type that accepts GetIsIpsecPolicyResourceGroupArgs and GetIsIpsecPolicyResourceGroupOutput values. +// You can construct a concrete instance of `GetIsIpsecPolicyResourceGroupInput` via: +// +// GetIsIpsecPolicyResourceGroupArgs{...} +type GetIsIpsecPolicyResourceGroupInput interface { + pulumi.Input + + ToGetIsIpsecPolicyResourceGroupOutput() GetIsIpsecPolicyResourceGroupOutput + ToGetIsIpsecPolicyResourceGroupOutputWithContext(context.Context) GetIsIpsecPolicyResourceGroupOutput +} + +type GetIsIpsecPolicyResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsIpsecPolicyResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsIpsecPolicyResourceGroupArgs) ToGetIsIpsecPolicyResourceGroupOutput() GetIsIpsecPolicyResourceGroupOutput { + return i.ToGetIsIpsecPolicyResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPolicyResourceGroupArgs) ToGetIsIpsecPolicyResourceGroupOutputWithContext(ctx context.Context) GetIsIpsecPolicyResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPolicyResourceGroupOutput) +} + +// GetIsIpsecPolicyResourceGroupArrayInput is an input type that accepts GetIsIpsecPolicyResourceGroupArray and GetIsIpsecPolicyResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsIpsecPolicyResourceGroupArrayInput` via: +// +// GetIsIpsecPolicyResourceGroupArray{ GetIsIpsecPolicyResourceGroupArgs{...} } +type GetIsIpsecPolicyResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsIpsecPolicyResourceGroupArrayOutput() GetIsIpsecPolicyResourceGroupArrayOutput + ToGetIsIpsecPolicyResourceGroupArrayOutputWithContext(context.Context) GetIsIpsecPolicyResourceGroupArrayOutput +} + +type GetIsIpsecPolicyResourceGroupArray []GetIsIpsecPolicyResourceGroupInput + +func (GetIsIpsecPolicyResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPolicyResourceGroup)(nil)).Elem() +} + +func (i GetIsIpsecPolicyResourceGroupArray) ToGetIsIpsecPolicyResourceGroupArrayOutput() GetIsIpsecPolicyResourceGroupArrayOutput { + return i.ToGetIsIpsecPolicyResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsIpsecPolicyResourceGroupArray) ToGetIsIpsecPolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsIpsecPolicyResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsIpsecPolicyResourceGroupArrayOutput) +} + +type GetIsIpsecPolicyResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPolicyResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsIpsecPolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsIpsecPolicyResourceGroupOutput) ToGetIsIpsecPolicyResourceGroupOutput() GetIsIpsecPolicyResourceGroupOutput { + return o +} + +func (o GetIsIpsecPolicyResourceGroupOutput) ToGetIsIpsecPolicyResourceGroupOutputWithContext(ctx context.Context) GetIsIpsecPolicyResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsIpsecPolicyResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPolicyResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsIpsecPolicyResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPolicyResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsIpsecPolicyResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsIpsecPolicyResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsIpsecPolicyResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsIpsecPolicyResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsIpsecPolicyResourceGroup)(nil)).Elem() +} + +func (o GetIsIpsecPolicyResourceGroupArrayOutput) ToGetIsIpsecPolicyResourceGroupArrayOutput() GetIsIpsecPolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsIpsecPolicyResourceGroupArrayOutput) ToGetIsIpsecPolicyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsIpsecPolicyResourceGroupArrayOutput { + return o +} + +func (o GetIsIpsecPolicyResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsIpsecPolicyResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsIpsecPolicyResourceGroup { + return vs[0].([]GetIsIpsecPolicyResourceGroup)[vs[1].(int)] + }).(GetIsIpsecPolicyResourceGroupOutput) +} + +type GetIsLbAttachedLoadBalancerPoolMember struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbAttachedLoadBalancerPoolMemberDeleted `pulumi:"deleteds"` + // The URL for this load balancer pool member. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id string `pulumi:"id"` +} + +// GetIsLbAttachedLoadBalancerPoolMemberInput is an input type that accepts GetIsLbAttachedLoadBalancerPoolMemberArgs and GetIsLbAttachedLoadBalancerPoolMemberOutput values. +// You can construct a concrete instance of `GetIsLbAttachedLoadBalancerPoolMemberInput` via: +// +// GetIsLbAttachedLoadBalancerPoolMemberArgs{...} +type GetIsLbAttachedLoadBalancerPoolMemberInput interface { + pulumi.Input + + ToGetIsLbAttachedLoadBalancerPoolMemberOutput() GetIsLbAttachedLoadBalancerPoolMemberOutput + ToGetIsLbAttachedLoadBalancerPoolMemberOutputWithContext(context.Context) GetIsLbAttachedLoadBalancerPoolMemberOutput +} + +type GetIsLbAttachedLoadBalancerPoolMemberArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayInput `pulumi:"deleteds"` + // The URL for this load balancer pool member. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbAttachedLoadBalancerPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (i GetIsLbAttachedLoadBalancerPoolMemberArgs) ToGetIsLbAttachedLoadBalancerPoolMemberOutput() GetIsLbAttachedLoadBalancerPoolMemberOutput { + return i.ToGetIsLbAttachedLoadBalancerPoolMemberOutputWithContext(context.Background()) +} + +func (i GetIsLbAttachedLoadBalancerPoolMemberArgs) ToGetIsLbAttachedLoadBalancerPoolMemberOutputWithContext(ctx context.Context) GetIsLbAttachedLoadBalancerPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbAttachedLoadBalancerPoolMemberOutput) +} + +// GetIsLbAttachedLoadBalancerPoolMemberArrayInput is an input type that accepts GetIsLbAttachedLoadBalancerPoolMemberArray and GetIsLbAttachedLoadBalancerPoolMemberArrayOutput values. +// You can construct a concrete instance of `GetIsLbAttachedLoadBalancerPoolMemberArrayInput` via: +// +// GetIsLbAttachedLoadBalancerPoolMemberArray{ GetIsLbAttachedLoadBalancerPoolMemberArgs{...} } +type GetIsLbAttachedLoadBalancerPoolMemberArrayInput interface { + pulumi.Input + + ToGetIsLbAttachedLoadBalancerPoolMemberArrayOutput() GetIsLbAttachedLoadBalancerPoolMemberArrayOutput + ToGetIsLbAttachedLoadBalancerPoolMemberArrayOutputWithContext(context.Context) GetIsLbAttachedLoadBalancerPoolMemberArrayOutput +} + +type GetIsLbAttachedLoadBalancerPoolMemberArray []GetIsLbAttachedLoadBalancerPoolMemberInput + +func (GetIsLbAttachedLoadBalancerPoolMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (i GetIsLbAttachedLoadBalancerPoolMemberArray) ToGetIsLbAttachedLoadBalancerPoolMemberArrayOutput() GetIsLbAttachedLoadBalancerPoolMemberArrayOutput { + return i.ToGetIsLbAttachedLoadBalancerPoolMemberArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbAttachedLoadBalancerPoolMemberArray) ToGetIsLbAttachedLoadBalancerPoolMemberArrayOutputWithContext(ctx context.Context) GetIsLbAttachedLoadBalancerPoolMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbAttachedLoadBalancerPoolMemberArrayOutput) +} + +type GetIsLbAttachedLoadBalancerPoolMemberOutput struct{ *pulumi.OutputState } + +func (GetIsLbAttachedLoadBalancerPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberOutput) ToGetIsLbAttachedLoadBalancerPoolMemberOutput() GetIsLbAttachedLoadBalancerPoolMemberOutput { + return o +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberOutput) ToGetIsLbAttachedLoadBalancerPoolMemberOutputWithContext(ctx context.Context) GetIsLbAttachedLoadBalancerPoolMemberOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbAttachedLoadBalancerPoolMemberOutput) Deleteds() GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbAttachedLoadBalancerPoolMember) []GetIsLbAttachedLoadBalancerPoolMemberDeleted { + return v.Deleteds + }).(GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) +} + +// The URL for this load balancer pool member. +func (o GetIsLbAttachedLoadBalancerPoolMemberOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbAttachedLoadBalancerPoolMember) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool member. +func (o GetIsLbAttachedLoadBalancerPoolMemberOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbAttachedLoadBalancerPoolMember) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbAttachedLoadBalancerPoolMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbAttachedLoadBalancerPoolMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberArrayOutput) ToGetIsLbAttachedLoadBalancerPoolMemberArrayOutput() GetIsLbAttachedLoadBalancerPoolMemberArrayOutput { + return o +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberArrayOutput) ToGetIsLbAttachedLoadBalancerPoolMemberArrayOutputWithContext(ctx context.Context) GetIsLbAttachedLoadBalancerPoolMemberArrayOutput { + return o +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberArrayOutput) Index(i pulumi.IntInput) GetIsLbAttachedLoadBalancerPoolMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbAttachedLoadBalancerPoolMember { + return vs[0].([]GetIsLbAttachedLoadBalancerPoolMember)[vs[1].(int)] + }).(GetIsLbAttachedLoadBalancerPoolMemberOutput) +} + +type GetIsLbAttachedLoadBalancerPoolMemberDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbAttachedLoadBalancerPoolMemberDeletedInput is an input type that accepts GetIsLbAttachedLoadBalancerPoolMemberDeletedArgs and GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput values. +// You can construct a concrete instance of `GetIsLbAttachedLoadBalancerPoolMemberDeletedInput` via: +// +// GetIsLbAttachedLoadBalancerPoolMemberDeletedArgs{...} +type GetIsLbAttachedLoadBalancerPoolMemberDeletedInput interface { + pulumi.Input + + ToGetIsLbAttachedLoadBalancerPoolMemberDeletedOutput() GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput + ToGetIsLbAttachedLoadBalancerPoolMemberDeletedOutputWithContext(context.Context) GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput +} + +type GetIsLbAttachedLoadBalancerPoolMemberDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbAttachedLoadBalancerPoolMemberDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (i GetIsLbAttachedLoadBalancerPoolMemberDeletedArgs) ToGetIsLbAttachedLoadBalancerPoolMemberDeletedOutput() GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return i.ToGetIsLbAttachedLoadBalancerPoolMemberDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbAttachedLoadBalancerPoolMemberDeletedArgs) ToGetIsLbAttachedLoadBalancerPoolMemberDeletedOutputWithContext(ctx context.Context) GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput) +} + +// GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayInput is an input type that accepts GetIsLbAttachedLoadBalancerPoolMemberDeletedArray and GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayInput` via: +// +// GetIsLbAttachedLoadBalancerPoolMemberDeletedArray{ GetIsLbAttachedLoadBalancerPoolMemberDeletedArgs{...} } +type GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput() GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput + ToGetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(context.Context) GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput +} + +type GetIsLbAttachedLoadBalancerPoolMemberDeletedArray []GetIsLbAttachedLoadBalancerPoolMemberDeletedInput + +func (GetIsLbAttachedLoadBalancerPoolMemberDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (i GetIsLbAttachedLoadBalancerPoolMemberDeletedArray) ToGetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput() GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return i.ToGetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbAttachedLoadBalancerPoolMemberDeletedArray) ToGetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(ctx context.Context) GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) +} + +type GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput) ToGetIsLbAttachedLoadBalancerPoolMemberDeletedOutput() GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return o +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput) ToGetIsLbAttachedLoadBalancerPoolMemberDeletedOutputWithContext(ctx context.Context) GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbAttachedLoadBalancerPoolMemberDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) ToGetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput() GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) ToGetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(ctx context.Context) GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o +} + +func (o GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbAttachedLoadBalancerPoolMemberDeleted { + return vs[0].([]GetIsLbAttachedLoadBalancerPoolMemberDeleted)[vs[1].(int)] + }).(GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput) +} + +type GetIsLbDn struct { + // The CRN for this DNS instance + InstanceCrn string `pulumi:"instanceCrn"` + // The unique identifier of the DNS zone. + ZoneId string `pulumi:"zoneId"` +} + +// GetIsLbDnInput is an input type that accepts GetIsLbDnArgs and GetIsLbDnOutput values. +// You can construct a concrete instance of `GetIsLbDnInput` via: +// +// GetIsLbDnArgs{...} +type GetIsLbDnInput interface { + pulumi.Input + + ToGetIsLbDnOutput() GetIsLbDnOutput + ToGetIsLbDnOutputWithContext(context.Context) GetIsLbDnOutput +} + +type GetIsLbDnArgs struct { + // The CRN for this DNS instance + InstanceCrn pulumi.StringInput `pulumi:"instanceCrn"` + // The unique identifier of the DNS zone. + ZoneId pulumi.StringInput `pulumi:"zoneId"` +} + +func (GetIsLbDnArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbDn)(nil)).Elem() +} + +func (i GetIsLbDnArgs) ToGetIsLbDnOutput() GetIsLbDnOutput { + return i.ToGetIsLbDnOutputWithContext(context.Background()) +} + +func (i GetIsLbDnArgs) ToGetIsLbDnOutputWithContext(ctx context.Context) GetIsLbDnOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbDnOutput) +} + +// GetIsLbDnArrayInput is an input type that accepts GetIsLbDnArray and GetIsLbDnArrayOutput values. +// You can construct a concrete instance of `GetIsLbDnArrayInput` via: +// +// GetIsLbDnArray{ GetIsLbDnArgs{...} } +type GetIsLbDnArrayInput interface { + pulumi.Input + + ToGetIsLbDnArrayOutput() GetIsLbDnArrayOutput + ToGetIsLbDnArrayOutputWithContext(context.Context) GetIsLbDnArrayOutput +} + +type GetIsLbDnArray []GetIsLbDnInput + +func (GetIsLbDnArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbDn)(nil)).Elem() +} + +func (i GetIsLbDnArray) ToGetIsLbDnArrayOutput() GetIsLbDnArrayOutput { + return i.ToGetIsLbDnArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbDnArray) ToGetIsLbDnArrayOutputWithContext(ctx context.Context) GetIsLbDnArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbDnArrayOutput) +} + +type GetIsLbDnOutput struct{ *pulumi.OutputState } + +func (GetIsLbDnOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbDn)(nil)).Elem() +} + +func (o GetIsLbDnOutput) ToGetIsLbDnOutput() GetIsLbDnOutput { + return o +} + +func (o GetIsLbDnOutput) ToGetIsLbDnOutputWithContext(ctx context.Context) GetIsLbDnOutput { + return o +} + +// The CRN for this DNS instance +func (o GetIsLbDnOutput) InstanceCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbDn) string { return v.InstanceCrn }).(pulumi.StringOutput) +} + +// The unique identifier of the DNS zone. +func (o GetIsLbDnOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbDn) string { return v.ZoneId }).(pulumi.StringOutput) +} + +type GetIsLbDnArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbDnArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbDn)(nil)).Elem() +} + +func (o GetIsLbDnArrayOutput) ToGetIsLbDnArrayOutput() GetIsLbDnArrayOutput { + return o +} + +func (o GetIsLbDnArrayOutput) ToGetIsLbDnArrayOutputWithContext(ctx context.Context) GetIsLbDnArrayOutput { + return o +} + +func (o GetIsLbDnArrayOutput) Index(i pulumi.IntInput) GetIsLbDnOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbDn { + return vs[0].([]GetIsLbDn)[vs[1].(int)] + }).(GetIsLbDnOutput) +} + +type GetIsLbListenerCertificateInstance struct { + // The CRN for this certificate instance. + Crn string `pulumi:"crn"` +} + +// GetIsLbListenerCertificateInstanceInput is an input type that accepts GetIsLbListenerCertificateInstanceArgs and GetIsLbListenerCertificateInstanceOutput values. +// You can construct a concrete instance of `GetIsLbListenerCertificateInstanceInput` via: +// +// GetIsLbListenerCertificateInstanceArgs{...} +type GetIsLbListenerCertificateInstanceInput interface { + pulumi.Input + + ToGetIsLbListenerCertificateInstanceOutput() GetIsLbListenerCertificateInstanceOutput + ToGetIsLbListenerCertificateInstanceOutputWithContext(context.Context) GetIsLbListenerCertificateInstanceOutput +} + +type GetIsLbListenerCertificateInstanceArgs struct { + // The CRN for this certificate instance. + Crn pulumi.StringInput `pulumi:"crn"` +} + +func (GetIsLbListenerCertificateInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerCertificateInstance)(nil)).Elem() +} + +func (i GetIsLbListenerCertificateInstanceArgs) ToGetIsLbListenerCertificateInstanceOutput() GetIsLbListenerCertificateInstanceOutput { + return i.ToGetIsLbListenerCertificateInstanceOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerCertificateInstanceArgs) ToGetIsLbListenerCertificateInstanceOutputWithContext(ctx context.Context) GetIsLbListenerCertificateInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerCertificateInstanceOutput) +} + +// GetIsLbListenerCertificateInstanceArrayInput is an input type that accepts GetIsLbListenerCertificateInstanceArray and GetIsLbListenerCertificateInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerCertificateInstanceArrayInput` via: +// +// GetIsLbListenerCertificateInstanceArray{ GetIsLbListenerCertificateInstanceArgs{...} } +type GetIsLbListenerCertificateInstanceArrayInput interface { + pulumi.Input + + ToGetIsLbListenerCertificateInstanceArrayOutput() GetIsLbListenerCertificateInstanceArrayOutput + ToGetIsLbListenerCertificateInstanceArrayOutputWithContext(context.Context) GetIsLbListenerCertificateInstanceArrayOutput +} + +type GetIsLbListenerCertificateInstanceArray []GetIsLbListenerCertificateInstanceInput + +func (GetIsLbListenerCertificateInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerCertificateInstance)(nil)).Elem() +} + +func (i GetIsLbListenerCertificateInstanceArray) ToGetIsLbListenerCertificateInstanceArrayOutput() GetIsLbListenerCertificateInstanceArrayOutput { + return i.ToGetIsLbListenerCertificateInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerCertificateInstanceArray) ToGetIsLbListenerCertificateInstanceArrayOutputWithContext(ctx context.Context) GetIsLbListenerCertificateInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerCertificateInstanceArrayOutput) +} + +type GetIsLbListenerCertificateInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerCertificateInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerCertificateInstance)(nil)).Elem() +} + +func (o GetIsLbListenerCertificateInstanceOutput) ToGetIsLbListenerCertificateInstanceOutput() GetIsLbListenerCertificateInstanceOutput { + return o +} + +func (o GetIsLbListenerCertificateInstanceOutput) ToGetIsLbListenerCertificateInstanceOutputWithContext(ctx context.Context) GetIsLbListenerCertificateInstanceOutput { + return o +} + +// The CRN for this certificate instance. +func (o GetIsLbListenerCertificateInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerCertificateInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +type GetIsLbListenerCertificateInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerCertificateInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerCertificateInstance)(nil)).Elem() +} + +func (o GetIsLbListenerCertificateInstanceArrayOutput) ToGetIsLbListenerCertificateInstanceArrayOutput() GetIsLbListenerCertificateInstanceArrayOutput { + return o +} + +func (o GetIsLbListenerCertificateInstanceArrayOutput) ToGetIsLbListenerCertificateInstanceArrayOutputWithContext(ctx context.Context) GetIsLbListenerCertificateInstanceArrayOutput { + return o +} + +func (o GetIsLbListenerCertificateInstanceArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerCertificateInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerCertificateInstance { + return vs[0].([]GetIsLbListenerCertificateInstance)[vs[1].(int)] + }).(GetIsLbListenerCertificateInstanceOutput) +} + +type GetIsLbListenerDefaultPool struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerDefaultPoolDeleted `pulumi:"deleteds"` + // The pool's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id string `pulumi:"id"` + // The user-defined name for this load balancer pool. + Name string `pulumi:"name"` +} + +// GetIsLbListenerDefaultPoolInput is an input type that accepts GetIsLbListenerDefaultPoolArgs and GetIsLbListenerDefaultPoolOutput values. +// You can construct a concrete instance of `GetIsLbListenerDefaultPoolInput` via: +// +// GetIsLbListenerDefaultPoolArgs{...} +type GetIsLbListenerDefaultPoolInput interface { + pulumi.Input + + ToGetIsLbListenerDefaultPoolOutput() GetIsLbListenerDefaultPoolOutput + ToGetIsLbListenerDefaultPoolOutputWithContext(context.Context) GetIsLbListenerDefaultPoolOutput +} + +type GetIsLbListenerDefaultPoolArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerDefaultPoolDeletedArrayInput `pulumi:"deleteds"` + // The pool's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this load balancer pool. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbListenerDefaultPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerDefaultPool)(nil)).Elem() +} + +func (i GetIsLbListenerDefaultPoolArgs) ToGetIsLbListenerDefaultPoolOutput() GetIsLbListenerDefaultPoolOutput { + return i.ToGetIsLbListenerDefaultPoolOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerDefaultPoolArgs) ToGetIsLbListenerDefaultPoolOutputWithContext(ctx context.Context) GetIsLbListenerDefaultPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerDefaultPoolOutput) +} + +// GetIsLbListenerDefaultPoolArrayInput is an input type that accepts GetIsLbListenerDefaultPoolArray and GetIsLbListenerDefaultPoolArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerDefaultPoolArrayInput` via: +// +// GetIsLbListenerDefaultPoolArray{ GetIsLbListenerDefaultPoolArgs{...} } +type GetIsLbListenerDefaultPoolArrayInput interface { + pulumi.Input + + ToGetIsLbListenerDefaultPoolArrayOutput() GetIsLbListenerDefaultPoolArrayOutput + ToGetIsLbListenerDefaultPoolArrayOutputWithContext(context.Context) GetIsLbListenerDefaultPoolArrayOutput +} + +type GetIsLbListenerDefaultPoolArray []GetIsLbListenerDefaultPoolInput + +func (GetIsLbListenerDefaultPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerDefaultPool)(nil)).Elem() +} + +func (i GetIsLbListenerDefaultPoolArray) ToGetIsLbListenerDefaultPoolArrayOutput() GetIsLbListenerDefaultPoolArrayOutput { + return i.ToGetIsLbListenerDefaultPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerDefaultPoolArray) ToGetIsLbListenerDefaultPoolArrayOutputWithContext(ctx context.Context) GetIsLbListenerDefaultPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerDefaultPoolArrayOutput) +} + +type GetIsLbListenerDefaultPoolOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerDefaultPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerDefaultPool)(nil)).Elem() +} + +func (o GetIsLbListenerDefaultPoolOutput) ToGetIsLbListenerDefaultPoolOutput() GetIsLbListenerDefaultPoolOutput { + return o +} + +func (o GetIsLbListenerDefaultPoolOutput) ToGetIsLbListenerDefaultPoolOutputWithContext(ctx context.Context) GetIsLbListenerDefaultPoolOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerDefaultPoolOutput) Deleteds() GetIsLbListenerDefaultPoolDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerDefaultPool) []GetIsLbListenerDefaultPoolDeleted { return v.Deleteds }).(GetIsLbListenerDefaultPoolDeletedArrayOutput) +} + +// The pool's canonical URL. +func (o GetIsLbListenerDefaultPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerDefaultPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool. +func (o GetIsLbListenerDefaultPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerDefaultPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this load balancer pool. +func (o GetIsLbListenerDefaultPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerDefaultPool) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbListenerDefaultPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerDefaultPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerDefaultPool)(nil)).Elem() +} + +func (o GetIsLbListenerDefaultPoolArrayOutput) ToGetIsLbListenerDefaultPoolArrayOutput() GetIsLbListenerDefaultPoolArrayOutput { + return o +} + +func (o GetIsLbListenerDefaultPoolArrayOutput) ToGetIsLbListenerDefaultPoolArrayOutputWithContext(ctx context.Context) GetIsLbListenerDefaultPoolArrayOutput { + return o +} + +func (o GetIsLbListenerDefaultPoolArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerDefaultPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerDefaultPool { + return vs[0].([]GetIsLbListenerDefaultPool)[vs[1].(int)] + }).(GetIsLbListenerDefaultPoolOutput) +} + +type GetIsLbListenerDefaultPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerDefaultPoolDeletedInput is an input type that accepts GetIsLbListenerDefaultPoolDeletedArgs and GetIsLbListenerDefaultPoolDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerDefaultPoolDeletedInput` via: +// +// GetIsLbListenerDefaultPoolDeletedArgs{...} +type GetIsLbListenerDefaultPoolDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerDefaultPoolDeletedOutput() GetIsLbListenerDefaultPoolDeletedOutput + ToGetIsLbListenerDefaultPoolDeletedOutputWithContext(context.Context) GetIsLbListenerDefaultPoolDeletedOutput +} + +type GetIsLbListenerDefaultPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerDefaultPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerDefaultPoolDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerDefaultPoolDeletedArgs) ToGetIsLbListenerDefaultPoolDeletedOutput() GetIsLbListenerDefaultPoolDeletedOutput { + return i.ToGetIsLbListenerDefaultPoolDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerDefaultPoolDeletedArgs) ToGetIsLbListenerDefaultPoolDeletedOutputWithContext(ctx context.Context) GetIsLbListenerDefaultPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerDefaultPoolDeletedOutput) +} + +// GetIsLbListenerDefaultPoolDeletedArrayInput is an input type that accepts GetIsLbListenerDefaultPoolDeletedArray and GetIsLbListenerDefaultPoolDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerDefaultPoolDeletedArrayInput` via: +// +// GetIsLbListenerDefaultPoolDeletedArray{ GetIsLbListenerDefaultPoolDeletedArgs{...} } +type GetIsLbListenerDefaultPoolDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerDefaultPoolDeletedArrayOutput() GetIsLbListenerDefaultPoolDeletedArrayOutput + ToGetIsLbListenerDefaultPoolDeletedArrayOutputWithContext(context.Context) GetIsLbListenerDefaultPoolDeletedArrayOutput +} + +type GetIsLbListenerDefaultPoolDeletedArray []GetIsLbListenerDefaultPoolDeletedInput + +func (GetIsLbListenerDefaultPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerDefaultPoolDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerDefaultPoolDeletedArray) ToGetIsLbListenerDefaultPoolDeletedArrayOutput() GetIsLbListenerDefaultPoolDeletedArrayOutput { + return i.ToGetIsLbListenerDefaultPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerDefaultPoolDeletedArray) ToGetIsLbListenerDefaultPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerDefaultPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerDefaultPoolDeletedArrayOutput) +} + +type GetIsLbListenerDefaultPoolDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerDefaultPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerDefaultPoolDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerDefaultPoolDeletedOutput) ToGetIsLbListenerDefaultPoolDeletedOutput() GetIsLbListenerDefaultPoolDeletedOutput { + return o +} + +func (o GetIsLbListenerDefaultPoolDeletedOutput) ToGetIsLbListenerDefaultPoolDeletedOutputWithContext(ctx context.Context) GetIsLbListenerDefaultPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerDefaultPoolDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerDefaultPoolDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerDefaultPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerDefaultPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerDefaultPoolDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerDefaultPoolDeletedArrayOutput) ToGetIsLbListenerDefaultPoolDeletedArrayOutput() GetIsLbListenerDefaultPoolDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerDefaultPoolDeletedArrayOutput) ToGetIsLbListenerDefaultPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerDefaultPoolDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerDefaultPoolDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerDefaultPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerDefaultPoolDeleted { + return vs[0].([]GetIsLbListenerDefaultPoolDeleted)[vs[1].(int)] + }).(GetIsLbListenerDefaultPoolDeletedOutput) +} + +type GetIsLbListenerHttpsRedirect struct { + // The HTTP status code for this redirect. + HttpStatusCode int `pulumi:"httpStatusCode"` + Listeners []GetIsLbListenerHttpsRedirectListener `pulumi:"listeners"` + // The redirect relative target URI. + Uri string `pulumi:"uri"` +} + +// GetIsLbListenerHttpsRedirectInput is an input type that accepts GetIsLbListenerHttpsRedirectArgs and GetIsLbListenerHttpsRedirectOutput values. +// You can construct a concrete instance of `GetIsLbListenerHttpsRedirectInput` via: +// +// GetIsLbListenerHttpsRedirectArgs{...} +type GetIsLbListenerHttpsRedirectInput interface { + pulumi.Input + + ToGetIsLbListenerHttpsRedirectOutput() GetIsLbListenerHttpsRedirectOutput + ToGetIsLbListenerHttpsRedirectOutputWithContext(context.Context) GetIsLbListenerHttpsRedirectOutput +} + +type GetIsLbListenerHttpsRedirectArgs struct { + // The HTTP status code for this redirect. + HttpStatusCode pulumi.IntInput `pulumi:"httpStatusCode"` + Listeners GetIsLbListenerHttpsRedirectListenerArrayInput `pulumi:"listeners"` + // The redirect relative target URI. + Uri pulumi.StringInput `pulumi:"uri"` +} + +func (GetIsLbListenerHttpsRedirectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerHttpsRedirect)(nil)).Elem() +} + +func (i GetIsLbListenerHttpsRedirectArgs) ToGetIsLbListenerHttpsRedirectOutput() GetIsLbListenerHttpsRedirectOutput { + return i.ToGetIsLbListenerHttpsRedirectOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerHttpsRedirectArgs) ToGetIsLbListenerHttpsRedirectOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerHttpsRedirectOutput) +} + +// GetIsLbListenerHttpsRedirectArrayInput is an input type that accepts GetIsLbListenerHttpsRedirectArray and GetIsLbListenerHttpsRedirectArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerHttpsRedirectArrayInput` via: +// +// GetIsLbListenerHttpsRedirectArray{ GetIsLbListenerHttpsRedirectArgs{...} } +type GetIsLbListenerHttpsRedirectArrayInput interface { + pulumi.Input + + ToGetIsLbListenerHttpsRedirectArrayOutput() GetIsLbListenerHttpsRedirectArrayOutput + ToGetIsLbListenerHttpsRedirectArrayOutputWithContext(context.Context) GetIsLbListenerHttpsRedirectArrayOutput +} + +type GetIsLbListenerHttpsRedirectArray []GetIsLbListenerHttpsRedirectInput + +func (GetIsLbListenerHttpsRedirectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerHttpsRedirect)(nil)).Elem() +} + +func (i GetIsLbListenerHttpsRedirectArray) ToGetIsLbListenerHttpsRedirectArrayOutput() GetIsLbListenerHttpsRedirectArrayOutput { + return i.ToGetIsLbListenerHttpsRedirectArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerHttpsRedirectArray) ToGetIsLbListenerHttpsRedirectArrayOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerHttpsRedirectArrayOutput) +} + +type GetIsLbListenerHttpsRedirectOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerHttpsRedirectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerHttpsRedirect)(nil)).Elem() +} + +func (o GetIsLbListenerHttpsRedirectOutput) ToGetIsLbListenerHttpsRedirectOutput() GetIsLbListenerHttpsRedirectOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectOutput) ToGetIsLbListenerHttpsRedirectOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectOutput { + return o +} + +// The HTTP status code for this redirect. +func (o GetIsLbListenerHttpsRedirectOutput) HttpStatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenerHttpsRedirect) int { return v.HttpStatusCode }).(pulumi.IntOutput) +} + +func (o GetIsLbListenerHttpsRedirectOutput) Listeners() GetIsLbListenerHttpsRedirectListenerArrayOutput { + return o.ApplyT(func(v GetIsLbListenerHttpsRedirect) []GetIsLbListenerHttpsRedirectListener { return v.Listeners }).(GetIsLbListenerHttpsRedirectListenerArrayOutput) +} + +// The redirect relative target URI. +func (o GetIsLbListenerHttpsRedirectOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerHttpsRedirect) string { return v.Uri }).(pulumi.StringOutput) +} + +type GetIsLbListenerHttpsRedirectArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerHttpsRedirectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerHttpsRedirect)(nil)).Elem() +} + +func (o GetIsLbListenerHttpsRedirectArrayOutput) ToGetIsLbListenerHttpsRedirectArrayOutput() GetIsLbListenerHttpsRedirectArrayOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectArrayOutput) ToGetIsLbListenerHttpsRedirectArrayOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectArrayOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerHttpsRedirectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerHttpsRedirect { + return vs[0].([]GetIsLbListenerHttpsRedirect)[vs[1].(int)] + }).(GetIsLbListenerHttpsRedirectOutput) +} + +type GetIsLbListenerHttpsRedirectListener struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerHttpsRedirectListenerDeleted `pulumi:"deleteds"` + // The listener's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id string `pulumi:"id"` +} + +// GetIsLbListenerHttpsRedirectListenerInput is an input type that accepts GetIsLbListenerHttpsRedirectListenerArgs and GetIsLbListenerHttpsRedirectListenerOutput values. +// You can construct a concrete instance of `GetIsLbListenerHttpsRedirectListenerInput` via: +// +// GetIsLbListenerHttpsRedirectListenerArgs{...} +type GetIsLbListenerHttpsRedirectListenerInput interface { + pulumi.Input + + ToGetIsLbListenerHttpsRedirectListenerOutput() GetIsLbListenerHttpsRedirectListenerOutput + ToGetIsLbListenerHttpsRedirectListenerOutputWithContext(context.Context) GetIsLbListenerHttpsRedirectListenerOutput +} + +type GetIsLbListenerHttpsRedirectListenerArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerHttpsRedirectListenerDeletedArrayInput `pulumi:"deleteds"` + // The listener's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbListenerHttpsRedirectListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerHttpsRedirectListener)(nil)).Elem() +} + +func (i GetIsLbListenerHttpsRedirectListenerArgs) ToGetIsLbListenerHttpsRedirectListenerOutput() GetIsLbListenerHttpsRedirectListenerOutput { + return i.ToGetIsLbListenerHttpsRedirectListenerOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerHttpsRedirectListenerArgs) ToGetIsLbListenerHttpsRedirectListenerOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerHttpsRedirectListenerOutput) +} + +// GetIsLbListenerHttpsRedirectListenerArrayInput is an input type that accepts GetIsLbListenerHttpsRedirectListenerArray and GetIsLbListenerHttpsRedirectListenerArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerHttpsRedirectListenerArrayInput` via: +// +// GetIsLbListenerHttpsRedirectListenerArray{ GetIsLbListenerHttpsRedirectListenerArgs{...} } +type GetIsLbListenerHttpsRedirectListenerArrayInput interface { + pulumi.Input + + ToGetIsLbListenerHttpsRedirectListenerArrayOutput() GetIsLbListenerHttpsRedirectListenerArrayOutput + ToGetIsLbListenerHttpsRedirectListenerArrayOutputWithContext(context.Context) GetIsLbListenerHttpsRedirectListenerArrayOutput +} + +type GetIsLbListenerHttpsRedirectListenerArray []GetIsLbListenerHttpsRedirectListenerInput + +func (GetIsLbListenerHttpsRedirectListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerHttpsRedirectListener)(nil)).Elem() +} + +func (i GetIsLbListenerHttpsRedirectListenerArray) ToGetIsLbListenerHttpsRedirectListenerArrayOutput() GetIsLbListenerHttpsRedirectListenerArrayOutput { + return i.ToGetIsLbListenerHttpsRedirectListenerArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerHttpsRedirectListenerArray) ToGetIsLbListenerHttpsRedirectListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerHttpsRedirectListenerArrayOutput) +} + +type GetIsLbListenerHttpsRedirectListenerOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerHttpsRedirectListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerHttpsRedirectListener)(nil)).Elem() +} + +func (o GetIsLbListenerHttpsRedirectListenerOutput) ToGetIsLbListenerHttpsRedirectListenerOutput() GetIsLbListenerHttpsRedirectListenerOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectListenerOutput) ToGetIsLbListenerHttpsRedirectListenerOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectListenerOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerHttpsRedirectListenerOutput) Deleteds() GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerHttpsRedirectListener) []GetIsLbListenerHttpsRedirectListenerDeleted { + return v.Deleteds + }).(GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput) +} + +// The listener's canonical URL. +func (o GetIsLbListenerHttpsRedirectListenerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerHttpsRedirectListener) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer listener. +func (o GetIsLbListenerHttpsRedirectListenerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerHttpsRedirectListener) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbListenerHttpsRedirectListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerHttpsRedirectListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerHttpsRedirectListener)(nil)).Elem() +} + +func (o GetIsLbListenerHttpsRedirectListenerArrayOutput) ToGetIsLbListenerHttpsRedirectListenerArrayOutput() GetIsLbListenerHttpsRedirectListenerArrayOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectListenerArrayOutput) ToGetIsLbListenerHttpsRedirectListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectListenerArrayOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectListenerArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerHttpsRedirectListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerHttpsRedirectListener { + return vs[0].([]GetIsLbListenerHttpsRedirectListener)[vs[1].(int)] + }).(GetIsLbListenerHttpsRedirectListenerOutput) +} + +type GetIsLbListenerHttpsRedirectListenerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerHttpsRedirectListenerDeletedInput is an input type that accepts GetIsLbListenerHttpsRedirectListenerDeletedArgs and GetIsLbListenerHttpsRedirectListenerDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerHttpsRedirectListenerDeletedInput` via: +// +// GetIsLbListenerHttpsRedirectListenerDeletedArgs{...} +type GetIsLbListenerHttpsRedirectListenerDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerHttpsRedirectListenerDeletedOutput() GetIsLbListenerHttpsRedirectListenerDeletedOutput + ToGetIsLbListenerHttpsRedirectListenerDeletedOutputWithContext(context.Context) GetIsLbListenerHttpsRedirectListenerDeletedOutput +} + +type GetIsLbListenerHttpsRedirectListenerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerHttpsRedirectListenerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerHttpsRedirectListenerDeletedArgs) ToGetIsLbListenerHttpsRedirectListenerDeletedOutput() GetIsLbListenerHttpsRedirectListenerDeletedOutput { + return i.ToGetIsLbListenerHttpsRedirectListenerDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerHttpsRedirectListenerDeletedArgs) ToGetIsLbListenerHttpsRedirectListenerDeletedOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectListenerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerHttpsRedirectListenerDeletedOutput) +} + +// GetIsLbListenerHttpsRedirectListenerDeletedArrayInput is an input type that accepts GetIsLbListenerHttpsRedirectListenerDeletedArray and GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerHttpsRedirectListenerDeletedArrayInput` via: +// +// GetIsLbListenerHttpsRedirectListenerDeletedArray{ GetIsLbListenerHttpsRedirectListenerDeletedArgs{...} } +type GetIsLbListenerHttpsRedirectListenerDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerHttpsRedirectListenerDeletedArrayOutput() GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput + ToGetIsLbListenerHttpsRedirectListenerDeletedArrayOutputWithContext(context.Context) GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput +} + +type GetIsLbListenerHttpsRedirectListenerDeletedArray []GetIsLbListenerHttpsRedirectListenerDeletedInput + +func (GetIsLbListenerHttpsRedirectListenerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerHttpsRedirectListenerDeletedArray) ToGetIsLbListenerHttpsRedirectListenerDeletedArrayOutput() GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return i.ToGetIsLbListenerHttpsRedirectListenerDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerHttpsRedirectListenerDeletedArray) ToGetIsLbListenerHttpsRedirectListenerDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput) +} + +type GetIsLbListenerHttpsRedirectListenerDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerHttpsRedirectListenerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerHttpsRedirectListenerDeletedOutput) ToGetIsLbListenerHttpsRedirectListenerDeletedOutput() GetIsLbListenerHttpsRedirectListenerDeletedOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectListenerDeletedOutput) ToGetIsLbListenerHttpsRedirectListenerDeletedOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectListenerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerHttpsRedirectListenerDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerHttpsRedirectListenerDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput) ToGetIsLbListenerHttpsRedirectListenerDeletedArrayOutput() GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput) ToGetIsLbListenerHttpsRedirectListenerDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerHttpsRedirectListenerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerHttpsRedirectListenerDeleted { + return vs[0].([]GetIsLbListenerHttpsRedirectListenerDeleted)[vs[1].(int)] + }).(GetIsLbListenerHttpsRedirectListenerDeletedOutput) +} + +type GetIsLbListenerPoliciesPolicy struct { + // The policy action.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the policy on which the unexpected property value was encountered. + Action string `pulumi:"action"` + // The date and time that this policy was created. + CreatedAt string `pulumi:"createdAt"` + // The listener policy's canonical URL. + Href string `pulumi:"href"` + // The policy's unique identifier. + Id string `pulumi:"id"` + // The user-defined name for this policy. + Name string `pulumi:"name"` + // Priority of the policy. Lower value indicates higher priority. + Priority int `pulumi:"priority"` + // The provisioning status of this policy. + ProvisioningStatus string `pulumi:"provisioningStatus"` + // The rules for this policy. + Rules []GetIsLbListenerPoliciesPolicyRule `pulumi:"rules"` + // - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. + Targets []GetIsLbListenerPoliciesPolicyTarget `pulumi:"targets"` +} + +// GetIsLbListenerPoliciesPolicyInput is an input type that accepts GetIsLbListenerPoliciesPolicyArgs and GetIsLbListenerPoliciesPolicyOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyInput` via: +// +// GetIsLbListenerPoliciesPolicyArgs{...} +type GetIsLbListenerPoliciesPolicyInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyOutput() GetIsLbListenerPoliciesPolicyOutput + ToGetIsLbListenerPoliciesPolicyOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyOutput +} + +type GetIsLbListenerPoliciesPolicyArgs struct { + // The policy action.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the policy on which the unexpected property value was encountered. + Action pulumi.StringInput `pulumi:"action"` + // The date and time that this policy was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The listener policy's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The policy's unique identifier. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this policy. + Name pulumi.StringInput `pulumi:"name"` + // Priority of the policy. Lower value indicates higher priority. + Priority pulumi.IntInput `pulumi:"priority"` + // The provisioning status of this policy. + ProvisioningStatus pulumi.StringInput `pulumi:"provisioningStatus"` + // The rules for this policy. + Rules GetIsLbListenerPoliciesPolicyRuleArrayInput `pulumi:"rules"` + // - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. + Targets GetIsLbListenerPoliciesPolicyTargetArrayInput `pulumi:"targets"` +} + +func (GetIsLbListenerPoliciesPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicy)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyArgs) ToGetIsLbListenerPoliciesPolicyOutput() GetIsLbListenerPoliciesPolicyOutput { + return i.ToGetIsLbListenerPoliciesPolicyOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyArgs) ToGetIsLbListenerPoliciesPolicyOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyOutput) +} + +// GetIsLbListenerPoliciesPolicyArrayInput is an input type that accepts GetIsLbListenerPoliciesPolicyArray and GetIsLbListenerPoliciesPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyArrayInput` via: +// +// GetIsLbListenerPoliciesPolicyArray{ GetIsLbListenerPoliciesPolicyArgs{...} } +type GetIsLbListenerPoliciesPolicyArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyArrayOutput() GetIsLbListenerPoliciesPolicyArrayOutput + ToGetIsLbListenerPoliciesPolicyArrayOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyArrayOutput +} + +type GetIsLbListenerPoliciesPolicyArray []GetIsLbListenerPoliciesPolicyInput + +func (GetIsLbListenerPoliciesPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicy)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyArray) ToGetIsLbListenerPoliciesPolicyArrayOutput() GetIsLbListenerPoliciesPolicyArrayOutput { + return i.ToGetIsLbListenerPoliciesPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyArray) ToGetIsLbListenerPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyArrayOutput) +} + +type GetIsLbListenerPoliciesPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicy)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyOutput) ToGetIsLbListenerPoliciesPolicyOutput() GetIsLbListenerPoliciesPolicyOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyOutput) ToGetIsLbListenerPoliciesPolicyOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyOutput { + return o +} + +// The policy action.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the policy on which the unexpected property value was encountered. +func (o GetIsLbListenerPoliciesPolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) string { return v.Action }).(pulumi.StringOutput) +} + +// The date and time that this policy was created. +func (o GetIsLbListenerPoliciesPolicyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The listener policy's canonical URL. +func (o GetIsLbListenerPoliciesPolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) string { return v.Href }).(pulumi.StringOutput) +} + +// The policy's unique identifier. +func (o GetIsLbListenerPoliciesPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this policy. +func (o GetIsLbListenerPoliciesPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) string { return v.Name }).(pulumi.StringOutput) +} + +// Priority of the policy. Lower value indicates higher priority. +func (o GetIsLbListenerPoliciesPolicyOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) int { return v.Priority }).(pulumi.IntOutput) +} + +// The provisioning status of this policy. +func (o GetIsLbListenerPoliciesPolicyOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// The rules for this policy. +func (o GetIsLbListenerPoliciesPolicyOutput) Rules() GetIsLbListenerPoliciesPolicyRuleArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) []GetIsLbListenerPoliciesPolicyRule { return v.Rules }).(GetIsLbListenerPoliciesPolicyRuleArrayOutput) +} + +// - If `action` is `forward`, the response is a `LoadBalancerPoolReference`- If `action` is `redirect`, the response is a `LoadBalancerListenerPolicyRedirectURL`- If `action` is `httpsRedirect`, the response is a `LoadBalancerListenerHTTPSRedirect`. +func (o GetIsLbListenerPoliciesPolicyOutput) Targets() GetIsLbListenerPoliciesPolicyTargetArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicy) []GetIsLbListenerPoliciesPolicyTarget { return v.Targets }).(GetIsLbListenerPoliciesPolicyTargetArrayOutput) +} + +type GetIsLbListenerPoliciesPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicy)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyArrayOutput) ToGetIsLbListenerPoliciesPolicyArrayOutput() GetIsLbListenerPoliciesPolicyArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyArrayOutput) ToGetIsLbListenerPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPoliciesPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPoliciesPolicy { + return vs[0].([]GetIsLbListenerPoliciesPolicy)[vs[1].(int)] + }).(GetIsLbListenerPoliciesPolicyOutput) +} + +type GetIsLbListenerPoliciesPolicyRule struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerPoliciesPolicyRuleDeleted `pulumi:"deleteds"` + // The rule's canonical URL. + Href string `pulumi:"href"` + // The rule's unique identifier. + Id string `pulumi:"id"` +} + +// GetIsLbListenerPoliciesPolicyRuleInput is an input type that accepts GetIsLbListenerPoliciesPolicyRuleArgs and GetIsLbListenerPoliciesPolicyRuleOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyRuleInput` via: +// +// GetIsLbListenerPoliciesPolicyRuleArgs{...} +type GetIsLbListenerPoliciesPolicyRuleInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyRuleOutput() GetIsLbListenerPoliciesPolicyRuleOutput + ToGetIsLbListenerPoliciesPolicyRuleOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyRuleOutput +} + +type GetIsLbListenerPoliciesPolicyRuleArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerPoliciesPolicyRuleDeletedArrayInput `pulumi:"deleteds"` + // The rule's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The rule's unique identifier. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbListenerPoliciesPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyRule)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyRuleArgs) ToGetIsLbListenerPoliciesPolicyRuleOutput() GetIsLbListenerPoliciesPolicyRuleOutput { + return i.ToGetIsLbListenerPoliciesPolicyRuleOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyRuleArgs) ToGetIsLbListenerPoliciesPolicyRuleOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyRuleOutput) +} + +// GetIsLbListenerPoliciesPolicyRuleArrayInput is an input type that accepts GetIsLbListenerPoliciesPolicyRuleArray and GetIsLbListenerPoliciesPolicyRuleArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyRuleArrayInput` via: +// +// GetIsLbListenerPoliciesPolicyRuleArray{ GetIsLbListenerPoliciesPolicyRuleArgs{...} } +type GetIsLbListenerPoliciesPolicyRuleArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyRuleArrayOutput() GetIsLbListenerPoliciesPolicyRuleArrayOutput + ToGetIsLbListenerPoliciesPolicyRuleArrayOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyRuleArrayOutput +} + +type GetIsLbListenerPoliciesPolicyRuleArray []GetIsLbListenerPoliciesPolicyRuleInput + +func (GetIsLbListenerPoliciesPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyRule)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyRuleArray) ToGetIsLbListenerPoliciesPolicyRuleArrayOutput() GetIsLbListenerPoliciesPolicyRuleArrayOutput { + return i.ToGetIsLbListenerPoliciesPolicyRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyRuleArray) ToGetIsLbListenerPoliciesPolicyRuleArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyRuleArrayOutput) +} + +type GetIsLbListenerPoliciesPolicyRuleOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyRule)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyRuleOutput) ToGetIsLbListenerPoliciesPolicyRuleOutput() GetIsLbListenerPoliciesPolicyRuleOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyRuleOutput) ToGetIsLbListenerPoliciesPolicyRuleOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyRuleOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerPoliciesPolicyRuleOutput) Deleteds() GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyRule) []GetIsLbListenerPoliciesPolicyRuleDeleted { + return v.Deleteds + }).(GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput) +} + +// The rule's canonical URL. +func (o GetIsLbListenerPoliciesPolicyRuleOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyRule) string { return v.Href }).(pulumi.StringOutput) +} + +// The rule's unique identifier. +func (o GetIsLbListenerPoliciesPolicyRuleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyRule) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbListenerPoliciesPolicyRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyRule)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyRuleArrayOutput) ToGetIsLbListenerPoliciesPolicyRuleArrayOutput() GetIsLbListenerPoliciesPolicyRuleArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyRuleArrayOutput) ToGetIsLbListenerPoliciesPolicyRuleArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyRuleArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyRuleArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPoliciesPolicyRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPoliciesPolicyRule { + return vs[0].([]GetIsLbListenerPoliciesPolicyRule)[vs[1].(int)] + }).(GetIsLbListenerPoliciesPolicyRuleOutput) +} + +type GetIsLbListenerPoliciesPolicyRuleDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerPoliciesPolicyRuleDeletedInput is an input type that accepts GetIsLbListenerPoliciesPolicyRuleDeletedArgs and GetIsLbListenerPoliciesPolicyRuleDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyRuleDeletedInput` via: +// +// GetIsLbListenerPoliciesPolicyRuleDeletedArgs{...} +type GetIsLbListenerPoliciesPolicyRuleDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyRuleDeletedOutput() GetIsLbListenerPoliciesPolicyRuleDeletedOutput + ToGetIsLbListenerPoliciesPolicyRuleDeletedOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyRuleDeletedOutput +} + +type GetIsLbListenerPoliciesPolicyRuleDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerPoliciesPolicyRuleDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyRuleDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyRuleDeletedArgs) ToGetIsLbListenerPoliciesPolicyRuleDeletedOutput() GetIsLbListenerPoliciesPolicyRuleDeletedOutput { + return i.ToGetIsLbListenerPoliciesPolicyRuleDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyRuleDeletedArgs) ToGetIsLbListenerPoliciesPolicyRuleDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyRuleDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyRuleDeletedOutput) +} + +// GetIsLbListenerPoliciesPolicyRuleDeletedArrayInput is an input type that accepts GetIsLbListenerPoliciesPolicyRuleDeletedArray and GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyRuleDeletedArrayInput` via: +// +// GetIsLbListenerPoliciesPolicyRuleDeletedArray{ GetIsLbListenerPoliciesPolicyRuleDeletedArgs{...} } +type GetIsLbListenerPoliciesPolicyRuleDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput() GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput + ToGetIsLbListenerPoliciesPolicyRuleDeletedArrayOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput +} + +type GetIsLbListenerPoliciesPolicyRuleDeletedArray []GetIsLbListenerPoliciesPolicyRuleDeletedInput + +func (GetIsLbListenerPoliciesPolicyRuleDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyRuleDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyRuleDeletedArray) ToGetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput() GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput { + return i.ToGetIsLbListenerPoliciesPolicyRuleDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyRuleDeletedArray) ToGetIsLbListenerPoliciesPolicyRuleDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput) +} + +type GetIsLbListenerPoliciesPolicyRuleDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyRuleDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyRuleDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyRuleDeletedOutput) ToGetIsLbListenerPoliciesPolicyRuleDeletedOutput() GetIsLbListenerPoliciesPolicyRuleDeletedOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyRuleDeletedOutput) ToGetIsLbListenerPoliciesPolicyRuleDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyRuleDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerPoliciesPolicyRuleDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyRuleDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyRuleDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput) ToGetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput() GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput) ToGetIsLbListenerPoliciesPolicyRuleDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPoliciesPolicyRuleDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPoliciesPolicyRuleDeleted { + return vs[0].([]GetIsLbListenerPoliciesPolicyRuleDeleted)[vs[1].(int)] + }).(GetIsLbListenerPoliciesPolicyRuleDeletedOutput) +} + +type GetIsLbListenerPoliciesPolicyTarget struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerPoliciesPolicyTargetDeleted `pulumi:"deleteds"` + // The pool's canonical URL. + Href string `pulumi:"href"` + // The HTTP status code for this redirect. + HttpStatusCode int `pulumi:"httpStatusCode"` + // The unique identifier for this load balancer pool. + Id string `pulumi:"id"` + Listeners []GetIsLbListenerPoliciesPolicyTargetListener `pulumi:"listeners"` + // The user-defined name for this load balancer pool. + Name string `pulumi:"name"` + // The redirect relative target URI. + Uri string `pulumi:"uri"` + // The redirect target URL. + Url string `pulumi:"url"` +} + +// GetIsLbListenerPoliciesPolicyTargetInput is an input type that accepts GetIsLbListenerPoliciesPolicyTargetArgs and GetIsLbListenerPoliciesPolicyTargetOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyTargetInput` via: +// +// GetIsLbListenerPoliciesPolicyTargetArgs{...} +type GetIsLbListenerPoliciesPolicyTargetInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyTargetOutput() GetIsLbListenerPoliciesPolicyTargetOutput + ToGetIsLbListenerPoliciesPolicyTargetOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyTargetOutput +} + +type GetIsLbListenerPoliciesPolicyTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerPoliciesPolicyTargetDeletedArrayInput `pulumi:"deleteds"` + // The pool's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The HTTP status code for this redirect. + HttpStatusCode pulumi.IntInput `pulumi:"httpStatusCode"` + // The unique identifier for this load balancer pool. + Id pulumi.StringInput `pulumi:"id"` + Listeners GetIsLbListenerPoliciesPolicyTargetListenerArrayInput `pulumi:"listeners"` + // The user-defined name for this load balancer pool. + Name pulumi.StringInput `pulumi:"name"` + // The redirect relative target URI. + Uri pulumi.StringInput `pulumi:"uri"` + // The redirect target URL. + Url pulumi.StringInput `pulumi:"url"` +} + +func (GetIsLbListenerPoliciesPolicyTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTarget)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyTargetArgs) ToGetIsLbListenerPoliciesPolicyTargetOutput() GetIsLbListenerPoliciesPolicyTargetOutput { + return i.ToGetIsLbListenerPoliciesPolicyTargetOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyTargetArgs) ToGetIsLbListenerPoliciesPolicyTargetOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyTargetOutput) +} + +// GetIsLbListenerPoliciesPolicyTargetArrayInput is an input type that accepts GetIsLbListenerPoliciesPolicyTargetArray and GetIsLbListenerPoliciesPolicyTargetArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyTargetArrayInput` via: +// +// GetIsLbListenerPoliciesPolicyTargetArray{ GetIsLbListenerPoliciesPolicyTargetArgs{...} } +type GetIsLbListenerPoliciesPolicyTargetArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyTargetArrayOutput() GetIsLbListenerPoliciesPolicyTargetArrayOutput + ToGetIsLbListenerPoliciesPolicyTargetArrayOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyTargetArrayOutput +} + +type GetIsLbListenerPoliciesPolicyTargetArray []GetIsLbListenerPoliciesPolicyTargetInput + +func (GetIsLbListenerPoliciesPolicyTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyTarget)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyTargetArray) ToGetIsLbListenerPoliciesPolicyTargetArrayOutput() GetIsLbListenerPoliciesPolicyTargetArrayOutput { + return i.ToGetIsLbListenerPoliciesPolicyTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyTargetArray) ToGetIsLbListenerPoliciesPolicyTargetArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyTargetArrayOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTarget)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyTargetOutput) ToGetIsLbListenerPoliciesPolicyTargetOutput() GetIsLbListenerPoliciesPolicyTargetOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetOutput) ToGetIsLbListenerPoliciesPolicyTargetOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerPoliciesPolicyTargetOutput) Deleteds() GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTarget) []GetIsLbListenerPoliciesPolicyTargetDeleted { + return v.Deleteds + }).(GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput) +} + +// The pool's canonical URL. +func (o GetIsLbListenerPoliciesPolicyTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The HTTP status code for this redirect. +func (o GetIsLbListenerPoliciesPolicyTargetOutput) HttpStatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTarget) int { return v.HttpStatusCode }).(pulumi.IntOutput) +} + +// The unique identifier for this load balancer pool. +func (o GetIsLbListenerPoliciesPolicyTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTarget) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPoliciesPolicyTargetOutput) Listeners() GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTarget) []GetIsLbListenerPoliciesPolicyTargetListener { + return v.Listeners + }).(GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput) +} + +// The user-defined name for this load balancer pool. +func (o GetIsLbListenerPoliciesPolicyTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The redirect relative target URI. +func (o GetIsLbListenerPoliciesPolicyTargetOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTarget) string { return v.Uri }).(pulumi.StringOutput) +} + +// The redirect target URL. +func (o GetIsLbListenerPoliciesPolicyTargetOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTarget) string { return v.Url }).(pulumi.StringOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyTarget)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyTargetArrayOutput) ToGetIsLbListenerPoliciesPolicyTargetArrayOutput() GetIsLbListenerPoliciesPolicyTargetArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetArrayOutput) ToGetIsLbListenerPoliciesPolicyTargetArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPoliciesPolicyTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPoliciesPolicyTarget { + return vs[0].([]GetIsLbListenerPoliciesPolicyTarget)[vs[1].(int)] + }).(GetIsLbListenerPoliciesPolicyTargetOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerPoliciesPolicyTargetDeletedInput is an input type that accepts GetIsLbListenerPoliciesPolicyTargetDeletedArgs and GetIsLbListenerPoliciesPolicyTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyTargetDeletedInput` via: +// +// GetIsLbListenerPoliciesPolicyTargetDeletedArgs{...} +type GetIsLbListenerPoliciesPolicyTargetDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyTargetDeletedOutput() GetIsLbListenerPoliciesPolicyTargetDeletedOutput + ToGetIsLbListenerPoliciesPolicyTargetDeletedOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyTargetDeletedOutput +} + +type GetIsLbListenerPoliciesPolicyTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerPoliciesPolicyTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyTargetDeletedArgs) ToGetIsLbListenerPoliciesPolicyTargetDeletedOutput() GetIsLbListenerPoliciesPolicyTargetDeletedOutput { + return i.ToGetIsLbListenerPoliciesPolicyTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyTargetDeletedArgs) ToGetIsLbListenerPoliciesPolicyTargetDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyTargetDeletedOutput) +} + +// GetIsLbListenerPoliciesPolicyTargetDeletedArrayInput is an input type that accepts GetIsLbListenerPoliciesPolicyTargetDeletedArray and GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyTargetDeletedArrayInput` via: +// +// GetIsLbListenerPoliciesPolicyTargetDeletedArray{ GetIsLbListenerPoliciesPolicyTargetDeletedArgs{...} } +type GetIsLbListenerPoliciesPolicyTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput() GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput + ToGetIsLbListenerPoliciesPolicyTargetDeletedArrayOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput +} + +type GetIsLbListenerPoliciesPolicyTargetDeletedArray []GetIsLbListenerPoliciesPolicyTargetDeletedInput + +func (GetIsLbListenerPoliciesPolicyTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyTargetDeletedArray) ToGetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput() GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput { + return i.ToGetIsLbListenerPoliciesPolicyTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyTargetDeletedArray) ToGetIsLbListenerPoliciesPolicyTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyTargetDeletedOutput) ToGetIsLbListenerPoliciesPolicyTargetDeletedOutput() GetIsLbListenerPoliciesPolicyTargetDeletedOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetDeletedOutput) ToGetIsLbListenerPoliciesPolicyTargetDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerPoliciesPolicyTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput) ToGetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput() GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput) ToGetIsLbListenerPoliciesPolicyTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPoliciesPolicyTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPoliciesPolicyTargetDeleted { + return vs[0].([]GetIsLbListenerPoliciesPolicyTargetDeleted)[vs[1].(int)] + }).(GetIsLbListenerPoliciesPolicyTargetDeletedOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetListener struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerPoliciesPolicyTargetListenerDeleted `pulumi:"deleteds"` + // The listener's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id string `pulumi:"id"` +} + +// GetIsLbListenerPoliciesPolicyTargetListenerInput is an input type that accepts GetIsLbListenerPoliciesPolicyTargetListenerArgs and GetIsLbListenerPoliciesPolicyTargetListenerOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyTargetListenerInput` via: +// +// GetIsLbListenerPoliciesPolicyTargetListenerArgs{...} +type GetIsLbListenerPoliciesPolicyTargetListenerInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyTargetListenerOutput() GetIsLbListenerPoliciesPolicyTargetListenerOutput + ToGetIsLbListenerPoliciesPolicyTargetListenerOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyTargetListenerOutput +} + +type GetIsLbListenerPoliciesPolicyTargetListenerArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayInput `pulumi:"deleteds"` + // The listener's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbListenerPoliciesPolicyTargetListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetListener)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyTargetListenerArgs) ToGetIsLbListenerPoliciesPolicyTargetListenerOutput() GetIsLbListenerPoliciesPolicyTargetListenerOutput { + return i.ToGetIsLbListenerPoliciesPolicyTargetListenerOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyTargetListenerArgs) ToGetIsLbListenerPoliciesPolicyTargetListenerOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyTargetListenerOutput) +} + +// GetIsLbListenerPoliciesPolicyTargetListenerArrayInput is an input type that accepts GetIsLbListenerPoliciesPolicyTargetListenerArray and GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyTargetListenerArrayInput` via: +// +// GetIsLbListenerPoliciesPolicyTargetListenerArray{ GetIsLbListenerPoliciesPolicyTargetListenerArgs{...} } +type GetIsLbListenerPoliciesPolicyTargetListenerArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyTargetListenerArrayOutput() GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput + ToGetIsLbListenerPoliciesPolicyTargetListenerArrayOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput +} + +type GetIsLbListenerPoliciesPolicyTargetListenerArray []GetIsLbListenerPoliciesPolicyTargetListenerInput + +func (GetIsLbListenerPoliciesPolicyTargetListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyTargetListener)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyTargetListenerArray) ToGetIsLbListenerPoliciesPolicyTargetListenerArrayOutput() GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput { + return i.ToGetIsLbListenerPoliciesPolicyTargetListenerArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyTargetListenerArray) ToGetIsLbListenerPoliciesPolicyTargetListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetListenerOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyTargetListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetListener)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerOutput) ToGetIsLbListenerPoliciesPolicyTargetListenerOutput() GetIsLbListenerPoliciesPolicyTargetListenerOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerOutput) ToGetIsLbListenerPoliciesPolicyTargetListenerOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetListenerOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerPoliciesPolicyTargetListenerOutput) Deleteds() GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTargetListener) []GetIsLbListenerPoliciesPolicyTargetListenerDeleted { + return v.Deleteds + }).(GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput) +} + +// The listener's canonical URL. +func (o GetIsLbListenerPoliciesPolicyTargetListenerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTargetListener) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer listener. +func (o GetIsLbListenerPoliciesPolicyTargetListenerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTargetListener) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyTargetListener)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput) ToGetIsLbListenerPoliciesPolicyTargetListenerArrayOutput() GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput) ToGetIsLbListenerPoliciesPolicyTargetListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPoliciesPolicyTargetListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPoliciesPolicyTargetListener { + return vs[0].([]GetIsLbListenerPoliciesPolicyTargetListener)[vs[1].(int)] + }).(GetIsLbListenerPoliciesPolicyTargetListenerOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetListenerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerPoliciesPolicyTargetListenerDeletedInput is an input type that accepts GetIsLbListenerPoliciesPolicyTargetListenerDeletedArgs and GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyTargetListenerDeletedInput` via: +// +// GetIsLbListenerPoliciesPolicyTargetListenerDeletedArgs{...} +type GetIsLbListenerPoliciesPolicyTargetListenerDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput() GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput + ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput +} + +type GetIsLbListenerPoliciesPolicyTargetListenerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerPoliciesPolicyTargetListenerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyTargetListenerDeletedArgs) ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput() GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput { + return i.ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyTargetListenerDeletedArgs) ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput) +} + +// GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayInput is an input type that accepts GetIsLbListenerPoliciesPolicyTargetListenerDeletedArray and GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayInput` via: +// +// GetIsLbListenerPoliciesPolicyTargetListenerDeletedArray{ GetIsLbListenerPoliciesPolicyTargetListenerDeletedArgs{...} } +type GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput() GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput + ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutputWithContext(context.Context) GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput +} + +type GetIsLbListenerPoliciesPolicyTargetListenerDeletedArray []GetIsLbListenerPoliciesPolicyTargetListenerDeletedInput + +func (GetIsLbListenerPoliciesPolicyTargetListenerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPoliciesPolicyTargetListenerDeletedArray) ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput() GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput { + return i.ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPoliciesPolicyTargetListenerDeletedArray) ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput) ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput() GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput) ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPoliciesPolicyTargetListenerDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPoliciesPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput) ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput() GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput) ToGetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPoliciesPolicyTargetListenerDeleted { + return vs[0].([]GetIsLbListenerPoliciesPolicyTargetListenerDeleted)[vs[1].(int)] + }).(GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput) +} + +type GetIsLbListenerPolicyType struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerPolicyDeleted `pulumi:"deleteds"` + // The listener policy's canonical URL. + Href string `pulumi:"href"` + // The policy's unique identifier. + Id string `pulumi:"id"` +} + +// GetIsLbListenerPolicyTypeInput is an input type that accepts GetIsLbListenerPolicyTypeArgs and GetIsLbListenerPolicyTypeOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTypeInput` via: +// +// GetIsLbListenerPolicyTypeArgs{...} +type GetIsLbListenerPolicyTypeInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTypeOutput() GetIsLbListenerPolicyTypeOutput + ToGetIsLbListenerPolicyTypeOutputWithContext(context.Context) GetIsLbListenerPolicyTypeOutput +} + +type GetIsLbListenerPolicyTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerPolicyDeletedArrayInput `pulumi:"deleteds"` + // The listener policy's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The policy's unique identifier. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbListenerPolicyTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyType)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTypeArgs) ToGetIsLbListenerPolicyTypeOutput() GetIsLbListenerPolicyTypeOutput { + return i.ToGetIsLbListenerPolicyTypeOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTypeArgs) ToGetIsLbListenerPolicyTypeOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTypeOutput) +} + +// GetIsLbListenerPolicyTypeArrayInput is an input type that accepts GetIsLbListenerPolicyTypeArray and GetIsLbListenerPolicyTypeArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTypeArrayInput` via: +// +// GetIsLbListenerPolicyTypeArray{ GetIsLbListenerPolicyTypeArgs{...} } +type GetIsLbListenerPolicyTypeArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTypeArrayOutput() GetIsLbListenerPolicyTypeArrayOutput + ToGetIsLbListenerPolicyTypeArrayOutputWithContext(context.Context) GetIsLbListenerPolicyTypeArrayOutput +} + +type GetIsLbListenerPolicyTypeArray []GetIsLbListenerPolicyTypeInput + +func (GetIsLbListenerPolicyTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyType)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTypeArray) ToGetIsLbListenerPolicyTypeArrayOutput() GetIsLbListenerPolicyTypeArrayOutput { + return i.ToGetIsLbListenerPolicyTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTypeArray) ToGetIsLbListenerPolicyTypeArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTypeArrayOutput) +} + +type GetIsLbListenerPolicyTypeOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyType)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTypeOutput) ToGetIsLbListenerPolicyTypeOutput() GetIsLbListenerPolicyTypeOutput { + return o +} + +func (o GetIsLbListenerPolicyTypeOutput) ToGetIsLbListenerPolicyTypeOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerPolicyTypeOutput) Deleteds() GetIsLbListenerPolicyDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyType) []GetIsLbListenerPolicyDeleted { return v.Deleteds }).(GetIsLbListenerPolicyDeletedArrayOutput) +} + +// The listener policy's canonical URL. +func (o GetIsLbListenerPolicyTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyType) string { return v.Href }).(pulumi.StringOutput) +} + +// The policy's unique identifier. +func (o GetIsLbListenerPolicyTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyType) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyType)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTypeArrayOutput) ToGetIsLbListenerPolicyTypeArrayOutput() GetIsLbListenerPolicyTypeArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTypeArrayOutput) ToGetIsLbListenerPolicyTypeArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTypeArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTypeArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyType { + return vs[0].([]GetIsLbListenerPolicyType)[vs[1].(int)] + }).(GetIsLbListenerPolicyTypeOutput) +} + +type GetIsLbListenerPolicyDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerPolicyDeletedInput is an input type that accepts GetIsLbListenerPolicyDeletedArgs and GetIsLbListenerPolicyDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyDeletedInput` via: +// +// GetIsLbListenerPolicyDeletedArgs{...} +type GetIsLbListenerPolicyDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyDeletedOutput() GetIsLbListenerPolicyDeletedOutput + ToGetIsLbListenerPolicyDeletedOutputWithContext(context.Context) GetIsLbListenerPolicyDeletedOutput +} + +type GetIsLbListenerPolicyDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerPolicyDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyDeletedArgs) ToGetIsLbListenerPolicyDeletedOutput() GetIsLbListenerPolicyDeletedOutput { + return i.ToGetIsLbListenerPolicyDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyDeletedArgs) ToGetIsLbListenerPolicyDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPolicyDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyDeletedOutput) +} + +// GetIsLbListenerPolicyDeletedArrayInput is an input type that accepts GetIsLbListenerPolicyDeletedArray and GetIsLbListenerPolicyDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyDeletedArrayInput` via: +// +// GetIsLbListenerPolicyDeletedArray{ GetIsLbListenerPolicyDeletedArgs{...} } +type GetIsLbListenerPolicyDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyDeletedArrayOutput() GetIsLbListenerPolicyDeletedArrayOutput + ToGetIsLbListenerPolicyDeletedArrayOutputWithContext(context.Context) GetIsLbListenerPolicyDeletedArrayOutput +} + +type GetIsLbListenerPolicyDeletedArray []GetIsLbListenerPolicyDeletedInput + +func (GetIsLbListenerPolicyDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyDeletedArray) ToGetIsLbListenerPolicyDeletedArrayOutput() GetIsLbListenerPolicyDeletedArrayOutput { + return i.ToGetIsLbListenerPolicyDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyDeletedArray) ToGetIsLbListenerPolicyDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyDeletedArrayOutput) +} + +type GetIsLbListenerPolicyDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyDeletedOutput) ToGetIsLbListenerPolicyDeletedOutput() GetIsLbListenerPolicyDeletedOutput { + return o +} + +func (o GetIsLbListenerPolicyDeletedOutput) ToGetIsLbListenerPolicyDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPolicyDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerPolicyDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyDeletedArrayOutput) ToGetIsLbListenerPolicyDeletedArrayOutput() GetIsLbListenerPolicyDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyDeletedArrayOutput) ToGetIsLbListenerPolicyDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyDeleted { + return vs[0].([]GetIsLbListenerPolicyDeleted)[vs[1].(int)] + }).(GetIsLbListenerPolicyDeletedOutput) +} + +type GetIsLbListenerPolicyRuleType struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerPolicyRuleDeleted `pulumi:"deleteds"` + // The rule's canonical URL. + Href string `pulumi:"href"` + // The rule's unique identifier. + Id string `pulumi:"id"` +} + +// GetIsLbListenerPolicyRuleTypeInput is an input type that accepts GetIsLbListenerPolicyRuleTypeArgs and GetIsLbListenerPolicyRuleTypeOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyRuleTypeInput` via: +// +// GetIsLbListenerPolicyRuleTypeArgs{...} +type GetIsLbListenerPolicyRuleTypeInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyRuleTypeOutput() GetIsLbListenerPolicyRuleTypeOutput + ToGetIsLbListenerPolicyRuleTypeOutputWithContext(context.Context) GetIsLbListenerPolicyRuleTypeOutput +} + +type GetIsLbListenerPolicyRuleTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerPolicyRuleDeletedArrayInput `pulumi:"deleteds"` + // The rule's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The rule's unique identifier. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbListenerPolicyRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyRuleType)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyRuleTypeArgs) ToGetIsLbListenerPolicyRuleTypeOutput() GetIsLbListenerPolicyRuleTypeOutput { + return i.ToGetIsLbListenerPolicyRuleTypeOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyRuleTypeArgs) ToGetIsLbListenerPolicyRuleTypeOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyRuleTypeOutput) +} + +// GetIsLbListenerPolicyRuleTypeArrayInput is an input type that accepts GetIsLbListenerPolicyRuleTypeArray and GetIsLbListenerPolicyRuleTypeArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyRuleTypeArrayInput` via: +// +// GetIsLbListenerPolicyRuleTypeArray{ GetIsLbListenerPolicyRuleTypeArgs{...} } +type GetIsLbListenerPolicyRuleTypeArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyRuleTypeArrayOutput() GetIsLbListenerPolicyRuleTypeArrayOutput + ToGetIsLbListenerPolicyRuleTypeArrayOutputWithContext(context.Context) GetIsLbListenerPolicyRuleTypeArrayOutput +} + +type GetIsLbListenerPolicyRuleTypeArray []GetIsLbListenerPolicyRuleTypeInput + +func (GetIsLbListenerPolicyRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyRuleType)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyRuleTypeArray) ToGetIsLbListenerPolicyRuleTypeArrayOutput() GetIsLbListenerPolicyRuleTypeArrayOutput { + return i.ToGetIsLbListenerPolicyRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyRuleTypeArray) ToGetIsLbListenerPolicyRuleTypeArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyRuleTypeArrayOutput) +} + +type GetIsLbListenerPolicyRuleTypeOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyRuleType)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyRuleTypeOutput) ToGetIsLbListenerPolicyRuleTypeOutput() GetIsLbListenerPolicyRuleTypeOutput { + return o +} + +func (o GetIsLbListenerPolicyRuleTypeOutput) ToGetIsLbListenerPolicyRuleTypeOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRuleTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerPolicyRuleTypeOutput) Deleteds() GetIsLbListenerPolicyRuleDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRuleType) []GetIsLbListenerPolicyRuleDeleted { return v.Deleteds }).(GetIsLbListenerPolicyRuleDeletedArrayOutput) +} + +// The rule's canonical URL. +func (o GetIsLbListenerPolicyRuleTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRuleType) string { return v.Href }).(pulumi.StringOutput) +} + +// The rule's unique identifier. +func (o GetIsLbListenerPolicyRuleTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRuleType) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyRuleType)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyRuleTypeArrayOutput) ToGetIsLbListenerPolicyRuleTypeArrayOutput() GetIsLbListenerPolicyRuleTypeArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyRuleTypeArrayOutput) ToGetIsLbListenerPolicyRuleTypeArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRuleTypeArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyRuleTypeArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyRuleType { + return vs[0].([]GetIsLbListenerPolicyRuleType)[vs[1].(int)] + }).(GetIsLbListenerPolicyRuleTypeOutput) +} + +type GetIsLbListenerPolicyRuleDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerPolicyRuleDeletedInput is an input type that accepts GetIsLbListenerPolicyRuleDeletedArgs and GetIsLbListenerPolicyRuleDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyRuleDeletedInput` via: +// +// GetIsLbListenerPolicyRuleDeletedArgs{...} +type GetIsLbListenerPolicyRuleDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyRuleDeletedOutput() GetIsLbListenerPolicyRuleDeletedOutput + ToGetIsLbListenerPolicyRuleDeletedOutputWithContext(context.Context) GetIsLbListenerPolicyRuleDeletedOutput +} + +type GetIsLbListenerPolicyRuleDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerPolicyRuleDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyRuleDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyRuleDeletedArgs) ToGetIsLbListenerPolicyRuleDeletedOutput() GetIsLbListenerPolicyRuleDeletedOutput { + return i.ToGetIsLbListenerPolicyRuleDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyRuleDeletedArgs) ToGetIsLbListenerPolicyRuleDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRuleDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyRuleDeletedOutput) +} + +// GetIsLbListenerPolicyRuleDeletedArrayInput is an input type that accepts GetIsLbListenerPolicyRuleDeletedArray and GetIsLbListenerPolicyRuleDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyRuleDeletedArrayInput` via: +// +// GetIsLbListenerPolicyRuleDeletedArray{ GetIsLbListenerPolicyRuleDeletedArgs{...} } +type GetIsLbListenerPolicyRuleDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyRuleDeletedArrayOutput() GetIsLbListenerPolicyRuleDeletedArrayOutput + ToGetIsLbListenerPolicyRuleDeletedArrayOutputWithContext(context.Context) GetIsLbListenerPolicyRuleDeletedArrayOutput +} + +type GetIsLbListenerPolicyRuleDeletedArray []GetIsLbListenerPolicyRuleDeletedInput + +func (GetIsLbListenerPolicyRuleDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyRuleDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyRuleDeletedArray) ToGetIsLbListenerPolicyRuleDeletedArrayOutput() GetIsLbListenerPolicyRuleDeletedArrayOutput { + return i.ToGetIsLbListenerPolicyRuleDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyRuleDeletedArray) ToGetIsLbListenerPolicyRuleDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRuleDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyRuleDeletedArrayOutput) +} + +type GetIsLbListenerPolicyRuleDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyRuleDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyRuleDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyRuleDeletedOutput) ToGetIsLbListenerPolicyRuleDeletedOutput() GetIsLbListenerPolicyRuleDeletedOutput { + return o +} + +func (o GetIsLbListenerPolicyRuleDeletedOutput) ToGetIsLbListenerPolicyRuleDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRuleDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerPolicyRuleDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRuleDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyRuleDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyRuleDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyRuleDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyRuleDeletedArrayOutput) ToGetIsLbListenerPolicyRuleDeletedArrayOutput() GetIsLbListenerPolicyRuleDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyRuleDeletedArrayOutput) ToGetIsLbListenerPolicyRuleDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRuleDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyRuleDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyRuleDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyRuleDeleted { + return vs[0].([]GetIsLbListenerPolicyRuleDeleted)[vs[1].(int)] + }).(GetIsLbListenerPolicyRuleDeletedOutput) +} + +type GetIsLbListenerPolicyRulesRule struct { + // The condition of the rule. + Condition string `pulumi:"condition"` + // The date and time that this rule was created. + CreatedAt string `pulumi:"createdAt"` + // The field. This is applicable to `header`, `query`, and `body` rule types.If the rule type is `header`, this property is required.If the rule type is `query`, this is optional. If specified and the rule condition is not`matchesRegex`, the value must be percent-encoded.If the rule type is `body`, this is optional. + Field string `pulumi:"field"` + // The rule's canonical URL. + Href string `pulumi:"href"` + // The rule's unique identifier. + Id string `pulumi:"id"` + // The provisioning status of this rule. + ProvisioningStatus string `pulumi:"provisioningStatus"` + // The type of the rule.Body rules are applied to form-encoded request bodies using the `UTF-8` character set. + Type string `pulumi:"type"` + // Value to be matched for rule condition.If the rule type is `query` and the rule condition is not `matchesRegex`, the value must be percent-encoded. + Value string `pulumi:"value"` +} + +// GetIsLbListenerPolicyRulesRuleInput is an input type that accepts GetIsLbListenerPolicyRulesRuleArgs and GetIsLbListenerPolicyRulesRuleOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyRulesRuleInput` via: +// +// GetIsLbListenerPolicyRulesRuleArgs{...} +type GetIsLbListenerPolicyRulesRuleInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyRulesRuleOutput() GetIsLbListenerPolicyRulesRuleOutput + ToGetIsLbListenerPolicyRulesRuleOutputWithContext(context.Context) GetIsLbListenerPolicyRulesRuleOutput +} + +type GetIsLbListenerPolicyRulesRuleArgs struct { + // The condition of the rule. + Condition pulumi.StringInput `pulumi:"condition"` + // The date and time that this rule was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The field. This is applicable to `header`, `query`, and `body` rule types.If the rule type is `header`, this property is required.If the rule type is `query`, this is optional. If specified and the rule condition is not`matchesRegex`, the value must be percent-encoded.If the rule type is `body`, this is optional. + Field pulumi.StringInput `pulumi:"field"` + // The rule's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The rule's unique identifier. + Id pulumi.StringInput `pulumi:"id"` + // The provisioning status of this rule. + ProvisioningStatus pulumi.StringInput `pulumi:"provisioningStatus"` + // The type of the rule.Body rules are applied to form-encoded request bodies using the `UTF-8` character set. + Type pulumi.StringInput `pulumi:"type"` + // Value to be matched for rule condition.If the rule type is `query` and the rule condition is not `matchesRegex`, the value must be percent-encoded. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsLbListenerPolicyRulesRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyRulesRule)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyRulesRuleArgs) ToGetIsLbListenerPolicyRulesRuleOutput() GetIsLbListenerPolicyRulesRuleOutput { + return i.ToGetIsLbListenerPolicyRulesRuleOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyRulesRuleArgs) ToGetIsLbListenerPolicyRulesRuleOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRulesRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyRulesRuleOutput) +} + +// GetIsLbListenerPolicyRulesRuleArrayInput is an input type that accepts GetIsLbListenerPolicyRulesRuleArray and GetIsLbListenerPolicyRulesRuleArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyRulesRuleArrayInput` via: +// +// GetIsLbListenerPolicyRulesRuleArray{ GetIsLbListenerPolicyRulesRuleArgs{...} } +type GetIsLbListenerPolicyRulesRuleArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyRulesRuleArrayOutput() GetIsLbListenerPolicyRulesRuleArrayOutput + ToGetIsLbListenerPolicyRulesRuleArrayOutputWithContext(context.Context) GetIsLbListenerPolicyRulesRuleArrayOutput +} + +type GetIsLbListenerPolicyRulesRuleArray []GetIsLbListenerPolicyRulesRuleInput + +func (GetIsLbListenerPolicyRulesRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyRulesRule)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyRulesRuleArray) ToGetIsLbListenerPolicyRulesRuleArrayOutput() GetIsLbListenerPolicyRulesRuleArrayOutput { + return i.ToGetIsLbListenerPolicyRulesRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyRulesRuleArray) ToGetIsLbListenerPolicyRulesRuleArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRulesRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyRulesRuleArrayOutput) +} + +type GetIsLbListenerPolicyRulesRuleOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyRulesRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyRulesRule)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyRulesRuleOutput) ToGetIsLbListenerPolicyRulesRuleOutput() GetIsLbListenerPolicyRulesRuleOutput { + return o +} + +func (o GetIsLbListenerPolicyRulesRuleOutput) ToGetIsLbListenerPolicyRulesRuleOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRulesRuleOutput { + return o +} + +// The condition of the rule. +func (o GetIsLbListenerPolicyRulesRuleOutput) Condition() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesRule) string { return v.Condition }).(pulumi.StringOutput) +} + +// The date and time that this rule was created. +func (o GetIsLbListenerPolicyRulesRuleOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesRule) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The field. This is applicable to `header`, `query`, and `body` rule types.If the rule type is `header`, this property is required.If the rule type is `query`, this is optional. If specified and the rule condition is not`matchesRegex`, the value must be percent-encoded.If the rule type is `body`, this is optional. +func (o GetIsLbListenerPolicyRulesRuleOutput) Field() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesRule) string { return v.Field }).(pulumi.StringOutput) +} + +// The rule's canonical URL. +func (o GetIsLbListenerPolicyRulesRuleOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesRule) string { return v.Href }).(pulumi.StringOutput) +} + +// The rule's unique identifier. +func (o GetIsLbListenerPolicyRulesRuleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesRule) string { return v.Id }).(pulumi.StringOutput) +} + +// The provisioning status of this rule. +func (o GetIsLbListenerPolicyRulesRuleOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesRule) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// The type of the rule.Body rules are applied to form-encoded request bodies using the `UTF-8` character set. +func (o GetIsLbListenerPolicyRulesRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesRule) string { return v.Type }).(pulumi.StringOutput) +} + +// Value to be matched for rule condition.If the rule type is `query` and the rule condition is not `matchesRegex`, the value must be percent-encoded. +func (o GetIsLbListenerPolicyRulesRuleOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyRulesRule) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyRulesRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyRulesRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyRulesRule)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyRulesRuleArrayOutput) ToGetIsLbListenerPolicyRulesRuleArrayOutput() GetIsLbListenerPolicyRulesRuleArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyRulesRuleArrayOutput) ToGetIsLbListenerPolicyRulesRuleArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyRulesRuleArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyRulesRuleArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyRulesRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyRulesRule { + return vs[0].([]GetIsLbListenerPolicyRulesRule)[vs[1].(int)] + }).(GetIsLbListenerPolicyRulesRuleOutput) +} + +type GetIsLbListenerPolicyTarget struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerPolicyTargetDeleted `pulumi:"deleteds"` + // The pool's canonical URL. + Href string `pulumi:"href"` + // The HTTP status code for this redirect. + HttpStatusCode int `pulumi:"httpStatusCode"` + // The unique identifier for this load balancer pool or load balancer listener + Id string `pulumi:"id"` + Listeners []GetIsLbListenerPolicyTargetListener `pulumi:"listeners"` + // The user-defined name for this load balancer pool or load balancer listener. + Name string `pulumi:"name"` + // The redirect relative target URI. + Uri string `pulumi:"uri"` + // The redirect target URL. + Url string `pulumi:"url"` +} + +// GetIsLbListenerPolicyTargetInput is an input type that accepts GetIsLbListenerPolicyTargetArgs and GetIsLbListenerPolicyTargetOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTargetInput` via: +// +// GetIsLbListenerPolicyTargetArgs{...} +type GetIsLbListenerPolicyTargetInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTargetOutput() GetIsLbListenerPolicyTargetOutput + ToGetIsLbListenerPolicyTargetOutputWithContext(context.Context) GetIsLbListenerPolicyTargetOutput +} + +type GetIsLbListenerPolicyTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerPolicyTargetDeletedArrayInput `pulumi:"deleteds"` + // The pool's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The HTTP status code for this redirect. + HttpStatusCode pulumi.IntInput `pulumi:"httpStatusCode"` + // The unique identifier for this load balancer pool or load balancer listener + Id pulumi.StringInput `pulumi:"id"` + Listeners GetIsLbListenerPolicyTargetListenerArrayInput `pulumi:"listeners"` + // The user-defined name for this load balancer pool or load balancer listener. + Name pulumi.StringInput `pulumi:"name"` + // The redirect relative target URI. + Uri pulumi.StringInput `pulumi:"uri"` + // The redirect target URL. + Url pulumi.StringInput `pulumi:"url"` +} + +func (GetIsLbListenerPolicyTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyTarget)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTargetArgs) ToGetIsLbListenerPolicyTargetOutput() GetIsLbListenerPolicyTargetOutput { + return i.ToGetIsLbListenerPolicyTargetOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTargetArgs) ToGetIsLbListenerPolicyTargetOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTargetOutput) +} + +// GetIsLbListenerPolicyTargetArrayInput is an input type that accepts GetIsLbListenerPolicyTargetArray and GetIsLbListenerPolicyTargetArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTargetArrayInput` via: +// +// GetIsLbListenerPolicyTargetArray{ GetIsLbListenerPolicyTargetArgs{...} } +type GetIsLbListenerPolicyTargetArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTargetArrayOutput() GetIsLbListenerPolicyTargetArrayOutput + ToGetIsLbListenerPolicyTargetArrayOutputWithContext(context.Context) GetIsLbListenerPolicyTargetArrayOutput +} + +type GetIsLbListenerPolicyTargetArray []GetIsLbListenerPolicyTargetInput + +func (GetIsLbListenerPolicyTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyTarget)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTargetArray) ToGetIsLbListenerPolicyTargetArrayOutput() GetIsLbListenerPolicyTargetArrayOutput { + return i.ToGetIsLbListenerPolicyTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTargetArray) ToGetIsLbListenerPolicyTargetArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTargetArrayOutput) +} + +type GetIsLbListenerPolicyTargetOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyTarget)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTargetOutput) ToGetIsLbListenerPolicyTargetOutput() GetIsLbListenerPolicyTargetOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetOutput) ToGetIsLbListenerPolicyTargetOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerPolicyTargetOutput) Deleteds() GetIsLbListenerPolicyTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTarget) []GetIsLbListenerPolicyTargetDeleted { return v.Deleteds }).(GetIsLbListenerPolicyTargetDeletedArrayOutput) +} + +// The pool's canonical URL. +func (o GetIsLbListenerPolicyTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The HTTP status code for this redirect. +func (o GetIsLbListenerPolicyTargetOutput) HttpStatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTarget) int { return v.HttpStatusCode }).(pulumi.IntOutput) +} + +// The unique identifier for this load balancer pool or load balancer listener +func (o GetIsLbListenerPolicyTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTarget) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsLbListenerPolicyTargetOutput) Listeners() GetIsLbListenerPolicyTargetListenerArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTarget) []GetIsLbListenerPolicyTargetListener { return v.Listeners }).(GetIsLbListenerPolicyTargetListenerArrayOutput) +} + +// The user-defined name for this load balancer pool or load balancer listener. +func (o GetIsLbListenerPolicyTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The redirect relative target URI. +func (o GetIsLbListenerPolicyTargetOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTarget) string { return v.Uri }).(pulumi.StringOutput) +} + +// The redirect target URL. +func (o GetIsLbListenerPolicyTargetOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTarget) string { return v.Url }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyTarget)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTargetArrayOutput) ToGetIsLbListenerPolicyTargetArrayOutput() GetIsLbListenerPolicyTargetArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetArrayOutput) ToGetIsLbListenerPolicyTargetArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyTarget { + return vs[0].([]GetIsLbListenerPolicyTarget)[vs[1].(int)] + }).(GetIsLbListenerPolicyTargetOutput) +} + +type GetIsLbListenerPolicyTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerPolicyTargetDeletedInput is an input type that accepts GetIsLbListenerPolicyTargetDeletedArgs and GetIsLbListenerPolicyTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTargetDeletedInput` via: +// +// GetIsLbListenerPolicyTargetDeletedArgs{...} +type GetIsLbListenerPolicyTargetDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTargetDeletedOutput() GetIsLbListenerPolicyTargetDeletedOutput + ToGetIsLbListenerPolicyTargetDeletedOutputWithContext(context.Context) GetIsLbListenerPolicyTargetDeletedOutput +} + +type GetIsLbListenerPolicyTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerPolicyTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTargetDeletedArgs) ToGetIsLbListenerPolicyTargetDeletedOutput() GetIsLbListenerPolicyTargetDeletedOutput { + return i.ToGetIsLbListenerPolicyTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTargetDeletedArgs) ToGetIsLbListenerPolicyTargetDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTargetDeletedOutput) +} + +// GetIsLbListenerPolicyTargetDeletedArrayInput is an input type that accepts GetIsLbListenerPolicyTargetDeletedArray and GetIsLbListenerPolicyTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTargetDeletedArrayInput` via: +// +// GetIsLbListenerPolicyTargetDeletedArray{ GetIsLbListenerPolicyTargetDeletedArgs{...} } +type GetIsLbListenerPolicyTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTargetDeletedArrayOutput() GetIsLbListenerPolicyTargetDeletedArrayOutput + ToGetIsLbListenerPolicyTargetDeletedArrayOutputWithContext(context.Context) GetIsLbListenerPolicyTargetDeletedArrayOutput +} + +type GetIsLbListenerPolicyTargetDeletedArray []GetIsLbListenerPolicyTargetDeletedInput + +func (GetIsLbListenerPolicyTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTargetDeletedArray) ToGetIsLbListenerPolicyTargetDeletedArrayOutput() GetIsLbListenerPolicyTargetDeletedArrayOutput { + return i.ToGetIsLbListenerPolicyTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTargetDeletedArray) ToGetIsLbListenerPolicyTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTargetDeletedArrayOutput) +} + +type GetIsLbListenerPolicyTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTargetDeletedOutput) ToGetIsLbListenerPolicyTargetDeletedOutput() GetIsLbListenerPolicyTargetDeletedOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetDeletedOutput) ToGetIsLbListenerPolicyTargetDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerPolicyTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTargetDeletedArrayOutput) ToGetIsLbListenerPolicyTargetDeletedArrayOutput() GetIsLbListenerPolicyTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetDeletedArrayOutput) ToGetIsLbListenerPolicyTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyTargetDeleted { + return vs[0].([]GetIsLbListenerPolicyTargetDeleted)[vs[1].(int)] + }).(GetIsLbListenerPolicyTargetDeletedOutput) +} + +type GetIsLbListenerPolicyTargetListener struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenerPolicyTargetListenerDeleted `pulumi:"deleteds"` + // The listener's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id string `pulumi:"id"` +} + +// GetIsLbListenerPolicyTargetListenerInput is an input type that accepts GetIsLbListenerPolicyTargetListenerArgs and GetIsLbListenerPolicyTargetListenerOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTargetListenerInput` via: +// +// GetIsLbListenerPolicyTargetListenerArgs{...} +type GetIsLbListenerPolicyTargetListenerInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTargetListenerOutput() GetIsLbListenerPolicyTargetListenerOutput + ToGetIsLbListenerPolicyTargetListenerOutputWithContext(context.Context) GetIsLbListenerPolicyTargetListenerOutput +} + +type GetIsLbListenerPolicyTargetListenerArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenerPolicyTargetListenerDeletedArrayInput `pulumi:"deleteds"` + // The listener's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbListenerPolicyTargetListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyTargetListener)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTargetListenerArgs) ToGetIsLbListenerPolicyTargetListenerOutput() GetIsLbListenerPolicyTargetListenerOutput { + return i.ToGetIsLbListenerPolicyTargetListenerOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTargetListenerArgs) ToGetIsLbListenerPolicyTargetListenerOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTargetListenerOutput) +} + +// GetIsLbListenerPolicyTargetListenerArrayInput is an input type that accepts GetIsLbListenerPolicyTargetListenerArray and GetIsLbListenerPolicyTargetListenerArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTargetListenerArrayInput` via: +// +// GetIsLbListenerPolicyTargetListenerArray{ GetIsLbListenerPolicyTargetListenerArgs{...} } +type GetIsLbListenerPolicyTargetListenerArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTargetListenerArrayOutput() GetIsLbListenerPolicyTargetListenerArrayOutput + ToGetIsLbListenerPolicyTargetListenerArrayOutputWithContext(context.Context) GetIsLbListenerPolicyTargetListenerArrayOutput +} + +type GetIsLbListenerPolicyTargetListenerArray []GetIsLbListenerPolicyTargetListenerInput + +func (GetIsLbListenerPolicyTargetListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyTargetListener)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTargetListenerArray) ToGetIsLbListenerPolicyTargetListenerArrayOutput() GetIsLbListenerPolicyTargetListenerArrayOutput { + return i.ToGetIsLbListenerPolicyTargetListenerArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTargetListenerArray) ToGetIsLbListenerPolicyTargetListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTargetListenerArrayOutput) +} + +type GetIsLbListenerPolicyTargetListenerOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTargetListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyTargetListener)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTargetListenerOutput) ToGetIsLbListenerPolicyTargetListenerOutput() GetIsLbListenerPolicyTargetListenerOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetListenerOutput) ToGetIsLbListenerPolicyTargetListenerOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetListenerOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenerPolicyTargetListenerOutput) Deleteds() GetIsLbListenerPolicyTargetListenerDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTargetListener) []GetIsLbListenerPolicyTargetListenerDeleted { + return v.Deleteds + }).(GetIsLbListenerPolicyTargetListenerDeletedArrayOutput) +} + +// The listener's canonical URL. +func (o GetIsLbListenerPolicyTargetListenerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTargetListener) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer listener. +func (o GetIsLbListenerPolicyTargetListenerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTargetListener) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyTargetListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTargetListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyTargetListener)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTargetListenerArrayOutput) ToGetIsLbListenerPolicyTargetListenerArrayOutput() GetIsLbListenerPolicyTargetListenerArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetListenerArrayOutput) ToGetIsLbListenerPolicyTargetListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetListenerArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetListenerArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyTargetListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyTargetListener { + return vs[0].([]GetIsLbListenerPolicyTargetListener)[vs[1].(int)] + }).(GetIsLbListenerPolicyTargetListenerOutput) +} + +type GetIsLbListenerPolicyTargetListenerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenerPolicyTargetListenerDeletedInput is an input type that accepts GetIsLbListenerPolicyTargetListenerDeletedArgs and GetIsLbListenerPolicyTargetListenerDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTargetListenerDeletedInput` via: +// +// GetIsLbListenerPolicyTargetListenerDeletedArgs{...} +type GetIsLbListenerPolicyTargetListenerDeletedInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTargetListenerDeletedOutput() GetIsLbListenerPolicyTargetListenerDeletedOutput + ToGetIsLbListenerPolicyTargetListenerDeletedOutputWithContext(context.Context) GetIsLbListenerPolicyTargetListenerDeletedOutput +} + +type GetIsLbListenerPolicyTargetListenerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenerPolicyTargetListenerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTargetListenerDeletedArgs) ToGetIsLbListenerPolicyTargetListenerDeletedOutput() GetIsLbListenerPolicyTargetListenerDeletedOutput { + return i.ToGetIsLbListenerPolicyTargetListenerDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTargetListenerDeletedArgs) ToGetIsLbListenerPolicyTargetListenerDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetListenerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTargetListenerDeletedOutput) +} + +// GetIsLbListenerPolicyTargetListenerDeletedArrayInput is an input type that accepts GetIsLbListenerPolicyTargetListenerDeletedArray and GetIsLbListenerPolicyTargetListenerDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenerPolicyTargetListenerDeletedArrayInput` via: +// +// GetIsLbListenerPolicyTargetListenerDeletedArray{ GetIsLbListenerPolicyTargetListenerDeletedArgs{...} } +type GetIsLbListenerPolicyTargetListenerDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenerPolicyTargetListenerDeletedArrayOutput() GetIsLbListenerPolicyTargetListenerDeletedArrayOutput + ToGetIsLbListenerPolicyTargetListenerDeletedArrayOutputWithContext(context.Context) GetIsLbListenerPolicyTargetListenerDeletedArrayOutput +} + +type GetIsLbListenerPolicyTargetListenerDeletedArray []GetIsLbListenerPolicyTargetListenerDeletedInput + +func (GetIsLbListenerPolicyTargetListenerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (i GetIsLbListenerPolicyTargetListenerDeletedArray) ToGetIsLbListenerPolicyTargetListenerDeletedArrayOutput() GetIsLbListenerPolicyTargetListenerDeletedArrayOutput { + return i.ToGetIsLbListenerPolicyTargetListenerDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenerPolicyTargetListenerDeletedArray) ToGetIsLbListenerPolicyTargetListenerDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetListenerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenerPolicyTargetListenerDeletedArrayOutput) +} + +type GetIsLbListenerPolicyTargetListenerDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTargetListenerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenerPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTargetListenerDeletedOutput) ToGetIsLbListenerPolicyTargetListenerDeletedOutput() GetIsLbListenerPolicyTargetListenerDeletedOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetListenerDeletedOutput) ToGetIsLbListenerPolicyTargetListenerDeletedOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetListenerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenerPolicyTargetListenerDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenerPolicyTargetListenerDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenerPolicyTargetListenerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenerPolicyTargetListenerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenerPolicyTargetListenerDeleted)(nil)).Elem() +} + +func (o GetIsLbListenerPolicyTargetListenerDeletedArrayOutput) ToGetIsLbListenerPolicyTargetListenerDeletedArrayOutput() GetIsLbListenerPolicyTargetListenerDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetListenerDeletedArrayOutput) ToGetIsLbListenerPolicyTargetListenerDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenerPolicyTargetListenerDeletedArrayOutput { + return o +} + +func (o GetIsLbListenerPolicyTargetListenerDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenerPolicyTargetListenerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenerPolicyTargetListenerDeleted { + return vs[0].([]GetIsLbListenerPolicyTargetListenerDeleted)[vs[1].(int)] + }).(GetIsLbListenerPolicyTargetListenerDeletedOutput) +} + +type GetIsLbListenersListener struct { + // If set to `true`, this listener will accept and forward PROXY protocol information. Supported by load balancers in the `application` family (otherwise always `false`). Additional restrictions:- If this listener has `httpsRedirect` specified, its `acceptProxyProtocol` value must match the `acceptProxyProtocol` value of the `httpsRedirect` listener.- If this listener is the target of another listener's `httpsRedirect`, its `acceptProxyProtocol` value must match that listener's `acceptProxyProtocol` value. + AcceptProxyProtocol bool `pulumi:"acceptProxyProtocol"` + // The certificate instance used for SSL termination. It is applicable only to `https`protocol. + CertificateInstances []GetIsLbListenersListenerCertificateInstance `pulumi:"certificateInstances"` + // The connection limit of the listener. + ConnectionLimit int `pulumi:"connectionLimit"` + // The date and time that this listener was created. + CreatedAt string `pulumi:"createdAt"` + // The default pool associated with the listener. + DefaultPools []GetIsLbListenersListenerDefaultPool `pulumi:"defaultPools"` + // The listener's canonical URL. + Href string `pulumi:"href"` + // If specified, the target listener that requests are redirected to. + HttpsRedirects []GetIsLbListenersListenerHttpsRedirect `pulumi:"httpsRedirects"` + // The unique identifier for this load balancer listener. + Id string `pulumi:"id"` + // idle connection timeout of listener + IdleConnectionTimeout int `pulumi:"idleConnectionTimeout"` + // The policies for this listener. + Policies []GetIsLbListenersListenerPolicy `pulumi:"policies"` + // The listener port number, or the inclusive lower bound of the port range. Each listener in the load balancer must have a unique `port` and `protocol` combination. + Port int `pulumi:"port"` + // The inclusive upper bound of the range of ports used by this listener.Only load balancers in the `network` family support more than one port per listener. + PortMax int `pulumi:"portMax"` + // The inclusive lower bound of the range of ports used by this listener.Only load balancers in the `network` family support more than one port per listener. + PortMin int `pulumi:"portMin"` + // The listener protocol. Load balancers in the `network` family support `tcp`. Load balancers in the `application` family support `tcp`, `http`, and `https`. Each listener in the load balancer must have a unique `port` and `protocol` combination. + Protocol string `pulumi:"protocol"` + // The provisioning status of this listener. + ProvisioningStatus string `pulumi:"provisioningStatus"` +} + +// GetIsLbListenersListenerInput is an input type that accepts GetIsLbListenersListenerArgs and GetIsLbListenersListenerOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerInput` via: +// +// GetIsLbListenersListenerArgs{...} +type GetIsLbListenersListenerInput interface { + pulumi.Input + + ToGetIsLbListenersListenerOutput() GetIsLbListenersListenerOutput + ToGetIsLbListenersListenerOutputWithContext(context.Context) GetIsLbListenersListenerOutput +} + +type GetIsLbListenersListenerArgs struct { + // If set to `true`, this listener will accept and forward PROXY protocol information. Supported by load balancers in the `application` family (otherwise always `false`). Additional restrictions:- If this listener has `httpsRedirect` specified, its `acceptProxyProtocol` value must match the `acceptProxyProtocol` value of the `httpsRedirect` listener.- If this listener is the target of another listener's `httpsRedirect`, its `acceptProxyProtocol` value must match that listener's `acceptProxyProtocol` value. + AcceptProxyProtocol pulumi.BoolInput `pulumi:"acceptProxyProtocol"` + // The certificate instance used for SSL termination. It is applicable only to `https`protocol. + CertificateInstances GetIsLbListenersListenerCertificateInstanceArrayInput `pulumi:"certificateInstances"` + // The connection limit of the listener. + ConnectionLimit pulumi.IntInput `pulumi:"connectionLimit"` + // The date and time that this listener was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The default pool associated with the listener. + DefaultPools GetIsLbListenersListenerDefaultPoolArrayInput `pulumi:"defaultPools"` + // The listener's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // If specified, the target listener that requests are redirected to. + HttpsRedirects GetIsLbListenersListenerHttpsRedirectArrayInput `pulumi:"httpsRedirects"` + // The unique identifier for this load balancer listener. + Id pulumi.StringInput `pulumi:"id"` + // idle connection timeout of listener + IdleConnectionTimeout pulumi.IntInput `pulumi:"idleConnectionTimeout"` + // The policies for this listener. + Policies GetIsLbListenersListenerPolicyArrayInput `pulumi:"policies"` + // The listener port number, or the inclusive lower bound of the port range. Each listener in the load balancer must have a unique `port` and `protocol` combination. + Port pulumi.IntInput `pulumi:"port"` + // The inclusive upper bound of the range of ports used by this listener.Only load balancers in the `network` family support more than one port per listener. + PortMax pulumi.IntInput `pulumi:"portMax"` + // The inclusive lower bound of the range of ports used by this listener.Only load balancers in the `network` family support more than one port per listener. + PortMin pulumi.IntInput `pulumi:"portMin"` + // The listener protocol. Load balancers in the `network` family support `tcp`. Load balancers in the `application` family support `tcp`, `http`, and `https`. Each listener in the load balancer must have a unique `port` and `protocol` combination. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The provisioning status of this listener. + ProvisioningStatus pulumi.StringInput `pulumi:"provisioningStatus"` +} + +func (GetIsLbListenersListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListener)(nil)).Elem() +} + +func (i GetIsLbListenersListenerArgs) ToGetIsLbListenersListenerOutput() GetIsLbListenersListenerOutput { + return i.ToGetIsLbListenersListenerOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerArgs) ToGetIsLbListenersListenerOutputWithContext(ctx context.Context) GetIsLbListenersListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerOutput) +} + +// GetIsLbListenersListenerArrayInput is an input type that accepts GetIsLbListenersListenerArray and GetIsLbListenersListenerArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerArrayInput` via: +// +// GetIsLbListenersListenerArray{ GetIsLbListenersListenerArgs{...} } +type GetIsLbListenersListenerArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerArrayOutput() GetIsLbListenersListenerArrayOutput + ToGetIsLbListenersListenerArrayOutputWithContext(context.Context) GetIsLbListenersListenerArrayOutput +} + +type GetIsLbListenersListenerArray []GetIsLbListenersListenerInput + +func (GetIsLbListenersListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListener)(nil)).Elem() +} + +func (i GetIsLbListenersListenerArray) ToGetIsLbListenersListenerArrayOutput() GetIsLbListenersListenerArrayOutput { + return i.ToGetIsLbListenersListenerArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerArray) ToGetIsLbListenersListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerArrayOutput) +} + +type GetIsLbListenersListenerOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListener)(nil)).Elem() +} + +func (o GetIsLbListenersListenerOutput) ToGetIsLbListenersListenerOutput() GetIsLbListenersListenerOutput { + return o +} + +func (o GetIsLbListenersListenerOutput) ToGetIsLbListenersListenerOutputWithContext(ctx context.Context) GetIsLbListenersListenerOutput { + return o +} + +// If set to `true`, this listener will accept and forward PROXY protocol information. Supported by load balancers in the `application` family (otherwise always `false`). Additional restrictions:- If this listener has `httpsRedirect` specified, its `acceptProxyProtocol` value must match the `acceptProxyProtocol` value of the `httpsRedirect` listener.- If this listener is the target of another listener's `httpsRedirect`, its `acceptProxyProtocol` value must match that listener's `acceptProxyProtocol` value. +func (o GetIsLbListenersListenerOutput) AcceptProxyProtocol() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbListenersListener) bool { return v.AcceptProxyProtocol }).(pulumi.BoolOutput) +} + +// The certificate instance used for SSL termination. It is applicable only to `https`protocol. +func (o GetIsLbListenersListenerOutput) CertificateInstances() GetIsLbListenersListenerCertificateInstanceArrayOutput { + return o.ApplyT(func(v GetIsLbListenersListener) []GetIsLbListenersListenerCertificateInstance { + return v.CertificateInstances + }).(GetIsLbListenersListenerCertificateInstanceArrayOutput) +} + +// The connection limit of the listener. +func (o GetIsLbListenersListenerOutput) ConnectionLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenersListener) int { return v.ConnectionLimit }).(pulumi.IntOutput) +} + +// The date and time that this listener was created. +func (o GetIsLbListenersListenerOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListener) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The default pool associated with the listener. +func (o GetIsLbListenersListenerOutput) DefaultPools() GetIsLbListenersListenerDefaultPoolArrayOutput { + return o.ApplyT(func(v GetIsLbListenersListener) []GetIsLbListenersListenerDefaultPool { return v.DefaultPools }).(GetIsLbListenersListenerDefaultPoolArrayOutput) +} + +// The listener's canonical URL. +func (o GetIsLbListenersListenerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListener) string { return v.Href }).(pulumi.StringOutput) +} + +// If specified, the target listener that requests are redirected to. +func (o GetIsLbListenersListenerOutput) HttpsRedirects() GetIsLbListenersListenerHttpsRedirectArrayOutput { + return o.ApplyT(func(v GetIsLbListenersListener) []GetIsLbListenersListenerHttpsRedirect { return v.HttpsRedirects }).(GetIsLbListenersListenerHttpsRedirectArrayOutput) +} + +// The unique identifier for this load balancer listener. +func (o GetIsLbListenersListenerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListener) string { return v.Id }).(pulumi.StringOutput) +} + +// idle connection timeout of listener +func (o GetIsLbListenersListenerOutput) IdleConnectionTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenersListener) int { return v.IdleConnectionTimeout }).(pulumi.IntOutput) +} + +// The policies for this listener. +func (o GetIsLbListenersListenerOutput) Policies() GetIsLbListenersListenerPolicyArrayOutput { + return o.ApplyT(func(v GetIsLbListenersListener) []GetIsLbListenersListenerPolicy { return v.Policies }).(GetIsLbListenersListenerPolicyArrayOutput) +} + +// The listener port number, or the inclusive lower bound of the port range. Each listener in the load balancer must have a unique `port` and `protocol` combination. +func (o GetIsLbListenersListenerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenersListener) int { return v.Port }).(pulumi.IntOutput) +} + +// The inclusive upper bound of the range of ports used by this listener.Only load balancers in the `network` family support more than one port per listener. +func (o GetIsLbListenersListenerOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenersListener) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The inclusive lower bound of the range of ports used by this listener.Only load balancers in the `network` family support more than one port per listener. +func (o GetIsLbListenersListenerOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenersListener) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The listener protocol. Load balancers in the `network` family support `tcp`. Load balancers in the `application` family support `tcp`, `http`, and `https`. Each listener in the load balancer must have a unique `port` and `protocol` combination. +func (o GetIsLbListenersListenerOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListener) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning status of this listener. +func (o GetIsLbListenersListenerOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListener) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListener)(nil)).Elem() +} + +func (o GetIsLbListenersListenerArrayOutput) ToGetIsLbListenersListenerArrayOutput() GetIsLbListenersListenerArrayOutput { + return o +} + +func (o GetIsLbListenersListenerArrayOutput) ToGetIsLbListenersListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerArrayOutput { + return o +} + +func (o GetIsLbListenersListenerArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListener { + return vs[0].([]GetIsLbListenersListener)[vs[1].(int)] + }).(GetIsLbListenersListenerOutput) +} + +type GetIsLbListenersListenerCertificateInstance struct { + // The CRN for this certificate instance. + Crn string `pulumi:"crn"` +} + +// GetIsLbListenersListenerCertificateInstanceInput is an input type that accepts GetIsLbListenersListenerCertificateInstanceArgs and GetIsLbListenersListenerCertificateInstanceOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerCertificateInstanceInput` via: +// +// GetIsLbListenersListenerCertificateInstanceArgs{...} +type GetIsLbListenersListenerCertificateInstanceInput interface { + pulumi.Input + + ToGetIsLbListenersListenerCertificateInstanceOutput() GetIsLbListenersListenerCertificateInstanceOutput + ToGetIsLbListenersListenerCertificateInstanceOutputWithContext(context.Context) GetIsLbListenersListenerCertificateInstanceOutput +} + +type GetIsLbListenersListenerCertificateInstanceArgs struct { + // The CRN for this certificate instance. + Crn pulumi.StringInput `pulumi:"crn"` +} + +func (GetIsLbListenersListenerCertificateInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerCertificateInstance)(nil)).Elem() +} + +func (i GetIsLbListenersListenerCertificateInstanceArgs) ToGetIsLbListenersListenerCertificateInstanceOutput() GetIsLbListenersListenerCertificateInstanceOutput { + return i.ToGetIsLbListenersListenerCertificateInstanceOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerCertificateInstanceArgs) ToGetIsLbListenersListenerCertificateInstanceOutputWithContext(ctx context.Context) GetIsLbListenersListenerCertificateInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerCertificateInstanceOutput) +} + +// GetIsLbListenersListenerCertificateInstanceArrayInput is an input type that accepts GetIsLbListenersListenerCertificateInstanceArray and GetIsLbListenersListenerCertificateInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerCertificateInstanceArrayInput` via: +// +// GetIsLbListenersListenerCertificateInstanceArray{ GetIsLbListenersListenerCertificateInstanceArgs{...} } +type GetIsLbListenersListenerCertificateInstanceArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerCertificateInstanceArrayOutput() GetIsLbListenersListenerCertificateInstanceArrayOutput + ToGetIsLbListenersListenerCertificateInstanceArrayOutputWithContext(context.Context) GetIsLbListenersListenerCertificateInstanceArrayOutput +} + +type GetIsLbListenersListenerCertificateInstanceArray []GetIsLbListenersListenerCertificateInstanceInput + +func (GetIsLbListenersListenerCertificateInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerCertificateInstance)(nil)).Elem() +} + +func (i GetIsLbListenersListenerCertificateInstanceArray) ToGetIsLbListenersListenerCertificateInstanceArrayOutput() GetIsLbListenersListenerCertificateInstanceArrayOutput { + return i.ToGetIsLbListenersListenerCertificateInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerCertificateInstanceArray) ToGetIsLbListenersListenerCertificateInstanceArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerCertificateInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerCertificateInstanceArrayOutput) +} + +type GetIsLbListenersListenerCertificateInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerCertificateInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerCertificateInstance)(nil)).Elem() +} + +func (o GetIsLbListenersListenerCertificateInstanceOutput) ToGetIsLbListenersListenerCertificateInstanceOutput() GetIsLbListenersListenerCertificateInstanceOutput { + return o +} + +func (o GetIsLbListenersListenerCertificateInstanceOutput) ToGetIsLbListenersListenerCertificateInstanceOutputWithContext(ctx context.Context) GetIsLbListenersListenerCertificateInstanceOutput { + return o +} + +// The CRN for this certificate instance. +func (o GetIsLbListenersListenerCertificateInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerCertificateInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerCertificateInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerCertificateInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerCertificateInstance)(nil)).Elem() +} + +func (o GetIsLbListenersListenerCertificateInstanceArrayOutput) ToGetIsLbListenersListenerCertificateInstanceArrayOutput() GetIsLbListenersListenerCertificateInstanceArrayOutput { + return o +} + +func (o GetIsLbListenersListenerCertificateInstanceArrayOutput) ToGetIsLbListenersListenerCertificateInstanceArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerCertificateInstanceArrayOutput { + return o +} + +func (o GetIsLbListenersListenerCertificateInstanceArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerCertificateInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListenerCertificateInstance { + return vs[0].([]GetIsLbListenersListenerCertificateInstance)[vs[1].(int)] + }).(GetIsLbListenersListenerCertificateInstanceOutput) +} + +type GetIsLbListenersListenerDefaultPool struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenersListenerDefaultPoolDeleted `pulumi:"deleteds"` + // The pool's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id string `pulumi:"id"` + // The user-defined name for this load balancer pool. + Name string `pulumi:"name"` +} + +// GetIsLbListenersListenerDefaultPoolInput is an input type that accepts GetIsLbListenersListenerDefaultPoolArgs and GetIsLbListenersListenerDefaultPoolOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerDefaultPoolInput` via: +// +// GetIsLbListenersListenerDefaultPoolArgs{...} +type GetIsLbListenersListenerDefaultPoolInput interface { + pulumi.Input + + ToGetIsLbListenersListenerDefaultPoolOutput() GetIsLbListenersListenerDefaultPoolOutput + ToGetIsLbListenersListenerDefaultPoolOutputWithContext(context.Context) GetIsLbListenersListenerDefaultPoolOutput +} + +type GetIsLbListenersListenerDefaultPoolArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenersListenerDefaultPoolDeletedArrayInput `pulumi:"deleteds"` + // The pool's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this load balancer pool. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbListenersListenerDefaultPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerDefaultPool)(nil)).Elem() +} + +func (i GetIsLbListenersListenerDefaultPoolArgs) ToGetIsLbListenersListenerDefaultPoolOutput() GetIsLbListenersListenerDefaultPoolOutput { + return i.ToGetIsLbListenersListenerDefaultPoolOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerDefaultPoolArgs) ToGetIsLbListenersListenerDefaultPoolOutputWithContext(ctx context.Context) GetIsLbListenersListenerDefaultPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerDefaultPoolOutput) +} + +// GetIsLbListenersListenerDefaultPoolArrayInput is an input type that accepts GetIsLbListenersListenerDefaultPoolArray and GetIsLbListenersListenerDefaultPoolArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerDefaultPoolArrayInput` via: +// +// GetIsLbListenersListenerDefaultPoolArray{ GetIsLbListenersListenerDefaultPoolArgs{...} } +type GetIsLbListenersListenerDefaultPoolArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerDefaultPoolArrayOutput() GetIsLbListenersListenerDefaultPoolArrayOutput + ToGetIsLbListenersListenerDefaultPoolArrayOutputWithContext(context.Context) GetIsLbListenersListenerDefaultPoolArrayOutput +} + +type GetIsLbListenersListenerDefaultPoolArray []GetIsLbListenersListenerDefaultPoolInput + +func (GetIsLbListenersListenerDefaultPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerDefaultPool)(nil)).Elem() +} + +func (i GetIsLbListenersListenerDefaultPoolArray) ToGetIsLbListenersListenerDefaultPoolArrayOutput() GetIsLbListenersListenerDefaultPoolArrayOutput { + return i.ToGetIsLbListenersListenerDefaultPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerDefaultPoolArray) ToGetIsLbListenersListenerDefaultPoolArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerDefaultPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerDefaultPoolArrayOutput) +} + +type GetIsLbListenersListenerDefaultPoolOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerDefaultPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerDefaultPool)(nil)).Elem() +} + +func (o GetIsLbListenersListenerDefaultPoolOutput) ToGetIsLbListenersListenerDefaultPoolOutput() GetIsLbListenersListenerDefaultPoolOutput { + return o +} + +func (o GetIsLbListenersListenerDefaultPoolOutput) ToGetIsLbListenersListenerDefaultPoolOutputWithContext(ctx context.Context) GetIsLbListenersListenerDefaultPoolOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenersListenerDefaultPoolOutput) Deleteds() GetIsLbListenersListenerDefaultPoolDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenersListenerDefaultPool) []GetIsLbListenersListenerDefaultPoolDeleted { + return v.Deleteds + }).(GetIsLbListenersListenerDefaultPoolDeletedArrayOutput) +} + +// The pool's canonical URL. +func (o GetIsLbListenersListenerDefaultPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerDefaultPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool. +func (o GetIsLbListenersListenerDefaultPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerDefaultPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this load balancer pool. +func (o GetIsLbListenersListenerDefaultPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerDefaultPool) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerDefaultPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerDefaultPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerDefaultPool)(nil)).Elem() +} + +func (o GetIsLbListenersListenerDefaultPoolArrayOutput) ToGetIsLbListenersListenerDefaultPoolArrayOutput() GetIsLbListenersListenerDefaultPoolArrayOutput { + return o +} + +func (o GetIsLbListenersListenerDefaultPoolArrayOutput) ToGetIsLbListenersListenerDefaultPoolArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerDefaultPoolArrayOutput { + return o +} + +func (o GetIsLbListenersListenerDefaultPoolArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerDefaultPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListenerDefaultPool { + return vs[0].([]GetIsLbListenersListenerDefaultPool)[vs[1].(int)] + }).(GetIsLbListenersListenerDefaultPoolOutput) +} + +type GetIsLbListenersListenerDefaultPoolDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenersListenerDefaultPoolDeletedInput is an input type that accepts GetIsLbListenersListenerDefaultPoolDeletedArgs and GetIsLbListenersListenerDefaultPoolDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerDefaultPoolDeletedInput` via: +// +// GetIsLbListenersListenerDefaultPoolDeletedArgs{...} +type GetIsLbListenersListenerDefaultPoolDeletedInput interface { + pulumi.Input + + ToGetIsLbListenersListenerDefaultPoolDeletedOutput() GetIsLbListenersListenerDefaultPoolDeletedOutput + ToGetIsLbListenersListenerDefaultPoolDeletedOutputWithContext(context.Context) GetIsLbListenersListenerDefaultPoolDeletedOutput +} + +type GetIsLbListenersListenerDefaultPoolDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenersListenerDefaultPoolDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerDefaultPoolDeleted)(nil)).Elem() +} + +func (i GetIsLbListenersListenerDefaultPoolDeletedArgs) ToGetIsLbListenersListenerDefaultPoolDeletedOutput() GetIsLbListenersListenerDefaultPoolDeletedOutput { + return i.ToGetIsLbListenersListenerDefaultPoolDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerDefaultPoolDeletedArgs) ToGetIsLbListenersListenerDefaultPoolDeletedOutputWithContext(ctx context.Context) GetIsLbListenersListenerDefaultPoolDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerDefaultPoolDeletedOutput) +} + +// GetIsLbListenersListenerDefaultPoolDeletedArrayInput is an input type that accepts GetIsLbListenersListenerDefaultPoolDeletedArray and GetIsLbListenersListenerDefaultPoolDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerDefaultPoolDeletedArrayInput` via: +// +// GetIsLbListenersListenerDefaultPoolDeletedArray{ GetIsLbListenersListenerDefaultPoolDeletedArgs{...} } +type GetIsLbListenersListenerDefaultPoolDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerDefaultPoolDeletedArrayOutput() GetIsLbListenersListenerDefaultPoolDeletedArrayOutput + ToGetIsLbListenersListenerDefaultPoolDeletedArrayOutputWithContext(context.Context) GetIsLbListenersListenerDefaultPoolDeletedArrayOutput +} + +type GetIsLbListenersListenerDefaultPoolDeletedArray []GetIsLbListenersListenerDefaultPoolDeletedInput + +func (GetIsLbListenersListenerDefaultPoolDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerDefaultPoolDeleted)(nil)).Elem() +} + +func (i GetIsLbListenersListenerDefaultPoolDeletedArray) ToGetIsLbListenersListenerDefaultPoolDeletedArrayOutput() GetIsLbListenersListenerDefaultPoolDeletedArrayOutput { + return i.ToGetIsLbListenersListenerDefaultPoolDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerDefaultPoolDeletedArray) ToGetIsLbListenersListenerDefaultPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerDefaultPoolDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerDefaultPoolDeletedArrayOutput) +} + +type GetIsLbListenersListenerDefaultPoolDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerDefaultPoolDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerDefaultPoolDeleted)(nil)).Elem() +} + +func (o GetIsLbListenersListenerDefaultPoolDeletedOutput) ToGetIsLbListenersListenerDefaultPoolDeletedOutput() GetIsLbListenersListenerDefaultPoolDeletedOutput { + return o +} + +func (o GetIsLbListenersListenerDefaultPoolDeletedOutput) ToGetIsLbListenersListenerDefaultPoolDeletedOutputWithContext(ctx context.Context) GetIsLbListenersListenerDefaultPoolDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenersListenerDefaultPoolDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerDefaultPoolDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerDefaultPoolDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerDefaultPoolDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerDefaultPoolDeleted)(nil)).Elem() +} + +func (o GetIsLbListenersListenerDefaultPoolDeletedArrayOutput) ToGetIsLbListenersListenerDefaultPoolDeletedArrayOutput() GetIsLbListenersListenerDefaultPoolDeletedArrayOutput { + return o +} + +func (o GetIsLbListenersListenerDefaultPoolDeletedArrayOutput) ToGetIsLbListenersListenerDefaultPoolDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerDefaultPoolDeletedArrayOutput { + return o +} + +func (o GetIsLbListenersListenerDefaultPoolDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerDefaultPoolDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListenerDefaultPoolDeleted { + return vs[0].([]GetIsLbListenersListenerDefaultPoolDeleted)[vs[1].(int)] + }).(GetIsLbListenersListenerDefaultPoolDeletedOutput) +} + +type GetIsLbListenersListenerHttpsRedirect struct { + // The HTTP status code for this redirect. + HttpStatusCode int `pulumi:"httpStatusCode"` + Listeners []GetIsLbListenersListenerHttpsRedirectListener `pulumi:"listeners"` + // The redirect relative target URI. + Uri string `pulumi:"uri"` +} + +// GetIsLbListenersListenerHttpsRedirectInput is an input type that accepts GetIsLbListenersListenerHttpsRedirectArgs and GetIsLbListenersListenerHttpsRedirectOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerHttpsRedirectInput` via: +// +// GetIsLbListenersListenerHttpsRedirectArgs{...} +type GetIsLbListenersListenerHttpsRedirectInput interface { + pulumi.Input + + ToGetIsLbListenersListenerHttpsRedirectOutput() GetIsLbListenersListenerHttpsRedirectOutput + ToGetIsLbListenersListenerHttpsRedirectOutputWithContext(context.Context) GetIsLbListenersListenerHttpsRedirectOutput +} + +type GetIsLbListenersListenerHttpsRedirectArgs struct { + // The HTTP status code for this redirect. + HttpStatusCode pulumi.IntInput `pulumi:"httpStatusCode"` + Listeners GetIsLbListenersListenerHttpsRedirectListenerArrayInput `pulumi:"listeners"` + // The redirect relative target URI. + Uri pulumi.StringInput `pulumi:"uri"` +} + +func (GetIsLbListenersListenerHttpsRedirectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirect)(nil)).Elem() +} + +func (i GetIsLbListenersListenerHttpsRedirectArgs) ToGetIsLbListenersListenerHttpsRedirectOutput() GetIsLbListenersListenerHttpsRedirectOutput { + return i.ToGetIsLbListenersListenerHttpsRedirectOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerHttpsRedirectArgs) ToGetIsLbListenersListenerHttpsRedirectOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerHttpsRedirectOutput) +} + +// GetIsLbListenersListenerHttpsRedirectArrayInput is an input type that accepts GetIsLbListenersListenerHttpsRedirectArray and GetIsLbListenersListenerHttpsRedirectArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerHttpsRedirectArrayInput` via: +// +// GetIsLbListenersListenerHttpsRedirectArray{ GetIsLbListenersListenerHttpsRedirectArgs{...} } +type GetIsLbListenersListenerHttpsRedirectArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerHttpsRedirectArrayOutput() GetIsLbListenersListenerHttpsRedirectArrayOutput + ToGetIsLbListenersListenerHttpsRedirectArrayOutputWithContext(context.Context) GetIsLbListenersListenerHttpsRedirectArrayOutput +} + +type GetIsLbListenersListenerHttpsRedirectArray []GetIsLbListenersListenerHttpsRedirectInput + +func (GetIsLbListenersListenerHttpsRedirectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerHttpsRedirect)(nil)).Elem() +} + +func (i GetIsLbListenersListenerHttpsRedirectArray) ToGetIsLbListenersListenerHttpsRedirectArrayOutput() GetIsLbListenersListenerHttpsRedirectArrayOutput { + return i.ToGetIsLbListenersListenerHttpsRedirectArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerHttpsRedirectArray) ToGetIsLbListenersListenerHttpsRedirectArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerHttpsRedirectArrayOutput) +} + +type GetIsLbListenersListenerHttpsRedirectOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerHttpsRedirectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirect)(nil)).Elem() +} + +func (o GetIsLbListenersListenerHttpsRedirectOutput) ToGetIsLbListenersListenerHttpsRedirectOutput() GetIsLbListenersListenerHttpsRedirectOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectOutput) ToGetIsLbListenersListenerHttpsRedirectOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectOutput { + return o +} + +// The HTTP status code for this redirect. +func (o GetIsLbListenersListenerHttpsRedirectOutput) HttpStatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbListenersListenerHttpsRedirect) int { return v.HttpStatusCode }).(pulumi.IntOutput) +} + +func (o GetIsLbListenersListenerHttpsRedirectOutput) Listeners() GetIsLbListenersListenerHttpsRedirectListenerArrayOutput { + return o.ApplyT(func(v GetIsLbListenersListenerHttpsRedirect) []GetIsLbListenersListenerHttpsRedirectListener { + return v.Listeners + }).(GetIsLbListenersListenerHttpsRedirectListenerArrayOutput) +} + +// The redirect relative target URI. +func (o GetIsLbListenersListenerHttpsRedirectOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerHttpsRedirect) string { return v.Uri }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerHttpsRedirectArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerHttpsRedirectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerHttpsRedirect)(nil)).Elem() +} + +func (o GetIsLbListenersListenerHttpsRedirectArrayOutput) ToGetIsLbListenersListenerHttpsRedirectArrayOutput() GetIsLbListenersListenerHttpsRedirectArrayOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectArrayOutput) ToGetIsLbListenersListenerHttpsRedirectArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectArrayOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerHttpsRedirectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListenerHttpsRedirect { + return vs[0].([]GetIsLbListenersListenerHttpsRedirect)[vs[1].(int)] + }).(GetIsLbListenersListenerHttpsRedirectOutput) +} + +type GetIsLbListenersListenerHttpsRedirectListener struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenersListenerHttpsRedirectListenerDeleted `pulumi:"deleteds"` + // The listener's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id string `pulumi:"id"` +} + +// GetIsLbListenersListenerHttpsRedirectListenerInput is an input type that accepts GetIsLbListenersListenerHttpsRedirectListenerArgs and GetIsLbListenersListenerHttpsRedirectListenerOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerHttpsRedirectListenerInput` via: +// +// GetIsLbListenersListenerHttpsRedirectListenerArgs{...} +type GetIsLbListenersListenerHttpsRedirectListenerInput interface { + pulumi.Input + + ToGetIsLbListenersListenerHttpsRedirectListenerOutput() GetIsLbListenersListenerHttpsRedirectListenerOutput + ToGetIsLbListenersListenerHttpsRedirectListenerOutputWithContext(context.Context) GetIsLbListenersListenerHttpsRedirectListenerOutput +} + +type GetIsLbListenersListenerHttpsRedirectListenerArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayInput `pulumi:"deleteds"` + // The listener's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer listener. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbListenersListenerHttpsRedirectListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectListener)(nil)).Elem() +} + +func (i GetIsLbListenersListenerHttpsRedirectListenerArgs) ToGetIsLbListenersListenerHttpsRedirectListenerOutput() GetIsLbListenersListenerHttpsRedirectListenerOutput { + return i.ToGetIsLbListenersListenerHttpsRedirectListenerOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerHttpsRedirectListenerArgs) ToGetIsLbListenersListenerHttpsRedirectListenerOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerHttpsRedirectListenerOutput) +} + +// GetIsLbListenersListenerHttpsRedirectListenerArrayInput is an input type that accepts GetIsLbListenersListenerHttpsRedirectListenerArray and GetIsLbListenersListenerHttpsRedirectListenerArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerHttpsRedirectListenerArrayInput` via: +// +// GetIsLbListenersListenerHttpsRedirectListenerArray{ GetIsLbListenersListenerHttpsRedirectListenerArgs{...} } +type GetIsLbListenersListenerHttpsRedirectListenerArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerHttpsRedirectListenerArrayOutput() GetIsLbListenersListenerHttpsRedirectListenerArrayOutput + ToGetIsLbListenersListenerHttpsRedirectListenerArrayOutputWithContext(context.Context) GetIsLbListenersListenerHttpsRedirectListenerArrayOutput +} + +type GetIsLbListenersListenerHttpsRedirectListenerArray []GetIsLbListenersListenerHttpsRedirectListenerInput + +func (GetIsLbListenersListenerHttpsRedirectListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerHttpsRedirectListener)(nil)).Elem() +} + +func (i GetIsLbListenersListenerHttpsRedirectListenerArray) ToGetIsLbListenersListenerHttpsRedirectListenerArrayOutput() GetIsLbListenersListenerHttpsRedirectListenerArrayOutput { + return i.ToGetIsLbListenersListenerHttpsRedirectListenerArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerHttpsRedirectListenerArray) ToGetIsLbListenersListenerHttpsRedirectListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerHttpsRedirectListenerArrayOutput) +} + +type GetIsLbListenersListenerHttpsRedirectListenerOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerHttpsRedirectListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectListener)(nil)).Elem() +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerOutput) ToGetIsLbListenersListenerHttpsRedirectListenerOutput() GetIsLbListenersListenerHttpsRedirectListenerOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerOutput) ToGetIsLbListenersListenerHttpsRedirectListenerOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectListenerOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenersListenerHttpsRedirectListenerOutput) Deleteds() GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenersListenerHttpsRedirectListener) []GetIsLbListenersListenerHttpsRedirectListenerDeleted { + return v.Deleteds + }).(GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput) +} + +// The listener's canonical URL. +func (o GetIsLbListenersListenerHttpsRedirectListenerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerHttpsRedirectListener) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer listener. +func (o GetIsLbListenersListenerHttpsRedirectListenerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerHttpsRedirectListener) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerHttpsRedirectListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerHttpsRedirectListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerHttpsRedirectListener)(nil)).Elem() +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerArrayOutput) ToGetIsLbListenersListenerHttpsRedirectListenerArrayOutput() GetIsLbListenersListenerHttpsRedirectListenerArrayOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerArrayOutput) ToGetIsLbListenersListenerHttpsRedirectListenerArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectListenerArrayOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerHttpsRedirectListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListenerHttpsRedirectListener { + return vs[0].([]GetIsLbListenersListenerHttpsRedirectListener)[vs[1].(int)] + }).(GetIsLbListenersListenerHttpsRedirectListenerOutput) +} + +type GetIsLbListenersListenerHttpsRedirectListenerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenersListenerHttpsRedirectListenerDeletedInput is an input type that accepts GetIsLbListenersListenerHttpsRedirectListenerDeletedArgs and GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerHttpsRedirectListenerDeletedInput` via: +// +// GetIsLbListenersListenerHttpsRedirectListenerDeletedArgs{...} +type GetIsLbListenersListenerHttpsRedirectListenerDeletedInput interface { + pulumi.Input + + ToGetIsLbListenersListenerHttpsRedirectListenerDeletedOutput() GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput + ToGetIsLbListenersListenerHttpsRedirectListenerDeletedOutputWithContext(context.Context) GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput +} + +type GetIsLbListenersListenerHttpsRedirectListenerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenersListenerHttpsRedirectListenerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (i GetIsLbListenersListenerHttpsRedirectListenerDeletedArgs) ToGetIsLbListenersListenerHttpsRedirectListenerDeletedOutput() GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput { + return i.ToGetIsLbListenersListenerHttpsRedirectListenerDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerHttpsRedirectListenerDeletedArgs) ToGetIsLbListenersListenerHttpsRedirectListenerDeletedOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput) +} + +// GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayInput is an input type that accepts GetIsLbListenersListenerHttpsRedirectListenerDeletedArray and GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayInput` via: +// +// GetIsLbListenersListenerHttpsRedirectListenerDeletedArray{ GetIsLbListenersListenerHttpsRedirectListenerDeletedArgs{...} } +type GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput() GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput + ToGetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutputWithContext(context.Context) GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput +} + +type GetIsLbListenersListenerHttpsRedirectListenerDeletedArray []GetIsLbListenersListenerHttpsRedirectListenerDeletedInput + +func (GetIsLbListenersListenerHttpsRedirectListenerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (i GetIsLbListenersListenerHttpsRedirectListenerDeletedArray) ToGetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput() GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput { + return i.ToGetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerHttpsRedirectListenerDeletedArray) ToGetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput) +} + +type GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput) ToGetIsLbListenersListenerHttpsRedirectListenerDeletedOutput() GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput) ToGetIsLbListenersListenerHttpsRedirectListenerDeletedOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerHttpsRedirectListenerDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerHttpsRedirectListenerDeleted)(nil)).Elem() +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput) ToGetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput() GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput) ToGetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput { + return o +} + +func (o GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListenerHttpsRedirectListenerDeleted { + return vs[0].([]GetIsLbListenersListenerHttpsRedirectListenerDeleted)[vs[1].(int)] + }).(GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput) +} + +type GetIsLbListenersListenerPolicy struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbListenersListenerPolicyDeleted `pulumi:"deleteds"` + // The listener policy's canonical URL. + Href string `pulumi:"href"` + // The policy's unique identifier. + Id string `pulumi:"id"` +} + +// GetIsLbListenersListenerPolicyInput is an input type that accepts GetIsLbListenersListenerPolicyArgs and GetIsLbListenersListenerPolicyOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerPolicyInput` via: +// +// GetIsLbListenersListenerPolicyArgs{...} +type GetIsLbListenersListenerPolicyInput interface { + pulumi.Input + + ToGetIsLbListenersListenerPolicyOutput() GetIsLbListenersListenerPolicyOutput + ToGetIsLbListenersListenerPolicyOutputWithContext(context.Context) GetIsLbListenersListenerPolicyOutput +} + +type GetIsLbListenersListenerPolicyArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbListenersListenerPolicyDeletedArrayInput `pulumi:"deleteds"` + // The listener policy's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The policy's unique identifier. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbListenersListenerPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerPolicy)(nil)).Elem() +} + +func (i GetIsLbListenersListenerPolicyArgs) ToGetIsLbListenersListenerPolicyOutput() GetIsLbListenersListenerPolicyOutput { + return i.ToGetIsLbListenersListenerPolicyOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerPolicyArgs) ToGetIsLbListenersListenerPolicyOutputWithContext(ctx context.Context) GetIsLbListenersListenerPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerPolicyOutput) +} + +// GetIsLbListenersListenerPolicyArrayInput is an input type that accepts GetIsLbListenersListenerPolicyArray and GetIsLbListenersListenerPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerPolicyArrayInput` via: +// +// GetIsLbListenersListenerPolicyArray{ GetIsLbListenersListenerPolicyArgs{...} } +type GetIsLbListenersListenerPolicyArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerPolicyArrayOutput() GetIsLbListenersListenerPolicyArrayOutput + ToGetIsLbListenersListenerPolicyArrayOutputWithContext(context.Context) GetIsLbListenersListenerPolicyArrayOutput +} + +type GetIsLbListenersListenerPolicyArray []GetIsLbListenersListenerPolicyInput + +func (GetIsLbListenersListenerPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerPolicy)(nil)).Elem() +} + +func (i GetIsLbListenersListenerPolicyArray) ToGetIsLbListenersListenerPolicyArrayOutput() GetIsLbListenersListenerPolicyArrayOutput { + return i.ToGetIsLbListenersListenerPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerPolicyArray) ToGetIsLbListenersListenerPolicyArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerPolicyArrayOutput) +} + +type GetIsLbListenersListenerPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerPolicy)(nil)).Elem() +} + +func (o GetIsLbListenersListenerPolicyOutput) ToGetIsLbListenersListenerPolicyOutput() GetIsLbListenersListenerPolicyOutput { + return o +} + +func (o GetIsLbListenersListenerPolicyOutput) ToGetIsLbListenersListenerPolicyOutputWithContext(ctx context.Context) GetIsLbListenersListenerPolicyOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbListenersListenerPolicyOutput) Deleteds() GetIsLbListenersListenerPolicyDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbListenersListenerPolicy) []GetIsLbListenersListenerPolicyDeleted { return v.Deleteds }).(GetIsLbListenersListenerPolicyDeletedArrayOutput) +} + +// The listener policy's canonical URL. +func (o GetIsLbListenersListenerPolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerPolicy) string { return v.Href }).(pulumi.StringOutput) +} + +// The policy's unique identifier. +func (o GetIsLbListenersListenerPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerPolicy)(nil)).Elem() +} + +func (o GetIsLbListenersListenerPolicyArrayOutput) ToGetIsLbListenersListenerPolicyArrayOutput() GetIsLbListenersListenerPolicyArrayOutput { + return o +} + +func (o GetIsLbListenersListenerPolicyArrayOutput) ToGetIsLbListenersListenerPolicyArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerPolicyArrayOutput { + return o +} + +func (o GetIsLbListenersListenerPolicyArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListenerPolicy { + return vs[0].([]GetIsLbListenersListenerPolicy)[vs[1].(int)] + }).(GetIsLbListenersListenerPolicyOutput) +} + +type GetIsLbListenersListenerPolicyDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbListenersListenerPolicyDeletedInput is an input type that accepts GetIsLbListenersListenerPolicyDeletedArgs and GetIsLbListenersListenerPolicyDeletedOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerPolicyDeletedInput` via: +// +// GetIsLbListenersListenerPolicyDeletedArgs{...} +type GetIsLbListenersListenerPolicyDeletedInput interface { + pulumi.Input + + ToGetIsLbListenersListenerPolicyDeletedOutput() GetIsLbListenersListenerPolicyDeletedOutput + ToGetIsLbListenersListenerPolicyDeletedOutputWithContext(context.Context) GetIsLbListenersListenerPolicyDeletedOutput +} + +type GetIsLbListenersListenerPolicyDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbListenersListenerPolicyDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerPolicyDeleted)(nil)).Elem() +} + +func (i GetIsLbListenersListenerPolicyDeletedArgs) ToGetIsLbListenersListenerPolicyDeletedOutput() GetIsLbListenersListenerPolicyDeletedOutput { + return i.ToGetIsLbListenersListenerPolicyDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerPolicyDeletedArgs) ToGetIsLbListenersListenerPolicyDeletedOutputWithContext(ctx context.Context) GetIsLbListenersListenerPolicyDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerPolicyDeletedOutput) +} + +// GetIsLbListenersListenerPolicyDeletedArrayInput is an input type that accepts GetIsLbListenersListenerPolicyDeletedArray and GetIsLbListenersListenerPolicyDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbListenersListenerPolicyDeletedArrayInput` via: +// +// GetIsLbListenersListenerPolicyDeletedArray{ GetIsLbListenersListenerPolicyDeletedArgs{...} } +type GetIsLbListenersListenerPolicyDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbListenersListenerPolicyDeletedArrayOutput() GetIsLbListenersListenerPolicyDeletedArrayOutput + ToGetIsLbListenersListenerPolicyDeletedArrayOutputWithContext(context.Context) GetIsLbListenersListenerPolicyDeletedArrayOutput +} + +type GetIsLbListenersListenerPolicyDeletedArray []GetIsLbListenersListenerPolicyDeletedInput + +func (GetIsLbListenersListenerPolicyDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerPolicyDeleted)(nil)).Elem() +} + +func (i GetIsLbListenersListenerPolicyDeletedArray) ToGetIsLbListenersListenerPolicyDeletedArrayOutput() GetIsLbListenersListenerPolicyDeletedArrayOutput { + return i.ToGetIsLbListenersListenerPolicyDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbListenersListenerPolicyDeletedArray) ToGetIsLbListenersListenerPolicyDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerPolicyDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbListenersListenerPolicyDeletedArrayOutput) +} + +type GetIsLbListenersListenerPolicyDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerPolicyDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbListenersListenerPolicyDeleted)(nil)).Elem() +} + +func (o GetIsLbListenersListenerPolicyDeletedOutput) ToGetIsLbListenersListenerPolicyDeletedOutput() GetIsLbListenersListenerPolicyDeletedOutput { + return o +} + +func (o GetIsLbListenersListenerPolicyDeletedOutput) ToGetIsLbListenersListenerPolicyDeletedOutputWithContext(ctx context.Context) GetIsLbListenersListenerPolicyDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbListenersListenerPolicyDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbListenersListenerPolicyDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbListenersListenerPolicyDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbListenersListenerPolicyDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbListenersListenerPolicyDeleted)(nil)).Elem() +} + +func (o GetIsLbListenersListenerPolicyDeletedArrayOutput) ToGetIsLbListenersListenerPolicyDeletedArrayOutput() GetIsLbListenersListenerPolicyDeletedArrayOutput { + return o +} + +func (o GetIsLbListenersListenerPolicyDeletedArrayOutput) ToGetIsLbListenersListenerPolicyDeletedArrayOutputWithContext(ctx context.Context) GetIsLbListenersListenerPolicyDeletedArrayOutput { + return o +} + +func (o GetIsLbListenersListenerPolicyDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbListenersListenerPolicyDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbListenersListenerPolicyDeleted { + return vs[0].([]GetIsLbListenersListenerPolicyDeleted)[vs[1].(int)] + }).(GetIsLbListenersListenerPolicyDeletedOutput) +} + +type GetIsLbPoolType struct { + // The load balancing algorithm. + Algorithm string `pulumi:"algorithm"` + // The date and time that this pool was created. + CreatedAt string `pulumi:"createdAt"` + // The health monitor of this pool. + HealthMonitor map[string]string `pulumi:"healthMonitor"` + // The pool's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool + Id string `pulumi:"id"` + // The instance group that is managing this pool. + InstanceGroup map[string]string `pulumi:"instanceGroup"` + // The backend server members of the pool. + Members []GetIsLbPoolMemberType `pulumi:"members"` + // The user-defined name for this load balancer pool + Name string `pulumi:"name"` + // The protocol used for this load balancer pool. + Protocol string `pulumi:"protocol"` + // The provisioning status of this pool. + ProvisioningStatus string `pulumi:"provisioningStatus"` + // The session persistence of this pool. + SessionPersistence map[string]string `pulumi:"sessionPersistence"` +} + +// GetIsLbPoolTypeInput is an input type that accepts GetIsLbPoolTypeArgs and GetIsLbPoolTypeOutput values. +// You can construct a concrete instance of `GetIsLbPoolTypeInput` via: +// +// GetIsLbPoolTypeArgs{...} +type GetIsLbPoolTypeInput interface { + pulumi.Input + + ToGetIsLbPoolTypeOutput() GetIsLbPoolTypeOutput + ToGetIsLbPoolTypeOutputWithContext(context.Context) GetIsLbPoolTypeOutput +} + +type GetIsLbPoolTypeArgs struct { + // The load balancing algorithm. + Algorithm pulumi.StringInput `pulumi:"algorithm"` + // The date and time that this pool was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The health monitor of this pool. + HealthMonitor pulumi.StringMapInput `pulumi:"healthMonitor"` + // The pool's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool + Id pulumi.StringInput `pulumi:"id"` + // The instance group that is managing this pool. + InstanceGroup pulumi.StringMapInput `pulumi:"instanceGroup"` + // The backend server members of the pool. + Members GetIsLbPoolMemberTypeArrayInput `pulumi:"members"` + // The user-defined name for this load balancer pool + Name pulumi.StringInput `pulumi:"name"` + // The protocol used for this load balancer pool. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The provisioning status of this pool. + ProvisioningStatus pulumi.StringInput `pulumi:"provisioningStatus"` + // The session persistence of this pool. + SessionPersistence pulumi.StringMapInput `pulumi:"sessionPersistence"` +} + +func (GetIsLbPoolTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolType)(nil)).Elem() +} + +func (i GetIsLbPoolTypeArgs) ToGetIsLbPoolTypeOutput() GetIsLbPoolTypeOutput { + return i.ToGetIsLbPoolTypeOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolTypeArgs) ToGetIsLbPoolTypeOutputWithContext(ctx context.Context) GetIsLbPoolTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolTypeOutput) +} + +// GetIsLbPoolTypeArrayInput is an input type that accepts GetIsLbPoolTypeArray and GetIsLbPoolTypeArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolTypeArrayInput` via: +// +// GetIsLbPoolTypeArray{ GetIsLbPoolTypeArgs{...} } +type GetIsLbPoolTypeArrayInput interface { + pulumi.Input + + ToGetIsLbPoolTypeArrayOutput() GetIsLbPoolTypeArrayOutput + ToGetIsLbPoolTypeArrayOutputWithContext(context.Context) GetIsLbPoolTypeArrayOutput +} + +type GetIsLbPoolTypeArray []GetIsLbPoolTypeInput + +func (GetIsLbPoolTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolType)(nil)).Elem() +} + +func (i GetIsLbPoolTypeArray) ToGetIsLbPoolTypeArrayOutput() GetIsLbPoolTypeArrayOutput { + return i.ToGetIsLbPoolTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolTypeArray) ToGetIsLbPoolTypeArrayOutputWithContext(ctx context.Context) GetIsLbPoolTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolTypeArrayOutput) +} + +type GetIsLbPoolTypeOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolType)(nil)).Elem() +} + +func (o GetIsLbPoolTypeOutput) ToGetIsLbPoolTypeOutput() GetIsLbPoolTypeOutput { + return o +} + +func (o GetIsLbPoolTypeOutput) ToGetIsLbPoolTypeOutputWithContext(ctx context.Context) GetIsLbPoolTypeOutput { + return o +} + +// The load balancing algorithm. +func (o GetIsLbPoolTypeOutput) Algorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolType) string { return v.Algorithm }).(pulumi.StringOutput) +} + +// The date and time that this pool was created. +func (o GetIsLbPoolTypeOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolType) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The health monitor of this pool. +func (o GetIsLbPoolTypeOutput) HealthMonitor() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIsLbPoolType) map[string]string { return v.HealthMonitor }).(pulumi.StringMapOutput) +} + +// The pool's canonical URL. +func (o GetIsLbPoolTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool +func (o GetIsLbPoolTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolType) string { return v.Id }).(pulumi.StringOutput) +} + +// The instance group that is managing this pool. +func (o GetIsLbPoolTypeOutput) InstanceGroup() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIsLbPoolType) map[string]string { return v.InstanceGroup }).(pulumi.StringMapOutput) +} + +// The backend server members of the pool. +func (o GetIsLbPoolTypeOutput) Members() GetIsLbPoolMemberTypeArrayOutput { + return o.ApplyT(func(v GetIsLbPoolType) []GetIsLbPoolMemberType { return v.Members }).(GetIsLbPoolMemberTypeArrayOutput) +} + +// The user-defined name for this load balancer pool +func (o GetIsLbPoolTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolType) string { return v.Name }).(pulumi.StringOutput) +} + +// The protocol used for this load balancer pool. +func (o GetIsLbPoolTypeOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolType) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning status of this pool. +func (o GetIsLbPoolTypeOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolType) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// The session persistence of this pool. +func (o GetIsLbPoolTypeOutput) SessionPersistence() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIsLbPoolType) map[string]string { return v.SessionPersistence }).(pulumi.StringMapOutput) +} + +type GetIsLbPoolTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolType)(nil)).Elem() +} + +func (o GetIsLbPoolTypeArrayOutput) ToGetIsLbPoolTypeArrayOutput() GetIsLbPoolTypeArrayOutput { + return o +} + +func (o GetIsLbPoolTypeArrayOutput) ToGetIsLbPoolTypeArrayOutputWithContext(ctx context.Context) GetIsLbPoolTypeArrayOutput { + return o +} + +func (o GetIsLbPoolTypeArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolType { + return vs[0].([]GetIsLbPoolType)[vs[1].(int)] + }).(GetIsLbPoolTypeOutput) +} + +type GetIsLbPoolFailsafePolicy struct { + // A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action string `pulumi:"action"` + // The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. + HealthyMemberThresholdCount int `pulumi:"healthyMemberThresholdCount"` + // If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets []GetIsLbPoolFailsafePolicyTarget `pulumi:"targets"` +} + +// GetIsLbPoolFailsafePolicyInput is an input type that accepts GetIsLbPoolFailsafePolicyArgs and GetIsLbPoolFailsafePolicyOutput values. +// You can construct a concrete instance of `GetIsLbPoolFailsafePolicyInput` via: +// +// GetIsLbPoolFailsafePolicyArgs{...} +type GetIsLbPoolFailsafePolicyInput interface { + pulumi.Input + + ToGetIsLbPoolFailsafePolicyOutput() GetIsLbPoolFailsafePolicyOutput + ToGetIsLbPoolFailsafePolicyOutputWithContext(context.Context) GetIsLbPoolFailsafePolicyOutput +} + +type GetIsLbPoolFailsafePolicyArgs struct { + // A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action pulumi.StringInput `pulumi:"action"` + // The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. + HealthyMemberThresholdCount pulumi.IntInput `pulumi:"healthyMemberThresholdCount"` + // If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets GetIsLbPoolFailsafePolicyTargetArrayInput `pulumi:"targets"` +} + +func (GetIsLbPoolFailsafePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolFailsafePolicy)(nil)).Elem() +} + +func (i GetIsLbPoolFailsafePolicyArgs) ToGetIsLbPoolFailsafePolicyOutput() GetIsLbPoolFailsafePolicyOutput { + return i.ToGetIsLbPoolFailsafePolicyOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolFailsafePolicyArgs) ToGetIsLbPoolFailsafePolicyOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolFailsafePolicyOutput) +} + +// GetIsLbPoolFailsafePolicyArrayInput is an input type that accepts GetIsLbPoolFailsafePolicyArray and GetIsLbPoolFailsafePolicyArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolFailsafePolicyArrayInput` via: +// +// GetIsLbPoolFailsafePolicyArray{ GetIsLbPoolFailsafePolicyArgs{...} } +type GetIsLbPoolFailsafePolicyArrayInput interface { + pulumi.Input + + ToGetIsLbPoolFailsafePolicyArrayOutput() GetIsLbPoolFailsafePolicyArrayOutput + ToGetIsLbPoolFailsafePolicyArrayOutputWithContext(context.Context) GetIsLbPoolFailsafePolicyArrayOutput +} + +type GetIsLbPoolFailsafePolicyArray []GetIsLbPoolFailsafePolicyInput + +func (GetIsLbPoolFailsafePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolFailsafePolicy)(nil)).Elem() +} + +func (i GetIsLbPoolFailsafePolicyArray) ToGetIsLbPoolFailsafePolicyArrayOutput() GetIsLbPoolFailsafePolicyArrayOutput { + return i.ToGetIsLbPoolFailsafePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolFailsafePolicyArray) ToGetIsLbPoolFailsafePolicyArrayOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolFailsafePolicyArrayOutput) +} + +type GetIsLbPoolFailsafePolicyOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolFailsafePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolFailsafePolicy)(nil)).Elem() +} + +func (o GetIsLbPoolFailsafePolicyOutput) ToGetIsLbPoolFailsafePolicyOutput() GetIsLbPoolFailsafePolicyOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyOutput) ToGetIsLbPoolFailsafePolicyOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyOutput { + return o +} + +// A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsLbPoolFailsafePolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolFailsafePolicy) string { return v.Action }).(pulumi.StringOutput) +} + +// The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. +func (o GetIsLbPoolFailsafePolicyOutput) HealthyMemberThresholdCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolFailsafePolicy) int { return v.HealthyMemberThresholdCount }).(pulumi.IntOutput) +} + +// If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsLbPoolFailsafePolicyOutput) Targets() GetIsLbPoolFailsafePolicyTargetArrayOutput { + return o.ApplyT(func(v GetIsLbPoolFailsafePolicy) []GetIsLbPoolFailsafePolicyTarget { return v.Targets }).(GetIsLbPoolFailsafePolicyTargetArrayOutput) +} + +type GetIsLbPoolFailsafePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolFailsafePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolFailsafePolicy)(nil)).Elem() +} + +func (o GetIsLbPoolFailsafePolicyArrayOutput) ToGetIsLbPoolFailsafePolicyArrayOutput() GetIsLbPoolFailsafePolicyArrayOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyArrayOutput) ToGetIsLbPoolFailsafePolicyArrayOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyArrayOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolFailsafePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolFailsafePolicy { + return vs[0].([]GetIsLbPoolFailsafePolicy)[vs[1].(int)] + }).(GetIsLbPoolFailsafePolicyOutput) +} + +type GetIsLbPoolFailsafePolicyTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsLbPoolFailsafePolicyTargetDeleted `pulumi:"deleteds"` + // The URL for this load balancer pool. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id string `pulumi:"id"` + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name string `pulumi:"name"` +} + +// GetIsLbPoolFailsafePolicyTargetInput is an input type that accepts GetIsLbPoolFailsafePolicyTargetArgs and GetIsLbPoolFailsafePolicyTargetOutput values. +// You can construct a concrete instance of `GetIsLbPoolFailsafePolicyTargetInput` via: +// +// GetIsLbPoolFailsafePolicyTargetArgs{...} +type GetIsLbPoolFailsafePolicyTargetInput interface { + pulumi.Input + + ToGetIsLbPoolFailsafePolicyTargetOutput() GetIsLbPoolFailsafePolicyTargetOutput + ToGetIsLbPoolFailsafePolicyTargetOutputWithContext(context.Context) GetIsLbPoolFailsafePolicyTargetOutput +} + +type GetIsLbPoolFailsafePolicyTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsLbPoolFailsafePolicyTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this load balancer pool. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id pulumi.StringInput `pulumi:"id"` + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbPoolFailsafePolicyTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (i GetIsLbPoolFailsafePolicyTargetArgs) ToGetIsLbPoolFailsafePolicyTargetOutput() GetIsLbPoolFailsafePolicyTargetOutput { + return i.ToGetIsLbPoolFailsafePolicyTargetOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolFailsafePolicyTargetArgs) ToGetIsLbPoolFailsafePolicyTargetOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolFailsafePolicyTargetOutput) +} + +// GetIsLbPoolFailsafePolicyTargetArrayInput is an input type that accepts GetIsLbPoolFailsafePolicyTargetArray and GetIsLbPoolFailsafePolicyTargetArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolFailsafePolicyTargetArrayInput` via: +// +// GetIsLbPoolFailsafePolicyTargetArray{ GetIsLbPoolFailsafePolicyTargetArgs{...} } +type GetIsLbPoolFailsafePolicyTargetArrayInput interface { + pulumi.Input + + ToGetIsLbPoolFailsafePolicyTargetArrayOutput() GetIsLbPoolFailsafePolicyTargetArrayOutput + ToGetIsLbPoolFailsafePolicyTargetArrayOutputWithContext(context.Context) GetIsLbPoolFailsafePolicyTargetArrayOutput +} + +type GetIsLbPoolFailsafePolicyTargetArray []GetIsLbPoolFailsafePolicyTargetInput + +func (GetIsLbPoolFailsafePolicyTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (i GetIsLbPoolFailsafePolicyTargetArray) ToGetIsLbPoolFailsafePolicyTargetArrayOutput() GetIsLbPoolFailsafePolicyTargetArrayOutput { + return i.ToGetIsLbPoolFailsafePolicyTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolFailsafePolicyTargetArray) ToGetIsLbPoolFailsafePolicyTargetArrayOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolFailsafePolicyTargetArrayOutput) +} + +type GetIsLbPoolFailsafePolicyTargetOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolFailsafePolicyTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (o GetIsLbPoolFailsafePolicyTargetOutput) ToGetIsLbPoolFailsafePolicyTargetOutput() GetIsLbPoolFailsafePolicyTargetOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyTargetOutput) ToGetIsLbPoolFailsafePolicyTargetOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsLbPoolFailsafePolicyTargetOutput) Deleteds() GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbPoolFailsafePolicyTarget) []GetIsLbPoolFailsafePolicyTargetDeleted { return v.Deleteds }).(GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput) +} + +// The URL for this load balancer pool. +func (o GetIsLbPoolFailsafePolicyTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolFailsafePolicyTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool. +func (o GetIsLbPoolFailsafePolicyTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolFailsafePolicyTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this load balancer pool. The name is unique across all pools for the load balancer. +func (o GetIsLbPoolFailsafePolicyTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolFailsafePolicyTarget) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbPoolFailsafePolicyTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolFailsafePolicyTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (o GetIsLbPoolFailsafePolicyTargetArrayOutput) ToGetIsLbPoolFailsafePolicyTargetArrayOutput() GetIsLbPoolFailsafePolicyTargetArrayOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyTargetArrayOutput) ToGetIsLbPoolFailsafePolicyTargetArrayOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyTargetArrayOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyTargetArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolFailsafePolicyTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolFailsafePolicyTarget { + return vs[0].([]GetIsLbPoolFailsafePolicyTarget)[vs[1].(int)] + }).(GetIsLbPoolFailsafePolicyTargetOutput) +} + +type GetIsLbPoolFailsafePolicyTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbPoolFailsafePolicyTargetDeletedInput is an input type that accepts GetIsLbPoolFailsafePolicyTargetDeletedArgs and GetIsLbPoolFailsafePolicyTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsLbPoolFailsafePolicyTargetDeletedInput` via: +// +// GetIsLbPoolFailsafePolicyTargetDeletedArgs{...} +type GetIsLbPoolFailsafePolicyTargetDeletedInput interface { + pulumi.Input + + ToGetIsLbPoolFailsafePolicyTargetDeletedOutput() GetIsLbPoolFailsafePolicyTargetDeletedOutput + ToGetIsLbPoolFailsafePolicyTargetDeletedOutputWithContext(context.Context) GetIsLbPoolFailsafePolicyTargetDeletedOutput +} + +type GetIsLbPoolFailsafePolicyTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbPoolFailsafePolicyTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolFailsafePolicyTargetDeletedArgs) ToGetIsLbPoolFailsafePolicyTargetDeletedOutput() GetIsLbPoolFailsafePolicyTargetDeletedOutput { + return i.ToGetIsLbPoolFailsafePolicyTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolFailsafePolicyTargetDeletedArgs) ToGetIsLbPoolFailsafePolicyTargetDeletedOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolFailsafePolicyTargetDeletedOutput) +} + +// GetIsLbPoolFailsafePolicyTargetDeletedArrayInput is an input type that accepts GetIsLbPoolFailsafePolicyTargetDeletedArray and GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolFailsafePolicyTargetDeletedArrayInput` via: +// +// GetIsLbPoolFailsafePolicyTargetDeletedArray{ GetIsLbPoolFailsafePolicyTargetDeletedArgs{...} } +type GetIsLbPoolFailsafePolicyTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbPoolFailsafePolicyTargetDeletedArrayOutput() GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput + ToGetIsLbPoolFailsafePolicyTargetDeletedArrayOutputWithContext(context.Context) GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput +} + +type GetIsLbPoolFailsafePolicyTargetDeletedArray []GetIsLbPoolFailsafePolicyTargetDeletedInput + +func (GetIsLbPoolFailsafePolicyTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolFailsafePolicyTargetDeletedArray) ToGetIsLbPoolFailsafePolicyTargetDeletedArrayOutput() GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return i.ToGetIsLbPoolFailsafePolicyTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolFailsafePolicyTargetDeletedArray) ToGetIsLbPoolFailsafePolicyTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput) +} + +type GetIsLbPoolFailsafePolicyTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolFailsafePolicyTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolFailsafePolicyTargetDeletedOutput) ToGetIsLbPoolFailsafePolicyTargetDeletedOutput() GetIsLbPoolFailsafePolicyTargetDeletedOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyTargetDeletedOutput) ToGetIsLbPoolFailsafePolicyTargetDeletedOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbPoolFailsafePolicyTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolFailsafePolicyTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput) ToGetIsLbPoolFailsafePolicyTargetDeletedArrayOutput() GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput) ToGetIsLbPoolFailsafePolicyTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolFailsafePolicyTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolFailsafePolicyTargetDeleted { + return vs[0].([]GetIsLbPoolFailsafePolicyTargetDeleted)[vs[1].(int)] + }).(GetIsLbPoolFailsafePolicyTargetDeletedOutput) +} + +type GetIsLbPoolHealthMonitor struct { + // The health check interval in seconds. Interval must be greater than timeout value. + Delay int `pulumi:"delay"` + // The health check max retries. + MaxRetries int `pulumi:"maxRetries"` + // The health check port number. If specified, this overrides the ports specified in the server member resources. + Port int `pulumi:"port"` + // The health check timeout in seconds. + Timeout int `pulumi:"timeout"` + // The protocol type of this load balancer pool health monitor.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the health monitor on which the unexpected property value was encountered. + Type string `pulumi:"type"` + // The health check URL path. Applicable only if the health monitor `type` is `http` or`https`. This value must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + UrlPath string `pulumi:"urlPath"` +} + +// GetIsLbPoolHealthMonitorInput is an input type that accepts GetIsLbPoolHealthMonitorArgs and GetIsLbPoolHealthMonitorOutput values. +// You can construct a concrete instance of `GetIsLbPoolHealthMonitorInput` via: +// +// GetIsLbPoolHealthMonitorArgs{...} +type GetIsLbPoolHealthMonitorInput interface { + pulumi.Input + + ToGetIsLbPoolHealthMonitorOutput() GetIsLbPoolHealthMonitorOutput + ToGetIsLbPoolHealthMonitorOutputWithContext(context.Context) GetIsLbPoolHealthMonitorOutput +} + +type GetIsLbPoolHealthMonitorArgs struct { + // The health check interval in seconds. Interval must be greater than timeout value. + Delay pulumi.IntInput `pulumi:"delay"` + // The health check max retries. + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + // The health check port number. If specified, this overrides the ports specified in the server member resources. + Port pulumi.IntInput `pulumi:"port"` + // The health check timeout in seconds. + Timeout pulumi.IntInput `pulumi:"timeout"` + // The protocol type of this load balancer pool health monitor.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the health monitor on which the unexpected property value was encountered. + Type pulumi.StringInput `pulumi:"type"` + // The health check URL path. Applicable only if the health monitor `type` is `http` or`https`. This value must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + UrlPath pulumi.StringInput `pulumi:"urlPath"` +} + +func (GetIsLbPoolHealthMonitorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolHealthMonitor)(nil)).Elem() +} + +func (i GetIsLbPoolHealthMonitorArgs) ToGetIsLbPoolHealthMonitorOutput() GetIsLbPoolHealthMonitorOutput { + return i.ToGetIsLbPoolHealthMonitorOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolHealthMonitorArgs) ToGetIsLbPoolHealthMonitorOutputWithContext(ctx context.Context) GetIsLbPoolHealthMonitorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolHealthMonitorOutput) +} + +// GetIsLbPoolHealthMonitorArrayInput is an input type that accepts GetIsLbPoolHealthMonitorArray and GetIsLbPoolHealthMonitorArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolHealthMonitorArrayInput` via: +// +// GetIsLbPoolHealthMonitorArray{ GetIsLbPoolHealthMonitorArgs{...} } +type GetIsLbPoolHealthMonitorArrayInput interface { + pulumi.Input + + ToGetIsLbPoolHealthMonitorArrayOutput() GetIsLbPoolHealthMonitorArrayOutput + ToGetIsLbPoolHealthMonitorArrayOutputWithContext(context.Context) GetIsLbPoolHealthMonitorArrayOutput +} + +type GetIsLbPoolHealthMonitorArray []GetIsLbPoolHealthMonitorInput + +func (GetIsLbPoolHealthMonitorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolHealthMonitor)(nil)).Elem() +} + +func (i GetIsLbPoolHealthMonitorArray) ToGetIsLbPoolHealthMonitorArrayOutput() GetIsLbPoolHealthMonitorArrayOutput { + return i.ToGetIsLbPoolHealthMonitorArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolHealthMonitorArray) ToGetIsLbPoolHealthMonitorArrayOutputWithContext(ctx context.Context) GetIsLbPoolHealthMonitorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolHealthMonitorArrayOutput) +} + +type GetIsLbPoolHealthMonitorOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolHealthMonitorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolHealthMonitor)(nil)).Elem() +} + +func (o GetIsLbPoolHealthMonitorOutput) ToGetIsLbPoolHealthMonitorOutput() GetIsLbPoolHealthMonitorOutput { + return o +} + +func (o GetIsLbPoolHealthMonitorOutput) ToGetIsLbPoolHealthMonitorOutputWithContext(ctx context.Context) GetIsLbPoolHealthMonitorOutput { + return o +} + +// The health check interval in seconds. Interval must be greater than timeout value. +func (o GetIsLbPoolHealthMonitorOutput) Delay() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolHealthMonitor) int { return v.Delay }).(pulumi.IntOutput) +} + +// The health check max retries. +func (o GetIsLbPoolHealthMonitorOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolHealthMonitor) int { return v.MaxRetries }).(pulumi.IntOutput) +} + +// The health check port number. If specified, this overrides the ports specified in the server member resources. +func (o GetIsLbPoolHealthMonitorOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolHealthMonitor) int { return v.Port }).(pulumi.IntOutput) +} + +// The health check timeout in seconds. +func (o GetIsLbPoolHealthMonitorOutput) Timeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolHealthMonitor) int { return v.Timeout }).(pulumi.IntOutput) +} + +// The protocol type of this load balancer pool health monitor.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the health monitor on which the unexpected property value was encountered. +func (o GetIsLbPoolHealthMonitorOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolHealthMonitor) string { return v.Type }).(pulumi.StringOutput) +} + +// The health check URL path. Applicable only if the health monitor `type` is `http` or`https`. This value must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). +func (o GetIsLbPoolHealthMonitorOutput) UrlPath() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolHealthMonitor) string { return v.UrlPath }).(pulumi.StringOutput) +} + +type GetIsLbPoolHealthMonitorArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolHealthMonitorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolHealthMonitor)(nil)).Elem() +} + +func (o GetIsLbPoolHealthMonitorArrayOutput) ToGetIsLbPoolHealthMonitorArrayOutput() GetIsLbPoolHealthMonitorArrayOutput { + return o +} + +func (o GetIsLbPoolHealthMonitorArrayOutput) ToGetIsLbPoolHealthMonitorArrayOutputWithContext(ctx context.Context) GetIsLbPoolHealthMonitorArrayOutput { + return o +} + +func (o GetIsLbPoolHealthMonitorArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolHealthMonitorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolHealthMonitor { + return vs[0].([]GetIsLbPoolHealthMonitor)[vs[1].(int)] + }).(GetIsLbPoolHealthMonitorOutput) +} + +type GetIsLbPoolInstanceGroup struct { + // The CRN for this instance group. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbPoolInstanceGroupDeleted `pulumi:"deleteds"` + // The URL for this instance group. + Href string `pulumi:"href"` + // The unique identifier for this instance group. + Id string `pulumi:"id"` + // The user-defined name for this instance group. + Name string `pulumi:"name"` +} + +// GetIsLbPoolInstanceGroupInput is an input type that accepts GetIsLbPoolInstanceGroupArgs and GetIsLbPoolInstanceGroupOutput values. +// You can construct a concrete instance of `GetIsLbPoolInstanceGroupInput` via: +// +// GetIsLbPoolInstanceGroupArgs{...} +type GetIsLbPoolInstanceGroupInput interface { + pulumi.Input + + ToGetIsLbPoolInstanceGroupOutput() GetIsLbPoolInstanceGroupOutput + ToGetIsLbPoolInstanceGroupOutputWithContext(context.Context) GetIsLbPoolInstanceGroupOutput +} + +type GetIsLbPoolInstanceGroupArgs struct { + // The CRN for this instance group. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbPoolInstanceGroupDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this instance group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbPoolInstanceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolInstanceGroup)(nil)).Elem() +} + +func (i GetIsLbPoolInstanceGroupArgs) ToGetIsLbPoolInstanceGroupOutput() GetIsLbPoolInstanceGroupOutput { + return i.ToGetIsLbPoolInstanceGroupOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolInstanceGroupArgs) ToGetIsLbPoolInstanceGroupOutputWithContext(ctx context.Context) GetIsLbPoolInstanceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolInstanceGroupOutput) +} + +// GetIsLbPoolInstanceGroupArrayInput is an input type that accepts GetIsLbPoolInstanceGroupArray and GetIsLbPoolInstanceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolInstanceGroupArrayInput` via: +// +// GetIsLbPoolInstanceGroupArray{ GetIsLbPoolInstanceGroupArgs{...} } +type GetIsLbPoolInstanceGroupArrayInput interface { + pulumi.Input + + ToGetIsLbPoolInstanceGroupArrayOutput() GetIsLbPoolInstanceGroupArrayOutput + ToGetIsLbPoolInstanceGroupArrayOutputWithContext(context.Context) GetIsLbPoolInstanceGroupArrayOutput +} + +type GetIsLbPoolInstanceGroupArray []GetIsLbPoolInstanceGroupInput + +func (GetIsLbPoolInstanceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolInstanceGroup)(nil)).Elem() +} + +func (i GetIsLbPoolInstanceGroupArray) ToGetIsLbPoolInstanceGroupArrayOutput() GetIsLbPoolInstanceGroupArrayOutput { + return i.ToGetIsLbPoolInstanceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolInstanceGroupArray) ToGetIsLbPoolInstanceGroupArrayOutputWithContext(ctx context.Context) GetIsLbPoolInstanceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolInstanceGroupArrayOutput) +} + +type GetIsLbPoolInstanceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolInstanceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolInstanceGroup)(nil)).Elem() +} + +func (o GetIsLbPoolInstanceGroupOutput) ToGetIsLbPoolInstanceGroupOutput() GetIsLbPoolInstanceGroupOutput { + return o +} + +func (o GetIsLbPoolInstanceGroupOutput) ToGetIsLbPoolInstanceGroupOutputWithContext(ctx context.Context) GetIsLbPoolInstanceGroupOutput { + return o +} + +// The CRN for this instance group. +func (o GetIsLbPoolInstanceGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolInstanceGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbPoolInstanceGroupOutput) Deleteds() GetIsLbPoolInstanceGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbPoolInstanceGroup) []GetIsLbPoolInstanceGroupDeleted { return v.Deleteds }).(GetIsLbPoolInstanceGroupDeletedArrayOutput) +} + +// The URL for this instance group. +func (o GetIsLbPoolInstanceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolInstanceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance group. +func (o GetIsLbPoolInstanceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolInstanceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this instance group. +func (o GetIsLbPoolInstanceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolInstanceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbPoolInstanceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolInstanceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolInstanceGroup)(nil)).Elem() +} + +func (o GetIsLbPoolInstanceGroupArrayOutput) ToGetIsLbPoolInstanceGroupArrayOutput() GetIsLbPoolInstanceGroupArrayOutput { + return o +} + +func (o GetIsLbPoolInstanceGroupArrayOutput) ToGetIsLbPoolInstanceGroupArrayOutputWithContext(ctx context.Context) GetIsLbPoolInstanceGroupArrayOutput { + return o +} + +func (o GetIsLbPoolInstanceGroupArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolInstanceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolInstanceGroup { + return vs[0].([]GetIsLbPoolInstanceGroup)[vs[1].(int)] + }).(GetIsLbPoolInstanceGroupOutput) +} + +type GetIsLbPoolInstanceGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbPoolInstanceGroupDeletedInput is an input type that accepts GetIsLbPoolInstanceGroupDeletedArgs and GetIsLbPoolInstanceGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsLbPoolInstanceGroupDeletedInput` via: +// +// GetIsLbPoolInstanceGroupDeletedArgs{...} +type GetIsLbPoolInstanceGroupDeletedInput interface { + pulumi.Input + + ToGetIsLbPoolInstanceGroupDeletedOutput() GetIsLbPoolInstanceGroupDeletedOutput + ToGetIsLbPoolInstanceGroupDeletedOutputWithContext(context.Context) GetIsLbPoolInstanceGroupDeletedOutput +} + +type GetIsLbPoolInstanceGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbPoolInstanceGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolInstanceGroupDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolInstanceGroupDeletedArgs) ToGetIsLbPoolInstanceGroupDeletedOutput() GetIsLbPoolInstanceGroupDeletedOutput { + return i.ToGetIsLbPoolInstanceGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolInstanceGroupDeletedArgs) ToGetIsLbPoolInstanceGroupDeletedOutputWithContext(ctx context.Context) GetIsLbPoolInstanceGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolInstanceGroupDeletedOutput) +} + +// GetIsLbPoolInstanceGroupDeletedArrayInput is an input type that accepts GetIsLbPoolInstanceGroupDeletedArray and GetIsLbPoolInstanceGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolInstanceGroupDeletedArrayInput` via: +// +// GetIsLbPoolInstanceGroupDeletedArray{ GetIsLbPoolInstanceGroupDeletedArgs{...} } +type GetIsLbPoolInstanceGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbPoolInstanceGroupDeletedArrayOutput() GetIsLbPoolInstanceGroupDeletedArrayOutput + ToGetIsLbPoolInstanceGroupDeletedArrayOutputWithContext(context.Context) GetIsLbPoolInstanceGroupDeletedArrayOutput +} + +type GetIsLbPoolInstanceGroupDeletedArray []GetIsLbPoolInstanceGroupDeletedInput + +func (GetIsLbPoolInstanceGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolInstanceGroupDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolInstanceGroupDeletedArray) ToGetIsLbPoolInstanceGroupDeletedArrayOutput() GetIsLbPoolInstanceGroupDeletedArrayOutput { + return i.ToGetIsLbPoolInstanceGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolInstanceGroupDeletedArray) ToGetIsLbPoolInstanceGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolInstanceGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolInstanceGroupDeletedArrayOutput) +} + +type GetIsLbPoolInstanceGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolInstanceGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolInstanceGroupDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolInstanceGroupDeletedOutput) ToGetIsLbPoolInstanceGroupDeletedOutput() GetIsLbPoolInstanceGroupDeletedOutput { + return o +} + +func (o GetIsLbPoolInstanceGroupDeletedOutput) ToGetIsLbPoolInstanceGroupDeletedOutputWithContext(ctx context.Context) GetIsLbPoolInstanceGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbPoolInstanceGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolInstanceGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbPoolInstanceGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolInstanceGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolInstanceGroupDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolInstanceGroupDeletedArrayOutput) ToGetIsLbPoolInstanceGroupDeletedArrayOutput() GetIsLbPoolInstanceGroupDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolInstanceGroupDeletedArrayOutput) ToGetIsLbPoolInstanceGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolInstanceGroupDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolInstanceGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolInstanceGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolInstanceGroupDeleted { + return vs[0].([]GetIsLbPoolInstanceGroupDeleted)[vs[1].(int)] + }).(GetIsLbPoolInstanceGroupDeletedOutput) +} + +type GetIsLbPoolMemberType struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbPoolMemberDeleted `pulumi:"deleteds"` + // The member's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id string `pulumi:"id"` +} + +// GetIsLbPoolMemberTypeInput is an input type that accepts GetIsLbPoolMemberTypeArgs and GetIsLbPoolMemberTypeOutput values. +// You can construct a concrete instance of `GetIsLbPoolMemberTypeInput` via: +// +// GetIsLbPoolMemberTypeArgs{...} +type GetIsLbPoolMemberTypeInput interface { + pulumi.Input + + ToGetIsLbPoolMemberTypeOutput() GetIsLbPoolMemberTypeOutput + ToGetIsLbPoolMemberTypeOutputWithContext(context.Context) GetIsLbPoolMemberTypeOutput +} + +type GetIsLbPoolMemberTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbPoolMemberDeletedArrayInput `pulumi:"deleteds"` + // The member's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbPoolMemberTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMemberType)(nil)).Elem() +} + +func (i GetIsLbPoolMemberTypeArgs) ToGetIsLbPoolMemberTypeOutput() GetIsLbPoolMemberTypeOutput { + return i.ToGetIsLbPoolMemberTypeOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMemberTypeArgs) ToGetIsLbPoolMemberTypeOutputWithContext(ctx context.Context) GetIsLbPoolMemberTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMemberTypeOutput) +} + +// GetIsLbPoolMemberTypeArrayInput is an input type that accepts GetIsLbPoolMemberTypeArray and GetIsLbPoolMemberTypeArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolMemberTypeArrayInput` via: +// +// GetIsLbPoolMemberTypeArray{ GetIsLbPoolMemberTypeArgs{...} } +type GetIsLbPoolMemberTypeArrayInput interface { + pulumi.Input + + ToGetIsLbPoolMemberTypeArrayOutput() GetIsLbPoolMemberTypeArrayOutput + ToGetIsLbPoolMemberTypeArrayOutputWithContext(context.Context) GetIsLbPoolMemberTypeArrayOutput +} + +type GetIsLbPoolMemberTypeArray []GetIsLbPoolMemberTypeInput + +func (GetIsLbPoolMemberTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMemberType)(nil)).Elem() +} + +func (i GetIsLbPoolMemberTypeArray) ToGetIsLbPoolMemberTypeArrayOutput() GetIsLbPoolMemberTypeArrayOutput { + return i.ToGetIsLbPoolMemberTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMemberTypeArray) ToGetIsLbPoolMemberTypeArrayOutputWithContext(ctx context.Context) GetIsLbPoolMemberTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMemberTypeArrayOutput) +} + +type GetIsLbPoolMemberTypeOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMemberTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMemberType)(nil)).Elem() +} + +func (o GetIsLbPoolMemberTypeOutput) ToGetIsLbPoolMemberTypeOutput() GetIsLbPoolMemberTypeOutput { + return o +} + +func (o GetIsLbPoolMemberTypeOutput) ToGetIsLbPoolMemberTypeOutputWithContext(ctx context.Context) GetIsLbPoolMemberTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbPoolMemberTypeOutput) Deleteds() GetIsLbPoolMemberDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbPoolMemberType) []GetIsLbPoolMemberDeleted { return v.Deleteds }).(GetIsLbPoolMemberDeletedArrayOutput) +} + +// The member's canonical URL. +func (o GetIsLbPoolMemberTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool member. +func (o GetIsLbPoolMemberTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberType) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbPoolMemberTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMemberTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMemberType)(nil)).Elem() +} + +func (o GetIsLbPoolMemberTypeArrayOutput) ToGetIsLbPoolMemberTypeArrayOutput() GetIsLbPoolMemberTypeArrayOutput { + return o +} + +func (o GetIsLbPoolMemberTypeArrayOutput) ToGetIsLbPoolMemberTypeArrayOutputWithContext(ctx context.Context) GetIsLbPoolMemberTypeArrayOutput { + return o +} + +func (o GetIsLbPoolMemberTypeArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolMemberTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolMemberType { + return vs[0].([]GetIsLbPoolMemberType)[vs[1].(int)] + }).(GetIsLbPoolMemberTypeOutput) +} + +type GetIsLbPoolMemberDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbPoolMemberDeletedInput is an input type that accepts GetIsLbPoolMemberDeletedArgs and GetIsLbPoolMemberDeletedOutput values. +// You can construct a concrete instance of `GetIsLbPoolMemberDeletedInput` via: +// +// GetIsLbPoolMemberDeletedArgs{...} +type GetIsLbPoolMemberDeletedInput interface { + pulumi.Input + + ToGetIsLbPoolMemberDeletedOutput() GetIsLbPoolMemberDeletedOutput + ToGetIsLbPoolMemberDeletedOutputWithContext(context.Context) GetIsLbPoolMemberDeletedOutput +} + +type GetIsLbPoolMemberDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbPoolMemberDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMemberDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolMemberDeletedArgs) ToGetIsLbPoolMemberDeletedOutput() GetIsLbPoolMemberDeletedOutput { + return i.ToGetIsLbPoolMemberDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMemberDeletedArgs) ToGetIsLbPoolMemberDeletedOutputWithContext(ctx context.Context) GetIsLbPoolMemberDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMemberDeletedOutput) +} + +// GetIsLbPoolMemberDeletedArrayInput is an input type that accepts GetIsLbPoolMemberDeletedArray and GetIsLbPoolMemberDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolMemberDeletedArrayInput` via: +// +// GetIsLbPoolMemberDeletedArray{ GetIsLbPoolMemberDeletedArgs{...} } +type GetIsLbPoolMemberDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbPoolMemberDeletedArrayOutput() GetIsLbPoolMemberDeletedArrayOutput + ToGetIsLbPoolMemberDeletedArrayOutputWithContext(context.Context) GetIsLbPoolMemberDeletedArrayOutput +} + +type GetIsLbPoolMemberDeletedArray []GetIsLbPoolMemberDeletedInput + +func (GetIsLbPoolMemberDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMemberDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolMemberDeletedArray) ToGetIsLbPoolMemberDeletedArrayOutput() GetIsLbPoolMemberDeletedArrayOutput { + return i.ToGetIsLbPoolMemberDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMemberDeletedArray) ToGetIsLbPoolMemberDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolMemberDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMemberDeletedArrayOutput) +} + +type GetIsLbPoolMemberDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMemberDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMemberDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolMemberDeletedOutput) ToGetIsLbPoolMemberDeletedOutput() GetIsLbPoolMemberDeletedOutput { + return o +} + +func (o GetIsLbPoolMemberDeletedOutput) ToGetIsLbPoolMemberDeletedOutputWithContext(ctx context.Context) GetIsLbPoolMemberDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbPoolMemberDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbPoolMemberDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMemberDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMemberDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolMemberDeletedArrayOutput) ToGetIsLbPoolMemberDeletedArrayOutput() GetIsLbPoolMemberDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolMemberDeletedArrayOutput) ToGetIsLbPoolMemberDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolMemberDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolMemberDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolMemberDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolMemberDeleted { + return vs[0].([]GetIsLbPoolMemberDeleted)[vs[1].(int)] + }).(GetIsLbPoolMemberDeletedOutput) +} + +type GetIsLbPoolMemberTarget struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The CRN for this virtual server instance. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbPoolMemberTargetDeleted `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href string `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id string `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name string `pulumi:"name"` +} + +// GetIsLbPoolMemberTargetInput is an input type that accepts GetIsLbPoolMemberTargetArgs and GetIsLbPoolMemberTargetOutput values. +// You can construct a concrete instance of `GetIsLbPoolMemberTargetInput` via: +// +// GetIsLbPoolMemberTargetArgs{...} +type GetIsLbPoolMemberTargetInput interface { + pulumi.Input + + ToGetIsLbPoolMemberTargetOutput() GetIsLbPoolMemberTargetOutput + ToGetIsLbPoolMemberTargetOutputWithContext(context.Context) GetIsLbPoolMemberTargetOutput +} + +type GetIsLbPoolMemberTargetArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The CRN for this virtual server instance. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbPoolMemberTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbPoolMemberTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMemberTarget)(nil)).Elem() +} + +func (i GetIsLbPoolMemberTargetArgs) ToGetIsLbPoolMemberTargetOutput() GetIsLbPoolMemberTargetOutput { + return i.ToGetIsLbPoolMemberTargetOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMemberTargetArgs) ToGetIsLbPoolMemberTargetOutputWithContext(ctx context.Context) GetIsLbPoolMemberTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMemberTargetOutput) +} + +// GetIsLbPoolMemberTargetArrayInput is an input type that accepts GetIsLbPoolMemberTargetArray and GetIsLbPoolMemberTargetArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolMemberTargetArrayInput` via: +// +// GetIsLbPoolMemberTargetArray{ GetIsLbPoolMemberTargetArgs{...} } +type GetIsLbPoolMemberTargetArrayInput interface { + pulumi.Input + + ToGetIsLbPoolMemberTargetArrayOutput() GetIsLbPoolMemberTargetArrayOutput + ToGetIsLbPoolMemberTargetArrayOutputWithContext(context.Context) GetIsLbPoolMemberTargetArrayOutput +} + +type GetIsLbPoolMemberTargetArray []GetIsLbPoolMemberTargetInput + +func (GetIsLbPoolMemberTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMemberTarget)(nil)).Elem() +} + +func (i GetIsLbPoolMemberTargetArray) ToGetIsLbPoolMemberTargetArrayOutput() GetIsLbPoolMemberTargetArrayOutput { + return i.ToGetIsLbPoolMemberTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMemberTargetArray) ToGetIsLbPoolMemberTargetArrayOutputWithContext(ctx context.Context) GetIsLbPoolMemberTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMemberTargetArrayOutput) +} + +type GetIsLbPoolMemberTargetOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMemberTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMemberTarget)(nil)).Elem() +} + +func (o GetIsLbPoolMemberTargetOutput) ToGetIsLbPoolMemberTargetOutput() GetIsLbPoolMemberTargetOutput { + return o +} + +func (o GetIsLbPoolMemberTargetOutput) ToGetIsLbPoolMemberTargetOutputWithContext(ctx context.Context) GetIsLbPoolMemberTargetOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsLbPoolMemberTargetOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberTarget) string { return v.Address }).(pulumi.StringOutput) +} + +// The CRN for this virtual server instance. +func (o GetIsLbPoolMemberTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbPoolMemberTargetOutput) Deleteds() GetIsLbPoolMemberTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbPoolMemberTarget) []GetIsLbPoolMemberTargetDeleted { return v.Deleteds }).(GetIsLbPoolMemberTargetDeletedArrayOutput) +} + +// The URL for this virtual server instance. +func (o GetIsLbPoolMemberTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual server instance. +func (o GetIsLbPoolMemberTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o GetIsLbPoolMemberTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberTarget) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbPoolMemberTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMemberTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMemberTarget)(nil)).Elem() +} + +func (o GetIsLbPoolMemberTargetArrayOutput) ToGetIsLbPoolMemberTargetArrayOutput() GetIsLbPoolMemberTargetArrayOutput { + return o +} + +func (o GetIsLbPoolMemberTargetArrayOutput) ToGetIsLbPoolMemberTargetArrayOutputWithContext(ctx context.Context) GetIsLbPoolMemberTargetArrayOutput { + return o +} + +func (o GetIsLbPoolMemberTargetArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolMemberTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolMemberTarget { + return vs[0].([]GetIsLbPoolMemberTarget)[vs[1].(int)] + }).(GetIsLbPoolMemberTargetOutput) +} + +type GetIsLbPoolMemberTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbPoolMemberTargetDeletedInput is an input type that accepts GetIsLbPoolMemberTargetDeletedArgs and GetIsLbPoolMemberTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsLbPoolMemberTargetDeletedInput` via: +// +// GetIsLbPoolMemberTargetDeletedArgs{...} +type GetIsLbPoolMemberTargetDeletedInput interface { + pulumi.Input + + ToGetIsLbPoolMemberTargetDeletedOutput() GetIsLbPoolMemberTargetDeletedOutput + ToGetIsLbPoolMemberTargetDeletedOutputWithContext(context.Context) GetIsLbPoolMemberTargetDeletedOutput +} + +type GetIsLbPoolMemberTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbPoolMemberTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMemberTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolMemberTargetDeletedArgs) ToGetIsLbPoolMemberTargetDeletedOutput() GetIsLbPoolMemberTargetDeletedOutput { + return i.ToGetIsLbPoolMemberTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMemberTargetDeletedArgs) ToGetIsLbPoolMemberTargetDeletedOutputWithContext(ctx context.Context) GetIsLbPoolMemberTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMemberTargetDeletedOutput) +} + +// GetIsLbPoolMemberTargetDeletedArrayInput is an input type that accepts GetIsLbPoolMemberTargetDeletedArray and GetIsLbPoolMemberTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolMemberTargetDeletedArrayInput` via: +// +// GetIsLbPoolMemberTargetDeletedArray{ GetIsLbPoolMemberTargetDeletedArgs{...} } +type GetIsLbPoolMemberTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbPoolMemberTargetDeletedArrayOutput() GetIsLbPoolMemberTargetDeletedArrayOutput + ToGetIsLbPoolMemberTargetDeletedArrayOutputWithContext(context.Context) GetIsLbPoolMemberTargetDeletedArrayOutput +} + +type GetIsLbPoolMemberTargetDeletedArray []GetIsLbPoolMemberTargetDeletedInput + +func (GetIsLbPoolMemberTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMemberTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolMemberTargetDeletedArray) ToGetIsLbPoolMemberTargetDeletedArrayOutput() GetIsLbPoolMemberTargetDeletedArrayOutput { + return i.ToGetIsLbPoolMemberTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMemberTargetDeletedArray) ToGetIsLbPoolMemberTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolMemberTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMemberTargetDeletedArrayOutput) +} + +type GetIsLbPoolMemberTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMemberTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMemberTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolMemberTargetDeletedOutput) ToGetIsLbPoolMemberTargetDeletedOutput() GetIsLbPoolMemberTargetDeletedOutput { + return o +} + +func (o GetIsLbPoolMemberTargetDeletedOutput) ToGetIsLbPoolMemberTargetDeletedOutputWithContext(ctx context.Context) GetIsLbPoolMemberTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbPoolMemberTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMemberTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbPoolMemberTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMemberTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMemberTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolMemberTargetDeletedArrayOutput) ToGetIsLbPoolMemberTargetDeletedArrayOutput() GetIsLbPoolMemberTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolMemberTargetDeletedArrayOutput) ToGetIsLbPoolMemberTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolMemberTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolMemberTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolMemberTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolMemberTargetDeleted { + return vs[0].([]GetIsLbPoolMemberTargetDeleted)[vs[1].(int)] + }).(GetIsLbPoolMemberTargetDeletedOutput) +} + +type GetIsLbPoolMembersMember struct { + // The date and time that this member was created. + CreatedAt string `pulumi:"createdAt"` + // Health of the server member in the pool. + Health string `pulumi:"health"` + // The member's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id string `pulumi:"id"` + // The port number of the application running in the server member. + Port int `pulumi:"port"` + // The provisioning status of this member. + ProvisioningStatus string `pulumi:"provisioningStatus"` + // The pool member target. Load balancers in the `network` family support virtual serverinstances. Load balancers in the `application` family support IP addresses. + Targets []GetIsLbPoolMembersMemberTarget `pulumi:"targets"` + // Weight of the server member. Applicable only if the pool algorithm is`weightedRoundRobin`. + Weight int `pulumi:"weight"` +} + +// GetIsLbPoolMembersMemberInput is an input type that accepts GetIsLbPoolMembersMemberArgs and GetIsLbPoolMembersMemberOutput values. +// You can construct a concrete instance of `GetIsLbPoolMembersMemberInput` via: +// +// GetIsLbPoolMembersMemberArgs{...} +type GetIsLbPoolMembersMemberInput interface { + pulumi.Input + + ToGetIsLbPoolMembersMemberOutput() GetIsLbPoolMembersMemberOutput + ToGetIsLbPoolMembersMemberOutputWithContext(context.Context) GetIsLbPoolMembersMemberOutput +} + +type GetIsLbPoolMembersMemberArgs struct { + // The date and time that this member was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Health of the server member in the pool. + Health pulumi.StringInput `pulumi:"health"` + // The member's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id pulumi.StringInput `pulumi:"id"` + // The port number of the application running in the server member. + Port pulumi.IntInput `pulumi:"port"` + // The provisioning status of this member. + ProvisioningStatus pulumi.StringInput `pulumi:"provisioningStatus"` + // The pool member target. Load balancers in the `network` family support virtual serverinstances. Load balancers in the `application` family support IP addresses. + Targets GetIsLbPoolMembersMemberTargetArrayInput `pulumi:"targets"` + // Weight of the server member. Applicable only if the pool algorithm is`weightedRoundRobin`. + Weight pulumi.IntInput `pulumi:"weight"` +} + +func (GetIsLbPoolMembersMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMembersMember)(nil)).Elem() +} + +func (i GetIsLbPoolMembersMemberArgs) ToGetIsLbPoolMembersMemberOutput() GetIsLbPoolMembersMemberOutput { + return i.ToGetIsLbPoolMembersMemberOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMembersMemberArgs) ToGetIsLbPoolMembersMemberOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMembersMemberOutput) +} + +// GetIsLbPoolMembersMemberArrayInput is an input type that accepts GetIsLbPoolMembersMemberArray and GetIsLbPoolMembersMemberArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolMembersMemberArrayInput` via: +// +// GetIsLbPoolMembersMemberArray{ GetIsLbPoolMembersMemberArgs{...} } +type GetIsLbPoolMembersMemberArrayInput interface { + pulumi.Input + + ToGetIsLbPoolMembersMemberArrayOutput() GetIsLbPoolMembersMemberArrayOutput + ToGetIsLbPoolMembersMemberArrayOutputWithContext(context.Context) GetIsLbPoolMembersMemberArrayOutput +} + +type GetIsLbPoolMembersMemberArray []GetIsLbPoolMembersMemberInput + +func (GetIsLbPoolMembersMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMembersMember)(nil)).Elem() +} + +func (i GetIsLbPoolMembersMemberArray) ToGetIsLbPoolMembersMemberArrayOutput() GetIsLbPoolMembersMemberArrayOutput { + return i.ToGetIsLbPoolMembersMemberArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMembersMemberArray) ToGetIsLbPoolMembersMemberArrayOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMembersMemberArrayOutput) +} + +type GetIsLbPoolMembersMemberOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMembersMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMembersMember)(nil)).Elem() +} + +func (o GetIsLbPoolMembersMemberOutput) ToGetIsLbPoolMembersMemberOutput() GetIsLbPoolMembersMemberOutput { + return o +} + +func (o GetIsLbPoolMembersMemberOutput) ToGetIsLbPoolMembersMemberOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberOutput { + return o +} + +// The date and time that this member was created. +func (o GetIsLbPoolMembersMemberOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMember) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Health of the server member in the pool. +func (o GetIsLbPoolMembersMemberOutput) Health() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMember) string { return v.Health }).(pulumi.StringOutput) +} + +// The member's canonical URL. +func (o GetIsLbPoolMembersMemberOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMember) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool member. +func (o GetIsLbPoolMembersMemberOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMember) string { return v.Id }).(pulumi.StringOutput) +} + +// The port number of the application running in the server member. +func (o GetIsLbPoolMembersMemberOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMember) int { return v.Port }).(pulumi.IntOutput) +} + +// The provisioning status of this member. +func (o GetIsLbPoolMembersMemberOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMember) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// The pool member target. Load balancers in the `network` family support virtual serverinstances. Load balancers in the `application` family support IP addresses. +func (o GetIsLbPoolMembersMemberOutput) Targets() GetIsLbPoolMembersMemberTargetArrayOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMember) []GetIsLbPoolMembersMemberTarget { return v.Targets }).(GetIsLbPoolMembersMemberTargetArrayOutput) +} + +// Weight of the server member. Applicable only if the pool algorithm is`weightedRoundRobin`. +func (o GetIsLbPoolMembersMemberOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMember) int { return v.Weight }).(pulumi.IntOutput) +} + +type GetIsLbPoolMembersMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMembersMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMembersMember)(nil)).Elem() +} + +func (o GetIsLbPoolMembersMemberArrayOutput) ToGetIsLbPoolMembersMemberArrayOutput() GetIsLbPoolMembersMemberArrayOutput { + return o +} + +func (o GetIsLbPoolMembersMemberArrayOutput) ToGetIsLbPoolMembersMemberArrayOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberArrayOutput { + return o +} + +func (o GetIsLbPoolMembersMemberArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolMembersMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolMembersMember { + return vs[0].([]GetIsLbPoolMembersMember)[vs[1].(int)] + }).(GetIsLbPoolMembersMemberOutput) +} + +type GetIsLbPoolMembersMemberTarget struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The CRN for this virtual server instance. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbPoolMembersMemberTargetDeleted `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href string `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id string `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name string `pulumi:"name"` +} + +// GetIsLbPoolMembersMemberTargetInput is an input type that accepts GetIsLbPoolMembersMemberTargetArgs and GetIsLbPoolMembersMemberTargetOutput values. +// You can construct a concrete instance of `GetIsLbPoolMembersMemberTargetInput` via: +// +// GetIsLbPoolMembersMemberTargetArgs{...} +type GetIsLbPoolMembersMemberTargetInput interface { + pulumi.Input + + ToGetIsLbPoolMembersMemberTargetOutput() GetIsLbPoolMembersMemberTargetOutput + ToGetIsLbPoolMembersMemberTargetOutputWithContext(context.Context) GetIsLbPoolMembersMemberTargetOutput +} + +type GetIsLbPoolMembersMemberTargetArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The CRN for this virtual server instance. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbPoolMembersMemberTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbPoolMembersMemberTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMembersMemberTarget)(nil)).Elem() +} + +func (i GetIsLbPoolMembersMemberTargetArgs) ToGetIsLbPoolMembersMemberTargetOutput() GetIsLbPoolMembersMemberTargetOutput { + return i.ToGetIsLbPoolMembersMemberTargetOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMembersMemberTargetArgs) ToGetIsLbPoolMembersMemberTargetOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMembersMemberTargetOutput) +} + +// GetIsLbPoolMembersMemberTargetArrayInput is an input type that accepts GetIsLbPoolMembersMemberTargetArray and GetIsLbPoolMembersMemberTargetArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolMembersMemberTargetArrayInput` via: +// +// GetIsLbPoolMembersMemberTargetArray{ GetIsLbPoolMembersMemberTargetArgs{...} } +type GetIsLbPoolMembersMemberTargetArrayInput interface { + pulumi.Input + + ToGetIsLbPoolMembersMemberTargetArrayOutput() GetIsLbPoolMembersMemberTargetArrayOutput + ToGetIsLbPoolMembersMemberTargetArrayOutputWithContext(context.Context) GetIsLbPoolMembersMemberTargetArrayOutput +} + +type GetIsLbPoolMembersMemberTargetArray []GetIsLbPoolMembersMemberTargetInput + +func (GetIsLbPoolMembersMemberTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMembersMemberTarget)(nil)).Elem() +} + +func (i GetIsLbPoolMembersMemberTargetArray) ToGetIsLbPoolMembersMemberTargetArrayOutput() GetIsLbPoolMembersMemberTargetArrayOutput { + return i.ToGetIsLbPoolMembersMemberTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMembersMemberTargetArray) ToGetIsLbPoolMembersMemberTargetArrayOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMembersMemberTargetArrayOutput) +} + +type GetIsLbPoolMembersMemberTargetOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMembersMemberTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMembersMemberTarget)(nil)).Elem() +} + +func (o GetIsLbPoolMembersMemberTargetOutput) ToGetIsLbPoolMembersMemberTargetOutput() GetIsLbPoolMembersMemberTargetOutput { + return o +} + +func (o GetIsLbPoolMembersMemberTargetOutput) ToGetIsLbPoolMembersMemberTargetOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberTargetOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsLbPoolMembersMemberTargetOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMemberTarget) string { return v.Address }).(pulumi.StringOutput) +} + +// The CRN for this virtual server instance. +func (o GetIsLbPoolMembersMemberTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMemberTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbPoolMembersMemberTargetOutput) Deleteds() GetIsLbPoolMembersMemberTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMemberTarget) []GetIsLbPoolMembersMemberTargetDeleted { return v.Deleteds }).(GetIsLbPoolMembersMemberTargetDeletedArrayOutput) +} + +// The URL for this virtual server instance. +func (o GetIsLbPoolMembersMemberTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMemberTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual server instance. +func (o GetIsLbPoolMembersMemberTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMemberTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o GetIsLbPoolMembersMemberTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMemberTarget) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbPoolMembersMemberTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMembersMemberTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMembersMemberTarget)(nil)).Elem() +} + +func (o GetIsLbPoolMembersMemberTargetArrayOutput) ToGetIsLbPoolMembersMemberTargetArrayOutput() GetIsLbPoolMembersMemberTargetArrayOutput { + return o +} + +func (o GetIsLbPoolMembersMemberTargetArrayOutput) ToGetIsLbPoolMembersMemberTargetArrayOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberTargetArrayOutput { + return o +} + +func (o GetIsLbPoolMembersMemberTargetArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolMembersMemberTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolMembersMemberTarget { + return vs[0].([]GetIsLbPoolMembersMemberTarget)[vs[1].(int)] + }).(GetIsLbPoolMembersMemberTargetOutput) +} + +type GetIsLbPoolMembersMemberTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbPoolMembersMemberTargetDeletedInput is an input type that accepts GetIsLbPoolMembersMemberTargetDeletedArgs and GetIsLbPoolMembersMemberTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsLbPoolMembersMemberTargetDeletedInput` via: +// +// GetIsLbPoolMembersMemberTargetDeletedArgs{...} +type GetIsLbPoolMembersMemberTargetDeletedInput interface { + pulumi.Input + + ToGetIsLbPoolMembersMemberTargetDeletedOutput() GetIsLbPoolMembersMemberTargetDeletedOutput + ToGetIsLbPoolMembersMemberTargetDeletedOutputWithContext(context.Context) GetIsLbPoolMembersMemberTargetDeletedOutput +} + +type GetIsLbPoolMembersMemberTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbPoolMembersMemberTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMembersMemberTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolMembersMemberTargetDeletedArgs) ToGetIsLbPoolMembersMemberTargetDeletedOutput() GetIsLbPoolMembersMemberTargetDeletedOutput { + return i.ToGetIsLbPoolMembersMemberTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMembersMemberTargetDeletedArgs) ToGetIsLbPoolMembersMemberTargetDeletedOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMembersMemberTargetDeletedOutput) +} + +// GetIsLbPoolMembersMemberTargetDeletedArrayInput is an input type that accepts GetIsLbPoolMembersMemberTargetDeletedArray and GetIsLbPoolMembersMemberTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolMembersMemberTargetDeletedArrayInput` via: +// +// GetIsLbPoolMembersMemberTargetDeletedArray{ GetIsLbPoolMembersMemberTargetDeletedArgs{...} } +type GetIsLbPoolMembersMemberTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbPoolMembersMemberTargetDeletedArrayOutput() GetIsLbPoolMembersMemberTargetDeletedArrayOutput + ToGetIsLbPoolMembersMemberTargetDeletedArrayOutputWithContext(context.Context) GetIsLbPoolMembersMemberTargetDeletedArrayOutput +} + +type GetIsLbPoolMembersMemberTargetDeletedArray []GetIsLbPoolMembersMemberTargetDeletedInput + +func (GetIsLbPoolMembersMemberTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMembersMemberTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolMembersMemberTargetDeletedArray) ToGetIsLbPoolMembersMemberTargetDeletedArrayOutput() GetIsLbPoolMembersMemberTargetDeletedArrayOutput { + return i.ToGetIsLbPoolMembersMemberTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolMembersMemberTargetDeletedArray) ToGetIsLbPoolMembersMemberTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolMembersMemberTargetDeletedArrayOutput) +} + +type GetIsLbPoolMembersMemberTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMembersMemberTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolMembersMemberTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolMembersMemberTargetDeletedOutput) ToGetIsLbPoolMembersMemberTargetDeletedOutput() GetIsLbPoolMembersMemberTargetDeletedOutput { + return o +} + +func (o GetIsLbPoolMembersMemberTargetDeletedOutput) ToGetIsLbPoolMembersMemberTargetDeletedOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbPoolMembersMemberTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolMembersMemberTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbPoolMembersMemberTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolMembersMemberTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolMembersMemberTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolMembersMemberTargetDeletedArrayOutput) ToGetIsLbPoolMembersMemberTargetDeletedArrayOutput() GetIsLbPoolMembersMemberTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolMembersMemberTargetDeletedArrayOutput) ToGetIsLbPoolMembersMemberTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolMembersMemberTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolMembersMemberTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolMembersMemberTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolMembersMemberTargetDeleted { + return vs[0].([]GetIsLbPoolMembersMemberTargetDeleted)[vs[1].(int)] + }).(GetIsLbPoolMembersMemberTargetDeletedOutput) +} + +type GetIsLbPoolSessionPersistence struct { + // The session persistence cookie name. Applicable only for type `appCookie`. Names starting with `IBM` are not allowed. + CookieName string `pulumi:"cookieName"` + // The session persistence type. The `httpCookie` and `appCookie` types are applicable only to the `http` and `https` protocols. + Type string `pulumi:"type"` +} + +// GetIsLbPoolSessionPersistenceInput is an input type that accepts GetIsLbPoolSessionPersistenceArgs and GetIsLbPoolSessionPersistenceOutput values. +// You can construct a concrete instance of `GetIsLbPoolSessionPersistenceInput` via: +// +// GetIsLbPoolSessionPersistenceArgs{...} +type GetIsLbPoolSessionPersistenceInput interface { + pulumi.Input + + ToGetIsLbPoolSessionPersistenceOutput() GetIsLbPoolSessionPersistenceOutput + ToGetIsLbPoolSessionPersistenceOutputWithContext(context.Context) GetIsLbPoolSessionPersistenceOutput +} + +type GetIsLbPoolSessionPersistenceArgs struct { + // The session persistence cookie name. Applicable only for type `appCookie`. Names starting with `IBM` are not allowed. + CookieName pulumi.StringInput `pulumi:"cookieName"` + // The session persistence type. The `httpCookie` and `appCookie` types are applicable only to the `http` and `https` protocols. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsLbPoolSessionPersistenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolSessionPersistence)(nil)).Elem() +} + +func (i GetIsLbPoolSessionPersistenceArgs) ToGetIsLbPoolSessionPersistenceOutput() GetIsLbPoolSessionPersistenceOutput { + return i.ToGetIsLbPoolSessionPersistenceOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolSessionPersistenceArgs) ToGetIsLbPoolSessionPersistenceOutputWithContext(ctx context.Context) GetIsLbPoolSessionPersistenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolSessionPersistenceOutput) +} + +// GetIsLbPoolSessionPersistenceArrayInput is an input type that accepts GetIsLbPoolSessionPersistenceArray and GetIsLbPoolSessionPersistenceArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolSessionPersistenceArrayInput` via: +// +// GetIsLbPoolSessionPersistenceArray{ GetIsLbPoolSessionPersistenceArgs{...} } +type GetIsLbPoolSessionPersistenceArrayInput interface { + pulumi.Input + + ToGetIsLbPoolSessionPersistenceArrayOutput() GetIsLbPoolSessionPersistenceArrayOutput + ToGetIsLbPoolSessionPersistenceArrayOutputWithContext(context.Context) GetIsLbPoolSessionPersistenceArrayOutput +} + +type GetIsLbPoolSessionPersistenceArray []GetIsLbPoolSessionPersistenceInput + +func (GetIsLbPoolSessionPersistenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolSessionPersistence)(nil)).Elem() +} + +func (i GetIsLbPoolSessionPersistenceArray) ToGetIsLbPoolSessionPersistenceArrayOutput() GetIsLbPoolSessionPersistenceArrayOutput { + return i.ToGetIsLbPoolSessionPersistenceArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolSessionPersistenceArray) ToGetIsLbPoolSessionPersistenceArrayOutputWithContext(ctx context.Context) GetIsLbPoolSessionPersistenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolSessionPersistenceArrayOutput) +} + +type GetIsLbPoolSessionPersistenceOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolSessionPersistenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolSessionPersistence)(nil)).Elem() +} + +func (o GetIsLbPoolSessionPersistenceOutput) ToGetIsLbPoolSessionPersistenceOutput() GetIsLbPoolSessionPersistenceOutput { + return o +} + +func (o GetIsLbPoolSessionPersistenceOutput) ToGetIsLbPoolSessionPersistenceOutputWithContext(ctx context.Context) GetIsLbPoolSessionPersistenceOutput { + return o +} + +// The session persistence cookie name. Applicable only for type `appCookie`. Names starting with `IBM` are not allowed. +func (o GetIsLbPoolSessionPersistenceOutput) CookieName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolSessionPersistence) string { return v.CookieName }).(pulumi.StringOutput) +} + +// The session persistence type. The `httpCookie` and `appCookie` types are applicable only to the `http` and `https` protocols. +func (o GetIsLbPoolSessionPersistenceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolSessionPersistence) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsLbPoolSessionPersistenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolSessionPersistenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolSessionPersistence)(nil)).Elem() +} + +func (o GetIsLbPoolSessionPersistenceArrayOutput) ToGetIsLbPoolSessionPersistenceArrayOutput() GetIsLbPoolSessionPersistenceArrayOutput { + return o +} + +func (o GetIsLbPoolSessionPersistenceArrayOutput) ToGetIsLbPoolSessionPersistenceArrayOutputWithContext(ctx context.Context) GetIsLbPoolSessionPersistenceArrayOutput { + return o +} + +func (o GetIsLbPoolSessionPersistenceArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolSessionPersistenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolSessionPersistence { + return vs[0].([]GetIsLbPoolSessionPersistence)[vs[1].(int)] + }).(GetIsLbPoolSessionPersistenceOutput) +} + +type GetIsLbPoolsPool struct { + // The load balancing algorithm. + Algorithm string `pulumi:"algorithm"` + // The date and time that this pool was created. + CreatedAt string `pulumi:"createdAt"` + FailsafePolicies []GetIsLbPoolsPoolFailsafePolicy `pulumi:"failsafePolicies"` + // The health monitor of this pool. + HealthMonitors []GetIsLbPoolsPoolHealthMonitor `pulumi:"healthMonitors"` + // The pool's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id string `pulumi:"id"` + // The instance group that is managing this pool. + InstanceGroups []GetIsLbPoolsPoolInstanceGroup `pulumi:"instanceGroups"` + // The backend server members of the pool. + Members []GetIsLbPoolsPoolMember `pulumi:"members"` + // The user-defined name for this load balancer pool. + Name string `pulumi:"name"` + // The protocol used for this load balancer pool.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the pool on which the unexpected property value was encountered. + Protocol string `pulumi:"protocol"` + // The provisioning status of this pool. + ProvisioningStatus string `pulumi:"provisioningStatus"` + // The PROXY protocol setting for this pool:- `v1`: Enabled with version 1 (human-readable header format)- `v2`: Enabled with version 2 (binary header format)- `disabled`: DisabledSupported by load balancers in the `application` family (otherwise always `disabled`). + ProxyProtocol string `pulumi:"proxyProtocol"` + // The session persistence of this pool.The enumerated values for this property are expected to expand in the future. Whenprocessing this property, check for and log unknown values. Optionally haltprocessing and surface the error, or bypass the pool on which the unexpectedproperty value was encountered. + SessionPersistences []GetIsLbPoolsPoolSessionPersistence `pulumi:"sessionPersistences"` +} + +// GetIsLbPoolsPoolInput is an input type that accepts GetIsLbPoolsPoolArgs and GetIsLbPoolsPoolOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolInput` via: +// +// GetIsLbPoolsPoolArgs{...} +type GetIsLbPoolsPoolInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolOutput() GetIsLbPoolsPoolOutput + ToGetIsLbPoolsPoolOutputWithContext(context.Context) GetIsLbPoolsPoolOutput +} + +type GetIsLbPoolsPoolArgs struct { + // The load balancing algorithm. + Algorithm pulumi.StringInput `pulumi:"algorithm"` + // The date and time that this pool was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + FailsafePolicies GetIsLbPoolsPoolFailsafePolicyArrayInput `pulumi:"failsafePolicies"` + // The health monitor of this pool. + HealthMonitors GetIsLbPoolsPoolHealthMonitorArrayInput `pulumi:"healthMonitors"` + // The pool's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id pulumi.StringInput `pulumi:"id"` + // The instance group that is managing this pool. + InstanceGroups GetIsLbPoolsPoolInstanceGroupArrayInput `pulumi:"instanceGroups"` + // The backend server members of the pool. + Members GetIsLbPoolsPoolMemberArrayInput `pulumi:"members"` + // The user-defined name for this load balancer pool. + Name pulumi.StringInput `pulumi:"name"` + // The protocol used for this load balancer pool.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the pool on which the unexpected property value was encountered. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The provisioning status of this pool. + ProvisioningStatus pulumi.StringInput `pulumi:"provisioningStatus"` + // The PROXY protocol setting for this pool:- `v1`: Enabled with version 1 (human-readable header format)- `v2`: Enabled with version 2 (binary header format)- `disabled`: DisabledSupported by load balancers in the `application` family (otherwise always `disabled`). + ProxyProtocol pulumi.StringInput `pulumi:"proxyProtocol"` + // The session persistence of this pool.The enumerated values for this property are expected to expand in the future. Whenprocessing this property, check for and log unknown values. Optionally haltprocessing and surface the error, or bypass the pool on which the unexpectedproperty value was encountered. + SessionPersistences GetIsLbPoolsPoolSessionPersistenceArrayInput `pulumi:"sessionPersistences"` +} + +func (GetIsLbPoolsPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPool)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolArgs) ToGetIsLbPoolsPoolOutput() GetIsLbPoolsPoolOutput { + return i.ToGetIsLbPoolsPoolOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolArgs) ToGetIsLbPoolsPoolOutputWithContext(ctx context.Context) GetIsLbPoolsPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolOutput) +} + +// GetIsLbPoolsPoolArrayInput is an input type that accepts GetIsLbPoolsPoolArray and GetIsLbPoolsPoolArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolArrayInput` via: +// +// GetIsLbPoolsPoolArray{ GetIsLbPoolsPoolArgs{...} } +type GetIsLbPoolsPoolArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolArrayOutput() GetIsLbPoolsPoolArrayOutput + ToGetIsLbPoolsPoolArrayOutputWithContext(context.Context) GetIsLbPoolsPoolArrayOutput +} + +type GetIsLbPoolsPoolArray []GetIsLbPoolsPoolInput + +func (GetIsLbPoolsPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPool)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolArray) ToGetIsLbPoolsPoolArrayOutput() GetIsLbPoolsPoolArrayOutput { + return i.ToGetIsLbPoolsPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolArray) ToGetIsLbPoolsPoolArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolArrayOutput) +} + +type GetIsLbPoolsPoolOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPool)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolOutput) ToGetIsLbPoolsPoolOutput() GetIsLbPoolsPoolOutput { + return o +} + +func (o GetIsLbPoolsPoolOutput) ToGetIsLbPoolsPoolOutputWithContext(ctx context.Context) GetIsLbPoolsPoolOutput { + return o +} + +// The load balancing algorithm. +func (o GetIsLbPoolsPoolOutput) Algorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) string { return v.Algorithm }).(pulumi.StringOutput) +} + +// The date and time that this pool was created. +func (o GetIsLbPoolsPoolOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetIsLbPoolsPoolOutput) FailsafePolicies() GetIsLbPoolsPoolFailsafePolicyArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) []GetIsLbPoolsPoolFailsafePolicy { return v.FailsafePolicies }).(GetIsLbPoolsPoolFailsafePolicyArrayOutput) +} + +// The health monitor of this pool. +func (o GetIsLbPoolsPoolOutput) HealthMonitors() GetIsLbPoolsPoolHealthMonitorArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) []GetIsLbPoolsPoolHealthMonitor { return v.HealthMonitors }).(GetIsLbPoolsPoolHealthMonitorArrayOutput) +} + +// The pool's canonical URL. +func (o GetIsLbPoolsPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool. +func (o GetIsLbPoolsPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The instance group that is managing this pool. +func (o GetIsLbPoolsPoolOutput) InstanceGroups() GetIsLbPoolsPoolInstanceGroupArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) []GetIsLbPoolsPoolInstanceGroup { return v.InstanceGroups }).(GetIsLbPoolsPoolInstanceGroupArrayOutput) +} + +// The backend server members of the pool. +func (o GetIsLbPoolsPoolOutput) Members() GetIsLbPoolsPoolMemberArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) []GetIsLbPoolsPoolMember { return v.Members }).(GetIsLbPoolsPoolMemberArrayOutput) +} + +// The user-defined name for this load balancer pool. +func (o GetIsLbPoolsPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) string { return v.Name }).(pulumi.StringOutput) +} + +// The protocol used for this load balancer pool.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the pool on which the unexpected property value was encountered. +func (o GetIsLbPoolsPoolOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning status of this pool. +func (o GetIsLbPoolsPoolOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// The PROXY protocol setting for this pool:- `v1`: Enabled with version 1 (human-readable header format)- `v2`: Enabled with version 2 (binary header format)- `disabled`: DisabledSupported by load balancers in the `application` family (otherwise always `disabled`). +func (o GetIsLbPoolsPoolOutput) ProxyProtocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) string { return v.ProxyProtocol }).(pulumi.StringOutput) +} + +// The session persistence of this pool.The enumerated values for this property are expected to expand in the future. Whenprocessing this property, check for and log unknown values. Optionally haltprocessing and surface the error, or bypass the pool on which the unexpectedproperty value was encountered. +func (o GetIsLbPoolsPoolOutput) SessionPersistences() GetIsLbPoolsPoolSessionPersistenceArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPool) []GetIsLbPoolsPoolSessionPersistence { return v.SessionPersistences }).(GetIsLbPoolsPoolSessionPersistenceArrayOutput) +} + +type GetIsLbPoolsPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPool)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolArrayOutput) ToGetIsLbPoolsPoolArrayOutput() GetIsLbPoolsPoolArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolArrayOutput) ToGetIsLbPoolsPoolArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPool { + return vs[0].([]GetIsLbPoolsPool)[vs[1].(int)] + }).(GetIsLbPoolsPoolOutput) +} + +type GetIsLbPoolsPoolFailsafePolicy struct { + // A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action string `pulumi:"action"` + // The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. + HealthyMemberThresholdCount int `pulumi:"healthyMemberThresholdCount"` + // If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets []GetIsLbPoolsPoolFailsafePolicyTarget `pulumi:"targets"` +} + +// GetIsLbPoolsPoolFailsafePolicyInput is an input type that accepts GetIsLbPoolsPoolFailsafePolicyArgs and GetIsLbPoolsPoolFailsafePolicyOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolFailsafePolicyInput` via: +// +// GetIsLbPoolsPoolFailsafePolicyArgs{...} +type GetIsLbPoolsPoolFailsafePolicyInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolFailsafePolicyOutput() GetIsLbPoolsPoolFailsafePolicyOutput + ToGetIsLbPoolsPoolFailsafePolicyOutputWithContext(context.Context) GetIsLbPoolsPoolFailsafePolicyOutput +} + +type GetIsLbPoolsPoolFailsafePolicyArgs struct { + // A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Action pulumi.StringInput `pulumi:"action"` + // The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. + HealthyMemberThresholdCount pulumi.IntInput `pulumi:"healthyMemberThresholdCount"` + // If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Targets GetIsLbPoolsPoolFailsafePolicyTargetArrayInput `pulumi:"targets"` +} + +func (GetIsLbPoolsPoolFailsafePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicy)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolFailsafePolicyArgs) ToGetIsLbPoolsPoolFailsafePolicyOutput() GetIsLbPoolsPoolFailsafePolicyOutput { + return i.ToGetIsLbPoolsPoolFailsafePolicyOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolFailsafePolicyArgs) ToGetIsLbPoolsPoolFailsafePolicyOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolFailsafePolicyOutput) +} + +// GetIsLbPoolsPoolFailsafePolicyArrayInput is an input type that accepts GetIsLbPoolsPoolFailsafePolicyArray and GetIsLbPoolsPoolFailsafePolicyArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolFailsafePolicyArrayInput` via: +// +// GetIsLbPoolsPoolFailsafePolicyArray{ GetIsLbPoolsPoolFailsafePolicyArgs{...} } +type GetIsLbPoolsPoolFailsafePolicyArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolFailsafePolicyArrayOutput() GetIsLbPoolsPoolFailsafePolicyArrayOutput + ToGetIsLbPoolsPoolFailsafePolicyArrayOutputWithContext(context.Context) GetIsLbPoolsPoolFailsafePolicyArrayOutput +} + +type GetIsLbPoolsPoolFailsafePolicyArray []GetIsLbPoolsPoolFailsafePolicyInput + +func (GetIsLbPoolsPoolFailsafePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolFailsafePolicy)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolFailsafePolicyArray) ToGetIsLbPoolsPoolFailsafePolicyArrayOutput() GetIsLbPoolsPoolFailsafePolicyArrayOutput { + return i.ToGetIsLbPoolsPoolFailsafePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolFailsafePolicyArray) ToGetIsLbPoolsPoolFailsafePolicyArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolFailsafePolicyArrayOutput) +} + +type GetIsLbPoolsPoolFailsafePolicyOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolFailsafePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicy)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolFailsafePolicyOutput) ToGetIsLbPoolsPoolFailsafePolicyOutput() GetIsLbPoolsPoolFailsafePolicyOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyOutput) ToGetIsLbPoolsPoolFailsafePolicyOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyOutput { + return o +} + +// A load balancer failsafe policy action:- `forward`: Forwards requests to the `target` pool.- `fail`: Rejects requests with an HTTP `503` status code.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsLbPoolsPoolFailsafePolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolFailsafePolicy) string { return v.Action }).(pulumi.StringOutput) +} + +// The healthy member count at which the failsafe policy action will be triggered. At present, this is always `0`, but may be modifiable in the future. +func (o GetIsLbPoolsPoolFailsafePolicyOutput) HealthyMemberThresholdCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolFailsafePolicy) int { return v.HealthyMemberThresholdCount }).(pulumi.IntOutput) +} + +// If `action` is `forward`, the target pool to forward to.If `action` is `fail`, this property will be absent.The targets supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsLbPoolsPoolFailsafePolicyOutput) Targets() GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolFailsafePolicy) []GetIsLbPoolsPoolFailsafePolicyTarget { return v.Targets }).(GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput) +} + +type GetIsLbPoolsPoolFailsafePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolFailsafePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolFailsafePolicy)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolFailsafePolicyArrayOutput) ToGetIsLbPoolsPoolFailsafePolicyArrayOutput() GetIsLbPoolsPoolFailsafePolicyArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyArrayOutput) ToGetIsLbPoolsPoolFailsafePolicyArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolFailsafePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolFailsafePolicy { + return vs[0].([]GetIsLbPoolsPoolFailsafePolicy)[vs[1].(int)] + }).(GetIsLbPoolsPoolFailsafePolicyOutput) +} + +type GetIsLbPoolsPoolFailsafePolicyTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsLbPoolsPoolFailsafePolicyTargetDeleted `pulumi:"deleteds"` + // The URL for this load balancer pool. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id string `pulumi:"id"` + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name string `pulumi:"name"` +} + +// GetIsLbPoolsPoolFailsafePolicyTargetInput is an input type that accepts GetIsLbPoolsPoolFailsafePolicyTargetArgs and GetIsLbPoolsPoolFailsafePolicyTargetOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolFailsafePolicyTargetInput` via: +// +// GetIsLbPoolsPoolFailsafePolicyTargetArgs{...} +type GetIsLbPoolsPoolFailsafePolicyTargetInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolFailsafePolicyTargetOutput() GetIsLbPoolsPoolFailsafePolicyTargetOutput + ToGetIsLbPoolsPoolFailsafePolicyTargetOutputWithContext(context.Context) GetIsLbPoolsPoolFailsafePolicyTargetOutput +} + +type GetIsLbPoolsPoolFailsafePolicyTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this load balancer pool. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool. + Id pulumi.StringInput `pulumi:"id"` + // The name for this load balancer pool. The name is unique across all pools for the load balancer. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbPoolsPoolFailsafePolicyTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolFailsafePolicyTargetArgs) ToGetIsLbPoolsPoolFailsafePolicyTargetOutput() GetIsLbPoolsPoolFailsafePolicyTargetOutput { + return i.ToGetIsLbPoolsPoolFailsafePolicyTargetOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolFailsafePolicyTargetArgs) ToGetIsLbPoolsPoolFailsafePolicyTargetOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolFailsafePolicyTargetOutput) +} + +// GetIsLbPoolsPoolFailsafePolicyTargetArrayInput is an input type that accepts GetIsLbPoolsPoolFailsafePolicyTargetArray and GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolFailsafePolicyTargetArrayInput` via: +// +// GetIsLbPoolsPoolFailsafePolicyTargetArray{ GetIsLbPoolsPoolFailsafePolicyTargetArgs{...} } +type GetIsLbPoolsPoolFailsafePolicyTargetArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolFailsafePolicyTargetArrayOutput() GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput + ToGetIsLbPoolsPoolFailsafePolicyTargetArrayOutputWithContext(context.Context) GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput +} + +type GetIsLbPoolsPoolFailsafePolicyTargetArray []GetIsLbPoolsPoolFailsafePolicyTargetInput + +func (GetIsLbPoolsPoolFailsafePolicyTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolFailsafePolicyTargetArray) ToGetIsLbPoolsPoolFailsafePolicyTargetArrayOutput() GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput { + return i.ToGetIsLbPoolsPoolFailsafePolicyTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolFailsafePolicyTargetArray) ToGetIsLbPoolsPoolFailsafePolicyTargetArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput) +} + +type GetIsLbPoolsPoolFailsafePolicyTargetOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolFailsafePolicyTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetOutput) ToGetIsLbPoolsPoolFailsafePolicyTargetOutput() GetIsLbPoolsPoolFailsafePolicyTargetOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetOutput) ToGetIsLbPoolsPoolFailsafePolicyTargetOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsLbPoolsPoolFailsafePolicyTargetOutput) Deleteds() GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolFailsafePolicyTarget) []GetIsLbPoolsPoolFailsafePolicyTargetDeleted { + return v.Deleteds + }).(GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput) +} + +// The URL for this load balancer pool. +func (o GetIsLbPoolsPoolFailsafePolicyTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolFailsafePolicyTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool. +func (o GetIsLbPoolsPoolFailsafePolicyTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolFailsafePolicyTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this load balancer pool. The name is unique across all pools for the load balancer. +func (o GetIsLbPoolsPoolFailsafePolicyTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolFailsafePolicyTarget) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolFailsafePolicyTarget)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput) ToGetIsLbPoolsPoolFailsafePolicyTargetArrayOutput() GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput) ToGetIsLbPoolsPoolFailsafePolicyTargetArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolFailsafePolicyTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolFailsafePolicyTarget { + return vs[0].([]GetIsLbPoolsPoolFailsafePolicyTarget)[vs[1].(int)] + }).(GetIsLbPoolsPoolFailsafePolicyTargetOutput) +} + +type GetIsLbPoolsPoolFailsafePolicyTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbPoolsPoolFailsafePolicyTargetDeletedInput is an input type that accepts GetIsLbPoolsPoolFailsafePolicyTargetDeletedArgs and GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolFailsafePolicyTargetDeletedInput` via: +// +// GetIsLbPoolsPoolFailsafePolicyTargetDeletedArgs{...} +type GetIsLbPoolsPoolFailsafePolicyTargetDeletedInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput() GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput + ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedOutputWithContext(context.Context) GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput +} + +type GetIsLbPoolsPoolFailsafePolicyTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbPoolsPoolFailsafePolicyTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolFailsafePolicyTargetDeletedArgs) ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput() GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput { + return i.ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolFailsafePolicyTargetDeletedArgs) ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput) +} + +// GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayInput is an input type that accepts GetIsLbPoolsPoolFailsafePolicyTargetDeletedArray and GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayInput` via: +// +// GetIsLbPoolsPoolFailsafePolicyTargetDeletedArray{ GetIsLbPoolsPoolFailsafePolicyTargetDeletedArgs{...} } +type GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput() GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput + ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutputWithContext(context.Context) GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput +} + +type GetIsLbPoolsPoolFailsafePolicyTargetDeletedArray []GetIsLbPoolsPoolFailsafePolicyTargetDeletedInput + +func (GetIsLbPoolsPoolFailsafePolicyTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolFailsafePolicyTargetDeletedArray) ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput() GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput { + return i.ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolFailsafePolicyTargetDeletedArray) ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput) +} + +type GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput) ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput() GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput) ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolFailsafePolicyTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolFailsafePolicyTargetDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput) ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput() GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput) ToGetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolFailsafePolicyTargetDeleted { + return vs[0].([]GetIsLbPoolsPoolFailsafePolicyTargetDeleted)[vs[1].(int)] + }).(GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput) +} + +type GetIsLbPoolsPoolHealthMonitor struct { + // The health check interval in seconds. Interval must be greater than timeout value. + Delay int `pulumi:"delay"` + // The health check max retries. + MaxRetries int `pulumi:"maxRetries"` + // The health check port number. If specified, this overrides the ports specified in the server member resources. + Port int `pulumi:"port"` + // The health check timeout in seconds. + Timeout int `pulumi:"timeout"` + // The protocol type of this load balancer pool health monitor.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the health monitor on which the unexpected property value was encountered. + Type string `pulumi:"type"` + // The health check URL path. Applicable only if the health monitor `type` is `http` or`https`. This value must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + UrlPath string `pulumi:"urlPath"` +} + +// GetIsLbPoolsPoolHealthMonitorInput is an input type that accepts GetIsLbPoolsPoolHealthMonitorArgs and GetIsLbPoolsPoolHealthMonitorOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolHealthMonitorInput` via: +// +// GetIsLbPoolsPoolHealthMonitorArgs{...} +type GetIsLbPoolsPoolHealthMonitorInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolHealthMonitorOutput() GetIsLbPoolsPoolHealthMonitorOutput + ToGetIsLbPoolsPoolHealthMonitorOutputWithContext(context.Context) GetIsLbPoolsPoolHealthMonitorOutput +} + +type GetIsLbPoolsPoolHealthMonitorArgs struct { + // The health check interval in seconds. Interval must be greater than timeout value. + Delay pulumi.IntInput `pulumi:"delay"` + // The health check max retries. + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + // The health check port number. If specified, this overrides the ports specified in the server member resources. + Port pulumi.IntInput `pulumi:"port"` + // The health check timeout in seconds. + Timeout pulumi.IntInput `pulumi:"timeout"` + // The protocol type of this load balancer pool health monitor.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the health monitor on which the unexpected property value was encountered. + Type pulumi.StringInput `pulumi:"type"` + // The health check URL path. Applicable only if the health monitor `type` is `http` or`https`. This value must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). + UrlPath pulumi.StringInput `pulumi:"urlPath"` +} + +func (GetIsLbPoolsPoolHealthMonitorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolHealthMonitor)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolHealthMonitorArgs) ToGetIsLbPoolsPoolHealthMonitorOutput() GetIsLbPoolsPoolHealthMonitorOutput { + return i.ToGetIsLbPoolsPoolHealthMonitorOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolHealthMonitorArgs) ToGetIsLbPoolsPoolHealthMonitorOutputWithContext(ctx context.Context) GetIsLbPoolsPoolHealthMonitorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolHealthMonitorOutput) +} + +// GetIsLbPoolsPoolHealthMonitorArrayInput is an input type that accepts GetIsLbPoolsPoolHealthMonitorArray and GetIsLbPoolsPoolHealthMonitorArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolHealthMonitorArrayInput` via: +// +// GetIsLbPoolsPoolHealthMonitorArray{ GetIsLbPoolsPoolHealthMonitorArgs{...} } +type GetIsLbPoolsPoolHealthMonitorArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolHealthMonitorArrayOutput() GetIsLbPoolsPoolHealthMonitorArrayOutput + ToGetIsLbPoolsPoolHealthMonitorArrayOutputWithContext(context.Context) GetIsLbPoolsPoolHealthMonitorArrayOutput +} + +type GetIsLbPoolsPoolHealthMonitorArray []GetIsLbPoolsPoolHealthMonitorInput + +func (GetIsLbPoolsPoolHealthMonitorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolHealthMonitor)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolHealthMonitorArray) ToGetIsLbPoolsPoolHealthMonitorArrayOutput() GetIsLbPoolsPoolHealthMonitorArrayOutput { + return i.ToGetIsLbPoolsPoolHealthMonitorArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolHealthMonitorArray) ToGetIsLbPoolsPoolHealthMonitorArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolHealthMonitorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolHealthMonitorArrayOutput) +} + +type GetIsLbPoolsPoolHealthMonitorOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolHealthMonitorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolHealthMonitor)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolHealthMonitorOutput) ToGetIsLbPoolsPoolHealthMonitorOutput() GetIsLbPoolsPoolHealthMonitorOutput { + return o +} + +func (o GetIsLbPoolsPoolHealthMonitorOutput) ToGetIsLbPoolsPoolHealthMonitorOutputWithContext(ctx context.Context) GetIsLbPoolsPoolHealthMonitorOutput { + return o +} + +// The health check interval in seconds. Interval must be greater than timeout value. +func (o GetIsLbPoolsPoolHealthMonitorOutput) Delay() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolHealthMonitor) int { return v.Delay }).(pulumi.IntOutput) +} + +// The health check max retries. +func (o GetIsLbPoolsPoolHealthMonitorOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolHealthMonitor) int { return v.MaxRetries }).(pulumi.IntOutput) +} + +// The health check port number. If specified, this overrides the ports specified in the server member resources. +func (o GetIsLbPoolsPoolHealthMonitorOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolHealthMonitor) int { return v.Port }).(pulumi.IntOutput) +} + +// The health check timeout in seconds. +func (o GetIsLbPoolsPoolHealthMonitorOutput) Timeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolHealthMonitor) int { return v.Timeout }).(pulumi.IntOutput) +} + +// The protocol type of this load balancer pool health monitor.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the health monitor on which the unexpected property value was encountered. +func (o GetIsLbPoolsPoolHealthMonitorOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolHealthMonitor) string { return v.Type }).(pulumi.StringOutput) +} + +// The health check URL path. Applicable only if the health monitor `type` is `http` or`https`. This value must be in the format of an [origin-form request target](https://tools.ietf.org/html/rfc7230#section-5.3.1). +func (o GetIsLbPoolsPoolHealthMonitorOutput) UrlPath() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolHealthMonitor) string { return v.UrlPath }).(pulumi.StringOutput) +} + +type GetIsLbPoolsPoolHealthMonitorArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolHealthMonitorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolHealthMonitor)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolHealthMonitorArrayOutput) ToGetIsLbPoolsPoolHealthMonitorArrayOutput() GetIsLbPoolsPoolHealthMonitorArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolHealthMonitorArrayOutput) ToGetIsLbPoolsPoolHealthMonitorArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolHealthMonitorArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolHealthMonitorArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolHealthMonitorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolHealthMonitor { + return vs[0].([]GetIsLbPoolsPoolHealthMonitor)[vs[1].(int)] + }).(GetIsLbPoolsPoolHealthMonitorOutput) +} + +type GetIsLbPoolsPoolInstanceGroup struct { + // The CRN for this instance group. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbPoolsPoolInstanceGroupDeleted `pulumi:"deleteds"` + // The URL for this instance group. + Href string `pulumi:"href"` + // The unique identifier for this instance group. + Id string `pulumi:"id"` + // The user-defined name for this instance group. + Name string `pulumi:"name"` +} + +// GetIsLbPoolsPoolInstanceGroupInput is an input type that accepts GetIsLbPoolsPoolInstanceGroupArgs and GetIsLbPoolsPoolInstanceGroupOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolInstanceGroupInput` via: +// +// GetIsLbPoolsPoolInstanceGroupArgs{...} +type GetIsLbPoolsPoolInstanceGroupInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolInstanceGroupOutput() GetIsLbPoolsPoolInstanceGroupOutput + ToGetIsLbPoolsPoolInstanceGroupOutputWithContext(context.Context) GetIsLbPoolsPoolInstanceGroupOutput +} + +type GetIsLbPoolsPoolInstanceGroupArgs struct { + // The CRN for this instance group. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbPoolsPoolInstanceGroupDeletedArrayInput `pulumi:"deleteds"` + // The URL for this instance group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this instance group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this instance group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbPoolsPoolInstanceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolInstanceGroup)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolInstanceGroupArgs) ToGetIsLbPoolsPoolInstanceGroupOutput() GetIsLbPoolsPoolInstanceGroupOutput { + return i.ToGetIsLbPoolsPoolInstanceGroupOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolInstanceGroupArgs) ToGetIsLbPoolsPoolInstanceGroupOutputWithContext(ctx context.Context) GetIsLbPoolsPoolInstanceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolInstanceGroupOutput) +} + +// GetIsLbPoolsPoolInstanceGroupArrayInput is an input type that accepts GetIsLbPoolsPoolInstanceGroupArray and GetIsLbPoolsPoolInstanceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolInstanceGroupArrayInput` via: +// +// GetIsLbPoolsPoolInstanceGroupArray{ GetIsLbPoolsPoolInstanceGroupArgs{...} } +type GetIsLbPoolsPoolInstanceGroupArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolInstanceGroupArrayOutput() GetIsLbPoolsPoolInstanceGroupArrayOutput + ToGetIsLbPoolsPoolInstanceGroupArrayOutputWithContext(context.Context) GetIsLbPoolsPoolInstanceGroupArrayOutput +} + +type GetIsLbPoolsPoolInstanceGroupArray []GetIsLbPoolsPoolInstanceGroupInput + +func (GetIsLbPoolsPoolInstanceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolInstanceGroup)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolInstanceGroupArray) ToGetIsLbPoolsPoolInstanceGroupArrayOutput() GetIsLbPoolsPoolInstanceGroupArrayOutput { + return i.ToGetIsLbPoolsPoolInstanceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolInstanceGroupArray) ToGetIsLbPoolsPoolInstanceGroupArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolInstanceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolInstanceGroupArrayOutput) +} + +type GetIsLbPoolsPoolInstanceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolInstanceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolInstanceGroup)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolInstanceGroupOutput) ToGetIsLbPoolsPoolInstanceGroupOutput() GetIsLbPoolsPoolInstanceGroupOutput { + return o +} + +func (o GetIsLbPoolsPoolInstanceGroupOutput) ToGetIsLbPoolsPoolInstanceGroupOutputWithContext(ctx context.Context) GetIsLbPoolsPoolInstanceGroupOutput { + return o +} + +// The CRN for this instance group. +func (o GetIsLbPoolsPoolInstanceGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolInstanceGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbPoolsPoolInstanceGroupOutput) Deleteds() GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolInstanceGroup) []GetIsLbPoolsPoolInstanceGroupDeleted { return v.Deleteds }).(GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput) +} + +// The URL for this instance group. +func (o GetIsLbPoolsPoolInstanceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolInstanceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this instance group. +func (o GetIsLbPoolsPoolInstanceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolInstanceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this instance group. +func (o GetIsLbPoolsPoolInstanceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolInstanceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbPoolsPoolInstanceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolInstanceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolInstanceGroup)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolInstanceGroupArrayOutput) ToGetIsLbPoolsPoolInstanceGroupArrayOutput() GetIsLbPoolsPoolInstanceGroupArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolInstanceGroupArrayOutput) ToGetIsLbPoolsPoolInstanceGroupArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolInstanceGroupArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolInstanceGroupArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolInstanceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolInstanceGroup { + return vs[0].([]GetIsLbPoolsPoolInstanceGroup)[vs[1].(int)] + }).(GetIsLbPoolsPoolInstanceGroupOutput) +} + +type GetIsLbPoolsPoolInstanceGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbPoolsPoolInstanceGroupDeletedInput is an input type that accepts GetIsLbPoolsPoolInstanceGroupDeletedArgs and GetIsLbPoolsPoolInstanceGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolInstanceGroupDeletedInput` via: +// +// GetIsLbPoolsPoolInstanceGroupDeletedArgs{...} +type GetIsLbPoolsPoolInstanceGroupDeletedInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolInstanceGroupDeletedOutput() GetIsLbPoolsPoolInstanceGroupDeletedOutput + ToGetIsLbPoolsPoolInstanceGroupDeletedOutputWithContext(context.Context) GetIsLbPoolsPoolInstanceGroupDeletedOutput +} + +type GetIsLbPoolsPoolInstanceGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbPoolsPoolInstanceGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolInstanceGroupDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolInstanceGroupDeletedArgs) ToGetIsLbPoolsPoolInstanceGroupDeletedOutput() GetIsLbPoolsPoolInstanceGroupDeletedOutput { + return i.ToGetIsLbPoolsPoolInstanceGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolInstanceGroupDeletedArgs) ToGetIsLbPoolsPoolInstanceGroupDeletedOutputWithContext(ctx context.Context) GetIsLbPoolsPoolInstanceGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolInstanceGroupDeletedOutput) +} + +// GetIsLbPoolsPoolInstanceGroupDeletedArrayInput is an input type that accepts GetIsLbPoolsPoolInstanceGroupDeletedArray and GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolInstanceGroupDeletedArrayInput` via: +// +// GetIsLbPoolsPoolInstanceGroupDeletedArray{ GetIsLbPoolsPoolInstanceGroupDeletedArgs{...} } +type GetIsLbPoolsPoolInstanceGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolInstanceGroupDeletedArrayOutput() GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput + ToGetIsLbPoolsPoolInstanceGroupDeletedArrayOutputWithContext(context.Context) GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput +} + +type GetIsLbPoolsPoolInstanceGroupDeletedArray []GetIsLbPoolsPoolInstanceGroupDeletedInput + +func (GetIsLbPoolsPoolInstanceGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolInstanceGroupDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolInstanceGroupDeletedArray) ToGetIsLbPoolsPoolInstanceGroupDeletedArrayOutput() GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput { + return i.ToGetIsLbPoolsPoolInstanceGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolInstanceGroupDeletedArray) ToGetIsLbPoolsPoolInstanceGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput) +} + +type GetIsLbPoolsPoolInstanceGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolInstanceGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolInstanceGroupDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolInstanceGroupDeletedOutput) ToGetIsLbPoolsPoolInstanceGroupDeletedOutput() GetIsLbPoolsPoolInstanceGroupDeletedOutput { + return o +} + +func (o GetIsLbPoolsPoolInstanceGroupDeletedOutput) ToGetIsLbPoolsPoolInstanceGroupDeletedOutputWithContext(ctx context.Context) GetIsLbPoolsPoolInstanceGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbPoolsPoolInstanceGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolInstanceGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolInstanceGroupDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput) ToGetIsLbPoolsPoolInstanceGroupDeletedArrayOutput() GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput) ToGetIsLbPoolsPoolInstanceGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolInstanceGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolInstanceGroupDeleted { + return vs[0].([]GetIsLbPoolsPoolInstanceGroupDeleted)[vs[1].(int)] + }).(GetIsLbPoolsPoolInstanceGroupDeletedOutput) +} + +type GetIsLbPoolsPoolMember struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbPoolsPoolMemberDeleted `pulumi:"deleteds"` + // The member's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id string `pulumi:"id"` +} + +// GetIsLbPoolsPoolMemberInput is an input type that accepts GetIsLbPoolsPoolMemberArgs and GetIsLbPoolsPoolMemberOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolMemberInput` via: +// +// GetIsLbPoolsPoolMemberArgs{...} +type GetIsLbPoolsPoolMemberInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolMemberOutput() GetIsLbPoolsPoolMemberOutput + ToGetIsLbPoolsPoolMemberOutputWithContext(context.Context) GetIsLbPoolsPoolMemberOutput +} + +type GetIsLbPoolsPoolMemberArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbPoolsPoolMemberDeletedArrayInput `pulumi:"deleteds"` + // The member's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbPoolsPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolMember)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolMemberArgs) ToGetIsLbPoolsPoolMemberOutput() GetIsLbPoolsPoolMemberOutput { + return i.ToGetIsLbPoolsPoolMemberOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolMemberArgs) ToGetIsLbPoolsPoolMemberOutputWithContext(ctx context.Context) GetIsLbPoolsPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolMemberOutput) +} + +// GetIsLbPoolsPoolMemberArrayInput is an input type that accepts GetIsLbPoolsPoolMemberArray and GetIsLbPoolsPoolMemberArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolMemberArrayInput` via: +// +// GetIsLbPoolsPoolMemberArray{ GetIsLbPoolsPoolMemberArgs{...} } +type GetIsLbPoolsPoolMemberArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolMemberArrayOutput() GetIsLbPoolsPoolMemberArrayOutput + ToGetIsLbPoolsPoolMemberArrayOutputWithContext(context.Context) GetIsLbPoolsPoolMemberArrayOutput +} + +type GetIsLbPoolsPoolMemberArray []GetIsLbPoolsPoolMemberInput + +func (GetIsLbPoolsPoolMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolMember)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolMemberArray) ToGetIsLbPoolsPoolMemberArrayOutput() GetIsLbPoolsPoolMemberArrayOutput { + return i.ToGetIsLbPoolsPoolMemberArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolMemberArray) ToGetIsLbPoolsPoolMemberArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolMemberArrayOutput) +} + +type GetIsLbPoolsPoolMemberOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolMember)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolMemberOutput) ToGetIsLbPoolsPoolMemberOutput() GetIsLbPoolsPoolMemberOutput { + return o +} + +func (o GetIsLbPoolsPoolMemberOutput) ToGetIsLbPoolsPoolMemberOutputWithContext(ctx context.Context) GetIsLbPoolsPoolMemberOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbPoolsPoolMemberOutput) Deleteds() GetIsLbPoolsPoolMemberDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolMember) []GetIsLbPoolsPoolMemberDeleted { return v.Deleteds }).(GetIsLbPoolsPoolMemberDeletedArrayOutput) +} + +// The member's canonical URL. +func (o GetIsLbPoolsPoolMemberOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolMember) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool member. +func (o GetIsLbPoolsPoolMemberOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolMember) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbPoolsPoolMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolMember)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolMemberArrayOutput) ToGetIsLbPoolsPoolMemberArrayOutput() GetIsLbPoolsPoolMemberArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolMemberArrayOutput) ToGetIsLbPoolsPoolMemberArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolMemberArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolMemberArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolMember { + return vs[0].([]GetIsLbPoolsPoolMember)[vs[1].(int)] + }).(GetIsLbPoolsPoolMemberOutput) +} + +type GetIsLbPoolsPoolMemberDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbPoolsPoolMemberDeletedInput is an input type that accepts GetIsLbPoolsPoolMemberDeletedArgs and GetIsLbPoolsPoolMemberDeletedOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolMemberDeletedInput` via: +// +// GetIsLbPoolsPoolMemberDeletedArgs{...} +type GetIsLbPoolsPoolMemberDeletedInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolMemberDeletedOutput() GetIsLbPoolsPoolMemberDeletedOutput + ToGetIsLbPoolsPoolMemberDeletedOutputWithContext(context.Context) GetIsLbPoolsPoolMemberDeletedOutput +} + +type GetIsLbPoolsPoolMemberDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbPoolsPoolMemberDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolMemberDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolMemberDeletedArgs) ToGetIsLbPoolsPoolMemberDeletedOutput() GetIsLbPoolsPoolMemberDeletedOutput { + return i.ToGetIsLbPoolsPoolMemberDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolMemberDeletedArgs) ToGetIsLbPoolsPoolMemberDeletedOutputWithContext(ctx context.Context) GetIsLbPoolsPoolMemberDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolMemberDeletedOutput) +} + +// GetIsLbPoolsPoolMemberDeletedArrayInput is an input type that accepts GetIsLbPoolsPoolMemberDeletedArray and GetIsLbPoolsPoolMemberDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolMemberDeletedArrayInput` via: +// +// GetIsLbPoolsPoolMemberDeletedArray{ GetIsLbPoolsPoolMemberDeletedArgs{...} } +type GetIsLbPoolsPoolMemberDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolMemberDeletedArrayOutput() GetIsLbPoolsPoolMemberDeletedArrayOutput + ToGetIsLbPoolsPoolMemberDeletedArrayOutputWithContext(context.Context) GetIsLbPoolsPoolMemberDeletedArrayOutput +} + +type GetIsLbPoolsPoolMemberDeletedArray []GetIsLbPoolsPoolMemberDeletedInput + +func (GetIsLbPoolsPoolMemberDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolMemberDeleted)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolMemberDeletedArray) ToGetIsLbPoolsPoolMemberDeletedArrayOutput() GetIsLbPoolsPoolMemberDeletedArrayOutput { + return i.ToGetIsLbPoolsPoolMemberDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolMemberDeletedArray) ToGetIsLbPoolsPoolMemberDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolMemberDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolMemberDeletedArrayOutput) +} + +type GetIsLbPoolsPoolMemberDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolMemberDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolMemberDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolMemberDeletedOutput) ToGetIsLbPoolsPoolMemberDeletedOutput() GetIsLbPoolsPoolMemberDeletedOutput { + return o +} + +func (o GetIsLbPoolsPoolMemberDeletedOutput) ToGetIsLbPoolsPoolMemberDeletedOutputWithContext(ctx context.Context) GetIsLbPoolsPoolMemberDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbPoolsPoolMemberDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolMemberDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbPoolsPoolMemberDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolMemberDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolMemberDeleted)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolMemberDeletedArrayOutput) ToGetIsLbPoolsPoolMemberDeletedArrayOutput() GetIsLbPoolsPoolMemberDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolMemberDeletedArrayOutput) ToGetIsLbPoolsPoolMemberDeletedArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolMemberDeletedArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolMemberDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolMemberDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolMemberDeleted { + return vs[0].([]GetIsLbPoolsPoolMemberDeleted)[vs[1].(int)] + }).(GetIsLbPoolsPoolMemberDeletedOutput) +} + +type GetIsLbPoolsPoolSessionPersistence struct { + // The session persistence cookie name. Applicable only for type `appCookie`. Names starting with `IBM` are not allowed. + CookieName string `pulumi:"cookieName"` + // The session persistence type. The `httpCookie` and `appCookie` types are applicable only to the `http` and `https` protocols. + Type string `pulumi:"type"` +} + +// GetIsLbPoolsPoolSessionPersistenceInput is an input type that accepts GetIsLbPoolsPoolSessionPersistenceArgs and GetIsLbPoolsPoolSessionPersistenceOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolSessionPersistenceInput` via: +// +// GetIsLbPoolsPoolSessionPersistenceArgs{...} +type GetIsLbPoolsPoolSessionPersistenceInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolSessionPersistenceOutput() GetIsLbPoolsPoolSessionPersistenceOutput + ToGetIsLbPoolsPoolSessionPersistenceOutputWithContext(context.Context) GetIsLbPoolsPoolSessionPersistenceOutput +} + +type GetIsLbPoolsPoolSessionPersistenceArgs struct { + // The session persistence cookie name. Applicable only for type `appCookie`. Names starting with `IBM` are not allowed. + CookieName pulumi.StringInput `pulumi:"cookieName"` + // The session persistence type. The `httpCookie` and `appCookie` types are applicable only to the `http` and `https` protocols. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsLbPoolsPoolSessionPersistenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolSessionPersistence)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolSessionPersistenceArgs) ToGetIsLbPoolsPoolSessionPersistenceOutput() GetIsLbPoolsPoolSessionPersistenceOutput { + return i.ToGetIsLbPoolsPoolSessionPersistenceOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolSessionPersistenceArgs) ToGetIsLbPoolsPoolSessionPersistenceOutputWithContext(ctx context.Context) GetIsLbPoolsPoolSessionPersistenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolSessionPersistenceOutput) +} + +// GetIsLbPoolsPoolSessionPersistenceArrayInput is an input type that accepts GetIsLbPoolsPoolSessionPersistenceArray and GetIsLbPoolsPoolSessionPersistenceArrayOutput values. +// You can construct a concrete instance of `GetIsLbPoolsPoolSessionPersistenceArrayInput` via: +// +// GetIsLbPoolsPoolSessionPersistenceArray{ GetIsLbPoolsPoolSessionPersistenceArgs{...} } +type GetIsLbPoolsPoolSessionPersistenceArrayInput interface { + pulumi.Input + + ToGetIsLbPoolsPoolSessionPersistenceArrayOutput() GetIsLbPoolsPoolSessionPersistenceArrayOutput + ToGetIsLbPoolsPoolSessionPersistenceArrayOutputWithContext(context.Context) GetIsLbPoolsPoolSessionPersistenceArrayOutput +} + +type GetIsLbPoolsPoolSessionPersistenceArray []GetIsLbPoolsPoolSessionPersistenceInput + +func (GetIsLbPoolsPoolSessionPersistenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolSessionPersistence)(nil)).Elem() +} + +func (i GetIsLbPoolsPoolSessionPersistenceArray) ToGetIsLbPoolsPoolSessionPersistenceArrayOutput() GetIsLbPoolsPoolSessionPersistenceArrayOutput { + return i.ToGetIsLbPoolsPoolSessionPersistenceArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPoolsPoolSessionPersistenceArray) ToGetIsLbPoolsPoolSessionPersistenceArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolSessionPersistenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPoolsPoolSessionPersistenceArrayOutput) +} + +type GetIsLbPoolsPoolSessionPersistenceOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolSessionPersistenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPoolsPoolSessionPersistence)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolSessionPersistenceOutput) ToGetIsLbPoolsPoolSessionPersistenceOutput() GetIsLbPoolsPoolSessionPersistenceOutput { + return o +} + +func (o GetIsLbPoolsPoolSessionPersistenceOutput) ToGetIsLbPoolsPoolSessionPersistenceOutputWithContext(ctx context.Context) GetIsLbPoolsPoolSessionPersistenceOutput { + return o +} + +// The session persistence cookie name. Applicable only for type `appCookie`. Names starting with `IBM` are not allowed. +func (o GetIsLbPoolsPoolSessionPersistenceOutput) CookieName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolSessionPersistence) string { return v.CookieName }).(pulumi.StringOutput) +} + +// The session persistence type. The `httpCookie` and `appCookie` types are applicable only to the `http` and `https` protocols. +func (o GetIsLbPoolsPoolSessionPersistenceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPoolsPoolSessionPersistence) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsLbPoolsPoolSessionPersistenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPoolsPoolSessionPersistenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPoolsPoolSessionPersistence)(nil)).Elem() +} + +func (o GetIsLbPoolsPoolSessionPersistenceArrayOutput) ToGetIsLbPoolsPoolSessionPersistenceArrayOutput() GetIsLbPoolsPoolSessionPersistenceArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolSessionPersistenceArrayOutput) ToGetIsLbPoolsPoolSessionPersistenceArrayOutputWithContext(ctx context.Context) GetIsLbPoolsPoolSessionPersistenceArrayOutput { + return o +} + +func (o GetIsLbPoolsPoolSessionPersistenceArrayOutput) Index(i pulumi.IntInput) GetIsLbPoolsPoolSessionPersistenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPoolsPoolSessionPersistence { + return vs[0].([]GetIsLbPoolsPoolSessionPersistence)[vs[1].(int)] + }).(GetIsLbPoolsPoolSessionPersistenceOutput) +} + +type GetIsLbPrivateIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsLbPrivateIpInput is an input type that accepts GetIsLbPrivateIpArgs and GetIsLbPrivateIpOutput values. +// You can construct a concrete instance of `GetIsLbPrivateIpInput` via: +// +// GetIsLbPrivateIpArgs{...} +type GetIsLbPrivateIpInput interface { + pulumi.Input + + ToGetIsLbPrivateIpOutput() GetIsLbPrivateIpOutput + ToGetIsLbPrivateIpOutputWithContext(context.Context) GetIsLbPrivateIpOutput +} + +type GetIsLbPrivateIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsLbPrivateIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPrivateIp)(nil)).Elem() +} + +func (i GetIsLbPrivateIpArgs) ToGetIsLbPrivateIpOutput() GetIsLbPrivateIpOutput { + return i.ToGetIsLbPrivateIpOutputWithContext(context.Background()) +} + +func (i GetIsLbPrivateIpArgs) ToGetIsLbPrivateIpOutputWithContext(ctx context.Context) GetIsLbPrivateIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPrivateIpOutput) +} + +// GetIsLbPrivateIpArrayInput is an input type that accepts GetIsLbPrivateIpArray and GetIsLbPrivateIpArrayOutput values. +// You can construct a concrete instance of `GetIsLbPrivateIpArrayInput` via: +// +// GetIsLbPrivateIpArray{ GetIsLbPrivateIpArgs{...} } +type GetIsLbPrivateIpArrayInput interface { + pulumi.Input + + ToGetIsLbPrivateIpArrayOutput() GetIsLbPrivateIpArrayOutput + ToGetIsLbPrivateIpArrayOutputWithContext(context.Context) GetIsLbPrivateIpArrayOutput +} + +type GetIsLbPrivateIpArray []GetIsLbPrivateIpInput + +func (GetIsLbPrivateIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPrivateIp)(nil)).Elem() +} + +func (i GetIsLbPrivateIpArray) ToGetIsLbPrivateIpArrayOutput() GetIsLbPrivateIpArrayOutput { + return i.ToGetIsLbPrivateIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbPrivateIpArray) ToGetIsLbPrivateIpArrayOutputWithContext(ctx context.Context) GetIsLbPrivateIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbPrivateIpArrayOutput) +} + +type GetIsLbPrivateIpOutput struct{ *pulumi.OutputState } + +func (GetIsLbPrivateIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbPrivateIp)(nil)).Elem() +} + +func (o GetIsLbPrivateIpOutput) ToGetIsLbPrivateIpOutput() GetIsLbPrivateIpOutput { + return o +} + +func (o GetIsLbPrivateIpOutput) ToGetIsLbPrivateIpOutputWithContext(ctx context.Context) GetIsLbPrivateIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsLbPrivateIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPrivateIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsLbPrivateIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPrivateIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsLbPrivateIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPrivateIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsLbPrivateIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPrivateIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsLbPrivateIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbPrivateIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsLbPrivateIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbPrivateIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbPrivateIp)(nil)).Elem() +} + +func (o GetIsLbPrivateIpArrayOutput) ToGetIsLbPrivateIpArrayOutput() GetIsLbPrivateIpArrayOutput { + return o +} + +func (o GetIsLbPrivateIpArrayOutput) ToGetIsLbPrivateIpArrayOutputWithContext(ctx context.Context) GetIsLbPrivateIpArrayOutput { + return o +} + +func (o GetIsLbPrivateIpArrayOutput) Index(i pulumi.IntInput) GetIsLbPrivateIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbPrivateIp { + return vs[0].([]GetIsLbPrivateIp)[vs[1].(int)] + }).(GetIsLbPrivateIpOutput) +} + +type GetIsLbProfileAccessMode struct { + // The type for access mode + Type string `pulumi:"type"` + // Access modes for this profile + Value string `pulumi:"value"` + // Access modes for this profile + Values []string `pulumi:"values"` +} + +// GetIsLbProfileAccessModeInput is an input type that accepts GetIsLbProfileAccessModeArgs and GetIsLbProfileAccessModeOutput values. +// You can construct a concrete instance of `GetIsLbProfileAccessModeInput` via: +// +// GetIsLbProfileAccessModeArgs{...} +type GetIsLbProfileAccessModeInput interface { + pulumi.Input + + ToGetIsLbProfileAccessModeOutput() GetIsLbProfileAccessModeOutput + ToGetIsLbProfileAccessModeOutputWithContext(context.Context) GetIsLbProfileAccessModeOutput +} + +type GetIsLbProfileAccessModeArgs struct { + // The type for access mode + Type pulumi.StringInput `pulumi:"type"` + // Access modes for this profile + Value pulumi.StringInput `pulumi:"value"` + // Access modes for this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsLbProfileAccessModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileAccessMode)(nil)).Elem() +} + +func (i GetIsLbProfileAccessModeArgs) ToGetIsLbProfileAccessModeOutput() GetIsLbProfileAccessModeOutput { + return i.ToGetIsLbProfileAccessModeOutputWithContext(context.Background()) +} + +func (i GetIsLbProfileAccessModeArgs) ToGetIsLbProfileAccessModeOutputWithContext(ctx context.Context) GetIsLbProfileAccessModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfileAccessModeOutput) +} + +// GetIsLbProfileAccessModeArrayInput is an input type that accepts GetIsLbProfileAccessModeArray and GetIsLbProfileAccessModeArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfileAccessModeArrayInput` via: +// +// GetIsLbProfileAccessModeArray{ GetIsLbProfileAccessModeArgs{...} } +type GetIsLbProfileAccessModeArrayInput interface { + pulumi.Input + + ToGetIsLbProfileAccessModeArrayOutput() GetIsLbProfileAccessModeArrayOutput + ToGetIsLbProfileAccessModeArrayOutputWithContext(context.Context) GetIsLbProfileAccessModeArrayOutput +} + +type GetIsLbProfileAccessModeArray []GetIsLbProfileAccessModeInput + +func (GetIsLbProfileAccessModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfileAccessMode)(nil)).Elem() +} + +func (i GetIsLbProfileAccessModeArray) ToGetIsLbProfileAccessModeArrayOutput() GetIsLbProfileAccessModeArrayOutput { + return i.ToGetIsLbProfileAccessModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfileAccessModeArray) ToGetIsLbProfileAccessModeArrayOutputWithContext(ctx context.Context) GetIsLbProfileAccessModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfileAccessModeArrayOutput) +} + +type GetIsLbProfileAccessModeOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileAccessModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileAccessMode)(nil)).Elem() +} + +func (o GetIsLbProfileAccessModeOutput) ToGetIsLbProfileAccessModeOutput() GetIsLbProfileAccessModeOutput { + return o +} + +func (o GetIsLbProfileAccessModeOutput) ToGetIsLbProfileAccessModeOutputWithContext(ctx context.Context) GetIsLbProfileAccessModeOutput { + return o +} + +// The type for access mode +func (o GetIsLbProfileAccessModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileAccessMode) string { return v.Type }).(pulumi.StringOutput) +} + +// Access modes for this profile +func (o GetIsLbProfileAccessModeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileAccessMode) string { return v.Value }).(pulumi.StringOutput) +} + +// Access modes for this profile +func (o GetIsLbProfileAccessModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbProfileAccessMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsLbProfileAccessModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileAccessModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfileAccessMode)(nil)).Elem() +} + +func (o GetIsLbProfileAccessModeArrayOutput) ToGetIsLbProfileAccessModeArrayOutput() GetIsLbProfileAccessModeArrayOutput { + return o +} + +func (o GetIsLbProfileAccessModeArrayOutput) ToGetIsLbProfileAccessModeArrayOutputWithContext(ctx context.Context) GetIsLbProfileAccessModeArrayOutput { + return o +} + +func (o GetIsLbProfileAccessModeArrayOutput) Index(i pulumi.IntInput) GetIsLbProfileAccessModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfileAccessMode { + return vs[0].([]GetIsLbProfileAccessMode)[vs[1].(int)] + }).(GetIsLbProfileAccessModeOutput) +} + +type GetIsLbProfileFailsafePolicyAction struct { + // The default failsafe policy action for this profile. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The supported failsafe policy actions. + Values []string `pulumi:"values"` +} + +// GetIsLbProfileFailsafePolicyActionInput is an input type that accepts GetIsLbProfileFailsafePolicyActionArgs and GetIsLbProfileFailsafePolicyActionOutput values. +// You can construct a concrete instance of `GetIsLbProfileFailsafePolicyActionInput` via: +// +// GetIsLbProfileFailsafePolicyActionArgs{...} +type GetIsLbProfileFailsafePolicyActionInput interface { + pulumi.Input + + ToGetIsLbProfileFailsafePolicyActionOutput() GetIsLbProfileFailsafePolicyActionOutput + ToGetIsLbProfileFailsafePolicyActionOutputWithContext(context.Context) GetIsLbProfileFailsafePolicyActionOutput +} + +type GetIsLbProfileFailsafePolicyActionArgs struct { + // The default failsafe policy action for this profile. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported failsafe policy actions. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsLbProfileFailsafePolicyActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileFailsafePolicyAction)(nil)).Elem() +} + +func (i GetIsLbProfileFailsafePolicyActionArgs) ToGetIsLbProfileFailsafePolicyActionOutput() GetIsLbProfileFailsafePolicyActionOutput { + return i.ToGetIsLbProfileFailsafePolicyActionOutputWithContext(context.Background()) +} + +func (i GetIsLbProfileFailsafePolicyActionArgs) ToGetIsLbProfileFailsafePolicyActionOutputWithContext(ctx context.Context) GetIsLbProfileFailsafePolicyActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfileFailsafePolicyActionOutput) +} + +// GetIsLbProfileFailsafePolicyActionArrayInput is an input type that accepts GetIsLbProfileFailsafePolicyActionArray and GetIsLbProfileFailsafePolicyActionArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfileFailsafePolicyActionArrayInput` via: +// +// GetIsLbProfileFailsafePolicyActionArray{ GetIsLbProfileFailsafePolicyActionArgs{...} } +type GetIsLbProfileFailsafePolicyActionArrayInput interface { + pulumi.Input + + ToGetIsLbProfileFailsafePolicyActionArrayOutput() GetIsLbProfileFailsafePolicyActionArrayOutput + ToGetIsLbProfileFailsafePolicyActionArrayOutputWithContext(context.Context) GetIsLbProfileFailsafePolicyActionArrayOutput +} + +type GetIsLbProfileFailsafePolicyActionArray []GetIsLbProfileFailsafePolicyActionInput + +func (GetIsLbProfileFailsafePolicyActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfileFailsafePolicyAction)(nil)).Elem() +} + +func (i GetIsLbProfileFailsafePolicyActionArray) ToGetIsLbProfileFailsafePolicyActionArrayOutput() GetIsLbProfileFailsafePolicyActionArrayOutput { + return i.ToGetIsLbProfileFailsafePolicyActionArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfileFailsafePolicyActionArray) ToGetIsLbProfileFailsafePolicyActionArrayOutputWithContext(ctx context.Context) GetIsLbProfileFailsafePolicyActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfileFailsafePolicyActionArrayOutput) +} + +type GetIsLbProfileFailsafePolicyActionOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileFailsafePolicyActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileFailsafePolicyAction)(nil)).Elem() +} + +func (o GetIsLbProfileFailsafePolicyActionOutput) ToGetIsLbProfileFailsafePolicyActionOutput() GetIsLbProfileFailsafePolicyActionOutput { + return o +} + +func (o GetIsLbProfileFailsafePolicyActionOutput) ToGetIsLbProfileFailsafePolicyActionOutputWithContext(ctx context.Context) GetIsLbProfileFailsafePolicyActionOutput { + return o +} + +// The default failsafe policy action for this profile. +func (o GetIsLbProfileFailsafePolicyActionOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileFailsafePolicyAction) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsLbProfileFailsafePolicyActionOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileFailsafePolicyAction) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported failsafe policy actions. +func (o GetIsLbProfileFailsafePolicyActionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbProfileFailsafePolicyAction) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsLbProfileFailsafePolicyActionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileFailsafePolicyActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfileFailsafePolicyAction)(nil)).Elem() +} + +func (o GetIsLbProfileFailsafePolicyActionArrayOutput) ToGetIsLbProfileFailsafePolicyActionArrayOutput() GetIsLbProfileFailsafePolicyActionArrayOutput { + return o +} + +func (o GetIsLbProfileFailsafePolicyActionArrayOutput) ToGetIsLbProfileFailsafePolicyActionArrayOutputWithContext(ctx context.Context) GetIsLbProfileFailsafePolicyActionArrayOutput { + return o +} + +func (o GetIsLbProfileFailsafePolicyActionArrayOutput) Index(i pulumi.IntInput) GetIsLbProfileFailsafePolicyActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfileFailsafePolicyAction { + return vs[0].([]GetIsLbProfileFailsafePolicyAction)[vs[1].(int)] + }).(GetIsLbProfileFailsafePolicyActionOutput) +} + +type GetIsLbProfileTargetableLoadBalancerProfile struct { + // The product family this load balancer profile belongs to + Family string `pulumi:"family"` + // The URL for this load balancer profile + Href string `pulumi:"href"` + // The globally unique name for this load balancer profile + Name string `pulumi:"name"` +} + +// GetIsLbProfileTargetableLoadBalancerProfileInput is an input type that accepts GetIsLbProfileTargetableLoadBalancerProfileArgs and GetIsLbProfileTargetableLoadBalancerProfileOutput values. +// You can construct a concrete instance of `GetIsLbProfileTargetableLoadBalancerProfileInput` via: +// +// GetIsLbProfileTargetableLoadBalancerProfileArgs{...} +type GetIsLbProfileTargetableLoadBalancerProfileInput interface { + pulumi.Input + + ToGetIsLbProfileTargetableLoadBalancerProfileOutput() GetIsLbProfileTargetableLoadBalancerProfileOutput + ToGetIsLbProfileTargetableLoadBalancerProfileOutputWithContext(context.Context) GetIsLbProfileTargetableLoadBalancerProfileOutput +} + +type GetIsLbProfileTargetableLoadBalancerProfileArgs struct { + // The product family this load balancer profile belongs to + Family pulumi.StringInput `pulumi:"family"` + // The URL for this load balancer profile + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this load balancer profile + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbProfileTargetableLoadBalancerProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileTargetableLoadBalancerProfile)(nil)).Elem() +} + +func (i GetIsLbProfileTargetableLoadBalancerProfileArgs) ToGetIsLbProfileTargetableLoadBalancerProfileOutput() GetIsLbProfileTargetableLoadBalancerProfileOutput { + return i.ToGetIsLbProfileTargetableLoadBalancerProfileOutputWithContext(context.Background()) +} + +func (i GetIsLbProfileTargetableLoadBalancerProfileArgs) ToGetIsLbProfileTargetableLoadBalancerProfileOutputWithContext(ctx context.Context) GetIsLbProfileTargetableLoadBalancerProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfileTargetableLoadBalancerProfileOutput) +} + +// GetIsLbProfileTargetableLoadBalancerProfileArrayInput is an input type that accepts GetIsLbProfileTargetableLoadBalancerProfileArray and GetIsLbProfileTargetableLoadBalancerProfileArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfileTargetableLoadBalancerProfileArrayInput` via: +// +// GetIsLbProfileTargetableLoadBalancerProfileArray{ GetIsLbProfileTargetableLoadBalancerProfileArgs{...} } +type GetIsLbProfileTargetableLoadBalancerProfileArrayInput interface { + pulumi.Input + + ToGetIsLbProfileTargetableLoadBalancerProfileArrayOutput() GetIsLbProfileTargetableLoadBalancerProfileArrayOutput + ToGetIsLbProfileTargetableLoadBalancerProfileArrayOutputWithContext(context.Context) GetIsLbProfileTargetableLoadBalancerProfileArrayOutput +} + +type GetIsLbProfileTargetableLoadBalancerProfileArray []GetIsLbProfileTargetableLoadBalancerProfileInput + +func (GetIsLbProfileTargetableLoadBalancerProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfileTargetableLoadBalancerProfile)(nil)).Elem() +} + +func (i GetIsLbProfileTargetableLoadBalancerProfileArray) ToGetIsLbProfileTargetableLoadBalancerProfileArrayOutput() GetIsLbProfileTargetableLoadBalancerProfileArrayOutput { + return i.ToGetIsLbProfileTargetableLoadBalancerProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfileTargetableLoadBalancerProfileArray) ToGetIsLbProfileTargetableLoadBalancerProfileArrayOutputWithContext(ctx context.Context) GetIsLbProfileTargetableLoadBalancerProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfileTargetableLoadBalancerProfileArrayOutput) +} + +type GetIsLbProfileTargetableLoadBalancerProfileOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileTargetableLoadBalancerProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileTargetableLoadBalancerProfile)(nil)).Elem() +} + +func (o GetIsLbProfileTargetableLoadBalancerProfileOutput) ToGetIsLbProfileTargetableLoadBalancerProfileOutput() GetIsLbProfileTargetableLoadBalancerProfileOutput { + return o +} + +func (o GetIsLbProfileTargetableLoadBalancerProfileOutput) ToGetIsLbProfileTargetableLoadBalancerProfileOutputWithContext(ctx context.Context) GetIsLbProfileTargetableLoadBalancerProfileOutput { + return o +} + +// The product family this load balancer profile belongs to +func (o GetIsLbProfileTargetableLoadBalancerProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileTargetableLoadBalancerProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this load balancer profile +func (o GetIsLbProfileTargetableLoadBalancerProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileTargetableLoadBalancerProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this load balancer profile +func (o GetIsLbProfileTargetableLoadBalancerProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileTargetableLoadBalancerProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbProfileTargetableLoadBalancerProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileTargetableLoadBalancerProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfileTargetableLoadBalancerProfile)(nil)).Elem() +} + +func (o GetIsLbProfileTargetableLoadBalancerProfileArrayOutput) ToGetIsLbProfileTargetableLoadBalancerProfileArrayOutput() GetIsLbProfileTargetableLoadBalancerProfileArrayOutput { + return o +} + +func (o GetIsLbProfileTargetableLoadBalancerProfileArrayOutput) ToGetIsLbProfileTargetableLoadBalancerProfileArrayOutputWithContext(ctx context.Context) GetIsLbProfileTargetableLoadBalancerProfileArrayOutput { + return o +} + +func (o GetIsLbProfileTargetableLoadBalancerProfileArrayOutput) Index(i pulumi.IntInput) GetIsLbProfileTargetableLoadBalancerProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfileTargetableLoadBalancerProfile { + return vs[0].([]GetIsLbProfileTargetableLoadBalancerProfile)[vs[1].(int)] + }).(GetIsLbProfileTargetableLoadBalancerProfileOutput) +} + +type GetIsLbProfileTargetableResourceType struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The resource types that pool members of load balancers with this profile can target + Values []string `pulumi:"values"` +} + +// GetIsLbProfileTargetableResourceTypeInput is an input type that accepts GetIsLbProfileTargetableResourceTypeArgs and GetIsLbProfileTargetableResourceTypeOutput values. +// You can construct a concrete instance of `GetIsLbProfileTargetableResourceTypeInput` via: +// +// GetIsLbProfileTargetableResourceTypeArgs{...} +type GetIsLbProfileTargetableResourceTypeInput interface { + pulumi.Input + + ToGetIsLbProfileTargetableResourceTypeOutput() GetIsLbProfileTargetableResourceTypeOutput + ToGetIsLbProfileTargetableResourceTypeOutputWithContext(context.Context) GetIsLbProfileTargetableResourceTypeOutput +} + +type GetIsLbProfileTargetableResourceTypeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The resource types that pool members of load balancers with this profile can target + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsLbProfileTargetableResourceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileTargetableResourceType)(nil)).Elem() +} + +func (i GetIsLbProfileTargetableResourceTypeArgs) ToGetIsLbProfileTargetableResourceTypeOutput() GetIsLbProfileTargetableResourceTypeOutput { + return i.ToGetIsLbProfileTargetableResourceTypeOutputWithContext(context.Background()) +} + +func (i GetIsLbProfileTargetableResourceTypeArgs) ToGetIsLbProfileTargetableResourceTypeOutputWithContext(ctx context.Context) GetIsLbProfileTargetableResourceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfileTargetableResourceTypeOutput) +} + +// GetIsLbProfileTargetableResourceTypeArrayInput is an input type that accepts GetIsLbProfileTargetableResourceTypeArray and GetIsLbProfileTargetableResourceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfileTargetableResourceTypeArrayInput` via: +// +// GetIsLbProfileTargetableResourceTypeArray{ GetIsLbProfileTargetableResourceTypeArgs{...} } +type GetIsLbProfileTargetableResourceTypeArrayInput interface { + pulumi.Input + + ToGetIsLbProfileTargetableResourceTypeArrayOutput() GetIsLbProfileTargetableResourceTypeArrayOutput + ToGetIsLbProfileTargetableResourceTypeArrayOutputWithContext(context.Context) GetIsLbProfileTargetableResourceTypeArrayOutput +} + +type GetIsLbProfileTargetableResourceTypeArray []GetIsLbProfileTargetableResourceTypeInput + +func (GetIsLbProfileTargetableResourceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfileTargetableResourceType)(nil)).Elem() +} + +func (i GetIsLbProfileTargetableResourceTypeArray) ToGetIsLbProfileTargetableResourceTypeArrayOutput() GetIsLbProfileTargetableResourceTypeArrayOutput { + return i.ToGetIsLbProfileTargetableResourceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfileTargetableResourceTypeArray) ToGetIsLbProfileTargetableResourceTypeArrayOutputWithContext(ctx context.Context) GetIsLbProfileTargetableResourceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfileTargetableResourceTypeArrayOutput) +} + +type GetIsLbProfileTargetableResourceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileTargetableResourceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfileTargetableResourceType)(nil)).Elem() +} + +func (o GetIsLbProfileTargetableResourceTypeOutput) ToGetIsLbProfileTargetableResourceTypeOutput() GetIsLbProfileTargetableResourceTypeOutput { + return o +} + +func (o GetIsLbProfileTargetableResourceTypeOutput) ToGetIsLbProfileTargetableResourceTypeOutputWithContext(ctx context.Context) GetIsLbProfileTargetableResourceTypeOutput { + return o +} + +// The type for this profile field. +func (o GetIsLbProfileTargetableResourceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfileTargetableResourceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The resource types that pool members of load balancers with this profile can target +func (o GetIsLbProfileTargetableResourceTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbProfileTargetableResourceType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsLbProfileTargetableResourceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfileTargetableResourceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfileTargetableResourceType)(nil)).Elem() +} + +func (o GetIsLbProfileTargetableResourceTypeArrayOutput) ToGetIsLbProfileTargetableResourceTypeArrayOutput() GetIsLbProfileTargetableResourceTypeArrayOutput { + return o +} + +func (o GetIsLbProfileTargetableResourceTypeArrayOutput) ToGetIsLbProfileTargetableResourceTypeArrayOutputWithContext(ctx context.Context) GetIsLbProfileTargetableResourceTypeArrayOutput { + return o +} + +func (o GetIsLbProfileTargetableResourceTypeArrayOutput) Index(i pulumi.IntInput) GetIsLbProfileTargetableResourceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfileTargetableResourceType { + return vs[0].([]GetIsLbProfileTargetableResourceType)[vs[1].(int)] + }).(GetIsLbProfileTargetableResourceTypeOutput) +} + +type GetIsLbProfilesLbProfile struct { + // The access mode for a load balancer with this profile + AccessModes []GetIsLbProfilesLbProfileAccessMode `pulumi:"accessModes"` + // The availability mode for a load balancer with this profile + Availabilities []GetIsLbProfilesLbProfileAvailability `pulumi:"availabilities"` + FailsafePolicyActions []GetIsLbProfilesLbProfileFailsafePolicyAction `pulumi:"failsafePolicyActions"` + // The product family this load balancer profile belongs to + Family string `pulumi:"family"` + // The URL for this load balancer profile + Href string `pulumi:"href"` + // The instance groups support for the load balancer with this profile + InstanceGroupsSupporteds []GetIsLbProfilesLbProfileInstanceGroupsSupported `pulumi:"instanceGroupsSupporteds"` + // The name for this load balancer profile + Name string `pulumi:"name"` + // The route mode support for a load balancer with this profile depends on its configuration + RouteModeSupported bool `pulumi:"routeModeSupported"` + // The route mode type for this load balancer profile, one of [fixed, dependent] + RouteModeType string `pulumi:"routeModeType"` + // The source IP session ip persistence support for a load balancer with this profile + SourceIpSessionPersistenceSupporteds []GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported `pulumi:"sourceIpSessionPersistenceSupporteds"` + // The load balancer profiles that load balancers with this profile can target + TargetableLoadBalancerProfiles []GetIsLbProfilesLbProfileTargetableLoadBalancerProfile `pulumi:"targetableLoadBalancerProfiles"` + TargetableResourceTypes []GetIsLbProfilesLbProfileTargetableResourceType `pulumi:"targetableResourceTypes"` + // The UDP support for a load balancer with this profile + UdpSupported bool `pulumi:"udpSupported"` + // The UDP support type for a load balancer with this profile + UdpSupportedType string `pulumi:"udpSupportedType"` +} + +// GetIsLbProfilesLbProfileInput is an input type that accepts GetIsLbProfilesLbProfileArgs and GetIsLbProfilesLbProfileOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileInput` via: +// +// GetIsLbProfilesLbProfileArgs{...} +type GetIsLbProfilesLbProfileInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileOutput() GetIsLbProfilesLbProfileOutput + ToGetIsLbProfilesLbProfileOutputWithContext(context.Context) GetIsLbProfilesLbProfileOutput +} + +type GetIsLbProfilesLbProfileArgs struct { + // The access mode for a load balancer with this profile + AccessModes GetIsLbProfilesLbProfileAccessModeArrayInput `pulumi:"accessModes"` + // The availability mode for a load balancer with this profile + Availabilities GetIsLbProfilesLbProfileAvailabilityArrayInput `pulumi:"availabilities"` + FailsafePolicyActions GetIsLbProfilesLbProfileFailsafePolicyActionArrayInput `pulumi:"failsafePolicyActions"` + // The product family this load balancer profile belongs to + Family pulumi.StringInput `pulumi:"family"` + // The URL for this load balancer profile + Href pulumi.StringInput `pulumi:"href"` + // The instance groups support for the load balancer with this profile + InstanceGroupsSupporteds GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayInput `pulumi:"instanceGroupsSupporteds"` + // The name for this load balancer profile + Name pulumi.StringInput `pulumi:"name"` + // The route mode support for a load balancer with this profile depends on its configuration + RouteModeSupported pulumi.BoolInput `pulumi:"routeModeSupported"` + // The route mode type for this load balancer profile, one of [fixed, dependent] + RouteModeType pulumi.StringInput `pulumi:"routeModeType"` + // The source IP session ip persistence support for a load balancer with this profile + SourceIpSessionPersistenceSupporteds GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayInput `pulumi:"sourceIpSessionPersistenceSupporteds"` + // The load balancer profiles that load balancers with this profile can target + TargetableLoadBalancerProfiles GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayInput `pulumi:"targetableLoadBalancerProfiles"` + TargetableResourceTypes GetIsLbProfilesLbProfileTargetableResourceTypeArrayInput `pulumi:"targetableResourceTypes"` + // The UDP support for a load balancer with this profile + UdpSupported pulumi.BoolInput `pulumi:"udpSupported"` + // The UDP support type for a load balancer with this profile + UdpSupportedType pulumi.StringInput `pulumi:"udpSupportedType"` +} + +func (GetIsLbProfilesLbProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfile)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileArgs) ToGetIsLbProfilesLbProfileOutput() GetIsLbProfilesLbProfileOutput { + return i.ToGetIsLbProfilesLbProfileOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileArgs) ToGetIsLbProfilesLbProfileOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileOutput) +} + +// GetIsLbProfilesLbProfileArrayInput is an input type that accepts GetIsLbProfilesLbProfileArray and GetIsLbProfilesLbProfileArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileArrayInput` via: +// +// GetIsLbProfilesLbProfileArray{ GetIsLbProfilesLbProfileArgs{...} } +type GetIsLbProfilesLbProfileArrayInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileArrayOutput() GetIsLbProfilesLbProfileArrayOutput + ToGetIsLbProfilesLbProfileArrayOutputWithContext(context.Context) GetIsLbProfilesLbProfileArrayOutput +} + +type GetIsLbProfilesLbProfileArray []GetIsLbProfilesLbProfileInput + +func (GetIsLbProfilesLbProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfile)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileArray) ToGetIsLbProfilesLbProfileArrayOutput() GetIsLbProfilesLbProfileArrayOutput { + return i.ToGetIsLbProfilesLbProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileArray) ToGetIsLbProfilesLbProfileArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileArrayOutput) +} + +type GetIsLbProfilesLbProfileOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfile)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileOutput) ToGetIsLbProfilesLbProfileOutput() GetIsLbProfilesLbProfileOutput { + return o +} + +func (o GetIsLbProfilesLbProfileOutput) ToGetIsLbProfilesLbProfileOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileOutput { + return o +} + +// The access mode for a load balancer with this profile +func (o GetIsLbProfilesLbProfileOutput) AccessModes() GetIsLbProfilesLbProfileAccessModeArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) []GetIsLbProfilesLbProfileAccessMode { return v.AccessModes }).(GetIsLbProfilesLbProfileAccessModeArrayOutput) +} + +// The availability mode for a load balancer with this profile +func (o GetIsLbProfilesLbProfileOutput) Availabilities() GetIsLbProfilesLbProfileAvailabilityArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) []GetIsLbProfilesLbProfileAvailability { return v.Availabilities }).(GetIsLbProfilesLbProfileAvailabilityArrayOutput) +} + +func (o GetIsLbProfilesLbProfileOutput) FailsafePolicyActions() GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) []GetIsLbProfilesLbProfileFailsafePolicyAction { + return v.FailsafePolicyActions + }).(GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput) +} + +// The product family this load balancer profile belongs to +func (o GetIsLbProfilesLbProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this load balancer profile +func (o GetIsLbProfilesLbProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The instance groups support for the load balancer with this profile +func (o GetIsLbProfilesLbProfileOutput) InstanceGroupsSupporteds() GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) []GetIsLbProfilesLbProfileInstanceGroupsSupported { + return v.InstanceGroupsSupporteds + }).(GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput) +} + +// The name for this load balancer profile +func (o GetIsLbProfilesLbProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The route mode support for a load balancer with this profile depends on its configuration +func (o GetIsLbProfilesLbProfileOutput) RouteModeSupported() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) bool { return v.RouteModeSupported }).(pulumi.BoolOutput) +} + +// The route mode type for this load balancer profile, one of [fixed, dependent] +func (o GetIsLbProfilesLbProfileOutput) RouteModeType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) string { return v.RouteModeType }).(pulumi.StringOutput) +} + +// The source IP session ip persistence support for a load balancer with this profile +func (o GetIsLbProfilesLbProfileOutput) SourceIpSessionPersistenceSupporteds() GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) []GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported { + return v.SourceIpSessionPersistenceSupporteds + }).(GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput) +} + +// The load balancer profiles that load balancers with this profile can target +func (o GetIsLbProfilesLbProfileOutput) TargetableLoadBalancerProfiles() GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) []GetIsLbProfilesLbProfileTargetableLoadBalancerProfile { + return v.TargetableLoadBalancerProfiles + }).(GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput) +} + +func (o GetIsLbProfilesLbProfileOutput) TargetableResourceTypes() GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) []GetIsLbProfilesLbProfileTargetableResourceType { + return v.TargetableResourceTypes + }).(GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput) +} + +// The UDP support for a load balancer with this profile +func (o GetIsLbProfilesLbProfileOutput) UdpSupported() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) bool { return v.UdpSupported }).(pulumi.BoolOutput) +} + +// The UDP support type for a load balancer with this profile +func (o GetIsLbProfilesLbProfileOutput) UdpSupportedType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfile) string { return v.UdpSupportedType }).(pulumi.StringOutput) +} + +type GetIsLbProfilesLbProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfile)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileArrayOutput) ToGetIsLbProfilesLbProfileArrayOutput() GetIsLbProfilesLbProfileArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileArrayOutput) ToGetIsLbProfilesLbProfileArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileArrayOutput) Index(i pulumi.IntInput) GetIsLbProfilesLbProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfilesLbProfile { + return vs[0].([]GetIsLbProfilesLbProfile)[vs[1].(int)] + }).(GetIsLbProfilesLbProfileOutput) +} + +type GetIsLbProfilesLbProfileAccessMode struct { + // The type for access mode + Type string `pulumi:"type"` + // Access modes for this profile + Value string `pulumi:"value"` + // Access modes for this profile + Values []string `pulumi:"values"` +} + +// GetIsLbProfilesLbProfileAccessModeInput is an input type that accepts GetIsLbProfilesLbProfileAccessModeArgs and GetIsLbProfilesLbProfileAccessModeOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileAccessModeInput` via: +// +// GetIsLbProfilesLbProfileAccessModeArgs{...} +type GetIsLbProfilesLbProfileAccessModeInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileAccessModeOutput() GetIsLbProfilesLbProfileAccessModeOutput + ToGetIsLbProfilesLbProfileAccessModeOutputWithContext(context.Context) GetIsLbProfilesLbProfileAccessModeOutput +} + +type GetIsLbProfilesLbProfileAccessModeArgs struct { + // The type for access mode + Type pulumi.StringInput `pulumi:"type"` + // Access modes for this profile + Value pulumi.StringInput `pulumi:"value"` + // Access modes for this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsLbProfilesLbProfileAccessModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileAccessMode)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileAccessModeArgs) ToGetIsLbProfilesLbProfileAccessModeOutput() GetIsLbProfilesLbProfileAccessModeOutput { + return i.ToGetIsLbProfilesLbProfileAccessModeOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileAccessModeArgs) ToGetIsLbProfilesLbProfileAccessModeOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileAccessModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileAccessModeOutput) +} + +// GetIsLbProfilesLbProfileAccessModeArrayInput is an input type that accepts GetIsLbProfilesLbProfileAccessModeArray and GetIsLbProfilesLbProfileAccessModeArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileAccessModeArrayInput` via: +// +// GetIsLbProfilesLbProfileAccessModeArray{ GetIsLbProfilesLbProfileAccessModeArgs{...} } +type GetIsLbProfilesLbProfileAccessModeArrayInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileAccessModeArrayOutput() GetIsLbProfilesLbProfileAccessModeArrayOutput + ToGetIsLbProfilesLbProfileAccessModeArrayOutputWithContext(context.Context) GetIsLbProfilesLbProfileAccessModeArrayOutput +} + +type GetIsLbProfilesLbProfileAccessModeArray []GetIsLbProfilesLbProfileAccessModeInput + +func (GetIsLbProfilesLbProfileAccessModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileAccessMode)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileAccessModeArray) ToGetIsLbProfilesLbProfileAccessModeArrayOutput() GetIsLbProfilesLbProfileAccessModeArrayOutput { + return i.ToGetIsLbProfilesLbProfileAccessModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileAccessModeArray) ToGetIsLbProfilesLbProfileAccessModeArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileAccessModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileAccessModeArrayOutput) +} + +type GetIsLbProfilesLbProfileAccessModeOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileAccessModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileAccessMode)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileAccessModeOutput) ToGetIsLbProfilesLbProfileAccessModeOutput() GetIsLbProfilesLbProfileAccessModeOutput { + return o +} + +func (o GetIsLbProfilesLbProfileAccessModeOutput) ToGetIsLbProfilesLbProfileAccessModeOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileAccessModeOutput { + return o +} + +// The type for access mode +func (o GetIsLbProfilesLbProfileAccessModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileAccessMode) string { return v.Type }).(pulumi.StringOutput) +} + +// Access modes for this profile +func (o GetIsLbProfilesLbProfileAccessModeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileAccessMode) string { return v.Value }).(pulumi.StringOutput) +} + +// Access modes for this profile +func (o GetIsLbProfilesLbProfileAccessModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileAccessMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsLbProfilesLbProfileAccessModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileAccessModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileAccessMode)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileAccessModeArrayOutput) ToGetIsLbProfilesLbProfileAccessModeArrayOutput() GetIsLbProfilesLbProfileAccessModeArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileAccessModeArrayOutput) ToGetIsLbProfilesLbProfileAccessModeArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileAccessModeArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileAccessModeArrayOutput) Index(i pulumi.IntInput) GetIsLbProfilesLbProfileAccessModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfilesLbProfileAccessMode { + return vs[0].([]GetIsLbProfilesLbProfileAccessMode)[vs[1].(int)] + }).(GetIsLbProfilesLbProfileAccessModeOutput) +} + +type GetIsLbProfilesLbProfileAvailability struct { + // The type of availability, one of [fixed, dependent] + Type string `pulumi:"type"` + // The availability of this load balancer, one of [subnet, region]. Applicable only if type is fixed + Value string `pulumi:"value"` +} + +// GetIsLbProfilesLbProfileAvailabilityInput is an input type that accepts GetIsLbProfilesLbProfileAvailabilityArgs and GetIsLbProfilesLbProfileAvailabilityOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileAvailabilityInput` via: +// +// GetIsLbProfilesLbProfileAvailabilityArgs{...} +type GetIsLbProfilesLbProfileAvailabilityInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileAvailabilityOutput() GetIsLbProfilesLbProfileAvailabilityOutput + ToGetIsLbProfilesLbProfileAvailabilityOutputWithContext(context.Context) GetIsLbProfilesLbProfileAvailabilityOutput +} + +type GetIsLbProfilesLbProfileAvailabilityArgs struct { + // The type of availability, one of [fixed, dependent] + Type pulumi.StringInput `pulumi:"type"` + // The availability of this load balancer, one of [subnet, region]. Applicable only if type is fixed + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsLbProfilesLbProfileAvailabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileAvailability)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileAvailabilityArgs) ToGetIsLbProfilesLbProfileAvailabilityOutput() GetIsLbProfilesLbProfileAvailabilityOutput { + return i.ToGetIsLbProfilesLbProfileAvailabilityOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileAvailabilityArgs) ToGetIsLbProfilesLbProfileAvailabilityOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileAvailabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileAvailabilityOutput) +} + +// GetIsLbProfilesLbProfileAvailabilityArrayInput is an input type that accepts GetIsLbProfilesLbProfileAvailabilityArray and GetIsLbProfilesLbProfileAvailabilityArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileAvailabilityArrayInput` via: +// +// GetIsLbProfilesLbProfileAvailabilityArray{ GetIsLbProfilesLbProfileAvailabilityArgs{...} } +type GetIsLbProfilesLbProfileAvailabilityArrayInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileAvailabilityArrayOutput() GetIsLbProfilesLbProfileAvailabilityArrayOutput + ToGetIsLbProfilesLbProfileAvailabilityArrayOutputWithContext(context.Context) GetIsLbProfilesLbProfileAvailabilityArrayOutput +} + +type GetIsLbProfilesLbProfileAvailabilityArray []GetIsLbProfilesLbProfileAvailabilityInput + +func (GetIsLbProfilesLbProfileAvailabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileAvailability)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileAvailabilityArray) ToGetIsLbProfilesLbProfileAvailabilityArrayOutput() GetIsLbProfilesLbProfileAvailabilityArrayOutput { + return i.ToGetIsLbProfilesLbProfileAvailabilityArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileAvailabilityArray) ToGetIsLbProfilesLbProfileAvailabilityArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileAvailabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileAvailabilityArrayOutput) +} + +type GetIsLbProfilesLbProfileAvailabilityOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileAvailabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileAvailability)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileAvailabilityOutput) ToGetIsLbProfilesLbProfileAvailabilityOutput() GetIsLbProfilesLbProfileAvailabilityOutput { + return o +} + +func (o GetIsLbProfilesLbProfileAvailabilityOutput) ToGetIsLbProfilesLbProfileAvailabilityOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileAvailabilityOutput { + return o +} + +// The type of availability, one of [fixed, dependent] +func (o GetIsLbProfilesLbProfileAvailabilityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileAvailability) string { return v.Type }).(pulumi.StringOutput) +} + +// The availability of this load balancer, one of [subnet, region]. Applicable only if type is fixed +func (o GetIsLbProfilesLbProfileAvailabilityOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileAvailability) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsLbProfilesLbProfileAvailabilityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileAvailabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileAvailability)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileAvailabilityArrayOutput) ToGetIsLbProfilesLbProfileAvailabilityArrayOutput() GetIsLbProfilesLbProfileAvailabilityArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileAvailabilityArrayOutput) ToGetIsLbProfilesLbProfileAvailabilityArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileAvailabilityArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileAvailabilityArrayOutput) Index(i pulumi.IntInput) GetIsLbProfilesLbProfileAvailabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfilesLbProfileAvailability { + return vs[0].([]GetIsLbProfilesLbProfileAvailability)[vs[1].(int)] + }).(GetIsLbProfilesLbProfileAvailabilityOutput) +} + +type GetIsLbProfilesLbProfileFailsafePolicyAction struct { + // The default failsafe policy action for this profile. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The supported failsafe policy actions. + Values []string `pulumi:"values"` +} + +// GetIsLbProfilesLbProfileFailsafePolicyActionInput is an input type that accepts GetIsLbProfilesLbProfileFailsafePolicyActionArgs and GetIsLbProfilesLbProfileFailsafePolicyActionOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileFailsafePolicyActionInput` via: +// +// GetIsLbProfilesLbProfileFailsafePolicyActionArgs{...} +type GetIsLbProfilesLbProfileFailsafePolicyActionInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileFailsafePolicyActionOutput() GetIsLbProfilesLbProfileFailsafePolicyActionOutput + ToGetIsLbProfilesLbProfileFailsafePolicyActionOutputWithContext(context.Context) GetIsLbProfilesLbProfileFailsafePolicyActionOutput +} + +type GetIsLbProfilesLbProfileFailsafePolicyActionArgs struct { + // The default failsafe policy action for this profile. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The supported failsafe policy actions. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsLbProfilesLbProfileFailsafePolicyActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileFailsafePolicyAction)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileFailsafePolicyActionArgs) ToGetIsLbProfilesLbProfileFailsafePolicyActionOutput() GetIsLbProfilesLbProfileFailsafePolicyActionOutput { + return i.ToGetIsLbProfilesLbProfileFailsafePolicyActionOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileFailsafePolicyActionArgs) ToGetIsLbProfilesLbProfileFailsafePolicyActionOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileFailsafePolicyActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileFailsafePolicyActionOutput) +} + +// GetIsLbProfilesLbProfileFailsafePolicyActionArrayInput is an input type that accepts GetIsLbProfilesLbProfileFailsafePolicyActionArray and GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileFailsafePolicyActionArrayInput` via: +// +// GetIsLbProfilesLbProfileFailsafePolicyActionArray{ GetIsLbProfilesLbProfileFailsafePolicyActionArgs{...} } +type GetIsLbProfilesLbProfileFailsafePolicyActionArrayInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput() GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput + ToGetIsLbProfilesLbProfileFailsafePolicyActionArrayOutputWithContext(context.Context) GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput +} + +type GetIsLbProfilesLbProfileFailsafePolicyActionArray []GetIsLbProfilesLbProfileFailsafePolicyActionInput + +func (GetIsLbProfilesLbProfileFailsafePolicyActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileFailsafePolicyAction)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileFailsafePolicyActionArray) ToGetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput() GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput { + return i.ToGetIsLbProfilesLbProfileFailsafePolicyActionArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileFailsafePolicyActionArray) ToGetIsLbProfilesLbProfileFailsafePolicyActionArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput) +} + +type GetIsLbProfilesLbProfileFailsafePolicyActionOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileFailsafePolicyActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileFailsafePolicyAction)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileFailsafePolicyActionOutput) ToGetIsLbProfilesLbProfileFailsafePolicyActionOutput() GetIsLbProfilesLbProfileFailsafePolicyActionOutput { + return o +} + +func (o GetIsLbProfilesLbProfileFailsafePolicyActionOutput) ToGetIsLbProfilesLbProfileFailsafePolicyActionOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileFailsafePolicyActionOutput { + return o +} + +// The default failsafe policy action for this profile. +func (o GetIsLbProfilesLbProfileFailsafePolicyActionOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileFailsafePolicyAction) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsLbProfilesLbProfileFailsafePolicyActionOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileFailsafePolicyAction) string { return v.Type }).(pulumi.StringOutput) +} + +// The supported failsafe policy actions. +func (o GetIsLbProfilesLbProfileFailsafePolicyActionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileFailsafePolicyAction) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileFailsafePolicyAction)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput) ToGetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput() GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput) ToGetIsLbProfilesLbProfileFailsafePolicyActionArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput) Index(i pulumi.IntInput) GetIsLbProfilesLbProfileFailsafePolicyActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfilesLbProfileFailsafePolicyAction { + return vs[0].([]GetIsLbProfilesLbProfileFailsafePolicyAction)[vs[1].(int)] + }).(GetIsLbProfilesLbProfileFailsafePolicyActionOutput) +} + +type GetIsLbProfilesLbProfileInstanceGroupsSupported struct { + // The type of support for instance groups, one of [fixed, dependent] + Type string `pulumi:"type"` + // Indicates whether Instance groups are supported for this profile. Applicable only if type is fixed + Value bool `pulumi:"value"` +} + +// GetIsLbProfilesLbProfileInstanceGroupsSupportedInput is an input type that accepts GetIsLbProfilesLbProfileInstanceGroupsSupportedArgs and GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileInstanceGroupsSupportedInput` via: +// +// GetIsLbProfilesLbProfileInstanceGroupsSupportedArgs{...} +type GetIsLbProfilesLbProfileInstanceGroupsSupportedInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileInstanceGroupsSupportedOutput() GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput + ToGetIsLbProfilesLbProfileInstanceGroupsSupportedOutputWithContext(context.Context) GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput +} + +type GetIsLbProfilesLbProfileInstanceGroupsSupportedArgs struct { + // The type of support for instance groups, one of [fixed, dependent] + Type pulumi.StringInput `pulumi:"type"` + // Indicates whether Instance groups are supported for this profile. Applicable only if type is fixed + Value pulumi.BoolInput `pulumi:"value"` +} + +func (GetIsLbProfilesLbProfileInstanceGroupsSupportedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileInstanceGroupsSupported)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileInstanceGroupsSupportedArgs) ToGetIsLbProfilesLbProfileInstanceGroupsSupportedOutput() GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput { + return i.ToGetIsLbProfilesLbProfileInstanceGroupsSupportedOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileInstanceGroupsSupportedArgs) ToGetIsLbProfilesLbProfileInstanceGroupsSupportedOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput) +} + +// GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayInput is an input type that accepts GetIsLbProfilesLbProfileInstanceGroupsSupportedArray and GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayInput` via: +// +// GetIsLbProfilesLbProfileInstanceGroupsSupportedArray{ GetIsLbProfilesLbProfileInstanceGroupsSupportedArgs{...} } +type GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput() GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput + ToGetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutputWithContext(context.Context) GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput +} + +type GetIsLbProfilesLbProfileInstanceGroupsSupportedArray []GetIsLbProfilesLbProfileInstanceGroupsSupportedInput + +func (GetIsLbProfilesLbProfileInstanceGroupsSupportedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileInstanceGroupsSupported)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileInstanceGroupsSupportedArray) ToGetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput() GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput { + return i.ToGetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileInstanceGroupsSupportedArray) ToGetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput) +} + +type GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileInstanceGroupsSupported)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput) ToGetIsLbProfilesLbProfileInstanceGroupsSupportedOutput() GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput { + return o +} + +func (o GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput) ToGetIsLbProfilesLbProfileInstanceGroupsSupportedOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput { + return o +} + +// The type of support for instance groups, one of [fixed, dependent] +func (o GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileInstanceGroupsSupported) string { return v.Type }).(pulumi.StringOutput) +} + +// Indicates whether Instance groups are supported for this profile. Applicable only if type is fixed +func (o GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput) Value() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileInstanceGroupsSupported) bool { return v.Value }).(pulumi.BoolOutput) +} + +type GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileInstanceGroupsSupported)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput) ToGetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput() GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput) ToGetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput) Index(i pulumi.IntInput) GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfilesLbProfileInstanceGroupsSupported { + return vs[0].([]GetIsLbProfilesLbProfileInstanceGroupsSupported)[vs[1].(int)] + }).(GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput) +} + +type GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported struct { + // The type of support for session ip persistence, one of [fixed, dependent on configuration] + Type string `pulumi:"type"` + // Indicates whether session ip persistence are supported for this profile. Applicable only if type is fixed + Value bool `pulumi:"value"` +} + +// GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedInput is an input type that accepts GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArgs and GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedInput` via: +// +// GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArgs{...} +type GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput() GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput + ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutputWithContext(context.Context) GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput +} + +type GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArgs struct { + // The type of support for session ip persistence, one of [fixed, dependent on configuration] + Type pulumi.StringInput `pulumi:"type"` + // Indicates whether session ip persistence are supported for this profile. Applicable only if type is fixed + Value pulumi.BoolInput `pulumi:"value"` +} + +func (GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArgs) ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput() GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput { + return i.ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArgs) ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput) +} + +// GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayInput is an input type that accepts GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArray and GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayInput` via: +// +// GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArray{ GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArgs{...} } +type GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput() GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput + ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutputWithContext(context.Context) GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput +} + +type GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArray []GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedInput + +func (GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArray) ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput() GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput { + return i.ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArray) ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput) +} + +type GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput) ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput() GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput { + return o +} + +func (o GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput) ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput { + return o +} + +// The type of support for session ip persistence, one of [fixed, dependent on configuration] +func (o GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported) string { return v.Type }).(pulumi.StringOutput) +} + +// Indicates whether session ip persistence are supported for this profile. Applicable only if type is fixed +func (o GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput) Value() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported) bool { return v.Value }).(pulumi.BoolOutput) +} + +type GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput) ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput() GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput) ToGetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput) Index(i pulumi.IntInput) GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported { + return vs[0].([]GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupported)[vs[1].(int)] + }).(GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput) +} + +type GetIsLbProfilesLbProfileTargetableLoadBalancerProfile struct { + // The product family this load balancer profile belongs to + Family string `pulumi:"family"` + // The URL for this load balancer profile + Href string `pulumi:"href"` + // The globally unique name for this load balancer profile + Name string `pulumi:"name"` +} + +// GetIsLbProfilesLbProfileTargetableLoadBalancerProfileInput is an input type that accepts GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArgs and GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileTargetableLoadBalancerProfileInput` via: +// +// GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArgs{...} +type GetIsLbProfilesLbProfileTargetableLoadBalancerProfileInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput() GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput + ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutputWithContext(context.Context) GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput +} + +type GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArgs struct { + // The product family this load balancer profile belongs to + Family pulumi.StringInput `pulumi:"family"` + // The URL for this load balancer profile + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this load balancer profile + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileTargetableLoadBalancerProfile)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArgs) ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput() GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput { + return i.ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArgs) ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput) +} + +// GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayInput is an input type that accepts GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArray and GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayInput` via: +// +// GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArray{ GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArgs{...} } +type GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput() GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput + ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutputWithContext(context.Context) GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput +} + +type GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArray []GetIsLbProfilesLbProfileTargetableLoadBalancerProfileInput + +func (GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileTargetableLoadBalancerProfile)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArray) ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput() GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput { + return i.ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArray) ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput) +} + +type GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileTargetableLoadBalancerProfile)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput) ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput() GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput { + return o +} + +func (o GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput) ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput { + return o +} + +// The product family this load balancer profile belongs to +func (o GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileTargetableLoadBalancerProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this load balancer profile +func (o GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileTargetableLoadBalancerProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this load balancer profile +func (o GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileTargetableLoadBalancerProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileTargetableLoadBalancerProfile)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput) ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput() GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput) ToGetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput) Index(i pulumi.IntInput) GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfilesLbProfileTargetableLoadBalancerProfile { + return vs[0].([]GetIsLbProfilesLbProfileTargetableLoadBalancerProfile)[vs[1].(int)] + }).(GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput) +} + +type GetIsLbProfilesLbProfileTargetableResourceType struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The resource types that pool members of load balancers with this profile can target + Values []string `pulumi:"values"` +} + +// GetIsLbProfilesLbProfileTargetableResourceTypeInput is an input type that accepts GetIsLbProfilesLbProfileTargetableResourceTypeArgs and GetIsLbProfilesLbProfileTargetableResourceTypeOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileTargetableResourceTypeInput` via: +// +// GetIsLbProfilesLbProfileTargetableResourceTypeArgs{...} +type GetIsLbProfilesLbProfileTargetableResourceTypeInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileTargetableResourceTypeOutput() GetIsLbProfilesLbProfileTargetableResourceTypeOutput + ToGetIsLbProfilesLbProfileTargetableResourceTypeOutputWithContext(context.Context) GetIsLbProfilesLbProfileTargetableResourceTypeOutput +} + +type GetIsLbProfilesLbProfileTargetableResourceTypeArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The resource types that pool members of load balancers with this profile can target + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsLbProfilesLbProfileTargetableResourceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileTargetableResourceType)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileTargetableResourceTypeArgs) ToGetIsLbProfilesLbProfileTargetableResourceTypeOutput() GetIsLbProfilesLbProfileTargetableResourceTypeOutput { + return i.ToGetIsLbProfilesLbProfileTargetableResourceTypeOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileTargetableResourceTypeArgs) ToGetIsLbProfilesLbProfileTargetableResourceTypeOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileTargetableResourceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileTargetableResourceTypeOutput) +} + +// GetIsLbProfilesLbProfileTargetableResourceTypeArrayInput is an input type that accepts GetIsLbProfilesLbProfileTargetableResourceTypeArray and GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput values. +// You can construct a concrete instance of `GetIsLbProfilesLbProfileTargetableResourceTypeArrayInput` via: +// +// GetIsLbProfilesLbProfileTargetableResourceTypeArray{ GetIsLbProfilesLbProfileTargetableResourceTypeArgs{...} } +type GetIsLbProfilesLbProfileTargetableResourceTypeArrayInput interface { + pulumi.Input + + ToGetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput() GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput + ToGetIsLbProfilesLbProfileTargetableResourceTypeArrayOutputWithContext(context.Context) GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput +} + +type GetIsLbProfilesLbProfileTargetableResourceTypeArray []GetIsLbProfilesLbProfileTargetableResourceTypeInput + +func (GetIsLbProfilesLbProfileTargetableResourceTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileTargetableResourceType)(nil)).Elem() +} + +func (i GetIsLbProfilesLbProfileTargetableResourceTypeArray) ToGetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput() GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput { + return i.ToGetIsLbProfilesLbProfileTargetableResourceTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbProfilesLbProfileTargetableResourceTypeArray) ToGetIsLbProfilesLbProfileTargetableResourceTypeArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput) +} + +type GetIsLbProfilesLbProfileTargetableResourceTypeOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileTargetableResourceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbProfilesLbProfileTargetableResourceType)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileTargetableResourceTypeOutput) ToGetIsLbProfilesLbProfileTargetableResourceTypeOutput() GetIsLbProfilesLbProfileTargetableResourceTypeOutput { + return o +} + +func (o GetIsLbProfilesLbProfileTargetableResourceTypeOutput) ToGetIsLbProfilesLbProfileTargetableResourceTypeOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileTargetableResourceTypeOutput { + return o +} + +// The type for this profile field. +func (o GetIsLbProfilesLbProfileTargetableResourceTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileTargetableResourceType) string { return v.Type }).(pulumi.StringOutput) +} + +// The resource types that pool members of load balancers with this profile can target +func (o GetIsLbProfilesLbProfileTargetableResourceTypeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbProfilesLbProfileTargetableResourceType) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbProfilesLbProfileTargetableResourceType)(nil)).Elem() +} + +func (o GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput) ToGetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput() GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput) ToGetIsLbProfilesLbProfileTargetableResourceTypeArrayOutputWithContext(ctx context.Context) GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput { + return o +} + +func (o GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput) Index(i pulumi.IntInput) GetIsLbProfilesLbProfileTargetableResourceTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbProfilesLbProfileTargetableResourceType { + return vs[0].([]GetIsLbProfilesLbProfileTargetableResourceType)[vs[1].(int)] + }).(GetIsLbProfilesLbProfileTargetableResourceTypeOutput) +} + +type GetIsLbsLoadBalancer struct { + // The access mode of this load balancer + AccessMode string `pulumi:"accessMode"` + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The load balancer pool members attached to this load balancer. + AttachedLoadBalancerPoolMembers []GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember `pulumi:"attachedLoadBalancerPoolMembers"` + // The availability of this load balancer + Availability string `pulumi:"availability"` + // The date and time that this pool was created. + CreatedAt string `pulumi:"createdAt"` + // The load balancer's CRN + Crn string `pulumi:"crn"` + // The DNS configuration for this load balancer. + Dns []GetIsLbsLoadBalancerDn `pulumi:"dns"` + // The supported `failsafe_policy.action` values for this load balancer's pools. + FailsafePolicyActions []string `pulumi:"failsafePolicyActions"` + // Load Balancer Host Name + Hostname string `pulumi:"hostname"` + Id string `pulumi:"id"` + // Indicates whether this load balancer supports instance groups. + InstanceGroupsSupported bool `pulumi:"instanceGroupsSupported"` + // Load Balancer Listeners list + Listeners []GetIsLbsLoadBalancerListener `pulumi:"listeners"` + // Load Balancer name + Name string `pulumi:"name"` + // Load Balancer operating status + OperatingStatus string `pulumi:"operatingStatus"` + // Load Balancer Pools list + Pools []GetIsLbsLoadBalancerPool `pulumi:"pools"` + // The private IP addresses assigned to this load balancer. + PrivateIp []GetIsLbsLoadBalancerPrivateIp `pulumi:"privateIp"` + // Load Balancer private IPs + PrivateIps []string `pulumi:"privateIps"` + // The profile to use for this load balancer + Profile map[string]string `pulumi:"profile"` + // The provisioning status of this load balancer + ProvisioningStatus string `pulumi:"provisioningStatus"` + // Load Balancer Public IPs + PublicIps []string `pulumi:"publicIps"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + // Load Balancer Resource group + ResourceGroup string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName string `pulumi:"resourceName"` + // Load Balancer route mode + RouteMode bool `pulumi:"routeMode"` + // Indicates whether this load balancer supports source IP session persistence. + SourceIpSessionPersistenceSupported bool `pulumi:"sourceIpSessionPersistenceSupported"` + // Load Balancer status + Status string `pulumi:"status"` + // Load Balancer subnets list + Subnets []GetIsLbsLoadBalancerSubnet `pulumi:"subnets"` + // Tags associated to Load Balancer + Tags []string `pulumi:"tags"` + // Load Balancer type + Type string `pulumi:"type"` + // Indicates whether this load balancer supports UDP. + UdpSupported bool `pulumi:"udpSupported"` +} + +// GetIsLbsLoadBalancerInput is an input type that accepts GetIsLbsLoadBalancerArgs and GetIsLbsLoadBalancerOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerInput` via: +// +// GetIsLbsLoadBalancerArgs{...} +type GetIsLbsLoadBalancerInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerOutput() GetIsLbsLoadBalancerOutput + ToGetIsLbsLoadBalancerOutputWithContext(context.Context) GetIsLbsLoadBalancerOutput +} + +type GetIsLbsLoadBalancerArgs struct { + // The access mode of this load balancer + AccessMode pulumi.StringInput `pulumi:"accessMode"` + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The load balancer pool members attached to this load balancer. + AttachedLoadBalancerPoolMembers GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayInput `pulumi:"attachedLoadBalancerPoolMembers"` + // The availability of this load balancer + Availability pulumi.StringInput `pulumi:"availability"` + // The date and time that this pool was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The load balancer's CRN + Crn pulumi.StringInput `pulumi:"crn"` + // The DNS configuration for this load balancer. + Dns GetIsLbsLoadBalancerDnArrayInput `pulumi:"dns"` + // The supported `failsafe_policy.action` values for this load balancer's pools. + FailsafePolicyActions pulumi.StringArrayInput `pulumi:"failsafePolicyActions"` + // Load Balancer Host Name + Hostname pulumi.StringInput `pulumi:"hostname"` + Id pulumi.StringInput `pulumi:"id"` + // Indicates whether this load balancer supports instance groups. + InstanceGroupsSupported pulumi.BoolInput `pulumi:"instanceGroupsSupported"` + // Load Balancer Listeners list + Listeners GetIsLbsLoadBalancerListenerArrayInput `pulumi:"listeners"` + // Load Balancer name + Name pulumi.StringInput `pulumi:"name"` + // Load Balancer operating status + OperatingStatus pulumi.StringInput `pulumi:"operatingStatus"` + // Load Balancer Pools list + Pools GetIsLbsLoadBalancerPoolArrayInput `pulumi:"pools"` + // The private IP addresses assigned to this load balancer. + PrivateIp GetIsLbsLoadBalancerPrivateIpArrayInput `pulumi:"privateIp"` + // Load Balancer private IPs + PrivateIps pulumi.StringArrayInput `pulumi:"privateIps"` + // The profile to use for this load balancer + Profile pulumi.StringMapInput `pulumi:"profile"` + // The provisioning status of this load balancer + ProvisioningStatus pulumi.StringInput `pulumi:"provisioningStatus"` + // Load Balancer Public IPs + PublicIps pulumi.StringArrayInput `pulumi:"publicIps"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringInput `pulumi:"resourceControllerUrl"` + // Load Balancer Resource group + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringInput `pulumi:"resourceName"` + // Load Balancer route mode + RouteMode pulumi.BoolInput `pulumi:"routeMode"` + // Indicates whether this load balancer supports source IP session persistence. + SourceIpSessionPersistenceSupported pulumi.BoolInput `pulumi:"sourceIpSessionPersistenceSupported"` + // Load Balancer status + Status pulumi.StringInput `pulumi:"status"` + // Load Balancer subnets list + Subnets GetIsLbsLoadBalancerSubnetArrayInput `pulumi:"subnets"` + // Tags associated to Load Balancer + Tags pulumi.StringArrayInput `pulumi:"tags"` + // Load Balancer type + Type pulumi.StringInput `pulumi:"type"` + // Indicates whether this load balancer supports UDP. + UdpSupported pulumi.BoolInput `pulumi:"udpSupported"` +} + +func (GetIsLbsLoadBalancerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancer)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerArgs) ToGetIsLbsLoadBalancerOutput() GetIsLbsLoadBalancerOutput { + return i.ToGetIsLbsLoadBalancerOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerArgs) ToGetIsLbsLoadBalancerOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerOutput) +} + +// GetIsLbsLoadBalancerArrayInput is an input type that accepts GetIsLbsLoadBalancerArray and GetIsLbsLoadBalancerArrayOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerArrayInput` via: +// +// GetIsLbsLoadBalancerArray{ GetIsLbsLoadBalancerArgs{...} } +type GetIsLbsLoadBalancerArrayInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerArrayOutput() GetIsLbsLoadBalancerArrayOutput + ToGetIsLbsLoadBalancerArrayOutputWithContext(context.Context) GetIsLbsLoadBalancerArrayOutput +} + +type GetIsLbsLoadBalancerArray []GetIsLbsLoadBalancerInput + +func (GetIsLbsLoadBalancerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancer)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerArray) ToGetIsLbsLoadBalancerArrayOutput() GetIsLbsLoadBalancerArrayOutput { + return i.ToGetIsLbsLoadBalancerArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerArray) ToGetIsLbsLoadBalancerArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerArrayOutput) +} + +type GetIsLbsLoadBalancerOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancer)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerOutput) ToGetIsLbsLoadBalancerOutput() GetIsLbsLoadBalancerOutput { + return o +} + +func (o GetIsLbsLoadBalancerOutput) ToGetIsLbsLoadBalancerOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerOutput { + return o +} + +// The access mode of this load balancer +func (o GetIsLbsLoadBalancerOutput) AccessMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.AccessMode }).(pulumi.StringOutput) +} + +// List of access tags +func (o GetIsLbsLoadBalancerOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The load balancer pool members attached to this load balancer. +func (o GetIsLbsLoadBalancerOutput) AttachedLoadBalancerPoolMembers() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember { + return v.AttachedLoadBalancerPoolMembers + }).(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput) +} + +// The availability of this load balancer +func (o GetIsLbsLoadBalancerOutput) Availability() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.Availability }).(pulumi.StringOutput) +} + +// The date and time that this pool was created. +func (o GetIsLbsLoadBalancerOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The load balancer's CRN +func (o GetIsLbsLoadBalancerOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.Crn }).(pulumi.StringOutput) +} + +// The DNS configuration for this load balancer. +func (o GetIsLbsLoadBalancerOutput) Dns() GetIsLbsLoadBalancerDnArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []GetIsLbsLoadBalancerDn { return v.Dns }).(GetIsLbsLoadBalancerDnArrayOutput) +} + +// The supported `failsafe_policy.action` values for this load balancer's pools. +func (o GetIsLbsLoadBalancerOutput) FailsafePolicyActions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []string { return v.FailsafePolicyActions }).(pulumi.StringArrayOutput) +} + +// Load Balancer Host Name +func (o GetIsLbsLoadBalancerOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.Hostname }).(pulumi.StringOutput) +} + +func (o GetIsLbsLoadBalancerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.Id }).(pulumi.StringOutput) +} + +// Indicates whether this load balancer supports instance groups. +func (o GetIsLbsLoadBalancerOutput) InstanceGroupsSupported() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) bool { return v.InstanceGroupsSupported }).(pulumi.BoolOutput) +} + +// Load Balancer Listeners list +func (o GetIsLbsLoadBalancerOutput) Listeners() GetIsLbsLoadBalancerListenerArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []GetIsLbsLoadBalancerListener { return v.Listeners }).(GetIsLbsLoadBalancerListenerArrayOutput) +} + +// Load Balancer name +func (o GetIsLbsLoadBalancerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.Name }).(pulumi.StringOutput) +} + +// Load Balancer operating status +func (o GetIsLbsLoadBalancerOutput) OperatingStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.OperatingStatus }).(pulumi.StringOutput) +} + +// Load Balancer Pools list +func (o GetIsLbsLoadBalancerOutput) Pools() GetIsLbsLoadBalancerPoolArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []GetIsLbsLoadBalancerPool { return v.Pools }).(GetIsLbsLoadBalancerPoolArrayOutput) +} + +// The private IP addresses assigned to this load balancer. +func (o GetIsLbsLoadBalancerOutput) PrivateIp() GetIsLbsLoadBalancerPrivateIpArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []GetIsLbsLoadBalancerPrivateIp { return v.PrivateIp }).(GetIsLbsLoadBalancerPrivateIpArrayOutput) +} + +// Load Balancer private IPs +func (o GetIsLbsLoadBalancerOutput) PrivateIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []string { return v.PrivateIps }).(pulumi.StringArrayOutput) +} + +// The profile to use for this load balancer +func (o GetIsLbsLoadBalancerOutput) Profile() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) map[string]string { return v.Profile }).(pulumi.StringMapOutput) +} + +// The provisioning status of this load balancer +func (o GetIsLbsLoadBalancerOutput) ProvisioningStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.ProvisioningStatus }).(pulumi.StringOutput) +} + +// Load Balancer Public IPs +func (o GetIsLbsLoadBalancerOutput) PublicIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []string { return v.PublicIps }).(pulumi.StringArrayOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o GetIsLbsLoadBalancerOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// Load Balancer Resource group +func (o GetIsLbsLoadBalancerOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o GetIsLbsLoadBalancerOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o GetIsLbsLoadBalancerOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.ResourceName }).(pulumi.StringOutput) +} + +// Load Balancer route mode +func (o GetIsLbsLoadBalancerOutput) RouteMode() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) bool { return v.RouteMode }).(pulumi.BoolOutput) +} + +// Indicates whether this load balancer supports source IP session persistence. +func (o GetIsLbsLoadBalancerOutput) SourceIpSessionPersistenceSupported() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) bool { return v.SourceIpSessionPersistenceSupported }).(pulumi.BoolOutput) +} + +// Load Balancer status +func (o GetIsLbsLoadBalancerOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.Status }).(pulumi.StringOutput) +} + +// Load Balancer subnets list +func (o GetIsLbsLoadBalancerOutput) Subnets() GetIsLbsLoadBalancerSubnetArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []GetIsLbsLoadBalancerSubnet { return v.Subnets }).(GetIsLbsLoadBalancerSubnetArrayOutput) +} + +// Tags associated to Load Balancer +func (o GetIsLbsLoadBalancerOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Load Balancer type +func (o GetIsLbsLoadBalancerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) string { return v.Type }).(pulumi.StringOutput) +} + +// Indicates whether this load balancer supports UDP. +func (o GetIsLbsLoadBalancerOutput) UdpSupported() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancer) bool { return v.UdpSupported }).(pulumi.BoolOutput) +} + +type GetIsLbsLoadBalancerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancer)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerArrayOutput) ToGetIsLbsLoadBalancerArrayOutput() GetIsLbsLoadBalancerArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerArrayOutput) ToGetIsLbsLoadBalancerArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerArrayOutput) Index(i pulumi.IntInput) GetIsLbsLoadBalancerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbsLoadBalancer { + return vs[0].([]GetIsLbsLoadBalancer)[vs[1].(int)] + }).(GetIsLbsLoadBalancerOutput) +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted `pulumi:"deleteds"` + // The URL for this load balancer pool member. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id string `pulumi:"id"` +} + +// GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberInput is an input type that accepts GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArgs and GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberInput` via: +// +// GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArgs{...} +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput + ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutputWithContext(context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayInput `pulumi:"deleteds"` + // The URL for this load balancer pool member. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool member. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArgs) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput { + return i.ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArgs) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput) +} + +// GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayInput is an input type that accepts GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArray and GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayInput` via: +// +// GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArray{ GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArgs{...} } +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput + ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutputWithContext(context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArray []GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberInput + +func (GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArray) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput { + return i.ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArray) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput) +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput { + return o +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput) Deleteds() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember) []GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted { + return v.Deleteds + }).(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput) +} + +// The URL for this load balancer pool member. +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool member. +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput) Index(i pulumi.IntInput) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember { + return vs[0].([]GetIsLbsLoadBalancerAttachedLoadBalancerPoolMember)[vs[1].(int)] + }).(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput) +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedInput is an input type that accepts GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArgs and GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedInput` via: +// +// GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArgs{...} +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput + ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutputWithContext(context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArgs) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput { + return i.ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArgs) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput) +} + +// GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayInput is an input type that accepts GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArray and GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayInput` via: +// +// GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArray{ GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArgs{...} } +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput + ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArray []GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedInput + +func (GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArray) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return i.ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArray) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput) +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput { + return o +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput() GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput) ToGetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput) Index(i pulumi.IntInput) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted { + return vs[0].([]GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeleted)[vs[1].(int)] + }).(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput) +} + +type GetIsLbsLoadBalancerDn struct { + // The CRN for this DNS instancer + InstanceCrn string `pulumi:"instanceCrn"` + // The unique identifier of the DNS zone. + ZoneId string `pulumi:"zoneId"` +} + +// GetIsLbsLoadBalancerDnInput is an input type that accepts GetIsLbsLoadBalancerDnArgs and GetIsLbsLoadBalancerDnOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerDnInput` via: +// +// GetIsLbsLoadBalancerDnArgs{...} +type GetIsLbsLoadBalancerDnInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerDnOutput() GetIsLbsLoadBalancerDnOutput + ToGetIsLbsLoadBalancerDnOutputWithContext(context.Context) GetIsLbsLoadBalancerDnOutput +} + +type GetIsLbsLoadBalancerDnArgs struct { + // The CRN for this DNS instancer + InstanceCrn pulumi.StringInput `pulumi:"instanceCrn"` + // The unique identifier of the DNS zone. + ZoneId pulumi.StringInput `pulumi:"zoneId"` +} + +func (GetIsLbsLoadBalancerDnArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerDn)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerDnArgs) ToGetIsLbsLoadBalancerDnOutput() GetIsLbsLoadBalancerDnOutput { + return i.ToGetIsLbsLoadBalancerDnOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerDnArgs) ToGetIsLbsLoadBalancerDnOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerDnOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerDnOutput) +} + +// GetIsLbsLoadBalancerDnArrayInput is an input type that accepts GetIsLbsLoadBalancerDnArray and GetIsLbsLoadBalancerDnArrayOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerDnArrayInput` via: +// +// GetIsLbsLoadBalancerDnArray{ GetIsLbsLoadBalancerDnArgs{...} } +type GetIsLbsLoadBalancerDnArrayInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerDnArrayOutput() GetIsLbsLoadBalancerDnArrayOutput + ToGetIsLbsLoadBalancerDnArrayOutputWithContext(context.Context) GetIsLbsLoadBalancerDnArrayOutput +} + +type GetIsLbsLoadBalancerDnArray []GetIsLbsLoadBalancerDnInput + +func (GetIsLbsLoadBalancerDnArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerDn)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerDnArray) ToGetIsLbsLoadBalancerDnArrayOutput() GetIsLbsLoadBalancerDnArrayOutput { + return i.ToGetIsLbsLoadBalancerDnArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerDnArray) ToGetIsLbsLoadBalancerDnArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerDnArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerDnArrayOutput) +} + +type GetIsLbsLoadBalancerDnOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerDnOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerDn)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerDnOutput) ToGetIsLbsLoadBalancerDnOutput() GetIsLbsLoadBalancerDnOutput { + return o +} + +func (o GetIsLbsLoadBalancerDnOutput) ToGetIsLbsLoadBalancerDnOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerDnOutput { + return o +} + +// The CRN for this DNS instancer +func (o GetIsLbsLoadBalancerDnOutput) InstanceCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerDn) string { return v.InstanceCrn }).(pulumi.StringOutput) +} + +// The unique identifier of the DNS zone. +func (o GetIsLbsLoadBalancerDnOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerDn) string { return v.ZoneId }).(pulumi.StringOutput) +} + +type GetIsLbsLoadBalancerDnArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerDnArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerDn)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerDnArrayOutput) ToGetIsLbsLoadBalancerDnArrayOutput() GetIsLbsLoadBalancerDnArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerDnArrayOutput) ToGetIsLbsLoadBalancerDnArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerDnArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerDnArrayOutput) Index(i pulumi.IntInput) GetIsLbsLoadBalancerDnOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbsLoadBalancerDn { + return vs[0].([]GetIsLbsLoadBalancerDn)[vs[1].(int)] + }).(GetIsLbsLoadBalancerDnOutput) +} + +type GetIsLbsLoadBalancerListener struct { + // The listener's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer listener + Id string `pulumi:"id"` +} + +// GetIsLbsLoadBalancerListenerInput is an input type that accepts GetIsLbsLoadBalancerListenerArgs and GetIsLbsLoadBalancerListenerOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerListenerInput` via: +// +// GetIsLbsLoadBalancerListenerArgs{...} +type GetIsLbsLoadBalancerListenerInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerListenerOutput() GetIsLbsLoadBalancerListenerOutput + ToGetIsLbsLoadBalancerListenerOutputWithContext(context.Context) GetIsLbsLoadBalancerListenerOutput +} + +type GetIsLbsLoadBalancerListenerArgs struct { + // The listener's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer listener + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsLbsLoadBalancerListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerListener)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerListenerArgs) ToGetIsLbsLoadBalancerListenerOutput() GetIsLbsLoadBalancerListenerOutput { + return i.ToGetIsLbsLoadBalancerListenerOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerListenerArgs) ToGetIsLbsLoadBalancerListenerOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerListenerOutput) +} + +// GetIsLbsLoadBalancerListenerArrayInput is an input type that accepts GetIsLbsLoadBalancerListenerArray and GetIsLbsLoadBalancerListenerArrayOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerListenerArrayInput` via: +// +// GetIsLbsLoadBalancerListenerArray{ GetIsLbsLoadBalancerListenerArgs{...} } +type GetIsLbsLoadBalancerListenerArrayInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerListenerArrayOutput() GetIsLbsLoadBalancerListenerArrayOutput + ToGetIsLbsLoadBalancerListenerArrayOutputWithContext(context.Context) GetIsLbsLoadBalancerListenerArrayOutput +} + +type GetIsLbsLoadBalancerListenerArray []GetIsLbsLoadBalancerListenerInput + +func (GetIsLbsLoadBalancerListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerListener)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerListenerArray) ToGetIsLbsLoadBalancerListenerArrayOutput() GetIsLbsLoadBalancerListenerArrayOutput { + return i.ToGetIsLbsLoadBalancerListenerArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerListenerArray) ToGetIsLbsLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerListenerArrayOutput) +} + +type GetIsLbsLoadBalancerListenerOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerListener)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerListenerOutput) ToGetIsLbsLoadBalancerListenerOutput() GetIsLbsLoadBalancerListenerOutput { + return o +} + +func (o GetIsLbsLoadBalancerListenerOutput) ToGetIsLbsLoadBalancerListenerOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerListenerOutput { + return o +} + +// The listener's canonical URL. +func (o GetIsLbsLoadBalancerListenerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerListener) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer listener +func (o GetIsLbsLoadBalancerListenerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerListener) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsLbsLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerListener)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerListenerArrayOutput) ToGetIsLbsLoadBalancerListenerArrayOutput() GetIsLbsLoadBalancerListenerArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerListenerArrayOutput) ToGetIsLbsLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerListenerArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) GetIsLbsLoadBalancerListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbsLoadBalancerListener { + return vs[0].([]GetIsLbsLoadBalancerListener)[vs[1].(int)] + }).(GetIsLbsLoadBalancerListenerOutput) +} + +type GetIsLbsLoadBalancerPool struct { + // The pool's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer pool + Id string `pulumi:"id"` + // The user-defined name for this load balancer pool + Name string `pulumi:"name"` +} + +// GetIsLbsLoadBalancerPoolInput is an input type that accepts GetIsLbsLoadBalancerPoolArgs and GetIsLbsLoadBalancerPoolOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerPoolInput` via: +// +// GetIsLbsLoadBalancerPoolArgs{...} +type GetIsLbsLoadBalancerPoolInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerPoolOutput() GetIsLbsLoadBalancerPoolOutput + ToGetIsLbsLoadBalancerPoolOutputWithContext(context.Context) GetIsLbsLoadBalancerPoolOutput +} + +type GetIsLbsLoadBalancerPoolArgs struct { + // The pool's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer pool + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this load balancer pool + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbsLoadBalancerPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerPool)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerPoolArgs) ToGetIsLbsLoadBalancerPoolOutput() GetIsLbsLoadBalancerPoolOutput { + return i.ToGetIsLbsLoadBalancerPoolOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerPoolArgs) ToGetIsLbsLoadBalancerPoolOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerPoolOutput) +} + +// GetIsLbsLoadBalancerPoolArrayInput is an input type that accepts GetIsLbsLoadBalancerPoolArray and GetIsLbsLoadBalancerPoolArrayOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerPoolArrayInput` via: +// +// GetIsLbsLoadBalancerPoolArray{ GetIsLbsLoadBalancerPoolArgs{...} } +type GetIsLbsLoadBalancerPoolArrayInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerPoolArrayOutput() GetIsLbsLoadBalancerPoolArrayOutput + ToGetIsLbsLoadBalancerPoolArrayOutputWithContext(context.Context) GetIsLbsLoadBalancerPoolArrayOutput +} + +type GetIsLbsLoadBalancerPoolArray []GetIsLbsLoadBalancerPoolInput + +func (GetIsLbsLoadBalancerPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerPool)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerPoolArray) ToGetIsLbsLoadBalancerPoolArrayOutput() GetIsLbsLoadBalancerPoolArrayOutput { + return i.ToGetIsLbsLoadBalancerPoolArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerPoolArray) ToGetIsLbsLoadBalancerPoolArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerPoolArrayOutput) +} + +type GetIsLbsLoadBalancerPoolOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerPool)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerPoolOutput) ToGetIsLbsLoadBalancerPoolOutput() GetIsLbsLoadBalancerPoolOutput { + return o +} + +func (o GetIsLbsLoadBalancerPoolOutput) ToGetIsLbsLoadBalancerPoolOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerPoolOutput { + return o +} + +// The pool's canonical URL. +func (o GetIsLbsLoadBalancerPoolOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerPool) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer pool +func (o GetIsLbsLoadBalancerPoolOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerPool) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this load balancer pool +func (o GetIsLbsLoadBalancerPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerPool) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbsLoadBalancerPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerPool)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerPoolArrayOutput) ToGetIsLbsLoadBalancerPoolArrayOutput() GetIsLbsLoadBalancerPoolArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerPoolArrayOutput) ToGetIsLbsLoadBalancerPoolArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerPoolArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerPoolArrayOutput) Index(i pulumi.IntInput) GetIsLbsLoadBalancerPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbsLoadBalancerPool { + return vs[0].([]GetIsLbsLoadBalancerPool)[vs[1].(int)] + }).(GetIsLbsLoadBalancerPoolOutput) +} + +type GetIsLbsLoadBalancerPrivateIp struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address string `pulumi:"address"` + // The URL for this reserved IP + Href string `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name string `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp string `pulumi:"reservedIp"` + // The resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsLbsLoadBalancerPrivateIpInput is an input type that accepts GetIsLbsLoadBalancerPrivateIpArgs and GetIsLbsLoadBalancerPrivateIpOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerPrivateIpInput` via: +// +// GetIsLbsLoadBalancerPrivateIpArgs{...} +type GetIsLbsLoadBalancerPrivateIpInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerPrivateIpOutput() GetIsLbsLoadBalancerPrivateIpOutput + ToGetIsLbsLoadBalancerPrivateIpOutputWithContext(context.Context) GetIsLbsLoadBalancerPrivateIpOutput +} + +type GetIsLbsLoadBalancerPrivateIpArgs struct { + // The IP address to reserve, which must not already be reserved on the subnet. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP + Href pulumi.StringInput `pulumi:"href"` + // The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. + Name pulumi.StringInput `pulumi:"name"` + // Identifies a reserved IP by a unique property. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsLbsLoadBalancerPrivateIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerPrivateIp)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerPrivateIpArgs) ToGetIsLbsLoadBalancerPrivateIpOutput() GetIsLbsLoadBalancerPrivateIpOutput { + return i.ToGetIsLbsLoadBalancerPrivateIpOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerPrivateIpArgs) ToGetIsLbsLoadBalancerPrivateIpOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerPrivateIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerPrivateIpOutput) +} + +// GetIsLbsLoadBalancerPrivateIpArrayInput is an input type that accepts GetIsLbsLoadBalancerPrivateIpArray and GetIsLbsLoadBalancerPrivateIpArrayOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerPrivateIpArrayInput` via: +// +// GetIsLbsLoadBalancerPrivateIpArray{ GetIsLbsLoadBalancerPrivateIpArgs{...} } +type GetIsLbsLoadBalancerPrivateIpArrayInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerPrivateIpArrayOutput() GetIsLbsLoadBalancerPrivateIpArrayOutput + ToGetIsLbsLoadBalancerPrivateIpArrayOutputWithContext(context.Context) GetIsLbsLoadBalancerPrivateIpArrayOutput +} + +type GetIsLbsLoadBalancerPrivateIpArray []GetIsLbsLoadBalancerPrivateIpInput + +func (GetIsLbsLoadBalancerPrivateIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerPrivateIp)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerPrivateIpArray) ToGetIsLbsLoadBalancerPrivateIpArrayOutput() GetIsLbsLoadBalancerPrivateIpArrayOutput { + return i.ToGetIsLbsLoadBalancerPrivateIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerPrivateIpArray) ToGetIsLbsLoadBalancerPrivateIpArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerPrivateIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerPrivateIpArrayOutput) +} + +type GetIsLbsLoadBalancerPrivateIpOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerPrivateIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerPrivateIp)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerPrivateIpOutput) ToGetIsLbsLoadBalancerPrivateIpOutput() GetIsLbsLoadBalancerPrivateIpOutput { + return o +} + +func (o GetIsLbsLoadBalancerPrivateIpOutput) ToGetIsLbsLoadBalancerPrivateIpOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerPrivateIpOutput { + return o +} + +// The IP address to reserve, which must not already be reserved on the subnet. +func (o GetIsLbsLoadBalancerPrivateIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerPrivateIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP +func (o GetIsLbsLoadBalancerPrivateIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerPrivateIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. If unspecified, the name will be a hyphenated list of randomly-selected words. Names must be unique within the subnet the reserved IP resides in. +func (o GetIsLbsLoadBalancerPrivateIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerPrivateIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Identifies a reserved IP by a unique property. +func (o GetIsLbsLoadBalancerPrivateIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerPrivateIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsLbsLoadBalancerPrivateIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerPrivateIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsLbsLoadBalancerPrivateIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerPrivateIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerPrivateIp)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerPrivateIpArrayOutput) ToGetIsLbsLoadBalancerPrivateIpArrayOutput() GetIsLbsLoadBalancerPrivateIpArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerPrivateIpArrayOutput) ToGetIsLbsLoadBalancerPrivateIpArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerPrivateIpArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerPrivateIpArrayOutput) Index(i pulumi.IntInput) GetIsLbsLoadBalancerPrivateIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbsLoadBalancerPrivateIp { + return vs[0].([]GetIsLbsLoadBalancerPrivateIp)[vs[1].(int)] + }).(GetIsLbsLoadBalancerPrivateIpOutput) +} + +type GetIsLbsLoadBalancerSubnet struct { + // The CRN for this subnet + Crn string `pulumi:"crn"` + // The subnet's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer subnet + Id string `pulumi:"id"` + // The user-defined name for this load balancer subnet + Name string `pulumi:"name"` +} + +// GetIsLbsLoadBalancerSubnetInput is an input type that accepts GetIsLbsLoadBalancerSubnetArgs and GetIsLbsLoadBalancerSubnetOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerSubnetInput` via: +// +// GetIsLbsLoadBalancerSubnetArgs{...} +type GetIsLbsLoadBalancerSubnetInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerSubnetOutput() GetIsLbsLoadBalancerSubnetOutput + ToGetIsLbsLoadBalancerSubnetOutputWithContext(context.Context) GetIsLbsLoadBalancerSubnetOutput +} + +type GetIsLbsLoadBalancerSubnetArgs struct { + // The CRN for this subnet + Crn pulumi.StringInput `pulumi:"crn"` + // The subnet's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer subnet + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this load balancer subnet + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsLbsLoadBalancerSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerSubnet)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerSubnetArgs) ToGetIsLbsLoadBalancerSubnetOutput() GetIsLbsLoadBalancerSubnetOutput { + return i.ToGetIsLbsLoadBalancerSubnetOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerSubnetArgs) ToGetIsLbsLoadBalancerSubnetOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerSubnetOutput) +} + +// GetIsLbsLoadBalancerSubnetArrayInput is an input type that accepts GetIsLbsLoadBalancerSubnetArray and GetIsLbsLoadBalancerSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsLbsLoadBalancerSubnetArrayInput` via: +// +// GetIsLbsLoadBalancerSubnetArray{ GetIsLbsLoadBalancerSubnetArgs{...} } +type GetIsLbsLoadBalancerSubnetArrayInput interface { + pulumi.Input + + ToGetIsLbsLoadBalancerSubnetArrayOutput() GetIsLbsLoadBalancerSubnetArrayOutput + ToGetIsLbsLoadBalancerSubnetArrayOutputWithContext(context.Context) GetIsLbsLoadBalancerSubnetArrayOutput +} + +type GetIsLbsLoadBalancerSubnetArray []GetIsLbsLoadBalancerSubnetInput + +func (GetIsLbsLoadBalancerSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerSubnet)(nil)).Elem() +} + +func (i GetIsLbsLoadBalancerSubnetArray) ToGetIsLbsLoadBalancerSubnetArrayOutput() GetIsLbsLoadBalancerSubnetArrayOutput { + return i.ToGetIsLbsLoadBalancerSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsLbsLoadBalancerSubnetArray) ToGetIsLbsLoadBalancerSubnetArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsLbsLoadBalancerSubnetArrayOutput) +} + +type GetIsLbsLoadBalancerSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsLbsLoadBalancerSubnet)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerSubnetOutput) ToGetIsLbsLoadBalancerSubnetOutput() GetIsLbsLoadBalancerSubnetOutput { + return o +} + +func (o GetIsLbsLoadBalancerSubnetOutput) ToGetIsLbsLoadBalancerSubnetOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerSubnetOutput { + return o +} + +// The CRN for this subnet +func (o GetIsLbsLoadBalancerSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// The subnet's canonical URL. +func (o GetIsLbsLoadBalancerSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer subnet +func (o GetIsLbsLoadBalancerSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this load balancer subnet +func (o GetIsLbsLoadBalancerSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsLbsLoadBalancerSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsLbsLoadBalancerSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsLbsLoadBalancerSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsLbsLoadBalancerSubnet)(nil)).Elem() +} + +func (o GetIsLbsLoadBalancerSubnetArrayOutput) ToGetIsLbsLoadBalancerSubnetArrayOutput() GetIsLbsLoadBalancerSubnetArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerSubnetArrayOutput) ToGetIsLbsLoadBalancerSubnetArrayOutputWithContext(ctx context.Context) GetIsLbsLoadBalancerSubnetArrayOutput { + return o +} + +func (o GetIsLbsLoadBalancerSubnetArrayOutput) Index(i pulumi.IntInput) GetIsLbsLoadBalancerSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsLbsLoadBalancerSubnet { + return vs[0].([]GetIsLbsLoadBalancerSubnet)[vs[1].(int)] + }).(GetIsLbsLoadBalancerSubnetOutput) +} + +type GetIsNetworkAclResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsNetworkAclResourceGroupInput is an input type that accepts GetIsNetworkAclResourceGroupArgs and GetIsNetworkAclResourceGroupOutput values. +// You can construct a concrete instance of `GetIsNetworkAclResourceGroupInput` via: +// +// GetIsNetworkAclResourceGroupArgs{...} +type GetIsNetworkAclResourceGroupInput interface { + pulumi.Input + + ToGetIsNetworkAclResourceGroupOutput() GetIsNetworkAclResourceGroupOutput + ToGetIsNetworkAclResourceGroupOutputWithContext(context.Context) GetIsNetworkAclResourceGroupOutput +} + +type GetIsNetworkAclResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsNetworkAclResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclResourceGroup)(nil)).Elem() +} + +func (i GetIsNetworkAclResourceGroupArgs) ToGetIsNetworkAclResourceGroupOutput() GetIsNetworkAclResourceGroupOutput { + return i.ToGetIsNetworkAclResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclResourceGroupArgs) ToGetIsNetworkAclResourceGroupOutputWithContext(ctx context.Context) GetIsNetworkAclResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclResourceGroupOutput) +} + +// GetIsNetworkAclResourceGroupArrayInput is an input type that accepts GetIsNetworkAclResourceGroupArray and GetIsNetworkAclResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclResourceGroupArrayInput` via: +// +// GetIsNetworkAclResourceGroupArray{ GetIsNetworkAclResourceGroupArgs{...} } +type GetIsNetworkAclResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclResourceGroupArrayOutput() GetIsNetworkAclResourceGroupArrayOutput + ToGetIsNetworkAclResourceGroupArrayOutputWithContext(context.Context) GetIsNetworkAclResourceGroupArrayOutput +} + +type GetIsNetworkAclResourceGroupArray []GetIsNetworkAclResourceGroupInput + +func (GetIsNetworkAclResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclResourceGroup)(nil)).Elem() +} + +func (i GetIsNetworkAclResourceGroupArray) ToGetIsNetworkAclResourceGroupArrayOutput() GetIsNetworkAclResourceGroupArrayOutput { + return i.ToGetIsNetworkAclResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclResourceGroupArray) ToGetIsNetworkAclResourceGroupArrayOutputWithContext(ctx context.Context) GetIsNetworkAclResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclResourceGroupArrayOutput) +} + +type GetIsNetworkAclResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclResourceGroup)(nil)).Elem() +} + +func (o GetIsNetworkAclResourceGroupOutput) ToGetIsNetworkAclResourceGroupOutput() GetIsNetworkAclResourceGroupOutput { + return o +} + +func (o GetIsNetworkAclResourceGroupOutput) ToGetIsNetworkAclResourceGroupOutputWithContext(ctx context.Context) GetIsNetworkAclResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsNetworkAclResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsNetworkAclResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsNetworkAclResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsNetworkAclResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclResourceGroup)(nil)).Elem() +} + +func (o GetIsNetworkAclResourceGroupArrayOutput) ToGetIsNetworkAclResourceGroupArrayOutput() GetIsNetworkAclResourceGroupArrayOutput { + return o +} + +func (o GetIsNetworkAclResourceGroupArrayOutput) ToGetIsNetworkAclResourceGroupArrayOutputWithContext(ctx context.Context) GetIsNetworkAclResourceGroupArrayOutput { + return o +} + +func (o GetIsNetworkAclResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclResourceGroup { + return vs[0].([]GetIsNetworkAclResourceGroup)[vs[1].(int)] + }).(GetIsNetworkAclResourceGroupOutput) +} + +type GetIsNetworkAclRuleType struct { + // Whether to allow or deny matching traffic. + Action string `pulumi:"action"` + // The rule that this rule is immediately before. In a rule collection, this alwaysrefers to the next item in the collection. If absent, this is the last rule. + Befores []GetIsNetworkAclRuleBefore `pulumi:"befores"` + // The date and time that the rule was created. + CreatedAt string `pulumi:"createdAt"` + // The destination CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. + Destination string `pulumi:"destination"` + // Whether the traffic to be matched is `inbound` or `outbound`. + Direction string `pulumi:"direction"` + // The URL for this network ACL rule. + Href string `pulumi:"href"` + // The protocol ICMP + Icmps []GetIsNetworkAclRuleIcmp `pulumi:"icmps"` + // The unique identifier for this network ACL rule. + Id string `pulumi:"id"` + // The IP version for this rule. + IpVersion string `pulumi:"ipVersion"` + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The protocol to enforce. + Protocol string `pulumi:"protocol"` + // The source CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. + Source string `pulumi:"source"` + // TCP protocol + Tcps []GetIsNetworkAclRuleTcp `pulumi:"tcps"` + // UDP protocol + Udps []GetIsNetworkAclRuleUdp `pulumi:"udps"` +} + +// GetIsNetworkAclRuleTypeInput is an input type that accepts GetIsNetworkAclRuleTypeArgs and GetIsNetworkAclRuleTypeOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleTypeInput` via: +// +// GetIsNetworkAclRuleTypeArgs{...} +type GetIsNetworkAclRuleTypeInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleTypeOutput() GetIsNetworkAclRuleTypeOutput + ToGetIsNetworkAclRuleTypeOutputWithContext(context.Context) GetIsNetworkAclRuleTypeOutput +} + +type GetIsNetworkAclRuleTypeArgs struct { + // Whether to allow or deny matching traffic. + Action pulumi.StringInput `pulumi:"action"` + // The rule that this rule is immediately before. In a rule collection, this alwaysrefers to the next item in the collection. If absent, this is the last rule. + Befores GetIsNetworkAclRuleBeforeArrayInput `pulumi:"befores"` + // The date and time that the rule was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The destination CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. + Destination pulumi.StringInput `pulumi:"destination"` + // Whether the traffic to be matched is `inbound` or `outbound`. + Direction pulumi.StringInput `pulumi:"direction"` + // The URL for this network ACL rule. + Href pulumi.StringInput `pulumi:"href"` + // The protocol ICMP + Icmps GetIsNetworkAclRuleIcmpArrayInput `pulumi:"icmps"` + // The unique identifier for this network ACL rule. + Id pulumi.StringInput `pulumi:"id"` + // The IP version for this rule. + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The protocol to enforce. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The source CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. + Source pulumi.StringInput `pulumi:"source"` + // TCP protocol + Tcps GetIsNetworkAclRuleTcpArrayInput `pulumi:"tcps"` + // UDP protocol + Udps GetIsNetworkAclRuleUdpArrayInput `pulumi:"udps"` +} + +func (GetIsNetworkAclRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleType)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleTypeArgs) ToGetIsNetworkAclRuleTypeOutput() GetIsNetworkAclRuleTypeOutput { + return i.ToGetIsNetworkAclRuleTypeOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleTypeArgs) ToGetIsNetworkAclRuleTypeOutputWithContext(ctx context.Context) GetIsNetworkAclRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleTypeOutput) +} + +// GetIsNetworkAclRuleTypeArrayInput is an input type that accepts GetIsNetworkAclRuleTypeArray and GetIsNetworkAclRuleTypeArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleTypeArrayInput` via: +// +// GetIsNetworkAclRuleTypeArray{ GetIsNetworkAclRuleTypeArgs{...} } +type GetIsNetworkAclRuleTypeArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleTypeArrayOutput() GetIsNetworkAclRuleTypeArrayOutput + ToGetIsNetworkAclRuleTypeArrayOutputWithContext(context.Context) GetIsNetworkAclRuleTypeArrayOutput +} + +type GetIsNetworkAclRuleTypeArray []GetIsNetworkAclRuleTypeInput + +func (GetIsNetworkAclRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleType)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleTypeArray) ToGetIsNetworkAclRuleTypeArrayOutput() GetIsNetworkAclRuleTypeArrayOutput { + return i.ToGetIsNetworkAclRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleTypeArray) ToGetIsNetworkAclRuleTypeArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleTypeArrayOutput) +} + +type GetIsNetworkAclRuleTypeOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleType)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleTypeOutput) ToGetIsNetworkAclRuleTypeOutput() GetIsNetworkAclRuleTypeOutput { + return o +} + +func (o GetIsNetworkAclRuleTypeOutput) ToGetIsNetworkAclRuleTypeOutputWithContext(ctx context.Context) GetIsNetworkAclRuleTypeOutput { + return o +} + +// Whether to allow or deny matching traffic. +func (o GetIsNetworkAclRuleTypeOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.Action }).(pulumi.StringOutput) +} + +// The rule that this rule is immediately before. In a rule collection, this alwaysrefers to the next item in the collection. If absent, this is the last rule. +func (o GetIsNetworkAclRuleTypeOutput) Befores() GetIsNetworkAclRuleBeforeArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) []GetIsNetworkAclRuleBefore { return v.Befores }).(GetIsNetworkAclRuleBeforeArrayOutput) +} + +// The date and time that the rule was created. +func (o GetIsNetworkAclRuleTypeOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The destination CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. +func (o GetIsNetworkAclRuleTypeOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.Destination }).(pulumi.StringOutput) +} + +// Whether the traffic to be matched is `inbound` or `outbound`. +func (o GetIsNetworkAclRuleTypeOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.Direction }).(pulumi.StringOutput) +} + +// The URL for this network ACL rule. +func (o GetIsNetworkAclRuleTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.Href }).(pulumi.StringOutput) +} + +// The protocol ICMP +func (o GetIsNetworkAclRuleTypeOutput) Icmps() GetIsNetworkAclRuleIcmpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) []GetIsNetworkAclRuleIcmp { return v.Icmps }).(GetIsNetworkAclRuleIcmpArrayOutput) +} + +// The unique identifier for this network ACL rule. +func (o GetIsNetworkAclRuleTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.Id }).(pulumi.StringOutput) +} + +// The IP version for this rule. +func (o GetIsNetworkAclRuleTypeOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.IpVersion }).(pulumi.StringOutput) +} + +// The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsNetworkAclRuleTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.Name }).(pulumi.StringOutput) +} + +// The protocol to enforce. +func (o GetIsNetworkAclRuleTypeOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The source CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. +func (o GetIsNetworkAclRuleTypeOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) string { return v.Source }).(pulumi.StringOutput) +} + +// TCP protocol +func (o GetIsNetworkAclRuleTypeOutput) Tcps() GetIsNetworkAclRuleTcpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) []GetIsNetworkAclRuleTcp { return v.Tcps }).(GetIsNetworkAclRuleTcpArrayOutput) +} + +// UDP protocol +func (o GetIsNetworkAclRuleTypeOutput) Udps() GetIsNetworkAclRuleUdpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleType) []GetIsNetworkAclRuleUdp { return v.Udps }).(GetIsNetworkAclRuleUdpArrayOutput) +} + +type GetIsNetworkAclRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleType)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleTypeArrayOutput) ToGetIsNetworkAclRuleTypeArrayOutput() GetIsNetworkAclRuleTypeArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleTypeArrayOutput) ToGetIsNetworkAclRuleTypeArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleTypeArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleTypeArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRuleType { + return vs[0].([]GetIsNetworkAclRuleType)[vs[1].(int)] + }).(GetIsNetworkAclRuleTypeOutput) +} + +type GetIsNetworkAclRuleBefore struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsNetworkAclRuleBeforeDeleted `pulumi:"deleteds"` + // The URL for this network ACL rule. + Href string `pulumi:"href"` + // The unique identifier for this network ACL rule. + Id string `pulumi:"id"` + // The user-defined name for this network ACL rule. + Name string `pulumi:"name"` +} + +// GetIsNetworkAclRuleBeforeInput is an input type that accepts GetIsNetworkAclRuleBeforeArgs and GetIsNetworkAclRuleBeforeOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleBeforeInput` via: +// +// GetIsNetworkAclRuleBeforeArgs{...} +type GetIsNetworkAclRuleBeforeInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleBeforeOutput() GetIsNetworkAclRuleBeforeOutput + ToGetIsNetworkAclRuleBeforeOutputWithContext(context.Context) GetIsNetworkAclRuleBeforeOutput +} + +type GetIsNetworkAclRuleBeforeArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsNetworkAclRuleBeforeDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network ACL rule. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network ACL rule. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this network ACL rule. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsNetworkAclRuleBeforeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleBefore)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleBeforeArgs) ToGetIsNetworkAclRuleBeforeOutput() GetIsNetworkAclRuleBeforeOutput { + return i.ToGetIsNetworkAclRuleBeforeOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleBeforeArgs) ToGetIsNetworkAclRuleBeforeOutputWithContext(ctx context.Context) GetIsNetworkAclRuleBeforeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleBeforeOutput) +} + +// GetIsNetworkAclRuleBeforeArrayInput is an input type that accepts GetIsNetworkAclRuleBeforeArray and GetIsNetworkAclRuleBeforeArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleBeforeArrayInput` via: +// +// GetIsNetworkAclRuleBeforeArray{ GetIsNetworkAclRuleBeforeArgs{...} } +type GetIsNetworkAclRuleBeforeArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleBeforeArrayOutput() GetIsNetworkAclRuleBeforeArrayOutput + ToGetIsNetworkAclRuleBeforeArrayOutputWithContext(context.Context) GetIsNetworkAclRuleBeforeArrayOutput +} + +type GetIsNetworkAclRuleBeforeArray []GetIsNetworkAclRuleBeforeInput + +func (GetIsNetworkAclRuleBeforeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleBefore)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleBeforeArray) ToGetIsNetworkAclRuleBeforeArrayOutput() GetIsNetworkAclRuleBeforeArrayOutput { + return i.ToGetIsNetworkAclRuleBeforeArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleBeforeArray) ToGetIsNetworkAclRuleBeforeArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleBeforeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleBeforeArrayOutput) +} + +type GetIsNetworkAclRuleBeforeOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleBeforeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleBefore)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleBeforeOutput) ToGetIsNetworkAclRuleBeforeOutput() GetIsNetworkAclRuleBeforeOutput { + return o +} + +func (o GetIsNetworkAclRuleBeforeOutput) ToGetIsNetworkAclRuleBeforeOutputWithContext(ctx context.Context) GetIsNetworkAclRuleBeforeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsNetworkAclRuleBeforeOutput) Deleteds() GetIsNetworkAclRuleBeforeDeletedArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleBefore) []GetIsNetworkAclRuleBeforeDeleted { return v.Deleteds }).(GetIsNetworkAclRuleBeforeDeletedArrayOutput) +} + +// The URL for this network ACL rule. +func (o GetIsNetworkAclRuleBeforeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleBefore) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network ACL rule. +func (o GetIsNetworkAclRuleBeforeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleBefore) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this network ACL rule. +func (o GetIsNetworkAclRuleBeforeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleBefore) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsNetworkAclRuleBeforeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleBeforeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleBefore)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleBeforeArrayOutput) ToGetIsNetworkAclRuleBeforeArrayOutput() GetIsNetworkAclRuleBeforeArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleBeforeArrayOutput) ToGetIsNetworkAclRuleBeforeArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleBeforeArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleBeforeArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRuleBeforeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRuleBefore { + return vs[0].([]GetIsNetworkAclRuleBefore)[vs[1].(int)] + }).(GetIsNetworkAclRuleBeforeOutput) +} + +type GetIsNetworkAclRuleBeforeDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsNetworkAclRuleBeforeDeletedInput is an input type that accepts GetIsNetworkAclRuleBeforeDeletedArgs and GetIsNetworkAclRuleBeforeDeletedOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleBeforeDeletedInput` via: +// +// GetIsNetworkAclRuleBeforeDeletedArgs{...} +type GetIsNetworkAclRuleBeforeDeletedInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleBeforeDeletedOutput() GetIsNetworkAclRuleBeforeDeletedOutput + ToGetIsNetworkAclRuleBeforeDeletedOutputWithContext(context.Context) GetIsNetworkAclRuleBeforeDeletedOutput +} + +type GetIsNetworkAclRuleBeforeDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsNetworkAclRuleBeforeDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleBeforeDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleBeforeDeletedArgs) ToGetIsNetworkAclRuleBeforeDeletedOutput() GetIsNetworkAclRuleBeforeDeletedOutput { + return i.ToGetIsNetworkAclRuleBeforeDeletedOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleBeforeDeletedArgs) ToGetIsNetworkAclRuleBeforeDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclRuleBeforeDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleBeforeDeletedOutput) +} + +// GetIsNetworkAclRuleBeforeDeletedArrayInput is an input type that accepts GetIsNetworkAclRuleBeforeDeletedArray and GetIsNetworkAclRuleBeforeDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleBeforeDeletedArrayInput` via: +// +// GetIsNetworkAclRuleBeforeDeletedArray{ GetIsNetworkAclRuleBeforeDeletedArgs{...} } +type GetIsNetworkAclRuleBeforeDeletedArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleBeforeDeletedArrayOutput() GetIsNetworkAclRuleBeforeDeletedArrayOutput + ToGetIsNetworkAclRuleBeforeDeletedArrayOutputWithContext(context.Context) GetIsNetworkAclRuleBeforeDeletedArrayOutput +} + +type GetIsNetworkAclRuleBeforeDeletedArray []GetIsNetworkAclRuleBeforeDeletedInput + +func (GetIsNetworkAclRuleBeforeDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleBeforeDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleBeforeDeletedArray) ToGetIsNetworkAclRuleBeforeDeletedArrayOutput() GetIsNetworkAclRuleBeforeDeletedArrayOutput { + return i.ToGetIsNetworkAclRuleBeforeDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleBeforeDeletedArray) ToGetIsNetworkAclRuleBeforeDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleBeforeDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleBeforeDeletedArrayOutput) +} + +type GetIsNetworkAclRuleBeforeDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleBeforeDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleBeforeDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleBeforeDeletedOutput) ToGetIsNetworkAclRuleBeforeDeletedOutput() GetIsNetworkAclRuleBeforeDeletedOutput { + return o +} + +func (o GetIsNetworkAclRuleBeforeDeletedOutput) ToGetIsNetworkAclRuleBeforeDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclRuleBeforeDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsNetworkAclRuleBeforeDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleBeforeDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsNetworkAclRuleBeforeDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleBeforeDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleBeforeDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleBeforeDeletedArrayOutput) ToGetIsNetworkAclRuleBeforeDeletedArrayOutput() GetIsNetworkAclRuleBeforeDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleBeforeDeletedArrayOutput) ToGetIsNetworkAclRuleBeforeDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleBeforeDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleBeforeDeletedArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRuleBeforeDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRuleBeforeDeleted { + return vs[0].([]GetIsNetworkAclRuleBeforeDeleted)[vs[1].(int)] + }).(GetIsNetworkAclRuleBeforeDeletedOutput) +} + +type GetIsNetworkAclRuleIcmp struct { + // The ICMP traffic code to allow. Valid values from 0 to 255. + Code int `pulumi:"code"` + // The ICMP traffic type to allow. Valid values from 0 to 254. + Type int `pulumi:"type"` +} + +// GetIsNetworkAclRuleIcmpInput is an input type that accepts GetIsNetworkAclRuleIcmpArgs and GetIsNetworkAclRuleIcmpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleIcmpInput` via: +// +// GetIsNetworkAclRuleIcmpArgs{...} +type GetIsNetworkAclRuleIcmpInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleIcmpOutput() GetIsNetworkAclRuleIcmpOutput + ToGetIsNetworkAclRuleIcmpOutputWithContext(context.Context) GetIsNetworkAclRuleIcmpOutput +} + +type GetIsNetworkAclRuleIcmpArgs struct { + // The ICMP traffic code to allow. Valid values from 0 to 255. + Code pulumi.IntInput `pulumi:"code"` + // The ICMP traffic type to allow. Valid values from 0 to 254. + Type pulumi.IntInput `pulumi:"type"` +} + +func (GetIsNetworkAclRuleIcmpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleIcmpArgs) ToGetIsNetworkAclRuleIcmpOutput() GetIsNetworkAclRuleIcmpOutput { + return i.ToGetIsNetworkAclRuleIcmpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleIcmpArgs) ToGetIsNetworkAclRuleIcmpOutputWithContext(ctx context.Context) GetIsNetworkAclRuleIcmpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleIcmpOutput) +} + +// GetIsNetworkAclRuleIcmpArrayInput is an input type that accepts GetIsNetworkAclRuleIcmpArray and GetIsNetworkAclRuleIcmpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleIcmpArrayInput` via: +// +// GetIsNetworkAclRuleIcmpArray{ GetIsNetworkAclRuleIcmpArgs{...} } +type GetIsNetworkAclRuleIcmpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleIcmpArrayOutput() GetIsNetworkAclRuleIcmpArrayOutput + ToGetIsNetworkAclRuleIcmpArrayOutputWithContext(context.Context) GetIsNetworkAclRuleIcmpArrayOutput +} + +type GetIsNetworkAclRuleIcmpArray []GetIsNetworkAclRuleIcmpInput + +func (GetIsNetworkAclRuleIcmpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleIcmpArray) ToGetIsNetworkAclRuleIcmpArrayOutput() GetIsNetworkAclRuleIcmpArrayOutput { + return i.ToGetIsNetworkAclRuleIcmpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleIcmpArray) ToGetIsNetworkAclRuleIcmpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleIcmpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleIcmpArrayOutput) +} + +type GetIsNetworkAclRuleIcmpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleIcmpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleIcmpOutput) ToGetIsNetworkAclRuleIcmpOutput() GetIsNetworkAclRuleIcmpOutput { + return o +} + +func (o GetIsNetworkAclRuleIcmpOutput) ToGetIsNetworkAclRuleIcmpOutputWithContext(ctx context.Context) GetIsNetworkAclRuleIcmpOutput { + return o +} + +// The ICMP traffic code to allow. Valid values from 0 to 255. +func (o GetIsNetworkAclRuleIcmpOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleIcmp) int { return v.Code }).(pulumi.IntOutput) +} + +// The ICMP traffic type to allow. Valid values from 0 to 254. +func (o GetIsNetworkAclRuleIcmpOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleIcmp) int { return v.Type }).(pulumi.IntOutput) +} + +type GetIsNetworkAclRuleIcmpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleIcmpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleIcmpArrayOutput) ToGetIsNetworkAclRuleIcmpArrayOutput() GetIsNetworkAclRuleIcmpArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleIcmpArrayOutput) ToGetIsNetworkAclRuleIcmpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleIcmpArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleIcmpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRuleIcmpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRuleIcmp { + return vs[0].([]GetIsNetworkAclRuleIcmp)[vs[1].(int)] + }).(GetIsNetworkAclRuleIcmpOutput) +} + +type GetIsNetworkAclRuleTcp struct { + // The highest port in the range of ports to be matched + PortMax int `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin int `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax int `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin int `pulumi:"sourcePortMin"` +} + +// GetIsNetworkAclRuleTcpInput is an input type that accepts GetIsNetworkAclRuleTcpArgs and GetIsNetworkAclRuleTcpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleTcpInput` via: +// +// GetIsNetworkAclRuleTcpArgs{...} +type GetIsNetworkAclRuleTcpInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleTcpOutput() GetIsNetworkAclRuleTcpOutput + ToGetIsNetworkAclRuleTcpOutputWithContext(context.Context) GetIsNetworkAclRuleTcpOutput +} + +type GetIsNetworkAclRuleTcpArgs struct { + // The highest port in the range of ports to be matched + PortMax pulumi.IntInput `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin pulumi.IntInput `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax pulumi.IntInput `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin pulumi.IntInput `pulumi:"sourcePortMin"` +} + +func (GetIsNetworkAclRuleTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleTcp)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleTcpArgs) ToGetIsNetworkAclRuleTcpOutput() GetIsNetworkAclRuleTcpOutput { + return i.ToGetIsNetworkAclRuleTcpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleTcpArgs) ToGetIsNetworkAclRuleTcpOutputWithContext(ctx context.Context) GetIsNetworkAclRuleTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleTcpOutput) +} + +// GetIsNetworkAclRuleTcpArrayInput is an input type that accepts GetIsNetworkAclRuleTcpArray and GetIsNetworkAclRuleTcpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleTcpArrayInput` via: +// +// GetIsNetworkAclRuleTcpArray{ GetIsNetworkAclRuleTcpArgs{...} } +type GetIsNetworkAclRuleTcpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleTcpArrayOutput() GetIsNetworkAclRuleTcpArrayOutput + ToGetIsNetworkAclRuleTcpArrayOutputWithContext(context.Context) GetIsNetworkAclRuleTcpArrayOutput +} + +type GetIsNetworkAclRuleTcpArray []GetIsNetworkAclRuleTcpInput + +func (GetIsNetworkAclRuleTcpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleTcp)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleTcpArray) ToGetIsNetworkAclRuleTcpArrayOutput() GetIsNetworkAclRuleTcpArrayOutput { + return i.ToGetIsNetworkAclRuleTcpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleTcpArray) ToGetIsNetworkAclRuleTcpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleTcpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleTcpArrayOutput) +} + +type GetIsNetworkAclRuleTcpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleTcp)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleTcpOutput) ToGetIsNetworkAclRuleTcpOutput() GetIsNetworkAclRuleTcpOutput { + return o +} + +func (o GetIsNetworkAclRuleTcpOutput) ToGetIsNetworkAclRuleTcpOutputWithContext(ctx context.Context) GetIsNetworkAclRuleTcpOutput { + return o +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclRuleTcpOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleTcp) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclRuleTcpOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleTcp) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclRuleTcpOutput) SourcePortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleTcp) int { return v.SourcePortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclRuleTcpOutput) SourcePortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleTcp) int { return v.SourcePortMin }).(pulumi.IntOutput) +} + +type GetIsNetworkAclRuleTcpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleTcpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleTcp)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleTcpArrayOutput) ToGetIsNetworkAclRuleTcpArrayOutput() GetIsNetworkAclRuleTcpArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleTcpArrayOutput) ToGetIsNetworkAclRuleTcpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleTcpArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleTcpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRuleTcpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRuleTcp { + return vs[0].([]GetIsNetworkAclRuleTcp)[vs[1].(int)] + }).(GetIsNetworkAclRuleTcpOutput) +} + +type GetIsNetworkAclRuleUdp struct { + // The highest port in the range of ports to be matched + PortMax int `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin int `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax int `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin int `pulumi:"sourcePortMin"` +} + +// GetIsNetworkAclRuleUdpInput is an input type that accepts GetIsNetworkAclRuleUdpArgs and GetIsNetworkAclRuleUdpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleUdpInput` via: +// +// GetIsNetworkAclRuleUdpArgs{...} +type GetIsNetworkAclRuleUdpInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleUdpOutput() GetIsNetworkAclRuleUdpOutput + ToGetIsNetworkAclRuleUdpOutputWithContext(context.Context) GetIsNetworkAclRuleUdpOutput +} + +type GetIsNetworkAclRuleUdpArgs struct { + // The highest port in the range of ports to be matched + PortMax pulumi.IntInput `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin pulumi.IntInput `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax pulumi.IntInput `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin pulumi.IntInput `pulumi:"sourcePortMin"` +} + +func (GetIsNetworkAclRuleUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleUdp)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleUdpArgs) ToGetIsNetworkAclRuleUdpOutput() GetIsNetworkAclRuleUdpOutput { + return i.ToGetIsNetworkAclRuleUdpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleUdpArgs) ToGetIsNetworkAclRuleUdpOutputWithContext(ctx context.Context) GetIsNetworkAclRuleUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleUdpOutput) +} + +// GetIsNetworkAclRuleUdpArrayInput is an input type that accepts GetIsNetworkAclRuleUdpArray and GetIsNetworkAclRuleUdpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRuleUdpArrayInput` via: +// +// GetIsNetworkAclRuleUdpArray{ GetIsNetworkAclRuleUdpArgs{...} } +type GetIsNetworkAclRuleUdpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRuleUdpArrayOutput() GetIsNetworkAclRuleUdpArrayOutput + ToGetIsNetworkAclRuleUdpArrayOutputWithContext(context.Context) GetIsNetworkAclRuleUdpArrayOutput +} + +type GetIsNetworkAclRuleUdpArray []GetIsNetworkAclRuleUdpInput + +func (GetIsNetworkAclRuleUdpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleUdp)(nil)).Elem() +} + +func (i GetIsNetworkAclRuleUdpArray) ToGetIsNetworkAclRuleUdpArrayOutput() GetIsNetworkAclRuleUdpArrayOutput { + return i.ToGetIsNetworkAclRuleUdpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRuleUdpArray) ToGetIsNetworkAclRuleUdpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleUdpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRuleUdpArrayOutput) +} + +type GetIsNetworkAclRuleUdpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRuleUdp)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleUdpOutput) ToGetIsNetworkAclRuleUdpOutput() GetIsNetworkAclRuleUdpOutput { + return o +} + +func (o GetIsNetworkAclRuleUdpOutput) ToGetIsNetworkAclRuleUdpOutputWithContext(ctx context.Context) GetIsNetworkAclRuleUdpOutput { + return o +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclRuleUdpOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleUdp) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclRuleUdpOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleUdp) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclRuleUdpOutput) SourcePortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleUdp) int { return v.SourcePortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclRuleUdpOutput) SourcePortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRuleUdp) int { return v.SourcePortMin }).(pulumi.IntOutput) +} + +type GetIsNetworkAclRuleUdpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRuleUdpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRuleUdp)(nil)).Elem() +} + +func (o GetIsNetworkAclRuleUdpArrayOutput) ToGetIsNetworkAclRuleUdpArrayOutput() GetIsNetworkAclRuleUdpArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleUdpArrayOutput) ToGetIsNetworkAclRuleUdpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRuleUdpArrayOutput { + return o +} + +func (o GetIsNetworkAclRuleUdpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRuleUdpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRuleUdp { + return vs[0].([]GetIsNetworkAclRuleUdp)[vs[1].(int)] + }).(GetIsNetworkAclRuleUdpOutput) +} + +type GetIsNetworkAclRulesRule struct { + // Whether to allow or deny matching traffic. + Action string `pulumi:"action"` + // The rule that this rule is immediately before. If absent, this is the last rule. + Before string `pulumi:"before"` + // The destination IP address or CIDR block. + Destination string `pulumi:"destination"` + // Whether the traffic to be matched is inbound or outbound. + Direction string `pulumi:"direction"` + // The URL for this network ACL rule. + Href string `pulumi:"href"` + // The protocol ICMP + Icmps []GetIsNetworkAclRulesRuleIcmp `pulumi:"icmps"` + // The IP version for this rule. + IpVersion string `pulumi:"ipVersion"` + // The user-defined name for this rule + Name string `pulumi:"name"` + // The protocol to enforce. + Protocol string `pulumi:"protocol"` + // The network acl rule id. + RuleId string `pulumi:"ruleId"` + // The source IP address or CIDR block. + Source string `pulumi:"source"` + // TCP protocol + Tcps []GetIsNetworkAclRulesRuleTcp `pulumi:"tcps"` + // UDP protocol + Udps []GetIsNetworkAclRulesRuleUdp `pulumi:"udps"` +} + +// GetIsNetworkAclRulesRuleInput is an input type that accepts GetIsNetworkAclRulesRuleArgs and GetIsNetworkAclRulesRuleOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRulesRuleInput` via: +// +// GetIsNetworkAclRulesRuleArgs{...} +type GetIsNetworkAclRulesRuleInput interface { + pulumi.Input + + ToGetIsNetworkAclRulesRuleOutput() GetIsNetworkAclRulesRuleOutput + ToGetIsNetworkAclRulesRuleOutputWithContext(context.Context) GetIsNetworkAclRulesRuleOutput +} + +type GetIsNetworkAclRulesRuleArgs struct { + // Whether to allow or deny matching traffic. + Action pulumi.StringInput `pulumi:"action"` + // The rule that this rule is immediately before. If absent, this is the last rule. + Before pulumi.StringInput `pulumi:"before"` + // The destination IP address or CIDR block. + Destination pulumi.StringInput `pulumi:"destination"` + // Whether the traffic to be matched is inbound or outbound. + Direction pulumi.StringInput `pulumi:"direction"` + // The URL for this network ACL rule. + Href pulumi.StringInput `pulumi:"href"` + // The protocol ICMP + Icmps GetIsNetworkAclRulesRuleIcmpArrayInput `pulumi:"icmps"` + // The IP version for this rule. + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + // The user-defined name for this rule + Name pulumi.StringInput `pulumi:"name"` + // The protocol to enforce. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The network acl rule id. + RuleId pulumi.StringInput `pulumi:"ruleId"` + // The source IP address or CIDR block. + Source pulumi.StringInput `pulumi:"source"` + // TCP protocol + Tcps GetIsNetworkAclRulesRuleTcpArrayInput `pulumi:"tcps"` + // UDP protocol + Udps GetIsNetworkAclRulesRuleUdpArrayInput `pulumi:"udps"` +} + +func (GetIsNetworkAclRulesRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesRule)(nil)).Elem() +} + +func (i GetIsNetworkAclRulesRuleArgs) ToGetIsNetworkAclRulesRuleOutput() GetIsNetworkAclRulesRuleOutput { + return i.ToGetIsNetworkAclRulesRuleOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRulesRuleArgs) ToGetIsNetworkAclRulesRuleOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRulesRuleOutput) +} + +// GetIsNetworkAclRulesRuleArrayInput is an input type that accepts GetIsNetworkAclRulesRuleArray and GetIsNetworkAclRulesRuleArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRulesRuleArrayInput` via: +// +// GetIsNetworkAclRulesRuleArray{ GetIsNetworkAclRulesRuleArgs{...} } +type GetIsNetworkAclRulesRuleArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRulesRuleArrayOutput() GetIsNetworkAclRulesRuleArrayOutput + ToGetIsNetworkAclRulesRuleArrayOutputWithContext(context.Context) GetIsNetworkAclRulesRuleArrayOutput +} + +type GetIsNetworkAclRulesRuleArray []GetIsNetworkAclRulesRuleInput + +func (GetIsNetworkAclRulesRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRulesRule)(nil)).Elem() +} + +func (i GetIsNetworkAclRulesRuleArray) ToGetIsNetworkAclRulesRuleArrayOutput() GetIsNetworkAclRulesRuleArrayOutput { + return i.ToGetIsNetworkAclRulesRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRulesRuleArray) ToGetIsNetworkAclRulesRuleArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRulesRuleArrayOutput) +} + +type GetIsNetworkAclRulesRuleOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesRule)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesRuleOutput) ToGetIsNetworkAclRulesRuleOutput() GetIsNetworkAclRulesRuleOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleOutput) ToGetIsNetworkAclRulesRuleOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleOutput { + return o +} + +// Whether to allow or deny matching traffic. +func (o GetIsNetworkAclRulesRuleOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.Action }).(pulumi.StringOutput) +} + +// The rule that this rule is immediately before. If absent, this is the last rule. +func (o GetIsNetworkAclRulesRuleOutput) Before() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.Before }).(pulumi.StringOutput) +} + +// The destination IP address or CIDR block. +func (o GetIsNetworkAclRulesRuleOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.Destination }).(pulumi.StringOutput) +} + +// Whether the traffic to be matched is inbound or outbound. +func (o GetIsNetworkAclRulesRuleOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.Direction }).(pulumi.StringOutput) +} + +// The URL for this network ACL rule. +func (o GetIsNetworkAclRulesRuleOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.Href }).(pulumi.StringOutput) +} + +// The protocol ICMP +func (o GetIsNetworkAclRulesRuleOutput) Icmps() GetIsNetworkAclRulesRuleIcmpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) []GetIsNetworkAclRulesRuleIcmp { return v.Icmps }).(GetIsNetworkAclRulesRuleIcmpArrayOutput) +} + +// The IP version for this rule. +func (o GetIsNetworkAclRulesRuleOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.IpVersion }).(pulumi.StringOutput) +} + +// The user-defined name for this rule +func (o GetIsNetworkAclRulesRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.Name }).(pulumi.StringOutput) +} + +// The protocol to enforce. +func (o GetIsNetworkAclRulesRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The network acl rule id. +func (o GetIsNetworkAclRulesRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.RuleId }).(pulumi.StringOutput) +} + +// The source IP address or CIDR block. +func (o GetIsNetworkAclRulesRuleOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) string { return v.Source }).(pulumi.StringOutput) +} + +// TCP protocol +func (o GetIsNetworkAclRulesRuleOutput) Tcps() GetIsNetworkAclRulesRuleTcpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) []GetIsNetworkAclRulesRuleTcp { return v.Tcps }).(GetIsNetworkAclRulesRuleTcpArrayOutput) +} + +// UDP protocol +func (o GetIsNetworkAclRulesRuleOutput) Udps() GetIsNetworkAclRulesRuleUdpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRule) []GetIsNetworkAclRulesRuleUdp { return v.Udps }).(GetIsNetworkAclRulesRuleUdpArrayOutput) +} + +type GetIsNetworkAclRulesRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRulesRule)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesRuleArrayOutput) ToGetIsNetworkAclRulesRuleArrayOutput() GetIsNetworkAclRulesRuleArrayOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleArrayOutput) ToGetIsNetworkAclRulesRuleArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleArrayOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRulesRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRulesRule { + return vs[0].([]GetIsNetworkAclRulesRule)[vs[1].(int)] + }).(GetIsNetworkAclRulesRuleOutput) +} + +type GetIsNetworkAclRulesRuleIcmp struct { + // The ICMP traffic code to allow. Valid values from 0 to 255. + Code int `pulumi:"code"` + // The ICMP traffic type to allow. Valid values from 0 to 254. + Type int `pulumi:"type"` +} + +// GetIsNetworkAclRulesRuleIcmpInput is an input type that accepts GetIsNetworkAclRulesRuleIcmpArgs and GetIsNetworkAclRulesRuleIcmpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRulesRuleIcmpInput` via: +// +// GetIsNetworkAclRulesRuleIcmpArgs{...} +type GetIsNetworkAclRulesRuleIcmpInput interface { + pulumi.Input + + ToGetIsNetworkAclRulesRuleIcmpOutput() GetIsNetworkAclRulesRuleIcmpOutput + ToGetIsNetworkAclRulesRuleIcmpOutputWithContext(context.Context) GetIsNetworkAclRulesRuleIcmpOutput +} + +type GetIsNetworkAclRulesRuleIcmpArgs struct { + // The ICMP traffic code to allow. Valid values from 0 to 255. + Code pulumi.IntInput `pulumi:"code"` + // The ICMP traffic type to allow. Valid values from 0 to 254. + Type pulumi.IntInput `pulumi:"type"` +} + +func (GetIsNetworkAclRulesRuleIcmpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesRuleIcmp)(nil)).Elem() +} + +func (i GetIsNetworkAclRulesRuleIcmpArgs) ToGetIsNetworkAclRulesRuleIcmpOutput() GetIsNetworkAclRulesRuleIcmpOutput { + return i.ToGetIsNetworkAclRulesRuleIcmpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRulesRuleIcmpArgs) ToGetIsNetworkAclRulesRuleIcmpOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleIcmpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRulesRuleIcmpOutput) +} + +// GetIsNetworkAclRulesRuleIcmpArrayInput is an input type that accepts GetIsNetworkAclRulesRuleIcmpArray and GetIsNetworkAclRulesRuleIcmpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRulesRuleIcmpArrayInput` via: +// +// GetIsNetworkAclRulesRuleIcmpArray{ GetIsNetworkAclRulesRuleIcmpArgs{...} } +type GetIsNetworkAclRulesRuleIcmpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRulesRuleIcmpArrayOutput() GetIsNetworkAclRulesRuleIcmpArrayOutput + ToGetIsNetworkAclRulesRuleIcmpArrayOutputWithContext(context.Context) GetIsNetworkAclRulesRuleIcmpArrayOutput +} + +type GetIsNetworkAclRulesRuleIcmpArray []GetIsNetworkAclRulesRuleIcmpInput + +func (GetIsNetworkAclRulesRuleIcmpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRulesRuleIcmp)(nil)).Elem() +} + +func (i GetIsNetworkAclRulesRuleIcmpArray) ToGetIsNetworkAclRulesRuleIcmpArrayOutput() GetIsNetworkAclRulesRuleIcmpArrayOutput { + return i.ToGetIsNetworkAclRulesRuleIcmpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRulesRuleIcmpArray) ToGetIsNetworkAclRulesRuleIcmpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleIcmpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRulesRuleIcmpArrayOutput) +} + +type GetIsNetworkAclRulesRuleIcmpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesRuleIcmpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesRuleIcmp)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesRuleIcmpOutput) ToGetIsNetworkAclRulesRuleIcmpOutput() GetIsNetworkAclRulesRuleIcmpOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleIcmpOutput) ToGetIsNetworkAclRulesRuleIcmpOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleIcmpOutput { + return o +} + +// The ICMP traffic code to allow. Valid values from 0 to 255. +func (o GetIsNetworkAclRulesRuleIcmpOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleIcmp) int { return v.Code }).(pulumi.IntOutput) +} + +// The ICMP traffic type to allow. Valid values from 0 to 254. +func (o GetIsNetworkAclRulesRuleIcmpOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleIcmp) int { return v.Type }).(pulumi.IntOutput) +} + +type GetIsNetworkAclRulesRuleIcmpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesRuleIcmpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRulesRuleIcmp)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesRuleIcmpArrayOutput) ToGetIsNetworkAclRulesRuleIcmpArrayOutput() GetIsNetworkAclRulesRuleIcmpArrayOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleIcmpArrayOutput) ToGetIsNetworkAclRulesRuleIcmpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleIcmpArrayOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleIcmpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRulesRuleIcmpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRulesRuleIcmp { + return vs[0].([]GetIsNetworkAclRulesRuleIcmp)[vs[1].(int)] + }).(GetIsNetworkAclRulesRuleIcmpOutput) +} + +type GetIsNetworkAclRulesRuleTcp struct { + // The highest port in the range of ports to be matched + PortMax int `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin int `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax int `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin int `pulumi:"sourcePortMin"` +} + +// GetIsNetworkAclRulesRuleTcpInput is an input type that accepts GetIsNetworkAclRulesRuleTcpArgs and GetIsNetworkAclRulesRuleTcpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRulesRuleTcpInput` via: +// +// GetIsNetworkAclRulesRuleTcpArgs{...} +type GetIsNetworkAclRulesRuleTcpInput interface { + pulumi.Input + + ToGetIsNetworkAclRulesRuleTcpOutput() GetIsNetworkAclRulesRuleTcpOutput + ToGetIsNetworkAclRulesRuleTcpOutputWithContext(context.Context) GetIsNetworkAclRulesRuleTcpOutput +} + +type GetIsNetworkAclRulesRuleTcpArgs struct { + // The highest port in the range of ports to be matched + PortMax pulumi.IntInput `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin pulumi.IntInput `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax pulumi.IntInput `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin pulumi.IntInput `pulumi:"sourcePortMin"` +} + +func (GetIsNetworkAclRulesRuleTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesRuleTcp)(nil)).Elem() +} + +func (i GetIsNetworkAclRulesRuleTcpArgs) ToGetIsNetworkAclRulesRuleTcpOutput() GetIsNetworkAclRulesRuleTcpOutput { + return i.ToGetIsNetworkAclRulesRuleTcpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRulesRuleTcpArgs) ToGetIsNetworkAclRulesRuleTcpOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRulesRuleTcpOutput) +} + +// GetIsNetworkAclRulesRuleTcpArrayInput is an input type that accepts GetIsNetworkAclRulesRuleTcpArray and GetIsNetworkAclRulesRuleTcpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRulesRuleTcpArrayInput` via: +// +// GetIsNetworkAclRulesRuleTcpArray{ GetIsNetworkAclRulesRuleTcpArgs{...} } +type GetIsNetworkAclRulesRuleTcpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRulesRuleTcpArrayOutput() GetIsNetworkAclRulesRuleTcpArrayOutput + ToGetIsNetworkAclRulesRuleTcpArrayOutputWithContext(context.Context) GetIsNetworkAclRulesRuleTcpArrayOutput +} + +type GetIsNetworkAclRulesRuleTcpArray []GetIsNetworkAclRulesRuleTcpInput + +func (GetIsNetworkAclRulesRuleTcpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRulesRuleTcp)(nil)).Elem() +} + +func (i GetIsNetworkAclRulesRuleTcpArray) ToGetIsNetworkAclRulesRuleTcpArrayOutput() GetIsNetworkAclRulesRuleTcpArrayOutput { + return i.ToGetIsNetworkAclRulesRuleTcpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRulesRuleTcpArray) ToGetIsNetworkAclRulesRuleTcpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleTcpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRulesRuleTcpArrayOutput) +} + +type GetIsNetworkAclRulesRuleTcpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesRuleTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesRuleTcp)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesRuleTcpOutput) ToGetIsNetworkAclRulesRuleTcpOutput() GetIsNetworkAclRulesRuleTcpOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleTcpOutput) ToGetIsNetworkAclRulesRuleTcpOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleTcpOutput { + return o +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclRulesRuleTcpOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleTcp) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclRulesRuleTcpOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleTcp) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclRulesRuleTcpOutput) SourcePortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleTcp) int { return v.SourcePortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclRulesRuleTcpOutput) SourcePortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleTcp) int { return v.SourcePortMin }).(pulumi.IntOutput) +} + +type GetIsNetworkAclRulesRuleTcpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesRuleTcpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRulesRuleTcp)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesRuleTcpArrayOutput) ToGetIsNetworkAclRulesRuleTcpArrayOutput() GetIsNetworkAclRulesRuleTcpArrayOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleTcpArrayOutput) ToGetIsNetworkAclRulesRuleTcpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleTcpArrayOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleTcpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRulesRuleTcpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRulesRuleTcp { + return vs[0].([]GetIsNetworkAclRulesRuleTcp)[vs[1].(int)] + }).(GetIsNetworkAclRulesRuleTcpOutput) +} + +type GetIsNetworkAclRulesRuleUdp struct { + // The highest port in the range of ports to be matched + PortMax int `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin int `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax int `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin int `pulumi:"sourcePortMin"` +} + +// GetIsNetworkAclRulesRuleUdpInput is an input type that accepts GetIsNetworkAclRulesRuleUdpArgs and GetIsNetworkAclRulesRuleUdpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRulesRuleUdpInput` via: +// +// GetIsNetworkAclRulesRuleUdpArgs{...} +type GetIsNetworkAclRulesRuleUdpInput interface { + pulumi.Input + + ToGetIsNetworkAclRulesRuleUdpOutput() GetIsNetworkAclRulesRuleUdpOutput + ToGetIsNetworkAclRulesRuleUdpOutputWithContext(context.Context) GetIsNetworkAclRulesRuleUdpOutput +} + +type GetIsNetworkAclRulesRuleUdpArgs struct { + // The highest port in the range of ports to be matched + PortMax pulumi.IntInput `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin pulumi.IntInput `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax pulumi.IntInput `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin pulumi.IntInput `pulumi:"sourcePortMin"` +} + +func (GetIsNetworkAclRulesRuleUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesRuleUdp)(nil)).Elem() +} + +func (i GetIsNetworkAclRulesRuleUdpArgs) ToGetIsNetworkAclRulesRuleUdpOutput() GetIsNetworkAclRulesRuleUdpOutput { + return i.ToGetIsNetworkAclRulesRuleUdpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRulesRuleUdpArgs) ToGetIsNetworkAclRulesRuleUdpOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRulesRuleUdpOutput) +} + +// GetIsNetworkAclRulesRuleUdpArrayInput is an input type that accepts GetIsNetworkAclRulesRuleUdpArray and GetIsNetworkAclRulesRuleUdpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclRulesRuleUdpArrayInput` via: +// +// GetIsNetworkAclRulesRuleUdpArray{ GetIsNetworkAclRulesRuleUdpArgs{...} } +type GetIsNetworkAclRulesRuleUdpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclRulesRuleUdpArrayOutput() GetIsNetworkAclRulesRuleUdpArrayOutput + ToGetIsNetworkAclRulesRuleUdpArrayOutputWithContext(context.Context) GetIsNetworkAclRulesRuleUdpArrayOutput +} + +type GetIsNetworkAclRulesRuleUdpArray []GetIsNetworkAclRulesRuleUdpInput + +func (GetIsNetworkAclRulesRuleUdpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRulesRuleUdp)(nil)).Elem() +} + +func (i GetIsNetworkAclRulesRuleUdpArray) ToGetIsNetworkAclRulesRuleUdpArrayOutput() GetIsNetworkAclRulesRuleUdpArrayOutput { + return i.ToGetIsNetworkAclRulesRuleUdpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclRulesRuleUdpArray) ToGetIsNetworkAclRulesRuleUdpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleUdpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclRulesRuleUdpArrayOutput) +} + +type GetIsNetworkAclRulesRuleUdpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesRuleUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclRulesRuleUdp)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesRuleUdpOutput) ToGetIsNetworkAclRulesRuleUdpOutput() GetIsNetworkAclRulesRuleUdpOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleUdpOutput) ToGetIsNetworkAclRulesRuleUdpOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleUdpOutput { + return o +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclRulesRuleUdpOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleUdp) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclRulesRuleUdpOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleUdp) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclRulesRuleUdpOutput) SourcePortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleUdp) int { return v.SourcePortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclRulesRuleUdpOutput) SourcePortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclRulesRuleUdp) int { return v.SourcePortMin }).(pulumi.IntOutput) +} + +type GetIsNetworkAclRulesRuleUdpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclRulesRuleUdpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclRulesRuleUdp)(nil)).Elem() +} + +func (o GetIsNetworkAclRulesRuleUdpArrayOutput) ToGetIsNetworkAclRulesRuleUdpArrayOutput() GetIsNetworkAclRulesRuleUdpArrayOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleUdpArrayOutput) ToGetIsNetworkAclRulesRuleUdpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclRulesRuleUdpArrayOutput { + return o +} + +func (o GetIsNetworkAclRulesRuleUdpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclRulesRuleUdpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclRulesRuleUdp { + return vs[0].([]GetIsNetworkAclRulesRuleUdp)[vs[1].(int)] + }).(GetIsNetworkAclRulesRuleUdpOutput) +} + +type GetIsNetworkAclSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsNetworkAclSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` +} + +// GetIsNetworkAclSubnetInput is an input type that accepts GetIsNetworkAclSubnetArgs and GetIsNetworkAclSubnetOutput values. +// You can construct a concrete instance of `GetIsNetworkAclSubnetInput` via: +// +// GetIsNetworkAclSubnetArgs{...} +type GetIsNetworkAclSubnetInput interface { + pulumi.Input + + ToGetIsNetworkAclSubnetOutput() GetIsNetworkAclSubnetOutput + ToGetIsNetworkAclSubnetOutputWithContext(context.Context) GetIsNetworkAclSubnetOutput +} + +type GetIsNetworkAclSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsNetworkAclSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsNetworkAclSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclSubnet)(nil)).Elem() +} + +func (i GetIsNetworkAclSubnetArgs) ToGetIsNetworkAclSubnetOutput() GetIsNetworkAclSubnetOutput { + return i.ToGetIsNetworkAclSubnetOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclSubnetArgs) ToGetIsNetworkAclSubnetOutputWithContext(ctx context.Context) GetIsNetworkAclSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclSubnetOutput) +} + +// GetIsNetworkAclSubnetArrayInput is an input type that accepts GetIsNetworkAclSubnetArray and GetIsNetworkAclSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclSubnetArrayInput` via: +// +// GetIsNetworkAclSubnetArray{ GetIsNetworkAclSubnetArgs{...} } +type GetIsNetworkAclSubnetArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclSubnetArrayOutput() GetIsNetworkAclSubnetArrayOutput + ToGetIsNetworkAclSubnetArrayOutputWithContext(context.Context) GetIsNetworkAclSubnetArrayOutput +} + +type GetIsNetworkAclSubnetArray []GetIsNetworkAclSubnetInput + +func (GetIsNetworkAclSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclSubnet)(nil)).Elem() +} + +func (i GetIsNetworkAclSubnetArray) ToGetIsNetworkAclSubnetArrayOutput() GetIsNetworkAclSubnetArrayOutput { + return i.ToGetIsNetworkAclSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclSubnetArray) ToGetIsNetworkAclSubnetArrayOutputWithContext(ctx context.Context) GetIsNetworkAclSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclSubnetArrayOutput) +} + +type GetIsNetworkAclSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclSubnet)(nil)).Elem() +} + +func (o GetIsNetworkAclSubnetOutput) ToGetIsNetworkAclSubnetOutput() GetIsNetworkAclSubnetOutput { + return o +} + +func (o GetIsNetworkAclSubnetOutput) ToGetIsNetworkAclSubnetOutputWithContext(ctx context.Context) GetIsNetworkAclSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsNetworkAclSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsNetworkAclSubnetOutput) Deleteds() GetIsNetworkAclSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclSubnet) []GetIsNetworkAclSubnetDeleted { return v.Deleteds }).(GetIsNetworkAclSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsNetworkAclSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsNetworkAclSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsNetworkAclSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsNetworkAclSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclSubnet)(nil)).Elem() +} + +func (o GetIsNetworkAclSubnetArrayOutput) ToGetIsNetworkAclSubnetArrayOutput() GetIsNetworkAclSubnetArrayOutput { + return o +} + +func (o GetIsNetworkAclSubnetArrayOutput) ToGetIsNetworkAclSubnetArrayOutputWithContext(ctx context.Context) GetIsNetworkAclSubnetArrayOutput { + return o +} + +func (o GetIsNetworkAclSubnetArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclSubnet { + return vs[0].([]GetIsNetworkAclSubnet)[vs[1].(int)] + }).(GetIsNetworkAclSubnetOutput) +} + +type GetIsNetworkAclSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsNetworkAclSubnetDeletedInput is an input type that accepts GetIsNetworkAclSubnetDeletedArgs and GetIsNetworkAclSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsNetworkAclSubnetDeletedInput` via: +// +// GetIsNetworkAclSubnetDeletedArgs{...} +type GetIsNetworkAclSubnetDeletedInput interface { + pulumi.Input + + ToGetIsNetworkAclSubnetDeletedOutput() GetIsNetworkAclSubnetDeletedOutput + ToGetIsNetworkAclSubnetDeletedOutputWithContext(context.Context) GetIsNetworkAclSubnetDeletedOutput +} + +type GetIsNetworkAclSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsNetworkAclSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclSubnetDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclSubnetDeletedArgs) ToGetIsNetworkAclSubnetDeletedOutput() GetIsNetworkAclSubnetDeletedOutput { + return i.ToGetIsNetworkAclSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclSubnetDeletedArgs) ToGetIsNetworkAclSubnetDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclSubnetDeletedOutput) +} + +// GetIsNetworkAclSubnetDeletedArrayInput is an input type that accepts GetIsNetworkAclSubnetDeletedArray and GetIsNetworkAclSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclSubnetDeletedArrayInput` via: +// +// GetIsNetworkAclSubnetDeletedArray{ GetIsNetworkAclSubnetDeletedArgs{...} } +type GetIsNetworkAclSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclSubnetDeletedArrayOutput() GetIsNetworkAclSubnetDeletedArrayOutput + ToGetIsNetworkAclSubnetDeletedArrayOutputWithContext(context.Context) GetIsNetworkAclSubnetDeletedArrayOutput +} + +type GetIsNetworkAclSubnetDeletedArray []GetIsNetworkAclSubnetDeletedInput + +func (GetIsNetworkAclSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclSubnetDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclSubnetDeletedArray) ToGetIsNetworkAclSubnetDeletedArrayOutput() GetIsNetworkAclSubnetDeletedArrayOutput { + return i.ToGetIsNetworkAclSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclSubnetDeletedArray) ToGetIsNetworkAclSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclSubnetDeletedArrayOutput) +} + +type GetIsNetworkAclSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclSubnetDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclSubnetDeletedOutput) ToGetIsNetworkAclSubnetDeletedOutput() GetIsNetworkAclSubnetDeletedOutput { + return o +} + +func (o GetIsNetworkAclSubnetDeletedOutput) ToGetIsNetworkAclSubnetDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsNetworkAclSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsNetworkAclSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclSubnetDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclSubnetDeletedArrayOutput) ToGetIsNetworkAclSubnetDeletedArrayOutput() GetIsNetworkAclSubnetDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclSubnetDeletedArrayOutput) ToGetIsNetworkAclSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclSubnetDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclSubnetDeleted { + return vs[0].([]GetIsNetworkAclSubnetDeleted)[vs[1].(int)] + }).(GetIsNetworkAclSubnetDeletedOutput) +} + +type GetIsNetworkAclVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsNetworkAclVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` +} + +// GetIsNetworkAclVpcInput is an input type that accepts GetIsNetworkAclVpcArgs and GetIsNetworkAclVpcOutput values. +// You can construct a concrete instance of `GetIsNetworkAclVpcInput` via: +// +// GetIsNetworkAclVpcArgs{...} +type GetIsNetworkAclVpcInput interface { + pulumi.Input + + ToGetIsNetworkAclVpcOutput() GetIsNetworkAclVpcOutput + ToGetIsNetworkAclVpcOutputWithContext(context.Context) GetIsNetworkAclVpcOutput +} + +type GetIsNetworkAclVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsNetworkAclVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsNetworkAclVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclVpc)(nil)).Elem() +} + +func (i GetIsNetworkAclVpcArgs) ToGetIsNetworkAclVpcOutput() GetIsNetworkAclVpcOutput { + return i.ToGetIsNetworkAclVpcOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclVpcArgs) ToGetIsNetworkAclVpcOutputWithContext(ctx context.Context) GetIsNetworkAclVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclVpcOutput) +} + +// GetIsNetworkAclVpcArrayInput is an input type that accepts GetIsNetworkAclVpcArray and GetIsNetworkAclVpcArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclVpcArrayInput` via: +// +// GetIsNetworkAclVpcArray{ GetIsNetworkAclVpcArgs{...} } +type GetIsNetworkAclVpcArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclVpcArrayOutput() GetIsNetworkAclVpcArrayOutput + ToGetIsNetworkAclVpcArrayOutputWithContext(context.Context) GetIsNetworkAclVpcArrayOutput +} + +type GetIsNetworkAclVpcArray []GetIsNetworkAclVpcInput + +func (GetIsNetworkAclVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclVpc)(nil)).Elem() +} + +func (i GetIsNetworkAclVpcArray) ToGetIsNetworkAclVpcArrayOutput() GetIsNetworkAclVpcArrayOutput { + return i.ToGetIsNetworkAclVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclVpcArray) ToGetIsNetworkAclVpcArrayOutputWithContext(ctx context.Context) GetIsNetworkAclVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclVpcArrayOutput) +} + +type GetIsNetworkAclVpcOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclVpc)(nil)).Elem() +} + +func (o GetIsNetworkAclVpcOutput) ToGetIsNetworkAclVpcOutput() GetIsNetworkAclVpcOutput { + return o +} + +func (o GetIsNetworkAclVpcOutput) ToGetIsNetworkAclVpcOutputWithContext(ctx context.Context) GetIsNetworkAclVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsNetworkAclVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsNetworkAclVpcOutput) Deleteds() GetIsNetworkAclVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclVpc) []GetIsNetworkAclVpcDeleted { return v.Deleteds }).(GetIsNetworkAclVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsNetworkAclVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsNetworkAclVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsNetworkAclVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclVpc) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsNetworkAclVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclVpc)(nil)).Elem() +} + +func (o GetIsNetworkAclVpcArrayOutput) ToGetIsNetworkAclVpcArrayOutput() GetIsNetworkAclVpcArrayOutput { + return o +} + +func (o GetIsNetworkAclVpcArrayOutput) ToGetIsNetworkAclVpcArrayOutputWithContext(ctx context.Context) GetIsNetworkAclVpcArrayOutput { + return o +} + +func (o GetIsNetworkAclVpcArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclVpc { + return vs[0].([]GetIsNetworkAclVpc)[vs[1].(int)] + }).(GetIsNetworkAclVpcOutput) +} + +type GetIsNetworkAclVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsNetworkAclVpcDeletedInput is an input type that accepts GetIsNetworkAclVpcDeletedArgs and GetIsNetworkAclVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsNetworkAclVpcDeletedInput` via: +// +// GetIsNetworkAclVpcDeletedArgs{...} +type GetIsNetworkAclVpcDeletedInput interface { + pulumi.Input + + ToGetIsNetworkAclVpcDeletedOutput() GetIsNetworkAclVpcDeletedOutput + ToGetIsNetworkAclVpcDeletedOutputWithContext(context.Context) GetIsNetworkAclVpcDeletedOutput +} + +type GetIsNetworkAclVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsNetworkAclVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclVpcDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclVpcDeletedArgs) ToGetIsNetworkAclVpcDeletedOutput() GetIsNetworkAclVpcDeletedOutput { + return i.ToGetIsNetworkAclVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclVpcDeletedArgs) ToGetIsNetworkAclVpcDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclVpcDeletedOutput) +} + +// GetIsNetworkAclVpcDeletedArrayInput is an input type that accepts GetIsNetworkAclVpcDeletedArray and GetIsNetworkAclVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclVpcDeletedArrayInput` via: +// +// GetIsNetworkAclVpcDeletedArray{ GetIsNetworkAclVpcDeletedArgs{...} } +type GetIsNetworkAclVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclVpcDeletedArrayOutput() GetIsNetworkAclVpcDeletedArrayOutput + ToGetIsNetworkAclVpcDeletedArrayOutputWithContext(context.Context) GetIsNetworkAclVpcDeletedArrayOutput +} + +type GetIsNetworkAclVpcDeletedArray []GetIsNetworkAclVpcDeletedInput + +func (GetIsNetworkAclVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclVpcDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclVpcDeletedArray) ToGetIsNetworkAclVpcDeletedArrayOutput() GetIsNetworkAclVpcDeletedArrayOutput { + return i.ToGetIsNetworkAclVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclVpcDeletedArray) ToGetIsNetworkAclVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclVpcDeletedArrayOutput) +} + +type GetIsNetworkAclVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclVpcDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclVpcDeletedOutput) ToGetIsNetworkAclVpcDeletedOutput() GetIsNetworkAclVpcDeletedOutput { + return o +} + +func (o GetIsNetworkAclVpcDeletedOutput) ToGetIsNetworkAclVpcDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsNetworkAclVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsNetworkAclVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclVpcDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclVpcDeletedArrayOutput) ToGetIsNetworkAclVpcDeletedArrayOutput() GetIsNetworkAclVpcDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclVpcDeletedArrayOutput) ToGetIsNetworkAclVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclVpcDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclVpcDeleted { + return vs[0].([]GetIsNetworkAclVpcDeleted)[vs[1].(int)] + }).(GetIsNetworkAclVpcDeletedOutput) +} + +type GetIsNetworkAclsNetworkAcl struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The date and time that the network ACL was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this network ACL. + Crn string `pulumi:"crn"` + // The URL for this network ACL. + Href string `pulumi:"href"` + // The unique identifier for this network ACL. + Id string `pulumi:"id"` + // The user-defined name for this network ACL. + Name string `pulumi:"name"` + // The resource group for this network ACL. + ResourceGroups []GetIsNetworkAclsNetworkAclResourceGroup `pulumi:"resourceGroups"` + // The ordered rules for this network ACL. If no rules exist, all traffic will be denied. + Rules []GetIsNetworkAclsNetworkAclRule `pulumi:"rules"` + // The subnets to which this network ACL is attached. + Subnets []GetIsNetworkAclsNetworkAclSubnet `pulumi:"subnets"` + // The VPC this network ACL is a part of. + Vpcs []GetIsNetworkAclsNetworkAclVpc `pulumi:"vpcs"` +} + +// GetIsNetworkAclsNetworkAclInput is an input type that accepts GetIsNetworkAclsNetworkAclArgs and GetIsNetworkAclsNetworkAclOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclInput` via: +// +// GetIsNetworkAclsNetworkAclArgs{...} +type GetIsNetworkAclsNetworkAclInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclOutput() GetIsNetworkAclsNetworkAclOutput + ToGetIsNetworkAclsNetworkAclOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclOutput +} + +type GetIsNetworkAclsNetworkAclArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The date and time that the network ACL was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this network ACL. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this network ACL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network ACL. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this network ACL. + Name pulumi.StringInput `pulumi:"name"` + // The resource group for this network ACL. + ResourceGroups GetIsNetworkAclsNetworkAclResourceGroupArrayInput `pulumi:"resourceGroups"` + // The ordered rules for this network ACL. If no rules exist, all traffic will be denied. + Rules GetIsNetworkAclsNetworkAclRuleArrayInput `pulumi:"rules"` + // The subnets to which this network ACL is attached. + Subnets GetIsNetworkAclsNetworkAclSubnetArrayInput `pulumi:"subnets"` + // The VPC this network ACL is a part of. + Vpcs GetIsNetworkAclsNetworkAclVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsNetworkAclsNetworkAclArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAcl)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclArgs) ToGetIsNetworkAclsNetworkAclOutput() GetIsNetworkAclsNetworkAclOutput { + return i.ToGetIsNetworkAclsNetworkAclOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclArgs) ToGetIsNetworkAclsNetworkAclOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclOutput) +} + +// GetIsNetworkAclsNetworkAclArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclArray and GetIsNetworkAclsNetworkAclArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclArrayInput` via: +// +// GetIsNetworkAclsNetworkAclArray{ GetIsNetworkAclsNetworkAclArgs{...} } +type GetIsNetworkAclsNetworkAclArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclArrayOutput() GetIsNetworkAclsNetworkAclArrayOutput + ToGetIsNetworkAclsNetworkAclArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclArrayOutput +} + +type GetIsNetworkAclsNetworkAclArray []GetIsNetworkAclsNetworkAclInput + +func (GetIsNetworkAclsNetworkAclArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAcl)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclArray) ToGetIsNetworkAclsNetworkAclArrayOutput() GetIsNetworkAclsNetworkAclArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclArray) ToGetIsNetworkAclsNetworkAclArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclArrayOutput) +} + +type GetIsNetworkAclsNetworkAclOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAcl)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclOutput) ToGetIsNetworkAclsNetworkAclOutput() GetIsNetworkAclsNetworkAclOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclOutput) ToGetIsNetworkAclsNetworkAclOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclOutput { + return o +} + +// List of access tags +func (o GetIsNetworkAclsNetworkAclOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The date and time that the network ACL was created. +func (o GetIsNetworkAclsNetworkAclOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this network ACL. +func (o GetIsNetworkAclsNetworkAclOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this network ACL. +func (o GetIsNetworkAclsNetworkAclOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network ACL. +func (o GetIsNetworkAclsNetworkAclOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this network ACL. +func (o GetIsNetworkAclsNetworkAclOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this network ACL. +func (o GetIsNetworkAclsNetworkAclOutput) ResourceGroups() GetIsNetworkAclsNetworkAclResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) []GetIsNetworkAclsNetworkAclResourceGroup { return v.ResourceGroups }).(GetIsNetworkAclsNetworkAclResourceGroupArrayOutput) +} + +// The ordered rules for this network ACL. If no rules exist, all traffic will be denied. +func (o GetIsNetworkAclsNetworkAclOutput) Rules() GetIsNetworkAclsNetworkAclRuleArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) []GetIsNetworkAclsNetworkAclRule { return v.Rules }).(GetIsNetworkAclsNetworkAclRuleArrayOutput) +} + +// The subnets to which this network ACL is attached. +func (o GetIsNetworkAclsNetworkAclOutput) Subnets() GetIsNetworkAclsNetworkAclSubnetArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) []GetIsNetworkAclsNetworkAclSubnet { return v.Subnets }).(GetIsNetworkAclsNetworkAclSubnetArrayOutput) +} + +// The VPC this network ACL is a part of. +func (o GetIsNetworkAclsNetworkAclOutput) Vpcs() GetIsNetworkAclsNetworkAclVpcArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAcl) []GetIsNetworkAclsNetworkAclVpc { return v.Vpcs }).(GetIsNetworkAclsNetworkAclVpcArrayOutput) +} + +type GetIsNetworkAclsNetworkAclArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAcl)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclArrayOutput) ToGetIsNetworkAclsNetworkAclArrayOutput() GetIsNetworkAclsNetworkAclArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclArrayOutput) ToGetIsNetworkAclsNetworkAclArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAcl { + return vs[0].([]GetIsNetworkAclsNetworkAcl)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclOutput) +} + +type GetIsNetworkAclsNetworkAclResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsNetworkAclsNetworkAclResourceGroupInput is an input type that accepts GetIsNetworkAclsNetworkAclResourceGroupArgs and GetIsNetworkAclsNetworkAclResourceGroupOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclResourceGroupInput` via: +// +// GetIsNetworkAclsNetworkAclResourceGroupArgs{...} +type GetIsNetworkAclsNetworkAclResourceGroupInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclResourceGroupOutput() GetIsNetworkAclsNetworkAclResourceGroupOutput + ToGetIsNetworkAclsNetworkAclResourceGroupOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclResourceGroupOutput +} + +type GetIsNetworkAclsNetworkAclResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsNetworkAclsNetworkAclResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclResourceGroup)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclResourceGroupArgs) ToGetIsNetworkAclsNetworkAclResourceGroupOutput() GetIsNetworkAclsNetworkAclResourceGroupOutput { + return i.ToGetIsNetworkAclsNetworkAclResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclResourceGroupArgs) ToGetIsNetworkAclsNetworkAclResourceGroupOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclResourceGroupOutput) +} + +// GetIsNetworkAclsNetworkAclResourceGroupArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclResourceGroupArray and GetIsNetworkAclsNetworkAclResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclResourceGroupArrayInput` via: +// +// GetIsNetworkAclsNetworkAclResourceGroupArray{ GetIsNetworkAclsNetworkAclResourceGroupArgs{...} } +type GetIsNetworkAclsNetworkAclResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclResourceGroupArrayOutput() GetIsNetworkAclsNetworkAclResourceGroupArrayOutput + ToGetIsNetworkAclsNetworkAclResourceGroupArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclResourceGroupArrayOutput +} + +type GetIsNetworkAclsNetworkAclResourceGroupArray []GetIsNetworkAclsNetworkAclResourceGroupInput + +func (GetIsNetworkAclsNetworkAclResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclResourceGroup)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclResourceGroupArray) ToGetIsNetworkAclsNetworkAclResourceGroupArrayOutput() GetIsNetworkAclsNetworkAclResourceGroupArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclResourceGroupArray) ToGetIsNetworkAclsNetworkAclResourceGroupArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclResourceGroupArrayOutput) +} + +type GetIsNetworkAclsNetworkAclResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclResourceGroup)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclResourceGroupOutput) ToGetIsNetworkAclsNetworkAclResourceGroupOutput() GetIsNetworkAclsNetworkAclResourceGroupOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclResourceGroupOutput) ToGetIsNetworkAclsNetworkAclResourceGroupOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsNetworkAclsNetworkAclResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsNetworkAclsNetworkAclResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsNetworkAclsNetworkAclResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsNetworkAclsNetworkAclResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclResourceGroup)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclResourceGroupArrayOutput) ToGetIsNetworkAclsNetworkAclResourceGroupArrayOutput() GetIsNetworkAclsNetworkAclResourceGroupArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclResourceGroupArrayOutput) ToGetIsNetworkAclsNetworkAclResourceGroupArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclResourceGroupArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclResourceGroup { + return vs[0].([]GetIsNetworkAclsNetworkAclResourceGroup)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclResourceGroupOutput) +} + +type GetIsNetworkAclsNetworkAclRule struct { + // Whether to allow or deny matching traffic. + Action string `pulumi:"action"` + // The rule that this rule is immediately before. In a rule collection, this alwaysrefers to the next item in the collection. If absent, this is the last rule. + Befores []GetIsNetworkAclsNetworkAclRuleBefore `pulumi:"befores"` + // The date and time that the rule was created. + CreatedAt string `pulumi:"createdAt"` + // The destination CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. + Destination string `pulumi:"destination"` + // Whether the traffic to be matched is `inbound` or `outbound`. + Direction string `pulumi:"direction"` + // The URL for this network ACL rule. + Href string `pulumi:"href"` + // The protocol ICMP + Icmps []GetIsNetworkAclsNetworkAclRuleIcmp `pulumi:"icmps"` + // The unique identifier for this network ACL rule. + Id string `pulumi:"id"` + // The IP version for this rule. + IpVersion string `pulumi:"ipVersion"` + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The protocol to enforce. + Protocol string `pulumi:"protocol"` + // The source CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. + Source string `pulumi:"source"` + // TCP protocol + Tcps []GetIsNetworkAclsNetworkAclRuleTcp `pulumi:"tcps"` + // UDP protocol + Udps []GetIsNetworkAclsNetworkAclRuleUdp `pulumi:"udps"` +} + +// GetIsNetworkAclsNetworkAclRuleInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleArgs and GetIsNetworkAclsNetworkAclRuleOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleInput` via: +// +// GetIsNetworkAclsNetworkAclRuleArgs{...} +type GetIsNetworkAclsNetworkAclRuleInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleOutput() GetIsNetworkAclsNetworkAclRuleOutput + ToGetIsNetworkAclsNetworkAclRuleOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleOutput +} + +type GetIsNetworkAclsNetworkAclRuleArgs struct { + // Whether to allow or deny matching traffic. + Action pulumi.StringInput `pulumi:"action"` + // The rule that this rule is immediately before. In a rule collection, this alwaysrefers to the next item in the collection. If absent, this is the last rule. + Befores GetIsNetworkAclsNetworkAclRuleBeforeArrayInput `pulumi:"befores"` + // The date and time that the rule was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The destination CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. + Destination pulumi.StringInput `pulumi:"destination"` + // Whether the traffic to be matched is `inbound` or `outbound`. + Direction pulumi.StringInput `pulumi:"direction"` + // The URL for this network ACL rule. + Href pulumi.StringInput `pulumi:"href"` + // The protocol ICMP + Icmps GetIsNetworkAclsNetworkAclRuleIcmpArrayInput `pulumi:"icmps"` + // The unique identifier for this network ACL rule. + Id pulumi.StringInput `pulumi:"id"` + // The IP version for this rule. + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + // The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The protocol to enforce. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The source CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. + Source pulumi.StringInput `pulumi:"source"` + // TCP protocol + Tcps GetIsNetworkAclsNetworkAclRuleTcpArrayInput `pulumi:"tcps"` + // UDP protocol + Udps GetIsNetworkAclsNetworkAclRuleUdpArrayInput `pulumi:"udps"` +} + +func (GetIsNetworkAclsNetworkAclRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRule)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleArgs) ToGetIsNetworkAclsNetworkAclRuleOutput() GetIsNetworkAclsNetworkAclRuleOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleArgs) ToGetIsNetworkAclsNetworkAclRuleOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleOutput) +} + +// GetIsNetworkAclsNetworkAclRuleArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleArray and GetIsNetworkAclsNetworkAclRuleArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleArrayInput` via: +// +// GetIsNetworkAclsNetworkAclRuleArray{ GetIsNetworkAclsNetworkAclRuleArgs{...} } +type GetIsNetworkAclsNetworkAclRuleArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleArrayOutput() GetIsNetworkAclsNetworkAclRuleArrayOutput + ToGetIsNetworkAclsNetworkAclRuleArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleArrayOutput +} + +type GetIsNetworkAclsNetworkAclRuleArray []GetIsNetworkAclsNetworkAclRuleInput + +func (GetIsNetworkAclsNetworkAclRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRule)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleArray) ToGetIsNetworkAclsNetworkAclRuleArrayOutput() GetIsNetworkAclsNetworkAclRuleArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleArray) ToGetIsNetworkAclsNetworkAclRuleArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleArrayOutput) +} + +type GetIsNetworkAclsNetworkAclRuleOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRule)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleOutput) ToGetIsNetworkAclsNetworkAclRuleOutput() GetIsNetworkAclsNetworkAclRuleOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleOutput) ToGetIsNetworkAclsNetworkAclRuleOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleOutput { + return o +} + +// Whether to allow or deny matching traffic. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.Action }).(pulumi.StringOutput) +} + +// The rule that this rule is immediately before. In a rule collection, this alwaysrefers to the next item in the collection. If absent, this is the last rule. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Befores() GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) []GetIsNetworkAclsNetworkAclRuleBefore { return v.Befores }).(GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput) +} + +// The date and time that the rule was created. +func (o GetIsNetworkAclsNetworkAclRuleOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The destination CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.Destination }).(pulumi.StringOutput) +} + +// Whether the traffic to be matched is `inbound` or `outbound`. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.Direction }).(pulumi.StringOutput) +} + +// The URL for this network ACL rule. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.Href }).(pulumi.StringOutput) +} + +// The protocol ICMP +func (o GetIsNetworkAclsNetworkAclRuleOutput) Icmps() GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) []GetIsNetworkAclsNetworkAclRuleIcmp { return v.Icmps }).(GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput) +} + +// The unique identifier for this network ACL rule. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.Id }).(pulumi.StringOutput) +} + +// The IP version for this rule. +func (o GetIsNetworkAclsNetworkAclRuleOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.IpVersion }).(pulumi.StringOutput) +} + +// The user-defined name for this rule. Names must be unique within the network ACL the rule resides in. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.Name }).(pulumi.StringOutput) +} + +// The protocol to enforce. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The source CIDR block. The CIDR block `0.0.0.0/0` applies to all addresses. +func (o GetIsNetworkAclsNetworkAclRuleOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) string { return v.Source }).(pulumi.StringOutput) +} + +// TCP protocol +func (o GetIsNetworkAclsNetworkAclRuleOutput) Tcps() GetIsNetworkAclsNetworkAclRuleTcpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) []GetIsNetworkAclsNetworkAclRuleTcp { return v.Tcps }).(GetIsNetworkAclsNetworkAclRuleTcpArrayOutput) +} + +// UDP protocol +func (o GetIsNetworkAclsNetworkAclRuleOutput) Udps() GetIsNetworkAclsNetworkAclRuleUdpArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRule) []GetIsNetworkAclsNetworkAclRuleUdp { return v.Udps }).(GetIsNetworkAclsNetworkAclRuleUdpArrayOutput) +} + +type GetIsNetworkAclsNetworkAclRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRule)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleArrayOutput) ToGetIsNetworkAclsNetworkAclRuleArrayOutput() GetIsNetworkAclsNetworkAclRuleArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleArrayOutput) ToGetIsNetworkAclsNetworkAclRuleArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclRule { + return vs[0].([]GetIsNetworkAclsNetworkAclRule)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclRuleOutput) +} + +type GetIsNetworkAclsNetworkAclRuleBefore struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsNetworkAclsNetworkAclRuleBeforeDeleted `pulumi:"deleteds"` + // The URL for this network ACL rule. + Href string `pulumi:"href"` + // The unique identifier for this network ACL rule. + Id string `pulumi:"id"` + // The user-defined name for this network ACL rule. + Name string `pulumi:"name"` +} + +// GetIsNetworkAclsNetworkAclRuleBeforeInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleBeforeArgs and GetIsNetworkAclsNetworkAclRuleBeforeOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleBeforeInput` via: +// +// GetIsNetworkAclsNetworkAclRuleBeforeArgs{...} +type GetIsNetworkAclsNetworkAclRuleBeforeInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleBeforeOutput() GetIsNetworkAclsNetworkAclRuleBeforeOutput + ToGetIsNetworkAclsNetworkAclRuleBeforeOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleBeforeOutput +} + +type GetIsNetworkAclsNetworkAclRuleBeforeArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network ACL rule. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network ACL rule. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this network ACL rule. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsNetworkAclsNetworkAclRuleBeforeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleBefore)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleBeforeArgs) ToGetIsNetworkAclsNetworkAclRuleBeforeOutput() GetIsNetworkAclsNetworkAclRuleBeforeOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleBeforeOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleBeforeArgs) ToGetIsNetworkAclsNetworkAclRuleBeforeOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleBeforeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleBeforeOutput) +} + +// GetIsNetworkAclsNetworkAclRuleBeforeArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleBeforeArray and GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleBeforeArrayInput` via: +// +// GetIsNetworkAclsNetworkAclRuleBeforeArray{ GetIsNetworkAclsNetworkAclRuleBeforeArgs{...} } +type GetIsNetworkAclsNetworkAclRuleBeforeArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleBeforeArrayOutput() GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput + ToGetIsNetworkAclsNetworkAclRuleBeforeArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput +} + +type GetIsNetworkAclsNetworkAclRuleBeforeArray []GetIsNetworkAclsNetworkAclRuleBeforeInput + +func (GetIsNetworkAclsNetworkAclRuleBeforeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleBefore)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleBeforeArray) ToGetIsNetworkAclsNetworkAclRuleBeforeArrayOutput() GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleBeforeArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleBeforeArray) ToGetIsNetworkAclsNetworkAclRuleBeforeArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput) +} + +type GetIsNetworkAclsNetworkAclRuleBeforeOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleBeforeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleBefore)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeOutput) ToGetIsNetworkAclsNetworkAclRuleBeforeOutput() GetIsNetworkAclsNetworkAclRuleBeforeOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeOutput) ToGetIsNetworkAclsNetworkAclRuleBeforeOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleBeforeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsNetworkAclsNetworkAclRuleBeforeOutput) Deleteds() GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleBefore) []GetIsNetworkAclsNetworkAclRuleBeforeDeleted { + return v.Deleteds + }).(GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput) +} + +// The URL for this network ACL rule. +func (o GetIsNetworkAclsNetworkAclRuleBeforeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleBefore) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network ACL rule. +func (o GetIsNetworkAclsNetworkAclRuleBeforeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleBefore) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this network ACL rule. +func (o GetIsNetworkAclsNetworkAclRuleBeforeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleBefore) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleBefore)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput) ToGetIsNetworkAclsNetworkAclRuleBeforeArrayOutput() GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput) ToGetIsNetworkAclsNetworkAclRuleBeforeArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclRuleBeforeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclRuleBefore { + return vs[0].([]GetIsNetworkAclsNetworkAclRuleBefore)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclRuleBeforeOutput) +} + +type GetIsNetworkAclsNetworkAclRuleBeforeDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsNetworkAclsNetworkAclRuleBeforeDeletedInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleBeforeDeletedArgs and GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleBeforeDeletedInput` via: +// +// GetIsNetworkAclsNetworkAclRuleBeforeDeletedArgs{...} +type GetIsNetworkAclsNetworkAclRuleBeforeDeletedInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput() GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput + ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput +} + +type GetIsNetworkAclsNetworkAclRuleBeforeDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsNetworkAclsNetworkAclRuleBeforeDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleBeforeDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleBeforeDeletedArgs) ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput() GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleBeforeDeletedArgs) ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput) +} + +// GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleBeforeDeletedArray and GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayInput` via: +// +// GetIsNetworkAclsNetworkAclRuleBeforeDeletedArray{ GetIsNetworkAclsNetworkAclRuleBeforeDeletedArgs{...} } +type GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput() GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput + ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput +} + +type GetIsNetworkAclsNetworkAclRuleBeforeDeletedArray []GetIsNetworkAclsNetworkAclRuleBeforeDeletedInput + +func (GetIsNetworkAclsNetworkAclRuleBeforeDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleBeforeDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleBeforeDeletedArray) ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput() GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleBeforeDeletedArray) ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput) +} + +type GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleBeforeDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput) ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput() GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput) ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleBeforeDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleBeforeDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput) ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput() GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput) ToGetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclRuleBeforeDeleted { + return vs[0].([]GetIsNetworkAclsNetworkAclRuleBeforeDeleted)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput) +} + +type GetIsNetworkAclsNetworkAclRuleIcmp struct { + // The ICMP traffic code to allow. Valid values from 0 to 255. + Code int `pulumi:"code"` + // The ICMP traffic type to allow. Valid values from 0 to 254. + Type int `pulumi:"type"` +} + +// GetIsNetworkAclsNetworkAclRuleIcmpInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleIcmpArgs and GetIsNetworkAclsNetworkAclRuleIcmpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleIcmpInput` via: +// +// GetIsNetworkAclsNetworkAclRuleIcmpArgs{...} +type GetIsNetworkAclsNetworkAclRuleIcmpInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleIcmpOutput() GetIsNetworkAclsNetworkAclRuleIcmpOutput + ToGetIsNetworkAclsNetworkAclRuleIcmpOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleIcmpOutput +} + +type GetIsNetworkAclsNetworkAclRuleIcmpArgs struct { + // The ICMP traffic code to allow. Valid values from 0 to 255. + Code pulumi.IntInput `pulumi:"code"` + // The ICMP traffic type to allow. Valid values from 0 to 254. + Type pulumi.IntInput `pulumi:"type"` +} + +func (GetIsNetworkAclsNetworkAclRuleIcmpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleIcmpArgs) ToGetIsNetworkAclsNetworkAclRuleIcmpOutput() GetIsNetworkAclsNetworkAclRuleIcmpOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleIcmpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleIcmpArgs) ToGetIsNetworkAclsNetworkAclRuleIcmpOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleIcmpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleIcmpOutput) +} + +// GetIsNetworkAclsNetworkAclRuleIcmpArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleIcmpArray and GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleIcmpArrayInput` via: +// +// GetIsNetworkAclsNetworkAclRuleIcmpArray{ GetIsNetworkAclsNetworkAclRuleIcmpArgs{...} } +type GetIsNetworkAclsNetworkAclRuleIcmpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleIcmpArrayOutput() GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput + ToGetIsNetworkAclsNetworkAclRuleIcmpArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput +} + +type GetIsNetworkAclsNetworkAclRuleIcmpArray []GetIsNetworkAclsNetworkAclRuleIcmpInput + +func (GetIsNetworkAclsNetworkAclRuleIcmpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleIcmpArray) ToGetIsNetworkAclsNetworkAclRuleIcmpArrayOutput() GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleIcmpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleIcmpArray) ToGetIsNetworkAclsNetworkAclRuleIcmpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput) +} + +type GetIsNetworkAclsNetworkAclRuleIcmpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleIcmpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleIcmpOutput) ToGetIsNetworkAclsNetworkAclRuleIcmpOutput() GetIsNetworkAclsNetworkAclRuleIcmpOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleIcmpOutput) ToGetIsNetworkAclsNetworkAclRuleIcmpOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleIcmpOutput { + return o +} + +// The ICMP traffic code to allow. Valid values from 0 to 255. +func (o GetIsNetworkAclsNetworkAclRuleIcmpOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleIcmp) int { return v.Code }).(pulumi.IntOutput) +} + +// The ICMP traffic type to allow. Valid values from 0 to 254. +func (o GetIsNetworkAclsNetworkAclRuleIcmpOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleIcmp) int { return v.Type }).(pulumi.IntOutput) +} + +type GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleIcmp)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput) ToGetIsNetworkAclsNetworkAclRuleIcmpArrayOutput() GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput) ToGetIsNetworkAclsNetworkAclRuleIcmpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclRuleIcmpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclRuleIcmp { + return vs[0].([]GetIsNetworkAclsNetworkAclRuleIcmp)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclRuleIcmpOutput) +} + +type GetIsNetworkAclsNetworkAclRuleTcp struct { + // The highest port in the range of ports to be matched + PortMax int `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin int `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax int `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin int `pulumi:"sourcePortMin"` +} + +// GetIsNetworkAclsNetworkAclRuleTcpInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleTcpArgs and GetIsNetworkAclsNetworkAclRuleTcpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleTcpInput` via: +// +// GetIsNetworkAclsNetworkAclRuleTcpArgs{...} +type GetIsNetworkAclsNetworkAclRuleTcpInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleTcpOutput() GetIsNetworkAclsNetworkAclRuleTcpOutput + ToGetIsNetworkAclsNetworkAclRuleTcpOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleTcpOutput +} + +type GetIsNetworkAclsNetworkAclRuleTcpArgs struct { + // The highest port in the range of ports to be matched + PortMax pulumi.IntInput `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin pulumi.IntInput `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax pulumi.IntInput `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin pulumi.IntInput `pulumi:"sourcePortMin"` +} + +func (GetIsNetworkAclsNetworkAclRuleTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleTcp)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleTcpArgs) ToGetIsNetworkAclsNetworkAclRuleTcpOutput() GetIsNetworkAclsNetworkAclRuleTcpOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleTcpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleTcpArgs) ToGetIsNetworkAclsNetworkAclRuleTcpOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleTcpOutput) +} + +// GetIsNetworkAclsNetworkAclRuleTcpArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleTcpArray and GetIsNetworkAclsNetworkAclRuleTcpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleTcpArrayInput` via: +// +// GetIsNetworkAclsNetworkAclRuleTcpArray{ GetIsNetworkAclsNetworkAclRuleTcpArgs{...} } +type GetIsNetworkAclsNetworkAclRuleTcpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleTcpArrayOutput() GetIsNetworkAclsNetworkAclRuleTcpArrayOutput + ToGetIsNetworkAclsNetworkAclRuleTcpArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleTcpArrayOutput +} + +type GetIsNetworkAclsNetworkAclRuleTcpArray []GetIsNetworkAclsNetworkAclRuleTcpInput + +func (GetIsNetworkAclsNetworkAclRuleTcpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleTcp)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleTcpArray) ToGetIsNetworkAclsNetworkAclRuleTcpArrayOutput() GetIsNetworkAclsNetworkAclRuleTcpArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleTcpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleTcpArray) ToGetIsNetworkAclsNetworkAclRuleTcpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleTcpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleTcpArrayOutput) +} + +type GetIsNetworkAclsNetworkAclRuleTcpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleTcp)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleTcpOutput) ToGetIsNetworkAclsNetworkAclRuleTcpOutput() GetIsNetworkAclsNetworkAclRuleTcpOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleTcpOutput) ToGetIsNetworkAclsNetworkAclRuleTcpOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleTcpOutput { + return o +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclsNetworkAclRuleTcpOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleTcp) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclsNetworkAclRuleTcpOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleTcp) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclsNetworkAclRuleTcpOutput) SourcePortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleTcp) int { return v.SourcePortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclsNetworkAclRuleTcpOutput) SourcePortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleTcp) int { return v.SourcePortMin }).(pulumi.IntOutput) +} + +type GetIsNetworkAclsNetworkAclRuleTcpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleTcpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleTcp)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleTcpArrayOutput) ToGetIsNetworkAclsNetworkAclRuleTcpArrayOutput() GetIsNetworkAclsNetworkAclRuleTcpArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleTcpArrayOutput) ToGetIsNetworkAclsNetworkAclRuleTcpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleTcpArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleTcpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclRuleTcpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclRuleTcp { + return vs[0].([]GetIsNetworkAclsNetworkAclRuleTcp)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclRuleTcpOutput) +} + +type GetIsNetworkAclsNetworkAclRuleUdp struct { + // The highest port in the range of ports to be matched + PortMax int `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin int `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax int `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin int `pulumi:"sourcePortMin"` +} + +// GetIsNetworkAclsNetworkAclRuleUdpInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleUdpArgs and GetIsNetworkAclsNetworkAclRuleUdpOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleUdpInput` via: +// +// GetIsNetworkAclsNetworkAclRuleUdpArgs{...} +type GetIsNetworkAclsNetworkAclRuleUdpInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleUdpOutput() GetIsNetworkAclsNetworkAclRuleUdpOutput + ToGetIsNetworkAclsNetworkAclRuleUdpOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleUdpOutput +} + +type GetIsNetworkAclsNetworkAclRuleUdpArgs struct { + // The highest port in the range of ports to be matched + PortMax pulumi.IntInput `pulumi:"portMax"` + // The lowest port in the range of ports to be matched + PortMin pulumi.IntInput `pulumi:"portMin"` + // The highest port in the range of ports to be matched + SourcePortMax pulumi.IntInput `pulumi:"sourcePortMax"` + // The lowest port in the range of ports to be matched + SourcePortMin pulumi.IntInput `pulumi:"sourcePortMin"` +} + +func (GetIsNetworkAclsNetworkAclRuleUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleUdp)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleUdpArgs) ToGetIsNetworkAclsNetworkAclRuleUdpOutput() GetIsNetworkAclsNetworkAclRuleUdpOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleUdpOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleUdpArgs) ToGetIsNetworkAclsNetworkAclRuleUdpOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleUdpOutput) +} + +// GetIsNetworkAclsNetworkAclRuleUdpArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclRuleUdpArray and GetIsNetworkAclsNetworkAclRuleUdpArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclRuleUdpArrayInput` via: +// +// GetIsNetworkAclsNetworkAclRuleUdpArray{ GetIsNetworkAclsNetworkAclRuleUdpArgs{...} } +type GetIsNetworkAclsNetworkAclRuleUdpArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclRuleUdpArrayOutput() GetIsNetworkAclsNetworkAclRuleUdpArrayOutput + ToGetIsNetworkAclsNetworkAclRuleUdpArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclRuleUdpArrayOutput +} + +type GetIsNetworkAclsNetworkAclRuleUdpArray []GetIsNetworkAclsNetworkAclRuleUdpInput + +func (GetIsNetworkAclsNetworkAclRuleUdpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleUdp)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclRuleUdpArray) ToGetIsNetworkAclsNetworkAclRuleUdpArrayOutput() GetIsNetworkAclsNetworkAclRuleUdpArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclRuleUdpArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclRuleUdpArray) ToGetIsNetworkAclsNetworkAclRuleUdpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleUdpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclRuleUdpArrayOutput) +} + +type GetIsNetworkAclsNetworkAclRuleUdpOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleUdp)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleUdpOutput) ToGetIsNetworkAclsNetworkAclRuleUdpOutput() GetIsNetworkAclsNetworkAclRuleUdpOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleUdpOutput) ToGetIsNetworkAclsNetworkAclRuleUdpOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleUdpOutput { + return o +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclsNetworkAclRuleUdpOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleUdp) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclsNetworkAclRuleUdpOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleUdp) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The highest port in the range of ports to be matched +func (o GetIsNetworkAclsNetworkAclRuleUdpOutput) SourcePortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleUdp) int { return v.SourcePortMax }).(pulumi.IntOutput) +} + +// The lowest port in the range of ports to be matched +func (o GetIsNetworkAclsNetworkAclRuleUdpOutput) SourcePortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclRuleUdp) int { return v.SourcePortMin }).(pulumi.IntOutput) +} + +type GetIsNetworkAclsNetworkAclRuleUdpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclRuleUdpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclRuleUdp)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclRuleUdpArrayOutput) ToGetIsNetworkAclsNetworkAclRuleUdpArrayOutput() GetIsNetworkAclsNetworkAclRuleUdpArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleUdpArrayOutput) ToGetIsNetworkAclsNetworkAclRuleUdpArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclRuleUdpArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclRuleUdpArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclRuleUdpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclRuleUdp { + return vs[0].([]GetIsNetworkAclsNetworkAclRuleUdp)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclRuleUdpOutput) +} + +type GetIsNetworkAclsNetworkAclSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsNetworkAclsNetworkAclSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` +} + +// GetIsNetworkAclsNetworkAclSubnetInput is an input type that accepts GetIsNetworkAclsNetworkAclSubnetArgs and GetIsNetworkAclsNetworkAclSubnetOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclSubnetInput` via: +// +// GetIsNetworkAclsNetworkAclSubnetArgs{...} +type GetIsNetworkAclsNetworkAclSubnetInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclSubnetOutput() GetIsNetworkAclsNetworkAclSubnetOutput + ToGetIsNetworkAclsNetworkAclSubnetOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclSubnetOutput +} + +type GetIsNetworkAclsNetworkAclSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsNetworkAclsNetworkAclSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsNetworkAclsNetworkAclSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclSubnet)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclSubnetArgs) ToGetIsNetworkAclsNetworkAclSubnetOutput() GetIsNetworkAclsNetworkAclSubnetOutput { + return i.ToGetIsNetworkAclsNetworkAclSubnetOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclSubnetArgs) ToGetIsNetworkAclsNetworkAclSubnetOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclSubnetOutput) +} + +// GetIsNetworkAclsNetworkAclSubnetArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclSubnetArray and GetIsNetworkAclsNetworkAclSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclSubnetArrayInput` via: +// +// GetIsNetworkAclsNetworkAclSubnetArray{ GetIsNetworkAclsNetworkAclSubnetArgs{...} } +type GetIsNetworkAclsNetworkAclSubnetArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclSubnetArrayOutput() GetIsNetworkAclsNetworkAclSubnetArrayOutput + ToGetIsNetworkAclsNetworkAclSubnetArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclSubnetArrayOutput +} + +type GetIsNetworkAclsNetworkAclSubnetArray []GetIsNetworkAclsNetworkAclSubnetInput + +func (GetIsNetworkAclsNetworkAclSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclSubnet)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclSubnetArray) ToGetIsNetworkAclsNetworkAclSubnetArrayOutput() GetIsNetworkAclsNetworkAclSubnetArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclSubnetArray) ToGetIsNetworkAclsNetworkAclSubnetArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclSubnetArrayOutput) +} + +type GetIsNetworkAclsNetworkAclSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclSubnet)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclSubnetOutput) ToGetIsNetworkAclsNetworkAclSubnetOutput() GetIsNetworkAclsNetworkAclSubnetOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclSubnetOutput) ToGetIsNetworkAclsNetworkAclSubnetOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsNetworkAclsNetworkAclSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsNetworkAclsNetworkAclSubnetOutput) Deleteds() GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclSubnet) []GetIsNetworkAclsNetworkAclSubnetDeleted { return v.Deleteds }).(GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsNetworkAclsNetworkAclSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsNetworkAclsNetworkAclSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsNetworkAclsNetworkAclSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsNetworkAclsNetworkAclSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclSubnet)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclSubnetArrayOutput) ToGetIsNetworkAclsNetworkAclSubnetArrayOutput() GetIsNetworkAclsNetworkAclSubnetArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclSubnetArrayOutput) ToGetIsNetworkAclsNetworkAclSubnetArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclSubnetArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclSubnetArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclSubnet { + return vs[0].([]GetIsNetworkAclsNetworkAclSubnet)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclSubnetOutput) +} + +type GetIsNetworkAclsNetworkAclSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsNetworkAclsNetworkAclSubnetDeletedInput is an input type that accepts GetIsNetworkAclsNetworkAclSubnetDeletedArgs and GetIsNetworkAclsNetworkAclSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclSubnetDeletedInput` via: +// +// GetIsNetworkAclsNetworkAclSubnetDeletedArgs{...} +type GetIsNetworkAclsNetworkAclSubnetDeletedInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclSubnetDeletedOutput() GetIsNetworkAclsNetworkAclSubnetDeletedOutput + ToGetIsNetworkAclsNetworkAclSubnetDeletedOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclSubnetDeletedOutput +} + +type GetIsNetworkAclsNetworkAclSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsNetworkAclsNetworkAclSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclSubnetDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclSubnetDeletedArgs) ToGetIsNetworkAclsNetworkAclSubnetDeletedOutput() GetIsNetworkAclsNetworkAclSubnetDeletedOutput { + return i.ToGetIsNetworkAclsNetworkAclSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclSubnetDeletedArgs) ToGetIsNetworkAclsNetworkAclSubnetDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclSubnetDeletedOutput) +} + +// GetIsNetworkAclsNetworkAclSubnetDeletedArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclSubnetDeletedArray and GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclSubnetDeletedArrayInput` via: +// +// GetIsNetworkAclsNetworkAclSubnetDeletedArray{ GetIsNetworkAclsNetworkAclSubnetDeletedArgs{...} } +type GetIsNetworkAclsNetworkAclSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput() GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput + ToGetIsNetworkAclsNetworkAclSubnetDeletedArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput +} + +type GetIsNetworkAclsNetworkAclSubnetDeletedArray []GetIsNetworkAclsNetworkAclSubnetDeletedInput + +func (GetIsNetworkAclsNetworkAclSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclSubnetDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclSubnetDeletedArray) ToGetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput() GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclSubnetDeletedArray) ToGetIsNetworkAclsNetworkAclSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput) +} + +type GetIsNetworkAclsNetworkAclSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclSubnetDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclSubnetDeletedOutput) ToGetIsNetworkAclsNetworkAclSubnetDeletedOutput() GetIsNetworkAclsNetworkAclSubnetDeletedOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclSubnetDeletedOutput) ToGetIsNetworkAclsNetworkAclSubnetDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsNetworkAclsNetworkAclSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclSubnetDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput) ToGetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput() GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput) ToGetIsNetworkAclsNetworkAclSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclSubnetDeleted { + return vs[0].([]GetIsNetworkAclsNetworkAclSubnetDeleted)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclSubnetDeletedOutput) +} + +type GetIsNetworkAclsNetworkAclVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsNetworkAclsNetworkAclVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` +} + +// GetIsNetworkAclsNetworkAclVpcInput is an input type that accepts GetIsNetworkAclsNetworkAclVpcArgs and GetIsNetworkAclsNetworkAclVpcOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclVpcInput` via: +// +// GetIsNetworkAclsNetworkAclVpcArgs{...} +type GetIsNetworkAclsNetworkAclVpcInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclVpcOutput() GetIsNetworkAclsNetworkAclVpcOutput + ToGetIsNetworkAclsNetworkAclVpcOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclVpcOutput +} + +type GetIsNetworkAclsNetworkAclVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsNetworkAclsNetworkAclVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsNetworkAclsNetworkAclVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclVpc)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclVpcArgs) ToGetIsNetworkAclsNetworkAclVpcOutput() GetIsNetworkAclsNetworkAclVpcOutput { + return i.ToGetIsNetworkAclsNetworkAclVpcOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclVpcArgs) ToGetIsNetworkAclsNetworkAclVpcOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclVpcOutput) +} + +// GetIsNetworkAclsNetworkAclVpcArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclVpcArray and GetIsNetworkAclsNetworkAclVpcArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclVpcArrayInput` via: +// +// GetIsNetworkAclsNetworkAclVpcArray{ GetIsNetworkAclsNetworkAclVpcArgs{...} } +type GetIsNetworkAclsNetworkAclVpcArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclVpcArrayOutput() GetIsNetworkAclsNetworkAclVpcArrayOutput + ToGetIsNetworkAclsNetworkAclVpcArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclVpcArrayOutput +} + +type GetIsNetworkAclsNetworkAclVpcArray []GetIsNetworkAclsNetworkAclVpcInput + +func (GetIsNetworkAclsNetworkAclVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclVpc)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclVpcArray) ToGetIsNetworkAclsNetworkAclVpcArrayOutput() GetIsNetworkAclsNetworkAclVpcArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclVpcArray) ToGetIsNetworkAclsNetworkAclVpcArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclVpcArrayOutput) +} + +type GetIsNetworkAclsNetworkAclVpcOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclVpc)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclVpcOutput) ToGetIsNetworkAclsNetworkAclVpcOutput() GetIsNetworkAclsNetworkAclVpcOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclVpcOutput) ToGetIsNetworkAclsNetworkAclVpcOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsNetworkAclsNetworkAclVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsNetworkAclsNetworkAclVpcOutput) Deleteds() GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclVpc) []GetIsNetworkAclsNetworkAclVpcDeleted { return v.Deleteds }).(GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsNetworkAclsNetworkAclVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsNetworkAclsNetworkAclVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsNetworkAclsNetworkAclVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclVpc) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsNetworkAclsNetworkAclVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclVpc)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclVpcArrayOutput) ToGetIsNetworkAclsNetworkAclVpcArrayOutput() GetIsNetworkAclsNetworkAclVpcArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclVpcArrayOutput) ToGetIsNetworkAclsNetworkAclVpcArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclVpcArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclVpcArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclVpc { + return vs[0].([]GetIsNetworkAclsNetworkAclVpc)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclVpcOutput) +} + +type GetIsNetworkAclsNetworkAclVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsNetworkAclsNetworkAclVpcDeletedInput is an input type that accepts GetIsNetworkAclsNetworkAclVpcDeletedArgs and GetIsNetworkAclsNetworkAclVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclVpcDeletedInput` via: +// +// GetIsNetworkAclsNetworkAclVpcDeletedArgs{...} +type GetIsNetworkAclsNetworkAclVpcDeletedInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclVpcDeletedOutput() GetIsNetworkAclsNetworkAclVpcDeletedOutput + ToGetIsNetworkAclsNetworkAclVpcDeletedOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclVpcDeletedOutput +} + +type GetIsNetworkAclsNetworkAclVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsNetworkAclsNetworkAclVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclVpcDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclVpcDeletedArgs) ToGetIsNetworkAclsNetworkAclVpcDeletedOutput() GetIsNetworkAclsNetworkAclVpcDeletedOutput { + return i.ToGetIsNetworkAclsNetworkAclVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclVpcDeletedArgs) ToGetIsNetworkAclsNetworkAclVpcDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclVpcDeletedOutput) +} + +// GetIsNetworkAclsNetworkAclVpcDeletedArrayInput is an input type that accepts GetIsNetworkAclsNetworkAclVpcDeletedArray and GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsNetworkAclsNetworkAclVpcDeletedArrayInput` via: +// +// GetIsNetworkAclsNetworkAclVpcDeletedArray{ GetIsNetworkAclsNetworkAclVpcDeletedArgs{...} } +type GetIsNetworkAclsNetworkAclVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsNetworkAclsNetworkAclVpcDeletedArrayOutput() GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput + ToGetIsNetworkAclsNetworkAclVpcDeletedArrayOutputWithContext(context.Context) GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput +} + +type GetIsNetworkAclsNetworkAclVpcDeletedArray []GetIsNetworkAclsNetworkAclVpcDeletedInput + +func (GetIsNetworkAclsNetworkAclVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclVpcDeleted)(nil)).Elem() +} + +func (i GetIsNetworkAclsNetworkAclVpcDeletedArray) ToGetIsNetworkAclsNetworkAclVpcDeletedArrayOutput() GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput { + return i.ToGetIsNetworkAclsNetworkAclVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsNetworkAclsNetworkAclVpcDeletedArray) ToGetIsNetworkAclsNetworkAclVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput) +} + +type GetIsNetworkAclsNetworkAclVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsNetworkAclsNetworkAclVpcDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclVpcDeletedOutput) ToGetIsNetworkAclsNetworkAclVpcDeletedOutput() GetIsNetworkAclsNetworkAclVpcDeletedOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclVpcDeletedOutput) ToGetIsNetworkAclsNetworkAclVpcDeletedOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsNetworkAclsNetworkAclVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsNetworkAclsNetworkAclVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsNetworkAclsNetworkAclVpcDeleted)(nil)).Elem() +} + +func (o GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput) ToGetIsNetworkAclsNetworkAclVpcDeletedArrayOutput() GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput) ToGetIsNetworkAclsNetworkAclVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput { + return o +} + +func (o GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsNetworkAclsNetworkAclVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsNetworkAclsNetworkAclVpcDeleted { + return vs[0].([]GetIsNetworkAclsNetworkAclVpcDeleted)[vs[1].(int)] + }).(GetIsNetworkAclsNetworkAclVpcDeletedOutput) +} + +type GetIsOperatingSystemsOperatingSystem struct { + // Users may create new images with this operating system + AllowUserImageCreation bool `pulumi:"allowUserImageCreation"` + // The operating system architecture + Architecture string `pulumi:"architecture"` + // Flag which shows images with this operating system can only be used on dedicated hosts or dedicated host groups + DedicatedHostOnly bool `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system + DisplayName string `pulumi:"displayName"` + // The name of the software family this operating system belongs to + Family string `pulumi:"family"` + // The URL for this operating system + Href string `pulumi:"href"` + // The globally unique name for this operating system + Name string `pulumi:"name"` + // The user data format for this operating system + UserDataFormat string `pulumi:"userDataFormat"` + // The vendor of the operating system + Vendor string `pulumi:"vendor"` + // The major release version of this operating system + Version string `pulumi:"version"` +} + +// GetIsOperatingSystemsOperatingSystemInput is an input type that accepts GetIsOperatingSystemsOperatingSystemArgs and GetIsOperatingSystemsOperatingSystemOutput values. +// You can construct a concrete instance of `GetIsOperatingSystemsOperatingSystemInput` via: +// +// GetIsOperatingSystemsOperatingSystemArgs{...} +type GetIsOperatingSystemsOperatingSystemInput interface { + pulumi.Input + + ToGetIsOperatingSystemsOperatingSystemOutput() GetIsOperatingSystemsOperatingSystemOutput + ToGetIsOperatingSystemsOperatingSystemOutputWithContext(context.Context) GetIsOperatingSystemsOperatingSystemOutput +} + +type GetIsOperatingSystemsOperatingSystemArgs struct { + // Users may create new images with this operating system + AllowUserImageCreation pulumi.BoolInput `pulumi:"allowUserImageCreation"` + // The operating system architecture + Architecture pulumi.StringInput `pulumi:"architecture"` + // Flag which shows images with this operating system can only be used on dedicated hosts or dedicated host groups + DedicatedHostOnly pulumi.BoolInput `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system + DisplayName pulumi.StringInput `pulumi:"displayName"` + // The name of the software family this operating system belongs to + Family pulumi.StringInput `pulumi:"family"` + // The URL for this operating system + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this operating system + Name pulumi.StringInput `pulumi:"name"` + // The user data format for this operating system + UserDataFormat pulumi.StringInput `pulumi:"userDataFormat"` + // The vendor of the operating system + Vendor pulumi.StringInput `pulumi:"vendor"` + // The major release version of this operating system + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIsOperatingSystemsOperatingSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsOperatingSystemsOperatingSystem)(nil)).Elem() +} + +func (i GetIsOperatingSystemsOperatingSystemArgs) ToGetIsOperatingSystemsOperatingSystemOutput() GetIsOperatingSystemsOperatingSystemOutput { + return i.ToGetIsOperatingSystemsOperatingSystemOutputWithContext(context.Background()) +} + +func (i GetIsOperatingSystemsOperatingSystemArgs) ToGetIsOperatingSystemsOperatingSystemOutputWithContext(ctx context.Context) GetIsOperatingSystemsOperatingSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsOperatingSystemsOperatingSystemOutput) +} + +// GetIsOperatingSystemsOperatingSystemArrayInput is an input type that accepts GetIsOperatingSystemsOperatingSystemArray and GetIsOperatingSystemsOperatingSystemArrayOutput values. +// You can construct a concrete instance of `GetIsOperatingSystemsOperatingSystemArrayInput` via: +// +// GetIsOperatingSystemsOperatingSystemArray{ GetIsOperatingSystemsOperatingSystemArgs{...} } +type GetIsOperatingSystemsOperatingSystemArrayInput interface { + pulumi.Input + + ToGetIsOperatingSystemsOperatingSystemArrayOutput() GetIsOperatingSystemsOperatingSystemArrayOutput + ToGetIsOperatingSystemsOperatingSystemArrayOutputWithContext(context.Context) GetIsOperatingSystemsOperatingSystemArrayOutput +} + +type GetIsOperatingSystemsOperatingSystemArray []GetIsOperatingSystemsOperatingSystemInput + +func (GetIsOperatingSystemsOperatingSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsOperatingSystemsOperatingSystem)(nil)).Elem() +} + +func (i GetIsOperatingSystemsOperatingSystemArray) ToGetIsOperatingSystemsOperatingSystemArrayOutput() GetIsOperatingSystemsOperatingSystemArrayOutput { + return i.ToGetIsOperatingSystemsOperatingSystemArrayOutputWithContext(context.Background()) +} + +func (i GetIsOperatingSystemsOperatingSystemArray) ToGetIsOperatingSystemsOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsOperatingSystemsOperatingSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsOperatingSystemsOperatingSystemArrayOutput) +} + +type GetIsOperatingSystemsOperatingSystemOutput struct{ *pulumi.OutputState } + +func (GetIsOperatingSystemsOperatingSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsOperatingSystemsOperatingSystem)(nil)).Elem() +} + +func (o GetIsOperatingSystemsOperatingSystemOutput) ToGetIsOperatingSystemsOperatingSystemOutput() GetIsOperatingSystemsOperatingSystemOutput { + return o +} + +func (o GetIsOperatingSystemsOperatingSystemOutput) ToGetIsOperatingSystemsOperatingSystemOutputWithContext(ctx context.Context) GetIsOperatingSystemsOperatingSystemOutput { + return o +} + +// Users may create new images with this operating system +func (o GetIsOperatingSystemsOperatingSystemOutput) AllowUserImageCreation() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) bool { return v.AllowUserImageCreation }).(pulumi.BoolOutput) +} + +// The operating system architecture +func (o GetIsOperatingSystemsOperatingSystemOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) string { return v.Architecture }).(pulumi.StringOutput) +} + +// Flag which shows images with this operating system can only be used on dedicated hosts or dedicated host groups +func (o GetIsOperatingSystemsOperatingSystemOutput) DedicatedHostOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) bool { return v.DedicatedHostOnly }).(pulumi.BoolOutput) +} + +// A unique, display-friendly name for the operating system +func (o GetIsOperatingSystemsOperatingSystemOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The name of the software family this operating system belongs to +func (o GetIsOperatingSystemsOperatingSystemOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this operating system +func (o GetIsOperatingSystemsOperatingSystemOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this operating system +func (o GetIsOperatingSystemsOperatingSystemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) string { return v.Name }).(pulumi.StringOutput) +} + +// The user data format for this operating system +func (o GetIsOperatingSystemsOperatingSystemOutput) UserDataFormat() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) string { return v.UserDataFormat }).(pulumi.StringOutput) +} + +// The vendor of the operating system +func (o GetIsOperatingSystemsOperatingSystemOutput) Vendor() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) string { return v.Vendor }).(pulumi.StringOutput) +} + +// The major release version of this operating system +func (o GetIsOperatingSystemsOperatingSystemOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIsOperatingSystemsOperatingSystem) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIsOperatingSystemsOperatingSystemArrayOutput struct{ *pulumi.OutputState } + +func (GetIsOperatingSystemsOperatingSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsOperatingSystemsOperatingSystem)(nil)).Elem() +} + +func (o GetIsOperatingSystemsOperatingSystemArrayOutput) ToGetIsOperatingSystemsOperatingSystemArrayOutput() GetIsOperatingSystemsOperatingSystemArrayOutput { + return o +} + +func (o GetIsOperatingSystemsOperatingSystemArrayOutput) ToGetIsOperatingSystemsOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsOperatingSystemsOperatingSystemArrayOutput { + return o +} + +func (o GetIsOperatingSystemsOperatingSystemArrayOutput) Index(i pulumi.IntInput) GetIsOperatingSystemsOperatingSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsOperatingSystemsOperatingSystem { + return vs[0].([]GetIsOperatingSystemsOperatingSystem)[vs[1].(int)] + }).(GetIsOperatingSystemsOperatingSystemOutput) +} + +type GetIsPlacementGroupResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsPlacementGroupResourceGroupInput is an input type that accepts GetIsPlacementGroupResourceGroupArgs and GetIsPlacementGroupResourceGroupOutput values. +// You can construct a concrete instance of `GetIsPlacementGroupResourceGroupInput` via: +// +// GetIsPlacementGroupResourceGroupArgs{...} +type GetIsPlacementGroupResourceGroupInput interface { + pulumi.Input + + ToGetIsPlacementGroupResourceGroupOutput() GetIsPlacementGroupResourceGroupOutput + ToGetIsPlacementGroupResourceGroupOutputWithContext(context.Context) GetIsPlacementGroupResourceGroupOutput +} + +type GetIsPlacementGroupResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPlacementGroupResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPlacementGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsPlacementGroupResourceGroupArgs) ToGetIsPlacementGroupResourceGroupOutput() GetIsPlacementGroupResourceGroupOutput { + return i.ToGetIsPlacementGroupResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsPlacementGroupResourceGroupArgs) ToGetIsPlacementGroupResourceGroupOutputWithContext(ctx context.Context) GetIsPlacementGroupResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPlacementGroupResourceGroupOutput) +} + +// GetIsPlacementGroupResourceGroupArrayInput is an input type that accepts GetIsPlacementGroupResourceGroupArray and GetIsPlacementGroupResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsPlacementGroupResourceGroupArrayInput` via: +// +// GetIsPlacementGroupResourceGroupArray{ GetIsPlacementGroupResourceGroupArgs{...} } +type GetIsPlacementGroupResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsPlacementGroupResourceGroupArrayOutput() GetIsPlacementGroupResourceGroupArrayOutput + ToGetIsPlacementGroupResourceGroupArrayOutputWithContext(context.Context) GetIsPlacementGroupResourceGroupArrayOutput +} + +type GetIsPlacementGroupResourceGroupArray []GetIsPlacementGroupResourceGroupInput + +func (GetIsPlacementGroupResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPlacementGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsPlacementGroupResourceGroupArray) ToGetIsPlacementGroupResourceGroupArrayOutput() GetIsPlacementGroupResourceGroupArrayOutput { + return i.ToGetIsPlacementGroupResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsPlacementGroupResourceGroupArray) ToGetIsPlacementGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPlacementGroupResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPlacementGroupResourceGroupArrayOutput) +} + +type GetIsPlacementGroupResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsPlacementGroupResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPlacementGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsPlacementGroupResourceGroupOutput) ToGetIsPlacementGroupResourceGroupOutput() GetIsPlacementGroupResourceGroupOutput { + return o +} + +func (o GetIsPlacementGroupResourceGroupOutput) ToGetIsPlacementGroupResourceGroupOutputWithContext(ctx context.Context) GetIsPlacementGroupResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsPlacementGroupResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsPlacementGroupResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsPlacementGroupResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPlacementGroupResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPlacementGroupResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPlacementGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsPlacementGroupResourceGroupArrayOutput) ToGetIsPlacementGroupResourceGroupArrayOutput() GetIsPlacementGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsPlacementGroupResourceGroupArrayOutput) ToGetIsPlacementGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPlacementGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsPlacementGroupResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsPlacementGroupResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPlacementGroupResourceGroup { + return vs[0].([]GetIsPlacementGroupResourceGroup)[vs[1].(int)] + }).(GetIsPlacementGroupResourceGroupOutput) +} + +type GetIsPlacementGroupsPlacementGroup struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The date and time that the placement group was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this placement group. + Crn string `pulumi:"crn"` + // The URL for this placement group. + Href string `pulumi:"href"` + // The unique identifier for this placement group. + Id string `pulumi:"id"` + // The lifecycle state of the placement group. + LifecycleState string `pulumi:"lifecycleState"` + // The user-defined name for this placement group. + Name string `pulumi:"name"` + // The resource group for this placement group. + ResourceGroups []GetIsPlacementGroupsPlacementGroupResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. + Strategy string `pulumi:"strategy"` + // List of tags + Tags []string `pulumi:"tags"` +} + +// GetIsPlacementGroupsPlacementGroupInput is an input type that accepts GetIsPlacementGroupsPlacementGroupArgs and GetIsPlacementGroupsPlacementGroupOutput values. +// You can construct a concrete instance of `GetIsPlacementGroupsPlacementGroupInput` via: +// +// GetIsPlacementGroupsPlacementGroupArgs{...} +type GetIsPlacementGroupsPlacementGroupInput interface { + pulumi.Input + + ToGetIsPlacementGroupsPlacementGroupOutput() GetIsPlacementGroupsPlacementGroupOutput + ToGetIsPlacementGroupsPlacementGroupOutputWithContext(context.Context) GetIsPlacementGroupsPlacementGroupOutput +} + +type GetIsPlacementGroupsPlacementGroupArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The date and time that the placement group was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this placement group. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this placement group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this placement group. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the placement group. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The user-defined name for this placement group. + Name pulumi.StringInput `pulumi:"name"` + // The resource group for this placement group. + ResourceGroups GetIsPlacementGroupsPlacementGroupResourceGroupArrayInput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. + Strategy pulumi.StringInput `pulumi:"strategy"` + // List of tags + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (GetIsPlacementGroupsPlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPlacementGroupsPlacementGroup)(nil)).Elem() +} + +func (i GetIsPlacementGroupsPlacementGroupArgs) ToGetIsPlacementGroupsPlacementGroupOutput() GetIsPlacementGroupsPlacementGroupOutput { + return i.ToGetIsPlacementGroupsPlacementGroupOutputWithContext(context.Background()) +} + +func (i GetIsPlacementGroupsPlacementGroupArgs) ToGetIsPlacementGroupsPlacementGroupOutputWithContext(ctx context.Context) GetIsPlacementGroupsPlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPlacementGroupsPlacementGroupOutput) +} + +// GetIsPlacementGroupsPlacementGroupArrayInput is an input type that accepts GetIsPlacementGroupsPlacementGroupArray and GetIsPlacementGroupsPlacementGroupArrayOutput values. +// You can construct a concrete instance of `GetIsPlacementGroupsPlacementGroupArrayInput` via: +// +// GetIsPlacementGroupsPlacementGroupArray{ GetIsPlacementGroupsPlacementGroupArgs{...} } +type GetIsPlacementGroupsPlacementGroupArrayInput interface { + pulumi.Input + + ToGetIsPlacementGroupsPlacementGroupArrayOutput() GetIsPlacementGroupsPlacementGroupArrayOutput + ToGetIsPlacementGroupsPlacementGroupArrayOutputWithContext(context.Context) GetIsPlacementGroupsPlacementGroupArrayOutput +} + +type GetIsPlacementGroupsPlacementGroupArray []GetIsPlacementGroupsPlacementGroupInput + +func (GetIsPlacementGroupsPlacementGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPlacementGroupsPlacementGroup)(nil)).Elem() +} + +func (i GetIsPlacementGroupsPlacementGroupArray) ToGetIsPlacementGroupsPlacementGroupArrayOutput() GetIsPlacementGroupsPlacementGroupArrayOutput { + return i.ToGetIsPlacementGroupsPlacementGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsPlacementGroupsPlacementGroupArray) ToGetIsPlacementGroupsPlacementGroupArrayOutputWithContext(ctx context.Context) GetIsPlacementGroupsPlacementGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPlacementGroupsPlacementGroupArrayOutput) +} + +type GetIsPlacementGroupsPlacementGroupOutput struct{ *pulumi.OutputState } + +func (GetIsPlacementGroupsPlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPlacementGroupsPlacementGroup)(nil)).Elem() +} + +func (o GetIsPlacementGroupsPlacementGroupOutput) ToGetIsPlacementGroupsPlacementGroupOutput() GetIsPlacementGroupsPlacementGroupOutput { + return o +} + +func (o GetIsPlacementGroupsPlacementGroupOutput) ToGetIsPlacementGroupsPlacementGroupOutputWithContext(ctx context.Context) GetIsPlacementGroupsPlacementGroupOutput { + return o +} + +// List of access management tags +func (o GetIsPlacementGroupsPlacementGroupOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The date and time that the placement group was created. +func (o GetIsPlacementGroupsPlacementGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this placement group. +func (o GetIsPlacementGroupsPlacementGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this placement group. +func (o GetIsPlacementGroupsPlacementGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this placement group. +func (o GetIsPlacementGroupsPlacementGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of the placement group. +func (o GetIsPlacementGroupsPlacementGroupOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined name for this placement group. +func (o GetIsPlacementGroupsPlacementGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this placement group. +func (o GetIsPlacementGroupsPlacementGroupOutput) ResourceGroups() GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) []GetIsPlacementGroupsPlacementGroupResourceGroup { + return v.ResourceGroups + }).(GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput) +} + +// The resource type. +func (o GetIsPlacementGroupsPlacementGroupOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The strategy for this placement group- `hostSpread`: place on different compute hosts- `powerSpread`: place on compute hosts that use different power sourcesThe enumerated values for this property may expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the placement group on which the unexpected strategy was encountered. +func (o GetIsPlacementGroupsPlacementGroupOutput) Strategy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) string { return v.Strategy }).(pulumi.StringOutput) +} + +// List of tags +func (o GetIsPlacementGroupsPlacementGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroup) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type GetIsPlacementGroupsPlacementGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPlacementGroupsPlacementGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPlacementGroupsPlacementGroup)(nil)).Elem() +} + +func (o GetIsPlacementGroupsPlacementGroupArrayOutput) ToGetIsPlacementGroupsPlacementGroupArrayOutput() GetIsPlacementGroupsPlacementGroupArrayOutput { + return o +} + +func (o GetIsPlacementGroupsPlacementGroupArrayOutput) ToGetIsPlacementGroupsPlacementGroupArrayOutputWithContext(ctx context.Context) GetIsPlacementGroupsPlacementGroupArrayOutput { + return o +} + +func (o GetIsPlacementGroupsPlacementGroupArrayOutput) Index(i pulumi.IntInput) GetIsPlacementGroupsPlacementGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPlacementGroupsPlacementGroup { + return vs[0].([]GetIsPlacementGroupsPlacementGroup)[vs[1].(int)] + }).(GetIsPlacementGroupsPlacementGroupOutput) +} + +type GetIsPlacementGroupsPlacementGroupResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsPlacementGroupsPlacementGroupResourceGroupInput is an input type that accepts GetIsPlacementGroupsPlacementGroupResourceGroupArgs and GetIsPlacementGroupsPlacementGroupResourceGroupOutput values. +// You can construct a concrete instance of `GetIsPlacementGroupsPlacementGroupResourceGroupInput` via: +// +// GetIsPlacementGroupsPlacementGroupResourceGroupArgs{...} +type GetIsPlacementGroupsPlacementGroupResourceGroupInput interface { + pulumi.Input + + ToGetIsPlacementGroupsPlacementGroupResourceGroupOutput() GetIsPlacementGroupsPlacementGroupResourceGroupOutput + ToGetIsPlacementGroupsPlacementGroupResourceGroupOutputWithContext(context.Context) GetIsPlacementGroupsPlacementGroupResourceGroupOutput +} + +type GetIsPlacementGroupsPlacementGroupResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPlacementGroupsPlacementGroupResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPlacementGroupsPlacementGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsPlacementGroupsPlacementGroupResourceGroupArgs) ToGetIsPlacementGroupsPlacementGroupResourceGroupOutput() GetIsPlacementGroupsPlacementGroupResourceGroupOutput { + return i.ToGetIsPlacementGroupsPlacementGroupResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsPlacementGroupsPlacementGroupResourceGroupArgs) ToGetIsPlacementGroupsPlacementGroupResourceGroupOutputWithContext(ctx context.Context) GetIsPlacementGroupsPlacementGroupResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPlacementGroupsPlacementGroupResourceGroupOutput) +} + +// GetIsPlacementGroupsPlacementGroupResourceGroupArrayInput is an input type that accepts GetIsPlacementGroupsPlacementGroupResourceGroupArray and GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsPlacementGroupsPlacementGroupResourceGroupArrayInput` via: +// +// GetIsPlacementGroupsPlacementGroupResourceGroupArray{ GetIsPlacementGroupsPlacementGroupResourceGroupArgs{...} } +type GetIsPlacementGroupsPlacementGroupResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput() GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput + ToGetIsPlacementGroupsPlacementGroupResourceGroupArrayOutputWithContext(context.Context) GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput +} + +type GetIsPlacementGroupsPlacementGroupResourceGroupArray []GetIsPlacementGroupsPlacementGroupResourceGroupInput + +func (GetIsPlacementGroupsPlacementGroupResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPlacementGroupsPlacementGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsPlacementGroupsPlacementGroupResourceGroupArray) ToGetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput() GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput { + return i.ToGetIsPlacementGroupsPlacementGroupResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsPlacementGroupsPlacementGroupResourceGroupArray) ToGetIsPlacementGroupsPlacementGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput) +} + +type GetIsPlacementGroupsPlacementGroupResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsPlacementGroupsPlacementGroupResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPlacementGroupsPlacementGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsPlacementGroupsPlacementGroupResourceGroupOutput) ToGetIsPlacementGroupsPlacementGroupResourceGroupOutput() GetIsPlacementGroupsPlacementGroupResourceGroupOutput { + return o +} + +func (o GetIsPlacementGroupsPlacementGroupResourceGroupOutput) ToGetIsPlacementGroupsPlacementGroupResourceGroupOutputWithContext(ctx context.Context) GetIsPlacementGroupsPlacementGroupResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsPlacementGroupsPlacementGroupResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroupResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsPlacementGroupsPlacementGroupResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroupResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsPlacementGroupsPlacementGroupResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPlacementGroupsPlacementGroupResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPlacementGroupsPlacementGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput) ToGetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput() GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput) ToGetIsPlacementGroupsPlacementGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsPlacementGroupsPlacementGroupResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPlacementGroupsPlacementGroupResourceGroup { + return vs[0].([]GetIsPlacementGroupsPlacementGroupResourceGroup)[vs[1].(int)] + }).(GetIsPlacementGroupsPlacementGroupResourceGroupOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy struct { + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewedThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + AccessPolicy string `pulumi:"accessPolicy"` + // The account for this access policy. + Accounts []GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount `pulumi:"accounts"` + // The date and time that the account policy was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this account policy. + Href string `pulumi:"href"` + // The unique identifier for this account policy. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The date and time that the account policy was updated. + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyInput is an input type that accepts GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArgs and GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyInput` via: +// +// GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArgs{...} +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput + ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArgs struct { + // The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewedThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + AccessPolicy pulumi.StringInput `pulumi:"accessPolicy"` + // The account for this access policy. + Accounts GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayInput `pulumi:"accounts"` + // The date and time that the account policy was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this account policy. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this account policy. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The date and time that the account policy was updated. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArgs) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput { + return i.ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArgs) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) +} + +// GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArray and GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayInput` via: +// +// GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArray{ GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArgs{...} } +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput + ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArray []GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyInput + +func (GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArray) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArray) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput { + return o +} + +// The access policy for the account:- permit: access will be permitted- deny: access will be denied- review: access will be manually reviewedThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) AccessPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy) string { return v.AccessPolicy }).(pulumi.StringOutput) +} + +// The account for this access policy. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) Accounts() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy) []GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount { + return v.Accounts + }).(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput) +} + +// The date and time that the account policy was created. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this account policy. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this account policy. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The date and time that the account policy was updated. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy { + return vs[0].([]GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicy)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount struct { + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountInput is an input type that accepts GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArgs and GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountInput` via: +// +// GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArgs{...} +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput + ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArgs struct { + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArgs) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput { + return i.ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArgs) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput) +} + +// GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArray and GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayInput` via: +// +// GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArray{ GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArgs{...} } +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput + ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArray []GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountInput + +func (GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArray) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArray) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput() GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput) ToGetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount { + return vs[0].([]GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccount)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPolicyAccount struct { + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPrivatePathServiceGatewayAccountPolicyAccountInput is an input type that accepts GetIsPrivatePathServiceGatewayAccountPolicyAccountArgs and GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayAccountPolicyAccountInput` via: +// +// GetIsPrivatePathServiceGatewayAccountPolicyAccountArgs{...} +type GetIsPrivatePathServiceGatewayAccountPolicyAccountInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayAccountPolicyAccountOutput() GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput + ToGetIsPrivatePathServiceGatewayAccountPolicyAccountOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput +} + +type GetIsPrivatePathServiceGatewayAccountPolicyAccountArgs struct { + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPrivatePathServiceGatewayAccountPolicyAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPolicyAccount)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayAccountPolicyAccountArgs) ToGetIsPrivatePathServiceGatewayAccountPolicyAccountOutput() GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput { + return i.ToGetIsPrivatePathServiceGatewayAccountPolicyAccountOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayAccountPolicyAccountArgs) ToGetIsPrivatePathServiceGatewayAccountPolicyAccountOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput) +} + +// GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayAccountPolicyAccountArray and GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayInput` via: +// +// GetIsPrivatePathServiceGatewayAccountPolicyAccountArray{ GetIsPrivatePathServiceGatewayAccountPolicyAccountArgs{...} } +type GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput() GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput + ToGetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput +} + +type GetIsPrivatePathServiceGatewayAccountPolicyAccountArray []GetIsPrivatePathServiceGatewayAccountPolicyAccountInput + +func (GetIsPrivatePathServiceGatewayAccountPolicyAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayAccountPolicyAccount)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayAccountPolicyAccountArray) ToGetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput() GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayAccountPolicyAccountArray) ToGetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPolicyAccount)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput) ToGetIsPrivatePathServiceGatewayAccountPolicyAccountOutput() GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput) ToGetIsPrivatePathServiceGatewayAccountPolicyAccountOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPolicyAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayAccountPolicyAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayAccountPolicyAccount)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput) ToGetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput() GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput) ToGetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayAccountPolicyAccount { + return vs[0].([]GetIsPrivatePathServiceGatewayAccountPolicyAccount)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount struct { + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountInput is an input type that accepts GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArgs and GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountInput` via: +// +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArgs{...} +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArgs struct { + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArgs) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput { + return i.ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArgs) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput) +} + +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArray and GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayInput` via: +// +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArray{ GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArgs{...} } +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArray []GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountInput + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArray) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArray) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount { + return vs[0].([]GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccount)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding struct { + // The account that created the endpoint gateway. + Accounts []GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount `pulumi:"accounts"` + // The date and time that the endpoint gateway binding was created. + CreatedAt string `pulumi:"createdAt"` + // The expiration date and time for the endpoint gateway binding. + ExpirationAt string `pulumi:"expirationAt"` + // The URL for this endpoint gateway binding. + Href string `pulumi:"href"` + // The unique identifier for this endpoint gateway binding. + Id string `pulumi:"id"` + // The lifecycle state of the endpoint gateway binding. + LifecycleState string `pulumi:"lifecycleState"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The status of the endpoint gateway binding- `denied`: endpoint gateway binding was denied- `expired`: endpoint gateway binding has expired- `pending`: endpoint gateway binding is awaiting review- `permitted`: endpoint gateway binding was permittedThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Status string `pulumi:"status"` + // The date and time that the endpoint gateway binding was updated. + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingInput is an input type that accepts GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArgs and GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingInput` via: +// +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArgs{...} +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArgs struct { + // The account that created the endpoint gateway. + Accounts GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayInput `pulumi:"accounts"` + // The date and time that the endpoint gateway binding was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The expiration date and time for the endpoint gateway binding. + ExpirationAt pulumi.StringInput `pulumi:"expirationAt"` + // The URL for this endpoint gateway binding. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this endpoint gateway binding. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the endpoint gateway binding. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The status of the endpoint gateway binding- `denied`: endpoint gateway binding was denied- `expired`: endpoint gateway binding has expired- `pending`: endpoint gateway binding is awaiting review- `permitted`: endpoint gateway binding was permittedThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + Status pulumi.StringInput `pulumi:"status"` + // The date and time that the endpoint gateway binding was updated. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArgs) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput { + return i.ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArgs) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) +} + +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArray and GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayInput` via: +// +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArray{ GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArgs{...} } +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArray []GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingInput + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArray) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArray) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput { + return o +} + +// The account that created the endpoint gateway. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) Accounts() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) []GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount { + return v.Accounts + }).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput) +} + +// The date and time that the endpoint gateway binding was created. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) string { + return v.CreatedAt + }).(pulumi.StringOutput) +} + +// The expiration date and time for the endpoint gateway binding. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) ExpirationAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) string { + return v.ExpirationAt + }).(pulumi.StringOutput) +} + +// The URL for this endpoint gateway binding. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The unique identifier for this endpoint gateway binding. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The lifecycle state of the endpoint gateway binding. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) string { + return v.LifecycleState + }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +// The status of the endpoint gateway binding- `denied`: endpoint gateway binding was denied- `expired`: endpoint gateway binding has expired- `pending`: endpoint gateway binding is awaiting review- `permitted`: endpoint gateway binding was permittedThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) string { + return v.Status + }).(pulumi.StringOutput) +} + +// The date and time that the endpoint gateway binding was updated. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding) string { + return v.UpdatedAt + }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding { + return vs[0].([]GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBinding)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount struct { + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountInput is an input type that accepts GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArgs and GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountInput` via: +// +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArgs{...} +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArgs struct { + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArgs) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput { + return i.ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArgs) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput) +} + +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArray and GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayInput` via: +// +// GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArray{ GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArgs{...} } +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput + ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArray []GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountInput + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArray) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArray) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput() GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput) ToGetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount { + return vs[0].([]GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccount)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput) +} + +type GetIsPrivatePathServiceGatewayLoadBalancer struct { + // The load balancer's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsPrivatePathServiceGatewayLoadBalancerDeleted `pulumi:"deleteds"` + // The load balancer's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer. + Id string `pulumi:"id"` + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPrivatePathServiceGatewayLoadBalancerInput is an input type that accepts GetIsPrivatePathServiceGatewayLoadBalancerArgs and GetIsPrivatePathServiceGatewayLoadBalancerOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayLoadBalancerInput` via: +// +// GetIsPrivatePathServiceGatewayLoadBalancerArgs{...} +type GetIsPrivatePathServiceGatewayLoadBalancerInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayLoadBalancerOutput() GetIsPrivatePathServiceGatewayLoadBalancerOutput + ToGetIsPrivatePathServiceGatewayLoadBalancerOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayLoadBalancerOutput +} + +type GetIsPrivatePathServiceGatewayLoadBalancerArgs struct { + // The load balancer's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayInput `pulumi:"deleteds"` + // The load balancer's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer. + Id pulumi.StringInput `pulumi:"id"` + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPrivatePathServiceGatewayLoadBalancerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayLoadBalancer)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayLoadBalancerArgs) ToGetIsPrivatePathServiceGatewayLoadBalancerOutput() GetIsPrivatePathServiceGatewayLoadBalancerOutput { + return i.ToGetIsPrivatePathServiceGatewayLoadBalancerOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayLoadBalancerArgs) ToGetIsPrivatePathServiceGatewayLoadBalancerOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayLoadBalancerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayLoadBalancerOutput) +} + +// GetIsPrivatePathServiceGatewayLoadBalancerArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayLoadBalancerArray and GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayLoadBalancerArrayInput` via: +// +// GetIsPrivatePathServiceGatewayLoadBalancerArray{ GetIsPrivatePathServiceGatewayLoadBalancerArgs{...} } +type GetIsPrivatePathServiceGatewayLoadBalancerArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayLoadBalancerArrayOutput() GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput + ToGetIsPrivatePathServiceGatewayLoadBalancerArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput +} + +type GetIsPrivatePathServiceGatewayLoadBalancerArray []GetIsPrivatePathServiceGatewayLoadBalancerInput + +func (GetIsPrivatePathServiceGatewayLoadBalancerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayLoadBalancer)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayLoadBalancerArray) ToGetIsPrivatePathServiceGatewayLoadBalancerArrayOutput() GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayLoadBalancerArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayLoadBalancerArray) ToGetIsPrivatePathServiceGatewayLoadBalancerArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput) +} + +type GetIsPrivatePathServiceGatewayLoadBalancerOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayLoadBalancerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayLoadBalancer)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerOutput) ToGetIsPrivatePathServiceGatewayLoadBalancerOutput() GetIsPrivatePathServiceGatewayLoadBalancerOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerOutput) ToGetIsPrivatePathServiceGatewayLoadBalancerOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayLoadBalancerOutput { + return o +} + +// The load balancer's CRN. +func (o GetIsPrivatePathServiceGatewayLoadBalancerOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayLoadBalancer) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsPrivatePathServiceGatewayLoadBalancerOutput) Deleteds() GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayLoadBalancer) []GetIsPrivatePathServiceGatewayLoadBalancerDeleted { + return v.Deleteds + }).(GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) +} + +// The load balancer's canonical URL. +func (o GetIsPrivatePathServiceGatewayLoadBalancerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayLoadBalancer) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer. +func (o GetIsPrivatePathServiceGatewayLoadBalancerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayLoadBalancer) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this load balancer. The name is unique across all load balancers in the VPC. +func (o GetIsPrivatePathServiceGatewayLoadBalancerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayLoadBalancer) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewayLoadBalancerOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayLoadBalancer) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayLoadBalancer)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput) ToGetIsPrivatePathServiceGatewayLoadBalancerArrayOutput() GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput) ToGetIsPrivatePathServiceGatewayLoadBalancerArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayLoadBalancerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayLoadBalancer { + return vs[0].([]GetIsPrivatePathServiceGatewayLoadBalancer)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayLoadBalancerOutput) +} + +type GetIsPrivatePathServiceGatewayLoadBalancerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsPrivatePathServiceGatewayLoadBalancerDeletedInput is an input type that accepts GetIsPrivatePathServiceGatewayLoadBalancerDeletedArgs and GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayLoadBalancerDeletedInput` via: +// +// GetIsPrivatePathServiceGatewayLoadBalancerDeletedArgs{...} +type GetIsPrivatePathServiceGatewayLoadBalancerDeletedInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput() GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput + ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput +} + +type GetIsPrivatePathServiceGatewayLoadBalancerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsPrivatePathServiceGatewayLoadBalancerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayLoadBalancerDeleted)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayLoadBalancerDeletedArgs) ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput() GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return i.ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayLoadBalancerDeletedArgs) ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput) +} + +// GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayLoadBalancerDeletedArray and GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayInput` via: +// +// GetIsPrivatePathServiceGatewayLoadBalancerDeletedArray{ GetIsPrivatePathServiceGatewayLoadBalancerDeletedArgs{...} } +type GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput() GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput + ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput +} + +type GetIsPrivatePathServiceGatewayLoadBalancerDeletedArray []GetIsPrivatePathServiceGatewayLoadBalancerDeletedInput + +func (GetIsPrivatePathServiceGatewayLoadBalancerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayLoadBalancerDeleted)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayLoadBalancerDeletedArray) ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput() GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayLoadBalancerDeletedArray) ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) +} + +type GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayLoadBalancerDeleted)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput) ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput() GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput) ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayLoadBalancerDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayLoadBalancerDeleted)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput() GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) ToGetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayLoadBalancerDeleted { + return vs[0].([]GetIsPrivatePathServiceGatewayLoadBalancerDeleted)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput) +} + +type GetIsPrivatePathServiceGatewayRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsPrivatePathServiceGatewayRegionInput is an input type that accepts GetIsPrivatePathServiceGatewayRegionArgs and GetIsPrivatePathServiceGatewayRegionOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayRegionInput` via: +// +// GetIsPrivatePathServiceGatewayRegionArgs{...} +type GetIsPrivatePathServiceGatewayRegionInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayRegionOutput() GetIsPrivatePathServiceGatewayRegionOutput + ToGetIsPrivatePathServiceGatewayRegionOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayRegionOutput +} + +type GetIsPrivatePathServiceGatewayRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPrivatePathServiceGatewayRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayRegion)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayRegionArgs) ToGetIsPrivatePathServiceGatewayRegionOutput() GetIsPrivatePathServiceGatewayRegionOutput { + return i.ToGetIsPrivatePathServiceGatewayRegionOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayRegionArgs) ToGetIsPrivatePathServiceGatewayRegionOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayRegionOutput) +} + +// GetIsPrivatePathServiceGatewayRegionArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayRegionArray and GetIsPrivatePathServiceGatewayRegionArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayRegionArrayInput` via: +// +// GetIsPrivatePathServiceGatewayRegionArray{ GetIsPrivatePathServiceGatewayRegionArgs{...} } +type GetIsPrivatePathServiceGatewayRegionArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayRegionArrayOutput() GetIsPrivatePathServiceGatewayRegionArrayOutput + ToGetIsPrivatePathServiceGatewayRegionArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayRegionArrayOutput +} + +type GetIsPrivatePathServiceGatewayRegionArray []GetIsPrivatePathServiceGatewayRegionInput + +func (GetIsPrivatePathServiceGatewayRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayRegion)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayRegionArray) ToGetIsPrivatePathServiceGatewayRegionArrayOutput() GetIsPrivatePathServiceGatewayRegionArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayRegionArray) ToGetIsPrivatePathServiceGatewayRegionArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayRegionArrayOutput) +} + +type GetIsPrivatePathServiceGatewayRegionOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayRegion)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayRegionOutput) ToGetIsPrivatePathServiceGatewayRegionOutput() GetIsPrivatePathServiceGatewayRegionOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayRegionOutput) ToGetIsPrivatePathServiceGatewayRegionOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsPrivatePathServiceGatewayRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsPrivatePathServiceGatewayRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayRegion)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayRegionArrayOutput) ToGetIsPrivatePathServiceGatewayRegionArrayOutput() GetIsPrivatePathServiceGatewayRegionArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayRegionArrayOutput) ToGetIsPrivatePathServiceGatewayRegionArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayRegionArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayRegionArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayRegion { + return vs[0].([]GetIsPrivatePathServiceGatewayRegion)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayRegionOutput) +} + +type GetIsPrivatePathServiceGatewayResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsPrivatePathServiceGatewayResourceGroupInput is an input type that accepts GetIsPrivatePathServiceGatewayResourceGroupArgs and GetIsPrivatePathServiceGatewayResourceGroupOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayResourceGroupInput` via: +// +// GetIsPrivatePathServiceGatewayResourceGroupArgs{...} +type GetIsPrivatePathServiceGatewayResourceGroupInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayResourceGroupOutput() GetIsPrivatePathServiceGatewayResourceGroupOutput + ToGetIsPrivatePathServiceGatewayResourceGroupOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayResourceGroupOutput +} + +type GetIsPrivatePathServiceGatewayResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPrivatePathServiceGatewayResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayResourceGroup)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayResourceGroupArgs) ToGetIsPrivatePathServiceGatewayResourceGroupOutput() GetIsPrivatePathServiceGatewayResourceGroupOutput { + return i.ToGetIsPrivatePathServiceGatewayResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayResourceGroupArgs) ToGetIsPrivatePathServiceGatewayResourceGroupOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayResourceGroupOutput) +} + +// GetIsPrivatePathServiceGatewayResourceGroupArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayResourceGroupArray and GetIsPrivatePathServiceGatewayResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayResourceGroupArrayInput` via: +// +// GetIsPrivatePathServiceGatewayResourceGroupArray{ GetIsPrivatePathServiceGatewayResourceGroupArgs{...} } +type GetIsPrivatePathServiceGatewayResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayResourceGroupArrayOutput() GetIsPrivatePathServiceGatewayResourceGroupArrayOutput + ToGetIsPrivatePathServiceGatewayResourceGroupArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayResourceGroupArrayOutput +} + +type GetIsPrivatePathServiceGatewayResourceGroupArray []GetIsPrivatePathServiceGatewayResourceGroupInput + +func (GetIsPrivatePathServiceGatewayResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayResourceGroup)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayResourceGroupArray) ToGetIsPrivatePathServiceGatewayResourceGroupArrayOutput() GetIsPrivatePathServiceGatewayResourceGroupArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayResourceGroupArray) ToGetIsPrivatePathServiceGatewayResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayResourceGroupArrayOutput) +} + +type GetIsPrivatePathServiceGatewayResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayResourceGroup)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayResourceGroupOutput) ToGetIsPrivatePathServiceGatewayResourceGroupOutput() GetIsPrivatePathServiceGatewayResourceGroupOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayResourceGroupOutput) ToGetIsPrivatePathServiceGatewayResourceGroupOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsPrivatePathServiceGatewayResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsPrivatePathServiceGatewayResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsPrivatePathServiceGatewayResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayResourceGroup)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayResourceGroupArrayOutput) ToGetIsPrivatePathServiceGatewayResourceGroupArrayOutput() GetIsPrivatePathServiceGatewayResourceGroupArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayResourceGroupArrayOutput) ToGetIsPrivatePathServiceGatewayResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayResourceGroupArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayResourceGroup { + return vs[0].([]GetIsPrivatePathServiceGatewayResourceGroup)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayResourceGroupOutput) +} + +type GetIsPrivatePathServiceGatewayVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsPrivatePathServiceGatewayVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPrivatePathServiceGatewayVpcInput is an input type that accepts GetIsPrivatePathServiceGatewayVpcArgs and GetIsPrivatePathServiceGatewayVpcOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayVpcInput` via: +// +// GetIsPrivatePathServiceGatewayVpcArgs{...} +type GetIsPrivatePathServiceGatewayVpcInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayVpcOutput() GetIsPrivatePathServiceGatewayVpcOutput + ToGetIsPrivatePathServiceGatewayVpcOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayVpcOutput +} + +type GetIsPrivatePathServiceGatewayVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsPrivatePathServiceGatewayVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPrivatePathServiceGatewayVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayVpc)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayVpcArgs) ToGetIsPrivatePathServiceGatewayVpcOutput() GetIsPrivatePathServiceGatewayVpcOutput { + return i.ToGetIsPrivatePathServiceGatewayVpcOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayVpcArgs) ToGetIsPrivatePathServiceGatewayVpcOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayVpcOutput) +} + +// GetIsPrivatePathServiceGatewayVpcArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayVpcArray and GetIsPrivatePathServiceGatewayVpcArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayVpcArrayInput` via: +// +// GetIsPrivatePathServiceGatewayVpcArray{ GetIsPrivatePathServiceGatewayVpcArgs{...} } +type GetIsPrivatePathServiceGatewayVpcArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayVpcArrayOutput() GetIsPrivatePathServiceGatewayVpcArrayOutput + ToGetIsPrivatePathServiceGatewayVpcArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayVpcArrayOutput +} + +type GetIsPrivatePathServiceGatewayVpcArray []GetIsPrivatePathServiceGatewayVpcInput + +func (GetIsPrivatePathServiceGatewayVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayVpc)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayVpcArray) ToGetIsPrivatePathServiceGatewayVpcArrayOutput() GetIsPrivatePathServiceGatewayVpcArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayVpcArray) ToGetIsPrivatePathServiceGatewayVpcArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayVpcArrayOutput) +} + +type GetIsPrivatePathServiceGatewayVpcOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayVpc)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayVpcOutput) ToGetIsPrivatePathServiceGatewayVpcOutput() GetIsPrivatePathServiceGatewayVpcOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayVpcOutput) ToGetIsPrivatePathServiceGatewayVpcOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsPrivatePathServiceGatewayVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsPrivatePathServiceGatewayVpcOutput) Deleteds() GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayVpc) []GetIsPrivatePathServiceGatewayVpcDeleted { + return v.Deleteds + }).(GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsPrivatePathServiceGatewayVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsPrivatePathServiceGatewayVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsPrivatePathServiceGatewayVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewayVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayVpc)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayVpcArrayOutput) ToGetIsPrivatePathServiceGatewayVpcArrayOutput() GetIsPrivatePathServiceGatewayVpcArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayVpcArrayOutput) ToGetIsPrivatePathServiceGatewayVpcArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayVpcArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayVpcArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayVpc { + return vs[0].([]GetIsPrivatePathServiceGatewayVpc)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayVpcOutput) +} + +type GetIsPrivatePathServiceGatewayVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsPrivatePathServiceGatewayVpcDeletedInput is an input type that accepts GetIsPrivatePathServiceGatewayVpcDeletedArgs and GetIsPrivatePathServiceGatewayVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayVpcDeletedInput` via: +// +// GetIsPrivatePathServiceGatewayVpcDeletedArgs{...} +type GetIsPrivatePathServiceGatewayVpcDeletedInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayVpcDeletedOutput() GetIsPrivatePathServiceGatewayVpcDeletedOutput + ToGetIsPrivatePathServiceGatewayVpcDeletedOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayVpcDeletedOutput +} + +type GetIsPrivatePathServiceGatewayVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsPrivatePathServiceGatewayVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayVpcDeleted)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayVpcDeletedArgs) ToGetIsPrivatePathServiceGatewayVpcDeletedOutput() GetIsPrivatePathServiceGatewayVpcDeletedOutput { + return i.ToGetIsPrivatePathServiceGatewayVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayVpcDeletedArgs) ToGetIsPrivatePathServiceGatewayVpcDeletedOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayVpcDeletedOutput) +} + +// GetIsPrivatePathServiceGatewayVpcDeletedArrayInput is an input type that accepts GetIsPrivatePathServiceGatewayVpcDeletedArray and GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewayVpcDeletedArrayInput` via: +// +// GetIsPrivatePathServiceGatewayVpcDeletedArray{ GetIsPrivatePathServiceGatewayVpcDeletedArgs{...} } +type GetIsPrivatePathServiceGatewayVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewayVpcDeletedArrayOutput() GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput + ToGetIsPrivatePathServiceGatewayVpcDeletedArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput +} + +type GetIsPrivatePathServiceGatewayVpcDeletedArray []GetIsPrivatePathServiceGatewayVpcDeletedInput + +func (GetIsPrivatePathServiceGatewayVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayVpcDeleted)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewayVpcDeletedArray) ToGetIsPrivatePathServiceGatewayVpcDeletedArrayOutput() GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput { + return i.ToGetIsPrivatePathServiceGatewayVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewayVpcDeletedArray) ToGetIsPrivatePathServiceGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput) +} + +type GetIsPrivatePathServiceGatewayVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewayVpcDeleted)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayVpcDeletedOutput) ToGetIsPrivatePathServiceGatewayVpcDeletedOutput() GetIsPrivatePathServiceGatewayVpcDeletedOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayVpcDeletedOutput) ToGetIsPrivatePathServiceGatewayVpcDeletedOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsPrivatePathServiceGatewayVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewayVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewayVpcDeleted)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput) ToGetIsPrivatePathServiceGatewayVpcDeletedArrayOutput() GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput) ToGetIsPrivatePathServiceGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewayVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewayVpcDeleted { + return vs[0].([]GetIsPrivatePathServiceGatewayVpcDeleted)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewayVpcDeletedOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway struct { + // The date and time that the private path service gateway was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this private path service gateway. + Crn string `pulumi:"crn"` + // The policy to use for bindings from accounts without an explicit account policy. + DefaultAccessPolicy string `pulumi:"defaultAccessPolicy"` + // Indicates whether endpoint gateway bindings will be automatically deleted after endpointGatewayBindingAutoDeleteTimeout hours have passed. + EndpointGatewayBindingAutoDelete bool `pulumi:"endpointGatewayBindingAutoDelete"` + // If endpointGatewayBindingAutoDelete is true, the hours after which endpoint gateway bindings will be automatically deleted. + EndpointGatewayBindingAutoDeleteTimeout int `pulumi:"endpointGatewayBindingAutoDeleteTimeout"` + // The number of endpoint gateways using this private path service gateway. + EndpointGatewayCount int `pulumi:"endpointGatewayCount"` + // The URL for this private path service gateway. + Href string `pulumi:"href"` + // The unique identifier for this private path service gateway. + Id string `pulumi:"id"` + // The lifecycle state of the private path service gateway. + LifecycleState string `pulumi:"lifecycleState"` + // The load balancer for this private path service gateway. + LoadBalancers []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer `pulumi:"loadBalancers"` + // The name for this private path service gateway. The name is unique across all private path service gateways in the VPC. + Name string `pulumi:"name"` + // Indicates the availability of this private path service gateway- `true`: Any account can request access to this private path service gateway.- `false`: Access is restricted to the account that created this private path service gateway. + Published bool `pulumi:"published"` + // The region served by this private path service gateway. + Regions []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion `pulumi:"regions"` + // The resource group for this private path service gateway. + ResourceGroups []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The fully qualified domain names for this private path service gateway. + ServiceEndpoints []string `pulumi:"serviceEndpoints"` + // The VPC this private path service gateway resides in. + Vpcs []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc `pulumi:"vpcs"` + // Indicates whether this private path service gateway has zonal affinity.- `true`: Traffic to the service from a zone will favor service endpoints in the same zone.- `false`: Traffic to the service from a zone will be load balanced across all zones in the region the service resides in. + ZonalAffinity bool `pulumi:"zonalAffinity"` +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArgs and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArgs{...} +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArgs struct { + // The date and time that the private path service gateway was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this private path service gateway. + Crn pulumi.StringInput `pulumi:"crn"` + // The policy to use for bindings from accounts without an explicit account policy. + DefaultAccessPolicy pulumi.StringInput `pulumi:"defaultAccessPolicy"` + // Indicates whether endpoint gateway bindings will be automatically deleted after endpointGatewayBindingAutoDeleteTimeout hours have passed. + EndpointGatewayBindingAutoDelete pulumi.BoolInput `pulumi:"endpointGatewayBindingAutoDelete"` + // If endpointGatewayBindingAutoDelete is true, the hours after which endpoint gateway bindings will be automatically deleted. + EndpointGatewayBindingAutoDeleteTimeout pulumi.IntInput `pulumi:"endpointGatewayBindingAutoDeleteTimeout"` + // The number of endpoint gateways using this private path service gateway. + EndpointGatewayCount pulumi.IntInput `pulumi:"endpointGatewayCount"` + // The URL for this private path service gateway. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this private path service gateway. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the private path service gateway. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The load balancer for this private path service gateway. + LoadBalancers GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayInput `pulumi:"loadBalancers"` + // The name for this private path service gateway. The name is unique across all private path service gateways in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // Indicates the availability of this private path service gateway- `true`: Any account can request access to this private path service gateway.- `false`: Access is restricted to the account that created this private path service gateway. + Published pulumi.BoolInput `pulumi:"published"` + // The region served by this private path service gateway. + Regions GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayInput `pulumi:"regions"` + // The resource group for this private path service gateway. + ResourceGroups GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayInput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The fully qualified domain names for this private path service gateway. + ServiceEndpoints pulumi.StringArrayInput `pulumi:"serviceEndpoints"` + // The VPC this private path service gateway resides in. + Vpcs GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayInput `pulumi:"vpcs"` + // Indicates whether this private path service gateway has zonal affinity.- `true`: Traffic to the service from a zone will favor service endpoints in the same zone.- `false`: Traffic to the service from a zone will be load balanced across all zones in the region the service resides in. + ZonalAffinity pulumi.BoolInput `pulumi:"zonalAffinity"` +} + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArray and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArray{ GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArgs{...} } +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArray []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayInput + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput { + return o +} + +// The date and time that the private path service gateway was created. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) string { return v.Crn }).(pulumi.StringOutput) +} + +// The policy to use for bindings from accounts without an explicit account policy. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) DefaultAccessPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) string { return v.DefaultAccessPolicy }).(pulumi.StringOutput) +} + +// Indicates whether endpoint gateway bindings will be automatically deleted after endpointGatewayBindingAutoDeleteTimeout hours have passed. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) EndpointGatewayBindingAutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) bool { + return v.EndpointGatewayBindingAutoDelete + }).(pulumi.BoolOutput) +} + +// If endpointGatewayBindingAutoDelete is true, the hours after which endpoint gateway bindings will be automatically deleted. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) EndpointGatewayBindingAutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) int { + return v.EndpointGatewayBindingAutoDeleteTimeout + }).(pulumi.IntOutput) +} + +// The number of endpoint gateways using this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) EndpointGatewayCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) int { return v.EndpointGatewayCount }).(pulumi.IntOutput) +} + +// The URL for this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of the private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The load balancer for this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) LoadBalancers() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer { + return v.LoadBalancers + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput) +} + +// The name for this private path service gateway. The name is unique across all private path service gateways in the VPC. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates the availability of this private path service gateway- `true`: Any account can request access to this private path service gateway.- `false`: Access is restricted to the account that created this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) Published() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) bool { return v.Published }).(pulumi.BoolOutput) +} + +// The region served by this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) Regions() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion { + return v.Regions + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput) +} + +// The resource group for this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) ResourceGroups() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup { + return v.ResourceGroups + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The fully qualified domain names for this private path service gateway. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) ServiceEndpoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) []string { return v.ServiceEndpoints }).(pulumi.StringArrayOutput) +} + +// The VPC this private path service gateway resides in. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) Vpcs() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc { + return v.Vpcs + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput) +} + +// Indicates whether this private path service gateway has zonal affinity.- `true`: Traffic to the service from a zone will favor service endpoints in the same zone.- `false`: Traffic to the service from a zone will be load balanced across all zones in the region the service resides in. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) ZonalAffinity() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway) bool { return v.ZonalAffinity }).(pulumi.BoolOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway { + return vs[0].([]GetIsPrivatePathServiceGatewaysPrivatePathServiceGateway)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer struct { + // The load balancer's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted `pulumi:"deleteds"` + // The load balancer's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this load balancer. + Id string `pulumi:"id"` + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArgs and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArgs{...} +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArgs struct { + // The load balancer's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayInput `pulumi:"deleteds"` + // The load balancer's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this load balancer. + Id pulumi.StringInput `pulumi:"id"` + // The name for this load balancer. The name is unique across all load balancers in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArray and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArray{ GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArgs{...} } +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArray []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerInput + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput { + return o +} + +// The load balancer's CRN. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) Deleteds() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer) []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted { + return v.Deleteds + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) +} + +// The load balancer's canonical URL. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this load balancer. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this load balancer. The name is unique across all load balancers in the VPC. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer { + return vs[0].([]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancer)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArgs and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArgs{...} +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput) +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArray and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArray{ GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArgs{...} } +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArray []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedInput + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted { + return vs[0].([]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeleted)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArgs and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArgs{...} +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput) +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArray and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArray{ GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArgs{...} } +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArray []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionInput + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion { + return vs[0].([]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegion)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArgs and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArgs{...} +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput) +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArray and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArray{ GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArgs{...} } +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArray []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupInput + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup { + return vs[0].([]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroup)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArgs and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArgs{...} +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArray and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArray{ GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArgs{...} } +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArray []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcInput + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) Deleteds() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc) []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted { + return v.Deleteds + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc { + return vs[0].([]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpc)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArgs and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArgs{...} +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArgs) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput) +} + +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayInput is an input type that accepts GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArray and GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayInput` via: +// +// GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArray{ GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArgs{...} } +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput + ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutputWithContext(context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArray []GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedInput + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted)(nil)).Elem() +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput { + return i.ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArray) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted)(nil)).Elem() +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput() GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput) ToGetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput { + return o +} + +func (o GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted { + return vs[0].([]GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeleted)[vs[1].(int)] + }).(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput) +} + +type GetIsPublicAddressRangeResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsPublicAddressRangeResourceGroupInput is an input type that accepts GetIsPublicAddressRangeResourceGroupArgs and GetIsPublicAddressRangeResourceGroupOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeResourceGroupInput` via: +// +// GetIsPublicAddressRangeResourceGroupArgs{...} +type GetIsPublicAddressRangeResourceGroupInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeResourceGroupOutput() GetIsPublicAddressRangeResourceGroupOutput + ToGetIsPublicAddressRangeResourceGroupOutputWithContext(context.Context) GetIsPublicAddressRangeResourceGroupOutput +} + +type GetIsPublicAddressRangeResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPublicAddressRangeResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeResourceGroupArgs) ToGetIsPublicAddressRangeResourceGroupOutput() GetIsPublicAddressRangeResourceGroupOutput { + return i.ToGetIsPublicAddressRangeResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeResourceGroupArgs) ToGetIsPublicAddressRangeResourceGroupOutputWithContext(ctx context.Context) GetIsPublicAddressRangeResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeResourceGroupOutput) +} + +// GetIsPublicAddressRangeResourceGroupArrayInput is an input type that accepts GetIsPublicAddressRangeResourceGroupArray and GetIsPublicAddressRangeResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeResourceGroupArrayInput` via: +// +// GetIsPublicAddressRangeResourceGroupArray{ GetIsPublicAddressRangeResourceGroupArgs{...} } +type GetIsPublicAddressRangeResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeResourceGroupArrayOutput() GetIsPublicAddressRangeResourceGroupArrayOutput + ToGetIsPublicAddressRangeResourceGroupArrayOutputWithContext(context.Context) GetIsPublicAddressRangeResourceGroupArrayOutput +} + +type GetIsPublicAddressRangeResourceGroupArray []GetIsPublicAddressRangeResourceGroupInput + +func (GetIsPublicAddressRangeResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeResourceGroupArray) ToGetIsPublicAddressRangeResourceGroupArrayOutput() GetIsPublicAddressRangeResourceGroupArrayOutput { + return i.ToGetIsPublicAddressRangeResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeResourceGroupArray) ToGetIsPublicAddressRangeResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeResourceGroupArrayOutput) +} + +type GetIsPublicAddressRangeResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeResourceGroupOutput) ToGetIsPublicAddressRangeResourceGroupOutput() GetIsPublicAddressRangeResourceGroupOutput { + return o +} + +func (o GetIsPublicAddressRangeResourceGroupOutput) ToGetIsPublicAddressRangeResourceGroupOutputWithContext(ctx context.Context) GetIsPublicAddressRangeResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsPublicAddressRangeResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsPublicAddressRangeResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsPublicAddressRangeResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPublicAddressRangeResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeResourceGroupArrayOutput) ToGetIsPublicAddressRangeResourceGroupArrayOutput() GetIsPublicAddressRangeResourceGroupArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeResourceGroupArrayOutput) ToGetIsPublicAddressRangeResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeResourceGroupArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangeResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangeResourceGroup { + return vs[0].([]GetIsPublicAddressRangeResourceGroup)[vs[1].(int)] + }).(GetIsPublicAddressRangeResourceGroupOutput) +} + +type GetIsPublicAddressRangeTarget struct { + // The VPC this public address range is bound to. + Vpcs []GetIsPublicAddressRangeTargetVpc `pulumi:"vpcs"` + // The zone this public address range resides in. + Zones []GetIsPublicAddressRangeTargetZone `pulumi:"zones"` +} + +// GetIsPublicAddressRangeTargetInput is an input type that accepts GetIsPublicAddressRangeTargetArgs and GetIsPublicAddressRangeTargetOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeTargetInput` via: +// +// GetIsPublicAddressRangeTargetArgs{...} +type GetIsPublicAddressRangeTargetInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeTargetOutput() GetIsPublicAddressRangeTargetOutput + ToGetIsPublicAddressRangeTargetOutputWithContext(context.Context) GetIsPublicAddressRangeTargetOutput +} + +type GetIsPublicAddressRangeTargetArgs struct { + // The VPC this public address range is bound to. + Vpcs GetIsPublicAddressRangeTargetVpcArrayInput `pulumi:"vpcs"` + // The zone this public address range resides in. + Zones GetIsPublicAddressRangeTargetZoneArrayInput `pulumi:"zones"` +} + +func (GetIsPublicAddressRangeTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeTarget)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeTargetArgs) ToGetIsPublicAddressRangeTargetOutput() GetIsPublicAddressRangeTargetOutput { + return i.ToGetIsPublicAddressRangeTargetOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeTargetArgs) ToGetIsPublicAddressRangeTargetOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeTargetOutput) +} + +// GetIsPublicAddressRangeTargetArrayInput is an input type that accepts GetIsPublicAddressRangeTargetArray and GetIsPublicAddressRangeTargetArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeTargetArrayInput` via: +// +// GetIsPublicAddressRangeTargetArray{ GetIsPublicAddressRangeTargetArgs{...} } +type GetIsPublicAddressRangeTargetArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeTargetArrayOutput() GetIsPublicAddressRangeTargetArrayOutput + ToGetIsPublicAddressRangeTargetArrayOutputWithContext(context.Context) GetIsPublicAddressRangeTargetArrayOutput +} + +type GetIsPublicAddressRangeTargetArray []GetIsPublicAddressRangeTargetInput + +func (GetIsPublicAddressRangeTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeTarget)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeTargetArray) ToGetIsPublicAddressRangeTargetArrayOutput() GetIsPublicAddressRangeTargetArrayOutput { + return i.ToGetIsPublicAddressRangeTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeTargetArray) ToGetIsPublicAddressRangeTargetArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeTargetArrayOutput) +} + +type GetIsPublicAddressRangeTargetOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeTarget)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeTargetOutput) ToGetIsPublicAddressRangeTargetOutput() GetIsPublicAddressRangeTargetOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetOutput) ToGetIsPublicAddressRangeTargetOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetOutput { + return o +} + +// The VPC this public address range is bound to. +func (o GetIsPublicAddressRangeTargetOutput) Vpcs() GetIsPublicAddressRangeTargetVpcArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTarget) []GetIsPublicAddressRangeTargetVpc { return v.Vpcs }).(GetIsPublicAddressRangeTargetVpcArrayOutput) +} + +// The zone this public address range resides in. +func (o GetIsPublicAddressRangeTargetOutput) Zones() GetIsPublicAddressRangeTargetZoneArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTarget) []GetIsPublicAddressRangeTargetZone { return v.Zones }).(GetIsPublicAddressRangeTargetZoneArrayOutput) +} + +type GetIsPublicAddressRangeTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeTarget)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeTargetArrayOutput) ToGetIsPublicAddressRangeTargetArrayOutput() GetIsPublicAddressRangeTargetArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetArrayOutput) ToGetIsPublicAddressRangeTargetArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangeTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangeTarget { + return vs[0].([]GetIsPublicAddressRangeTarget)[vs[1].(int)] + }).(GetIsPublicAddressRangeTargetOutput) +} + +type GetIsPublicAddressRangeTargetVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsPublicAddressRangeTargetVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPublicAddressRangeTargetVpcInput is an input type that accepts GetIsPublicAddressRangeTargetVpcArgs and GetIsPublicAddressRangeTargetVpcOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeTargetVpcInput` via: +// +// GetIsPublicAddressRangeTargetVpcArgs{...} +type GetIsPublicAddressRangeTargetVpcInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeTargetVpcOutput() GetIsPublicAddressRangeTargetVpcOutput + ToGetIsPublicAddressRangeTargetVpcOutputWithContext(context.Context) GetIsPublicAddressRangeTargetVpcOutput +} + +type GetIsPublicAddressRangeTargetVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsPublicAddressRangeTargetVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPublicAddressRangeTargetVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeTargetVpcArgs) ToGetIsPublicAddressRangeTargetVpcOutput() GetIsPublicAddressRangeTargetVpcOutput { + return i.ToGetIsPublicAddressRangeTargetVpcOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeTargetVpcArgs) ToGetIsPublicAddressRangeTargetVpcOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeTargetVpcOutput) +} + +// GetIsPublicAddressRangeTargetVpcArrayInput is an input type that accepts GetIsPublicAddressRangeTargetVpcArray and GetIsPublicAddressRangeTargetVpcArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeTargetVpcArrayInput` via: +// +// GetIsPublicAddressRangeTargetVpcArray{ GetIsPublicAddressRangeTargetVpcArgs{...} } +type GetIsPublicAddressRangeTargetVpcArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeTargetVpcArrayOutput() GetIsPublicAddressRangeTargetVpcArrayOutput + ToGetIsPublicAddressRangeTargetVpcArrayOutputWithContext(context.Context) GetIsPublicAddressRangeTargetVpcArrayOutput +} + +type GetIsPublicAddressRangeTargetVpcArray []GetIsPublicAddressRangeTargetVpcInput + +func (GetIsPublicAddressRangeTargetVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeTargetVpcArray) ToGetIsPublicAddressRangeTargetVpcArrayOutput() GetIsPublicAddressRangeTargetVpcArrayOutput { + return i.ToGetIsPublicAddressRangeTargetVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeTargetVpcArray) ToGetIsPublicAddressRangeTargetVpcArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeTargetVpcArrayOutput) +} + +type GetIsPublicAddressRangeTargetVpcOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeTargetVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeTargetVpcOutput) ToGetIsPublicAddressRangeTargetVpcOutput() GetIsPublicAddressRangeTargetVpcOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetVpcOutput) ToGetIsPublicAddressRangeTargetVpcOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsPublicAddressRangeTargetVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsPublicAddressRangeTargetVpcOutput) Deleteds() GetIsPublicAddressRangeTargetVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetVpc) []GetIsPublicAddressRangeTargetVpcDeleted { return v.Deleteds }).(GetIsPublicAddressRangeTargetVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsPublicAddressRangeTargetVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsPublicAddressRangeTargetVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsPublicAddressRangeTargetVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPublicAddressRangeTargetVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsPublicAddressRangeTargetVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeTargetVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeTargetVpcArrayOutput) ToGetIsPublicAddressRangeTargetVpcArrayOutput() GetIsPublicAddressRangeTargetVpcArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetVpcArrayOutput) ToGetIsPublicAddressRangeTargetVpcArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetVpcArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetVpcArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangeTargetVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangeTargetVpc { + return vs[0].([]GetIsPublicAddressRangeTargetVpc)[vs[1].(int)] + }).(GetIsPublicAddressRangeTargetVpcOutput) +} + +type GetIsPublicAddressRangeTargetVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsPublicAddressRangeTargetVpcDeletedInput is an input type that accepts GetIsPublicAddressRangeTargetVpcDeletedArgs and GetIsPublicAddressRangeTargetVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeTargetVpcDeletedInput` via: +// +// GetIsPublicAddressRangeTargetVpcDeletedArgs{...} +type GetIsPublicAddressRangeTargetVpcDeletedInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeTargetVpcDeletedOutput() GetIsPublicAddressRangeTargetVpcDeletedOutput + ToGetIsPublicAddressRangeTargetVpcDeletedOutputWithContext(context.Context) GetIsPublicAddressRangeTargetVpcDeletedOutput +} + +type GetIsPublicAddressRangeTargetVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsPublicAddressRangeTargetVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeTargetVpcDeletedArgs) ToGetIsPublicAddressRangeTargetVpcDeletedOutput() GetIsPublicAddressRangeTargetVpcDeletedOutput { + return i.ToGetIsPublicAddressRangeTargetVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeTargetVpcDeletedArgs) ToGetIsPublicAddressRangeTargetVpcDeletedOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeTargetVpcDeletedOutput) +} + +// GetIsPublicAddressRangeTargetVpcDeletedArrayInput is an input type that accepts GetIsPublicAddressRangeTargetVpcDeletedArray and GetIsPublicAddressRangeTargetVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeTargetVpcDeletedArrayInput` via: +// +// GetIsPublicAddressRangeTargetVpcDeletedArray{ GetIsPublicAddressRangeTargetVpcDeletedArgs{...} } +type GetIsPublicAddressRangeTargetVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeTargetVpcDeletedArrayOutput() GetIsPublicAddressRangeTargetVpcDeletedArrayOutput + ToGetIsPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(context.Context) GetIsPublicAddressRangeTargetVpcDeletedArrayOutput +} + +type GetIsPublicAddressRangeTargetVpcDeletedArray []GetIsPublicAddressRangeTargetVpcDeletedInput + +func (GetIsPublicAddressRangeTargetVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeTargetVpcDeletedArray) ToGetIsPublicAddressRangeTargetVpcDeletedArrayOutput() GetIsPublicAddressRangeTargetVpcDeletedArrayOutput { + return i.ToGetIsPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeTargetVpcDeletedArray) ToGetIsPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeTargetVpcDeletedArrayOutput) +} + +type GetIsPublicAddressRangeTargetVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeTargetVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeTargetVpcDeletedOutput) ToGetIsPublicAddressRangeTargetVpcDeletedOutput() GetIsPublicAddressRangeTargetVpcDeletedOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetVpcDeletedOutput) ToGetIsPublicAddressRangeTargetVpcDeletedOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsPublicAddressRangeTargetVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsPublicAddressRangeTargetVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeTargetVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeTargetVpcDeletedArrayOutput) ToGetIsPublicAddressRangeTargetVpcDeletedArrayOutput() GetIsPublicAddressRangeTargetVpcDeletedArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetVpcDeletedArrayOutput) ToGetIsPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetVpcDeletedArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangeTargetVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangeTargetVpcDeleted { + return vs[0].([]GetIsPublicAddressRangeTargetVpcDeleted)[vs[1].(int)] + }).(GetIsPublicAddressRangeTargetVpcDeletedOutput) +} + +type GetIsPublicAddressRangeTargetZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsPublicAddressRangeTargetZoneInput is an input type that accepts GetIsPublicAddressRangeTargetZoneArgs and GetIsPublicAddressRangeTargetZoneOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeTargetZoneInput` via: +// +// GetIsPublicAddressRangeTargetZoneArgs{...} +type GetIsPublicAddressRangeTargetZoneInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeTargetZoneOutput() GetIsPublicAddressRangeTargetZoneOutput + ToGetIsPublicAddressRangeTargetZoneOutputWithContext(context.Context) GetIsPublicAddressRangeTargetZoneOutput +} + +type GetIsPublicAddressRangeTargetZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPublicAddressRangeTargetZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeTargetZoneArgs) ToGetIsPublicAddressRangeTargetZoneOutput() GetIsPublicAddressRangeTargetZoneOutput { + return i.ToGetIsPublicAddressRangeTargetZoneOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeTargetZoneArgs) ToGetIsPublicAddressRangeTargetZoneOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeTargetZoneOutput) +} + +// GetIsPublicAddressRangeTargetZoneArrayInput is an input type that accepts GetIsPublicAddressRangeTargetZoneArray and GetIsPublicAddressRangeTargetZoneArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangeTargetZoneArrayInput` via: +// +// GetIsPublicAddressRangeTargetZoneArray{ GetIsPublicAddressRangeTargetZoneArgs{...} } +type GetIsPublicAddressRangeTargetZoneArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangeTargetZoneArrayOutput() GetIsPublicAddressRangeTargetZoneArrayOutput + ToGetIsPublicAddressRangeTargetZoneArrayOutputWithContext(context.Context) GetIsPublicAddressRangeTargetZoneArrayOutput +} + +type GetIsPublicAddressRangeTargetZoneArray []GetIsPublicAddressRangeTargetZoneInput + +func (GetIsPublicAddressRangeTargetZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (i GetIsPublicAddressRangeTargetZoneArray) ToGetIsPublicAddressRangeTargetZoneArrayOutput() GetIsPublicAddressRangeTargetZoneArrayOutput { + return i.ToGetIsPublicAddressRangeTargetZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangeTargetZoneArray) ToGetIsPublicAddressRangeTargetZoneArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangeTargetZoneArrayOutput) +} + +type GetIsPublicAddressRangeTargetZoneOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeTargetZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeTargetZoneOutput) ToGetIsPublicAddressRangeTargetZoneOutput() GetIsPublicAddressRangeTargetZoneOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetZoneOutput) ToGetIsPublicAddressRangeTargetZoneOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsPublicAddressRangeTargetZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsPublicAddressRangeTargetZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangeTargetZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPublicAddressRangeTargetZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangeTargetZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (o GetIsPublicAddressRangeTargetZoneArrayOutput) ToGetIsPublicAddressRangeTargetZoneArrayOutput() GetIsPublicAddressRangeTargetZoneArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetZoneArrayOutput) ToGetIsPublicAddressRangeTargetZoneArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangeTargetZoneArrayOutput { + return o +} + +func (o GetIsPublicAddressRangeTargetZoneArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangeTargetZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangeTargetZone { + return vs[0].([]GetIsPublicAddressRangeTargetZone)[vs[1].(int)] + }).(GetIsPublicAddressRangeTargetZoneOutput) +} + +type GetIsPublicAddressRangesPublicAddressRange struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The public IPv4 range, expressed in CIDR format. + Cidr string `pulumi:"cidr"` + // The date and time that the public address range was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this public address range. + Crn string `pulumi:"crn"` + // The URL for this public address range. + Href string `pulumi:"href"` + // The unique identifier for this public address range. + Id string `pulumi:"id"` + // The number of IPv4 addresses in this public address range. + Ipv4AddressCount int `pulumi:"ipv4AddressCount"` + // The lifecycle state of the public address range. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name string `pulumi:"name"` + // The resource group for this public address range. + ResourceGroups []GetIsPublicAddressRangesPublicAddressRangeResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // List of tags + Tags []string `pulumi:"tags"` + // The target this public address range is bound to.If absent, this pubic address range is not bound to a target. + Targets []GetIsPublicAddressRangesPublicAddressRangeTarget `pulumi:"targets"` +} + +// GetIsPublicAddressRangesPublicAddressRangeInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeArgs and GetIsPublicAddressRangesPublicAddressRangeOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeArgs{...} +type GetIsPublicAddressRangesPublicAddressRangeInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeOutput() GetIsPublicAddressRangesPublicAddressRangeOutput + ToGetIsPublicAddressRangesPublicAddressRangeOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The public IPv4 range, expressed in CIDR format. + Cidr pulumi.StringInput `pulumi:"cidr"` + // The date and time that the public address range was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this public address range. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this public address range. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this public address range. + Id pulumi.StringInput `pulumi:"id"` + // The number of IPv4 addresses in this public address range. + Ipv4AddressCount pulumi.IntInput `pulumi:"ipv4AddressCount"` + // The lifecycle state of the public address range. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource group for this public address range. + ResourceGroups GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayInput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // List of tags + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The target this public address range is bound to.If absent, this pubic address range is not bound to a target. + Targets GetIsPublicAddressRangesPublicAddressRangeTargetArrayInput `pulumi:"targets"` +} + +func (GetIsPublicAddressRangesPublicAddressRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRange)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeArgs) ToGetIsPublicAddressRangesPublicAddressRangeOutput() GetIsPublicAddressRangesPublicAddressRangeOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeArgs) ToGetIsPublicAddressRangesPublicAddressRangeOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeOutput) +} + +// GetIsPublicAddressRangesPublicAddressRangeArrayInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeArray and GetIsPublicAddressRangesPublicAddressRangeArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeArrayInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeArray{ GetIsPublicAddressRangesPublicAddressRangeArgs{...} } +type GetIsPublicAddressRangesPublicAddressRangeArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeArrayOutput() GetIsPublicAddressRangesPublicAddressRangeArrayOutput + ToGetIsPublicAddressRangesPublicAddressRangeArrayOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeArrayOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeArray []GetIsPublicAddressRangesPublicAddressRangeInput + +func (GetIsPublicAddressRangesPublicAddressRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRange)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeArray) ToGetIsPublicAddressRangesPublicAddressRangeArrayOutput() GetIsPublicAddressRangesPublicAddressRangeArrayOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeArray) ToGetIsPublicAddressRangesPublicAddressRangeArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeArrayOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRange)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) ToGetIsPublicAddressRangesPublicAddressRangeOutput() GetIsPublicAddressRangesPublicAddressRangeOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) ToGetIsPublicAddressRangesPublicAddressRangeOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeOutput { + return o +} + +// List of access tags +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The public IPv4 range, expressed in CIDR format. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) string { return v.Cidr }).(pulumi.StringOutput) +} + +// The date and time that the public address range was created. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this public address range. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this public address range. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this public address range. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) string { return v.Id }).(pulumi.StringOutput) +} + +// The number of IPv4 addresses in this public address range. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) Ipv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) int { return v.Ipv4AddressCount }).(pulumi.IntOutput) +} + +// The lifecycle state of the public address range. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this public address range. The name is unique across all public address ranges in the region. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this public address range. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) ResourceGroups() GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) []GetIsPublicAddressRangesPublicAddressRangeResourceGroup { + return v.ResourceGroups + }).(GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput) +} + +// The resource type. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// List of tags +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The target this public address range is bound to.If absent, this pubic address range is not bound to a target. +func (o GetIsPublicAddressRangesPublicAddressRangeOutput) Targets() GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRange) []GetIsPublicAddressRangesPublicAddressRangeTarget { + return v.Targets + }).(GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRange)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeArrayOutput() GetIsPublicAddressRangesPublicAddressRangeArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangesPublicAddressRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangesPublicAddressRange { + return vs[0].([]GetIsPublicAddressRangesPublicAddressRange)[vs[1].(int)] + }).(GetIsPublicAddressRangesPublicAddressRangeOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsPublicAddressRangesPublicAddressRangeResourceGroupInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeResourceGroupArgs and GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeResourceGroupInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeResourceGroupArgs{...} +type GetIsPublicAddressRangesPublicAddressRangeResourceGroupInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput() GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput + ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPublicAddressRangesPublicAddressRangeResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeResourceGroupArgs) ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput() GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeResourceGroupArgs) ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput) +} + +// GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeResourceGroupArray and GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeResourceGroupArray{ GetIsPublicAddressRangesPublicAddressRangeResourceGroupArgs{...} } +type GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput() GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput + ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeResourceGroupArray []GetIsPublicAddressRangesPublicAddressRangeResourceGroupInput + +func (GetIsPublicAddressRangesPublicAddressRangeResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeResourceGroupArray) ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput() GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeResourceGroupArray) ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput) ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput() GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput) ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeResourceGroup)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput() GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangesPublicAddressRangeResourceGroup { + return vs[0].([]GetIsPublicAddressRangesPublicAddressRangeResourceGroup)[vs[1].(int)] + }).(GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTarget struct { + // The VPC this public address range is bound to. + Vpcs []GetIsPublicAddressRangesPublicAddressRangeTargetVpc `pulumi:"vpcs"` + // The zone this public address range resides in. + Zones []GetIsPublicAddressRangesPublicAddressRangeTargetZone `pulumi:"zones"` +} + +// GetIsPublicAddressRangesPublicAddressRangeTargetInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeTargetArgs and GetIsPublicAddressRangesPublicAddressRangeTargetOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeTargetInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeTargetArgs{...} +type GetIsPublicAddressRangesPublicAddressRangeTargetInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeTargetOutput() GetIsPublicAddressRangesPublicAddressRangeTargetOutput + ToGetIsPublicAddressRangesPublicAddressRangeTargetOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetArgs struct { + // The VPC this public address range is bound to. + Vpcs GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayInput `pulumi:"vpcs"` + // The zone this public address range resides in. + Zones GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayInput `pulumi:"zones"` +} + +func (GetIsPublicAddressRangesPublicAddressRangeTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTarget)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetArgs) ToGetIsPublicAddressRangesPublicAddressRangeTargetOutput() GetIsPublicAddressRangesPublicAddressRangeTargetOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeTargetOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetArgs) ToGetIsPublicAddressRangesPublicAddressRangeTargetOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeTargetOutput) +} + +// GetIsPublicAddressRangesPublicAddressRangeTargetArrayInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeTargetArray and GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeTargetArrayInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeTargetArray{ GetIsPublicAddressRangesPublicAddressRangeTargetArgs{...} } +type GetIsPublicAddressRangesPublicAddressRangeTargetArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput + ToGetIsPublicAddressRangesPublicAddressRangeTargetArrayOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetArray []GetIsPublicAddressRangesPublicAddressRangeTargetInput + +func (GetIsPublicAddressRangesPublicAddressRangeTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeTarget)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetArray) ToGetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetArray) ToGetIsPublicAddressRangesPublicAddressRangeTargetArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTarget)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetOutput() GetIsPublicAddressRangesPublicAddressRangeTargetOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetOutput { + return o +} + +// The VPC this public address range is bound to. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetOutput) Vpcs() GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTarget) []GetIsPublicAddressRangesPublicAddressRangeTargetVpc { + return v.Vpcs + }).(GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput) +} + +// The zone this public address range resides in. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetOutput) Zones() GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTarget) []GetIsPublicAddressRangesPublicAddressRangeTargetZone { + return v.Zones + }).(GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeTarget)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangesPublicAddressRangeTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangesPublicAddressRangeTarget { + return vs[0].([]GetIsPublicAddressRangesPublicAddressRangeTarget)[vs[1].(int)] + }).(GetIsPublicAddressRangesPublicAddressRangeTargetOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsPublicAddressRangesPublicAddressRangeTargetVpcInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeTargetVpcArgs and GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeTargetVpcInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeTargetVpcArgs{...} +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput + ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsPublicAddressRangesPublicAddressRangeTargetVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetVpcArgs) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetVpcArgs) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) +} + +// GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeTargetVpcArray and GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeTargetVpcArray{ GetIsPublicAddressRangesPublicAddressRangeTargetVpcArgs{...} } +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput + ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcArray []GetIsPublicAddressRangesPublicAddressRangeTargetVpcInput + +func (GetIsPublicAddressRangesPublicAddressRangeTargetVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetVpcArray) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetVpcArray) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) Deleteds() GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetVpc) []GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted { + return v.Deleteds + }).(GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeTargetVpc)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangesPublicAddressRangeTargetVpc { + return vs[0].([]GetIsPublicAddressRangesPublicAddressRangeTargetVpc)[vs[1].(int)] + }).(GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArgs and GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArgs{...} +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput + ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArgs) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArgs) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput) +} + +// GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArray and GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArray{ GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArgs{...} } +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput + ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArray []GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedInput + +func (GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArray) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArray) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted { + return vs[0].([]GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeleted)[vs[1].(int)] + }).(GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsPublicAddressRangesPublicAddressRangeTargetZoneInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeTargetZoneArgs and GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeTargetZoneInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeTargetZoneArgs{...} +type GetIsPublicAddressRangesPublicAddressRangeTargetZoneInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput() GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput + ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsPublicAddressRangesPublicAddressRangeTargetZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetZoneArgs) ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput() GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetZoneArgs) ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput) +} + +// GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayInput is an input type that accepts GetIsPublicAddressRangesPublicAddressRangeTargetZoneArray and GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput values. +// You can construct a concrete instance of `GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayInput` via: +// +// GetIsPublicAddressRangesPublicAddressRangeTargetZoneArray{ GetIsPublicAddressRangesPublicAddressRangeTargetZoneArgs{...} } +type GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayInput interface { + pulumi.Input + + ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput + ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutputWithContext(context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetZoneArray []GetIsPublicAddressRangesPublicAddressRangeTargetZoneInput + +func (GetIsPublicAddressRangesPublicAddressRangeTargetZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetZoneArray) ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput { + return i.ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicAddressRangesPublicAddressRangeTargetZoneArray) ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput() GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicAddressRangesPublicAddressRangeTargetZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicAddressRangesPublicAddressRangeTargetZone)(nil)).Elem() +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput() GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput) ToGetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutputWithContext(ctx context.Context) GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput { + return o +} + +func (o GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput) Index(i pulumi.IntInput) GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicAddressRangesPublicAddressRangeTargetZone { + return vs[0].([]GetIsPublicAddressRangesPublicAddressRangeTargetZone)[vs[1].(int)] + }).(GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput) +} + +type GetIsPublicGatewaysPublicGateway struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The crn of the resource + Crn string `pulumi:"crn"` + // Public gateway floating IP + FloatingIp map[string]string `pulumi:"floatingIp"` + // Public gateway id + Id string `pulumi:"id"` + // Public gateway Name + Name string `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn string `pulumi:"resourceCrn"` + // Public gateway resource group info + ResourceGroup string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus string `pulumi:"resourceStatus"` + // Public gateway instance status + Status string `pulumi:"status"` + // Service tags for the public gateway instance + Tags []string `pulumi:"tags"` + // Public gateway VPC info + Vpc string `pulumi:"vpc"` + // Public gateway zone info + Zone string `pulumi:"zone"` +} + +// GetIsPublicGatewaysPublicGatewayInput is an input type that accepts GetIsPublicGatewaysPublicGatewayArgs and GetIsPublicGatewaysPublicGatewayOutput values. +// You can construct a concrete instance of `GetIsPublicGatewaysPublicGatewayInput` via: +// +// GetIsPublicGatewaysPublicGatewayArgs{...} +type GetIsPublicGatewaysPublicGatewayInput interface { + pulumi.Input + + ToGetIsPublicGatewaysPublicGatewayOutput() GetIsPublicGatewaysPublicGatewayOutput + ToGetIsPublicGatewaysPublicGatewayOutputWithContext(context.Context) GetIsPublicGatewaysPublicGatewayOutput +} + +type GetIsPublicGatewaysPublicGatewayArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The crn of the resource + Crn pulumi.StringInput `pulumi:"crn"` + // Public gateway floating IP + FloatingIp pulumi.StringMapInput `pulumi:"floatingIp"` + // Public gateway id + Id pulumi.StringInput `pulumi:"id"` + // Public gateway Name + Name pulumi.StringInput `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringInput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringInput `pulumi:"resourceCrn"` + // Public gateway resource group info + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringInput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringInput `pulumi:"resourceStatus"` + // Public gateway instance status + Status pulumi.StringInput `pulumi:"status"` + // Service tags for the public gateway instance + Tags pulumi.StringArrayInput `pulumi:"tags"` + // Public gateway VPC info + Vpc pulumi.StringInput `pulumi:"vpc"` + // Public gateway zone info + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsPublicGatewaysPublicGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicGatewaysPublicGateway)(nil)).Elem() +} + +func (i GetIsPublicGatewaysPublicGatewayArgs) ToGetIsPublicGatewaysPublicGatewayOutput() GetIsPublicGatewaysPublicGatewayOutput { + return i.ToGetIsPublicGatewaysPublicGatewayOutputWithContext(context.Background()) +} + +func (i GetIsPublicGatewaysPublicGatewayArgs) ToGetIsPublicGatewaysPublicGatewayOutputWithContext(ctx context.Context) GetIsPublicGatewaysPublicGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicGatewaysPublicGatewayOutput) +} + +// GetIsPublicGatewaysPublicGatewayArrayInput is an input type that accepts GetIsPublicGatewaysPublicGatewayArray and GetIsPublicGatewaysPublicGatewayArrayOutput values. +// You can construct a concrete instance of `GetIsPublicGatewaysPublicGatewayArrayInput` via: +// +// GetIsPublicGatewaysPublicGatewayArray{ GetIsPublicGatewaysPublicGatewayArgs{...} } +type GetIsPublicGatewaysPublicGatewayArrayInput interface { + pulumi.Input + + ToGetIsPublicGatewaysPublicGatewayArrayOutput() GetIsPublicGatewaysPublicGatewayArrayOutput + ToGetIsPublicGatewaysPublicGatewayArrayOutputWithContext(context.Context) GetIsPublicGatewaysPublicGatewayArrayOutput +} + +type GetIsPublicGatewaysPublicGatewayArray []GetIsPublicGatewaysPublicGatewayInput + +func (GetIsPublicGatewaysPublicGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicGatewaysPublicGateway)(nil)).Elem() +} + +func (i GetIsPublicGatewaysPublicGatewayArray) ToGetIsPublicGatewaysPublicGatewayArrayOutput() GetIsPublicGatewaysPublicGatewayArrayOutput { + return i.ToGetIsPublicGatewaysPublicGatewayArrayOutputWithContext(context.Background()) +} + +func (i GetIsPublicGatewaysPublicGatewayArray) ToGetIsPublicGatewaysPublicGatewayArrayOutputWithContext(ctx context.Context) GetIsPublicGatewaysPublicGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsPublicGatewaysPublicGatewayArrayOutput) +} + +type GetIsPublicGatewaysPublicGatewayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicGatewaysPublicGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsPublicGatewaysPublicGateway)(nil)).Elem() +} + +func (o GetIsPublicGatewaysPublicGatewayOutput) ToGetIsPublicGatewaysPublicGatewayOutput() GetIsPublicGatewaysPublicGatewayOutput { + return o +} + +func (o GetIsPublicGatewaysPublicGatewayOutput) ToGetIsPublicGatewaysPublicGatewayOutputWithContext(ctx context.Context) GetIsPublicGatewaysPublicGatewayOutput { + return o +} + +// List of access management tags +func (o GetIsPublicGatewaysPublicGatewayOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The crn of the resource +func (o GetIsPublicGatewaysPublicGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.Crn }).(pulumi.StringOutput) +} + +// Public gateway floating IP +func (o GetIsPublicGatewaysPublicGatewayOutput) FloatingIp() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) map[string]string { return v.FloatingIp }).(pulumi.StringMapOutput) +} + +// Public gateway id +func (o GetIsPublicGatewaysPublicGatewayOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.Id }).(pulumi.StringOutput) +} + +// Public gateway Name +func (o GetIsPublicGatewaysPublicGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.Name }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o GetIsPublicGatewaysPublicGatewayOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o GetIsPublicGatewaysPublicGatewayOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// Public gateway resource group info +func (o GetIsPublicGatewaysPublicGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o GetIsPublicGatewaysPublicGatewayOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o GetIsPublicGatewaysPublicGatewayOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o GetIsPublicGatewaysPublicGatewayOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// Public gateway instance status +func (o GetIsPublicGatewaysPublicGatewayOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.Status }).(pulumi.StringOutput) +} + +// Service tags for the public gateway instance +func (o GetIsPublicGatewaysPublicGatewayOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Public gateway VPC info +func (o GetIsPublicGatewaysPublicGatewayOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.Vpc }).(pulumi.StringOutput) +} + +// Public gateway zone info +func (o GetIsPublicGatewaysPublicGatewayOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsPublicGatewaysPublicGateway) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsPublicGatewaysPublicGatewayArrayOutput struct{ *pulumi.OutputState } + +func (GetIsPublicGatewaysPublicGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsPublicGatewaysPublicGateway)(nil)).Elem() +} + +func (o GetIsPublicGatewaysPublicGatewayArrayOutput) ToGetIsPublicGatewaysPublicGatewayArrayOutput() GetIsPublicGatewaysPublicGatewayArrayOutput { + return o +} + +func (o GetIsPublicGatewaysPublicGatewayArrayOutput) ToGetIsPublicGatewaysPublicGatewayArrayOutputWithContext(ctx context.Context) GetIsPublicGatewaysPublicGatewayArrayOutput { + return o +} + +func (o GetIsPublicGatewaysPublicGatewayArrayOutput) Index(i pulumi.IntInput) GetIsPublicGatewaysPublicGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsPublicGatewaysPublicGateway { + return vs[0].([]GetIsPublicGatewaysPublicGateway)[vs[1].(int)] + }).(GetIsPublicGatewaysPublicGatewayOutput) +} + +type GetIsRegionsRegion struct { + Endpoint string `pulumi:"endpoint"` + Href string `pulumi:"href"` + Name string `pulumi:"name"` + Status string `pulumi:"status"` +} + +// GetIsRegionsRegionInput is an input type that accepts GetIsRegionsRegionArgs and GetIsRegionsRegionOutput values. +// You can construct a concrete instance of `GetIsRegionsRegionInput` via: +// +// GetIsRegionsRegionArgs{...} +type GetIsRegionsRegionInput interface { + pulumi.Input + + ToGetIsRegionsRegionOutput() GetIsRegionsRegionOutput + ToGetIsRegionsRegionOutputWithContext(context.Context) GetIsRegionsRegionOutput +} + +type GetIsRegionsRegionArgs struct { + Endpoint pulumi.StringInput `pulumi:"endpoint"` + Href pulumi.StringInput `pulumi:"href"` + Name pulumi.StringInput `pulumi:"name"` + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetIsRegionsRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsRegionsRegion)(nil)).Elem() +} + +func (i GetIsRegionsRegionArgs) ToGetIsRegionsRegionOutput() GetIsRegionsRegionOutput { + return i.ToGetIsRegionsRegionOutputWithContext(context.Background()) +} + +func (i GetIsRegionsRegionArgs) ToGetIsRegionsRegionOutputWithContext(ctx context.Context) GetIsRegionsRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsRegionsRegionOutput) +} + +// GetIsRegionsRegionArrayInput is an input type that accepts GetIsRegionsRegionArray and GetIsRegionsRegionArrayOutput values. +// You can construct a concrete instance of `GetIsRegionsRegionArrayInput` via: +// +// GetIsRegionsRegionArray{ GetIsRegionsRegionArgs{...} } +type GetIsRegionsRegionArrayInput interface { + pulumi.Input + + ToGetIsRegionsRegionArrayOutput() GetIsRegionsRegionArrayOutput + ToGetIsRegionsRegionArrayOutputWithContext(context.Context) GetIsRegionsRegionArrayOutput +} + +type GetIsRegionsRegionArray []GetIsRegionsRegionInput + +func (GetIsRegionsRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsRegionsRegion)(nil)).Elem() +} + +func (i GetIsRegionsRegionArray) ToGetIsRegionsRegionArrayOutput() GetIsRegionsRegionArrayOutput { + return i.ToGetIsRegionsRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsRegionsRegionArray) ToGetIsRegionsRegionArrayOutputWithContext(ctx context.Context) GetIsRegionsRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsRegionsRegionArrayOutput) +} + +type GetIsRegionsRegionOutput struct{ *pulumi.OutputState } + +func (GetIsRegionsRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsRegionsRegion)(nil)).Elem() +} + +func (o GetIsRegionsRegionOutput) ToGetIsRegionsRegionOutput() GetIsRegionsRegionOutput { + return o +} + +func (o GetIsRegionsRegionOutput) ToGetIsRegionsRegionOutputWithContext(ctx context.Context) GetIsRegionsRegionOutput { + return o +} + +func (o GetIsRegionsRegionOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetIsRegionsRegion) string { return v.Endpoint }).(pulumi.StringOutput) +} + +func (o GetIsRegionsRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsRegionsRegion) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsRegionsRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsRegionsRegion) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsRegionsRegionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsRegionsRegion) string { return v.Status }).(pulumi.StringOutput) +} + +type GetIsRegionsRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsRegionsRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsRegionsRegion)(nil)).Elem() +} + +func (o GetIsRegionsRegionArrayOutput) ToGetIsRegionsRegionArrayOutput() GetIsRegionsRegionArrayOutput { + return o +} + +func (o GetIsRegionsRegionArrayOutput) ToGetIsRegionsRegionArrayOutputWithContext(ctx context.Context) GetIsRegionsRegionArrayOutput { + return o +} + +func (o GetIsRegionsRegionArrayOutput) Index(i pulumi.IntInput) GetIsRegionsRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsRegionsRegion { + return vs[0].([]GetIsRegionsRegion)[vs[1].(int)] + }).(GetIsRegionsRegionOutput) +} + +type GetIsReservationCapacity struct { + // The amount allocated to this capacity reservation. + Allocated int `pulumi:"allocated"` + // The amount of this capacity reservation available for new attachments. + Available int `pulumi:"available"` + // The status of the capacity reservation. + Status string `pulumi:"status"` + // The total amount of this capacity reservation. + Total int `pulumi:"total"` + // The amount of this capacity reservation used by existing attachments. + Used int `pulumi:"used"` +} + +// GetIsReservationCapacityInput is an input type that accepts GetIsReservationCapacityArgs and GetIsReservationCapacityOutput values. +// You can construct a concrete instance of `GetIsReservationCapacityInput` via: +// +// GetIsReservationCapacityArgs{...} +type GetIsReservationCapacityInput interface { + pulumi.Input + + ToGetIsReservationCapacityOutput() GetIsReservationCapacityOutput + ToGetIsReservationCapacityOutputWithContext(context.Context) GetIsReservationCapacityOutput +} + +type GetIsReservationCapacityArgs struct { + // The amount allocated to this capacity reservation. + Allocated pulumi.IntInput `pulumi:"allocated"` + // The amount of this capacity reservation available for new attachments. + Available pulumi.IntInput `pulumi:"available"` + // The status of the capacity reservation. + Status pulumi.StringInput `pulumi:"status"` + // The total amount of this capacity reservation. + Total pulumi.IntInput `pulumi:"total"` + // The amount of this capacity reservation used by existing attachments. + Used pulumi.IntInput `pulumi:"used"` +} + +func (GetIsReservationCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationCapacity)(nil)).Elem() +} + +func (i GetIsReservationCapacityArgs) ToGetIsReservationCapacityOutput() GetIsReservationCapacityOutput { + return i.ToGetIsReservationCapacityOutputWithContext(context.Background()) +} + +func (i GetIsReservationCapacityArgs) ToGetIsReservationCapacityOutputWithContext(ctx context.Context) GetIsReservationCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationCapacityOutput) +} + +// GetIsReservationCapacityArrayInput is an input type that accepts GetIsReservationCapacityArray and GetIsReservationCapacityArrayOutput values. +// You can construct a concrete instance of `GetIsReservationCapacityArrayInput` via: +// +// GetIsReservationCapacityArray{ GetIsReservationCapacityArgs{...} } +type GetIsReservationCapacityArrayInput interface { + pulumi.Input + + ToGetIsReservationCapacityArrayOutput() GetIsReservationCapacityArrayOutput + ToGetIsReservationCapacityArrayOutputWithContext(context.Context) GetIsReservationCapacityArrayOutput +} + +type GetIsReservationCapacityArray []GetIsReservationCapacityInput + +func (GetIsReservationCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationCapacity)(nil)).Elem() +} + +func (i GetIsReservationCapacityArray) ToGetIsReservationCapacityArrayOutput() GetIsReservationCapacityArrayOutput { + return i.ToGetIsReservationCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationCapacityArray) ToGetIsReservationCapacityArrayOutputWithContext(ctx context.Context) GetIsReservationCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationCapacityArrayOutput) +} + +type GetIsReservationCapacityOutput struct{ *pulumi.OutputState } + +func (GetIsReservationCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationCapacity)(nil)).Elem() +} + +func (o GetIsReservationCapacityOutput) ToGetIsReservationCapacityOutput() GetIsReservationCapacityOutput { + return o +} + +func (o GetIsReservationCapacityOutput) ToGetIsReservationCapacityOutputWithContext(ctx context.Context) GetIsReservationCapacityOutput { + return o +} + +// The amount allocated to this capacity reservation. +func (o GetIsReservationCapacityOutput) Allocated() pulumi.IntOutput { + return o.ApplyT(func(v GetIsReservationCapacity) int { return v.Allocated }).(pulumi.IntOutput) +} + +// The amount of this capacity reservation available for new attachments. +func (o GetIsReservationCapacityOutput) Available() pulumi.IntOutput { + return o.ApplyT(func(v GetIsReservationCapacity) int { return v.Available }).(pulumi.IntOutput) +} + +// The status of the capacity reservation. +func (o GetIsReservationCapacityOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationCapacity) string { return v.Status }).(pulumi.StringOutput) +} + +// The total amount of this capacity reservation. +func (o GetIsReservationCapacityOutput) Total() pulumi.IntOutput { + return o.ApplyT(func(v GetIsReservationCapacity) int { return v.Total }).(pulumi.IntOutput) +} + +// The amount of this capacity reservation used by existing attachments. +func (o GetIsReservationCapacityOutput) Used() pulumi.IntOutput { + return o.ApplyT(func(v GetIsReservationCapacity) int { return v.Used }).(pulumi.IntOutput) +} + +type GetIsReservationCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationCapacity)(nil)).Elem() +} + +func (o GetIsReservationCapacityArrayOutput) ToGetIsReservationCapacityArrayOutput() GetIsReservationCapacityArrayOutput { + return o +} + +func (o GetIsReservationCapacityArrayOutput) ToGetIsReservationCapacityArrayOutputWithContext(ctx context.Context) GetIsReservationCapacityArrayOutput { + return o +} + +func (o GetIsReservationCapacityArrayOutput) Index(i pulumi.IntInput) GetIsReservationCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationCapacity { + return vs[0].([]GetIsReservationCapacity)[vs[1].(int)] + }).(GetIsReservationCapacityOutput) +} + +type GetIsReservationCommittedUse struct { + // The expiration date and time for this committed use reservation. + ExpirationAt string `pulumi:"expirationAt"` + // The policy to apply when the committed use term expires. + ExpirationPolicy string `pulumi:"expirationPolicy"` + // The term for this committed use reservation. + Term string `pulumi:"term"` +} + +// GetIsReservationCommittedUseInput is an input type that accepts GetIsReservationCommittedUseArgs and GetIsReservationCommittedUseOutput values. +// You can construct a concrete instance of `GetIsReservationCommittedUseInput` via: +// +// GetIsReservationCommittedUseArgs{...} +type GetIsReservationCommittedUseInput interface { + pulumi.Input + + ToGetIsReservationCommittedUseOutput() GetIsReservationCommittedUseOutput + ToGetIsReservationCommittedUseOutputWithContext(context.Context) GetIsReservationCommittedUseOutput +} + +type GetIsReservationCommittedUseArgs struct { + // The expiration date and time for this committed use reservation. + ExpirationAt pulumi.StringInput `pulumi:"expirationAt"` + // The policy to apply when the committed use term expires. + ExpirationPolicy pulumi.StringInput `pulumi:"expirationPolicy"` + // The term for this committed use reservation. + Term pulumi.StringInput `pulumi:"term"` +} + +func (GetIsReservationCommittedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationCommittedUse)(nil)).Elem() +} + +func (i GetIsReservationCommittedUseArgs) ToGetIsReservationCommittedUseOutput() GetIsReservationCommittedUseOutput { + return i.ToGetIsReservationCommittedUseOutputWithContext(context.Background()) +} + +func (i GetIsReservationCommittedUseArgs) ToGetIsReservationCommittedUseOutputWithContext(ctx context.Context) GetIsReservationCommittedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationCommittedUseOutput) +} + +// GetIsReservationCommittedUseArrayInput is an input type that accepts GetIsReservationCommittedUseArray and GetIsReservationCommittedUseArrayOutput values. +// You can construct a concrete instance of `GetIsReservationCommittedUseArrayInput` via: +// +// GetIsReservationCommittedUseArray{ GetIsReservationCommittedUseArgs{...} } +type GetIsReservationCommittedUseArrayInput interface { + pulumi.Input + + ToGetIsReservationCommittedUseArrayOutput() GetIsReservationCommittedUseArrayOutput + ToGetIsReservationCommittedUseArrayOutputWithContext(context.Context) GetIsReservationCommittedUseArrayOutput +} + +type GetIsReservationCommittedUseArray []GetIsReservationCommittedUseInput + +func (GetIsReservationCommittedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationCommittedUse)(nil)).Elem() +} + +func (i GetIsReservationCommittedUseArray) ToGetIsReservationCommittedUseArrayOutput() GetIsReservationCommittedUseArrayOutput { + return i.ToGetIsReservationCommittedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationCommittedUseArray) ToGetIsReservationCommittedUseArrayOutputWithContext(ctx context.Context) GetIsReservationCommittedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationCommittedUseArrayOutput) +} + +type GetIsReservationCommittedUseOutput struct{ *pulumi.OutputState } + +func (GetIsReservationCommittedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationCommittedUse)(nil)).Elem() +} + +func (o GetIsReservationCommittedUseOutput) ToGetIsReservationCommittedUseOutput() GetIsReservationCommittedUseOutput { + return o +} + +func (o GetIsReservationCommittedUseOutput) ToGetIsReservationCommittedUseOutputWithContext(ctx context.Context) GetIsReservationCommittedUseOutput { + return o +} + +// The expiration date and time for this committed use reservation. +func (o GetIsReservationCommittedUseOutput) ExpirationAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationCommittedUse) string { return v.ExpirationAt }).(pulumi.StringOutput) +} + +// The policy to apply when the committed use term expires. +func (o GetIsReservationCommittedUseOutput) ExpirationPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationCommittedUse) string { return v.ExpirationPolicy }).(pulumi.StringOutput) +} + +// The term for this committed use reservation. +func (o GetIsReservationCommittedUseOutput) Term() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationCommittedUse) string { return v.Term }).(pulumi.StringOutput) +} + +type GetIsReservationCommittedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationCommittedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationCommittedUse)(nil)).Elem() +} + +func (o GetIsReservationCommittedUseArrayOutput) ToGetIsReservationCommittedUseArrayOutput() GetIsReservationCommittedUseArrayOutput { + return o +} + +func (o GetIsReservationCommittedUseArrayOutput) ToGetIsReservationCommittedUseArrayOutputWithContext(ctx context.Context) GetIsReservationCommittedUseArrayOutput { + return o +} + +func (o GetIsReservationCommittedUseArrayOutput) Index(i pulumi.IntInput) GetIsReservationCommittedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationCommittedUse { + return vs[0].([]GetIsReservationCommittedUse)[vs[1].(int)] + }).(GetIsReservationCommittedUseOutput) +} + +type GetIsReservationProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsReservationProfileInput is an input type that accepts GetIsReservationProfileArgs and GetIsReservationProfileOutput values. +// You can construct a concrete instance of `GetIsReservationProfileInput` via: +// +// GetIsReservationProfileArgs{...} +type GetIsReservationProfileInput interface { + pulumi.Input + + ToGetIsReservationProfileOutput() GetIsReservationProfileOutput + ToGetIsReservationProfileOutputWithContext(context.Context) GetIsReservationProfileOutput +} + +type GetIsReservationProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsReservationProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationProfile)(nil)).Elem() +} + +func (i GetIsReservationProfileArgs) ToGetIsReservationProfileOutput() GetIsReservationProfileOutput { + return i.ToGetIsReservationProfileOutputWithContext(context.Background()) +} + +func (i GetIsReservationProfileArgs) ToGetIsReservationProfileOutputWithContext(ctx context.Context) GetIsReservationProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationProfileOutput) +} + +// GetIsReservationProfileArrayInput is an input type that accepts GetIsReservationProfileArray and GetIsReservationProfileArrayOutput values. +// You can construct a concrete instance of `GetIsReservationProfileArrayInput` via: +// +// GetIsReservationProfileArray{ GetIsReservationProfileArgs{...} } +type GetIsReservationProfileArrayInput interface { + pulumi.Input + + ToGetIsReservationProfileArrayOutput() GetIsReservationProfileArrayOutput + ToGetIsReservationProfileArrayOutputWithContext(context.Context) GetIsReservationProfileArrayOutput +} + +type GetIsReservationProfileArray []GetIsReservationProfileInput + +func (GetIsReservationProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationProfile)(nil)).Elem() +} + +func (i GetIsReservationProfileArray) ToGetIsReservationProfileArrayOutput() GetIsReservationProfileArrayOutput { + return i.ToGetIsReservationProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationProfileArray) ToGetIsReservationProfileArrayOutputWithContext(ctx context.Context) GetIsReservationProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationProfileArrayOutput) +} + +type GetIsReservationProfileOutput struct{ *pulumi.OutputState } + +func (GetIsReservationProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationProfile)(nil)).Elem() +} + +func (o GetIsReservationProfileOutput) ToGetIsReservationProfileOutput() GetIsReservationProfileOutput { + return o +} + +func (o GetIsReservationProfileOutput) ToGetIsReservationProfileOutputWithContext(ctx context.Context) GetIsReservationProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsReservationProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsReservationProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsReservationProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsReservationProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationProfile)(nil)).Elem() +} + +func (o GetIsReservationProfileArrayOutput) ToGetIsReservationProfileArrayOutput() GetIsReservationProfileArrayOutput { + return o +} + +func (o GetIsReservationProfileArrayOutput) ToGetIsReservationProfileArrayOutputWithContext(ctx context.Context) GetIsReservationProfileArrayOutput { + return o +} + +func (o GetIsReservationProfileArrayOutput) Index(i pulumi.IntInput) GetIsReservationProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationProfile { + return vs[0].([]GetIsReservationProfile)[vs[1].(int)] + }).(GetIsReservationProfileOutput) +} + +type GetIsReservationResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsReservationResourceGroupInput is an input type that accepts GetIsReservationResourceGroupArgs and GetIsReservationResourceGroupOutput values. +// You can construct a concrete instance of `GetIsReservationResourceGroupInput` via: +// +// GetIsReservationResourceGroupArgs{...} +type GetIsReservationResourceGroupInput interface { + pulumi.Input + + ToGetIsReservationResourceGroupOutput() GetIsReservationResourceGroupOutput + ToGetIsReservationResourceGroupOutputWithContext(context.Context) GetIsReservationResourceGroupOutput +} + +type GetIsReservationResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsReservationResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationResourceGroup)(nil)).Elem() +} + +func (i GetIsReservationResourceGroupArgs) ToGetIsReservationResourceGroupOutput() GetIsReservationResourceGroupOutput { + return i.ToGetIsReservationResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsReservationResourceGroupArgs) ToGetIsReservationResourceGroupOutputWithContext(ctx context.Context) GetIsReservationResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationResourceGroupOutput) +} + +// GetIsReservationResourceGroupArrayInput is an input type that accepts GetIsReservationResourceGroupArray and GetIsReservationResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsReservationResourceGroupArrayInput` via: +// +// GetIsReservationResourceGroupArray{ GetIsReservationResourceGroupArgs{...} } +type GetIsReservationResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsReservationResourceGroupArrayOutput() GetIsReservationResourceGroupArrayOutput + ToGetIsReservationResourceGroupArrayOutputWithContext(context.Context) GetIsReservationResourceGroupArrayOutput +} + +type GetIsReservationResourceGroupArray []GetIsReservationResourceGroupInput + +func (GetIsReservationResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationResourceGroup)(nil)).Elem() +} + +func (i GetIsReservationResourceGroupArray) ToGetIsReservationResourceGroupArrayOutput() GetIsReservationResourceGroupArrayOutput { + return i.ToGetIsReservationResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationResourceGroupArray) ToGetIsReservationResourceGroupArrayOutputWithContext(ctx context.Context) GetIsReservationResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationResourceGroupArrayOutput) +} + +type GetIsReservationResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsReservationResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationResourceGroup)(nil)).Elem() +} + +func (o GetIsReservationResourceGroupOutput) ToGetIsReservationResourceGroupOutput() GetIsReservationResourceGroupOutput { + return o +} + +func (o GetIsReservationResourceGroupOutput) ToGetIsReservationResourceGroupOutputWithContext(ctx context.Context) GetIsReservationResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsReservationResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsReservationResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsReservationResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsReservationResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationResourceGroup)(nil)).Elem() +} + +func (o GetIsReservationResourceGroupArrayOutput) ToGetIsReservationResourceGroupArrayOutput() GetIsReservationResourceGroupArrayOutput { + return o +} + +func (o GetIsReservationResourceGroupArrayOutput) ToGetIsReservationResourceGroupArrayOutputWithContext(ctx context.Context) GetIsReservationResourceGroupArrayOutput { + return o +} + +func (o GetIsReservationResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsReservationResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationResourceGroup { + return vs[0].([]GetIsReservationResourceGroup)[vs[1].(int)] + }).(GetIsReservationResourceGroupOutput) +} + +type GetIsReservationStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsReservationStatusReasonInput is an input type that accepts GetIsReservationStatusReasonArgs and GetIsReservationStatusReasonOutput values. +// You can construct a concrete instance of `GetIsReservationStatusReasonInput` via: +// +// GetIsReservationStatusReasonArgs{...} +type GetIsReservationStatusReasonInput interface { + pulumi.Input + + ToGetIsReservationStatusReasonOutput() GetIsReservationStatusReasonOutput + ToGetIsReservationStatusReasonOutputWithContext(context.Context) GetIsReservationStatusReasonOutput +} + +type GetIsReservationStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsReservationStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationStatusReason)(nil)).Elem() +} + +func (i GetIsReservationStatusReasonArgs) ToGetIsReservationStatusReasonOutput() GetIsReservationStatusReasonOutput { + return i.ToGetIsReservationStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsReservationStatusReasonArgs) ToGetIsReservationStatusReasonOutputWithContext(ctx context.Context) GetIsReservationStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationStatusReasonOutput) +} + +// GetIsReservationStatusReasonArrayInput is an input type that accepts GetIsReservationStatusReasonArray and GetIsReservationStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsReservationStatusReasonArrayInput` via: +// +// GetIsReservationStatusReasonArray{ GetIsReservationStatusReasonArgs{...} } +type GetIsReservationStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsReservationStatusReasonArrayOutput() GetIsReservationStatusReasonArrayOutput + ToGetIsReservationStatusReasonArrayOutputWithContext(context.Context) GetIsReservationStatusReasonArrayOutput +} + +type GetIsReservationStatusReasonArray []GetIsReservationStatusReasonInput + +func (GetIsReservationStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationStatusReason)(nil)).Elem() +} + +func (i GetIsReservationStatusReasonArray) ToGetIsReservationStatusReasonArrayOutput() GetIsReservationStatusReasonArrayOutput { + return i.ToGetIsReservationStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationStatusReasonArray) ToGetIsReservationStatusReasonArrayOutputWithContext(ctx context.Context) GetIsReservationStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationStatusReasonArrayOutput) +} + +type GetIsReservationStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsReservationStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationStatusReason)(nil)).Elem() +} + +func (o GetIsReservationStatusReasonOutput) ToGetIsReservationStatusReasonOutput() GetIsReservationStatusReasonOutput { + return o +} + +func (o GetIsReservationStatusReasonOutput) ToGetIsReservationStatusReasonOutputWithContext(ctx context.Context) GetIsReservationStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsReservationStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsReservationStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsReservationStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsReservationStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationStatusReason)(nil)).Elem() +} + +func (o GetIsReservationStatusReasonArrayOutput) ToGetIsReservationStatusReasonArrayOutput() GetIsReservationStatusReasonArrayOutput { + return o +} + +func (o GetIsReservationStatusReasonArrayOutput) ToGetIsReservationStatusReasonArrayOutputWithContext(ctx context.Context) GetIsReservationStatusReasonArrayOutput { + return o +} + +func (o GetIsReservationStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsReservationStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationStatusReason { + return vs[0].([]GetIsReservationStatusReason)[vs[1].(int)] + }).(GetIsReservationStatusReasonOutput) +} + +type GetIsReservationsReservation struct { + // The affinity policy to use for this reservation. + AffinityPolicy string `pulumi:"affinityPolicy"` + // The capacity configuration for this reservation. If absent, this reservation has no assigned capacity. + Capacities []GetIsReservationsReservationCapacity `pulumi:"capacities"` + // The committed use configuration for this reservation. If absent, this reservation has no commitment for use. + CommittedUses []GetIsReservationsReservationCommittedUse `pulumi:"committedUses"` + // The date and time that the reservation was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this reservation. + Crn string `pulumi:"crn"` + // The URL for this reservation. + Href string `pulumi:"href"` + // The unique identifier for this reservation. + Id string `pulumi:"id"` + // The lifecycle state of the reservation. + LifecycleState string `pulumi:"lifecycleState"` + // The unique user-defined name for this reservation. + Name string `pulumi:"name"` + // The profile for this reservation. + Profiles []GetIsReservationsReservationProfile `pulumi:"profiles"` + // The resource group for this reservation. + ResourceGroups []GetIsReservationsReservationResourceGroup `pulumi:"resourceGroups"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The status of the reservation. + Status string `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons []GetIsReservationsReservationStatusReason `pulumi:"statusReasons"` + // The zone for this reservation. + Zone string `pulumi:"zone"` +} + +// GetIsReservationsReservationInput is an input type that accepts GetIsReservationsReservationArgs and GetIsReservationsReservationOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationInput` via: +// +// GetIsReservationsReservationArgs{...} +type GetIsReservationsReservationInput interface { + pulumi.Input + + ToGetIsReservationsReservationOutput() GetIsReservationsReservationOutput + ToGetIsReservationsReservationOutputWithContext(context.Context) GetIsReservationsReservationOutput +} + +type GetIsReservationsReservationArgs struct { + // The affinity policy to use for this reservation. + AffinityPolicy pulumi.StringInput `pulumi:"affinityPolicy"` + // The capacity configuration for this reservation. If absent, this reservation has no assigned capacity. + Capacities GetIsReservationsReservationCapacityArrayInput `pulumi:"capacities"` + // The committed use configuration for this reservation. If absent, this reservation has no commitment for use. + CommittedUses GetIsReservationsReservationCommittedUseArrayInput `pulumi:"committedUses"` + // The date and time that the reservation was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this reservation. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this reservation. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reservation. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the reservation. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The unique user-defined name for this reservation. + Name pulumi.StringInput `pulumi:"name"` + // The profile for this reservation. + Profiles GetIsReservationsReservationProfileArrayInput `pulumi:"profiles"` + // The resource group for this reservation. + ResourceGroups GetIsReservationsReservationResourceGroupArrayInput `pulumi:"resourceGroups"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The status of the reservation. + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons GetIsReservationsReservationStatusReasonArrayInput `pulumi:"statusReasons"` + // The zone for this reservation. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsReservationsReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservation)(nil)).Elem() +} + +func (i GetIsReservationsReservationArgs) ToGetIsReservationsReservationOutput() GetIsReservationsReservationOutput { + return i.ToGetIsReservationsReservationOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationArgs) ToGetIsReservationsReservationOutputWithContext(ctx context.Context) GetIsReservationsReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationOutput) +} + +// GetIsReservationsReservationArrayInput is an input type that accepts GetIsReservationsReservationArray and GetIsReservationsReservationArrayOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationArrayInput` via: +// +// GetIsReservationsReservationArray{ GetIsReservationsReservationArgs{...} } +type GetIsReservationsReservationArrayInput interface { + pulumi.Input + + ToGetIsReservationsReservationArrayOutput() GetIsReservationsReservationArrayOutput + ToGetIsReservationsReservationArrayOutputWithContext(context.Context) GetIsReservationsReservationArrayOutput +} + +type GetIsReservationsReservationArray []GetIsReservationsReservationInput + +func (GetIsReservationsReservationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservation)(nil)).Elem() +} + +func (i GetIsReservationsReservationArray) ToGetIsReservationsReservationArrayOutput() GetIsReservationsReservationArrayOutput { + return i.ToGetIsReservationsReservationArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationArray) ToGetIsReservationsReservationArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationArrayOutput) +} + +type GetIsReservationsReservationOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservation)(nil)).Elem() +} + +func (o GetIsReservationsReservationOutput) ToGetIsReservationsReservationOutput() GetIsReservationsReservationOutput { + return o +} + +func (o GetIsReservationsReservationOutput) ToGetIsReservationsReservationOutputWithContext(ctx context.Context) GetIsReservationsReservationOutput { + return o +} + +// The affinity policy to use for this reservation. +func (o GetIsReservationsReservationOutput) AffinityPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.AffinityPolicy }).(pulumi.StringOutput) +} + +// The capacity configuration for this reservation. If absent, this reservation has no assigned capacity. +func (o GetIsReservationsReservationOutput) Capacities() GetIsReservationsReservationCapacityArrayOutput { + return o.ApplyT(func(v GetIsReservationsReservation) []GetIsReservationsReservationCapacity { return v.Capacities }).(GetIsReservationsReservationCapacityArrayOutput) +} + +// The committed use configuration for this reservation. If absent, this reservation has no commitment for use. +func (o GetIsReservationsReservationOutput) CommittedUses() GetIsReservationsReservationCommittedUseArrayOutput { + return o.ApplyT(func(v GetIsReservationsReservation) []GetIsReservationsReservationCommittedUse { + return v.CommittedUses + }).(GetIsReservationsReservationCommittedUseArrayOutput) +} + +// The date and time that the reservation was created. +func (o GetIsReservationsReservationOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this reservation. +func (o GetIsReservationsReservationOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this reservation. +func (o GetIsReservationsReservationOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reservation. +func (o GetIsReservationsReservationOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of the reservation. +func (o GetIsReservationsReservationOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The unique user-defined name for this reservation. +func (o GetIsReservationsReservationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.Name }).(pulumi.StringOutput) +} + +// The profile for this reservation. +func (o GetIsReservationsReservationOutput) Profiles() GetIsReservationsReservationProfileArrayOutput { + return o.ApplyT(func(v GetIsReservationsReservation) []GetIsReservationsReservationProfile { return v.Profiles }).(GetIsReservationsReservationProfileArrayOutput) +} + +// The resource group for this reservation. +func (o GetIsReservationsReservationOutput) ResourceGroups() GetIsReservationsReservationResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsReservationsReservation) []GetIsReservationsReservationResourceGroup { + return v.ResourceGroups + }).(GetIsReservationsReservationResourceGroupArrayOutput) +} + +// The type of resource referenced. +func (o GetIsReservationsReservationOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The status of the reservation. +func (o GetIsReservationsReservationOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any). +func (o GetIsReservationsReservationOutput) StatusReasons() GetIsReservationsReservationStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsReservationsReservation) []GetIsReservationsReservationStatusReason { + return v.StatusReasons + }).(GetIsReservationsReservationStatusReasonArrayOutput) +} + +// The zone for this reservation. +func (o GetIsReservationsReservationOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservation) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsReservationsReservationArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservation)(nil)).Elem() +} + +func (o GetIsReservationsReservationArrayOutput) ToGetIsReservationsReservationArrayOutput() GetIsReservationsReservationArrayOutput { + return o +} + +func (o GetIsReservationsReservationArrayOutput) ToGetIsReservationsReservationArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationArrayOutput { + return o +} + +func (o GetIsReservationsReservationArrayOutput) Index(i pulumi.IntInput) GetIsReservationsReservationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationsReservation { + return vs[0].([]GetIsReservationsReservation)[vs[1].(int)] + }).(GetIsReservationsReservationOutput) +} + +type GetIsReservationsReservationCapacity struct { + // The amount allocated to this capacity reservation. + Allocated int `pulumi:"allocated"` + // The amount of this capacity reservation available for new attachments. + Available int `pulumi:"available"` + // The status of the capacity reservation. + Status string `pulumi:"status"` + // The total amount of this capacity reservation. + Total int `pulumi:"total"` + // The amount of this capacity reservation used by existing attachments. + Used int `pulumi:"used"` +} + +// GetIsReservationsReservationCapacityInput is an input type that accepts GetIsReservationsReservationCapacityArgs and GetIsReservationsReservationCapacityOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationCapacityInput` via: +// +// GetIsReservationsReservationCapacityArgs{...} +type GetIsReservationsReservationCapacityInput interface { + pulumi.Input + + ToGetIsReservationsReservationCapacityOutput() GetIsReservationsReservationCapacityOutput + ToGetIsReservationsReservationCapacityOutputWithContext(context.Context) GetIsReservationsReservationCapacityOutput +} + +type GetIsReservationsReservationCapacityArgs struct { + // The amount allocated to this capacity reservation. + Allocated pulumi.IntInput `pulumi:"allocated"` + // The amount of this capacity reservation available for new attachments. + Available pulumi.IntInput `pulumi:"available"` + // The status of the capacity reservation. + Status pulumi.StringInput `pulumi:"status"` + // The total amount of this capacity reservation. + Total pulumi.IntInput `pulumi:"total"` + // The amount of this capacity reservation used by existing attachments. + Used pulumi.IntInput `pulumi:"used"` +} + +func (GetIsReservationsReservationCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationCapacity)(nil)).Elem() +} + +func (i GetIsReservationsReservationCapacityArgs) ToGetIsReservationsReservationCapacityOutput() GetIsReservationsReservationCapacityOutput { + return i.ToGetIsReservationsReservationCapacityOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationCapacityArgs) ToGetIsReservationsReservationCapacityOutputWithContext(ctx context.Context) GetIsReservationsReservationCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationCapacityOutput) +} + +// GetIsReservationsReservationCapacityArrayInput is an input type that accepts GetIsReservationsReservationCapacityArray and GetIsReservationsReservationCapacityArrayOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationCapacityArrayInput` via: +// +// GetIsReservationsReservationCapacityArray{ GetIsReservationsReservationCapacityArgs{...} } +type GetIsReservationsReservationCapacityArrayInput interface { + pulumi.Input + + ToGetIsReservationsReservationCapacityArrayOutput() GetIsReservationsReservationCapacityArrayOutput + ToGetIsReservationsReservationCapacityArrayOutputWithContext(context.Context) GetIsReservationsReservationCapacityArrayOutput +} + +type GetIsReservationsReservationCapacityArray []GetIsReservationsReservationCapacityInput + +func (GetIsReservationsReservationCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationCapacity)(nil)).Elem() +} + +func (i GetIsReservationsReservationCapacityArray) ToGetIsReservationsReservationCapacityArrayOutput() GetIsReservationsReservationCapacityArrayOutput { + return i.ToGetIsReservationsReservationCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationCapacityArray) ToGetIsReservationsReservationCapacityArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationCapacityArrayOutput) +} + +type GetIsReservationsReservationCapacityOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationCapacity)(nil)).Elem() +} + +func (o GetIsReservationsReservationCapacityOutput) ToGetIsReservationsReservationCapacityOutput() GetIsReservationsReservationCapacityOutput { + return o +} + +func (o GetIsReservationsReservationCapacityOutput) ToGetIsReservationsReservationCapacityOutputWithContext(ctx context.Context) GetIsReservationsReservationCapacityOutput { + return o +} + +// The amount allocated to this capacity reservation. +func (o GetIsReservationsReservationCapacityOutput) Allocated() pulumi.IntOutput { + return o.ApplyT(func(v GetIsReservationsReservationCapacity) int { return v.Allocated }).(pulumi.IntOutput) +} + +// The amount of this capacity reservation available for new attachments. +func (o GetIsReservationsReservationCapacityOutput) Available() pulumi.IntOutput { + return o.ApplyT(func(v GetIsReservationsReservationCapacity) int { return v.Available }).(pulumi.IntOutput) +} + +// The status of the capacity reservation. +func (o GetIsReservationsReservationCapacityOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationCapacity) string { return v.Status }).(pulumi.StringOutput) +} + +// The total amount of this capacity reservation. +func (o GetIsReservationsReservationCapacityOutput) Total() pulumi.IntOutput { + return o.ApplyT(func(v GetIsReservationsReservationCapacity) int { return v.Total }).(pulumi.IntOutput) +} + +// The amount of this capacity reservation used by existing attachments. +func (o GetIsReservationsReservationCapacityOutput) Used() pulumi.IntOutput { + return o.ApplyT(func(v GetIsReservationsReservationCapacity) int { return v.Used }).(pulumi.IntOutput) +} + +type GetIsReservationsReservationCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationCapacity)(nil)).Elem() +} + +func (o GetIsReservationsReservationCapacityArrayOutput) ToGetIsReservationsReservationCapacityArrayOutput() GetIsReservationsReservationCapacityArrayOutput { + return o +} + +func (o GetIsReservationsReservationCapacityArrayOutput) ToGetIsReservationsReservationCapacityArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationCapacityArrayOutput { + return o +} + +func (o GetIsReservationsReservationCapacityArrayOutput) Index(i pulumi.IntInput) GetIsReservationsReservationCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationsReservationCapacity { + return vs[0].([]GetIsReservationsReservationCapacity)[vs[1].(int)] + }).(GetIsReservationsReservationCapacityOutput) +} + +type GetIsReservationsReservationCommittedUse struct { + // The expiration date and time for this committed use reservation. + ExpirationAt string `pulumi:"expirationAt"` + // The policy to apply when the committed use term expires. + ExpirationPolicy string `pulumi:"expirationPolicy"` + // The term for this committed use reservation. + Term string `pulumi:"term"` +} + +// GetIsReservationsReservationCommittedUseInput is an input type that accepts GetIsReservationsReservationCommittedUseArgs and GetIsReservationsReservationCommittedUseOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationCommittedUseInput` via: +// +// GetIsReservationsReservationCommittedUseArgs{...} +type GetIsReservationsReservationCommittedUseInput interface { + pulumi.Input + + ToGetIsReservationsReservationCommittedUseOutput() GetIsReservationsReservationCommittedUseOutput + ToGetIsReservationsReservationCommittedUseOutputWithContext(context.Context) GetIsReservationsReservationCommittedUseOutput +} + +type GetIsReservationsReservationCommittedUseArgs struct { + // The expiration date and time for this committed use reservation. + ExpirationAt pulumi.StringInput `pulumi:"expirationAt"` + // The policy to apply when the committed use term expires. + ExpirationPolicy pulumi.StringInput `pulumi:"expirationPolicy"` + // The term for this committed use reservation. + Term pulumi.StringInput `pulumi:"term"` +} + +func (GetIsReservationsReservationCommittedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationCommittedUse)(nil)).Elem() +} + +func (i GetIsReservationsReservationCommittedUseArgs) ToGetIsReservationsReservationCommittedUseOutput() GetIsReservationsReservationCommittedUseOutput { + return i.ToGetIsReservationsReservationCommittedUseOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationCommittedUseArgs) ToGetIsReservationsReservationCommittedUseOutputWithContext(ctx context.Context) GetIsReservationsReservationCommittedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationCommittedUseOutput) +} + +// GetIsReservationsReservationCommittedUseArrayInput is an input type that accepts GetIsReservationsReservationCommittedUseArray and GetIsReservationsReservationCommittedUseArrayOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationCommittedUseArrayInput` via: +// +// GetIsReservationsReservationCommittedUseArray{ GetIsReservationsReservationCommittedUseArgs{...} } +type GetIsReservationsReservationCommittedUseArrayInput interface { + pulumi.Input + + ToGetIsReservationsReservationCommittedUseArrayOutput() GetIsReservationsReservationCommittedUseArrayOutput + ToGetIsReservationsReservationCommittedUseArrayOutputWithContext(context.Context) GetIsReservationsReservationCommittedUseArrayOutput +} + +type GetIsReservationsReservationCommittedUseArray []GetIsReservationsReservationCommittedUseInput + +func (GetIsReservationsReservationCommittedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationCommittedUse)(nil)).Elem() +} + +func (i GetIsReservationsReservationCommittedUseArray) ToGetIsReservationsReservationCommittedUseArrayOutput() GetIsReservationsReservationCommittedUseArrayOutput { + return i.ToGetIsReservationsReservationCommittedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationCommittedUseArray) ToGetIsReservationsReservationCommittedUseArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationCommittedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationCommittedUseArrayOutput) +} + +type GetIsReservationsReservationCommittedUseOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationCommittedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationCommittedUse)(nil)).Elem() +} + +func (o GetIsReservationsReservationCommittedUseOutput) ToGetIsReservationsReservationCommittedUseOutput() GetIsReservationsReservationCommittedUseOutput { + return o +} + +func (o GetIsReservationsReservationCommittedUseOutput) ToGetIsReservationsReservationCommittedUseOutputWithContext(ctx context.Context) GetIsReservationsReservationCommittedUseOutput { + return o +} + +// The expiration date and time for this committed use reservation. +func (o GetIsReservationsReservationCommittedUseOutput) ExpirationAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationCommittedUse) string { return v.ExpirationAt }).(pulumi.StringOutput) +} + +// The policy to apply when the committed use term expires. +func (o GetIsReservationsReservationCommittedUseOutput) ExpirationPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationCommittedUse) string { return v.ExpirationPolicy }).(pulumi.StringOutput) +} + +// The term for this committed use reservation. +func (o GetIsReservationsReservationCommittedUseOutput) Term() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationCommittedUse) string { return v.Term }).(pulumi.StringOutput) +} + +type GetIsReservationsReservationCommittedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationCommittedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationCommittedUse)(nil)).Elem() +} + +func (o GetIsReservationsReservationCommittedUseArrayOutput) ToGetIsReservationsReservationCommittedUseArrayOutput() GetIsReservationsReservationCommittedUseArrayOutput { + return o +} + +func (o GetIsReservationsReservationCommittedUseArrayOutput) ToGetIsReservationsReservationCommittedUseArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationCommittedUseArrayOutput { + return o +} + +func (o GetIsReservationsReservationCommittedUseArrayOutput) Index(i pulumi.IntInput) GetIsReservationsReservationCommittedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationsReservationCommittedUse { + return vs[0].([]GetIsReservationsReservationCommittedUse)[vs[1].(int)] + }).(GetIsReservationsReservationCommittedUseOutput) +} + +type GetIsReservationsReservationProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsReservationsReservationProfileInput is an input type that accepts GetIsReservationsReservationProfileArgs and GetIsReservationsReservationProfileOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationProfileInput` via: +// +// GetIsReservationsReservationProfileArgs{...} +type GetIsReservationsReservationProfileInput interface { + pulumi.Input + + ToGetIsReservationsReservationProfileOutput() GetIsReservationsReservationProfileOutput + ToGetIsReservationsReservationProfileOutputWithContext(context.Context) GetIsReservationsReservationProfileOutput +} + +type GetIsReservationsReservationProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsReservationsReservationProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationProfile)(nil)).Elem() +} + +func (i GetIsReservationsReservationProfileArgs) ToGetIsReservationsReservationProfileOutput() GetIsReservationsReservationProfileOutput { + return i.ToGetIsReservationsReservationProfileOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationProfileArgs) ToGetIsReservationsReservationProfileOutputWithContext(ctx context.Context) GetIsReservationsReservationProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationProfileOutput) +} + +// GetIsReservationsReservationProfileArrayInput is an input type that accepts GetIsReservationsReservationProfileArray and GetIsReservationsReservationProfileArrayOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationProfileArrayInput` via: +// +// GetIsReservationsReservationProfileArray{ GetIsReservationsReservationProfileArgs{...} } +type GetIsReservationsReservationProfileArrayInput interface { + pulumi.Input + + ToGetIsReservationsReservationProfileArrayOutput() GetIsReservationsReservationProfileArrayOutput + ToGetIsReservationsReservationProfileArrayOutputWithContext(context.Context) GetIsReservationsReservationProfileArrayOutput +} + +type GetIsReservationsReservationProfileArray []GetIsReservationsReservationProfileInput + +func (GetIsReservationsReservationProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationProfile)(nil)).Elem() +} + +func (i GetIsReservationsReservationProfileArray) ToGetIsReservationsReservationProfileArrayOutput() GetIsReservationsReservationProfileArrayOutput { + return i.ToGetIsReservationsReservationProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationProfileArray) ToGetIsReservationsReservationProfileArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationProfileArrayOutput) +} + +type GetIsReservationsReservationProfileOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationProfile)(nil)).Elem() +} + +func (o GetIsReservationsReservationProfileOutput) ToGetIsReservationsReservationProfileOutput() GetIsReservationsReservationProfileOutput { + return o +} + +func (o GetIsReservationsReservationProfileOutput) ToGetIsReservationsReservationProfileOutputWithContext(ctx context.Context) GetIsReservationsReservationProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsReservationsReservationProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsReservationsReservationProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsReservationsReservationProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsReservationsReservationProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationProfile)(nil)).Elem() +} + +func (o GetIsReservationsReservationProfileArrayOutput) ToGetIsReservationsReservationProfileArrayOutput() GetIsReservationsReservationProfileArrayOutput { + return o +} + +func (o GetIsReservationsReservationProfileArrayOutput) ToGetIsReservationsReservationProfileArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationProfileArrayOutput { + return o +} + +func (o GetIsReservationsReservationProfileArrayOutput) Index(i pulumi.IntInput) GetIsReservationsReservationProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationsReservationProfile { + return vs[0].([]GetIsReservationsReservationProfile)[vs[1].(int)] + }).(GetIsReservationsReservationProfileOutput) +} + +type GetIsReservationsReservationResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsReservationsReservationResourceGroupInput is an input type that accepts GetIsReservationsReservationResourceGroupArgs and GetIsReservationsReservationResourceGroupOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationResourceGroupInput` via: +// +// GetIsReservationsReservationResourceGroupArgs{...} +type GetIsReservationsReservationResourceGroupInput interface { + pulumi.Input + + ToGetIsReservationsReservationResourceGroupOutput() GetIsReservationsReservationResourceGroupOutput + ToGetIsReservationsReservationResourceGroupOutputWithContext(context.Context) GetIsReservationsReservationResourceGroupOutput +} + +type GetIsReservationsReservationResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsReservationsReservationResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationResourceGroup)(nil)).Elem() +} + +func (i GetIsReservationsReservationResourceGroupArgs) ToGetIsReservationsReservationResourceGroupOutput() GetIsReservationsReservationResourceGroupOutput { + return i.ToGetIsReservationsReservationResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationResourceGroupArgs) ToGetIsReservationsReservationResourceGroupOutputWithContext(ctx context.Context) GetIsReservationsReservationResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationResourceGroupOutput) +} + +// GetIsReservationsReservationResourceGroupArrayInput is an input type that accepts GetIsReservationsReservationResourceGroupArray and GetIsReservationsReservationResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationResourceGroupArrayInput` via: +// +// GetIsReservationsReservationResourceGroupArray{ GetIsReservationsReservationResourceGroupArgs{...} } +type GetIsReservationsReservationResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsReservationsReservationResourceGroupArrayOutput() GetIsReservationsReservationResourceGroupArrayOutput + ToGetIsReservationsReservationResourceGroupArrayOutputWithContext(context.Context) GetIsReservationsReservationResourceGroupArrayOutput +} + +type GetIsReservationsReservationResourceGroupArray []GetIsReservationsReservationResourceGroupInput + +func (GetIsReservationsReservationResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationResourceGroup)(nil)).Elem() +} + +func (i GetIsReservationsReservationResourceGroupArray) ToGetIsReservationsReservationResourceGroupArrayOutput() GetIsReservationsReservationResourceGroupArrayOutput { + return i.ToGetIsReservationsReservationResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationResourceGroupArray) ToGetIsReservationsReservationResourceGroupArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationResourceGroupArrayOutput) +} + +type GetIsReservationsReservationResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationResourceGroup)(nil)).Elem() +} + +func (o GetIsReservationsReservationResourceGroupOutput) ToGetIsReservationsReservationResourceGroupOutput() GetIsReservationsReservationResourceGroupOutput { + return o +} + +func (o GetIsReservationsReservationResourceGroupOutput) ToGetIsReservationsReservationResourceGroupOutputWithContext(ctx context.Context) GetIsReservationsReservationResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsReservationsReservationResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsReservationsReservationResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsReservationsReservationResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsReservationsReservationResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationResourceGroup)(nil)).Elem() +} + +func (o GetIsReservationsReservationResourceGroupArrayOutput) ToGetIsReservationsReservationResourceGroupArrayOutput() GetIsReservationsReservationResourceGroupArrayOutput { + return o +} + +func (o GetIsReservationsReservationResourceGroupArrayOutput) ToGetIsReservationsReservationResourceGroupArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationResourceGroupArrayOutput { + return o +} + +func (o GetIsReservationsReservationResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsReservationsReservationResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationsReservationResourceGroup { + return vs[0].([]GetIsReservationsReservationResourceGroup)[vs[1].(int)] + }).(GetIsReservationsReservationResourceGroupOutput) +} + +type GetIsReservationsReservationStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsReservationsReservationStatusReasonInput is an input type that accepts GetIsReservationsReservationStatusReasonArgs and GetIsReservationsReservationStatusReasonOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationStatusReasonInput` via: +// +// GetIsReservationsReservationStatusReasonArgs{...} +type GetIsReservationsReservationStatusReasonInput interface { + pulumi.Input + + ToGetIsReservationsReservationStatusReasonOutput() GetIsReservationsReservationStatusReasonOutput + ToGetIsReservationsReservationStatusReasonOutputWithContext(context.Context) GetIsReservationsReservationStatusReasonOutput +} + +type GetIsReservationsReservationStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsReservationsReservationStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationStatusReason)(nil)).Elem() +} + +func (i GetIsReservationsReservationStatusReasonArgs) ToGetIsReservationsReservationStatusReasonOutput() GetIsReservationsReservationStatusReasonOutput { + return i.ToGetIsReservationsReservationStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationStatusReasonArgs) ToGetIsReservationsReservationStatusReasonOutputWithContext(ctx context.Context) GetIsReservationsReservationStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationStatusReasonOutput) +} + +// GetIsReservationsReservationStatusReasonArrayInput is an input type that accepts GetIsReservationsReservationStatusReasonArray and GetIsReservationsReservationStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsReservationsReservationStatusReasonArrayInput` via: +// +// GetIsReservationsReservationStatusReasonArray{ GetIsReservationsReservationStatusReasonArgs{...} } +type GetIsReservationsReservationStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsReservationsReservationStatusReasonArrayOutput() GetIsReservationsReservationStatusReasonArrayOutput + ToGetIsReservationsReservationStatusReasonArrayOutputWithContext(context.Context) GetIsReservationsReservationStatusReasonArrayOutput +} + +type GetIsReservationsReservationStatusReasonArray []GetIsReservationsReservationStatusReasonInput + +func (GetIsReservationsReservationStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationStatusReason)(nil)).Elem() +} + +func (i GetIsReservationsReservationStatusReasonArray) ToGetIsReservationsReservationStatusReasonArrayOutput() GetIsReservationsReservationStatusReasonArrayOutput { + return i.ToGetIsReservationsReservationStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsReservationsReservationStatusReasonArray) ToGetIsReservationsReservationStatusReasonArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsReservationsReservationStatusReasonArrayOutput) +} + +type GetIsReservationsReservationStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsReservationsReservationStatusReason)(nil)).Elem() +} + +func (o GetIsReservationsReservationStatusReasonOutput) ToGetIsReservationsReservationStatusReasonOutput() GetIsReservationsReservationStatusReasonOutput { + return o +} + +func (o GetIsReservationsReservationStatusReasonOutput) ToGetIsReservationsReservationStatusReasonOutputWithContext(ctx context.Context) GetIsReservationsReservationStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsReservationsReservationStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsReservationsReservationStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsReservationsReservationStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsReservationsReservationStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsReservationsReservationStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsReservationsReservationStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsReservationsReservationStatusReason)(nil)).Elem() +} + +func (o GetIsReservationsReservationStatusReasonArrayOutput) ToGetIsReservationsReservationStatusReasonArrayOutput() GetIsReservationsReservationStatusReasonArrayOutput { + return o +} + +func (o GetIsReservationsReservationStatusReasonArrayOutput) ToGetIsReservationsReservationStatusReasonArrayOutputWithContext(ctx context.Context) GetIsReservationsReservationStatusReasonArrayOutput { + return o +} + +func (o GetIsReservationsReservationStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsReservationsReservationStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsReservationsReservationStatusReason { + return vs[0].([]GetIsReservationsReservationStatusReason)[vs[1].(int)] + }).(GetIsReservationsReservationStatusReasonOutput) +} + +type GetIsSecurityGroupRuleType struct { + Code int `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction string `pulumi:"direction"` + // IP version: ipv4 + IpVersion string `pulumi:"ipVersion"` + // The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). + Locals []GetIsSecurityGroupRuleLocal `pulumi:"locals"` + PortMax int `pulumi:"portMax"` + PortMin int `pulumi:"portMin"` + Protocol string `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote string `pulumi:"remote"` + // Rule id + RuleId string `pulumi:"ruleId"` + Type int `pulumi:"type"` +} + +// GetIsSecurityGroupRuleTypeInput is an input type that accepts GetIsSecurityGroupRuleTypeArgs and GetIsSecurityGroupRuleTypeOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRuleTypeInput` via: +// +// GetIsSecurityGroupRuleTypeArgs{...} +type GetIsSecurityGroupRuleTypeInput interface { + pulumi.Input + + ToGetIsSecurityGroupRuleTypeOutput() GetIsSecurityGroupRuleTypeOutput + ToGetIsSecurityGroupRuleTypeOutputWithContext(context.Context) GetIsSecurityGroupRuleTypeOutput +} + +type GetIsSecurityGroupRuleTypeArgs struct { + Code pulumi.IntInput `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringInput `pulumi:"direction"` + // IP version: ipv4 + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + // The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). + Locals GetIsSecurityGroupRuleLocalArrayInput `pulumi:"locals"` + PortMax pulumi.IntInput `pulumi:"portMax"` + PortMin pulumi.IntInput `pulumi:"portMin"` + Protocol pulumi.StringInput `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote pulumi.StringInput `pulumi:"remote"` + // Rule id + RuleId pulumi.StringInput `pulumi:"ruleId"` + Type pulumi.IntInput `pulumi:"type"` +} + +func (GetIsSecurityGroupRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRuleType)(nil)).Elem() +} + +func (i GetIsSecurityGroupRuleTypeArgs) ToGetIsSecurityGroupRuleTypeOutput() GetIsSecurityGroupRuleTypeOutput { + return i.ToGetIsSecurityGroupRuleTypeOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRuleTypeArgs) ToGetIsSecurityGroupRuleTypeOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRuleTypeOutput) +} + +// GetIsSecurityGroupRuleTypeArrayInput is an input type that accepts GetIsSecurityGroupRuleTypeArray and GetIsSecurityGroupRuleTypeArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRuleTypeArrayInput` via: +// +// GetIsSecurityGroupRuleTypeArray{ GetIsSecurityGroupRuleTypeArgs{...} } +type GetIsSecurityGroupRuleTypeArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupRuleTypeArrayOutput() GetIsSecurityGroupRuleTypeArrayOutput + ToGetIsSecurityGroupRuleTypeArrayOutputWithContext(context.Context) GetIsSecurityGroupRuleTypeArrayOutput +} + +type GetIsSecurityGroupRuleTypeArray []GetIsSecurityGroupRuleTypeInput + +func (GetIsSecurityGroupRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRuleType)(nil)).Elem() +} + +func (i GetIsSecurityGroupRuleTypeArray) ToGetIsSecurityGroupRuleTypeArrayOutput() GetIsSecurityGroupRuleTypeArrayOutput { + return i.ToGetIsSecurityGroupRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRuleTypeArray) ToGetIsSecurityGroupRuleTypeArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRuleTypeArrayOutput) +} + +type GetIsSecurityGroupRuleTypeOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRuleType)(nil)).Elem() +} + +func (o GetIsSecurityGroupRuleTypeOutput) ToGetIsSecurityGroupRuleTypeOutput() GetIsSecurityGroupRuleTypeOutput { + return o +} + +func (o GetIsSecurityGroupRuleTypeOutput) ToGetIsSecurityGroupRuleTypeOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleTypeOutput { + return o +} + +func (o GetIsSecurityGroupRuleTypeOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) int { return v.Code }).(pulumi.IntOutput) +} + +// Direction of traffic to enforce, either inbound or outbound +func (o GetIsSecurityGroupRuleTypeOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) string { return v.Direction }).(pulumi.StringOutput) +} + +// IP version: ipv4 +func (o GetIsSecurityGroupRuleTypeOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) string { return v.IpVersion }).(pulumi.StringOutput) +} + +// The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). +func (o GetIsSecurityGroupRuleTypeOutput) Locals() GetIsSecurityGroupRuleLocalArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) []GetIsSecurityGroupRuleLocal { return v.Locals }).(GetIsSecurityGroupRuleLocalArrayOutput) +} + +func (o GetIsSecurityGroupRuleTypeOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) int { return v.PortMax }).(pulumi.IntOutput) +} + +func (o GetIsSecurityGroupRuleTypeOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) int { return v.PortMin }).(pulumi.IntOutput) +} + +func (o GetIsSecurityGroupRuleTypeOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) string { return v.Protocol }).(pulumi.StringOutput) +} + +// Security group id: an IP address, a CIDR block, or a single security group identifier +func (o GetIsSecurityGroupRuleTypeOutput) Remote() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) string { return v.Remote }).(pulumi.StringOutput) +} + +// Rule id +func (o GetIsSecurityGroupRuleTypeOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) string { return v.RuleId }).(pulumi.StringOutput) +} + +func (o GetIsSecurityGroupRuleTypeOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleType) int { return v.Type }).(pulumi.IntOutput) +} + +type GetIsSecurityGroupRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRuleType)(nil)).Elem() +} + +func (o GetIsSecurityGroupRuleTypeArrayOutput) ToGetIsSecurityGroupRuleTypeArrayOutput() GetIsSecurityGroupRuleTypeArrayOutput { + return o +} + +func (o GetIsSecurityGroupRuleTypeArrayOutput) ToGetIsSecurityGroupRuleTypeArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleTypeArrayOutput { + return o +} + +func (o GetIsSecurityGroupRuleTypeArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupRuleType { + return vs[0].([]GetIsSecurityGroupRuleType)[vs[1].(int)] + }).(GetIsSecurityGroupRuleTypeOutput) +} + +type GetIsSecurityGroupRuleLocal struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock string `pulumi:"cidrBlock"` +} + +// GetIsSecurityGroupRuleLocalInput is an input type that accepts GetIsSecurityGroupRuleLocalArgs and GetIsSecurityGroupRuleLocalOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRuleLocalInput` via: +// +// GetIsSecurityGroupRuleLocalArgs{...} +type GetIsSecurityGroupRuleLocalInput interface { + pulumi.Input + + ToGetIsSecurityGroupRuleLocalOutput() GetIsSecurityGroupRuleLocalOutput + ToGetIsSecurityGroupRuleLocalOutputWithContext(context.Context) GetIsSecurityGroupRuleLocalOutput +} + +type GetIsSecurityGroupRuleLocalArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock pulumi.StringInput `pulumi:"cidrBlock"` +} + +func (GetIsSecurityGroupRuleLocalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRuleLocal)(nil)).Elem() +} + +func (i GetIsSecurityGroupRuleLocalArgs) ToGetIsSecurityGroupRuleLocalOutput() GetIsSecurityGroupRuleLocalOutput { + return i.ToGetIsSecurityGroupRuleLocalOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRuleLocalArgs) ToGetIsSecurityGroupRuleLocalOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleLocalOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRuleLocalOutput) +} + +// GetIsSecurityGroupRuleLocalArrayInput is an input type that accepts GetIsSecurityGroupRuleLocalArray and GetIsSecurityGroupRuleLocalArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRuleLocalArrayInput` via: +// +// GetIsSecurityGroupRuleLocalArray{ GetIsSecurityGroupRuleLocalArgs{...} } +type GetIsSecurityGroupRuleLocalArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupRuleLocalArrayOutput() GetIsSecurityGroupRuleLocalArrayOutput + ToGetIsSecurityGroupRuleLocalArrayOutputWithContext(context.Context) GetIsSecurityGroupRuleLocalArrayOutput +} + +type GetIsSecurityGroupRuleLocalArray []GetIsSecurityGroupRuleLocalInput + +func (GetIsSecurityGroupRuleLocalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRuleLocal)(nil)).Elem() +} + +func (i GetIsSecurityGroupRuleLocalArray) ToGetIsSecurityGroupRuleLocalArrayOutput() GetIsSecurityGroupRuleLocalArrayOutput { + return i.ToGetIsSecurityGroupRuleLocalArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRuleLocalArray) ToGetIsSecurityGroupRuleLocalArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleLocalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRuleLocalArrayOutput) +} + +type GetIsSecurityGroupRuleLocalOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRuleLocalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRuleLocal)(nil)).Elem() +} + +func (o GetIsSecurityGroupRuleLocalOutput) ToGetIsSecurityGroupRuleLocalOutput() GetIsSecurityGroupRuleLocalOutput { + return o +} + +func (o GetIsSecurityGroupRuleLocalOutput) ToGetIsSecurityGroupRuleLocalOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleLocalOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsSecurityGroupRuleLocalOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleLocal) string { return v.Address }).(pulumi.StringOutput) +} + +// The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. +func (o GetIsSecurityGroupRuleLocalOutput) CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleLocal) string { return v.CidrBlock }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupRuleLocalArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRuleLocalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRuleLocal)(nil)).Elem() +} + +func (o GetIsSecurityGroupRuleLocalArrayOutput) ToGetIsSecurityGroupRuleLocalArrayOutput() GetIsSecurityGroupRuleLocalArrayOutput { + return o +} + +func (o GetIsSecurityGroupRuleLocalArrayOutput) ToGetIsSecurityGroupRuleLocalArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleLocalArrayOutput { + return o +} + +func (o GetIsSecurityGroupRuleLocalArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupRuleLocalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupRuleLocal { + return vs[0].([]GetIsSecurityGroupRuleLocal)[vs[1].(int)] + }).(GetIsSecurityGroupRuleLocalOutput) +} + +type GetIsSecurityGroupRuleRemote struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock string `pulumi:"cidrBlock"` + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSecurityGroupRuleRemoteDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name string `pulumi:"name"` +} + +// GetIsSecurityGroupRuleRemoteInput is an input type that accepts GetIsSecurityGroupRuleRemoteArgs and GetIsSecurityGroupRuleRemoteOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRuleRemoteInput` via: +// +// GetIsSecurityGroupRuleRemoteArgs{...} +type GetIsSecurityGroupRuleRemoteInput interface { + pulumi.Input + + ToGetIsSecurityGroupRuleRemoteOutput() GetIsSecurityGroupRuleRemoteOutput + ToGetIsSecurityGroupRuleRemoteOutputWithContext(context.Context) GetIsSecurityGroupRuleRemoteOutput +} + +type GetIsSecurityGroupRuleRemoteArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock pulumi.StringInput `pulumi:"cidrBlock"` + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSecurityGroupRuleRemoteDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSecurityGroupRuleRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i GetIsSecurityGroupRuleRemoteArgs) ToGetIsSecurityGroupRuleRemoteOutput() GetIsSecurityGroupRuleRemoteOutput { + return i.ToGetIsSecurityGroupRuleRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRuleRemoteArgs) ToGetIsSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRuleRemoteOutput) +} + +// GetIsSecurityGroupRuleRemoteArrayInput is an input type that accepts GetIsSecurityGroupRuleRemoteArray and GetIsSecurityGroupRuleRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRuleRemoteArrayInput` via: +// +// GetIsSecurityGroupRuleRemoteArray{ GetIsSecurityGroupRuleRemoteArgs{...} } +type GetIsSecurityGroupRuleRemoteArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupRuleRemoteArrayOutput() GetIsSecurityGroupRuleRemoteArrayOutput + ToGetIsSecurityGroupRuleRemoteArrayOutputWithContext(context.Context) GetIsSecurityGroupRuleRemoteArrayOutput +} + +type GetIsSecurityGroupRuleRemoteArray []GetIsSecurityGroupRuleRemoteInput + +func (GetIsSecurityGroupRuleRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i GetIsSecurityGroupRuleRemoteArray) ToGetIsSecurityGroupRuleRemoteArrayOutput() GetIsSecurityGroupRuleRemoteArrayOutput { + return i.ToGetIsSecurityGroupRuleRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRuleRemoteArray) ToGetIsSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRuleRemoteArrayOutput) +} + +type GetIsSecurityGroupRuleRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRuleRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o GetIsSecurityGroupRuleRemoteOutput) ToGetIsSecurityGroupRuleRemoteOutput() GetIsSecurityGroupRuleRemoteOutput { + return o +} + +func (o GetIsSecurityGroupRuleRemoteOutput) ToGetIsSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleRemoteOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsSecurityGroupRuleRemoteOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleRemote) string { return v.Address }).(pulumi.StringOutput) +} + +// The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. +func (o GetIsSecurityGroupRuleRemoteOutput) CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleRemote) string { return v.CidrBlock }).(pulumi.StringOutput) +} + +// The security group's CRN. +func (o GetIsSecurityGroupRuleRemoteOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleRemote) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSecurityGroupRuleRemoteOutput) Deleteds() GetIsSecurityGroupRuleRemoteDeletedArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleRemote) []GetIsSecurityGroupRuleRemoteDeleted { return v.Deleteds }).(GetIsSecurityGroupRuleRemoteDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsSecurityGroupRuleRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsSecurityGroupRuleRemoteOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleRemote) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this security group. Names must be unique within the VPC the security group resides in. +func (o GetIsSecurityGroupRuleRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupRuleRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRuleRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o GetIsSecurityGroupRuleRemoteArrayOutput) ToGetIsSecurityGroupRuleRemoteArrayOutput() GetIsSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o GetIsSecurityGroupRuleRemoteArrayOutput) ToGetIsSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o GetIsSecurityGroupRuleRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupRuleRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupRuleRemote { + return vs[0].([]GetIsSecurityGroupRuleRemote)[vs[1].(int)] + }).(GetIsSecurityGroupRuleRemoteOutput) +} + +type GetIsSecurityGroupRuleRemoteDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSecurityGroupRuleRemoteDeletedInput is an input type that accepts GetIsSecurityGroupRuleRemoteDeletedArgs and GetIsSecurityGroupRuleRemoteDeletedOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRuleRemoteDeletedInput` via: +// +// GetIsSecurityGroupRuleRemoteDeletedArgs{...} +type GetIsSecurityGroupRuleRemoteDeletedInput interface { + pulumi.Input + + ToGetIsSecurityGroupRuleRemoteDeletedOutput() GetIsSecurityGroupRuleRemoteDeletedOutput + ToGetIsSecurityGroupRuleRemoteDeletedOutputWithContext(context.Context) GetIsSecurityGroupRuleRemoteDeletedOutput +} + +type GetIsSecurityGroupRuleRemoteDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSecurityGroupRuleRemoteDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRuleRemoteDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupRuleRemoteDeletedArgs) ToGetIsSecurityGroupRuleRemoteDeletedOutput() GetIsSecurityGroupRuleRemoteDeletedOutput { + return i.ToGetIsSecurityGroupRuleRemoteDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRuleRemoteDeletedArgs) ToGetIsSecurityGroupRuleRemoteDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleRemoteDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRuleRemoteDeletedOutput) +} + +// GetIsSecurityGroupRuleRemoteDeletedArrayInput is an input type that accepts GetIsSecurityGroupRuleRemoteDeletedArray and GetIsSecurityGroupRuleRemoteDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRuleRemoteDeletedArrayInput` via: +// +// GetIsSecurityGroupRuleRemoteDeletedArray{ GetIsSecurityGroupRuleRemoteDeletedArgs{...} } +type GetIsSecurityGroupRuleRemoteDeletedArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupRuleRemoteDeletedArrayOutput() GetIsSecurityGroupRuleRemoteDeletedArrayOutput + ToGetIsSecurityGroupRuleRemoteDeletedArrayOutputWithContext(context.Context) GetIsSecurityGroupRuleRemoteDeletedArrayOutput +} + +type GetIsSecurityGroupRuleRemoteDeletedArray []GetIsSecurityGroupRuleRemoteDeletedInput + +func (GetIsSecurityGroupRuleRemoteDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRuleRemoteDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupRuleRemoteDeletedArray) ToGetIsSecurityGroupRuleRemoteDeletedArrayOutput() GetIsSecurityGroupRuleRemoteDeletedArrayOutput { + return i.ToGetIsSecurityGroupRuleRemoteDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRuleRemoteDeletedArray) ToGetIsSecurityGroupRuleRemoteDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleRemoteDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRuleRemoteDeletedArrayOutput) +} + +type GetIsSecurityGroupRuleRemoteDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRuleRemoteDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRuleRemoteDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupRuleRemoteDeletedOutput) ToGetIsSecurityGroupRuleRemoteDeletedOutput() GetIsSecurityGroupRuleRemoteDeletedOutput { + return o +} + +func (o GetIsSecurityGroupRuleRemoteDeletedOutput) ToGetIsSecurityGroupRuleRemoteDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleRemoteDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSecurityGroupRuleRemoteDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRuleRemoteDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupRuleRemoteDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRuleRemoteDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRuleRemoteDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupRuleRemoteDeletedArrayOutput) ToGetIsSecurityGroupRuleRemoteDeletedArrayOutput() GetIsSecurityGroupRuleRemoteDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupRuleRemoteDeletedArrayOutput) ToGetIsSecurityGroupRuleRemoteDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRuleRemoteDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupRuleRemoteDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupRuleRemoteDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupRuleRemoteDeleted { + return vs[0].([]GetIsSecurityGroupRuleRemoteDeleted)[vs[1].(int)] + }).(GetIsSecurityGroupRuleRemoteDeletedOutput) +} + +type GetIsSecurityGroupRulesRule struct { + // The ICMP traffic code to allow. + Code int `pulumi:"code"` + // The direction of traffic to enforce, either `inbound` or `outbound`. + Direction string `pulumi:"direction"` + // The URL for this security group rule. + Href string `pulumi:"href"` + // The unique identifier for this security group rule. + Id string `pulumi:"id"` + // The IP version to enforce. The format of `remote.address` or `remote.cidr_block` must match this property, if they are used. Alternatively, if `remote` references a security group, then this rule only applies to IP addresses (network interfaces) in that group matching this IP version. + IpVersion string `pulumi:"ipVersion"` + // The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). + Locals []GetIsSecurityGroupRulesRuleLocal `pulumi:"locals"` + // The inclusive upper bound of TCP/UDP port range. + PortMax int `pulumi:"portMax"` + // The inclusive lower bound of TCP/UDP port range. + PortMin int `pulumi:"portMin"` + // The protocol to enforce. + Protocol string `pulumi:"protocol"` + // The IP addresses or security groups from which this rule allows traffic (or to which,for outbound rules). Can be specified as an IP address, a CIDR block, or a securitygroup. A CIDR block of `0.0.0.0/0` allows traffic from any source (or to any source,for outbound rules). + Remotes []GetIsSecurityGroupRulesRuleRemote `pulumi:"remotes"` + // The ICMP traffic type to allow. + Type int `pulumi:"type"` +} + +// GetIsSecurityGroupRulesRuleInput is an input type that accepts GetIsSecurityGroupRulesRuleArgs and GetIsSecurityGroupRulesRuleOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRulesRuleInput` via: +// +// GetIsSecurityGroupRulesRuleArgs{...} +type GetIsSecurityGroupRulesRuleInput interface { + pulumi.Input + + ToGetIsSecurityGroupRulesRuleOutput() GetIsSecurityGroupRulesRuleOutput + ToGetIsSecurityGroupRulesRuleOutputWithContext(context.Context) GetIsSecurityGroupRulesRuleOutput +} + +type GetIsSecurityGroupRulesRuleArgs struct { + // The ICMP traffic code to allow. + Code pulumi.IntInput `pulumi:"code"` + // The direction of traffic to enforce, either `inbound` or `outbound`. + Direction pulumi.StringInput `pulumi:"direction"` + // The URL for this security group rule. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group rule. + Id pulumi.StringInput `pulumi:"id"` + // The IP version to enforce. The format of `remote.address` or `remote.cidr_block` must match this property, if they are used. Alternatively, if `remote` references a security group, then this rule only applies to IP addresses (network interfaces) in that group matching this IP version. + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + // The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). + Locals GetIsSecurityGroupRulesRuleLocalArrayInput `pulumi:"locals"` + // The inclusive upper bound of TCP/UDP port range. + PortMax pulumi.IntInput `pulumi:"portMax"` + // The inclusive lower bound of TCP/UDP port range. + PortMin pulumi.IntInput `pulumi:"portMin"` + // The protocol to enforce. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The IP addresses or security groups from which this rule allows traffic (or to which,for outbound rules). Can be specified as an IP address, a CIDR block, or a securitygroup. A CIDR block of `0.0.0.0/0` allows traffic from any source (or to any source,for outbound rules). + Remotes GetIsSecurityGroupRulesRuleRemoteArrayInput `pulumi:"remotes"` + // The ICMP traffic type to allow. + Type pulumi.IntInput `pulumi:"type"` +} + +func (GetIsSecurityGroupRulesRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesRule)(nil)).Elem() +} + +func (i GetIsSecurityGroupRulesRuleArgs) ToGetIsSecurityGroupRulesRuleOutput() GetIsSecurityGroupRulesRuleOutput { + return i.ToGetIsSecurityGroupRulesRuleOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRulesRuleArgs) ToGetIsSecurityGroupRulesRuleOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRulesRuleOutput) +} + +// GetIsSecurityGroupRulesRuleArrayInput is an input type that accepts GetIsSecurityGroupRulesRuleArray and GetIsSecurityGroupRulesRuleArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRulesRuleArrayInput` via: +// +// GetIsSecurityGroupRulesRuleArray{ GetIsSecurityGroupRulesRuleArgs{...} } +type GetIsSecurityGroupRulesRuleArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupRulesRuleArrayOutput() GetIsSecurityGroupRulesRuleArrayOutput + ToGetIsSecurityGroupRulesRuleArrayOutputWithContext(context.Context) GetIsSecurityGroupRulesRuleArrayOutput +} + +type GetIsSecurityGroupRulesRuleArray []GetIsSecurityGroupRulesRuleInput + +func (GetIsSecurityGroupRulesRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRulesRule)(nil)).Elem() +} + +func (i GetIsSecurityGroupRulesRuleArray) ToGetIsSecurityGroupRulesRuleArrayOutput() GetIsSecurityGroupRulesRuleArrayOutput { + return i.ToGetIsSecurityGroupRulesRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRulesRuleArray) ToGetIsSecurityGroupRulesRuleArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRulesRuleArrayOutput) +} + +type GetIsSecurityGroupRulesRuleOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesRule)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesRuleOutput) ToGetIsSecurityGroupRulesRuleOutput() GetIsSecurityGroupRulesRuleOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleOutput) ToGetIsSecurityGroupRulesRuleOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleOutput { + return o +} + +// The ICMP traffic code to allow. +func (o GetIsSecurityGroupRulesRuleOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) int { return v.Code }).(pulumi.IntOutput) +} + +// The direction of traffic to enforce, either `inbound` or `outbound`. +func (o GetIsSecurityGroupRulesRuleOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) string { return v.Direction }).(pulumi.StringOutput) +} + +// The URL for this security group rule. +func (o GetIsSecurityGroupRulesRuleOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group rule. +func (o GetIsSecurityGroupRulesRuleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) string { return v.Id }).(pulumi.StringOutput) +} + +// The IP version to enforce. The format of `remote.address` or `remote.cidr_block` must match this property, if they are used. Alternatively, if `remote` references a security group, then this rule only applies to IP addresses (network interfaces) in that group matching this IP version. +func (o GetIsSecurityGroupRulesRuleOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) string { return v.IpVersion }).(pulumi.StringOutput) +} + +// The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). +func (o GetIsSecurityGroupRulesRuleOutput) Locals() GetIsSecurityGroupRulesRuleLocalArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) []GetIsSecurityGroupRulesRuleLocal { return v.Locals }).(GetIsSecurityGroupRulesRuleLocalArrayOutput) +} + +// The inclusive upper bound of TCP/UDP port range. +func (o GetIsSecurityGroupRulesRuleOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The inclusive lower bound of TCP/UDP port range. +func (o GetIsSecurityGroupRulesRuleOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The protocol to enforce. +func (o GetIsSecurityGroupRulesRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The IP addresses or security groups from which this rule allows traffic (or to which,for outbound rules). Can be specified as an IP address, a CIDR block, or a securitygroup. A CIDR block of `0.0.0.0/0` allows traffic from any source (or to any source,for outbound rules). +func (o GetIsSecurityGroupRulesRuleOutput) Remotes() GetIsSecurityGroupRulesRuleRemoteArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) []GetIsSecurityGroupRulesRuleRemote { return v.Remotes }).(GetIsSecurityGroupRulesRuleRemoteArrayOutput) +} + +// The ICMP traffic type to allow. +func (o GetIsSecurityGroupRulesRuleOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRule) int { return v.Type }).(pulumi.IntOutput) +} + +type GetIsSecurityGroupRulesRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRulesRule)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesRuleArrayOutput) ToGetIsSecurityGroupRulesRuleArrayOutput() GetIsSecurityGroupRulesRuleArrayOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleArrayOutput) ToGetIsSecurityGroupRulesRuleArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleArrayOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupRulesRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupRulesRule { + return vs[0].([]GetIsSecurityGroupRulesRule)[vs[1].(int)] + }).(GetIsSecurityGroupRulesRuleOutput) +} + +type GetIsSecurityGroupRulesRuleLocal struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock string `pulumi:"cidrBlock"` +} + +// GetIsSecurityGroupRulesRuleLocalInput is an input type that accepts GetIsSecurityGroupRulesRuleLocalArgs and GetIsSecurityGroupRulesRuleLocalOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRulesRuleLocalInput` via: +// +// GetIsSecurityGroupRulesRuleLocalArgs{...} +type GetIsSecurityGroupRulesRuleLocalInput interface { + pulumi.Input + + ToGetIsSecurityGroupRulesRuleLocalOutput() GetIsSecurityGroupRulesRuleLocalOutput + ToGetIsSecurityGroupRulesRuleLocalOutputWithContext(context.Context) GetIsSecurityGroupRulesRuleLocalOutput +} + +type GetIsSecurityGroupRulesRuleLocalArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock pulumi.StringInput `pulumi:"cidrBlock"` +} + +func (GetIsSecurityGroupRulesRuleLocalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesRuleLocal)(nil)).Elem() +} + +func (i GetIsSecurityGroupRulesRuleLocalArgs) ToGetIsSecurityGroupRulesRuleLocalOutput() GetIsSecurityGroupRulesRuleLocalOutput { + return i.ToGetIsSecurityGroupRulesRuleLocalOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRulesRuleLocalArgs) ToGetIsSecurityGroupRulesRuleLocalOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleLocalOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRulesRuleLocalOutput) +} + +// GetIsSecurityGroupRulesRuleLocalArrayInput is an input type that accepts GetIsSecurityGroupRulesRuleLocalArray and GetIsSecurityGroupRulesRuleLocalArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRulesRuleLocalArrayInput` via: +// +// GetIsSecurityGroupRulesRuleLocalArray{ GetIsSecurityGroupRulesRuleLocalArgs{...} } +type GetIsSecurityGroupRulesRuleLocalArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupRulesRuleLocalArrayOutput() GetIsSecurityGroupRulesRuleLocalArrayOutput + ToGetIsSecurityGroupRulesRuleLocalArrayOutputWithContext(context.Context) GetIsSecurityGroupRulesRuleLocalArrayOutput +} + +type GetIsSecurityGroupRulesRuleLocalArray []GetIsSecurityGroupRulesRuleLocalInput + +func (GetIsSecurityGroupRulesRuleLocalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRulesRuleLocal)(nil)).Elem() +} + +func (i GetIsSecurityGroupRulesRuleLocalArray) ToGetIsSecurityGroupRulesRuleLocalArrayOutput() GetIsSecurityGroupRulesRuleLocalArrayOutput { + return i.ToGetIsSecurityGroupRulesRuleLocalArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRulesRuleLocalArray) ToGetIsSecurityGroupRulesRuleLocalArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleLocalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRulesRuleLocalArrayOutput) +} + +type GetIsSecurityGroupRulesRuleLocalOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesRuleLocalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesRuleLocal)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesRuleLocalOutput) ToGetIsSecurityGroupRulesRuleLocalOutput() GetIsSecurityGroupRulesRuleLocalOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleLocalOutput) ToGetIsSecurityGroupRulesRuleLocalOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleLocalOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsSecurityGroupRulesRuleLocalOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleLocal) string { return v.Address }).(pulumi.StringOutput) +} + +// The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. +func (o GetIsSecurityGroupRulesRuleLocalOutput) CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleLocal) string { return v.CidrBlock }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupRulesRuleLocalArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesRuleLocalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRulesRuleLocal)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesRuleLocalArrayOutput) ToGetIsSecurityGroupRulesRuleLocalArrayOutput() GetIsSecurityGroupRulesRuleLocalArrayOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleLocalArrayOutput) ToGetIsSecurityGroupRulesRuleLocalArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleLocalArrayOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleLocalArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupRulesRuleLocalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupRulesRuleLocal { + return vs[0].([]GetIsSecurityGroupRulesRuleLocal)[vs[1].(int)] + }).(GetIsSecurityGroupRulesRuleLocalOutput) +} + +type GetIsSecurityGroupRulesRuleRemote struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock string `pulumi:"cidrBlock"` + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSecurityGroupRulesRuleRemoteDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name string `pulumi:"name"` +} + +// GetIsSecurityGroupRulesRuleRemoteInput is an input type that accepts GetIsSecurityGroupRulesRuleRemoteArgs and GetIsSecurityGroupRulesRuleRemoteOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRulesRuleRemoteInput` via: +// +// GetIsSecurityGroupRulesRuleRemoteArgs{...} +type GetIsSecurityGroupRulesRuleRemoteInput interface { + pulumi.Input + + ToGetIsSecurityGroupRulesRuleRemoteOutput() GetIsSecurityGroupRulesRuleRemoteOutput + ToGetIsSecurityGroupRulesRuleRemoteOutputWithContext(context.Context) GetIsSecurityGroupRulesRuleRemoteOutput +} + +type GetIsSecurityGroupRulesRuleRemoteArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock pulumi.StringInput `pulumi:"cidrBlock"` + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSecurityGroupRulesRuleRemoteDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSecurityGroupRulesRuleRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesRuleRemote)(nil)).Elem() +} + +func (i GetIsSecurityGroupRulesRuleRemoteArgs) ToGetIsSecurityGroupRulesRuleRemoteOutput() GetIsSecurityGroupRulesRuleRemoteOutput { + return i.ToGetIsSecurityGroupRulesRuleRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRulesRuleRemoteArgs) ToGetIsSecurityGroupRulesRuleRemoteOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRulesRuleRemoteOutput) +} + +// GetIsSecurityGroupRulesRuleRemoteArrayInput is an input type that accepts GetIsSecurityGroupRulesRuleRemoteArray and GetIsSecurityGroupRulesRuleRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRulesRuleRemoteArrayInput` via: +// +// GetIsSecurityGroupRulesRuleRemoteArray{ GetIsSecurityGroupRulesRuleRemoteArgs{...} } +type GetIsSecurityGroupRulesRuleRemoteArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupRulesRuleRemoteArrayOutput() GetIsSecurityGroupRulesRuleRemoteArrayOutput + ToGetIsSecurityGroupRulesRuleRemoteArrayOutputWithContext(context.Context) GetIsSecurityGroupRulesRuleRemoteArrayOutput +} + +type GetIsSecurityGroupRulesRuleRemoteArray []GetIsSecurityGroupRulesRuleRemoteInput + +func (GetIsSecurityGroupRulesRuleRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRulesRuleRemote)(nil)).Elem() +} + +func (i GetIsSecurityGroupRulesRuleRemoteArray) ToGetIsSecurityGroupRulesRuleRemoteArrayOutput() GetIsSecurityGroupRulesRuleRemoteArrayOutput { + return i.ToGetIsSecurityGroupRulesRuleRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRulesRuleRemoteArray) ToGetIsSecurityGroupRulesRuleRemoteArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRulesRuleRemoteArrayOutput) +} + +type GetIsSecurityGroupRulesRuleRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesRuleRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesRuleRemote)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesRuleRemoteOutput) ToGetIsSecurityGroupRulesRuleRemoteOutput() GetIsSecurityGroupRulesRuleRemoteOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleRemoteOutput) ToGetIsSecurityGroupRulesRuleRemoteOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleRemoteOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsSecurityGroupRulesRuleRemoteOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleRemote) string { return v.Address }).(pulumi.StringOutput) +} + +// The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. +func (o GetIsSecurityGroupRulesRuleRemoteOutput) CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleRemote) string { return v.CidrBlock }).(pulumi.StringOutput) +} + +// The security group's CRN. +func (o GetIsSecurityGroupRulesRuleRemoteOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleRemote) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSecurityGroupRulesRuleRemoteOutput) Deleteds() GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleRemote) []GetIsSecurityGroupRulesRuleRemoteDeleted { + return v.Deleteds + }).(GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsSecurityGroupRulesRuleRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsSecurityGroupRulesRuleRemoteOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleRemote) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this security group. Names must be unique within the VPC the security group resides in. +func (o GetIsSecurityGroupRulesRuleRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupRulesRuleRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesRuleRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRulesRuleRemote)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesRuleRemoteArrayOutput) ToGetIsSecurityGroupRulesRuleRemoteArrayOutput() GetIsSecurityGroupRulesRuleRemoteArrayOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleRemoteArrayOutput) ToGetIsSecurityGroupRulesRuleRemoteArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleRemoteArrayOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupRulesRuleRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupRulesRuleRemote { + return vs[0].([]GetIsSecurityGroupRulesRuleRemote)[vs[1].(int)] + }).(GetIsSecurityGroupRulesRuleRemoteOutput) +} + +type GetIsSecurityGroupRulesRuleRemoteDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSecurityGroupRulesRuleRemoteDeletedInput is an input type that accepts GetIsSecurityGroupRulesRuleRemoteDeletedArgs and GetIsSecurityGroupRulesRuleRemoteDeletedOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRulesRuleRemoteDeletedInput` via: +// +// GetIsSecurityGroupRulesRuleRemoteDeletedArgs{...} +type GetIsSecurityGroupRulesRuleRemoteDeletedInput interface { + pulumi.Input + + ToGetIsSecurityGroupRulesRuleRemoteDeletedOutput() GetIsSecurityGroupRulesRuleRemoteDeletedOutput + ToGetIsSecurityGroupRulesRuleRemoteDeletedOutputWithContext(context.Context) GetIsSecurityGroupRulesRuleRemoteDeletedOutput +} + +type GetIsSecurityGroupRulesRuleRemoteDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSecurityGroupRulesRuleRemoteDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesRuleRemoteDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupRulesRuleRemoteDeletedArgs) ToGetIsSecurityGroupRulesRuleRemoteDeletedOutput() GetIsSecurityGroupRulesRuleRemoteDeletedOutput { + return i.ToGetIsSecurityGroupRulesRuleRemoteDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRulesRuleRemoteDeletedArgs) ToGetIsSecurityGroupRulesRuleRemoteDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleRemoteDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRulesRuleRemoteDeletedOutput) +} + +// GetIsSecurityGroupRulesRuleRemoteDeletedArrayInput is an input type that accepts GetIsSecurityGroupRulesRuleRemoteDeletedArray and GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupRulesRuleRemoteDeletedArrayInput` via: +// +// GetIsSecurityGroupRulesRuleRemoteDeletedArray{ GetIsSecurityGroupRulesRuleRemoteDeletedArgs{...} } +type GetIsSecurityGroupRulesRuleRemoteDeletedArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput() GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput + ToGetIsSecurityGroupRulesRuleRemoteDeletedArrayOutputWithContext(context.Context) GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput +} + +type GetIsSecurityGroupRulesRuleRemoteDeletedArray []GetIsSecurityGroupRulesRuleRemoteDeletedInput + +func (GetIsSecurityGroupRulesRuleRemoteDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRulesRuleRemoteDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupRulesRuleRemoteDeletedArray) ToGetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput() GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput { + return i.ToGetIsSecurityGroupRulesRuleRemoteDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupRulesRuleRemoteDeletedArray) ToGetIsSecurityGroupRulesRuleRemoteDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput) +} + +type GetIsSecurityGroupRulesRuleRemoteDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesRuleRemoteDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupRulesRuleRemoteDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesRuleRemoteDeletedOutput) ToGetIsSecurityGroupRulesRuleRemoteDeletedOutput() GetIsSecurityGroupRulesRuleRemoteDeletedOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleRemoteDeletedOutput) ToGetIsSecurityGroupRulesRuleRemoteDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleRemoteDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSecurityGroupRulesRuleRemoteDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupRulesRuleRemoteDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupRulesRuleRemoteDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput) ToGetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput() GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput) ToGetIsSecurityGroupRulesRuleRemoteDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupRulesRuleRemoteDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupRulesRuleRemoteDeleted { + return vs[0].([]GetIsSecurityGroupRulesRuleRemoteDeleted)[vs[1].(int)] + }).(GetIsSecurityGroupRulesRuleRemoteDeletedOutput) +} + +type GetIsSecurityGroupTargetsTarget struct { + // The CRN for this target + Crn string `pulumi:"crn"` + // Link to documentation about deleted resources + MoreInfo string `pulumi:"moreInfo"` + // Security group target name + Name string `pulumi:"name"` + // Resource Type + ResourceType string `pulumi:"resourceType"` + // security group target identifier + Target string `pulumi:"target"` +} + +// GetIsSecurityGroupTargetsTargetInput is an input type that accepts GetIsSecurityGroupTargetsTargetArgs and GetIsSecurityGroupTargetsTargetOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupTargetsTargetInput` via: +// +// GetIsSecurityGroupTargetsTargetArgs{...} +type GetIsSecurityGroupTargetsTargetInput interface { + pulumi.Input + + ToGetIsSecurityGroupTargetsTargetOutput() GetIsSecurityGroupTargetsTargetOutput + ToGetIsSecurityGroupTargetsTargetOutputWithContext(context.Context) GetIsSecurityGroupTargetsTargetOutput +} + +type GetIsSecurityGroupTargetsTargetArgs struct { + // The CRN for this target + Crn pulumi.StringInput `pulumi:"crn"` + // Link to documentation about deleted resources + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` + // Security group target name + Name pulumi.StringInput `pulumi:"name"` + // Resource Type + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // security group target identifier + Target pulumi.StringInput `pulumi:"target"` +} + +func (GetIsSecurityGroupTargetsTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupTargetsTarget)(nil)).Elem() +} + +func (i GetIsSecurityGroupTargetsTargetArgs) ToGetIsSecurityGroupTargetsTargetOutput() GetIsSecurityGroupTargetsTargetOutput { + return i.ToGetIsSecurityGroupTargetsTargetOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupTargetsTargetArgs) ToGetIsSecurityGroupTargetsTargetOutputWithContext(ctx context.Context) GetIsSecurityGroupTargetsTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupTargetsTargetOutput) +} + +// GetIsSecurityGroupTargetsTargetArrayInput is an input type that accepts GetIsSecurityGroupTargetsTargetArray and GetIsSecurityGroupTargetsTargetArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupTargetsTargetArrayInput` via: +// +// GetIsSecurityGroupTargetsTargetArray{ GetIsSecurityGroupTargetsTargetArgs{...} } +type GetIsSecurityGroupTargetsTargetArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupTargetsTargetArrayOutput() GetIsSecurityGroupTargetsTargetArrayOutput + ToGetIsSecurityGroupTargetsTargetArrayOutputWithContext(context.Context) GetIsSecurityGroupTargetsTargetArrayOutput +} + +type GetIsSecurityGroupTargetsTargetArray []GetIsSecurityGroupTargetsTargetInput + +func (GetIsSecurityGroupTargetsTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupTargetsTarget)(nil)).Elem() +} + +func (i GetIsSecurityGroupTargetsTargetArray) ToGetIsSecurityGroupTargetsTargetArrayOutput() GetIsSecurityGroupTargetsTargetArrayOutput { + return i.ToGetIsSecurityGroupTargetsTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupTargetsTargetArray) ToGetIsSecurityGroupTargetsTargetArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupTargetsTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupTargetsTargetArrayOutput) +} + +type GetIsSecurityGroupTargetsTargetOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupTargetsTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupTargetsTarget)(nil)).Elem() +} + +func (o GetIsSecurityGroupTargetsTargetOutput) ToGetIsSecurityGroupTargetsTargetOutput() GetIsSecurityGroupTargetsTargetOutput { + return o +} + +func (o GetIsSecurityGroupTargetsTargetOutput) ToGetIsSecurityGroupTargetsTargetOutputWithContext(ctx context.Context) GetIsSecurityGroupTargetsTargetOutput { + return o +} + +// The CRN for this target +func (o GetIsSecurityGroupTargetsTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupTargetsTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// Link to documentation about deleted resources +func (o GetIsSecurityGroupTargetsTargetOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupTargetsTarget) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +// Security group target name +func (o GetIsSecurityGroupTargetsTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupTargetsTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// Resource Type +func (o GetIsSecurityGroupTargetsTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupTargetsTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// security group target identifier +func (o GetIsSecurityGroupTargetsTargetOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupTargetsTarget) string { return v.Target }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupTargetsTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupTargetsTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupTargetsTarget)(nil)).Elem() +} + +func (o GetIsSecurityGroupTargetsTargetArrayOutput) ToGetIsSecurityGroupTargetsTargetArrayOutput() GetIsSecurityGroupTargetsTargetArrayOutput { + return o +} + +func (o GetIsSecurityGroupTargetsTargetArrayOutput) ToGetIsSecurityGroupTargetsTargetArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupTargetsTargetArrayOutput { + return o +} + +func (o GetIsSecurityGroupTargetsTargetArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupTargetsTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupTargetsTarget { + return vs[0].([]GetIsSecurityGroupTargetsTarget)[vs[1].(int)] + }).(GetIsSecurityGroupTargetsTargetOutput) +} + +type GetIsSecurityGroupsSecurityGroup struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The date and time that this security group was created. + CreatedAt string `pulumi:"createdAt"` + // The security group's CRN. + Crn string `pulumi:"crn"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name string `pulumi:"name"` + // The resource group for this security group. + ResourceGroups []GetIsSecurityGroupsSecurityGroupResourceGroup `pulumi:"resourceGroups"` + // The rules for this security group. If no rules exist, all traffic will be denied. + Rules []GetIsSecurityGroupsSecurityGroupRule `pulumi:"rules"` + // The targets for this security group. + Targets []GetIsSecurityGroupsSecurityGroupTarget `pulumi:"targets"` + // The VPC this security group is a part of. + Vpcs []GetIsSecurityGroupsSecurityGroupVpc `pulumi:"vpcs"` +} + +// GetIsSecurityGroupsSecurityGroupInput is an input type that accepts GetIsSecurityGroupsSecurityGroupArgs and GetIsSecurityGroupsSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupInput` via: +// +// GetIsSecurityGroupsSecurityGroupArgs{...} +type GetIsSecurityGroupsSecurityGroupInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupOutput() GetIsSecurityGroupsSecurityGroupOutput + ToGetIsSecurityGroupsSecurityGroupOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupOutput +} + +type GetIsSecurityGroupsSecurityGroupArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The date and time that this security group was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name pulumi.StringInput `pulumi:"name"` + // The resource group for this security group. + ResourceGroups GetIsSecurityGroupsSecurityGroupResourceGroupArrayInput `pulumi:"resourceGroups"` + // The rules for this security group. If no rules exist, all traffic will be denied. + Rules GetIsSecurityGroupsSecurityGroupRuleArrayInput `pulumi:"rules"` + // The targets for this security group. + Targets GetIsSecurityGroupsSecurityGroupTargetArrayInput `pulumi:"targets"` + // The VPC this security group is a part of. + Vpcs GetIsSecurityGroupsSecurityGroupVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsSecurityGroupsSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroup)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupArgs) ToGetIsSecurityGroupsSecurityGroupOutput() GetIsSecurityGroupsSecurityGroupOutput { + return i.ToGetIsSecurityGroupsSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupArgs) ToGetIsSecurityGroupsSecurityGroupOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupOutput) +} + +// GetIsSecurityGroupsSecurityGroupArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupArray and GetIsSecurityGroupsSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupArray{ GetIsSecurityGroupsSecurityGroupArgs{...} } +type GetIsSecurityGroupsSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupArrayOutput() GetIsSecurityGroupsSecurityGroupArrayOutput + ToGetIsSecurityGroupsSecurityGroupArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupArray []GetIsSecurityGroupsSecurityGroupInput + +func (GetIsSecurityGroupsSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroup)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupArray) ToGetIsSecurityGroupsSecurityGroupArrayOutput() GetIsSecurityGroupsSecurityGroupArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupArray) ToGetIsSecurityGroupsSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroup)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupOutput) ToGetIsSecurityGroupsSecurityGroupOutput() GetIsSecurityGroupsSecurityGroupOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupOutput) ToGetIsSecurityGroupsSecurityGroupOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupOutput { + return o +} + +// List of access management tags +func (o GetIsSecurityGroupsSecurityGroupOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The date and time that this security group was created. +func (o GetIsSecurityGroupsSecurityGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The security group's CRN. +func (o GetIsSecurityGroupsSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// The security group's canonical URL. +func (o GetIsSecurityGroupsSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsSecurityGroupsSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this security group. Names must be unique within the VPC the security group resides in. +func (o GetIsSecurityGroupsSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this security group. +func (o GetIsSecurityGroupsSecurityGroupOutput) ResourceGroups() GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) []GetIsSecurityGroupsSecurityGroupResourceGroup { + return v.ResourceGroups + }).(GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput) +} + +// The rules for this security group. If no rules exist, all traffic will be denied. +func (o GetIsSecurityGroupsSecurityGroupOutput) Rules() GetIsSecurityGroupsSecurityGroupRuleArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) []GetIsSecurityGroupsSecurityGroupRule { return v.Rules }).(GetIsSecurityGroupsSecurityGroupRuleArrayOutput) +} + +// The targets for this security group. +func (o GetIsSecurityGroupsSecurityGroupOutput) Targets() GetIsSecurityGroupsSecurityGroupTargetArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) []GetIsSecurityGroupsSecurityGroupTarget { return v.Targets }).(GetIsSecurityGroupsSecurityGroupTargetArrayOutput) +} + +// The VPC this security group is a part of. +func (o GetIsSecurityGroupsSecurityGroupOutput) Vpcs() GetIsSecurityGroupsSecurityGroupVpcArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroup) []GetIsSecurityGroupsSecurityGroupVpc { return v.Vpcs }).(GetIsSecurityGroupsSecurityGroupVpcArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroup)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupArrayOutput) ToGetIsSecurityGroupsSecurityGroupArrayOutput() GetIsSecurityGroupsSecurityGroupArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupArrayOutput) ToGetIsSecurityGroupsSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroup { + return vs[0].([]GetIsSecurityGroupsSecurityGroup)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupOutput) +} + +type GetIsSecurityGroupsSecurityGroupResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsSecurityGroupsSecurityGroupResourceGroupInput is an input type that accepts GetIsSecurityGroupsSecurityGroupResourceGroupArgs and GetIsSecurityGroupsSecurityGroupResourceGroupOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupResourceGroupInput` via: +// +// GetIsSecurityGroupsSecurityGroupResourceGroupArgs{...} +type GetIsSecurityGroupsSecurityGroupResourceGroupInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupResourceGroupOutput() GetIsSecurityGroupsSecurityGroupResourceGroupOutput + ToGetIsSecurityGroupsSecurityGroupResourceGroupOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupResourceGroupOutput +} + +type GetIsSecurityGroupsSecurityGroupResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSecurityGroupsSecurityGroupResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupResourceGroupArgs) ToGetIsSecurityGroupsSecurityGroupResourceGroupOutput() GetIsSecurityGroupsSecurityGroupResourceGroupOutput { + return i.ToGetIsSecurityGroupsSecurityGroupResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupResourceGroupArgs) ToGetIsSecurityGroupsSecurityGroupResourceGroupOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupResourceGroupOutput) +} + +// GetIsSecurityGroupsSecurityGroupResourceGroupArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupResourceGroupArray and GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupResourceGroupArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupResourceGroupArray{ GetIsSecurityGroupsSecurityGroupResourceGroupArgs{...} } +type GetIsSecurityGroupsSecurityGroupResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput() GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput + ToGetIsSecurityGroupsSecurityGroupResourceGroupArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupResourceGroupArray []GetIsSecurityGroupsSecurityGroupResourceGroupInput + +func (GetIsSecurityGroupsSecurityGroupResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupResourceGroupArray) ToGetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput() GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupResourceGroupArray) ToGetIsSecurityGroupsSecurityGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupResourceGroupOutput) ToGetIsSecurityGroupsSecurityGroupResourceGroupOutput() GetIsSecurityGroupsSecurityGroupResourceGroupOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupResourceGroupOutput) ToGetIsSecurityGroupsSecurityGroupResourceGroupOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsSecurityGroupsSecurityGroupResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsSecurityGroupsSecurityGroupResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsSecurityGroupsSecurityGroupResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput) ToGetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput() GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput) ToGetIsSecurityGroupsSecurityGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupResourceGroup { + return vs[0].([]GetIsSecurityGroupsSecurityGroupResourceGroup)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupResourceGroupOutput) +} + +type GetIsSecurityGroupsSecurityGroupRule struct { + // The ICMP traffic code to allow. + Code int `pulumi:"code"` + // The direction of traffic to enforce, either `inbound` or `outbound`. + Direction string `pulumi:"direction"` + // The URL for this security group rule. + Href string `pulumi:"href"` + // The unique identifier for this security group rule. + Id string `pulumi:"id"` + // The IP version to enforce. The format of `remote.address` or `remote.cidr_block` must match this property, if they are used. Alternatively, if `remote` references a security group, then this rule only applies to IP addresses (network interfaces) in that group matching this IP version. + IpVersion string `pulumi:"ipVersion"` + // The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). + Locals []GetIsSecurityGroupsSecurityGroupRuleLocal `pulumi:"locals"` + // The inclusive upper bound of TCP/UDP port range. + PortMax int `pulumi:"portMax"` + // The inclusive lower bound of TCP/UDP port range. + PortMin int `pulumi:"portMin"` + // The protocol to enforce. + Protocol string `pulumi:"protocol"` + // The IP addresses or security groups from which this rule allows traffic (or to which,for outbound rules). Can be specified as an IP address, a CIDR block, or a securitygroup. A CIDR block of `0.0.0.0/0` allows traffic from any source (or to any source,for outbound rules). + Remotes []GetIsSecurityGroupsSecurityGroupRuleRemote `pulumi:"remotes"` + // The ICMP traffic type to allow. + Type int `pulumi:"type"` +} + +// GetIsSecurityGroupsSecurityGroupRuleInput is an input type that accepts GetIsSecurityGroupsSecurityGroupRuleArgs and GetIsSecurityGroupsSecurityGroupRuleOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupRuleInput` via: +// +// GetIsSecurityGroupsSecurityGroupRuleArgs{...} +type GetIsSecurityGroupsSecurityGroupRuleInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupRuleOutput() GetIsSecurityGroupsSecurityGroupRuleOutput + ToGetIsSecurityGroupsSecurityGroupRuleOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupRuleOutput +} + +type GetIsSecurityGroupsSecurityGroupRuleArgs struct { + // The ICMP traffic code to allow. + Code pulumi.IntInput `pulumi:"code"` + // The direction of traffic to enforce, either `inbound` or `outbound`. + Direction pulumi.StringInput `pulumi:"direction"` + // The URL for this security group rule. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group rule. + Id pulumi.StringInput `pulumi:"id"` + // The IP version to enforce. The format of `remote.address` or `remote.cidr_block` must match this property, if they are used. Alternatively, if `remote` references a security group, then this rule only applies to IP addresses (network interfaces) in that group matching this IP version. + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + // The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). + Locals GetIsSecurityGroupsSecurityGroupRuleLocalArrayInput `pulumi:"locals"` + // The inclusive upper bound of TCP/UDP port range. + PortMax pulumi.IntInput `pulumi:"portMax"` + // The inclusive lower bound of TCP/UDP port range. + PortMin pulumi.IntInput `pulumi:"portMin"` + // The protocol to enforce. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The IP addresses or security groups from which this rule allows traffic (or to which,for outbound rules). Can be specified as an IP address, a CIDR block, or a securitygroup. A CIDR block of `0.0.0.0/0` allows traffic from any source (or to any source,for outbound rules). + Remotes GetIsSecurityGroupsSecurityGroupRuleRemoteArrayInput `pulumi:"remotes"` + // The ICMP traffic type to allow. + Type pulumi.IntInput `pulumi:"type"` +} + +func (GetIsSecurityGroupsSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRule)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupRuleArgs) ToGetIsSecurityGroupsSecurityGroupRuleOutput() GetIsSecurityGroupsSecurityGroupRuleOutput { + return i.ToGetIsSecurityGroupsSecurityGroupRuleOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupRuleArgs) ToGetIsSecurityGroupsSecurityGroupRuleOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupRuleOutput) +} + +// GetIsSecurityGroupsSecurityGroupRuleArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupRuleArray and GetIsSecurityGroupsSecurityGroupRuleArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupRuleArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupRuleArray{ GetIsSecurityGroupsSecurityGroupRuleArgs{...} } +type GetIsSecurityGroupsSecurityGroupRuleArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupRuleArrayOutput() GetIsSecurityGroupsSecurityGroupRuleArrayOutput + ToGetIsSecurityGroupsSecurityGroupRuleArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupRuleArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupRuleArray []GetIsSecurityGroupsSecurityGroupRuleInput + +func (GetIsSecurityGroupsSecurityGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupRule)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupRuleArray) ToGetIsSecurityGroupsSecurityGroupRuleArrayOutput() GetIsSecurityGroupsSecurityGroupRuleArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupRuleArray) ToGetIsSecurityGroupsSecurityGroupRuleArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupRuleArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRule)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) ToGetIsSecurityGroupsSecurityGroupRuleOutput() GetIsSecurityGroupsSecurityGroupRuleOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) ToGetIsSecurityGroupsSecurityGroupRuleOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleOutput { + return o +} + +// The ICMP traffic code to allow. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) int { return v.Code }).(pulumi.IntOutput) +} + +// The direction of traffic to enforce, either `inbound` or `outbound`. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) string { return v.Direction }).(pulumi.StringOutput) +} + +// The URL for this security group rule. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group rule. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) string { return v.Id }).(pulumi.StringOutput) +} + +// The IP version to enforce. The format of `remote.address` or `remote.cidr_block` must match this property, if they are used. Alternatively, if `remote` references a security group, then this rule only applies to IP addresses (network interfaces) in that group matching this IP version. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) string { return v.IpVersion }).(pulumi.StringOutput) +} + +// The local IP address or range of local IP addresses to which this rule will allow inbound traffic (or from which, for outbound traffic). A CIDR block of 0.0.0.0/0 allows traffic to all local IP addresses (or from all local IP addresses, for outbound rules). +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) Locals() GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) []GetIsSecurityGroupsSecurityGroupRuleLocal { + return v.Locals + }).(GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput) +} + +// The inclusive upper bound of TCP/UDP port range. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) int { return v.PortMax }).(pulumi.IntOutput) +} + +// The inclusive lower bound of TCP/UDP port range. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) int { return v.PortMin }).(pulumi.IntOutput) +} + +// The protocol to enforce. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The IP addresses or security groups from which this rule allows traffic (or to which,for outbound rules). Can be specified as an IP address, a CIDR block, or a securitygroup. A CIDR block of `0.0.0.0/0` allows traffic from any source (or to any source,for outbound rules). +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) Remotes() GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) []GetIsSecurityGroupsSecurityGroupRuleRemote { + return v.Remotes + }).(GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput) +} + +// The ICMP traffic type to allow. +func (o GetIsSecurityGroupsSecurityGroupRuleOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRule) int { return v.Type }).(pulumi.IntOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupRule)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupRuleArrayOutput) ToGetIsSecurityGroupsSecurityGroupRuleArrayOutput() GetIsSecurityGroupsSecurityGroupRuleArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleArrayOutput) ToGetIsSecurityGroupsSecurityGroupRuleArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupRule { + return vs[0].([]GetIsSecurityGroupsSecurityGroupRule)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupRuleOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleLocal struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock string `pulumi:"cidrBlock"` +} + +// GetIsSecurityGroupsSecurityGroupRuleLocalInput is an input type that accepts GetIsSecurityGroupsSecurityGroupRuleLocalArgs and GetIsSecurityGroupsSecurityGroupRuleLocalOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupRuleLocalInput` via: +// +// GetIsSecurityGroupsSecurityGroupRuleLocalArgs{...} +type GetIsSecurityGroupsSecurityGroupRuleLocalInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupRuleLocalOutput() GetIsSecurityGroupsSecurityGroupRuleLocalOutput + ToGetIsSecurityGroupsSecurityGroupRuleLocalOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupRuleLocalOutput +} + +type GetIsSecurityGroupsSecurityGroupRuleLocalArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock pulumi.StringInput `pulumi:"cidrBlock"` +} + +func (GetIsSecurityGroupsSecurityGroupRuleLocalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleLocal)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupRuleLocalArgs) ToGetIsSecurityGroupsSecurityGroupRuleLocalOutput() GetIsSecurityGroupsSecurityGroupRuleLocalOutput { + return i.ToGetIsSecurityGroupsSecurityGroupRuleLocalOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupRuleLocalArgs) ToGetIsSecurityGroupsSecurityGroupRuleLocalOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleLocalOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupRuleLocalOutput) +} + +// GetIsSecurityGroupsSecurityGroupRuleLocalArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupRuleLocalArray and GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupRuleLocalArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupRuleLocalArray{ GetIsSecurityGroupsSecurityGroupRuleLocalArgs{...} } +type GetIsSecurityGroupsSecurityGroupRuleLocalArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput() GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput + ToGetIsSecurityGroupsSecurityGroupRuleLocalArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupRuleLocalArray []GetIsSecurityGroupsSecurityGroupRuleLocalInput + +func (GetIsSecurityGroupsSecurityGroupRuleLocalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupRuleLocal)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupRuleLocalArray) ToGetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput() GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupRuleLocalArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupRuleLocalArray) ToGetIsSecurityGroupsSecurityGroupRuleLocalArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleLocalOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupRuleLocalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleLocal)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupRuleLocalOutput) ToGetIsSecurityGroupsSecurityGroupRuleLocalOutput() GetIsSecurityGroupsSecurityGroupRuleLocalOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleLocalOutput) ToGetIsSecurityGroupsSecurityGroupRuleLocalOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleLocalOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsSecurityGroupsSecurityGroupRuleLocalOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleLocal) string { return v.Address }).(pulumi.StringOutput) +} + +// The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. +func (o GetIsSecurityGroupsSecurityGroupRuleLocalOutput) CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleLocal) string { return v.CidrBlock }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupRuleLocal)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput) ToGetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput() GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput) ToGetIsSecurityGroupsSecurityGroupRuleLocalArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupRuleLocalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupRuleLocal { + return vs[0].([]GetIsSecurityGroupsSecurityGroupRuleLocal)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupRuleLocalOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleRemote struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock string `pulumi:"cidrBlock"` + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name string `pulumi:"name"` +} + +// GetIsSecurityGroupsSecurityGroupRuleRemoteInput is an input type that accepts GetIsSecurityGroupsSecurityGroupRuleRemoteArgs and GetIsSecurityGroupsSecurityGroupRuleRemoteOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupRuleRemoteInput` via: +// +// GetIsSecurityGroupsSecurityGroupRuleRemoteArgs{...} +type GetIsSecurityGroupsSecurityGroupRuleRemoteInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupRuleRemoteOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteOutput + ToGetIsSecurityGroupsSecurityGroupRuleRemoteOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteOutput +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. + CidrBlock pulumi.StringInput `pulumi:"cidrBlock"` + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSecurityGroupsSecurityGroupRuleRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupRuleRemoteArgs) ToGetIsSecurityGroupsSecurityGroupRuleRemoteOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteOutput { + return i.ToGetIsSecurityGroupsSecurityGroupRuleRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupRuleRemoteArgs) ToGetIsSecurityGroupsSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) +} + +// GetIsSecurityGroupsSecurityGroupRuleRemoteArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupRuleRemoteArray and GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupRuleRemoteArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupRuleRemoteArray{ GetIsSecurityGroupsSecurityGroupRuleRemoteArgs{...} } +type GetIsSecurityGroupsSecurityGroupRuleRemoteArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput + ToGetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteArray []GetIsSecurityGroupsSecurityGroupRuleRemoteInput + +func (GetIsSecurityGroupsSecurityGroupRuleRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupRuleRemoteArray) ToGetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupRuleRemoteArray) ToGetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) ToGetIsSecurityGroupsSecurityGroupRuleRemoteOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) ToGetIsSecurityGroupsSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleRemote) string { return v.Address }).(pulumi.StringOutput) +} + +// The CIDR block. This property may add support for IPv6 CIDR blocks in the future. When processing a value in this property, verify that the CIDR block is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected CIDR block format was encountered. +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleRemote) string { return v.CidrBlock }).(pulumi.StringOutput) +} + +// The security group's CRN. +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleRemote) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) Deleteds() GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleRemote) []GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted { + return v.Deleteds + }).(GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleRemote) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this security group. Names must be unique within the VPC the security group resides in. +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput) ToGetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput) ToGetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupRuleRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupRuleRemote { + return vs[0].([]GetIsSecurityGroupsSecurityGroupRuleRemote)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupRuleRemoteOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedInput is an input type that accepts GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArgs and GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedInput` via: +// +// GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArgs{...} +type GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput + ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArgs) ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput { + return i.ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArgs) ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput) +} + +// GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArray and GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArray{ GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArgs{...} } +type GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput + ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArray []GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedInput + +func (GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArray) ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArray) ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput) ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput) ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput) ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput) ToGetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted { + return vs[0].([]GetIsSecurityGroupsSecurityGroupRuleRemoteDeleted)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuManufacturerInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileVcpuManufacturerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayInput)(nil)).Elem(), GetIsDedicatedHostProfilesProfileVcpuManufacturerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostSupportedInstanceProfileInput)(nil)).Elem(), GetIsDedicatedHostSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostSupportedInstanceProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostVcpusInput)(nil)).Elem(), GetIsDedicatedHostVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostVcpusArrayInput)(nil)).Elem(), GetIsDedicatedHostVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostAvailableVcpusInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostAvailableVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostAvailableVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInstanceDiskInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInstanceInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInstanceArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInstanceDeletedInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostInstanceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostInstanceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostNumaInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostNumaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostNumaArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostNumaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostNumaNodeInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostNumaNodeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostNumaNodeArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostNumaNodeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostProfileInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostVcpusInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsDedicatedHostsDedicatedHostVcpusArrayInput)(nil)).Elem(), GetIsDedicatedHostsDedicatedHostVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsEndpointGatewayTargetsResourceInput)(nil)).Elem(), GetIsEndpointGatewayTargetsResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsEndpointGatewayTargetsResourceArrayInput)(nil)).Elem(), GetIsEndpointGatewayTargetsResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpTargetListInput)(nil)).Elem(), GetIsFloatingIpTargetListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpTargetListArrayInput)(nil)).Elem(), GetIsFloatingIpTargetListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpTargetListDeletedInput)(nil)).Elem(), GetIsFloatingIpTargetListDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpTargetListDeletedArrayInput)(nil)).Elem(), GetIsFloatingIpTargetListDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpTargetListPrimaryIpInput)(nil)).Elem(), GetIsFloatingIpTargetListPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpTargetListPrimaryIpArrayInput)(nil)).Elem(), GetIsFloatingIpTargetListPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpArrayInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpResourceGroupInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpResourceGroupArrayInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetArrayInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetDeletedInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetDeletedArrayInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetPrimaryIpInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpTargetPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpTargetPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpZoneInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFloatingIpsFloatingIpZoneArrayInput)(nil)).Elem(), GetIsFloatingIpsFloatingIpZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogResourceGroupInput)(nil)).Elem(), GetIsFlowLogResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogResourceGroupArrayInput)(nil)).Elem(), GetIsFlowLogResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogStorageBucketInput)(nil)).Elem(), GetIsFlowLogStorageBucketArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogStorageBucketArrayInput)(nil)).Elem(), GetIsFlowLogStorageBucketArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogTargetInput)(nil)).Elem(), GetIsFlowLogTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogTargetArrayInput)(nil)).Elem(), GetIsFlowLogTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogTargetDeletedInput)(nil)).Elem(), GetIsFlowLogTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogTargetDeletedArrayInput)(nil)).Elem(), GetIsFlowLogTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogVpcInput)(nil)).Elem(), GetIsFlowLogVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogVpcArrayInput)(nil)).Elem(), GetIsFlowLogVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogVpcDeletedInput)(nil)).Elem(), GetIsFlowLogVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogVpcDeletedArrayInput)(nil)).Elem(), GetIsFlowLogVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogsFlowLogCollectorInput)(nil)).Elem(), GetIsFlowLogsFlowLogCollectorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsFlowLogsFlowLogCollectorArrayInput)(nil)).Elem(), GetIsFlowLogsFlowLogCollectorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePoliciesIkePolicyInput)(nil)).Elem(), GetIsIkePoliciesIkePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePoliciesIkePolicyArrayInput)(nil)).Elem(), GetIsIkePoliciesIkePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePoliciesIkePolicyConnectionInput)(nil)).Elem(), GetIsIkePoliciesIkePolicyConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePoliciesIkePolicyConnectionArrayInput)(nil)).Elem(), GetIsIkePoliciesIkePolicyConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePoliciesIkePolicyConnectionDeletedInput)(nil)).Elem(), GetIsIkePoliciesIkePolicyConnectionDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePoliciesIkePolicyConnectionDeletedArrayInput)(nil)).Elem(), GetIsIkePoliciesIkePolicyConnectionDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePoliciesIkePolicyResourceGroupInput)(nil)).Elem(), GetIsIkePoliciesIkePolicyResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePoliciesIkePolicyResourceGroupArrayInput)(nil)).Elem(), GetIsIkePoliciesIkePolicyResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePolicyConnectionInput)(nil)).Elem(), GetIsIkePolicyConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePolicyConnectionArrayInput)(nil)).Elem(), GetIsIkePolicyConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePolicyConnectionDeletedInput)(nil)).Elem(), GetIsIkePolicyConnectionDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePolicyConnectionDeletedArrayInput)(nil)).Elem(), GetIsIkePolicyConnectionDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePolicyResourceGroupInput)(nil)).Elem(), GetIsIkePolicyResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIkePolicyResourceGroupArrayInput)(nil)).Elem(), GetIsIkePolicyResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageAllowedUseInput)(nil)).Elem(), GetIsImageAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageAllowedUseArrayInput)(nil)).Elem(), GetIsImageAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageBareMetalServerProfilesBareMetalServerProfileInput)(nil)).Elem(), GetIsImageBareMetalServerProfilesBareMetalServerProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayInput)(nil)).Elem(), GetIsImageBareMetalServerProfilesBareMetalServerProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageCatalogOfferingInput)(nil)).Elem(), GetIsImageCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageCatalogOfferingArrayInput)(nil)).Elem(), GetIsImageCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageCatalogOfferingVersionInput)(nil)).Elem(), GetIsImageCatalogOfferingVersionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageCatalogOfferingVersionArrayInput)(nil)).Elem(), GetIsImageCatalogOfferingVersionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobStatusReasonInput)(nil)).Elem(), GetIsImageExportJobStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobStatusReasonArrayInput)(nil)).Elem(), GetIsImageExportJobStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobStorageBucketInput)(nil)).Elem(), GetIsImageExportJobStorageBucketArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobStorageBucketArrayInput)(nil)).Elem(), GetIsImageExportJobStorageBucketArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobStorageObjectInput)(nil)).Elem(), GetIsImageExportJobStorageObjectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobStorageObjectArrayInput)(nil)).Elem(), GetIsImageExportJobStorageObjectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobsExportJobInput)(nil)).Elem(), GetIsImageExportJobsExportJobArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobsExportJobArrayInput)(nil)).Elem(), GetIsImageExportJobsExportJobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobsExportJobStatusReasonInput)(nil)).Elem(), GetIsImageExportJobsExportJobStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobsExportJobStatusReasonArrayInput)(nil)).Elem(), GetIsImageExportJobsExportJobStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobsExportJobStorageBucketInput)(nil)).Elem(), GetIsImageExportJobsExportJobStorageBucketArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobsExportJobStorageBucketArrayInput)(nil)).Elem(), GetIsImageExportJobsExportJobStorageBucketArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobsExportJobStorageObjectInput)(nil)).Elem(), GetIsImageExportJobsExportJobStorageObjectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageExportJobsExportJobStorageObjectArrayInput)(nil)).Elem(), GetIsImageExportJobsExportJobStorageObjectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageInstanceProfilesInstanceProfileInput)(nil)).Elem(), GetIsImageInstanceProfilesInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageInstanceProfilesInstanceProfileArrayInput)(nil)).Elem(), GetIsImageInstanceProfilesInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageOperatingSystemInput)(nil)).Elem(), GetIsImageOperatingSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageOperatingSystemArrayInput)(nil)).Elem(), GetIsImageOperatingSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageRemoteInput)(nil)).Elem(), GetIsImageRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageRemoteArrayInput)(nil)).Elem(), GetIsImageRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageRemoteAccountInput)(nil)).Elem(), GetIsImageRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageRemoteAccountArrayInput)(nil)).Elem(), GetIsImageRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageResourceGroupInput)(nil)).Elem(), GetIsImageResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageResourceGroupArrayInput)(nil)).Elem(), GetIsImageResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageStatusReasonInput)(nil)).Elem(), GetIsImageStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImageStatusReasonArrayInput)(nil)).Elem(), GetIsImageStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageInput)(nil)).Elem(), GetIsImagesImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageArrayInput)(nil)).Elem(), GetIsImagesImageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageAllowedUseInput)(nil)).Elem(), GetIsImagesImageAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageAllowedUseArrayInput)(nil)).Elem(), GetIsImagesImageAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageCatalogOfferingInput)(nil)).Elem(), GetIsImagesImageCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageCatalogOfferingArrayInput)(nil)).Elem(), GetIsImagesImageCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageCatalogOfferingVersionInput)(nil)).Elem(), GetIsImagesImageCatalogOfferingVersionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageCatalogOfferingVersionArrayInput)(nil)).Elem(), GetIsImagesImageCatalogOfferingVersionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageCatalogOfferingVersionDeletedInput)(nil)).Elem(), GetIsImagesImageCatalogOfferingVersionDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageCatalogOfferingVersionDeletedArrayInput)(nil)).Elem(), GetIsImagesImageCatalogOfferingVersionDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageOperatingSystemInput)(nil)).Elem(), GetIsImagesImageOperatingSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageOperatingSystemArrayInput)(nil)).Elem(), GetIsImagesImageOperatingSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageRemoteInput)(nil)).Elem(), GetIsImagesImageRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageRemoteArrayInput)(nil)).Elem(), GetIsImagesImageRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageRemoteAccountInput)(nil)).Elem(), GetIsImagesImageRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageRemoteAccountArrayInput)(nil)).Elem(), GetIsImagesImageRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageResourceGroupInput)(nil)).Elem(), GetIsImagesImageResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageResourceGroupArrayInput)(nil)).Elem(), GetIsImagesImageResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageStatusReasonInput)(nil)).Elem(), GetIsImagesImageStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsImagesImageStatusReasonArrayInput)(nil)).Elem(), GetIsImagesImageStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceBootVolumeInput)(nil)).Elem(), GetIsInstanceBootVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceBootVolumeArrayInput)(nil)).Elem(), GetIsInstanceBootVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceCatalogOfferingInput)(nil)).Elem(), GetIsInstanceCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceCatalogOfferingArrayInput)(nil)).Elem(), GetIsInstanceCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceCatalogOfferingDeletedInput)(nil)).Elem(), GetIsInstanceCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceCatalogOfferingDeletedArrayInput)(nil)).Elem(), GetIsInstanceCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkInput)(nil)).Elem(), GetIsInstanceClusterNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentTypeInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentTypeArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentBeforeInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentBeforeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentBeforeArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentBeforeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentLifecycleReasonInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkDeletedInput)(nil)).Elem(), GetIsInstanceClusterNetworkDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceClusterNetworkDeletedArrayInput)(nil)).Elem(), GetIsInstanceClusterNetworkDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceDiskInput)(nil)).Elem(), GetIsInstanceDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceDiskArrayInput)(nil)).Elem(), GetIsInstanceDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceDisksDiskInput)(nil)).Elem(), GetIsInstanceDisksDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceDisksDiskArrayInput)(nil)).Elem(), GetIsInstanceDisksDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGpusInput)(nil)).Elem(), GetIsInstanceGpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGpusArrayInput)(nil)).Elem(), GetIsInstanceGpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagerActionTypeInput)(nil)).Elem(), GetIsInstanceGroupManagerActionTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagerActionTypeArrayInput)(nil)).Elem(), GetIsInstanceGroupManagerActionTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagerActionsInstanceGroupManagerActionInput)(nil)).Elem(), GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayInput)(nil)).Elem(), GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyInput)(nil)).Elem(), GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayInput)(nil)).Elem(), GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagersInstanceGroupManagerInput)(nil)).Elem(), GetIsInstanceGroupManagersInstanceGroupManagerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagersInstanceGroupManagerArrayInput)(nil)).Elem(), GetIsInstanceGroupManagersInstanceGroupManagerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagersInstanceGroupManagerActionInput)(nil)).Elem(), GetIsInstanceGroupManagersInstanceGroupManagerActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupManagersInstanceGroupManagerActionArrayInput)(nil)).Elem(), GetIsInstanceGroupManagersInstanceGroupManagerActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipInstanceInput)(nil)).Elem(), GetIsInstanceGroupMembershipInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipInstanceArrayInput)(nil)).Elem(), GetIsInstanceGroupMembershipInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipInstanceTemplateInput)(nil)).Elem(), GetIsInstanceGroupMembershipInstanceTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipInstanceTemplateArrayInput)(nil)).Elem(), GetIsInstanceGroupMembershipInstanceTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInput)(nil)).Elem(), GetIsInstanceGroupMembershipsMembershipArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipArrayInput)(nil)).Elem(), GetIsInstanceGroupMembershipsMembershipArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInstanceInput)(nil)).Elem(), GetIsInstanceGroupMembershipsMembershipInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInstanceArrayInput)(nil)).Elem(), GetIsInstanceGroupMembershipsMembershipInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInstanceTemplateInput)(nil)).Elem(), GetIsInstanceGroupMembershipsMembershipInstanceTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayInput)(nil)).Elem(), GetIsInstanceGroupMembershipsMembershipInstanceTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInstanceTemplateInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupInstanceTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupInstanceTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupLoadBalancerPoolInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupManagerInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupManagerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupManagerArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupManagerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupManagerDeletedInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupManagerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupManagerDeletedArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupManagerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupResourceGroupInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupResourceGroupArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupSubnetInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupSubnetArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupSubnetDeletedInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupVpcInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupVpcArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupVpcDeletedInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceGroupsInstanceGroupVpcDeletedArrayInput)(nil)).Elem(), GetIsInstanceGroupsInstanceGroupVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceHealthReasonInput)(nil)).Elem(), GetIsInstanceHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceHealthReasonArrayInput)(nil)).Elem(), GetIsInstanceHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceKeyInput)(nil)).Elem(), GetIsInstanceKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceKeyArrayInput)(nil)).Elem(), GetIsInstanceKeyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceLifecycleReasonInput)(nil)).Elem(), GetIsInstanceLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceLifecycleReasonArrayInput)(nil)).Elem(), GetIsInstanceLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceMetadataServiceInput)(nil)).Elem(), GetIsInstanceMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceMetadataServiceArrayInput)(nil)).Elem(), GetIsInstanceMetadataServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentTypeInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentTypeArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentDeletedInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceTypeInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceTypeArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceFloatingIpTypeInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceFloatingIpTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceFloatingIpTypeArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceFloatingIpTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceFloatingIpDeletedInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceFloatingIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceFloatingIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceReservedIpsReservedIpInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceReservedIpsReservedIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceReservedIpsReservedIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceSecurityGroupInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceSecurityGroupDeletedInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceSecurityGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceSecurityGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePlacementTargetInput)(nil)).Elem(), GetIsInstancePlacementTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePlacementTargetArrayInput)(nil)).Elem(), GetIsInstancePlacementTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePlacementTargetDeletedInput)(nil)).Elem(), GetIsInstancePlacementTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePlacementTargetDeletedArrayInput)(nil)).Elem(), GetIsInstancePlacementTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentDeletedInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentDeletedArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkInterfaceInput)(nil)).Elem(), GetIsInstancePrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstancePrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstancePrimaryNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileBandwidthInput)(nil)).Elem(), GetIsInstanceProfileBandwidthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileBandwidthArrayInput)(nil)).Elem(), GetIsInstanceProfileBandwidthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileClusterNetworkAttachmentCountInput)(nil)).Elem(), GetIsInstanceProfileClusterNetworkAttachmentCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileClusterNetworkAttachmentCountArrayInput)(nil)).Elem(), GetIsInstanceProfileClusterNetworkAttachmentCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileConfidentialComputeModeInput)(nil)).Elem(), GetIsInstanceProfileConfidentialComputeModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileConfidentialComputeModeArrayInput)(nil)).Elem(), GetIsInstanceProfileConfidentialComputeModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileDiskInput)(nil)).Elem(), GetIsInstanceProfileDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileDiskArrayInput)(nil)).Elem(), GetIsInstanceProfileDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileDiskQuantityInput)(nil)).Elem(), GetIsInstanceProfileDiskQuantityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileDiskQuantityArrayInput)(nil)).Elem(), GetIsInstanceProfileDiskQuantityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileDiskSizeInput)(nil)).Elem(), GetIsInstanceProfileDiskSizeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileDiskSizeArrayInput)(nil)).Elem(), GetIsInstanceProfileDiskSizeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileDiskSupportedInterfaceTypeInput)(nil)).Elem(), GetIsInstanceProfileDiskSupportedInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileDiskSupportedInterfaceTypeArrayInput)(nil)).Elem(), GetIsInstanceProfileDiskSupportedInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileGpuCountInput)(nil)).Elem(), GetIsInstanceProfileGpuCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileGpuCountArrayInput)(nil)).Elem(), GetIsInstanceProfileGpuCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileGpuManufacturerInput)(nil)).Elem(), GetIsInstanceProfileGpuManufacturerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileGpuManufacturerArrayInput)(nil)).Elem(), GetIsInstanceProfileGpuManufacturerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileGpuMemoryInput)(nil)).Elem(), GetIsInstanceProfileGpuMemoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileGpuMemoryArrayInput)(nil)).Elem(), GetIsInstanceProfileGpuMemoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileGpuModelInput)(nil)).Elem(), GetIsInstanceProfileGpuModelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileGpuModelArrayInput)(nil)).Elem(), GetIsInstanceProfileGpuModelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileMemoryInput)(nil)).Elem(), GetIsInstanceProfileMemoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileMemoryArrayInput)(nil)).Elem(), GetIsInstanceProfileMemoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileNetworkAttachmentCountInput)(nil)).Elem(), GetIsInstanceProfileNetworkAttachmentCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileNetworkAttachmentCountArrayInput)(nil)).Elem(), GetIsInstanceProfileNetworkAttachmentCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileNetworkInterfaceCountInput)(nil)).Elem(), GetIsInstanceProfileNetworkInterfaceCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileNetworkInterfaceCountArrayInput)(nil)).Elem(), GetIsInstanceProfileNetworkInterfaceCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileNumaCountInput)(nil)).Elem(), GetIsInstanceProfileNumaCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileNumaCountArrayInput)(nil)).Elem(), GetIsInstanceProfileNumaCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilePortSpeedInput)(nil)).Elem(), GetIsInstanceProfilePortSpeedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilePortSpeedArrayInput)(nil)).Elem(), GetIsInstanceProfilePortSpeedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileReservationTermInput)(nil)).Elem(), GetIsInstanceProfileReservationTermArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileReservationTermArrayInput)(nil)).Elem(), GetIsInstanceProfileReservationTermArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileSecureBootModeInput)(nil)).Elem(), GetIsInstanceProfileSecureBootModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileSecureBootModeArrayInput)(nil)).Elem(), GetIsInstanceProfileSecureBootModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileSupportedClusterNetworkProfileInput)(nil)).Elem(), GetIsInstanceProfileSupportedClusterNetworkProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileSupportedClusterNetworkProfileArrayInput)(nil)).Elem(), GetIsInstanceProfileSupportedClusterNetworkProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileTotalVolumeBandwidthInput)(nil)).Elem(), GetIsInstanceProfileTotalVolumeBandwidthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileTotalVolumeBandwidthArrayInput)(nil)).Elem(), GetIsInstanceProfileTotalVolumeBandwidthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileVcpuArchitectureInput)(nil)).Elem(), GetIsInstanceProfileVcpuArchitectureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileVcpuArchitectureArrayInput)(nil)).Elem(), GetIsInstanceProfileVcpuArchitectureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileVcpuCountInput)(nil)).Elem(), GetIsInstanceProfileVcpuCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileVcpuCountArrayInput)(nil)).Elem(), GetIsInstanceProfileVcpuCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileVcpuManufacturerInput)(nil)).Elem(), GetIsInstanceProfileVcpuManufacturerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileVcpuManufacturerArrayInput)(nil)).Elem(), GetIsInstanceProfileVcpuManufacturerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileVolumeBandwidthQosModeInput)(nil)).Elem(), GetIsInstanceProfileVolumeBandwidthQosModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfileVolumeBandwidthQosModeArrayInput)(nil)).Elem(), GetIsInstanceProfileVolumeBandwidthQosModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileInput)(nil)).Elem(), GetIsInstanceProfilesProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileBandwidthInput)(nil)).Elem(), GetIsInstanceProfilesProfileBandwidthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileBandwidthArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileBandwidthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileClusterNetworkAttachmentCountInput)(nil)).Elem(), GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileConfidentialComputeModeInput)(nil)).Elem(), GetIsInstanceProfilesProfileConfidentialComputeModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileConfidentialComputeModeArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileConfidentialComputeModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileDiskInput)(nil)).Elem(), GetIsInstanceProfilesProfileDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileDiskArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileDiskQuantityInput)(nil)).Elem(), GetIsInstanceProfilesProfileDiskQuantityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileDiskQuantityArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileDiskQuantityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileDiskSizeInput)(nil)).Elem(), GetIsInstanceProfilesProfileDiskSizeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileDiskSizeArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileDiskSizeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeInput)(nil)).Elem(), GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileGpuCountInput)(nil)).Elem(), GetIsInstanceProfilesProfileGpuCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileGpuCountArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileGpuCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileGpuManufacturerInput)(nil)).Elem(), GetIsInstanceProfilesProfileGpuManufacturerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileGpuManufacturerArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileGpuManufacturerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileGpuMemoryInput)(nil)).Elem(), GetIsInstanceProfilesProfileGpuMemoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileGpuMemoryArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileGpuMemoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileGpuModelInput)(nil)).Elem(), GetIsInstanceProfilesProfileGpuModelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileGpuModelArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileGpuModelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileMemoryInput)(nil)).Elem(), GetIsInstanceProfilesProfileMemoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileMemoryArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileMemoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileNetworkAttachmentCountInput)(nil)).Elem(), GetIsInstanceProfilesProfileNetworkAttachmentCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileNetworkAttachmentCountArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileNetworkAttachmentCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileNetworkInterfaceCountInput)(nil)).Elem(), GetIsInstanceProfilesProfileNetworkInterfaceCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileNetworkInterfaceCountArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileNetworkInterfaceCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileNumaCountInput)(nil)).Elem(), GetIsInstanceProfilesProfileNumaCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileNumaCountArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileNumaCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfilePortSpeedInput)(nil)).Elem(), GetIsInstanceProfilesProfilePortSpeedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfilePortSpeedArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfilePortSpeedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileReservationTermInput)(nil)).Elem(), GetIsInstanceProfilesProfileReservationTermArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileReservationTermArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileReservationTermArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileSecureBootModeInput)(nil)).Elem(), GetIsInstanceProfilesProfileSecureBootModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileSecureBootModeArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileSecureBootModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileSupportedClusterNetworkProfileInput)(nil)).Elem(), GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileTotalVolumeBandwidthInput)(nil)).Elem(), GetIsInstanceProfilesProfileTotalVolumeBandwidthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileTotalVolumeBandwidthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuArchitectureInput)(nil)).Elem(), GetIsInstanceProfilesProfileVcpuArchitectureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuArchitectureArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileVcpuArchitectureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuCountInput)(nil)).Elem(), GetIsInstanceProfilesProfileVcpuCountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuCountArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileVcpuCountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuManufacturerInput)(nil)).Elem(), GetIsInstanceProfilesProfileVcpuManufacturerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileVcpuManufacturerArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileVcpuManufacturerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileVolumeBandwidthQosModeInput)(nil)).Elem(), GetIsInstanceProfilesProfileVolumeBandwidthQosModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayInput)(nil)).Elem(), GetIsInstanceProfilesProfileVolumeBandwidthQosModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationInput)(nil)).Elem(), GetIsInstanceReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationArrayInput)(nil)).Elem(), GetIsInstanceReservationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationAffinityInput)(nil)).Elem(), GetIsInstanceReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationAffinityArrayInput)(nil)).Elem(), GetIsInstanceReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationAffinityPoolInput)(nil)).Elem(), GetIsInstanceReservationAffinityPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationAffinityPoolArrayInput)(nil)).Elem(), GetIsInstanceReservationAffinityPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationAffinityPoolDeletedInput)(nil)).Elem(), GetIsInstanceReservationAffinityPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationAffinityPoolDeletedArrayInput)(nil)).Elem(), GetIsInstanceReservationAffinityPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationDeletedInput)(nil)).Elem(), GetIsInstanceReservationDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceReservationDeletedArrayInput)(nil)).Elem(), GetIsInstanceReservationDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceStatusReasonInput)(nil)).Elem(), GetIsInstanceStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceStatusReasonArrayInput)(nil)).Elem(), GetIsInstanceStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentInput)(nil)).Elem(), GetIsInstanceTemplateBootVolumeAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplateBootVolumeAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentAllowedUseInput)(nil)).Elem(), GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayInput)(nil)).Elem(), GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotInput)(nil)).Elem(), GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayInput)(nil)).Elem(), GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateCatalogOfferingInput)(nil)).Elem(), GetIsInstanceTemplateCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateCatalogOfferingArrayInput)(nil)).Elem(), GetIsInstanceTemplateCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentInput)(nil)).Elem(), GetIsInstanceTemplateClusterNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplateClusterNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateMetadataServiceInput)(nil)).Elem(), GetIsInstanceTemplateMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateMetadataServiceArrayInput)(nil)).Elem(), GetIsInstanceTemplateMetadataServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplateNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplateNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplateNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePlacementTargetInput)(nil)).Elem(), GetIsInstanceTemplatePlacementTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePlacementTargetArrayInput)(nil)).Elem(), GetIsInstanceTemplatePlacementTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateReservationAffinityInput)(nil)).Elem(), GetIsInstanceTemplateReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateReservationAffinityArrayInput)(nil)).Elem(), GetIsInstanceTemplateReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentInput)(nil)).Elem(), GetIsInstanceTemplateVolumeAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplateVolumeAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentVolumePrototypeInput)(nil)).Elem(), GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayInput)(nil)).Elem(), GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseInput)(nil)).Elem(), GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput)(nil)).Elem(), GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateBootVolumeAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateBootVolumeAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateCatalogOfferingInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateCatalogOfferingArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateMetadataServiceInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateMetadataServiceArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateMetadataServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePlacementTargetInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePlacementTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePlacementTargetArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePlacementTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateReservationAffinityInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateReservationAffinityArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateVolumeAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateVolumeAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayInput)(nil)).Elem(), GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVcpusInput)(nil)).Elem(), GetIsInstanceVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVcpusArrayInput)(nil)).Elem(), GetIsInstanceVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVolumeAttachmentTypeInput)(nil)).Elem(), GetIsInstanceVolumeAttachmentTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVolumeAttachmentTypeArrayInput)(nil)).Elem(), GetIsInstanceVolumeAttachmentTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVolumeAttachmentVolumeReferenceInput)(nil)).Elem(), GetIsInstanceVolumeAttachmentVolumeReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVolumeAttachmentVolumeReferenceArrayInput)(nil)).Elem(), GetIsInstanceVolumeAttachmentVolumeReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVolumeAttachmentsVolumeAttachmentInput)(nil)).Elem(), GetIsInstanceVolumeAttachmentsVolumeAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayInput)(nil)).Elem(), GetIsInstanceVolumeAttachmentsVolumeAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceInput)(nil)).Elem(), GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayInput)(nil)).Elem(), GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceInput)(nil)).Elem(), GetIsInstancesInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceArrayInput)(nil)).Elem(), GetIsInstancesInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceBootVolumeInput)(nil)).Elem(), GetIsInstancesInstanceBootVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceBootVolumeArrayInput)(nil)).Elem(), GetIsInstancesInstanceBootVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceCatalogOfferingInput)(nil)).Elem(), GetIsInstancesInstanceCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceCatalogOfferingArrayInput)(nil)).Elem(), GetIsInstancesInstanceCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceCatalogOfferingDeletedInput)(nil)).Elem(), GetIsInstancesInstanceCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceCatalogOfferingDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstanceCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkInput)(nil)).Elem(), GetIsInstancesInstanceClusterNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkArrayInput)(nil)).Elem(), GetIsInstancesInstanceClusterNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkAttachmentInput)(nil)).Elem(), GetIsInstancesInstanceClusterNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstancesInstanceClusterNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkDeletedInput)(nil)).Elem(), GetIsInstancesInstanceClusterNetworkDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceClusterNetworkDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstanceClusterNetworkDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceDiskInput)(nil)).Elem(), GetIsInstancesInstanceDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceDiskArrayInput)(nil)).Elem(), GetIsInstancesInstanceDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceGpusInput)(nil)).Elem(), GetIsInstancesInstanceGpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceGpusArrayInput)(nil)).Elem(), GetIsInstancesInstanceGpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceHealthReasonInput)(nil)).Elem(), GetIsInstancesInstanceHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceHealthReasonArrayInput)(nil)).Elem(), GetIsInstancesInstanceHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceLifecycleReasonInput)(nil)).Elem(), GetIsInstancesInstanceLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceLifecycleReasonArrayInput)(nil)).Elem(), GetIsInstancesInstanceLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceMetadataServiceInput)(nil)).Elem(), GetIsInstancesInstanceMetadataServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceMetadataServiceArrayInput)(nil)).Elem(), GetIsInstancesInstanceMetadataServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentDeletedInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkInterfaceInput)(nil)).Elem(), GetIsInstancesInstanceNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstancesInstanceNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstancesInstanceNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePlacementTargetInput)(nil)).Elem(), GetIsInstancesInstancePlacementTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePlacementTargetArrayInput)(nil)).Elem(), GetIsInstancesInstancePlacementTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePlacementTargetDeletedInput)(nil)).Elem(), GetIsInstancesInstancePlacementTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePlacementTargetDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstancePlacementTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentDeletedInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentSubnetInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkInterfaceInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkInterfaceArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationInput)(nil)).Elem(), GetIsInstancesInstanceReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationArrayInput)(nil)).Elem(), GetIsInstancesInstanceReservationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityInput)(nil)).Elem(), GetIsInstancesInstanceReservationAffinityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityArrayInput)(nil)).Elem(), GetIsInstancesInstanceReservationAffinityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityPoolInput)(nil)).Elem(), GetIsInstancesInstanceReservationAffinityPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityPoolArrayInput)(nil)).Elem(), GetIsInstancesInstanceReservationAffinityPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityPoolDeletedInput)(nil)).Elem(), GetIsInstancesInstanceReservationAffinityPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationAffinityPoolDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstanceReservationAffinityPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationDeletedInput)(nil)).Elem(), GetIsInstancesInstanceReservationDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceReservationDeletedArrayInput)(nil)).Elem(), GetIsInstancesInstanceReservationDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceStatusReasonInput)(nil)).Elem(), GetIsInstancesInstanceStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceStatusReasonArrayInput)(nil)).Elem(), GetIsInstancesInstanceStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceVcpusInput)(nil)).Elem(), GetIsInstancesInstanceVcpusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceVcpusArrayInput)(nil)).Elem(), GetIsInstancesInstanceVcpusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceVolumeAttachmentInput)(nil)).Elem(), GetIsInstancesInstanceVolumeAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsInstancesInstanceVolumeAttachmentArrayInput)(nil)).Elem(), GetIsInstancesInstanceVolumeAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyInput)(nil)).Elem(), GetIsIpsecPoliciesIpsecPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyArrayInput)(nil)).Elem(), GetIsIpsecPoliciesIpsecPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyConnectionInput)(nil)).Elem(), GetIsIpsecPoliciesIpsecPolicyConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyConnectionArrayInput)(nil)).Elem(), GetIsIpsecPoliciesIpsecPolicyConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyConnectionDeletedInput)(nil)).Elem(), GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayInput)(nil)).Elem(), GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyResourceGroupInput)(nil)).Elem(), GetIsIpsecPoliciesIpsecPolicyResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayInput)(nil)).Elem(), GetIsIpsecPoliciesIpsecPolicyResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPolicyConnectionInput)(nil)).Elem(), GetIsIpsecPolicyConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPolicyConnectionArrayInput)(nil)).Elem(), GetIsIpsecPolicyConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPolicyConnectionDeletedInput)(nil)).Elem(), GetIsIpsecPolicyConnectionDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPolicyConnectionDeletedArrayInput)(nil)).Elem(), GetIsIpsecPolicyConnectionDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPolicyResourceGroupInput)(nil)).Elem(), GetIsIpsecPolicyResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsIpsecPolicyResourceGroupArrayInput)(nil)).Elem(), GetIsIpsecPolicyResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbAttachedLoadBalancerPoolMemberInput)(nil)).Elem(), GetIsLbAttachedLoadBalancerPoolMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbAttachedLoadBalancerPoolMemberArrayInput)(nil)).Elem(), GetIsLbAttachedLoadBalancerPoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbAttachedLoadBalancerPoolMemberDeletedInput)(nil)).Elem(), GetIsLbAttachedLoadBalancerPoolMemberDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayInput)(nil)).Elem(), GetIsLbAttachedLoadBalancerPoolMemberDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbDnInput)(nil)).Elem(), GetIsLbDnArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbDnArrayInput)(nil)).Elem(), GetIsLbDnArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerCertificateInstanceInput)(nil)).Elem(), GetIsLbListenerCertificateInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerCertificateInstanceArrayInput)(nil)).Elem(), GetIsLbListenerCertificateInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerDefaultPoolInput)(nil)).Elem(), GetIsLbListenerDefaultPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerDefaultPoolArrayInput)(nil)).Elem(), GetIsLbListenerDefaultPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerDefaultPoolDeletedInput)(nil)).Elem(), GetIsLbListenerDefaultPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerDefaultPoolDeletedArrayInput)(nil)).Elem(), GetIsLbListenerDefaultPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerHttpsRedirectInput)(nil)).Elem(), GetIsLbListenerHttpsRedirectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerHttpsRedirectArrayInput)(nil)).Elem(), GetIsLbListenerHttpsRedirectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerHttpsRedirectListenerInput)(nil)).Elem(), GetIsLbListenerHttpsRedirectListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerHttpsRedirectListenerArrayInput)(nil)).Elem(), GetIsLbListenerHttpsRedirectListenerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerHttpsRedirectListenerDeletedInput)(nil)).Elem(), GetIsLbListenerHttpsRedirectListenerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerHttpsRedirectListenerDeletedArrayInput)(nil)).Elem(), GetIsLbListenerHttpsRedirectListenerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyArrayInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyRuleInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyRuleArrayInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyRuleDeletedInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyRuleDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyRuleDeletedArrayInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyRuleDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetArrayInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetDeletedInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetDeletedArrayInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetListenerInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyTargetListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetListenerArrayInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyTargetListenerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetListenerDeletedInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyTargetListenerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayInput)(nil)).Elem(), GetIsLbListenerPoliciesPolicyTargetListenerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTypeInput)(nil)).Elem(), GetIsLbListenerPolicyTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTypeArrayInput)(nil)).Elem(), GetIsLbListenerPolicyTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyDeletedInput)(nil)).Elem(), GetIsLbListenerPolicyDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyDeletedArrayInput)(nil)).Elem(), GetIsLbListenerPolicyDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyRuleTypeInput)(nil)).Elem(), GetIsLbListenerPolicyRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyRuleTypeArrayInput)(nil)).Elem(), GetIsLbListenerPolicyRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyRuleDeletedInput)(nil)).Elem(), GetIsLbListenerPolicyRuleDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyRuleDeletedArrayInput)(nil)).Elem(), GetIsLbListenerPolicyRuleDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyRulesRuleInput)(nil)).Elem(), GetIsLbListenerPolicyRulesRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyRulesRuleArrayInput)(nil)).Elem(), GetIsLbListenerPolicyRulesRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTargetInput)(nil)).Elem(), GetIsLbListenerPolicyTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTargetArrayInput)(nil)).Elem(), GetIsLbListenerPolicyTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTargetDeletedInput)(nil)).Elem(), GetIsLbListenerPolicyTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTargetDeletedArrayInput)(nil)).Elem(), GetIsLbListenerPolicyTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTargetListenerInput)(nil)).Elem(), GetIsLbListenerPolicyTargetListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTargetListenerArrayInput)(nil)).Elem(), GetIsLbListenerPolicyTargetListenerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTargetListenerDeletedInput)(nil)).Elem(), GetIsLbListenerPolicyTargetListenerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenerPolicyTargetListenerDeletedArrayInput)(nil)).Elem(), GetIsLbListenerPolicyTargetListenerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerInput)(nil)).Elem(), GetIsLbListenersListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerArrayInput)(nil)).Elem(), GetIsLbListenersListenerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerCertificateInstanceInput)(nil)).Elem(), GetIsLbListenersListenerCertificateInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerCertificateInstanceArrayInput)(nil)).Elem(), GetIsLbListenersListenerCertificateInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerDefaultPoolInput)(nil)).Elem(), GetIsLbListenersListenerDefaultPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerDefaultPoolArrayInput)(nil)).Elem(), GetIsLbListenersListenerDefaultPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerDefaultPoolDeletedInput)(nil)).Elem(), GetIsLbListenersListenerDefaultPoolDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerDefaultPoolDeletedArrayInput)(nil)).Elem(), GetIsLbListenersListenerDefaultPoolDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectInput)(nil)).Elem(), GetIsLbListenersListenerHttpsRedirectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectArrayInput)(nil)).Elem(), GetIsLbListenersListenerHttpsRedirectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectListenerInput)(nil)).Elem(), GetIsLbListenersListenerHttpsRedirectListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectListenerArrayInput)(nil)).Elem(), GetIsLbListenersListenerHttpsRedirectListenerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectListenerDeletedInput)(nil)).Elem(), GetIsLbListenersListenerHttpsRedirectListenerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayInput)(nil)).Elem(), GetIsLbListenersListenerHttpsRedirectListenerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerPolicyInput)(nil)).Elem(), GetIsLbListenersListenerPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerPolicyArrayInput)(nil)).Elem(), GetIsLbListenersListenerPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerPolicyDeletedInput)(nil)).Elem(), GetIsLbListenersListenerPolicyDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbListenersListenerPolicyDeletedArrayInput)(nil)).Elem(), GetIsLbListenersListenerPolicyDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolTypeInput)(nil)).Elem(), GetIsLbPoolTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolTypeArrayInput)(nil)).Elem(), GetIsLbPoolTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolFailsafePolicyInput)(nil)).Elem(), GetIsLbPoolFailsafePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolFailsafePolicyArrayInput)(nil)).Elem(), GetIsLbPoolFailsafePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolFailsafePolicyTargetInput)(nil)).Elem(), GetIsLbPoolFailsafePolicyTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolFailsafePolicyTargetArrayInput)(nil)).Elem(), GetIsLbPoolFailsafePolicyTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolFailsafePolicyTargetDeletedInput)(nil)).Elem(), GetIsLbPoolFailsafePolicyTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolFailsafePolicyTargetDeletedArrayInput)(nil)).Elem(), GetIsLbPoolFailsafePolicyTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolHealthMonitorInput)(nil)).Elem(), GetIsLbPoolHealthMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolHealthMonitorArrayInput)(nil)).Elem(), GetIsLbPoolHealthMonitorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolInstanceGroupInput)(nil)).Elem(), GetIsLbPoolInstanceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolInstanceGroupArrayInput)(nil)).Elem(), GetIsLbPoolInstanceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolInstanceGroupDeletedInput)(nil)).Elem(), GetIsLbPoolInstanceGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolInstanceGroupDeletedArrayInput)(nil)).Elem(), GetIsLbPoolInstanceGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMemberTypeInput)(nil)).Elem(), GetIsLbPoolMemberTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMemberTypeArrayInput)(nil)).Elem(), GetIsLbPoolMemberTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMemberDeletedInput)(nil)).Elem(), GetIsLbPoolMemberDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMemberDeletedArrayInput)(nil)).Elem(), GetIsLbPoolMemberDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMemberTargetInput)(nil)).Elem(), GetIsLbPoolMemberTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMemberTargetArrayInput)(nil)).Elem(), GetIsLbPoolMemberTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMemberTargetDeletedInput)(nil)).Elem(), GetIsLbPoolMemberTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMemberTargetDeletedArrayInput)(nil)).Elem(), GetIsLbPoolMemberTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMembersMemberInput)(nil)).Elem(), GetIsLbPoolMembersMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMembersMemberArrayInput)(nil)).Elem(), GetIsLbPoolMembersMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMembersMemberTargetInput)(nil)).Elem(), GetIsLbPoolMembersMemberTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMembersMemberTargetArrayInput)(nil)).Elem(), GetIsLbPoolMembersMemberTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMembersMemberTargetDeletedInput)(nil)).Elem(), GetIsLbPoolMembersMemberTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolMembersMemberTargetDeletedArrayInput)(nil)).Elem(), GetIsLbPoolMembersMemberTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolSessionPersistenceInput)(nil)).Elem(), GetIsLbPoolSessionPersistenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolSessionPersistenceArrayInput)(nil)).Elem(), GetIsLbPoolSessionPersistenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolInput)(nil)).Elem(), GetIsLbPoolsPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolArrayInput)(nil)).Elem(), GetIsLbPoolsPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyInput)(nil)).Elem(), GetIsLbPoolsPoolFailsafePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyArrayInput)(nil)).Elem(), GetIsLbPoolsPoolFailsafePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyTargetInput)(nil)).Elem(), GetIsLbPoolsPoolFailsafePolicyTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyTargetArrayInput)(nil)).Elem(), GetIsLbPoolsPoolFailsafePolicyTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyTargetDeletedInput)(nil)).Elem(), GetIsLbPoolsPoolFailsafePolicyTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayInput)(nil)).Elem(), GetIsLbPoolsPoolFailsafePolicyTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolHealthMonitorInput)(nil)).Elem(), GetIsLbPoolsPoolHealthMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolHealthMonitorArrayInput)(nil)).Elem(), GetIsLbPoolsPoolHealthMonitorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolInstanceGroupInput)(nil)).Elem(), GetIsLbPoolsPoolInstanceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolInstanceGroupArrayInput)(nil)).Elem(), GetIsLbPoolsPoolInstanceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolInstanceGroupDeletedInput)(nil)).Elem(), GetIsLbPoolsPoolInstanceGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolInstanceGroupDeletedArrayInput)(nil)).Elem(), GetIsLbPoolsPoolInstanceGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolMemberInput)(nil)).Elem(), GetIsLbPoolsPoolMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolMemberArrayInput)(nil)).Elem(), GetIsLbPoolsPoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolMemberDeletedInput)(nil)).Elem(), GetIsLbPoolsPoolMemberDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolMemberDeletedArrayInput)(nil)).Elem(), GetIsLbPoolsPoolMemberDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolSessionPersistenceInput)(nil)).Elem(), GetIsLbPoolsPoolSessionPersistenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPoolsPoolSessionPersistenceArrayInput)(nil)).Elem(), GetIsLbPoolsPoolSessionPersistenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPrivateIpInput)(nil)).Elem(), GetIsLbPrivateIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbPrivateIpArrayInput)(nil)).Elem(), GetIsLbPrivateIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfileAccessModeInput)(nil)).Elem(), GetIsLbProfileAccessModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfileAccessModeArrayInput)(nil)).Elem(), GetIsLbProfileAccessModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfileFailsafePolicyActionInput)(nil)).Elem(), GetIsLbProfileFailsafePolicyActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfileFailsafePolicyActionArrayInput)(nil)).Elem(), GetIsLbProfileFailsafePolicyActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfileTargetableLoadBalancerProfileInput)(nil)).Elem(), GetIsLbProfileTargetableLoadBalancerProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfileTargetableLoadBalancerProfileArrayInput)(nil)).Elem(), GetIsLbProfileTargetableLoadBalancerProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfileTargetableResourceTypeInput)(nil)).Elem(), GetIsLbProfileTargetableResourceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfileTargetableResourceTypeArrayInput)(nil)).Elem(), GetIsLbProfileTargetableResourceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileInput)(nil)).Elem(), GetIsLbProfilesLbProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileArrayInput)(nil)).Elem(), GetIsLbProfilesLbProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileAccessModeInput)(nil)).Elem(), GetIsLbProfilesLbProfileAccessModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileAccessModeArrayInput)(nil)).Elem(), GetIsLbProfilesLbProfileAccessModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileAvailabilityInput)(nil)).Elem(), GetIsLbProfilesLbProfileAvailabilityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileAvailabilityArrayInput)(nil)).Elem(), GetIsLbProfilesLbProfileAvailabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileFailsafePolicyActionInput)(nil)).Elem(), GetIsLbProfilesLbProfileFailsafePolicyActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileFailsafePolicyActionArrayInput)(nil)).Elem(), GetIsLbProfilesLbProfileFailsafePolicyActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileInstanceGroupsSupportedInput)(nil)).Elem(), GetIsLbProfilesLbProfileInstanceGroupsSupportedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayInput)(nil)).Elem(), GetIsLbProfilesLbProfileInstanceGroupsSupportedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedInput)(nil)).Elem(), GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayInput)(nil)).Elem(), GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileTargetableLoadBalancerProfileInput)(nil)).Elem(), GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayInput)(nil)).Elem(), GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileTargetableResourceTypeInput)(nil)).Elem(), GetIsLbProfilesLbProfileTargetableResourceTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbProfilesLbProfileTargetableResourceTypeArrayInput)(nil)).Elem(), GetIsLbProfilesLbProfileTargetableResourceTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerInput)(nil)).Elem(), GetIsLbsLoadBalancerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerArrayInput)(nil)).Elem(), GetIsLbsLoadBalancerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberInput)(nil)).Elem(), GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayInput)(nil)).Elem(), GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedInput)(nil)).Elem(), GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayInput)(nil)).Elem(), GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerDnInput)(nil)).Elem(), GetIsLbsLoadBalancerDnArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerDnArrayInput)(nil)).Elem(), GetIsLbsLoadBalancerDnArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerListenerInput)(nil)).Elem(), GetIsLbsLoadBalancerListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerListenerArrayInput)(nil)).Elem(), GetIsLbsLoadBalancerListenerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerPoolInput)(nil)).Elem(), GetIsLbsLoadBalancerPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerPoolArrayInput)(nil)).Elem(), GetIsLbsLoadBalancerPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerPrivateIpInput)(nil)).Elem(), GetIsLbsLoadBalancerPrivateIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerPrivateIpArrayInput)(nil)).Elem(), GetIsLbsLoadBalancerPrivateIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerSubnetInput)(nil)).Elem(), GetIsLbsLoadBalancerSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsLbsLoadBalancerSubnetArrayInput)(nil)).Elem(), GetIsLbsLoadBalancerSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclResourceGroupInput)(nil)).Elem(), GetIsNetworkAclResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclResourceGroupArrayInput)(nil)).Elem(), GetIsNetworkAclResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleTypeInput)(nil)).Elem(), GetIsNetworkAclRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleTypeArrayInput)(nil)).Elem(), GetIsNetworkAclRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleBeforeInput)(nil)).Elem(), GetIsNetworkAclRuleBeforeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleBeforeArrayInput)(nil)).Elem(), GetIsNetworkAclRuleBeforeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleBeforeDeletedInput)(nil)).Elem(), GetIsNetworkAclRuleBeforeDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleBeforeDeletedArrayInput)(nil)).Elem(), GetIsNetworkAclRuleBeforeDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleIcmpInput)(nil)).Elem(), GetIsNetworkAclRuleIcmpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleIcmpArrayInput)(nil)).Elem(), GetIsNetworkAclRuleIcmpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleTcpInput)(nil)).Elem(), GetIsNetworkAclRuleTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleTcpArrayInput)(nil)).Elem(), GetIsNetworkAclRuleTcpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleUdpInput)(nil)).Elem(), GetIsNetworkAclRuleUdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRuleUdpArrayInput)(nil)).Elem(), GetIsNetworkAclRuleUdpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRulesRuleInput)(nil)).Elem(), GetIsNetworkAclRulesRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRulesRuleArrayInput)(nil)).Elem(), GetIsNetworkAclRulesRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRulesRuleIcmpInput)(nil)).Elem(), GetIsNetworkAclRulesRuleIcmpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRulesRuleIcmpArrayInput)(nil)).Elem(), GetIsNetworkAclRulesRuleIcmpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRulesRuleTcpInput)(nil)).Elem(), GetIsNetworkAclRulesRuleTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRulesRuleTcpArrayInput)(nil)).Elem(), GetIsNetworkAclRulesRuleTcpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRulesRuleUdpInput)(nil)).Elem(), GetIsNetworkAclRulesRuleUdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclRulesRuleUdpArrayInput)(nil)).Elem(), GetIsNetworkAclRulesRuleUdpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclSubnetInput)(nil)).Elem(), GetIsNetworkAclSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclSubnetArrayInput)(nil)).Elem(), GetIsNetworkAclSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclSubnetDeletedInput)(nil)).Elem(), GetIsNetworkAclSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclSubnetDeletedArrayInput)(nil)).Elem(), GetIsNetworkAclSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclVpcInput)(nil)).Elem(), GetIsNetworkAclVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclVpcArrayInput)(nil)).Elem(), GetIsNetworkAclVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclVpcDeletedInput)(nil)).Elem(), GetIsNetworkAclVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclVpcDeletedArrayInput)(nil)).Elem(), GetIsNetworkAclVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclResourceGroupInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclResourceGroupArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleBeforeInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleBeforeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleBeforeArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleBeforeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleBeforeDeletedInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleBeforeDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleBeforeDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleIcmpInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleIcmpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleIcmpArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleIcmpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleTcpInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleTcpArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleTcpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleUdpInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleUdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclRuleUdpArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclRuleUdpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclSubnetInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclSubnetArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclSubnetDeletedInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclSubnetDeletedArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclVpcInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclVpcArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclVpcDeletedInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsNetworkAclsNetworkAclVpcDeletedArrayInput)(nil)).Elem(), GetIsNetworkAclsNetworkAclVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsOperatingSystemsOperatingSystemInput)(nil)).Elem(), GetIsOperatingSystemsOperatingSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsOperatingSystemsOperatingSystemArrayInput)(nil)).Elem(), GetIsOperatingSystemsOperatingSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPlacementGroupResourceGroupInput)(nil)).Elem(), GetIsPlacementGroupResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPlacementGroupResourceGroupArrayInput)(nil)).Elem(), GetIsPlacementGroupResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPlacementGroupsPlacementGroupInput)(nil)).Elem(), GetIsPlacementGroupsPlacementGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPlacementGroupsPlacementGroupArrayInput)(nil)).Elem(), GetIsPlacementGroupsPlacementGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPlacementGroupsPlacementGroupResourceGroupInput)(nil)).Elem(), GetIsPlacementGroupsPlacementGroupResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPlacementGroupsPlacementGroupResourceGroupArrayInput)(nil)).Elem(), GetIsPlacementGroupsPlacementGroupResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPolicyAccountInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayAccountPolicyAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayAccountPolicyAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayLoadBalancerInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayLoadBalancerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayLoadBalancerArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayLoadBalancerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayLoadBalancerDeletedInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayLoadBalancerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayLoadBalancerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayRegionInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayRegionArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayResourceGroupInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayResourceGroupArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayVpcInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayVpcArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayVpcDeletedInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewayVpcDeletedArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewayVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayInput)(nil)).Elem(), GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeResourceGroupInput)(nil)).Elem(), GetIsPublicAddressRangeResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeResourceGroupArrayInput)(nil)).Elem(), GetIsPublicAddressRangeResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeTargetInput)(nil)).Elem(), GetIsPublicAddressRangeTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeTargetArrayInput)(nil)).Elem(), GetIsPublicAddressRangeTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeTargetVpcInput)(nil)).Elem(), GetIsPublicAddressRangeTargetVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeTargetVpcArrayInput)(nil)).Elem(), GetIsPublicAddressRangeTargetVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeTargetVpcDeletedInput)(nil)).Elem(), GetIsPublicAddressRangeTargetVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeTargetVpcDeletedArrayInput)(nil)).Elem(), GetIsPublicAddressRangeTargetVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeTargetZoneInput)(nil)).Elem(), GetIsPublicAddressRangeTargetZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangeTargetZoneArrayInput)(nil)).Elem(), GetIsPublicAddressRangeTargetZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeArrayInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeResourceGroupInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetArrayInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetVpcInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeTargetVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeTargetVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetZoneInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeTargetZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayInput)(nil)).Elem(), GetIsPublicAddressRangesPublicAddressRangeTargetZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicGatewaysPublicGatewayInput)(nil)).Elem(), GetIsPublicGatewaysPublicGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsPublicGatewaysPublicGatewayArrayInput)(nil)).Elem(), GetIsPublicGatewaysPublicGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsRegionsRegionInput)(nil)).Elem(), GetIsRegionsRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsRegionsRegionArrayInput)(nil)).Elem(), GetIsRegionsRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationCapacityInput)(nil)).Elem(), GetIsReservationCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationCapacityArrayInput)(nil)).Elem(), GetIsReservationCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationCommittedUseInput)(nil)).Elem(), GetIsReservationCommittedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationCommittedUseArrayInput)(nil)).Elem(), GetIsReservationCommittedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationProfileInput)(nil)).Elem(), GetIsReservationProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationProfileArrayInput)(nil)).Elem(), GetIsReservationProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationResourceGroupInput)(nil)).Elem(), GetIsReservationResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationResourceGroupArrayInput)(nil)).Elem(), GetIsReservationResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationStatusReasonInput)(nil)).Elem(), GetIsReservationStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationStatusReasonArrayInput)(nil)).Elem(), GetIsReservationStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationInput)(nil)).Elem(), GetIsReservationsReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationArrayInput)(nil)).Elem(), GetIsReservationsReservationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationCapacityInput)(nil)).Elem(), GetIsReservationsReservationCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationCapacityArrayInput)(nil)).Elem(), GetIsReservationsReservationCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationCommittedUseInput)(nil)).Elem(), GetIsReservationsReservationCommittedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationCommittedUseArrayInput)(nil)).Elem(), GetIsReservationsReservationCommittedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationProfileInput)(nil)).Elem(), GetIsReservationsReservationProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationProfileArrayInput)(nil)).Elem(), GetIsReservationsReservationProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationResourceGroupInput)(nil)).Elem(), GetIsReservationsReservationResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationResourceGroupArrayInput)(nil)).Elem(), GetIsReservationsReservationResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationStatusReasonInput)(nil)).Elem(), GetIsReservationsReservationStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsReservationsReservationStatusReasonArrayInput)(nil)).Elem(), GetIsReservationsReservationStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRuleTypeInput)(nil)).Elem(), GetIsSecurityGroupRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRuleTypeArrayInput)(nil)).Elem(), GetIsSecurityGroupRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRuleLocalInput)(nil)).Elem(), GetIsSecurityGroupRuleLocalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRuleLocalArrayInput)(nil)).Elem(), GetIsSecurityGroupRuleLocalArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRuleRemoteInput)(nil)).Elem(), GetIsSecurityGroupRuleRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRuleRemoteArrayInput)(nil)).Elem(), GetIsSecurityGroupRuleRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRuleRemoteDeletedInput)(nil)).Elem(), GetIsSecurityGroupRuleRemoteDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRuleRemoteDeletedArrayInput)(nil)).Elem(), GetIsSecurityGroupRuleRemoteDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRulesRuleInput)(nil)).Elem(), GetIsSecurityGroupRulesRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRulesRuleArrayInput)(nil)).Elem(), GetIsSecurityGroupRulesRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRulesRuleLocalInput)(nil)).Elem(), GetIsSecurityGroupRulesRuleLocalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRulesRuleLocalArrayInput)(nil)).Elem(), GetIsSecurityGroupRulesRuleLocalArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRulesRuleRemoteInput)(nil)).Elem(), GetIsSecurityGroupRulesRuleRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRulesRuleRemoteArrayInput)(nil)).Elem(), GetIsSecurityGroupRulesRuleRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRulesRuleRemoteDeletedInput)(nil)).Elem(), GetIsSecurityGroupRulesRuleRemoteDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupRulesRuleRemoteDeletedArrayInput)(nil)).Elem(), GetIsSecurityGroupRulesRuleRemoteDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupTargetsTargetInput)(nil)).Elem(), GetIsSecurityGroupTargetsTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupTargetsTargetArrayInput)(nil)).Elem(), GetIsSecurityGroupTargetsTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupResourceGroupInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupResourceGroupArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleLocalInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupRuleLocalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleLocalArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupRuleLocalArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleRemoteInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupRuleRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleRemoteArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupRuleRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArray{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileVcpuManufacturerOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostProfilesProfileVcpuManufacturerArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostVcpusOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostVcpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostAvailableVcpusOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostAvailableVcpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostDiskOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostDiskInstanceDiskDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostInstanceOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostInstanceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostInstanceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostNumaOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostNumaArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostNumaNodeOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostNumaNodeArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostSupportedInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostVcpusOutput{}) + pulumi.RegisterOutputType(GetIsDedicatedHostsDedicatedHostVcpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsEndpointGatewayTargetsResourceOutput{}) + pulumi.RegisterOutputType(GetIsEndpointGatewayTargetsResourceArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpTargetListOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpTargetListArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpTargetListDeletedOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpTargetListDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpTargetListPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpTargetListPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpTargetOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpTargetPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpTargetPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpZoneOutput{}) + pulumi.RegisterOutputType(GetIsFloatingIpsFloatingIpZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogStorageBucketOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogStorageBucketArrayOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogTargetOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogVpcOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogsFlowLogCollectorOutput{}) + pulumi.RegisterOutputType(GetIsFlowLogsFlowLogCollectorArrayOutput{}) + pulumi.RegisterOutputType(GetIsIkePoliciesIkePolicyOutput{}) + pulumi.RegisterOutputType(GetIsIkePoliciesIkePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsIkePoliciesIkePolicyConnectionOutput{}) + pulumi.RegisterOutputType(GetIsIkePoliciesIkePolicyConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetIsIkePoliciesIkePolicyConnectionDeletedOutput{}) + pulumi.RegisterOutputType(GetIsIkePoliciesIkePolicyConnectionDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsIkePoliciesIkePolicyResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsIkePoliciesIkePolicyResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsIkePolicyConnectionOutput{}) + pulumi.RegisterOutputType(GetIsIkePolicyConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetIsIkePolicyConnectionDeletedOutput{}) + pulumi.RegisterOutputType(GetIsIkePolicyConnectionDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsIkePolicyResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsIkePolicyResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsImageAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageBareMetalServerProfilesBareMetalServerProfileOutput{}) + pulumi.RegisterOutputType(GetIsImageBareMetalServerProfilesBareMetalServerProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsImageCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageCatalogOfferingVersionOutput{}) + pulumi.RegisterOutputType(GetIsImageCatalogOfferingVersionArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobStorageBucketOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobStorageBucketArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobStorageObjectOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobStorageObjectArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobsExportJobOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobsExportJobArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobsExportJobStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobsExportJobStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobsExportJobStorageBucketOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobsExportJobStorageBucketArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobsExportJobStorageObjectOutput{}) + pulumi.RegisterOutputType(GetIsImageExportJobsExportJobStorageObjectArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageInstanceProfilesInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsImageInstanceProfilesInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageOperatingSystemOutput{}) + pulumi.RegisterOutputType(GetIsImageOperatingSystemArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageRemoteOutput{}) + pulumi.RegisterOutputType(GetIsImageRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsImageRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsImageResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsImageStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsImageStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageCatalogOfferingVersionOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageCatalogOfferingVersionArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageCatalogOfferingVersionDeletedOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageCatalogOfferingVersionDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageOperatingSystemOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageOperatingSystemArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageRemoteOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsImagesImageStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceBootVolumeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceBootVolumeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsInstanceCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentTypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentBeforeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentBeforeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentBeforeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentClusterNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkAttachmentsClusterNetworkAttachmentLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceClusterNetworkDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceDiskOutput{}) + pulumi.RegisterOutputType(GetIsInstanceDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceDisksDiskOutput{}) + pulumi.RegisterOutputType(GetIsInstanceDisksDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGpusOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagerActionTypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagerActionTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagerActionsInstanceGroupManagerActionOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagerActionsInstanceGroupManagerActionArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagerPoliciesInstanceGroupManagerPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagersInstanceGroupManagerOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagersInstanceGroupManagerArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagersInstanceGroupManagerActionOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupManagersInstanceGroupManagerActionArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipInstanceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipInstanceTemplateOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipInstanceTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipsMembershipOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipsMembershipArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipsMembershipInstanceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipsMembershipInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipsMembershipInstanceTemplateOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupMembershipsMembershipInstanceTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupInstanceTemplateOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupInstanceTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupInstanceTemplateDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupLoadBalancerPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupManagerOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupManagerArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupManagerDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupManagerDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupVpcOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceGroupsInstanceGroupVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsInstanceHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceKeyOutput{}) + pulumi.RegisterOutputType(GetIsInstanceKeyArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsInstanceLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceMetadataServiceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceMetadataServiceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentTypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkAttachmentsNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceFloatingIpTypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceFloatingIpTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceFloatingIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceFloatingIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceReservedIpsReservedIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceReservedIpsReservedIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceSecurityGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceSecurityGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceFloatingIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceSecurityGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceNetworkInterfacesNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePlacementTargetOutput{}) + pulumi.RegisterOutputType(GetIsInstancePlacementTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePlacementTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancePlacementTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstancePrimaryNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileBandwidthOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileBandwidthArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileClusterNetworkAttachmentCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileClusterNetworkAttachmentCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileConfidentialComputeModeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileConfidentialComputeModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileDiskOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileDiskQuantityOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileDiskQuantityArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileDiskSizeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileDiskSizeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileDiskSupportedInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileDiskSupportedInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileGpuCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileGpuCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileGpuManufacturerOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileGpuManufacturerArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileGpuMemoryOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileGpuMemoryArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileGpuModelOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileGpuModelArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileMemoryOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileMemoryArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileNetworkAttachmentCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileNetworkAttachmentCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileNetworkInterfaceCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileNetworkInterfaceCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileNumaCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileNumaCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilePortSpeedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilePortSpeedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileReservationTermOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileReservationTermArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileSecureBootModeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileSecureBootModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileSupportedClusterNetworkProfileOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileSupportedClusterNetworkProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileTotalVolumeBandwidthOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileTotalVolumeBandwidthArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileVcpuArchitectureOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileVcpuArchitectureArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileVcpuCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileVcpuCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileVcpuManufacturerOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileVcpuManufacturerArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileVolumeBandwidthQosModeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfileVolumeBandwidthQosModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileBandwidthOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileBandwidthArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileClusterNetworkAttachmentCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileClusterNetworkAttachmentCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileConfidentialComputeModeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileConfidentialComputeModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileDiskOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileDiskQuantityOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileDiskQuantityArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileDiskSizeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileDiskSizeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileDiskSupportedInterfaceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileGpuCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileGpuCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileGpuManufacturerOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileGpuManufacturerArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileGpuMemoryOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileGpuMemoryArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileGpuModelOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileGpuModelArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileMemoryOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileMemoryArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileNetworkAttachmentCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileNetworkAttachmentCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileNetworkInterfaceCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileNetworkInterfaceCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileNumaCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileNumaCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfilePortSpeedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfilePortSpeedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileReservationTermOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileReservationTermArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileSecureBootModeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileSecureBootModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileSupportedClusterNetworkProfileOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileSupportedClusterNetworkProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileTotalVolumeBandwidthOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileTotalVolumeBandwidthArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileVcpuArchitectureOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileVcpuArchitectureArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileVcpuCountOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileVcpuCountArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileVcpuManufacturerOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileVcpuManufacturerArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileVolumeBandwidthQosModeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceProfilesProfileVolumeBandwidthQosModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationAffinityOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationAffinityPoolOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationAffinityPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationAffinityPoolDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationAffinityPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstanceReservationDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsInstanceStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateBootVolumeAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateBootVolumeAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateBootVolumeAttachmentAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateBootVolumeAttachmentAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateBootVolumeAttachmentSourceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateClusterNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateClusterNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateMetadataServiceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateMetadataServiceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePlacementTargetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePlacementTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateReservationAffinityOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateVolumeAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateVolumeAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateBootVolumeAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateBootVolumeAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateBootVolumeAttachmentAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateBootVolumeAttachmentSourceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateClusterNetworkAttachmentClusterNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateMetadataServiceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateMetadataServiceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePlacementTargetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePlacementTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkAttachmentVirtualNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplatePrimaryNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateReservationAffinityOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateVolumeAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateVolumeAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsInstanceTemplatesTemplateVolumeAttachmentVolumePrototypeAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVcpusOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVcpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentTypeOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentVolumeReferenceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentVolumeReferenceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentsVolumeAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentsVolumeAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceOutput{}) + pulumi.RegisterOutputType(GetIsInstanceVolumeAttachmentsVolumeAttachmentVolumeReferenceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceBootVolumeOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceBootVolumeArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceClusterNetworkOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceClusterNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceClusterNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceClusterNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceClusterNetworkDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceClusterNetworkDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceDiskOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceDiskArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceGpusOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceGpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceMetadataServiceOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceMetadataServiceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePlacementTargetOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePlacementTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePlacementTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePlacementTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkAttachmentVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstancePrimaryNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationAffinityOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationAffinityArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationAffinityPoolOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationAffinityPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationAffinityPoolDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationAffinityPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationDeletedOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceReservationDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceVcpusOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceVcpusArrayOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceVolumeAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsInstancesInstanceVolumeAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPoliciesIpsecPolicyOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPoliciesIpsecPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPoliciesIpsecPolicyConnectionOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPoliciesIpsecPolicyConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPoliciesIpsecPolicyConnectionDeletedOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPoliciesIpsecPolicyConnectionDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPoliciesIpsecPolicyResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPoliciesIpsecPolicyResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPolicyConnectionOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPolicyConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPolicyConnectionDeletedOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPolicyConnectionDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPolicyResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsIpsecPolicyResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbAttachedLoadBalancerPoolMemberOutput{}) + pulumi.RegisterOutputType(GetIsLbAttachedLoadBalancerPoolMemberArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbAttachedLoadBalancerPoolMemberDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbAttachedLoadBalancerPoolMemberDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbDnOutput{}) + pulumi.RegisterOutputType(GetIsLbDnArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerCertificateInstanceOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerCertificateInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerDefaultPoolOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerDefaultPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerDefaultPoolDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerDefaultPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerHttpsRedirectOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerHttpsRedirectArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerHttpsRedirectListenerOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerHttpsRedirectListenerArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerHttpsRedirectListenerDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerHttpsRedirectListenerDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyRuleOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyRuleDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyRuleDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyTargetOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyTargetListenerOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyTargetListenerArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyTargetListenerDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPoliciesPolicyTargetListenerDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTypeOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyRuleTypeOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyRuleDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyRuleDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyRulesRuleOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyRulesRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTargetOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTargetListenerOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTargetListenerArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTargetListenerDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenerPolicyTargetListenerDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerCertificateInstanceOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerCertificateInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerDefaultPoolOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerDefaultPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerDefaultPoolDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerDefaultPoolDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerHttpsRedirectOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerHttpsRedirectArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerHttpsRedirectListenerOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerHttpsRedirectListenerArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerHttpsRedirectListenerDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerHttpsRedirectListenerDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerPolicyOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerPolicyDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbListenersListenerPolicyDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolTypeOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolFailsafePolicyOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolFailsafePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolFailsafePolicyTargetOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolFailsafePolicyTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolFailsafePolicyTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolFailsafePolicyTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolHealthMonitorOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolHealthMonitorArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolInstanceGroupOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolInstanceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolInstanceGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolInstanceGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMemberTypeOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMemberTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMemberDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMemberDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMemberTargetOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMemberTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMemberTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMemberTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMembersMemberOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMembersMemberArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMembersMemberTargetOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMembersMemberTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMembersMemberTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolMembersMemberTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolSessionPersistenceOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolSessionPersistenceArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolFailsafePolicyOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolFailsafePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolFailsafePolicyTargetOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolFailsafePolicyTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolFailsafePolicyTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolFailsafePolicyTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolHealthMonitorOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolHealthMonitorArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolInstanceGroupOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolInstanceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolInstanceGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolInstanceGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolMemberOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolMemberArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolMemberDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolMemberDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolSessionPersistenceOutput{}) + pulumi.RegisterOutputType(GetIsLbPoolsPoolSessionPersistenceArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbPrivateIpOutput{}) + pulumi.RegisterOutputType(GetIsLbPrivateIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfileAccessModeOutput{}) + pulumi.RegisterOutputType(GetIsLbProfileAccessModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfileFailsafePolicyActionOutput{}) + pulumi.RegisterOutputType(GetIsLbProfileFailsafePolicyActionArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfileTargetableLoadBalancerProfileOutput{}) + pulumi.RegisterOutputType(GetIsLbProfileTargetableLoadBalancerProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfileTargetableResourceTypeOutput{}) + pulumi.RegisterOutputType(GetIsLbProfileTargetableResourceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileAccessModeOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileAccessModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileAvailabilityOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileAvailabilityArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileFailsafePolicyActionOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileFailsafePolicyActionArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileInstanceGroupsSupportedOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileInstanceGroupsSupportedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileSourceIpSessionPersistenceSupportedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileTargetableLoadBalancerProfileOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileTargetableLoadBalancerProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileTargetableResourceTypeOutput{}) + pulumi.RegisterOutputType(GetIsLbProfilesLbProfileTargetableResourceTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerAttachedLoadBalancerPoolMemberDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerDnOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerDnArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerListenerOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerListenerArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerPoolOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerPoolArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerPrivateIpOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerPrivateIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerSubnetOutput{}) + pulumi.RegisterOutputType(GetIsLbsLoadBalancerSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleTypeOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleBeforeOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleBeforeArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleBeforeDeletedOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleBeforeDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleIcmpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleIcmpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleTcpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleTcpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleUdpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRuleUdpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRulesRuleOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRulesRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRulesRuleIcmpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRulesRuleIcmpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRulesRuleTcpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRulesRuleTcpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRulesRuleUdpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclRulesRuleUdpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclSubnetOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclVpcOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleBeforeOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleBeforeArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleBeforeDeletedOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleBeforeDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleIcmpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleIcmpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleTcpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleTcpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleUdpOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclRuleUdpArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclSubnetOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclVpcOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsNetworkAclsNetworkAclVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsOperatingSystemsOperatingSystemOutput{}) + pulumi.RegisterOutputType(GetIsOperatingSystemsOperatingSystemArrayOutput{}) + pulumi.RegisterOutputType(GetIsPlacementGroupResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsPlacementGroupResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsPlacementGroupsPlacementGroupOutput{}) + pulumi.RegisterOutputType(GetIsPlacementGroupsPlacementGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsPlacementGroupsPlacementGroupResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsPlacementGroupsPlacementGroupResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayAccountPoliciesAccountPolicyAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayAccountPolicyAccountOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayAccountPolicyAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayEndpointGatewayBindingAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayEndpointGatewayBindingsEndpointGatewayBindingAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayLoadBalancerOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayLoadBalancerArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayLoadBalancerDeletedOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayRegionOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayVpcOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewayVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayLoadBalancerDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsPrivatePathServiceGatewaysPrivatePathServiceGatewayVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeTargetOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeTargetVpcOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeTargetVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeTargetVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeTargetVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeTargetZoneOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangeTargetZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeTargetOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeTargetVpcOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeTargetVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeTargetVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeTargetZoneOutput{}) + pulumi.RegisterOutputType(GetIsPublicAddressRangesPublicAddressRangeTargetZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsPublicGatewaysPublicGatewayOutput{}) + pulumi.RegisterOutputType(GetIsPublicGatewaysPublicGatewayArrayOutput{}) + pulumi.RegisterOutputType(GetIsRegionsRegionOutput{}) + pulumi.RegisterOutputType(GetIsRegionsRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationCapacityOutput{}) + pulumi.RegisterOutputType(GetIsReservationCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationCommittedUseOutput{}) + pulumi.RegisterOutputType(GetIsReservationCommittedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationProfileOutput{}) + pulumi.RegisterOutputType(GetIsReservationProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsReservationResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsReservationStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationCapacityOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationCommittedUseOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationCommittedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationProfileOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsReservationsReservationStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRuleTypeOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRuleLocalOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRuleLocalArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRuleRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRuleRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRuleRemoteDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRuleRemoteDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRulesRuleOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRulesRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRulesRuleLocalOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRulesRuleLocalArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRulesRuleRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRulesRuleRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRulesRuleRemoteDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupRulesRuleRemoteDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupTargetsTargetOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupTargetsTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupRuleOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupRuleLocalOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupRuleLocalArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupRuleRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupRuleRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupRuleRemoteDeletedArrayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes3.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes3.go new file mode 100644 index 000000000..3958f5a37 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes3.go @@ -0,0 +1,66257 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type GetIsSecurityGroupsSecurityGroupTarget struct { + // The load balancer's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSecurityGroupsSecurityGroupTargetDeleted `pulumi:"deleteds"` + // The URL for this network interface. + Href string `pulumi:"href"` + // The unique identifier for this network interface. + Id string `pulumi:"id"` + // The user-defined name for this network interface. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSecurityGroupsSecurityGroupTargetInput is an input type that accepts GetIsSecurityGroupsSecurityGroupTargetArgs and GetIsSecurityGroupsSecurityGroupTargetOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupTargetInput` via: +// +// GetIsSecurityGroupsSecurityGroupTargetArgs{...} +type GetIsSecurityGroupsSecurityGroupTargetInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupTargetOutput() GetIsSecurityGroupsSecurityGroupTargetOutput + ToGetIsSecurityGroupsSecurityGroupTargetOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupTargetOutput +} + +type GetIsSecurityGroupsSecurityGroupTargetArgs struct { + // The load balancer's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSecurityGroupsSecurityGroupTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this network interface. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this network interface. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSecurityGroupsSecurityGroupTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupTarget)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupTargetArgs) ToGetIsSecurityGroupsSecurityGroupTargetOutput() GetIsSecurityGroupsSecurityGroupTargetOutput { + return i.ToGetIsSecurityGroupsSecurityGroupTargetOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupTargetArgs) ToGetIsSecurityGroupsSecurityGroupTargetOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupTargetOutput) +} + +// GetIsSecurityGroupsSecurityGroupTargetArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupTargetArray and GetIsSecurityGroupsSecurityGroupTargetArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupTargetArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupTargetArray{ GetIsSecurityGroupsSecurityGroupTargetArgs{...} } +type GetIsSecurityGroupsSecurityGroupTargetArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupTargetArrayOutput() GetIsSecurityGroupsSecurityGroupTargetArrayOutput + ToGetIsSecurityGroupsSecurityGroupTargetArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupTargetArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupTargetArray []GetIsSecurityGroupsSecurityGroupTargetInput + +func (GetIsSecurityGroupsSecurityGroupTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupTarget)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupTargetArray) ToGetIsSecurityGroupsSecurityGroupTargetArrayOutput() GetIsSecurityGroupsSecurityGroupTargetArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupTargetArray) ToGetIsSecurityGroupsSecurityGroupTargetArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupTargetArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupTargetOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupTarget)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupTargetOutput) ToGetIsSecurityGroupsSecurityGroupTargetOutput() GetIsSecurityGroupsSecurityGroupTargetOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupTargetOutput) ToGetIsSecurityGroupsSecurityGroupTargetOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupTargetOutput { + return o +} + +// The load balancer's CRN. +func (o GetIsSecurityGroupsSecurityGroupTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSecurityGroupsSecurityGroupTargetOutput) Deleteds() GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupTarget) []GetIsSecurityGroupsSecurityGroupTargetDeleted { + return v.Deleteds + }).(GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput) +} + +// The URL for this network interface. +func (o GetIsSecurityGroupsSecurityGroupTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this network interface. +func (o GetIsSecurityGroupsSecurityGroupTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this network interface. +func (o GetIsSecurityGroupsSecurityGroupTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSecurityGroupsSecurityGroupTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupsSecurityGroupTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupTarget)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupTargetArrayOutput) ToGetIsSecurityGroupsSecurityGroupTargetArrayOutput() GetIsSecurityGroupsSecurityGroupTargetArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupTargetArrayOutput) ToGetIsSecurityGroupsSecurityGroupTargetArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupTargetArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupTargetArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupTarget { + return vs[0].([]GetIsSecurityGroupsSecurityGroupTarget)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupTargetOutput) +} + +type GetIsSecurityGroupsSecurityGroupTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSecurityGroupsSecurityGroupTargetDeletedInput is an input type that accepts GetIsSecurityGroupsSecurityGroupTargetDeletedArgs and GetIsSecurityGroupsSecurityGroupTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupTargetDeletedInput` via: +// +// GetIsSecurityGroupsSecurityGroupTargetDeletedArgs{...} +type GetIsSecurityGroupsSecurityGroupTargetDeletedInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupTargetDeletedOutput() GetIsSecurityGroupsSecurityGroupTargetDeletedOutput + ToGetIsSecurityGroupsSecurityGroupTargetDeletedOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupTargetDeletedOutput +} + +type GetIsSecurityGroupsSecurityGroupTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSecurityGroupsSecurityGroupTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupTargetDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupTargetDeletedArgs) ToGetIsSecurityGroupsSecurityGroupTargetDeletedOutput() GetIsSecurityGroupsSecurityGroupTargetDeletedOutput { + return i.ToGetIsSecurityGroupsSecurityGroupTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupTargetDeletedArgs) ToGetIsSecurityGroupsSecurityGroupTargetDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupTargetDeletedOutput) +} + +// GetIsSecurityGroupsSecurityGroupTargetDeletedArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupTargetDeletedArray and GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupTargetDeletedArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupTargetDeletedArray{ GetIsSecurityGroupsSecurityGroupTargetDeletedArgs{...} } +type GetIsSecurityGroupsSecurityGroupTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput + ToGetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupTargetDeletedArray []GetIsSecurityGroupsSecurityGroupTargetDeletedInput + +func (GetIsSecurityGroupsSecurityGroupTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupTargetDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupTargetDeletedArray) ToGetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupTargetDeletedArray) ToGetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupTargetDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupTargetDeletedOutput) ToGetIsSecurityGroupsSecurityGroupTargetDeletedOutput() GetIsSecurityGroupsSecurityGroupTargetDeletedOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupTargetDeletedOutput) ToGetIsSecurityGroupsSecurityGroupTargetDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSecurityGroupsSecurityGroupTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupTargetDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput) ToGetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput) ToGetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupTargetDeleted { + return vs[0].([]GetIsSecurityGroupsSecurityGroupTargetDeleted)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupTargetDeletedOutput) +} + +type GetIsSecurityGroupsSecurityGroupVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSecurityGroupsSecurityGroupVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` +} + +// GetIsSecurityGroupsSecurityGroupVpcInput is an input type that accepts GetIsSecurityGroupsSecurityGroupVpcArgs and GetIsSecurityGroupsSecurityGroupVpcOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupVpcInput` via: +// +// GetIsSecurityGroupsSecurityGroupVpcArgs{...} +type GetIsSecurityGroupsSecurityGroupVpcInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupVpcOutput() GetIsSecurityGroupsSecurityGroupVpcOutput + ToGetIsSecurityGroupsSecurityGroupVpcOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupVpcOutput +} + +type GetIsSecurityGroupsSecurityGroupVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSecurityGroupsSecurityGroupVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSecurityGroupsSecurityGroupVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupVpc)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupVpcArgs) ToGetIsSecurityGroupsSecurityGroupVpcOutput() GetIsSecurityGroupsSecurityGroupVpcOutput { + return i.ToGetIsSecurityGroupsSecurityGroupVpcOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupVpcArgs) ToGetIsSecurityGroupsSecurityGroupVpcOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupVpcOutput) +} + +// GetIsSecurityGroupsSecurityGroupVpcArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupVpcArray and GetIsSecurityGroupsSecurityGroupVpcArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupVpcArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupVpcArray{ GetIsSecurityGroupsSecurityGroupVpcArgs{...} } +type GetIsSecurityGroupsSecurityGroupVpcArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupVpcArrayOutput() GetIsSecurityGroupsSecurityGroupVpcArrayOutput + ToGetIsSecurityGroupsSecurityGroupVpcArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupVpcArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupVpcArray []GetIsSecurityGroupsSecurityGroupVpcInput + +func (GetIsSecurityGroupsSecurityGroupVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupVpc)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupVpcArray) ToGetIsSecurityGroupsSecurityGroupVpcArrayOutput() GetIsSecurityGroupsSecurityGroupVpcArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupVpcArray) ToGetIsSecurityGroupsSecurityGroupVpcArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupVpcArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupVpcOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupVpc)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupVpcOutput) ToGetIsSecurityGroupsSecurityGroupVpcOutput() GetIsSecurityGroupsSecurityGroupVpcOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupVpcOutput) ToGetIsSecurityGroupsSecurityGroupVpcOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsSecurityGroupsSecurityGroupVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSecurityGroupsSecurityGroupVpcOutput) Deleteds() GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupVpc) []GetIsSecurityGroupsSecurityGroupVpcDeleted { + return v.Deleteds + }).(GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsSecurityGroupsSecurityGroupVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsSecurityGroupsSecurityGroupVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsSecurityGroupsSecurityGroupVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupVpc) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupsSecurityGroupVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupVpc)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupVpcArrayOutput) ToGetIsSecurityGroupsSecurityGroupVpcArrayOutput() GetIsSecurityGroupsSecurityGroupVpcArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupVpcArrayOutput) ToGetIsSecurityGroupsSecurityGroupVpcArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupVpcArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupVpcArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupVpc { + return vs[0].([]GetIsSecurityGroupsSecurityGroupVpc)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupVpcOutput) +} + +type GetIsSecurityGroupsSecurityGroupVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSecurityGroupsSecurityGroupVpcDeletedInput is an input type that accepts GetIsSecurityGroupsSecurityGroupVpcDeletedArgs and GetIsSecurityGroupsSecurityGroupVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupVpcDeletedInput` via: +// +// GetIsSecurityGroupsSecurityGroupVpcDeletedArgs{...} +type GetIsSecurityGroupsSecurityGroupVpcDeletedInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupVpcDeletedOutput() GetIsSecurityGroupsSecurityGroupVpcDeletedOutput + ToGetIsSecurityGroupsSecurityGroupVpcDeletedOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupVpcDeletedOutput +} + +type GetIsSecurityGroupsSecurityGroupVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSecurityGroupsSecurityGroupVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupVpcDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupVpcDeletedArgs) ToGetIsSecurityGroupsSecurityGroupVpcDeletedOutput() GetIsSecurityGroupsSecurityGroupVpcDeletedOutput { + return i.ToGetIsSecurityGroupsSecurityGroupVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupVpcDeletedArgs) ToGetIsSecurityGroupsSecurityGroupVpcDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupVpcDeletedOutput) +} + +// GetIsSecurityGroupsSecurityGroupVpcDeletedArrayInput is an input type that accepts GetIsSecurityGroupsSecurityGroupVpcDeletedArray and GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSecurityGroupsSecurityGroupVpcDeletedArrayInput` via: +// +// GetIsSecurityGroupsSecurityGroupVpcDeletedArray{ GetIsSecurityGroupsSecurityGroupVpcDeletedArgs{...} } +type GetIsSecurityGroupsSecurityGroupVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput + ToGetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutputWithContext(context.Context) GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput +} + +type GetIsSecurityGroupsSecurityGroupVpcDeletedArray []GetIsSecurityGroupsSecurityGroupVpcDeletedInput + +func (GetIsSecurityGroupsSecurityGroupVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupVpcDeleted)(nil)).Elem() +} + +func (i GetIsSecurityGroupsSecurityGroupVpcDeletedArray) ToGetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput { + return i.ToGetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSecurityGroupsSecurityGroupVpcDeletedArray) ToGetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput) +} + +type GetIsSecurityGroupsSecurityGroupVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupVpcDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupVpcDeletedOutput) ToGetIsSecurityGroupsSecurityGroupVpcDeletedOutput() GetIsSecurityGroupsSecurityGroupVpcDeletedOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupVpcDeletedOutput) ToGetIsSecurityGroupsSecurityGroupVpcDeletedOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSecurityGroupsSecurityGroupVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSecurityGroupsSecurityGroupVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSecurityGroupsSecurityGroupVpcDeleted)(nil)).Elem() +} + +func (o GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput) ToGetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput() GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput) ToGetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput { + return o +} + +func (o GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSecurityGroupsSecurityGroupVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSecurityGroupsSecurityGroupVpcDeleted { + return vs[0].([]GetIsSecurityGroupsSecurityGroupVpcDeleted)[vs[1].(int)] + }).(GetIsSecurityGroupsSecurityGroupVpcDeletedOutput) +} + +type GetIsShareAccessorBinding struct { + // The URL for this share accessor binding. + Href string `pulumi:"href"` + // The unique identifier for this share accessor binding. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareAccessorBindingInput is an input type that accepts GetIsShareAccessorBindingArgs and GetIsShareAccessorBindingOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingInput` via: +// +// GetIsShareAccessorBindingArgs{...} +type GetIsShareAccessorBindingInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingOutput() GetIsShareAccessorBindingOutput + ToGetIsShareAccessorBindingOutputWithContext(context.Context) GetIsShareAccessorBindingOutput +} + +type GetIsShareAccessorBindingArgs struct { + // The URL for this share accessor binding. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share accessor binding. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareAccessorBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBinding)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingArgs) ToGetIsShareAccessorBindingOutput() GetIsShareAccessorBindingOutput { + return i.ToGetIsShareAccessorBindingOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingArgs) ToGetIsShareAccessorBindingOutputWithContext(ctx context.Context) GetIsShareAccessorBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingOutput) +} + +// GetIsShareAccessorBindingArrayInput is an input type that accepts GetIsShareAccessorBindingArray and GetIsShareAccessorBindingArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingArrayInput` via: +// +// GetIsShareAccessorBindingArray{ GetIsShareAccessorBindingArgs{...} } +type GetIsShareAccessorBindingArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingArrayOutput() GetIsShareAccessorBindingArrayOutput + ToGetIsShareAccessorBindingArrayOutputWithContext(context.Context) GetIsShareAccessorBindingArrayOutput +} + +type GetIsShareAccessorBindingArray []GetIsShareAccessorBindingInput + +func (GetIsShareAccessorBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBinding)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingArray) ToGetIsShareAccessorBindingArrayOutput() GetIsShareAccessorBindingArrayOutput { + return i.ToGetIsShareAccessorBindingArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingArray) ToGetIsShareAccessorBindingArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingArrayOutput) +} + +type GetIsShareAccessorBindingOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBinding)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingOutput) ToGetIsShareAccessorBindingOutput() GetIsShareAccessorBindingOutput { + return o +} + +func (o GetIsShareAccessorBindingOutput) ToGetIsShareAccessorBindingOutputWithContext(ctx context.Context) GetIsShareAccessorBindingOutput { + return o +} + +// The URL for this share accessor binding. +func (o GetIsShareAccessorBindingOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBinding) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share accessor binding. +func (o GetIsShareAccessorBindingOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBinding) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareAccessorBindingOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBinding) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBinding)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingArrayOutput) ToGetIsShareAccessorBindingArrayOutput() GetIsShareAccessorBindingArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingArrayOutput) ToGetIsShareAccessorBindingArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBinding { + return vs[0].([]GetIsShareAccessorBinding)[vs[1].(int)] + }).(GetIsShareAccessorBindingOutput) +} + +type GetIsShareAccessorBindingAccessor struct { + // The CRN for this file share. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsShareAccessorBindingAccessorDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsShareAccessorBindingAccessorRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareAccessorBindingAccessorInput is an input type that accepts GetIsShareAccessorBindingAccessorArgs and GetIsShareAccessorBindingAccessorOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorInput` via: +// +// GetIsShareAccessorBindingAccessorArgs{...} +type GetIsShareAccessorBindingAccessorInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorOutput() GetIsShareAccessorBindingAccessorOutput + ToGetIsShareAccessorBindingAccessorOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorOutput +} + +type GetIsShareAccessorBindingAccessorArgs struct { + // The CRN for this file share. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsShareAccessorBindingAccessorDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsShareAccessorBindingAccessorRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareAccessorBindingAccessorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessor)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorArgs) ToGetIsShareAccessorBindingAccessorOutput() GetIsShareAccessorBindingAccessorOutput { + return i.ToGetIsShareAccessorBindingAccessorOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorArgs) ToGetIsShareAccessorBindingAccessorOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorOutput) +} + +// GetIsShareAccessorBindingAccessorArrayInput is an input type that accepts GetIsShareAccessorBindingAccessorArray and GetIsShareAccessorBindingAccessorArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorArrayInput` via: +// +// GetIsShareAccessorBindingAccessorArray{ GetIsShareAccessorBindingAccessorArgs{...} } +type GetIsShareAccessorBindingAccessorArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorArrayOutput() GetIsShareAccessorBindingAccessorArrayOutput + ToGetIsShareAccessorBindingAccessorArrayOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorArrayOutput +} + +type GetIsShareAccessorBindingAccessorArray []GetIsShareAccessorBindingAccessorInput + +func (GetIsShareAccessorBindingAccessorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessor)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorArray) ToGetIsShareAccessorBindingAccessorArrayOutput() GetIsShareAccessorBindingAccessorArrayOutput { + return i.ToGetIsShareAccessorBindingAccessorArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorArray) ToGetIsShareAccessorBindingAccessorArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorArrayOutput) +} + +type GetIsShareAccessorBindingAccessorOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessor)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorOutput) ToGetIsShareAccessorBindingAccessorOutput() GetIsShareAccessorBindingAccessorOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorOutput) ToGetIsShareAccessorBindingAccessorOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorOutput { + return o +} + +// The CRN for this file share. +func (o GetIsShareAccessorBindingAccessorOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessor) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsShareAccessorBindingAccessorOutput) Deleteds() GetIsShareAccessorBindingAccessorDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessor) []GetIsShareAccessorBindingAccessorDeleted { + return v.Deleteds + }).(GetIsShareAccessorBindingAccessorDeletedArrayOutput) +} + +// The URL for this file share. +func (o GetIsShareAccessorBindingAccessorOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessor) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsShareAccessorBindingAccessorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessor) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this share. The name is unique across all shares in the region. +func (o GetIsShareAccessorBindingAccessorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessor) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsShareAccessorBindingAccessorOutput) Remotes() GetIsShareAccessorBindingAccessorRemoteArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessor) []GetIsShareAccessorBindingAccessorRemote { return v.Remotes }).(GetIsShareAccessorBindingAccessorRemoteArrayOutput) +} + +// The resource type. +func (o GetIsShareAccessorBindingAccessorOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessor) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingAccessorArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessor)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorArrayOutput) ToGetIsShareAccessorBindingAccessorArrayOutput() GetIsShareAccessorBindingAccessorArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorArrayOutput) ToGetIsShareAccessorBindingAccessorArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingAccessorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingAccessor { + return vs[0].([]GetIsShareAccessorBindingAccessor)[vs[1].(int)] + }).(GetIsShareAccessorBindingAccessorOutput) +} + +type GetIsShareAccessorBindingAccessorDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareAccessorBindingAccessorDeletedInput is an input type that accepts GetIsShareAccessorBindingAccessorDeletedArgs and GetIsShareAccessorBindingAccessorDeletedOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorDeletedInput` via: +// +// GetIsShareAccessorBindingAccessorDeletedArgs{...} +type GetIsShareAccessorBindingAccessorDeletedInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorDeletedOutput() GetIsShareAccessorBindingAccessorDeletedOutput + ToGetIsShareAccessorBindingAccessorDeletedOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorDeletedOutput +} + +type GetIsShareAccessorBindingAccessorDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareAccessorBindingAccessorDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessorDeleted)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorDeletedArgs) ToGetIsShareAccessorBindingAccessorDeletedOutput() GetIsShareAccessorBindingAccessorDeletedOutput { + return i.ToGetIsShareAccessorBindingAccessorDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorDeletedArgs) ToGetIsShareAccessorBindingAccessorDeletedOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorDeletedOutput) +} + +// GetIsShareAccessorBindingAccessorDeletedArrayInput is an input type that accepts GetIsShareAccessorBindingAccessorDeletedArray and GetIsShareAccessorBindingAccessorDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorDeletedArrayInput` via: +// +// GetIsShareAccessorBindingAccessorDeletedArray{ GetIsShareAccessorBindingAccessorDeletedArgs{...} } +type GetIsShareAccessorBindingAccessorDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorDeletedArrayOutput() GetIsShareAccessorBindingAccessorDeletedArrayOutput + ToGetIsShareAccessorBindingAccessorDeletedArrayOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorDeletedArrayOutput +} + +type GetIsShareAccessorBindingAccessorDeletedArray []GetIsShareAccessorBindingAccessorDeletedInput + +func (GetIsShareAccessorBindingAccessorDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessorDeleted)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorDeletedArray) ToGetIsShareAccessorBindingAccessorDeletedArrayOutput() GetIsShareAccessorBindingAccessorDeletedArrayOutput { + return i.ToGetIsShareAccessorBindingAccessorDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorDeletedArray) ToGetIsShareAccessorBindingAccessorDeletedArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorDeletedArrayOutput) +} + +type GetIsShareAccessorBindingAccessorDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessorDeleted)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorDeletedOutput) ToGetIsShareAccessorBindingAccessorDeletedOutput() GetIsShareAccessorBindingAccessorDeletedOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorDeletedOutput) ToGetIsShareAccessorBindingAccessorDeletedOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareAccessorBindingAccessorDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessorDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingAccessorDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessorDeleted)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorDeletedArrayOutput) ToGetIsShareAccessorBindingAccessorDeletedArrayOutput() GetIsShareAccessorBindingAccessorDeletedArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorDeletedArrayOutput) ToGetIsShareAccessorBindingAccessorDeletedArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorDeletedArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingAccessorDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingAccessorDeleted { + return vs[0].([]GetIsShareAccessorBindingAccessorDeleted)[vs[1].(int)] + }).(GetIsShareAccessorBindingAccessorDeletedOutput) +} + +type GetIsShareAccessorBindingAccessorRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsShareAccessorBindingAccessorRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsShareAccessorBindingAccessorRemoteRegion `pulumi:"regions"` +} + +// GetIsShareAccessorBindingAccessorRemoteInput is an input type that accepts GetIsShareAccessorBindingAccessorRemoteArgs and GetIsShareAccessorBindingAccessorRemoteOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorRemoteInput` via: +// +// GetIsShareAccessorBindingAccessorRemoteArgs{...} +type GetIsShareAccessorBindingAccessorRemoteInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorRemoteOutput() GetIsShareAccessorBindingAccessorRemoteOutput + ToGetIsShareAccessorBindingAccessorRemoteOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorRemoteOutput +} + +type GetIsShareAccessorBindingAccessorRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsShareAccessorBindingAccessorRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsShareAccessorBindingAccessorRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsShareAccessorBindingAccessorRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemote)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorRemoteArgs) ToGetIsShareAccessorBindingAccessorRemoteOutput() GetIsShareAccessorBindingAccessorRemoteOutput { + return i.ToGetIsShareAccessorBindingAccessorRemoteOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorRemoteArgs) ToGetIsShareAccessorBindingAccessorRemoteOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorRemoteOutput) +} + +// GetIsShareAccessorBindingAccessorRemoteArrayInput is an input type that accepts GetIsShareAccessorBindingAccessorRemoteArray and GetIsShareAccessorBindingAccessorRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorRemoteArrayInput` via: +// +// GetIsShareAccessorBindingAccessorRemoteArray{ GetIsShareAccessorBindingAccessorRemoteArgs{...} } +type GetIsShareAccessorBindingAccessorRemoteArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorRemoteArrayOutput() GetIsShareAccessorBindingAccessorRemoteArrayOutput + ToGetIsShareAccessorBindingAccessorRemoteArrayOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorRemoteArrayOutput +} + +type GetIsShareAccessorBindingAccessorRemoteArray []GetIsShareAccessorBindingAccessorRemoteInput + +func (GetIsShareAccessorBindingAccessorRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessorRemote)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorRemoteArray) ToGetIsShareAccessorBindingAccessorRemoteArrayOutput() GetIsShareAccessorBindingAccessorRemoteArrayOutput { + return i.ToGetIsShareAccessorBindingAccessorRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorRemoteArray) ToGetIsShareAccessorBindingAccessorRemoteArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorRemoteArrayOutput) +} + +type GetIsShareAccessorBindingAccessorRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemote)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorRemoteOutput) ToGetIsShareAccessorBindingAccessorRemoteOutput() GetIsShareAccessorBindingAccessorRemoteOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteOutput) ToGetIsShareAccessorBindingAccessorRemoteOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsShareAccessorBindingAccessorRemoteOutput) Accounts() GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessorRemote) []GetIsShareAccessorBindingAccessorRemoteAccount { + return v.Accounts + }).(GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsShareAccessorBindingAccessorRemoteOutput) Regions() GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessorRemote) []GetIsShareAccessorBindingAccessorRemoteRegion { + return v.Regions + }).(GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput) +} + +type GetIsShareAccessorBindingAccessorRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessorRemote)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorRemoteArrayOutput) ToGetIsShareAccessorBindingAccessorRemoteArrayOutput() GetIsShareAccessorBindingAccessorRemoteArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteArrayOutput) ToGetIsShareAccessorBindingAccessorRemoteArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingAccessorRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingAccessorRemote { + return vs[0].([]GetIsShareAccessorBindingAccessorRemote)[vs[1].(int)] + }).(GetIsShareAccessorBindingAccessorRemoteOutput) +} + +type GetIsShareAccessorBindingAccessorRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareAccessorBindingAccessorRemoteAccountInput is an input type that accepts GetIsShareAccessorBindingAccessorRemoteAccountArgs and GetIsShareAccessorBindingAccessorRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorRemoteAccountInput` via: +// +// GetIsShareAccessorBindingAccessorRemoteAccountArgs{...} +type GetIsShareAccessorBindingAccessorRemoteAccountInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorRemoteAccountOutput() GetIsShareAccessorBindingAccessorRemoteAccountOutput + ToGetIsShareAccessorBindingAccessorRemoteAccountOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorRemoteAccountOutput +} + +type GetIsShareAccessorBindingAccessorRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareAccessorBindingAccessorRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteAccount)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorRemoteAccountArgs) ToGetIsShareAccessorBindingAccessorRemoteAccountOutput() GetIsShareAccessorBindingAccessorRemoteAccountOutput { + return i.ToGetIsShareAccessorBindingAccessorRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorRemoteAccountArgs) ToGetIsShareAccessorBindingAccessorRemoteAccountOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorRemoteAccountOutput) +} + +// GetIsShareAccessorBindingAccessorRemoteAccountArrayInput is an input type that accepts GetIsShareAccessorBindingAccessorRemoteAccountArray and GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorRemoteAccountArrayInput` via: +// +// GetIsShareAccessorBindingAccessorRemoteAccountArray{ GetIsShareAccessorBindingAccessorRemoteAccountArgs{...} } +type GetIsShareAccessorBindingAccessorRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorRemoteAccountArrayOutput() GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput + ToGetIsShareAccessorBindingAccessorRemoteAccountArrayOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput +} + +type GetIsShareAccessorBindingAccessorRemoteAccountArray []GetIsShareAccessorBindingAccessorRemoteAccountInput + +func (GetIsShareAccessorBindingAccessorRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessorRemoteAccount)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorRemoteAccountArray) ToGetIsShareAccessorBindingAccessorRemoteAccountArrayOutput() GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput { + return i.ToGetIsShareAccessorBindingAccessorRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorRemoteAccountArray) ToGetIsShareAccessorBindingAccessorRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput) +} + +type GetIsShareAccessorBindingAccessorRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteAccount)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorRemoteAccountOutput) ToGetIsShareAccessorBindingAccessorRemoteAccountOutput() GetIsShareAccessorBindingAccessorRemoteAccountOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteAccountOutput) ToGetIsShareAccessorBindingAccessorRemoteAccountOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsShareAccessorBindingAccessorRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessorRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareAccessorBindingAccessorRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessorRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessorRemoteAccount)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput) ToGetIsShareAccessorBindingAccessorRemoteAccountArrayOutput() GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput) ToGetIsShareAccessorBindingAccessorRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingAccessorRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingAccessorRemoteAccount { + return vs[0].([]GetIsShareAccessorBindingAccessorRemoteAccount)[vs[1].(int)] + }).(GetIsShareAccessorBindingAccessorRemoteAccountOutput) +} + +type GetIsShareAccessorBindingAccessorRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsShareAccessorBindingAccessorRemoteRegionInput is an input type that accepts GetIsShareAccessorBindingAccessorRemoteRegionArgs and GetIsShareAccessorBindingAccessorRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorRemoteRegionInput` via: +// +// GetIsShareAccessorBindingAccessorRemoteRegionArgs{...} +type GetIsShareAccessorBindingAccessorRemoteRegionInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorRemoteRegionOutput() GetIsShareAccessorBindingAccessorRemoteRegionOutput + ToGetIsShareAccessorBindingAccessorRemoteRegionOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorRemoteRegionOutput +} + +type GetIsShareAccessorBindingAccessorRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareAccessorBindingAccessorRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorRemoteRegionArgs) ToGetIsShareAccessorBindingAccessorRemoteRegionOutput() GetIsShareAccessorBindingAccessorRemoteRegionOutput { + return i.ToGetIsShareAccessorBindingAccessorRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorRemoteRegionArgs) ToGetIsShareAccessorBindingAccessorRemoteRegionOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorRemoteRegionOutput) +} + +// GetIsShareAccessorBindingAccessorRemoteRegionArrayInput is an input type that accepts GetIsShareAccessorBindingAccessorRemoteRegionArray and GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingAccessorRemoteRegionArrayInput` via: +// +// GetIsShareAccessorBindingAccessorRemoteRegionArray{ GetIsShareAccessorBindingAccessorRemoteRegionArgs{...} } +type GetIsShareAccessorBindingAccessorRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingAccessorRemoteRegionArrayOutput() GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput + ToGetIsShareAccessorBindingAccessorRemoteRegionArrayOutputWithContext(context.Context) GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput +} + +type GetIsShareAccessorBindingAccessorRemoteRegionArray []GetIsShareAccessorBindingAccessorRemoteRegionInput + +func (GetIsShareAccessorBindingAccessorRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessorRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingAccessorRemoteRegionArray) ToGetIsShareAccessorBindingAccessorRemoteRegionArrayOutput() GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput { + return i.ToGetIsShareAccessorBindingAccessorRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingAccessorRemoteRegionArray) ToGetIsShareAccessorBindingAccessorRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput) +} + +type GetIsShareAccessorBindingAccessorRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorRemoteRegionOutput) ToGetIsShareAccessorBindingAccessorRemoteRegionOutput() GetIsShareAccessorBindingAccessorRemoteRegionOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteRegionOutput) ToGetIsShareAccessorBindingAccessorRemoteRegionOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsShareAccessorBindingAccessorRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessorRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsShareAccessorBindingAccessorRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingAccessorRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingAccessorRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput) ToGetIsShareAccessorBindingAccessorRemoteRegionArrayOutput() GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput) ToGetIsShareAccessorBindingAccessorRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingAccessorRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingAccessorRemoteRegion { + return vs[0].([]GetIsShareAccessorBindingAccessorRemoteRegion)[vs[1].(int)] + }).(GetIsShareAccessorBindingAccessorRemoteRegionOutput) +} + +type GetIsShareAccessorBindingsAccessorBinding struct { + // The accessor for this share accessor binding.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Accessors []GetIsShareAccessorBindingsAccessorBindingAccessor `pulumi:"accessors"` + // The date and time that the share accessor binding was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this share accessor binding. + Href string `pulumi:"href"` + // The unique identifier for this share accessor binding. + Id string `pulumi:"id"` + // The lifecycle state of the file share accessor binding. + LifecycleState string `pulumi:"lifecycleState"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareAccessorBindingsAccessorBindingInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingArgs and GetIsShareAccessorBindingsAccessorBindingOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingArgs{...} +type GetIsShareAccessorBindingsAccessorBindingInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingOutput() GetIsShareAccessorBindingsAccessorBindingOutput + ToGetIsShareAccessorBindingsAccessorBindingOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingOutput +} + +type GetIsShareAccessorBindingsAccessorBindingArgs struct { + // The accessor for this share accessor binding.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Accessors GetIsShareAccessorBindingsAccessorBindingAccessorArrayInput `pulumi:"accessors"` + // The date and time that the share accessor binding was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this share accessor binding. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share accessor binding. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the file share accessor binding. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareAccessorBindingsAccessorBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBinding)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingArgs) ToGetIsShareAccessorBindingsAccessorBindingOutput() GetIsShareAccessorBindingsAccessorBindingOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingArgs) ToGetIsShareAccessorBindingsAccessorBindingOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingOutput) +} + +// GetIsShareAccessorBindingsAccessorBindingArrayInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingArray and GetIsShareAccessorBindingsAccessorBindingArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingArrayInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingArray{ GetIsShareAccessorBindingsAccessorBindingArgs{...} } +type GetIsShareAccessorBindingsAccessorBindingArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingArrayOutput() GetIsShareAccessorBindingsAccessorBindingArrayOutput + ToGetIsShareAccessorBindingsAccessorBindingArrayOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingArrayOutput +} + +type GetIsShareAccessorBindingsAccessorBindingArray []GetIsShareAccessorBindingsAccessorBindingInput + +func (GetIsShareAccessorBindingsAccessorBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBinding)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingArray) ToGetIsShareAccessorBindingsAccessorBindingArrayOutput() GetIsShareAccessorBindingsAccessorBindingArrayOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingArray) ToGetIsShareAccessorBindingsAccessorBindingArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingArrayOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBinding)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingOutput) ToGetIsShareAccessorBindingsAccessorBindingOutput() GetIsShareAccessorBindingsAccessorBindingOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingOutput) ToGetIsShareAccessorBindingsAccessorBindingOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingOutput { + return o +} + +// The accessor for this share accessor binding.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsShareAccessorBindingsAccessorBindingOutput) Accessors() GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBinding) []GetIsShareAccessorBindingsAccessorBindingAccessor { + return v.Accessors + }).(GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput) +} + +// The date and time that the share accessor binding was created. +func (o GetIsShareAccessorBindingsAccessorBindingOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBinding) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this share accessor binding. +func (o GetIsShareAccessorBindingsAccessorBindingOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBinding) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share accessor binding. +func (o GetIsShareAccessorBindingsAccessorBindingOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBinding) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of the file share accessor binding. +func (o GetIsShareAccessorBindingsAccessorBindingOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBinding) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareAccessorBindingsAccessorBindingOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBinding) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBinding)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingArrayOutput() GetIsShareAccessorBindingsAccessorBindingArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingsAccessorBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingsAccessorBinding { + return vs[0].([]GetIsShareAccessorBindingsAccessorBinding)[vs[1].(int)] + }).(GetIsShareAccessorBindingsAccessorBindingOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessor struct { + // The CRN for this file share. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsShareAccessorBindingsAccessorBindingAccessorDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsShareAccessorBindingsAccessorBindingAccessorRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorArgs and GetIsShareAccessorBindingsAccessorBindingAccessorOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorArgs{...} +type GetIsShareAccessorBindingsAccessorBindingAccessorInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorOutput() GetIsShareAccessorBindingsAccessorBindingAccessorOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorArgs struct { + // The CRN for this file share. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareAccessorBindingsAccessorBindingAccessorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessor)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorOutput() GetIsShareAccessorBindingsAccessorBindingAccessorOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorOutput) +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorArrayInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorArray and GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorArrayInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorArray{ GetIsShareAccessorBindingsAccessorBindingAccessorArgs{...} } +type GetIsShareAccessorBindingsAccessorBindingAccessorArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorArrayOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorArray []GetIsShareAccessorBindingsAccessorBindingAccessorInput + +func (GetIsShareAccessorBindingsAccessorBindingAccessorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessor)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessor)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorOutput() GetIsShareAccessorBindingsAccessorBindingAccessorOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorOutput { + return o +} + +// The CRN for this file share. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessor) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) Deleteds() GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessor) []GetIsShareAccessorBindingsAccessorBindingAccessorDeleted { + return v.Deleteds + }).(GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput) +} + +// The URL for this file share. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessor) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessor) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this share. The name is unique across all shares in the region. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessor) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) Remotes() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessor) []GetIsShareAccessorBindingsAccessorBindingAccessorRemote { + return v.Remotes + }).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput) +} + +// The resource type. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessor) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessor)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingsAccessorBindingAccessorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingsAccessorBindingAccessor { + return vs[0].([]GetIsShareAccessorBindingsAccessorBindingAccessor)[vs[1].(int)] + }).(GetIsShareAccessorBindingsAccessorBindingAccessorOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorDeletedInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArgs and GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorDeletedInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArgs{...} +type GetIsShareAccessorBindingsAccessorBindingAccessorDeletedInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput() GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorDeleted)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput() GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput) +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArray and GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArray{ GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArgs{...} } +type GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArray []GetIsShareAccessorBindingsAccessorBindingAccessorDeletedInput + +func (GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessorDeleted)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorDeleted)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput() GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessorDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessorDeleted)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingsAccessorBindingAccessorDeleted { + return vs[0].([]GetIsShareAccessorBindingsAccessorBindingAccessorDeleted)[vs[1].(int)] + }).(GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion `pulumi:"regions"` +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArgs and GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorRemoteInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArgs{...} +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemote)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput) +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArray and GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArray{ GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArgs{...} } +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArray []GetIsShareAccessorBindingsAccessorBindingAccessorRemoteInput + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessorRemote)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemote)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput) Accounts() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessorRemote) []GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount { + return v.Accounts + }).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput) Regions() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessorRemote) []GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion { + return v.Regions + }).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessorRemote)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingsAccessorBindingAccessorRemote { + return vs[0].([]GetIsShareAccessorBindingsAccessorBindingAccessorRemote)[vs[1].(int)] + }).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArgs and GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArgs{...} +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput) +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArray and GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArray{ GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArgs{...} } +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArray []GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountInput + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount { + return vs[0].([]GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccount)[vs[1].(int)] + }).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArgs and GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArgs{...} +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArgs) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput) +} + +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayInput is an input type that accepts GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArray and GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayInput` via: +// +// GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArray{ GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArgs{...} } +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput + ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutputWithContext(context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArray []GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionInput + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput { + return i.ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArray) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput() GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput) ToGetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion { + return vs[0].([]GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegion)[vs[1].(int)] + }).(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput) +} + +type GetIsShareLatestJob struct { + // The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. + Status string `pulumi:"status"` + // The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons []GetIsShareLatestJobStatusReason `pulumi:"statusReasons"` + // The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job. + Type string `pulumi:"type"` +} + +// GetIsShareLatestJobInput is an input type that accepts GetIsShareLatestJobArgs and GetIsShareLatestJobOutput values. +// You can construct a concrete instance of `GetIsShareLatestJobInput` via: +// +// GetIsShareLatestJobArgs{...} +type GetIsShareLatestJobInput interface { + pulumi.Input + + ToGetIsShareLatestJobOutput() GetIsShareLatestJobOutput + ToGetIsShareLatestJobOutputWithContext(context.Context) GetIsShareLatestJobOutput +} + +type GetIsShareLatestJobArgs struct { + // The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons GetIsShareLatestJobStatusReasonArrayInput `pulumi:"statusReasons"` + // The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsShareLatestJobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareLatestJob)(nil)).Elem() +} + +func (i GetIsShareLatestJobArgs) ToGetIsShareLatestJobOutput() GetIsShareLatestJobOutput { + return i.ToGetIsShareLatestJobOutputWithContext(context.Background()) +} + +func (i GetIsShareLatestJobArgs) ToGetIsShareLatestJobOutputWithContext(ctx context.Context) GetIsShareLatestJobOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareLatestJobOutput) +} + +// GetIsShareLatestJobArrayInput is an input type that accepts GetIsShareLatestJobArray and GetIsShareLatestJobArrayOutput values. +// You can construct a concrete instance of `GetIsShareLatestJobArrayInput` via: +// +// GetIsShareLatestJobArray{ GetIsShareLatestJobArgs{...} } +type GetIsShareLatestJobArrayInput interface { + pulumi.Input + + ToGetIsShareLatestJobArrayOutput() GetIsShareLatestJobArrayOutput + ToGetIsShareLatestJobArrayOutputWithContext(context.Context) GetIsShareLatestJobArrayOutput +} + +type GetIsShareLatestJobArray []GetIsShareLatestJobInput + +func (GetIsShareLatestJobArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareLatestJob)(nil)).Elem() +} + +func (i GetIsShareLatestJobArray) ToGetIsShareLatestJobArrayOutput() GetIsShareLatestJobArrayOutput { + return i.ToGetIsShareLatestJobArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareLatestJobArray) ToGetIsShareLatestJobArrayOutputWithContext(ctx context.Context) GetIsShareLatestJobArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareLatestJobArrayOutput) +} + +type GetIsShareLatestJobOutput struct{ *pulumi.OutputState } + +func (GetIsShareLatestJobOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareLatestJob)(nil)).Elem() +} + +func (o GetIsShareLatestJobOutput) ToGetIsShareLatestJobOutput() GetIsShareLatestJobOutput { + return o +} + +func (o GetIsShareLatestJobOutput) ToGetIsShareLatestJobOutputWithContext(ctx context.Context) GetIsShareLatestJobOutput { + return o +} + +// The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. +func (o GetIsShareLatestJobOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareLatestJob) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o GetIsShareLatestJobOutput) StatusReasons() GetIsShareLatestJobStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsShareLatestJob) []GetIsShareLatestJobStatusReason { return v.StatusReasons }).(GetIsShareLatestJobStatusReasonArrayOutput) +} + +// The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job. +func (o GetIsShareLatestJobOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareLatestJob) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsShareLatestJobArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareLatestJobArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareLatestJob)(nil)).Elem() +} + +func (o GetIsShareLatestJobArrayOutput) ToGetIsShareLatestJobArrayOutput() GetIsShareLatestJobArrayOutput { + return o +} + +func (o GetIsShareLatestJobArrayOutput) ToGetIsShareLatestJobArrayOutputWithContext(ctx context.Context) GetIsShareLatestJobArrayOutput { + return o +} + +func (o GetIsShareLatestJobArrayOutput) Index(i pulumi.IntInput) GetIsShareLatestJobOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareLatestJob { + return vs[0].([]GetIsShareLatestJob)[vs[1].(int)] + }).(GetIsShareLatestJobOutput) +} + +type GetIsShareLatestJobStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareLatestJobStatusReasonInput is an input type that accepts GetIsShareLatestJobStatusReasonArgs and GetIsShareLatestJobStatusReasonOutput values. +// You can construct a concrete instance of `GetIsShareLatestJobStatusReasonInput` via: +// +// GetIsShareLatestJobStatusReasonArgs{...} +type GetIsShareLatestJobStatusReasonInput interface { + pulumi.Input + + ToGetIsShareLatestJobStatusReasonOutput() GetIsShareLatestJobStatusReasonOutput + ToGetIsShareLatestJobStatusReasonOutputWithContext(context.Context) GetIsShareLatestJobStatusReasonOutput +} + +type GetIsShareLatestJobStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareLatestJobStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareLatestJobStatusReason)(nil)).Elem() +} + +func (i GetIsShareLatestJobStatusReasonArgs) ToGetIsShareLatestJobStatusReasonOutput() GetIsShareLatestJobStatusReasonOutput { + return i.ToGetIsShareLatestJobStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsShareLatestJobStatusReasonArgs) ToGetIsShareLatestJobStatusReasonOutputWithContext(ctx context.Context) GetIsShareLatestJobStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareLatestJobStatusReasonOutput) +} + +// GetIsShareLatestJobStatusReasonArrayInput is an input type that accepts GetIsShareLatestJobStatusReasonArray and GetIsShareLatestJobStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsShareLatestJobStatusReasonArrayInput` via: +// +// GetIsShareLatestJobStatusReasonArray{ GetIsShareLatestJobStatusReasonArgs{...} } +type GetIsShareLatestJobStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsShareLatestJobStatusReasonArrayOutput() GetIsShareLatestJobStatusReasonArrayOutput + ToGetIsShareLatestJobStatusReasonArrayOutputWithContext(context.Context) GetIsShareLatestJobStatusReasonArrayOutput +} + +type GetIsShareLatestJobStatusReasonArray []GetIsShareLatestJobStatusReasonInput + +func (GetIsShareLatestJobStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareLatestJobStatusReason)(nil)).Elem() +} + +func (i GetIsShareLatestJobStatusReasonArray) ToGetIsShareLatestJobStatusReasonArrayOutput() GetIsShareLatestJobStatusReasonArrayOutput { + return i.ToGetIsShareLatestJobStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareLatestJobStatusReasonArray) ToGetIsShareLatestJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsShareLatestJobStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareLatestJobStatusReasonArrayOutput) +} + +type GetIsShareLatestJobStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsShareLatestJobStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareLatestJobStatusReason)(nil)).Elem() +} + +func (o GetIsShareLatestJobStatusReasonOutput) ToGetIsShareLatestJobStatusReasonOutput() GetIsShareLatestJobStatusReasonOutput { + return o +} + +func (o GetIsShareLatestJobStatusReasonOutput) ToGetIsShareLatestJobStatusReasonOutputWithContext(ctx context.Context) GetIsShareLatestJobStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsShareLatestJobStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareLatestJobStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsShareLatestJobStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareLatestJobStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsShareLatestJobStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareLatestJobStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareLatestJobStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareLatestJobStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareLatestJobStatusReason)(nil)).Elem() +} + +func (o GetIsShareLatestJobStatusReasonArrayOutput) ToGetIsShareLatestJobStatusReasonArrayOutput() GetIsShareLatestJobStatusReasonArrayOutput { + return o +} + +func (o GetIsShareLatestJobStatusReasonArrayOutput) ToGetIsShareLatestJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsShareLatestJobStatusReasonArrayOutput { + return o +} + +func (o GetIsShareLatestJobStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsShareLatestJobStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareLatestJobStatusReason { + return vs[0].([]GetIsShareLatestJobStatusReason)[vs[1].(int)] + }).(GetIsShareLatestJobStatusReasonOutput) +} + +type GetIsShareLatestSync struct { + // The completed date and time of last synchronization between the replica share and its source. + CompletedAt string `pulumi:"completedAt"` + // The data transferred (in bytes) in the last synchronization between the replica and its source. + DataTransferred int `pulumi:"dataTransferred"` + // The start date and time of last synchronization between the replica share and its source. + StartedAt string `pulumi:"startedAt"` +} + +// GetIsShareLatestSyncInput is an input type that accepts GetIsShareLatestSyncArgs and GetIsShareLatestSyncOutput values. +// You can construct a concrete instance of `GetIsShareLatestSyncInput` via: +// +// GetIsShareLatestSyncArgs{...} +type GetIsShareLatestSyncInput interface { + pulumi.Input + + ToGetIsShareLatestSyncOutput() GetIsShareLatestSyncOutput + ToGetIsShareLatestSyncOutputWithContext(context.Context) GetIsShareLatestSyncOutput +} + +type GetIsShareLatestSyncArgs struct { + // The completed date and time of last synchronization between the replica share and its source. + CompletedAt pulumi.StringInput `pulumi:"completedAt"` + // The data transferred (in bytes) in the last synchronization between the replica and its source. + DataTransferred pulumi.IntInput `pulumi:"dataTransferred"` + // The start date and time of last synchronization between the replica share and its source. + StartedAt pulumi.StringInput `pulumi:"startedAt"` +} + +func (GetIsShareLatestSyncArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareLatestSync)(nil)).Elem() +} + +func (i GetIsShareLatestSyncArgs) ToGetIsShareLatestSyncOutput() GetIsShareLatestSyncOutput { + return i.ToGetIsShareLatestSyncOutputWithContext(context.Background()) +} + +func (i GetIsShareLatestSyncArgs) ToGetIsShareLatestSyncOutputWithContext(ctx context.Context) GetIsShareLatestSyncOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareLatestSyncOutput) +} + +// GetIsShareLatestSyncArrayInput is an input type that accepts GetIsShareLatestSyncArray and GetIsShareLatestSyncArrayOutput values. +// You can construct a concrete instance of `GetIsShareLatestSyncArrayInput` via: +// +// GetIsShareLatestSyncArray{ GetIsShareLatestSyncArgs{...} } +type GetIsShareLatestSyncArrayInput interface { + pulumi.Input + + ToGetIsShareLatestSyncArrayOutput() GetIsShareLatestSyncArrayOutput + ToGetIsShareLatestSyncArrayOutputWithContext(context.Context) GetIsShareLatestSyncArrayOutput +} + +type GetIsShareLatestSyncArray []GetIsShareLatestSyncInput + +func (GetIsShareLatestSyncArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareLatestSync)(nil)).Elem() +} + +func (i GetIsShareLatestSyncArray) ToGetIsShareLatestSyncArrayOutput() GetIsShareLatestSyncArrayOutput { + return i.ToGetIsShareLatestSyncArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareLatestSyncArray) ToGetIsShareLatestSyncArrayOutputWithContext(ctx context.Context) GetIsShareLatestSyncArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareLatestSyncArrayOutput) +} + +type GetIsShareLatestSyncOutput struct{ *pulumi.OutputState } + +func (GetIsShareLatestSyncOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareLatestSync)(nil)).Elem() +} + +func (o GetIsShareLatestSyncOutput) ToGetIsShareLatestSyncOutput() GetIsShareLatestSyncOutput { + return o +} + +func (o GetIsShareLatestSyncOutput) ToGetIsShareLatestSyncOutputWithContext(ctx context.Context) GetIsShareLatestSyncOutput { + return o +} + +// The completed date and time of last synchronization between the replica share and its source. +func (o GetIsShareLatestSyncOutput) CompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareLatestSync) string { return v.CompletedAt }).(pulumi.StringOutput) +} + +// The data transferred (in bytes) in the last synchronization between the replica and its source. +func (o GetIsShareLatestSyncOutput) DataTransferred() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareLatestSync) int { return v.DataTransferred }).(pulumi.IntOutput) +} + +// The start date and time of last synchronization between the replica share and its source. +func (o GetIsShareLatestSyncOutput) StartedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareLatestSync) string { return v.StartedAt }).(pulumi.StringOutput) +} + +type GetIsShareLatestSyncArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareLatestSyncArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareLatestSync)(nil)).Elem() +} + +func (o GetIsShareLatestSyncArrayOutput) ToGetIsShareLatestSyncArrayOutput() GetIsShareLatestSyncArrayOutput { + return o +} + +func (o GetIsShareLatestSyncArrayOutput) ToGetIsShareLatestSyncArrayOutputWithContext(ctx context.Context) GetIsShareLatestSyncArrayOutput { + return o +} + +func (o GetIsShareLatestSyncArrayOutput) Index(i pulumi.IntInput) GetIsShareLatestSyncOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareLatestSync { + return vs[0].([]GetIsShareLatestSync)[vs[1].(int)] + }).(GetIsShareLatestSyncOutput) +} + +type GetIsShareMountTargetType struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetDeleted `pulumi:"deleteds"` + // The URL for this share target. + Href string `pulumi:"href"` + // The unique identifier for this share target. + Id string `pulumi:"id"` + // The user-defined name for this share target. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetTypeInput is an input type that accepts GetIsShareMountTargetTypeArgs and GetIsShareMountTargetTypeOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetTypeInput` via: +// +// GetIsShareMountTargetTypeArgs{...} +type GetIsShareMountTargetTypeInput interface { + pulumi.Input + + ToGetIsShareMountTargetTypeOutput() GetIsShareMountTargetTypeOutput + ToGetIsShareMountTargetTypeOutputWithContext(context.Context) GetIsShareMountTargetTypeOutput +} + +type GetIsShareMountTargetTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share target. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share target. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this share target. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetType)(nil)).Elem() +} + +func (i GetIsShareMountTargetTypeArgs) ToGetIsShareMountTargetTypeOutput() GetIsShareMountTargetTypeOutput { + return i.ToGetIsShareMountTargetTypeOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetTypeArgs) ToGetIsShareMountTargetTypeOutputWithContext(ctx context.Context) GetIsShareMountTargetTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetTypeOutput) +} + +// GetIsShareMountTargetTypeArrayInput is an input type that accepts GetIsShareMountTargetTypeArray and GetIsShareMountTargetTypeArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetTypeArrayInput` via: +// +// GetIsShareMountTargetTypeArray{ GetIsShareMountTargetTypeArgs{...} } +type GetIsShareMountTargetTypeArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetTypeArrayOutput() GetIsShareMountTargetTypeArrayOutput + ToGetIsShareMountTargetTypeArrayOutputWithContext(context.Context) GetIsShareMountTargetTypeArrayOutput +} + +type GetIsShareMountTargetTypeArray []GetIsShareMountTargetTypeInput + +func (GetIsShareMountTargetTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetType)(nil)).Elem() +} + +func (i GetIsShareMountTargetTypeArray) ToGetIsShareMountTargetTypeArrayOutput() GetIsShareMountTargetTypeArrayOutput { + return i.ToGetIsShareMountTargetTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetTypeArray) ToGetIsShareMountTargetTypeArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetTypeArrayOutput) +} + +type GetIsShareMountTargetTypeOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetType)(nil)).Elem() +} + +func (o GetIsShareMountTargetTypeOutput) ToGetIsShareMountTargetTypeOutput() GetIsShareMountTargetTypeOutput { + return o +} + +func (o GetIsShareMountTargetTypeOutput) ToGetIsShareMountTargetTypeOutputWithContext(ctx context.Context) GetIsShareMountTargetTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetTypeOutput) Deleteds() GetIsShareMountTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetType) []GetIsShareMountTargetDeleted { return v.Deleteds }).(GetIsShareMountTargetDeletedArrayOutput) +} + +// The URL for this share target. +func (o GetIsShareMountTargetTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share target. +func (o GetIsShareMountTargetTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetType) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this share target. +func (o GetIsShareMountTargetTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetType) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsShareMountTargetTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetType)(nil)).Elem() +} + +func (o GetIsShareMountTargetTypeArrayOutput) ToGetIsShareMountTargetTypeArrayOutput() GetIsShareMountTargetTypeArrayOutput { + return o +} + +func (o GetIsShareMountTargetTypeArrayOutput) ToGetIsShareMountTargetTypeArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetTypeArrayOutput { + return o +} + +func (o GetIsShareMountTargetTypeArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetType { + return vs[0].([]GetIsShareMountTargetType)[vs[1].(int)] + }).(GetIsShareMountTargetTypeOutput) +} + +type GetIsShareMountTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetDeletedInput is an input type that accepts GetIsShareMountTargetDeletedArgs and GetIsShareMountTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetDeletedInput` via: +// +// GetIsShareMountTargetDeletedArgs{...} +type GetIsShareMountTargetDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetDeletedOutput() GetIsShareMountTargetDeletedOutput + ToGetIsShareMountTargetDeletedOutputWithContext(context.Context) GetIsShareMountTargetDeletedOutput +} + +type GetIsShareMountTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetDeletedArgs) ToGetIsShareMountTargetDeletedOutput() GetIsShareMountTargetDeletedOutput { + return i.ToGetIsShareMountTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetDeletedArgs) ToGetIsShareMountTargetDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetDeletedOutput) +} + +// GetIsShareMountTargetDeletedArrayInput is an input type that accepts GetIsShareMountTargetDeletedArray and GetIsShareMountTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetDeletedArrayInput` via: +// +// GetIsShareMountTargetDeletedArray{ GetIsShareMountTargetDeletedArgs{...} } +type GetIsShareMountTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetDeletedArrayOutput() GetIsShareMountTargetDeletedArrayOutput + ToGetIsShareMountTargetDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetDeletedArrayOutput +} + +type GetIsShareMountTargetDeletedArray []GetIsShareMountTargetDeletedInput + +func (GetIsShareMountTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetDeletedArray) ToGetIsShareMountTargetDeletedArrayOutput() GetIsShareMountTargetDeletedArrayOutput { + return i.ToGetIsShareMountTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetDeletedArray) ToGetIsShareMountTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetDeletedArrayOutput) +} + +type GetIsShareMountTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetDeletedOutput) ToGetIsShareMountTargetDeletedOutput() GetIsShareMountTargetDeletedOutput { + return o +} + +func (o GetIsShareMountTargetDeletedOutput) ToGetIsShareMountTargetDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetDeletedArrayOutput) ToGetIsShareMountTargetDeletedArrayOutput() GetIsShareMountTargetDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetDeletedArrayOutput) ToGetIsShareMountTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetDeleted { + return vs[0].([]GetIsShareMountTargetDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetDeletedOutput) +} + +type GetIsShareMountTargetPrimaryIp struct { + // The IP address.. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The user-defined name for this reserved IP. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetPrimaryIpInput is an input type that accepts GetIsShareMountTargetPrimaryIpArgs and GetIsShareMountTargetPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetPrimaryIpInput` via: +// +// GetIsShareMountTargetPrimaryIpArgs{...} +type GetIsShareMountTargetPrimaryIpInput interface { + pulumi.Input + + ToGetIsShareMountTargetPrimaryIpOutput() GetIsShareMountTargetPrimaryIpOutput + ToGetIsShareMountTargetPrimaryIpOutputWithContext(context.Context) GetIsShareMountTargetPrimaryIpOutput +} + +type GetIsShareMountTargetPrimaryIpArgs struct { + // The IP address.. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this reserved IP. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetPrimaryIp)(nil)).Elem() +} + +func (i GetIsShareMountTargetPrimaryIpArgs) ToGetIsShareMountTargetPrimaryIpOutput() GetIsShareMountTargetPrimaryIpOutput { + return i.ToGetIsShareMountTargetPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetPrimaryIpArgs) ToGetIsShareMountTargetPrimaryIpOutputWithContext(ctx context.Context) GetIsShareMountTargetPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetPrimaryIpOutput) +} + +// GetIsShareMountTargetPrimaryIpArrayInput is an input type that accepts GetIsShareMountTargetPrimaryIpArray and GetIsShareMountTargetPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetPrimaryIpArrayInput` via: +// +// GetIsShareMountTargetPrimaryIpArray{ GetIsShareMountTargetPrimaryIpArgs{...} } +type GetIsShareMountTargetPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetPrimaryIpArrayOutput() GetIsShareMountTargetPrimaryIpArrayOutput + ToGetIsShareMountTargetPrimaryIpArrayOutputWithContext(context.Context) GetIsShareMountTargetPrimaryIpArrayOutput +} + +type GetIsShareMountTargetPrimaryIpArray []GetIsShareMountTargetPrimaryIpInput + +func (GetIsShareMountTargetPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetPrimaryIp)(nil)).Elem() +} + +func (i GetIsShareMountTargetPrimaryIpArray) ToGetIsShareMountTargetPrimaryIpArrayOutput() GetIsShareMountTargetPrimaryIpArrayOutput { + return i.ToGetIsShareMountTargetPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetPrimaryIpArray) ToGetIsShareMountTargetPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetPrimaryIpArrayOutput) +} + +type GetIsShareMountTargetPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetPrimaryIp)(nil)).Elem() +} + +func (o GetIsShareMountTargetPrimaryIpOutput) ToGetIsShareMountTargetPrimaryIpOutput() GetIsShareMountTargetPrimaryIpOutput { + return o +} + +func (o GetIsShareMountTargetPrimaryIpOutput) ToGetIsShareMountTargetPrimaryIpOutputWithContext(ctx context.Context) GetIsShareMountTargetPrimaryIpOutput { + return o +} + +// The IP address.. +func (o GetIsShareMountTargetPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetPrimaryIpOutput) Deleteds() GetIsShareMountTargetPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetPrimaryIp) []GetIsShareMountTargetPrimaryIpDeleted { return v.Deleteds }).(GetIsShareMountTargetPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsShareMountTargetPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsShareMountTargetPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. +func (o GetIsShareMountTargetPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareMountTargetPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetPrimaryIp)(nil)).Elem() +} + +func (o GetIsShareMountTargetPrimaryIpArrayOutput) ToGetIsShareMountTargetPrimaryIpArrayOutput() GetIsShareMountTargetPrimaryIpArrayOutput { + return o +} + +func (o GetIsShareMountTargetPrimaryIpArrayOutput) ToGetIsShareMountTargetPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetPrimaryIpArrayOutput { + return o +} + +func (o GetIsShareMountTargetPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetPrimaryIp { + return vs[0].([]GetIsShareMountTargetPrimaryIp)[vs[1].(int)] + }).(GetIsShareMountTargetPrimaryIpOutput) +} + +type GetIsShareMountTargetPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetPrimaryIpDeletedInput is an input type that accepts GetIsShareMountTargetPrimaryIpDeletedArgs and GetIsShareMountTargetPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetPrimaryIpDeletedInput` via: +// +// GetIsShareMountTargetPrimaryIpDeletedArgs{...} +type GetIsShareMountTargetPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetPrimaryIpDeletedOutput() GetIsShareMountTargetPrimaryIpDeletedOutput + ToGetIsShareMountTargetPrimaryIpDeletedOutputWithContext(context.Context) GetIsShareMountTargetPrimaryIpDeletedOutput +} + +type GetIsShareMountTargetPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetPrimaryIpDeletedArgs) ToGetIsShareMountTargetPrimaryIpDeletedOutput() GetIsShareMountTargetPrimaryIpDeletedOutput { + return i.ToGetIsShareMountTargetPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetPrimaryIpDeletedArgs) ToGetIsShareMountTargetPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetPrimaryIpDeletedOutput) +} + +// GetIsShareMountTargetPrimaryIpDeletedArrayInput is an input type that accepts GetIsShareMountTargetPrimaryIpDeletedArray and GetIsShareMountTargetPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetPrimaryIpDeletedArrayInput` via: +// +// GetIsShareMountTargetPrimaryIpDeletedArray{ GetIsShareMountTargetPrimaryIpDeletedArgs{...} } +type GetIsShareMountTargetPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetPrimaryIpDeletedArrayOutput() GetIsShareMountTargetPrimaryIpDeletedArrayOutput + ToGetIsShareMountTargetPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetPrimaryIpDeletedArrayOutput +} + +type GetIsShareMountTargetPrimaryIpDeletedArray []GetIsShareMountTargetPrimaryIpDeletedInput + +func (GetIsShareMountTargetPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetPrimaryIpDeletedArray) ToGetIsShareMountTargetPrimaryIpDeletedArrayOutput() GetIsShareMountTargetPrimaryIpDeletedArrayOutput { + return i.ToGetIsShareMountTargetPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetPrimaryIpDeletedArray) ToGetIsShareMountTargetPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetPrimaryIpDeletedArrayOutput) +} + +type GetIsShareMountTargetPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetPrimaryIpDeletedOutput) ToGetIsShareMountTargetPrimaryIpDeletedOutput() GetIsShareMountTargetPrimaryIpDeletedOutput { + return o +} + +func (o GetIsShareMountTargetPrimaryIpDeletedOutput) ToGetIsShareMountTargetPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetPrimaryIpDeletedArrayOutput) ToGetIsShareMountTargetPrimaryIpDeletedArrayOutput() GetIsShareMountTargetPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetPrimaryIpDeletedArrayOutput) ToGetIsShareMountTargetPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetPrimaryIpDeleted { + return vs[0].([]GetIsShareMountTargetPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetPrimaryIpDeletedOutput) +} + +type GetIsShareMountTargetSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetSubnetInput is an input type that accepts GetIsShareMountTargetSubnetArgs and GetIsShareMountTargetSubnetOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetSubnetInput` via: +// +// GetIsShareMountTargetSubnetArgs{...} +type GetIsShareMountTargetSubnetInput interface { + pulumi.Input + + ToGetIsShareMountTargetSubnetOutput() GetIsShareMountTargetSubnetOutput + ToGetIsShareMountTargetSubnetOutputWithContext(context.Context) GetIsShareMountTargetSubnetOutput +} + +type GetIsShareMountTargetSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetSubnet)(nil)).Elem() +} + +func (i GetIsShareMountTargetSubnetArgs) ToGetIsShareMountTargetSubnetOutput() GetIsShareMountTargetSubnetOutput { + return i.ToGetIsShareMountTargetSubnetOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetSubnetArgs) ToGetIsShareMountTargetSubnetOutputWithContext(ctx context.Context) GetIsShareMountTargetSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetSubnetOutput) +} + +// GetIsShareMountTargetSubnetArrayInput is an input type that accepts GetIsShareMountTargetSubnetArray and GetIsShareMountTargetSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetSubnetArrayInput` via: +// +// GetIsShareMountTargetSubnetArray{ GetIsShareMountTargetSubnetArgs{...} } +type GetIsShareMountTargetSubnetArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetSubnetArrayOutput() GetIsShareMountTargetSubnetArrayOutput + ToGetIsShareMountTargetSubnetArrayOutputWithContext(context.Context) GetIsShareMountTargetSubnetArrayOutput +} + +type GetIsShareMountTargetSubnetArray []GetIsShareMountTargetSubnetInput + +func (GetIsShareMountTargetSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetSubnet)(nil)).Elem() +} + +func (i GetIsShareMountTargetSubnetArray) ToGetIsShareMountTargetSubnetArrayOutput() GetIsShareMountTargetSubnetArrayOutput { + return i.ToGetIsShareMountTargetSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetSubnetArray) ToGetIsShareMountTargetSubnetArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetSubnetArrayOutput) +} + +type GetIsShareMountTargetSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetSubnet)(nil)).Elem() +} + +func (o GetIsShareMountTargetSubnetOutput) ToGetIsShareMountTargetSubnetOutput() GetIsShareMountTargetSubnetOutput { + return o +} + +func (o GetIsShareMountTargetSubnetOutput) ToGetIsShareMountTargetSubnetOutputWithContext(ctx context.Context) GetIsShareMountTargetSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsShareMountTargetSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetSubnetOutput) Deleteds() GetIsShareMountTargetSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetSubnet) []GetIsShareMountTargetSubnetDeleted { return v.Deleteds }).(GetIsShareMountTargetSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsShareMountTargetSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsShareMountTargetSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsShareMountTargetSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareMountTargetSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetSubnet)(nil)).Elem() +} + +func (o GetIsShareMountTargetSubnetArrayOutput) ToGetIsShareMountTargetSubnetArrayOutput() GetIsShareMountTargetSubnetArrayOutput { + return o +} + +func (o GetIsShareMountTargetSubnetArrayOutput) ToGetIsShareMountTargetSubnetArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetSubnetArrayOutput { + return o +} + +func (o GetIsShareMountTargetSubnetArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetSubnet { + return vs[0].([]GetIsShareMountTargetSubnet)[vs[1].(int)] + }).(GetIsShareMountTargetSubnetOutput) +} + +type GetIsShareMountTargetSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetSubnetDeletedInput is an input type that accepts GetIsShareMountTargetSubnetDeletedArgs and GetIsShareMountTargetSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetSubnetDeletedInput` via: +// +// GetIsShareMountTargetSubnetDeletedArgs{...} +type GetIsShareMountTargetSubnetDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetSubnetDeletedOutput() GetIsShareMountTargetSubnetDeletedOutput + ToGetIsShareMountTargetSubnetDeletedOutputWithContext(context.Context) GetIsShareMountTargetSubnetDeletedOutput +} + +type GetIsShareMountTargetSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetSubnetDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetSubnetDeletedArgs) ToGetIsShareMountTargetSubnetDeletedOutput() GetIsShareMountTargetSubnetDeletedOutput { + return i.ToGetIsShareMountTargetSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetSubnetDeletedArgs) ToGetIsShareMountTargetSubnetDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetSubnetDeletedOutput) +} + +// GetIsShareMountTargetSubnetDeletedArrayInput is an input type that accepts GetIsShareMountTargetSubnetDeletedArray and GetIsShareMountTargetSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetSubnetDeletedArrayInput` via: +// +// GetIsShareMountTargetSubnetDeletedArray{ GetIsShareMountTargetSubnetDeletedArgs{...} } +type GetIsShareMountTargetSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetSubnetDeletedArrayOutput() GetIsShareMountTargetSubnetDeletedArrayOutput + ToGetIsShareMountTargetSubnetDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetSubnetDeletedArrayOutput +} + +type GetIsShareMountTargetSubnetDeletedArray []GetIsShareMountTargetSubnetDeletedInput + +func (GetIsShareMountTargetSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetSubnetDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetSubnetDeletedArray) ToGetIsShareMountTargetSubnetDeletedArrayOutput() GetIsShareMountTargetSubnetDeletedArrayOutput { + return i.ToGetIsShareMountTargetSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetSubnetDeletedArray) ToGetIsShareMountTargetSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetSubnetDeletedArrayOutput) +} + +type GetIsShareMountTargetSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetSubnetDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetSubnetDeletedOutput) ToGetIsShareMountTargetSubnetDeletedOutput() GetIsShareMountTargetSubnetDeletedOutput { + return o +} + +func (o GetIsShareMountTargetSubnetDeletedOutput) ToGetIsShareMountTargetSubnetDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetSubnetDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetSubnetDeletedArrayOutput) ToGetIsShareMountTargetSubnetDeletedArrayOutput() GetIsShareMountTargetSubnetDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetSubnetDeletedArrayOutput) ToGetIsShareMountTargetSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetSubnetDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetSubnetDeleted { + return vs[0].([]GetIsShareMountTargetSubnetDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetSubnetDeletedOutput) +} + +type GetIsShareMountTargetVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetVirtualNetworkInterfaceDeleted `pulumi:"deleteds"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The unique user-defined name for this virtual network interface. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetVirtualNetworkInterfaceInput is an input type that accepts GetIsShareMountTargetVirtualNetworkInterfaceArgs and GetIsShareMountTargetVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetVirtualNetworkInterfaceInput` via: +// +// GetIsShareMountTargetVirtualNetworkInterfaceArgs{...} +type GetIsShareMountTargetVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsShareMountTargetVirtualNetworkInterfaceOutput() GetIsShareMountTargetVirtualNetworkInterfaceOutput + ToGetIsShareMountTargetVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsShareMountTargetVirtualNetworkInterfaceOutput +} + +type GetIsShareMountTargetVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this virtual network interface. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsShareMountTargetVirtualNetworkInterfaceArgs) ToGetIsShareMountTargetVirtualNetworkInterfaceOutput() GetIsShareMountTargetVirtualNetworkInterfaceOutput { + return i.ToGetIsShareMountTargetVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetVirtualNetworkInterfaceArgs) ToGetIsShareMountTargetVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsShareMountTargetVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetVirtualNetworkInterfaceOutput) +} + +// GetIsShareMountTargetVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsShareMountTargetVirtualNetworkInterfaceArray and GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetVirtualNetworkInterfaceArrayInput` via: +// +// GetIsShareMountTargetVirtualNetworkInterfaceArray{ GetIsShareMountTargetVirtualNetworkInterfaceArgs{...} } +type GetIsShareMountTargetVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetVirtualNetworkInterfaceArrayOutput() GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput + ToGetIsShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput +} + +type GetIsShareMountTargetVirtualNetworkInterfaceArray []GetIsShareMountTargetVirtualNetworkInterfaceInput + +func (GetIsShareMountTargetVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsShareMountTargetVirtualNetworkInterfaceArray) ToGetIsShareMountTargetVirtualNetworkInterfaceArrayOutput() GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetVirtualNetworkInterfaceArray) ToGetIsShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput) +} + +type GetIsShareMountTargetVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceOutput) ToGetIsShareMountTargetVirtualNetworkInterfaceOutput() GetIsShareMountTargetVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceOutput) ToGetIsShareMountTargetVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsShareMountTargetVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsShareMountTargetVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetVirtualNetworkInterfaceOutput) Deleteds() GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetVirtualNetworkInterface) []GetIsShareMountTargetVirtualNetworkInterfaceDeleted { + return v.Deleteds + }).(GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput) +} + +// The URL for this virtual network interface. +func (o GetIsShareMountTargetVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsShareMountTargetVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this virtual network interface. +func (o GetIsShareMountTargetVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareMountTargetVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVirtualNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput) ToGetIsShareMountTargetVirtualNetworkInterfaceArrayOutput() GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput) ToGetIsShareMountTargetVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetVirtualNetworkInterface { + return vs[0].([]GetIsShareMountTargetVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsShareMountTargetVirtualNetworkInterfaceOutput) +} + +type GetIsShareMountTargetVirtualNetworkInterfaceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetVirtualNetworkInterfaceDeletedInput is an input type that accepts GetIsShareMountTargetVirtualNetworkInterfaceDeletedArgs and GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetVirtualNetworkInterfaceDeletedInput` via: +// +// GetIsShareMountTargetVirtualNetworkInterfaceDeletedArgs{...} +type GetIsShareMountTargetVirtualNetworkInterfaceDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput() GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput + ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedOutputWithContext(context.Context) GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput +} + +type GetIsShareMountTargetVirtualNetworkInterfaceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetVirtualNetworkInterfaceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetVirtualNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetVirtualNetworkInterfaceDeletedArgs) ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput() GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput { + return i.ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetVirtualNetworkInterfaceDeletedArgs) ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput) +} + +// GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayInput is an input type that accepts GetIsShareMountTargetVirtualNetworkInterfaceDeletedArray and GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayInput` via: +// +// GetIsShareMountTargetVirtualNetworkInterfaceDeletedArray{ GetIsShareMountTargetVirtualNetworkInterfaceDeletedArgs{...} } +type GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput() GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput + ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput +} + +type GetIsShareMountTargetVirtualNetworkInterfaceDeletedArray []GetIsShareMountTargetVirtualNetworkInterfaceDeletedInput + +func (GetIsShareMountTargetVirtualNetworkInterfaceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetVirtualNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetVirtualNetworkInterfaceDeletedArray) ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput() GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return i.ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetVirtualNetworkInterfaceDeletedArray) ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput) +} + +type GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetVirtualNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput) ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput() GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput { + return o +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput) ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVirtualNetworkInterfaceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetVirtualNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput) ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput() GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput) ToGetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetVirtualNetworkInterfaceDeleted { + return vs[0].([]GetIsShareMountTargetVirtualNetworkInterfaceDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput) +} + +type GetIsShareMountTargetVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetVpcInput is an input type that accepts GetIsShareMountTargetVpcArgs and GetIsShareMountTargetVpcOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetVpcInput` via: +// +// GetIsShareMountTargetVpcArgs{...} +type GetIsShareMountTargetVpcInput interface { + pulumi.Input + + ToGetIsShareMountTargetVpcOutput() GetIsShareMountTargetVpcOutput + ToGetIsShareMountTargetVpcOutputWithContext(context.Context) GetIsShareMountTargetVpcOutput +} + +type GetIsShareMountTargetVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetVpc)(nil)).Elem() +} + +func (i GetIsShareMountTargetVpcArgs) ToGetIsShareMountTargetVpcOutput() GetIsShareMountTargetVpcOutput { + return i.ToGetIsShareMountTargetVpcOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetVpcArgs) ToGetIsShareMountTargetVpcOutputWithContext(ctx context.Context) GetIsShareMountTargetVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetVpcOutput) +} + +// GetIsShareMountTargetVpcArrayInput is an input type that accepts GetIsShareMountTargetVpcArray and GetIsShareMountTargetVpcArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetVpcArrayInput` via: +// +// GetIsShareMountTargetVpcArray{ GetIsShareMountTargetVpcArgs{...} } +type GetIsShareMountTargetVpcArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetVpcArrayOutput() GetIsShareMountTargetVpcArrayOutput + ToGetIsShareMountTargetVpcArrayOutputWithContext(context.Context) GetIsShareMountTargetVpcArrayOutput +} + +type GetIsShareMountTargetVpcArray []GetIsShareMountTargetVpcInput + +func (GetIsShareMountTargetVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetVpc)(nil)).Elem() +} + +func (i GetIsShareMountTargetVpcArray) ToGetIsShareMountTargetVpcArrayOutput() GetIsShareMountTargetVpcArrayOutput { + return i.ToGetIsShareMountTargetVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetVpcArray) ToGetIsShareMountTargetVpcArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetVpcArrayOutput) +} + +type GetIsShareMountTargetVpcOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetVpc)(nil)).Elem() +} + +func (o GetIsShareMountTargetVpcOutput) ToGetIsShareMountTargetVpcOutput() GetIsShareMountTargetVpcOutput { + return o +} + +func (o GetIsShareMountTargetVpcOutput) ToGetIsShareMountTargetVpcOutputWithContext(ctx context.Context) GetIsShareMountTargetVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsShareMountTargetVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetVpcOutput) Deleteds() GetIsShareMountTargetVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetVpc) []GetIsShareMountTargetVpcDeleted { return v.Deleteds }).(GetIsShareMountTargetVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsShareMountTargetVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsShareMountTargetVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsShareMountTargetVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareMountTargetVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetVpc)(nil)).Elem() +} + +func (o GetIsShareMountTargetVpcArrayOutput) ToGetIsShareMountTargetVpcArrayOutput() GetIsShareMountTargetVpcArrayOutput { + return o +} + +func (o GetIsShareMountTargetVpcArrayOutput) ToGetIsShareMountTargetVpcArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetVpcArrayOutput { + return o +} + +func (o GetIsShareMountTargetVpcArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetVpc { + return vs[0].([]GetIsShareMountTargetVpc)[vs[1].(int)] + }).(GetIsShareMountTargetVpcOutput) +} + +type GetIsShareMountTargetVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetVpcDeletedInput is an input type that accepts GetIsShareMountTargetVpcDeletedArgs and GetIsShareMountTargetVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetVpcDeletedInput` via: +// +// GetIsShareMountTargetVpcDeletedArgs{...} +type GetIsShareMountTargetVpcDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetVpcDeletedOutput() GetIsShareMountTargetVpcDeletedOutput + ToGetIsShareMountTargetVpcDeletedOutputWithContext(context.Context) GetIsShareMountTargetVpcDeletedOutput +} + +type GetIsShareMountTargetVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetVpcDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetVpcDeletedArgs) ToGetIsShareMountTargetVpcDeletedOutput() GetIsShareMountTargetVpcDeletedOutput { + return i.ToGetIsShareMountTargetVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetVpcDeletedArgs) ToGetIsShareMountTargetVpcDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetVpcDeletedOutput) +} + +// GetIsShareMountTargetVpcDeletedArrayInput is an input type that accepts GetIsShareMountTargetVpcDeletedArray and GetIsShareMountTargetVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetVpcDeletedArrayInput` via: +// +// GetIsShareMountTargetVpcDeletedArray{ GetIsShareMountTargetVpcDeletedArgs{...} } +type GetIsShareMountTargetVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetVpcDeletedArrayOutput() GetIsShareMountTargetVpcDeletedArrayOutput + ToGetIsShareMountTargetVpcDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetVpcDeletedArrayOutput +} + +type GetIsShareMountTargetVpcDeletedArray []GetIsShareMountTargetVpcDeletedInput + +func (GetIsShareMountTargetVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetVpcDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetVpcDeletedArray) ToGetIsShareMountTargetVpcDeletedArrayOutput() GetIsShareMountTargetVpcDeletedArrayOutput { + return i.ToGetIsShareMountTargetVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetVpcDeletedArray) ToGetIsShareMountTargetVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetVpcDeletedArrayOutput) +} + +type GetIsShareMountTargetVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetVpcDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetVpcDeletedOutput) ToGetIsShareMountTargetVpcDeletedOutput() GetIsShareMountTargetVpcDeletedOutput { + return o +} + +func (o GetIsShareMountTargetVpcDeletedOutput) ToGetIsShareMountTargetVpcDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetVpcDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetVpcDeletedArrayOutput) ToGetIsShareMountTargetVpcDeletedArrayOutput() GetIsShareMountTargetVpcDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetVpcDeletedArrayOutput) ToGetIsShareMountTargetVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetVpcDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetVpcDeleted { + return vs[0].([]GetIsShareMountTargetVpcDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetVpcDeletedOutput) +} + +type GetIsShareMountTargetsMountTarget struct { + // The access control mode for the share + AccessControlMode string `pulumi:"accessControlMode"` + // The protocol to use to access the share for this share mount target. + AccessProtocol string `pulumi:"accessProtocol"` + // The date and time that the share target was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this share target. + Href string `pulumi:"href"` + // The unique identifier for this share target. + Id string `pulumi:"id"` + // The lifecycle state of the mount target. + LifecycleState string `pulumi:"lifecycleState"` + // The mount path for the share.The IP addresses used in the mount path are currently within the IBM services IP range, but are expected to change to be within one of the VPC's subnets in the future. + MountPath string `pulumi:"mountPath"` + // The user-defined name for this share target. + Name string `pulumi:"name"` + // The primary IP address of the virtual network interface for the share mount target. + PrimaryIps []GetIsShareMountTargetsMountTargetPrimaryIp `pulumi:"primaryIps"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The subnet associated with this file share target. + Subnets []GetIsShareMountTargetsMountTargetSubnet `pulumi:"subnets"` + TransitEncryption string `pulumi:"transitEncryption"` + // The virtual network interface for this file share mount target. + VirtualNetworkInterfaces []GetIsShareMountTargetsMountTargetVirtualNetworkInterface `pulumi:"virtualNetworkInterfaces"` + // The VPC to which this share target is allowing to mount the file share. + Vpcs []GetIsShareMountTargetsMountTargetVpc `pulumi:"vpcs"` +} + +// GetIsShareMountTargetsMountTargetInput is an input type that accepts GetIsShareMountTargetsMountTargetArgs and GetIsShareMountTargetsMountTargetOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetInput` via: +// +// GetIsShareMountTargetsMountTargetArgs{...} +type GetIsShareMountTargetsMountTargetInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetOutput() GetIsShareMountTargetsMountTargetOutput + ToGetIsShareMountTargetsMountTargetOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetOutput +} + +type GetIsShareMountTargetsMountTargetArgs struct { + // The access control mode for the share + AccessControlMode pulumi.StringInput `pulumi:"accessControlMode"` + // The protocol to use to access the share for this share mount target. + AccessProtocol pulumi.StringInput `pulumi:"accessProtocol"` + // The date and time that the share target was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this share target. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share target. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the mount target. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The mount path for the share.The IP addresses used in the mount path are currently within the IBM services IP range, but are expected to change to be within one of the VPC's subnets in the future. + MountPath pulumi.StringInput `pulumi:"mountPath"` + // The user-defined name for this share target. + Name pulumi.StringInput `pulumi:"name"` + // The primary IP address of the virtual network interface for the share mount target. + PrimaryIps GetIsShareMountTargetsMountTargetPrimaryIpArrayInput `pulumi:"primaryIps"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The subnet associated with this file share target. + Subnets GetIsShareMountTargetsMountTargetSubnetArrayInput `pulumi:"subnets"` + TransitEncryption pulumi.StringInput `pulumi:"transitEncryption"` + // The virtual network interface for this file share mount target. + VirtualNetworkInterfaces GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayInput `pulumi:"virtualNetworkInterfaces"` + // The VPC to which this share target is allowing to mount the file share. + Vpcs GetIsShareMountTargetsMountTargetVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsShareMountTargetsMountTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTarget)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetArgs) ToGetIsShareMountTargetsMountTargetOutput() GetIsShareMountTargetsMountTargetOutput { + return i.ToGetIsShareMountTargetsMountTargetOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetArgs) ToGetIsShareMountTargetsMountTargetOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetOutput) +} + +// GetIsShareMountTargetsMountTargetArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetArray and GetIsShareMountTargetsMountTargetArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetArrayInput` via: +// +// GetIsShareMountTargetsMountTargetArray{ GetIsShareMountTargetsMountTargetArgs{...} } +type GetIsShareMountTargetsMountTargetArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetArrayOutput() GetIsShareMountTargetsMountTargetArrayOutput + ToGetIsShareMountTargetsMountTargetArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetArrayOutput +} + +type GetIsShareMountTargetsMountTargetArray []GetIsShareMountTargetsMountTargetInput + +func (GetIsShareMountTargetsMountTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTarget)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetArray) ToGetIsShareMountTargetsMountTargetArrayOutput() GetIsShareMountTargetsMountTargetArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetArray) ToGetIsShareMountTargetsMountTargetArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetArrayOutput) +} + +type GetIsShareMountTargetsMountTargetOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTarget)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetOutput) ToGetIsShareMountTargetsMountTargetOutput() GetIsShareMountTargetsMountTargetOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetOutput) ToGetIsShareMountTargetsMountTargetOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetOutput { + return o +} + +// The access control mode for the share +func (o GetIsShareMountTargetsMountTargetOutput) AccessControlMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.AccessControlMode }).(pulumi.StringOutput) +} + +// The protocol to use to access the share for this share mount target. +func (o GetIsShareMountTargetsMountTargetOutput) AccessProtocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.AccessProtocol }).(pulumi.StringOutput) +} + +// The date and time that the share target was created. +func (o GetIsShareMountTargetsMountTargetOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this share target. +func (o GetIsShareMountTargetsMountTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share target. +func (o GetIsShareMountTargetsMountTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of the mount target. +func (o GetIsShareMountTargetsMountTargetOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The mount path for the share.The IP addresses used in the mount path are currently within the IBM services IP range, but are expected to change to be within one of the VPC's subnets in the future. +func (o GetIsShareMountTargetsMountTargetOutput) MountPath() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.MountPath }).(pulumi.StringOutput) +} + +// The user-defined name for this share target. +func (o GetIsShareMountTargetsMountTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The primary IP address of the virtual network interface for the share mount target. +func (o GetIsShareMountTargetsMountTargetOutput) PrimaryIps() GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) []GetIsShareMountTargetsMountTargetPrimaryIp { + return v.PrimaryIps + }).(GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput) +} + +// The type of resource referenced. +func (o GetIsShareMountTargetsMountTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The subnet associated with this file share target. +func (o GetIsShareMountTargetsMountTargetOutput) Subnets() GetIsShareMountTargetsMountTargetSubnetArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) []GetIsShareMountTargetsMountTargetSubnet { return v.Subnets }).(GetIsShareMountTargetsMountTargetSubnetArrayOutput) +} + +func (o GetIsShareMountTargetsMountTargetOutput) TransitEncryption() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) string { return v.TransitEncryption }).(pulumi.StringOutput) +} + +// The virtual network interface for this file share mount target. +func (o GetIsShareMountTargetsMountTargetOutput) VirtualNetworkInterfaces() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) []GetIsShareMountTargetsMountTargetVirtualNetworkInterface { + return v.VirtualNetworkInterfaces + }).(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput) +} + +// The VPC to which this share target is allowing to mount the file share. +func (o GetIsShareMountTargetsMountTargetOutput) Vpcs() GetIsShareMountTargetsMountTargetVpcArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTarget) []GetIsShareMountTargetsMountTargetVpc { return v.Vpcs }).(GetIsShareMountTargetsMountTargetVpcArrayOutput) +} + +type GetIsShareMountTargetsMountTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTarget)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetArrayOutput) ToGetIsShareMountTargetsMountTargetArrayOutput() GetIsShareMountTargetsMountTargetArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetArrayOutput) ToGetIsShareMountTargetsMountTargetArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTarget { + return vs[0].([]GetIsShareMountTargetsMountTarget)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetOutput) +} + +type GetIsShareMountTargetsMountTargetPrimaryIp struct { + // The IP address.. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetsMountTargetPrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The user-defined name for this reserved IP. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetsMountTargetPrimaryIpInput is an input type that accepts GetIsShareMountTargetsMountTargetPrimaryIpArgs and GetIsShareMountTargetsMountTargetPrimaryIpOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetPrimaryIpInput` via: +// +// GetIsShareMountTargetsMountTargetPrimaryIpArgs{...} +type GetIsShareMountTargetsMountTargetPrimaryIpInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetPrimaryIpOutput() GetIsShareMountTargetsMountTargetPrimaryIpOutput + ToGetIsShareMountTargetsMountTargetPrimaryIpOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetPrimaryIpOutput +} + +type GetIsShareMountTargetsMountTargetPrimaryIpArgs struct { + // The IP address.. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this reserved IP. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetsMountTargetPrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetPrimaryIp)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetPrimaryIpArgs) ToGetIsShareMountTargetsMountTargetPrimaryIpOutput() GetIsShareMountTargetsMountTargetPrimaryIpOutput { + return i.ToGetIsShareMountTargetsMountTargetPrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetPrimaryIpArgs) ToGetIsShareMountTargetsMountTargetPrimaryIpOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetPrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetPrimaryIpOutput) +} + +// GetIsShareMountTargetsMountTargetPrimaryIpArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetPrimaryIpArray and GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetPrimaryIpArrayInput` via: +// +// GetIsShareMountTargetsMountTargetPrimaryIpArray{ GetIsShareMountTargetsMountTargetPrimaryIpArgs{...} } +type GetIsShareMountTargetsMountTargetPrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetPrimaryIpArrayOutput() GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput + ToGetIsShareMountTargetsMountTargetPrimaryIpArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput +} + +type GetIsShareMountTargetsMountTargetPrimaryIpArray []GetIsShareMountTargetsMountTargetPrimaryIpInput + +func (GetIsShareMountTargetsMountTargetPrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetPrimaryIp)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetPrimaryIpArray) ToGetIsShareMountTargetsMountTargetPrimaryIpArrayOutput() GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetPrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetPrimaryIpArray) ToGetIsShareMountTargetsMountTargetPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput) +} + +type GetIsShareMountTargetsMountTargetPrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetPrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetPrimaryIp)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpOutput) ToGetIsShareMountTargetsMountTargetPrimaryIpOutput() GetIsShareMountTargetsMountTargetPrimaryIpOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpOutput) ToGetIsShareMountTargetsMountTargetPrimaryIpOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetPrimaryIpOutput { + return o +} + +// The IP address.. +func (o GetIsShareMountTargetsMountTargetPrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetPrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetsMountTargetPrimaryIpOutput) Deleteds() GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetPrimaryIp) []GetIsShareMountTargetsMountTargetPrimaryIpDeleted { + return v.Deleteds + }).(GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsShareMountTargetsMountTargetPrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetPrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsShareMountTargetsMountTargetPrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetPrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this reserved IP. +func (o GetIsShareMountTargetsMountTargetPrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetPrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareMountTargetsMountTargetPrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetPrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetPrimaryIp)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput) ToGetIsShareMountTargetsMountTargetPrimaryIpArrayOutput() GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput) ToGetIsShareMountTargetsMountTargetPrimaryIpArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetPrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTargetPrimaryIp { + return vs[0].([]GetIsShareMountTargetsMountTargetPrimaryIp)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetPrimaryIpOutput) +} + +type GetIsShareMountTargetsMountTargetPrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetsMountTargetPrimaryIpDeletedInput is an input type that accepts GetIsShareMountTargetsMountTargetPrimaryIpDeletedArgs and GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetPrimaryIpDeletedInput` via: +// +// GetIsShareMountTargetsMountTargetPrimaryIpDeletedArgs{...} +type GetIsShareMountTargetsMountTargetPrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput() GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput + ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput +} + +type GetIsShareMountTargetsMountTargetPrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetsMountTargetPrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetPrimaryIpDeletedArgs) ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput() GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput { + return i.ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetPrimaryIpDeletedArgs) ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput) +} + +// GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetPrimaryIpDeletedArray and GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayInput` via: +// +// GetIsShareMountTargetsMountTargetPrimaryIpDeletedArray{ GetIsShareMountTargetsMountTargetPrimaryIpDeletedArgs{...} } +type GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput() GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput + ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput +} + +type GetIsShareMountTargetsMountTargetPrimaryIpDeletedArray []GetIsShareMountTargetsMountTargetPrimaryIpDeletedInput + +func (GetIsShareMountTargetsMountTargetPrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetPrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetPrimaryIpDeletedArray) ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput() GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetPrimaryIpDeletedArray) ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput) +} + +type GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput) ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput() GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput) ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetPrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetPrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput) ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput() GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput) ToGetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTargetPrimaryIpDeleted { + return vs[0].([]GetIsShareMountTargetsMountTargetPrimaryIpDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput) +} + +type GetIsShareMountTargetsMountTargetSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetsMountTargetSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetsMountTargetSubnetInput is an input type that accepts GetIsShareMountTargetsMountTargetSubnetArgs and GetIsShareMountTargetsMountTargetSubnetOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetSubnetInput` via: +// +// GetIsShareMountTargetsMountTargetSubnetArgs{...} +type GetIsShareMountTargetsMountTargetSubnetInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetSubnetOutput() GetIsShareMountTargetsMountTargetSubnetOutput + ToGetIsShareMountTargetsMountTargetSubnetOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetSubnetOutput +} + +type GetIsShareMountTargetsMountTargetSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetsMountTargetSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetsMountTargetSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetSubnet)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetSubnetArgs) ToGetIsShareMountTargetsMountTargetSubnetOutput() GetIsShareMountTargetsMountTargetSubnetOutput { + return i.ToGetIsShareMountTargetsMountTargetSubnetOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetSubnetArgs) ToGetIsShareMountTargetsMountTargetSubnetOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetSubnetOutput) +} + +// GetIsShareMountTargetsMountTargetSubnetArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetSubnetArray and GetIsShareMountTargetsMountTargetSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetSubnetArrayInput` via: +// +// GetIsShareMountTargetsMountTargetSubnetArray{ GetIsShareMountTargetsMountTargetSubnetArgs{...} } +type GetIsShareMountTargetsMountTargetSubnetArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetSubnetArrayOutput() GetIsShareMountTargetsMountTargetSubnetArrayOutput + ToGetIsShareMountTargetsMountTargetSubnetArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetSubnetArrayOutput +} + +type GetIsShareMountTargetsMountTargetSubnetArray []GetIsShareMountTargetsMountTargetSubnetInput + +func (GetIsShareMountTargetsMountTargetSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetSubnet)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetSubnetArray) ToGetIsShareMountTargetsMountTargetSubnetArrayOutput() GetIsShareMountTargetsMountTargetSubnetArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetSubnetArray) ToGetIsShareMountTargetsMountTargetSubnetArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetSubnetArrayOutput) +} + +type GetIsShareMountTargetsMountTargetSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetSubnet)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetSubnetOutput) ToGetIsShareMountTargetsMountTargetSubnetOutput() GetIsShareMountTargetsMountTargetSubnetOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetSubnetOutput) ToGetIsShareMountTargetsMountTargetSubnetOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsShareMountTargetsMountTargetSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetsMountTargetSubnetOutput) Deleteds() GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetSubnet) []GetIsShareMountTargetsMountTargetSubnetDeleted { + return v.Deleteds + }).(GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsShareMountTargetsMountTargetSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsShareMountTargetsMountTargetSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsShareMountTargetsMountTargetSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareMountTargetsMountTargetSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetsMountTargetSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetSubnet)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetSubnetArrayOutput) ToGetIsShareMountTargetsMountTargetSubnetArrayOutput() GetIsShareMountTargetsMountTargetSubnetArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetSubnetArrayOutput) ToGetIsShareMountTargetsMountTargetSubnetArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetSubnetArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetSubnetArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTargetSubnet { + return vs[0].([]GetIsShareMountTargetsMountTargetSubnet)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetSubnetOutput) +} + +type GetIsShareMountTargetsMountTargetSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetsMountTargetSubnetDeletedInput is an input type that accepts GetIsShareMountTargetsMountTargetSubnetDeletedArgs and GetIsShareMountTargetsMountTargetSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetSubnetDeletedInput` via: +// +// GetIsShareMountTargetsMountTargetSubnetDeletedArgs{...} +type GetIsShareMountTargetsMountTargetSubnetDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetSubnetDeletedOutput() GetIsShareMountTargetsMountTargetSubnetDeletedOutput + ToGetIsShareMountTargetsMountTargetSubnetDeletedOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetSubnetDeletedOutput +} + +type GetIsShareMountTargetsMountTargetSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetsMountTargetSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetSubnetDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetSubnetDeletedArgs) ToGetIsShareMountTargetsMountTargetSubnetDeletedOutput() GetIsShareMountTargetsMountTargetSubnetDeletedOutput { + return i.ToGetIsShareMountTargetsMountTargetSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetSubnetDeletedArgs) ToGetIsShareMountTargetsMountTargetSubnetDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetSubnetDeletedOutput) +} + +// GetIsShareMountTargetsMountTargetSubnetDeletedArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetSubnetDeletedArray and GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetSubnetDeletedArrayInput` via: +// +// GetIsShareMountTargetsMountTargetSubnetDeletedArray{ GetIsShareMountTargetsMountTargetSubnetDeletedArgs{...} } +type GetIsShareMountTargetsMountTargetSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput() GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput + ToGetIsShareMountTargetsMountTargetSubnetDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput +} + +type GetIsShareMountTargetsMountTargetSubnetDeletedArray []GetIsShareMountTargetsMountTargetSubnetDeletedInput + +func (GetIsShareMountTargetsMountTargetSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetSubnetDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetSubnetDeletedArray) ToGetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput() GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetSubnetDeletedArray) ToGetIsShareMountTargetsMountTargetSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput) +} + +type GetIsShareMountTargetsMountTargetSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetSubnetDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetSubnetDeletedOutput) ToGetIsShareMountTargetsMountTargetSubnetDeletedOutput() GetIsShareMountTargetsMountTargetSubnetDeletedOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetSubnetDeletedOutput) ToGetIsShareMountTargetsMountTargetSubnetDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetsMountTargetSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetSubnetDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput) ToGetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput() GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput) ToGetIsShareMountTargetsMountTargetSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTargetSubnetDeleted { + return vs[0].([]GetIsShareMountTargetsMountTargetSubnetDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetSubnetDeletedOutput) +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterface struct { + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted `pulumi:"deleteds"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The unique user-defined name for this virtual network interface. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceInput is an input type that accepts GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArgs and GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceInput` via: +// +// GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArgs{...} +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput + ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArgs struct { + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this virtual network interface. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArgs) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput { + return i.ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArgs) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) +} + +// GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArray and GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayInput` via: +// +// GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArray{ GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArgs{...} } +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput + ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArray []GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceInput + +func (GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArray) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArray) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput) +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput { + return o +} + +// The CRN for this virtual network interface. +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) Deleteds() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVirtualNetworkInterface) []GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted { + return v.Deleteds + }).(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput) +} + +// The URL for this virtual network interface. +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this virtual network interface. +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVirtualNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTargetVirtualNetworkInterface { + return vs[0].([]GetIsShareMountTargetsMountTargetVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput) +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedInput is an input type that accepts GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArgs and GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedInput` via: +// +// GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArgs{...} +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput + ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArgs) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput { + return i.ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArgs) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput) +} + +// GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArray and GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayInput` via: +// +// GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArray{ GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArgs{...} } +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput + ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArray []GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedInput + +func (GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArray) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArray) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput) +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput() GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput) ToGetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted { + return vs[0].([]GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput) +} + +type GetIsShareMountTargetsMountTargetVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareMountTargetsMountTargetVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareMountTargetsMountTargetVpcInput is an input type that accepts GetIsShareMountTargetsMountTargetVpcArgs and GetIsShareMountTargetsMountTargetVpcOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetVpcInput` via: +// +// GetIsShareMountTargetsMountTargetVpcArgs{...} +type GetIsShareMountTargetsMountTargetVpcInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetVpcOutput() GetIsShareMountTargetsMountTargetVpcOutput + ToGetIsShareMountTargetsMountTargetVpcOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetVpcOutput +} + +type GetIsShareMountTargetsMountTargetVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareMountTargetsMountTargetVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareMountTargetsMountTargetVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetVpc)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetVpcArgs) ToGetIsShareMountTargetsMountTargetVpcOutput() GetIsShareMountTargetsMountTargetVpcOutput { + return i.ToGetIsShareMountTargetsMountTargetVpcOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetVpcArgs) ToGetIsShareMountTargetsMountTargetVpcOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetVpcOutput) +} + +// GetIsShareMountTargetsMountTargetVpcArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetVpcArray and GetIsShareMountTargetsMountTargetVpcArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetVpcArrayInput` via: +// +// GetIsShareMountTargetsMountTargetVpcArray{ GetIsShareMountTargetsMountTargetVpcArgs{...} } +type GetIsShareMountTargetsMountTargetVpcArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetVpcArrayOutput() GetIsShareMountTargetsMountTargetVpcArrayOutput + ToGetIsShareMountTargetsMountTargetVpcArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetVpcArrayOutput +} + +type GetIsShareMountTargetsMountTargetVpcArray []GetIsShareMountTargetsMountTargetVpcInput + +func (GetIsShareMountTargetsMountTargetVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetVpc)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetVpcArray) ToGetIsShareMountTargetsMountTargetVpcArrayOutput() GetIsShareMountTargetsMountTargetVpcArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetVpcArray) ToGetIsShareMountTargetsMountTargetVpcArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetVpcArrayOutput) +} + +type GetIsShareMountTargetsMountTargetVpcOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetVpc)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetVpcOutput) ToGetIsShareMountTargetsMountTargetVpcOutput() GetIsShareMountTargetsMountTargetVpcOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVpcOutput) ToGetIsShareMountTargetsMountTargetVpcOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsShareMountTargetsMountTargetVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareMountTargetsMountTargetVpcOutput) Deleteds() GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVpc) []GetIsShareMountTargetsMountTargetVpcDeleted { + return v.Deleteds + }).(GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsShareMountTargetsMountTargetVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsShareMountTargetsMountTargetVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsShareMountTargetsMountTargetVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareMountTargetsMountTargetVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetsMountTargetVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetVpc)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetVpcArrayOutput) ToGetIsShareMountTargetsMountTargetVpcArrayOutput() GetIsShareMountTargetsMountTargetVpcArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVpcArrayOutput) ToGetIsShareMountTargetsMountTargetVpcArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVpcArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVpcArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTargetVpc { + return vs[0].([]GetIsShareMountTargetsMountTargetVpc)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetVpcOutput) +} + +type GetIsShareMountTargetsMountTargetVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareMountTargetsMountTargetVpcDeletedInput is an input type that accepts GetIsShareMountTargetsMountTargetVpcDeletedArgs and GetIsShareMountTargetsMountTargetVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetVpcDeletedInput` via: +// +// GetIsShareMountTargetsMountTargetVpcDeletedArgs{...} +type GetIsShareMountTargetsMountTargetVpcDeletedInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetVpcDeletedOutput() GetIsShareMountTargetsMountTargetVpcDeletedOutput + ToGetIsShareMountTargetsMountTargetVpcDeletedOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetVpcDeletedOutput +} + +type GetIsShareMountTargetsMountTargetVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareMountTargetsMountTargetVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetVpcDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetVpcDeletedArgs) ToGetIsShareMountTargetsMountTargetVpcDeletedOutput() GetIsShareMountTargetsMountTargetVpcDeletedOutput { + return i.ToGetIsShareMountTargetsMountTargetVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetVpcDeletedArgs) ToGetIsShareMountTargetsMountTargetVpcDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetVpcDeletedOutput) +} + +// GetIsShareMountTargetsMountTargetVpcDeletedArrayInput is an input type that accepts GetIsShareMountTargetsMountTargetVpcDeletedArray and GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareMountTargetsMountTargetVpcDeletedArrayInput` via: +// +// GetIsShareMountTargetsMountTargetVpcDeletedArray{ GetIsShareMountTargetsMountTargetVpcDeletedArgs{...} } +type GetIsShareMountTargetsMountTargetVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareMountTargetsMountTargetVpcDeletedArrayOutput() GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput + ToGetIsShareMountTargetsMountTargetVpcDeletedArrayOutputWithContext(context.Context) GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput +} + +type GetIsShareMountTargetsMountTargetVpcDeletedArray []GetIsShareMountTargetsMountTargetVpcDeletedInput + +func (GetIsShareMountTargetsMountTargetVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetVpcDeleted)(nil)).Elem() +} + +func (i GetIsShareMountTargetsMountTargetVpcDeletedArray) ToGetIsShareMountTargetsMountTargetVpcDeletedArrayOutput() GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput { + return i.ToGetIsShareMountTargetsMountTargetVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareMountTargetsMountTargetVpcDeletedArray) ToGetIsShareMountTargetsMountTargetVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput) +} + +type GetIsShareMountTargetsMountTargetVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareMountTargetsMountTargetVpcDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetVpcDeletedOutput) ToGetIsShareMountTargetsMountTargetVpcDeletedOutput() GetIsShareMountTargetsMountTargetVpcDeletedOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVpcDeletedOutput) ToGetIsShareMountTargetsMountTargetVpcDeletedOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareMountTargetsMountTargetVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareMountTargetsMountTargetVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareMountTargetsMountTargetVpcDeleted)(nil)).Elem() +} + +func (o GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput) ToGetIsShareMountTargetsMountTargetVpcDeletedArrayOutput() GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput) ToGetIsShareMountTargetsMountTargetVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput { + return o +} + +func (o GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareMountTargetsMountTargetVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareMountTargetsMountTargetVpcDeleted { + return vs[0].([]GetIsShareMountTargetsMountTargetVpcDeleted)[vs[1].(int)] + }).(GetIsShareMountTargetsMountTargetVpcDeletedOutput) +} + +type GetIsShareOriginShare struct { + // The CRN for this file share. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsShareOriginShareDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsShareOriginShareRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareOriginShareInput is an input type that accepts GetIsShareOriginShareArgs and GetIsShareOriginShareOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareInput` via: +// +// GetIsShareOriginShareArgs{...} +type GetIsShareOriginShareInput interface { + pulumi.Input + + ToGetIsShareOriginShareOutput() GetIsShareOriginShareOutput + ToGetIsShareOriginShareOutputWithContext(context.Context) GetIsShareOriginShareOutput +} + +type GetIsShareOriginShareArgs struct { + // The CRN for this file share. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsShareOriginShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsShareOriginShareRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareOriginShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShare)(nil)).Elem() +} + +func (i GetIsShareOriginShareArgs) ToGetIsShareOriginShareOutput() GetIsShareOriginShareOutput { + return i.ToGetIsShareOriginShareOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareArgs) ToGetIsShareOriginShareOutputWithContext(ctx context.Context) GetIsShareOriginShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareOutput) +} + +// GetIsShareOriginShareArrayInput is an input type that accepts GetIsShareOriginShareArray and GetIsShareOriginShareArrayOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareArrayInput` via: +// +// GetIsShareOriginShareArray{ GetIsShareOriginShareArgs{...} } +type GetIsShareOriginShareArrayInput interface { + pulumi.Input + + ToGetIsShareOriginShareArrayOutput() GetIsShareOriginShareArrayOutput + ToGetIsShareOriginShareArrayOutputWithContext(context.Context) GetIsShareOriginShareArrayOutput +} + +type GetIsShareOriginShareArray []GetIsShareOriginShareInput + +func (GetIsShareOriginShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShare)(nil)).Elem() +} + +func (i GetIsShareOriginShareArray) ToGetIsShareOriginShareArrayOutput() GetIsShareOriginShareArrayOutput { + return i.ToGetIsShareOriginShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareArray) ToGetIsShareOriginShareArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareArrayOutput) +} + +type GetIsShareOriginShareOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShare)(nil)).Elem() +} + +func (o GetIsShareOriginShareOutput) ToGetIsShareOriginShareOutput() GetIsShareOriginShareOutput { + return o +} + +func (o GetIsShareOriginShareOutput) ToGetIsShareOriginShareOutputWithContext(ctx context.Context) GetIsShareOriginShareOutput { + return o +} + +// The CRN for this file share. +func (o GetIsShareOriginShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsShareOriginShareOutput) Deleteds() GetIsShareOriginShareDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareOriginShare) []GetIsShareOriginShareDeleted { return v.Deleteds }).(GetIsShareOriginShareDeletedArrayOutput) +} + +// The URL for this file share. +func (o GetIsShareOriginShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsShareOriginShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this share. The name is unique across all shares in the region. +func (o GetIsShareOriginShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShare) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsShareOriginShareOutput) Remotes() GetIsShareOriginShareRemoteArrayOutput { + return o.ApplyT(func(v GetIsShareOriginShare) []GetIsShareOriginShareRemote { return v.Remotes }).(GetIsShareOriginShareRemoteArrayOutput) +} + +// The resource type. +func (o GetIsShareOriginShareOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShare) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareOriginShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShare)(nil)).Elem() +} + +func (o GetIsShareOriginShareArrayOutput) ToGetIsShareOriginShareArrayOutput() GetIsShareOriginShareArrayOutput { + return o +} + +func (o GetIsShareOriginShareArrayOutput) ToGetIsShareOriginShareArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareArrayOutput { + return o +} + +func (o GetIsShareOriginShareArrayOutput) Index(i pulumi.IntInput) GetIsShareOriginShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareOriginShare { + return vs[0].([]GetIsShareOriginShare)[vs[1].(int)] + }).(GetIsShareOriginShareOutput) +} + +type GetIsShareOriginShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareOriginShareDeletedInput is an input type that accepts GetIsShareOriginShareDeletedArgs and GetIsShareOriginShareDeletedOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareDeletedInput` via: +// +// GetIsShareOriginShareDeletedArgs{...} +type GetIsShareOriginShareDeletedInput interface { + pulumi.Input + + ToGetIsShareOriginShareDeletedOutput() GetIsShareOriginShareDeletedOutput + ToGetIsShareOriginShareDeletedOutputWithContext(context.Context) GetIsShareOriginShareDeletedOutput +} + +type GetIsShareOriginShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareOriginShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShareDeleted)(nil)).Elem() +} + +func (i GetIsShareOriginShareDeletedArgs) ToGetIsShareOriginShareDeletedOutput() GetIsShareOriginShareDeletedOutput { + return i.ToGetIsShareOriginShareDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareDeletedArgs) ToGetIsShareOriginShareDeletedOutputWithContext(ctx context.Context) GetIsShareOriginShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareDeletedOutput) +} + +// GetIsShareOriginShareDeletedArrayInput is an input type that accepts GetIsShareOriginShareDeletedArray and GetIsShareOriginShareDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareDeletedArrayInput` via: +// +// GetIsShareOriginShareDeletedArray{ GetIsShareOriginShareDeletedArgs{...} } +type GetIsShareOriginShareDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareOriginShareDeletedArrayOutput() GetIsShareOriginShareDeletedArrayOutput + ToGetIsShareOriginShareDeletedArrayOutputWithContext(context.Context) GetIsShareOriginShareDeletedArrayOutput +} + +type GetIsShareOriginShareDeletedArray []GetIsShareOriginShareDeletedInput + +func (GetIsShareOriginShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShareDeleted)(nil)).Elem() +} + +func (i GetIsShareOriginShareDeletedArray) ToGetIsShareOriginShareDeletedArrayOutput() GetIsShareOriginShareDeletedArrayOutput { + return i.ToGetIsShareOriginShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareDeletedArray) ToGetIsShareOriginShareDeletedArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareDeletedArrayOutput) +} + +type GetIsShareOriginShareDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShareDeleted)(nil)).Elem() +} + +func (o GetIsShareOriginShareDeletedOutput) ToGetIsShareOriginShareDeletedOutput() GetIsShareOriginShareDeletedOutput { + return o +} + +func (o GetIsShareOriginShareDeletedOutput) ToGetIsShareOriginShareDeletedOutputWithContext(ctx context.Context) GetIsShareOriginShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareOriginShareDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShareDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareOriginShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShareDeleted)(nil)).Elem() +} + +func (o GetIsShareOriginShareDeletedArrayOutput) ToGetIsShareOriginShareDeletedArrayOutput() GetIsShareOriginShareDeletedArrayOutput { + return o +} + +func (o GetIsShareOriginShareDeletedArrayOutput) ToGetIsShareOriginShareDeletedArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareDeletedArrayOutput { + return o +} + +func (o GetIsShareOriginShareDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareOriginShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareOriginShareDeleted { + return vs[0].([]GetIsShareOriginShareDeleted)[vs[1].(int)] + }).(GetIsShareOriginShareDeletedOutput) +} + +type GetIsShareOriginShareRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsShareOriginShareRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsShareOriginShareRemoteRegion `pulumi:"regions"` +} + +// GetIsShareOriginShareRemoteInput is an input type that accepts GetIsShareOriginShareRemoteArgs and GetIsShareOriginShareRemoteOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareRemoteInput` via: +// +// GetIsShareOriginShareRemoteArgs{...} +type GetIsShareOriginShareRemoteInput interface { + pulumi.Input + + ToGetIsShareOriginShareRemoteOutput() GetIsShareOriginShareRemoteOutput + ToGetIsShareOriginShareRemoteOutputWithContext(context.Context) GetIsShareOriginShareRemoteOutput +} + +type GetIsShareOriginShareRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsShareOriginShareRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsShareOriginShareRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsShareOriginShareRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShareRemote)(nil)).Elem() +} + +func (i GetIsShareOriginShareRemoteArgs) ToGetIsShareOriginShareRemoteOutput() GetIsShareOriginShareRemoteOutput { + return i.ToGetIsShareOriginShareRemoteOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareRemoteArgs) ToGetIsShareOriginShareRemoteOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareRemoteOutput) +} + +// GetIsShareOriginShareRemoteArrayInput is an input type that accepts GetIsShareOriginShareRemoteArray and GetIsShareOriginShareRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareRemoteArrayInput` via: +// +// GetIsShareOriginShareRemoteArray{ GetIsShareOriginShareRemoteArgs{...} } +type GetIsShareOriginShareRemoteArrayInput interface { + pulumi.Input + + ToGetIsShareOriginShareRemoteArrayOutput() GetIsShareOriginShareRemoteArrayOutput + ToGetIsShareOriginShareRemoteArrayOutputWithContext(context.Context) GetIsShareOriginShareRemoteArrayOutput +} + +type GetIsShareOriginShareRemoteArray []GetIsShareOriginShareRemoteInput + +func (GetIsShareOriginShareRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShareRemote)(nil)).Elem() +} + +func (i GetIsShareOriginShareRemoteArray) ToGetIsShareOriginShareRemoteArrayOutput() GetIsShareOriginShareRemoteArrayOutput { + return i.ToGetIsShareOriginShareRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareRemoteArray) ToGetIsShareOriginShareRemoteArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareRemoteArrayOutput) +} + +type GetIsShareOriginShareRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShareRemote)(nil)).Elem() +} + +func (o GetIsShareOriginShareRemoteOutput) ToGetIsShareOriginShareRemoteOutput() GetIsShareOriginShareRemoteOutput { + return o +} + +func (o GetIsShareOriginShareRemoteOutput) ToGetIsShareOriginShareRemoteOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsShareOriginShareRemoteOutput) Accounts() GetIsShareOriginShareRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsShareOriginShareRemote) []GetIsShareOriginShareRemoteAccount { return v.Accounts }).(GetIsShareOriginShareRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsShareOriginShareRemoteOutput) Regions() GetIsShareOriginShareRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsShareOriginShareRemote) []GetIsShareOriginShareRemoteRegion { return v.Regions }).(GetIsShareOriginShareRemoteRegionArrayOutput) +} + +type GetIsShareOriginShareRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShareRemote)(nil)).Elem() +} + +func (o GetIsShareOriginShareRemoteArrayOutput) ToGetIsShareOriginShareRemoteArrayOutput() GetIsShareOriginShareRemoteArrayOutput { + return o +} + +func (o GetIsShareOriginShareRemoteArrayOutput) ToGetIsShareOriginShareRemoteArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteArrayOutput { + return o +} + +func (o GetIsShareOriginShareRemoteArrayOutput) Index(i pulumi.IntInput) GetIsShareOriginShareRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareOriginShareRemote { + return vs[0].([]GetIsShareOriginShareRemote)[vs[1].(int)] + }).(GetIsShareOriginShareRemoteOutput) +} + +type GetIsShareOriginShareRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareOriginShareRemoteAccountInput is an input type that accepts GetIsShareOriginShareRemoteAccountArgs and GetIsShareOriginShareRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareRemoteAccountInput` via: +// +// GetIsShareOriginShareRemoteAccountArgs{...} +type GetIsShareOriginShareRemoteAccountInput interface { + pulumi.Input + + ToGetIsShareOriginShareRemoteAccountOutput() GetIsShareOriginShareRemoteAccountOutput + ToGetIsShareOriginShareRemoteAccountOutputWithContext(context.Context) GetIsShareOriginShareRemoteAccountOutput +} + +type GetIsShareOriginShareRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareOriginShareRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (i GetIsShareOriginShareRemoteAccountArgs) ToGetIsShareOriginShareRemoteAccountOutput() GetIsShareOriginShareRemoteAccountOutput { + return i.ToGetIsShareOriginShareRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareRemoteAccountArgs) ToGetIsShareOriginShareRemoteAccountOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareRemoteAccountOutput) +} + +// GetIsShareOriginShareRemoteAccountArrayInput is an input type that accepts GetIsShareOriginShareRemoteAccountArray and GetIsShareOriginShareRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareRemoteAccountArrayInput` via: +// +// GetIsShareOriginShareRemoteAccountArray{ GetIsShareOriginShareRemoteAccountArgs{...} } +type GetIsShareOriginShareRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsShareOriginShareRemoteAccountArrayOutput() GetIsShareOriginShareRemoteAccountArrayOutput + ToGetIsShareOriginShareRemoteAccountArrayOutputWithContext(context.Context) GetIsShareOriginShareRemoteAccountArrayOutput +} + +type GetIsShareOriginShareRemoteAccountArray []GetIsShareOriginShareRemoteAccountInput + +func (GetIsShareOriginShareRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (i GetIsShareOriginShareRemoteAccountArray) ToGetIsShareOriginShareRemoteAccountArrayOutput() GetIsShareOriginShareRemoteAccountArrayOutput { + return i.ToGetIsShareOriginShareRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareRemoteAccountArray) ToGetIsShareOriginShareRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareRemoteAccountArrayOutput) +} + +type GetIsShareOriginShareRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (o GetIsShareOriginShareRemoteAccountOutput) ToGetIsShareOriginShareRemoteAccountOutput() GetIsShareOriginShareRemoteAccountOutput { + return o +} + +func (o GetIsShareOriginShareRemoteAccountOutput) ToGetIsShareOriginShareRemoteAccountOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsShareOriginShareRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShareRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareOriginShareRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShareRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareOriginShareRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (o GetIsShareOriginShareRemoteAccountArrayOutput) ToGetIsShareOriginShareRemoteAccountArrayOutput() GetIsShareOriginShareRemoteAccountArrayOutput { + return o +} + +func (o GetIsShareOriginShareRemoteAccountArrayOutput) ToGetIsShareOriginShareRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteAccountArrayOutput { + return o +} + +func (o GetIsShareOriginShareRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsShareOriginShareRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareOriginShareRemoteAccount { + return vs[0].([]GetIsShareOriginShareRemoteAccount)[vs[1].(int)] + }).(GetIsShareOriginShareRemoteAccountOutput) +} + +type GetIsShareOriginShareRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsShareOriginShareRemoteRegionInput is an input type that accepts GetIsShareOriginShareRemoteRegionArgs and GetIsShareOriginShareRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareRemoteRegionInput` via: +// +// GetIsShareOriginShareRemoteRegionArgs{...} +type GetIsShareOriginShareRemoteRegionInput interface { + pulumi.Input + + ToGetIsShareOriginShareRemoteRegionOutput() GetIsShareOriginShareRemoteRegionOutput + ToGetIsShareOriginShareRemoteRegionOutputWithContext(context.Context) GetIsShareOriginShareRemoteRegionOutput +} + +type GetIsShareOriginShareRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareOriginShareRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareOriginShareRemoteRegionArgs) ToGetIsShareOriginShareRemoteRegionOutput() GetIsShareOriginShareRemoteRegionOutput { + return i.ToGetIsShareOriginShareRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareRemoteRegionArgs) ToGetIsShareOriginShareRemoteRegionOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareRemoteRegionOutput) +} + +// GetIsShareOriginShareRemoteRegionArrayInput is an input type that accepts GetIsShareOriginShareRemoteRegionArray and GetIsShareOriginShareRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsShareOriginShareRemoteRegionArrayInput` via: +// +// GetIsShareOriginShareRemoteRegionArray{ GetIsShareOriginShareRemoteRegionArgs{...} } +type GetIsShareOriginShareRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsShareOriginShareRemoteRegionArrayOutput() GetIsShareOriginShareRemoteRegionArrayOutput + ToGetIsShareOriginShareRemoteRegionArrayOutputWithContext(context.Context) GetIsShareOriginShareRemoteRegionArrayOutput +} + +type GetIsShareOriginShareRemoteRegionArray []GetIsShareOriginShareRemoteRegionInput + +func (GetIsShareOriginShareRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareOriginShareRemoteRegionArray) ToGetIsShareOriginShareRemoteRegionArrayOutput() GetIsShareOriginShareRemoteRegionArrayOutput { + return i.ToGetIsShareOriginShareRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareOriginShareRemoteRegionArray) ToGetIsShareOriginShareRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareOriginShareRemoteRegionArrayOutput) +} + +type GetIsShareOriginShareRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareOriginShareRemoteRegionOutput) ToGetIsShareOriginShareRemoteRegionOutput() GetIsShareOriginShareRemoteRegionOutput { + return o +} + +func (o GetIsShareOriginShareRemoteRegionOutput) ToGetIsShareOriginShareRemoteRegionOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsShareOriginShareRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShareRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsShareOriginShareRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareOriginShareRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareOriginShareRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareOriginShareRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareOriginShareRemoteRegionArrayOutput) ToGetIsShareOriginShareRemoteRegionArrayOutput() GetIsShareOriginShareRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareOriginShareRemoteRegionArrayOutput) ToGetIsShareOriginShareRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareOriginShareRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareOriginShareRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsShareOriginShareRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareOriginShareRemoteRegion { + return vs[0].([]GetIsShareOriginShareRemoteRegion)[vs[1].(int)] + }).(GetIsShareOriginShareRemoteRegionOutput) +} + +type GetIsShareProfileAllowedAccessProtocol struct { + // The default allowed access protocol modes for shares with this profile. + Defaults []string `pulumi:"defaults"` + // The type for this profile field. + Type string `pulumi:"type"` + // The possible allowed access protocols for shares with this profile. + Values []string `pulumi:"values"` +} + +// GetIsShareProfileAllowedAccessProtocolInput is an input type that accepts GetIsShareProfileAllowedAccessProtocolArgs and GetIsShareProfileAllowedAccessProtocolOutput values. +// You can construct a concrete instance of `GetIsShareProfileAllowedAccessProtocolInput` via: +// +// GetIsShareProfileAllowedAccessProtocolArgs{...} +type GetIsShareProfileAllowedAccessProtocolInput interface { + pulumi.Input + + ToGetIsShareProfileAllowedAccessProtocolOutput() GetIsShareProfileAllowedAccessProtocolOutput + ToGetIsShareProfileAllowedAccessProtocolOutputWithContext(context.Context) GetIsShareProfileAllowedAccessProtocolOutput +} + +type GetIsShareProfileAllowedAccessProtocolArgs struct { + // The default allowed access protocol modes for shares with this profile. + Defaults pulumi.StringArrayInput `pulumi:"defaults"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The possible allowed access protocols for shares with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsShareProfileAllowedAccessProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileAllowedAccessProtocol)(nil)).Elem() +} + +func (i GetIsShareProfileAllowedAccessProtocolArgs) ToGetIsShareProfileAllowedAccessProtocolOutput() GetIsShareProfileAllowedAccessProtocolOutput { + return i.ToGetIsShareProfileAllowedAccessProtocolOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileAllowedAccessProtocolArgs) ToGetIsShareProfileAllowedAccessProtocolOutputWithContext(ctx context.Context) GetIsShareProfileAllowedAccessProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileAllowedAccessProtocolOutput) +} + +// GetIsShareProfileAllowedAccessProtocolArrayInput is an input type that accepts GetIsShareProfileAllowedAccessProtocolArray and GetIsShareProfileAllowedAccessProtocolArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfileAllowedAccessProtocolArrayInput` via: +// +// GetIsShareProfileAllowedAccessProtocolArray{ GetIsShareProfileAllowedAccessProtocolArgs{...} } +type GetIsShareProfileAllowedAccessProtocolArrayInput interface { + pulumi.Input + + ToGetIsShareProfileAllowedAccessProtocolArrayOutput() GetIsShareProfileAllowedAccessProtocolArrayOutput + ToGetIsShareProfileAllowedAccessProtocolArrayOutputWithContext(context.Context) GetIsShareProfileAllowedAccessProtocolArrayOutput +} + +type GetIsShareProfileAllowedAccessProtocolArray []GetIsShareProfileAllowedAccessProtocolInput + +func (GetIsShareProfileAllowedAccessProtocolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileAllowedAccessProtocol)(nil)).Elem() +} + +func (i GetIsShareProfileAllowedAccessProtocolArray) ToGetIsShareProfileAllowedAccessProtocolArrayOutput() GetIsShareProfileAllowedAccessProtocolArrayOutput { + return i.ToGetIsShareProfileAllowedAccessProtocolArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileAllowedAccessProtocolArray) ToGetIsShareProfileAllowedAccessProtocolArrayOutputWithContext(ctx context.Context) GetIsShareProfileAllowedAccessProtocolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileAllowedAccessProtocolArrayOutput) +} + +type GetIsShareProfileAllowedAccessProtocolOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileAllowedAccessProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileAllowedAccessProtocol)(nil)).Elem() +} + +func (o GetIsShareProfileAllowedAccessProtocolOutput) ToGetIsShareProfileAllowedAccessProtocolOutput() GetIsShareProfileAllowedAccessProtocolOutput { + return o +} + +func (o GetIsShareProfileAllowedAccessProtocolOutput) ToGetIsShareProfileAllowedAccessProtocolOutputWithContext(ctx context.Context) GetIsShareProfileAllowedAccessProtocolOutput { + return o +} + +// The default allowed access protocol modes for shares with this profile. +func (o GetIsShareProfileAllowedAccessProtocolOutput) Defaults() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfileAllowedAccessProtocol) []string { return v.Defaults }).(pulumi.StringArrayOutput) +} + +// The type for this profile field. +func (o GetIsShareProfileAllowedAccessProtocolOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileAllowedAccessProtocol) string { return v.Type }).(pulumi.StringOutput) +} + +// The possible allowed access protocols for shares with this profile. +func (o GetIsShareProfileAllowedAccessProtocolOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfileAllowedAccessProtocol) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsShareProfileAllowedAccessProtocolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileAllowedAccessProtocolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileAllowedAccessProtocol)(nil)).Elem() +} + +func (o GetIsShareProfileAllowedAccessProtocolArrayOutput) ToGetIsShareProfileAllowedAccessProtocolArrayOutput() GetIsShareProfileAllowedAccessProtocolArrayOutput { + return o +} + +func (o GetIsShareProfileAllowedAccessProtocolArrayOutput) ToGetIsShareProfileAllowedAccessProtocolArrayOutputWithContext(ctx context.Context) GetIsShareProfileAllowedAccessProtocolArrayOutput { + return o +} + +func (o GetIsShareProfileAllowedAccessProtocolArrayOutput) Index(i pulumi.IntInput) GetIsShareProfileAllowedAccessProtocolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfileAllowedAccessProtocol { + return vs[0].([]GetIsShareProfileAllowedAccessProtocol)[vs[1].(int)] + }).(GetIsShareProfileAllowedAccessProtocolOutput) +} + +type GetIsShareProfileAllowedTransitEncryptionMode struct { + // The default allowed transit encryption modes for shares with this profile. + Defaults []string `pulumi:"defaults"` + // The type for this profile field. + Type string `pulumi:"type"` + // The allowed transit encryption modes for a share with this profile + Values []string `pulumi:"values"` +} + +// GetIsShareProfileAllowedTransitEncryptionModeInput is an input type that accepts GetIsShareProfileAllowedTransitEncryptionModeArgs and GetIsShareProfileAllowedTransitEncryptionModeOutput values. +// You can construct a concrete instance of `GetIsShareProfileAllowedTransitEncryptionModeInput` via: +// +// GetIsShareProfileAllowedTransitEncryptionModeArgs{...} +type GetIsShareProfileAllowedTransitEncryptionModeInput interface { + pulumi.Input + + ToGetIsShareProfileAllowedTransitEncryptionModeOutput() GetIsShareProfileAllowedTransitEncryptionModeOutput + ToGetIsShareProfileAllowedTransitEncryptionModeOutputWithContext(context.Context) GetIsShareProfileAllowedTransitEncryptionModeOutput +} + +type GetIsShareProfileAllowedTransitEncryptionModeArgs struct { + // The default allowed transit encryption modes for shares with this profile. + Defaults pulumi.StringArrayInput `pulumi:"defaults"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The allowed transit encryption modes for a share with this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsShareProfileAllowedTransitEncryptionModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileAllowedTransitEncryptionMode)(nil)).Elem() +} + +func (i GetIsShareProfileAllowedTransitEncryptionModeArgs) ToGetIsShareProfileAllowedTransitEncryptionModeOutput() GetIsShareProfileAllowedTransitEncryptionModeOutput { + return i.ToGetIsShareProfileAllowedTransitEncryptionModeOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileAllowedTransitEncryptionModeArgs) ToGetIsShareProfileAllowedTransitEncryptionModeOutputWithContext(ctx context.Context) GetIsShareProfileAllowedTransitEncryptionModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileAllowedTransitEncryptionModeOutput) +} + +// GetIsShareProfileAllowedTransitEncryptionModeArrayInput is an input type that accepts GetIsShareProfileAllowedTransitEncryptionModeArray and GetIsShareProfileAllowedTransitEncryptionModeArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfileAllowedTransitEncryptionModeArrayInput` via: +// +// GetIsShareProfileAllowedTransitEncryptionModeArray{ GetIsShareProfileAllowedTransitEncryptionModeArgs{...} } +type GetIsShareProfileAllowedTransitEncryptionModeArrayInput interface { + pulumi.Input + + ToGetIsShareProfileAllowedTransitEncryptionModeArrayOutput() GetIsShareProfileAllowedTransitEncryptionModeArrayOutput + ToGetIsShareProfileAllowedTransitEncryptionModeArrayOutputWithContext(context.Context) GetIsShareProfileAllowedTransitEncryptionModeArrayOutput +} + +type GetIsShareProfileAllowedTransitEncryptionModeArray []GetIsShareProfileAllowedTransitEncryptionModeInput + +func (GetIsShareProfileAllowedTransitEncryptionModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileAllowedTransitEncryptionMode)(nil)).Elem() +} + +func (i GetIsShareProfileAllowedTransitEncryptionModeArray) ToGetIsShareProfileAllowedTransitEncryptionModeArrayOutput() GetIsShareProfileAllowedTransitEncryptionModeArrayOutput { + return i.ToGetIsShareProfileAllowedTransitEncryptionModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileAllowedTransitEncryptionModeArray) ToGetIsShareProfileAllowedTransitEncryptionModeArrayOutputWithContext(ctx context.Context) GetIsShareProfileAllowedTransitEncryptionModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileAllowedTransitEncryptionModeArrayOutput) +} + +type GetIsShareProfileAllowedTransitEncryptionModeOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileAllowedTransitEncryptionModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileAllowedTransitEncryptionMode)(nil)).Elem() +} + +func (o GetIsShareProfileAllowedTransitEncryptionModeOutput) ToGetIsShareProfileAllowedTransitEncryptionModeOutput() GetIsShareProfileAllowedTransitEncryptionModeOutput { + return o +} + +func (o GetIsShareProfileAllowedTransitEncryptionModeOutput) ToGetIsShareProfileAllowedTransitEncryptionModeOutputWithContext(ctx context.Context) GetIsShareProfileAllowedTransitEncryptionModeOutput { + return o +} + +// The default allowed transit encryption modes for shares with this profile. +func (o GetIsShareProfileAllowedTransitEncryptionModeOutput) Defaults() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfileAllowedTransitEncryptionMode) []string { return v.Defaults }).(pulumi.StringArrayOutput) +} + +// The type for this profile field. +func (o GetIsShareProfileAllowedTransitEncryptionModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileAllowedTransitEncryptionMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The allowed transit encryption modes for a share with this profile +func (o GetIsShareProfileAllowedTransitEncryptionModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfileAllowedTransitEncryptionMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsShareProfileAllowedTransitEncryptionModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileAllowedTransitEncryptionModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileAllowedTransitEncryptionMode)(nil)).Elem() +} + +func (o GetIsShareProfileAllowedTransitEncryptionModeArrayOutput) ToGetIsShareProfileAllowedTransitEncryptionModeArrayOutput() GetIsShareProfileAllowedTransitEncryptionModeArrayOutput { + return o +} + +func (o GetIsShareProfileAllowedTransitEncryptionModeArrayOutput) ToGetIsShareProfileAllowedTransitEncryptionModeArrayOutputWithContext(ctx context.Context) GetIsShareProfileAllowedTransitEncryptionModeArrayOutput { + return o +} + +func (o GetIsShareProfileAllowedTransitEncryptionModeArrayOutput) Index(i pulumi.IntInput) GetIsShareProfileAllowedTransitEncryptionModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfileAllowedTransitEncryptionMode { + return vs[0].([]GetIsShareProfileAllowedTransitEncryptionMode)[vs[1].(int)] + }).(GetIsShareProfileAllowedTransitEncryptionModeOutput) +} + +type GetIsShareProfileAvailabilityMode struct { + // The default data availability mode for this profile. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field + Value string `pulumi:"value"` + // The permitted values for this profile field. + Values []string `pulumi:"values"` +} + +// GetIsShareProfileAvailabilityModeInput is an input type that accepts GetIsShareProfileAvailabilityModeArgs and GetIsShareProfileAvailabilityModeOutput values. +// You can construct a concrete instance of `GetIsShareProfileAvailabilityModeInput` via: +// +// GetIsShareProfileAvailabilityModeArgs{...} +type GetIsShareProfileAvailabilityModeInput interface { + pulumi.Input + + ToGetIsShareProfileAvailabilityModeOutput() GetIsShareProfileAvailabilityModeOutput + ToGetIsShareProfileAvailabilityModeOutputWithContext(context.Context) GetIsShareProfileAvailabilityModeOutput +} + +type GetIsShareProfileAvailabilityModeArgs struct { + // The default data availability mode for this profile. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.StringInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsShareProfileAvailabilityModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileAvailabilityMode)(nil)).Elem() +} + +func (i GetIsShareProfileAvailabilityModeArgs) ToGetIsShareProfileAvailabilityModeOutput() GetIsShareProfileAvailabilityModeOutput { + return i.ToGetIsShareProfileAvailabilityModeOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileAvailabilityModeArgs) ToGetIsShareProfileAvailabilityModeOutputWithContext(ctx context.Context) GetIsShareProfileAvailabilityModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileAvailabilityModeOutput) +} + +// GetIsShareProfileAvailabilityModeArrayInput is an input type that accepts GetIsShareProfileAvailabilityModeArray and GetIsShareProfileAvailabilityModeArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfileAvailabilityModeArrayInput` via: +// +// GetIsShareProfileAvailabilityModeArray{ GetIsShareProfileAvailabilityModeArgs{...} } +type GetIsShareProfileAvailabilityModeArrayInput interface { + pulumi.Input + + ToGetIsShareProfileAvailabilityModeArrayOutput() GetIsShareProfileAvailabilityModeArrayOutput + ToGetIsShareProfileAvailabilityModeArrayOutputWithContext(context.Context) GetIsShareProfileAvailabilityModeArrayOutput +} + +type GetIsShareProfileAvailabilityModeArray []GetIsShareProfileAvailabilityModeInput + +func (GetIsShareProfileAvailabilityModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileAvailabilityMode)(nil)).Elem() +} + +func (i GetIsShareProfileAvailabilityModeArray) ToGetIsShareProfileAvailabilityModeArrayOutput() GetIsShareProfileAvailabilityModeArrayOutput { + return i.ToGetIsShareProfileAvailabilityModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileAvailabilityModeArray) ToGetIsShareProfileAvailabilityModeArrayOutputWithContext(ctx context.Context) GetIsShareProfileAvailabilityModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileAvailabilityModeArrayOutput) +} + +type GetIsShareProfileAvailabilityModeOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileAvailabilityModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileAvailabilityMode)(nil)).Elem() +} + +func (o GetIsShareProfileAvailabilityModeOutput) ToGetIsShareProfileAvailabilityModeOutput() GetIsShareProfileAvailabilityModeOutput { + return o +} + +func (o GetIsShareProfileAvailabilityModeOutput) ToGetIsShareProfileAvailabilityModeOutputWithContext(ctx context.Context) GetIsShareProfileAvailabilityModeOutput { + return o +} + +// The default data availability mode for this profile. +func (o GetIsShareProfileAvailabilityModeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileAvailabilityMode) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsShareProfileAvailabilityModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileAvailabilityMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsShareProfileAvailabilityModeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileAvailabilityMode) string { return v.Value }).(pulumi.StringOutput) +} + +// The permitted values for this profile field. +func (o GetIsShareProfileAvailabilityModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfileAvailabilityMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsShareProfileAvailabilityModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileAvailabilityModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileAvailabilityMode)(nil)).Elem() +} + +func (o GetIsShareProfileAvailabilityModeArrayOutput) ToGetIsShareProfileAvailabilityModeArrayOutput() GetIsShareProfileAvailabilityModeArrayOutput { + return o +} + +func (o GetIsShareProfileAvailabilityModeArrayOutput) ToGetIsShareProfileAvailabilityModeArrayOutputWithContext(ctx context.Context) GetIsShareProfileAvailabilityModeArrayOutput { + return o +} + +func (o GetIsShareProfileAvailabilityModeArrayOutput) Index(i pulumi.IntInput) GetIsShareProfileAvailabilityModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfileAvailabilityMode { + return vs[0].([]GetIsShareProfileAvailabilityMode)[vs[1].(int)] + }).(GetIsShareProfileAvailabilityModeOutput) +} + +type GetIsShareProfileBandwidth struct { + // The default capacity. + Default int `pulumi:"default"` + // The max capacity. + Max int `pulumi:"max"` + // The min capacity. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsShareProfileBandwidthInput is an input type that accepts GetIsShareProfileBandwidthArgs and GetIsShareProfileBandwidthOutput values. +// You can construct a concrete instance of `GetIsShareProfileBandwidthInput` via: +// +// GetIsShareProfileBandwidthArgs{...} +type GetIsShareProfileBandwidthInput interface { + pulumi.Input + + ToGetIsShareProfileBandwidthOutput() GetIsShareProfileBandwidthOutput + ToGetIsShareProfileBandwidthOutputWithContext(context.Context) GetIsShareProfileBandwidthOutput +} + +type GetIsShareProfileBandwidthArgs struct { + // The default capacity. + Default pulumi.IntInput `pulumi:"default"` + // The max capacity. + Max pulumi.IntInput `pulumi:"max"` + // The min capacity. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsShareProfileBandwidthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileBandwidth)(nil)).Elem() +} + +func (i GetIsShareProfileBandwidthArgs) ToGetIsShareProfileBandwidthOutput() GetIsShareProfileBandwidthOutput { + return i.ToGetIsShareProfileBandwidthOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileBandwidthArgs) ToGetIsShareProfileBandwidthOutputWithContext(ctx context.Context) GetIsShareProfileBandwidthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileBandwidthOutput) +} + +// GetIsShareProfileBandwidthArrayInput is an input type that accepts GetIsShareProfileBandwidthArray and GetIsShareProfileBandwidthArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfileBandwidthArrayInput` via: +// +// GetIsShareProfileBandwidthArray{ GetIsShareProfileBandwidthArgs{...} } +type GetIsShareProfileBandwidthArrayInput interface { + pulumi.Input + + ToGetIsShareProfileBandwidthArrayOutput() GetIsShareProfileBandwidthArrayOutput + ToGetIsShareProfileBandwidthArrayOutputWithContext(context.Context) GetIsShareProfileBandwidthArrayOutput +} + +type GetIsShareProfileBandwidthArray []GetIsShareProfileBandwidthInput + +func (GetIsShareProfileBandwidthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileBandwidth)(nil)).Elem() +} + +func (i GetIsShareProfileBandwidthArray) ToGetIsShareProfileBandwidthArrayOutput() GetIsShareProfileBandwidthArrayOutput { + return i.ToGetIsShareProfileBandwidthArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileBandwidthArray) ToGetIsShareProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsShareProfileBandwidthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileBandwidthArrayOutput) +} + +type GetIsShareProfileBandwidthOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileBandwidthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileBandwidth)(nil)).Elem() +} + +func (o GetIsShareProfileBandwidthOutput) ToGetIsShareProfileBandwidthOutput() GetIsShareProfileBandwidthOutput { + return o +} + +func (o GetIsShareProfileBandwidthOutput) ToGetIsShareProfileBandwidthOutputWithContext(ctx context.Context) GetIsShareProfileBandwidthOutput { + return o +} + +// The default capacity. +func (o GetIsShareProfileBandwidthOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileBandwidth) int { return v.Default }).(pulumi.IntOutput) +} + +// The max capacity. +func (o GetIsShareProfileBandwidthOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileBandwidth) int { return v.Max }).(pulumi.IntOutput) +} + +// The min capacity. +func (o GetIsShareProfileBandwidthOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileBandwidth) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsShareProfileBandwidthOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileBandwidth) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsShareProfileBandwidthOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileBandwidth) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsShareProfileBandwidthOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileBandwidth) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsShareProfileBandwidthOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsShareProfileBandwidth) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsShareProfileBandwidthArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileBandwidthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileBandwidth)(nil)).Elem() +} + +func (o GetIsShareProfileBandwidthArrayOutput) ToGetIsShareProfileBandwidthArrayOutput() GetIsShareProfileBandwidthArrayOutput { + return o +} + +func (o GetIsShareProfileBandwidthArrayOutput) ToGetIsShareProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsShareProfileBandwidthArrayOutput { + return o +} + +func (o GetIsShareProfileBandwidthArrayOutput) Index(i pulumi.IntInput) GetIsShareProfileBandwidthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfileBandwidth { + return vs[0].([]GetIsShareProfileBandwidth)[vs[1].(int)] + }).(GetIsShareProfileBandwidthOutput) +} + +type GetIsShareProfileCapacity struct { + // The default capacity. + Default int `pulumi:"default"` + // The max capacity. + Max int `pulumi:"max"` + // The min capacity. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsShareProfileCapacityInput is an input type that accepts GetIsShareProfileCapacityArgs and GetIsShareProfileCapacityOutput values. +// You can construct a concrete instance of `GetIsShareProfileCapacityInput` via: +// +// GetIsShareProfileCapacityArgs{...} +type GetIsShareProfileCapacityInput interface { + pulumi.Input + + ToGetIsShareProfileCapacityOutput() GetIsShareProfileCapacityOutput + ToGetIsShareProfileCapacityOutputWithContext(context.Context) GetIsShareProfileCapacityOutput +} + +type GetIsShareProfileCapacityArgs struct { + // The default capacity. + Default pulumi.IntInput `pulumi:"default"` + // The max capacity. + Max pulumi.IntInput `pulumi:"max"` + // The min capacity. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsShareProfileCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileCapacity)(nil)).Elem() +} + +func (i GetIsShareProfileCapacityArgs) ToGetIsShareProfileCapacityOutput() GetIsShareProfileCapacityOutput { + return i.ToGetIsShareProfileCapacityOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileCapacityArgs) ToGetIsShareProfileCapacityOutputWithContext(ctx context.Context) GetIsShareProfileCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileCapacityOutput) +} + +// GetIsShareProfileCapacityArrayInput is an input type that accepts GetIsShareProfileCapacityArray and GetIsShareProfileCapacityArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfileCapacityArrayInput` via: +// +// GetIsShareProfileCapacityArray{ GetIsShareProfileCapacityArgs{...} } +type GetIsShareProfileCapacityArrayInput interface { + pulumi.Input + + ToGetIsShareProfileCapacityArrayOutput() GetIsShareProfileCapacityArrayOutput + ToGetIsShareProfileCapacityArrayOutputWithContext(context.Context) GetIsShareProfileCapacityArrayOutput +} + +type GetIsShareProfileCapacityArray []GetIsShareProfileCapacityInput + +func (GetIsShareProfileCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileCapacity)(nil)).Elem() +} + +func (i GetIsShareProfileCapacityArray) ToGetIsShareProfileCapacityArrayOutput() GetIsShareProfileCapacityArrayOutput { + return i.ToGetIsShareProfileCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileCapacityArray) ToGetIsShareProfileCapacityArrayOutputWithContext(ctx context.Context) GetIsShareProfileCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileCapacityArrayOutput) +} + +type GetIsShareProfileCapacityOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileCapacity)(nil)).Elem() +} + +func (o GetIsShareProfileCapacityOutput) ToGetIsShareProfileCapacityOutput() GetIsShareProfileCapacityOutput { + return o +} + +func (o GetIsShareProfileCapacityOutput) ToGetIsShareProfileCapacityOutputWithContext(ctx context.Context) GetIsShareProfileCapacityOutput { + return o +} + +// The default capacity. +func (o GetIsShareProfileCapacityOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileCapacity) int { return v.Default }).(pulumi.IntOutput) +} + +// The max capacity. +func (o GetIsShareProfileCapacityOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileCapacity) int { return v.Max }).(pulumi.IntOutput) +} + +// The min capacity. +func (o GetIsShareProfileCapacityOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileCapacity) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsShareProfileCapacityOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileCapacity) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsShareProfileCapacityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileCapacity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsShareProfileCapacityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileCapacity) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsShareProfileCapacityOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsShareProfileCapacity) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsShareProfileCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileCapacity)(nil)).Elem() +} + +func (o GetIsShareProfileCapacityArrayOutput) ToGetIsShareProfileCapacityArrayOutput() GetIsShareProfileCapacityArrayOutput { + return o +} + +func (o GetIsShareProfileCapacityArrayOutput) ToGetIsShareProfileCapacityArrayOutputWithContext(ctx context.Context) GetIsShareProfileCapacityArrayOutput { + return o +} + +func (o GetIsShareProfileCapacityArrayOutput) Index(i pulumi.IntInput) GetIsShareProfileCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfileCapacity { + return vs[0].([]GetIsShareProfileCapacity)[vs[1].(int)] + }).(GetIsShareProfileCapacityOutput) +} + +type GetIsShareProfileIop struct { + // The default iops. + Default int `pulumi:"default"` + // The max iops. + Max int `pulumi:"max"` + // The min iops. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values int `pulumi:"values"` +} + +// GetIsShareProfileIopInput is an input type that accepts GetIsShareProfileIopArgs and GetIsShareProfileIopOutput values. +// You can construct a concrete instance of `GetIsShareProfileIopInput` via: +// +// GetIsShareProfileIopArgs{...} +type GetIsShareProfileIopInput interface { + pulumi.Input + + ToGetIsShareProfileIopOutput() GetIsShareProfileIopOutput + ToGetIsShareProfileIopOutputWithContext(context.Context) GetIsShareProfileIopOutput +} + +type GetIsShareProfileIopArgs struct { + // The default iops. + Default pulumi.IntInput `pulumi:"default"` + // The max iops. + Max pulumi.IntInput `pulumi:"max"` + // The min iops. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntInput `pulumi:"values"` +} + +func (GetIsShareProfileIopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileIop)(nil)).Elem() +} + +func (i GetIsShareProfileIopArgs) ToGetIsShareProfileIopOutput() GetIsShareProfileIopOutput { + return i.ToGetIsShareProfileIopOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileIopArgs) ToGetIsShareProfileIopOutputWithContext(ctx context.Context) GetIsShareProfileIopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileIopOutput) +} + +// GetIsShareProfileIopArrayInput is an input type that accepts GetIsShareProfileIopArray and GetIsShareProfileIopArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfileIopArrayInput` via: +// +// GetIsShareProfileIopArray{ GetIsShareProfileIopArgs{...} } +type GetIsShareProfileIopArrayInput interface { + pulumi.Input + + ToGetIsShareProfileIopArrayOutput() GetIsShareProfileIopArrayOutput + ToGetIsShareProfileIopArrayOutputWithContext(context.Context) GetIsShareProfileIopArrayOutput +} + +type GetIsShareProfileIopArray []GetIsShareProfileIopInput + +func (GetIsShareProfileIopArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileIop)(nil)).Elem() +} + +func (i GetIsShareProfileIopArray) ToGetIsShareProfileIopArrayOutput() GetIsShareProfileIopArrayOutput { + return i.ToGetIsShareProfileIopArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfileIopArray) ToGetIsShareProfileIopArrayOutputWithContext(ctx context.Context) GetIsShareProfileIopArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfileIopArrayOutput) +} + +type GetIsShareProfileIopOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileIopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfileIop)(nil)).Elem() +} + +func (o GetIsShareProfileIopOutput) ToGetIsShareProfileIopOutput() GetIsShareProfileIopOutput { + return o +} + +func (o GetIsShareProfileIopOutput) ToGetIsShareProfileIopOutputWithContext(ctx context.Context) GetIsShareProfileIopOutput { + return o +} + +// The default iops. +func (o GetIsShareProfileIopOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileIop) int { return v.Default }).(pulumi.IntOutput) +} + +// The max iops. +func (o GetIsShareProfileIopOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileIop) int { return v.Max }).(pulumi.IntOutput) +} + +// The min iops. +func (o GetIsShareProfileIopOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileIop) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsShareProfileIopOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileIop) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsShareProfileIopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfileIop) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsShareProfileIopOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileIop) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsShareProfileIopOutput) Values() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfileIop) int { return v.Values }).(pulumi.IntOutput) +} + +type GetIsShareProfileIopArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfileIopArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfileIop)(nil)).Elem() +} + +func (o GetIsShareProfileIopArrayOutput) ToGetIsShareProfileIopArrayOutput() GetIsShareProfileIopArrayOutput { + return o +} + +func (o GetIsShareProfileIopArrayOutput) ToGetIsShareProfileIopArrayOutputWithContext(ctx context.Context) GetIsShareProfileIopArrayOutput { + return o +} + +func (o GetIsShareProfileIopArrayOutput) Index(i pulumi.IntInput) GetIsShareProfileIopOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfileIop { + return vs[0].([]GetIsShareProfileIop)[vs[1].(int)] + }).(GetIsShareProfileIopOutput) +} + +type GetIsShareProfilesProfile struct { + AllowedAccessProtocols []GetIsShareProfilesProfileAllowedAccessProtocol `pulumi:"allowedAccessProtocols"` + AllowedTransitEncryptionModes []GetIsShareProfilesProfileAllowedTransitEncryptionMode `pulumi:"allowedTransitEncryptionModes"` + // The data availability mode of a share with this profile.. + AvailabilityModes []GetIsShareProfilesProfileAvailabilityMode `pulumi:"availabilityModes"` + // The permitted bandwidth (in megabits per second) for a share with this profile + Bandwidths []GetIsShareProfilesProfileBandwidth `pulumi:"bandwidths"` + // The permitted capacity range (in gigabytes) for a share with this profile. + Capacities []GetIsShareProfilesProfileCapacity `pulumi:"capacities"` + // The product family this share profile belongs to. + Family string `pulumi:"family"` + // The URL for this share profile. + Href string `pulumi:"href"` + // The permitted IOPS range for a share with this profile. + Iops []GetIsShareProfilesProfileIop `pulumi:"iops"` + // The globally unique name for this share profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareProfilesProfileInput is an input type that accepts GetIsShareProfilesProfileArgs and GetIsShareProfilesProfileOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileInput` via: +// +// GetIsShareProfilesProfileArgs{...} +type GetIsShareProfilesProfileInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileOutput() GetIsShareProfilesProfileOutput + ToGetIsShareProfilesProfileOutputWithContext(context.Context) GetIsShareProfilesProfileOutput +} + +type GetIsShareProfilesProfileArgs struct { + AllowedAccessProtocols GetIsShareProfilesProfileAllowedAccessProtocolArrayInput `pulumi:"allowedAccessProtocols"` + AllowedTransitEncryptionModes GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayInput `pulumi:"allowedTransitEncryptionModes"` + // The data availability mode of a share with this profile.. + AvailabilityModes GetIsShareProfilesProfileAvailabilityModeArrayInput `pulumi:"availabilityModes"` + // The permitted bandwidth (in megabits per second) for a share with this profile + Bandwidths GetIsShareProfilesProfileBandwidthArrayInput `pulumi:"bandwidths"` + // The permitted capacity range (in gigabytes) for a share with this profile. + Capacities GetIsShareProfilesProfileCapacityArrayInput `pulumi:"capacities"` + // The product family this share profile belongs to. + Family pulumi.StringInput `pulumi:"family"` + // The URL for this share profile. + Href pulumi.StringInput `pulumi:"href"` + // The permitted IOPS range for a share with this profile. + Iops GetIsShareProfilesProfileIopArrayInput `pulumi:"iops"` + // The globally unique name for this share profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareProfilesProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfile)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileArgs) ToGetIsShareProfilesProfileOutput() GetIsShareProfilesProfileOutput { + return i.ToGetIsShareProfilesProfileOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileArgs) ToGetIsShareProfilesProfileOutputWithContext(ctx context.Context) GetIsShareProfilesProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileOutput) +} + +// GetIsShareProfilesProfileArrayInput is an input type that accepts GetIsShareProfilesProfileArray and GetIsShareProfilesProfileArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileArrayInput` via: +// +// GetIsShareProfilesProfileArray{ GetIsShareProfilesProfileArgs{...} } +type GetIsShareProfilesProfileArrayInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileArrayOutput() GetIsShareProfilesProfileArrayOutput + ToGetIsShareProfilesProfileArrayOutputWithContext(context.Context) GetIsShareProfilesProfileArrayOutput +} + +type GetIsShareProfilesProfileArray []GetIsShareProfilesProfileInput + +func (GetIsShareProfilesProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfile)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileArray) ToGetIsShareProfilesProfileArrayOutput() GetIsShareProfilesProfileArrayOutput { + return i.ToGetIsShareProfilesProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileArray) ToGetIsShareProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileArrayOutput) +} + +type GetIsShareProfilesProfileOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfile)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileOutput) ToGetIsShareProfilesProfileOutput() GetIsShareProfilesProfileOutput { + return o +} + +func (o GetIsShareProfilesProfileOutput) ToGetIsShareProfilesProfileOutputWithContext(ctx context.Context) GetIsShareProfilesProfileOutput { + return o +} + +func (o GetIsShareProfilesProfileOutput) AllowedAccessProtocols() GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) []GetIsShareProfilesProfileAllowedAccessProtocol { + return v.AllowedAccessProtocols + }).(GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput) +} + +func (o GetIsShareProfilesProfileOutput) AllowedTransitEncryptionModes() GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) []GetIsShareProfilesProfileAllowedTransitEncryptionMode { + return v.AllowedTransitEncryptionModes + }).(GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput) +} + +// The data availability mode of a share with this profile.. +func (o GetIsShareProfilesProfileOutput) AvailabilityModes() GetIsShareProfilesProfileAvailabilityModeArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) []GetIsShareProfilesProfileAvailabilityMode { + return v.AvailabilityModes + }).(GetIsShareProfilesProfileAvailabilityModeArrayOutput) +} + +// The permitted bandwidth (in megabits per second) for a share with this profile +func (o GetIsShareProfilesProfileOutput) Bandwidths() GetIsShareProfilesProfileBandwidthArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) []GetIsShareProfilesProfileBandwidth { return v.Bandwidths }).(GetIsShareProfilesProfileBandwidthArrayOutput) +} + +// The permitted capacity range (in gigabytes) for a share with this profile. +func (o GetIsShareProfilesProfileOutput) Capacities() GetIsShareProfilesProfileCapacityArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) []GetIsShareProfilesProfileCapacity { return v.Capacities }).(GetIsShareProfilesProfileCapacityArrayOutput) +} + +// The product family this share profile belongs to. +func (o GetIsShareProfilesProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this share profile. +func (o GetIsShareProfilesProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The permitted IOPS range for a share with this profile. +func (o GetIsShareProfilesProfileOutput) Iops() GetIsShareProfilesProfileIopArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) []GetIsShareProfilesProfileIop { return v.Iops }).(GetIsShareProfilesProfileIopArrayOutput) +} + +// The globally unique name for this share profile. +func (o GetIsShareProfilesProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareProfilesProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareProfilesProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfile)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileArrayOutput) ToGetIsShareProfilesProfileArrayOutput() GetIsShareProfilesProfileArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileArrayOutput) ToGetIsShareProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileArrayOutput) Index(i pulumi.IntInput) GetIsShareProfilesProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfilesProfile { + return vs[0].([]GetIsShareProfilesProfile)[vs[1].(int)] + }).(GetIsShareProfilesProfileOutput) +} + +type GetIsShareProfilesProfileAllowedAccessProtocol struct { + // The default allowed access protocol modes for shares with this profile. + Defaults []string `pulumi:"defaults"` + // The type for this profile field. + Type string `pulumi:"type"` + // The possible allowed access protocols for shares with this profile. + Values []string `pulumi:"values"` +} + +// GetIsShareProfilesProfileAllowedAccessProtocolInput is an input type that accepts GetIsShareProfilesProfileAllowedAccessProtocolArgs and GetIsShareProfilesProfileAllowedAccessProtocolOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileAllowedAccessProtocolInput` via: +// +// GetIsShareProfilesProfileAllowedAccessProtocolArgs{...} +type GetIsShareProfilesProfileAllowedAccessProtocolInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileAllowedAccessProtocolOutput() GetIsShareProfilesProfileAllowedAccessProtocolOutput + ToGetIsShareProfilesProfileAllowedAccessProtocolOutputWithContext(context.Context) GetIsShareProfilesProfileAllowedAccessProtocolOutput +} + +type GetIsShareProfilesProfileAllowedAccessProtocolArgs struct { + // The default allowed access protocol modes for shares with this profile. + Defaults pulumi.StringArrayInput `pulumi:"defaults"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The possible allowed access protocols for shares with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsShareProfilesProfileAllowedAccessProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileAllowedAccessProtocol)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileAllowedAccessProtocolArgs) ToGetIsShareProfilesProfileAllowedAccessProtocolOutput() GetIsShareProfilesProfileAllowedAccessProtocolOutput { + return i.ToGetIsShareProfilesProfileAllowedAccessProtocolOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileAllowedAccessProtocolArgs) ToGetIsShareProfilesProfileAllowedAccessProtocolOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAllowedAccessProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileAllowedAccessProtocolOutput) +} + +// GetIsShareProfilesProfileAllowedAccessProtocolArrayInput is an input type that accepts GetIsShareProfilesProfileAllowedAccessProtocolArray and GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileAllowedAccessProtocolArrayInput` via: +// +// GetIsShareProfilesProfileAllowedAccessProtocolArray{ GetIsShareProfilesProfileAllowedAccessProtocolArgs{...} } +type GetIsShareProfilesProfileAllowedAccessProtocolArrayInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileAllowedAccessProtocolArrayOutput() GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput + ToGetIsShareProfilesProfileAllowedAccessProtocolArrayOutputWithContext(context.Context) GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput +} + +type GetIsShareProfilesProfileAllowedAccessProtocolArray []GetIsShareProfilesProfileAllowedAccessProtocolInput + +func (GetIsShareProfilesProfileAllowedAccessProtocolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileAllowedAccessProtocol)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileAllowedAccessProtocolArray) ToGetIsShareProfilesProfileAllowedAccessProtocolArrayOutput() GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput { + return i.ToGetIsShareProfilesProfileAllowedAccessProtocolArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileAllowedAccessProtocolArray) ToGetIsShareProfilesProfileAllowedAccessProtocolArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput) +} + +type GetIsShareProfilesProfileAllowedAccessProtocolOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileAllowedAccessProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileAllowedAccessProtocol)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileAllowedAccessProtocolOutput) ToGetIsShareProfilesProfileAllowedAccessProtocolOutput() GetIsShareProfilesProfileAllowedAccessProtocolOutput { + return o +} + +func (o GetIsShareProfilesProfileAllowedAccessProtocolOutput) ToGetIsShareProfilesProfileAllowedAccessProtocolOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAllowedAccessProtocolOutput { + return o +} + +// The default allowed access protocol modes for shares with this profile. +func (o GetIsShareProfilesProfileAllowedAccessProtocolOutput) Defaults() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAllowedAccessProtocol) []string { return v.Defaults }).(pulumi.StringArrayOutput) +} + +// The type for this profile field. +func (o GetIsShareProfilesProfileAllowedAccessProtocolOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAllowedAccessProtocol) string { return v.Type }).(pulumi.StringOutput) +} + +// The possible allowed access protocols for shares with this profile. +func (o GetIsShareProfilesProfileAllowedAccessProtocolOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAllowedAccessProtocol) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileAllowedAccessProtocol)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput) ToGetIsShareProfilesProfileAllowedAccessProtocolArrayOutput() GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput) ToGetIsShareProfilesProfileAllowedAccessProtocolArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput) Index(i pulumi.IntInput) GetIsShareProfilesProfileAllowedAccessProtocolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfilesProfileAllowedAccessProtocol { + return vs[0].([]GetIsShareProfilesProfileAllowedAccessProtocol)[vs[1].(int)] + }).(GetIsShareProfilesProfileAllowedAccessProtocolOutput) +} + +type GetIsShareProfilesProfileAllowedTransitEncryptionMode struct { + // The default allowed transit encryption modes for shares with this profile. + Defaults []string `pulumi:"defaults"` + // The type for this profile field. + Type string `pulumi:"type"` + // The allowed transit encryption modes for a share with this profile + Values []string `pulumi:"values"` +} + +// GetIsShareProfilesProfileAllowedTransitEncryptionModeInput is an input type that accepts GetIsShareProfilesProfileAllowedTransitEncryptionModeArgs and GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileAllowedTransitEncryptionModeInput` via: +// +// GetIsShareProfilesProfileAllowedTransitEncryptionModeArgs{...} +type GetIsShareProfilesProfileAllowedTransitEncryptionModeInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileAllowedTransitEncryptionModeOutput() GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput + ToGetIsShareProfilesProfileAllowedTransitEncryptionModeOutputWithContext(context.Context) GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput +} + +type GetIsShareProfilesProfileAllowedTransitEncryptionModeArgs struct { + // The default allowed transit encryption modes for shares with this profile. + Defaults pulumi.StringArrayInput `pulumi:"defaults"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The allowed transit encryption modes for a share with this profile + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsShareProfilesProfileAllowedTransitEncryptionModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileAllowedTransitEncryptionMode)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileAllowedTransitEncryptionModeArgs) ToGetIsShareProfilesProfileAllowedTransitEncryptionModeOutput() GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput { + return i.ToGetIsShareProfilesProfileAllowedTransitEncryptionModeOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileAllowedTransitEncryptionModeArgs) ToGetIsShareProfilesProfileAllowedTransitEncryptionModeOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput) +} + +// GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayInput is an input type that accepts GetIsShareProfilesProfileAllowedTransitEncryptionModeArray and GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayInput` via: +// +// GetIsShareProfilesProfileAllowedTransitEncryptionModeArray{ GetIsShareProfilesProfileAllowedTransitEncryptionModeArgs{...} } +type GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput() GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput + ToGetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutputWithContext(context.Context) GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput +} + +type GetIsShareProfilesProfileAllowedTransitEncryptionModeArray []GetIsShareProfilesProfileAllowedTransitEncryptionModeInput + +func (GetIsShareProfilesProfileAllowedTransitEncryptionModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileAllowedTransitEncryptionMode)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileAllowedTransitEncryptionModeArray) ToGetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput() GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput { + return i.ToGetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileAllowedTransitEncryptionModeArray) ToGetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput) +} + +type GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileAllowedTransitEncryptionMode)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput) ToGetIsShareProfilesProfileAllowedTransitEncryptionModeOutput() GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput { + return o +} + +func (o GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput) ToGetIsShareProfilesProfileAllowedTransitEncryptionModeOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput { + return o +} + +// The default allowed transit encryption modes for shares with this profile. +func (o GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput) Defaults() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAllowedTransitEncryptionMode) []string { return v.Defaults }).(pulumi.StringArrayOutput) +} + +// The type for this profile field. +func (o GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAllowedTransitEncryptionMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The allowed transit encryption modes for a share with this profile +func (o GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAllowedTransitEncryptionMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileAllowedTransitEncryptionMode)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput) ToGetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput() GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput) ToGetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput) Index(i pulumi.IntInput) GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfilesProfileAllowedTransitEncryptionMode { + return vs[0].([]GetIsShareProfilesProfileAllowedTransitEncryptionMode)[vs[1].(int)] + }).(GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput) +} + +type GetIsShareProfilesProfileAvailabilityMode struct { + // The default data availability mode for this profile. + Default string `pulumi:"default"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field + Value string `pulumi:"value"` + // The permitted values for this profile field. + Values []string `pulumi:"values"` +} + +// GetIsShareProfilesProfileAvailabilityModeInput is an input type that accepts GetIsShareProfilesProfileAvailabilityModeArgs and GetIsShareProfilesProfileAvailabilityModeOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileAvailabilityModeInput` via: +// +// GetIsShareProfilesProfileAvailabilityModeArgs{...} +type GetIsShareProfilesProfileAvailabilityModeInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileAvailabilityModeOutput() GetIsShareProfilesProfileAvailabilityModeOutput + ToGetIsShareProfilesProfileAvailabilityModeOutputWithContext(context.Context) GetIsShareProfilesProfileAvailabilityModeOutput +} + +type GetIsShareProfilesProfileAvailabilityModeArgs struct { + // The default data availability mode for this profile. + Default pulumi.StringInput `pulumi:"default"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.StringInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsShareProfilesProfileAvailabilityModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileAvailabilityMode)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileAvailabilityModeArgs) ToGetIsShareProfilesProfileAvailabilityModeOutput() GetIsShareProfilesProfileAvailabilityModeOutput { + return i.ToGetIsShareProfilesProfileAvailabilityModeOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileAvailabilityModeArgs) ToGetIsShareProfilesProfileAvailabilityModeOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAvailabilityModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileAvailabilityModeOutput) +} + +// GetIsShareProfilesProfileAvailabilityModeArrayInput is an input type that accepts GetIsShareProfilesProfileAvailabilityModeArray and GetIsShareProfilesProfileAvailabilityModeArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileAvailabilityModeArrayInput` via: +// +// GetIsShareProfilesProfileAvailabilityModeArray{ GetIsShareProfilesProfileAvailabilityModeArgs{...} } +type GetIsShareProfilesProfileAvailabilityModeArrayInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileAvailabilityModeArrayOutput() GetIsShareProfilesProfileAvailabilityModeArrayOutput + ToGetIsShareProfilesProfileAvailabilityModeArrayOutputWithContext(context.Context) GetIsShareProfilesProfileAvailabilityModeArrayOutput +} + +type GetIsShareProfilesProfileAvailabilityModeArray []GetIsShareProfilesProfileAvailabilityModeInput + +func (GetIsShareProfilesProfileAvailabilityModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileAvailabilityMode)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileAvailabilityModeArray) ToGetIsShareProfilesProfileAvailabilityModeArrayOutput() GetIsShareProfilesProfileAvailabilityModeArrayOutput { + return i.ToGetIsShareProfilesProfileAvailabilityModeArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileAvailabilityModeArray) ToGetIsShareProfilesProfileAvailabilityModeArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAvailabilityModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileAvailabilityModeArrayOutput) +} + +type GetIsShareProfilesProfileAvailabilityModeOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileAvailabilityModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileAvailabilityMode)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileAvailabilityModeOutput) ToGetIsShareProfilesProfileAvailabilityModeOutput() GetIsShareProfilesProfileAvailabilityModeOutput { + return o +} + +func (o GetIsShareProfilesProfileAvailabilityModeOutput) ToGetIsShareProfilesProfileAvailabilityModeOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAvailabilityModeOutput { + return o +} + +// The default data availability mode for this profile. +func (o GetIsShareProfilesProfileAvailabilityModeOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAvailabilityMode) string { return v.Default }).(pulumi.StringOutput) +} + +// The type for this profile field. +func (o GetIsShareProfilesProfileAvailabilityModeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAvailabilityMode) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsShareProfilesProfileAvailabilityModeOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAvailabilityMode) string { return v.Value }).(pulumi.StringOutput) +} + +// The permitted values for this profile field. +func (o GetIsShareProfilesProfileAvailabilityModeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileAvailabilityMode) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsShareProfilesProfileAvailabilityModeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileAvailabilityModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileAvailabilityMode)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileAvailabilityModeArrayOutput) ToGetIsShareProfilesProfileAvailabilityModeArrayOutput() GetIsShareProfilesProfileAvailabilityModeArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileAvailabilityModeArrayOutput) ToGetIsShareProfilesProfileAvailabilityModeArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileAvailabilityModeArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileAvailabilityModeArrayOutput) Index(i pulumi.IntInput) GetIsShareProfilesProfileAvailabilityModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfilesProfileAvailabilityMode { + return vs[0].([]GetIsShareProfilesProfileAvailabilityMode)[vs[1].(int)] + }).(GetIsShareProfilesProfileAvailabilityModeOutput) +} + +type GetIsShareProfilesProfileBandwidth struct { + // The default capacity. + Default int `pulumi:"default"` + // The max capacity. + Max int `pulumi:"max"` + // The min capacity. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsShareProfilesProfileBandwidthInput is an input type that accepts GetIsShareProfilesProfileBandwidthArgs and GetIsShareProfilesProfileBandwidthOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileBandwidthInput` via: +// +// GetIsShareProfilesProfileBandwidthArgs{...} +type GetIsShareProfilesProfileBandwidthInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileBandwidthOutput() GetIsShareProfilesProfileBandwidthOutput + ToGetIsShareProfilesProfileBandwidthOutputWithContext(context.Context) GetIsShareProfilesProfileBandwidthOutput +} + +type GetIsShareProfilesProfileBandwidthArgs struct { + // The default capacity. + Default pulumi.IntInput `pulumi:"default"` + // The max capacity. + Max pulumi.IntInput `pulumi:"max"` + // The min capacity. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsShareProfilesProfileBandwidthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileBandwidth)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileBandwidthArgs) ToGetIsShareProfilesProfileBandwidthOutput() GetIsShareProfilesProfileBandwidthOutput { + return i.ToGetIsShareProfilesProfileBandwidthOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileBandwidthArgs) ToGetIsShareProfilesProfileBandwidthOutputWithContext(ctx context.Context) GetIsShareProfilesProfileBandwidthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileBandwidthOutput) +} + +// GetIsShareProfilesProfileBandwidthArrayInput is an input type that accepts GetIsShareProfilesProfileBandwidthArray and GetIsShareProfilesProfileBandwidthArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileBandwidthArrayInput` via: +// +// GetIsShareProfilesProfileBandwidthArray{ GetIsShareProfilesProfileBandwidthArgs{...} } +type GetIsShareProfilesProfileBandwidthArrayInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileBandwidthArrayOutput() GetIsShareProfilesProfileBandwidthArrayOutput + ToGetIsShareProfilesProfileBandwidthArrayOutputWithContext(context.Context) GetIsShareProfilesProfileBandwidthArrayOutput +} + +type GetIsShareProfilesProfileBandwidthArray []GetIsShareProfilesProfileBandwidthInput + +func (GetIsShareProfilesProfileBandwidthArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileBandwidth)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileBandwidthArray) ToGetIsShareProfilesProfileBandwidthArrayOutput() GetIsShareProfilesProfileBandwidthArrayOutput { + return i.ToGetIsShareProfilesProfileBandwidthArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileBandwidthArray) ToGetIsShareProfilesProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileBandwidthArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileBandwidthArrayOutput) +} + +type GetIsShareProfilesProfileBandwidthOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileBandwidthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileBandwidth)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileBandwidthOutput) ToGetIsShareProfilesProfileBandwidthOutput() GetIsShareProfilesProfileBandwidthOutput { + return o +} + +func (o GetIsShareProfilesProfileBandwidthOutput) ToGetIsShareProfilesProfileBandwidthOutputWithContext(ctx context.Context) GetIsShareProfilesProfileBandwidthOutput { + return o +} + +// The default capacity. +func (o GetIsShareProfilesProfileBandwidthOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileBandwidth) int { return v.Default }).(pulumi.IntOutput) +} + +// The max capacity. +func (o GetIsShareProfilesProfileBandwidthOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileBandwidth) int { return v.Max }).(pulumi.IntOutput) +} + +// The min capacity. +func (o GetIsShareProfilesProfileBandwidthOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileBandwidth) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsShareProfilesProfileBandwidthOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileBandwidth) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsShareProfilesProfileBandwidthOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileBandwidth) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsShareProfilesProfileBandwidthOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileBandwidth) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsShareProfilesProfileBandwidthOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileBandwidth) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsShareProfilesProfileBandwidthArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileBandwidthArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileBandwidth)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileBandwidthArrayOutput) ToGetIsShareProfilesProfileBandwidthArrayOutput() GetIsShareProfilesProfileBandwidthArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileBandwidthArrayOutput) ToGetIsShareProfilesProfileBandwidthArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileBandwidthArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileBandwidthArrayOutput) Index(i pulumi.IntInput) GetIsShareProfilesProfileBandwidthOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfilesProfileBandwidth { + return vs[0].([]GetIsShareProfilesProfileBandwidth)[vs[1].(int)] + }).(GetIsShareProfilesProfileBandwidthOutput) +} + +type GetIsShareProfilesProfileCapacity struct { + // The default capacity. + Default int `pulumi:"default"` + // The max capacity. + Max int `pulumi:"max"` + // The min capacity. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsShareProfilesProfileCapacityInput is an input type that accepts GetIsShareProfilesProfileCapacityArgs and GetIsShareProfilesProfileCapacityOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileCapacityInput` via: +// +// GetIsShareProfilesProfileCapacityArgs{...} +type GetIsShareProfilesProfileCapacityInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileCapacityOutput() GetIsShareProfilesProfileCapacityOutput + ToGetIsShareProfilesProfileCapacityOutputWithContext(context.Context) GetIsShareProfilesProfileCapacityOutput +} + +type GetIsShareProfilesProfileCapacityArgs struct { + // The default capacity. + Default pulumi.IntInput `pulumi:"default"` + // The max capacity. + Max pulumi.IntInput `pulumi:"max"` + // The min capacity. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsShareProfilesProfileCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileCapacity)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileCapacityArgs) ToGetIsShareProfilesProfileCapacityOutput() GetIsShareProfilesProfileCapacityOutput { + return i.ToGetIsShareProfilesProfileCapacityOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileCapacityArgs) ToGetIsShareProfilesProfileCapacityOutputWithContext(ctx context.Context) GetIsShareProfilesProfileCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileCapacityOutput) +} + +// GetIsShareProfilesProfileCapacityArrayInput is an input type that accepts GetIsShareProfilesProfileCapacityArray and GetIsShareProfilesProfileCapacityArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileCapacityArrayInput` via: +// +// GetIsShareProfilesProfileCapacityArray{ GetIsShareProfilesProfileCapacityArgs{...} } +type GetIsShareProfilesProfileCapacityArrayInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileCapacityArrayOutput() GetIsShareProfilesProfileCapacityArrayOutput + ToGetIsShareProfilesProfileCapacityArrayOutputWithContext(context.Context) GetIsShareProfilesProfileCapacityArrayOutput +} + +type GetIsShareProfilesProfileCapacityArray []GetIsShareProfilesProfileCapacityInput + +func (GetIsShareProfilesProfileCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileCapacity)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileCapacityArray) ToGetIsShareProfilesProfileCapacityArrayOutput() GetIsShareProfilesProfileCapacityArrayOutput { + return i.ToGetIsShareProfilesProfileCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileCapacityArray) ToGetIsShareProfilesProfileCapacityArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileCapacityArrayOutput) +} + +type GetIsShareProfilesProfileCapacityOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileCapacity)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileCapacityOutput) ToGetIsShareProfilesProfileCapacityOutput() GetIsShareProfilesProfileCapacityOutput { + return o +} + +func (o GetIsShareProfilesProfileCapacityOutput) ToGetIsShareProfilesProfileCapacityOutputWithContext(ctx context.Context) GetIsShareProfilesProfileCapacityOutput { + return o +} + +// The default capacity. +func (o GetIsShareProfilesProfileCapacityOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileCapacity) int { return v.Default }).(pulumi.IntOutput) +} + +// The max capacity. +func (o GetIsShareProfilesProfileCapacityOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileCapacity) int { return v.Max }).(pulumi.IntOutput) +} + +// The min capacity. +func (o GetIsShareProfilesProfileCapacityOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileCapacity) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsShareProfilesProfileCapacityOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileCapacity) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsShareProfilesProfileCapacityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileCapacity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsShareProfilesProfileCapacityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileCapacity) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsShareProfilesProfileCapacityOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileCapacity) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsShareProfilesProfileCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileCapacity)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileCapacityArrayOutput) ToGetIsShareProfilesProfileCapacityArrayOutput() GetIsShareProfilesProfileCapacityArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileCapacityArrayOutput) ToGetIsShareProfilesProfileCapacityArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileCapacityArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileCapacityArrayOutput) Index(i pulumi.IntInput) GetIsShareProfilesProfileCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfilesProfileCapacity { + return vs[0].([]GetIsShareProfilesProfileCapacity)[vs[1].(int)] + }).(GetIsShareProfilesProfileCapacityOutput) +} + +type GetIsShareProfilesProfileIop struct { + // The default iops. + Default int `pulumi:"default"` + // The max iops. + Max int `pulumi:"max"` + // The min iops. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsShareProfilesProfileIopInput is an input type that accepts GetIsShareProfilesProfileIopArgs and GetIsShareProfilesProfileIopOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileIopInput` via: +// +// GetIsShareProfilesProfileIopArgs{...} +type GetIsShareProfilesProfileIopInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileIopOutput() GetIsShareProfilesProfileIopOutput + ToGetIsShareProfilesProfileIopOutputWithContext(context.Context) GetIsShareProfilesProfileIopOutput +} + +type GetIsShareProfilesProfileIopArgs struct { + // The default iops. + Default pulumi.IntInput `pulumi:"default"` + // The max iops. + Max pulumi.IntInput `pulumi:"max"` + // The min iops. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsShareProfilesProfileIopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileIop)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileIopArgs) ToGetIsShareProfilesProfileIopOutput() GetIsShareProfilesProfileIopOutput { + return i.ToGetIsShareProfilesProfileIopOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileIopArgs) ToGetIsShareProfilesProfileIopOutputWithContext(ctx context.Context) GetIsShareProfilesProfileIopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileIopOutput) +} + +// GetIsShareProfilesProfileIopArrayInput is an input type that accepts GetIsShareProfilesProfileIopArray and GetIsShareProfilesProfileIopArrayOutput values. +// You can construct a concrete instance of `GetIsShareProfilesProfileIopArrayInput` via: +// +// GetIsShareProfilesProfileIopArray{ GetIsShareProfilesProfileIopArgs{...} } +type GetIsShareProfilesProfileIopArrayInput interface { + pulumi.Input + + ToGetIsShareProfilesProfileIopArrayOutput() GetIsShareProfilesProfileIopArrayOutput + ToGetIsShareProfilesProfileIopArrayOutputWithContext(context.Context) GetIsShareProfilesProfileIopArrayOutput +} + +type GetIsShareProfilesProfileIopArray []GetIsShareProfilesProfileIopInput + +func (GetIsShareProfilesProfileIopArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileIop)(nil)).Elem() +} + +func (i GetIsShareProfilesProfileIopArray) ToGetIsShareProfilesProfileIopArrayOutput() GetIsShareProfilesProfileIopArrayOutput { + return i.ToGetIsShareProfilesProfileIopArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareProfilesProfileIopArray) ToGetIsShareProfilesProfileIopArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileIopArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareProfilesProfileIopArrayOutput) +} + +type GetIsShareProfilesProfileIopOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileIopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareProfilesProfileIop)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileIopOutput) ToGetIsShareProfilesProfileIopOutput() GetIsShareProfilesProfileIopOutput { + return o +} + +func (o GetIsShareProfilesProfileIopOutput) ToGetIsShareProfilesProfileIopOutputWithContext(ctx context.Context) GetIsShareProfilesProfileIopOutput { + return o +} + +// The default iops. +func (o GetIsShareProfilesProfileIopOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileIop) int { return v.Default }).(pulumi.IntOutput) +} + +// The max iops. +func (o GetIsShareProfilesProfileIopOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileIop) int { return v.Max }).(pulumi.IntOutput) +} + +// The min iops. +func (o GetIsShareProfilesProfileIopOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileIop) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsShareProfilesProfileIopOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileIop) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsShareProfilesProfileIopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileIop) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field +func (o GetIsShareProfilesProfileIopOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileIop) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsShareProfilesProfileIopOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsShareProfilesProfileIop) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsShareProfilesProfileIopArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareProfilesProfileIopArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareProfilesProfileIop)(nil)).Elem() +} + +func (o GetIsShareProfilesProfileIopArrayOutput) ToGetIsShareProfilesProfileIopArrayOutput() GetIsShareProfilesProfileIopArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileIopArrayOutput) ToGetIsShareProfilesProfileIopArrayOutputWithContext(ctx context.Context) GetIsShareProfilesProfileIopArrayOutput { + return o +} + +func (o GetIsShareProfilesProfileIopArrayOutput) Index(i pulumi.IntInput) GetIsShareProfilesProfileIopOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareProfilesProfileIop { + return vs[0].([]GetIsShareProfilesProfileIop)[vs[1].(int)] + }).(GetIsShareProfilesProfileIopOutput) +} + +type GetIsShareReplicaShare struct { + // The CRN for this file share. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareReplicaShareDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The unique user-defined name for this file share. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareReplicaShareInput is an input type that accepts GetIsShareReplicaShareArgs and GetIsShareReplicaShareOutput values. +// You can construct a concrete instance of `GetIsShareReplicaShareInput` via: +// +// GetIsShareReplicaShareArgs{...} +type GetIsShareReplicaShareInput interface { + pulumi.Input + + ToGetIsShareReplicaShareOutput() GetIsShareReplicaShareOutput + ToGetIsShareReplicaShareOutputWithContext(context.Context) GetIsShareReplicaShareOutput +} + +type GetIsShareReplicaShareArgs struct { + // The CRN for this file share. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareReplicaShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareReplicaShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareReplicaShare)(nil)).Elem() +} + +func (i GetIsShareReplicaShareArgs) ToGetIsShareReplicaShareOutput() GetIsShareReplicaShareOutput { + return i.ToGetIsShareReplicaShareOutputWithContext(context.Background()) +} + +func (i GetIsShareReplicaShareArgs) ToGetIsShareReplicaShareOutputWithContext(ctx context.Context) GetIsShareReplicaShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareReplicaShareOutput) +} + +// GetIsShareReplicaShareArrayInput is an input type that accepts GetIsShareReplicaShareArray and GetIsShareReplicaShareArrayOutput values. +// You can construct a concrete instance of `GetIsShareReplicaShareArrayInput` via: +// +// GetIsShareReplicaShareArray{ GetIsShareReplicaShareArgs{...} } +type GetIsShareReplicaShareArrayInput interface { + pulumi.Input + + ToGetIsShareReplicaShareArrayOutput() GetIsShareReplicaShareArrayOutput + ToGetIsShareReplicaShareArrayOutputWithContext(context.Context) GetIsShareReplicaShareArrayOutput +} + +type GetIsShareReplicaShareArray []GetIsShareReplicaShareInput + +func (GetIsShareReplicaShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareReplicaShare)(nil)).Elem() +} + +func (i GetIsShareReplicaShareArray) ToGetIsShareReplicaShareArrayOutput() GetIsShareReplicaShareArrayOutput { + return i.ToGetIsShareReplicaShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareReplicaShareArray) ToGetIsShareReplicaShareArrayOutputWithContext(ctx context.Context) GetIsShareReplicaShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareReplicaShareArrayOutput) +} + +type GetIsShareReplicaShareOutput struct{ *pulumi.OutputState } + +func (GetIsShareReplicaShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareReplicaShare)(nil)).Elem() +} + +func (o GetIsShareReplicaShareOutput) ToGetIsShareReplicaShareOutput() GetIsShareReplicaShareOutput { + return o +} + +func (o GetIsShareReplicaShareOutput) ToGetIsShareReplicaShareOutputWithContext(ctx context.Context) GetIsShareReplicaShareOutput { + return o +} + +// The CRN for this file share. +func (o GetIsShareReplicaShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicaShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareReplicaShareOutput) Deleteds() GetIsShareReplicaShareDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareReplicaShare) []GetIsShareReplicaShareDeleted { return v.Deleteds }).(GetIsShareReplicaShareDeletedArrayOutput) +} + +// The URL for this file share. +func (o GetIsShareReplicaShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicaShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsShareReplicaShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicaShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this file share. +func (o GetIsShareReplicaShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicaShare) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareReplicaShareOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicaShare) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareReplicaShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareReplicaShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareReplicaShare)(nil)).Elem() +} + +func (o GetIsShareReplicaShareArrayOutput) ToGetIsShareReplicaShareArrayOutput() GetIsShareReplicaShareArrayOutput { + return o +} + +func (o GetIsShareReplicaShareArrayOutput) ToGetIsShareReplicaShareArrayOutputWithContext(ctx context.Context) GetIsShareReplicaShareArrayOutput { + return o +} + +func (o GetIsShareReplicaShareArrayOutput) Index(i pulumi.IntInput) GetIsShareReplicaShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareReplicaShare { + return vs[0].([]GetIsShareReplicaShare)[vs[1].(int)] + }).(GetIsShareReplicaShareOutput) +} + +type GetIsShareReplicaShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareReplicaShareDeletedInput is an input type that accepts GetIsShareReplicaShareDeletedArgs and GetIsShareReplicaShareDeletedOutput values. +// You can construct a concrete instance of `GetIsShareReplicaShareDeletedInput` via: +// +// GetIsShareReplicaShareDeletedArgs{...} +type GetIsShareReplicaShareDeletedInput interface { + pulumi.Input + + ToGetIsShareReplicaShareDeletedOutput() GetIsShareReplicaShareDeletedOutput + ToGetIsShareReplicaShareDeletedOutputWithContext(context.Context) GetIsShareReplicaShareDeletedOutput +} + +type GetIsShareReplicaShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareReplicaShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareReplicaShareDeleted)(nil)).Elem() +} + +func (i GetIsShareReplicaShareDeletedArgs) ToGetIsShareReplicaShareDeletedOutput() GetIsShareReplicaShareDeletedOutput { + return i.ToGetIsShareReplicaShareDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareReplicaShareDeletedArgs) ToGetIsShareReplicaShareDeletedOutputWithContext(ctx context.Context) GetIsShareReplicaShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareReplicaShareDeletedOutput) +} + +// GetIsShareReplicaShareDeletedArrayInput is an input type that accepts GetIsShareReplicaShareDeletedArray and GetIsShareReplicaShareDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareReplicaShareDeletedArrayInput` via: +// +// GetIsShareReplicaShareDeletedArray{ GetIsShareReplicaShareDeletedArgs{...} } +type GetIsShareReplicaShareDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareReplicaShareDeletedArrayOutput() GetIsShareReplicaShareDeletedArrayOutput + ToGetIsShareReplicaShareDeletedArrayOutputWithContext(context.Context) GetIsShareReplicaShareDeletedArrayOutput +} + +type GetIsShareReplicaShareDeletedArray []GetIsShareReplicaShareDeletedInput + +func (GetIsShareReplicaShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareReplicaShareDeleted)(nil)).Elem() +} + +func (i GetIsShareReplicaShareDeletedArray) ToGetIsShareReplicaShareDeletedArrayOutput() GetIsShareReplicaShareDeletedArrayOutput { + return i.ToGetIsShareReplicaShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareReplicaShareDeletedArray) ToGetIsShareReplicaShareDeletedArrayOutputWithContext(ctx context.Context) GetIsShareReplicaShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareReplicaShareDeletedArrayOutput) +} + +type GetIsShareReplicaShareDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareReplicaShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareReplicaShareDeleted)(nil)).Elem() +} + +func (o GetIsShareReplicaShareDeletedOutput) ToGetIsShareReplicaShareDeletedOutput() GetIsShareReplicaShareDeletedOutput { + return o +} + +func (o GetIsShareReplicaShareDeletedOutput) ToGetIsShareReplicaShareDeletedOutputWithContext(ctx context.Context) GetIsShareReplicaShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareReplicaShareDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicaShareDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareReplicaShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareReplicaShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareReplicaShareDeleted)(nil)).Elem() +} + +func (o GetIsShareReplicaShareDeletedArrayOutput) ToGetIsShareReplicaShareDeletedArrayOutput() GetIsShareReplicaShareDeletedArrayOutput { + return o +} + +func (o GetIsShareReplicaShareDeletedArrayOutput) ToGetIsShareReplicaShareDeletedArrayOutputWithContext(ctx context.Context) GetIsShareReplicaShareDeletedArrayOutput { + return o +} + +func (o GetIsShareReplicaShareDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareReplicaShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareReplicaShareDeleted { + return vs[0].([]GetIsShareReplicaShareDeleted)[vs[1].(int)] + }).(GetIsShareReplicaShareDeletedOutput) +} + +type GetIsShareReplicationStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareReplicationStatusReasonInput is an input type that accepts GetIsShareReplicationStatusReasonArgs and GetIsShareReplicationStatusReasonOutput values. +// You can construct a concrete instance of `GetIsShareReplicationStatusReasonInput` via: +// +// GetIsShareReplicationStatusReasonArgs{...} +type GetIsShareReplicationStatusReasonInput interface { + pulumi.Input + + ToGetIsShareReplicationStatusReasonOutput() GetIsShareReplicationStatusReasonOutput + ToGetIsShareReplicationStatusReasonOutputWithContext(context.Context) GetIsShareReplicationStatusReasonOutput +} + +type GetIsShareReplicationStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareReplicationStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareReplicationStatusReason)(nil)).Elem() +} + +func (i GetIsShareReplicationStatusReasonArgs) ToGetIsShareReplicationStatusReasonOutput() GetIsShareReplicationStatusReasonOutput { + return i.ToGetIsShareReplicationStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsShareReplicationStatusReasonArgs) ToGetIsShareReplicationStatusReasonOutputWithContext(ctx context.Context) GetIsShareReplicationStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareReplicationStatusReasonOutput) +} + +// GetIsShareReplicationStatusReasonArrayInput is an input type that accepts GetIsShareReplicationStatusReasonArray and GetIsShareReplicationStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsShareReplicationStatusReasonArrayInput` via: +// +// GetIsShareReplicationStatusReasonArray{ GetIsShareReplicationStatusReasonArgs{...} } +type GetIsShareReplicationStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsShareReplicationStatusReasonArrayOutput() GetIsShareReplicationStatusReasonArrayOutput + ToGetIsShareReplicationStatusReasonArrayOutputWithContext(context.Context) GetIsShareReplicationStatusReasonArrayOutput +} + +type GetIsShareReplicationStatusReasonArray []GetIsShareReplicationStatusReasonInput + +func (GetIsShareReplicationStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareReplicationStatusReason)(nil)).Elem() +} + +func (i GetIsShareReplicationStatusReasonArray) ToGetIsShareReplicationStatusReasonArrayOutput() GetIsShareReplicationStatusReasonArrayOutput { + return i.ToGetIsShareReplicationStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareReplicationStatusReasonArray) ToGetIsShareReplicationStatusReasonArrayOutputWithContext(ctx context.Context) GetIsShareReplicationStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareReplicationStatusReasonArrayOutput) +} + +type GetIsShareReplicationStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsShareReplicationStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareReplicationStatusReason)(nil)).Elem() +} + +func (o GetIsShareReplicationStatusReasonOutput) ToGetIsShareReplicationStatusReasonOutput() GetIsShareReplicationStatusReasonOutput { + return o +} + +func (o GetIsShareReplicationStatusReasonOutput) ToGetIsShareReplicationStatusReasonOutputWithContext(ctx context.Context) GetIsShareReplicationStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsShareReplicationStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicationStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsShareReplicationStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicationStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsShareReplicationStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareReplicationStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareReplicationStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareReplicationStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareReplicationStatusReason)(nil)).Elem() +} + +func (o GetIsShareReplicationStatusReasonArrayOutput) ToGetIsShareReplicationStatusReasonArrayOutput() GetIsShareReplicationStatusReasonArrayOutput { + return o +} + +func (o GetIsShareReplicationStatusReasonArrayOutput) ToGetIsShareReplicationStatusReasonArrayOutputWithContext(ctx context.Context) GetIsShareReplicationStatusReasonArrayOutput { + return o +} + +func (o GetIsShareReplicationStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsShareReplicationStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareReplicationStatusReason { + return vs[0].([]GetIsShareReplicationStatusReason)[vs[1].(int)] + }).(GetIsShareReplicationStatusReasonOutput) +} + +type GetIsShareShareTarget struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareShareTargetDeleted `pulumi:"deleteds"` + // The URL for this share target. + Href string `pulumi:"href"` + // The unique identifier for this share target. + Id string `pulumi:"id"` + // The user-defined name for this share target. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareShareTargetInput is an input type that accepts GetIsShareShareTargetArgs and GetIsShareShareTargetOutput values. +// You can construct a concrete instance of `GetIsShareShareTargetInput` via: +// +// GetIsShareShareTargetArgs{...} +type GetIsShareShareTargetInput interface { + pulumi.Input + + ToGetIsShareShareTargetOutput() GetIsShareShareTargetOutput + ToGetIsShareShareTargetOutputWithContext(context.Context) GetIsShareShareTargetOutput +} + +type GetIsShareShareTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareShareTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share target. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share target. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this share target. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareShareTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareShareTarget)(nil)).Elem() +} + +func (i GetIsShareShareTargetArgs) ToGetIsShareShareTargetOutput() GetIsShareShareTargetOutput { + return i.ToGetIsShareShareTargetOutputWithContext(context.Background()) +} + +func (i GetIsShareShareTargetArgs) ToGetIsShareShareTargetOutputWithContext(ctx context.Context) GetIsShareShareTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareShareTargetOutput) +} + +// GetIsShareShareTargetArrayInput is an input type that accepts GetIsShareShareTargetArray and GetIsShareShareTargetArrayOutput values. +// You can construct a concrete instance of `GetIsShareShareTargetArrayInput` via: +// +// GetIsShareShareTargetArray{ GetIsShareShareTargetArgs{...} } +type GetIsShareShareTargetArrayInput interface { + pulumi.Input + + ToGetIsShareShareTargetArrayOutput() GetIsShareShareTargetArrayOutput + ToGetIsShareShareTargetArrayOutputWithContext(context.Context) GetIsShareShareTargetArrayOutput +} + +type GetIsShareShareTargetArray []GetIsShareShareTargetInput + +func (GetIsShareShareTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareShareTarget)(nil)).Elem() +} + +func (i GetIsShareShareTargetArray) ToGetIsShareShareTargetArrayOutput() GetIsShareShareTargetArrayOutput { + return i.ToGetIsShareShareTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareShareTargetArray) ToGetIsShareShareTargetArrayOutputWithContext(ctx context.Context) GetIsShareShareTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareShareTargetArrayOutput) +} + +type GetIsShareShareTargetOutput struct{ *pulumi.OutputState } + +func (GetIsShareShareTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareShareTarget)(nil)).Elem() +} + +func (o GetIsShareShareTargetOutput) ToGetIsShareShareTargetOutput() GetIsShareShareTargetOutput { + return o +} + +func (o GetIsShareShareTargetOutput) ToGetIsShareShareTargetOutputWithContext(ctx context.Context) GetIsShareShareTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareShareTargetOutput) Deleteds() GetIsShareShareTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareShareTarget) []GetIsShareShareTargetDeleted { return v.Deleteds }).(GetIsShareShareTargetDeletedArrayOutput) +} + +// The URL for this share target. +func (o GetIsShareShareTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareShareTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share target. +func (o GetIsShareShareTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareShareTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this share target. +func (o GetIsShareShareTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareShareTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsShareShareTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareShareTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareShareTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareShareTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareShareTarget)(nil)).Elem() +} + +func (o GetIsShareShareTargetArrayOutput) ToGetIsShareShareTargetArrayOutput() GetIsShareShareTargetArrayOutput { + return o +} + +func (o GetIsShareShareTargetArrayOutput) ToGetIsShareShareTargetArrayOutputWithContext(ctx context.Context) GetIsShareShareTargetArrayOutput { + return o +} + +func (o GetIsShareShareTargetArrayOutput) Index(i pulumi.IntInput) GetIsShareShareTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareShareTarget { + return vs[0].([]GetIsShareShareTarget)[vs[1].(int)] + }).(GetIsShareShareTargetOutput) +} + +type GetIsShareShareTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareShareTargetDeletedInput is an input type that accepts GetIsShareShareTargetDeletedArgs and GetIsShareShareTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsShareShareTargetDeletedInput` via: +// +// GetIsShareShareTargetDeletedArgs{...} +type GetIsShareShareTargetDeletedInput interface { + pulumi.Input + + ToGetIsShareShareTargetDeletedOutput() GetIsShareShareTargetDeletedOutput + ToGetIsShareShareTargetDeletedOutputWithContext(context.Context) GetIsShareShareTargetDeletedOutput +} + +type GetIsShareShareTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareShareTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareShareTargetDeleted)(nil)).Elem() +} + +func (i GetIsShareShareTargetDeletedArgs) ToGetIsShareShareTargetDeletedOutput() GetIsShareShareTargetDeletedOutput { + return i.ToGetIsShareShareTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareShareTargetDeletedArgs) ToGetIsShareShareTargetDeletedOutputWithContext(ctx context.Context) GetIsShareShareTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareShareTargetDeletedOutput) +} + +// GetIsShareShareTargetDeletedArrayInput is an input type that accepts GetIsShareShareTargetDeletedArray and GetIsShareShareTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareShareTargetDeletedArrayInput` via: +// +// GetIsShareShareTargetDeletedArray{ GetIsShareShareTargetDeletedArgs{...} } +type GetIsShareShareTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareShareTargetDeletedArrayOutput() GetIsShareShareTargetDeletedArrayOutput + ToGetIsShareShareTargetDeletedArrayOutputWithContext(context.Context) GetIsShareShareTargetDeletedArrayOutput +} + +type GetIsShareShareTargetDeletedArray []GetIsShareShareTargetDeletedInput + +func (GetIsShareShareTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareShareTargetDeleted)(nil)).Elem() +} + +func (i GetIsShareShareTargetDeletedArray) ToGetIsShareShareTargetDeletedArrayOutput() GetIsShareShareTargetDeletedArrayOutput { + return i.ToGetIsShareShareTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareShareTargetDeletedArray) ToGetIsShareShareTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsShareShareTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareShareTargetDeletedArrayOutput) +} + +type GetIsShareShareTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareShareTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareShareTargetDeleted)(nil)).Elem() +} + +func (o GetIsShareShareTargetDeletedOutput) ToGetIsShareShareTargetDeletedOutput() GetIsShareShareTargetDeletedOutput { + return o +} + +func (o GetIsShareShareTargetDeletedOutput) ToGetIsShareShareTargetDeletedOutputWithContext(ctx context.Context) GetIsShareShareTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareShareTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareShareTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareShareTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareShareTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareShareTargetDeleted)(nil)).Elem() +} + +func (o GetIsShareShareTargetDeletedArrayOutput) ToGetIsShareShareTargetDeletedArrayOutput() GetIsShareShareTargetDeletedArrayOutput { + return o +} + +func (o GetIsShareShareTargetDeletedArrayOutput) ToGetIsShareShareTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsShareShareTargetDeletedArrayOutput { + return o +} + +func (o GetIsShareShareTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareShareTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareShareTargetDeleted { + return vs[0].([]GetIsShareShareTargetDeleted)[vs[1].(int)] + }).(GetIsShareShareTargetDeletedOutput) +} + +type GetIsShareSnapshotBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsShareSnapshotBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsShareSnapshotBackupPolicyPlanRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareSnapshotBackupPolicyPlanInput is an input type that accepts GetIsShareSnapshotBackupPolicyPlanArgs and GetIsShareSnapshotBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotBackupPolicyPlanInput` via: +// +// GetIsShareSnapshotBackupPolicyPlanArgs{...} +type GetIsShareSnapshotBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsShareSnapshotBackupPolicyPlanOutput() GetIsShareSnapshotBackupPolicyPlanOutput + ToGetIsShareSnapshotBackupPolicyPlanOutputWithContext(context.Context) GetIsShareSnapshotBackupPolicyPlanOutput +} + +type GetIsShareSnapshotBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsShareSnapshotBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsShareSnapshotBackupPolicyPlanRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareSnapshotBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsShareSnapshotBackupPolicyPlanArgs) ToGetIsShareSnapshotBackupPolicyPlanOutput() GetIsShareSnapshotBackupPolicyPlanOutput { + return i.ToGetIsShareSnapshotBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotBackupPolicyPlanArgs) ToGetIsShareSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotBackupPolicyPlanOutput) +} + +// GetIsShareSnapshotBackupPolicyPlanArrayInput is an input type that accepts GetIsShareSnapshotBackupPolicyPlanArray and GetIsShareSnapshotBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotBackupPolicyPlanArrayInput` via: +// +// GetIsShareSnapshotBackupPolicyPlanArray{ GetIsShareSnapshotBackupPolicyPlanArgs{...} } +type GetIsShareSnapshotBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotBackupPolicyPlanArrayOutput() GetIsShareSnapshotBackupPolicyPlanArrayOutput + ToGetIsShareSnapshotBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsShareSnapshotBackupPolicyPlanArrayOutput +} + +type GetIsShareSnapshotBackupPolicyPlanArray []GetIsShareSnapshotBackupPolicyPlanInput + +func (GetIsShareSnapshotBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsShareSnapshotBackupPolicyPlanArray) ToGetIsShareSnapshotBackupPolicyPlanArrayOutput() GetIsShareSnapshotBackupPolicyPlanArrayOutput { + return i.ToGetIsShareSnapshotBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotBackupPolicyPlanArray) ToGetIsShareSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotBackupPolicyPlanArrayOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsShareSnapshotBackupPolicyPlanOutput) ToGetIsShareSnapshotBackupPolicyPlanOutput() GetIsShareSnapshotBackupPolicyPlanOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanOutput) ToGetIsShareSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsShareSnapshotBackupPolicyPlanOutput) Deleteds() GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlan) []GetIsShareSnapshotBackupPolicyPlanDeleted { + return v.Deleteds + }).(GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsShareSnapshotBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsShareSnapshotBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this backup policy plan. The name is unique across all plans in the backup policy. +func (o GetIsShareSnapshotBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsShareSnapshotBackupPolicyPlanOutput) Remotes() GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlan) []GetIsShareSnapshotBackupPolicyPlanRemote { + return v.Remotes + }).(GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput) +} + +// The resource type. +func (o GetIsShareSnapshotBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsShareSnapshotBackupPolicyPlanArrayOutput) ToGetIsShareSnapshotBackupPolicyPlanArrayOutput() GetIsShareSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanArrayOutput) ToGetIsShareSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotBackupPolicyPlan { + return vs[0].([]GetIsShareSnapshotBackupPolicyPlan)[vs[1].(int)] + }).(GetIsShareSnapshotBackupPolicyPlanOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareSnapshotBackupPolicyPlanDeletedInput is an input type that accepts GetIsShareSnapshotBackupPolicyPlanDeletedArgs and GetIsShareSnapshotBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotBackupPolicyPlanDeletedInput` via: +// +// GetIsShareSnapshotBackupPolicyPlanDeletedArgs{...} +type GetIsShareSnapshotBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsShareSnapshotBackupPolicyPlanDeletedOutput() GetIsShareSnapshotBackupPolicyPlanDeletedOutput + ToGetIsShareSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsShareSnapshotBackupPolicyPlanDeletedOutput +} + +type GetIsShareSnapshotBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareSnapshotBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsShareSnapshotBackupPolicyPlanDeletedArgs) ToGetIsShareSnapshotBackupPolicyPlanDeletedOutput() GetIsShareSnapshotBackupPolicyPlanDeletedOutput { + return i.ToGetIsShareSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotBackupPolicyPlanDeletedArgs) ToGetIsShareSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotBackupPolicyPlanDeletedOutput) +} + +// GetIsShareSnapshotBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsShareSnapshotBackupPolicyPlanDeletedArray and GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsShareSnapshotBackupPolicyPlanDeletedArray{ GetIsShareSnapshotBackupPolicyPlanDeletedArgs{...} } +type GetIsShareSnapshotBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput + ToGetIsShareSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput +} + +type GetIsShareSnapshotBackupPolicyPlanDeletedArray []GetIsShareSnapshotBackupPolicyPlanDeletedInput + +func (GetIsShareSnapshotBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsShareSnapshotBackupPolicyPlanDeletedArray) ToGetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsShareSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotBackupPolicyPlanDeletedArray) ToGetIsShareSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsShareSnapshotBackupPolicyPlanDeletedOutput) ToGetIsShareSnapshotBackupPolicyPlanDeletedOutput() GetIsShareSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanDeletedOutput) ToGetIsShareSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareSnapshotBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput) ToGetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput) ToGetIsShareSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotBackupPolicyPlanDeleted { + return vs[0].([]GetIsShareSnapshotBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsShareSnapshotBackupPolicyPlanDeletedOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanRemote struct { + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsShareSnapshotBackupPolicyPlanRemoteRegion `pulumi:"regions"` +} + +// GetIsShareSnapshotBackupPolicyPlanRemoteInput is an input type that accepts GetIsShareSnapshotBackupPolicyPlanRemoteArgs and GetIsShareSnapshotBackupPolicyPlanRemoteOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotBackupPolicyPlanRemoteInput` via: +// +// GetIsShareSnapshotBackupPolicyPlanRemoteArgs{...} +type GetIsShareSnapshotBackupPolicyPlanRemoteInput interface { + pulumi.Input + + ToGetIsShareSnapshotBackupPolicyPlanRemoteOutput() GetIsShareSnapshotBackupPolicyPlanRemoteOutput + ToGetIsShareSnapshotBackupPolicyPlanRemoteOutputWithContext(context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteOutput +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsShareSnapshotBackupPolicyPlanRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsShareSnapshotBackupPolicyPlanRemoteArgs) ToGetIsShareSnapshotBackupPolicyPlanRemoteOutput() GetIsShareSnapshotBackupPolicyPlanRemoteOutput { + return i.ToGetIsShareSnapshotBackupPolicyPlanRemoteOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotBackupPolicyPlanRemoteArgs) ToGetIsShareSnapshotBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotBackupPolicyPlanRemoteOutput) +} + +// GetIsShareSnapshotBackupPolicyPlanRemoteArrayInput is an input type that accepts GetIsShareSnapshotBackupPolicyPlanRemoteArray and GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotBackupPolicyPlanRemoteArrayInput` via: +// +// GetIsShareSnapshotBackupPolicyPlanRemoteArray{ GetIsShareSnapshotBackupPolicyPlanRemoteArgs{...} } +type GetIsShareSnapshotBackupPolicyPlanRemoteArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput() GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput + ToGetIsShareSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteArray []GetIsShareSnapshotBackupPolicyPlanRemoteInput + +func (GetIsShareSnapshotBackupPolicyPlanRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsShareSnapshotBackupPolicyPlanRemoteArray) ToGetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput() GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return i.ToGetIsShareSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotBackupPolicyPlanRemoteArray) ToGetIsShareSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotBackupPolicyPlanRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteOutput) ToGetIsShareSnapshotBackupPolicyPlanRemoteOutput() GetIsShareSnapshotBackupPolicyPlanRemoteOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteOutput) ToGetIsShareSnapshotBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsShareSnapshotBackupPolicyPlanRemoteOutput) Regions() GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlanRemote) []GetIsShareSnapshotBackupPolicyPlanRemoteRegion { + return v.Regions + }).(GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput) ToGetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput() GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput) ToGetIsShareSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotBackupPolicyPlanRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotBackupPolicyPlanRemote { + return vs[0].([]GetIsShareSnapshotBackupPolicyPlanRemote)[vs[1].(int)] + }).(GetIsShareSnapshotBackupPolicyPlanRemoteOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsShareSnapshotBackupPolicyPlanRemoteRegionInput is an input type that accepts GetIsShareSnapshotBackupPolicyPlanRemoteRegionArgs and GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotBackupPolicyPlanRemoteRegionInput` via: +// +// GetIsShareSnapshotBackupPolicyPlanRemoteRegionArgs{...} +type GetIsShareSnapshotBackupPolicyPlanRemoteRegionInput interface { + pulumi.Input + + ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput() GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput + ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareSnapshotBackupPolicyPlanRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareSnapshotBackupPolicyPlanRemoteRegionArgs) ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput() GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return i.ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotBackupPolicyPlanRemoteRegionArgs) ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput) +} + +// GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput is an input type that accepts GetIsShareSnapshotBackupPolicyPlanRemoteRegionArray and GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput` via: +// +// GetIsShareSnapshotBackupPolicyPlanRemoteRegionArray{ GetIsShareSnapshotBackupPolicyPlanRemoteRegionArgs{...} } +type GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput() GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput + ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteRegionArray []GetIsShareSnapshotBackupPolicyPlanRemoteRegionInput + +func (GetIsShareSnapshotBackupPolicyPlanRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareSnapshotBackupPolicyPlanRemoteRegionArray) ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput() GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return i.ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotBackupPolicyPlanRemoteRegionArray) ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput) ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput() GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput) ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlanRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotBackupPolicyPlanRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput() GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ToGetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotBackupPolicyPlanRemoteRegion { + return vs[0].([]GetIsShareSnapshotBackupPolicyPlanRemoteRegion)[vs[1].(int)] + }).(GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput) +} + +type GetIsShareSnapshotResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsShareSnapshotResourceGroupInput is an input type that accepts GetIsShareSnapshotResourceGroupArgs and GetIsShareSnapshotResourceGroupOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotResourceGroupInput` via: +// +// GetIsShareSnapshotResourceGroupArgs{...} +type GetIsShareSnapshotResourceGroupInput interface { + pulumi.Input + + ToGetIsShareSnapshotResourceGroupOutput() GetIsShareSnapshotResourceGroupOutput + ToGetIsShareSnapshotResourceGroupOutputWithContext(context.Context) GetIsShareSnapshotResourceGroupOutput +} + +type GetIsShareSnapshotResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareSnapshotResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotResourceGroup)(nil)).Elem() +} + +func (i GetIsShareSnapshotResourceGroupArgs) ToGetIsShareSnapshotResourceGroupOutput() GetIsShareSnapshotResourceGroupOutput { + return i.ToGetIsShareSnapshotResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotResourceGroupArgs) ToGetIsShareSnapshotResourceGroupOutputWithContext(ctx context.Context) GetIsShareSnapshotResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotResourceGroupOutput) +} + +// GetIsShareSnapshotResourceGroupArrayInput is an input type that accepts GetIsShareSnapshotResourceGroupArray and GetIsShareSnapshotResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotResourceGroupArrayInput` via: +// +// GetIsShareSnapshotResourceGroupArray{ GetIsShareSnapshotResourceGroupArgs{...} } +type GetIsShareSnapshotResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotResourceGroupArrayOutput() GetIsShareSnapshotResourceGroupArrayOutput + ToGetIsShareSnapshotResourceGroupArrayOutputWithContext(context.Context) GetIsShareSnapshotResourceGroupArrayOutput +} + +type GetIsShareSnapshotResourceGroupArray []GetIsShareSnapshotResourceGroupInput + +func (GetIsShareSnapshotResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotResourceGroup)(nil)).Elem() +} + +func (i GetIsShareSnapshotResourceGroupArray) ToGetIsShareSnapshotResourceGroupArrayOutput() GetIsShareSnapshotResourceGroupArrayOutput { + return i.ToGetIsShareSnapshotResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotResourceGroupArray) ToGetIsShareSnapshotResourceGroupArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotResourceGroupArrayOutput) +} + +type GetIsShareSnapshotResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotResourceGroup)(nil)).Elem() +} + +func (o GetIsShareSnapshotResourceGroupOutput) ToGetIsShareSnapshotResourceGroupOutput() GetIsShareSnapshotResourceGroupOutput { + return o +} + +func (o GetIsShareSnapshotResourceGroupOutput) ToGetIsShareSnapshotResourceGroupOutputWithContext(ctx context.Context) GetIsShareSnapshotResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsShareSnapshotResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsShareSnapshotResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsShareSnapshotResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotResourceGroup)(nil)).Elem() +} + +func (o GetIsShareSnapshotResourceGroupArrayOutput) ToGetIsShareSnapshotResourceGroupArrayOutput() GetIsShareSnapshotResourceGroupArrayOutput { + return o +} + +func (o GetIsShareSnapshotResourceGroupArrayOutput) ToGetIsShareSnapshotResourceGroupArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotResourceGroupArrayOutput { + return o +} + +func (o GetIsShareSnapshotResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotResourceGroup { + return vs[0].([]GetIsShareSnapshotResourceGroup)[vs[1].(int)] + }).(GetIsShareSnapshotResourceGroupOutput) +} + +type GetIsShareSnapshotStatusReason struct { + // A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareSnapshotStatusReasonInput is an input type that accepts GetIsShareSnapshotStatusReasonArgs and GetIsShareSnapshotStatusReasonOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotStatusReasonInput` via: +// +// GetIsShareSnapshotStatusReasonArgs{...} +type GetIsShareSnapshotStatusReasonInput interface { + pulumi.Input + + ToGetIsShareSnapshotStatusReasonOutput() GetIsShareSnapshotStatusReasonOutput + ToGetIsShareSnapshotStatusReasonOutputWithContext(context.Context) GetIsShareSnapshotStatusReasonOutput +} + +type GetIsShareSnapshotStatusReasonArgs struct { + // A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareSnapshotStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotStatusReason)(nil)).Elem() +} + +func (i GetIsShareSnapshotStatusReasonArgs) ToGetIsShareSnapshotStatusReasonOutput() GetIsShareSnapshotStatusReasonOutput { + return i.ToGetIsShareSnapshotStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotStatusReasonArgs) ToGetIsShareSnapshotStatusReasonOutputWithContext(ctx context.Context) GetIsShareSnapshotStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotStatusReasonOutput) +} + +// GetIsShareSnapshotStatusReasonArrayInput is an input type that accepts GetIsShareSnapshotStatusReasonArray and GetIsShareSnapshotStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotStatusReasonArrayInput` via: +// +// GetIsShareSnapshotStatusReasonArray{ GetIsShareSnapshotStatusReasonArgs{...} } +type GetIsShareSnapshotStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotStatusReasonArrayOutput() GetIsShareSnapshotStatusReasonArrayOutput + ToGetIsShareSnapshotStatusReasonArrayOutputWithContext(context.Context) GetIsShareSnapshotStatusReasonArrayOutput +} + +type GetIsShareSnapshotStatusReasonArray []GetIsShareSnapshotStatusReasonInput + +func (GetIsShareSnapshotStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotStatusReason)(nil)).Elem() +} + +func (i GetIsShareSnapshotStatusReasonArray) ToGetIsShareSnapshotStatusReasonArrayOutput() GetIsShareSnapshotStatusReasonArrayOutput { + return i.ToGetIsShareSnapshotStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotStatusReasonArray) ToGetIsShareSnapshotStatusReasonArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotStatusReasonArrayOutput) +} + +type GetIsShareSnapshotStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotStatusReason)(nil)).Elem() +} + +func (o GetIsShareSnapshotStatusReasonOutput) ToGetIsShareSnapshotStatusReasonOutput() GetIsShareSnapshotStatusReasonOutput { + return o +} + +func (o GetIsShareSnapshotStatusReasonOutput) ToGetIsShareSnapshotStatusReasonOutputWithContext(ctx context.Context) GetIsShareSnapshotStatusReasonOutput { + return o +} + +// A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsShareSnapshotStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsShareSnapshotStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsShareSnapshotStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotStatusReason)(nil)).Elem() +} + +func (o GetIsShareSnapshotStatusReasonArrayOutput) ToGetIsShareSnapshotStatusReasonArrayOutput() GetIsShareSnapshotStatusReasonArrayOutput { + return o +} + +func (o GetIsShareSnapshotStatusReasonArrayOutput) ToGetIsShareSnapshotStatusReasonArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotStatusReasonArrayOutput { + return o +} + +func (o GetIsShareSnapshotStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotStatusReason { + return vs[0].([]GetIsShareSnapshotStatusReason)[vs[1].(int)] + }).(GetIsShareSnapshotStatusReasonOutput) +} + +type GetIsShareSnapshotZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsShareSnapshotZoneInput is an input type that accepts GetIsShareSnapshotZoneArgs and GetIsShareSnapshotZoneOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotZoneInput` via: +// +// GetIsShareSnapshotZoneArgs{...} +type GetIsShareSnapshotZoneInput interface { + pulumi.Input + + ToGetIsShareSnapshotZoneOutput() GetIsShareSnapshotZoneOutput + ToGetIsShareSnapshotZoneOutputWithContext(context.Context) GetIsShareSnapshotZoneOutput +} + +type GetIsShareSnapshotZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareSnapshotZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotZone)(nil)).Elem() +} + +func (i GetIsShareSnapshotZoneArgs) ToGetIsShareSnapshotZoneOutput() GetIsShareSnapshotZoneOutput { + return i.ToGetIsShareSnapshotZoneOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotZoneArgs) ToGetIsShareSnapshotZoneOutputWithContext(ctx context.Context) GetIsShareSnapshotZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotZoneOutput) +} + +// GetIsShareSnapshotZoneArrayInput is an input type that accepts GetIsShareSnapshotZoneArray and GetIsShareSnapshotZoneArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotZoneArrayInput` via: +// +// GetIsShareSnapshotZoneArray{ GetIsShareSnapshotZoneArgs{...} } +type GetIsShareSnapshotZoneArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotZoneArrayOutput() GetIsShareSnapshotZoneArrayOutput + ToGetIsShareSnapshotZoneArrayOutputWithContext(context.Context) GetIsShareSnapshotZoneArrayOutput +} + +type GetIsShareSnapshotZoneArray []GetIsShareSnapshotZoneInput + +func (GetIsShareSnapshotZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotZone)(nil)).Elem() +} + +func (i GetIsShareSnapshotZoneArray) ToGetIsShareSnapshotZoneArrayOutput() GetIsShareSnapshotZoneArrayOutput { + return i.ToGetIsShareSnapshotZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotZoneArray) ToGetIsShareSnapshotZoneArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotZoneArrayOutput) +} + +type GetIsShareSnapshotZoneOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotZone)(nil)).Elem() +} + +func (o GetIsShareSnapshotZoneOutput) ToGetIsShareSnapshotZoneOutput() GetIsShareSnapshotZoneOutput { + return o +} + +func (o GetIsShareSnapshotZoneOutput) ToGetIsShareSnapshotZoneOutputWithContext(ctx context.Context) GetIsShareSnapshotZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsShareSnapshotZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsShareSnapshotZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotZone)(nil)).Elem() +} + +func (o GetIsShareSnapshotZoneArrayOutput) ToGetIsShareSnapshotZoneArrayOutput() GetIsShareSnapshotZoneArrayOutput { + return o +} + +func (o GetIsShareSnapshotZoneArrayOutput) ToGetIsShareSnapshotZoneArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotZoneArrayOutput { + return o +} + +func (o GetIsShareSnapshotZoneArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotZone { + return vs[0].([]GetIsShareSnapshotZone)[vs[1].(int)] + }).(GetIsShareSnapshotZoneOutput) +} + +type GetIsShareSnapshotsSnapshot struct { + // If present, the backup policy plan which created this share snapshot. + BackupPolicyPlans []GetIsShareSnapshotsSnapshotBackupPolicyPlan `pulumi:"backupPolicyPlans"` + // The date and time the data capture for this share snapshot was completed.If absent, this snapshot's data has not yet been captured. + CapturedAt string `pulumi:"capturedAt"` + // The date and time that the share snapshot was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this share snapshot. + Crn string `pulumi:"crn"` + // The fingerprint for this snapshot. + Fingerprint string `pulumi:"fingerprint"` + // The URL for this share snapshot. + Href string `pulumi:"href"` + // The unique identifier for this share snapshot. + Id string `pulumi:"id"` + // The lifecycle state of this share snapshot. + LifecycleState string `pulumi:"lifecycleState"` + // The minimum size of a share created from this snapshot. When a snapshot is created, this will be set to the size of the `sourceShare`. + MinimumSize int `pulumi:"minimumSize"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name string `pulumi:"name"` + // The resource group for this file share. + ResourceGroups []GetIsShareSnapshotsSnapshotResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The status of the share snapshot:- `available`: The share snapshot is available for use.- `failed`: The share snapshot is irrecoverably unusable.- `pending`: The share snapshot is being provisioned and is not yet usable.- `unusable`: The share snapshot is not currently usable (see `statusReasons`)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status string `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons []GetIsShareSnapshotsSnapshotStatusReason `pulumi:"statusReasons"` + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + Tags []string `pulumi:"tags"` + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + UserTags []string `pulumi:"userTags"` + // The zone this share snapshot resides in. + Zones []GetIsShareSnapshotsSnapshotZone `pulumi:"zones"` +} + +// GetIsShareSnapshotsSnapshotInput is an input type that accepts GetIsShareSnapshotsSnapshotArgs and GetIsShareSnapshotsSnapshotOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotInput` via: +// +// GetIsShareSnapshotsSnapshotArgs{...} +type GetIsShareSnapshotsSnapshotInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotOutput() GetIsShareSnapshotsSnapshotOutput + ToGetIsShareSnapshotsSnapshotOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotOutput +} + +type GetIsShareSnapshotsSnapshotArgs struct { + // If present, the backup policy plan which created this share snapshot. + BackupPolicyPlans GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayInput `pulumi:"backupPolicyPlans"` + // The date and time the data capture for this share snapshot was completed.If absent, this snapshot's data has not yet been captured. + CapturedAt pulumi.StringInput `pulumi:"capturedAt"` + // The date and time that the share snapshot was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this share snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // The fingerprint for this snapshot. + Fingerprint pulumi.StringInput `pulumi:"fingerprint"` + // The URL for this share snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of this share snapshot. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The minimum size of a share created from this snapshot. When a snapshot is created, this will be set to the size of the `sourceShare`. + MinimumSize pulumi.IntInput `pulumi:"minimumSize"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource group for this file share. + ResourceGroups GetIsShareSnapshotsSnapshotResourceGroupArrayInput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The status of the share snapshot:- `available`: The share snapshot is available for use.- `failed`: The share snapshot is irrecoverably unusable.- `pending`: The share snapshot is being provisioned and is not yet usable.- `unusable`: The share snapshot is not currently usable (see `statusReasons`)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons GetIsShareSnapshotsSnapshotStatusReasonArrayInput `pulumi:"statusReasons"` + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` + // The zone this share snapshot resides in. + Zones GetIsShareSnapshotsSnapshotZoneArrayInput `pulumi:"zones"` +} + +func (GetIsShareSnapshotsSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshot)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotArgs) ToGetIsShareSnapshotsSnapshotOutput() GetIsShareSnapshotsSnapshotOutput { + return i.ToGetIsShareSnapshotsSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotArgs) ToGetIsShareSnapshotsSnapshotOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotOutput) +} + +// GetIsShareSnapshotsSnapshotArrayInput is an input type that accepts GetIsShareSnapshotsSnapshotArray and GetIsShareSnapshotsSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotArrayInput` via: +// +// GetIsShareSnapshotsSnapshotArray{ GetIsShareSnapshotsSnapshotArgs{...} } +type GetIsShareSnapshotsSnapshotArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotArrayOutput() GetIsShareSnapshotsSnapshotArrayOutput + ToGetIsShareSnapshotsSnapshotArrayOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotArrayOutput +} + +type GetIsShareSnapshotsSnapshotArray []GetIsShareSnapshotsSnapshotInput + +func (GetIsShareSnapshotsSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshot)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotArray) ToGetIsShareSnapshotsSnapshotArrayOutput() GetIsShareSnapshotsSnapshotArrayOutput { + return i.ToGetIsShareSnapshotsSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotArray) ToGetIsShareSnapshotsSnapshotArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotArrayOutput) +} + +type GetIsShareSnapshotsSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshot)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotOutput) ToGetIsShareSnapshotsSnapshotOutput() GetIsShareSnapshotsSnapshotOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotOutput) ToGetIsShareSnapshotsSnapshotOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotOutput { + return o +} + +// If present, the backup policy plan which created this share snapshot. +func (o GetIsShareSnapshotsSnapshotOutput) BackupPolicyPlans() GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) []GetIsShareSnapshotsSnapshotBackupPolicyPlan { + return v.BackupPolicyPlans + }).(GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput) +} + +// The date and time the data capture for this share snapshot was completed.If absent, this snapshot's data has not yet been captured. +func (o GetIsShareSnapshotsSnapshotOutput) CapturedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.CapturedAt }).(pulumi.StringOutput) +} + +// The date and time that the share snapshot was created. +func (o GetIsShareSnapshotsSnapshotOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this share snapshot. +func (o GetIsShareSnapshotsSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// The fingerprint for this snapshot. +func (o GetIsShareSnapshotsSnapshotOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.Fingerprint }).(pulumi.StringOutput) +} + +// The URL for this share snapshot. +func (o GetIsShareSnapshotsSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share snapshot. +func (o GetIsShareSnapshotsSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of this share snapshot. +func (o GetIsShareSnapshotsSnapshotOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The minimum size of a share created from this snapshot. When a snapshot is created, this will be set to the size of the `sourceShare`. +func (o GetIsShareSnapshotsSnapshotOutput) MinimumSize() pulumi.IntOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) int { return v.MinimumSize }).(pulumi.IntOutput) +} + +// The name for this share snapshot. The name is unique across all snapshots for the file share. +func (o GetIsShareSnapshotsSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this file share. +func (o GetIsShareSnapshotsSnapshotOutput) ResourceGroups() GetIsShareSnapshotsSnapshotResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) []GetIsShareSnapshotsSnapshotResourceGroup { + return v.ResourceGroups + }).(GetIsShareSnapshotsSnapshotResourceGroupArrayOutput) +} + +// The resource type. +func (o GetIsShareSnapshotsSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The status of the share snapshot:- `available`: The share snapshot is available for use.- `failed`: The share snapshot is irrecoverably unusable.- `pending`: The share snapshot is being provisioned and is not yet usable.- `unusable`: The share snapshot is not currently usable (see `statusReasons`)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsShareSnapshotsSnapshotOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any). +func (o GetIsShareSnapshotsSnapshotOutput) StatusReasons() GetIsShareSnapshotsSnapshotStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) []GetIsShareSnapshotsSnapshotStatusReason { return v.StatusReasons }).(GetIsShareSnapshotsSnapshotStatusReasonArrayOutput) +} + +// The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. +func (o GetIsShareSnapshotsSnapshotOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The [user tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) associated with this share snapshot. +func (o GetIsShareSnapshotsSnapshotOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +// The zone this share snapshot resides in. +func (o GetIsShareSnapshotsSnapshotOutput) Zones() GetIsShareSnapshotsSnapshotZoneArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshot) []GetIsShareSnapshotsSnapshotZone { return v.Zones }).(GetIsShareSnapshotsSnapshotZoneArrayOutput) +} + +type GetIsShareSnapshotsSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshot)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotArrayOutput) ToGetIsShareSnapshotsSnapshotArrayOutput() GetIsShareSnapshotsSnapshotArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotArrayOutput) ToGetIsShareSnapshotsSnapshotArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotsSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotsSnapshot { + return vs[0].([]GetIsShareSnapshotsSnapshot)[vs[1].(int)] + }).(GetIsShareSnapshotsSnapshotOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareSnapshotsSnapshotBackupPolicyPlanInput is an input type that accepts GetIsShareSnapshotsSnapshotBackupPolicyPlanArgs and GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotBackupPolicyPlanInput` via: +// +// GetIsShareSnapshotsSnapshotBackupPolicyPlanArgs{...} +type GetIsShareSnapshotsSnapshotBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanArgs) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput { + return i.ToGetIsShareSnapshotsSnapshotBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanArgs) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) +} + +// GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayInput is an input type that accepts GetIsShareSnapshotsSnapshotBackupPolicyPlanArray and GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayInput` via: +// +// GetIsShareSnapshotsSnapshotBackupPolicyPlanArray{ GetIsShareSnapshotsSnapshotBackupPolicyPlanArgs{...} } +type GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanArray []GetIsShareSnapshotsSnapshotBackupPolicyPlanInput + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanArray) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return i.ToGetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanArray) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) Deleteds() GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlan) []GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted { + return v.Deleteds + }).(GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this backup policy plan. The name is unique across all plans in the backup policy. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) Remotes() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlan) []GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote { + return v.Remotes + }).(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput) +} + +// The resource type. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotsSnapshotBackupPolicyPlan { + return vs[0].([]GetIsShareSnapshotsSnapshotBackupPolicyPlan)[vs[1].(int)] + }).(GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedInput is an input type that accepts GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArgs and GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedInput` via: +// +// GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArgs{...} +type GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArgs) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return i.ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArgs) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput) +} + +// GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArray and GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArray{ GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArgs{...} } +type GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArray []GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedInput + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArray) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArray) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted { + return vs[0].([]GetIsShareSnapshotsSnapshotBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote struct { + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion `pulumi:"regions"` +} + +// GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteInput is an input type that accepts GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArgs and GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteInput` via: +// +// GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArgs{...} +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArgs) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput { + return i.ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArgs) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput) +} + +// GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayInput is an input type that accepts GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArray and GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayInput` via: +// +// GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArray{ GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArgs{...} } +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArray []GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteInput + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArray) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput { + return i.ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArray) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput) Regions() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote) []GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion { + return v.Regions + }).(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote { + return vs[0].([]GetIsShareSnapshotsSnapshotBackupPolicyPlanRemote)[vs[1].(int)] + }).(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionInput is an input type that accepts GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArgs and GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionInput` via: +// +// GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArgs{...} +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArgs) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput { + return i.ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArgs) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput) +} + +// GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayInput is an input type that accepts GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArray and GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayInput` via: +// +// GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArray{ GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArgs{...} } +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput + ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArray []GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionInput + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArray) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return i.ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArray) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput() GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput) ToGetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion { + return vs[0].([]GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegion)[vs[1].(int)] + }).(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput) +} + +type GetIsShareSnapshotsSnapshotResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsShareSnapshotsSnapshotResourceGroupInput is an input type that accepts GetIsShareSnapshotsSnapshotResourceGroupArgs and GetIsShareSnapshotsSnapshotResourceGroupOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotResourceGroupInput` via: +// +// GetIsShareSnapshotsSnapshotResourceGroupArgs{...} +type GetIsShareSnapshotsSnapshotResourceGroupInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotResourceGroupOutput() GetIsShareSnapshotsSnapshotResourceGroupOutput + ToGetIsShareSnapshotsSnapshotResourceGroupOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotResourceGroupOutput +} + +type GetIsShareSnapshotsSnapshotResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareSnapshotsSnapshotResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotResourceGroup)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotResourceGroupArgs) ToGetIsShareSnapshotsSnapshotResourceGroupOutput() GetIsShareSnapshotsSnapshotResourceGroupOutput { + return i.ToGetIsShareSnapshotsSnapshotResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotResourceGroupArgs) ToGetIsShareSnapshotsSnapshotResourceGroupOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotResourceGroupOutput) +} + +// GetIsShareSnapshotsSnapshotResourceGroupArrayInput is an input type that accepts GetIsShareSnapshotsSnapshotResourceGroupArray and GetIsShareSnapshotsSnapshotResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotResourceGroupArrayInput` via: +// +// GetIsShareSnapshotsSnapshotResourceGroupArray{ GetIsShareSnapshotsSnapshotResourceGroupArgs{...} } +type GetIsShareSnapshotsSnapshotResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotResourceGroupArrayOutput() GetIsShareSnapshotsSnapshotResourceGroupArrayOutput + ToGetIsShareSnapshotsSnapshotResourceGroupArrayOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotResourceGroupArrayOutput +} + +type GetIsShareSnapshotsSnapshotResourceGroupArray []GetIsShareSnapshotsSnapshotResourceGroupInput + +func (GetIsShareSnapshotsSnapshotResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotResourceGroup)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotResourceGroupArray) ToGetIsShareSnapshotsSnapshotResourceGroupArrayOutput() GetIsShareSnapshotsSnapshotResourceGroupArrayOutput { + return i.ToGetIsShareSnapshotsSnapshotResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotResourceGroupArray) ToGetIsShareSnapshotsSnapshotResourceGroupArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotResourceGroupArrayOutput) +} + +type GetIsShareSnapshotsSnapshotResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotResourceGroup)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotResourceGroupOutput) ToGetIsShareSnapshotsSnapshotResourceGroupOutput() GetIsShareSnapshotsSnapshotResourceGroupOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotResourceGroupOutput) ToGetIsShareSnapshotsSnapshotResourceGroupOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsShareSnapshotsSnapshotResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsShareSnapshotsSnapshotResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsShareSnapshotsSnapshotResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotsSnapshotResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotResourceGroup)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotResourceGroupArrayOutput) ToGetIsShareSnapshotsSnapshotResourceGroupArrayOutput() GetIsShareSnapshotsSnapshotResourceGroupArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotResourceGroupArrayOutput) ToGetIsShareSnapshotsSnapshotResourceGroupArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotResourceGroupArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotsSnapshotResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotsSnapshotResourceGroup { + return vs[0].([]GetIsShareSnapshotsSnapshotResourceGroup)[vs[1].(int)] + }).(GetIsShareSnapshotsSnapshotResourceGroupOutput) +} + +type GetIsShareSnapshotsSnapshotStatusReason struct { + // A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareSnapshotsSnapshotStatusReasonInput is an input type that accepts GetIsShareSnapshotsSnapshotStatusReasonArgs and GetIsShareSnapshotsSnapshotStatusReasonOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotStatusReasonInput` via: +// +// GetIsShareSnapshotsSnapshotStatusReasonArgs{...} +type GetIsShareSnapshotsSnapshotStatusReasonInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotStatusReasonOutput() GetIsShareSnapshotsSnapshotStatusReasonOutput + ToGetIsShareSnapshotsSnapshotStatusReasonOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotStatusReasonOutput +} + +type GetIsShareSnapshotsSnapshotStatusReasonArgs struct { + // A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareSnapshotsSnapshotStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotStatusReason)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotStatusReasonArgs) ToGetIsShareSnapshotsSnapshotStatusReasonOutput() GetIsShareSnapshotsSnapshotStatusReasonOutput { + return i.ToGetIsShareSnapshotsSnapshotStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotStatusReasonArgs) ToGetIsShareSnapshotsSnapshotStatusReasonOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotStatusReasonOutput) +} + +// GetIsShareSnapshotsSnapshotStatusReasonArrayInput is an input type that accepts GetIsShareSnapshotsSnapshotStatusReasonArray and GetIsShareSnapshotsSnapshotStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotStatusReasonArrayInput` via: +// +// GetIsShareSnapshotsSnapshotStatusReasonArray{ GetIsShareSnapshotsSnapshotStatusReasonArgs{...} } +type GetIsShareSnapshotsSnapshotStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotStatusReasonArrayOutput() GetIsShareSnapshotsSnapshotStatusReasonArrayOutput + ToGetIsShareSnapshotsSnapshotStatusReasonArrayOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotStatusReasonArrayOutput +} + +type GetIsShareSnapshotsSnapshotStatusReasonArray []GetIsShareSnapshotsSnapshotStatusReasonInput + +func (GetIsShareSnapshotsSnapshotStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotStatusReason)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotStatusReasonArray) ToGetIsShareSnapshotsSnapshotStatusReasonArrayOutput() GetIsShareSnapshotsSnapshotStatusReasonArrayOutput { + return i.ToGetIsShareSnapshotsSnapshotStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotStatusReasonArray) ToGetIsShareSnapshotsSnapshotStatusReasonArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotStatusReasonArrayOutput) +} + +type GetIsShareSnapshotsSnapshotStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotStatusReason)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotStatusReasonOutput) ToGetIsShareSnapshotsSnapshotStatusReasonOutput() GetIsShareSnapshotsSnapshotStatusReasonOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotStatusReasonOutput) ToGetIsShareSnapshotsSnapshotStatusReasonOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotStatusReasonOutput { + return o +} + +// A reason code for the status:- `encryptionKeyDeleted`: File share snapshot is unusable because its `encryptionKey` was deleted- `internalError`: Internal error (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsShareSnapshotsSnapshotStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsShareSnapshotsSnapshotStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsShareSnapshotsSnapshotStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotsSnapshotStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotStatusReason)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotStatusReasonArrayOutput) ToGetIsShareSnapshotsSnapshotStatusReasonArrayOutput() GetIsShareSnapshotsSnapshotStatusReasonArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotStatusReasonArrayOutput) ToGetIsShareSnapshotsSnapshotStatusReasonArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotStatusReasonArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotsSnapshotStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotsSnapshotStatusReason { + return vs[0].([]GetIsShareSnapshotsSnapshotStatusReason)[vs[1].(int)] + }).(GetIsShareSnapshotsSnapshotStatusReasonOutput) +} + +type GetIsShareSnapshotsSnapshotZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsShareSnapshotsSnapshotZoneInput is an input type that accepts GetIsShareSnapshotsSnapshotZoneArgs and GetIsShareSnapshotsSnapshotZoneOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotZoneInput` via: +// +// GetIsShareSnapshotsSnapshotZoneArgs{...} +type GetIsShareSnapshotsSnapshotZoneInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotZoneOutput() GetIsShareSnapshotsSnapshotZoneOutput + ToGetIsShareSnapshotsSnapshotZoneOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotZoneOutput +} + +type GetIsShareSnapshotsSnapshotZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsShareSnapshotsSnapshotZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotZone)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotZoneArgs) ToGetIsShareSnapshotsSnapshotZoneOutput() GetIsShareSnapshotsSnapshotZoneOutput { + return i.ToGetIsShareSnapshotsSnapshotZoneOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotZoneArgs) ToGetIsShareSnapshotsSnapshotZoneOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotZoneOutput) +} + +// GetIsShareSnapshotsSnapshotZoneArrayInput is an input type that accepts GetIsShareSnapshotsSnapshotZoneArray and GetIsShareSnapshotsSnapshotZoneArrayOutput values. +// You can construct a concrete instance of `GetIsShareSnapshotsSnapshotZoneArrayInput` via: +// +// GetIsShareSnapshotsSnapshotZoneArray{ GetIsShareSnapshotsSnapshotZoneArgs{...} } +type GetIsShareSnapshotsSnapshotZoneArrayInput interface { + pulumi.Input + + ToGetIsShareSnapshotsSnapshotZoneArrayOutput() GetIsShareSnapshotsSnapshotZoneArrayOutput + ToGetIsShareSnapshotsSnapshotZoneArrayOutputWithContext(context.Context) GetIsShareSnapshotsSnapshotZoneArrayOutput +} + +type GetIsShareSnapshotsSnapshotZoneArray []GetIsShareSnapshotsSnapshotZoneInput + +func (GetIsShareSnapshotsSnapshotZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotZone)(nil)).Elem() +} + +func (i GetIsShareSnapshotsSnapshotZoneArray) ToGetIsShareSnapshotsSnapshotZoneArrayOutput() GetIsShareSnapshotsSnapshotZoneArrayOutput { + return i.ToGetIsShareSnapshotsSnapshotZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSnapshotsSnapshotZoneArray) ToGetIsShareSnapshotsSnapshotZoneArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSnapshotsSnapshotZoneArrayOutput) +} + +type GetIsShareSnapshotsSnapshotZoneOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSnapshotsSnapshotZone)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotZoneOutput) ToGetIsShareSnapshotsSnapshotZoneOutput() GetIsShareSnapshotsSnapshotZoneOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotZoneOutput) ToGetIsShareSnapshotsSnapshotZoneOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsShareSnapshotsSnapshotZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsShareSnapshotsSnapshotZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSnapshotsSnapshotZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsShareSnapshotsSnapshotZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSnapshotsSnapshotZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSnapshotsSnapshotZone)(nil)).Elem() +} + +func (o GetIsShareSnapshotsSnapshotZoneArrayOutput) ToGetIsShareSnapshotsSnapshotZoneArrayOutput() GetIsShareSnapshotsSnapshotZoneArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotZoneArrayOutput) ToGetIsShareSnapshotsSnapshotZoneArrayOutputWithContext(ctx context.Context) GetIsShareSnapshotsSnapshotZoneArrayOutput { + return o +} + +func (o GetIsShareSnapshotsSnapshotZoneArrayOutput) Index(i pulumi.IntInput) GetIsShareSnapshotsSnapshotZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSnapshotsSnapshotZone { + return vs[0].([]GetIsShareSnapshotsSnapshotZone)[vs[1].(int)] + }).(GetIsShareSnapshotsSnapshotZoneOutput) +} + +type GetIsShareSourceShare struct { + // The CRN for this file share. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsShareSourceShareDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The unique user-defined name for this file share. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareSourceShareInput is an input type that accepts GetIsShareSourceShareArgs and GetIsShareSourceShareOutput values. +// You can construct a concrete instance of `GetIsShareSourceShareInput` via: +// +// GetIsShareSourceShareArgs{...} +type GetIsShareSourceShareInput interface { + pulumi.Input + + ToGetIsShareSourceShareOutput() GetIsShareSourceShareOutput + ToGetIsShareSourceShareOutputWithContext(context.Context) GetIsShareSourceShareOutput +} + +type GetIsShareSourceShareArgs struct { + // The CRN for this file share. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsShareSourceShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareSourceShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSourceShare)(nil)).Elem() +} + +func (i GetIsShareSourceShareArgs) ToGetIsShareSourceShareOutput() GetIsShareSourceShareOutput { + return i.ToGetIsShareSourceShareOutputWithContext(context.Background()) +} + +func (i GetIsShareSourceShareArgs) ToGetIsShareSourceShareOutputWithContext(ctx context.Context) GetIsShareSourceShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSourceShareOutput) +} + +// GetIsShareSourceShareArrayInput is an input type that accepts GetIsShareSourceShareArray and GetIsShareSourceShareArrayOutput values. +// You can construct a concrete instance of `GetIsShareSourceShareArrayInput` via: +// +// GetIsShareSourceShareArray{ GetIsShareSourceShareArgs{...} } +type GetIsShareSourceShareArrayInput interface { + pulumi.Input + + ToGetIsShareSourceShareArrayOutput() GetIsShareSourceShareArrayOutput + ToGetIsShareSourceShareArrayOutputWithContext(context.Context) GetIsShareSourceShareArrayOutput +} + +type GetIsShareSourceShareArray []GetIsShareSourceShareInput + +func (GetIsShareSourceShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSourceShare)(nil)).Elem() +} + +func (i GetIsShareSourceShareArray) ToGetIsShareSourceShareArrayOutput() GetIsShareSourceShareArrayOutput { + return i.ToGetIsShareSourceShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSourceShareArray) ToGetIsShareSourceShareArrayOutputWithContext(ctx context.Context) GetIsShareSourceShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSourceShareArrayOutput) +} + +type GetIsShareSourceShareOutput struct{ *pulumi.OutputState } + +func (GetIsShareSourceShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSourceShare)(nil)).Elem() +} + +func (o GetIsShareSourceShareOutput) ToGetIsShareSourceShareOutput() GetIsShareSourceShareOutput { + return o +} + +func (o GetIsShareSourceShareOutput) ToGetIsShareSourceShareOutputWithContext(ctx context.Context) GetIsShareSourceShareOutput { + return o +} + +// The CRN for this file share. +func (o GetIsShareSourceShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsShareSourceShareOutput) Deleteds() GetIsShareSourceShareDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareSourceShare) []GetIsShareSourceShareDeleted { return v.Deleteds }).(GetIsShareSourceShareDeletedArrayOutput) +} + +// The URL for this file share. +func (o GetIsShareSourceShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsShareSourceShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this file share. +func (o GetIsShareSourceShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceShare) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareSourceShareOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceShare) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareSourceShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSourceShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSourceShare)(nil)).Elem() +} + +func (o GetIsShareSourceShareArrayOutput) ToGetIsShareSourceShareArrayOutput() GetIsShareSourceShareArrayOutput { + return o +} + +func (o GetIsShareSourceShareArrayOutput) ToGetIsShareSourceShareArrayOutputWithContext(ctx context.Context) GetIsShareSourceShareArrayOutput { + return o +} + +func (o GetIsShareSourceShareArrayOutput) Index(i pulumi.IntInput) GetIsShareSourceShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSourceShare { + return vs[0].([]GetIsShareSourceShare)[vs[1].(int)] + }).(GetIsShareSourceShareOutput) +} + +type GetIsShareSourceShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareSourceShareDeletedInput is an input type that accepts GetIsShareSourceShareDeletedArgs and GetIsShareSourceShareDeletedOutput values. +// You can construct a concrete instance of `GetIsShareSourceShareDeletedInput` via: +// +// GetIsShareSourceShareDeletedArgs{...} +type GetIsShareSourceShareDeletedInput interface { + pulumi.Input + + ToGetIsShareSourceShareDeletedOutput() GetIsShareSourceShareDeletedOutput + ToGetIsShareSourceShareDeletedOutputWithContext(context.Context) GetIsShareSourceShareDeletedOutput +} + +type GetIsShareSourceShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareSourceShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSourceShareDeleted)(nil)).Elem() +} + +func (i GetIsShareSourceShareDeletedArgs) ToGetIsShareSourceShareDeletedOutput() GetIsShareSourceShareDeletedOutput { + return i.ToGetIsShareSourceShareDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareSourceShareDeletedArgs) ToGetIsShareSourceShareDeletedOutputWithContext(ctx context.Context) GetIsShareSourceShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSourceShareDeletedOutput) +} + +// GetIsShareSourceShareDeletedArrayInput is an input type that accepts GetIsShareSourceShareDeletedArray and GetIsShareSourceShareDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareSourceShareDeletedArrayInput` via: +// +// GetIsShareSourceShareDeletedArray{ GetIsShareSourceShareDeletedArgs{...} } +type GetIsShareSourceShareDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareSourceShareDeletedArrayOutput() GetIsShareSourceShareDeletedArrayOutput + ToGetIsShareSourceShareDeletedArrayOutputWithContext(context.Context) GetIsShareSourceShareDeletedArrayOutput +} + +type GetIsShareSourceShareDeletedArray []GetIsShareSourceShareDeletedInput + +func (GetIsShareSourceShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSourceShareDeleted)(nil)).Elem() +} + +func (i GetIsShareSourceShareDeletedArray) ToGetIsShareSourceShareDeletedArrayOutput() GetIsShareSourceShareDeletedArrayOutput { + return i.ToGetIsShareSourceShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSourceShareDeletedArray) ToGetIsShareSourceShareDeletedArrayOutputWithContext(ctx context.Context) GetIsShareSourceShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSourceShareDeletedArrayOutput) +} + +type GetIsShareSourceShareDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareSourceShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSourceShareDeleted)(nil)).Elem() +} + +func (o GetIsShareSourceShareDeletedOutput) ToGetIsShareSourceShareDeletedOutput() GetIsShareSourceShareDeletedOutput { + return o +} + +func (o GetIsShareSourceShareDeletedOutput) ToGetIsShareSourceShareDeletedOutputWithContext(ctx context.Context) GetIsShareSourceShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareSourceShareDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceShareDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareSourceShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSourceShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSourceShareDeleted)(nil)).Elem() +} + +func (o GetIsShareSourceShareDeletedArrayOutput) ToGetIsShareSourceShareDeletedArrayOutput() GetIsShareSourceShareDeletedArrayOutput { + return o +} + +func (o GetIsShareSourceShareDeletedArrayOutput) ToGetIsShareSourceShareDeletedArrayOutputWithContext(ctx context.Context) GetIsShareSourceShareDeletedArrayOutput { + return o +} + +func (o GetIsShareSourceShareDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareSourceShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSourceShareDeleted { + return vs[0].([]GetIsShareSourceShareDeleted)[vs[1].(int)] + }).(GetIsShareSourceShareDeletedOutput) +} + +type GetIsShareSourceSnapshot struct { + // The CRN for this share snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsShareSourceSnapshotDeleted `pulumi:"deleteds"` + // The URL for this share snapshot. + Href string `pulumi:"href"` + // The unique identifier for this share snapshot. + Id string `pulumi:"id"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsShareSourceSnapshotInput is an input type that accepts GetIsShareSourceSnapshotArgs and GetIsShareSourceSnapshotOutput values. +// You can construct a concrete instance of `GetIsShareSourceSnapshotInput` via: +// +// GetIsShareSourceSnapshotArgs{...} +type GetIsShareSourceSnapshotInput interface { + pulumi.Input + + ToGetIsShareSourceSnapshotOutput() GetIsShareSourceSnapshotOutput + ToGetIsShareSourceSnapshotOutputWithContext(context.Context) GetIsShareSourceSnapshotOutput +} + +type GetIsShareSourceSnapshotArgs struct { + // The CRN for this share snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsShareSourceSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsShareSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSourceSnapshot)(nil)).Elem() +} + +func (i GetIsShareSourceSnapshotArgs) ToGetIsShareSourceSnapshotOutput() GetIsShareSourceSnapshotOutput { + return i.ToGetIsShareSourceSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsShareSourceSnapshotArgs) ToGetIsShareSourceSnapshotOutputWithContext(ctx context.Context) GetIsShareSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSourceSnapshotOutput) +} + +// GetIsShareSourceSnapshotArrayInput is an input type that accepts GetIsShareSourceSnapshotArray and GetIsShareSourceSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsShareSourceSnapshotArrayInput` via: +// +// GetIsShareSourceSnapshotArray{ GetIsShareSourceSnapshotArgs{...} } +type GetIsShareSourceSnapshotArrayInput interface { + pulumi.Input + + ToGetIsShareSourceSnapshotArrayOutput() GetIsShareSourceSnapshotArrayOutput + ToGetIsShareSourceSnapshotArrayOutputWithContext(context.Context) GetIsShareSourceSnapshotArrayOutput +} + +type GetIsShareSourceSnapshotArray []GetIsShareSourceSnapshotInput + +func (GetIsShareSourceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSourceSnapshot)(nil)).Elem() +} + +func (i GetIsShareSourceSnapshotArray) ToGetIsShareSourceSnapshotArrayOutput() GetIsShareSourceSnapshotArrayOutput { + return i.ToGetIsShareSourceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSourceSnapshotArray) ToGetIsShareSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsShareSourceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSourceSnapshotArrayOutput) +} + +type GetIsShareSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsShareSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSourceSnapshot)(nil)).Elem() +} + +func (o GetIsShareSourceSnapshotOutput) ToGetIsShareSourceSnapshotOutput() GetIsShareSourceSnapshotOutput { + return o +} + +func (o GetIsShareSourceSnapshotOutput) ToGetIsShareSourceSnapshotOutputWithContext(ctx context.Context) GetIsShareSourceSnapshotOutput { + return o +} + +// The CRN for this share snapshot. +func (o GetIsShareSourceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsShareSourceSnapshotOutput) Deleteds() GetIsShareSourceSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsShareSourceSnapshot) []GetIsShareSourceSnapshotDeleted { return v.Deleteds }).(GetIsShareSourceSnapshotDeletedArrayOutput) +} + +// The URL for this share snapshot. +func (o GetIsShareSourceSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share snapshot. +func (o GetIsShareSourceSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this share snapshot. The name is unique across all snapshots for the file share. +func (o GetIsShareSourceSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsShareSourceSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsShareSourceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSourceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSourceSnapshot)(nil)).Elem() +} + +func (o GetIsShareSourceSnapshotArrayOutput) ToGetIsShareSourceSnapshotArrayOutput() GetIsShareSourceSnapshotArrayOutput { + return o +} + +func (o GetIsShareSourceSnapshotArrayOutput) ToGetIsShareSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsShareSourceSnapshotArrayOutput { + return o +} + +func (o GetIsShareSourceSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsShareSourceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSourceSnapshot { + return vs[0].([]GetIsShareSourceSnapshot)[vs[1].(int)] + }).(GetIsShareSourceSnapshotOutput) +} + +type GetIsShareSourceSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsShareSourceSnapshotDeletedInput is an input type that accepts GetIsShareSourceSnapshotDeletedArgs and GetIsShareSourceSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsShareSourceSnapshotDeletedInput` via: +// +// GetIsShareSourceSnapshotDeletedArgs{...} +type GetIsShareSourceSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsShareSourceSnapshotDeletedOutput() GetIsShareSourceSnapshotDeletedOutput + ToGetIsShareSourceSnapshotDeletedOutputWithContext(context.Context) GetIsShareSourceSnapshotDeletedOutput +} + +type GetIsShareSourceSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsShareSourceSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsShareSourceSnapshotDeletedArgs) ToGetIsShareSourceSnapshotDeletedOutput() GetIsShareSourceSnapshotDeletedOutput { + return i.ToGetIsShareSourceSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsShareSourceSnapshotDeletedArgs) ToGetIsShareSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsShareSourceSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSourceSnapshotDeletedOutput) +} + +// GetIsShareSourceSnapshotDeletedArrayInput is an input type that accepts GetIsShareSourceSnapshotDeletedArray and GetIsShareSourceSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsShareSourceSnapshotDeletedArrayInput` via: +// +// GetIsShareSourceSnapshotDeletedArray{ GetIsShareSourceSnapshotDeletedArgs{...} } +type GetIsShareSourceSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsShareSourceSnapshotDeletedArrayOutput() GetIsShareSourceSnapshotDeletedArrayOutput + ToGetIsShareSourceSnapshotDeletedArrayOutputWithContext(context.Context) GetIsShareSourceSnapshotDeletedArrayOutput +} + +type GetIsShareSourceSnapshotDeletedArray []GetIsShareSourceSnapshotDeletedInput + +func (GetIsShareSourceSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsShareSourceSnapshotDeletedArray) ToGetIsShareSourceSnapshotDeletedArrayOutput() GetIsShareSourceSnapshotDeletedArrayOutput { + return i.ToGetIsShareSourceSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsShareSourceSnapshotDeletedArray) ToGetIsShareSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsShareSourceSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsShareSourceSnapshotDeletedArrayOutput) +} + +type GetIsShareSourceSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsShareSourceSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsShareSourceSnapshotDeletedOutput) ToGetIsShareSourceSnapshotDeletedOutput() GetIsShareSourceSnapshotDeletedOutput { + return o +} + +func (o GetIsShareSourceSnapshotDeletedOutput) ToGetIsShareSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsShareSourceSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsShareSourceSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsShareSourceSnapshotDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsShareSourceSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsShareSourceSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsShareSourceSnapshotDeletedArrayOutput) ToGetIsShareSourceSnapshotDeletedArrayOutput() GetIsShareSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsShareSourceSnapshotDeletedArrayOutput) ToGetIsShareSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsShareSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsShareSourceSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsShareSourceSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsShareSourceSnapshotDeleted { + return vs[0].([]GetIsShareSourceSnapshotDeleted)[vs[1].(int)] + }).(GetIsShareSourceSnapshotDeletedOutput) +} + +type GetIsSharesShare struct { + // The access control mode for the share + AccessControlMode string `pulumi:"accessControlMode"` + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The accessor binding role of this file share:- `none`: This file share is not participating in access with another file share- `origin`: This file share is the origin for one or more file shares (which may be in other accounts)- `accessor`: This file share is providing access to another file share (which may be in another account). + AccessorBindingRole string `pulumi:"accessorBindingRole"` + // The accessor bindings for this file share. Each accessor binding identifies a resource (possibly in another account) with access to this file share's data. + AccessorBindings []GetIsSharesShareAccessorBinding `pulumi:"accessorBindings"` + // Allowed access protocols for this share + AllowedAccessProtocols []string `pulumi:"allowedAccessProtocols"` + // Allowed transit encryption modes + AllowedTransitEncryptionModes []string `pulumi:"allowedTransitEncryptionModes"` + // Availability mode of the share. + AvailabilityMode string `pulumi:"availabilityMode"` + // The bandwidth for this share. + Bandwidth int `pulumi:"bandwidth"` + // The date and time that the file share is created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this share. + Crn string `pulumi:"crn"` + // The type of encryption used for this file share. + Encryption string `pulumi:"encryption"` + // The key used to encrypt this file share. The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey string `pulumi:"encryptionKey"` + // The URL for this share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The maximum input/output operation performance bandwidth per second for the file share. + Iops int `pulumi:"iops"` + // The latest job associated with this file share.This property will be absent if no jobs have been created for this file share. + LatestJobs []GetIsSharesShareLatestJob `pulumi:"latestJobs"` + // Information about the latest synchronization for this file share. + LatestSyncs []GetIsSharesShareLatestSync `pulumi:"latestSyncs"` + // The lifecycle state of the file share. + LifecycleState string `pulumi:"lifecycleState"` + // Mount targets for the file share. + MountTargets []GetIsSharesShareMountTarget `pulumi:"mountTargets"` + // The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. + OriginShares []GetIsSharesShareOriginShare `pulumi:"originShares"` + // The globally unique name of the profile this file share uses. + Profile string `pulumi:"profile"` + // The replica file share for this source file share.This property will be present when the `replicationRole` is `source`. + ReplicaShares []GetIsSharesShareReplicaShare `pulumi:"replicaShares"` + // The cron specification for the file share replication schedule.This property will be present when the `replicationRole` is `replica`. + ReplicationCronSpec string `pulumi:"replicationCronSpec"` + // The replication role of the file share.* `none`: This share is not participating in replication.* `replica`: This share is a replication target.* `source`: This share is a replication source. + ReplicationRole string `pulumi:"replicationRole"` + // The replication status of the file share.* `active`: This share is actively participating in replication, and the replica's data is up-to-date with the replication schedule.* `failoverPending`: This share is performing a replication failover.* `initializing`: This share is initializing replication.* `none`: This share is not participating in replication.* `splitPending`: This share is performing a replication split. + ReplicationStatus string `pulumi:"replicationStatus"` + // The reasons for the current replication status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + ReplicationStatusReasons []GetIsSharesShareReplicationStatusReason `pulumi:"replicationStatusReasons"` + // The unique identifier of the resource group for this file share. + ResourceGroup string `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The size of the file share rounded up to the next gigabyte. + Size int `pulumi:"size"` + // The total number of snapshots for this share. + SnapshotCount int `pulumi:"snapshotCount"` + // The total size (in gigabytes) of snapshots used for this file share. + SnapshotSize int `pulumi:"snapshotSize"` + // The source file share for this replica file share.This property will be present when the `replicationRole` is `replica`. + SourceShares []GetIsSharesShareSourceShare `pulumi:"sourceShares"` + // The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. + SourceSnapshots []GetIsSharesShareSourceSnapshot `pulumi:"sourceSnapshots"` + // The storage generation for this share + StorageGeneration int `pulumi:"storageGeneration"` + // List of tags + Tags []string `pulumi:"tags"` + // The globally unique name of the zone this file share will reside in. + Zone string `pulumi:"zone"` +} + +// GetIsSharesShareInput is an input type that accepts GetIsSharesShareArgs and GetIsSharesShareOutput values. +// You can construct a concrete instance of `GetIsSharesShareInput` via: +// +// GetIsSharesShareArgs{...} +type GetIsSharesShareInput interface { + pulumi.Input + + ToGetIsSharesShareOutput() GetIsSharesShareOutput + ToGetIsSharesShareOutputWithContext(context.Context) GetIsSharesShareOutput +} + +type GetIsSharesShareArgs struct { + // The access control mode for the share + AccessControlMode pulumi.StringInput `pulumi:"accessControlMode"` + // List of access management tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The accessor binding role of this file share:- `none`: This file share is not participating in access with another file share- `origin`: This file share is the origin for one or more file shares (which may be in other accounts)- `accessor`: This file share is providing access to another file share (which may be in another account). + AccessorBindingRole pulumi.StringInput `pulumi:"accessorBindingRole"` + // The accessor bindings for this file share. Each accessor binding identifies a resource (possibly in another account) with access to this file share's data. + AccessorBindings GetIsSharesShareAccessorBindingArrayInput `pulumi:"accessorBindings"` + // Allowed access protocols for this share + AllowedAccessProtocols pulumi.StringArrayInput `pulumi:"allowedAccessProtocols"` + // Allowed transit encryption modes + AllowedTransitEncryptionModes pulumi.StringArrayInput `pulumi:"allowedTransitEncryptionModes"` + // Availability mode of the share. + AvailabilityMode pulumi.StringInput `pulumi:"availabilityMode"` + // The bandwidth for this share. + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + // The date and time that the file share is created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this share. + Crn pulumi.StringInput `pulumi:"crn"` + // The type of encryption used for this file share. + Encryption pulumi.StringInput `pulumi:"encryption"` + // The key used to encrypt this file share. The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"` + // The URL for this share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The maximum input/output operation performance bandwidth per second for the file share. + Iops pulumi.IntInput `pulumi:"iops"` + // The latest job associated with this file share.This property will be absent if no jobs have been created for this file share. + LatestJobs GetIsSharesShareLatestJobArrayInput `pulumi:"latestJobs"` + // Information about the latest synchronization for this file share. + LatestSyncs GetIsSharesShareLatestSyncArrayInput `pulumi:"latestSyncs"` + // The lifecycle state of the file share. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // Mount targets for the file share. + MountTargets GetIsSharesShareMountTargetArrayInput `pulumi:"mountTargets"` + // The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. + OriginShares GetIsSharesShareOriginShareArrayInput `pulumi:"originShares"` + // The globally unique name of the profile this file share uses. + Profile pulumi.StringInput `pulumi:"profile"` + // The replica file share for this source file share.This property will be present when the `replicationRole` is `source`. + ReplicaShares GetIsSharesShareReplicaShareArrayInput `pulumi:"replicaShares"` + // The cron specification for the file share replication schedule.This property will be present when the `replicationRole` is `replica`. + ReplicationCronSpec pulumi.StringInput `pulumi:"replicationCronSpec"` + // The replication role of the file share.* `none`: This share is not participating in replication.* `replica`: This share is a replication target.* `source`: This share is a replication source. + ReplicationRole pulumi.StringInput `pulumi:"replicationRole"` + // The replication status of the file share.* `active`: This share is actively participating in replication, and the replica's data is up-to-date with the replication schedule.* `failoverPending`: This share is performing a replication failover.* `initializing`: This share is initializing replication.* `none`: This share is not participating in replication.* `splitPending`: This share is performing a replication split. + ReplicationStatus pulumi.StringInput `pulumi:"replicationStatus"` + // The reasons for the current replication status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + ReplicationStatusReasons GetIsSharesShareReplicationStatusReasonArrayInput `pulumi:"replicationStatusReasons"` + // The unique identifier of the resource group for this file share. + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The size of the file share rounded up to the next gigabyte. + Size pulumi.IntInput `pulumi:"size"` + // The total number of snapshots for this share. + SnapshotCount pulumi.IntInput `pulumi:"snapshotCount"` + // The total size (in gigabytes) of snapshots used for this file share. + SnapshotSize pulumi.IntInput `pulumi:"snapshotSize"` + // The source file share for this replica file share.This property will be present when the `replicationRole` is `replica`. + SourceShares GetIsSharesShareSourceShareArrayInput `pulumi:"sourceShares"` + // The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. + SourceSnapshots GetIsSharesShareSourceSnapshotArrayInput `pulumi:"sourceSnapshots"` + // The storage generation for this share + StorageGeneration pulumi.IntInput `pulumi:"storageGeneration"` + // List of tags + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The globally unique name of the zone this file share will reside in. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsSharesShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShare)(nil)).Elem() +} + +func (i GetIsSharesShareArgs) ToGetIsSharesShareOutput() GetIsSharesShareOutput { + return i.ToGetIsSharesShareOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareArgs) ToGetIsSharesShareOutputWithContext(ctx context.Context) GetIsSharesShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOutput) +} + +// GetIsSharesShareArrayInput is an input type that accepts GetIsSharesShareArray and GetIsSharesShareArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareArrayInput` via: +// +// GetIsSharesShareArray{ GetIsSharesShareArgs{...} } +type GetIsSharesShareArrayInput interface { + pulumi.Input + + ToGetIsSharesShareArrayOutput() GetIsSharesShareArrayOutput + ToGetIsSharesShareArrayOutputWithContext(context.Context) GetIsSharesShareArrayOutput +} + +type GetIsSharesShareArray []GetIsSharesShareInput + +func (GetIsSharesShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShare)(nil)).Elem() +} + +func (i GetIsSharesShareArray) ToGetIsSharesShareArrayOutput() GetIsSharesShareArrayOutput { + return i.ToGetIsSharesShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareArray) ToGetIsSharesShareArrayOutputWithContext(ctx context.Context) GetIsSharesShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareArrayOutput) +} + +type GetIsSharesShareOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShare)(nil)).Elem() +} + +func (o GetIsSharesShareOutput) ToGetIsSharesShareOutput() GetIsSharesShareOutput { + return o +} + +func (o GetIsSharesShareOutput) ToGetIsSharesShareOutputWithContext(ctx context.Context) GetIsSharesShareOutput { + return o +} + +// The access control mode for the share +func (o GetIsSharesShareOutput) AccessControlMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.AccessControlMode }).(pulumi.StringOutput) +} + +// List of access management tags +func (o GetIsSharesShareOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The accessor binding role of this file share:- `none`: This file share is not participating in access with another file share- `origin`: This file share is the origin for one or more file shares (which may be in other accounts)- `accessor`: This file share is providing access to another file share (which may be in another account). +func (o GetIsSharesShareOutput) AccessorBindingRole() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.AccessorBindingRole }).(pulumi.StringOutput) +} + +// The accessor bindings for this file share. Each accessor binding identifies a resource (possibly in another account) with access to this file share's data. +func (o GetIsSharesShareOutput) AccessorBindings() GetIsSharesShareAccessorBindingArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareAccessorBinding { return v.AccessorBindings }).(GetIsSharesShareAccessorBindingArrayOutput) +} + +// Allowed access protocols for this share +func (o GetIsSharesShareOutput) AllowedAccessProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []string { return v.AllowedAccessProtocols }).(pulumi.StringArrayOutput) +} + +// Allowed transit encryption modes +func (o GetIsSharesShareOutput) AllowedTransitEncryptionModes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []string { return v.AllowedTransitEncryptionModes }).(pulumi.StringArrayOutput) +} + +// Availability mode of the share. +func (o GetIsSharesShareOutput) AvailabilityMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.AvailabilityMode }).(pulumi.StringOutput) +} + +// The bandwidth for this share. +func (o GetIsSharesShareOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSharesShare) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +// The date and time that the file share is created. +func (o GetIsSharesShareOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this share. +func (o GetIsSharesShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// The type of encryption used for this file share. +func (o GetIsSharesShareOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.Encryption }).(pulumi.StringOutput) +} + +// The key used to encrypt this file share. The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o GetIsSharesShareOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// The URL for this share. +func (o GetIsSharesShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsSharesShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The maximum input/output operation performance bandwidth per second for the file share. +func (o GetIsSharesShareOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSharesShare) int { return v.Iops }).(pulumi.IntOutput) +} + +// The latest job associated with this file share.This property will be absent if no jobs have been created for this file share. +func (o GetIsSharesShareOutput) LatestJobs() GetIsSharesShareLatestJobArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareLatestJob { return v.LatestJobs }).(GetIsSharesShareLatestJobArrayOutput) +} + +// Information about the latest synchronization for this file share. +func (o GetIsSharesShareOutput) LatestSyncs() GetIsSharesShareLatestSyncArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareLatestSync { return v.LatestSyncs }).(GetIsSharesShareLatestSyncArrayOutput) +} + +// The lifecycle state of the file share. +func (o GetIsSharesShareOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Mount targets for the file share. +func (o GetIsSharesShareOutput) MountTargets() GetIsSharesShareMountTargetArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareMountTarget { return v.MountTargets }).(GetIsSharesShareMountTargetArrayOutput) +} + +// The unique user-defined name for this file share. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsSharesShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.Name }).(pulumi.StringOutput) +} + +// The origin share this accessor share is referring to.This property will be present when the `accessorBindingRole` is `accessor`. +func (o GetIsSharesShareOutput) OriginShares() GetIsSharesShareOriginShareArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareOriginShare { return v.OriginShares }).(GetIsSharesShareOriginShareArrayOutput) +} + +// The globally unique name of the profile this file share uses. +func (o GetIsSharesShareOutput) Profile() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.Profile }).(pulumi.StringOutput) +} + +// The replica file share for this source file share.This property will be present when the `replicationRole` is `source`. +func (o GetIsSharesShareOutput) ReplicaShares() GetIsSharesShareReplicaShareArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareReplicaShare { return v.ReplicaShares }).(GetIsSharesShareReplicaShareArrayOutput) +} + +// The cron specification for the file share replication schedule.This property will be present when the `replicationRole` is `replica`. +func (o GetIsSharesShareOutput) ReplicationCronSpec() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.ReplicationCronSpec }).(pulumi.StringOutput) +} + +// The replication role of the file share.* `none`: This share is not participating in replication.* `replica`: This share is a replication target.* `source`: This share is a replication source. +func (o GetIsSharesShareOutput) ReplicationRole() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.ReplicationRole }).(pulumi.StringOutput) +} + +// The replication status of the file share.* `active`: This share is actively participating in replication, and the replica's data is up-to-date with the replication schedule.* `failoverPending`: This share is performing a replication failover.* `initializing`: This share is initializing replication.* `none`: This share is not participating in replication.* `splitPending`: This share is performing a replication split. +func (o GetIsSharesShareOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +// The reasons for the current replication status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o GetIsSharesShareOutput) ReplicationStatusReasons() GetIsSharesShareReplicationStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareReplicationStatusReason { return v.ReplicationStatusReasons }).(GetIsSharesShareReplicationStatusReasonArrayOutput) +} + +// The unique identifier of the resource group for this file share. +func (o GetIsSharesShareOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsSharesShareOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The size of the file share rounded up to the next gigabyte. +func (o GetIsSharesShareOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSharesShare) int { return v.Size }).(pulumi.IntOutput) +} + +// The total number of snapshots for this share. +func (o GetIsSharesShareOutput) SnapshotCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSharesShare) int { return v.SnapshotCount }).(pulumi.IntOutput) +} + +// The total size (in gigabytes) of snapshots used for this file share. +func (o GetIsSharesShareOutput) SnapshotSize() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSharesShare) int { return v.SnapshotSize }).(pulumi.IntOutput) +} + +// The source file share for this replica file share.This property will be present when the `replicationRole` is `replica`. +func (o GetIsSharesShareOutput) SourceShares() GetIsSharesShareSourceShareArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareSourceShare { return v.SourceShares }).(GetIsSharesShareSourceShareArrayOutput) +} + +// The snapshot from which this share was cloned.This property will be present when the share was created from a snapshot.The resources supported by this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in thefuture. +func (o GetIsSharesShareOutput) SourceSnapshots() GetIsSharesShareSourceSnapshotArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []GetIsSharesShareSourceSnapshot { return v.SourceSnapshots }).(GetIsSharesShareSourceSnapshotArrayOutput) +} + +// The storage generation for this share +func (o GetIsSharesShareOutput) StorageGeneration() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSharesShare) int { return v.StorageGeneration }).(pulumi.IntOutput) +} + +// List of tags +func (o GetIsSharesShareOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSharesShare) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The globally unique name of the zone this file share will reside in. +func (o GetIsSharesShareOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShare) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsSharesShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShare)(nil)).Elem() +} + +func (o GetIsSharesShareArrayOutput) ToGetIsSharesShareArrayOutput() GetIsSharesShareArrayOutput { + return o +} + +func (o GetIsSharesShareArrayOutput) ToGetIsSharesShareArrayOutputWithContext(ctx context.Context) GetIsSharesShareArrayOutput { + return o +} + +func (o GetIsSharesShareArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShare { + return vs[0].([]GetIsSharesShare)[vs[1].(int)] + }).(GetIsSharesShareOutput) +} + +type GetIsSharesShareAccessorBinding struct { + // The URL for this share accessor binding. + Href string `pulumi:"href"` + // The unique identifier for this share accessor binding. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSharesShareAccessorBindingInput is an input type that accepts GetIsSharesShareAccessorBindingArgs and GetIsSharesShareAccessorBindingOutput values. +// You can construct a concrete instance of `GetIsSharesShareAccessorBindingInput` via: +// +// GetIsSharesShareAccessorBindingArgs{...} +type GetIsSharesShareAccessorBindingInput interface { + pulumi.Input + + ToGetIsSharesShareAccessorBindingOutput() GetIsSharesShareAccessorBindingOutput + ToGetIsSharesShareAccessorBindingOutputWithContext(context.Context) GetIsSharesShareAccessorBindingOutput +} + +type GetIsSharesShareAccessorBindingArgs struct { + // The URL for this share accessor binding. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share accessor binding. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSharesShareAccessorBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareAccessorBinding)(nil)).Elem() +} + +func (i GetIsSharesShareAccessorBindingArgs) ToGetIsSharesShareAccessorBindingOutput() GetIsSharesShareAccessorBindingOutput { + return i.ToGetIsSharesShareAccessorBindingOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareAccessorBindingArgs) ToGetIsSharesShareAccessorBindingOutputWithContext(ctx context.Context) GetIsSharesShareAccessorBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareAccessorBindingOutput) +} + +// GetIsSharesShareAccessorBindingArrayInput is an input type that accepts GetIsSharesShareAccessorBindingArray and GetIsSharesShareAccessorBindingArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareAccessorBindingArrayInput` via: +// +// GetIsSharesShareAccessorBindingArray{ GetIsSharesShareAccessorBindingArgs{...} } +type GetIsSharesShareAccessorBindingArrayInput interface { + pulumi.Input + + ToGetIsSharesShareAccessorBindingArrayOutput() GetIsSharesShareAccessorBindingArrayOutput + ToGetIsSharesShareAccessorBindingArrayOutputWithContext(context.Context) GetIsSharesShareAccessorBindingArrayOutput +} + +type GetIsSharesShareAccessorBindingArray []GetIsSharesShareAccessorBindingInput + +func (GetIsSharesShareAccessorBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareAccessorBinding)(nil)).Elem() +} + +func (i GetIsSharesShareAccessorBindingArray) ToGetIsSharesShareAccessorBindingArrayOutput() GetIsSharesShareAccessorBindingArrayOutput { + return i.ToGetIsSharesShareAccessorBindingArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareAccessorBindingArray) ToGetIsSharesShareAccessorBindingArrayOutputWithContext(ctx context.Context) GetIsSharesShareAccessorBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareAccessorBindingArrayOutput) +} + +type GetIsSharesShareAccessorBindingOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareAccessorBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareAccessorBinding)(nil)).Elem() +} + +func (o GetIsSharesShareAccessorBindingOutput) ToGetIsSharesShareAccessorBindingOutput() GetIsSharesShareAccessorBindingOutput { + return o +} + +func (o GetIsSharesShareAccessorBindingOutput) ToGetIsSharesShareAccessorBindingOutputWithContext(ctx context.Context) GetIsSharesShareAccessorBindingOutput { + return o +} + +// The URL for this share accessor binding. +func (o GetIsSharesShareAccessorBindingOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareAccessorBinding) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share accessor binding. +func (o GetIsSharesShareAccessorBindingOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareAccessorBinding) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSharesShareAccessorBindingOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareAccessorBinding) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSharesShareAccessorBindingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareAccessorBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareAccessorBinding)(nil)).Elem() +} + +func (o GetIsSharesShareAccessorBindingArrayOutput) ToGetIsSharesShareAccessorBindingArrayOutput() GetIsSharesShareAccessorBindingArrayOutput { + return o +} + +func (o GetIsSharesShareAccessorBindingArrayOutput) ToGetIsSharesShareAccessorBindingArrayOutputWithContext(ctx context.Context) GetIsSharesShareAccessorBindingArrayOutput { + return o +} + +func (o GetIsSharesShareAccessorBindingArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareAccessorBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareAccessorBinding { + return vs[0].([]GetIsSharesShareAccessorBinding)[vs[1].(int)] + }).(GetIsSharesShareAccessorBindingOutput) +} + +type GetIsSharesShareLatestJob struct { + // The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. + Status string `pulumi:"status"` + // The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons []GetIsSharesShareLatestJobStatusReason `pulumi:"statusReasons"` + // The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job. + Type string `pulumi:"type"` +} + +// GetIsSharesShareLatestJobInput is an input type that accepts GetIsSharesShareLatestJobArgs and GetIsSharesShareLatestJobOutput values. +// You can construct a concrete instance of `GetIsSharesShareLatestJobInput` via: +// +// GetIsSharesShareLatestJobArgs{...} +type GetIsSharesShareLatestJobInput interface { + pulumi.Input + + ToGetIsSharesShareLatestJobOutput() GetIsSharesShareLatestJobOutput + ToGetIsSharesShareLatestJobOutputWithContext(context.Context) GetIsSharesShareLatestJobOutput +} + +type GetIsSharesShareLatestJobArgs struct { + // The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons GetIsSharesShareLatestJobStatusReasonArrayInput `pulumi:"statusReasons"` + // The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsSharesShareLatestJobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareLatestJob)(nil)).Elem() +} + +func (i GetIsSharesShareLatestJobArgs) ToGetIsSharesShareLatestJobOutput() GetIsSharesShareLatestJobOutput { + return i.ToGetIsSharesShareLatestJobOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareLatestJobArgs) ToGetIsSharesShareLatestJobOutputWithContext(ctx context.Context) GetIsSharesShareLatestJobOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareLatestJobOutput) +} + +// GetIsSharesShareLatestJobArrayInput is an input type that accepts GetIsSharesShareLatestJobArray and GetIsSharesShareLatestJobArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareLatestJobArrayInput` via: +// +// GetIsSharesShareLatestJobArray{ GetIsSharesShareLatestJobArgs{...} } +type GetIsSharesShareLatestJobArrayInput interface { + pulumi.Input + + ToGetIsSharesShareLatestJobArrayOutput() GetIsSharesShareLatestJobArrayOutput + ToGetIsSharesShareLatestJobArrayOutputWithContext(context.Context) GetIsSharesShareLatestJobArrayOutput +} + +type GetIsSharesShareLatestJobArray []GetIsSharesShareLatestJobInput + +func (GetIsSharesShareLatestJobArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareLatestJob)(nil)).Elem() +} + +func (i GetIsSharesShareLatestJobArray) ToGetIsSharesShareLatestJobArrayOutput() GetIsSharesShareLatestJobArrayOutput { + return i.ToGetIsSharesShareLatestJobArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareLatestJobArray) ToGetIsSharesShareLatestJobArrayOutputWithContext(ctx context.Context) GetIsSharesShareLatestJobArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareLatestJobArrayOutput) +} + +type GetIsSharesShareLatestJobOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareLatestJobOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareLatestJob)(nil)).Elem() +} + +func (o GetIsSharesShareLatestJobOutput) ToGetIsSharesShareLatestJobOutput() GetIsSharesShareLatestJobOutput { + return o +} + +func (o GetIsSharesShareLatestJobOutput) ToGetIsSharesShareLatestJobOutputWithContext(ctx context.Context) GetIsSharesShareLatestJobOutput { + return o +} + +// The status of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `cancelled`: This job has been cancelled.* `failed`: This job has failed.* `queued`: This job is queued.* `running`: This job is running.* `succeeded`: This job completed successfully. +func (o GetIsSharesShareLatestJobOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareLatestJob) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the file share job status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o GetIsSharesShareLatestJobOutput) StatusReasons() GetIsSharesShareLatestJobStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsSharesShareLatestJob) []GetIsSharesShareLatestJobStatusReason { return v.StatusReasons }).(GetIsSharesShareLatestJobStatusReasonArrayOutput) +} + +// The type of the file share job.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the file share job on which the unexpected property value was encountered.* `replicationFailover`: This is a share replication failover job.* `replicationInit`: This is a share replication is initialization job.* `replicationSplit`: This is a share replication split job. +func (o GetIsSharesShareLatestJobOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareLatestJob) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsSharesShareLatestJobArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareLatestJobArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareLatestJob)(nil)).Elem() +} + +func (o GetIsSharesShareLatestJobArrayOutput) ToGetIsSharesShareLatestJobArrayOutput() GetIsSharesShareLatestJobArrayOutput { + return o +} + +func (o GetIsSharesShareLatestJobArrayOutput) ToGetIsSharesShareLatestJobArrayOutputWithContext(ctx context.Context) GetIsSharesShareLatestJobArrayOutput { + return o +} + +func (o GetIsSharesShareLatestJobArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareLatestJobOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareLatestJob { + return vs[0].([]GetIsSharesShareLatestJob)[vs[1].(int)] + }).(GetIsSharesShareLatestJobOutput) +} + +type GetIsSharesShareLatestJobStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSharesShareLatestJobStatusReasonInput is an input type that accepts GetIsSharesShareLatestJobStatusReasonArgs and GetIsSharesShareLatestJobStatusReasonOutput values. +// You can construct a concrete instance of `GetIsSharesShareLatestJobStatusReasonInput` via: +// +// GetIsSharesShareLatestJobStatusReasonArgs{...} +type GetIsSharesShareLatestJobStatusReasonInput interface { + pulumi.Input + + ToGetIsSharesShareLatestJobStatusReasonOutput() GetIsSharesShareLatestJobStatusReasonOutput + ToGetIsSharesShareLatestJobStatusReasonOutputWithContext(context.Context) GetIsSharesShareLatestJobStatusReasonOutput +} + +type GetIsSharesShareLatestJobStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSharesShareLatestJobStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareLatestJobStatusReason)(nil)).Elem() +} + +func (i GetIsSharesShareLatestJobStatusReasonArgs) ToGetIsSharesShareLatestJobStatusReasonOutput() GetIsSharesShareLatestJobStatusReasonOutput { + return i.ToGetIsSharesShareLatestJobStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareLatestJobStatusReasonArgs) ToGetIsSharesShareLatestJobStatusReasonOutputWithContext(ctx context.Context) GetIsSharesShareLatestJobStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareLatestJobStatusReasonOutput) +} + +// GetIsSharesShareLatestJobStatusReasonArrayInput is an input type that accepts GetIsSharesShareLatestJobStatusReasonArray and GetIsSharesShareLatestJobStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareLatestJobStatusReasonArrayInput` via: +// +// GetIsSharesShareLatestJobStatusReasonArray{ GetIsSharesShareLatestJobStatusReasonArgs{...} } +type GetIsSharesShareLatestJobStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsSharesShareLatestJobStatusReasonArrayOutput() GetIsSharesShareLatestJobStatusReasonArrayOutput + ToGetIsSharesShareLatestJobStatusReasonArrayOutputWithContext(context.Context) GetIsSharesShareLatestJobStatusReasonArrayOutput +} + +type GetIsSharesShareLatestJobStatusReasonArray []GetIsSharesShareLatestJobStatusReasonInput + +func (GetIsSharesShareLatestJobStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareLatestJobStatusReason)(nil)).Elem() +} + +func (i GetIsSharesShareLatestJobStatusReasonArray) ToGetIsSharesShareLatestJobStatusReasonArrayOutput() GetIsSharesShareLatestJobStatusReasonArrayOutput { + return i.ToGetIsSharesShareLatestJobStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareLatestJobStatusReasonArray) ToGetIsSharesShareLatestJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsSharesShareLatestJobStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareLatestJobStatusReasonArrayOutput) +} + +type GetIsSharesShareLatestJobStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareLatestJobStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareLatestJobStatusReason)(nil)).Elem() +} + +func (o GetIsSharesShareLatestJobStatusReasonOutput) ToGetIsSharesShareLatestJobStatusReasonOutput() GetIsSharesShareLatestJobStatusReasonOutput { + return o +} + +func (o GetIsSharesShareLatestJobStatusReasonOutput) ToGetIsSharesShareLatestJobStatusReasonOutputWithContext(ctx context.Context) GetIsSharesShareLatestJobStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsSharesShareLatestJobStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareLatestJobStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsSharesShareLatestJobStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareLatestJobStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsSharesShareLatestJobStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareLatestJobStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSharesShareLatestJobStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareLatestJobStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareLatestJobStatusReason)(nil)).Elem() +} + +func (o GetIsSharesShareLatestJobStatusReasonArrayOutput) ToGetIsSharesShareLatestJobStatusReasonArrayOutput() GetIsSharesShareLatestJobStatusReasonArrayOutput { + return o +} + +func (o GetIsSharesShareLatestJobStatusReasonArrayOutput) ToGetIsSharesShareLatestJobStatusReasonArrayOutputWithContext(ctx context.Context) GetIsSharesShareLatestJobStatusReasonArrayOutput { + return o +} + +func (o GetIsSharesShareLatestJobStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareLatestJobStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareLatestJobStatusReason { + return vs[0].([]GetIsSharesShareLatestJobStatusReason)[vs[1].(int)] + }).(GetIsSharesShareLatestJobStatusReasonOutput) +} + +type GetIsSharesShareLatestSync struct { + // The completed date and time of last synchronization between the replica share and its source. + CompletedAt string `pulumi:"completedAt"` + // The data transferred (in bytes) in the last synchronization between the replica and its source. + DataTransferred int `pulumi:"dataTransferred"` + // The start date and time of last synchronization between the replica share and its source. + StartedAt string `pulumi:"startedAt"` +} + +// GetIsSharesShareLatestSyncInput is an input type that accepts GetIsSharesShareLatestSyncArgs and GetIsSharesShareLatestSyncOutput values. +// You can construct a concrete instance of `GetIsSharesShareLatestSyncInput` via: +// +// GetIsSharesShareLatestSyncArgs{...} +type GetIsSharesShareLatestSyncInput interface { + pulumi.Input + + ToGetIsSharesShareLatestSyncOutput() GetIsSharesShareLatestSyncOutput + ToGetIsSharesShareLatestSyncOutputWithContext(context.Context) GetIsSharesShareLatestSyncOutput +} + +type GetIsSharesShareLatestSyncArgs struct { + // The completed date and time of last synchronization between the replica share and its source. + CompletedAt pulumi.StringInput `pulumi:"completedAt"` + // The data transferred (in bytes) in the last synchronization between the replica and its source. + DataTransferred pulumi.IntInput `pulumi:"dataTransferred"` + // The start date and time of last synchronization between the replica share and its source. + StartedAt pulumi.StringInput `pulumi:"startedAt"` +} + +func (GetIsSharesShareLatestSyncArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareLatestSync)(nil)).Elem() +} + +func (i GetIsSharesShareLatestSyncArgs) ToGetIsSharesShareLatestSyncOutput() GetIsSharesShareLatestSyncOutput { + return i.ToGetIsSharesShareLatestSyncOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareLatestSyncArgs) ToGetIsSharesShareLatestSyncOutputWithContext(ctx context.Context) GetIsSharesShareLatestSyncOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareLatestSyncOutput) +} + +// GetIsSharesShareLatestSyncArrayInput is an input type that accepts GetIsSharesShareLatestSyncArray and GetIsSharesShareLatestSyncArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareLatestSyncArrayInput` via: +// +// GetIsSharesShareLatestSyncArray{ GetIsSharesShareLatestSyncArgs{...} } +type GetIsSharesShareLatestSyncArrayInput interface { + pulumi.Input + + ToGetIsSharesShareLatestSyncArrayOutput() GetIsSharesShareLatestSyncArrayOutput + ToGetIsSharesShareLatestSyncArrayOutputWithContext(context.Context) GetIsSharesShareLatestSyncArrayOutput +} + +type GetIsSharesShareLatestSyncArray []GetIsSharesShareLatestSyncInput + +func (GetIsSharesShareLatestSyncArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareLatestSync)(nil)).Elem() +} + +func (i GetIsSharesShareLatestSyncArray) ToGetIsSharesShareLatestSyncArrayOutput() GetIsSharesShareLatestSyncArrayOutput { + return i.ToGetIsSharesShareLatestSyncArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareLatestSyncArray) ToGetIsSharesShareLatestSyncArrayOutputWithContext(ctx context.Context) GetIsSharesShareLatestSyncArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareLatestSyncArrayOutput) +} + +type GetIsSharesShareLatestSyncOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareLatestSyncOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareLatestSync)(nil)).Elem() +} + +func (o GetIsSharesShareLatestSyncOutput) ToGetIsSharesShareLatestSyncOutput() GetIsSharesShareLatestSyncOutput { + return o +} + +func (o GetIsSharesShareLatestSyncOutput) ToGetIsSharesShareLatestSyncOutputWithContext(ctx context.Context) GetIsSharesShareLatestSyncOutput { + return o +} + +// The completed date and time of last synchronization between the replica share and its source. +func (o GetIsSharesShareLatestSyncOutput) CompletedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareLatestSync) string { return v.CompletedAt }).(pulumi.StringOutput) +} + +// The data transferred (in bytes) in the last synchronization between the replica and its source. +func (o GetIsSharesShareLatestSyncOutput) DataTransferred() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSharesShareLatestSync) int { return v.DataTransferred }).(pulumi.IntOutput) +} + +// The start date and time of last synchronization between the replica share and its source. +func (o GetIsSharesShareLatestSyncOutput) StartedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareLatestSync) string { return v.StartedAt }).(pulumi.StringOutput) +} + +type GetIsSharesShareLatestSyncArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareLatestSyncArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareLatestSync)(nil)).Elem() +} + +func (o GetIsSharesShareLatestSyncArrayOutput) ToGetIsSharesShareLatestSyncArrayOutput() GetIsSharesShareLatestSyncArrayOutput { + return o +} + +func (o GetIsSharesShareLatestSyncArrayOutput) ToGetIsSharesShareLatestSyncArrayOutputWithContext(ctx context.Context) GetIsSharesShareLatestSyncArrayOutput { + return o +} + +func (o GetIsSharesShareLatestSyncArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareLatestSyncOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareLatestSync { + return vs[0].([]GetIsSharesShareLatestSync)[vs[1].(int)] + }).(GetIsSharesShareLatestSyncOutput) +} + +type GetIsSharesShareMountTarget struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSharesShareMountTargetDeleted `pulumi:"deleteds"` + // The URL for this share target. + Href string `pulumi:"href"` + // The unique identifier for this share target. + Id string `pulumi:"id"` + // The user-defined name for this share target. + Name string `pulumi:"name"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSharesShareMountTargetInput is an input type that accepts GetIsSharesShareMountTargetArgs and GetIsSharesShareMountTargetOutput values. +// You can construct a concrete instance of `GetIsSharesShareMountTargetInput` via: +// +// GetIsSharesShareMountTargetArgs{...} +type GetIsSharesShareMountTargetInput interface { + pulumi.Input + + ToGetIsSharesShareMountTargetOutput() GetIsSharesShareMountTargetOutput + ToGetIsSharesShareMountTargetOutputWithContext(context.Context) GetIsSharesShareMountTargetOutput +} + +type GetIsSharesShareMountTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSharesShareMountTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share target. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share target. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this share target. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSharesShareMountTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareMountTarget)(nil)).Elem() +} + +func (i GetIsSharesShareMountTargetArgs) ToGetIsSharesShareMountTargetOutput() GetIsSharesShareMountTargetOutput { + return i.ToGetIsSharesShareMountTargetOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareMountTargetArgs) ToGetIsSharesShareMountTargetOutputWithContext(ctx context.Context) GetIsSharesShareMountTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareMountTargetOutput) +} + +// GetIsSharesShareMountTargetArrayInput is an input type that accepts GetIsSharesShareMountTargetArray and GetIsSharesShareMountTargetArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareMountTargetArrayInput` via: +// +// GetIsSharesShareMountTargetArray{ GetIsSharesShareMountTargetArgs{...} } +type GetIsSharesShareMountTargetArrayInput interface { + pulumi.Input + + ToGetIsSharesShareMountTargetArrayOutput() GetIsSharesShareMountTargetArrayOutput + ToGetIsSharesShareMountTargetArrayOutputWithContext(context.Context) GetIsSharesShareMountTargetArrayOutput +} + +type GetIsSharesShareMountTargetArray []GetIsSharesShareMountTargetInput + +func (GetIsSharesShareMountTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareMountTarget)(nil)).Elem() +} + +func (i GetIsSharesShareMountTargetArray) ToGetIsSharesShareMountTargetArrayOutput() GetIsSharesShareMountTargetArrayOutput { + return i.ToGetIsSharesShareMountTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareMountTargetArray) ToGetIsSharesShareMountTargetArrayOutputWithContext(ctx context.Context) GetIsSharesShareMountTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareMountTargetArrayOutput) +} + +type GetIsSharesShareMountTargetOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareMountTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareMountTarget)(nil)).Elem() +} + +func (o GetIsSharesShareMountTargetOutput) ToGetIsSharesShareMountTargetOutput() GetIsSharesShareMountTargetOutput { + return o +} + +func (o GetIsSharesShareMountTargetOutput) ToGetIsSharesShareMountTargetOutputWithContext(ctx context.Context) GetIsSharesShareMountTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSharesShareMountTargetOutput) Deleteds() GetIsSharesShareMountTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsSharesShareMountTarget) []GetIsSharesShareMountTargetDeleted { return v.Deleteds }).(GetIsSharesShareMountTargetDeletedArrayOutput) +} + +// The URL for this share target. +func (o GetIsSharesShareMountTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareMountTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share target. +func (o GetIsSharesShareMountTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareMountTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this share target. +func (o GetIsSharesShareMountTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareMountTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced. +func (o GetIsSharesShareMountTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareMountTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSharesShareMountTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareMountTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareMountTarget)(nil)).Elem() +} + +func (o GetIsSharesShareMountTargetArrayOutput) ToGetIsSharesShareMountTargetArrayOutput() GetIsSharesShareMountTargetArrayOutput { + return o +} + +func (o GetIsSharesShareMountTargetArrayOutput) ToGetIsSharesShareMountTargetArrayOutputWithContext(ctx context.Context) GetIsSharesShareMountTargetArrayOutput { + return o +} + +func (o GetIsSharesShareMountTargetArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareMountTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareMountTarget { + return vs[0].([]GetIsSharesShareMountTarget)[vs[1].(int)] + }).(GetIsSharesShareMountTargetOutput) +} + +type GetIsSharesShareMountTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSharesShareMountTargetDeletedInput is an input type that accepts GetIsSharesShareMountTargetDeletedArgs and GetIsSharesShareMountTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsSharesShareMountTargetDeletedInput` via: +// +// GetIsSharesShareMountTargetDeletedArgs{...} +type GetIsSharesShareMountTargetDeletedInput interface { + pulumi.Input + + ToGetIsSharesShareMountTargetDeletedOutput() GetIsSharesShareMountTargetDeletedOutput + ToGetIsSharesShareMountTargetDeletedOutputWithContext(context.Context) GetIsSharesShareMountTargetDeletedOutput +} + +type GetIsSharesShareMountTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSharesShareMountTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareMountTargetDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareMountTargetDeletedArgs) ToGetIsSharesShareMountTargetDeletedOutput() GetIsSharesShareMountTargetDeletedOutput { + return i.ToGetIsSharesShareMountTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareMountTargetDeletedArgs) ToGetIsSharesShareMountTargetDeletedOutputWithContext(ctx context.Context) GetIsSharesShareMountTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareMountTargetDeletedOutput) +} + +// GetIsSharesShareMountTargetDeletedArrayInput is an input type that accepts GetIsSharesShareMountTargetDeletedArray and GetIsSharesShareMountTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareMountTargetDeletedArrayInput` via: +// +// GetIsSharesShareMountTargetDeletedArray{ GetIsSharesShareMountTargetDeletedArgs{...} } +type GetIsSharesShareMountTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsSharesShareMountTargetDeletedArrayOutput() GetIsSharesShareMountTargetDeletedArrayOutput + ToGetIsSharesShareMountTargetDeletedArrayOutputWithContext(context.Context) GetIsSharesShareMountTargetDeletedArrayOutput +} + +type GetIsSharesShareMountTargetDeletedArray []GetIsSharesShareMountTargetDeletedInput + +func (GetIsSharesShareMountTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareMountTargetDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareMountTargetDeletedArray) ToGetIsSharesShareMountTargetDeletedArrayOutput() GetIsSharesShareMountTargetDeletedArrayOutput { + return i.ToGetIsSharesShareMountTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareMountTargetDeletedArray) ToGetIsSharesShareMountTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareMountTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareMountTargetDeletedArrayOutput) +} + +type GetIsSharesShareMountTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareMountTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareMountTargetDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareMountTargetDeletedOutput) ToGetIsSharesShareMountTargetDeletedOutput() GetIsSharesShareMountTargetDeletedOutput { + return o +} + +func (o GetIsSharesShareMountTargetDeletedOutput) ToGetIsSharesShareMountTargetDeletedOutputWithContext(ctx context.Context) GetIsSharesShareMountTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSharesShareMountTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareMountTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSharesShareMountTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareMountTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareMountTargetDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareMountTargetDeletedArrayOutput) ToGetIsSharesShareMountTargetDeletedArrayOutput() GetIsSharesShareMountTargetDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareMountTargetDeletedArrayOutput) ToGetIsSharesShareMountTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareMountTargetDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareMountTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareMountTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareMountTargetDeleted { + return vs[0].([]GetIsSharesShareMountTargetDeleted)[vs[1].(int)] + }).(GetIsSharesShareMountTargetDeletedOutput) +} + +type GetIsSharesShareOriginShare struct { + // The CRN for this file share. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSharesShareOriginShareDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsSharesShareOriginShareRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSharesShareOriginShareInput is an input type that accepts GetIsSharesShareOriginShareArgs and GetIsSharesShareOriginShareOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareInput` via: +// +// GetIsSharesShareOriginShareArgs{...} +type GetIsSharesShareOriginShareInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareOutput() GetIsSharesShareOriginShareOutput + ToGetIsSharesShareOriginShareOutputWithContext(context.Context) GetIsSharesShareOriginShareOutput +} + +type GetIsSharesShareOriginShareArgs struct { + // The CRN for this file share. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSharesShareOriginShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The name for this share. The name is unique across all shares in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsSharesShareOriginShareRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSharesShareOriginShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShare)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareArgs) ToGetIsSharesShareOriginShareOutput() GetIsSharesShareOriginShareOutput { + return i.ToGetIsSharesShareOriginShareOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareArgs) ToGetIsSharesShareOriginShareOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareOutput) +} + +// GetIsSharesShareOriginShareArrayInput is an input type that accepts GetIsSharesShareOriginShareArray and GetIsSharesShareOriginShareArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareArrayInput` via: +// +// GetIsSharesShareOriginShareArray{ GetIsSharesShareOriginShareArgs{...} } +type GetIsSharesShareOriginShareArrayInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareArrayOutput() GetIsSharesShareOriginShareArrayOutput + ToGetIsSharesShareOriginShareArrayOutputWithContext(context.Context) GetIsSharesShareOriginShareArrayOutput +} + +type GetIsSharesShareOriginShareArray []GetIsSharesShareOriginShareInput + +func (GetIsSharesShareOriginShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShare)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareArray) ToGetIsSharesShareOriginShareArrayOutput() GetIsSharesShareOriginShareArrayOutput { + return i.ToGetIsSharesShareOriginShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareArray) ToGetIsSharesShareOriginShareArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareArrayOutput) +} + +type GetIsSharesShareOriginShareOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShare)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareOutput) ToGetIsSharesShareOriginShareOutput() GetIsSharesShareOriginShareOutput { + return o +} + +func (o GetIsSharesShareOriginShareOutput) ToGetIsSharesShareOriginShareOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareOutput { + return o +} + +// The CRN for this file share. +func (o GetIsSharesShareOriginShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSharesShareOriginShareOutput) Deleteds() GetIsSharesShareOriginShareDeletedArrayOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShare) []GetIsSharesShareOriginShareDeleted { return v.Deleteds }).(GetIsSharesShareOriginShareDeletedArrayOutput) +} + +// The URL for this file share. +func (o GetIsSharesShareOriginShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsSharesShareOriginShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this share. The name is unique across all shares in the region. +func (o GetIsSharesShareOriginShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShare) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsSharesShareOriginShareOutput) Remotes() GetIsSharesShareOriginShareRemoteArrayOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShare) []GetIsSharesShareOriginShareRemote { return v.Remotes }).(GetIsSharesShareOriginShareRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSharesShareOriginShareOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShare) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSharesShareOriginShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShare)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareArrayOutput) ToGetIsSharesShareOriginShareArrayOutput() GetIsSharesShareOriginShareArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareArrayOutput) ToGetIsSharesShareOriginShareArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareOriginShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareOriginShare { + return vs[0].([]GetIsSharesShareOriginShare)[vs[1].(int)] + }).(GetIsSharesShareOriginShareOutput) +} + +type GetIsSharesShareOriginShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSharesShareOriginShareDeletedInput is an input type that accepts GetIsSharesShareOriginShareDeletedArgs and GetIsSharesShareOriginShareDeletedOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareDeletedInput` via: +// +// GetIsSharesShareOriginShareDeletedArgs{...} +type GetIsSharesShareOriginShareDeletedInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareDeletedOutput() GetIsSharesShareOriginShareDeletedOutput + ToGetIsSharesShareOriginShareDeletedOutputWithContext(context.Context) GetIsSharesShareOriginShareDeletedOutput +} + +type GetIsSharesShareOriginShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSharesShareOriginShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShareDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareDeletedArgs) ToGetIsSharesShareOriginShareDeletedOutput() GetIsSharesShareOriginShareDeletedOutput { + return i.ToGetIsSharesShareOriginShareDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareDeletedArgs) ToGetIsSharesShareOriginShareDeletedOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareDeletedOutput) +} + +// GetIsSharesShareOriginShareDeletedArrayInput is an input type that accepts GetIsSharesShareOriginShareDeletedArray and GetIsSharesShareOriginShareDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareDeletedArrayInput` via: +// +// GetIsSharesShareOriginShareDeletedArray{ GetIsSharesShareOriginShareDeletedArgs{...} } +type GetIsSharesShareOriginShareDeletedArrayInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareDeletedArrayOutput() GetIsSharesShareOriginShareDeletedArrayOutput + ToGetIsSharesShareOriginShareDeletedArrayOutputWithContext(context.Context) GetIsSharesShareOriginShareDeletedArrayOutput +} + +type GetIsSharesShareOriginShareDeletedArray []GetIsSharesShareOriginShareDeletedInput + +func (GetIsSharesShareOriginShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShareDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareDeletedArray) ToGetIsSharesShareOriginShareDeletedArrayOutput() GetIsSharesShareOriginShareDeletedArrayOutput { + return i.ToGetIsSharesShareOriginShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareDeletedArray) ToGetIsSharesShareOriginShareDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareDeletedArrayOutput) +} + +type GetIsSharesShareOriginShareDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShareDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareDeletedOutput) ToGetIsSharesShareOriginShareDeletedOutput() GetIsSharesShareOriginShareDeletedOutput { + return o +} + +func (o GetIsSharesShareOriginShareDeletedOutput) ToGetIsSharesShareOriginShareDeletedOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSharesShareOriginShareDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShareDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSharesShareOriginShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShareDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareDeletedArrayOutput) ToGetIsSharesShareOriginShareDeletedArrayOutput() GetIsSharesShareOriginShareDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareDeletedArrayOutput) ToGetIsSharesShareOriginShareDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareOriginShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareOriginShareDeleted { + return vs[0].([]GetIsSharesShareOriginShareDeleted)[vs[1].(int)] + }).(GetIsSharesShareOriginShareDeletedOutput) +} + +type GetIsSharesShareOriginShareRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsSharesShareOriginShareRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsSharesShareOriginShareRemoteRegion `pulumi:"regions"` +} + +// GetIsSharesShareOriginShareRemoteInput is an input type that accepts GetIsSharesShareOriginShareRemoteArgs and GetIsSharesShareOriginShareRemoteOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareRemoteInput` via: +// +// GetIsSharesShareOriginShareRemoteArgs{...} +type GetIsSharesShareOriginShareRemoteInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareRemoteOutput() GetIsSharesShareOriginShareRemoteOutput + ToGetIsSharesShareOriginShareRemoteOutputWithContext(context.Context) GetIsSharesShareOriginShareRemoteOutput +} + +type GetIsSharesShareOriginShareRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsSharesShareOriginShareRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsSharesShareOriginShareRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsSharesShareOriginShareRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShareRemote)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareRemoteArgs) ToGetIsSharesShareOriginShareRemoteOutput() GetIsSharesShareOriginShareRemoteOutput { + return i.ToGetIsSharesShareOriginShareRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareRemoteArgs) ToGetIsSharesShareOriginShareRemoteOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareRemoteOutput) +} + +// GetIsSharesShareOriginShareRemoteArrayInput is an input type that accepts GetIsSharesShareOriginShareRemoteArray and GetIsSharesShareOriginShareRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareRemoteArrayInput` via: +// +// GetIsSharesShareOriginShareRemoteArray{ GetIsSharesShareOriginShareRemoteArgs{...} } +type GetIsSharesShareOriginShareRemoteArrayInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareRemoteArrayOutput() GetIsSharesShareOriginShareRemoteArrayOutput + ToGetIsSharesShareOriginShareRemoteArrayOutputWithContext(context.Context) GetIsSharesShareOriginShareRemoteArrayOutput +} + +type GetIsSharesShareOriginShareRemoteArray []GetIsSharesShareOriginShareRemoteInput + +func (GetIsSharesShareOriginShareRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShareRemote)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareRemoteArray) ToGetIsSharesShareOriginShareRemoteArrayOutput() GetIsSharesShareOriginShareRemoteArrayOutput { + return i.ToGetIsSharesShareOriginShareRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareRemoteArray) ToGetIsSharesShareOriginShareRemoteArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareRemoteArrayOutput) +} + +type GetIsSharesShareOriginShareRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShareRemote)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareRemoteOutput) ToGetIsSharesShareOriginShareRemoteOutput() GetIsSharesShareOriginShareRemoteOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteOutput) ToGetIsSharesShareOriginShareRemoteOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsSharesShareOriginShareRemoteOutput) Accounts() GetIsSharesShareOriginShareRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShareRemote) []GetIsSharesShareOriginShareRemoteAccount { + return v.Accounts + }).(GetIsSharesShareOriginShareRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsSharesShareOriginShareRemoteOutput) Regions() GetIsSharesShareOriginShareRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShareRemote) []GetIsSharesShareOriginShareRemoteRegion { return v.Regions }).(GetIsSharesShareOriginShareRemoteRegionArrayOutput) +} + +type GetIsSharesShareOriginShareRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShareRemote)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareRemoteArrayOutput) ToGetIsSharesShareOriginShareRemoteArrayOutput() GetIsSharesShareOriginShareRemoteArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteArrayOutput) ToGetIsSharesShareOriginShareRemoteArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareOriginShareRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareOriginShareRemote { + return vs[0].([]GetIsSharesShareOriginShareRemote)[vs[1].(int)] + }).(GetIsSharesShareOriginShareRemoteOutput) +} + +type GetIsSharesShareOriginShareRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSharesShareOriginShareRemoteAccountInput is an input type that accepts GetIsSharesShareOriginShareRemoteAccountArgs and GetIsSharesShareOriginShareRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareRemoteAccountInput` via: +// +// GetIsSharesShareOriginShareRemoteAccountArgs{...} +type GetIsSharesShareOriginShareRemoteAccountInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareRemoteAccountOutput() GetIsSharesShareOriginShareRemoteAccountOutput + ToGetIsSharesShareOriginShareRemoteAccountOutputWithContext(context.Context) GetIsSharesShareOriginShareRemoteAccountOutput +} + +type GetIsSharesShareOriginShareRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSharesShareOriginShareRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareRemoteAccountArgs) ToGetIsSharesShareOriginShareRemoteAccountOutput() GetIsSharesShareOriginShareRemoteAccountOutput { + return i.ToGetIsSharesShareOriginShareRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareRemoteAccountArgs) ToGetIsSharesShareOriginShareRemoteAccountOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareRemoteAccountOutput) +} + +// GetIsSharesShareOriginShareRemoteAccountArrayInput is an input type that accepts GetIsSharesShareOriginShareRemoteAccountArray and GetIsSharesShareOriginShareRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareRemoteAccountArrayInput` via: +// +// GetIsSharesShareOriginShareRemoteAccountArray{ GetIsSharesShareOriginShareRemoteAccountArgs{...} } +type GetIsSharesShareOriginShareRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareRemoteAccountArrayOutput() GetIsSharesShareOriginShareRemoteAccountArrayOutput + ToGetIsSharesShareOriginShareRemoteAccountArrayOutputWithContext(context.Context) GetIsSharesShareOriginShareRemoteAccountArrayOutput +} + +type GetIsSharesShareOriginShareRemoteAccountArray []GetIsSharesShareOriginShareRemoteAccountInput + +func (GetIsSharesShareOriginShareRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareRemoteAccountArray) ToGetIsSharesShareOriginShareRemoteAccountArrayOutput() GetIsSharesShareOriginShareRemoteAccountArrayOutput { + return i.ToGetIsSharesShareOriginShareRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareRemoteAccountArray) ToGetIsSharesShareOriginShareRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareRemoteAccountArrayOutput) +} + +type GetIsSharesShareOriginShareRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareRemoteAccountOutput) ToGetIsSharesShareOriginShareRemoteAccountOutput() GetIsSharesShareOriginShareRemoteAccountOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteAccountOutput) ToGetIsSharesShareOriginShareRemoteAccountOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsSharesShareOriginShareRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShareRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSharesShareOriginShareRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShareRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSharesShareOriginShareRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShareRemoteAccount)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareRemoteAccountArrayOutput) ToGetIsSharesShareOriginShareRemoteAccountArrayOutput() GetIsSharesShareOriginShareRemoteAccountArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteAccountArrayOutput) ToGetIsSharesShareOriginShareRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteAccountArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareOriginShareRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareOriginShareRemoteAccount { + return vs[0].([]GetIsSharesShareOriginShareRemoteAccount)[vs[1].(int)] + }).(GetIsSharesShareOriginShareRemoteAccountOutput) +} + +type GetIsSharesShareOriginShareRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSharesShareOriginShareRemoteRegionInput is an input type that accepts GetIsSharesShareOriginShareRemoteRegionArgs and GetIsSharesShareOriginShareRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareRemoteRegionInput` via: +// +// GetIsSharesShareOriginShareRemoteRegionArgs{...} +type GetIsSharesShareOriginShareRemoteRegionInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareRemoteRegionOutput() GetIsSharesShareOriginShareRemoteRegionOutput + ToGetIsSharesShareOriginShareRemoteRegionOutputWithContext(context.Context) GetIsSharesShareOriginShareRemoteRegionOutput +} + +type GetIsSharesShareOriginShareRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSharesShareOriginShareRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareRemoteRegionArgs) ToGetIsSharesShareOriginShareRemoteRegionOutput() GetIsSharesShareOriginShareRemoteRegionOutput { + return i.ToGetIsSharesShareOriginShareRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareRemoteRegionArgs) ToGetIsSharesShareOriginShareRemoteRegionOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareRemoteRegionOutput) +} + +// GetIsSharesShareOriginShareRemoteRegionArrayInput is an input type that accepts GetIsSharesShareOriginShareRemoteRegionArray and GetIsSharesShareOriginShareRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareOriginShareRemoteRegionArrayInput` via: +// +// GetIsSharesShareOriginShareRemoteRegionArray{ GetIsSharesShareOriginShareRemoteRegionArgs{...} } +type GetIsSharesShareOriginShareRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsSharesShareOriginShareRemoteRegionArrayOutput() GetIsSharesShareOriginShareRemoteRegionArrayOutput + ToGetIsSharesShareOriginShareRemoteRegionArrayOutputWithContext(context.Context) GetIsSharesShareOriginShareRemoteRegionArrayOutput +} + +type GetIsSharesShareOriginShareRemoteRegionArray []GetIsSharesShareOriginShareRemoteRegionInput + +func (GetIsSharesShareOriginShareRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (i GetIsSharesShareOriginShareRemoteRegionArray) ToGetIsSharesShareOriginShareRemoteRegionArrayOutput() GetIsSharesShareOriginShareRemoteRegionArrayOutput { + return i.ToGetIsSharesShareOriginShareRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareOriginShareRemoteRegionArray) ToGetIsSharesShareOriginShareRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareOriginShareRemoteRegionArrayOutput) +} + +type GetIsSharesShareOriginShareRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareRemoteRegionOutput) ToGetIsSharesShareOriginShareRemoteRegionOutput() GetIsSharesShareOriginShareRemoteRegionOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteRegionOutput) ToGetIsSharesShareOriginShareRemoteRegionOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsSharesShareOriginShareRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShareRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSharesShareOriginShareRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareOriginShareRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSharesShareOriginShareRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareOriginShareRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareOriginShareRemoteRegion)(nil)).Elem() +} + +func (o GetIsSharesShareOriginShareRemoteRegionArrayOutput) ToGetIsSharesShareOriginShareRemoteRegionArrayOutput() GetIsSharesShareOriginShareRemoteRegionArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteRegionArrayOutput) ToGetIsSharesShareOriginShareRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsSharesShareOriginShareRemoteRegionArrayOutput { + return o +} + +func (o GetIsSharesShareOriginShareRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareOriginShareRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareOriginShareRemoteRegion { + return vs[0].([]GetIsSharesShareOriginShareRemoteRegion)[vs[1].(int)] + }).(GetIsSharesShareOriginShareRemoteRegionOutput) +} + +type GetIsSharesShareReplicaShare struct { + // The CRN for this file share. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSharesShareReplicaShareDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The unique user-defined name for this file share. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSharesShareReplicaShareInput is an input type that accepts GetIsSharesShareReplicaShareArgs and GetIsSharesShareReplicaShareOutput values. +// You can construct a concrete instance of `GetIsSharesShareReplicaShareInput` via: +// +// GetIsSharesShareReplicaShareArgs{...} +type GetIsSharesShareReplicaShareInput interface { + pulumi.Input + + ToGetIsSharesShareReplicaShareOutput() GetIsSharesShareReplicaShareOutput + ToGetIsSharesShareReplicaShareOutputWithContext(context.Context) GetIsSharesShareReplicaShareOutput +} + +type GetIsSharesShareReplicaShareArgs struct { + // The CRN for this file share. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSharesShareReplicaShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSharesShareReplicaShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareReplicaShare)(nil)).Elem() +} + +func (i GetIsSharesShareReplicaShareArgs) ToGetIsSharesShareReplicaShareOutput() GetIsSharesShareReplicaShareOutput { + return i.ToGetIsSharesShareReplicaShareOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareReplicaShareArgs) ToGetIsSharesShareReplicaShareOutputWithContext(ctx context.Context) GetIsSharesShareReplicaShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareReplicaShareOutput) +} + +// GetIsSharesShareReplicaShareArrayInput is an input type that accepts GetIsSharesShareReplicaShareArray and GetIsSharesShareReplicaShareArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareReplicaShareArrayInput` via: +// +// GetIsSharesShareReplicaShareArray{ GetIsSharesShareReplicaShareArgs{...} } +type GetIsSharesShareReplicaShareArrayInput interface { + pulumi.Input + + ToGetIsSharesShareReplicaShareArrayOutput() GetIsSharesShareReplicaShareArrayOutput + ToGetIsSharesShareReplicaShareArrayOutputWithContext(context.Context) GetIsSharesShareReplicaShareArrayOutput +} + +type GetIsSharesShareReplicaShareArray []GetIsSharesShareReplicaShareInput + +func (GetIsSharesShareReplicaShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareReplicaShare)(nil)).Elem() +} + +func (i GetIsSharesShareReplicaShareArray) ToGetIsSharesShareReplicaShareArrayOutput() GetIsSharesShareReplicaShareArrayOutput { + return i.ToGetIsSharesShareReplicaShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareReplicaShareArray) ToGetIsSharesShareReplicaShareArrayOutputWithContext(ctx context.Context) GetIsSharesShareReplicaShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareReplicaShareArrayOutput) +} + +type GetIsSharesShareReplicaShareOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareReplicaShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareReplicaShare)(nil)).Elem() +} + +func (o GetIsSharesShareReplicaShareOutput) ToGetIsSharesShareReplicaShareOutput() GetIsSharesShareReplicaShareOutput { + return o +} + +func (o GetIsSharesShareReplicaShareOutput) ToGetIsSharesShareReplicaShareOutputWithContext(ctx context.Context) GetIsSharesShareReplicaShareOutput { + return o +} + +// The CRN for this file share. +func (o GetIsSharesShareReplicaShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicaShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSharesShareReplicaShareOutput) Deleteds() GetIsSharesShareReplicaShareDeletedArrayOutput { + return o.ApplyT(func(v GetIsSharesShareReplicaShare) []GetIsSharesShareReplicaShareDeleted { return v.Deleteds }).(GetIsSharesShareReplicaShareDeletedArrayOutput) +} + +// The URL for this file share. +func (o GetIsSharesShareReplicaShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicaShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsSharesShareReplicaShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicaShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this file share. +func (o GetIsSharesShareReplicaShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicaShare) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSharesShareReplicaShareOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicaShare) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSharesShareReplicaShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareReplicaShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareReplicaShare)(nil)).Elem() +} + +func (o GetIsSharesShareReplicaShareArrayOutput) ToGetIsSharesShareReplicaShareArrayOutput() GetIsSharesShareReplicaShareArrayOutput { + return o +} + +func (o GetIsSharesShareReplicaShareArrayOutput) ToGetIsSharesShareReplicaShareArrayOutputWithContext(ctx context.Context) GetIsSharesShareReplicaShareArrayOutput { + return o +} + +func (o GetIsSharesShareReplicaShareArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareReplicaShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareReplicaShare { + return vs[0].([]GetIsSharesShareReplicaShare)[vs[1].(int)] + }).(GetIsSharesShareReplicaShareOutput) +} + +type GetIsSharesShareReplicaShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSharesShareReplicaShareDeletedInput is an input type that accepts GetIsSharesShareReplicaShareDeletedArgs and GetIsSharesShareReplicaShareDeletedOutput values. +// You can construct a concrete instance of `GetIsSharesShareReplicaShareDeletedInput` via: +// +// GetIsSharesShareReplicaShareDeletedArgs{...} +type GetIsSharesShareReplicaShareDeletedInput interface { + pulumi.Input + + ToGetIsSharesShareReplicaShareDeletedOutput() GetIsSharesShareReplicaShareDeletedOutput + ToGetIsSharesShareReplicaShareDeletedOutputWithContext(context.Context) GetIsSharesShareReplicaShareDeletedOutput +} + +type GetIsSharesShareReplicaShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSharesShareReplicaShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareReplicaShareDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareReplicaShareDeletedArgs) ToGetIsSharesShareReplicaShareDeletedOutput() GetIsSharesShareReplicaShareDeletedOutput { + return i.ToGetIsSharesShareReplicaShareDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareReplicaShareDeletedArgs) ToGetIsSharesShareReplicaShareDeletedOutputWithContext(ctx context.Context) GetIsSharesShareReplicaShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareReplicaShareDeletedOutput) +} + +// GetIsSharesShareReplicaShareDeletedArrayInput is an input type that accepts GetIsSharesShareReplicaShareDeletedArray and GetIsSharesShareReplicaShareDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareReplicaShareDeletedArrayInput` via: +// +// GetIsSharesShareReplicaShareDeletedArray{ GetIsSharesShareReplicaShareDeletedArgs{...} } +type GetIsSharesShareReplicaShareDeletedArrayInput interface { + pulumi.Input + + ToGetIsSharesShareReplicaShareDeletedArrayOutput() GetIsSharesShareReplicaShareDeletedArrayOutput + ToGetIsSharesShareReplicaShareDeletedArrayOutputWithContext(context.Context) GetIsSharesShareReplicaShareDeletedArrayOutput +} + +type GetIsSharesShareReplicaShareDeletedArray []GetIsSharesShareReplicaShareDeletedInput + +func (GetIsSharesShareReplicaShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareReplicaShareDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareReplicaShareDeletedArray) ToGetIsSharesShareReplicaShareDeletedArrayOutput() GetIsSharesShareReplicaShareDeletedArrayOutput { + return i.ToGetIsSharesShareReplicaShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareReplicaShareDeletedArray) ToGetIsSharesShareReplicaShareDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareReplicaShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareReplicaShareDeletedArrayOutput) +} + +type GetIsSharesShareReplicaShareDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareReplicaShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareReplicaShareDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareReplicaShareDeletedOutput) ToGetIsSharesShareReplicaShareDeletedOutput() GetIsSharesShareReplicaShareDeletedOutput { + return o +} + +func (o GetIsSharesShareReplicaShareDeletedOutput) ToGetIsSharesShareReplicaShareDeletedOutputWithContext(ctx context.Context) GetIsSharesShareReplicaShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSharesShareReplicaShareDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicaShareDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSharesShareReplicaShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareReplicaShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareReplicaShareDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareReplicaShareDeletedArrayOutput) ToGetIsSharesShareReplicaShareDeletedArrayOutput() GetIsSharesShareReplicaShareDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareReplicaShareDeletedArrayOutput) ToGetIsSharesShareReplicaShareDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareReplicaShareDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareReplicaShareDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareReplicaShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareReplicaShareDeleted { + return vs[0].([]GetIsSharesShareReplicaShareDeleted)[vs[1].(int)] + }).(GetIsSharesShareReplicaShareDeletedOutput) +} + +type GetIsSharesShareReplicationStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSharesShareReplicationStatusReasonInput is an input type that accepts GetIsSharesShareReplicationStatusReasonArgs and GetIsSharesShareReplicationStatusReasonOutput values. +// You can construct a concrete instance of `GetIsSharesShareReplicationStatusReasonInput` via: +// +// GetIsSharesShareReplicationStatusReasonArgs{...} +type GetIsSharesShareReplicationStatusReasonInput interface { + pulumi.Input + + ToGetIsSharesShareReplicationStatusReasonOutput() GetIsSharesShareReplicationStatusReasonOutput + ToGetIsSharesShareReplicationStatusReasonOutputWithContext(context.Context) GetIsSharesShareReplicationStatusReasonOutput +} + +type GetIsSharesShareReplicationStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSharesShareReplicationStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareReplicationStatusReason)(nil)).Elem() +} + +func (i GetIsSharesShareReplicationStatusReasonArgs) ToGetIsSharesShareReplicationStatusReasonOutput() GetIsSharesShareReplicationStatusReasonOutput { + return i.ToGetIsSharesShareReplicationStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareReplicationStatusReasonArgs) ToGetIsSharesShareReplicationStatusReasonOutputWithContext(ctx context.Context) GetIsSharesShareReplicationStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareReplicationStatusReasonOutput) +} + +// GetIsSharesShareReplicationStatusReasonArrayInput is an input type that accepts GetIsSharesShareReplicationStatusReasonArray and GetIsSharesShareReplicationStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareReplicationStatusReasonArrayInput` via: +// +// GetIsSharesShareReplicationStatusReasonArray{ GetIsSharesShareReplicationStatusReasonArgs{...} } +type GetIsSharesShareReplicationStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsSharesShareReplicationStatusReasonArrayOutput() GetIsSharesShareReplicationStatusReasonArrayOutput + ToGetIsSharesShareReplicationStatusReasonArrayOutputWithContext(context.Context) GetIsSharesShareReplicationStatusReasonArrayOutput +} + +type GetIsSharesShareReplicationStatusReasonArray []GetIsSharesShareReplicationStatusReasonInput + +func (GetIsSharesShareReplicationStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareReplicationStatusReason)(nil)).Elem() +} + +func (i GetIsSharesShareReplicationStatusReasonArray) ToGetIsSharesShareReplicationStatusReasonArrayOutput() GetIsSharesShareReplicationStatusReasonArrayOutput { + return i.ToGetIsSharesShareReplicationStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareReplicationStatusReasonArray) ToGetIsSharesShareReplicationStatusReasonArrayOutputWithContext(ctx context.Context) GetIsSharesShareReplicationStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareReplicationStatusReasonArrayOutput) +} + +type GetIsSharesShareReplicationStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareReplicationStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareReplicationStatusReason)(nil)).Elem() +} + +func (o GetIsSharesShareReplicationStatusReasonOutput) ToGetIsSharesShareReplicationStatusReasonOutput() GetIsSharesShareReplicationStatusReasonOutput { + return o +} + +func (o GetIsSharesShareReplicationStatusReasonOutput) ToGetIsSharesShareReplicationStatusReasonOutputWithContext(ctx context.Context) GetIsSharesShareReplicationStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsSharesShareReplicationStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicationStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsSharesShareReplicationStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicationStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsSharesShareReplicationStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareReplicationStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSharesShareReplicationStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareReplicationStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareReplicationStatusReason)(nil)).Elem() +} + +func (o GetIsSharesShareReplicationStatusReasonArrayOutput) ToGetIsSharesShareReplicationStatusReasonArrayOutput() GetIsSharesShareReplicationStatusReasonArrayOutput { + return o +} + +func (o GetIsSharesShareReplicationStatusReasonArrayOutput) ToGetIsSharesShareReplicationStatusReasonArrayOutputWithContext(ctx context.Context) GetIsSharesShareReplicationStatusReasonArrayOutput { + return o +} + +func (o GetIsSharesShareReplicationStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareReplicationStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareReplicationStatusReason { + return vs[0].([]GetIsSharesShareReplicationStatusReason)[vs[1].(int)] + }).(GetIsSharesShareReplicationStatusReasonOutput) +} + +type GetIsSharesShareSourceShare struct { + // The CRN for this file share. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSharesShareSourceShareDeleted `pulumi:"deleteds"` + // The URL for this file share. + Href string `pulumi:"href"` + // The unique identifier for this file share. + Id string `pulumi:"id"` + // The unique user-defined name for this file share. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSharesShareSourceShareInput is an input type that accepts GetIsSharesShareSourceShareArgs and GetIsSharesShareSourceShareOutput values. +// You can construct a concrete instance of `GetIsSharesShareSourceShareInput` via: +// +// GetIsSharesShareSourceShareArgs{...} +type GetIsSharesShareSourceShareInput interface { + pulumi.Input + + ToGetIsSharesShareSourceShareOutput() GetIsSharesShareSourceShareOutput + ToGetIsSharesShareSourceShareOutputWithContext(context.Context) GetIsSharesShareSourceShareOutput +} + +type GetIsSharesShareSourceShareArgs struct { + // The CRN for this file share. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSharesShareSourceShareDeletedArrayInput `pulumi:"deleteds"` + // The URL for this file share. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this file share. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSharesShareSourceShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareSourceShare)(nil)).Elem() +} + +func (i GetIsSharesShareSourceShareArgs) ToGetIsSharesShareSourceShareOutput() GetIsSharesShareSourceShareOutput { + return i.ToGetIsSharesShareSourceShareOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareSourceShareArgs) ToGetIsSharesShareSourceShareOutputWithContext(ctx context.Context) GetIsSharesShareSourceShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareSourceShareOutput) +} + +// GetIsSharesShareSourceShareArrayInput is an input type that accepts GetIsSharesShareSourceShareArray and GetIsSharesShareSourceShareArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareSourceShareArrayInput` via: +// +// GetIsSharesShareSourceShareArray{ GetIsSharesShareSourceShareArgs{...} } +type GetIsSharesShareSourceShareArrayInput interface { + pulumi.Input + + ToGetIsSharesShareSourceShareArrayOutput() GetIsSharesShareSourceShareArrayOutput + ToGetIsSharesShareSourceShareArrayOutputWithContext(context.Context) GetIsSharesShareSourceShareArrayOutput +} + +type GetIsSharesShareSourceShareArray []GetIsSharesShareSourceShareInput + +func (GetIsSharesShareSourceShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareSourceShare)(nil)).Elem() +} + +func (i GetIsSharesShareSourceShareArray) ToGetIsSharesShareSourceShareArrayOutput() GetIsSharesShareSourceShareArrayOutput { + return i.ToGetIsSharesShareSourceShareArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareSourceShareArray) ToGetIsSharesShareSourceShareArrayOutputWithContext(ctx context.Context) GetIsSharesShareSourceShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareSourceShareArrayOutput) +} + +type GetIsSharesShareSourceShareOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareSourceShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareSourceShare)(nil)).Elem() +} + +func (o GetIsSharesShareSourceShareOutput) ToGetIsSharesShareSourceShareOutput() GetIsSharesShareSourceShareOutput { + return o +} + +func (o GetIsSharesShareSourceShareOutput) ToGetIsSharesShareSourceShareOutputWithContext(ctx context.Context) GetIsSharesShareSourceShareOutput { + return o +} + +// The CRN for this file share. +func (o GetIsSharesShareSourceShareOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceShare) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSharesShareSourceShareOutput) Deleteds() GetIsSharesShareSourceShareDeletedArrayOutput { + return o.ApplyT(func(v GetIsSharesShareSourceShare) []GetIsSharesShareSourceShareDeleted { return v.Deleteds }).(GetIsSharesShareSourceShareDeletedArrayOutput) +} + +// The URL for this file share. +func (o GetIsSharesShareSourceShareOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceShare) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this file share. +func (o GetIsSharesShareSourceShareOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceShare) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this file share. +func (o GetIsSharesShareSourceShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceShare) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSharesShareSourceShareOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceShare) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSharesShareSourceShareArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareSourceShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareSourceShare)(nil)).Elem() +} + +func (o GetIsSharesShareSourceShareArrayOutput) ToGetIsSharesShareSourceShareArrayOutput() GetIsSharesShareSourceShareArrayOutput { + return o +} + +func (o GetIsSharesShareSourceShareArrayOutput) ToGetIsSharesShareSourceShareArrayOutputWithContext(ctx context.Context) GetIsSharesShareSourceShareArrayOutput { + return o +} + +func (o GetIsSharesShareSourceShareArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareSourceShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareSourceShare { + return vs[0].([]GetIsSharesShareSourceShare)[vs[1].(int)] + }).(GetIsSharesShareSourceShareOutput) +} + +type GetIsSharesShareSourceShareDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSharesShareSourceShareDeletedInput is an input type that accepts GetIsSharesShareSourceShareDeletedArgs and GetIsSharesShareSourceShareDeletedOutput values. +// You can construct a concrete instance of `GetIsSharesShareSourceShareDeletedInput` via: +// +// GetIsSharesShareSourceShareDeletedArgs{...} +type GetIsSharesShareSourceShareDeletedInput interface { + pulumi.Input + + ToGetIsSharesShareSourceShareDeletedOutput() GetIsSharesShareSourceShareDeletedOutput + ToGetIsSharesShareSourceShareDeletedOutputWithContext(context.Context) GetIsSharesShareSourceShareDeletedOutput +} + +type GetIsSharesShareSourceShareDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSharesShareSourceShareDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareSourceShareDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareSourceShareDeletedArgs) ToGetIsSharesShareSourceShareDeletedOutput() GetIsSharesShareSourceShareDeletedOutput { + return i.ToGetIsSharesShareSourceShareDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareSourceShareDeletedArgs) ToGetIsSharesShareSourceShareDeletedOutputWithContext(ctx context.Context) GetIsSharesShareSourceShareDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareSourceShareDeletedOutput) +} + +// GetIsSharesShareSourceShareDeletedArrayInput is an input type that accepts GetIsSharesShareSourceShareDeletedArray and GetIsSharesShareSourceShareDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareSourceShareDeletedArrayInput` via: +// +// GetIsSharesShareSourceShareDeletedArray{ GetIsSharesShareSourceShareDeletedArgs{...} } +type GetIsSharesShareSourceShareDeletedArrayInput interface { + pulumi.Input + + ToGetIsSharesShareSourceShareDeletedArrayOutput() GetIsSharesShareSourceShareDeletedArrayOutput + ToGetIsSharesShareSourceShareDeletedArrayOutputWithContext(context.Context) GetIsSharesShareSourceShareDeletedArrayOutput +} + +type GetIsSharesShareSourceShareDeletedArray []GetIsSharesShareSourceShareDeletedInput + +func (GetIsSharesShareSourceShareDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareSourceShareDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareSourceShareDeletedArray) ToGetIsSharesShareSourceShareDeletedArrayOutput() GetIsSharesShareSourceShareDeletedArrayOutput { + return i.ToGetIsSharesShareSourceShareDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareSourceShareDeletedArray) ToGetIsSharesShareSourceShareDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareSourceShareDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareSourceShareDeletedArrayOutput) +} + +type GetIsSharesShareSourceShareDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareSourceShareDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareSourceShareDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareSourceShareDeletedOutput) ToGetIsSharesShareSourceShareDeletedOutput() GetIsSharesShareSourceShareDeletedOutput { + return o +} + +func (o GetIsSharesShareSourceShareDeletedOutput) ToGetIsSharesShareSourceShareDeletedOutputWithContext(ctx context.Context) GetIsSharesShareSourceShareDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSharesShareSourceShareDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceShareDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSharesShareSourceShareDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareSourceShareDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareSourceShareDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareSourceShareDeletedArrayOutput) ToGetIsSharesShareSourceShareDeletedArrayOutput() GetIsSharesShareSourceShareDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareSourceShareDeletedArrayOutput) ToGetIsSharesShareSourceShareDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareSourceShareDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareSourceShareDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareSourceShareDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareSourceShareDeleted { + return vs[0].([]GetIsSharesShareSourceShareDeleted)[vs[1].(int)] + }).(GetIsSharesShareSourceShareDeletedOutput) +} + +type GetIsSharesShareSourceSnapshot struct { + // The CRN for this share snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSharesShareSourceSnapshotDeleted `pulumi:"deleteds"` + // The URL for this share snapshot. + Href string `pulumi:"href"` + // The unique identifier for this share snapshot. + Id string `pulumi:"id"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSharesShareSourceSnapshotInput is an input type that accepts GetIsSharesShareSourceSnapshotArgs and GetIsSharesShareSourceSnapshotOutput values. +// You can construct a concrete instance of `GetIsSharesShareSourceSnapshotInput` via: +// +// GetIsSharesShareSourceSnapshotArgs{...} +type GetIsSharesShareSourceSnapshotInput interface { + pulumi.Input + + ToGetIsSharesShareSourceSnapshotOutput() GetIsSharesShareSourceSnapshotOutput + ToGetIsSharesShareSourceSnapshotOutputWithContext(context.Context) GetIsSharesShareSourceSnapshotOutput +} + +type GetIsSharesShareSourceSnapshotArgs struct { + // The CRN for this share snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSharesShareSourceSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The name for this share snapshot. The name is unique across all snapshots for the file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSharesShareSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareSourceSnapshot)(nil)).Elem() +} + +func (i GetIsSharesShareSourceSnapshotArgs) ToGetIsSharesShareSourceSnapshotOutput() GetIsSharesShareSourceSnapshotOutput { + return i.ToGetIsSharesShareSourceSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareSourceSnapshotArgs) ToGetIsSharesShareSourceSnapshotOutputWithContext(ctx context.Context) GetIsSharesShareSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareSourceSnapshotOutput) +} + +// GetIsSharesShareSourceSnapshotArrayInput is an input type that accepts GetIsSharesShareSourceSnapshotArray and GetIsSharesShareSourceSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareSourceSnapshotArrayInput` via: +// +// GetIsSharesShareSourceSnapshotArray{ GetIsSharesShareSourceSnapshotArgs{...} } +type GetIsSharesShareSourceSnapshotArrayInput interface { + pulumi.Input + + ToGetIsSharesShareSourceSnapshotArrayOutput() GetIsSharesShareSourceSnapshotArrayOutput + ToGetIsSharesShareSourceSnapshotArrayOutputWithContext(context.Context) GetIsSharesShareSourceSnapshotArrayOutput +} + +type GetIsSharesShareSourceSnapshotArray []GetIsSharesShareSourceSnapshotInput + +func (GetIsSharesShareSourceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareSourceSnapshot)(nil)).Elem() +} + +func (i GetIsSharesShareSourceSnapshotArray) ToGetIsSharesShareSourceSnapshotArrayOutput() GetIsSharesShareSourceSnapshotArrayOutput { + return i.ToGetIsSharesShareSourceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareSourceSnapshotArray) ToGetIsSharesShareSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsSharesShareSourceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareSourceSnapshotArrayOutput) +} + +type GetIsSharesShareSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareSourceSnapshot)(nil)).Elem() +} + +func (o GetIsSharesShareSourceSnapshotOutput) ToGetIsSharesShareSourceSnapshotOutput() GetIsSharesShareSourceSnapshotOutput { + return o +} + +func (o GetIsSharesShareSourceSnapshotOutput) ToGetIsSharesShareSourceSnapshotOutputWithContext(ctx context.Context) GetIsSharesShareSourceSnapshotOutput { + return o +} + +// The CRN for this share snapshot. +func (o GetIsSharesShareSourceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSharesShareSourceSnapshotOutput) Deleteds() GetIsSharesShareSourceSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsSharesShareSourceSnapshot) []GetIsSharesShareSourceSnapshotDeleted { return v.Deleteds }).(GetIsSharesShareSourceSnapshotDeletedArrayOutput) +} + +// The URL for this share snapshot. +func (o GetIsSharesShareSourceSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share snapshot. +func (o GetIsSharesShareSourceSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this share snapshot. The name is unique across all snapshots for the file share. +func (o GetIsSharesShareSourceSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSharesShareSourceSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSharesShareSourceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareSourceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareSourceSnapshot)(nil)).Elem() +} + +func (o GetIsSharesShareSourceSnapshotArrayOutput) ToGetIsSharesShareSourceSnapshotArrayOutput() GetIsSharesShareSourceSnapshotArrayOutput { + return o +} + +func (o GetIsSharesShareSourceSnapshotArrayOutput) ToGetIsSharesShareSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsSharesShareSourceSnapshotArrayOutput { + return o +} + +func (o GetIsSharesShareSourceSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareSourceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareSourceSnapshot { + return vs[0].([]GetIsSharesShareSourceSnapshot)[vs[1].(int)] + }).(GetIsSharesShareSourceSnapshotOutput) +} + +type GetIsSharesShareSourceSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSharesShareSourceSnapshotDeletedInput is an input type that accepts GetIsSharesShareSourceSnapshotDeletedArgs and GetIsSharesShareSourceSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsSharesShareSourceSnapshotDeletedInput` via: +// +// GetIsSharesShareSourceSnapshotDeletedArgs{...} +type GetIsSharesShareSourceSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsSharesShareSourceSnapshotDeletedOutput() GetIsSharesShareSourceSnapshotDeletedOutput + ToGetIsSharesShareSourceSnapshotDeletedOutputWithContext(context.Context) GetIsSharesShareSourceSnapshotDeletedOutput +} + +type GetIsSharesShareSourceSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSharesShareSourceSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareSourceSnapshotDeletedArgs) ToGetIsSharesShareSourceSnapshotDeletedOutput() GetIsSharesShareSourceSnapshotDeletedOutput { + return i.ToGetIsSharesShareSourceSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareSourceSnapshotDeletedArgs) ToGetIsSharesShareSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSharesShareSourceSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareSourceSnapshotDeletedOutput) +} + +// GetIsSharesShareSourceSnapshotDeletedArrayInput is an input type that accepts GetIsSharesShareSourceSnapshotDeletedArray and GetIsSharesShareSourceSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSharesShareSourceSnapshotDeletedArrayInput` via: +// +// GetIsSharesShareSourceSnapshotDeletedArray{ GetIsSharesShareSourceSnapshotDeletedArgs{...} } +type GetIsSharesShareSourceSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsSharesShareSourceSnapshotDeletedArrayOutput() GetIsSharesShareSourceSnapshotDeletedArrayOutput + ToGetIsSharesShareSourceSnapshotDeletedArrayOutputWithContext(context.Context) GetIsSharesShareSourceSnapshotDeletedArrayOutput +} + +type GetIsSharesShareSourceSnapshotDeletedArray []GetIsSharesShareSourceSnapshotDeletedInput + +func (GetIsSharesShareSourceSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSharesShareSourceSnapshotDeletedArray) ToGetIsSharesShareSourceSnapshotDeletedArrayOutput() GetIsSharesShareSourceSnapshotDeletedArrayOutput { + return i.ToGetIsSharesShareSourceSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSharesShareSourceSnapshotDeletedArray) ToGetIsSharesShareSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareSourceSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSharesShareSourceSnapshotDeletedArrayOutput) +} + +type GetIsSharesShareSourceSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareSourceSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSharesShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareSourceSnapshotDeletedOutput) ToGetIsSharesShareSourceSnapshotDeletedOutput() GetIsSharesShareSourceSnapshotDeletedOutput { + return o +} + +func (o GetIsSharesShareSourceSnapshotDeletedOutput) ToGetIsSharesShareSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSharesShareSourceSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSharesShareSourceSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSharesShareSourceSnapshotDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSharesShareSourceSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSharesShareSourceSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSharesShareSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSharesShareSourceSnapshotDeletedArrayOutput) ToGetIsSharesShareSourceSnapshotDeletedArrayOutput() GetIsSharesShareSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareSourceSnapshotDeletedArrayOutput) ToGetIsSharesShareSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSharesShareSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSharesShareSourceSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSharesShareSourceSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSharesShareSourceSnapshotDeleted { + return vs[0].([]GetIsSharesShareSourceSnapshotDeleted)[vs[1].(int)] + }).(GetIsSharesShareSourceSnapshotDeletedOutput) +} + +type GetIsSnapshotAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. + Instance string `pulumi:"instance"` +} + +// GetIsSnapshotAllowedUseInput is an input type that accepts GetIsSnapshotAllowedUseArgs and GetIsSnapshotAllowedUseOutput values. +// You can construct a concrete instance of `GetIsSnapshotAllowedUseInput` via: +// +// GetIsSnapshotAllowedUseArgs{...} +type GetIsSnapshotAllowedUseInput interface { + pulumi.Input + + ToGetIsSnapshotAllowedUseOutput() GetIsSnapshotAllowedUseOutput + ToGetIsSnapshotAllowedUseOutputWithContext(context.Context) GetIsSnapshotAllowedUseOutput +} + +type GetIsSnapshotAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsSnapshotAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotAllowedUse)(nil)).Elem() +} + +func (i GetIsSnapshotAllowedUseArgs) ToGetIsSnapshotAllowedUseOutput() GetIsSnapshotAllowedUseOutput { + return i.ToGetIsSnapshotAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotAllowedUseArgs) ToGetIsSnapshotAllowedUseOutputWithContext(ctx context.Context) GetIsSnapshotAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotAllowedUseOutput) +} + +// GetIsSnapshotAllowedUseArrayInput is an input type that accepts GetIsSnapshotAllowedUseArray and GetIsSnapshotAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotAllowedUseArrayInput` via: +// +// GetIsSnapshotAllowedUseArray{ GetIsSnapshotAllowedUseArgs{...} } +type GetIsSnapshotAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsSnapshotAllowedUseArrayOutput() GetIsSnapshotAllowedUseArrayOutput + ToGetIsSnapshotAllowedUseArrayOutputWithContext(context.Context) GetIsSnapshotAllowedUseArrayOutput +} + +type GetIsSnapshotAllowedUseArray []GetIsSnapshotAllowedUseInput + +func (GetIsSnapshotAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotAllowedUse)(nil)).Elem() +} + +func (i GetIsSnapshotAllowedUseArray) ToGetIsSnapshotAllowedUseArrayOutput() GetIsSnapshotAllowedUseArrayOutput { + return i.ToGetIsSnapshotAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotAllowedUseArray) ToGetIsSnapshotAllowedUseArrayOutputWithContext(ctx context.Context) GetIsSnapshotAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotAllowedUseArrayOutput) +} + +type GetIsSnapshotAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotAllowedUse)(nil)).Elem() +} + +func (o GetIsSnapshotAllowedUseOutput) ToGetIsSnapshotAllowedUseOutput() GetIsSnapshotAllowedUseOutput { + return o +} + +func (o GetIsSnapshotAllowedUseOutput) ToGetIsSnapshotAllowedUseOutputWithContext(ctx context.Context) GetIsSnapshotAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsSnapshotAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. +func (o GetIsSnapshotAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. +func (o GetIsSnapshotAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsSnapshotAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotAllowedUse)(nil)).Elem() +} + +func (o GetIsSnapshotAllowedUseArrayOutput) ToGetIsSnapshotAllowedUseArrayOutput() GetIsSnapshotAllowedUseArrayOutput { + return o +} + +func (o GetIsSnapshotAllowedUseArrayOutput) ToGetIsSnapshotAllowedUseArrayOutputWithContext(ctx context.Context) GetIsSnapshotAllowedUseArrayOutput { + return o +} + +func (o GetIsSnapshotAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotAllowedUse { + return vs[0].([]GetIsSnapshotAllowedUse)[vs[1].(int)] + }).(GetIsSnapshotAllowedUseOutput) +} + +type GetIsSnapshotBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsSnapshotBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name string `pulumi:"name"` + // The type of resource referenced + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotBackupPolicyPlanInput is an input type that accepts GetIsSnapshotBackupPolicyPlanArgs and GetIsSnapshotBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsSnapshotBackupPolicyPlanInput` via: +// +// GetIsSnapshotBackupPolicyPlanArgs{...} +type GetIsSnapshotBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsSnapshotBackupPolicyPlanOutput() GetIsSnapshotBackupPolicyPlanOutput + ToGetIsSnapshotBackupPolicyPlanOutputWithContext(context.Context) GetIsSnapshotBackupPolicyPlanOutput +} + +type GetIsSnapshotBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsSnapshotBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsSnapshotBackupPolicyPlanArgs) ToGetIsSnapshotBackupPolicyPlanOutput() GetIsSnapshotBackupPolicyPlanOutput { + return i.ToGetIsSnapshotBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotBackupPolicyPlanArgs) ToGetIsSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsSnapshotBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotBackupPolicyPlanOutput) +} + +// GetIsSnapshotBackupPolicyPlanArrayInput is an input type that accepts GetIsSnapshotBackupPolicyPlanArray and GetIsSnapshotBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotBackupPolicyPlanArrayInput` via: +// +// GetIsSnapshotBackupPolicyPlanArray{ GetIsSnapshotBackupPolicyPlanArgs{...} } +type GetIsSnapshotBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsSnapshotBackupPolicyPlanArrayOutput() GetIsSnapshotBackupPolicyPlanArrayOutput + ToGetIsSnapshotBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsSnapshotBackupPolicyPlanArrayOutput +} + +type GetIsSnapshotBackupPolicyPlanArray []GetIsSnapshotBackupPolicyPlanInput + +func (GetIsSnapshotBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsSnapshotBackupPolicyPlanArray) ToGetIsSnapshotBackupPolicyPlanArrayOutput() GetIsSnapshotBackupPolicyPlanArrayOutput { + return i.ToGetIsSnapshotBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotBackupPolicyPlanArray) ToGetIsSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsSnapshotBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotBackupPolicyPlanArrayOutput) +} + +type GetIsSnapshotBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsSnapshotBackupPolicyPlanOutput) ToGetIsSnapshotBackupPolicyPlanOutput() GetIsSnapshotBackupPolicyPlanOutput { + return o +} + +func (o GetIsSnapshotBackupPolicyPlanOutput) ToGetIsSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsSnapshotBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsSnapshotBackupPolicyPlanOutput) Deleteds() GetIsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotBackupPolicyPlan) []GetIsSnapshotBackupPolicyPlanDeleted { return v.Deleteds }).(GetIsSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsSnapshotBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsSnapshotBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this backup policy plan. +func (o GetIsSnapshotBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced +func (o GetIsSnapshotBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotBackupPolicyPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsSnapshotBackupPolicyPlanArrayOutput) ToGetIsSnapshotBackupPolicyPlanArrayOutput() GetIsSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsSnapshotBackupPolicyPlanArrayOutput) ToGetIsSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsSnapshotBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotBackupPolicyPlan { + return vs[0].([]GetIsSnapshotBackupPolicyPlan)[vs[1].(int)] + }).(GetIsSnapshotBackupPolicyPlanOutput) +} + +type GetIsSnapshotBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotBackupPolicyPlanDeletedInput is an input type that accepts GetIsSnapshotBackupPolicyPlanDeletedArgs and GetIsSnapshotBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotBackupPolicyPlanDeletedInput` via: +// +// GetIsSnapshotBackupPolicyPlanDeletedArgs{...} +type GetIsSnapshotBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotBackupPolicyPlanDeletedOutput() GetIsSnapshotBackupPolicyPlanDeletedOutput + ToGetIsSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsSnapshotBackupPolicyPlanDeletedOutput +} + +type GetIsSnapshotBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotBackupPolicyPlanDeletedArgs) ToGetIsSnapshotBackupPolicyPlanDeletedOutput() GetIsSnapshotBackupPolicyPlanDeletedOutput { + return i.ToGetIsSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotBackupPolicyPlanDeletedArgs) ToGetIsSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotBackupPolicyPlanDeletedOutput) +} + +// GetIsSnapshotBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsSnapshotBackupPolicyPlanDeletedArray and GetIsSnapshotBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsSnapshotBackupPolicyPlanDeletedArray{ GetIsSnapshotBackupPolicyPlanDeletedArgs{...} } +type GetIsSnapshotBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotBackupPolicyPlanDeletedArrayOutput + ToGetIsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsSnapshotBackupPolicyPlanDeletedArrayOutput +} + +type GetIsSnapshotBackupPolicyPlanDeletedArray []GetIsSnapshotBackupPolicyPlanDeletedInput + +func (GetIsSnapshotBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotBackupPolicyPlanDeletedArray) ToGetIsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotBackupPolicyPlanDeletedArray) ToGetIsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsSnapshotBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotBackupPolicyPlanDeletedOutput) ToGetIsSnapshotBackupPolicyPlanDeletedOutput() GetIsSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsSnapshotBackupPolicyPlanDeletedOutput) ToGetIsSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotBackupPolicyPlanDeletedArrayOutput) ToGetIsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotBackupPolicyPlanDeletedArrayOutput) ToGetIsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotBackupPolicyPlanDeleted { + return vs[0].([]GetIsSnapshotBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsSnapshotBackupPolicyPlanDeletedOutput) +} + +type GetIsSnapshotCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsSnapshotCatalogOfferingDeleted `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn string `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn string `pulumi:"versionCrn"` +} + +// GetIsSnapshotCatalogOfferingInput is an input type that accepts GetIsSnapshotCatalogOfferingArgs and GetIsSnapshotCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsSnapshotCatalogOfferingInput` via: +// +// GetIsSnapshotCatalogOfferingArgs{...} +type GetIsSnapshotCatalogOfferingInput interface { + pulumi.Input + + ToGetIsSnapshotCatalogOfferingOutput() GetIsSnapshotCatalogOfferingOutput + ToGetIsSnapshotCatalogOfferingOutputWithContext(context.Context) GetIsSnapshotCatalogOfferingOutput +} + +type GetIsSnapshotCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsSnapshotCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringInput `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn pulumi.StringInput `pulumi:"versionCrn"` +} + +func (GetIsSnapshotCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCatalogOffering)(nil)).Elem() +} + +func (i GetIsSnapshotCatalogOfferingArgs) ToGetIsSnapshotCatalogOfferingOutput() GetIsSnapshotCatalogOfferingOutput { + return i.ToGetIsSnapshotCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCatalogOfferingArgs) ToGetIsSnapshotCatalogOfferingOutputWithContext(ctx context.Context) GetIsSnapshotCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCatalogOfferingOutput) +} + +// GetIsSnapshotCatalogOfferingArrayInput is an input type that accepts GetIsSnapshotCatalogOfferingArray and GetIsSnapshotCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotCatalogOfferingArrayInput` via: +// +// GetIsSnapshotCatalogOfferingArray{ GetIsSnapshotCatalogOfferingArgs{...} } +type GetIsSnapshotCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsSnapshotCatalogOfferingArrayOutput() GetIsSnapshotCatalogOfferingArrayOutput + ToGetIsSnapshotCatalogOfferingArrayOutputWithContext(context.Context) GetIsSnapshotCatalogOfferingArrayOutput +} + +type GetIsSnapshotCatalogOfferingArray []GetIsSnapshotCatalogOfferingInput + +func (GetIsSnapshotCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCatalogOffering)(nil)).Elem() +} + +func (i GetIsSnapshotCatalogOfferingArray) ToGetIsSnapshotCatalogOfferingArrayOutput() GetIsSnapshotCatalogOfferingArrayOutput { + return i.ToGetIsSnapshotCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCatalogOfferingArray) ToGetIsSnapshotCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsSnapshotCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCatalogOfferingArrayOutput) +} + +type GetIsSnapshotCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCatalogOffering)(nil)).Elem() +} + +func (o GetIsSnapshotCatalogOfferingOutput) ToGetIsSnapshotCatalogOfferingOutput() GetIsSnapshotCatalogOfferingOutput { + return o +} + +func (o GetIsSnapshotCatalogOfferingOutput) ToGetIsSnapshotCatalogOfferingOutputWithContext(ctx context.Context) GetIsSnapshotCatalogOfferingOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsSnapshotCatalogOfferingOutput) Deleteds() GetIsSnapshotCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotCatalogOffering) []GetIsSnapshotCatalogOfferingDeleted { return v.Deleteds }).(GetIsSnapshotCatalogOfferingDeletedArrayOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o GetIsSnapshotCatalogOfferingOutput) PlanCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCatalogOffering) string { return v.PlanCrn }).(pulumi.StringOutput) +} + +// The CRN for this version of a catalog offering +func (o GetIsSnapshotCatalogOfferingOutput) VersionCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCatalogOffering) string { return v.VersionCrn }).(pulumi.StringOutput) +} + +type GetIsSnapshotCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCatalogOffering)(nil)).Elem() +} + +func (o GetIsSnapshotCatalogOfferingArrayOutput) ToGetIsSnapshotCatalogOfferingArrayOutput() GetIsSnapshotCatalogOfferingArrayOutput { + return o +} + +func (o GetIsSnapshotCatalogOfferingArrayOutput) ToGetIsSnapshotCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsSnapshotCatalogOfferingArrayOutput { + return o +} + +func (o GetIsSnapshotCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotCatalogOffering { + return vs[0].([]GetIsSnapshotCatalogOffering)[vs[1].(int)] + }).(GetIsSnapshotCatalogOfferingOutput) +} + +type GetIsSnapshotCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotCatalogOfferingDeletedInput is an input type that accepts GetIsSnapshotCatalogOfferingDeletedArgs and GetIsSnapshotCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotCatalogOfferingDeletedInput` via: +// +// GetIsSnapshotCatalogOfferingDeletedArgs{...} +type GetIsSnapshotCatalogOfferingDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotCatalogOfferingDeletedOutput() GetIsSnapshotCatalogOfferingDeletedOutput + ToGetIsSnapshotCatalogOfferingDeletedOutputWithContext(context.Context) GetIsSnapshotCatalogOfferingDeletedOutput +} + +type GetIsSnapshotCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotCatalogOfferingDeletedArgs) ToGetIsSnapshotCatalogOfferingDeletedOutput() GetIsSnapshotCatalogOfferingDeletedOutput { + return i.ToGetIsSnapshotCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCatalogOfferingDeletedArgs) ToGetIsSnapshotCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsSnapshotCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCatalogOfferingDeletedOutput) +} + +// GetIsSnapshotCatalogOfferingDeletedArrayInput is an input type that accepts GetIsSnapshotCatalogOfferingDeletedArray and GetIsSnapshotCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotCatalogOfferingDeletedArrayInput` via: +// +// GetIsSnapshotCatalogOfferingDeletedArray{ GetIsSnapshotCatalogOfferingDeletedArgs{...} } +type GetIsSnapshotCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotCatalogOfferingDeletedArrayOutput() GetIsSnapshotCatalogOfferingDeletedArrayOutput + ToGetIsSnapshotCatalogOfferingDeletedArrayOutputWithContext(context.Context) GetIsSnapshotCatalogOfferingDeletedArrayOutput +} + +type GetIsSnapshotCatalogOfferingDeletedArray []GetIsSnapshotCatalogOfferingDeletedInput + +func (GetIsSnapshotCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotCatalogOfferingDeletedArray) ToGetIsSnapshotCatalogOfferingDeletedArrayOutput() GetIsSnapshotCatalogOfferingDeletedArrayOutput { + return i.ToGetIsSnapshotCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCatalogOfferingDeletedArray) ToGetIsSnapshotCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCatalogOfferingDeletedArrayOutput) +} + +type GetIsSnapshotCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotCatalogOfferingDeletedOutput) ToGetIsSnapshotCatalogOfferingDeletedOutput() GetIsSnapshotCatalogOfferingDeletedOutput { + return o +} + +func (o GetIsSnapshotCatalogOfferingDeletedOutput) ToGetIsSnapshotCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsSnapshotCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCatalogOfferingDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotCatalogOfferingDeletedArrayOutput) ToGetIsSnapshotCatalogOfferingDeletedArrayOutput() GetIsSnapshotCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotCatalogOfferingDeletedArrayOutput) ToGetIsSnapshotCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotCatalogOfferingDeleted { + return vs[0].([]GetIsSnapshotCatalogOfferingDeleted)[vs[1].(int)] + }).(GetIsSnapshotCatalogOfferingDeletedOutput) +} + +type GetIsSnapshotClonesClone struct { + // Indicates whether this snapshot clone is available for use. + Available bool `pulumi:"available"` + // The date and time that this snapshot clone was created. + CreatedAt string `pulumi:"createdAt"` + // The zone this snapshot clone resides in. + Zone string `pulumi:"zone"` +} + +// GetIsSnapshotClonesCloneInput is an input type that accepts GetIsSnapshotClonesCloneArgs and GetIsSnapshotClonesCloneOutput values. +// You can construct a concrete instance of `GetIsSnapshotClonesCloneInput` via: +// +// GetIsSnapshotClonesCloneArgs{...} +type GetIsSnapshotClonesCloneInput interface { + pulumi.Input + + ToGetIsSnapshotClonesCloneOutput() GetIsSnapshotClonesCloneOutput + ToGetIsSnapshotClonesCloneOutputWithContext(context.Context) GetIsSnapshotClonesCloneOutput +} + +type GetIsSnapshotClonesCloneArgs struct { + // Indicates whether this snapshot clone is available for use. + Available pulumi.BoolInput `pulumi:"available"` + // The date and time that this snapshot clone was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The zone this snapshot clone resides in. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsSnapshotClonesCloneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotClonesClone)(nil)).Elem() +} + +func (i GetIsSnapshotClonesCloneArgs) ToGetIsSnapshotClonesCloneOutput() GetIsSnapshotClonesCloneOutput { + return i.ToGetIsSnapshotClonesCloneOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotClonesCloneArgs) ToGetIsSnapshotClonesCloneOutputWithContext(ctx context.Context) GetIsSnapshotClonesCloneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotClonesCloneOutput) +} + +// GetIsSnapshotClonesCloneArrayInput is an input type that accepts GetIsSnapshotClonesCloneArray and GetIsSnapshotClonesCloneArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotClonesCloneArrayInput` via: +// +// GetIsSnapshotClonesCloneArray{ GetIsSnapshotClonesCloneArgs{...} } +type GetIsSnapshotClonesCloneArrayInput interface { + pulumi.Input + + ToGetIsSnapshotClonesCloneArrayOutput() GetIsSnapshotClonesCloneArrayOutput + ToGetIsSnapshotClonesCloneArrayOutputWithContext(context.Context) GetIsSnapshotClonesCloneArrayOutput +} + +type GetIsSnapshotClonesCloneArray []GetIsSnapshotClonesCloneInput + +func (GetIsSnapshotClonesCloneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotClonesClone)(nil)).Elem() +} + +func (i GetIsSnapshotClonesCloneArray) ToGetIsSnapshotClonesCloneArrayOutput() GetIsSnapshotClonesCloneArrayOutput { + return i.ToGetIsSnapshotClonesCloneArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotClonesCloneArray) ToGetIsSnapshotClonesCloneArrayOutputWithContext(ctx context.Context) GetIsSnapshotClonesCloneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotClonesCloneArrayOutput) +} + +type GetIsSnapshotClonesCloneOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotClonesCloneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotClonesClone)(nil)).Elem() +} + +func (o GetIsSnapshotClonesCloneOutput) ToGetIsSnapshotClonesCloneOutput() GetIsSnapshotClonesCloneOutput { + return o +} + +func (o GetIsSnapshotClonesCloneOutput) ToGetIsSnapshotClonesCloneOutputWithContext(ctx context.Context) GetIsSnapshotClonesCloneOutput { + return o +} + +// Indicates whether this snapshot clone is available for use. +func (o GetIsSnapshotClonesCloneOutput) Available() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsSnapshotClonesClone) bool { return v.Available }).(pulumi.BoolOutput) +} + +// The date and time that this snapshot clone was created. +func (o GetIsSnapshotClonesCloneOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotClonesClone) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The zone this snapshot clone resides in. +func (o GetIsSnapshotClonesCloneOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotClonesClone) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsSnapshotClonesCloneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotClonesCloneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotClonesClone)(nil)).Elem() +} + +func (o GetIsSnapshotClonesCloneArrayOutput) ToGetIsSnapshotClonesCloneArrayOutput() GetIsSnapshotClonesCloneArrayOutput { + return o +} + +func (o GetIsSnapshotClonesCloneArrayOutput) ToGetIsSnapshotClonesCloneArrayOutputWithContext(ctx context.Context) GetIsSnapshotClonesCloneArrayOutput { + return o +} + +func (o GetIsSnapshotClonesCloneArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotClonesCloneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotClonesClone { + return vs[0].([]GetIsSnapshotClonesClone)[vs[1].(int)] + }).(GetIsSnapshotClonesCloneOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotConsistencyGroupBackupPolicyPlanInput is an input type that accepts GetIsSnapshotConsistencyGroupBackupPolicyPlanArgs and GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupBackupPolicyPlanInput` via: +// +// GetIsSnapshotConsistencyGroupBackupPolicyPlanArgs{...} +type GetIsSnapshotConsistencyGroupBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanArgs) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return i.ToGetIsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanArgs) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) +} + +// GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupBackupPolicyPlanArray and GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayInput` via: +// +// GetIsSnapshotConsistencyGroupBackupPolicyPlanArray{ GetIsSnapshotConsistencyGroupBackupPolicyPlanArgs{...} } +type GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanArray []GetIsSnapshotConsistencyGroupBackupPolicyPlanInput + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanArray) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanArray) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) Deleteds() GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlan) []GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted { + return v.Deleteds + }).(GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this backup policy plan. The name is unique across all plans in the backup policy. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) Remotes() GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlan) []GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote { + return v.Remotes + }).(GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupBackupPolicyPlan { + return vs[0].([]GetIsSnapshotConsistencyGroupBackupPolicyPlan)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput is an input type that accepts GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs and GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput` via: +// +// GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{...} +type GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return i.ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) +} + +// GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray and GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray{ GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{...} } +type GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray []GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted { + return vs[0].([]GetIsSnapshotConsistencyGroupBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput is an input type that accepts GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs and GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput` via: +// +// GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{...} +type GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return i.ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) +} + +// GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray and GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput` via: +// +// GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray{ GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{...} } +type GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput + ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray []GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ToGetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote { + return vs[0].([]GetIsSnapshotConsistencyGroupBackupPolicyPlanRemote)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) +} + +type GetIsSnapshotConsistencyGroupResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsSnapshotConsistencyGroupResourceGroupInput is an input type that accepts GetIsSnapshotConsistencyGroupResourceGroupArgs and GetIsSnapshotConsistencyGroupResourceGroupOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupResourceGroupInput` via: +// +// GetIsSnapshotConsistencyGroupResourceGroupArgs{...} +type GetIsSnapshotConsistencyGroupResourceGroupInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupResourceGroupOutput() GetIsSnapshotConsistencyGroupResourceGroupOutput + ToGetIsSnapshotConsistencyGroupResourceGroupOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupResourceGroupOutput +} + +type GetIsSnapshotConsistencyGroupResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotConsistencyGroupResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupResourceGroupArgs) ToGetIsSnapshotConsistencyGroupResourceGroupOutput() GetIsSnapshotConsistencyGroupResourceGroupOutput { + return i.ToGetIsSnapshotConsistencyGroupResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupResourceGroupArgs) ToGetIsSnapshotConsistencyGroupResourceGroupOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupResourceGroupOutput) +} + +// GetIsSnapshotConsistencyGroupResourceGroupArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupResourceGroupArray and GetIsSnapshotConsistencyGroupResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupResourceGroupArrayInput` via: +// +// GetIsSnapshotConsistencyGroupResourceGroupArray{ GetIsSnapshotConsistencyGroupResourceGroupArgs{...} } +type GetIsSnapshotConsistencyGroupResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupResourceGroupArrayOutput() GetIsSnapshotConsistencyGroupResourceGroupArrayOutput + ToGetIsSnapshotConsistencyGroupResourceGroupArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupResourceGroupArrayOutput +} + +type GetIsSnapshotConsistencyGroupResourceGroupArray []GetIsSnapshotConsistencyGroupResourceGroupInput + +func (GetIsSnapshotConsistencyGroupResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupResourceGroup)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupResourceGroupArray) ToGetIsSnapshotConsistencyGroupResourceGroupArrayOutput() GetIsSnapshotConsistencyGroupResourceGroupArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupResourceGroupArray) ToGetIsSnapshotConsistencyGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupResourceGroupArrayOutput) +} + +type GetIsSnapshotConsistencyGroupResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupResourceGroupOutput) ToGetIsSnapshotConsistencyGroupResourceGroupOutput() GetIsSnapshotConsistencyGroupResourceGroupOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupResourceGroupOutput) ToGetIsSnapshotConsistencyGroupResourceGroupOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsSnapshotConsistencyGroupResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsSnapshotConsistencyGroupResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsSnapshotConsistencyGroupResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupResourceGroup)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupResourceGroupArrayOutput) ToGetIsSnapshotConsistencyGroupResourceGroupArrayOutput() GetIsSnapshotConsistencyGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupResourceGroupArrayOutput) ToGetIsSnapshotConsistencyGroupResourceGroupArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupResourceGroupArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupResourceGroup { + return vs[0].([]GetIsSnapshotConsistencyGroupResourceGroup)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupResourceGroupOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshot struct { + // The CRN of this snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotConsistencyGroupSnapshotDeleted `pulumi:"deleteds"` + // The URL for this snapshot. + Href string `pulumi:"href"` + // The unique identifier for this snapshot. + Id string `pulumi:"id"` + // The name for this snapshot. The name is unique across all snapshots in the region. + Name string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []GetIsSnapshotConsistencyGroupSnapshotRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotConsistencyGroupSnapshotInput is an input type that accepts GetIsSnapshotConsistencyGroupSnapshotArgs and GetIsSnapshotConsistencyGroupSnapshotOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupSnapshotInput` via: +// +// GetIsSnapshotConsistencyGroupSnapshotArgs{...} +type GetIsSnapshotConsistencyGroupSnapshotInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupSnapshotOutput() GetIsSnapshotConsistencyGroupSnapshotOutput + ToGetIsSnapshotConsistencyGroupSnapshotOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupSnapshotOutput +} + +type GetIsSnapshotConsistencyGroupSnapshotArgs struct { + // The CRN of this snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotConsistencyGroupSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for this snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The name for this snapshot. The name is unique across all snapshots in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes GetIsSnapshotConsistencyGroupSnapshotRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotConsistencyGroupSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupSnapshotArgs) ToGetIsSnapshotConsistencyGroupSnapshotOutput() GetIsSnapshotConsistencyGroupSnapshotOutput { + return i.ToGetIsSnapshotConsistencyGroupSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupSnapshotArgs) ToGetIsSnapshotConsistencyGroupSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupSnapshotOutput) +} + +// GetIsSnapshotConsistencyGroupSnapshotArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupSnapshotArray and GetIsSnapshotConsistencyGroupSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupSnapshotArrayInput` via: +// +// GetIsSnapshotConsistencyGroupSnapshotArray{ GetIsSnapshotConsistencyGroupSnapshotArgs{...} } +type GetIsSnapshotConsistencyGroupSnapshotArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupSnapshotArrayOutput() GetIsSnapshotConsistencyGroupSnapshotArrayOutput + ToGetIsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupSnapshotArrayOutput +} + +type GetIsSnapshotConsistencyGroupSnapshotArray []GetIsSnapshotConsistencyGroupSnapshotInput + +func (GetIsSnapshotConsistencyGroupSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupSnapshotArray) ToGetIsSnapshotConsistencyGroupSnapshotArrayOutput() GetIsSnapshotConsistencyGroupSnapshotArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupSnapshotArray) ToGetIsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupSnapshotArrayOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) ToGetIsSnapshotConsistencyGroupSnapshotOutput() GetIsSnapshotConsistencyGroupSnapshotOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) ToGetIsSnapshotConsistencyGroupSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotOutput { + return o +} + +// The CRN of this snapshot. +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) Deleteds() GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshot) []GetIsSnapshotConsistencyGroupSnapshotDeleted { + return v.Deleteds + }).(GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) +} + +// The URL for this snapshot. +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot. +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this snapshot. The name is unique across all snapshots in the region. +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) Remotes() GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshot) []GetIsSnapshotConsistencyGroupSnapshotRemote { + return v.Remotes + }).(GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSnapshotConsistencyGroupSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupSnapshotArrayOutput) ToGetIsSnapshotConsistencyGroupSnapshotArrayOutput() GetIsSnapshotConsistencyGroupSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotArrayOutput) ToGetIsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupSnapshot { + return vs[0].([]GetIsSnapshotConsistencyGroupSnapshot)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupSnapshotOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotConsistencyGroupSnapshotDeletedInput is an input type that accepts GetIsSnapshotConsistencyGroupSnapshotDeletedArgs and GetIsSnapshotConsistencyGroupSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupSnapshotDeletedInput` via: +// +// GetIsSnapshotConsistencyGroupSnapshotDeletedArgs{...} +type GetIsSnapshotConsistencyGroupSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupSnapshotDeletedOutput() GetIsSnapshotConsistencyGroupSnapshotDeletedOutput + ToGetIsSnapshotConsistencyGroupSnapshotDeletedOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupSnapshotDeletedOutput +} + +type GetIsSnapshotConsistencyGroupSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotConsistencyGroupSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupSnapshotDeletedArgs) ToGetIsSnapshotConsistencyGroupSnapshotDeletedOutput() GetIsSnapshotConsistencyGroupSnapshotDeletedOutput { + return i.ToGetIsSnapshotConsistencyGroupSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupSnapshotDeletedArgs) ToGetIsSnapshotConsistencyGroupSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupSnapshotDeletedOutput) +} + +// GetIsSnapshotConsistencyGroupSnapshotDeletedArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupSnapshotDeletedArray and GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupSnapshotDeletedArrayInput` via: +// +// GetIsSnapshotConsistencyGroupSnapshotDeletedArray{ GetIsSnapshotConsistencyGroupSnapshotDeletedArgs{...} } +type GetIsSnapshotConsistencyGroupSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput() GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput + ToGetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput +} + +type GetIsSnapshotConsistencyGroupSnapshotDeletedArray []GetIsSnapshotConsistencyGroupSnapshotDeletedInput + +func (GetIsSnapshotConsistencyGroupSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupSnapshotDeletedArray) ToGetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput() GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupSnapshotDeletedArray) ToGetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupSnapshotDeletedOutput) ToGetIsSnapshotConsistencyGroupSnapshotDeletedOutput() GetIsSnapshotConsistencyGroupSnapshotDeletedOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotDeletedOutput) ToGetIsSnapshotConsistencyGroupSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotConsistencyGroupSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshotDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) ToGetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput() GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) ToGetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupSnapshotDeleted { + return vs[0].([]GetIsSnapshotConsistencyGroupSnapshotDeleted)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupSnapshotDeletedOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshotRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSnapshotConsistencyGroupSnapshotRemoteInput is an input type that accepts GetIsSnapshotConsistencyGroupSnapshotRemoteArgs and GetIsSnapshotConsistencyGroupSnapshotRemoteOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupSnapshotRemoteInput` via: +// +// GetIsSnapshotConsistencyGroupSnapshotRemoteArgs{...} +type GetIsSnapshotConsistencyGroupSnapshotRemoteInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupSnapshotRemoteOutput() GetIsSnapshotConsistencyGroupSnapshotRemoteOutput + ToGetIsSnapshotConsistencyGroupSnapshotRemoteOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupSnapshotRemoteOutput +} + +type GetIsSnapshotConsistencyGroupSnapshotRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotConsistencyGroupSnapshotRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotRemote)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupSnapshotRemoteArgs) ToGetIsSnapshotConsistencyGroupSnapshotRemoteOutput() GetIsSnapshotConsistencyGroupSnapshotRemoteOutput { + return i.ToGetIsSnapshotConsistencyGroupSnapshotRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupSnapshotRemoteArgs) ToGetIsSnapshotConsistencyGroupSnapshotRemoteOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupSnapshotRemoteOutput) +} + +// GetIsSnapshotConsistencyGroupSnapshotRemoteArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupSnapshotRemoteArray and GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupSnapshotRemoteArrayInput` via: +// +// GetIsSnapshotConsistencyGroupSnapshotRemoteArray{ GetIsSnapshotConsistencyGroupSnapshotRemoteArgs{...} } +type GetIsSnapshotConsistencyGroupSnapshotRemoteArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput() GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput + ToGetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput +} + +type GetIsSnapshotConsistencyGroupSnapshotRemoteArray []GetIsSnapshotConsistencyGroupSnapshotRemoteInput + +func (GetIsSnapshotConsistencyGroupSnapshotRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupSnapshotRemote)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupSnapshotRemoteArray) ToGetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput() GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupSnapshotRemoteArray) ToGetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshotRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupSnapshotRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotRemote)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupSnapshotRemoteOutput) ToGetIsSnapshotConsistencyGroupSnapshotRemoteOutput() GetIsSnapshotConsistencyGroupSnapshotRemoteOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotRemoteOutput) ToGetIsSnapshotConsistencyGroupSnapshotRemoteOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsSnapshotConsistencyGroupSnapshotRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshotRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSnapshotConsistencyGroupSnapshotRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupSnapshotRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupSnapshotRemote)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) ToGetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput() GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) ToGetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupSnapshotRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupSnapshotRemote { + return vs[0].([]GetIsSnapshotConsistencyGroupSnapshotRemote)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupSnapshotRemoteOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // If present, the backup policy plan which created this snapshot consistency group. + BackupPolicyPlans []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan `pulumi:"backupPolicyPlans"` + // The date and time that this snapshot consistency group was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN of this snapshot consistency group. + Crn string `pulumi:"crn"` + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete bool `pulumi:"deleteSnapshotsOnDelete"` + // The URL for this snapshot consistency group. + Href string `pulumi:"href"` + // The unique identifier for this snapshot consistency group. + Id string `pulumi:"id"` + // The lifecycle state of this snapshot consistency group. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name string `pulumi:"name"` + // Resource group info + ResourceGroup string `pulumi:"resourceGroup"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)[`is.instance:` prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs) associated with this snapshot consistency group. + ServiceTags []string `pulumi:"serviceTags"` + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Snapshots []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot `pulumi:"snapshots"` + // User Tags for the snapshot consistency group + Tags []string `pulumi:"tags"` +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArgs and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArgs{...} +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // If present, the backup policy plan which created this snapshot consistency group. + BackupPolicyPlans GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayInput `pulumi:"backupPolicyPlans"` + // The date and time that this snapshot consistency group was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN of this snapshot consistency group. + Crn pulumi.StringInput `pulumi:"crn"` + // Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. + DeleteSnapshotsOnDelete pulumi.BoolInput `pulumi:"deleteSnapshotsOnDelete"` + // The URL for this snapshot consistency group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this snapshot consistency group. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of this snapshot consistency group. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name pulumi.StringInput `pulumi:"name"` + // Resource group info + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)[`is.instance:` prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs) associated with this snapshot consistency group. + ServiceTags pulumi.StringArrayInput `pulumi:"serviceTags"` + // The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). + Snapshots GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayInput `pulumi:"snapshots"` + // User Tags for the snapshot consistency group + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArray and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArray{ GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArgs{...} } +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArray []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupInput + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput { + return o +} + +// List of access tags +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// If present, the backup policy plan which created this snapshot consistency group. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) BackupPolicyPlans() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan { + return v.BackupPolicyPlans + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) +} + +// The date and time that this snapshot consistency group was created. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN of this snapshot consistency group. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates whether deleting the snapshot consistency group will also delete the snapshots in the group. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) DeleteSnapshotsOnDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) bool { return v.DeleteSnapshotsOnDelete }).(pulumi.BoolOutput) +} + +// The URL for this snapshot consistency group. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot consistency group. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of this snapshot consistency group. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this snapshot consistency group. The name is unique across all snapshot consistency groups in the region. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// Resource group info +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags)[`is.instance:` prefix](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-faqs) associated with this snapshot consistency group. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) ServiceTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) []string { return v.ServiceTags }).(pulumi.StringArrayOutput) +} + +// The member snapshots that are data-consistent with respect to captured time. (may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)). +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) Snapshots() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot { + return v.Snapshots + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput) +} + +// User Tags for the snapshot consistency group +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup { + return vs[0].([]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroup)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArgs and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArgs{...} +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The name for this backup policy plan. The name is unique across all plans in the backup policy. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArray and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArray{ GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArgs{...} } +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArray []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanInput + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) Deleteds() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan) []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted { + return v.Deleteds + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this backup policy plan. The name is unique across all plans in the backup policy. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) Remotes() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan) []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote { + return v.Remotes + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan { + return vs[0].([]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlan)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{...} +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray{ GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{...} } +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted { + return vs[0].([]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{...} +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray{ GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{...} } +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote) string { + return v.Href + }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote) string { + return v.Name + }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote { + return vs[0].([]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemote)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot struct { + // The CRN of this snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted `pulumi:"deleteds"` + // The URL for this snapshot. + Href string `pulumi:"href"` + // The unique identifier for this snapshot. + Id string `pulumi:"id"` + // The name for this snapshot. The name is unique across all snapshots in the region. + Name string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArgs and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArgs{...} +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArgs struct { + // The CRN of this snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for this snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The name for this snapshot. The name is unique across all snapshots in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArray and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArray{ GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArgs{...} } +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArray []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotInput + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput { + return o +} + +// The CRN of this snapshot. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) Deleteds() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot) []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted { + return v.Deleteds + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) +} + +// The URL for this snapshot. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this snapshot. The name is unique across all snapshots in the region. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) Remotes() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot) []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote { + return v.Remotes + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot { + return vs[0].([]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshot)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArgs and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArgs{...} +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput) +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArray and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArray{ GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArgs{...} } +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArray []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedInput + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted { + return vs[0].([]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeleted)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArgs and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArgs{...} +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArgs) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput) +} + +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayInput is an input type that accepts GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArray and GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayInput` via: +// +// GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArray{ GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArgs{...} } +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayInput interface { + pulumi.Input + + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput + ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutputWithContext(context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArray []GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteInput + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote)(nil)).Elem() +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return i.ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArray) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote)(nil)).Elem() +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput() GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) ToGetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote { + return vs[0].([]GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemote)[vs[1].(int)] + }).(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput) +} + +type GetIsSnapshotCopy struct { + // The CRN for the copied snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. + Deleteds []GetIsSnapshotCopyDeleted `pulumi:"deleteds"` + // The URL for the copied snapshot. + Href string `pulumi:"href"` + // The unique identifier for the copied snapshot. + Id string `pulumi:"id"` + // The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. + Name string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []GetIsSnapshotCopyRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotCopyInput is an input type that accepts GetIsSnapshotCopyArgs and GetIsSnapshotCopyOutput values. +// You can construct a concrete instance of `GetIsSnapshotCopyInput` via: +// +// GetIsSnapshotCopyArgs{...} +type GetIsSnapshotCopyInput interface { + pulumi.Input + + ToGetIsSnapshotCopyOutput() GetIsSnapshotCopyOutput + ToGetIsSnapshotCopyOutputWithContext(context.Context) GetIsSnapshotCopyOutput +} + +type GetIsSnapshotCopyArgs struct { + // The CRN for the copied snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. + Deleteds GetIsSnapshotCopyDeletedArrayInput `pulumi:"deleteds"` + // The URL for the copied snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for the copied snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes GetIsSnapshotCopyRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotCopyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCopy)(nil)).Elem() +} + +func (i GetIsSnapshotCopyArgs) ToGetIsSnapshotCopyOutput() GetIsSnapshotCopyOutput { + return i.ToGetIsSnapshotCopyOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCopyArgs) ToGetIsSnapshotCopyOutputWithContext(ctx context.Context) GetIsSnapshotCopyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCopyOutput) +} + +// GetIsSnapshotCopyArrayInput is an input type that accepts GetIsSnapshotCopyArray and GetIsSnapshotCopyArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotCopyArrayInput` via: +// +// GetIsSnapshotCopyArray{ GetIsSnapshotCopyArgs{...} } +type GetIsSnapshotCopyArrayInput interface { + pulumi.Input + + ToGetIsSnapshotCopyArrayOutput() GetIsSnapshotCopyArrayOutput + ToGetIsSnapshotCopyArrayOutputWithContext(context.Context) GetIsSnapshotCopyArrayOutput +} + +type GetIsSnapshotCopyArray []GetIsSnapshotCopyInput + +func (GetIsSnapshotCopyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCopy)(nil)).Elem() +} + +func (i GetIsSnapshotCopyArray) ToGetIsSnapshotCopyArrayOutput() GetIsSnapshotCopyArrayOutput { + return i.ToGetIsSnapshotCopyArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCopyArray) ToGetIsSnapshotCopyArrayOutputWithContext(ctx context.Context) GetIsSnapshotCopyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCopyArrayOutput) +} + +type GetIsSnapshotCopyOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCopyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCopy)(nil)).Elem() +} + +func (o GetIsSnapshotCopyOutput) ToGetIsSnapshotCopyOutput() GetIsSnapshotCopyOutput { + return o +} + +func (o GetIsSnapshotCopyOutput) ToGetIsSnapshotCopyOutputWithContext(ctx context.Context) GetIsSnapshotCopyOutput { + return o +} + +// The CRN for the copied snapshot. +func (o GetIsSnapshotCopyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCopy) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. +func (o GetIsSnapshotCopyOutput) Deleteds() GetIsSnapshotCopyDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotCopy) []GetIsSnapshotCopyDeleted { return v.Deleteds }).(GetIsSnapshotCopyDeletedArrayOutput) +} + +// The URL for the copied snapshot. +func (o GetIsSnapshotCopyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCopy) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for the copied snapshot. +func (o GetIsSnapshotCopyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCopy) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. +func (o GetIsSnapshotCopyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCopy) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o GetIsSnapshotCopyOutput) Remotes() GetIsSnapshotCopyRemoteArrayOutput { + return o.ApplyT(func(v GetIsSnapshotCopy) []GetIsSnapshotCopyRemote { return v.Remotes }).(GetIsSnapshotCopyRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSnapshotCopyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCopy) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotCopyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCopyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCopy)(nil)).Elem() +} + +func (o GetIsSnapshotCopyArrayOutput) ToGetIsSnapshotCopyArrayOutput() GetIsSnapshotCopyArrayOutput { + return o +} + +func (o GetIsSnapshotCopyArrayOutput) ToGetIsSnapshotCopyArrayOutputWithContext(ctx context.Context) GetIsSnapshotCopyArrayOutput { + return o +} + +func (o GetIsSnapshotCopyArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotCopyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotCopy { + return vs[0].([]GetIsSnapshotCopy)[vs[1].(int)] + }).(GetIsSnapshotCopyOutput) +} + +type GetIsSnapshotCopyDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotCopyDeletedInput is an input type that accepts GetIsSnapshotCopyDeletedArgs and GetIsSnapshotCopyDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotCopyDeletedInput` via: +// +// GetIsSnapshotCopyDeletedArgs{...} +type GetIsSnapshotCopyDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotCopyDeletedOutput() GetIsSnapshotCopyDeletedOutput + ToGetIsSnapshotCopyDeletedOutputWithContext(context.Context) GetIsSnapshotCopyDeletedOutput +} + +type GetIsSnapshotCopyDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotCopyDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCopyDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotCopyDeletedArgs) ToGetIsSnapshotCopyDeletedOutput() GetIsSnapshotCopyDeletedOutput { + return i.ToGetIsSnapshotCopyDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCopyDeletedArgs) ToGetIsSnapshotCopyDeletedOutputWithContext(ctx context.Context) GetIsSnapshotCopyDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCopyDeletedOutput) +} + +// GetIsSnapshotCopyDeletedArrayInput is an input type that accepts GetIsSnapshotCopyDeletedArray and GetIsSnapshotCopyDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotCopyDeletedArrayInput` via: +// +// GetIsSnapshotCopyDeletedArray{ GetIsSnapshotCopyDeletedArgs{...} } +type GetIsSnapshotCopyDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotCopyDeletedArrayOutput() GetIsSnapshotCopyDeletedArrayOutput + ToGetIsSnapshotCopyDeletedArrayOutputWithContext(context.Context) GetIsSnapshotCopyDeletedArrayOutput +} + +type GetIsSnapshotCopyDeletedArray []GetIsSnapshotCopyDeletedInput + +func (GetIsSnapshotCopyDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCopyDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotCopyDeletedArray) ToGetIsSnapshotCopyDeletedArrayOutput() GetIsSnapshotCopyDeletedArrayOutput { + return i.ToGetIsSnapshotCopyDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCopyDeletedArray) ToGetIsSnapshotCopyDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotCopyDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCopyDeletedArrayOutput) +} + +type GetIsSnapshotCopyDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCopyDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCopyDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotCopyDeletedOutput) ToGetIsSnapshotCopyDeletedOutput() GetIsSnapshotCopyDeletedOutput { + return o +} + +func (o GetIsSnapshotCopyDeletedOutput) ToGetIsSnapshotCopyDeletedOutputWithContext(ctx context.Context) GetIsSnapshotCopyDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotCopyDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCopyDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotCopyDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCopyDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCopyDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotCopyDeletedArrayOutput) ToGetIsSnapshotCopyDeletedArrayOutput() GetIsSnapshotCopyDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotCopyDeletedArrayOutput) ToGetIsSnapshotCopyDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotCopyDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotCopyDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotCopyDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotCopyDeleted { + return vs[0].([]GetIsSnapshotCopyDeleted)[vs[1].(int)] + }).(GetIsSnapshotCopyDeletedOutput) +} + +type GetIsSnapshotCopyRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSnapshotCopyRemoteInput is an input type that accepts GetIsSnapshotCopyRemoteArgs and GetIsSnapshotCopyRemoteOutput values. +// You can construct a concrete instance of `GetIsSnapshotCopyRemoteInput` via: +// +// GetIsSnapshotCopyRemoteArgs{...} +type GetIsSnapshotCopyRemoteInput interface { + pulumi.Input + + ToGetIsSnapshotCopyRemoteOutput() GetIsSnapshotCopyRemoteOutput + ToGetIsSnapshotCopyRemoteOutputWithContext(context.Context) GetIsSnapshotCopyRemoteOutput +} + +type GetIsSnapshotCopyRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotCopyRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCopyRemote)(nil)).Elem() +} + +func (i GetIsSnapshotCopyRemoteArgs) ToGetIsSnapshotCopyRemoteOutput() GetIsSnapshotCopyRemoteOutput { + return i.ToGetIsSnapshotCopyRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCopyRemoteArgs) ToGetIsSnapshotCopyRemoteOutputWithContext(ctx context.Context) GetIsSnapshotCopyRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCopyRemoteOutput) +} + +// GetIsSnapshotCopyRemoteArrayInput is an input type that accepts GetIsSnapshotCopyRemoteArray and GetIsSnapshotCopyRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotCopyRemoteArrayInput` via: +// +// GetIsSnapshotCopyRemoteArray{ GetIsSnapshotCopyRemoteArgs{...} } +type GetIsSnapshotCopyRemoteArrayInput interface { + pulumi.Input + + ToGetIsSnapshotCopyRemoteArrayOutput() GetIsSnapshotCopyRemoteArrayOutput + ToGetIsSnapshotCopyRemoteArrayOutputWithContext(context.Context) GetIsSnapshotCopyRemoteArrayOutput +} + +type GetIsSnapshotCopyRemoteArray []GetIsSnapshotCopyRemoteInput + +func (GetIsSnapshotCopyRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCopyRemote)(nil)).Elem() +} + +func (i GetIsSnapshotCopyRemoteArray) ToGetIsSnapshotCopyRemoteArrayOutput() GetIsSnapshotCopyRemoteArrayOutput { + return i.ToGetIsSnapshotCopyRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotCopyRemoteArray) ToGetIsSnapshotCopyRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotCopyRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotCopyRemoteArrayOutput) +} + +type GetIsSnapshotCopyRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCopyRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotCopyRemote)(nil)).Elem() +} + +func (o GetIsSnapshotCopyRemoteOutput) ToGetIsSnapshotCopyRemoteOutput() GetIsSnapshotCopyRemoteOutput { + return o +} + +func (o GetIsSnapshotCopyRemoteOutput) ToGetIsSnapshotCopyRemoteOutputWithContext(ctx context.Context) GetIsSnapshotCopyRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsSnapshotCopyRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCopyRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSnapshotCopyRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotCopyRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSnapshotCopyRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotCopyRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotCopyRemote)(nil)).Elem() +} + +func (o GetIsSnapshotCopyRemoteArrayOutput) ToGetIsSnapshotCopyRemoteArrayOutput() GetIsSnapshotCopyRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotCopyRemoteArrayOutput) ToGetIsSnapshotCopyRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotCopyRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotCopyRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotCopyRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotCopyRemote { + return vs[0].([]GetIsSnapshotCopyRemote)[vs[1].(int)] + }).(GetIsSnapshotCopyRemoteOutput) +} + +type GetIsSnapshotInstanceProfilesInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotInstanceProfilesInstanceProfileInput is an input type that accepts GetIsSnapshotInstanceProfilesInstanceProfileArgs and GetIsSnapshotInstanceProfilesInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsSnapshotInstanceProfilesInstanceProfileInput` via: +// +// GetIsSnapshotInstanceProfilesInstanceProfileArgs{...} +type GetIsSnapshotInstanceProfilesInstanceProfileInput interface { + pulumi.Input + + ToGetIsSnapshotInstanceProfilesInstanceProfileOutput() GetIsSnapshotInstanceProfilesInstanceProfileOutput + ToGetIsSnapshotInstanceProfilesInstanceProfileOutputWithContext(context.Context) GetIsSnapshotInstanceProfilesInstanceProfileOutput +} + +type GetIsSnapshotInstanceProfilesInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotInstanceProfilesInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (i GetIsSnapshotInstanceProfilesInstanceProfileArgs) ToGetIsSnapshotInstanceProfilesInstanceProfileOutput() GetIsSnapshotInstanceProfilesInstanceProfileOutput { + return i.ToGetIsSnapshotInstanceProfilesInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotInstanceProfilesInstanceProfileArgs) ToGetIsSnapshotInstanceProfilesInstanceProfileOutputWithContext(ctx context.Context) GetIsSnapshotInstanceProfilesInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotInstanceProfilesInstanceProfileOutput) +} + +// GetIsSnapshotInstanceProfilesInstanceProfileArrayInput is an input type that accepts GetIsSnapshotInstanceProfilesInstanceProfileArray and GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotInstanceProfilesInstanceProfileArrayInput` via: +// +// GetIsSnapshotInstanceProfilesInstanceProfileArray{ GetIsSnapshotInstanceProfilesInstanceProfileArgs{...} } +type GetIsSnapshotInstanceProfilesInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsSnapshotInstanceProfilesInstanceProfileArrayOutput() GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput + ToGetIsSnapshotInstanceProfilesInstanceProfileArrayOutputWithContext(context.Context) GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput +} + +type GetIsSnapshotInstanceProfilesInstanceProfileArray []GetIsSnapshotInstanceProfilesInstanceProfileInput + +func (GetIsSnapshotInstanceProfilesInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (i GetIsSnapshotInstanceProfilesInstanceProfileArray) ToGetIsSnapshotInstanceProfilesInstanceProfileArrayOutput() GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput { + return i.ToGetIsSnapshotInstanceProfilesInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotInstanceProfilesInstanceProfileArray) ToGetIsSnapshotInstanceProfilesInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput) +} + +type GetIsSnapshotInstanceProfilesInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotInstanceProfilesInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (o GetIsSnapshotInstanceProfilesInstanceProfileOutput) ToGetIsSnapshotInstanceProfilesInstanceProfileOutput() GetIsSnapshotInstanceProfilesInstanceProfileOutput { + return o +} + +func (o GetIsSnapshotInstanceProfilesInstanceProfileOutput) ToGetIsSnapshotInstanceProfilesInstanceProfileOutputWithContext(ctx context.Context) GetIsSnapshotInstanceProfilesInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsSnapshotInstanceProfilesInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotInstanceProfilesInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsSnapshotInstanceProfilesInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotInstanceProfilesInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSnapshotInstanceProfilesInstanceProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotInstanceProfilesInstanceProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (o GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput) ToGetIsSnapshotInstanceProfilesInstanceProfileArrayOutput() GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput { + return o +} + +func (o GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput) ToGetIsSnapshotInstanceProfilesInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput { + return o +} + +func (o GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotInstanceProfilesInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotInstanceProfilesInstanceProfile { + return vs[0].([]GetIsSnapshotInstanceProfilesInstanceProfile)[vs[1].(int)] + }).(GetIsSnapshotInstanceProfilesInstanceProfileOutput) +} + +type GetIsSnapshotSnapshotConsistencyGroup struct { + // The CRN of this snapshot consistency group. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotSnapshotConsistencyGroupDeleted `pulumi:"deleteds"` + // The URL for the snapshot consistency group. + Href string `pulumi:"href"` + // The unique identifier for the snapshot consistency group. + Id string `pulumi:"id"` + // The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotSnapshotConsistencyGroupInput is an input type that accepts GetIsSnapshotSnapshotConsistencyGroupArgs and GetIsSnapshotSnapshotConsistencyGroupOutput values. +// You can construct a concrete instance of `GetIsSnapshotSnapshotConsistencyGroupInput` via: +// +// GetIsSnapshotSnapshotConsistencyGroupArgs{...} +type GetIsSnapshotSnapshotConsistencyGroupInput interface { + pulumi.Input + + ToGetIsSnapshotSnapshotConsistencyGroupOutput() GetIsSnapshotSnapshotConsistencyGroupOutput + ToGetIsSnapshotSnapshotConsistencyGroupOutputWithContext(context.Context) GetIsSnapshotSnapshotConsistencyGroupOutput +} + +type GetIsSnapshotSnapshotConsistencyGroupArgs struct { + // The CRN of this snapshot consistency group. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotSnapshotConsistencyGroupDeletedArrayInput `pulumi:"deleteds"` + // The URL for the snapshot consistency group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for the snapshot consistency group. + Id pulumi.StringInput `pulumi:"id"` + // The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotSnapshotConsistencyGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i GetIsSnapshotSnapshotConsistencyGroupArgs) ToGetIsSnapshotSnapshotConsistencyGroupOutput() GetIsSnapshotSnapshotConsistencyGroupOutput { + return i.ToGetIsSnapshotSnapshotConsistencyGroupOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSnapshotConsistencyGroupArgs) ToGetIsSnapshotSnapshotConsistencyGroupOutputWithContext(ctx context.Context) GetIsSnapshotSnapshotConsistencyGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSnapshotConsistencyGroupOutput) +} + +// GetIsSnapshotSnapshotConsistencyGroupArrayInput is an input type that accepts GetIsSnapshotSnapshotConsistencyGroupArray and GetIsSnapshotSnapshotConsistencyGroupArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotSnapshotConsistencyGroupArrayInput` via: +// +// GetIsSnapshotSnapshotConsistencyGroupArray{ GetIsSnapshotSnapshotConsistencyGroupArgs{...} } +type GetIsSnapshotSnapshotConsistencyGroupArrayInput interface { + pulumi.Input + + ToGetIsSnapshotSnapshotConsistencyGroupArrayOutput() GetIsSnapshotSnapshotConsistencyGroupArrayOutput + ToGetIsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(context.Context) GetIsSnapshotSnapshotConsistencyGroupArrayOutput +} + +type GetIsSnapshotSnapshotConsistencyGroupArray []GetIsSnapshotSnapshotConsistencyGroupInput + +func (GetIsSnapshotSnapshotConsistencyGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i GetIsSnapshotSnapshotConsistencyGroupArray) ToGetIsSnapshotSnapshotConsistencyGroupArrayOutput() GetIsSnapshotSnapshotConsistencyGroupArrayOutput { + return i.ToGetIsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSnapshotConsistencyGroupArray) ToGetIsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(ctx context.Context) GetIsSnapshotSnapshotConsistencyGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSnapshotConsistencyGroupArrayOutput) +} + +type GetIsSnapshotSnapshotConsistencyGroupOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSnapshotConsistencyGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o GetIsSnapshotSnapshotConsistencyGroupOutput) ToGetIsSnapshotSnapshotConsistencyGroupOutput() GetIsSnapshotSnapshotConsistencyGroupOutput { + return o +} + +func (o GetIsSnapshotSnapshotConsistencyGroupOutput) ToGetIsSnapshotSnapshotConsistencyGroupOutputWithContext(ctx context.Context) GetIsSnapshotSnapshotConsistencyGroupOutput { + return o +} + +// The CRN of this snapshot consistency group. +func (o GetIsSnapshotSnapshotConsistencyGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSnapshotConsistencyGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotSnapshotConsistencyGroupOutput) Deleteds() GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotSnapshotConsistencyGroup) []GetIsSnapshotSnapshotConsistencyGroupDeleted { + return v.Deleteds + }).(GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) +} + +// The URL for the snapshot consistency group. +func (o GetIsSnapshotSnapshotConsistencyGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSnapshotConsistencyGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for the snapshot consistency group. +func (o GetIsSnapshotSnapshotConsistencyGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSnapshotConsistencyGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. +func (o GetIsSnapshotSnapshotConsistencyGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSnapshotConsistencyGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSnapshotSnapshotConsistencyGroupOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSnapshotConsistencyGroup) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotSnapshotConsistencyGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSnapshotConsistencyGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o GetIsSnapshotSnapshotConsistencyGroupArrayOutput) ToGetIsSnapshotSnapshotConsistencyGroupArrayOutput() GetIsSnapshotSnapshotConsistencyGroupArrayOutput { + return o +} + +func (o GetIsSnapshotSnapshotConsistencyGroupArrayOutput) ToGetIsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(ctx context.Context) GetIsSnapshotSnapshotConsistencyGroupArrayOutput { + return o +} + +func (o GetIsSnapshotSnapshotConsistencyGroupArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotSnapshotConsistencyGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotSnapshotConsistencyGroup { + return vs[0].([]GetIsSnapshotSnapshotConsistencyGroup)[vs[1].(int)] + }).(GetIsSnapshotSnapshotConsistencyGroupOutput) +} + +type GetIsSnapshotSnapshotConsistencyGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotSnapshotConsistencyGroupDeletedInput is an input type that accepts GetIsSnapshotSnapshotConsistencyGroupDeletedArgs and GetIsSnapshotSnapshotConsistencyGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotSnapshotConsistencyGroupDeletedInput` via: +// +// GetIsSnapshotSnapshotConsistencyGroupDeletedArgs{...} +type GetIsSnapshotSnapshotConsistencyGroupDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotSnapshotConsistencyGroupDeletedOutput() GetIsSnapshotSnapshotConsistencyGroupDeletedOutput + ToGetIsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(context.Context) GetIsSnapshotSnapshotConsistencyGroupDeletedOutput +} + +type GetIsSnapshotSnapshotConsistencyGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotSnapshotConsistencyGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotSnapshotConsistencyGroupDeletedArgs) ToGetIsSnapshotSnapshotConsistencyGroupDeletedOutput() GetIsSnapshotSnapshotConsistencyGroupDeletedOutput { + return i.ToGetIsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSnapshotConsistencyGroupDeletedArgs) ToGetIsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(ctx context.Context) GetIsSnapshotSnapshotConsistencyGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSnapshotConsistencyGroupDeletedOutput) +} + +// GetIsSnapshotSnapshotConsistencyGroupDeletedArrayInput is an input type that accepts GetIsSnapshotSnapshotConsistencyGroupDeletedArray and GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotSnapshotConsistencyGroupDeletedArrayInput` via: +// +// GetIsSnapshotSnapshotConsistencyGroupDeletedArray{ GetIsSnapshotSnapshotConsistencyGroupDeletedArgs{...} } +type GetIsSnapshotSnapshotConsistencyGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput + ToGetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(context.Context) GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput +} + +type GetIsSnapshotSnapshotConsistencyGroupDeletedArray []GetIsSnapshotSnapshotConsistencyGroupDeletedInput + +func (GetIsSnapshotSnapshotConsistencyGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotSnapshotConsistencyGroupDeletedArray) ToGetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return i.ToGetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSnapshotConsistencyGroupDeletedArray) ToGetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) +} + +type GetIsSnapshotSnapshotConsistencyGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSnapshotConsistencyGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotSnapshotConsistencyGroupDeletedOutput) ToGetIsSnapshotSnapshotConsistencyGroupDeletedOutput() GetIsSnapshotSnapshotConsistencyGroupDeletedOutput { + return o +} + +func (o GetIsSnapshotSnapshotConsistencyGroupDeletedOutput) ToGetIsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(ctx context.Context) GetIsSnapshotSnapshotConsistencyGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotSnapshotConsistencyGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSnapshotConsistencyGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ToGetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ToGetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotSnapshotConsistencyGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotSnapshotConsistencyGroupDeleted { + return vs[0].([]GetIsSnapshotSnapshotConsistencyGroupDeleted)[vs[1].(int)] + }).(GetIsSnapshotSnapshotConsistencyGroupDeletedOutput) +} + +type GetIsSnapshotSourceSnapshot struct { + // The CRN of the source snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotSourceSnapshotDeleted `pulumi:"deleteds"` + // The URL for the source snapshot. + Href string `pulumi:"href"` + // The unique identifier for the source snapshot. + Id string `pulumi:"id"` + // The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. + Name string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []GetIsSnapshotSourceSnapshotRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotSourceSnapshotInput is an input type that accepts GetIsSnapshotSourceSnapshotArgs and GetIsSnapshotSourceSnapshotOutput values. +// You can construct a concrete instance of `GetIsSnapshotSourceSnapshotInput` via: +// +// GetIsSnapshotSourceSnapshotArgs{...} +type GetIsSnapshotSourceSnapshotInput interface { + pulumi.Input + + ToGetIsSnapshotSourceSnapshotOutput() GetIsSnapshotSourceSnapshotOutput + ToGetIsSnapshotSourceSnapshotOutputWithContext(context.Context) GetIsSnapshotSourceSnapshotOutput +} + +type GetIsSnapshotSourceSnapshotArgs struct { + // The CRN of the source snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotSourceSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for the source snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for the source snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes GetIsSnapshotSourceSnapshotRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotSourceSnapshotArgs) ToGetIsSnapshotSourceSnapshotOutput() GetIsSnapshotSourceSnapshotOutput { + return i.ToGetIsSnapshotSourceSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSourceSnapshotArgs) ToGetIsSnapshotSourceSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSourceSnapshotOutput) +} + +// GetIsSnapshotSourceSnapshotArrayInput is an input type that accepts GetIsSnapshotSourceSnapshotArray and GetIsSnapshotSourceSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotSourceSnapshotArrayInput` via: +// +// GetIsSnapshotSourceSnapshotArray{ GetIsSnapshotSourceSnapshotArgs{...} } +type GetIsSnapshotSourceSnapshotArrayInput interface { + pulumi.Input + + ToGetIsSnapshotSourceSnapshotArrayOutput() GetIsSnapshotSourceSnapshotArrayOutput + ToGetIsSnapshotSourceSnapshotArrayOutputWithContext(context.Context) GetIsSnapshotSourceSnapshotArrayOutput +} + +type GetIsSnapshotSourceSnapshotArray []GetIsSnapshotSourceSnapshotInput + +func (GetIsSnapshotSourceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotSourceSnapshotArray) ToGetIsSnapshotSourceSnapshotArrayOutput() GetIsSnapshotSourceSnapshotArrayOutput { + return i.ToGetIsSnapshotSourceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSourceSnapshotArray) ToGetIsSnapshotSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSourceSnapshotArrayOutput) +} + +type GetIsSnapshotSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotSourceSnapshotOutput) ToGetIsSnapshotSourceSnapshotOutput() GetIsSnapshotSourceSnapshotOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotOutput) ToGetIsSnapshotSourceSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotOutput { + return o +} + +// The CRN of the source snapshot. +func (o GetIsSnapshotSourceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotSourceSnapshotOutput) Deleteds() GetIsSnapshotSourceSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshot) []GetIsSnapshotSourceSnapshotDeleted { return v.Deleteds }).(GetIsSnapshotSourceSnapshotDeletedArrayOutput) +} + +// The URL for the source snapshot. +func (o GetIsSnapshotSourceSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for the source snapshot. +func (o GetIsSnapshotSourceSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. +func (o GetIsSnapshotSourceSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o GetIsSnapshotSourceSnapshotOutput) Remotes() GetIsSnapshotSourceSnapshotRemoteArrayOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshot) []GetIsSnapshotSourceSnapshotRemote { return v.Remotes }).(GetIsSnapshotSourceSnapshotRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSnapshotSourceSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotSourceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSourceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotSourceSnapshotArrayOutput) ToGetIsSnapshotSourceSnapshotArrayOutput() GetIsSnapshotSourceSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotArrayOutput) ToGetIsSnapshotSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotSourceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotSourceSnapshot { + return vs[0].([]GetIsSnapshotSourceSnapshot)[vs[1].(int)] + }).(GetIsSnapshotSourceSnapshotOutput) +} + +type GetIsSnapshotSourceSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotSourceSnapshotDeletedInput is an input type that accepts GetIsSnapshotSourceSnapshotDeletedArgs and GetIsSnapshotSourceSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotSourceSnapshotDeletedInput` via: +// +// GetIsSnapshotSourceSnapshotDeletedArgs{...} +type GetIsSnapshotSourceSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotSourceSnapshotDeletedOutput() GetIsSnapshotSourceSnapshotDeletedOutput + ToGetIsSnapshotSourceSnapshotDeletedOutputWithContext(context.Context) GetIsSnapshotSourceSnapshotDeletedOutput +} + +type GetIsSnapshotSourceSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotSourceSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotSourceSnapshotDeletedArgs) ToGetIsSnapshotSourceSnapshotDeletedOutput() GetIsSnapshotSourceSnapshotDeletedOutput { + return i.ToGetIsSnapshotSourceSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSourceSnapshotDeletedArgs) ToGetIsSnapshotSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSourceSnapshotDeletedOutput) +} + +// GetIsSnapshotSourceSnapshotDeletedArrayInput is an input type that accepts GetIsSnapshotSourceSnapshotDeletedArray and GetIsSnapshotSourceSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotSourceSnapshotDeletedArrayInput` via: +// +// GetIsSnapshotSourceSnapshotDeletedArray{ GetIsSnapshotSourceSnapshotDeletedArgs{...} } +type GetIsSnapshotSourceSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotSourceSnapshotDeletedArrayOutput() GetIsSnapshotSourceSnapshotDeletedArrayOutput + ToGetIsSnapshotSourceSnapshotDeletedArrayOutputWithContext(context.Context) GetIsSnapshotSourceSnapshotDeletedArrayOutput +} + +type GetIsSnapshotSourceSnapshotDeletedArray []GetIsSnapshotSourceSnapshotDeletedInput + +func (GetIsSnapshotSourceSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotSourceSnapshotDeletedArray) ToGetIsSnapshotSourceSnapshotDeletedArrayOutput() GetIsSnapshotSourceSnapshotDeletedArrayOutput { + return i.ToGetIsSnapshotSourceSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSourceSnapshotDeletedArray) ToGetIsSnapshotSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSourceSnapshotDeletedArrayOutput) +} + +type GetIsSnapshotSourceSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSourceSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotSourceSnapshotDeletedOutput) ToGetIsSnapshotSourceSnapshotDeletedOutput() GetIsSnapshotSourceSnapshotDeletedOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotDeletedOutput) ToGetIsSnapshotSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotSourceSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshotDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotSourceSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSourceSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotSourceSnapshotDeletedArrayOutput) ToGetIsSnapshotSourceSnapshotDeletedArrayOutput() GetIsSnapshotSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotDeletedArrayOutput) ToGetIsSnapshotSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotSourceSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotSourceSnapshotDeleted { + return vs[0].([]GetIsSnapshotSourceSnapshotDeleted)[vs[1].(int)] + }).(GetIsSnapshotSourceSnapshotDeletedOutput) +} + +type GetIsSnapshotSourceSnapshotRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSnapshotSourceSnapshotRemoteInput is an input type that accepts GetIsSnapshotSourceSnapshotRemoteArgs and GetIsSnapshotSourceSnapshotRemoteOutput values. +// You can construct a concrete instance of `GetIsSnapshotSourceSnapshotRemoteInput` via: +// +// GetIsSnapshotSourceSnapshotRemoteArgs{...} +type GetIsSnapshotSourceSnapshotRemoteInput interface { + pulumi.Input + + ToGetIsSnapshotSourceSnapshotRemoteOutput() GetIsSnapshotSourceSnapshotRemoteOutput + ToGetIsSnapshotSourceSnapshotRemoteOutputWithContext(context.Context) GetIsSnapshotSourceSnapshotRemoteOutput +} + +type GetIsSnapshotSourceSnapshotRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotSourceSnapshotRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (i GetIsSnapshotSourceSnapshotRemoteArgs) ToGetIsSnapshotSourceSnapshotRemoteOutput() GetIsSnapshotSourceSnapshotRemoteOutput { + return i.ToGetIsSnapshotSourceSnapshotRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSourceSnapshotRemoteArgs) ToGetIsSnapshotSourceSnapshotRemoteOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSourceSnapshotRemoteOutput) +} + +// GetIsSnapshotSourceSnapshotRemoteArrayInput is an input type that accepts GetIsSnapshotSourceSnapshotRemoteArray and GetIsSnapshotSourceSnapshotRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotSourceSnapshotRemoteArrayInput` via: +// +// GetIsSnapshotSourceSnapshotRemoteArray{ GetIsSnapshotSourceSnapshotRemoteArgs{...} } +type GetIsSnapshotSourceSnapshotRemoteArrayInput interface { + pulumi.Input + + ToGetIsSnapshotSourceSnapshotRemoteArrayOutput() GetIsSnapshotSourceSnapshotRemoteArrayOutput + ToGetIsSnapshotSourceSnapshotRemoteArrayOutputWithContext(context.Context) GetIsSnapshotSourceSnapshotRemoteArrayOutput +} + +type GetIsSnapshotSourceSnapshotRemoteArray []GetIsSnapshotSourceSnapshotRemoteInput + +func (GetIsSnapshotSourceSnapshotRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (i GetIsSnapshotSourceSnapshotRemoteArray) ToGetIsSnapshotSourceSnapshotRemoteArrayOutput() GetIsSnapshotSourceSnapshotRemoteArrayOutput { + return i.ToGetIsSnapshotSourceSnapshotRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotSourceSnapshotRemoteArray) ToGetIsSnapshotSourceSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotSourceSnapshotRemoteArrayOutput) +} + +type GetIsSnapshotSourceSnapshotRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSourceSnapshotRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (o GetIsSnapshotSourceSnapshotRemoteOutput) ToGetIsSnapshotSourceSnapshotRemoteOutput() GetIsSnapshotSourceSnapshotRemoteOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotRemoteOutput) ToGetIsSnapshotSourceSnapshotRemoteOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsSnapshotSourceSnapshotRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshotRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSnapshotSourceSnapshotRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotSourceSnapshotRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSnapshotSourceSnapshotRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotSourceSnapshotRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (o GetIsSnapshotSourceSnapshotRemoteArrayOutput) ToGetIsSnapshotSourceSnapshotRemoteArrayOutput() GetIsSnapshotSourceSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotRemoteArrayOutput) ToGetIsSnapshotSourceSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotSourceSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotSourceSnapshotRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotSourceSnapshotRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotSourceSnapshotRemote { + return vs[0].([]GetIsSnapshotSourceSnapshotRemote)[vs[1].(int)] + }).(GetIsSnapshotSourceSnapshotRemoteOutput) +} + +type GetIsSnapshotsSnapshot struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. + AllowedUses []GetIsSnapshotsSnapshotAllowedUse `pulumi:"allowedUses"` + // If present, the backup policy plan which created this snapshot. + BackupPolicyPlans []GetIsSnapshotsSnapshotBackupPolicyPlan `pulumi:"backupPolicyPlans"` + // Indicates if a boot volume attachment can be created with a volume created from this snapshot + Bootable bool `pulumi:"bootable"` + // The date and time that this snapshot was created + CapturedAt string `pulumi:"capturedAt"` + // The catalog offering inherited from the snapshot's source. If a virtual server instance is provisioned with a sourceSnapshot specifying this snapshot, the virtual server instance will use this snapshot's catalog offering, including its pricing plan. + CatalogOfferings []GetIsSnapshotsSnapshotCatalogOffering `pulumi:"catalogOfferings"` + // Zones for creating the snapshot clone + Clones []string `pulumi:"clones"` + // The copies of this snapshot in other regions. + Copies []GetIsSnapshotsSnapshotCopy `pulumi:"copies"` + // The crn of the resource + Crn string `pulumi:"crn"` + // Encryption type of the snapshot + Encryption string `pulumi:"encryption"` + // A reference to the root key used to wrap the data encryption key for the source volume. + EncryptionKey string `pulumi:"encryptionKey"` + // URL for the snapshot + Href string `pulumi:"href"` + Id string `pulumi:"id"` + // Snapshot lifecycle state + LifecycleState string `pulumi:"lifecycleState"` + // Minimum capacity of the snapshot + MinimumCapacity int `pulumi:"minimumCapacity"` + // Snapshot name + Name string `pulumi:"name"` + // The globally unique name for the operating system included in this image + OperatingSystem string `pulumi:"operatingSystem"` + // Resource group info + ResourceGroup string `pulumi:"resourceGroup"` + // The resource type of the snapshot + ResourceType string `pulumi:"resourceType"` + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) prefixed with `is.snapshot:` associated with this snapshot. + ServiceTags []string `pulumi:"serviceTags"` + // The size of the snapshot + Size int `pulumi:"size"` + // The snapshot consistency group which created this snapshot. + SnapshotConsistencyGroups []GetIsSnapshotsSnapshotSnapshotConsistencyGroup `pulumi:"snapshotConsistencyGroups"` + // If present, the image id from which the data on this volume was most directly provisioned. + SourceImage string `pulumi:"sourceImage"` + // If present, the source snapshot this snapshot was created from. + SourceSnapshots []GetIsSnapshotsSnapshotSourceSnapshot `pulumi:"sourceSnapshots"` + // Snapshot source volume + SourceVolume string `pulumi:"sourceVolume"` + // User Tags for the snapshot + Tags []string `pulumi:"tags"` +} + +// GetIsSnapshotsSnapshotInput is an input type that accepts GetIsSnapshotsSnapshotArgs and GetIsSnapshotsSnapshotOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotInput` via: +// +// GetIsSnapshotsSnapshotArgs{...} +type GetIsSnapshotsSnapshotInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotOutput() GetIsSnapshotsSnapshotOutput + ToGetIsSnapshotsSnapshotOutputWithContext(context.Context) GetIsSnapshotsSnapshotOutput +} + +type GetIsSnapshotsSnapshotArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. + AllowedUses GetIsSnapshotsSnapshotAllowedUseArrayInput `pulumi:"allowedUses"` + // If present, the backup policy plan which created this snapshot. + BackupPolicyPlans GetIsSnapshotsSnapshotBackupPolicyPlanArrayInput `pulumi:"backupPolicyPlans"` + // Indicates if a boot volume attachment can be created with a volume created from this snapshot + Bootable pulumi.BoolInput `pulumi:"bootable"` + // The date and time that this snapshot was created + CapturedAt pulumi.StringInput `pulumi:"capturedAt"` + // The catalog offering inherited from the snapshot's source. If a virtual server instance is provisioned with a sourceSnapshot specifying this snapshot, the virtual server instance will use this snapshot's catalog offering, including its pricing plan. + CatalogOfferings GetIsSnapshotsSnapshotCatalogOfferingArrayInput `pulumi:"catalogOfferings"` + // Zones for creating the snapshot clone + Clones pulumi.StringArrayInput `pulumi:"clones"` + // The copies of this snapshot in other regions. + Copies GetIsSnapshotsSnapshotCopyArrayInput `pulumi:"copies"` + // The crn of the resource + Crn pulumi.StringInput `pulumi:"crn"` + // Encryption type of the snapshot + Encryption pulumi.StringInput `pulumi:"encryption"` + // A reference to the root key used to wrap the data encryption key for the source volume. + EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"` + // URL for the snapshot + Href pulumi.StringInput `pulumi:"href"` + Id pulumi.StringInput `pulumi:"id"` + // Snapshot lifecycle state + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // Minimum capacity of the snapshot + MinimumCapacity pulumi.IntInput `pulumi:"minimumCapacity"` + // Snapshot name + Name pulumi.StringInput `pulumi:"name"` + // The globally unique name for the operating system included in this image + OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` + // Resource group info + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The resource type of the snapshot + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) prefixed with `is.snapshot:` associated with this snapshot. + ServiceTags pulumi.StringArrayInput `pulumi:"serviceTags"` + // The size of the snapshot + Size pulumi.IntInput `pulumi:"size"` + // The snapshot consistency group which created this snapshot. + SnapshotConsistencyGroups GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayInput `pulumi:"snapshotConsistencyGroups"` + // If present, the image id from which the data on this volume was most directly provisioned. + SourceImage pulumi.StringInput `pulumi:"sourceImage"` + // If present, the source snapshot this snapshot was created from. + SourceSnapshots GetIsSnapshotsSnapshotSourceSnapshotArrayInput `pulumi:"sourceSnapshots"` + // Snapshot source volume + SourceVolume pulumi.StringInput `pulumi:"sourceVolume"` + // User Tags for the snapshot + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (GetIsSnapshotsSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotArgs) ToGetIsSnapshotsSnapshotOutput() GetIsSnapshotsSnapshotOutput { + return i.ToGetIsSnapshotsSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotArgs) ToGetIsSnapshotsSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotOutput) +} + +// GetIsSnapshotsSnapshotArrayInput is an input type that accepts GetIsSnapshotsSnapshotArray and GetIsSnapshotsSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotArrayInput` via: +// +// GetIsSnapshotsSnapshotArray{ GetIsSnapshotsSnapshotArgs{...} } +type GetIsSnapshotsSnapshotArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotArrayOutput() GetIsSnapshotsSnapshotArrayOutput + ToGetIsSnapshotsSnapshotArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotArrayOutput +} + +type GetIsSnapshotsSnapshotArray []GetIsSnapshotsSnapshotInput + +func (GetIsSnapshotsSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotArray) ToGetIsSnapshotsSnapshotArrayOutput() GetIsSnapshotsSnapshotArrayOutput { + return i.ToGetIsSnapshotsSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotArray) ToGetIsSnapshotsSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotArrayOutput) +} + +type GetIsSnapshotsSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotOutput) ToGetIsSnapshotsSnapshotOutput() GetIsSnapshotsSnapshotOutput { + return o +} + +func (o GetIsSnapshotsSnapshotOutput) ToGetIsSnapshotsSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotOutput { + return o +} + +// List of access tags +func (o GetIsSnapshotsSnapshotOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The usage constraints to match against the requested instance or bare metal server properties to determine compatibility. Can only be specified for bootable snapshots. +func (o GetIsSnapshotsSnapshotOutput) AllowedUses() GetIsSnapshotsSnapshotAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []GetIsSnapshotsSnapshotAllowedUse { return v.AllowedUses }).(GetIsSnapshotsSnapshotAllowedUseArrayOutput) +} + +// If present, the backup policy plan which created this snapshot. +func (o GetIsSnapshotsSnapshotOutput) BackupPolicyPlans() GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []GetIsSnapshotsSnapshotBackupPolicyPlan { return v.BackupPolicyPlans }).(GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput) +} + +// Indicates if a boot volume attachment can be created with a volume created from this snapshot +func (o GetIsSnapshotsSnapshotOutput) Bootable() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) bool { return v.Bootable }).(pulumi.BoolOutput) +} + +// The date and time that this snapshot was created +func (o GetIsSnapshotsSnapshotOutput) CapturedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.CapturedAt }).(pulumi.StringOutput) +} + +// The catalog offering inherited from the snapshot's source. If a virtual server instance is provisioned with a sourceSnapshot specifying this snapshot, the virtual server instance will use this snapshot's catalog offering, including its pricing plan. +func (o GetIsSnapshotsSnapshotOutput) CatalogOfferings() GetIsSnapshotsSnapshotCatalogOfferingArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []GetIsSnapshotsSnapshotCatalogOffering { return v.CatalogOfferings }).(GetIsSnapshotsSnapshotCatalogOfferingArrayOutput) +} + +// Zones for creating the snapshot clone +func (o GetIsSnapshotsSnapshotOutput) Clones() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []string { return v.Clones }).(pulumi.StringArrayOutput) +} + +// The copies of this snapshot in other regions. +func (o GetIsSnapshotsSnapshotOutput) Copies() GetIsSnapshotsSnapshotCopyArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []GetIsSnapshotsSnapshotCopy { return v.Copies }).(GetIsSnapshotsSnapshotCopyArrayOutput) +} + +// The crn of the resource +func (o GetIsSnapshotsSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// Encryption type of the snapshot +func (o GetIsSnapshotsSnapshotOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.Encryption }).(pulumi.StringOutput) +} + +// A reference to the root key used to wrap the data encryption key for the source volume. +func (o GetIsSnapshotsSnapshotOutput) EncryptionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.EncryptionKey }).(pulumi.StringOutput) +} + +// URL for the snapshot +func (o GetIsSnapshotsSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsSnapshotsSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// Snapshot lifecycle state +func (o GetIsSnapshotsSnapshotOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Minimum capacity of the snapshot +func (o GetIsSnapshotsSnapshotOutput) MinimumCapacity() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) int { return v.MinimumCapacity }).(pulumi.IntOutput) +} + +// Snapshot name +func (o GetIsSnapshotsSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// The globally unique name for the operating system included in this image +func (o GetIsSnapshotsSnapshotOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.OperatingSystem }).(pulumi.StringOutput) +} + +// Resource group info +func (o GetIsSnapshotsSnapshotOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type of the snapshot +func (o GetIsSnapshotsSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The [service tags](https://cloud.ibm.com/apidocs/tagging#types-of-tags) prefixed with `is.snapshot:` associated with this snapshot. +func (o GetIsSnapshotsSnapshotOutput) ServiceTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []string { return v.ServiceTags }).(pulumi.StringArrayOutput) +} + +// The size of the snapshot +func (o GetIsSnapshotsSnapshotOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) int { return v.Size }).(pulumi.IntOutput) +} + +// The snapshot consistency group which created this snapshot. +func (o GetIsSnapshotsSnapshotOutput) SnapshotConsistencyGroups() GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []GetIsSnapshotsSnapshotSnapshotConsistencyGroup { + return v.SnapshotConsistencyGroups + }).(GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput) +} + +// If present, the image id from which the data on this volume was most directly provisioned. +func (o GetIsSnapshotsSnapshotOutput) SourceImage() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.SourceImage }).(pulumi.StringOutput) +} + +// If present, the source snapshot this snapshot was created from. +func (o GetIsSnapshotsSnapshotOutput) SourceSnapshots() GetIsSnapshotsSnapshotSourceSnapshotArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []GetIsSnapshotsSnapshotSourceSnapshot { return v.SourceSnapshots }).(GetIsSnapshotsSnapshotSourceSnapshotArrayOutput) +} + +// Snapshot source volume +func (o GetIsSnapshotsSnapshotOutput) SourceVolume() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) string { return v.SourceVolume }).(pulumi.StringOutput) +} + +// User Tags for the snapshot +func (o GetIsSnapshotsSnapshotOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshot) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type GetIsSnapshotsSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotArrayOutput) ToGetIsSnapshotsSnapshotArrayOutput() GetIsSnapshotsSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotArrayOutput) ToGetIsSnapshotsSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshot { + return vs[0].([]GetIsSnapshotsSnapshot)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotOutput) +} + +type GetIsSnapshotsSnapshotAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. + Instance string `pulumi:"instance"` +} + +// GetIsSnapshotsSnapshotAllowedUseInput is an input type that accepts GetIsSnapshotsSnapshotAllowedUseArgs and GetIsSnapshotsSnapshotAllowedUseOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotAllowedUseInput` via: +// +// GetIsSnapshotsSnapshotAllowedUseArgs{...} +type GetIsSnapshotsSnapshotAllowedUseInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotAllowedUseOutput() GetIsSnapshotsSnapshotAllowedUseOutput + ToGetIsSnapshotsSnapshotAllowedUseOutputWithContext(context.Context) GetIsSnapshotsSnapshotAllowedUseOutput +} + +type GetIsSnapshotsSnapshotAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsSnapshotsSnapshotAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotAllowedUse)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotAllowedUseArgs) ToGetIsSnapshotsSnapshotAllowedUseOutput() GetIsSnapshotsSnapshotAllowedUseOutput { + return i.ToGetIsSnapshotsSnapshotAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotAllowedUseArgs) ToGetIsSnapshotsSnapshotAllowedUseOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotAllowedUseOutput) +} + +// GetIsSnapshotsSnapshotAllowedUseArrayInput is an input type that accepts GetIsSnapshotsSnapshotAllowedUseArray and GetIsSnapshotsSnapshotAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotAllowedUseArrayInput` via: +// +// GetIsSnapshotsSnapshotAllowedUseArray{ GetIsSnapshotsSnapshotAllowedUseArgs{...} } +type GetIsSnapshotsSnapshotAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotAllowedUseArrayOutput() GetIsSnapshotsSnapshotAllowedUseArrayOutput + ToGetIsSnapshotsSnapshotAllowedUseArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotAllowedUseArrayOutput +} + +type GetIsSnapshotsSnapshotAllowedUseArray []GetIsSnapshotsSnapshotAllowedUseInput + +func (GetIsSnapshotsSnapshotAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotAllowedUse)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotAllowedUseArray) ToGetIsSnapshotsSnapshotAllowedUseArrayOutput() GetIsSnapshotsSnapshotAllowedUseArrayOutput { + return i.ToGetIsSnapshotsSnapshotAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotAllowedUseArray) ToGetIsSnapshotsSnapshotAllowedUseArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotAllowedUseArrayOutput) +} + +type GetIsSnapshotsSnapshotAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotAllowedUse)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotAllowedUseOutput) ToGetIsSnapshotsSnapshotAllowedUseOutput() GetIsSnapshotsSnapshotAllowedUseOutput { + return o +} + +func (o GetIsSnapshotsSnapshotAllowedUseOutput) ToGetIsSnapshotsSnapshotAllowedUseOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsSnapshotsSnapshotAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this snapshot. +func (o GetIsSnapshotsSnapshotAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this snapshot. +func (o GetIsSnapshotsSnapshotAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotAllowedUse)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotAllowedUseArrayOutput) ToGetIsSnapshotsSnapshotAllowedUseArrayOutput() GetIsSnapshotsSnapshotAllowedUseArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotAllowedUseArrayOutput) ToGetIsSnapshotsSnapshotAllowedUseArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotAllowedUseArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotAllowedUse { + return vs[0].([]GetIsSnapshotsSnapshotAllowedUse)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotAllowedUseOutput) +} + +type GetIsSnapshotsSnapshotBackupPolicyPlan struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsSnapshotsSnapshotBackupPolicyPlanDeleted `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href string `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id string `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name string `pulumi:"name"` + // The type of resource referenced + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotsSnapshotBackupPolicyPlanInput is an input type that accepts GetIsSnapshotsSnapshotBackupPolicyPlanArgs and GetIsSnapshotsSnapshotBackupPolicyPlanOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotBackupPolicyPlanInput` via: +// +// GetIsSnapshotsSnapshotBackupPolicyPlanArgs{...} +type GetIsSnapshotsSnapshotBackupPolicyPlanInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotBackupPolicyPlanOutput() GetIsSnapshotsSnapshotBackupPolicyPlanOutput + ToGetIsSnapshotsSnapshotBackupPolicyPlanOutputWithContext(context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanOutput +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput `pulumi:"deleteds"` + // The URL for this backup policy plan. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this backup policy plan. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this backup policy plan. + Name pulumi.StringInput `pulumi:"name"` + // The type of resource referenced + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotsSnapshotBackupPolicyPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotBackupPolicyPlanArgs) ToGetIsSnapshotsSnapshotBackupPolicyPlanOutput() GetIsSnapshotsSnapshotBackupPolicyPlanOutput { + return i.ToGetIsSnapshotsSnapshotBackupPolicyPlanOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotBackupPolicyPlanArgs) ToGetIsSnapshotsSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotBackupPolicyPlanOutput) +} + +// GetIsSnapshotsSnapshotBackupPolicyPlanArrayInput is an input type that accepts GetIsSnapshotsSnapshotBackupPolicyPlanArray and GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotBackupPolicyPlanArrayInput` via: +// +// GetIsSnapshotsSnapshotBackupPolicyPlanArray{ GetIsSnapshotsSnapshotBackupPolicyPlanArgs{...} } +type GetIsSnapshotsSnapshotBackupPolicyPlanArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput() GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput + ToGetIsSnapshotsSnapshotBackupPolicyPlanArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanArray []GetIsSnapshotsSnapshotBackupPolicyPlanInput + +func (GetIsSnapshotsSnapshotBackupPolicyPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotBackupPolicyPlanArray) ToGetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput() GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return i.ToGetIsSnapshotsSnapshotBackupPolicyPlanArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotBackupPolicyPlanArray) ToGetIsSnapshotsSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput) +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotBackupPolicyPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanOutput) ToGetIsSnapshotsSnapshotBackupPolicyPlanOutput() GetIsSnapshotsSnapshotBackupPolicyPlanOutput { + return o +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanOutput) ToGetIsSnapshotsSnapshotBackupPolicyPlanOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsSnapshotsSnapshotBackupPolicyPlanOutput) Deleteds() GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotBackupPolicyPlan) []GetIsSnapshotsSnapshotBackupPolicyPlanDeleted { + return v.Deleteds + }).(GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +// The URL for this backup policy plan. +func (o GetIsSnapshotsSnapshotBackupPolicyPlanOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotBackupPolicyPlan) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this backup policy plan. +func (o GetIsSnapshotsSnapshotBackupPolicyPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotBackupPolicyPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this backup policy plan. +func (o GetIsSnapshotsSnapshotBackupPolicyPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotBackupPolicyPlan) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of resource referenced +func (o GetIsSnapshotsSnapshotBackupPolicyPlanOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotBackupPolicyPlan) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotBackupPolicyPlan)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput) ToGetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput() GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput) ToGetIsSnapshotsSnapshotBackupPolicyPlanArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotBackupPolicyPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotBackupPolicyPlan { + return vs[0].([]GetIsSnapshotsSnapshotBackupPolicyPlan)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotBackupPolicyPlanOutput) +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotsSnapshotBackupPolicyPlanDeletedInput is an input type that accepts GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArgs and GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotBackupPolicyPlanDeletedInput` via: +// +// GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArgs{...} +type GetIsSnapshotsSnapshotBackupPolicyPlanDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput() GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput + ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArgs) ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput() GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return i.ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArgs) ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput) +} + +// GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput is an input type that accepts GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArray and GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput` via: +// +// GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArray{ GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArgs{...} } +type GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput + ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArray []GetIsSnapshotsSnapshotBackupPolicyPlanDeletedInput + +func (GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArray) ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return i.ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArray) ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput) ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput() GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput) ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotBackupPolicyPlanDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotBackupPolicyPlanDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput() GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) ToGetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotBackupPolicyPlanDeleted { + return vs[0].([]GetIsSnapshotsSnapshotBackupPolicyPlanDeleted)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput) +} + +type GetIsSnapshotsSnapshotCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsSnapshotsSnapshotCatalogOfferingDeleted `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn string `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn string `pulumi:"versionCrn"` +} + +// GetIsSnapshotsSnapshotCatalogOfferingInput is an input type that accepts GetIsSnapshotsSnapshotCatalogOfferingArgs and GetIsSnapshotsSnapshotCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCatalogOfferingInput` via: +// +// GetIsSnapshotsSnapshotCatalogOfferingArgs{...} +type GetIsSnapshotsSnapshotCatalogOfferingInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCatalogOfferingOutput() GetIsSnapshotsSnapshotCatalogOfferingOutput + ToGetIsSnapshotsSnapshotCatalogOfferingOutputWithContext(context.Context) GetIsSnapshotsSnapshotCatalogOfferingOutput +} + +type GetIsSnapshotsSnapshotCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringInput `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn pulumi.StringInput `pulumi:"versionCrn"` +} + +func (GetIsSnapshotsSnapshotCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCatalogOffering)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCatalogOfferingArgs) ToGetIsSnapshotsSnapshotCatalogOfferingOutput() GetIsSnapshotsSnapshotCatalogOfferingOutput { + return i.ToGetIsSnapshotsSnapshotCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCatalogOfferingArgs) ToGetIsSnapshotsSnapshotCatalogOfferingOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCatalogOfferingOutput) +} + +// GetIsSnapshotsSnapshotCatalogOfferingArrayInput is an input type that accepts GetIsSnapshotsSnapshotCatalogOfferingArray and GetIsSnapshotsSnapshotCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCatalogOfferingArrayInput` via: +// +// GetIsSnapshotsSnapshotCatalogOfferingArray{ GetIsSnapshotsSnapshotCatalogOfferingArgs{...} } +type GetIsSnapshotsSnapshotCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCatalogOfferingArrayOutput() GetIsSnapshotsSnapshotCatalogOfferingArrayOutput + ToGetIsSnapshotsSnapshotCatalogOfferingArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotCatalogOfferingArrayOutput +} + +type GetIsSnapshotsSnapshotCatalogOfferingArray []GetIsSnapshotsSnapshotCatalogOfferingInput + +func (GetIsSnapshotsSnapshotCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCatalogOffering)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCatalogOfferingArray) ToGetIsSnapshotsSnapshotCatalogOfferingArrayOutput() GetIsSnapshotsSnapshotCatalogOfferingArrayOutput { + return i.ToGetIsSnapshotsSnapshotCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCatalogOfferingArray) ToGetIsSnapshotsSnapshotCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCatalogOfferingArrayOutput) +} + +type GetIsSnapshotsSnapshotCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCatalogOffering)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingOutput) ToGetIsSnapshotsSnapshotCatalogOfferingOutput() GetIsSnapshotsSnapshotCatalogOfferingOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingOutput) ToGetIsSnapshotsSnapshotCatalogOfferingOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCatalogOfferingOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsSnapshotsSnapshotCatalogOfferingOutput) Deleteds() GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCatalogOffering) []GetIsSnapshotsSnapshotCatalogOfferingDeleted { + return v.Deleteds + }).(GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o GetIsSnapshotsSnapshotCatalogOfferingOutput) PlanCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCatalogOffering) string { return v.PlanCrn }).(pulumi.StringOutput) +} + +// The CRN for this version of a catalog offering +func (o GetIsSnapshotsSnapshotCatalogOfferingOutput) VersionCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCatalogOffering) string { return v.VersionCrn }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCatalogOffering)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingArrayOutput) ToGetIsSnapshotsSnapshotCatalogOfferingArrayOutput() GetIsSnapshotsSnapshotCatalogOfferingArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingArrayOutput) ToGetIsSnapshotsSnapshotCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCatalogOfferingArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotCatalogOffering { + return vs[0].([]GetIsSnapshotsSnapshotCatalogOffering)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotCatalogOfferingOutput) +} + +type GetIsSnapshotsSnapshotCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotsSnapshotCatalogOfferingDeletedInput is an input type that accepts GetIsSnapshotsSnapshotCatalogOfferingDeletedArgs and GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCatalogOfferingDeletedInput` via: +// +// GetIsSnapshotsSnapshotCatalogOfferingDeletedArgs{...} +type GetIsSnapshotsSnapshotCatalogOfferingDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCatalogOfferingDeletedOutput() GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput + ToGetIsSnapshotsSnapshotCatalogOfferingDeletedOutputWithContext(context.Context) GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput +} + +type GetIsSnapshotsSnapshotCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotsSnapshotCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCatalogOfferingDeletedArgs) ToGetIsSnapshotsSnapshotCatalogOfferingDeletedOutput() GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput { + return i.ToGetIsSnapshotsSnapshotCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCatalogOfferingDeletedArgs) ToGetIsSnapshotsSnapshotCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput) +} + +// GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayInput is an input type that accepts GetIsSnapshotsSnapshotCatalogOfferingDeletedArray and GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayInput` via: +// +// GetIsSnapshotsSnapshotCatalogOfferingDeletedArray{ GetIsSnapshotsSnapshotCatalogOfferingDeletedArgs{...} } +type GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput() GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput + ToGetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput +} + +type GetIsSnapshotsSnapshotCatalogOfferingDeletedArray []GetIsSnapshotsSnapshotCatalogOfferingDeletedInput + +func (GetIsSnapshotsSnapshotCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCatalogOfferingDeletedArray) ToGetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput() GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput { + return i.ToGetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCatalogOfferingDeletedArray) ToGetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput) +} + +type GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput) ToGetIsSnapshotsSnapshotCatalogOfferingDeletedOutput() GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput) ToGetIsSnapshotsSnapshotCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCatalogOfferingDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput) ToGetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput() GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput) ToGetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotCatalogOfferingDeleted { + return vs[0].([]GetIsSnapshotsSnapshotCatalogOfferingDeleted)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput) +} + +type GetIsSnapshotsSnapshotCopy struct { + // The CRN for the copied snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotsSnapshotCopyDeleted `pulumi:"deleteds"` + // The URL for the copied snapshot. + Href string `pulumi:"href"` + // The unique identifier for the copied snapshot. + Id string `pulumi:"id"` + // The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. + Name string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []GetIsSnapshotsSnapshotCopyRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotsSnapshotCopyInput is an input type that accepts GetIsSnapshotsSnapshotCopyArgs and GetIsSnapshotsSnapshotCopyOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCopyInput` via: +// +// GetIsSnapshotsSnapshotCopyArgs{...} +type GetIsSnapshotsSnapshotCopyInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCopyOutput() GetIsSnapshotsSnapshotCopyOutput + ToGetIsSnapshotsSnapshotCopyOutputWithContext(context.Context) GetIsSnapshotsSnapshotCopyOutput +} + +type GetIsSnapshotsSnapshotCopyArgs struct { + // The CRN for the copied snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotsSnapshotCopyDeletedArrayInput `pulumi:"deleteds"` + // The URL for the copied snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for the copied snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes GetIsSnapshotsSnapshotCopyRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotsSnapshotCopyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCopy)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCopyArgs) ToGetIsSnapshotsSnapshotCopyOutput() GetIsSnapshotsSnapshotCopyOutput { + return i.ToGetIsSnapshotsSnapshotCopyOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCopyArgs) ToGetIsSnapshotsSnapshotCopyOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCopyOutput) +} + +// GetIsSnapshotsSnapshotCopyArrayInput is an input type that accepts GetIsSnapshotsSnapshotCopyArray and GetIsSnapshotsSnapshotCopyArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCopyArrayInput` via: +// +// GetIsSnapshotsSnapshotCopyArray{ GetIsSnapshotsSnapshotCopyArgs{...} } +type GetIsSnapshotsSnapshotCopyArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCopyArrayOutput() GetIsSnapshotsSnapshotCopyArrayOutput + ToGetIsSnapshotsSnapshotCopyArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotCopyArrayOutput +} + +type GetIsSnapshotsSnapshotCopyArray []GetIsSnapshotsSnapshotCopyInput + +func (GetIsSnapshotsSnapshotCopyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCopy)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCopyArray) ToGetIsSnapshotsSnapshotCopyArrayOutput() GetIsSnapshotsSnapshotCopyArrayOutput { + return i.ToGetIsSnapshotsSnapshotCopyArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCopyArray) ToGetIsSnapshotsSnapshotCopyArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCopyArrayOutput) +} + +type GetIsSnapshotsSnapshotCopyOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCopyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCopy)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCopyOutput) ToGetIsSnapshotsSnapshotCopyOutput() GetIsSnapshotsSnapshotCopyOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyOutput) ToGetIsSnapshotsSnapshotCopyOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyOutput { + return o +} + +// The CRN for the copied snapshot. +func (o GetIsSnapshotsSnapshotCopyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopy) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotsSnapshotCopyOutput) Deleteds() GetIsSnapshotsSnapshotCopyDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopy) []GetIsSnapshotsSnapshotCopyDeleted { return v.Deleteds }).(GetIsSnapshotsSnapshotCopyDeletedArrayOutput) +} + +// The URL for the copied snapshot. +func (o GetIsSnapshotsSnapshotCopyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopy) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for the copied snapshot. +func (o GetIsSnapshotsSnapshotCopyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopy) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for the copied snapshot. The name is unique across all snapshots in the copied snapshot's native region. +func (o GetIsSnapshotsSnapshotCopyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopy) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o GetIsSnapshotsSnapshotCopyOutput) Remotes() GetIsSnapshotsSnapshotCopyRemoteArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopy) []GetIsSnapshotsSnapshotCopyRemote { return v.Remotes }).(GetIsSnapshotsSnapshotCopyRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSnapshotsSnapshotCopyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopy) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotCopyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCopyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCopy)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCopyArrayOutput) ToGetIsSnapshotsSnapshotCopyArrayOutput() GetIsSnapshotsSnapshotCopyArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyArrayOutput) ToGetIsSnapshotsSnapshotCopyArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotCopyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotCopy { + return vs[0].([]GetIsSnapshotsSnapshotCopy)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotCopyOutput) +} + +type GetIsSnapshotsSnapshotCopyDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotsSnapshotCopyDeletedInput is an input type that accepts GetIsSnapshotsSnapshotCopyDeletedArgs and GetIsSnapshotsSnapshotCopyDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCopyDeletedInput` via: +// +// GetIsSnapshotsSnapshotCopyDeletedArgs{...} +type GetIsSnapshotsSnapshotCopyDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCopyDeletedOutput() GetIsSnapshotsSnapshotCopyDeletedOutput + ToGetIsSnapshotsSnapshotCopyDeletedOutputWithContext(context.Context) GetIsSnapshotsSnapshotCopyDeletedOutput +} + +type GetIsSnapshotsSnapshotCopyDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotsSnapshotCopyDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCopyDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCopyDeletedArgs) ToGetIsSnapshotsSnapshotCopyDeletedOutput() GetIsSnapshotsSnapshotCopyDeletedOutput { + return i.ToGetIsSnapshotsSnapshotCopyDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCopyDeletedArgs) ToGetIsSnapshotsSnapshotCopyDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCopyDeletedOutput) +} + +// GetIsSnapshotsSnapshotCopyDeletedArrayInput is an input type that accepts GetIsSnapshotsSnapshotCopyDeletedArray and GetIsSnapshotsSnapshotCopyDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCopyDeletedArrayInput` via: +// +// GetIsSnapshotsSnapshotCopyDeletedArray{ GetIsSnapshotsSnapshotCopyDeletedArgs{...} } +type GetIsSnapshotsSnapshotCopyDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCopyDeletedArrayOutput() GetIsSnapshotsSnapshotCopyDeletedArrayOutput + ToGetIsSnapshotsSnapshotCopyDeletedArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotCopyDeletedArrayOutput +} + +type GetIsSnapshotsSnapshotCopyDeletedArray []GetIsSnapshotsSnapshotCopyDeletedInput + +func (GetIsSnapshotsSnapshotCopyDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCopyDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCopyDeletedArray) ToGetIsSnapshotsSnapshotCopyDeletedArrayOutput() GetIsSnapshotsSnapshotCopyDeletedArrayOutput { + return i.ToGetIsSnapshotsSnapshotCopyDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCopyDeletedArray) ToGetIsSnapshotsSnapshotCopyDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCopyDeletedArrayOutput) +} + +type GetIsSnapshotsSnapshotCopyDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCopyDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCopyDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCopyDeletedOutput) ToGetIsSnapshotsSnapshotCopyDeletedOutput() GetIsSnapshotsSnapshotCopyDeletedOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyDeletedOutput) ToGetIsSnapshotsSnapshotCopyDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotsSnapshotCopyDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopyDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotCopyDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCopyDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCopyDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCopyDeletedArrayOutput) ToGetIsSnapshotsSnapshotCopyDeletedArrayOutput() GetIsSnapshotsSnapshotCopyDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyDeletedArrayOutput) ToGetIsSnapshotsSnapshotCopyDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotCopyDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotCopyDeleted { + return vs[0].([]GetIsSnapshotsSnapshotCopyDeleted)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotCopyDeletedOutput) +} + +type GetIsSnapshotsSnapshotCopyRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSnapshotsSnapshotCopyRemoteInput is an input type that accepts GetIsSnapshotsSnapshotCopyRemoteArgs and GetIsSnapshotsSnapshotCopyRemoteOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCopyRemoteInput` via: +// +// GetIsSnapshotsSnapshotCopyRemoteArgs{...} +type GetIsSnapshotsSnapshotCopyRemoteInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCopyRemoteOutput() GetIsSnapshotsSnapshotCopyRemoteOutput + ToGetIsSnapshotsSnapshotCopyRemoteOutputWithContext(context.Context) GetIsSnapshotsSnapshotCopyRemoteOutput +} + +type GetIsSnapshotsSnapshotCopyRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotsSnapshotCopyRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCopyRemote)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCopyRemoteArgs) ToGetIsSnapshotsSnapshotCopyRemoteOutput() GetIsSnapshotsSnapshotCopyRemoteOutput { + return i.ToGetIsSnapshotsSnapshotCopyRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCopyRemoteArgs) ToGetIsSnapshotsSnapshotCopyRemoteOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCopyRemoteOutput) +} + +// GetIsSnapshotsSnapshotCopyRemoteArrayInput is an input type that accepts GetIsSnapshotsSnapshotCopyRemoteArray and GetIsSnapshotsSnapshotCopyRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotCopyRemoteArrayInput` via: +// +// GetIsSnapshotsSnapshotCopyRemoteArray{ GetIsSnapshotsSnapshotCopyRemoteArgs{...} } +type GetIsSnapshotsSnapshotCopyRemoteArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotCopyRemoteArrayOutput() GetIsSnapshotsSnapshotCopyRemoteArrayOutput + ToGetIsSnapshotsSnapshotCopyRemoteArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotCopyRemoteArrayOutput +} + +type GetIsSnapshotsSnapshotCopyRemoteArray []GetIsSnapshotsSnapshotCopyRemoteInput + +func (GetIsSnapshotsSnapshotCopyRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCopyRemote)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotCopyRemoteArray) ToGetIsSnapshotsSnapshotCopyRemoteArrayOutput() GetIsSnapshotsSnapshotCopyRemoteArrayOutput { + return i.ToGetIsSnapshotsSnapshotCopyRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotCopyRemoteArray) ToGetIsSnapshotsSnapshotCopyRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotCopyRemoteArrayOutput) +} + +type GetIsSnapshotsSnapshotCopyRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCopyRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotCopyRemote)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCopyRemoteOutput) ToGetIsSnapshotsSnapshotCopyRemoteOutput() GetIsSnapshotsSnapshotCopyRemoteOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyRemoteOutput) ToGetIsSnapshotsSnapshotCopyRemoteOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsSnapshotsSnapshotCopyRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopyRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSnapshotsSnapshotCopyRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotCopyRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotCopyRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotCopyRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotCopyRemote)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotCopyRemoteArrayOutput) ToGetIsSnapshotsSnapshotCopyRemoteArrayOutput() GetIsSnapshotsSnapshotCopyRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyRemoteArrayOutput) ToGetIsSnapshotsSnapshotCopyRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotCopyRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotCopyRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotCopyRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotCopyRemote { + return vs[0].([]GetIsSnapshotsSnapshotCopyRemote)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotCopyRemoteOutput) +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroup struct { + // The CRN of this snapshot consistency group. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted `pulumi:"deleteds"` + // The URL for the snapshot consistency group. + Href string `pulumi:"href"` + // The unique identifier for the snapshot consistency group. + Id string `pulumi:"id"` + // The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotsSnapshotSnapshotConsistencyGroupInput is an input type that accepts GetIsSnapshotsSnapshotSnapshotConsistencyGroupArgs and GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSnapshotConsistencyGroupInput` via: +// +// GetIsSnapshotsSnapshotSnapshotConsistencyGroupArgs{...} +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput + ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupOutputWithContext(context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupArgs struct { + // The CRN of this snapshot consistency group. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayInput `pulumi:"deleteds"` + // The URL for the snapshot consistency group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for the snapshot consistency group. + Id pulumi.StringInput `pulumi:"id"` + // The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotsSnapshotSnapshotConsistencyGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSnapshotConsistencyGroupArgs) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput { + return i.ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSnapshotConsistencyGroupArgs) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) +} + +// GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayInput is an input type that accepts GetIsSnapshotsSnapshotSnapshotConsistencyGroupArray and GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayInput` via: +// +// GetIsSnapshotsSnapshotSnapshotConsistencyGroupArray{ GetIsSnapshotsSnapshotSnapshotConsistencyGroupArgs{...} } +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput + ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupArray []GetIsSnapshotsSnapshotSnapshotConsistencyGroupInput + +func (GetIsSnapshotsSnapshotSnapshotConsistencyGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSnapshotConsistencyGroupArray) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput { + return i.ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSnapshotConsistencyGroupArray) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput) +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput { + return o +} + +// The CRN of this snapshot consistency group. +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSnapshotConsistencyGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) Deleteds() GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSnapshotConsistencyGroup) []GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted { + return v.Deleteds + }).(GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) +} + +// The URL for the snapshot consistency group. +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSnapshotConsistencyGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for the snapshot consistency group. +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSnapshotConsistencyGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for the snapshot consistency group. The name is unique across all snapshot consistency groups in the region. +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSnapshotConsistencyGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSnapshotConsistencyGroup) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSnapshotConsistencyGroup)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotSnapshotConsistencyGroup { + return vs[0].([]GetIsSnapshotsSnapshotSnapshotConsistencyGroup)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput) +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedInput is an input type that accepts GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArgs and GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedInput` via: +// +// GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArgs{...} +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput + ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArgs) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput { + return i.ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArgs) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput) +} + +// GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayInput is an input type that accepts GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArray and GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayInput` via: +// +// GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArray{ GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArgs{...} } +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput + ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArray []GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedInput + +func (GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArray) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return i.ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArray) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput() GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) ToGetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted { + return vs[0].([]GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeleted)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshot struct { + // The CRN of the source snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSnapshotsSnapshotSourceSnapshotDeleted `pulumi:"deleteds"` + // The URL for the source snapshot. + Href string `pulumi:"href"` + // The unique identifier for the source snapshot. + Id string `pulumi:"id"` + // The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. + Name string `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes []GetIsSnapshotsSnapshotSourceSnapshotRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSnapshotsSnapshotSourceSnapshotInput is an input type that accepts GetIsSnapshotsSnapshotSourceSnapshotArgs and GetIsSnapshotsSnapshotSourceSnapshotOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSourceSnapshotInput` via: +// +// GetIsSnapshotsSnapshotSourceSnapshotArgs{...} +type GetIsSnapshotsSnapshotSourceSnapshotInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSourceSnapshotOutput() GetIsSnapshotsSnapshotSourceSnapshotOutput + ToGetIsSnapshotsSnapshotSourceSnapshotOutputWithContext(context.Context) GetIsSnapshotsSnapshotSourceSnapshotOutput +} + +type GetIsSnapshotsSnapshotSourceSnapshotArgs struct { + // The CRN of the source snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for the source snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for the source snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates the referenced resource is remote to this region,and identifies the native region. + Remotes GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSnapshotsSnapshotSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotArgs) ToGetIsSnapshotsSnapshotSourceSnapshotOutput() GetIsSnapshotsSnapshotSourceSnapshotOutput { + return i.ToGetIsSnapshotsSnapshotSourceSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotArgs) ToGetIsSnapshotsSnapshotSourceSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSourceSnapshotOutput) +} + +// GetIsSnapshotsSnapshotSourceSnapshotArrayInput is an input type that accepts GetIsSnapshotsSnapshotSourceSnapshotArray and GetIsSnapshotsSnapshotSourceSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSourceSnapshotArrayInput` via: +// +// GetIsSnapshotsSnapshotSourceSnapshotArray{ GetIsSnapshotsSnapshotSourceSnapshotArgs{...} } +type GetIsSnapshotsSnapshotSourceSnapshotArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSourceSnapshotArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotArrayOutput + ToGetIsSnapshotsSnapshotSourceSnapshotArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotSourceSnapshotArrayOutput +} + +type GetIsSnapshotsSnapshotSourceSnapshotArray []GetIsSnapshotsSnapshotSourceSnapshotInput + +func (GetIsSnapshotsSnapshotSourceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotArray) ToGetIsSnapshotsSnapshotSourceSnapshotArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotArrayOutput { + return i.ToGetIsSnapshotsSnapshotSourceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotArray) ToGetIsSnapshotsSnapshotSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSourceSnapshotArrayOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) ToGetIsSnapshotsSnapshotSourceSnapshotOutput() GetIsSnapshotsSnapshotSourceSnapshotOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) ToGetIsSnapshotsSnapshotSourceSnapshotOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotOutput { + return o +} + +// The CRN of the source snapshot. +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) Deleteds() GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshot) []GetIsSnapshotsSnapshotSourceSnapshotDeleted { + return v.Deleteds + }).(GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput) +} + +// The URL for the source snapshot. +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for the source snapshot. +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for the source snapshot. The name is unique across all snapshots in the source snapshot's native region. +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource is remote to this region,and identifies the native region. +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) Remotes() GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshot) []GetIsSnapshotsSnapshotSourceSnapshotRemote { + return v.Remotes + }).(GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput) +} + +// The resource type. +func (o GetIsSnapshotsSnapshotSourceSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSourceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSourceSnapshot)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotArrayOutput) ToGetIsSnapshotsSnapshotSourceSnapshotArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotArrayOutput) ToGetIsSnapshotsSnapshotSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotSourceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotSourceSnapshot { + return vs[0].([]GetIsSnapshotsSnapshotSourceSnapshot)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotSourceSnapshotOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSnapshotsSnapshotSourceSnapshotDeletedInput is an input type that accepts GetIsSnapshotsSnapshotSourceSnapshotDeletedArgs and GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSourceSnapshotDeletedInput` via: +// +// GetIsSnapshotsSnapshotSourceSnapshotDeletedArgs{...} +type GetIsSnapshotsSnapshotSourceSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSourceSnapshotDeletedOutput() GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput + ToGetIsSnapshotsSnapshotSourceSnapshotDeletedOutputWithContext(context.Context) GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput +} + +type GetIsSnapshotsSnapshotSourceSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSnapshotsSnapshotSourceSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotDeletedArgs) ToGetIsSnapshotsSnapshotSourceSnapshotDeletedOutput() GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput { + return i.ToGetIsSnapshotsSnapshotSourceSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotDeletedArgs) ToGetIsSnapshotsSnapshotSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput) +} + +// GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayInput is an input type that accepts GetIsSnapshotsSnapshotSourceSnapshotDeletedArray and GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayInput` via: +// +// GetIsSnapshotsSnapshotSourceSnapshotDeletedArray{ GetIsSnapshotsSnapshotSourceSnapshotDeletedArgs{...} } +type GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput + ToGetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput +} + +type GetIsSnapshotsSnapshotSourceSnapshotDeletedArray []GetIsSnapshotsSnapshotSourceSnapshotDeletedInput + +func (GetIsSnapshotsSnapshotSourceSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotDeletedArray) ToGetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput { + return i.ToGetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotDeletedArray) ToGetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput) ToGetIsSnapshotsSnapshotSourceSnapshotDeletedOutput() GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput) ToGetIsSnapshotsSnapshotSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshotDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput) ToGetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput) ToGetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotSourceSnapshotDeleted { + return vs[0].([]GetIsSnapshotsSnapshotSourceSnapshotDeleted)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshotRemote struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsSnapshotsSnapshotSourceSnapshotRemoteInput is an input type that accepts GetIsSnapshotsSnapshotSourceSnapshotRemoteArgs and GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSourceSnapshotRemoteInput` via: +// +// GetIsSnapshotsSnapshotSourceSnapshotRemoteArgs{...} +type GetIsSnapshotsSnapshotSourceSnapshotRemoteInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSourceSnapshotRemoteOutput() GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput + ToGetIsSnapshotsSnapshotSourceSnapshotRemoteOutputWithContext(context.Context) GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput +} + +type GetIsSnapshotsSnapshotSourceSnapshotRemoteArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSnapshotsSnapshotSourceSnapshotRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotRemoteArgs) ToGetIsSnapshotsSnapshotSourceSnapshotRemoteOutput() GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput { + return i.ToGetIsSnapshotsSnapshotSourceSnapshotRemoteOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotRemoteArgs) ToGetIsSnapshotsSnapshotSourceSnapshotRemoteOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput) +} + +// GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayInput is an input type that accepts GetIsSnapshotsSnapshotSourceSnapshotRemoteArray and GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayInput` via: +// +// GetIsSnapshotsSnapshotSourceSnapshotRemoteArray{ GetIsSnapshotsSnapshotSourceSnapshotRemoteArgs{...} } +type GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayInput interface { + pulumi.Input + + ToGetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput + ToGetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutputWithContext(context.Context) GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput +} + +type GetIsSnapshotsSnapshotSourceSnapshotRemoteArray []GetIsSnapshotsSnapshotSourceSnapshotRemoteInput + +func (GetIsSnapshotsSnapshotSourceSnapshotRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotRemoteArray) ToGetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput { + return i.ToGetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsSnapshotsSnapshotSourceSnapshotRemoteArray) ToGetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput) ToGetIsSnapshotsSnapshotSourceSnapshotRemoteOutput() GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput) ToGetIsSnapshotsSnapshotSourceSnapshotRemoteOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput { + return o +} + +// The URL for this region. +func (o GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshotRemote) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSnapshotsSnapshotSourceSnapshotRemote) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSnapshotsSnapshotSourceSnapshotRemote)(nil)).Elem() +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput) ToGetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput() GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput) ToGetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutputWithContext(ctx context.Context) GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput { + return o +} + +func (o GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput) Index(i pulumi.IntInput) GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSnapshotsSnapshotSourceSnapshotRemote { + return vs[0].([]GetIsSnapshotsSnapshotSourceSnapshotRemote)[vs[1].(int)] + }).(GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput) +} + +type GetIsSshKeysKey struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The date and time that the key was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this key. + Crn string `pulumi:"crn"` + // The fingerprint for this key. The value is returned base64-encoded and prefixed with the hash algorithm (always `SHA256`). + Fingerprint string `pulumi:"fingerprint"` + // The URL for this key. + Href string `pulumi:"href"` + // The unique identifier for this key. + Id string `pulumi:"id"` + // The length of this key (in bits). + Length int `pulumi:"length"` + // The unique user-defined name for this key. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name string `pulumi:"name"` + // The public SSH key, consisting of two space-separated fields: the algorithm name, and the base64-encoded key. + PublicKey string `pulumi:"publicKey"` + // The resource group for this key. + ResourceGroups []GetIsSshKeysKeyResourceGroup `pulumi:"resourceGroups"` + // User Tags for the ssh + Tags []string `pulumi:"tags"` + // The crypto-system used by this key. + Type string `pulumi:"type"` +} + +// GetIsSshKeysKeyInput is an input type that accepts GetIsSshKeysKeyArgs and GetIsSshKeysKeyOutput values. +// You can construct a concrete instance of `GetIsSshKeysKeyInput` via: +// +// GetIsSshKeysKeyArgs{...} +type GetIsSshKeysKeyInput interface { + pulumi.Input + + ToGetIsSshKeysKeyOutput() GetIsSshKeysKeyOutput + ToGetIsSshKeysKeyOutputWithContext(context.Context) GetIsSshKeysKeyOutput +} + +type GetIsSshKeysKeyArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The date and time that the key was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this key. + Crn pulumi.StringInput `pulumi:"crn"` + // The fingerprint for this key. The value is returned base64-encoded and prefixed with the hash algorithm (always `SHA256`). + Fingerprint pulumi.StringInput `pulumi:"fingerprint"` + // The URL for this key. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this key. + Id pulumi.StringInput `pulumi:"id"` + // The length of this key (in bits). + Length pulumi.IntInput `pulumi:"length"` + // The unique user-defined name for this key. If unspecified, the name will be a hyphenated list of randomly-selected words. + Name pulumi.StringInput `pulumi:"name"` + // The public SSH key, consisting of two space-separated fields: the algorithm name, and the base64-encoded key. + PublicKey pulumi.StringInput `pulumi:"publicKey"` + // The resource group for this key. + ResourceGroups GetIsSshKeysKeyResourceGroupArrayInput `pulumi:"resourceGroups"` + // User Tags for the ssh + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The crypto-system used by this key. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsSshKeysKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSshKeysKey)(nil)).Elem() +} + +func (i GetIsSshKeysKeyArgs) ToGetIsSshKeysKeyOutput() GetIsSshKeysKeyOutput { + return i.ToGetIsSshKeysKeyOutputWithContext(context.Background()) +} + +func (i GetIsSshKeysKeyArgs) ToGetIsSshKeysKeyOutputWithContext(ctx context.Context) GetIsSshKeysKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSshKeysKeyOutput) +} + +// GetIsSshKeysKeyArrayInput is an input type that accepts GetIsSshKeysKeyArray and GetIsSshKeysKeyArrayOutput values. +// You can construct a concrete instance of `GetIsSshKeysKeyArrayInput` via: +// +// GetIsSshKeysKeyArray{ GetIsSshKeysKeyArgs{...} } +type GetIsSshKeysKeyArrayInput interface { + pulumi.Input + + ToGetIsSshKeysKeyArrayOutput() GetIsSshKeysKeyArrayOutput + ToGetIsSshKeysKeyArrayOutputWithContext(context.Context) GetIsSshKeysKeyArrayOutput +} + +type GetIsSshKeysKeyArray []GetIsSshKeysKeyInput + +func (GetIsSshKeysKeyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSshKeysKey)(nil)).Elem() +} + +func (i GetIsSshKeysKeyArray) ToGetIsSshKeysKeyArrayOutput() GetIsSshKeysKeyArrayOutput { + return i.ToGetIsSshKeysKeyArrayOutputWithContext(context.Background()) +} + +func (i GetIsSshKeysKeyArray) ToGetIsSshKeysKeyArrayOutputWithContext(ctx context.Context) GetIsSshKeysKeyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSshKeysKeyArrayOutput) +} + +type GetIsSshKeysKeyOutput struct{ *pulumi.OutputState } + +func (GetIsSshKeysKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSshKeysKey)(nil)).Elem() +} + +func (o GetIsSshKeysKeyOutput) ToGetIsSshKeysKeyOutput() GetIsSshKeysKeyOutput { + return o +} + +func (o GetIsSshKeysKeyOutput) ToGetIsSshKeysKeyOutputWithContext(ctx context.Context) GetIsSshKeysKeyOutput { + return o +} + +// List of access tags +func (o GetIsSshKeysKeyOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSshKeysKey) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The date and time that the key was created. +func (o GetIsSshKeysKeyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKey) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this key. +func (o GetIsSshKeysKeyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKey) string { return v.Crn }).(pulumi.StringOutput) +} + +// The fingerprint for this key. The value is returned base64-encoded and prefixed with the hash algorithm (always `SHA256`). +func (o GetIsSshKeysKeyOutput) Fingerprint() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKey) string { return v.Fingerprint }).(pulumi.StringOutput) +} + +// The URL for this key. +func (o GetIsSshKeysKeyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKey) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this key. +func (o GetIsSshKeysKeyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKey) string { return v.Id }).(pulumi.StringOutput) +} + +// The length of this key (in bits). +func (o GetIsSshKeysKeyOutput) Length() pulumi.IntOutput { + return o.ApplyT(func(v GetIsSshKeysKey) int { return v.Length }).(pulumi.IntOutput) +} + +// The unique user-defined name for this key. If unspecified, the name will be a hyphenated list of randomly-selected words. +func (o GetIsSshKeysKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKey) string { return v.Name }).(pulumi.StringOutput) +} + +// The public SSH key, consisting of two space-separated fields: the algorithm name, and the base64-encoded key. +func (o GetIsSshKeysKeyOutput) PublicKey() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKey) string { return v.PublicKey }).(pulumi.StringOutput) +} + +// The resource group for this key. +func (o GetIsSshKeysKeyOutput) ResourceGroups() GetIsSshKeysKeyResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsSshKeysKey) []GetIsSshKeysKeyResourceGroup { return v.ResourceGroups }).(GetIsSshKeysKeyResourceGroupArrayOutput) +} + +// User Tags for the ssh +func (o GetIsSshKeysKeyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsSshKeysKey) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The crypto-system used by this key. +func (o GetIsSshKeysKeyOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKey) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsSshKeysKeyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSshKeysKeyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSshKeysKey)(nil)).Elem() +} + +func (o GetIsSshKeysKeyArrayOutput) ToGetIsSshKeysKeyArrayOutput() GetIsSshKeysKeyArrayOutput { + return o +} + +func (o GetIsSshKeysKeyArrayOutput) ToGetIsSshKeysKeyArrayOutputWithContext(ctx context.Context) GetIsSshKeysKeyArrayOutput { + return o +} + +func (o GetIsSshKeysKeyArrayOutput) Index(i pulumi.IntInput) GetIsSshKeysKeyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSshKeysKey { + return vs[0].([]GetIsSshKeysKey)[vs[1].(int)] + }).(GetIsSshKeysKeyOutput) +} + +type GetIsSshKeysKeyResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsSshKeysKeyResourceGroupInput is an input type that accepts GetIsSshKeysKeyResourceGroupArgs and GetIsSshKeysKeyResourceGroupOutput values. +// You can construct a concrete instance of `GetIsSshKeysKeyResourceGroupInput` via: +// +// GetIsSshKeysKeyResourceGroupArgs{...} +type GetIsSshKeysKeyResourceGroupInput interface { + pulumi.Input + + ToGetIsSshKeysKeyResourceGroupOutput() GetIsSshKeysKeyResourceGroupOutput + ToGetIsSshKeysKeyResourceGroupOutputWithContext(context.Context) GetIsSshKeysKeyResourceGroupOutput +} + +type GetIsSshKeysKeyResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsSshKeysKeyResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSshKeysKeyResourceGroup)(nil)).Elem() +} + +func (i GetIsSshKeysKeyResourceGroupArgs) ToGetIsSshKeysKeyResourceGroupOutput() GetIsSshKeysKeyResourceGroupOutput { + return i.ToGetIsSshKeysKeyResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsSshKeysKeyResourceGroupArgs) ToGetIsSshKeysKeyResourceGroupOutputWithContext(ctx context.Context) GetIsSshKeysKeyResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSshKeysKeyResourceGroupOutput) +} + +// GetIsSshKeysKeyResourceGroupArrayInput is an input type that accepts GetIsSshKeysKeyResourceGroupArray and GetIsSshKeysKeyResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsSshKeysKeyResourceGroupArrayInput` via: +// +// GetIsSshKeysKeyResourceGroupArray{ GetIsSshKeysKeyResourceGroupArgs{...} } +type GetIsSshKeysKeyResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsSshKeysKeyResourceGroupArrayOutput() GetIsSshKeysKeyResourceGroupArrayOutput + ToGetIsSshKeysKeyResourceGroupArrayOutputWithContext(context.Context) GetIsSshKeysKeyResourceGroupArrayOutput +} + +type GetIsSshKeysKeyResourceGroupArray []GetIsSshKeysKeyResourceGroupInput + +func (GetIsSshKeysKeyResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSshKeysKeyResourceGroup)(nil)).Elem() +} + +func (i GetIsSshKeysKeyResourceGroupArray) ToGetIsSshKeysKeyResourceGroupArrayOutput() GetIsSshKeysKeyResourceGroupArrayOutput { + return i.ToGetIsSshKeysKeyResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsSshKeysKeyResourceGroupArray) ToGetIsSshKeysKeyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsSshKeysKeyResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSshKeysKeyResourceGroupArrayOutput) +} + +type GetIsSshKeysKeyResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsSshKeysKeyResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSshKeysKeyResourceGroup)(nil)).Elem() +} + +func (o GetIsSshKeysKeyResourceGroupOutput) ToGetIsSshKeysKeyResourceGroupOutput() GetIsSshKeysKeyResourceGroupOutput { + return o +} + +func (o GetIsSshKeysKeyResourceGroupOutput) ToGetIsSshKeysKeyResourceGroupOutputWithContext(ctx context.Context) GetIsSshKeysKeyResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsSshKeysKeyResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKeyResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsSshKeysKeyResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKeyResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsSshKeysKeyResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSshKeysKeyResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsSshKeysKeyResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSshKeysKeyResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSshKeysKeyResourceGroup)(nil)).Elem() +} + +func (o GetIsSshKeysKeyResourceGroupArrayOutput) ToGetIsSshKeysKeyResourceGroupArrayOutput() GetIsSshKeysKeyResourceGroupArrayOutput { + return o +} + +func (o GetIsSshKeysKeyResourceGroupArrayOutput) ToGetIsSshKeysKeyResourceGroupArrayOutputWithContext(ctx context.Context) GetIsSshKeysKeyResourceGroupArrayOutput { + return o +} + +func (o GetIsSshKeysKeyResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsSshKeysKeyResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSshKeysKeyResourceGroup { + return vs[0].([]GetIsSshKeysKeyResourceGroup)[vs[1].(int)] + }).(GetIsSshKeysKeyResourceGroupOutput) +} + +type GetIsSubnetReservedIpTargetReference struct { + // The CRN for this endpoint gateway. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSubnetReservedIpTargetReferenceDeleted `pulumi:"deleteds"` + // The URL for this endpoint gateway. + Href string `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id string `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSubnetReservedIpTargetReferenceInput is an input type that accepts GetIsSubnetReservedIpTargetReferenceArgs and GetIsSubnetReservedIpTargetReferenceOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpTargetReferenceInput` via: +// +// GetIsSubnetReservedIpTargetReferenceArgs{...} +type GetIsSubnetReservedIpTargetReferenceInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpTargetReferenceOutput() GetIsSubnetReservedIpTargetReferenceOutput + ToGetIsSubnetReservedIpTargetReferenceOutputWithContext(context.Context) GetIsSubnetReservedIpTargetReferenceOutput +} + +type GetIsSubnetReservedIpTargetReferenceArgs struct { + // The CRN for this endpoint gateway. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSubnetReservedIpTargetReferenceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this endpoint gateway. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id pulumi.StringInput `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSubnetReservedIpTargetReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpTargetReference)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpTargetReferenceArgs) ToGetIsSubnetReservedIpTargetReferenceOutput() GetIsSubnetReservedIpTargetReferenceOutput { + return i.ToGetIsSubnetReservedIpTargetReferenceOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpTargetReferenceArgs) ToGetIsSubnetReservedIpTargetReferenceOutputWithContext(ctx context.Context) GetIsSubnetReservedIpTargetReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpTargetReferenceOutput) +} + +// GetIsSubnetReservedIpTargetReferenceArrayInput is an input type that accepts GetIsSubnetReservedIpTargetReferenceArray and GetIsSubnetReservedIpTargetReferenceArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpTargetReferenceArrayInput` via: +// +// GetIsSubnetReservedIpTargetReferenceArray{ GetIsSubnetReservedIpTargetReferenceArgs{...} } +type GetIsSubnetReservedIpTargetReferenceArrayInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpTargetReferenceArrayOutput() GetIsSubnetReservedIpTargetReferenceArrayOutput + ToGetIsSubnetReservedIpTargetReferenceArrayOutputWithContext(context.Context) GetIsSubnetReservedIpTargetReferenceArrayOutput +} + +type GetIsSubnetReservedIpTargetReferenceArray []GetIsSubnetReservedIpTargetReferenceInput + +func (GetIsSubnetReservedIpTargetReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpTargetReference)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpTargetReferenceArray) ToGetIsSubnetReservedIpTargetReferenceArrayOutput() GetIsSubnetReservedIpTargetReferenceArrayOutput { + return i.ToGetIsSubnetReservedIpTargetReferenceArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpTargetReferenceArray) ToGetIsSubnetReservedIpTargetReferenceArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpTargetReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpTargetReferenceArrayOutput) +} + +type GetIsSubnetReservedIpTargetReferenceOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpTargetReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpTargetReference)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpTargetReferenceOutput) ToGetIsSubnetReservedIpTargetReferenceOutput() GetIsSubnetReservedIpTargetReferenceOutput { + return o +} + +func (o GetIsSubnetReservedIpTargetReferenceOutput) ToGetIsSubnetReservedIpTargetReferenceOutputWithContext(ctx context.Context) GetIsSubnetReservedIpTargetReferenceOutput { + return o +} + +// The CRN for this endpoint gateway. +func (o GetIsSubnetReservedIpTargetReferenceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpTargetReference) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSubnetReservedIpTargetReferenceOutput) Deleteds() GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpTargetReference) []GetIsSubnetReservedIpTargetReferenceDeleted { + return v.Deleteds + }).(GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput) +} + +// The URL for this endpoint gateway. +func (o GetIsSubnetReservedIpTargetReferenceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpTargetReference) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this endpoint gateway. +func (o GetIsSubnetReservedIpTargetReferenceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpTargetReference) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. +func (o GetIsSubnetReservedIpTargetReferenceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpTargetReference) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSubnetReservedIpTargetReferenceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpTargetReference) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSubnetReservedIpTargetReferenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpTargetReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpTargetReference)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpTargetReferenceArrayOutput) ToGetIsSubnetReservedIpTargetReferenceArrayOutput() GetIsSubnetReservedIpTargetReferenceArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpTargetReferenceArrayOutput) ToGetIsSubnetReservedIpTargetReferenceArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpTargetReferenceArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpTargetReferenceArrayOutput) Index(i pulumi.IntInput) GetIsSubnetReservedIpTargetReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetReservedIpTargetReference { + return vs[0].([]GetIsSubnetReservedIpTargetReference)[vs[1].(int)] + }).(GetIsSubnetReservedIpTargetReferenceOutput) +} + +type GetIsSubnetReservedIpTargetReferenceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSubnetReservedIpTargetReferenceDeletedInput is an input type that accepts GetIsSubnetReservedIpTargetReferenceDeletedArgs and GetIsSubnetReservedIpTargetReferenceDeletedOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpTargetReferenceDeletedInput` via: +// +// GetIsSubnetReservedIpTargetReferenceDeletedArgs{...} +type GetIsSubnetReservedIpTargetReferenceDeletedInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpTargetReferenceDeletedOutput() GetIsSubnetReservedIpTargetReferenceDeletedOutput + ToGetIsSubnetReservedIpTargetReferenceDeletedOutputWithContext(context.Context) GetIsSubnetReservedIpTargetReferenceDeletedOutput +} + +type GetIsSubnetReservedIpTargetReferenceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSubnetReservedIpTargetReferenceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpTargetReferenceDeleted)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpTargetReferenceDeletedArgs) ToGetIsSubnetReservedIpTargetReferenceDeletedOutput() GetIsSubnetReservedIpTargetReferenceDeletedOutput { + return i.ToGetIsSubnetReservedIpTargetReferenceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpTargetReferenceDeletedArgs) ToGetIsSubnetReservedIpTargetReferenceDeletedOutputWithContext(ctx context.Context) GetIsSubnetReservedIpTargetReferenceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpTargetReferenceDeletedOutput) +} + +// GetIsSubnetReservedIpTargetReferenceDeletedArrayInput is an input type that accepts GetIsSubnetReservedIpTargetReferenceDeletedArray and GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpTargetReferenceDeletedArrayInput` via: +// +// GetIsSubnetReservedIpTargetReferenceDeletedArray{ GetIsSubnetReservedIpTargetReferenceDeletedArgs{...} } +type GetIsSubnetReservedIpTargetReferenceDeletedArrayInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpTargetReferenceDeletedArrayOutput() GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput + ToGetIsSubnetReservedIpTargetReferenceDeletedArrayOutputWithContext(context.Context) GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput +} + +type GetIsSubnetReservedIpTargetReferenceDeletedArray []GetIsSubnetReservedIpTargetReferenceDeletedInput + +func (GetIsSubnetReservedIpTargetReferenceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpTargetReferenceDeleted)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpTargetReferenceDeletedArray) ToGetIsSubnetReservedIpTargetReferenceDeletedArrayOutput() GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput { + return i.ToGetIsSubnetReservedIpTargetReferenceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpTargetReferenceDeletedArray) ToGetIsSubnetReservedIpTargetReferenceDeletedArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput) +} + +type GetIsSubnetReservedIpTargetReferenceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpTargetReferenceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpTargetReferenceDeleted)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpTargetReferenceDeletedOutput) ToGetIsSubnetReservedIpTargetReferenceDeletedOutput() GetIsSubnetReservedIpTargetReferenceDeletedOutput { + return o +} + +func (o GetIsSubnetReservedIpTargetReferenceDeletedOutput) ToGetIsSubnetReservedIpTargetReferenceDeletedOutputWithContext(ctx context.Context) GetIsSubnetReservedIpTargetReferenceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSubnetReservedIpTargetReferenceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpTargetReferenceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpTargetReferenceDeleted)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput) ToGetIsSubnetReservedIpTargetReferenceDeletedArrayOutput() GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput) ToGetIsSubnetReservedIpTargetReferenceDeletedArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSubnetReservedIpTargetReferenceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetReservedIpTargetReferenceDeleted { + return vs[0].([]GetIsSubnetReservedIpTargetReferenceDeleted)[vs[1].(int)] + }).(GetIsSubnetReservedIpTargetReferenceDeletedOutput) +} + +type GetIsSubnetReservedIpsReservedIp struct { + // The IP address + Address string `pulumi:"address"` + // If reserved ip shall be deleted automatically + AutoDelete bool `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt string `pulumi:"createdAt"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The lifecycle state of the reserved IP + LifecycleState string `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this reserved IP. + Name string `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner string `pulumi:"owner"` + // The unique identifier for this reserved IP + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // Reserved IP target id + Target string `pulumi:"target"` + // The crn for target. + TargetCrn string `pulumi:"targetCrn"` + // The target this reserved IP is bound to.If absent, this reserved IP is provider-owned or unbound. + TargetReferences []GetIsSubnetReservedIpsReservedIpTargetReference `pulumi:"targetReferences"` +} + +// GetIsSubnetReservedIpsReservedIpInput is an input type that accepts GetIsSubnetReservedIpsReservedIpArgs and GetIsSubnetReservedIpsReservedIpOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpsReservedIpInput` via: +// +// GetIsSubnetReservedIpsReservedIpArgs{...} +type GetIsSubnetReservedIpsReservedIpInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpsReservedIpOutput() GetIsSubnetReservedIpsReservedIpOutput + ToGetIsSubnetReservedIpsReservedIpOutputWithContext(context.Context) GetIsSubnetReservedIpsReservedIpOutput +} + +type GetIsSubnetReservedIpsReservedIpArgs struct { + // The IP address + Address pulumi.StringInput `pulumi:"address"` + // If reserved ip shall be deleted automatically + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The date and time that the reserved IP was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The lifecycle state of the reserved IP + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringInput `pulumi:"name"` + // The owner of a reserved IP, defining whether it is managed by the user or the provider. + Owner pulumi.StringInput `pulumi:"owner"` + // The unique identifier for this reserved IP + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Reserved IP target id + Target pulumi.StringInput `pulumi:"target"` + // The crn for target. + TargetCrn pulumi.StringInput `pulumi:"targetCrn"` + // The target this reserved IP is bound to.If absent, this reserved IP is provider-owned or unbound. + TargetReferences GetIsSubnetReservedIpsReservedIpTargetReferenceArrayInput `pulumi:"targetReferences"` +} + +func (GetIsSubnetReservedIpsReservedIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpsReservedIp)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpsReservedIpArgs) ToGetIsSubnetReservedIpsReservedIpOutput() GetIsSubnetReservedIpsReservedIpOutput { + return i.ToGetIsSubnetReservedIpsReservedIpOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpsReservedIpArgs) ToGetIsSubnetReservedIpsReservedIpOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpsReservedIpOutput) +} + +// GetIsSubnetReservedIpsReservedIpArrayInput is an input type that accepts GetIsSubnetReservedIpsReservedIpArray and GetIsSubnetReservedIpsReservedIpArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpsReservedIpArrayInput` via: +// +// GetIsSubnetReservedIpsReservedIpArray{ GetIsSubnetReservedIpsReservedIpArgs{...} } +type GetIsSubnetReservedIpsReservedIpArrayInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpsReservedIpArrayOutput() GetIsSubnetReservedIpsReservedIpArrayOutput + ToGetIsSubnetReservedIpsReservedIpArrayOutputWithContext(context.Context) GetIsSubnetReservedIpsReservedIpArrayOutput +} + +type GetIsSubnetReservedIpsReservedIpArray []GetIsSubnetReservedIpsReservedIpInput + +func (GetIsSubnetReservedIpsReservedIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpsReservedIp)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpsReservedIpArray) ToGetIsSubnetReservedIpsReservedIpArrayOutput() GetIsSubnetReservedIpsReservedIpArrayOutput { + return i.ToGetIsSubnetReservedIpsReservedIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpsReservedIpArray) ToGetIsSubnetReservedIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpsReservedIpArrayOutput) +} + +type GetIsSubnetReservedIpsReservedIpOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpsReservedIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpsReservedIp)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpsReservedIpOutput) ToGetIsSubnetReservedIpsReservedIpOutput() GetIsSubnetReservedIpsReservedIpOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpOutput) ToGetIsSubnetReservedIpsReservedIpOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpOutput { + return o +} + +// The IP address +func (o GetIsSubnetReservedIpsReservedIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If reserved ip shall be deleted automatically +func (o GetIsSubnetReservedIpsReservedIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the reserved IP was created. +func (o GetIsSubnetReservedIpsReservedIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL for this reserved IP. +func (o GetIsSubnetReservedIpsReservedIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The lifecycle state of the reserved IP +func (o GetIsSubnetReservedIpsReservedIpOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this reserved IP. +func (o GetIsSubnetReservedIpsReservedIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The owner of a reserved IP, defining whether it is managed by the user or the provider. +func (o GetIsSubnetReservedIpsReservedIpOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.Owner }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP +func (o GetIsSubnetReservedIpsReservedIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSubnetReservedIpsReservedIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Reserved IP target id +func (o GetIsSubnetReservedIpsReservedIpOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.Target }).(pulumi.StringOutput) +} + +// The crn for target. +func (o GetIsSubnetReservedIpsReservedIpOutput) TargetCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) string { return v.TargetCrn }).(pulumi.StringOutput) +} + +// The target this reserved IP is bound to.If absent, this reserved IP is provider-owned or unbound. +func (o GetIsSubnetReservedIpsReservedIpOutput) TargetReferences() GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIp) []GetIsSubnetReservedIpsReservedIpTargetReference { + return v.TargetReferences + }).(GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput) +} + +type GetIsSubnetReservedIpsReservedIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpsReservedIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpsReservedIp)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpsReservedIpArrayOutput) ToGetIsSubnetReservedIpsReservedIpArrayOutput() GetIsSubnetReservedIpsReservedIpArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpArrayOutput) ToGetIsSubnetReservedIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpArrayOutput) Index(i pulumi.IntInput) GetIsSubnetReservedIpsReservedIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetReservedIpsReservedIp { + return vs[0].([]GetIsSubnetReservedIpsReservedIp)[vs[1].(int)] + }).(GetIsSubnetReservedIpsReservedIpOutput) +} + +type GetIsSubnetReservedIpsReservedIpTargetReference struct { + // The CRN for this endpoint gateway. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted `pulumi:"deleteds"` + // The URL for this endpoint gateway. + Href string `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id string `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSubnetReservedIpsReservedIpTargetReferenceInput is an input type that accepts GetIsSubnetReservedIpsReservedIpTargetReferenceArgs and GetIsSubnetReservedIpsReservedIpTargetReferenceOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpsReservedIpTargetReferenceInput` via: +// +// GetIsSubnetReservedIpsReservedIpTargetReferenceArgs{...} +type GetIsSubnetReservedIpsReservedIpTargetReferenceInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpsReservedIpTargetReferenceOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceOutput + ToGetIsSubnetReservedIpsReservedIpTargetReferenceOutputWithContext(context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceOutput +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceArgs struct { + // The CRN for this endpoint gateway. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this endpoint gateway. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id pulumi.StringInput `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSubnetReservedIpsReservedIpTargetReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpTargetReference)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpsReservedIpTargetReferenceArgs) ToGetIsSubnetReservedIpsReservedIpTargetReferenceOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceOutput { + return i.ToGetIsSubnetReservedIpsReservedIpTargetReferenceOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpsReservedIpTargetReferenceArgs) ToGetIsSubnetReservedIpsReservedIpTargetReferenceOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) +} + +// GetIsSubnetReservedIpsReservedIpTargetReferenceArrayInput is an input type that accepts GetIsSubnetReservedIpsReservedIpTargetReferenceArray and GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpsReservedIpTargetReferenceArrayInput` via: +// +// GetIsSubnetReservedIpsReservedIpTargetReferenceArray{ GetIsSubnetReservedIpsReservedIpTargetReferenceArgs{...} } +type GetIsSubnetReservedIpsReservedIpTargetReferenceArrayInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput + ToGetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutputWithContext(context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceArray []GetIsSubnetReservedIpsReservedIpTargetReferenceInput + +func (GetIsSubnetReservedIpsReservedIpTargetReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpsReservedIpTargetReference)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpsReservedIpTargetReferenceArray) ToGetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput { + return i.ToGetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpsReservedIpTargetReferenceArray) ToGetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput) +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpTargetReference)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) ToGetIsSubnetReservedIpsReservedIpTargetReferenceOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) ToGetIsSubnetReservedIpsReservedIpTargetReferenceOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceOutput { + return o +} + +// The CRN for this endpoint gateway. +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIpTargetReference) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) Deleteds() GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIpTargetReference) []GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted { + return v.Deleteds + }).(GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput) +} + +// The URL for this endpoint gateway. +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIpTargetReference) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this endpoint gateway. +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIpTargetReference) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIpTargetReference) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIpTargetReference) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpsReservedIpTargetReference)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput) ToGetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput) ToGetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput) Index(i pulumi.IntInput) GetIsSubnetReservedIpsReservedIpTargetReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetReservedIpsReservedIpTargetReference { + return vs[0].([]GetIsSubnetReservedIpsReservedIpTargetReference)[vs[1].(int)] + }).(GetIsSubnetReservedIpsReservedIpTargetReferenceOutput) +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedInput is an input type that accepts GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArgs and GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedInput` via: +// +// GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArgs{...} +type GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput + ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutputWithContext(context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArgs) ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput { + return i.ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArgs) ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput) +} + +// GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayInput is an input type that accepts GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArray and GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayInput` via: +// +// GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArray{ GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArgs{...} } +type GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayInput interface { + pulumi.Input + + ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput + ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutputWithContext(context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArray []GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedInput + +func (GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted)(nil)).Elem() +} + +func (i GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArray) ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput { + return i.ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArray) ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput) +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput) ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput) ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted)(nil)).Elem() +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput) ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput() GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput) ToGetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutputWithContext(ctx context.Context) GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput { + return o +} + +func (o GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted { + return vs[0].([]GetIsSubnetReservedIpsReservedIpTargetReferenceDeleted)[vs[1].(int)] + }).(GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput) +} + +type GetIsSubnetRoutingTable struct { + // The crn for this routing table. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSubnetRoutingTableDeleted `pulumi:"deleteds"` + // The URL for this routing table. + Href string `pulumi:"href"` + // The unique identifier for this routing table. + Id string `pulumi:"id"` + // The user-defined name for this routing table. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSubnetRoutingTableInput is an input type that accepts GetIsSubnetRoutingTableArgs and GetIsSubnetRoutingTableOutput values. +// You can construct a concrete instance of `GetIsSubnetRoutingTableInput` via: +// +// GetIsSubnetRoutingTableArgs{...} +type GetIsSubnetRoutingTableInput interface { + pulumi.Input + + ToGetIsSubnetRoutingTableOutput() GetIsSubnetRoutingTableOutput + ToGetIsSubnetRoutingTableOutputWithContext(context.Context) GetIsSubnetRoutingTableOutput +} + +type GetIsSubnetRoutingTableArgs struct { + // The crn for this routing table. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSubnetRoutingTableDeletedArrayInput `pulumi:"deleteds"` + // The URL for this routing table. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this routing table. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this routing table. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSubnetRoutingTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetRoutingTable)(nil)).Elem() +} + +func (i GetIsSubnetRoutingTableArgs) ToGetIsSubnetRoutingTableOutput() GetIsSubnetRoutingTableOutput { + return i.ToGetIsSubnetRoutingTableOutputWithContext(context.Background()) +} + +func (i GetIsSubnetRoutingTableArgs) ToGetIsSubnetRoutingTableOutputWithContext(ctx context.Context) GetIsSubnetRoutingTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetRoutingTableOutput) +} + +// GetIsSubnetRoutingTableArrayInput is an input type that accepts GetIsSubnetRoutingTableArray and GetIsSubnetRoutingTableArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetRoutingTableArrayInput` via: +// +// GetIsSubnetRoutingTableArray{ GetIsSubnetRoutingTableArgs{...} } +type GetIsSubnetRoutingTableArrayInput interface { + pulumi.Input + + ToGetIsSubnetRoutingTableArrayOutput() GetIsSubnetRoutingTableArrayOutput + ToGetIsSubnetRoutingTableArrayOutputWithContext(context.Context) GetIsSubnetRoutingTableArrayOutput +} + +type GetIsSubnetRoutingTableArray []GetIsSubnetRoutingTableInput + +func (GetIsSubnetRoutingTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetRoutingTable)(nil)).Elem() +} + +func (i GetIsSubnetRoutingTableArray) ToGetIsSubnetRoutingTableArrayOutput() GetIsSubnetRoutingTableArrayOutput { + return i.ToGetIsSubnetRoutingTableArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetRoutingTableArray) ToGetIsSubnetRoutingTableArrayOutputWithContext(ctx context.Context) GetIsSubnetRoutingTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetRoutingTableArrayOutput) +} + +type GetIsSubnetRoutingTableOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetRoutingTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetRoutingTable)(nil)).Elem() +} + +func (o GetIsSubnetRoutingTableOutput) ToGetIsSubnetRoutingTableOutput() GetIsSubnetRoutingTableOutput { + return o +} + +func (o GetIsSubnetRoutingTableOutput) ToGetIsSubnetRoutingTableOutputWithContext(ctx context.Context) GetIsSubnetRoutingTableOutput { + return o +} + +// The crn for this routing table. +func (o GetIsSubnetRoutingTableOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetRoutingTable) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSubnetRoutingTableOutput) Deleteds() GetIsSubnetRoutingTableDeletedArrayOutput { + return o.ApplyT(func(v GetIsSubnetRoutingTable) []GetIsSubnetRoutingTableDeleted { return v.Deleteds }).(GetIsSubnetRoutingTableDeletedArrayOutput) +} + +// The URL for this routing table. +func (o GetIsSubnetRoutingTableOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetRoutingTable) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this routing table. +func (o GetIsSubnetRoutingTableOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetRoutingTable) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this routing table. +func (o GetIsSubnetRoutingTableOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetRoutingTable) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSubnetRoutingTableOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetRoutingTable) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSubnetRoutingTableArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetRoutingTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetRoutingTable)(nil)).Elem() +} + +func (o GetIsSubnetRoutingTableArrayOutput) ToGetIsSubnetRoutingTableArrayOutput() GetIsSubnetRoutingTableArrayOutput { + return o +} + +func (o GetIsSubnetRoutingTableArrayOutput) ToGetIsSubnetRoutingTableArrayOutputWithContext(ctx context.Context) GetIsSubnetRoutingTableArrayOutput { + return o +} + +func (o GetIsSubnetRoutingTableArrayOutput) Index(i pulumi.IntInput) GetIsSubnetRoutingTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetRoutingTable { + return vs[0].([]GetIsSubnetRoutingTable)[vs[1].(int)] + }).(GetIsSubnetRoutingTableOutput) +} + +type GetIsSubnetRoutingTableDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSubnetRoutingTableDeletedInput is an input type that accepts GetIsSubnetRoutingTableDeletedArgs and GetIsSubnetRoutingTableDeletedOutput values. +// You can construct a concrete instance of `GetIsSubnetRoutingTableDeletedInput` via: +// +// GetIsSubnetRoutingTableDeletedArgs{...} +type GetIsSubnetRoutingTableDeletedInput interface { + pulumi.Input + + ToGetIsSubnetRoutingTableDeletedOutput() GetIsSubnetRoutingTableDeletedOutput + ToGetIsSubnetRoutingTableDeletedOutputWithContext(context.Context) GetIsSubnetRoutingTableDeletedOutput +} + +type GetIsSubnetRoutingTableDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSubnetRoutingTableDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetRoutingTableDeleted)(nil)).Elem() +} + +func (i GetIsSubnetRoutingTableDeletedArgs) ToGetIsSubnetRoutingTableDeletedOutput() GetIsSubnetRoutingTableDeletedOutput { + return i.ToGetIsSubnetRoutingTableDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSubnetRoutingTableDeletedArgs) ToGetIsSubnetRoutingTableDeletedOutputWithContext(ctx context.Context) GetIsSubnetRoutingTableDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetRoutingTableDeletedOutput) +} + +// GetIsSubnetRoutingTableDeletedArrayInput is an input type that accepts GetIsSubnetRoutingTableDeletedArray and GetIsSubnetRoutingTableDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetRoutingTableDeletedArrayInput` via: +// +// GetIsSubnetRoutingTableDeletedArray{ GetIsSubnetRoutingTableDeletedArgs{...} } +type GetIsSubnetRoutingTableDeletedArrayInput interface { + pulumi.Input + + ToGetIsSubnetRoutingTableDeletedArrayOutput() GetIsSubnetRoutingTableDeletedArrayOutput + ToGetIsSubnetRoutingTableDeletedArrayOutputWithContext(context.Context) GetIsSubnetRoutingTableDeletedArrayOutput +} + +type GetIsSubnetRoutingTableDeletedArray []GetIsSubnetRoutingTableDeletedInput + +func (GetIsSubnetRoutingTableDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetRoutingTableDeleted)(nil)).Elem() +} + +func (i GetIsSubnetRoutingTableDeletedArray) ToGetIsSubnetRoutingTableDeletedArrayOutput() GetIsSubnetRoutingTableDeletedArrayOutput { + return i.ToGetIsSubnetRoutingTableDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetRoutingTableDeletedArray) ToGetIsSubnetRoutingTableDeletedArrayOutputWithContext(ctx context.Context) GetIsSubnetRoutingTableDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetRoutingTableDeletedArrayOutput) +} + +type GetIsSubnetRoutingTableDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetRoutingTableDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetRoutingTableDeleted)(nil)).Elem() +} + +func (o GetIsSubnetRoutingTableDeletedOutput) ToGetIsSubnetRoutingTableDeletedOutput() GetIsSubnetRoutingTableDeletedOutput { + return o +} + +func (o GetIsSubnetRoutingTableDeletedOutput) ToGetIsSubnetRoutingTableDeletedOutputWithContext(ctx context.Context) GetIsSubnetRoutingTableDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSubnetRoutingTableDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetRoutingTableDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSubnetRoutingTableDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetRoutingTableDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetRoutingTableDeleted)(nil)).Elem() +} + +func (o GetIsSubnetRoutingTableDeletedArrayOutput) ToGetIsSubnetRoutingTableDeletedArrayOutput() GetIsSubnetRoutingTableDeletedArrayOutput { + return o +} + +func (o GetIsSubnetRoutingTableDeletedArrayOutput) ToGetIsSubnetRoutingTableDeletedArrayOutputWithContext(ctx context.Context) GetIsSubnetRoutingTableDeletedArrayOutput { + return o +} + +func (o GetIsSubnetRoutingTableDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSubnetRoutingTableDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetRoutingTableDeleted { + return vs[0].([]GetIsSubnetRoutingTableDeleted)[vs[1].(int)] + }).(GetIsSubnetRoutingTableDeletedOutput) +} + +type GetIsSubnetsSubnet struct { + AvailableIpv4AddressCount string `pulumi:"availableIpv4AddressCount"` + Crn string `pulumi:"crn"` + Id string `pulumi:"id"` + Ipv4CidrBlock string `pulumi:"ipv4CidrBlock"` + Name string `pulumi:"name"` + NetworkAcl string `pulumi:"networkAcl"` + PublicGateway string `pulumi:"publicGateway"` + ResourceGroup string `pulumi:"resourceGroup"` + // The routing table for this subnet + RoutingTables []GetIsSubnetsSubnetRoutingTable `pulumi:"routingTables"` + Status string `pulumi:"status"` + TotalIpv4AddressCount string `pulumi:"totalIpv4AddressCount"` + Vpc string `pulumi:"vpc"` + Zone string `pulumi:"zone"` +} + +// GetIsSubnetsSubnetInput is an input type that accepts GetIsSubnetsSubnetArgs and GetIsSubnetsSubnetOutput values. +// You can construct a concrete instance of `GetIsSubnetsSubnetInput` via: +// +// GetIsSubnetsSubnetArgs{...} +type GetIsSubnetsSubnetInput interface { + pulumi.Input + + ToGetIsSubnetsSubnetOutput() GetIsSubnetsSubnetOutput + ToGetIsSubnetsSubnetOutputWithContext(context.Context) GetIsSubnetsSubnetOutput +} + +type GetIsSubnetsSubnetArgs struct { + AvailableIpv4AddressCount pulumi.StringInput `pulumi:"availableIpv4AddressCount"` + Crn pulumi.StringInput `pulumi:"crn"` + Id pulumi.StringInput `pulumi:"id"` + Ipv4CidrBlock pulumi.StringInput `pulumi:"ipv4CidrBlock"` + Name pulumi.StringInput `pulumi:"name"` + NetworkAcl pulumi.StringInput `pulumi:"networkAcl"` + PublicGateway pulumi.StringInput `pulumi:"publicGateway"` + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The routing table for this subnet + RoutingTables GetIsSubnetsSubnetRoutingTableArrayInput `pulumi:"routingTables"` + Status pulumi.StringInput `pulumi:"status"` + TotalIpv4AddressCount pulumi.StringInput `pulumi:"totalIpv4AddressCount"` + Vpc pulumi.StringInput `pulumi:"vpc"` + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsSubnetsSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetsSubnet)(nil)).Elem() +} + +func (i GetIsSubnetsSubnetArgs) ToGetIsSubnetsSubnetOutput() GetIsSubnetsSubnetOutput { + return i.ToGetIsSubnetsSubnetOutputWithContext(context.Background()) +} + +func (i GetIsSubnetsSubnetArgs) ToGetIsSubnetsSubnetOutputWithContext(ctx context.Context) GetIsSubnetsSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetsSubnetOutput) +} + +// GetIsSubnetsSubnetArrayInput is an input type that accepts GetIsSubnetsSubnetArray and GetIsSubnetsSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetsSubnetArrayInput` via: +// +// GetIsSubnetsSubnetArray{ GetIsSubnetsSubnetArgs{...} } +type GetIsSubnetsSubnetArrayInput interface { + pulumi.Input + + ToGetIsSubnetsSubnetArrayOutput() GetIsSubnetsSubnetArrayOutput + ToGetIsSubnetsSubnetArrayOutputWithContext(context.Context) GetIsSubnetsSubnetArrayOutput +} + +type GetIsSubnetsSubnetArray []GetIsSubnetsSubnetInput + +func (GetIsSubnetsSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetsSubnet)(nil)).Elem() +} + +func (i GetIsSubnetsSubnetArray) ToGetIsSubnetsSubnetArrayOutput() GetIsSubnetsSubnetArrayOutput { + return i.ToGetIsSubnetsSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetsSubnetArray) ToGetIsSubnetsSubnetArrayOutputWithContext(ctx context.Context) GetIsSubnetsSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetsSubnetArrayOutput) +} + +type GetIsSubnetsSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetsSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetsSubnet)(nil)).Elem() +} + +func (o GetIsSubnetsSubnetOutput) ToGetIsSubnetsSubnetOutput() GetIsSubnetsSubnetOutput { + return o +} + +func (o GetIsSubnetsSubnetOutput) ToGetIsSubnetsSubnetOutputWithContext(ctx context.Context) GetIsSubnetsSubnetOutput { + return o +} + +func (o GetIsSubnetsSubnetOutput) AvailableIpv4AddressCount() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.AvailableIpv4AddressCount }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) Ipv4CidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.Ipv4CidrBlock }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) NetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.NetworkAcl }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) PublicGateway() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.PublicGateway }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The routing table for this subnet +func (o GetIsSubnetsSubnetOutput) RoutingTables() GetIsSubnetsSubnetRoutingTableArrayOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) []GetIsSubnetsSubnetRoutingTable { return v.RoutingTables }).(GetIsSubnetsSubnetRoutingTableArrayOutput) +} + +func (o GetIsSubnetsSubnetOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) TotalIpv4AddressCount() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.TotalIpv4AddressCount }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.Vpc }).(pulumi.StringOutput) +} + +func (o GetIsSubnetsSubnetOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnet) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsSubnetsSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetsSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetsSubnet)(nil)).Elem() +} + +func (o GetIsSubnetsSubnetArrayOutput) ToGetIsSubnetsSubnetArrayOutput() GetIsSubnetsSubnetArrayOutput { + return o +} + +func (o GetIsSubnetsSubnetArrayOutput) ToGetIsSubnetsSubnetArrayOutputWithContext(ctx context.Context) GetIsSubnetsSubnetArrayOutput { + return o +} + +func (o GetIsSubnetsSubnetArrayOutput) Index(i pulumi.IntInput) GetIsSubnetsSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetsSubnet { + return vs[0].([]GetIsSubnetsSubnet)[vs[1].(int)] + }).(GetIsSubnetsSubnetOutput) +} + +type GetIsSubnetsSubnetRoutingTable struct { + // The crn for this routing table. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsSubnetsSubnetRoutingTableDeleted `pulumi:"deleteds"` + // The URL for this routing table. + Href string `pulumi:"href"` + // The unique identifier for this routing table. + Id string `pulumi:"id"` + // The user-defined name for this routing table. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsSubnetsSubnetRoutingTableInput is an input type that accepts GetIsSubnetsSubnetRoutingTableArgs and GetIsSubnetsSubnetRoutingTableOutput values. +// You can construct a concrete instance of `GetIsSubnetsSubnetRoutingTableInput` via: +// +// GetIsSubnetsSubnetRoutingTableArgs{...} +type GetIsSubnetsSubnetRoutingTableInput interface { + pulumi.Input + + ToGetIsSubnetsSubnetRoutingTableOutput() GetIsSubnetsSubnetRoutingTableOutput + ToGetIsSubnetsSubnetRoutingTableOutputWithContext(context.Context) GetIsSubnetsSubnetRoutingTableOutput +} + +type GetIsSubnetsSubnetRoutingTableArgs struct { + // The crn for this routing table. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsSubnetsSubnetRoutingTableDeletedArrayInput `pulumi:"deleteds"` + // The URL for this routing table. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this routing table. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this routing table. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsSubnetsSubnetRoutingTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetsSubnetRoutingTable)(nil)).Elem() +} + +func (i GetIsSubnetsSubnetRoutingTableArgs) ToGetIsSubnetsSubnetRoutingTableOutput() GetIsSubnetsSubnetRoutingTableOutput { + return i.ToGetIsSubnetsSubnetRoutingTableOutputWithContext(context.Background()) +} + +func (i GetIsSubnetsSubnetRoutingTableArgs) ToGetIsSubnetsSubnetRoutingTableOutputWithContext(ctx context.Context) GetIsSubnetsSubnetRoutingTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetsSubnetRoutingTableOutput) +} + +// GetIsSubnetsSubnetRoutingTableArrayInput is an input type that accepts GetIsSubnetsSubnetRoutingTableArray and GetIsSubnetsSubnetRoutingTableArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetsSubnetRoutingTableArrayInput` via: +// +// GetIsSubnetsSubnetRoutingTableArray{ GetIsSubnetsSubnetRoutingTableArgs{...} } +type GetIsSubnetsSubnetRoutingTableArrayInput interface { + pulumi.Input + + ToGetIsSubnetsSubnetRoutingTableArrayOutput() GetIsSubnetsSubnetRoutingTableArrayOutput + ToGetIsSubnetsSubnetRoutingTableArrayOutputWithContext(context.Context) GetIsSubnetsSubnetRoutingTableArrayOutput +} + +type GetIsSubnetsSubnetRoutingTableArray []GetIsSubnetsSubnetRoutingTableInput + +func (GetIsSubnetsSubnetRoutingTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetsSubnetRoutingTable)(nil)).Elem() +} + +func (i GetIsSubnetsSubnetRoutingTableArray) ToGetIsSubnetsSubnetRoutingTableArrayOutput() GetIsSubnetsSubnetRoutingTableArrayOutput { + return i.ToGetIsSubnetsSubnetRoutingTableArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetsSubnetRoutingTableArray) ToGetIsSubnetsSubnetRoutingTableArrayOutputWithContext(ctx context.Context) GetIsSubnetsSubnetRoutingTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetsSubnetRoutingTableArrayOutput) +} + +type GetIsSubnetsSubnetRoutingTableOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetsSubnetRoutingTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetsSubnetRoutingTable)(nil)).Elem() +} + +func (o GetIsSubnetsSubnetRoutingTableOutput) ToGetIsSubnetsSubnetRoutingTableOutput() GetIsSubnetsSubnetRoutingTableOutput { + return o +} + +func (o GetIsSubnetsSubnetRoutingTableOutput) ToGetIsSubnetsSubnetRoutingTableOutputWithContext(ctx context.Context) GetIsSubnetsSubnetRoutingTableOutput { + return o +} + +// The crn for this routing table. +func (o GetIsSubnetsSubnetRoutingTableOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnetRoutingTable) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsSubnetsSubnetRoutingTableOutput) Deleteds() GetIsSubnetsSubnetRoutingTableDeletedArrayOutput { + return o.ApplyT(func(v GetIsSubnetsSubnetRoutingTable) []GetIsSubnetsSubnetRoutingTableDeleted { return v.Deleteds }).(GetIsSubnetsSubnetRoutingTableDeletedArrayOutput) +} + +// The URL for this routing table. +func (o GetIsSubnetsSubnetRoutingTableOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnetRoutingTable) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this routing table. +func (o GetIsSubnetsSubnetRoutingTableOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnetRoutingTable) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this routing table. +func (o GetIsSubnetsSubnetRoutingTableOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnetRoutingTable) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsSubnetsSubnetRoutingTableOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnetRoutingTable) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsSubnetsSubnetRoutingTableArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetsSubnetRoutingTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetsSubnetRoutingTable)(nil)).Elem() +} + +func (o GetIsSubnetsSubnetRoutingTableArrayOutput) ToGetIsSubnetsSubnetRoutingTableArrayOutput() GetIsSubnetsSubnetRoutingTableArrayOutput { + return o +} + +func (o GetIsSubnetsSubnetRoutingTableArrayOutput) ToGetIsSubnetsSubnetRoutingTableArrayOutputWithContext(ctx context.Context) GetIsSubnetsSubnetRoutingTableArrayOutput { + return o +} + +func (o GetIsSubnetsSubnetRoutingTableArrayOutput) Index(i pulumi.IntInput) GetIsSubnetsSubnetRoutingTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetsSubnetRoutingTable { + return vs[0].([]GetIsSubnetsSubnetRoutingTable)[vs[1].(int)] + }).(GetIsSubnetsSubnetRoutingTableOutput) +} + +type GetIsSubnetsSubnetRoutingTableDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsSubnetsSubnetRoutingTableDeletedInput is an input type that accepts GetIsSubnetsSubnetRoutingTableDeletedArgs and GetIsSubnetsSubnetRoutingTableDeletedOutput values. +// You can construct a concrete instance of `GetIsSubnetsSubnetRoutingTableDeletedInput` via: +// +// GetIsSubnetsSubnetRoutingTableDeletedArgs{...} +type GetIsSubnetsSubnetRoutingTableDeletedInput interface { + pulumi.Input + + ToGetIsSubnetsSubnetRoutingTableDeletedOutput() GetIsSubnetsSubnetRoutingTableDeletedOutput + ToGetIsSubnetsSubnetRoutingTableDeletedOutputWithContext(context.Context) GetIsSubnetsSubnetRoutingTableDeletedOutput +} + +type GetIsSubnetsSubnetRoutingTableDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsSubnetsSubnetRoutingTableDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetsSubnetRoutingTableDeleted)(nil)).Elem() +} + +func (i GetIsSubnetsSubnetRoutingTableDeletedArgs) ToGetIsSubnetsSubnetRoutingTableDeletedOutput() GetIsSubnetsSubnetRoutingTableDeletedOutput { + return i.ToGetIsSubnetsSubnetRoutingTableDeletedOutputWithContext(context.Background()) +} + +func (i GetIsSubnetsSubnetRoutingTableDeletedArgs) ToGetIsSubnetsSubnetRoutingTableDeletedOutputWithContext(ctx context.Context) GetIsSubnetsSubnetRoutingTableDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetsSubnetRoutingTableDeletedOutput) +} + +// GetIsSubnetsSubnetRoutingTableDeletedArrayInput is an input type that accepts GetIsSubnetsSubnetRoutingTableDeletedArray and GetIsSubnetsSubnetRoutingTableDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsSubnetsSubnetRoutingTableDeletedArrayInput` via: +// +// GetIsSubnetsSubnetRoutingTableDeletedArray{ GetIsSubnetsSubnetRoutingTableDeletedArgs{...} } +type GetIsSubnetsSubnetRoutingTableDeletedArrayInput interface { + pulumi.Input + + ToGetIsSubnetsSubnetRoutingTableDeletedArrayOutput() GetIsSubnetsSubnetRoutingTableDeletedArrayOutput + ToGetIsSubnetsSubnetRoutingTableDeletedArrayOutputWithContext(context.Context) GetIsSubnetsSubnetRoutingTableDeletedArrayOutput +} + +type GetIsSubnetsSubnetRoutingTableDeletedArray []GetIsSubnetsSubnetRoutingTableDeletedInput + +func (GetIsSubnetsSubnetRoutingTableDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetsSubnetRoutingTableDeleted)(nil)).Elem() +} + +func (i GetIsSubnetsSubnetRoutingTableDeletedArray) ToGetIsSubnetsSubnetRoutingTableDeletedArrayOutput() GetIsSubnetsSubnetRoutingTableDeletedArrayOutput { + return i.ToGetIsSubnetsSubnetRoutingTableDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsSubnetsSubnetRoutingTableDeletedArray) ToGetIsSubnetsSubnetRoutingTableDeletedArrayOutputWithContext(ctx context.Context) GetIsSubnetsSubnetRoutingTableDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsSubnetsSubnetRoutingTableDeletedArrayOutput) +} + +type GetIsSubnetsSubnetRoutingTableDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetsSubnetRoutingTableDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsSubnetsSubnetRoutingTableDeleted)(nil)).Elem() +} + +func (o GetIsSubnetsSubnetRoutingTableDeletedOutput) ToGetIsSubnetsSubnetRoutingTableDeletedOutput() GetIsSubnetsSubnetRoutingTableDeletedOutput { + return o +} + +func (o GetIsSubnetsSubnetRoutingTableDeletedOutput) ToGetIsSubnetsSubnetRoutingTableDeletedOutputWithContext(ctx context.Context) GetIsSubnetsSubnetRoutingTableDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsSubnetsSubnetRoutingTableDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsSubnetsSubnetRoutingTableDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsSubnetsSubnetRoutingTableDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsSubnetsSubnetRoutingTableDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsSubnetsSubnetRoutingTableDeleted)(nil)).Elem() +} + +func (o GetIsSubnetsSubnetRoutingTableDeletedArrayOutput) ToGetIsSubnetsSubnetRoutingTableDeletedArrayOutput() GetIsSubnetsSubnetRoutingTableDeletedArrayOutput { + return o +} + +func (o GetIsSubnetsSubnetRoutingTableDeletedArrayOutput) ToGetIsSubnetsSubnetRoutingTableDeletedArrayOutputWithContext(ctx context.Context) GetIsSubnetsSubnetRoutingTableDeletedArrayOutput { + return o +} + +func (o GetIsSubnetsSubnetRoutingTableDeletedArrayOutput) Index(i pulumi.IntInput) GetIsSubnetsSubnetRoutingTableDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsSubnetsSubnetRoutingTableDeleted { + return vs[0].([]GetIsSubnetsSubnetRoutingTableDeleted)[vs[1].(int)] + }).(GetIsSubnetsSubnetRoutingTableDeletedOutput) +} + +type GetIsVirtualEndpointGatewayIpType struct { + // Endpoint gateway IP Address + Address string `pulumi:"address"` + // The IPs id + Id string `pulumi:"id"` + // The IPs name + Name string `pulumi:"name"` + // Endpoint gateway IP resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualEndpointGatewayIpTypeInput is an input type that accepts GetIsVirtualEndpointGatewayIpTypeArgs and GetIsVirtualEndpointGatewayIpTypeOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayIpTypeInput` via: +// +// GetIsVirtualEndpointGatewayIpTypeArgs{...} +type GetIsVirtualEndpointGatewayIpTypeInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayIpTypeOutput() GetIsVirtualEndpointGatewayIpTypeOutput + ToGetIsVirtualEndpointGatewayIpTypeOutputWithContext(context.Context) GetIsVirtualEndpointGatewayIpTypeOutput +} + +type GetIsVirtualEndpointGatewayIpTypeArgs struct { + // Endpoint gateway IP Address + Address pulumi.StringInput `pulumi:"address"` + // The IPs id + Id pulumi.StringInput `pulumi:"id"` + // The IPs name + Name pulumi.StringInput `pulumi:"name"` + // Endpoint gateway IP resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualEndpointGatewayIpTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayIpType)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayIpTypeArgs) ToGetIsVirtualEndpointGatewayIpTypeOutput() GetIsVirtualEndpointGatewayIpTypeOutput { + return i.ToGetIsVirtualEndpointGatewayIpTypeOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayIpTypeArgs) ToGetIsVirtualEndpointGatewayIpTypeOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayIpTypeOutput) +} + +// GetIsVirtualEndpointGatewayIpTypeArrayInput is an input type that accepts GetIsVirtualEndpointGatewayIpTypeArray and GetIsVirtualEndpointGatewayIpTypeArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayIpTypeArrayInput` via: +// +// GetIsVirtualEndpointGatewayIpTypeArray{ GetIsVirtualEndpointGatewayIpTypeArgs{...} } +type GetIsVirtualEndpointGatewayIpTypeArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayIpTypeArrayOutput() GetIsVirtualEndpointGatewayIpTypeArrayOutput + ToGetIsVirtualEndpointGatewayIpTypeArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewayIpTypeArrayOutput +} + +type GetIsVirtualEndpointGatewayIpTypeArray []GetIsVirtualEndpointGatewayIpTypeInput + +func (GetIsVirtualEndpointGatewayIpTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayIpType)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayIpTypeArray) ToGetIsVirtualEndpointGatewayIpTypeArrayOutput() GetIsVirtualEndpointGatewayIpTypeArrayOutput { + return i.ToGetIsVirtualEndpointGatewayIpTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayIpTypeArray) ToGetIsVirtualEndpointGatewayIpTypeArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayIpTypeArrayOutput) +} + +type GetIsVirtualEndpointGatewayIpTypeOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayIpTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayIpType)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayIpTypeOutput) ToGetIsVirtualEndpointGatewayIpTypeOutput() GetIsVirtualEndpointGatewayIpTypeOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpTypeOutput) ToGetIsVirtualEndpointGatewayIpTypeOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpTypeOutput { + return o +} + +// Endpoint gateway IP Address +func (o GetIsVirtualEndpointGatewayIpTypeOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpType) string { return v.Address }).(pulumi.StringOutput) +} + +// The IPs id +func (o GetIsVirtualEndpointGatewayIpTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpType) string { return v.Id }).(pulumi.StringOutput) +} + +// The IPs name +func (o GetIsVirtualEndpointGatewayIpTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpType) string { return v.Name }).(pulumi.StringOutput) +} + +// Endpoint gateway IP resource type +func (o GetIsVirtualEndpointGatewayIpTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualEndpointGatewayIpTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayIpTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayIpType)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayIpTypeArrayOutput) ToGetIsVirtualEndpointGatewayIpTypeArrayOutput() GetIsVirtualEndpointGatewayIpTypeArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpTypeArrayOutput) ToGetIsVirtualEndpointGatewayIpTypeArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpTypeArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpTypeArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewayIpTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewayIpType { + return vs[0].([]GetIsVirtualEndpointGatewayIpType)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewayIpTypeOutput) +} + +type GetIsVirtualEndpointGatewayIpsIp struct { + // Endpoint gateway IP address + Address string `pulumi:"address"` + // Endpoint gateway IP auto delete + AutoDelete bool `pulumi:"autoDelete"` + // Endpoint gateway IP created date and time + CreatedAt string `pulumi:"createdAt"` + // Endpoint gateway IP name + Name string `pulumi:"name"` + // Endpoint gateway IP id + ReservedIp string `pulumi:"reservedIp"` + // Endpoint gateway IP resource type + ResourceType string `pulumi:"resourceType"` + // Endpoint gateway detail + Targets []GetIsVirtualEndpointGatewayIpsIpTarget `pulumi:"targets"` +} + +// GetIsVirtualEndpointGatewayIpsIpInput is an input type that accepts GetIsVirtualEndpointGatewayIpsIpArgs and GetIsVirtualEndpointGatewayIpsIpOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayIpsIpInput` via: +// +// GetIsVirtualEndpointGatewayIpsIpArgs{...} +type GetIsVirtualEndpointGatewayIpsIpInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayIpsIpOutput() GetIsVirtualEndpointGatewayIpsIpOutput + ToGetIsVirtualEndpointGatewayIpsIpOutputWithContext(context.Context) GetIsVirtualEndpointGatewayIpsIpOutput +} + +type GetIsVirtualEndpointGatewayIpsIpArgs struct { + // Endpoint gateway IP address + Address pulumi.StringInput `pulumi:"address"` + // Endpoint gateway IP auto delete + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // Endpoint gateway IP created date and time + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Endpoint gateway IP name + Name pulumi.StringInput `pulumi:"name"` + // Endpoint gateway IP id + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // Endpoint gateway IP resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Endpoint gateway detail + Targets GetIsVirtualEndpointGatewayIpsIpTargetArrayInput `pulumi:"targets"` +} + +func (GetIsVirtualEndpointGatewayIpsIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsIp)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayIpsIpArgs) ToGetIsVirtualEndpointGatewayIpsIpOutput() GetIsVirtualEndpointGatewayIpsIpOutput { + return i.ToGetIsVirtualEndpointGatewayIpsIpOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayIpsIpArgs) ToGetIsVirtualEndpointGatewayIpsIpOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayIpsIpOutput) +} + +// GetIsVirtualEndpointGatewayIpsIpArrayInput is an input type that accepts GetIsVirtualEndpointGatewayIpsIpArray and GetIsVirtualEndpointGatewayIpsIpArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayIpsIpArrayInput` via: +// +// GetIsVirtualEndpointGatewayIpsIpArray{ GetIsVirtualEndpointGatewayIpsIpArgs{...} } +type GetIsVirtualEndpointGatewayIpsIpArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayIpsIpArrayOutput() GetIsVirtualEndpointGatewayIpsIpArrayOutput + ToGetIsVirtualEndpointGatewayIpsIpArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewayIpsIpArrayOutput +} + +type GetIsVirtualEndpointGatewayIpsIpArray []GetIsVirtualEndpointGatewayIpsIpInput + +func (GetIsVirtualEndpointGatewayIpsIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayIpsIp)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayIpsIpArray) ToGetIsVirtualEndpointGatewayIpsIpArrayOutput() GetIsVirtualEndpointGatewayIpsIpArrayOutput { + return i.ToGetIsVirtualEndpointGatewayIpsIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayIpsIpArray) ToGetIsVirtualEndpointGatewayIpsIpArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayIpsIpArrayOutput) +} + +type GetIsVirtualEndpointGatewayIpsIpOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayIpsIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsIp)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayIpsIpOutput) ToGetIsVirtualEndpointGatewayIpsIpOutput() GetIsVirtualEndpointGatewayIpsIpOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpsIpOutput) ToGetIsVirtualEndpointGatewayIpsIpOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsIpOutput { + return o +} + +// Endpoint gateway IP address +func (o GetIsVirtualEndpointGatewayIpsIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIp) string { return v.Address }).(pulumi.StringOutput) +} + +// Endpoint gateway IP auto delete +func (o GetIsVirtualEndpointGatewayIpsIpOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIp) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// Endpoint gateway IP created date and time +func (o GetIsVirtualEndpointGatewayIpsIpOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIp) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Endpoint gateway IP name +func (o GetIsVirtualEndpointGatewayIpsIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIp) string { return v.Name }).(pulumi.StringOutput) +} + +// Endpoint gateway IP id +func (o GetIsVirtualEndpointGatewayIpsIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// Endpoint gateway IP resource type +func (o GetIsVirtualEndpointGatewayIpsIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Endpoint gateway detail +func (o GetIsVirtualEndpointGatewayIpsIpOutput) Targets() GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIp) []GetIsVirtualEndpointGatewayIpsIpTarget { return v.Targets }).(GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput) +} + +type GetIsVirtualEndpointGatewayIpsIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayIpsIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayIpsIp)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayIpsIpArrayOutput) ToGetIsVirtualEndpointGatewayIpsIpArrayOutput() GetIsVirtualEndpointGatewayIpsIpArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpsIpArrayOutput) ToGetIsVirtualEndpointGatewayIpsIpArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsIpArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpsIpArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewayIpsIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewayIpsIp { + return vs[0].([]GetIsVirtualEndpointGatewayIpsIp)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewayIpsIpOutput) +} + +type GetIsVirtualEndpointGatewayIpsIpTarget struct { + // The IPs target id + Id string `pulumi:"id"` + // The IPs target name + Name string `pulumi:"name"` + // Endpoint gateway resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualEndpointGatewayIpsIpTargetInput is an input type that accepts GetIsVirtualEndpointGatewayIpsIpTargetArgs and GetIsVirtualEndpointGatewayIpsIpTargetOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayIpsIpTargetInput` via: +// +// GetIsVirtualEndpointGatewayIpsIpTargetArgs{...} +type GetIsVirtualEndpointGatewayIpsIpTargetInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayIpsIpTargetOutput() GetIsVirtualEndpointGatewayIpsIpTargetOutput + ToGetIsVirtualEndpointGatewayIpsIpTargetOutputWithContext(context.Context) GetIsVirtualEndpointGatewayIpsIpTargetOutput +} + +type GetIsVirtualEndpointGatewayIpsIpTargetArgs struct { + // The IPs target id + Id pulumi.StringInput `pulumi:"id"` + // The IPs target name + Name pulumi.StringInput `pulumi:"name"` + // Endpoint gateway resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualEndpointGatewayIpsIpTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsIpTarget)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayIpsIpTargetArgs) ToGetIsVirtualEndpointGatewayIpsIpTargetOutput() GetIsVirtualEndpointGatewayIpsIpTargetOutput { + return i.ToGetIsVirtualEndpointGatewayIpsIpTargetOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayIpsIpTargetArgs) ToGetIsVirtualEndpointGatewayIpsIpTargetOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsIpTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayIpsIpTargetOutput) +} + +// GetIsVirtualEndpointGatewayIpsIpTargetArrayInput is an input type that accepts GetIsVirtualEndpointGatewayIpsIpTargetArray and GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayIpsIpTargetArrayInput` via: +// +// GetIsVirtualEndpointGatewayIpsIpTargetArray{ GetIsVirtualEndpointGatewayIpsIpTargetArgs{...} } +type GetIsVirtualEndpointGatewayIpsIpTargetArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayIpsIpTargetArrayOutput() GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput + ToGetIsVirtualEndpointGatewayIpsIpTargetArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput +} + +type GetIsVirtualEndpointGatewayIpsIpTargetArray []GetIsVirtualEndpointGatewayIpsIpTargetInput + +func (GetIsVirtualEndpointGatewayIpsIpTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayIpsIpTarget)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayIpsIpTargetArray) ToGetIsVirtualEndpointGatewayIpsIpTargetArrayOutput() GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput { + return i.ToGetIsVirtualEndpointGatewayIpsIpTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayIpsIpTargetArray) ToGetIsVirtualEndpointGatewayIpsIpTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput) +} + +type GetIsVirtualEndpointGatewayIpsIpTargetOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayIpsIpTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsIpTarget)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayIpsIpTargetOutput) ToGetIsVirtualEndpointGatewayIpsIpTargetOutput() GetIsVirtualEndpointGatewayIpsIpTargetOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpsIpTargetOutput) ToGetIsVirtualEndpointGatewayIpsIpTargetOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsIpTargetOutput { + return o +} + +// The IPs target id +func (o GetIsVirtualEndpointGatewayIpsIpTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIpTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The IPs target name +func (o GetIsVirtualEndpointGatewayIpsIpTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIpTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// Endpoint gateway resource type +func (o GetIsVirtualEndpointGatewayIpsIpTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayIpsIpTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayIpsIpTarget)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput) ToGetIsVirtualEndpointGatewayIpsIpTargetArrayOutput() GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput) ToGetIsVirtualEndpointGatewayIpsIpTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewayIpsIpTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewayIpsIpTarget { + return vs[0].([]GetIsVirtualEndpointGatewayIpsIpTarget)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewayIpsIpTargetOutput) +} + +type GetIsVirtualEndpointGatewayLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualEndpointGatewayLifecycleReasonInput is an input type that accepts GetIsVirtualEndpointGatewayLifecycleReasonArgs and GetIsVirtualEndpointGatewayLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayLifecycleReasonInput` via: +// +// GetIsVirtualEndpointGatewayLifecycleReasonArgs{...} +type GetIsVirtualEndpointGatewayLifecycleReasonInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayLifecycleReasonOutput() GetIsVirtualEndpointGatewayLifecycleReasonOutput + ToGetIsVirtualEndpointGatewayLifecycleReasonOutputWithContext(context.Context) GetIsVirtualEndpointGatewayLifecycleReasonOutput +} + +type GetIsVirtualEndpointGatewayLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualEndpointGatewayLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayLifecycleReasonArgs) ToGetIsVirtualEndpointGatewayLifecycleReasonOutput() GetIsVirtualEndpointGatewayLifecycleReasonOutput { + return i.ToGetIsVirtualEndpointGatewayLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayLifecycleReasonArgs) ToGetIsVirtualEndpointGatewayLifecycleReasonOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayLifecycleReasonOutput) +} + +// GetIsVirtualEndpointGatewayLifecycleReasonArrayInput is an input type that accepts GetIsVirtualEndpointGatewayLifecycleReasonArray and GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayLifecycleReasonArrayInput` via: +// +// GetIsVirtualEndpointGatewayLifecycleReasonArray{ GetIsVirtualEndpointGatewayLifecycleReasonArgs{...} } +type GetIsVirtualEndpointGatewayLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayLifecycleReasonArrayOutput() GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput + ToGetIsVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput +} + +type GetIsVirtualEndpointGatewayLifecycleReasonArray []GetIsVirtualEndpointGatewayLifecycleReasonInput + +func (GetIsVirtualEndpointGatewayLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayLifecycleReasonArray) ToGetIsVirtualEndpointGatewayLifecycleReasonArrayOutput() GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return i.ToGetIsVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayLifecycleReasonArray) ToGetIsVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput) +} + +type GetIsVirtualEndpointGatewayLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayLifecycleReasonOutput) ToGetIsVirtualEndpointGatewayLifecycleReasonOutput() GetIsVirtualEndpointGatewayLifecycleReasonOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayLifecycleReasonOutput) ToGetIsVirtualEndpointGatewayLifecycleReasonOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsVirtualEndpointGatewayLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsVirtualEndpointGatewayLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsVirtualEndpointGatewayLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput) ToGetIsVirtualEndpointGatewayLifecycleReasonArrayOutput() GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput) ToGetIsVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewayLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewayLifecycleReason { + return vs[0].([]GetIsVirtualEndpointGatewayLifecycleReason)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewayLifecycleReasonOutput) +} + +type GetIsVirtualEndpointGatewayTarget struct { + // The target crn + Crn string `pulumi:"crn"` + // The target name + Name string `pulumi:"name"` + // The target resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualEndpointGatewayTargetInput is an input type that accepts GetIsVirtualEndpointGatewayTargetArgs and GetIsVirtualEndpointGatewayTargetOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayTargetInput` via: +// +// GetIsVirtualEndpointGatewayTargetArgs{...} +type GetIsVirtualEndpointGatewayTargetInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayTargetOutput() GetIsVirtualEndpointGatewayTargetOutput + ToGetIsVirtualEndpointGatewayTargetOutputWithContext(context.Context) GetIsVirtualEndpointGatewayTargetOutput +} + +type GetIsVirtualEndpointGatewayTargetArgs struct { + // The target crn + Crn pulumi.StringInput `pulumi:"crn"` + // The target name + Name pulumi.StringInput `pulumi:"name"` + // The target resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualEndpointGatewayTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayTargetArgs) ToGetIsVirtualEndpointGatewayTargetOutput() GetIsVirtualEndpointGatewayTargetOutput { + return i.ToGetIsVirtualEndpointGatewayTargetOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayTargetArgs) ToGetIsVirtualEndpointGatewayTargetOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayTargetOutput) +} + +// GetIsVirtualEndpointGatewayTargetArrayInput is an input type that accepts GetIsVirtualEndpointGatewayTargetArray and GetIsVirtualEndpointGatewayTargetArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewayTargetArrayInput` via: +// +// GetIsVirtualEndpointGatewayTargetArray{ GetIsVirtualEndpointGatewayTargetArgs{...} } +type GetIsVirtualEndpointGatewayTargetArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewayTargetArrayOutput() GetIsVirtualEndpointGatewayTargetArrayOutput + ToGetIsVirtualEndpointGatewayTargetArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewayTargetArrayOutput +} + +type GetIsVirtualEndpointGatewayTargetArray []GetIsVirtualEndpointGatewayTargetInput + +func (GetIsVirtualEndpointGatewayTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewayTargetArray) ToGetIsVirtualEndpointGatewayTargetArrayOutput() GetIsVirtualEndpointGatewayTargetArrayOutput { + return i.ToGetIsVirtualEndpointGatewayTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewayTargetArray) ToGetIsVirtualEndpointGatewayTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewayTargetArrayOutput) +} + +type GetIsVirtualEndpointGatewayTargetOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayTargetOutput) ToGetIsVirtualEndpointGatewayTargetOutput() GetIsVirtualEndpointGatewayTargetOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayTargetOutput) ToGetIsVirtualEndpointGatewayTargetOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayTargetOutput { + return o +} + +// The target crn +func (o GetIsVirtualEndpointGatewayTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// The target name +func (o GetIsVirtualEndpointGatewayTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The target resource type +func (o GetIsVirtualEndpointGatewayTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewayTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualEndpointGatewayTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewayTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewayTargetArrayOutput) ToGetIsVirtualEndpointGatewayTargetArrayOutput() GetIsVirtualEndpointGatewayTargetArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayTargetArrayOutput) ToGetIsVirtualEndpointGatewayTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewayTargetArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewayTargetArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewayTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewayTarget { + return vs[0].([]GetIsVirtualEndpointGatewayTarget)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewayTargetOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGateway struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. + AllowDnsResolutionBinding bool `pulumi:"allowDnsResolutionBinding"` + // Endpoint gateway created date and time + CreatedAt string `pulumi:"createdAt"` + // The CRN for this Endpoint Gateway + Crn string `pulumi:"crn"` + // Endpoint gateway health state + HealthState string `pulumi:"healthState"` + // Endpoint gateway id + Id string `pulumi:"id"` + // Collection of reserved IPs bound to an endpoint gateway + Ips []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp `pulumi:"ips"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason `pulumi:"lifecycleReasons"` + // Endpoint gateway lifecycle state + LifecycleState string `pulumi:"lifecycleState"` + // Endpoint gateway name + Name string `pulumi:"name"` + // The resource group id + ResourceGroup string `pulumi:"resourceGroup"` + // Endpoint gateway resource type + ResourceType string `pulumi:"resourceType"` + // Endpoint gateway securitygroups list + SecurityGroups []string `pulumi:"securityGroups"` + // The fully qualified domain names for the target service. A fully qualified domain name for the target service + ServiceEndpoints []string `pulumi:"serviceEndpoints"` + // List of tags for VPE + Tags []string `pulumi:"tags"` + // Endpoint gateway target + Targets []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget `pulumi:"targets"` + // The VPC id + Vpc string `pulumi:"vpc"` +} + +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayInput is an input type that accepts GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArgs and GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewaysVirtualEndpointGatewayInput` via: +// +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArgs{...} +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutputWithContext(context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. + AllowDnsResolutionBinding pulumi.BoolInput `pulumi:"allowDnsResolutionBinding"` + // Endpoint gateway created date and time + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this Endpoint Gateway + Crn pulumi.StringInput `pulumi:"crn"` + // Endpoint gateway health state + HealthState pulumi.StringInput `pulumi:"healthState"` + // Endpoint gateway id + Id pulumi.StringInput `pulumi:"id"` + // Collection of reserved IPs bound to an endpoint gateway + Ips GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayInput `pulumi:"ips"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // Endpoint gateway lifecycle state + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // Endpoint gateway name + Name pulumi.StringInput `pulumi:"name"` + // The resource group id + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // Endpoint gateway resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Endpoint gateway securitygroups list + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The fully qualified domain names for the target service. A fully qualified domain name for the target service + ServiceEndpoints pulumi.StringArrayInput `pulumi:"serviceEndpoints"` + // List of tags for VPE + Tags pulumi.StringArrayInput `pulumi:"tags"` + // Endpoint gateway target + Targets GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayInput `pulumi:"targets"` + // The VPC id + Vpc pulumi.StringInput `pulumi:"vpc"` +} + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGateway)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArgs) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput { + return i.ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArgs) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) +} + +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayInput is an input type that accepts GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArray and GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayInput` via: +// +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArray{ GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArgs{...} } +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArray []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayInput + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewaysVirtualEndpointGateway)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArray) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput { + return i.ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArray) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGateway)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput { + return o +} + +// List of access management tags +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true. +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) AllowDnsResolutionBinding() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) bool { return v.AllowDnsResolutionBinding }).(pulumi.BoolOutput) +} + +// Endpoint gateway created date and time +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this Endpoint Gateway +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.Crn }).(pulumi.StringOutput) +} + +// Endpoint gateway health state +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.HealthState }).(pulumi.StringOutput) +} + +// Endpoint gateway id +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.Id }).(pulumi.StringOutput) +} + +// Collection of reserved IPs bound to an endpoint gateway +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) Ips() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp { + return v.Ips + }).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) LifecycleReasons() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason { + return v.LifecycleReasons + }).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput) +} + +// Endpoint gateway lifecycle state +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Endpoint gateway name +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group id +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// Endpoint gateway resource type +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Endpoint gateway securitygroups list +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// The fully qualified domain names for the target service. A fully qualified domain name for the target service +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) ServiceEndpoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) []string { return v.ServiceEndpoints }).(pulumi.StringArrayOutput) +} + +// List of tags for VPE +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Endpoint gateway target +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) Targets() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget { + return v.Targets + }).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput) +} + +// The VPC id +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) Vpc() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGateway) string { return v.Vpc }).(pulumi.StringOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewaysVirtualEndpointGateway)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewaysVirtualEndpointGateway { + return vs[0].([]GetIsVirtualEndpointGatewaysVirtualEndpointGateway)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp struct { + // The unique identifier for this reserved IP + Id string `pulumi:"id"` + // The user-defined or system-provided name for this reserved IP + Name string `pulumi:"name"` + // The resource type(subnet_reserved_ip) + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpInput is an input type that accepts GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArgs and GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpInput` via: +// +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArgs{...} +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutputWithContext(context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArgs struct { + // The unique identifier for this reserved IP + Id pulumi.StringInput `pulumi:"id"` + // The user-defined or system-provided name for this reserved IP + Name pulumi.StringInput `pulumi:"name"` + // The resource type(subnet_reserved_ip) + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArgs) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput { + return i.ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArgs) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput) +} + +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayInput is an input type that accepts GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArray and GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayInput` via: +// +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArray{ GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArgs{...} } +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArray []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpInput + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArray) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput { + return i.ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArray) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput { + return o +} + +// The unique identifier for this reserved IP +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this reserved IP +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type(subnet_reserved_ip) +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp { + return vs[0].([]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIp)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonInput is an input type that accepts GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArgs and GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonInput` via: +// +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArgs{...} +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutputWithContext(context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArgs) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput { + return i.ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArgs) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput) +} + +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayInput is an input type that accepts GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArray and GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayInput` via: +// +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArray{ GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArgs{...} } +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArray []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonInput + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArray) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput { + return i.ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArray) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason { + return vs[0].([]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReason)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget struct { + // The target crn + Crn string `pulumi:"crn"` + // The target name + Name string `pulumi:"name"` + // The target resource type + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetInput is an input type that accepts GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArgs and GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetInput` via: +// +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArgs{...} +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutputWithContext(context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArgs struct { + // The target crn + Crn pulumi.StringInput `pulumi:"crn"` + // The target name + Name pulumi.StringInput `pulumi:"name"` + // The target resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArgs) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput { + return i.ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArgs) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput) +} + +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayInput is an input type that accepts GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArray and GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayInput` via: +// +// GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArray{ GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArgs{...} } +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayInput interface { + pulumi.Input + + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput + ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutputWithContext(context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArray []GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetInput + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArray) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput { + return i.ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArray) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput { + return o +} + +// The target crn +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget) string { return v.Crn }).(pulumi.StringOutput) +} + +// The target name +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The target resource type +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget)(nil)).Elem() +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput() GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput) ToGetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput { + return o +} + +func (o GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput) Index(i pulumi.IntInput) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget { + return vs[0].([]GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTarget)[vs[1].(int)] + }).(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpDeleted struct { + // Link to documentation about deleted resources + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfaceFloatingIpDeletedInput is an input type that accepts GetIsVirtualNetworkInterfaceFloatingIpDeletedArgs and GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceFloatingIpDeletedInput` via: +// +// GetIsVirtualNetworkInterfaceFloatingIpDeletedArgs{...} +type GetIsVirtualNetworkInterfaceFloatingIpDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceFloatingIpDeletedOutput() GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput + ToGetIsVirtualNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput +} + +type GetIsVirtualNetworkInterfaceFloatingIpDeletedArgs struct { + // Link to documentation about deleted resources + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfaceFloatingIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpDeletedArgs) ToGetIsVirtualNetworkInterfaceFloatingIpDeletedOutput() GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return i.ToGetIsVirtualNetworkInterfaceFloatingIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpDeletedArgs) ToGetIsVirtualNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput) +} + +// GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceFloatingIpDeletedArray and GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfaceFloatingIpDeletedArray{ GetIsVirtualNetworkInterfaceFloatingIpDeletedArgs{...} } +type GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput + ToGetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfaceFloatingIpDeletedArray []GetIsVirtualNetworkInterfaceFloatingIpDeletedInput + +func (GetIsVirtualNetworkInterfaceFloatingIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpDeletedArray) ToGetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpDeletedArray) ToGetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput) ToGetIsVirtualNetworkInterfaceFloatingIpDeletedOutput() GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput) ToGetIsVirtualNetworkInterfaceFloatingIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources +func (o GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceFloatingIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceFloatingIpDeleted { + return vs[0].([]GetIsVirtualNetworkInterfaceFloatingIpDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp struct { + // The globally unique IP address. + Address string `pulumi:"address"` + // The CRN for this floating IP. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. + Deleteds []GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted `pulumi:"deleteds"` + // The URL for this floating IP. + Href string `pulumi:"href"` + // The floating IP identifier + Id string `pulumi:"id"` + // The name for this floating IP. The name is unique across all floating IPs in the region. + Name string `pulumi:"name"` +} + +// GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpInput is an input type that accepts GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArgs and GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpInput` via: +// +// GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArgs{...} +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput + ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArgs struct { + // The globally unique IP address. + Address pulumi.StringInput `pulumi:"address"` + // The CRN for this floating IP. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. + Deleteds GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this floating IP. + Href pulumi.StringInput `pulumi:"href"` + // The floating IP identifier + Id pulumi.StringInput `pulumi:"id"` + // The name for this floating IP. The name is unique across all floating IPs in the region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArgs) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput { + return i.ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArgs) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) +} + +// GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArray and GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayInput` via: +// +// GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArray{ GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArgs{...} } +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput + ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArray []GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpInput + +func (GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArray) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArray) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput { + return o +} + +// The globally unique IP address. +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The CRN for this floating IP. +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and provides some supplementary information. +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) Deleteds() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp) []GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput) +} + +// The URL for this floating IP. +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The floating IP identifier +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this floating IP. The name is unique across all floating IPs in the region. +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp { + return vs[0].([]GetIsVirtualNetworkInterfaceFloatingIpsFloatingIp)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted struct { + // Link to documentation about deleted resources + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedInput is an input type that accepts GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArgs and GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedInput` via: +// +// GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArgs{...} +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput + ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArgs struct { + // Link to documentation about deleted resources + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArgs) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput { + return i.ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArgs) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput) +} + +// GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArray and GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArray{ GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArgs{...} } +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput + ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArray []GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedInput + +func (GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArray) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArray) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted { + return vs[0].([]GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput) +} + +type GetIsVirtualNetworkInterfaceIpType struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfaceIpTypeInput is an input type that accepts GetIsVirtualNetworkInterfaceIpTypeArgs and GetIsVirtualNetworkInterfaceIpTypeOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceIpTypeInput` via: +// +// GetIsVirtualNetworkInterfaceIpTypeArgs{...} +type GetIsVirtualNetworkInterfaceIpTypeInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceIpTypeOutput() GetIsVirtualNetworkInterfaceIpTypeOutput + ToGetIsVirtualNetworkInterfaceIpTypeOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceIpTypeOutput +} + +type GetIsVirtualNetworkInterfaceIpTypeArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfaceIpTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpType)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceIpTypeArgs) ToGetIsVirtualNetworkInterfaceIpTypeOutput() GetIsVirtualNetworkInterfaceIpTypeOutput { + return i.ToGetIsVirtualNetworkInterfaceIpTypeOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceIpTypeArgs) ToGetIsVirtualNetworkInterfaceIpTypeOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceIpTypeOutput) +} + +// GetIsVirtualNetworkInterfaceIpTypeArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceIpTypeArray and GetIsVirtualNetworkInterfaceIpTypeArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceIpTypeArrayInput` via: +// +// GetIsVirtualNetworkInterfaceIpTypeArray{ GetIsVirtualNetworkInterfaceIpTypeArgs{...} } +type GetIsVirtualNetworkInterfaceIpTypeArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceIpTypeArrayOutput() GetIsVirtualNetworkInterfaceIpTypeArrayOutput + ToGetIsVirtualNetworkInterfaceIpTypeArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceIpTypeArrayOutput +} + +type GetIsVirtualNetworkInterfaceIpTypeArray []GetIsVirtualNetworkInterfaceIpTypeInput + +func (GetIsVirtualNetworkInterfaceIpTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceIpType)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceIpTypeArray) ToGetIsVirtualNetworkInterfaceIpTypeArrayOutput() GetIsVirtualNetworkInterfaceIpTypeArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceIpTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceIpTypeArray) ToGetIsVirtualNetworkInterfaceIpTypeArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceIpTypeArrayOutput) +} + +type GetIsVirtualNetworkInterfaceIpTypeOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceIpTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpType)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceIpTypeOutput) ToGetIsVirtualNetworkInterfaceIpTypeOutput() GetIsVirtualNetworkInterfaceIpTypeOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpTypeOutput) ToGetIsVirtualNetworkInterfaceIpTypeOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpTypeOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVirtualNetworkInterfaceIpTypeOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpType) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfaceIpTypeOutput) Deleteds() GetIsVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpType) []GetIsVirtualNetworkInterfaceIpDeleted { return v.Deleteds }).(GetIsVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsVirtualNetworkInterfaceIpTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsVirtualNetworkInterfaceIpTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpType) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsVirtualNetworkInterfaceIpTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpType) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfaceIpTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceIpTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceIpTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceIpType)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceIpTypeArrayOutput) ToGetIsVirtualNetworkInterfaceIpTypeArrayOutput() GetIsVirtualNetworkInterfaceIpTypeArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpTypeArrayOutput) ToGetIsVirtualNetworkInterfaceIpTypeArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpTypeArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpTypeArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceIpTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceIpType { + return vs[0].([]GetIsVirtualNetworkInterfaceIpType)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceIpTypeOutput) +} + +type GetIsVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfaceIpDeletedInput is an input type that accepts GetIsVirtualNetworkInterfaceIpDeletedArgs and GetIsVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceIpDeletedInput` via: +// +// GetIsVirtualNetworkInterfaceIpDeletedArgs{...} +type GetIsVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceIpDeletedOutput() GetIsVirtualNetworkInterfaceIpDeletedOutput + ToGetIsVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceIpDeletedOutput +} + +type GetIsVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceIpDeletedArgs) ToGetIsVirtualNetworkInterfaceIpDeletedOutput() GetIsVirtualNetworkInterfaceIpDeletedOutput { + return i.ToGetIsVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceIpDeletedArgs) ToGetIsVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceIpDeletedOutput) +} + +// GetIsVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceIpDeletedArray and GetIsVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfaceIpDeletedArray{ GetIsVirtualNetworkInterfaceIpDeletedArgs{...} } +type GetIsVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceIpDeletedArrayOutput + ToGetIsVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfaceIpDeletedArray []GetIsVirtualNetworkInterfaceIpDeletedInput + +func (GetIsVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceIpDeletedArray) ToGetIsVirtualNetworkInterfaceIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceIpDeletedArray) ToGetIsVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceIpDeletedOutput) ToGetIsVirtualNetworkInterfaceIpDeletedOutput() GetIsVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpDeletedOutput) ToGetIsVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceIpDeletedArrayOutput() GetIsVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceIpDeleted { + return vs[0].([]GetIsVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceIpDeletedOutput) +} + +type GetIsVirtualNetworkInterfaceIpsReservedIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp string `pulumi:"reservedIp"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfaceIpsReservedIpInput is an input type that accepts GetIsVirtualNetworkInterfaceIpsReservedIpArgs and GetIsVirtualNetworkInterfaceIpsReservedIpOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceIpsReservedIpInput` via: +// +// GetIsVirtualNetworkInterfaceIpsReservedIpArgs{...} +type GetIsVirtualNetworkInterfaceIpsReservedIpInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceIpsReservedIpOutput() GetIsVirtualNetworkInterfaceIpsReservedIpOutput + ToGetIsVirtualNetworkInterfaceIpsReservedIpOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceIpsReservedIpOutput +} + +type GetIsVirtualNetworkInterfaceIpsReservedIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The unique identifier for this reserved IP. + ReservedIp pulumi.StringInput `pulumi:"reservedIp"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfaceIpsReservedIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpsReservedIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceIpsReservedIpArgs) ToGetIsVirtualNetworkInterfaceIpsReservedIpOutput() GetIsVirtualNetworkInterfaceIpsReservedIpOutput { + return i.ToGetIsVirtualNetworkInterfaceIpsReservedIpOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceIpsReservedIpArgs) ToGetIsVirtualNetworkInterfaceIpsReservedIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpsReservedIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceIpsReservedIpOutput) +} + +// GetIsVirtualNetworkInterfaceIpsReservedIpArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceIpsReservedIpArray and GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceIpsReservedIpArrayInput` via: +// +// GetIsVirtualNetworkInterfaceIpsReservedIpArray{ GetIsVirtualNetworkInterfaceIpsReservedIpArgs{...} } +type GetIsVirtualNetworkInterfaceIpsReservedIpArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput() GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput + ToGetIsVirtualNetworkInterfaceIpsReservedIpArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput +} + +type GetIsVirtualNetworkInterfaceIpsReservedIpArray []GetIsVirtualNetworkInterfaceIpsReservedIpInput + +func (GetIsVirtualNetworkInterfaceIpsReservedIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceIpsReservedIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceIpsReservedIpArray) ToGetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput() GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceIpsReservedIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceIpsReservedIpArray) ToGetIsVirtualNetworkInterfaceIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput) +} + +type GetIsVirtualNetworkInterfaceIpsReservedIpOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceIpsReservedIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpsReservedIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceIpsReservedIpOutput) ToGetIsVirtualNetworkInterfaceIpsReservedIpOutput() GetIsVirtualNetworkInterfaceIpsReservedIpOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpsReservedIpOutput) ToGetIsVirtualNetworkInterfaceIpsReservedIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpsReservedIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVirtualNetworkInterfaceIpsReservedIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsReservedIp) string { return v.Address }).(pulumi.StringOutput) +} + +// The URL for this reserved IP. +func (o GetIsVirtualNetworkInterfaceIpsReservedIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsReservedIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsVirtualNetworkInterfaceIpsReservedIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsReservedIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsVirtualNetworkInterfaceIpsReservedIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsReservedIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsVirtualNetworkInterfaceIpsReservedIpOutput) ReservedIp() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsReservedIp) string { return v.ReservedIp }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfaceIpsReservedIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceIpsReservedIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceIpsReservedIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput) ToGetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput() GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput) ToGetIsVirtualNetworkInterfaceIpsReservedIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceIpsReservedIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceIpsReservedIp { + return vs[0].([]GetIsVirtualNetworkInterfaceIpsReservedIp)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceIpsReservedIpOutput) +} + +type GetIsVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfacePrimaryIpInput is an input type that accepts GetIsVirtualNetworkInterfacePrimaryIpArgs and GetIsVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacePrimaryIpInput` via: +// +// GetIsVirtualNetworkInterfacePrimaryIpArgs{...} +type GetIsVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacePrimaryIpOutput() GetIsVirtualNetworkInterfacePrimaryIpOutput + ToGetIsVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsVirtualNetworkInterfacePrimaryIpOutput +} + +type GetIsVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacePrimaryIpArgs) ToGetIsVirtualNetworkInterfacePrimaryIpOutput() GetIsVirtualNetworkInterfacePrimaryIpOutput { + return i.ToGetIsVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacePrimaryIpArgs) ToGetIsVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacePrimaryIpOutput) +} + +// GetIsVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsVirtualNetworkInterfacePrimaryIpArray and GetIsVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsVirtualNetworkInterfacePrimaryIpArray{ GetIsVirtualNetworkInterfacePrimaryIpArgs{...} } +type GetIsVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsVirtualNetworkInterfacePrimaryIpArrayOutput + ToGetIsVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsVirtualNetworkInterfacePrimaryIpArray []GetIsVirtualNetworkInterfacePrimaryIpInput + +func (GetIsVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacePrimaryIpArray) ToGetIsVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacePrimaryIpArray) ToGetIsVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpOutput) ToGetIsVirtualNetworkInterfacePrimaryIpOutput() GetIsVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpOutput) ToGetIsVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfacePrimaryIpOutput) Deleteds() GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacePrimaryIp) []GetIsVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsVirtualNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacePrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacePrimaryIp { + return vs[0].([]GetIsVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacePrimaryIpOutput) +} + +type GetIsVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts GetIsVirtualNetworkInterfacePrimaryIpDeletedArgs and GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// GetIsVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type GetIsVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacePrimaryIpDeletedOutput() GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput + ToGetIsVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type GetIsVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacePrimaryIpDeletedArgs) ToGetIsVirtualNetworkInterfacePrimaryIpDeletedOutput() GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToGetIsVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacePrimaryIpDeletedArgs) ToGetIsVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfacePrimaryIpDeletedArray and GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfacePrimaryIpDeletedArray{ GetIsVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToGetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfacePrimaryIpDeletedArray []GetIsVirtualNetworkInterfacePrimaryIpDeletedInput + +func (GetIsVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacePrimaryIpDeletedArray) ToGetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacePrimaryIpDeletedArray) ToGetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput) ToGetIsVirtualNetworkInterfacePrimaryIpDeletedOutput() GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput) ToGetIsVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacePrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]GetIsVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type GetIsVirtualNetworkInterfaceResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVirtualNetworkInterfaceResourceGroupInput is an input type that accepts GetIsVirtualNetworkInterfaceResourceGroupArgs and GetIsVirtualNetworkInterfaceResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceResourceGroupInput` via: +// +// GetIsVirtualNetworkInterfaceResourceGroupArgs{...} +type GetIsVirtualNetworkInterfaceResourceGroupInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceResourceGroupOutput() GetIsVirtualNetworkInterfaceResourceGroupOutput + ToGetIsVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceResourceGroupOutput +} + +type GetIsVirtualNetworkInterfaceResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVirtualNetworkInterfaceResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceResourceGroupArgs) ToGetIsVirtualNetworkInterfaceResourceGroupOutput() GetIsVirtualNetworkInterfaceResourceGroupOutput { + return i.ToGetIsVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceResourceGroupArgs) ToGetIsVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceResourceGroupOutput) +} + +// GetIsVirtualNetworkInterfaceResourceGroupArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceResourceGroupArray and GetIsVirtualNetworkInterfaceResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceResourceGroupArrayInput` via: +// +// GetIsVirtualNetworkInterfaceResourceGroupArray{ GetIsVirtualNetworkInterfaceResourceGroupArgs{...} } +type GetIsVirtualNetworkInterfaceResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsVirtualNetworkInterfaceResourceGroupArrayOutput + ToGetIsVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceResourceGroupArrayOutput +} + +type GetIsVirtualNetworkInterfaceResourceGroupArray []GetIsVirtualNetworkInterfaceResourceGroupInput + +func (GetIsVirtualNetworkInterfaceResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceResourceGroupArray) ToGetIsVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsVirtualNetworkInterfaceResourceGroupArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceResourceGroupArray) ToGetIsVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +type GetIsVirtualNetworkInterfaceResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceResourceGroupOutput) ToGetIsVirtualNetworkInterfaceResourceGroupOutput() GetIsVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceResourceGroupOutput) ToGetIsVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVirtualNetworkInterfaceResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVirtualNetworkInterfaceResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsVirtualNetworkInterfaceResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceResourceGroup { + return vs[0].([]GetIsVirtualNetworkInterfaceResourceGroup)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceResourceGroupOutput) +} + +type GetIsVirtualNetworkInterfaceSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfaceSecurityGroupDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The name for this security group. The name is unique across all security groups for the VPC. + Name string `pulumi:"name"` +} + +// GetIsVirtualNetworkInterfaceSecurityGroupInput is an input type that accepts GetIsVirtualNetworkInterfaceSecurityGroupArgs and GetIsVirtualNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceSecurityGroupInput` via: +// +// GetIsVirtualNetworkInterfaceSecurityGroupArgs{...} +type GetIsVirtualNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceSecurityGroupOutput() GetIsVirtualNetworkInterfaceSecurityGroupOutput + ToGetIsVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceSecurityGroupOutput +} + +type GetIsVirtualNetworkInterfaceSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this security group. The name is unique across all security groups for the VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVirtualNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsVirtualNetworkInterfaceSecurityGroupOutput() GetIsVirtualNetworkInterfaceSecurityGroupOutput { + return i.ToGetIsVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceSecurityGroupOutput) +} + +// GetIsVirtualNetworkInterfaceSecurityGroupArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceSecurityGroupArray and GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceSecurityGroupArrayInput` via: +// +// GetIsVirtualNetworkInterfaceSecurityGroupArray{ GetIsVirtualNetworkInterfaceSecurityGroupArgs{...} } +type GetIsVirtualNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput + ToGetIsVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput +} + +type GetIsVirtualNetworkInterfaceSecurityGroupArray []GetIsVirtualNetworkInterfaceSecurityGroupInput + +func (GetIsVirtualNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceSecurityGroupArray) ToGetIsVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceSecurityGroupArray) ToGetIsVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +type GetIsVirtualNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsVirtualNetworkInterfaceSecurityGroupOutput() GetIsVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsVirtualNetworkInterfaceSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSecurityGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfaceSecurityGroupOutput) Deleteds() GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSecurityGroup) []GetIsVirtualNetworkInterfaceSecurityGroupDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsVirtualNetworkInterfaceSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSecurityGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsVirtualNetworkInterfaceSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this security group. The name is unique across all security groups for the VPC. +func (o GetIsVirtualNetworkInterfaceSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceSecurityGroup { + return vs[0].([]GetIsVirtualNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceSecurityGroupOutput) +} + +type GetIsVirtualNetworkInterfaceSecurityGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfaceSecurityGroupDeletedInput is an input type that accepts GetIsVirtualNetworkInterfaceSecurityGroupDeletedArgs and GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceSecurityGroupDeletedInput` via: +// +// GetIsVirtualNetworkInterfaceSecurityGroupDeletedArgs{...} +type GetIsVirtualNetworkInterfaceSecurityGroupDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput() GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput + ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput +} + +type GetIsVirtualNetworkInterfaceSecurityGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfaceSecurityGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceSecurityGroupDeletedArgs) ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput() GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return i.ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceSecurityGroupDeletedArgs) ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput) +} + +// GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceSecurityGroupDeletedArray and GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfaceSecurityGroupDeletedArray{ GetIsVirtualNetworkInterfaceSecurityGroupDeletedArgs{...} } +type GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput + ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfaceSecurityGroupDeletedArray []GetIsVirtualNetworkInterfaceSecurityGroupDeletedInput + +func (GetIsVirtualNetworkInterfaceSecurityGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceSecurityGroupDeletedArray) ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceSecurityGroupDeletedArray) ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput) ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput() GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput) ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSecurityGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceSecurityGroupDeleted { + return vs[0].([]GetIsVirtualNetworkInterfaceSecurityGroupDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput) +} + +type GetIsVirtualNetworkInterfaceSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfaceSubnetInput is an input type that accepts GetIsVirtualNetworkInterfaceSubnetArgs and GetIsVirtualNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceSubnetInput` via: +// +// GetIsVirtualNetworkInterfaceSubnetArgs{...} +type GetIsVirtualNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceSubnetOutput() GetIsVirtualNetworkInterfaceSubnetOutput + ToGetIsVirtualNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceSubnetOutput +} + +type GetIsVirtualNetworkInterfaceSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceSubnetArgs) ToGetIsVirtualNetworkInterfaceSubnetOutput() GetIsVirtualNetworkInterfaceSubnetOutput { + return i.ToGetIsVirtualNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceSubnetArgs) ToGetIsVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceSubnetOutput) +} + +// GetIsVirtualNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceSubnetArray and GetIsVirtualNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceSubnetArrayInput` via: +// +// GetIsVirtualNetworkInterfaceSubnetArray{ GetIsVirtualNetworkInterfaceSubnetArgs{...} } +type GetIsVirtualNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceSubnetArrayOutput() GetIsVirtualNetworkInterfaceSubnetArrayOutput + ToGetIsVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceSubnetArrayOutput +} + +type GetIsVirtualNetworkInterfaceSubnetArray []GetIsVirtualNetworkInterfaceSubnetInput + +func (GetIsVirtualNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceSubnetArray) ToGetIsVirtualNetworkInterfaceSubnetArrayOutput() GetIsVirtualNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceSubnetArray) ToGetIsVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsVirtualNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceSubnetOutput) ToGetIsVirtualNetworkInterfaceSubnetOutput() GetIsVirtualNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSubnetOutput) ToGetIsVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsVirtualNetworkInterfaceSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfaceSubnetOutput) Deleteds() GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSubnet) []GetIsVirtualNetworkInterfaceSubnetDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsVirtualNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsVirtualNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsVirtualNetworkInterfaceSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfaceSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsVirtualNetworkInterfaceSubnetArrayOutput() GetIsVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceSubnet { + return vs[0].([]GetIsVirtualNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceSubnetOutput) +} + +type GetIsVirtualNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfaceSubnetDeletedInput is an input type that accepts GetIsVirtualNetworkInterfaceSubnetDeletedArgs and GetIsVirtualNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceSubnetDeletedInput` via: +// +// GetIsVirtualNetworkInterfaceSubnetDeletedArgs{...} +type GetIsVirtualNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceSubnetDeletedOutput() GetIsVirtualNetworkInterfaceSubnetDeletedOutput + ToGetIsVirtualNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceSubnetDeletedOutput +} + +type GetIsVirtualNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceSubnetDeletedArgs) ToGetIsVirtualNetworkInterfaceSubnetDeletedOutput() GetIsVirtualNetworkInterfaceSubnetDeletedOutput { + return i.ToGetIsVirtualNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceSubnetDeletedArgs) ToGetIsVirtualNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceSubnetDeletedOutput) +} + +// GetIsVirtualNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceSubnetDeletedArray and GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceSubnetDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfaceSubnetDeletedArray{ GetIsVirtualNetworkInterfaceSubnetDeletedArgs{...} } +type GetIsVirtualNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput() GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput + ToGetIsVirtualNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfaceSubnetDeletedArray []GetIsVirtualNetworkInterfaceSubnetDeletedInput + +func (GetIsVirtualNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceSubnetDeletedArray) ToGetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput() GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceSubnetDeletedArray) ToGetIsVirtualNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceSubnetDeletedOutput) ToGetIsVirtualNetworkInterfaceSubnetDeletedOutput() GetIsVirtualNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSubnetDeletedOutput) ToGetIsVirtualNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput() GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceSubnetDeleted { + return vs[0].([]GetIsVirtualNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceSubnetDeletedOutput) +} + +type GetIsVirtualNetworkInterfaceTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfaceTargetDeleted `pulumi:"deleteds"` + // The URL for this share mount target. + Href string `pulumi:"href"` + // The unique identifier for this share mount target. + Id string `pulumi:"id"` + // The name for this share mount target. The name is unique across all targets for the file share. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfaceTargetInput is an input type that accepts GetIsVirtualNetworkInterfaceTargetArgs and GetIsVirtualNetworkInterfaceTargetOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceTargetInput` via: +// +// GetIsVirtualNetworkInterfaceTargetArgs{...} +type GetIsVirtualNetworkInterfaceTargetInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceTargetOutput() GetIsVirtualNetworkInterfaceTargetOutput + ToGetIsVirtualNetworkInterfaceTargetOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceTargetOutput +} + +type GetIsVirtualNetworkInterfaceTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfaceTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share mount target. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share mount target. + Id pulumi.StringInput `pulumi:"id"` + // The name for this share mount target. The name is unique across all targets for the file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfaceTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceTargetArgs) ToGetIsVirtualNetworkInterfaceTargetOutput() GetIsVirtualNetworkInterfaceTargetOutput { + return i.ToGetIsVirtualNetworkInterfaceTargetOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceTargetArgs) ToGetIsVirtualNetworkInterfaceTargetOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceTargetOutput) +} + +// GetIsVirtualNetworkInterfaceTargetArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceTargetArray and GetIsVirtualNetworkInterfaceTargetArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceTargetArrayInput` via: +// +// GetIsVirtualNetworkInterfaceTargetArray{ GetIsVirtualNetworkInterfaceTargetArgs{...} } +type GetIsVirtualNetworkInterfaceTargetArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceTargetArrayOutput() GetIsVirtualNetworkInterfaceTargetArrayOutput + ToGetIsVirtualNetworkInterfaceTargetArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceTargetArrayOutput +} + +type GetIsVirtualNetworkInterfaceTargetArray []GetIsVirtualNetworkInterfaceTargetInput + +func (GetIsVirtualNetworkInterfaceTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceTargetArray) ToGetIsVirtualNetworkInterfaceTargetArrayOutput() GetIsVirtualNetworkInterfaceTargetArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceTargetArray) ToGetIsVirtualNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceTargetArrayOutput) +} + +type GetIsVirtualNetworkInterfaceTargetOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceTargetOutput) ToGetIsVirtualNetworkInterfaceTargetOutput() GetIsVirtualNetworkInterfaceTargetOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceTargetOutput) ToGetIsVirtualNetworkInterfaceTargetOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfaceTargetOutput) Deleteds() GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceTarget) []GetIsVirtualNetworkInterfaceTargetDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput) +} + +// The URL for this share mount target. +func (o GetIsVirtualNetworkInterfaceTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share mount target. +func (o GetIsVirtualNetworkInterfaceTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this share mount target. The name is unique across all targets for the file share. +func (o GetIsVirtualNetworkInterfaceTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfaceTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceTargetArrayOutput) ToGetIsVirtualNetworkInterfaceTargetArrayOutput() GetIsVirtualNetworkInterfaceTargetArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceTargetArrayOutput) ToGetIsVirtualNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceTargetArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceTargetArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceTarget { + return vs[0].([]GetIsVirtualNetworkInterfaceTarget)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceTargetOutput) +} + +type GetIsVirtualNetworkInterfaceTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfaceTargetDeletedInput is an input type that accepts GetIsVirtualNetworkInterfaceTargetDeletedArgs and GetIsVirtualNetworkInterfaceTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceTargetDeletedInput` via: +// +// GetIsVirtualNetworkInterfaceTargetDeletedArgs{...} +type GetIsVirtualNetworkInterfaceTargetDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceTargetDeletedOutput() GetIsVirtualNetworkInterfaceTargetDeletedOutput + ToGetIsVirtualNetworkInterfaceTargetDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceTargetDeletedOutput +} + +type GetIsVirtualNetworkInterfaceTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfaceTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceTargetDeletedArgs) ToGetIsVirtualNetworkInterfaceTargetDeletedOutput() GetIsVirtualNetworkInterfaceTargetDeletedOutput { + return i.ToGetIsVirtualNetworkInterfaceTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceTargetDeletedArgs) ToGetIsVirtualNetworkInterfaceTargetDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceTargetDeletedOutput) +} + +// GetIsVirtualNetworkInterfaceTargetDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceTargetDeletedArray and GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceTargetDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfaceTargetDeletedArray{ GetIsVirtualNetworkInterfaceTargetDeletedArgs{...} } +type GetIsVirtualNetworkInterfaceTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceTargetDeletedArrayOutput() GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput + ToGetIsVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfaceTargetDeletedArray []GetIsVirtualNetworkInterfaceTargetDeletedInput + +func (GetIsVirtualNetworkInterfaceTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceTargetDeletedArray) ToGetIsVirtualNetworkInterfaceTargetDeletedArrayOutput() GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceTargetDeletedArray) ToGetIsVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfaceTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceTargetDeletedOutput) ToGetIsVirtualNetworkInterfaceTargetDeletedOutput() GetIsVirtualNetworkInterfaceTargetDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceTargetDeletedOutput) ToGetIsVirtualNetworkInterfaceTargetDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfaceTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceTargetDeletedArrayOutput() GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceTargetDeleted { + return vs[0].([]GetIsVirtualNetworkInterfaceTargetDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceTargetDeletedOutput) +} + +type GetIsVirtualNetworkInterfaceVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfaceVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfaceVpcInput is an input type that accepts GetIsVirtualNetworkInterfaceVpcArgs and GetIsVirtualNetworkInterfaceVpcOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceVpcInput` via: +// +// GetIsVirtualNetworkInterfaceVpcArgs{...} +type GetIsVirtualNetworkInterfaceVpcInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceVpcOutput() GetIsVirtualNetworkInterfaceVpcOutput + ToGetIsVirtualNetworkInterfaceVpcOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceVpcOutput +} + +type GetIsVirtualNetworkInterfaceVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfaceVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfaceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceVpcArgs) ToGetIsVirtualNetworkInterfaceVpcOutput() GetIsVirtualNetworkInterfaceVpcOutput { + return i.ToGetIsVirtualNetworkInterfaceVpcOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceVpcArgs) ToGetIsVirtualNetworkInterfaceVpcOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceVpcOutput) +} + +// GetIsVirtualNetworkInterfaceVpcArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceVpcArray and GetIsVirtualNetworkInterfaceVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceVpcArrayInput` via: +// +// GetIsVirtualNetworkInterfaceVpcArray{ GetIsVirtualNetworkInterfaceVpcArgs{...} } +type GetIsVirtualNetworkInterfaceVpcArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceVpcArrayOutput() GetIsVirtualNetworkInterfaceVpcArrayOutput + ToGetIsVirtualNetworkInterfaceVpcArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceVpcArrayOutput +} + +type GetIsVirtualNetworkInterfaceVpcArray []GetIsVirtualNetworkInterfaceVpcInput + +func (GetIsVirtualNetworkInterfaceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceVpcArray) ToGetIsVirtualNetworkInterfaceVpcArrayOutput() GetIsVirtualNetworkInterfaceVpcArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceVpcArray) ToGetIsVirtualNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceVpcArrayOutput) +} + +type GetIsVirtualNetworkInterfaceVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceVpcOutput) ToGetIsVirtualNetworkInterfaceVpcOutput() GetIsVirtualNetworkInterfaceVpcOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceVpcOutput) ToGetIsVirtualNetworkInterfaceVpcOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVirtualNetworkInterfaceVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfaceVpcOutput) Deleteds() GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceVpc) []GetIsVirtualNetworkInterfaceVpcDeleted { return v.Deleteds }).(GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsVirtualNetworkInterfaceVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVirtualNetworkInterfaceVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsVirtualNetworkInterfaceVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfaceVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceVpcArrayOutput) ToGetIsVirtualNetworkInterfaceVpcArrayOutput() GetIsVirtualNetworkInterfaceVpcArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceVpcArrayOutput) ToGetIsVirtualNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceVpcArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceVpcArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceVpc { + return vs[0].([]GetIsVirtualNetworkInterfaceVpc)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceVpcOutput) +} + +type GetIsVirtualNetworkInterfaceVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfaceVpcDeletedInput is an input type that accepts GetIsVirtualNetworkInterfaceVpcDeletedArgs and GetIsVirtualNetworkInterfaceVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceVpcDeletedInput` via: +// +// GetIsVirtualNetworkInterfaceVpcDeletedArgs{...} +type GetIsVirtualNetworkInterfaceVpcDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceVpcDeletedOutput() GetIsVirtualNetworkInterfaceVpcDeletedOutput + ToGetIsVirtualNetworkInterfaceVpcDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceVpcDeletedOutput +} + +type GetIsVirtualNetworkInterfaceVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfaceVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceVpcDeletedArgs) ToGetIsVirtualNetworkInterfaceVpcDeletedOutput() GetIsVirtualNetworkInterfaceVpcDeletedOutput { + return i.ToGetIsVirtualNetworkInterfaceVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceVpcDeletedArgs) ToGetIsVirtualNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceVpcDeletedOutput) +} + +// GetIsVirtualNetworkInterfaceVpcDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceVpcDeletedArray and GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceVpcDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfaceVpcDeletedArray{ GetIsVirtualNetworkInterfaceVpcDeletedArgs{...} } +type GetIsVirtualNetworkInterfaceVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceVpcDeletedArrayOutput() GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput + ToGetIsVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfaceVpcDeletedArray []GetIsVirtualNetworkInterfaceVpcDeletedInput + +func (GetIsVirtualNetworkInterfaceVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceVpcDeletedArray) ToGetIsVirtualNetworkInterfaceVpcDeletedArrayOutput() GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceVpcDeletedArray) ToGetIsVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfaceVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceVpcDeletedOutput) ToGetIsVirtualNetworkInterfaceVpcDeletedOutput() GetIsVirtualNetworkInterfaceVpcDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceVpcDeletedOutput) ToGetIsVirtualNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfaceVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceVpcDeletedArrayOutput() GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput) ToGetIsVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceVpcDeleted { + return vs[0].([]GetIsVirtualNetworkInterfaceVpcDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceVpcDeletedOutput) +} + +type GetIsVirtualNetworkInterfaceZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsVirtualNetworkInterfaceZoneInput is an input type that accepts GetIsVirtualNetworkInterfaceZoneArgs and GetIsVirtualNetworkInterfaceZoneOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceZoneInput` via: +// +// GetIsVirtualNetworkInterfaceZoneArgs{...} +type GetIsVirtualNetworkInterfaceZoneInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceZoneOutput() GetIsVirtualNetworkInterfaceZoneOutput + ToGetIsVirtualNetworkInterfaceZoneOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceZoneOutput +} + +type GetIsVirtualNetworkInterfaceZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVirtualNetworkInterfaceZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceZone)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceZoneArgs) ToGetIsVirtualNetworkInterfaceZoneOutput() GetIsVirtualNetworkInterfaceZoneOutput { + return i.ToGetIsVirtualNetworkInterfaceZoneOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceZoneArgs) ToGetIsVirtualNetworkInterfaceZoneOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceZoneOutput) +} + +// GetIsVirtualNetworkInterfaceZoneArrayInput is an input type that accepts GetIsVirtualNetworkInterfaceZoneArray and GetIsVirtualNetworkInterfaceZoneArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfaceZoneArrayInput` via: +// +// GetIsVirtualNetworkInterfaceZoneArray{ GetIsVirtualNetworkInterfaceZoneArgs{...} } +type GetIsVirtualNetworkInterfaceZoneArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfaceZoneArrayOutput() GetIsVirtualNetworkInterfaceZoneArrayOutput + ToGetIsVirtualNetworkInterfaceZoneArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfaceZoneArrayOutput +} + +type GetIsVirtualNetworkInterfaceZoneArray []GetIsVirtualNetworkInterfaceZoneInput + +func (GetIsVirtualNetworkInterfaceZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceZone)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfaceZoneArray) ToGetIsVirtualNetworkInterfaceZoneArrayOutput() GetIsVirtualNetworkInterfaceZoneArrayOutput { + return i.ToGetIsVirtualNetworkInterfaceZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfaceZoneArray) ToGetIsVirtualNetworkInterfaceZoneArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfaceZoneArrayOutput) +} + +type GetIsVirtualNetworkInterfaceZoneOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfaceZone)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceZoneOutput) ToGetIsVirtualNetworkInterfaceZoneOutput() GetIsVirtualNetworkInterfaceZoneOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceZoneOutput) ToGetIsVirtualNetworkInterfaceZoneOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsVirtualNetworkInterfaceZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsVirtualNetworkInterfaceZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfaceZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfaceZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfaceZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfaceZone)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfaceZoneArrayOutput) ToGetIsVirtualNetworkInterfaceZoneArrayOutput() GetIsVirtualNetworkInterfaceZoneArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceZoneArrayOutput) ToGetIsVirtualNetworkInterfaceZoneArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfaceZoneArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfaceZoneArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfaceZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfaceZone { + return vs[0].([]GetIsVirtualNetworkInterfaceZone)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfaceZoneOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterface struct { + // Access management tags for the vni instance + AccessTags []string `pulumi:"accessTags"` + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing bool `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete bool `pulumi:"autoDelete"` + // The date and time that the virtual network interface was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this virtual network interface. + Crn string `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat bool `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href string `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id string `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp `pulumi:"ips"` + // The lifecycle state of the virtual network interface. + LifecycleState string `pulumi:"lifecycleState"` + // The MAC address of the virtual network interface. May be absent if `lifecycleState` is `pending`. + MacAddress string `pulumi:"macAddress"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name string `pulumi:"name"` + // The reserved IP for this virtual network interface.May be absent when `lifecycleState` is `pending`. + PrimaryIps []GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode string `pulumi:"protocolStateFilteringMode"` + // The resource group for this virtual network interface. + ResourceGroups []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup `pulumi:"resourceGroups"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` + // The associated subnet. + Subnets []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet `pulumi:"subnets"` + // UserTags for the vni instance + Tags []string `pulumi:"tags"` + // The target of this virtual network interface.If absent, this virtual network interface is not attached to a target. + Targets []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget `pulumi:"targets"` + // The VPC this virtual network interface resides in. + Vpcs []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc `pulumi:"vpcs"` + // The zone this virtual network interface resides in. + Zones []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone `pulumi:"zones"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArgs struct { + // Access management tags for the vni instance + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. + AllowIpSpoofing pulumi.BoolInput `pulumi:"allowIpSpoofing"` + // Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. + AutoDelete pulumi.BoolInput `pulumi:"autoDelete"` + // The date and time that the virtual network interface was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this virtual network interface. + Crn pulumi.StringInput `pulumi:"crn"` + // If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. + EnableInfrastructureNat pulumi.BoolInput `pulumi:"enableInfrastructureNat"` + // The URL for this virtual network interface. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual network interface. + Id pulumi.StringInput `pulumi:"id"` + // The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. + Ips GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayInput `pulumi:"ips"` + // The lifecycle state of the virtual network interface. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The MAC address of the virtual network interface. May be absent if `lifecycleState` is `pending`. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The reserved IP for this virtual network interface.May be absent when `lifecycleState` is `pending`. + PrimaryIps GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayInput `pulumi:"primaryIps"` + // The protocol state filtering mode used for this virtual network interface. + ProtocolStateFilteringMode pulumi.StringInput `pulumi:"protocolStateFilteringMode"` + // The resource group for this virtual network interface. + ResourceGroups GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayInput `pulumi:"resourceGroups"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The security groups for this virtual network interface. + SecurityGroups GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayInput `pulumi:"securityGroups"` + // The associated subnet. + Subnets GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayInput `pulumi:"subnets"` + // UserTags for the vni instance + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The target of this virtual network interface.If absent, this virtual network interface is not attached to a target. + Targets GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayInput `pulumi:"targets"` + // The VPC this virtual network interface resides in. + Vpcs GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayInput `pulumi:"vpcs"` + // The zone this virtual network interface resides in. + Zones GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayInput `pulumi:"zones"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterface)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput { + return o +} + +// Access management tags for the vni instance +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Indicates whether source IP spoofing is allowed on this interface. If `false`, source IP spoofing is prevented on this interface. If `true`, source IP spoofing is allowed on this interface. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) AllowIpSpoofing() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) bool { return v.AllowIpSpoofing }).(pulumi.BoolOutput) +} + +// Indicates whether this virtual network interface will be automatically deleted when`target` is deleted. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) AutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) bool { return v.AutoDelete }).(pulumi.BoolOutput) +} + +// The date and time that the virtual network interface was created. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this virtual network interface. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// If `true`:- The VPC infrastructure performs any needed NAT operations.- `floatingIps` must not have more than one floating IP.If `false`:- Packets are passed unchanged to/from the virtual network interface, allowing the workload to perform any needed NAT operations.- `allowIpSpoofing` must be `false`.- If the virtual network interface is attached: - The target `resourceType` must be `bareMetalServerNetworkAttachment`. - The target `interfaceType` must not be `hipersocket`. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) EnableInfrastructureNat() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) bool { return v.EnableInfrastructureNat }).(pulumi.BoolOutput) +} + +// The URL for this virtual network interface. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual network interface. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The reserved IPs bound to this virtual network interface.May be empty when `lifecycleState` is `pending`. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Ips() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp { + return v.Ips + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput) +} + +// The lifecycle state of the virtual network interface. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The MAC address of the virtual network interface. May be absent if `lifecycleState` is `pending`. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// The name for this virtual network interface. The name is unique across all virtual network interfaces in the VPC. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// The reserved IP for this virtual network interface.May be absent when `lifecycleState` is `pending`. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) PrimaryIps() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp { + return v.PrimaryIps + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +// The protocol state filtering mode used for this virtual network interface. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) ProtocolStateFilteringMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { + return v.ProtocolStateFilteringMode + }).(pulumi.StringOutput) +} + +// The resource group for this virtual network interface. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) ResourceGroups() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup { + return v.ResourceGroups + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The security groups for this virtual network interface. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) SecurityGroups() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +// The associated subnet. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Subnets() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet { + return v.Subnets + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput) +} + +// UserTags for the vni instance +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The target of this virtual network interface.If absent, this virtual network interface is not attached to a target. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Targets() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget { + return v.Targets + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput) +} + +// The VPC this virtual network interface resides in. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Vpcs() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc { + return v.Vpcs + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput) +} + +// The zone this virtual network interface resides in. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) Zones() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterface) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone { + return v.Zones + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterface)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterface { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterface)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) Deleteds() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIp)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArgs struct { + // The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The name for this reserved IP. The name is unique across all reserved IPs in a subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput { + return o +} + +// The IP address.If the address has not yet been selected, the value will be `0.0.0.0`.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) Deleteds() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this reserved IP. The name is unique across all reserved IPs in a subnet. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIp)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this resource group. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroup)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The name for this security group. The name is unique across all security groups for the VPC. + Name string `pulumi:"name"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The name for this security group. The name is unique across all security groups for the VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) Deleteds() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this security group. The name is unique across all security groups for the VPC. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted) string { + return v.MoreInfo + }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The name for this subnet. The name is unique across all subnets in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) Deleteds() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this subnet. The name is unique across all subnets in the VPC. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnet)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted `pulumi:"deleteds"` + // The URL for this share mount target. + Href string `pulumi:"href"` + // The unique identifier for this share mount target. + Id string `pulumi:"id"` + // The name for this share mount target. The name is unique across all targets for the file share. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArgs struct { + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this share mount target. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this share mount target. + Id pulumi.StringInput `pulumi:"id"` + // The name for this share mount target. The name is unique across all targets for the file share. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) Deleteds() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput) +} + +// The URL for this share mount target. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this share mount target. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this share mount target. The name is unique across all targets for the file share. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTarget)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) Deleteds() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc) []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted { + return v.Deleteds + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpc)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeleted)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArgs and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArgs{...} +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArgs) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput) +} + +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayInput is an input type that accepts GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArray and GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput values. +// You can construct a concrete instance of `GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayInput` via: +// +// GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArray{ GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArgs{...} } +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayInput interface { + pulumi.Input + + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput + ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutputWithContext(context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArray []GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneInput + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone)(nil)).Elem() +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput { + return i.ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArray) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone)(nil)).Elem() +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput() GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput) ToGetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutputWithContext(ctx context.Context) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput { + return o +} + +func (o GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput) Index(i pulumi.IntInput) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone { + return vs[0].([]GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZone)[vs[1].(int)] + }).(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput) +} + +type GetIsVolumeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance string `pulumi:"instance"` +} + +// GetIsVolumeAllowedUseInput is an input type that accepts GetIsVolumeAllowedUseArgs and GetIsVolumeAllowedUseOutput values. +// You can construct a concrete instance of `GetIsVolumeAllowedUseInput` via: +// +// GetIsVolumeAllowedUseArgs{...} +type GetIsVolumeAllowedUseInput interface { + pulumi.Input + + ToGetIsVolumeAllowedUseOutput() GetIsVolumeAllowedUseOutput + ToGetIsVolumeAllowedUseOutputWithContext(context.Context) GetIsVolumeAllowedUseOutput +} + +type GetIsVolumeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsVolumeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeAllowedUse)(nil)).Elem() +} + +func (i GetIsVolumeAllowedUseArgs) ToGetIsVolumeAllowedUseOutput() GetIsVolumeAllowedUseOutput { + return i.ToGetIsVolumeAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsVolumeAllowedUseArgs) ToGetIsVolumeAllowedUseOutputWithContext(ctx context.Context) GetIsVolumeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeAllowedUseOutput) +} + +// GetIsVolumeAllowedUseArrayInput is an input type that accepts GetIsVolumeAllowedUseArray and GetIsVolumeAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeAllowedUseArrayInput` via: +// +// GetIsVolumeAllowedUseArray{ GetIsVolumeAllowedUseArgs{...} } +type GetIsVolumeAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsVolumeAllowedUseArrayOutput() GetIsVolumeAllowedUseArrayOutput + ToGetIsVolumeAllowedUseArrayOutputWithContext(context.Context) GetIsVolumeAllowedUseArrayOutput +} + +type GetIsVolumeAllowedUseArray []GetIsVolumeAllowedUseInput + +func (GetIsVolumeAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeAllowedUse)(nil)).Elem() +} + +func (i GetIsVolumeAllowedUseArray) ToGetIsVolumeAllowedUseArrayOutput() GetIsVolumeAllowedUseArrayOutput { + return i.ToGetIsVolumeAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeAllowedUseArray) ToGetIsVolumeAllowedUseArrayOutputWithContext(ctx context.Context) GetIsVolumeAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeAllowedUseArrayOutput) +} + +type GetIsVolumeAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeAllowedUse)(nil)).Elem() +} + +func (o GetIsVolumeAllowedUseOutput) ToGetIsVolumeAllowedUseOutput() GetIsVolumeAllowedUseOutput { + return o +} + +func (o GetIsVolumeAllowedUseOutput) ToGetIsVolumeAllowedUseOutputWithContext(ctx context.Context) GetIsVolumeAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsVolumeAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o GetIsVolumeAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o GetIsVolumeAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsVolumeAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeAllowedUse)(nil)).Elem() +} + +func (o GetIsVolumeAllowedUseArrayOutput) ToGetIsVolumeAllowedUseArrayOutput() GetIsVolumeAllowedUseArrayOutput { + return o +} + +func (o GetIsVolumeAllowedUseArrayOutput) ToGetIsVolumeAllowedUseArrayOutputWithContext(ctx context.Context) GetIsVolumeAllowedUseArrayOutput { + return o +} + +func (o GetIsVolumeAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsVolumeAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeAllowedUse { + return vs[0].([]GetIsVolumeAllowedUse)[vs[1].(int)] + }).(GetIsVolumeAllowedUseOutput) +} + +type GetIsVolumeCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsVolumeCatalogOfferingDeleted `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn string `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn string `pulumi:"versionCrn"` +} + +// GetIsVolumeCatalogOfferingInput is an input type that accepts GetIsVolumeCatalogOfferingArgs and GetIsVolumeCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsVolumeCatalogOfferingInput` via: +// +// GetIsVolumeCatalogOfferingArgs{...} +type GetIsVolumeCatalogOfferingInput interface { + pulumi.Input + + ToGetIsVolumeCatalogOfferingOutput() GetIsVolumeCatalogOfferingOutput + ToGetIsVolumeCatalogOfferingOutputWithContext(context.Context) GetIsVolumeCatalogOfferingOutput +} + +type GetIsVolumeCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsVolumeCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringInput `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn pulumi.StringInput `pulumi:"versionCrn"` +} + +func (GetIsVolumeCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeCatalogOffering)(nil)).Elem() +} + +func (i GetIsVolumeCatalogOfferingArgs) ToGetIsVolumeCatalogOfferingOutput() GetIsVolumeCatalogOfferingOutput { + return i.ToGetIsVolumeCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsVolumeCatalogOfferingArgs) ToGetIsVolumeCatalogOfferingOutputWithContext(ctx context.Context) GetIsVolumeCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeCatalogOfferingOutput) +} + +// GetIsVolumeCatalogOfferingArrayInput is an input type that accepts GetIsVolumeCatalogOfferingArray and GetIsVolumeCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeCatalogOfferingArrayInput` via: +// +// GetIsVolumeCatalogOfferingArray{ GetIsVolumeCatalogOfferingArgs{...} } +type GetIsVolumeCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsVolumeCatalogOfferingArrayOutput() GetIsVolumeCatalogOfferingArrayOutput + ToGetIsVolumeCatalogOfferingArrayOutputWithContext(context.Context) GetIsVolumeCatalogOfferingArrayOutput +} + +type GetIsVolumeCatalogOfferingArray []GetIsVolumeCatalogOfferingInput + +func (GetIsVolumeCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeCatalogOffering)(nil)).Elem() +} + +func (i GetIsVolumeCatalogOfferingArray) ToGetIsVolumeCatalogOfferingArrayOutput() GetIsVolumeCatalogOfferingArrayOutput { + return i.ToGetIsVolumeCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeCatalogOfferingArray) ToGetIsVolumeCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsVolumeCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeCatalogOfferingArrayOutput) +} + +type GetIsVolumeCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeCatalogOffering)(nil)).Elem() +} + +func (o GetIsVolumeCatalogOfferingOutput) ToGetIsVolumeCatalogOfferingOutput() GetIsVolumeCatalogOfferingOutput { + return o +} + +func (o GetIsVolumeCatalogOfferingOutput) ToGetIsVolumeCatalogOfferingOutputWithContext(ctx context.Context) GetIsVolumeCatalogOfferingOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsVolumeCatalogOfferingOutput) Deleteds() GetIsVolumeCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v GetIsVolumeCatalogOffering) []GetIsVolumeCatalogOfferingDeleted { return v.Deleteds }).(GetIsVolumeCatalogOfferingDeletedArrayOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o GetIsVolumeCatalogOfferingOutput) PlanCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeCatalogOffering) string { return v.PlanCrn }).(pulumi.StringOutput) +} + +// The CRN for this version of a catalog offering +func (o GetIsVolumeCatalogOfferingOutput) VersionCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeCatalogOffering) string { return v.VersionCrn }).(pulumi.StringOutput) +} + +type GetIsVolumeCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeCatalogOffering)(nil)).Elem() +} + +func (o GetIsVolumeCatalogOfferingArrayOutput) ToGetIsVolumeCatalogOfferingArrayOutput() GetIsVolumeCatalogOfferingArrayOutput { + return o +} + +func (o GetIsVolumeCatalogOfferingArrayOutput) ToGetIsVolumeCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsVolumeCatalogOfferingArrayOutput { + return o +} + +func (o GetIsVolumeCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsVolumeCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeCatalogOffering { + return vs[0].([]GetIsVolumeCatalogOffering)[vs[1].(int)] + }).(GetIsVolumeCatalogOfferingOutput) +} + +type GetIsVolumeCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumeCatalogOfferingDeletedInput is an input type that accepts GetIsVolumeCatalogOfferingDeletedArgs and GetIsVolumeCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `GetIsVolumeCatalogOfferingDeletedInput` via: +// +// GetIsVolumeCatalogOfferingDeletedArgs{...} +type GetIsVolumeCatalogOfferingDeletedInput interface { + pulumi.Input + + ToGetIsVolumeCatalogOfferingDeletedOutput() GetIsVolumeCatalogOfferingDeletedOutput + ToGetIsVolumeCatalogOfferingDeletedOutputWithContext(context.Context) GetIsVolumeCatalogOfferingDeletedOutput +} + +type GetIsVolumeCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumeCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsVolumeCatalogOfferingDeletedArgs) ToGetIsVolumeCatalogOfferingDeletedOutput() GetIsVolumeCatalogOfferingDeletedOutput { + return i.ToGetIsVolumeCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVolumeCatalogOfferingDeletedArgs) ToGetIsVolumeCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsVolumeCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeCatalogOfferingDeletedOutput) +} + +// GetIsVolumeCatalogOfferingDeletedArrayInput is an input type that accepts GetIsVolumeCatalogOfferingDeletedArray and GetIsVolumeCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeCatalogOfferingDeletedArrayInput` via: +// +// GetIsVolumeCatalogOfferingDeletedArray{ GetIsVolumeCatalogOfferingDeletedArgs{...} } +type GetIsVolumeCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToGetIsVolumeCatalogOfferingDeletedArrayOutput() GetIsVolumeCatalogOfferingDeletedArrayOutput + ToGetIsVolumeCatalogOfferingDeletedArrayOutputWithContext(context.Context) GetIsVolumeCatalogOfferingDeletedArrayOutput +} + +type GetIsVolumeCatalogOfferingDeletedArray []GetIsVolumeCatalogOfferingDeletedInput + +func (GetIsVolumeCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsVolumeCatalogOfferingDeletedArray) ToGetIsVolumeCatalogOfferingDeletedArrayOutput() GetIsVolumeCatalogOfferingDeletedArrayOutput { + return i.ToGetIsVolumeCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeCatalogOfferingDeletedArray) ToGetIsVolumeCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumeCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeCatalogOfferingDeletedArrayOutput) +} + +type GetIsVolumeCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsVolumeCatalogOfferingDeletedOutput) ToGetIsVolumeCatalogOfferingDeletedOutput() GetIsVolumeCatalogOfferingDeletedOutput { + return o +} + +func (o GetIsVolumeCatalogOfferingDeletedOutput) ToGetIsVolumeCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsVolumeCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVolumeCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeCatalogOfferingDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumeCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsVolumeCatalogOfferingDeletedArrayOutput) ToGetIsVolumeCatalogOfferingDeletedArrayOutput() GetIsVolumeCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsVolumeCatalogOfferingDeletedArrayOutput) ToGetIsVolumeCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumeCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsVolumeCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVolumeCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeCatalogOfferingDeleted { + return vs[0].([]GetIsVolumeCatalogOfferingDeleted)[vs[1].(int)] + }).(GetIsVolumeCatalogOfferingDeletedOutput) +} + +type GetIsVolumeHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumeHealthReasonInput is an input type that accepts GetIsVolumeHealthReasonArgs and GetIsVolumeHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVolumeHealthReasonInput` via: +// +// GetIsVolumeHealthReasonArgs{...} +type GetIsVolumeHealthReasonInput interface { + pulumi.Input + + ToGetIsVolumeHealthReasonOutput() GetIsVolumeHealthReasonOutput + ToGetIsVolumeHealthReasonOutputWithContext(context.Context) GetIsVolumeHealthReasonOutput +} + +type GetIsVolumeHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumeHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeHealthReason)(nil)).Elem() +} + +func (i GetIsVolumeHealthReasonArgs) ToGetIsVolumeHealthReasonOutput() GetIsVolumeHealthReasonOutput { + return i.ToGetIsVolumeHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVolumeHealthReasonArgs) ToGetIsVolumeHealthReasonOutputWithContext(ctx context.Context) GetIsVolumeHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeHealthReasonOutput) +} + +// GetIsVolumeHealthReasonArrayInput is an input type that accepts GetIsVolumeHealthReasonArray and GetIsVolumeHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeHealthReasonArrayInput` via: +// +// GetIsVolumeHealthReasonArray{ GetIsVolumeHealthReasonArgs{...} } +type GetIsVolumeHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVolumeHealthReasonArrayOutput() GetIsVolumeHealthReasonArrayOutput + ToGetIsVolumeHealthReasonArrayOutputWithContext(context.Context) GetIsVolumeHealthReasonArrayOutput +} + +type GetIsVolumeHealthReasonArray []GetIsVolumeHealthReasonInput + +func (GetIsVolumeHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeHealthReason)(nil)).Elem() +} + +func (i GetIsVolumeHealthReasonArray) ToGetIsVolumeHealthReasonArrayOutput() GetIsVolumeHealthReasonArrayOutput { + return i.ToGetIsVolumeHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeHealthReasonArray) ToGetIsVolumeHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVolumeHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeHealthReasonArrayOutput) +} + +type GetIsVolumeHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeHealthReason)(nil)).Elem() +} + +func (o GetIsVolumeHealthReasonOutput) ToGetIsVolumeHealthReasonOutput() GetIsVolumeHealthReasonOutput { + return o +} + +func (o GetIsVolumeHealthReasonOutput) ToGetIsVolumeHealthReasonOutputWithContext(ctx context.Context) GetIsVolumeHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVolumeHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVolumeHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVolumeHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumeHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeHealthReason)(nil)).Elem() +} + +func (o GetIsVolumeHealthReasonArrayOutput) ToGetIsVolumeHealthReasonArrayOutput() GetIsVolumeHealthReasonArrayOutput { + return o +} + +func (o GetIsVolumeHealthReasonArrayOutput) ToGetIsVolumeHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVolumeHealthReasonArrayOutput { + return o +} + +func (o GetIsVolumeHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVolumeHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeHealthReason { + return vs[0].([]GetIsVolumeHealthReason)[vs[1].(int)] + }).(GetIsVolumeHealthReasonOutput) +} + +type GetIsVolumeInstanceProfilesInstanceProfile struct { + // The URL for this virtual server instance profile. + Href string `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVolumeInstanceProfilesInstanceProfileInput is an input type that accepts GetIsVolumeInstanceProfilesInstanceProfileArgs and GetIsVolumeInstanceProfilesInstanceProfileOutput values. +// You can construct a concrete instance of `GetIsVolumeInstanceProfilesInstanceProfileInput` via: +// +// GetIsVolumeInstanceProfilesInstanceProfileArgs{...} +type GetIsVolumeInstanceProfilesInstanceProfileInput interface { + pulumi.Input + + ToGetIsVolumeInstanceProfilesInstanceProfileOutput() GetIsVolumeInstanceProfilesInstanceProfileOutput + ToGetIsVolumeInstanceProfilesInstanceProfileOutputWithContext(context.Context) GetIsVolumeInstanceProfilesInstanceProfileOutput +} + +type GetIsVolumeInstanceProfilesInstanceProfileArgs struct { + // The URL for this virtual server instance profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this virtual server instance profile. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVolumeInstanceProfilesInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (i GetIsVolumeInstanceProfilesInstanceProfileArgs) ToGetIsVolumeInstanceProfilesInstanceProfileOutput() GetIsVolumeInstanceProfilesInstanceProfileOutput { + return i.ToGetIsVolumeInstanceProfilesInstanceProfileOutputWithContext(context.Background()) +} + +func (i GetIsVolumeInstanceProfilesInstanceProfileArgs) ToGetIsVolumeInstanceProfilesInstanceProfileOutputWithContext(ctx context.Context) GetIsVolumeInstanceProfilesInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeInstanceProfilesInstanceProfileOutput) +} + +// GetIsVolumeInstanceProfilesInstanceProfileArrayInput is an input type that accepts GetIsVolumeInstanceProfilesInstanceProfileArray and GetIsVolumeInstanceProfilesInstanceProfileArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeInstanceProfilesInstanceProfileArrayInput` via: +// +// GetIsVolumeInstanceProfilesInstanceProfileArray{ GetIsVolumeInstanceProfilesInstanceProfileArgs{...} } +type GetIsVolumeInstanceProfilesInstanceProfileArrayInput interface { + pulumi.Input + + ToGetIsVolumeInstanceProfilesInstanceProfileArrayOutput() GetIsVolumeInstanceProfilesInstanceProfileArrayOutput + ToGetIsVolumeInstanceProfilesInstanceProfileArrayOutputWithContext(context.Context) GetIsVolumeInstanceProfilesInstanceProfileArrayOutput +} + +type GetIsVolumeInstanceProfilesInstanceProfileArray []GetIsVolumeInstanceProfilesInstanceProfileInput + +func (GetIsVolumeInstanceProfilesInstanceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (i GetIsVolumeInstanceProfilesInstanceProfileArray) ToGetIsVolumeInstanceProfilesInstanceProfileArrayOutput() GetIsVolumeInstanceProfilesInstanceProfileArrayOutput { + return i.ToGetIsVolumeInstanceProfilesInstanceProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeInstanceProfilesInstanceProfileArray) ToGetIsVolumeInstanceProfilesInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsVolumeInstanceProfilesInstanceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeInstanceProfilesInstanceProfileArrayOutput) +} + +type GetIsVolumeInstanceProfilesInstanceProfileOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeInstanceProfilesInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (o GetIsVolumeInstanceProfilesInstanceProfileOutput) ToGetIsVolumeInstanceProfilesInstanceProfileOutput() GetIsVolumeInstanceProfilesInstanceProfileOutput { + return o +} + +func (o GetIsVolumeInstanceProfilesInstanceProfileOutput) ToGetIsVolumeInstanceProfilesInstanceProfileOutputWithContext(ctx context.Context) GetIsVolumeInstanceProfilesInstanceProfileOutput { + return o +} + +// The URL for this virtual server instance profile. +func (o GetIsVolumeInstanceProfilesInstanceProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeInstanceProfilesInstanceProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this virtual server instance profile. +func (o GetIsVolumeInstanceProfilesInstanceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeInstanceProfilesInstanceProfile) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVolumeInstanceProfilesInstanceProfileOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeInstanceProfilesInstanceProfile) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVolumeInstanceProfilesInstanceProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeInstanceProfilesInstanceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeInstanceProfilesInstanceProfile)(nil)).Elem() +} + +func (o GetIsVolumeInstanceProfilesInstanceProfileArrayOutput) ToGetIsVolumeInstanceProfilesInstanceProfileArrayOutput() GetIsVolumeInstanceProfilesInstanceProfileArrayOutput { + return o +} + +func (o GetIsVolumeInstanceProfilesInstanceProfileArrayOutput) ToGetIsVolumeInstanceProfilesInstanceProfileArrayOutputWithContext(ctx context.Context) GetIsVolumeInstanceProfilesInstanceProfileArrayOutput { + return o +} + +func (o GetIsVolumeInstanceProfilesInstanceProfileArrayOutput) Index(i pulumi.IntInput) GetIsVolumeInstanceProfilesInstanceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeInstanceProfilesInstanceProfile { + return vs[0].([]GetIsVolumeInstanceProfilesInstanceProfile)[vs[1].(int)] + }).(GetIsVolumeInstanceProfilesInstanceProfileOutput) +} + +type GetIsVolumeOperatingSystem struct { + // The operating system architecture. + Architecture string `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups. + DedicatedHostOnly bool `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system. + DisplayName string `pulumi:"displayName"` + // The software family for this operating system. + Family string `pulumi:"family"` + // The URL for this operating system. + Href string `pulumi:"href"` + // The globally unique name for this operating system. + Name string `pulumi:"name"` + // The vendor of the operating system. + Vendor string `pulumi:"vendor"` + // The major release version of this operating system. + Version string `pulumi:"version"` +} + +// GetIsVolumeOperatingSystemInput is an input type that accepts GetIsVolumeOperatingSystemArgs and GetIsVolumeOperatingSystemOutput values. +// You can construct a concrete instance of `GetIsVolumeOperatingSystemInput` via: +// +// GetIsVolumeOperatingSystemArgs{...} +type GetIsVolumeOperatingSystemInput interface { + pulumi.Input + + ToGetIsVolumeOperatingSystemOutput() GetIsVolumeOperatingSystemOutput + ToGetIsVolumeOperatingSystemOutputWithContext(context.Context) GetIsVolumeOperatingSystemOutput +} + +type GetIsVolumeOperatingSystemArgs struct { + // The operating system architecture. + Architecture pulumi.StringInput `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups. + DedicatedHostOnly pulumi.BoolInput `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // The software family for this operating system. + Family pulumi.StringInput `pulumi:"family"` + // The URL for this operating system. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this operating system. + Name pulumi.StringInput `pulumi:"name"` + // The vendor of the operating system. + Vendor pulumi.StringInput `pulumi:"vendor"` + // The major release version of this operating system. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIsVolumeOperatingSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeOperatingSystem)(nil)).Elem() +} + +func (i GetIsVolumeOperatingSystemArgs) ToGetIsVolumeOperatingSystemOutput() GetIsVolumeOperatingSystemOutput { + return i.ToGetIsVolumeOperatingSystemOutputWithContext(context.Background()) +} + +func (i GetIsVolumeOperatingSystemArgs) ToGetIsVolumeOperatingSystemOutputWithContext(ctx context.Context) GetIsVolumeOperatingSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeOperatingSystemOutput) +} + +// GetIsVolumeOperatingSystemArrayInput is an input type that accepts GetIsVolumeOperatingSystemArray and GetIsVolumeOperatingSystemArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeOperatingSystemArrayInput` via: +// +// GetIsVolumeOperatingSystemArray{ GetIsVolumeOperatingSystemArgs{...} } +type GetIsVolumeOperatingSystemArrayInput interface { + pulumi.Input + + ToGetIsVolumeOperatingSystemArrayOutput() GetIsVolumeOperatingSystemArrayOutput + ToGetIsVolumeOperatingSystemArrayOutputWithContext(context.Context) GetIsVolumeOperatingSystemArrayOutput +} + +type GetIsVolumeOperatingSystemArray []GetIsVolumeOperatingSystemInput + +func (GetIsVolumeOperatingSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeOperatingSystem)(nil)).Elem() +} + +func (i GetIsVolumeOperatingSystemArray) ToGetIsVolumeOperatingSystemArrayOutput() GetIsVolumeOperatingSystemArrayOutput { + return i.ToGetIsVolumeOperatingSystemArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeOperatingSystemArray) ToGetIsVolumeOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsVolumeOperatingSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeOperatingSystemArrayOutput) +} + +type GetIsVolumeOperatingSystemOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeOperatingSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeOperatingSystem)(nil)).Elem() +} + +func (o GetIsVolumeOperatingSystemOutput) ToGetIsVolumeOperatingSystemOutput() GetIsVolumeOperatingSystemOutput { + return o +} + +func (o GetIsVolumeOperatingSystemOutput) ToGetIsVolumeOperatingSystemOutputWithContext(ctx context.Context) GetIsVolumeOperatingSystemOutput { + return o +} + +// The operating system architecture. +func (o GetIsVolumeOperatingSystemOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeOperatingSystem) string { return v.Architecture }).(pulumi.StringOutput) +} + +// Images with this operating system can only be used on dedicated hosts or dedicated host groups. +func (o GetIsVolumeOperatingSystemOutput) DedicatedHostOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVolumeOperatingSystem) bool { return v.DedicatedHostOnly }).(pulumi.BoolOutput) +} + +// A unique, display-friendly name for the operating system. +func (o GetIsVolumeOperatingSystemOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeOperatingSystem) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The software family for this operating system. +func (o GetIsVolumeOperatingSystemOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeOperatingSystem) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this operating system. +func (o GetIsVolumeOperatingSystemOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeOperatingSystem) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this operating system. +func (o GetIsVolumeOperatingSystemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeOperatingSystem) string { return v.Name }).(pulumi.StringOutput) +} + +// The vendor of the operating system. +func (o GetIsVolumeOperatingSystemOutput) Vendor() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeOperatingSystem) string { return v.Vendor }).(pulumi.StringOutput) +} + +// The major release version of this operating system. +func (o GetIsVolumeOperatingSystemOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeOperatingSystem) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIsVolumeOperatingSystemArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeOperatingSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeOperatingSystem)(nil)).Elem() +} + +func (o GetIsVolumeOperatingSystemArrayOutput) ToGetIsVolumeOperatingSystemArrayOutput() GetIsVolumeOperatingSystemArrayOutput { + return o +} + +func (o GetIsVolumeOperatingSystemArrayOutput) ToGetIsVolumeOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsVolumeOperatingSystemArrayOutput { + return o +} + +func (o GetIsVolumeOperatingSystemArrayOutput) Index(i pulumi.IntInput) GetIsVolumeOperatingSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeOperatingSystem { + return vs[0].([]GetIsVolumeOperatingSystem)[vs[1].(int)] + }).(GetIsVolumeOperatingSystemOutput) +} + +type GetIsVolumeProfileAdjustableCapacityState struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The attachment states that support adjustable capacity for a volume with this profile. + Values []string `pulumi:"values"` +} + +// GetIsVolumeProfileAdjustableCapacityStateInput is an input type that accepts GetIsVolumeProfileAdjustableCapacityStateArgs and GetIsVolumeProfileAdjustableCapacityStateOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileAdjustableCapacityStateInput` via: +// +// GetIsVolumeProfileAdjustableCapacityStateArgs{...} +type GetIsVolumeProfileAdjustableCapacityStateInput interface { + pulumi.Input + + ToGetIsVolumeProfileAdjustableCapacityStateOutput() GetIsVolumeProfileAdjustableCapacityStateOutput + ToGetIsVolumeProfileAdjustableCapacityStateOutputWithContext(context.Context) GetIsVolumeProfileAdjustableCapacityStateOutput +} + +type GetIsVolumeProfileAdjustableCapacityStateArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The attachment states that support adjustable capacity for a volume with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfileAdjustableCapacityStateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileAdjustableCapacityState)(nil)).Elem() +} + +func (i GetIsVolumeProfileAdjustableCapacityStateArgs) ToGetIsVolumeProfileAdjustableCapacityStateOutput() GetIsVolumeProfileAdjustableCapacityStateOutput { + return i.ToGetIsVolumeProfileAdjustableCapacityStateOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileAdjustableCapacityStateArgs) ToGetIsVolumeProfileAdjustableCapacityStateOutputWithContext(ctx context.Context) GetIsVolumeProfileAdjustableCapacityStateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileAdjustableCapacityStateOutput) +} + +// GetIsVolumeProfileAdjustableCapacityStateArrayInput is an input type that accepts GetIsVolumeProfileAdjustableCapacityStateArray and GetIsVolumeProfileAdjustableCapacityStateArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileAdjustableCapacityStateArrayInput` via: +// +// GetIsVolumeProfileAdjustableCapacityStateArray{ GetIsVolumeProfileAdjustableCapacityStateArgs{...} } +type GetIsVolumeProfileAdjustableCapacityStateArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfileAdjustableCapacityStateArrayOutput() GetIsVolumeProfileAdjustableCapacityStateArrayOutput + ToGetIsVolumeProfileAdjustableCapacityStateArrayOutputWithContext(context.Context) GetIsVolumeProfileAdjustableCapacityStateArrayOutput +} + +type GetIsVolumeProfileAdjustableCapacityStateArray []GetIsVolumeProfileAdjustableCapacityStateInput + +func (GetIsVolumeProfileAdjustableCapacityStateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileAdjustableCapacityState)(nil)).Elem() +} + +func (i GetIsVolumeProfileAdjustableCapacityStateArray) ToGetIsVolumeProfileAdjustableCapacityStateArrayOutput() GetIsVolumeProfileAdjustableCapacityStateArrayOutput { + return i.ToGetIsVolumeProfileAdjustableCapacityStateArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileAdjustableCapacityStateArray) ToGetIsVolumeProfileAdjustableCapacityStateArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileAdjustableCapacityStateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileAdjustableCapacityStateArrayOutput) +} + +type GetIsVolumeProfileAdjustableCapacityStateOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileAdjustableCapacityStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileAdjustableCapacityState)(nil)).Elem() +} + +func (o GetIsVolumeProfileAdjustableCapacityStateOutput) ToGetIsVolumeProfileAdjustableCapacityStateOutput() GetIsVolumeProfileAdjustableCapacityStateOutput { + return o +} + +func (o GetIsVolumeProfileAdjustableCapacityStateOutput) ToGetIsVolumeProfileAdjustableCapacityStateOutputWithContext(ctx context.Context) GetIsVolumeProfileAdjustableCapacityStateOutput { + return o +} + +// The type for this profile field. +func (o GetIsVolumeProfileAdjustableCapacityStateOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileAdjustableCapacityState) string { return v.Type }).(pulumi.StringOutput) +} + +// The attachment states that support adjustable capacity for a volume with this profile. +func (o GetIsVolumeProfileAdjustableCapacityStateOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileAdjustableCapacityState) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsVolumeProfileAdjustableCapacityStateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileAdjustableCapacityStateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileAdjustableCapacityState)(nil)).Elem() +} + +func (o GetIsVolumeProfileAdjustableCapacityStateArrayOutput) ToGetIsVolumeProfileAdjustableCapacityStateArrayOutput() GetIsVolumeProfileAdjustableCapacityStateArrayOutput { + return o +} + +func (o GetIsVolumeProfileAdjustableCapacityStateArrayOutput) ToGetIsVolumeProfileAdjustableCapacityStateArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileAdjustableCapacityStateArrayOutput { + return o +} + +func (o GetIsVolumeProfileAdjustableCapacityStateArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfileAdjustableCapacityStateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfileAdjustableCapacityState { + return vs[0].([]GetIsVolumeProfileAdjustableCapacityState)[vs[1].(int)] + }).(GetIsVolumeProfileAdjustableCapacityStateOutput) +} + +type GetIsVolumeProfileAdjustableIopsState struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The attachment states that support adjustable IOPS for a volume with this profile. + Values []string `pulumi:"values"` +} + +// GetIsVolumeProfileAdjustableIopsStateInput is an input type that accepts GetIsVolumeProfileAdjustableIopsStateArgs and GetIsVolumeProfileAdjustableIopsStateOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileAdjustableIopsStateInput` via: +// +// GetIsVolumeProfileAdjustableIopsStateArgs{...} +type GetIsVolumeProfileAdjustableIopsStateInput interface { + pulumi.Input + + ToGetIsVolumeProfileAdjustableIopsStateOutput() GetIsVolumeProfileAdjustableIopsStateOutput + ToGetIsVolumeProfileAdjustableIopsStateOutputWithContext(context.Context) GetIsVolumeProfileAdjustableIopsStateOutput +} + +type GetIsVolumeProfileAdjustableIopsStateArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The attachment states that support adjustable IOPS for a volume with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfileAdjustableIopsStateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileAdjustableIopsState)(nil)).Elem() +} + +func (i GetIsVolumeProfileAdjustableIopsStateArgs) ToGetIsVolumeProfileAdjustableIopsStateOutput() GetIsVolumeProfileAdjustableIopsStateOutput { + return i.ToGetIsVolumeProfileAdjustableIopsStateOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileAdjustableIopsStateArgs) ToGetIsVolumeProfileAdjustableIopsStateOutputWithContext(ctx context.Context) GetIsVolumeProfileAdjustableIopsStateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileAdjustableIopsStateOutput) +} + +// GetIsVolumeProfileAdjustableIopsStateArrayInput is an input type that accepts GetIsVolumeProfileAdjustableIopsStateArray and GetIsVolumeProfileAdjustableIopsStateArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileAdjustableIopsStateArrayInput` via: +// +// GetIsVolumeProfileAdjustableIopsStateArray{ GetIsVolumeProfileAdjustableIopsStateArgs{...} } +type GetIsVolumeProfileAdjustableIopsStateArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfileAdjustableIopsStateArrayOutput() GetIsVolumeProfileAdjustableIopsStateArrayOutput + ToGetIsVolumeProfileAdjustableIopsStateArrayOutputWithContext(context.Context) GetIsVolumeProfileAdjustableIopsStateArrayOutput +} + +type GetIsVolumeProfileAdjustableIopsStateArray []GetIsVolumeProfileAdjustableIopsStateInput + +func (GetIsVolumeProfileAdjustableIopsStateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileAdjustableIopsState)(nil)).Elem() +} + +func (i GetIsVolumeProfileAdjustableIopsStateArray) ToGetIsVolumeProfileAdjustableIopsStateArrayOutput() GetIsVolumeProfileAdjustableIopsStateArrayOutput { + return i.ToGetIsVolumeProfileAdjustableIopsStateArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileAdjustableIopsStateArray) ToGetIsVolumeProfileAdjustableIopsStateArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileAdjustableIopsStateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileAdjustableIopsStateArrayOutput) +} + +type GetIsVolumeProfileAdjustableIopsStateOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileAdjustableIopsStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileAdjustableIopsState)(nil)).Elem() +} + +func (o GetIsVolumeProfileAdjustableIopsStateOutput) ToGetIsVolumeProfileAdjustableIopsStateOutput() GetIsVolumeProfileAdjustableIopsStateOutput { + return o +} + +func (o GetIsVolumeProfileAdjustableIopsStateOutput) ToGetIsVolumeProfileAdjustableIopsStateOutputWithContext(ctx context.Context) GetIsVolumeProfileAdjustableIopsStateOutput { + return o +} + +// The type for this profile field. +func (o GetIsVolumeProfileAdjustableIopsStateOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileAdjustableIopsState) string { return v.Type }).(pulumi.StringOutput) +} + +// The attachment states that support adjustable IOPS for a volume with this profile. +func (o GetIsVolumeProfileAdjustableIopsStateOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileAdjustableIopsState) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsVolumeProfileAdjustableIopsStateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileAdjustableIopsStateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileAdjustableIopsState)(nil)).Elem() +} + +func (o GetIsVolumeProfileAdjustableIopsStateArrayOutput) ToGetIsVolumeProfileAdjustableIopsStateArrayOutput() GetIsVolumeProfileAdjustableIopsStateArrayOutput { + return o +} + +func (o GetIsVolumeProfileAdjustableIopsStateArrayOutput) ToGetIsVolumeProfileAdjustableIopsStateArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileAdjustableIopsStateArrayOutput { + return o +} + +func (o GetIsVolumeProfileAdjustableIopsStateArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfileAdjustableIopsStateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfileAdjustableIopsState { + return vs[0].([]GetIsVolumeProfileAdjustableIopsState)[vs[1].(int)] + }).(GetIsVolumeProfileAdjustableIopsStateOutput) +} + +type GetIsVolumeProfileBootCapacity struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsVolumeProfileBootCapacityInput is an input type that accepts GetIsVolumeProfileBootCapacityArgs and GetIsVolumeProfileBootCapacityOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileBootCapacityInput` via: +// +// GetIsVolumeProfileBootCapacityArgs{...} +type GetIsVolumeProfileBootCapacityInput interface { + pulumi.Input + + ToGetIsVolumeProfileBootCapacityOutput() GetIsVolumeProfileBootCapacityOutput + ToGetIsVolumeProfileBootCapacityOutputWithContext(context.Context) GetIsVolumeProfileBootCapacityOutput +} + +type GetIsVolumeProfileBootCapacityArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfileBootCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileBootCapacity)(nil)).Elem() +} + +func (i GetIsVolumeProfileBootCapacityArgs) ToGetIsVolumeProfileBootCapacityOutput() GetIsVolumeProfileBootCapacityOutput { + return i.ToGetIsVolumeProfileBootCapacityOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileBootCapacityArgs) ToGetIsVolumeProfileBootCapacityOutputWithContext(ctx context.Context) GetIsVolumeProfileBootCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileBootCapacityOutput) +} + +// GetIsVolumeProfileBootCapacityArrayInput is an input type that accepts GetIsVolumeProfileBootCapacityArray and GetIsVolumeProfileBootCapacityArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileBootCapacityArrayInput` via: +// +// GetIsVolumeProfileBootCapacityArray{ GetIsVolumeProfileBootCapacityArgs{...} } +type GetIsVolumeProfileBootCapacityArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfileBootCapacityArrayOutput() GetIsVolumeProfileBootCapacityArrayOutput + ToGetIsVolumeProfileBootCapacityArrayOutputWithContext(context.Context) GetIsVolumeProfileBootCapacityArrayOutput +} + +type GetIsVolumeProfileBootCapacityArray []GetIsVolumeProfileBootCapacityInput + +func (GetIsVolumeProfileBootCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileBootCapacity)(nil)).Elem() +} + +func (i GetIsVolumeProfileBootCapacityArray) ToGetIsVolumeProfileBootCapacityArrayOutput() GetIsVolumeProfileBootCapacityArrayOutput { + return i.ToGetIsVolumeProfileBootCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileBootCapacityArray) ToGetIsVolumeProfileBootCapacityArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileBootCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileBootCapacityArrayOutput) +} + +type GetIsVolumeProfileBootCapacityOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileBootCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileBootCapacity)(nil)).Elem() +} + +func (o GetIsVolumeProfileBootCapacityOutput) ToGetIsVolumeProfileBootCapacityOutput() GetIsVolumeProfileBootCapacityOutput { + return o +} + +func (o GetIsVolumeProfileBootCapacityOutput) ToGetIsVolumeProfileBootCapacityOutputWithContext(ctx context.Context) GetIsVolumeProfileBootCapacityOutput { + return o +} + +// The default value for this profile field. +func (o GetIsVolumeProfileBootCapacityOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileBootCapacity) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsVolumeProfileBootCapacityOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileBootCapacity) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsVolumeProfileBootCapacityOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileBootCapacity) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsVolumeProfileBootCapacityOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileBootCapacity) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsVolumeProfileBootCapacityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileBootCapacity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsVolumeProfileBootCapacityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileBootCapacity) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsVolumeProfileBootCapacityOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileBootCapacity) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsVolumeProfileBootCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileBootCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileBootCapacity)(nil)).Elem() +} + +func (o GetIsVolumeProfileBootCapacityArrayOutput) ToGetIsVolumeProfileBootCapacityArrayOutput() GetIsVolumeProfileBootCapacityArrayOutput { + return o +} + +func (o GetIsVolumeProfileBootCapacityArrayOutput) ToGetIsVolumeProfileBootCapacityArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileBootCapacityArrayOutput { + return o +} + +func (o GetIsVolumeProfileBootCapacityArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfileBootCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfileBootCapacity { + return vs[0].([]GetIsVolumeProfileBootCapacity)[vs[1].(int)] + }).(GetIsVolumeProfileBootCapacityOutput) +} + +type GetIsVolumeProfileCapacity struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsVolumeProfileCapacityInput is an input type that accepts GetIsVolumeProfileCapacityArgs and GetIsVolumeProfileCapacityOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileCapacityInput` via: +// +// GetIsVolumeProfileCapacityArgs{...} +type GetIsVolumeProfileCapacityInput interface { + pulumi.Input + + ToGetIsVolumeProfileCapacityOutput() GetIsVolumeProfileCapacityOutput + ToGetIsVolumeProfileCapacityOutputWithContext(context.Context) GetIsVolumeProfileCapacityOutput +} + +type GetIsVolumeProfileCapacityArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfileCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileCapacity)(nil)).Elem() +} + +func (i GetIsVolumeProfileCapacityArgs) ToGetIsVolumeProfileCapacityOutput() GetIsVolumeProfileCapacityOutput { + return i.ToGetIsVolumeProfileCapacityOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileCapacityArgs) ToGetIsVolumeProfileCapacityOutputWithContext(ctx context.Context) GetIsVolumeProfileCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileCapacityOutput) +} + +// GetIsVolumeProfileCapacityArrayInput is an input type that accepts GetIsVolumeProfileCapacityArray and GetIsVolumeProfileCapacityArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileCapacityArrayInput` via: +// +// GetIsVolumeProfileCapacityArray{ GetIsVolumeProfileCapacityArgs{...} } +type GetIsVolumeProfileCapacityArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfileCapacityArrayOutput() GetIsVolumeProfileCapacityArrayOutput + ToGetIsVolumeProfileCapacityArrayOutputWithContext(context.Context) GetIsVolumeProfileCapacityArrayOutput +} + +type GetIsVolumeProfileCapacityArray []GetIsVolumeProfileCapacityInput + +func (GetIsVolumeProfileCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileCapacity)(nil)).Elem() +} + +func (i GetIsVolumeProfileCapacityArray) ToGetIsVolumeProfileCapacityArrayOutput() GetIsVolumeProfileCapacityArrayOutput { + return i.ToGetIsVolumeProfileCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileCapacityArray) ToGetIsVolumeProfileCapacityArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileCapacityArrayOutput) +} + +type GetIsVolumeProfileCapacityOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileCapacity)(nil)).Elem() +} + +func (o GetIsVolumeProfileCapacityOutput) ToGetIsVolumeProfileCapacityOutput() GetIsVolumeProfileCapacityOutput { + return o +} + +func (o GetIsVolumeProfileCapacityOutput) ToGetIsVolumeProfileCapacityOutputWithContext(ctx context.Context) GetIsVolumeProfileCapacityOutput { + return o +} + +// The default value for this profile field. +func (o GetIsVolumeProfileCapacityOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileCapacity) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsVolumeProfileCapacityOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileCapacity) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsVolumeProfileCapacityOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileCapacity) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsVolumeProfileCapacityOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileCapacity) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsVolumeProfileCapacityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileCapacity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsVolumeProfileCapacityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileCapacity) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsVolumeProfileCapacityOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileCapacity) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsVolumeProfileCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileCapacity)(nil)).Elem() +} + +func (o GetIsVolumeProfileCapacityArrayOutput) ToGetIsVolumeProfileCapacityArrayOutput() GetIsVolumeProfileCapacityArrayOutput { + return o +} + +func (o GetIsVolumeProfileCapacityArrayOutput) ToGetIsVolumeProfileCapacityArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileCapacityArrayOutput { + return o +} + +func (o GetIsVolumeProfileCapacityArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfileCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfileCapacity { + return vs[0].([]GetIsVolumeProfileCapacity)[vs[1].(int)] + }).(GetIsVolumeProfileCapacityOutput) +} + +type GetIsVolumeProfileIop struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsVolumeProfileIopInput is an input type that accepts GetIsVolumeProfileIopArgs and GetIsVolumeProfileIopOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileIopInput` via: +// +// GetIsVolumeProfileIopArgs{...} +type GetIsVolumeProfileIopInput interface { + pulumi.Input + + ToGetIsVolumeProfileIopOutput() GetIsVolumeProfileIopOutput + ToGetIsVolumeProfileIopOutputWithContext(context.Context) GetIsVolumeProfileIopOutput +} + +type GetIsVolumeProfileIopArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfileIopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileIop)(nil)).Elem() +} + +func (i GetIsVolumeProfileIopArgs) ToGetIsVolumeProfileIopOutput() GetIsVolumeProfileIopOutput { + return i.ToGetIsVolumeProfileIopOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileIopArgs) ToGetIsVolumeProfileIopOutputWithContext(ctx context.Context) GetIsVolumeProfileIopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileIopOutput) +} + +// GetIsVolumeProfileIopArrayInput is an input type that accepts GetIsVolumeProfileIopArray and GetIsVolumeProfileIopArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfileIopArrayInput` via: +// +// GetIsVolumeProfileIopArray{ GetIsVolumeProfileIopArgs{...} } +type GetIsVolumeProfileIopArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfileIopArrayOutput() GetIsVolumeProfileIopArrayOutput + ToGetIsVolumeProfileIopArrayOutputWithContext(context.Context) GetIsVolumeProfileIopArrayOutput +} + +type GetIsVolumeProfileIopArray []GetIsVolumeProfileIopInput + +func (GetIsVolumeProfileIopArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileIop)(nil)).Elem() +} + +func (i GetIsVolumeProfileIopArray) ToGetIsVolumeProfileIopArrayOutput() GetIsVolumeProfileIopArrayOutput { + return i.ToGetIsVolumeProfileIopArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfileIopArray) ToGetIsVolumeProfileIopArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileIopArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfileIopArrayOutput) +} + +type GetIsVolumeProfileIopOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileIopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfileIop)(nil)).Elem() +} + +func (o GetIsVolumeProfileIopOutput) ToGetIsVolumeProfileIopOutput() GetIsVolumeProfileIopOutput { + return o +} + +func (o GetIsVolumeProfileIopOutput) ToGetIsVolumeProfileIopOutputWithContext(ctx context.Context) GetIsVolumeProfileIopOutput { + return o +} + +// The default value for this profile field. +func (o GetIsVolumeProfileIopOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileIop) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsVolumeProfileIopOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileIop) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsVolumeProfileIopOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileIop) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsVolumeProfileIopOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileIop) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsVolumeProfileIopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfileIop) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsVolumeProfileIopOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfileIop) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsVolumeProfileIopOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfileIop) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsVolumeProfileIopArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfileIopArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfileIop)(nil)).Elem() +} + +func (o GetIsVolumeProfileIopArrayOutput) ToGetIsVolumeProfileIopArrayOutput() GetIsVolumeProfileIopArrayOutput { + return o +} + +func (o GetIsVolumeProfileIopArrayOutput) ToGetIsVolumeProfileIopArrayOutputWithContext(ctx context.Context) GetIsVolumeProfileIopArrayOutput { + return o +} + +func (o GetIsVolumeProfileIopArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfileIopOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfileIop { + return vs[0].([]GetIsVolumeProfileIop)[vs[1].(int)] + }).(GetIsVolumeProfileIopOutput) +} + +type GetIsVolumeProfilesProfile struct { + AdjustableCapacityStates []GetIsVolumeProfilesProfileAdjustableCapacityState `pulumi:"adjustableCapacityStates"` + AdjustableIopsStates []GetIsVolumeProfilesProfileAdjustableIopsState `pulumi:"adjustableIopsStates"` + BootCapacities []GetIsVolumeProfilesProfileBootCapacity `pulumi:"bootCapacities"` + Capacities []GetIsVolumeProfilesProfileCapacity `pulumi:"capacities"` + // The product family this volume profile belongs to.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family string `pulumi:"family"` + // The URL for this volume profile. + Href string `pulumi:"href"` + Iops []GetIsVolumeProfilesProfileIop `pulumi:"iops"` + // The globally unique name for this volume profile. + Name string `pulumi:"name"` +} + +// GetIsVolumeProfilesProfileInput is an input type that accepts GetIsVolumeProfilesProfileArgs and GetIsVolumeProfilesProfileOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileInput` via: +// +// GetIsVolumeProfilesProfileArgs{...} +type GetIsVolumeProfilesProfileInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileOutput() GetIsVolumeProfilesProfileOutput + ToGetIsVolumeProfilesProfileOutputWithContext(context.Context) GetIsVolumeProfilesProfileOutput +} + +type GetIsVolumeProfilesProfileArgs struct { + AdjustableCapacityStates GetIsVolumeProfilesProfileAdjustableCapacityStateArrayInput `pulumi:"adjustableCapacityStates"` + AdjustableIopsStates GetIsVolumeProfilesProfileAdjustableIopsStateArrayInput `pulumi:"adjustableIopsStates"` + BootCapacities GetIsVolumeProfilesProfileBootCapacityArrayInput `pulumi:"bootCapacities"` + Capacities GetIsVolumeProfilesProfileCapacityArrayInput `pulumi:"capacities"` + // The product family this volume profile belongs to.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. + Family pulumi.StringInput `pulumi:"family"` + // The URL for this volume profile. + Href pulumi.StringInput `pulumi:"href"` + Iops GetIsVolumeProfilesProfileIopArrayInput `pulumi:"iops"` + // The globally unique name for this volume profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVolumeProfilesProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfile)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileArgs) ToGetIsVolumeProfilesProfileOutput() GetIsVolumeProfilesProfileOutput { + return i.ToGetIsVolumeProfilesProfileOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileArgs) ToGetIsVolumeProfilesProfileOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileOutput) +} + +// GetIsVolumeProfilesProfileArrayInput is an input type that accepts GetIsVolumeProfilesProfileArray and GetIsVolumeProfilesProfileArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileArrayInput` via: +// +// GetIsVolumeProfilesProfileArray{ GetIsVolumeProfilesProfileArgs{...} } +type GetIsVolumeProfilesProfileArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileArrayOutput() GetIsVolumeProfilesProfileArrayOutput + ToGetIsVolumeProfilesProfileArrayOutputWithContext(context.Context) GetIsVolumeProfilesProfileArrayOutput +} + +type GetIsVolumeProfilesProfileArray []GetIsVolumeProfilesProfileInput + +func (GetIsVolumeProfilesProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfile)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileArray) ToGetIsVolumeProfilesProfileArrayOutput() GetIsVolumeProfilesProfileArrayOutput { + return i.ToGetIsVolumeProfilesProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileArray) ToGetIsVolumeProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileArrayOutput) +} + +type GetIsVolumeProfilesProfileOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfile)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileOutput) ToGetIsVolumeProfilesProfileOutput() GetIsVolumeProfilesProfileOutput { + return o +} + +func (o GetIsVolumeProfilesProfileOutput) ToGetIsVolumeProfilesProfileOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileOutput { + return o +} + +func (o GetIsVolumeProfilesProfileOutput) AdjustableCapacityStates() GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfile) []GetIsVolumeProfilesProfileAdjustableCapacityState { + return v.AdjustableCapacityStates + }).(GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput) +} + +func (o GetIsVolumeProfilesProfileOutput) AdjustableIopsStates() GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfile) []GetIsVolumeProfilesProfileAdjustableIopsState { + return v.AdjustableIopsStates + }).(GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput) +} + +func (o GetIsVolumeProfilesProfileOutput) BootCapacities() GetIsVolumeProfilesProfileBootCapacityArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfile) []GetIsVolumeProfilesProfileBootCapacity { return v.BootCapacities }).(GetIsVolumeProfilesProfileBootCapacityArrayOutput) +} + +func (o GetIsVolumeProfilesProfileOutput) Capacities() GetIsVolumeProfilesProfileCapacityArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfile) []GetIsVolumeProfilesProfileCapacity { return v.Capacities }).(GetIsVolumeProfilesProfileCapacityArrayOutput) +} + +// The product family this volume profile belongs to.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future. +func (o GetIsVolumeProfilesProfileOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfile) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this volume profile. +func (o GetIsVolumeProfilesProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfile) string { return v.Href }).(pulumi.StringOutput) +} + +func (o GetIsVolumeProfilesProfileOutput) Iops() GetIsVolumeProfilesProfileIopArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfile) []GetIsVolumeProfilesProfileIop { return v.Iops }).(GetIsVolumeProfilesProfileIopArrayOutput) +} + +// The globally unique name for this volume profile. +func (o GetIsVolumeProfilesProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVolumeProfilesProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfile)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileArrayOutput) ToGetIsVolumeProfilesProfileArrayOutput() GetIsVolumeProfilesProfileArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileArrayOutput) ToGetIsVolumeProfilesProfileArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfilesProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfilesProfile { + return vs[0].([]GetIsVolumeProfilesProfile)[vs[1].(int)] + }).(GetIsVolumeProfilesProfileOutput) +} + +type GetIsVolumeProfilesProfileAdjustableCapacityState struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The attachment states that support adjustable capacity for a volume with this profile. + Values []string `pulumi:"values"` +} + +// GetIsVolumeProfilesProfileAdjustableCapacityStateInput is an input type that accepts GetIsVolumeProfilesProfileAdjustableCapacityStateArgs and GetIsVolumeProfilesProfileAdjustableCapacityStateOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileAdjustableCapacityStateInput` via: +// +// GetIsVolumeProfilesProfileAdjustableCapacityStateArgs{...} +type GetIsVolumeProfilesProfileAdjustableCapacityStateInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileAdjustableCapacityStateOutput() GetIsVolumeProfilesProfileAdjustableCapacityStateOutput + ToGetIsVolumeProfilesProfileAdjustableCapacityStateOutputWithContext(context.Context) GetIsVolumeProfilesProfileAdjustableCapacityStateOutput +} + +type GetIsVolumeProfilesProfileAdjustableCapacityStateArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The attachment states that support adjustable capacity for a volume with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfilesProfileAdjustableCapacityStateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileAdjustableCapacityState)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileAdjustableCapacityStateArgs) ToGetIsVolumeProfilesProfileAdjustableCapacityStateOutput() GetIsVolumeProfilesProfileAdjustableCapacityStateOutput { + return i.ToGetIsVolumeProfilesProfileAdjustableCapacityStateOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileAdjustableCapacityStateArgs) ToGetIsVolumeProfilesProfileAdjustableCapacityStateOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileAdjustableCapacityStateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileAdjustableCapacityStateOutput) +} + +// GetIsVolumeProfilesProfileAdjustableCapacityStateArrayInput is an input type that accepts GetIsVolumeProfilesProfileAdjustableCapacityStateArray and GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileAdjustableCapacityStateArrayInput` via: +// +// GetIsVolumeProfilesProfileAdjustableCapacityStateArray{ GetIsVolumeProfilesProfileAdjustableCapacityStateArgs{...} } +type GetIsVolumeProfilesProfileAdjustableCapacityStateArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput() GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput + ToGetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutputWithContext(context.Context) GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput +} + +type GetIsVolumeProfilesProfileAdjustableCapacityStateArray []GetIsVolumeProfilesProfileAdjustableCapacityStateInput + +func (GetIsVolumeProfilesProfileAdjustableCapacityStateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileAdjustableCapacityState)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileAdjustableCapacityStateArray) ToGetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput() GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput { + return i.ToGetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileAdjustableCapacityStateArray) ToGetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput) +} + +type GetIsVolumeProfilesProfileAdjustableCapacityStateOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileAdjustableCapacityStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileAdjustableCapacityState)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileAdjustableCapacityStateOutput) ToGetIsVolumeProfilesProfileAdjustableCapacityStateOutput() GetIsVolumeProfilesProfileAdjustableCapacityStateOutput { + return o +} + +func (o GetIsVolumeProfilesProfileAdjustableCapacityStateOutput) ToGetIsVolumeProfilesProfileAdjustableCapacityStateOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileAdjustableCapacityStateOutput { + return o +} + +// The type for this profile field. +func (o GetIsVolumeProfilesProfileAdjustableCapacityStateOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileAdjustableCapacityState) string { return v.Type }).(pulumi.StringOutput) +} + +// The attachment states that support adjustable capacity for a volume with this profile. +func (o GetIsVolumeProfilesProfileAdjustableCapacityStateOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileAdjustableCapacityState) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileAdjustableCapacityState)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput) ToGetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput() GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput) ToGetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfilesProfileAdjustableCapacityStateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfilesProfileAdjustableCapacityState { + return vs[0].([]GetIsVolumeProfilesProfileAdjustableCapacityState)[vs[1].(int)] + }).(GetIsVolumeProfilesProfileAdjustableCapacityStateOutput) +} + +type GetIsVolumeProfilesProfileAdjustableIopsState struct { + // The type for this profile field. + Type string `pulumi:"type"` + // The attachment states that support adjustable IOPS for a volume with this profile. + Values []string `pulumi:"values"` +} + +// GetIsVolumeProfilesProfileAdjustableIopsStateInput is an input type that accepts GetIsVolumeProfilesProfileAdjustableIopsStateArgs and GetIsVolumeProfilesProfileAdjustableIopsStateOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileAdjustableIopsStateInput` via: +// +// GetIsVolumeProfilesProfileAdjustableIopsStateArgs{...} +type GetIsVolumeProfilesProfileAdjustableIopsStateInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileAdjustableIopsStateOutput() GetIsVolumeProfilesProfileAdjustableIopsStateOutput + ToGetIsVolumeProfilesProfileAdjustableIopsStateOutputWithContext(context.Context) GetIsVolumeProfilesProfileAdjustableIopsStateOutput +} + +type GetIsVolumeProfilesProfileAdjustableIopsStateArgs struct { + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The attachment states that support adjustable IOPS for a volume with this profile. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfilesProfileAdjustableIopsStateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileAdjustableIopsState)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileAdjustableIopsStateArgs) ToGetIsVolumeProfilesProfileAdjustableIopsStateOutput() GetIsVolumeProfilesProfileAdjustableIopsStateOutput { + return i.ToGetIsVolumeProfilesProfileAdjustableIopsStateOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileAdjustableIopsStateArgs) ToGetIsVolumeProfilesProfileAdjustableIopsStateOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileAdjustableIopsStateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileAdjustableIopsStateOutput) +} + +// GetIsVolumeProfilesProfileAdjustableIopsStateArrayInput is an input type that accepts GetIsVolumeProfilesProfileAdjustableIopsStateArray and GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileAdjustableIopsStateArrayInput` via: +// +// GetIsVolumeProfilesProfileAdjustableIopsStateArray{ GetIsVolumeProfilesProfileAdjustableIopsStateArgs{...} } +type GetIsVolumeProfilesProfileAdjustableIopsStateArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput() GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput + ToGetIsVolumeProfilesProfileAdjustableIopsStateArrayOutputWithContext(context.Context) GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput +} + +type GetIsVolumeProfilesProfileAdjustableIopsStateArray []GetIsVolumeProfilesProfileAdjustableIopsStateInput + +func (GetIsVolumeProfilesProfileAdjustableIopsStateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileAdjustableIopsState)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileAdjustableIopsStateArray) ToGetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput() GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput { + return i.ToGetIsVolumeProfilesProfileAdjustableIopsStateArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileAdjustableIopsStateArray) ToGetIsVolumeProfilesProfileAdjustableIopsStateArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput) +} + +type GetIsVolumeProfilesProfileAdjustableIopsStateOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileAdjustableIopsStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileAdjustableIopsState)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileAdjustableIopsStateOutput) ToGetIsVolumeProfilesProfileAdjustableIopsStateOutput() GetIsVolumeProfilesProfileAdjustableIopsStateOutput { + return o +} + +func (o GetIsVolumeProfilesProfileAdjustableIopsStateOutput) ToGetIsVolumeProfilesProfileAdjustableIopsStateOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileAdjustableIopsStateOutput { + return o +} + +// The type for this profile field. +func (o GetIsVolumeProfilesProfileAdjustableIopsStateOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileAdjustableIopsState) string { return v.Type }).(pulumi.StringOutput) +} + +// The attachment states that support adjustable IOPS for a volume with this profile. +func (o GetIsVolumeProfilesProfileAdjustableIopsStateOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileAdjustableIopsState) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileAdjustableIopsState)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput) ToGetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput() GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput) ToGetIsVolumeProfilesProfileAdjustableIopsStateArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfilesProfileAdjustableIopsStateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfilesProfileAdjustableIopsState { + return vs[0].([]GetIsVolumeProfilesProfileAdjustableIopsState)[vs[1].(int)] + }).(GetIsVolumeProfilesProfileAdjustableIopsStateOutput) +} + +type GetIsVolumeProfilesProfileBootCapacity struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsVolumeProfilesProfileBootCapacityInput is an input type that accepts GetIsVolumeProfilesProfileBootCapacityArgs and GetIsVolumeProfilesProfileBootCapacityOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileBootCapacityInput` via: +// +// GetIsVolumeProfilesProfileBootCapacityArgs{...} +type GetIsVolumeProfilesProfileBootCapacityInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileBootCapacityOutput() GetIsVolumeProfilesProfileBootCapacityOutput + ToGetIsVolumeProfilesProfileBootCapacityOutputWithContext(context.Context) GetIsVolumeProfilesProfileBootCapacityOutput +} + +type GetIsVolumeProfilesProfileBootCapacityArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfilesProfileBootCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileBootCapacity)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileBootCapacityArgs) ToGetIsVolumeProfilesProfileBootCapacityOutput() GetIsVolumeProfilesProfileBootCapacityOutput { + return i.ToGetIsVolumeProfilesProfileBootCapacityOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileBootCapacityArgs) ToGetIsVolumeProfilesProfileBootCapacityOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileBootCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileBootCapacityOutput) +} + +// GetIsVolumeProfilesProfileBootCapacityArrayInput is an input type that accepts GetIsVolumeProfilesProfileBootCapacityArray and GetIsVolumeProfilesProfileBootCapacityArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileBootCapacityArrayInput` via: +// +// GetIsVolumeProfilesProfileBootCapacityArray{ GetIsVolumeProfilesProfileBootCapacityArgs{...} } +type GetIsVolumeProfilesProfileBootCapacityArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileBootCapacityArrayOutput() GetIsVolumeProfilesProfileBootCapacityArrayOutput + ToGetIsVolumeProfilesProfileBootCapacityArrayOutputWithContext(context.Context) GetIsVolumeProfilesProfileBootCapacityArrayOutput +} + +type GetIsVolumeProfilesProfileBootCapacityArray []GetIsVolumeProfilesProfileBootCapacityInput + +func (GetIsVolumeProfilesProfileBootCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileBootCapacity)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileBootCapacityArray) ToGetIsVolumeProfilesProfileBootCapacityArrayOutput() GetIsVolumeProfilesProfileBootCapacityArrayOutput { + return i.ToGetIsVolumeProfilesProfileBootCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileBootCapacityArray) ToGetIsVolumeProfilesProfileBootCapacityArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileBootCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileBootCapacityArrayOutput) +} + +type GetIsVolumeProfilesProfileBootCapacityOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileBootCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileBootCapacity)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileBootCapacityOutput) ToGetIsVolumeProfilesProfileBootCapacityOutput() GetIsVolumeProfilesProfileBootCapacityOutput { + return o +} + +func (o GetIsVolumeProfilesProfileBootCapacityOutput) ToGetIsVolumeProfilesProfileBootCapacityOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileBootCapacityOutput { + return o +} + +// The default value for this profile field. +func (o GetIsVolumeProfilesProfileBootCapacityOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileBootCapacity) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsVolumeProfilesProfileBootCapacityOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileBootCapacity) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsVolumeProfilesProfileBootCapacityOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileBootCapacity) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsVolumeProfilesProfileBootCapacityOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileBootCapacity) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsVolumeProfilesProfileBootCapacityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileBootCapacity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsVolumeProfilesProfileBootCapacityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileBootCapacity) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsVolumeProfilesProfileBootCapacityOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileBootCapacity) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsVolumeProfilesProfileBootCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileBootCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileBootCapacity)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileBootCapacityArrayOutput) ToGetIsVolumeProfilesProfileBootCapacityArrayOutput() GetIsVolumeProfilesProfileBootCapacityArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileBootCapacityArrayOutput) ToGetIsVolumeProfilesProfileBootCapacityArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileBootCapacityArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileBootCapacityArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfilesProfileBootCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfilesProfileBootCapacity { + return vs[0].([]GetIsVolumeProfilesProfileBootCapacity)[vs[1].(int)] + }).(GetIsVolumeProfilesProfileBootCapacityOutput) +} + +type GetIsVolumeProfilesProfileCapacity struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsVolumeProfilesProfileCapacityInput is an input type that accepts GetIsVolumeProfilesProfileCapacityArgs and GetIsVolumeProfilesProfileCapacityOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileCapacityInput` via: +// +// GetIsVolumeProfilesProfileCapacityArgs{...} +type GetIsVolumeProfilesProfileCapacityInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileCapacityOutput() GetIsVolumeProfilesProfileCapacityOutput + ToGetIsVolumeProfilesProfileCapacityOutputWithContext(context.Context) GetIsVolumeProfilesProfileCapacityOutput +} + +type GetIsVolumeProfilesProfileCapacityArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfilesProfileCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileCapacity)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileCapacityArgs) ToGetIsVolumeProfilesProfileCapacityOutput() GetIsVolumeProfilesProfileCapacityOutput { + return i.ToGetIsVolumeProfilesProfileCapacityOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileCapacityArgs) ToGetIsVolumeProfilesProfileCapacityOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileCapacityOutput) +} + +// GetIsVolumeProfilesProfileCapacityArrayInput is an input type that accepts GetIsVolumeProfilesProfileCapacityArray and GetIsVolumeProfilesProfileCapacityArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileCapacityArrayInput` via: +// +// GetIsVolumeProfilesProfileCapacityArray{ GetIsVolumeProfilesProfileCapacityArgs{...} } +type GetIsVolumeProfilesProfileCapacityArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileCapacityArrayOutput() GetIsVolumeProfilesProfileCapacityArrayOutput + ToGetIsVolumeProfilesProfileCapacityArrayOutputWithContext(context.Context) GetIsVolumeProfilesProfileCapacityArrayOutput +} + +type GetIsVolumeProfilesProfileCapacityArray []GetIsVolumeProfilesProfileCapacityInput + +func (GetIsVolumeProfilesProfileCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileCapacity)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileCapacityArray) ToGetIsVolumeProfilesProfileCapacityArrayOutput() GetIsVolumeProfilesProfileCapacityArrayOutput { + return i.ToGetIsVolumeProfilesProfileCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileCapacityArray) ToGetIsVolumeProfilesProfileCapacityArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileCapacityArrayOutput) +} + +type GetIsVolumeProfilesProfileCapacityOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileCapacity)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileCapacityOutput) ToGetIsVolumeProfilesProfileCapacityOutput() GetIsVolumeProfilesProfileCapacityOutput { + return o +} + +func (o GetIsVolumeProfilesProfileCapacityOutput) ToGetIsVolumeProfilesProfileCapacityOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileCapacityOutput { + return o +} + +// The default value for this profile field. +func (o GetIsVolumeProfilesProfileCapacityOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileCapacity) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsVolumeProfilesProfileCapacityOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileCapacity) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsVolumeProfilesProfileCapacityOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileCapacity) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsVolumeProfilesProfileCapacityOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileCapacity) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsVolumeProfilesProfileCapacityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileCapacity) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsVolumeProfilesProfileCapacityOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileCapacity) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsVolumeProfilesProfileCapacityOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileCapacity) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsVolumeProfilesProfileCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileCapacity)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileCapacityArrayOutput) ToGetIsVolumeProfilesProfileCapacityArrayOutput() GetIsVolumeProfilesProfileCapacityArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileCapacityArrayOutput) ToGetIsVolumeProfilesProfileCapacityArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileCapacityArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileCapacityArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfilesProfileCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfilesProfileCapacity { + return vs[0].([]GetIsVolumeProfilesProfileCapacity)[vs[1].(int)] + }).(GetIsVolumeProfilesProfileCapacityOutput) +} + +type GetIsVolumeProfilesProfileIop struct { + // The default value for this profile field. + Default int `pulumi:"default"` + // The maximum value for this profile field. + Max int `pulumi:"max"` + // The minimum value for this profile field. + Min int `pulumi:"min"` + // The increment step value for this profile field. + Step int `pulumi:"step"` + // The type for this profile field. + Type string `pulumi:"type"` + // The value for this profile field. + Value int `pulumi:"value"` + // The permitted values for this profile field. + Values []int `pulumi:"values"` +} + +// GetIsVolumeProfilesProfileIopInput is an input type that accepts GetIsVolumeProfilesProfileIopArgs and GetIsVolumeProfilesProfileIopOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileIopInput` via: +// +// GetIsVolumeProfilesProfileIopArgs{...} +type GetIsVolumeProfilesProfileIopInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileIopOutput() GetIsVolumeProfilesProfileIopOutput + ToGetIsVolumeProfilesProfileIopOutputWithContext(context.Context) GetIsVolumeProfilesProfileIopOutput +} + +type GetIsVolumeProfilesProfileIopArgs struct { + // The default value for this profile field. + Default pulumi.IntInput `pulumi:"default"` + // The maximum value for this profile field. + Max pulumi.IntInput `pulumi:"max"` + // The minimum value for this profile field. + Min pulumi.IntInput `pulumi:"min"` + // The increment step value for this profile field. + Step pulumi.IntInput `pulumi:"step"` + // The type for this profile field. + Type pulumi.StringInput `pulumi:"type"` + // The value for this profile field. + Value pulumi.IntInput `pulumi:"value"` + // The permitted values for this profile field. + Values pulumi.IntArrayInput `pulumi:"values"` +} + +func (GetIsVolumeProfilesProfileIopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileIop)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileIopArgs) ToGetIsVolumeProfilesProfileIopOutput() GetIsVolumeProfilesProfileIopOutput { + return i.ToGetIsVolumeProfilesProfileIopOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileIopArgs) ToGetIsVolumeProfilesProfileIopOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileIopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileIopOutput) +} + +// GetIsVolumeProfilesProfileIopArrayInput is an input type that accepts GetIsVolumeProfilesProfileIopArray and GetIsVolumeProfilesProfileIopArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeProfilesProfileIopArrayInput` via: +// +// GetIsVolumeProfilesProfileIopArray{ GetIsVolumeProfilesProfileIopArgs{...} } +type GetIsVolumeProfilesProfileIopArrayInput interface { + pulumi.Input + + ToGetIsVolumeProfilesProfileIopArrayOutput() GetIsVolumeProfilesProfileIopArrayOutput + ToGetIsVolumeProfilesProfileIopArrayOutputWithContext(context.Context) GetIsVolumeProfilesProfileIopArrayOutput +} + +type GetIsVolumeProfilesProfileIopArray []GetIsVolumeProfilesProfileIopInput + +func (GetIsVolumeProfilesProfileIopArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileIop)(nil)).Elem() +} + +func (i GetIsVolumeProfilesProfileIopArray) ToGetIsVolumeProfilesProfileIopArrayOutput() GetIsVolumeProfilesProfileIopArrayOutput { + return i.ToGetIsVolumeProfilesProfileIopArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeProfilesProfileIopArray) ToGetIsVolumeProfilesProfileIopArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileIopArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeProfilesProfileIopArrayOutput) +} + +type GetIsVolumeProfilesProfileIopOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileIopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeProfilesProfileIop)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileIopOutput) ToGetIsVolumeProfilesProfileIopOutput() GetIsVolumeProfilesProfileIopOutput { + return o +} + +func (o GetIsVolumeProfilesProfileIopOutput) ToGetIsVolumeProfilesProfileIopOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileIopOutput { + return o +} + +// The default value for this profile field. +func (o GetIsVolumeProfilesProfileIopOutput) Default() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileIop) int { return v.Default }).(pulumi.IntOutput) +} + +// The maximum value for this profile field. +func (o GetIsVolumeProfilesProfileIopOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileIop) int { return v.Max }).(pulumi.IntOutput) +} + +// The minimum value for this profile field. +func (o GetIsVolumeProfilesProfileIopOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileIop) int { return v.Min }).(pulumi.IntOutput) +} + +// The increment step value for this profile field. +func (o GetIsVolumeProfilesProfileIopOutput) Step() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileIop) int { return v.Step }).(pulumi.IntOutput) +} + +// The type for this profile field. +func (o GetIsVolumeProfilesProfileIopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileIop) string { return v.Type }).(pulumi.StringOutput) +} + +// The value for this profile field. +func (o GetIsVolumeProfilesProfileIopOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileIop) int { return v.Value }).(pulumi.IntOutput) +} + +// The permitted values for this profile field. +func (o GetIsVolumeProfilesProfileIopOutput) Values() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetIsVolumeProfilesProfileIop) []int { return v.Values }).(pulumi.IntArrayOutput) +} + +type GetIsVolumeProfilesProfileIopArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeProfilesProfileIopArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeProfilesProfileIop)(nil)).Elem() +} + +func (o GetIsVolumeProfilesProfileIopArrayOutput) ToGetIsVolumeProfilesProfileIopArrayOutput() GetIsVolumeProfilesProfileIopArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileIopArrayOutput) ToGetIsVolumeProfilesProfileIopArrayOutputWithContext(ctx context.Context) GetIsVolumeProfilesProfileIopArrayOutput { + return o +} + +func (o GetIsVolumeProfilesProfileIopArrayOutput) Index(i pulumi.IntInput) GetIsVolumeProfilesProfileIopOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeProfilesProfileIop { + return vs[0].([]GetIsVolumeProfilesProfileIop)[vs[1].(int)] + }).(GetIsVolumeProfilesProfileIopOutput) +} + +type GetIsVolumeStatusReason struct { + // A snake case string succinctly identifying the status reason + Code string `pulumi:"code"` + // An explanation of the status reason + Message string `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumeStatusReasonInput is an input type that accepts GetIsVolumeStatusReasonArgs and GetIsVolumeStatusReasonOutput values. +// You can construct a concrete instance of `GetIsVolumeStatusReasonInput` via: +// +// GetIsVolumeStatusReasonArgs{...} +type GetIsVolumeStatusReasonInput interface { + pulumi.Input + + ToGetIsVolumeStatusReasonOutput() GetIsVolumeStatusReasonOutput + ToGetIsVolumeStatusReasonOutputWithContext(context.Context) GetIsVolumeStatusReasonOutput +} + +type GetIsVolumeStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumeStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeStatusReason)(nil)).Elem() +} + +func (i GetIsVolumeStatusReasonArgs) ToGetIsVolumeStatusReasonOutput() GetIsVolumeStatusReasonOutput { + return i.ToGetIsVolumeStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsVolumeStatusReasonArgs) ToGetIsVolumeStatusReasonOutputWithContext(ctx context.Context) GetIsVolumeStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeStatusReasonOutput) +} + +// GetIsVolumeStatusReasonArrayInput is an input type that accepts GetIsVolumeStatusReasonArray and GetIsVolumeStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVolumeStatusReasonArrayInput` via: +// +// GetIsVolumeStatusReasonArray{ GetIsVolumeStatusReasonArgs{...} } +type GetIsVolumeStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsVolumeStatusReasonArrayOutput() GetIsVolumeStatusReasonArrayOutput + ToGetIsVolumeStatusReasonArrayOutputWithContext(context.Context) GetIsVolumeStatusReasonArrayOutput +} + +type GetIsVolumeStatusReasonArray []GetIsVolumeStatusReasonInput + +func (GetIsVolumeStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeStatusReason)(nil)).Elem() +} + +func (i GetIsVolumeStatusReasonArray) ToGetIsVolumeStatusReasonArrayOutput() GetIsVolumeStatusReasonArrayOutput { + return i.ToGetIsVolumeStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumeStatusReasonArray) ToGetIsVolumeStatusReasonArrayOutputWithContext(ctx context.Context) GetIsVolumeStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumeStatusReasonArrayOutput) +} + +type GetIsVolumeStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumeStatusReason)(nil)).Elem() +} + +func (o GetIsVolumeStatusReasonOutput) ToGetIsVolumeStatusReasonOutput() GetIsVolumeStatusReasonOutput { + return o +} + +func (o GetIsVolumeStatusReasonOutput) ToGetIsVolumeStatusReasonOutputWithContext(ctx context.Context) GetIsVolumeStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason +func (o GetIsVolumeStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason +func (o GetIsVolumeStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason +func (o GetIsVolumeStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumeStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumeStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumeStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumeStatusReason)(nil)).Elem() +} + +func (o GetIsVolumeStatusReasonArrayOutput) ToGetIsVolumeStatusReasonArrayOutput() GetIsVolumeStatusReasonArrayOutput { + return o +} + +func (o GetIsVolumeStatusReasonArrayOutput) ToGetIsVolumeStatusReasonArrayOutputWithContext(ctx context.Context) GetIsVolumeStatusReasonArrayOutput { + return o +} + +func (o GetIsVolumeStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsVolumeStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumeStatusReason { + return vs[0].([]GetIsVolumeStatusReason)[vs[1].(int)] + }).(GetIsVolumeStatusReasonOutput) +} + +type GetIsVolumesVolume struct { + // Access management tags for the volume instance + AccessTags []string `pulumi:"accessTags"` + // Indicates whether a running virtual server instance has an attachment to this volume. + Active bool `pulumi:"active"` + // The attachment states that support adjustable capacity for this volume. + AdjustableCapacityStates []string `pulumi:"adjustableCapacityStates"` + // The attachment states that support adjustable IOPS for this volume. + AdjustableIopsStates []string `pulumi:"adjustableIopsStates"` + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses []GetIsVolumesVolumeAllowedUse `pulumi:"allowedUses"` + // The attachment state of the volume. + AttachmentState string `pulumi:"attachmentState"` + // The maximum bandwidth (in megabits per second) for the volume. + Bandwidth int `pulumi:"bandwidth"` + // Indicates whether this volume is performing an operation that must be serialized. If an operation specifies that it requires serialization, the operation will fail unless this property is `false`. + Busy bool `pulumi:"busy"` + // The capacity to use for the volume (in gigabytes). The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity int `pulumi:"capacity"` + // The catalog offering this volume was created from. If a virtual server instance is provisioned with a bootVolumeAttachment specifying this volume, the virtual server instance will use this volume's catalog offering, including its pricing plan. + CatalogOfferings []GetIsVolumesVolumeCatalogOffering `pulumi:"catalogOfferings"` + // The date and time that the volume was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this volume. + Crn string `pulumi:"crn"` + // The type of encryption used on the volume. + Encryption string `pulumi:"encryption"` + // The root key used to wrap the data encryption key for the volume.This property will be present for volumes with an `encryption` type of`userManaged`. + EncryptionKeys []GetIsVolumesVolumeEncryptionKey `pulumi:"encryptionKeys"` + HealthReasons []GetIsVolumesVolumeHealthReason `pulumi:"healthReasons"` + // The health of this resource. + HealthState string `pulumi:"healthState"` + // The URL for this volume. + Href string `pulumi:"href"` + // The unique identifier for this volume. + Id string `pulumi:"id"` + // The maximum I/O operations per second (IOPS) to use for the volume. Applicable only to volumes using a profile `family` of `custom`. + Iops int `pulumi:"iops"` + // The unique user-defined name for this volume. + Name string `pulumi:"name"` + // The operating system associated with this volume. If absent, this volume was notcreated from an image, or the image did not include an operating system. + OperatingSystems []GetIsVolumesVolumeOperatingSystem `pulumi:"operatingSystems"` + // The profile this volume uses. + Profiles []GetIsVolumesVolumeProfile `pulumi:"profiles"` + // The resource group for this volume. + ResourceGroups []GetIsVolumesVolumeResourceGroup `pulumi:"resourceGroups"` + // The image from which this volume was created (this may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)).If absent, this volume was not created from an image. + SourceImages []GetIsVolumesVolumeSourceImage `pulumi:"sourceImages"` + // The snapshot from which this volume was cloned. + SourceSnapshots []GetIsVolumesVolumeSourceSnapshot `pulumi:"sourceSnapshots"` + // The status of the volume.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the volume on which the unexpected property value was encountered. + Status string `pulumi:"status"` + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons []GetIsVolumesVolumeStatusReason `pulumi:"statusReasons"` + // storage_generation indicates which generation the profile family belongs to. For the custom and tiered profiles, this value is 1. + StorageGeneration int `pulumi:"storageGeneration"` + // User Tags for the Volume + Tags []string `pulumi:"tags"` + // The volume attachments for this volume. + VolumeAttachments []GetIsVolumesVolumeVolumeAttachment `pulumi:"volumeAttachments"` + // The zone this volume resides in. + Zones []GetIsVolumesVolumeZone `pulumi:"zones"` +} + +// GetIsVolumesVolumeInput is an input type that accepts GetIsVolumesVolumeArgs and GetIsVolumesVolumeOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeInput` via: +// +// GetIsVolumesVolumeArgs{...} +type GetIsVolumesVolumeInput interface { + pulumi.Input + + ToGetIsVolumesVolumeOutput() GetIsVolumesVolumeOutput + ToGetIsVolumesVolumeOutputWithContext(context.Context) GetIsVolumesVolumeOutput +} + +type GetIsVolumesVolumeArgs struct { + // Access management tags for the volume instance + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // Indicates whether a running virtual server instance has an attachment to this volume. + Active pulumi.BoolInput `pulumi:"active"` + // The attachment states that support adjustable capacity for this volume. + AdjustableCapacityStates pulumi.StringArrayInput `pulumi:"adjustableCapacityStates"` + // The attachment states that support adjustable IOPS for this volume. + AdjustableIopsStates pulumi.StringArrayInput `pulumi:"adjustableIopsStates"` + // The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. + AllowedUses GetIsVolumesVolumeAllowedUseArrayInput `pulumi:"allowedUses"` + // The attachment state of the volume. + AttachmentState pulumi.StringInput `pulumi:"attachmentState"` + // The maximum bandwidth (in megabits per second) for the volume. + Bandwidth pulumi.IntInput `pulumi:"bandwidth"` + // Indicates whether this volume is performing an operation that must be serialized. If an operation specifies that it requires serialization, the operation will fail unless this property is `false`. + Busy pulumi.BoolInput `pulumi:"busy"` + // The capacity to use for the volume (in gigabytes). The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. + Capacity pulumi.IntInput `pulumi:"capacity"` + // The catalog offering this volume was created from. If a virtual server instance is provisioned with a bootVolumeAttachment specifying this volume, the virtual server instance will use this volume's catalog offering, including its pricing plan. + CatalogOfferings GetIsVolumesVolumeCatalogOfferingArrayInput `pulumi:"catalogOfferings"` + // The date and time that the volume was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this volume. + Crn pulumi.StringInput `pulumi:"crn"` + // The type of encryption used on the volume. + Encryption pulumi.StringInput `pulumi:"encryption"` + // The root key used to wrap the data encryption key for the volume.This property will be present for volumes with an `encryption` type of`userManaged`. + EncryptionKeys GetIsVolumesVolumeEncryptionKeyArrayInput `pulumi:"encryptionKeys"` + HealthReasons GetIsVolumesVolumeHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource. + HealthState pulumi.StringInput `pulumi:"healthState"` + // The URL for this volume. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this volume. + Id pulumi.StringInput `pulumi:"id"` + // The maximum I/O operations per second (IOPS) to use for the volume. Applicable only to volumes using a profile `family` of `custom`. + Iops pulumi.IntInput `pulumi:"iops"` + // The unique user-defined name for this volume. + Name pulumi.StringInput `pulumi:"name"` + // The operating system associated with this volume. If absent, this volume was notcreated from an image, or the image did not include an operating system. + OperatingSystems GetIsVolumesVolumeOperatingSystemArrayInput `pulumi:"operatingSystems"` + // The profile this volume uses. + Profiles GetIsVolumesVolumeProfileArrayInput `pulumi:"profiles"` + // The resource group for this volume. + ResourceGroups GetIsVolumesVolumeResourceGroupArrayInput `pulumi:"resourceGroups"` + // The image from which this volume was created (this may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)).If absent, this volume was not created from an image. + SourceImages GetIsVolumesVolumeSourceImageArrayInput `pulumi:"sourceImages"` + // The snapshot from which this volume was cloned. + SourceSnapshots GetIsVolumesVolumeSourceSnapshotArrayInput `pulumi:"sourceSnapshots"` + // The status of the volume.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the volume on which the unexpected property value was encountered. + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + StatusReasons GetIsVolumesVolumeStatusReasonArrayInput `pulumi:"statusReasons"` + // storage_generation indicates which generation the profile family belongs to. For the custom and tiered profiles, this value is 1. + StorageGeneration pulumi.IntInput `pulumi:"storageGeneration"` + // User Tags for the Volume + Tags pulumi.StringArrayInput `pulumi:"tags"` + // The volume attachments for this volume. + VolumeAttachments GetIsVolumesVolumeVolumeAttachmentArrayInput `pulumi:"volumeAttachments"` + // The zone this volume resides in. + Zones GetIsVolumesVolumeZoneArrayInput `pulumi:"zones"` +} + +func (GetIsVolumesVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolume)(nil)).Elem() +} + +func (i GetIsVolumesVolumeArgs) ToGetIsVolumesVolumeOutput() GetIsVolumesVolumeOutput { + return i.ToGetIsVolumesVolumeOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeArgs) ToGetIsVolumesVolumeOutputWithContext(ctx context.Context) GetIsVolumesVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeOutput) +} + +// GetIsVolumesVolumeArrayInput is an input type that accepts GetIsVolumesVolumeArray and GetIsVolumesVolumeArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeArrayInput` via: +// +// GetIsVolumesVolumeArray{ GetIsVolumesVolumeArgs{...} } +type GetIsVolumesVolumeArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeArrayOutput() GetIsVolumesVolumeArrayOutput + ToGetIsVolumesVolumeArrayOutputWithContext(context.Context) GetIsVolumesVolumeArrayOutput +} + +type GetIsVolumesVolumeArray []GetIsVolumesVolumeInput + +func (GetIsVolumesVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolume)(nil)).Elem() +} + +func (i GetIsVolumesVolumeArray) ToGetIsVolumesVolumeArrayOutput() GetIsVolumesVolumeArrayOutput { + return i.ToGetIsVolumesVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeArray) ToGetIsVolumesVolumeArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeArrayOutput) +} + +type GetIsVolumesVolumeOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolume)(nil)).Elem() +} + +func (o GetIsVolumesVolumeOutput) ToGetIsVolumesVolumeOutput() GetIsVolumesVolumeOutput { + return o +} + +func (o GetIsVolumesVolumeOutput) ToGetIsVolumesVolumeOutputWithContext(ctx context.Context) GetIsVolumesVolumeOutput { + return o +} + +// Access management tags for the volume instance +func (o GetIsVolumesVolumeOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Indicates whether a running virtual server instance has an attachment to this volume. +func (o GetIsVolumesVolumeOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVolumesVolume) bool { return v.Active }).(pulumi.BoolOutput) +} + +// The attachment states that support adjustable capacity for this volume. +func (o GetIsVolumesVolumeOutput) AdjustableCapacityStates() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []string { return v.AdjustableCapacityStates }).(pulumi.StringArrayOutput) +} + +// The attachment states that support adjustable IOPS for this volume. +func (o GetIsVolumesVolumeOutput) AdjustableIopsStates() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []string { return v.AdjustableIopsStates }).(pulumi.StringArrayOutput) +} + +// The usage constraints to be matched against the requested instance or bare metal server properties to determine compatibility. +func (o GetIsVolumesVolumeOutput) AllowedUses() GetIsVolumesVolumeAllowedUseArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeAllowedUse { return v.AllowedUses }).(GetIsVolumesVolumeAllowedUseArrayOutput) +} + +// The attachment state of the volume. +func (o GetIsVolumesVolumeOutput) AttachmentState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.AttachmentState }).(pulumi.StringOutput) +} + +// The maximum bandwidth (in megabits per second) for the volume. +func (o GetIsVolumesVolumeOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumesVolume) int { return v.Bandwidth }).(pulumi.IntOutput) +} + +// Indicates whether this volume is performing an operation that must be serialized. If an operation specifies that it requires serialization, the operation will fail unless this property is `false`. +func (o GetIsVolumesVolumeOutput) Busy() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVolumesVolume) bool { return v.Busy }).(pulumi.BoolOutput) +} + +// The capacity to use for the volume (in gigabytes). The specified minimum and maximum capacity values for creating or updating volumes may expand in the future. +func (o GetIsVolumesVolumeOutput) Capacity() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumesVolume) int { return v.Capacity }).(pulumi.IntOutput) +} + +// The catalog offering this volume was created from. If a virtual server instance is provisioned with a bootVolumeAttachment specifying this volume, the virtual server instance will use this volume's catalog offering, including its pricing plan. +func (o GetIsVolumesVolumeOutput) CatalogOfferings() GetIsVolumesVolumeCatalogOfferingArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeCatalogOffering { return v.CatalogOfferings }).(GetIsVolumesVolumeCatalogOfferingArrayOutput) +} + +// The date and time that the volume was created. +func (o GetIsVolumesVolumeOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this volume. +func (o GetIsVolumesVolumeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.Crn }).(pulumi.StringOutput) +} + +// The type of encryption used on the volume. +func (o GetIsVolumesVolumeOutput) Encryption() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.Encryption }).(pulumi.StringOutput) +} + +// The root key used to wrap the data encryption key for the volume.This property will be present for volumes with an `encryption` type of`userManaged`. +func (o GetIsVolumesVolumeOutput) EncryptionKeys() GetIsVolumesVolumeEncryptionKeyArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeEncryptionKey { return v.EncryptionKeys }).(GetIsVolumesVolumeEncryptionKeyArrayOutput) +} + +func (o GetIsVolumesVolumeOutput) HealthReasons() GetIsVolumesVolumeHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeHealthReason { return v.HealthReasons }).(GetIsVolumesVolumeHealthReasonArrayOutput) +} + +// The health of this resource. +func (o GetIsVolumesVolumeOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this volume. +func (o GetIsVolumesVolumeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this volume. +func (o GetIsVolumesVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.Id }).(pulumi.StringOutput) +} + +// The maximum I/O operations per second (IOPS) to use for the volume. Applicable only to volumes using a profile `family` of `custom`. +func (o GetIsVolumesVolumeOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumesVolume) int { return v.Iops }).(pulumi.IntOutput) +} + +// The unique user-defined name for this volume. +func (o GetIsVolumesVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// The operating system associated with this volume. If absent, this volume was notcreated from an image, or the image did not include an operating system. +func (o GetIsVolumesVolumeOutput) OperatingSystems() GetIsVolumesVolumeOperatingSystemArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeOperatingSystem { return v.OperatingSystems }).(GetIsVolumesVolumeOperatingSystemArrayOutput) +} + +// The profile this volume uses. +func (o GetIsVolumesVolumeOutput) Profiles() GetIsVolumesVolumeProfileArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeProfile { return v.Profiles }).(GetIsVolumesVolumeProfileArrayOutput) +} + +// The resource group for this volume. +func (o GetIsVolumesVolumeOutput) ResourceGroups() GetIsVolumesVolumeResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeResourceGroup { return v.ResourceGroups }).(GetIsVolumesVolumeResourceGroupArrayOutput) +} + +// The image from which this volume was created (this may be[deleted](https://cloud.ibm.com/apidocs/vpc#deleted-resources)).If absent, this volume was not created from an image. +func (o GetIsVolumesVolumeOutput) SourceImages() GetIsVolumesVolumeSourceImageArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeSourceImage { return v.SourceImages }).(GetIsVolumesVolumeSourceImageArrayOutput) +} + +// The snapshot from which this volume was cloned. +func (o GetIsVolumesVolumeOutput) SourceSnapshots() GetIsVolumesVolumeSourceSnapshotArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeSourceSnapshot { return v.SourceSnapshots }).(GetIsVolumesVolumeSourceSnapshotArrayOutput) +} + +// The status of the volume.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the volume on which the unexpected property value was encountered. +func (o GetIsVolumesVolumeOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolume) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o GetIsVolumesVolumeOutput) StatusReasons() GetIsVolumesVolumeStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeStatusReason { return v.StatusReasons }).(GetIsVolumesVolumeStatusReasonArrayOutput) +} + +// storage_generation indicates which generation the profile family belongs to. For the custom and tiered profiles, this value is 1. +func (o GetIsVolumesVolumeOutput) StorageGeneration() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVolumesVolume) int { return v.StorageGeneration }).(pulumi.IntOutput) +} + +// User Tags for the Volume +func (o GetIsVolumesVolumeOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The volume attachments for this volume. +func (o GetIsVolumesVolumeOutput) VolumeAttachments() GetIsVolumesVolumeVolumeAttachmentArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeVolumeAttachment { return v.VolumeAttachments }).(GetIsVolumesVolumeVolumeAttachmentArrayOutput) +} + +// The zone this volume resides in. +func (o GetIsVolumesVolumeOutput) Zones() GetIsVolumesVolumeZoneArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolume) []GetIsVolumesVolumeZone { return v.Zones }).(GetIsVolumesVolumeZoneArrayOutput) +} + +type GetIsVolumesVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolume)(nil)).Elem() +} + +func (o GetIsVolumesVolumeArrayOutput) ToGetIsVolumesVolumeArrayOutput() GetIsVolumesVolumeArrayOutput { + return o +} + +func (o GetIsVolumesVolumeArrayOutput) ToGetIsVolumesVolumeArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeArrayOutput { + return o +} + +func (o GetIsVolumesVolumeArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolume { + return vs[0].([]GetIsVolumesVolume)[vs[1].(int)] + }).(GetIsVolumesVolumeOutput) +} + +type GetIsVolumesVolumeAllowedUse struct { + // The API version with which to evaluate the expressions. + ApiVersion string `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer string `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance string `pulumi:"instance"` +} + +// GetIsVolumesVolumeAllowedUseInput is an input type that accepts GetIsVolumesVolumeAllowedUseArgs and GetIsVolumesVolumeAllowedUseOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeAllowedUseInput` via: +// +// GetIsVolumesVolumeAllowedUseArgs{...} +type GetIsVolumesVolumeAllowedUseInput interface { + pulumi.Input + + ToGetIsVolumesVolumeAllowedUseOutput() GetIsVolumesVolumeAllowedUseOutput + ToGetIsVolumesVolumeAllowedUseOutputWithContext(context.Context) GetIsVolumesVolumeAllowedUseOutput +} + +type GetIsVolumesVolumeAllowedUseArgs struct { + // The API version with which to evaluate the expressions. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. + BareMetalServer pulumi.StringInput `pulumi:"bareMetalServer"` + // The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. + Instance pulumi.StringInput `pulumi:"instance"` +} + +func (GetIsVolumesVolumeAllowedUseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeAllowedUse)(nil)).Elem() +} + +func (i GetIsVolumesVolumeAllowedUseArgs) ToGetIsVolumesVolumeAllowedUseOutput() GetIsVolumesVolumeAllowedUseOutput { + return i.ToGetIsVolumesVolumeAllowedUseOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeAllowedUseArgs) ToGetIsVolumesVolumeAllowedUseOutputWithContext(ctx context.Context) GetIsVolumesVolumeAllowedUseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeAllowedUseOutput) +} + +// GetIsVolumesVolumeAllowedUseArrayInput is an input type that accepts GetIsVolumesVolumeAllowedUseArray and GetIsVolumesVolumeAllowedUseArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeAllowedUseArrayInput` via: +// +// GetIsVolumesVolumeAllowedUseArray{ GetIsVolumesVolumeAllowedUseArgs{...} } +type GetIsVolumesVolumeAllowedUseArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeAllowedUseArrayOutput() GetIsVolumesVolumeAllowedUseArrayOutput + ToGetIsVolumesVolumeAllowedUseArrayOutputWithContext(context.Context) GetIsVolumesVolumeAllowedUseArrayOutput +} + +type GetIsVolumesVolumeAllowedUseArray []GetIsVolumesVolumeAllowedUseInput + +func (GetIsVolumesVolumeAllowedUseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeAllowedUse)(nil)).Elem() +} + +func (i GetIsVolumesVolumeAllowedUseArray) ToGetIsVolumesVolumeAllowedUseArrayOutput() GetIsVolumesVolumeAllowedUseArrayOutput { + return i.ToGetIsVolumesVolumeAllowedUseArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeAllowedUseArray) ToGetIsVolumesVolumeAllowedUseArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeAllowedUseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeAllowedUseArrayOutput) +} + +type GetIsVolumesVolumeAllowedUseOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeAllowedUseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeAllowedUse)(nil)).Elem() +} + +func (o GetIsVolumesVolumeAllowedUseOutput) ToGetIsVolumesVolumeAllowedUseOutput() GetIsVolumesVolumeAllowedUseOutput { + return o +} + +func (o GetIsVolumesVolumeAllowedUseOutput) ToGetIsVolumesVolumeAllowedUseOutputWithContext(ctx context.Context) GetIsVolumesVolumeAllowedUseOutput { + return o +} + +// The API version with which to evaluate the expressions. +func (o GetIsVolumesVolumeAllowedUseOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeAllowedUse) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a bare metal server provisioned using the image data in this volume. +func (o GetIsVolumesVolumeAllowedUseOutput) BareMetalServer() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeAllowedUse) string { return v.BareMetalServer }).(pulumi.StringOutput) +} + +// The expression that must be satisfied by the properties of a virtual server instance provisioned using this volume. +func (o GetIsVolumesVolumeAllowedUseOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeAllowedUse) string { return v.Instance }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeAllowedUseArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeAllowedUseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeAllowedUse)(nil)).Elem() +} + +func (o GetIsVolumesVolumeAllowedUseArrayOutput) ToGetIsVolumesVolumeAllowedUseArrayOutput() GetIsVolumesVolumeAllowedUseArrayOutput { + return o +} + +func (o GetIsVolumesVolumeAllowedUseArrayOutput) ToGetIsVolumesVolumeAllowedUseArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeAllowedUseArrayOutput { + return o +} + +func (o GetIsVolumesVolumeAllowedUseArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeAllowedUseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeAllowedUse { + return vs[0].([]GetIsVolumesVolumeAllowedUse)[vs[1].(int)] + }).(GetIsVolumesVolumeAllowedUseOutput) +} + +type GetIsVolumesVolumeCatalogOffering struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsVolumesVolumeCatalogOfferingDeleted `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn string `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn string `pulumi:"versionCrn"` +} + +// GetIsVolumesVolumeCatalogOfferingInput is an input type that accepts GetIsVolumesVolumeCatalogOfferingArgs and GetIsVolumesVolumeCatalogOfferingOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeCatalogOfferingInput` via: +// +// GetIsVolumesVolumeCatalogOfferingArgs{...} +type GetIsVolumesVolumeCatalogOfferingInput interface { + pulumi.Input + + ToGetIsVolumesVolumeCatalogOfferingOutput() GetIsVolumesVolumeCatalogOfferingOutput + ToGetIsVolumesVolumeCatalogOfferingOutputWithContext(context.Context) GetIsVolumesVolumeCatalogOfferingOutput +} + +type GetIsVolumesVolumeCatalogOfferingArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsVolumesVolumeCatalogOfferingDeletedArrayInput `pulumi:"deleteds"` + // The CRN for this catalog offering version's billing plan + PlanCrn pulumi.StringInput `pulumi:"planCrn"` + // The CRN for this version of a catalog offering + VersionCrn pulumi.StringInput `pulumi:"versionCrn"` +} + +func (GetIsVolumesVolumeCatalogOfferingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeCatalogOffering)(nil)).Elem() +} + +func (i GetIsVolumesVolumeCatalogOfferingArgs) ToGetIsVolumesVolumeCatalogOfferingOutput() GetIsVolumesVolumeCatalogOfferingOutput { + return i.ToGetIsVolumesVolumeCatalogOfferingOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeCatalogOfferingArgs) ToGetIsVolumesVolumeCatalogOfferingOutputWithContext(ctx context.Context) GetIsVolumesVolumeCatalogOfferingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeCatalogOfferingOutput) +} + +// GetIsVolumesVolumeCatalogOfferingArrayInput is an input type that accepts GetIsVolumesVolumeCatalogOfferingArray and GetIsVolumesVolumeCatalogOfferingArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeCatalogOfferingArrayInput` via: +// +// GetIsVolumesVolumeCatalogOfferingArray{ GetIsVolumesVolumeCatalogOfferingArgs{...} } +type GetIsVolumesVolumeCatalogOfferingArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeCatalogOfferingArrayOutput() GetIsVolumesVolumeCatalogOfferingArrayOutput + ToGetIsVolumesVolumeCatalogOfferingArrayOutputWithContext(context.Context) GetIsVolumesVolumeCatalogOfferingArrayOutput +} + +type GetIsVolumesVolumeCatalogOfferingArray []GetIsVolumesVolumeCatalogOfferingInput + +func (GetIsVolumesVolumeCatalogOfferingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeCatalogOffering)(nil)).Elem() +} + +func (i GetIsVolumesVolumeCatalogOfferingArray) ToGetIsVolumesVolumeCatalogOfferingArrayOutput() GetIsVolumesVolumeCatalogOfferingArrayOutput { + return i.ToGetIsVolumesVolumeCatalogOfferingArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeCatalogOfferingArray) ToGetIsVolumesVolumeCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeCatalogOfferingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeCatalogOfferingArrayOutput) +} + +type GetIsVolumesVolumeCatalogOfferingOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeCatalogOfferingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeCatalogOffering)(nil)).Elem() +} + +func (o GetIsVolumesVolumeCatalogOfferingOutput) ToGetIsVolumesVolumeCatalogOfferingOutput() GetIsVolumesVolumeCatalogOfferingOutput { + return o +} + +func (o GetIsVolumesVolumeCatalogOfferingOutput) ToGetIsVolumesVolumeCatalogOfferingOutputWithContext(ctx context.Context) GetIsVolumesVolumeCatalogOfferingOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsVolumesVolumeCatalogOfferingOutput) Deleteds() GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolumeCatalogOffering) []GetIsVolumesVolumeCatalogOfferingDeleted { + return v.Deleteds + }).(GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput) +} + +// The CRN for this catalog offering version's billing plan +func (o GetIsVolumesVolumeCatalogOfferingOutput) PlanCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeCatalogOffering) string { return v.PlanCrn }).(pulumi.StringOutput) +} + +// The CRN for this version of a catalog offering +func (o GetIsVolumesVolumeCatalogOfferingOutput) VersionCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeCatalogOffering) string { return v.VersionCrn }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeCatalogOfferingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeCatalogOfferingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeCatalogOffering)(nil)).Elem() +} + +func (o GetIsVolumesVolumeCatalogOfferingArrayOutput) ToGetIsVolumesVolumeCatalogOfferingArrayOutput() GetIsVolumesVolumeCatalogOfferingArrayOutput { + return o +} + +func (o GetIsVolumesVolumeCatalogOfferingArrayOutput) ToGetIsVolumesVolumeCatalogOfferingArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeCatalogOfferingArrayOutput { + return o +} + +func (o GetIsVolumesVolumeCatalogOfferingArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeCatalogOfferingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeCatalogOffering { + return vs[0].([]GetIsVolumesVolumeCatalogOffering)[vs[1].(int)] + }).(GetIsVolumesVolumeCatalogOfferingOutput) +} + +type GetIsVolumesVolumeCatalogOfferingDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumesVolumeCatalogOfferingDeletedInput is an input type that accepts GetIsVolumesVolumeCatalogOfferingDeletedArgs and GetIsVolumesVolumeCatalogOfferingDeletedOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeCatalogOfferingDeletedInput` via: +// +// GetIsVolumesVolumeCatalogOfferingDeletedArgs{...} +type GetIsVolumesVolumeCatalogOfferingDeletedInput interface { + pulumi.Input + + ToGetIsVolumesVolumeCatalogOfferingDeletedOutput() GetIsVolumesVolumeCatalogOfferingDeletedOutput + ToGetIsVolumesVolumeCatalogOfferingDeletedOutputWithContext(context.Context) GetIsVolumesVolumeCatalogOfferingDeletedOutput +} + +type GetIsVolumesVolumeCatalogOfferingDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumesVolumeCatalogOfferingDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeCatalogOfferingDeletedArgs) ToGetIsVolumesVolumeCatalogOfferingDeletedOutput() GetIsVolumesVolumeCatalogOfferingDeletedOutput { + return i.ToGetIsVolumesVolumeCatalogOfferingDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeCatalogOfferingDeletedArgs) ToGetIsVolumesVolumeCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeCatalogOfferingDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeCatalogOfferingDeletedOutput) +} + +// GetIsVolumesVolumeCatalogOfferingDeletedArrayInput is an input type that accepts GetIsVolumesVolumeCatalogOfferingDeletedArray and GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeCatalogOfferingDeletedArrayInput` via: +// +// GetIsVolumesVolumeCatalogOfferingDeletedArray{ GetIsVolumesVolumeCatalogOfferingDeletedArgs{...} } +type GetIsVolumesVolumeCatalogOfferingDeletedArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeCatalogOfferingDeletedArrayOutput() GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput + ToGetIsVolumesVolumeCatalogOfferingDeletedArrayOutputWithContext(context.Context) GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput +} + +type GetIsVolumesVolumeCatalogOfferingDeletedArray []GetIsVolumesVolumeCatalogOfferingDeletedInput + +func (GetIsVolumesVolumeCatalogOfferingDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeCatalogOfferingDeletedArray) ToGetIsVolumesVolumeCatalogOfferingDeletedArrayOutput() GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput { + return i.ToGetIsVolumesVolumeCatalogOfferingDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeCatalogOfferingDeletedArray) ToGetIsVolumesVolumeCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput) +} + +type GetIsVolumesVolumeCatalogOfferingDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeCatalogOfferingDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeCatalogOfferingDeletedOutput) ToGetIsVolumesVolumeCatalogOfferingDeletedOutput() GetIsVolumesVolumeCatalogOfferingDeletedOutput { + return o +} + +func (o GetIsVolumesVolumeCatalogOfferingDeletedOutput) ToGetIsVolumesVolumeCatalogOfferingDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeCatalogOfferingDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVolumesVolumeCatalogOfferingDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeCatalogOfferingDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeCatalogOfferingDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput) ToGetIsVolumesVolumeCatalogOfferingDeletedArrayOutput() GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput) ToGetIsVolumesVolumeCatalogOfferingDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeCatalogOfferingDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeCatalogOfferingDeleted { + return vs[0].([]GetIsVolumesVolumeCatalogOfferingDeleted)[vs[1].(int)] + }).(GetIsVolumesVolumeCatalogOfferingDeletedOutput) +} + +type GetIsVolumesVolumeEncryptionKey struct { + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + Crn string `pulumi:"crn"` +} + +// GetIsVolumesVolumeEncryptionKeyInput is an input type that accepts GetIsVolumesVolumeEncryptionKeyArgs and GetIsVolumesVolumeEncryptionKeyOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeEncryptionKeyInput` via: +// +// GetIsVolumesVolumeEncryptionKeyArgs{...} +type GetIsVolumesVolumeEncryptionKeyInput interface { + pulumi.Input + + ToGetIsVolumesVolumeEncryptionKeyOutput() GetIsVolumesVolumeEncryptionKeyOutput + ToGetIsVolumesVolumeEncryptionKeyOutputWithContext(context.Context) GetIsVolumesVolumeEncryptionKeyOutput +} + +type GetIsVolumesVolumeEncryptionKeyArgs struct { + // The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. + Crn pulumi.StringInput `pulumi:"crn"` +} + +func (GetIsVolumesVolumeEncryptionKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeEncryptionKey)(nil)).Elem() +} + +func (i GetIsVolumesVolumeEncryptionKeyArgs) ToGetIsVolumesVolumeEncryptionKeyOutput() GetIsVolumesVolumeEncryptionKeyOutput { + return i.ToGetIsVolumesVolumeEncryptionKeyOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeEncryptionKeyArgs) ToGetIsVolumesVolumeEncryptionKeyOutputWithContext(ctx context.Context) GetIsVolumesVolumeEncryptionKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeEncryptionKeyOutput) +} + +// GetIsVolumesVolumeEncryptionKeyArrayInput is an input type that accepts GetIsVolumesVolumeEncryptionKeyArray and GetIsVolumesVolumeEncryptionKeyArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeEncryptionKeyArrayInput` via: +// +// GetIsVolumesVolumeEncryptionKeyArray{ GetIsVolumesVolumeEncryptionKeyArgs{...} } +type GetIsVolumesVolumeEncryptionKeyArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeEncryptionKeyArrayOutput() GetIsVolumesVolumeEncryptionKeyArrayOutput + ToGetIsVolumesVolumeEncryptionKeyArrayOutputWithContext(context.Context) GetIsVolumesVolumeEncryptionKeyArrayOutput +} + +type GetIsVolumesVolumeEncryptionKeyArray []GetIsVolumesVolumeEncryptionKeyInput + +func (GetIsVolumesVolumeEncryptionKeyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeEncryptionKey)(nil)).Elem() +} + +func (i GetIsVolumesVolumeEncryptionKeyArray) ToGetIsVolumesVolumeEncryptionKeyArrayOutput() GetIsVolumesVolumeEncryptionKeyArrayOutput { + return i.ToGetIsVolumesVolumeEncryptionKeyArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeEncryptionKeyArray) ToGetIsVolumesVolumeEncryptionKeyArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeEncryptionKeyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeEncryptionKeyArrayOutput) +} + +type GetIsVolumesVolumeEncryptionKeyOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeEncryptionKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeEncryptionKey)(nil)).Elem() +} + +func (o GetIsVolumesVolumeEncryptionKeyOutput) ToGetIsVolumesVolumeEncryptionKeyOutput() GetIsVolumesVolumeEncryptionKeyOutput { + return o +} + +func (o GetIsVolumesVolumeEncryptionKeyOutput) ToGetIsVolumesVolumeEncryptionKeyOutputWithContext(ctx context.Context) GetIsVolumesVolumeEncryptionKeyOutput { + return o +} + +// The CRN of the [Key Protect Root Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. +func (o GetIsVolumesVolumeEncryptionKeyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeEncryptionKey) string { return v.Crn }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeEncryptionKeyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeEncryptionKeyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeEncryptionKey)(nil)).Elem() +} + +func (o GetIsVolumesVolumeEncryptionKeyArrayOutput) ToGetIsVolumesVolumeEncryptionKeyArrayOutput() GetIsVolumesVolumeEncryptionKeyArrayOutput { + return o +} + +func (o GetIsVolumesVolumeEncryptionKeyArrayOutput) ToGetIsVolumesVolumeEncryptionKeyArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeEncryptionKeyArrayOutput { + return o +} + +func (o GetIsVolumesVolumeEncryptionKeyArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeEncryptionKeyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeEncryptionKey { + return vs[0].([]GetIsVolumesVolumeEncryptionKey)[vs[1].(int)] + }).(GetIsVolumesVolumeEncryptionKeyOutput) +} + +type GetIsVolumesVolumeHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumesVolumeHealthReasonInput is an input type that accepts GetIsVolumesVolumeHealthReasonArgs and GetIsVolumesVolumeHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeHealthReasonInput` via: +// +// GetIsVolumesVolumeHealthReasonArgs{...} +type GetIsVolumesVolumeHealthReasonInput interface { + pulumi.Input + + ToGetIsVolumesVolumeHealthReasonOutput() GetIsVolumesVolumeHealthReasonOutput + ToGetIsVolumesVolumeHealthReasonOutputWithContext(context.Context) GetIsVolumesVolumeHealthReasonOutput +} + +type GetIsVolumesVolumeHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumesVolumeHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeHealthReason)(nil)).Elem() +} + +func (i GetIsVolumesVolumeHealthReasonArgs) ToGetIsVolumesVolumeHealthReasonOutput() GetIsVolumesVolumeHealthReasonOutput { + return i.ToGetIsVolumesVolumeHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeHealthReasonArgs) ToGetIsVolumesVolumeHealthReasonOutputWithContext(ctx context.Context) GetIsVolumesVolumeHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeHealthReasonOutput) +} + +// GetIsVolumesVolumeHealthReasonArrayInput is an input type that accepts GetIsVolumesVolumeHealthReasonArray and GetIsVolumesVolumeHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeHealthReasonArrayInput` via: +// +// GetIsVolumesVolumeHealthReasonArray{ GetIsVolumesVolumeHealthReasonArgs{...} } +type GetIsVolumesVolumeHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeHealthReasonArrayOutput() GetIsVolumesVolumeHealthReasonArrayOutput + ToGetIsVolumesVolumeHealthReasonArrayOutputWithContext(context.Context) GetIsVolumesVolumeHealthReasonArrayOutput +} + +type GetIsVolumesVolumeHealthReasonArray []GetIsVolumesVolumeHealthReasonInput + +func (GetIsVolumesVolumeHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeHealthReason)(nil)).Elem() +} + +func (i GetIsVolumesVolumeHealthReasonArray) ToGetIsVolumesVolumeHealthReasonArrayOutput() GetIsVolumesVolumeHealthReasonArrayOutput { + return i.ToGetIsVolumesVolumeHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeHealthReasonArray) ToGetIsVolumesVolumeHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeHealthReasonArrayOutput) +} + +type GetIsVolumesVolumeHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeHealthReason)(nil)).Elem() +} + +func (o GetIsVolumesVolumeHealthReasonOutput) ToGetIsVolumesVolumeHealthReasonOutput() GetIsVolumesVolumeHealthReasonOutput { + return o +} + +func (o GetIsVolumesVolumeHealthReasonOutput) ToGetIsVolumesVolumeHealthReasonOutputWithContext(ctx context.Context) GetIsVolumesVolumeHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVolumesVolumeHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVolumesVolumeHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVolumesVolumeHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeHealthReason)(nil)).Elem() +} + +func (o GetIsVolumesVolumeHealthReasonArrayOutput) ToGetIsVolumesVolumeHealthReasonArrayOutput() GetIsVolumesVolumeHealthReasonArrayOutput { + return o +} + +func (o GetIsVolumesVolumeHealthReasonArrayOutput) ToGetIsVolumesVolumeHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeHealthReasonArrayOutput { + return o +} + +func (o GetIsVolumesVolumeHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeHealthReason { + return vs[0].([]GetIsVolumesVolumeHealthReason)[vs[1].(int)] + }).(GetIsVolumesVolumeHealthReasonOutput) +} + +type GetIsVolumesVolumeOperatingSystem struct { + // The operating system architecture. + Architecture string `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups. + DedicatedHostOnly bool `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system. + DisplayName string `pulumi:"displayName"` + // The software family for this operating system. + Family string `pulumi:"family"` + // The URL for this operating system. + Href string `pulumi:"href"` + // The globally unique name for this operating system. + Name string `pulumi:"name"` + // The vendor of the operating system. + Vendor string `pulumi:"vendor"` + // The major release version of this operating system. + Version string `pulumi:"version"` +} + +// GetIsVolumesVolumeOperatingSystemInput is an input type that accepts GetIsVolumesVolumeOperatingSystemArgs and GetIsVolumesVolumeOperatingSystemOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeOperatingSystemInput` via: +// +// GetIsVolumesVolumeOperatingSystemArgs{...} +type GetIsVolumesVolumeOperatingSystemInput interface { + pulumi.Input + + ToGetIsVolumesVolumeOperatingSystemOutput() GetIsVolumesVolumeOperatingSystemOutput + ToGetIsVolumesVolumeOperatingSystemOutputWithContext(context.Context) GetIsVolumesVolumeOperatingSystemOutput +} + +type GetIsVolumesVolumeOperatingSystemArgs struct { + // The operating system architecture. + Architecture pulumi.StringInput `pulumi:"architecture"` + // Images with this operating system can only be used on dedicated hosts or dedicated host groups. + DedicatedHostOnly pulumi.BoolInput `pulumi:"dedicatedHostOnly"` + // A unique, display-friendly name for the operating system. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // The software family for this operating system. + Family pulumi.StringInput `pulumi:"family"` + // The URL for this operating system. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this operating system. + Name pulumi.StringInput `pulumi:"name"` + // The vendor of the operating system. + Vendor pulumi.StringInput `pulumi:"vendor"` + // The major release version of this operating system. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetIsVolumesVolumeOperatingSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeOperatingSystem)(nil)).Elem() +} + +func (i GetIsVolumesVolumeOperatingSystemArgs) ToGetIsVolumesVolumeOperatingSystemOutput() GetIsVolumesVolumeOperatingSystemOutput { + return i.ToGetIsVolumesVolumeOperatingSystemOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeOperatingSystemArgs) ToGetIsVolumesVolumeOperatingSystemOutputWithContext(ctx context.Context) GetIsVolumesVolumeOperatingSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeOperatingSystemOutput) +} + +// GetIsVolumesVolumeOperatingSystemArrayInput is an input type that accepts GetIsVolumesVolumeOperatingSystemArray and GetIsVolumesVolumeOperatingSystemArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeOperatingSystemArrayInput` via: +// +// GetIsVolumesVolumeOperatingSystemArray{ GetIsVolumesVolumeOperatingSystemArgs{...} } +type GetIsVolumesVolumeOperatingSystemArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeOperatingSystemArrayOutput() GetIsVolumesVolumeOperatingSystemArrayOutput + ToGetIsVolumesVolumeOperatingSystemArrayOutputWithContext(context.Context) GetIsVolumesVolumeOperatingSystemArrayOutput +} + +type GetIsVolumesVolumeOperatingSystemArray []GetIsVolumesVolumeOperatingSystemInput + +func (GetIsVolumesVolumeOperatingSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeOperatingSystem)(nil)).Elem() +} + +func (i GetIsVolumesVolumeOperatingSystemArray) ToGetIsVolumesVolumeOperatingSystemArrayOutput() GetIsVolumesVolumeOperatingSystemArrayOutput { + return i.ToGetIsVolumesVolumeOperatingSystemArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeOperatingSystemArray) ToGetIsVolumesVolumeOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeOperatingSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeOperatingSystemArrayOutput) +} + +type GetIsVolumesVolumeOperatingSystemOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeOperatingSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeOperatingSystem)(nil)).Elem() +} + +func (o GetIsVolumesVolumeOperatingSystemOutput) ToGetIsVolumesVolumeOperatingSystemOutput() GetIsVolumesVolumeOperatingSystemOutput { + return o +} + +func (o GetIsVolumesVolumeOperatingSystemOutput) ToGetIsVolumesVolumeOperatingSystemOutputWithContext(ctx context.Context) GetIsVolumesVolumeOperatingSystemOutput { + return o +} + +// The operating system architecture. +func (o GetIsVolumesVolumeOperatingSystemOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeOperatingSystem) string { return v.Architecture }).(pulumi.StringOutput) +} + +// Images with this operating system can only be used on dedicated hosts or dedicated host groups. +func (o GetIsVolumesVolumeOperatingSystemOutput) DedicatedHostOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVolumesVolumeOperatingSystem) bool { return v.DedicatedHostOnly }).(pulumi.BoolOutput) +} + +// A unique, display-friendly name for the operating system. +func (o GetIsVolumesVolumeOperatingSystemOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeOperatingSystem) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The software family for this operating system. +func (o GetIsVolumesVolumeOperatingSystemOutput) Family() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeOperatingSystem) string { return v.Family }).(pulumi.StringOutput) +} + +// The URL for this operating system. +func (o GetIsVolumesVolumeOperatingSystemOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeOperatingSystem) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this operating system. +func (o GetIsVolumesVolumeOperatingSystemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeOperatingSystem) string { return v.Name }).(pulumi.StringOutput) +} + +// The vendor of the operating system. +func (o GetIsVolumesVolumeOperatingSystemOutput) Vendor() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeOperatingSystem) string { return v.Vendor }).(pulumi.StringOutput) +} + +// The major release version of this operating system. +func (o GetIsVolumesVolumeOperatingSystemOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeOperatingSystem) string { return v.Version }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeOperatingSystemArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeOperatingSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeOperatingSystem)(nil)).Elem() +} + +func (o GetIsVolumesVolumeOperatingSystemArrayOutput) ToGetIsVolumesVolumeOperatingSystemArrayOutput() GetIsVolumesVolumeOperatingSystemArrayOutput { + return o +} + +func (o GetIsVolumesVolumeOperatingSystemArrayOutput) ToGetIsVolumesVolumeOperatingSystemArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeOperatingSystemArrayOutput { + return o +} + +func (o GetIsVolumesVolumeOperatingSystemArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeOperatingSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeOperatingSystem { + return vs[0].([]GetIsVolumesVolumeOperatingSystem)[vs[1].(int)] + }).(GetIsVolumesVolumeOperatingSystemOutput) +} + +type GetIsVolumesVolumeProfile struct { + // The URL for this volume profile. + Href string `pulumi:"href"` + // The globally unique name for this volume profile. + Name string `pulumi:"name"` +} + +// GetIsVolumesVolumeProfileInput is an input type that accepts GetIsVolumesVolumeProfileArgs and GetIsVolumesVolumeProfileOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeProfileInput` via: +// +// GetIsVolumesVolumeProfileArgs{...} +type GetIsVolumesVolumeProfileInput interface { + pulumi.Input + + ToGetIsVolumesVolumeProfileOutput() GetIsVolumesVolumeProfileOutput + ToGetIsVolumesVolumeProfileOutputWithContext(context.Context) GetIsVolumesVolumeProfileOutput +} + +type GetIsVolumesVolumeProfileArgs struct { + // The URL for this volume profile. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this volume profile. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVolumesVolumeProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeProfile)(nil)).Elem() +} + +func (i GetIsVolumesVolumeProfileArgs) ToGetIsVolumesVolumeProfileOutput() GetIsVolumesVolumeProfileOutput { + return i.ToGetIsVolumesVolumeProfileOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeProfileArgs) ToGetIsVolumesVolumeProfileOutputWithContext(ctx context.Context) GetIsVolumesVolumeProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeProfileOutput) +} + +// GetIsVolumesVolumeProfileArrayInput is an input type that accepts GetIsVolumesVolumeProfileArray and GetIsVolumesVolumeProfileArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeProfileArrayInput` via: +// +// GetIsVolumesVolumeProfileArray{ GetIsVolumesVolumeProfileArgs{...} } +type GetIsVolumesVolumeProfileArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeProfileArrayOutput() GetIsVolumesVolumeProfileArrayOutput + ToGetIsVolumesVolumeProfileArrayOutputWithContext(context.Context) GetIsVolumesVolumeProfileArrayOutput +} + +type GetIsVolumesVolumeProfileArray []GetIsVolumesVolumeProfileInput + +func (GetIsVolumesVolumeProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeProfile)(nil)).Elem() +} + +func (i GetIsVolumesVolumeProfileArray) ToGetIsVolumesVolumeProfileArrayOutput() GetIsVolumesVolumeProfileArrayOutput { + return i.ToGetIsVolumesVolumeProfileArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeProfileArray) ToGetIsVolumesVolumeProfileArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeProfileArrayOutput) +} + +type GetIsVolumesVolumeProfileOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeProfile)(nil)).Elem() +} + +func (o GetIsVolumesVolumeProfileOutput) ToGetIsVolumesVolumeProfileOutput() GetIsVolumesVolumeProfileOutput { + return o +} + +func (o GetIsVolumesVolumeProfileOutput) ToGetIsVolumesVolumeProfileOutputWithContext(ctx context.Context) GetIsVolumesVolumeProfileOutput { + return o +} + +// The URL for this volume profile. +func (o GetIsVolumesVolumeProfileOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeProfile) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this volume profile. +func (o GetIsVolumesVolumeProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeProfile) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeProfile)(nil)).Elem() +} + +func (o GetIsVolumesVolumeProfileArrayOutput) ToGetIsVolumesVolumeProfileArrayOutput() GetIsVolumesVolumeProfileArrayOutput { + return o +} + +func (o GetIsVolumesVolumeProfileArrayOutput) ToGetIsVolumesVolumeProfileArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeProfileArrayOutput { + return o +} + +func (o GetIsVolumesVolumeProfileArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeProfile { + return vs[0].([]GetIsVolumesVolumeProfile)[vs[1].(int)] + }).(GetIsVolumesVolumeProfileOutput) +} + +type GetIsVolumesVolumeResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVolumesVolumeResourceGroupInput is an input type that accepts GetIsVolumesVolumeResourceGroupArgs and GetIsVolumesVolumeResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeResourceGroupInput` via: +// +// GetIsVolumesVolumeResourceGroupArgs{...} +type GetIsVolumesVolumeResourceGroupInput interface { + pulumi.Input + + ToGetIsVolumesVolumeResourceGroupOutput() GetIsVolumesVolumeResourceGroupOutput + ToGetIsVolumesVolumeResourceGroupOutputWithContext(context.Context) GetIsVolumesVolumeResourceGroupOutput +} + +type GetIsVolumesVolumeResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVolumesVolumeResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeResourceGroup)(nil)).Elem() +} + +func (i GetIsVolumesVolumeResourceGroupArgs) ToGetIsVolumesVolumeResourceGroupOutput() GetIsVolumesVolumeResourceGroupOutput { + return i.ToGetIsVolumesVolumeResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeResourceGroupArgs) ToGetIsVolumesVolumeResourceGroupOutputWithContext(ctx context.Context) GetIsVolumesVolumeResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeResourceGroupOutput) +} + +// GetIsVolumesVolumeResourceGroupArrayInput is an input type that accepts GetIsVolumesVolumeResourceGroupArray and GetIsVolumesVolumeResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeResourceGroupArrayInput` via: +// +// GetIsVolumesVolumeResourceGroupArray{ GetIsVolumesVolumeResourceGroupArgs{...} } +type GetIsVolumesVolumeResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeResourceGroupArrayOutput() GetIsVolumesVolumeResourceGroupArrayOutput + ToGetIsVolumesVolumeResourceGroupArrayOutputWithContext(context.Context) GetIsVolumesVolumeResourceGroupArrayOutput +} + +type GetIsVolumesVolumeResourceGroupArray []GetIsVolumesVolumeResourceGroupInput + +func (GetIsVolumesVolumeResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeResourceGroup)(nil)).Elem() +} + +func (i GetIsVolumesVolumeResourceGroupArray) ToGetIsVolumesVolumeResourceGroupArrayOutput() GetIsVolumesVolumeResourceGroupArrayOutput { + return i.ToGetIsVolumesVolumeResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeResourceGroupArray) ToGetIsVolumesVolumeResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeResourceGroupArrayOutput) +} + +type GetIsVolumesVolumeResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeResourceGroup)(nil)).Elem() +} + +func (o GetIsVolumesVolumeResourceGroupOutput) ToGetIsVolumesVolumeResourceGroupOutput() GetIsVolumesVolumeResourceGroupOutput { + return o +} + +func (o GetIsVolumesVolumeResourceGroupOutput) ToGetIsVolumesVolumeResourceGroupOutputWithContext(ctx context.Context) GetIsVolumesVolumeResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVolumesVolumeResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVolumesVolumeResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsVolumesVolumeResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeResourceGroup)(nil)).Elem() +} + +func (o GetIsVolumesVolumeResourceGroupArrayOutput) ToGetIsVolumesVolumeResourceGroupArrayOutput() GetIsVolumesVolumeResourceGroupArrayOutput { + return o +} + +func (o GetIsVolumesVolumeResourceGroupArrayOutput) ToGetIsVolumesVolumeResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeResourceGroupArrayOutput { + return o +} + +func (o GetIsVolumesVolumeResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeResourceGroup { + return vs[0].([]GetIsVolumesVolumeResourceGroup)[vs[1].(int)] + }).(GetIsVolumesVolumeResourceGroupOutput) +} + +type GetIsVolumesVolumeSourceImage struct { + // The CRN for this image. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVolumesVolumeSourceImageDeleted `pulumi:"deleteds"` + // The URL for this image. + Href string `pulumi:"href"` + // The unique identifier for this image. + Id string `pulumi:"id"` + // The user-defined or system-provided name for this image. + Name string `pulumi:"name"` +} + +// GetIsVolumesVolumeSourceImageInput is an input type that accepts GetIsVolumesVolumeSourceImageArgs and GetIsVolumesVolumeSourceImageOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeSourceImageInput` via: +// +// GetIsVolumesVolumeSourceImageArgs{...} +type GetIsVolumesVolumeSourceImageInput interface { + pulumi.Input + + ToGetIsVolumesVolumeSourceImageOutput() GetIsVolumesVolumeSourceImageOutput + ToGetIsVolumesVolumeSourceImageOutputWithContext(context.Context) GetIsVolumesVolumeSourceImageOutput +} + +type GetIsVolumesVolumeSourceImageArgs struct { + // The CRN for this image. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVolumesVolumeSourceImageDeletedArrayInput `pulumi:"deleteds"` + // The URL for this image. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this image. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined or system-provided name for this image. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVolumesVolumeSourceImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeSourceImage)(nil)).Elem() +} + +func (i GetIsVolumesVolumeSourceImageArgs) ToGetIsVolumesVolumeSourceImageOutput() GetIsVolumesVolumeSourceImageOutput { + return i.ToGetIsVolumesVolumeSourceImageOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeSourceImageArgs) ToGetIsVolumesVolumeSourceImageOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeSourceImageOutput) +} + +// GetIsVolumesVolumeSourceImageArrayInput is an input type that accepts GetIsVolumesVolumeSourceImageArray and GetIsVolumesVolumeSourceImageArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeSourceImageArrayInput` via: +// +// GetIsVolumesVolumeSourceImageArray{ GetIsVolumesVolumeSourceImageArgs{...} } +type GetIsVolumesVolumeSourceImageArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeSourceImageArrayOutput() GetIsVolumesVolumeSourceImageArrayOutput + ToGetIsVolumesVolumeSourceImageArrayOutputWithContext(context.Context) GetIsVolumesVolumeSourceImageArrayOutput +} + +type GetIsVolumesVolumeSourceImageArray []GetIsVolumesVolumeSourceImageInput + +func (GetIsVolumesVolumeSourceImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeSourceImage)(nil)).Elem() +} + +func (i GetIsVolumesVolumeSourceImageArray) ToGetIsVolumesVolumeSourceImageArrayOutput() GetIsVolumesVolumeSourceImageArrayOutput { + return i.ToGetIsVolumesVolumeSourceImageArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeSourceImageArray) ToGetIsVolumesVolumeSourceImageArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeSourceImageArrayOutput) +} + +type GetIsVolumesVolumeSourceImageOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeSourceImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeSourceImage)(nil)).Elem() +} + +func (o GetIsVolumesVolumeSourceImageOutput) ToGetIsVolumesVolumeSourceImageOutput() GetIsVolumesVolumeSourceImageOutput { + return o +} + +func (o GetIsVolumesVolumeSourceImageOutput) ToGetIsVolumesVolumeSourceImageOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceImageOutput { + return o +} + +// The CRN for this image. +func (o GetIsVolumesVolumeSourceImageOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceImage) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVolumesVolumeSourceImageOutput) Deleteds() GetIsVolumesVolumeSourceImageDeletedArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceImage) []GetIsVolumesVolumeSourceImageDeleted { return v.Deleteds }).(GetIsVolumesVolumeSourceImageDeletedArrayOutput) +} + +// The URL for this image. +func (o GetIsVolumesVolumeSourceImageOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceImage) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this image. +func (o GetIsVolumesVolumeSourceImageOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceImage) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this image. +func (o GetIsVolumesVolumeSourceImageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceImage) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeSourceImageArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeSourceImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeSourceImage)(nil)).Elem() +} + +func (o GetIsVolumesVolumeSourceImageArrayOutput) ToGetIsVolumesVolumeSourceImageArrayOutput() GetIsVolumesVolumeSourceImageArrayOutput { + return o +} + +func (o GetIsVolumesVolumeSourceImageArrayOutput) ToGetIsVolumesVolumeSourceImageArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceImageArrayOutput { + return o +} + +func (o GetIsVolumesVolumeSourceImageArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeSourceImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeSourceImage { + return vs[0].([]GetIsVolumesVolumeSourceImage)[vs[1].(int)] + }).(GetIsVolumesVolumeSourceImageOutput) +} + +type GetIsVolumesVolumeSourceImageDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumesVolumeSourceImageDeletedInput is an input type that accepts GetIsVolumesVolumeSourceImageDeletedArgs and GetIsVolumesVolumeSourceImageDeletedOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeSourceImageDeletedInput` via: +// +// GetIsVolumesVolumeSourceImageDeletedArgs{...} +type GetIsVolumesVolumeSourceImageDeletedInput interface { + pulumi.Input + + ToGetIsVolumesVolumeSourceImageDeletedOutput() GetIsVolumesVolumeSourceImageDeletedOutput + ToGetIsVolumesVolumeSourceImageDeletedOutputWithContext(context.Context) GetIsVolumesVolumeSourceImageDeletedOutput +} + +type GetIsVolumesVolumeSourceImageDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumesVolumeSourceImageDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeSourceImageDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeSourceImageDeletedArgs) ToGetIsVolumesVolumeSourceImageDeletedOutput() GetIsVolumesVolumeSourceImageDeletedOutput { + return i.ToGetIsVolumesVolumeSourceImageDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeSourceImageDeletedArgs) ToGetIsVolumesVolumeSourceImageDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceImageDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeSourceImageDeletedOutput) +} + +// GetIsVolumesVolumeSourceImageDeletedArrayInput is an input type that accepts GetIsVolumesVolumeSourceImageDeletedArray and GetIsVolumesVolumeSourceImageDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeSourceImageDeletedArrayInput` via: +// +// GetIsVolumesVolumeSourceImageDeletedArray{ GetIsVolumesVolumeSourceImageDeletedArgs{...} } +type GetIsVolumesVolumeSourceImageDeletedArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeSourceImageDeletedArrayOutput() GetIsVolumesVolumeSourceImageDeletedArrayOutput + ToGetIsVolumesVolumeSourceImageDeletedArrayOutputWithContext(context.Context) GetIsVolumesVolumeSourceImageDeletedArrayOutput +} + +type GetIsVolumesVolumeSourceImageDeletedArray []GetIsVolumesVolumeSourceImageDeletedInput + +func (GetIsVolumesVolumeSourceImageDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeSourceImageDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeSourceImageDeletedArray) ToGetIsVolumesVolumeSourceImageDeletedArrayOutput() GetIsVolumesVolumeSourceImageDeletedArrayOutput { + return i.ToGetIsVolumesVolumeSourceImageDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeSourceImageDeletedArray) ToGetIsVolumesVolumeSourceImageDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceImageDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeSourceImageDeletedArrayOutput) +} + +type GetIsVolumesVolumeSourceImageDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeSourceImageDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeSourceImageDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeSourceImageDeletedOutput) ToGetIsVolumesVolumeSourceImageDeletedOutput() GetIsVolumesVolumeSourceImageDeletedOutput { + return o +} + +func (o GetIsVolumesVolumeSourceImageDeletedOutput) ToGetIsVolumesVolumeSourceImageDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceImageDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVolumesVolumeSourceImageDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceImageDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeSourceImageDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeSourceImageDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeSourceImageDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeSourceImageDeletedArrayOutput) ToGetIsVolumesVolumeSourceImageDeletedArrayOutput() GetIsVolumesVolumeSourceImageDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeSourceImageDeletedArrayOutput) ToGetIsVolumesVolumeSourceImageDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceImageDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeSourceImageDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeSourceImageDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeSourceImageDeleted { + return vs[0].([]GetIsVolumesVolumeSourceImageDeleted)[vs[1].(int)] + }).(GetIsVolumesVolumeSourceImageDeletedOutput) +} + +type GetIsVolumesVolumeSourceSnapshot struct { + // The CRN for this snapshot. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVolumesVolumeSourceSnapshotDeleted `pulumi:"deleteds"` + // The URL for this snapshot. + Href string `pulumi:"href"` + // The unique identifier for this snapshot. + Id string `pulumi:"id"` + // The user-defined name for this snapshot. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVolumesVolumeSourceSnapshotInput is an input type that accepts GetIsVolumesVolumeSourceSnapshotArgs and GetIsVolumesVolumeSourceSnapshotOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeSourceSnapshotInput` via: +// +// GetIsVolumesVolumeSourceSnapshotArgs{...} +type GetIsVolumesVolumeSourceSnapshotInput interface { + pulumi.Input + + ToGetIsVolumesVolumeSourceSnapshotOutput() GetIsVolumesVolumeSourceSnapshotOutput + ToGetIsVolumesVolumeSourceSnapshotOutputWithContext(context.Context) GetIsVolumesVolumeSourceSnapshotOutput +} + +type GetIsVolumesVolumeSourceSnapshotArgs struct { + // The CRN for this snapshot. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVolumesVolumeSourceSnapshotDeletedArrayInput `pulumi:"deleteds"` + // The URL for this snapshot. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this snapshot. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this snapshot. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVolumesVolumeSourceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeSourceSnapshot)(nil)).Elem() +} + +func (i GetIsVolumesVolumeSourceSnapshotArgs) ToGetIsVolumesVolumeSourceSnapshotOutput() GetIsVolumesVolumeSourceSnapshotOutput { + return i.ToGetIsVolumesVolumeSourceSnapshotOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeSourceSnapshotArgs) ToGetIsVolumesVolumeSourceSnapshotOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeSourceSnapshotOutput) +} + +// GetIsVolumesVolumeSourceSnapshotArrayInput is an input type that accepts GetIsVolumesVolumeSourceSnapshotArray and GetIsVolumesVolumeSourceSnapshotArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeSourceSnapshotArrayInput` via: +// +// GetIsVolumesVolumeSourceSnapshotArray{ GetIsVolumesVolumeSourceSnapshotArgs{...} } +type GetIsVolumesVolumeSourceSnapshotArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeSourceSnapshotArrayOutput() GetIsVolumesVolumeSourceSnapshotArrayOutput + ToGetIsVolumesVolumeSourceSnapshotArrayOutputWithContext(context.Context) GetIsVolumesVolumeSourceSnapshotArrayOutput +} + +type GetIsVolumesVolumeSourceSnapshotArray []GetIsVolumesVolumeSourceSnapshotInput + +func (GetIsVolumesVolumeSourceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeSourceSnapshot)(nil)).Elem() +} + +func (i GetIsVolumesVolumeSourceSnapshotArray) ToGetIsVolumesVolumeSourceSnapshotArrayOutput() GetIsVolumesVolumeSourceSnapshotArrayOutput { + return i.ToGetIsVolumesVolumeSourceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeSourceSnapshotArray) ToGetIsVolumesVolumeSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeSourceSnapshotArrayOutput) +} + +type GetIsVolumesVolumeSourceSnapshotOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeSourceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeSourceSnapshot)(nil)).Elem() +} + +func (o GetIsVolumesVolumeSourceSnapshotOutput) ToGetIsVolumesVolumeSourceSnapshotOutput() GetIsVolumesVolumeSourceSnapshotOutput { + return o +} + +func (o GetIsVolumesVolumeSourceSnapshotOutput) ToGetIsVolumesVolumeSourceSnapshotOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceSnapshotOutput { + return o +} + +// The CRN for this snapshot. +func (o GetIsVolumesVolumeSourceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVolumesVolumeSourceSnapshotOutput) Deleteds() GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceSnapshot) []GetIsVolumesVolumeSourceSnapshotDeleted { return v.Deleteds }).(GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput) +} + +// The URL for this snapshot. +func (o GetIsVolumesVolumeSourceSnapshotOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceSnapshot) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this snapshot. +func (o GetIsVolumesVolumeSourceSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this snapshot. +func (o GetIsVolumesVolumeSourceSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVolumesVolumeSourceSnapshotOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceSnapshot) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeSourceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeSourceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeSourceSnapshot)(nil)).Elem() +} + +func (o GetIsVolumesVolumeSourceSnapshotArrayOutput) ToGetIsVolumesVolumeSourceSnapshotArrayOutput() GetIsVolumesVolumeSourceSnapshotArrayOutput { + return o +} + +func (o GetIsVolumesVolumeSourceSnapshotArrayOutput) ToGetIsVolumesVolumeSourceSnapshotArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceSnapshotArrayOutput { + return o +} + +func (o GetIsVolumesVolumeSourceSnapshotArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeSourceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeSourceSnapshot { + return vs[0].([]GetIsVolumesVolumeSourceSnapshot)[vs[1].(int)] + }).(GetIsVolumesVolumeSourceSnapshotOutput) +} + +type GetIsVolumesVolumeSourceSnapshotDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumesVolumeSourceSnapshotDeletedInput is an input type that accepts GetIsVolumesVolumeSourceSnapshotDeletedArgs and GetIsVolumesVolumeSourceSnapshotDeletedOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeSourceSnapshotDeletedInput` via: +// +// GetIsVolumesVolumeSourceSnapshotDeletedArgs{...} +type GetIsVolumesVolumeSourceSnapshotDeletedInput interface { + pulumi.Input + + ToGetIsVolumesVolumeSourceSnapshotDeletedOutput() GetIsVolumesVolumeSourceSnapshotDeletedOutput + ToGetIsVolumesVolumeSourceSnapshotDeletedOutputWithContext(context.Context) GetIsVolumesVolumeSourceSnapshotDeletedOutput +} + +type GetIsVolumesVolumeSourceSnapshotDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumesVolumeSourceSnapshotDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeSourceSnapshotDeletedArgs) ToGetIsVolumesVolumeSourceSnapshotDeletedOutput() GetIsVolumesVolumeSourceSnapshotDeletedOutput { + return i.ToGetIsVolumesVolumeSourceSnapshotDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeSourceSnapshotDeletedArgs) ToGetIsVolumesVolumeSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceSnapshotDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeSourceSnapshotDeletedOutput) +} + +// GetIsVolumesVolumeSourceSnapshotDeletedArrayInput is an input type that accepts GetIsVolumesVolumeSourceSnapshotDeletedArray and GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeSourceSnapshotDeletedArrayInput` via: +// +// GetIsVolumesVolumeSourceSnapshotDeletedArray{ GetIsVolumesVolumeSourceSnapshotDeletedArgs{...} } +type GetIsVolumesVolumeSourceSnapshotDeletedArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeSourceSnapshotDeletedArrayOutput() GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput + ToGetIsVolumesVolumeSourceSnapshotDeletedArrayOutputWithContext(context.Context) GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput +} + +type GetIsVolumesVolumeSourceSnapshotDeletedArray []GetIsVolumesVolumeSourceSnapshotDeletedInput + +func (GetIsVolumesVolumeSourceSnapshotDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeSourceSnapshotDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeSourceSnapshotDeletedArray) ToGetIsVolumesVolumeSourceSnapshotDeletedArrayOutput() GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput { + return i.ToGetIsVolumesVolumeSourceSnapshotDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeSourceSnapshotDeletedArray) ToGetIsVolumesVolumeSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput) +} + +type GetIsVolumesVolumeSourceSnapshotDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeSourceSnapshotDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeSourceSnapshotDeletedOutput) ToGetIsVolumesVolumeSourceSnapshotDeletedOutput() GetIsVolumesVolumeSourceSnapshotDeletedOutput { + return o +} + +func (o GetIsVolumesVolumeSourceSnapshotDeletedOutput) ToGetIsVolumesVolumeSourceSnapshotDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceSnapshotDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVolumesVolumeSourceSnapshotDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeSourceSnapshotDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeSourceSnapshotDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput) ToGetIsVolumesVolumeSourceSnapshotDeletedArrayOutput() GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput) ToGetIsVolumesVolumeSourceSnapshotDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeSourceSnapshotDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeSourceSnapshotDeleted { + return vs[0].([]GetIsVolumesVolumeSourceSnapshotDeleted)[vs[1].(int)] + }).(GetIsVolumesVolumeSourceSnapshotDeletedOutput) +} + +type GetIsVolumesVolumeStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumesVolumeStatusReasonInput is an input type that accepts GetIsVolumesVolumeStatusReasonArgs and GetIsVolumesVolumeStatusReasonOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeStatusReasonInput` via: +// +// GetIsVolumesVolumeStatusReasonArgs{...} +type GetIsVolumesVolumeStatusReasonInput interface { + pulumi.Input + + ToGetIsVolumesVolumeStatusReasonOutput() GetIsVolumesVolumeStatusReasonOutput + ToGetIsVolumesVolumeStatusReasonOutputWithContext(context.Context) GetIsVolumesVolumeStatusReasonOutput +} + +type GetIsVolumesVolumeStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumesVolumeStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeStatusReason)(nil)).Elem() +} + +func (i GetIsVolumesVolumeStatusReasonArgs) ToGetIsVolumesVolumeStatusReasonOutput() GetIsVolumesVolumeStatusReasonOutput { + return i.ToGetIsVolumesVolumeStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeStatusReasonArgs) ToGetIsVolumesVolumeStatusReasonOutputWithContext(ctx context.Context) GetIsVolumesVolumeStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeStatusReasonOutput) +} + +// GetIsVolumesVolumeStatusReasonArrayInput is an input type that accepts GetIsVolumesVolumeStatusReasonArray and GetIsVolumesVolumeStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeStatusReasonArrayInput` via: +// +// GetIsVolumesVolumeStatusReasonArray{ GetIsVolumesVolumeStatusReasonArgs{...} } +type GetIsVolumesVolumeStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeStatusReasonArrayOutput() GetIsVolumesVolumeStatusReasonArrayOutput + ToGetIsVolumesVolumeStatusReasonArrayOutputWithContext(context.Context) GetIsVolumesVolumeStatusReasonArrayOutput +} + +type GetIsVolumesVolumeStatusReasonArray []GetIsVolumesVolumeStatusReasonInput + +func (GetIsVolumesVolumeStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeStatusReason)(nil)).Elem() +} + +func (i GetIsVolumesVolumeStatusReasonArray) ToGetIsVolumesVolumeStatusReasonArrayOutput() GetIsVolumesVolumeStatusReasonArrayOutput { + return i.ToGetIsVolumesVolumeStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeStatusReasonArray) ToGetIsVolumesVolumeStatusReasonArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeStatusReasonArrayOutput) +} + +type GetIsVolumesVolumeStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeStatusReason)(nil)).Elem() +} + +func (o GetIsVolumesVolumeStatusReasonOutput) ToGetIsVolumesVolumeStatusReasonOutput() GetIsVolumesVolumeStatusReasonOutput { + return o +} + +func (o GetIsVolumesVolumeStatusReasonOutput) ToGetIsVolumesVolumeStatusReasonOutputWithContext(ctx context.Context) GetIsVolumesVolumeStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsVolumesVolumeStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsVolumesVolumeStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsVolumesVolumeStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeStatusReason)(nil)).Elem() +} + +func (o GetIsVolumesVolumeStatusReasonArrayOutput) ToGetIsVolumesVolumeStatusReasonArrayOutput() GetIsVolumesVolumeStatusReasonArrayOutput { + return o +} + +func (o GetIsVolumesVolumeStatusReasonArrayOutput) ToGetIsVolumesVolumeStatusReasonArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeStatusReasonArrayOutput { + return o +} + +func (o GetIsVolumesVolumeStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeStatusReason { + return vs[0].([]GetIsVolumesVolumeStatusReason)[vs[1].(int)] + }).(GetIsVolumesVolumeStatusReasonOutput) +} + +type GetIsVolumesVolumeVolumeAttachment struct { + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete bool `pulumi:"deleteVolumeOnInstanceDelete"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVolumesVolumeVolumeAttachmentDeleted `pulumi:"deleteds"` + // Information about how the volume is exposed to the instance operating system.This property may be absent if the volume attachment's `status` is not `attached`. + Devices []GetIsVolumesVolumeVolumeAttachmentDevice `pulumi:"devices"` + // The URL for this volume attachment. + Href string `pulumi:"href"` + // The unique identifier for this volume attachment. + Id string `pulumi:"id"` + // The attached instance. + Instances []GetIsVolumesVolumeVolumeAttachmentInstance `pulumi:"instances"` + // The user-defined name for this volume attachment. + Name string `pulumi:"name"` + // The type of volume attachment. + Type string `pulumi:"type"` +} + +// GetIsVolumesVolumeVolumeAttachmentInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentArgs and GetIsVolumesVolumeVolumeAttachmentOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentArgs{...} +type GetIsVolumesVolumeVolumeAttachmentInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentOutput() GetIsVolumesVolumeVolumeAttachmentOutput + ToGetIsVolumesVolumeVolumeAttachmentOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentOutput +} + +type GetIsVolumesVolumeVolumeAttachmentArgs struct { + // If set to true, when deleting the instance the volume will also be deleted. + DeleteVolumeOnInstanceDelete pulumi.BoolInput `pulumi:"deleteVolumeOnInstanceDelete"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVolumesVolumeVolumeAttachmentDeletedArrayInput `pulumi:"deleteds"` + // Information about how the volume is exposed to the instance operating system.This property may be absent if the volume attachment's `status` is not `attached`. + Devices GetIsVolumesVolumeVolumeAttachmentDeviceArrayInput `pulumi:"devices"` + // The URL for this volume attachment. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this volume attachment. + Id pulumi.StringInput `pulumi:"id"` + // The attached instance. + Instances GetIsVolumesVolumeVolumeAttachmentInstanceArrayInput `pulumi:"instances"` + // The user-defined name for this volume attachment. + Name pulumi.StringInput `pulumi:"name"` + // The type of volume attachment. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsVolumesVolumeVolumeAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachment)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentArgs) ToGetIsVolumesVolumeVolumeAttachmentOutput() GetIsVolumesVolumeVolumeAttachmentOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentArgs) ToGetIsVolumesVolumeVolumeAttachmentOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentOutput) +} + +// GetIsVolumesVolumeVolumeAttachmentArrayInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentArray and GetIsVolumesVolumeVolumeAttachmentArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentArrayInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentArray{ GetIsVolumesVolumeVolumeAttachmentArgs{...} } +type GetIsVolumesVolumeVolumeAttachmentArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentArrayOutput() GetIsVolumesVolumeVolumeAttachmentArrayOutput + ToGetIsVolumesVolumeVolumeAttachmentArrayOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentArrayOutput +} + +type GetIsVolumesVolumeVolumeAttachmentArray []GetIsVolumesVolumeVolumeAttachmentInput + +func (GetIsVolumesVolumeVolumeAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachment)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentArray) ToGetIsVolumesVolumeVolumeAttachmentArrayOutput() GetIsVolumesVolumeVolumeAttachmentArrayOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentArray) ToGetIsVolumesVolumeVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentArrayOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachment)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentOutput) ToGetIsVolumesVolumeVolumeAttachmentOutput() GetIsVolumesVolumeVolumeAttachmentOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentOutput) ToGetIsVolumesVolumeVolumeAttachmentOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentOutput { + return o +} + +// If set to true, when deleting the instance the volume will also be deleted. +func (o GetIsVolumesVolumeVolumeAttachmentOutput) DeleteVolumeOnInstanceDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachment) bool { return v.DeleteVolumeOnInstanceDelete }).(pulumi.BoolOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVolumesVolumeVolumeAttachmentOutput) Deleteds() GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachment) []GetIsVolumesVolumeVolumeAttachmentDeleted { + return v.Deleteds + }).(GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput) +} + +// Information about how the volume is exposed to the instance operating system.This property may be absent if the volume attachment's `status` is not `attached`. +func (o GetIsVolumesVolumeVolumeAttachmentOutput) Devices() GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachment) []GetIsVolumesVolumeVolumeAttachmentDevice { + return v.Devices + }).(GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput) +} + +// The URL for this volume attachment. +func (o GetIsVolumesVolumeVolumeAttachmentOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachment) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this volume attachment. +func (o GetIsVolumesVolumeVolumeAttachmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachment) string { return v.Id }).(pulumi.StringOutput) +} + +// The attached instance. +func (o GetIsVolumesVolumeVolumeAttachmentOutput) Instances() GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachment) []GetIsVolumesVolumeVolumeAttachmentInstance { + return v.Instances + }).(GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput) +} + +// The user-defined name for this volume attachment. +func (o GetIsVolumesVolumeVolumeAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachment) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of volume attachment. +func (o GetIsVolumesVolumeVolumeAttachmentOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachment) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachment)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentArrayOutput() GetIsVolumesVolumeVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeVolumeAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeVolumeAttachment { + return vs[0].([]GetIsVolumesVolumeVolumeAttachment)[vs[1].(int)] + }).(GetIsVolumesVolumeVolumeAttachmentOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumesVolumeVolumeAttachmentDeletedInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentDeletedArgs and GetIsVolumesVolumeVolumeAttachmentDeletedOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentDeletedInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentDeletedArgs{...} +type GetIsVolumesVolumeVolumeAttachmentDeletedInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentDeletedOutput() GetIsVolumesVolumeVolumeAttachmentDeletedOutput + ToGetIsVolumesVolumeVolumeAttachmentDeletedOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentDeletedOutput +} + +type GetIsVolumesVolumeVolumeAttachmentDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumesVolumeVolumeAttachmentDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentDeletedArgs) ToGetIsVolumesVolumeVolumeAttachmentDeletedOutput() GetIsVolumesVolumeVolumeAttachmentDeletedOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentDeletedArgs) ToGetIsVolumesVolumeVolumeAttachmentDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentDeletedOutput) +} + +// GetIsVolumesVolumeVolumeAttachmentDeletedArrayInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentDeletedArray and GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentDeletedArrayInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentDeletedArray{ GetIsVolumesVolumeVolumeAttachmentDeletedArgs{...} } +type GetIsVolumesVolumeVolumeAttachmentDeletedArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput() GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput + ToGetIsVolumesVolumeVolumeAttachmentDeletedArrayOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput +} + +type GetIsVolumesVolumeVolumeAttachmentDeletedArray []GetIsVolumesVolumeVolumeAttachmentDeletedInput + +func (GetIsVolumesVolumeVolumeAttachmentDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachmentDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentDeletedArray) ToGetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput() GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentDeletedArray) ToGetIsVolumesVolumeVolumeAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeletedOutput) ToGetIsVolumesVolumeVolumeAttachmentDeletedOutput() GetIsVolumesVolumeVolumeAttachmentDeletedOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeletedOutput) ToGetIsVolumesVolumeVolumeAttachmentDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVolumesVolumeVolumeAttachmentDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachmentDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachmentDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput() GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeVolumeAttachmentDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeVolumeAttachmentDeleted { + return vs[0].([]GetIsVolumesVolumeVolumeAttachmentDeleted)[vs[1].(int)] + }).(GetIsVolumesVolumeVolumeAttachmentDeletedOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentDevice struct { + // A unique identifier for the device which is exposed to the instance operating system. + Id string `pulumi:"id"` +} + +// GetIsVolumesVolumeVolumeAttachmentDeviceInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentDeviceArgs and GetIsVolumesVolumeVolumeAttachmentDeviceOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentDeviceInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentDeviceArgs{...} +type GetIsVolumesVolumeVolumeAttachmentDeviceInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentDeviceOutput() GetIsVolumesVolumeVolumeAttachmentDeviceOutput + ToGetIsVolumesVolumeVolumeAttachmentDeviceOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentDeviceOutput +} + +type GetIsVolumesVolumeVolumeAttachmentDeviceArgs struct { + // A unique identifier for the device which is exposed to the instance operating system. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIsVolumesVolumeVolumeAttachmentDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentDevice)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentDeviceArgs) ToGetIsVolumesVolumeVolumeAttachmentDeviceOutput() GetIsVolumesVolumeVolumeAttachmentDeviceOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentDeviceOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentDeviceArgs) ToGetIsVolumesVolumeVolumeAttachmentDeviceOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentDeviceOutput) +} + +// GetIsVolumesVolumeVolumeAttachmentDeviceArrayInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentDeviceArray and GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentDeviceArrayInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentDeviceArray{ GetIsVolumesVolumeVolumeAttachmentDeviceArgs{...} } +type GetIsVolumesVolumeVolumeAttachmentDeviceArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput() GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput + ToGetIsVolumesVolumeVolumeAttachmentDeviceArrayOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput +} + +type GetIsVolumesVolumeVolumeAttachmentDeviceArray []GetIsVolumesVolumeVolumeAttachmentDeviceInput + +func (GetIsVolumesVolumeVolumeAttachmentDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachmentDevice)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentDeviceArray) ToGetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput() GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentDeviceArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentDeviceArray) ToGetIsVolumesVolumeVolumeAttachmentDeviceArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentDeviceOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentDevice)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeviceOutput) ToGetIsVolumesVolumeVolumeAttachmentDeviceOutput() GetIsVolumesVolumeVolumeAttachmentDeviceOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeviceOutput) ToGetIsVolumesVolumeVolumeAttachmentDeviceOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentDeviceOutput { + return o +} + +// A unique identifier for the device which is exposed to the instance operating system. +func (o GetIsVolumesVolumeVolumeAttachmentDeviceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachmentDevice) string { return v.Id }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachmentDevice)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput() GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentDeviceArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeVolumeAttachmentDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeVolumeAttachmentDevice { + return vs[0].([]GetIsVolumesVolumeVolumeAttachmentDevice)[vs[1].(int)] + }).(GetIsVolumesVolumeVolumeAttachmentDeviceOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentInstance struct { + // The CRN for this virtual server instance. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVolumesVolumeVolumeAttachmentInstanceDeleted `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href string `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id string `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name string `pulumi:"name"` +} + +// GetIsVolumesVolumeVolumeAttachmentInstanceInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentInstanceArgs and GetIsVolumesVolumeVolumeAttachmentInstanceOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentInstanceInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentInstanceArgs{...} +type GetIsVolumesVolumeVolumeAttachmentInstanceInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentInstanceOutput() GetIsVolumesVolumeVolumeAttachmentInstanceOutput + ToGetIsVolumesVolumeVolumeAttachmentInstanceOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceOutput +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceArgs struct { + // The CRN for this virtual server instance. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayInput `pulumi:"deleteds"` + // The URL for this virtual server instance. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this virtual server instance. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this virtual server instance (and default system hostname). + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVolumesVolumeVolumeAttachmentInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInstance)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentInstanceArgs) ToGetIsVolumesVolumeVolumeAttachmentInstanceOutput() GetIsVolumesVolumeVolumeAttachmentInstanceOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentInstanceOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentInstanceArgs) ToGetIsVolumesVolumeVolumeAttachmentInstanceOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentInstanceOutput) +} + +// GetIsVolumesVolumeVolumeAttachmentInstanceArrayInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentInstanceArray and GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentInstanceArrayInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentInstanceArray{ GetIsVolumesVolumeVolumeAttachmentInstanceArgs{...} } +type GetIsVolumesVolumeVolumeAttachmentInstanceArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput() GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput + ToGetIsVolumesVolumeVolumeAttachmentInstanceArrayOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceArray []GetIsVolumesVolumeVolumeAttachmentInstanceInput + +func (GetIsVolumesVolumeVolumeAttachmentInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachmentInstance)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentInstanceArray) ToGetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput() GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentInstanceArray) ToGetIsVolumesVolumeVolumeAttachmentInstanceArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInstance)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceOutput) ToGetIsVolumesVolumeVolumeAttachmentInstanceOutput() GetIsVolumesVolumeVolumeAttachmentInstanceOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceOutput) ToGetIsVolumesVolumeVolumeAttachmentInstanceOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceOutput { + return o +} + +// The CRN for this virtual server instance. +func (o GetIsVolumesVolumeVolumeAttachmentInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachmentInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVolumesVolumeVolumeAttachmentInstanceOutput) Deleteds() GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachmentInstance) []GetIsVolumesVolumeVolumeAttachmentInstanceDeleted { + return v.Deleteds + }).(GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput) +} + +// The URL for this virtual server instance. +func (o GetIsVolumesVolumeVolumeAttachmentInstanceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachmentInstance) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this virtual server instance. +func (o GetIsVolumesVolumeVolumeAttachmentInstanceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachmentInstance) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this virtual server instance (and default system hostname). +func (o GetIsVolumesVolumeVolumeAttachmentInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachmentInstance) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachmentInstance)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput() GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentInstanceArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeVolumeAttachmentInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeVolumeAttachmentInstance { + return vs[0].([]GetIsVolumesVolumeVolumeAttachmentInstance)[vs[1].(int)] + }).(GetIsVolumesVolumeVolumeAttachmentInstanceOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVolumesVolumeVolumeAttachmentInstanceDeletedInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArgs and GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentInstanceDeletedInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArgs{...} +type GetIsVolumesVolumeVolumeAttachmentInstanceDeletedInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput() GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput + ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInstanceDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArgs) ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput() GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArgs) ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput) +} + +// GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayInput is an input type that accepts GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArray and GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayInput` via: +// +// GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArray{ GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArgs{...} } +type GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput() GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput + ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutputWithContext(context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArray []GetIsVolumesVolumeVolumeAttachmentInstanceDeletedInput + +func (GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachmentInstanceDeleted)(nil)).Elem() +} + +func (i GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArray) ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput() GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput { + return i.ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArray) ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInstanceDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput) ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput() GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput) ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeVolumeAttachmentInstanceDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeVolumeAttachmentInstanceDeleted)(nil)).Elem() +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput() GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput) ToGetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput { + return o +} + +func (o GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeVolumeAttachmentInstanceDeleted { + return vs[0].([]GetIsVolumesVolumeVolumeAttachmentInstanceDeleted)[vs[1].(int)] + }).(GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput) +} + +type GetIsVolumesVolumeZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsVolumesVolumeZoneInput is an input type that accepts GetIsVolumesVolumeZoneArgs and GetIsVolumesVolumeZoneOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeZoneInput` via: +// +// GetIsVolumesVolumeZoneArgs{...} +type GetIsVolumesVolumeZoneInput interface { + pulumi.Input + + ToGetIsVolumesVolumeZoneOutput() GetIsVolumesVolumeZoneOutput + ToGetIsVolumesVolumeZoneOutputWithContext(context.Context) GetIsVolumesVolumeZoneOutput +} + +type GetIsVolumesVolumeZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVolumesVolumeZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeZone)(nil)).Elem() +} + +func (i GetIsVolumesVolumeZoneArgs) ToGetIsVolumesVolumeZoneOutput() GetIsVolumesVolumeZoneOutput { + return i.ToGetIsVolumesVolumeZoneOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeZoneArgs) ToGetIsVolumesVolumeZoneOutputWithContext(ctx context.Context) GetIsVolumesVolumeZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeZoneOutput) +} + +// GetIsVolumesVolumeZoneArrayInput is an input type that accepts GetIsVolumesVolumeZoneArray and GetIsVolumesVolumeZoneArrayOutput values. +// You can construct a concrete instance of `GetIsVolumesVolumeZoneArrayInput` via: +// +// GetIsVolumesVolumeZoneArray{ GetIsVolumesVolumeZoneArgs{...} } +type GetIsVolumesVolumeZoneArrayInput interface { + pulumi.Input + + ToGetIsVolumesVolumeZoneArrayOutput() GetIsVolumesVolumeZoneArrayOutput + ToGetIsVolumesVolumeZoneArrayOutputWithContext(context.Context) GetIsVolumesVolumeZoneArrayOutput +} + +type GetIsVolumesVolumeZoneArray []GetIsVolumesVolumeZoneInput + +func (GetIsVolumesVolumeZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeZone)(nil)).Elem() +} + +func (i GetIsVolumesVolumeZoneArray) ToGetIsVolumesVolumeZoneArrayOutput() GetIsVolumesVolumeZoneArrayOutput { + return i.ToGetIsVolumesVolumeZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsVolumesVolumeZoneArray) ToGetIsVolumesVolumeZoneArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVolumesVolumeZoneArrayOutput) +} + +type GetIsVolumesVolumeZoneOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVolumesVolumeZone)(nil)).Elem() +} + +func (o GetIsVolumesVolumeZoneOutput) ToGetIsVolumesVolumeZoneOutput() GetIsVolumesVolumeZoneOutput { + return o +} + +func (o GetIsVolumesVolumeZoneOutput) ToGetIsVolumesVolumeZoneOutputWithContext(ctx context.Context) GetIsVolumesVolumeZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsVolumesVolumeZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsVolumesVolumeZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVolumesVolumeZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVolumesVolumeZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVolumesVolumeZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVolumesVolumeZone)(nil)).Elem() +} + +func (o GetIsVolumesVolumeZoneArrayOutput) ToGetIsVolumesVolumeZoneArrayOutput() GetIsVolumesVolumeZoneArrayOutput { + return o +} + +func (o GetIsVolumesVolumeZoneArrayOutput) ToGetIsVolumesVolumeZoneArrayOutputWithContext(ctx context.Context) GetIsVolumesVolumeZoneArrayOutput { + return o +} + +func (o GetIsVolumesVolumeZoneArrayOutput) Index(i pulumi.IntInput) GetIsVolumesVolumeZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVolumesVolumeZone { + return vs[0].([]GetIsVolumesVolumeZone)[vs[1].(int)] + }).(GetIsVolumesVolumeZoneOutput) +} + +type GetIsVpcAddressPrefixZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsVpcAddressPrefixZoneInput is an input type that accepts GetIsVpcAddressPrefixZoneArgs and GetIsVpcAddressPrefixZoneOutput values. +// You can construct a concrete instance of `GetIsVpcAddressPrefixZoneInput` via: +// +// GetIsVpcAddressPrefixZoneArgs{...} +type GetIsVpcAddressPrefixZoneInput interface { + pulumi.Input + + ToGetIsVpcAddressPrefixZoneOutput() GetIsVpcAddressPrefixZoneOutput + ToGetIsVpcAddressPrefixZoneOutputWithContext(context.Context) GetIsVpcAddressPrefixZoneOutput +} + +type GetIsVpcAddressPrefixZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcAddressPrefixZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcAddressPrefixZone)(nil)).Elem() +} + +func (i GetIsVpcAddressPrefixZoneArgs) ToGetIsVpcAddressPrefixZoneOutput() GetIsVpcAddressPrefixZoneOutput { + return i.ToGetIsVpcAddressPrefixZoneOutputWithContext(context.Background()) +} + +func (i GetIsVpcAddressPrefixZoneArgs) ToGetIsVpcAddressPrefixZoneOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcAddressPrefixZoneOutput) +} + +// GetIsVpcAddressPrefixZoneArrayInput is an input type that accepts GetIsVpcAddressPrefixZoneArray and GetIsVpcAddressPrefixZoneArrayOutput values. +// You can construct a concrete instance of `GetIsVpcAddressPrefixZoneArrayInput` via: +// +// GetIsVpcAddressPrefixZoneArray{ GetIsVpcAddressPrefixZoneArgs{...} } +type GetIsVpcAddressPrefixZoneArrayInput interface { + pulumi.Input + + ToGetIsVpcAddressPrefixZoneArrayOutput() GetIsVpcAddressPrefixZoneArrayOutput + ToGetIsVpcAddressPrefixZoneArrayOutputWithContext(context.Context) GetIsVpcAddressPrefixZoneArrayOutput +} + +type GetIsVpcAddressPrefixZoneArray []GetIsVpcAddressPrefixZoneInput + +func (GetIsVpcAddressPrefixZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcAddressPrefixZone)(nil)).Elem() +} + +func (i GetIsVpcAddressPrefixZoneArray) ToGetIsVpcAddressPrefixZoneArrayOutput() GetIsVpcAddressPrefixZoneArrayOutput { + return i.ToGetIsVpcAddressPrefixZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcAddressPrefixZoneArray) ToGetIsVpcAddressPrefixZoneArrayOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcAddressPrefixZoneArrayOutput) +} + +type GetIsVpcAddressPrefixZoneOutput struct{ *pulumi.OutputState } + +func (GetIsVpcAddressPrefixZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcAddressPrefixZone)(nil)).Elem() +} + +func (o GetIsVpcAddressPrefixZoneOutput) ToGetIsVpcAddressPrefixZoneOutput() GetIsVpcAddressPrefixZoneOutput { + return o +} + +func (o GetIsVpcAddressPrefixZoneOutput) ToGetIsVpcAddressPrefixZoneOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsVpcAddressPrefixZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsVpcAddressPrefixZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcAddressPrefixZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcAddressPrefixZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcAddressPrefixZone)(nil)).Elem() +} + +func (o GetIsVpcAddressPrefixZoneArrayOutput) ToGetIsVpcAddressPrefixZoneArrayOutput() GetIsVpcAddressPrefixZoneArrayOutput { + return o +} + +func (o GetIsVpcAddressPrefixZoneArrayOutput) ToGetIsVpcAddressPrefixZoneArrayOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixZoneArrayOutput { + return o +} + +func (o GetIsVpcAddressPrefixZoneArrayOutput) Index(i pulumi.IntInput) GetIsVpcAddressPrefixZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcAddressPrefixZone { + return vs[0].([]GetIsVpcAddressPrefixZone)[vs[1].(int)] + }).(GetIsVpcAddressPrefixZoneOutput) +} + +type GetIsVpcAddressPrefixesAddressPrefix struct { + // The CIDR block for this prefix. + Cidr string `pulumi:"cidr"` + // The date and time that the prefix was created. + CreatedAt string `pulumi:"createdAt"` + // Indicates whether subnets exist with addresses from this prefix. + HasSubnets bool `pulumi:"hasSubnets"` + // The URL for this address prefix. + Href string `pulumi:"href"` + // The unique identifier for this address prefix. + Id string `pulumi:"id"` + // Indicates whether this is the default prefix for this zone in this VPC. If a default prefix was automatically created when the VPC was created, the prefix is automatically named using a hyphenated list of randomly-selected words, but may be updated with a user-specified name. + IsDefault bool `pulumi:"isDefault"` + // The user-defined name for this address prefix. Names must be unique within the VPC the address prefix resides in. + Name string `pulumi:"name"` + // The zone this address prefix resides in. + Zones []GetIsVpcAddressPrefixesAddressPrefixZone `pulumi:"zones"` +} + +// GetIsVpcAddressPrefixesAddressPrefixInput is an input type that accepts GetIsVpcAddressPrefixesAddressPrefixArgs and GetIsVpcAddressPrefixesAddressPrefixOutput values. +// You can construct a concrete instance of `GetIsVpcAddressPrefixesAddressPrefixInput` via: +// +// GetIsVpcAddressPrefixesAddressPrefixArgs{...} +type GetIsVpcAddressPrefixesAddressPrefixInput interface { + pulumi.Input + + ToGetIsVpcAddressPrefixesAddressPrefixOutput() GetIsVpcAddressPrefixesAddressPrefixOutput + ToGetIsVpcAddressPrefixesAddressPrefixOutputWithContext(context.Context) GetIsVpcAddressPrefixesAddressPrefixOutput +} + +type GetIsVpcAddressPrefixesAddressPrefixArgs struct { + // The CIDR block for this prefix. + Cidr pulumi.StringInput `pulumi:"cidr"` + // The date and time that the prefix was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Indicates whether subnets exist with addresses from this prefix. + HasSubnets pulumi.BoolInput `pulumi:"hasSubnets"` + // The URL for this address prefix. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this address prefix. + Id pulumi.StringInput `pulumi:"id"` + // Indicates whether this is the default prefix for this zone in this VPC. If a default prefix was automatically created when the VPC was created, the prefix is automatically named using a hyphenated list of randomly-selected words, but may be updated with a user-specified name. + IsDefault pulumi.BoolInput `pulumi:"isDefault"` + // The user-defined name for this address prefix. Names must be unique within the VPC the address prefix resides in. + Name pulumi.StringInput `pulumi:"name"` + // The zone this address prefix resides in. + Zones GetIsVpcAddressPrefixesAddressPrefixZoneArrayInput `pulumi:"zones"` +} + +func (GetIsVpcAddressPrefixesAddressPrefixArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcAddressPrefixesAddressPrefix)(nil)).Elem() +} + +func (i GetIsVpcAddressPrefixesAddressPrefixArgs) ToGetIsVpcAddressPrefixesAddressPrefixOutput() GetIsVpcAddressPrefixesAddressPrefixOutput { + return i.ToGetIsVpcAddressPrefixesAddressPrefixOutputWithContext(context.Background()) +} + +func (i GetIsVpcAddressPrefixesAddressPrefixArgs) ToGetIsVpcAddressPrefixesAddressPrefixOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesAddressPrefixOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcAddressPrefixesAddressPrefixOutput) +} + +// GetIsVpcAddressPrefixesAddressPrefixArrayInput is an input type that accepts GetIsVpcAddressPrefixesAddressPrefixArray and GetIsVpcAddressPrefixesAddressPrefixArrayOutput values. +// You can construct a concrete instance of `GetIsVpcAddressPrefixesAddressPrefixArrayInput` via: +// +// GetIsVpcAddressPrefixesAddressPrefixArray{ GetIsVpcAddressPrefixesAddressPrefixArgs{...} } +type GetIsVpcAddressPrefixesAddressPrefixArrayInput interface { + pulumi.Input + + ToGetIsVpcAddressPrefixesAddressPrefixArrayOutput() GetIsVpcAddressPrefixesAddressPrefixArrayOutput + ToGetIsVpcAddressPrefixesAddressPrefixArrayOutputWithContext(context.Context) GetIsVpcAddressPrefixesAddressPrefixArrayOutput +} + +type GetIsVpcAddressPrefixesAddressPrefixArray []GetIsVpcAddressPrefixesAddressPrefixInput + +func (GetIsVpcAddressPrefixesAddressPrefixArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcAddressPrefixesAddressPrefix)(nil)).Elem() +} + +func (i GetIsVpcAddressPrefixesAddressPrefixArray) ToGetIsVpcAddressPrefixesAddressPrefixArrayOutput() GetIsVpcAddressPrefixesAddressPrefixArrayOutput { + return i.ToGetIsVpcAddressPrefixesAddressPrefixArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcAddressPrefixesAddressPrefixArray) ToGetIsVpcAddressPrefixesAddressPrefixArrayOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesAddressPrefixArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcAddressPrefixesAddressPrefixArrayOutput) +} + +type GetIsVpcAddressPrefixesAddressPrefixOutput struct{ *pulumi.OutputState } + +func (GetIsVpcAddressPrefixesAddressPrefixOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcAddressPrefixesAddressPrefix)(nil)).Elem() +} + +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) ToGetIsVpcAddressPrefixesAddressPrefixOutput() GetIsVpcAddressPrefixesAddressPrefixOutput { + return o +} + +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) ToGetIsVpcAddressPrefixesAddressPrefixOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesAddressPrefixOutput { + return o +} + +// The CIDR block for this prefix. +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefix) string { return v.Cidr }).(pulumi.StringOutput) +} + +// The date and time that the prefix was created. +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefix) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Indicates whether subnets exist with addresses from this prefix. +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) HasSubnets() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefix) bool { return v.HasSubnets }).(pulumi.BoolOutput) +} + +// The URL for this address prefix. +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefix) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this address prefix. +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefix) string { return v.Id }).(pulumi.StringOutput) +} + +// Indicates whether this is the default prefix for this zone in this VPC. If a default prefix was automatically created when the VPC was created, the prefix is automatically named using a hyphenated list of randomly-selected words, but may be updated with a user-specified name. +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) IsDefault() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefix) bool { return v.IsDefault }).(pulumi.BoolOutput) +} + +// The user-defined name for this address prefix. Names must be unique within the VPC the address prefix resides in. +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefix) string { return v.Name }).(pulumi.StringOutput) +} + +// The zone this address prefix resides in. +func (o GetIsVpcAddressPrefixesAddressPrefixOutput) Zones() GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefix) []GetIsVpcAddressPrefixesAddressPrefixZone { + return v.Zones + }).(GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput) +} + +type GetIsVpcAddressPrefixesAddressPrefixArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcAddressPrefixesAddressPrefixArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcAddressPrefixesAddressPrefix)(nil)).Elem() +} + +func (o GetIsVpcAddressPrefixesAddressPrefixArrayOutput) ToGetIsVpcAddressPrefixesAddressPrefixArrayOutput() GetIsVpcAddressPrefixesAddressPrefixArrayOutput { + return o +} + +func (o GetIsVpcAddressPrefixesAddressPrefixArrayOutput) ToGetIsVpcAddressPrefixesAddressPrefixArrayOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesAddressPrefixArrayOutput { + return o +} + +func (o GetIsVpcAddressPrefixesAddressPrefixArrayOutput) Index(i pulumi.IntInput) GetIsVpcAddressPrefixesAddressPrefixOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcAddressPrefixesAddressPrefix { + return vs[0].([]GetIsVpcAddressPrefixesAddressPrefix)[vs[1].(int)] + }).(GetIsVpcAddressPrefixesAddressPrefixOutput) +} + +type GetIsVpcAddressPrefixesAddressPrefixZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsVpcAddressPrefixesAddressPrefixZoneInput is an input type that accepts GetIsVpcAddressPrefixesAddressPrefixZoneArgs and GetIsVpcAddressPrefixesAddressPrefixZoneOutput values. +// You can construct a concrete instance of `GetIsVpcAddressPrefixesAddressPrefixZoneInput` via: +// +// GetIsVpcAddressPrefixesAddressPrefixZoneArgs{...} +type GetIsVpcAddressPrefixesAddressPrefixZoneInput interface { + pulumi.Input + + ToGetIsVpcAddressPrefixesAddressPrefixZoneOutput() GetIsVpcAddressPrefixesAddressPrefixZoneOutput + ToGetIsVpcAddressPrefixesAddressPrefixZoneOutputWithContext(context.Context) GetIsVpcAddressPrefixesAddressPrefixZoneOutput +} + +type GetIsVpcAddressPrefixesAddressPrefixZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcAddressPrefixesAddressPrefixZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcAddressPrefixesAddressPrefixZone)(nil)).Elem() +} + +func (i GetIsVpcAddressPrefixesAddressPrefixZoneArgs) ToGetIsVpcAddressPrefixesAddressPrefixZoneOutput() GetIsVpcAddressPrefixesAddressPrefixZoneOutput { + return i.ToGetIsVpcAddressPrefixesAddressPrefixZoneOutputWithContext(context.Background()) +} + +func (i GetIsVpcAddressPrefixesAddressPrefixZoneArgs) ToGetIsVpcAddressPrefixesAddressPrefixZoneOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesAddressPrefixZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcAddressPrefixesAddressPrefixZoneOutput) +} + +// GetIsVpcAddressPrefixesAddressPrefixZoneArrayInput is an input type that accepts GetIsVpcAddressPrefixesAddressPrefixZoneArray and GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput values. +// You can construct a concrete instance of `GetIsVpcAddressPrefixesAddressPrefixZoneArrayInput` via: +// +// GetIsVpcAddressPrefixesAddressPrefixZoneArray{ GetIsVpcAddressPrefixesAddressPrefixZoneArgs{...} } +type GetIsVpcAddressPrefixesAddressPrefixZoneArrayInput interface { + pulumi.Input + + ToGetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput() GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput + ToGetIsVpcAddressPrefixesAddressPrefixZoneArrayOutputWithContext(context.Context) GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput +} + +type GetIsVpcAddressPrefixesAddressPrefixZoneArray []GetIsVpcAddressPrefixesAddressPrefixZoneInput + +func (GetIsVpcAddressPrefixesAddressPrefixZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcAddressPrefixesAddressPrefixZone)(nil)).Elem() +} + +func (i GetIsVpcAddressPrefixesAddressPrefixZoneArray) ToGetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput() GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput { + return i.ToGetIsVpcAddressPrefixesAddressPrefixZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcAddressPrefixesAddressPrefixZoneArray) ToGetIsVpcAddressPrefixesAddressPrefixZoneArrayOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput) +} + +type GetIsVpcAddressPrefixesAddressPrefixZoneOutput struct{ *pulumi.OutputState } + +func (GetIsVpcAddressPrefixesAddressPrefixZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcAddressPrefixesAddressPrefixZone)(nil)).Elem() +} + +func (o GetIsVpcAddressPrefixesAddressPrefixZoneOutput) ToGetIsVpcAddressPrefixesAddressPrefixZoneOutput() GetIsVpcAddressPrefixesAddressPrefixZoneOutput { + return o +} + +func (o GetIsVpcAddressPrefixesAddressPrefixZoneOutput) ToGetIsVpcAddressPrefixesAddressPrefixZoneOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesAddressPrefixZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsVpcAddressPrefixesAddressPrefixZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefixZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsVpcAddressPrefixesAddressPrefixZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcAddressPrefixesAddressPrefixZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcAddressPrefixesAddressPrefixZone)(nil)).Elem() +} + +func (o GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput) ToGetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput() GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput { + return o +} + +func (o GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput) ToGetIsVpcAddressPrefixesAddressPrefixZoneArrayOutputWithContext(ctx context.Context) GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput { + return o +} + +func (o GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput) Index(i pulumi.IntInput) GetIsVpcAddressPrefixesAddressPrefixZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcAddressPrefixesAddressPrefixZone { + return vs[0].([]GetIsVpcAddressPrefixesAddressPrefixZone)[vs[1].(int)] + }).(GetIsVpcAddressPrefixesAddressPrefixZoneOutput) +} + +type GetIsVpcCseSourceAddress struct { + // Cloud service endpoint IP Address + Address string `pulumi:"address"` + // Location info of CSE Address + ZoneName string `pulumi:"zoneName"` +} + +// GetIsVpcCseSourceAddressInput is an input type that accepts GetIsVpcCseSourceAddressArgs and GetIsVpcCseSourceAddressOutput values. +// You can construct a concrete instance of `GetIsVpcCseSourceAddressInput` via: +// +// GetIsVpcCseSourceAddressArgs{...} +type GetIsVpcCseSourceAddressInput interface { + pulumi.Input + + ToGetIsVpcCseSourceAddressOutput() GetIsVpcCseSourceAddressOutput + ToGetIsVpcCseSourceAddressOutputWithContext(context.Context) GetIsVpcCseSourceAddressOutput +} + +type GetIsVpcCseSourceAddressArgs struct { + // Cloud service endpoint IP Address + Address pulumi.StringInput `pulumi:"address"` + // Location info of CSE Address + ZoneName pulumi.StringInput `pulumi:"zoneName"` +} + +func (GetIsVpcCseSourceAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcCseSourceAddress)(nil)).Elem() +} + +func (i GetIsVpcCseSourceAddressArgs) ToGetIsVpcCseSourceAddressOutput() GetIsVpcCseSourceAddressOutput { + return i.ToGetIsVpcCseSourceAddressOutputWithContext(context.Background()) +} + +func (i GetIsVpcCseSourceAddressArgs) ToGetIsVpcCseSourceAddressOutputWithContext(ctx context.Context) GetIsVpcCseSourceAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcCseSourceAddressOutput) +} + +// GetIsVpcCseSourceAddressArrayInput is an input type that accepts GetIsVpcCseSourceAddressArray and GetIsVpcCseSourceAddressArrayOutput values. +// You can construct a concrete instance of `GetIsVpcCseSourceAddressArrayInput` via: +// +// GetIsVpcCseSourceAddressArray{ GetIsVpcCseSourceAddressArgs{...} } +type GetIsVpcCseSourceAddressArrayInput interface { + pulumi.Input + + ToGetIsVpcCseSourceAddressArrayOutput() GetIsVpcCseSourceAddressArrayOutput + ToGetIsVpcCseSourceAddressArrayOutputWithContext(context.Context) GetIsVpcCseSourceAddressArrayOutput +} + +type GetIsVpcCseSourceAddressArray []GetIsVpcCseSourceAddressInput + +func (GetIsVpcCseSourceAddressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcCseSourceAddress)(nil)).Elem() +} + +func (i GetIsVpcCseSourceAddressArray) ToGetIsVpcCseSourceAddressArrayOutput() GetIsVpcCseSourceAddressArrayOutput { + return i.ToGetIsVpcCseSourceAddressArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcCseSourceAddressArray) ToGetIsVpcCseSourceAddressArrayOutputWithContext(ctx context.Context) GetIsVpcCseSourceAddressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcCseSourceAddressArrayOutput) +} + +type GetIsVpcCseSourceAddressOutput struct{ *pulumi.OutputState } + +func (GetIsVpcCseSourceAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcCseSourceAddress)(nil)).Elem() +} + +func (o GetIsVpcCseSourceAddressOutput) ToGetIsVpcCseSourceAddressOutput() GetIsVpcCseSourceAddressOutput { + return o +} + +func (o GetIsVpcCseSourceAddressOutput) ToGetIsVpcCseSourceAddressOutputWithContext(ctx context.Context) GetIsVpcCseSourceAddressOutput { + return o +} + +// Cloud service endpoint IP Address +func (o GetIsVpcCseSourceAddressOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcCseSourceAddress) string { return v.Address }).(pulumi.StringOutput) +} + +// Location info of CSE Address +func (o GetIsVpcCseSourceAddressOutput) ZoneName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcCseSourceAddress) string { return v.ZoneName }).(pulumi.StringOutput) +} + +type GetIsVpcCseSourceAddressArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcCseSourceAddressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcCseSourceAddress)(nil)).Elem() +} + +func (o GetIsVpcCseSourceAddressArrayOutput) ToGetIsVpcCseSourceAddressArrayOutput() GetIsVpcCseSourceAddressArrayOutput { + return o +} + +func (o GetIsVpcCseSourceAddressArrayOutput) ToGetIsVpcCseSourceAddressArrayOutputWithContext(ctx context.Context) GetIsVpcCseSourceAddressArrayOutput { + return o +} + +func (o GetIsVpcCseSourceAddressArrayOutput) Index(i pulumi.IntInput) GetIsVpcCseSourceAddressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcCseSourceAddress { + return vs[0].([]GetIsVpcCseSourceAddress)[vs[1].(int)] + }).(GetIsVpcCseSourceAddressOutput) +} + +type GetIsVpcDefaultRoutingTableResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVpcDefaultRoutingTableResourceGroupInput is an input type that accepts GetIsVpcDefaultRoutingTableResourceGroupArgs and GetIsVpcDefaultRoutingTableResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVpcDefaultRoutingTableResourceGroupInput` via: +// +// GetIsVpcDefaultRoutingTableResourceGroupArgs{...} +type GetIsVpcDefaultRoutingTableResourceGroupInput interface { + pulumi.Input + + ToGetIsVpcDefaultRoutingTableResourceGroupOutput() GetIsVpcDefaultRoutingTableResourceGroupOutput + ToGetIsVpcDefaultRoutingTableResourceGroupOutputWithContext(context.Context) GetIsVpcDefaultRoutingTableResourceGroupOutput +} + +type GetIsVpcDefaultRoutingTableResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcDefaultRoutingTableResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDefaultRoutingTableResourceGroup)(nil)).Elem() +} + +func (i GetIsVpcDefaultRoutingTableResourceGroupArgs) ToGetIsVpcDefaultRoutingTableResourceGroupOutput() GetIsVpcDefaultRoutingTableResourceGroupOutput { + return i.ToGetIsVpcDefaultRoutingTableResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpcDefaultRoutingTableResourceGroupArgs) ToGetIsVpcDefaultRoutingTableResourceGroupOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDefaultRoutingTableResourceGroupOutput) +} + +// GetIsVpcDefaultRoutingTableResourceGroupArrayInput is an input type that accepts GetIsVpcDefaultRoutingTableResourceGroupArray and GetIsVpcDefaultRoutingTableResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDefaultRoutingTableResourceGroupArrayInput` via: +// +// GetIsVpcDefaultRoutingTableResourceGroupArray{ GetIsVpcDefaultRoutingTableResourceGroupArgs{...} } +type GetIsVpcDefaultRoutingTableResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVpcDefaultRoutingTableResourceGroupArrayOutput() GetIsVpcDefaultRoutingTableResourceGroupArrayOutput + ToGetIsVpcDefaultRoutingTableResourceGroupArrayOutputWithContext(context.Context) GetIsVpcDefaultRoutingTableResourceGroupArrayOutput +} + +type GetIsVpcDefaultRoutingTableResourceGroupArray []GetIsVpcDefaultRoutingTableResourceGroupInput + +func (GetIsVpcDefaultRoutingTableResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDefaultRoutingTableResourceGroup)(nil)).Elem() +} + +func (i GetIsVpcDefaultRoutingTableResourceGroupArray) ToGetIsVpcDefaultRoutingTableResourceGroupArrayOutput() GetIsVpcDefaultRoutingTableResourceGroupArrayOutput { + return i.ToGetIsVpcDefaultRoutingTableResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDefaultRoutingTableResourceGroupArray) ToGetIsVpcDefaultRoutingTableResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDefaultRoutingTableResourceGroupArrayOutput) +} + +type GetIsVpcDefaultRoutingTableResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDefaultRoutingTableResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDefaultRoutingTableResourceGroup)(nil)).Elem() +} + +func (o GetIsVpcDefaultRoutingTableResourceGroupOutput) ToGetIsVpcDefaultRoutingTableResourceGroupOutput() GetIsVpcDefaultRoutingTableResourceGroupOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableResourceGroupOutput) ToGetIsVpcDefaultRoutingTableResourceGroupOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVpcDefaultRoutingTableResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVpcDefaultRoutingTableResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsVpcDefaultRoutingTableResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcDefaultRoutingTableResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDefaultRoutingTableResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDefaultRoutingTableResourceGroup)(nil)).Elem() +} + +func (o GetIsVpcDefaultRoutingTableResourceGroupArrayOutput) ToGetIsVpcDefaultRoutingTableResourceGroupArrayOutput() GetIsVpcDefaultRoutingTableResourceGroupArrayOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableResourceGroupArrayOutput) ToGetIsVpcDefaultRoutingTableResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableResourceGroupArrayOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpcDefaultRoutingTableResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDefaultRoutingTableResourceGroup { + return vs[0].([]GetIsVpcDefaultRoutingTableResourceGroup)[vs[1].(int)] + }).(GetIsVpcDefaultRoutingTableResourceGroupOutput) +} + +type GetIsVpcDefaultRoutingTableRoute struct { + // Route ID + Id string `pulumi:"id"` + // Route name + Name string `pulumi:"name"` +} + +// GetIsVpcDefaultRoutingTableRouteInput is an input type that accepts GetIsVpcDefaultRoutingTableRouteArgs and GetIsVpcDefaultRoutingTableRouteOutput values. +// You can construct a concrete instance of `GetIsVpcDefaultRoutingTableRouteInput` via: +// +// GetIsVpcDefaultRoutingTableRouteArgs{...} +type GetIsVpcDefaultRoutingTableRouteInput interface { + pulumi.Input + + ToGetIsVpcDefaultRoutingTableRouteOutput() GetIsVpcDefaultRoutingTableRouteOutput + ToGetIsVpcDefaultRoutingTableRouteOutputWithContext(context.Context) GetIsVpcDefaultRoutingTableRouteOutput +} + +type GetIsVpcDefaultRoutingTableRouteArgs struct { + // Route ID + Id pulumi.StringInput `pulumi:"id"` + // Route name + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcDefaultRoutingTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDefaultRoutingTableRoute)(nil)).Elem() +} + +func (i GetIsVpcDefaultRoutingTableRouteArgs) ToGetIsVpcDefaultRoutingTableRouteOutput() GetIsVpcDefaultRoutingTableRouteOutput { + return i.ToGetIsVpcDefaultRoutingTableRouteOutputWithContext(context.Background()) +} + +func (i GetIsVpcDefaultRoutingTableRouteArgs) ToGetIsVpcDefaultRoutingTableRouteOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDefaultRoutingTableRouteOutput) +} + +// GetIsVpcDefaultRoutingTableRouteArrayInput is an input type that accepts GetIsVpcDefaultRoutingTableRouteArray and GetIsVpcDefaultRoutingTableRouteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDefaultRoutingTableRouteArrayInput` via: +// +// GetIsVpcDefaultRoutingTableRouteArray{ GetIsVpcDefaultRoutingTableRouteArgs{...} } +type GetIsVpcDefaultRoutingTableRouteArrayInput interface { + pulumi.Input + + ToGetIsVpcDefaultRoutingTableRouteArrayOutput() GetIsVpcDefaultRoutingTableRouteArrayOutput + ToGetIsVpcDefaultRoutingTableRouteArrayOutputWithContext(context.Context) GetIsVpcDefaultRoutingTableRouteArrayOutput +} + +type GetIsVpcDefaultRoutingTableRouteArray []GetIsVpcDefaultRoutingTableRouteInput + +func (GetIsVpcDefaultRoutingTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDefaultRoutingTableRoute)(nil)).Elem() +} + +func (i GetIsVpcDefaultRoutingTableRouteArray) ToGetIsVpcDefaultRoutingTableRouteArrayOutput() GetIsVpcDefaultRoutingTableRouteArrayOutput { + return i.ToGetIsVpcDefaultRoutingTableRouteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDefaultRoutingTableRouteArray) ToGetIsVpcDefaultRoutingTableRouteArrayOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDefaultRoutingTableRouteArrayOutput) +} + +type GetIsVpcDefaultRoutingTableRouteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDefaultRoutingTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDefaultRoutingTableRoute)(nil)).Elem() +} + +func (o GetIsVpcDefaultRoutingTableRouteOutput) ToGetIsVpcDefaultRoutingTableRouteOutput() GetIsVpcDefaultRoutingTableRouteOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableRouteOutput) ToGetIsVpcDefaultRoutingTableRouteOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableRouteOutput { + return o +} + +// Route ID +func (o GetIsVpcDefaultRoutingTableRouteOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableRoute) string { return v.Id }).(pulumi.StringOutput) +} + +// Route name +func (o GetIsVpcDefaultRoutingTableRouteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableRoute) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcDefaultRoutingTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDefaultRoutingTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDefaultRoutingTableRoute)(nil)).Elem() +} + +func (o GetIsVpcDefaultRoutingTableRouteArrayOutput) ToGetIsVpcDefaultRoutingTableRouteArrayOutput() GetIsVpcDefaultRoutingTableRouteArrayOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableRouteArrayOutput) ToGetIsVpcDefaultRoutingTableRouteArrayOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableRouteArrayOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableRouteArrayOutput) Index(i pulumi.IntInput) GetIsVpcDefaultRoutingTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDefaultRoutingTableRoute { + return vs[0].([]GetIsVpcDefaultRoutingTableRoute)[vs[1].(int)] + }).(GetIsVpcDefaultRoutingTableRouteOutput) +} + +type GetIsVpcDefaultRoutingTableSubnet struct { + // Subnet ID + Id string `pulumi:"id"` + // Subnet name + Name string `pulumi:"name"` +} + +// GetIsVpcDefaultRoutingTableSubnetInput is an input type that accepts GetIsVpcDefaultRoutingTableSubnetArgs and GetIsVpcDefaultRoutingTableSubnetOutput values. +// You can construct a concrete instance of `GetIsVpcDefaultRoutingTableSubnetInput` via: +// +// GetIsVpcDefaultRoutingTableSubnetArgs{...} +type GetIsVpcDefaultRoutingTableSubnetInput interface { + pulumi.Input + + ToGetIsVpcDefaultRoutingTableSubnetOutput() GetIsVpcDefaultRoutingTableSubnetOutput + ToGetIsVpcDefaultRoutingTableSubnetOutputWithContext(context.Context) GetIsVpcDefaultRoutingTableSubnetOutput +} + +type GetIsVpcDefaultRoutingTableSubnetArgs struct { + // Subnet ID + Id pulumi.StringInput `pulumi:"id"` + // Subnet name + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcDefaultRoutingTableSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDefaultRoutingTableSubnet)(nil)).Elem() +} + +func (i GetIsVpcDefaultRoutingTableSubnetArgs) ToGetIsVpcDefaultRoutingTableSubnetOutput() GetIsVpcDefaultRoutingTableSubnetOutput { + return i.ToGetIsVpcDefaultRoutingTableSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVpcDefaultRoutingTableSubnetArgs) ToGetIsVpcDefaultRoutingTableSubnetOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDefaultRoutingTableSubnetOutput) +} + +// GetIsVpcDefaultRoutingTableSubnetArrayInput is an input type that accepts GetIsVpcDefaultRoutingTableSubnetArray and GetIsVpcDefaultRoutingTableSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDefaultRoutingTableSubnetArrayInput` via: +// +// GetIsVpcDefaultRoutingTableSubnetArray{ GetIsVpcDefaultRoutingTableSubnetArgs{...} } +type GetIsVpcDefaultRoutingTableSubnetArrayInput interface { + pulumi.Input + + ToGetIsVpcDefaultRoutingTableSubnetArrayOutput() GetIsVpcDefaultRoutingTableSubnetArrayOutput + ToGetIsVpcDefaultRoutingTableSubnetArrayOutputWithContext(context.Context) GetIsVpcDefaultRoutingTableSubnetArrayOutput +} + +type GetIsVpcDefaultRoutingTableSubnetArray []GetIsVpcDefaultRoutingTableSubnetInput + +func (GetIsVpcDefaultRoutingTableSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDefaultRoutingTableSubnet)(nil)).Elem() +} + +func (i GetIsVpcDefaultRoutingTableSubnetArray) ToGetIsVpcDefaultRoutingTableSubnetArrayOutput() GetIsVpcDefaultRoutingTableSubnetArrayOutput { + return i.ToGetIsVpcDefaultRoutingTableSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDefaultRoutingTableSubnetArray) ToGetIsVpcDefaultRoutingTableSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDefaultRoutingTableSubnetArrayOutput) +} + +type GetIsVpcDefaultRoutingTableSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDefaultRoutingTableSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDefaultRoutingTableSubnet)(nil)).Elem() +} + +func (o GetIsVpcDefaultRoutingTableSubnetOutput) ToGetIsVpcDefaultRoutingTableSubnetOutput() GetIsVpcDefaultRoutingTableSubnetOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableSubnetOutput) ToGetIsVpcDefaultRoutingTableSubnetOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableSubnetOutput { + return o +} + +// Subnet ID +func (o GetIsVpcDefaultRoutingTableSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// Subnet name +func (o GetIsVpcDefaultRoutingTableSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDefaultRoutingTableSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcDefaultRoutingTableSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDefaultRoutingTableSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDefaultRoutingTableSubnet)(nil)).Elem() +} + +func (o GetIsVpcDefaultRoutingTableSubnetArrayOutput) ToGetIsVpcDefaultRoutingTableSubnetArrayOutput() GetIsVpcDefaultRoutingTableSubnetArrayOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableSubnetArrayOutput) ToGetIsVpcDefaultRoutingTableSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcDefaultRoutingTableSubnetArrayOutput { + return o +} + +func (o GetIsVpcDefaultRoutingTableSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVpcDefaultRoutingTableSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDefaultRoutingTableSubnet { + return vs[0].([]GetIsVpcDefaultRoutingTableSubnet)[vs[1].(int)] + }).(GetIsVpcDefaultRoutingTableSubnetOutput) +} + +type GetIsVpcDn struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + EnableHub bool `pulumi:"enableHub"` + // The number of DNS resolution bindings for this VPC. + ResolutionBindingCount int `pulumi:"resolutionBindingCount"` + // The DNS resolver configuration for the VPC. + Resolvers []GetIsVpcDnResolver `pulumi:"resolvers"` +} + +// GetIsVpcDnInput is an input type that accepts GetIsVpcDnArgs and GetIsVpcDnOutput values. +// You can construct a concrete instance of `GetIsVpcDnInput` via: +// +// GetIsVpcDnArgs{...} +type GetIsVpcDnInput interface { + pulumi.Input + + ToGetIsVpcDnOutput() GetIsVpcDnOutput + ToGetIsVpcDnOutputWithContext(context.Context) GetIsVpcDnOutput +} + +type GetIsVpcDnArgs struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + EnableHub pulumi.BoolInput `pulumi:"enableHub"` + // The number of DNS resolution bindings for this VPC. + ResolutionBindingCount pulumi.IntInput `pulumi:"resolutionBindingCount"` + // The DNS resolver configuration for the VPC. + Resolvers GetIsVpcDnResolverArrayInput `pulumi:"resolvers"` +} + +func (GetIsVpcDnArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDn)(nil)).Elem() +} + +func (i GetIsVpcDnArgs) ToGetIsVpcDnOutput() GetIsVpcDnOutput { + return i.ToGetIsVpcDnOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnArgs) ToGetIsVpcDnOutputWithContext(ctx context.Context) GetIsVpcDnOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnOutput) +} + +// GetIsVpcDnArrayInput is an input type that accepts GetIsVpcDnArray and GetIsVpcDnArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnArrayInput` via: +// +// GetIsVpcDnArray{ GetIsVpcDnArgs{...} } +type GetIsVpcDnArrayInput interface { + pulumi.Input + + ToGetIsVpcDnArrayOutput() GetIsVpcDnArrayOutput + ToGetIsVpcDnArrayOutputWithContext(context.Context) GetIsVpcDnArrayOutput +} + +type GetIsVpcDnArray []GetIsVpcDnInput + +func (GetIsVpcDnArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDn)(nil)).Elem() +} + +func (i GetIsVpcDnArray) ToGetIsVpcDnArrayOutput() GetIsVpcDnArrayOutput { + return i.ToGetIsVpcDnArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnArray) ToGetIsVpcDnArrayOutputWithContext(ctx context.Context) GetIsVpcDnArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnArrayOutput) +} + +type GetIsVpcDnOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDn)(nil)).Elem() +} + +func (o GetIsVpcDnOutput) ToGetIsVpcDnOutput() GetIsVpcDnOutput { + return o +} + +func (o GetIsVpcDnOutput) ToGetIsVpcDnOutputWithContext(ctx context.Context) GetIsVpcDnOutput { + return o +} + +// Indicates whether this VPC is enabled as a DNS name resolution hub. +func (o GetIsVpcDnOutput) EnableHub() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcDn) bool { return v.EnableHub }).(pulumi.BoolOutput) +} + +// The number of DNS resolution bindings for this VPC. +func (o GetIsVpcDnOutput) ResolutionBindingCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcDn) int { return v.ResolutionBindingCount }).(pulumi.IntOutput) +} + +// The DNS resolver configuration for the VPC. +func (o GetIsVpcDnOutput) Resolvers() GetIsVpcDnResolverArrayOutput { + return o.ApplyT(func(v GetIsVpcDn) []GetIsVpcDnResolver { return v.Resolvers }).(GetIsVpcDnResolverArrayOutput) +} + +type GetIsVpcDnArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDn)(nil)).Elem() +} + +func (o GetIsVpcDnArrayOutput) ToGetIsVpcDnArrayOutput() GetIsVpcDnArrayOutput { + return o +} + +func (o GetIsVpcDnArrayOutput) ToGetIsVpcDnArrayOutputWithContext(ctx context.Context) GetIsVpcDnArrayOutput { + return o +} + +func (o GetIsVpcDnArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDn { + return vs[0].([]GetIsVpcDn)[vs[1].(int)] + }).(GetIsVpcDnOutput) +} + +type GetIsVpcDnResolver struct { + // The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. + Configuration string `pulumi:"configuration"` + // The manually specified DNS servers for this VPC. + ManualServers []GetIsVpcDnResolverManualServer `pulumi:"manualServers"` + // The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. + Servers []GetIsVpcDnResolverServer `pulumi:"servers"` + // The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. + Type string `pulumi:"type"` + // The VPC whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + Vpcs []GetIsVpcDnResolverVpc `pulumi:"vpcs"` +} + +// GetIsVpcDnResolverInput is an input type that accepts GetIsVpcDnResolverArgs and GetIsVpcDnResolverOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverInput` via: +// +// GetIsVpcDnResolverArgs{...} +type GetIsVpcDnResolverInput interface { + pulumi.Input + + ToGetIsVpcDnResolverOutput() GetIsVpcDnResolverOutput + ToGetIsVpcDnResolverOutputWithContext(context.Context) GetIsVpcDnResolverOutput +} + +type GetIsVpcDnResolverArgs struct { + // The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. + Configuration pulumi.StringInput `pulumi:"configuration"` + // The manually specified DNS servers for this VPC. + ManualServers GetIsVpcDnResolverManualServerArrayInput `pulumi:"manualServers"` + // The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. + Servers GetIsVpcDnResolverServerArrayInput `pulumi:"servers"` + // The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. + Type pulumi.StringInput `pulumi:"type"` + // The VPC whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + Vpcs GetIsVpcDnResolverVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsVpcDnResolverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolver)(nil)).Elem() +} + +func (i GetIsVpcDnResolverArgs) ToGetIsVpcDnResolverOutput() GetIsVpcDnResolverOutput { + return i.ToGetIsVpcDnResolverOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverArgs) ToGetIsVpcDnResolverOutputWithContext(ctx context.Context) GetIsVpcDnResolverOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverOutput) +} + +// GetIsVpcDnResolverArrayInput is an input type that accepts GetIsVpcDnResolverArray and GetIsVpcDnResolverArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverArrayInput` via: +// +// GetIsVpcDnResolverArray{ GetIsVpcDnResolverArgs{...} } +type GetIsVpcDnResolverArrayInput interface { + pulumi.Input + + ToGetIsVpcDnResolverArrayOutput() GetIsVpcDnResolverArrayOutput + ToGetIsVpcDnResolverArrayOutputWithContext(context.Context) GetIsVpcDnResolverArrayOutput +} + +type GetIsVpcDnResolverArray []GetIsVpcDnResolverInput + +func (GetIsVpcDnResolverArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolver)(nil)).Elem() +} + +func (i GetIsVpcDnResolverArray) ToGetIsVpcDnResolverArrayOutput() GetIsVpcDnResolverArrayOutput { + return i.ToGetIsVpcDnResolverArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverArray) ToGetIsVpcDnResolverArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverArrayOutput) +} + +type GetIsVpcDnResolverOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolver)(nil)).Elem() +} + +func (o GetIsVpcDnResolverOutput) ToGetIsVpcDnResolverOutput() GetIsVpcDnResolverOutput { + return o +} + +func (o GetIsVpcDnResolverOutput) ToGetIsVpcDnResolverOutputWithContext(ctx context.Context) GetIsVpcDnResolverOutput { + return o +} + +// The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. +func (o GetIsVpcDnResolverOutput) Configuration() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolver) string { return v.Configuration }).(pulumi.StringOutput) +} + +// The manually specified DNS servers for this VPC. +func (o GetIsVpcDnResolverOutput) ManualServers() GetIsVpcDnResolverManualServerArrayOutput { + return o.ApplyT(func(v GetIsVpcDnResolver) []GetIsVpcDnResolverManualServer { return v.ManualServers }).(GetIsVpcDnResolverManualServerArrayOutput) +} + +// The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. +func (o GetIsVpcDnResolverOutput) Servers() GetIsVpcDnResolverServerArrayOutput { + return o.ApplyT(func(v GetIsVpcDnResolver) []GetIsVpcDnResolverServer { return v.Servers }).(GetIsVpcDnResolverServerArrayOutput) +} + +// The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. +func (o GetIsVpcDnResolverOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolver) string { return v.Type }).(pulumi.StringOutput) +} + +// The VPC whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. +func (o GetIsVpcDnResolverOutput) Vpcs() GetIsVpcDnResolverVpcArrayOutput { + return o.ApplyT(func(v GetIsVpcDnResolver) []GetIsVpcDnResolverVpc { return v.Vpcs }).(GetIsVpcDnResolverVpcArrayOutput) +} + +type GetIsVpcDnResolverArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolver)(nil)).Elem() +} + +func (o GetIsVpcDnResolverArrayOutput) ToGetIsVpcDnResolverArrayOutput() GetIsVpcDnResolverArrayOutput { + return o +} + +func (o GetIsVpcDnResolverArrayOutput) ToGetIsVpcDnResolverArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverArrayOutput { + return o +} + +func (o GetIsVpcDnResolverArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnResolverOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnResolver { + return vs[0].([]GetIsVpcDnResolver)[vs[1].(int)] + }).(GetIsVpcDnResolverOutput) +} + +type GetIsVpcDnResolverManualServer struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity string `pulumi:"zoneAffinity"` +} + +// GetIsVpcDnResolverManualServerInput is an input type that accepts GetIsVpcDnResolverManualServerArgs and GetIsVpcDnResolverManualServerOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverManualServerInput` via: +// +// GetIsVpcDnResolverManualServerArgs{...} +type GetIsVpcDnResolverManualServerInput interface { + pulumi.Input + + ToGetIsVpcDnResolverManualServerOutput() GetIsVpcDnResolverManualServerOutput + ToGetIsVpcDnResolverManualServerOutputWithContext(context.Context) GetIsVpcDnResolverManualServerOutput +} + +type GetIsVpcDnResolverManualServerArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity pulumi.StringInput `pulumi:"zoneAffinity"` +} + +func (GetIsVpcDnResolverManualServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverManualServer)(nil)).Elem() +} + +func (i GetIsVpcDnResolverManualServerArgs) ToGetIsVpcDnResolverManualServerOutput() GetIsVpcDnResolverManualServerOutput { + return i.ToGetIsVpcDnResolverManualServerOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverManualServerArgs) ToGetIsVpcDnResolverManualServerOutputWithContext(ctx context.Context) GetIsVpcDnResolverManualServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverManualServerOutput) +} + +// GetIsVpcDnResolverManualServerArrayInput is an input type that accepts GetIsVpcDnResolverManualServerArray and GetIsVpcDnResolverManualServerArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverManualServerArrayInput` via: +// +// GetIsVpcDnResolverManualServerArray{ GetIsVpcDnResolverManualServerArgs{...} } +type GetIsVpcDnResolverManualServerArrayInput interface { + pulumi.Input + + ToGetIsVpcDnResolverManualServerArrayOutput() GetIsVpcDnResolverManualServerArrayOutput + ToGetIsVpcDnResolverManualServerArrayOutputWithContext(context.Context) GetIsVpcDnResolverManualServerArrayOutput +} + +type GetIsVpcDnResolverManualServerArray []GetIsVpcDnResolverManualServerInput + +func (GetIsVpcDnResolverManualServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverManualServer)(nil)).Elem() +} + +func (i GetIsVpcDnResolverManualServerArray) ToGetIsVpcDnResolverManualServerArrayOutput() GetIsVpcDnResolverManualServerArrayOutput { + return i.ToGetIsVpcDnResolverManualServerArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverManualServerArray) ToGetIsVpcDnResolverManualServerArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverManualServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverManualServerArrayOutput) +} + +type GetIsVpcDnResolverManualServerOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverManualServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverManualServer)(nil)).Elem() +} + +func (o GetIsVpcDnResolverManualServerOutput) ToGetIsVpcDnResolverManualServerOutput() GetIsVpcDnResolverManualServerOutput { + return o +} + +func (o GetIsVpcDnResolverManualServerOutput) ToGetIsVpcDnResolverManualServerOutputWithContext(ctx context.Context) GetIsVpcDnResolverManualServerOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpcDnResolverManualServerOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverManualServer) string { return v.Address }).(pulumi.StringOutput) +} + +// The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. +func (o GetIsVpcDnResolverManualServerOutput) ZoneAffinity() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverManualServer) string { return v.ZoneAffinity }).(pulumi.StringOutput) +} + +type GetIsVpcDnResolverManualServerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverManualServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverManualServer)(nil)).Elem() +} + +func (o GetIsVpcDnResolverManualServerArrayOutput) ToGetIsVpcDnResolverManualServerArrayOutput() GetIsVpcDnResolverManualServerArrayOutput { + return o +} + +func (o GetIsVpcDnResolverManualServerArrayOutput) ToGetIsVpcDnResolverManualServerArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverManualServerArrayOutput { + return o +} + +func (o GetIsVpcDnResolverManualServerArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnResolverManualServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnResolverManualServer { + return vs[0].([]GetIsVpcDnResolverManualServer)[vs[1].(int)] + }).(GetIsVpcDnResolverManualServerOutput) +} + +type GetIsVpcDnResolverServer struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity string `pulumi:"zoneAffinity"` +} + +// GetIsVpcDnResolverServerInput is an input type that accepts GetIsVpcDnResolverServerArgs and GetIsVpcDnResolverServerOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverServerInput` via: +// +// GetIsVpcDnResolverServerArgs{...} +type GetIsVpcDnResolverServerInput interface { + pulumi.Input + + ToGetIsVpcDnResolverServerOutput() GetIsVpcDnResolverServerOutput + ToGetIsVpcDnResolverServerOutputWithContext(context.Context) GetIsVpcDnResolverServerOutput +} + +type GetIsVpcDnResolverServerArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity pulumi.StringInput `pulumi:"zoneAffinity"` +} + +func (GetIsVpcDnResolverServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverServer)(nil)).Elem() +} + +func (i GetIsVpcDnResolverServerArgs) ToGetIsVpcDnResolverServerOutput() GetIsVpcDnResolverServerOutput { + return i.ToGetIsVpcDnResolverServerOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverServerArgs) ToGetIsVpcDnResolverServerOutputWithContext(ctx context.Context) GetIsVpcDnResolverServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverServerOutput) +} + +// GetIsVpcDnResolverServerArrayInput is an input type that accepts GetIsVpcDnResolverServerArray and GetIsVpcDnResolverServerArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverServerArrayInput` via: +// +// GetIsVpcDnResolverServerArray{ GetIsVpcDnResolverServerArgs{...} } +type GetIsVpcDnResolverServerArrayInput interface { + pulumi.Input + + ToGetIsVpcDnResolverServerArrayOutput() GetIsVpcDnResolverServerArrayOutput + ToGetIsVpcDnResolverServerArrayOutputWithContext(context.Context) GetIsVpcDnResolverServerArrayOutput +} + +type GetIsVpcDnResolverServerArray []GetIsVpcDnResolverServerInput + +func (GetIsVpcDnResolverServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverServer)(nil)).Elem() +} + +func (i GetIsVpcDnResolverServerArray) ToGetIsVpcDnResolverServerArrayOutput() GetIsVpcDnResolverServerArrayOutput { + return i.ToGetIsVpcDnResolverServerArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverServerArray) ToGetIsVpcDnResolverServerArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverServerArrayOutput) +} + +type GetIsVpcDnResolverServerOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverServer)(nil)).Elem() +} + +func (o GetIsVpcDnResolverServerOutput) ToGetIsVpcDnResolverServerOutput() GetIsVpcDnResolverServerOutput { + return o +} + +func (o GetIsVpcDnResolverServerOutput) ToGetIsVpcDnResolverServerOutputWithContext(ctx context.Context) GetIsVpcDnResolverServerOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpcDnResolverServerOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverServer) string { return v.Address }).(pulumi.StringOutput) +} + +// Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. +func (o GetIsVpcDnResolverServerOutput) ZoneAffinity() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverServer) string { return v.ZoneAffinity }).(pulumi.StringOutput) +} + +type GetIsVpcDnResolverServerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverServer)(nil)).Elem() +} + +func (o GetIsVpcDnResolverServerArrayOutput) ToGetIsVpcDnResolverServerArrayOutput() GetIsVpcDnResolverServerArrayOutput { + return o +} + +func (o GetIsVpcDnResolverServerArrayOutput) ToGetIsVpcDnResolverServerArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverServerArrayOutput { + return o +} + +func (o GetIsVpcDnResolverServerArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnResolverServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnResolverServer { + return vs[0].([]GetIsVpcDnResolverServer)[vs[1].(int)] + }).(GetIsVpcDnResolverServerOutput) +} + +type GetIsVpcDnResolverVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVpcDnResolverVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsVpcDnResolverVpcRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnResolverVpcInput is an input type that accepts GetIsVpcDnResolverVpcArgs and GetIsVpcDnResolverVpcOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverVpcInput` via: +// +// GetIsVpcDnResolverVpcArgs{...} +type GetIsVpcDnResolverVpcInput interface { + pulumi.Input + + ToGetIsVpcDnResolverVpcOutput() GetIsVpcDnResolverVpcOutput + ToGetIsVpcDnResolverVpcOutputWithContext(context.Context) GetIsVpcDnResolverVpcOutput +} + +type GetIsVpcDnResolverVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVpcDnResolverVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsVpcDnResolverVpcRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnResolverVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverVpc)(nil)).Elem() +} + +func (i GetIsVpcDnResolverVpcArgs) ToGetIsVpcDnResolverVpcOutput() GetIsVpcDnResolverVpcOutput { + return i.ToGetIsVpcDnResolverVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverVpcArgs) ToGetIsVpcDnResolverVpcOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverVpcOutput) +} + +// GetIsVpcDnResolverVpcArrayInput is an input type that accepts GetIsVpcDnResolverVpcArray and GetIsVpcDnResolverVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverVpcArrayInput` via: +// +// GetIsVpcDnResolverVpcArray{ GetIsVpcDnResolverVpcArgs{...} } +type GetIsVpcDnResolverVpcArrayInput interface { + pulumi.Input + + ToGetIsVpcDnResolverVpcArrayOutput() GetIsVpcDnResolverVpcArrayOutput + ToGetIsVpcDnResolverVpcArrayOutputWithContext(context.Context) GetIsVpcDnResolverVpcArrayOutput +} + +type GetIsVpcDnResolverVpcArray []GetIsVpcDnResolverVpcInput + +func (GetIsVpcDnResolverVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverVpc)(nil)).Elem() +} + +func (i GetIsVpcDnResolverVpcArray) ToGetIsVpcDnResolverVpcArrayOutput() GetIsVpcDnResolverVpcArrayOutput { + return i.ToGetIsVpcDnResolverVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverVpcArray) ToGetIsVpcDnResolverVpcArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverVpcArrayOutput) +} + +type GetIsVpcDnResolverVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverVpc)(nil)).Elem() +} + +func (o GetIsVpcDnResolverVpcOutput) ToGetIsVpcDnResolverVpcOutput() GetIsVpcDnResolverVpcOutput { + return o +} + +func (o GetIsVpcDnResolverVpcOutput) ToGetIsVpcDnResolverVpcOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVpcDnResolverVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVpcDnResolverVpcOutput) Deleteds() GetIsVpcDnResolverVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpc) []GetIsVpcDnResolverVpcDeleted { return v.Deleteds }).(GetIsVpcDnResolverVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsVpcDnResolverVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVpcDnResolverVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsVpcDnResolverVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsVpcDnResolverVpcOutput) Remotes() GetIsVpcDnResolverVpcRemoteArrayOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpc) []GetIsVpcDnResolverVpcRemote { return v.Remotes }).(GetIsVpcDnResolverVpcRemoteArrayOutput) +} + +// The resource type. +func (o GetIsVpcDnResolverVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcDnResolverVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverVpc)(nil)).Elem() +} + +func (o GetIsVpcDnResolverVpcArrayOutput) ToGetIsVpcDnResolverVpcArrayOutput() GetIsVpcDnResolverVpcArrayOutput { + return o +} + +func (o GetIsVpcDnResolverVpcArrayOutput) ToGetIsVpcDnResolverVpcArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcArrayOutput { + return o +} + +func (o GetIsVpcDnResolverVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnResolverVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnResolverVpc { + return vs[0].([]GetIsVpcDnResolverVpc)[vs[1].(int)] + }).(GetIsVpcDnResolverVpcOutput) +} + +type GetIsVpcDnResolverVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcDnResolverVpcDeletedInput is an input type that accepts GetIsVpcDnResolverVpcDeletedArgs and GetIsVpcDnResolverVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverVpcDeletedInput` via: +// +// GetIsVpcDnResolverVpcDeletedArgs{...} +type GetIsVpcDnResolverVpcDeletedInput interface { + pulumi.Input + + ToGetIsVpcDnResolverVpcDeletedOutput() GetIsVpcDnResolverVpcDeletedOutput + ToGetIsVpcDnResolverVpcDeletedOutputWithContext(context.Context) GetIsVpcDnResolverVpcDeletedOutput +} + +type GetIsVpcDnResolverVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcDnResolverVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpcDnResolverVpcDeletedArgs) ToGetIsVpcDnResolverVpcDeletedOutput() GetIsVpcDnResolverVpcDeletedOutput { + return i.ToGetIsVpcDnResolverVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverVpcDeletedArgs) ToGetIsVpcDnResolverVpcDeletedOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverVpcDeletedOutput) +} + +// GetIsVpcDnResolverVpcDeletedArrayInput is an input type that accepts GetIsVpcDnResolverVpcDeletedArray and GetIsVpcDnResolverVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverVpcDeletedArrayInput` via: +// +// GetIsVpcDnResolverVpcDeletedArray{ GetIsVpcDnResolverVpcDeletedArgs{...} } +type GetIsVpcDnResolverVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcDnResolverVpcDeletedArrayOutput() GetIsVpcDnResolverVpcDeletedArrayOutput + ToGetIsVpcDnResolverVpcDeletedArrayOutputWithContext(context.Context) GetIsVpcDnResolverVpcDeletedArrayOutput +} + +type GetIsVpcDnResolverVpcDeletedArray []GetIsVpcDnResolverVpcDeletedInput + +func (GetIsVpcDnResolverVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpcDnResolverVpcDeletedArray) ToGetIsVpcDnResolverVpcDeletedArrayOutput() GetIsVpcDnResolverVpcDeletedArrayOutput { + return i.ToGetIsVpcDnResolverVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverVpcDeletedArray) ToGetIsVpcDnResolverVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverVpcDeletedArrayOutput) +} + +type GetIsVpcDnResolverVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpcDnResolverVpcDeletedOutput) ToGetIsVpcDnResolverVpcDeletedOutput() GetIsVpcDnResolverVpcDeletedOutput { + return o +} + +func (o GetIsVpcDnResolverVpcDeletedOutput) ToGetIsVpcDnResolverVpcDeletedOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcDnResolverVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcDnResolverVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpcDnResolverVpcDeletedArrayOutput) ToGetIsVpcDnResolverVpcDeletedArrayOutput() GetIsVpcDnResolverVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpcDnResolverVpcDeletedArrayOutput) ToGetIsVpcDnResolverVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpcDnResolverVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnResolverVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnResolverVpcDeleted { + return vs[0].([]GetIsVpcDnResolverVpcDeleted)[vs[1].(int)] + }).(GetIsVpcDnResolverVpcDeletedOutput) +} + +type GetIsVpcDnResolverVpcRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsVpcDnResolverVpcRemoteAccount `pulumi:"accounts"` + // Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. + Region string `pulumi:"region"` +} + +// GetIsVpcDnResolverVpcRemoteInput is an input type that accepts GetIsVpcDnResolverVpcRemoteArgs and GetIsVpcDnResolverVpcRemoteOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverVpcRemoteInput` via: +// +// GetIsVpcDnResolverVpcRemoteArgs{...} +type GetIsVpcDnResolverVpcRemoteInput interface { + pulumi.Input + + ToGetIsVpcDnResolverVpcRemoteOutput() GetIsVpcDnResolverVpcRemoteOutput + ToGetIsVpcDnResolverVpcRemoteOutputWithContext(context.Context) GetIsVpcDnResolverVpcRemoteOutput +} + +type GetIsVpcDnResolverVpcRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsVpcDnResolverVpcRemoteAccountArrayInput `pulumi:"accounts"` + // Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. + Region pulumi.StringInput `pulumi:"region"` +} + +func (GetIsVpcDnResolverVpcRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverVpcRemote)(nil)).Elem() +} + +func (i GetIsVpcDnResolverVpcRemoteArgs) ToGetIsVpcDnResolverVpcRemoteOutput() GetIsVpcDnResolverVpcRemoteOutput { + return i.ToGetIsVpcDnResolverVpcRemoteOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverVpcRemoteArgs) ToGetIsVpcDnResolverVpcRemoteOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverVpcRemoteOutput) +} + +// GetIsVpcDnResolverVpcRemoteArrayInput is an input type that accepts GetIsVpcDnResolverVpcRemoteArray and GetIsVpcDnResolverVpcRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverVpcRemoteArrayInput` via: +// +// GetIsVpcDnResolverVpcRemoteArray{ GetIsVpcDnResolverVpcRemoteArgs{...} } +type GetIsVpcDnResolverVpcRemoteArrayInput interface { + pulumi.Input + + ToGetIsVpcDnResolverVpcRemoteArrayOutput() GetIsVpcDnResolverVpcRemoteArrayOutput + ToGetIsVpcDnResolverVpcRemoteArrayOutputWithContext(context.Context) GetIsVpcDnResolverVpcRemoteArrayOutput +} + +type GetIsVpcDnResolverVpcRemoteArray []GetIsVpcDnResolverVpcRemoteInput + +func (GetIsVpcDnResolverVpcRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverVpcRemote)(nil)).Elem() +} + +func (i GetIsVpcDnResolverVpcRemoteArray) ToGetIsVpcDnResolverVpcRemoteArrayOutput() GetIsVpcDnResolverVpcRemoteArrayOutput { + return i.ToGetIsVpcDnResolverVpcRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverVpcRemoteArray) ToGetIsVpcDnResolverVpcRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverVpcRemoteArrayOutput) +} + +type GetIsVpcDnResolverVpcRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverVpcRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverVpcRemote)(nil)).Elem() +} + +func (o GetIsVpcDnResolverVpcRemoteOutput) ToGetIsVpcDnResolverVpcRemoteOutput() GetIsVpcDnResolverVpcRemoteOutput { + return o +} + +func (o GetIsVpcDnResolverVpcRemoteOutput) ToGetIsVpcDnResolverVpcRemoteOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsVpcDnResolverVpcRemoteOutput) Accounts() GetIsVpcDnResolverVpcRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpcRemote) []GetIsVpcDnResolverVpcRemoteAccount { return v.Accounts }).(GetIsVpcDnResolverVpcRemoteAccountArrayOutput) +} + +// Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. +func (o GetIsVpcDnResolverVpcRemoteOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpcRemote) string { return v.Region }).(pulumi.StringOutput) +} + +type GetIsVpcDnResolverVpcRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverVpcRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverVpcRemote)(nil)).Elem() +} + +func (o GetIsVpcDnResolverVpcRemoteArrayOutput) ToGetIsVpcDnResolverVpcRemoteArrayOutput() GetIsVpcDnResolverVpcRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnResolverVpcRemoteArrayOutput) ToGetIsVpcDnResolverVpcRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnResolverVpcRemoteArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnResolverVpcRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnResolverVpcRemote { + return vs[0].([]GetIsVpcDnResolverVpcRemote)[vs[1].(int)] + }).(GetIsVpcDnResolverVpcRemoteOutput) +} + +type GetIsVpcDnResolverVpcRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnResolverVpcRemoteAccountInput is an input type that accepts GetIsVpcDnResolverVpcRemoteAccountArgs and GetIsVpcDnResolverVpcRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverVpcRemoteAccountInput` via: +// +// GetIsVpcDnResolverVpcRemoteAccountArgs{...} +type GetIsVpcDnResolverVpcRemoteAccountInput interface { + pulumi.Input + + ToGetIsVpcDnResolverVpcRemoteAccountOutput() GetIsVpcDnResolverVpcRemoteAccountOutput + ToGetIsVpcDnResolverVpcRemoteAccountOutputWithContext(context.Context) GetIsVpcDnResolverVpcRemoteAccountOutput +} + +type GetIsVpcDnResolverVpcRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnResolverVpcRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverVpcRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnResolverVpcRemoteAccountArgs) ToGetIsVpcDnResolverVpcRemoteAccountOutput() GetIsVpcDnResolverVpcRemoteAccountOutput { + return i.ToGetIsVpcDnResolverVpcRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverVpcRemoteAccountArgs) ToGetIsVpcDnResolverVpcRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverVpcRemoteAccountOutput) +} + +// GetIsVpcDnResolverVpcRemoteAccountArrayInput is an input type that accepts GetIsVpcDnResolverVpcRemoteAccountArray and GetIsVpcDnResolverVpcRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnResolverVpcRemoteAccountArrayInput` via: +// +// GetIsVpcDnResolverVpcRemoteAccountArray{ GetIsVpcDnResolverVpcRemoteAccountArgs{...} } +type GetIsVpcDnResolverVpcRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsVpcDnResolverVpcRemoteAccountArrayOutput() GetIsVpcDnResolverVpcRemoteAccountArrayOutput + ToGetIsVpcDnResolverVpcRemoteAccountArrayOutputWithContext(context.Context) GetIsVpcDnResolverVpcRemoteAccountArrayOutput +} + +type GetIsVpcDnResolverVpcRemoteAccountArray []GetIsVpcDnResolverVpcRemoteAccountInput + +func (GetIsVpcDnResolverVpcRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverVpcRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnResolverVpcRemoteAccountArray) ToGetIsVpcDnResolverVpcRemoteAccountArrayOutput() GetIsVpcDnResolverVpcRemoteAccountArrayOutput { + return i.ToGetIsVpcDnResolverVpcRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnResolverVpcRemoteAccountArray) ToGetIsVpcDnResolverVpcRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnResolverVpcRemoteAccountArrayOutput) +} + +type GetIsVpcDnResolverVpcRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverVpcRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnResolverVpcRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnResolverVpcRemoteAccountOutput) ToGetIsVpcDnResolverVpcRemoteAccountOutput() GetIsVpcDnResolverVpcRemoteAccountOutput { + return o +} + +func (o GetIsVpcDnResolverVpcRemoteAccountOutput) ToGetIsVpcDnResolverVpcRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsVpcDnResolverVpcRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpcRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcDnResolverVpcRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnResolverVpcRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcDnResolverVpcRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnResolverVpcRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnResolverVpcRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnResolverVpcRemoteAccountArrayOutput) ToGetIsVpcDnResolverVpcRemoteAccountArrayOutput() GetIsVpcDnResolverVpcRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnResolverVpcRemoteAccountArrayOutput) ToGetIsVpcDnResolverVpcRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnResolverVpcRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnResolverVpcRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnResolverVpcRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnResolverVpcRemoteAccount { + return vs[0].([]GetIsVpcDnResolverVpcRemoteAccount)[vs[1].(int)] + }).(GetIsVpcDnResolverVpcRemoteAccountOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGateway struct { + // The CRN for this endpoint gateway. + Crn string `pulumi:"crn"` + // The URL for this endpoint gateway. + Href string `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id string `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsVpcDnsResolutionBindingEndpointGatewayRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnsResolutionBindingEndpointGatewayInput is an input type that accepts GetIsVpcDnsResolutionBindingEndpointGatewayArgs and GetIsVpcDnsResolutionBindingEndpointGatewayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingEndpointGatewayInput` via: +// +// GetIsVpcDnsResolutionBindingEndpointGatewayArgs{...} +type GetIsVpcDnsResolutionBindingEndpointGatewayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingEndpointGatewayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayOutput + ToGetIsVpcDnsResolutionBindingEndpointGatewayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayOutput +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayArgs struct { + // The CRN for this endpoint gateway. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this endpoint gateway. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id pulumi.StringInput `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnsResolutionBindingEndpointGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayArgs) ToGetIsVpcDnsResolutionBindingEndpointGatewayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayOutput { + return i.ToGetIsVpcDnsResolutionBindingEndpointGatewayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayArgs) ToGetIsVpcDnsResolutionBindingEndpointGatewayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingEndpointGatewayOutput) +} + +// GetIsVpcDnsResolutionBindingEndpointGatewayArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingEndpointGatewayArray and GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingEndpointGatewayArrayInput` via: +// +// GetIsVpcDnsResolutionBindingEndpointGatewayArray{ GetIsVpcDnsResolutionBindingEndpointGatewayArgs{...} } +type GetIsVpcDnsResolutionBindingEndpointGatewayArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput + ToGetIsVpcDnsResolutionBindingEndpointGatewayArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayArray []GetIsVpcDnsResolutionBindingEndpointGatewayInput + +func (GetIsVpcDnsResolutionBindingEndpointGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayArray) ToGetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingEndpointGatewayArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayArray) ToGetIsVpcDnsResolutionBindingEndpointGatewayArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingEndpointGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayOutput { + return o +} + +// The CRN for this endpoint gateway. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGateway) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this endpoint gateway. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGateway) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this endpoint gateway. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGateway) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGateway) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayOutput) Remotes() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGateway) []GetIsVpcDnsResolutionBindingEndpointGatewayRemote { + return v.Remotes + }).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGateway) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingEndpointGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingEndpointGateway { + return vs[0].([]GetIsVpcDnsResolutionBindingEndpointGateway)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingEndpointGatewayOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion `pulumi:"regions"` +} + +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteInput is an input type that accepts GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArgs and GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingEndpointGatewayRemoteInput` via: +// +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArgs{...} +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArgs) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return i.ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArgs) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) +} + +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArray and GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput` via: +// +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArray{ GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArgs{...} } +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArray []GetIsVpcDnsResolutionBindingEndpointGatewayRemoteInput + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArray) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArray) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) Accounts() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGatewayRemote) []GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount { + return v.Accounts + }).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) Regions() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGatewayRemote) []GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion { + return v.Regions + }).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingEndpointGatewayRemote { + return vs[0].([]GetIsVpcDnsResolutionBindingEndpointGatewayRemote)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput is an input type that accepts GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs and GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput` via: +// +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs{...} +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return i.ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) +} + +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray and GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput` via: +// +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray{ GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs{...} } +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray []GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount { + return vs[0].([]GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccount)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput is an input type that accepts GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs and GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput` via: +// +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs{...} +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return i.ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) +} + +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray and GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput` via: +// +// GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray{ GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs{...} } +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput + ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray []GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ToGetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion { + return vs[0].([]GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegion)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput) +} + +type GetIsVpcDnsResolutionBindingHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcDnsResolutionBindingHealthReasonInput is an input type that accepts GetIsVpcDnsResolutionBindingHealthReasonArgs and GetIsVpcDnsResolutionBindingHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingHealthReasonInput` via: +// +// GetIsVpcDnsResolutionBindingHealthReasonArgs{...} +type GetIsVpcDnsResolutionBindingHealthReasonInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingHealthReasonOutput() GetIsVpcDnsResolutionBindingHealthReasonOutput + ToGetIsVpcDnsResolutionBindingHealthReasonOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingHealthReasonOutput +} + +type GetIsVpcDnsResolutionBindingHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcDnsResolutionBindingHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingHealthReasonArgs) ToGetIsVpcDnsResolutionBindingHealthReasonOutput() GetIsVpcDnsResolutionBindingHealthReasonOutput { + return i.ToGetIsVpcDnsResolutionBindingHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingHealthReasonArgs) ToGetIsVpcDnsResolutionBindingHealthReasonOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingHealthReasonOutput) +} + +// GetIsVpcDnsResolutionBindingHealthReasonArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingHealthReasonArray and GetIsVpcDnsResolutionBindingHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingHealthReasonArrayInput` via: +// +// GetIsVpcDnsResolutionBindingHealthReasonArray{ GetIsVpcDnsResolutionBindingHealthReasonArgs{...} } +type GetIsVpcDnsResolutionBindingHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingHealthReasonArrayOutput() GetIsVpcDnsResolutionBindingHealthReasonArrayOutput + ToGetIsVpcDnsResolutionBindingHealthReasonArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingHealthReasonArrayOutput +} + +type GetIsVpcDnsResolutionBindingHealthReasonArray []GetIsVpcDnsResolutionBindingHealthReasonInput + +func (GetIsVpcDnsResolutionBindingHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingHealthReasonArray) ToGetIsVpcDnsResolutionBindingHealthReasonArrayOutput() GetIsVpcDnsResolutionBindingHealthReasonArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingHealthReasonArray) ToGetIsVpcDnsResolutionBindingHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingHealthReasonArrayOutput) +} + +type GetIsVpcDnsResolutionBindingHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingHealthReasonOutput) ToGetIsVpcDnsResolutionBindingHealthReasonOutput() GetIsVpcDnsResolutionBindingHealthReasonOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingHealthReasonOutput) ToGetIsVpcDnsResolutionBindingHealthReasonOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpcDnsResolutionBindingHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpcDnsResolutionBindingHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpcDnsResolutionBindingHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingHealthReasonArrayOutput) ToGetIsVpcDnsResolutionBindingHealthReasonArrayOutput() GetIsVpcDnsResolutionBindingHealthReasonArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingHealthReasonArrayOutput) ToGetIsVpcDnsResolutionBindingHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingHealthReasonArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingHealthReason { + return vs[0].([]GetIsVpcDnsResolutionBindingHealthReason)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingHealthReasonOutput) +} + +type GetIsVpcDnsResolutionBindingVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsVpcDnsResolutionBindingVpcRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnsResolutionBindingVpcInput is an input type that accepts GetIsVpcDnsResolutionBindingVpcArgs and GetIsVpcDnsResolutionBindingVpcOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingVpcInput` via: +// +// GetIsVpcDnsResolutionBindingVpcArgs{...} +type GetIsVpcDnsResolutionBindingVpcInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingVpcOutput() GetIsVpcDnsResolutionBindingVpcOutput + ToGetIsVpcDnsResolutionBindingVpcOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingVpcOutput +} + +type GetIsVpcDnsResolutionBindingVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsVpcDnsResolutionBindingVpcRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnsResolutionBindingVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpc)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingVpcArgs) ToGetIsVpcDnsResolutionBindingVpcOutput() GetIsVpcDnsResolutionBindingVpcOutput { + return i.ToGetIsVpcDnsResolutionBindingVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingVpcArgs) ToGetIsVpcDnsResolutionBindingVpcOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingVpcOutput) +} + +// GetIsVpcDnsResolutionBindingVpcArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingVpcArray and GetIsVpcDnsResolutionBindingVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingVpcArrayInput` via: +// +// GetIsVpcDnsResolutionBindingVpcArray{ GetIsVpcDnsResolutionBindingVpcArgs{...} } +type GetIsVpcDnsResolutionBindingVpcArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingVpcArrayOutput() GetIsVpcDnsResolutionBindingVpcArrayOutput + ToGetIsVpcDnsResolutionBindingVpcArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingVpcArrayOutput +} + +type GetIsVpcDnsResolutionBindingVpcArray []GetIsVpcDnsResolutionBindingVpcInput + +func (GetIsVpcDnsResolutionBindingVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingVpc)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingVpcArray) ToGetIsVpcDnsResolutionBindingVpcArrayOutput() GetIsVpcDnsResolutionBindingVpcArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingVpcArray) ToGetIsVpcDnsResolutionBindingVpcArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingVpcArrayOutput) +} + +type GetIsVpcDnsResolutionBindingVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpc)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingVpcOutput) ToGetIsVpcDnsResolutionBindingVpcOutput() GetIsVpcDnsResolutionBindingVpcOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcOutput) ToGetIsVpcDnsResolutionBindingVpcOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVpcDnsResolutionBindingVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this VPC. +func (o GetIsVpcDnsResolutionBindingVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVpcDnsResolutionBindingVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsVpcDnsResolutionBindingVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsVpcDnsResolutionBindingVpcOutput) Remotes() GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpc) []GetIsVpcDnsResolutionBindingVpcRemote { return v.Remotes }).(GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingVpc)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingVpcArrayOutput) ToGetIsVpcDnsResolutionBindingVpcArrayOutput() GetIsVpcDnsResolutionBindingVpcArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcArrayOutput) ToGetIsVpcDnsResolutionBindingVpcArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingVpc { + return vs[0].([]GetIsVpcDnsResolutionBindingVpc)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingVpcOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsVpcDnsResolutionBindingVpcRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsVpcDnsResolutionBindingVpcRemoteRegion `pulumi:"regions"` +} + +// GetIsVpcDnsResolutionBindingVpcRemoteInput is an input type that accepts GetIsVpcDnsResolutionBindingVpcRemoteArgs and GetIsVpcDnsResolutionBindingVpcRemoteOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingVpcRemoteInput` via: +// +// GetIsVpcDnsResolutionBindingVpcRemoteArgs{...} +type GetIsVpcDnsResolutionBindingVpcRemoteInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingVpcRemoteOutput() GetIsVpcDnsResolutionBindingVpcRemoteOutput + ToGetIsVpcDnsResolutionBindingVpcRemoteOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingVpcRemoteOutput +} + +type GetIsVpcDnsResolutionBindingVpcRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsVpcDnsResolutionBindingVpcRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteArgs) ToGetIsVpcDnsResolutionBindingVpcRemoteOutput() GetIsVpcDnsResolutionBindingVpcRemoteOutput { + return i.ToGetIsVpcDnsResolutionBindingVpcRemoteOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteArgs) ToGetIsVpcDnsResolutionBindingVpcRemoteOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingVpcRemoteOutput) +} + +// GetIsVpcDnsResolutionBindingVpcRemoteArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingVpcRemoteArray and GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingVpcRemoteArrayInput` via: +// +// GetIsVpcDnsResolutionBindingVpcRemoteArray{ GetIsVpcDnsResolutionBindingVpcRemoteArgs{...} } +type GetIsVpcDnsResolutionBindingVpcRemoteArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingVpcRemoteArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput + ToGetIsVpcDnsResolutionBindingVpcRemoteArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput +} + +type GetIsVpcDnsResolutionBindingVpcRemoteArray []GetIsVpcDnsResolutionBindingVpcRemoteInput + +func (GetIsVpcDnsResolutionBindingVpcRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteArray) ToGetIsVpcDnsResolutionBindingVpcRemoteArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingVpcRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteArray) ToGetIsVpcDnsResolutionBindingVpcRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingVpcRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteOutput() GetIsVpcDnsResolutionBindingVpcRemoteOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsVpcDnsResolutionBindingVpcRemoteOutput) Accounts() GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpcRemote) []GetIsVpcDnsResolutionBindingVpcRemoteAccount { + return v.Accounts + }).(GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsVpcDnsResolutionBindingVpcRemoteOutput) Regions() GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpcRemote) []GetIsVpcDnsResolutionBindingVpcRemoteRegion { + return v.Regions + }).(GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingVpcRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingVpcRemote { + return vs[0].([]GetIsVpcDnsResolutionBindingVpcRemote)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingVpcRemoteOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnsResolutionBindingVpcRemoteAccountInput is an input type that accepts GetIsVpcDnsResolutionBindingVpcRemoteAccountArgs and GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingVpcRemoteAccountInput` via: +// +// GetIsVpcDnsResolutionBindingVpcRemoteAccountArgs{...} +type GetIsVpcDnsResolutionBindingVpcRemoteAccountInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingVpcRemoteAccountOutput() GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput + ToGetIsVpcDnsResolutionBindingVpcRemoteAccountOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput +} + +type GetIsVpcDnsResolutionBindingVpcRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnsResolutionBindingVpcRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteAccountArgs) ToGetIsVpcDnsResolutionBindingVpcRemoteAccountOutput() GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return i.ToGetIsVpcDnsResolutionBindingVpcRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteAccountArgs) ToGetIsVpcDnsResolutionBindingVpcRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput) +} + +// GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingVpcRemoteAccountArray and GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayInput` via: +// +// GetIsVpcDnsResolutionBindingVpcRemoteAccountArray{ GetIsVpcDnsResolutionBindingVpcRemoteAccountArgs{...} } +type GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput + ToGetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput +} + +type GetIsVpcDnsResolutionBindingVpcRemoteAccountArray []GetIsVpcDnsResolutionBindingVpcRemoteAccountInput + +func (GetIsVpcDnsResolutionBindingVpcRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteAccountArray) ToGetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteAccountArray) ToGetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteAccountOutput() GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpcRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpcRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingVpcRemoteAccount { + return vs[0].([]GetIsVpcDnsResolutionBindingVpcRemoteAccount)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemoteRegion struct { + // The URL for this region. + Href string `pulumi:"href"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsVpcDnsResolutionBindingVpcRemoteRegionInput is an input type that accepts GetIsVpcDnsResolutionBindingVpcRemoteRegionArgs and GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingVpcRemoteRegionInput` via: +// +// GetIsVpcDnsResolutionBindingVpcRemoteRegionArgs{...} +type GetIsVpcDnsResolutionBindingVpcRemoteRegionInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingVpcRemoteRegionOutput() GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput + ToGetIsVpcDnsResolutionBindingVpcRemoteRegionOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput +} + +type GetIsVpcDnsResolutionBindingVpcRemoteRegionArgs struct { + // The URL for this region. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcDnsResolutionBindingVpcRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteRegionArgs) ToGetIsVpcDnsResolutionBindingVpcRemoteRegionOutput() GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return i.ToGetIsVpcDnsResolutionBindingVpcRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteRegionArgs) ToGetIsVpcDnsResolutionBindingVpcRemoteRegionOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput) +} + +// GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingVpcRemoteRegionArray and GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayInput` via: +// +// GetIsVpcDnsResolutionBindingVpcRemoteRegionArray{ GetIsVpcDnsResolutionBindingVpcRemoteRegionArgs{...} } +type GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput + ToGetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput +} + +type GetIsVpcDnsResolutionBindingVpcRemoteRegionArray []GetIsVpcDnsResolutionBindingVpcRemoteRegionInput + +func (GetIsVpcDnsResolutionBindingVpcRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteRegionArray) ToGetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingVpcRemoteRegionArray) ToGetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteRegionOutput() GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteRegionOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpcRemoteRegion) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingVpcRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) ToGetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingVpcRemoteRegion { + return vs[0].([]GetIsVpcDnsResolutionBindingVpcRemoteRegion)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBinding struct { + // The date and time that the DNS resolution binding was created. + CreatedAt string `pulumi:"createdAt"` + // The endpoint gateways in the bound to VPC that are allowed to participate in this DNS resolution binding.The endpoint gateways may be remote and therefore may not be directly retrievable. + EndpointGateways []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway `pulumi:"endpointGateways"` + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons []GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState string `pulumi:"healthState"` + // The URL for this DNS resolution binding. + Href string `pulumi:"href"` + // The DNS resolution binding identifier. + Id string `pulumi:"id"` + // The lifecycle state of the DNS resolution binding. + LifecycleState string `pulumi:"lifecycleState"` + // The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. + Vpcs []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc `pulumi:"vpcs"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingArgs struct { + // The date and time that the DNS resolution binding was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The endpoint gateways in the bound to VPC that are allowed to participate in this DNS resolution binding.The endpoint gateways may be remote and therefore may not be directly retrievable. + EndpointGateways GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayInput `pulumi:"endpointGateways"` + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringInput `pulumi:"healthState"` + // The URL for this DNS resolution binding. + Href pulumi.StringInput `pulumi:"href"` + // The DNS resolution binding identifier. + Id pulumi.StringInput `pulumi:"id"` + // The lifecycle state of the DNS resolution binding. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. + Vpcs GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBinding)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBinding)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBinding)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput { + return o +} + +// The date and time that the DNS resolution binding was created. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The endpoint gateways in the bound to VPC that are allowed to participate in this DNS resolution binding.The endpoint gateways may be remote and therefore may not be directly retrievable. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) EndpointGateways() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway { + return v.EndpointGateways + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput) +} + +// The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) HealthReasons() GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason { + return v.HealthReasons + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this DNS resolution binding. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) string { return v.Href }).(pulumi.StringOutput) +} + +// The DNS resolution binding identifier. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) string { return v.Id }).(pulumi.StringOutput) +} + +// The lifecycle state of the DNS resolution binding. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The name for this DNS resolution binding. The name is unique across all DNS resolution bindings for the VPC. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The VPC bound to for DNS resolution.The VPC may be remote and therefore may not be directly retrievable. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) Vpcs() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBinding) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc { + return v.Vpcs + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBinding)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBinding { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBinding)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway struct { + // The CRN for this endpoint gateway. + Crn string `pulumi:"crn"` + // The URL for this endpoint gateway. + Href string `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id string `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArgs struct { + // The CRN for this endpoint gateway. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this endpoint gateway. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this endpoint gateway. + Id pulumi.StringInput `pulumi:"id"` + // The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput { + return o +} + +// The CRN for this endpoint gateway. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this endpoint gateway. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this endpoint gateway. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this endpoint gateway. The name is unique across all endpoint gateways in the VPC. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) Remotes() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote { + return v.Remotes + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGateway)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion `pulumi:"regions"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput) Accounts() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount { + return v.Accounts + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput) Regions() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion { + return v.Regions + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemote)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccount)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion struct { + // The URL for this region. + Id string `pulumi:"id"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArgs struct { + // The URL for this region. + Id pulumi.StringInput `pulumi:"id"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion) string { + return v.Id + }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion) string { + return v.Name + }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegion)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReason)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// The URL for this VPC. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) Remotes() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote { + return v.Remotes + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpc)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion `pulumi:"regions"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayInput `pulumi:"accounts"` + // If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. + Regions GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayInput `pulumi:"regions"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput) Accounts() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount { + return v.Accounts + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput) +} + +// If present, this property indicates that the referenced resource is remote to thisregion, and identifies the native region. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput) Regions() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote) []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion { + return v.Regions + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemote)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount) string { + return v.ResourceType + }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccount)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion struct { + // The URL for this region. + Id string `pulumi:"id"` + // The globally unique name for this region. + Name string `pulumi:"name"` +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArgs and GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArgs{...} +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArgs struct { + // The URL for this region. + Id pulumi.StringInput `pulumi:"id"` + // The globally unique name for this region. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArgs) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput) +} + +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayInput is an input type that accepts GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArray and GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput values. +// You can construct a concrete instance of `GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayInput` via: +// +// GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArray{ GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArgs{...} } +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayInput interface { + pulumi.Input + + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput + ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArray []GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionInput + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput { + return i.ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArray) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput { + return o +} + +// The URL for this region. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion) string { return v.Id }).(pulumi.StringOutput) +} + +// The globally unique name for this region. +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion)(nil)).Elem() +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput() GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput) ToGetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutputWithContext(ctx context.Context) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput { + return o +} + +func (o GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput) Index(i pulumi.IntInput) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion { + return vs[0].([]GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegion)[vs[1].(int)] + }).(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput) +} + +type GetIsVpcHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcHealthReasonInput is an input type that accepts GetIsVpcHealthReasonArgs and GetIsVpcHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpcHealthReasonInput` via: +// +// GetIsVpcHealthReasonArgs{...} +type GetIsVpcHealthReasonInput interface { + pulumi.Input + + ToGetIsVpcHealthReasonOutput() GetIsVpcHealthReasonOutput + ToGetIsVpcHealthReasonOutputWithContext(context.Context) GetIsVpcHealthReasonOutput +} + +type GetIsVpcHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcHealthReason)(nil)).Elem() +} + +func (i GetIsVpcHealthReasonArgs) ToGetIsVpcHealthReasonOutput() GetIsVpcHealthReasonOutput { + return i.ToGetIsVpcHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpcHealthReasonArgs) ToGetIsVpcHealthReasonOutputWithContext(ctx context.Context) GetIsVpcHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcHealthReasonOutput) +} + +// GetIsVpcHealthReasonArrayInput is an input type that accepts GetIsVpcHealthReasonArray and GetIsVpcHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpcHealthReasonArrayInput` via: +// +// GetIsVpcHealthReasonArray{ GetIsVpcHealthReasonArgs{...} } +type GetIsVpcHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpcHealthReasonArrayOutput() GetIsVpcHealthReasonArrayOutput + ToGetIsVpcHealthReasonArrayOutputWithContext(context.Context) GetIsVpcHealthReasonArrayOutput +} + +type GetIsVpcHealthReasonArray []GetIsVpcHealthReasonInput + +func (GetIsVpcHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcHealthReason)(nil)).Elem() +} + +func (i GetIsVpcHealthReasonArray) ToGetIsVpcHealthReasonArrayOutput() GetIsVpcHealthReasonArrayOutput { + return i.ToGetIsVpcHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcHealthReasonArray) ToGetIsVpcHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpcHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcHealthReasonArrayOutput) +} + +type GetIsVpcHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpcHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcHealthReason)(nil)).Elem() +} + +func (o GetIsVpcHealthReasonOutput) ToGetIsVpcHealthReasonOutput() GetIsVpcHealthReasonOutput { + return o +} + +func (o GetIsVpcHealthReasonOutput) ToGetIsVpcHealthReasonOutputWithContext(ctx context.Context) GetIsVpcHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpcHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpcHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpcHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcHealthReason)(nil)).Elem() +} + +func (o GetIsVpcHealthReasonArrayOutput) ToGetIsVpcHealthReasonArrayOutput() GetIsVpcHealthReasonArrayOutput { + return o +} + +func (o GetIsVpcHealthReasonArrayOutput) ToGetIsVpcHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpcHealthReasonArrayOutput { + return o +} + +func (o GetIsVpcHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpcHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcHealthReason { + return vs[0].([]GetIsVpcHealthReason)[vs[1].(int)] + }).(GetIsVpcHealthReasonOutput) +} + +type GetIsVpcPublicAddressRange struct { + // The CRN for this public address range. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVpcPublicAddressRangeDeleted `pulumi:"deleteds"` + // The URL for this public address range. + Href string `pulumi:"href"` + // The unique identifier for this public address range. + Id string `pulumi:"id"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcPublicAddressRangeInput is an input type that accepts GetIsVpcPublicAddressRangeArgs and GetIsVpcPublicAddressRangeOutput values. +// You can construct a concrete instance of `GetIsVpcPublicAddressRangeInput` via: +// +// GetIsVpcPublicAddressRangeArgs{...} +type GetIsVpcPublicAddressRangeInput interface { + pulumi.Input + + ToGetIsVpcPublicAddressRangeOutput() GetIsVpcPublicAddressRangeOutput + ToGetIsVpcPublicAddressRangeOutputWithContext(context.Context) GetIsVpcPublicAddressRangeOutput +} + +type GetIsVpcPublicAddressRangeArgs struct { + // The CRN for this public address range. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVpcPublicAddressRangeDeletedArrayInput `pulumi:"deleteds"` + // The URL for this public address range. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this public address range. + Id pulumi.StringInput `pulumi:"id"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcPublicAddressRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcPublicAddressRange)(nil)).Elem() +} + +func (i GetIsVpcPublicAddressRangeArgs) ToGetIsVpcPublicAddressRangeOutput() GetIsVpcPublicAddressRangeOutput { + return i.ToGetIsVpcPublicAddressRangeOutputWithContext(context.Background()) +} + +func (i GetIsVpcPublicAddressRangeArgs) ToGetIsVpcPublicAddressRangeOutputWithContext(ctx context.Context) GetIsVpcPublicAddressRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcPublicAddressRangeOutput) +} + +// GetIsVpcPublicAddressRangeArrayInput is an input type that accepts GetIsVpcPublicAddressRangeArray and GetIsVpcPublicAddressRangeArrayOutput values. +// You can construct a concrete instance of `GetIsVpcPublicAddressRangeArrayInput` via: +// +// GetIsVpcPublicAddressRangeArray{ GetIsVpcPublicAddressRangeArgs{...} } +type GetIsVpcPublicAddressRangeArrayInput interface { + pulumi.Input + + ToGetIsVpcPublicAddressRangeArrayOutput() GetIsVpcPublicAddressRangeArrayOutput + ToGetIsVpcPublicAddressRangeArrayOutputWithContext(context.Context) GetIsVpcPublicAddressRangeArrayOutput +} + +type GetIsVpcPublicAddressRangeArray []GetIsVpcPublicAddressRangeInput + +func (GetIsVpcPublicAddressRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcPublicAddressRange)(nil)).Elem() +} + +func (i GetIsVpcPublicAddressRangeArray) ToGetIsVpcPublicAddressRangeArrayOutput() GetIsVpcPublicAddressRangeArrayOutput { + return i.ToGetIsVpcPublicAddressRangeArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcPublicAddressRangeArray) ToGetIsVpcPublicAddressRangeArrayOutputWithContext(ctx context.Context) GetIsVpcPublicAddressRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcPublicAddressRangeArrayOutput) +} + +type GetIsVpcPublicAddressRangeOutput struct{ *pulumi.OutputState } + +func (GetIsVpcPublicAddressRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcPublicAddressRange)(nil)).Elem() +} + +func (o GetIsVpcPublicAddressRangeOutput) ToGetIsVpcPublicAddressRangeOutput() GetIsVpcPublicAddressRangeOutput { + return o +} + +func (o GetIsVpcPublicAddressRangeOutput) ToGetIsVpcPublicAddressRangeOutputWithContext(ctx context.Context) GetIsVpcPublicAddressRangeOutput { + return o +} + +// The CRN for this public address range. +func (o GetIsVpcPublicAddressRangeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcPublicAddressRange) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVpcPublicAddressRangeOutput) Deleteds() GetIsVpcPublicAddressRangeDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcPublicAddressRange) []GetIsVpcPublicAddressRangeDeleted { return v.Deleteds }).(GetIsVpcPublicAddressRangeDeletedArrayOutput) +} + +// The URL for this public address range. +func (o GetIsVpcPublicAddressRangeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcPublicAddressRange) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this public address range. +func (o GetIsVpcPublicAddressRangeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcPublicAddressRange) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this public address range. The name is unique across all public address ranges in the region. +func (o GetIsVpcPublicAddressRangeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcPublicAddressRange) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcPublicAddressRangeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcPublicAddressRange) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcPublicAddressRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcPublicAddressRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcPublicAddressRange)(nil)).Elem() +} + +func (o GetIsVpcPublicAddressRangeArrayOutput) ToGetIsVpcPublicAddressRangeArrayOutput() GetIsVpcPublicAddressRangeArrayOutput { + return o +} + +func (o GetIsVpcPublicAddressRangeArrayOutput) ToGetIsVpcPublicAddressRangeArrayOutputWithContext(ctx context.Context) GetIsVpcPublicAddressRangeArrayOutput { + return o +} + +func (o GetIsVpcPublicAddressRangeArrayOutput) Index(i pulumi.IntInput) GetIsVpcPublicAddressRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcPublicAddressRange { + return vs[0].([]GetIsVpcPublicAddressRange)[vs[1].(int)] + }).(GetIsVpcPublicAddressRangeOutput) +} + +type GetIsVpcPublicAddressRangeDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcPublicAddressRangeDeletedInput is an input type that accepts GetIsVpcPublicAddressRangeDeletedArgs and GetIsVpcPublicAddressRangeDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcPublicAddressRangeDeletedInput` via: +// +// GetIsVpcPublicAddressRangeDeletedArgs{...} +type GetIsVpcPublicAddressRangeDeletedInput interface { + pulumi.Input + + ToGetIsVpcPublicAddressRangeDeletedOutput() GetIsVpcPublicAddressRangeDeletedOutput + ToGetIsVpcPublicAddressRangeDeletedOutputWithContext(context.Context) GetIsVpcPublicAddressRangeDeletedOutput +} + +type GetIsVpcPublicAddressRangeDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcPublicAddressRangeDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (i GetIsVpcPublicAddressRangeDeletedArgs) ToGetIsVpcPublicAddressRangeDeletedOutput() GetIsVpcPublicAddressRangeDeletedOutput { + return i.ToGetIsVpcPublicAddressRangeDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcPublicAddressRangeDeletedArgs) ToGetIsVpcPublicAddressRangeDeletedOutputWithContext(ctx context.Context) GetIsVpcPublicAddressRangeDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcPublicAddressRangeDeletedOutput) +} + +// GetIsVpcPublicAddressRangeDeletedArrayInput is an input type that accepts GetIsVpcPublicAddressRangeDeletedArray and GetIsVpcPublicAddressRangeDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcPublicAddressRangeDeletedArrayInput` via: +// +// GetIsVpcPublicAddressRangeDeletedArray{ GetIsVpcPublicAddressRangeDeletedArgs{...} } +type GetIsVpcPublicAddressRangeDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcPublicAddressRangeDeletedArrayOutput() GetIsVpcPublicAddressRangeDeletedArrayOutput + ToGetIsVpcPublicAddressRangeDeletedArrayOutputWithContext(context.Context) GetIsVpcPublicAddressRangeDeletedArrayOutput +} + +type GetIsVpcPublicAddressRangeDeletedArray []GetIsVpcPublicAddressRangeDeletedInput + +func (GetIsVpcPublicAddressRangeDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (i GetIsVpcPublicAddressRangeDeletedArray) ToGetIsVpcPublicAddressRangeDeletedArrayOutput() GetIsVpcPublicAddressRangeDeletedArrayOutput { + return i.ToGetIsVpcPublicAddressRangeDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcPublicAddressRangeDeletedArray) ToGetIsVpcPublicAddressRangeDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcPublicAddressRangeDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcPublicAddressRangeDeletedArrayOutput) +} + +type GetIsVpcPublicAddressRangeDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcPublicAddressRangeDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (o GetIsVpcPublicAddressRangeDeletedOutput) ToGetIsVpcPublicAddressRangeDeletedOutput() GetIsVpcPublicAddressRangeDeletedOutput { + return o +} + +func (o GetIsVpcPublicAddressRangeDeletedOutput) ToGetIsVpcPublicAddressRangeDeletedOutputWithContext(ctx context.Context) GetIsVpcPublicAddressRangeDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcPublicAddressRangeDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcPublicAddressRangeDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcPublicAddressRangeDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcPublicAddressRangeDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (o GetIsVpcPublicAddressRangeDeletedArrayOutput) ToGetIsVpcPublicAddressRangeDeletedArrayOutput() GetIsVpcPublicAddressRangeDeletedArrayOutput { + return o +} + +func (o GetIsVpcPublicAddressRangeDeletedArrayOutput) ToGetIsVpcPublicAddressRangeDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcPublicAddressRangeDeletedArrayOutput { + return o +} + +func (o GetIsVpcPublicAddressRangeDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcPublicAddressRangeDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcPublicAddressRangeDeleted { + return vs[0].([]GetIsVpcPublicAddressRangeDeleted)[vs[1].(int)] + }).(GetIsVpcPublicAddressRangeDeletedOutput) +} + +type GetIsVpcRoutingTableAcceptRoutesFrom struct { + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcRoutingTableAcceptRoutesFromInput is an input type that accepts GetIsVpcRoutingTableAcceptRoutesFromArgs and GetIsVpcRoutingTableAcceptRoutesFromOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableAcceptRoutesFromInput` via: +// +// GetIsVpcRoutingTableAcceptRoutesFromArgs{...} +type GetIsVpcRoutingTableAcceptRoutesFromInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableAcceptRoutesFromOutput() GetIsVpcRoutingTableAcceptRoutesFromOutput + ToGetIsVpcRoutingTableAcceptRoutesFromOutputWithContext(context.Context) GetIsVpcRoutingTableAcceptRoutesFromOutput +} + +type GetIsVpcRoutingTableAcceptRoutesFromArgs struct { + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcRoutingTableAcceptRoutesFromArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableAcceptRoutesFrom)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableAcceptRoutesFromArgs) ToGetIsVpcRoutingTableAcceptRoutesFromOutput() GetIsVpcRoutingTableAcceptRoutesFromOutput { + return i.ToGetIsVpcRoutingTableAcceptRoutesFromOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableAcceptRoutesFromArgs) ToGetIsVpcRoutingTableAcceptRoutesFromOutputWithContext(ctx context.Context) GetIsVpcRoutingTableAcceptRoutesFromOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableAcceptRoutesFromOutput) +} + +// GetIsVpcRoutingTableAcceptRoutesFromArrayInput is an input type that accepts GetIsVpcRoutingTableAcceptRoutesFromArray and GetIsVpcRoutingTableAcceptRoutesFromArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableAcceptRoutesFromArrayInput` via: +// +// GetIsVpcRoutingTableAcceptRoutesFromArray{ GetIsVpcRoutingTableAcceptRoutesFromArgs{...} } +type GetIsVpcRoutingTableAcceptRoutesFromArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableAcceptRoutesFromArrayOutput() GetIsVpcRoutingTableAcceptRoutesFromArrayOutput + ToGetIsVpcRoutingTableAcceptRoutesFromArrayOutputWithContext(context.Context) GetIsVpcRoutingTableAcceptRoutesFromArrayOutput +} + +type GetIsVpcRoutingTableAcceptRoutesFromArray []GetIsVpcRoutingTableAcceptRoutesFromInput + +func (GetIsVpcRoutingTableAcceptRoutesFromArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableAcceptRoutesFrom)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableAcceptRoutesFromArray) ToGetIsVpcRoutingTableAcceptRoutesFromArrayOutput() GetIsVpcRoutingTableAcceptRoutesFromArrayOutput { + return i.ToGetIsVpcRoutingTableAcceptRoutesFromArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableAcceptRoutesFromArray) ToGetIsVpcRoutingTableAcceptRoutesFromArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableAcceptRoutesFromArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableAcceptRoutesFromArrayOutput) +} + +type GetIsVpcRoutingTableAcceptRoutesFromOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableAcceptRoutesFromOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableAcceptRoutesFrom)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableAcceptRoutesFromOutput) ToGetIsVpcRoutingTableAcceptRoutesFromOutput() GetIsVpcRoutingTableAcceptRoutesFromOutput { + return o +} + +func (o GetIsVpcRoutingTableAcceptRoutesFromOutput) ToGetIsVpcRoutingTableAcceptRoutesFromOutputWithContext(ctx context.Context) GetIsVpcRoutingTableAcceptRoutesFromOutput { + return o +} + +// The resource type. +func (o GetIsVpcRoutingTableAcceptRoutesFromOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableAcceptRoutesFrom) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableAcceptRoutesFromArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableAcceptRoutesFromArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableAcceptRoutesFrom)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableAcceptRoutesFromArrayOutput) ToGetIsVpcRoutingTableAcceptRoutesFromArrayOutput() GetIsVpcRoutingTableAcceptRoutesFromArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableAcceptRoutesFromArrayOutput) ToGetIsVpcRoutingTableAcceptRoutesFromArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableAcceptRoutesFromArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableAcceptRoutesFromArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableAcceptRoutesFromOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableAcceptRoutesFrom { + return vs[0].([]GetIsVpcRoutingTableAcceptRoutesFrom)[vs[1].(int)] + }).(GetIsVpcRoutingTableAcceptRoutesFromOutput) +} + +type GetIsVpcRoutingTableResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVpcRoutingTableResourceGroupInput is an input type that accepts GetIsVpcRoutingTableResourceGroupArgs and GetIsVpcRoutingTableResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableResourceGroupInput` via: +// +// GetIsVpcRoutingTableResourceGroupArgs{...} +type GetIsVpcRoutingTableResourceGroupInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableResourceGroupOutput() GetIsVpcRoutingTableResourceGroupOutput + ToGetIsVpcRoutingTableResourceGroupOutputWithContext(context.Context) GetIsVpcRoutingTableResourceGroupOutput +} + +type GetIsVpcRoutingTableResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcRoutingTableResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableResourceGroup)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableResourceGroupArgs) ToGetIsVpcRoutingTableResourceGroupOutput() GetIsVpcRoutingTableResourceGroupOutput { + return i.ToGetIsVpcRoutingTableResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableResourceGroupArgs) ToGetIsVpcRoutingTableResourceGroupOutputWithContext(ctx context.Context) GetIsVpcRoutingTableResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableResourceGroupOutput) +} + +// GetIsVpcRoutingTableResourceGroupArrayInput is an input type that accepts GetIsVpcRoutingTableResourceGroupArray and GetIsVpcRoutingTableResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableResourceGroupArrayInput` via: +// +// GetIsVpcRoutingTableResourceGroupArray{ GetIsVpcRoutingTableResourceGroupArgs{...} } +type GetIsVpcRoutingTableResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableResourceGroupArrayOutput() GetIsVpcRoutingTableResourceGroupArrayOutput + ToGetIsVpcRoutingTableResourceGroupArrayOutputWithContext(context.Context) GetIsVpcRoutingTableResourceGroupArrayOutput +} + +type GetIsVpcRoutingTableResourceGroupArray []GetIsVpcRoutingTableResourceGroupInput + +func (GetIsVpcRoutingTableResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableResourceGroup)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableResourceGroupArray) ToGetIsVpcRoutingTableResourceGroupArrayOutput() GetIsVpcRoutingTableResourceGroupArrayOutput { + return i.ToGetIsVpcRoutingTableResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableResourceGroupArray) ToGetIsVpcRoutingTableResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableResourceGroupArrayOutput) +} + +type GetIsVpcRoutingTableResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableResourceGroup)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableResourceGroupOutput) ToGetIsVpcRoutingTableResourceGroupOutput() GetIsVpcRoutingTableResourceGroupOutput { + return o +} + +func (o GetIsVpcRoutingTableResourceGroupOutput) ToGetIsVpcRoutingTableResourceGroupOutputWithContext(ctx context.Context) GetIsVpcRoutingTableResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVpcRoutingTableResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVpcRoutingTableResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsVpcRoutingTableResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableResourceGroup)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableResourceGroupArrayOutput) ToGetIsVpcRoutingTableResourceGroupArrayOutput() GetIsVpcRoutingTableResourceGroupArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableResourceGroupArrayOutput) ToGetIsVpcRoutingTableResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableResourceGroupArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableResourceGroup { + return vs[0].([]GetIsVpcRoutingTableResourceGroup)[vs[1].(int)] + }).(GetIsVpcRoutingTableResourceGroupOutput) +} + +type GetIsVpcRoutingTableRouteType struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpcRoutingTableRouteDeleted `pulumi:"deleteds"` + // The URL for this route. + Href string `pulumi:"href"` + // The unique identifier for this route. + Id string `pulumi:"id"` + // The user-defined name for this route. + Name string `pulumi:"name"` +} + +// GetIsVpcRoutingTableRouteTypeInput is an input type that accepts GetIsVpcRoutingTableRouteTypeArgs and GetIsVpcRoutingTableRouteTypeOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteTypeInput` via: +// +// GetIsVpcRoutingTableRouteTypeArgs{...} +type GetIsVpcRoutingTableRouteTypeInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteTypeOutput() GetIsVpcRoutingTableRouteTypeOutput + ToGetIsVpcRoutingTableRouteTypeOutputWithContext(context.Context) GetIsVpcRoutingTableRouteTypeOutput +} + +type GetIsVpcRoutingTableRouteTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpcRoutingTableRouteDeletedArrayInput `pulumi:"deleteds"` + // The URL for this route. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this route. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcRoutingTableRouteTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteType)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteTypeArgs) ToGetIsVpcRoutingTableRouteTypeOutput() GetIsVpcRoutingTableRouteTypeOutput { + return i.ToGetIsVpcRoutingTableRouteTypeOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteTypeArgs) ToGetIsVpcRoutingTableRouteTypeOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteTypeOutput) +} + +// GetIsVpcRoutingTableRouteTypeArrayInput is an input type that accepts GetIsVpcRoutingTableRouteTypeArray and GetIsVpcRoutingTableRouteTypeArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteTypeArrayInput` via: +// +// GetIsVpcRoutingTableRouteTypeArray{ GetIsVpcRoutingTableRouteTypeArgs{...} } +type GetIsVpcRoutingTableRouteTypeArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteTypeArrayOutput() GetIsVpcRoutingTableRouteTypeArrayOutput + ToGetIsVpcRoutingTableRouteTypeArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRouteTypeArrayOutput +} + +type GetIsVpcRoutingTableRouteTypeArray []GetIsVpcRoutingTableRouteTypeInput + +func (GetIsVpcRoutingTableRouteTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteType)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteTypeArray) ToGetIsVpcRoutingTableRouteTypeArrayOutput() GetIsVpcRoutingTableRouteTypeArrayOutput { + return i.ToGetIsVpcRoutingTableRouteTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteTypeArray) ToGetIsVpcRoutingTableRouteTypeArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteTypeArrayOutput) +} + +type GetIsVpcRoutingTableRouteTypeOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteType)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteTypeOutput) ToGetIsVpcRoutingTableRouteTypeOutput() GetIsVpcRoutingTableRouteTypeOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteTypeOutput) ToGetIsVpcRoutingTableRouteTypeOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpcRoutingTableRouteTypeOutput) Deleteds() GetIsVpcRoutingTableRouteDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteType) []GetIsVpcRoutingTableRouteDeleted { return v.Deleteds }).(GetIsVpcRoutingTableRouteDeletedArrayOutput) +} + +// The URL for this route. +func (o GetIsVpcRoutingTableRouteTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this route. +func (o GetIsVpcRoutingTableRouteTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteType) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this route. +func (o GetIsVpcRoutingTableRouteTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteType) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRouteTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteType)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteTypeArrayOutput) ToGetIsVpcRoutingTableRouteTypeArrayOutput() GetIsVpcRoutingTableRouteTypeArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteTypeArrayOutput) ToGetIsVpcRoutingTableRouteTypeArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteTypeArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteTypeArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRouteTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRouteType { + return vs[0].([]GetIsVpcRoutingTableRouteType)[vs[1].(int)] + }).(GetIsVpcRoutingTableRouteTypeOutput) +} + +type GetIsVpcRoutingTableRouteCreator struct { + // The VPN gateway's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpcRoutingTableRouteCreatorDeleted `pulumi:"deleteds"` + // The VPN gateway's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway. + Id string `pulumi:"id"` + // The user-defined name for this VPN gateway. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcRoutingTableRouteCreatorInput is an input type that accepts GetIsVpcRoutingTableRouteCreatorArgs and GetIsVpcRoutingTableRouteCreatorOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteCreatorInput` via: +// +// GetIsVpcRoutingTableRouteCreatorArgs{...} +type GetIsVpcRoutingTableRouteCreatorInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteCreatorOutput() GetIsVpcRoutingTableRouteCreatorOutput + ToGetIsVpcRoutingTableRouteCreatorOutputWithContext(context.Context) GetIsVpcRoutingTableRouteCreatorOutput +} + +type GetIsVpcRoutingTableRouteCreatorArgs struct { + // The VPN gateway's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpcRoutingTableRouteCreatorDeletedArrayInput `pulumi:"deleteds"` + // The VPN gateway's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this VPN gateway. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcRoutingTableRouteCreatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteCreator)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteCreatorArgs) ToGetIsVpcRoutingTableRouteCreatorOutput() GetIsVpcRoutingTableRouteCreatorOutput { + return i.ToGetIsVpcRoutingTableRouteCreatorOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteCreatorArgs) ToGetIsVpcRoutingTableRouteCreatorOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteCreatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteCreatorOutput) +} + +// GetIsVpcRoutingTableRouteCreatorArrayInput is an input type that accepts GetIsVpcRoutingTableRouteCreatorArray and GetIsVpcRoutingTableRouteCreatorArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteCreatorArrayInput` via: +// +// GetIsVpcRoutingTableRouteCreatorArray{ GetIsVpcRoutingTableRouteCreatorArgs{...} } +type GetIsVpcRoutingTableRouteCreatorArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteCreatorArrayOutput() GetIsVpcRoutingTableRouteCreatorArrayOutput + ToGetIsVpcRoutingTableRouteCreatorArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRouteCreatorArrayOutput +} + +type GetIsVpcRoutingTableRouteCreatorArray []GetIsVpcRoutingTableRouteCreatorInput + +func (GetIsVpcRoutingTableRouteCreatorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteCreator)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteCreatorArray) ToGetIsVpcRoutingTableRouteCreatorArrayOutput() GetIsVpcRoutingTableRouteCreatorArrayOutput { + return i.ToGetIsVpcRoutingTableRouteCreatorArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteCreatorArray) ToGetIsVpcRoutingTableRouteCreatorArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteCreatorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteCreatorArrayOutput) +} + +type GetIsVpcRoutingTableRouteCreatorOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteCreatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteCreator)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteCreatorOutput) ToGetIsVpcRoutingTableRouteCreatorOutput() GetIsVpcRoutingTableRouteCreatorOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteCreatorOutput) ToGetIsVpcRoutingTableRouteCreatorOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteCreatorOutput { + return o +} + +// The VPN gateway's CRN. +func (o GetIsVpcRoutingTableRouteCreatorOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteCreator) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpcRoutingTableRouteCreatorOutput) Deleteds() GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteCreator) []GetIsVpcRoutingTableRouteCreatorDeleted { return v.Deleteds }).(GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput) +} + +// The VPN gateway's canonical URL. +func (o GetIsVpcRoutingTableRouteCreatorOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteCreator) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway. +func (o GetIsVpcRoutingTableRouteCreatorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteCreator) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN gateway. +func (o GetIsVpcRoutingTableRouteCreatorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteCreator) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcRoutingTableRouteCreatorOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteCreator) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRouteCreatorArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteCreatorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteCreator)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteCreatorArrayOutput) ToGetIsVpcRoutingTableRouteCreatorArrayOutput() GetIsVpcRoutingTableRouteCreatorArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteCreatorArrayOutput) ToGetIsVpcRoutingTableRouteCreatorArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteCreatorArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteCreatorArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRouteCreatorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRouteCreator { + return vs[0].([]GetIsVpcRoutingTableRouteCreator)[vs[1].(int)] + }).(GetIsVpcRoutingTableRouteCreatorOutput) +} + +type GetIsVpcRoutingTableRouteCreatorDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcRoutingTableRouteCreatorDeletedInput is an input type that accepts GetIsVpcRoutingTableRouteCreatorDeletedArgs and GetIsVpcRoutingTableRouteCreatorDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteCreatorDeletedInput` via: +// +// GetIsVpcRoutingTableRouteCreatorDeletedArgs{...} +type GetIsVpcRoutingTableRouteCreatorDeletedInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteCreatorDeletedOutput() GetIsVpcRoutingTableRouteCreatorDeletedOutput + ToGetIsVpcRoutingTableRouteCreatorDeletedOutputWithContext(context.Context) GetIsVpcRoutingTableRouteCreatorDeletedOutput +} + +type GetIsVpcRoutingTableRouteCreatorDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcRoutingTableRouteCreatorDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteCreatorDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteCreatorDeletedArgs) ToGetIsVpcRoutingTableRouteCreatorDeletedOutput() GetIsVpcRoutingTableRouteCreatorDeletedOutput { + return i.ToGetIsVpcRoutingTableRouteCreatorDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteCreatorDeletedArgs) ToGetIsVpcRoutingTableRouteCreatorDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteCreatorDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteCreatorDeletedOutput) +} + +// GetIsVpcRoutingTableRouteCreatorDeletedArrayInput is an input type that accepts GetIsVpcRoutingTableRouteCreatorDeletedArray and GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteCreatorDeletedArrayInput` via: +// +// GetIsVpcRoutingTableRouteCreatorDeletedArray{ GetIsVpcRoutingTableRouteCreatorDeletedArgs{...} } +type GetIsVpcRoutingTableRouteCreatorDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteCreatorDeletedArrayOutput() GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput + ToGetIsVpcRoutingTableRouteCreatorDeletedArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput +} + +type GetIsVpcRoutingTableRouteCreatorDeletedArray []GetIsVpcRoutingTableRouteCreatorDeletedInput + +func (GetIsVpcRoutingTableRouteCreatorDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteCreatorDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteCreatorDeletedArray) ToGetIsVpcRoutingTableRouteCreatorDeletedArrayOutput() GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return i.ToGetIsVpcRoutingTableRouteCreatorDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteCreatorDeletedArray) ToGetIsVpcRoutingTableRouteCreatorDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput) +} + +type GetIsVpcRoutingTableRouteCreatorDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteCreatorDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteCreatorDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteCreatorDeletedOutput) ToGetIsVpcRoutingTableRouteCreatorDeletedOutput() GetIsVpcRoutingTableRouteCreatorDeletedOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteCreatorDeletedOutput) ToGetIsVpcRoutingTableRouteCreatorDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteCreatorDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcRoutingTableRouteCreatorDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteCreatorDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteCreatorDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput) ToGetIsVpcRoutingTableRouteCreatorDeletedArrayOutput() GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput) ToGetIsVpcRoutingTableRouteCreatorDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRouteCreatorDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRouteCreatorDeleted { + return vs[0].([]GetIsVpcRoutingTableRouteCreatorDeleted)[vs[1].(int)] + }).(GetIsVpcRoutingTableRouteCreatorDeletedOutput) +} + +type GetIsVpcRoutingTableRouteDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcRoutingTableRouteDeletedInput is an input type that accepts GetIsVpcRoutingTableRouteDeletedArgs and GetIsVpcRoutingTableRouteDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteDeletedInput` via: +// +// GetIsVpcRoutingTableRouteDeletedArgs{...} +type GetIsVpcRoutingTableRouteDeletedInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteDeletedOutput() GetIsVpcRoutingTableRouteDeletedOutput + ToGetIsVpcRoutingTableRouteDeletedOutputWithContext(context.Context) GetIsVpcRoutingTableRouteDeletedOutput +} + +type GetIsVpcRoutingTableRouteDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcRoutingTableRouteDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteDeletedArgs) ToGetIsVpcRoutingTableRouteDeletedOutput() GetIsVpcRoutingTableRouteDeletedOutput { + return i.ToGetIsVpcRoutingTableRouteDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteDeletedArgs) ToGetIsVpcRoutingTableRouteDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteDeletedOutput) +} + +// GetIsVpcRoutingTableRouteDeletedArrayInput is an input type that accepts GetIsVpcRoutingTableRouteDeletedArray and GetIsVpcRoutingTableRouteDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteDeletedArrayInput` via: +// +// GetIsVpcRoutingTableRouteDeletedArray{ GetIsVpcRoutingTableRouteDeletedArgs{...} } +type GetIsVpcRoutingTableRouteDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteDeletedArrayOutput() GetIsVpcRoutingTableRouteDeletedArrayOutput + ToGetIsVpcRoutingTableRouteDeletedArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRouteDeletedArrayOutput +} + +type GetIsVpcRoutingTableRouteDeletedArray []GetIsVpcRoutingTableRouteDeletedInput + +func (GetIsVpcRoutingTableRouteDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteDeletedArray) ToGetIsVpcRoutingTableRouteDeletedArrayOutput() GetIsVpcRoutingTableRouteDeletedArrayOutput { + return i.ToGetIsVpcRoutingTableRouteDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteDeletedArray) ToGetIsVpcRoutingTableRouteDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteDeletedArrayOutput) +} + +type GetIsVpcRoutingTableRouteDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteDeletedOutput) ToGetIsVpcRoutingTableRouteDeletedOutput() GetIsVpcRoutingTableRouteDeletedOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteDeletedOutput) ToGetIsVpcRoutingTableRouteDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcRoutingTableRouteDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRouteDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteDeletedArrayOutput) ToGetIsVpcRoutingTableRouteDeletedArrayOutput() GetIsVpcRoutingTableRouteDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteDeletedArrayOutput) ToGetIsVpcRoutingTableRouteDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRouteDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRouteDeleted { + return vs[0].([]GetIsVpcRoutingTableRouteDeleted)[vs[1].(int)] + }).(GetIsVpcRoutingTableRouteDeletedOutput) +} + +type GetIsVpcRoutingTableRouteNextHop struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpcRoutingTableRouteNextHopDeleted `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id string `pulumi:"id"` + // The user-defined name for this VPN connection. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcRoutingTableRouteNextHopInput is an input type that accepts GetIsVpcRoutingTableRouteNextHopArgs and GetIsVpcRoutingTableRouteNextHopOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteNextHopInput` via: +// +// GetIsVpcRoutingTableRouteNextHopArgs{...} +type GetIsVpcRoutingTableRouteNextHopInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteNextHopOutput() GetIsVpcRoutingTableRouteNextHopOutput + ToGetIsVpcRoutingTableRouteNextHopOutputWithContext(context.Context) GetIsVpcRoutingTableRouteNextHopOutput +} + +type GetIsVpcRoutingTableRouteNextHopArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpcRoutingTableRouteNextHopDeletedArrayInput `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this VPN connection. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcRoutingTableRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteNextHop)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteNextHopArgs) ToGetIsVpcRoutingTableRouteNextHopOutput() GetIsVpcRoutingTableRouteNextHopOutput { + return i.ToGetIsVpcRoutingTableRouteNextHopOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteNextHopArgs) ToGetIsVpcRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteNextHopOutput) +} + +// GetIsVpcRoutingTableRouteNextHopArrayInput is an input type that accepts GetIsVpcRoutingTableRouteNextHopArray and GetIsVpcRoutingTableRouteNextHopArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteNextHopArrayInput` via: +// +// GetIsVpcRoutingTableRouteNextHopArray{ GetIsVpcRoutingTableRouteNextHopArgs{...} } +type GetIsVpcRoutingTableRouteNextHopArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteNextHopArrayOutput() GetIsVpcRoutingTableRouteNextHopArrayOutput + ToGetIsVpcRoutingTableRouteNextHopArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRouteNextHopArrayOutput +} + +type GetIsVpcRoutingTableRouteNextHopArray []GetIsVpcRoutingTableRouteNextHopInput + +func (GetIsVpcRoutingTableRouteNextHopArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteNextHop)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteNextHopArray) ToGetIsVpcRoutingTableRouteNextHopArrayOutput() GetIsVpcRoutingTableRouteNextHopArrayOutput { + return i.ToGetIsVpcRoutingTableRouteNextHopArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteNextHopArray) ToGetIsVpcRoutingTableRouteNextHopArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteNextHopArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteNextHopArrayOutput) +} + +type GetIsVpcRoutingTableRouteNextHopOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteNextHop)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteNextHopOutput) ToGetIsVpcRoutingTableRouteNextHopOutput() GetIsVpcRoutingTableRouteNextHopOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteNextHopOutput) ToGetIsVpcRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteNextHopOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpcRoutingTableRouteNextHopOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteNextHop) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpcRoutingTableRouteNextHopOutput) Deleteds() GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteNextHop) []GetIsVpcRoutingTableRouteNextHopDeleted { return v.Deleteds }).(GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput) +} + +// The VPN connection's canonical URL. +func (o GetIsVpcRoutingTableRouteNextHopOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteNextHop) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway connection. +func (o GetIsVpcRoutingTableRouteNextHopOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteNextHop) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN connection. +func (o GetIsVpcRoutingTableRouteNextHopOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteNextHop) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcRoutingTableRouteNextHopOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteNextHop) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRouteNextHopArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteNextHopArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteNextHop)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteNextHopArrayOutput) ToGetIsVpcRoutingTableRouteNextHopArrayOutput() GetIsVpcRoutingTableRouteNextHopArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteNextHopArrayOutput) ToGetIsVpcRoutingTableRouteNextHopArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteNextHopArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteNextHopArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRouteNextHopOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRouteNextHop { + return vs[0].([]GetIsVpcRoutingTableRouteNextHop)[vs[1].(int)] + }).(GetIsVpcRoutingTableRouteNextHopOutput) +} + +type GetIsVpcRoutingTableRouteNextHopDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcRoutingTableRouteNextHopDeletedInput is an input type that accepts GetIsVpcRoutingTableRouteNextHopDeletedArgs and GetIsVpcRoutingTableRouteNextHopDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteNextHopDeletedInput` via: +// +// GetIsVpcRoutingTableRouteNextHopDeletedArgs{...} +type GetIsVpcRoutingTableRouteNextHopDeletedInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteNextHopDeletedOutput() GetIsVpcRoutingTableRouteNextHopDeletedOutput + ToGetIsVpcRoutingTableRouteNextHopDeletedOutputWithContext(context.Context) GetIsVpcRoutingTableRouteNextHopDeletedOutput +} + +type GetIsVpcRoutingTableRouteNextHopDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcRoutingTableRouteNextHopDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteNextHopDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteNextHopDeletedArgs) ToGetIsVpcRoutingTableRouteNextHopDeletedOutput() GetIsVpcRoutingTableRouteNextHopDeletedOutput { + return i.ToGetIsVpcRoutingTableRouteNextHopDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteNextHopDeletedArgs) ToGetIsVpcRoutingTableRouteNextHopDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteNextHopDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteNextHopDeletedOutput) +} + +// GetIsVpcRoutingTableRouteNextHopDeletedArrayInput is an input type that accepts GetIsVpcRoutingTableRouteNextHopDeletedArray and GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteNextHopDeletedArrayInput` via: +// +// GetIsVpcRoutingTableRouteNextHopDeletedArray{ GetIsVpcRoutingTableRouteNextHopDeletedArgs{...} } +type GetIsVpcRoutingTableRouteNextHopDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteNextHopDeletedArrayOutput() GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput + ToGetIsVpcRoutingTableRouteNextHopDeletedArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput +} + +type GetIsVpcRoutingTableRouteNextHopDeletedArray []GetIsVpcRoutingTableRouteNextHopDeletedInput + +func (GetIsVpcRoutingTableRouteNextHopDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteNextHopDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteNextHopDeletedArray) ToGetIsVpcRoutingTableRouteNextHopDeletedArrayOutput() GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput { + return i.ToGetIsVpcRoutingTableRouteNextHopDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteNextHopDeletedArray) ToGetIsVpcRoutingTableRouteNextHopDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput) +} + +type GetIsVpcRoutingTableRouteNextHopDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteNextHopDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteNextHopDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteNextHopDeletedOutput) ToGetIsVpcRoutingTableRouteNextHopDeletedOutput() GetIsVpcRoutingTableRouteNextHopDeletedOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteNextHopDeletedOutput) ToGetIsVpcRoutingTableRouteNextHopDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteNextHopDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcRoutingTableRouteNextHopDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteNextHopDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteNextHopDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput) ToGetIsVpcRoutingTableRouteNextHopDeletedArrayOutput() GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput) ToGetIsVpcRoutingTableRouteNextHopDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRouteNextHopDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRouteNextHopDeleted { + return vs[0].([]GetIsVpcRoutingTableRouteNextHopDeleted)[vs[1].(int)] + }).(GetIsVpcRoutingTableRouteNextHopDeletedOutput) +} + +type GetIsVpcRoutingTableRouteZone struct { + // The URL for this zone. + Href string `pulumi:"href"` + // The globally unique name for this zone. + Name string `pulumi:"name"` +} + +// GetIsVpcRoutingTableRouteZoneInput is an input type that accepts GetIsVpcRoutingTableRouteZoneArgs and GetIsVpcRoutingTableRouteZoneOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteZoneInput` via: +// +// GetIsVpcRoutingTableRouteZoneArgs{...} +type GetIsVpcRoutingTableRouteZoneInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteZoneOutput() GetIsVpcRoutingTableRouteZoneOutput + ToGetIsVpcRoutingTableRouteZoneOutputWithContext(context.Context) GetIsVpcRoutingTableRouteZoneOutput +} + +type GetIsVpcRoutingTableRouteZoneArgs struct { + // The URL for this zone. + Href pulumi.StringInput `pulumi:"href"` + // The globally unique name for this zone. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcRoutingTableRouteZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteZone)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteZoneArgs) ToGetIsVpcRoutingTableRouteZoneOutput() GetIsVpcRoutingTableRouteZoneOutput { + return i.ToGetIsVpcRoutingTableRouteZoneOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteZoneArgs) ToGetIsVpcRoutingTableRouteZoneOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteZoneOutput) +} + +// GetIsVpcRoutingTableRouteZoneArrayInput is an input type that accepts GetIsVpcRoutingTableRouteZoneArray and GetIsVpcRoutingTableRouteZoneArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRouteZoneArrayInput` via: +// +// GetIsVpcRoutingTableRouteZoneArray{ GetIsVpcRoutingTableRouteZoneArgs{...} } +type GetIsVpcRoutingTableRouteZoneArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRouteZoneArrayOutput() GetIsVpcRoutingTableRouteZoneArrayOutput + ToGetIsVpcRoutingTableRouteZoneArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRouteZoneArrayOutput +} + +type GetIsVpcRoutingTableRouteZoneArray []GetIsVpcRoutingTableRouteZoneInput + +func (GetIsVpcRoutingTableRouteZoneArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteZone)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRouteZoneArray) ToGetIsVpcRoutingTableRouteZoneArrayOutput() GetIsVpcRoutingTableRouteZoneArrayOutput { + return i.ToGetIsVpcRoutingTableRouteZoneArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRouteZoneArray) ToGetIsVpcRoutingTableRouteZoneArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteZoneArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRouteZoneArrayOutput) +} + +type GetIsVpcRoutingTableRouteZoneOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRouteZone)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteZoneOutput) ToGetIsVpcRoutingTableRouteZoneOutput() GetIsVpcRoutingTableRouteZoneOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteZoneOutput) ToGetIsVpcRoutingTableRouteZoneOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteZoneOutput { + return o +} + +// The URL for this zone. +func (o GetIsVpcRoutingTableRouteZoneOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteZone) string { return v.Href }).(pulumi.StringOutput) +} + +// The globally unique name for this zone. +func (o GetIsVpcRoutingTableRouteZoneOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRouteZone) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRouteZoneArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRouteZoneArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRouteZone)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRouteZoneArrayOutput) ToGetIsVpcRoutingTableRouteZoneArrayOutput() GetIsVpcRoutingTableRouteZoneArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteZoneArrayOutput) ToGetIsVpcRoutingTableRouteZoneArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRouteZoneArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRouteZoneArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRouteZoneOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRouteZone { + return vs[0].([]GetIsVpcRoutingTableRouteZone)[vs[1].(int)] + }).(GetIsVpcRoutingTableRouteZoneOutput) +} + +type GetIsVpcRoutingTableRoutesRoute struct { + // Routing Table Route Action + Action string `pulumi:"action"` + // Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. + Advertise bool `pulumi:"advertise"` + // Routing Table Route Created At + CreatedAt string `pulumi:"createdAt"` + // If present, the resource that created the route. Routes with this property present cannot bedirectly deleted. All routes with an `origin` of `learned` or `service` will have thisproperty set, and future `origin` values may also have this property set. + Creators []GetIsVpcRoutingTableRoutesRouteCreator `pulumi:"creators"` + // Routing Table Route Destination + Destination string `pulumi:"destination"` + // Routing Table Route Href + Href string `pulumi:"href"` + // Routing Table Route Lifecycle State + LifecycleState string `pulumi:"lifecycleState"` + // Routing Table Route Name + Name string `pulumi:"name"` + // Routing Table Route Nexthop Address or VPN Gateway Connection ID + Nexthop string `pulumi:"nexthop"` + // The origin of this route:- `service`: route was directly created by a service- `user`: route was directly created by a userThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered. + Origin string `pulumi:"origin"` + // The route's priority. Smaller values have higher priority. If a routing table contains routes with the same destination, the route with the highest priority (smallest value) is selected. + Priority int `pulumi:"priority"` + // Routing Table Route ID + RouteId string `pulumi:"routeId"` + // Routing Table Route Zone Name + Zone string `pulumi:"zone"` +} + +// GetIsVpcRoutingTableRoutesRouteInput is an input type that accepts GetIsVpcRoutingTableRoutesRouteArgs and GetIsVpcRoutingTableRoutesRouteOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRoutesRouteInput` via: +// +// GetIsVpcRoutingTableRoutesRouteArgs{...} +type GetIsVpcRoutingTableRoutesRouteInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRoutesRouteOutput() GetIsVpcRoutingTableRoutesRouteOutput + ToGetIsVpcRoutingTableRoutesRouteOutputWithContext(context.Context) GetIsVpcRoutingTableRoutesRouteOutput +} + +type GetIsVpcRoutingTableRoutesRouteArgs struct { + // Routing Table Route Action + Action pulumi.StringInput `pulumi:"action"` + // Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. + Advertise pulumi.BoolInput `pulumi:"advertise"` + // Routing Table Route Created At + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // If present, the resource that created the route. Routes with this property present cannot bedirectly deleted. All routes with an `origin` of `learned` or `service` will have thisproperty set, and future `origin` values may also have this property set. + Creators GetIsVpcRoutingTableRoutesRouteCreatorArrayInput `pulumi:"creators"` + // Routing Table Route Destination + Destination pulumi.StringInput `pulumi:"destination"` + // Routing Table Route Href + Href pulumi.StringInput `pulumi:"href"` + // Routing Table Route Lifecycle State + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // Routing Table Route Name + Name pulumi.StringInput `pulumi:"name"` + // Routing Table Route Nexthop Address or VPN Gateway Connection ID + Nexthop pulumi.StringInput `pulumi:"nexthop"` + // The origin of this route:- `service`: route was directly created by a service- `user`: route was directly created by a userThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered. + Origin pulumi.StringInput `pulumi:"origin"` + // The route's priority. Smaller values have higher priority. If a routing table contains routes with the same destination, the route with the highest priority (smallest value) is selected. + Priority pulumi.IntInput `pulumi:"priority"` + // Routing Table Route ID + RouteId pulumi.StringInput `pulumi:"routeId"` + // Routing Table Route Zone Name + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsVpcRoutingTableRoutesRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRoutesRoute)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRoutesRouteArgs) ToGetIsVpcRoutingTableRoutesRouteOutput() GetIsVpcRoutingTableRoutesRouteOutput { + return i.ToGetIsVpcRoutingTableRoutesRouteOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRoutesRouteArgs) ToGetIsVpcRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRoutesRouteOutput) +} + +// GetIsVpcRoutingTableRoutesRouteArrayInput is an input type that accepts GetIsVpcRoutingTableRoutesRouteArray and GetIsVpcRoutingTableRoutesRouteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRoutesRouteArrayInput` via: +// +// GetIsVpcRoutingTableRoutesRouteArray{ GetIsVpcRoutingTableRoutesRouteArgs{...} } +type GetIsVpcRoutingTableRoutesRouteArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRoutesRouteArrayOutput() GetIsVpcRoutingTableRoutesRouteArrayOutput + ToGetIsVpcRoutingTableRoutesRouteArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRoutesRouteArrayOutput +} + +type GetIsVpcRoutingTableRoutesRouteArray []GetIsVpcRoutingTableRoutesRouteInput + +func (GetIsVpcRoutingTableRoutesRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRoutesRoute)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRoutesRouteArray) ToGetIsVpcRoutingTableRoutesRouteArrayOutput() GetIsVpcRoutingTableRoutesRouteArrayOutput { + return i.ToGetIsVpcRoutingTableRoutesRouteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRoutesRouteArray) ToGetIsVpcRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRoutesRouteArrayOutput) +} + +type GetIsVpcRoutingTableRoutesRouteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRoutesRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRoutesRoute)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRoutesRouteOutput) ToGetIsVpcRoutingTableRoutesRouteOutput() GetIsVpcRoutingTableRoutesRouteOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteOutput) ToGetIsVpcRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteOutput { + return o +} + +// Routing Table Route Action +func (o GetIsVpcRoutingTableRoutesRouteOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.Action }).(pulumi.StringOutput) +} + +// Indicates whether this route will be advertised to the ingress sources specified by the `advertiseRoutesTo` routing table property. +func (o GetIsVpcRoutingTableRoutesRouteOutput) Advertise() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) bool { return v.Advertise }).(pulumi.BoolOutput) +} + +// Routing Table Route Created At +func (o GetIsVpcRoutingTableRoutesRouteOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// If present, the resource that created the route. Routes with this property present cannot bedirectly deleted. All routes with an `origin` of `learned` or `service` will have thisproperty set, and future `origin` values may also have this property set. +func (o GetIsVpcRoutingTableRoutesRouteOutput) Creators() GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) []GetIsVpcRoutingTableRoutesRouteCreator { return v.Creators }).(GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput) +} + +// Routing Table Route Destination +func (o GetIsVpcRoutingTableRoutesRouteOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.Destination }).(pulumi.StringOutput) +} + +// Routing Table Route Href +func (o GetIsVpcRoutingTableRoutesRouteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.Href }).(pulumi.StringOutput) +} + +// Routing Table Route Lifecycle State +func (o GetIsVpcRoutingTableRoutesRouteOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Routing Table Route Name +func (o GetIsVpcRoutingTableRoutesRouteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.Name }).(pulumi.StringOutput) +} + +// Routing Table Route Nexthop Address or VPN Gateway Connection ID +func (o GetIsVpcRoutingTableRoutesRouteOutput) Nexthop() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.Nexthop }).(pulumi.StringOutput) +} + +// The origin of this route:- `service`: route was directly created by a service- `user`: route was directly created by a userThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered. +func (o GetIsVpcRoutingTableRoutesRouteOutput) Origin() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.Origin }).(pulumi.StringOutput) +} + +// The route's priority. Smaller values have higher priority. If a routing table contains routes with the same destination, the route with the highest priority (smallest value) is selected. +func (o GetIsVpcRoutingTableRoutesRouteOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) int { return v.Priority }).(pulumi.IntOutput) +} + +// Routing Table Route ID +func (o GetIsVpcRoutingTableRoutesRouteOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.RouteId }).(pulumi.StringOutput) +} + +// Routing Table Route Zone Name +func (o GetIsVpcRoutingTableRoutesRouteOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRoute) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRoutesRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRoutesRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRoutesRoute)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRoutesRouteArrayOutput) ToGetIsVpcRoutingTableRoutesRouteArrayOutput() GetIsVpcRoutingTableRoutesRouteArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteArrayOutput) ToGetIsVpcRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRoutesRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRoutesRoute { + return vs[0].([]GetIsVpcRoutingTableRoutesRoute)[vs[1].(int)] + }).(GetIsVpcRoutingTableRoutesRouteOutput) +} + +type GetIsVpcRoutingTableRoutesRouteCreator struct { + // The VPN gateway's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpcRoutingTableRoutesRouteCreatorDeleted `pulumi:"deleteds"` + // The VPN gateway's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway. + Id string `pulumi:"id"` + // The user-defined name for this VPN gateway. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcRoutingTableRoutesRouteCreatorInput is an input type that accepts GetIsVpcRoutingTableRoutesRouteCreatorArgs and GetIsVpcRoutingTableRoutesRouteCreatorOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRoutesRouteCreatorInput` via: +// +// GetIsVpcRoutingTableRoutesRouteCreatorArgs{...} +type GetIsVpcRoutingTableRoutesRouteCreatorInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRoutesRouteCreatorOutput() GetIsVpcRoutingTableRoutesRouteCreatorOutput + ToGetIsVpcRoutingTableRoutesRouteCreatorOutputWithContext(context.Context) GetIsVpcRoutingTableRoutesRouteCreatorOutput +} + +type GetIsVpcRoutingTableRoutesRouteCreatorArgs struct { + // The VPN gateway's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayInput `pulumi:"deleteds"` + // The VPN gateway's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this VPN gateway. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcRoutingTableRoutesRouteCreatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteCreator)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRoutesRouteCreatorArgs) ToGetIsVpcRoutingTableRoutesRouteCreatorOutput() GetIsVpcRoutingTableRoutesRouteCreatorOutput { + return i.ToGetIsVpcRoutingTableRoutesRouteCreatorOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRoutesRouteCreatorArgs) ToGetIsVpcRoutingTableRoutesRouteCreatorOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteCreatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRoutesRouteCreatorOutput) +} + +// GetIsVpcRoutingTableRoutesRouteCreatorArrayInput is an input type that accepts GetIsVpcRoutingTableRoutesRouteCreatorArray and GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRoutesRouteCreatorArrayInput` via: +// +// GetIsVpcRoutingTableRoutesRouteCreatorArray{ GetIsVpcRoutingTableRoutesRouteCreatorArgs{...} } +type GetIsVpcRoutingTableRoutesRouteCreatorArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRoutesRouteCreatorArrayOutput() GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput + ToGetIsVpcRoutingTableRoutesRouteCreatorArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput +} + +type GetIsVpcRoutingTableRoutesRouteCreatorArray []GetIsVpcRoutingTableRoutesRouteCreatorInput + +func (GetIsVpcRoutingTableRoutesRouteCreatorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRoutesRouteCreator)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRoutesRouteCreatorArray) ToGetIsVpcRoutingTableRoutesRouteCreatorArrayOutput() GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput { + return i.ToGetIsVpcRoutingTableRoutesRouteCreatorArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRoutesRouteCreatorArray) ToGetIsVpcRoutingTableRoutesRouteCreatorArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput) +} + +type GetIsVpcRoutingTableRoutesRouteCreatorOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRoutesRouteCreatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteCreator)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorOutput) ToGetIsVpcRoutingTableRoutesRouteCreatorOutput() GetIsVpcRoutingTableRoutesRouteCreatorOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorOutput) ToGetIsVpcRoutingTableRoutesRouteCreatorOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteCreatorOutput { + return o +} + +// The VPN gateway's CRN. +func (o GetIsVpcRoutingTableRoutesRouteCreatorOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRouteCreator) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpcRoutingTableRoutesRouteCreatorOutput) Deleteds() GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRouteCreator) []GetIsVpcRoutingTableRoutesRouteCreatorDeleted { + return v.Deleteds + }).(GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput) +} + +// The VPN gateway's canonical URL. +func (o GetIsVpcRoutingTableRoutesRouteCreatorOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRouteCreator) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway. +func (o GetIsVpcRoutingTableRoutesRouteCreatorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRouteCreator) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN gateway. +func (o GetIsVpcRoutingTableRoutesRouteCreatorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRouteCreator) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcRoutingTableRoutesRouteCreatorOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRouteCreator) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRoutesRouteCreator)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput) ToGetIsVpcRoutingTableRoutesRouteCreatorArrayOutput() GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput) ToGetIsVpcRoutingTableRoutesRouteCreatorArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRoutesRouteCreatorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRoutesRouteCreator { + return vs[0].([]GetIsVpcRoutingTableRoutesRouteCreator)[vs[1].(int)] + }).(GetIsVpcRoutingTableRoutesRouteCreatorOutput) +} + +type GetIsVpcRoutingTableRoutesRouteCreatorDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcRoutingTableRoutesRouteCreatorDeletedInput is an input type that accepts GetIsVpcRoutingTableRoutesRouteCreatorDeletedArgs and GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRoutesRouteCreatorDeletedInput` via: +// +// GetIsVpcRoutingTableRoutesRouteCreatorDeletedArgs{...} +type GetIsVpcRoutingTableRoutesRouteCreatorDeletedInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput() GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput + ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedOutputWithContext(context.Context) GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput +} + +type GetIsVpcRoutingTableRoutesRouteCreatorDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcRoutingTableRoutesRouteCreatorDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteCreatorDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRoutesRouteCreatorDeletedArgs) ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput() GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput { + return i.ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRoutesRouteCreatorDeletedArgs) ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput) +} + +// GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayInput is an input type that accepts GetIsVpcRoutingTableRoutesRouteCreatorDeletedArray and GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayInput` via: +// +// GetIsVpcRoutingTableRoutesRouteCreatorDeletedArray{ GetIsVpcRoutingTableRoutesRouteCreatorDeletedArgs{...} } +type GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput() GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput + ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutputWithContext(context.Context) GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput +} + +type GetIsVpcRoutingTableRoutesRouteCreatorDeletedArray []GetIsVpcRoutingTableRoutesRouteCreatorDeletedInput + +func (GetIsVpcRoutingTableRoutesRouteCreatorDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRoutesRouteCreatorDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableRoutesRouteCreatorDeletedArray) ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput() GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput { + return i.ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableRoutesRouteCreatorDeletedArray) ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput) +} + +type GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteCreatorDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput) ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput() GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput) ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableRoutesRouteCreatorDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableRoutesRouteCreatorDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput) ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput() GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput) ToGetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableRoutesRouteCreatorDeleted { + return vs[0].([]GetIsVpcRoutingTableRoutesRouteCreatorDeleted)[vs[1].(int)] + }).(GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput) +} + +type GetIsVpcRoutingTableSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpcRoutingTableSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` +} + +// GetIsVpcRoutingTableSubnetInput is an input type that accepts GetIsVpcRoutingTableSubnetArgs and GetIsVpcRoutingTableSubnetOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableSubnetInput` via: +// +// GetIsVpcRoutingTableSubnetArgs{...} +type GetIsVpcRoutingTableSubnetInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableSubnetOutput() GetIsVpcRoutingTableSubnetOutput + ToGetIsVpcRoutingTableSubnetOutputWithContext(context.Context) GetIsVpcRoutingTableSubnetOutput +} + +type GetIsVpcRoutingTableSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpcRoutingTableSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcRoutingTableSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableSubnet)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableSubnetArgs) ToGetIsVpcRoutingTableSubnetOutput() GetIsVpcRoutingTableSubnetOutput { + return i.ToGetIsVpcRoutingTableSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableSubnetArgs) ToGetIsVpcRoutingTableSubnetOutputWithContext(ctx context.Context) GetIsVpcRoutingTableSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableSubnetOutput) +} + +// GetIsVpcRoutingTableSubnetArrayInput is an input type that accepts GetIsVpcRoutingTableSubnetArray and GetIsVpcRoutingTableSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableSubnetArrayInput` via: +// +// GetIsVpcRoutingTableSubnetArray{ GetIsVpcRoutingTableSubnetArgs{...} } +type GetIsVpcRoutingTableSubnetArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableSubnetArrayOutput() GetIsVpcRoutingTableSubnetArrayOutput + ToGetIsVpcRoutingTableSubnetArrayOutputWithContext(context.Context) GetIsVpcRoutingTableSubnetArrayOutput +} + +type GetIsVpcRoutingTableSubnetArray []GetIsVpcRoutingTableSubnetInput + +func (GetIsVpcRoutingTableSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableSubnet)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableSubnetArray) ToGetIsVpcRoutingTableSubnetArrayOutput() GetIsVpcRoutingTableSubnetArrayOutput { + return i.ToGetIsVpcRoutingTableSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableSubnetArray) ToGetIsVpcRoutingTableSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableSubnetArrayOutput) +} + +type GetIsVpcRoutingTableSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableSubnet)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableSubnetOutput) ToGetIsVpcRoutingTableSubnetOutput() GetIsVpcRoutingTableSubnetOutput { + return o +} + +func (o GetIsVpcRoutingTableSubnetOutput) ToGetIsVpcRoutingTableSubnetOutputWithContext(ctx context.Context) GetIsVpcRoutingTableSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsVpcRoutingTableSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpcRoutingTableSubnetOutput) Deleteds() GetIsVpcRoutingTableSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableSubnet) []GetIsVpcRoutingTableSubnetDeleted { return v.Deleteds }).(GetIsVpcRoutingTableSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsVpcRoutingTableSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsVpcRoutingTableSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsVpcRoutingTableSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableSubnet)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableSubnetArrayOutput) ToGetIsVpcRoutingTableSubnetArrayOutput() GetIsVpcRoutingTableSubnetArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableSubnetArrayOutput) ToGetIsVpcRoutingTableSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableSubnetArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableSubnet { + return vs[0].([]GetIsVpcRoutingTableSubnet)[vs[1].(int)] + }).(GetIsVpcRoutingTableSubnetOutput) +} + +type GetIsVpcRoutingTableSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcRoutingTableSubnetDeletedInput is an input type that accepts GetIsVpcRoutingTableSubnetDeletedArgs and GetIsVpcRoutingTableSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableSubnetDeletedInput` via: +// +// GetIsVpcRoutingTableSubnetDeletedArgs{...} +type GetIsVpcRoutingTableSubnetDeletedInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableSubnetDeletedOutput() GetIsVpcRoutingTableSubnetDeletedOutput + ToGetIsVpcRoutingTableSubnetDeletedOutputWithContext(context.Context) GetIsVpcRoutingTableSubnetDeletedOutput +} + +type GetIsVpcRoutingTableSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcRoutingTableSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableSubnetDeletedArgs) ToGetIsVpcRoutingTableSubnetDeletedOutput() GetIsVpcRoutingTableSubnetDeletedOutput { + return i.ToGetIsVpcRoutingTableSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableSubnetDeletedArgs) ToGetIsVpcRoutingTableSubnetDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableSubnetDeletedOutput) +} + +// GetIsVpcRoutingTableSubnetDeletedArrayInput is an input type that accepts GetIsVpcRoutingTableSubnetDeletedArray and GetIsVpcRoutingTableSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTableSubnetDeletedArrayInput` via: +// +// GetIsVpcRoutingTableSubnetDeletedArray{ GetIsVpcRoutingTableSubnetDeletedArgs{...} } +type GetIsVpcRoutingTableSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTableSubnetDeletedArrayOutput() GetIsVpcRoutingTableSubnetDeletedArrayOutput + ToGetIsVpcRoutingTableSubnetDeletedArrayOutputWithContext(context.Context) GetIsVpcRoutingTableSubnetDeletedArrayOutput +} + +type GetIsVpcRoutingTableSubnetDeletedArray []GetIsVpcRoutingTableSubnetDeletedInput + +func (GetIsVpcRoutingTableSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVpcRoutingTableSubnetDeletedArray) ToGetIsVpcRoutingTableSubnetDeletedArrayOutput() GetIsVpcRoutingTableSubnetDeletedArrayOutput { + return i.ToGetIsVpcRoutingTableSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTableSubnetDeletedArray) ToGetIsVpcRoutingTableSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTableSubnetDeletedArrayOutput) +} + +type GetIsVpcRoutingTableSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTableSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableSubnetDeletedOutput) ToGetIsVpcRoutingTableSubnetDeletedOutput() GetIsVpcRoutingTableSubnetDeletedOutput { + return o +} + +func (o GetIsVpcRoutingTableSubnetDeletedOutput) ToGetIsVpcRoutingTableSubnetDeletedOutputWithContext(ctx context.Context) GetIsVpcRoutingTableSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcRoutingTableSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTableSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTableSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTableSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTableSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVpcRoutingTableSubnetDeletedArrayOutput) ToGetIsVpcRoutingTableSubnetDeletedArrayOutput() GetIsVpcRoutingTableSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableSubnetDeletedArrayOutput) ToGetIsVpcRoutingTableSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTableSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVpcRoutingTableSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTableSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTableSubnetDeleted { + return vs[0].([]GetIsVpcRoutingTableSubnetDeleted)[vs[1].(int)] + }).(GetIsVpcRoutingTableSubnetDeletedOutput) +} + +type GetIsVpcRoutingTablesRoutingTable struct { + // The filters specifying the resources that may create routes in this routing table.At present, only the `resourceType` filter is permitted, and only the `vpnGateway` value is supported, but filter support is expected to expand in the future. + AcceptRoutesFroms []GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom `pulumi:"acceptRoutesFroms"` + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + AdvertiseRoutesTos []string `pulumi:"advertiseRoutesTos"` + // Routing table Created At + CreatedAt string `pulumi:"createdAt"` + // Routing table Href + Href string `pulumi:"href"` + // Indicates whether this is the default routing table for this VPC + IsDefault bool `pulumi:"isDefault"` + // Routing table Lifecycle State + LifecycleState string `pulumi:"lifecycleState"` + // Routing table Name + Name string `pulumi:"name"` + // The resource group for this volume. + ResourceGroups []GetIsVpcRoutingTablesRoutingTableResourceGroup `pulumi:"resourceGroups"` + // Routing table Resource Type + ResourceType string `pulumi:"resourceType"` + // If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress bool `pulumi:"routeDirectLinkIngress"` + // Indicates whether this routing table is used to route traffic that originates from the internet.Incoming traffic will be routed according to the routing table with two exceptions:- Traffic destined for IP addresses associated with public gateways will not be subject to routes in this routing table.- Routes with an action of deliver are treated as drop unless the `nextHop` is an IP address bound to a network interface on a subnet in the route's `zone`. Therefore, if an incoming packet matches a route with a `nextHop` of an internet-bound IP address or a VPN gateway connection, the packet will be dropped. + RouteInternetIngress bool `pulumi:"routeInternetIngress"` + // If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress bool `pulumi:"routeTransitGatewayIngress"` + // If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress bool `pulumi:"routeVpcZoneIngress"` + Routes []GetIsVpcRoutingTablesRoutingTableRoute `pulumi:"routes"` + // Routing Table ID + RoutingTable string `pulumi:"routingTable"` + // The crn of routing table + RoutingTableCrn string `pulumi:"routingTableCrn"` + Subnets []GetIsVpcRoutingTablesRoutingTableSubnet `pulumi:"subnets"` + Tags []string `pulumi:"tags"` +} + +// GetIsVpcRoutingTablesRoutingTableInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableArgs and GetIsVpcRoutingTablesRoutingTableOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableInput` via: +// +// GetIsVpcRoutingTablesRoutingTableArgs{...} +type GetIsVpcRoutingTablesRoutingTableInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableOutput() GetIsVpcRoutingTablesRoutingTableOutput + ToGetIsVpcRoutingTablesRoutingTableOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableOutput +} + +type GetIsVpcRoutingTablesRoutingTableArgs struct { + // The filters specifying the resources that may create routes in this routing table.At present, only the `resourceType` filter is permitted, and only the `vpnGateway` value is supported, but filter support is expected to expand in the future. + AcceptRoutesFroms GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayInput `pulumi:"acceptRoutesFroms"` + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. + AdvertiseRoutesTos pulumi.StringArrayInput `pulumi:"advertiseRoutesTos"` + // Routing table Created At + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Routing table Href + Href pulumi.StringInput `pulumi:"href"` + // Indicates whether this is the default routing table for this VPC + IsDefault pulumi.BoolInput `pulumi:"isDefault"` + // Routing table Lifecycle State + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // Routing table Name + Name pulumi.StringInput `pulumi:"name"` + // The resource group for this volume. + ResourceGroups GetIsVpcRoutingTablesRoutingTableResourceGroupArrayInput `pulumi:"resourceGroups"` + // Routing table Resource Type + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. + RouteDirectLinkIngress pulumi.BoolInput `pulumi:"routeDirectLinkIngress"` + // Indicates whether this routing table is used to route traffic that originates from the internet.Incoming traffic will be routed according to the routing table with two exceptions:- Traffic destined for IP addresses associated with public gateways will not be subject to routes in this routing table.- Routes with an action of deliver are treated as drop unless the `nextHop` is an IP address bound to a network interface on a subnet in the route's `zone`. Therefore, if an incoming packet matches a route with a `nextHop` of an internet-bound IP address or a VPN gateway connection, the packet will be dropped. + RouteInternetIngress pulumi.BoolInput `pulumi:"routeInternetIngress"` + // If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. + RouteTransitGatewayIngress pulumi.BoolInput `pulumi:"routeTransitGatewayIngress"` + // If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. + RouteVpcZoneIngress pulumi.BoolInput `pulumi:"routeVpcZoneIngress"` + Routes GetIsVpcRoutingTablesRoutingTableRouteArrayInput `pulumi:"routes"` + // Routing Table ID + RoutingTable pulumi.StringInput `pulumi:"routingTable"` + // The crn of routing table + RoutingTableCrn pulumi.StringInput `pulumi:"routingTableCrn"` + Subnets GetIsVpcRoutingTablesRoutingTableSubnetArrayInput `pulumi:"subnets"` + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (GetIsVpcRoutingTablesRoutingTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTable)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableArgs) ToGetIsVpcRoutingTablesRoutingTableOutput() GetIsVpcRoutingTablesRoutingTableOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableArgs) ToGetIsVpcRoutingTablesRoutingTableOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableOutput) +} + +// GetIsVpcRoutingTablesRoutingTableArrayInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableArray and GetIsVpcRoutingTablesRoutingTableArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableArrayInput` via: +// +// GetIsVpcRoutingTablesRoutingTableArray{ GetIsVpcRoutingTablesRoutingTableArgs{...} } +type GetIsVpcRoutingTablesRoutingTableArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableArrayOutput() GetIsVpcRoutingTablesRoutingTableArrayOutput + ToGetIsVpcRoutingTablesRoutingTableArrayOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableArrayOutput +} + +type GetIsVpcRoutingTablesRoutingTableArray []GetIsVpcRoutingTablesRoutingTableInput + +func (GetIsVpcRoutingTablesRoutingTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTable)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableArray) ToGetIsVpcRoutingTablesRoutingTableArrayOutput() GetIsVpcRoutingTablesRoutingTableArrayOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableArray) ToGetIsVpcRoutingTablesRoutingTableArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableArrayOutput) +} + +type GetIsVpcRoutingTablesRoutingTableOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTable)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableOutput) ToGetIsVpcRoutingTablesRoutingTableOutput() GetIsVpcRoutingTablesRoutingTableOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableOutput) ToGetIsVpcRoutingTablesRoutingTableOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableOutput { + return o +} + +// The filters specifying the resources that may create routes in this routing table.At present, only the `resourceType` filter is permitted, and only the `vpnGateway` value is supported, but filter support is expected to expand in the future. +func (o GetIsVpcRoutingTablesRoutingTableOutput) AcceptRoutesFroms() GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) []GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom { + return v.AcceptRoutesFroms + }).(GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput) +} + +// List of access tags +func (o GetIsVpcRoutingTablesRoutingTableOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The ingress sources to advertise routes to. Routes in the table with `advertise` enabled will be advertised to these sources.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. +func (o GetIsVpcRoutingTablesRoutingTableOutput) AdvertiseRoutesTos() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) []string { return v.AdvertiseRoutesTos }).(pulumi.StringArrayOutput) +} + +// Routing table Created At +func (o GetIsVpcRoutingTablesRoutingTableOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Routing table Href +func (o GetIsVpcRoutingTablesRoutingTableOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) string { return v.Href }).(pulumi.StringOutput) +} + +// Indicates whether this is the default routing table for this VPC +func (o GetIsVpcRoutingTablesRoutingTableOutput) IsDefault() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) bool { return v.IsDefault }).(pulumi.BoolOutput) +} + +// Routing table Lifecycle State +func (o GetIsVpcRoutingTablesRoutingTableOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Routing table Name +func (o GetIsVpcRoutingTablesRoutingTableOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource group for this volume. +func (o GetIsVpcRoutingTablesRoutingTableOutput) ResourceGroups() GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) []GetIsVpcRoutingTablesRoutingTableResourceGroup { + return v.ResourceGroups + }).(GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput) +} + +// Routing table Resource Type +func (o GetIsVpcRoutingTablesRoutingTableOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// If set to true, this routing table will be used to route traffic that originates from Direct Link to this VPC. +func (o GetIsVpcRoutingTablesRoutingTableOutput) RouteDirectLinkIngress() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) bool { return v.RouteDirectLinkIngress }).(pulumi.BoolOutput) +} + +// Indicates whether this routing table is used to route traffic that originates from the internet.Incoming traffic will be routed according to the routing table with two exceptions:- Traffic destined for IP addresses associated with public gateways will not be subject to routes in this routing table.- Routes with an action of deliver are treated as drop unless the `nextHop` is an IP address bound to a network interface on a subnet in the route's `zone`. Therefore, if an incoming packet matches a route with a `nextHop` of an internet-bound IP address or a VPN gateway connection, the packet will be dropped. +func (o GetIsVpcRoutingTablesRoutingTableOutput) RouteInternetIngress() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) bool { return v.RouteInternetIngress }).(pulumi.BoolOutput) +} + +// If set to true, this routing table will be used to route traffic that originates from Transit Gateway to this VPC. +func (o GetIsVpcRoutingTablesRoutingTableOutput) RouteTransitGatewayIngress() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) bool { return v.RouteTransitGatewayIngress }).(pulumi.BoolOutput) +} + +// If set to true, this routing table will be used to route traffic that originates from subnets in other zones in this VPC. +func (o GetIsVpcRoutingTablesRoutingTableOutput) RouteVpcZoneIngress() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) bool { return v.RouteVpcZoneIngress }).(pulumi.BoolOutput) +} + +func (o GetIsVpcRoutingTablesRoutingTableOutput) Routes() GetIsVpcRoutingTablesRoutingTableRouteArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) []GetIsVpcRoutingTablesRoutingTableRoute { return v.Routes }).(GetIsVpcRoutingTablesRoutingTableRouteArrayOutput) +} + +// Routing Table ID +func (o GetIsVpcRoutingTablesRoutingTableOutput) RoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) string { return v.RoutingTable }).(pulumi.StringOutput) +} + +// The crn of routing table +func (o GetIsVpcRoutingTablesRoutingTableOutput) RoutingTableCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) string { return v.RoutingTableCrn }).(pulumi.StringOutput) +} + +func (o GetIsVpcRoutingTablesRoutingTableOutput) Subnets() GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) []GetIsVpcRoutingTablesRoutingTableSubnet { return v.Subnets }).(GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput) +} + +func (o GetIsVpcRoutingTablesRoutingTableOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTable) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type GetIsVpcRoutingTablesRoutingTableArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTable)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableArrayOutput) ToGetIsVpcRoutingTablesRoutingTableArrayOutput() GetIsVpcRoutingTablesRoutingTableArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableArrayOutput) ToGetIsVpcRoutingTablesRoutingTableArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTablesRoutingTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTablesRoutingTable { + return vs[0].([]GetIsVpcRoutingTablesRoutingTable)[vs[1].(int)] + }).(GetIsVpcRoutingTablesRoutingTableOutput) +} + +type GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom struct { + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArgs and GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromInput` via: +// +// GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArgs{...} +type GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput() GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput + ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput +} + +type GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArgs struct { + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArgs) ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput() GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArgs) ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput) +} + +// GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArray and GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayInput` via: +// +// GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArray{ GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArgs{...} } +type GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput() GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput + ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput +} + +type GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArray []GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromInput + +func (GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArray) ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput() GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArray) ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput) +} + +type GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput) ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput() GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput) ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput { + return o +} + +// The resource type. +func (o GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput) ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput() GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput) ToGetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom { + return vs[0].([]GetIsVpcRoutingTablesRoutingTableAcceptRoutesFrom)[vs[1].(int)] + }).(GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput) +} + +type GetIsVpcRoutingTablesRoutingTableResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVpcRoutingTablesRoutingTableResourceGroupInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableResourceGroupArgs and GetIsVpcRoutingTablesRoutingTableResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableResourceGroupInput` via: +// +// GetIsVpcRoutingTablesRoutingTableResourceGroupArgs{...} +type GetIsVpcRoutingTablesRoutingTableResourceGroupInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableResourceGroupOutput() GetIsVpcRoutingTablesRoutingTableResourceGroupOutput + ToGetIsVpcRoutingTablesRoutingTableResourceGroupOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableResourceGroupOutput +} + +type GetIsVpcRoutingTablesRoutingTableResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcRoutingTablesRoutingTableResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableResourceGroup)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableResourceGroupArgs) ToGetIsVpcRoutingTablesRoutingTableResourceGroupOutput() GetIsVpcRoutingTablesRoutingTableResourceGroupOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableResourceGroupArgs) ToGetIsVpcRoutingTablesRoutingTableResourceGroupOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableResourceGroupOutput) +} + +// GetIsVpcRoutingTablesRoutingTableResourceGroupArrayInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableResourceGroupArray and GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableResourceGroupArrayInput` via: +// +// GetIsVpcRoutingTablesRoutingTableResourceGroupArray{ GetIsVpcRoutingTablesRoutingTableResourceGroupArgs{...} } +type GetIsVpcRoutingTablesRoutingTableResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput() GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput + ToGetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput +} + +type GetIsVpcRoutingTablesRoutingTableResourceGroupArray []GetIsVpcRoutingTablesRoutingTableResourceGroupInput + +func (GetIsVpcRoutingTablesRoutingTableResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTableResourceGroup)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableResourceGroupArray) ToGetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput() GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableResourceGroupArray) ToGetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput) +} + +type GetIsVpcRoutingTablesRoutingTableResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableResourceGroup)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableResourceGroupOutput) ToGetIsVpcRoutingTablesRoutingTableResourceGroupOutput() GetIsVpcRoutingTablesRoutingTableResourceGroupOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableResourceGroupOutput) ToGetIsVpcRoutingTablesRoutingTableResourceGroupOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVpcRoutingTablesRoutingTableResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTableResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVpcRoutingTablesRoutingTableResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTableResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsVpcRoutingTablesRoutingTableResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTableResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTableResourceGroup)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput) ToGetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput() GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput) ToGetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTablesRoutingTableResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTablesRoutingTableResourceGroup { + return vs[0].([]GetIsVpcRoutingTablesRoutingTableResourceGroup)[vs[1].(int)] + }).(GetIsVpcRoutingTablesRoutingTableResourceGroupOutput) +} + +type GetIsVpcRoutingTablesRoutingTableRoute struct { + // Route ID + Id string `pulumi:"id"` + // Route name + Name string `pulumi:"name"` +} + +// GetIsVpcRoutingTablesRoutingTableRouteInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableRouteArgs and GetIsVpcRoutingTablesRoutingTableRouteOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableRouteInput` via: +// +// GetIsVpcRoutingTablesRoutingTableRouteArgs{...} +type GetIsVpcRoutingTablesRoutingTableRouteInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableRouteOutput() GetIsVpcRoutingTablesRoutingTableRouteOutput + ToGetIsVpcRoutingTablesRoutingTableRouteOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableRouteOutput +} + +type GetIsVpcRoutingTablesRoutingTableRouteArgs struct { + // Route ID + Id pulumi.StringInput `pulumi:"id"` + // Route name + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcRoutingTablesRoutingTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableRoute)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableRouteArgs) ToGetIsVpcRoutingTablesRoutingTableRouteOutput() GetIsVpcRoutingTablesRoutingTableRouteOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableRouteOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableRouteArgs) ToGetIsVpcRoutingTablesRoutingTableRouteOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableRouteOutput) +} + +// GetIsVpcRoutingTablesRoutingTableRouteArrayInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableRouteArray and GetIsVpcRoutingTablesRoutingTableRouteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableRouteArrayInput` via: +// +// GetIsVpcRoutingTablesRoutingTableRouteArray{ GetIsVpcRoutingTablesRoutingTableRouteArgs{...} } +type GetIsVpcRoutingTablesRoutingTableRouteArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableRouteArrayOutput() GetIsVpcRoutingTablesRoutingTableRouteArrayOutput + ToGetIsVpcRoutingTablesRoutingTableRouteArrayOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableRouteArrayOutput +} + +type GetIsVpcRoutingTablesRoutingTableRouteArray []GetIsVpcRoutingTablesRoutingTableRouteInput + +func (GetIsVpcRoutingTablesRoutingTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTableRoute)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableRouteArray) ToGetIsVpcRoutingTablesRoutingTableRouteArrayOutput() GetIsVpcRoutingTablesRoutingTableRouteArrayOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableRouteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableRouteArray) ToGetIsVpcRoutingTablesRoutingTableRouteArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableRouteArrayOutput) +} + +type GetIsVpcRoutingTablesRoutingTableRouteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableRoute)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableRouteOutput) ToGetIsVpcRoutingTablesRoutingTableRouteOutput() GetIsVpcRoutingTablesRoutingTableRouteOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableRouteOutput) ToGetIsVpcRoutingTablesRoutingTableRouteOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableRouteOutput { + return o +} + +// Route ID +func (o GetIsVpcRoutingTablesRoutingTableRouteOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTableRoute) string { return v.Id }).(pulumi.StringOutput) +} + +// Route name +func (o GetIsVpcRoutingTablesRoutingTableRouteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTableRoute) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTablesRoutingTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTableRoute)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableRouteArrayOutput) ToGetIsVpcRoutingTablesRoutingTableRouteArrayOutput() GetIsVpcRoutingTablesRoutingTableRouteArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableRouteArrayOutput) ToGetIsVpcRoutingTablesRoutingTableRouteArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableRouteArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableRouteArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTablesRoutingTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTablesRoutingTableRoute { + return vs[0].([]GetIsVpcRoutingTablesRoutingTableRoute)[vs[1].(int)] + }).(GetIsVpcRoutingTablesRoutingTableRouteOutput) +} + +type GetIsVpcRoutingTablesRoutingTableSubnet struct { + // Subnet ID + Id string `pulumi:"id"` + // Subnet name + Name string `pulumi:"name"` +} + +// GetIsVpcRoutingTablesRoutingTableSubnetInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableSubnetArgs and GetIsVpcRoutingTablesRoutingTableSubnetOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableSubnetInput` via: +// +// GetIsVpcRoutingTablesRoutingTableSubnetArgs{...} +type GetIsVpcRoutingTablesRoutingTableSubnetInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableSubnetOutput() GetIsVpcRoutingTablesRoutingTableSubnetOutput + ToGetIsVpcRoutingTablesRoutingTableSubnetOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableSubnetOutput +} + +type GetIsVpcRoutingTablesRoutingTableSubnetArgs struct { + // Subnet ID + Id pulumi.StringInput `pulumi:"id"` + // Subnet name + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpcRoutingTablesRoutingTableSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableSubnet)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableSubnetArgs) ToGetIsVpcRoutingTablesRoutingTableSubnetOutput() GetIsVpcRoutingTablesRoutingTableSubnetOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableSubnetArgs) ToGetIsVpcRoutingTablesRoutingTableSubnetOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableSubnetOutput) +} + +// GetIsVpcRoutingTablesRoutingTableSubnetArrayInput is an input type that accepts GetIsVpcRoutingTablesRoutingTableSubnetArray and GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVpcRoutingTablesRoutingTableSubnetArrayInput` via: +// +// GetIsVpcRoutingTablesRoutingTableSubnetArray{ GetIsVpcRoutingTablesRoutingTableSubnetArgs{...} } +type GetIsVpcRoutingTablesRoutingTableSubnetArrayInput interface { + pulumi.Input + + ToGetIsVpcRoutingTablesRoutingTableSubnetArrayOutput() GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput + ToGetIsVpcRoutingTablesRoutingTableSubnetArrayOutputWithContext(context.Context) GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput +} + +type GetIsVpcRoutingTablesRoutingTableSubnetArray []GetIsVpcRoutingTablesRoutingTableSubnetInput + +func (GetIsVpcRoutingTablesRoutingTableSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTableSubnet)(nil)).Elem() +} + +func (i GetIsVpcRoutingTablesRoutingTableSubnetArray) ToGetIsVpcRoutingTablesRoutingTableSubnetArrayOutput() GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput { + return i.ToGetIsVpcRoutingTablesRoutingTableSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcRoutingTablesRoutingTableSubnetArray) ToGetIsVpcRoutingTablesRoutingTableSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput) +} + +type GetIsVpcRoutingTablesRoutingTableSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableSubnet)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableSubnetOutput) ToGetIsVpcRoutingTablesRoutingTableSubnetOutput() GetIsVpcRoutingTablesRoutingTableSubnetOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableSubnetOutput) ToGetIsVpcRoutingTablesRoutingTableSubnetOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableSubnetOutput { + return o +} + +// Subnet ID +func (o GetIsVpcRoutingTablesRoutingTableSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTableSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// Subnet name +func (o GetIsVpcRoutingTablesRoutingTableSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcRoutingTablesRoutingTableSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcRoutingTablesRoutingTableSubnet)(nil)).Elem() +} + +func (o GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput) ToGetIsVpcRoutingTablesRoutingTableSubnetArrayOutput() GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput) ToGetIsVpcRoutingTablesRoutingTableSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput { + return o +} + +func (o GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVpcRoutingTablesRoutingTableSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcRoutingTablesRoutingTableSubnet { + return vs[0].([]GetIsVpcRoutingTablesRoutingTableSubnet)[vs[1].(int)] + }).(GetIsVpcRoutingTablesRoutingTableSubnetOutput) +} + +type GetIsVpcSecurityGroup struct { + // Security group id + GroupId string `pulumi:"groupId"` + // Security group name + GroupName string `pulumi:"groupName"` + // Security Rules + Rules []GetIsVpcSecurityGroupRule `pulumi:"rules"` +} + +// GetIsVpcSecurityGroupInput is an input type that accepts GetIsVpcSecurityGroupArgs and GetIsVpcSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsVpcSecurityGroupInput` via: +// +// GetIsVpcSecurityGroupArgs{...} +type GetIsVpcSecurityGroupInput interface { + pulumi.Input + + ToGetIsVpcSecurityGroupOutput() GetIsVpcSecurityGroupOutput + ToGetIsVpcSecurityGroupOutputWithContext(context.Context) GetIsVpcSecurityGroupOutput +} + +type GetIsVpcSecurityGroupArgs struct { + // Security group id + GroupId pulumi.StringInput `pulumi:"groupId"` + // Security group name + GroupName pulumi.StringInput `pulumi:"groupName"` + // Security Rules + Rules GetIsVpcSecurityGroupRuleArrayInput `pulumi:"rules"` +} + +func (GetIsVpcSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcSecurityGroup)(nil)).Elem() +} + +func (i GetIsVpcSecurityGroupArgs) ToGetIsVpcSecurityGroupOutput() GetIsVpcSecurityGroupOutput { + return i.ToGetIsVpcSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpcSecurityGroupArgs) ToGetIsVpcSecurityGroupOutputWithContext(ctx context.Context) GetIsVpcSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcSecurityGroupOutput) +} + +// GetIsVpcSecurityGroupArrayInput is an input type that accepts GetIsVpcSecurityGroupArray and GetIsVpcSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpcSecurityGroupArrayInput` via: +// +// GetIsVpcSecurityGroupArray{ GetIsVpcSecurityGroupArgs{...} } +type GetIsVpcSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsVpcSecurityGroupArrayOutput() GetIsVpcSecurityGroupArrayOutput + ToGetIsVpcSecurityGroupArrayOutputWithContext(context.Context) GetIsVpcSecurityGroupArrayOutput +} + +type GetIsVpcSecurityGroupArray []GetIsVpcSecurityGroupInput + +func (GetIsVpcSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcSecurityGroup)(nil)).Elem() +} + +func (i GetIsVpcSecurityGroupArray) ToGetIsVpcSecurityGroupArrayOutput() GetIsVpcSecurityGroupArrayOutput { + return i.ToGetIsVpcSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcSecurityGroupArray) ToGetIsVpcSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVpcSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcSecurityGroupArrayOutput) +} + +type GetIsVpcSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpcSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcSecurityGroup)(nil)).Elem() +} + +func (o GetIsVpcSecurityGroupOutput) ToGetIsVpcSecurityGroupOutput() GetIsVpcSecurityGroupOutput { + return o +} + +func (o GetIsVpcSecurityGroupOutput) ToGetIsVpcSecurityGroupOutputWithContext(ctx context.Context) GetIsVpcSecurityGroupOutput { + return o +} + +// Security group id +func (o GetIsVpcSecurityGroupOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroup) string { return v.GroupId }).(pulumi.StringOutput) +} + +// Security group name +func (o GetIsVpcSecurityGroupOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroup) string { return v.GroupName }).(pulumi.StringOutput) +} + +// Security Rules +func (o GetIsVpcSecurityGroupOutput) Rules() GetIsVpcSecurityGroupRuleArrayOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroup) []GetIsVpcSecurityGroupRule { return v.Rules }).(GetIsVpcSecurityGroupRuleArrayOutput) +} + +type GetIsVpcSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcSecurityGroup)(nil)).Elem() +} + +func (o GetIsVpcSecurityGroupArrayOutput) ToGetIsVpcSecurityGroupArrayOutput() GetIsVpcSecurityGroupArrayOutput { + return o +} + +func (o GetIsVpcSecurityGroupArrayOutput) ToGetIsVpcSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVpcSecurityGroupArrayOutput { + return o +} + +func (o GetIsVpcSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpcSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcSecurityGroup { + return vs[0].([]GetIsVpcSecurityGroup)[vs[1].(int)] + }).(GetIsVpcSecurityGroupOutput) +} + +type GetIsVpcSecurityGroupRule struct { + Code int `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction string `pulumi:"direction"` + // IP version: ipv4 + IpVersion string `pulumi:"ipVersion"` + PortMax int `pulumi:"portMax"` + PortMin int `pulumi:"portMin"` + Protocol string `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote string `pulumi:"remote"` + // Rule ID + RuleId string `pulumi:"ruleId"` + Type int `pulumi:"type"` +} + +// GetIsVpcSecurityGroupRuleInput is an input type that accepts GetIsVpcSecurityGroupRuleArgs and GetIsVpcSecurityGroupRuleOutput values. +// You can construct a concrete instance of `GetIsVpcSecurityGroupRuleInput` via: +// +// GetIsVpcSecurityGroupRuleArgs{...} +type GetIsVpcSecurityGroupRuleInput interface { + pulumi.Input + + ToGetIsVpcSecurityGroupRuleOutput() GetIsVpcSecurityGroupRuleOutput + ToGetIsVpcSecurityGroupRuleOutputWithContext(context.Context) GetIsVpcSecurityGroupRuleOutput +} + +type GetIsVpcSecurityGroupRuleArgs struct { + Code pulumi.IntInput `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringInput `pulumi:"direction"` + // IP version: ipv4 + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + PortMax pulumi.IntInput `pulumi:"portMax"` + PortMin pulumi.IntInput `pulumi:"portMin"` + Protocol pulumi.StringInput `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote pulumi.StringInput `pulumi:"remote"` + // Rule ID + RuleId pulumi.StringInput `pulumi:"ruleId"` + Type pulumi.IntInput `pulumi:"type"` +} + +func (GetIsVpcSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcSecurityGroupRule)(nil)).Elem() +} + +func (i GetIsVpcSecurityGroupRuleArgs) ToGetIsVpcSecurityGroupRuleOutput() GetIsVpcSecurityGroupRuleOutput { + return i.ToGetIsVpcSecurityGroupRuleOutputWithContext(context.Background()) +} + +func (i GetIsVpcSecurityGroupRuleArgs) ToGetIsVpcSecurityGroupRuleOutputWithContext(ctx context.Context) GetIsVpcSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcSecurityGroupRuleOutput) +} + +// GetIsVpcSecurityGroupRuleArrayInput is an input type that accepts GetIsVpcSecurityGroupRuleArray and GetIsVpcSecurityGroupRuleArrayOutput values. +// You can construct a concrete instance of `GetIsVpcSecurityGroupRuleArrayInput` via: +// +// GetIsVpcSecurityGroupRuleArray{ GetIsVpcSecurityGroupRuleArgs{...} } +type GetIsVpcSecurityGroupRuleArrayInput interface { + pulumi.Input + + ToGetIsVpcSecurityGroupRuleArrayOutput() GetIsVpcSecurityGroupRuleArrayOutput + ToGetIsVpcSecurityGroupRuleArrayOutputWithContext(context.Context) GetIsVpcSecurityGroupRuleArrayOutput +} + +type GetIsVpcSecurityGroupRuleArray []GetIsVpcSecurityGroupRuleInput + +func (GetIsVpcSecurityGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcSecurityGroupRule)(nil)).Elem() +} + +func (i GetIsVpcSecurityGroupRuleArray) ToGetIsVpcSecurityGroupRuleArrayOutput() GetIsVpcSecurityGroupRuleArrayOutput { + return i.ToGetIsVpcSecurityGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcSecurityGroupRuleArray) ToGetIsVpcSecurityGroupRuleArrayOutputWithContext(ctx context.Context) GetIsVpcSecurityGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcSecurityGroupRuleArrayOutput) +} + +type GetIsVpcSecurityGroupRuleOutput struct{ *pulumi.OutputState } + +func (GetIsVpcSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcSecurityGroupRule)(nil)).Elem() +} + +func (o GetIsVpcSecurityGroupRuleOutput) ToGetIsVpcSecurityGroupRuleOutput() GetIsVpcSecurityGroupRuleOutput { + return o +} + +func (o GetIsVpcSecurityGroupRuleOutput) ToGetIsVpcSecurityGroupRuleOutputWithContext(ctx context.Context) GetIsVpcSecurityGroupRuleOutput { + return o +} + +func (o GetIsVpcSecurityGroupRuleOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) int { return v.Code }).(pulumi.IntOutput) +} + +// Direction of traffic to enforce, either inbound or outbound +func (o GetIsVpcSecurityGroupRuleOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) string { return v.Direction }).(pulumi.StringOutput) +} + +// IP version: ipv4 +func (o GetIsVpcSecurityGroupRuleOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) string { return v.IpVersion }).(pulumi.StringOutput) +} + +func (o GetIsVpcSecurityGroupRuleOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) int { return v.PortMax }).(pulumi.IntOutput) +} + +func (o GetIsVpcSecurityGroupRuleOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) int { return v.PortMin }).(pulumi.IntOutput) +} + +func (o GetIsVpcSecurityGroupRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) string { return v.Protocol }).(pulumi.StringOutput) +} + +// Security group id: an IP address, a CIDR block, or a single security group identifier +func (o GetIsVpcSecurityGroupRuleOutput) Remote() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) string { return v.Remote }).(pulumi.StringOutput) +} + +// Rule ID +func (o GetIsVpcSecurityGroupRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) string { return v.RuleId }).(pulumi.StringOutput) +} + +func (o GetIsVpcSecurityGroupRuleOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcSecurityGroupRule) int { return v.Type }).(pulumi.IntOutput) +} + +type GetIsVpcSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcSecurityGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcSecurityGroupRule)(nil)).Elem() +} + +func (o GetIsVpcSecurityGroupRuleArrayOutput) ToGetIsVpcSecurityGroupRuleArrayOutput() GetIsVpcSecurityGroupRuleArrayOutput { + return o +} + +func (o GetIsVpcSecurityGroupRuleArrayOutput) ToGetIsVpcSecurityGroupRuleArrayOutputWithContext(ctx context.Context) GetIsVpcSecurityGroupRuleArrayOutput { + return o +} + +func (o GetIsVpcSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) GetIsVpcSecurityGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcSecurityGroupRule { + return vs[0].([]GetIsVpcSecurityGroupRule)[vs[1].(int)] + }).(GetIsVpcSecurityGroupRuleOutput) +} + +type GetIsVpcSubnet struct { + // Available IPv4 address count in the subnet + AvailableIpv4AddressCount int `pulumi:"availableIpv4AddressCount"` + // subnet ID + Id string `pulumi:"id"` + // subent name + Name string `pulumi:"name"` + // subnet status + Status string `pulumi:"status"` + // Total IPv4 address count in the subnet + TotalIpv4AddressCount int `pulumi:"totalIpv4AddressCount"` + // subnet location + Zone string `pulumi:"zone"` +} + +// GetIsVpcSubnetInput is an input type that accepts GetIsVpcSubnetArgs and GetIsVpcSubnetOutput values. +// You can construct a concrete instance of `GetIsVpcSubnetInput` via: +// +// GetIsVpcSubnetArgs{...} +type GetIsVpcSubnetInput interface { + pulumi.Input + + ToGetIsVpcSubnetOutput() GetIsVpcSubnetOutput + ToGetIsVpcSubnetOutputWithContext(context.Context) GetIsVpcSubnetOutput +} + +type GetIsVpcSubnetArgs struct { + // Available IPv4 address count in the subnet + AvailableIpv4AddressCount pulumi.IntInput `pulumi:"availableIpv4AddressCount"` + // subnet ID + Id pulumi.StringInput `pulumi:"id"` + // subent name + Name pulumi.StringInput `pulumi:"name"` + // subnet status + Status pulumi.StringInput `pulumi:"status"` + // Total IPv4 address count in the subnet + TotalIpv4AddressCount pulumi.IntInput `pulumi:"totalIpv4AddressCount"` + // subnet location + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsVpcSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcSubnet)(nil)).Elem() +} + +func (i GetIsVpcSubnetArgs) ToGetIsVpcSubnetOutput() GetIsVpcSubnetOutput { + return i.ToGetIsVpcSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVpcSubnetArgs) ToGetIsVpcSubnetOutputWithContext(ctx context.Context) GetIsVpcSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcSubnetOutput) +} + +// GetIsVpcSubnetArrayInput is an input type that accepts GetIsVpcSubnetArray and GetIsVpcSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVpcSubnetArrayInput` via: +// +// GetIsVpcSubnetArray{ GetIsVpcSubnetArgs{...} } +type GetIsVpcSubnetArrayInput interface { + pulumi.Input + + ToGetIsVpcSubnetArrayOutput() GetIsVpcSubnetArrayOutput + ToGetIsVpcSubnetArrayOutputWithContext(context.Context) GetIsVpcSubnetArrayOutput +} + +type GetIsVpcSubnetArray []GetIsVpcSubnetInput + +func (GetIsVpcSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcSubnet)(nil)).Elem() +} + +func (i GetIsVpcSubnetArray) ToGetIsVpcSubnetArrayOutput() GetIsVpcSubnetArrayOutput { + return i.ToGetIsVpcSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcSubnetArray) ToGetIsVpcSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcSubnetArrayOutput) +} + +type GetIsVpcSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVpcSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcSubnet)(nil)).Elem() +} + +func (o GetIsVpcSubnetOutput) ToGetIsVpcSubnetOutput() GetIsVpcSubnetOutput { + return o +} + +func (o GetIsVpcSubnetOutput) ToGetIsVpcSubnetOutputWithContext(ctx context.Context) GetIsVpcSubnetOutput { + return o +} + +// Available IPv4 address count in the subnet +func (o GetIsVpcSubnetOutput) AvailableIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcSubnet) int { return v.AvailableIpv4AddressCount }).(pulumi.IntOutput) +} + +// subnet ID +func (o GetIsVpcSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// subent name +func (o GetIsVpcSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// subnet status +func (o GetIsVpcSubnetOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSubnet) string { return v.Status }).(pulumi.StringOutput) +} + +// Total IPv4 address count in the subnet +func (o GetIsVpcSubnetOutput) TotalIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcSubnet) int { return v.TotalIpv4AddressCount }).(pulumi.IntOutput) +} + +// subnet location +func (o GetIsVpcSubnetOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcSubnet) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsVpcSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcSubnet)(nil)).Elem() +} + +func (o GetIsVpcSubnetArrayOutput) ToGetIsVpcSubnetArrayOutput() GetIsVpcSubnetArrayOutput { + return o +} + +func (o GetIsVpcSubnetArrayOutput) ToGetIsVpcSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcSubnetArrayOutput { + return o +} + +func (o GetIsVpcSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVpcSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcSubnet { + return vs[0].([]GetIsVpcSubnet)[vs[1].(int)] + }).(GetIsVpcSubnetOutput) +} + +type GetIsVpcsVpc struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // Deprecated: Classic access is deprecated + ClassicAccess bool `pulumi:"classicAccess"` + // The crn of the resource + Crn string `pulumi:"crn"` + CseSourceAddresses []GetIsVpcsVpcCseSourceAddress `pulumi:"cseSourceAddresses"` + // Default address prefixes for each zone. + DefaultAddressPrefixes map[string]string `pulumi:"defaultAddressPrefixes"` + DefaultNetworkAcl string `pulumi:"defaultNetworkAcl"` + // Default Network ACL CRN + DefaultNetworkAclCrn string `pulumi:"defaultNetworkAclCrn"` + // Default Network ACL name + DefaultNetworkAclName string `pulumi:"defaultNetworkAclName"` + // Default routing table associated with VPC + DefaultRoutingTable string `pulumi:"defaultRoutingTable"` + // Default routing table name + DefaultRoutingTableName string `pulumi:"defaultRoutingTableName"` + // Security group associated with VPC + DefaultSecurityGroup string `pulumi:"defaultSecurityGroup"` + // Default security group CRN + DefaultSecurityGroupCrn string `pulumi:"defaultSecurityGroupCrn"` + // Default security group name + DefaultSecurityGroupName string `pulumi:"defaultSecurityGroupName"` + // The DNS configuration for this VPC. + Dns []GetIsVpcsVpcDn `pulumi:"dns"` + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons []GetIsVpcsVpcHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState string `pulumi:"healthState"` + // VPC id + Id string `pulumi:"id"` + // VPC name + Name string `pulumi:"name"` + // The public address ranges attached to this VPC. + PublicAddressRanges []GetIsVpcsVpcPublicAddressRange `pulumi:"publicAddressRanges"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn string `pulumi:"resourceCrn"` + ResourceGroup string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus string `pulumi:"resourceStatus"` + SecurityGroups []GetIsVpcsVpcSecurityGroup `pulumi:"securityGroups"` + Status string `pulumi:"status"` + Subnets []GetIsVpcsVpcSubnet `pulumi:"subnets"` + Tags []string `pulumi:"tags"` +} + +// GetIsVpcsVpcInput is an input type that accepts GetIsVpcsVpcArgs and GetIsVpcsVpcOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcInput` via: +// +// GetIsVpcsVpcArgs{...} +type GetIsVpcsVpcInput interface { + pulumi.Input + + ToGetIsVpcsVpcOutput() GetIsVpcsVpcOutput + ToGetIsVpcsVpcOutputWithContext(context.Context) GetIsVpcsVpcOutput +} + +type GetIsVpcsVpcArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // Deprecated: Classic access is deprecated + ClassicAccess pulumi.BoolInput `pulumi:"classicAccess"` + // The crn of the resource + Crn pulumi.StringInput `pulumi:"crn"` + CseSourceAddresses GetIsVpcsVpcCseSourceAddressArrayInput `pulumi:"cseSourceAddresses"` + // Default address prefixes for each zone. + DefaultAddressPrefixes pulumi.StringMapInput `pulumi:"defaultAddressPrefixes"` + DefaultNetworkAcl pulumi.StringInput `pulumi:"defaultNetworkAcl"` + // Default Network ACL CRN + DefaultNetworkAclCrn pulumi.StringInput `pulumi:"defaultNetworkAclCrn"` + // Default Network ACL name + DefaultNetworkAclName pulumi.StringInput `pulumi:"defaultNetworkAclName"` + // Default routing table associated with VPC + DefaultRoutingTable pulumi.StringInput `pulumi:"defaultRoutingTable"` + // Default routing table name + DefaultRoutingTableName pulumi.StringInput `pulumi:"defaultRoutingTableName"` + // Security group associated with VPC + DefaultSecurityGroup pulumi.StringInput `pulumi:"defaultSecurityGroup"` + // Default security group CRN + DefaultSecurityGroupCrn pulumi.StringInput `pulumi:"defaultSecurityGroupCrn"` + // Default security group name + DefaultSecurityGroupName pulumi.StringInput `pulumi:"defaultSecurityGroupName"` + // The DNS configuration for this VPC. + Dns GetIsVpcsVpcDnArrayInput `pulumi:"dns"` + // The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. + HealthReasons GetIsVpcsVpcHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringInput `pulumi:"healthState"` + // VPC id + Id pulumi.StringInput `pulumi:"id"` + // VPC name + Name pulumi.StringInput `pulumi:"name"` + // The public address ranges attached to this VPC. + PublicAddressRanges GetIsVpcsVpcPublicAddressRangeArrayInput `pulumi:"publicAddressRanges"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringInput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringInput `pulumi:"resourceCrn"` + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringInput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringInput `pulumi:"resourceStatus"` + SecurityGroups GetIsVpcsVpcSecurityGroupArrayInput `pulumi:"securityGroups"` + Status pulumi.StringInput `pulumi:"status"` + Subnets GetIsVpcsVpcSubnetArrayInput `pulumi:"subnets"` + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (GetIsVpcsVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpc)(nil)).Elem() +} + +func (i GetIsVpcsVpcArgs) ToGetIsVpcsVpcOutput() GetIsVpcsVpcOutput { + return i.ToGetIsVpcsVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcArgs) ToGetIsVpcsVpcOutputWithContext(ctx context.Context) GetIsVpcsVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcOutput) +} + +// GetIsVpcsVpcArrayInput is an input type that accepts GetIsVpcsVpcArray and GetIsVpcsVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcArrayInput` via: +// +// GetIsVpcsVpcArray{ GetIsVpcsVpcArgs{...} } +type GetIsVpcsVpcArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcArrayOutput() GetIsVpcsVpcArrayOutput + ToGetIsVpcsVpcArrayOutputWithContext(context.Context) GetIsVpcsVpcArrayOutput +} + +type GetIsVpcsVpcArray []GetIsVpcsVpcInput + +func (GetIsVpcsVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpc)(nil)).Elem() +} + +func (i GetIsVpcsVpcArray) ToGetIsVpcsVpcArrayOutput() GetIsVpcsVpcArrayOutput { + return i.ToGetIsVpcsVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcArray) ToGetIsVpcsVpcArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcArrayOutput) +} + +type GetIsVpcsVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpc)(nil)).Elem() +} + +func (o GetIsVpcsVpcOutput) ToGetIsVpcsVpcOutput() GetIsVpcsVpcOutput { + return o +} + +func (o GetIsVpcsVpcOutput) ToGetIsVpcsVpcOutputWithContext(ctx context.Context) GetIsVpcsVpcOutput { + return o +} + +// List of access tags +func (o GetIsVpcsVpcOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpc) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// Deprecated: Classic access is deprecated +func (o GetIsVpcsVpcOutput) ClassicAccess() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcsVpc) bool { return v.ClassicAccess }).(pulumi.BoolOutput) +} + +// The crn of the resource +func (o GetIsVpcsVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o GetIsVpcsVpcOutput) CseSourceAddresses() GetIsVpcsVpcCseSourceAddressArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpc) []GetIsVpcsVpcCseSourceAddress { return v.CseSourceAddresses }).(GetIsVpcsVpcCseSourceAddressArrayOutput) +} + +// Default address prefixes for each zone. +func (o GetIsVpcsVpcOutput) DefaultAddressPrefixes() pulumi.StringMapOutput { + return o.ApplyT(func(v GetIsVpcsVpc) map[string]string { return v.DefaultAddressPrefixes }).(pulumi.StringMapOutput) +} + +func (o GetIsVpcsVpcOutput) DefaultNetworkAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.DefaultNetworkAcl }).(pulumi.StringOutput) +} + +// Default Network ACL CRN +func (o GetIsVpcsVpcOutput) DefaultNetworkAclCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.DefaultNetworkAclCrn }).(pulumi.StringOutput) +} + +// Default Network ACL name +func (o GetIsVpcsVpcOutput) DefaultNetworkAclName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.DefaultNetworkAclName }).(pulumi.StringOutput) +} + +// Default routing table associated with VPC +func (o GetIsVpcsVpcOutput) DefaultRoutingTable() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.DefaultRoutingTable }).(pulumi.StringOutput) +} + +// Default routing table name +func (o GetIsVpcsVpcOutput) DefaultRoutingTableName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.DefaultRoutingTableName }).(pulumi.StringOutput) +} + +// Security group associated with VPC +func (o GetIsVpcsVpcOutput) DefaultSecurityGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.DefaultSecurityGroup }).(pulumi.StringOutput) +} + +// Default security group CRN +func (o GetIsVpcsVpcOutput) DefaultSecurityGroupCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.DefaultSecurityGroupCrn }).(pulumi.StringOutput) +} + +// Default security group name +func (o GetIsVpcsVpcOutput) DefaultSecurityGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.DefaultSecurityGroupName }).(pulumi.StringOutput) +} + +// The DNS configuration for this VPC. +func (o GetIsVpcsVpcOutput) Dns() GetIsVpcsVpcDnArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpc) []GetIsVpcsVpcDn { return v.Dns }).(GetIsVpcsVpcDnArrayOutput) +} + +// The reasons for the current `healthState` (if any).The enumerated reason code values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected reason code was encountered. +func (o GetIsVpcsVpcOutput) HealthReasons() GetIsVpcsVpcHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpc) []GetIsVpcsVpcHealthReason { return v.HealthReasons }).(GetIsVpcsVpcHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: No abnormal behavior detected- `degraded`: Experiencing compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o GetIsVpcsVpcOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.HealthState }).(pulumi.StringOutput) +} + +// VPC id +func (o GetIsVpcsVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// VPC name +func (o GetIsVpcsVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// The public address ranges attached to this VPC. +func (o GetIsVpcsVpcOutput) PublicAddressRanges() GetIsVpcsVpcPublicAddressRangeArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpc) []GetIsVpcsVpcPublicAddressRange { return v.PublicAddressRanges }).(GetIsVpcsVpcPublicAddressRangeArrayOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o GetIsVpcsVpcOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o GetIsVpcsVpcOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o GetIsVpcsVpcOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o GetIsVpcsVpcOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o GetIsVpcsVpcOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o GetIsVpcsVpcOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.ResourceStatus }).(pulumi.StringOutput) +} + +func (o GetIsVpcsVpcOutput) SecurityGroups() GetIsVpcsVpcSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpc) []GetIsVpcsVpcSecurityGroup { return v.SecurityGroups }).(GetIsVpcsVpcSecurityGroupArrayOutput) +} + +func (o GetIsVpcsVpcOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpc) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetIsVpcsVpcOutput) Subnets() GetIsVpcsVpcSubnetArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpc) []GetIsVpcsVpcSubnet { return v.Subnets }).(GetIsVpcsVpcSubnetArrayOutput) +} + +func (o GetIsVpcsVpcOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpc) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type GetIsVpcsVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpc)(nil)).Elem() +} + +func (o GetIsVpcsVpcArrayOutput) ToGetIsVpcsVpcArrayOutput() GetIsVpcsVpcArrayOutput { + return o +} + +func (o GetIsVpcsVpcArrayOutput) ToGetIsVpcsVpcArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcArrayOutput { + return o +} + +func (o GetIsVpcsVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpc { + return vs[0].([]GetIsVpcsVpc)[vs[1].(int)] + }).(GetIsVpcsVpcOutput) +} + +type GetIsVpcsVpcCseSourceAddress struct { + // Cloud service endpoint IP Address + Address string `pulumi:"address"` + // Location info of CSE Address + ZoneName string `pulumi:"zoneName"` +} + +// GetIsVpcsVpcCseSourceAddressInput is an input type that accepts GetIsVpcsVpcCseSourceAddressArgs and GetIsVpcsVpcCseSourceAddressOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcCseSourceAddressInput` via: +// +// GetIsVpcsVpcCseSourceAddressArgs{...} +type GetIsVpcsVpcCseSourceAddressInput interface { + pulumi.Input + + ToGetIsVpcsVpcCseSourceAddressOutput() GetIsVpcsVpcCseSourceAddressOutput + ToGetIsVpcsVpcCseSourceAddressOutputWithContext(context.Context) GetIsVpcsVpcCseSourceAddressOutput +} + +type GetIsVpcsVpcCseSourceAddressArgs struct { + // Cloud service endpoint IP Address + Address pulumi.StringInput `pulumi:"address"` + // Location info of CSE Address + ZoneName pulumi.StringInput `pulumi:"zoneName"` +} + +func (GetIsVpcsVpcCseSourceAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcCseSourceAddress)(nil)).Elem() +} + +func (i GetIsVpcsVpcCseSourceAddressArgs) ToGetIsVpcsVpcCseSourceAddressOutput() GetIsVpcsVpcCseSourceAddressOutput { + return i.ToGetIsVpcsVpcCseSourceAddressOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcCseSourceAddressArgs) ToGetIsVpcsVpcCseSourceAddressOutputWithContext(ctx context.Context) GetIsVpcsVpcCseSourceAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcCseSourceAddressOutput) +} + +// GetIsVpcsVpcCseSourceAddressArrayInput is an input type that accepts GetIsVpcsVpcCseSourceAddressArray and GetIsVpcsVpcCseSourceAddressArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcCseSourceAddressArrayInput` via: +// +// GetIsVpcsVpcCseSourceAddressArray{ GetIsVpcsVpcCseSourceAddressArgs{...} } +type GetIsVpcsVpcCseSourceAddressArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcCseSourceAddressArrayOutput() GetIsVpcsVpcCseSourceAddressArrayOutput + ToGetIsVpcsVpcCseSourceAddressArrayOutputWithContext(context.Context) GetIsVpcsVpcCseSourceAddressArrayOutput +} + +type GetIsVpcsVpcCseSourceAddressArray []GetIsVpcsVpcCseSourceAddressInput + +func (GetIsVpcsVpcCseSourceAddressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcCseSourceAddress)(nil)).Elem() +} + +func (i GetIsVpcsVpcCseSourceAddressArray) ToGetIsVpcsVpcCseSourceAddressArrayOutput() GetIsVpcsVpcCseSourceAddressArrayOutput { + return i.ToGetIsVpcsVpcCseSourceAddressArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcCseSourceAddressArray) ToGetIsVpcsVpcCseSourceAddressArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcCseSourceAddressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcCseSourceAddressArrayOutput) +} + +type GetIsVpcsVpcCseSourceAddressOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcCseSourceAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcCseSourceAddress)(nil)).Elem() +} + +func (o GetIsVpcsVpcCseSourceAddressOutput) ToGetIsVpcsVpcCseSourceAddressOutput() GetIsVpcsVpcCseSourceAddressOutput { + return o +} + +func (o GetIsVpcsVpcCseSourceAddressOutput) ToGetIsVpcsVpcCseSourceAddressOutputWithContext(ctx context.Context) GetIsVpcsVpcCseSourceAddressOutput { + return o +} + +// Cloud service endpoint IP Address +func (o GetIsVpcsVpcCseSourceAddressOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcCseSourceAddress) string { return v.Address }).(pulumi.StringOutput) +} + +// Location info of CSE Address +func (o GetIsVpcsVpcCseSourceAddressOutput) ZoneName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcCseSourceAddress) string { return v.ZoneName }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcCseSourceAddressArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcCseSourceAddressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcCseSourceAddress)(nil)).Elem() +} + +func (o GetIsVpcsVpcCseSourceAddressArrayOutput) ToGetIsVpcsVpcCseSourceAddressArrayOutput() GetIsVpcsVpcCseSourceAddressArrayOutput { + return o +} + +func (o GetIsVpcsVpcCseSourceAddressArrayOutput) ToGetIsVpcsVpcCseSourceAddressArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcCseSourceAddressArrayOutput { + return o +} + +func (o GetIsVpcsVpcCseSourceAddressArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcCseSourceAddressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcCseSourceAddress { + return vs[0].([]GetIsVpcsVpcCseSourceAddress)[vs[1].(int)] + }).(GetIsVpcsVpcCseSourceAddressOutput) +} + +type GetIsVpcsVpcDn struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + EnableHub bool `pulumi:"enableHub"` + // The number of DNS resolution bindings for this VPC. + ResolutionBindingCount int `pulumi:"resolutionBindingCount"` + // The DNS resolver configuration for the VPC. + Resolvers []GetIsVpcsVpcDnResolver `pulumi:"resolvers"` +} + +// GetIsVpcsVpcDnInput is an input type that accepts GetIsVpcsVpcDnArgs and GetIsVpcsVpcDnOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnInput` via: +// +// GetIsVpcsVpcDnArgs{...} +type GetIsVpcsVpcDnInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnOutput() GetIsVpcsVpcDnOutput + ToGetIsVpcsVpcDnOutputWithContext(context.Context) GetIsVpcsVpcDnOutput +} + +type GetIsVpcsVpcDnArgs struct { + // Indicates whether this VPC is enabled as a DNS name resolution hub. + EnableHub pulumi.BoolInput `pulumi:"enableHub"` + // The number of DNS resolution bindings for this VPC. + ResolutionBindingCount pulumi.IntInput `pulumi:"resolutionBindingCount"` + // The DNS resolver configuration for the VPC. + Resolvers GetIsVpcsVpcDnResolverArrayInput `pulumi:"resolvers"` +} + +func (GetIsVpcsVpcDnArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDn)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnArgs) ToGetIsVpcsVpcDnOutput() GetIsVpcsVpcDnOutput { + return i.ToGetIsVpcsVpcDnOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnArgs) ToGetIsVpcsVpcDnOutputWithContext(ctx context.Context) GetIsVpcsVpcDnOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnOutput) +} + +// GetIsVpcsVpcDnArrayInput is an input type that accepts GetIsVpcsVpcDnArray and GetIsVpcsVpcDnArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnArrayInput` via: +// +// GetIsVpcsVpcDnArray{ GetIsVpcsVpcDnArgs{...} } +type GetIsVpcsVpcDnArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnArrayOutput() GetIsVpcsVpcDnArrayOutput + ToGetIsVpcsVpcDnArrayOutputWithContext(context.Context) GetIsVpcsVpcDnArrayOutput +} + +type GetIsVpcsVpcDnArray []GetIsVpcsVpcDnInput + +func (GetIsVpcsVpcDnArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDn)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnArray) ToGetIsVpcsVpcDnArrayOutput() GetIsVpcsVpcDnArrayOutput { + return i.ToGetIsVpcsVpcDnArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnArray) ToGetIsVpcsVpcDnArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnArrayOutput) +} + +type GetIsVpcsVpcDnOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDn)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnOutput) ToGetIsVpcsVpcDnOutput() GetIsVpcsVpcDnOutput { + return o +} + +func (o GetIsVpcsVpcDnOutput) ToGetIsVpcsVpcDnOutputWithContext(ctx context.Context) GetIsVpcsVpcDnOutput { + return o +} + +// Indicates whether this VPC is enabled as a DNS name resolution hub. +func (o GetIsVpcsVpcDnOutput) EnableHub() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpcsVpcDn) bool { return v.EnableHub }).(pulumi.BoolOutput) +} + +// The number of DNS resolution bindings for this VPC. +func (o GetIsVpcsVpcDnOutput) ResolutionBindingCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcsVpcDn) int { return v.ResolutionBindingCount }).(pulumi.IntOutput) +} + +// The DNS resolver configuration for the VPC. +func (o GetIsVpcsVpcDnOutput) Resolvers() GetIsVpcsVpcDnResolverArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcDn) []GetIsVpcsVpcDnResolver { return v.Resolvers }).(GetIsVpcsVpcDnResolverArrayOutput) +} + +type GetIsVpcsVpcDnArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDn)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnArrayOutput) ToGetIsVpcsVpcDnArrayOutput() GetIsVpcsVpcDnArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnArrayOutput) ToGetIsVpcsVpcDnArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcDnOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcDn { + return vs[0].([]GetIsVpcsVpcDn)[vs[1].(int)] + }).(GetIsVpcsVpcDnOutput) +} + +type GetIsVpcsVpcDnResolver struct { + // The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. + Configuration string `pulumi:"configuration"` + // The manually specified DNS servers for this VPC. + ManualServers []GetIsVpcsVpcDnResolverManualServer `pulumi:"manualServers"` + // The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. + Servers []GetIsVpcsVpcDnResolverServer `pulumi:"servers"` + // The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. + Type string `pulumi:"type"` + // The VPC whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + Vpcs []GetIsVpcsVpcDnResolverVpc `pulumi:"vpcs"` +} + +// GetIsVpcsVpcDnResolverInput is an input type that accepts GetIsVpcsVpcDnResolverArgs and GetIsVpcsVpcDnResolverOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverInput` via: +// +// GetIsVpcsVpcDnResolverArgs{...} +type GetIsVpcsVpcDnResolverInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverOutput() GetIsVpcsVpcDnResolverOutput + ToGetIsVpcsVpcDnResolverOutputWithContext(context.Context) GetIsVpcsVpcDnResolverOutput +} + +type GetIsVpcsVpcDnResolverArgs struct { + // The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. + Configuration pulumi.StringInput `pulumi:"configuration"` + // The manually specified DNS servers for this VPC. + ManualServers GetIsVpcsVpcDnResolverManualServerArrayInput `pulumi:"manualServers"` + // The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. + Servers GetIsVpcsVpcDnResolverServerArrayInput `pulumi:"servers"` + // The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. + Type pulumi.StringInput `pulumi:"type"` + // The VPC whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. + Vpcs GetIsVpcsVpcDnResolverVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsVpcsVpcDnResolverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolver)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverArgs) ToGetIsVpcsVpcDnResolverOutput() GetIsVpcsVpcDnResolverOutput { + return i.ToGetIsVpcsVpcDnResolverOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverArgs) ToGetIsVpcsVpcDnResolverOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverOutput) +} + +// GetIsVpcsVpcDnResolverArrayInput is an input type that accepts GetIsVpcsVpcDnResolverArray and GetIsVpcsVpcDnResolverArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverArrayInput` via: +// +// GetIsVpcsVpcDnResolverArray{ GetIsVpcsVpcDnResolverArgs{...} } +type GetIsVpcsVpcDnResolverArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverArrayOutput() GetIsVpcsVpcDnResolverArrayOutput + ToGetIsVpcsVpcDnResolverArrayOutputWithContext(context.Context) GetIsVpcsVpcDnResolverArrayOutput +} + +type GetIsVpcsVpcDnResolverArray []GetIsVpcsVpcDnResolverInput + +func (GetIsVpcsVpcDnResolverArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolver)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverArray) ToGetIsVpcsVpcDnResolverArrayOutput() GetIsVpcsVpcDnResolverArrayOutput { + return i.ToGetIsVpcsVpcDnResolverArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverArray) ToGetIsVpcsVpcDnResolverArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverArrayOutput) +} + +type GetIsVpcsVpcDnResolverOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolver)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverOutput) ToGetIsVpcsVpcDnResolverOutput() GetIsVpcsVpcDnResolverOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverOutput) ToGetIsVpcsVpcDnResolverOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverOutput { + return o +} + +// The configuration of the system DNS resolver for this VPC.- `customResolver`: A custom DNS resolver is configured for this VPC.- `privateResolver`: A private DNS resolver is configured for this VPC. Applicable when the VPC has either or both of the following: - at least one endpoint gateway residing in it - a [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it- `default`: The provider default DNS resolvers are configured for this VPC. This system DNS resolver configuration is used when the VPC has: - no custom DNS resolver configured for it, and - no endpoint gateways residing in it, and - no [DNS Services](https://cloud.ibm.com/docs/dns-svcs) private zone configured for it. +func (o GetIsVpcsVpcDnResolverOutput) Configuration() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolver) string { return v.Configuration }).(pulumi.StringOutput) +} + +// The manually specified DNS servers for this VPC. +func (o GetIsVpcsVpcDnResolverOutput) ManualServers() GetIsVpcsVpcDnResolverManualServerArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolver) []GetIsVpcsVpcDnResolverManualServer { return v.ManualServers }).(GetIsVpcsVpcDnResolverManualServerArrayOutput) +} + +// The DNS servers for this VPC. The servers are populated:- by the system when `dns.resolver.type` is `system`- using the DNS servers in `dns.resolver.vpc` when `dns.resolver.type` is `delegated`- using `dns.resolver.manual_servers` when the `dns.resolver.type` is `manual`. +func (o GetIsVpcsVpcDnResolverOutput) Servers() GetIsVpcsVpcDnResolverServerArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolver) []GetIsVpcsVpcDnResolverServer { return v.Servers }).(GetIsVpcsVpcDnResolverServerArrayOutput) +} + +// The type of the DNS resolver used for the VPC.- `delegated`: DNS server addresses are provided by the DNS resolver of the VPC specified in `dns.resolver.vpc`.- `manual`: DNS server addresses are specified in `dns.resolver.manual_servers`.- `system`: DNS server addresses are provided by the system. +func (o GetIsVpcsVpcDnResolverOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolver) string { return v.Type }).(pulumi.StringOutput) +} + +// The VPC whose DNS resolver provides the DNS server addresses for this VPC.The VPC may be remote and therefore may not be directly retrievable. +func (o GetIsVpcsVpcDnResolverOutput) Vpcs() GetIsVpcsVpcDnResolverVpcArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolver) []GetIsVpcsVpcDnResolverVpc { return v.Vpcs }).(GetIsVpcsVpcDnResolverVpcArrayOutput) +} + +type GetIsVpcsVpcDnResolverArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolver)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverArrayOutput) ToGetIsVpcsVpcDnResolverArrayOutput() GetIsVpcsVpcDnResolverArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverArrayOutput) ToGetIsVpcsVpcDnResolverArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcDnResolverOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcDnResolver { + return vs[0].([]GetIsVpcsVpcDnResolver)[vs[1].(int)] + }).(GetIsVpcsVpcDnResolverOutput) +} + +type GetIsVpcsVpcDnResolverManualServer struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity string `pulumi:"zoneAffinity"` +} + +// GetIsVpcsVpcDnResolverManualServerInput is an input type that accepts GetIsVpcsVpcDnResolverManualServerArgs and GetIsVpcsVpcDnResolverManualServerOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverManualServerInput` via: +// +// GetIsVpcsVpcDnResolverManualServerArgs{...} +type GetIsVpcsVpcDnResolverManualServerInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverManualServerOutput() GetIsVpcsVpcDnResolverManualServerOutput + ToGetIsVpcsVpcDnResolverManualServerOutputWithContext(context.Context) GetIsVpcsVpcDnResolverManualServerOutput +} + +type GetIsVpcsVpcDnResolverManualServerArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity pulumi.StringInput `pulumi:"zoneAffinity"` +} + +func (GetIsVpcsVpcDnResolverManualServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverManualServer)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverManualServerArgs) ToGetIsVpcsVpcDnResolverManualServerOutput() GetIsVpcsVpcDnResolverManualServerOutput { + return i.ToGetIsVpcsVpcDnResolverManualServerOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverManualServerArgs) ToGetIsVpcsVpcDnResolverManualServerOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverManualServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverManualServerOutput) +} + +// GetIsVpcsVpcDnResolverManualServerArrayInput is an input type that accepts GetIsVpcsVpcDnResolverManualServerArray and GetIsVpcsVpcDnResolverManualServerArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverManualServerArrayInput` via: +// +// GetIsVpcsVpcDnResolverManualServerArray{ GetIsVpcsVpcDnResolverManualServerArgs{...} } +type GetIsVpcsVpcDnResolverManualServerArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverManualServerArrayOutput() GetIsVpcsVpcDnResolverManualServerArrayOutput + ToGetIsVpcsVpcDnResolverManualServerArrayOutputWithContext(context.Context) GetIsVpcsVpcDnResolverManualServerArrayOutput +} + +type GetIsVpcsVpcDnResolverManualServerArray []GetIsVpcsVpcDnResolverManualServerInput + +func (GetIsVpcsVpcDnResolverManualServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverManualServer)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverManualServerArray) ToGetIsVpcsVpcDnResolverManualServerArrayOutput() GetIsVpcsVpcDnResolverManualServerArrayOutput { + return i.ToGetIsVpcsVpcDnResolverManualServerArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverManualServerArray) ToGetIsVpcsVpcDnResolverManualServerArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverManualServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverManualServerArrayOutput) +} + +type GetIsVpcsVpcDnResolverManualServerOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverManualServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverManualServer)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverManualServerOutput) ToGetIsVpcsVpcDnResolverManualServerOutput() GetIsVpcsVpcDnResolverManualServerOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverManualServerOutput) ToGetIsVpcsVpcDnResolverManualServerOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverManualServerOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpcsVpcDnResolverManualServerOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverManualServer) string { return v.Address }).(pulumi.StringOutput) +} + +// The name of the zone. If present, DHCP configuration for this zone will have this DNS server listed first. +func (o GetIsVpcsVpcDnResolverManualServerOutput) ZoneAffinity() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverManualServer) string { return v.ZoneAffinity }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcDnResolverManualServerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverManualServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverManualServer)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverManualServerArrayOutput) ToGetIsVpcsVpcDnResolverManualServerArrayOutput() GetIsVpcsVpcDnResolverManualServerArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverManualServerArrayOutput) ToGetIsVpcsVpcDnResolverManualServerArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverManualServerArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverManualServerArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcDnResolverManualServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcDnResolverManualServer { + return vs[0].([]GetIsVpcsVpcDnResolverManualServer)[vs[1].(int)] + }).(GetIsVpcsVpcDnResolverManualServerOutput) +} + +type GetIsVpcsVpcDnResolverServer struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity string `pulumi:"zoneAffinity"` +} + +// GetIsVpcsVpcDnResolverServerInput is an input type that accepts GetIsVpcsVpcDnResolverServerArgs and GetIsVpcsVpcDnResolverServerOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverServerInput` via: +// +// GetIsVpcsVpcDnResolverServerArgs{...} +type GetIsVpcsVpcDnResolverServerInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverServerOutput() GetIsVpcsVpcDnResolverServerOutput + ToGetIsVpcsVpcDnResolverServerOutputWithContext(context.Context) GetIsVpcsVpcDnResolverServerOutput +} + +type GetIsVpcsVpcDnResolverServerArgs struct { + // The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. + ZoneAffinity pulumi.StringInput `pulumi:"zoneAffinity"` +} + +func (GetIsVpcsVpcDnResolverServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverServer)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverServerArgs) ToGetIsVpcsVpcDnResolverServerOutput() GetIsVpcsVpcDnResolverServerOutput { + return i.ToGetIsVpcsVpcDnResolverServerOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverServerArgs) ToGetIsVpcsVpcDnResolverServerOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverServerOutput) +} + +// GetIsVpcsVpcDnResolverServerArrayInput is an input type that accepts GetIsVpcsVpcDnResolverServerArray and GetIsVpcsVpcDnResolverServerArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverServerArrayInput` via: +// +// GetIsVpcsVpcDnResolverServerArray{ GetIsVpcsVpcDnResolverServerArgs{...} } +type GetIsVpcsVpcDnResolverServerArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverServerArrayOutput() GetIsVpcsVpcDnResolverServerArrayOutput + ToGetIsVpcsVpcDnResolverServerArrayOutputWithContext(context.Context) GetIsVpcsVpcDnResolverServerArrayOutput +} + +type GetIsVpcsVpcDnResolverServerArray []GetIsVpcsVpcDnResolverServerInput + +func (GetIsVpcsVpcDnResolverServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverServer)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverServerArray) ToGetIsVpcsVpcDnResolverServerArrayOutput() GetIsVpcsVpcDnResolverServerArrayOutput { + return i.ToGetIsVpcsVpcDnResolverServerArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverServerArray) ToGetIsVpcsVpcDnResolverServerArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverServerArrayOutput) +} + +type GetIsVpcsVpcDnResolverServerOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverServer)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverServerOutput) ToGetIsVpcsVpcDnResolverServerOutput() GetIsVpcsVpcDnResolverServerOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverServerOutput) ToGetIsVpcsVpcDnResolverServerOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverServerOutput { + return o +} + +// The IP address.This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpcsVpcDnResolverServerOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverServer) string { return v.Address }).(pulumi.StringOutput) +} + +// Zone name, if present, DHCP configuration for this zone will have this DNS server listed first. +func (o GetIsVpcsVpcDnResolverServerOutput) ZoneAffinity() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverServer) string { return v.ZoneAffinity }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcDnResolverServerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverServer)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverServerArrayOutput) ToGetIsVpcsVpcDnResolverServerArrayOutput() GetIsVpcsVpcDnResolverServerArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverServerArrayOutput) ToGetIsVpcsVpcDnResolverServerArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverServerArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverServerArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcDnResolverServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcDnResolverServer { + return vs[0].([]GetIsVpcsVpcDnResolverServer)[vs[1].(int)] + }).(GetIsVpcsVpcDnResolverServerOutput) +} + +type GetIsVpcsVpcDnResolverVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVpcsVpcDnResolverVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name string `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes []GetIsVpcsVpcDnResolverVpcRemote `pulumi:"remotes"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcsVpcDnResolverVpcInput is an input type that accepts GetIsVpcsVpcDnResolverVpcArgs and GetIsVpcsVpcDnResolverVpcOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverVpcInput` via: +// +// GetIsVpcsVpcDnResolverVpcArgs{...} +type GetIsVpcsVpcDnResolverVpcInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverVpcOutput() GetIsVpcsVpcDnResolverVpcOutput + ToGetIsVpcsVpcDnResolverVpcOutputWithContext(context.Context) GetIsVpcsVpcDnResolverVpcOutput +} + +type GetIsVpcsVpcDnResolverVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVpcsVpcDnResolverVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The name for this VPC. The name is unique across all VPCs in the region. + Name pulumi.StringInput `pulumi:"name"` + // If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. + Remotes GetIsVpcsVpcDnResolverVpcRemoteArrayInput `pulumi:"remotes"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcsVpcDnResolverVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverVpc)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverVpcArgs) ToGetIsVpcsVpcDnResolverVpcOutput() GetIsVpcsVpcDnResolverVpcOutput { + return i.ToGetIsVpcsVpcDnResolverVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverVpcArgs) ToGetIsVpcsVpcDnResolverVpcOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverVpcOutput) +} + +// GetIsVpcsVpcDnResolverVpcArrayInput is an input type that accepts GetIsVpcsVpcDnResolverVpcArray and GetIsVpcsVpcDnResolverVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverVpcArrayInput` via: +// +// GetIsVpcsVpcDnResolverVpcArray{ GetIsVpcsVpcDnResolverVpcArgs{...} } +type GetIsVpcsVpcDnResolverVpcArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverVpcArrayOutput() GetIsVpcsVpcDnResolverVpcArrayOutput + ToGetIsVpcsVpcDnResolverVpcArrayOutputWithContext(context.Context) GetIsVpcsVpcDnResolverVpcArrayOutput +} + +type GetIsVpcsVpcDnResolverVpcArray []GetIsVpcsVpcDnResolverVpcInput + +func (GetIsVpcsVpcDnResolverVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverVpc)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverVpcArray) ToGetIsVpcsVpcDnResolverVpcArrayOutput() GetIsVpcsVpcDnResolverVpcArrayOutput { + return i.ToGetIsVpcsVpcDnResolverVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverVpcArray) ToGetIsVpcsVpcDnResolverVpcArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverVpcArrayOutput) +} + +type GetIsVpcsVpcDnResolverVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverVpc)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverVpcOutput) ToGetIsVpcsVpcDnResolverVpcOutput() GetIsVpcsVpcDnResolverVpcOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcOutput) ToGetIsVpcsVpcDnResolverVpcOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVpcsVpcDnResolverVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVpcsVpcDnResolverVpcOutput) Deleteds() GetIsVpcsVpcDnResolverVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpc) []GetIsVpcsVpcDnResolverVpcDeleted { return v.Deleteds }).(GetIsVpcsVpcDnResolverVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsVpcsVpcDnResolverVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVpcsVpcDnResolverVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this VPC. The name is unique across all VPCs in the region. +func (o GetIsVpcsVpcDnResolverVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpc) string { return v.Name }).(pulumi.StringOutput) +} + +// If present, this property indicates that the resource associated with this referenceis remote and therefore may not be directly retrievable. +func (o GetIsVpcsVpcDnResolverVpcOutput) Remotes() GetIsVpcsVpcDnResolverVpcRemoteArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpc) []GetIsVpcsVpcDnResolverVpcRemote { return v.Remotes }).(GetIsVpcsVpcDnResolverVpcRemoteArrayOutput) +} + +// The resource type. +func (o GetIsVpcsVpcDnResolverVpcOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpc) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcDnResolverVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverVpc)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverVpcArrayOutput) ToGetIsVpcsVpcDnResolverVpcArrayOutput() GetIsVpcsVpcDnResolverVpcArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcArrayOutput) ToGetIsVpcsVpcDnResolverVpcArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcDnResolverVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcDnResolverVpc { + return vs[0].([]GetIsVpcsVpcDnResolverVpc)[vs[1].(int)] + }).(GetIsVpcsVpcDnResolverVpcOutput) +} + +type GetIsVpcsVpcDnResolverVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcsVpcDnResolverVpcDeletedInput is an input type that accepts GetIsVpcsVpcDnResolverVpcDeletedArgs and GetIsVpcsVpcDnResolverVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverVpcDeletedInput` via: +// +// GetIsVpcsVpcDnResolverVpcDeletedArgs{...} +type GetIsVpcsVpcDnResolverVpcDeletedInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverVpcDeletedOutput() GetIsVpcsVpcDnResolverVpcDeletedOutput + ToGetIsVpcsVpcDnResolverVpcDeletedOutputWithContext(context.Context) GetIsVpcsVpcDnResolverVpcDeletedOutput +} + +type GetIsVpcsVpcDnResolverVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcsVpcDnResolverVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverVpcDeletedArgs) ToGetIsVpcsVpcDnResolverVpcDeletedOutput() GetIsVpcsVpcDnResolverVpcDeletedOutput { + return i.ToGetIsVpcsVpcDnResolverVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverVpcDeletedArgs) ToGetIsVpcsVpcDnResolverVpcDeletedOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverVpcDeletedOutput) +} + +// GetIsVpcsVpcDnResolverVpcDeletedArrayInput is an input type that accepts GetIsVpcsVpcDnResolverVpcDeletedArray and GetIsVpcsVpcDnResolverVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverVpcDeletedArrayInput` via: +// +// GetIsVpcsVpcDnResolverVpcDeletedArray{ GetIsVpcsVpcDnResolverVpcDeletedArgs{...} } +type GetIsVpcsVpcDnResolverVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverVpcDeletedArrayOutput() GetIsVpcsVpcDnResolverVpcDeletedArrayOutput + ToGetIsVpcsVpcDnResolverVpcDeletedArrayOutputWithContext(context.Context) GetIsVpcsVpcDnResolverVpcDeletedArrayOutput +} + +type GetIsVpcsVpcDnResolverVpcDeletedArray []GetIsVpcsVpcDnResolverVpcDeletedInput + +func (GetIsVpcsVpcDnResolverVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverVpcDeletedArray) ToGetIsVpcsVpcDnResolverVpcDeletedArrayOutput() GetIsVpcsVpcDnResolverVpcDeletedArrayOutput { + return i.ToGetIsVpcsVpcDnResolverVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverVpcDeletedArray) ToGetIsVpcsVpcDnResolverVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverVpcDeletedArrayOutput) +} + +type GetIsVpcsVpcDnResolverVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverVpcDeletedOutput) ToGetIsVpcsVpcDnResolverVpcDeletedOutput() GetIsVpcsVpcDnResolverVpcDeletedOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcDeletedOutput) ToGetIsVpcsVpcDnResolverVpcDeletedOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcsVpcDnResolverVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcDnResolverVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverVpcDeletedArrayOutput) ToGetIsVpcsVpcDnResolverVpcDeletedArrayOutput() GetIsVpcsVpcDnResolverVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcDeletedArrayOutput) ToGetIsVpcsVpcDnResolverVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcDnResolverVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcDnResolverVpcDeleted { + return vs[0].([]GetIsVpcsVpcDnResolverVpcDeleted)[vs[1].(int)] + }).(GetIsVpcsVpcDnResolverVpcDeletedOutput) +} + +type GetIsVpcsVpcDnResolverVpcRemote struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts []GetIsVpcsVpcDnResolverVpcRemoteAccount `pulumi:"accounts"` + // Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. + Region string `pulumi:"region"` +} + +// GetIsVpcsVpcDnResolverVpcRemoteInput is an input type that accepts GetIsVpcsVpcDnResolverVpcRemoteArgs and GetIsVpcsVpcDnResolverVpcRemoteOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverVpcRemoteInput` via: +// +// GetIsVpcsVpcDnResolverVpcRemoteArgs{...} +type GetIsVpcsVpcDnResolverVpcRemoteInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverVpcRemoteOutput() GetIsVpcsVpcDnResolverVpcRemoteOutput + ToGetIsVpcsVpcDnResolverVpcRemoteOutputWithContext(context.Context) GetIsVpcsVpcDnResolverVpcRemoteOutput +} + +type GetIsVpcsVpcDnResolverVpcRemoteArgs struct { + // If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. + Accounts GetIsVpcsVpcDnResolverVpcRemoteAccountArrayInput `pulumi:"accounts"` + // Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. + Region pulumi.StringInput `pulumi:"region"` +} + +func (GetIsVpcsVpcDnResolverVpcRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcRemote)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverVpcRemoteArgs) ToGetIsVpcsVpcDnResolverVpcRemoteOutput() GetIsVpcsVpcDnResolverVpcRemoteOutput { + return i.ToGetIsVpcsVpcDnResolverVpcRemoteOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverVpcRemoteArgs) ToGetIsVpcsVpcDnResolverVpcRemoteOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverVpcRemoteOutput) +} + +// GetIsVpcsVpcDnResolverVpcRemoteArrayInput is an input type that accepts GetIsVpcsVpcDnResolverVpcRemoteArray and GetIsVpcsVpcDnResolverVpcRemoteArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverVpcRemoteArrayInput` via: +// +// GetIsVpcsVpcDnResolverVpcRemoteArray{ GetIsVpcsVpcDnResolverVpcRemoteArgs{...} } +type GetIsVpcsVpcDnResolverVpcRemoteArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverVpcRemoteArrayOutput() GetIsVpcsVpcDnResolverVpcRemoteArrayOutput + ToGetIsVpcsVpcDnResolverVpcRemoteArrayOutputWithContext(context.Context) GetIsVpcsVpcDnResolverVpcRemoteArrayOutput +} + +type GetIsVpcsVpcDnResolverVpcRemoteArray []GetIsVpcsVpcDnResolverVpcRemoteInput + +func (GetIsVpcsVpcDnResolverVpcRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverVpcRemote)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverVpcRemoteArray) ToGetIsVpcsVpcDnResolverVpcRemoteArrayOutput() GetIsVpcsVpcDnResolverVpcRemoteArrayOutput { + return i.ToGetIsVpcsVpcDnResolverVpcRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverVpcRemoteArray) ToGetIsVpcsVpcDnResolverVpcRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverVpcRemoteArrayOutput) +} + +type GetIsVpcsVpcDnResolverVpcRemoteOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverVpcRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcRemote)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteOutput) ToGetIsVpcsVpcDnResolverVpcRemoteOutput() GetIsVpcsVpcDnResolverVpcRemoteOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteOutput) ToGetIsVpcsVpcDnResolverVpcRemoteOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcRemoteOutput { + return o +} + +// If present, this property indicates that the referenced resource is remote to thisaccount, and identifies the owning account. +func (o GetIsVpcsVpcDnResolverVpcRemoteOutput) Accounts() GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpcRemote) []GetIsVpcsVpcDnResolverVpcRemoteAccount { return v.Accounts }).(GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput) +} + +// Region name. If present, this property indicates that the referenced resource is remote to this region, and identifies the native region. +func (o GetIsVpcsVpcDnResolverVpcRemoteOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpcRemote) string { return v.Region }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcDnResolverVpcRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverVpcRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverVpcRemote)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteArrayOutput) ToGetIsVpcsVpcDnResolverVpcRemoteArrayOutput() GetIsVpcsVpcDnResolverVpcRemoteArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteArrayOutput) ToGetIsVpcsVpcDnResolverVpcRemoteArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcRemoteArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcDnResolverVpcRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcDnResolverVpcRemote { + return vs[0].([]GetIsVpcsVpcDnResolverVpcRemote)[vs[1].(int)] + }).(GetIsVpcsVpcDnResolverVpcRemoteOutput) +} + +type GetIsVpcsVpcDnResolverVpcRemoteAccount struct { + // The unique identifier for this account. + Id string `pulumi:"id"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcsVpcDnResolverVpcRemoteAccountInput is an input type that accepts GetIsVpcsVpcDnResolverVpcRemoteAccountArgs and GetIsVpcsVpcDnResolverVpcRemoteAccountOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverVpcRemoteAccountInput` via: +// +// GetIsVpcsVpcDnResolverVpcRemoteAccountArgs{...} +type GetIsVpcsVpcDnResolverVpcRemoteAccountInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverVpcRemoteAccountOutput() GetIsVpcsVpcDnResolverVpcRemoteAccountOutput + ToGetIsVpcsVpcDnResolverVpcRemoteAccountOutputWithContext(context.Context) GetIsVpcsVpcDnResolverVpcRemoteAccountOutput +} + +type GetIsVpcsVpcDnResolverVpcRemoteAccountArgs struct { + // The unique identifier for this account. + Id pulumi.StringInput `pulumi:"id"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcsVpcDnResolverVpcRemoteAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverVpcRemoteAccountArgs) ToGetIsVpcsVpcDnResolverVpcRemoteAccountOutput() GetIsVpcsVpcDnResolverVpcRemoteAccountOutput { + return i.ToGetIsVpcsVpcDnResolverVpcRemoteAccountOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverVpcRemoteAccountArgs) ToGetIsVpcsVpcDnResolverVpcRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcRemoteAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverVpcRemoteAccountOutput) +} + +// GetIsVpcsVpcDnResolverVpcRemoteAccountArrayInput is an input type that accepts GetIsVpcsVpcDnResolverVpcRemoteAccountArray and GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcDnResolverVpcRemoteAccountArrayInput` via: +// +// GetIsVpcsVpcDnResolverVpcRemoteAccountArray{ GetIsVpcsVpcDnResolverVpcRemoteAccountArgs{...} } +type GetIsVpcsVpcDnResolverVpcRemoteAccountArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput() GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput + ToGetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutputWithContext(context.Context) GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput +} + +type GetIsVpcsVpcDnResolverVpcRemoteAccountArray []GetIsVpcsVpcDnResolverVpcRemoteAccountInput + +func (GetIsVpcsVpcDnResolverVpcRemoteAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverVpcRemoteAccount)(nil)).Elem() +} + +func (i GetIsVpcsVpcDnResolverVpcRemoteAccountArray) ToGetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput() GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput { + return i.ToGetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcDnResolverVpcRemoteAccountArray) ToGetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput) +} + +type GetIsVpcsVpcDnResolverVpcRemoteAccountOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverVpcRemoteAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteAccountOutput) ToGetIsVpcsVpcDnResolverVpcRemoteAccountOutput() GetIsVpcsVpcDnResolverVpcRemoteAccountOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteAccountOutput) ToGetIsVpcsVpcDnResolverVpcRemoteAccountOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcRemoteAccountOutput { + return o +} + +// The unique identifier for this account. +func (o GetIsVpcsVpcDnResolverVpcRemoteAccountOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpcRemoteAccount) string { return v.Id }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcsVpcDnResolverVpcRemoteAccountOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcDnResolverVpcRemoteAccount) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcDnResolverVpcRemoteAccount)(nil)).Elem() +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput) ToGetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput() GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput) ToGetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput { + return o +} + +func (o GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcDnResolverVpcRemoteAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcDnResolverVpcRemoteAccount { + return vs[0].([]GetIsVpcsVpcDnResolverVpcRemoteAccount)[vs[1].(int)] + }).(GetIsVpcsVpcDnResolverVpcRemoteAccountOutput) +} + +type GetIsVpcsVpcHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcsVpcHealthReasonInput is an input type that accepts GetIsVpcsVpcHealthReasonArgs and GetIsVpcsVpcHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcHealthReasonInput` via: +// +// GetIsVpcsVpcHealthReasonArgs{...} +type GetIsVpcsVpcHealthReasonInput interface { + pulumi.Input + + ToGetIsVpcsVpcHealthReasonOutput() GetIsVpcsVpcHealthReasonOutput + ToGetIsVpcsVpcHealthReasonOutputWithContext(context.Context) GetIsVpcsVpcHealthReasonOutput +} + +type GetIsVpcsVpcHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcsVpcHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcHealthReason)(nil)).Elem() +} + +func (i GetIsVpcsVpcHealthReasonArgs) ToGetIsVpcsVpcHealthReasonOutput() GetIsVpcsVpcHealthReasonOutput { + return i.ToGetIsVpcsVpcHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcHealthReasonArgs) ToGetIsVpcsVpcHealthReasonOutputWithContext(ctx context.Context) GetIsVpcsVpcHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcHealthReasonOutput) +} + +// GetIsVpcsVpcHealthReasonArrayInput is an input type that accepts GetIsVpcsVpcHealthReasonArray and GetIsVpcsVpcHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcHealthReasonArrayInput` via: +// +// GetIsVpcsVpcHealthReasonArray{ GetIsVpcsVpcHealthReasonArgs{...} } +type GetIsVpcsVpcHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcHealthReasonArrayOutput() GetIsVpcsVpcHealthReasonArrayOutput + ToGetIsVpcsVpcHealthReasonArrayOutputWithContext(context.Context) GetIsVpcsVpcHealthReasonArrayOutput +} + +type GetIsVpcsVpcHealthReasonArray []GetIsVpcsVpcHealthReasonInput + +func (GetIsVpcsVpcHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcHealthReason)(nil)).Elem() +} + +func (i GetIsVpcsVpcHealthReasonArray) ToGetIsVpcsVpcHealthReasonArrayOutput() GetIsVpcsVpcHealthReasonArrayOutput { + return i.ToGetIsVpcsVpcHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcHealthReasonArray) ToGetIsVpcsVpcHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcHealthReasonArrayOutput) +} + +type GetIsVpcsVpcHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcHealthReason)(nil)).Elem() +} + +func (o GetIsVpcsVpcHealthReasonOutput) ToGetIsVpcsVpcHealthReasonOutput() GetIsVpcsVpcHealthReasonOutput { + return o +} + +func (o GetIsVpcsVpcHealthReasonOutput) ToGetIsVpcsVpcHealthReasonOutputWithContext(ctx context.Context) GetIsVpcsVpcHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpcsVpcHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpcsVpcHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpcsVpcHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcHealthReason)(nil)).Elem() +} + +func (o GetIsVpcsVpcHealthReasonArrayOutput) ToGetIsVpcsVpcHealthReasonArrayOutput() GetIsVpcsVpcHealthReasonArrayOutput { + return o +} + +func (o GetIsVpcsVpcHealthReasonArrayOutput) ToGetIsVpcsVpcHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcHealthReasonArrayOutput { + return o +} + +func (o GetIsVpcsVpcHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcHealthReason { + return vs[0].([]GetIsVpcsVpcHealthReason)[vs[1].(int)] + }).(GetIsVpcsVpcHealthReasonOutput) +} + +type GetIsVpcsVpcPublicAddressRange struct { + // The CRN for this public address range. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds []GetIsVpcsVpcPublicAddressRangeDeleted `pulumi:"deleteds"` + // The URL for this public address range. + Href string `pulumi:"href"` + // The unique identifier for this public address range. + Id string `pulumi:"id"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpcsVpcPublicAddressRangeInput is an input type that accepts GetIsVpcsVpcPublicAddressRangeArgs and GetIsVpcsVpcPublicAddressRangeOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcPublicAddressRangeInput` via: +// +// GetIsVpcsVpcPublicAddressRangeArgs{...} +type GetIsVpcsVpcPublicAddressRangeInput interface { + pulumi.Input + + ToGetIsVpcsVpcPublicAddressRangeOutput() GetIsVpcsVpcPublicAddressRangeOutput + ToGetIsVpcsVpcPublicAddressRangeOutputWithContext(context.Context) GetIsVpcsVpcPublicAddressRangeOutput +} + +type GetIsVpcsVpcPublicAddressRangeArgs struct { + // The CRN for this public address range. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. + Deleteds GetIsVpcsVpcPublicAddressRangeDeletedArrayInput `pulumi:"deleteds"` + // The URL for this public address range. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this public address range. + Id pulumi.StringInput `pulumi:"id"` + // The name for this public address range. The name is unique across all public address ranges in the region. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpcsVpcPublicAddressRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcPublicAddressRange)(nil)).Elem() +} + +func (i GetIsVpcsVpcPublicAddressRangeArgs) ToGetIsVpcsVpcPublicAddressRangeOutput() GetIsVpcsVpcPublicAddressRangeOutput { + return i.ToGetIsVpcsVpcPublicAddressRangeOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcPublicAddressRangeArgs) ToGetIsVpcsVpcPublicAddressRangeOutputWithContext(ctx context.Context) GetIsVpcsVpcPublicAddressRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcPublicAddressRangeOutput) +} + +// GetIsVpcsVpcPublicAddressRangeArrayInput is an input type that accepts GetIsVpcsVpcPublicAddressRangeArray and GetIsVpcsVpcPublicAddressRangeArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcPublicAddressRangeArrayInput` via: +// +// GetIsVpcsVpcPublicAddressRangeArray{ GetIsVpcsVpcPublicAddressRangeArgs{...} } +type GetIsVpcsVpcPublicAddressRangeArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcPublicAddressRangeArrayOutput() GetIsVpcsVpcPublicAddressRangeArrayOutput + ToGetIsVpcsVpcPublicAddressRangeArrayOutputWithContext(context.Context) GetIsVpcsVpcPublicAddressRangeArrayOutput +} + +type GetIsVpcsVpcPublicAddressRangeArray []GetIsVpcsVpcPublicAddressRangeInput + +func (GetIsVpcsVpcPublicAddressRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcPublicAddressRange)(nil)).Elem() +} + +func (i GetIsVpcsVpcPublicAddressRangeArray) ToGetIsVpcsVpcPublicAddressRangeArrayOutput() GetIsVpcsVpcPublicAddressRangeArrayOutput { + return i.ToGetIsVpcsVpcPublicAddressRangeArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcPublicAddressRangeArray) ToGetIsVpcsVpcPublicAddressRangeArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcPublicAddressRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcPublicAddressRangeArrayOutput) +} + +type GetIsVpcsVpcPublicAddressRangeOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcPublicAddressRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcPublicAddressRange)(nil)).Elem() +} + +func (o GetIsVpcsVpcPublicAddressRangeOutput) ToGetIsVpcsVpcPublicAddressRangeOutput() GetIsVpcsVpcPublicAddressRangeOutput { + return o +} + +func (o GetIsVpcsVpcPublicAddressRangeOutput) ToGetIsVpcsVpcPublicAddressRangeOutputWithContext(ctx context.Context) GetIsVpcsVpcPublicAddressRangeOutput { + return o +} + +// The CRN for this public address range. +func (o GetIsVpcsVpcPublicAddressRangeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcPublicAddressRange) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted, and providessome supplementary information. +func (o GetIsVpcsVpcPublicAddressRangeOutput) Deleteds() GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcPublicAddressRange) []GetIsVpcsVpcPublicAddressRangeDeleted { return v.Deleteds }).(GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput) +} + +// The URL for this public address range. +func (o GetIsVpcsVpcPublicAddressRangeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcPublicAddressRange) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this public address range. +func (o GetIsVpcsVpcPublicAddressRangeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcPublicAddressRange) string { return v.Id }).(pulumi.StringOutput) +} + +// The name for this public address range. The name is unique across all public address ranges in the region. +func (o GetIsVpcsVpcPublicAddressRangeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcPublicAddressRange) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpcsVpcPublicAddressRangeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcPublicAddressRange) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcPublicAddressRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcPublicAddressRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcPublicAddressRange)(nil)).Elem() +} + +func (o GetIsVpcsVpcPublicAddressRangeArrayOutput) ToGetIsVpcsVpcPublicAddressRangeArrayOutput() GetIsVpcsVpcPublicAddressRangeArrayOutput { + return o +} + +func (o GetIsVpcsVpcPublicAddressRangeArrayOutput) ToGetIsVpcsVpcPublicAddressRangeArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcPublicAddressRangeArrayOutput { + return o +} + +func (o GetIsVpcsVpcPublicAddressRangeArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcPublicAddressRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcPublicAddressRange { + return vs[0].([]GetIsVpcsVpcPublicAddressRange)[vs[1].(int)] + }).(GetIsVpcsVpcPublicAddressRangeOutput) +} + +type GetIsVpcsVpcPublicAddressRangeDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpcsVpcPublicAddressRangeDeletedInput is an input type that accepts GetIsVpcsVpcPublicAddressRangeDeletedArgs and GetIsVpcsVpcPublicAddressRangeDeletedOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcPublicAddressRangeDeletedInput` via: +// +// GetIsVpcsVpcPublicAddressRangeDeletedArgs{...} +type GetIsVpcsVpcPublicAddressRangeDeletedInput interface { + pulumi.Input + + ToGetIsVpcsVpcPublicAddressRangeDeletedOutput() GetIsVpcsVpcPublicAddressRangeDeletedOutput + ToGetIsVpcsVpcPublicAddressRangeDeletedOutputWithContext(context.Context) GetIsVpcsVpcPublicAddressRangeDeletedOutput +} + +type GetIsVpcsVpcPublicAddressRangeDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpcsVpcPublicAddressRangeDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (i GetIsVpcsVpcPublicAddressRangeDeletedArgs) ToGetIsVpcsVpcPublicAddressRangeDeletedOutput() GetIsVpcsVpcPublicAddressRangeDeletedOutput { + return i.ToGetIsVpcsVpcPublicAddressRangeDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcPublicAddressRangeDeletedArgs) ToGetIsVpcsVpcPublicAddressRangeDeletedOutputWithContext(ctx context.Context) GetIsVpcsVpcPublicAddressRangeDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcPublicAddressRangeDeletedOutput) +} + +// GetIsVpcsVpcPublicAddressRangeDeletedArrayInput is an input type that accepts GetIsVpcsVpcPublicAddressRangeDeletedArray and GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcPublicAddressRangeDeletedArrayInput` via: +// +// GetIsVpcsVpcPublicAddressRangeDeletedArray{ GetIsVpcsVpcPublicAddressRangeDeletedArgs{...} } +type GetIsVpcsVpcPublicAddressRangeDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcPublicAddressRangeDeletedArrayOutput() GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput + ToGetIsVpcsVpcPublicAddressRangeDeletedArrayOutputWithContext(context.Context) GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput +} + +type GetIsVpcsVpcPublicAddressRangeDeletedArray []GetIsVpcsVpcPublicAddressRangeDeletedInput + +func (GetIsVpcsVpcPublicAddressRangeDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (i GetIsVpcsVpcPublicAddressRangeDeletedArray) ToGetIsVpcsVpcPublicAddressRangeDeletedArrayOutput() GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput { + return i.ToGetIsVpcsVpcPublicAddressRangeDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcPublicAddressRangeDeletedArray) ToGetIsVpcsVpcPublicAddressRangeDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput) +} + +type GetIsVpcsVpcPublicAddressRangeDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcPublicAddressRangeDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (o GetIsVpcsVpcPublicAddressRangeDeletedOutput) ToGetIsVpcsVpcPublicAddressRangeDeletedOutput() GetIsVpcsVpcPublicAddressRangeDeletedOutput { + return o +} + +func (o GetIsVpcsVpcPublicAddressRangeDeletedOutput) ToGetIsVpcsVpcPublicAddressRangeDeletedOutputWithContext(ctx context.Context) GetIsVpcsVpcPublicAddressRangeDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpcsVpcPublicAddressRangeDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcPublicAddressRangeDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcPublicAddressRangeDeleted)(nil)).Elem() +} + +func (o GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput) ToGetIsVpcsVpcPublicAddressRangeDeletedArrayOutput() GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput { + return o +} + +func (o GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput) ToGetIsVpcsVpcPublicAddressRangeDeletedArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput { + return o +} + +func (o GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcPublicAddressRangeDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcPublicAddressRangeDeleted { + return vs[0].([]GetIsVpcsVpcPublicAddressRangeDeleted)[vs[1].(int)] + }).(GetIsVpcsVpcPublicAddressRangeDeletedOutput) +} + +type GetIsVpcsVpcSecurityGroup struct { + // Security group id + GroupId string `pulumi:"groupId"` + // Security group name + GroupName string `pulumi:"groupName"` + // Security Rules + Rules []GetIsVpcsVpcSecurityGroupRule `pulumi:"rules"` +} + +// GetIsVpcsVpcSecurityGroupInput is an input type that accepts GetIsVpcsVpcSecurityGroupArgs and GetIsVpcsVpcSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcSecurityGroupInput` via: +// +// GetIsVpcsVpcSecurityGroupArgs{...} +type GetIsVpcsVpcSecurityGroupInput interface { + pulumi.Input + + ToGetIsVpcsVpcSecurityGroupOutput() GetIsVpcsVpcSecurityGroupOutput + ToGetIsVpcsVpcSecurityGroupOutputWithContext(context.Context) GetIsVpcsVpcSecurityGroupOutput +} + +type GetIsVpcsVpcSecurityGroupArgs struct { + // Security group id + GroupId pulumi.StringInput `pulumi:"groupId"` + // Security group name + GroupName pulumi.StringInput `pulumi:"groupName"` + // Security Rules + Rules GetIsVpcsVpcSecurityGroupRuleArrayInput `pulumi:"rules"` +} + +func (GetIsVpcsVpcSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcSecurityGroup)(nil)).Elem() +} + +func (i GetIsVpcsVpcSecurityGroupArgs) ToGetIsVpcsVpcSecurityGroupOutput() GetIsVpcsVpcSecurityGroupOutput { + return i.ToGetIsVpcsVpcSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcSecurityGroupArgs) ToGetIsVpcsVpcSecurityGroupOutputWithContext(ctx context.Context) GetIsVpcsVpcSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcSecurityGroupOutput) +} + +// GetIsVpcsVpcSecurityGroupArrayInput is an input type that accepts GetIsVpcsVpcSecurityGroupArray and GetIsVpcsVpcSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcSecurityGroupArrayInput` via: +// +// GetIsVpcsVpcSecurityGroupArray{ GetIsVpcsVpcSecurityGroupArgs{...} } +type GetIsVpcsVpcSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcSecurityGroupArrayOutput() GetIsVpcsVpcSecurityGroupArrayOutput + ToGetIsVpcsVpcSecurityGroupArrayOutputWithContext(context.Context) GetIsVpcsVpcSecurityGroupArrayOutput +} + +type GetIsVpcsVpcSecurityGroupArray []GetIsVpcsVpcSecurityGroupInput + +func (GetIsVpcsVpcSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcSecurityGroup)(nil)).Elem() +} + +func (i GetIsVpcsVpcSecurityGroupArray) ToGetIsVpcsVpcSecurityGroupArrayOutput() GetIsVpcsVpcSecurityGroupArrayOutput { + return i.ToGetIsVpcsVpcSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcSecurityGroupArray) ToGetIsVpcsVpcSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcSecurityGroupArrayOutput) +} + +type GetIsVpcsVpcSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcSecurityGroup)(nil)).Elem() +} + +func (o GetIsVpcsVpcSecurityGroupOutput) ToGetIsVpcsVpcSecurityGroupOutput() GetIsVpcsVpcSecurityGroupOutput { + return o +} + +func (o GetIsVpcsVpcSecurityGroupOutput) ToGetIsVpcsVpcSecurityGroupOutputWithContext(ctx context.Context) GetIsVpcsVpcSecurityGroupOutput { + return o +} + +// Security group id +func (o GetIsVpcsVpcSecurityGroupOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroup) string { return v.GroupId }).(pulumi.StringOutput) +} + +// Security group name +func (o GetIsVpcsVpcSecurityGroupOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroup) string { return v.GroupName }).(pulumi.StringOutput) +} + +// Security Rules +func (o GetIsVpcsVpcSecurityGroupOutput) Rules() GetIsVpcsVpcSecurityGroupRuleArrayOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroup) []GetIsVpcsVpcSecurityGroupRule { return v.Rules }).(GetIsVpcsVpcSecurityGroupRuleArrayOutput) +} + +type GetIsVpcsVpcSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcSecurityGroup)(nil)).Elem() +} + +func (o GetIsVpcsVpcSecurityGroupArrayOutput) ToGetIsVpcsVpcSecurityGroupArrayOutput() GetIsVpcsVpcSecurityGroupArrayOutput { + return o +} + +func (o GetIsVpcsVpcSecurityGroupArrayOutput) ToGetIsVpcsVpcSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcSecurityGroupArrayOutput { + return o +} + +func (o GetIsVpcsVpcSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcSecurityGroup { + return vs[0].([]GetIsVpcsVpcSecurityGroup)[vs[1].(int)] + }).(GetIsVpcsVpcSecurityGroupOutput) +} + +type GetIsVpcsVpcSecurityGroupRule struct { + Code int `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction string `pulumi:"direction"` + // IP version: ipv4 or ipv6 + IpVersion string `pulumi:"ipVersion"` + PortMax int `pulumi:"portMax"` + PortMin int `pulumi:"portMin"` + Protocol string `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote string `pulumi:"remote"` + // Rule ID + RuleId string `pulumi:"ruleId"` + Type int `pulumi:"type"` +} + +// GetIsVpcsVpcSecurityGroupRuleInput is an input type that accepts GetIsVpcsVpcSecurityGroupRuleArgs and GetIsVpcsVpcSecurityGroupRuleOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcSecurityGroupRuleInput` via: +// +// GetIsVpcsVpcSecurityGroupRuleArgs{...} +type GetIsVpcsVpcSecurityGroupRuleInput interface { + pulumi.Input + + ToGetIsVpcsVpcSecurityGroupRuleOutput() GetIsVpcsVpcSecurityGroupRuleOutput + ToGetIsVpcsVpcSecurityGroupRuleOutputWithContext(context.Context) GetIsVpcsVpcSecurityGroupRuleOutput +} + +type GetIsVpcsVpcSecurityGroupRuleArgs struct { + Code pulumi.IntInput `pulumi:"code"` + // Direction of traffic to enforce, either inbound or outbound + Direction pulumi.StringInput `pulumi:"direction"` + // IP version: ipv4 or ipv6 + IpVersion pulumi.StringInput `pulumi:"ipVersion"` + PortMax pulumi.IntInput `pulumi:"portMax"` + PortMin pulumi.IntInput `pulumi:"portMin"` + Protocol pulumi.StringInput `pulumi:"protocol"` + // Security group id: an IP address, a CIDR block, or a single security group identifier + Remote pulumi.StringInput `pulumi:"remote"` + // Rule ID + RuleId pulumi.StringInput `pulumi:"ruleId"` + Type pulumi.IntInput `pulumi:"type"` +} + +func (GetIsVpcsVpcSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcSecurityGroupRule)(nil)).Elem() +} + +func (i GetIsVpcsVpcSecurityGroupRuleArgs) ToGetIsVpcsVpcSecurityGroupRuleOutput() GetIsVpcsVpcSecurityGroupRuleOutput { + return i.ToGetIsVpcsVpcSecurityGroupRuleOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcSecurityGroupRuleArgs) ToGetIsVpcsVpcSecurityGroupRuleOutputWithContext(ctx context.Context) GetIsVpcsVpcSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcSecurityGroupRuleOutput) +} + +// GetIsVpcsVpcSecurityGroupRuleArrayInput is an input type that accepts GetIsVpcsVpcSecurityGroupRuleArray and GetIsVpcsVpcSecurityGroupRuleArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcSecurityGroupRuleArrayInput` via: +// +// GetIsVpcsVpcSecurityGroupRuleArray{ GetIsVpcsVpcSecurityGroupRuleArgs{...} } +type GetIsVpcsVpcSecurityGroupRuleArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcSecurityGroupRuleArrayOutput() GetIsVpcsVpcSecurityGroupRuleArrayOutput + ToGetIsVpcsVpcSecurityGroupRuleArrayOutputWithContext(context.Context) GetIsVpcsVpcSecurityGroupRuleArrayOutput +} + +type GetIsVpcsVpcSecurityGroupRuleArray []GetIsVpcsVpcSecurityGroupRuleInput + +func (GetIsVpcsVpcSecurityGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcSecurityGroupRule)(nil)).Elem() +} + +func (i GetIsVpcsVpcSecurityGroupRuleArray) ToGetIsVpcsVpcSecurityGroupRuleArrayOutput() GetIsVpcsVpcSecurityGroupRuleArrayOutput { + return i.ToGetIsVpcsVpcSecurityGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcSecurityGroupRuleArray) ToGetIsVpcsVpcSecurityGroupRuleArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcSecurityGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcSecurityGroupRuleArrayOutput) +} + +type GetIsVpcsVpcSecurityGroupRuleOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcSecurityGroupRule)(nil)).Elem() +} + +func (o GetIsVpcsVpcSecurityGroupRuleOutput) ToGetIsVpcsVpcSecurityGroupRuleOutput() GetIsVpcsVpcSecurityGroupRuleOutput { + return o +} + +func (o GetIsVpcsVpcSecurityGroupRuleOutput) ToGetIsVpcsVpcSecurityGroupRuleOutputWithContext(ctx context.Context) GetIsVpcsVpcSecurityGroupRuleOutput { + return o +} + +func (o GetIsVpcsVpcSecurityGroupRuleOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) int { return v.Code }).(pulumi.IntOutput) +} + +// Direction of traffic to enforce, either inbound or outbound +func (o GetIsVpcsVpcSecurityGroupRuleOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) string { return v.Direction }).(pulumi.StringOutput) +} + +// IP version: ipv4 or ipv6 +func (o GetIsVpcsVpcSecurityGroupRuleOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) string { return v.IpVersion }).(pulumi.StringOutput) +} + +func (o GetIsVpcsVpcSecurityGroupRuleOutput) PortMax() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) int { return v.PortMax }).(pulumi.IntOutput) +} + +func (o GetIsVpcsVpcSecurityGroupRuleOutput) PortMin() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) int { return v.PortMin }).(pulumi.IntOutput) +} + +func (o GetIsVpcsVpcSecurityGroupRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) string { return v.Protocol }).(pulumi.StringOutput) +} + +// Security group id: an IP address, a CIDR block, or a single security group identifier +func (o GetIsVpcsVpcSecurityGroupRuleOutput) Remote() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) string { return v.Remote }).(pulumi.StringOutput) +} + +// Rule ID +func (o GetIsVpcsVpcSecurityGroupRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) string { return v.RuleId }).(pulumi.StringOutput) +} + +func (o GetIsVpcsVpcSecurityGroupRuleOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcsVpcSecurityGroupRule) int { return v.Type }).(pulumi.IntOutput) +} + +type GetIsVpcsVpcSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcSecurityGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcSecurityGroupRule)(nil)).Elem() +} + +func (o GetIsVpcsVpcSecurityGroupRuleArrayOutput) ToGetIsVpcsVpcSecurityGroupRuleArrayOutput() GetIsVpcsVpcSecurityGroupRuleArrayOutput { + return o +} + +func (o GetIsVpcsVpcSecurityGroupRuleArrayOutput) ToGetIsVpcsVpcSecurityGroupRuleArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcSecurityGroupRuleArrayOutput { + return o +} + +func (o GetIsVpcsVpcSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcSecurityGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcSecurityGroupRule { + return vs[0].([]GetIsVpcsVpcSecurityGroupRule)[vs[1].(int)] + }).(GetIsVpcsVpcSecurityGroupRuleOutput) +} + +type GetIsVpcsVpcSubnet struct { + // Available IPv4 address count in the subnet + AvailableIpv4AddressCount int `pulumi:"availableIpv4AddressCount"` + // subnet ID + Id string `pulumi:"id"` + // subent name + Name string `pulumi:"name"` + // subnet status + Status string `pulumi:"status"` + // Total IPv4 address count in the subnet + TotalIpv4AddressCount int `pulumi:"totalIpv4AddressCount"` + // subnet location + Zone string `pulumi:"zone"` +} + +// GetIsVpcsVpcSubnetInput is an input type that accepts GetIsVpcsVpcSubnetArgs and GetIsVpcsVpcSubnetOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcSubnetInput` via: +// +// GetIsVpcsVpcSubnetArgs{...} +type GetIsVpcsVpcSubnetInput interface { + pulumi.Input + + ToGetIsVpcsVpcSubnetOutput() GetIsVpcsVpcSubnetOutput + ToGetIsVpcsVpcSubnetOutputWithContext(context.Context) GetIsVpcsVpcSubnetOutput +} + +type GetIsVpcsVpcSubnetArgs struct { + // Available IPv4 address count in the subnet + AvailableIpv4AddressCount pulumi.IntInput `pulumi:"availableIpv4AddressCount"` + // subnet ID + Id pulumi.StringInput `pulumi:"id"` + // subent name + Name pulumi.StringInput `pulumi:"name"` + // subnet status + Status pulumi.StringInput `pulumi:"status"` + // Total IPv4 address count in the subnet + TotalIpv4AddressCount pulumi.IntInput `pulumi:"totalIpv4AddressCount"` + // subnet location + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetIsVpcsVpcSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcSubnet)(nil)).Elem() +} + +func (i GetIsVpcsVpcSubnetArgs) ToGetIsVpcsVpcSubnetOutput() GetIsVpcsVpcSubnetOutput { + return i.ToGetIsVpcsVpcSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcSubnetArgs) ToGetIsVpcsVpcSubnetOutputWithContext(ctx context.Context) GetIsVpcsVpcSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcSubnetOutput) +} + +// GetIsVpcsVpcSubnetArrayInput is an input type that accepts GetIsVpcsVpcSubnetArray and GetIsVpcsVpcSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVpcsVpcSubnetArrayInput` via: +// +// GetIsVpcsVpcSubnetArray{ GetIsVpcsVpcSubnetArgs{...} } +type GetIsVpcsVpcSubnetArrayInput interface { + pulumi.Input + + ToGetIsVpcsVpcSubnetArrayOutput() GetIsVpcsVpcSubnetArrayOutput + ToGetIsVpcsVpcSubnetArrayOutputWithContext(context.Context) GetIsVpcsVpcSubnetArrayOutput +} + +type GetIsVpcsVpcSubnetArray []GetIsVpcsVpcSubnetInput + +func (GetIsVpcsVpcSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcSubnet)(nil)).Elem() +} + +func (i GetIsVpcsVpcSubnetArray) ToGetIsVpcsVpcSubnetArrayOutput() GetIsVpcsVpcSubnetArrayOutput { + return i.ToGetIsVpcsVpcSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpcsVpcSubnetArray) ToGetIsVpcsVpcSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpcsVpcSubnetArrayOutput) +} + +type GetIsVpcsVpcSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpcsVpcSubnet)(nil)).Elem() +} + +func (o GetIsVpcsVpcSubnetOutput) ToGetIsVpcsVpcSubnetOutput() GetIsVpcsVpcSubnetOutput { + return o +} + +func (o GetIsVpcsVpcSubnetOutput) ToGetIsVpcsVpcSubnetOutputWithContext(ctx context.Context) GetIsVpcsVpcSubnetOutput { + return o +} + +// Available IPv4 address count in the subnet +func (o GetIsVpcsVpcSubnetOutput) AvailableIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcsVpcSubnet) int { return v.AvailableIpv4AddressCount }).(pulumi.IntOutput) +} + +// subnet ID +func (o GetIsVpcsVpcSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// subent name +func (o GetIsVpcsVpcSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// subnet status +func (o GetIsVpcsVpcSubnetOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSubnet) string { return v.Status }).(pulumi.StringOutput) +} + +// Total IPv4 address count in the subnet +func (o GetIsVpcsVpcSubnetOutput) TotalIpv4AddressCount() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpcsVpcSubnet) int { return v.TotalIpv4AddressCount }).(pulumi.IntOutput) +} + +// subnet location +func (o GetIsVpcsVpcSubnetOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpcsVpcSubnet) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetIsVpcsVpcSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpcsVpcSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpcsVpcSubnet)(nil)).Elem() +} + +func (o GetIsVpcsVpcSubnetArrayOutput) ToGetIsVpcsVpcSubnetArrayOutput() GetIsVpcsVpcSubnetArrayOutput { + return o +} + +func (o GetIsVpcsVpcSubnetArrayOutput) ToGetIsVpcsVpcSubnetArrayOutputWithContext(ctx context.Context) GetIsVpcsVpcSubnetArrayOutput { + return o +} + +func (o GetIsVpcsVpcSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVpcsVpcSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpcsVpcSubnet { + return vs[0].([]GetIsVpcsVpcSubnet)[vs[1].(int)] + }).(GetIsVpcsVpcSubnetOutput) +} + +type GetIsVpnGatewayConnectionType struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsVpnGatewayConnectionDeleted `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id string `pulumi:"id"` + // The user-defined name for this VPN connection. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpnGatewayConnectionTypeInput is an input type that accepts GetIsVpnGatewayConnectionTypeArgs and GetIsVpnGatewayConnectionTypeOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionTypeInput` via: +// +// GetIsVpnGatewayConnectionTypeArgs{...} +type GetIsVpnGatewayConnectionTypeInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionTypeOutput() GetIsVpnGatewayConnectionTypeOutput + ToGetIsVpnGatewayConnectionTypeOutputWithContext(context.Context) GetIsVpnGatewayConnectionTypeOutput +} + +type GetIsVpnGatewayConnectionTypeArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsVpnGatewayConnectionDeletedArrayInput `pulumi:"deleteds"` + // The VPN connection's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway connection. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this VPN connection. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpnGatewayConnectionTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionType)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionTypeArgs) ToGetIsVpnGatewayConnectionTypeOutput() GetIsVpnGatewayConnectionTypeOutput { + return i.ToGetIsVpnGatewayConnectionTypeOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionTypeArgs) ToGetIsVpnGatewayConnectionTypeOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionTypeOutput) +} + +// GetIsVpnGatewayConnectionTypeArrayInput is an input type that accepts GetIsVpnGatewayConnectionTypeArray and GetIsVpnGatewayConnectionTypeArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionTypeArrayInput` via: +// +// GetIsVpnGatewayConnectionTypeArray{ GetIsVpnGatewayConnectionTypeArgs{...} } +type GetIsVpnGatewayConnectionTypeArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionTypeArrayOutput() GetIsVpnGatewayConnectionTypeArrayOutput + ToGetIsVpnGatewayConnectionTypeArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionTypeArrayOutput +} + +type GetIsVpnGatewayConnectionTypeArray []GetIsVpnGatewayConnectionTypeInput + +func (GetIsVpnGatewayConnectionTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionType)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionTypeArray) ToGetIsVpnGatewayConnectionTypeArrayOutput() GetIsVpnGatewayConnectionTypeArrayOutput { + return i.ToGetIsVpnGatewayConnectionTypeArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionTypeArray) ToGetIsVpnGatewayConnectionTypeArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionTypeArrayOutput) +} + +type GetIsVpnGatewayConnectionTypeOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionType)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionTypeOutput) ToGetIsVpnGatewayConnectionTypeOutput() GetIsVpnGatewayConnectionTypeOutput { + return o +} + +func (o GetIsVpnGatewayConnectionTypeOutput) ToGetIsVpnGatewayConnectionTypeOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionTypeOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsVpnGatewayConnectionTypeOutput) Deleteds() GetIsVpnGatewayConnectionDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionType) []GetIsVpnGatewayConnectionDeleted { return v.Deleteds }).(GetIsVpnGatewayConnectionDeletedArrayOutput) +} + +// The VPN connection's canonical URL. +func (o GetIsVpnGatewayConnectionTypeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionType) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway connection. +func (o GetIsVpnGatewayConnectionTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionType) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN connection. +func (o GetIsVpnGatewayConnectionTypeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionType) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnGatewayConnectionTypeOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionType) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionType)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionTypeArrayOutput) ToGetIsVpnGatewayConnectionTypeArrayOutput() GetIsVpnGatewayConnectionTypeArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionTypeArrayOutput) ToGetIsVpnGatewayConnectionTypeArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionTypeArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionTypeArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionType { + return vs[0].([]GetIsVpnGatewayConnectionType)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionTypeOutput) +} + +type GetIsVpnGatewayConnectionDeadPeerDetection struct { + // Dead Peer Detection actions. + Action string `pulumi:"action"` + // Dead Peer Detection interval in seconds. + Interval int `pulumi:"interval"` + // Dead Peer Detection timeout in seconds. Must be at least the interval. + Timeout int `pulumi:"timeout"` +} + +// GetIsVpnGatewayConnectionDeadPeerDetectionInput is an input type that accepts GetIsVpnGatewayConnectionDeadPeerDetectionArgs and GetIsVpnGatewayConnectionDeadPeerDetectionOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionDeadPeerDetectionInput` via: +// +// GetIsVpnGatewayConnectionDeadPeerDetectionArgs{...} +type GetIsVpnGatewayConnectionDeadPeerDetectionInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionDeadPeerDetectionOutput() GetIsVpnGatewayConnectionDeadPeerDetectionOutput + ToGetIsVpnGatewayConnectionDeadPeerDetectionOutputWithContext(context.Context) GetIsVpnGatewayConnectionDeadPeerDetectionOutput +} + +type GetIsVpnGatewayConnectionDeadPeerDetectionArgs struct { + // Dead Peer Detection actions. + Action pulumi.StringInput `pulumi:"action"` + // Dead Peer Detection interval in seconds. + Interval pulumi.IntInput `pulumi:"interval"` + // Dead Peer Detection timeout in seconds. Must be at least the interval. + Timeout pulumi.IntInput `pulumi:"timeout"` +} + +func (GetIsVpnGatewayConnectionDeadPeerDetectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionDeadPeerDetection)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionDeadPeerDetectionArgs) ToGetIsVpnGatewayConnectionDeadPeerDetectionOutput() GetIsVpnGatewayConnectionDeadPeerDetectionOutput { + return i.ToGetIsVpnGatewayConnectionDeadPeerDetectionOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionDeadPeerDetectionArgs) ToGetIsVpnGatewayConnectionDeadPeerDetectionOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionDeadPeerDetectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionDeadPeerDetectionOutput) +} + +// GetIsVpnGatewayConnectionDeadPeerDetectionArrayInput is an input type that accepts GetIsVpnGatewayConnectionDeadPeerDetectionArray and GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionDeadPeerDetectionArrayInput` via: +// +// GetIsVpnGatewayConnectionDeadPeerDetectionArray{ GetIsVpnGatewayConnectionDeadPeerDetectionArgs{...} } +type GetIsVpnGatewayConnectionDeadPeerDetectionArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput() GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput + ToGetIsVpnGatewayConnectionDeadPeerDetectionArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput +} + +type GetIsVpnGatewayConnectionDeadPeerDetectionArray []GetIsVpnGatewayConnectionDeadPeerDetectionInput + +func (GetIsVpnGatewayConnectionDeadPeerDetectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionDeadPeerDetection)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionDeadPeerDetectionArray) ToGetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput() GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput { + return i.ToGetIsVpnGatewayConnectionDeadPeerDetectionArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionDeadPeerDetectionArray) ToGetIsVpnGatewayConnectionDeadPeerDetectionArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput) +} + +type GetIsVpnGatewayConnectionDeadPeerDetectionOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionDeadPeerDetectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionDeadPeerDetection)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionDeadPeerDetectionOutput) ToGetIsVpnGatewayConnectionDeadPeerDetectionOutput() GetIsVpnGatewayConnectionDeadPeerDetectionOutput { + return o +} + +func (o GetIsVpnGatewayConnectionDeadPeerDetectionOutput) ToGetIsVpnGatewayConnectionDeadPeerDetectionOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionDeadPeerDetectionOutput { + return o +} + +// Dead Peer Detection actions. +func (o GetIsVpnGatewayConnectionDeadPeerDetectionOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionDeadPeerDetection) string { return v.Action }).(pulumi.StringOutput) +} + +// Dead Peer Detection interval in seconds. +func (o GetIsVpnGatewayConnectionDeadPeerDetectionOutput) Interval() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionDeadPeerDetection) int { return v.Interval }).(pulumi.IntOutput) +} + +// Dead Peer Detection timeout in seconds. Must be at least the interval. +func (o GetIsVpnGatewayConnectionDeadPeerDetectionOutput) Timeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionDeadPeerDetection) int { return v.Timeout }).(pulumi.IntOutput) +} + +type GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionDeadPeerDetection)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput) ToGetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput() GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput) ToGetIsVpnGatewayConnectionDeadPeerDetectionArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionDeadPeerDetectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionDeadPeerDetection { + return vs[0].([]GetIsVpnGatewayConnectionDeadPeerDetection)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionDeadPeerDetectionOutput) +} + +type GetIsVpnGatewayConnectionDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewayConnectionDeletedInput is an input type that accepts GetIsVpnGatewayConnectionDeletedArgs and GetIsVpnGatewayConnectionDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionDeletedInput` via: +// +// GetIsVpnGatewayConnectionDeletedArgs{...} +type GetIsVpnGatewayConnectionDeletedInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionDeletedOutput() GetIsVpnGatewayConnectionDeletedOutput + ToGetIsVpnGatewayConnectionDeletedOutputWithContext(context.Context) GetIsVpnGatewayConnectionDeletedOutput +} + +type GetIsVpnGatewayConnectionDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewayConnectionDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionDeletedArgs) ToGetIsVpnGatewayConnectionDeletedOutput() GetIsVpnGatewayConnectionDeletedOutput { + return i.ToGetIsVpnGatewayConnectionDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionDeletedArgs) ToGetIsVpnGatewayConnectionDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionDeletedOutput) +} + +// GetIsVpnGatewayConnectionDeletedArrayInput is an input type that accepts GetIsVpnGatewayConnectionDeletedArray and GetIsVpnGatewayConnectionDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionDeletedArrayInput` via: +// +// GetIsVpnGatewayConnectionDeletedArray{ GetIsVpnGatewayConnectionDeletedArgs{...} } +type GetIsVpnGatewayConnectionDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionDeletedArrayOutput() GetIsVpnGatewayConnectionDeletedArrayOutput + ToGetIsVpnGatewayConnectionDeletedArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionDeletedArrayOutput +} + +type GetIsVpnGatewayConnectionDeletedArray []GetIsVpnGatewayConnectionDeletedInput + +func (GetIsVpnGatewayConnectionDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionDeletedArray) ToGetIsVpnGatewayConnectionDeletedArrayOutput() GetIsVpnGatewayConnectionDeletedArrayOutput { + return i.ToGetIsVpnGatewayConnectionDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionDeletedArray) ToGetIsVpnGatewayConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionDeletedArrayOutput) +} + +type GetIsVpnGatewayConnectionDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionDeletedOutput) ToGetIsVpnGatewayConnectionDeletedOutput() GetIsVpnGatewayConnectionDeletedOutput { + return o +} + +func (o GetIsVpnGatewayConnectionDeletedOutput) ToGetIsVpnGatewayConnectionDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnGatewayConnectionDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionDeletedArrayOutput) ToGetIsVpnGatewayConnectionDeletedArrayOutput() GetIsVpnGatewayConnectionDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionDeletedArrayOutput) ToGetIsVpnGatewayConnectionDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionDeleted { + return vs[0].([]GetIsVpnGatewayConnectionDeleted)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionDeletedOutput) +} + +type GetIsVpnGatewayConnectionIkePolicy struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsVpnGatewayConnectionIkePolicyDeleted `pulumi:"deleteds"` + // The IKE policy's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this IKE policy. + Id string `pulumi:"id"` + // The user-defined name for this IKE policy. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpnGatewayConnectionIkePolicyInput is an input type that accepts GetIsVpnGatewayConnectionIkePolicyArgs and GetIsVpnGatewayConnectionIkePolicyOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionIkePolicyInput` via: +// +// GetIsVpnGatewayConnectionIkePolicyArgs{...} +type GetIsVpnGatewayConnectionIkePolicyInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionIkePolicyOutput() GetIsVpnGatewayConnectionIkePolicyOutput + ToGetIsVpnGatewayConnectionIkePolicyOutputWithContext(context.Context) GetIsVpnGatewayConnectionIkePolicyOutput +} + +type GetIsVpnGatewayConnectionIkePolicyArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsVpnGatewayConnectionIkePolicyDeletedArrayInput `pulumi:"deleteds"` + // The IKE policy's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this IKE policy. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this IKE policy. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpnGatewayConnectionIkePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionIkePolicy)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionIkePolicyArgs) ToGetIsVpnGatewayConnectionIkePolicyOutput() GetIsVpnGatewayConnectionIkePolicyOutput { + return i.ToGetIsVpnGatewayConnectionIkePolicyOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionIkePolicyArgs) ToGetIsVpnGatewayConnectionIkePolicyOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIkePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionIkePolicyOutput) +} + +// GetIsVpnGatewayConnectionIkePolicyArrayInput is an input type that accepts GetIsVpnGatewayConnectionIkePolicyArray and GetIsVpnGatewayConnectionIkePolicyArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionIkePolicyArrayInput` via: +// +// GetIsVpnGatewayConnectionIkePolicyArray{ GetIsVpnGatewayConnectionIkePolicyArgs{...} } +type GetIsVpnGatewayConnectionIkePolicyArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionIkePolicyArrayOutput() GetIsVpnGatewayConnectionIkePolicyArrayOutput + ToGetIsVpnGatewayConnectionIkePolicyArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionIkePolicyArrayOutput +} + +type GetIsVpnGatewayConnectionIkePolicyArray []GetIsVpnGatewayConnectionIkePolicyInput + +func (GetIsVpnGatewayConnectionIkePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionIkePolicy)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionIkePolicyArray) ToGetIsVpnGatewayConnectionIkePolicyArrayOutput() GetIsVpnGatewayConnectionIkePolicyArrayOutput { + return i.ToGetIsVpnGatewayConnectionIkePolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionIkePolicyArray) ToGetIsVpnGatewayConnectionIkePolicyArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIkePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionIkePolicyArrayOutput) +} + +type GetIsVpnGatewayConnectionIkePolicyOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionIkePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionIkePolicy)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionIkePolicyOutput) ToGetIsVpnGatewayConnectionIkePolicyOutput() GetIsVpnGatewayConnectionIkePolicyOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIkePolicyOutput) ToGetIsVpnGatewayConnectionIkePolicyOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIkePolicyOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsVpnGatewayConnectionIkePolicyOutput) Deleteds() GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIkePolicy) []GetIsVpnGatewayConnectionIkePolicyDeleted { + return v.Deleteds + }).(GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput) +} + +// The IKE policy's canonical URL. +func (o GetIsVpnGatewayConnectionIkePolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIkePolicy) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this IKE policy. +func (o GetIsVpnGatewayConnectionIkePolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIkePolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this IKE policy. +func (o GetIsVpnGatewayConnectionIkePolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIkePolicy) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnGatewayConnectionIkePolicyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIkePolicy) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionIkePolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionIkePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionIkePolicy)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionIkePolicyArrayOutput) ToGetIsVpnGatewayConnectionIkePolicyArrayOutput() GetIsVpnGatewayConnectionIkePolicyArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIkePolicyArrayOutput) ToGetIsVpnGatewayConnectionIkePolicyArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIkePolicyArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIkePolicyArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionIkePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionIkePolicy { + return vs[0].([]GetIsVpnGatewayConnectionIkePolicy)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionIkePolicyOutput) +} + +type GetIsVpnGatewayConnectionIkePolicyDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewayConnectionIkePolicyDeletedInput is an input type that accepts GetIsVpnGatewayConnectionIkePolicyDeletedArgs and GetIsVpnGatewayConnectionIkePolicyDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionIkePolicyDeletedInput` via: +// +// GetIsVpnGatewayConnectionIkePolicyDeletedArgs{...} +type GetIsVpnGatewayConnectionIkePolicyDeletedInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionIkePolicyDeletedOutput() GetIsVpnGatewayConnectionIkePolicyDeletedOutput + ToGetIsVpnGatewayConnectionIkePolicyDeletedOutputWithContext(context.Context) GetIsVpnGatewayConnectionIkePolicyDeletedOutput +} + +type GetIsVpnGatewayConnectionIkePolicyDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewayConnectionIkePolicyDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionIkePolicyDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionIkePolicyDeletedArgs) ToGetIsVpnGatewayConnectionIkePolicyDeletedOutput() GetIsVpnGatewayConnectionIkePolicyDeletedOutput { + return i.ToGetIsVpnGatewayConnectionIkePolicyDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionIkePolicyDeletedArgs) ToGetIsVpnGatewayConnectionIkePolicyDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIkePolicyDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionIkePolicyDeletedOutput) +} + +// GetIsVpnGatewayConnectionIkePolicyDeletedArrayInput is an input type that accepts GetIsVpnGatewayConnectionIkePolicyDeletedArray and GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionIkePolicyDeletedArrayInput` via: +// +// GetIsVpnGatewayConnectionIkePolicyDeletedArray{ GetIsVpnGatewayConnectionIkePolicyDeletedArgs{...} } +type GetIsVpnGatewayConnectionIkePolicyDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput() GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput + ToGetIsVpnGatewayConnectionIkePolicyDeletedArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput +} + +type GetIsVpnGatewayConnectionIkePolicyDeletedArray []GetIsVpnGatewayConnectionIkePolicyDeletedInput + +func (GetIsVpnGatewayConnectionIkePolicyDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionIkePolicyDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionIkePolicyDeletedArray) ToGetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput() GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput { + return i.ToGetIsVpnGatewayConnectionIkePolicyDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionIkePolicyDeletedArray) ToGetIsVpnGatewayConnectionIkePolicyDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput) +} + +type GetIsVpnGatewayConnectionIkePolicyDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionIkePolicyDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionIkePolicyDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionIkePolicyDeletedOutput) ToGetIsVpnGatewayConnectionIkePolicyDeletedOutput() GetIsVpnGatewayConnectionIkePolicyDeletedOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIkePolicyDeletedOutput) ToGetIsVpnGatewayConnectionIkePolicyDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIkePolicyDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnGatewayConnectionIkePolicyDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIkePolicyDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionIkePolicyDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput) ToGetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput() GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput) ToGetIsVpnGatewayConnectionIkePolicyDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionIkePolicyDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionIkePolicyDeleted { + return vs[0].([]GetIsVpnGatewayConnectionIkePolicyDeleted)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionIkePolicyDeletedOutput) +} + +type GetIsVpnGatewayConnectionIpsecPolicy struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsVpnGatewayConnectionIpsecPolicyDeleted `pulumi:"deleteds"` + // The IPsec policy's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this IPsec policy. + Id string `pulumi:"id"` + // The user-defined name for this IPsec policy. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpnGatewayConnectionIpsecPolicyInput is an input type that accepts GetIsVpnGatewayConnectionIpsecPolicyArgs and GetIsVpnGatewayConnectionIpsecPolicyOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionIpsecPolicyInput` via: +// +// GetIsVpnGatewayConnectionIpsecPolicyArgs{...} +type GetIsVpnGatewayConnectionIpsecPolicyInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionIpsecPolicyOutput() GetIsVpnGatewayConnectionIpsecPolicyOutput + ToGetIsVpnGatewayConnectionIpsecPolicyOutputWithContext(context.Context) GetIsVpnGatewayConnectionIpsecPolicyOutput +} + +type GetIsVpnGatewayConnectionIpsecPolicyArgs struct { + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayInput `pulumi:"deleteds"` + // The IPsec policy's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this IPsec policy. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this IPsec policy. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpnGatewayConnectionIpsecPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionIpsecPolicy)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionIpsecPolicyArgs) ToGetIsVpnGatewayConnectionIpsecPolicyOutput() GetIsVpnGatewayConnectionIpsecPolicyOutput { + return i.ToGetIsVpnGatewayConnectionIpsecPolicyOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionIpsecPolicyArgs) ToGetIsVpnGatewayConnectionIpsecPolicyOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIpsecPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionIpsecPolicyOutput) +} + +// GetIsVpnGatewayConnectionIpsecPolicyArrayInput is an input type that accepts GetIsVpnGatewayConnectionIpsecPolicyArray and GetIsVpnGatewayConnectionIpsecPolicyArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionIpsecPolicyArrayInput` via: +// +// GetIsVpnGatewayConnectionIpsecPolicyArray{ GetIsVpnGatewayConnectionIpsecPolicyArgs{...} } +type GetIsVpnGatewayConnectionIpsecPolicyArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionIpsecPolicyArrayOutput() GetIsVpnGatewayConnectionIpsecPolicyArrayOutput + ToGetIsVpnGatewayConnectionIpsecPolicyArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionIpsecPolicyArrayOutput +} + +type GetIsVpnGatewayConnectionIpsecPolicyArray []GetIsVpnGatewayConnectionIpsecPolicyInput + +func (GetIsVpnGatewayConnectionIpsecPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionIpsecPolicy)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionIpsecPolicyArray) ToGetIsVpnGatewayConnectionIpsecPolicyArrayOutput() GetIsVpnGatewayConnectionIpsecPolicyArrayOutput { + return i.ToGetIsVpnGatewayConnectionIpsecPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionIpsecPolicyArray) ToGetIsVpnGatewayConnectionIpsecPolicyArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIpsecPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionIpsecPolicyArrayOutput) +} + +type GetIsVpnGatewayConnectionIpsecPolicyOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionIpsecPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionIpsecPolicy)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyOutput) ToGetIsVpnGatewayConnectionIpsecPolicyOutput() GetIsVpnGatewayConnectionIpsecPolicyOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyOutput) ToGetIsVpnGatewayConnectionIpsecPolicyOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIpsecPolicyOutput { + return o +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsVpnGatewayConnectionIpsecPolicyOutput) Deleteds() GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIpsecPolicy) []GetIsVpnGatewayConnectionIpsecPolicyDeleted { + return v.Deleteds + }).(GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput) +} + +// The IPsec policy's canonical URL. +func (o GetIsVpnGatewayConnectionIpsecPolicyOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIpsecPolicy) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this IPsec policy. +func (o GetIsVpnGatewayConnectionIpsecPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIpsecPolicy) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this IPsec policy. +func (o GetIsVpnGatewayConnectionIpsecPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIpsecPolicy) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnGatewayConnectionIpsecPolicyOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIpsecPolicy) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionIpsecPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionIpsecPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionIpsecPolicy)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyArrayOutput) ToGetIsVpnGatewayConnectionIpsecPolicyArrayOutput() GetIsVpnGatewayConnectionIpsecPolicyArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyArrayOutput) ToGetIsVpnGatewayConnectionIpsecPolicyArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIpsecPolicyArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionIpsecPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionIpsecPolicy { + return vs[0].([]GetIsVpnGatewayConnectionIpsecPolicy)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionIpsecPolicyOutput) +} + +type GetIsVpnGatewayConnectionIpsecPolicyDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewayConnectionIpsecPolicyDeletedInput is an input type that accepts GetIsVpnGatewayConnectionIpsecPolicyDeletedArgs and GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionIpsecPolicyDeletedInput` via: +// +// GetIsVpnGatewayConnectionIpsecPolicyDeletedArgs{...} +type GetIsVpnGatewayConnectionIpsecPolicyDeletedInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionIpsecPolicyDeletedOutput() GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput + ToGetIsVpnGatewayConnectionIpsecPolicyDeletedOutputWithContext(context.Context) GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput +} + +type GetIsVpnGatewayConnectionIpsecPolicyDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewayConnectionIpsecPolicyDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionIpsecPolicyDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionIpsecPolicyDeletedArgs) ToGetIsVpnGatewayConnectionIpsecPolicyDeletedOutput() GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput { + return i.ToGetIsVpnGatewayConnectionIpsecPolicyDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionIpsecPolicyDeletedArgs) ToGetIsVpnGatewayConnectionIpsecPolicyDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput) +} + +// GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayInput is an input type that accepts GetIsVpnGatewayConnectionIpsecPolicyDeletedArray and GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayInput` via: +// +// GetIsVpnGatewayConnectionIpsecPolicyDeletedArray{ GetIsVpnGatewayConnectionIpsecPolicyDeletedArgs{...} } +type GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput() GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput + ToGetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput +} + +type GetIsVpnGatewayConnectionIpsecPolicyDeletedArray []GetIsVpnGatewayConnectionIpsecPolicyDeletedInput + +func (GetIsVpnGatewayConnectionIpsecPolicyDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionIpsecPolicyDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionIpsecPolicyDeletedArray) ToGetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput() GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput { + return i.ToGetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionIpsecPolicyDeletedArray) ToGetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput) +} + +type GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionIpsecPolicyDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput) ToGetIsVpnGatewayConnectionIpsecPolicyDeletedOutput() GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput) ToGetIsVpnGatewayConnectionIpsecPolicyDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionIpsecPolicyDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionIpsecPolicyDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput) ToGetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput() GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput) ToGetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionIpsecPolicyDeleted { + return vs[0].([]GetIsVpnGatewayConnectionIpsecPolicyDeleted)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput) +} + +type GetIsVpnGatewayConnectionLocal struct { + // The local CIDRs for this resource. + Cidrs []string `pulumi:"cidrs"` + // The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. + IkeIdentities []GetIsVpnGatewayConnectionLocalIkeIdentity `pulumi:"ikeIdentities"` +} + +// GetIsVpnGatewayConnectionLocalInput is an input type that accepts GetIsVpnGatewayConnectionLocalArgs and GetIsVpnGatewayConnectionLocalOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionLocalInput` via: +// +// GetIsVpnGatewayConnectionLocalArgs{...} +type GetIsVpnGatewayConnectionLocalInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionLocalOutput() GetIsVpnGatewayConnectionLocalOutput + ToGetIsVpnGatewayConnectionLocalOutputWithContext(context.Context) GetIsVpnGatewayConnectionLocalOutput +} + +type GetIsVpnGatewayConnectionLocalArgs struct { + // The local CIDRs for this resource. + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` + // The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. + IkeIdentities GetIsVpnGatewayConnectionLocalIkeIdentityArrayInput `pulumi:"ikeIdentities"` +} + +func (GetIsVpnGatewayConnectionLocalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionLocal)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionLocalArgs) ToGetIsVpnGatewayConnectionLocalOutput() GetIsVpnGatewayConnectionLocalOutput { + return i.ToGetIsVpnGatewayConnectionLocalOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionLocalArgs) ToGetIsVpnGatewayConnectionLocalOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionLocalOutput) +} + +// GetIsVpnGatewayConnectionLocalArrayInput is an input type that accepts GetIsVpnGatewayConnectionLocalArray and GetIsVpnGatewayConnectionLocalArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionLocalArrayInput` via: +// +// GetIsVpnGatewayConnectionLocalArray{ GetIsVpnGatewayConnectionLocalArgs{...} } +type GetIsVpnGatewayConnectionLocalArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionLocalArrayOutput() GetIsVpnGatewayConnectionLocalArrayOutput + ToGetIsVpnGatewayConnectionLocalArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionLocalArrayOutput +} + +type GetIsVpnGatewayConnectionLocalArray []GetIsVpnGatewayConnectionLocalInput + +func (GetIsVpnGatewayConnectionLocalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionLocal)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionLocalArray) ToGetIsVpnGatewayConnectionLocalArrayOutput() GetIsVpnGatewayConnectionLocalArrayOutput { + return i.ToGetIsVpnGatewayConnectionLocalArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionLocalArray) ToGetIsVpnGatewayConnectionLocalArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionLocalArrayOutput) +} + +type GetIsVpnGatewayConnectionLocalOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionLocalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionLocal)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionLocalOutput) ToGetIsVpnGatewayConnectionLocalOutput() GetIsVpnGatewayConnectionLocalOutput { + return o +} + +func (o GetIsVpnGatewayConnectionLocalOutput) ToGetIsVpnGatewayConnectionLocalOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalOutput { + return o +} + +// The local CIDRs for this resource. +func (o GetIsVpnGatewayConnectionLocalOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionLocal) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +} + +// The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. +func (o GetIsVpnGatewayConnectionLocalOutput) IkeIdentities() GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionLocal) []GetIsVpnGatewayConnectionLocalIkeIdentity { + return v.IkeIdentities + }).(GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput) +} + +type GetIsVpnGatewayConnectionLocalArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionLocalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionLocal)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionLocalArrayOutput) ToGetIsVpnGatewayConnectionLocalArrayOutput() GetIsVpnGatewayConnectionLocalArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionLocalArrayOutput) ToGetIsVpnGatewayConnectionLocalArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionLocalArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionLocalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionLocal { + return vs[0].([]GetIsVpnGatewayConnectionLocal)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionLocalOutput) +} + +type GetIsVpnGatewayConnectionLocalIkeIdentity struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type string `pulumi:"type"` + // The IKE identity FQDN value. + Value string `pulumi:"value"` +} + +// GetIsVpnGatewayConnectionLocalIkeIdentityInput is an input type that accepts GetIsVpnGatewayConnectionLocalIkeIdentityArgs and GetIsVpnGatewayConnectionLocalIkeIdentityOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionLocalIkeIdentityInput` via: +// +// GetIsVpnGatewayConnectionLocalIkeIdentityArgs{...} +type GetIsVpnGatewayConnectionLocalIkeIdentityInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionLocalIkeIdentityOutput() GetIsVpnGatewayConnectionLocalIkeIdentityOutput + ToGetIsVpnGatewayConnectionLocalIkeIdentityOutputWithContext(context.Context) GetIsVpnGatewayConnectionLocalIkeIdentityOutput +} + +type GetIsVpnGatewayConnectionLocalIkeIdentityArgs struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type pulumi.StringInput `pulumi:"type"` + // The IKE identity FQDN value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsVpnGatewayConnectionLocalIkeIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionLocalIkeIdentityArgs) ToGetIsVpnGatewayConnectionLocalIkeIdentityOutput() GetIsVpnGatewayConnectionLocalIkeIdentityOutput { + return i.ToGetIsVpnGatewayConnectionLocalIkeIdentityOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionLocalIkeIdentityArgs) ToGetIsVpnGatewayConnectionLocalIkeIdentityOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalIkeIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionLocalIkeIdentityOutput) +} + +// GetIsVpnGatewayConnectionLocalIkeIdentityArrayInput is an input type that accepts GetIsVpnGatewayConnectionLocalIkeIdentityArray and GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionLocalIkeIdentityArrayInput` via: +// +// GetIsVpnGatewayConnectionLocalIkeIdentityArray{ GetIsVpnGatewayConnectionLocalIkeIdentityArgs{...} } +type GetIsVpnGatewayConnectionLocalIkeIdentityArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput() GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput + ToGetIsVpnGatewayConnectionLocalIkeIdentityArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput +} + +type GetIsVpnGatewayConnectionLocalIkeIdentityArray []GetIsVpnGatewayConnectionLocalIkeIdentityInput + +func (GetIsVpnGatewayConnectionLocalIkeIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionLocalIkeIdentityArray) ToGetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput() GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return i.ToGetIsVpnGatewayConnectionLocalIkeIdentityArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionLocalIkeIdentityArray) ToGetIsVpnGatewayConnectionLocalIkeIdentityArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput) +} + +type GetIsVpnGatewayConnectionLocalIkeIdentityOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionLocalIkeIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionLocalIkeIdentityOutput) ToGetIsVpnGatewayConnectionLocalIkeIdentityOutput() GetIsVpnGatewayConnectionLocalIkeIdentityOutput { + return o +} + +func (o GetIsVpnGatewayConnectionLocalIkeIdentityOutput) ToGetIsVpnGatewayConnectionLocalIkeIdentityOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalIkeIdentityOutput { + return o +} + +// The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. +func (o GetIsVpnGatewayConnectionLocalIkeIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionLocalIkeIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +// The IKE identity FQDN value. +func (o GetIsVpnGatewayConnectionLocalIkeIdentityOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionLocalIkeIdentity) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput) ToGetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput() GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput) ToGetIsVpnGatewayConnectionLocalIkeIdentityArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionLocalIkeIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionLocalIkeIdentity { + return vs[0].([]GetIsVpnGatewayConnectionLocalIkeIdentity)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionLocalIkeIdentityOutput) +} + +type GetIsVpnGatewayConnectionPeer struct { + // The IP address of the peer VPN gateway for this connection. + Address string `pulumi:"address"` + // The peer CIDRs for this resource. + Cidrs []string `pulumi:"cidrs"` + // The FQDN of the peer VPN gateway for this connection. + Fqdn string `pulumi:"fqdn"` + // The peer IKE identity. + IkeIdentities []GetIsVpnGatewayConnectionPeerIkeIdentity `pulumi:"ikeIdentities"` + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type string `pulumi:"type"` +} + +// GetIsVpnGatewayConnectionPeerInput is an input type that accepts GetIsVpnGatewayConnectionPeerArgs and GetIsVpnGatewayConnectionPeerOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionPeerInput` via: +// +// GetIsVpnGatewayConnectionPeerArgs{...} +type GetIsVpnGatewayConnectionPeerInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionPeerOutput() GetIsVpnGatewayConnectionPeerOutput + ToGetIsVpnGatewayConnectionPeerOutputWithContext(context.Context) GetIsVpnGatewayConnectionPeerOutput +} + +type GetIsVpnGatewayConnectionPeerArgs struct { + // The IP address of the peer VPN gateway for this connection. + Address pulumi.StringInput `pulumi:"address"` + // The peer CIDRs for this resource. + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` + // The FQDN of the peer VPN gateway for this connection. + Fqdn pulumi.StringInput `pulumi:"fqdn"` + // The peer IKE identity. + IkeIdentities GetIsVpnGatewayConnectionPeerIkeIdentityArrayInput `pulumi:"ikeIdentities"` + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsVpnGatewayConnectionPeerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionPeer)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionPeerArgs) ToGetIsVpnGatewayConnectionPeerOutput() GetIsVpnGatewayConnectionPeerOutput { + return i.ToGetIsVpnGatewayConnectionPeerOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionPeerArgs) ToGetIsVpnGatewayConnectionPeerOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionPeerOutput) +} + +// GetIsVpnGatewayConnectionPeerArrayInput is an input type that accepts GetIsVpnGatewayConnectionPeerArray and GetIsVpnGatewayConnectionPeerArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionPeerArrayInput` via: +// +// GetIsVpnGatewayConnectionPeerArray{ GetIsVpnGatewayConnectionPeerArgs{...} } +type GetIsVpnGatewayConnectionPeerArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionPeerArrayOutput() GetIsVpnGatewayConnectionPeerArrayOutput + ToGetIsVpnGatewayConnectionPeerArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionPeerArrayOutput +} + +type GetIsVpnGatewayConnectionPeerArray []GetIsVpnGatewayConnectionPeerInput + +func (GetIsVpnGatewayConnectionPeerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionPeer)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionPeerArray) ToGetIsVpnGatewayConnectionPeerArrayOutput() GetIsVpnGatewayConnectionPeerArrayOutput { + return i.ToGetIsVpnGatewayConnectionPeerArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionPeerArray) ToGetIsVpnGatewayConnectionPeerArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionPeerArrayOutput) +} + +type GetIsVpnGatewayConnectionPeerOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionPeerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionPeer)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionPeerOutput) ToGetIsVpnGatewayConnectionPeerOutput() GetIsVpnGatewayConnectionPeerOutput { + return o +} + +func (o GetIsVpnGatewayConnectionPeerOutput) ToGetIsVpnGatewayConnectionPeerOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerOutput { + return o +} + +// The IP address of the peer VPN gateway for this connection. +func (o GetIsVpnGatewayConnectionPeerOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeer) string { return v.Address }).(pulumi.StringOutput) +} + +// The peer CIDRs for this resource. +func (o GetIsVpnGatewayConnectionPeerOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeer) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +} + +// The FQDN of the peer VPN gateway for this connection. +func (o GetIsVpnGatewayConnectionPeerOutput) Fqdn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeer) string { return v.Fqdn }).(pulumi.StringOutput) +} + +// The peer IKE identity. +func (o GetIsVpnGatewayConnectionPeerOutput) IkeIdentities() GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeer) []GetIsVpnGatewayConnectionPeerIkeIdentity { + return v.IkeIdentities + }).(GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput) +} + +// Indicates whether `peer.address` or `peer.fqdn` is used. +func (o GetIsVpnGatewayConnectionPeerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeer) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionPeerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionPeerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionPeer)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionPeerArrayOutput) ToGetIsVpnGatewayConnectionPeerArrayOutput() GetIsVpnGatewayConnectionPeerArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionPeerArrayOutput) ToGetIsVpnGatewayConnectionPeerArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionPeerArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionPeerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionPeer { + return vs[0].([]GetIsVpnGatewayConnectionPeer)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionPeerOutput) +} + +type GetIsVpnGatewayConnectionPeerIkeIdentity struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type string `pulumi:"type"` + // The IKE identity FQDN value. + Value string `pulumi:"value"` +} + +// GetIsVpnGatewayConnectionPeerIkeIdentityInput is an input type that accepts GetIsVpnGatewayConnectionPeerIkeIdentityArgs and GetIsVpnGatewayConnectionPeerIkeIdentityOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionPeerIkeIdentityInput` via: +// +// GetIsVpnGatewayConnectionPeerIkeIdentityArgs{...} +type GetIsVpnGatewayConnectionPeerIkeIdentityInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionPeerIkeIdentityOutput() GetIsVpnGatewayConnectionPeerIkeIdentityOutput + ToGetIsVpnGatewayConnectionPeerIkeIdentityOutputWithContext(context.Context) GetIsVpnGatewayConnectionPeerIkeIdentityOutput +} + +type GetIsVpnGatewayConnectionPeerIkeIdentityArgs struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type pulumi.StringInput `pulumi:"type"` + // The IKE identity FQDN value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsVpnGatewayConnectionPeerIkeIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionPeerIkeIdentityArgs) ToGetIsVpnGatewayConnectionPeerIkeIdentityOutput() GetIsVpnGatewayConnectionPeerIkeIdentityOutput { + return i.ToGetIsVpnGatewayConnectionPeerIkeIdentityOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionPeerIkeIdentityArgs) ToGetIsVpnGatewayConnectionPeerIkeIdentityOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerIkeIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionPeerIkeIdentityOutput) +} + +// GetIsVpnGatewayConnectionPeerIkeIdentityArrayInput is an input type that accepts GetIsVpnGatewayConnectionPeerIkeIdentityArray and GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionPeerIkeIdentityArrayInput` via: +// +// GetIsVpnGatewayConnectionPeerIkeIdentityArray{ GetIsVpnGatewayConnectionPeerIkeIdentityArgs{...} } +type GetIsVpnGatewayConnectionPeerIkeIdentityArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput() GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput + ToGetIsVpnGatewayConnectionPeerIkeIdentityArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput +} + +type GetIsVpnGatewayConnectionPeerIkeIdentityArray []GetIsVpnGatewayConnectionPeerIkeIdentityInput + +func (GetIsVpnGatewayConnectionPeerIkeIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionPeerIkeIdentityArray) ToGetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput() GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput { + return i.ToGetIsVpnGatewayConnectionPeerIkeIdentityArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionPeerIkeIdentityArray) ToGetIsVpnGatewayConnectionPeerIkeIdentityArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput) +} + +type GetIsVpnGatewayConnectionPeerIkeIdentityOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionPeerIkeIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionPeerIkeIdentityOutput) ToGetIsVpnGatewayConnectionPeerIkeIdentityOutput() GetIsVpnGatewayConnectionPeerIkeIdentityOutput { + return o +} + +func (o GetIsVpnGatewayConnectionPeerIkeIdentityOutput) ToGetIsVpnGatewayConnectionPeerIkeIdentityOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerIkeIdentityOutput { + return o +} + +// The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. +func (o GetIsVpnGatewayConnectionPeerIkeIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeerIkeIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +// The IKE identity FQDN value. +func (o GetIsVpnGatewayConnectionPeerIkeIdentityOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionPeerIkeIdentity) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput) ToGetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput() GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput) ToGetIsVpnGatewayConnectionPeerIkeIdentityArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionPeerIkeIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionPeerIkeIdentity { + return vs[0].([]GetIsVpnGatewayConnectionPeerIkeIdentity)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionPeerIkeIdentityOutput) +} + +type GetIsVpnGatewayConnectionStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewayConnectionStatusReasonInput is an input type that accepts GetIsVpnGatewayConnectionStatusReasonArgs and GetIsVpnGatewayConnectionStatusReasonOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionStatusReasonInput` via: +// +// GetIsVpnGatewayConnectionStatusReasonArgs{...} +type GetIsVpnGatewayConnectionStatusReasonInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionStatusReasonOutput() GetIsVpnGatewayConnectionStatusReasonOutput + ToGetIsVpnGatewayConnectionStatusReasonOutputWithContext(context.Context) GetIsVpnGatewayConnectionStatusReasonOutput +} + +type GetIsVpnGatewayConnectionStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewayConnectionStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionStatusReason)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionStatusReasonArgs) ToGetIsVpnGatewayConnectionStatusReasonOutput() GetIsVpnGatewayConnectionStatusReasonOutput { + return i.ToGetIsVpnGatewayConnectionStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionStatusReasonArgs) ToGetIsVpnGatewayConnectionStatusReasonOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionStatusReasonOutput) +} + +// GetIsVpnGatewayConnectionStatusReasonArrayInput is an input type that accepts GetIsVpnGatewayConnectionStatusReasonArray and GetIsVpnGatewayConnectionStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionStatusReasonArrayInput` via: +// +// GetIsVpnGatewayConnectionStatusReasonArray{ GetIsVpnGatewayConnectionStatusReasonArgs{...} } +type GetIsVpnGatewayConnectionStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionStatusReasonArrayOutput() GetIsVpnGatewayConnectionStatusReasonArrayOutput + ToGetIsVpnGatewayConnectionStatusReasonArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionStatusReasonArrayOutput +} + +type GetIsVpnGatewayConnectionStatusReasonArray []GetIsVpnGatewayConnectionStatusReasonInput + +func (GetIsVpnGatewayConnectionStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionStatusReason)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionStatusReasonArray) ToGetIsVpnGatewayConnectionStatusReasonArrayOutput() GetIsVpnGatewayConnectionStatusReasonArrayOutput { + return i.ToGetIsVpnGatewayConnectionStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionStatusReasonArray) ToGetIsVpnGatewayConnectionStatusReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionStatusReasonArrayOutput) +} + +type GetIsVpnGatewayConnectionStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionStatusReason)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionStatusReasonOutput) ToGetIsVpnGatewayConnectionStatusReasonOutput() GetIsVpnGatewayConnectionStatusReasonOutput { + return o +} + +func (o GetIsVpnGatewayConnectionStatusReasonOutput) ToGetIsVpnGatewayConnectionStatusReasonOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsVpnGatewayConnectionStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsVpnGatewayConnectionStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsVpnGatewayConnectionStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionStatusReason)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionStatusReasonArrayOutput) ToGetIsVpnGatewayConnectionStatusReasonArrayOutput() GetIsVpnGatewayConnectionStatusReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionStatusReasonArrayOutput) ToGetIsVpnGatewayConnectionStatusReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionStatusReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionStatusReason { + return vs[0].([]GetIsVpnGatewayConnectionStatusReason)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionStatusReasonOutput) +} + +type GetIsVpnGatewayConnectionTunnel struct { + // The IP address of the VPN gateway member in which the tunnel resides. + PublicIpAddress string `pulumi:"publicIpAddress"` + // The status of the VPN Tunnel. + Status string `pulumi:"status"` +} + +// GetIsVpnGatewayConnectionTunnelInput is an input type that accepts GetIsVpnGatewayConnectionTunnelArgs and GetIsVpnGatewayConnectionTunnelOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionTunnelInput` via: +// +// GetIsVpnGatewayConnectionTunnelArgs{...} +type GetIsVpnGatewayConnectionTunnelInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionTunnelOutput() GetIsVpnGatewayConnectionTunnelOutput + ToGetIsVpnGatewayConnectionTunnelOutputWithContext(context.Context) GetIsVpnGatewayConnectionTunnelOutput +} + +type GetIsVpnGatewayConnectionTunnelArgs struct { + // The IP address of the VPN gateway member in which the tunnel resides. + PublicIpAddress pulumi.StringInput `pulumi:"publicIpAddress"` + // The status of the VPN Tunnel. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetIsVpnGatewayConnectionTunnelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionTunnel)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionTunnelArgs) ToGetIsVpnGatewayConnectionTunnelOutput() GetIsVpnGatewayConnectionTunnelOutput { + return i.ToGetIsVpnGatewayConnectionTunnelOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionTunnelArgs) ToGetIsVpnGatewayConnectionTunnelOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionTunnelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionTunnelOutput) +} + +// GetIsVpnGatewayConnectionTunnelArrayInput is an input type that accepts GetIsVpnGatewayConnectionTunnelArray and GetIsVpnGatewayConnectionTunnelArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionTunnelArrayInput` via: +// +// GetIsVpnGatewayConnectionTunnelArray{ GetIsVpnGatewayConnectionTunnelArgs{...} } +type GetIsVpnGatewayConnectionTunnelArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionTunnelArrayOutput() GetIsVpnGatewayConnectionTunnelArrayOutput + ToGetIsVpnGatewayConnectionTunnelArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionTunnelArrayOutput +} + +type GetIsVpnGatewayConnectionTunnelArray []GetIsVpnGatewayConnectionTunnelInput + +func (GetIsVpnGatewayConnectionTunnelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionTunnel)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionTunnelArray) ToGetIsVpnGatewayConnectionTunnelArrayOutput() GetIsVpnGatewayConnectionTunnelArrayOutput { + return i.ToGetIsVpnGatewayConnectionTunnelArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionTunnelArray) ToGetIsVpnGatewayConnectionTunnelArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionTunnelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionTunnelArrayOutput) +} + +type GetIsVpnGatewayConnectionTunnelOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionTunnelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionTunnel)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionTunnelOutput) ToGetIsVpnGatewayConnectionTunnelOutput() GetIsVpnGatewayConnectionTunnelOutput { + return o +} + +func (o GetIsVpnGatewayConnectionTunnelOutput) ToGetIsVpnGatewayConnectionTunnelOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionTunnelOutput { + return o +} + +// The IP address of the VPN gateway member in which the tunnel resides. +func (o GetIsVpnGatewayConnectionTunnelOutput) PublicIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionTunnel) string { return v.PublicIpAddress }).(pulumi.StringOutput) +} + +// The status of the VPN Tunnel. +func (o GetIsVpnGatewayConnectionTunnelOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionTunnel) string { return v.Status }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionTunnelArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionTunnelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionTunnel)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionTunnelArrayOutput) ToGetIsVpnGatewayConnectionTunnelArrayOutput() GetIsVpnGatewayConnectionTunnelArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionTunnelArrayOutput) ToGetIsVpnGatewayConnectionTunnelArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionTunnelArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionTunnelArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionTunnelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionTunnel { + return vs[0].([]GetIsVpnGatewayConnectionTunnel)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionTunnelOutput) +} + +type GetIsVpnGatewayConnectionsConnection struct { + // Action detection for dead peer detection action + Action string `pulumi:"action"` + // VPN gateway connection admin state + AdminStateUp bool `pulumi:"adminStateUp"` + // The authentication mode + AuthenticationMode string `pulumi:"authenticationMode"` + // The date and time that this VPN gateway connection was created + CreatedAt string `pulumi:"createdAt"` + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. + DistributeTraffic bool `pulumi:"distributeTraffic"` + // The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. + EstablishMode string `pulumi:"establishMode"` + // The href of the vpn gateway connection. + Href string `pulumi:"href"` + // The unique identifier for this VPN gateway connection + Id string `pulumi:"id"` + // VPN gateway connection IKE Policy + IkePolicy string `pulumi:"ikePolicy"` + // Interval for dead peer detection interval + Interval int `pulumi:"interval"` + // IP security policy for vpn gateway connection + IpsecPolicy string `pulumi:"ipsecPolicy"` + // VPN gateway connection local CIDRs + // + // Deprecated: local_cidrs is deprecated, use local instead + LocalCidrs []string `pulumi:"localCidrs"` + Locals []GetIsVpnGatewayConnectionsConnectionLocal `pulumi:"locals"` + // The mode of the VPN gateway + Mode string `pulumi:"mode"` + // VPN Gateway connection name + Name string `pulumi:"name"` + // VPN gateway connection peer address + // + // Deprecated: peer_address is deprecated, use peer instead + PeerAddress string `pulumi:"peerAddress"` + // VPN gateway connection peer CIDRs + // + // Deprecated: peer_cidrs is deprecated, use peer instead + PeerCidrs []string `pulumi:"peerCidrs"` + Peers []GetIsVpnGatewayConnectionsConnectionPeer `pulumi:"peers"` + // The preshared key. + Psk string `pulumi:"psk"` + // The resource type + ResourceType string `pulumi:"resourceType"` + // Routing protocols for this VPN gateway connection. + RoutingProtocol string `pulumi:"routingProtocol"` + // VPN gateway connection status + Status string `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons []GetIsVpnGatewayConnectionsConnectionStatusReason `pulumi:"statusReasons"` + // Timeout for dead peer detection + Timeout int `pulumi:"timeout"` + // The VPN tunnel configuration for this VPN gateway connection (in static route mode) + Tunnels []GetIsVpnGatewayConnectionsConnectionTunnel `pulumi:"tunnels"` +} + +// GetIsVpnGatewayConnectionsConnectionInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionArgs and GetIsVpnGatewayConnectionsConnectionOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionInput` via: +// +// GetIsVpnGatewayConnectionsConnectionArgs{...} +type GetIsVpnGatewayConnectionsConnectionInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionOutput() GetIsVpnGatewayConnectionsConnectionOutput + ToGetIsVpnGatewayConnectionsConnectionOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionOutput +} + +type GetIsVpnGatewayConnectionsConnectionArgs struct { + // Action detection for dead peer detection action + Action pulumi.StringInput `pulumi:"action"` + // VPN gateway connection admin state + AdminStateUp pulumi.BoolInput `pulumi:"adminStateUp"` + // The authentication mode + AuthenticationMode pulumi.StringInput `pulumi:"authenticationMode"` + // The date and time that this VPN gateway connection was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. + DistributeTraffic pulumi.BoolInput `pulumi:"distributeTraffic"` + // The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. + EstablishMode pulumi.StringInput `pulumi:"establishMode"` + // The href of the vpn gateway connection. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN gateway connection + Id pulumi.StringInput `pulumi:"id"` + // VPN gateway connection IKE Policy + IkePolicy pulumi.StringInput `pulumi:"ikePolicy"` + // Interval for dead peer detection interval + Interval pulumi.IntInput `pulumi:"interval"` + // IP security policy for vpn gateway connection + IpsecPolicy pulumi.StringInput `pulumi:"ipsecPolicy"` + // VPN gateway connection local CIDRs + // + // Deprecated: local_cidrs is deprecated, use local instead + LocalCidrs pulumi.StringArrayInput `pulumi:"localCidrs"` + Locals GetIsVpnGatewayConnectionsConnectionLocalArrayInput `pulumi:"locals"` + // The mode of the VPN gateway + Mode pulumi.StringInput `pulumi:"mode"` + // VPN Gateway connection name + Name pulumi.StringInput `pulumi:"name"` + // VPN gateway connection peer address + // + // Deprecated: peer_address is deprecated, use peer instead + PeerAddress pulumi.StringInput `pulumi:"peerAddress"` + // VPN gateway connection peer CIDRs + // + // Deprecated: peer_cidrs is deprecated, use peer instead + PeerCidrs pulumi.StringArrayInput `pulumi:"peerCidrs"` + Peers GetIsVpnGatewayConnectionsConnectionPeerArrayInput `pulumi:"peers"` + // The preshared key. + Psk pulumi.StringInput `pulumi:"psk"` + // The resource type + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Routing protocols for this VPN gateway connection. + RoutingProtocol pulumi.StringInput `pulumi:"routingProtocol"` + // VPN gateway connection status + Status pulumi.StringInput `pulumi:"status"` + // The reasons for the current status (if any). + StatusReasons GetIsVpnGatewayConnectionsConnectionStatusReasonArrayInput `pulumi:"statusReasons"` + // Timeout for dead peer detection + Timeout pulumi.IntInput `pulumi:"timeout"` + // The VPN tunnel configuration for this VPN gateway connection (in static route mode) + Tunnels GetIsVpnGatewayConnectionsConnectionTunnelArrayInput `pulumi:"tunnels"` +} + +func (GetIsVpnGatewayConnectionsConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnection)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionArgs) ToGetIsVpnGatewayConnectionsConnectionOutput() GetIsVpnGatewayConnectionsConnectionOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionArgs) ToGetIsVpnGatewayConnectionsConnectionOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionOutput) +} + +// GetIsVpnGatewayConnectionsConnectionArrayInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionArray and GetIsVpnGatewayConnectionsConnectionArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionArrayInput` via: +// +// GetIsVpnGatewayConnectionsConnectionArray{ GetIsVpnGatewayConnectionsConnectionArgs{...} } +type GetIsVpnGatewayConnectionsConnectionArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionArrayOutput() GetIsVpnGatewayConnectionsConnectionArrayOutput + ToGetIsVpnGatewayConnectionsConnectionArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionArrayOutput +} + +type GetIsVpnGatewayConnectionsConnectionArray []GetIsVpnGatewayConnectionsConnectionInput + +func (GetIsVpnGatewayConnectionsConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnection)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionArray) ToGetIsVpnGatewayConnectionsConnectionArrayOutput() GetIsVpnGatewayConnectionsConnectionArrayOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionArray) ToGetIsVpnGatewayConnectionsConnectionArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnection)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionOutput) ToGetIsVpnGatewayConnectionsConnectionOutput() GetIsVpnGatewayConnectionsConnectionOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionOutput) ToGetIsVpnGatewayConnectionsConnectionOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionOutput { + return o +} + +// Action detection for dead peer detection action +func (o GetIsVpnGatewayConnectionsConnectionOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.Action }).(pulumi.StringOutput) +} + +// VPN gateway connection admin state +func (o GetIsVpnGatewayConnectionsConnectionOutput) AdminStateUp() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) bool { return v.AdminStateUp }).(pulumi.BoolOutput) +} + +// The authentication mode +func (o GetIsVpnGatewayConnectionsConnectionOutput) AuthenticationMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.AuthenticationMode }).(pulumi.StringOutput) +} + +// The date and time that this VPN gateway connection was created +func (o GetIsVpnGatewayConnectionsConnectionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Indicates whether the traffic is distributed between the `up` tunnels of the VPN gateway connection when the VPC route's next hop is a VPN connection. If `false`, the traffic is only routed through the `up` tunnel with the lower `publicIp` address. +func (o GetIsVpnGatewayConnectionsConnectionOutput) DistributeTraffic() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) bool { return v.DistributeTraffic }).(pulumi.BoolOutput) +} + +// The establish mode of the VPN gateway connection:- `bidirectional`: Either side of the VPN gateway can initiate IKE protocol negotiations or rekeying processes.- `peerOnly`: Only the peer can initiate IKE protocol negotiations for this VPN gateway connection. Additionally, the peer is responsible for initiating the rekeying process after the connection is established. If rekeying does not occur, the VPN gateway connection will be brought down after its lifetime expires. +func (o GetIsVpnGatewayConnectionsConnectionOutput) EstablishMode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.EstablishMode }).(pulumi.StringOutput) +} + +// The href of the vpn gateway connection. +func (o GetIsVpnGatewayConnectionsConnectionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN gateway connection +func (o GetIsVpnGatewayConnectionsConnectionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.Id }).(pulumi.StringOutput) +} + +// VPN gateway connection IKE Policy +func (o GetIsVpnGatewayConnectionsConnectionOutput) IkePolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.IkePolicy }).(pulumi.StringOutput) +} + +// Interval for dead peer detection interval +func (o GetIsVpnGatewayConnectionsConnectionOutput) Interval() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) int { return v.Interval }).(pulumi.IntOutput) +} + +// IP security policy for vpn gateway connection +func (o GetIsVpnGatewayConnectionsConnectionOutput) IpsecPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.IpsecPolicy }).(pulumi.StringOutput) +} + +// VPN gateway connection local CIDRs +// +// Deprecated: local_cidrs is deprecated, use local instead +func (o GetIsVpnGatewayConnectionsConnectionOutput) LocalCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) []string { return v.LocalCidrs }).(pulumi.StringArrayOutput) +} + +func (o GetIsVpnGatewayConnectionsConnectionOutput) Locals() GetIsVpnGatewayConnectionsConnectionLocalArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) []GetIsVpnGatewayConnectionsConnectionLocal { + return v.Locals + }).(GetIsVpnGatewayConnectionsConnectionLocalArrayOutput) +} + +// The mode of the VPN gateway +func (o GetIsVpnGatewayConnectionsConnectionOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.Mode }).(pulumi.StringOutput) +} + +// VPN Gateway connection name +func (o GetIsVpnGatewayConnectionsConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// VPN gateway connection peer address +// +// Deprecated: peer_address is deprecated, use peer instead +func (o GetIsVpnGatewayConnectionsConnectionOutput) PeerAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.PeerAddress }).(pulumi.StringOutput) +} + +// VPN gateway connection peer CIDRs +// +// Deprecated: peer_cidrs is deprecated, use peer instead +func (o GetIsVpnGatewayConnectionsConnectionOutput) PeerCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) []string { return v.PeerCidrs }).(pulumi.StringArrayOutput) +} + +func (o GetIsVpnGatewayConnectionsConnectionOutput) Peers() GetIsVpnGatewayConnectionsConnectionPeerArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) []GetIsVpnGatewayConnectionsConnectionPeer { + return v.Peers + }).(GetIsVpnGatewayConnectionsConnectionPeerArrayOutput) +} + +// The preshared key. +func (o GetIsVpnGatewayConnectionsConnectionOutput) Psk() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.Psk }).(pulumi.StringOutput) +} + +// The resource type +func (o GetIsVpnGatewayConnectionsConnectionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// Routing protocols for this VPN gateway connection. +func (o GetIsVpnGatewayConnectionsConnectionOutput) RoutingProtocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.RoutingProtocol }).(pulumi.StringOutput) +} + +// VPN gateway connection status +func (o GetIsVpnGatewayConnectionsConnectionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) string { return v.Status }).(pulumi.StringOutput) +} + +// The reasons for the current status (if any). +func (o GetIsVpnGatewayConnectionsConnectionOutput) StatusReasons() GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) []GetIsVpnGatewayConnectionsConnectionStatusReason { + return v.StatusReasons + }).(GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput) +} + +// Timeout for dead peer detection +func (o GetIsVpnGatewayConnectionsConnectionOutput) Timeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) int { return v.Timeout }).(pulumi.IntOutput) +} + +// The VPN tunnel configuration for this VPN gateway connection (in static route mode) +func (o GetIsVpnGatewayConnectionsConnectionOutput) Tunnels() GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnection) []GetIsVpnGatewayConnectionsConnectionTunnel { + return v.Tunnels + }).(GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnection)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionArrayOutput) ToGetIsVpnGatewayConnectionsConnectionArrayOutput() GetIsVpnGatewayConnectionsConnectionArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionArrayOutput) ToGetIsVpnGatewayConnectionsConnectionArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionsConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionsConnection { + return vs[0].([]GetIsVpnGatewayConnectionsConnection)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionsConnectionOutput) +} + +type GetIsVpnGatewayConnectionsConnectionLocal struct { + // VPN gateway connection local CIDRs + Cidrs []string `pulumi:"cidrs"` + // The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. + IkeIdentities []GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity `pulumi:"ikeIdentities"` +} + +// GetIsVpnGatewayConnectionsConnectionLocalInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionLocalArgs and GetIsVpnGatewayConnectionsConnectionLocalOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionLocalInput` via: +// +// GetIsVpnGatewayConnectionsConnectionLocalArgs{...} +type GetIsVpnGatewayConnectionsConnectionLocalInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionLocalOutput() GetIsVpnGatewayConnectionsConnectionLocalOutput + ToGetIsVpnGatewayConnectionsConnectionLocalOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionLocalOutput +} + +type GetIsVpnGatewayConnectionsConnectionLocalArgs struct { + // VPN gateway connection local CIDRs + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` + // The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. + IkeIdentities GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayInput `pulumi:"ikeIdentities"` +} + +func (GetIsVpnGatewayConnectionsConnectionLocalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionLocal)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionLocalArgs) ToGetIsVpnGatewayConnectionsConnectionLocalOutput() GetIsVpnGatewayConnectionsConnectionLocalOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionLocalOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionLocalArgs) ToGetIsVpnGatewayConnectionsConnectionLocalOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionLocalOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionLocalOutput) +} + +// GetIsVpnGatewayConnectionsConnectionLocalArrayInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionLocalArray and GetIsVpnGatewayConnectionsConnectionLocalArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionLocalArrayInput` via: +// +// GetIsVpnGatewayConnectionsConnectionLocalArray{ GetIsVpnGatewayConnectionsConnectionLocalArgs{...} } +type GetIsVpnGatewayConnectionsConnectionLocalArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionLocalArrayOutput() GetIsVpnGatewayConnectionsConnectionLocalArrayOutput + ToGetIsVpnGatewayConnectionsConnectionLocalArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionLocalArrayOutput +} + +type GetIsVpnGatewayConnectionsConnectionLocalArray []GetIsVpnGatewayConnectionsConnectionLocalInput + +func (GetIsVpnGatewayConnectionsConnectionLocalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionLocal)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionLocalArray) ToGetIsVpnGatewayConnectionsConnectionLocalArrayOutput() GetIsVpnGatewayConnectionsConnectionLocalArrayOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionLocalArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionLocalArray) ToGetIsVpnGatewayConnectionsConnectionLocalArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionLocalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionLocalArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionLocalOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionLocalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionLocal)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalOutput) ToGetIsVpnGatewayConnectionsConnectionLocalOutput() GetIsVpnGatewayConnectionsConnectionLocalOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalOutput) ToGetIsVpnGatewayConnectionsConnectionLocalOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionLocalOutput { + return o +} + +// VPN gateway connection local CIDRs +func (o GetIsVpnGatewayConnectionsConnectionLocalOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionLocal) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +} + +// The local IKE identities.A VPN gateway in static route mode consists of two members in active-active mode. The first identity applies to the first member, and the second identity applies to the second member. +func (o GetIsVpnGatewayConnectionsConnectionLocalOutput) IkeIdentities() GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionLocal) []GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity { + return v.IkeIdentities + }).(GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionLocalArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionLocalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionLocal)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalArrayOutput) ToGetIsVpnGatewayConnectionsConnectionLocalArrayOutput() GetIsVpnGatewayConnectionsConnectionLocalArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalArrayOutput) ToGetIsVpnGatewayConnectionsConnectionLocalArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionLocalArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionsConnectionLocalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionsConnectionLocal { + return vs[0].([]GetIsVpnGatewayConnectionsConnectionLocal)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionsConnectionLocalOutput) +} + +type GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type string `pulumi:"type"` + // The IKE identity FQDN value. + Value string `pulumi:"value"` +} + +// GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArgs and GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityInput` via: +// +// GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArgs{...} +type GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput() GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput + ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput +} + +type GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArgs struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type pulumi.StringInput `pulumi:"type"` + // The IKE identity FQDN value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArgs) ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput() GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArgs) ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput) +} + +// GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArray and GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayInput` via: +// +// GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArray{ GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArgs{...} } +type GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput() GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput + ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput +} + +type GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArray []GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityInput + +func (GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArray) ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput() GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArray) ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput) ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput() GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput) ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput { + return o +} + +// The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. +func (o GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +// The IKE identity FQDN value. +func (o GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput) ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput() GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput) ToGetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity { + return vs[0].([]GetIsVpnGatewayConnectionsConnectionLocalIkeIdentity)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput) +} + +type GetIsVpnGatewayConnectionsConnectionPeer struct { + // The IP address of the peer VPN gateway for this connection. + Address string `pulumi:"address"` + // The peer CIDRs for this resource. + Cidrs []string `pulumi:"cidrs"` + // The FQDN of the peer VPN gateway for this connection. + Fqdn string `pulumi:"fqdn"` + // The peer IKE identity. + IkeIdentities []GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity `pulumi:"ikeIdentities"` + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type string `pulumi:"type"` +} + +// GetIsVpnGatewayConnectionsConnectionPeerInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionPeerArgs and GetIsVpnGatewayConnectionsConnectionPeerOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionPeerInput` via: +// +// GetIsVpnGatewayConnectionsConnectionPeerArgs{...} +type GetIsVpnGatewayConnectionsConnectionPeerInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionPeerOutput() GetIsVpnGatewayConnectionsConnectionPeerOutput + ToGetIsVpnGatewayConnectionsConnectionPeerOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionPeerOutput +} + +type GetIsVpnGatewayConnectionsConnectionPeerArgs struct { + // The IP address of the peer VPN gateway for this connection. + Address pulumi.StringInput `pulumi:"address"` + // The peer CIDRs for this resource. + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` + // The FQDN of the peer VPN gateway for this connection. + Fqdn pulumi.StringInput `pulumi:"fqdn"` + // The peer IKE identity. + IkeIdentities GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayInput `pulumi:"ikeIdentities"` + // Indicates whether `peer.address` or `peer.fqdn` is used. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetIsVpnGatewayConnectionsConnectionPeerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionPeer)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionPeerArgs) ToGetIsVpnGatewayConnectionsConnectionPeerOutput() GetIsVpnGatewayConnectionsConnectionPeerOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionPeerOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionPeerArgs) ToGetIsVpnGatewayConnectionsConnectionPeerOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionPeerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionPeerOutput) +} + +// GetIsVpnGatewayConnectionsConnectionPeerArrayInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionPeerArray and GetIsVpnGatewayConnectionsConnectionPeerArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionPeerArrayInput` via: +// +// GetIsVpnGatewayConnectionsConnectionPeerArray{ GetIsVpnGatewayConnectionsConnectionPeerArgs{...} } +type GetIsVpnGatewayConnectionsConnectionPeerArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionPeerArrayOutput() GetIsVpnGatewayConnectionsConnectionPeerArrayOutput + ToGetIsVpnGatewayConnectionsConnectionPeerArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionPeerArrayOutput +} + +type GetIsVpnGatewayConnectionsConnectionPeerArray []GetIsVpnGatewayConnectionsConnectionPeerInput + +func (GetIsVpnGatewayConnectionsConnectionPeerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionPeer)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionPeerArray) ToGetIsVpnGatewayConnectionsConnectionPeerArrayOutput() GetIsVpnGatewayConnectionsConnectionPeerArrayOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionPeerArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionPeerArray) ToGetIsVpnGatewayConnectionsConnectionPeerArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionPeerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionPeerArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionPeerOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionPeerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionPeer)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerOutput) ToGetIsVpnGatewayConnectionsConnectionPeerOutput() GetIsVpnGatewayConnectionsConnectionPeerOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerOutput) ToGetIsVpnGatewayConnectionsConnectionPeerOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionPeerOutput { + return o +} + +// The IP address of the peer VPN gateway for this connection. +func (o GetIsVpnGatewayConnectionsConnectionPeerOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionPeer) string { return v.Address }).(pulumi.StringOutput) +} + +// The peer CIDRs for this resource. +func (o GetIsVpnGatewayConnectionsConnectionPeerOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionPeer) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +} + +// The FQDN of the peer VPN gateway for this connection. +func (o GetIsVpnGatewayConnectionsConnectionPeerOutput) Fqdn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionPeer) string { return v.Fqdn }).(pulumi.StringOutput) +} + +// The peer IKE identity. +func (o GetIsVpnGatewayConnectionsConnectionPeerOutput) IkeIdentities() GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionPeer) []GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity { + return v.IkeIdentities + }).(GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput) +} + +// Indicates whether `peer.address` or `peer.fqdn` is used. +func (o GetIsVpnGatewayConnectionsConnectionPeerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionPeer) string { return v.Type }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionsConnectionPeerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionPeerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionPeer)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerArrayOutput) ToGetIsVpnGatewayConnectionsConnectionPeerArrayOutput() GetIsVpnGatewayConnectionsConnectionPeerArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerArrayOutput) ToGetIsVpnGatewayConnectionsConnectionPeerArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionPeerArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionsConnectionPeerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionsConnectionPeer { + return vs[0].([]GetIsVpnGatewayConnectionsConnectionPeer)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionsConnectionPeerOutput) +} + +type GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type string `pulumi:"type"` + // The IKE identity FQDN value. + Value string `pulumi:"value"` +} + +// GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArgs and GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityInput` via: +// +// GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArgs{...} +type GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput() GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput + ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput +} + +type GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArgs struct { + // The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. + Type pulumi.StringInput `pulumi:"type"` + // The IKE identity FQDN value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArgs) ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput() GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArgs) ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput) +} + +// GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArray and GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayInput` via: +// +// GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArray{ GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArgs{...} } +type GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput() GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput + ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput +} + +type GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArray []GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityInput + +func (GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArray) ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput() GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArray) ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput) ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput() GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput) ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput { + return o +} + +// The IKE identity type.The enumerated values for this property will expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the backup policy on which the unexpected property value was encountered. +func (o GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +// The IKE identity FQDN value. +func (o GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity) string { return v.Value }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput) ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput() GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput) ToGetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity { + return vs[0].([]GetIsVpnGatewayConnectionsConnectionPeerIkeIdentity)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput) +} + +type GetIsVpnGatewayConnectionsConnectionStatusReason struct { + // A snake case string succinctly identifying the status reason. + Code string `pulumi:"code"` + // An explanation of the status reason. + Message string `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewayConnectionsConnectionStatusReasonInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionStatusReasonArgs and GetIsVpnGatewayConnectionsConnectionStatusReasonOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionStatusReasonInput` via: +// +// GetIsVpnGatewayConnectionsConnectionStatusReasonArgs{...} +type GetIsVpnGatewayConnectionsConnectionStatusReasonInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionStatusReasonOutput() GetIsVpnGatewayConnectionsConnectionStatusReasonOutput + ToGetIsVpnGatewayConnectionsConnectionStatusReasonOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionStatusReasonOutput +} + +type GetIsVpnGatewayConnectionsConnectionStatusReasonArgs struct { + // A snake case string succinctly identifying the status reason. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the status reason. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about this status reason. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewayConnectionsConnectionStatusReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionStatusReason)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionStatusReasonArgs) ToGetIsVpnGatewayConnectionsConnectionStatusReasonOutput() GetIsVpnGatewayConnectionsConnectionStatusReasonOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionStatusReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionStatusReasonArgs) ToGetIsVpnGatewayConnectionsConnectionStatusReasonOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionStatusReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionStatusReasonOutput) +} + +// GetIsVpnGatewayConnectionsConnectionStatusReasonArrayInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionStatusReasonArray and GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionStatusReasonArrayInput` via: +// +// GetIsVpnGatewayConnectionsConnectionStatusReasonArray{ GetIsVpnGatewayConnectionsConnectionStatusReasonArgs{...} } +type GetIsVpnGatewayConnectionsConnectionStatusReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput() GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput + ToGetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput +} + +type GetIsVpnGatewayConnectionsConnectionStatusReasonArray []GetIsVpnGatewayConnectionsConnectionStatusReasonInput + +func (GetIsVpnGatewayConnectionsConnectionStatusReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionStatusReason)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionStatusReasonArray) ToGetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput() GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionStatusReasonArray) ToGetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionStatusReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionStatusReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionStatusReason)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionStatusReasonOutput) ToGetIsVpnGatewayConnectionsConnectionStatusReasonOutput() GetIsVpnGatewayConnectionsConnectionStatusReasonOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionStatusReasonOutput) ToGetIsVpnGatewayConnectionsConnectionStatusReasonOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionStatusReasonOutput { + return o +} + +// A snake case string succinctly identifying the status reason. +func (o GetIsVpnGatewayConnectionsConnectionStatusReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionStatusReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the status reason. +func (o GetIsVpnGatewayConnectionsConnectionStatusReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionStatusReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about this status reason. +func (o GetIsVpnGatewayConnectionsConnectionStatusReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionStatusReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionStatusReason)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput) ToGetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput() GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput) ToGetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionsConnectionStatusReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionsConnectionStatusReason { + return vs[0].([]GetIsVpnGatewayConnectionsConnectionStatusReason)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionsConnectionStatusReasonOutput) +} + +type GetIsVpnGatewayConnectionsConnectionTunnel struct { + // The IP address of the VPN gateway member in which the tunnel resides + Address string `pulumi:"address"` + // The status of the VPN Tunnel + Status string `pulumi:"status"` +} + +// GetIsVpnGatewayConnectionsConnectionTunnelInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionTunnelArgs and GetIsVpnGatewayConnectionsConnectionTunnelOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionTunnelInput` via: +// +// GetIsVpnGatewayConnectionsConnectionTunnelArgs{...} +type GetIsVpnGatewayConnectionsConnectionTunnelInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionTunnelOutput() GetIsVpnGatewayConnectionsConnectionTunnelOutput + ToGetIsVpnGatewayConnectionsConnectionTunnelOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionTunnelOutput +} + +type GetIsVpnGatewayConnectionsConnectionTunnelArgs struct { + // The IP address of the VPN gateway member in which the tunnel resides + Address pulumi.StringInput `pulumi:"address"` + // The status of the VPN Tunnel + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetIsVpnGatewayConnectionsConnectionTunnelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionTunnel)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionTunnelArgs) ToGetIsVpnGatewayConnectionsConnectionTunnelOutput() GetIsVpnGatewayConnectionsConnectionTunnelOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionTunnelOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionTunnelArgs) ToGetIsVpnGatewayConnectionsConnectionTunnelOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionTunnelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionTunnelOutput) +} + +// GetIsVpnGatewayConnectionsConnectionTunnelArrayInput is an input type that accepts GetIsVpnGatewayConnectionsConnectionTunnelArray and GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayConnectionsConnectionTunnelArrayInput` via: +// +// GetIsVpnGatewayConnectionsConnectionTunnelArray{ GetIsVpnGatewayConnectionsConnectionTunnelArgs{...} } +type GetIsVpnGatewayConnectionsConnectionTunnelArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayConnectionsConnectionTunnelArrayOutput() GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput + ToGetIsVpnGatewayConnectionsConnectionTunnelArrayOutputWithContext(context.Context) GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput +} + +type GetIsVpnGatewayConnectionsConnectionTunnelArray []GetIsVpnGatewayConnectionsConnectionTunnelInput + +func (GetIsVpnGatewayConnectionsConnectionTunnelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionTunnel)(nil)).Elem() +} + +func (i GetIsVpnGatewayConnectionsConnectionTunnelArray) ToGetIsVpnGatewayConnectionsConnectionTunnelArrayOutput() GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput { + return i.ToGetIsVpnGatewayConnectionsConnectionTunnelArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayConnectionsConnectionTunnelArray) ToGetIsVpnGatewayConnectionsConnectionTunnelArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput) +} + +type GetIsVpnGatewayConnectionsConnectionTunnelOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionTunnelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionTunnel)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionTunnelOutput) ToGetIsVpnGatewayConnectionsConnectionTunnelOutput() GetIsVpnGatewayConnectionsConnectionTunnelOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionTunnelOutput) ToGetIsVpnGatewayConnectionsConnectionTunnelOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionTunnelOutput { + return o +} + +// The IP address of the VPN gateway member in which the tunnel resides +func (o GetIsVpnGatewayConnectionsConnectionTunnelOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionTunnel) string { return v.Address }).(pulumi.StringOutput) +} + +// The status of the VPN Tunnel +func (o GetIsVpnGatewayConnectionsConnectionTunnelOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayConnectionsConnectionTunnel) string { return v.Status }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayConnectionsConnectionTunnel)(nil)).Elem() +} + +func (o GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput) ToGetIsVpnGatewayConnectionsConnectionTunnelArrayOutput() GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput) ToGetIsVpnGatewayConnectionsConnectionTunnelArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput { + return o +} + +func (o GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayConnectionsConnectionTunnelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayConnectionsConnectionTunnel { + return vs[0].([]GetIsVpnGatewayConnectionsConnectionTunnel)[vs[1].(int)] + }).(GetIsVpnGatewayConnectionsConnectionTunnelOutput) +} + +type GetIsVpnGatewayHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewayHealthReasonInput is an input type that accepts GetIsVpnGatewayHealthReasonArgs and GetIsVpnGatewayHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayHealthReasonInput` via: +// +// GetIsVpnGatewayHealthReasonArgs{...} +type GetIsVpnGatewayHealthReasonInput interface { + pulumi.Input + + ToGetIsVpnGatewayHealthReasonOutput() GetIsVpnGatewayHealthReasonOutput + ToGetIsVpnGatewayHealthReasonOutputWithContext(context.Context) GetIsVpnGatewayHealthReasonOutput +} + +type GetIsVpnGatewayHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewayHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayHealthReason)(nil)).Elem() +} + +func (i GetIsVpnGatewayHealthReasonArgs) ToGetIsVpnGatewayHealthReasonOutput() GetIsVpnGatewayHealthReasonOutput { + return i.ToGetIsVpnGatewayHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayHealthReasonArgs) ToGetIsVpnGatewayHealthReasonOutputWithContext(ctx context.Context) GetIsVpnGatewayHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayHealthReasonOutput) +} + +// GetIsVpnGatewayHealthReasonArrayInput is an input type that accepts GetIsVpnGatewayHealthReasonArray and GetIsVpnGatewayHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayHealthReasonArrayInput` via: +// +// GetIsVpnGatewayHealthReasonArray{ GetIsVpnGatewayHealthReasonArgs{...} } +type GetIsVpnGatewayHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayHealthReasonArrayOutput() GetIsVpnGatewayHealthReasonArrayOutput + ToGetIsVpnGatewayHealthReasonArrayOutputWithContext(context.Context) GetIsVpnGatewayHealthReasonArrayOutput +} + +type GetIsVpnGatewayHealthReasonArray []GetIsVpnGatewayHealthReasonInput + +func (GetIsVpnGatewayHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayHealthReason)(nil)).Elem() +} + +func (i GetIsVpnGatewayHealthReasonArray) ToGetIsVpnGatewayHealthReasonArrayOutput() GetIsVpnGatewayHealthReasonArrayOutput { + return i.ToGetIsVpnGatewayHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayHealthReasonArray) ToGetIsVpnGatewayHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayHealthReasonArrayOutput) +} + +type GetIsVpnGatewayHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayHealthReason)(nil)).Elem() +} + +func (o GetIsVpnGatewayHealthReasonOutput) ToGetIsVpnGatewayHealthReasonOutput() GetIsVpnGatewayHealthReasonOutput { + return o +} + +func (o GetIsVpnGatewayHealthReasonOutput) ToGetIsVpnGatewayHealthReasonOutputWithContext(ctx context.Context) GetIsVpnGatewayHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpnGatewayHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpnGatewayHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpnGatewayHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayHealthReason)(nil)).Elem() +} + +func (o GetIsVpnGatewayHealthReasonArrayOutput) ToGetIsVpnGatewayHealthReasonArrayOutput() GetIsVpnGatewayHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewayHealthReasonArrayOutput) ToGetIsVpnGatewayHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewayHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayHealthReason { + return vs[0].([]GetIsVpnGatewayHealthReason)[vs[1].(int)] + }).(GetIsVpnGatewayHealthReasonOutput) +} + +type GetIsVpnGatewayLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewayLifecycleReasonInput is an input type that accepts GetIsVpnGatewayLifecycleReasonArgs and GetIsVpnGatewayLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayLifecycleReasonInput` via: +// +// GetIsVpnGatewayLifecycleReasonArgs{...} +type GetIsVpnGatewayLifecycleReasonInput interface { + pulumi.Input + + ToGetIsVpnGatewayLifecycleReasonOutput() GetIsVpnGatewayLifecycleReasonOutput + ToGetIsVpnGatewayLifecycleReasonOutputWithContext(context.Context) GetIsVpnGatewayLifecycleReasonOutput +} + +type GetIsVpnGatewayLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewayLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnGatewayLifecycleReasonArgs) ToGetIsVpnGatewayLifecycleReasonOutput() GetIsVpnGatewayLifecycleReasonOutput { + return i.ToGetIsVpnGatewayLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayLifecycleReasonArgs) ToGetIsVpnGatewayLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnGatewayLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayLifecycleReasonOutput) +} + +// GetIsVpnGatewayLifecycleReasonArrayInput is an input type that accepts GetIsVpnGatewayLifecycleReasonArray and GetIsVpnGatewayLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayLifecycleReasonArrayInput` via: +// +// GetIsVpnGatewayLifecycleReasonArray{ GetIsVpnGatewayLifecycleReasonArgs{...} } +type GetIsVpnGatewayLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayLifecycleReasonArrayOutput() GetIsVpnGatewayLifecycleReasonArrayOutput + ToGetIsVpnGatewayLifecycleReasonArrayOutputWithContext(context.Context) GetIsVpnGatewayLifecycleReasonArrayOutput +} + +type GetIsVpnGatewayLifecycleReasonArray []GetIsVpnGatewayLifecycleReasonInput + +func (GetIsVpnGatewayLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnGatewayLifecycleReasonArray) ToGetIsVpnGatewayLifecycleReasonArrayOutput() GetIsVpnGatewayLifecycleReasonArrayOutput { + return i.ToGetIsVpnGatewayLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayLifecycleReasonArray) ToGetIsVpnGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayLifecycleReasonArrayOutput) +} + +type GetIsVpnGatewayLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnGatewayLifecycleReasonOutput) ToGetIsVpnGatewayLifecycleReasonOutput() GetIsVpnGatewayLifecycleReasonOutput { + return o +} + +func (o GetIsVpnGatewayLifecycleReasonOutput) ToGetIsVpnGatewayLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnGatewayLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsVpnGatewayLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsVpnGatewayLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsVpnGatewayLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnGatewayLifecycleReasonArrayOutput) ToGetIsVpnGatewayLifecycleReasonArrayOutput() GetIsVpnGatewayLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewayLifecycleReasonArrayOutput) ToGetIsVpnGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewayLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayLifecycleReason { + return vs[0].([]GetIsVpnGatewayLifecycleReason)[vs[1].(int)] + }).(GetIsVpnGatewayLifecycleReasonOutput) +} + +type GetIsVpnGatewayMember struct { + // The private IP address assigned to the VPN gateway member. This property will be present only when the VPN gateway status is`available`. + PrivateIpAddress string `pulumi:"privateIpAddress"` + // The public IP address assigned to the VPN gateway member. + PublicIpAddress string `pulumi:"publicIpAddress"` + // The high availability role assigned to the VPN gateway member. + Role string `pulumi:"role"` + // The status of the VPN gateway member. + Status string `pulumi:"status"` +} + +// GetIsVpnGatewayMemberInput is an input type that accepts GetIsVpnGatewayMemberArgs and GetIsVpnGatewayMemberOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayMemberInput` via: +// +// GetIsVpnGatewayMemberArgs{...} +type GetIsVpnGatewayMemberInput interface { + pulumi.Input + + ToGetIsVpnGatewayMemberOutput() GetIsVpnGatewayMemberOutput + ToGetIsVpnGatewayMemberOutputWithContext(context.Context) GetIsVpnGatewayMemberOutput +} + +type GetIsVpnGatewayMemberArgs struct { + // The private IP address assigned to the VPN gateway member. This property will be present only when the VPN gateway status is`available`. + PrivateIpAddress pulumi.StringInput `pulumi:"privateIpAddress"` + // The public IP address assigned to the VPN gateway member. + PublicIpAddress pulumi.StringInput `pulumi:"publicIpAddress"` + // The high availability role assigned to the VPN gateway member. + Role pulumi.StringInput `pulumi:"role"` + // The status of the VPN gateway member. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetIsVpnGatewayMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayMember)(nil)).Elem() +} + +func (i GetIsVpnGatewayMemberArgs) ToGetIsVpnGatewayMemberOutput() GetIsVpnGatewayMemberOutput { + return i.ToGetIsVpnGatewayMemberOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayMemberArgs) ToGetIsVpnGatewayMemberOutputWithContext(ctx context.Context) GetIsVpnGatewayMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayMemberOutput) +} + +// GetIsVpnGatewayMemberArrayInput is an input type that accepts GetIsVpnGatewayMemberArray and GetIsVpnGatewayMemberArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayMemberArrayInput` via: +// +// GetIsVpnGatewayMemberArray{ GetIsVpnGatewayMemberArgs{...} } +type GetIsVpnGatewayMemberArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayMemberArrayOutput() GetIsVpnGatewayMemberArrayOutput + ToGetIsVpnGatewayMemberArrayOutputWithContext(context.Context) GetIsVpnGatewayMemberArrayOutput +} + +type GetIsVpnGatewayMemberArray []GetIsVpnGatewayMemberInput + +func (GetIsVpnGatewayMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayMember)(nil)).Elem() +} + +func (i GetIsVpnGatewayMemberArray) ToGetIsVpnGatewayMemberArrayOutput() GetIsVpnGatewayMemberArrayOutput { + return i.ToGetIsVpnGatewayMemberArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayMemberArray) ToGetIsVpnGatewayMemberArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayMemberArrayOutput) +} + +type GetIsVpnGatewayMemberOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayMember)(nil)).Elem() +} + +func (o GetIsVpnGatewayMemberOutput) ToGetIsVpnGatewayMemberOutput() GetIsVpnGatewayMemberOutput { + return o +} + +func (o GetIsVpnGatewayMemberOutput) ToGetIsVpnGatewayMemberOutputWithContext(ctx context.Context) GetIsVpnGatewayMemberOutput { + return o +} + +// The private IP address assigned to the VPN gateway member. This property will be present only when the VPN gateway status is`available`. +func (o GetIsVpnGatewayMemberOutput) PrivateIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayMember) string { return v.PrivateIpAddress }).(pulumi.StringOutput) +} + +// The public IP address assigned to the VPN gateway member. +func (o GetIsVpnGatewayMemberOutput) PublicIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayMember) string { return v.PublicIpAddress }).(pulumi.StringOutput) +} + +// The high availability role assigned to the VPN gateway member. +func (o GetIsVpnGatewayMemberOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayMember) string { return v.Role }).(pulumi.StringOutput) +} + +// The status of the VPN gateway member. +func (o GetIsVpnGatewayMemberOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayMember) string { return v.Status }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayMember)(nil)).Elem() +} + +func (o GetIsVpnGatewayMemberArrayOutput) ToGetIsVpnGatewayMemberArrayOutput() GetIsVpnGatewayMemberArrayOutput { + return o +} + +func (o GetIsVpnGatewayMemberArrayOutput) ToGetIsVpnGatewayMemberArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayMemberArrayOutput { + return o +} + +func (o GetIsVpnGatewayMemberArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayMember { + return vs[0].([]GetIsVpnGatewayMember)[vs[1].(int)] + }).(GetIsVpnGatewayMemberOutput) +} + +type GetIsVpnGatewayResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVpnGatewayResourceGroupInput is an input type that accepts GetIsVpnGatewayResourceGroupArgs and GetIsVpnGatewayResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayResourceGroupInput` via: +// +// GetIsVpnGatewayResourceGroupArgs{...} +type GetIsVpnGatewayResourceGroupInput interface { + pulumi.Input + + ToGetIsVpnGatewayResourceGroupOutput() GetIsVpnGatewayResourceGroupOutput + ToGetIsVpnGatewayResourceGroupOutputWithContext(context.Context) GetIsVpnGatewayResourceGroupOutput +} + +type GetIsVpnGatewayResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnGatewayResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayResourceGroup)(nil)).Elem() +} + +func (i GetIsVpnGatewayResourceGroupArgs) ToGetIsVpnGatewayResourceGroupOutput() GetIsVpnGatewayResourceGroupOutput { + return i.ToGetIsVpnGatewayResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayResourceGroupArgs) ToGetIsVpnGatewayResourceGroupOutputWithContext(ctx context.Context) GetIsVpnGatewayResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayResourceGroupOutput) +} + +// GetIsVpnGatewayResourceGroupArrayInput is an input type that accepts GetIsVpnGatewayResourceGroupArray and GetIsVpnGatewayResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayResourceGroupArrayInput` via: +// +// GetIsVpnGatewayResourceGroupArray{ GetIsVpnGatewayResourceGroupArgs{...} } +type GetIsVpnGatewayResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayResourceGroupArrayOutput() GetIsVpnGatewayResourceGroupArrayOutput + ToGetIsVpnGatewayResourceGroupArrayOutputWithContext(context.Context) GetIsVpnGatewayResourceGroupArrayOutput +} + +type GetIsVpnGatewayResourceGroupArray []GetIsVpnGatewayResourceGroupInput + +func (GetIsVpnGatewayResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayResourceGroup)(nil)).Elem() +} + +func (i GetIsVpnGatewayResourceGroupArray) ToGetIsVpnGatewayResourceGroupArrayOutput() GetIsVpnGatewayResourceGroupArrayOutput { + return i.ToGetIsVpnGatewayResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayResourceGroupArray) ToGetIsVpnGatewayResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayResourceGroupArrayOutput) +} + +type GetIsVpnGatewayResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayResourceGroup)(nil)).Elem() +} + +func (o GetIsVpnGatewayResourceGroupOutput) ToGetIsVpnGatewayResourceGroupOutput() GetIsVpnGatewayResourceGroupOutput { + return o +} + +func (o GetIsVpnGatewayResourceGroupOutput) ToGetIsVpnGatewayResourceGroupOutputWithContext(ctx context.Context) GetIsVpnGatewayResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVpnGatewayResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVpnGatewayResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsVpnGatewayResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayResourceGroup)(nil)).Elem() +} + +func (o GetIsVpnGatewayResourceGroupArrayOutput) ToGetIsVpnGatewayResourceGroupArrayOutput() GetIsVpnGatewayResourceGroupArrayOutput { + return o +} + +func (o GetIsVpnGatewayResourceGroupArrayOutput) ToGetIsVpnGatewayResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayResourceGroupArrayOutput { + return o +} + +func (o GetIsVpnGatewayResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayResourceGroup { + return vs[0].([]GetIsVpnGatewayResourceGroup)[vs[1].(int)] + }).(GetIsVpnGatewayResourceGroupOutput) +} + +type GetIsVpnGatewaySubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds []GetIsVpnGatewaySubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` +} + +// GetIsVpnGatewaySubnetInput is an input type that accepts GetIsVpnGatewaySubnetArgs and GetIsVpnGatewaySubnetOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaySubnetInput` via: +// +// GetIsVpnGatewaySubnetArgs{...} +type GetIsVpnGatewaySubnetInput interface { + pulumi.Input + + ToGetIsVpnGatewaySubnetOutput() GetIsVpnGatewaySubnetOutput + ToGetIsVpnGatewaySubnetOutputWithContext(context.Context) GetIsVpnGatewaySubnetOutput +} + +type GetIsVpnGatewaySubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and provides some supplementary information. + Deleteds GetIsVpnGatewaySubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnGatewaySubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaySubnet)(nil)).Elem() +} + +func (i GetIsVpnGatewaySubnetArgs) ToGetIsVpnGatewaySubnetOutput() GetIsVpnGatewaySubnetOutput { + return i.ToGetIsVpnGatewaySubnetOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaySubnetArgs) ToGetIsVpnGatewaySubnetOutputWithContext(ctx context.Context) GetIsVpnGatewaySubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaySubnetOutput) +} + +// GetIsVpnGatewaySubnetArrayInput is an input type that accepts GetIsVpnGatewaySubnetArray and GetIsVpnGatewaySubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaySubnetArrayInput` via: +// +// GetIsVpnGatewaySubnetArray{ GetIsVpnGatewaySubnetArgs{...} } +type GetIsVpnGatewaySubnetArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewaySubnetArrayOutput() GetIsVpnGatewaySubnetArrayOutput + ToGetIsVpnGatewaySubnetArrayOutputWithContext(context.Context) GetIsVpnGatewaySubnetArrayOutput +} + +type GetIsVpnGatewaySubnetArray []GetIsVpnGatewaySubnetInput + +func (GetIsVpnGatewaySubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaySubnet)(nil)).Elem() +} + +func (i GetIsVpnGatewaySubnetArray) ToGetIsVpnGatewaySubnetArrayOutput() GetIsVpnGatewaySubnetArrayOutput { + return i.ToGetIsVpnGatewaySubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaySubnetArray) ToGetIsVpnGatewaySubnetArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaySubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaySubnetArrayOutput) +} + +type GetIsVpnGatewaySubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaySubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaySubnet)(nil)).Elem() +} + +func (o GetIsVpnGatewaySubnetOutput) ToGetIsVpnGatewaySubnetOutput() GetIsVpnGatewaySubnetOutput { + return o +} + +func (o GetIsVpnGatewaySubnetOutput) ToGetIsVpnGatewaySubnetOutputWithContext(ctx context.Context) GetIsVpnGatewaySubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsVpnGatewaySubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaySubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and provides some supplementary information. +func (o GetIsVpnGatewaySubnetOutput) Deleteds() GetIsVpnGatewaySubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaySubnet) []GetIsVpnGatewaySubnetDeleted { return v.Deleteds }).(GetIsVpnGatewaySubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsVpnGatewaySubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaySubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsVpnGatewaySubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaySubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsVpnGatewaySubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaySubnet) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnGatewaySubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaySubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaySubnet)(nil)).Elem() +} + +func (o GetIsVpnGatewaySubnetArrayOutput) ToGetIsVpnGatewaySubnetArrayOutput() GetIsVpnGatewaySubnetArrayOutput { + return o +} + +func (o GetIsVpnGatewaySubnetArrayOutput) ToGetIsVpnGatewaySubnetArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaySubnetArrayOutput { + return o +} + +func (o GetIsVpnGatewaySubnetArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewaySubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewaySubnet { + return vs[0].([]GetIsVpnGatewaySubnet)[vs[1].(int)] + }).(GetIsVpnGatewaySubnetOutput) +} + +type GetIsVpnGatewaySubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewaySubnetDeletedInput is an input type that accepts GetIsVpnGatewaySubnetDeletedArgs and GetIsVpnGatewaySubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaySubnetDeletedInput` via: +// +// GetIsVpnGatewaySubnetDeletedArgs{...} +type GetIsVpnGatewaySubnetDeletedInput interface { + pulumi.Input + + ToGetIsVpnGatewaySubnetDeletedOutput() GetIsVpnGatewaySubnetDeletedOutput + ToGetIsVpnGatewaySubnetDeletedOutputWithContext(context.Context) GetIsVpnGatewaySubnetDeletedOutput +} + +type GetIsVpnGatewaySubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewaySubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaySubnetDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewaySubnetDeletedArgs) ToGetIsVpnGatewaySubnetDeletedOutput() GetIsVpnGatewaySubnetDeletedOutput { + return i.ToGetIsVpnGatewaySubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaySubnetDeletedArgs) ToGetIsVpnGatewaySubnetDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewaySubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaySubnetDeletedOutput) +} + +// GetIsVpnGatewaySubnetDeletedArrayInput is an input type that accepts GetIsVpnGatewaySubnetDeletedArray and GetIsVpnGatewaySubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaySubnetDeletedArrayInput` via: +// +// GetIsVpnGatewaySubnetDeletedArray{ GetIsVpnGatewaySubnetDeletedArgs{...} } +type GetIsVpnGatewaySubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewaySubnetDeletedArrayOutput() GetIsVpnGatewaySubnetDeletedArrayOutput + ToGetIsVpnGatewaySubnetDeletedArrayOutputWithContext(context.Context) GetIsVpnGatewaySubnetDeletedArrayOutput +} + +type GetIsVpnGatewaySubnetDeletedArray []GetIsVpnGatewaySubnetDeletedInput + +func (GetIsVpnGatewaySubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaySubnetDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewaySubnetDeletedArray) ToGetIsVpnGatewaySubnetDeletedArrayOutput() GetIsVpnGatewaySubnetDeletedArrayOutput { + return i.ToGetIsVpnGatewaySubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaySubnetDeletedArray) ToGetIsVpnGatewaySubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaySubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaySubnetDeletedArrayOutput) +} + +type GetIsVpnGatewaySubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaySubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaySubnetDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewaySubnetDeletedOutput) ToGetIsVpnGatewaySubnetDeletedOutput() GetIsVpnGatewaySubnetDeletedOutput { + return o +} + +func (o GetIsVpnGatewaySubnetDeletedOutput) ToGetIsVpnGatewaySubnetDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewaySubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnGatewaySubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaySubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewaySubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaySubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaySubnetDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewaySubnetDeletedArrayOutput) ToGetIsVpnGatewaySubnetDeletedArrayOutput() GetIsVpnGatewaySubnetDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewaySubnetDeletedArrayOutput) ToGetIsVpnGatewaySubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaySubnetDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewaySubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewaySubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewaySubnetDeleted { + return vs[0].([]GetIsVpnGatewaySubnetDeleted)[vs[1].(int)] + }).(GetIsVpnGatewaySubnetDeletedOutput) +} + +type GetIsVpnGatewayVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnGatewayVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` +} + +// GetIsVpnGatewayVpcInput is an input type that accepts GetIsVpnGatewayVpcArgs and GetIsVpnGatewayVpcOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayVpcInput` via: +// +// GetIsVpnGatewayVpcArgs{...} +type GetIsVpnGatewayVpcInput interface { + pulumi.Input + + ToGetIsVpnGatewayVpcOutput() GetIsVpnGatewayVpcOutput + ToGetIsVpnGatewayVpcOutputWithContext(context.Context) GetIsVpnGatewayVpcOutput +} + +type GetIsVpnGatewayVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnGatewayVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnGatewayVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayVpc)(nil)).Elem() +} + +func (i GetIsVpnGatewayVpcArgs) ToGetIsVpnGatewayVpcOutput() GetIsVpnGatewayVpcOutput { + return i.ToGetIsVpnGatewayVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayVpcArgs) ToGetIsVpnGatewayVpcOutputWithContext(ctx context.Context) GetIsVpnGatewayVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayVpcOutput) +} + +// GetIsVpnGatewayVpcArrayInput is an input type that accepts GetIsVpnGatewayVpcArray and GetIsVpnGatewayVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayVpcArrayInput` via: +// +// GetIsVpnGatewayVpcArray{ GetIsVpnGatewayVpcArgs{...} } +type GetIsVpnGatewayVpcArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayVpcArrayOutput() GetIsVpnGatewayVpcArrayOutput + ToGetIsVpnGatewayVpcArrayOutputWithContext(context.Context) GetIsVpnGatewayVpcArrayOutput +} + +type GetIsVpnGatewayVpcArray []GetIsVpnGatewayVpcInput + +func (GetIsVpnGatewayVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayVpc)(nil)).Elem() +} + +func (i GetIsVpnGatewayVpcArray) ToGetIsVpnGatewayVpcArrayOutput() GetIsVpnGatewayVpcArrayOutput { + return i.ToGetIsVpnGatewayVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayVpcArray) ToGetIsVpnGatewayVpcArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayVpcArrayOutput) +} + +type GetIsVpnGatewayVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayVpc)(nil)).Elem() +} + +func (o GetIsVpnGatewayVpcOutput) ToGetIsVpnGatewayVpcOutput() GetIsVpnGatewayVpcOutput { + return o +} + +func (o GetIsVpnGatewayVpcOutput) ToGetIsVpnGatewayVpcOutputWithContext(ctx context.Context) GetIsVpnGatewayVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVpnGatewayVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnGatewayVpcOutput) Deleteds() GetIsVpnGatewayVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewayVpc) []GetIsVpnGatewayVpcDeleted { return v.Deleteds }).(GetIsVpnGatewayVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsVpnGatewayVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVpnGatewayVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsVpnGatewayVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayVpc) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayVpc)(nil)).Elem() +} + +func (o GetIsVpnGatewayVpcArrayOutput) ToGetIsVpnGatewayVpcArrayOutput() GetIsVpnGatewayVpcArrayOutput { + return o +} + +func (o GetIsVpnGatewayVpcArrayOutput) ToGetIsVpnGatewayVpcArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayVpcArrayOutput { + return o +} + +func (o GetIsVpnGatewayVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayVpc { + return vs[0].([]GetIsVpnGatewayVpc)[vs[1].(int)] + }).(GetIsVpnGatewayVpcOutput) +} + +type GetIsVpnGatewayVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewayVpcDeletedInput is an input type that accepts GetIsVpnGatewayVpcDeletedArgs and GetIsVpnGatewayVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayVpcDeletedInput` via: +// +// GetIsVpnGatewayVpcDeletedArgs{...} +type GetIsVpnGatewayVpcDeletedInput interface { + pulumi.Input + + ToGetIsVpnGatewayVpcDeletedOutput() GetIsVpnGatewayVpcDeletedOutput + ToGetIsVpnGatewayVpcDeletedOutputWithContext(context.Context) GetIsVpnGatewayVpcDeletedOutput +} + +type GetIsVpnGatewayVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewayVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewayVpcDeletedArgs) ToGetIsVpnGatewayVpcDeletedOutput() GetIsVpnGatewayVpcDeletedOutput { + return i.ToGetIsVpnGatewayVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayVpcDeletedArgs) ToGetIsVpnGatewayVpcDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewayVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayVpcDeletedOutput) +} + +// GetIsVpnGatewayVpcDeletedArrayInput is an input type that accepts GetIsVpnGatewayVpcDeletedArray and GetIsVpnGatewayVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewayVpcDeletedArrayInput` via: +// +// GetIsVpnGatewayVpcDeletedArray{ GetIsVpnGatewayVpcDeletedArgs{...} } +type GetIsVpnGatewayVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewayVpcDeletedArrayOutput() GetIsVpnGatewayVpcDeletedArrayOutput + ToGetIsVpnGatewayVpcDeletedArrayOutputWithContext(context.Context) GetIsVpnGatewayVpcDeletedArrayOutput +} + +type GetIsVpnGatewayVpcDeletedArray []GetIsVpnGatewayVpcDeletedInput + +func (GetIsVpnGatewayVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewayVpcDeletedArray) ToGetIsVpnGatewayVpcDeletedArrayOutput() GetIsVpnGatewayVpcDeletedArrayOutput { + return i.ToGetIsVpnGatewayVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewayVpcDeletedArray) ToGetIsVpnGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewayVpcDeletedArrayOutput) +} + +type GetIsVpnGatewayVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewayVpcDeletedOutput) ToGetIsVpnGatewayVpcDeletedOutput() GetIsVpnGatewayVpcDeletedOutput { + return o +} + +func (o GetIsVpnGatewayVpcDeletedOutput) ToGetIsVpnGatewayVpcDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewayVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnGatewayVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewayVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewayVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewayVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewayVpcDeletedArrayOutput) ToGetIsVpnGatewayVpcDeletedArrayOutput() GetIsVpnGatewayVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewayVpcDeletedArrayOutput) ToGetIsVpnGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewayVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewayVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewayVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewayVpcDeleted { + return vs[0].([]GetIsVpnGatewayVpcDeleted)[vs[1].(int)] + }).(GetIsVpnGatewayVpcDeletedOutput) +} + +type GetIsVpnGatewaysVpnGateway struct { + // List of access management tags + AccessTags []string `pulumi:"accessTags"` + // The date and time that this VPN gateway was created + CreatedAt string `pulumi:"createdAt"` + // The VPN gateway's CRN + Crn string `pulumi:"crn"` + HealthReasons []GetIsVpnGatewaysVpnGatewayHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState string `pulumi:"healthState"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []GetIsVpnGatewaysVpnGatewayLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN route. + LifecycleState string `pulumi:"lifecycleState"` + // Collection of VPN gateway members + Members []GetIsVpnGatewaysVpnGatewayMember `pulumi:"members"` + // VPN gateway mode(policy/route) + Mode string `pulumi:"mode"` + // VPN Gateway instance name + Name string `pulumi:"name"` + // resource group identifiers + ResourceGroup string `pulumi:"resourceGroup"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The status of the VPN gateway + Status string `pulumi:"status"` + // VPNGateway subnet info + Subnet string `pulumi:"subnet"` + // VPN Gateway tags list + Tags []string `pulumi:"tags"` + // VPC for the VPN Gateway + Vpcs []GetIsVpnGatewaysVpnGatewayVpc `pulumi:"vpcs"` +} + +// GetIsVpnGatewaysVpnGatewayInput is an input type that accepts GetIsVpnGatewaysVpnGatewayArgs and GetIsVpnGatewaysVpnGatewayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayInput` via: +// +// GetIsVpnGatewaysVpnGatewayArgs{...} +type GetIsVpnGatewaysVpnGatewayInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayOutput() GetIsVpnGatewaysVpnGatewayOutput + ToGetIsVpnGatewaysVpnGatewayOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayOutput +} + +type GetIsVpnGatewaysVpnGatewayArgs struct { + // List of access management tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The date and time that this VPN gateway was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The VPN gateway's CRN + Crn pulumi.StringInput `pulumi:"crn"` + HealthReasons GetIsVpnGatewaysVpnGatewayHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringInput `pulumi:"healthState"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN route. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // Collection of VPN gateway members + Members GetIsVpnGatewaysVpnGatewayMemberArrayInput `pulumi:"members"` + // VPN gateway mode(policy/route) + Mode pulumi.StringInput `pulumi:"mode"` + // VPN Gateway instance name + Name pulumi.StringInput `pulumi:"name"` + // resource group identifiers + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The status of the VPN gateway + Status pulumi.StringInput `pulumi:"status"` + // VPNGateway subnet info + Subnet pulumi.StringInput `pulumi:"subnet"` + // VPN Gateway tags list + Tags pulumi.StringArrayInput `pulumi:"tags"` + // VPC for the VPN Gateway + Vpcs GetIsVpnGatewaysVpnGatewayVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsVpnGatewaysVpnGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGateway)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayArgs) ToGetIsVpnGatewaysVpnGatewayOutput() GetIsVpnGatewaysVpnGatewayOutput { + return i.ToGetIsVpnGatewaysVpnGatewayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayArgs) ToGetIsVpnGatewaysVpnGatewayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayOutput) +} + +// GetIsVpnGatewaysVpnGatewayArrayInput is an input type that accepts GetIsVpnGatewaysVpnGatewayArray and GetIsVpnGatewaysVpnGatewayArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayArrayInput` via: +// +// GetIsVpnGatewaysVpnGatewayArray{ GetIsVpnGatewaysVpnGatewayArgs{...} } +type GetIsVpnGatewaysVpnGatewayArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayArrayOutput() GetIsVpnGatewaysVpnGatewayArrayOutput + ToGetIsVpnGatewaysVpnGatewayArrayOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayArrayOutput +} + +type GetIsVpnGatewaysVpnGatewayArray []GetIsVpnGatewaysVpnGatewayInput + +func (GetIsVpnGatewaysVpnGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGateway)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayArray) ToGetIsVpnGatewaysVpnGatewayArrayOutput() GetIsVpnGatewaysVpnGatewayArrayOutput { + return i.ToGetIsVpnGatewaysVpnGatewayArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayArray) ToGetIsVpnGatewaysVpnGatewayArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayArrayOutput) +} + +type GetIsVpnGatewaysVpnGatewayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGateway)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayOutput) ToGetIsVpnGatewaysVpnGatewayOutput() GetIsVpnGatewaysVpnGatewayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayOutput) ToGetIsVpnGatewaysVpnGatewayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayOutput { + return o +} + +// List of access management tags +func (o GetIsVpnGatewaysVpnGatewayOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The date and time that this VPN gateway was created +func (o GetIsVpnGatewaysVpnGatewayOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The VPN gateway's CRN +func (o GetIsVpnGatewaysVpnGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o GetIsVpnGatewaysVpnGatewayOutput) HealthReasons() GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) []GetIsVpnGatewaysVpnGatewayHealthReason { return v.HealthReasons }).(GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o GetIsVpnGatewaysVpnGatewayOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o GetIsVpnGatewaysVpnGatewayOutput) LifecycleReasons() GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) []GetIsVpnGatewaysVpnGatewayLifecycleReason { + return v.LifecycleReasons + }).(GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput) +} + +// The lifecycle state of the VPN route. +func (o GetIsVpnGatewaysVpnGatewayOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// Collection of VPN gateway members +func (o GetIsVpnGatewaysVpnGatewayOutput) Members() GetIsVpnGatewaysVpnGatewayMemberArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) []GetIsVpnGatewaysVpnGatewayMember { return v.Members }).(GetIsVpnGatewaysVpnGatewayMemberArrayOutput) +} + +// VPN gateway mode(policy/route) +func (o GetIsVpnGatewaysVpnGatewayOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.Mode }).(pulumi.StringOutput) +} + +// VPN Gateway instance name +func (o GetIsVpnGatewaysVpnGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.Name }).(pulumi.StringOutput) +} + +// resource group identifiers +func (o GetIsVpnGatewaysVpnGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnGatewaysVpnGatewayOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The status of the VPN gateway +func (o GetIsVpnGatewaysVpnGatewayOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.Status }).(pulumi.StringOutput) +} + +// VPNGateway subnet info +func (o GetIsVpnGatewaysVpnGatewayOutput) Subnet() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) string { return v.Subnet }).(pulumi.StringOutput) +} + +// VPN Gateway tags list +func (o GetIsVpnGatewaysVpnGatewayOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +// VPC for the VPN Gateway +func (o GetIsVpnGatewaysVpnGatewayOutput) Vpcs() GetIsVpnGatewaysVpnGatewayVpcArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGateway) []GetIsVpnGatewaysVpnGatewayVpc { return v.Vpcs }).(GetIsVpnGatewaysVpnGatewayVpcArrayOutput) +} + +type GetIsVpnGatewaysVpnGatewayArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGateway)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayArrayOutput) ToGetIsVpnGatewaysVpnGatewayArrayOutput() GetIsVpnGatewaysVpnGatewayArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayArrayOutput) ToGetIsVpnGatewaysVpnGatewayArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewaysVpnGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewaysVpnGateway { + return vs[0].([]GetIsVpnGatewaysVpnGateway)[vs[1].(int)] + }).(GetIsVpnGatewaysVpnGatewayOutput) +} + +type GetIsVpnGatewaysVpnGatewayHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewaysVpnGatewayHealthReasonInput is an input type that accepts GetIsVpnGatewaysVpnGatewayHealthReasonArgs and GetIsVpnGatewaysVpnGatewayHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayHealthReasonInput` via: +// +// GetIsVpnGatewaysVpnGatewayHealthReasonArgs{...} +type GetIsVpnGatewaysVpnGatewayHealthReasonInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayHealthReasonOutput() GetIsVpnGatewaysVpnGatewayHealthReasonOutput + ToGetIsVpnGatewaysVpnGatewayHealthReasonOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayHealthReasonOutput +} + +type GetIsVpnGatewaysVpnGatewayHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewaysVpnGatewayHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayHealthReason)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayHealthReasonArgs) ToGetIsVpnGatewaysVpnGatewayHealthReasonOutput() GetIsVpnGatewaysVpnGatewayHealthReasonOutput { + return i.ToGetIsVpnGatewaysVpnGatewayHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayHealthReasonArgs) ToGetIsVpnGatewaysVpnGatewayHealthReasonOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayHealthReasonOutput) +} + +// GetIsVpnGatewaysVpnGatewayHealthReasonArrayInput is an input type that accepts GetIsVpnGatewaysVpnGatewayHealthReasonArray and GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayHealthReasonArrayInput` via: +// +// GetIsVpnGatewaysVpnGatewayHealthReasonArray{ GetIsVpnGatewaysVpnGatewayHealthReasonArgs{...} } +type GetIsVpnGatewaysVpnGatewayHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput() GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput + ToGetIsVpnGatewaysVpnGatewayHealthReasonArrayOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput +} + +type GetIsVpnGatewaysVpnGatewayHealthReasonArray []GetIsVpnGatewaysVpnGatewayHealthReasonInput + +func (GetIsVpnGatewaysVpnGatewayHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayHealthReason)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayHealthReasonArray) ToGetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput() GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput { + return i.ToGetIsVpnGatewaysVpnGatewayHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayHealthReasonArray) ToGetIsVpnGatewaysVpnGatewayHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput) +} + +type GetIsVpnGatewaysVpnGatewayHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayHealthReason)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayHealthReasonOutput) ToGetIsVpnGatewaysVpnGatewayHealthReasonOutput() GetIsVpnGatewaysVpnGatewayHealthReasonOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayHealthReasonOutput) ToGetIsVpnGatewaysVpnGatewayHealthReasonOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpnGatewaysVpnGatewayHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpnGatewaysVpnGatewayHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpnGatewaysVpnGatewayHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayHealthReason)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput) ToGetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput() GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput) ToGetIsVpnGatewaysVpnGatewayHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewaysVpnGatewayHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewaysVpnGatewayHealthReason { + return vs[0].([]GetIsVpnGatewaysVpnGatewayHealthReason)[vs[1].(int)] + }).(GetIsVpnGatewaysVpnGatewayHealthReasonOutput) +} + +type GetIsVpnGatewaysVpnGatewayLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewaysVpnGatewayLifecycleReasonInput is an input type that accepts GetIsVpnGatewaysVpnGatewayLifecycleReasonArgs and GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayLifecycleReasonInput` via: +// +// GetIsVpnGatewaysVpnGatewayLifecycleReasonArgs{...} +type GetIsVpnGatewaysVpnGatewayLifecycleReasonInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayLifecycleReasonOutput() GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput + ToGetIsVpnGatewaysVpnGatewayLifecycleReasonOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput +} + +type GetIsVpnGatewaysVpnGatewayLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewaysVpnGatewayLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayLifecycleReasonArgs) ToGetIsVpnGatewaysVpnGatewayLifecycleReasonOutput() GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput { + return i.ToGetIsVpnGatewaysVpnGatewayLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayLifecycleReasonArgs) ToGetIsVpnGatewaysVpnGatewayLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput) +} + +// GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayInput is an input type that accepts GetIsVpnGatewaysVpnGatewayLifecycleReasonArray and GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayInput` via: +// +// GetIsVpnGatewaysVpnGatewayLifecycleReasonArray{ GetIsVpnGatewaysVpnGatewayLifecycleReasonArgs{...} } +type GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput() GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput + ToGetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput +} + +type GetIsVpnGatewaysVpnGatewayLifecycleReasonArray []GetIsVpnGatewaysVpnGatewayLifecycleReasonInput + +func (GetIsVpnGatewaysVpnGatewayLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayLifecycleReasonArray) ToGetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput() GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput { + return i.ToGetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayLifecycleReasonArray) ToGetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput) +} + +type GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput) ToGetIsVpnGatewaysVpnGatewayLifecycleReasonOutput() GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput) ToGetIsVpnGatewaysVpnGatewayLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput) ToGetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput() GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput) ToGetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewaysVpnGatewayLifecycleReason { + return vs[0].([]GetIsVpnGatewaysVpnGatewayLifecycleReason)[vs[1].(int)] + }).(GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput) +} + +type GetIsVpnGatewaysVpnGatewayMember struct { + // The public IP address assigned to the VPN gateway member + Address string `pulumi:"address"` + // The private IP address assigned to the VPN gateway member + PrivateAddress string `pulumi:"privateAddress"` + // The high availability role assigned to the VPN gateway member + Role string `pulumi:"role"` + // The status of the VPN gateway member + Status string `pulumi:"status"` +} + +// GetIsVpnGatewaysVpnGatewayMemberInput is an input type that accepts GetIsVpnGatewaysVpnGatewayMemberArgs and GetIsVpnGatewaysVpnGatewayMemberOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayMemberInput` via: +// +// GetIsVpnGatewaysVpnGatewayMemberArgs{...} +type GetIsVpnGatewaysVpnGatewayMemberInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayMemberOutput() GetIsVpnGatewaysVpnGatewayMemberOutput + ToGetIsVpnGatewaysVpnGatewayMemberOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayMemberOutput +} + +type GetIsVpnGatewaysVpnGatewayMemberArgs struct { + // The public IP address assigned to the VPN gateway member + Address pulumi.StringInput `pulumi:"address"` + // The private IP address assigned to the VPN gateway member + PrivateAddress pulumi.StringInput `pulumi:"privateAddress"` + // The high availability role assigned to the VPN gateway member + Role pulumi.StringInput `pulumi:"role"` + // The status of the VPN gateway member + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetIsVpnGatewaysVpnGatewayMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayMember)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayMemberArgs) ToGetIsVpnGatewaysVpnGatewayMemberOutput() GetIsVpnGatewaysVpnGatewayMemberOutput { + return i.ToGetIsVpnGatewaysVpnGatewayMemberOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayMemberArgs) ToGetIsVpnGatewaysVpnGatewayMemberOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayMemberOutput) +} + +// GetIsVpnGatewaysVpnGatewayMemberArrayInput is an input type that accepts GetIsVpnGatewaysVpnGatewayMemberArray and GetIsVpnGatewaysVpnGatewayMemberArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayMemberArrayInput` via: +// +// GetIsVpnGatewaysVpnGatewayMemberArray{ GetIsVpnGatewaysVpnGatewayMemberArgs{...} } +type GetIsVpnGatewaysVpnGatewayMemberArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayMemberArrayOutput() GetIsVpnGatewaysVpnGatewayMemberArrayOutput + ToGetIsVpnGatewaysVpnGatewayMemberArrayOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayMemberArrayOutput +} + +type GetIsVpnGatewaysVpnGatewayMemberArray []GetIsVpnGatewaysVpnGatewayMemberInput + +func (GetIsVpnGatewaysVpnGatewayMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayMember)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayMemberArray) ToGetIsVpnGatewaysVpnGatewayMemberArrayOutput() GetIsVpnGatewaysVpnGatewayMemberArrayOutput { + return i.ToGetIsVpnGatewaysVpnGatewayMemberArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayMemberArray) ToGetIsVpnGatewaysVpnGatewayMemberArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayMemberArrayOutput) +} + +type GetIsVpnGatewaysVpnGatewayMemberOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayMember)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayMemberOutput) ToGetIsVpnGatewaysVpnGatewayMemberOutput() GetIsVpnGatewaysVpnGatewayMemberOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayMemberOutput) ToGetIsVpnGatewaysVpnGatewayMemberOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayMemberOutput { + return o +} + +// The public IP address assigned to the VPN gateway member +func (o GetIsVpnGatewaysVpnGatewayMemberOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayMember) string { return v.Address }).(pulumi.StringOutput) +} + +// The private IP address assigned to the VPN gateway member +func (o GetIsVpnGatewaysVpnGatewayMemberOutput) PrivateAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayMember) string { return v.PrivateAddress }).(pulumi.StringOutput) +} + +// The high availability role assigned to the VPN gateway member +func (o GetIsVpnGatewaysVpnGatewayMemberOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayMember) string { return v.Role }).(pulumi.StringOutput) +} + +// The status of the VPN gateway member +func (o GetIsVpnGatewaysVpnGatewayMemberOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayMember) string { return v.Status }).(pulumi.StringOutput) +} + +type GetIsVpnGatewaysVpnGatewayMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayMember)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayMemberArrayOutput) ToGetIsVpnGatewaysVpnGatewayMemberArrayOutput() GetIsVpnGatewaysVpnGatewayMemberArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayMemberArrayOutput) ToGetIsVpnGatewaysVpnGatewayMemberArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayMemberArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayMemberArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewaysVpnGatewayMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewaysVpnGatewayMember { + return vs[0].([]GetIsVpnGatewaysVpnGatewayMember)[vs[1].(int)] + }).(GetIsVpnGatewaysVpnGatewayMemberOutput) +} + +type GetIsVpnGatewaysVpnGatewayVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnGatewaysVpnGatewayVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` +} + +// GetIsVpnGatewaysVpnGatewayVpcInput is an input type that accepts GetIsVpnGatewaysVpnGatewayVpcArgs and GetIsVpnGatewaysVpnGatewayVpcOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayVpcInput` via: +// +// GetIsVpnGatewaysVpnGatewayVpcArgs{...} +type GetIsVpnGatewaysVpnGatewayVpcInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayVpcOutput() GetIsVpnGatewaysVpnGatewayVpcOutput + ToGetIsVpnGatewaysVpnGatewayVpcOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayVpcOutput +} + +type GetIsVpnGatewaysVpnGatewayVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnGatewaysVpnGatewayVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnGatewaysVpnGatewayVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayVpc)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayVpcArgs) ToGetIsVpnGatewaysVpnGatewayVpcOutput() GetIsVpnGatewaysVpnGatewayVpcOutput { + return i.ToGetIsVpnGatewaysVpnGatewayVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayVpcArgs) ToGetIsVpnGatewaysVpnGatewayVpcOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayVpcOutput) +} + +// GetIsVpnGatewaysVpnGatewayVpcArrayInput is an input type that accepts GetIsVpnGatewaysVpnGatewayVpcArray and GetIsVpnGatewaysVpnGatewayVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayVpcArrayInput` via: +// +// GetIsVpnGatewaysVpnGatewayVpcArray{ GetIsVpnGatewaysVpnGatewayVpcArgs{...} } +type GetIsVpnGatewaysVpnGatewayVpcArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayVpcArrayOutput() GetIsVpnGatewaysVpnGatewayVpcArrayOutput + ToGetIsVpnGatewaysVpnGatewayVpcArrayOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayVpcArrayOutput +} + +type GetIsVpnGatewaysVpnGatewayVpcArray []GetIsVpnGatewaysVpnGatewayVpcInput + +func (GetIsVpnGatewaysVpnGatewayVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayVpc)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayVpcArray) ToGetIsVpnGatewaysVpnGatewayVpcArrayOutput() GetIsVpnGatewaysVpnGatewayVpcArrayOutput { + return i.ToGetIsVpnGatewaysVpnGatewayVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayVpcArray) ToGetIsVpnGatewaysVpnGatewayVpcArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayVpcArrayOutput) +} + +type GetIsVpnGatewaysVpnGatewayVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayVpc)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayVpcOutput) ToGetIsVpnGatewaysVpnGatewayVpcOutput() GetIsVpnGatewaysVpnGatewayVpcOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayVpcOutput) ToGetIsVpnGatewaysVpnGatewayVpcOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVpnGatewaysVpnGatewayVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnGatewaysVpnGatewayVpcOutput) Deleteds() GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayVpc) []GetIsVpnGatewaysVpnGatewayVpcDeleted { return v.Deleteds }).(GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsVpnGatewaysVpnGatewayVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVpnGatewaysVpnGatewayVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsVpnGatewaysVpnGatewayVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayVpc) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnGatewaysVpnGatewayVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayVpc)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayVpcArrayOutput) ToGetIsVpnGatewaysVpnGatewayVpcArrayOutput() GetIsVpnGatewaysVpnGatewayVpcArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayVpcArrayOutput) ToGetIsVpnGatewaysVpnGatewayVpcArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayVpcArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewaysVpnGatewayVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewaysVpnGatewayVpc { + return vs[0].([]GetIsVpnGatewaysVpnGatewayVpc)[vs[1].(int)] + }).(GetIsVpnGatewaysVpnGatewayVpcOutput) +} + +type GetIsVpnGatewaysVpnGatewayVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnGatewaysVpnGatewayVpcDeletedInput is an input type that accepts GetIsVpnGatewaysVpnGatewayVpcDeletedArgs and GetIsVpnGatewaysVpnGatewayVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayVpcDeletedInput` via: +// +// GetIsVpnGatewaysVpnGatewayVpcDeletedArgs{...} +type GetIsVpnGatewaysVpnGatewayVpcDeletedInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayVpcDeletedOutput() GetIsVpnGatewaysVpnGatewayVpcDeletedOutput + ToGetIsVpnGatewaysVpnGatewayVpcDeletedOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayVpcDeletedOutput +} + +type GetIsVpnGatewaysVpnGatewayVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnGatewaysVpnGatewayVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayVpcDeletedArgs) ToGetIsVpnGatewaysVpnGatewayVpcDeletedOutput() GetIsVpnGatewaysVpnGatewayVpcDeletedOutput { + return i.ToGetIsVpnGatewaysVpnGatewayVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayVpcDeletedArgs) ToGetIsVpnGatewaysVpnGatewayVpcDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayVpcDeletedOutput) +} + +// GetIsVpnGatewaysVpnGatewayVpcDeletedArrayInput is an input type that accepts GetIsVpnGatewaysVpnGatewayVpcDeletedArray and GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnGatewaysVpnGatewayVpcDeletedArrayInput` via: +// +// GetIsVpnGatewaysVpnGatewayVpcDeletedArray{ GetIsVpnGatewaysVpnGatewayVpcDeletedArgs{...} } +type GetIsVpnGatewaysVpnGatewayVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput() GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput + ToGetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutputWithContext(context.Context) GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput +} + +type GetIsVpnGatewaysVpnGatewayVpcDeletedArray []GetIsVpnGatewaysVpnGatewayVpcDeletedInput + +func (GetIsVpnGatewaysVpnGatewayVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpnGatewaysVpnGatewayVpcDeletedArray) ToGetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput() GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput { + return i.ToGetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnGatewaysVpnGatewayVpcDeletedArray) ToGetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput) +} + +type GetIsVpnGatewaysVpnGatewayVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayVpcDeletedOutput) ToGetIsVpnGatewaysVpnGatewayVpcDeletedOutput() GetIsVpnGatewaysVpnGatewayVpcDeletedOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayVpcDeletedOutput) ToGetIsVpnGatewaysVpnGatewayVpcDeletedOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnGatewaysVpnGatewayVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnGatewaysVpnGatewayVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnGatewaysVpnGatewayVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput) ToGetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput() GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput) ToGetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnGatewaysVpnGatewayVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnGatewaysVpnGatewayVpcDeleted { + return vs[0].([]GetIsVpnGatewaysVpnGatewayVpcDeleted)[vs[1].(int)] + }).(GetIsVpnGatewaysVpnGatewayVpcDeletedOutput) +} + +type GetIsVpnServerCertificate struct { + // The CRN for this certificate instance. + Crn string `pulumi:"crn"` +} + +// GetIsVpnServerCertificateInput is an input type that accepts GetIsVpnServerCertificateArgs and GetIsVpnServerCertificateOutput values. +// You can construct a concrete instance of `GetIsVpnServerCertificateInput` via: +// +// GetIsVpnServerCertificateArgs{...} +type GetIsVpnServerCertificateInput interface { + pulumi.Input + + ToGetIsVpnServerCertificateOutput() GetIsVpnServerCertificateOutput + ToGetIsVpnServerCertificateOutputWithContext(context.Context) GetIsVpnServerCertificateOutput +} + +type GetIsVpnServerCertificateArgs struct { + // The CRN for this certificate instance. + Crn pulumi.StringInput `pulumi:"crn"` +} + +func (GetIsVpnServerCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerCertificate)(nil)).Elem() +} + +func (i GetIsVpnServerCertificateArgs) ToGetIsVpnServerCertificateOutput() GetIsVpnServerCertificateOutput { + return i.ToGetIsVpnServerCertificateOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerCertificateArgs) ToGetIsVpnServerCertificateOutputWithContext(ctx context.Context) GetIsVpnServerCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerCertificateOutput) +} + +// GetIsVpnServerCertificateArrayInput is an input type that accepts GetIsVpnServerCertificateArray and GetIsVpnServerCertificateArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerCertificateArrayInput` via: +// +// GetIsVpnServerCertificateArray{ GetIsVpnServerCertificateArgs{...} } +type GetIsVpnServerCertificateArrayInput interface { + pulumi.Input + + ToGetIsVpnServerCertificateArrayOutput() GetIsVpnServerCertificateArrayOutput + ToGetIsVpnServerCertificateArrayOutputWithContext(context.Context) GetIsVpnServerCertificateArrayOutput +} + +type GetIsVpnServerCertificateArray []GetIsVpnServerCertificateInput + +func (GetIsVpnServerCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerCertificate)(nil)).Elem() +} + +func (i GetIsVpnServerCertificateArray) ToGetIsVpnServerCertificateArrayOutput() GetIsVpnServerCertificateArrayOutput { + return i.ToGetIsVpnServerCertificateArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerCertificateArray) ToGetIsVpnServerCertificateArrayOutputWithContext(ctx context.Context) GetIsVpnServerCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerCertificateArrayOutput) +} + +type GetIsVpnServerCertificateOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerCertificate)(nil)).Elem() +} + +func (o GetIsVpnServerCertificateOutput) ToGetIsVpnServerCertificateOutput() GetIsVpnServerCertificateOutput { + return o +} + +func (o GetIsVpnServerCertificateOutput) ToGetIsVpnServerCertificateOutputWithContext(ctx context.Context) GetIsVpnServerCertificateOutput { + return o +} + +// The CRN for this certificate instance. +func (o GetIsVpnServerCertificateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerCertificate) string { return v.Crn }).(pulumi.StringOutput) +} + +type GetIsVpnServerCertificateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerCertificate)(nil)).Elem() +} + +func (o GetIsVpnServerCertificateArrayOutput) ToGetIsVpnServerCertificateArrayOutput() GetIsVpnServerCertificateArrayOutput { + return o +} + +func (o GetIsVpnServerCertificateArrayOutput) ToGetIsVpnServerCertificateArrayOutputWithContext(ctx context.Context) GetIsVpnServerCertificateArrayOutput { + return o +} + +func (o GetIsVpnServerCertificateArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerCertificate { + return vs[0].([]GetIsVpnServerCertificate)[vs[1].(int)] + }).(GetIsVpnServerCertificateOutput) +} + +type GetIsVpnServerClientAuthentication struct { + // The CRN for this certificate instance,The certificate instance used for the VPN client certificate authority (CA). + ClientCa string `pulumi:"clientCa"` + // The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered,The type of identity provider to be used by VPN client. + IdentityProvider string `pulumi:"identityProvider"` + // The type of authentication. + Method string `pulumi:"method"` +} + +// GetIsVpnServerClientAuthenticationInput is an input type that accepts GetIsVpnServerClientAuthenticationArgs and GetIsVpnServerClientAuthenticationOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientAuthenticationInput` via: +// +// GetIsVpnServerClientAuthenticationArgs{...} +type GetIsVpnServerClientAuthenticationInput interface { + pulumi.Input + + ToGetIsVpnServerClientAuthenticationOutput() GetIsVpnServerClientAuthenticationOutput + ToGetIsVpnServerClientAuthenticationOutputWithContext(context.Context) GetIsVpnServerClientAuthenticationOutput +} + +type GetIsVpnServerClientAuthenticationArgs struct { + // The CRN for this certificate instance,The certificate instance used for the VPN client certificate authority (CA). + ClientCa pulumi.StringInput `pulumi:"clientCa"` + // The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered,The type of identity provider to be used by VPN client. + IdentityProvider pulumi.StringInput `pulumi:"identityProvider"` + // The type of authentication. + Method pulumi.StringInput `pulumi:"method"` +} + +func (GetIsVpnServerClientAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientAuthentication)(nil)).Elem() +} + +func (i GetIsVpnServerClientAuthenticationArgs) ToGetIsVpnServerClientAuthenticationOutput() GetIsVpnServerClientAuthenticationOutput { + return i.ToGetIsVpnServerClientAuthenticationOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientAuthenticationArgs) ToGetIsVpnServerClientAuthenticationOutputWithContext(ctx context.Context) GetIsVpnServerClientAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientAuthenticationOutput) +} + +// GetIsVpnServerClientAuthenticationArrayInput is an input type that accepts GetIsVpnServerClientAuthenticationArray and GetIsVpnServerClientAuthenticationArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientAuthenticationArrayInput` via: +// +// GetIsVpnServerClientAuthenticationArray{ GetIsVpnServerClientAuthenticationArgs{...} } +type GetIsVpnServerClientAuthenticationArrayInput interface { + pulumi.Input + + ToGetIsVpnServerClientAuthenticationArrayOutput() GetIsVpnServerClientAuthenticationArrayOutput + ToGetIsVpnServerClientAuthenticationArrayOutputWithContext(context.Context) GetIsVpnServerClientAuthenticationArrayOutput +} + +type GetIsVpnServerClientAuthenticationArray []GetIsVpnServerClientAuthenticationInput + +func (GetIsVpnServerClientAuthenticationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientAuthentication)(nil)).Elem() +} + +func (i GetIsVpnServerClientAuthenticationArray) ToGetIsVpnServerClientAuthenticationArrayOutput() GetIsVpnServerClientAuthenticationArrayOutput { + return i.ToGetIsVpnServerClientAuthenticationArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientAuthenticationArray) ToGetIsVpnServerClientAuthenticationArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientAuthenticationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientAuthenticationArrayOutput) +} + +type GetIsVpnServerClientAuthenticationOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientAuthentication)(nil)).Elem() +} + +func (o GetIsVpnServerClientAuthenticationOutput) ToGetIsVpnServerClientAuthenticationOutput() GetIsVpnServerClientAuthenticationOutput { + return o +} + +func (o GetIsVpnServerClientAuthenticationOutput) ToGetIsVpnServerClientAuthenticationOutputWithContext(ctx context.Context) GetIsVpnServerClientAuthenticationOutput { + return o +} + +// The CRN for this certificate instance,The certificate instance used for the VPN client certificate authority (CA). +func (o GetIsVpnServerClientAuthenticationOutput) ClientCa() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientAuthentication) string { return v.ClientCa }).(pulumi.StringOutput) +} + +// The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered,The type of identity provider to be used by VPN client. +func (o GetIsVpnServerClientAuthenticationOutput) IdentityProvider() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientAuthentication) string { return v.IdentityProvider }).(pulumi.StringOutput) +} + +// The type of authentication. +func (o GetIsVpnServerClientAuthenticationOutput) Method() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientAuthentication) string { return v.Method }).(pulumi.StringOutput) +} + +type GetIsVpnServerClientAuthenticationArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientAuthenticationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientAuthentication)(nil)).Elem() +} + +func (o GetIsVpnServerClientAuthenticationArrayOutput) ToGetIsVpnServerClientAuthenticationArrayOutput() GetIsVpnServerClientAuthenticationArrayOutput { + return o +} + +func (o GetIsVpnServerClientAuthenticationArrayOutput) ToGetIsVpnServerClientAuthenticationArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientAuthenticationArrayOutput { + return o +} + +func (o GetIsVpnServerClientAuthenticationArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerClientAuthenticationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerClientAuthentication { + return vs[0].([]GetIsVpnServerClientAuthentication)[vs[1].(int)] + }).(GetIsVpnServerClientAuthenticationOutput) +} + +type GetIsVpnServerClientClientIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` +} + +// GetIsVpnServerClientClientIpInput is an input type that accepts GetIsVpnServerClientClientIpArgs and GetIsVpnServerClientClientIpOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientClientIpInput` via: +// +// GetIsVpnServerClientClientIpArgs{...} +type GetIsVpnServerClientClientIpInput interface { + pulumi.Input + + ToGetIsVpnServerClientClientIpOutput() GetIsVpnServerClientClientIpOutput + ToGetIsVpnServerClientClientIpOutputWithContext(context.Context) GetIsVpnServerClientClientIpOutput +} + +type GetIsVpnServerClientClientIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` +} + +func (GetIsVpnServerClientClientIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientClientIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientClientIpArgs) ToGetIsVpnServerClientClientIpOutput() GetIsVpnServerClientClientIpOutput { + return i.ToGetIsVpnServerClientClientIpOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientClientIpArgs) ToGetIsVpnServerClientClientIpOutputWithContext(ctx context.Context) GetIsVpnServerClientClientIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientClientIpOutput) +} + +// GetIsVpnServerClientClientIpArrayInput is an input type that accepts GetIsVpnServerClientClientIpArray and GetIsVpnServerClientClientIpArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientClientIpArrayInput` via: +// +// GetIsVpnServerClientClientIpArray{ GetIsVpnServerClientClientIpArgs{...} } +type GetIsVpnServerClientClientIpArrayInput interface { + pulumi.Input + + ToGetIsVpnServerClientClientIpArrayOutput() GetIsVpnServerClientClientIpArrayOutput + ToGetIsVpnServerClientClientIpArrayOutputWithContext(context.Context) GetIsVpnServerClientClientIpArrayOutput +} + +type GetIsVpnServerClientClientIpArray []GetIsVpnServerClientClientIpInput + +func (GetIsVpnServerClientClientIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientClientIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientClientIpArray) ToGetIsVpnServerClientClientIpArrayOutput() GetIsVpnServerClientClientIpArrayOutput { + return i.ToGetIsVpnServerClientClientIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientClientIpArray) ToGetIsVpnServerClientClientIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientClientIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientClientIpArrayOutput) +} + +type GetIsVpnServerClientClientIpOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientClientIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientClientIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientClientIpOutput) ToGetIsVpnServerClientClientIpOutput() GetIsVpnServerClientClientIpOutput { + return o +} + +func (o GetIsVpnServerClientClientIpOutput) ToGetIsVpnServerClientClientIpOutputWithContext(ctx context.Context) GetIsVpnServerClientClientIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpnServerClientClientIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientClientIp) string { return v.Address }).(pulumi.StringOutput) +} + +type GetIsVpnServerClientClientIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientClientIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientClientIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientClientIpArrayOutput) ToGetIsVpnServerClientClientIpArrayOutput() GetIsVpnServerClientClientIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientClientIpArrayOutput) ToGetIsVpnServerClientClientIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientClientIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientClientIpArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerClientClientIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerClientClientIp { + return vs[0].([]GetIsVpnServerClientClientIp)[vs[1].(int)] + }).(GetIsVpnServerClientClientIpOutput) +} + +type GetIsVpnServerClientDnsServerIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` +} + +// GetIsVpnServerClientDnsServerIpInput is an input type that accepts GetIsVpnServerClientDnsServerIpArgs and GetIsVpnServerClientDnsServerIpOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientDnsServerIpInput` via: +// +// GetIsVpnServerClientDnsServerIpArgs{...} +type GetIsVpnServerClientDnsServerIpInput interface { + pulumi.Input + + ToGetIsVpnServerClientDnsServerIpOutput() GetIsVpnServerClientDnsServerIpOutput + ToGetIsVpnServerClientDnsServerIpOutputWithContext(context.Context) GetIsVpnServerClientDnsServerIpOutput +} + +type GetIsVpnServerClientDnsServerIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` +} + +func (GetIsVpnServerClientDnsServerIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientDnsServerIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientDnsServerIpArgs) ToGetIsVpnServerClientDnsServerIpOutput() GetIsVpnServerClientDnsServerIpOutput { + return i.ToGetIsVpnServerClientDnsServerIpOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientDnsServerIpArgs) ToGetIsVpnServerClientDnsServerIpOutputWithContext(ctx context.Context) GetIsVpnServerClientDnsServerIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientDnsServerIpOutput) +} + +// GetIsVpnServerClientDnsServerIpArrayInput is an input type that accepts GetIsVpnServerClientDnsServerIpArray and GetIsVpnServerClientDnsServerIpArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientDnsServerIpArrayInput` via: +// +// GetIsVpnServerClientDnsServerIpArray{ GetIsVpnServerClientDnsServerIpArgs{...} } +type GetIsVpnServerClientDnsServerIpArrayInput interface { + pulumi.Input + + ToGetIsVpnServerClientDnsServerIpArrayOutput() GetIsVpnServerClientDnsServerIpArrayOutput + ToGetIsVpnServerClientDnsServerIpArrayOutputWithContext(context.Context) GetIsVpnServerClientDnsServerIpArrayOutput +} + +type GetIsVpnServerClientDnsServerIpArray []GetIsVpnServerClientDnsServerIpInput + +func (GetIsVpnServerClientDnsServerIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientDnsServerIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientDnsServerIpArray) ToGetIsVpnServerClientDnsServerIpArrayOutput() GetIsVpnServerClientDnsServerIpArrayOutput { + return i.ToGetIsVpnServerClientDnsServerIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientDnsServerIpArray) ToGetIsVpnServerClientDnsServerIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientDnsServerIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientDnsServerIpArrayOutput) +} + +type GetIsVpnServerClientDnsServerIpOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientDnsServerIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientDnsServerIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientDnsServerIpOutput) ToGetIsVpnServerClientDnsServerIpOutput() GetIsVpnServerClientDnsServerIpOutput { + return o +} + +func (o GetIsVpnServerClientDnsServerIpOutput) ToGetIsVpnServerClientDnsServerIpOutputWithContext(ctx context.Context) GetIsVpnServerClientDnsServerIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpnServerClientDnsServerIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientDnsServerIp) string { return v.Address }).(pulumi.StringOutput) +} + +type GetIsVpnServerClientDnsServerIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientDnsServerIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientDnsServerIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientDnsServerIpArrayOutput) ToGetIsVpnServerClientDnsServerIpArrayOutput() GetIsVpnServerClientDnsServerIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientDnsServerIpArrayOutput) ToGetIsVpnServerClientDnsServerIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientDnsServerIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientDnsServerIpArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerClientDnsServerIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerClientDnsServerIp { + return vs[0].([]GetIsVpnServerClientDnsServerIp)[vs[1].(int)] + }).(GetIsVpnServerClientDnsServerIpOutput) +} + +type GetIsVpnServerClientRemoteIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` +} + +// GetIsVpnServerClientRemoteIpInput is an input type that accepts GetIsVpnServerClientRemoteIpArgs and GetIsVpnServerClientRemoteIpOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientRemoteIpInput` via: +// +// GetIsVpnServerClientRemoteIpArgs{...} +type GetIsVpnServerClientRemoteIpInput interface { + pulumi.Input + + ToGetIsVpnServerClientRemoteIpOutput() GetIsVpnServerClientRemoteIpOutput + ToGetIsVpnServerClientRemoteIpOutputWithContext(context.Context) GetIsVpnServerClientRemoteIpOutput +} + +type GetIsVpnServerClientRemoteIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` +} + +func (GetIsVpnServerClientRemoteIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientRemoteIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientRemoteIpArgs) ToGetIsVpnServerClientRemoteIpOutput() GetIsVpnServerClientRemoteIpOutput { + return i.ToGetIsVpnServerClientRemoteIpOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientRemoteIpArgs) ToGetIsVpnServerClientRemoteIpOutputWithContext(ctx context.Context) GetIsVpnServerClientRemoteIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientRemoteIpOutput) +} + +// GetIsVpnServerClientRemoteIpArrayInput is an input type that accepts GetIsVpnServerClientRemoteIpArray and GetIsVpnServerClientRemoteIpArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientRemoteIpArrayInput` via: +// +// GetIsVpnServerClientRemoteIpArray{ GetIsVpnServerClientRemoteIpArgs{...} } +type GetIsVpnServerClientRemoteIpArrayInput interface { + pulumi.Input + + ToGetIsVpnServerClientRemoteIpArrayOutput() GetIsVpnServerClientRemoteIpArrayOutput + ToGetIsVpnServerClientRemoteIpArrayOutputWithContext(context.Context) GetIsVpnServerClientRemoteIpArrayOutput +} + +type GetIsVpnServerClientRemoteIpArray []GetIsVpnServerClientRemoteIpInput + +func (GetIsVpnServerClientRemoteIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientRemoteIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientRemoteIpArray) ToGetIsVpnServerClientRemoteIpArrayOutput() GetIsVpnServerClientRemoteIpArrayOutput { + return i.ToGetIsVpnServerClientRemoteIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientRemoteIpArray) ToGetIsVpnServerClientRemoteIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientRemoteIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientRemoteIpArrayOutput) +} + +type GetIsVpnServerClientRemoteIpOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientRemoteIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientRemoteIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientRemoteIpOutput) ToGetIsVpnServerClientRemoteIpOutput() GetIsVpnServerClientRemoteIpOutput { + return o +} + +func (o GetIsVpnServerClientRemoteIpOutput) ToGetIsVpnServerClientRemoteIpOutputWithContext(ctx context.Context) GetIsVpnServerClientRemoteIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpnServerClientRemoteIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientRemoteIp) string { return v.Address }).(pulumi.StringOutput) +} + +type GetIsVpnServerClientRemoteIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientRemoteIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientRemoteIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientRemoteIpArrayOutput) ToGetIsVpnServerClientRemoteIpArrayOutput() GetIsVpnServerClientRemoteIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientRemoteIpArrayOutput) ToGetIsVpnServerClientRemoteIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientRemoteIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientRemoteIpArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerClientRemoteIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerClientRemoteIp { + return vs[0].([]GetIsVpnServerClientRemoteIp)[vs[1].(int)] + }).(GetIsVpnServerClientRemoteIpOutput) +} + +type GetIsVpnServerClientsClient struct { + // The IP address assigned to this VPN client from `clientIpPool`. + ClientIps []GetIsVpnServerClientsClientClientIp `pulumi:"clientIps"` + // The common name of client certificate that the VPN client provided when connecting to the server.This property will be present only when the `certificate` client authentication method is enabled on the VPN server. + CommonName string `pulumi:"commonName"` + // The date and time that the VPN client was created. + CreatedAt string `pulumi:"createdAt"` + // The date and time that the VPN client was disconnected. + DisconnectedAt string `pulumi:"disconnectedAt"` + // The URL for this VPN client. + Href string `pulumi:"href"` + // The unique identifier for this VPN client. + Id string `pulumi:"id"` + // The remote IP address of this VPN client. + RemoteIps []GetIsVpnServerClientsClientRemoteIp `pulumi:"remoteIps"` + // The remote port of this VPN client. + RemotePort int `pulumi:"remotePort"` + // The resource type. + ResourceType string `pulumi:"resourceType"` + // The status of the VPN client:- `connected`: the VPN client is `connected` to this VPN server.- `disconnected`: the VPN client is `disconnected` from this VPN server.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN client on which the unexpected property value was encountered. + Status string `pulumi:"status"` + // The username that this VPN client provided when connecting to the VPN server.This property will be present only when the`username` client authentication method is enabled on the VPN server. + Username string `pulumi:"username"` +} + +// GetIsVpnServerClientsClientInput is an input type that accepts GetIsVpnServerClientsClientArgs and GetIsVpnServerClientsClientOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientsClientInput` via: +// +// GetIsVpnServerClientsClientArgs{...} +type GetIsVpnServerClientsClientInput interface { + pulumi.Input + + ToGetIsVpnServerClientsClientOutput() GetIsVpnServerClientsClientOutput + ToGetIsVpnServerClientsClientOutputWithContext(context.Context) GetIsVpnServerClientsClientOutput +} + +type GetIsVpnServerClientsClientArgs struct { + // The IP address assigned to this VPN client from `clientIpPool`. + ClientIps GetIsVpnServerClientsClientClientIpArrayInput `pulumi:"clientIps"` + // The common name of client certificate that the VPN client provided when connecting to the server.This property will be present only when the `certificate` client authentication method is enabled on the VPN server. + CommonName pulumi.StringInput `pulumi:"commonName"` + // The date and time that the VPN client was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The date and time that the VPN client was disconnected. + DisconnectedAt pulumi.StringInput `pulumi:"disconnectedAt"` + // The URL for this VPN client. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN client. + Id pulumi.StringInput `pulumi:"id"` + // The remote IP address of this VPN client. + RemoteIps GetIsVpnServerClientsClientRemoteIpArrayInput `pulumi:"remoteIps"` + // The remote port of this VPN client. + RemotePort pulumi.IntInput `pulumi:"remotePort"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The status of the VPN client:- `connected`: the VPN client is `connected` to this VPN server.- `disconnected`: the VPN client is `disconnected` from this VPN server.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN client on which the unexpected property value was encountered. + Status pulumi.StringInput `pulumi:"status"` + // The username that this VPN client provided when connecting to the VPN server.This property will be present only when the`username` client authentication method is enabled on the VPN server. + Username pulumi.StringInput `pulumi:"username"` +} + +func (GetIsVpnServerClientsClientArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientsClient)(nil)).Elem() +} + +func (i GetIsVpnServerClientsClientArgs) ToGetIsVpnServerClientsClientOutput() GetIsVpnServerClientsClientOutput { + return i.ToGetIsVpnServerClientsClientOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientsClientArgs) ToGetIsVpnServerClientsClientOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientsClientOutput) +} + +// GetIsVpnServerClientsClientArrayInput is an input type that accepts GetIsVpnServerClientsClientArray and GetIsVpnServerClientsClientArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientsClientArrayInput` via: +// +// GetIsVpnServerClientsClientArray{ GetIsVpnServerClientsClientArgs{...} } +type GetIsVpnServerClientsClientArrayInput interface { + pulumi.Input + + ToGetIsVpnServerClientsClientArrayOutput() GetIsVpnServerClientsClientArrayOutput + ToGetIsVpnServerClientsClientArrayOutputWithContext(context.Context) GetIsVpnServerClientsClientArrayOutput +} + +type GetIsVpnServerClientsClientArray []GetIsVpnServerClientsClientInput + +func (GetIsVpnServerClientsClientArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientsClient)(nil)).Elem() +} + +func (i GetIsVpnServerClientsClientArray) ToGetIsVpnServerClientsClientArrayOutput() GetIsVpnServerClientsClientArrayOutput { + return i.ToGetIsVpnServerClientsClientArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientsClientArray) ToGetIsVpnServerClientsClientArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientsClientArrayOutput) +} + +type GetIsVpnServerClientsClientOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientsClientOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientsClient)(nil)).Elem() +} + +func (o GetIsVpnServerClientsClientOutput) ToGetIsVpnServerClientsClientOutput() GetIsVpnServerClientsClientOutput { + return o +} + +func (o GetIsVpnServerClientsClientOutput) ToGetIsVpnServerClientsClientOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientOutput { + return o +} + +// The IP address assigned to this VPN client from `clientIpPool`. +func (o GetIsVpnServerClientsClientOutput) ClientIps() GetIsVpnServerClientsClientClientIpArrayOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) []GetIsVpnServerClientsClientClientIp { return v.ClientIps }).(GetIsVpnServerClientsClientClientIpArrayOutput) +} + +// The common name of client certificate that the VPN client provided when connecting to the server.This property will be present only when the `certificate` client authentication method is enabled on the VPN server. +func (o GetIsVpnServerClientsClientOutput) CommonName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) string { return v.CommonName }).(pulumi.StringOutput) +} + +// The date and time that the VPN client was created. +func (o GetIsVpnServerClientsClientOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The date and time that the VPN client was disconnected. +func (o GetIsVpnServerClientsClientOutput) DisconnectedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) string { return v.DisconnectedAt }).(pulumi.StringOutput) +} + +// The URL for this VPN client. +func (o GetIsVpnServerClientsClientOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN client. +func (o GetIsVpnServerClientsClientOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) string { return v.Id }).(pulumi.StringOutput) +} + +// The remote IP address of this VPN client. +func (o GetIsVpnServerClientsClientOutput) RemoteIps() GetIsVpnServerClientsClientRemoteIpArrayOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) []GetIsVpnServerClientsClientRemoteIp { return v.RemoteIps }).(GetIsVpnServerClientsClientRemoteIpArrayOutput) +} + +// The remote port of this VPN client. +func (o GetIsVpnServerClientsClientOutput) RemotePort() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) int { return v.RemotePort }).(pulumi.IntOutput) +} + +// The resource type. +func (o GetIsVpnServerClientsClientOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The status of the VPN client:- `connected`: the VPN client is `connected` to this VPN server.- `disconnected`: the VPN client is `disconnected` from this VPN server.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN client on which the unexpected property value was encountered. +func (o GetIsVpnServerClientsClientOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) string { return v.Status }).(pulumi.StringOutput) +} + +// The username that this VPN client provided when connecting to the VPN server.This property will be present only when the`username` client authentication method is enabled on the VPN server. +func (o GetIsVpnServerClientsClientOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClient) string { return v.Username }).(pulumi.StringOutput) +} + +type GetIsVpnServerClientsClientArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientsClientArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientsClient)(nil)).Elem() +} + +func (o GetIsVpnServerClientsClientArrayOutput) ToGetIsVpnServerClientsClientArrayOutput() GetIsVpnServerClientsClientArrayOutput { + return o +} + +func (o GetIsVpnServerClientsClientArrayOutput) ToGetIsVpnServerClientsClientArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientArrayOutput { + return o +} + +func (o GetIsVpnServerClientsClientArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerClientsClientOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerClientsClient { + return vs[0].([]GetIsVpnServerClientsClient)[vs[1].(int)] + }).(GetIsVpnServerClientsClientOutput) +} + +type GetIsVpnServerClientsClientClientIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` +} + +// GetIsVpnServerClientsClientClientIpInput is an input type that accepts GetIsVpnServerClientsClientClientIpArgs and GetIsVpnServerClientsClientClientIpOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientsClientClientIpInput` via: +// +// GetIsVpnServerClientsClientClientIpArgs{...} +type GetIsVpnServerClientsClientClientIpInput interface { + pulumi.Input + + ToGetIsVpnServerClientsClientClientIpOutput() GetIsVpnServerClientsClientClientIpOutput + ToGetIsVpnServerClientsClientClientIpOutputWithContext(context.Context) GetIsVpnServerClientsClientClientIpOutput +} + +type GetIsVpnServerClientsClientClientIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` +} + +func (GetIsVpnServerClientsClientClientIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientsClientClientIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientsClientClientIpArgs) ToGetIsVpnServerClientsClientClientIpOutput() GetIsVpnServerClientsClientClientIpOutput { + return i.ToGetIsVpnServerClientsClientClientIpOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientsClientClientIpArgs) ToGetIsVpnServerClientsClientClientIpOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientClientIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientsClientClientIpOutput) +} + +// GetIsVpnServerClientsClientClientIpArrayInput is an input type that accepts GetIsVpnServerClientsClientClientIpArray and GetIsVpnServerClientsClientClientIpArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientsClientClientIpArrayInput` via: +// +// GetIsVpnServerClientsClientClientIpArray{ GetIsVpnServerClientsClientClientIpArgs{...} } +type GetIsVpnServerClientsClientClientIpArrayInput interface { + pulumi.Input + + ToGetIsVpnServerClientsClientClientIpArrayOutput() GetIsVpnServerClientsClientClientIpArrayOutput + ToGetIsVpnServerClientsClientClientIpArrayOutputWithContext(context.Context) GetIsVpnServerClientsClientClientIpArrayOutput +} + +type GetIsVpnServerClientsClientClientIpArray []GetIsVpnServerClientsClientClientIpInput + +func (GetIsVpnServerClientsClientClientIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientsClientClientIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientsClientClientIpArray) ToGetIsVpnServerClientsClientClientIpArrayOutput() GetIsVpnServerClientsClientClientIpArrayOutput { + return i.ToGetIsVpnServerClientsClientClientIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientsClientClientIpArray) ToGetIsVpnServerClientsClientClientIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientClientIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientsClientClientIpArrayOutput) +} + +type GetIsVpnServerClientsClientClientIpOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientsClientClientIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientsClientClientIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientsClientClientIpOutput) ToGetIsVpnServerClientsClientClientIpOutput() GetIsVpnServerClientsClientClientIpOutput { + return o +} + +func (o GetIsVpnServerClientsClientClientIpOutput) ToGetIsVpnServerClientsClientClientIpOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientClientIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpnServerClientsClientClientIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClientClientIp) string { return v.Address }).(pulumi.StringOutput) +} + +type GetIsVpnServerClientsClientClientIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientsClientClientIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientsClientClientIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientsClientClientIpArrayOutput) ToGetIsVpnServerClientsClientClientIpArrayOutput() GetIsVpnServerClientsClientClientIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientsClientClientIpArrayOutput) ToGetIsVpnServerClientsClientClientIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientClientIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientsClientClientIpArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerClientsClientClientIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerClientsClientClientIp { + return vs[0].([]GetIsVpnServerClientsClientClientIp)[vs[1].(int)] + }).(GetIsVpnServerClientsClientClientIpOutput) +} + +type GetIsVpnServerClientsClientRemoteIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` +} + +// GetIsVpnServerClientsClientRemoteIpInput is an input type that accepts GetIsVpnServerClientsClientRemoteIpArgs and GetIsVpnServerClientsClientRemoteIpOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientsClientRemoteIpInput` via: +// +// GetIsVpnServerClientsClientRemoteIpArgs{...} +type GetIsVpnServerClientsClientRemoteIpInput interface { + pulumi.Input + + ToGetIsVpnServerClientsClientRemoteIpOutput() GetIsVpnServerClientsClientRemoteIpOutput + ToGetIsVpnServerClientsClientRemoteIpOutputWithContext(context.Context) GetIsVpnServerClientsClientRemoteIpOutput +} + +type GetIsVpnServerClientsClientRemoteIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` +} + +func (GetIsVpnServerClientsClientRemoteIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientsClientRemoteIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientsClientRemoteIpArgs) ToGetIsVpnServerClientsClientRemoteIpOutput() GetIsVpnServerClientsClientRemoteIpOutput { + return i.ToGetIsVpnServerClientsClientRemoteIpOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientsClientRemoteIpArgs) ToGetIsVpnServerClientsClientRemoteIpOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientRemoteIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientsClientRemoteIpOutput) +} + +// GetIsVpnServerClientsClientRemoteIpArrayInput is an input type that accepts GetIsVpnServerClientsClientRemoteIpArray and GetIsVpnServerClientsClientRemoteIpArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerClientsClientRemoteIpArrayInput` via: +// +// GetIsVpnServerClientsClientRemoteIpArray{ GetIsVpnServerClientsClientRemoteIpArgs{...} } +type GetIsVpnServerClientsClientRemoteIpArrayInput interface { + pulumi.Input + + ToGetIsVpnServerClientsClientRemoteIpArrayOutput() GetIsVpnServerClientsClientRemoteIpArrayOutput + ToGetIsVpnServerClientsClientRemoteIpArrayOutputWithContext(context.Context) GetIsVpnServerClientsClientRemoteIpArrayOutput +} + +type GetIsVpnServerClientsClientRemoteIpArray []GetIsVpnServerClientsClientRemoteIpInput + +func (GetIsVpnServerClientsClientRemoteIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientsClientRemoteIp)(nil)).Elem() +} + +func (i GetIsVpnServerClientsClientRemoteIpArray) ToGetIsVpnServerClientsClientRemoteIpArrayOutput() GetIsVpnServerClientsClientRemoteIpArrayOutput { + return i.ToGetIsVpnServerClientsClientRemoteIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerClientsClientRemoteIpArray) ToGetIsVpnServerClientsClientRemoteIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientRemoteIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerClientsClientRemoteIpArrayOutput) +} + +type GetIsVpnServerClientsClientRemoteIpOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientsClientRemoteIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerClientsClientRemoteIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientsClientRemoteIpOutput) ToGetIsVpnServerClientsClientRemoteIpOutput() GetIsVpnServerClientsClientRemoteIpOutput { + return o +} + +func (o GetIsVpnServerClientsClientRemoteIpOutput) ToGetIsVpnServerClientsClientRemoteIpOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientRemoteIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpnServerClientsClientRemoteIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerClientsClientRemoteIp) string { return v.Address }).(pulumi.StringOutput) +} + +type GetIsVpnServerClientsClientRemoteIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerClientsClientRemoteIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerClientsClientRemoteIp)(nil)).Elem() +} + +func (o GetIsVpnServerClientsClientRemoteIpArrayOutput) ToGetIsVpnServerClientsClientRemoteIpArrayOutput() GetIsVpnServerClientsClientRemoteIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientsClientRemoteIpArrayOutput) ToGetIsVpnServerClientsClientRemoteIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerClientsClientRemoteIpArrayOutput { + return o +} + +func (o GetIsVpnServerClientsClientRemoteIpArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerClientsClientRemoteIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerClientsClientRemoteIp { + return vs[0].([]GetIsVpnServerClientsClientRemoteIp)[vs[1].(int)] + }).(GetIsVpnServerClientsClientRemoteIpOutput) +} + +type GetIsVpnServerHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerHealthReasonInput is an input type that accepts GetIsVpnServerHealthReasonArgs and GetIsVpnServerHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpnServerHealthReasonInput` via: +// +// GetIsVpnServerHealthReasonArgs{...} +type GetIsVpnServerHealthReasonInput interface { + pulumi.Input + + ToGetIsVpnServerHealthReasonOutput() GetIsVpnServerHealthReasonOutput + ToGetIsVpnServerHealthReasonOutputWithContext(context.Context) GetIsVpnServerHealthReasonOutput +} + +type GetIsVpnServerHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerHealthReason)(nil)).Elem() +} + +func (i GetIsVpnServerHealthReasonArgs) ToGetIsVpnServerHealthReasonOutput() GetIsVpnServerHealthReasonOutput { + return i.ToGetIsVpnServerHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerHealthReasonArgs) ToGetIsVpnServerHealthReasonOutputWithContext(ctx context.Context) GetIsVpnServerHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerHealthReasonOutput) +} + +// GetIsVpnServerHealthReasonArrayInput is an input type that accepts GetIsVpnServerHealthReasonArray and GetIsVpnServerHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerHealthReasonArrayInput` via: +// +// GetIsVpnServerHealthReasonArray{ GetIsVpnServerHealthReasonArgs{...} } +type GetIsVpnServerHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnServerHealthReasonArrayOutput() GetIsVpnServerHealthReasonArrayOutput + ToGetIsVpnServerHealthReasonArrayOutputWithContext(context.Context) GetIsVpnServerHealthReasonArrayOutput +} + +type GetIsVpnServerHealthReasonArray []GetIsVpnServerHealthReasonInput + +func (GetIsVpnServerHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerHealthReason)(nil)).Elem() +} + +func (i GetIsVpnServerHealthReasonArray) ToGetIsVpnServerHealthReasonArrayOutput() GetIsVpnServerHealthReasonArrayOutput { + return i.ToGetIsVpnServerHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerHealthReasonArray) ToGetIsVpnServerHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerHealthReasonArrayOutput) +} + +type GetIsVpnServerHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerHealthReason)(nil)).Elem() +} + +func (o GetIsVpnServerHealthReasonOutput) ToGetIsVpnServerHealthReasonOutput() GetIsVpnServerHealthReasonOutput { + return o +} + +func (o GetIsVpnServerHealthReasonOutput) ToGetIsVpnServerHealthReasonOutputWithContext(ctx context.Context) GetIsVpnServerHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpnServerHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpnServerHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpnServerHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerHealthReason)(nil)).Elem() +} + +func (o GetIsVpnServerHealthReasonArrayOutput) ToGetIsVpnServerHealthReasonArrayOutput() GetIsVpnServerHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnServerHealthReasonArrayOutput) ToGetIsVpnServerHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnServerHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerHealthReason { + return vs[0].([]GetIsVpnServerHealthReason)[vs[1].(int)] + }).(GetIsVpnServerHealthReasonOutput) +} + +type GetIsVpnServerLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerLifecycleReasonInput is an input type that accepts GetIsVpnServerLifecycleReasonArgs and GetIsVpnServerLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsVpnServerLifecycleReasonInput` via: +// +// GetIsVpnServerLifecycleReasonArgs{...} +type GetIsVpnServerLifecycleReasonInput interface { + pulumi.Input + + ToGetIsVpnServerLifecycleReasonOutput() GetIsVpnServerLifecycleReasonOutput + ToGetIsVpnServerLifecycleReasonOutputWithContext(context.Context) GetIsVpnServerLifecycleReasonOutput +} + +type GetIsVpnServerLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnServerLifecycleReasonArgs) ToGetIsVpnServerLifecycleReasonOutput() GetIsVpnServerLifecycleReasonOutput { + return i.ToGetIsVpnServerLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerLifecycleReasonArgs) ToGetIsVpnServerLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnServerLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerLifecycleReasonOutput) +} + +// GetIsVpnServerLifecycleReasonArrayInput is an input type that accepts GetIsVpnServerLifecycleReasonArray and GetIsVpnServerLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerLifecycleReasonArrayInput` via: +// +// GetIsVpnServerLifecycleReasonArray{ GetIsVpnServerLifecycleReasonArgs{...} } +type GetIsVpnServerLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnServerLifecycleReasonArrayOutput() GetIsVpnServerLifecycleReasonArrayOutput + ToGetIsVpnServerLifecycleReasonArrayOutputWithContext(context.Context) GetIsVpnServerLifecycleReasonArrayOutput +} + +type GetIsVpnServerLifecycleReasonArray []GetIsVpnServerLifecycleReasonInput + +func (GetIsVpnServerLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnServerLifecycleReasonArray) ToGetIsVpnServerLifecycleReasonArrayOutput() GetIsVpnServerLifecycleReasonArrayOutput { + return i.ToGetIsVpnServerLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerLifecycleReasonArray) ToGetIsVpnServerLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerLifecycleReasonArrayOutput) +} + +type GetIsVpnServerLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnServerLifecycleReasonOutput) ToGetIsVpnServerLifecycleReasonOutput() GetIsVpnServerLifecycleReasonOutput { + return o +} + +func (o GetIsVpnServerLifecycleReasonOutput) ToGetIsVpnServerLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnServerLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsVpnServerLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsVpnServerLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsVpnServerLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnServerLifecycleReasonArrayOutput) ToGetIsVpnServerLifecycleReasonArrayOutput() GetIsVpnServerLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnServerLifecycleReasonArrayOutput) ToGetIsVpnServerLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnServerLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerLifecycleReason { + return vs[0].([]GetIsVpnServerLifecycleReason)[vs[1].(int)] + }).(GetIsVpnServerLifecycleReasonOutput) +} + +type GetIsVpnServerPrivateIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnServerPrivateIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The user-defined or system-provided name for this reserved IP. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpnServerPrivateIpInput is an input type that accepts GetIsVpnServerPrivateIpArgs and GetIsVpnServerPrivateIpOutput values. +// You can construct a concrete instance of `GetIsVpnServerPrivateIpInput` via: +// +// GetIsVpnServerPrivateIpArgs{...} +type GetIsVpnServerPrivateIpInput interface { + pulumi.Input + + ToGetIsVpnServerPrivateIpOutput() GetIsVpnServerPrivateIpOutput + ToGetIsVpnServerPrivateIpOutputWithContext(context.Context) GetIsVpnServerPrivateIpOutput +} + +type GetIsVpnServerPrivateIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnServerPrivateIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpnServerPrivateIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerPrivateIp)(nil)).Elem() +} + +func (i GetIsVpnServerPrivateIpArgs) ToGetIsVpnServerPrivateIpOutput() GetIsVpnServerPrivateIpOutput { + return i.ToGetIsVpnServerPrivateIpOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerPrivateIpArgs) ToGetIsVpnServerPrivateIpOutputWithContext(ctx context.Context) GetIsVpnServerPrivateIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerPrivateIpOutput) +} + +// GetIsVpnServerPrivateIpArrayInput is an input type that accepts GetIsVpnServerPrivateIpArray and GetIsVpnServerPrivateIpArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerPrivateIpArrayInput` via: +// +// GetIsVpnServerPrivateIpArray{ GetIsVpnServerPrivateIpArgs{...} } +type GetIsVpnServerPrivateIpArrayInput interface { + pulumi.Input + + ToGetIsVpnServerPrivateIpArrayOutput() GetIsVpnServerPrivateIpArrayOutput + ToGetIsVpnServerPrivateIpArrayOutputWithContext(context.Context) GetIsVpnServerPrivateIpArrayOutput +} + +type GetIsVpnServerPrivateIpArray []GetIsVpnServerPrivateIpInput + +func (GetIsVpnServerPrivateIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerPrivateIp)(nil)).Elem() +} + +func (i GetIsVpnServerPrivateIpArray) ToGetIsVpnServerPrivateIpArrayOutput() GetIsVpnServerPrivateIpArrayOutput { + return i.ToGetIsVpnServerPrivateIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerPrivateIpArray) ToGetIsVpnServerPrivateIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerPrivateIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerPrivateIpArrayOutput) +} + +type GetIsVpnServerPrivateIpOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerPrivateIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerPrivateIp)(nil)).Elem() +} + +func (o GetIsVpnServerPrivateIpOutput) ToGetIsVpnServerPrivateIpOutput() GetIsVpnServerPrivateIpOutput { + return o +} + +func (o GetIsVpnServerPrivateIpOutput) ToGetIsVpnServerPrivateIpOutputWithContext(ctx context.Context) GetIsVpnServerPrivateIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpnServerPrivateIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerPrivateIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnServerPrivateIpOutput) Deleteds() GetIsVpnServerPrivateIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnServerPrivateIp) []GetIsVpnServerPrivateIpDeleted { return v.Deleteds }).(GetIsVpnServerPrivateIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsVpnServerPrivateIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerPrivateIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsVpnServerPrivateIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerPrivateIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this reserved IP. +func (o GetIsVpnServerPrivateIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerPrivateIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnServerPrivateIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerPrivateIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpnServerPrivateIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerPrivateIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerPrivateIp)(nil)).Elem() +} + +func (o GetIsVpnServerPrivateIpArrayOutput) ToGetIsVpnServerPrivateIpArrayOutput() GetIsVpnServerPrivateIpArrayOutput { + return o +} + +func (o GetIsVpnServerPrivateIpArrayOutput) ToGetIsVpnServerPrivateIpArrayOutputWithContext(ctx context.Context) GetIsVpnServerPrivateIpArrayOutput { + return o +} + +func (o GetIsVpnServerPrivateIpArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerPrivateIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerPrivateIp { + return vs[0].([]GetIsVpnServerPrivateIp)[vs[1].(int)] + }).(GetIsVpnServerPrivateIpOutput) +} + +type GetIsVpnServerPrivateIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerPrivateIpDeletedInput is an input type that accepts GetIsVpnServerPrivateIpDeletedArgs and GetIsVpnServerPrivateIpDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnServerPrivateIpDeletedInput` via: +// +// GetIsVpnServerPrivateIpDeletedArgs{...} +type GetIsVpnServerPrivateIpDeletedInput interface { + pulumi.Input + + ToGetIsVpnServerPrivateIpDeletedOutput() GetIsVpnServerPrivateIpDeletedOutput + ToGetIsVpnServerPrivateIpDeletedOutputWithContext(context.Context) GetIsVpnServerPrivateIpDeletedOutput +} + +type GetIsVpnServerPrivateIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerPrivateIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (i GetIsVpnServerPrivateIpDeletedArgs) ToGetIsVpnServerPrivateIpDeletedOutput() GetIsVpnServerPrivateIpDeletedOutput { + return i.ToGetIsVpnServerPrivateIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerPrivateIpDeletedArgs) ToGetIsVpnServerPrivateIpDeletedOutputWithContext(ctx context.Context) GetIsVpnServerPrivateIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerPrivateIpDeletedOutput) +} + +// GetIsVpnServerPrivateIpDeletedArrayInput is an input type that accepts GetIsVpnServerPrivateIpDeletedArray and GetIsVpnServerPrivateIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerPrivateIpDeletedArrayInput` via: +// +// GetIsVpnServerPrivateIpDeletedArray{ GetIsVpnServerPrivateIpDeletedArgs{...} } +type GetIsVpnServerPrivateIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnServerPrivateIpDeletedArrayOutput() GetIsVpnServerPrivateIpDeletedArrayOutput + ToGetIsVpnServerPrivateIpDeletedArrayOutputWithContext(context.Context) GetIsVpnServerPrivateIpDeletedArrayOutput +} + +type GetIsVpnServerPrivateIpDeletedArray []GetIsVpnServerPrivateIpDeletedInput + +func (GetIsVpnServerPrivateIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (i GetIsVpnServerPrivateIpDeletedArray) ToGetIsVpnServerPrivateIpDeletedArrayOutput() GetIsVpnServerPrivateIpDeletedArrayOutput { + return i.ToGetIsVpnServerPrivateIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerPrivateIpDeletedArray) ToGetIsVpnServerPrivateIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServerPrivateIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerPrivateIpDeletedArrayOutput) +} + +type GetIsVpnServerPrivateIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerPrivateIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (o GetIsVpnServerPrivateIpDeletedOutput) ToGetIsVpnServerPrivateIpDeletedOutput() GetIsVpnServerPrivateIpDeletedOutput { + return o +} + +func (o GetIsVpnServerPrivateIpDeletedOutput) ToGetIsVpnServerPrivateIpDeletedOutputWithContext(ctx context.Context) GetIsVpnServerPrivateIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnServerPrivateIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerPrivateIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerPrivateIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerPrivateIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (o GetIsVpnServerPrivateIpDeletedArrayOutput) ToGetIsVpnServerPrivateIpDeletedArrayOutput() GetIsVpnServerPrivateIpDeletedArrayOutput { + return o +} + +func (o GetIsVpnServerPrivateIpDeletedArrayOutput) ToGetIsVpnServerPrivateIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServerPrivateIpDeletedArrayOutput { + return o +} + +func (o GetIsVpnServerPrivateIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerPrivateIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerPrivateIpDeleted { + return vs[0].([]GetIsVpnServerPrivateIpDeleted)[vs[1].(int)] + }).(GetIsVpnServerPrivateIpDeletedOutput) +} + +type GetIsVpnServerResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVpnServerResourceGroupInput is an input type that accepts GetIsVpnServerResourceGroupArgs and GetIsVpnServerResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVpnServerResourceGroupInput` via: +// +// GetIsVpnServerResourceGroupArgs{...} +type GetIsVpnServerResourceGroupInput interface { + pulumi.Input + + ToGetIsVpnServerResourceGroupOutput() GetIsVpnServerResourceGroupOutput + ToGetIsVpnServerResourceGroupOutputWithContext(context.Context) GetIsVpnServerResourceGroupOutput +} + +type GetIsVpnServerResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnServerResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerResourceGroup)(nil)).Elem() +} + +func (i GetIsVpnServerResourceGroupArgs) ToGetIsVpnServerResourceGroupOutput() GetIsVpnServerResourceGroupOutput { + return i.ToGetIsVpnServerResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerResourceGroupArgs) ToGetIsVpnServerResourceGroupOutputWithContext(ctx context.Context) GetIsVpnServerResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerResourceGroupOutput) +} + +// GetIsVpnServerResourceGroupArrayInput is an input type that accepts GetIsVpnServerResourceGroupArray and GetIsVpnServerResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerResourceGroupArrayInput` via: +// +// GetIsVpnServerResourceGroupArray{ GetIsVpnServerResourceGroupArgs{...} } +type GetIsVpnServerResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVpnServerResourceGroupArrayOutput() GetIsVpnServerResourceGroupArrayOutput + ToGetIsVpnServerResourceGroupArrayOutputWithContext(context.Context) GetIsVpnServerResourceGroupArrayOutput +} + +type GetIsVpnServerResourceGroupArray []GetIsVpnServerResourceGroupInput + +func (GetIsVpnServerResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerResourceGroup)(nil)).Elem() +} + +func (i GetIsVpnServerResourceGroupArray) ToGetIsVpnServerResourceGroupArrayOutput() GetIsVpnServerResourceGroupArrayOutput { + return i.ToGetIsVpnServerResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerResourceGroupArray) ToGetIsVpnServerResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpnServerResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerResourceGroupArrayOutput) +} + +type GetIsVpnServerResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerResourceGroup)(nil)).Elem() +} + +func (o GetIsVpnServerResourceGroupOutput) ToGetIsVpnServerResourceGroupOutput() GetIsVpnServerResourceGroupOutput { + return o +} + +func (o GetIsVpnServerResourceGroupOutput) ToGetIsVpnServerResourceGroupOutputWithContext(ctx context.Context) GetIsVpnServerResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVpnServerResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVpnServerResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsVpnServerResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnServerResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerResourceGroup)(nil)).Elem() +} + +func (o GetIsVpnServerResourceGroupArrayOutput) ToGetIsVpnServerResourceGroupArrayOutput() GetIsVpnServerResourceGroupArrayOutput { + return o +} + +func (o GetIsVpnServerResourceGroupArrayOutput) ToGetIsVpnServerResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpnServerResourceGroupArrayOutput { + return o +} + +func (o GetIsVpnServerResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerResourceGroup { + return vs[0].([]GetIsVpnServerResourceGroup)[vs[1].(int)] + }).(GetIsVpnServerResourceGroupOutput) +} + +type GetIsVpnServerRouteHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerRouteHealthReasonInput is an input type that accepts GetIsVpnServerRouteHealthReasonArgs and GetIsVpnServerRouteHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpnServerRouteHealthReasonInput` via: +// +// GetIsVpnServerRouteHealthReasonArgs{...} +type GetIsVpnServerRouteHealthReasonInput interface { + pulumi.Input + + ToGetIsVpnServerRouteHealthReasonOutput() GetIsVpnServerRouteHealthReasonOutput + ToGetIsVpnServerRouteHealthReasonOutputWithContext(context.Context) GetIsVpnServerRouteHealthReasonOutput +} + +type GetIsVpnServerRouteHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerRouteHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRouteHealthReason)(nil)).Elem() +} + +func (i GetIsVpnServerRouteHealthReasonArgs) ToGetIsVpnServerRouteHealthReasonOutput() GetIsVpnServerRouteHealthReasonOutput { + return i.ToGetIsVpnServerRouteHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRouteHealthReasonArgs) ToGetIsVpnServerRouteHealthReasonOutputWithContext(ctx context.Context) GetIsVpnServerRouteHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRouteHealthReasonOutput) +} + +// GetIsVpnServerRouteHealthReasonArrayInput is an input type that accepts GetIsVpnServerRouteHealthReasonArray and GetIsVpnServerRouteHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerRouteHealthReasonArrayInput` via: +// +// GetIsVpnServerRouteHealthReasonArray{ GetIsVpnServerRouteHealthReasonArgs{...} } +type GetIsVpnServerRouteHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnServerRouteHealthReasonArrayOutput() GetIsVpnServerRouteHealthReasonArrayOutput + ToGetIsVpnServerRouteHealthReasonArrayOutputWithContext(context.Context) GetIsVpnServerRouteHealthReasonArrayOutput +} + +type GetIsVpnServerRouteHealthReasonArray []GetIsVpnServerRouteHealthReasonInput + +func (GetIsVpnServerRouteHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRouteHealthReason)(nil)).Elem() +} + +func (i GetIsVpnServerRouteHealthReasonArray) ToGetIsVpnServerRouteHealthReasonArrayOutput() GetIsVpnServerRouteHealthReasonArrayOutput { + return i.ToGetIsVpnServerRouteHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRouteHealthReasonArray) ToGetIsVpnServerRouteHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerRouteHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRouteHealthReasonArrayOutput) +} + +type GetIsVpnServerRouteHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRouteHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRouteHealthReason)(nil)).Elem() +} + +func (o GetIsVpnServerRouteHealthReasonOutput) ToGetIsVpnServerRouteHealthReasonOutput() GetIsVpnServerRouteHealthReasonOutput { + return o +} + +func (o GetIsVpnServerRouteHealthReasonOutput) ToGetIsVpnServerRouteHealthReasonOutputWithContext(ctx context.Context) GetIsVpnServerRouteHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpnServerRouteHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRouteHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpnServerRouteHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRouteHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpnServerRouteHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRouteHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerRouteHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRouteHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRouteHealthReason)(nil)).Elem() +} + +func (o GetIsVpnServerRouteHealthReasonArrayOutput) ToGetIsVpnServerRouteHealthReasonArrayOutput() GetIsVpnServerRouteHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnServerRouteHealthReasonArrayOutput) ToGetIsVpnServerRouteHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerRouteHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnServerRouteHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerRouteHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerRouteHealthReason { + return vs[0].([]GetIsVpnServerRouteHealthReason)[vs[1].(int)] + }).(GetIsVpnServerRouteHealthReasonOutput) +} + +type GetIsVpnServerRouteLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerRouteLifecycleReasonInput is an input type that accepts GetIsVpnServerRouteLifecycleReasonArgs and GetIsVpnServerRouteLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsVpnServerRouteLifecycleReasonInput` via: +// +// GetIsVpnServerRouteLifecycleReasonArgs{...} +type GetIsVpnServerRouteLifecycleReasonInput interface { + pulumi.Input + + ToGetIsVpnServerRouteLifecycleReasonOutput() GetIsVpnServerRouteLifecycleReasonOutput + ToGetIsVpnServerRouteLifecycleReasonOutputWithContext(context.Context) GetIsVpnServerRouteLifecycleReasonOutput +} + +type GetIsVpnServerRouteLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerRouteLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRouteLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnServerRouteLifecycleReasonArgs) ToGetIsVpnServerRouteLifecycleReasonOutput() GetIsVpnServerRouteLifecycleReasonOutput { + return i.ToGetIsVpnServerRouteLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRouteLifecycleReasonArgs) ToGetIsVpnServerRouteLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnServerRouteLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRouteLifecycleReasonOutput) +} + +// GetIsVpnServerRouteLifecycleReasonArrayInput is an input type that accepts GetIsVpnServerRouteLifecycleReasonArray and GetIsVpnServerRouteLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerRouteLifecycleReasonArrayInput` via: +// +// GetIsVpnServerRouteLifecycleReasonArray{ GetIsVpnServerRouteLifecycleReasonArgs{...} } +type GetIsVpnServerRouteLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnServerRouteLifecycleReasonArrayOutput() GetIsVpnServerRouteLifecycleReasonArrayOutput + ToGetIsVpnServerRouteLifecycleReasonArrayOutputWithContext(context.Context) GetIsVpnServerRouteLifecycleReasonArrayOutput +} + +type GetIsVpnServerRouteLifecycleReasonArray []GetIsVpnServerRouteLifecycleReasonInput + +func (GetIsVpnServerRouteLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRouteLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnServerRouteLifecycleReasonArray) ToGetIsVpnServerRouteLifecycleReasonArrayOutput() GetIsVpnServerRouteLifecycleReasonArrayOutput { + return i.ToGetIsVpnServerRouteLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRouteLifecycleReasonArray) ToGetIsVpnServerRouteLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerRouteLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRouteLifecycleReasonArrayOutput) +} + +type GetIsVpnServerRouteLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRouteLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRouteLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnServerRouteLifecycleReasonOutput) ToGetIsVpnServerRouteLifecycleReasonOutput() GetIsVpnServerRouteLifecycleReasonOutput { + return o +} + +func (o GetIsVpnServerRouteLifecycleReasonOutput) ToGetIsVpnServerRouteLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnServerRouteLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsVpnServerRouteLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRouteLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsVpnServerRouteLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRouteLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsVpnServerRouteLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRouteLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerRouteLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRouteLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRouteLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnServerRouteLifecycleReasonArrayOutput) ToGetIsVpnServerRouteLifecycleReasonArrayOutput() GetIsVpnServerRouteLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnServerRouteLifecycleReasonArrayOutput) ToGetIsVpnServerRouteLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerRouteLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnServerRouteLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerRouteLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerRouteLifecycleReason { + return vs[0].([]GetIsVpnServerRouteLifecycleReason)[vs[1].(int)] + }).(GetIsVpnServerRouteLifecycleReasonOutput) +} + +type GetIsVpnServerRoutesRoute struct { + // The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server.- `deliver`: deliver the packet into the VPC.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. + Action string `pulumi:"action"` + // The date and time that the VPN route was created. + CreatedAt string `pulumi:"createdAt"` + // The destination for this VPN route in the VPN server. If an incoming packet does not match any destination, it will be dropped. + Destination string `pulumi:"destination"` + HealthReasons []GetIsVpnServerRoutesRouteHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState string `pulumi:"healthState"` + // The URL for this VPN route. + Href string `pulumi:"href"` + // The unique identifier for this VPN route. + Id string `pulumi:"id"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []GetIsVpnServerRoutesRouteLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN route. + LifecycleState string `pulumi:"lifecycleState"` + // The user-defined name for this VPN route. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpnServerRoutesRouteInput is an input type that accepts GetIsVpnServerRoutesRouteArgs and GetIsVpnServerRoutesRouteOutput values. +// You can construct a concrete instance of `GetIsVpnServerRoutesRouteInput` via: +// +// GetIsVpnServerRoutesRouteArgs{...} +type GetIsVpnServerRoutesRouteInput interface { + pulumi.Input + + ToGetIsVpnServerRoutesRouteOutput() GetIsVpnServerRoutesRouteOutput + ToGetIsVpnServerRoutesRouteOutputWithContext(context.Context) GetIsVpnServerRoutesRouteOutput +} + +type GetIsVpnServerRoutesRouteArgs struct { + // The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server.- `deliver`: deliver the packet into the VPC.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. + Action pulumi.StringInput `pulumi:"action"` + // The date and time that the VPN route was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The destination for this VPN route in the VPN server. If an incoming packet does not match any destination, it will be dropped. + Destination pulumi.StringInput `pulumi:"destination"` + HealthReasons GetIsVpnServerRoutesRouteHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringInput `pulumi:"healthState"` + // The URL for this VPN route. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN route. + Id pulumi.StringInput `pulumi:"id"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons GetIsVpnServerRoutesRouteLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN route. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The user-defined name for this VPN route. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpnServerRoutesRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRoutesRoute)(nil)).Elem() +} + +func (i GetIsVpnServerRoutesRouteArgs) ToGetIsVpnServerRoutesRouteOutput() GetIsVpnServerRoutesRouteOutput { + return i.ToGetIsVpnServerRoutesRouteOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRoutesRouteArgs) ToGetIsVpnServerRoutesRouteOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRoutesRouteOutput) +} + +// GetIsVpnServerRoutesRouteArrayInput is an input type that accepts GetIsVpnServerRoutesRouteArray and GetIsVpnServerRoutesRouteArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerRoutesRouteArrayInput` via: +// +// GetIsVpnServerRoutesRouteArray{ GetIsVpnServerRoutesRouteArgs{...} } +type GetIsVpnServerRoutesRouteArrayInput interface { + pulumi.Input + + ToGetIsVpnServerRoutesRouteArrayOutput() GetIsVpnServerRoutesRouteArrayOutput + ToGetIsVpnServerRoutesRouteArrayOutputWithContext(context.Context) GetIsVpnServerRoutesRouteArrayOutput +} + +type GetIsVpnServerRoutesRouteArray []GetIsVpnServerRoutesRouteInput + +func (GetIsVpnServerRoutesRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRoutesRoute)(nil)).Elem() +} + +func (i GetIsVpnServerRoutesRouteArray) ToGetIsVpnServerRoutesRouteArrayOutput() GetIsVpnServerRoutesRouteArrayOutput { + return i.ToGetIsVpnServerRoutesRouteArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRoutesRouteArray) ToGetIsVpnServerRoutesRouteArrayOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRoutesRouteArrayOutput) +} + +type GetIsVpnServerRoutesRouteOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRoutesRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRoutesRoute)(nil)).Elem() +} + +func (o GetIsVpnServerRoutesRouteOutput) ToGetIsVpnServerRoutesRouteOutput() GetIsVpnServerRoutesRouteOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteOutput) ToGetIsVpnServerRoutesRouteOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteOutput { + return o +} + +// The action to perform with a packet matching the VPN route:- `translate`: translate the source IP address to one of the private IP addresses of the VPN server.- `deliver`: deliver the packet into the VPC.- `drop`: drop the packetThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the VPN route on which the unexpected property value was encountered. +func (o GetIsVpnServerRoutesRouteOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.Action }).(pulumi.StringOutput) +} + +// The date and time that the VPN route was created. +func (o GetIsVpnServerRoutesRouteOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The destination for this VPN route in the VPN server. If an incoming packet does not match any destination, it will be dropped. +func (o GetIsVpnServerRoutesRouteOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.Destination }).(pulumi.StringOutput) +} + +func (o GetIsVpnServerRoutesRouteOutput) HealthReasons() GetIsVpnServerRoutesRouteHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) []GetIsVpnServerRoutesRouteHealthReason { return v.HealthReasons }).(GetIsVpnServerRoutesRouteHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o GetIsVpnServerRoutesRouteOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.HealthState }).(pulumi.StringOutput) +} + +// The URL for this VPN route. +func (o GetIsVpnServerRoutesRouteOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN route. +func (o GetIsVpnServerRoutesRouteOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.Id }).(pulumi.StringOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o GetIsVpnServerRoutesRouteOutput) LifecycleReasons() GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) []GetIsVpnServerRoutesRouteLifecycleReason { + return v.LifecycleReasons + }).(GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput) +} + +// The lifecycle state of the VPN route. +func (o GetIsVpnServerRoutesRouteOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The user-defined name for this VPN route. +func (o GetIsVpnServerRoutesRouteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnServerRoutesRouteOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRoute) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpnServerRoutesRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRoutesRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRoutesRoute)(nil)).Elem() +} + +func (o GetIsVpnServerRoutesRouteArrayOutput) ToGetIsVpnServerRoutesRouteArrayOutput() GetIsVpnServerRoutesRouteArrayOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteArrayOutput) ToGetIsVpnServerRoutesRouteArrayOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteArrayOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerRoutesRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerRoutesRoute { + return vs[0].([]GetIsVpnServerRoutesRoute)[vs[1].(int)] + }).(GetIsVpnServerRoutesRouteOutput) +} + +type GetIsVpnServerRoutesRouteHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerRoutesRouteHealthReasonInput is an input type that accepts GetIsVpnServerRoutesRouteHealthReasonArgs and GetIsVpnServerRoutesRouteHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpnServerRoutesRouteHealthReasonInput` via: +// +// GetIsVpnServerRoutesRouteHealthReasonArgs{...} +type GetIsVpnServerRoutesRouteHealthReasonInput interface { + pulumi.Input + + ToGetIsVpnServerRoutesRouteHealthReasonOutput() GetIsVpnServerRoutesRouteHealthReasonOutput + ToGetIsVpnServerRoutesRouteHealthReasonOutputWithContext(context.Context) GetIsVpnServerRoutesRouteHealthReasonOutput +} + +type GetIsVpnServerRoutesRouteHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerRoutesRouteHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRoutesRouteHealthReason)(nil)).Elem() +} + +func (i GetIsVpnServerRoutesRouteHealthReasonArgs) ToGetIsVpnServerRoutesRouteHealthReasonOutput() GetIsVpnServerRoutesRouteHealthReasonOutput { + return i.ToGetIsVpnServerRoutesRouteHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRoutesRouteHealthReasonArgs) ToGetIsVpnServerRoutesRouteHealthReasonOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRoutesRouteHealthReasonOutput) +} + +// GetIsVpnServerRoutesRouteHealthReasonArrayInput is an input type that accepts GetIsVpnServerRoutesRouteHealthReasonArray and GetIsVpnServerRoutesRouteHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerRoutesRouteHealthReasonArrayInput` via: +// +// GetIsVpnServerRoutesRouteHealthReasonArray{ GetIsVpnServerRoutesRouteHealthReasonArgs{...} } +type GetIsVpnServerRoutesRouteHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnServerRoutesRouteHealthReasonArrayOutput() GetIsVpnServerRoutesRouteHealthReasonArrayOutput + ToGetIsVpnServerRoutesRouteHealthReasonArrayOutputWithContext(context.Context) GetIsVpnServerRoutesRouteHealthReasonArrayOutput +} + +type GetIsVpnServerRoutesRouteHealthReasonArray []GetIsVpnServerRoutesRouteHealthReasonInput + +func (GetIsVpnServerRoutesRouteHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRoutesRouteHealthReason)(nil)).Elem() +} + +func (i GetIsVpnServerRoutesRouteHealthReasonArray) ToGetIsVpnServerRoutesRouteHealthReasonArrayOutput() GetIsVpnServerRoutesRouteHealthReasonArrayOutput { + return i.ToGetIsVpnServerRoutesRouteHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRoutesRouteHealthReasonArray) ToGetIsVpnServerRoutesRouteHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRoutesRouteHealthReasonArrayOutput) +} + +type GetIsVpnServerRoutesRouteHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRoutesRouteHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRoutesRouteHealthReason)(nil)).Elem() +} + +func (o GetIsVpnServerRoutesRouteHealthReasonOutput) ToGetIsVpnServerRoutesRouteHealthReasonOutput() GetIsVpnServerRoutesRouteHealthReasonOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteHealthReasonOutput) ToGetIsVpnServerRoutesRouteHealthReasonOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpnServerRoutesRouteHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRouteHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpnServerRoutesRouteHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRouteHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpnServerRoutesRouteHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRouteHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerRoutesRouteHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRoutesRouteHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRoutesRouteHealthReason)(nil)).Elem() +} + +func (o GetIsVpnServerRoutesRouteHealthReasonArrayOutput) ToGetIsVpnServerRoutesRouteHealthReasonArrayOutput() GetIsVpnServerRoutesRouteHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteHealthReasonArrayOutput) ToGetIsVpnServerRoutesRouteHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerRoutesRouteHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerRoutesRouteHealthReason { + return vs[0].([]GetIsVpnServerRoutesRouteHealthReason)[vs[1].(int)] + }).(GetIsVpnServerRoutesRouteHealthReasonOutput) +} + +type GetIsVpnServerRoutesRouteLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerRoutesRouteLifecycleReasonInput is an input type that accepts GetIsVpnServerRoutesRouteLifecycleReasonArgs and GetIsVpnServerRoutesRouteLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsVpnServerRoutesRouteLifecycleReasonInput` via: +// +// GetIsVpnServerRoutesRouteLifecycleReasonArgs{...} +type GetIsVpnServerRoutesRouteLifecycleReasonInput interface { + pulumi.Input + + ToGetIsVpnServerRoutesRouteLifecycleReasonOutput() GetIsVpnServerRoutesRouteLifecycleReasonOutput + ToGetIsVpnServerRoutesRouteLifecycleReasonOutputWithContext(context.Context) GetIsVpnServerRoutesRouteLifecycleReasonOutput +} + +type GetIsVpnServerRoutesRouteLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerRoutesRouteLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRoutesRouteLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnServerRoutesRouteLifecycleReasonArgs) ToGetIsVpnServerRoutesRouteLifecycleReasonOutput() GetIsVpnServerRoutesRouteLifecycleReasonOutput { + return i.ToGetIsVpnServerRoutesRouteLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRoutesRouteLifecycleReasonArgs) ToGetIsVpnServerRoutesRouteLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRoutesRouteLifecycleReasonOutput) +} + +// GetIsVpnServerRoutesRouteLifecycleReasonArrayInput is an input type that accepts GetIsVpnServerRoutesRouteLifecycleReasonArray and GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerRoutesRouteLifecycleReasonArrayInput` via: +// +// GetIsVpnServerRoutesRouteLifecycleReasonArray{ GetIsVpnServerRoutesRouteLifecycleReasonArgs{...} } +type GetIsVpnServerRoutesRouteLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnServerRoutesRouteLifecycleReasonArrayOutput() GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput + ToGetIsVpnServerRoutesRouteLifecycleReasonArrayOutputWithContext(context.Context) GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput +} + +type GetIsVpnServerRoutesRouteLifecycleReasonArray []GetIsVpnServerRoutesRouteLifecycleReasonInput + +func (GetIsVpnServerRoutesRouteLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRoutesRouteLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnServerRoutesRouteLifecycleReasonArray) ToGetIsVpnServerRoutesRouteLifecycleReasonArrayOutput() GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput { + return i.ToGetIsVpnServerRoutesRouteLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerRoutesRouteLifecycleReasonArray) ToGetIsVpnServerRoutesRouteLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput) +} + +type GetIsVpnServerRoutesRouteLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRoutesRouteLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerRoutesRouteLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnServerRoutesRouteLifecycleReasonOutput) ToGetIsVpnServerRoutesRouteLifecycleReasonOutput() GetIsVpnServerRoutesRouteLifecycleReasonOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteLifecycleReasonOutput) ToGetIsVpnServerRoutesRouteLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsVpnServerRoutesRouteLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRouteLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsVpnServerRoutesRouteLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRouteLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsVpnServerRoutesRouteLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerRoutesRouteLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerRoutesRouteLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput) ToGetIsVpnServerRoutesRouteLifecycleReasonArrayOutput() GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput) ToGetIsVpnServerRoutesRouteLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerRoutesRouteLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerRoutesRouteLifecycleReason { + return vs[0].([]GetIsVpnServerRoutesRouteLifecycleReason)[vs[1].(int)] + }).(GetIsVpnServerRoutesRouteLifecycleReasonOutput) +} + +type GetIsVpnServerSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnServerSecurityGroupDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name string `pulumi:"name"` +} + +// GetIsVpnServerSecurityGroupInput is an input type that accepts GetIsVpnServerSecurityGroupArgs and GetIsVpnServerSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsVpnServerSecurityGroupInput` via: +// +// GetIsVpnServerSecurityGroupArgs{...} +type GetIsVpnServerSecurityGroupInput interface { + pulumi.Input + + ToGetIsVpnServerSecurityGroupOutput() GetIsVpnServerSecurityGroupOutput + ToGetIsVpnServerSecurityGroupOutputWithContext(context.Context) GetIsVpnServerSecurityGroupOutput +} + +type GetIsVpnServerSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnServerSecurityGroupDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnServerSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerSecurityGroup)(nil)).Elem() +} + +func (i GetIsVpnServerSecurityGroupArgs) ToGetIsVpnServerSecurityGroupOutput() GetIsVpnServerSecurityGroupOutput { + return i.ToGetIsVpnServerSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerSecurityGroupArgs) ToGetIsVpnServerSecurityGroupOutputWithContext(ctx context.Context) GetIsVpnServerSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerSecurityGroupOutput) +} + +// GetIsVpnServerSecurityGroupArrayInput is an input type that accepts GetIsVpnServerSecurityGroupArray and GetIsVpnServerSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerSecurityGroupArrayInput` via: +// +// GetIsVpnServerSecurityGroupArray{ GetIsVpnServerSecurityGroupArgs{...} } +type GetIsVpnServerSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsVpnServerSecurityGroupArrayOutput() GetIsVpnServerSecurityGroupArrayOutput + ToGetIsVpnServerSecurityGroupArrayOutputWithContext(context.Context) GetIsVpnServerSecurityGroupArrayOutput +} + +type GetIsVpnServerSecurityGroupArray []GetIsVpnServerSecurityGroupInput + +func (GetIsVpnServerSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerSecurityGroup)(nil)).Elem() +} + +func (i GetIsVpnServerSecurityGroupArray) ToGetIsVpnServerSecurityGroupArrayOutput() GetIsVpnServerSecurityGroupArrayOutput { + return i.ToGetIsVpnServerSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerSecurityGroupArray) ToGetIsVpnServerSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVpnServerSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerSecurityGroupArrayOutput) +} + +type GetIsVpnServerSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerSecurityGroup)(nil)).Elem() +} + +func (o GetIsVpnServerSecurityGroupOutput) ToGetIsVpnServerSecurityGroupOutput() GetIsVpnServerSecurityGroupOutput { + return o +} + +func (o GetIsVpnServerSecurityGroupOutput) ToGetIsVpnServerSecurityGroupOutputWithContext(ctx context.Context) GetIsVpnServerSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsVpnServerSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSecurityGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnServerSecurityGroupOutput) Deleteds() GetIsVpnServerSecurityGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnServerSecurityGroup) []GetIsVpnServerSecurityGroupDeleted { return v.Deleteds }).(GetIsVpnServerSecurityGroupDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsVpnServerSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSecurityGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsVpnServerSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this security group. Names must be unique within the VPC the security group resides in. +func (o GetIsVpnServerSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnServerSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerSecurityGroup)(nil)).Elem() +} + +func (o GetIsVpnServerSecurityGroupArrayOutput) ToGetIsVpnServerSecurityGroupArrayOutput() GetIsVpnServerSecurityGroupArrayOutput { + return o +} + +func (o GetIsVpnServerSecurityGroupArrayOutput) ToGetIsVpnServerSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVpnServerSecurityGroupArrayOutput { + return o +} + +func (o GetIsVpnServerSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerSecurityGroup { + return vs[0].([]GetIsVpnServerSecurityGroup)[vs[1].(int)] + }).(GetIsVpnServerSecurityGroupOutput) +} + +type GetIsVpnServerSecurityGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerSecurityGroupDeletedInput is an input type that accepts GetIsVpnServerSecurityGroupDeletedArgs and GetIsVpnServerSecurityGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnServerSecurityGroupDeletedInput` via: +// +// GetIsVpnServerSecurityGroupDeletedArgs{...} +type GetIsVpnServerSecurityGroupDeletedInput interface { + pulumi.Input + + ToGetIsVpnServerSecurityGroupDeletedOutput() GetIsVpnServerSecurityGroupDeletedOutput + ToGetIsVpnServerSecurityGroupDeletedOutputWithContext(context.Context) GetIsVpnServerSecurityGroupDeletedOutput +} + +type GetIsVpnServerSecurityGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerSecurityGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsVpnServerSecurityGroupDeletedArgs) ToGetIsVpnServerSecurityGroupDeletedOutput() GetIsVpnServerSecurityGroupDeletedOutput { + return i.ToGetIsVpnServerSecurityGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerSecurityGroupDeletedArgs) ToGetIsVpnServerSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsVpnServerSecurityGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerSecurityGroupDeletedOutput) +} + +// GetIsVpnServerSecurityGroupDeletedArrayInput is an input type that accepts GetIsVpnServerSecurityGroupDeletedArray and GetIsVpnServerSecurityGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerSecurityGroupDeletedArrayInput` via: +// +// GetIsVpnServerSecurityGroupDeletedArray{ GetIsVpnServerSecurityGroupDeletedArgs{...} } +type GetIsVpnServerSecurityGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnServerSecurityGroupDeletedArrayOutput() GetIsVpnServerSecurityGroupDeletedArrayOutput + ToGetIsVpnServerSecurityGroupDeletedArrayOutputWithContext(context.Context) GetIsVpnServerSecurityGroupDeletedArrayOutput +} + +type GetIsVpnServerSecurityGroupDeletedArray []GetIsVpnServerSecurityGroupDeletedInput + +func (GetIsVpnServerSecurityGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsVpnServerSecurityGroupDeletedArray) ToGetIsVpnServerSecurityGroupDeletedArrayOutput() GetIsVpnServerSecurityGroupDeletedArrayOutput { + return i.ToGetIsVpnServerSecurityGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerSecurityGroupDeletedArray) ToGetIsVpnServerSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServerSecurityGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerSecurityGroupDeletedArrayOutput) +} + +type GetIsVpnServerSecurityGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerSecurityGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsVpnServerSecurityGroupDeletedOutput) ToGetIsVpnServerSecurityGroupDeletedOutput() GetIsVpnServerSecurityGroupDeletedOutput { + return o +} + +func (o GetIsVpnServerSecurityGroupDeletedOutput) ToGetIsVpnServerSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsVpnServerSecurityGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnServerSecurityGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSecurityGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerSecurityGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerSecurityGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsVpnServerSecurityGroupDeletedArrayOutput) ToGetIsVpnServerSecurityGroupDeletedArrayOutput() GetIsVpnServerSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsVpnServerSecurityGroupDeletedArrayOutput) ToGetIsVpnServerSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServerSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsVpnServerSecurityGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerSecurityGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerSecurityGroupDeleted { + return vs[0].([]GetIsVpnServerSecurityGroupDeleted)[vs[1].(int)] + }).(GetIsVpnServerSecurityGroupDeletedOutput) +} + +type GetIsVpnServerSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnServerSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpnServerSubnetInput is an input type that accepts GetIsVpnServerSubnetArgs and GetIsVpnServerSubnetOutput values. +// You can construct a concrete instance of `GetIsVpnServerSubnetInput` via: +// +// GetIsVpnServerSubnetArgs{...} +type GetIsVpnServerSubnetInput interface { + pulumi.Input + + ToGetIsVpnServerSubnetOutput() GetIsVpnServerSubnetOutput + ToGetIsVpnServerSubnetOutputWithContext(context.Context) GetIsVpnServerSubnetOutput +} + +type GetIsVpnServerSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnServerSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpnServerSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerSubnet)(nil)).Elem() +} + +func (i GetIsVpnServerSubnetArgs) ToGetIsVpnServerSubnetOutput() GetIsVpnServerSubnetOutput { + return i.ToGetIsVpnServerSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerSubnetArgs) ToGetIsVpnServerSubnetOutputWithContext(ctx context.Context) GetIsVpnServerSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerSubnetOutput) +} + +// GetIsVpnServerSubnetArrayInput is an input type that accepts GetIsVpnServerSubnetArray and GetIsVpnServerSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerSubnetArrayInput` via: +// +// GetIsVpnServerSubnetArray{ GetIsVpnServerSubnetArgs{...} } +type GetIsVpnServerSubnetArrayInput interface { + pulumi.Input + + ToGetIsVpnServerSubnetArrayOutput() GetIsVpnServerSubnetArrayOutput + ToGetIsVpnServerSubnetArrayOutputWithContext(context.Context) GetIsVpnServerSubnetArrayOutput +} + +type GetIsVpnServerSubnetArray []GetIsVpnServerSubnetInput + +func (GetIsVpnServerSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerSubnet)(nil)).Elem() +} + +func (i GetIsVpnServerSubnetArray) ToGetIsVpnServerSubnetArrayOutput() GetIsVpnServerSubnetArrayOutput { + return i.ToGetIsVpnServerSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerSubnetArray) ToGetIsVpnServerSubnetArrayOutputWithContext(ctx context.Context) GetIsVpnServerSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerSubnetArrayOutput) +} + +type GetIsVpnServerSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerSubnet)(nil)).Elem() +} + +func (o GetIsVpnServerSubnetOutput) ToGetIsVpnServerSubnetOutput() GetIsVpnServerSubnetOutput { + return o +} + +func (o GetIsVpnServerSubnetOutput) ToGetIsVpnServerSubnetOutputWithContext(ctx context.Context) GetIsVpnServerSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsVpnServerSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnServerSubnetOutput) Deleteds() GetIsVpnServerSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnServerSubnet) []GetIsVpnServerSubnetDeleted { return v.Deleteds }).(GetIsVpnServerSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsVpnServerSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsVpnServerSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsVpnServerSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnServerSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpnServerSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerSubnet)(nil)).Elem() +} + +func (o GetIsVpnServerSubnetArrayOutput) ToGetIsVpnServerSubnetArrayOutput() GetIsVpnServerSubnetArrayOutput { + return o +} + +func (o GetIsVpnServerSubnetArrayOutput) ToGetIsVpnServerSubnetArrayOutputWithContext(ctx context.Context) GetIsVpnServerSubnetArrayOutput { + return o +} + +func (o GetIsVpnServerSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerSubnet { + return vs[0].([]GetIsVpnServerSubnet)[vs[1].(int)] + }).(GetIsVpnServerSubnetOutput) +} + +type GetIsVpnServerSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerSubnetDeletedInput is an input type that accepts GetIsVpnServerSubnetDeletedArgs and GetIsVpnServerSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnServerSubnetDeletedInput` via: +// +// GetIsVpnServerSubnetDeletedArgs{...} +type GetIsVpnServerSubnetDeletedInput interface { + pulumi.Input + + ToGetIsVpnServerSubnetDeletedOutput() GetIsVpnServerSubnetDeletedOutput + ToGetIsVpnServerSubnetDeletedOutputWithContext(context.Context) GetIsVpnServerSubnetDeletedOutput +} + +type GetIsVpnServerSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVpnServerSubnetDeletedArgs) ToGetIsVpnServerSubnetDeletedOutput() GetIsVpnServerSubnetDeletedOutput { + return i.ToGetIsVpnServerSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerSubnetDeletedArgs) ToGetIsVpnServerSubnetDeletedOutputWithContext(ctx context.Context) GetIsVpnServerSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerSubnetDeletedOutput) +} + +// GetIsVpnServerSubnetDeletedArrayInput is an input type that accepts GetIsVpnServerSubnetDeletedArray and GetIsVpnServerSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerSubnetDeletedArrayInput` via: +// +// GetIsVpnServerSubnetDeletedArray{ GetIsVpnServerSubnetDeletedArgs{...} } +type GetIsVpnServerSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnServerSubnetDeletedArrayOutput() GetIsVpnServerSubnetDeletedArrayOutput + ToGetIsVpnServerSubnetDeletedArrayOutputWithContext(context.Context) GetIsVpnServerSubnetDeletedArrayOutput +} + +type GetIsVpnServerSubnetDeletedArray []GetIsVpnServerSubnetDeletedInput + +func (GetIsVpnServerSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVpnServerSubnetDeletedArray) ToGetIsVpnServerSubnetDeletedArrayOutput() GetIsVpnServerSubnetDeletedArrayOutput { + return i.ToGetIsVpnServerSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerSubnetDeletedArray) ToGetIsVpnServerSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServerSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerSubnetDeletedArrayOutput) +} + +type GetIsVpnServerSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVpnServerSubnetDeletedOutput) ToGetIsVpnServerSubnetDeletedOutput() GetIsVpnServerSubnetDeletedOutput { + return o +} + +func (o GetIsVpnServerSubnetDeletedOutput) ToGetIsVpnServerSubnetDeletedOutputWithContext(ctx context.Context) GetIsVpnServerSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnServerSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVpnServerSubnetDeletedArrayOutput) ToGetIsVpnServerSubnetDeletedArrayOutput() GetIsVpnServerSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVpnServerSubnetDeletedArrayOutput) ToGetIsVpnServerSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServerSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVpnServerSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerSubnetDeleted { + return vs[0].([]GetIsVpnServerSubnetDeleted)[vs[1].(int)] + }).(GetIsVpnServerSubnetDeletedOutput) +} + +type GetIsVpnServerVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnServerVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` +} + +// GetIsVpnServerVpcInput is an input type that accepts GetIsVpnServerVpcArgs and GetIsVpnServerVpcOutput values. +// You can construct a concrete instance of `GetIsVpnServerVpcInput` via: +// +// GetIsVpnServerVpcArgs{...} +type GetIsVpnServerVpcInput interface { + pulumi.Input + + ToGetIsVpnServerVpcOutput() GetIsVpnServerVpcOutput + ToGetIsVpnServerVpcOutputWithContext(context.Context) GetIsVpnServerVpcOutput +} + +type GetIsVpnServerVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnServerVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnServerVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerVpc)(nil)).Elem() +} + +func (i GetIsVpnServerVpcArgs) ToGetIsVpnServerVpcOutput() GetIsVpnServerVpcOutput { + return i.ToGetIsVpnServerVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerVpcArgs) ToGetIsVpnServerVpcOutputWithContext(ctx context.Context) GetIsVpnServerVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerVpcOutput) +} + +// GetIsVpnServerVpcArrayInput is an input type that accepts GetIsVpnServerVpcArray and GetIsVpnServerVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerVpcArrayInput` via: +// +// GetIsVpnServerVpcArray{ GetIsVpnServerVpcArgs{...} } +type GetIsVpnServerVpcArrayInput interface { + pulumi.Input + + ToGetIsVpnServerVpcArrayOutput() GetIsVpnServerVpcArrayOutput + ToGetIsVpnServerVpcArrayOutputWithContext(context.Context) GetIsVpnServerVpcArrayOutput +} + +type GetIsVpnServerVpcArray []GetIsVpnServerVpcInput + +func (GetIsVpnServerVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerVpc)(nil)).Elem() +} + +func (i GetIsVpnServerVpcArray) ToGetIsVpnServerVpcArrayOutput() GetIsVpnServerVpcArrayOutput { + return i.ToGetIsVpnServerVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerVpcArray) ToGetIsVpnServerVpcArrayOutputWithContext(ctx context.Context) GetIsVpnServerVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerVpcArrayOutput) +} + +type GetIsVpnServerVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerVpc)(nil)).Elem() +} + +func (o GetIsVpnServerVpcOutput) ToGetIsVpnServerVpcOutput() GetIsVpnServerVpcOutput { + return o +} + +func (o GetIsVpnServerVpcOutput) ToGetIsVpnServerVpcOutputWithContext(ctx context.Context) GetIsVpnServerVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVpnServerVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnServerVpcOutput) Deleteds() GetIsVpnServerVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnServerVpc) []GetIsVpnServerVpcDeleted { return v.Deleteds }).(GetIsVpnServerVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsVpnServerVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVpnServerVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsVpnServerVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerVpc) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnServerVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerVpc)(nil)).Elem() +} + +func (o GetIsVpnServerVpcArrayOutput) ToGetIsVpnServerVpcArrayOutput() GetIsVpnServerVpcArrayOutput { + return o +} + +func (o GetIsVpnServerVpcArrayOutput) ToGetIsVpnServerVpcArrayOutputWithContext(ctx context.Context) GetIsVpnServerVpcArrayOutput { + return o +} + +func (o GetIsVpnServerVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerVpc { + return vs[0].([]GetIsVpnServerVpc)[vs[1].(int)] + }).(GetIsVpnServerVpcOutput) +} + +type GetIsVpnServerVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServerVpcDeletedInput is an input type that accepts GetIsVpnServerVpcDeletedArgs and GetIsVpnServerVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnServerVpcDeletedInput` via: +// +// GetIsVpnServerVpcDeletedArgs{...} +type GetIsVpnServerVpcDeletedInput interface { + pulumi.Input + + ToGetIsVpnServerVpcDeletedOutput() GetIsVpnServerVpcDeletedOutput + ToGetIsVpnServerVpcDeletedOutputWithContext(context.Context) GetIsVpnServerVpcDeletedOutput +} + +type GetIsVpnServerVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServerVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpnServerVpcDeletedArgs) ToGetIsVpnServerVpcDeletedOutput() GetIsVpnServerVpcDeletedOutput { + return i.ToGetIsVpnServerVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerVpcDeletedArgs) ToGetIsVpnServerVpcDeletedOutputWithContext(ctx context.Context) GetIsVpnServerVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerVpcDeletedOutput) +} + +// GetIsVpnServerVpcDeletedArrayInput is an input type that accepts GetIsVpnServerVpcDeletedArray and GetIsVpnServerVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServerVpcDeletedArrayInput` via: +// +// GetIsVpnServerVpcDeletedArray{ GetIsVpnServerVpcDeletedArgs{...} } +type GetIsVpnServerVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnServerVpcDeletedArrayOutput() GetIsVpnServerVpcDeletedArrayOutput + ToGetIsVpnServerVpcDeletedArrayOutputWithContext(context.Context) GetIsVpnServerVpcDeletedArrayOutput +} + +type GetIsVpnServerVpcDeletedArray []GetIsVpnServerVpcDeletedInput + +func (GetIsVpnServerVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpnServerVpcDeletedArray) ToGetIsVpnServerVpcDeletedArrayOutput() GetIsVpnServerVpcDeletedArrayOutput { + return i.ToGetIsVpnServerVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServerVpcDeletedArray) ToGetIsVpnServerVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServerVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServerVpcDeletedArrayOutput) +} + +type GetIsVpnServerVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServerVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpnServerVpcDeletedOutput) ToGetIsVpnServerVpcDeletedOutput() GetIsVpnServerVpcDeletedOutput { + return o +} + +func (o GetIsVpnServerVpcDeletedOutput) ToGetIsVpnServerVpcDeletedOutputWithContext(ctx context.Context) GetIsVpnServerVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnServerVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServerVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServerVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServerVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServerVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpnServerVpcDeletedArrayOutput) ToGetIsVpnServerVpcDeletedArrayOutput() GetIsVpnServerVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpnServerVpcDeletedArrayOutput) ToGetIsVpnServerVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServerVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpnServerVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnServerVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServerVpcDeleted { + return vs[0].([]GetIsVpnServerVpcDeleted)[vs[1].(int)] + }).(GetIsVpnServerVpcDeletedOutput) +} + +type GetIsVpnServersVpnServer struct { + // List of access tags + AccessTags []string `pulumi:"accessTags"` + // The certificate instance for this VPN server. + Certificates []GetIsVpnServersVpnServerCertificate `pulumi:"certificates"` + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. + ClientAuthentications []GetIsVpnServersVpnServerClientAuthentication `pulumi:"clientAuthentications"` + // If set to `true`, disconnected VPN clients will be automatically deleted after the `clientAutoDeleteTimeout` time has passed. + ClientAutoDelete bool `pulumi:"clientAutoDelete"` + // Hours after which disconnected VPN clients will be automatically deleted. If `0`, disconnected VPN clients will be deleted immediately. + ClientAutoDeleteTimeout int `pulumi:"clientAutoDeleteTimeout"` + // The DNS server addresses that will be provided to VPN clients that are connected to this VPN server. + ClientDnsServerIps []GetIsVpnServersVpnServerClientDnsServerIp `pulumi:"clientDnsServerIps"` + // The seconds a VPN client can be idle before this VPN server will disconnect it. If `0`, the server will not disconnect idle clients. + ClientIdleTimeout int `pulumi:"clientIdleTimeout"` + // The VPN client IPv4 address pool, expressed in CIDR format. + ClientIpPool string `pulumi:"clientIpPool"` + // The date and time that the VPN server was created. + CreatedAt string `pulumi:"createdAt"` + // The CRN for this VPN server. + Crn string `pulumi:"crn"` + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling bool `pulumi:"enableSplitTunneling"` + HealthReasons []GetIsVpnServersVpnServerHealthReason `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState string `pulumi:"healthState"` + // Fully qualified domain name assigned to this VPN server. + Hostname string `pulumi:"hostname"` + // The URL for this VPN server. + Href string `pulumi:"href"` + // The unique identifier for this VPN server. + Id string `pulumi:"id"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons []GetIsVpnServersVpnServerLifecycleReason `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN server. + LifecycleState string `pulumi:"lifecycleState"` + // The unique user-defined name for this VPN server. + Name string `pulumi:"name"` + // The port number used by this VPN server. + Port int `pulumi:"port"` + // The reserved IPs bound to this VPN server. + PrivateIps []GetIsVpnServersVpnServerPrivateIp `pulumi:"privateIps"` + // The transport protocol used by this VPN server. + Protocol string `pulumi:"protocol"` + // The resource group for this VPN server. + ResourceGroups []GetIsVpnServersVpnServerResourceGroup `pulumi:"resourceGroups"` + // The type of resource referenced. + ResourceType string `pulumi:"resourceType"` + // The security groups targeting this VPN server. + SecurityGroups []GetIsVpnServersVpnServerSecurityGroup `pulumi:"securityGroups"` + // The subnets this VPN server is part of. + Subnets []GetIsVpnServersVpnServerSubnet `pulumi:"subnets"` + // The VPC this VPN server resides in. + Vpcs []GetIsVpnServersVpnServerVpc `pulumi:"vpcs"` +} + +// GetIsVpnServersVpnServerInput is an input type that accepts GetIsVpnServersVpnServerArgs and GetIsVpnServersVpnServerOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerInput` via: +// +// GetIsVpnServersVpnServerArgs{...} +type GetIsVpnServersVpnServerInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerOutput() GetIsVpnServersVpnServerOutput + ToGetIsVpnServersVpnServerOutputWithContext(context.Context) GetIsVpnServersVpnServerOutput +} + +type GetIsVpnServersVpnServerArgs struct { + // List of access tags + AccessTags pulumi.StringArrayInput `pulumi:"accessTags"` + // The certificate instance for this VPN server. + Certificates GetIsVpnServersVpnServerCertificateArrayInput `pulumi:"certificates"` + // The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. + ClientAuthentications GetIsVpnServersVpnServerClientAuthenticationArrayInput `pulumi:"clientAuthentications"` + // If set to `true`, disconnected VPN clients will be automatically deleted after the `clientAutoDeleteTimeout` time has passed. + ClientAutoDelete pulumi.BoolInput `pulumi:"clientAutoDelete"` + // Hours after which disconnected VPN clients will be automatically deleted. If `0`, disconnected VPN clients will be deleted immediately. + ClientAutoDeleteTimeout pulumi.IntInput `pulumi:"clientAutoDeleteTimeout"` + // The DNS server addresses that will be provided to VPN clients that are connected to this VPN server. + ClientDnsServerIps GetIsVpnServersVpnServerClientDnsServerIpArrayInput `pulumi:"clientDnsServerIps"` + // The seconds a VPN client can be idle before this VPN server will disconnect it. If `0`, the server will not disconnect idle clients. + ClientIdleTimeout pulumi.IntInput `pulumi:"clientIdleTimeout"` + // The VPN client IPv4 address pool, expressed in CIDR format. + ClientIpPool pulumi.StringInput `pulumi:"clientIpPool"` + // The date and time that the VPN server was created. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The CRN for this VPN server. + Crn pulumi.StringInput `pulumi:"crn"` + // Indicates whether the split tunneling is enabled on this VPN server. + EnableSplitTunneling pulumi.BoolInput `pulumi:"enableSplitTunneling"` + HealthReasons GetIsVpnServersVpnServerHealthReasonArrayInput `pulumi:"healthReasons"` + // The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. + HealthState pulumi.StringInput `pulumi:"healthState"` + // Fully qualified domain name assigned to this VPN server. + Hostname pulumi.StringInput `pulumi:"hostname"` + // The URL for this VPN server. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPN server. + Id pulumi.StringInput `pulumi:"id"` + // The reasons for the current lifecycleState (if any). + LifecycleReasons GetIsVpnServersVpnServerLifecycleReasonArrayInput `pulumi:"lifecycleReasons"` + // The lifecycle state of the VPN server. + LifecycleState pulumi.StringInput `pulumi:"lifecycleState"` + // The unique user-defined name for this VPN server. + Name pulumi.StringInput `pulumi:"name"` + // The port number used by this VPN server. + Port pulumi.IntInput `pulumi:"port"` + // The reserved IPs bound to this VPN server. + PrivateIps GetIsVpnServersVpnServerPrivateIpArrayInput `pulumi:"privateIps"` + // The transport protocol used by this VPN server. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The resource group for this VPN server. + ResourceGroups GetIsVpnServersVpnServerResourceGroupArrayInput `pulumi:"resourceGroups"` + // The type of resource referenced. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // The security groups targeting this VPN server. + SecurityGroups GetIsVpnServersVpnServerSecurityGroupArrayInput `pulumi:"securityGroups"` + // The subnets this VPN server is part of. + Subnets GetIsVpnServersVpnServerSubnetArrayInput `pulumi:"subnets"` + // The VPC this VPN server resides in. + Vpcs GetIsVpnServersVpnServerVpcArrayInput `pulumi:"vpcs"` +} + +func (GetIsVpnServersVpnServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServer)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerArgs) ToGetIsVpnServersVpnServerOutput() GetIsVpnServersVpnServerOutput { + return i.ToGetIsVpnServersVpnServerOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerArgs) ToGetIsVpnServersVpnServerOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerOutput) +} + +// GetIsVpnServersVpnServerArrayInput is an input type that accepts GetIsVpnServersVpnServerArray and GetIsVpnServersVpnServerArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerArrayInput` via: +// +// GetIsVpnServersVpnServerArray{ GetIsVpnServersVpnServerArgs{...} } +type GetIsVpnServersVpnServerArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerArrayOutput() GetIsVpnServersVpnServerArrayOutput + ToGetIsVpnServersVpnServerArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerArrayOutput +} + +type GetIsVpnServersVpnServerArray []GetIsVpnServersVpnServerInput + +func (GetIsVpnServersVpnServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServer)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerArray) ToGetIsVpnServersVpnServerArrayOutput() GetIsVpnServersVpnServerArrayOutput { + return i.ToGetIsVpnServersVpnServerArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerArray) ToGetIsVpnServersVpnServerArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerArrayOutput) +} + +type GetIsVpnServersVpnServerOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServer)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerOutput) ToGetIsVpnServersVpnServerOutput() GetIsVpnServersVpnServerOutput { + return o +} + +func (o GetIsVpnServersVpnServerOutput) ToGetIsVpnServersVpnServerOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerOutput { + return o +} + +// List of access tags +func (o GetIsVpnServersVpnServerOutput) AccessTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []string { return v.AccessTags }).(pulumi.StringArrayOutput) +} + +// The certificate instance for this VPN server. +func (o GetIsVpnServersVpnServerOutput) Certificates() GetIsVpnServersVpnServerCertificateArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerCertificate { return v.Certificates }).(GetIsVpnServersVpnServerCertificateArrayOutput) +} + +// The methods used to authenticate VPN clients to this VPN server. VPN clients must authenticate against all provided methods. +func (o GetIsVpnServersVpnServerOutput) ClientAuthentications() GetIsVpnServersVpnServerClientAuthenticationArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerClientAuthentication { + return v.ClientAuthentications + }).(GetIsVpnServersVpnServerClientAuthenticationArrayOutput) +} + +// If set to `true`, disconnected VPN clients will be automatically deleted after the `clientAutoDeleteTimeout` time has passed. +func (o GetIsVpnServersVpnServerOutput) ClientAutoDelete() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) bool { return v.ClientAutoDelete }).(pulumi.BoolOutput) +} + +// Hours after which disconnected VPN clients will be automatically deleted. If `0`, disconnected VPN clients will be deleted immediately. +func (o GetIsVpnServersVpnServerOutput) ClientAutoDeleteTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) int { return v.ClientAutoDeleteTimeout }).(pulumi.IntOutput) +} + +// The DNS server addresses that will be provided to VPN clients that are connected to this VPN server. +func (o GetIsVpnServersVpnServerOutput) ClientDnsServerIps() GetIsVpnServersVpnServerClientDnsServerIpArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerClientDnsServerIp { + return v.ClientDnsServerIps + }).(GetIsVpnServersVpnServerClientDnsServerIpArrayOutput) +} + +// The seconds a VPN client can be idle before this VPN server will disconnect it. If `0`, the server will not disconnect idle clients. +func (o GetIsVpnServersVpnServerOutput) ClientIdleTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) int { return v.ClientIdleTimeout }).(pulumi.IntOutput) +} + +// The VPN client IPv4 address pool, expressed in CIDR format. +func (o GetIsVpnServersVpnServerOutput) ClientIpPool() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.ClientIpPool }).(pulumi.StringOutput) +} + +// The date and time that the VPN server was created. +func (o GetIsVpnServersVpnServerOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The CRN for this VPN server. +func (o GetIsVpnServersVpnServerOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates whether the split tunneling is enabled on this VPN server. +func (o GetIsVpnServersVpnServerOutput) EnableSplitTunneling() pulumi.BoolOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) bool { return v.EnableSplitTunneling }).(pulumi.BoolOutput) +} + +func (o GetIsVpnServersVpnServerOutput) HealthReasons() GetIsVpnServersVpnServerHealthReasonArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerHealthReason { return v.HealthReasons }).(GetIsVpnServersVpnServerHealthReasonArrayOutput) +} + +// The health of this resource.- `ok`: Healthy- `degraded`: Suffering from compromised performance, capacity, or connectivity- `faulted`: Completely unreachable, inoperative, or otherwise entirely incapacitated- `inapplicable`: The health state does not apply because of the current lifecycle state. A resource with a lifecycle state of `failed` or `deleting` will have a health state of `inapplicable`. A `pending` resource may also have this state. +func (o GetIsVpnServersVpnServerOutput) HealthState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.HealthState }).(pulumi.StringOutput) +} + +// Fully qualified domain name assigned to this VPN server. +func (o GetIsVpnServersVpnServerOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.Hostname }).(pulumi.StringOutput) +} + +// The URL for this VPN server. +func (o GetIsVpnServersVpnServerOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPN server. +func (o GetIsVpnServersVpnServerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.Id }).(pulumi.StringOutput) +} + +// The reasons for the current lifecycleState (if any). +func (o GetIsVpnServersVpnServerOutput) LifecycleReasons() GetIsVpnServersVpnServerLifecycleReasonArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerLifecycleReason { return v.LifecycleReasons }).(GetIsVpnServersVpnServerLifecycleReasonArrayOutput) +} + +// The lifecycle state of the VPN server. +func (o GetIsVpnServersVpnServerOutput) LifecycleState() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.LifecycleState }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPN server. +func (o GetIsVpnServersVpnServerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.Name }).(pulumi.StringOutput) +} + +// The port number used by this VPN server. +func (o GetIsVpnServersVpnServerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) int { return v.Port }).(pulumi.IntOutput) +} + +// The reserved IPs bound to this VPN server. +func (o GetIsVpnServersVpnServerOutput) PrivateIps() GetIsVpnServersVpnServerPrivateIpArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerPrivateIp { return v.PrivateIps }).(GetIsVpnServersVpnServerPrivateIpArrayOutput) +} + +// The transport protocol used by this VPN server. +func (o GetIsVpnServersVpnServerOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The resource group for this VPN server. +func (o GetIsVpnServersVpnServerOutput) ResourceGroups() GetIsVpnServersVpnServerResourceGroupArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerResourceGroup { return v.ResourceGroups }).(GetIsVpnServersVpnServerResourceGroupArrayOutput) +} + +// The type of resource referenced. +func (o GetIsVpnServersVpnServerOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The security groups targeting this VPN server. +func (o GetIsVpnServersVpnServerOutput) SecurityGroups() GetIsVpnServersVpnServerSecurityGroupArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerSecurityGroup { return v.SecurityGroups }).(GetIsVpnServersVpnServerSecurityGroupArrayOutput) +} + +// The subnets this VPN server is part of. +func (o GetIsVpnServersVpnServerOutput) Subnets() GetIsVpnServersVpnServerSubnetArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerSubnet { return v.Subnets }).(GetIsVpnServersVpnServerSubnetArrayOutput) +} + +// The VPC this VPN server resides in. +func (o GetIsVpnServersVpnServerOutput) Vpcs() GetIsVpnServersVpnServerVpcArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServer) []GetIsVpnServersVpnServerVpc { return v.Vpcs }).(GetIsVpnServersVpnServerVpcArrayOutput) +} + +type GetIsVpnServersVpnServerArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServer)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerArrayOutput) ToGetIsVpnServersVpnServerArrayOutput() GetIsVpnServersVpnServerArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerArrayOutput) ToGetIsVpnServersVpnServerArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServer { + return vs[0].([]GetIsVpnServersVpnServer)[vs[1].(int)] + }).(GetIsVpnServersVpnServerOutput) +} + +type GetIsVpnServersVpnServerCertificate struct { + // The CRN for this certificate instance. + Crn string `pulumi:"crn"` +} + +// GetIsVpnServersVpnServerCertificateInput is an input type that accepts GetIsVpnServersVpnServerCertificateArgs and GetIsVpnServersVpnServerCertificateOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerCertificateInput` via: +// +// GetIsVpnServersVpnServerCertificateArgs{...} +type GetIsVpnServersVpnServerCertificateInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerCertificateOutput() GetIsVpnServersVpnServerCertificateOutput + ToGetIsVpnServersVpnServerCertificateOutputWithContext(context.Context) GetIsVpnServersVpnServerCertificateOutput +} + +type GetIsVpnServersVpnServerCertificateArgs struct { + // The CRN for this certificate instance. + Crn pulumi.StringInput `pulumi:"crn"` +} + +func (GetIsVpnServersVpnServerCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerCertificate)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerCertificateArgs) ToGetIsVpnServersVpnServerCertificateOutput() GetIsVpnServersVpnServerCertificateOutput { + return i.ToGetIsVpnServersVpnServerCertificateOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerCertificateArgs) ToGetIsVpnServersVpnServerCertificateOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerCertificateOutput) +} + +// GetIsVpnServersVpnServerCertificateArrayInput is an input type that accepts GetIsVpnServersVpnServerCertificateArray and GetIsVpnServersVpnServerCertificateArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerCertificateArrayInput` via: +// +// GetIsVpnServersVpnServerCertificateArray{ GetIsVpnServersVpnServerCertificateArgs{...} } +type GetIsVpnServersVpnServerCertificateArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerCertificateArrayOutput() GetIsVpnServersVpnServerCertificateArrayOutput + ToGetIsVpnServersVpnServerCertificateArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerCertificateArrayOutput +} + +type GetIsVpnServersVpnServerCertificateArray []GetIsVpnServersVpnServerCertificateInput + +func (GetIsVpnServersVpnServerCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerCertificate)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerCertificateArray) ToGetIsVpnServersVpnServerCertificateArrayOutput() GetIsVpnServersVpnServerCertificateArrayOutput { + return i.ToGetIsVpnServersVpnServerCertificateArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerCertificateArray) ToGetIsVpnServersVpnServerCertificateArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerCertificateArrayOutput) +} + +type GetIsVpnServersVpnServerCertificateOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerCertificate)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerCertificateOutput) ToGetIsVpnServersVpnServerCertificateOutput() GetIsVpnServersVpnServerCertificateOutput { + return o +} + +func (o GetIsVpnServersVpnServerCertificateOutput) ToGetIsVpnServersVpnServerCertificateOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerCertificateOutput { + return o +} + +// The CRN for this certificate instance. +func (o GetIsVpnServersVpnServerCertificateOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerCertificate) string { return v.Crn }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerCertificateArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerCertificate)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerCertificateArrayOutput) ToGetIsVpnServersVpnServerCertificateArrayOutput() GetIsVpnServersVpnServerCertificateArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerCertificateArrayOutput) ToGetIsVpnServersVpnServerCertificateArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerCertificateArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerCertificateArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerCertificate { + return vs[0].([]GetIsVpnServersVpnServerCertificate)[vs[1].(int)] + }).(GetIsVpnServersVpnServerCertificateOutput) +} + +type GetIsVpnServersVpnServerClientAuthentication struct { + // The CRN for this certificate instance,The certificate instance used for the VPN client certificate authority (CA). + ClientCa string `pulumi:"clientCa"` + // The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered,The type of identity provider to be used by VPN client. + IdentityProvider string `pulumi:"identityProvider"` + // The type of authentication. + Method string `pulumi:"method"` +} + +// GetIsVpnServersVpnServerClientAuthenticationInput is an input type that accepts GetIsVpnServersVpnServerClientAuthenticationArgs and GetIsVpnServersVpnServerClientAuthenticationOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerClientAuthenticationInput` via: +// +// GetIsVpnServersVpnServerClientAuthenticationArgs{...} +type GetIsVpnServersVpnServerClientAuthenticationInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerClientAuthenticationOutput() GetIsVpnServersVpnServerClientAuthenticationOutput + ToGetIsVpnServersVpnServerClientAuthenticationOutputWithContext(context.Context) GetIsVpnServersVpnServerClientAuthenticationOutput +} + +type GetIsVpnServersVpnServerClientAuthenticationArgs struct { + // The CRN for this certificate instance,The certificate instance used for the VPN client certificate authority (CA). + ClientCa pulumi.StringInput `pulumi:"clientCa"` + // The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered,The type of identity provider to be used by VPN client. + IdentityProvider pulumi.StringInput `pulumi:"identityProvider"` + // The type of authentication. + Method pulumi.StringInput `pulumi:"method"` +} + +func (GetIsVpnServersVpnServerClientAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerClientAuthentication)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerClientAuthenticationArgs) ToGetIsVpnServersVpnServerClientAuthenticationOutput() GetIsVpnServersVpnServerClientAuthenticationOutput { + return i.ToGetIsVpnServersVpnServerClientAuthenticationOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerClientAuthenticationArgs) ToGetIsVpnServersVpnServerClientAuthenticationOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerClientAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerClientAuthenticationOutput) +} + +// GetIsVpnServersVpnServerClientAuthenticationArrayInput is an input type that accepts GetIsVpnServersVpnServerClientAuthenticationArray and GetIsVpnServersVpnServerClientAuthenticationArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerClientAuthenticationArrayInput` via: +// +// GetIsVpnServersVpnServerClientAuthenticationArray{ GetIsVpnServersVpnServerClientAuthenticationArgs{...} } +type GetIsVpnServersVpnServerClientAuthenticationArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerClientAuthenticationArrayOutput() GetIsVpnServersVpnServerClientAuthenticationArrayOutput + ToGetIsVpnServersVpnServerClientAuthenticationArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerClientAuthenticationArrayOutput +} + +type GetIsVpnServersVpnServerClientAuthenticationArray []GetIsVpnServersVpnServerClientAuthenticationInput + +func (GetIsVpnServersVpnServerClientAuthenticationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerClientAuthentication)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerClientAuthenticationArray) ToGetIsVpnServersVpnServerClientAuthenticationArrayOutput() GetIsVpnServersVpnServerClientAuthenticationArrayOutput { + return i.ToGetIsVpnServersVpnServerClientAuthenticationArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerClientAuthenticationArray) ToGetIsVpnServersVpnServerClientAuthenticationArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerClientAuthenticationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerClientAuthenticationArrayOutput) +} + +type GetIsVpnServersVpnServerClientAuthenticationOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerClientAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerClientAuthentication)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerClientAuthenticationOutput) ToGetIsVpnServersVpnServerClientAuthenticationOutput() GetIsVpnServersVpnServerClientAuthenticationOutput { + return o +} + +func (o GetIsVpnServersVpnServerClientAuthenticationOutput) ToGetIsVpnServersVpnServerClientAuthenticationOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerClientAuthenticationOutput { + return o +} + +// The CRN for this certificate instance,The certificate instance used for the VPN client certificate authority (CA). +func (o GetIsVpnServersVpnServerClientAuthenticationOutput) ClientCa() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerClientAuthentication) string { return v.ClientCa }).(pulumi.StringOutput) +} + +// The type of identity provider to be used by the VPN client.- `iam`: IBM identity and access managementThe enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the route on which the unexpected property value was encountered,The type of identity provider to be used by VPN client. +func (o GetIsVpnServersVpnServerClientAuthenticationOutput) IdentityProvider() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerClientAuthentication) string { return v.IdentityProvider }).(pulumi.StringOutput) +} + +// The type of authentication. +func (o GetIsVpnServersVpnServerClientAuthenticationOutput) Method() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerClientAuthentication) string { return v.Method }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerClientAuthenticationArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerClientAuthenticationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerClientAuthentication)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerClientAuthenticationArrayOutput) ToGetIsVpnServersVpnServerClientAuthenticationArrayOutput() GetIsVpnServersVpnServerClientAuthenticationArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerClientAuthenticationArrayOutput) ToGetIsVpnServersVpnServerClientAuthenticationArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerClientAuthenticationArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerClientAuthenticationArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerClientAuthenticationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerClientAuthentication { + return vs[0].([]GetIsVpnServersVpnServerClientAuthentication)[vs[1].(int)] + }).(GetIsVpnServersVpnServerClientAuthenticationOutput) +} + +type GetIsVpnServersVpnServerClientDnsServerIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` +} + +// GetIsVpnServersVpnServerClientDnsServerIpInput is an input type that accepts GetIsVpnServersVpnServerClientDnsServerIpArgs and GetIsVpnServersVpnServerClientDnsServerIpOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerClientDnsServerIpInput` via: +// +// GetIsVpnServersVpnServerClientDnsServerIpArgs{...} +type GetIsVpnServersVpnServerClientDnsServerIpInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerClientDnsServerIpOutput() GetIsVpnServersVpnServerClientDnsServerIpOutput + ToGetIsVpnServersVpnServerClientDnsServerIpOutputWithContext(context.Context) GetIsVpnServersVpnServerClientDnsServerIpOutput +} + +type GetIsVpnServersVpnServerClientDnsServerIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` +} + +func (GetIsVpnServersVpnServerClientDnsServerIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerClientDnsServerIp)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerClientDnsServerIpArgs) ToGetIsVpnServersVpnServerClientDnsServerIpOutput() GetIsVpnServersVpnServerClientDnsServerIpOutput { + return i.ToGetIsVpnServersVpnServerClientDnsServerIpOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerClientDnsServerIpArgs) ToGetIsVpnServersVpnServerClientDnsServerIpOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerClientDnsServerIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerClientDnsServerIpOutput) +} + +// GetIsVpnServersVpnServerClientDnsServerIpArrayInput is an input type that accepts GetIsVpnServersVpnServerClientDnsServerIpArray and GetIsVpnServersVpnServerClientDnsServerIpArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerClientDnsServerIpArrayInput` via: +// +// GetIsVpnServersVpnServerClientDnsServerIpArray{ GetIsVpnServersVpnServerClientDnsServerIpArgs{...} } +type GetIsVpnServersVpnServerClientDnsServerIpArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerClientDnsServerIpArrayOutput() GetIsVpnServersVpnServerClientDnsServerIpArrayOutput + ToGetIsVpnServersVpnServerClientDnsServerIpArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerClientDnsServerIpArrayOutput +} + +type GetIsVpnServersVpnServerClientDnsServerIpArray []GetIsVpnServersVpnServerClientDnsServerIpInput + +func (GetIsVpnServersVpnServerClientDnsServerIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerClientDnsServerIp)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerClientDnsServerIpArray) ToGetIsVpnServersVpnServerClientDnsServerIpArrayOutput() GetIsVpnServersVpnServerClientDnsServerIpArrayOutput { + return i.ToGetIsVpnServersVpnServerClientDnsServerIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerClientDnsServerIpArray) ToGetIsVpnServersVpnServerClientDnsServerIpArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerClientDnsServerIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerClientDnsServerIpArrayOutput) +} + +type GetIsVpnServersVpnServerClientDnsServerIpOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerClientDnsServerIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerClientDnsServerIp)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerClientDnsServerIpOutput) ToGetIsVpnServersVpnServerClientDnsServerIpOutput() GetIsVpnServersVpnServerClientDnsServerIpOutput { + return o +} + +func (o GetIsVpnServersVpnServerClientDnsServerIpOutput) ToGetIsVpnServersVpnServerClientDnsServerIpOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerClientDnsServerIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpnServersVpnServerClientDnsServerIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerClientDnsServerIp) string { return v.Address }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerClientDnsServerIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerClientDnsServerIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerClientDnsServerIp)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerClientDnsServerIpArrayOutput) ToGetIsVpnServersVpnServerClientDnsServerIpArrayOutput() GetIsVpnServersVpnServerClientDnsServerIpArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerClientDnsServerIpArrayOutput) ToGetIsVpnServersVpnServerClientDnsServerIpArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerClientDnsServerIpArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerClientDnsServerIpArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerClientDnsServerIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerClientDnsServerIp { + return vs[0].([]GetIsVpnServersVpnServerClientDnsServerIp)[vs[1].(int)] + }).(GetIsVpnServersVpnServerClientDnsServerIpOutput) +} + +type GetIsVpnServersVpnServerHealthReason struct { + // A snake case string succinctly identifying the reason for this health state. + Code string `pulumi:"code"` + // An explanation of the reason for this health state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServersVpnServerHealthReasonInput is an input type that accepts GetIsVpnServersVpnServerHealthReasonArgs and GetIsVpnServersVpnServerHealthReasonOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerHealthReasonInput` via: +// +// GetIsVpnServersVpnServerHealthReasonArgs{...} +type GetIsVpnServersVpnServerHealthReasonInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerHealthReasonOutput() GetIsVpnServersVpnServerHealthReasonOutput + ToGetIsVpnServersVpnServerHealthReasonOutputWithContext(context.Context) GetIsVpnServersVpnServerHealthReasonOutput +} + +type GetIsVpnServersVpnServerHealthReasonArgs struct { + // A snake case string succinctly identifying the reason for this health state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this health state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this health state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServersVpnServerHealthReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerHealthReason)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerHealthReasonArgs) ToGetIsVpnServersVpnServerHealthReasonOutput() GetIsVpnServersVpnServerHealthReasonOutput { + return i.ToGetIsVpnServersVpnServerHealthReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerHealthReasonArgs) ToGetIsVpnServersVpnServerHealthReasonOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerHealthReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerHealthReasonOutput) +} + +// GetIsVpnServersVpnServerHealthReasonArrayInput is an input type that accepts GetIsVpnServersVpnServerHealthReasonArray and GetIsVpnServersVpnServerHealthReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerHealthReasonArrayInput` via: +// +// GetIsVpnServersVpnServerHealthReasonArray{ GetIsVpnServersVpnServerHealthReasonArgs{...} } +type GetIsVpnServersVpnServerHealthReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerHealthReasonArrayOutput() GetIsVpnServersVpnServerHealthReasonArrayOutput + ToGetIsVpnServersVpnServerHealthReasonArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerHealthReasonArrayOutput +} + +type GetIsVpnServersVpnServerHealthReasonArray []GetIsVpnServersVpnServerHealthReasonInput + +func (GetIsVpnServersVpnServerHealthReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerHealthReason)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerHealthReasonArray) ToGetIsVpnServersVpnServerHealthReasonArrayOutput() GetIsVpnServersVpnServerHealthReasonArrayOutput { + return i.ToGetIsVpnServersVpnServerHealthReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerHealthReasonArray) ToGetIsVpnServersVpnServerHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerHealthReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerHealthReasonArrayOutput) +} + +type GetIsVpnServersVpnServerHealthReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerHealthReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerHealthReason)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerHealthReasonOutput) ToGetIsVpnServersVpnServerHealthReasonOutput() GetIsVpnServersVpnServerHealthReasonOutput { + return o +} + +func (o GetIsVpnServersVpnServerHealthReasonOutput) ToGetIsVpnServersVpnServerHealthReasonOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerHealthReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this health state. +func (o GetIsVpnServersVpnServerHealthReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerHealthReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this health state. +func (o GetIsVpnServersVpnServerHealthReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerHealthReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this health state. +func (o GetIsVpnServersVpnServerHealthReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerHealthReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerHealthReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerHealthReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerHealthReason)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerHealthReasonArrayOutput) ToGetIsVpnServersVpnServerHealthReasonArrayOutput() GetIsVpnServersVpnServerHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerHealthReasonArrayOutput) ToGetIsVpnServersVpnServerHealthReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerHealthReasonArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerHealthReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerHealthReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerHealthReason { + return vs[0].([]GetIsVpnServersVpnServerHealthReason)[vs[1].(int)] + }).(GetIsVpnServersVpnServerHealthReasonOutput) +} + +type GetIsVpnServersVpnServerLifecycleReason struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code string `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message string `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServersVpnServerLifecycleReasonInput is an input type that accepts GetIsVpnServersVpnServerLifecycleReasonArgs and GetIsVpnServersVpnServerLifecycleReasonOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerLifecycleReasonInput` via: +// +// GetIsVpnServersVpnServerLifecycleReasonArgs{...} +type GetIsVpnServersVpnServerLifecycleReasonInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerLifecycleReasonOutput() GetIsVpnServersVpnServerLifecycleReasonOutput + ToGetIsVpnServersVpnServerLifecycleReasonOutputWithContext(context.Context) GetIsVpnServersVpnServerLifecycleReasonOutput +} + +type GetIsVpnServersVpnServerLifecycleReasonArgs struct { + // A snake case string succinctly identifying the reason for this lifecycle state. + Code pulumi.StringInput `pulumi:"code"` + // An explanation of the reason for this lifecycle state. + Message pulumi.StringInput `pulumi:"message"` + // Link to documentation about the reason for this lifecycle state. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServersVpnServerLifecycleReasonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerLifecycleReasonArgs) ToGetIsVpnServersVpnServerLifecycleReasonOutput() GetIsVpnServersVpnServerLifecycleReasonOutput { + return i.ToGetIsVpnServersVpnServerLifecycleReasonOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerLifecycleReasonArgs) ToGetIsVpnServersVpnServerLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerLifecycleReasonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerLifecycleReasonOutput) +} + +// GetIsVpnServersVpnServerLifecycleReasonArrayInput is an input type that accepts GetIsVpnServersVpnServerLifecycleReasonArray and GetIsVpnServersVpnServerLifecycleReasonArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerLifecycleReasonArrayInput` via: +// +// GetIsVpnServersVpnServerLifecycleReasonArray{ GetIsVpnServersVpnServerLifecycleReasonArgs{...} } +type GetIsVpnServersVpnServerLifecycleReasonArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerLifecycleReasonArrayOutput() GetIsVpnServersVpnServerLifecycleReasonArrayOutput + ToGetIsVpnServersVpnServerLifecycleReasonArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerLifecycleReasonArrayOutput +} + +type GetIsVpnServersVpnServerLifecycleReasonArray []GetIsVpnServersVpnServerLifecycleReasonInput + +func (GetIsVpnServersVpnServerLifecycleReasonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerLifecycleReason)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerLifecycleReasonArray) ToGetIsVpnServersVpnServerLifecycleReasonArrayOutput() GetIsVpnServersVpnServerLifecycleReasonArrayOutput { + return i.ToGetIsVpnServersVpnServerLifecycleReasonArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerLifecycleReasonArray) ToGetIsVpnServersVpnServerLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerLifecycleReasonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerLifecycleReasonArrayOutput) +} + +type GetIsVpnServersVpnServerLifecycleReasonOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerLifecycleReasonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerLifecycleReasonOutput) ToGetIsVpnServersVpnServerLifecycleReasonOutput() GetIsVpnServersVpnServerLifecycleReasonOutput { + return o +} + +func (o GetIsVpnServersVpnServerLifecycleReasonOutput) ToGetIsVpnServersVpnServerLifecycleReasonOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerLifecycleReasonOutput { + return o +} + +// A snake case string succinctly identifying the reason for this lifecycle state. +func (o GetIsVpnServersVpnServerLifecycleReasonOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerLifecycleReason) string { return v.Code }).(pulumi.StringOutput) +} + +// An explanation of the reason for this lifecycle state. +func (o GetIsVpnServersVpnServerLifecycleReasonOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerLifecycleReason) string { return v.Message }).(pulumi.StringOutput) +} + +// Link to documentation about the reason for this lifecycle state. +func (o GetIsVpnServersVpnServerLifecycleReasonOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerLifecycleReason) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerLifecycleReasonArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerLifecycleReasonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerLifecycleReason)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerLifecycleReasonArrayOutput) ToGetIsVpnServersVpnServerLifecycleReasonArrayOutput() GetIsVpnServersVpnServerLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerLifecycleReasonArrayOutput) ToGetIsVpnServersVpnServerLifecycleReasonArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerLifecycleReasonArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerLifecycleReasonArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerLifecycleReasonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerLifecycleReason { + return vs[0].([]GetIsVpnServersVpnServerLifecycleReason)[vs[1].(int)] + }).(GetIsVpnServersVpnServerLifecycleReasonOutput) +} + +type GetIsVpnServersVpnServerPrivateIp struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address string `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnServersVpnServerPrivateIpDeleted `pulumi:"deleteds"` + // The URL for this reserved IP. + Href string `pulumi:"href"` + // The unique identifier for this reserved IP. + Id string `pulumi:"id"` + // The user-defined or system-provided name for this reserved IP. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpnServersVpnServerPrivateIpInput is an input type that accepts GetIsVpnServersVpnServerPrivateIpArgs and GetIsVpnServersVpnServerPrivateIpOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerPrivateIpInput` via: +// +// GetIsVpnServersVpnServerPrivateIpArgs{...} +type GetIsVpnServersVpnServerPrivateIpInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerPrivateIpOutput() GetIsVpnServersVpnServerPrivateIpOutput + ToGetIsVpnServersVpnServerPrivateIpOutputWithContext(context.Context) GetIsVpnServersVpnServerPrivateIpOutput +} + +type GetIsVpnServersVpnServerPrivateIpArgs struct { + // The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. + Address pulumi.StringInput `pulumi:"address"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnServersVpnServerPrivateIpDeletedArrayInput `pulumi:"deleteds"` + // The URL for this reserved IP. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this reserved IP. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined or system-provided name for this reserved IP. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpnServersVpnServerPrivateIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerPrivateIp)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerPrivateIpArgs) ToGetIsVpnServersVpnServerPrivateIpOutput() GetIsVpnServersVpnServerPrivateIpOutput { + return i.ToGetIsVpnServersVpnServerPrivateIpOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerPrivateIpArgs) ToGetIsVpnServersVpnServerPrivateIpOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerPrivateIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerPrivateIpOutput) +} + +// GetIsVpnServersVpnServerPrivateIpArrayInput is an input type that accepts GetIsVpnServersVpnServerPrivateIpArray and GetIsVpnServersVpnServerPrivateIpArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerPrivateIpArrayInput` via: +// +// GetIsVpnServersVpnServerPrivateIpArray{ GetIsVpnServersVpnServerPrivateIpArgs{...} } +type GetIsVpnServersVpnServerPrivateIpArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerPrivateIpArrayOutput() GetIsVpnServersVpnServerPrivateIpArrayOutput + ToGetIsVpnServersVpnServerPrivateIpArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerPrivateIpArrayOutput +} + +type GetIsVpnServersVpnServerPrivateIpArray []GetIsVpnServersVpnServerPrivateIpInput + +func (GetIsVpnServersVpnServerPrivateIpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerPrivateIp)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerPrivateIpArray) ToGetIsVpnServersVpnServerPrivateIpArrayOutput() GetIsVpnServersVpnServerPrivateIpArrayOutput { + return i.ToGetIsVpnServersVpnServerPrivateIpArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerPrivateIpArray) ToGetIsVpnServersVpnServerPrivateIpArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerPrivateIpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerPrivateIpArrayOutput) +} + +type GetIsVpnServersVpnServerPrivateIpOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerPrivateIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerPrivateIp)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerPrivateIpOutput) ToGetIsVpnServersVpnServerPrivateIpOutput() GetIsVpnServersVpnServerPrivateIpOutput { + return o +} + +func (o GetIsVpnServersVpnServerPrivateIpOutput) ToGetIsVpnServersVpnServerPrivateIpOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerPrivateIpOutput { + return o +} + +// The IP address. This property may add support for IPv6 addresses in the future. When processing a value in this property, verify that the address is in an expected format. If it is not, log an error. Optionally halt processing and surface the error, or bypass the resource on which the unexpected IP address format was encountered. +func (o GetIsVpnServersVpnServerPrivateIpOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerPrivateIp) string { return v.Address }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnServersVpnServerPrivateIpOutput) Deleteds() GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerPrivateIp) []GetIsVpnServersVpnServerPrivateIpDeleted { + return v.Deleteds + }).(GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput) +} + +// The URL for this reserved IP. +func (o GetIsVpnServersVpnServerPrivateIpOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerPrivateIp) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this reserved IP. +func (o GetIsVpnServersVpnServerPrivateIpOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerPrivateIp) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined or system-provided name for this reserved IP. +func (o GetIsVpnServersVpnServerPrivateIpOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerPrivateIp) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnServersVpnServerPrivateIpOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerPrivateIp) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerPrivateIpArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerPrivateIpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerPrivateIp)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerPrivateIpArrayOutput) ToGetIsVpnServersVpnServerPrivateIpArrayOutput() GetIsVpnServersVpnServerPrivateIpArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerPrivateIpArrayOutput) ToGetIsVpnServersVpnServerPrivateIpArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerPrivateIpArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerPrivateIpArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerPrivateIpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerPrivateIp { + return vs[0].([]GetIsVpnServersVpnServerPrivateIp)[vs[1].(int)] + }).(GetIsVpnServersVpnServerPrivateIpOutput) +} + +type GetIsVpnServersVpnServerPrivateIpDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServersVpnServerPrivateIpDeletedInput is an input type that accepts GetIsVpnServersVpnServerPrivateIpDeletedArgs and GetIsVpnServersVpnServerPrivateIpDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerPrivateIpDeletedInput` via: +// +// GetIsVpnServersVpnServerPrivateIpDeletedArgs{...} +type GetIsVpnServersVpnServerPrivateIpDeletedInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerPrivateIpDeletedOutput() GetIsVpnServersVpnServerPrivateIpDeletedOutput + ToGetIsVpnServersVpnServerPrivateIpDeletedOutputWithContext(context.Context) GetIsVpnServersVpnServerPrivateIpDeletedOutput +} + +type GetIsVpnServersVpnServerPrivateIpDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServersVpnServerPrivateIpDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerPrivateIpDeletedArgs) ToGetIsVpnServersVpnServerPrivateIpDeletedOutput() GetIsVpnServersVpnServerPrivateIpDeletedOutput { + return i.ToGetIsVpnServersVpnServerPrivateIpDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerPrivateIpDeletedArgs) ToGetIsVpnServersVpnServerPrivateIpDeletedOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerPrivateIpDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerPrivateIpDeletedOutput) +} + +// GetIsVpnServersVpnServerPrivateIpDeletedArrayInput is an input type that accepts GetIsVpnServersVpnServerPrivateIpDeletedArray and GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerPrivateIpDeletedArrayInput` via: +// +// GetIsVpnServersVpnServerPrivateIpDeletedArray{ GetIsVpnServersVpnServerPrivateIpDeletedArgs{...} } +type GetIsVpnServersVpnServerPrivateIpDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerPrivateIpDeletedArrayOutput() GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput + ToGetIsVpnServersVpnServerPrivateIpDeletedArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput +} + +type GetIsVpnServersVpnServerPrivateIpDeletedArray []GetIsVpnServersVpnServerPrivateIpDeletedInput + +func (GetIsVpnServersVpnServerPrivateIpDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerPrivateIpDeletedArray) ToGetIsVpnServersVpnServerPrivateIpDeletedArrayOutput() GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput { + return i.ToGetIsVpnServersVpnServerPrivateIpDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerPrivateIpDeletedArray) ToGetIsVpnServersVpnServerPrivateIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput) +} + +type GetIsVpnServersVpnServerPrivateIpDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerPrivateIpDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerPrivateIpDeletedOutput) ToGetIsVpnServersVpnServerPrivateIpDeletedOutput() GetIsVpnServersVpnServerPrivateIpDeletedOutput { + return o +} + +func (o GetIsVpnServersVpnServerPrivateIpDeletedOutput) ToGetIsVpnServersVpnServerPrivateIpDeletedOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerPrivateIpDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnServersVpnServerPrivateIpDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerPrivateIpDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerPrivateIpDeleted)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput) ToGetIsVpnServersVpnServerPrivateIpDeletedArrayOutput() GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput) ToGetIsVpnServersVpnServerPrivateIpDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerPrivateIpDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerPrivateIpDeleted { + return vs[0].([]GetIsVpnServersVpnServerPrivateIpDeleted)[vs[1].(int)] + }).(GetIsVpnServersVpnServerPrivateIpDeletedOutput) +} + +type GetIsVpnServersVpnServerResourceGroup struct { + // The URL for this resource group. + Href string `pulumi:"href"` + // The unique identifier for this resource group. + Id string `pulumi:"id"` + // The user-defined name for this resource group. + Name string `pulumi:"name"` +} + +// GetIsVpnServersVpnServerResourceGroupInput is an input type that accepts GetIsVpnServersVpnServerResourceGroupArgs and GetIsVpnServersVpnServerResourceGroupOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerResourceGroupInput` via: +// +// GetIsVpnServersVpnServerResourceGroupArgs{...} +type GetIsVpnServersVpnServerResourceGroupInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerResourceGroupOutput() GetIsVpnServersVpnServerResourceGroupOutput + ToGetIsVpnServersVpnServerResourceGroupOutputWithContext(context.Context) GetIsVpnServersVpnServerResourceGroupOutput +} + +type GetIsVpnServersVpnServerResourceGroupArgs struct { + // The URL for this resource group. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this resource group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this resource group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnServersVpnServerResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerResourceGroup)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerResourceGroupArgs) ToGetIsVpnServersVpnServerResourceGroupOutput() GetIsVpnServersVpnServerResourceGroupOutput { + return i.ToGetIsVpnServersVpnServerResourceGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerResourceGroupArgs) ToGetIsVpnServersVpnServerResourceGroupOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerResourceGroupOutput) +} + +// GetIsVpnServersVpnServerResourceGroupArrayInput is an input type that accepts GetIsVpnServersVpnServerResourceGroupArray and GetIsVpnServersVpnServerResourceGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerResourceGroupArrayInput` via: +// +// GetIsVpnServersVpnServerResourceGroupArray{ GetIsVpnServersVpnServerResourceGroupArgs{...} } +type GetIsVpnServersVpnServerResourceGroupArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerResourceGroupArrayOutput() GetIsVpnServersVpnServerResourceGroupArrayOutput + ToGetIsVpnServersVpnServerResourceGroupArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerResourceGroupArrayOutput +} + +type GetIsVpnServersVpnServerResourceGroupArray []GetIsVpnServersVpnServerResourceGroupInput + +func (GetIsVpnServersVpnServerResourceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerResourceGroup)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerResourceGroupArray) ToGetIsVpnServersVpnServerResourceGroupArrayOutput() GetIsVpnServersVpnServerResourceGroupArrayOutput { + return i.ToGetIsVpnServersVpnServerResourceGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerResourceGroupArray) ToGetIsVpnServersVpnServerResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerResourceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerResourceGroupArrayOutput) +} + +type GetIsVpnServersVpnServerResourceGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerResourceGroup)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerResourceGroupOutput) ToGetIsVpnServersVpnServerResourceGroupOutput() GetIsVpnServersVpnServerResourceGroupOutput { + return o +} + +func (o GetIsVpnServersVpnServerResourceGroupOutput) ToGetIsVpnServersVpnServerResourceGroupOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerResourceGroupOutput { + return o +} + +// The URL for this resource group. +func (o GetIsVpnServersVpnServerResourceGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerResourceGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this resource group. +func (o GetIsVpnServersVpnServerResourceGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerResourceGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this resource group. +func (o GetIsVpnServersVpnServerResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerResourceGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerResourceGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerResourceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerResourceGroup)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerResourceGroupArrayOutput) ToGetIsVpnServersVpnServerResourceGroupArrayOutput() GetIsVpnServersVpnServerResourceGroupArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerResourceGroupArrayOutput) ToGetIsVpnServersVpnServerResourceGroupArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerResourceGroupArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerResourceGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerResourceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerResourceGroup { + return vs[0].([]GetIsVpnServersVpnServerResourceGroup)[vs[1].(int)] + }).(GetIsVpnServersVpnServerResourceGroupOutput) +} + +type GetIsVpnServersVpnServerSecurityGroup struct { + // The security group's CRN. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnServersVpnServerSecurityGroupDeleted `pulumi:"deleteds"` + // The security group's canonical URL. + Href string `pulumi:"href"` + // The unique identifier for this security group. + Id string `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name string `pulumi:"name"` +} + +// GetIsVpnServersVpnServerSecurityGroupInput is an input type that accepts GetIsVpnServersVpnServerSecurityGroupArgs and GetIsVpnServersVpnServerSecurityGroupOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerSecurityGroupInput` via: +// +// GetIsVpnServersVpnServerSecurityGroupArgs{...} +type GetIsVpnServersVpnServerSecurityGroupInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerSecurityGroupOutput() GetIsVpnServersVpnServerSecurityGroupOutput + ToGetIsVpnServersVpnServerSecurityGroupOutputWithContext(context.Context) GetIsVpnServersVpnServerSecurityGroupOutput +} + +type GetIsVpnServersVpnServerSecurityGroupArgs struct { + // The security group's CRN. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnServersVpnServerSecurityGroupDeletedArrayInput `pulumi:"deleteds"` + // The security group's canonical URL. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this security group. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this security group. Names must be unique within the VPC the security group resides in. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnServersVpnServerSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerSecurityGroup)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerSecurityGroupArgs) ToGetIsVpnServersVpnServerSecurityGroupOutput() GetIsVpnServersVpnServerSecurityGroupOutput { + return i.ToGetIsVpnServersVpnServerSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerSecurityGroupArgs) ToGetIsVpnServersVpnServerSecurityGroupOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerSecurityGroupOutput) +} + +// GetIsVpnServersVpnServerSecurityGroupArrayInput is an input type that accepts GetIsVpnServersVpnServerSecurityGroupArray and GetIsVpnServersVpnServerSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerSecurityGroupArrayInput` via: +// +// GetIsVpnServersVpnServerSecurityGroupArray{ GetIsVpnServersVpnServerSecurityGroupArgs{...} } +type GetIsVpnServersVpnServerSecurityGroupArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerSecurityGroupArrayOutput() GetIsVpnServersVpnServerSecurityGroupArrayOutput + ToGetIsVpnServersVpnServerSecurityGroupArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerSecurityGroupArrayOutput +} + +type GetIsVpnServersVpnServerSecurityGroupArray []GetIsVpnServersVpnServerSecurityGroupInput + +func (GetIsVpnServersVpnServerSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerSecurityGroup)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerSecurityGroupArray) ToGetIsVpnServersVpnServerSecurityGroupArrayOutput() GetIsVpnServersVpnServerSecurityGroupArrayOutput { + return i.ToGetIsVpnServersVpnServerSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerSecurityGroupArray) ToGetIsVpnServersVpnServerSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerSecurityGroupArrayOutput) +} + +type GetIsVpnServersVpnServerSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerSecurityGroup)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerSecurityGroupOutput) ToGetIsVpnServersVpnServerSecurityGroupOutput() GetIsVpnServersVpnServerSecurityGroupOutput { + return o +} + +func (o GetIsVpnServersVpnServerSecurityGroupOutput) ToGetIsVpnServersVpnServerSecurityGroupOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSecurityGroupOutput { + return o +} + +// The security group's CRN. +func (o GetIsVpnServersVpnServerSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSecurityGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnServersVpnServerSecurityGroupOutput) Deleteds() GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSecurityGroup) []GetIsVpnServersVpnServerSecurityGroupDeleted { + return v.Deleteds + }).(GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput) +} + +// The security group's canonical URL. +func (o GetIsVpnServersVpnServerSecurityGroupOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSecurityGroup) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this security group. +func (o GetIsVpnServersVpnServerSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this security group. Names must be unique within the VPC the security group resides in. +func (o GetIsVpnServersVpnServerSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerSecurityGroup)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerSecurityGroupArrayOutput) ToGetIsVpnServersVpnServerSecurityGroupArrayOutput() GetIsVpnServersVpnServerSecurityGroupArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerSecurityGroupArrayOutput) ToGetIsVpnServersVpnServerSecurityGroupArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSecurityGroupArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerSecurityGroup { + return vs[0].([]GetIsVpnServersVpnServerSecurityGroup)[vs[1].(int)] + }).(GetIsVpnServersVpnServerSecurityGroupOutput) +} + +type GetIsVpnServersVpnServerSecurityGroupDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServersVpnServerSecurityGroupDeletedInput is an input type that accepts GetIsVpnServersVpnServerSecurityGroupDeletedArgs and GetIsVpnServersVpnServerSecurityGroupDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerSecurityGroupDeletedInput` via: +// +// GetIsVpnServersVpnServerSecurityGroupDeletedArgs{...} +type GetIsVpnServersVpnServerSecurityGroupDeletedInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerSecurityGroupDeletedOutput() GetIsVpnServersVpnServerSecurityGroupDeletedOutput + ToGetIsVpnServersVpnServerSecurityGroupDeletedOutputWithContext(context.Context) GetIsVpnServersVpnServerSecurityGroupDeletedOutput +} + +type GetIsVpnServersVpnServerSecurityGroupDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServersVpnServerSecurityGroupDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerSecurityGroupDeletedArgs) ToGetIsVpnServersVpnServerSecurityGroupDeletedOutput() GetIsVpnServersVpnServerSecurityGroupDeletedOutput { + return i.ToGetIsVpnServersVpnServerSecurityGroupDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerSecurityGroupDeletedArgs) ToGetIsVpnServersVpnServerSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSecurityGroupDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerSecurityGroupDeletedOutput) +} + +// GetIsVpnServersVpnServerSecurityGroupDeletedArrayInput is an input type that accepts GetIsVpnServersVpnServerSecurityGroupDeletedArray and GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerSecurityGroupDeletedArrayInput` via: +// +// GetIsVpnServersVpnServerSecurityGroupDeletedArray{ GetIsVpnServersVpnServerSecurityGroupDeletedArgs{...} } +type GetIsVpnServersVpnServerSecurityGroupDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput() GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput + ToGetIsVpnServersVpnServerSecurityGroupDeletedArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput +} + +type GetIsVpnServersVpnServerSecurityGroupDeletedArray []GetIsVpnServersVpnServerSecurityGroupDeletedInput + +func (GetIsVpnServersVpnServerSecurityGroupDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerSecurityGroupDeleted)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerSecurityGroupDeletedArray) ToGetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput() GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput { + return i.ToGetIsVpnServersVpnServerSecurityGroupDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerSecurityGroupDeletedArray) ToGetIsVpnServersVpnServerSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput) +} + +type GetIsVpnServersVpnServerSecurityGroupDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerSecurityGroupDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerSecurityGroupDeletedOutput) ToGetIsVpnServersVpnServerSecurityGroupDeletedOutput() GetIsVpnServersVpnServerSecurityGroupDeletedOutput { + return o +} + +func (o GetIsVpnServersVpnServerSecurityGroupDeletedOutput) ToGetIsVpnServersVpnServerSecurityGroupDeletedOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSecurityGroupDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnServersVpnServerSecurityGroupDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSecurityGroupDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerSecurityGroupDeleted)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput) ToGetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput() GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput) ToGetIsVpnServersVpnServerSecurityGroupDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerSecurityGroupDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerSecurityGroupDeleted { + return vs[0].([]GetIsVpnServersVpnServerSecurityGroupDeleted)[vs[1].(int)] + }).(GetIsVpnServersVpnServerSecurityGroupDeletedOutput) +} + +type GetIsVpnServersVpnServerSubnet struct { + // The CRN for this subnet. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnServersVpnServerSubnetDeleted `pulumi:"deleteds"` + // The URL for this subnet. + Href string `pulumi:"href"` + // The unique identifier for this subnet. + Id string `pulumi:"id"` + // The user-defined name for this subnet. + Name string `pulumi:"name"` + // The resource type. + ResourceType string `pulumi:"resourceType"` +} + +// GetIsVpnServersVpnServerSubnetInput is an input type that accepts GetIsVpnServersVpnServerSubnetArgs and GetIsVpnServersVpnServerSubnetOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerSubnetInput` via: +// +// GetIsVpnServersVpnServerSubnetArgs{...} +type GetIsVpnServersVpnServerSubnetInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerSubnetOutput() GetIsVpnServersVpnServerSubnetOutput + ToGetIsVpnServersVpnServerSubnetOutputWithContext(context.Context) GetIsVpnServersVpnServerSubnetOutput +} + +type GetIsVpnServersVpnServerSubnetArgs struct { + // The CRN for this subnet. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnServersVpnServerSubnetDeletedArrayInput `pulumi:"deleteds"` + // The URL for this subnet. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this subnet. + Id pulumi.StringInput `pulumi:"id"` + // The user-defined name for this subnet. + Name pulumi.StringInput `pulumi:"name"` + // The resource type. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetIsVpnServersVpnServerSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerSubnet)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerSubnetArgs) ToGetIsVpnServersVpnServerSubnetOutput() GetIsVpnServersVpnServerSubnetOutput { + return i.ToGetIsVpnServersVpnServerSubnetOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerSubnetArgs) ToGetIsVpnServersVpnServerSubnetOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerSubnetOutput) +} + +// GetIsVpnServersVpnServerSubnetArrayInput is an input type that accepts GetIsVpnServersVpnServerSubnetArray and GetIsVpnServersVpnServerSubnetArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerSubnetArrayInput` via: +// +// GetIsVpnServersVpnServerSubnetArray{ GetIsVpnServersVpnServerSubnetArgs{...} } +type GetIsVpnServersVpnServerSubnetArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerSubnetArrayOutput() GetIsVpnServersVpnServerSubnetArrayOutput + ToGetIsVpnServersVpnServerSubnetArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerSubnetArrayOutput +} + +type GetIsVpnServersVpnServerSubnetArray []GetIsVpnServersVpnServerSubnetInput + +func (GetIsVpnServersVpnServerSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerSubnet)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerSubnetArray) ToGetIsVpnServersVpnServerSubnetArrayOutput() GetIsVpnServersVpnServerSubnetArrayOutput { + return i.ToGetIsVpnServersVpnServerSubnetArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerSubnetArray) ToGetIsVpnServersVpnServerSubnetArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerSubnetArrayOutput) +} + +type GetIsVpnServersVpnServerSubnetOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerSubnet)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerSubnetOutput) ToGetIsVpnServersVpnServerSubnetOutput() GetIsVpnServersVpnServerSubnetOutput { + return o +} + +func (o GetIsVpnServersVpnServerSubnetOutput) ToGetIsVpnServersVpnServerSubnetOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSubnetOutput { + return o +} + +// The CRN for this subnet. +func (o GetIsVpnServersVpnServerSubnetOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSubnet) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnServersVpnServerSubnetOutput) Deleteds() GetIsVpnServersVpnServerSubnetDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSubnet) []GetIsVpnServersVpnServerSubnetDeleted { return v.Deleteds }).(GetIsVpnServersVpnServerSubnetDeletedArrayOutput) +} + +// The URL for this subnet. +func (o GetIsVpnServersVpnServerSubnetOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSubnet) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this subnet. +func (o GetIsVpnServersVpnServerSubnetOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSubnet) string { return v.Id }).(pulumi.StringOutput) +} + +// The user-defined name for this subnet. +func (o GetIsVpnServersVpnServerSubnetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSubnet) string { return v.Name }).(pulumi.StringOutput) +} + +// The resource type. +func (o GetIsVpnServersVpnServerSubnetOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSubnet) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerSubnetArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerSubnet)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerSubnetArrayOutput) ToGetIsVpnServersVpnServerSubnetArrayOutput() GetIsVpnServersVpnServerSubnetArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerSubnetArrayOutput) ToGetIsVpnServersVpnServerSubnetArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSubnetArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerSubnetArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerSubnet { + return vs[0].([]GetIsVpnServersVpnServerSubnet)[vs[1].(int)] + }).(GetIsVpnServersVpnServerSubnetOutput) +} + +type GetIsVpnServersVpnServerSubnetDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServersVpnServerSubnetDeletedInput is an input type that accepts GetIsVpnServersVpnServerSubnetDeletedArgs and GetIsVpnServersVpnServerSubnetDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerSubnetDeletedInput` via: +// +// GetIsVpnServersVpnServerSubnetDeletedArgs{...} +type GetIsVpnServersVpnServerSubnetDeletedInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerSubnetDeletedOutput() GetIsVpnServersVpnServerSubnetDeletedOutput + ToGetIsVpnServersVpnServerSubnetDeletedOutputWithContext(context.Context) GetIsVpnServersVpnServerSubnetDeletedOutput +} + +type GetIsVpnServersVpnServerSubnetDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServersVpnServerSubnetDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerSubnetDeletedArgs) ToGetIsVpnServersVpnServerSubnetDeletedOutput() GetIsVpnServersVpnServerSubnetDeletedOutput { + return i.ToGetIsVpnServersVpnServerSubnetDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerSubnetDeletedArgs) ToGetIsVpnServersVpnServerSubnetDeletedOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSubnetDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerSubnetDeletedOutput) +} + +// GetIsVpnServersVpnServerSubnetDeletedArrayInput is an input type that accepts GetIsVpnServersVpnServerSubnetDeletedArray and GetIsVpnServersVpnServerSubnetDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerSubnetDeletedArrayInput` via: +// +// GetIsVpnServersVpnServerSubnetDeletedArray{ GetIsVpnServersVpnServerSubnetDeletedArgs{...} } +type GetIsVpnServersVpnServerSubnetDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerSubnetDeletedArrayOutput() GetIsVpnServersVpnServerSubnetDeletedArrayOutput + ToGetIsVpnServersVpnServerSubnetDeletedArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerSubnetDeletedArrayOutput +} + +type GetIsVpnServersVpnServerSubnetDeletedArray []GetIsVpnServersVpnServerSubnetDeletedInput + +func (GetIsVpnServersVpnServerSubnetDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerSubnetDeleted)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerSubnetDeletedArray) ToGetIsVpnServersVpnServerSubnetDeletedArrayOutput() GetIsVpnServersVpnServerSubnetDeletedArrayOutput { + return i.ToGetIsVpnServersVpnServerSubnetDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerSubnetDeletedArray) ToGetIsVpnServersVpnServerSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSubnetDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerSubnetDeletedArrayOutput) +} + +type GetIsVpnServersVpnServerSubnetDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerSubnetDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerSubnetDeletedOutput) ToGetIsVpnServersVpnServerSubnetDeletedOutput() GetIsVpnServersVpnServerSubnetDeletedOutput { + return o +} + +func (o GetIsVpnServersVpnServerSubnetDeletedOutput) ToGetIsVpnServersVpnServerSubnetDeletedOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSubnetDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnServersVpnServerSubnetDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerSubnetDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerSubnetDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerSubnetDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerSubnetDeleted)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerSubnetDeletedArrayOutput) ToGetIsVpnServersVpnServerSubnetDeletedArrayOutput() GetIsVpnServersVpnServerSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerSubnetDeletedArrayOutput) ToGetIsVpnServersVpnServerSubnetDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerSubnetDeletedArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerSubnetDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerSubnetDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerSubnetDeleted { + return vs[0].([]GetIsVpnServersVpnServerSubnetDeleted)[vs[1].(int)] + }).(GetIsVpnServersVpnServerSubnetDeletedOutput) +} + +type GetIsVpnServersVpnServerVpc struct { + // The CRN for this VPC. + Crn string `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds []GetIsVpnServersVpnServerVpcDeleted `pulumi:"deleteds"` + // The URL for this VPC. + Href string `pulumi:"href"` + // The unique identifier for this VPC. + Id string `pulumi:"id"` + // The unique user-defined name for this VPC. + Name string `pulumi:"name"` +} + +// GetIsVpnServersVpnServerVpcInput is an input type that accepts GetIsVpnServersVpnServerVpcArgs and GetIsVpnServersVpnServerVpcOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerVpcInput` via: +// +// GetIsVpnServersVpnServerVpcArgs{...} +type GetIsVpnServersVpnServerVpcInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerVpcOutput() GetIsVpnServersVpnServerVpcOutput + ToGetIsVpnServersVpnServerVpcOutputWithContext(context.Context) GetIsVpnServersVpnServerVpcOutput +} + +type GetIsVpnServersVpnServerVpcArgs struct { + // The CRN for this VPC. + Crn pulumi.StringInput `pulumi:"crn"` + // If present, this property indicates the referenced resource has been deleted and providessome supplementary information. + Deleteds GetIsVpnServersVpnServerVpcDeletedArrayInput `pulumi:"deleteds"` + // The URL for this VPC. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier for this VPC. + Id pulumi.StringInput `pulumi:"id"` + // The unique user-defined name for this VPC. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetIsVpnServersVpnServerVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerVpc)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerVpcArgs) ToGetIsVpnServersVpnServerVpcOutput() GetIsVpnServersVpnServerVpcOutput { + return i.ToGetIsVpnServersVpnServerVpcOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerVpcArgs) ToGetIsVpnServersVpnServerVpcOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerVpcOutput) +} + +// GetIsVpnServersVpnServerVpcArrayInput is an input type that accepts GetIsVpnServersVpnServerVpcArray and GetIsVpnServersVpnServerVpcArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerVpcArrayInput` via: +// +// GetIsVpnServersVpnServerVpcArray{ GetIsVpnServersVpnServerVpcArgs{...} } +type GetIsVpnServersVpnServerVpcArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerVpcArrayOutput() GetIsVpnServersVpnServerVpcArrayOutput + ToGetIsVpnServersVpnServerVpcArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerVpcArrayOutput +} + +type GetIsVpnServersVpnServerVpcArray []GetIsVpnServersVpnServerVpcInput + +func (GetIsVpnServersVpnServerVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerVpc)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerVpcArray) ToGetIsVpnServersVpnServerVpcArrayOutput() GetIsVpnServersVpnServerVpcArrayOutput { + return i.ToGetIsVpnServersVpnServerVpcArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerVpcArray) ToGetIsVpnServersVpnServerVpcArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerVpcArrayOutput) +} + +type GetIsVpnServersVpnServerVpcOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerVpc)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerVpcOutput) ToGetIsVpnServersVpnServerVpcOutput() GetIsVpnServersVpnServerVpcOutput { + return o +} + +func (o GetIsVpnServersVpnServerVpcOutput) ToGetIsVpnServersVpnServerVpcOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerVpcOutput { + return o +} + +// The CRN for this VPC. +func (o GetIsVpnServersVpnServerVpcOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerVpc) string { return v.Crn }).(pulumi.StringOutput) +} + +// If present, this property indicates the referenced resource has been deleted and providessome supplementary information. +func (o GetIsVpnServersVpnServerVpcOutput) Deleteds() GetIsVpnServersVpnServerVpcDeletedArrayOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerVpc) []GetIsVpnServersVpnServerVpcDeleted { return v.Deleteds }).(GetIsVpnServersVpnServerVpcDeletedArrayOutput) +} + +// The URL for this VPC. +func (o GetIsVpnServersVpnServerVpcOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerVpc) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier for this VPC. +func (o GetIsVpnServersVpnServerVpcOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerVpc) string { return v.Id }).(pulumi.StringOutput) +} + +// The unique user-defined name for this VPC. +func (o GetIsVpnServersVpnServerVpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerVpc) string { return v.Name }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerVpcArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerVpc)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerVpcArrayOutput) ToGetIsVpnServersVpnServerVpcArrayOutput() GetIsVpnServersVpnServerVpcArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerVpcArrayOutput) ToGetIsVpnServersVpnServerVpcArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerVpcArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerVpcArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerVpc { + return vs[0].([]GetIsVpnServersVpnServerVpc)[vs[1].(int)] + }).(GetIsVpnServersVpnServerVpcOutput) +} + +type GetIsVpnServersVpnServerVpcDeleted struct { + // Link to documentation about deleted resources. + MoreInfo string `pulumi:"moreInfo"` +} + +// GetIsVpnServersVpnServerVpcDeletedInput is an input type that accepts GetIsVpnServersVpnServerVpcDeletedArgs and GetIsVpnServersVpnServerVpcDeletedOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerVpcDeletedInput` via: +// +// GetIsVpnServersVpnServerVpcDeletedArgs{...} +type GetIsVpnServersVpnServerVpcDeletedInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerVpcDeletedOutput() GetIsVpnServersVpnServerVpcDeletedOutput + ToGetIsVpnServersVpnServerVpcDeletedOutputWithContext(context.Context) GetIsVpnServersVpnServerVpcDeletedOutput +} + +type GetIsVpnServersVpnServerVpcDeletedArgs struct { + // Link to documentation about deleted resources. + MoreInfo pulumi.StringInput `pulumi:"moreInfo"` +} + +func (GetIsVpnServersVpnServerVpcDeletedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerVpcDeletedArgs) ToGetIsVpnServersVpnServerVpcDeletedOutput() GetIsVpnServersVpnServerVpcDeletedOutput { + return i.ToGetIsVpnServersVpnServerVpcDeletedOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerVpcDeletedArgs) ToGetIsVpnServersVpnServerVpcDeletedOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerVpcDeletedOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerVpcDeletedOutput) +} + +// GetIsVpnServersVpnServerVpcDeletedArrayInput is an input type that accepts GetIsVpnServersVpnServerVpcDeletedArray and GetIsVpnServersVpnServerVpcDeletedArrayOutput values. +// You can construct a concrete instance of `GetIsVpnServersVpnServerVpcDeletedArrayInput` via: +// +// GetIsVpnServersVpnServerVpcDeletedArray{ GetIsVpnServersVpnServerVpcDeletedArgs{...} } +type GetIsVpnServersVpnServerVpcDeletedArrayInput interface { + pulumi.Input + + ToGetIsVpnServersVpnServerVpcDeletedArrayOutput() GetIsVpnServersVpnServerVpcDeletedArrayOutput + ToGetIsVpnServersVpnServerVpcDeletedArrayOutputWithContext(context.Context) GetIsVpnServersVpnServerVpcDeletedArrayOutput +} + +type GetIsVpnServersVpnServerVpcDeletedArray []GetIsVpnServersVpnServerVpcDeletedInput + +func (GetIsVpnServersVpnServerVpcDeletedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerVpcDeleted)(nil)).Elem() +} + +func (i GetIsVpnServersVpnServerVpcDeletedArray) ToGetIsVpnServersVpnServerVpcDeletedArrayOutput() GetIsVpnServersVpnServerVpcDeletedArrayOutput { + return i.ToGetIsVpnServersVpnServerVpcDeletedArrayOutputWithContext(context.Background()) +} + +func (i GetIsVpnServersVpnServerVpcDeletedArray) ToGetIsVpnServersVpnServerVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerVpcDeletedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsVpnServersVpnServerVpcDeletedArrayOutput) +} + +type GetIsVpnServersVpnServerVpcDeletedOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerVpcDeletedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsVpnServersVpnServerVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerVpcDeletedOutput) ToGetIsVpnServersVpnServerVpcDeletedOutput() GetIsVpnServersVpnServerVpcDeletedOutput { + return o +} + +func (o GetIsVpnServersVpnServerVpcDeletedOutput) ToGetIsVpnServersVpnServerVpcDeletedOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerVpcDeletedOutput { + return o +} + +// Link to documentation about deleted resources. +func (o GetIsVpnServersVpnServerVpcDeletedOutput) MoreInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetIsVpnServersVpnServerVpcDeleted) string { return v.MoreInfo }).(pulumi.StringOutput) +} + +type GetIsVpnServersVpnServerVpcDeletedArrayOutput struct{ *pulumi.OutputState } + +func (GetIsVpnServersVpnServerVpcDeletedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsVpnServersVpnServerVpcDeleted)(nil)).Elem() +} + +func (o GetIsVpnServersVpnServerVpcDeletedArrayOutput) ToGetIsVpnServersVpnServerVpcDeletedArrayOutput() GetIsVpnServersVpnServerVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerVpcDeletedArrayOutput) ToGetIsVpnServersVpnServerVpcDeletedArrayOutputWithContext(ctx context.Context) GetIsVpnServersVpnServerVpcDeletedArrayOutput { + return o +} + +func (o GetIsVpnServersVpnServerVpcDeletedArrayOutput) Index(i pulumi.IntInput) GetIsVpnServersVpnServerVpcDeletedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsVpnServersVpnServerVpcDeleted { + return vs[0].([]GetIsVpnServersVpnServerVpcDeleted)[vs[1].(int)] + }).(GetIsVpnServersVpnServerVpcDeletedOutput) +} + +type GetIsZonesZoneInfo struct { + DataCenter string `pulumi:"dataCenter"` + Name string `pulumi:"name"` + Status string `pulumi:"status"` + UniversalName string `pulumi:"universalName"` +} + +// GetIsZonesZoneInfoInput is an input type that accepts GetIsZonesZoneInfoArgs and GetIsZonesZoneInfoOutput values. +// You can construct a concrete instance of `GetIsZonesZoneInfoInput` via: +// +// GetIsZonesZoneInfoArgs{...} +type GetIsZonesZoneInfoInput interface { + pulumi.Input + + ToGetIsZonesZoneInfoOutput() GetIsZonesZoneInfoOutput + ToGetIsZonesZoneInfoOutputWithContext(context.Context) GetIsZonesZoneInfoOutput +} + +type GetIsZonesZoneInfoArgs struct { + DataCenter pulumi.StringInput `pulumi:"dataCenter"` + Name pulumi.StringInput `pulumi:"name"` + Status pulumi.StringInput `pulumi:"status"` + UniversalName pulumi.StringInput `pulumi:"universalName"` +} + +func (GetIsZonesZoneInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsZonesZoneInfo)(nil)).Elem() +} + +func (i GetIsZonesZoneInfoArgs) ToGetIsZonesZoneInfoOutput() GetIsZonesZoneInfoOutput { + return i.ToGetIsZonesZoneInfoOutputWithContext(context.Background()) +} + +func (i GetIsZonesZoneInfoArgs) ToGetIsZonesZoneInfoOutputWithContext(ctx context.Context) GetIsZonesZoneInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsZonesZoneInfoOutput) +} + +// GetIsZonesZoneInfoArrayInput is an input type that accepts GetIsZonesZoneInfoArray and GetIsZonesZoneInfoArrayOutput values. +// You can construct a concrete instance of `GetIsZonesZoneInfoArrayInput` via: +// +// GetIsZonesZoneInfoArray{ GetIsZonesZoneInfoArgs{...} } +type GetIsZonesZoneInfoArrayInput interface { + pulumi.Input + + ToGetIsZonesZoneInfoArrayOutput() GetIsZonesZoneInfoArrayOutput + ToGetIsZonesZoneInfoArrayOutputWithContext(context.Context) GetIsZonesZoneInfoArrayOutput +} + +type GetIsZonesZoneInfoArray []GetIsZonesZoneInfoInput + +func (GetIsZonesZoneInfoArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsZonesZoneInfo)(nil)).Elem() +} + +func (i GetIsZonesZoneInfoArray) ToGetIsZonesZoneInfoArrayOutput() GetIsZonesZoneInfoArrayOutput { + return i.ToGetIsZonesZoneInfoArrayOutputWithContext(context.Background()) +} + +func (i GetIsZonesZoneInfoArray) ToGetIsZonesZoneInfoArrayOutputWithContext(ctx context.Context) GetIsZonesZoneInfoArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIsZonesZoneInfoArrayOutput) +} + +type GetIsZonesZoneInfoOutput struct{ *pulumi.OutputState } + +func (GetIsZonesZoneInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIsZonesZoneInfo)(nil)).Elem() +} + +func (o GetIsZonesZoneInfoOutput) ToGetIsZonesZoneInfoOutput() GetIsZonesZoneInfoOutput { + return o +} + +func (o GetIsZonesZoneInfoOutput) ToGetIsZonesZoneInfoOutputWithContext(ctx context.Context) GetIsZonesZoneInfoOutput { + return o +} + +func (o GetIsZonesZoneInfoOutput) DataCenter() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZonesZoneInfo) string { return v.DataCenter }).(pulumi.StringOutput) +} + +func (o GetIsZonesZoneInfoOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZonesZoneInfo) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetIsZonesZoneInfoOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZonesZoneInfo) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetIsZonesZoneInfoOutput) UniversalName() pulumi.StringOutput { + return o.ApplyT(func(v GetIsZonesZoneInfo) string { return v.UniversalName }).(pulumi.StringOutput) +} + +type GetIsZonesZoneInfoArrayOutput struct{ *pulumi.OutputState } + +func (GetIsZonesZoneInfoArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIsZonesZoneInfo)(nil)).Elem() +} + +func (o GetIsZonesZoneInfoArrayOutput) ToGetIsZonesZoneInfoArrayOutput() GetIsZonesZoneInfoArrayOutput { + return o +} + +func (o GetIsZonesZoneInfoArrayOutput) ToGetIsZonesZoneInfoArrayOutputWithContext(ctx context.Context) GetIsZonesZoneInfoArrayOutput { + return o +} + +func (o GetIsZonesZoneInfoArrayOutput) Index(i pulumi.IntInput) GetIsZonesZoneInfoOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIsZonesZoneInfo { + return vs[0].([]GetIsZonesZoneInfo)[vs[1].(int)] + }).(GetIsZonesZoneInfoOutput) +} + +type GetPiAvailableHostsAvailableHost struct { + // Core capacity of the host. + AvailableCores float64 `pulumi:"availableCores"` + // Memory capacity of the host (in GB). + AvailableMemory float64 `pulumi:"availableMemory"` + // How many hosts of such type/capacities are available. + Count int `pulumi:"count"` + // System type. + SysType string `pulumi:"sysType"` +} + +// GetPiAvailableHostsAvailableHostInput is an input type that accepts GetPiAvailableHostsAvailableHostArgs and GetPiAvailableHostsAvailableHostOutput values. +// You can construct a concrete instance of `GetPiAvailableHostsAvailableHostInput` via: +// +// GetPiAvailableHostsAvailableHostArgs{...} +type GetPiAvailableHostsAvailableHostInput interface { + pulumi.Input + + ToGetPiAvailableHostsAvailableHostOutput() GetPiAvailableHostsAvailableHostOutput + ToGetPiAvailableHostsAvailableHostOutputWithContext(context.Context) GetPiAvailableHostsAvailableHostOutput +} + +type GetPiAvailableHostsAvailableHostArgs struct { + // Core capacity of the host. + AvailableCores pulumi.Float64Input `pulumi:"availableCores"` + // Memory capacity of the host (in GB). + AvailableMemory pulumi.Float64Input `pulumi:"availableMemory"` + // How many hosts of such type/capacities are available. + Count pulumi.IntInput `pulumi:"count"` + // System type. + SysType pulumi.StringInput `pulumi:"sysType"` +} + +func (GetPiAvailableHostsAvailableHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiAvailableHostsAvailableHost)(nil)).Elem() +} + +func (i GetPiAvailableHostsAvailableHostArgs) ToGetPiAvailableHostsAvailableHostOutput() GetPiAvailableHostsAvailableHostOutput { + return i.ToGetPiAvailableHostsAvailableHostOutputWithContext(context.Background()) +} + +func (i GetPiAvailableHostsAvailableHostArgs) ToGetPiAvailableHostsAvailableHostOutputWithContext(ctx context.Context) GetPiAvailableHostsAvailableHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiAvailableHostsAvailableHostOutput) +} + +// GetPiAvailableHostsAvailableHostArrayInput is an input type that accepts GetPiAvailableHostsAvailableHostArray and GetPiAvailableHostsAvailableHostArrayOutput values. +// You can construct a concrete instance of `GetPiAvailableHostsAvailableHostArrayInput` via: +// +// GetPiAvailableHostsAvailableHostArray{ GetPiAvailableHostsAvailableHostArgs{...} } +type GetPiAvailableHostsAvailableHostArrayInput interface { + pulumi.Input + + ToGetPiAvailableHostsAvailableHostArrayOutput() GetPiAvailableHostsAvailableHostArrayOutput + ToGetPiAvailableHostsAvailableHostArrayOutputWithContext(context.Context) GetPiAvailableHostsAvailableHostArrayOutput +} + +type GetPiAvailableHostsAvailableHostArray []GetPiAvailableHostsAvailableHostInput + +func (GetPiAvailableHostsAvailableHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiAvailableHostsAvailableHost)(nil)).Elem() +} + +func (i GetPiAvailableHostsAvailableHostArray) ToGetPiAvailableHostsAvailableHostArrayOutput() GetPiAvailableHostsAvailableHostArrayOutput { + return i.ToGetPiAvailableHostsAvailableHostArrayOutputWithContext(context.Background()) +} + +func (i GetPiAvailableHostsAvailableHostArray) ToGetPiAvailableHostsAvailableHostArrayOutputWithContext(ctx context.Context) GetPiAvailableHostsAvailableHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiAvailableHostsAvailableHostArrayOutput) +} + +type GetPiAvailableHostsAvailableHostOutput struct{ *pulumi.OutputState } + +func (GetPiAvailableHostsAvailableHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiAvailableHostsAvailableHost)(nil)).Elem() +} + +func (o GetPiAvailableHostsAvailableHostOutput) ToGetPiAvailableHostsAvailableHostOutput() GetPiAvailableHostsAvailableHostOutput { + return o +} + +func (o GetPiAvailableHostsAvailableHostOutput) ToGetPiAvailableHostsAvailableHostOutputWithContext(ctx context.Context) GetPiAvailableHostsAvailableHostOutput { + return o +} + +// Core capacity of the host. +func (o GetPiAvailableHostsAvailableHostOutput) AvailableCores() pulumi.Float64Output { + return o.ApplyT(func(v GetPiAvailableHostsAvailableHost) float64 { return v.AvailableCores }).(pulumi.Float64Output) +} + +// Memory capacity of the host (in GB). +func (o GetPiAvailableHostsAvailableHostOutput) AvailableMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiAvailableHostsAvailableHost) float64 { return v.AvailableMemory }).(pulumi.Float64Output) +} + +// How many hosts of such type/capacities are available. +func (o GetPiAvailableHostsAvailableHostOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetPiAvailableHostsAvailableHost) int { return v.Count }).(pulumi.IntOutput) +} + +// System type. +func (o GetPiAvailableHostsAvailableHostOutput) SysType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiAvailableHostsAvailableHost) string { return v.SysType }).(pulumi.StringOutput) +} + +type GetPiAvailableHostsAvailableHostArrayOutput struct{ *pulumi.OutputState } + +func (GetPiAvailableHostsAvailableHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiAvailableHostsAvailableHost)(nil)).Elem() +} + +func (o GetPiAvailableHostsAvailableHostArrayOutput) ToGetPiAvailableHostsAvailableHostArrayOutput() GetPiAvailableHostsAvailableHostArrayOutput { + return o +} + +func (o GetPiAvailableHostsAvailableHostArrayOutput) ToGetPiAvailableHostsAvailableHostArrayOutputWithContext(ctx context.Context) GetPiAvailableHostsAvailableHostArrayOutput { + return o +} + +func (o GetPiAvailableHostsAvailableHostArrayOutput) Index(i pulumi.IntInput) GetPiAvailableHostsAvailableHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiAvailableHostsAvailableHost { + return vs[0].([]GetPiAvailableHostsAvailableHost)[vs[1].(int)] + }).(GetPiAvailableHostsAvailableHostOutput) +} + +type GetPiCatalogImagesImage struct { + // The CPU architecture that the image is designed for. + Architecture string `pulumi:"architecture"` + // The container format. + ContainerFormat string `pulumi:"containerFormat"` + // Date of image creation + CreationDate string `pulumi:"creationDate"` + // CRN of this resource. + Crn string `pulumi:"crn"` + // The description of an image. + Description string `pulumi:"description"` + // The disk format. + DiskFormat string `pulumi:"diskFormat"` + // The Endianness order. + Endianness string `pulumi:"endianness"` + // The href of an image. + Href string `pulumi:"href"` + // Hypervisor type. + HypervisorType string `pulumi:"hypervisorType"` + // The unique identifier of an image. + ImageId string `pulumi:"imageId"` + // The identifier of this image type. + ImageType string `pulumi:"imageType"` + // The last updated date of an image. + LastUpdateDate string `pulumi:"lastUpdateDate"` + // The name of the image. + Name string `pulumi:"name"` + // Operating System. + OperatingSystem string `pulumi:"operatingSystem"` + // The state of an Operating System. + State string `pulumi:"state"` + // Storage pool where image resides. + StoragePool string `pulumi:"storagePool"` + // The storage type of an image. + StorageType string `pulumi:"storageType"` +} + +// GetPiCatalogImagesImageInput is an input type that accepts GetPiCatalogImagesImageArgs and GetPiCatalogImagesImageOutput values. +// You can construct a concrete instance of `GetPiCatalogImagesImageInput` via: +// +// GetPiCatalogImagesImageArgs{...} +type GetPiCatalogImagesImageInput interface { + pulumi.Input + + ToGetPiCatalogImagesImageOutput() GetPiCatalogImagesImageOutput + ToGetPiCatalogImagesImageOutputWithContext(context.Context) GetPiCatalogImagesImageOutput +} + +type GetPiCatalogImagesImageArgs struct { + // The CPU architecture that the image is designed for. + Architecture pulumi.StringInput `pulumi:"architecture"` + // The container format. + ContainerFormat pulumi.StringInput `pulumi:"containerFormat"` + // Date of image creation + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The description of an image. + Description pulumi.StringInput `pulumi:"description"` + // The disk format. + DiskFormat pulumi.StringInput `pulumi:"diskFormat"` + // The Endianness order. + Endianness pulumi.StringInput `pulumi:"endianness"` + // The href of an image. + Href pulumi.StringInput `pulumi:"href"` + // Hypervisor type. + HypervisorType pulumi.StringInput `pulumi:"hypervisorType"` + // The unique identifier of an image. + ImageId pulumi.StringInput `pulumi:"imageId"` + // The identifier of this image type. + ImageType pulumi.StringInput `pulumi:"imageType"` + // The last updated date of an image. + LastUpdateDate pulumi.StringInput `pulumi:"lastUpdateDate"` + // The name of the image. + Name pulumi.StringInput `pulumi:"name"` + // Operating System. + OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` + // The state of an Operating System. + State pulumi.StringInput `pulumi:"state"` + // Storage pool where image resides. + StoragePool pulumi.StringInput `pulumi:"storagePool"` + // The storage type of an image. + StorageType pulumi.StringInput `pulumi:"storageType"` +} + +func (GetPiCatalogImagesImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCatalogImagesImage)(nil)).Elem() +} + +func (i GetPiCatalogImagesImageArgs) ToGetPiCatalogImagesImageOutput() GetPiCatalogImagesImageOutput { + return i.ToGetPiCatalogImagesImageOutputWithContext(context.Background()) +} + +func (i GetPiCatalogImagesImageArgs) ToGetPiCatalogImagesImageOutputWithContext(ctx context.Context) GetPiCatalogImagesImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiCatalogImagesImageOutput) +} + +// GetPiCatalogImagesImageArrayInput is an input type that accepts GetPiCatalogImagesImageArray and GetPiCatalogImagesImageArrayOutput values. +// You can construct a concrete instance of `GetPiCatalogImagesImageArrayInput` via: +// +// GetPiCatalogImagesImageArray{ GetPiCatalogImagesImageArgs{...} } +type GetPiCatalogImagesImageArrayInput interface { + pulumi.Input + + ToGetPiCatalogImagesImageArrayOutput() GetPiCatalogImagesImageArrayOutput + ToGetPiCatalogImagesImageArrayOutputWithContext(context.Context) GetPiCatalogImagesImageArrayOutput +} + +type GetPiCatalogImagesImageArray []GetPiCatalogImagesImageInput + +func (GetPiCatalogImagesImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiCatalogImagesImage)(nil)).Elem() +} + +func (i GetPiCatalogImagesImageArray) ToGetPiCatalogImagesImageArrayOutput() GetPiCatalogImagesImageArrayOutput { + return i.ToGetPiCatalogImagesImageArrayOutputWithContext(context.Background()) +} + +func (i GetPiCatalogImagesImageArray) ToGetPiCatalogImagesImageArrayOutputWithContext(ctx context.Context) GetPiCatalogImagesImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiCatalogImagesImageArrayOutput) +} + +type GetPiCatalogImagesImageOutput struct{ *pulumi.OutputState } + +func (GetPiCatalogImagesImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCatalogImagesImage)(nil)).Elem() +} + +func (o GetPiCatalogImagesImageOutput) ToGetPiCatalogImagesImageOutput() GetPiCatalogImagesImageOutput { + return o +} + +func (o GetPiCatalogImagesImageOutput) ToGetPiCatalogImagesImageOutputWithContext(ctx context.Context) GetPiCatalogImagesImageOutput { + return o +} + +// The CPU architecture that the image is designed for. +func (o GetPiCatalogImagesImageOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.Architecture }).(pulumi.StringOutput) +} + +// The container format. +func (o GetPiCatalogImagesImageOutput) ContainerFormat() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.ContainerFormat }).(pulumi.StringOutput) +} + +// Date of image creation +func (o GetPiCatalogImagesImageOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// CRN of this resource. +func (o GetPiCatalogImagesImageOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.Crn }).(pulumi.StringOutput) +} + +// The description of an image. +func (o GetPiCatalogImagesImageOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.Description }).(pulumi.StringOutput) +} + +// The disk format. +func (o GetPiCatalogImagesImageOutput) DiskFormat() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.DiskFormat }).(pulumi.StringOutput) +} + +// The Endianness order. +func (o GetPiCatalogImagesImageOutput) Endianness() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.Endianness }).(pulumi.StringOutput) +} + +// The href of an image. +func (o GetPiCatalogImagesImageOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.Href }).(pulumi.StringOutput) +} + +// Hypervisor type. +func (o GetPiCatalogImagesImageOutput) HypervisorType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.HypervisorType }).(pulumi.StringOutput) +} + +// The unique identifier of an image. +func (o GetPiCatalogImagesImageOutput) ImageId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.ImageId }).(pulumi.StringOutput) +} + +// The identifier of this image type. +func (o GetPiCatalogImagesImageOutput) ImageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.ImageType }).(pulumi.StringOutput) +} + +// The last updated date of an image. +func (o GetPiCatalogImagesImageOutput) LastUpdateDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.LastUpdateDate }).(pulumi.StringOutput) +} + +// The name of the image. +func (o GetPiCatalogImagesImageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.Name }).(pulumi.StringOutput) +} + +// Operating System. +func (o GetPiCatalogImagesImageOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.OperatingSystem }).(pulumi.StringOutput) +} + +// The state of an Operating System. +func (o GetPiCatalogImagesImageOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.State }).(pulumi.StringOutput) +} + +// Storage pool where image resides. +func (o GetPiCatalogImagesImageOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.StoragePool }).(pulumi.StringOutput) +} + +// The storage type of an image. +func (o GetPiCatalogImagesImageOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCatalogImagesImage) string { return v.StorageType }).(pulumi.StringOutput) +} + +type GetPiCatalogImagesImageArrayOutput struct{ *pulumi.OutputState } + +func (GetPiCatalogImagesImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiCatalogImagesImage)(nil)).Elem() +} + +func (o GetPiCatalogImagesImageArrayOutput) ToGetPiCatalogImagesImageArrayOutput() GetPiCatalogImagesImageArrayOutput { + return o +} + +func (o GetPiCatalogImagesImageArrayOutput) ToGetPiCatalogImagesImageArrayOutputWithContext(ctx context.Context) GetPiCatalogImagesImageArrayOutput { + return o +} + +func (o GetPiCatalogImagesImageArrayOutput) Index(i pulumi.IntInput) GetPiCatalogImagesImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiCatalogImagesImage { + return vs[0].([]GetPiCatalogImagesImage)[vs[1].(int)] + }).(GetPiCatalogImagesImageOutput) +} + +type GetPiCloudConnectionsConnection struct { + // Enable classic endpoint destination. + ClassicEnabled bool `pulumi:"classicEnabled"` + // The unique identifier of the cloud connection. + CloudConnectionId string `pulumi:"cloudConnectionId"` + // Type of service the gateway is attached to. + ConnectionMode string `pulumi:"connectionMode"` + // Enable global routing for this cloud connection. + GlobalRouting bool `pulumi:"globalRouting"` + // GRE destination IP address. + GreDestinationAddress string `pulumi:"greDestinationAddress"` + // GRE auto-assigned source IP address. + GreSourceAddress string `pulumi:"greSourceAddress"` + // IBM IP address. + IbmIpAddress string `pulumi:"ibmIpAddress"` + // Enable metering for this cloud connection. + Metered bool `pulumi:"metered"` + // Name of the cloud connection. + Name string `pulumi:"name"` + // Set of Networks attached to this cloud connection. + Networks []string `pulumi:"networks"` + // Port. + Port string `pulumi:"port"` + // Speed of the cloud connection (speed in megabits per second). + Speed int `pulumi:"speed"` + // Link status. + Status string `pulumi:"status"` + // User IP address. + UserIpAddress string `pulumi:"userIpAddress"` + // Set of VPCs attached to this cloud connection. + VpcCrns []string `pulumi:"vpcCrns"` + // Enable VPC for this cloud connection. + VpcEnabled bool `pulumi:"vpcEnabled"` +} + +// GetPiCloudConnectionsConnectionInput is an input type that accepts GetPiCloudConnectionsConnectionArgs and GetPiCloudConnectionsConnectionOutput values. +// You can construct a concrete instance of `GetPiCloudConnectionsConnectionInput` via: +// +// GetPiCloudConnectionsConnectionArgs{...} +type GetPiCloudConnectionsConnectionInput interface { + pulumi.Input + + ToGetPiCloudConnectionsConnectionOutput() GetPiCloudConnectionsConnectionOutput + ToGetPiCloudConnectionsConnectionOutputWithContext(context.Context) GetPiCloudConnectionsConnectionOutput +} + +type GetPiCloudConnectionsConnectionArgs struct { + // Enable classic endpoint destination. + ClassicEnabled pulumi.BoolInput `pulumi:"classicEnabled"` + // The unique identifier of the cloud connection. + CloudConnectionId pulumi.StringInput `pulumi:"cloudConnectionId"` + // Type of service the gateway is attached to. + ConnectionMode pulumi.StringInput `pulumi:"connectionMode"` + // Enable global routing for this cloud connection. + GlobalRouting pulumi.BoolInput `pulumi:"globalRouting"` + // GRE destination IP address. + GreDestinationAddress pulumi.StringInput `pulumi:"greDestinationAddress"` + // GRE auto-assigned source IP address. + GreSourceAddress pulumi.StringInput `pulumi:"greSourceAddress"` + // IBM IP address. + IbmIpAddress pulumi.StringInput `pulumi:"ibmIpAddress"` + // Enable metering for this cloud connection. + Metered pulumi.BoolInput `pulumi:"metered"` + // Name of the cloud connection. + Name pulumi.StringInput `pulumi:"name"` + // Set of Networks attached to this cloud connection. + Networks pulumi.StringArrayInput `pulumi:"networks"` + // Port. + Port pulumi.StringInput `pulumi:"port"` + // Speed of the cloud connection (speed in megabits per second). + Speed pulumi.IntInput `pulumi:"speed"` + // Link status. + Status pulumi.StringInput `pulumi:"status"` + // User IP address. + UserIpAddress pulumi.StringInput `pulumi:"userIpAddress"` + // Set of VPCs attached to this cloud connection. + VpcCrns pulumi.StringArrayInput `pulumi:"vpcCrns"` + // Enable VPC for this cloud connection. + VpcEnabled pulumi.BoolInput `pulumi:"vpcEnabled"` +} + +func (GetPiCloudConnectionsConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCloudConnectionsConnection)(nil)).Elem() +} + +func (i GetPiCloudConnectionsConnectionArgs) ToGetPiCloudConnectionsConnectionOutput() GetPiCloudConnectionsConnectionOutput { + return i.ToGetPiCloudConnectionsConnectionOutputWithContext(context.Background()) +} + +func (i GetPiCloudConnectionsConnectionArgs) ToGetPiCloudConnectionsConnectionOutputWithContext(ctx context.Context) GetPiCloudConnectionsConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiCloudConnectionsConnectionOutput) +} + +// GetPiCloudConnectionsConnectionArrayInput is an input type that accepts GetPiCloudConnectionsConnectionArray and GetPiCloudConnectionsConnectionArrayOutput values. +// You can construct a concrete instance of `GetPiCloudConnectionsConnectionArrayInput` via: +// +// GetPiCloudConnectionsConnectionArray{ GetPiCloudConnectionsConnectionArgs{...} } +type GetPiCloudConnectionsConnectionArrayInput interface { + pulumi.Input + + ToGetPiCloudConnectionsConnectionArrayOutput() GetPiCloudConnectionsConnectionArrayOutput + ToGetPiCloudConnectionsConnectionArrayOutputWithContext(context.Context) GetPiCloudConnectionsConnectionArrayOutput +} + +type GetPiCloudConnectionsConnectionArray []GetPiCloudConnectionsConnectionInput + +func (GetPiCloudConnectionsConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiCloudConnectionsConnection)(nil)).Elem() +} + +func (i GetPiCloudConnectionsConnectionArray) ToGetPiCloudConnectionsConnectionArrayOutput() GetPiCloudConnectionsConnectionArrayOutput { + return i.ToGetPiCloudConnectionsConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetPiCloudConnectionsConnectionArray) ToGetPiCloudConnectionsConnectionArrayOutputWithContext(ctx context.Context) GetPiCloudConnectionsConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiCloudConnectionsConnectionArrayOutput) +} + +type GetPiCloudConnectionsConnectionOutput struct{ *pulumi.OutputState } + +func (GetPiCloudConnectionsConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCloudConnectionsConnection)(nil)).Elem() +} + +func (o GetPiCloudConnectionsConnectionOutput) ToGetPiCloudConnectionsConnectionOutput() GetPiCloudConnectionsConnectionOutput { + return o +} + +func (o GetPiCloudConnectionsConnectionOutput) ToGetPiCloudConnectionsConnectionOutputWithContext(ctx context.Context) GetPiCloudConnectionsConnectionOutput { + return o +} + +// Enable classic endpoint destination. +func (o GetPiCloudConnectionsConnectionOutput) ClassicEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) bool { return v.ClassicEnabled }).(pulumi.BoolOutput) +} + +// The unique identifier of the cloud connection. +func (o GetPiCloudConnectionsConnectionOutput) CloudConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.CloudConnectionId }).(pulumi.StringOutput) +} + +// Type of service the gateway is attached to. +func (o GetPiCloudConnectionsConnectionOutput) ConnectionMode() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.ConnectionMode }).(pulumi.StringOutput) +} + +// Enable global routing for this cloud connection. +func (o GetPiCloudConnectionsConnectionOutput) GlobalRouting() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) bool { return v.GlobalRouting }).(pulumi.BoolOutput) +} + +// GRE destination IP address. +func (o GetPiCloudConnectionsConnectionOutput) GreDestinationAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.GreDestinationAddress }).(pulumi.StringOutput) +} + +// GRE auto-assigned source IP address. +func (o GetPiCloudConnectionsConnectionOutput) GreSourceAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.GreSourceAddress }).(pulumi.StringOutput) +} + +// IBM IP address. +func (o GetPiCloudConnectionsConnectionOutput) IbmIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.IbmIpAddress }).(pulumi.StringOutput) +} + +// Enable metering for this cloud connection. +func (o GetPiCloudConnectionsConnectionOutput) Metered() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) bool { return v.Metered }).(pulumi.BoolOutput) +} + +// Name of the cloud connection. +func (o GetPiCloudConnectionsConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// Set of Networks attached to this cloud connection. +func (o GetPiCloudConnectionsConnectionOutput) Networks() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) []string { return v.Networks }).(pulumi.StringArrayOutput) +} + +// Port. +func (o GetPiCloudConnectionsConnectionOutput) Port() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.Port }).(pulumi.StringOutput) +} + +// Speed of the cloud connection (speed in megabits per second). +func (o GetPiCloudConnectionsConnectionOutput) Speed() pulumi.IntOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) int { return v.Speed }).(pulumi.IntOutput) +} + +// Link status. +func (o GetPiCloudConnectionsConnectionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.Status }).(pulumi.StringOutput) +} + +// User IP address. +func (o GetPiCloudConnectionsConnectionOutput) UserIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) string { return v.UserIpAddress }).(pulumi.StringOutput) +} + +// Set of VPCs attached to this cloud connection. +func (o GetPiCloudConnectionsConnectionOutput) VpcCrns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) []string { return v.VpcCrns }).(pulumi.StringArrayOutput) +} + +// Enable VPC for this cloud connection. +func (o GetPiCloudConnectionsConnectionOutput) VpcEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiCloudConnectionsConnection) bool { return v.VpcEnabled }).(pulumi.BoolOutput) +} + +type GetPiCloudConnectionsConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetPiCloudConnectionsConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiCloudConnectionsConnection)(nil)).Elem() +} + +func (o GetPiCloudConnectionsConnectionArrayOutput) ToGetPiCloudConnectionsConnectionArrayOutput() GetPiCloudConnectionsConnectionArrayOutput { + return o +} + +func (o GetPiCloudConnectionsConnectionArrayOutput) ToGetPiCloudConnectionsConnectionArrayOutputWithContext(ctx context.Context) GetPiCloudConnectionsConnectionArrayOutput { + return o +} + +func (o GetPiCloudConnectionsConnectionArrayOutput) Index(i pulumi.IntInput) GetPiCloudConnectionsConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiCloudConnectionsConnection { + return vs[0].([]GetPiCloudConnectionsConnection)[vs[1].(int)] + }).(GetPiCloudConnectionsConnectionOutput) +} + +type GetPiCloudInstancePvmInstance struct { + // Date of PVM instance creation. + CreationDate string `pulumi:"creationDate"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // Link to Cloud Instance resource. + Href string `pulumi:"href"` + // PVM Instance ID. + Id string `pulumi:"id"` + // Name of the server. + Name string `pulumi:"name"` + // The status of the instance. + Status string `pulumi:"status"` + // System type used to host the instance. + Systype string `pulumi:"systype"` +} + +// GetPiCloudInstancePvmInstanceInput is an input type that accepts GetPiCloudInstancePvmInstanceArgs and GetPiCloudInstancePvmInstanceOutput values. +// You can construct a concrete instance of `GetPiCloudInstancePvmInstanceInput` via: +// +// GetPiCloudInstancePvmInstanceArgs{...} +type GetPiCloudInstancePvmInstanceInput interface { + pulumi.Input + + ToGetPiCloudInstancePvmInstanceOutput() GetPiCloudInstancePvmInstanceOutput + ToGetPiCloudInstancePvmInstanceOutputWithContext(context.Context) GetPiCloudInstancePvmInstanceOutput +} + +type GetPiCloudInstancePvmInstanceArgs struct { + // Date of PVM instance creation. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // Link to Cloud Instance resource. + Href pulumi.StringInput `pulumi:"href"` + // PVM Instance ID. + Id pulumi.StringInput `pulumi:"id"` + // Name of the server. + Name pulumi.StringInput `pulumi:"name"` + // The status of the instance. + Status pulumi.StringInput `pulumi:"status"` + // System type used to host the instance. + Systype pulumi.StringInput `pulumi:"systype"` +} + +func (GetPiCloudInstancePvmInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCloudInstancePvmInstance)(nil)).Elem() +} + +func (i GetPiCloudInstancePvmInstanceArgs) ToGetPiCloudInstancePvmInstanceOutput() GetPiCloudInstancePvmInstanceOutput { + return i.ToGetPiCloudInstancePvmInstanceOutputWithContext(context.Background()) +} + +func (i GetPiCloudInstancePvmInstanceArgs) ToGetPiCloudInstancePvmInstanceOutputWithContext(ctx context.Context) GetPiCloudInstancePvmInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiCloudInstancePvmInstanceOutput) +} + +// GetPiCloudInstancePvmInstanceArrayInput is an input type that accepts GetPiCloudInstancePvmInstanceArray and GetPiCloudInstancePvmInstanceArrayOutput values. +// You can construct a concrete instance of `GetPiCloudInstancePvmInstanceArrayInput` via: +// +// GetPiCloudInstancePvmInstanceArray{ GetPiCloudInstancePvmInstanceArgs{...} } +type GetPiCloudInstancePvmInstanceArrayInput interface { + pulumi.Input + + ToGetPiCloudInstancePvmInstanceArrayOutput() GetPiCloudInstancePvmInstanceArrayOutput + ToGetPiCloudInstancePvmInstanceArrayOutputWithContext(context.Context) GetPiCloudInstancePvmInstanceArrayOutput +} + +type GetPiCloudInstancePvmInstanceArray []GetPiCloudInstancePvmInstanceInput + +func (GetPiCloudInstancePvmInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiCloudInstancePvmInstance)(nil)).Elem() +} + +func (i GetPiCloudInstancePvmInstanceArray) ToGetPiCloudInstancePvmInstanceArrayOutput() GetPiCloudInstancePvmInstanceArrayOutput { + return i.ToGetPiCloudInstancePvmInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetPiCloudInstancePvmInstanceArray) ToGetPiCloudInstancePvmInstanceArrayOutputWithContext(ctx context.Context) GetPiCloudInstancePvmInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiCloudInstancePvmInstanceArrayOutput) +} + +type GetPiCloudInstancePvmInstanceOutput struct{ *pulumi.OutputState } + +func (GetPiCloudInstancePvmInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiCloudInstancePvmInstance)(nil)).Elem() +} + +func (o GetPiCloudInstancePvmInstanceOutput) ToGetPiCloudInstancePvmInstanceOutput() GetPiCloudInstancePvmInstanceOutput { + return o +} + +func (o GetPiCloudInstancePvmInstanceOutput) ToGetPiCloudInstancePvmInstanceOutputWithContext(ctx context.Context) GetPiCloudInstancePvmInstanceOutput { + return o +} + +// Date of PVM instance creation. +func (o GetPiCloudInstancePvmInstanceOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstancePvmInstance) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o GetPiCloudInstancePvmInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstancePvmInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// Link to Cloud Instance resource. +func (o GetPiCloudInstancePvmInstanceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstancePvmInstance) string { return v.Href }).(pulumi.StringOutput) +} + +// PVM Instance ID. +func (o GetPiCloudInstancePvmInstanceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstancePvmInstance) string { return v.Id }).(pulumi.StringOutput) +} + +// Name of the server. +func (o GetPiCloudInstancePvmInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstancePvmInstance) string { return v.Name }).(pulumi.StringOutput) +} + +// The status of the instance. +func (o GetPiCloudInstancePvmInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstancePvmInstance) string { return v.Status }).(pulumi.StringOutput) +} + +// System type used to host the instance. +func (o GetPiCloudInstancePvmInstanceOutput) Systype() pulumi.StringOutput { + return o.ApplyT(func(v GetPiCloudInstancePvmInstance) string { return v.Systype }).(pulumi.StringOutput) +} + +type GetPiCloudInstancePvmInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiCloudInstancePvmInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiCloudInstancePvmInstance)(nil)).Elem() +} + +func (o GetPiCloudInstancePvmInstanceArrayOutput) ToGetPiCloudInstancePvmInstanceArrayOutput() GetPiCloudInstancePvmInstanceArrayOutput { + return o +} + +func (o GetPiCloudInstancePvmInstanceArrayOutput) ToGetPiCloudInstancePvmInstanceArrayOutputWithContext(ctx context.Context) GetPiCloudInstancePvmInstanceArrayOutput { + return o +} + +func (o GetPiCloudInstancePvmInstanceArrayOutput) Index(i pulumi.IntInput) GetPiCloudInstancePvmInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiCloudInstancePvmInstance { + return vs[0].([]GetPiCloudInstancePvmInstance)[vs[1].(int)] + }).(GetPiCloudInstancePvmInstanceOutput) +} + +type GetPiConsoleLanguagesConsoleLanguage struct { + // Language code. + Code string `pulumi:"code"` + // Language description. + Language string `pulumi:"language"` +} + +// GetPiConsoleLanguagesConsoleLanguageInput is an input type that accepts GetPiConsoleLanguagesConsoleLanguageArgs and GetPiConsoleLanguagesConsoleLanguageOutput values. +// You can construct a concrete instance of `GetPiConsoleLanguagesConsoleLanguageInput` via: +// +// GetPiConsoleLanguagesConsoleLanguageArgs{...} +type GetPiConsoleLanguagesConsoleLanguageInput interface { + pulumi.Input + + ToGetPiConsoleLanguagesConsoleLanguageOutput() GetPiConsoleLanguagesConsoleLanguageOutput + ToGetPiConsoleLanguagesConsoleLanguageOutputWithContext(context.Context) GetPiConsoleLanguagesConsoleLanguageOutput +} + +type GetPiConsoleLanguagesConsoleLanguageArgs struct { + // Language code. + Code pulumi.StringInput `pulumi:"code"` + // Language description. + Language pulumi.StringInput `pulumi:"language"` +} + +func (GetPiConsoleLanguagesConsoleLanguageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiConsoleLanguagesConsoleLanguage)(nil)).Elem() +} + +func (i GetPiConsoleLanguagesConsoleLanguageArgs) ToGetPiConsoleLanguagesConsoleLanguageOutput() GetPiConsoleLanguagesConsoleLanguageOutput { + return i.ToGetPiConsoleLanguagesConsoleLanguageOutputWithContext(context.Background()) +} + +func (i GetPiConsoleLanguagesConsoleLanguageArgs) ToGetPiConsoleLanguagesConsoleLanguageOutputWithContext(ctx context.Context) GetPiConsoleLanguagesConsoleLanguageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiConsoleLanguagesConsoleLanguageOutput) +} + +// GetPiConsoleLanguagesConsoleLanguageArrayInput is an input type that accepts GetPiConsoleLanguagesConsoleLanguageArray and GetPiConsoleLanguagesConsoleLanguageArrayOutput values. +// You can construct a concrete instance of `GetPiConsoleLanguagesConsoleLanguageArrayInput` via: +// +// GetPiConsoleLanguagesConsoleLanguageArray{ GetPiConsoleLanguagesConsoleLanguageArgs{...} } +type GetPiConsoleLanguagesConsoleLanguageArrayInput interface { + pulumi.Input + + ToGetPiConsoleLanguagesConsoleLanguageArrayOutput() GetPiConsoleLanguagesConsoleLanguageArrayOutput + ToGetPiConsoleLanguagesConsoleLanguageArrayOutputWithContext(context.Context) GetPiConsoleLanguagesConsoleLanguageArrayOutput +} + +type GetPiConsoleLanguagesConsoleLanguageArray []GetPiConsoleLanguagesConsoleLanguageInput + +func (GetPiConsoleLanguagesConsoleLanguageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiConsoleLanguagesConsoleLanguage)(nil)).Elem() +} + +func (i GetPiConsoleLanguagesConsoleLanguageArray) ToGetPiConsoleLanguagesConsoleLanguageArrayOutput() GetPiConsoleLanguagesConsoleLanguageArrayOutput { + return i.ToGetPiConsoleLanguagesConsoleLanguageArrayOutputWithContext(context.Background()) +} + +func (i GetPiConsoleLanguagesConsoleLanguageArray) ToGetPiConsoleLanguagesConsoleLanguageArrayOutputWithContext(ctx context.Context) GetPiConsoleLanguagesConsoleLanguageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiConsoleLanguagesConsoleLanguageArrayOutput) +} + +type GetPiConsoleLanguagesConsoleLanguageOutput struct{ *pulumi.OutputState } + +func (GetPiConsoleLanguagesConsoleLanguageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiConsoleLanguagesConsoleLanguage)(nil)).Elem() +} + +func (o GetPiConsoleLanguagesConsoleLanguageOutput) ToGetPiConsoleLanguagesConsoleLanguageOutput() GetPiConsoleLanguagesConsoleLanguageOutput { + return o +} + +func (o GetPiConsoleLanguagesConsoleLanguageOutput) ToGetPiConsoleLanguagesConsoleLanguageOutputWithContext(ctx context.Context) GetPiConsoleLanguagesConsoleLanguageOutput { + return o +} + +// Language code. +func (o GetPiConsoleLanguagesConsoleLanguageOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v GetPiConsoleLanguagesConsoleLanguage) string { return v.Code }).(pulumi.StringOutput) +} + +// Language description. +func (o GetPiConsoleLanguagesConsoleLanguageOutput) Language() pulumi.StringOutput { + return o.ApplyT(func(v GetPiConsoleLanguagesConsoleLanguage) string { return v.Language }).(pulumi.StringOutput) +} + +type GetPiConsoleLanguagesConsoleLanguageArrayOutput struct{ *pulumi.OutputState } + +func (GetPiConsoleLanguagesConsoleLanguageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiConsoleLanguagesConsoleLanguage)(nil)).Elem() +} + +func (o GetPiConsoleLanguagesConsoleLanguageArrayOutput) ToGetPiConsoleLanguagesConsoleLanguageArrayOutput() GetPiConsoleLanguagesConsoleLanguageArrayOutput { + return o +} + +func (o GetPiConsoleLanguagesConsoleLanguageArrayOutput) ToGetPiConsoleLanguagesConsoleLanguageArrayOutputWithContext(ctx context.Context) GetPiConsoleLanguagesConsoleLanguageArrayOutput { + return o +} + +func (o GetPiConsoleLanguagesConsoleLanguageArrayOutput) Index(i pulumi.IntInput) GetPiConsoleLanguagesConsoleLanguageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiConsoleLanguagesConsoleLanguage { + return vs[0].([]GetPiConsoleLanguagesConsoleLanguage)[vs[1].(int)] + }).(GetPiConsoleLanguagesConsoleLanguageOutput) +} + +type GetPiDatacenterCapabilityDetail struct { + // Disaster Recovery Information. + DisasterRecoveries []GetPiDatacenterCapabilityDetailDisasterRecovery `pulumi:"disasterRecoveries"` + // Datacenter System Types Information. + SupportedSystems []GetPiDatacenterCapabilityDetailSupportedSystem `pulumi:"supportedSystems"` +} + +// GetPiDatacenterCapabilityDetailInput is an input type that accepts GetPiDatacenterCapabilityDetailArgs and GetPiDatacenterCapabilityDetailOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailInput` via: +// +// GetPiDatacenterCapabilityDetailArgs{...} +type GetPiDatacenterCapabilityDetailInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailOutput() GetPiDatacenterCapabilityDetailOutput + ToGetPiDatacenterCapabilityDetailOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailOutput +} + +type GetPiDatacenterCapabilityDetailArgs struct { + // Disaster Recovery Information. + DisasterRecoveries GetPiDatacenterCapabilityDetailDisasterRecoveryArrayInput `pulumi:"disasterRecoveries"` + // Datacenter System Types Information. + SupportedSystems GetPiDatacenterCapabilityDetailSupportedSystemArrayInput `pulumi:"supportedSystems"` +} + +func (GetPiDatacenterCapabilityDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetail)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailArgs) ToGetPiDatacenterCapabilityDetailOutput() GetPiDatacenterCapabilityDetailOutput { + return i.ToGetPiDatacenterCapabilityDetailOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailArgs) ToGetPiDatacenterCapabilityDetailOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailOutput) +} + +// GetPiDatacenterCapabilityDetailArrayInput is an input type that accepts GetPiDatacenterCapabilityDetailArray and GetPiDatacenterCapabilityDetailArrayOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailArrayInput` via: +// +// GetPiDatacenterCapabilityDetailArray{ GetPiDatacenterCapabilityDetailArgs{...} } +type GetPiDatacenterCapabilityDetailArrayInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailArrayOutput() GetPiDatacenterCapabilityDetailArrayOutput + ToGetPiDatacenterCapabilityDetailArrayOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailArrayOutput +} + +type GetPiDatacenterCapabilityDetailArray []GetPiDatacenterCapabilityDetailInput + +func (GetPiDatacenterCapabilityDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetail)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailArray) ToGetPiDatacenterCapabilityDetailArrayOutput() GetPiDatacenterCapabilityDetailArrayOutput { + return i.ToGetPiDatacenterCapabilityDetailArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailArray) ToGetPiDatacenterCapabilityDetailArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailArrayOutput) +} + +type GetPiDatacenterCapabilityDetailOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetail)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailOutput) ToGetPiDatacenterCapabilityDetailOutput() GetPiDatacenterCapabilityDetailOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailOutput) ToGetPiDatacenterCapabilityDetailOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailOutput { + return o +} + +// Disaster Recovery Information. +func (o GetPiDatacenterCapabilityDetailOutput) DisasterRecoveries() GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetail) []GetPiDatacenterCapabilityDetailDisasterRecovery { + return v.DisasterRecoveries + }).(GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput) +} + +// Datacenter System Types Information. +func (o GetPiDatacenterCapabilityDetailOutput) SupportedSystems() GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetail) []GetPiDatacenterCapabilityDetailSupportedSystem { + return v.SupportedSystems + }).(GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput) +} + +type GetPiDatacenterCapabilityDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetail)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailArrayOutput) ToGetPiDatacenterCapabilityDetailArrayOutput() GetPiDatacenterCapabilityDetailArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailArrayOutput) ToGetPiDatacenterCapabilityDetailArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailArrayOutput) Index(i pulumi.IntInput) GetPiDatacenterCapabilityDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacenterCapabilityDetail { + return vs[0].([]GetPiDatacenterCapabilityDetail)[vs[1].(int)] + }).(GetPiDatacenterCapabilityDetailOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecovery struct { + // Asynchronous Replication Target Information. + AsynchronousReplications []GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication `pulumi:"asynchronousReplications"` + // Synchronous Replication Target Information. + SynchronousReplications []GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication `pulumi:"synchronousReplications"` +} + +// GetPiDatacenterCapabilityDetailDisasterRecoveryInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoveryArgs and GetPiDatacenterCapabilityDetailDisasterRecoveryOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoveryInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoveryArgs{...} +type GetPiDatacenterCapabilityDetailDisasterRecoveryInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoveryOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoveryOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryArgs struct { + // Asynchronous Replication Target Information. + AsynchronousReplications GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput `pulumi:"asynchronousReplications"` + // Synchronous Replication Target Information. + SynchronousReplications GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput `pulumi:"synchronousReplications"` +} + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecovery)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoveryOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoveryOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoveryOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoveryOutput) +} + +// GetPiDatacenterCapabilityDetailDisasterRecoveryArrayInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoveryArray and GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoveryArrayInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoveryArray{ GetPiDatacenterCapabilityDetailDisasterRecoveryArgs{...} } +type GetPiDatacenterCapabilityDetailDisasterRecoveryArrayInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryArray []GetPiDatacenterCapabilityDetailDisasterRecoveryInput + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecovery)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryArray) ToGetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryArray) ToGetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecovery)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryOutput { + return o +} + +// Asynchronous Replication Target Information. +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryOutput) AsynchronousReplications() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecovery) []GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication { + return v.AsynchronousReplications + }).(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) +} + +// Synchronous Replication Target Information. +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryOutput) SynchronousReplications() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecovery) []GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication { + return v.SynchronousReplications + }).(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecovery)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput) Index(i pulumi.IntInput) GetPiDatacenterCapabilityDetailDisasterRecoveryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacenterCapabilityDetailDisasterRecovery { + return vs[0].([]GetPiDatacenterCapabilityDetailDisasterRecovery)[vs[1].(int)] + }).(GetPiDatacenterCapabilityDetailDisasterRecoveryOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication struct { + // Service Enabled. + Enabled bool `pulumi:"enabled"` + // List of all replication targets. + TargetLocations []GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation `pulumi:"targetLocations"` +} + +// GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs and GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs{...} +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs struct { + // Service Enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // List of all replication targets. + TargetLocations GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput `pulumi:"targetLocations"` +} + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) +} + +// GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray and GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray{ GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs{...} } +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray []GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return o +} + +// Service Enabled. +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// List of all replication targets. +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) TargetLocations() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication) []GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation { + return v.TargetLocations + }).(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) Index(i pulumi.IntInput) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication { + return vs[0].([]GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)[vs[1].(int)] + }).(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation struct { + // regionZone of replication site. + Region string `pulumi:"region"` + // the replication site is active / down. + Status string `pulumi:"status"` +} + +// GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs and GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs{...} +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs struct { + // regionZone of replication site. + Region pulumi.StringInput `pulumi:"region"` + // the replication site is active / down. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) +} + +// GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray and GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray{ GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs{...} } +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray []GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return o +} + +// regionZone of replication site. +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation) string { + return v.Region + }).(pulumi.StringOutput) +} + +// the replication site is active / down. +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation) string { + return v.Status + }).(pulumi.StringOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) Index(i pulumi.IntInput) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation { + return vs[0].([]GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)[vs[1].(int)] + }).(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication struct { + // Service Enabled. + Enabled bool `pulumi:"enabled"` + // List of all replication targets. + TargetLocations []GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation `pulumi:"targetLocations"` +} + +// GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs and GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs{...} +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs struct { + // Service Enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // List of all replication targets. + TargetLocations GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput `pulumi:"targetLocations"` +} + +func (GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) +} + +// GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray and GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray{ GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs{...} } +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray []GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput + +func (GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return o +} + +// Service Enabled. +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// List of all replication targets. +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) TargetLocations() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication) []GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation { + return v.TargetLocations + }).(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) Index(i pulumi.IntInput) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication { + return vs[0].([]GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)[vs[1].(int)] + }).(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation struct { + // regionZone of replication site. + Region string `pulumi:"region"` + // the replication site is active / down. + Status string `pulumi:"status"` +} + +// GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs and GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs{...} +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs struct { + // regionZone of replication site. + Region pulumi.StringInput `pulumi:"region"` + // the replication site is active / down. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) +} + +// GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput is an input type that accepts GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray and GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput` via: +// +// GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray{ GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs{...} } +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput + ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray []GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput + +func (GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return i.ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return o +} + +// regionZone of replication site. +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation) string { + return v.Region + }).(pulumi.StringOutput) +} + +// the replication site is active / down. +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation) string { + return v.Status + }).(pulumi.StringOutput) +} + +type GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput() GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) ToGetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) Index(i pulumi.IntInput) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation { + return vs[0].([]GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)[vs[1].(int)] + }).(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) +} + +type GetPiDatacenterCapabilityDetailSupportedSystem struct { + // List of all available dedicated host types. + Dedicateds []string `pulumi:"dedicateds"` + // List of all available host types. + Generals []string `pulumi:"generals"` +} + +// GetPiDatacenterCapabilityDetailSupportedSystemInput is an input type that accepts GetPiDatacenterCapabilityDetailSupportedSystemArgs and GetPiDatacenterCapabilityDetailSupportedSystemOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailSupportedSystemInput` via: +// +// GetPiDatacenterCapabilityDetailSupportedSystemArgs{...} +type GetPiDatacenterCapabilityDetailSupportedSystemInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailSupportedSystemOutput() GetPiDatacenterCapabilityDetailSupportedSystemOutput + ToGetPiDatacenterCapabilityDetailSupportedSystemOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailSupportedSystemOutput +} + +type GetPiDatacenterCapabilityDetailSupportedSystemArgs struct { + // List of all available dedicated host types. + Dedicateds pulumi.StringArrayInput `pulumi:"dedicateds"` + // List of all available host types. + Generals pulumi.StringArrayInput `pulumi:"generals"` +} + +func (GetPiDatacenterCapabilityDetailSupportedSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailSupportedSystem)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailSupportedSystemArgs) ToGetPiDatacenterCapabilityDetailSupportedSystemOutput() GetPiDatacenterCapabilityDetailSupportedSystemOutput { + return i.ToGetPiDatacenterCapabilityDetailSupportedSystemOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailSupportedSystemArgs) ToGetPiDatacenterCapabilityDetailSupportedSystemOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailSupportedSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailSupportedSystemOutput) +} + +// GetPiDatacenterCapabilityDetailSupportedSystemArrayInput is an input type that accepts GetPiDatacenterCapabilityDetailSupportedSystemArray and GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput values. +// You can construct a concrete instance of `GetPiDatacenterCapabilityDetailSupportedSystemArrayInput` via: +// +// GetPiDatacenterCapabilityDetailSupportedSystemArray{ GetPiDatacenterCapabilityDetailSupportedSystemArgs{...} } +type GetPiDatacenterCapabilityDetailSupportedSystemArrayInput interface { + pulumi.Input + + ToGetPiDatacenterCapabilityDetailSupportedSystemArrayOutput() GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput + ToGetPiDatacenterCapabilityDetailSupportedSystemArrayOutputWithContext(context.Context) GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput +} + +type GetPiDatacenterCapabilityDetailSupportedSystemArray []GetPiDatacenterCapabilityDetailSupportedSystemInput + +func (GetPiDatacenterCapabilityDetailSupportedSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailSupportedSystem)(nil)).Elem() +} + +func (i GetPiDatacenterCapabilityDetailSupportedSystemArray) ToGetPiDatacenterCapabilityDetailSupportedSystemArrayOutput() GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput { + return i.ToGetPiDatacenterCapabilityDetailSupportedSystemArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacenterCapabilityDetailSupportedSystemArray) ToGetPiDatacenterCapabilityDetailSupportedSystemArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput) +} + +type GetPiDatacenterCapabilityDetailSupportedSystemOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailSupportedSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacenterCapabilityDetailSupportedSystem)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailSupportedSystemOutput) ToGetPiDatacenterCapabilityDetailSupportedSystemOutput() GetPiDatacenterCapabilityDetailSupportedSystemOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailSupportedSystemOutput) ToGetPiDatacenterCapabilityDetailSupportedSystemOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailSupportedSystemOutput { + return o +} + +// List of all available dedicated host types. +func (o GetPiDatacenterCapabilityDetailSupportedSystemOutput) Dedicateds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailSupportedSystem) []string { return v.Dedicateds }).(pulumi.StringArrayOutput) +} + +// List of all available host types. +func (o GetPiDatacenterCapabilityDetailSupportedSystemOutput) Generals() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiDatacenterCapabilityDetailSupportedSystem) []string { return v.Generals }).(pulumi.StringArrayOutput) +} + +type GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacenterCapabilityDetailSupportedSystem)(nil)).Elem() +} + +func (o GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput) ToGetPiDatacenterCapabilityDetailSupportedSystemArrayOutput() GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput) ToGetPiDatacenterCapabilityDetailSupportedSystemArrayOutputWithContext(ctx context.Context) GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput { + return o +} + +func (o GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput) Index(i pulumi.IntInput) GetPiDatacenterCapabilityDetailSupportedSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacenterCapabilityDetailSupportedSystem { + return vs[0].([]GetPiDatacenterCapabilityDetailSupportedSystem)[vs[1].(int)] + }).(GetPiDatacenterCapabilityDetailSupportedSystemOutput) +} + +type GetPiDatacentersDatacenter struct { + // Additional Datacenter Capability Details. + CapabilityDetails []GetPiDatacentersDatacenterCapabilityDetail `pulumi:"capabilityDetails"` + // Datacenter Capabilities + PiDatacenterCapabilities map[string]bool `pulumi:"piDatacenterCapabilities"` + // Datacenter href + PiDatacenterHref string `pulumi:"piDatacenterHref"` + // Datacenter location + PiDatacenterLocation map[string]string `pulumi:"piDatacenterLocation"` + // Datacenter status + PiDatacenterStatus string `pulumi:"piDatacenterStatus"` + // Datacenter type + PiDatacenterType string `pulumi:"piDatacenterType"` +} + +// GetPiDatacentersDatacenterInput is an input type that accepts GetPiDatacentersDatacenterArgs and GetPiDatacentersDatacenterOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterInput` via: +// +// GetPiDatacentersDatacenterArgs{...} +type GetPiDatacentersDatacenterInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterOutput() GetPiDatacentersDatacenterOutput + ToGetPiDatacentersDatacenterOutputWithContext(context.Context) GetPiDatacentersDatacenterOutput +} + +type GetPiDatacentersDatacenterArgs struct { + // Additional Datacenter Capability Details. + CapabilityDetails GetPiDatacentersDatacenterCapabilityDetailArrayInput `pulumi:"capabilityDetails"` + // Datacenter Capabilities + PiDatacenterCapabilities pulumi.BoolMapInput `pulumi:"piDatacenterCapabilities"` + // Datacenter href + PiDatacenterHref pulumi.StringInput `pulumi:"piDatacenterHref"` + // Datacenter location + PiDatacenterLocation pulumi.StringMapInput `pulumi:"piDatacenterLocation"` + // Datacenter status + PiDatacenterStatus pulumi.StringInput `pulumi:"piDatacenterStatus"` + // Datacenter type + PiDatacenterType pulumi.StringInput `pulumi:"piDatacenterType"` +} + +func (GetPiDatacentersDatacenterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenter)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterArgs) ToGetPiDatacentersDatacenterOutput() GetPiDatacentersDatacenterOutput { + return i.ToGetPiDatacentersDatacenterOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterArgs) ToGetPiDatacentersDatacenterOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterOutput) +} + +// GetPiDatacentersDatacenterArrayInput is an input type that accepts GetPiDatacentersDatacenterArray and GetPiDatacentersDatacenterArrayOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterArrayInput` via: +// +// GetPiDatacentersDatacenterArray{ GetPiDatacentersDatacenterArgs{...} } +type GetPiDatacentersDatacenterArrayInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterArrayOutput() GetPiDatacentersDatacenterArrayOutput + ToGetPiDatacentersDatacenterArrayOutputWithContext(context.Context) GetPiDatacentersDatacenterArrayOutput +} + +type GetPiDatacentersDatacenterArray []GetPiDatacentersDatacenterInput + +func (GetPiDatacentersDatacenterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenter)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterArray) ToGetPiDatacentersDatacenterArrayOutput() GetPiDatacentersDatacenterArrayOutput { + return i.ToGetPiDatacentersDatacenterArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterArray) ToGetPiDatacentersDatacenterArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterArrayOutput) +} + +type GetPiDatacentersDatacenterOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenter)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterOutput) ToGetPiDatacentersDatacenterOutput() GetPiDatacentersDatacenterOutput { + return o +} + +func (o GetPiDatacentersDatacenterOutput) ToGetPiDatacentersDatacenterOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterOutput { + return o +} + +// Additional Datacenter Capability Details. +func (o GetPiDatacentersDatacenterOutput) CapabilityDetails() GetPiDatacentersDatacenterCapabilityDetailArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenter) []GetPiDatacentersDatacenterCapabilityDetail { + return v.CapabilityDetails + }).(GetPiDatacentersDatacenterCapabilityDetailArrayOutput) +} + +// Datacenter Capabilities +func (o GetPiDatacentersDatacenterOutput) PiDatacenterCapabilities() pulumi.BoolMapOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenter) map[string]bool { return v.PiDatacenterCapabilities }).(pulumi.BoolMapOutput) +} + +// Datacenter href +func (o GetPiDatacentersDatacenterOutput) PiDatacenterHref() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenter) string { return v.PiDatacenterHref }).(pulumi.StringOutput) +} + +// Datacenter location +func (o GetPiDatacentersDatacenterOutput) PiDatacenterLocation() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenter) map[string]string { return v.PiDatacenterLocation }).(pulumi.StringMapOutput) +} + +// Datacenter status +func (o GetPiDatacentersDatacenterOutput) PiDatacenterStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenter) string { return v.PiDatacenterStatus }).(pulumi.StringOutput) +} + +// Datacenter type +func (o GetPiDatacentersDatacenterOutput) PiDatacenterType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenter) string { return v.PiDatacenterType }).(pulumi.StringOutput) +} + +type GetPiDatacentersDatacenterArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenter)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterArrayOutput) ToGetPiDatacentersDatacenterArrayOutput() GetPiDatacentersDatacenterArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterArrayOutput) ToGetPiDatacentersDatacenterArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterArrayOutput) Index(i pulumi.IntInput) GetPiDatacentersDatacenterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacentersDatacenter { + return vs[0].([]GetPiDatacentersDatacenter)[vs[1].(int)] + }).(GetPiDatacentersDatacenterOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetail struct { + // Disaster Recovery Information. + DisasterRecoveries []GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery `pulumi:"disasterRecoveries"` + // Datacenter System Types Information. + SupportedSystems []GetPiDatacentersDatacenterCapabilityDetailSupportedSystem `pulumi:"supportedSystems"` +} + +// GetPiDatacentersDatacenterCapabilityDetailInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailArgs and GetPiDatacentersDatacenterCapabilityDetailOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailArgs{...} +type GetPiDatacentersDatacenterCapabilityDetailInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailOutput() GetPiDatacentersDatacenterCapabilityDetailOutput + ToGetPiDatacentersDatacenterCapabilityDetailOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailArgs struct { + // Disaster Recovery Information. + DisasterRecoveries GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayInput `pulumi:"disasterRecoveries"` + // Datacenter System Types Information. + SupportedSystems GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayInput `pulumi:"supportedSystems"` +} + +func (GetPiDatacentersDatacenterCapabilityDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetail)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailArgs) ToGetPiDatacentersDatacenterCapabilityDetailOutput() GetPiDatacentersDatacenterCapabilityDetailOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailArgs) ToGetPiDatacentersDatacenterCapabilityDetailOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailOutput) +} + +// GetPiDatacentersDatacenterCapabilityDetailArrayInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailArray and GetPiDatacentersDatacenterCapabilityDetailArrayOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailArrayInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailArray{ GetPiDatacentersDatacenterCapabilityDetailArgs{...} } +type GetPiDatacentersDatacenterCapabilityDetailArrayInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailArrayOutput() GetPiDatacentersDatacenterCapabilityDetailArrayOutput + ToGetPiDatacentersDatacenterCapabilityDetailArrayOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailArrayOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailArray []GetPiDatacentersDatacenterCapabilityDetailInput + +func (GetPiDatacentersDatacenterCapabilityDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetail)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailArray) ToGetPiDatacentersDatacenterCapabilityDetailArrayOutput() GetPiDatacentersDatacenterCapabilityDetailArrayOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailArray) ToGetPiDatacentersDatacenterCapabilityDetailArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetail)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailOutput) ToGetPiDatacentersDatacenterCapabilityDetailOutput() GetPiDatacentersDatacenterCapabilityDetailOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailOutput) ToGetPiDatacentersDatacenterCapabilityDetailOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailOutput { + return o +} + +// Disaster Recovery Information. +func (o GetPiDatacentersDatacenterCapabilityDetailOutput) DisasterRecoveries() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetail) []GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery { + return v.DisasterRecoveries + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput) +} + +// Datacenter System Types Information. +func (o GetPiDatacentersDatacenterCapabilityDetailOutput) SupportedSystems() GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetail) []GetPiDatacentersDatacenterCapabilityDetailSupportedSystem { + return v.SupportedSystems + }).(GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetail)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailArrayOutput() GetPiDatacentersDatacenterCapabilityDetailArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailArrayOutput) Index(i pulumi.IntInput) GetPiDatacentersDatacenterCapabilityDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacentersDatacenterCapabilityDetail { + return vs[0].([]GetPiDatacentersDatacenterCapabilityDetail)[vs[1].(int)] + }).(GetPiDatacentersDatacenterCapabilityDetailOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery struct { + // Asynchronous Replication Target Information. + AsynchronousReplications []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication `pulumi:"asynchronousReplications"` + // Synchronous Replication Target Information. + SynchronousReplications []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication `pulumi:"synchronousReplications"` +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArgs and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArgs{...} +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArgs struct { + // Asynchronous Replication Target Information. + AsynchronousReplications GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput `pulumi:"asynchronousReplications"` + // Synchronous Replication Target Information. + SynchronousReplications GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput `pulumi:"synchronousReplications"` +} + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput) +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArray and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArray{ GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArgs{...} } +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArray []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryInput + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput { + return o +} + +// Asynchronous Replication Target Information. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput) AsynchronousReplications() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery) []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication { + return v.AsynchronousReplications + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) +} + +// Synchronous Replication Target Information. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput) SynchronousReplications() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery) []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication { + return v.SynchronousReplications + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput) Index(i pulumi.IntInput) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery { + return vs[0].([]GetPiDatacentersDatacenterCapabilityDetailDisasterRecovery)[vs[1].(int)] + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication struct { + // Service Enabled. + Enabled bool `pulumi:"enabled"` + // List of all replication targets. + TargetLocations []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation `pulumi:"targetLocations"` +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs{...} +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs struct { + // Service Enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // List of all replication targets. + TargetLocations GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput `pulumi:"targetLocations"` +} + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray{ GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs{...} } +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return o +} + +// Service Enabled. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication) bool { + return v.Enabled + }).(pulumi.BoolOutput) +} + +// List of all replication targets. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) TargetLocations() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication) []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation { + return v.TargetLocations + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput) Index(i pulumi.IntInput) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication { + return vs[0].([]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplication)[vs[1].(int)] + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation struct { + // regionZone of replication site. + Region string `pulumi:"region"` + // the replication site is active / down. + Status string `pulumi:"status"` +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs{...} +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs struct { + // regionZone of replication site. + Region pulumi.StringInput `pulumi:"region"` + // the replication site is active / down. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray{ GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs{...} } +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return o +} + +// regionZone of replication site. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation) string { + return v.Region + }).(pulumi.StringOutput) +} + +// the replication site is active / down. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation) string { + return v.Status + }).(pulumi.StringOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput) Index(i pulumi.IntInput) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation { + return vs[0].([]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocation)[vs[1].(int)] + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication struct { + // Service Enabled. + Enabled bool `pulumi:"enabled"` + // List of all replication targets. + TargetLocations []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation `pulumi:"targetLocations"` +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs{...} +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs struct { + // Service Enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // List of all replication targets. + TargetLocations GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput `pulumi:"targetLocations"` +} + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray{ GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs{...} } +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return o +} + +// Service Enabled. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication) bool { + return v.Enabled + }).(pulumi.BoolOutput) +} + +// List of all replication targets. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) TargetLocations() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication) []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation { + return v.TargetLocations + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput) Index(i pulumi.IntInput) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication { + return vs[0].([]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplication)[vs[1].(int)] + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation struct { + // regionZone of replication site. + Region string `pulumi:"region"` + // the replication site is active / down. + Status string `pulumi:"status"` +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs{...} +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs struct { + // regionZone of replication site. + Region pulumi.StringInput `pulumi:"region"` + // the replication site is active / down. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) +} + +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray and GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray{ GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs{...} } +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput + ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray []GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return o +} + +// regionZone of replication site. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation) string { + return v.Region + }).(pulumi.StringOutput) +} + +// the replication site is active / down. +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation) string { + return v.Status + }).(pulumi.StringOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput() GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput) Index(i pulumi.IntInput) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation { + return vs[0].([]GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocation)[vs[1].(int)] + }).(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailSupportedSystem struct { + // List of all available dedicated host types. + Dedicateds []string `pulumi:"dedicateds"` + // List of all available host types. + Generals []string `pulumi:"generals"` +} + +// GetPiDatacentersDatacenterCapabilityDetailSupportedSystemInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArgs and GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailSupportedSystemInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArgs{...} +type GetPiDatacentersDatacenterCapabilityDetailSupportedSystemInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput() GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput + ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArgs struct { + // List of all available dedicated host types. + Dedicateds pulumi.StringArrayInput `pulumi:"dedicateds"` + // List of all available host types. + Generals pulumi.StringArrayInput `pulumi:"generals"` +} + +func (GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailSupportedSystem)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArgs) ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput() GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArgs) ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput) +} + +// GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayInput is an input type that accepts GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArray and GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput values. +// You can construct a concrete instance of `GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayInput` via: +// +// GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArray{ GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArgs{...} } +type GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayInput interface { + pulumi.Input + + ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput() GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput + ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutputWithContext(context.Context) GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput +} + +type GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArray []GetPiDatacentersDatacenterCapabilityDetailSupportedSystemInput + +func (GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailSupportedSystem)(nil)).Elem() +} + +func (i GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArray) ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput() GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput { + return i.ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutputWithContext(context.Background()) +} + +func (i GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArray) ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailSupportedSystem)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput) ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput() GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput) ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput { + return o +} + +// List of all available dedicated host types. +func (o GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput) Dedicateds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailSupportedSystem) []string { return v.Dedicateds }).(pulumi.StringArrayOutput) +} + +// List of all available host types. +func (o GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput) Generals() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiDatacentersDatacenterCapabilityDetailSupportedSystem) []string { return v.Generals }).(pulumi.StringArrayOutput) +} + +type GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDatacentersDatacenterCapabilityDetailSupportedSystem)(nil)).Elem() +} + +func (o GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput() GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput) ToGetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutputWithContext(ctx context.Context) GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput { + return o +} + +func (o GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput) Index(i pulumi.IntInput) GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDatacentersDatacenterCapabilityDetailSupportedSystem { + return vs[0].([]GetPiDatacentersDatacenterCapabilityDetailSupportedSystem)[vs[1].(int)] + }).(GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput) +} + +type GetPiDhcpLease struct { + // IP of the PVM Instance. + InstanceIp string `pulumi:"instanceIp"` + // MAC Address of the PVM Instance. + InstanceMac string `pulumi:"instanceMac"` +} + +// GetPiDhcpLeaseInput is an input type that accepts GetPiDhcpLeaseArgs and GetPiDhcpLeaseOutput values. +// You can construct a concrete instance of `GetPiDhcpLeaseInput` via: +// +// GetPiDhcpLeaseArgs{...} +type GetPiDhcpLeaseInput interface { + pulumi.Input + + ToGetPiDhcpLeaseOutput() GetPiDhcpLeaseOutput + ToGetPiDhcpLeaseOutputWithContext(context.Context) GetPiDhcpLeaseOutput +} + +type GetPiDhcpLeaseArgs struct { + // IP of the PVM Instance. + InstanceIp pulumi.StringInput `pulumi:"instanceIp"` + // MAC Address of the PVM Instance. + InstanceMac pulumi.StringInput `pulumi:"instanceMac"` +} + +func (GetPiDhcpLeaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDhcpLease)(nil)).Elem() +} + +func (i GetPiDhcpLeaseArgs) ToGetPiDhcpLeaseOutput() GetPiDhcpLeaseOutput { + return i.ToGetPiDhcpLeaseOutputWithContext(context.Background()) +} + +func (i GetPiDhcpLeaseArgs) ToGetPiDhcpLeaseOutputWithContext(ctx context.Context) GetPiDhcpLeaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDhcpLeaseOutput) +} + +// GetPiDhcpLeaseArrayInput is an input type that accepts GetPiDhcpLeaseArray and GetPiDhcpLeaseArrayOutput values. +// You can construct a concrete instance of `GetPiDhcpLeaseArrayInput` via: +// +// GetPiDhcpLeaseArray{ GetPiDhcpLeaseArgs{...} } +type GetPiDhcpLeaseArrayInput interface { + pulumi.Input + + ToGetPiDhcpLeaseArrayOutput() GetPiDhcpLeaseArrayOutput + ToGetPiDhcpLeaseArrayOutputWithContext(context.Context) GetPiDhcpLeaseArrayOutput +} + +type GetPiDhcpLeaseArray []GetPiDhcpLeaseInput + +func (GetPiDhcpLeaseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDhcpLease)(nil)).Elem() +} + +func (i GetPiDhcpLeaseArray) ToGetPiDhcpLeaseArrayOutput() GetPiDhcpLeaseArrayOutput { + return i.ToGetPiDhcpLeaseArrayOutputWithContext(context.Background()) +} + +func (i GetPiDhcpLeaseArray) ToGetPiDhcpLeaseArrayOutputWithContext(ctx context.Context) GetPiDhcpLeaseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDhcpLeaseArrayOutput) +} + +type GetPiDhcpLeaseOutput struct{ *pulumi.OutputState } + +func (GetPiDhcpLeaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDhcpLease)(nil)).Elem() +} + +func (o GetPiDhcpLeaseOutput) ToGetPiDhcpLeaseOutput() GetPiDhcpLeaseOutput { + return o +} + +func (o GetPiDhcpLeaseOutput) ToGetPiDhcpLeaseOutputWithContext(ctx context.Context) GetPiDhcpLeaseOutput { + return o +} + +// IP of the PVM Instance. +func (o GetPiDhcpLeaseOutput) InstanceIp() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDhcpLease) string { return v.InstanceIp }).(pulumi.StringOutput) +} + +// MAC Address of the PVM Instance. +func (o GetPiDhcpLeaseOutput) InstanceMac() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDhcpLease) string { return v.InstanceMac }).(pulumi.StringOutput) +} + +type GetPiDhcpLeaseArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDhcpLeaseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDhcpLease)(nil)).Elem() +} + +func (o GetPiDhcpLeaseArrayOutput) ToGetPiDhcpLeaseArrayOutput() GetPiDhcpLeaseArrayOutput { + return o +} + +func (o GetPiDhcpLeaseArrayOutput) ToGetPiDhcpLeaseArrayOutputWithContext(ctx context.Context) GetPiDhcpLeaseArrayOutput { + return o +} + +func (o GetPiDhcpLeaseArrayOutput) Index(i pulumi.IntInput) GetPiDhcpLeaseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDhcpLease { + return vs[0].([]GetPiDhcpLease)[vs[1].(int)] + }).(GetPiDhcpLeaseOutput) +} + +type GetPiDhcpsServer struct { + // ID of the DHCP Server. + DhcpId string `pulumi:"dhcpId"` + // ID of the DHCP Server private network. + NetworkId string `pulumi:"networkId"` + // Name of the DHCP Server private network. + NetworkName string `pulumi:"networkName"` + // Status of the DHCP Server. + Status string `pulumi:"status"` +} + +// GetPiDhcpsServerInput is an input type that accepts GetPiDhcpsServerArgs and GetPiDhcpsServerOutput values. +// You can construct a concrete instance of `GetPiDhcpsServerInput` via: +// +// GetPiDhcpsServerArgs{...} +type GetPiDhcpsServerInput interface { + pulumi.Input + + ToGetPiDhcpsServerOutput() GetPiDhcpsServerOutput + ToGetPiDhcpsServerOutputWithContext(context.Context) GetPiDhcpsServerOutput +} + +type GetPiDhcpsServerArgs struct { + // ID of the DHCP Server. + DhcpId pulumi.StringInput `pulumi:"dhcpId"` + // ID of the DHCP Server private network. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // Name of the DHCP Server private network. + NetworkName pulumi.StringInput `pulumi:"networkName"` + // Status of the DHCP Server. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetPiDhcpsServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDhcpsServer)(nil)).Elem() +} + +func (i GetPiDhcpsServerArgs) ToGetPiDhcpsServerOutput() GetPiDhcpsServerOutput { + return i.ToGetPiDhcpsServerOutputWithContext(context.Background()) +} + +func (i GetPiDhcpsServerArgs) ToGetPiDhcpsServerOutputWithContext(ctx context.Context) GetPiDhcpsServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDhcpsServerOutput) +} + +// GetPiDhcpsServerArrayInput is an input type that accepts GetPiDhcpsServerArray and GetPiDhcpsServerArrayOutput values. +// You can construct a concrete instance of `GetPiDhcpsServerArrayInput` via: +// +// GetPiDhcpsServerArray{ GetPiDhcpsServerArgs{...} } +type GetPiDhcpsServerArrayInput interface { + pulumi.Input + + ToGetPiDhcpsServerArrayOutput() GetPiDhcpsServerArrayOutput + ToGetPiDhcpsServerArrayOutputWithContext(context.Context) GetPiDhcpsServerArrayOutput +} + +type GetPiDhcpsServerArray []GetPiDhcpsServerInput + +func (GetPiDhcpsServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDhcpsServer)(nil)).Elem() +} + +func (i GetPiDhcpsServerArray) ToGetPiDhcpsServerArrayOutput() GetPiDhcpsServerArrayOutput { + return i.ToGetPiDhcpsServerArrayOutputWithContext(context.Background()) +} + +func (i GetPiDhcpsServerArray) ToGetPiDhcpsServerArrayOutputWithContext(ctx context.Context) GetPiDhcpsServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDhcpsServerArrayOutput) +} + +type GetPiDhcpsServerOutput struct{ *pulumi.OutputState } + +func (GetPiDhcpsServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDhcpsServer)(nil)).Elem() +} + +func (o GetPiDhcpsServerOutput) ToGetPiDhcpsServerOutput() GetPiDhcpsServerOutput { + return o +} + +func (o GetPiDhcpsServerOutput) ToGetPiDhcpsServerOutputWithContext(ctx context.Context) GetPiDhcpsServerOutput { + return o +} + +// ID of the DHCP Server. +func (o GetPiDhcpsServerOutput) DhcpId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDhcpsServer) string { return v.DhcpId }).(pulumi.StringOutput) +} + +// ID of the DHCP Server private network. +func (o GetPiDhcpsServerOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDhcpsServer) string { return v.NetworkId }).(pulumi.StringOutput) +} + +// Name of the DHCP Server private network. +func (o GetPiDhcpsServerOutput) NetworkName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDhcpsServer) string { return v.NetworkName }).(pulumi.StringOutput) +} + +// Status of the DHCP Server. +func (o GetPiDhcpsServerOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDhcpsServer) string { return v.Status }).(pulumi.StringOutput) +} + +type GetPiDhcpsServerArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDhcpsServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDhcpsServer)(nil)).Elem() +} + +func (o GetPiDhcpsServerArrayOutput) ToGetPiDhcpsServerArrayOutput() GetPiDhcpsServerArrayOutput { + return o +} + +func (o GetPiDhcpsServerArrayOutput) ToGetPiDhcpsServerArrayOutputWithContext(ctx context.Context) GetPiDhcpsServerArrayOutput { + return o +} + +func (o GetPiDhcpsServerArrayOutput) Index(i pulumi.IntInput) GetPiDhcpsServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDhcpsServer { + return vs[0].([]GetPiDhcpsServer)[vs[1].(int)] + }).(GetPiDhcpsServerOutput) +} + +type GetPiDisasterRecoveryLocationReplicationSite struct { + // Indicates the location is active or not, true if location is active , otherwise it is false. + IsActive bool `pulumi:"isActive"` + // The region zone of the location. + Location string `pulumi:"location"` + // List of replication pool map. + ReplicationPoolMaps []GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap `pulumi:"replicationPoolMaps"` +} + +// GetPiDisasterRecoveryLocationReplicationSiteInput is an input type that accepts GetPiDisasterRecoveryLocationReplicationSiteArgs and GetPiDisasterRecoveryLocationReplicationSiteOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationReplicationSiteInput` via: +// +// GetPiDisasterRecoveryLocationReplicationSiteArgs{...} +type GetPiDisasterRecoveryLocationReplicationSiteInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationReplicationSiteOutput() GetPiDisasterRecoveryLocationReplicationSiteOutput + ToGetPiDisasterRecoveryLocationReplicationSiteOutputWithContext(context.Context) GetPiDisasterRecoveryLocationReplicationSiteOutput +} + +type GetPiDisasterRecoveryLocationReplicationSiteArgs struct { + // Indicates the location is active or not, true if location is active , otherwise it is false. + IsActive pulumi.BoolInput `pulumi:"isActive"` + // The region zone of the location. + Location pulumi.StringInput `pulumi:"location"` + // List of replication pool map. + ReplicationPoolMaps GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput `pulumi:"replicationPoolMaps"` +} + +func (GetPiDisasterRecoveryLocationReplicationSiteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationReplicationSite)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationReplicationSiteArgs) ToGetPiDisasterRecoveryLocationReplicationSiteOutput() GetPiDisasterRecoveryLocationReplicationSiteOutput { + return i.ToGetPiDisasterRecoveryLocationReplicationSiteOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationReplicationSiteArgs) ToGetPiDisasterRecoveryLocationReplicationSiteOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationReplicationSiteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationReplicationSiteOutput) +} + +// GetPiDisasterRecoveryLocationReplicationSiteArrayInput is an input type that accepts GetPiDisasterRecoveryLocationReplicationSiteArray and GetPiDisasterRecoveryLocationReplicationSiteArrayOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationReplicationSiteArrayInput` via: +// +// GetPiDisasterRecoveryLocationReplicationSiteArray{ GetPiDisasterRecoveryLocationReplicationSiteArgs{...} } +type GetPiDisasterRecoveryLocationReplicationSiteArrayInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationReplicationSiteArrayOutput() GetPiDisasterRecoveryLocationReplicationSiteArrayOutput + ToGetPiDisasterRecoveryLocationReplicationSiteArrayOutputWithContext(context.Context) GetPiDisasterRecoveryLocationReplicationSiteArrayOutput +} + +type GetPiDisasterRecoveryLocationReplicationSiteArray []GetPiDisasterRecoveryLocationReplicationSiteInput + +func (GetPiDisasterRecoveryLocationReplicationSiteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationReplicationSite)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationReplicationSiteArray) ToGetPiDisasterRecoveryLocationReplicationSiteArrayOutput() GetPiDisasterRecoveryLocationReplicationSiteArrayOutput { + return i.ToGetPiDisasterRecoveryLocationReplicationSiteArrayOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationReplicationSiteArray) ToGetPiDisasterRecoveryLocationReplicationSiteArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationReplicationSiteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationReplicationSiteArrayOutput) +} + +type GetPiDisasterRecoveryLocationReplicationSiteOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationReplicationSiteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationReplicationSite)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteOutput) ToGetPiDisasterRecoveryLocationReplicationSiteOutput() GetPiDisasterRecoveryLocationReplicationSiteOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteOutput) ToGetPiDisasterRecoveryLocationReplicationSiteOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationReplicationSiteOutput { + return o +} + +// Indicates the location is active or not, true if location is active , otherwise it is false. +func (o GetPiDisasterRecoveryLocationReplicationSiteOutput) IsActive() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationReplicationSite) bool { return v.IsActive }).(pulumi.BoolOutput) +} + +// The region zone of the location. +func (o GetPiDisasterRecoveryLocationReplicationSiteOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationReplicationSite) string { return v.Location }).(pulumi.StringOutput) +} + +// List of replication pool map. +func (o GetPiDisasterRecoveryLocationReplicationSiteOutput) ReplicationPoolMaps() GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationReplicationSite) []GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap { + return v.ReplicationPoolMaps + }).(GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) +} + +type GetPiDisasterRecoveryLocationReplicationSiteArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationReplicationSiteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationReplicationSite)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteArrayOutput) ToGetPiDisasterRecoveryLocationReplicationSiteArrayOutput() GetPiDisasterRecoveryLocationReplicationSiteArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteArrayOutput) ToGetPiDisasterRecoveryLocationReplicationSiteArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationReplicationSiteArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteArrayOutput) Index(i pulumi.IntInput) GetPiDisasterRecoveryLocationReplicationSiteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDisasterRecoveryLocationReplicationSite { + return vs[0].([]GetPiDisasterRecoveryLocationReplicationSite)[vs[1].(int)] + }).(GetPiDisasterRecoveryLocationReplicationSiteOutput) +} + +type GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap struct { + // Remote pool. + RemotePool string `pulumi:"remotePool"` + // Volume pool. + VolumePool string `pulumi:"volumePool"` +} + +// GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput is an input type that accepts GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap and GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput` via: +// +// GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap{ "key": GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolArgs{...} } +type GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput() GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput + ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutputWithContext(context.Context) GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput +} + +type GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs struct { + // Remote pool. + RemotePool pulumi.StringInput `pulumi:"remotePool"` + // Volume pool. + VolumePool pulumi.StringInput `pulumi:"volumePool"` +} + +func (GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs) ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput() GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return i.ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs) ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) +} + +// GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput is an input type that accepts GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray and GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput` via: +// +// GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray{ GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs{...} } +type GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput() GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput + ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutputWithContext(context.Context) GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput +} + +type GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray []GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput + +func (GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray) ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput() GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return i.ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray) ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) +} + +type GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput() GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return o +} + +// Remote pool. +func (o GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) RemotePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap) string { return v.RemotePool }).(pulumi.StringOutput) +} + +// Volume pool. +func (o GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) VolumePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap) string { return v.VolumePool }).(pulumi.StringOutput) +} + +type GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput() GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) ToGetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) Index(i pulumi.IntInput) GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap { + return vs[0].([]GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMap)[vs[1].(int)] + }).(GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocation struct { + // The region zone of a site. + Location string `pulumi:"location"` + // List of Replication Sites. + ReplicationSites []GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite `pulumi:"replicationSites"` +} + +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationInput is an input type that accepts GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArgs and GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationsDisasterRecoveryLocationInput` via: +// +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArgs{...} +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutputWithContext(context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArgs struct { + // The region zone of a site. + Location pulumi.StringInput `pulumi:"location"` + // List of Replication Sites. + ReplicationSites GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayInput `pulumi:"replicationSites"` +} + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocation)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArgs) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput { + return i.ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArgs) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput) +} + +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayInput is an input type that accepts GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArray and GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayInput` via: +// +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArray{ GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArgs{...} } +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutputWithContext(context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArray []GetPiDisasterRecoveryLocationsDisasterRecoveryLocationInput + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationsDisasterRecoveryLocation)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArray) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput { + return i.ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArray) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocation)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput { + return o +} + +// The region zone of a site. +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsDisasterRecoveryLocation) string { return v.Location }).(pulumi.StringOutput) +} + +// List of Replication Sites. +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput) ReplicationSites() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsDisasterRecoveryLocation) []GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite { + return v.ReplicationSites + }).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationsDisasterRecoveryLocation)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput) Index(i pulumi.IntInput) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDisasterRecoveryLocationsDisasterRecoveryLocation { + return vs[0].([]GetPiDisasterRecoveryLocationsDisasterRecoveryLocation)[vs[1].(int)] + }).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite struct { + // Indicates the location is active or not, true if location is active, otherwise it is false. + IsActive bool `pulumi:"isActive"` + // The region zone of the location. + Location string `pulumi:"location"` + // List of replication pool map. + ReplicationPoolMaps []GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap `pulumi:"replicationPoolMaps"` +} + +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteInput is an input type that accepts GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArgs and GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteInput` via: +// +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArgs{...} +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutputWithContext(context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArgs struct { + // Indicates the location is active or not, true if location is active, otherwise it is false. + IsActive pulumi.BoolInput `pulumi:"isActive"` + // The region zone of the location. + Location pulumi.StringInput `pulumi:"location"` + // List of replication pool map. + ReplicationPoolMaps GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput `pulumi:"replicationPoolMaps"` +} + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArgs) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput { + return i.ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArgs) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput) +} + +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayInput is an input type that accepts GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArray and GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayInput` via: +// +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArray{ GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArgs{...} } +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutputWithContext(context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArray []GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteInput + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArray) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput { + return i.ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArray) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput { + return o +} + +// Indicates the location is active or not, true if location is active, otherwise it is false. +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput) IsActive() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite) bool { return v.IsActive }).(pulumi.BoolOutput) +} + +// The region zone of the location. +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite) string { + return v.Location + }).(pulumi.StringOutput) +} + +// List of replication pool map. +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput) ReplicationPoolMaps() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite) []GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap { + return v.ReplicationPoolMaps + }).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput) Index(i pulumi.IntInput) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite { + return vs[0].([]GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSite)[vs[1].(int)] + }).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap struct { + // Remote pool. + RemotePool string `pulumi:"remotePool"` + // Volume pool. + VolumePool string `pulumi:"volumePool"` +} + +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput is an input type that accepts GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap and GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput` via: +// +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap{ "key": GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolArgs{...} } +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutputWithContext(context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs struct { + // Remote pool. + RemotePool pulumi.StringInput `pulumi:"remotePool"` + // Volume pool. + VolumePool pulumi.StringInput `pulumi:"volumePool"` +} + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return i.ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) +} + +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput is an input type that accepts GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray and GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput values. +// You can construct a concrete instance of `GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput` via: +// +// GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray{ GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs{...} } +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput interface { + pulumi.Input + + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput + ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutputWithContext(context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray []GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap)(nil)).Elem() +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return i.ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutputWithContext(context.Background()) +} + +func (i GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return o +} + +// Remote pool. +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) RemotePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap) string { + return v.RemotePool + }).(pulumi.StringOutput) +} + +// Volume pool. +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) VolumePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap) string { + return v.VolumePool + }).(pulumi.StringOutput) +} + +type GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput struct{ *pulumi.OutputState } + +func (GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap)(nil)).Elem() +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput() GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) ToGetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutputWithContext(ctx context.Context) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput { + return o +} + +func (o GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput) Index(i pulumi.IntInput) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap { + return vs[0].([]GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMap)[vs[1].(int)] + }).(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput) +} + +type GetPiHostCapacity struct { + // Number of cores currently available. + AvailableCores float64 `pulumi:"availableCores"` + // Amount of memory currently available (in GB). + AvailableMemory float64 `pulumi:"availableMemory"` + // Number of cores reserved for system use. + ReservedCore float64 `pulumi:"reservedCore"` + // Amount of memory reserved for system use (in GB). + ReservedMemory float64 `pulumi:"reservedMemory"` + // Total number of cores of the host. + TotalCore float64 `pulumi:"totalCore"` + // Total amount of memory of the host (in GB). + TotalMemory float64 `pulumi:"totalMemory"` + // Number of cores in use on the host. + UsedCore float64 `pulumi:"usedCore"` + // Amount of memory used on the host (in GB). + UsedMemory float64 `pulumi:"usedMemory"` +} + +// GetPiHostCapacityInput is an input type that accepts GetPiHostCapacityArgs and GetPiHostCapacityOutput values. +// You can construct a concrete instance of `GetPiHostCapacityInput` via: +// +// GetPiHostCapacityArgs{...} +type GetPiHostCapacityInput interface { + pulumi.Input + + ToGetPiHostCapacityOutput() GetPiHostCapacityOutput + ToGetPiHostCapacityOutputWithContext(context.Context) GetPiHostCapacityOutput +} + +type GetPiHostCapacityArgs struct { + // Number of cores currently available. + AvailableCores pulumi.Float64Input `pulumi:"availableCores"` + // Amount of memory currently available (in GB). + AvailableMemory pulumi.Float64Input `pulumi:"availableMemory"` + // Number of cores reserved for system use. + ReservedCore pulumi.Float64Input `pulumi:"reservedCore"` + // Amount of memory reserved for system use (in GB). + ReservedMemory pulumi.Float64Input `pulumi:"reservedMemory"` + // Total number of cores of the host. + TotalCore pulumi.Float64Input `pulumi:"totalCore"` + // Total amount of memory of the host (in GB). + TotalMemory pulumi.Float64Input `pulumi:"totalMemory"` + // Number of cores in use on the host. + UsedCore pulumi.Float64Input `pulumi:"usedCore"` + // Amount of memory used on the host (in GB). + UsedMemory pulumi.Float64Input `pulumi:"usedMemory"` +} + +func (GetPiHostCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostCapacity)(nil)).Elem() +} + +func (i GetPiHostCapacityArgs) ToGetPiHostCapacityOutput() GetPiHostCapacityOutput { + return i.ToGetPiHostCapacityOutputWithContext(context.Background()) +} + +func (i GetPiHostCapacityArgs) ToGetPiHostCapacityOutputWithContext(ctx context.Context) GetPiHostCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiHostCapacityOutput) +} + +// GetPiHostCapacityArrayInput is an input type that accepts GetPiHostCapacityArray and GetPiHostCapacityArrayOutput values. +// You can construct a concrete instance of `GetPiHostCapacityArrayInput` via: +// +// GetPiHostCapacityArray{ GetPiHostCapacityArgs{...} } +type GetPiHostCapacityArrayInput interface { + pulumi.Input + + ToGetPiHostCapacityArrayOutput() GetPiHostCapacityArrayOutput + ToGetPiHostCapacityArrayOutputWithContext(context.Context) GetPiHostCapacityArrayOutput +} + +type GetPiHostCapacityArray []GetPiHostCapacityInput + +func (GetPiHostCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiHostCapacity)(nil)).Elem() +} + +func (i GetPiHostCapacityArray) ToGetPiHostCapacityArrayOutput() GetPiHostCapacityArrayOutput { + return i.ToGetPiHostCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetPiHostCapacityArray) ToGetPiHostCapacityArrayOutputWithContext(ctx context.Context) GetPiHostCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiHostCapacityArrayOutput) +} + +type GetPiHostCapacityOutput struct{ *pulumi.OutputState } + +func (GetPiHostCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostCapacity)(nil)).Elem() +} + +func (o GetPiHostCapacityOutput) ToGetPiHostCapacityOutput() GetPiHostCapacityOutput { + return o +} + +func (o GetPiHostCapacityOutput) ToGetPiHostCapacityOutputWithContext(ctx context.Context) GetPiHostCapacityOutput { + return o +} + +// Number of cores currently available. +func (o GetPiHostCapacityOutput) AvailableCores() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostCapacity) float64 { return v.AvailableCores }).(pulumi.Float64Output) +} + +// Amount of memory currently available (in GB). +func (o GetPiHostCapacityOutput) AvailableMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostCapacity) float64 { return v.AvailableMemory }).(pulumi.Float64Output) +} + +// Number of cores reserved for system use. +func (o GetPiHostCapacityOutput) ReservedCore() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostCapacity) float64 { return v.ReservedCore }).(pulumi.Float64Output) +} + +// Amount of memory reserved for system use (in GB). +func (o GetPiHostCapacityOutput) ReservedMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostCapacity) float64 { return v.ReservedMemory }).(pulumi.Float64Output) +} + +// Total number of cores of the host. +func (o GetPiHostCapacityOutput) TotalCore() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostCapacity) float64 { return v.TotalCore }).(pulumi.Float64Output) +} + +// Total amount of memory of the host (in GB). +func (o GetPiHostCapacityOutput) TotalMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostCapacity) float64 { return v.TotalMemory }).(pulumi.Float64Output) +} + +// Number of cores in use on the host. +func (o GetPiHostCapacityOutput) UsedCore() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostCapacity) float64 { return v.UsedCore }).(pulumi.Float64Output) +} + +// Amount of memory used on the host (in GB). +func (o GetPiHostCapacityOutput) UsedMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostCapacity) float64 { return v.UsedMemory }).(pulumi.Float64Output) +} + +type GetPiHostCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetPiHostCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiHostCapacity)(nil)).Elem() +} + +func (o GetPiHostCapacityArrayOutput) ToGetPiHostCapacityArrayOutput() GetPiHostCapacityArrayOutput { + return o +} + +func (o GetPiHostCapacityArrayOutput) ToGetPiHostCapacityArrayOutputWithContext(ctx context.Context) GetPiHostCapacityArrayOutput { + return o +} + +func (o GetPiHostCapacityArrayOutput) Index(i pulumi.IntInput) GetPiHostCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiHostCapacity { + return vs[0].([]GetPiHostCapacity)[vs[1].(int)] + }).(GetPiHostCapacityOutput) +} + +type GetPiHostGroupsHostGroup struct { + // Date/Time of host group creation. + CreationDate string `pulumi:"creationDate"` + // List of hosts. + Hosts []string `pulumi:"hosts"` + // Host group ID. + Id string `pulumi:"id"` + // Name of the host group. + Name string `pulumi:"name"` + // ID of the workspace owning the host group. + Primary string `pulumi:"primary"` + // IDs of workspaces the host group has been shared with. + Secondaries []string `pulumi:"secondaries"` +} + +// GetPiHostGroupsHostGroupInput is an input type that accepts GetPiHostGroupsHostGroupArgs and GetPiHostGroupsHostGroupOutput values. +// You can construct a concrete instance of `GetPiHostGroupsHostGroupInput` via: +// +// GetPiHostGroupsHostGroupArgs{...} +type GetPiHostGroupsHostGroupInput interface { + pulumi.Input + + ToGetPiHostGroupsHostGroupOutput() GetPiHostGroupsHostGroupOutput + ToGetPiHostGroupsHostGroupOutputWithContext(context.Context) GetPiHostGroupsHostGroupOutput +} + +type GetPiHostGroupsHostGroupArgs struct { + // Date/Time of host group creation. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // List of hosts. + Hosts pulumi.StringArrayInput `pulumi:"hosts"` + // Host group ID. + Id pulumi.StringInput `pulumi:"id"` + // Name of the host group. + Name pulumi.StringInput `pulumi:"name"` + // ID of the workspace owning the host group. + Primary pulumi.StringInput `pulumi:"primary"` + // IDs of workspaces the host group has been shared with. + Secondaries pulumi.StringArrayInput `pulumi:"secondaries"` +} + +func (GetPiHostGroupsHostGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostGroupsHostGroup)(nil)).Elem() +} + +func (i GetPiHostGroupsHostGroupArgs) ToGetPiHostGroupsHostGroupOutput() GetPiHostGroupsHostGroupOutput { + return i.ToGetPiHostGroupsHostGroupOutputWithContext(context.Background()) +} + +func (i GetPiHostGroupsHostGroupArgs) ToGetPiHostGroupsHostGroupOutputWithContext(ctx context.Context) GetPiHostGroupsHostGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiHostGroupsHostGroupOutput) +} + +// GetPiHostGroupsHostGroupArrayInput is an input type that accepts GetPiHostGroupsHostGroupArray and GetPiHostGroupsHostGroupArrayOutput values. +// You can construct a concrete instance of `GetPiHostGroupsHostGroupArrayInput` via: +// +// GetPiHostGroupsHostGroupArray{ GetPiHostGroupsHostGroupArgs{...} } +type GetPiHostGroupsHostGroupArrayInput interface { + pulumi.Input + + ToGetPiHostGroupsHostGroupArrayOutput() GetPiHostGroupsHostGroupArrayOutput + ToGetPiHostGroupsHostGroupArrayOutputWithContext(context.Context) GetPiHostGroupsHostGroupArrayOutput +} + +type GetPiHostGroupsHostGroupArray []GetPiHostGroupsHostGroupInput + +func (GetPiHostGroupsHostGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiHostGroupsHostGroup)(nil)).Elem() +} + +func (i GetPiHostGroupsHostGroupArray) ToGetPiHostGroupsHostGroupArrayOutput() GetPiHostGroupsHostGroupArrayOutput { + return i.ToGetPiHostGroupsHostGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiHostGroupsHostGroupArray) ToGetPiHostGroupsHostGroupArrayOutputWithContext(ctx context.Context) GetPiHostGroupsHostGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiHostGroupsHostGroupArrayOutput) +} + +type GetPiHostGroupsHostGroupOutput struct{ *pulumi.OutputState } + +func (GetPiHostGroupsHostGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostGroupsHostGroup)(nil)).Elem() +} + +func (o GetPiHostGroupsHostGroupOutput) ToGetPiHostGroupsHostGroupOutput() GetPiHostGroupsHostGroupOutput { + return o +} + +func (o GetPiHostGroupsHostGroupOutput) ToGetPiHostGroupsHostGroupOutputWithContext(ctx context.Context) GetPiHostGroupsHostGroupOutput { + return o +} + +// Date/Time of host group creation. +func (o GetPiHostGroupsHostGroupOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostGroupsHostGroup) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// List of hosts. +func (o GetPiHostGroupsHostGroupOutput) Hosts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiHostGroupsHostGroup) []string { return v.Hosts }).(pulumi.StringArrayOutput) +} + +// Host group ID. +func (o GetPiHostGroupsHostGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostGroupsHostGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// Name of the host group. +func (o GetPiHostGroupsHostGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostGroupsHostGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// ID of the workspace owning the host group. +func (o GetPiHostGroupsHostGroupOutput) Primary() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostGroupsHostGroup) string { return v.Primary }).(pulumi.StringOutput) +} + +// IDs of workspaces the host group has been shared with. +func (o GetPiHostGroupsHostGroupOutput) Secondaries() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiHostGroupsHostGroup) []string { return v.Secondaries }).(pulumi.StringArrayOutput) +} + +type GetPiHostGroupsHostGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiHostGroupsHostGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiHostGroupsHostGroup)(nil)).Elem() +} + +func (o GetPiHostGroupsHostGroupArrayOutput) ToGetPiHostGroupsHostGroupArrayOutput() GetPiHostGroupsHostGroupArrayOutput { + return o +} + +func (o GetPiHostGroupsHostGroupArrayOutput) ToGetPiHostGroupsHostGroupArrayOutputWithContext(ctx context.Context) GetPiHostGroupsHostGroupArrayOutput { + return o +} + +func (o GetPiHostGroupsHostGroupArrayOutput) Index(i pulumi.IntInput) GetPiHostGroupsHostGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiHostGroupsHostGroup { + return vs[0].([]GetPiHostGroupsHostGroup)[vs[1].(int)] + }).(GetPiHostGroupsHostGroupOutput) +} + +type GetPiHostsHost struct { + Capacities []GetPiHostsHostCapacity `pulumi:"capacities"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // Name of the host (chosen by the user). + DisplayName string `pulumi:"displayName"` + // Link to host group resource. + HostGroup map[string]string `pulumi:"hostGroup"` + // Host ID. + HostId string `pulumi:"hostId"` + // Current physical ID of the host. + HostReference int `pulumi:"hostReference"` + // State of the host (up/down). + State string `pulumi:"state"` + // Status of the host (enabled/disabled). + Status string `pulumi:"status"` + // System type. + SysType string `pulumi:"sysType"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiHostsHostInput is an input type that accepts GetPiHostsHostArgs and GetPiHostsHostOutput values. +// You can construct a concrete instance of `GetPiHostsHostInput` via: +// +// GetPiHostsHostArgs{...} +type GetPiHostsHostInput interface { + pulumi.Input + + ToGetPiHostsHostOutput() GetPiHostsHostOutput + ToGetPiHostsHostOutputWithContext(context.Context) GetPiHostsHostOutput +} + +type GetPiHostsHostArgs struct { + Capacities GetPiHostsHostCapacityArrayInput `pulumi:"capacities"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // Name of the host (chosen by the user). + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Link to host group resource. + HostGroup pulumi.StringMapInput `pulumi:"hostGroup"` + // Host ID. + HostId pulumi.StringInput `pulumi:"hostId"` + // Current physical ID of the host. + HostReference pulumi.IntInput `pulumi:"hostReference"` + // State of the host (up/down). + State pulumi.StringInput `pulumi:"state"` + // Status of the host (enabled/disabled). + Status pulumi.StringInput `pulumi:"status"` + // System type. + SysType pulumi.StringInput `pulumi:"sysType"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiHostsHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostsHost)(nil)).Elem() +} + +func (i GetPiHostsHostArgs) ToGetPiHostsHostOutput() GetPiHostsHostOutput { + return i.ToGetPiHostsHostOutputWithContext(context.Background()) +} + +func (i GetPiHostsHostArgs) ToGetPiHostsHostOutputWithContext(ctx context.Context) GetPiHostsHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiHostsHostOutput) +} + +// GetPiHostsHostArrayInput is an input type that accepts GetPiHostsHostArray and GetPiHostsHostArrayOutput values. +// You can construct a concrete instance of `GetPiHostsHostArrayInput` via: +// +// GetPiHostsHostArray{ GetPiHostsHostArgs{...} } +type GetPiHostsHostArrayInput interface { + pulumi.Input + + ToGetPiHostsHostArrayOutput() GetPiHostsHostArrayOutput + ToGetPiHostsHostArrayOutputWithContext(context.Context) GetPiHostsHostArrayOutput +} + +type GetPiHostsHostArray []GetPiHostsHostInput + +func (GetPiHostsHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiHostsHost)(nil)).Elem() +} + +func (i GetPiHostsHostArray) ToGetPiHostsHostArrayOutput() GetPiHostsHostArrayOutput { + return i.ToGetPiHostsHostArrayOutputWithContext(context.Background()) +} + +func (i GetPiHostsHostArray) ToGetPiHostsHostArrayOutputWithContext(ctx context.Context) GetPiHostsHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiHostsHostArrayOutput) +} + +type GetPiHostsHostOutput struct{ *pulumi.OutputState } + +func (GetPiHostsHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostsHost)(nil)).Elem() +} + +func (o GetPiHostsHostOutput) ToGetPiHostsHostOutput() GetPiHostsHostOutput { + return o +} + +func (o GetPiHostsHostOutput) ToGetPiHostsHostOutputWithContext(ctx context.Context) GetPiHostsHostOutput { + return o +} + +func (o GetPiHostsHostOutput) Capacities() GetPiHostsHostCapacityArrayOutput { + return o.ApplyT(func(v GetPiHostsHost) []GetPiHostsHostCapacity { return v.Capacities }).(GetPiHostsHostCapacityArrayOutput) +} + +// The CRN of this resource. +func (o GetPiHostsHostOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostsHost) string { return v.Crn }).(pulumi.StringOutput) +} + +// Name of the host (chosen by the user). +func (o GetPiHostsHostOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostsHost) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Link to host group resource. +func (o GetPiHostsHostOutput) HostGroup() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiHostsHost) map[string]string { return v.HostGroup }).(pulumi.StringMapOutput) +} + +// Host ID. +func (o GetPiHostsHostOutput) HostId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostsHost) string { return v.HostId }).(pulumi.StringOutput) +} + +// Current physical ID of the host. +func (o GetPiHostsHostOutput) HostReference() pulumi.IntOutput { + return o.ApplyT(func(v GetPiHostsHost) int { return v.HostReference }).(pulumi.IntOutput) +} + +// State of the host (up/down). +func (o GetPiHostsHostOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostsHost) string { return v.State }).(pulumi.StringOutput) +} + +// Status of the host (enabled/disabled). +func (o GetPiHostsHostOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostsHost) string { return v.Status }).(pulumi.StringOutput) +} + +// System type. +func (o GetPiHostsHostOutput) SysType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiHostsHost) string { return v.SysType }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiHostsHostOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiHostsHost) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiHostsHostArrayOutput struct{ *pulumi.OutputState } + +func (GetPiHostsHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiHostsHost)(nil)).Elem() +} + +func (o GetPiHostsHostArrayOutput) ToGetPiHostsHostArrayOutput() GetPiHostsHostArrayOutput { + return o +} + +func (o GetPiHostsHostArrayOutput) ToGetPiHostsHostArrayOutputWithContext(ctx context.Context) GetPiHostsHostArrayOutput { + return o +} + +func (o GetPiHostsHostArrayOutput) Index(i pulumi.IntInput) GetPiHostsHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiHostsHost { + return vs[0].([]GetPiHostsHost)[vs[1].(int)] + }).(GetPiHostsHostOutput) +} + +type GetPiHostsHostCapacity struct { + // Number of cores currently available. + AvailableCores float64 `pulumi:"availableCores"` + // Amount of memory currently available (in GB). + AvailableMemory float64 `pulumi:"availableMemory"` + // Number of cores reserved for system use. + ReservedCore float64 `pulumi:"reservedCore"` + // Amount of memory reserved for system use (in GB). + ReservedMemory float64 `pulumi:"reservedMemory"` + // Total number of cores of the host. + TotalCore float64 `pulumi:"totalCore"` + // Total amount of memory of the host (in GB). + TotalMemory float64 `pulumi:"totalMemory"` + // Number of cores in use on the host. + UsedCore float64 `pulumi:"usedCore"` + // Amount of memory used on the host (in GB). + UsedMemory float64 `pulumi:"usedMemory"` +} + +// GetPiHostsHostCapacityInput is an input type that accepts GetPiHostsHostCapacityArgs and GetPiHostsHostCapacityOutput values. +// You can construct a concrete instance of `GetPiHostsHostCapacityInput` via: +// +// GetPiHostsHostCapacityArgs{...} +type GetPiHostsHostCapacityInput interface { + pulumi.Input + + ToGetPiHostsHostCapacityOutput() GetPiHostsHostCapacityOutput + ToGetPiHostsHostCapacityOutputWithContext(context.Context) GetPiHostsHostCapacityOutput +} + +type GetPiHostsHostCapacityArgs struct { + // Number of cores currently available. + AvailableCores pulumi.Float64Input `pulumi:"availableCores"` + // Amount of memory currently available (in GB). + AvailableMemory pulumi.Float64Input `pulumi:"availableMemory"` + // Number of cores reserved for system use. + ReservedCore pulumi.Float64Input `pulumi:"reservedCore"` + // Amount of memory reserved for system use (in GB). + ReservedMemory pulumi.Float64Input `pulumi:"reservedMemory"` + // Total number of cores of the host. + TotalCore pulumi.Float64Input `pulumi:"totalCore"` + // Total amount of memory of the host (in GB). + TotalMemory pulumi.Float64Input `pulumi:"totalMemory"` + // Number of cores in use on the host. + UsedCore pulumi.Float64Input `pulumi:"usedCore"` + // Amount of memory used on the host (in GB). + UsedMemory pulumi.Float64Input `pulumi:"usedMemory"` +} + +func (GetPiHostsHostCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostsHostCapacity)(nil)).Elem() +} + +func (i GetPiHostsHostCapacityArgs) ToGetPiHostsHostCapacityOutput() GetPiHostsHostCapacityOutput { + return i.ToGetPiHostsHostCapacityOutputWithContext(context.Background()) +} + +func (i GetPiHostsHostCapacityArgs) ToGetPiHostsHostCapacityOutputWithContext(ctx context.Context) GetPiHostsHostCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiHostsHostCapacityOutput) +} + +// GetPiHostsHostCapacityArrayInput is an input type that accepts GetPiHostsHostCapacityArray and GetPiHostsHostCapacityArrayOutput values. +// You can construct a concrete instance of `GetPiHostsHostCapacityArrayInput` via: +// +// GetPiHostsHostCapacityArray{ GetPiHostsHostCapacityArgs{...} } +type GetPiHostsHostCapacityArrayInput interface { + pulumi.Input + + ToGetPiHostsHostCapacityArrayOutput() GetPiHostsHostCapacityArrayOutput + ToGetPiHostsHostCapacityArrayOutputWithContext(context.Context) GetPiHostsHostCapacityArrayOutput +} + +type GetPiHostsHostCapacityArray []GetPiHostsHostCapacityInput + +func (GetPiHostsHostCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiHostsHostCapacity)(nil)).Elem() +} + +func (i GetPiHostsHostCapacityArray) ToGetPiHostsHostCapacityArrayOutput() GetPiHostsHostCapacityArrayOutput { + return i.ToGetPiHostsHostCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetPiHostsHostCapacityArray) ToGetPiHostsHostCapacityArrayOutputWithContext(ctx context.Context) GetPiHostsHostCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiHostsHostCapacityArrayOutput) +} + +type GetPiHostsHostCapacityOutput struct{ *pulumi.OutputState } + +func (GetPiHostsHostCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiHostsHostCapacity)(nil)).Elem() +} + +func (o GetPiHostsHostCapacityOutput) ToGetPiHostsHostCapacityOutput() GetPiHostsHostCapacityOutput { + return o +} + +func (o GetPiHostsHostCapacityOutput) ToGetPiHostsHostCapacityOutputWithContext(ctx context.Context) GetPiHostsHostCapacityOutput { + return o +} + +// Number of cores currently available. +func (o GetPiHostsHostCapacityOutput) AvailableCores() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostsHostCapacity) float64 { return v.AvailableCores }).(pulumi.Float64Output) +} + +// Amount of memory currently available (in GB). +func (o GetPiHostsHostCapacityOutput) AvailableMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostsHostCapacity) float64 { return v.AvailableMemory }).(pulumi.Float64Output) +} + +// Number of cores reserved for system use. +func (o GetPiHostsHostCapacityOutput) ReservedCore() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostsHostCapacity) float64 { return v.ReservedCore }).(pulumi.Float64Output) +} + +// Amount of memory reserved for system use (in GB). +func (o GetPiHostsHostCapacityOutput) ReservedMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostsHostCapacity) float64 { return v.ReservedMemory }).(pulumi.Float64Output) +} + +// Total number of cores of the host. +func (o GetPiHostsHostCapacityOutput) TotalCore() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostsHostCapacity) float64 { return v.TotalCore }).(pulumi.Float64Output) +} + +// Total amount of memory of the host (in GB). +func (o GetPiHostsHostCapacityOutput) TotalMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostsHostCapacity) float64 { return v.TotalMemory }).(pulumi.Float64Output) +} + +// Number of cores in use on the host. +func (o GetPiHostsHostCapacityOutput) UsedCore() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostsHostCapacity) float64 { return v.UsedCore }).(pulumi.Float64Output) +} + +// Amount of memory used on the host (in GB). +func (o GetPiHostsHostCapacityOutput) UsedMemory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiHostsHostCapacity) float64 { return v.UsedMemory }).(pulumi.Float64Output) +} + +type GetPiHostsHostCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetPiHostsHostCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiHostsHostCapacity)(nil)).Elem() +} + +func (o GetPiHostsHostCapacityArrayOutput) ToGetPiHostsHostCapacityArrayOutput() GetPiHostsHostCapacityArrayOutput { + return o +} + +func (o GetPiHostsHostCapacityArrayOutput) ToGetPiHostsHostCapacityArrayOutputWithContext(ctx context.Context) GetPiHostsHostCapacityArrayOutput { + return o +} + +func (o GetPiHostsHostCapacityArrayOutput) Index(i pulumi.IntInput) GetPiHostsHostCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiHostsHostCapacity { + return vs[0].([]GetPiHostsHostCapacity)[vs[1].(int)] + }).(GetPiHostsHostCapacityOutput) +} + +type GetPiImagesImageInfo struct { + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The hyper link of an image. + Href string `pulumi:"href"` + // The unique identifier of an image. + Id string `pulumi:"id"` + // The identifier of this image type. + ImageType string `pulumi:"imageType"` + // The name of an image. + Name string `pulumi:"name"` + // Checksum of the image. + SourceChecksum string `pulumi:"sourceChecksum"` + // The state of an image. + State string `pulumi:"state"` + // Storage pool where image resides. + StoragePool string `pulumi:"storagePool"` + // The storage type of an image. + StorageType string `pulumi:"storageType"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiImagesImageInfoInput is an input type that accepts GetPiImagesImageInfoArgs and GetPiImagesImageInfoOutput values. +// You can construct a concrete instance of `GetPiImagesImageInfoInput` via: +// +// GetPiImagesImageInfoArgs{...} +type GetPiImagesImageInfoInput interface { + pulumi.Input + + ToGetPiImagesImageInfoOutput() GetPiImagesImageInfoOutput + ToGetPiImagesImageInfoOutputWithContext(context.Context) GetPiImagesImageInfoOutput +} + +type GetPiImagesImageInfoArgs struct { + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The hyper link of an image. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier of an image. + Id pulumi.StringInput `pulumi:"id"` + // The identifier of this image type. + ImageType pulumi.StringInput `pulumi:"imageType"` + // The name of an image. + Name pulumi.StringInput `pulumi:"name"` + // Checksum of the image. + SourceChecksum pulumi.StringInput `pulumi:"sourceChecksum"` + // The state of an image. + State pulumi.StringInput `pulumi:"state"` + // Storage pool where image resides. + StoragePool pulumi.StringInput `pulumi:"storagePool"` + // The storage type of an image. + StorageType pulumi.StringInput `pulumi:"storageType"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiImagesImageInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiImagesImageInfo)(nil)).Elem() +} + +func (i GetPiImagesImageInfoArgs) ToGetPiImagesImageInfoOutput() GetPiImagesImageInfoOutput { + return i.ToGetPiImagesImageInfoOutputWithContext(context.Background()) +} + +func (i GetPiImagesImageInfoArgs) ToGetPiImagesImageInfoOutputWithContext(ctx context.Context) GetPiImagesImageInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiImagesImageInfoOutput) +} + +// GetPiImagesImageInfoArrayInput is an input type that accepts GetPiImagesImageInfoArray and GetPiImagesImageInfoArrayOutput values. +// You can construct a concrete instance of `GetPiImagesImageInfoArrayInput` via: +// +// GetPiImagesImageInfoArray{ GetPiImagesImageInfoArgs{...} } +type GetPiImagesImageInfoArrayInput interface { + pulumi.Input + + ToGetPiImagesImageInfoArrayOutput() GetPiImagesImageInfoArrayOutput + ToGetPiImagesImageInfoArrayOutputWithContext(context.Context) GetPiImagesImageInfoArrayOutput +} + +type GetPiImagesImageInfoArray []GetPiImagesImageInfoInput + +func (GetPiImagesImageInfoArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiImagesImageInfo)(nil)).Elem() +} + +func (i GetPiImagesImageInfoArray) ToGetPiImagesImageInfoArrayOutput() GetPiImagesImageInfoArrayOutput { + return i.ToGetPiImagesImageInfoArrayOutputWithContext(context.Background()) +} + +func (i GetPiImagesImageInfoArray) ToGetPiImagesImageInfoArrayOutputWithContext(ctx context.Context) GetPiImagesImageInfoArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiImagesImageInfoArrayOutput) +} + +type GetPiImagesImageInfoOutput struct{ *pulumi.OutputState } + +func (GetPiImagesImageInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiImagesImageInfo)(nil)).Elem() +} + +func (o GetPiImagesImageInfoOutput) ToGetPiImagesImageInfoOutput() GetPiImagesImageInfoOutput { + return o +} + +func (o GetPiImagesImageInfoOutput) ToGetPiImagesImageInfoOutputWithContext(ctx context.Context) GetPiImagesImageInfoOutput { + return o +} + +// The CRN of this resource. +func (o GetPiImagesImageInfoOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.Crn }).(pulumi.StringOutput) +} + +// The hyper link of an image. +func (o GetPiImagesImageInfoOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier of an image. +func (o GetPiImagesImageInfoOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.Id }).(pulumi.StringOutput) +} + +// The identifier of this image type. +func (o GetPiImagesImageInfoOutput) ImageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.ImageType }).(pulumi.StringOutput) +} + +// The name of an image. +func (o GetPiImagesImageInfoOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.Name }).(pulumi.StringOutput) +} + +// Checksum of the image. +func (o GetPiImagesImageInfoOutput) SourceChecksum() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.SourceChecksum }).(pulumi.StringOutput) +} + +// The state of an image. +func (o GetPiImagesImageInfoOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.State }).(pulumi.StringOutput) +} + +// Storage pool where image resides. +func (o GetPiImagesImageInfoOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.StoragePool }).(pulumi.StringOutput) +} + +// The storage type of an image. +func (o GetPiImagesImageInfoOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) string { return v.StorageType }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiImagesImageInfoOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiImagesImageInfo) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiImagesImageInfoArrayOutput struct{ *pulumi.OutputState } + +func (GetPiImagesImageInfoArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiImagesImageInfo)(nil)).Elem() +} + +func (o GetPiImagesImageInfoArrayOutput) ToGetPiImagesImageInfoArrayOutput() GetPiImagesImageInfoArrayOutput { + return o +} + +func (o GetPiImagesImageInfoArrayOutput) ToGetPiImagesImageInfoArrayOutputWithContext(ctx context.Context) GetPiImagesImageInfoArrayOutput { + return o +} + +func (o GetPiImagesImageInfoArrayOutput) Index(i pulumi.IntInput) GetPiImagesImageInfoOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiImagesImageInfo { + return vs[0].([]GetPiImagesImageInfo)[vs[1].(int)] + }).(GetPiImagesImageInfoOutput) +} + +type GetPiInstanceNetwork struct { + // The external IP address of the instance. + ExternalIp string `pulumi:"externalIp"` + // The IP address of the instance. + Ip string `pulumi:"ip"` + // The MAC address of the instance. + MacAddress string `pulumi:"macAddress"` + // The network ID of the instance. + NetworkId string `pulumi:"networkId"` + // ID of the network interface. + NetworkInterfaceId string `pulumi:"networkInterfaceId"` + // The network name of the instance. + NetworkName string `pulumi:"networkName"` + // IDs of the network necurity groups that the network interface is a member of. + NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` + // Links to the network security groups that the network interface is a member of. + NetworkSecurityGroupsHreves []string `pulumi:"networkSecurityGroupsHreves"` + // The type of the network. + Type string `pulumi:"type"` +} + +// GetPiInstanceNetworkInput is an input type that accepts GetPiInstanceNetworkArgs and GetPiInstanceNetworkOutput values. +// You can construct a concrete instance of `GetPiInstanceNetworkInput` via: +// +// GetPiInstanceNetworkArgs{...} +type GetPiInstanceNetworkInput interface { + pulumi.Input + + ToGetPiInstanceNetworkOutput() GetPiInstanceNetworkOutput + ToGetPiInstanceNetworkOutputWithContext(context.Context) GetPiInstanceNetworkOutput +} + +type GetPiInstanceNetworkArgs struct { + // The external IP address of the instance. + ExternalIp pulumi.StringInput `pulumi:"externalIp"` + // The IP address of the instance. + Ip pulumi.StringInput `pulumi:"ip"` + // The MAC address of the instance. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // The network ID of the instance. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // ID of the network interface. + NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` + // The network name of the instance. + NetworkName pulumi.StringInput `pulumi:"networkName"` + // IDs of the network necurity groups that the network interface is a member of. + NetworkSecurityGroupIds pulumi.StringArrayInput `pulumi:"networkSecurityGroupIds"` + // Links to the network security groups that the network interface is a member of. + NetworkSecurityGroupsHreves pulumi.StringArrayInput `pulumi:"networkSecurityGroupsHreves"` + // The type of the network. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiInstanceNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceNetwork)(nil)).Elem() +} + +func (i GetPiInstanceNetworkArgs) ToGetPiInstanceNetworkOutput() GetPiInstanceNetworkOutput { + return i.ToGetPiInstanceNetworkOutputWithContext(context.Background()) +} + +func (i GetPiInstanceNetworkArgs) ToGetPiInstanceNetworkOutputWithContext(ctx context.Context) GetPiInstanceNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstanceNetworkOutput) +} + +// GetPiInstanceNetworkArrayInput is an input type that accepts GetPiInstanceNetworkArray and GetPiInstanceNetworkArrayOutput values. +// You can construct a concrete instance of `GetPiInstanceNetworkArrayInput` via: +// +// GetPiInstanceNetworkArray{ GetPiInstanceNetworkArgs{...} } +type GetPiInstanceNetworkArrayInput interface { + pulumi.Input + + ToGetPiInstanceNetworkArrayOutput() GetPiInstanceNetworkArrayOutput + ToGetPiInstanceNetworkArrayOutputWithContext(context.Context) GetPiInstanceNetworkArrayOutput +} + +type GetPiInstanceNetworkArray []GetPiInstanceNetworkInput + +func (GetPiInstanceNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstanceNetwork)(nil)).Elem() +} + +func (i GetPiInstanceNetworkArray) ToGetPiInstanceNetworkArrayOutput() GetPiInstanceNetworkArrayOutput { + return i.ToGetPiInstanceNetworkArrayOutputWithContext(context.Background()) +} + +func (i GetPiInstanceNetworkArray) ToGetPiInstanceNetworkArrayOutputWithContext(ctx context.Context) GetPiInstanceNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstanceNetworkArrayOutput) +} + +type GetPiInstanceNetworkOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceNetwork)(nil)).Elem() +} + +func (o GetPiInstanceNetworkOutput) ToGetPiInstanceNetworkOutput() GetPiInstanceNetworkOutput { + return o +} + +func (o GetPiInstanceNetworkOutput) ToGetPiInstanceNetworkOutputWithContext(ctx context.Context) GetPiInstanceNetworkOutput { + return o +} + +// The external IP address of the instance. +func (o GetPiInstanceNetworkOutput) ExternalIp() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) string { return v.ExternalIp }).(pulumi.StringOutput) +} + +// The IP address of the instance. +func (o GetPiInstanceNetworkOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) string { return v.Ip }).(pulumi.StringOutput) +} + +// The MAC address of the instance. +func (o GetPiInstanceNetworkOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// The network ID of the instance. +func (o GetPiInstanceNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) string { return v.NetworkId }).(pulumi.StringOutput) +} + +// ID of the network interface. +func (o GetPiInstanceNetworkOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +} + +// The network name of the instance. +func (o GetPiInstanceNetworkOutput) NetworkName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) string { return v.NetworkName }).(pulumi.StringOutput) +} + +// IDs of the network necurity groups that the network interface is a member of. +func (o GetPiInstanceNetworkOutput) NetworkSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) []string { return v.NetworkSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Links to the network security groups that the network interface is a member of. +func (o GetPiInstanceNetworkOutput) NetworkSecurityGroupsHreves() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) []string { return v.NetworkSecurityGroupsHreves }).(pulumi.StringArrayOutput) +} + +// The type of the network. +func (o GetPiInstanceNetworkOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceNetwork) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiInstanceNetworkArrayOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstanceNetwork)(nil)).Elem() +} + +func (o GetPiInstanceNetworkArrayOutput) ToGetPiInstanceNetworkArrayOutput() GetPiInstanceNetworkArrayOutput { + return o +} + +func (o GetPiInstanceNetworkArrayOutput) ToGetPiInstanceNetworkArrayOutputWithContext(ctx context.Context) GetPiInstanceNetworkArrayOutput { + return o +} + +func (o GetPiInstanceNetworkArrayOutput) Index(i pulumi.IntInput) GetPiInstanceNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiInstanceNetwork { + return vs[0].([]GetPiInstanceNetwork)[vs[1].(int)] + }).(GetPiInstanceNetworkOutput) +} + +type GetPiInstanceSnapshotsInstanceSnapshot struct { + // Action performed on the instance snapshot. + Action string `pulumi:"action"` + // Date of snapshot creation. + CreationDate string `pulumi:"creationDate"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The description of the snapshot. + Description string `pulumi:"description"` + // The unique identifier of the Power Systems Virtual Machine instance snapshot. + Id string `pulumi:"id"` + // Date of last update. + LastUpdatedDate string `pulumi:"lastUpdatedDate"` + // The name of the Power Systems Virtual Machine instance snapshot. + Name string `pulumi:"name"` + // The snapshot completion percentage. + PercentComplete int `pulumi:"percentComplete"` + // The status of the Power Virtual Machine instance snapshot. + Status string `pulumi:"status"` + // Detailed information for the last PVM instance snapshot action. + StatusDetail string `pulumi:"statusDetail"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` + // A map of volume snapshots included in the Power Virtual Machine instance snapshot. + VolumeSnapshots map[string]string `pulumi:"volumeSnapshots"` +} + +// GetPiInstanceSnapshotsInstanceSnapshotInput is an input type that accepts GetPiInstanceSnapshotsInstanceSnapshotArgs and GetPiInstanceSnapshotsInstanceSnapshotOutput values. +// You can construct a concrete instance of `GetPiInstanceSnapshotsInstanceSnapshotInput` via: +// +// GetPiInstanceSnapshotsInstanceSnapshotArgs{...} +type GetPiInstanceSnapshotsInstanceSnapshotInput interface { + pulumi.Input + + ToGetPiInstanceSnapshotsInstanceSnapshotOutput() GetPiInstanceSnapshotsInstanceSnapshotOutput + ToGetPiInstanceSnapshotsInstanceSnapshotOutputWithContext(context.Context) GetPiInstanceSnapshotsInstanceSnapshotOutput +} + +type GetPiInstanceSnapshotsInstanceSnapshotArgs struct { + // Action performed on the instance snapshot. + Action pulumi.StringInput `pulumi:"action"` + // Date of snapshot creation. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The description of the snapshot. + Description pulumi.StringInput `pulumi:"description"` + // The unique identifier of the Power Systems Virtual Machine instance snapshot. + Id pulumi.StringInput `pulumi:"id"` + // Date of last update. + LastUpdatedDate pulumi.StringInput `pulumi:"lastUpdatedDate"` + // The name of the Power Systems Virtual Machine instance snapshot. + Name pulumi.StringInput `pulumi:"name"` + // The snapshot completion percentage. + PercentComplete pulumi.IntInput `pulumi:"percentComplete"` + // The status of the Power Virtual Machine instance snapshot. + Status pulumi.StringInput `pulumi:"status"` + // Detailed information for the last PVM instance snapshot action. + StatusDetail pulumi.StringInput `pulumi:"statusDetail"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` + // A map of volume snapshots included in the Power Virtual Machine instance snapshot. + VolumeSnapshots pulumi.StringMapInput `pulumi:"volumeSnapshots"` +} + +func (GetPiInstanceSnapshotsInstanceSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceSnapshotsInstanceSnapshot)(nil)).Elem() +} + +func (i GetPiInstanceSnapshotsInstanceSnapshotArgs) ToGetPiInstanceSnapshotsInstanceSnapshotOutput() GetPiInstanceSnapshotsInstanceSnapshotOutput { + return i.ToGetPiInstanceSnapshotsInstanceSnapshotOutputWithContext(context.Background()) +} + +func (i GetPiInstanceSnapshotsInstanceSnapshotArgs) ToGetPiInstanceSnapshotsInstanceSnapshotOutputWithContext(ctx context.Context) GetPiInstanceSnapshotsInstanceSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstanceSnapshotsInstanceSnapshotOutput) +} + +// GetPiInstanceSnapshotsInstanceSnapshotArrayInput is an input type that accepts GetPiInstanceSnapshotsInstanceSnapshotArray and GetPiInstanceSnapshotsInstanceSnapshotArrayOutput values. +// You can construct a concrete instance of `GetPiInstanceSnapshotsInstanceSnapshotArrayInput` via: +// +// GetPiInstanceSnapshotsInstanceSnapshotArray{ GetPiInstanceSnapshotsInstanceSnapshotArgs{...} } +type GetPiInstanceSnapshotsInstanceSnapshotArrayInput interface { + pulumi.Input + + ToGetPiInstanceSnapshotsInstanceSnapshotArrayOutput() GetPiInstanceSnapshotsInstanceSnapshotArrayOutput + ToGetPiInstanceSnapshotsInstanceSnapshotArrayOutputWithContext(context.Context) GetPiInstanceSnapshotsInstanceSnapshotArrayOutput +} + +type GetPiInstanceSnapshotsInstanceSnapshotArray []GetPiInstanceSnapshotsInstanceSnapshotInput + +func (GetPiInstanceSnapshotsInstanceSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstanceSnapshotsInstanceSnapshot)(nil)).Elem() +} + +func (i GetPiInstanceSnapshotsInstanceSnapshotArray) ToGetPiInstanceSnapshotsInstanceSnapshotArrayOutput() GetPiInstanceSnapshotsInstanceSnapshotArrayOutput { + return i.ToGetPiInstanceSnapshotsInstanceSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetPiInstanceSnapshotsInstanceSnapshotArray) ToGetPiInstanceSnapshotsInstanceSnapshotArrayOutputWithContext(ctx context.Context) GetPiInstanceSnapshotsInstanceSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstanceSnapshotsInstanceSnapshotArrayOutput) +} + +type GetPiInstanceSnapshotsInstanceSnapshotOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceSnapshotsInstanceSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceSnapshotsInstanceSnapshot)(nil)).Elem() +} + +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) ToGetPiInstanceSnapshotsInstanceSnapshotOutput() GetPiInstanceSnapshotsInstanceSnapshotOutput { + return o +} + +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) ToGetPiInstanceSnapshotsInstanceSnapshotOutputWithContext(ctx context.Context) GetPiInstanceSnapshotsInstanceSnapshotOutput { + return o +} + +// Action performed on the instance snapshot. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.Action }).(pulumi.StringOutput) +} + +// Date of snapshot creation. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// The description of the snapshot. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.Description }).(pulumi.StringOutput) +} + +// The unique identifier of the Power Systems Virtual Machine instance snapshot. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// Date of last update. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) LastUpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.LastUpdatedDate }).(pulumi.StringOutput) +} + +// The name of the Power Systems Virtual Machine instance snapshot. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// The snapshot completion percentage. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) PercentComplete() pulumi.IntOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) int { return v.PercentComplete }).(pulumi.IntOutput) +} + +// The status of the Power Virtual Machine instance snapshot. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.Status }).(pulumi.StringOutput) +} + +// Detailed information for the last PVM instance snapshot action. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) StatusDetail() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) string { return v.StatusDetail }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +// A map of volume snapshots included in the Power Virtual Machine instance snapshot. +func (o GetPiInstanceSnapshotsInstanceSnapshotOutput) VolumeSnapshots() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiInstanceSnapshotsInstanceSnapshot) map[string]string { return v.VolumeSnapshots }).(pulumi.StringMapOutput) +} + +type GetPiInstanceSnapshotsInstanceSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceSnapshotsInstanceSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstanceSnapshotsInstanceSnapshot)(nil)).Elem() +} + +func (o GetPiInstanceSnapshotsInstanceSnapshotArrayOutput) ToGetPiInstanceSnapshotsInstanceSnapshotArrayOutput() GetPiInstanceSnapshotsInstanceSnapshotArrayOutput { + return o +} + +func (o GetPiInstanceSnapshotsInstanceSnapshotArrayOutput) ToGetPiInstanceSnapshotsInstanceSnapshotArrayOutputWithContext(ctx context.Context) GetPiInstanceSnapshotsInstanceSnapshotArrayOutput { + return o +} + +func (o GetPiInstanceSnapshotsInstanceSnapshotArrayOutput) Index(i pulumi.IntInput) GetPiInstanceSnapshotsInstanceSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiInstanceSnapshotsInstanceSnapshot { + return vs[0].([]GetPiInstanceSnapshotsInstanceSnapshot)[vs[1].(int)] + }).(GetPiInstanceSnapshotsInstanceSnapshotOutput) +} + +type GetPiInstanceVirtualSerialNumber struct { + // Description of the Virtual Serial Number + Description string `pulumi:"description"` + // Virtual serial number. + Serial string `pulumi:"serial"` + // Software tier. + SoftwareTier string `pulumi:"softwareTier"` +} + +// GetPiInstanceVirtualSerialNumberInput is an input type that accepts GetPiInstanceVirtualSerialNumberArgs and GetPiInstanceVirtualSerialNumberOutput values. +// You can construct a concrete instance of `GetPiInstanceVirtualSerialNumberInput` via: +// +// GetPiInstanceVirtualSerialNumberArgs{...} +type GetPiInstanceVirtualSerialNumberInput interface { + pulumi.Input + + ToGetPiInstanceVirtualSerialNumberOutput() GetPiInstanceVirtualSerialNumberOutput + ToGetPiInstanceVirtualSerialNumberOutputWithContext(context.Context) GetPiInstanceVirtualSerialNumberOutput +} + +type GetPiInstanceVirtualSerialNumberArgs struct { + // Description of the Virtual Serial Number + Description pulumi.StringInput `pulumi:"description"` + // Virtual serial number. + Serial pulumi.StringInput `pulumi:"serial"` + // Software tier. + SoftwareTier pulumi.StringInput `pulumi:"softwareTier"` +} + +func (GetPiInstanceVirtualSerialNumberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceVirtualSerialNumber)(nil)).Elem() +} + +func (i GetPiInstanceVirtualSerialNumberArgs) ToGetPiInstanceVirtualSerialNumberOutput() GetPiInstanceVirtualSerialNumberOutput { + return i.ToGetPiInstanceVirtualSerialNumberOutputWithContext(context.Background()) +} + +func (i GetPiInstanceVirtualSerialNumberArgs) ToGetPiInstanceVirtualSerialNumberOutputWithContext(ctx context.Context) GetPiInstanceVirtualSerialNumberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstanceVirtualSerialNumberOutput) +} + +// GetPiInstanceVirtualSerialNumberArrayInput is an input type that accepts GetPiInstanceVirtualSerialNumberArray and GetPiInstanceVirtualSerialNumberArrayOutput values. +// You can construct a concrete instance of `GetPiInstanceVirtualSerialNumberArrayInput` via: +// +// GetPiInstanceVirtualSerialNumberArray{ GetPiInstanceVirtualSerialNumberArgs{...} } +type GetPiInstanceVirtualSerialNumberArrayInput interface { + pulumi.Input + + ToGetPiInstanceVirtualSerialNumberArrayOutput() GetPiInstanceVirtualSerialNumberArrayOutput + ToGetPiInstanceVirtualSerialNumberArrayOutputWithContext(context.Context) GetPiInstanceVirtualSerialNumberArrayOutput +} + +type GetPiInstanceVirtualSerialNumberArray []GetPiInstanceVirtualSerialNumberInput + +func (GetPiInstanceVirtualSerialNumberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstanceVirtualSerialNumber)(nil)).Elem() +} + +func (i GetPiInstanceVirtualSerialNumberArray) ToGetPiInstanceVirtualSerialNumberArrayOutput() GetPiInstanceVirtualSerialNumberArrayOutput { + return i.ToGetPiInstanceVirtualSerialNumberArrayOutputWithContext(context.Background()) +} + +func (i GetPiInstanceVirtualSerialNumberArray) ToGetPiInstanceVirtualSerialNumberArrayOutputWithContext(ctx context.Context) GetPiInstanceVirtualSerialNumberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstanceVirtualSerialNumberArrayOutput) +} + +type GetPiInstanceVirtualSerialNumberOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceVirtualSerialNumberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceVirtualSerialNumber)(nil)).Elem() +} + +func (o GetPiInstanceVirtualSerialNumberOutput) ToGetPiInstanceVirtualSerialNumberOutput() GetPiInstanceVirtualSerialNumberOutput { + return o +} + +func (o GetPiInstanceVirtualSerialNumberOutput) ToGetPiInstanceVirtualSerialNumberOutputWithContext(ctx context.Context) GetPiInstanceVirtualSerialNumberOutput { + return o +} + +// Description of the Virtual Serial Number +func (o GetPiInstanceVirtualSerialNumberOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVirtualSerialNumber) string { return v.Description }).(pulumi.StringOutput) +} + +// Virtual serial number. +func (o GetPiInstanceVirtualSerialNumberOutput) Serial() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVirtualSerialNumber) string { return v.Serial }).(pulumi.StringOutput) +} + +// Software tier. +func (o GetPiInstanceVirtualSerialNumberOutput) SoftwareTier() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVirtualSerialNumber) string { return v.SoftwareTier }).(pulumi.StringOutput) +} + +type GetPiInstanceVirtualSerialNumberArrayOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceVirtualSerialNumberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstanceVirtualSerialNumber)(nil)).Elem() +} + +func (o GetPiInstanceVirtualSerialNumberArrayOutput) ToGetPiInstanceVirtualSerialNumberArrayOutput() GetPiInstanceVirtualSerialNumberArrayOutput { + return o +} + +func (o GetPiInstanceVirtualSerialNumberArrayOutput) ToGetPiInstanceVirtualSerialNumberArrayOutputWithContext(ctx context.Context) GetPiInstanceVirtualSerialNumberArrayOutput { + return o +} + +func (o GetPiInstanceVirtualSerialNumberArrayOutput) Index(i pulumi.IntInput) GetPiInstanceVirtualSerialNumberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiInstanceVirtualSerialNumber { + return vs[0].([]GetPiInstanceVirtualSerialNumber)[vs[1].(int)] + }).(GetPiInstanceVirtualSerialNumberOutput) +} + +type GetPiInstanceVolumesInstanceVolume struct { + // Indicates if the volume is boot capable. + Bootable bool `pulumi:"bootable"` + // Date volume was created. + CreationDate string `pulumi:"creationDate"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The freeze time of remote copy. + FreezeTime string `pulumi:"freezeTime"` + // The hyper link of the volume. + Href string `pulumi:"href"` + // The unique identifier of the volume. + Id string `pulumi:"id"` + // The last updated date of the volume. + LastUpdateDate string `pulumi:"lastUpdateDate"` + // The name of the volume. + Name string `pulumi:"name"` + // Volume pool, name of storage pool where the volume is located. + Pool string `pulumi:"pool"` + // Indicates if the volume should be replication enabled or not. + ReplicationEnabled bool `pulumi:"replicationEnabled"` + // List of replication sites for volume replication. + ReplicationSites []string `pulumi:"replicationSites"` + // Indicates if the volume is shareable between VMs. + Shreable bool `pulumi:"shreable"` + // The size of this volume in GB. + Size float64 `pulumi:"size"` + // The state of the volume. + State string `pulumi:"state"` + // The disk type that is used for this volume. + Type string `pulumi:"type"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiInstanceVolumesInstanceVolumeInput is an input type that accepts GetPiInstanceVolumesInstanceVolumeArgs and GetPiInstanceVolumesInstanceVolumeOutput values. +// You can construct a concrete instance of `GetPiInstanceVolumesInstanceVolumeInput` via: +// +// GetPiInstanceVolumesInstanceVolumeArgs{...} +type GetPiInstanceVolumesInstanceVolumeInput interface { + pulumi.Input + + ToGetPiInstanceVolumesInstanceVolumeOutput() GetPiInstanceVolumesInstanceVolumeOutput + ToGetPiInstanceVolumesInstanceVolumeOutputWithContext(context.Context) GetPiInstanceVolumesInstanceVolumeOutput +} + +type GetPiInstanceVolumesInstanceVolumeArgs struct { + // Indicates if the volume is boot capable. + Bootable pulumi.BoolInput `pulumi:"bootable"` + // Date volume was created. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The freeze time of remote copy. + FreezeTime pulumi.StringInput `pulumi:"freezeTime"` + // The hyper link of the volume. + Href pulumi.StringInput `pulumi:"href"` + // The unique identifier of the volume. + Id pulumi.StringInput `pulumi:"id"` + // The last updated date of the volume. + LastUpdateDate pulumi.StringInput `pulumi:"lastUpdateDate"` + // The name of the volume. + Name pulumi.StringInput `pulumi:"name"` + // Volume pool, name of storage pool where the volume is located. + Pool pulumi.StringInput `pulumi:"pool"` + // Indicates if the volume should be replication enabled or not. + ReplicationEnabled pulumi.BoolInput `pulumi:"replicationEnabled"` + // List of replication sites for volume replication. + ReplicationSites pulumi.StringArrayInput `pulumi:"replicationSites"` + // Indicates if the volume is shareable between VMs. + Shreable pulumi.BoolInput `pulumi:"shreable"` + // The size of this volume in GB. + Size pulumi.Float64Input `pulumi:"size"` + // The state of the volume. + State pulumi.StringInput `pulumi:"state"` + // The disk type that is used for this volume. + Type pulumi.StringInput `pulumi:"type"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiInstanceVolumesInstanceVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceVolumesInstanceVolume)(nil)).Elem() +} + +func (i GetPiInstanceVolumesInstanceVolumeArgs) ToGetPiInstanceVolumesInstanceVolumeOutput() GetPiInstanceVolumesInstanceVolumeOutput { + return i.ToGetPiInstanceVolumesInstanceVolumeOutputWithContext(context.Background()) +} + +func (i GetPiInstanceVolumesInstanceVolumeArgs) ToGetPiInstanceVolumesInstanceVolumeOutputWithContext(ctx context.Context) GetPiInstanceVolumesInstanceVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstanceVolumesInstanceVolumeOutput) +} + +// GetPiInstanceVolumesInstanceVolumeArrayInput is an input type that accepts GetPiInstanceVolumesInstanceVolumeArray and GetPiInstanceVolumesInstanceVolumeArrayOutput values. +// You can construct a concrete instance of `GetPiInstanceVolumesInstanceVolumeArrayInput` via: +// +// GetPiInstanceVolumesInstanceVolumeArray{ GetPiInstanceVolumesInstanceVolumeArgs{...} } +type GetPiInstanceVolumesInstanceVolumeArrayInput interface { + pulumi.Input + + ToGetPiInstanceVolumesInstanceVolumeArrayOutput() GetPiInstanceVolumesInstanceVolumeArrayOutput + ToGetPiInstanceVolumesInstanceVolumeArrayOutputWithContext(context.Context) GetPiInstanceVolumesInstanceVolumeArrayOutput +} + +type GetPiInstanceVolumesInstanceVolumeArray []GetPiInstanceVolumesInstanceVolumeInput + +func (GetPiInstanceVolumesInstanceVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstanceVolumesInstanceVolume)(nil)).Elem() +} + +func (i GetPiInstanceVolumesInstanceVolumeArray) ToGetPiInstanceVolumesInstanceVolumeArrayOutput() GetPiInstanceVolumesInstanceVolumeArrayOutput { + return i.ToGetPiInstanceVolumesInstanceVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetPiInstanceVolumesInstanceVolumeArray) ToGetPiInstanceVolumesInstanceVolumeArrayOutputWithContext(ctx context.Context) GetPiInstanceVolumesInstanceVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstanceVolumesInstanceVolumeArrayOutput) +} + +type GetPiInstanceVolumesInstanceVolumeOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceVolumesInstanceVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstanceVolumesInstanceVolume)(nil)).Elem() +} + +func (o GetPiInstanceVolumesInstanceVolumeOutput) ToGetPiInstanceVolumesInstanceVolumeOutput() GetPiInstanceVolumesInstanceVolumeOutput { + return o +} + +func (o GetPiInstanceVolumesInstanceVolumeOutput) ToGetPiInstanceVolumesInstanceVolumeOutputWithContext(ctx context.Context) GetPiInstanceVolumesInstanceVolumeOutput { + return o +} + +// Indicates if the volume is boot capable. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Bootable() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) bool { return v.Bootable }).(pulumi.BoolOutput) +} + +// Date volume was created. +func (o GetPiInstanceVolumesInstanceVolumeOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.Crn }).(pulumi.StringOutput) +} + +// The freeze time of remote copy. +func (o GetPiInstanceVolumesInstanceVolumeOutput) FreezeTime() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.FreezeTime }).(pulumi.StringOutput) +} + +// The hyper link of the volume. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.Href }).(pulumi.StringOutput) +} + +// The unique identifier of the volume. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.Id }).(pulumi.StringOutput) +} + +// The last updated date of the volume. +func (o GetPiInstanceVolumesInstanceVolumeOutput) LastUpdateDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.LastUpdateDate }).(pulumi.StringOutput) +} + +// The name of the volume. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// Volume pool, name of storage pool where the volume is located. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Pool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.Pool }).(pulumi.StringOutput) +} + +// Indicates if the volume should be replication enabled or not. +func (o GetPiInstanceVolumesInstanceVolumeOutput) ReplicationEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) bool { return v.ReplicationEnabled }).(pulumi.BoolOutput) +} + +// List of replication sites for volume replication. +func (o GetPiInstanceVolumesInstanceVolumeOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) []string { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +// Indicates if the volume is shareable between VMs. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Shreable() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) bool { return v.Shreable }).(pulumi.BoolOutput) +} + +// The size of this volume in GB. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Size() pulumi.Float64Output { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) float64 { return v.Size }).(pulumi.Float64Output) +} + +// The state of the volume. +func (o GetPiInstanceVolumesInstanceVolumeOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.State }).(pulumi.StringOutput) +} + +// The disk type that is used for this volume. +func (o GetPiInstanceVolumesInstanceVolumeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) string { return v.Type }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiInstanceVolumesInstanceVolumeOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstanceVolumesInstanceVolume) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiInstanceVolumesInstanceVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetPiInstanceVolumesInstanceVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstanceVolumesInstanceVolume)(nil)).Elem() +} + +func (o GetPiInstanceVolumesInstanceVolumeArrayOutput) ToGetPiInstanceVolumesInstanceVolumeArrayOutput() GetPiInstanceVolumesInstanceVolumeArrayOutput { + return o +} + +func (o GetPiInstanceVolumesInstanceVolumeArrayOutput) ToGetPiInstanceVolumesInstanceVolumeArrayOutputWithContext(ctx context.Context) GetPiInstanceVolumesInstanceVolumeArrayOutput { + return o +} + +func (o GetPiInstanceVolumesInstanceVolumeArrayOutput) Index(i pulumi.IntInput) GetPiInstanceVolumesInstanceVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiInstanceVolumesInstanceVolume { + return vs[0].([]GetPiInstanceVolumesInstanceVolume)[vs[1].(int)] + }).(GetPiInstanceVolumesInstanceVolumeOutput) +} + +type GetPiInstancesPvmInstance struct { + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId string `pulumi:"dedicatedHostId"` + // Effective processor compatibility mode. + EffectiveProcessorCompatibilityMode string `pulumi:"effectiveProcessorCompatibilityMode"` + // Fault information. + Fault map[string]string `pulumi:"fault"` + // The health of the instance. + HealthStatus string `pulumi:"healthStatus"` + // The VTL license repository capacity TB value. + LicenseRepositoryCapacity int `pulumi:"licenseRepositoryCapacity"` + // The maximum number of virtual cores that can be assigned without rebooting the instance. + MaxVirtualCores int `pulumi:"maxVirtualCores"` + // The maximum amount of memory that can be allocated to the instance without shutting down or rebooting the LPAR. + Maxmem float64 `pulumi:"maxmem"` + // The maximum number of processors that can be allocated to the instance without shutting down or rebooting the LPAR. + Maxproc float64 `pulumi:"maxproc"` + // The amount of memory that is allocated to the instance. + Memory float64 `pulumi:"memory"` + // The minimum number of virtual cores that can be assigned without rebooting the instance. + MinVirtualCores int `pulumi:"minVirtualCores"` + // The minimum amount of memory that must be allocated to the instance. + Minmem float64 `pulumi:"minmem"` + // The minimum number of processors that must be allocated to the instance. + Minproc float64 `pulumi:"minproc"` + Networks []GetPiInstancesPvmInstanceNetwork `pulumi:"networks"` + // The pinning policy of the instance. + PinPolicy string `pulumi:"pinPolicy"` + // The ID of the placement group that the instance is a member. + PlacementGroupId string `pulumi:"placementGroupId"` + // Preferred processor compatibility mode. + PreferredProcessorCompatibilityMode string `pulumi:"preferredProcessorCompatibilityMode"` + // The number of processors that are allocated to the instance. + Processors float64 `pulumi:"processors"` + // The procurement type of the instance. Supported values are shared and dedicated. + Proctype string `pulumi:"proctype"` + // The unique identifier of the instance. + PvmInstanceId string `pulumi:"pvmInstanceId"` + // The name of the instance. + ServerName string `pulumi:"serverName"` + // The name of the shared processor pool for the instance. + SharedProcessorPool string `pulumi:"sharedProcessorPool"` + // The ID of the shared processor pool for the instance. + SharedProcessorPoolId string `pulumi:"sharedProcessorPoolId"` + // The status of the instance. + Status string `pulumi:"status"` + // The storage connection type. + StorageConnection string `pulumi:"storageConnection"` + // The storage Pool where server is deployed. + StoragePool string `pulumi:"storagePool"` + // Indicates if all volumes attached to the server must reside in the same storage pool. + StoragePoolAffinity bool `pulumi:"storagePoolAffinity"` + // The storage type where server is deployed. + StorageType string `pulumi:"storageType"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` + // The virtual cores that are assigned to the instance. + VirtualCoresAssigned int `pulumi:"virtualCoresAssigned"` + // Virtual Serial Number information + VirtualSerialNumbers []GetPiInstancesPvmInstanceVirtualSerialNumber `pulumi:"virtualSerialNumbers"` +} + +// GetPiInstancesPvmInstanceInput is an input type that accepts GetPiInstancesPvmInstanceArgs and GetPiInstancesPvmInstanceOutput values. +// You can construct a concrete instance of `GetPiInstancesPvmInstanceInput` via: +// +// GetPiInstancesPvmInstanceArgs{...} +type GetPiInstancesPvmInstanceInput interface { + pulumi.Input + + ToGetPiInstancesPvmInstanceOutput() GetPiInstancesPvmInstanceOutput + ToGetPiInstancesPvmInstanceOutputWithContext(context.Context) GetPiInstancesPvmInstanceOutput +} + +type GetPiInstancesPvmInstanceArgs struct { + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId pulumi.StringInput `pulumi:"dedicatedHostId"` + // Effective processor compatibility mode. + EffectiveProcessorCompatibilityMode pulumi.StringInput `pulumi:"effectiveProcessorCompatibilityMode"` + // Fault information. + Fault pulumi.StringMapInput `pulumi:"fault"` + // The health of the instance. + HealthStatus pulumi.StringInput `pulumi:"healthStatus"` + // The VTL license repository capacity TB value. + LicenseRepositoryCapacity pulumi.IntInput `pulumi:"licenseRepositoryCapacity"` + // The maximum number of virtual cores that can be assigned without rebooting the instance. + MaxVirtualCores pulumi.IntInput `pulumi:"maxVirtualCores"` + // The maximum amount of memory that can be allocated to the instance without shutting down or rebooting the LPAR. + Maxmem pulumi.Float64Input `pulumi:"maxmem"` + // The maximum number of processors that can be allocated to the instance without shutting down or rebooting the LPAR. + Maxproc pulumi.Float64Input `pulumi:"maxproc"` + // The amount of memory that is allocated to the instance. + Memory pulumi.Float64Input `pulumi:"memory"` + // The minimum number of virtual cores that can be assigned without rebooting the instance. + MinVirtualCores pulumi.IntInput `pulumi:"minVirtualCores"` + // The minimum amount of memory that must be allocated to the instance. + Minmem pulumi.Float64Input `pulumi:"minmem"` + // The minimum number of processors that must be allocated to the instance. + Minproc pulumi.Float64Input `pulumi:"minproc"` + Networks GetPiInstancesPvmInstanceNetworkArrayInput `pulumi:"networks"` + // The pinning policy of the instance. + PinPolicy pulumi.StringInput `pulumi:"pinPolicy"` + // The ID of the placement group that the instance is a member. + PlacementGroupId pulumi.StringInput `pulumi:"placementGroupId"` + // Preferred processor compatibility mode. + PreferredProcessorCompatibilityMode pulumi.StringInput `pulumi:"preferredProcessorCompatibilityMode"` + // The number of processors that are allocated to the instance. + Processors pulumi.Float64Input `pulumi:"processors"` + // The procurement type of the instance. Supported values are shared and dedicated. + Proctype pulumi.StringInput `pulumi:"proctype"` + // The unique identifier of the instance. + PvmInstanceId pulumi.StringInput `pulumi:"pvmInstanceId"` + // The name of the instance. + ServerName pulumi.StringInput `pulumi:"serverName"` + // The name of the shared processor pool for the instance. + SharedProcessorPool pulumi.StringInput `pulumi:"sharedProcessorPool"` + // The ID of the shared processor pool for the instance. + SharedProcessorPoolId pulumi.StringInput `pulumi:"sharedProcessorPoolId"` + // The status of the instance. + Status pulumi.StringInput `pulumi:"status"` + // The storage connection type. + StorageConnection pulumi.StringInput `pulumi:"storageConnection"` + // The storage Pool where server is deployed. + StoragePool pulumi.StringInput `pulumi:"storagePool"` + // Indicates if all volumes attached to the server must reside in the same storage pool. + StoragePoolAffinity pulumi.BoolInput `pulumi:"storagePoolAffinity"` + // The storage type where server is deployed. + StorageType pulumi.StringInput `pulumi:"storageType"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` + // The virtual cores that are assigned to the instance. + VirtualCoresAssigned pulumi.IntInput `pulumi:"virtualCoresAssigned"` + // Virtual Serial Number information + VirtualSerialNumbers GetPiInstancesPvmInstanceVirtualSerialNumberArrayInput `pulumi:"virtualSerialNumbers"` +} + +func (GetPiInstancesPvmInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstancesPvmInstance)(nil)).Elem() +} + +func (i GetPiInstancesPvmInstanceArgs) ToGetPiInstancesPvmInstanceOutput() GetPiInstancesPvmInstanceOutput { + return i.ToGetPiInstancesPvmInstanceOutputWithContext(context.Background()) +} + +func (i GetPiInstancesPvmInstanceArgs) ToGetPiInstancesPvmInstanceOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstancesPvmInstanceOutput) +} + +// GetPiInstancesPvmInstanceArrayInput is an input type that accepts GetPiInstancesPvmInstanceArray and GetPiInstancesPvmInstanceArrayOutput values. +// You can construct a concrete instance of `GetPiInstancesPvmInstanceArrayInput` via: +// +// GetPiInstancesPvmInstanceArray{ GetPiInstancesPvmInstanceArgs{...} } +type GetPiInstancesPvmInstanceArrayInput interface { + pulumi.Input + + ToGetPiInstancesPvmInstanceArrayOutput() GetPiInstancesPvmInstanceArrayOutput + ToGetPiInstancesPvmInstanceArrayOutputWithContext(context.Context) GetPiInstancesPvmInstanceArrayOutput +} + +type GetPiInstancesPvmInstanceArray []GetPiInstancesPvmInstanceInput + +func (GetPiInstancesPvmInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstancesPvmInstance)(nil)).Elem() +} + +func (i GetPiInstancesPvmInstanceArray) ToGetPiInstancesPvmInstanceArrayOutput() GetPiInstancesPvmInstanceArrayOutput { + return i.ToGetPiInstancesPvmInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetPiInstancesPvmInstanceArray) ToGetPiInstancesPvmInstanceArrayOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstancesPvmInstanceArrayOutput) +} + +type GetPiInstancesPvmInstanceOutput struct{ *pulumi.OutputState } + +func (GetPiInstancesPvmInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstancesPvmInstance)(nil)).Elem() +} + +func (o GetPiInstancesPvmInstanceOutput) ToGetPiInstancesPvmInstanceOutput() GetPiInstancesPvmInstanceOutput { + return o +} + +func (o GetPiInstancesPvmInstanceOutput) ToGetPiInstancesPvmInstanceOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceOutput { + return o +} + +// The CRN of this resource. +func (o GetPiInstancesPvmInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.Crn }).(pulumi.StringOutput) +} + +// The dedicated host ID where the shared processor pool resides. +func (o GetPiInstancesPvmInstanceOutput) DedicatedHostId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.DedicatedHostId }).(pulumi.StringOutput) +} + +// Effective processor compatibility mode. +func (o GetPiInstancesPvmInstanceOutput) EffectiveProcessorCompatibilityMode() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.EffectiveProcessorCompatibilityMode }).(pulumi.StringOutput) +} + +// Fault information. +func (o GetPiInstancesPvmInstanceOutput) Fault() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) map[string]string { return v.Fault }).(pulumi.StringMapOutput) +} + +// The health of the instance. +func (o GetPiInstancesPvmInstanceOutput) HealthStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.HealthStatus }).(pulumi.StringOutput) +} + +// The VTL license repository capacity TB value. +func (o GetPiInstancesPvmInstanceOutput) LicenseRepositoryCapacity() pulumi.IntOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) int { return v.LicenseRepositoryCapacity }).(pulumi.IntOutput) +} + +// The maximum number of virtual cores that can be assigned without rebooting the instance. +func (o GetPiInstancesPvmInstanceOutput) MaxVirtualCores() pulumi.IntOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) int { return v.MaxVirtualCores }).(pulumi.IntOutput) +} + +// The maximum amount of memory that can be allocated to the instance without shutting down or rebooting the LPAR. +func (o GetPiInstancesPvmInstanceOutput) Maxmem() pulumi.Float64Output { + return o.ApplyT(func(v GetPiInstancesPvmInstance) float64 { return v.Maxmem }).(pulumi.Float64Output) +} + +// The maximum number of processors that can be allocated to the instance without shutting down or rebooting the LPAR. +func (o GetPiInstancesPvmInstanceOutput) Maxproc() pulumi.Float64Output { + return o.ApplyT(func(v GetPiInstancesPvmInstance) float64 { return v.Maxproc }).(pulumi.Float64Output) +} + +// The amount of memory that is allocated to the instance. +func (o GetPiInstancesPvmInstanceOutput) Memory() pulumi.Float64Output { + return o.ApplyT(func(v GetPiInstancesPvmInstance) float64 { return v.Memory }).(pulumi.Float64Output) +} + +// The minimum number of virtual cores that can be assigned without rebooting the instance. +func (o GetPiInstancesPvmInstanceOutput) MinVirtualCores() pulumi.IntOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) int { return v.MinVirtualCores }).(pulumi.IntOutput) +} + +// The minimum amount of memory that must be allocated to the instance. +func (o GetPiInstancesPvmInstanceOutput) Minmem() pulumi.Float64Output { + return o.ApplyT(func(v GetPiInstancesPvmInstance) float64 { return v.Minmem }).(pulumi.Float64Output) +} + +// The minimum number of processors that must be allocated to the instance. +func (o GetPiInstancesPvmInstanceOutput) Minproc() pulumi.Float64Output { + return o.ApplyT(func(v GetPiInstancesPvmInstance) float64 { return v.Minproc }).(pulumi.Float64Output) +} + +func (o GetPiInstancesPvmInstanceOutput) Networks() GetPiInstancesPvmInstanceNetworkArrayOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) []GetPiInstancesPvmInstanceNetwork { return v.Networks }).(GetPiInstancesPvmInstanceNetworkArrayOutput) +} + +// The pinning policy of the instance. +func (o GetPiInstancesPvmInstanceOutput) PinPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.PinPolicy }).(pulumi.StringOutput) +} + +// The ID of the placement group that the instance is a member. +func (o GetPiInstancesPvmInstanceOutput) PlacementGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.PlacementGroupId }).(pulumi.StringOutput) +} + +// Preferred processor compatibility mode. +func (o GetPiInstancesPvmInstanceOutput) PreferredProcessorCompatibilityMode() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.PreferredProcessorCompatibilityMode }).(pulumi.StringOutput) +} + +// The number of processors that are allocated to the instance. +func (o GetPiInstancesPvmInstanceOutput) Processors() pulumi.Float64Output { + return o.ApplyT(func(v GetPiInstancesPvmInstance) float64 { return v.Processors }).(pulumi.Float64Output) +} + +// The procurement type of the instance. Supported values are shared and dedicated. +func (o GetPiInstancesPvmInstanceOutput) Proctype() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.Proctype }).(pulumi.StringOutput) +} + +// The unique identifier of the instance. +func (o GetPiInstancesPvmInstanceOutput) PvmInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.PvmInstanceId }).(pulumi.StringOutput) +} + +// The name of the instance. +func (o GetPiInstancesPvmInstanceOutput) ServerName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.ServerName }).(pulumi.StringOutput) +} + +// The name of the shared processor pool for the instance. +func (o GetPiInstancesPvmInstanceOutput) SharedProcessorPool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.SharedProcessorPool }).(pulumi.StringOutput) +} + +// The ID of the shared processor pool for the instance. +func (o GetPiInstancesPvmInstanceOutput) SharedProcessorPoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.SharedProcessorPoolId }).(pulumi.StringOutput) +} + +// The status of the instance. +func (o GetPiInstancesPvmInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.Status }).(pulumi.StringOutput) +} + +// The storage connection type. +func (o GetPiInstancesPvmInstanceOutput) StorageConnection() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.StorageConnection }).(pulumi.StringOutput) +} + +// The storage Pool where server is deployed. +func (o GetPiInstancesPvmInstanceOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.StoragePool }).(pulumi.StringOutput) +} + +// Indicates if all volumes attached to the server must reside in the same storage pool. +func (o GetPiInstancesPvmInstanceOutput) StoragePoolAffinity() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) bool { return v.StoragePoolAffinity }).(pulumi.BoolOutput) +} + +// The storage type where server is deployed. +func (o GetPiInstancesPvmInstanceOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) string { return v.StorageType }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiInstancesPvmInstanceOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +// The virtual cores that are assigned to the instance. +func (o GetPiInstancesPvmInstanceOutput) VirtualCoresAssigned() pulumi.IntOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) int { return v.VirtualCoresAssigned }).(pulumi.IntOutput) +} + +// Virtual Serial Number information +func (o GetPiInstancesPvmInstanceOutput) VirtualSerialNumbers() GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstance) []GetPiInstancesPvmInstanceVirtualSerialNumber { + return v.VirtualSerialNumbers + }).(GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput) +} + +type GetPiInstancesPvmInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiInstancesPvmInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstancesPvmInstance)(nil)).Elem() +} + +func (o GetPiInstancesPvmInstanceArrayOutput) ToGetPiInstancesPvmInstanceArrayOutput() GetPiInstancesPvmInstanceArrayOutput { + return o +} + +func (o GetPiInstancesPvmInstanceArrayOutput) ToGetPiInstancesPvmInstanceArrayOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceArrayOutput { + return o +} + +func (o GetPiInstancesPvmInstanceArrayOutput) Index(i pulumi.IntInput) GetPiInstancesPvmInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiInstancesPvmInstance { + return vs[0].([]GetPiInstancesPvmInstance)[vs[1].(int)] + }).(GetPiInstancesPvmInstanceOutput) +} + +type GetPiInstancesPvmInstanceNetwork struct { + // The external IP address of the instance. + ExternalIp string `pulumi:"externalIp"` + // The IP address of the instance. + Ip string `pulumi:"ip"` + // The MAC address of the instance. + MacAddress string `pulumi:"macAddress"` + // The network ID of the instance. + NetworkId string `pulumi:"networkId"` + // ID of the network interface. + NetworkInterfaceId string `pulumi:"networkInterfaceId"` + // The network name of the instance. + NetworkName string `pulumi:"networkName"` + // IDs of the network necurity groups that the network interface is a member of. + NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` + // Links to the network security groups that the network interface is a member of. + NetworkSecurityGroupsHreves []string `pulumi:"networkSecurityGroupsHreves"` + // The type of the network. + Type string `pulumi:"type"` +} + +// GetPiInstancesPvmInstanceNetworkInput is an input type that accepts GetPiInstancesPvmInstanceNetworkArgs and GetPiInstancesPvmInstanceNetworkOutput values. +// You can construct a concrete instance of `GetPiInstancesPvmInstanceNetworkInput` via: +// +// GetPiInstancesPvmInstanceNetworkArgs{...} +type GetPiInstancesPvmInstanceNetworkInput interface { + pulumi.Input + + ToGetPiInstancesPvmInstanceNetworkOutput() GetPiInstancesPvmInstanceNetworkOutput + ToGetPiInstancesPvmInstanceNetworkOutputWithContext(context.Context) GetPiInstancesPvmInstanceNetworkOutput +} + +type GetPiInstancesPvmInstanceNetworkArgs struct { + // The external IP address of the instance. + ExternalIp pulumi.StringInput `pulumi:"externalIp"` + // The IP address of the instance. + Ip pulumi.StringInput `pulumi:"ip"` + // The MAC address of the instance. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // The network ID of the instance. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // ID of the network interface. + NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` + // The network name of the instance. + NetworkName pulumi.StringInput `pulumi:"networkName"` + // IDs of the network necurity groups that the network interface is a member of. + NetworkSecurityGroupIds pulumi.StringArrayInput `pulumi:"networkSecurityGroupIds"` + // Links to the network security groups that the network interface is a member of. + NetworkSecurityGroupsHreves pulumi.StringArrayInput `pulumi:"networkSecurityGroupsHreves"` + // The type of the network. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiInstancesPvmInstanceNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstancesPvmInstanceNetwork)(nil)).Elem() +} + +func (i GetPiInstancesPvmInstanceNetworkArgs) ToGetPiInstancesPvmInstanceNetworkOutput() GetPiInstancesPvmInstanceNetworkOutput { + return i.ToGetPiInstancesPvmInstanceNetworkOutputWithContext(context.Background()) +} + +func (i GetPiInstancesPvmInstanceNetworkArgs) ToGetPiInstancesPvmInstanceNetworkOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstancesPvmInstanceNetworkOutput) +} + +// GetPiInstancesPvmInstanceNetworkArrayInput is an input type that accepts GetPiInstancesPvmInstanceNetworkArray and GetPiInstancesPvmInstanceNetworkArrayOutput values. +// You can construct a concrete instance of `GetPiInstancesPvmInstanceNetworkArrayInput` via: +// +// GetPiInstancesPvmInstanceNetworkArray{ GetPiInstancesPvmInstanceNetworkArgs{...} } +type GetPiInstancesPvmInstanceNetworkArrayInput interface { + pulumi.Input + + ToGetPiInstancesPvmInstanceNetworkArrayOutput() GetPiInstancesPvmInstanceNetworkArrayOutput + ToGetPiInstancesPvmInstanceNetworkArrayOutputWithContext(context.Context) GetPiInstancesPvmInstanceNetworkArrayOutput +} + +type GetPiInstancesPvmInstanceNetworkArray []GetPiInstancesPvmInstanceNetworkInput + +func (GetPiInstancesPvmInstanceNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstancesPvmInstanceNetwork)(nil)).Elem() +} + +func (i GetPiInstancesPvmInstanceNetworkArray) ToGetPiInstancesPvmInstanceNetworkArrayOutput() GetPiInstancesPvmInstanceNetworkArrayOutput { + return i.ToGetPiInstancesPvmInstanceNetworkArrayOutputWithContext(context.Background()) +} + +func (i GetPiInstancesPvmInstanceNetworkArray) ToGetPiInstancesPvmInstanceNetworkArrayOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstancesPvmInstanceNetworkArrayOutput) +} + +type GetPiInstancesPvmInstanceNetworkOutput struct{ *pulumi.OutputState } + +func (GetPiInstancesPvmInstanceNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstancesPvmInstanceNetwork)(nil)).Elem() +} + +func (o GetPiInstancesPvmInstanceNetworkOutput) ToGetPiInstancesPvmInstanceNetworkOutput() GetPiInstancesPvmInstanceNetworkOutput { + return o +} + +func (o GetPiInstancesPvmInstanceNetworkOutput) ToGetPiInstancesPvmInstanceNetworkOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceNetworkOutput { + return o +} + +// The external IP address of the instance. +func (o GetPiInstancesPvmInstanceNetworkOutput) ExternalIp() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) string { return v.ExternalIp }).(pulumi.StringOutput) +} + +// The IP address of the instance. +func (o GetPiInstancesPvmInstanceNetworkOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) string { return v.Ip }).(pulumi.StringOutput) +} + +// The MAC address of the instance. +func (o GetPiInstancesPvmInstanceNetworkOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// The network ID of the instance. +func (o GetPiInstancesPvmInstanceNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) string { return v.NetworkId }).(pulumi.StringOutput) +} + +// ID of the network interface. +func (o GetPiInstancesPvmInstanceNetworkOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +} + +// The network name of the instance. +func (o GetPiInstancesPvmInstanceNetworkOutput) NetworkName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) string { return v.NetworkName }).(pulumi.StringOutput) +} + +// IDs of the network necurity groups that the network interface is a member of. +func (o GetPiInstancesPvmInstanceNetworkOutput) NetworkSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) []string { return v.NetworkSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Links to the network security groups that the network interface is a member of. +func (o GetPiInstancesPvmInstanceNetworkOutput) NetworkSecurityGroupsHreves() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) []string { return v.NetworkSecurityGroupsHreves }).(pulumi.StringArrayOutput) +} + +// The type of the network. +func (o GetPiInstancesPvmInstanceNetworkOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceNetwork) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiInstancesPvmInstanceNetworkArrayOutput struct{ *pulumi.OutputState } + +func (GetPiInstancesPvmInstanceNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstancesPvmInstanceNetwork)(nil)).Elem() +} + +func (o GetPiInstancesPvmInstanceNetworkArrayOutput) ToGetPiInstancesPvmInstanceNetworkArrayOutput() GetPiInstancesPvmInstanceNetworkArrayOutput { + return o +} + +func (o GetPiInstancesPvmInstanceNetworkArrayOutput) ToGetPiInstancesPvmInstanceNetworkArrayOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceNetworkArrayOutput { + return o +} + +func (o GetPiInstancesPvmInstanceNetworkArrayOutput) Index(i pulumi.IntInput) GetPiInstancesPvmInstanceNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiInstancesPvmInstanceNetwork { + return vs[0].([]GetPiInstancesPvmInstanceNetwork)[vs[1].(int)] + }).(GetPiInstancesPvmInstanceNetworkOutput) +} + +type GetPiInstancesPvmInstanceVirtualSerialNumber struct { + // Description of the Virtual Serial Number + Description string `pulumi:"description"` + // Virtual serial number. + Serial string `pulumi:"serial"` + // Software tier. + SoftwareTier string `pulumi:"softwareTier"` +} + +// GetPiInstancesPvmInstanceVirtualSerialNumberInput is an input type that accepts GetPiInstancesPvmInstanceVirtualSerialNumberArgs and GetPiInstancesPvmInstanceVirtualSerialNumberOutput values. +// You can construct a concrete instance of `GetPiInstancesPvmInstanceVirtualSerialNumberInput` via: +// +// GetPiInstancesPvmInstanceVirtualSerialNumberArgs{...} +type GetPiInstancesPvmInstanceVirtualSerialNumberInput interface { + pulumi.Input + + ToGetPiInstancesPvmInstanceVirtualSerialNumberOutput() GetPiInstancesPvmInstanceVirtualSerialNumberOutput + ToGetPiInstancesPvmInstanceVirtualSerialNumberOutputWithContext(context.Context) GetPiInstancesPvmInstanceVirtualSerialNumberOutput +} + +type GetPiInstancesPvmInstanceVirtualSerialNumberArgs struct { + // Description of the Virtual Serial Number + Description pulumi.StringInput `pulumi:"description"` + // Virtual serial number. + Serial pulumi.StringInput `pulumi:"serial"` + // Software tier. + SoftwareTier pulumi.StringInput `pulumi:"softwareTier"` +} + +func (GetPiInstancesPvmInstanceVirtualSerialNumberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstancesPvmInstanceVirtualSerialNumber)(nil)).Elem() +} + +func (i GetPiInstancesPvmInstanceVirtualSerialNumberArgs) ToGetPiInstancesPvmInstanceVirtualSerialNumberOutput() GetPiInstancesPvmInstanceVirtualSerialNumberOutput { + return i.ToGetPiInstancesPvmInstanceVirtualSerialNumberOutputWithContext(context.Background()) +} + +func (i GetPiInstancesPvmInstanceVirtualSerialNumberArgs) ToGetPiInstancesPvmInstanceVirtualSerialNumberOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceVirtualSerialNumberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstancesPvmInstanceVirtualSerialNumberOutput) +} + +// GetPiInstancesPvmInstanceVirtualSerialNumberArrayInput is an input type that accepts GetPiInstancesPvmInstanceVirtualSerialNumberArray and GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput values. +// You can construct a concrete instance of `GetPiInstancesPvmInstanceVirtualSerialNumberArrayInput` via: +// +// GetPiInstancesPvmInstanceVirtualSerialNumberArray{ GetPiInstancesPvmInstanceVirtualSerialNumberArgs{...} } +type GetPiInstancesPvmInstanceVirtualSerialNumberArrayInput interface { + pulumi.Input + + ToGetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput() GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput + ToGetPiInstancesPvmInstanceVirtualSerialNumberArrayOutputWithContext(context.Context) GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput +} + +type GetPiInstancesPvmInstanceVirtualSerialNumberArray []GetPiInstancesPvmInstanceVirtualSerialNumberInput + +func (GetPiInstancesPvmInstanceVirtualSerialNumberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstancesPvmInstanceVirtualSerialNumber)(nil)).Elem() +} + +func (i GetPiInstancesPvmInstanceVirtualSerialNumberArray) ToGetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput() GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput { + return i.ToGetPiInstancesPvmInstanceVirtualSerialNumberArrayOutputWithContext(context.Background()) +} + +func (i GetPiInstancesPvmInstanceVirtualSerialNumberArray) ToGetPiInstancesPvmInstanceVirtualSerialNumberArrayOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput) +} + +type GetPiInstancesPvmInstanceVirtualSerialNumberOutput struct{ *pulumi.OutputState } + +func (GetPiInstancesPvmInstanceVirtualSerialNumberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiInstancesPvmInstanceVirtualSerialNumber)(nil)).Elem() +} + +func (o GetPiInstancesPvmInstanceVirtualSerialNumberOutput) ToGetPiInstancesPvmInstanceVirtualSerialNumberOutput() GetPiInstancesPvmInstanceVirtualSerialNumberOutput { + return o +} + +func (o GetPiInstancesPvmInstanceVirtualSerialNumberOutput) ToGetPiInstancesPvmInstanceVirtualSerialNumberOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceVirtualSerialNumberOutput { + return o +} + +// Description of the Virtual Serial Number +func (o GetPiInstancesPvmInstanceVirtualSerialNumberOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceVirtualSerialNumber) string { return v.Description }).(pulumi.StringOutput) +} + +// Virtual serial number. +func (o GetPiInstancesPvmInstanceVirtualSerialNumberOutput) Serial() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceVirtualSerialNumber) string { return v.Serial }).(pulumi.StringOutput) +} + +// Software tier. +func (o GetPiInstancesPvmInstanceVirtualSerialNumberOutput) SoftwareTier() pulumi.StringOutput { + return o.ApplyT(func(v GetPiInstancesPvmInstanceVirtualSerialNumber) string { return v.SoftwareTier }).(pulumi.StringOutput) +} + +type GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput struct{ *pulumi.OutputState } + +func (GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiInstancesPvmInstanceVirtualSerialNumber)(nil)).Elem() +} + +func (o GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput) ToGetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput() GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput { + return o +} + +func (o GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput) ToGetPiInstancesPvmInstanceVirtualSerialNumberArrayOutputWithContext(ctx context.Context) GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput { + return o +} + +func (o GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput) Index(i pulumi.IntInput) GetPiInstancesPvmInstanceVirtualSerialNumberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiInstancesPvmInstanceVirtualSerialNumber { + return vs[0].([]GetPiInstancesPvmInstanceVirtualSerialNumber)[vs[1].(int)] + }).(GetPiInstancesPvmInstanceVirtualSerialNumberOutput) +} + +type GetPiKeysKey struct { + // Date of SSH key creation. + CreationDate string `pulumi:"creationDate"` + // Description of the ssh key. + Description string `pulumi:"description"` + // User defined name for the SSH key. + Name string `pulumi:"name"` + // Indicates if the current workspace owns the ssh key or not. + PrimaryWorkspace bool `pulumi:"primaryWorkspace"` + // SSH RSA key. + SshKey string `pulumi:"sshKey"` + // Unique ID of SSH key. + SshKeyId string `pulumi:"sshKeyId"` + // Visibility of the ssh key. + Visibility string `pulumi:"visibility"` +} + +// GetPiKeysKeyInput is an input type that accepts GetPiKeysKeyArgs and GetPiKeysKeyOutput values. +// You can construct a concrete instance of `GetPiKeysKeyInput` via: +// +// GetPiKeysKeyArgs{...} +type GetPiKeysKeyInput interface { + pulumi.Input + + ToGetPiKeysKeyOutput() GetPiKeysKeyOutput + ToGetPiKeysKeyOutputWithContext(context.Context) GetPiKeysKeyOutput +} + +type GetPiKeysKeyArgs struct { + // Date of SSH key creation. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // Description of the ssh key. + Description pulumi.StringInput `pulumi:"description"` + // User defined name for the SSH key. + Name pulumi.StringInput `pulumi:"name"` + // Indicates if the current workspace owns the ssh key or not. + PrimaryWorkspace pulumi.BoolInput `pulumi:"primaryWorkspace"` + // SSH RSA key. + SshKey pulumi.StringInput `pulumi:"sshKey"` + // Unique ID of SSH key. + SshKeyId pulumi.StringInput `pulumi:"sshKeyId"` + // Visibility of the ssh key. + Visibility pulumi.StringInput `pulumi:"visibility"` +} + +func (GetPiKeysKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiKeysKey)(nil)).Elem() +} + +func (i GetPiKeysKeyArgs) ToGetPiKeysKeyOutput() GetPiKeysKeyOutput { + return i.ToGetPiKeysKeyOutputWithContext(context.Background()) +} + +func (i GetPiKeysKeyArgs) ToGetPiKeysKeyOutputWithContext(ctx context.Context) GetPiKeysKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiKeysKeyOutput) +} + +// GetPiKeysKeyArrayInput is an input type that accepts GetPiKeysKeyArray and GetPiKeysKeyArrayOutput values. +// You can construct a concrete instance of `GetPiKeysKeyArrayInput` via: +// +// GetPiKeysKeyArray{ GetPiKeysKeyArgs{...} } +type GetPiKeysKeyArrayInput interface { + pulumi.Input + + ToGetPiKeysKeyArrayOutput() GetPiKeysKeyArrayOutput + ToGetPiKeysKeyArrayOutputWithContext(context.Context) GetPiKeysKeyArrayOutput +} + +type GetPiKeysKeyArray []GetPiKeysKeyInput + +func (GetPiKeysKeyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiKeysKey)(nil)).Elem() +} + +func (i GetPiKeysKeyArray) ToGetPiKeysKeyArrayOutput() GetPiKeysKeyArrayOutput { + return i.ToGetPiKeysKeyArrayOutputWithContext(context.Background()) +} + +func (i GetPiKeysKeyArray) ToGetPiKeysKeyArrayOutputWithContext(ctx context.Context) GetPiKeysKeyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiKeysKeyArrayOutput) +} + +type GetPiKeysKeyOutput struct{ *pulumi.OutputState } + +func (GetPiKeysKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiKeysKey)(nil)).Elem() +} + +func (o GetPiKeysKeyOutput) ToGetPiKeysKeyOutput() GetPiKeysKeyOutput { + return o +} + +func (o GetPiKeysKeyOutput) ToGetPiKeysKeyOutputWithContext(ctx context.Context) GetPiKeysKeyOutput { + return o +} + +// Date of SSH key creation. +func (o GetPiKeysKeyOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiKeysKey) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// Description of the ssh key. +func (o GetPiKeysKeyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiKeysKey) string { return v.Description }).(pulumi.StringOutput) +} + +// User defined name for the SSH key. +func (o GetPiKeysKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiKeysKey) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates if the current workspace owns the ssh key or not. +func (o GetPiKeysKeyOutput) PrimaryWorkspace() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiKeysKey) bool { return v.PrimaryWorkspace }).(pulumi.BoolOutput) +} + +// SSH RSA key. +func (o GetPiKeysKeyOutput) SshKey() pulumi.StringOutput { + return o.ApplyT(func(v GetPiKeysKey) string { return v.SshKey }).(pulumi.StringOutput) +} + +// Unique ID of SSH key. +func (o GetPiKeysKeyOutput) SshKeyId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiKeysKey) string { return v.SshKeyId }).(pulumi.StringOutput) +} + +// Visibility of the ssh key. +func (o GetPiKeysKeyOutput) Visibility() pulumi.StringOutput { + return o.ApplyT(func(v GetPiKeysKey) string { return v.Visibility }).(pulumi.StringOutput) +} + +type GetPiKeysKeyArrayOutput struct{ *pulumi.OutputState } + +func (GetPiKeysKeyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiKeysKey)(nil)).Elem() +} + +func (o GetPiKeysKeyArrayOutput) ToGetPiKeysKeyArrayOutput() GetPiKeysKeyArrayOutput { + return o +} + +func (o GetPiKeysKeyArrayOutput) ToGetPiKeysKeyArrayOutputWithContext(ctx context.Context) GetPiKeysKeyArrayOutput { + return o +} + +func (o GetPiKeysKeyArrayOutput) Index(i pulumi.IntInput) GetPiKeysKeyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiKeysKey { + return vs[0].([]GetPiKeysKey)[vs[1].(int)] + }).(GetPiKeysKeyOutput) +} + +type GetPiNetworkAddressGroupMemberType struct { + // The IP addresses in CIDR notation for example 192.168.1.5/32. + Cidr string `pulumi:"cidr"` + // The id of the Network Address Group member IP addresses. + Id string `pulumi:"id"` +} + +// GetPiNetworkAddressGroupMemberTypeInput is an input type that accepts GetPiNetworkAddressGroupMemberTypeArgs and GetPiNetworkAddressGroupMemberTypeOutput values. +// You can construct a concrete instance of `GetPiNetworkAddressGroupMemberTypeInput` via: +// +// GetPiNetworkAddressGroupMemberTypeArgs{...} +type GetPiNetworkAddressGroupMemberTypeInput interface { + pulumi.Input + + ToGetPiNetworkAddressGroupMemberTypeOutput() GetPiNetworkAddressGroupMemberTypeOutput + ToGetPiNetworkAddressGroupMemberTypeOutputWithContext(context.Context) GetPiNetworkAddressGroupMemberTypeOutput +} + +type GetPiNetworkAddressGroupMemberTypeArgs struct { + // The IP addresses in CIDR notation for example 192.168.1.5/32. + Cidr pulumi.StringInput `pulumi:"cidr"` + // The id of the Network Address Group member IP addresses. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetPiNetworkAddressGroupMemberTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkAddressGroupMemberType)(nil)).Elem() +} + +func (i GetPiNetworkAddressGroupMemberTypeArgs) ToGetPiNetworkAddressGroupMemberTypeOutput() GetPiNetworkAddressGroupMemberTypeOutput { + return i.ToGetPiNetworkAddressGroupMemberTypeOutputWithContext(context.Background()) +} + +func (i GetPiNetworkAddressGroupMemberTypeArgs) ToGetPiNetworkAddressGroupMemberTypeOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupMemberTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkAddressGroupMemberTypeOutput) +} + +// GetPiNetworkAddressGroupMemberTypeArrayInput is an input type that accepts GetPiNetworkAddressGroupMemberTypeArray and GetPiNetworkAddressGroupMemberTypeArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkAddressGroupMemberTypeArrayInput` via: +// +// GetPiNetworkAddressGroupMemberTypeArray{ GetPiNetworkAddressGroupMemberTypeArgs{...} } +type GetPiNetworkAddressGroupMemberTypeArrayInput interface { + pulumi.Input + + ToGetPiNetworkAddressGroupMemberTypeArrayOutput() GetPiNetworkAddressGroupMemberTypeArrayOutput + ToGetPiNetworkAddressGroupMemberTypeArrayOutputWithContext(context.Context) GetPiNetworkAddressGroupMemberTypeArrayOutput +} + +type GetPiNetworkAddressGroupMemberTypeArray []GetPiNetworkAddressGroupMemberTypeInput + +func (GetPiNetworkAddressGroupMemberTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkAddressGroupMemberType)(nil)).Elem() +} + +func (i GetPiNetworkAddressGroupMemberTypeArray) ToGetPiNetworkAddressGroupMemberTypeArrayOutput() GetPiNetworkAddressGroupMemberTypeArrayOutput { + return i.ToGetPiNetworkAddressGroupMemberTypeArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkAddressGroupMemberTypeArray) ToGetPiNetworkAddressGroupMemberTypeArrayOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupMemberTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkAddressGroupMemberTypeArrayOutput) +} + +type GetPiNetworkAddressGroupMemberTypeOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkAddressGroupMemberTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkAddressGroupMemberType)(nil)).Elem() +} + +func (o GetPiNetworkAddressGroupMemberTypeOutput) ToGetPiNetworkAddressGroupMemberTypeOutput() GetPiNetworkAddressGroupMemberTypeOutput { + return o +} + +func (o GetPiNetworkAddressGroupMemberTypeOutput) ToGetPiNetworkAddressGroupMemberTypeOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupMemberTypeOutput { + return o +} + +// The IP addresses in CIDR notation for example 192.168.1.5/32. +func (o GetPiNetworkAddressGroupMemberTypeOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupMemberType) string { return v.Cidr }).(pulumi.StringOutput) +} + +// The id of the Network Address Group member IP addresses. +func (o GetPiNetworkAddressGroupMemberTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupMemberType) string { return v.Id }).(pulumi.StringOutput) +} + +type GetPiNetworkAddressGroupMemberTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkAddressGroupMemberTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkAddressGroupMemberType)(nil)).Elem() +} + +func (o GetPiNetworkAddressGroupMemberTypeArrayOutput) ToGetPiNetworkAddressGroupMemberTypeArrayOutput() GetPiNetworkAddressGroupMemberTypeArrayOutput { + return o +} + +func (o GetPiNetworkAddressGroupMemberTypeArrayOutput) ToGetPiNetworkAddressGroupMemberTypeArrayOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupMemberTypeArrayOutput { + return o +} + +func (o GetPiNetworkAddressGroupMemberTypeArrayOutput) Index(i pulumi.IntInput) GetPiNetworkAddressGroupMemberTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkAddressGroupMemberType { + return vs[0].([]GetPiNetworkAddressGroupMemberType)[vs[1].(int)] + }).(GetPiNetworkAddressGroupMemberTypeOutput) +} + +type GetPiNetworkAddressGroupsNetworkAddressGroup struct { + // The Network Address Group's crn. + Crn string `pulumi:"crn"` + // The id of the Network Address Group. + Id string `pulumi:"id"` + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members []GetPiNetworkAddressGroupsNetworkAddressGroupMember `pulumi:"members"` + // The name of the Network Address Group. + Name string `pulumi:"name"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiNetworkAddressGroupsNetworkAddressGroupInput is an input type that accepts GetPiNetworkAddressGroupsNetworkAddressGroupArgs and GetPiNetworkAddressGroupsNetworkAddressGroupOutput values. +// You can construct a concrete instance of `GetPiNetworkAddressGroupsNetworkAddressGroupInput` via: +// +// GetPiNetworkAddressGroupsNetworkAddressGroupArgs{...} +type GetPiNetworkAddressGroupsNetworkAddressGroupInput interface { + pulumi.Input + + ToGetPiNetworkAddressGroupsNetworkAddressGroupOutput() GetPiNetworkAddressGroupsNetworkAddressGroupOutput + ToGetPiNetworkAddressGroupsNetworkAddressGroupOutputWithContext(context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupOutput +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupArgs struct { + // The Network Address Group's crn. + Crn pulumi.StringInput `pulumi:"crn"` + // The id of the Network Address Group. + Id pulumi.StringInput `pulumi:"id"` + // The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. + Members GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayInput `pulumi:"members"` + // The name of the Network Address Group. + Name pulumi.StringInput `pulumi:"name"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiNetworkAddressGroupsNetworkAddressGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkAddressGroupsNetworkAddressGroup)(nil)).Elem() +} + +func (i GetPiNetworkAddressGroupsNetworkAddressGroupArgs) ToGetPiNetworkAddressGroupsNetworkAddressGroupOutput() GetPiNetworkAddressGroupsNetworkAddressGroupOutput { + return i.ToGetPiNetworkAddressGroupsNetworkAddressGroupOutputWithContext(context.Background()) +} + +func (i GetPiNetworkAddressGroupsNetworkAddressGroupArgs) ToGetPiNetworkAddressGroupsNetworkAddressGroupOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkAddressGroupsNetworkAddressGroupOutput) +} + +// GetPiNetworkAddressGroupsNetworkAddressGroupArrayInput is an input type that accepts GetPiNetworkAddressGroupsNetworkAddressGroupArray and GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkAddressGroupsNetworkAddressGroupArrayInput` via: +// +// GetPiNetworkAddressGroupsNetworkAddressGroupArray{ GetPiNetworkAddressGroupsNetworkAddressGroupArgs{...} } +type GetPiNetworkAddressGroupsNetworkAddressGroupArrayInput interface { + pulumi.Input + + ToGetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput() GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput + ToGetPiNetworkAddressGroupsNetworkAddressGroupArrayOutputWithContext(context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupArray []GetPiNetworkAddressGroupsNetworkAddressGroupInput + +func (GetPiNetworkAddressGroupsNetworkAddressGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkAddressGroupsNetworkAddressGroup)(nil)).Elem() +} + +func (i GetPiNetworkAddressGroupsNetworkAddressGroupArray) ToGetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput() GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput { + return i.ToGetPiNetworkAddressGroupsNetworkAddressGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkAddressGroupsNetworkAddressGroupArray) ToGetPiNetworkAddressGroupsNetworkAddressGroupArrayOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput) +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkAddressGroupsNetworkAddressGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkAddressGroupsNetworkAddressGroup)(nil)).Elem() +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupOutput) ToGetPiNetworkAddressGroupsNetworkAddressGroupOutput() GetPiNetworkAddressGroupsNetworkAddressGroupOutput { + return o +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupOutput) ToGetPiNetworkAddressGroupsNetworkAddressGroupOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupOutput { + return o +} + +// The Network Address Group's crn. +func (o GetPiNetworkAddressGroupsNetworkAddressGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsNetworkAddressGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// The id of the Network Address Group. +func (o GetPiNetworkAddressGroupsNetworkAddressGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsNetworkAddressGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The list of IP addresses in CIDR notation (for example 192.168.66.2/32) in the Network Address Group. +func (o GetPiNetworkAddressGroupsNetworkAddressGroupOutput) Members() GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsNetworkAddressGroup) []GetPiNetworkAddressGroupsNetworkAddressGroupMember { + return v.Members + }).(GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput) +} + +// The name of the Network Address Group. +func (o GetPiNetworkAddressGroupsNetworkAddressGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsNetworkAddressGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiNetworkAddressGroupsNetworkAddressGroupOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsNetworkAddressGroup) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkAddressGroupsNetworkAddressGroup)(nil)).Elem() +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput) ToGetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput() GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput { + return o +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput) ToGetPiNetworkAddressGroupsNetworkAddressGroupArrayOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput { + return o +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput) Index(i pulumi.IntInput) GetPiNetworkAddressGroupsNetworkAddressGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkAddressGroupsNetworkAddressGroup { + return vs[0].([]GetPiNetworkAddressGroupsNetworkAddressGroup)[vs[1].(int)] + }).(GetPiNetworkAddressGroupsNetworkAddressGroupOutput) +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupMember struct { + // The IP addresses in CIDR notation for example 192.168.1.5/32. + Cidr string `pulumi:"cidr"` + // The id of the Network Address Group member IP addresses. + Id string `pulumi:"id"` +} + +// GetPiNetworkAddressGroupsNetworkAddressGroupMemberInput is an input type that accepts GetPiNetworkAddressGroupsNetworkAddressGroupMemberArgs and GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput values. +// You can construct a concrete instance of `GetPiNetworkAddressGroupsNetworkAddressGroupMemberInput` via: +// +// GetPiNetworkAddressGroupsNetworkAddressGroupMemberArgs{...} +type GetPiNetworkAddressGroupsNetworkAddressGroupMemberInput interface { + pulumi.Input + + ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput() GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput + ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberOutputWithContext(context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupMemberArgs struct { + // The IP addresses in CIDR notation for example 192.168.1.5/32. + Cidr pulumi.StringInput `pulumi:"cidr"` + // The id of the Network Address Group member IP addresses. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetPiNetworkAddressGroupsNetworkAddressGroupMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkAddressGroupsNetworkAddressGroupMember)(nil)).Elem() +} + +func (i GetPiNetworkAddressGroupsNetworkAddressGroupMemberArgs) ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput() GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput { + return i.ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberOutputWithContext(context.Background()) +} + +func (i GetPiNetworkAddressGroupsNetworkAddressGroupMemberArgs) ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput) +} + +// GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayInput is an input type that accepts GetPiNetworkAddressGroupsNetworkAddressGroupMemberArray and GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayInput` via: +// +// GetPiNetworkAddressGroupsNetworkAddressGroupMemberArray{ GetPiNetworkAddressGroupsNetworkAddressGroupMemberArgs{...} } +type GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayInput interface { + pulumi.Input + + ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput() GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput + ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutputWithContext(context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupMemberArray []GetPiNetworkAddressGroupsNetworkAddressGroupMemberInput + +func (GetPiNetworkAddressGroupsNetworkAddressGroupMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkAddressGroupsNetworkAddressGroupMember)(nil)).Elem() +} + +func (i GetPiNetworkAddressGroupsNetworkAddressGroupMemberArray) ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput() GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput { + return i.ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkAddressGroupsNetworkAddressGroupMemberArray) ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput) +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkAddressGroupsNetworkAddressGroupMember)(nil)).Elem() +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput) ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput() GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput { + return o +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput) ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput { + return o +} + +// The IP addresses in CIDR notation for example 192.168.1.5/32. +func (o GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsNetworkAddressGroupMember) string { return v.Cidr }).(pulumi.StringOutput) +} + +// The id of the Network Address Group member IP addresses. +func (o GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkAddressGroupsNetworkAddressGroupMember) string { return v.Id }).(pulumi.StringOutput) +} + +type GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkAddressGroupsNetworkAddressGroupMember)(nil)).Elem() +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput) ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput() GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput { + return o +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput) ToGetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutputWithContext(ctx context.Context) GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput { + return o +} + +func (o GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput) Index(i pulumi.IntInput) GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkAddressGroupsNetworkAddressGroupMember { + return vs[0].([]GetPiNetworkAddressGroupsNetworkAddressGroupMember)[vs[1].(int)] + }).(GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput) +} + +type GetPiNetworkInterfaceInstance struct { + // Link to instance resource. + Href string `pulumi:"href"` + // The attached instance ID. + InstanceId string `pulumi:"instanceId"` +} + +// GetPiNetworkInterfaceInstanceInput is an input type that accepts GetPiNetworkInterfaceInstanceArgs and GetPiNetworkInterfaceInstanceOutput values. +// You can construct a concrete instance of `GetPiNetworkInterfaceInstanceInput` via: +// +// GetPiNetworkInterfaceInstanceArgs{...} +type GetPiNetworkInterfaceInstanceInput interface { + pulumi.Input + + ToGetPiNetworkInterfaceInstanceOutput() GetPiNetworkInterfaceInstanceOutput + ToGetPiNetworkInterfaceInstanceOutputWithContext(context.Context) GetPiNetworkInterfaceInstanceOutput +} + +type GetPiNetworkInterfaceInstanceArgs struct { + // Link to instance resource. + Href pulumi.StringInput `pulumi:"href"` + // The attached instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` +} + +func (GetPiNetworkInterfaceInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkInterfaceInstance)(nil)).Elem() +} + +func (i GetPiNetworkInterfaceInstanceArgs) ToGetPiNetworkInterfaceInstanceOutput() GetPiNetworkInterfaceInstanceOutput { + return i.ToGetPiNetworkInterfaceInstanceOutputWithContext(context.Background()) +} + +func (i GetPiNetworkInterfaceInstanceArgs) ToGetPiNetworkInterfaceInstanceOutputWithContext(ctx context.Context) GetPiNetworkInterfaceInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkInterfaceInstanceOutput) +} + +// GetPiNetworkInterfaceInstanceArrayInput is an input type that accepts GetPiNetworkInterfaceInstanceArray and GetPiNetworkInterfaceInstanceArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkInterfaceInstanceArrayInput` via: +// +// GetPiNetworkInterfaceInstanceArray{ GetPiNetworkInterfaceInstanceArgs{...} } +type GetPiNetworkInterfaceInstanceArrayInput interface { + pulumi.Input + + ToGetPiNetworkInterfaceInstanceArrayOutput() GetPiNetworkInterfaceInstanceArrayOutput + ToGetPiNetworkInterfaceInstanceArrayOutputWithContext(context.Context) GetPiNetworkInterfaceInstanceArrayOutput +} + +type GetPiNetworkInterfaceInstanceArray []GetPiNetworkInterfaceInstanceInput + +func (GetPiNetworkInterfaceInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkInterfaceInstance)(nil)).Elem() +} + +func (i GetPiNetworkInterfaceInstanceArray) ToGetPiNetworkInterfaceInstanceArrayOutput() GetPiNetworkInterfaceInstanceArrayOutput { + return i.ToGetPiNetworkInterfaceInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkInterfaceInstanceArray) ToGetPiNetworkInterfaceInstanceArrayOutputWithContext(ctx context.Context) GetPiNetworkInterfaceInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkInterfaceInstanceArrayOutput) +} + +type GetPiNetworkInterfaceInstanceOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkInterfaceInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkInterfaceInstance)(nil)).Elem() +} + +func (o GetPiNetworkInterfaceInstanceOutput) ToGetPiNetworkInterfaceInstanceOutput() GetPiNetworkInterfaceInstanceOutput { + return o +} + +func (o GetPiNetworkInterfaceInstanceOutput) ToGetPiNetworkInterfaceInstanceOutputWithContext(ctx context.Context) GetPiNetworkInterfaceInstanceOutput { + return o +} + +// Link to instance resource. +func (o GetPiNetworkInterfaceInstanceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfaceInstance) string { return v.Href }).(pulumi.StringOutput) +} + +// The attached instance ID. +func (o GetPiNetworkInterfaceInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfaceInstance) string { return v.InstanceId }).(pulumi.StringOutput) +} + +type GetPiNetworkInterfaceInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkInterfaceInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkInterfaceInstance)(nil)).Elem() +} + +func (o GetPiNetworkInterfaceInstanceArrayOutput) ToGetPiNetworkInterfaceInstanceArrayOutput() GetPiNetworkInterfaceInstanceArrayOutput { + return o +} + +func (o GetPiNetworkInterfaceInstanceArrayOutput) ToGetPiNetworkInterfaceInstanceArrayOutputWithContext(ctx context.Context) GetPiNetworkInterfaceInstanceArrayOutput { + return o +} + +func (o GetPiNetworkInterfaceInstanceArrayOutput) Index(i pulumi.IntInput) GetPiNetworkInterfaceInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkInterfaceInstance { + return vs[0].([]GetPiNetworkInterfaceInstance)[vs[1].(int)] + }).(GetPiNetworkInterfaceInstanceOutput) +} + +type GetPiNetworkInterfacesInterface struct { + // The network interface's crn. + Crn string `pulumi:"crn"` + // The unique network interface ID. + Id string `pulumi:"id"` + // The attached instance to this network interface. + Instances []GetPiNetworkInterfacesInterfaceInstance `pulumi:"instances"` + // The ip address of this network interface. + IpAddress string `pulumi:"ipAddress"` + // The mac address of the network interface. + MacAddress string `pulumi:"macAddress"` + // Name of the network interface (not unique or indexable). + Name string `pulumi:"name"` + // ID of the network security group the network interface will be added to. + // + // Deprecated: Deprecated, use networkSecurityGroupIds instead. + NetworkSecurityGroupId string `pulumi:"networkSecurityGroupId"` + // List of network security groups that the network interface is a member of. + NetworkSecurityGroupIds []string `pulumi:"networkSecurityGroupIds"` + // The status of the network interface. + Status string `pulumi:"status"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiNetworkInterfacesInterfaceInput is an input type that accepts GetPiNetworkInterfacesInterfaceArgs and GetPiNetworkInterfacesInterfaceOutput values. +// You can construct a concrete instance of `GetPiNetworkInterfacesInterfaceInput` via: +// +// GetPiNetworkInterfacesInterfaceArgs{...} +type GetPiNetworkInterfacesInterfaceInput interface { + pulumi.Input + + ToGetPiNetworkInterfacesInterfaceOutput() GetPiNetworkInterfacesInterfaceOutput + ToGetPiNetworkInterfacesInterfaceOutputWithContext(context.Context) GetPiNetworkInterfacesInterfaceOutput +} + +type GetPiNetworkInterfacesInterfaceArgs struct { + // The network interface's crn. + Crn pulumi.StringInput `pulumi:"crn"` + // The unique network interface ID. + Id pulumi.StringInput `pulumi:"id"` + // The attached instance to this network interface. + Instances GetPiNetworkInterfacesInterfaceInstanceArrayInput `pulumi:"instances"` + // The ip address of this network interface. + IpAddress pulumi.StringInput `pulumi:"ipAddress"` + // The mac address of the network interface. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // Name of the network interface (not unique or indexable). + Name pulumi.StringInput `pulumi:"name"` + // ID of the network security group the network interface will be added to. + // + // Deprecated: Deprecated, use networkSecurityGroupIds instead. + NetworkSecurityGroupId pulumi.StringInput `pulumi:"networkSecurityGroupId"` + // List of network security groups that the network interface is a member of. + NetworkSecurityGroupIds pulumi.StringArrayInput `pulumi:"networkSecurityGroupIds"` + // The status of the network interface. + Status pulumi.StringInput `pulumi:"status"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiNetworkInterfacesInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkInterfacesInterface)(nil)).Elem() +} + +func (i GetPiNetworkInterfacesInterfaceArgs) ToGetPiNetworkInterfacesInterfaceOutput() GetPiNetworkInterfacesInterfaceOutput { + return i.ToGetPiNetworkInterfacesInterfaceOutputWithContext(context.Background()) +} + +func (i GetPiNetworkInterfacesInterfaceArgs) ToGetPiNetworkInterfacesInterfaceOutputWithContext(ctx context.Context) GetPiNetworkInterfacesInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkInterfacesInterfaceOutput) +} + +// GetPiNetworkInterfacesInterfaceArrayInput is an input type that accepts GetPiNetworkInterfacesInterfaceArray and GetPiNetworkInterfacesInterfaceArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkInterfacesInterfaceArrayInput` via: +// +// GetPiNetworkInterfacesInterfaceArray{ GetPiNetworkInterfacesInterfaceArgs{...} } +type GetPiNetworkInterfacesInterfaceArrayInput interface { + pulumi.Input + + ToGetPiNetworkInterfacesInterfaceArrayOutput() GetPiNetworkInterfacesInterfaceArrayOutput + ToGetPiNetworkInterfacesInterfaceArrayOutputWithContext(context.Context) GetPiNetworkInterfacesInterfaceArrayOutput +} + +type GetPiNetworkInterfacesInterfaceArray []GetPiNetworkInterfacesInterfaceInput + +func (GetPiNetworkInterfacesInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkInterfacesInterface)(nil)).Elem() +} + +func (i GetPiNetworkInterfacesInterfaceArray) ToGetPiNetworkInterfacesInterfaceArrayOutput() GetPiNetworkInterfacesInterfaceArrayOutput { + return i.ToGetPiNetworkInterfacesInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkInterfacesInterfaceArray) ToGetPiNetworkInterfacesInterfaceArrayOutputWithContext(ctx context.Context) GetPiNetworkInterfacesInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkInterfacesInterfaceArrayOutput) +} + +type GetPiNetworkInterfacesInterfaceOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkInterfacesInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkInterfacesInterface)(nil)).Elem() +} + +func (o GetPiNetworkInterfacesInterfaceOutput) ToGetPiNetworkInterfacesInterfaceOutput() GetPiNetworkInterfacesInterfaceOutput { + return o +} + +func (o GetPiNetworkInterfacesInterfaceOutput) ToGetPiNetworkInterfacesInterfaceOutputWithContext(ctx context.Context) GetPiNetworkInterfacesInterfaceOutput { + return o +} + +// The network interface's crn. +func (o GetPiNetworkInterfacesInterfaceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) string { return v.Crn }).(pulumi.StringOutput) +} + +// The unique network interface ID. +func (o GetPiNetworkInterfacesInterfaceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) string { return v.Id }).(pulumi.StringOutput) +} + +// The attached instance to this network interface. +func (o GetPiNetworkInterfacesInterfaceOutput) Instances() GetPiNetworkInterfacesInterfaceInstanceArrayOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) []GetPiNetworkInterfacesInterfaceInstance { return v.Instances }).(GetPiNetworkInterfacesInterfaceInstanceArrayOutput) +} + +// The ip address of this network interface. +func (o GetPiNetworkInterfacesInterfaceOutput) IpAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) string { return v.IpAddress }).(pulumi.StringOutput) +} + +// The mac address of the network interface. +func (o GetPiNetworkInterfacesInterfaceOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// Name of the network interface (not unique or indexable). +func (o GetPiNetworkInterfacesInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// ID of the network security group the network interface will be added to. +// +// Deprecated: Deprecated, use networkSecurityGroupIds instead. +func (o GetPiNetworkInterfacesInterfaceOutput) NetworkSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) string { return v.NetworkSecurityGroupId }).(pulumi.StringOutput) +} + +// List of network security groups that the network interface is a member of. +func (o GetPiNetworkInterfacesInterfaceOutput) NetworkSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) []string { return v.NetworkSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// The status of the network interface. +func (o GetPiNetworkInterfacesInterfaceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) string { return v.Status }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiNetworkInterfacesInterfaceOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterface) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiNetworkInterfacesInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkInterfacesInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkInterfacesInterface)(nil)).Elem() +} + +func (o GetPiNetworkInterfacesInterfaceArrayOutput) ToGetPiNetworkInterfacesInterfaceArrayOutput() GetPiNetworkInterfacesInterfaceArrayOutput { + return o +} + +func (o GetPiNetworkInterfacesInterfaceArrayOutput) ToGetPiNetworkInterfacesInterfaceArrayOutputWithContext(ctx context.Context) GetPiNetworkInterfacesInterfaceArrayOutput { + return o +} + +func (o GetPiNetworkInterfacesInterfaceArrayOutput) Index(i pulumi.IntInput) GetPiNetworkInterfacesInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkInterfacesInterface { + return vs[0].([]GetPiNetworkInterfacesInterface)[vs[1].(int)] + }).(GetPiNetworkInterfacesInterfaceOutput) +} + +type GetPiNetworkInterfacesInterfaceInstance struct { + // Link to instance resource. + Href string `pulumi:"href"` + // The attached instance ID. + InstanceId string `pulumi:"instanceId"` +} + +// GetPiNetworkInterfacesInterfaceInstanceInput is an input type that accepts GetPiNetworkInterfacesInterfaceInstanceArgs and GetPiNetworkInterfacesInterfaceInstanceOutput values. +// You can construct a concrete instance of `GetPiNetworkInterfacesInterfaceInstanceInput` via: +// +// GetPiNetworkInterfacesInterfaceInstanceArgs{...} +type GetPiNetworkInterfacesInterfaceInstanceInput interface { + pulumi.Input + + ToGetPiNetworkInterfacesInterfaceInstanceOutput() GetPiNetworkInterfacesInterfaceInstanceOutput + ToGetPiNetworkInterfacesInterfaceInstanceOutputWithContext(context.Context) GetPiNetworkInterfacesInterfaceInstanceOutput +} + +type GetPiNetworkInterfacesInterfaceInstanceArgs struct { + // Link to instance resource. + Href pulumi.StringInput `pulumi:"href"` + // The attached instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` +} + +func (GetPiNetworkInterfacesInterfaceInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkInterfacesInterfaceInstance)(nil)).Elem() +} + +func (i GetPiNetworkInterfacesInterfaceInstanceArgs) ToGetPiNetworkInterfacesInterfaceInstanceOutput() GetPiNetworkInterfacesInterfaceInstanceOutput { + return i.ToGetPiNetworkInterfacesInterfaceInstanceOutputWithContext(context.Background()) +} + +func (i GetPiNetworkInterfacesInterfaceInstanceArgs) ToGetPiNetworkInterfacesInterfaceInstanceOutputWithContext(ctx context.Context) GetPiNetworkInterfacesInterfaceInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkInterfacesInterfaceInstanceOutput) +} + +// GetPiNetworkInterfacesInterfaceInstanceArrayInput is an input type that accepts GetPiNetworkInterfacesInterfaceInstanceArray and GetPiNetworkInterfacesInterfaceInstanceArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkInterfacesInterfaceInstanceArrayInput` via: +// +// GetPiNetworkInterfacesInterfaceInstanceArray{ GetPiNetworkInterfacesInterfaceInstanceArgs{...} } +type GetPiNetworkInterfacesInterfaceInstanceArrayInput interface { + pulumi.Input + + ToGetPiNetworkInterfacesInterfaceInstanceArrayOutput() GetPiNetworkInterfacesInterfaceInstanceArrayOutput + ToGetPiNetworkInterfacesInterfaceInstanceArrayOutputWithContext(context.Context) GetPiNetworkInterfacesInterfaceInstanceArrayOutput +} + +type GetPiNetworkInterfacesInterfaceInstanceArray []GetPiNetworkInterfacesInterfaceInstanceInput + +func (GetPiNetworkInterfacesInterfaceInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkInterfacesInterfaceInstance)(nil)).Elem() +} + +func (i GetPiNetworkInterfacesInterfaceInstanceArray) ToGetPiNetworkInterfacesInterfaceInstanceArrayOutput() GetPiNetworkInterfacesInterfaceInstanceArrayOutput { + return i.ToGetPiNetworkInterfacesInterfaceInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkInterfacesInterfaceInstanceArray) ToGetPiNetworkInterfacesInterfaceInstanceArrayOutputWithContext(ctx context.Context) GetPiNetworkInterfacesInterfaceInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkInterfacesInterfaceInstanceArrayOutput) +} + +type GetPiNetworkInterfacesInterfaceInstanceOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkInterfacesInterfaceInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkInterfacesInterfaceInstance)(nil)).Elem() +} + +func (o GetPiNetworkInterfacesInterfaceInstanceOutput) ToGetPiNetworkInterfacesInterfaceInstanceOutput() GetPiNetworkInterfacesInterfaceInstanceOutput { + return o +} + +func (o GetPiNetworkInterfacesInterfaceInstanceOutput) ToGetPiNetworkInterfacesInterfaceInstanceOutputWithContext(ctx context.Context) GetPiNetworkInterfacesInterfaceInstanceOutput { + return o +} + +// Link to instance resource. +func (o GetPiNetworkInterfacesInterfaceInstanceOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterfaceInstance) string { return v.Href }).(pulumi.StringOutput) +} + +// The attached instance ID. +func (o GetPiNetworkInterfacesInterfaceInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkInterfacesInterfaceInstance) string { return v.InstanceId }).(pulumi.StringOutput) +} + +type GetPiNetworkInterfacesInterfaceInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkInterfacesInterfaceInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkInterfacesInterfaceInstance)(nil)).Elem() +} + +func (o GetPiNetworkInterfacesInterfaceInstanceArrayOutput) ToGetPiNetworkInterfacesInterfaceInstanceArrayOutput() GetPiNetworkInterfacesInterfaceInstanceArrayOutput { + return o +} + +func (o GetPiNetworkInterfacesInterfaceInstanceArrayOutput) ToGetPiNetworkInterfacesInterfaceInstanceArrayOutputWithContext(ctx context.Context) GetPiNetworkInterfacesInterfaceInstanceArrayOutput { + return o +} + +func (o GetPiNetworkInterfacesInterfaceInstanceArrayOutput) Index(i pulumi.IntInput) GetPiNetworkInterfacesInterfaceInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkInterfacesInterfaceInstance { + return vs[0].([]GetPiNetworkInterfacesInterfaceInstance)[vs[1].(int)] + }).(GetPiNetworkInterfacesInterfaceInstanceOutput) +} + +type GetPiNetworkNetworkAddressTranslation struct { + // source IP address. + SourceIp string `pulumi:"sourceIp"` +} + +// GetPiNetworkNetworkAddressTranslationInput is an input type that accepts GetPiNetworkNetworkAddressTranslationArgs and GetPiNetworkNetworkAddressTranslationOutput values. +// You can construct a concrete instance of `GetPiNetworkNetworkAddressTranslationInput` via: +// +// GetPiNetworkNetworkAddressTranslationArgs{...} +type GetPiNetworkNetworkAddressTranslationInput interface { + pulumi.Input + + ToGetPiNetworkNetworkAddressTranslationOutput() GetPiNetworkNetworkAddressTranslationOutput + ToGetPiNetworkNetworkAddressTranslationOutputWithContext(context.Context) GetPiNetworkNetworkAddressTranslationOutput +} + +type GetPiNetworkNetworkAddressTranslationArgs struct { + // source IP address. + SourceIp pulumi.StringInput `pulumi:"sourceIp"` +} + +func (GetPiNetworkNetworkAddressTranslationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkNetworkAddressTranslation)(nil)).Elem() +} + +func (i GetPiNetworkNetworkAddressTranslationArgs) ToGetPiNetworkNetworkAddressTranslationOutput() GetPiNetworkNetworkAddressTranslationOutput { + return i.ToGetPiNetworkNetworkAddressTranslationOutputWithContext(context.Background()) +} + +func (i GetPiNetworkNetworkAddressTranslationArgs) ToGetPiNetworkNetworkAddressTranslationOutputWithContext(ctx context.Context) GetPiNetworkNetworkAddressTranslationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkNetworkAddressTranslationOutput) +} + +// GetPiNetworkNetworkAddressTranslationArrayInput is an input type that accepts GetPiNetworkNetworkAddressTranslationArray and GetPiNetworkNetworkAddressTranslationArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkNetworkAddressTranslationArrayInput` via: +// +// GetPiNetworkNetworkAddressTranslationArray{ GetPiNetworkNetworkAddressTranslationArgs{...} } +type GetPiNetworkNetworkAddressTranslationArrayInput interface { + pulumi.Input + + ToGetPiNetworkNetworkAddressTranslationArrayOutput() GetPiNetworkNetworkAddressTranslationArrayOutput + ToGetPiNetworkNetworkAddressTranslationArrayOutputWithContext(context.Context) GetPiNetworkNetworkAddressTranslationArrayOutput +} + +type GetPiNetworkNetworkAddressTranslationArray []GetPiNetworkNetworkAddressTranslationInput + +func (GetPiNetworkNetworkAddressTranslationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkNetworkAddressTranslation)(nil)).Elem() +} + +func (i GetPiNetworkNetworkAddressTranslationArray) ToGetPiNetworkNetworkAddressTranslationArrayOutput() GetPiNetworkNetworkAddressTranslationArrayOutput { + return i.ToGetPiNetworkNetworkAddressTranslationArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkNetworkAddressTranslationArray) ToGetPiNetworkNetworkAddressTranslationArrayOutputWithContext(ctx context.Context) GetPiNetworkNetworkAddressTranslationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkNetworkAddressTranslationArrayOutput) +} + +type GetPiNetworkNetworkAddressTranslationOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkNetworkAddressTranslationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkNetworkAddressTranslation)(nil)).Elem() +} + +func (o GetPiNetworkNetworkAddressTranslationOutput) ToGetPiNetworkNetworkAddressTranslationOutput() GetPiNetworkNetworkAddressTranslationOutput { + return o +} + +func (o GetPiNetworkNetworkAddressTranslationOutput) ToGetPiNetworkNetworkAddressTranslationOutputWithContext(ctx context.Context) GetPiNetworkNetworkAddressTranslationOutput { + return o +} + +// source IP address. +func (o GetPiNetworkNetworkAddressTranslationOutput) SourceIp() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkNetworkAddressTranslation) string { return v.SourceIp }).(pulumi.StringOutput) +} + +type GetPiNetworkNetworkAddressTranslationArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkNetworkAddressTranslationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkNetworkAddressTranslation)(nil)).Elem() +} + +func (o GetPiNetworkNetworkAddressTranslationArrayOutput) ToGetPiNetworkNetworkAddressTranslationArrayOutput() GetPiNetworkNetworkAddressTranslationArrayOutput { + return o +} + +func (o GetPiNetworkNetworkAddressTranslationArrayOutput) ToGetPiNetworkNetworkAddressTranslationArrayOutputWithContext(ctx context.Context) GetPiNetworkNetworkAddressTranslationArrayOutput { + return o +} + +func (o GetPiNetworkNetworkAddressTranslationArrayOutput) Index(i pulumi.IntInput) GetPiNetworkNetworkAddressTranslationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkNetworkAddressTranslation { + return vs[0].([]GetPiNetworkNetworkAddressTranslation)[vs[1].(int)] + }).(GetPiNetworkNetworkAddressTranslationOutput) +} + +type GetPiNetworkPeerExportRouteFilter struct { + // Action of the filter. + Action string `pulumi:"action"` + // Time stamp for create route filter. + CreationDate string `pulumi:"creationDate"` + // Direction of the filter. + Direction string `pulumi:"direction"` + // Error description. + Error string `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge int `pulumi:"ge"` + // Priority or order of the filter. + Index int `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le int `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix string `pulumi:"prefix"` + // Route filter ID. + RouteFilterId string `pulumi:"routeFilterId"` + // Status of the route filter. + State string `pulumi:"state"` +} + +// GetPiNetworkPeerExportRouteFilterInput is an input type that accepts GetPiNetworkPeerExportRouteFilterArgs and GetPiNetworkPeerExportRouteFilterOutput values. +// You can construct a concrete instance of `GetPiNetworkPeerExportRouteFilterInput` via: +// +// GetPiNetworkPeerExportRouteFilterArgs{...} +type GetPiNetworkPeerExportRouteFilterInput interface { + pulumi.Input + + ToGetPiNetworkPeerExportRouteFilterOutput() GetPiNetworkPeerExportRouteFilterOutput + ToGetPiNetworkPeerExportRouteFilterOutputWithContext(context.Context) GetPiNetworkPeerExportRouteFilterOutput +} + +type GetPiNetworkPeerExportRouteFilterArgs struct { + // Action of the filter. + Action pulumi.StringInput `pulumi:"action"` + // Time stamp for create route filter. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // Direction of the filter. + Direction pulumi.StringInput `pulumi:"direction"` + // Error description. + Error pulumi.StringInput `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge pulumi.IntInput `pulumi:"ge"` + // Priority or order of the filter. + Index pulumi.IntInput `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le pulumi.IntInput `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix pulumi.StringInput `pulumi:"prefix"` + // Route filter ID. + RouteFilterId pulumi.StringInput `pulumi:"routeFilterId"` + // Status of the route filter. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetPiNetworkPeerExportRouteFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (i GetPiNetworkPeerExportRouteFilterArgs) ToGetPiNetworkPeerExportRouteFilterOutput() GetPiNetworkPeerExportRouteFilterOutput { + return i.ToGetPiNetworkPeerExportRouteFilterOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeerExportRouteFilterArgs) ToGetPiNetworkPeerExportRouteFilterOutputWithContext(ctx context.Context) GetPiNetworkPeerExportRouteFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeerExportRouteFilterOutput) +} + +// GetPiNetworkPeerExportRouteFilterArrayInput is an input type that accepts GetPiNetworkPeerExportRouteFilterArray and GetPiNetworkPeerExportRouteFilterArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkPeerExportRouteFilterArrayInput` via: +// +// GetPiNetworkPeerExportRouteFilterArray{ GetPiNetworkPeerExportRouteFilterArgs{...} } +type GetPiNetworkPeerExportRouteFilterArrayInput interface { + pulumi.Input + + ToGetPiNetworkPeerExportRouteFilterArrayOutput() GetPiNetworkPeerExportRouteFilterArrayOutput + ToGetPiNetworkPeerExportRouteFilterArrayOutputWithContext(context.Context) GetPiNetworkPeerExportRouteFilterArrayOutput +} + +type GetPiNetworkPeerExportRouteFilterArray []GetPiNetworkPeerExportRouteFilterInput + +func (GetPiNetworkPeerExportRouteFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (i GetPiNetworkPeerExportRouteFilterArray) ToGetPiNetworkPeerExportRouteFilterArrayOutput() GetPiNetworkPeerExportRouteFilterArrayOutput { + return i.ToGetPiNetworkPeerExportRouteFilterArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeerExportRouteFilterArray) ToGetPiNetworkPeerExportRouteFilterArrayOutputWithContext(ctx context.Context) GetPiNetworkPeerExportRouteFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeerExportRouteFilterArrayOutput) +} + +type GetPiNetworkPeerExportRouteFilterOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeerExportRouteFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (o GetPiNetworkPeerExportRouteFilterOutput) ToGetPiNetworkPeerExportRouteFilterOutput() GetPiNetworkPeerExportRouteFilterOutput { + return o +} + +func (o GetPiNetworkPeerExportRouteFilterOutput) ToGetPiNetworkPeerExportRouteFilterOutputWithContext(ctx context.Context) GetPiNetworkPeerExportRouteFilterOutput { + return o +} + +// Action of the filter. +func (o GetPiNetworkPeerExportRouteFilterOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) string { return v.Action }).(pulumi.StringOutput) +} + +// Time stamp for create route filter. +func (o GetPiNetworkPeerExportRouteFilterOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// Direction of the filter. +func (o GetPiNetworkPeerExportRouteFilterOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) string { return v.Direction }).(pulumi.StringOutput) +} + +// Error description. +func (o GetPiNetworkPeerExportRouteFilterOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) string { return v.Error }).(pulumi.StringOutput) +} + +// The minimum matching length of the prefix-set. +func (o GetPiNetworkPeerExportRouteFilterOutput) Ge() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) int { return v.Ge }).(pulumi.IntOutput) +} + +// Priority or order of the filter. +func (o GetPiNetworkPeerExportRouteFilterOutput) Index() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) int { return v.Index }).(pulumi.IntOutput) +} + +// The maximum matching length of the prefix-set. +func (o GetPiNetworkPeerExportRouteFilterOutput) Le() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) int { return v.Le }).(pulumi.IntOutput) +} + +// IP prefix representing an address and mask length of the prefix-set. +func (o GetPiNetworkPeerExportRouteFilterOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Route filter ID. +func (o GetPiNetworkPeerExportRouteFilterOutput) RouteFilterId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) string { return v.RouteFilterId }).(pulumi.StringOutput) +} + +// Status of the route filter. +func (o GetPiNetworkPeerExportRouteFilterOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerExportRouteFilter) string { return v.State }).(pulumi.StringOutput) +} + +type GetPiNetworkPeerExportRouteFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeerExportRouteFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (o GetPiNetworkPeerExportRouteFilterArrayOutput) ToGetPiNetworkPeerExportRouteFilterArrayOutput() GetPiNetworkPeerExportRouteFilterArrayOutput { + return o +} + +func (o GetPiNetworkPeerExportRouteFilterArrayOutput) ToGetPiNetworkPeerExportRouteFilterArrayOutputWithContext(ctx context.Context) GetPiNetworkPeerExportRouteFilterArrayOutput { + return o +} + +func (o GetPiNetworkPeerExportRouteFilterArrayOutput) Index(i pulumi.IntInput) GetPiNetworkPeerExportRouteFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkPeerExportRouteFilter { + return vs[0].([]GetPiNetworkPeerExportRouteFilter)[vs[1].(int)] + }).(GetPiNetworkPeerExportRouteFilterOutput) +} + +type GetPiNetworkPeerImportRouteFilter struct { + // Action of the filter. + Action string `pulumi:"action"` + // Time stamp for create route filter. + CreationDate string `pulumi:"creationDate"` + // Direction of the filter. + Direction string `pulumi:"direction"` + // Error description. + Error string `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge int `pulumi:"ge"` + // Priority or order of the filter. + Index int `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le int `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix string `pulumi:"prefix"` + // Route filter ID. + RouteFilterId string `pulumi:"routeFilterId"` + // Status of the route filter. + State string `pulumi:"state"` +} + +// GetPiNetworkPeerImportRouteFilterInput is an input type that accepts GetPiNetworkPeerImportRouteFilterArgs and GetPiNetworkPeerImportRouteFilterOutput values. +// You can construct a concrete instance of `GetPiNetworkPeerImportRouteFilterInput` via: +// +// GetPiNetworkPeerImportRouteFilterArgs{...} +type GetPiNetworkPeerImportRouteFilterInput interface { + pulumi.Input + + ToGetPiNetworkPeerImportRouteFilterOutput() GetPiNetworkPeerImportRouteFilterOutput + ToGetPiNetworkPeerImportRouteFilterOutputWithContext(context.Context) GetPiNetworkPeerImportRouteFilterOutput +} + +type GetPiNetworkPeerImportRouteFilterArgs struct { + // Action of the filter. + Action pulumi.StringInput `pulumi:"action"` + // Time stamp for create route filter. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // Direction of the filter. + Direction pulumi.StringInput `pulumi:"direction"` + // Error description. + Error pulumi.StringInput `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge pulumi.IntInput `pulumi:"ge"` + // Priority or order of the filter. + Index pulumi.IntInput `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le pulumi.IntInput `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix pulumi.StringInput `pulumi:"prefix"` + // Route filter ID. + RouteFilterId pulumi.StringInput `pulumi:"routeFilterId"` + // Status of the route filter. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetPiNetworkPeerImportRouteFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (i GetPiNetworkPeerImportRouteFilterArgs) ToGetPiNetworkPeerImportRouteFilterOutput() GetPiNetworkPeerImportRouteFilterOutput { + return i.ToGetPiNetworkPeerImportRouteFilterOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeerImportRouteFilterArgs) ToGetPiNetworkPeerImportRouteFilterOutputWithContext(ctx context.Context) GetPiNetworkPeerImportRouteFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeerImportRouteFilterOutput) +} + +// GetPiNetworkPeerImportRouteFilterArrayInput is an input type that accepts GetPiNetworkPeerImportRouteFilterArray and GetPiNetworkPeerImportRouteFilterArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkPeerImportRouteFilterArrayInput` via: +// +// GetPiNetworkPeerImportRouteFilterArray{ GetPiNetworkPeerImportRouteFilterArgs{...} } +type GetPiNetworkPeerImportRouteFilterArrayInput interface { + pulumi.Input + + ToGetPiNetworkPeerImportRouteFilterArrayOutput() GetPiNetworkPeerImportRouteFilterArrayOutput + ToGetPiNetworkPeerImportRouteFilterArrayOutputWithContext(context.Context) GetPiNetworkPeerImportRouteFilterArrayOutput +} + +type GetPiNetworkPeerImportRouteFilterArray []GetPiNetworkPeerImportRouteFilterInput + +func (GetPiNetworkPeerImportRouteFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (i GetPiNetworkPeerImportRouteFilterArray) ToGetPiNetworkPeerImportRouteFilterArrayOutput() GetPiNetworkPeerImportRouteFilterArrayOutput { + return i.ToGetPiNetworkPeerImportRouteFilterArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeerImportRouteFilterArray) ToGetPiNetworkPeerImportRouteFilterArrayOutputWithContext(ctx context.Context) GetPiNetworkPeerImportRouteFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeerImportRouteFilterArrayOutput) +} + +type GetPiNetworkPeerImportRouteFilterOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeerImportRouteFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (o GetPiNetworkPeerImportRouteFilterOutput) ToGetPiNetworkPeerImportRouteFilterOutput() GetPiNetworkPeerImportRouteFilterOutput { + return o +} + +func (o GetPiNetworkPeerImportRouteFilterOutput) ToGetPiNetworkPeerImportRouteFilterOutputWithContext(ctx context.Context) GetPiNetworkPeerImportRouteFilterOutput { + return o +} + +// Action of the filter. +func (o GetPiNetworkPeerImportRouteFilterOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) string { return v.Action }).(pulumi.StringOutput) +} + +// Time stamp for create route filter. +func (o GetPiNetworkPeerImportRouteFilterOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// Direction of the filter. +func (o GetPiNetworkPeerImportRouteFilterOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) string { return v.Direction }).(pulumi.StringOutput) +} + +// Error description. +func (o GetPiNetworkPeerImportRouteFilterOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) string { return v.Error }).(pulumi.StringOutput) +} + +// The minimum matching length of the prefix-set. +func (o GetPiNetworkPeerImportRouteFilterOutput) Ge() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) int { return v.Ge }).(pulumi.IntOutput) +} + +// Priority or order of the filter. +func (o GetPiNetworkPeerImportRouteFilterOutput) Index() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) int { return v.Index }).(pulumi.IntOutput) +} + +// The maximum matching length of the prefix-set. +func (o GetPiNetworkPeerImportRouteFilterOutput) Le() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) int { return v.Le }).(pulumi.IntOutput) +} + +// IP prefix representing an address and mask length of the prefix-set. +func (o GetPiNetworkPeerImportRouteFilterOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Route filter ID. +func (o GetPiNetworkPeerImportRouteFilterOutput) RouteFilterId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) string { return v.RouteFilterId }).(pulumi.StringOutput) +} + +// Status of the route filter. +func (o GetPiNetworkPeerImportRouteFilterOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerImportRouteFilter) string { return v.State }).(pulumi.StringOutput) +} + +type GetPiNetworkPeerImportRouteFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeerImportRouteFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (o GetPiNetworkPeerImportRouteFilterArrayOutput) ToGetPiNetworkPeerImportRouteFilterArrayOutput() GetPiNetworkPeerImportRouteFilterArrayOutput { + return o +} + +func (o GetPiNetworkPeerImportRouteFilterArrayOutput) ToGetPiNetworkPeerImportRouteFilterArrayOutputWithContext(ctx context.Context) GetPiNetworkPeerImportRouteFilterArrayOutput { + return o +} + +func (o GetPiNetworkPeerImportRouteFilterArrayOutput) Index(i pulumi.IntInput) GetPiNetworkPeerImportRouteFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkPeerImportRouteFilter { + return vs[0].([]GetPiNetworkPeerImportRouteFilter)[vs[1].(int)] + }).(GetPiNetworkPeerImportRouteFilterOutput) +} + +type GetPiNetworkPeerInterfacesPeerInterface struct { + // Device ID of the peer interface. + DeviceId string `pulumi:"deviceId"` + // Peer interface name. + Name string `pulumi:"name"` + // Peer interface ID. + PeerInterfaceId string `pulumi:"peerInterfaceId"` + // Type of peer interface. + PeerType string `pulumi:"peerType"` + // Port ID of the peer interface. + PortId string `pulumi:"portId"` +} + +// GetPiNetworkPeerInterfacesPeerInterfaceInput is an input type that accepts GetPiNetworkPeerInterfacesPeerInterfaceArgs and GetPiNetworkPeerInterfacesPeerInterfaceOutput values. +// You can construct a concrete instance of `GetPiNetworkPeerInterfacesPeerInterfaceInput` via: +// +// GetPiNetworkPeerInterfacesPeerInterfaceArgs{...} +type GetPiNetworkPeerInterfacesPeerInterfaceInput interface { + pulumi.Input + + ToGetPiNetworkPeerInterfacesPeerInterfaceOutput() GetPiNetworkPeerInterfacesPeerInterfaceOutput + ToGetPiNetworkPeerInterfacesPeerInterfaceOutputWithContext(context.Context) GetPiNetworkPeerInterfacesPeerInterfaceOutput +} + +type GetPiNetworkPeerInterfacesPeerInterfaceArgs struct { + // Device ID of the peer interface. + DeviceId pulumi.StringInput `pulumi:"deviceId"` + // Peer interface name. + Name pulumi.StringInput `pulumi:"name"` + // Peer interface ID. + PeerInterfaceId pulumi.StringInput `pulumi:"peerInterfaceId"` + // Type of peer interface. + PeerType pulumi.StringInput `pulumi:"peerType"` + // Port ID of the peer interface. + PortId pulumi.StringInput `pulumi:"portId"` +} + +func (GetPiNetworkPeerInterfacesPeerInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeerInterfacesPeerInterface)(nil)).Elem() +} + +func (i GetPiNetworkPeerInterfacesPeerInterfaceArgs) ToGetPiNetworkPeerInterfacesPeerInterfaceOutput() GetPiNetworkPeerInterfacesPeerInterfaceOutput { + return i.ToGetPiNetworkPeerInterfacesPeerInterfaceOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeerInterfacesPeerInterfaceArgs) ToGetPiNetworkPeerInterfacesPeerInterfaceOutputWithContext(ctx context.Context) GetPiNetworkPeerInterfacesPeerInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeerInterfacesPeerInterfaceOutput) +} + +// GetPiNetworkPeerInterfacesPeerInterfaceArrayInput is an input type that accepts GetPiNetworkPeerInterfacesPeerInterfaceArray and GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkPeerInterfacesPeerInterfaceArrayInput` via: +// +// GetPiNetworkPeerInterfacesPeerInterfaceArray{ GetPiNetworkPeerInterfacesPeerInterfaceArgs{...} } +type GetPiNetworkPeerInterfacesPeerInterfaceArrayInput interface { + pulumi.Input + + ToGetPiNetworkPeerInterfacesPeerInterfaceArrayOutput() GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput + ToGetPiNetworkPeerInterfacesPeerInterfaceArrayOutputWithContext(context.Context) GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput +} + +type GetPiNetworkPeerInterfacesPeerInterfaceArray []GetPiNetworkPeerInterfacesPeerInterfaceInput + +func (GetPiNetworkPeerInterfacesPeerInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeerInterfacesPeerInterface)(nil)).Elem() +} + +func (i GetPiNetworkPeerInterfacesPeerInterfaceArray) ToGetPiNetworkPeerInterfacesPeerInterfaceArrayOutput() GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput { + return i.ToGetPiNetworkPeerInterfacesPeerInterfaceArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeerInterfacesPeerInterfaceArray) ToGetPiNetworkPeerInterfacesPeerInterfaceArrayOutputWithContext(ctx context.Context) GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput) +} + +type GetPiNetworkPeerInterfacesPeerInterfaceOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeerInterfacesPeerInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeerInterfacesPeerInterface)(nil)).Elem() +} + +func (o GetPiNetworkPeerInterfacesPeerInterfaceOutput) ToGetPiNetworkPeerInterfacesPeerInterfaceOutput() GetPiNetworkPeerInterfacesPeerInterfaceOutput { + return o +} + +func (o GetPiNetworkPeerInterfacesPeerInterfaceOutput) ToGetPiNetworkPeerInterfacesPeerInterfaceOutputWithContext(ctx context.Context) GetPiNetworkPeerInterfacesPeerInterfaceOutput { + return o +} + +// Device ID of the peer interface. +func (o GetPiNetworkPeerInterfacesPeerInterfaceOutput) DeviceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerInterfacesPeerInterface) string { return v.DeviceId }).(pulumi.StringOutput) +} + +// Peer interface name. +func (o GetPiNetworkPeerInterfacesPeerInterfaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerInterfacesPeerInterface) string { return v.Name }).(pulumi.StringOutput) +} + +// Peer interface ID. +func (o GetPiNetworkPeerInterfacesPeerInterfaceOutput) PeerInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerInterfacesPeerInterface) string { return v.PeerInterfaceId }).(pulumi.StringOutput) +} + +// Type of peer interface. +func (o GetPiNetworkPeerInterfacesPeerInterfaceOutput) PeerType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerInterfacesPeerInterface) string { return v.PeerType }).(pulumi.StringOutput) +} + +// Port ID of the peer interface. +func (o GetPiNetworkPeerInterfacesPeerInterfaceOutput) PortId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeerInterfacesPeerInterface) string { return v.PortId }).(pulumi.StringOutput) +} + +type GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeerInterfacesPeerInterface)(nil)).Elem() +} + +func (o GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput) ToGetPiNetworkPeerInterfacesPeerInterfaceArrayOutput() GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput { + return o +} + +func (o GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput) ToGetPiNetworkPeerInterfacesPeerInterfaceArrayOutputWithContext(ctx context.Context) GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput { + return o +} + +func (o GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput) Index(i pulumi.IntInput) GetPiNetworkPeerInterfacesPeerInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkPeerInterfacesPeerInterface { + return vs[0].([]GetPiNetworkPeerInterfacesPeerInterface)[vs[1].(int)] + }).(GetPiNetworkPeerInterfacesPeerInterfaceOutput) +} + +type GetPiNetworkPeersNetworkPeer struct { + // Time stamp for create network peer. + CreationDate string `pulumi:"creationDate"` + // ASN number at customer network side. + CustomerAsn int `pulumi:"customerAsn"` + // IP address used for configuring customer network interface with network subnet mask. + CustomerCidr string `pulumi:"customerCidr"` + // Default action for export route filter. + DefaultExportRouteFilter string `pulumi:"defaultExportRouteFilter"` + // Default action for import route filter. + DefaultImportRouteFilter string `pulumi:"defaultImportRouteFilter"` + // [Deprecated] Description of the network peer. + Description string `pulumi:"description"` + // Error description. + Error string `pulumi:"error"` + // List of export route filters. + ExportRouteFilters []GetPiNetworkPeersNetworkPeerExportRouteFilter `pulumi:"exportRouteFilters"` + // ASN number at IBM PowerVS side. + IbmAsn int `pulumi:"ibmAsn"` + // IP address used for configuring IBM network interface with network subnet mask. + IbmCidr string `pulumi:"ibmCidr"` + // ID of the network peer. + Id string `pulumi:"id"` + // List of import route filters. + ImportRouteFilters []GetPiNetworkPeersNetworkPeerImportRouteFilter `pulumi:"importRouteFilters"` + // User defined name. + Name string `pulumi:"name"` + // Peer interface id. + PeerInterfaceId string `pulumi:"peerInterfaceId"` + // Status of the network peer. + State string `pulumi:"state"` + // Type of the peer network. + Type string `pulumi:"type"` + // Time stamp for update network peer. + UpdatedDate string `pulumi:"updatedDate"` + // A vlan configured at the customer network. + Vlan int `pulumi:"vlan"` +} + +// GetPiNetworkPeersNetworkPeerInput is an input type that accepts GetPiNetworkPeersNetworkPeerArgs and GetPiNetworkPeersNetworkPeerOutput values. +// You can construct a concrete instance of `GetPiNetworkPeersNetworkPeerInput` via: +// +// GetPiNetworkPeersNetworkPeerArgs{...} +type GetPiNetworkPeersNetworkPeerInput interface { + pulumi.Input + + ToGetPiNetworkPeersNetworkPeerOutput() GetPiNetworkPeersNetworkPeerOutput + ToGetPiNetworkPeersNetworkPeerOutputWithContext(context.Context) GetPiNetworkPeersNetworkPeerOutput +} + +type GetPiNetworkPeersNetworkPeerArgs struct { + // Time stamp for create network peer. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // ASN number at customer network side. + CustomerAsn pulumi.IntInput `pulumi:"customerAsn"` + // IP address used for configuring customer network interface with network subnet mask. + CustomerCidr pulumi.StringInput `pulumi:"customerCidr"` + // Default action for export route filter. + DefaultExportRouteFilter pulumi.StringInput `pulumi:"defaultExportRouteFilter"` + // Default action for import route filter. + DefaultImportRouteFilter pulumi.StringInput `pulumi:"defaultImportRouteFilter"` + // [Deprecated] Description of the network peer. + Description pulumi.StringInput `pulumi:"description"` + // Error description. + Error pulumi.StringInput `pulumi:"error"` + // List of export route filters. + ExportRouteFilters GetPiNetworkPeersNetworkPeerExportRouteFilterArrayInput `pulumi:"exportRouteFilters"` + // ASN number at IBM PowerVS side. + IbmAsn pulumi.IntInput `pulumi:"ibmAsn"` + // IP address used for configuring IBM network interface with network subnet mask. + IbmCidr pulumi.StringInput `pulumi:"ibmCidr"` + // ID of the network peer. + Id pulumi.StringInput `pulumi:"id"` + // List of import route filters. + ImportRouteFilters GetPiNetworkPeersNetworkPeerImportRouteFilterArrayInput `pulumi:"importRouteFilters"` + // User defined name. + Name pulumi.StringInput `pulumi:"name"` + // Peer interface id. + PeerInterfaceId pulumi.StringInput `pulumi:"peerInterfaceId"` + // Status of the network peer. + State pulumi.StringInput `pulumi:"state"` + // Type of the peer network. + Type pulumi.StringInput `pulumi:"type"` + // Time stamp for update network peer. + UpdatedDate pulumi.StringInput `pulumi:"updatedDate"` + // A vlan configured at the customer network. + Vlan pulumi.IntInput `pulumi:"vlan"` +} + +func (GetPiNetworkPeersNetworkPeerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeersNetworkPeer)(nil)).Elem() +} + +func (i GetPiNetworkPeersNetworkPeerArgs) ToGetPiNetworkPeersNetworkPeerOutput() GetPiNetworkPeersNetworkPeerOutput { + return i.ToGetPiNetworkPeersNetworkPeerOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeersNetworkPeerArgs) ToGetPiNetworkPeersNetworkPeerOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeersNetworkPeerOutput) +} + +// GetPiNetworkPeersNetworkPeerArrayInput is an input type that accepts GetPiNetworkPeersNetworkPeerArray and GetPiNetworkPeersNetworkPeerArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkPeersNetworkPeerArrayInput` via: +// +// GetPiNetworkPeersNetworkPeerArray{ GetPiNetworkPeersNetworkPeerArgs{...} } +type GetPiNetworkPeersNetworkPeerArrayInput interface { + pulumi.Input + + ToGetPiNetworkPeersNetworkPeerArrayOutput() GetPiNetworkPeersNetworkPeerArrayOutput + ToGetPiNetworkPeersNetworkPeerArrayOutputWithContext(context.Context) GetPiNetworkPeersNetworkPeerArrayOutput +} + +type GetPiNetworkPeersNetworkPeerArray []GetPiNetworkPeersNetworkPeerInput + +func (GetPiNetworkPeersNetworkPeerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeersNetworkPeer)(nil)).Elem() +} + +func (i GetPiNetworkPeersNetworkPeerArray) ToGetPiNetworkPeersNetworkPeerArrayOutput() GetPiNetworkPeersNetworkPeerArrayOutput { + return i.ToGetPiNetworkPeersNetworkPeerArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeersNetworkPeerArray) ToGetPiNetworkPeersNetworkPeerArrayOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeersNetworkPeerArrayOutput) +} + +type GetPiNetworkPeersNetworkPeerOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeersNetworkPeerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeersNetworkPeer)(nil)).Elem() +} + +func (o GetPiNetworkPeersNetworkPeerOutput) ToGetPiNetworkPeersNetworkPeerOutput() GetPiNetworkPeersNetworkPeerOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerOutput) ToGetPiNetworkPeersNetworkPeerOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerOutput { + return o +} + +// Time stamp for create network peer. +func (o GetPiNetworkPeersNetworkPeerOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// ASN number at customer network side. +func (o GetPiNetworkPeersNetworkPeerOutput) CustomerAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) int { return v.CustomerAsn }).(pulumi.IntOutput) +} + +// IP address used for configuring customer network interface with network subnet mask. +func (o GetPiNetworkPeersNetworkPeerOutput) CustomerCidr() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.CustomerCidr }).(pulumi.StringOutput) +} + +// Default action for export route filter. +func (o GetPiNetworkPeersNetworkPeerOutput) DefaultExportRouteFilter() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.DefaultExportRouteFilter }).(pulumi.StringOutput) +} + +// Default action for import route filter. +func (o GetPiNetworkPeersNetworkPeerOutput) DefaultImportRouteFilter() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.DefaultImportRouteFilter }).(pulumi.StringOutput) +} + +// [Deprecated] Description of the network peer. +func (o GetPiNetworkPeersNetworkPeerOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.Description }).(pulumi.StringOutput) +} + +// Error description. +func (o GetPiNetworkPeersNetworkPeerOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.Error }).(pulumi.StringOutput) +} + +// List of export route filters. +func (o GetPiNetworkPeersNetworkPeerOutput) ExportRouteFilters() GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) []GetPiNetworkPeersNetworkPeerExportRouteFilter { + return v.ExportRouteFilters + }).(GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput) +} + +// ASN number at IBM PowerVS side. +func (o GetPiNetworkPeersNetworkPeerOutput) IbmAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) int { return v.IbmAsn }).(pulumi.IntOutput) +} + +// IP address used for configuring IBM network interface with network subnet mask. +func (o GetPiNetworkPeersNetworkPeerOutput) IbmCidr() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.IbmCidr }).(pulumi.StringOutput) +} + +// ID of the network peer. +func (o GetPiNetworkPeersNetworkPeerOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.Id }).(pulumi.StringOutput) +} + +// List of import route filters. +func (o GetPiNetworkPeersNetworkPeerOutput) ImportRouteFilters() GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) []GetPiNetworkPeersNetworkPeerImportRouteFilter { + return v.ImportRouteFilters + }).(GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput) +} + +// User defined name. +func (o GetPiNetworkPeersNetworkPeerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.Name }).(pulumi.StringOutput) +} + +// Peer interface id. +func (o GetPiNetworkPeersNetworkPeerOutput) PeerInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.PeerInterfaceId }).(pulumi.StringOutput) +} + +// Status of the network peer. +func (o GetPiNetworkPeersNetworkPeerOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.State }).(pulumi.StringOutput) +} + +// Type of the peer network. +func (o GetPiNetworkPeersNetworkPeerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.Type }).(pulumi.StringOutput) +} + +// Time stamp for update network peer. +func (o GetPiNetworkPeersNetworkPeerOutput) UpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) string { return v.UpdatedDate }).(pulumi.StringOutput) +} + +// A vlan configured at the customer network. +func (o GetPiNetworkPeersNetworkPeerOutput) Vlan() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeer) int { return v.Vlan }).(pulumi.IntOutput) +} + +type GetPiNetworkPeersNetworkPeerArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeersNetworkPeerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeersNetworkPeer)(nil)).Elem() +} + +func (o GetPiNetworkPeersNetworkPeerArrayOutput) ToGetPiNetworkPeersNetworkPeerArrayOutput() GetPiNetworkPeersNetworkPeerArrayOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerArrayOutput) ToGetPiNetworkPeersNetworkPeerArrayOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerArrayOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerArrayOutput) Index(i pulumi.IntInput) GetPiNetworkPeersNetworkPeerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkPeersNetworkPeer { + return vs[0].([]GetPiNetworkPeersNetworkPeer)[vs[1].(int)] + }).(GetPiNetworkPeersNetworkPeerOutput) +} + +type GetPiNetworkPeersNetworkPeerExportRouteFilter struct { + // Action of the filter. + Action string `pulumi:"action"` + // Time stamp for create route filter. + CreationDate string `pulumi:"creationDate"` + // Direction of the filter. + Direction string `pulumi:"direction"` + // Error description. + Error string `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge int `pulumi:"ge"` + // Priority or order of the filter. + Index int `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le int `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix string `pulumi:"prefix"` + // Route filter ID. + RouteFilterId string `pulumi:"routeFilterId"` + // Status of the route filter. + State string `pulumi:"state"` +} + +// GetPiNetworkPeersNetworkPeerExportRouteFilterInput is an input type that accepts GetPiNetworkPeersNetworkPeerExportRouteFilterArgs and GetPiNetworkPeersNetworkPeerExportRouteFilterOutput values. +// You can construct a concrete instance of `GetPiNetworkPeersNetworkPeerExportRouteFilterInput` via: +// +// GetPiNetworkPeersNetworkPeerExportRouteFilterArgs{...} +type GetPiNetworkPeersNetworkPeerExportRouteFilterInput interface { + pulumi.Input + + ToGetPiNetworkPeersNetworkPeerExportRouteFilterOutput() GetPiNetworkPeersNetworkPeerExportRouteFilterOutput + ToGetPiNetworkPeersNetworkPeerExportRouteFilterOutputWithContext(context.Context) GetPiNetworkPeersNetworkPeerExportRouteFilterOutput +} + +type GetPiNetworkPeersNetworkPeerExportRouteFilterArgs struct { + // Action of the filter. + Action pulumi.StringInput `pulumi:"action"` + // Time stamp for create route filter. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // Direction of the filter. + Direction pulumi.StringInput `pulumi:"direction"` + // Error description. + Error pulumi.StringInput `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge pulumi.IntInput `pulumi:"ge"` + // Priority or order of the filter. + Index pulumi.IntInput `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le pulumi.IntInput `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix pulumi.StringInput `pulumi:"prefix"` + // Route filter ID. + RouteFilterId pulumi.StringInput `pulumi:"routeFilterId"` + // Status of the route filter. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetPiNetworkPeersNetworkPeerExportRouteFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeersNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (i GetPiNetworkPeersNetworkPeerExportRouteFilterArgs) ToGetPiNetworkPeersNetworkPeerExportRouteFilterOutput() GetPiNetworkPeersNetworkPeerExportRouteFilterOutput { + return i.ToGetPiNetworkPeersNetworkPeerExportRouteFilterOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeersNetworkPeerExportRouteFilterArgs) ToGetPiNetworkPeersNetworkPeerExportRouteFilterOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerExportRouteFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) +} + +// GetPiNetworkPeersNetworkPeerExportRouteFilterArrayInput is an input type that accepts GetPiNetworkPeersNetworkPeerExportRouteFilterArray and GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkPeersNetworkPeerExportRouteFilterArrayInput` via: +// +// GetPiNetworkPeersNetworkPeerExportRouteFilterArray{ GetPiNetworkPeersNetworkPeerExportRouteFilterArgs{...} } +type GetPiNetworkPeersNetworkPeerExportRouteFilterArrayInput interface { + pulumi.Input + + ToGetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput() GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput + ToGetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutputWithContext(context.Context) GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput +} + +type GetPiNetworkPeersNetworkPeerExportRouteFilterArray []GetPiNetworkPeersNetworkPeerExportRouteFilterInput + +func (GetPiNetworkPeersNetworkPeerExportRouteFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeersNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (i GetPiNetworkPeersNetworkPeerExportRouteFilterArray) ToGetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput() GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput { + return i.ToGetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeersNetworkPeerExportRouteFilterArray) ToGetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput) +} + +type GetPiNetworkPeersNetworkPeerExportRouteFilterOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeersNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) ToGetPiNetworkPeersNetworkPeerExportRouteFilterOutput() GetPiNetworkPeersNetworkPeerExportRouteFilterOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) ToGetPiNetworkPeersNetworkPeerExportRouteFilterOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerExportRouteFilterOutput { + return o +} + +// Action of the filter. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) string { return v.Action }).(pulumi.StringOutput) +} + +// Time stamp for create route filter. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// Direction of the filter. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) string { return v.Direction }).(pulumi.StringOutput) +} + +// Error description. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) string { return v.Error }).(pulumi.StringOutput) +} + +// The minimum matching length of the prefix-set. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) Ge() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) int { return v.Ge }).(pulumi.IntOutput) +} + +// Priority or order of the filter. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) Index() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) int { return v.Index }).(pulumi.IntOutput) +} + +// The maximum matching length of the prefix-set. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) Le() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) int { return v.Le }).(pulumi.IntOutput) +} + +// IP prefix representing an address and mask length of the prefix-set. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Route filter ID. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) RouteFilterId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) string { return v.RouteFilterId }).(pulumi.StringOutput) +} + +// Status of the route filter. +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerExportRouteFilter) string { return v.State }).(pulumi.StringOutput) +} + +type GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeersNetworkPeerExportRouteFilter)(nil)).Elem() +} + +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput) ToGetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput() GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput) ToGetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput) Index(i pulumi.IntInput) GetPiNetworkPeersNetworkPeerExportRouteFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkPeersNetworkPeerExportRouteFilter { + return vs[0].([]GetPiNetworkPeersNetworkPeerExportRouteFilter)[vs[1].(int)] + }).(GetPiNetworkPeersNetworkPeerExportRouteFilterOutput) +} + +type GetPiNetworkPeersNetworkPeerImportRouteFilter struct { + // Action of the filter. + Action string `pulumi:"action"` + // Time stamp for create route filter. + CreationDate string `pulumi:"creationDate"` + // Direction of the filter. + Direction string `pulumi:"direction"` + // Error description. + Error string `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge int `pulumi:"ge"` + // Priority or order of the filter. + Index int `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le int `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix string `pulumi:"prefix"` + // Route filter ID. + RouteFilterId string `pulumi:"routeFilterId"` + // Status of the route filter. + State string `pulumi:"state"` +} + +// GetPiNetworkPeersNetworkPeerImportRouteFilterInput is an input type that accepts GetPiNetworkPeersNetworkPeerImportRouteFilterArgs and GetPiNetworkPeersNetworkPeerImportRouteFilterOutput values. +// You can construct a concrete instance of `GetPiNetworkPeersNetworkPeerImportRouteFilterInput` via: +// +// GetPiNetworkPeersNetworkPeerImportRouteFilterArgs{...} +type GetPiNetworkPeersNetworkPeerImportRouteFilterInput interface { + pulumi.Input + + ToGetPiNetworkPeersNetworkPeerImportRouteFilterOutput() GetPiNetworkPeersNetworkPeerImportRouteFilterOutput + ToGetPiNetworkPeersNetworkPeerImportRouteFilterOutputWithContext(context.Context) GetPiNetworkPeersNetworkPeerImportRouteFilterOutput +} + +type GetPiNetworkPeersNetworkPeerImportRouteFilterArgs struct { + // Action of the filter. + Action pulumi.StringInput `pulumi:"action"` + // Time stamp for create route filter. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // Direction of the filter. + Direction pulumi.StringInput `pulumi:"direction"` + // Error description. + Error pulumi.StringInput `pulumi:"error"` + // The minimum matching length of the prefix-set. + Ge pulumi.IntInput `pulumi:"ge"` + // Priority or order of the filter. + Index pulumi.IntInput `pulumi:"index"` + // The maximum matching length of the prefix-set. + Le pulumi.IntInput `pulumi:"le"` + // IP prefix representing an address and mask length of the prefix-set. + Prefix pulumi.StringInput `pulumi:"prefix"` + // Route filter ID. + RouteFilterId pulumi.StringInput `pulumi:"routeFilterId"` + // Status of the route filter. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetPiNetworkPeersNetworkPeerImportRouteFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeersNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (i GetPiNetworkPeersNetworkPeerImportRouteFilterArgs) ToGetPiNetworkPeersNetworkPeerImportRouteFilterOutput() GetPiNetworkPeersNetworkPeerImportRouteFilterOutput { + return i.ToGetPiNetworkPeersNetworkPeerImportRouteFilterOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeersNetworkPeerImportRouteFilterArgs) ToGetPiNetworkPeersNetworkPeerImportRouteFilterOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerImportRouteFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) +} + +// GetPiNetworkPeersNetworkPeerImportRouteFilterArrayInput is an input type that accepts GetPiNetworkPeersNetworkPeerImportRouteFilterArray and GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkPeersNetworkPeerImportRouteFilterArrayInput` via: +// +// GetPiNetworkPeersNetworkPeerImportRouteFilterArray{ GetPiNetworkPeersNetworkPeerImportRouteFilterArgs{...} } +type GetPiNetworkPeersNetworkPeerImportRouteFilterArrayInput interface { + pulumi.Input + + ToGetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput() GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput + ToGetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutputWithContext(context.Context) GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput +} + +type GetPiNetworkPeersNetworkPeerImportRouteFilterArray []GetPiNetworkPeersNetworkPeerImportRouteFilterInput + +func (GetPiNetworkPeersNetworkPeerImportRouteFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeersNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (i GetPiNetworkPeersNetworkPeerImportRouteFilterArray) ToGetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput() GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput { + return i.ToGetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPeersNetworkPeerImportRouteFilterArray) ToGetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput) +} + +type GetPiNetworkPeersNetworkPeerImportRouteFilterOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPeersNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) ToGetPiNetworkPeersNetworkPeerImportRouteFilterOutput() GetPiNetworkPeersNetworkPeerImportRouteFilterOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) ToGetPiNetworkPeersNetworkPeerImportRouteFilterOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerImportRouteFilterOutput { + return o +} + +// Action of the filter. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) string { return v.Action }).(pulumi.StringOutput) +} + +// Time stamp for create route filter. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// Direction of the filter. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) string { return v.Direction }).(pulumi.StringOutput) +} + +// Error description. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) Error() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) string { return v.Error }).(pulumi.StringOutput) +} + +// The minimum matching length of the prefix-set. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) Ge() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) int { return v.Ge }).(pulumi.IntOutput) +} + +// Priority or order of the filter. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) Index() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) int { return v.Index }).(pulumi.IntOutput) +} + +// The maximum matching length of the prefix-set. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) Le() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) int { return v.Le }).(pulumi.IntOutput) +} + +// IP prefix representing an address and mask length of the prefix-set. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Route filter ID. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) RouteFilterId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) string { return v.RouteFilterId }).(pulumi.StringOutput) +} + +// Status of the route filter. +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPeersNetworkPeerImportRouteFilter) string { return v.State }).(pulumi.StringOutput) +} + +type GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPeersNetworkPeerImportRouteFilter)(nil)).Elem() +} + +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput) ToGetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput() GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput) ToGetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutputWithContext(ctx context.Context) GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput { + return o +} + +func (o GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput) Index(i pulumi.IntInput) GetPiNetworkPeersNetworkPeerImportRouteFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkPeersNetworkPeerImportRouteFilter { + return vs[0].([]GetPiNetworkPeersNetworkPeerImportRouteFilter)[vs[1].(int)] + }).(GetPiNetworkPeersNetworkPeerImportRouteFilterOutput) +} + +type GetPiNetworkPortNetworkPort struct { + // The description for the network port. + Description string `pulumi:"description"` + // Network port href. + Href string `pulumi:"href"` + // The IP address of the port. + Ipaddress string `pulumi:"ipaddress"` + // The MAC address of the port. + MacAddress string `pulumi:"macAddress"` + // The MAC address of the port. + // + // Deprecated: Deprecated, use macAddress instead + Macaddress string `pulumi:"macaddress"` + // The ID of the port. + Portid string `pulumi:"portid"` + // The public IP associated with the port. + PublicIp string `pulumi:"publicIp"` + // The status of the port. + Status string `pulumi:"status"` +} + +// GetPiNetworkPortNetworkPortInput is an input type that accepts GetPiNetworkPortNetworkPortArgs and GetPiNetworkPortNetworkPortOutput values. +// You can construct a concrete instance of `GetPiNetworkPortNetworkPortInput` via: +// +// GetPiNetworkPortNetworkPortArgs{...} +type GetPiNetworkPortNetworkPortInput interface { + pulumi.Input + + ToGetPiNetworkPortNetworkPortOutput() GetPiNetworkPortNetworkPortOutput + ToGetPiNetworkPortNetworkPortOutputWithContext(context.Context) GetPiNetworkPortNetworkPortOutput +} + +type GetPiNetworkPortNetworkPortArgs struct { + // The description for the network port. + Description pulumi.StringInput `pulumi:"description"` + // Network port href. + Href pulumi.StringInput `pulumi:"href"` + // The IP address of the port. + Ipaddress pulumi.StringInput `pulumi:"ipaddress"` + // The MAC address of the port. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // The MAC address of the port. + // + // Deprecated: Deprecated, use macAddress instead + Macaddress pulumi.StringInput `pulumi:"macaddress"` + // The ID of the port. + Portid pulumi.StringInput `pulumi:"portid"` + // The public IP associated with the port. + PublicIp pulumi.StringInput `pulumi:"publicIp"` + // The status of the port. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetPiNetworkPortNetworkPortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPortNetworkPort)(nil)).Elem() +} + +func (i GetPiNetworkPortNetworkPortArgs) ToGetPiNetworkPortNetworkPortOutput() GetPiNetworkPortNetworkPortOutput { + return i.ToGetPiNetworkPortNetworkPortOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPortNetworkPortArgs) ToGetPiNetworkPortNetworkPortOutputWithContext(ctx context.Context) GetPiNetworkPortNetworkPortOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPortNetworkPortOutput) +} + +// GetPiNetworkPortNetworkPortArrayInput is an input type that accepts GetPiNetworkPortNetworkPortArray and GetPiNetworkPortNetworkPortArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkPortNetworkPortArrayInput` via: +// +// GetPiNetworkPortNetworkPortArray{ GetPiNetworkPortNetworkPortArgs{...} } +type GetPiNetworkPortNetworkPortArrayInput interface { + pulumi.Input + + ToGetPiNetworkPortNetworkPortArrayOutput() GetPiNetworkPortNetworkPortArrayOutput + ToGetPiNetworkPortNetworkPortArrayOutputWithContext(context.Context) GetPiNetworkPortNetworkPortArrayOutput +} + +type GetPiNetworkPortNetworkPortArray []GetPiNetworkPortNetworkPortInput + +func (GetPiNetworkPortNetworkPortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPortNetworkPort)(nil)).Elem() +} + +func (i GetPiNetworkPortNetworkPortArray) ToGetPiNetworkPortNetworkPortArrayOutput() GetPiNetworkPortNetworkPortArrayOutput { + return i.ToGetPiNetworkPortNetworkPortArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkPortNetworkPortArray) ToGetPiNetworkPortNetworkPortArrayOutputWithContext(ctx context.Context) GetPiNetworkPortNetworkPortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkPortNetworkPortArrayOutput) +} + +type GetPiNetworkPortNetworkPortOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPortNetworkPortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkPortNetworkPort)(nil)).Elem() +} + +func (o GetPiNetworkPortNetworkPortOutput) ToGetPiNetworkPortNetworkPortOutput() GetPiNetworkPortNetworkPortOutput { + return o +} + +func (o GetPiNetworkPortNetworkPortOutput) ToGetPiNetworkPortNetworkPortOutputWithContext(ctx context.Context) GetPiNetworkPortNetworkPortOutput { + return o +} + +// The description for the network port. +func (o GetPiNetworkPortNetworkPortOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortNetworkPort) string { return v.Description }).(pulumi.StringOutput) +} + +// Network port href. +func (o GetPiNetworkPortNetworkPortOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortNetworkPort) string { return v.Href }).(pulumi.StringOutput) +} + +// The IP address of the port. +func (o GetPiNetworkPortNetworkPortOutput) Ipaddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortNetworkPort) string { return v.Ipaddress }).(pulumi.StringOutput) +} + +// The MAC address of the port. +func (o GetPiNetworkPortNetworkPortOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortNetworkPort) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// The MAC address of the port. +// +// Deprecated: Deprecated, use macAddress instead +func (o GetPiNetworkPortNetworkPortOutput) Macaddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortNetworkPort) string { return v.Macaddress }).(pulumi.StringOutput) +} + +// The ID of the port. +func (o GetPiNetworkPortNetworkPortOutput) Portid() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortNetworkPort) string { return v.Portid }).(pulumi.StringOutput) +} + +// The public IP associated with the port. +func (o GetPiNetworkPortNetworkPortOutput) PublicIp() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortNetworkPort) string { return v.PublicIp }).(pulumi.StringOutput) +} + +// The status of the port. +func (o GetPiNetworkPortNetworkPortOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkPortNetworkPort) string { return v.Status }).(pulumi.StringOutput) +} + +type GetPiNetworkPortNetworkPortArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkPortNetworkPortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkPortNetworkPort)(nil)).Elem() +} + +func (o GetPiNetworkPortNetworkPortArrayOutput) ToGetPiNetworkPortNetworkPortArrayOutput() GetPiNetworkPortNetworkPortArrayOutput { + return o +} + +func (o GetPiNetworkPortNetworkPortArrayOutput) ToGetPiNetworkPortNetworkPortArrayOutputWithContext(ctx context.Context) GetPiNetworkPortNetworkPortArrayOutput { + return o +} + +func (o GetPiNetworkPortNetworkPortArrayOutput) Index(i pulumi.IntInput) GetPiNetworkPortNetworkPortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkPortNetworkPort { + return vs[0].([]GetPiNetworkPortNetworkPort)[vs[1].(int)] + }).(GetPiNetworkPortNetworkPortOutput) +} + +type GetPiNetworkSecurityGroupMemberType struct { + // The ID of the member in a network security group. + Id string `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress string `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId string `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target string `pulumi:"target"` + // The type of member. + Type string `pulumi:"type"` +} + +// GetPiNetworkSecurityGroupMemberTypeInput is an input type that accepts GetPiNetworkSecurityGroupMemberTypeArgs and GetPiNetworkSecurityGroupMemberTypeOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupMemberTypeInput` via: +// +// GetPiNetworkSecurityGroupMemberTypeArgs{...} +type GetPiNetworkSecurityGroupMemberTypeInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupMemberTypeOutput() GetPiNetworkSecurityGroupMemberTypeOutput + ToGetPiNetworkSecurityGroupMemberTypeOutputWithContext(context.Context) GetPiNetworkSecurityGroupMemberTypeOutput +} + +type GetPiNetworkSecurityGroupMemberTypeArgs struct { + // The ID of the member in a network security group. + Id pulumi.StringInput `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target pulumi.StringInput `pulumi:"target"` + // The type of member. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiNetworkSecurityGroupMemberTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupMemberType)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupMemberTypeArgs) ToGetPiNetworkSecurityGroupMemberTypeOutput() GetPiNetworkSecurityGroupMemberTypeOutput { + return i.ToGetPiNetworkSecurityGroupMemberTypeOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupMemberTypeArgs) ToGetPiNetworkSecurityGroupMemberTypeOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupMemberTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupMemberTypeOutput) +} + +// GetPiNetworkSecurityGroupMemberTypeArrayInput is an input type that accepts GetPiNetworkSecurityGroupMemberTypeArray and GetPiNetworkSecurityGroupMemberTypeArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupMemberTypeArrayInput` via: +// +// GetPiNetworkSecurityGroupMemberTypeArray{ GetPiNetworkSecurityGroupMemberTypeArgs{...} } +type GetPiNetworkSecurityGroupMemberTypeArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupMemberTypeArrayOutput() GetPiNetworkSecurityGroupMemberTypeArrayOutput + ToGetPiNetworkSecurityGroupMemberTypeArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupMemberTypeArrayOutput +} + +type GetPiNetworkSecurityGroupMemberTypeArray []GetPiNetworkSecurityGroupMemberTypeInput + +func (GetPiNetworkSecurityGroupMemberTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupMemberType)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupMemberTypeArray) ToGetPiNetworkSecurityGroupMemberTypeArrayOutput() GetPiNetworkSecurityGroupMemberTypeArrayOutput { + return i.ToGetPiNetworkSecurityGroupMemberTypeArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupMemberTypeArray) ToGetPiNetworkSecurityGroupMemberTypeArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupMemberTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupMemberTypeArrayOutput) +} + +type GetPiNetworkSecurityGroupMemberTypeOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupMemberTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupMemberType)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupMemberTypeOutput) ToGetPiNetworkSecurityGroupMemberTypeOutput() GetPiNetworkSecurityGroupMemberTypeOutput { + return o +} + +func (o GetPiNetworkSecurityGroupMemberTypeOutput) ToGetPiNetworkSecurityGroupMemberTypeOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupMemberTypeOutput { + return o +} + +// The ID of the member in a network security group. +func (o GetPiNetworkSecurityGroupMemberTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupMemberType) string { return v.Id }).(pulumi.StringOutput) +} + +// The mac address of a network interface included if the type is network-interface. +func (o GetPiNetworkSecurityGroupMemberTypeOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupMemberType) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// The network ID of a network interface included if the type is network-interface. +func (o GetPiNetworkSecurityGroupMemberTypeOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupMemberType) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +} + +// If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. +func (o GetPiNetworkSecurityGroupMemberTypeOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupMemberType) string { return v.Target }).(pulumi.StringOutput) +} + +// The type of member. +func (o GetPiNetworkSecurityGroupMemberTypeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupMemberType) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiNetworkSecurityGroupMemberTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupMemberTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupMemberType)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupMemberTypeArrayOutput) ToGetPiNetworkSecurityGroupMemberTypeArrayOutput() GetPiNetworkSecurityGroupMemberTypeArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupMemberTypeArrayOutput) ToGetPiNetworkSecurityGroupMemberTypeArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupMemberTypeArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupMemberTypeArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupMemberTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupMemberType { + return vs[0].([]GetPiNetworkSecurityGroupMemberType)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupMemberTypeOutput) +} + +type GetPiNetworkSecurityGroupRuleType struct { + // The action to take if the rule matches network traffic. + Action string `pulumi:"action"` + // The list of destination port. + DestinationPorts []GetPiNetworkSecurityGroupRuleDestinationPort `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id string `pulumi:"id"` + // The list of protocol. + Protocols []GetPiNetworkSecurityGroupRuleProtocol `pulumi:"protocols"` + // List of remote. + Remotes []GetPiNetworkSecurityGroupRuleRemote `pulumi:"remotes"` + // List of source port + SourcePorts []GetPiNetworkSecurityGroupRuleSourcePort `pulumi:"sourcePorts"` +} + +// GetPiNetworkSecurityGroupRuleTypeInput is an input type that accepts GetPiNetworkSecurityGroupRuleTypeArgs and GetPiNetworkSecurityGroupRuleTypeOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleTypeInput` via: +// +// GetPiNetworkSecurityGroupRuleTypeArgs{...} +type GetPiNetworkSecurityGroupRuleTypeInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleTypeOutput() GetPiNetworkSecurityGroupRuleTypeOutput + ToGetPiNetworkSecurityGroupRuleTypeOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleTypeOutput +} + +type GetPiNetworkSecurityGroupRuleTypeArgs struct { + // The action to take if the rule matches network traffic. + Action pulumi.StringInput `pulumi:"action"` + // The list of destination port. + DestinationPorts GetPiNetworkSecurityGroupRuleDestinationPortArrayInput `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id pulumi.StringInput `pulumi:"id"` + // The list of protocol. + Protocols GetPiNetworkSecurityGroupRuleProtocolArrayInput `pulumi:"protocols"` + // List of remote. + Remotes GetPiNetworkSecurityGroupRuleRemoteArrayInput `pulumi:"remotes"` + // List of source port + SourcePorts GetPiNetworkSecurityGroupRuleSourcePortArrayInput `pulumi:"sourcePorts"` +} + +func (GetPiNetworkSecurityGroupRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleType)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleTypeArgs) ToGetPiNetworkSecurityGroupRuleTypeOutput() GetPiNetworkSecurityGroupRuleTypeOutput { + return i.ToGetPiNetworkSecurityGroupRuleTypeOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleTypeArgs) ToGetPiNetworkSecurityGroupRuleTypeOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleTypeOutput) +} + +// GetPiNetworkSecurityGroupRuleTypeArrayInput is an input type that accepts GetPiNetworkSecurityGroupRuleTypeArray and GetPiNetworkSecurityGroupRuleTypeArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleTypeArrayInput` via: +// +// GetPiNetworkSecurityGroupRuleTypeArray{ GetPiNetworkSecurityGroupRuleTypeArgs{...} } +type GetPiNetworkSecurityGroupRuleTypeArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleTypeArrayOutput() GetPiNetworkSecurityGroupRuleTypeArrayOutput + ToGetPiNetworkSecurityGroupRuleTypeArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleTypeArrayOutput +} + +type GetPiNetworkSecurityGroupRuleTypeArray []GetPiNetworkSecurityGroupRuleTypeInput + +func (GetPiNetworkSecurityGroupRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleType)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleTypeArray) ToGetPiNetworkSecurityGroupRuleTypeArrayOutput() GetPiNetworkSecurityGroupRuleTypeArrayOutput { + return i.ToGetPiNetworkSecurityGroupRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleTypeArray) ToGetPiNetworkSecurityGroupRuleTypeArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleTypeArrayOutput) +} + +type GetPiNetworkSecurityGroupRuleTypeOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleType)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleTypeOutput) ToGetPiNetworkSecurityGroupRuleTypeOutput() GetPiNetworkSecurityGroupRuleTypeOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleTypeOutput) ToGetPiNetworkSecurityGroupRuleTypeOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleTypeOutput { + return o +} + +// The action to take if the rule matches network traffic. +func (o GetPiNetworkSecurityGroupRuleTypeOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleType) string { return v.Action }).(pulumi.StringOutput) +} + +// The list of destination port. +func (o GetPiNetworkSecurityGroupRuleTypeOutput) DestinationPorts() GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleType) []GetPiNetworkSecurityGroupRuleDestinationPort { + return v.DestinationPorts + }).(GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput) +} + +// The ID of the rule in a network security group. +func (o GetPiNetworkSecurityGroupRuleTypeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleType) string { return v.Id }).(pulumi.StringOutput) +} + +// The list of protocol. +func (o GetPiNetworkSecurityGroupRuleTypeOutput) Protocols() GetPiNetworkSecurityGroupRuleProtocolArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleType) []GetPiNetworkSecurityGroupRuleProtocol { return v.Protocols }).(GetPiNetworkSecurityGroupRuleProtocolArrayOutput) +} + +// List of remote. +func (o GetPiNetworkSecurityGroupRuleTypeOutput) Remotes() GetPiNetworkSecurityGroupRuleRemoteArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleType) []GetPiNetworkSecurityGroupRuleRemote { return v.Remotes }).(GetPiNetworkSecurityGroupRuleRemoteArrayOutput) +} + +// List of source port +func (o GetPiNetworkSecurityGroupRuleTypeOutput) SourcePorts() GetPiNetworkSecurityGroupRuleSourcePortArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleType) []GetPiNetworkSecurityGroupRuleSourcePort { + return v.SourcePorts + }).(GetPiNetworkSecurityGroupRuleSourcePortArrayOutput) +} + +type GetPiNetworkSecurityGroupRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleType)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleTypeArrayOutput) ToGetPiNetworkSecurityGroupRuleTypeArrayOutput() GetPiNetworkSecurityGroupRuleTypeArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleTypeArrayOutput) ToGetPiNetworkSecurityGroupRuleTypeArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleTypeArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleTypeArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupRuleType { + return vs[0].([]GetPiNetworkSecurityGroupRuleType)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupRuleTypeOutput) +} + +type GetPiNetworkSecurityGroupRuleDestinationPort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum int `pulumi:"minimum"` +} + +// GetPiNetworkSecurityGroupRuleDestinationPortInput is an input type that accepts GetPiNetworkSecurityGroupRuleDestinationPortArgs and GetPiNetworkSecurityGroupRuleDestinationPortOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleDestinationPortInput` via: +// +// GetPiNetworkSecurityGroupRuleDestinationPortArgs{...} +type GetPiNetworkSecurityGroupRuleDestinationPortInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleDestinationPortOutput() GetPiNetworkSecurityGroupRuleDestinationPortOutput + ToGetPiNetworkSecurityGroupRuleDestinationPortOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleDestinationPortOutput +} + +type GetPiNetworkSecurityGroupRuleDestinationPortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntInput `pulumi:"minimum"` +} + +func (GetPiNetworkSecurityGroupRuleDestinationPortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleDestinationPortArgs) ToGetPiNetworkSecurityGroupRuleDestinationPortOutput() GetPiNetworkSecurityGroupRuleDestinationPortOutput { + return i.ToGetPiNetworkSecurityGroupRuleDestinationPortOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleDestinationPortArgs) ToGetPiNetworkSecurityGroupRuleDestinationPortOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleDestinationPortOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleDestinationPortOutput) +} + +// GetPiNetworkSecurityGroupRuleDestinationPortArrayInput is an input type that accepts GetPiNetworkSecurityGroupRuleDestinationPortArray and GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleDestinationPortArrayInput` via: +// +// GetPiNetworkSecurityGroupRuleDestinationPortArray{ GetPiNetworkSecurityGroupRuleDestinationPortArgs{...} } +type GetPiNetworkSecurityGroupRuleDestinationPortArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleDestinationPortArrayOutput() GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput + ToGetPiNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput +} + +type GetPiNetworkSecurityGroupRuleDestinationPortArray []GetPiNetworkSecurityGroupRuleDestinationPortInput + +func (GetPiNetworkSecurityGroupRuleDestinationPortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleDestinationPortArray) ToGetPiNetworkSecurityGroupRuleDestinationPortArrayOutput() GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return i.ToGetPiNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleDestinationPortArray) ToGetPiNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput) +} + +type GetPiNetworkSecurityGroupRuleDestinationPortOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleDestinationPortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleDestinationPortOutput) ToGetPiNetworkSecurityGroupRuleDestinationPortOutput() GetPiNetworkSecurityGroupRuleDestinationPortOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleDestinationPortOutput) ToGetPiNetworkSecurityGroupRuleDestinationPortOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleDestinationPortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o GetPiNetworkSecurityGroupRuleDestinationPortOutput) Maximum() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleDestinationPort) int { return v.Maximum }).(pulumi.IntOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o GetPiNetworkSecurityGroupRuleDestinationPortOutput) Minimum() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleDestinationPort) int { return v.Minimum }).(pulumi.IntOutput) +} + +type GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput) ToGetPiNetworkSecurityGroupRuleDestinationPortArrayOutput() GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput) ToGetPiNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupRuleDestinationPortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupRuleDestinationPort { + return vs[0].([]GetPiNetworkSecurityGroupRuleDestinationPort)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupRuleDestinationPortOutput) +} + +type GetPiNetworkSecurityGroupRuleProtocol struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType string `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags []GetPiNetworkSecurityGroupRuleProtocolTcpFlag `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type string `pulumi:"type"` +} + +// GetPiNetworkSecurityGroupRuleProtocolInput is an input type that accepts GetPiNetworkSecurityGroupRuleProtocolArgs and GetPiNetworkSecurityGroupRuleProtocolOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleProtocolInput` via: +// +// GetPiNetworkSecurityGroupRuleProtocolArgs{...} +type GetPiNetworkSecurityGroupRuleProtocolInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleProtocolOutput() GetPiNetworkSecurityGroupRuleProtocolOutput + ToGetPiNetworkSecurityGroupRuleProtocolOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleProtocolOutput +} + +type GetPiNetworkSecurityGroupRuleProtocolArgs struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType pulumi.StringInput `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiNetworkSecurityGroupRuleProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleProtocolArgs) ToGetPiNetworkSecurityGroupRuleProtocolOutput() GetPiNetworkSecurityGroupRuleProtocolOutput { + return i.ToGetPiNetworkSecurityGroupRuleProtocolOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleProtocolArgs) ToGetPiNetworkSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleProtocolOutput) +} + +// GetPiNetworkSecurityGroupRuleProtocolArrayInput is an input type that accepts GetPiNetworkSecurityGroupRuleProtocolArray and GetPiNetworkSecurityGroupRuleProtocolArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleProtocolArrayInput` via: +// +// GetPiNetworkSecurityGroupRuleProtocolArray{ GetPiNetworkSecurityGroupRuleProtocolArgs{...} } +type GetPiNetworkSecurityGroupRuleProtocolArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleProtocolArrayOutput() GetPiNetworkSecurityGroupRuleProtocolArrayOutput + ToGetPiNetworkSecurityGroupRuleProtocolArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleProtocolArrayOutput +} + +type GetPiNetworkSecurityGroupRuleProtocolArray []GetPiNetworkSecurityGroupRuleProtocolInput + +func (GetPiNetworkSecurityGroupRuleProtocolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleProtocolArray) ToGetPiNetworkSecurityGroupRuleProtocolArrayOutput() GetPiNetworkSecurityGroupRuleProtocolArrayOutput { + return i.ToGetPiNetworkSecurityGroupRuleProtocolArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleProtocolArray) ToGetPiNetworkSecurityGroupRuleProtocolArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleProtocolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleProtocolArrayOutput) +} + +type GetPiNetworkSecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleProtocolOutput) ToGetPiNetworkSecurityGroupRuleProtocolOutput() GetPiNetworkSecurityGroupRuleProtocolOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleProtocolOutput) ToGetPiNetworkSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleProtocolOutput { + return o +} + +// If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. +func (o GetPiNetworkSecurityGroupRuleProtocolOutput) IcmpType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleProtocol) string { return v.IcmpType }).(pulumi.StringOutput) +} + +// If tcp type, the list of TCP flags and if not present then all flags are matched. +func (o GetPiNetworkSecurityGroupRuleProtocolOutput) TcpFlags() GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleProtocol) []GetPiNetworkSecurityGroupRuleProtocolTcpFlag { + return v.TcpFlags + }).(GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) +} + +// The protocol of the network traffic. +func (o GetPiNetworkSecurityGroupRuleProtocolOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleProtocol) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiNetworkSecurityGroupRuleProtocolArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleProtocolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleProtocolArrayOutput) ToGetPiNetworkSecurityGroupRuleProtocolArrayOutput() GetPiNetworkSecurityGroupRuleProtocolArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleProtocolArrayOutput) ToGetPiNetworkSecurityGroupRuleProtocolArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleProtocolArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleProtocolArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupRuleProtocolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupRuleProtocol { + return vs[0].([]GetPiNetworkSecurityGroupRuleProtocol)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupRuleProtocolOutput) +} + +type GetPiNetworkSecurityGroupRuleProtocolTcpFlag struct { + // TCP flag. + Flag string `pulumi:"flag"` +} + +// GetPiNetworkSecurityGroupRuleProtocolTcpFlagInput is an input type that accepts GetPiNetworkSecurityGroupRuleProtocolTcpFlagArgs and GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleProtocolTcpFlagInput` via: +// +// GetPiNetworkSecurityGroupRuleProtocolTcpFlagArgs{...} +type GetPiNetworkSecurityGroupRuleProtocolTcpFlagInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput() GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput + ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput +} + +type GetPiNetworkSecurityGroupRuleProtocolTcpFlagArgs struct { + // TCP flag. + Flag pulumi.StringInput `pulumi:"flag"` +} + +func (GetPiNetworkSecurityGroupRuleProtocolTcpFlagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleProtocolTcpFlagArgs) ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput() GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return i.ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleProtocolTcpFlagArgs) ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput) +} + +// GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput is an input type that accepts GetPiNetworkSecurityGroupRuleProtocolTcpFlagArray and GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput` via: +// +// GetPiNetworkSecurityGroupRuleProtocolTcpFlagArray{ GetPiNetworkSecurityGroupRuleProtocolTcpFlagArgs{...} } +type GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput + ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput +} + +type GetPiNetworkSecurityGroupRuleProtocolTcpFlagArray []GetPiNetworkSecurityGroupRuleProtocolTcpFlagInput + +func (GetPiNetworkSecurityGroupRuleProtocolTcpFlagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleProtocolTcpFlagArray) ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return i.ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleProtocolTcpFlagArray) ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) +} + +type GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput) ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput() GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput) ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return o +} + +// TCP flag. +func (o GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput) Flag() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleProtocolTcpFlag) string { return v.Flag }).(pulumi.StringOutput) +} + +type GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ToGetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupRuleProtocolTcpFlag { + return vs[0].([]GetPiNetworkSecurityGroupRuleProtocolTcpFlag)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput) +} + +type GetPiNetworkSecurityGroupRuleRemote struct { + // The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. + Id string `pulumi:"id"` + // The type of remote group the rules apply to. + Type string `pulumi:"type"` +} + +// GetPiNetworkSecurityGroupRuleRemoteInput is an input type that accepts GetPiNetworkSecurityGroupRuleRemoteArgs and GetPiNetworkSecurityGroupRuleRemoteOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleRemoteInput` via: +// +// GetPiNetworkSecurityGroupRuleRemoteArgs{...} +type GetPiNetworkSecurityGroupRuleRemoteInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleRemoteOutput() GetPiNetworkSecurityGroupRuleRemoteOutput + ToGetPiNetworkSecurityGroupRuleRemoteOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleRemoteOutput +} + +type GetPiNetworkSecurityGroupRuleRemoteArgs struct { + // The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. + Id pulumi.StringInput `pulumi:"id"` + // The type of remote group the rules apply to. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiNetworkSecurityGroupRuleRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleRemoteArgs) ToGetPiNetworkSecurityGroupRuleRemoteOutput() GetPiNetworkSecurityGroupRuleRemoteOutput { + return i.ToGetPiNetworkSecurityGroupRuleRemoteOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleRemoteArgs) ToGetPiNetworkSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleRemoteOutput) +} + +// GetPiNetworkSecurityGroupRuleRemoteArrayInput is an input type that accepts GetPiNetworkSecurityGroupRuleRemoteArray and GetPiNetworkSecurityGroupRuleRemoteArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleRemoteArrayInput` via: +// +// GetPiNetworkSecurityGroupRuleRemoteArray{ GetPiNetworkSecurityGroupRuleRemoteArgs{...} } +type GetPiNetworkSecurityGroupRuleRemoteArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleRemoteArrayOutput() GetPiNetworkSecurityGroupRuleRemoteArrayOutput + ToGetPiNetworkSecurityGroupRuleRemoteArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleRemoteArrayOutput +} + +type GetPiNetworkSecurityGroupRuleRemoteArray []GetPiNetworkSecurityGroupRuleRemoteInput + +func (GetPiNetworkSecurityGroupRuleRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleRemoteArray) ToGetPiNetworkSecurityGroupRuleRemoteArrayOutput() GetPiNetworkSecurityGroupRuleRemoteArrayOutput { + return i.ToGetPiNetworkSecurityGroupRuleRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleRemoteArray) ToGetPiNetworkSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleRemoteArrayOutput) +} + +type GetPiNetworkSecurityGroupRuleRemoteOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleRemoteOutput) ToGetPiNetworkSecurityGroupRuleRemoteOutput() GetPiNetworkSecurityGroupRuleRemoteOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleRemoteOutput) ToGetPiNetworkSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleRemoteOutput { + return o +} + +// The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. +func (o GetPiNetworkSecurityGroupRuleRemoteOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleRemote) string { return v.Id }).(pulumi.StringOutput) +} + +// The type of remote group the rules apply to. +func (o GetPiNetworkSecurityGroupRuleRemoteOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleRemote) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiNetworkSecurityGroupRuleRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleRemoteArrayOutput) ToGetPiNetworkSecurityGroupRuleRemoteArrayOutput() GetPiNetworkSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleRemoteArrayOutput) ToGetPiNetworkSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleRemoteArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupRuleRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupRuleRemote { + return vs[0].([]GetPiNetworkSecurityGroupRuleRemote)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupRuleRemoteOutput) +} + +type GetPiNetworkSecurityGroupRuleSourcePort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum int `pulumi:"minimum"` +} + +// GetPiNetworkSecurityGroupRuleSourcePortInput is an input type that accepts GetPiNetworkSecurityGroupRuleSourcePortArgs and GetPiNetworkSecurityGroupRuleSourcePortOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleSourcePortInput` via: +// +// GetPiNetworkSecurityGroupRuleSourcePortArgs{...} +type GetPiNetworkSecurityGroupRuleSourcePortInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleSourcePortOutput() GetPiNetworkSecurityGroupRuleSourcePortOutput + ToGetPiNetworkSecurityGroupRuleSourcePortOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleSourcePortOutput +} + +type GetPiNetworkSecurityGroupRuleSourcePortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntInput `pulumi:"minimum"` +} + +func (GetPiNetworkSecurityGroupRuleSourcePortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleSourcePortArgs) ToGetPiNetworkSecurityGroupRuleSourcePortOutput() GetPiNetworkSecurityGroupRuleSourcePortOutput { + return i.ToGetPiNetworkSecurityGroupRuleSourcePortOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleSourcePortArgs) ToGetPiNetworkSecurityGroupRuleSourcePortOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleSourcePortOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleSourcePortOutput) +} + +// GetPiNetworkSecurityGroupRuleSourcePortArrayInput is an input type that accepts GetPiNetworkSecurityGroupRuleSourcePortArray and GetPiNetworkSecurityGroupRuleSourcePortArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupRuleSourcePortArrayInput` via: +// +// GetPiNetworkSecurityGroupRuleSourcePortArray{ GetPiNetworkSecurityGroupRuleSourcePortArgs{...} } +type GetPiNetworkSecurityGroupRuleSourcePortArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupRuleSourcePortArrayOutput() GetPiNetworkSecurityGroupRuleSourcePortArrayOutput + ToGetPiNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupRuleSourcePortArrayOutput +} + +type GetPiNetworkSecurityGroupRuleSourcePortArray []GetPiNetworkSecurityGroupRuleSourcePortInput + +func (GetPiNetworkSecurityGroupRuleSourcePortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupRuleSourcePortArray) ToGetPiNetworkSecurityGroupRuleSourcePortArrayOutput() GetPiNetworkSecurityGroupRuleSourcePortArrayOutput { + return i.ToGetPiNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupRuleSourcePortArray) ToGetPiNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleSourcePortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupRuleSourcePortArrayOutput) +} + +type GetPiNetworkSecurityGroupRuleSourcePortOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleSourcePortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleSourcePortOutput) ToGetPiNetworkSecurityGroupRuleSourcePortOutput() GetPiNetworkSecurityGroupRuleSourcePortOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleSourcePortOutput) ToGetPiNetworkSecurityGroupRuleSourcePortOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleSourcePortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o GetPiNetworkSecurityGroupRuleSourcePortOutput) Maximum() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleSourcePort) int { return v.Maximum }).(pulumi.IntOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o GetPiNetworkSecurityGroupRuleSourcePortOutput) Minimum() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupRuleSourcePort) int { return v.Minimum }).(pulumi.IntOutput) +} + +type GetPiNetworkSecurityGroupRuleSourcePortArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupRuleSourcePortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupRuleSourcePortArrayOutput) ToGetPiNetworkSecurityGroupRuleSourcePortArrayOutput() GetPiNetworkSecurityGroupRuleSourcePortArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleSourcePortArrayOutput) ToGetPiNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupRuleSourcePortArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupRuleSourcePortArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupRuleSourcePortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupRuleSourcePort { + return vs[0].([]GetPiNetworkSecurityGroupRuleSourcePort)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupRuleSourcePortOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroup struct { + // The network security group's crn. + Crn string `pulumi:"crn"` + // Indicates if the network security group is the default network security group in the workspace. + Default bool `pulumi:"default"` + // The ID of the network security group. + Id string `pulumi:"id"` + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members []GetPiNetworkSecurityGroupsNetworkSecurityGroupMember `pulumi:"members"` + // The name of the network security group. + Name string `pulumi:"name"` + // The list of rules in the network security group. + Rules []GetPiNetworkSecurityGroupsNetworkSecurityGroupRule `pulumi:"rules"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupArgs and GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupArgs{...} +type GetPiNetworkSecurityGroupsNetworkSecurityGroupInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupArgs struct { + // The network security group's crn. + Crn pulumi.StringInput `pulumi:"crn"` + // Indicates if the network security group is the default network security group in the workspace. + Default pulumi.BoolInput `pulumi:"default"` + // The ID of the network security group. + Id pulumi.StringInput `pulumi:"id"` + // The list of IPv4 addresses and, or network interfaces in the network security group. + Members GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayInput `pulumi:"members"` + // The name of the network security group. + Name pulumi.StringInput `pulumi:"name"` + // The list of rules in the network security group. + Rules GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayInput `pulumi:"rules"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroup)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupArray and GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupArray{ GetPiNetworkSecurityGroupsNetworkSecurityGroupArgs{...} } +type GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupArray []GetPiNetworkSecurityGroupsNetworkSecurityGroupInput + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroup)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroup)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput { + return o +} + +// The network security group's crn. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates if the network security group is the default network security group in the workspace. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroup) bool { return v.Default }).(pulumi.BoolOutput) +} + +// The ID of the network security group. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// The list of IPv4 addresses and, or network interfaces in the network security group. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) Members() GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroup) []GetPiNetworkSecurityGroupsNetworkSecurityGroupMember { + return v.Members + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput) +} + +// The name of the network security group. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// The list of rules in the network security group. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) Rules() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroup) []GetPiNetworkSecurityGroupsNetworkSecurityGroupRule { + return v.Rules + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput) +} + +// List of user tags attached to the resource. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroup) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroup)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupsNetworkSecurityGroup { + return vs[0].([]GetPiNetworkSecurityGroupsNetworkSecurityGroup)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupMember struct { + // The ID of the member in a network security group. + Id string `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress string `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId string `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target string `pulumi:"target"` + // The type of member. + Type string `pulumi:"type"` +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArgs and GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArgs{...} +type GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArgs struct { + // The ID of the member in a network security group. + Id pulumi.StringInput `pulumi:"id"` + // The mac address of a network interface included if the type is network-interface. + MacAddress pulumi.StringInput `pulumi:"macAddress"` + // The network ID of a network interface included if the type is network-interface. + NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` + // If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. + Target pulumi.StringInput `pulumi:"target"` + // The type of member. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupMember)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArray and GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArray{ GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArgs{...} } +type GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArray []GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberInput + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupMember)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupMember)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput { + return o +} + +// The ID of the member in a network security group. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupMember) string { return v.Id }).(pulumi.StringOutput) +} + +// The mac address of a network interface included if the type is network-interface. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupMember) string { return v.MacAddress }).(pulumi.StringOutput) +} + +// The network ID of a network interface included if the type is network-interface. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupMember) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +} + +// If ipv4-address type, then IPv4 address or if network-interface type, then network interface ID. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupMember) string { return v.Target }).(pulumi.StringOutput) +} + +// The type of member. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupMember) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupMember)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupsNetworkSecurityGroupMember { + return vs[0].([]GetPiNetworkSecurityGroupsNetworkSecurityGroupMember)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRule struct { + // The action to take if the rule matches network traffic. + Action string `pulumi:"action"` + // The list of destination port. + DestinationPorts []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id string `pulumi:"id"` + // The list of protocol. + Protocols []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol `pulumi:"protocols"` + // List of remote. + Remotes []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote `pulumi:"remotes"` + // List of source port + SourcePorts []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort `pulumi:"sourcePorts"` +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArgs and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArgs{...} +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArgs struct { + // The action to take if the rule matches network traffic. + Action pulumi.StringInput `pulumi:"action"` + // The list of destination port. + DestinationPorts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayInput `pulumi:"destinationPorts"` + // The ID of the rule in a network security group. + Id pulumi.StringInput `pulumi:"id"` + // The list of protocol. + Protocols GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayInput `pulumi:"protocols"` + // List of remote. + Remotes GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayInput `pulumi:"remotes"` + // List of source port + SourcePorts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayInput `pulumi:"sourcePorts"` +} + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRule)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArray and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArray{ GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArgs{...} } +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArray []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleInput + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRule)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRule)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput { + return o +} + +// The action to take if the rule matches network traffic. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRule) string { return v.Action }).(pulumi.StringOutput) +} + +// The list of destination port. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) DestinationPorts() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRule) []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort { + return v.DestinationPorts + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput) +} + +// The ID of the rule in a network security group. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRule) string { return v.Id }).(pulumi.StringOutput) +} + +// The list of protocol. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) Protocols() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRule) []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol { + return v.Protocols + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput) +} + +// List of remote. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) Remotes() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRule) []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote { + return v.Remotes + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput) +} + +// List of source port +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) SourcePorts() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRule) []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort { + return v.SourcePorts + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRule)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupsNetworkSecurityGroupRule { + return vs[0].([]GetPiNetworkSecurityGroupsNetworkSecurityGroupRule)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum int `pulumi:"minimum"` +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArgs and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArgs{...} +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntInput `pulumi:"minimum"` +} + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput) +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArray and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArray{ GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArgs{...} } +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArray []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortInput + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput) Maximum() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort) int { return v.Maximum }).(pulumi.IntOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput) Minimum() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort) int { return v.Minimum }).(pulumi.IntOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort { + return vs[0].([]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPort)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType string `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type string `pulumi:"type"` +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArgs and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArgs{...} +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArgs struct { + // If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. + IcmpType pulumi.StringInput `pulumi:"icmpType"` + // If tcp type, the list of TCP flags and if not present then all flags are matched. + TcpFlags GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayInput `pulumi:"tcpFlags"` + // The protocol of the network traffic. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput) +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArray and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArray{ GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArgs{...} } +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArray []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolInput + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput { + return o +} + +// If icmp type, a ICMP packet type affected by ICMP rules and if not present then all types are matched. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput) IcmpType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol) string { return v.IcmpType }).(pulumi.StringOutput) +} + +// If tcp type, the list of TCP flags and if not present then all flags are matched. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput) TcpFlags() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol) []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag { + return v.TcpFlags + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) +} + +// The protocol of the network traffic. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol { + return vs[0].([]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocol)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag struct { + // TCP flag. + Flag string `pulumi:"flag"` +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArgs and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArgs{...} +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArgs struct { + // TCP flag. + Flag pulumi.StringInput `pulumi:"flag"` +} + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput) +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArray and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArray{ GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArgs{...} } +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArray []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagInput + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return o +} + +// TCP flag. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput) Flag() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag) string { return v.Flag }).(pulumi.StringOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag { + return vs[0].([]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlag)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote struct { + // The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. + Id string `pulumi:"id"` + // The type of remote group the rules apply to. + Type string `pulumi:"type"` +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArgs and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArgs{...} +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArgs struct { + // The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. + Id pulumi.StringInput `pulumi:"id"` + // The type of remote group the rules apply to. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput) +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArray and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArray{ GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArgs{...} } +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArray []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteInput + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput { + return o +} + +// The ID of the remote Network Address Group or network security group the rules apply to. Not required for default-network-address-group. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote) string { return v.Id }).(pulumi.StringOutput) +} + +// The type of remote group the rules apply to. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote { + return vs[0].([]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemote)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum int `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum int `pulumi:"minimum"` +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArgs and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArgs{...} +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArgs struct { + // The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. + Maximum pulumi.IntInput `pulumi:"maximum"` + // The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. + Minimum pulumi.IntInput `pulumi:"minimum"` +} + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArgs) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput) +} + +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayInput is an input type that accepts GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArray and GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput values. +// You can construct a concrete instance of `GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayInput` via: +// +// GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArray{ GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArgs{...} } +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayInput interface { + pulumi.Input + + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput + ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArray []GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortInput + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput { + return i.ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArray) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput { + return o +} + +// The end of the port range, if applicable. If the value is not present then the default value of 65535 will be the maximum port number. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput) Maximum() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort) int { return v.Maximum }).(pulumi.IntOutput) +} + +// The start of the port range, if applicable. If the value is not present then the default value of 1 will be the minimum port number. +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput) Minimum() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort) int { return v.Minimum }).(pulumi.IntOutput) +} + +type GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort)(nil)).Elem() +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput() GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput) ToGetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutputWithContext(ctx context.Context) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput { + return o +} + +func (o GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput) Index(i pulumi.IntInput) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort { + return vs[0].([]GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePort)[vs[1].(int)] + }).(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput) +} + +type GetPiNetworksNetwork struct { + // Indicates if the network is advertised. + Advertise string `pulumi:"advertise"` + // Indicates if ARP Broadcast is enabled. + ArpBroadcast string `pulumi:"arpBroadcast"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // Indicates if the network DHCP Managed. + DhcpManaged bool `pulumi:"dhcpManaged"` + // The hyper link of a network. + Href string `pulumi:"href"` + // Maximum Transmission Unit option of the network. + Mtu int `pulumi:"mtu"` + // The name of a network. + Name string `pulumi:"name"` + // The unique identifier of a network. + NetworkId string `pulumi:"networkId"` + // Network Peer ID. + // + // Deprecated: This field is deprecated + PeerId string `pulumi:"peerId"` + // The type of network. + Type string `pulumi:"type"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` + // The VLAN ID that the network is connected to. + VlanId int `pulumi:"vlanId"` +} + +// GetPiNetworksNetworkInput is an input type that accepts GetPiNetworksNetworkArgs and GetPiNetworksNetworkOutput values. +// You can construct a concrete instance of `GetPiNetworksNetworkInput` via: +// +// GetPiNetworksNetworkArgs{...} +type GetPiNetworksNetworkInput interface { + pulumi.Input + + ToGetPiNetworksNetworkOutput() GetPiNetworksNetworkOutput + ToGetPiNetworksNetworkOutputWithContext(context.Context) GetPiNetworksNetworkOutput +} + +type GetPiNetworksNetworkArgs struct { + // Indicates if the network is advertised. + Advertise pulumi.StringInput `pulumi:"advertise"` + // Indicates if ARP Broadcast is enabled. + ArpBroadcast pulumi.StringInput `pulumi:"arpBroadcast"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // Indicates if the network DHCP Managed. + DhcpManaged pulumi.BoolInput `pulumi:"dhcpManaged"` + // The hyper link of a network. + Href pulumi.StringInput `pulumi:"href"` + // Maximum Transmission Unit option of the network. + Mtu pulumi.IntInput `pulumi:"mtu"` + // The name of a network. + Name pulumi.StringInput `pulumi:"name"` + // The unique identifier of a network. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // Network Peer ID. + // + // Deprecated: This field is deprecated + PeerId pulumi.StringInput `pulumi:"peerId"` + // The type of network. + Type pulumi.StringInput `pulumi:"type"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` + // The VLAN ID that the network is connected to. + VlanId pulumi.IntInput `pulumi:"vlanId"` +} + +func (GetPiNetworksNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworksNetwork)(nil)).Elem() +} + +func (i GetPiNetworksNetworkArgs) ToGetPiNetworksNetworkOutput() GetPiNetworksNetworkOutput { + return i.ToGetPiNetworksNetworkOutputWithContext(context.Background()) +} + +func (i GetPiNetworksNetworkArgs) ToGetPiNetworksNetworkOutputWithContext(ctx context.Context) GetPiNetworksNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworksNetworkOutput) +} + +// GetPiNetworksNetworkArrayInput is an input type that accepts GetPiNetworksNetworkArray and GetPiNetworksNetworkArrayOutput values. +// You can construct a concrete instance of `GetPiNetworksNetworkArrayInput` via: +// +// GetPiNetworksNetworkArray{ GetPiNetworksNetworkArgs{...} } +type GetPiNetworksNetworkArrayInput interface { + pulumi.Input + + ToGetPiNetworksNetworkArrayOutput() GetPiNetworksNetworkArrayOutput + ToGetPiNetworksNetworkArrayOutputWithContext(context.Context) GetPiNetworksNetworkArrayOutput +} + +type GetPiNetworksNetworkArray []GetPiNetworksNetworkInput + +func (GetPiNetworksNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworksNetwork)(nil)).Elem() +} + +func (i GetPiNetworksNetworkArray) ToGetPiNetworksNetworkArrayOutput() GetPiNetworksNetworkArrayOutput { + return i.ToGetPiNetworksNetworkArrayOutputWithContext(context.Background()) +} + +func (i GetPiNetworksNetworkArray) ToGetPiNetworksNetworkArrayOutputWithContext(ctx context.Context) GetPiNetworksNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiNetworksNetworkArrayOutput) +} + +type GetPiNetworksNetworkOutput struct{ *pulumi.OutputState } + +func (GetPiNetworksNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiNetworksNetwork)(nil)).Elem() +} + +func (o GetPiNetworksNetworkOutput) ToGetPiNetworksNetworkOutput() GetPiNetworksNetworkOutput { + return o +} + +func (o GetPiNetworksNetworkOutput) ToGetPiNetworksNetworkOutputWithContext(ctx context.Context) GetPiNetworksNetworkOutput { + return o +} + +// Indicates if the network is advertised. +func (o GetPiNetworksNetworkOutput) Advertise() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) string { return v.Advertise }).(pulumi.StringOutput) +} + +// Indicates if ARP Broadcast is enabled. +func (o GetPiNetworksNetworkOutput) ArpBroadcast() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) string { return v.ArpBroadcast }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o GetPiNetworksNetworkOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) string { return v.Crn }).(pulumi.StringOutput) +} + +// Indicates if the network DHCP Managed. +func (o GetPiNetworksNetworkOutput) DhcpManaged() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) bool { return v.DhcpManaged }).(pulumi.BoolOutput) +} + +// The hyper link of a network. +func (o GetPiNetworksNetworkOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) string { return v.Href }).(pulumi.StringOutput) +} + +// Maximum Transmission Unit option of the network. +func (o GetPiNetworksNetworkOutput) Mtu() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) int { return v.Mtu }).(pulumi.IntOutput) +} + +// The name of a network. +func (o GetPiNetworksNetworkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) string { return v.Name }).(pulumi.StringOutput) +} + +// The unique identifier of a network. +func (o GetPiNetworksNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) string { return v.NetworkId }).(pulumi.StringOutput) +} + +// Network Peer ID. +// +// Deprecated: This field is deprecated +func (o GetPiNetworksNetworkOutput) PeerId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) string { return v.PeerId }).(pulumi.StringOutput) +} + +// The type of network. +func (o GetPiNetworksNetworkOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) string { return v.Type }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiNetworksNetworkOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +// The VLAN ID that the network is connected to. +func (o GetPiNetworksNetworkOutput) VlanId() pulumi.IntOutput { + return o.ApplyT(func(v GetPiNetworksNetwork) int { return v.VlanId }).(pulumi.IntOutput) +} + +type GetPiNetworksNetworkArrayOutput struct{ *pulumi.OutputState } + +func (GetPiNetworksNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiNetworksNetwork)(nil)).Elem() +} + +func (o GetPiNetworksNetworkArrayOutput) ToGetPiNetworksNetworkArrayOutput() GetPiNetworksNetworkArrayOutput { + return o +} + +func (o GetPiNetworksNetworkArrayOutput) ToGetPiNetworksNetworkArrayOutputWithContext(ctx context.Context) GetPiNetworksNetworkArrayOutput { + return o +} + +func (o GetPiNetworksNetworkArrayOutput) Index(i pulumi.IntInput) GetPiNetworksNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiNetworksNetwork { + return vs[0].([]GetPiNetworksNetwork)[vs[1].(int)] + }).(GetPiNetworksNetworkOutput) +} + +type GetPiPlacementGroupsPlacementGroup struct { + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The ID of the placement group. + Id string `pulumi:"id"` + // List of server instances IDs that are members of the placement group. + Members []string `pulumi:"members"` + // The name of the placement group. + Name string `pulumi:"name"` + // The value of the group's affinity policy. Valid values are affinity and anti-affinity. + Policy string `pulumi:"policy"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiPlacementGroupsPlacementGroupInput is an input type that accepts GetPiPlacementGroupsPlacementGroupArgs and GetPiPlacementGroupsPlacementGroupOutput values. +// You can construct a concrete instance of `GetPiPlacementGroupsPlacementGroupInput` via: +// +// GetPiPlacementGroupsPlacementGroupArgs{...} +type GetPiPlacementGroupsPlacementGroupInput interface { + pulumi.Input + + ToGetPiPlacementGroupsPlacementGroupOutput() GetPiPlacementGroupsPlacementGroupOutput + ToGetPiPlacementGroupsPlacementGroupOutputWithContext(context.Context) GetPiPlacementGroupsPlacementGroupOutput +} + +type GetPiPlacementGroupsPlacementGroupArgs struct { + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The ID of the placement group. + Id pulumi.StringInput `pulumi:"id"` + // List of server instances IDs that are members of the placement group. + Members pulumi.StringArrayInput `pulumi:"members"` + // The name of the placement group. + Name pulumi.StringInput `pulumi:"name"` + // The value of the group's affinity policy. Valid values are affinity and anti-affinity. + Policy pulumi.StringInput `pulumi:"policy"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiPlacementGroupsPlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPlacementGroupsPlacementGroup)(nil)).Elem() +} + +func (i GetPiPlacementGroupsPlacementGroupArgs) ToGetPiPlacementGroupsPlacementGroupOutput() GetPiPlacementGroupsPlacementGroupOutput { + return i.ToGetPiPlacementGroupsPlacementGroupOutputWithContext(context.Background()) +} + +func (i GetPiPlacementGroupsPlacementGroupArgs) ToGetPiPlacementGroupsPlacementGroupOutputWithContext(ctx context.Context) GetPiPlacementGroupsPlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiPlacementGroupsPlacementGroupOutput) +} + +// GetPiPlacementGroupsPlacementGroupArrayInput is an input type that accepts GetPiPlacementGroupsPlacementGroupArray and GetPiPlacementGroupsPlacementGroupArrayOutput values. +// You can construct a concrete instance of `GetPiPlacementGroupsPlacementGroupArrayInput` via: +// +// GetPiPlacementGroupsPlacementGroupArray{ GetPiPlacementGroupsPlacementGroupArgs{...} } +type GetPiPlacementGroupsPlacementGroupArrayInput interface { + pulumi.Input + + ToGetPiPlacementGroupsPlacementGroupArrayOutput() GetPiPlacementGroupsPlacementGroupArrayOutput + ToGetPiPlacementGroupsPlacementGroupArrayOutputWithContext(context.Context) GetPiPlacementGroupsPlacementGroupArrayOutput +} + +type GetPiPlacementGroupsPlacementGroupArray []GetPiPlacementGroupsPlacementGroupInput + +func (GetPiPlacementGroupsPlacementGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiPlacementGroupsPlacementGroup)(nil)).Elem() +} + +func (i GetPiPlacementGroupsPlacementGroupArray) ToGetPiPlacementGroupsPlacementGroupArrayOutput() GetPiPlacementGroupsPlacementGroupArrayOutput { + return i.ToGetPiPlacementGroupsPlacementGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiPlacementGroupsPlacementGroupArray) ToGetPiPlacementGroupsPlacementGroupArrayOutputWithContext(ctx context.Context) GetPiPlacementGroupsPlacementGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiPlacementGroupsPlacementGroupArrayOutput) +} + +type GetPiPlacementGroupsPlacementGroupOutput struct{ *pulumi.OutputState } + +func (GetPiPlacementGroupsPlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPlacementGroupsPlacementGroup)(nil)).Elem() +} + +func (o GetPiPlacementGroupsPlacementGroupOutput) ToGetPiPlacementGroupsPlacementGroupOutput() GetPiPlacementGroupsPlacementGroupOutput { + return o +} + +func (o GetPiPlacementGroupsPlacementGroupOutput) ToGetPiPlacementGroupsPlacementGroupOutputWithContext(ctx context.Context) GetPiPlacementGroupsPlacementGroupOutput { + return o +} + +// The CRN of this resource. +func (o GetPiPlacementGroupsPlacementGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPlacementGroupsPlacementGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// The ID of the placement group. +func (o GetPiPlacementGroupsPlacementGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPlacementGroupsPlacementGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// List of server instances IDs that are members of the placement group. +func (o GetPiPlacementGroupsPlacementGroupOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiPlacementGroupsPlacementGroup) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// The name of the placement group. +func (o GetPiPlacementGroupsPlacementGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPlacementGroupsPlacementGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// The value of the group's affinity policy. Valid values are affinity and anti-affinity. +func (o GetPiPlacementGroupsPlacementGroupOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPlacementGroupsPlacementGroup) string { return v.Policy }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiPlacementGroupsPlacementGroupOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiPlacementGroupsPlacementGroup) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiPlacementGroupsPlacementGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiPlacementGroupsPlacementGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiPlacementGroupsPlacementGroup)(nil)).Elem() +} + +func (o GetPiPlacementGroupsPlacementGroupArrayOutput) ToGetPiPlacementGroupsPlacementGroupArrayOutput() GetPiPlacementGroupsPlacementGroupArrayOutput { + return o +} + +func (o GetPiPlacementGroupsPlacementGroupArrayOutput) ToGetPiPlacementGroupsPlacementGroupArrayOutputWithContext(ctx context.Context) GetPiPlacementGroupsPlacementGroupArrayOutput { + return o +} + +func (o GetPiPlacementGroupsPlacementGroupArrayOutput) Index(i pulumi.IntInput) GetPiPlacementGroupsPlacementGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiPlacementGroupsPlacementGroup { + return vs[0].([]GetPiPlacementGroupsPlacementGroup)[vs[1].(int)] + }).(GetPiPlacementGroupsPlacementGroupOutput) +} + +type GetPiPvmSnapshotsPvmSnapshot struct { + // Action performed on the instance snapshot. + Action string `pulumi:"action"` + // Date of snapshot creation. + CreationDate string `pulumi:"creationDate"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The description of the snapshot. + Description string `pulumi:"description"` + // The unique identifier of the Power Virtual Machine instance snapshot. + Id string `pulumi:"id"` + // Date of last update. + LastUpdatedDate string `pulumi:"lastUpdatedDate"` + // The name of the Power Virtual Machine instance snapshot. + Name string `pulumi:"name"` + // The snapshot completion percentage. + PercentComplete int `pulumi:"percentComplete"` + // The status of the Power Virtual Machine instance snapshot. + Status string `pulumi:"status"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` + // A map of volume snapshots included in the Power Virtual Machine instance snapshot. + VolumeSnapshots map[string]string `pulumi:"volumeSnapshots"` +} + +// GetPiPvmSnapshotsPvmSnapshotInput is an input type that accepts GetPiPvmSnapshotsPvmSnapshotArgs and GetPiPvmSnapshotsPvmSnapshotOutput values. +// You can construct a concrete instance of `GetPiPvmSnapshotsPvmSnapshotInput` via: +// +// GetPiPvmSnapshotsPvmSnapshotArgs{...} +type GetPiPvmSnapshotsPvmSnapshotInput interface { + pulumi.Input + + ToGetPiPvmSnapshotsPvmSnapshotOutput() GetPiPvmSnapshotsPvmSnapshotOutput + ToGetPiPvmSnapshotsPvmSnapshotOutputWithContext(context.Context) GetPiPvmSnapshotsPvmSnapshotOutput +} + +type GetPiPvmSnapshotsPvmSnapshotArgs struct { + // Action performed on the instance snapshot. + Action pulumi.StringInput `pulumi:"action"` + // Date of snapshot creation. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The description of the snapshot. + Description pulumi.StringInput `pulumi:"description"` + // The unique identifier of the Power Virtual Machine instance snapshot. + Id pulumi.StringInput `pulumi:"id"` + // Date of last update. + LastUpdatedDate pulumi.StringInput `pulumi:"lastUpdatedDate"` + // The name of the Power Virtual Machine instance snapshot. + Name pulumi.StringInput `pulumi:"name"` + // The snapshot completion percentage. + PercentComplete pulumi.IntInput `pulumi:"percentComplete"` + // The status of the Power Virtual Machine instance snapshot. + Status pulumi.StringInput `pulumi:"status"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` + // A map of volume snapshots included in the Power Virtual Machine instance snapshot. + VolumeSnapshots pulumi.StringMapInput `pulumi:"volumeSnapshots"` +} + +func (GetPiPvmSnapshotsPvmSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPvmSnapshotsPvmSnapshot)(nil)).Elem() +} + +func (i GetPiPvmSnapshotsPvmSnapshotArgs) ToGetPiPvmSnapshotsPvmSnapshotOutput() GetPiPvmSnapshotsPvmSnapshotOutput { + return i.ToGetPiPvmSnapshotsPvmSnapshotOutputWithContext(context.Background()) +} + +func (i GetPiPvmSnapshotsPvmSnapshotArgs) ToGetPiPvmSnapshotsPvmSnapshotOutputWithContext(ctx context.Context) GetPiPvmSnapshotsPvmSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiPvmSnapshotsPvmSnapshotOutput) +} + +// GetPiPvmSnapshotsPvmSnapshotArrayInput is an input type that accepts GetPiPvmSnapshotsPvmSnapshotArray and GetPiPvmSnapshotsPvmSnapshotArrayOutput values. +// You can construct a concrete instance of `GetPiPvmSnapshotsPvmSnapshotArrayInput` via: +// +// GetPiPvmSnapshotsPvmSnapshotArray{ GetPiPvmSnapshotsPvmSnapshotArgs{...} } +type GetPiPvmSnapshotsPvmSnapshotArrayInput interface { + pulumi.Input + + ToGetPiPvmSnapshotsPvmSnapshotArrayOutput() GetPiPvmSnapshotsPvmSnapshotArrayOutput + ToGetPiPvmSnapshotsPvmSnapshotArrayOutputWithContext(context.Context) GetPiPvmSnapshotsPvmSnapshotArrayOutput +} + +type GetPiPvmSnapshotsPvmSnapshotArray []GetPiPvmSnapshotsPvmSnapshotInput + +func (GetPiPvmSnapshotsPvmSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiPvmSnapshotsPvmSnapshot)(nil)).Elem() +} + +func (i GetPiPvmSnapshotsPvmSnapshotArray) ToGetPiPvmSnapshotsPvmSnapshotArrayOutput() GetPiPvmSnapshotsPvmSnapshotArrayOutput { + return i.ToGetPiPvmSnapshotsPvmSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetPiPvmSnapshotsPvmSnapshotArray) ToGetPiPvmSnapshotsPvmSnapshotArrayOutputWithContext(ctx context.Context) GetPiPvmSnapshotsPvmSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiPvmSnapshotsPvmSnapshotArrayOutput) +} + +type GetPiPvmSnapshotsPvmSnapshotOutput struct{ *pulumi.OutputState } + +func (GetPiPvmSnapshotsPvmSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiPvmSnapshotsPvmSnapshot)(nil)).Elem() +} + +func (o GetPiPvmSnapshotsPvmSnapshotOutput) ToGetPiPvmSnapshotsPvmSnapshotOutput() GetPiPvmSnapshotsPvmSnapshotOutput { + return o +} + +func (o GetPiPvmSnapshotsPvmSnapshotOutput) ToGetPiPvmSnapshotsPvmSnapshotOutputWithContext(ctx context.Context) GetPiPvmSnapshotsPvmSnapshotOutput { + return o +} + +// Action performed on the instance snapshot. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) string { return v.Action }).(pulumi.StringOutput) +} + +// Date of snapshot creation. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// The description of the snapshot. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) string { return v.Description }).(pulumi.StringOutput) +} + +// The unique identifier of the Power Virtual Machine instance snapshot. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// Date of last update. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) LastUpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) string { return v.LastUpdatedDate }).(pulumi.StringOutput) +} + +// The name of the Power Virtual Machine instance snapshot. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// The snapshot completion percentage. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) PercentComplete() pulumi.IntOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) int { return v.PercentComplete }).(pulumi.IntOutput) +} + +// The status of the Power Virtual Machine instance snapshot. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) string { return v.Status }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +// A map of volume snapshots included in the Power Virtual Machine instance snapshot. +func (o GetPiPvmSnapshotsPvmSnapshotOutput) VolumeSnapshots() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiPvmSnapshotsPvmSnapshot) map[string]string { return v.VolumeSnapshots }).(pulumi.StringMapOutput) +} + +type GetPiPvmSnapshotsPvmSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetPiPvmSnapshotsPvmSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiPvmSnapshotsPvmSnapshot)(nil)).Elem() +} + +func (o GetPiPvmSnapshotsPvmSnapshotArrayOutput) ToGetPiPvmSnapshotsPvmSnapshotArrayOutput() GetPiPvmSnapshotsPvmSnapshotArrayOutput { + return o +} + +func (o GetPiPvmSnapshotsPvmSnapshotArrayOutput) ToGetPiPvmSnapshotsPvmSnapshotArrayOutputWithContext(ctx context.Context) GetPiPvmSnapshotsPvmSnapshotArrayOutput { + return o +} + +func (o GetPiPvmSnapshotsPvmSnapshotArrayOutput) Index(i pulumi.IntInput) GetPiPvmSnapshotsPvmSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiPvmSnapshotsPvmSnapshot { + return vs[0].([]GetPiPvmSnapshotsPvmSnapshot)[vs[1].(int)] + }).(GetPiPvmSnapshotsPvmSnapshotOutput) +} + +type GetPiRouteReportRoute struct { + // The destination CIDR. + Destination string `pulumi:"destination"` + // The route type. + Type string `pulumi:"type"` +} + +// GetPiRouteReportRouteInput is an input type that accepts GetPiRouteReportRouteArgs and GetPiRouteReportRouteOutput values. +// You can construct a concrete instance of `GetPiRouteReportRouteInput` via: +// +// GetPiRouteReportRouteArgs{...} +type GetPiRouteReportRouteInput interface { + pulumi.Input + + ToGetPiRouteReportRouteOutput() GetPiRouteReportRouteOutput + ToGetPiRouteReportRouteOutputWithContext(context.Context) GetPiRouteReportRouteOutput +} + +type GetPiRouteReportRouteArgs struct { + // The destination CIDR. + Destination pulumi.StringInput `pulumi:"destination"` + // The route type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiRouteReportRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiRouteReportRoute)(nil)).Elem() +} + +func (i GetPiRouteReportRouteArgs) ToGetPiRouteReportRouteOutput() GetPiRouteReportRouteOutput { + return i.ToGetPiRouteReportRouteOutputWithContext(context.Background()) +} + +func (i GetPiRouteReportRouteArgs) ToGetPiRouteReportRouteOutputWithContext(ctx context.Context) GetPiRouteReportRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiRouteReportRouteOutput) +} + +// GetPiRouteReportRouteArrayInput is an input type that accepts GetPiRouteReportRouteArray and GetPiRouteReportRouteArrayOutput values. +// You can construct a concrete instance of `GetPiRouteReportRouteArrayInput` via: +// +// GetPiRouteReportRouteArray{ GetPiRouteReportRouteArgs{...} } +type GetPiRouteReportRouteArrayInput interface { + pulumi.Input + + ToGetPiRouteReportRouteArrayOutput() GetPiRouteReportRouteArrayOutput + ToGetPiRouteReportRouteArrayOutputWithContext(context.Context) GetPiRouteReportRouteArrayOutput +} + +type GetPiRouteReportRouteArray []GetPiRouteReportRouteInput + +func (GetPiRouteReportRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiRouteReportRoute)(nil)).Elem() +} + +func (i GetPiRouteReportRouteArray) ToGetPiRouteReportRouteArrayOutput() GetPiRouteReportRouteArrayOutput { + return i.ToGetPiRouteReportRouteArrayOutputWithContext(context.Background()) +} + +func (i GetPiRouteReportRouteArray) ToGetPiRouteReportRouteArrayOutputWithContext(ctx context.Context) GetPiRouteReportRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiRouteReportRouteArrayOutput) +} + +type GetPiRouteReportRouteOutput struct{ *pulumi.OutputState } + +func (GetPiRouteReportRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiRouteReportRoute)(nil)).Elem() +} + +func (o GetPiRouteReportRouteOutput) ToGetPiRouteReportRouteOutput() GetPiRouteReportRouteOutput { + return o +} + +func (o GetPiRouteReportRouteOutput) ToGetPiRouteReportRouteOutputWithContext(ctx context.Context) GetPiRouteReportRouteOutput { + return o +} + +// The destination CIDR. +func (o GetPiRouteReportRouteOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRouteReportRoute) string { return v.Destination }).(pulumi.StringOutput) +} + +// The route type. +func (o GetPiRouteReportRouteOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRouteReportRoute) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiRouteReportRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetPiRouteReportRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiRouteReportRoute)(nil)).Elem() +} + +func (o GetPiRouteReportRouteArrayOutput) ToGetPiRouteReportRouteArrayOutput() GetPiRouteReportRouteArrayOutput { + return o +} + +func (o GetPiRouteReportRouteArrayOutput) ToGetPiRouteReportRouteArrayOutputWithContext(ctx context.Context) GetPiRouteReportRouteArrayOutput { + return o +} + +func (o GetPiRouteReportRouteArrayOutput) Index(i pulumi.IntInput) GetPiRouteReportRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiRouteReportRoute { + return vs[0].([]GetPiRouteReportRoute)[vs[1].(int)] + }).(GetPiRouteReportRouteOutput) +} + +type GetPiRoutesRoute struct { + // The route action. + Action string `pulumi:"action"` + // Indicates if the route is advertised. + Advertise string `pulumi:"advertise"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The route destination. + Destination string `pulumi:"destination"` + // The destination type. + DestinationType string `pulumi:"destinationType"` + // Indicates if the route should be enabled in the fabric. + Enabled bool `pulumi:"enabled"` + // Name of the route. + Name string `pulumi:"name"` + // The next hop in the route. + NextHop string `pulumi:"nextHop"` + // The next hop type. + NextHopType string `pulumi:"nextHopType"` + // Unique ID of the route. + RouteId string `pulumi:"routeId"` + // The state of the route. + State string `pulumi:"state"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiRoutesRouteInput is an input type that accepts GetPiRoutesRouteArgs and GetPiRoutesRouteOutput values. +// You can construct a concrete instance of `GetPiRoutesRouteInput` via: +// +// GetPiRoutesRouteArgs{...} +type GetPiRoutesRouteInput interface { + pulumi.Input + + ToGetPiRoutesRouteOutput() GetPiRoutesRouteOutput + ToGetPiRoutesRouteOutputWithContext(context.Context) GetPiRoutesRouteOutput +} + +type GetPiRoutesRouteArgs struct { + // The route action. + Action pulumi.StringInput `pulumi:"action"` + // Indicates if the route is advertised. + Advertise pulumi.StringInput `pulumi:"advertise"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The route destination. + Destination pulumi.StringInput `pulumi:"destination"` + // The destination type. + DestinationType pulumi.StringInput `pulumi:"destinationType"` + // Indicates if the route should be enabled in the fabric. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Name of the route. + Name pulumi.StringInput `pulumi:"name"` + // The next hop in the route. + NextHop pulumi.StringInput `pulumi:"nextHop"` + // The next hop type. + NextHopType pulumi.StringInput `pulumi:"nextHopType"` + // Unique ID of the route. + RouteId pulumi.StringInput `pulumi:"routeId"` + // The state of the route. + State pulumi.StringInput `pulumi:"state"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiRoutesRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiRoutesRoute)(nil)).Elem() +} + +func (i GetPiRoutesRouteArgs) ToGetPiRoutesRouteOutput() GetPiRoutesRouteOutput { + return i.ToGetPiRoutesRouteOutputWithContext(context.Background()) +} + +func (i GetPiRoutesRouteArgs) ToGetPiRoutesRouteOutputWithContext(ctx context.Context) GetPiRoutesRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiRoutesRouteOutput) +} + +// GetPiRoutesRouteArrayInput is an input type that accepts GetPiRoutesRouteArray and GetPiRoutesRouteArrayOutput values. +// You can construct a concrete instance of `GetPiRoutesRouteArrayInput` via: +// +// GetPiRoutesRouteArray{ GetPiRoutesRouteArgs{...} } +type GetPiRoutesRouteArrayInput interface { + pulumi.Input + + ToGetPiRoutesRouteArrayOutput() GetPiRoutesRouteArrayOutput + ToGetPiRoutesRouteArrayOutputWithContext(context.Context) GetPiRoutesRouteArrayOutput +} + +type GetPiRoutesRouteArray []GetPiRoutesRouteInput + +func (GetPiRoutesRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiRoutesRoute)(nil)).Elem() +} + +func (i GetPiRoutesRouteArray) ToGetPiRoutesRouteArrayOutput() GetPiRoutesRouteArrayOutput { + return i.ToGetPiRoutesRouteArrayOutputWithContext(context.Background()) +} + +func (i GetPiRoutesRouteArray) ToGetPiRoutesRouteArrayOutputWithContext(ctx context.Context) GetPiRoutesRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiRoutesRouteArrayOutput) +} + +type GetPiRoutesRouteOutput struct{ *pulumi.OutputState } + +func (GetPiRoutesRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiRoutesRoute)(nil)).Elem() +} + +func (o GetPiRoutesRouteOutput) ToGetPiRoutesRouteOutput() GetPiRoutesRouteOutput { + return o +} + +func (o GetPiRoutesRouteOutput) ToGetPiRoutesRouteOutputWithContext(ctx context.Context) GetPiRoutesRouteOutput { + return o +} + +// The route action. +func (o GetPiRoutesRouteOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.Action }).(pulumi.StringOutput) +} + +// Indicates if the route is advertised. +func (o GetPiRoutesRouteOutput) Advertise() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.Advertise }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o GetPiRoutesRouteOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.Crn }).(pulumi.StringOutput) +} + +// The route destination. +func (o GetPiRoutesRouteOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.Destination }).(pulumi.StringOutput) +} + +// The destination type. +func (o GetPiRoutesRouteOutput) DestinationType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.DestinationType }).(pulumi.StringOutput) +} + +// Indicates if the route should be enabled in the fabric. +func (o GetPiRoutesRouteOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiRoutesRoute) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// Name of the route. +func (o GetPiRoutesRouteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.Name }).(pulumi.StringOutput) +} + +// The next hop in the route. +func (o GetPiRoutesRouteOutput) NextHop() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.NextHop }).(pulumi.StringOutput) +} + +// The next hop type. +func (o GetPiRoutesRouteOutput) NextHopType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.NextHopType }).(pulumi.StringOutput) +} + +// Unique ID of the route. +func (o GetPiRoutesRouteOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.RouteId }).(pulumi.StringOutput) +} + +// The state of the route. +func (o GetPiRoutesRouteOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiRoutesRoute) string { return v.State }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiRoutesRouteOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiRoutesRoute) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiRoutesRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetPiRoutesRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiRoutesRoute)(nil)).Elem() +} + +func (o GetPiRoutesRouteArrayOutput) ToGetPiRoutesRouteArrayOutput() GetPiRoutesRouteArrayOutput { + return o +} + +func (o GetPiRoutesRouteArrayOutput) ToGetPiRoutesRouteArrayOutputWithContext(ctx context.Context) GetPiRoutesRouteArrayOutput { + return o +} + +func (o GetPiRoutesRouteArrayOutput) Index(i pulumi.IntInput) GetPiRoutesRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiRoutesRoute { + return vs[0].([]GetPiRoutesRoute)[vs[1].(int)] + }).(GetPiRoutesRouteOutput) +} + +type GetPiSapProfilesProfile struct { + // Has certification been performed on profile. + Certified bool `pulumi:"certified"` + // Amount of cores. + Cores int `pulumi:"cores"` + // System to use if not provided + DefaultSystem string `pulumi:"defaultSystem"` + // Requires full system for deployment. + FullSystemProfile bool `pulumi:"fullSystemProfile"` + // Amount of memory (in GB). + Memory int `pulumi:"memory"` + // SAP Profile ID. + ProfileId string `pulumi:"profileId"` + // SAP Application Performance Standard + Saps int `pulumi:"saps"` + // List of supported systems. + SupportedSystems []string `pulumi:"supportedSystems"` + // Type of profile. + Type string `pulumi:"type"` + // Workload Type. + WorkloadTypes []string `pulumi:"workloadTypes"` +} + +// GetPiSapProfilesProfileInput is an input type that accepts GetPiSapProfilesProfileArgs and GetPiSapProfilesProfileOutput values. +// You can construct a concrete instance of `GetPiSapProfilesProfileInput` via: +// +// GetPiSapProfilesProfileArgs{...} +type GetPiSapProfilesProfileInput interface { + pulumi.Input + + ToGetPiSapProfilesProfileOutput() GetPiSapProfilesProfileOutput + ToGetPiSapProfilesProfileOutputWithContext(context.Context) GetPiSapProfilesProfileOutput +} + +type GetPiSapProfilesProfileArgs struct { + // Has certification been performed on profile. + Certified pulumi.BoolInput `pulumi:"certified"` + // Amount of cores. + Cores pulumi.IntInput `pulumi:"cores"` + // System to use if not provided + DefaultSystem pulumi.StringInput `pulumi:"defaultSystem"` + // Requires full system for deployment. + FullSystemProfile pulumi.BoolInput `pulumi:"fullSystemProfile"` + // Amount of memory (in GB). + Memory pulumi.IntInput `pulumi:"memory"` + // SAP Profile ID. + ProfileId pulumi.StringInput `pulumi:"profileId"` + // SAP Application Performance Standard + Saps pulumi.IntInput `pulumi:"saps"` + // List of supported systems. + SupportedSystems pulumi.StringArrayInput `pulumi:"supportedSystems"` + // Type of profile. + Type pulumi.StringInput `pulumi:"type"` + // Workload Type. + WorkloadTypes pulumi.StringArrayInput `pulumi:"workloadTypes"` +} + +func (GetPiSapProfilesProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSapProfilesProfile)(nil)).Elem() +} + +func (i GetPiSapProfilesProfileArgs) ToGetPiSapProfilesProfileOutput() GetPiSapProfilesProfileOutput { + return i.ToGetPiSapProfilesProfileOutputWithContext(context.Background()) +} + +func (i GetPiSapProfilesProfileArgs) ToGetPiSapProfilesProfileOutputWithContext(ctx context.Context) GetPiSapProfilesProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSapProfilesProfileOutput) +} + +// GetPiSapProfilesProfileArrayInput is an input type that accepts GetPiSapProfilesProfileArray and GetPiSapProfilesProfileArrayOutput values. +// You can construct a concrete instance of `GetPiSapProfilesProfileArrayInput` via: +// +// GetPiSapProfilesProfileArray{ GetPiSapProfilesProfileArgs{...} } +type GetPiSapProfilesProfileArrayInput interface { + pulumi.Input + + ToGetPiSapProfilesProfileArrayOutput() GetPiSapProfilesProfileArrayOutput + ToGetPiSapProfilesProfileArrayOutputWithContext(context.Context) GetPiSapProfilesProfileArrayOutput +} + +type GetPiSapProfilesProfileArray []GetPiSapProfilesProfileInput + +func (GetPiSapProfilesProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSapProfilesProfile)(nil)).Elem() +} + +func (i GetPiSapProfilesProfileArray) ToGetPiSapProfilesProfileArrayOutput() GetPiSapProfilesProfileArrayOutput { + return i.ToGetPiSapProfilesProfileArrayOutputWithContext(context.Background()) +} + +func (i GetPiSapProfilesProfileArray) ToGetPiSapProfilesProfileArrayOutputWithContext(ctx context.Context) GetPiSapProfilesProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSapProfilesProfileArrayOutput) +} + +type GetPiSapProfilesProfileOutput struct{ *pulumi.OutputState } + +func (GetPiSapProfilesProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSapProfilesProfile)(nil)).Elem() +} + +func (o GetPiSapProfilesProfileOutput) ToGetPiSapProfilesProfileOutput() GetPiSapProfilesProfileOutput { + return o +} + +func (o GetPiSapProfilesProfileOutput) ToGetPiSapProfilesProfileOutputWithContext(ctx context.Context) GetPiSapProfilesProfileOutput { + return o +} + +// Has certification been performed on profile. +func (o GetPiSapProfilesProfileOutput) Certified() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) bool { return v.Certified }).(pulumi.BoolOutput) +} + +// Amount of cores. +func (o GetPiSapProfilesProfileOutput) Cores() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) int { return v.Cores }).(pulumi.IntOutput) +} + +// System to use if not provided +func (o GetPiSapProfilesProfileOutput) DefaultSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) string { return v.DefaultSystem }).(pulumi.StringOutput) +} + +// Requires full system for deployment. +func (o GetPiSapProfilesProfileOutput) FullSystemProfile() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) bool { return v.FullSystemProfile }).(pulumi.BoolOutput) +} + +// Amount of memory (in GB). +func (o GetPiSapProfilesProfileOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) int { return v.Memory }).(pulumi.IntOutput) +} + +// SAP Profile ID. +func (o GetPiSapProfilesProfileOutput) ProfileId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) string { return v.ProfileId }).(pulumi.StringOutput) +} + +// SAP Application Performance Standard +func (o GetPiSapProfilesProfileOutput) Saps() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) int { return v.Saps }).(pulumi.IntOutput) +} + +// List of supported systems. +func (o GetPiSapProfilesProfileOutput) SupportedSystems() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) []string { return v.SupportedSystems }).(pulumi.StringArrayOutput) +} + +// Type of profile. +func (o GetPiSapProfilesProfileOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) string { return v.Type }).(pulumi.StringOutput) +} + +// Workload Type. +func (o GetPiSapProfilesProfileOutput) WorkloadTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiSapProfilesProfile) []string { return v.WorkloadTypes }).(pulumi.StringArrayOutput) +} + +type GetPiSapProfilesProfileArrayOutput struct{ *pulumi.OutputState } + +func (GetPiSapProfilesProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSapProfilesProfile)(nil)).Elem() +} + +func (o GetPiSapProfilesProfileArrayOutput) ToGetPiSapProfilesProfileArrayOutput() GetPiSapProfilesProfileArrayOutput { + return o +} + +func (o GetPiSapProfilesProfileArrayOutput) ToGetPiSapProfilesProfileArrayOutputWithContext(ctx context.Context) GetPiSapProfilesProfileArrayOutput { + return o +} + +func (o GetPiSapProfilesProfileArrayOutput) Index(i pulumi.IntInput) GetPiSapProfilesProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiSapProfilesProfile { + return vs[0].([]GetPiSapProfilesProfile)[vs[1].(int)] + }).(GetPiSapProfilesProfileOutput) +} + +type GetPiSharedProcessorPoolInstance struct { + // Availability zone for the server instances. + AvailabilityZone string `pulumi:"availabilityZone"` + // The amount of cpus for the server instance. + Cpus int `pulumi:"cpus"` + // The server instance ID. + Id string `pulumi:"id"` + // The amount of memory for the server instance. + Memory int `pulumi:"memory"` + // The server instance name. + Name string `pulumi:"name"` + // Status of the instance. + Status string `pulumi:"status"` + // Identifies if uncapped or not. + Uncapped bool `pulumi:"uncapped"` + // The amout of vcpus for the server instance. + Vcpus float64 `pulumi:"vcpus"` +} + +// GetPiSharedProcessorPoolInstanceInput is an input type that accepts GetPiSharedProcessorPoolInstanceArgs and GetPiSharedProcessorPoolInstanceOutput values. +// You can construct a concrete instance of `GetPiSharedProcessorPoolInstanceInput` via: +// +// GetPiSharedProcessorPoolInstanceArgs{...} +type GetPiSharedProcessorPoolInstanceInput interface { + pulumi.Input + + ToGetPiSharedProcessorPoolInstanceOutput() GetPiSharedProcessorPoolInstanceOutput + ToGetPiSharedProcessorPoolInstanceOutputWithContext(context.Context) GetPiSharedProcessorPoolInstanceOutput +} + +type GetPiSharedProcessorPoolInstanceArgs struct { + // Availability zone for the server instances. + AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"` + // The amount of cpus for the server instance. + Cpus pulumi.IntInput `pulumi:"cpus"` + // The server instance ID. + Id pulumi.StringInput `pulumi:"id"` + // The amount of memory for the server instance. + Memory pulumi.IntInput `pulumi:"memory"` + // The server instance name. + Name pulumi.StringInput `pulumi:"name"` + // Status of the instance. + Status pulumi.StringInput `pulumi:"status"` + // Identifies if uncapped or not. + Uncapped pulumi.BoolInput `pulumi:"uncapped"` + // The amout of vcpus for the server instance. + Vcpus pulumi.Float64Input `pulumi:"vcpus"` +} + +func (GetPiSharedProcessorPoolInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSharedProcessorPoolInstance)(nil)).Elem() +} + +func (i GetPiSharedProcessorPoolInstanceArgs) ToGetPiSharedProcessorPoolInstanceOutput() GetPiSharedProcessorPoolInstanceOutput { + return i.ToGetPiSharedProcessorPoolInstanceOutputWithContext(context.Background()) +} + +func (i GetPiSharedProcessorPoolInstanceArgs) ToGetPiSharedProcessorPoolInstanceOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSharedProcessorPoolInstanceOutput) +} + +// GetPiSharedProcessorPoolInstanceArrayInput is an input type that accepts GetPiSharedProcessorPoolInstanceArray and GetPiSharedProcessorPoolInstanceArrayOutput values. +// You can construct a concrete instance of `GetPiSharedProcessorPoolInstanceArrayInput` via: +// +// GetPiSharedProcessorPoolInstanceArray{ GetPiSharedProcessorPoolInstanceArgs{...} } +type GetPiSharedProcessorPoolInstanceArrayInput interface { + pulumi.Input + + ToGetPiSharedProcessorPoolInstanceArrayOutput() GetPiSharedProcessorPoolInstanceArrayOutput + ToGetPiSharedProcessorPoolInstanceArrayOutputWithContext(context.Context) GetPiSharedProcessorPoolInstanceArrayOutput +} + +type GetPiSharedProcessorPoolInstanceArray []GetPiSharedProcessorPoolInstanceInput + +func (GetPiSharedProcessorPoolInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSharedProcessorPoolInstance)(nil)).Elem() +} + +func (i GetPiSharedProcessorPoolInstanceArray) ToGetPiSharedProcessorPoolInstanceArrayOutput() GetPiSharedProcessorPoolInstanceArrayOutput { + return i.ToGetPiSharedProcessorPoolInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetPiSharedProcessorPoolInstanceArray) ToGetPiSharedProcessorPoolInstanceArrayOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSharedProcessorPoolInstanceArrayOutput) +} + +type GetPiSharedProcessorPoolInstanceOutput struct{ *pulumi.OutputState } + +func (GetPiSharedProcessorPoolInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSharedProcessorPoolInstance)(nil)).Elem() +} + +func (o GetPiSharedProcessorPoolInstanceOutput) ToGetPiSharedProcessorPoolInstanceOutput() GetPiSharedProcessorPoolInstanceOutput { + return o +} + +func (o GetPiSharedProcessorPoolInstanceOutput) ToGetPiSharedProcessorPoolInstanceOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolInstanceOutput { + return o +} + +// Availability zone for the server instances. +func (o GetPiSharedProcessorPoolInstanceOutput) AvailabilityZone() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolInstance) string { return v.AvailabilityZone }).(pulumi.StringOutput) +} + +// The amount of cpus for the server instance. +func (o GetPiSharedProcessorPoolInstanceOutput) Cpus() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolInstance) int { return v.Cpus }).(pulumi.IntOutput) +} + +// The server instance ID. +func (o GetPiSharedProcessorPoolInstanceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolInstance) string { return v.Id }).(pulumi.StringOutput) +} + +// The amount of memory for the server instance. +func (o GetPiSharedProcessorPoolInstanceOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolInstance) int { return v.Memory }).(pulumi.IntOutput) +} + +// The server instance name. +func (o GetPiSharedProcessorPoolInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolInstance) string { return v.Name }).(pulumi.StringOutput) +} + +// Status of the instance. +func (o GetPiSharedProcessorPoolInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolInstance) string { return v.Status }).(pulumi.StringOutput) +} + +// Identifies if uncapped or not. +func (o GetPiSharedProcessorPoolInstanceOutput) Uncapped() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolInstance) bool { return v.Uncapped }).(pulumi.BoolOutput) +} + +// The amout of vcpus for the server instance. +func (o GetPiSharedProcessorPoolInstanceOutput) Vcpus() pulumi.Float64Output { + return o.ApplyT(func(v GetPiSharedProcessorPoolInstance) float64 { return v.Vcpus }).(pulumi.Float64Output) +} + +type GetPiSharedProcessorPoolInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiSharedProcessorPoolInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSharedProcessorPoolInstance)(nil)).Elem() +} + +func (o GetPiSharedProcessorPoolInstanceArrayOutput) ToGetPiSharedProcessorPoolInstanceArrayOutput() GetPiSharedProcessorPoolInstanceArrayOutput { + return o +} + +func (o GetPiSharedProcessorPoolInstanceArrayOutput) ToGetPiSharedProcessorPoolInstanceArrayOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolInstanceArrayOutput { + return o +} + +func (o GetPiSharedProcessorPoolInstanceArrayOutput) Index(i pulumi.IntInput) GetPiSharedProcessorPoolInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiSharedProcessorPoolInstance { + return vs[0].([]GetPiSharedProcessorPoolInstance)[vs[1].(int)] + }).(GetPiSharedProcessorPoolInstanceOutput) +} + +type GetPiSharedProcessorPoolsSharedProcessorPool struct { + // The allocated cores in the shared processor pool. + AllocatedCores float64 `pulumi:"allocatedCores"` + // The available cores in the shared processor pool. + AvailableCores int `pulumi:"availableCores"` + // Date of shared processor pool creation. + CreationDate string `pulumi:"creationDate"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId string `pulumi:"dedicatedHostId"` + // The host ID where the shared processor pool resides. + HostId int `pulumi:"hostId"` + // The name of the shared processor pool. + Name string `pulumi:"name"` + // The amount of reserved cores for the shared processor pool. + ReservedCores int `pulumi:"reservedCores"` + // The shared processor pool's unique ID. + SharedProcessorPoolId string `pulumi:"sharedProcessorPoolId"` + // The status of the shared processor pool. + Status string `pulumi:"status"` + // The status details of the shared processor pool. + StatusDetail string `pulumi:"statusDetail"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiSharedProcessorPoolsSharedProcessorPoolInput is an input type that accepts GetPiSharedProcessorPoolsSharedProcessorPoolArgs and GetPiSharedProcessorPoolsSharedProcessorPoolOutput values. +// You can construct a concrete instance of `GetPiSharedProcessorPoolsSharedProcessorPoolInput` via: +// +// GetPiSharedProcessorPoolsSharedProcessorPoolArgs{...} +type GetPiSharedProcessorPoolsSharedProcessorPoolInput interface { + pulumi.Input + + ToGetPiSharedProcessorPoolsSharedProcessorPoolOutput() GetPiSharedProcessorPoolsSharedProcessorPoolOutput + ToGetPiSharedProcessorPoolsSharedProcessorPoolOutputWithContext(context.Context) GetPiSharedProcessorPoolsSharedProcessorPoolOutput +} + +type GetPiSharedProcessorPoolsSharedProcessorPoolArgs struct { + // The allocated cores in the shared processor pool. + AllocatedCores pulumi.Float64Input `pulumi:"allocatedCores"` + // The available cores in the shared processor pool. + AvailableCores pulumi.IntInput `pulumi:"availableCores"` + // Date of shared processor pool creation. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The dedicated host ID where the shared processor pool resides. + DedicatedHostId pulumi.StringInput `pulumi:"dedicatedHostId"` + // The host ID where the shared processor pool resides. + HostId pulumi.IntInput `pulumi:"hostId"` + // The name of the shared processor pool. + Name pulumi.StringInput `pulumi:"name"` + // The amount of reserved cores for the shared processor pool. + ReservedCores pulumi.IntInput `pulumi:"reservedCores"` + // The shared processor pool's unique ID. + SharedProcessorPoolId pulumi.StringInput `pulumi:"sharedProcessorPoolId"` + // The status of the shared processor pool. + Status pulumi.StringInput `pulumi:"status"` + // The status details of the shared processor pool. + StatusDetail pulumi.StringInput `pulumi:"statusDetail"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiSharedProcessorPoolsSharedProcessorPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSharedProcessorPoolsSharedProcessorPool)(nil)).Elem() +} + +func (i GetPiSharedProcessorPoolsSharedProcessorPoolArgs) ToGetPiSharedProcessorPoolsSharedProcessorPoolOutput() GetPiSharedProcessorPoolsSharedProcessorPoolOutput { + return i.ToGetPiSharedProcessorPoolsSharedProcessorPoolOutputWithContext(context.Background()) +} + +func (i GetPiSharedProcessorPoolsSharedProcessorPoolArgs) ToGetPiSharedProcessorPoolsSharedProcessorPoolOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolsSharedProcessorPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSharedProcessorPoolsSharedProcessorPoolOutput) +} + +// GetPiSharedProcessorPoolsSharedProcessorPoolArrayInput is an input type that accepts GetPiSharedProcessorPoolsSharedProcessorPoolArray and GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput values. +// You can construct a concrete instance of `GetPiSharedProcessorPoolsSharedProcessorPoolArrayInput` via: +// +// GetPiSharedProcessorPoolsSharedProcessorPoolArray{ GetPiSharedProcessorPoolsSharedProcessorPoolArgs{...} } +type GetPiSharedProcessorPoolsSharedProcessorPoolArrayInput interface { + pulumi.Input + + ToGetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput() GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput + ToGetPiSharedProcessorPoolsSharedProcessorPoolArrayOutputWithContext(context.Context) GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput +} + +type GetPiSharedProcessorPoolsSharedProcessorPoolArray []GetPiSharedProcessorPoolsSharedProcessorPoolInput + +func (GetPiSharedProcessorPoolsSharedProcessorPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSharedProcessorPoolsSharedProcessorPool)(nil)).Elem() +} + +func (i GetPiSharedProcessorPoolsSharedProcessorPoolArray) ToGetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput() GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput { + return i.ToGetPiSharedProcessorPoolsSharedProcessorPoolArrayOutputWithContext(context.Background()) +} + +func (i GetPiSharedProcessorPoolsSharedProcessorPoolArray) ToGetPiSharedProcessorPoolsSharedProcessorPoolArrayOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput) +} + +type GetPiSharedProcessorPoolsSharedProcessorPoolOutput struct{ *pulumi.OutputState } + +func (GetPiSharedProcessorPoolsSharedProcessorPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSharedProcessorPoolsSharedProcessorPool)(nil)).Elem() +} + +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) ToGetPiSharedProcessorPoolsSharedProcessorPoolOutput() GetPiSharedProcessorPoolsSharedProcessorPoolOutput { + return o +} + +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) ToGetPiSharedProcessorPoolsSharedProcessorPoolOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolsSharedProcessorPoolOutput { + return o +} + +// The allocated cores in the shared processor pool. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) AllocatedCores() pulumi.Float64Output { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) float64 { return v.AllocatedCores }).(pulumi.Float64Output) +} + +// The available cores in the shared processor pool. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) AvailableCores() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) int { return v.AvailableCores }).(pulumi.IntOutput) +} + +// Date of shared processor pool creation. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) string { return v.Crn }).(pulumi.StringOutput) +} + +// The dedicated host ID where the shared processor pool resides. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) DedicatedHostId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) string { return v.DedicatedHostId }).(pulumi.StringOutput) +} + +// The host ID where the shared processor pool resides. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) HostId() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) int { return v.HostId }).(pulumi.IntOutput) +} + +// The name of the shared processor pool. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) string { return v.Name }).(pulumi.StringOutput) +} + +// The amount of reserved cores for the shared processor pool. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) ReservedCores() pulumi.IntOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) int { return v.ReservedCores }).(pulumi.IntOutput) +} + +// The shared processor pool's unique ID. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) SharedProcessorPoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) string { return v.SharedProcessorPoolId }).(pulumi.StringOutput) +} + +// The status of the shared processor pool. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) string { return v.Status }).(pulumi.StringOutput) +} + +// The status details of the shared processor pool. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) StatusDetail() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) string { return v.StatusDetail }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiSharedProcessorPoolsSharedProcessorPoolOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiSharedProcessorPoolsSharedProcessorPool) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSharedProcessorPoolsSharedProcessorPool)(nil)).Elem() +} + +func (o GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput) ToGetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput() GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput { + return o +} + +func (o GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput) ToGetPiSharedProcessorPoolsSharedProcessorPoolArrayOutputWithContext(ctx context.Context) GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput { + return o +} + +func (o GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput) Index(i pulumi.IntInput) GetPiSharedProcessorPoolsSharedProcessorPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiSharedProcessorPoolsSharedProcessorPool { + return vs[0].([]GetPiSharedProcessorPoolsSharedProcessorPool)[vs[1].(int)] + }).(GetPiSharedProcessorPoolsSharedProcessorPoolOutput) +} + +type GetPiSoftwareTiersSupportedSoftwareTier struct { + // Software tier. + SoftwareTier string `pulumi:"softwareTier"` + // List of supported systems. + SupportedSystems []interface{} `pulumi:"supportedSystems"` +} + +// GetPiSoftwareTiersSupportedSoftwareTierInput is an input type that accepts GetPiSoftwareTiersSupportedSoftwareTierArgs and GetPiSoftwareTiersSupportedSoftwareTierOutput values. +// You can construct a concrete instance of `GetPiSoftwareTiersSupportedSoftwareTierInput` via: +// +// GetPiSoftwareTiersSupportedSoftwareTierArgs{...} +type GetPiSoftwareTiersSupportedSoftwareTierInput interface { + pulumi.Input + + ToGetPiSoftwareTiersSupportedSoftwareTierOutput() GetPiSoftwareTiersSupportedSoftwareTierOutput + ToGetPiSoftwareTiersSupportedSoftwareTierOutputWithContext(context.Context) GetPiSoftwareTiersSupportedSoftwareTierOutput +} + +type GetPiSoftwareTiersSupportedSoftwareTierArgs struct { + // Software tier. + SoftwareTier pulumi.StringInput `pulumi:"softwareTier"` + // List of supported systems. + SupportedSystems pulumi.ArrayInput `pulumi:"supportedSystems"` +} + +func (GetPiSoftwareTiersSupportedSoftwareTierArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSoftwareTiersSupportedSoftwareTier)(nil)).Elem() +} + +func (i GetPiSoftwareTiersSupportedSoftwareTierArgs) ToGetPiSoftwareTiersSupportedSoftwareTierOutput() GetPiSoftwareTiersSupportedSoftwareTierOutput { + return i.ToGetPiSoftwareTiersSupportedSoftwareTierOutputWithContext(context.Background()) +} + +func (i GetPiSoftwareTiersSupportedSoftwareTierArgs) ToGetPiSoftwareTiersSupportedSoftwareTierOutputWithContext(ctx context.Context) GetPiSoftwareTiersSupportedSoftwareTierOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSoftwareTiersSupportedSoftwareTierOutput) +} + +// GetPiSoftwareTiersSupportedSoftwareTierArrayInput is an input type that accepts GetPiSoftwareTiersSupportedSoftwareTierArray and GetPiSoftwareTiersSupportedSoftwareTierArrayOutput values. +// You can construct a concrete instance of `GetPiSoftwareTiersSupportedSoftwareTierArrayInput` via: +// +// GetPiSoftwareTiersSupportedSoftwareTierArray{ GetPiSoftwareTiersSupportedSoftwareTierArgs{...} } +type GetPiSoftwareTiersSupportedSoftwareTierArrayInput interface { + pulumi.Input + + ToGetPiSoftwareTiersSupportedSoftwareTierArrayOutput() GetPiSoftwareTiersSupportedSoftwareTierArrayOutput + ToGetPiSoftwareTiersSupportedSoftwareTierArrayOutputWithContext(context.Context) GetPiSoftwareTiersSupportedSoftwareTierArrayOutput +} + +type GetPiSoftwareTiersSupportedSoftwareTierArray []GetPiSoftwareTiersSupportedSoftwareTierInput + +func (GetPiSoftwareTiersSupportedSoftwareTierArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSoftwareTiersSupportedSoftwareTier)(nil)).Elem() +} + +func (i GetPiSoftwareTiersSupportedSoftwareTierArray) ToGetPiSoftwareTiersSupportedSoftwareTierArrayOutput() GetPiSoftwareTiersSupportedSoftwareTierArrayOutput { + return i.ToGetPiSoftwareTiersSupportedSoftwareTierArrayOutputWithContext(context.Background()) +} + +func (i GetPiSoftwareTiersSupportedSoftwareTierArray) ToGetPiSoftwareTiersSupportedSoftwareTierArrayOutputWithContext(ctx context.Context) GetPiSoftwareTiersSupportedSoftwareTierArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSoftwareTiersSupportedSoftwareTierArrayOutput) +} + +type GetPiSoftwareTiersSupportedSoftwareTierOutput struct{ *pulumi.OutputState } + +func (GetPiSoftwareTiersSupportedSoftwareTierOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSoftwareTiersSupportedSoftwareTier)(nil)).Elem() +} + +func (o GetPiSoftwareTiersSupportedSoftwareTierOutput) ToGetPiSoftwareTiersSupportedSoftwareTierOutput() GetPiSoftwareTiersSupportedSoftwareTierOutput { + return o +} + +func (o GetPiSoftwareTiersSupportedSoftwareTierOutput) ToGetPiSoftwareTiersSupportedSoftwareTierOutputWithContext(ctx context.Context) GetPiSoftwareTiersSupportedSoftwareTierOutput { + return o +} + +// Software tier. +func (o GetPiSoftwareTiersSupportedSoftwareTierOutput) SoftwareTier() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSoftwareTiersSupportedSoftwareTier) string { return v.SoftwareTier }).(pulumi.StringOutput) +} + +// List of supported systems. +func (o GetPiSoftwareTiersSupportedSoftwareTierOutput) SupportedSystems() pulumi.ArrayOutput { + return o.ApplyT(func(v GetPiSoftwareTiersSupportedSoftwareTier) []interface{} { return v.SupportedSystems }).(pulumi.ArrayOutput) +} + +type GetPiSoftwareTiersSupportedSoftwareTierArrayOutput struct{ *pulumi.OutputState } + +func (GetPiSoftwareTiersSupportedSoftwareTierArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSoftwareTiersSupportedSoftwareTier)(nil)).Elem() +} + +func (o GetPiSoftwareTiersSupportedSoftwareTierArrayOutput) ToGetPiSoftwareTiersSupportedSoftwareTierArrayOutput() GetPiSoftwareTiersSupportedSoftwareTierArrayOutput { + return o +} + +func (o GetPiSoftwareTiersSupportedSoftwareTierArrayOutput) ToGetPiSoftwareTiersSupportedSoftwareTierArrayOutputWithContext(ctx context.Context) GetPiSoftwareTiersSupportedSoftwareTierArrayOutput { + return o +} + +func (o GetPiSoftwareTiersSupportedSoftwareTierArrayOutput) Index(i pulumi.IntInput) GetPiSoftwareTiersSupportedSoftwareTierOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiSoftwareTiersSupportedSoftwareTier { + return vs[0].([]GetPiSoftwareTiersSupportedSoftwareTier)[vs[1].(int)] + }).(GetPiSoftwareTiersSupportedSoftwareTierOutput) +} + +type GetPiSppPlacementGroupsSppPlacementGroup struct { + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The list of shared processor pool IDs that are members of the shared processor pool placement group. + Members []string `pulumi:"members"` + // User defined name for the shared processor pool placement group. + Name string `pulumi:"name"` + // The value of the group's affinity policy. Valid values are affinity and anti-affinity. + Policy string `pulumi:"policy"` + // The ID of the shared processor pool placement group. + SppPlacementGroupId string `pulumi:"sppPlacementGroupId"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` +} + +// GetPiSppPlacementGroupsSppPlacementGroupInput is an input type that accepts GetPiSppPlacementGroupsSppPlacementGroupArgs and GetPiSppPlacementGroupsSppPlacementGroupOutput values. +// You can construct a concrete instance of `GetPiSppPlacementGroupsSppPlacementGroupInput` via: +// +// GetPiSppPlacementGroupsSppPlacementGroupArgs{...} +type GetPiSppPlacementGroupsSppPlacementGroupInput interface { + pulumi.Input + + ToGetPiSppPlacementGroupsSppPlacementGroupOutput() GetPiSppPlacementGroupsSppPlacementGroupOutput + ToGetPiSppPlacementGroupsSppPlacementGroupOutputWithContext(context.Context) GetPiSppPlacementGroupsSppPlacementGroupOutput +} + +type GetPiSppPlacementGroupsSppPlacementGroupArgs struct { + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The list of shared processor pool IDs that are members of the shared processor pool placement group. + Members pulumi.StringArrayInput `pulumi:"members"` + // User defined name for the shared processor pool placement group. + Name pulumi.StringInput `pulumi:"name"` + // The value of the group's affinity policy. Valid values are affinity and anti-affinity. + Policy pulumi.StringInput `pulumi:"policy"` + // The ID of the shared processor pool placement group. + SppPlacementGroupId pulumi.StringInput `pulumi:"sppPlacementGroupId"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` +} + +func (GetPiSppPlacementGroupsSppPlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSppPlacementGroupsSppPlacementGroup)(nil)).Elem() +} + +func (i GetPiSppPlacementGroupsSppPlacementGroupArgs) ToGetPiSppPlacementGroupsSppPlacementGroupOutput() GetPiSppPlacementGroupsSppPlacementGroupOutput { + return i.ToGetPiSppPlacementGroupsSppPlacementGroupOutputWithContext(context.Background()) +} + +func (i GetPiSppPlacementGroupsSppPlacementGroupArgs) ToGetPiSppPlacementGroupsSppPlacementGroupOutputWithContext(ctx context.Context) GetPiSppPlacementGroupsSppPlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSppPlacementGroupsSppPlacementGroupOutput) +} + +// GetPiSppPlacementGroupsSppPlacementGroupArrayInput is an input type that accepts GetPiSppPlacementGroupsSppPlacementGroupArray and GetPiSppPlacementGroupsSppPlacementGroupArrayOutput values. +// You can construct a concrete instance of `GetPiSppPlacementGroupsSppPlacementGroupArrayInput` via: +// +// GetPiSppPlacementGroupsSppPlacementGroupArray{ GetPiSppPlacementGroupsSppPlacementGroupArgs{...} } +type GetPiSppPlacementGroupsSppPlacementGroupArrayInput interface { + pulumi.Input + + ToGetPiSppPlacementGroupsSppPlacementGroupArrayOutput() GetPiSppPlacementGroupsSppPlacementGroupArrayOutput + ToGetPiSppPlacementGroupsSppPlacementGroupArrayOutputWithContext(context.Context) GetPiSppPlacementGroupsSppPlacementGroupArrayOutput +} + +type GetPiSppPlacementGroupsSppPlacementGroupArray []GetPiSppPlacementGroupsSppPlacementGroupInput + +func (GetPiSppPlacementGroupsSppPlacementGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSppPlacementGroupsSppPlacementGroup)(nil)).Elem() +} + +func (i GetPiSppPlacementGroupsSppPlacementGroupArray) ToGetPiSppPlacementGroupsSppPlacementGroupArrayOutput() GetPiSppPlacementGroupsSppPlacementGroupArrayOutput { + return i.ToGetPiSppPlacementGroupsSppPlacementGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiSppPlacementGroupsSppPlacementGroupArray) ToGetPiSppPlacementGroupsSppPlacementGroupArrayOutputWithContext(ctx context.Context) GetPiSppPlacementGroupsSppPlacementGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSppPlacementGroupsSppPlacementGroupArrayOutput) +} + +type GetPiSppPlacementGroupsSppPlacementGroupOutput struct{ *pulumi.OutputState } + +func (GetPiSppPlacementGroupsSppPlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSppPlacementGroupsSppPlacementGroup)(nil)).Elem() +} + +func (o GetPiSppPlacementGroupsSppPlacementGroupOutput) ToGetPiSppPlacementGroupsSppPlacementGroupOutput() GetPiSppPlacementGroupsSppPlacementGroupOutput { + return o +} + +func (o GetPiSppPlacementGroupsSppPlacementGroupOutput) ToGetPiSppPlacementGroupsSppPlacementGroupOutputWithContext(ctx context.Context) GetPiSppPlacementGroupsSppPlacementGroupOutput { + return o +} + +// The CRN of this resource. +func (o GetPiSppPlacementGroupsSppPlacementGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsSppPlacementGroup) string { return v.Crn }).(pulumi.StringOutput) +} + +// The list of shared processor pool IDs that are members of the shared processor pool placement group. +func (o GetPiSppPlacementGroupsSppPlacementGroupOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsSppPlacementGroup) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// User defined name for the shared processor pool placement group. +func (o GetPiSppPlacementGroupsSppPlacementGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsSppPlacementGroup) string { return v.Name }).(pulumi.StringOutput) +} + +// The value of the group's affinity policy. Valid values are affinity and anti-affinity. +func (o GetPiSppPlacementGroupsSppPlacementGroupOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsSppPlacementGroup) string { return v.Policy }).(pulumi.StringOutput) +} + +// The ID of the shared processor pool placement group. +func (o GetPiSppPlacementGroupsSppPlacementGroupOutput) SppPlacementGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsSppPlacementGroup) string { return v.SppPlacementGroupId }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiSppPlacementGroupsSppPlacementGroupOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiSppPlacementGroupsSppPlacementGroup) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +type GetPiSppPlacementGroupsSppPlacementGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiSppPlacementGroupsSppPlacementGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSppPlacementGroupsSppPlacementGroup)(nil)).Elem() +} + +func (o GetPiSppPlacementGroupsSppPlacementGroupArrayOutput) ToGetPiSppPlacementGroupsSppPlacementGroupArrayOutput() GetPiSppPlacementGroupsSppPlacementGroupArrayOutput { + return o +} + +func (o GetPiSppPlacementGroupsSppPlacementGroupArrayOutput) ToGetPiSppPlacementGroupsSppPlacementGroupArrayOutputWithContext(ctx context.Context) GetPiSppPlacementGroupsSppPlacementGroupArrayOutput { + return o +} + +func (o GetPiSppPlacementGroupsSppPlacementGroupArrayOutput) Index(i pulumi.IntInput) GetPiSppPlacementGroupsSppPlacementGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiSppPlacementGroupsSppPlacementGroup { + return vs[0].([]GetPiSppPlacementGroupsSppPlacementGroup)[vs[1].(int)] + }).(GetPiSppPlacementGroupsSppPlacementGroupOutput) +} + +type GetPiStoragePoolsCapacityStoragePoolsCapacity struct { + // Maximum allocation storage size (GB). + MaxAllocationSize int `pulumi:"maxAllocationSize"` + // The pool name. + PoolName string `pulumi:"poolName"` + // Replication status of the storage pool. + ReplicationEnabled bool `pulumi:"replicationEnabled"` + // Storage type of the storage pool. + StorageType string `pulumi:"storageType"` + // Total pool capacity (GB). + TotalCapacity int `pulumi:"totalCapacity"` +} + +// GetPiStoragePoolsCapacityStoragePoolsCapacityInput is an input type that accepts GetPiStoragePoolsCapacityStoragePoolsCapacityArgs and GetPiStoragePoolsCapacityStoragePoolsCapacityOutput values. +// You can construct a concrete instance of `GetPiStoragePoolsCapacityStoragePoolsCapacityInput` via: +// +// GetPiStoragePoolsCapacityStoragePoolsCapacityArgs{...} +type GetPiStoragePoolsCapacityStoragePoolsCapacityInput interface { + pulumi.Input + + ToGetPiStoragePoolsCapacityStoragePoolsCapacityOutput() GetPiStoragePoolsCapacityStoragePoolsCapacityOutput + ToGetPiStoragePoolsCapacityStoragePoolsCapacityOutputWithContext(context.Context) GetPiStoragePoolsCapacityStoragePoolsCapacityOutput +} + +type GetPiStoragePoolsCapacityStoragePoolsCapacityArgs struct { + // Maximum allocation storage size (GB). + MaxAllocationSize pulumi.IntInput `pulumi:"maxAllocationSize"` + // The pool name. + PoolName pulumi.StringInput `pulumi:"poolName"` + // Replication status of the storage pool. + ReplicationEnabled pulumi.BoolInput `pulumi:"replicationEnabled"` + // Storage type of the storage pool. + StorageType pulumi.StringInput `pulumi:"storageType"` + // Total pool capacity (GB). + TotalCapacity pulumi.IntInput `pulumi:"totalCapacity"` +} + +func (GetPiStoragePoolsCapacityStoragePoolsCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStoragePoolsCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (i GetPiStoragePoolsCapacityStoragePoolsCapacityArgs) ToGetPiStoragePoolsCapacityStoragePoolsCapacityOutput() GetPiStoragePoolsCapacityStoragePoolsCapacityOutput { + return i.ToGetPiStoragePoolsCapacityStoragePoolsCapacityOutputWithContext(context.Background()) +} + +func (i GetPiStoragePoolsCapacityStoragePoolsCapacityArgs) ToGetPiStoragePoolsCapacityStoragePoolsCapacityOutputWithContext(ctx context.Context) GetPiStoragePoolsCapacityStoragePoolsCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) +} + +// GetPiStoragePoolsCapacityStoragePoolsCapacityArrayInput is an input type that accepts GetPiStoragePoolsCapacityStoragePoolsCapacityArray and GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput values. +// You can construct a concrete instance of `GetPiStoragePoolsCapacityStoragePoolsCapacityArrayInput` via: +// +// GetPiStoragePoolsCapacityStoragePoolsCapacityArray{ GetPiStoragePoolsCapacityStoragePoolsCapacityArgs{...} } +type GetPiStoragePoolsCapacityStoragePoolsCapacityArrayInput interface { + pulumi.Input + + ToGetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput() GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput + ToGetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutputWithContext(context.Context) GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput +} + +type GetPiStoragePoolsCapacityStoragePoolsCapacityArray []GetPiStoragePoolsCapacityStoragePoolsCapacityInput + +func (GetPiStoragePoolsCapacityStoragePoolsCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStoragePoolsCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (i GetPiStoragePoolsCapacityStoragePoolsCapacityArray) ToGetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput() GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput { + return i.ToGetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetPiStoragePoolsCapacityStoragePoolsCapacityArray) ToGetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutputWithContext(ctx context.Context) GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput) +} + +type GetPiStoragePoolsCapacityStoragePoolsCapacityOutput struct{ *pulumi.OutputState } + +func (GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStoragePoolsCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) ToGetPiStoragePoolsCapacityStoragePoolsCapacityOutput() GetPiStoragePoolsCapacityStoragePoolsCapacityOutput { + return o +} + +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) ToGetPiStoragePoolsCapacityStoragePoolsCapacityOutputWithContext(ctx context.Context) GetPiStoragePoolsCapacityStoragePoolsCapacityOutput { + return o +} + +// Maximum allocation storage size (GB). +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) MaxAllocationSize() pulumi.IntOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityStoragePoolsCapacity) int { return v.MaxAllocationSize }).(pulumi.IntOutput) +} + +// The pool name. +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) PoolName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityStoragePoolsCapacity) string { return v.PoolName }).(pulumi.StringOutput) +} + +// Replication status of the storage pool. +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) ReplicationEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityStoragePoolsCapacity) bool { return v.ReplicationEnabled }).(pulumi.BoolOutput) +} + +// Storage type of the storage pool. +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityStoragePoolsCapacity) string { return v.StorageType }).(pulumi.StringOutput) +} + +// Total pool capacity (GB). +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) TotalCapacity() pulumi.IntOutput { + return o.ApplyT(func(v GetPiStoragePoolsCapacityStoragePoolsCapacity) int { return v.TotalCapacity }).(pulumi.IntOutput) +} + +type GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStoragePoolsCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput) ToGetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput() GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput { + return o +} + +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput) ToGetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutputWithContext(ctx context.Context) GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput { + return o +} + +func (o GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput) Index(i pulumi.IntInput) GetPiStoragePoolsCapacityStoragePoolsCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiStoragePoolsCapacityStoragePoolsCapacity { + return vs[0].([]GetPiStoragePoolsCapacityStoragePoolsCapacity)[vs[1].(int)] + }).(GetPiStoragePoolsCapacityStoragePoolsCapacityOutput) +} + +type GetPiStorageTiersRegionStorageTier struct { + // Description of the storage tier label. + Description string `pulumi:"description"` + // Name of the storage tier. + Name string `pulumi:"name"` + // State of the storage tier (active or inactive). + State string `pulumi:"state"` +} + +// GetPiStorageTiersRegionStorageTierInput is an input type that accepts GetPiStorageTiersRegionStorageTierArgs and GetPiStorageTiersRegionStorageTierOutput values. +// You can construct a concrete instance of `GetPiStorageTiersRegionStorageTierInput` via: +// +// GetPiStorageTiersRegionStorageTierArgs{...} +type GetPiStorageTiersRegionStorageTierInput interface { + pulumi.Input + + ToGetPiStorageTiersRegionStorageTierOutput() GetPiStorageTiersRegionStorageTierOutput + ToGetPiStorageTiersRegionStorageTierOutputWithContext(context.Context) GetPiStorageTiersRegionStorageTierOutput +} + +type GetPiStorageTiersRegionStorageTierArgs struct { + // Description of the storage tier label. + Description pulumi.StringInput `pulumi:"description"` + // Name of the storage tier. + Name pulumi.StringInput `pulumi:"name"` + // State of the storage tier (active or inactive). + State pulumi.StringInput `pulumi:"state"` +} + +func (GetPiStorageTiersRegionStorageTierArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTiersRegionStorageTier)(nil)).Elem() +} + +func (i GetPiStorageTiersRegionStorageTierArgs) ToGetPiStorageTiersRegionStorageTierOutput() GetPiStorageTiersRegionStorageTierOutput { + return i.ToGetPiStorageTiersRegionStorageTierOutputWithContext(context.Background()) +} + +func (i GetPiStorageTiersRegionStorageTierArgs) ToGetPiStorageTiersRegionStorageTierOutputWithContext(ctx context.Context) GetPiStorageTiersRegionStorageTierOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStorageTiersRegionStorageTierOutput) +} + +// GetPiStorageTiersRegionStorageTierArrayInput is an input type that accepts GetPiStorageTiersRegionStorageTierArray and GetPiStorageTiersRegionStorageTierArrayOutput values. +// You can construct a concrete instance of `GetPiStorageTiersRegionStorageTierArrayInput` via: +// +// GetPiStorageTiersRegionStorageTierArray{ GetPiStorageTiersRegionStorageTierArgs{...} } +type GetPiStorageTiersRegionStorageTierArrayInput interface { + pulumi.Input + + ToGetPiStorageTiersRegionStorageTierArrayOutput() GetPiStorageTiersRegionStorageTierArrayOutput + ToGetPiStorageTiersRegionStorageTierArrayOutputWithContext(context.Context) GetPiStorageTiersRegionStorageTierArrayOutput +} + +type GetPiStorageTiersRegionStorageTierArray []GetPiStorageTiersRegionStorageTierInput + +func (GetPiStorageTiersRegionStorageTierArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStorageTiersRegionStorageTier)(nil)).Elem() +} + +func (i GetPiStorageTiersRegionStorageTierArray) ToGetPiStorageTiersRegionStorageTierArrayOutput() GetPiStorageTiersRegionStorageTierArrayOutput { + return i.ToGetPiStorageTiersRegionStorageTierArrayOutputWithContext(context.Background()) +} + +func (i GetPiStorageTiersRegionStorageTierArray) ToGetPiStorageTiersRegionStorageTierArrayOutputWithContext(ctx context.Context) GetPiStorageTiersRegionStorageTierArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStorageTiersRegionStorageTierArrayOutput) +} + +type GetPiStorageTiersRegionStorageTierOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTiersRegionStorageTierOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTiersRegionStorageTier)(nil)).Elem() +} + +func (o GetPiStorageTiersRegionStorageTierOutput) ToGetPiStorageTiersRegionStorageTierOutput() GetPiStorageTiersRegionStorageTierOutput { + return o +} + +func (o GetPiStorageTiersRegionStorageTierOutput) ToGetPiStorageTiersRegionStorageTierOutputWithContext(ctx context.Context) GetPiStorageTiersRegionStorageTierOutput { + return o +} + +// Description of the storage tier label. +func (o GetPiStorageTiersRegionStorageTierOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTiersRegionStorageTier) string { return v.Description }).(pulumi.StringOutput) +} + +// Name of the storage tier. +func (o GetPiStorageTiersRegionStorageTierOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTiersRegionStorageTier) string { return v.Name }).(pulumi.StringOutput) +} + +// State of the storage tier (active or inactive). +func (o GetPiStorageTiersRegionStorageTierOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTiersRegionStorageTier) string { return v.State }).(pulumi.StringOutput) +} + +type GetPiStorageTiersRegionStorageTierArrayOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTiersRegionStorageTierArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStorageTiersRegionStorageTier)(nil)).Elem() +} + +func (o GetPiStorageTiersRegionStorageTierArrayOutput) ToGetPiStorageTiersRegionStorageTierArrayOutput() GetPiStorageTiersRegionStorageTierArrayOutput { + return o +} + +func (o GetPiStorageTiersRegionStorageTierArrayOutput) ToGetPiStorageTiersRegionStorageTierArrayOutputWithContext(ctx context.Context) GetPiStorageTiersRegionStorageTierArrayOutput { + return o +} + +func (o GetPiStorageTiersRegionStorageTierArrayOutput) Index(i pulumi.IntInput) GetPiStorageTiersRegionStorageTierOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiStorageTiersRegionStorageTier { + return vs[0].([]GetPiStorageTiersRegionStorageTier)[vs[1].(int)] + }).(GetPiStorageTiersRegionStorageTierOutput) +} + +type GetPiStorageTypeCapacityStoragePoolsCapacity struct { + // Maximum allocation storage size (GB). + MaxAllocationSize int `pulumi:"maxAllocationSize"` + // The pool name + PoolName string `pulumi:"poolName"` + // Storage type of the storage pool. + StorageType string `pulumi:"storageType"` + // Total pool capacity (GB). + TotalCapacity int `pulumi:"totalCapacity"` +} + +// GetPiStorageTypeCapacityStoragePoolsCapacityInput is an input type that accepts GetPiStorageTypeCapacityStoragePoolsCapacityArgs and GetPiStorageTypeCapacityStoragePoolsCapacityOutput values. +// You can construct a concrete instance of `GetPiStorageTypeCapacityStoragePoolsCapacityInput` via: +// +// GetPiStorageTypeCapacityStoragePoolsCapacityArgs{...} +type GetPiStorageTypeCapacityStoragePoolsCapacityInput interface { + pulumi.Input + + ToGetPiStorageTypeCapacityStoragePoolsCapacityOutput() GetPiStorageTypeCapacityStoragePoolsCapacityOutput + ToGetPiStorageTypeCapacityStoragePoolsCapacityOutputWithContext(context.Context) GetPiStorageTypeCapacityStoragePoolsCapacityOutput +} + +type GetPiStorageTypeCapacityStoragePoolsCapacityArgs struct { + // Maximum allocation storage size (GB). + MaxAllocationSize pulumi.IntInput `pulumi:"maxAllocationSize"` + // The pool name + PoolName pulumi.StringInput `pulumi:"poolName"` + // Storage type of the storage pool. + StorageType pulumi.StringInput `pulumi:"storageType"` + // Total pool capacity (GB). + TotalCapacity pulumi.IntInput `pulumi:"totalCapacity"` +} + +func (GetPiStorageTypeCapacityStoragePoolsCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypeCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (i GetPiStorageTypeCapacityStoragePoolsCapacityArgs) ToGetPiStorageTypeCapacityStoragePoolsCapacityOutput() GetPiStorageTypeCapacityStoragePoolsCapacityOutput { + return i.ToGetPiStorageTypeCapacityStoragePoolsCapacityOutputWithContext(context.Background()) +} + +func (i GetPiStorageTypeCapacityStoragePoolsCapacityArgs) ToGetPiStorageTypeCapacityStoragePoolsCapacityOutputWithContext(ctx context.Context) GetPiStorageTypeCapacityStoragePoolsCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStorageTypeCapacityStoragePoolsCapacityOutput) +} + +// GetPiStorageTypeCapacityStoragePoolsCapacityArrayInput is an input type that accepts GetPiStorageTypeCapacityStoragePoolsCapacityArray and GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput values. +// You can construct a concrete instance of `GetPiStorageTypeCapacityStoragePoolsCapacityArrayInput` via: +// +// GetPiStorageTypeCapacityStoragePoolsCapacityArray{ GetPiStorageTypeCapacityStoragePoolsCapacityArgs{...} } +type GetPiStorageTypeCapacityStoragePoolsCapacityArrayInput interface { + pulumi.Input + + ToGetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput() GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput + ToGetPiStorageTypeCapacityStoragePoolsCapacityArrayOutputWithContext(context.Context) GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput +} + +type GetPiStorageTypeCapacityStoragePoolsCapacityArray []GetPiStorageTypeCapacityStoragePoolsCapacityInput + +func (GetPiStorageTypeCapacityStoragePoolsCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStorageTypeCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (i GetPiStorageTypeCapacityStoragePoolsCapacityArray) ToGetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput() GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput { + return i.ToGetPiStorageTypeCapacityStoragePoolsCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetPiStorageTypeCapacityStoragePoolsCapacityArray) ToGetPiStorageTypeCapacityStoragePoolsCapacityArrayOutputWithContext(ctx context.Context) GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput) +} + +type GetPiStorageTypeCapacityStoragePoolsCapacityOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTypeCapacityStoragePoolsCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypeCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (o GetPiStorageTypeCapacityStoragePoolsCapacityOutput) ToGetPiStorageTypeCapacityStoragePoolsCapacityOutput() GetPiStorageTypeCapacityStoragePoolsCapacityOutput { + return o +} + +func (o GetPiStorageTypeCapacityStoragePoolsCapacityOutput) ToGetPiStorageTypeCapacityStoragePoolsCapacityOutputWithContext(ctx context.Context) GetPiStorageTypeCapacityStoragePoolsCapacityOutput { + return o +} + +// Maximum allocation storage size (GB). +func (o GetPiStorageTypeCapacityStoragePoolsCapacityOutput) MaxAllocationSize() pulumi.IntOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityStoragePoolsCapacity) int { return v.MaxAllocationSize }).(pulumi.IntOutput) +} + +// The pool name +func (o GetPiStorageTypeCapacityStoragePoolsCapacityOutput) PoolName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityStoragePoolsCapacity) string { return v.PoolName }).(pulumi.StringOutput) +} + +// Storage type of the storage pool. +func (o GetPiStorageTypeCapacityStoragePoolsCapacityOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityStoragePoolsCapacity) string { return v.StorageType }).(pulumi.StringOutput) +} + +// Total pool capacity (GB). +func (o GetPiStorageTypeCapacityStoragePoolsCapacityOutput) TotalCapacity() pulumi.IntOutput { + return o.ApplyT(func(v GetPiStorageTypeCapacityStoragePoolsCapacity) int { return v.TotalCapacity }).(pulumi.IntOutput) +} + +type GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStorageTypeCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (o GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput) ToGetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput() GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput { + return o +} + +func (o GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput) ToGetPiStorageTypeCapacityStoragePoolsCapacityArrayOutputWithContext(ctx context.Context) GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput { + return o +} + +func (o GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput) Index(i pulumi.IntInput) GetPiStorageTypeCapacityStoragePoolsCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiStorageTypeCapacityStoragePoolsCapacity { + return vs[0].([]GetPiStorageTypeCapacityStoragePoolsCapacity)[vs[1].(int)] + }).(GetPiStorageTypeCapacityStoragePoolsCapacityOutput) +} + +type GetPiStorageTypesCapacityStorageTypesCapacity struct { + // Maximum storage allocation. + MaxStorageAllocation map[string]string `pulumi:"maxStorageAllocation"` + // List of storage types capacity. + StoragePoolsCapacities []GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity `pulumi:"storagePoolsCapacities"` + // The storage type. + StorageType string `pulumi:"storageType"` +} + +// GetPiStorageTypesCapacityStorageTypesCapacityInput is an input type that accepts GetPiStorageTypesCapacityStorageTypesCapacityArgs and GetPiStorageTypesCapacityStorageTypesCapacityOutput values. +// You can construct a concrete instance of `GetPiStorageTypesCapacityStorageTypesCapacityInput` via: +// +// GetPiStorageTypesCapacityStorageTypesCapacityArgs{...} +type GetPiStorageTypesCapacityStorageTypesCapacityInput interface { + pulumi.Input + + ToGetPiStorageTypesCapacityStorageTypesCapacityOutput() GetPiStorageTypesCapacityStorageTypesCapacityOutput + ToGetPiStorageTypesCapacityStorageTypesCapacityOutputWithContext(context.Context) GetPiStorageTypesCapacityStorageTypesCapacityOutput +} + +type GetPiStorageTypesCapacityStorageTypesCapacityArgs struct { + // Maximum storage allocation. + MaxStorageAllocation pulumi.StringMapInput `pulumi:"maxStorageAllocation"` + // List of storage types capacity. + StoragePoolsCapacities GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayInput `pulumi:"storagePoolsCapacities"` + // The storage type. + StorageType pulumi.StringInput `pulumi:"storageType"` +} + +func (GetPiStorageTypesCapacityStorageTypesCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypesCapacityStorageTypesCapacity)(nil)).Elem() +} + +func (i GetPiStorageTypesCapacityStorageTypesCapacityArgs) ToGetPiStorageTypesCapacityStorageTypesCapacityOutput() GetPiStorageTypesCapacityStorageTypesCapacityOutput { + return i.ToGetPiStorageTypesCapacityStorageTypesCapacityOutputWithContext(context.Background()) +} + +func (i GetPiStorageTypesCapacityStorageTypesCapacityArgs) ToGetPiStorageTypesCapacityStorageTypesCapacityOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityStorageTypesCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStorageTypesCapacityStorageTypesCapacityOutput) +} + +// GetPiStorageTypesCapacityStorageTypesCapacityArrayInput is an input type that accepts GetPiStorageTypesCapacityStorageTypesCapacityArray and GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput values. +// You can construct a concrete instance of `GetPiStorageTypesCapacityStorageTypesCapacityArrayInput` via: +// +// GetPiStorageTypesCapacityStorageTypesCapacityArray{ GetPiStorageTypesCapacityStorageTypesCapacityArgs{...} } +type GetPiStorageTypesCapacityStorageTypesCapacityArrayInput interface { + pulumi.Input + + ToGetPiStorageTypesCapacityStorageTypesCapacityArrayOutput() GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput + ToGetPiStorageTypesCapacityStorageTypesCapacityArrayOutputWithContext(context.Context) GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput +} + +type GetPiStorageTypesCapacityStorageTypesCapacityArray []GetPiStorageTypesCapacityStorageTypesCapacityInput + +func (GetPiStorageTypesCapacityStorageTypesCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStorageTypesCapacityStorageTypesCapacity)(nil)).Elem() +} + +func (i GetPiStorageTypesCapacityStorageTypesCapacityArray) ToGetPiStorageTypesCapacityStorageTypesCapacityArrayOutput() GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput { + return i.ToGetPiStorageTypesCapacityStorageTypesCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetPiStorageTypesCapacityStorageTypesCapacityArray) ToGetPiStorageTypesCapacityStorageTypesCapacityArrayOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput) +} + +type GetPiStorageTypesCapacityStorageTypesCapacityOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTypesCapacityStorageTypesCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypesCapacityStorageTypesCapacity)(nil)).Elem() +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityOutput) ToGetPiStorageTypesCapacityStorageTypesCapacityOutput() GetPiStorageTypesCapacityStorageTypesCapacityOutput { + return o +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityOutput) ToGetPiStorageTypesCapacityStorageTypesCapacityOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityStorageTypesCapacityOutput { + return o +} + +// Maximum storage allocation. +func (o GetPiStorageTypesCapacityStorageTypesCapacityOutput) MaxStorageAllocation() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityStorageTypesCapacity) map[string]string { return v.MaxStorageAllocation }).(pulumi.StringMapOutput) +} + +// List of storage types capacity. +func (o GetPiStorageTypesCapacityStorageTypesCapacityOutput) StoragePoolsCapacities() GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityStorageTypesCapacity) []GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity { + return v.StoragePoolsCapacities + }).(GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput) +} + +// The storage type. +func (o GetPiStorageTypesCapacityStorageTypesCapacityOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityStorageTypesCapacity) string { return v.StorageType }).(pulumi.StringOutput) +} + +type GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStorageTypesCapacityStorageTypesCapacity)(nil)).Elem() +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput) ToGetPiStorageTypesCapacityStorageTypesCapacityArrayOutput() GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput { + return o +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput) ToGetPiStorageTypesCapacityStorageTypesCapacityArrayOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput { + return o +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput) Index(i pulumi.IntInput) GetPiStorageTypesCapacityStorageTypesCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiStorageTypesCapacityStorageTypesCapacity { + return vs[0].([]GetPiStorageTypesCapacityStorageTypesCapacity)[vs[1].(int)] + }).(GetPiStorageTypesCapacityStorageTypesCapacityOutput) +} + +type GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity struct { + // Maximum allocation storage size (GB). + MaxAllocationSize int `pulumi:"maxAllocationSize"` + // The pool name. + PoolName string `pulumi:"poolName"` + // Storage type of the storage pool. + StorageType string `pulumi:"storageType"` + // Total pool capacity (GB). + TotalCapacity int `pulumi:"totalCapacity"` +} + +// GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityInput is an input type that accepts GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArgs and GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput values. +// You can construct a concrete instance of `GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityInput` via: +// +// GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArgs{...} +type GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityInput interface { + pulumi.Input + + ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput() GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput + ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutputWithContext(context.Context) GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput +} + +type GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArgs struct { + // Maximum allocation storage size (GB). + MaxAllocationSize pulumi.IntInput `pulumi:"maxAllocationSize"` + // The pool name. + PoolName pulumi.StringInput `pulumi:"poolName"` + // Storage type of the storage pool. + StorageType pulumi.StringInput `pulumi:"storageType"` + // Total pool capacity (GB). + TotalCapacity pulumi.IntInput `pulumi:"totalCapacity"` +} + +func (GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (i GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArgs) ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput() GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput { + return i.ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutputWithContext(context.Background()) +} + +func (i GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArgs) ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) +} + +// GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayInput is an input type that accepts GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArray and GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput values. +// You can construct a concrete instance of `GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayInput` via: +// +// GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArray{ GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArgs{...} } +type GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayInput interface { + pulumi.Input + + ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput() GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput + ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutputWithContext(context.Context) GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput +} + +type GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArray []GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityInput + +func (GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (i GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArray) ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput() GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput { + return i.ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutputWithContext(context.Background()) +} + +func (i GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArray) ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput) +} + +type GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput() GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput { + return o +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput { + return o +} + +// Maximum allocation storage size (GB). +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) MaxAllocationSize() pulumi.IntOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity) int { + return v.MaxAllocationSize + }).(pulumi.IntOutput) +} + +// The pool name. +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) PoolName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity) string { return v.PoolName }).(pulumi.StringOutput) +} + +// Storage type of the storage pool. +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity) string { return v.StorageType }).(pulumi.StringOutput) +} + +// Total pool capacity (GB). +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) TotalCapacity() pulumi.IntOutput { + return o.ApplyT(func(v GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity) int { return v.TotalCapacity }).(pulumi.IntOutput) +} + +type GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput struct{ *pulumi.OutputState } + +func (GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity)(nil)).Elem() +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput) ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput() GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput { + return o +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput) ToGetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutputWithContext(ctx context.Context) GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput { + return o +} + +func (o GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput) Index(i pulumi.IntInput) GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity { + return vs[0].([]GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacity)[vs[1].(int)] + }).(GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput) +} + +type GetPiSystemPoolsSystemPool struct { + // Advertised capacity cores and memory (GB). + Capacity map[string]string `pulumi:"capacity"` + // Processor to Memory (GB) Ratio. + CoreMemoryRatio float64 `pulumi:"coreMemoryRatio"` + // Maximum configurable cores and memory (GB) (aggregated from all hosts). + MaxAvailable map[string]string `pulumi:"maxAvailable"` + // Maximum configurable cores available combined with available memory of that host. + MaxCoresAvailable map[string]string `pulumi:"maxCoresAvailable"` + // Maximum configurable memory available combined with available cores of that host. + MaxMemoryAvailable map[string]string `pulumi:"maxMemoryAvailable"` + // The min-max-default allocation percentage of shared core per vCPU. + SharedCoreRatio map[string]string `pulumi:"sharedCoreRatio"` + // The system pool name + SystemPoolName string `pulumi:"systemPoolName"` + // The Datacenter list of servers and their available resources. + Systems []GetPiSystemPoolsSystemPoolSystem `pulumi:"systems"` + // Type of system hardware. + Type string `pulumi:"type"` +} + +// GetPiSystemPoolsSystemPoolInput is an input type that accepts GetPiSystemPoolsSystemPoolArgs and GetPiSystemPoolsSystemPoolOutput values. +// You can construct a concrete instance of `GetPiSystemPoolsSystemPoolInput` via: +// +// GetPiSystemPoolsSystemPoolArgs{...} +type GetPiSystemPoolsSystemPoolInput interface { + pulumi.Input + + ToGetPiSystemPoolsSystemPoolOutput() GetPiSystemPoolsSystemPoolOutput + ToGetPiSystemPoolsSystemPoolOutputWithContext(context.Context) GetPiSystemPoolsSystemPoolOutput +} + +type GetPiSystemPoolsSystemPoolArgs struct { + // Advertised capacity cores and memory (GB). + Capacity pulumi.StringMapInput `pulumi:"capacity"` + // Processor to Memory (GB) Ratio. + CoreMemoryRatio pulumi.Float64Input `pulumi:"coreMemoryRatio"` + // Maximum configurable cores and memory (GB) (aggregated from all hosts). + MaxAvailable pulumi.StringMapInput `pulumi:"maxAvailable"` + // Maximum configurable cores available combined with available memory of that host. + MaxCoresAvailable pulumi.StringMapInput `pulumi:"maxCoresAvailable"` + // Maximum configurable memory available combined with available cores of that host. + MaxMemoryAvailable pulumi.StringMapInput `pulumi:"maxMemoryAvailable"` + // The min-max-default allocation percentage of shared core per vCPU. + SharedCoreRatio pulumi.StringMapInput `pulumi:"sharedCoreRatio"` + // The system pool name + SystemPoolName pulumi.StringInput `pulumi:"systemPoolName"` + // The Datacenter list of servers and their available resources. + Systems GetPiSystemPoolsSystemPoolSystemArrayInput `pulumi:"systems"` + // Type of system hardware. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiSystemPoolsSystemPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSystemPoolsSystemPool)(nil)).Elem() +} + +func (i GetPiSystemPoolsSystemPoolArgs) ToGetPiSystemPoolsSystemPoolOutput() GetPiSystemPoolsSystemPoolOutput { + return i.ToGetPiSystemPoolsSystemPoolOutputWithContext(context.Background()) +} + +func (i GetPiSystemPoolsSystemPoolArgs) ToGetPiSystemPoolsSystemPoolOutputWithContext(ctx context.Context) GetPiSystemPoolsSystemPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSystemPoolsSystemPoolOutput) +} + +// GetPiSystemPoolsSystemPoolArrayInput is an input type that accepts GetPiSystemPoolsSystemPoolArray and GetPiSystemPoolsSystemPoolArrayOutput values. +// You can construct a concrete instance of `GetPiSystemPoolsSystemPoolArrayInput` via: +// +// GetPiSystemPoolsSystemPoolArray{ GetPiSystemPoolsSystemPoolArgs{...} } +type GetPiSystemPoolsSystemPoolArrayInput interface { + pulumi.Input + + ToGetPiSystemPoolsSystemPoolArrayOutput() GetPiSystemPoolsSystemPoolArrayOutput + ToGetPiSystemPoolsSystemPoolArrayOutputWithContext(context.Context) GetPiSystemPoolsSystemPoolArrayOutput +} + +type GetPiSystemPoolsSystemPoolArray []GetPiSystemPoolsSystemPoolInput + +func (GetPiSystemPoolsSystemPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSystemPoolsSystemPool)(nil)).Elem() +} + +func (i GetPiSystemPoolsSystemPoolArray) ToGetPiSystemPoolsSystemPoolArrayOutput() GetPiSystemPoolsSystemPoolArrayOutput { + return i.ToGetPiSystemPoolsSystemPoolArrayOutputWithContext(context.Background()) +} + +func (i GetPiSystemPoolsSystemPoolArray) ToGetPiSystemPoolsSystemPoolArrayOutputWithContext(ctx context.Context) GetPiSystemPoolsSystemPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSystemPoolsSystemPoolArrayOutput) +} + +type GetPiSystemPoolsSystemPoolOutput struct{ *pulumi.OutputState } + +func (GetPiSystemPoolsSystemPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSystemPoolsSystemPool)(nil)).Elem() +} + +func (o GetPiSystemPoolsSystemPoolOutput) ToGetPiSystemPoolsSystemPoolOutput() GetPiSystemPoolsSystemPoolOutput { + return o +} + +func (o GetPiSystemPoolsSystemPoolOutput) ToGetPiSystemPoolsSystemPoolOutputWithContext(ctx context.Context) GetPiSystemPoolsSystemPoolOutput { + return o +} + +// Advertised capacity cores and memory (GB). +func (o GetPiSystemPoolsSystemPoolOutput) Capacity() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) map[string]string { return v.Capacity }).(pulumi.StringMapOutput) +} + +// Processor to Memory (GB) Ratio. +func (o GetPiSystemPoolsSystemPoolOutput) CoreMemoryRatio() pulumi.Float64Output { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) float64 { return v.CoreMemoryRatio }).(pulumi.Float64Output) +} + +// Maximum configurable cores and memory (GB) (aggregated from all hosts). +func (o GetPiSystemPoolsSystemPoolOutput) MaxAvailable() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) map[string]string { return v.MaxAvailable }).(pulumi.StringMapOutput) +} + +// Maximum configurable cores available combined with available memory of that host. +func (o GetPiSystemPoolsSystemPoolOutput) MaxCoresAvailable() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) map[string]string { return v.MaxCoresAvailable }).(pulumi.StringMapOutput) +} + +// Maximum configurable memory available combined with available cores of that host. +func (o GetPiSystemPoolsSystemPoolOutput) MaxMemoryAvailable() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) map[string]string { return v.MaxMemoryAvailable }).(pulumi.StringMapOutput) +} + +// The min-max-default allocation percentage of shared core per vCPU. +func (o GetPiSystemPoolsSystemPoolOutput) SharedCoreRatio() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) map[string]string { return v.SharedCoreRatio }).(pulumi.StringMapOutput) +} + +// The system pool name +func (o GetPiSystemPoolsSystemPoolOutput) SystemPoolName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) string { return v.SystemPoolName }).(pulumi.StringOutput) +} + +// The Datacenter list of servers and their available resources. +func (o GetPiSystemPoolsSystemPoolOutput) Systems() GetPiSystemPoolsSystemPoolSystemArrayOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) []GetPiSystemPoolsSystemPoolSystem { return v.Systems }).(GetPiSystemPoolsSystemPoolSystemArrayOutput) +} + +// Type of system hardware. +func (o GetPiSystemPoolsSystemPoolOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPool) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiSystemPoolsSystemPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetPiSystemPoolsSystemPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSystemPoolsSystemPool)(nil)).Elem() +} + +func (o GetPiSystemPoolsSystemPoolArrayOutput) ToGetPiSystemPoolsSystemPoolArrayOutput() GetPiSystemPoolsSystemPoolArrayOutput { + return o +} + +func (o GetPiSystemPoolsSystemPoolArrayOutput) ToGetPiSystemPoolsSystemPoolArrayOutputWithContext(ctx context.Context) GetPiSystemPoolsSystemPoolArrayOutput { + return o +} + +func (o GetPiSystemPoolsSystemPoolArrayOutput) Index(i pulumi.IntInput) GetPiSystemPoolsSystemPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiSystemPoolsSystemPool { + return vs[0].([]GetPiSystemPoolsSystemPool)[vs[1].(int)] + }).(GetPiSystemPoolsSystemPoolOutput) +} + +type GetPiSystemPoolsSystemPoolSystem struct { + // The host available Processor units. + Cores string `pulumi:"cores"` + // The host identifier. + Id string `pulumi:"id"` + // The host available RAM memory in GiB. + Memory string `pulumi:"memory"` +} + +// GetPiSystemPoolsSystemPoolSystemInput is an input type that accepts GetPiSystemPoolsSystemPoolSystemArgs and GetPiSystemPoolsSystemPoolSystemOutput values. +// You can construct a concrete instance of `GetPiSystemPoolsSystemPoolSystemInput` via: +// +// GetPiSystemPoolsSystemPoolSystemArgs{...} +type GetPiSystemPoolsSystemPoolSystemInput interface { + pulumi.Input + + ToGetPiSystemPoolsSystemPoolSystemOutput() GetPiSystemPoolsSystemPoolSystemOutput + ToGetPiSystemPoolsSystemPoolSystemOutputWithContext(context.Context) GetPiSystemPoolsSystemPoolSystemOutput +} + +type GetPiSystemPoolsSystemPoolSystemArgs struct { + // The host available Processor units. + Cores pulumi.StringInput `pulumi:"cores"` + // The host identifier. + Id pulumi.StringInput `pulumi:"id"` + // The host available RAM memory in GiB. + Memory pulumi.StringInput `pulumi:"memory"` +} + +func (GetPiSystemPoolsSystemPoolSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSystemPoolsSystemPoolSystem)(nil)).Elem() +} + +func (i GetPiSystemPoolsSystemPoolSystemArgs) ToGetPiSystemPoolsSystemPoolSystemOutput() GetPiSystemPoolsSystemPoolSystemOutput { + return i.ToGetPiSystemPoolsSystemPoolSystemOutputWithContext(context.Background()) +} + +func (i GetPiSystemPoolsSystemPoolSystemArgs) ToGetPiSystemPoolsSystemPoolSystemOutputWithContext(ctx context.Context) GetPiSystemPoolsSystemPoolSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSystemPoolsSystemPoolSystemOutput) +} + +// GetPiSystemPoolsSystemPoolSystemArrayInput is an input type that accepts GetPiSystemPoolsSystemPoolSystemArray and GetPiSystemPoolsSystemPoolSystemArrayOutput values. +// You can construct a concrete instance of `GetPiSystemPoolsSystemPoolSystemArrayInput` via: +// +// GetPiSystemPoolsSystemPoolSystemArray{ GetPiSystemPoolsSystemPoolSystemArgs{...} } +type GetPiSystemPoolsSystemPoolSystemArrayInput interface { + pulumi.Input + + ToGetPiSystemPoolsSystemPoolSystemArrayOutput() GetPiSystemPoolsSystemPoolSystemArrayOutput + ToGetPiSystemPoolsSystemPoolSystemArrayOutputWithContext(context.Context) GetPiSystemPoolsSystemPoolSystemArrayOutput +} + +type GetPiSystemPoolsSystemPoolSystemArray []GetPiSystemPoolsSystemPoolSystemInput + +func (GetPiSystemPoolsSystemPoolSystemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSystemPoolsSystemPoolSystem)(nil)).Elem() +} + +func (i GetPiSystemPoolsSystemPoolSystemArray) ToGetPiSystemPoolsSystemPoolSystemArrayOutput() GetPiSystemPoolsSystemPoolSystemArrayOutput { + return i.ToGetPiSystemPoolsSystemPoolSystemArrayOutputWithContext(context.Background()) +} + +func (i GetPiSystemPoolsSystemPoolSystemArray) ToGetPiSystemPoolsSystemPoolSystemArrayOutputWithContext(ctx context.Context) GetPiSystemPoolsSystemPoolSystemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiSystemPoolsSystemPoolSystemArrayOutput) +} + +type GetPiSystemPoolsSystemPoolSystemOutput struct{ *pulumi.OutputState } + +func (GetPiSystemPoolsSystemPoolSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiSystemPoolsSystemPoolSystem)(nil)).Elem() +} + +func (o GetPiSystemPoolsSystemPoolSystemOutput) ToGetPiSystemPoolsSystemPoolSystemOutput() GetPiSystemPoolsSystemPoolSystemOutput { + return o +} + +func (o GetPiSystemPoolsSystemPoolSystemOutput) ToGetPiSystemPoolsSystemPoolSystemOutputWithContext(ctx context.Context) GetPiSystemPoolsSystemPoolSystemOutput { + return o +} + +// The host available Processor units. +func (o GetPiSystemPoolsSystemPoolSystemOutput) Cores() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPoolSystem) string { return v.Cores }).(pulumi.StringOutput) +} + +// The host identifier. +func (o GetPiSystemPoolsSystemPoolSystemOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPoolSystem) string { return v.Id }).(pulumi.StringOutput) +} + +// The host available RAM memory in GiB. +func (o GetPiSystemPoolsSystemPoolSystemOutput) Memory() pulumi.StringOutput { + return o.ApplyT(func(v GetPiSystemPoolsSystemPoolSystem) string { return v.Memory }).(pulumi.StringOutput) +} + +type GetPiSystemPoolsSystemPoolSystemArrayOutput struct{ *pulumi.OutputState } + +func (GetPiSystemPoolsSystemPoolSystemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiSystemPoolsSystemPoolSystem)(nil)).Elem() +} + +func (o GetPiSystemPoolsSystemPoolSystemArrayOutput) ToGetPiSystemPoolsSystemPoolSystemArrayOutput() GetPiSystemPoolsSystemPoolSystemArrayOutput { + return o +} + +func (o GetPiSystemPoolsSystemPoolSystemArrayOutput) ToGetPiSystemPoolsSystemPoolSystemArrayOutputWithContext(ctx context.Context) GetPiSystemPoolsSystemPoolSystemArrayOutput { + return o +} + +func (o GetPiSystemPoolsSystemPoolSystemArrayOutput) Index(i pulumi.IntInput) GetPiSystemPoolsSystemPoolSystemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiSystemPoolsSystemPoolSystem { + return vs[0].([]GetPiSystemPoolsSystemPoolSystem)[vs[1].(int)] + }).(GetPiSystemPoolsSystemPoolSystemOutput) +} + +type GetPiTenantCloudInstance struct { + // The unique identifier of the cloud instance. + CloudInstanceId string `pulumi:"cloudInstanceId"` + // The region of the cloud instance. + Region string `pulumi:"region"` +} + +// GetPiTenantCloudInstanceInput is an input type that accepts GetPiTenantCloudInstanceArgs and GetPiTenantCloudInstanceOutput values. +// You can construct a concrete instance of `GetPiTenantCloudInstanceInput` via: +// +// GetPiTenantCloudInstanceArgs{...} +type GetPiTenantCloudInstanceInput interface { + pulumi.Input + + ToGetPiTenantCloudInstanceOutput() GetPiTenantCloudInstanceOutput + ToGetPiTenantCloudInstanceOutputWithContext(context.Context) GetPiTenantCloudInstanceOutput +} + +type GetPiTenantCloudInstanceArgs struct { + // The unique identifier of the cloud instance. + CloudInstanceId pulumi.StringInput `pulumi:"cloudInstanceId"` + // The region of the cloud instance. + Region pulumi.StringInput `pulumi:"region"` +} + +func (GetPiTenantCloudInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiTenantCloudInstance)(nil)).Elem() +} + +func (i GetPiTenantCloudInstanceArgs) ToGetPiTenantCloudInstanceOutput() GetPiTenantCloudInstanceOutput { + return i.ToGetPiTenantCloudInstanceOutputWithContext(context.Background()) +} + +func (i GetPiTenantCloudInstanceArgs) ToGetPiTenantCloudInstanceOutputWithContext(ctx context.Context) GetPiTenantCloudInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiTenantCloudInstanceOutput) +} + +// GetPiTenantCloudInstanceArrayInput is an input type that accepts GetPiTenantCloudInstanceArray and GetPiTenantCloudInstanceArrayOutput values. +// You can construct a concrete instance of `GetPiTenantCloudInstanceArrayInput` via: +// +// GetPiTenantCloudInstanceArray{ GetPiTenantCloudInstanceArgs{...} } +type GetPiTenantCloudInstanceArrayInput interface { + pulumi.Input + + ToGetPiTenantCloudInstanceArrayOutput() GetPiTenantCloudInstanceArrayOutput + ToGetPiTenantCloudInstanceArrayOutputWithContext(context.Context) GetPiTenantCloudInstanceArrayOutput +} + +type GetPiTenantCloudInstanceArray []GetPiTenantCloudInstanceInput + +func (GetPiTenantCloudInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiTenantCloudInstance)(nil)).Elem() +} + +func (i GetPiTenantCloudInstanceArray) ToGetPiTenantCloudInstanceArrayOutput() GetPiTenantCloudInstanceArrayOutput { + return i.ToGetPiTenantCloudInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetPiTenantCloudInstanceArray) ToGetPiTenantCloudInstanceArrayOutputWithContext(ctx context.Context) GetPiTenantCloudInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiTenantCloudInstanceArrayOutput) +} + +type GetPiTenantCloudInstanceOutput struct{ *pulumi.OutputState } + +func (GetPiTenantCloudInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiTenantCloudInstance)(nil)).Elem() +} + +func (o GetPiTenantCloudInstanceOutput) ToGetPiTenantCloudInstanceOutput() GetPiTenantCloudInstanceOutput { + return o +} + +func (o GetPiTenantCloudInstanceOutput) ToGetPiTenantCloudInstanceOutputWithContext(ctx context.Context) GetPiTenantCloudInstanceOutput { + return o +} + +// The unique identifier of the cloud instance. +func (o GetPiTenantCloudInstanceOutput) CloudInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiTenantCloudInstance) string { return v.CloudInstanceId }).(pulumi.StringOutput) +} + +// The region of the cloud instance. +func (o GetPiTenantCloudInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetPiTenantCloudInstance) string { return v.Region }).(pulumi.StringOutput) +} + +type GetPiTenantCloudInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiTenantCloudInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiTenantCloudInstance)(nil)).Elem() +} + +func (o GetPiTenantCloudInstanceArrayOutput) ToGetPiTenantCloudInstanceArrayOutput() GetPiTenantCloudInstanceArrayOutput { + return o +} + +func (o GetPiTenantCloudInstanceArrayOutput) ToGetPiTenantCloudInstanceArrayOutputWithContext(ctx context.Context) GetPiTenantCloudInstanceArrayOutput { + return o +} + +func (o GetPiTenantCloudInstanceArrayOutput) Index(i pulumi.IntInput) GetPiTenantCloudInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiTenantCloudInstance { + return vs[0].([]GetPiTenantCloudInstance)[vs[1].(int)] + }).(GetPiTenantCloudInstanceOutput) +} + +type GetPiVirtualSerialNumbersVirtualSerialNumber struct { + // Description of virtual serial number. + Description string `pulumi:"description"` + // ID of PVM instance virtual serial number is attached to. + InstanceId string `pulumi:"instanceId"` + // Virtual Serial Number. + Serial string `pulumi:"serial"` + // Software tier for virtual serial number. + SoftwareTier string `pulumi:"softwareTier"` +} + +// GetPiVirtualSerialNumbersVirtualSerialNumberInput is an input type that accepts GetPiVirtualSerialNumbersVirtualSerialNumberArgs and GetPiVirtualSerialNumbersVirtualSerialNumberOutput values. +// You can construct a concrete instance of `GetPiVirtualSerialNumbersVirtualSerialNumberInput` via: +// +// GetPiVirtualSerialNumbersVirtualSerialNumberArgs{...} +type GetPiVirtualSerialNumbersVirtualSerialNumberInput interface { + pulumi.Input + + ToGetPiVirtualSerialNumbersVirtualSerialNumberOutput() GetPiVirtualSerialNumbersVirtualSerialNumberOutput + ToGetPiVirtualSerialNumbersVirtualSerialNumberOutputWithContext(context.Context) GetPiVirtualSerialNumbersVirtualSerialNumberOutput +} + +type GetPiVirtualSerialNumbersVirtualSerialNumberArgs struct { + // Description of virtual serial number. + Description pulumi.StringInput `pulumi:"description"` + // ID of PVM instance virtual serial number is attached to. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Virtual Serial Number. + Serial pulumi.StringInput `pulumi:"serial"` + // Software tier for virtual serial number. + SoftwareTier pulumi.StringInput `pulumi:"softwareTier"` +} + +func (GetPiVirtualSerialNumbersVirtualSerialNumberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVirtualSerialNumbersVirtualSerialNumber)(nil)).Elem() +} + +func (i GetPiVirtualSerialNumbersVirtualSerialNumberArgs) ToGetPiVirtualSerialNumbersVirtualSerialNumberOutput() GetPiVirtualSerialNumbersVirtualSerialNumberOutput { + return i.ToGetPiVirtualSerialNumbersVirtualSerialNumberOutputWithContext(context.Background()) +} + +func (i GetPiVirtualSerialNumbersVirtualSerialNumberArgs) ToGetPiVirtualSerialNumbersVirtualSerialNumberOutputWithContext(ctx context.Context) GetPiVirtualSerialNumbersVirtualSerialNumberOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVirtualSerialNumbersVirtualSerialNumberOutput) +} + +// GetPiVirtualSerialNumbersVirtualSerialNumberArrayInput is an input type that accepts GetPiVirtualSerialNumbersVirtualSerialNumberArray and GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput values. +// You can construct a concrete instance of `GetPiVirtualSerialNumbersVirtualSerialNumberArrayInput` via: +// +// GetPiVirtualSerialNumbersVirtualSerialNumberArray{ GetPiVirtualSerialNumbersVirtualSerialNumberArgs{...} } +type GetPiVirtualSerialNumbersVirtualSerialNumberArrayInput interface { + pulumi.Input + + ToGetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput() GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput + ToGetPiVirtualSerialNumbersVirtualSerialNumberArrayOutputWithContext(context.Context) GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput +} + +type GetPiVirtualSerialNumbersVirtualSerialNumberArray []GetPiVirtualSerialNumbersVirtualSerialNumberInput + +func (GetPiVirtualSerialNumbersVirtualSerialNumberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVirtualSerialNumbersVirtualSerialNumber)(nil)).Elem() +} + +func (i GetPiVirtualSerialNumbersVirtualSerialNumberArray) ToGetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput() GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput { + return i.ToGetPiVirtualSerialNumbersVirtualSerialNumberArrayOutputWithContext(context.Background()) +} + +func (i GetPiVirtualSerialNumbersVirtualSerialNumberArray) ToGetPiVirtualSerialNumbersVirtualSerialNumberArrayOutputWithContext(ctx context.Context) GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput) +} + +type GetPiVirtualSerialNumbersVirtualSerialNumberOutput struct{ *pulumi.OutputState } + +func (GetPiVirtualSerialNumbersVirtualSerialNumberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVirtualSerialNumbersVirtualSerialNumber)(nil)).Elem() +} + +func (o GetPiVirtualSerialNumbersVirtualSerialNumberOutput) ToGetPiVirtualSerialNumbersVirtualSerialNumberOutput() GetPiVirtualSerialNumbersVirtualSerialNumberOutput { + return o +} + +func (o GetPiVirtualSerialNumbersVirtualSerialNumberOutput) ToGetPiVirtualSerialNumbersVirtualSerialNumberOutputWithContext(ctx context.Context) GetPiVirtualSerialNumbersVirtualSerialNumberOutput { + return o +} + +// Description of virtual serial number. +func (o GetPiVirtualSerialNumbersVirtualSerialNumberOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVirtualSerialNumbersVirtualSerialNumber) string { return v.Description }).(pulumi.StringOutput) +} + +// ID of PVM instance virtual serial number is attached to. +func (o GetPiVirtualSerialNumbersVirtualSerialNumberOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVirtualSerialNumbersVirtualSerialNumber) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Virtual Serial Number. +func (o GetPiVirtualSerialNumbersVirtualSerialNumberOutput) Serial() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVirtualSerialNumbersVirtualSerialNumber) string { return v.Serial }).(pulumi.StringOutput) +} + +// Software tier for virtual serial number. +func (o GetPiVirtualSerialNumbersVirtualSerialNumberOutput) SoftwareTier() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVirtualSerialNumbersVirtualSerialNumber) string { return v.SoftwareTier }).(pulumi.StringOutput) +} + +type GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVirtualSerialNumbersVirtualSerialNumber)(nil)).Elem() +} + +func (o GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput) ToGetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput() GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput { + return o +} + +func (o GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput) ToGetPiVirtualSerialNumbersVirtualSerialNumberArrayOutputWithContext(ctx context.Context) GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput { + return o +} + +func (o GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput) Index(i pulumi.IntInput) GetPiVirtualSerialNumbersVirtualSerialNumberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVirtualSerialNumbersVirtualSerialNumber { + return vs[0].([]GetPiVirtualSerialNumbersVirtualSerialNumber)[vs[1].(int)] + }).(GetPiVirtualSerialNumbersVirtualSerialNumberOutput) +} + +type GetPiVolumeCloneCloneVolume struct { + // The ID of the newly cloned volume. + CloneVolumeId string `pulumi:"cloneVolumeId"` + // The ID of the source volume. + SourceVolumeId string `pulumi:"sourceVolumeId"` +} + +// GetPiVolumeCloneCloneVolumeInput is an input type that accepts GetPiVolumeCloneCloneVolumeArgs and GetPiVolumeCloneCloneVolumeOutput values. +// You can construct a concrete instance of `GetPiVolumeCloneCloneVolumeInput` via: +// +// GetPiVolumeCloneCloneVolumeArgs{...} +type GetPiVolumeCloneCloneVolumeInput interface { + pulumi.Input + + ToGetPiVolumeCloneCloneVolumeOutput() GetPiVolumeCloneCloneVolumeOutput + ToGetPiVolumeCloneCloneVolumeOutputWithContext(context.Context) GetPiVolumeCloneCloneVolumeOutput +} + +type GetPiVolumeCloneCloneVolumeArgs struct { + // The ID of the newly cloned volume. + CloneVolumeId pulumi.StringInput `pulumi:"cloneVolumeId"` + // The ID of the source volume. + SourceVolumeId pulumi.StringInput `pulumi:"sourceVolumeId"` +} + +func (GetPiVolumeCloneCloneVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeCloneCloneVolume)(nil)).Elem() +} + +func (i GetPiVolumeCloneCloneVolumeArgs) ToGetPiVolumeCloneCloneVolumeOutput() GetPiVolumeCloneCloneVolumeOutput { + return i.ToGetPiVolumeCloneCloneVolumeOutputWithContext(context.Background()) +} + +func (i GetPiVolumeCloneCloneVolumeArgs) ToGetPiVolumeCloneCloneVolumeOutputWithContext(ctx context.Context) GetPiVolumeCloneCloneVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeCloneCloneVolumeOutput) +} + +// GetPiVolumeCloneCloneVolumeArrayInput is an input type that accepts GetPiVolumeCloneCloneVolumeArray and GetPiVolumeCloneCloneVolumeArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeCloneCloneVolumeArrayInput` via: +// +// GetPiVolumeCloneCloneVolumeArray{ GetPiVolumeCloneCloneVolumeArgs{...} } +type GetPiVolumeCloneCloneVolumeArrayInput interface { + pulumi.Input + + ToGetPiVolumeCloneCloneVolumeArrayOutput() GetPiVolumeCloneCloneVolumeArrayOutput + ToGetPiVolumeCloneCloneVolumeArrayOutputWithContext(context.Context) GetPiVolumeCloneCloneVolumeArrayOutput +} + +type GetPiVolumeCloneCloneVolumeArray []GetPiVolumeCloneCloneVolumeInput + +func (GetPiVolumeCloneCloneVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeCloneCloneVolume)(nil)).Elem() +} + +func (i GetPiVolumeCloneCloneVolumeArray) ToGetPiVolumeCloneCloneVolumeArrayOutput() GetPiVolumeCloneCloneVolumeArrayOutput { + return i.ToGetPiVolumeCloneCloneVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeCloneCloneVolumeArray) ToGetPiVolumeCloneCloneVolumeArrayOutputWithContext(ctx context.Context) GetPiVolumeCloneCloneVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeCloneCloneVolumeArrayOutput) +} + +type GetPiVolumeCloneCloneVolumeOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeCloneCloneVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeCloneCloneVolume)(nil)).Elem() +} + +func (o GetPiVolumeCloneCloneVolumeOutput) ToGetPiVolumeCloneCloneVolumeOutput() GetPiVolumeCloneCloneVolumeOutput { + return o +} + +func (o GetPiVolumeCloneCloneVolumeOutput) ToGetPiVolumeCloneCloneVolumeOutputWithContext(ctx context.Context) GetPiVolumeCloneCloneVolumeOutput { + return o +} + +// The ID of the newly cloned volume. +func (o GetPiVolumeCloneCloneVolumeOutput) CloneVolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeCloneCloneVolume) string { return v.CloneVolumeId }).(pulumi.StringOutput) +} + +// The ID of the source volume. +func (o GetPiVolumeCloneCloneVolumeOutput) SourceVolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeCloneCloneVolume) string { return v.SourceVolumeId }).(pulumi.StringOutput) +} + +type GetPiVolumeCloneCloneVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeCloneCloneVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeCloneCloneVolume)(nil)).Elem() +} + +func (o GetPiVolumeCloneCloneVolumeArrayOutput) ToGetPiVolumeCloneCloneVolumeArrayOutput() GetPiVolumeCloneCloneVolumeArrayOutput { + return o +} + +func (o GetPiVolumeCloneCloneVolumeArrayOutput) ToGetPiVolumeCloneCloneVolumeArrayOutputWithContext(ctx context.Context) GetPiVolumeCloneCloneVolumeArrayOutput { + return o +} + +func (o GetPiVolumeCloneCloneVolumeArrayOutput) Index(i pulumi.IntInput) GetPiVolumeCloneCloneVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeCloneCloneVolume { + return vs[0].([]GetPiVolumeCloneCloneVolume)[vs[1].(int)] + }).(GetPiVolumeCloneCloneVolumeOutput) +} + +type GetPiVolumeFlashCopyMappingsFlashCopyMapping struct { + // The rate of flash copy operation of a volume. + CopyRate int `pulumi:"copyRate"` + // The flash copy name of the volume. + FlashCopyName string `pulumi:"flashCopyName"` + // The progress of flash copy operation. + Progress int `pulumi:"progress"` + // The name of the source volume. + SourceVolumeName string `pulumi:"sourceVolumeName"` + // The start time of flash copy operation. + StartTime string `pulumi:"startTime"` + // The copy status of a volume. + Status string `pulumi:"status"` + // The name of the target volume. + TargetVolumeName string `pulumi:"targetVolumeName"` +} + +// GetPiVolumeFlashCopyMappingsFlashCopyMappingInput is an input type that accepts GetPiVolumeFlashCopyMappingsFlashCopyMappingArgs and GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput values. +// You can construct a concrete instance of `GetPiVolumeFlashCopyMappingsFlashCopyMappingInput` via: +// +// GetPiVolumeFlashCopyMappingsFlashCopyMappingArgs{...} +type GetPiVolumeFlashCopyMappingsFlashCopyMappingInput interface { + pulumi.Input + + ToGetPiVolumeFlashCopyMappingsFlashCopyMappingOutput() GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput + ToGetPiVolumeFlashCopyMappingsFlashCopyMappingOutputWithContext(context.Context) GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput +} + +type GetPiVolumeFlashCopyMappingsFlashCopyMappingArgs struct { + // The rate of flash copy operation of a volume. + CopyRate pulumi.IntInput `pulumi:"copyRate"` + // The flash copy name of the volume. + FlashCopyName pulumi.StringInput `pulumi:"flashCopyName"` + // The progress of flash copy operation. + Progress pulumi.IntInput `pulumi:"progress"` + // The name of the source volume. + SourceVolumeName pulumi.StringInput `pulumi:"sourceVolumeName"` + // The start time of flash copy operation. + StartTime pulumi.StringInput `pulumi:"startTime"` + // The copy status of a volume. + Status pulumi.StringInput `pulumi:"status"` + // The name of the target volume. + TargetVolumeName pulumi.StringInput `pulumi:"targetVolumeName"` +} + +func (GetPiVolumeFlashCopyMappingsFlashCopyMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeFlashCopyMappingsFlashCopyMapping)(nil)).Elem() +} + +func (i GetPiVolumeFlashCopyMappingsFlashCopyMappingArgs) ToGetPiVolumeFlashCopyMappingsFlashCopyMappingOutput() GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput { + return i.ToGetPiVolumeFlashCopyMappingsFlashCopyMappingOutputWithContext(context.Background()) +} + +func (i GetPiVolumeFlashCopyMappingsFlashCopyMappingArgs) ToGetPiVolumeFlashCopyMappingsFlashCopyMappingOutputWithContext(ctx context.Context) GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) +} + +// GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayInput is an input type that accepts GetPiVolumeFlashCopyMappingsFlashCopyMappingArray and GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayInput` via: +// +// GetPiVolumeFlashCopyMappingsFlashCopyMappingArray{ GetPiVolumeFlashCopyMappingsFlashCopyMappingArgs{...} } +type GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayInput interface { + pulumi.Input + + ToGetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput() GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput + ToGetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutputWithContext(context.Context) GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput +} + +type GetPiVolumeFlashCopyMappingsFlashCopyMappingArray []GetPiVolumeFlashCopyMappingsFlashCopyMappingInput + +func (GetPiVolumeFlashCopyMappingsFlashCopyMappingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeFlashCopyMappingsFlashCopyMapping)(nil)).Elem() +} + +func (i GetPiVolumeFlashCopyMappingsFlashCopyMappingArray) ToGetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput() GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput { + return i.ToGetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeFlashCopyMappingsFlashCopyMappingArray) ToGetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutputWithContext(ctx context.Context) GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput) +} + +type GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeFlashCopyMappingsFlashCopyMapping)(nil)).Elem() +} + +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) ToGetPiVolumeFlashCopyMappingsFlashCopyMappingOutput() GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput { + return o +} + +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) ToGetPiVolumeFlashCopyMappingsFlashCopyMappingOutputWithContext(ctx context.Context) GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput { + return o +} + +// The rate of flash copy operation of a volume. +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) CopyRate() pulumi.IntOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsFlashCopyMapping) int { return v.CopyRate }).(pulumi.IntOutput) +} + +// The flash copy name of the volume. +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) FlashCopyName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsFlashCopyMapping) string { return v.FlashCopyName }).(pulumi.StringOutput) +} + +// The progress of flash copy operation. +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) Progress() pulumi.IntOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsFlashCopyMapping) int { return v.Progress }).(pulumi.IntOutput) +} + +// The name of the source volume. +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) SourceVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsFlashCopyMapping) string { return v.SourceVolumeName }).(pulumi.StringOutput) +} + +// The start time of flash copy operation. +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) StartTime() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsFlashCopyMapping) string { return v.StartTime }).(pulumi.StringOutput) +} + +// The copy status of a volume. +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsFlashCopyMapping) string { return v.Status }).(pulumi.StringOutput) +} + +// The name of the target volume. +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) TargetVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeFlashCopyMappingsFlashCopyMapping) string { return v.TargetVolumeName }).(pulumi.StringOutput) +} + +type GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeFlashCopyMappingsFlashCopyMapping)(nil)).Elem() +} + +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput) ToGetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput() GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput { + return o +} + +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput) ToGetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutputWithContext(ctx context.Context) GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput { + return o +} + +func (o GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput) Index(i pulumi.IntInput) GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeFlashCopyMappingsFlashCopyMapping { + return vs[0].([]GetPiVolumeFlashCopyMappingsFlashCopyMapping)[vs[1].(int)] + }).(GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput) +} + +type GetPiVolumeGroupDetailsStatusDescriptionError struct { + // The volume group error key. + Key string `pulumi:"key"` + // The failure message providing more details about the error key. + Message string `pulumi:"message"` + // List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. + VolumeIds []string `pulumi:"volumeIds"` +} + +// GetPiVolumeGroupDetailsStatusDescriptionErrorInput is an input type that accepts GetPiVolumeGroupDetailsStatusDescriptionErrorArgs and GetPiVolumeGroupDetailsStatusDescriptionErrorOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupDetailsStatusDescriptionErrorInput` via: +// +// GetPiVolumeGroupDetailsStatusDescriptionErrorArgs{...} +type GetPiVolumeGroupDetailsStatusDescriptionErrorInput interface { + pulumi.Input + + ToGetPiVolumeGroupDetailsStatusDescriptionErrorOutput() GetPiVolumeGroupDetailsStatusDescriptionErrorOutput + ToGetPiVolumeGroupDetailsStatusDescriptionErrorOutputWithContext(context.Context) GetPiVolumeGroupDetailsStatusDescriptionErrorOutput +} + +type GetPiVolumeGroupDetailsStatusDescriptionErrorArgs struct { + // The volume group error key. + Key pulumi.StringInput `pulumi:"key"` + // The failure message providing more details about the error key. + Message pulumi.StringInput `pulumi:"message"` + // List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` +} + +func (GetPiVolumeGroupDetailsStatusDescriptionErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupDetailsStatusDescriptionError)(nil)).Elem() +} + +func (i GetPiVolumeGroupDetailsStatusDescriptionErrorArgs) ToGetPiVolumeGroupDetailsStatusDescriptionErrorOutput() GetPiVolumeGroupDetailsStatusDescriptionErrorOutput { + return i.ToGetPiVolumeGroupDetailsStatusDescriptionErrorOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupDetailsStatusDescriptionErrorArgs) ToGetPiVolumeGroupDetailsStatusDescriptionErrorOutputWithContext(ctx context.Context) GetPiVolumeGroupDetailsStatusDescriptionErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupDetailsStatusDescriptionErrorOutput) +} + +// GetPiVolumeGroupDetailsStatusDescriptionErrorArrayInput is an input type that accepts GetPiVolumeGroupDetailsStatusDescriptionErrorArray and GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupDetailsStatusDescriptionErrorArrayInput` via: +// +// GetPiVolumeGroupDetailsStatusDescriptionErrorArray{ GetPiVolumeGroupDetailsStatusDescriptionErrorArgs{...} } +type GetPiVolumeGroupDetailsStatusDescriptionErrorArrayInput interface { + pulumi.Input + + ToGetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput() GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput + ToGetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutputWithContext(context.Context) GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput +} + +type GetPiVolumeGroupDetailsStatusDescriptionErrorArray []GetPiVolumeGroupDetailsStatusDescriptionErrorInput + +func (GetPiVolumeGroupDetailsStatusDescriptionErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupDetailsStatusDescriptionError)(nil)).Elem() +} + +func (i GetPiVolumeGroupDetailsStatusDescriptionErrorArray) ToGetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput() GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput { + return i.ToGetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupDetailsStatusDescriptionErrorArray) ToGetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput) +} + +type GetPiVolumeGroupDetailsStatusDescriptionErrorOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupDetailsStatusDescriptionErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupDetailsStatusDescriptionError)(nil)).Elem() +} + +func (o GetPiVolumeGroupDetailsStatusDescriptionErrorOutput) ToGetPiVolumeGroupDetailsStatusDescriptionErrorOutput() GetPiVolumeGroupDetailsStatusDescriptionErrorOutput { + return o +} + +func (o GetPiVolumeGroupDetailsStatusDescriptionErrorOutput) ToGetPiVolumeGroupDetailsStatusDescriptionErrorOutputWithContext(ctx context.Context) GetPiVolumeGroupDetailsStatusDescriptionErrorOutput { + return o +} + +// The volume group error key. +func (o GetPiVolumeGroupDetailsStatusDescriptionErrorOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsStatusDescriptionError) string { return v.Key }).(pulumi.StringOutput) +} + +// The failure message providing more details about the error key. +func (o GetPiVolumeGroupDetailsStatusDescriptionErrorOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsStatusDescriptionError) string { return v.Message }).(pulumi.StringOutput) +} + +// List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. +func (o GetPiVolumeGroupDetailsStatusDescriptionErrorOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupDetailsStatusDescriptionError) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +type GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupDetailsStatusDescriptionError)(nil)).Elem() +} + +func (o GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput) ToGetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput() GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput { + return o +} + +func (o GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput) ToGetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput { + return o +} + +func (o GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput) Index(i pulumi.IntInput) GetPiVolumeGroupDetailsStatusDescriptionErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeGroupDetailsStatusDescriptionError { + return vs[0].([]GetPiVolumeGroupDetailsStatusDescriptionError)[vs[1].(int)] + }).(GetPiVolumeGroupDetailsStatusDescriptionErrorOutput) +} + +type GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship struct { + // The name of the volume that is acting as the auxiliary change volume for the relationship. + AuxiliaryChangedVolumeName string `pulumi:"auxiliaryChangedVolumeName"` + // The auxiliary volume name at storage host level. + AuxiliaryVolumeName string `pulumi:"auxiliaryVolumeName"` + // The consistency group name if volume is a part of volume group. + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + // The copy type. + CopyType string `pulumi:"copyType"` + // The type of cycling mode used. + CyclingMode string `pulumi:"cyclingMode"` + // The freeze time of remote copy relationship. + FreezeTime string `pulumi:"freezeTime"` + // The name of the volume that is acting as the master change volume for the relationship. + MasterChangedVolumeName string `pulumi:"masterChangedVolumeName"` + // The master volume name at storage host level. + MasterVolumeName string `pulumi:"masterVolumeName"` + // The remote copy relationship name. + Name string `pulumi:"name"` + // Indicates whether master/aux volume is playing the primary role. + PrimaryRole string `pulumi:"primaryRole"` + // The relationship progress. + Progress int `pulumi:"progress"` + // The remote copy relationship ID. + RemoteCopyId string `pulumi:"remoteCopyId"` + // The relationship state. + State string `pulumi:"state"` + // Indicates whether the relationship is synchronized. + Synchronized string `pulumi:"synchronized"` +} + +// GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipInput is an input type that accepts GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArgs and GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipInput` via: +// +// GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArgs{...} +type GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipInput interface { + pulumi.Input + + ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput() GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput + ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutputWithContext(context.Context) GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput +} + +type GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArgs struct { + // The name of the volume that is acting as the auxiliary change volume for the relationship. + AuxiliaryChangedVolumeName pulumi.StringInput `pulumi:"auxiliaryChangedVolumeName"` + // The auxiliary volume name at storage host level. + AuxiliaryVolumeName pulumi.StringInput `pulumi:"auxiliaryVolumeName"` + // The consistency group name if volume is a part of volume group. + ConsistencyGroupName pulumi.StringInput `pulumi:"consistencyGroupName"` + // The copy type. + CopyType pulumi.StringInput `pulumi:"copyType"` + // The type of cycling mode used. + CyclingMode pulumi.StringInput `pulumi:"cyclingMode"` + // The freeze time of remote copy relationship. + FreezeTime pulumi.StringInput `pulumi:"freezeTime"` + // The name of the volume that is acting as the master change volume for the relationship. + MasterChangedVolumeName pulumi.StringInput `pulumi:"masterChangedVolumeName"` + // The master volume name at storage host level. + MasterVolumeName pulumi.StringInput `pulumi:"masterVolumeName"` + // The remote copy relationship name. + Name pulumi.StringInput `pulumi:"name"` + // Indicates whether master/aux volume is playing the primary role. + PrimaryRole pulumi.StringInput `pulumi:"primaryRole"` + // The relationship progress. + Progress pulumi.IntInput `pulumi:"progress"` + // The remote copy relationship ID. + RemoteCopyId pulumi.StringInput `pulumi:"remoteCopyId"` + // The relationship state. + State pulumi.StringInput `pulumi:"state"` + // Indicates whether the relationship is synchronized. + Synchronized pulumi.StringInput `pulumi:"synchronized"` +} + +func (GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship)(nil)).Elem() +} + +func (i GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArgs) ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput() GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput { + return i.ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArgs) ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutputWithContext(ctx context.Context) GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) +} + +// GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayInput is an input type that accepts GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArray and GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayInput` via: +// +// GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArray{ GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArgs{...} } +type GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayInput interface { + pulumi.Input + + ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput() GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput + ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutputWithContext(context.Context) GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput +} + +type GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArray []GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipInput + +func (GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship)(nil)).Elem() +} + +func (i GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArray) ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput() GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput { + return i.ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArray) ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput) +} + +type GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship)(nil)).Elem() +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput() GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput { + return o +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutputWithContext(ctx context.Context) GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput { + return o +} + +// The name of the volume that is acting as the auxiliary change volume for the relationship. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) AuxiliaryChangedVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { + return v.AuxiliaryChangedVolumeName + }).(pulumi.StringOutput) +} + +// The auxiliary volume name at storage host level. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) AuxiliaryVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { + return v.AuxiliaryVolumeName + }).(pulumi.StringOutput) +} + +// The consistency group name if volume is a part of volume group. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { + return v.ConsistencyGroupName + }).(pulumi.StringOutput) +} + +// The copy type. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) CopyType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { return v.CopyType }).(pulumi.StringOutput) +} + +// The type of cycling mode used. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) CyclingMode() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { return v.CyclingMode }).(pulumi.StringOutput) +} + +// The freeze time of remote copy relationship. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) FreezeTime() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { return v.FreezeTime }).(pulumi.StringOutput) +} + +// The name of the volume that is acting as the master change volume for the relationship. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) MasterChangedVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { + return v.MasterChangedVolumeName + }).(pulumi.StringOutput) +} + +// The master volume name at storage host level. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) MasterVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { + return v.MasterVolumeName + }).(pulumi.StringOutput) +} + +// The remote copy relationship name. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates whether master/aux volume is playing the primary role. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) PrimaryRole() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { return v.PrimaryRole }).(pulumi.StringOutput) +} + +// The relationship progress. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) Progress() pulumi.IntOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) int { return v.Progress }).(pulumi.IntOutput) +} + +// The remote copy relationship ID. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) RemoteCopyId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { return v.RemoteCopyId }).(pulumi.StringOutput) +} + +// The relationship state. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { return v.State }).(pulumi.StringOutput) +} + +// Indicates whether the relationship is synchronized. +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) Synchronized() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship) string { return v.Synchronized }).(pulumi.StringOutput) +} + +type GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship)(nil)).Elem() +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput) ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput() GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput { + return o +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput) ToGetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput { + return o +} + +func (o GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput) Index(i pulumi.IntInput) GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship { + return vs[0].([]GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationship)[vs[1].(int)] + }).(GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput) +} + +type GetPiVolumeGroupStatusDescriptionError struct { + // The volume group error key. + Key string `pulumi:"key"` + // The failure message providing more details about the error key. + Message string `pulumi:"message"` + // List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. + VolumeIds []string `pulumi:"volumeIds"` +} + +// GetPiVolumeGroupStatusDescriptionErrorInput is an input type that accepts GetPiVolumeGroupStatusDescriptionErrorArgs and GetPiVolumeGroupStatusDescriptionErrorOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupStatusDescriptionErrorInput` via: +// +// GetPiVolumeGroupStatusDescriptionErrorArgs{...} +type GetPiVolumeGroupStatusDescriptionErrorInput interface { + pulumi.Input + + ToGetPiVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupStatusDescriptionErrorOutput + ToGetPiVolumeGroupStatusDescriptionErrorOutputWithContext(context.Context) GetPiVolumeGroupStatusDescriptionErrorOutput +} + +type GetPiVolumeGroupStatusDescriptionErrorArgs struct { + // The volume group error key. + Key pulumi.StringInput `pulumi:"key"` + // The failure message providing more details about the error key. + Message pulumi.StringInput `pulumi:"message"` + // List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` +} + +func (GetPiVolumeGroupStatusDescriptionErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (i GetPiVolumeGroupStatusDescriptionErrorArgs) ToGetPiVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupStatusDescriptionErrorOutput { + return i.ToGetPiVolumeGroupStatusDescriptionErrorOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupStatusDescriptionErrorArgs) ToGetPiVolumeGroupStatusDescriptionErrorOutputWithContext(ctx context.Context) GetPiVolumeGroupStatusDescriptionErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupStatusDescriptionErrorOutput) +} + +// GetPiVolumeGroupStatusDescriptionErrorArrayInput is an input type that accepts GetPiVolumeGroupStatusDescriptionErrorArray and GetPiVolumeGroupStatusDescriptionErrorArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupStatusDescriptionErrorArrayInput` via: +// +// GetPiVolumeGroupStatusDescriptionErrorArray{ GetPiVolumeGroupStatusDescriptionErrorArgs{...} } +type GetPiVolumeGroupStatusDescriptionErrorArrayInput interface { + pulumi.Input + + ToGetPiVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupStatusDescriptionErrorArrayOutput + ToGetPiVolumeGroupStatusDescriptionErrorArrayOutputWithContext(context.Context) GetPiVolumeGroupStatusDescriptionErrorArrayOutput +} + +type GetPiVolumeGroupStatusDescriptionErrorArray []GetPiVolumeGroupStatusDescriptionErrorInput + +func (GetPiVolumeGroupStatusDescriptionErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (i GetPiVolumeGroupStatusDescriptionErrorArray) ToGetPiVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupStatusDescriptionErrorArrayOutput { + return i.ToGetPiVolumeGroupStatusDescriptionErrorArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupStatusDescriptionErrorArray) ToGetPiVolumeGroupStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupStatusDescriptionErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupStatusDescriptionErrorArrayOutput) +} + +type GetPiVolumeGroupStatusDescriptionErrorOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupStatusDescriptionErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (o GetPiVolumeGroupStatusDescriptionErrorOutput) ToGetPiVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupStatusDescriptionErrorOutput { + return o +} + +func (o GetPiVolumeGroupStatusDescriptionErrorOutput) ToGetPiVolumeGroupStatusDescriptionErrorOutputWithContext(ctx context.Context) GetPiVolumeGroupStatusDescriptionErrorOutput { + return o +} + +// The volume group error key. +func (o GetPiVolumeGroupStatusDescriptionErrorOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStatusDescriptionError) string { return v.Key }).(pulumi.StringOutput) +} + +// The failure message providing more details about the error key. +func (o GetPiVolumeGroupStatusDescriptionErrorOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupStatusDescriptionError) string { return v.Message }).(pulumi.StringOutput) +} + +// List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. +func (o GetPiVolumeGroupStatusDescriptionErrorOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupStatusDescriptionError) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +type GetPiVolumeGroupStatusDescriptionErrorArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupStatusDescriptionErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (o GetPiVolumeGroupStatusDescriptionErrorArrayOutput) ToGetPiVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupStatusDescriptionErrorArrayOutput { + return o +} + +func (o GetPiVolumeGroupStatusDescriptionErrorArrayOutput) ToGetPiVolumeGroupStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupStatusDescriptionErrorArrayOutput { + return o +} + +func (o GetPiVolumeGroupStatusDescriptionErrorArrayOutput) Index(i pulumi.IntInput) GetPiVolumeGroupStatusDescriptionErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeGroupStatusDescriptionError { + return vs[0].([]GetPiVolumeGroupStatusDescriptionError)[vs[1].(int)] + }).(GetPiVolumeGroupStatusDescriptionErrorOutput) +} + +type GetPiVolumeGroupsDetailsVolumeGroup struct { + // Indicates if the volume is auxiliary or not. + Auxiliary bool `pulumi:"auxiliary"` + // The name of consistency group at storage controller level. + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + // The unique identifier of the volume group. + Id string `pulumi:"id"` + // Indicates the replication sites of the volume group. + ReplicationSites []string `pulumi:"replicationSites"` + // The replication status of volume group. + ReplicationStatus string `pulumi:"replicationStatus"` + // The status of the volume group. + Status string `pulumi:"status"` + // The status details of the volume group. + StatusDescriptionErrors []GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError `pulumi:"statusDescriptionErrors"` + // Indicates the storage pool of the volume group + StoragePool string `pulumi:"storagePool"` + // The name of the volume group. + VolumeGroupName string `pulumi:"volumeGroupName"` + // List of volume IDs, member of volume group. + VolumeIds []string `pulumi:"volumeIds"` +} + +// GetPiVolumeGroupsDetailsVolumeGroupInput is an input type that accepts GetPiVolumeGroupsDetailsVolumeGroupArgs and GetPiVolumeGroupsDetailsVolumeGroupOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupsDetailsVolumeGroupInput` via: +// +// GetPiVolumeGroupsDetailsVolumeGroupArgs{...} +type GetPiVolumeGroupsDetailsVolumeGroupInput interface { + pulumi.Input + + ToGetPiVolumeGroupsDetailsVolumeGroupOutput() GetPiVolumeGroupsDetailsVolumeGroupOutput + ToGetPiVolumeGroupsDetailsVolumeGroupOutputWithContext(context.Context) GetPiVolumeGroupsDetailsVolumeGroupOutput +} + +type GetPiVolumeGroupsDetailsVolumeGroupArgs struct { + // Indicates if the volume is auxiliary or not. + Auxiliary pulumi.BoolInput `pulumi:"auxiliary"` + // The name of consistency group at storage controller level. + ConsistencyGroupName pulumi.StringInput `pulumi:"consistencyGroupName"` + // The unique identifier of the volume group. + Id pulumi.StringInput `pulumi:"id"` + // Indicates the replication sites of the volume group. + ReplicationSites pulumi.StringArrayInput `pulumi:"replicationSites"` + // The replication status of volume group. + ReplicationStatus pulumi.StringInput `pulumi:"replicationStatus"` + // The status of the volume group. + Status pulumi.StringInput `pulumi:"status"` + // The status details of the volume group. + StatusDescriptionErrors GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayInput `pulumi:"statusDescriptionErrors"` + // Indicates the storage pool of the volume group + StoragePool pulumi.StringInput `pulumi:"storagePool"` + // The name of the volume group. + VolumeGroupName pulumi.StringInput `pulumi:"volumeGroupName"` + // List of volume IDs, member of volume group. + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` +} + +func (GetPiVolumeGroupsDetailsVolumeGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsDetailsVolumeGroup)(nil)).Elem() +} + +func (i GetPiVolumeGroupsDetailsVolumeGroupArgs) ToGetPiVolumeGroupsDetailsVolumeGroupOutput() GetPiVolumeGroupsDetailsVolumeGroupOutput { + return i.ToGetPiVolumeGroupsDetailsVolumeGroupOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupsDetailsVolumeGroupArgs) ToGetPiVolumeGroupsDetailsVolumeGroupOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsVolumeGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupsDetailsVolumeGroupOutput) +} + +// GetPiVolumeGroupsDetailsVolumeGroupArrayInput is an input type that accepts GetPiVolumeGroupsDetailsVolumeGroupArray and GetPiVolumeGroupsDetailsVolumeGroupArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupsDetailsVolumeGroupArrayInput` via: +// +// GetPiVolumeGroupsDetailsVolumeGroupArray{ GetPiVolumeGroupsDetailsVolumeGroupArgs{...} } +type GetPiVolumeGroupsDetailsVolumeGroupArrayInput interface { + pulumi.Input + + ToGetPiVolumeGroupsDetailsVolumeGroupArrayOutput() GetPiVolumeGroupsDetailsVolumeGroupArrayOutput + ToGetPiVolumeGroupsDetailsVolumeGroupArrayOutputWithContext(context.Context) GetPiVolumeGroupsDetailsVolumeGroupArrayOutput +} + +type GetPiVolumeGroupsDetailsVolumeGroupArray []GetPiVolumeGroupsDetailsVolumeGroupInput + +func (GetPiVolumeGroupsDetailsVolumeGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupsDetailsVolumeGroup)(nil)).Elem() +} + +func (i GetPiVolumeGroupsDetailsVolumeGroupArray) ToGetPiVolumeGroupsDetailsVolumeGroupArrayOutput() GetPiVolumeGroupsDetailsVolumeGroupArrayOutput { + return i.ToGetPiVolumeGroupsDetailsVolumeGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupsDetailsVolumeGroupArray) ToGetPiVolumeGroupsDetailsVolumeGroupArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsVolumeGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupsDetailsVolumeGroupArrayOutput) +} + +type GetPiVolumeGroupsDetailsVolumeGroupOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsDetailsVolumeGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsDetailsVolumeGroup)(nil)).Elem() +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) ToGetPiVolumeGroupsDetailsVolumeGroupOutput() GetPiVolumeGroupsDetailsVolumeGroupOutput { + return o +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) ToGetPiVolumeGroupsDetailsVolumeGroupOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsVolumeGroupOutput { + return o +} + +// Indicates if the volume is auxiliary or not. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) Auxiliary() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) bool { return v.Auxiliary }).(pulumi.BoolOutput) +} + +// The name of consistency group at storage controller level. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) string { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +// The unique identifier of the volume group. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// Indicates the replication sites of the volume group. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) []string { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +// The replication status of volume group. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) string { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +// The status of the volume group. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) string { return v.Status }).(pulumi.StringOutput) +} + +// The status details of the volume group. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) StatusDescriptionErrors() GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) []GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError { + return v.StatusDescriptionErrors + }).(GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput) +} + +// Indicates the storage pool of the volume group +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) string { return v.StoragePool }).(pulumi.StringOutput) +} + +// The name of the volume group. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) VolumeGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) string { return v.VolumeGroupName }).(pulumi.StringOutput) +} + +// List of volume IDs, member of volume group. +func (o GetPiVolumeGroupsDetailsVolumeGroupOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroup) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +type GetPiVolumeGroupsDetailsVolumeGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsDetailsVolumeGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupsDetailsVolumeGroup)(nil)).Elem() +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupArrayOutput) ToGetPiVolumeGroupsDetailsVolumeGroupArrayOutput() GetPiVolumeGroupsDetailsVolumeGroupArrayOutput { + return o +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupArrayOutput) ToGetPiVolumeGroupsDetailsVolumeGroupArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsVolumeGroupArrayOutput { + return o +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupArrayOutput) Index(i pulumi.IntInput) GetPiVolumeGroupsDetailsVolumeGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeGroupsDetailsVolumeGroup { + return vs[0].([]GetPiVolumeGroupsDetailsVolumeGroup)[vs[1].(int)] + }).(GetPiVolumeGroupsDetailsVolumeGroupOutput) +} + +type GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError struct { + // The volume group error key. + Key string `pulumi:"key"` + // The failure message providing more details about the error key. + Message string `pulumi:"message"` + // List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. + VolumeIds []string `pulumi:"volumeIds"` +} + +// GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorInput is an input type that accepts GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArgs and GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorInput` via: +// +// GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArgs{...} +type GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorInput interface { + pulumi.Input + + ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput + ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutputWithContext(context.Context) GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput +} + +type GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArgs struct { + // The volume group error key. + Key pulumi.StringInput `pulumi:"key"` + // The failure message providing more details about the error key. + Message pulumi.StringInput `pulumi:"message"` + // List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` +} + +func (GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (i GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArgs) ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput { + return i.ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArgs) ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput) +} + +// GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayInput is an input type that accepts GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArray and GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayInput` via: +// +// GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArray{ GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArgs{...} } +type GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayInput interface { + pulumi.Input + + ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput + ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutputWithContext(context.Context) GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput +} + +type GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArray []GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorInput + +func (GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (i GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArray) ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput { + return i.ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArray) ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput) +} + +type GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput) ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput { + return o +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput) ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput { + return o +} + +// The volume group error key. +func (o GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError) string { return v.Key }).(pulumi.StringOutput) +} + +// The failure message providing more details about the error key. +func (o GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError) string { return v.Message }).(pulumi.StringOutput) +} + +// List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. +func (o GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +type GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput) ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput { + return o +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput) ToGetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput { + return o +} + +func (o GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput) Index(i pulumi.IntInput) GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError { + return vs[0].([]GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionError)[vs[1].(int)] + }).(GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput) +} + +type GetPiVolumeGroupsVolumeGroup struct { + // Indicates if the volume is auxiliary or not. + Auxiliary bool `pulumi:"auxiliary"` + // The name of consistency group at storage controller level. + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + // The unique identifier of the volume group. + Id string `pulumi:"id"` + // Indicates the replication sites of the volume group. + ReplicationSites []string `pulumi:"replicationSites"` + // The replication status of volume group. + ReplicationStatus string `pulumi:"replicationStatus"` + // The status of the volume group. + Status string `pulumi:"status"` + // The status details of the volume group. + StatusDescriptionErrors []GetPiVolumeGroupsVolumeGroupStatusDescriptionError `pulumi:"statusDescriptionErrors"` + // Indicates the storage pool of the volume group + StoragePool string `pulumi:"storagePool"` + // The name of the volume group. + VolumeGroupName string `pulumi:"volumeGroupName"` +} + +// GetPiVolumeGroupsVolumeGroupInput is an input type that accepts GetPiVolumeGroupsVolumeGroupArgs and GetPiVolumeGroupsVolumeGroupOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupsVolumeGroupInput` via: +// +// GetPiVolumeGroupsVolumeGroupArgs{...} +type GetPiVolumeGroupsVolumeGroupInput interface { + pulumi.Input + + ToGetPiVolumeGroupsVolumeGroupOutput() GetPiVolumeGroupsVolumeGroupOutput + ToGetPiVolumeGroupsVolumeGroupOutputWithContext(context.Context) GetPiVolumeGroupsVolumeGroupOutput +} + +type GetPiVolumeGroupsVolumeGroupArgs struct { + // Indicates if the volume is auxiliary or not. + Auxiliary pulumi.BoolInput `pulumi:"auxiliary"` + // The name of consistency group at storage controller level. + ConsistencyGroupName pulumi.StringInput `pulumi:"consistencyGroupName"` + // The unique identifier of the volume group. + Id pulumi.StringInput `pulumi:"id"` + // Indicates the replication sites of the volume group. + ReplicationSites pulumi.StringArrayInput `pulumi:"replicationSites"` + // The replication status of volume group. + ReplicationStatus pulumi.StringInput `pulumi:"replicationStatus"` + // The status of the volume group. + Status pulumi.StringInput `pulumi:"status"` + // The status details of the volume group. + StatusDescriptionErrors GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayInput `pulumi:"statusDescriptionErrors"` + // Indicates the storage pool of the volume group + StoragePool pulumi.StringInput `pulumi:"storagePool"` + // The name of the volume group. + VolumeGroupName pulumi.StringInput `pulumi:"volumeGroupName"` +} + +func (GetPiVolumeGroupsVolumeGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsVolumeGroup)(nil)).Elem() +} + +func (i GetPiVolumeGroupsVolumeGroupArgs) ToGetPiVolumeGroupsVolumeGroupOutput() GetPiVolumeGroupsVolumeGroupOutput { + return i.ToGetPiVolumeGroupsVolumeGroupOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupsVolumeGroupArgs) ToGetPiVolumeGroupsVolumeGroupOutputWithContext(ctx context.Context) GetPiVolumeGroupsVolumeGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupsVolumeGroupOutput) +} + +// GetPiVolumeGroupsVolumeGroupArrayInput is an input type that accepts GetPiVolumeGroupsVolumeGroupArray and GetPiVolumeGroupsVolumeGroupArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupsVolumeGroupArrayInput` via: +// +// GetPiVolumeGroupsVolumeGroupArray{ GetPiVolumeGroupsVolumeGroupArgs{...} } +type GetPiVolumeGroupsVolumeGroupArrayInput interface { + pulumi.Input + + ToGetPiVolumeGroupsVolumeGroupArrayOutput() GetPiVolumeGroupsVolumeGroupArrayOutput + ToGetPiVolumeGroupsVolumeGroupArrayOutputWithContext(context.Context) GetPiVolumeGroupsVolumeGroupArrayOutput +} + +type GetPiVolumeGroupsVolumeGroupArray []GetPiVolumeGroupsVolumeGroupInput + +func (GetPiVolumeGroupsVolumeGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupsVolumeGroup)(nil)).Elem() +} + +func (i GetPiVolumeGroupsVolumeGroupArray) ToGetPiVolumeGroupsVolumeGroupArrayOutput() GetPiVolumeGroupsVolumeGroupArrayOutput { + return i.ToGetPiVolumeGroupsVolumeGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupsVolumeGroupArray) ToGetPiVolumeGroupsVolumeGroupArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupsVolumeGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupsVolumeGroupArrayOutput) +} + +type GetPiVolumeGroupsVolumeGroupOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsVolumeGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsVolumeGroup)(nil)).Elem() +} + +func (o GetPiVolumeGroupsVolumeGroupOutput) ToGetPiVolumeGroupsVolumeGroupOutput() GetPiVolumeGroupsVolumeGroupOutput { + return o +} + +func (o GetPiVolumeGroupsVolumeGroupOutput) ToGetPiVolumeGroupsVolumeGroupOutputWithContext(ctx context.Context) GetPiVolumeGroupsVolumeGroupOutput { + return o +} + +// Indicates if the volume is auxiliary or not. +func (o GetPiVolumeGroupsVolumeGroupOutput) Auxiliary() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) bool { return v.Auxiliary }).(pulumi.BoolOutput) +} + +// The name of consistency group at storage controller level. +func (o GetPiVolumeGroupsVolumeGroupOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) string { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +// The unique identifier of the volume group. +func (o GetPiVolumeGroupsVolumeGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) string { return v.Id }).(pulumi.StringOutput) +} + +// Indicates the replication sites of the volume group. +func (o GetPiVolumeGroupsVolumeGroupOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) []string { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +// The replication status of volume group. +func (o GetPiVolumeGroupsVolumeGroupOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) string { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +// The status of the volume group. +func (o GetPiVolumeGroupsVolumeGroupOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) string { return v.Status }).(pulumi.StringOutput) +} + +// The status details of the volume group. +func (o GetPiVolumeGroupsVolumeGroupOutput) StatusDescriptionErrors() GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) []GetPiVolumeGroupsVolumeGroupStatusDescriptionError { + return v.StatusDescriptionErrors + }).(GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput) +} + +// Indicates the storage pool of the volume group +func (o GetPiVolumeGroupsVolumeGroupOutput) StoragePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) string { return v.StoragePool }).(pulumi.StringOutput) +} + +// The name of the volume group. +func (o GetPiVolumeGroupsVolumeGroupOutput) VolumeGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroup) string { return v.VolumeGroupName }).(pulumi.StringOutput) +} + +type GetPiVolumeGroupsVolumeGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsVolumeGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupsVolumeGroup)(nil)).Elem() +} + +func (o GetPiVolumeGroupsVolumeGroupArrayOutput) ToGetPiVolumeGroupsVolumeGroupArrayOutput() GetPiVolumeGroupsVolumeGroupArrayOutput { + return o +} + +func (o GetPiVolumeGroupsVolumeGroupArrayOutput) ToGetPiVolumeGroupsVolumeGroupArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupsVolumeGroupArrayOutput { + return o +} + +func (o GetPiVolumeGroupsVolumeGroupArrayOutput) Index(i pulumi.IntInput) GetPiVolumeGroupsVolumeGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeGroupsVolumeGroup { + return vs[0].([]GetPiVolumeGroupsVolumeGroup)[vs[1].(int)] + }).(GetPiVolumeGroupsVolumeGroupOutput) +} + +type GetPiVolumeGroupsVolumeGroupStatusDescriptionError struct { + // The volume group error key. + Key string `pulumi:"key"` + // The failure message providing more details about the error key. + Message string `pulumi:"message"` + // List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. + VolumeIds []string `pulumi:"volumeIds"` +} + +// GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorInput is an input type that accepts GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArgs and GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorInput` via: +// +// GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArgs{...} +type GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorInput interface { + pulumi.Input + + ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput + ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutputWithContext(context.Context) GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput +} + +type GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArgs struct { + // The volume group error key. + Key pulumi.StringInput `pulumi:"key"` + // The failure message providing more details about the error key. + Message pulumi.StringInput `pulumi:"message"` + // List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` +} + +func (GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (i GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArgs) ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput { + return i.ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArgs) ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutputWithContext(ctx context.Context) GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput) +} + +// GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayInput is an input type that accepts GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArray and GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayInput` via: +// +// GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArray{ GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArgs{...} } +type GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayInput interface { + pulumi.Input + + ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput + ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutputWithContext(context.Context) GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput +} + +type GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArray []GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorInput + +func (GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupsVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (i GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArray) ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput { + return i.ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArray) ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput) +} + +type GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeGroupsVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (o GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput) ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput() GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput { + return o +} + +func (o GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput) ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutputWithContext(ctx context.Context) GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput { + return o +} + +// The volume group error key. +func (o GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroupStatusDescriptionError) string { return v.Key }).(pulumi.StringOutput) +} + +// The failure message providing more details about the error key. +func (o GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroupStatusDescriptionError) string { return v.Message }).(pulumi.StringOutput) +} + +// List of volume IDs, which failed to be added/removed to/from the volume group, with the given error. +func (o GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeGroupsVolumeGroupStatusDescriptionError) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +type GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeGroupsVolumeGroupStatusDescriptionError)(nil)).Elem() +} + +func (o GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput) ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput() GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput { + return o +} + +func (o GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput) ToGetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutputWithContext(ctx context.Context) GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput { + return o +} + +func (o GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput) Index(i pulumi.IntInput) GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeGroupsVolumeGroupStatusDescriptionError { + return vs[0].([]GetPiVolumeGroupsVolumeGroupStatusDescriptionError)[vs[1].(int)] + }).(GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput) +} + +type GetPiVolumeOnboardingResultsVolumeOnboardingFailure struct { + // The failure reason for the volumes which have failed to be onboarded. + FailureMessage string `pulumi:"failureMessage"` + // List of volumes which have failed to be onboarded. + Volumes []string `pulumi:"volumes"` +} + +// GetPiVolumeOnboardingResultsVolumeOnboardingFailureInput is an input type that accepts GetPiVolumeOnboardingResultsVolumeOnboardingFailureArgs and GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput values. +// You can construct a concrete instance of `GetPiVolumeOnboardingResultsVolumeOnboardingFailureInput` via: +// +// GetPiVolumeOnboardingResultsVolumeOnboardingFailureArgs{...} +type GetPiVolumeOnboardingResultsVolumeOnboardingFailureInput interface { + pulumi.Input + + ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput() GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput + ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureOutputWithContext(context.Context) GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput +} + +type GetPiVolumeOnboardingResultsVolumeOnboardingFailureArgs struct { + // The failure reason for the volumes which have failed to be onboarded. + FailureMessage pulumi.StringInput `pulumi:"failureMessage"` + // List of volumes which have failed to be onboarded. + Volumes pulumi.StringArrayInput `pulumi:"volumes"` +} + +func (GetPiVolumeOnboardingResultsVolumeOnboardingFailureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeOnboardingResultsVolumeOnboardingFailure)(nil)).Elem() +} + +func (i GetPiVolumeOnboardingResultsVolumeOnboardingFailureArgs) ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput() GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return i.ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureOutputWithContext(context.Background()) +} + +func (i GetPiVolumeOnboardingResultsVolumeOnboardingFailureArgs) ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureOutputWithContext(ctx context.Context) GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput) +} + +// GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput is an input type that accepts GetPiVolumeOnboardingResultsVolumeOnboardingFailureArray and GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput` via: +// +// GetPiVolumeOnboardingResultsVolumeOnboardingFailureArray{ GetPiVolumeOnboardingResultsVolumeOnboardingFailureArgs{...} } +type GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput interface { + pulumi.Input + + ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput() GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput + ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutputWithContext(context.Context) GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput +} + +type GetPiVolumeOnboardingResultsVolumeOnboardingFailureArray []GetPiVolumeOnboardingResultsVolumeOnboardingFailureInput + +func (GetPiVolumeOnboardingResultsVolumeOnboardingFailureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeOnboardingResultsVolumeOnboardingFailure)(nil)).Elem() +} + +func (i GetPiVolumeOnboardingResultsVolumeOnboardingFailureArray) ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput() GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return i.ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeOnboardingResultsVolumeOnboardingFailureArray) ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutputWithContext(ctx context.Context) GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) +} + +type GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeOnboardingResultsVolumeOnboardingFailure)(nil)).Elem() +} + +func (o GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput) ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput() GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return o +} + +func (o GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput) ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureOutputWithContext(ctx context.Context) GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return o +} + +// The failure reason for the volumes which have failed to be onboarded. +func (o GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput) FailureMessage() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingResultsVolumeOnboardingFailure) string { return v.FailureMessage }).(pulumi.StringOutput) +} + +// List of volumes which have failed to be onboarded. +func (o GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput) Volumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingResultsVolumeOnboardingFailure) []string { return v.Volumes }).(pulumi.StringArrayOutput) +} + +type GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeOnboardingResultsVolumeOnboardingFailure)(nil)).Elem() +} + +func (o GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput() GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return o +} + +func (o GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) ToGetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutputWithContext(ctx context.Context) GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput { + return o +} + +func (o GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput) Index(i pulumi.IntInput) GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeOnboardingResultsVolumeOnboardingFailure { + return vs[0].([]GetPiVolumeOnboardingResultsVolumeOnboardingFailure)[vs[1].(int)] + }).(GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput) +} + +type GetPiVolumeOnboardingsOnboarding struct { + // The description of the volume onboarding operation. + Description string `pulumi:"description"` + // The type of cycling mode used. + Id string `pulumi:"id"` + // List of volumes requested to be onboarded. + InputVolumes []string `pulumi:"inputVolumes"` + // The status of volume onboarding operation. + Status string `pulumi:"status"` +} + +// GetPiVolumeOnboardingsOnboardingInput is an input type that accepts GetPiVolumeOnboardingsOnboardingArgs and GetPiVolumeOnboardingsOnboardingOutput values. +// You can construct a concrete instance of `GetPiVolumeOnboardingsOnboardingInput` via: +// +// GetPiVolumeOnboardingsOnboardingArgs{...} +type GetPiVolumeOnboardingsOnboardingInput interface { + pulumi.Input + + ToGetPiVolumeOnboardingsOnboardingOutput() GetPiVolumeOnboardingsOnboardingOutput + ToGetPiVolumeOnboardingsOnboardingOutputWithContext(context.Context) GetPiVolumeOnboardingsOnboardingOutput +} + +type GetPiVolumeOnboardingsOnboardingArgs struct { + // The description of the volume onboarding operation. + Description pulumi.StringInput `pulumi:"description"` + // The type of cycling mode used. + Id pulumi.StringInput `pulumi:"id"` + // List of volumes requested to be onboarded. + InputVolumes pulumi.StringArrayInput `pulumi:"inputVolumes"` + // The status of volume onboarding operation. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetPiVolumeOnboardingsOnboardingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeOnboardingsOnboarding)(nil)).Elem() +} + +func (i GetPiVolumeOnboardingsOnboardingArgs) ToGetPiVolumeOnboardingsOnboardingOutput() GetPiVolumeOnboardingsOnboardingOutput { + return i.ToGetPiVolumeOnboardingsOnboardingOutputWithContext(context.Background()) +} + +func (i GetPiVolumeOnboardingsOnboardingArgs) ToGetPiVolumeOnboardingsOnboardingOutputWithContext(ctx context.Context) GetPiVolumeOnboardingsOnboardingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeOnboardingsOnboardingOutput) +} + +// GetPiVolumeOnboardingsOnboardingArrayInput is an input type that accepts GetPiVolumeOnboardingsOnboardingArray and GetPiVolumeOnboardingsOnboardingArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeOnboardingsOnboardingArrayInput` via: +// +// GetPiVolumeOnboardingsOnboardingArray{ GetPiVolumeOnboardingsOnboardingArgs{...} } +type GetPiVolumeOnboardingsOnboardingArrayInput interface { + pulumi.Input + + ToGetPiVolumeOnboardingsOnboardingArrayOutput() GetPiVolumeOnboardingsOnboardingArrayOutput + ToGetPiVolumeOnboardingsOnboardingArrayOutputWithContext(context.Context) GetPiVolumeOnboardingsOnboardingArrayOutput +} + +type GetPiVolumeOnboardingsOnboardingArray []GetPiVolumeOnboardingsOnboardingInput + +func (GetPiVolumeOnboardingsOnboardingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeOnboardingsOnboarding)(nil)).Elem() +} + +func (i GetPiVolumeOnboardingsOnboardingArray) ToGetPiVolumeOnboardingsOnboardingArrayOutput() GetPiVolumeOnboardingsOnboardingArrayOutput { + return i.ToGetPiVolumeOnboardingsOnboardingArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeOnboardingsOnboardingArray) ToGetPiVolumeOnboardingsOnboardingArrayOutputWithContext(ctx context.Context) GetPiVolumeOnboardingsOnboardingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeOnboardingsOnboardingArrayOutput) +} + +type GetPiVolumeOnboardingsOnboardingOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeOnboardingsOnboardingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeOnboardingsOnboarding)(nil)).Elem() +} + +func (o GetPiVolumeOnboardingsOnboardingOutput) ToGetPiVolumeOnboardingsOnboardingOutput() GetPiVolumeOnboardingsOnboardingOutput { + return o +} + +func (o GetPiVolumeOnboardingsOnboardingOutput) ToGetPiVolumeOnboardingsOnboardingOutputWithContext(ctx context.Context) GetPiVolumeOnboardingsOnboardingOutput { + return o +} + +// The description of the volume onboarding operation. +func (o GetPiVolumeOnboardingsOnboardingOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingsOnboarding) string { return v.Description }).(pulumi.StringOutput) +} + +// The type of cycling mode used. +func (o GetPiVolumeOnboardingsOnboardingOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingsOnboarding) string { return v.Id }).(pulumi.StringOutput) +} + +// List of volumes requested to be onboarded. +func (o GetPiVolumeOnboardingsOnboardingOutput) InputVolumes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingsOnboarding) []string { return v.InputVolumes }).(pulumi.StringArrayOutput) +} + +// The status of volume onboarding operation. +func (o GetPiVolumeOnboardingsOnboardingOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeOnboardingsOnboarding) string { return v.Status }).(pulumi.StringOutput) +} + +type GetPiVolumeOnboardingsOnboardingArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeOnboardingsOnboardingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeOnboardingsOnboarding)(nil)).Elem() +} + +func (o GetPiVolumeOnboardingsOnboardingArrayOutput) ToGetPiVolumeOnboardingsOnboardingArrayOutput() GetPiVolumeOnboardingsOnboardingArrayOutput { + return o +} + +func (o GetPiVolumeOnboardingsOnboardingArrayOutput) ToGetPiVolumeOnboardingsOnboardingArrayOutputWithContext(ctx context.Context) GetPiVolumeOnboardingsOnboardingArrayOutput { + return o +} + +func (o GetPiVolumeOnboardingsOnboardingArrayOutput) Index(i pulumi.IntInput) GetPiVolumeOnboardingsOnboardingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeOnboardingsOnboarding { + return vs[0].([]GetPiVolumeOnboardingsOnboarding)[vs[1].(int)] + }).(GetPiVolumeOnboardingsOnboardingOutput) +} + +type GetPiVolumeSnapshotsVolumeSnapshot struct { + // The date and time when the volume snapshot was created. + CreationDate string `pulumi:"creationDate"` + // The CRN of the volume snapshot. + // + // Deprecated: This field is deprecated. + Crn string `pulumi:"crn"` + // The snapshot UUID. + Id string `pulumi:"id"` + // The volume snapshot name. + Name string `pulumi:"name"` + // The size of the volume snapshot, in gibibytes (GiB). + Size float64 `pulumi:"size"` + // The status for the volume snapshot. + Status string `pulumi:"status"` + // The date and time when the volume snapshot was last updated. + UpdatedDate string `pulumi:"updatedDate"` + // The volume UUID associated with the snapshot. + VolumeId string `pulumi:"volumeId"` +} + +// GetPiVolumeSnapshotsVolumeSnapshotInput is an input type that accepts GetPiVolumeSnapshotsVolumeSnapshotArgs and GetPiVolumeSnapshotsVolumeSnapshotOutput values. +// You can construct a concrete instance of `GetPiVolumeSnapshotsVolumeSnapshotInput` via: +// +// GetPiVolumeSnapshotsVolumeSnapshotArgs{...} +type GetPiVolumeSnapshotsVolumeSnapshotInput interface { + pulumi.Input + + ToGetPiVolumeSnapshotsVolumeSnapshotOutput() GetPiVolumeSnapshotsVolumeSnapshotOutput + ToGetPiVolumeSnapshotsVolumeSnapshotOutputWithContext(context.Context) GetPiVolumeSnapshotsVolumeSnapshotOutput +} + +type GetPiVolumeSnapshotsVolumeSnapshotArgs struct { + // The date and time when the volume snapshot was created. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The CRN of the volume snapshot. + // + // Deprecated: This field is deprecated. + Crn pulumi.StringInput `pulumi:"crn"` + // The snapshot UUID. + Id pulumi.StringInput `pulumi:"id"` + // The volume snapshot name. + Name pulumi.StringInput `pulumi:"name"` + // The size of the volume snapshot, in gibibytes (GiB). + Size pulumi.Float64Input `pulumi:"size"` + // The status for the volume snapshot. + Status pulumi.StringInput `pulumi:"status"` + // The date and time when the volume snapshot was last updated. + UpdatedDate pulumi.StringInput `pulumi:"updatedDate"` + // The volume UUID associated with the snapshot. + VolumeId pulumi.StringInput `pulumi:"volumeId"` +} + +func (GetPiVolumeSnapshotsVolumeSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeSnapshotsVolumeSnapshot)(nil)).Elem() +} + +func (i GetPiVolumeSnapshotsVolumeSnapshotArgs) ToGetPiVolumeSnapshotsVolumeSnapshotOutput() GetPiVolumeSnapshotsVolumeSnapshotOutput { + return i.ToGetPiVolumeSnapshotsVolumeSnapshotOutputWithContext(context.Background()) +} + +func (i GetPiVolumeSnapshotsVolumeSnapshotArgs) ToGetPiVolumeSnapshotsVolumeSnapshotOutputWithContext(ctx context.Context) GetPiVolumeSnapshotsVolumeSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeSnapshotsVolumeSnapshotOutput) +} + +// GetPiVolumeSnapshotsVolumeSnapshotArrayInput is an input type that accepts GetPiVolumeSnapshotsVolumeSnapshotArray and GetPiVolumeSnapshotsVolumeSnapshotArrayOutput values. +// You can construct a concrete instance of `GetPiVolumeSnapshotsVolumeSnapshotArrayInput` via: +// +// GetPiVolumeSnapshotsVolumeSnapshotArray{ GetPiVolumeSnapshotsVolumeSnapshotArgs{...} } +type GetPiVolumeSnapshotsVolumeSnapshotArrayInput interface { + pulumi.Input + + ToGetPiVolumeSnapshotsVolumeSnapshotArrayOutput() GetPiVolumeSnapshotsVolumeSnapshotArrayOutput + ToGetPiVolumeSnapshotsVolumeSnapshotArrayOutputWithContext(context.Context) GetPiVolumeSnapshotsVolumeSnapshotArrayOutput +} + +type GetPiVolumeSnapshotsVolumeSnapshotArray []GetPiVolumeSnapshotsVolumeSnapshotInput + +func (GetPiVolumeSnapshotsVolumeSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeSnapshotsVolumeSnapshot)(nil)).Elem() +} + +func (i GetPiVolumeSnapshotsVolumeSnapshotArray) ToGetPiVolumeSnapshotsVolumeSnapshotArrayOutput() GetPiVolumeSnapshotsVolumeSnapshotArrayOutput { + return i.ToGetPiVolumeSnapshotsVolumeSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumeSnapshotsVolumeSnapshotArray) ToGetPiVolumeSnapshotsVolumeSnapshotArrayOutputWithContext(ctx context.Context) GetPiVolumeSnapshotsVolumeSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumeSnapshotsVolumeSnapshotArrayOutput) +} + +type GetPiVolumeSnapshotsVolumeSnapshotOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeSnapshotsVolumeSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumeSnapshotsVolumeSnapshot)(nil)).Elem() +} + +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) ToGetPiVolumeSnapshotsVolumeSnapshotOutput() GetPiVolumeSnapshotsVolumeSnapshotOutput { + return o +} + +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) ToGetPiVolumeSnapshotsVolumeSnapshotOutputWithContext(ctx context.Context) GetPiVolumeSnapshotsVolumeSnapshotOutput { + return o +} + +// The date and time when the volume snapshot was created. +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsVolumeSnapshot) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of the volume snapshot. +// +// Deprecated: This field is deprecated. +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsVolumeSnapshot) string { return v.Crn }).(pulumi.StringOutput) +} + +// The snapshot UUID. +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsVolumeSnapshot) string { return v.Id }).(pulumi.StringOutput) +} + +// The volume snapshot name. +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsVolumeSnapshot) string { return v.Name }).(pulumi.StringOutput) +} + +// The size of the volume snapshot, in gibibytes (GiB). +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) Size() pulumi.Float64Output { + return o.ApplyT(func(v GetPiVolumeSnapshotsVolumeSnapshot) float64 { return v.Size }).(pulumi.Float64Output) +} + +// The status for the volume snapshot. +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsVolumeSnapshot) string { return v.Status }).(pulumi.StringOutput) +} + +// The date and time when the volume snapshot was last updated. +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) UpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsVolumeSnapshot) string { return v.UpdatedDate }).(pulumi.StringOutput) +} + +// The volume UUID associated with the snapshot. +func (o GetPiVolumeSnapshotsVolumeSnapshotOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumeSnapshotsVolumeSnapshot) string { return v.VolumeId }).(pulumi.StringOutput) +} + +type GetPiVolumeSnapshotsVolumeSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumeSnapshotsVolumeSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumeSnapshotsVolumeSnapshot)(nil)).Elem() +} + +func (o GetPiVolumeSnapshotsVolumeSnapshotArrayOutput) ToGetPiVolumeSnapshotsVolumeSnapshotArrayOutput() GetPiVolumeSnapshotsVolumeSnapshotArrayOutput { + return o +} + +func (o GetPiVolumeSnapshotsVolumeSnapshotArrayOutput) ToGetPiVolumeSnapshotsVolumeSnapshotArrayOutputWithContext(ctx context.Context) GetPiVolumeSnapshotsVolumeSnapshotArrayOutput { + return o +} + +func (o GetPiVolumeSnapshotsVolumeSnapshotArrayOutput) Index(i pulumi.IntInput) GetPiVolumeSnapshotsVolumeSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumeSnapshotsVolumeSnapshot { + return vs[0].([]GetPiVolumeSnapshotsVolumeSnapshot)[vs[1].(int)] + }).(GetPiVolumeSnapshotsVolumeSnapshotOutput) +} + +type GetPiVolumesVolume struct { + // Indicates if the volume is auxiliary or not. + Auxiliary bool `pulumi:"auxiliary"` + // The auxiliary volume name. + AuxiliaryVolumeName string `pulumi:"auxiliaryVolumeName"` + // Indicates if the volume is boot capable. + Bootable bool `pulumi:"bootable"` + // Consistency group name if volume is a part of volume group. + ConsistencyGroupName string `pulumi:"consistencyGroupName"` + // Date volume was created. + CreationDate string `pulumi:"creationDate"` + // The CRN of this resource. + Crn string `pulumi:"crn"` + // The disk type that is used for the volume. + DiskType string `pulumi:"diskType"` + // The freeze time of remote copy. + FreezeTime string `pulumi:"freezeTime"` + // The volume group id in which the volume belongs. + GroupId string `pulumi:"groupId"` + // The unique identifier of the volume. + Id string `pulumi:"id"` + // Amount of iops assigned to the volume + IoThrottleRate string `pulumi:"ioThrottleRate"` + // The last updated date of the volume. + LastUpdateDate string `pulumi:"lastUpdateDate"` + // The master volume name. + MasterVolumeName string `pulumi:"masterVolumeName"` + // Mirroring state for replication enabled volume. + MirroringState string `pulumi:"mirroringState"` + // The name of the volume. + Name string `pulumi:"name"` + // Indicates if the volume does not exist on storage controller. + OutOfBandDeleted bool `pulumi:"outOfBandDeleted"` + // Indicates whether master/auxiliary volume is playing the primary role. + PrimaryRole string `pulumi:"primaryRole"` + // Indicates if the volume should be replication enabled or not. + ReplicationEnabled bool `pulumi:"replicationEnabled"` + // List of replication sites for volume replication. + ReplicationSites []string `pulumi:"replicationSites"` + // The replication status of the volume. + ReplicationStatus string `pulumi:"replicationStatus"` + // The replication type of the volume, metro or global. + ReplicationType string `pulumi:"replicationType"` + // Indicates if the volume is shareable between VMs. + Shreable bool `pulumi:"shreable"` + // The size of the volume in GB. + Size int `pulumi:"size"` + // The state of the volume. + State string `pulumi:"state"` + // List of user tags attached to the resource. + UserTags []string `pulumi:"userTags"` + // The name of storage pool where the volume is located. + VolumePool string `pulumi:"volumePool"` + // The name of storage template used to create the volume. + VolumeType string `pulumi:"volumeType"` + // The world wide name of the volume. + Wwn string `pulumi:"wwn"` +} + +// GetPiVolumesVolumeInput is an input type that accepts GetPiVolumesVolumeArgs and GetPiVolumesVolumeOutput values. +// You can construct a concrete instance of `GetPiVolumesVolumeInput` via: +// +// GetPiVolumesVolumeArgs{...} +type GetPiVolumesVolumeInput interface { + pulumi.Input + + ToGetPiVolumesVolumeOutput() GetPiVolumesVolumeOutput + ToGetPiVolumesVolumeOutputWithContext(context.Context) GetPiVolumesVolumeOutput +} + +type GetPiVolumesVolumeArgs struct { + // Indicates if the volume is auxiliary or not. + Auxiliary pulumi.BoolInput `pulumi:"auxiliary"` + // The auxiliary volume name. + AuxiliaryVolumeName pulumi.StringInput `pulumi:"auxiliaryVolumeName"` + // Indicates if the volume is boot capable. + Bootable pulumi.BoolInput `pulumi:"bootable"` + // Consistency group name if volume is a part of volume group. + ConsistencyGroupName pulumi.StringInput `pulumi:"consistencyGroupName"` + // Date volume was created. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The CRN of this resource. + Crn pulumi.StringInput `pulumi:"crn"` + // The disk type that is used for the volume. + DiskType pulumi.StringInput `pulumi:"diskType"` + // The freeze time of remote copy. + FreezeTime pulumi.StringInput `pulumi:"freezeTime"` + // The volume group id in which the volume belongs. + GroupId pulumi.StringInput `pulumi:"groupId"` + // The unique identifier of the volume. + Id pulumi.StringInput `pulumi:"id"` + // Amount of iops assigned to the volume + IoThrottleRate pulumi.StringInput `pulumi:"ioThrottleRate"` + // The last updated date of the volume. + LastUpdateDate pulumi.StringInput `pulumi:"lastUpdateDate"` + // The master volume name. + MasterVolumeName pulumi.StringInput `pulumi:"masterVolumeName"` + // Mirroring state for replication enabled volume. + MirroringState pulumi.StringInput `pulumi:"mirroringState"` + // The name of the volume. + Name pulumi.StringInput `pulumi:"name"` + // Indicates if the volume does not exist on storage controller. + OutOfBandDeleted pulumi.BoolInput `pulumi:"outOfBandDeleted"` + // Indicates whether master/auxiliary volume is playing the primary role. + PrimaryRole pulumi.StringInput `pulumi:"primaryRole"` + // Indicates if the volume should be replication enabled or not. + ReplicationEnabled pulumi.BoolInput `pulumi:"replicationEnabled"` + // List of replication sites for volume replication. + ReplicationSites pulumi.StringArrayInput `pulumi:"replicationSites"` + // The replication status of the volume. + ReplicationStatus pulumi.StringInput `pulumi:"replicationStatus"` + // The replication type of the volume, metro or global. + ReplicationType pulumi.StringInput `pulumi:"replicationType"` + // Indicates if the volume is shareable between VMs. + Shreable pulumi.BoolInput `pulumi:"shreable"` + // The size of the volume in GB. + Size pulumi.IntInput `pulumi:"size"` + // The state of the volume. + State pulumi.StringInput `pulumi:"state"` + // List of user tags attached to the resource. + UserTags pulumi.StringArrayInput `pulumi:"userTags"` + // The name of storage pool where the volume is located. + VolumePool pulumi.StringInput `pulumi:"volumePool"` + // The name of storage template used to create the volume. + VolumeType pulumi.StringInput `pulumi:"volumeType"` + // The world wide name of the volume. + Wwn pulumi.StringInput `pulumi:"wwn"` +} + +func (GetPiVolumesVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumesVolume)(nil)).Elem() +} + +func (i GetPiVolumesVolumeArgs) ToGetPiVolumesVolumeOutput() GetPiVolumesVolumeOutput { + return i.ToGetPiVolumesVolumeOutputWithContext(context.Background()) +} + +func (i GetPiVolumesVolumeArgs) ToGetPiVolumesVolumeOutputWithContext(ctx context.Context) GetPiVolumesVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumesVolumeOutput) +} + +// GetPiVolumesVolumeArrayInput is an input type that accepts GetPiVolumesVolumeArray and GetPiVolumesVolumeArrayOutput values. +// You can construct a concrete instance of `GetPiVolumesVolumeArrayInput` via: +// +// GetPiVolumesVolumeArray{ GetPiVolumesVolumeArgs{...} } +type GetPiVolumesVolumeArrayInput interface { + pulumi.Input + + ToGetPiVolumesVolumeArrayOutput() GetPiVolumesVolumeArrayOutput + ToGetPiVolumesVolumeArrayOutputWithContext(context.Context) GetPiVolumesVolumeArrayOutput +} + +type GetPiVolumesVolumeArray []GetPiVolumesVolumeInput + +func (GetPiVolumesVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumesVolume)(nil)).Elem() +} + +func (i GetPiVolumesVolumeArray) ToGetPiVolumesVolumeArrayOutput() GetPiVolumesVolumeArrayOutput { + return i.ToGetPiVolumesVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetPiVolumesVolumeArray) ToGetPiVolumesVolumeArrayOutputWithContext(ctx context.Context) GetPiVolumesVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiVolumesVolumeArrayOutput) +} + +type GetPiVolumesVolumeOutput struct{ *pulumi.OutputState } + +func (GetPiVolumesVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiVolumesVolume)(nil)).Elem() +} + +func (o GetPiVolumesVolumeOutput) ToGetPiVolumesVolumeOutput() GetPiVolumesVolumeOutput { + return o +} + +func (o GetPiVolumesVolumeOutput) ToGetPiVolumesVolumeOutputWithContext(ctx context.Context) GetPiVolumesVolumeOutput { + return o +} + +// Indicates if the volume is auxiliary or not. +func (o GetPiVolumesVolumeOutput) Auxiliary() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiVolumesVolume) bool { return v.Auxiliary }).(pulumi.BoolOutput) +} + +// The auxiliary volume name. +func (o GetPiVolumesVolumeOutput) AuxiliaryVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.AuxiliaryVolumeName }).(pulumi.StringOutput) +} + +// Indicates if the volume is boot capable. +func (o GetPiVolumesVolumeOutput) Bootable() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiVolumesVolume) bool { return v.Bootable }).(pulumi.BoolOutput) +} + +// Consistency group name if volume is a part of volume group. +func (o GetPiVolumesVolumeOutput) ConsistencyGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.ConsistencyGroupName }).(pulumi.StringOutput) +} + +// Date volume was created. +func (o GetPiVolumesVolumeOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The CRN of this resource. +func (o GetPiVolumesVolumeOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.Crn }).(pulumi.StringOutput) +} + +// The disk type that is used for the volume. +func (o GetPiVolumesVolumeOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.DiskType }).(pulumi.StringOutput) +} + +// The freeze time of remote copy. +func (o GetPiVolumesVolumeOutput) FreezeTime() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.FreezeTime }).(pulumi.StringOutput) +} + +// The volume group id in which the volume belongs. +func (o GetPiVolumesVolumeOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.GroupId }).(pulumi.StringOutput) +} + +// The unique identifier of the volume. +func (o GetPiVolumesVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.Id }).(pulumi.StringOutput) +} + +// Amount of iops assigned to the volume +func (o GetPiVolumesVolumeOutput) IoThrottleRate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.IoThrottleRate }).(pulumi.StringOutput) +} + +// The last updated date of the volume. +func (o GetPiVolumesVolumeOutput) LastUpdateDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.LastUpdateDate }).(pulumi.StringOutput) +} + +// The master volume name. +func (o GetPiVolumesVolumeOutput) MasterVolumeName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.MasterVolumeName }).(pulumi.StringOutput) +} + +// Mirroring state for replication enabled volume. +func (o GetPiVolumesVolumeOutput) MirroringState() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.MirroringState }).(pulumi.StringOutput) +} + +// The name of the volume. +func (o GetPiVolumesVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates if the volume does not exist on storage controller. +func (o GetPiVolumesVolumeOutput) OutOfBandDeleted() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiVolumesVolume) bool { return v.OutOfBandDeleted }).(pulumi.BoolOutput) +} + +// Indicates whether master/auxiliary volume is playing the primary role. +func (o GetPiVolumesVolumeOutput) PrimaryRole() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.PrimaryRole }).(pulumi.StringOutput) +} + +// Indicates if the volume should be replication enabled or not. +func (o GetPiVolumesVolumeOutput) ReplicationEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiVolumesVolume) bool { return v.ReplicationEnabled }).(pulumi.BoolOutput) +} + +// List of replication sites for volume replication. +func (o GetPiVolumesVolumeOutput) ReplicationSites() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumesVolume) []string { return v.ReplicationSites }).(pulumi.StringArrayOutput) +} + +// The replication status of the volume. +func (o GetPiVolumesVolumeOutput) ReplicationStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.ReplicationStatus }).(pulumi.StringOutput) +} + +// The replication type of the volume, metro or global. +func (o GetPiVolumesVolumeOutput) ReplicationType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.ReplicationType }).(pulumi.StringOutput) +} + +// Indicates if the volume is shareable between VMs. +func (o GetPiVolumesVolumeOutput) Shreable() pulumi.BoolOutput { + return o.ApplyT(func(v GetPiVolumesVolume) bool { return v.Shreable }).(pulumi.BoolOutput) +} + +// The size of the volume in GB. +func (o GetPiVolumesVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetPiVolumesVolume) int { return v.Size }).(pulumi.IntOutput) +} + +// The state of the volume. +func (o GetPiVolumesVolumeOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.State }).(pulumi.StringOutput) +} + +// List of user tags attached to the resource. +func (o GetPiVolumesVolumeOutput) UserTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPiVolumesVolume) []string { return v.UserTags }).(pulumi.StringArrayOutput) +} + +// The name of storage pool where the volume is located. +func (o GetPiVolumesVolumeOutput) VolumePool() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.VolumePool }).(pulumi.StringOutput) +} + +// The name of storage template used to create the volume. +func (o GetPiVolumesVolumeOutput) VolumeType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.VolumeType }).(pulumi.StringOutput) +} + +// The world wide name of the volume. +func (o GetPiVolumesVolumeOutput) Wwn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiVolumesVolume) string { return v.Wwn }).(pulumi.StringOutput) +} + +type GetPiVolumesVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetPiVolumesVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiVolumesVolume)(nil)).Elem() +} + +func (o GetPiVolumesVolumeArrayOutput) ToGetPiVolumesVolumeArrayOutput() GetPiVolumesVolumeArrayOutput { + return o +} + +func (o GetPiVolumesVolumeArrayOutput) ToGetPiVolumesVolumeArrayOutputWithContext(ctx context.Context) GetPiVolumesVolumeArrayOutput { + return o +} + +func (o GetPiVolumesVolumeArrayOutput) Index(i pulumi.IntInput) GetPiVolumesVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiVolumesVolume { + return vs[0].([]GetPiVolumesVolume)[vs[1].(int)] + }).(GetPiVolumesVolumeOutput) +} + +type GetPiWorkspacePiWorkspaceDetail struct { + // Workspace creation date. + CreationDate string `pulumi:"creationDate"` + // The Workspace crn. + Crn string `pulumi:"crn"` + // Network security groups configuration. + NetworkSecurityGroups []GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup `pulumi:"networkSecurityGroups"` + PowerEdgeRouters []GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter `pulumi:"powerEdgeRouters"` +} + +// GetPiWorkspacePiWorkspaceDetailInput is an input type that accepts GetPiWorkspacePiWorkspaceDetailArgs and GetPiWorkspacePiWorkspaceDetailOutput values. +// You can construct a concrete instance of `GetPiWorkspacePiWorkspaceDetailInput` via: +// +// GetPiWorkspacePiWorkspaceDetailArgs{...} +type GetPiWorkspacePiWorkspaceDetailInput interface { + pulumi.Input + + ToGetPiWorkspacePiWorkspaceDetailOutput() GetPiWorkspacePiWorkspaceDetailOutput + ToGetPiWorkspacePiWorkspaceDetailOutputWithContext(context.Context) GetPiWorkspacePiWorkspaceDetailOutput +} + +type GetPiWorkspacePiWorkspaceDetailArgs struct { + // Workspace creation date. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The Workspace crn. + Crn pulumi.StringInput `pulumi:"crn"` + // Network security groups configuration. + NetworkSecurityGroups GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput `pulumi:"networkSecurityGroups"` + PowerEdgeRouters GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput `pulumi:"powerEdgeRouters"` +} + +func (GetPiWorkspacePiWorkspaceDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetail)(nil)).Elem() +} + +func (i GetPiWorkspacePiWorkspaceDetailArgs) ToGetPiWorkspacePiWorkspaceDetailOutput() GetPiWorkspacePiWorkspaceDetailOutput { + return i.ToGetPiWorkspacePiWorkspaceDetailOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacePiWorkspaceDetailArgs) ToGetPiWorkspacePiWorkspaceDetailOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacePiWorkspaceDetailOutput) +} + +// GetPiWorkspacePiWorkspaceDetailArrayInput is an input type that accepts GetPiWorkspacePiWorkspaceDetailArray and GetPiWorkspacePiWorkspaceDetailArrayOutput values. +// You can construct a concrete instance of `GetPiWorkspacePiWorkspaceDetailArrayInput` via: +// +// GetPiWorkspacePiWorkspaceDetailArray{ GetPiWorkspacePiWorkspaceDetailArgs{...} } +type GetPiWorkspacePiWorkspaceDetailArrayInput interface { + pulumi.Input + + ToGetPiWorkspacePiWorkspaceDetailArrayOutput() GetPiWorkspacePiWorkspaceDetailArrayOutput + ToGetPiWorkspacePiWorkspaceDetailArrayOutputWithContext(context.Context) GetPiWorkspacePiWorkspaceDetailArrayOutput +} + +type GetPiWorkspacePiWorkspaceDetailArray []GetPiWorkspacePiWorkspaceDetailInput + +func (GetPiWorkspacePiWorkspaceDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacePiWorkspaceDetail)(nil)).Elem() +} + +func (i GetPiWorkspacePiWorkspaceDetailArray) ToGetPiWorkspacePiWorkspaceDetailArrayOutput() GetPiWorkspacePiWorkspaceDetailArrayOutput { + return i.ToGetPiWorkspacePiWorkspaceDetailArrayOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacePiWorkspaceDetailArray) ToGetPiWorkspacePiWorkspaceDetailArrayOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacePiWorkspaceDetailArrayOutput) +} + +type GetPiWorkspacePiWorkspaceDetailOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacePiWorkspaceDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetail)(nil)).Elem() +} + +func (o GetPiWorkspacePiWorkspaceDetailOutput) ToGetPiWorkspacePiWorkspaceDetailOutput() GetPiWorkspacePiWorkspaceDetailOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailOutput) ToGetPiWorkspacePiWorkspaceDetailOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailOutput { + return o +} + +// Workspace creation date. +func (o GetPiWorkspacePiWorkspaceDetailOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacePiWorkspaceDetail) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The Workspace crn. +func (o GetPiWorkspacePiWorkspaceDetailOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacePiWorkspaceDetail) string { return v.Crn }).(pulumi.StringOutput) +} + +// Network security groups configuration. +func (o GetPiWorkspacePiWorkspaceDetailOutput) NetworkSecurityGroups() GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return o.ApplyT(func(v GetPiWorkspacePiWorkspaceDetail) []GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup { + return v.NetworkSecurityGroups + }).(GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) +} + +func (o GetPiWorkspacePiWorkspaceDetailOutput) PowerEdgeRouters() GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return o.ApplyT(func(v GetPiWorkspacePiWorkspaceDetail) []GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter { + return v.PowerEdgeRouters + }).(GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) +} + +type GetPiWorkspacePiWorkspaceDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacePiWorkspaceDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacePiWorkspaceDetail)(nil)).Elem() +} + +func (o GetPiWorkspacePiWorkspaceDetailArrayOutput) ToGetPiWorkspacePiWorkspaceDetailArrayOutput() GetPiWorkspacePiWorkspaceDetailArrayOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailArrayOutput) ToGetPiWorkspacePiWorkspaceDetailArrayOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailArrayOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailArrayOutput) Index(i pulumi.IntInput) GetPiWorkspacePiWorkspaceDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiWorkspacePiWorkspaceDetail { + return vs[0].([]GetPiWorkspacePiWorkspaceDetail)[vs[1].(int)] + }).(GetPiWorkspacePiWorkspaceDetailOutput) +} + +type GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup struct { + // The state of a Network Security Groups configuration. + State string `pulumi:"state"` +} + +// GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupInput is an input type that accepts GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs and GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput values. +// You can construct a concrete instance of `GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupInput` via: +// +// GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs{...} +type GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupInput interface { + pulumi.Input + + ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput() GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput + ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutputWithContext(context.Context) GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput +} + +type GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs struct { + // The state of a Network Security Groups configuration. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup)(nil)).Elem() +} + +func (i GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs) ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput() GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return i.ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs) ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) +} + +// GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput is an input type that accepts GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArray and GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput` via: +// +// GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArray{ GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs{...} } +type GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput interface { + pulumi.Input + + ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput() GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput + ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutputWithContext(context.Context) GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput +} + +type GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArray []GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupInput + +func (GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup)(nil)).Elem() +} + +func (i GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArray) ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput() GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return i.ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArray) ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) +} + +type GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup)(nil)).Elem() +} + +func (o GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput() GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return o +} + +// The state of a Network Security Groups configuration. +func (o GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup) string { return v.State }).(pulumi.StringOutput) +} + +type GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup)(nil)).Elem() +} + +func (o GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput() GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) ToGetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup { + return vs[0].([]GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroup)[vs[1].(int)] + }).(GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) +} + +type GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter struct { + // The migration status of a Power Edge Router. + MigrationStatus string `pulumi:"migrationStatus"` + // The state of a Power Edge Router. + State string `pulumi:"state"` + // The Power Edge Router type. + Type string `pulumi:"type"` +} + +// GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterInput is an input type that accepts GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArgs and GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput values. +// You can construct a concrete instance of `GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterInput` via: +// +// GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArgs{...} +type GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterInput interface { + pulumi.Input + + ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput() GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput + ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutputWithContext(context.Context) GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput +} + +type GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArgs struct { + // The migration status of a Power Edge Router. + MigrationStatus pulumi.StringInput `pulumi:"migrationStatus"` + // The state of a Power Edge Router. + State pulumi.StringInput `pulumi:"state"` + // The Power Edge Router type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter)(nil)).Elem() +} + +func (i GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArgs) ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput() GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return i.ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArgs) ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) +} + +// GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput is an input type that accepts GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArray and GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput values. +// You can construct a concrete instance of `GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput` via: +// +// GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArray{ GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArgs{...} } +type GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput interface { + pulumi.Input + + ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput() GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput + ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutputWithContext(context.Context) GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput +} + +type GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArray []GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterInput + +func (GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter)(nil)).Elem() +} + +func (i GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArray) ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput() GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return i.ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArray) ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) +} + +type GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter)(nil)).Elem() +} + +func (o GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput() GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return o +} + +// The migration status of a Power Edge Router. +func (o GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) MigrationStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter) string { return v.MigrationStatus }).(pulumi.StringOutput) +} + +// The state of a Power Edge Router. +func (o GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter) string { return v.State }).(pulumi.StringOutput) +} + +// The Power Edge Router type. +func (o GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter)(nil)).Elem() +} + +func (o GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput() GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) ToGetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutputWithContext(ctx context.Context) GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return o +} + +func (o GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) Index(i pulumi.IntInput) GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter { + return vs[0].([]GetPiWorkspacePiWorkspaceDetailPowerEdgeRouter)[vs[1].(int)] + }).(GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) +} + +type GetPiWorkspacesWorkspace struct { + // Workspace Capabilities. + PiWorkspaceCapabilities map[string]bool `pulumi:"piWorkspaceCapabilities"` + PiWorkspaceDetails []GetPiWorkspacesWorkspacePiWorkspaceDetail `pulumi:"piWorkspaceDetails"` + // Workspace ID. + PiWorkspaceId string `pulumi:"piWorkspaceId"` + // Workspace location. + PiWorkspaceLocation map[string]string `pulumi:"piWorkspaceLocation"` + // Workspace name. + PiWorkspaceName string `pulumi:"piWorkspaceName"` + // Workspace status, active, critical, failed, provisioning. + PiWorkspaceStatus string `pulumi:"piWorkspaceStatus"` + // Workspace type, off-premises or on-premises. + PiWorkspaceType string `pulumi:"piWorkspaceType"` +} + +// GetPiWorkspacesWorkspaceInput is an input type that accepts GetPiWorkspacesWorkspaceArgs and GetPiWorkspacesWorkspaceOutput values. +// You can construct a concrete instance of `GetPiWorkspacesWorkspaceInput` via: +// +// GetPiWorkspacesWorkspaceArgs{...} +type GetPiWorkspacesWorkspaceInput interface { + pulumi.Input + + ToGetPiWorkspacesWorkspaceOutput() GetPiWorkspacesWorkspaceOutput + ToGetPiWorkspacesWorkspaceOutputWithContext(context.Context) GetPiWorkspacesWorkspaceOutput +} + +type GetPiWorkspacesWorkspaceArgs struct { + // Workspace Capabilities. + PiWorkspaceCapabilities pulumi.BoolMapInput `pulumi:"piWorkspaceCapabilities"` + PiWorkspaceDetails GetPiWorkspacesWorkspacePiWorkspaceDetailArrayInput `pulumi:"piWorkspaceDetails"` + // Workspace ID. + PiWorkspaceId pulumi.StringInput `pulumi:"piWorkspaceId"` + // Workspace location. + PiWorkspaceLocation pulumi.StringMapInput `pulumi:"piWorkspaceLocation"` + // Workspace name. + PiWorkspaceName pulumi.StringInput `pulumi:"piWorkspaceName"` + // Workspace status, active, critical, failed, provisioning. + PiWorkspaceStatus pulumi.StringInput `pulumi:"piWorkspaceStatus"` + // Workspace type, off-premises or on-premises. + PiWorkspaceType pulumi.StringInput `pulumi:"piWorkspaceType"` +} + +func (GetPiWorkspacesWorkspaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesWorkspace)(nil)).Elem() +} + +func (i GetPiWorkspacesWorkspaceArgs) ToGetPiWorkspacesWorkspaceOutput() GetPiWorkspacesWorkspaceOutput { + return i.ToGetPiWorkspacesWorkspaceOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacesWorkspaceArgs) ToGetPiWorkspacesWorkspaceOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacesWorkspaceOutput) +} + +// GetPiWorkspacesWorkspaceArrayInput is an input type that accepts GetPiWorkspacesWorkspaceArray and GetPiWorkspacesWorkspaceArrayOutput values. +// You can construct a concrete instance of `GetPiWorkspacesWorkspaceArrayInput` via: +// +// GetPiWorkspacesWorkspaceArray{ GetPiWorkspacesWorkspaceArgs{...} } +type GetPiWorkspacesWorkspaceArrayInput interface { + pulumi.Input + + ToGetPiWorkspacesWorkspaceArrayOutput() GetPiWorkspacesWorkspaceArrayOutput + ToGetPiWorkspacesWorkspaceArrayOutputWithContext(context.Context) GetPiWorkspacesWorkspaceArrayOutput +} + +type GetPiWorkspacesWorkspaceArray []GetPiWorkspacesWorkspaceInput + +func (GetPiWorkspacesWorkspaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacesWorkspace)(nil)).Elem() +} + +func (i GetPiWorkspacesWorkspaceArray) ToGetPiWorkspacesWorkspaceArrayOutput() GetPiWorkspacesWorkspaceArrayOutput { + return i.ToGetPiWorkspacesWorkspaceArrayOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacesWorkspaceArray) ToGetPiWorkspacesWorkspaceArrayOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacesWorkspaceArrayOutput) +} + +type GetPiWorkspacesWorkspaceOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesWorkspaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesWorkspace)(nil)).Elem() +} + +func (o GetPiWorkspacesWorkspaceOutput) ToGetPiWorkspacesWorkspaceOutput() GetPiWorkspacesWorkspaceOutput { + return o +} + +func (o GetPiWorkspacesWorkspaceOutput) ToGetPiWorkspacesWorkspaceOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspaceOutput { + return o +} + +// Workspace Capabilities. +func (o GetPiWorkspacesWorkspaceOutput) PiWorkspaceCapabilities() pulumi.BoolMapOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspace) map[string]bool { return v.PiWorkspaceCapabilities }).(pulumi.BoolMapOutput) +} + +func (o GetPiWorkspacesWorkspaceOutput) PiWorkspaceDetails() GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspace) []GetPiWorkspacesWorkspacePiWorkspaceDetail { + return v.PiWorkspaceDetails + }).(GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput) +} + +// Workspace ID. +func (o GetPiWorkspacesWorkspaceOutput) PiWorkspaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspace) string { return v.PiWorkspaceId }).(pulumi.StringOutput) +} + +// Workspace location. +func (o GetPiWorkspacesWorkspaceOutput) PiWorkspaceLocation() pulumi.StringMapOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspace) map[string]string { return v.PiWorkspaceLocation }).(pulumi.StringMapOutput) +} + +// Workspace name. +func (o GetPiWorkspacesWorkspaceOutput) PiWorkspaceName() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspace) string { return v.PiWorkspaceName }).(pulumi.StringOutput) +} + +// Workspace status, active, critical, failed, provisioning. +func (o GetPiWorkspacesWorkspaceOutput) PiWorkspaceStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspace) string { return v.PiWorkspaceStatus }).(pulumi.StringOutput) +} + +// Workspace type, off-premises or on-premises. +func (o GetPiWorkspacesWorkspaceOutput) PiWorkspaceType() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspace) string { return v.PiWorkspaceType }).(pulumi.StringOutput) +} + +type GetPiWorkspacesWorkspaceArrayOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesWorkspaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacesWorkspace)(nil)).Elem() +} + +func (o GetPiWorkspacesWorkspaceArrayOutput) ToGetPiWorkspacesWorkspaceArrayOutput() GetPiWorkspacesWorkspaceArrayOutput { + return o +} + +func (o GetPiWorkspacesWorkspaceArrayOutput) ToGetPiWorkspacesWorkspaceArrayOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspaceArrayOutput { + return o +} + +func (o GetPiWorkspacesWorkspaceArrayOutput) Index(i pulumi.IntInput) GetPiWorkspacesWorkspaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiWorkspacesWorkspace { + return vs[0].([]GetPiWorkspacesWorkspace)[vs[1].(int)] + }).(GetPiWorkspacesWorkspaceOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetail struct { + // Workspace creation date. + CreationDate string `pulumi:"creationDate"` + // The Workspace crn. + Crn string `pulumi:"crn"` + // Network security groups configuration. + NetworkSecurityGroups []GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup `pulumi:"networkSecurityGroups"` + PowerEdgeRouters []GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter `pulumi:"powerEdgeRouters"` +} + +// GetPiWorkspacesWorkspacePiWorkspaceDetailInput is an input type that accepts GetPiWorkspacesWorkspacePiWorkspaceDetailArgs and GetPiWorkspacesWorkspacePiWorkspaceDetailOutput values. +// You can construct a concrete instance of `GetPiWorkspacesWorkspacePiWorkspaceDetailInput` via: +// +// GetPiWorkspacesWorkspacePiWorkspaceDetailArgs{...} +type GetPiWorkspacesWorkspacePiWorkspaceDetailInput interface { + pulumi.Input + + ToGetPiWorkspacesWorkspacePiWorkspaceDetailOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailOutput + ToGetPiWorkspacesWorkspacePiWorkspaceDetailOutputWithContext(context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailOutput +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailArgs struct { + // Workspace creation date. + CreationDate pulumi.StringInput `pulumi:"creationDate"` + // The Workspace crn. + Crn pulumi.StringInput `pulumi:"crn"` + // Network security groups configuration. + NetworkSecurityGroups GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput `pulumi:"networkSecurityGroups"` + PowerEdgeRouters GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput `pulumi:"powerEdgeRouters"` +} + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetail)(nil)).Elem() +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailArgs) ToGetPiWorkspacesWorkspacePiWorkspaceDetailOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailOutput { + return i.ToGetPiWorkspacesWorkspacePiWorkspaceDetailOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailArgs) ToGetPiWorkspacesWorkspacePiWorkspaceDetailOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) +} + +// GetPiWorkspacesWorkspacePiWorkspaceDetailArrayInput is an input type that accepts GetPiWorkspacesWorkspacePiWorkspaceDetailArray and GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput values. +// You can construct a concrete instance of `GetPiWorkspacesWorkspacePiWorkspaceDetailArrayInput` via: +// +// GetPiWorkspacesWorkspacePiWorkspaceDetailArray{ GetPiWorkspacesWorkspacePiWorkspaceDetailArgs{...} } +type GetPiWorkspacesWorkspacePiWorkspaceDetailArrayInput interface { + pulumi.Input + + ToGetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput + ToGetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutputWithContext(context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailArray []GetPiWorkspacesWorkspacePiWorkspaceDetailInput + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacesWorkspacePiWorkspaceDetail)(nil)).Elem() +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailArray) ToGetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput { + return i.ToGetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailArray) ToGetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetail)(nil)).Elem() +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailOutput { + return o +} + +// Workspace creation date. +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspacePiWorkspaceDetail) string { return v.CreationDate }).(pulumi.StringOutput) +} + +// The Workspace crn. +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspacePiWorkspaceDetail) string { return v.Crn }).(pulumi.StringOutput) +} + +// Network security groups configuration. +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) NetworkSecurityGroups() GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspacePiWorkspaceDetail) []GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup { + return v.NetworkSecurityGroups + }).(GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) PowerEdgeRouters() GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspacePiWorkspaceDetail) []GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter { + return v.PowerEdgeRouters + }).(GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacesWorkspacePiWorkspaceDetail)(nil)).Elem() +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput) Index(i pulumi.IntInput) GetPiWorkspacesWorkspacePiWorkspaceDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiWorkspacesWorkspacePiWorkspaceDetail { + return vs[0].([]GetPiWorkspacesWorkspacePiWorkspaceDetail)[vs[1].(int)] + }).(GetPiWorkspacesWorkspacePiWorkspaceDetailOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup struct { + // The state of a Network Security Groups configuration. + State string `pulumi:"state"` +} + +// GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupInput is an input type that accepts GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs and GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput values. +// You can construct a concrete instance of `GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupInput` via: +// +// GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs{...} +type GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupInput interface { + pulumi.Input + + ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput + ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutputWithContext(context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs struct { + // The state of a Network Security Groups configuration. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup)(nil)).Elem() +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs) ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return i.ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs) ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) +} + +// GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput is an input type that accepts GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArray and GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput values. +// You can construct a concrete instance of `GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput` via: +// +// GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArray{ GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs{...} } +type GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput interface { + pulumi.Input + + ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput + ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutputWithContext(context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArray []GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupInput + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup)(nil)).Elem() +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArray) ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return i.ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArray) ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup)(nil)).Elem() +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return o +} + +// The state of a Network Security Groups configuration. +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup) string { return v.State }).(pulumi.StringOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup)(nil)).Elem() +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput) Index(i pulumi.IntInput) GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup { + return vs[0].([]GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroup)[vs[1].(int)] + }).(GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter struct { + // The migration status of a Power Edge Router. + MigrationStatus string `pulumi:"migrationStatus"` + // The state of a Power Edge Router. + State string `pulumi:"state"` + // The Power Edge Router type. + Type string `pulumi:"type"` +} + +// GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterInput is an input type that accepts GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArgs and GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput values. +// You can construct a concrete instance of `GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterInput` via: +// +// GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArgs{...} +type GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterInput interface { + pulumi.Input + + ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput + ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutputWithContext(context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArgs struct { + // The migration status of a Power Edge Router. + MigrationStatus pulumi.StringInput `pulumi:"migrationStatus"` + // The state of a Power Edge Router. + State pulumi.StringInput `pulumi:"state"` + // The Power Edge Router type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter)(nil)).Elem() +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArgs) ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return i.ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArgs) ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) +} + +// GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput is an input type that accepts GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArray and GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput values. +// You can construct a concrete instance of `GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput` via: +// +// GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArray{ GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArgs{...} } +type GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput interface { + pulumi.Input + + ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput + ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutputWithContext(context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArray []GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterInput + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter)(nil)).Elem() +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArray) ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return i.ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutputWithContext(context.Background()) +} + +func (i GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArray) ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter)(nil)).Elem() +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return o +} + +// The migration status of a Power Edge Router. +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) MigrationStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter) string { return v.MigrationStatus }).(pulumi.StringOutput) +} + +// The state of a Power Edge Router. +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter) string { return v.State }).(pulumi.StringOutput) +} + +// The Power Edge Router type. +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter) string { return v.Type }).(pulumi.StringOutput) +} + +type GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput struct{ *pulumi.OutputState } + +func (GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter)(nil)).Elem() +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput() GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) ToGetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutputWithContext(ctx context.Context) GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput { + return o +} + +func (o GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput) Index(i pulumi.IntInput) GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter { + return vs[0].([]GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouter)[vs[1].(int)] + }).(GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput) +} + +type GetTgConnectionPrefixFiltersPrefixFilter struct { + // Whether to permit or deny the prefix filter + Action string `pulumi:"action"` + // Identifier of prefix filter that handles ordering + Before string `pulumi:"before"` + // The date and time that this prefix filter was created + CreatedAt string `pulumi:"createdAt"` + // IP Prefix GE + Ge int `pulumi:"ge"` + Id string `pulumi:"id"` + // IP Prefix LE + Le int `pulumi:"le"` + // IP Prefix + Prefix string `pulumi:"prefix"` + // The date and time that this prefix filter was last updated + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetTgConnectionPrefixFiltersPrefixFilterInput is an input type that accepts GetTgConnectionPrefixFiltersPrefixFilterArgs and GetTgConnectionPrefixFiltersPrefixFilterOutput values. +// You can construct a concrete instance of `GetTgConnectionPrefixFiltersPrefixFilterInput` via: +// +// GetTgConnectionPrefixFiltersPrefixFilterArgs{...} +type GetTgConnectionPrefixFiltersPrefixFilterInput interface { + pulumi.Input + + ToGetTgConnectionPrefixFiltersPrefixFilterOutput() GetTgConnectionPrefixFiltersPrefixFilterOutput + ToGetTgConnectionPrefixFiltersPrefixFilterOutputWithContext(context.Context) GetTgConnectionPrefixFiltersPrefixFilterOutput +} + +type GetTgConnectionPrefixFiltersPrefixFilterArgs struct { + // Whether to permit or deny the prefix filter + Action pulumi.StringInput `pulumi:"action"` + // Identifier of prefix filter that handles ordering + Before pulumi.StringInput `pulumi:"before"` + // The date and time that this prefix filter was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // IP Prefix GE + Ge pulumi.IntInput `pulumi:"ge"` + Id pulumi.StringInput `pulumi:"id"` + // IP Prefix LE + Le pulumi.IntInput `pulumi:"le"` + // IP Prefix + Prefix pulumi.StringInput `pulumi:"prefix"` + // The date and time that this prefix filter was last updated + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetTgConnectionPrefixFiltersPrefixFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgConnectionPrefixFiltersPrefixFilter)(nil)).Elem() +} + +func (i GetTgConnectionPrefixFiltersPrefixFilterArgs) ToGetTgConnectionPrefixFiltersPrefixFilterOutput() GetTgConnectionPrefixFiltersPrefixFilterOutput { + return i.ToGetTgConnectionPrefixFiltersPrefixFilterOutputWithContext(context.Background()) +} + +func (i GetTgConnectionPrefixFiltersPrefixFilterArgs) ToGetTgConnectionPrefixFiltersPrefixFilterOutputWithContext(ctx context.Context) GetTgConnectionPrefixFiltersPrefixFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgConnectionPrefixFiltersPrefixFilterOutput) +} + +// GetTgConnectionPrefixFiltersPrefixFilterArrayInput is an input type that accepts GetTgConnectionPrefixFiltersPrefixFilterArray and GetTgConnectionPrefixFiltersPrefixFilterArrayOutput values. +// You can construct a concrete instance of `GetTgConnectionPrefixFiltersPrefixFilterArrayInput` via: +// +// GetTgConnectionPrefixFiltersPrefixFilterArray{ GetTgConnectionPrefixFiltersPrefixFilterArgs{...} } +type GetTgConnectionPrefixFiltersPrefixFilterArrayInput interface { + pulumi.Input + + ToGetTgConnectionPrefixFiltersPrefixFilterArrayOutput() GetTgConnectionPrefixFiltersPrefixFilterArrayOutput + ToGetTgConnectionPrefixFiltersPrefixFilterArrayOutputWithContext(context.Context) GetTgConnectionPrefixFiltersPrefixFilterArrayOutput +} + +type GetTgConnectionPrefixFiltersPrefixFilterArray []GetTgConnectionPrefixFiltersPrefixFilterInput + +func (GetTgConnectionPrefixFiltersPrefixFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgConnectionPrefixFiltersPrefixFilter)(nil)).Elem() +} + +func (i GetTgConnectionPrefixFiltersPrefixFilterArray) ToGetTgConnectionPrefixFiltersPrefixFilterArrayOutput() GetTgConnectionPrefixFiltersPrefixFilterArrayOutput { + return i.ToGetTgConnectionPrefixFiltersPrefixFilterArrayOutputWithContext(context.Background()) +} + +func (i GetTgConnectionPrefixFiltersPrefixFilterArray) ToGetTgConnectionPrefixFiltersPrefixFilterArrayOutputWithContext(ctx context.Context) GetTgConnectionPrefixFiltersPrefixFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgConnectionPrefixFiltersPrefixFilterArrayOutput) +} + +type GetTgConnectionPrefixFiltersPrefixFilterOutput struct{ *pulumi.OutputState } + +func (GetTgConnectionPrefixFiltersPrefixFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgConnectionPrefixFiltersPrefixFilter)(nil)).Elem() +} + +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) ToGetTgConnectionPrefixFiltersPrefixFilterOutput() GetTgConnectionPrefixFiltersPrefixFilterOutput { + return o +} + +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) ToGetTgConnectionPrefixFiltersPrefixFilterOutputWithContext(ctx context.Context) GetTgConnectionPrefixFiltersPrefixFilterOutput { + return o +} + +// Whether to permit or deny the prefix filter +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersPrefixFilter) string { return v.Action }).(pulumi.StringOutput) +} + +// Identifier of prefix filter that handles ordering +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) Before() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersPrefixFilter) string { return v.Before }).(pulumi.StringOutput) +} + +// The date and time that this prefix filter was created +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersPrefixFilter) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// IP Prefix GE +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) Ge() pulumi.IntOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersPrefixFilter) int { return v.Ge }).(pulumi.IntOutput) +} + +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersPrefixFilter) string { return v.Id }).(pulumi.StringOutput) +} + +// IP Prefix LE +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) Le() pulumi.IntOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersPrefixFilter) int { return v.Le }).(pulumi.IntOutput) +} + +// IP Prefix +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersPrefixFilter) string { return v.Prefix }).(pulumi.StringOutput) +} + +// The date and time that this prefix filter was last updated +func (o GetTgConnectionPrefixFiltersPrefixFilterOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgConnectionPrefixFiltersPrefixFilter) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type GetTgConnectionPrefixFiltersPrefixFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetTgConnectionPrefixFiltersPrefixFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgConnectionPrefixFiltersPrefixFilter)(nil)).Elem() +} + +func (o GetTgConnectionPrefixFiltersPrefixFilterArrayOutput) ToGetTgConnectionPrefixFiltersPrefixFilterArrayOutput() GetTgConnectionPrefixFiltersPrefixFilterArrayOutput { + return o +} + +func (o GetTgConnectionPrefixFiltersPrefixFilterArrayOutput) ToGetTgConnectionPrefixFiltersPrefixFilterArrayOutputWithContext(ctx context.Context) GetTgConnectionPrefixFiltersPrefixFilterArrayOutput { + return o +} + +func (o GetTgConnectionPrefixFiltersPrefixFilterArrayOutput) Index(i pulumi.IntInput) GetTgConnectionPrefixFiltersPrefixFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgConnectionPrefixFiltersPrefixFilter { + return vs[0].([]GetTgConnectionPrefixFiltersPrefixFilter)[vs[1].(int)] + }).(GetTgConnectionPrefixFiltersPrefixFilterOutput) +} + +type GetTgGatewayConnection struct { + BaseConnectionId string `pulumi:"baseConnectionId"` + BaseNetworkType string `pulumi:"baseNetworkType"` + CreatedAt string `pulumi:"createdAt"` + // Whether to permit or deny the prefix filter + DefaultPrefixFilter string `pulumi:"defaultPrefixFilter"` + Id string `pulumi:"id"` + LocalBgpAsn int `pulumi:"localBgpAsn"` + LocalGatewayIp string `pulumi:"localGatewayIp"` + LocalTunnelIp string `pulumi:"localTunnelIp"` + Mtu int `pulumi:"mtu"` + Name string `pulumi:"name"` + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. + NetworkAccountId string `pulumi:"networkAccountId"` + NetworkId string `pulumi:"networkId"` + NetworkType string `pulumi:"networkType"` + RemoteBgpAsn int `pulumi:"remoteBgpAsn"` + RemoteGatewayIp string `pulumi:"remoteGatewayIp"` + RemoteTunnelIp string `pulumi:"remoteTunnelIp"` + Status string `pulumi:"status"` + // List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections + Tunnels []GetTgGatewayConnectionTunnel `pulumi:"tunnels"` + UpdatedAt string `pulumi:"updatedAt"` + Zone string `pulumi:"zone"` +} + +// GetTgGatewayConnectionInput is an input type that accepts GetTgGatewayConnectionArgs and GetTgGatewayConnectionOutput values. +// You can construct a concrete instance of `GetTgGatewayConnectionInput` via: +// +// GetTgGatewayConnectionArgs{...} +type GetTgGatewayConnectionInput interface { + pulumi.Input + + ToGetTgGatewayConnectionOutput() GetTgGatewayConnectionOutput + ToGetTgGatewayConnectionOutputWithContext(context.Context) GetTgGatewayConnectionOutput +} + +type GetTgGatewayConnectionArgs struct { + BaseConnectionId pulumi.StringInput `pulumi:"baseConnectionId"` + BaseNetworkType pulumi.StringInput `pulumi:"baseNetworkType"` + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Whether to permit or deny the prefix filter + DefaultPrefixFilter pulumi.StringInput `pulumi:"defaultPrefixFilter"` + Id pulumi.StringInput `pulumi:"id"` + LocalBgpAsn pulumi.IntInput `pulumi:"localBgpAsn"` + LocalGatewayIp pulumi.StringInput `pulumi:"localGatewayIp"` + LocalTunnelIp pulumi.StringInput `pulumi:"localTunnelIp"` + Mtu pulumi.IntInput `pulumi:"mtu"` + Name pulumi.StringInput `pulumi:"name"` + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. + NetworkAccountId pulumi.StringInput `pulumi:"networkAccountId"` + NetworkId pulumi.StringInput `pulumi:"networkId"` + NetworkType pulumi.StringInput `pulumi:"networkType"` + RemoteBgpAsn pulumi.IntInput `pulumi:"remoteBgpAsn"` + RemoteGatewayIp pulumi.StringInput `pulumi:"remoteGatewayIp"` + RemoteTunnelIp pulumi.StringInput `pulumi:"remoteTunnelIp"` + Status pulumi.StringInput `pulumi:"status"` + // List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections + Tunnels GetTgGatewayConnectionTunnelArrayInput `pulumi:"tunnels"` + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetTgGatewayConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgGatewayConnection)(nil)).Elem() +} + +func (i GetTgGatewayConnectionArgs) ToGetTgGatewayConnectionOutput() GetTgGatewayConnectionOutput { + return i.ToGetTgGatewayConnectionOutputWithContext(context.Background()) +} + +func (i GetTgGatewayConnectionArgs) ToGetTgGatewayConnectionOutputWithContext(ctx context.Context) GetTgGatewayConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgGatewayConnectionOutput) +} + +// GetTgGatewayConnectionArrayInput is an input type that accepts GetTgGatewayConnectionArray and GetTgGatewayConnectionArrayOutput values. +// You can construct a concrete instance of `GetTgGatewayConnectionArrayInput` via: +// +// GetTgGatewayConnectionArray{ GetTgGatewayConnectionArgs{...} } +type GetTgGatewayConnectionArrayInput interface { + pulumi.Input + + ToGetTgGatewayConnectionArrayOutput() GetTgGatewayConnectionArrayOutput + ToGetTgGatewayConnectionArrayOutputWithContext(context.Context) GetTgGatewayConnectionArrayOutput +} + +type GetTgGatewayConnectionArray []GetTgGatewayConnectionInput + +func (GetTgGatewayConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgGatewayConnection)(nil)).Elem() +} + +func (i GetTgGatewayConnectionArray) ToGetTgGatewayConnectionArrayOutput() GetTgGatewayConnectionArrayOutput { + return i.ToGetTgGatewayConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetTgGatewayConnectionArray) ToGetTgGatewayConnectionArrayOutputWithContext(ctx context.Context) GetTgGatewayConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgGatewayConnectionArrayOutput) +} + +type GetTgGatewayConnectionOutput struct{ *pulumi.OutputState } + +func (GetTgGatewayConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgGatewayConnection)(nil)).Elem() +} + +func (o GetTgGatewayConnectionOutput) ToGetTgGatewayConnectionOutput() GetTgGatewayConnectionOutput { + return o +} + +func (o GetTgGatewayConnectionOutput) ToGetTgGatewayConnectionOutputWithContext(ctx context.Context) GetTgGatewayConnectionOutput { + return o +} + +func (o GetTgGatewayConnectionOutput) BaseConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.BaseConnectionId }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) BaseNetworkType() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.BaseNetworkType }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Whether to permit or deny the prefix filter +func (o GetTgGatewayConnectionOutput) DefaultPrefixFilter() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.DefaultPrefixFilter }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) LocalBgpAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetTgGatewayConnection) int { return v.LocalBgpAsn }).(pulumi.IntOutput) +} + +func (o GetTgGatewayConnectionOutput) LocalGatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.LocalGatewayIp }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) LocalTunnelIp() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.LocalTunnelIp }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) Mtu() pulumi.IntOutput { + return o.ApplyT(func(v GetTgGatewayConnection) int { return v.Mtu }).(pulumi.IntOutput) +} + +func (o GetTgGatewayConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. +func (o GetTgGatewayConnectionOutput) NetworkAccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.NetworkAccountId }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.NetworkId }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) NetworkType() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.NetworkType }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) RemoteBgpAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetTgGatewayConnection) int { return v.RemoteBgpAsn }).(pulumi.IntOutput) +} + +func (o GetTgGatewayConnectionOutput) RemoteGatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.RemoteGatewayIp }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) RemoteTunnelIp() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.RemoteTunnelIp }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.Status }).(pulumi.StringOutput) +} + +// List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections +func (o GetTgGatewayConnectionOutput) Tunnels() GetTgGatewayConnectionTunnelArrayOutput { + return o.ApplyT(func(v GetTgGatewayConnection) []GetTgGatewayConnectionTunnel { return v.Tunnels }).(GetTgGatewayConnectionTunnelArrayOutput) +} + +func (o GetTgGatewayConnectionOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnection) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetTgGatewayConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetTgGatewayConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgGatewayConnection)(nil)).Elem() +} + +func (o GetTgGatewayConnectionArrayOutput) ToGetTgGatewayConnectionArrayOutput() GetTgGatewayConnectionArrayOutput { + return o +} + +func (o GetTgGatewayConnectionArrayOutput) ToGetTgGatewayConnectionArrayOutputWithContext(ctx context.Context) GetTgGatewayConnectionArrayOutput { + return o +} + +func (o GetTgGatewayConnectionArrayOutput) Index(i pulumi.IntInput) GetTgGatewayConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgGatewayConnection { + return vs[0].([]GetTgGatewayConnection)[vs[1].(int)] + }).(GetTgGatewayConnectionOutput) +} + +type GetTgGatewayConnectionTunnel struct { + // The date and time that this connection was created + CreatedAt string `pulumi:"createdAt"` + // The local network BGP ASN. + LocalBgpAsn int `pulumi:"localBgpAsn"` + // The local gateway IP address. + LocalGatewayIp string `pulumi:"localGatewayIp"` + // The local tunnel IP address. + LocalTunnelIp string `pulumi:"localTunnelIp"` + Mtu int `pulumi:"mtu"` + // The user-defined name for this rGRE tunnel. + Name string `pulumi:"name"` + // The remote network BGP ASN. + RemoteBgpAsn int `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. + RemoteGatewayIp string `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. + RemoteTunnelIp string `pulumi:"remoteTunnelIp"` + // What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status string `pulumi:"status"` + // The Transit Gateway Connection identifier + TunnelId string `pulumi:"tunnelId"` + // The date and time that this connection was last updated + UpdatedAt string `pulumi:"updatedAt"` + // Location of GRE tunnel. + Zone string `pulumi:"zone"` +} + +// GetTgGatewayConnectionTunnelInput is an input type that accepts GetTgGatewayConnectionTunnelArgs and GetTgGatewayConnectionTunnelOutput values. +// You can construct a concrete instance of `GetTgGatewayConnectionTunnelInput` via: +// +// GetTgGatewayConnectionTunnelArgs{...} +type GetTgGatewayConnectionTunnelInput interface { + pulumi.Input + + ToGetTgGatewayConnectionTunnelOutput() GetTgGatewayConnectionTunnelOutput + ToGetTgGatewayConnectionTunnelOutputWithContext(context.Context) GetTgGatewayConnectionTunnelOutput +} + +type GetTgGatewayConnectionTunnelArgs struct { + // The date and time that this connection was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // The local network BGP ASN. + LocalBgpAsn pulumi.IntInput `pulumi:"localBgpAsn"` + // The local gateway IP address. + LocalGatewayIp pulumi.StringInput `pulumi:"localGatewayIp"` + // The local tunnel IP address. + LocalTunnelIp pulumi.StringInput `pulumi:"localTunnelIp"` + Mtu pulumi.IntInput `pulumi:"mtu"` + // The user-defined name for this rGRE tunnel. + Name pulumi.StringInput `pulumi:"name"` + // The remote network BGP ASN. + RemoteBgpAsn pulumi.IntInput `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. + RemoteGatewayIp pulumi.StringInput `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. + RemoteTunnelIp pulumi.StringInput `pulumi:"remoteTunnelIp"` + // What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status pulumi.StringInput `pulumi:"status"` + // The Transit Gateway Connection identifier + TunnelId pulumi.StringInput `pulumi:"tunnelId"` + // The date and time that this connection was last updated + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` + // Location of GRE tunnel. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetTgGatewayConnectionTunnelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgGatewayConnectionTunnel)(nil)).Elem() +} + +func (i GetTgGatewayConnectionTunnelArgs) ToGetTgGatewayConnectionTunnelOutput() GetTgGatewayConnectionTunnelOutput { + return i.ToGetTgGatewayConnectionTunnelOutputWithContext(context.Background()) +} + +func (i GetTgGatewayConnectionTunnelArgs) ToGetTgGatewayConnectionTunnelOutputWithContext(ctx context.Context) GetTgGatewayConnectionTunnelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgGatewayConnectionTunnelOutput) +} + +// GetTgGatewayConnectionTunnelArrayInput is an input type that accepts GetTgGatewayConnectionTunnelArray and GetTgGatewayConnectionTunnelArrayOutput values. +// You can construct a concrete instance of `GetTgGatewayConnectionTunnelArrayInput` via: +// +// GetTgGatewayConnectionTunnelArray{ GetTgGatewayConnectionTunnelArgs{...} } +type GetTgGatewayConnectionTunnelArrayInput interface { + pulumi.Input + + ToGetTgGatewayConnectionTunnelArrayOutput() GetTgGatewayConnectionTunnelArrayOutput + ToGetTgGatewayConnectionTunnelArrayOutputWithContext(context.Context) GetTgGatewayConnectionTunnelArrayOutput +} + +type GetTgGatewayConnectionTunnelArray []GetTgGatewayConnectionTunnelInput + +func (GetTgGatewayConnectionTunnelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgGatewayConnectionTunnel)(nil)).Elem() +} + +func (i GetTgGatewayConnectionTunnelArray) ToGetTgGatewayConnectionTunnelArrayOutput() GetTgGatewayConnectionTunnelArrayOutput { + return i.ToGetTgGatewayConnectionTunnelArrayOutputWithContext(context.Background()) +} + +func (i GetTgGatewayConnectionTunnelArray) ToGetTgGatewayConnectionTunnelArrayOutputWithContext(ctx context.Context) GetTgGatewayConnectionTunnelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgGatewayConnectionTunnelArrayOutput) +} + +type GetTgGatewayConnectionTunnelOutput struct{ *pulumi.OutputState } + +func (GetTgGatewayConnectionTunnelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgGatewayConnectionTunnel)(nil)).Elem() +} + +func (o GetTgGatewayConnectionTunnelOutput) ToGetTgGatewayConnectionTunnelOutput() GetTgGatewayConnectionTunnelOutput { + return o +} + +func (o GetTgGatewayConnectionTunnelOutput) ToGetTgGatewayConnectionTunnelOutputWithContext(ctx context.Context) GetTgGatewayConnectionTunnelOutput { + return o +} + +// The date and time that this connection was created +func (o GetTgGatewayConnectionTunnelOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The local network BGP ASN. +func (o GetTgGatewayConnectionTunnelOutput) LocalBgpAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) int { return v.LocalBgpAsn }).(pulumi.IntOutput) +} + +// The local gateway IP address. +func (o GetTgGatewayConnectionTunnelOutput) LocalGatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.LocalGatewayIp }).(pulumi.StringOutput) +} + +// The local tunnel IP address. +func (o GetTgGatewayConnectionTunnelOutput) LocalTunnelIp() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.LocalTunnelIp }).(pulumi.StringOutput) +} + +func (o GetTgGatewayConnectionTunnelOutput) Mtu() pulumi.IntOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) int { return v.Mtu }).(pulumi.IntOutput) +} + +// The user-defined name for this rGRE tunnel. +func (o GetTgGatewayConnectionTunnelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.Name }).(pulumi.StringOutput) +} + +// The remote network BGP ASN. +func (o GetTgGatewayConnectionTunnelOutput) RemoteBgpAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) int { return v.RemoteBgpAsn }).(pulumi.IntOutput) +} + +// The remote gateway IP address. +func (o GetTgGatewayConnectionTunnelOutput) RemoteGatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.RemoteGatewayIp }).(pulumi.StringOutput) +} + +// The remote tunnel IP address. +func (o GetTgGatewayConnectionTunnelOutput) RemoteTunnelIp() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.RemoteTunnelIp }).(pulumi.StringOutput) +} + +// What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] +func (o GetTgGatewayConnectionTunnelOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.Status }).(pulumi.StringOutput) +} + +// The Transit Gateway Connection identifier +func (o GetTgGatewayConnectionTunnelOutput) TunnelId() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.TunnelId }).(pulumi.StringOutput) +} + +// The date and time that this connection was last updated +func (o GetTgGatewayConnectionTunnelOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// Location of GRE tunnel. +func (o GetTgGatewayConnectionTunnelOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewayConnectionTunnel) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetTgGatewayConnectionTunnelArrayOutput struct{ *pulumi.OutputState } + +func (GetTgGatewayConnectionTunnelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgGatewayConnectionTunnel)(nil)).Elem() +} + +func (o GetTgGatewayConnectionTunnelArrayOutput) ToGetTgGatewayConnectionTunnelArrayOutput() GetTgGatewayConnectionTunnelArrayOutput { + return o +} + +func (o GetTgGatewayConnectionTunnelArrayOutput) ToGetTgGatewayConnectionTunnelArrayOutputWithContext(ctx context.Context) GetTgGatewayConnectionTunnelArrayOutput { + return o +} + +func (o GetTgGatewayConnectionTunnelArrayOutput) Index(i pulumi.IntInput) GetTgGatewayConnectionTunnelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgGatewayConnectionTunnel { + return vs[0].([]GetTgGatewayConnectionTunnel)[vs[1].(int)] + }).(GetTgGatewayConnectionTunnelOutput) +} + +type GetTgGatewaysTransitGateway struct { + CreatedAt string `pulumi:"createdAt"` + Crn string `pulumi:"crn"` + Global bool `pulumi:"global"` + GreEnhancedRoutePropagation bool `pulumi:"greEnhancedRoutePropagation"` + Id string `pulumi:"id"` + Location string `pulumi:"location"` + Name string `pulumi:"name"` + ResourceGroup string `pulumi:"resourceGroup"` + Status string `pulumi:"status"` + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetTgGatewaysTransitGatewayInput is an input type that accepts GetTgGatewaysTransitGatewayArgs and GetTgGatewaysTransitGatewayOutput values. +// You can construct a concrete instance of `GetTgGatewaysTransitGatewayInput` via: +// +// GetTgGatewaysTransitGatewayArgs{...} +type GetTgGatewaysTransitGatewayInput interface { + pulumi.Input + + ToGetTgGatewaysTransitGatewayOutput() GetTgGatewaysTransitGatewayOutput + ToGetTgGatewaysTransitGatewayOutputWithContext(context.Context) GetTgGatewaysTransitGatewayOutput +} + +type GetTgGatewaysTransitGatewayArgs struct { + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + Crn pulumi.StringInput `pulumi:"crn"` + Global pulumi.BoolInput `pulumi:"global"` + GreEnhancedRoutePropagation pulumi.BoolInput `pulumi:"greEnhancedRoutePropagation"` + Id pulumi.StringInput `pulumi:"id"` + Location pulumi.StringInput `pulumi:"location"` + Name pulumi.StringInput `pulumi:"name"` + ResourceGroup pulumi.StringInput `pulumi:"resourceGroup"` + Status pulumi.StringInput `pulumi:"status"` + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetTgGatewaysTransitGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgGatewaysTransitGateway)(nil)).Elem() +} + +func (i GetTgGatewaysTransitGatewayArgs) ToGetTgGatewaysTransitGatewayOutput() GetTgGatewaysTransitGatewayOutput { + return i.ToGetTgGatewaysTransitGatewayOutputWithContext(context.Background()) +} + +func (i GetTgGatewaysTransitGatewayArgs) ToGetTgGatewaysTransitGatewayOutputWithContext(ctx context.Context) GetTgGatewaysTransitGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgGatewaysTransitGatewayOutput) +} + +// GetTgGatewaysTransitGatewayArrayInput is an input type that accepts GetTgGatewaysTransitGatewayArray and GetTgGatewaysTransitGatewayArrayOutput values. +// You can construct a concrete instance of `GetTgGatewaysTransitGatewayArrayInput` via: +// +// GetTgGatewaysTransitGatewayArray{ GetTgGatewaysTransitGatewayArgs{...} } +type GetTgGatewaysTransitGatewayArrayInput interface { + pulumi.Input + + ToGetTgGatewaysTransitGatewayArrayOutput() GetTgGatewaysTransitGatewayArrayOutput + ToGetTgGatewaysTransitGatewayArrayOutputWithContext(context.Context) GetTgGatewaysTransitGatewayArrayOutput +} + +type GetTgGatewaysTransitGatewayArray []GetTgGatewaysTransitGatewayInput + +func (GetTgGatewaysTransitGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgGatewaysTransitGateway)(nil)).Elem() +} + +func (i GetTgGatewaysTransitGatewayArray) ToGetTgGatewaysTransitGatewayArrayOutput() GetTgGatewaysTransitGatewayArrayOutput { + return i.ToGetTgGatewaysTransitGatewayArrayOutputWithContext(context.Background()) +} + +func (i GetTgGatewaysTransitGatewayArray) ToGetTgGatewaysTransitGatewayArrayOutputWithContext(ctx context.Context) GetTgGatewaysTransitGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgGatewaysTransitGatewayArrayOutput) +} + +type GetTgGatewaysTransitGatewayOutput struct{ *pulumi.OutputState } + +func (GetTgGatewaysTransitGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgGatewaysTransitGateway)(nil)).Elem() +} + +func (o GetTgGatewaysTransitGatewayOutput) ToGetTgGatewaysTransitGatewayOutput() GetTgGatewaysTransitGatewayOutput { + return o +} + +func (o GetTgGatewaysTransitGatewayOutput) ToGetTgGatewaysTransitGatewayOutputWithContext(ctx context.Context) GetTgGatewaysTransitGatewayOutput { + return o +} + +func (o GetTgGatewaysTransitGatewayOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) string { return v.Crn }).(pulumi.StringOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) Global() pulumi.BoolOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) bool { return v.Global }).(pulumi.BoolOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) GreEnhancedRoutePropagation() pulumi.BoolOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) bool { return v.GreEnhancedRoutePropagation }).(pulumi.BoolOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) string { return v.Location }).(pulumi.StringOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) string { return v.ResourceGroup }).(pulumi.StringOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetTgGatewaysTransitGatewayOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgGatewaysTransitGateway) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type GetTgGatewaysTransitGatewayArrayOutput struct{ *pulumi.OutputState } + +func (GetTgGatewaysTransitGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgGatewaysTransitGateway)(nil)).Elem() +} + +func (o GetTgGatewaysTransitGatewayArrayOutput) ToGetTgGatewaysTransitGatewayArrayOutput() GetTgGatewaysTransitGatewayArrayOutput { + return o +} + +func (o GetTgGatewaysTransitGatewayArrayOutput) ToGetTgGatewaysTransitGatewayArrayOutputWithContext(ctx context.Context) GetTgGatewaysTransitGatewayArrayOutput { + return o +} + +func (o GetTgGatewaysTransitGatewayArrayOutput) Index(i pulumi.IntInput) GetTgGatewaysTransitGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgGatewaysTransitGateway { + return vs[0].([]GetTgGatewaysTransitGateway)[vs[1].(int)] + }).(GetTgGatewaysTransitGatewayOutput) +} + +type GetTgLocationLocalConnectionLocation struct { + // A descriptive display name for the location. + DisplayName string `pulumi:"displayName"` + // Name of the Location. + Name string `pulumi:"name"` + // The type of the location, determining is this a multi-zone region, a single data center, or a point of presence. + Type string `pulumi:"type"` +} + +// GetTgLocationLocalConnectionLocationInput is an input type that accepts GetTgLocationLocalConnectionLocationArgs and GetTgLocationLocalConnectionLocationOutput values. +// You can construct a concrete instance of `GetTgLocationLocalConnectionLocationInput` via: +// +// GetTgLocationLocalConnectionLocationArgs{...} +type GetTgLocationLocalConnectionLocationInput interface { + pulumi.Input + + ToGetTgLocationLocalConnectionLocationOutput() GetTgLocationLocalConnectionLocationOutput + ToGetTgLocationLocalConnectionLocationOutputWithContext(context.Context) GetTgLocationLocalConnectionLocationOutput +} + +type GetTgLocationLocalConnectionLocationArgs struct { + // A descriptive display name for the location. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Name of the Location. + Name pulumi.StringInput `pulumi:"name"` + // The type of the location, determining is this a multi-zone region, a single data center, or a point of presence. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetTgLocationLocalConnectionLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgLocationLocalConnectionLocation)(nil)).Elem() +} + +func (i GetTgLocationLocalConnectionLocationArgs) ToGetTgLocationLocalConnectionLocationOutput() GetTgLocationLocalConnectionLocationOutput { + return i.ToGetTgLocationLocalConnectionLocationOutputWithContext(context.Background()) +} + +func (i GetTgLocationLocalConnectionLocationArgs) ToGetTgLocationLocalConnectionLocationOutputWithContext(ctx context.Context) GetTgLocationLocalConnectionLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgLocationLocalConnectionLocationOutput) +} + +// GetTgLocationLocalConnectionLocationArrayInput is an input type that accepts GetTgLocationLocalConnectionLocationArray and GetTgLocationLocalConnectionLocationArrayOutput values. +// You can construct a concrete instance of `GetTgLocationLocalConnectionLocationArrayInput` via: +// +// GetTgLocationLocalConnectionLocationArray{ GetTgLocationLocalConnectionLocationArgs{...} } +type GetTgLocationLocalConnectionLocationArrayInput interface { + pulumi.Input + + ToGetTgLocationLocalConnectionLocationArrayOutput() GetTgLocationLocalConnectionLocationArrayOutput + ToGetTgLocationLocalConnectionLocationArrayOutputWithContext(context.Context) GetTgLocationLocalConnectionLocationArrayOutput +} + +type GetTgLocationLocalConnectionLocationArray []GetTgLocationLocalConnectionLocationInput + +func (GetTgLocationLocalConnectionLocationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgLocationLocalConnectionLocation)(nil)).Elem() +} + +func (i GetTgLocationLocalConnectionLocationArray) ToGetTgLocationLocalConnectionLocationArrayOutput() GetTgLocationLocalConnectionLocationArrayOutput { + return i.ToGetTgLocationLocalConnectionLocationArrayOutputWithContext(context.Background()) +} + +func (i GetTgLocationLocalConnectionLocationArray) ToGetTgLocationLocalConnectionLocationArrayOutputWithContext(ctx context.Context) GetTgLocationLocalConnectionLocationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgLocationLocalConnectionLocationArrayOutput) +} + +type GetTgLocationLocalConnectionLocationOutput struct{ *pulumi.OutputState } + +func (GetTgLocationLocalConnectionLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgLocationLocalConnectionLocation)(nil)).Elem() +} + +func (o GetTgLocationLocalConnectionLocationOutput) ToGetTgLocationLocalConnectionLocationOutput() GetTgLocationLocalConnectionLocationOutput { + return o +} + +func (o GetTgLocationLocalConnectionLocationOutput) ToGetTgLocationLocalConnectionLocationOutputWithContext(ctx context.Context) GetTgLocationLocalConnectionLocationOutput { + return o +} + +// A descriptive display name for the location. +func (o GetTgLocationLocalConnectionLocationOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationLocalConnectionLocation) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Name of the Location. +func (o GetTgLocationLocalConnectionLocationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationLocalConnectionLocation) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of the location, determining is this a multi-zone region, a single data center, or a point of presence. +func (o GetTgLocationLocalConnectionLocationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationLocalConnectionLocation) string { return v.Type }).(pulumi.StringOutput) +} + +type GetTgLocationLocalConnectionLocationArrayOutput struct{ *pulumi.OutputState } + +func (GetTgLocationLocalConnectionLocationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgLocationLocalConnectionLocation)(nil)).Elem() +} + +func (o GetTgLocationLocalConnectionLocationArrayOutput) ToGetTgLocationLocalConnectionLocationArrayOutput() GetTgLocationLocalConnectionLocationArrayOutput { + return o +} + +func (o GetTgLocationLocalConnectionLocationArrayOutput) ToGetTgLocationLocalConnectionLocationArrayOutputWithContext(ctx context.Context) GetTgLocationLocalConnectionLocationArrayOutput { + return o +} + +func (o GetTgLocationLocalConnectionLocationArrayOutput) Index(i pulumi.IntInput) GetTgLocationLocalConnectionLocationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgLocationLocalConnectionLocation { + return vs[0].([]GetTgLocationLocalConnectionLocation)[vs[1].(int)] + }).(GetTgLocationLocalConnectionLocationOutput) +} + +type GetTgLocationsLocation struct { + // The geographical location of this location, used for billing purposes. + BillingLocation string `pulumi:"billingLocation"` + // Name of the Location. + Name string `pulumi:"name"` + // The type of the location, determining is this a multi-zone region, a single data center, or a point of presence. + Type string `pulumi:"type"` +} + +// GetTgLocationsLocationInput is an input type that accepts GetTgLocationsLocationArgs and GetTgLocationsLocationOutput values. +// You can construct a concrete instance of `GetTgLocationsLocationInput` via: +// +// GetTgLocationsLocationArgs{...} +type GetTgLocationsLocationInput interface { + pulumi.Input + + ToGetTgLocationsLocationOutput() GetTgLocationsLocationOutput + ToGetTgLocationsLocationOutputWithContext(context.Context) GetTgLocationsLocationOutput +} + +type GetTgLocationsLocationArgs struct { + // The geographical location of this location, used for billing purposes. + BillingLocation pulumi.StringInput `pulumi:"billingLocation"` + // Name of the Location. + Name pulumi.StringInput `pulumi:"name"` + // The type of the location, determining is this a multi-zone region, a single data center, or a point of presence. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetTgLocationsLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgLocationsLocation)(nil)).Elem() +} + +func (i GetTgLocationsLocationArgs) ToGetTgLocationsLocationOutput() GetTgLocationsLocationOutput { + return i.ToGetTgLocationsLocationOutputWithContext(context.Background()) +} + +func (i GetTgLocationsLocationArgs) ToGetTgLocationsLocationOutputWithContext(ctx context.Context) GetTgLocationsLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgLocationsLocationOutput) +} + +// GetTgLocationsLocationArrayInput is an input type that accepts GetTgLocationsLocationArray and GetTgLocationsLocationArrayOutput values. +// You can construct a concrete instance of `GetTgLocationsLocationArrayInput` via: +// +// GetTgLocationsLocationArray{ GetTgLocationsLocationArgs{...} } +type GetTgLocationsLocationArrayInput interface { + pulumi.Input + + ToGetTgLocationsLocationArrayOutput() GetTgLocationsLocationArrayOutput + ToGetTgLocationsLocationArrayOutputWithContext(context.Context) GetTgLocationsLocationArrayOutput +} + +type GetTgLocationsLocationArray []GetTgLocationsLocationInput + +func (GetTgLocationsLocationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgLocationsLocation)(nil)).Elem() +} + +func (i GetTgLocationsLocationArray) ToGetTgLocationsLocationArrayOutput() GetTgLocationsLocationArrayOutput { + return i.ToGetTgLocationsLocationArrayOutputWithContext(context.Background()) +} + +func (i GetTgLocationsLocationArray) ToGetTgLocationsLocationArrayOutputWithContext(ctx context.Context) GetTgLocationsLocationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgLocationsLocationArrayOutput) +} + +type GetTgLocationsLocationOutput struct{ *pulumi.OutputState } + +func (GetTgLocationsLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgLocationsLocation)(nil)).Elem() +} + +func (o GetTgLocationsLocationOutput) ToGetTgLocationsLocationOutput() GetTgLocationsLocationOutput { + return o +} + +func (o GetTgLocationsLocationOutput) ToGetTgLocationsLocationOutputWithContext(ctx context.Context) GetTgLocationsLocationOutput { + return o +} + +// The geographical location of this location, used for billing purposes. +func (o GetTgLocationsLocationOutput) BillingLocation() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationsLocation) string { return v.BillingLocation }).(pulumi.StringOutput) +} + +// Name of the Location. +func (o GetTgLocationsLocationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationsLocation) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of the location, determining is this a multi-zone region, a single data center, or a point of presence. +func (o GetTgLocationsLocationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetTgLocationsLocation) string { return v.Type }).(pulumi.StringOutput) +} + +type GetTgLocationsLocationArrayOutput struct{ *pulumi.OutputState } + +func (GetTgLocationsLocationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgLocationsLocation)(nil)).Elem() +} + +func (o GetTgLocationsLocationArrayOutput) ToGetTgLocationsLocationArrayOutput() GetTgLocationsLocationArrayOutput { + return o +} + +func (o GetTgLocationsLocationArrayOutput) ToGetTgLocationsLocationArrayOutputWithContext(ctx context.Context) GetTgLocationsLocationArrayOutput { + return o +} + +func (o GetTgLocationsLocationArrayOutput) Index(i pulumi.IntInput) GetTgLocationsLocationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgLocationsLocation { + return vs[0].([]GetTgLocationsLocation)[vs[1].(int)] + }).(GetTgLocationsLocationOutput) +} + +type GetTgRouteReportConnection struct { + // Collection of transit gateway connection's bgps + Bgps []GetTgRouteReportConnectionBgp `pulumi:"bgps"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // Collection of transit gateway connection's used routes + Routes []GetTgRouteReportConnectionRoute `pulumi:"routes"` + Type string `pulumi:"type"` +} + +// GetTgRouteReportConnectionInput is an input type that accepts GetTgRouteReportConnectionArgs and GetTgRouteReportConnectionOutput values. +// You can construct a concrete instance of `GetTgRouteReportConnectionInput` via: +// +// GetTgRouteReportConnectionArgs{...} +type GetTgRouteReportConnectionInput interface { + pulumi.Input + + ToGetTgRouteReportConnectionOutput() GetTgRouteReportConnectionOutput + ToGetTgRouteReportConnectionOutputWithContext(context.Context) GetTgRouteReportConnectionOutput +} + +type GetTgRouteReportConnectionArgs struct { + // Collection of transit gateway connection's bgps + Bgps GetTgRouteReportConnectionBgpArrayInput `pulumi:"bgps"` + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // Collection of transit gateway connection's used routes + Routes GetTgRouteReportConnectionRouteArrayInput `pulumi:"routes"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetTgRouteReportConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportConnection)(nil)).Elem() +} + +func (i GetTgRouteReportConnectionArgs) ToGetTgRouteReportConnectionOutput() GetTgRouteReportConnectionOutput { + return i.ToGetTgRouteReportConnectionOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportConnectionArgs) ToGetTgRouteReportConnectionOutputWithContext(ctx context.Context) GetTgRouteReportConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportConnectionOutput) +} + +// GetTgRouteReportConnectionArrayInput is an input type that accepts GetTgRouteReportConnectionArray and GetTgRouteReportConnectionArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportConnectionArrayInput` via: +// +// GetTgRouteReportConnectionArray{ GetTgRouteReportConnectionArgs{...} } +type GetTgRouteReportConnectionArrayInput interface { + pulumi.Input + + ToGetTgRouteReportConnectionArrayOutput() GetTgRouteReportConnectionArrayOutput + ToGetTgRouteReportConnectionArrayOutputWithContext(context.Context) GetTgRouteReportConnectionArrayOutput +} + +type GetTgRouteReportConnectionArray []GetTgRouteReportConnectionInput + +func (GetTgRouteReportConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportConnection)(nil)).Elem() +} + +func (i GetTgRouteReportConnectionArray) ToGetTgRouteReportConnectionArrayOutput() GetTgRouteReportConnectionArrayOutput { + return i.ToGetTgRouteReportConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportConnectionArray) ToGetTgRouteReportConnectionArrayOutputWithContext(ctx context.Context) GetTgRouteReportConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportConnectionArrayOutput) +} + +type GetTgRouteReportConnectionOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportConnection)(nil)).Elem() +} + +func (o GetTgRouteReportConnectionOutput) ToGetTgRouteReportConnectionOutput() GetTgRouteReportConnectionOutput { + return o +} + +func (o GetTgRouteReportConnectionOutput) ToGetTgRouteReportConnectionOutputWithContext(ctx context.Context) GetTgRouteReportConnectionOutput { + return o +} + +// Collection of transit gateway connection's bgps +func (o GetTgRouteReportConnectionOutput) Bgps() GetTgRouteReportConnectionBgpArrayOutput { + return o.ApplyT(func(v GetTgRouteReportConnection) []GetTgRouteReportConnectionBgp { return v.Bgps }).(GetTgRouteReportConnectionBgpArrayOutput) +} + +func (o GetTgRouteReportConnectionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportConnection) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// Collection of transit gateway connection's used routes +func (o GetTgRouteReportConnectionOutput) Routes() GetTgRouteReportConnectionRouteArrayOutput { + return o.ApplyT(func(v GetTgRouteReportConnection) []GetTgRouteReportConnectionRoute { return v.Routes }).(GetTgRouteReportConnectionRouteArrayOutput) +} + +func (o GetTgRouteReportConnectionOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportConnection) string { return v.Type }).(pulumi.StringOutput) +} + +type GetTgRouteReportConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportConnection)(nil)).Elem() +} + +func (o GetTgRouteReportConnectionArrayOutput) ToGetTgRouteReportConnectionArrayOutput() GetTgRouteReportConnectionArrayOutput { + return o +} + +func (o GetTgRouteReportConnectionArrayOutput) ToGetTgRouteReportConnectionArrayOutputWithContext(ctx context.Context) GetTgRouteReportConnectionArrayOutput { + return o +} + +func (o GetTgRouteReportConnectionArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportConnection { + return vs[0].([]GetTgRouteReportConnection)[vs[1].(int)] + }).(GetTgRouteReportConnectionOutput) +} + +type GetTgRouteReportConnectionBgp struct { + AsPath string `pulumi:"asPath"` + IsUsed bool `pulumi:"isUsed"` + LocalPreference string `pulumi:"localPreference"` + Prefix string `pulumi:"prefix"` +} + +// GetTgRouteReportConnectionBgpInput is an input type that accepts GetTgRouteReportConnectionBgpArgs and GetTgRouteReportConnectionBgpOutput values. +// You can construct a concrete instance of `GetTgRouteReportConnectionBgpInput` via: +// +// GetTgRouteReportConnectionBgpArgs{...} +type GetTgRouteReportConnectionBgpInput interface { + pulumi.Input + + ToGetTgRouteReportConnectionBgpOutput() GetTgRouteReportConnectionBgpOutput + ToGetTgRouteReportConnectionBgpOutputWithContext(context.Context) GetTgRouteReportConnectionBgpOutput +} + +type GetTgRouteReportConnectionBgpArgs struct { + AsPath pulumi.StringInput `pulumi:"asPath"` + IsUsed pulumi.BoolInput `pulumi:"isUsed"` + LocalPreference pulumi.StringInput `pulumi:"localPreference"` + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (GetTgRouteReportConnectionBgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportConnectionBgp)(nil)).Elem() +} + +func (i GetTgRouteReportConnectionBgpArgs) ToGetTgRouteReportConnectionBgpOutput() GetTgRouteReportConnectionBgpOutput { + return i.ToGetTgRouteReportConnectionBgpOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportConnectionBgpArgs) ToGetTgRouteReportConnectionBgpOutputWithContext(ctx context.Context) GetTgRouteReportConnectionBgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportConnectionBgpOutput) +} + +// GetTgRouteReportConnectionBgpArrayInput is an input type that accepts GetTgRouteReportConnectionBgpArray and GetTgRouteReportConnectionBgpArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportConnectionBgpArrayInput` via: +// +// GetTgRouteReportConnectionBgpArray{ GetTgRouteReportConnectionBgpArgs{...} } +type GetTgRouteReportConnectionBgpArrayInput interface { + pulumi.Input + + ToGetTgRouteReportConnectionBgpArrayOutput() GetTgRouteReportConnectionBgpArrayOutput + ToGetTgRouteReportConnectionBgpArrayOutputWithContext(context.Context) GetTgRouteReportConnectionBgpArrayOutput +} + +type GetTgRouteReportConnectionBgpArray []GetTgRouteReportConnectionBgpInput + +func (GetTgRouteReportConnectionBgpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportConnectionBgp)(nil)).Elem() +} + +func (i GetTgRouteReportConnectionBgpArray) ToGetTgRouteReportConnectionBgpArrayOutput() GetTgRouteReportConnectionBgpArrayOutput { + return i.ToGetTgRouteReportConnectionBgpArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportConnectionBgpArray) ToGetTgRouteReportConnectionBgpArrayOutputWithContext(ctx context.Context) GetTgRouteReportConnectionBgpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportConnectionBgpArrayOutput) +} + +type GetTgRouteReportConnectionBgpOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportConnectionBgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportConnectionBgp)(nil)).Elem() +} + +func (o GetTgRouteReportConnectionBgpOutput) ToGetTgRouteReportConnectionBgpOutput() GetTgRouteReportConnectionBgpOutput { + return o +} + +func (o GetTgRouteReportConnectionBgpOutput) ToGetTgRouteReportConnectionBgpOutputWithContext(ctx context.Context) GetTgRouteReportConnectionBgpOutput { + return o +} + +func (o GetTgRouteReportConnectionBgpOutput) AsPath() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportConnectionBgp) string { return v.AsPath }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportConnectionBgpOutput) IsUsed() pulumi.BoolOutput { + return o.ApplyT(func(v GetTgRouteReportConnectionBgp) bool { return v.IsUsed }).(pulumi.BoolOutput) +} + +func (o GetTgRouteReportConnectionBgpOutput) LocalPreference() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportConnectionBgp) string { return v.LocalPreference }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportConnectionBgpOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportConnectionBgp) string { return v.Prefix }).(pulumi.StringOutput) +} + +type GetTgRouteReportConnectionBgpArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportConnectionBgpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportConnectionBgp)(nil)).Elem() +} + +func (o GetTgRouteReportConnectionBgpArrayOutput) ToGetTgRouteReportConnectionBgpArrayOutput() GetTgRouteReportConnectionBgpArrayOutput { + return o +} + +func (o GetTgRouteReportConnectionBgpArrayOutput) ToGetTgRouteReportConnectionBgpArrayOutputWithContext(ctx context.Context) GetTgRouteReportConnectionBgpArrayOutput { + return o +} + +func (o GetTgRouteReportConnectionBgpArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportConnectionBgpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportConnectionBgp { + return vs[0].([]GetTgRouteReportConnectionBgp)[vs[1].(int)] + }).(GetTgRouteReportConnectionBgpOutput) +} + +type GetTgRouteReportConnectionRoute struct { + Prefix string `pulumi:"prefix"` +} + +// GetTgRouteReportConnectionRouteInput is an input type that accepts GetTgRouteReportConnectionRouteArgs and GetTgRouteReportConnectionRouteOutput values. +// You can construct a concrete instance of `GetTgRouteReportConnectionRouteInput` via: +// +// GetTgRouteReportConnectionRouteArgs{...} +type GetTgRouteReportConnectionRouteInput interface { + pulumi.Input + + ToGetTgRouteReportConnectionRouteOutput() GetTgRouteReportConnectionRouteOutput + ToGetTgRouteReportConnectionRouteOutputWithContext(context.Context) GetTgRouteReportConnectionRouteOutput +} + +type GetTgRouteReportConnectionRouteArgs struct { + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (GetTgRouteReportConnectionRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportConnectionRoute)(nil)).Elem() +} + +func (i GetTgRouteReportConnectionRouteArgs) ToGetTgRouteReportConnectionRouteOutput() GetTgRouteReportConnectionRouteOutput { + return i.ToGetTgRouteReportConnectionRouteOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportConnectionRouteArgs) ToGetTgRouteReportConnectionRouteOutputWithContext(ctx context.Context) GetTgRouteReportConnectionRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportConnectionRouteOutput) +} + +// GetTgRouteReportConnectionRouteArrayInput is an input type that accepts GetTgRouteReportConnectionRouteArray and GetTgRouteReportConnectionRouteArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportConnectionRouteArrayInput` via: +// +// GetTgRouteReportConnectionRouteArray{ GetTgRouteReportConnectionRouteArgs{...} } +type GetTgRouteReportConnectionRouteArrayInput interface { + pulumi.Input + + ToGetTgRouteReportConnectionRouteArrayOutput() GetTgRouteReportConnectionRouteArrayOutput + ToGetTgRouteReportConnectionRouteArrayOutputWithContext(context.Context) GetTgRouteReportConnectionRouteArrayOutput +} + +type GetTgRouteReportConnectionRouteArray []GetTgRouteReportConnectionRouteInput + +func (GetTgRouteReportConnectionRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportConnectionRoute)(nil)).Elem() +} + +func (i GetTgRouteReportConnectionRouteArray) ToGetTgRouteReportConnectionRouteArrayOutput() GetTgRouteReportConnectionRouteArrayOutput { + return i.ToGetTgRouteReportConnectionRouteArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportConnectionRouteArray) ToGetTgRouteReportConnectionRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportConnectionRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportConnectionRouteArrayOutput) +} + +type GetTgRouteReportConnectionRouteOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportConnectionRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportConnectionRoute)(nil)).Elem() +} + +func (o GetTgRouteReportConnectionRouteOutput) ToGetTgRouteReportConnectionRouteOutput() GetTgRouteReportConnectionRouteOutput { + return o +} + +func (o GetTgRouteReportConnectionRouteOutput) ToGetTgRouteReportConnectionRouteOutputWithContext(ctx context.Context) GetTgRouteReportConnectionRouteOutput { + return o +} + +func (o GetTgRouteReportConnectionRouteOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportConnectionRoute) string { return v.Prefix }).(pulumi.StringOutput) +} + +type GetTgRouteReportConnectionRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportConnectionRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportConnectionRoute)(nil)).Elem() +} + +func (o GetTgRouteReportConnectionRouteArrayOutput) ToGetTgRouteReportConnectionRouteArrayOutput() GetTgRouteReportConnectionRouteArrayOutput { + return o +} + +func (o GetTgRouteReportConnectionRouteArrayOutput) ToGetTgRouteReportConnectionRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportConnectionRouteArrayOutput { + return o +} + +func (o GetTgRouteReportConnectionRouteArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportConnectionRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportConnectionRoute { + return vs[0].([]GetTgRouteReportConnectionRoute)[vs[1].(int)] + }).(GetTgRouteReportConnectionRouteOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupTargetInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupTargetArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupTargetDeletedInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupTargetDeletedArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupVpcInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupVpcArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupVpcDeletedInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSecurityGroupsSecurityGroupVpcDeletedArrayInput)(nil)).Elem(), GetIsSecurityGroupsSecurityGroupVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingInput)(nil)).Elem(), GetIsShareAccessorBindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingArrayInput)(nil)).Elem(), GetIsShareAccessorBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorArrayInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorDeletedInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorDeletedArrayInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteArrayInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteAccountInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteAccountArrayInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteRegionInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingAccessorRemoteRegionArrayInput)(nil)).Elem(), GetIsShareAccessorBindingAccessorRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingArrayInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorArrayInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorDeletedInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayInput)(nil)).Elem(), GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareLatestJobInput)(nil)).Elem(), GetIsShareLatestJobArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareLatestJobArrayInput)(nil)).Elem(), GetIsShareLatestJobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareLatestJobStatusReasonInput)(nil)).Elem(), GetIsShareLatestJobStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareLatestJobStatusReasonArrayInput)(nil)).Elem(), GetIsShareLatestJobStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareLatestSyncInput)(nil)).Elem(), GetIsShareLatestSyncArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareLatestSyncArrayInput)(nil)).Elem(), GetIsShareLatestSyncArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetTypeInput)(nil)).Elem(), GetIsShareMountTargetTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetTypeArrayInput)(nil)).Elem(), GetIsShareMountTargetTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetDeletedInput)(nil)).Elem(), GetIsShareMountTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetPrimaryIpInput)(nil)).Elem(), GetIsShareMountTargetPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetPrimaryIpArrayInput)(nil)).Elem(), GetIsShareMountTargetPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetPrimaryIpDeletedInput)(nil)).Elem(), GetIsShareMountTargetPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetSubnetInput)(nil)).Elem(), GetIsShareMountTargetSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetSubnetArrayInput)(nil)).Elem(), GetIsShareMountTargetSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetSubnetDeletedInput)(nil)).Elem(), GetIsShareMountTargetSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetSubnetDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsShareMountTargetVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsShareMountTargetVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetVirtualNetworkInterfaceDeletedInput)(nil)).Elem(), GetIsShareMountTargetVirtualNetworkInterfaceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetVirtualNetworkInterfaceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetVpcInput)(nil)).Elem(), GetIsShareMountTargetVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetVpcArrayInput)(nil)).Elem(), GetIsShareMountTargetVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetVpcDeletedInput)(nil)).Elem(), GetIsShareMountTargetVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetVpcDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetPrimaryIpInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetPrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetPrimaryIpArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetPrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetPrimaryIpDeletedInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetPrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetPrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetSubnetInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetSubnetArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetSubnetDeletedInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetSubnetDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetVpcInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetVpcArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetVpcDeletedInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareMountTargetsMountTargetVpcDeletedArrayInput)(nil)).Elem(), GetIsShareMountTargetsMountTargetVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareInput)(nil)).Elem(), GetIsShareOriginShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareArrayInput)(nil)).Elem(), GetIsShareOriginShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareDeletedInput)(nil)).Elem(), GetIsShareOriginShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareDeletedArrayInput)(nil)).Elem(), GetIsShareOriginShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareRemoteInput)(nil)).Elem(), GetIsShareOriginShareRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareRemoteArrayInput)(nil)).Elem(), GetIsShareOriginShareRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareRemoteAccountInput)(nil)).Elem(), GetIsShareOriginShareRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareRemoteAccountArrayInput)(nil)).Elem(), GetIsShareOriginShareRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareRemoteRegionInput)(nil)).Elem(), GetIsShareOriginShareRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareOriginShareRemoteRegionArrayInput)(nil)).Elem(), GetIsShareOriginShareRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileAllowedAccessProtocolInput)(nil)).Elem(), GetIsShareProfileAllowedAccessProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileAllowedAccessProtocolArrayInput)(nil)).Elem(), GetIsShareProfileAllowedAccessProtocolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileAllowedTransitEncryptionModeInput)(nil)).Elem(), GetIsShareProfileAllowedTransitEncryptionModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileAllowedTransitEncryptionModeArrayInput)(nil)).Elem(), GetIsShareProfileAllowedTransitEncryptionModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileAvailabilityModeInput)(nil)).Elem(), GetIsShareProfileAvailabilityModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileAvailabilityModeArrayInput)(nil)).Elem(), GetIsShareProfileAvailabilityModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileBandwidthInput)(nil)).Elem(), GetIsShareProfileBandwidthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileBandwidthArrayInput)(nil)).Elem(), GetIsShareProfileBandwidthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileCapacityInput)(nil)).Elem(), GetIsShareProfileCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileCapacityArrayInput)(nil)).Elem(), GetIsShareProfileCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileIopInput)(nil)).Elem(), GetIsShareProfileIopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfileIopArrayInput)(nil)).Elem(), GetIsShareProfileIopArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileInput)(nil)).Elem(), GetIsShareProfilesProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileArrayInput)(nil)).Elem(), GetIsShareProfilesProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileAllowedAccessProtocolInput)(nil)).Elem(), GetIsShareProfilesProfileAllowedAccessProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileAllowedAccessProtocolArrayInput)(nil)).Elem(), GetIsShareProfilesProfileAllowedAccessProtocolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileAllowedTransitEncryptionModeInput)(nil)).Elem(), GetIsShareProfilesProfileAllowedTransitEncryptionModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayInput)(nil)).Elem(), GetIsShareProfilesProfileAllowedTransitEncryptionModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileAvailabilityModeInput)(nil)).Elem(), GetIsShareProfilesProfileAvailabilityModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileAvailabilityModeArrayInput)(nil)).Elem(), GetIsShareProfilesProfileAvailabilityModeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileBandwidthInput)(nil)).Elem(), GetIsShareProfilesProfileBandwidthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileBandwidthArrayInput)(nil)).Elem(), GetIsShareProfilesProfileBandwidthArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileCapacityInput)(nil)).Elem(), GetIsShareProfilesProfileCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileCapacityArrayInput)(nil)).Elem(), GetIsShareProfilesProfileCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileIopInput)(nil)).Elem(), GetIsShareProfilesProfileIopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareProfilesProfileIopArrayInput)(nil)).Elem(), GetIsShareProfilesProfileIopArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareReplicaShareInput)(nil)).Elem(), GetIsShareReplicaShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareReplicaShareArrayInput)(nil)).Elem(), GetIsShareReplicaShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareReplicaShareDeletedInput)(nil)).Elem(), GetIsShareReplicaShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareReplicaShareDeletedArrayInput)(nil)).Elem(), GetIsShareReplicaShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareReplicationStatusReasonInput)(nil)).Elem(), GetIsShareReplicationStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareReplicationStatusReasonArrayInput)(nil)).Elem(), GetIsShareReplicationStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareShareTargetInput)(nil)).Elem(), GetIsShareShareTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareShareTargetArrayInput)(nil)).Elem(), GetIsShareShareTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareShareTargetDeletedInput)(nil)).Elem(), GetIsShareShareTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareShareTargetDeletedArrayInput)(nil)).Elem(), GetIsShareShareTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanInput)(nil)).Elem(), GetIsShareSnapshotBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsShareSnapshotBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsShareSnapshotBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsShareSnapshotBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanRemoteInput)(nil)).Elem(), GetIsShareSnapshotBackupPolicyPlanRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanRemoteArrayInput)(nil)).Elem(), GetIsShareSnapshotBackupPolicyPlanRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanRemoteRegionInput)(nil)).Elem(), GetIsShareSnapshotBackupPolicyPlanRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayInput)(nil)).Elem(), GetIsShareSnapshotBackupPolicyPlanRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotResourceGroupInput)(nil)).Elem(), GetIsShareSnapshotResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotResourceGroupArrayInput)(nil)).Elem(), GetIsShareSnapshotResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotStatusReasonInput)(nil)).Elem(), GetIsShareSnapshotStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotStatusReasonArrayInput)(nil)).Elem(), GetIsShareSnapshotStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotZoneInput)(nil)).Elem(), GetIsShareSnapshotZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotZoneArrayInput)(nil)).Elem(), GetIsShareSnapshotZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotArrayInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotResourceGroupInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotResourceGroupArrayInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotStatusReasonInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotStatusReasonArrayInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotZoneInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSnapshotsSnapshotZoneArrayInput)(nil)).Elem(), GetIsShareSnapshotsSnapshotZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSourceShareInput)(nil)).Elem(), GetIsShareSourceShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSourceShareArrayInput)(nil)).Elem(), GetIsShareSourceShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSourceShareDeletedInput)(nil)).Elem(), GetIsShareSourceShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSourceShareDeletedArrayInput)(nil)).Elem(), GetIsShareSourceShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSourceSnapshotInput)(nil)).Elem(), GetIsShareSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSourceSnapshotArrayInput)(nil)).Elem(), GetIsShareSourceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSourceSnapshotDeletedInput)(nil)).Elem(), GetIsShareSourceSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsShareSourceSnapshotDeletedArrayInput)(nil)).Elem(), GetIsShareSourceSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareInput)(nil)).Elem(), GetIsSharesShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareArrayInput)(nil)).Elem(), GetIsSharesShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareAccessorBindingInput)(nil)).Elem(), GetIsSharesShareAccessorBindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareAccessorBindingArrayInput)(nil)).Elem(), GetIsSharesShareAccessorBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareLatestJobInput)(nil)).Elem(), GetIsSharesShareLatestJobArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareLatestJobArrayInput)(nil)).Elem(), GetIsSharesShareLatestJobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareLatestJobStatusReasonInput)(nil)).Elem(), GetIsSharesShareLatestJobStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareLatestJobStatusReasonArrayInput)(nil)).Elem(), GetIsSharesShareLatestJobStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareLatestSyncInput)(nil)).Elem(), GetIsSharesShareLatestSyncArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareLatestSyncArrayInput)(nil)).Elem(), GetIsSharesShareLatestSyncArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareMountTargetInput)(nil)).Elem(), GetIsSharesShareMountTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareMountTargetArrayInput)(nil)).Elem(), GetIsSharesShareMountTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareMountTargetDeletedInput)(nil)).Elem(), GetIsSharesShareMountTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareMountTargetDeletedArrayInput)(nil)).Elem(), GetIsSharesShareMountTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareInput)(nil)).Elem(), GetIsSharesShareOriginShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareArrayInput)(nil)).Elem(), GetIsSharesShareOriginShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareDeletedInput)(nil)).Elem(), GetIsSharesShareOriginShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareDeletedArrayInput)(nil)).Elem(), GetIsSharesShareOriginShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareRemoteInput)(nil)).Elem(), GetIsSharesShareOriginShareRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareRemoteArrayInput)(nil)).Elem(), GetIsSharesShareOriginShareRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareRemoteAccountInput)(nil)).Elem(), GetIsSharesShareOriginShareRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareRemoteAccountArrayInput)(nil)).Elem(), GetIsSharesShareOriginShareRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareRemoteRegionInput)(nil)).Elem(), GetIsSharesShareOriginShareRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareOriginShareRemoteRegionArrayInput)(nil)).Elem(), GetIsSharesShareOriginShareRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareReplicaShareInput)(nil)).Elem(), GetIsSharesShareReplicaShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareReplicaShareArrayInput)(nil)).Elem(), GetIsSharesShareReplicaShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareReplicaShareDeletedInput)(nil)).Elem(), GetIsSharesShareReplicaShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareReplicaShareDeletedArrayInput)(nil)).Elem(), GetIsSharesShareReplicaShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareReplicationStatusReasonInput)(nil)).Elem(), GetIsSharesShareReplicationStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareReplicationStatusReasonArrayInput)(nil)).Elem(), GetIsSharesShareReplicationStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareSourceShareInput)(nil)).Elem(), GetIsSharesShareSourceShareArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareSourceShareArrayInput)(nil)).Elem(), GetIsSharesShareSourceShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareSourceShareDeletedInput)(nil)).Elem(), GetIsSharesShareSourceShareDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareSourceShareDeletedArrayInput)(nil)).Elem(), GetIsSharesShareSourceShareDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareSourceSnapshotInput)(nil)).Elem(), GetIsSharesShareSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareSourceSnapshotArrayInput)(nil)).Elem(), GetIsSharesShareSourceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareSourceSnapshotDeletedInput)(nil)).Elem(), GetIsSharesShareSourceSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSharesShareSourceSnapshotDeletedArrayInput)(nil)).Elem(), GetIsSharesShareSourceSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotAllowedUseInput)(nil)).Elem(), GetIsSnapshotAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotAllowedUseArrayInput)(nil)).Elem(), GetIsSnapshotAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotBackupPolicyPlanInput)(nil)).Elem(), GetIsSnapshotBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsSnapshotBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsSnapshotBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsSnapshotBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCatalogOfferingInput)(nil)).Elem(), GetIsSnapshotCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCatalogOfferingArrayInput)(nil)).Elem(), GetIsSnapshotCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCatalogOfferingDeletedInput)(nil)).Elem(), GetIsSnapshotCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCatalogOfferingDeletedArrayInput)(nil)).Elem(), GetIsSnapshotCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotClonesCloneInput)(nil)).Elem(), GetIsSnapshotClonesCloneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotClonesCloneArrayInput)(nil)).Elem(), GetIsSnapshotClonesCloneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupResourceGroupInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupResourceGroupArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotDeletedInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotDeletedArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotRemoteInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupSnapshotRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupSnapshotRemoteArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupSnapshotRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayInput)(nil)).Elem(), GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCopyInput)(nil)).Elem(), GetIsSnapshotCopyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCopyArrayInput)(nil)).Elem(), GetIsSnapshotCopyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCopyDeletedInput)(nil)).Elem(), GetIsSnapshotCopyDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCopyDeletedArrayInput)(nil)).Elem(), GetIsSnapshotCopyDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCopyRemoteInput)(nil)).Elem(), GetIsSnapshotCopyRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotCopyRemoteArrayInput)(nil)).Elem(), GetIsSnapshotCopyRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotInstanceProfilesInstanceProfileInput)(nil)).Elem(), GetIsSnapshotInstanceProfilesInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotInstanceProfilesInstanceProfileArrayInput)(nil)).Elem(), GetIsSnapshotInstanceProfilesInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSnapshotConsistencyGroupInput)(nil)).Elem(), GetIsSnapshotSnapshotConsistencyGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSnapshotConsistencyGroupArrayInput)(nil)).Elem(), GetIsSnapshotSnapshotConsistencyGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSnapshotConsistencyGroupDeletedInput)(nil)).Elem(), GetIsSnapshotSnapshotConsistencyGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSnapshotConsistencyGroupDeletedArrayInput)(nil)).Elem(), GetIsSnapshotSnapshotConsistencyGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSourceSnapshotInput)(nil)).Elem(), GetIsSnapshotSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSourceSnapshotArrayInput)(nil)).Elem(), GetIsSnapshotSourceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSourceSnapshotDeletedInput)(nil)).Elem(), GetIsSnapshotSourceSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSourceSnapshotDeletedArrayInput)(nil)).Elem(), GetIsSnapshotSourceSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSourceSnapshotRemoteInput)(nil)).Elem(), GetIsSnapshotSourceSnapshotRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotSourceSnapshotRemoteArrayInput)(nil)).Elem(), GetIsSnapshotSourceSnapshotRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotInput)(nil)).Elem(), GetIsSnapshotsSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotAllowedUseInput)(nil)).Elem(), GetIsSnapshotsSnapshotAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotAllowedUseArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotBackupPolicyPlanInput)(nil)).Elem(), GetIsSnapshotsSnapshotBackupPolicyPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotBackupPolicyPlanArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotBackupPolicyPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotBackupPolicyPlanDeletedInput)(nil)).Elem(), GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCatalogOfferingInput)(nil)).Elem(), GetIsSnapshotsSnapshotCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCatalogOfferingArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCatalogOfferingDeletedInput)(nil)).Elem(), GetIsSnapshotsSnapshotCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCopyInput)(nil)).Elem(), GetIsSnapshotsSnapshotCopyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCopyArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotCopyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCopyDeletedInput)(nil)).Elem(), GetIsSnapshotsSnapshotCopyDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCopyDeletedArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotCopyDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCopyRemoteInput)(nil)).Elem(), GetIsSnapshotsSnapshotCopyRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotCopyRemoteArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotCopyRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSnapshotConsistencyGroupInput)(nil)).Elem(), GetIsSnapshotsSnapshotSnapshotConsistencyGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotSnapshotConsistencyGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedInput)(nil)).Elem(), GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotInput)(nil)).Elem(), GetIsSnapshotsSnapshotSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotSourceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotDeletedInput)(nil)).Elem(), GetIsSnapshotsSnapshotSourceSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotSourceSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotRemoteInput)(nil)).Elem(), GetIsSnapshotsSnapshotSourceSnapshotRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayInput)(nil)).Elem(), GetIsSnapshotsSnapshotSourceSnapshotRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSshKeysKeyInput)(nil)).Elem(), GetIsSshKeysKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSshKeysKeyArrayInput)(nil)).Elem(), GetIsSshKeysKeyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSshKeysKeyResourceGroupInput)(nil)).Elem(), GetIsSshKeysKeyResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSshKeysKeyResourceGroupArrayInput)(nil)).Elem(), GetIsSshKeysKeyResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpTargetReferenceInput)(nil)).Elem(), GetIsSubnetReservedIpTargetReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpTargetReferenceArrayInput)(nil)).Elem(), GetIsSubnetReservedIpTargetReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpTargetReferenceDeletedInput)(nil)).Elem(), GetIsSubnetReservedIpTargetReferenceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpTargetReferenceDeletedArrayInput)(nil)).Elem(), GetIsSubnetReservedIpTargetReferenceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpInput)(nil)).Elem(), GetIsSubnetReservedIpsReservedIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpArrayInput)(nil)).Elem(), GetIsSubnetReservedIpsReservedIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpTargetReferenceInput)(nil)).Elem(), GetIsSubnetReservedIpsReservedIpTargetReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpTargetReferenceArrayInput)(nil)).Elem(), GetIsSubnetReservedIpsReservedIpTargetReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedInput)(nil)).Elem(), GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayInput)(nil)).Elem(), GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetRoutingTableInput)(nil)).Elem(), GetIsSubnetRoutingTableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetRoutingTableArrayInput)(nil)).Elem(), GetIsSubnetRoutingTableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetRoutingTableDeletedInput)(nil)).Elem(), GetIsSubnetRoutingTableDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetRoutingTableDeletedArrayInput)(nil)).Elem(), GetIsSubnetRoutingTableDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetsSubnetInput)(nil)).Elem(), GetIsSubnetsSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetsSubnetArrayInput)(nil)).Elem(), GetIsSubnetsSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetsSubnetRoutingTableInput)(nil)).Elem(), GetIsSubnetsSubnetRoutingTableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetsSubnetRoutingTableArrayInput)(nil)).Elem(), GetIsSubnetsSubnetRoutingTableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetsSubnetRoutingTableDeletedInput)(nil)).Elem(), GetIsSubnetsSubnetRoutingTableDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsSubnetsSubnetRoutingTableDeletedArrayInput)(nil)).Elem(), GetIsSubnetsSubnetRoutingTableDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayIpTypeInput)(nil)).Elem(), GetIsVirtualEndpointGatewayIpTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayIpTypeArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewayIpTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsIpInput)(nil)).Elem(), GetIsVirtualEndpointGatewayIpsIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsIpArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewayIpsIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsIpTargetInput)(nil)).Elem(), GetIsVirtualEndpointGatewayIpsIpTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayIpsIpTargetArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewayIpsIpTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayLifecycleReasonInput)(nil)).Elem(), GetIsVirtualEndpointGatewayLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayLifecycleReasonArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewayLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayTargetInput)(nil)).Elem(), GetIsVirtualEndpointGatewayTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewayTargetArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewayTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayInput)(nil)).Elem(), GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpInput)(nil)).Elem(), GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonInput)(nil)).Elem(), GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetInput)(nil)).Elem(), GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayInput)(nil)).Elem(), GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceFloatingIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceFloatingIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpTypeInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceIpTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpTypeArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceIpTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpsReservedIpInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceIpsReservedIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceIpsReservedIpArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceIpsReservedIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceResourceGroupInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceResourceGroupArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceSecurityGroupInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceSecurityGroupDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceSecurityGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceSecurityGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceTargetInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceTargetArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceTargetDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceTargetDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceVpcInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceVpcArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceVpcDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceVpcDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceZoneInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfaceZoneArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfaceZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayInput)(nil)).Elem(), GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeAllowedUseInput)(nil)).Elem(), GetIsVolumeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeAllowedUseArrayInput)(nil)).Elem(), GetIsVolumeAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeCatalogOfferingInput)(nil)).Elem(), GetIsVolumeCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeCatalogOfferingArrayInput)(nil)).Elem(), GetIsVolumeCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeCatalogOfferingDeletedInput)(nil)).Elem(), GetIsVolumeCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeCatalogOfferingDeletedArrayInput)(nil)).Elem(), GetIsVolumeCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeHealthReasonInput)(nil)).Elem(), GetIsVolumeHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeHealthReasonArrayInput)(nil)).Elem(), GetIsVolumeHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeInstanceProfilesInstanceProfileInput)(nil)).Elem(), GetIsVolumeInstanceProfilesInstanceProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeInstanceProfilesInstanceProfileArrayInput)(nil)).Elem(), GetIsVolumeInstanceProfilesInstanceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeOperatingSystemInput)(nil)).Elem(), GetIsVolumeOperatingSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeOperatingSystemArrayInput)(nil)).Elem(), GetIsVolumeOperatingSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileAdjustableCapacityStateInput)(nil)).Elem(), GetIsVolumeProfileAdjustableCapacityStateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileAdjustableCapacityStateArrayInput)(nil)).Elem(), GetIsVolumeProfileAdjustableCapacityStateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileAdjustableIopsStateInput)(nil)).Elem(), GetIsVolumeProfileAdjustableIopsStateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileAdjustableIopsStateArrayInput)(nil)).Elem(), GetIsVolumeProfileAdjustableIopsStateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileBootCapacityInput)(nil)).Elem(), GetIsVolumeProfileBootCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileBootCapacityArrayInput)(nil)).Elem(), GetIsVolumeProfileBootCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileCapacityInput)(nil)).Elem(), GetIsVolumeProfileCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileCapacityArrayInput)(nil)).Elem(), GetIsVolumeProfileCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileIopInput)(nil)).Elem(), GetIsVolumeProfileIopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfileIopArrayInput)(nil)).Elem(), GetIsVolumeProfileIopArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileInput)(nil)).Elem(), GetIsVolumeProfilesProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileArrayInput)(nil)).Elem(), GetIsVolumeProfilesProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileAdjustableCapacityStateInput)(nil)).Elem(), GetIsVolumeProfilesProfileAdjustableCapacityStateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileAdjustableCapacityStateArrayInput)(nil)).Elem(), GetIsVolumeProfilesProfileAdjustableCapacityStateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileAdjustableIopsStateInput)(nil)).Elem(), GetIsVolumeProfilesProfileAdjustableIopsStateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileAdjustableIopsStateArrayInput)(nil)).Elem(), GetIsVolumeProfilesProfileAdjustableIopsStateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileBootCapacityInput)(nil)).Elem(), GetIsVolumeProfilesProfileBootCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileBootCapacityArrayInput)(nil)).Elem(), GetIsVolumeProfilesProfileBootCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileCapacityInput)(nil)).Elem(), GetIsVolumeProfilesProfileCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileCapacityArrayInput)(nil)).Elem(), GetIsVolumeProfilesProfileCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileIopInput)(nil)).Elem(), GetIsVolumeProfilesProfileIopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeProfilesProfileIopArrayInput)(nil)).Elem(), GetIsVolumeProfilesProfileIopArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeStatusReasonInput)(nil)).Elem(), GetIsVolumeStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumeStatusReasonArrayInput)(nil)).Elem(), GetIsVolumeStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeInput)(nil)).Elem(), GetIsVolumesVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeArrayInput)(nil)).Elem(), GetIsVolumesVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeAllowedUseInput)(nil)).Elem(), GetIsVolumesVolumeAllowedUseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeAllowedUseArrayInput)(nil)).Elem(), GetIsVolumesVolumeAllowedUseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeCatalogOfferingInput)(nil)).Elem(), GetIsVolumesVolumeCatalogOfferingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeCatalogOfferingArrayInput)(nil)).Elem(), GetIsVolumesVolumeCatalogOfferingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeCatalogOfferingDeletedInput)(nil)).Elem(), GetIsVolumesVolumeCatalogOfferingDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeCatalogOfferingDeletedArrayInput)(nil)).Elem(), GetIsVolumesVolumeCatalogOfferingDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeEncryptionKeyInput)(nil)).Elem(), GetIsVolumesVolumeEncryptionKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeEncryptionKeyArrayInput)(nil)).Elem(), GetIsVolumesVolumeEncryptionKeyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeHealthReasonInput)(nil)).Elem(), GetIsVolumesVolumeHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeHealthReasonArrayInput)(nil)).Elem(), GetIsVolumesVolumeHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeOperatingSystemInput)(nil)).Elem(), GetIsVolumesVolumeOperatingSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeOperatingSystemArrayInput)(nil)).Elem(), GetIsVolumesVolumeOperatingSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeProfileInput)(nil)).Elem(), GetIsVolumesVolumeProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeProfileArrayInput)(nil)).Elem(), GetIsVolumesVolumeProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeResourceGroupInput)(nil)).Elem(), GetIsVolumesVolumeResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeResourceGroupArrayInput)(nil)).Elem(), GetIsVolumesVolumeResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeSourceImageInput)(nil)).Elem(), GetIsVolumesVolumeSourceImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeSourceImageArrayInput)(nil)).Elem(), GetIsVolumesVolumeSourceImageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeSourceImageDeletedInput)(nil)).Elem(), GetIsVolumesVolumeSourceImageDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeSourceImageDeletedArrayInput)(nil)).Elem(), GetIsVolumesVolumeSourceImageDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeSourceSnapshotInput)(nil)).Elem(), GetIsVolumesVolumeSourceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeSourceSnapshotArrayInput)(nil)).Elem(), GetIsVolumesVolumeSourceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeSourceSnapshotDeletedInput)(nil)).Elem(), GetIsVolumesVolumeSourceSnapshotDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeSourceSnapshotDeletedArrayInput)(nil)).Elem(), GetIsVolumesVolumeSourceSnapshotDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeStatusReasonInput)(nil)).Elem(), GetIsVolumesVolumeStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeStatusReasonArrayInput)(nil)).Elem(), GetIsVolumesVolumeStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentArrayInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentDeletedInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentDeletedArrayInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentDeviceInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentDeviceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentDeviceArrayInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentDeviceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInstanceInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInstanceArrayInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInstanceDeletedInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayInput)(nil)).Elem(), GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeZoneInput)(nil)).Elem(), GetIsVolumesVolumeZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVolumesVolumeZoneArrayInput)(nil)).Elem(), GetIsVolumesVolumeZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcAddressPrefixZoneInput)(nil)).Elem(), GetIsVpcAddressPrefixZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcAddressPrefixZoneArrayInput)(nil)).Elem(), GetIsVpcAddressPrefixZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcAddressPrefixesAddressPrefixInput)(nil)).Elem(), GetIsVpcAddressPrefixesAddressPrefixArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcAddressPrefixesAddressPrefixArrayInput)(nil)).Elem(), GetIsVpcAddressPrefixesAddressPrefixArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcAddressPrefixesAddressPrefixZoneInput)(nil)).Elem(), GetIsVpcAddressPrefixesAddressPrefixZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcAddressPrefixesAddressPrefixZoneArrayInput)(nil)).Elem(), GetIsVpcAddressPrefixesAddressPrefixZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcCseSourceAddressInput)(nil)).Elem(), GetIsVpcCseSourceAddressArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcCseSourceAddressArrayInput)(nil)).Elem(), GetIsVpcCseSourceAddressArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDefaultRoutingTableResourceGroupInput)(nil)).Elem(), GetIsVpcDefaultRoutingTableResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDefaultRoutingTableResourceGroupArrayInput)(nil)).Elem(), GetIsVpcDefaultRoutingTableResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDefaultRoutingTableRouteInput)(nil)).Elem(), GetIsVpcDefaultRoutingTableRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDefaultRoutingTableRouteArrayInput)(nil)).Elem(), GetIsVpcDefaultRoutingTableRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDefaultRoutingTableSubnetInput)(nil)).Elem(), GetIsVpcDefaultRoutingTableSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDefaultRoutingTableSubnetArrayInput)(nil)).Elem(), GetIsVpcDefaultRoutingTableSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnInput)(nil)).Elem(), GetIsVpcDnArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnArrayInput)(nil)).Elem(), GetIsVpcDnArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverInput)(nil)).Elem(), GetIsVpcDnResolverArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverArrayInput)(nil)).Elem(), GetIsVpcDnResolverArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverManualServerInput)(nil)).Elem(), GetIsVpcDnResolverManualServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverManualServerArrayInput)(nil)).Elem(), GetIsVpcDnResolverManualServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverServerInput)(nil)).Elem(), GetIsVpcDnResolverServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverServerArrayInput)(nil)).Elem(), GetIsVpcDnResolverServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverVpcInput)(nil)).Elem(), GetIsVpcDnResolverVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverVpcArrayInput)(nil)).Elem(), GetIsVpcDnResolverVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverVpcDeletedInput)(nil)).Elem(), GetIsVpcDnResolverVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverVpcDeletedArrayInput)(nil)).Elem(), GetIsVpcDnResolverVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverVpcRemoteInput)(nil)).Elem(), GetIsVpcDnResolverVpcRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverVpcRemoteArrayInput)(nil)).Elem(), GetIsVpcDnResolverVpcRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverVpcRemoteAccountInput)(nil)).Elem(), GetIsVpcDnResolverVpcRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnResolverVpcRemoteAccountArrayInput)(nil)).Elem(), GetIsVpcDnResolverVpcRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingEndpointGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingEndpointGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingHealthReasonInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingHealthReasonArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingVpcRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingVpcRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteAccountInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingVpcRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingVpcRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteRegionInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingVpcRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingVpcRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayInput)(nil)).Elem(), GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcHealthReasonInput)(nil)).Elem(), GetIsVpcHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcHealthReasonArrayInput)(nil)).Elem(), GetIsVpcHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcPublicAddressRangeInput)(nil)).Elem(), GetIsVpcPublicAddressRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcPublicAddressRangeArrayInput)(nil)).Elem(), GetIsVpcPublicAddressRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcPublicAddressRangeDeletedInput)(nil)).Elem(), GetIsVpcPublicAddressRangeDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcPublicAddressRangeDeletedArrayInput)(nil)).Elem(), GetIsVpcPublicAddressRangeDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableAcceptRoutesFromInput)(nil)).Elem(), GetIsVpcRoutingTableAcceptRoutesFromArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableAcceptRoutesFromArrayInput)(nil)).Elem(), GetIsVpcRoutingTableAcceptRoutesFromArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableResourceGroupInput)(nil)).Elem(), GetIsVpcRoutingTableResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableResourceGroupArrayInput)(nil)).Elem(), GetIsVpcRoutingTableResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteTypeInput)(nil)).Elem(), GetIsVpcRoutingTableRouteTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteTypeArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRouteTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteCreatorInput)(nil)).Elem(), GetIsVpcRoutingTableRouteCreatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteCreatorArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRouteCreatorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteCreatorDeletedInput)(nil)).Elem(), GetIsVpcRoutingTableRouteCreatorDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteCreatorDeletedArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRouteCreatorDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteDeletedInput)(nil)).Elem(), GetIsVpcRoutingTableRouteDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteDeletedArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRouteDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteNextHopInput)(nil)).Elem(), GetIsVpcRoutingTableRouteNextHopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteNextHopArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRouteNextHopArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteNextHopDeletedInput)(nil)).Elem(), GetIsVpcRoutingTableRouteNextHopDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteNextHopDeletedArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRouteNextHopDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteZoneInput)(nil)).Elem(), GetIsVpcRoutingTableRouteZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRouteZoneArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRouteZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteInput)(nil)).Elem(), GetIsVpcRoutingTableRoutesRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRoutesRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteCreatorInput)(nil)).Elem(), GetIsVpcRoutingTableRoutesRouteCreatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteCreatorArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRoutesRouteCreatorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteCreatorDeletedInput)(nil)).Elem(), GetIsVpcRoutingTableRoutesRouteCreatorDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayInput)(nil)).Elem(), GetIsVpcRoutingTableRoutesRouteCreatorDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableSubnetInput)(nil)).Elem(), GetIsVpcRoutingTableSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableSubnetArrayInput)(nil)).Elem(), GetIsVpcRoutingTableSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableSubnetDeletedInput)(nil)).Elem(), GetIsVpcRoutingTableSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTableSubnetDeletedArrayInput)(nil)).Elem(), GetIsVpcRoutingTableSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableArrayInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableResourceGroupInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableResourceGroupArrayInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableRouteInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableRouteArrayInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableSubnetInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcRoutingTablesRoutingTableSubnetArrayInput)(nil)).Elem(), GetIsVpcRoutingTablesRoutingTableSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcSecurityGroupInput)(nil)).Elem(), GetIsVpcSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcSecurityGroupArrayInput)(nil)).Elem(), GetIsVpcSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcSecurityGroupRuleInput)(nil)).Elem(), GetIsVpcSecurityGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcSecurityGroupRuleArrayInput)(nil)).Elem(), GetIsVpcSecurityGroupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcSubnetInput)(nil)).Elem(), GetIsVpcSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcSubnetArrayInput)(nil)).Elem(), GetIsVpcSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcInput)(nil)).Elem(), GetIsVpcsVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcArrayInput)(nil)).Elem(), GetIsVpcsVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcCseSourceAddressInput)(nil)).Elem(), GetIsVpcsVpcCseSourceAddressArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcCseSourceAddressArrayInput)(nil)).Elem(), GetIsVpcsVpcCseSourceAddressArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnInput)(nil)).Elem(), GetIsVpcsVpcDnArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnArrayInput)(nil)).Elem(), GetIsVpcsVpcDnArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverInput)(nil)).Elem(), GetIsVpcsVpcDnResolverArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverArrayInput)(nil)).Elem(), GetIsVpcsVpcDnResolverArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverManualServerInput)(nil)).Elem(), GetIsVpcsVpcDnResolverManualServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverManualServerArrayInput)(nil)).Elem(), GetIsVpcsVpcDnResolverManualServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverServerInput)(nil)).Elem(), GetIsVpcsVpcDnResolverServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverServerArrayInput)(nil)).Elem(), GetIsVpcsVpcDnResolverServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcInput)(nil)).Elem(), GetIsVpcsVpcDnResolverVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcArrayInput)(nil)).Elem(), GetIsVpcsVpcDnResolverVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcDeletedInput)(nil)).Elem(), GetIsVpcsVpcDnResolverVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcDeletedArrayInput)(nil)).Elem(), GetIsVpcsVpcDnResolverVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcRemoteInput)(nil)).Elem(), GetIsVpcsVpcDnResolverVpcRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcRemoteArrayInput)(nil)).Elem(), GetIsVpcsVpcDnResolverVpcRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcRemoteAccountInput)(nil)).Elem(), GetIsVpcsVpcDnResolverVpcRemoteAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcDnResolverVpcRemoteAccountArrayInput)(nil)).Elem(), GetIsVpcsVpcDnResolverVpcRemoteAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcHealthReasonInput)(nil)).Elem(), GetIsVpcsVpcHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcHealthReasonArrayInput)(nil)).Elem(), GetIsVpcsVpcHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcPublicAddressRangeInput)(nil)).Elem(), GetIsVpcsVpcPublicAddressRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcPublicAddressRangeArrayInput)(nil)).Elem(), GetIsVpcsVpcPublicAddressRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcPublicAddressRangeDeletedInput)(nil)).Elem(), GetIsVpcsVpcPublicAddressRangeDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcPublicAddressRangeDeletedArrayInput)(nil)).Elem(), GetIsVpcsVpcPublicAddressRangeDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcSecurityGroupInput)(nil)).Elem(), GetIsVpcsVpcSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcSecurityGroupArrayInput)(nil)).Elem(), GetIsVpcsVpcSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcSecurityGroupRuleInput)(nil)).Elem(), GetIsVpcsVpcSecurityGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcSecurityGroupRuleArrayInput)(nil)).Elem(), GetIsVpcsVpcSecurityGroupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcSubnetInput)(nil)).Elem(), GetIsVpcsVpcSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpcsVpcSubnetArrayInput)(nil)).Elem(), GetIsVpcsVpcSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionTypeInput)(nil)).Elem(), GetIsVpnGatewayConnectionTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionTypeArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionDeadPeerDetectionInput)(nil)).Elem(), GetIsVpnGatewayConnectionDeadPeerDetectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionDeadPeerDetectionArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionDeadPeerDetectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionDeletedInput)(nil)).Elem(), GetIsVpnGatewayConnectionDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionDeletedArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionIkePolicyInput)(nil)).Elem(), GetIsVpnGatewayConnectionIkePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionIkePolicyArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionIkePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionIkePolicyDeletedInput)(nil)).Elem(), GetIsVpnGatewayConnectionIkePolicyDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionIkePolicyDeletedArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionIkePolicyDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionIpsecPolicyInput)(nil)).Elem(), GetIsVpnGatewayConnectionIpsecPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionIpsecPolicyArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionIpsecPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionIpsecPolicyDeletedInput)(nil)).Elem(), GetIsVpnGatewayConnectionIpsecPolicyDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionIpsecPolicyDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionLocalInput)(nil)).Elem(), GetIsVpnGatewayConnectionLocalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionLocalArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionLocalArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionLocalIkeIdentityInput)(nil)).Elem(), GetIsVpnGatewayConnectionLocalIkeIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionLocalIkeIdentityArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionLocalIkeIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionPeerInput)(nil)).Elem(), GetIsVpnGatewayConnectionPeerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionPeerArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionPeerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionPeerIkeIdentityInput)(nil)).Elem(), GetIsVpnGatewayConnectionPeerIkeIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionPeerIkeIdentityArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionPeerIkeIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionStatusReasonInput)(nil)).Elem(), GetIsVpnGatewayConnectionStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionStatusReasonArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionTunnelInput)(nil)).Elem(), GetIsVpnGatewayConnectionTunnelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionTunnelArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionTunnelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionLocalInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionLocalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionLocalArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionLocalArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionPeerInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionPeerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionPeerArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionPeerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionStatusReasonInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionStatusReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionStatusReasonArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionStatusReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionTunnelInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionTunnelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayConnectionsConnectionTunnelArrayInput)(nil)).Elem(), GetIsVpnGatewayConnectionsConnectionTunnelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayHealthReasonInput)(nil)).Elem(), GetIsVpnGatewayHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayHealthReasonArrayInput)(nil)).Elem(), GetIsVpnGatewayHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayLifecycleReasonInput)(nil)).Elem(), GetIsVpnGatewayLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayLifecycleReasonArrayInput)(nil)).Elem(), GetIsVpnGatewayLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayMemberInput)(nil)).Elem(), GetIsVpnGatewayMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayMemberArrayInput)(nil)).Elem(), GetIsVpnGatewayMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayResourceGroupInput)(nil)).Elem(), GetIsVpnGatewayResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayResourceGroupArrayInput)(nil)).Elem(), GetIsVpnGatewayResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaySubnetInput)(nil)).Elem(), GetIsVpnGatewaySubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaySubnetArrayInput)(nil)).Elem(), GetIsVpnGatewaySubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaySubnetDeletedInput)(nil)).Elem(), GetIsVpnGatewaySubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaySubnetDeletedArrayInput)(nil)).Elem(), GetIsVpnGatewaySubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayVpcInput)(nil)).Elem(), GetIsVpnGatewayVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayVpcArrayInput)(nil)).Elem(), GetIsVpnGatewayVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayVpcDeletedInput)(nil)).Elem(), GetIsVpnGatewayVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewayVpcDeletedArrayInput)(nil)).Elem(), GetIsVpnGatewayVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayArrayInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayHealthReasonInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayHealthReasonArrayInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayLifecycleReasonInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayMemberInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayMemberArrayInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayVpcInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayVpcArrayInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayVpcDeletedInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnGatewaysVpnGatewayVpcDeletedArrayInput)(nil)).Elem(), GetIsVpnGatewaysVpnGatewayVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerCertificateInput)(nil)).Elem(), GetIsVpnServerCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerCertificateArrayInput)(nil)).Elem(), GetIsVpnServerCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientAuthenticationInput)(nil)).Elem(), GetIsVpnServerClientAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientAuthenticationArrayInput)(nil)).Elem(), GetIsVpnServerClientAuthenticationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientClientIpInput)(nil)).Elem(), GetIsVpnServerClientClientIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientClientIpArrayInput)(nil)).Elem(), GetIsVpnServerClientClientIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientDnsServerIpInput)(nil)).Elem(), GetIsVpnServerClientDnsServerIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientDnsServerIpArrayInput)(nil)).Elem(), GetIsVpnServerClientDnsServerIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientRemoteIpInput)(nil)).Elem(), GetIsVpnServerClientRemoteIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientRemoteIpArrayInput)(nil)).Elem(), GetIsVpnServerClientRemoteIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientsClientInput)(nil)).Elem(), GetIsVpnServerClientsClientArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientsClientArrayInput)(nil)).Elem(), GetIsVpnServerClientsClientArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientsClientClientIpInput)(nil)).Elem(), GetIsVpnServerClientsClientClientIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientsClientClientIpArrayInput)(nil)).Elem(), GetIsVpnServerClientsClientClientIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientsClientRemoteIpInput)(nil)).Elem(), GetIsVpnServerClientsClientRemoteIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerClientsClientRemoteIpArrayInput)(nil)).Elem(), GetIsVpnServerClientsClientRemoteIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerHealthReasonInput)(nil)).Elem(), GetIsVpnServerHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerHealthReasonArrayInput)(nil)).Elem(), GetIsVpnServerHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerLifecycleReasonInput)(nil)).Elem(), GetIsVpnServerLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerLifecycleReasonArrayInput)(nil)).Elem(), GetIsVpnServerLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerPrivateIpInput)(nil)).Elem(), GetIsVpnServerPrivateIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerPrivateIpArrayInput)(nil)).Elem(), GetIsVpnServerPrivateIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerPrivateIpDeletedInput)(nil)).Elem(), GetIsVpnServerPrivateIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerPrivateIpDeletedArrayInput)(nil)).Elem(), GetIsVpnServerPrivateIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerResourceGroupInput)(nil)).Elem(), GetIsVpnServerResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerResourceGroupArrayInput)(nil)).Elem(), GetIsVpnServerResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRouteHealthReasonInput)(nil)).Elem(), GetIsVpnServerRouteHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRouteHealthReasonArrayInput)(nil)).Elem(), GetIsVpnServerRouteHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRouteLifecycleReasonInput)(nil)).Elem(), GetIsVpnServerRouteLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRouteLifecycleReasonArrayInput)(nil)).Elem(), GetIsVpnServerRouteLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRoutesRouteInput)(nil)).Elem(), GetIsVpnServerRoutesRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRoutesRouteArrayInput)(nil)).Elem(), GetIsVpnServerRoutesRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRoutesRouteHealthReasonInput)(nil)).Elem(), GetIsVpnServerRoutesRouteHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRoutesRouteHealthReasonArrayInput)(nil)).Elem(), GetIsVpnServerRoutesRouteHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRoutesRouteLifecycleReasonInput)(nil)).Elem(), GetIsVpnServerRoutesRouteLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerRoutesRouteLifecycleReasonArrayInput)(nil)).Elem(), GetIsVpnServerRoutesRouteLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerSecurityGroupInput)(nil)).Elem(), GetIsVpnServerSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerSecurityGroupArrayInput)(nil)).Elem(), GetIsVpnServerSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerSecurityGroupDeletedInput)(nil)).Elem(), GetIsVpnServerSecurityGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerSecurityGroupDeletedArrayInput)(nil)).Elem(), GetIsVpnServerSecurityGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerSubnetInput)(nil)).Elem(), GetIsVpnServerSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerSubnetArrayInput)(nil)).Elem(), GetIsVpnServerSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerSubnetDeletedInput)(nil)).Elem(), GetIsVpnServerSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerSubnetDeletedArrayInput)(nil)).Elem(), GetIsVpnServerSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerVpcInput)(nil)).Elem(), GetIsVpnServerVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerVpcArrayInput)(nil)).Elem(), GetIsVpnServerVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerVpcDeletedInput)(nil)).Elem(), GetIsVpnServerVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServerVpcDeletedArrayInput)(nil)).Elem(), GetIsVpnServerVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerInput)(nil)).Elem(), GetIsVpnServersVpnServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerCertificateInput)(nil)).Elem(), GetIsVpnServersVpnServerCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerCertificateArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerClientAuthenticationInput)(nil)).Elem(), GetIsVpnServersVpnServerClientAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerClientAuthenticationArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerClientAuthenticationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerClientDnsServerIpInput)(nil)).Elem(), GetIsVpnServersVpnServerClientDnsServerIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerClientDnsServerIpArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerClientDnsServerIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerHealthReasonInput)(nil)).Elem(), GetIsVpnServersVpnServerHealthReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerHealthReasonArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerHealthReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerLifecycleReasonInput)(nil)).Elem(), GetIsVpnServersVpnServerLifecycleReasonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerLifecycleReasonArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerLifecycleReasonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerPrivateIpInput)(nil)).Elem(), GetIsVpnServersVpnServerPrivateIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerPrivateIpArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerPrivateIpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerPrivateIpDeletedInput)(nil)).Elem(), GetIsVpnServersVpnServerPrivateIpDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerPrivateIpDeletedArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerPrivateIpDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerResourceGroupInput)(nil)).Elem(), GetIsVpnServersVpnServerResourceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerResourceGroupArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerResourceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerSecurityGroupInput)(nil)).Elem(), GetIsVpnServersVpnServerSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerSecurityGroupArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerSecurityGroupDeletedInput)(nil)).Elem(), GetIsVpnServersVpnServerSecurityGroupDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerSecurityGroupDeletedArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerSecurityGroupDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerSubnetInput)(nil)).Elem(), GetIsVpnServersVpnServerSubnetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerSubnetArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerSubnetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerSubnetDeletedInput)(nil)).Elem(), GetIsVpnServersVpnServerSubnetDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerSubnetDeletedArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerSubnetDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerVpcInput)(nil)).Elem(), GetIsVpnServersVpnServerVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerVpcArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerVpcDeletedInput)(nil)).Elem(), GetIsVpnServersVpnServerVpcDeletedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsVpnServersVpnServerVpcDeletedArrayInput)(nil)).Elem(), GetIsVpnServersVpnServerVpcDeletedArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsZonesZoneInfoInput)(nil)).Elem(), GetIsZonesZoneInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIsZonesZoneInfoArrayInput)(nil)).Elem(), GetIsZonesZoneInfoArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiAvailableHostsAvailableHostInput)(nil)).Elem(), GetPiAvailableHostsAvailableHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiAvailableHostsAvailableHostArrayInput)(nil)).Elem(), GetPiAvailableHostsAvailableHostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiCatalogImagesImageInput)(nil)).Elem(), GetPiCatalogImagesImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiCatalogImagesImageArrayInput)(nil)).Elem(), GetPiCatalogImagesImageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiCloudConnectionsConnectionInput)(nil)).Elem(), GetPiCloudConnectionsConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiCloudConnectionsConnectionArrayInput)(nil)).Elem(), GetPiCloudConnectionsConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiCloudInstancePvmInstanceInput)(nil)).Elem(), GetPiCloudInstancePvmInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiCloudInstancePvmInstanceArrayInput)(nil)).Elem(), GetPiCloudInstancePvmInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiConsoleLanguagesConsoleLanguageInput)(nil)).Elem(), GetPiConsoleLanguagesConsoleLanguageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiConsoleLanguagesConsoleLanguageArrayInput)(nil)).Elem(), GetPiConsoleLanguagesConsoleLanguageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailArrayInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoveryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryArrayInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoveryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailSupportedSystemInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailSupportedSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacenterCapabilityDetailSupportedSystemArrayInput)(nil)).Elem(), GetPiDatacenterCapabilityDetailSupportedSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterInput)(nil)).Elem(), GetPiDatacentersDatacenterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterArrayInput)(nil)).Elem(), GetPiDatacentersDatacenterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailArrayInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailSupportedSystemInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayInput)(nil)).Elem(), GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDhcpLeaseInput)(nil)).Elem(), GetPiDhcpLeaseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDhcpLeaseArrayInput)(nil)).Elem(), GetPiDhcpLeaseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDhcpsServerInput)(nil)).Elem(), GetPiDhcpsServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDhcpsServerArrayInput)(nil)).Elem(), GetPiDhcpsServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationReplicationSiteInput)(nil)).Elem(), GetPiDisasterRecoveryLocationReplicationSiteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationReplicationSiteArrayInput)(nil)).Elem(), GetPiDisasterRecoveryLocationReplicationSiteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput)(nil)).Elem(), GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput)(nil)).Elem(), GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationInput)(nil)).Elem(), GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayInput)(nil)).Elem(), GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteInput)(nil)).Elem(), GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayInput)(nil)).Elem(), GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapInput)(nil)).Elem(), GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayInput)(nil)).Elem(), GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiHostCapacityInput)(nil)).Elem(), GetPiHostCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiHostCapacityArrayInput)(nil)).Elem(), GetPiHostCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiHostGroupsHostGroupInput)(nil)).Elem(), GetPiHostGroupsHostGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiHostGroupsHostGroupArrayInput)(nil)).Elem(), GetPiHostGroupsHostGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiHostsHostInput)(nil)).Elem(), GetPiHostsHostArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiHostsHostArrayInput)(nil)).Elem(), GetPiHostsHostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiHostsHostCapacityInput)(nil)).Elem(), GetPiHostsHostCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiHostsHostCapacityArrayInput)(nil)).Elem(), GetPiHostsHostCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiImagesImageInfoInput)(nil)).Elem(), GetPiImagesImageInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiImagesImageInfoArrayInput)(nil)).Elem(), GetPiImagesImageInfoArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstanceNetworkInput)(nil)).Elem(), GetPiInstanceNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstanceNetworkArrayInput)(nil)).Elem(), GetPiInstanceNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstanceSnapshotsInstanceSnapshotInput)(nil)).Elem(), GetPiInstanceSnapshotsInstanceSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstanceSnapshotsInstanceSnapshotArrayInput)(nil)).Elem(), GetPiInstanceSnapshotsInstanceSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstanceVirtualSerialNumberInput)(nil)).Elem(), GetPiInstanceVirtualSerialNumberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstanceVirtualSerialNumberArrayInput)(nil)).Elem(), GetPiInstanceVirtualSerialNumberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstanceVolumesInstanceVolumeInput)(nil)).Elem(), GetPiInstanceVolumesInstanceVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstanceVolumesInstanceVolumeArrayInput)(nil)).Elem(), GetPiInstanceVolumesInstanceVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstancesPvmInstanceInput)(nil)).Elem(), GetPiInstancesPvmInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstancesPvmInstanceArrayInput)(nil)).Elem(), GetPiInstancesPvmInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstancesPvmInstanceNetworkInput)(nil)).Elem(), GetPiInstancesPvmInstanceNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstancesPvmInstanceNetworkArrayInput)(nil)).Elem(), GetPiInstancesPvmInstanceNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstancesPvmInstanceVirtualSerialNumberInput)(nil)).Elem(), GetPiInstancesPvmInstanceVirtualSerialNumberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiInstancesPvmInstanceVirtualSerialNumberArrayInput)(nil)).Elem(), GetPiInstancesPvmInstanceVirtualSerialNumberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiKeysKeyInput)(nil)).Elem(), GetPiKeysKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiKeysKeyArrayInput)(nil)).Elem(), GetPiKeysKeyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkAddressGroupMemberTypeInput)(nil)).Elem(), GetPiNetworkAddressGroupMemberTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkAddressGroupMemberTypeArrayInput)(nil)).Elem(), GetPiNetworkAddressGroupMemberTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkAddressGroupsNetworkAddressGroupInput)(nil)).Elem(), GetPiNetworkAddressGroupsNetworkAddressGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkAddressGroupsNetworkAddressGroupArrayInput)(nil)).Elem(), GetPiNetworkAddressGroupsNetworkAddressGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkAddressGroupsNetworkAddressGroupMemberInput)(nil)).Elem(), GetPiNetworkAddressGroupsNetworkAddressGroupMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayInput)(nil)).Elem(), GetPiNetworkAddressGroupsNetworkAddressGroupMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkInterfaceInstanceInput)(nil)).Elem(), GetPiNetworkInterfaceInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkInterfaceInstanceArrayInput)(nil)).Elem(), GetPiNetworkInterfaceInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkInterfacesInterfaceInput)(nil)).Elem(), GetPiNetworkInterfacesInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkInterfacesInterfaceArrayInput)(nil)).Elem(), GetPiNetworkInterfacesInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkInterfacesInterfaceInstanceInput)(nil)).Elem(), GetPiNetworkInterfacesInterfaceInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkInterfacesInterfaceInstanceArrayInput)(nil)).Elem(), GetPiNetworkInterfacesInterfaceInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkNetworkAddressTranslationInput)(nil)).Elem(), GetPiNetworkNetworkAddressTranslationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkNetworkAddressTranslationArrayInput)(nil)).Elem(), GetPiNetworkNetworkAddressTranslationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeerExportRouteFilterInput)(nil)).Elem(), GetPiNetworkPeerExportRouteFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeerExportRouteFilterArrayInput)(nil)).Elem(), GetPiNetworkPeerExportRouteFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeerImportRouteFilterInput)(nil)).Elem(), GetPiNetworkPeerImportRouteFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeerImportRouteFilterArrayInput)(nil)).Elem(), GetPiNetworkPeerImportRouteFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeerInterfacesPeerInterfaceInput)(nil)).Elem(), GetPiNetworkPeerInterfacesPeerInterfaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeerInterfacesPeerInterfaceArrayInput)(nil)).Elem(), GetPiNetworkPeerInterfacesPeerInterfaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeersNetworkPeerInput)(nil)).Elem(), GetPiNetworkPeersNetworkPeerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeersNetworkPeerArrayInput)(nil)).Elem(), GetPiNetworkPeersNetworkPeerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeersNetworkPeerExportRouteFilterInput)(nil)).Elem(), GetPiNetworkPeersNetworkPeerExportRouteFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeersNetworkPeerExportRouteFilterArrayInput)(nil)).Elem(), GetPiNetworkPeersNetworkPeerExportRouteFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeersNetworkPeerImportRouteFilterInput)(nil)).Elem(), GetPiNetworkPeersNetworkPeerImportRouteFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPeersNetworkPeerImportRouteFilterArrayInput)(nil)).Elem(), GetPiNetworkPeersNetworkPeerImportRouteFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPortNetworkPortInput)(nil)).Elem(), GetPiNetworkPortNetworkPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkPortNetworkPortArrayInput)(nil)).Elem(), GetPiNetworkPortNetworkPortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupMemberTypeInput)(nil)).Elem(), GetPiNetworkSecurityGroupMemberTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupMemberTypeArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupMemberTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleTypeInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleTypeArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleDestinationPortInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleDestinationPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleDestinationPortArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleDestinationPortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleProtocolInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleProtocolArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleProtocolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleProtocolTcpFlagInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleProtocolTcpFlagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleProtocolTcpFlagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleRemoteInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleRemoteArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleSourcePortInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleSourcePortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupRuleSourcePortArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupRuleSourcePortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayInput)(nil)).Elem(), GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworksNetworkInput)(nil)).Elem(), GetPiNetworksNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiNetworksNetworkArrayInput)(nil)).Elem(), GetPiNetworksNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiPlacementGroupsPlacementGroupInput)(nil)).Elem(), GetPiPlacementGroupsPlacementGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiPlacementGroupsPlacementGroupArrayInput)(nil)).Elem(), GetPiPlacementGroupsPlacementGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiPvmSnapshotsPvmSnapshotInput)(nil)).Elem(), GetPiPvmSnapshotsPvmSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiPvmSnapshotsPvmSnapshotArrayInput)(nil)).Elem(), GetPiPvmSnapshotsPvmSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiRouteReportRouteInput)(nil)).Elem(), GetPiRouteReportRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiRouteReportRouteArrayInput)(nil)).Elem(), GetPiRouteReportRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiRoutesRouteInput)(nil)).Elem(), GetPiRoutesRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiRoutesRouteArrayInput)(nil)).Elem(), GetPiRoutesRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSapProfilesProfileInput)(nil)).Elem(), GetPiSapProfilesProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSapProfilesProfileArrayInput)(nil)).Elem(), GetPiSapProfilesProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSharedProcessorPoolInstanceInput)(nil)).Elem(), GetPiSharedProcessorPoolInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSharedProcessorPoolInstanceArrayInput)(nil)).Elem(), GetPiSharedProcessorPoolInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSharedProcessorPoolsSharedProcessorPoolInput)(nil)).Elem(), GetPiSharedProcessorPoolsSharedProcessorPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSharedProcessorPoolsSharedProcessorPoolArrayInput)(nil)).Elem(), GetPiSharedProcessorPoolsSharedProcessorPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSoftwareTiersSupportedSoftwareTierInput)(nil)).Elem(), GetPiSoftwareTiersSupportedSoftwareTierArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSoftwareTiersSupportedSoftwareTierArrayInput)(nil)).Elem(), GetPiSoftwareTiersSupportedSoftwareTierArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSppPlacementGroupsSppPlacementGroupInput)(nil)).Elem(), GetPiSppPlacementGroupsSppPlacementGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSppPlacementGroupsSppPlacementGroupArrayInput)(nil)).Elem(), GetPiSppPlacementGroupsSppPlacementGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStoragePoolsCapacityStoragePoolsCapacityInput)(nil)).Elem(), GetPiStoragePoolsCapacityStoragePoolsCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStoragePoolsCapacityStoragePoolsCapacityArrayInput)(nil)).Elem(), GetPiStoragePoolsCapacityStoragePoolsCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStorageTiersRegionStorageTierInput)(nil)).Elem(), GetPiStorageTiersRegionStorageTierArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStorageTiersRegionStorageTierArrayInput)(nil)).Elem(), GetPiStorageTiersRegionStorageTierArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStorageTypeCapacityStoragePoolsCapacityInput)(nil)).Elem(), GetPiStorageTypeCapacityStoragePoolsCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStorageTypeCapacityStoragePoolsCapacityArrayInput)(nil)).Elem(), GetPiStorageTypeCapacityStoragePoolsCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStorageTypesCapacityStorageTypesCapacityInput)(nil)).Elem(), GetPiStorageTypesCapacityStorageTypesCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStorageTypesCapacityStorageTypesCapacityArrayInput)(nil)).Elem(), GetPiStorageTypesCapacityStorageTypesCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityInput)(nil)).Elem(), GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayInput)(nil)).Elem(), GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSystemPoolsSystemPoolInput)(nil)).Elem(), GetPiSystemPoolsSystemPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSystemPoolsSystemPoolArrayInput)(nil)).Elem(), GetPiSystemPoolsSystemPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSystemPoolsSystemPoolSystemInput)(nil)).Elem(), GetPiSystemPoolsSystemPoolSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiSystemPoolsSystemPoolSystemArrayInput)(nil)).Elem(), GetPiSystemPoolsSystemPoolSystemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiTenantCloudInstanceInput)(nil)).Elem(), GetPiTenantCloudInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiTenantCloudInstanceArrayInput)(nil)).Elem(), GetPiTenantCloudInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVirtualSerialNumbersVirtualSerialNumberInput)(nil)).Elem(), GetPiVirtualSerialNumbersVirtualSerialNumberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVirtualSerialNumbersVirtualSerialNumberArrayInput)(nil)).Elem(), GetPiVirtualSerialNumbersVirtualSerialNumberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeCloneCloneVolumeInput)(nil)).Elem(), GetPiVolumeCloneCloneVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeCloneCloneVolumeArrayInput)(nil)).Elem(), GetPiVolumeCloneCloneVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeFlashCopyMappingsFlashCopyMappingInput)(nil)).Elem(), GetPiVolumeFlashCopyMappingsFlashCopyMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayInput)(nil)).Elem(), GetPiVolumeFlashCopyMappingsFlashCopyMappingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupDetailsStatusDescriptionErrorInput)(nil)).Elem(), GetPiVolumeGroupDetailsStatusDescriptionErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupDetailsStatusDescriptionErrorArrayInput)(nil)).Elem(), GetPiVolumeGroupDetailsStatusDescriptionErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipInput)(nil)).Elem(), GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayInput)(nil)).Elem(), GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupStatusDescriptionErrorInput)(nil)).Elem(), GetPiVolumeGroupStatusDescriptionErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupStatusDescriptionErrorArrayInput)(nil)).Elem(), GetPiVolumeGroupStatusDescriptionErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupsDetailsVolumeGroupInput)(nil)).Elem(), GetPiVolumeGroupsDetailsVolumeGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupsDetailsVolumeGroupArrayInput)(nil)).Elem(), GetPiVolumeGroupsDetailsVolumeGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorInput)(nil)).Elem(), GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayInput)(nil)).Elem(), GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupsVolumeGroupInput)(nil)).Elem(), GetPiVolumeGroupsVolumeGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupsVolumeGroupArrayInput)(nil)).Elem(), GetPiVolumeGroupsVolumeGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorInput)(nil)).Elem(), GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayInput)(nil)).Elem(), GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeOnboardingResultsVolumeOnboardingFailureInput)(nil)).Elem(), GetPiVolumeOnboardingResultsVolumeOnboardingFailureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayInput)(nil)).Elem(), GetPiVolumeOnboardingResultsVolumeOnboardingFailureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeOnboardingsOnboardingInput)(nil)).Elem(), GetPiVolumeOnboardingsOnboardingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeOnboardingsOnboardingArrayInput)(nil)).Elem(), GetPiVolumeOnboardingsOnboardingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeSnapshotsVolumeSnapshotInput)(nil)).Elem(), GetPiVolumeSnapshotsVolumeSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumeSnapshotsVolumeSnapshotArrayInput)(nil)).Elem(), GetPiVolumeSnapshotsVolumeSnapshotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumesVolumeInput)(nil)).Elem(), GetPiVolumesVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiVolumesVolumeArrayInput)(nil)).Elem(), GetPiVolumesVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailInput)(nil)).Elem(), GetPiWorkspacePiWorkspaceDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailArrayInput)(nil)).Elem(), GetPiWorkspacePiWorkspaceDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupInput)(nil)).Elem(), GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput)(nil)).Elem(), GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterInput)(nil)).Elem(), GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput)(nil)).Elem(), GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacesWorkspaceInput)(nil)).Elem(), GetPiWorkspacesWorkspaceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacesWorkspaceArrayInput)(nil)).Elem(), GetPiWorkspacesWorkspaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailInput)(nil)).Elem(), GetPiWorkspacesWorkspacePiWorkspaceDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailArrayInput)(nil)).Elem(), GetPiWorkspacesWorkspacePiWorkspaceDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupInput)(nil)).Elem(), GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayInput)(nil)).Elem(), GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterInput)(nil)).Elem(), GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayInput)(nil)).Elem(), GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgConnectionPrefixFiltersPrefixFilterInput)(nil)).Elem(), GetTgConnectionPrefixFiltersPrefixFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgConnectionPrefixFiltersPrefixFilterArrayInput)(nil)).Elem(), GetTgConnectionPrefixFiltersPrefixFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgGatewayConnectionInput)(nil)).Elem(), GetTgGatewayConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgGatewayConnectionArrayInput)(nil)).Elem(), GetTgGatewayConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgGatewayConnectionTunnelInput)(nil)).Elem(), GetTgGatewayConnectionTunnelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgGatewayConnectionTunnelArrayInput)(nil)).Elem(), GetTgGatewayConnectionTunnelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgGatewaysTransitGatewayInput)(nil)).Elem(), GetTgGatewaysTransitGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgGatewaysTransitGatewayArrayInput)(nil)).Elem(), GetTgGatewaysTransitGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgLocationLocalConnectionLocationInput)(nil)).Elem(), GetTgLocationLocalConnectionLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgLocationLocalConnectionLocationArrayInput)(nil)).Elem(), GetTgLocationLocalConnectionLocationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgLocationsLocationInput)(nil)).Elem(), GetTgLocationsLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgLocationsLocationArrayInput)(nil)).Elem(), GetTgLocationsLocationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportConnectionInput)(nil)).Elem(), GetTgRouteReportConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportConnectionArrayInput)(nil)).Elem(), GetTgRouteReportConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportConnectionBgpInput)(nil)).Elem(), GetTgRouteReportConnectionBgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportConnectionBgpArrayInput)(nil)).Elem(), GetTgRouteReportConnectionBgpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportConnectionRouteInput)(nil)).Elem(), GetTgRouteReportConnectionRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportConnectionRouteArrayInput)(nil)).Elem(), GetTgRouteReportConnectionRouteArray{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupTargetOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupVpcOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSecurityGroupsSecurityGroupVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorRemoteOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingAccessorRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsShareAccessorBindingsAccessorBindingAccessorRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareLatestJobOutput{}) + pulumi.RegisterOutputType(GetIsShareLatestJobArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareLatestJobStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsShareLatestJobStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareLatestSyncOutput{}) + pulumi.RegisterOutputType(GetIsShareLatestSyncArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetTypeOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetSubnetOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetVirtualNetworkInterfaceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetVirtualNetworkInterfaceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetVpcOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetPrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetPrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetPrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetPrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetSubnetOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetVirtualNetworkInterfaceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetVpcOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareMountTargetsMountTargetVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareRemoteOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsShareOriginShareRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileAllowedAccessProtocolOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileAllowedAccessProtocolArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileAllowedTransitEncryptionModeOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileAllowedTransitEncryptionModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileAvailabilityModeOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileAvailabilityModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileBandwidthOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileBandwidthArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileCapacityOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileIopOutput{}) + pulumi.RegisterOutputType(GetIsShareProfileIopArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileAllowedAccessProtocolOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileAllowedAccessProtocolArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileAllowedTransitEncryptionModeOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileAllowedTransitEncryptionModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileAvailabilityModeOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileAvailabilityModeArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileBandwidthOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileBandwidthArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileCapacityOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileIopOutput{}) + pulumi.RegisterOutputType(GetIsShareProfilesProfileIopArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareReplicaShareOutput{}) + pulumi.RegisterOutputType(GetIsShareReplicaShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareReplicaShareDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareReplicaShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareReplicationStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsShareReplicationStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareShareTargetOutput{}) + pulumi.RegisterOutputType(GetIsShareShareTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareShareTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareShareTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotBackupPolicyPlanRemoteOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotBackupPolicyPlanRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotBackupPolicyPlanRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotBackupPolicyPlanRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotZoneOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotBackupPolicyPlanRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotZoneOutput{}) + pulumi.RegisterOutputType(GetIsShareSnapshotsSnapshotZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSourceShareOutput{}) + pulumi.RegisterOutputType(GetIsShareSourceShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSourceShareDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareSourceShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSourceSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsShareSourceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsShareSourceSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsShareSourceSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareAccessorBindingOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareAccessorBindingArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareLatestJobOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareLatestJobArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareLatestJobStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareLatestJobStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareLatestSyncOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareLatestSyncArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareMountTargetOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareMountTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareMountTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareMountTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareOriginShareRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareReplicaShareOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareReplicaShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareReplicaShareDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareReplicaShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareReplicationStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareReplicationStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareSourceShareOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareSourceShareArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareSourceShareDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareSourceShareDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareSourceSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareSourceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareSourceSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSharesShareSourceSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotClonesCloneOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotClonesCloneArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupSnapshotRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupSnapshotRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupBackupPolicyPlanRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotConsistencyGroupsSnapshotConsistencyGroupSnapshotRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCopyOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCopyArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCopyDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCopyDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCopyRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotCopyRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotInstanceProfilesInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotInstanceProfilesInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSnapshotConsistencyGroupOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSnapshotConsistencyGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSnapshotConsistencyGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSnapshotConsistencyGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSourceSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSourceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSourceSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSourceSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSourceSnapshotRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotSourceSnapshotRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotBackupPolicyPlanOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotBackupPolicyPlanArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotBackupPolicyPlanDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotBackupPolicyPlanDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCopyOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCopyArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCopyDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCopyDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCopyRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotCopyRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSnapshotConsistencyGroupOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSnapshotConsistencyGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSnapshotConsistencyGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSourceSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSourceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSourceSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSourceSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSourceSnapshotRemoteOutput{}) + pulumi.RegisterOutputType(GetIsSnapshotsSnapshotSourceSnapshotRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsSshKeysKeyOutput{}) + pulumi.RegisterOutputType(GetIsSshKeysKeyArrayOutput{}) + pulumi.RegisterOutputType(GetIsSshKeysKeyResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsSshKeysKeyResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpTargetReferenceOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpTargetReferenceArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpTargetReferenceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpTargetReferenceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpsReservedIpOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpsReservedIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpsReservedIpTargetReferenceOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpsReservedIpTargetReferenceArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSubnetReservedIpsReservedIpTargetReferenceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetRoutingTableOutput{}) + pulumi.RegisterOutputType(GetIsSubnetRoutingTableArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetRoutingTableDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSubnetRoutingTableDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetsSubnetOutput{}) + pulumi.RegisterOutputType(GetIsSubnetsSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetsSubnetRoutingTableOutput{}) + pulumi.RegisterOutputType(GetIsSubnetsSubnetRoutingTableArrayOutput{}) + pulumi.RegisterOutputType(GetIsSubnetsSubnetRoutingTableDeletedOutput{}) + pulumi.RegisterOutputType(GetIsSubnetsSubnetRoutingTableDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayIpTypeOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayIpTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayIpsIpOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayIpsIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayIpsIpTargetOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayIpsIpTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayTargetOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewayTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetOutput{}) + pulumi.RegisterOutputType(GetIsVirtualEndpointGatewaysVirtualEndpointGatewayTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceFloatingIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceFloatingIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceFloatingIpsFloatingIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceIpTypeOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceIpTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceIpsReservedIpOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceIpsReservedIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceSecurityGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceTargetOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceVpcOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceZoneOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfaceZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfacePrimaryIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSecurityGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceTargetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneOutput{}) + pulumi.RegisterOutputType(GetIsVirtualNetworkInterfacesVirtualNetworkInterfaceZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsVolumeAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsVolumeCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVolumeCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVolumeHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeInstanceProfilesInstanceProfileOutput{}) + pulumi.RegisterOutputType(GetIsVolumeInstanceProfilesInstanceProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeOperatingSystemOutput{}) + pulumi.RegisterOutputType(GetIsVolumeOperatingSystemArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileAdjustableCapacityStateOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileAdjustableCapacityStateArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileAdjustableIopsStateOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileAdjustableIopsStateArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileBootCapacityOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileBootCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileCapacityOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileIopOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfileIopArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileAdjustableCapacityStateOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileAdjustableCapacityStateArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileAdjustableIopsStateOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileAdjustableIopsStateArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileBootCapacityOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileBootCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileCapacityOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileIopOutput{}) + pulumi.RegisterOutputType(GetIsVolumeProfilesProfileIopArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumeStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsVolumeStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeAllowedUseOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeAllowedUseArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeCatalogOfferingOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeCatalogOfferingArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeCatalogOfferingDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeCatalogOfferingDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeEncryptionKeyOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeEncryptionKeyArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeOperatingSystemOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeOperatingSystemArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeProfileOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeProfileArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeSourceImageOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeSourceImageArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeSourceImageDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeSourceImageDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeSourceSnapshotOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeSourceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeSourceSnapshotDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeSourceSnapshotDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentDeviceOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentDeviceArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentInstanceOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentInstanceDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeVolumeAttachmentInstanceDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeZoneOutput{}) + pulumi.RegisterOutputType(GetIsVolumesVolumeZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcAddressPrefixZoneOutput{}) + pulumi.RegisterOutputType(GetIsVpcAddressPrefixZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcAddressPrefixesAddressPrefixOutput{}) + pulumi.RegisterOutputType(GetIsVpcAddressPrefixesAddressPrefixArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcAddressPrefixesAddressPrefixZoneOutput{}) + pulumi.RegisterOutputType(GetIsVpcAddressPrefixesAddressPrefixZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcCseSourceAddressOutput{}) + pulumi.RegisterOutputType(GetIsVpcCseSourceAddressArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDefaultRoutingTableResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpcDefaultRoutingTableResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDefaultRoutingTableRouteOutput{}) + pulumi.RegisterOutputType(GetIsVpcDefaultRoutingTableRouteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDefaultRoutingTableSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVpcDefaultRoutingTableSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverManualServerOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverManualServerArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverServerOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverServerArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverVpcRemoteOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverVpcRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverVpcRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnResolverVpcRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingEndpointGatewayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingEndpointGatewayArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingVpcRemoteOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingVpcRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingVpcRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingVpcRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingVpcRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingVpcRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingEndpointGatewayRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionOutput{}) + pulumi.RegisterOutputType(GetIsVpcDnsResolutionBindingsDnsResolutionBindingVpcRemoteRegionArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpcHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcPublicAddressRangeOutput{}) + pulumi.RegisterOutputType(GetIsVpcPublicAddressRangeArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcPublicAddressRangeDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcPublicAddressRangeDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableAcceptRoutesFromOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableAcceptRoutesFromArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteTypeOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteCreatorOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteCreatorArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteCreatorDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteCreatorDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteNextHopOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteNextHopArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteNextHopDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteNextHopDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteZoneOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRouteZoneArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRoutesRouteOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRoutesRouteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRoutesRouteCreatorOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRoutesRouteCreatorArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRoutesRouteCreatorDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableRoutesRouteCreatorDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTableSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableAcceptRoutesFromArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableRouteOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableRouteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVpcRoutingTablesRoutingTableSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpcSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcSecurityGroupRuleOutput{}) + pulumi.RegisterOutputType(GetIsVpcSecurityGroupRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVpcSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcCseSourceAddressOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcCseSourceAddressArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverManualServerOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverManualServerArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverServerOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverServerArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverVpcRemoteOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverVpcRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverVpcRemoteAccountOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcDnResolverVpcRemoteAccountArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcPublicAddressRangeOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcPublicAddressRangeArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcPublicAddressRangeDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcPublicAddressRangeDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcSecurityGroupRuleOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcSecurityGroupRuleArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVpcsVpcSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionTypeOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionTypeArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionDeadPeerDetectionOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionDeadPeerDetectionArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionIkePolicyOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionIkePolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionIkePolicyDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionIkePolicyDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionIpsecPolicyOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionIpsecPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionIpsecPolicyDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionIpsecPolicyDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionLocalOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionLocalArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionLocalIkeIdentityOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionLocalIkeIdentityArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionPeerOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionPeerArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionPeerIkeIdentityOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionPeerIkeIdentityArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionTunnelOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionTunnelArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionLocalOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionLocalArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionLocalIkeIdentityArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionPeerOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionPeerArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionPeerIkeIdentityArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionStatusReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionStatusReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionTunnelOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayConnectionsConnectionTunnelArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayMemberOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayMemberArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaySubnetOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaySubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaySubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaySubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewayVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayMemberOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayMemberArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnGatewaysVpnGatewayVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerCertificateOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerCertificateArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientAuthenticationOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientAuthenticationArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientClientIpOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientClientIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientDnsServerIpOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientDnsServerIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientRemoteIpOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientRemoteIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientsClientOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientsClientArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientsClientClientIpOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientsClientClientIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientsClientRemoteIpOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerClientsClientRemoteIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerPrivateIpOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerPrivateIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerPrivateIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerPrivateIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRouteHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRouteHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRouteLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRouteLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRoutesRouteOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRoutesRouteArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRoutesRouteHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRoutesRouteHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRoutesRouteLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerRoutesRouteLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerSecurityGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerSecurityGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnServerVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerCertificateOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerCertificateArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerClientAuthenticationOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerClientAuthenticationArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerClientDnsServerIpOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerClientDnsServerIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerHealthReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerHealthReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerLifecycleReasonOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerLifecycleReasonArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerPrivateIpOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerPrivateIpArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerPrivateIpDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerPrivateIpDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerResourceGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerResourceGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerSecurityGroupDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerSecurityGroupDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerSubnetOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerSubnetArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerSubnetDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerSubnetDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerVpcOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerVpcArrayOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerVpcDeletedOutput{}) + pulumi.RegisterOutputType(GetIsVpnServersVpnServerVpcDeletedArrayOutput{}) + pulumi.RegisterOutputType(GetIsZonesZoneInfoOutput{}) + pulumi.RegisterOutputType(GetIsZonesZoneInfoArrayOutput{}) + pulumi.RegisterOutputType(GetPiAvailableHostsAvailableHostOutput{}) + pulumi.RegisterOutputType(GetPiAvailableHostsAvailableHostArrayOutput{}) + pulumi.RegisterOutputType(GetPiCatalogImagesImageOutput{}) + pulumi.RegisterOutputType(GetPiCatalogImagesImageArrayOutput{}) + pulumi.RegisterOutputType(GetPiCloudConnectionsConnectionOutput{}) + pulumi.RegisterOutputType(GetPiCloudConnectionsConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetPiCloudInstancePvmInstanceOutput{}) + pulumi.RegisterOutputType(GetPiCloudInstancePvmInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetPiConsoleLanguagesConsoleLanguageOutput{}) + pulumi.RegisterOutputType(GetPiConsoleLanguagesConsoleLanguageArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoveryOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoveryArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailSupportedSystemOutput{}) + pulumi.RegisterOutputType(GetPiDatacenterCapabilityDetailSupportedSystemArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoveryAsynchronousReplicationTargetLocationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailDisasterRecoverySynchronousReplicationTargetLocationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailSupportedSystemOutput{}) + pulumi.RegisterOutputType(GetPiDatacentersDatacenterCapabilityDetailSupportedSystemArrayOutput{}) + pulumi.RegisterOutputType(GetPiDhcpLeaseOutput{}) + pulumi.RegisterOutputType(GetPiDhcpLeaseArrayOutput{}) + pulumi.RegisterOutputType(GetPiDhcpsServerOutput{}) + pulumi.RegisterOutputType(GetPiDhcpsServerArrayOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationReplicationSiteOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationReplicationSiteArrayOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationArrayOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteArrayOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapOutput{}) + pulumi.RegisterOutputType(GetPiDisasterRecoveryLocationsDisasterRecoveryLocationReplicationSiteReplicationPoolMapArrayOutput{}) + pulumi.RegisterOutputType(GetPiHostCapacityOutput{}) + pulumi.RegisterOutputType(GetPiHostCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetPiHostGroupsHostGroupOutput{}) + pulumi.RegisterOutputType(GetPiHostGroupsHostGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiHostsHostOutput{}) + pulumi.RegisterOutputType(GetPiHostsHostArrayOutput{}) + pulumi.RegisterOutputType(GetPiHostsHostCapacityOutput{}) + pulumi.RegisterOutputType(GetPiHostsHostCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetPiImagesImageInfoOutput{}) + pulumi.RegisterOutputType(GetPiImagesImageInfoArrayOutput{}) + pulumi.RegisterOutputType(GetPiInstanceNetworkOutput{}) + pulumi.RegisterOutputType(GetPiInstanceNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetPiInstanceSnapshotsInstanceSnapshotOutput{}) + pulumi.RegisterOutputType(GetPiInstanceSnapshotsInstanceSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetPiInstanceVirtualSerialNumberOutput{}) + pulumi.RegisterOutputType(GetPiInstanceVirtualSerialNumberArrayOutput{}) + pulumi.RegisterOutputType(GetPiInstanceVolumesInstanceVolumeOutput{}) + pulumi.RegisterOutputType(GetPiInstanceVolumesInstanceVolumeArrayOutput{}) + pulumi.RegisterOutputType(GetPiInstancesPvmInstanceOutput{}) + pulumi.RegisterOutputType(GetPiInstancesPvmInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetPiInstancesPvmInstanceNetworkOutput{}) + pulumi.RegisterOutputType(GetPiInstancesPvmInstanceNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetPiInstancesPvmInstanceVirtualSerialNumberOutput{}) + pulumi.RegisterOutputType(GetPiInstancesPvmInstanceVirtualSerialNumberArrayOutput{}) + pulumi.RegisterOutputType(GetPiKeysKeyOutput{}) + pulumi.RegisterOutputType(GetPiKeysKeyArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkAddressGroupMemberTypeOutput{}) + pulumi.RegisterOutputType(GetPiNetworkAddressGroupMemberTypeArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkAddressGroupsNetworkAddressGroupOutput{}) + pulumi.RegisterOutputType(GetPiNetworkAddressGroupsNetworkAddressGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkAddressGroupsNetworkAddressGroupMemberOutput{}) + pulumi.RegisterOutputType(GetPiNetworkAddressGroupsNetworkAddressGroupMemberArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkInterfaceInstanceOutput{}) + pulumi.RegisterOutputType(GetPiNetworkInterfaceInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkInterfacesInterfaceOutput{}) + pulumi.RegisterOutputType(GetPiNetworkInterfacesInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkInterfacesInterfaceInstanceOutput{}) + pulumi.RegisterOutputType(GetPiNetworkInterfacesInterfaceInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkNetworkAddressTranslationOutput{}) + pulumi.RegisterOutputType(GetPiNetworkNetworkAddressTranslationArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeerExportRouteFilterOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeerExportRouteFilterArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeerImportRouteFilterOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeerImportRouteFilterArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeerInterfacesPeerInterfaceOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeerInterfacesPeerInterfaceArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeersNetworkPeerOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeersNetworkPeerArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeersNetworkPeerExportRouteFilterOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeersNetworkPeerExportRouteFilterArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeersNetworkPeerImportRouteFilterOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPeersNetworkPeerImportRouteFilterArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPortNetworkPortOutput{}) + pulumi.RegisterOutputType(GetPiNetworkPortNetworkPortArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupMemberTypeOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupMemberTypeArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleTypeOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleTypeArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleDestinationPortOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleDestinationPortArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleProtocolOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleProtocolArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleProtocolTcpFlagOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleRemoteOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleSourcePortOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupRuleSourcePortArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupMemberArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleDestinationPortArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleProtocolTcpFlagArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleRemoteArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortOutput{}) + pulumi.RegisterOutputType(GetPiNetworkSecurityGroupsNetworkSecurityGroupRuleSourcePortArrayOutput{}) + pulumi.RegisterOutputType(GetPiNetworksNetworkOutput{}) + pulumi.RegisterOutputType(GetPiNetworksNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetPiPlacementGroupsPlacementGroupOutput{}) + pulumi.RegisterOutputType(GetPiPlacementGroupsPlacementGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiPvmSnapshotsPvmSnapshotOutput{}) + pulumi.RegisterOutputType(GetPiPvmSnapshotsPvmSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetPiRouteReportRouteOutput{}) + pulumi.RegisterOutputType(GetPiRouteReportRouteArrayOutput{}) + pulumi.RegisterOutputType(GetPiRoutesRouteOutput{}) + pulumi.RegisterOutputType(GetPiRoutesRouteArrayOutput{}) + pulumi.RegisterOutputType(GetPiSapProfilesProfileOutput{}) + pulumi.RegisterOutputType(GetPiSapProfilesProfileArrayOutput{}) + pulumi.RegisterOutputType(GetPiSharedProcessorPoolInstanceOutput{}) + pulumi.RegisterOutputType(GetPiSharedProcessorPoolInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetPiSharedProcessorPoolsSharedProcessorPoolOutput{}) + pulumi.RegisterOutputType(GetPiSharedProcessorPoolsSharedProcessorPoolArrayOutput{}) + pulumi.RegisterOutputType(GetPiSoftwareTiersSupportedSoftwareTierOutput{}) + pulumi.RegisterOutputType(GetPiSoftwareTiersSupportedSoftwareTierArrayOutput{}) + pulumi.RegisterOutputType(GetPiSppPlacementGroupsSppPlacementGroupOutput{}) + pulumi.RegisterOutputType(GetPiSppPlacementGroupsSppPlacementGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiStoragePoolsCapacityStoragePoolsCapacityOutput{}) + pulumi.RegisterOutputType(GetPiStoragePoolsCapacityStoragePoolsCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetPiStorageTiersRegionStorageTierOutput{}) + pulumi.RegisterOutputType(GetPiStorageTiersRegionStorageTierArrayOutput{}) + pulumi.RegisterOutputType(GetPiStorageTypeCapacityStoragePoolsCapacityOutput{}) + pulumi.RegisterOutputType(GetPiStorageTypeCapacityStoragePoolsCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetPiStorageTypesCapacityStorageTypesCapacityOutput{}) + pulumi.RegisterOutputType(GetPiStorageTypesCapacityStorageTypesCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityOutput{}) + pulumi.RegisterOutputType(GetPiStorageTypesCapacityStorageTypesCapacityStoragePoolsCapacityArrayOutput{}) + pulumi.RegisterOutputType(GetPiSystemPoolsSystemPoolOutput{}) + pulumi.RegisterOutputType(GetPiSystemPoolsSystemPoolArrayOutput{}) + pulumi.RegisterOutputType(GetPiSystemPoolsSystemPoolSystemOutput{}) + pulumi.RegisterOutputType(GetPiSystemPoolsSystemPoolSystemArrayOutput{}) + pulumi.RegisterOutputType(GetPiTenantCloudInstanceOutput{}) + pulumi.RegisterOutputType(GetPiTenantCloudInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetPiVirtualSerialNumbersVirtualSerialNumberOutput{}) + pulumi.RegisterOutputType(GetPiVirtualSerialNumbersVirtualSerialNumberArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeCloneCloneVolumeOutput{}) + pulumi.RegisterOutputType(GetPiVolumeCloneCloneVolumeArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeFlashCopyMappingsFlashCopyMappingOutput{}) + pulumi.RegisterOutputType(GetPiVolumeFlashCopyMappingsFlashCopyMappingArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupDetailsStatusDescriptionErrorOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupDetailsStatusDescriptionErrorArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupRemoteCopyRelationshipsRemoteCopyRelationshipArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupStatusDescriptionErrorOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupStatusDescriptionErrorArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupsDetailsVolumeGroupOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupsDetailsVolumeGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupsDetailsVolumeGroupStatusDescriptionErrorArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupsVolumeGroupOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupsVolumeGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorOutput{}) + pulumi.RegisterOutputType(GetPiVolumeGroupsVolumeGroupStatusDescriptionErrorArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeOnboardingResultsVolumeOnboardingFailureOutput{}) + pulumi.RegisterOutputType(GetPiVolumeOnboardingResultsVolumeOnboardingFailureArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeOnboardingsOnboardingOutput{}) + pulumi.RegisterOutputType(GetPiVolumeOnboardingsOnboardingArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumeSnapshotsVolumeSnapshotOutput{}) + pulumi.RegisterOutputType(GetPiVolumeSnapshotsVolumeSnapshotArrayOutput{}) + pulumi.RegisterOutputType(GetPiVolumesVolumeOutput{}) + pulumi.RegisterOutputType(GetPiVolumesVolumeArrayOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacePiWorkspaceDetailOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacePiWorkspaceDetailArrayOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacesWorkspaceOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacesWorkspaceArrayOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacesWorkspacePiWorkspaceDetailOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacesWorkspacePiWorkspaceDetailArrayOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacesWorkspacePiWorkspaceDetailNetworkSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterOutput{}) + pulumi.RegisterOutputType(GetPiWorkspacesWorkspacePiWorkspaceDetailPowerEdgeRouterArrayOutput{}) + pulumi.RegisterOutputType(GetTgConnectionPrefixFiltersPrefixFilterOutput{}) + pulumi.RegisterOutputType(GetTgConnectionPrefixFiltersPrefixFilterArrayOutput{}) + pulumi.RegisterOutputType(GetTgGatewayConnectionOutput{}) + pulumi.RegisterOutputType(GetTgGatewayConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetTgGatewayConnectionTunnelOutput{}) + pulumi.RegisterOutputType(GetTgGatewayConnectionTunnelArrayOutput{}) + pulumi.RegisterOutputType(GetTgGatewaysTransitGatewayOutput{}) + pulumi.RegisterOutputType(GetTgGatewaysTransitGatewayArrayOutput{}) + pulumi.RegisterOutputType(GetTgLocationLocalConnectionLocationOutput{}) + pulumi.RegisterOutputType(GetTgLocationLocalConnectionLocationArrayOutput{}) + pulumi.RegisterOutputType(GetTgLocationsLocationOutput{}) + pulumi.RegisterOutputType(GetTgLocationsLocationArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportConnectionOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportConnectionBgpOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportConnectionBgpArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportConnectionRouteOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportConnectionRouteArrayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes4.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes4.go new file mode 100644 index 000000000..1d44f2702 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/pulumiTypes4.go @@ -0,0 +1,911 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type GetTgRouteReportOverlappingRoute struct { + // Collection of transit gateway overlapping route's details + Routes []GetTgRouteReportOverlappingRouteRoute `pulumi:"routes"` +} + +// GetTgRouteReportOverlappingRouteInput is an input type that accepts GetTgRouteReportOverlappingRouteArgs and GetTgRouteReportOverlappingRouteOutput values. +// You can construct a concrete instance of `GetTgRouteReportOverlappingRouteInput` via: +// +// GetTgRouteReportOverlappingRouteArgs{...} +type GetTgRouteReportOverlappingRouteInput interface { + pulumi.Input + + ToGetTgRouteReportOverlappingRouteOutput() GetTgRouteReportOverlappingRouteOutput + ToGetTgRouteReportOverlappingRouteOutputWithContext(context.Context) GetTgRouteReportOverlappingRouteOutput +} + +type GetTgRouteReportOverlappingRouteArgs struct { + // Collection of transit gateway overlapping route's details + Routes GetTgRouteReportOverlappingRouteRouteArrayInput `pulumi:"routes"` +} + +func (GetTgRouteReportOverlappingRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportOverlappingRoute)(nil)).Elem() +} + +func (i GetTgRouteReportOverlappingRouteArgs) ToGetTgRouteReportOverlappingRouteOutput() GetTgRouteReportOverlappingRouteOutput { + return i.ToGetTgRouteReportOverlappingRouteOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportOverlappingRouteArgs) ToGetTgRouteReportOverlappingRouteOutputWithContext(ctx context.Context) GetTgRouteReportOverlappingRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportOverlappingRouteOutput) +} + +// GetTgRouteReportOverlappingRouteArrayInput is an input type that accepts GetTgRouteReportOverlappingRouteArray and GetTgRouteReportOverlappingRouteArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportOverlappingRouteArrayInput` via: +// +// GetTgRouteReportOverlappingRouteArray{ GetTgRouteReportOverlappingRouteArgs{...} } +type GetTgRouteReportOverlappingRouteArrayInput interface { + pulumi.Input + + ToGetTgRouteReportOverlappingRouteArrayOutput() GetTgRouteReportOverlappingRouteArrayOutput + ToGetTgRouteReportOverlappingRouteArrayOutputWithContext(context.Context) GetTgRouteReportOverlappingRouteArrayOutput +} + +type GetTgRouteReportOverlappingRouteArray []GetTgRouteReportOverlappingRouteInput + +func (GetTgRouteReportOverlappingRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportOverlappingRoute)(nil)).Elem() +} + +func (i GetTgRouteReportOverlappingRouteArray) ToGetTgRouteReportOverlappingRouteArrayOutput() GetTgRouteReportOverlappingRouteArrayOutput { + return i.ToGetTgRouteReportOverlappingRouteArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportOverlappingRouteArray) ToGetTgRouteReportOverlappingRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportOverlappingRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportOverlappingRouteArrayOutput) +} + +type GetTgRouteReportOverlappingRouteOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportOverlappingRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportOverlappingRoute)(nil)).Elem() +} + +func (o GetTgRouteReportOverlappingRouteOutput) ToGetTgRouteReportOverlappingRouteOutput() GetTgRouteReportOverlappingRouteOutput { + return o +} + +func (o GetTgRouteReportOverlappingRouteOutput) ToGetTgRouteReportOverlappingRouteOutputWithContext(ctx context.Context) GetTgRouteReportOverlappingRouteOutput { + return o +} + +// Collection of transit gateway overlapping route's details +func (o GetTgRouteReportOverlappingRouteOutput) Routes() GetTgRouteReportOverlappingRouteRouteArrayOutput { + return o.ApplyT(func(v GetTgRouteReportOverlappingRoute) []GetTgRouteReportOverlappingRouteRoute { return v.Routes }).(GetTgRouteReportOverlappingRouteRouteArrayOutput) +} + +type GetTgRouteReportOverlappingRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportOverlappingRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportOverlappingRoute)(nil)).Elem() +} + +func (o GetTgRouteReportOverlappingRouteArrayOutput) ToGetTgRouteReportOverlappingRouteArrayOutput() GetTgRouteReportOverlappingRouteArrayOutput { + return o +} + +func (o GetTgRouteReportOverlappingRouteArrayOutput) ToGetTgRouteReportOverlappingRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportOverlappingRouteArrayOutput { + return o +} + +func (o GetTgRouteReportOverlappingRouteArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportOverlappingRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportOverlappingRoute { + return vs[0].([]GetTgRouteReportOverlappingRoute)[vs[1].(int)] + }).(GetTgRouteReportOverlappingRouteOutput) +} + +type GetTgRouteReportOverlappingRouteRoute struct { + ConnectionId string `pulumi:"connectionId"` + Prefix string `pulumi:"prefix"` +} + +// GetTgRouteReportOverlappingRouteRouteInput is an input type that accepts GetTgRouteReportOverlappingRouteRouteArgs and GetTgRouteReportOverlappingRouteRouteOutput values. +// You can construct a concrete instance of `GetTgRouteReportOverlappingRouteRouteInput` via: +// +// GetTgRouteReportOverlappingRouteRouteArgs{...} +type GetTgRouteReportOverlappingRouteRouteInput interface { + pulumi.Input + + ToGetTgRouteReportOverlappingRouteRouteOutput() GetTgRouteReportOverlappingRouteRouteOutput + ToGetTgRouteReportOverlappingRouteRouteOutputWithContext(context.Context) GetTgRouteReportOverlappingRouteRouteOutput +} + +type GetTgRouteReportOverlappingRouteRouteArgs struct { + ConnectionId pulumi.StringInput `pulumi:"connectionId"` + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (GetTgRouteReportOverlappingRouteRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (i GetTgRouteReportOverlappingRouteRouteArgs) ToGetTgRouteReportOverlappingRouteRouteOutput() GetTgRouteReportOverlappingRouteRouteOutput { + return i.ToGetTgRouteReportOverlappingRouteRouteOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportOverlappingRouteRouteArgs) ToGetTgRouteReportOverlappingRouteRouteOutputWithContext(ctx context.Context) GetTgRouteReportOverlappingRouteRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportOverlappingRouteRouteOutput) +} + +// GetTgRouteReportOverlappingRouteRouteArrayInput is an input type that accepts GetTgRouteReportOverlappingRouteRouteArray and GetTgRouteReportOverlappingRouteRouteArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportOverlappingRouteRouteArrayInput` via: +// +// GetTgRouteReportOverlappingRouteRouteArray{ GetTgRouteReportOverlappingRouteRouteArgs{...} } +type GetTgRouteReportOverlappingRouteRouteArrayInput interface { + pulumi.Input + + ToGetTgRouteReportOverlappingRouteRouteArrayOutput() GetTgRouteReportOverlappingRouteRouteArrayOutput + ToGetTgRouteReportOverlappingRouteRouteArrayOutputWithContext(context.Context) GetTgRouteReportOverlappingRouteRouteArrayOutput +} + +type GetTgRouteReportOverlappingRouteRouteArray []GetTgRouteReportOverlappingRouteRouteInput + +func (GetTgRouteReportOverlappingRouteRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (i GetTgRouteReportOverlappingRouteRouteArray) ToGetTgRouteReportOverlappingRouteRouteArrayOutput() GetTgRouteReportOverlappingRouteRouteArrayOutput { + return i.ToGetTgRouteReportOverlappingRouteRouteArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportOverlappingRouteRouteArray) ToGetTgRouteReportOverlappingRouteRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportOverlappingRouteRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportOverlappingRouteRouteArrayOutput) +} + +type GetTgRouteReportOverlappingRouteRouteOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportOverlappingRouteRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (o GetTgRouteReportOverlappingRouteRouteOutput) ToGetTgRouteReportOverlappingRouteRouteOutput() GetTgRouteReportOverlappingRouteRouteOutput { + return o +} + +func (o GetTgRouteReportOverlappingRouteRouteOutput) ToGetTgRouteReportOverlappingRouteRouteOutputWithContext(ctx context.Context) GetTgRouteReportOverlappingRouteRouteOutput { + return o +} + +func (o GetTgRouteReportOverlappingRouteRouteOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportOverlappingRouteRoute) string { return v.ConnectionId }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportOverlappingRouteRouteOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportOverlappingRouteRoute) string { return v.Prefix }).(pulumi.StringOutput) +} + +type GetTgRouteReportOverlappingRouteRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportOverlappingRouteRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (o GetTgRouteReportOverlappingRouteRouteArrayOutput) ToGetTgRouteReportOverlappingRouteRouteArrayOutput() GetTgRouteReportOverlappingRouteRouteArrayOutput { + return o +} + +func (o GetTgRouteReportOverlappingRouteRouteArrayOutput) ToGetTgRouteReportOverlappingRouteRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportOverlappingRouteRouteArrayOutput { + return o +} + +func (o GetTgRouteReportOverlappingRouteRouteArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportOverlappingRouteRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportOverlappingRouteRoute { + return vs[0].([]GetTgRouteReportOverlappingRouteRoute)[vs[1].(int)] + }).(GetTgRouteReportOverlappingRouteRouteOutput) +} + +type GetTgRouteReportsRouteReport struct { + // Collection of transit gateway connections + Connections []GetTgRouteReportsRouteReportConnection `pulumi:"connections"` + CreatedAt string `pulumi:"createdAt"` + Id string `pulumi:"id"` + // Collection of transit gateway overlapping routes + OverlappingRoutes []GetTgRouteReportsRouteReportOverlappingRoute `pulumi:"overlappingRoutes"` + Status string `pulumi:"status"` + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetTgRouteReportsRouteReportInput is an input type that accepts GetTgRouteReportsRouteReportArgs and GetTgRouteReportsRouteReportOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportInput` via: +// +// GetTgRouteReportsRouteReportArgs{...} +type GetTgRouteReportsRouteReportInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportOutput() GetTgRouteReportsRouteReportOutput + ToGetTgRouteReportsRouteReportOutputWithContext(context.Context) GetTgRouteReportsRouteReportOutput +} + +type GetTgRouteReportsRouteReportArgs struct { + // Collection of transit gateway connections + Connections GetTgRouteReportsRouteReportConnectionArrayInput `pulumi:"connections"` + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + Id pulumi.StringInput `pulumi:"id"` + // Collection of transit gateway overlapping routes + OverlappingRoutes GetTgRouteReportsRouteReportOverlappingRouteArrayInput `pulumi:"overlappingRoutes"` + Status pulumi.StringInput `pulumi:"status"` + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetTgRouteReportsRouteReportArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReport)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportArgs) ToGetTgRouteReportsRouteReportOutput() GetTgRouteReportsRouteReportOutput { + return i.ToGetTgRouteReportsRouteReportOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportArgs) ToGetTgRouteReportsRouteReportOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportOutput) +} + +// GetTgRouteReportsRouteReportArrayInput is an input type that accepts GetTgRouteReportsRouteReportArray and GetTgRouteReportsRouteReportArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportArrayInput` via: +// +// GetTgRouteReportsRouteReportArray{ GetTgRouteReportsRouteReportArgs{...} } +type GetTgRouteReportsRouteReportArrayInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportArrayOutput() GetTgRouteReportsRouteReportArrayOutput + ToGetTgRouteReportsRouteReportArrayOutputWithContext(context.Context) GetTgRouteReportsRouteReportArrayOutput +} + +type GetTgRouteReportsRouteReportArray []GetTgRouteReportsRouteReportInput + +func (GetTgRouteReportsRouteReportArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReport)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportArray) ToGetTgRouteReportsRouteReportArrayOutput() GetTgRouteReportsRouteReportArrayOutput { + return i.ToGetTgRouteReportsRouteReportArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportArray) ToGetTgRouteReportsRouteReportArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportArrayOutput) +} + +type GetTgRouteReportsRouteReportOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReport)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportOutput) ToGetTgRouteReportsRouteReportOutput() GetTgRouteReportsRouteReportOutput { + return o +} + +func (o GetTgRouteReportsRouteReportOutput) ToGetTgRouteReportsRouteReportOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOutput { + return o +} + +// Collection of transit gateway connections +func (o GetTgRouteReportsRouteReportOutput) Connections() GetTgRouteReportsRouteReportConnectionArrayOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReport) []GetTgRouteReportsRouteReportConnection { return v.Connections }).(GetTgRouteReportsRouteReportConnectionArrayOutput) +} + +func (o GetTgRouteReportsRouteReportOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReport) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportsRouteReportOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReport) string { return v.Id }).(pulumi.StringOutput) +} + +// Collection of transit gateway overlapping routes +func (o GetTgRouteReportsRouteReportOutput) OverlappingRoutes() GetTgRouteReportsRouteReportOverlappingRouteArrayOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReport) []GetTgRouteReportsRouteReportOverlappingRoute { + return v.OverlappingRoutes + }).(GetTgRouteReportsRouteReportOverlappingRouteArrayOutput) +} + +func (o GetTgRouteReportsRouteReportOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReport) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportsRouteReportOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReport) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type GetTgRouteReportsRouteReportArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReport)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportArrayOutput) ToGetTgRouteReportsRouteReportArrayOutput() GetTgRouteReportsRouteReportArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportArrayOutput) ToGetTgRouteReportsRouteReportArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportsRouteReportOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportsRouteReport { + return vs[0].([]GetTgRouteReportsRouteReport)[vs[1].(int)] + }).(GetTgRouteReportsRouteReportOutput) +} + +type GetTgRouteReportsRouteReportConnection struct { + // Collection of transit gateway connection's bgps + Bgps []GetTgRouteReportsRouteReportConnectionBgp `pulumi:"bgps"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // Collection of transit gateway connection's used routes + Routes []GetTgRouteReportsRouteReportConnectionRoute `pulumi:"routes"` + Type string `pulumi:"type"` +} + +// GetTgRouteReportsRouteReportConnectionInput is an input type that accepts GetTgRouteReportsRouteReportConnectionArgs and GetTgRouteReportsRouteReportConnectionOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportConnectionInput` via: +// +// GetTgRouteReportsRouteReportConnectionArgs{...} +type GetTgRouteReportsRouteReportConnectionInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportConnectionOutput() GetTgRouteReportsRouteReportConnectionOutput + ToGetTgRouteReportsRouteReportConnectionOutputWithContext(context.Context) GetTgRouteReportsRouteReportConnectionOutput +} + +type GetTgRouteReportsRouteReportConnectionArgs struct { + // Collection of transit gateway connection's bgps + Bgps GetTgRouteReportsRouteReportConnectionBgpArrayInput `pulumi:"bgps"` + Id pulumi.StringInput `pulumi:"id"` + Name pulumi.StringInput `pulumi:"name"` + // Collection of transit gateway connection's used routes + Routes GetTgRouteReportsRouteReportConnectionRouteArrayInput `pulumi:"routes"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetTgRouteReportsRouteReportConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportConnection)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportConnectionArgs) ToGetTgRouteReportsRouteReportConnectionOutput() GetTgRouteReportsRouteReportConnectionOutput { + return i.ToGetTgRouteReportsRouteReportConnectionOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportConnectionArgs) ToGetTgRouteReportsRouteReportConnectionOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportConnectionOutput) +} + +// GetTgRouteReportsRouteReportConnectionArrayInput is an input type that accepts GetTgRouteReportsRouteReportConnectionArray and GetTgRouteReportsRouteReportConnectionArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportConnectionArrayInput` via: +// +// GetTgRouteReportsRouteReportConnectionArray{ GetTgRouteReportsRouteReportConnectionArgs{...} } +type GetTgRouteReportsRouteReportConnectionArrayInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportConnectionArrayOutput() GetTgRouteReportsRouteReportConnectionArrayOutput + ToGetTgRouteReportsRouteReportConnectionArrayOutputWithContext(context.Context) GetTgRouteReportsRouteReportConnectionArrayOutput +} + +type GetTgRouteReportsRouteReportConnectionArray []GetTgRouteReportsRouteReportConnectionInput + +func (GetTgRouteReportsRouteReportConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportConnection)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportConnectionArray) ToGetTgRouteReportsRouteReportConnectionArrayOutput() GetTgRouteReportsRouteReportConnectionArrayOutput { + return i.ToGetTgRouteReportsRouteReportConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportConnectionArray) ToGetTgRouteReportsRouteReportConnectionArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportConnectionArrayOutput) +} + +type GetTgRouteReportsRouteReportConnectionOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportConnection)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportConnectionOutput) ToGetTgRouteReportsRouteReportConnectionOutput() GetTgRouteReportsRouteReportConnectionOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionOutput) ToGetTgRouteReportsRouteReportConnectionOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionOutput { + return o +} + +// Collection of transit gateway connection's bgps +func (o GetTgRouteReportsRouteReportConnectionOutput) Bgps() GetTgRouteReportsRouteReportConnectionBgpArrayOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnection) []GetTgRouteReportsRouteReportConnectionBgp { + return v.Bgps + }).(GetTgRouteReportsRouteReportConnectionBgpArrayOutput) +} + +func (o GetTgRouteReportsRouteReportConnectionOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnection) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportsRouteReportConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// Collection of transit gateway connection's used routes +func (o GetTgRouteReportsRouteReportConnectionOutput) Routes() GetTgRouteReportsRouteReportConnectionRouteArrayOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnection) []GetTgRouteReportsRouteReportConnectionRoute { + return v.Routes + }).(GetTgRouteReportsRouteReportConnectionRouteArrayOutput) +} + +func (o GetTgRouteReportsRouteReportConnectionOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnection) string { return v.Type }).(pulumi.StringOutput) +} + +type GetTgRouteReportsRouteReportConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportConnection)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportConnectionArrayOutput) ToGetTgRouteReportsRouteReportConnectionArrayOutput() GetTgRouteReportsRouteReportConnectionArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionArrayOutput) ToGetTgRouteReportsRouteReportConnectionArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportsRouteReportConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportsRouteReportConnection { + return vs[0].([]GetTgRouteReportsRouteReportConnection)[vs[1].(int)] + }).(GetTgRouteReportsRouteReportConnectionOutput) +} + +type GetTgRouteReportsRouteReportConnectionBgp struct { + AsPath string `pulumi:"asPath"` + IsUsed bool `pulumi:"isUsed"` + LocalPreference string `pulumi:"localPreference"` + Prefix string `pulumi:"prefix"` +} + +// GetTgRouteReportsRouteReportConnectionBgpInput is an input type that accepts GetTgRouteReportsRouteReportConnectionBgpArgs and GetTgRouteReportsRouteReportConnectionBgpOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportConnectionBgpInput` via: +// +// GetTgRouteReportsRouteReportConnectionBgpArgs{...} +type GetTgRouteReportsRouteReportConnectionBgpInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportConnectionBgpOutput() GetTgRouteReportsRouteReportConnectionBgpOutput + ToGetTgRouteReportsRouteReportConnectionBgpOutputWithContext(context.Context) GetTgRouteReportsRouteReportConnectionBgpOutput +} + +type GetTgRouteReportsRouteReportConnectionBgpArgs struct { + AsPath pulumi.StringInput `pulumi:"asPath"` + IsUsed pulumi.BoolInput `pulumi:"isUsed"` + LocalPreference pulumi.StringInput `pulumi:"localPreference"` + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (GetTgRouteReportsRouteReportConnectionBgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionBgp)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportConnectionBgpArgs) ToGetTgRouteReportsRouteReportConnectionBgpOutput() GetTgRouteReportsRouteReportConnectionBgpOutput { + return i.ToGetTgRouteReportsRouteReportConnectionBgpOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportConnectionBgpArgs) ToGetTgRouteReportsRouteReportConnectionBgpOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionBgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportConnectionBgpOutput) +} + +// GetTgRouteReportsRouteReportConnectionBgpArrayInput is an input type that accepts GetTgRouteReportsRouteReportConnectionBgpArray and GetTgRouteReportsRouteReportConnectionBgpArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportConnectionBgpArrayInput` via: +// +// GetTgRouteReportsRouteReportConnectionBgpArray{ GetTgRouteReportsRouteReportConnectionBgpArgs{...} } +type GetTgRouteReportsRouteReportConnectionBgpArrayInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportConnectionBgpArrayOutput() GetTgRouteReportsRouteReportConnectionBgpArrayOutput + ToGetTgRouteReportsRouteReportConnectionBgpArrayOutputWithContext(context.Context) GetTgRouteReportsRouteReportConnectionBgpArrayOutput +} + +type GetTgRouteReportsRouteReportConnectionBgpArray []GetTgRouteReportsRouteReportConnectionBgpInput + +func (GetTgRouteReportsRouteReportConnectionBgpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportConnectionBgp)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportConnectionBgpArray) ToGetTgRouteReportsRouteReportConnectionBgpArrayOutput() GetTgRouteReportsRouteReportConnectionBgpArrayOutput { + return i.ToGetTgRouteReportsRouteReportConnectionBgpArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportConnectionBgpArray) ToGetTgRouteReportsRouteReportConnectionBgpArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionBgpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportConnectionBgpArrayOutput) +} + +type GetTgRouteReportsRouteReportConnectionBgpOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportConnectionBgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionBgp)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportConnectionBgpOutput) ToGetTgRouteReportsRouteReportConnectionBgpOutput() GetTgRouteReportsRouteReportConnectionBgpOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionBgpOutput) ToGetTgRouteReportsRouteReportConnectionBgpOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionBgpOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionBgpOutput) AsPath() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnectionBgp) string { return v.AsPath }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportsRouteReportConnectionBgpOutput) IsUsed() pulumi.BoolOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnectionBgp) bool { return v.IsUsed }).(pulumi.BoolOutput) +} + +func (o GetTgRouteReportsRouteReportConnectionBgpOutput) LocalPreference() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnectionBgp) string { return v.LocalPreference }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportsRouteReportConnectionBgpOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnectionBgp) string { return v.Prefix }).(pulumi.StringOutput) +} + +type GetTgRouteReportsRouteReportConnectionBgpArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportConnectionBgpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportConnectionBgp)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportConnectionBgpArrayOutput) ToGetTgRouteReportsRouteReportConnectionBgpArrayOutput() GetTgRouteReportsRouteReportConnectionBgpArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionBgpArrayOutput) ToGetTgRouteReportsRouteReportConnectionBgpArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionBgpArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionBgpArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportsRouteReportConnectionBgpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportsRouteReportConnectionBgp { + return vs[0].([]GetTgRouteReportsRouteReportConnectionBgp)[vs[1].(int)] + }).(GetTgRouteReportsRouteReportConnectionBgpOutput) +} + +type GetTgRouteReportsRouteReportConnectionRoute struct { + Prefix string `pulumi:"prefix"` +} + +// GetTgRouteReportsRouteReportConnectionRouteInput is an input type that accepts GetTgRouteReportsRouteReportConnectionRouteArgs and GetTgRouteReportsRouteReportConnectionRouteOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportConnectionRouteInput` via: +// +// GetTgRouteReportsRouteReportConnectionRouteArgs{...} +type GetTgRouteReportsRouteReportConnectionRouteInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportConnectionRouteOutput() GetTgRouteReportsRouteReportConnectionRouteOutput + ToGetTgRouteReportsRouteReportConnectionRouteOutputWithContext(context.Context) GetTgRouteReportsRouteReportConnectionRouteOutput +} + +type GetTgRouteReportsRouteReportConnectionRouteArgs struct { + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (GetTgRouteReportsRouteReportConnectionRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionRoute)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportConnectionRouteArgs) ToGetTgRouteReportsRouteReportConnectionRouteOutput() GetTgRouteReportsRouteReportConnectionRouteOutput { + return i.ToGetTgRouteReportsRouteReportConnectionRouteOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportConnectionRouteArgs) ToGetTgRouteReportsRouteReportConnectionRouteOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportConnectionRouteOutput) +} + +// GetTgRouteReportsRouteReportConnectionRouteArrayInput is an input type that accepts GetTgRouteReportsRouteReportConnectionRouteArray and GetTgRouteReportsRouteReportConnectionRouteArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportConnectionRouteArrayInput` via: +// +// GetTgRouteReportsRouteReportConnectionRouteArray{ GetTgRouteReportsRouteReportConnectionRouteArgs{...} } +type GetTgRouteReportsRouteReportConnectionRouteArrayInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportConnectionRouteArrayOutput() GetTgRouteReportsRouteReportConnectionRouteArrayOutput + ToGetTgRouteReportsRouteReportConnectionRouteArrayOutputWithContext(context.Context) GetTgRouteReportsRouteReportConnectionRouteArrayOutput +} + +type GetTgRouteReportsRouteReportConnectionRouteArray []GetTgRouteReportsRouteReportConnectionRouteInput + +func (GetTgRouteReportsRouteReportConnectionRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportConnectionRoute)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportConnectionRouteArray) ToGetTgRouteReportsRouteReportConnectionRouteArrayOutput() GetTgRouteReportsRouteReportConnectionRouteArrayOutput { + return i.ToGetTgRouteReportsRouteReportConnectionRouteArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportConnectionRouteArray) ToGetTgRouteReportsRouteReportConnectionRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportConnectionRouteArrayOutput) +} + +type GetTgRouteReportsRouteReportConnectionRouteOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportConnectionRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionRoute)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportConnectionRouteOutput) ToGetTgRouteReportsRouteReportConnectionRouteOutput() GetTgRouteReportsRouteReportConnectionRouteOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionRouteOutput) ToGetTgRouteReportsRouteReportConnectionRouteOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionRouteOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionRouteOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportConnectionRoute) string { return v.Prefix }).(pulumi.StringOutput) +} + +type GetTgRouteReportsRouteReportConnectionRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportConnectionRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportConnectionRoute)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportConnectionRouteArrayOutput) ToGetTgRouteReportsRouteReportConnectionRouteArrayOutput() GetTgRouteReportsRouteReportConnectionRouteArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionRouteArrayOutput) ToGetTgRouteReportsRouteReportConnectionRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportConnectionRouteArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportConnectionRouteArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportsRouteReportConnectionRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportsRouteReportConnectionRoute { + return vs[0].([]GetTgRouteReportsRouteReportConnectionRoute)[vs[1].(int)] + }).(GetTgRouteReportsRouteReportConnectionRouteOutput) +} + +type GetTgRouteReportsRouteReportOverlappingRoute struct { + // Collection of transit gateway overlapping route's details + Routes []GetTgRouteReportsRouteReportOverlappingRouteRoute `pulumi:"routes"` +} + +// GetTgRouteReportsRouteReportOverlappingRouteInput is an input type that accepts GetTgRouteReportsRouteReportOverlappingRouteArgs and GetTgRouteReportsRouteReportOverlappingRouteOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportOverlappingRouteInput` via: +// +// GetTgRouteReportsRouteReportOverlappingRouteArgs{...} +type GetTgRouteReportsRouteReportOverlappingRouteInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportOverlappingRouteOutput() GetTgRouteReportsRouteReportOverlappingRouteOutput + ToGetTgRouteReportsRouteReportOverlappingRouteOutputWithContext(context.Context) GetTgRouteReportsRouteReportOverlappingRouteOutput +} + +type GetTgRouteReportsRouteReportOverlappingRouteArgs struct { + // Collection of transit gateway overlapping route's details + Routes GetTgRouteReportsRouteReportOverlappingRouteRouteArrayInput `pulumi:"routes"` +} + +func (GetTgRouteReportsRouteReportOverlappingRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportOverlappingRoute)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportOverlappingRouteArgs) ToGetTgRouteReportsRouteReportOverlappingRouteOutput() GetTgRouteReportsRouteReportOverlappingRouteOutput { + return i.ToGetTgRouteReportsRouteReportOverlappingRouteOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportOverlappingRouteArgs) ToGetTgRouteReportsRouteReportOverlappingRouteOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOverlappingRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportOverlappingRouteOutput) +} + +// GetTgRouteReportsRouteReportOverlappingRouteArrayInput is an input type that accepts GetTgRouteReportsRouteReportOverlappingRouteArray and GetTgRouteReportsRouteReportOverlappingRouteArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportOverlappingRouteArrayInput` via: +// +// GetTgRouteReportsRouteReportOverlappingRouteArray{ GetTgRouteReportsRouteReportOverlappingRouteArgs{...} } +type GetTgRouteReportsRouteReportOverlappingRouteArrayInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportOverlappingRouteArrayOutput() GetTgRouteReportsRouteReportOverlappingRouteArrayOutput + ToGetTgRouteReportsRouteReportOverlappingRouteArrayOutputWithContext(context.Context) GetTgRouteReportsRouteReportOverlappingRouteArrayOutput +} + +type GetTgRouteReportsRouteReportOverlappingRouteArray []GetTgRouteReportsRouteReportOverlappingRouteInput + +func (GetTgRouteReportsRouteReportOverlappingRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportOverlappingRoute)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportOverlappingRouteArray) ToGetTgRouteReportsRouteReportOverlappingRouteArrayOutput() GetTgRouteReportsRouteReportOverlappingRouteArrayOutput { + return i.ToGetTgRouteReportsRouteReportOverlappingRouteArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportOverlappingRouteArray) ToGetTgRouteReportsRouteReportOverlappingRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOverlappingRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportOverlappingRouteArrayOutput) +} + +type GetTgRouteReportsRouteReportOverlappingRouteOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportOverlappingRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportOverlappingRoute)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteOutput) ToGetTgRouteReportsRouteReportOverlappingRouteOutput() GetTgRouteReportsRouteReportOverlappingRouteOutput { + return o +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteOutput) ToGetTgRouteReportsRouteReportOverlappingRouteOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOverlappingRouteOutput { + return o +} + +// Collection of transit gateway overlapping route's details +func (o GetTgRouteReportsRouteReportOverlappingRouteOutput) Routes() GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportOverlappingRoute) []GetTgRouteReportsRouteReportOverlappingRouteRoute { + return v.Routes + }).(GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput) +} + +type GetTgRouteReportsRouteReportOverlappingRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportOverlappingRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportOverlappingRoute)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteArrayOutput) ToGetTgRouteReportsRouteReportOverlappingRouteArrayOutput() GetTgRouteReportsRouteReportOverlappingRouteArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteArrayOutput) ToGetTgRouteReportsRouteReportOverlappingRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOverlappingRouteArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportsRouteReportOverlappingRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportsRouteReportOverlappingRoute { + return vs[0].([]GetTgRouteReportsRouteReportOverlappingRoute)[vs[1].(int)] + }).(GetTgRouteReportsRouteReportOverlappingRouteOutput) +} + +type GetTgRouteReportsRouteReportOverlappingRouteRoute struct { + ConnectionId string `pulumi:"connectionId"` + Prefix string `pulumi:"prefix"` +} + +// GetTgRouteReportsRouteReportOverlappingRouteRouteInput is an input type that accepts GetTgRouteReportsRouteReportOverlappingRouteRouteArgs and GetTgRouteReportsRouteReportOverlappingRouteRouteOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportOverlappingRouteRouteInput` via: +// +// GetTgRouteReportsRouteReportOverlappingRouteRouteArgs{...} +type GetTgRouteReportsRouteReportOverlappingRouteRouteInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportOverlappingRouteRouteOutput() GetTgRouteReportsRouteReportOverlappingRouteRouteOutput + ToGetTgRouteReportsRouteReportOverlappingRouteRouteOutputWithContext(context.Context) GetTgRouteReportsRouteReportOverlappingRouteRouteOutput +} + +type GetTgRouteReportsRouteReportOverlappingRouteRouteArgs struct { + ConnectionId pulumi.StringInput `pulumi:"connectionId"` + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (GetTgRouteReportsRouteReportOverlappingRouteRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportOverlappingRouteRouteArgs) ToGetTgRouteReportsRouteReportOverlappingRouteRouteOutput() GetTgRouteReportsRouteReportOverlappingRouteRouteOutput { + return i.ToGetTgRouteReportsRouteReportOverlappingRouteRouteOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportOverlappingRouteRouteArgs) ToGetTgRouteReportsRouteReportOverlappingRouteRouteOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOverlappingRouteRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportOverlappingRouteRouteOutput) +} + +// GetTgRouteReportsRouteReportOverlappingRouteRouteArrayInput is an input type that accepts GetTgRouteReportsRouteReportOverlappingRouteRouteArray and GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput values. +// You can construct a concrete instance of `GetTgRouteReportsRouteReportOverlappingRouteRouteArrayInput` via: +// +// GetTgRouteReportsRouteReportOverlappingRouteRouteArray{ GetTgRouteReportsRouteReportOverlappingRouteRouteArgs{...} } +type GetTgRouteReportsRouteReportOverlappingRouteRouteArrayInput interface { + pulumi.Input + + ToGetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput() GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput + ToGetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutputWithContext(context.Context) GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput +} + +type GetTgRouteReportsRouteReportOverlappingRouteRouteArray []GetTgRouteReportsRouteReportOverlappingRouteRouteInput + +func (GetTgRouteReportsRouteReportOverlappingRouteRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (i GetTgRouteReportsRouteReportOverlappingRouteRouteArray) ToGetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput() GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput { + return i.ToGetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutputWithContext(context.Background()) +} + +func (i GetTgRouteReportsRouteReportOverlappingRouteRouteArray) ToGetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput) +} + +type GetTgRouteReportsRouteReportOverlappingRouteRouteOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportOverlappingRouteRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTgRouteReportsRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteRouteOutput) ToGetTgRouteReportsRouteReportOverlappingRouteRouteOutput() GetTgRouteReportsRouteReportOverlappingRouteRouteOutput { + return o +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteRouteOutput) ToGetTgRouteReportsRouteReportOverlappingRouteRouteOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOverlappingRouteRouteOutput { + return o +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteRouteOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportOverlappingRouteRoute) string { return v.ConnectionId }).(pulumi.StringOutput) +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteRouteOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetTgRouteReportsRouteReportOverlappingRouteRoute) string { return v.Prefix }).(pulumi.StringOutput) +} + +type GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTgRouteReportsRouteReportOverlappingRouteRoute)(nil)).Elem() +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput) ToGetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput() GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput) ToGetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutputWithContext(ctx context.Context) GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput { + return o +} + +func (o GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput) Index(i pulumi.IntInput) GetTgRouteReportsRouteReportOverlappingRouteRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTgRouteReportsRouteReportOverlappingRouteRoute { + return vs[0].([]GetTgRouteReportsRouteReportOverlappingRouteRoute)[vs[1].(int)] + }).(GetTgRouteReportsRouteReportOverlappingRouteRouteOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportOverlappingRouteInput)(nil)).Elem(), GetTgRouteReportOverlappingRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportOverlappingRouteArrayInput)(nil)).Elem(), GetTgRouteReportOverlappingRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportOverlappingRouteRouteInput)(nil)).Elem(), GetTgRouteReportOverlappingRouteRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportOverlappingRouteRouteArrayInput)(nil)).Elem(), GetTgRouteReportOverlappingRouteRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportInput)(nil)).Elem(), GetTgRouteReportsRouteReportArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportArrayInput)(nil)).Elem(), GetTgRouteReportsRouteReportArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionInput)(nil)).Elem(), GetTgRouteReportsRouteReportConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionArrayInput)(nil)).Elem(), GetTgRouteReportsRouteReportConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionBgpInput)(nil)).Elem(), GetTgRouteReportsRouteReportConnectionBgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionBgpArrayInput)(nil)).Elem(), GetTgRouteReportsRouteReportConnectionBgpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionRouteInput)(nil)).Elem(), GetTgRouteReportsRouteReportConnectionRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportConnectionRouteArrayInput)(nil)).Elem(), GetTgRouteReportsRouteReportConnectionRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportOverlappingRouteInput)(nil)).Elem(), GetTgRouteReportsRouteReportOverlappingRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportOverlappingRouteArrayInput)(nil)).Elem(), GetTgRouteReportsRouteReportOverlappingRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportOverlappingRouteRouteInput)(nil)).Elem(), GetTgRouteReportsRouteReportOverlappingRouteRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTgRouteReportsRouteReportOverlappingRouteRouteArrayInput)(nil)).Elem(), GetTgRouteReportsRouteReportOverlappingRouteRouteArray{}) + pulumi.RegisterOutputType(GetTgRouteReportOverlappingRouteOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportOverlappingRouteArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportOverlappingRouteRouteOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportOverlappingRouteRouteArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportConnectionOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportConnectionBgpOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportConnectionBgpArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportConnectionRouteOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportConnectionRouteArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportOverlappingRouteOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportOverlappingRouteArrayOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportOverlappingRouteRouteOutput{}) + pulumi.RegisterOutputType(GetTgRouteReportsRouteReportOverlappingRouteRouteArrayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceGroup.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceGroup.go new file mode 100644 index 000000000..1fa63f5e7 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceGroup.go @@ -0,0 +1,239 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ResourceGroup struct { + pulumi.CustomResourceState + + // The date when the resource group was initially created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The full CRN associated with the resource group + Crn pulumi.StringOutput `pulumi:"crn"` + // Specifies whether its default resource group or not + Default pulumi.BoolOutput `pulumi:"default"` + // The name of the resource group + Name pulumi.StringOutput `pulumi:"name"` + // The URL to access the payment methods details that associated with the resource group. + PaymentMethodsUrl pulumi.StringOutput `pulumi:"paymentMethodsUrl"` + // An alpha-numeric value identifying the quota ID associated with the resource group. + QuotaId pulumi.StringOutput `pulumi:"quotaId"` + // The URL to access the quota details that associated with the resource group. + QuotaUrl pulumi.StringOutput `pulumi:"quotaUrl"` + // An array of the resources that linked to the resource group + ResourceLinkages pulumi.StringArrayOutput `pulumi:"resourceLinkages"` + // State of the resource group + State pulumi.StringOutput `pulumi:"state"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The URL to access the team details that associated with the resource group. + TeamsUrl pulumi.StringOutput `pulumi:"teamsUrl"` + // The date when the resource group was last updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewResourceGroup registers a new resource with the given unique name, arguments, and options. +func NewResourceGroup(ctx *pulumi.Context, + name string, args *ResourceGroupArgs, opts ...pulumi.ResourceOption) (*ResourceGroup, error) { + if args == nil { + args = &ResourceGroupArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource ResourceGroup + err := ctx.RegisterResource("ibmcloud:index/resourceGroup:ResourceGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetResourceGroup gets an existing ResourceGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetResourceGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ResourceGroupState, opts ...pulumi.ResourceOption) (*ResourceGroup, error) { + var resource ResourceGroup + err := ctx.ReadResource("ibmcloud:index/resourceGroup:ResourceGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ResourceGroup resources. +type resourceGroupState struct { + // The date when the resource group was initially created. + CreatedAt *string `pulumi:"createdAt"` + // The full CRN associated with the resource group + Crn *string `pulumi:"crn"` + // Specifies whether its default resource group or not + Default *bool `pulumi:"default"` + // The name of the resource group + Name *string `pulumi:"name"` + // The URL to access the payment methods details that associated with the resource group. + PaymentMethodsUrl *string `pulumi:"paymentMethodsUrl"` + // An alpha-numeric value identifying the quota ID associated with the resource group. + QuotaId *string `pulumi:"quotaId"` + // The URL to access the quota details that associated with the resource group. + QuotaUrl *string `pulumi:"quotaUrl"` + // An array of the resources that linked to the resource group + ResourceLinkages []string `pulumi:"resourceLinkages"` + // State of the resource group + State *string `pulumi:"state"` + Tags []string `pulumi:"tags"` + // The URL to access the team details that associated with the resource group. + TeamsUrl *string `pulumi:"teamsUrl"` + // The date when the resource group was last updated. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type ResourceGroupState struct { + // The date when the resource group was initially created. + CreatedAt pulumi.StringPtrInput + // The full CRN associated with the resource group + Crn pulumi.StringPtrInput + // Specifies whether its default resource group or not + Default pulumi.BoolPtrInput + // The name of the resource group + Name pulumi.StringPtrInput + // The URL to access the payment methods details that associated with the resource group. + PaymentMethodsUrl pulumi.StringPtrInput + // An alpha-numeric value identifying the quota ID associated with the resource group. + QuotaId pulumi.StringPtrInput + // The URL to access the quota details that associated with the resource group. + QuotaUrl pulumi.StringPtrInput + // An array of the resources that linked to the resource group + ResourceLinkages pulumi.StringArrayInput + // State of the resource group + State pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // The URL to access the team details that associated with the resource group. + TeamsUrl pulumi.StringPtrInput + // The date when the resource group was last updated. + UpdatedAt pulumi.StringPtrInput +} + +func (ResourceGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*resourceGroupState)(nil)).Elem() +} + +type resourceGroupArgs struct { + // The name of the resource group + Name *string `pulumi:"name"` + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a ResourceGroup resource. +type ResourceGroupArgs struct { + // The name of the resource group + Name pulumi.StringPtrInput + Tags pulumi.StringArrayInput +} + +func (ResourceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*resourceGroupArgs)(nil)).Elem() +} + +type ResourceGroupInput interface { + pulumi.Input + + ToResourceGroupOutput() ResourceGroupOutput + ToResourceGroupOutputWithContext(ctx context.Context) ResourceGroupOutput +} + +func (*ResourceGroup) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceGroup)(nil)).Elem() +} + +func (i *ResourceGroup) ToResourceGroupOutput() ResourceGroupOutput { + return i.ToResourceGroupOutputWithContext(context.Background()) +} + +func (i *ResourceGroup) ToResourceGroupOutputWithContext(ctx context.Context) ResourceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceGroupOutput) +} + +type ResourceGroupOutput struct{ *pulumi.OutputState } + +func (ResourceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceGroup)(nil)).Elem() +} + +func (o ResourceGroupOutput) ToResourceGroupOutput() ResourceGroupOutput { + return o +} + +func (o ResourceGroupOutput) ToResourceGroupOutputWithContext(ctx context.Context) ResourceGroupOutput { + return o +} + +// The date when the resource group was initially created. +func (o ResourceGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The full CRN associated with the resource group +func (o ResourceGroupOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Specifies whether its default resource group or not +func (o ResourceGroupOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.BoolOutput { return v.Default }).(pulumi.BoolOutput) +} + +// The name of the resource group +func (o ResourceGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The URL to access the payment methods details that associated with the resource group. +func (o ResourceGroupOutput) PaymentMethodsUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.PaymentMethodsUrl }).(pulumi.StringOutput) +} + +// An alpha-numeric value identifying the quota ID associated with the resource group. +func (o ResourceGroupOutput) QuotaId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.QuotaId }).(pulumi.StringOutput) +} + +// The URL to access the quota details that associated with the resource group. +func (o ResourceGroupOutput) QuotaUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.QuotaUrl }).(pulumi.StringOutput) +} + +// An array of the resources that linked to the resource group +func (o ResourceGroupOutput) ResourceLinkages() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringArrayOutput { return v.ResourceLinkages }).(pulumi.StringArrayOutput) +} + +// State of the resource group +func (o ResourceGroupOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +func (o ResourceGroupOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The URL to access the team details that associated with the resource group. +func (o ResourceGroupOutput) TeamsUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.TeamsUrl }).(pulumi.StringOutput) +} + +// The date when the resource group was last updated. +func (o ResourceGroupOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceGroup) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ResourceGroupInput)(nil)).Elem(), &ResourceGroup{}) + pulumi.RegisterOutputType(ResourceGroupOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceInstance.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceInstance.go new file mode 100644 index 000000000..cfc03d330 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceInstance.go @@ -0,0 +1,656 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ResourceInstance struct { + pulumi.CustomResourceState + + // An alpha-numeric value identifying the account ID. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call. + AllowCleanup pulumi.BoolOutput `pulumi:"allowCleanup"` + // The date when the instance was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The subject who created the instance. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // CRN of resource instance + Crn pulumi.StringOutput `pulumi:"crn"` + // Dashboard URL to access resource. + DashboardUrl pulumi.StringOutput `pulumi:"dashboardUrl"` + // The date when the instance was deleted. + DeletedAt pulumi.StringOutput `pulumi:"deletedAt"` + // The subject who deleted the instance. + DeletedBy pulumi.StringOutput `pulumi:"deletedBy"` + // The extended metadata as a map associated with the resource instance. + Extensions pulumi.StringMapOutput `pulumi:"extensions"` + // Guid of resource instance + Guid pulumi.StringOutput `pulumi:"guid"` + // The status of the last operation requested on the instance + LastOperation pulumi.StringMapOutput `pulumi:"lastOperation"` + // The location where the instance available + Location pulumi.StringOutput `pulumi:"location"` + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call. + Locked pulumi.BoolOutput `pulumi:"locked"` + // A name for the resource instance + Name pulumi.StringOutput `pulumi:"name"` + // A boolean that dictates if the onetimeCredentials is true or false. + OnetimeCredentials pulumi.BoolOutput `pulumi:"onetimeCredentials"` + // Arbitrary parameters to pass. Must be a JSON object + Parameters pulumi.StringMapOutput `pulumi:"parameters"` + // Arbitrary parameters to pass in Json string format + ParametersJson pulumi.StringPtrOutput `pulumi:"parametersJson"` + // The plan type of the service + Plan pulumi.StringOutput `pulumi:"plan"` + // The plan history of the instance. + PlanHistories ResourceInstancePlanHistoryArrayOutput `pulumi:"planHistories"` + // The relative path to the resource aliases for the instance. + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceAliasesUrl pulumi.StringOutput `pulumi:"resourceAliasesUrl"` + // The relative path to the resource bindings for the instance. + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceBindingsUrl pulumi.StringOutput `pulumi:"resourceBindingsUrl"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about the resource + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + // The long ID (full CRN) of the resource group + ResourceGroupCrn pulumi.StringOutput `pulumi:"resourceGroupCrn"` + // The resource group id + ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The unique ID of the offering + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // The relative path to the resource keys for the instance. + ResourceKeysUrl pulumi.StringOutput `pulumi:"resourceKeysUrl"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The unique ID of the plan associated with the offering + ResourcePlanId pulumi.StringOutput `pulumi:"resourcePlanId"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // The date when the instance under reclamation was restored. + RestoredAt pulumi.StringOutput `pulumi:"restoredAt"` + // The subject who restored the instance back from reclamation. + RestoredBy pulumi.StringOutput `pulumi:"restoredBy"` + // The date when the instance was scheduled for reclamation. + ScheduledReclaimAt pulumi.StringOutput `pulumi:"scheduledReclaimAt"` + // The subject who initiated the instance reclamation. + ScheduledReclaimBy pulumi.StringOutput `pulumi:"scheduledReclaimBy"` + // The name of the service offering like cloud-object-storage, kms etc + Service pulumi.StringOutput `pulumi:"service"` + // Types of the service endpoints. Possible values are 'public', 'private', 'public-and-private'. + ServiceEndpoints pulumi.StringOutput `pulumi:"serviceEndpoints"` + // The current state of the instance. + State pulumi.StringOutput `pulumi:"state"` + // Status of resource instance + Status pulumi.StringOutput `pulumi:"status"` + // The sub-type of instance, e.g. cfaas . + SubType pulumi.StringOutput `pulumi:"subType"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The full deployment CRN as defined in the global catalog + TargetCrn pulumi.StringOutput `pulumi:"targetCrn"` + // The type of the instance, e.g. service_instance. + Type pulumi.StringOutput `pulumi:"type"` + // The date when the instance was last updated. + UpdateAt pulumi.StringOutput `pulumi:"updateAt"` + // The subject who updated the instance. + UpdateBy pulumi.StringOutput `pulumi:"updateBy"` +} + +// NewResourceInstance registers a new resource with the given unique name, arguments, and options. +func NewResourceInstance(ctx *pulumi.Context, + name string, args *ResourceInstanceArgs, opts ...pulumi.ResourceOption) (*ResourceInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Location == nil { + return nil, errors.New("invalid value for required argument 'Location'") + } + if args.Plan == nil { + return nil, errors.New("invalid value for required argument 'Plan'") + } + if args.Service == nil { + return nil, errors.New("invalid value for required argument 'Service'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ResourceInstance + err := ctx.RegisterResource("ibmcloud:index/resourceInstance:ResourceInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetResourceInstance gets an existing ResourceInstance resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetResourceInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ResourceInstanceState, opts ...pulumi.ResourceOption) (*ResourceInstance, error) { + var resource ResourceInstance + err := ctx.ReadResource("ibmcloud:index/resourceInstance:ResourceInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ResourceInstance resources. +type resourceInstanceState struct { + // An alpha-numeric value identifying the account ID. + AccountId *string `pulumi:"accountId"` + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call. + AllowCleanup *bool `pulumi:"allowCleanup"` + // The date when the instance was created. + CreatedAt *string `pulumi:"createdAt"` + // The subject who created the instance. + CreatedBy *string `pulumi:"createdBy"` + // CRN of resource instance + Crn *string `pulumi:"crn"` + // Dashboard URL to access resource. + DashboardUrl *string `pulumi:"dashboardUrl"` + // The date when the instance was deleted. + DeletedAt *string `pulumi:"deletedAt"` + // The subject who deleted the instance. + DeletedBy *string `pulumi:"deletedBy"` + // The extended metadata as a map associated with the resource instance. + Extensions map[string]string `pulumi:"extensions"` + // Guid of resource instance + Guid *string `pulumi:"guid"` + // The status of the last operation requested on the instance + LastOperation map[string]string `pulumi:"lastOperation"` + // The location where the instance available + Location *string `pulumi:"location"` + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call. + Locked *bool `pulumi:"locked"` + // A name for the resource instance + Name *string `pulumi:"name"` + // A boolean that dictates if the onetimeCredentials is true or false. + OnetimeCredentials *bool `pulumi:"onetimeCredentials"` + // Arbitrary parameters to pass. Must be a JSON object + Parameters map[string]string `pulumi:"parameters"` + // Arbitrary parameters to pass in Json string format + ParametersJson *string `pulumi:"parametersJson"` + // The plan type of the service + Plan *string `pulumi:"plan"` + // The plan history of the instance. + PlanHistories []ResourceInstancePlanHistory `pulumi:"planHistories"` + // The relative path to the resource aliases for the instance. + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceAliasesUrl *string `pulumi:"resourceAliasesUrl"` + // The relative path to the resource bindings for the instance. + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceBindingsUrl *string `pulumi:"resourceBindingsUrl"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about the resource + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + // The long ID (full CRN) of the resource group + ResourceGroupCrn *string `pulumi:"resourceGroupCrn"` + // The resource group id + ResourceGroupId *string `pulumi:"resourceGroupId"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The unique ID of the offering + ResourceId *string `pulumi:"resourceId"` + // The relative path to the resource keys for the instance. + ResourceKeysUrl *string `pulumi:"resourceKeysUrl"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The unique ID of the plan associated with the offering + ResourcePlanId *string `pulumi:"resourcePlanId"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // The date when the instance under reclamation was restored. + RestoredAt *string `pulumi:"restoredAt"` + // The subject who restored the instance back from reclamation. + RestoredBy *string `pulumi:"restoredBy"` + // The date when the instance was scheduled for reclamation. + ScheduledReclaimAt *string `pulumi:"scheduledReclaimAt"` + // The subject who initiated the instance reclamation. + ScheduledReclaimBy *string `pulumi:"scheduledReclaimBy"` + // The name of the service offering like cloud-object-storage, kms etc + Service *string `pulumi:"service"` + // Types of the service endpoints. Possible values are 'public', 'private', 'public-and-private'. + ServiceEndpoints *string `pulumi:"serviceEndpoints"` + // The current state of the instance. + State *string `pulumi:"state"` + // Status of resource instance + Status *string `pulumi:"status"` + // The sub-type of instance, e.g. cfaas . + SubType *string `pulumi:"subType"` + Tags []string `pulumi:"tags"` + // The full deployment CRN as defined in the global catalog + TargetCrn *string `pulumi:"targetCrn"` + // The type of the instance, e.g. service_instance. + Type *string `pulumi:"type"` + // The date when the instance was last updated. + UpdateAt *string `pulumi:"updateAt"` + // The subject who updated the instance. + UpdateBy *string `pulumi:"updateBy"` +} + +type ResourceInstanceState struct { + // An alpha-numeric value identifying the account ID. + AccountId pulumi.StringPtrInput + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call. + AllowCleanup pulumi.BoolPtrInput + // The date when the instance was created. + CreatedAt pulumi.StringPtrInput + // The subject who created the instance. + CreatedBy pulumi.StringPtrInput + // CRN of resource instance + Crn pulumi.StringPtrInput + // Dashboard URL to access resource. + DashboardUrl pulumi.StringPtrInput + // The date when the instance was deleted. + DeletedAt pulumi.StringPtrInput + // The subject who deleted the instance. + DeletedBy pulumi.StringPtrInput + // The extended metadata as a map associated with the resource instance. + Extensions pulumi.StringMapInput + // Guid of resource instance + Guid pulumi.StringPtrInput + // The status of the last operation requested on the instance + LastOperation pulumi.StringMapInput + // The location where the instance available + Location pulumi.StringPtrInput + // A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call. + Locked pulumi.BoolPtrInput + // A name for the resource instance + Name pulumi.StringPtrInput + // A boolean that dictates if the onetimeCredentials is true or false. + OnetimeCredentials pulumi.BoolPtrInput + // Arbitrary parameters to pass. Must be a JSON object + Parameters pulumi.StringMapInput + // Arbitrary parameters to pass in Json string format + ParametersJson pulumi.StringPtrInput + // The plan type of the service + Plan pulumi.StringPtrInput + // The plan history of the instance. + PlanHistories ResourceInstancePlanHistoryArrayInput + // The relative path to the resource aliases for the instance. + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceAliasesUrl pulumi.StringPtrInput + // The relative path to the resource bindings for the instance. + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceBindingsUrl pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about the resource + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + // The long ID (full CRN) of the resource group + ResourceGroupCrn pulumi.StringPtrInput + // The resource group id + ResourceGroupId pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The unique ID of the offering + ResourceId pulumi.StringPtrInput + // The relative path to the resource keys for the instance. + ResourceKeysUrl pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The unique ID of the plan associated with the offering + ResourcePlanId pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // The date when the instance under reclamation was restored. + RestoredAt pulumi.StringPtrInput + // The subject who restored the instance back from reclamation. + RestoredBy pulumi.StringPtrInput + // The date when the instance was scheduled for reclamation. + ScheduledReclaimAt pulumi.StringPtrInput + // The subject who initiated the instance reclamation. + ScheduledReclaimBy pulumi.StringPtrInput + // The name of the service offering like cloud-object-storage, kms etc + Service pulumi.StringPtrInput + // Types of the service endpoints. Possible values are 'public', 'private', 'public-and-private'. + ServiceEndpoints pulumi.StringPtrInput + // The current state of the instance. + State pulumi.StringPtrInput + // Status of resource instance + Status pulumi.StringPtrInput + // The sub-type of instance, e.g. cfaas . + SubType pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // The full deployment CRN as defined in the global catalog + TargetCrn pulumi.StringPtrInput + // The type of the instance, e.g. service_instance. + Type pulumi.StringPtrInput + // The date when the instance was last updated. + UpdateAt pulumi.StringPtrInput + // The subject who updated the instance. + UpdateBy pulumi.StringPtrInput +} + +func (ResourceInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*resourceInstanceState)(nil)).Elem() +} + +type resourceInstanceArgs struct { + // The location where the instance available + Location string `pulumi:"location"` + // A name for the resource instance + Name *string `pulumi:"name"` + // Arbitrary parameters to pass. Must be a JSON object + Parameters map[string]string `pulumi:"parameters"` + // Arbitrary parameters to pass in Json string format + ParametersJson *string `pulumi:"parametersJson"` + // The plan type of the service + Plan string `pulumi:"plan"` + // The resource group id + ResourceGroupId *string `pulumi:"resourceGroupId"` + // The name of the service offering like cloud-object-storage, kms etc + Service string `pulumi:"service"` + // Types of the service endpoints. Possible values are 'public', 'private', 'public-and-private'. + ServiceEndpoints *string `pulumi:"serviceEndpoints"` + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a ResourceInstance resource. +type ResourceInstanceArgs struct { + // The location where the instance available + Location pulumi.StringInput + // A name for the resource instance + Name pulumi.StringPtrInput + // Arbitrary parameters to pass. Must be a JSON object + Parameters pulumi.StringMapInput + // Arbitrary parameters to pass in Json string format + ParametersJson pulumi.StringPtrInput + // The plan type of the service + Plan pulumi.StringInput + // The resource group id + ResourceGroupId pulumi.StringPtrInput + // The name of the service offering like cloud-object-storage, kms etc + Service pulumi.StringInput + // Types of the service endpoints. Possible values are 'public', 'private', 'public-and-private'. + ServiceEndpoints pulumi.StringPtrInput + Tags pulumi.StringArrayInput +} + +func (ResourceInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*resourceInstanceArgs)(nil)).Elem() +} + +type ResourceInstanceInput interface { + pulumi.Input + + ToResourceInstanceOutput() ResourceInstanceOutput + ToResourceInstanceOutputWithContext(ctx context.Context) ResourceInstanceOutput +} + +func (*ResourceInstance) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceInstance)(nil)).Elem() +} + +func (i *ResourceInstance) ToResourceInstanceOutput() ResourceInstanceOutput { + return i.ToResourceInstanceOutputWithContext(context.Background()) +} + +func (i *ResourceInstance) ToResourceInstanceOutputWithContext(ctx context.Context) ResourceInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceInstanceOutput) +} + +type ResourceInstanceOutput struct{ *pulumi.OutputState } + +func (ResourceInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceInstance)(nil)).Elem() +} + +func (o ResourceInstanceOutput) ToResourceInstanceOutput() ResourceInstanceOutput { + return o +} + +func (o ResourceInstanceOutput) ToResourceInstanceOutputWithContext(ctx context.Context) ResourceInstanceOutput { + return o +} + +// An alpha-numeric value identifying the account ID. +func (o ResourceInstanceOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call. +func (o ResourceInstanceOutput) AllowCleanup() pulumi.BoolOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.BoolOutput { return v.AllowCleanup }).(pulumi.BoolOutput) +} + +// The date when the instance was created. +func (o ResourceInstanceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The subject who created the instance. +func (o ResourceInstanceOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// CRN of resource instance +func (o ResourceInstanceOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Dashboard URL to access resource. +func (o ResourceInstanceOutput) DashboardUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.DashboardUrl }).(pulumi.StringOutput) +} + +// The date when the instance was deleted. +func (o ResourceInstanceOutput) DeletedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.DeletedAt }).(pulumi.StringOutput) +} + +// The subject who deleted the instance. +func (o ResourceInstanceOutput) DeletedBy() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.DeletedBy }).(pulumi.StringOutput) +} + +// The extended metadata as a map associated with the resource instance. +func (o ResourceInstanceOutput) Extensions() pulumi.StringMapOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringMapOutput { return v.Extensions }).(pulumi.StringMapOutput) +} + +// Guid of resource instance +func (o ResourceInstanceOutput) Guid() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.Guid }).(pulumi.StringOutput) +} + +// The status of the last operation requested on the instance +func (o ResourceInstanceOutput) LastOperation() pulumi.StringMapOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringMapOutput { return v.LastOperation }).(pulumi.StringMapOutput) +} + +// The location where the instance available +func (o ResourceInstanceOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) +} + +// A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call. +func (o ResourceInstanceOutput) Locked() pulumi.BoolOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.BoolOutput { return v.Locked }).(pulumi.BoolOutput) +} + +// A name for the resource instance +func (o ResourceInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// A boolean that dictates if the onetimeCredentials is true or false. +func (o ResourceInstanceOutput) OnetimeCredentials() pulumi.BoolOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.BoolOutput { return v.OnetimeCredentials }).(pulumi.BoolOutput) +} + +// Arbitrary parameters to pass. Must be a JSON object +func (o ResourceInstanceOutput) Parameters() pulumi.StringMapOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringMapOutput { return v.Parameters }).(pulumi.StringMapOutput) +} + +// Arbitrary parameters to pass in Json string format +func (o ResourceInstanceOutput) ParametersJson() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringPtrOutput { return v.ParametersJson }).(pulumi.StringPtrOutput) +} + +// The plan type of the service +func (o ResourceInstanceOutput) Plan() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.Plan }).(pulumi.StringOutput) +} + +// The plan history of the instance. +func (o ResourceInstanceOutput) PlanHistories() ResourceInstancePlanHistoryArrayOutput { + return o.ApplyT(func(v *ResourceInstance) ResourceInstancePlanHistoryArrayOutput { return v.PlanHistories }).(ResourceInstancePlanHistoryArrayOutput) +} + +// The relative path to the resource aliases for the instance. +// +// Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. +func (o ResourceInstanceOutput) ResourceAliasesUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceAliasesUrl }).(pulumi.StringOutput) +} + +// The relative path to the resource bindings for the instance. +// +// Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. +func (o ResourceInstanceOutput) ResourceBindingsUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceBindingsUrl }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about the resource +func (o ResourceInstanceOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o ResourceInstanceOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +// The long ID (full CRN) of the resource group +func (o ResourceInstanceOutput) ResourceGroupCrn() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceGroupCrn }).(pulumi.StringOutput) +} + +// The resource group id +func (o ResourceInstanceOutput) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o ResourceInstanceOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The unique ID of the offering +func (o ResourceInstanceOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// The relative path to the resource keys for the instance. +func (o ResourceInstanceOutput) ResourceKeysUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceKeysUrl }).(pulumi.StringOutput) +} + +// The name of the resource +func (o ResourceInstanceOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The unique ID of the plan associated with the offering +func (o ResourceInstanceOutput) ResourcePlanId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourcePlanId }).(pulumi.StringOutput) +} + +// The status of the resource +func (o ResourceInstanceOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// The date when the instance under reclamation was restored. +func (o ResourceInstanceOutput) RestoredAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.RestoredAt }).(pulumi.StringOutput) +} + +// The subject who restored the instance back from reclamation. +func (o ResourceInstanceOutput) RestoredBy() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.RestoredBy }).(pulumi.StringOutput) +} + +// The date when the instance was scheduled for reclamation. +func (o ResourceInstanceOutput) ScheduledReclaimAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ScheduledReclaimAt }).(pulumi.StringOutput) +} + +// The subject who initiated the instance reclamation. +func (o ResourceInstanceOutput) ScheduledReclaimBy() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ScheduledReclaimBy }).(pulumi.StringOutput) +} + +// The name of the service offering like cloud-object-storage, kms etc +func (o ResourceInstanceOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.Service }).(pulumi.StringOutput) +} + +// Types of the service endpoints. Possible values are 'public', 'private', 'public-and-private'. +func (o ResourceInstanceOutput) ServiceEndpoints() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.ServiceEndpoints }).(pulumi.StringOutput) +} + +// The current state of the instance. +func (o ResourceInstanceOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Status of resource instance +func (o ResourceInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The sub-type of instance, e.g. cfaas . +func (o ResourceInstanceOutput) SubType() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.SubType }).(pulumi.StringOutput) +} + +func (o ResourceInstanceOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The full deployment CRN as defined in the global catalog +func (o ResourceInstanceOutput) TargetCrn() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.TargetCrn }).(pulumi.StringOutput) +} + +// The type of the instance, e.g. service_instance. +func (o ResourceInstanceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// The date when the instance was last updated. +func (o ResourceInstanceOutput) UpdateAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.UpdateAt }).(pulumi.StringOutput) +} + +// The subject who updated the instance. +func (o ResourceInstanceOutput) UpdateBy() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceInstance) pulumi.StringOutput { return v.UpdateBy }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ResourceInstanceInput)(nil)).Elem(), &ResourceInstance{}) + pulumi.RegisterOutputType(ResourceInstanceOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceKey.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceKey.go new file mode 100644 index 000000000..890ae6a65 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceKey.go @@ -0,0 +1,415 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ResourceKey struct { + pulumi.CustomResourceState + + // An alpha-numeric value identifying the account ID. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // The date when the key was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The subject who created the key. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // Credentials asociated with the key + Credentials pulumi.StringMapOutput `pulumi:"credentials"` + // Credentials asociated with the key in json string + CredentialsJson pulumi.StringOutput `pulumi:"credentialsJson"` + // crn of resource key + Crn pulumi.StringOutput `pulumi:"crn"` + // The date when the key was deleted. + DeletedAt pulumi.StringOutput `pulumi:"deletedAt"` + // The subject who deleted the key. + DeletedBy pulumi.StringOutput `pulumi:"deletedBy"` + // When you create a new key, a globally unique identifier (GUID) is assigned. + Guid pulumi.StringOutput `pulumi:"guid"` + // Specifies whether the key's credentials support IAM. + IamCompatible pulumi.BoolOutput `pulumi:"iamCompatible"` + // The name of the resource key + Name pulumi.StringOutput `pulumi:"name"` + // onetime_credentials of resource key + OnetimeCredentials pulumi.BoolOutput `pulumi:"onetimeCredentials"` + // Arbitrary parameters to pass. Must be a JSON object + Parameters pulumi.StringMapOutput `pulumi:"parameters"` + // The id of the resource alias for which to create resource key + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceAliasId pulumi.StringPtrOutput `pulumi:"resourceAliasId"` + // The short ID of the resource group. + ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` + // The id of the resource instance for which to create resource key + ResourceInstanceId pulumi.StringPtrOutput `pulumi:"resourceInstanceId"` + // The relative path to the resource. + ResourceInstanceUrl pulumi.StringOutput `pulumi:"resourceInstanceUrl"` + // Name of the user role.Valid roles are Writer, Reader, Manager, Administrator, Operator, Viewer, Editor and Custom Roles. + Role pulumi.StringOutput `pulumi:"role"` + // The CRN of resource instance or alias associated to the key. + SourceCrn pulumi.StringOutput `pulumi:"sourceCrn"` + // The state of the key. + State pulumi.StringOutput `pulumi:"state"` + // Status of resource key + Status pulumi.StringOutput `pulumi:"status"` + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The date when the key was last updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` + // The subject who updated the key. + UpdatedBy pulumi.StringOutput `pulumi:"updatedBy"` + // When you created a new key, a relative URL path is created identifying the location of the key. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewResourceKey registers a new resource with the given unique name, arguments, and options. +func NewResourceKey(ctx *pulumi.Context, + name string, args *ResourceKeyArgs, opts ...pulumi.ResourceOption) (*ResourceKey, error) { + if args == nil { + args = &ResourceKeyArgs{} + } + + secrets := pulumi.AdditionalSecretOutputs([]string{ + "credentials", + "credentialsJson", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ResourceKey + err := ctx.RegisterResource("ibmcloud:index/resourceKey:ResourceKey", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetResourceKey gets an existing ResourceKey resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetResourceKey(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ResourceKeyState, opts ...pulumi.ResourceOption) (*ResourceKey, error) { + var resource ResourceKey + err := ctx.ReadResource("ibmcloud:index/resourceKey:ResourceKey", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ResourceKey resources. +type resourceKeyState struct { + // An alpha-numeric value identifying the account ID. + AccountId *string `pulumi:"accountId"` + // The date when the key was created. + CreatedAt *string `pulumi:"createdAt"` + // The subject who created the key. + CreatedBy *string `pulumi:"createdBy"` + // Credentials asociated with the key + Credentials map[string]string `pulumi:"credentials"` + // Credentials asociated with the key in json string + CredentialsJson *string `pulumi:"credentialsJson"` + // crn of resource key + Crn *string `pulumi:"crn"` + // The date when the key was deleted. + DeletedAt *string `pulumi:"deletedAt"` + // The subject who deleted the key. + DeletedBy *string `pulumi:"deletedBy"` + // When you create a new key, a globally unique identifier (GUID) is assigned. + Guid *string `pulumi:"guid"` + // Specifies whether the key's credentials support IAM. + IamCompatible *bool `pulumi:"iamCompatible"` + // The name of the resource key + Name *string `pulumi:"name"` + // onetime_credentials of resource key + OnetimeCredentials *bool `pulumi:"onetimeCredentials"` + // Arbitrary parameters to pass. Must be a JSON object + Parameters map[string]string `pulumi:"parameters"` + // The id of the resource alias for which to create resource key + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceAliasId *string `pulumi:"resourceAliasId"` + // The short ID of the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // The id of the resource instance for which to create resource key + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // The relative path to the resource. + ResourceInstanceUrl *string `pulumi:"resourceInstanceUrl"` + // Name of the user role.Valid roles are Writer, Reader, Manager, Administrator, Operator, Viewer, Editor and Custom Roles. + Role *string `pulumi:"role"` + // The CRN of resource instance or alias associated to the key. + SourceCrn *string `pulumi:"sourceCrn"` + // The state of the key. + State *string `pulumi:"state"` + // Status of resource key + Status *string `pulumi:"status"` + Tags []string `pulumi:"tags"` + // The date when the key was last updated. + UpdatedAt *string `pulumi:"updatedAt"` + // The subject who updated the key. + UpdatedBy *string `pulumi:"updatedBy"` + // When you created a new key, a relative URL path is created identifying the location of the key. + Url *string `pulumi:"url"` +} + +type ResourceKeyState struct { + // An alpha-numeric value identifying the account ID. + AccountId pulumi.StringPtrInput + // The date when the key was created. + CreatedAt pulumi.StringPtrInput + // The subject who created the key. + CreatedBy pulumi.StringPtrInput + // Credentials asociated with the key + Credentials pulumi.StringMapInput + // Credentials asociated with the key in json string + CredentialsJson pulumi.StringPtrInput + // crn of resource key + Crn pulumi.StringPtrInput + // The date when the key was deleted. + DeletedAt pulumi.StringPtrInput + // The subject who deleted the key. + DeletedBy pulumi.StringPtrInput + // When you create a new key, a globally unique identifier (GUID) is assigned. + Guid pulumi.StringPtrInput + // Specifies whether the key's credentials support IAM. + IamCompatible pulumi.BoolPtrInput + // The name of the resource key + Name pulumi.StringPtrInput + // onetime_credentials of resource key + OnetimeCredentials pulumi.BoolPtrInput + // Arbitrary parameters to pass. Must be a JSON object + Parameters pulumi.StringMapInput + // The id of the resource alias for which to create resource key + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceAliasId pulumi.StringPtrInput + // The short ID of the resource group. + ResourceGroupId pulumi.StringPtrInput + // The id of the resource instance for which to create resource key + ResourceInstanceId pulumi.StringPtrInput + // The relative path to the resource. + ResourceInstanceUrl pulumi.StringPtrInput + // Name of the user role.Valid roles are Writer, Reader, Manager, Administrator, Operator, Viewer, Editor and Custom Roles. + Role pulumi.StringPtrInput + // The CRN of resource instance or alias associated to the key. + SourceCrn pulumi.StringPtrInput + // The state of the key. + State pulumi.StringPtrInput + // Status of resource key + Status pulumi.StringPtrInput + Tags pulumi.StringArrayInput + // The date when the key was last updated. + UpdatedAt pulumi.StringPtrInput + // The subject who updated the key. + UpdatedBy pulumi.StringPtrInput + // When you created a new key, a relative URL path is created identifying the location of the key. + Url pulumi.StringPtrInput +} + +func (ResourceKeyState) ElementType() reflect.Type { + return reflect.TypeOf((*resourceKeyState)(nil)).Elem() +} + +type resourceKeyArgs struct { + // The name of the resource key + Name *string `pulumi:"name"` + // Arbitrary parameters to pass. Must be a JSON object + Parameters map[string]string `pulumi:"parameters"` + // The id of the resource alias for which to create resource key + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceAliasId *string `pulumi:"resourceAliasId"` + // The id of the resource instance for which to create resource key + ResourceInstanceId *string `pulumi:"resourceInstanceId"` + // Name of the user role.Valid roles are Writer, Reader, Manager, Administrator, Operator, Viewer, Editor and Custom Roles. + Role *string `pulumi:"role"` + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a ResourceKey resource. +type ResourceKeyArgs struct { + // The name of the resource key + Name pulumi.StringPtrInput + // Arbitrary parameters to pass. Must be a JSON object + Parameters pulumi.StringMapInput + // The id of the resource alias for which to create resource key + // + // Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. + ResourceAliasId pulumi.StringPtrInput + // The id of the resource instance for which to create resource key + ResourceInstanceId pulumi.StringPtrInput + // Name of the user role.Valid roles are Writer, Reader, Manager, Administrator, Operator, Viewer, Editor and Custom Roles. + Role pulumi.StringPtrInput + Tags pulumi.StringArrayInput +} + +func (ResourceKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*resourceKeyArgs)(nil)).Elem() +} + +type ResourceKeyInput interface { + pulumi.Input + + ToResourceKeyOutput() ResourceKeyOutput + ToResourceKeyOutputWithContext(ctx context.Context) ResourceKeyOutput +} + +func (*ResourceKey) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceKey)(nil)).Elem() +} + +func (i *ResourceKey) ToResourceKeyOutput() ResourceKeyOutput { + return i.ToResourceKeyOutputWithContext(context.Background()) +} + +func (i *ResourceKey) ToResourceKeyOutputWithContext(ctx context.Context) ResourceKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceKeyOutput) +} + +type ResourceKeyOutput struct{ *pulumi.OutputState } + +func (ResourceKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceKey)(nil)).Elem() +} + +func (o ResourceKeyOutput) ToResourceKeyOutput() ResourceKeyOutput { + return o +} + +func (o ResourceKeyOutput) ToResourceKeyOutputWithContext(ctx context.Context) ResourceKeyOutput { + return o +} + +// An alpha-numeric value identifying the account ID. +func (o ResourceKeyOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// The date when the key was created. +func (o ResourceKeyOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The subject who created the key. +func (o ResourceKeyOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Credentials asociated with the key +func (o ResourceKeyOutput) Credentials() pulumi.StringMapOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringMapOutput { return v.Credentials }).(pulumi.StringMapOutput) +} + +// Credentials asociated with the key in json string +func (o ResourceKeyOutput) CredentialsJson() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.CredentialsJson }).(pulumi.StringOutput) +} + +// crn of resource key +func (o ResourceKeyOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// The date when the key was deleted. +func (o ResourceKeyOutput) DeletedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.DeletedAt }).(pulumi.StringOutput) +} + +// The subject who deleted the key. +func (o ResourceKeyOutput) DeletedBy() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.DeletedBy }).(pulumi.StringOutput) +} + +// When you create a new key, a globally unique identifier (GUID) is assigned. +func (o ResourceKeyOutput) Guid() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.Guid }).(pulumi.StringOutput) +} + +// Specifies whether the key's credentials support IAM. +func (o ResourceKeyOutput) IamCompatible() pulumi.BoolOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.BoolOutput { return v.IamCompatible }).(pulumi.BoolOutput) +} + +// The name of the resource key +func (o ResourceKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// onetime_credentials of resource key +func (o ResourceKeyOutput) OnetimeCredentials() pulumi.BoolOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.BoolOutput { return v.OnetimeCredentials }).(pulumi.BoolOutput) +} + +// Arbitrary parameters to pass. Must be a JSON object +func (o ResourceKeyOutput) Parameters() pulumi.StringMapOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringMapOutput { return v.Parameters }).(pulumi.StringMapOutput) +} + +// The id of the resource alias for which to create resource key +// +// Deprecated: Remove this attribute's configuration as it's no longer in use and the attribute will be removed in the upcoming major version of the provider 1.71.0. +func (o ResourceKeyOutput) ResourceAliasId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringPtrOutput { return v.ResourceAliasId }).(pulumi.StringPtrOutput) +} + +// The short ID of the resource group. +func (o ResourceKeyOutput) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) +} + +// The id of the resource instance for which to create resource key +func (o ResourceKeyOutput) ResourceInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringPtrOutput { return v.ResourceInstanceId }).(pulumi.StringPtrOutput) +} + +// The relative path to the resource. +func (o ResourceKeyOutput) ResourceInstanceUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.ResourceInstanceUrl }).(pulumi.StringOutput) +} + +// Name of the user role.Valid roles are Writer, Reader, Manager, Administrator, Operator, Viewer, Editor and Custom Roles. +func (o ResourceKeyOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) +} + +// The CRN of resource instance or alias associated to the key. +func (o ResourceKeyOutput) SourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.SourceCrn }).(pulumi.StringOutput) +} + +// The state of the key. +func (o ResourceKeyOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Status of resource key +func (o ResourceKeyOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o ResourceKeyOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The date when the key was last updated. +func (o ResourceKeyOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// The subject who updated the key. +func (o ResourceKeyOutput) UpdatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.UpdatedBy }).(pulumi.StringOutput) +} + +// When you created a new key, a relative URL path is created identifying the location of the key. +func (o ResourceKeyOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceKey) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ResourceKeyInput)(nil)).Elem(), &ResourceKey{}) + pulumi.RegisterOutputType(ResourceKeyOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceTag.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceTag.go new file mode 100644 index 000000000..a9745236e --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/resourceTag.go @@ -0,0 +1,195 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ResourceTag struct { + pulumi.CustomResourceState + + // The ID of the account that owns the resources to be tagged (required if tag-type is set to service) + AccountId pulumi.StringOutput `pulumi:"accountId"` + // If true, it indicates that the attaching operation is a replacement operation + Replace pulumi.BoolPtrOutput `pulumi:"replace"` + // CRN of the resource on which the tags should be attached + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // Resource type on which the tags should be attached + ResourceType pulumi.StringPtrOutput `pulumi:"resourceType"` + // Type of the tag. Only allowed values are: user, or service or access (default value : user) + TagType pulumi.StringOutput `pulumi:"tagType"` + // List of tags associated with resource instance + Tags pulumi.StringArrayOutput `pulumi:"tags"` +} + +// NewResourceTag registers a new resource with the given unique name, arguments, and options. +func NewResourceTag(ctx *pulumi.Context, + name string, args *ResourceTagArgs, opts ...pulumi.ResourceOption) (*ResourceTag, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ResourceId == nil { + return nil, errors.New("invalid value for required argument 'ResourceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ResourceTag + err := ctx.RegisterResource("ibmcloud:index/resourceTag:ResourceTag", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetResourceTag gets an existing ResourceTag resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetResourceTag(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ResourceTagState, opts ...pulumi.ResourceOption) (*ResourceTag, error) { + var resource ResourceTag + err := ctx.ReadResource("ibmcloud:index/resourceTag:ResourceTag", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ResourceTag resources. +type resourceTagState struct { + // The ID of the account that owns the resources to be tagged (required if tag-type is set to service) + AccountId *string `pulumi:"accountId"` + // If true, it indicates that the attaching operation is a replacement operation + Replace *bool `pulumi:"replace"` + // CRN of the resource on which the tags should be attached + ResourceId *string `pulumi:"resourceId"` + // Resource type on which the tags should be attached + ResourceType *string `pulumi:"resourceType"` + // Type of the tag. Only allowed values are: user, or service or access (default value : user) + TagType *string `pulumi:"tagType"` + // List of tags associated with resource instance + Tags []string `pulumi:"tags"` +} + +type ResourceTagState struct { + // The ID of the account that owns the resources to be tagged (required if tag-type is set to service) + AccountId pulumi.StringPtrInput + // If true, it indicates that the attaching operation is a replacement operation + Replace pulumi.BoolPtrInput + // CRN of the resource on which the tags should be attached + ResourceId pulumi.StringPtrInput + // Resource type on which the tags should be attached + ResourceType pulumi.StringPtrInput + // Type of the tag. Only allowed values are: user, or service or access (default value : user) + TagType pulumi.StringPtrInput + // List of tags associated with resource instance + Tags pulumi.StringArrayInput +} + +func (ResourceTagState) ElementType() reflect.Type { + return reflect.TypeOf((*resourceTagState)(nil)).Elem() +} + +type resourceTagArgs struct { + // If true, it indicates that the attaching operation is a replacement operation + Replace *bool `pulumi:"replace"` + // CRN of the resource on which the tags should be attached + ResourceId string `pulumi:"resourceId"` + // Resource type on which the tags should be attached + ResourceType *string `pulumi:"resourceType"` + // Type of the tag. Only allowed values are: user, or service or access (default value : user) + TagType *string `pulumi:"tagType"` + // List of tags associated with resource instance + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a ResourceTag resource. +type ResourceTagArgs struct { + // If true, it indicates that the attaching operation is a replacement operation + Replace pulumi.BoolPtrInput + // CRN of the resource on which the tags should be attached + ResourceId pulumi.StringInput + // Resource type on which the tags should be attached + ResourceType pulumi.StringPtrInput + // Type of the tag. Only allowed values are: user, or service or access (default value : user) + TagType pulumi.StringPtrInput + // List of tags associated with resource instance + Tags pulumi.StringArrayInput +} + +func (ResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*resourceTagArgs)(nil)).Elem() +} + +type ResourceTagInput interface { + pulumi.Input + + ToResourceTagOutput() ResourceTagOutput + ToResourceTagOutputWithContext(ctx context.Context) ResourceTagOutput +} + +func (*ResourceTag) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceTag)(nil)).Elem() +} + +func (i *ResourceTag) ToResourceTagOutput() ResourceTagOutput { + return i.ToResourceTagOutputWithContext(context.Background()) +} + +func (i *ResourceTag) ToResourceTagOutputWithContext(ctx context.Context) ResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceTagOutput) +} + +type ResourceTagOutput struct{ *pulumi.OutputState } + +func (ResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceTag)(nil)).Elem() +} + +func (o ResourceTagOutput) ToResourceTagOutput() ResourceTagOutput { + return o +} + +func (o ResourceTagOutput) ToResourceTagOutputWithContext(ctx context.Context) ResourceTagOutput { + return o +} + +// The ID of the account that owns the resources to be tagged (required if tag-type is set to service) +func (o ResourceTagOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceTag) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// If true, it indicates that the attaching operation is a replacement operation +func (o ResourceTagOutput) Replace() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ResourceTag) pulumi.BoolPtrOutput { return v.Replace }).(pulumi.BoolPtrOutput) +} + +// CRN of the resource on which the tags should be attached +func (o ResourceTagOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceTag) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// Resource type on which the tags should be attached +func (o ResourceTagOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ResourceTag) pulumi.StringPtrOutput { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +// Type of the tag. Only allowed values are: user, or service or access (default value : user) +func (o ResourceTagOutput) TagType() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceTag) pulumi.StringOutput { return v.TagType }).(pulumi.StringOutput) +} + +// List of tags associated with resource instance +func (o ResourceTagOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ResourceTag) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ResourceTagInput)(nil)).Elem(), &ResourceTag{}) + pulumi.RegisterOutputType(ResourceTagOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnection.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnection.go new file mode 100644 index 000000000..5518cb2ed --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnection.go @@ -0,0 +1,403 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type TgConnection struct { + pulumi.CustomResourceState + + // The ID of a networkType 'classic' connection a tunnel is configured over. This field only applies to network type 'gre_tunnel' connections. + BaseConnectionId pulumi.StringOutput `pulumi:"baseConnectionId"` + // The type of network the unbound gre tunnel is targeting. This field is required for network type 'unbound_gre_tunnel'. + BaseNetworkType pulumi.StringOutput `pulumi:"baseNetworkType"` + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringOutput `pulumi:"connectionId"` + // The date and time that this connection was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Whether to permit or deny the prefix filter + DefaultPrefixFilter pulumi.StringOutput `pulumi:"defaultPrefixFilter"` + // The Transit Gateway identifier + Gateway pulumi.StringOutput `pulumi:"gateway"` + // The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalGatewayIp pulumi.StringPtrOutput `pulumi:"localGatewayIp"` + // The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalTunnelIp pulumi.StringPtrOutput `pulumi:"localTunnelIp"` + // The user-defined name for this transit gateway. If unspecified, the name will be the network name (the name of the VPC in the case of network type 'vpc', and the word Classic, in the case of network type 'classic'). + Name pulumi.StringOutput `pulumi:"name"` + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId pulumi.StringOutput `pulumi:"networkAccountId"` + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId pulumi.StringOutput `pulumi:"networkId"` + // Defines what type of network is connected via this connection. Allowable values (classic,directlink,vpc,gre_tunnel,unbound_gre_tunnel,power_virtual_server,redundant_gre) + NetworkType pulumi.StringOutput `pulumi:"networkType"` + // The crn of the transit gateway + RelatedCrn pulumi.StringOutput `pulumi:"relatedCrn"` + // The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteBgpAsn pulumi.IntPtrOutput `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteGatewayIp pulumi.StringPtrOutput `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteTunnelIp pulumi.StringPtrOutput `pulumi:"remoteTunnelIp"` + // Only visible for cross account connections, this field represents the status of the request to connect the given network between accounts.Possible values: [pending,approved,rejected,expired,detached] + RequestStatus pulumi.StringOutput `pulumi:"requestStatus"` + // What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status pulumi.StringOutput `pulumi:"status"` + // List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections + Tunnels TgConnectionTunnelArrayOutput `pulumi:"tunnels"` + // The date and time that this connection was last updated + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + Zone pulumi.StringPtrOutput `pulumi:"zone"` +} + +// NewTgConnection registers a new resource with the given unique name, arguments, and options. +func NewTgConnection(ctx *pulumi.Context, + name string, args *TgConnectionArgs, opts ...pulumi.ResourceOption) (*TgConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Gateway == nil { + return nil, errors.New("invalid value for required argument 'Gateway'") + } + if args.NetworkType == nil { + return nil, errors.New("invalid value for required argument 'NetworkType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TgConnection + err := ctx.RegisterResource("ibmcloud:index/tgConnection:TgConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTgConnection gets an existing TgConnection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetTgConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TgConnectionState, opts ...pulumi.ResourceOption) (*TgConnection, error) { + var resource TgConnection + err := ctx.ReadResource("ibmcloud:index/tgConnection:TgConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TgConnection resources. +type tgConnectionState struct { + // The ID of a networkType 'classic' connection a tunnel is configured over. This field only applies to network type 'gre_tunnel' connections. + BaseConnectionId *string `pulumi:"baseConnectionId"` + // The type of network the unbound gre tunnel is targeting. This field is required for network type 'unbound_gre_tunnel'. + BaseNetworkType *string `pulumi:"baseNetworkType"` + // The Transit Gateway Connection identifier + ConnectionId *string `pulumi:"connectionId"` + // The date and time that this connection was created + CreatedAt *string `pulumi:"createdAt"` + // Whether to permit or deny the prefix filter + DefaultPrefixFilter *string `pulumi:"defaultPrefixFilter"` + // The Transit Gateway identifier + Gateway *string `pulumi:"gateway"` + // The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalGatewayIp *string `pulumi:"localGatewayIp"` + // The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalTunnelIp *string `pulumi:"localTunnelIp"` + // The user-defined name for this transit gateway. If unspecified, the name will be the network name (the name of the VPC in the case of network type 'vpc', and the word Classic, in the case of network type 'classic'). + Name *string `pulumi:"name"` + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId *string `pulumi:"networkAccountId"` + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId *string `pulumi:"networkId"` + // Defines what type of network is connected via this connection. Allowable values (classic,directlink,vpc,gre_tunnel,unbound_gre_tunnel,power_virtual_server,redundant_gre) + NetworkType *string `pulumi:"networkType"` + // The crn of the transit gateway + RelatedCrn *string `pulumi:"relatedCrn"` + // The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteBgpAsn *int `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteGatewayIp *string `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteTunnelIp *string `pulumi:"remoteTunnelIp"` + // Only visible for cross account connections, this field represents the status of the request to connect the given network between accounts.Possible values: [pending,approved,rejected,expired,detached] + RequestStatus *string `pulumi:"requestStatus"` + // What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status *string `pulumi:"status"` + // List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections + Tunnels []TgConnectionTunnel `pulumi:"tunnels"` + // The date and time that this connection was last updated + UpdatedAt *string `pulumi:"updatedAt"` + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + Zone *string `pulumi:"zone"` +} + +type TgConnectionState struct { + // The ID of a networkType 'classic' connection a tunnel is configured over. This field only applies to network type 'gre_tunnel' connections. + BaseConnectionId pulumi.StringPtrInput + // The type of network the unbound gre tunnel is targeting. This field is required for network type 'unbound_gre_tunnel'. + BaseNetworkType pulumi.StringPtrInput + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringPtrInput + // The date and time that this connection was created + CreatedAt pulumi.StringPtrInput + // Whether to permit or deny the prefix filter + DefaultPrefixFilter pulumi.StringPtrInput + // The Transit Gateway identifier + Gateway pulumi.StringPtrInput + // The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalGatewayIp pulumi.StringPtrInput + // The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalTunnelIp pulumi.StringPtrInput + // The user-defined name for this transit gateway. If unspecified, the name will be the network name (the name of the VPC in the case of network type 'vpc', and the word Classic, in the case of network type 'classic'). + Name pulumi.StringPtrInput + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId pulumi.StringPtrInput + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId pulumi.StringPtrInput + // Defines what type of network is connected via this connection. Allowable values (classic,directlink,vpc,gre_tunnel,unbound_gre_tunnel,power_virtual_server,redundant_gre) + NetworkType pulumi.StringPtrInput + // The crn of the transit gateway + RelatedCrn pulumi.StringPtrInput + // The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteBgpAsn pulumi.IntPtrInput + // The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteGatewayIp pulumi.StringPtrInput + // The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteTunnelIp pulumi.StringPtrInput + // Only visible for cross account connections, this field represents the status of the request to connect the given network between accounts.Possible values: [pending,approved,rejected,expired,detached] + RequestStatus pulumi.StringPtrInput + // What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status pulumi.StringPtrInput + // List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections + Tunnels TgConnectionTunnelArrayInput + // The date and time that this connection was last updated + UpdatedAt pulumi.StringPtrInput + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + Zone pulumi.StringPtrInput +} + +func (TgConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*tgConnectionState)(nil)).Elem() +} + +type tgConnectionArgs struct { + // The ID of a networkType 'classic' connection a tunnel is configured over. This field only applies to network type 'gre_tunnel' connections. + BaseConnectionId *string `pulumi:"baseConnectionId"` + // The type of network the unbound gre tunnel is targeting. This field is required for network type 'unbound_gre_tunnel'. + BaseNetworkType *string `pulumi:"baseNetworkType"` + // Whether to permit or deny the prefix filter + DefaultPrefixFilter *string `pulumi:"defaultPrefixFilter"` + // The Transit Gateway identifier + Gateway string `pulumi:"gateway"` + // The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalGatewayIp *string `pulumi:"localGatewayIp"` + // The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalTunnelIp *string `pulumi:"localTunnelIp"` + // The user-defined name for this transit gateway. If unspecified, the name will be the network name (the name of the VPC in the case of network type 'vpc', and the word Classic, in the case of network type 'classic'). + Name *string `pulumi:"name"` + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId *string `pulumi:"networkAccountId"` + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId *string `pulumi:"networkId"` + // Defines what type of network is connected via this connection. Allowable values (classic,directlink,vpc,gre_tunnel,unbound_gre_tunnel,power_virtual_server,redundant_gre) + NetworkType string `pulumi:"networkType"` + // The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteBgpAsn *int `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteGatewayIp *string `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteTunnelIp *string `pulumi:"remoteTunnelIp"` + // List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections + Tunnels []TgConnectionTunnel `pulumi:"tunnels"` + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + Zone *string `pulumi:"zone"` +} + +// The set of arguments for constructing a TgConnection resource. +type TgConnectionArgs struct { + // The ID of a networkType 'classic' connection a tunnel is configured over. This field only applies to network type 'gre_tunnel' connections. + BaseConnectionId pulumi.StringPtrInput + // The type of network the unbound gre tunnel is targeting. This field is required for network type 'unbound_gre_tunnel'. + BaseNetworkType pulumi.StringPtrInput + // Whether to permit or deny the prefix filter + DefaultPrefixFilter pulumi.StringPtrInput + // The Transit Gateway identifier + Gateway pulumi.StringInput + // The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalGatewayIp pulumi.StringPtrInput + // The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalTunnelIp pulumi.StringPtrInput + // The user-defined name for this transit gateway. If unspecified, the name will be the network name (the name of the VPC in the case of network type 'vpc', and the word Classic, in the case of network type 'classic'). + Name pulumi.StringPtrInput + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId pulumi.StringPtrInput + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId pulumi.StringPtrInput + // Defines what type of network is connected via this connection. Allowable values (classic,directlink,vpc,gre_tunnel,unbound_gre_tunnel,power_virtual_server,redundant_gre) + NetworkType pulumi.StringInput + // The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteBgpAsn pulumi.IntPtrInput + // The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteGatewayIp pulumi.StringPtrInput + // The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteTunnelIp pulumi.StringPtrInput + // List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections + Tunnels TgConnectionTunnelArrayInput + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + Zone pulumi.StringPtrInput +} + +func (TgConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tgConnectionArgs)(nil)).Elem() +} + +type TgConnectionInput interface { + pulumi.Input + + ToTgConnectionOutput() TgConnectionOutput + ToTgConnectionOutputWithContext(ctx context.Context) TgConnectionOutput +} + +func (*TgConnection) ElementType() reflect.Type { + return reflect.TypeOf((**TgConnection)(nil)).Elem() +} + +func (i *TgConnection) ToTgConnectionOutput() TgConnectionOutput { + return i.ToTgConnectionOutputWithContext(context.Background()) +} + +func (i *TgConnection) ToTgConnectionOutputWithContext(ctx context.Context) TgConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgConnectionOutput) +} + +type TgConnectionOutput struct{ *pulumi.OutputState } + +func (TgConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TgConnection)(nil)).Elem() +} + +func (o TgConnectionOutput) ToTgConnectionOutput() TgConnectionOutput { + return o +} + +func (o TgConnectionOutput) ToTgConnectionOutputWithContext(ctx context.Context) TgConnectionOutput { + return o +} + +// The ID of a networkType 'classic' connection a tunnel is configured over. This field only applies to network type 'gre_tunnel' connections. +func (o TgConnectionOutput) BaseConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.BaseConnectionId }).(pulumi.StringOutput) +} + +// The type of network the unbound gre tunnel is targeting. This field is required for network type 'unbound_gre_tunnel'. +func (o TgConnectionOutput) BaseNetworkType() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.BaseNetworkType }).(pulumi.StringOutput) +} + +// The Transit Gateway Connection identifier +func (o TgConnectionOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.ConnectionId }).(pulumi.StringOutput) +} + +// The date and time that this connection was created +func (o TgConnectionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Whether to permit or deny the prefix filter +func (o TgConnectionOutput) DefaultPrefixFilter() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.DefaultPrefixFilter }).(pulumi.StringOutput) +} + +// The Transit Gateway identifier +func (o TgConnectionOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.Gateway }).(pulumi.StringOutput) +} + +// The local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionOutput) LocalGatewayIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringPtrOutput { return v.LocalGatewayIp }).(pulumi.StringPtrOutput) +} + +// The local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionOutput) LocalTunnelIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringPtrOutput { return v.LocalTunnelIp }).(pulumi.StringPtrOutput) +} + +// The user-defined name for this transit gateway. If unspecified, the name will be the network name (the name of the VPC in the case of network type 'vpc', and the word Classic, in the case of network type 'classic'). +func (o TgConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. +func (o TgConnectionOutput) NetworkAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.NetworkAccountId }).(pulumi.StringOutput) +} + +// The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. +func (o TgConnectionOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.NetworkId }).(pulumi.StringOutput) +} + +// Defines what type of network is connected via this connection. Allowable values (classic,directlink,vpc,gre_tunnel,unbound_gre_tunnel,power_virtual_server,redundant_gre) +func (o TgConnectionOutput) NetworkType() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.NetworkType }).(pulumi.StringOutput) +} + +// The crn of the transit gateway +func (o TgConnectionOutput) RelatedCrn() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.RelatedCrn }).(pulumi.StringOutput) +} + +// The remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionOutput) RemoteBgpAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TgConnection) pulumi.IntPtrOutput { return v.RemoteBgpAsn }).(pulumi.IntPtrOutput) +} + +// The remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionOutput) RemoteGatewayIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringPtrOutput { return v.RemoteGatewayIp }).(pulumi.StringPtrOutput) +} + +// The remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionOutput) RemoteTunnelIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringPtrOutput { return v.RemoteTunnelIp }).(pulumi.StringPtrOutput) +} + +// Only visible for cross account connections, this field represents the status of the request to connect the given network between accounts.Possible values: [pending,approved,rejected,expired,detached] +func (o TgConnectionOutput) RequestStatus() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.RequestStatus }).(pulumi.StringOutput) +} + +// What is the current configuration state of this connection. Possible values: [attached,failed,pending,deleting,detaching,detached] +func (o TgConnectionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// List of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for 'redundant_gre' connections +func (o TgConnectionOutput) Tunnels() TgConnectionTunnelArrayOutput { + return o.ApplyT(func(v *TgConnection) TgConnectionTunnelArrayOutput { return v.Tunnels }).(TgConnectionTunnelArrayOutput) +} + +// The date and time that this connection was last updated +func (o TgConnectionOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +func (o TgConnectionOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TgConnection) pulumi.StringPtrOutput { return v.Zone }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TgConnectionInput)(nil)).Elem(), &TgConnection{}) + pulumi.RegisterOutputType(TgConnectionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionAction.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionAction.go new file mode 100644 index 000000000..2f43d3227 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionAction.go @@ -0,0 +1,160 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type TgConnectionAction struct { + pulumi.CustomResourceState + + // The Transit Gateway Connection cross account action + Action pulumi.StringOutput `pulumi:"action"` + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringOutput `pulumi:"connectionId"` + // The Transit Gateway identifier + Gateway pulumi.StringOutput `pulumi:"gateway"` +} + +// NewTgConnectionAction registers a new resource with the given unique name, arguments, and options. +func NewTgConnectionAction(ctx *pulumi.Context, + name string, args *TgConnectionActionArgs, opts ...pulumi.ResourceOption) (*TgConnectionAction, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Action == nil { + return nil, errors.New("invalid value for required argument 'Action'") + } + if args.ConnectionId == nil { + return nil, errors.New("invalid value for required argument 'ConnectionId'") + } + if args.Gateway == nil { + return nil, errors.New("invalid value for required argument 'Gateway'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TgConnectionAction + err := ctx.RegisterResource("ibmcloud:index/tgConnectionAction:TgConnectionAction", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTgConnectionAction gets an existing TgConnectionAction resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetTgConnectionAction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TgConnectionActionState, opts ...pulumi.ResourceOption) (*TgConnectionAction, error) { + var resource TgConnectionAction + err := ctx.ReadResource("ibmcloud:index/tgConnectionAction:TgConnectionAction", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TgConnectionAction resources. +type tgConnectionActionState struct { + // The Transit Gateway Connection cross account action + Action *string `pulumi:"action"` + // The Transit Gateway Connection identifier + ConnectionId *string `pulumi:"connectionId"` + // The Transit Gateway identifier + Gateway *string `pulumi:"gateway"` +} + +type TgConnectionActionState struct { + // The Transit Gateway Connection cross account action + Action pulumi.StringPtrInput + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringPtrInput + // The Transit Gateway identifier + Gateway pulumi.StringPtrInput +} + +func (TgConnectionActionState) ElementType() reflect.Type { + return reflect.TypeOf((*tgConnectionActionState)(nil)).Elem() +} + +type tgConnectionActionArgs struct { + // The Transit Gateway Connection cross account action + Action string `pulumi:"action"` + // The Transit Gateway Connection identifier + ConnectionId string `pulumi:"connectionId"` + // The Transit Gateway identifier + Gateway string `pulumi:"gateway"` +} + +// The set of arguments for constructing a TgConnectionAction resource. +type TgConnectionActionArgs struct { + // The Transit Gateway Connection cross account action + Action pulumi.StringInput + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringInput + // The Transit Gateway identifier + Gateway pulumi.StringInput +} + +func (TgConnectionActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tgConnectionActionArgs)(nil)).Elem() +} + +type TgConnectionActionInput interface { + pulumi.Input + + ToTgConnectionActionOutput() TgConnectionActionOutput + ToTgConnectionActionOutputWithContext(ctx context.Context) TgConnectionActionOutput +} + +func (*TgConnectionAction) ElementType() reflect.Type { + return reflect.TypeOf((**TgConnectionAction)(nil)).Elem() +} + +func (i *TgConnectionAction) ToTgConnectionActionOutput() TgConnectionActionOutput { + return i.ToTgConnectionActionOutputWithContext(context.Background()) +} + +func (i *TgConnectionAction) ToTgConnectionActionOutputWithContext(ctx context.Context) TgConnectionActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgConnectionActionOutput) +} + +type TgConnectionActionOutput struct{ *pulumi.OutputState } + +func (TgConnectionActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TgConnectionAction)(nil)).Elem() +} + +func (o TgConnectionActionOutput) ToTgConnectionActionOutput() TgConnectionActionOutput { + return o +} + +func (o TgConnectionActionOutput) ToTgConnectionActionOutputWithContext(ctx context.Context) TgConnectionActionOutput { + return o +} + +// The Transit Gateway Connection cross account action +func (o TgConnectionActionOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionAction) pulumi.StringOutput { return v.Action }).(pulumi.StringOutput) +} + +// The Transit Gateway Connection identifier +func (o TgConnectionActionOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionAction) pulumi.StringOutput { return v.ConnectionId }).(pulumi.StringOutput) +} + +// The Transit Gateway identifier +func (o TgConnectionActionOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionAction) pulumi.StringOutput { return v.Gateway }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TgConnectionActionInput)(nil)).Elem(), &TgConnectionAction{}) + pulumi.RegisterOutputType(TgConnectionActionOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionPrefixFilter.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionPrefixFilter.go new file mode 100644 index 000000000..23bd80635 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionPrefixFilter.go @@ -0,0 +1,256 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type TgConnectionPrefixFilter struct { + pulumi.CustomResourceState + + // Whether to permit or deny the prefix filter + Action pulumi.StringOutput `pulumi:"action"` + // Identifier of prefix filter that handles ordering + Before pulumi.StringPtrOutput `pulumi:"before"` + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringOutput `pulumi:"connectionId"` + // The date and time that this prefix filter was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The Transit Gateway Connection Prefix Filter identifier + FilterId pulumi.StringOutput `pulumi:"filterId"` + // The Transit Gateway identifier + Gateway pulumi.StringOutput `pulumi:"gateway"` + // IP Prefix GE + Ge pulumi.IntPtrOutput `pulumi:"ge"` + // IP Prefix LE + Le pulumi.IntPtrOutput `pulumi:"le"` + // IP Prefix + Prefix pulumi.StringOutput `pulumi:"prefix"` + // The date and time that this prefix filter was last updated + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewTgConnectionPrefixFilter registers a new resource with the given unique name, arguments, and options. +func NewTgConnectionPrefixFilter(ctx *pulumi.Context, + name string, args *TgConnectionPrefixFilterArgs, opts ...pulumi.ResourceOption) (*TgConnectionPrefixFilter, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Action == nil { + return nil, errors.New("invalid value for required argument 'Action'") + } + if args.ConnectionId == nil { + return nil, errors.New("invalid value for required argument 'ConnectionId'") + } + if args.Gateway == nil { + return nil, errors.New("invalid value for required argument 'Gateway'") + } + if args.Prefix == nil { + return nil, errors.New("invalid value for required argument 'Prefix'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TgConnectionPrefixFilter + err := ctx.RegisterResource("ibmcloud:index/tgConnectionPrefixFilter:TgConnectionPrefixFilter", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTgConnectionPrefixFilter gets an existing TgConnectionPrefixFilter resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetTgConnectionPrefixFilter(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TgConnectionPrefixFilterState, opts ...pulumi.ResourceOption) (*TgConnectionPrefixFilter, error) { + var resource TgConnectionPrefixFilter + err := ctx.ReadResource("ibmcloud:index/tgConnectionPrefixFilter:TgConnectionPrefixFilter", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TgConnectionPrefixFilter resources. +type tgConnectionPrefixFilterState struct { + // Whether to permit or deny the prefix filter + Action *string `pulumi:"action"` + // Identifier of prefix filter that handles ordering + Before *string `pulumi:"before"` + // The Transit Gateway Connection identifier + ConnectionId *string `pulumi:"connectionId"` + // The date and time that this prefix filter was created + CreatedAt *string `pulumi:"createdAt"` + // The Transit Gateway Connection Prefix Filter identifier + FilterId *string `pulumi:"filterId"` + // The Transit Gateway identifier + Gateway *string `pulumi:"gateway"` + // IP Prefix GE + Ge *int `pulumi:"ge"` + // IP Prefix LE + Le *int `pulumi:"le"` + // IP Prefix + Prefix *string `pulumi:"prefix"` + // The date and time that this prefix filter was last updated + UpdatedAt *string `pulumi:"updatedAt"` +} + +type TgConnectionPrefixFilterState struct { + // Whether to permit or deny the prefix filter + Action pulumi.StringPtrInput + // Identifier of prefix filter that handles ordering + Before pulumi.StringPtrInput + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringPtrInput + // The date and time that this prefix filter was created + CreatedAt pulumi.StringPtrInput + // The Transit Gateway Connection Prefix Filter identifier + FilterId pulumi.StringPtrInput + // The Transit Gateway identifier + Gateway pulumi.StringPtrInput + // IP Prefix GE + Ge pulumi.IntPtrInput + // IP Prefix LE + Le pulumi.IntPtrInput + // IP Prefix + Prefix pulumi.StringPtrInput + // The date and time that this prefix filter was last updated + UpdatedAt pulumi.StringPtrInput +} + +func (TgConnectionPrefixFilterState) ElementType() reflect.Type { + return reflect.TypeOf((*tgConnectionPrefixFilterState)(nil)).Elem() +} + +type tgConnectionPrefixFilterArgs struct { + // Whether to permit or deny the prefix filter + Action string `pulumi:"action"` + // Identifier of prefix filter that handles ordering + Before *string `pulumi:"before"` + // The Transit Gateway Connection identifier + ConnectionId string `pulumi:"connectionId"` + // The Transit Gateway identifier + Gateway string `pulumi:"gateway"` + // IP Prefix GE + Ge *int `pulumi:"ge"` + // IP Prefix LE + Le *int `pulumi:"le"` + // IP Prefix + Prefix string `pulumi:"prefix"` +} + +// The set of arguments for constructing a TgConnectionPrefixFilter resource. +type TgConnectionPrefixFilterArgs struct { + // Whether to permit or deny the prefix filter + Action pulumi.StringInput + // Identifier of prefix filter that handles ordering + Before pulumi.StringPtrInput + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringInput + // The Transit Gateway identifier + Gateway pulumi.StringInput + // IP Prefix GE + Ge pulumi.IntPtrInput + // IP Prefix LE + Le pulumi.IntPtrInput + // IP Prefix + Prefix pulumi.StringInput +} + +func (TgConnectionPrefixFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tgConnectionPrefixFilterArgs)(nil)).Elem() +} + +type TgConnectionPrefixFilterInput interface { + pulumi.Input + + ToTgConnectionPrefixFilterOutput() TgConnectionPrefixFilterOutput + ToTgConnectionPrefixFilterOutputWithContext(ctx context.Context) TgConnectionPrefixFilterOutput +} + +func (*TgConnectionPrefixFilter) ElementType() reflect.Type { + return reflect.TypeOf((**TgConnectionPrefixFilter)(nil)).Elem() +} + +func (i *TgConnectionPrefixFilter) ToTgConnectionPrefixFilterOutput() TgConnectionPrefixFilterOutput { + return i.ToTgConnectionPrefixFilterOutputWithContext(context.Background()) +} + +func (i *TgConnectionPrefixFilter) ToTgConnectionPrefixFilterOutputWithContext(ctx context.Context) TgConnectionPrefixFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgConnectionPrefixFilterOutput) +} + +type TgConnectionPrefixFilterOutput struct{ *pulumi.OutputState } + +func (TgConnectionPrefixFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TgConnectionPrefixFilter)(nil)).Elem() +} + +func (o TgConnectionPrefixFilterOutput) ToTgConnectionPrefixFilterOutput() TgConnectionPrefixFilterOutput { + return o +} + +func (o TgConnectionPrefixFilterOutput) ToTgConnectionPrefixFilterOutputWithContext(ctx context.Context) TgConnectionPrefixFilterOutput { + return o +} + +// Whether to permit or deny the prefix filter +func (o TgConnectionPrefixFilterOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.StringOutput { return v.Action }).(pulumi.StringOutput) +} + +// Identifier of prefix filter that handles ordering +func (o TgConnectionPrefixFilterOutput) Before() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.StringPtrOutput { return v.Before }).(pulumi.StringPtrOutput) +} + +// The Transit Gateway Connection identifier +func (o TgConnectionPrefixFilterOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.StringOutput { return v.ConnectionId }).(pulumi.StringOutput) +} + +// The date and time that this prefix filter was created +func (o TgConnectionPrefixFilterOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The Transit Gateway Connection Prefix Filter identifier +func (o TgConnectionPrefixFilterOutput) FilterId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.StringOutput { return v.FilterId }).(pulumi.StringOutput) +} + +// The Transit Gateway identifier +func (o TgConnectionPrefixFilterOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.StringOutput { return v.Gateway }).(pulumi.StringOutput) +} + +// IP Prefix GE +func (o TgConnectionPrefixFilterOutput) Ge() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.IntPtrOutput { return v.Ge }).(pulumi.IntPtrOutput) +} + +// IP Prefix LE +func (o TgConnectionPrefixFilterOutput) Le() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.IntPtrOutput { return v.Le }).(pulumi.IntPtrOutput) +} + +// IP Prefix +func (o TgConnectionPrefixFilterOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.StringOutput { return v.Prefix }).(pulumi.StringOutput) +} + +// The date and time that this prefix filter was last updated +func (o TgConnectionPrefixFilterOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionPrefixFilter) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TgConnectionPrefixFilterInput)(nil)).Elem(), &TgConnectionPrefixFilter{}) + pulumi.RegisterOutputType(TgConnectionPrefixFilterOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionRgreTunnel.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionRgreTunnel.go new file mode 100644 index 000000000..85faef5ce --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgConnectionRgreTunnel.go @@ -0,0 +1,377 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type TgConnectionRgreTunnel struct { + pulumi.CustomResourceState + + // The type of the base network for the RGRE. It should be i.e classic or VPC + BaseNetworkType pulumi.StringOutput `pulumi:"baseNetworkType"` + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringOutput `pulumi:"connectionId"` + // The date and time that this tunnel was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The Transit Gateway identifier + Gateway pulumi.StringOutput `pulumi:"gateway"` + // The local network BGP ASN. + LocalBgpAsn pulumi.IntOutput `pulumi:"localBgpAsn"` + // The local gateway IP address. + LocalGatewayIp pulumi.StringOutput `pulumi:"localGatewayIp"` + // The local tunnel IP address. + LocalTunnelIp pulumi.StringOutput `pulumi:"localTunnelIp"` + // Only visible for cross account connections, this field represents the status of the request to connect the given network between accounts.Possible values: [pending,approved,rejected,expired,detached] + Mtu pulumi.IntOutput `pulumi:"mtu"` + // The user-defined name for this tunnel connection. + Name pulumi.StringOutput `pulumi:"name"` + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId pulumi.StringOutput `pulumi:"networkAccountId"` + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId pulumi.StringOutput `pulumi:"networkId"` + // The remote network BGP ASN. + RemoteBgpAsn pulumi.IntOutput `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. + RemoteGatewayIp pulumi.StringOutput `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. + RemoteTunnelIp pulumi.StringOutput `pulumi:"remoteTunnelIp"` + // What is the current configuration state of this tunnel. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status pulumi.StringOutput `pulumi:"status"` + // The Transit Gateway tunnel identifier + TunnelId pulumi.StringOutput `pulumi:"tunnelId"` + // The date and time that this tunnel was last updated + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` + // Location of GRE tunnel. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewTgConnectionRgreTunnel registers a new resource with the given unique name, arguments, and options. +func NewTgConnectionRgreTunnel(ctx *pulumi.Context, + name string, args *TgConnectionRgreTunnelArgs, opts ...pulumi.ResourceOption) (*TgConnectionRgreTunnel, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ConnectionId == nil { + return nil, errors.New("invalid value for required argument 'ConnectionId'") + } + if args.Gateway == nil { + return nil, errors.New("invalid value for required argument 'Gateway'") + } + if args.LocalGatewayIp == nil { + return nil, errors.New("invalid value for required argument 'LocalGatewayIp'") + } + if args.LocalTunnelIp == nil { + return nil, errors.New("invalid value for required argument 'LocalTunnelIp'") + } + if args.RemoteGatewayIp == nil { + return nil, errors.New("invalid value for required argument 'RemoteGatewayIp'") + } + if args.RemoteTunnelIp == nil { + return nil, errors.New("invalid value for required argument 'RemoteTunnelIp'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TgConnectionRgreTunnel + err := ctx.RegisterResource("ibmcloud:index/tgConnectionRgreTunnel:TgConnectionRgreTunnel", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTgConnectionRgreTunnel gets an existing TgConnectionRgreTunnel resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetTgConnectionRgreTunnel(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TgConnectionRgreTunnelState, opts ...pulumi.ResourceOption) (*TgConnectionRgreTunnel, error) { + var resource TgConnectionRgreTunnel + err := ctx.ReadResource("ibmcloud:index/tgConnectionRgreTunnel:TgConnectionRgreTunnel", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TgConnectionRgreTunnel resources. +type tgConnectionRgreTunnelState struct { + // The type of the base network for the RGRE. It should be i.e classic or VPC + BaseNetworkType *string `pulumi:"baseNetworkType"` + // The Transit Gateway Connection identifier + ConnectionId *string `pulumi:"connectionId"` + // The date and time that this tunnel was created + CreatedAt *string `pulumi:"createdAt"` + // The Transit Gateway identifier + Gateway *string `pulumi:"gateway"` + // The local network BGP ASN. + LocalBgpAsn *int `pulumi:"localBgpAsn"` + // The local gateway IP address. + LocalGatewayIp *string `pulumi:"localGatewayIp"` + // The local tunnel IP address. + LocalTunnelIp *string `pulumi:"localTunnelIp"` + // Only visible for cross account connections, this field represents the status of the request to connect the given network between accounts.Possible values: [pending,approved,rejected,expired,detached] + Mtu *int `pulumi:"mtu"` + // The user-defined name for this tunnel connection. + Name *string `pulumi:"name"` + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId *string `pulumi:"networkAccountId"` + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId *string `pulumi:"networkId"` + // The remote network BGP ASN. + RemoteBgpAsn *int `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. + RemoteGatewayIp *string `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. + RemoteTunnelIp *string `pulumi:"remoteTunnelIp"` + // What is the current configuration state of this tunnel. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status *string `pulumi:"status"` + // The Transit Gateway tunnel identifier + TunnelId *string `pulumi:"tunnelId"` + // The date and time that this tunnel was last updated + UpdatedAt *string `pulumi:"updatedAt"` + // Location of GRE tunnel. + Zone *string `pulumi:"zone"` +} + +type TgConnectionRgreTunnelState struct { + // The type of the base network for the RGRE. It should be i.e classic or VPC + BaseNetworkType pulumi.StringPtrInput + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringPtrInput + // The date and time that this tunnel was created + CreatedAt pulumi.StringPtrInput + // The Transit Gateway identifier + Gateway pulumi.StringPtrInput + // The local network BGP ASN. + LocalBgpAsn pulumi.IntPtrInput + // The local gateway IP address. + LocalGatewayIp pulumi.StringPtrInput + // The local tunnel IP address. + LocalTunnelIp pulumi.StringPtrInput + // Only visible for cross account connections, this field represents the status of the request to connect the given network between accounts.Possible values: [pending,approved,rejected,expired,detached] + Mtu pulumi.IntPtrInput + // The user-defined name for this tunnel connection. + Name pulumi.StringPtrInput + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId pulumi.StringPtrInput + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId pulumi.StringPtrInput + // The remote network BGP ASN. + RemoteBgpAsn pulumi.IntPtrInput + // The remote gateway IP address. + RemoteGatewayIp pulumi.StringPtrInput + // The remote tunnel IP address. + RemoteTunnelIp pulumi.StringPtrInput + // What is the current configuration state of this tunnel. Possible values: [attached,failed,pending,deleting,detaching,detached] + Status pulumi.StringPtrInput + // The Transit Gateway tunnel identifier + TunnelId pulumi.StringPtrInput + // The date and time that this tunnel was last updated + UpdatedAt pulumi.StringPtrInput + // Location of GRE tunnel. + Zone pulumi.StringPtrInput +} + +func (TgConnectionRgreTunnelState) ElementType() reflect.Type { + return reflect.TypeOf((*tgConnectionRgreTunnelState)(nil)).Elem() +} + +type tgConnectionRgreTunnelArgs struct { + // The type of the base network for the RGRE. It should be i.e classic or VPC + BaseNetworkType *string `pulumi:"baseNetworkType"` + // The Transit Gateway Connection identifier + ConnectionId string `pulumi:"connectionId"` + // The Transit Gateway identifier + Gateway string `pulumi:"gateway"` + // The local network BGP ASN. + LocalBgpAsn *int `pulumi:"localBgpAsn"` + // The local gateway IP address. + LocalGatewayIp string `pulumi:"localGatewayIp"` + // The local tunnel IP address. + LocalTunnelIp string `pulumi:"localTunnelIp"` + // The user-defined name for this tunnel connection. + Name *string `pulumi:"name"` + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId *string `pulumi:"networkAccountId"` + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId *string `pulumi:"networkId"` + // The remote network BGP ASN. + RemoteBgpAsn *int `pulumi:"remoteBgpAsn"` + // The remote gateway IP address. + RemoteGatewayIp string `pulumi:"remoteGatewayIp"` + // The remote tunnel IP address. + RemoteTunnelIp string `pulumi:"remoteTunnelIp"` + // Location of GRE tunnel. + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a TgConnectionRgreTunnel resource. +type TgConnectionRgreTunnelArgs struct { + // The type of the base network for the RGRE. It should be i.e classic or VPC + BaseNetworkType pulumi.StringPtrInput + // The Transit Gateway Connection identifier + ConnectionId pulumi.StringInput + // The Transit Gateway identifier + Gateway pulumi.StringInput + // The local network BGP ASN. + LocalBgpAsn pulumi.IntPtrInput + // The local gateway IP address. + LocalGatewayIp pulumi.StringInput + // The local tunnel IP address. + LocalTunnelIp pulumi.StringInput + // The user-defined name for this tunnel connection. + Name pulumi.StringPtrInput + // The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. + NetworkAccountId pulumi.StringPtrInput + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. + NetworkId pulumi.StringPtrInput + // The remote network BGP ASN. + RemoteBgpAsn pulumi.IntPtrInput + // The remote gateway IP address. + RemoteGatewayIp pulumi.StringInput + // The remote tunnel IP address. + RemoteTunnelIp pulumi.StringInput + // Location of GRE tunnel. + Zone pulumi.StringInput +} + +func (TgConnectionRgreTunnelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tgConnectionRgreTunnelArgs)(nil)).Elem() +} + +type TgConnectionRgreTunnelInput interface { + pulumi.Input + + ToTgConnectionRgreTunnelOutput() TgConnectionRgreTunnelOutput + ToTgConnectionRgreTunnelOutputWithContext(ctx context.Context) TgConnectionRgreTunnelOutput +} + +func (*TgConnectionRgreTunnel) ElementType() reflect.Type { + return reflect.TypeOf((**TgConnectionRgreTunnel)(nil)).Elem() +} + +func (i *TgConnectionRgreTunnel) ToTgConnectionRgreTunnelOutput() TgConnectionRgreTunnelOutput { + return i.ToTgConnectionRgreTunnelOutputWithContext(context.Background()) +} + +func (i *TgConnectionRgreTunnel) ToTgConnectionRgreTunnelOutputWithContext(ctx context.Context) TgConnectionRgreTunnelOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgConnectionRgreTunnelOutput) +} + +type TgConnectionRgreTunnelOutput struct{ *pulumi.OutputState } + +func (TgConnectionRgreTunnelOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TgConnectionRgreTunnel)(nil)).Elem() +} + +func (o TgConnectionRgreTunnelOutput) ToTgConnectionRgreTunnelOutput() TgConnectionRgreTunnelOutput { + return o +} + +func (o TgConnectionRgreTunnelOutput) ToTgConnectionRgreTunnelOutputWithContext(ctx context.Context) TgConnectionRgreTunnelOutput { + return o +} + +// The type of the base network for the RGRE. It should be i.e classic or VPC +func (o TgConnectionRgreTunnelOutput) BaseNetworkType() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.BaseNetworkType }).(pulumi.StringOutput) +} + +// The Transit Gateway Connection identifier +func (o TgConnectionRgreTunnelOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.ConnectionId }).(pulumi.StringOutput) +} + +// The date and time that this tunnel was created +func (o TgConnectionRgreTunnelOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The Transit Gateway identifier +func (o TgConnectionRgreTunnelOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.Gateway }).(pulumi.StringOutput) +} + +// The local network BGP ASN. +func (o TgConnectionRgreTunnelOutput) LocalBgpAsn() pulumi.IntOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.IntOutput { return v.LocalBgpAsn }).(pulumi.IntOutput) +} + +// The local gateway IP address. +func (o TgConnectionRgreTunnelOutput) LocalGatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.LocalGatewayIp }).(pulumi.StringOutput) +} + +// The local tunnel IP address. +func (o TgConnectionRgreTunnelOutput) LocalTunnelIp() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.LocalTunnelIp }).(pulumi.StringOutput) +} + +// Only visible for cross account connections, this field represents the status of the request to connect the given network between accounts.Possible values: [pending,approved,rejected,expired,detached] +func (o TgConnectionRgreTunnelOutput) Mtu() pulumi.IntOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.IntOutput { return v.Mtu }).(pulumi.IntOutput) +} + +// The user-defined name for this tunnel connection. +func (o TgConnectionRgreTunnelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ID of the account which owns the network that is being connected. Generally only used if the network is in a different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the associatedNetworkType is 'classic' and the GRE tunnel is in a different account than the gateway. +func (o TgConnectionRgreTunnelOutput) NetworkAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.NetworkAccountId }).(pulumi.StringOutput) +} + +// The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' or 'directlink' or 'power_virtual_server'. The value of this is the CRN of the VPC or direct link or powerVirtualServer gateway to be connected. This field is required to be unspecified for network type 'classic', 'gre_tunnel', and 'unbound_gre_tunnel'. +func (o TgConnectionRgreTunnelOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.NetworkId }).(pulumi.StringOutput) +} + +// The remote network BGP ASN. +func (o TgConnectionRgreTunnelOutput) RemoteBgpAsn() pulumi.IntOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.IntOutput { return v.RemoteBgpAsn }).(pulumi.IntOutput) +} + +// The remote gateway IP address. +func (o TgConnectionRgreTunnelOutput) RemoteGatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.RemoteGatewayIp }).(pulumi.StringOutput) +} + +// The remote tunnel IP address. +func (o TgConnectionRgreTunnelOutput) RemoteTunnelIp() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.RemoteTunnelIp }).(pulumi.StringOutput) +} + +// What is the current configuration state of this tunnel. Possible values: [attached,failed,pending,deleting,detaching,detached] +func (o TgConnectionRgreTunnelOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The Transit Gateway tunnel identifier +func (o TgConnectionRgreTunnelOutput) TunnelId() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.TunnelId }).(pulumi.StringOutput) +} + +// The date and time that this tunnel was last updated +func (o TgConnectionRgreTunnelOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// Location of GRE tunnel. +func (o TgConnectionRgreTunnelOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *TgConnectionRgreTunnel) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TgConnectionRgreTunnelInput)(nil)).Elem(), &TgConnectionRgreTunnel{}) + pulumi.RegisterOutputType(TgConnectionRgreTunnelOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgGateway.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgGateway.go new file mode 100644 index 000000000..57d795991 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgGateway.go @@ -0,0 +1,292 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type TgGateway struct { + pulumi.CustomResourceState + + // The creation time of the resource + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The crn of the resource + Crn pulumi.StringOutput `pulumi:"crn"` + // Allow global routing for a Transit Gateway. If unspecified, the default value is false + Global pulumi.BoolPtrOutput `pulumi:"global"` + // Allow route propagation across all GREs connected to the same transit gateway. This affects connections on the gateway of type redundant_gre, unboundGreTunnel and gre_tunnel + GreEnhancedRoutePropagation pulumi.BoolPtrOutput `pulumi:"greEnhancedRoutePropagation"` + // Location of Transit Gateway Services + Location pulumi.StringOutput `pulumi:"location"` + // Name Transit Gateway Services + Name pulumi.StringOutput `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringOutput `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn pulumi.StringOutput `pulumi:"resourceCrn"` + ResourceGroup pulumi.StringOutput `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName pulumi.StringOutput `pulumi:"resourceName"` + // The status of the resource + ResourceStatus pulumi.StringOutput `pulumi:"resourceStatus"` + // The Status of the resource + Status pulumi.StringOutput `pulumi:"status"` + // Tags for the transit gateway instance + Tags pulumi.StringArrayOutput `pulumi:"tags"` + // The updation time of the resource + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewTgGateway registers a new resource with the given unique name, arguments, and options. +func NewTgGateway(ctx *pulumi.Context, + name string, args *TgGatewayArgs, opts ...pulumi.ResourceOption) (*TgGateway, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Location == nil { + return nil, errors.New("invalid value for required argument 'Location'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TgGateway + err := ctx.RegisterResource("ibmcloud:index/tgGateway:TgGateway", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTgGateway gets an existing TgGateway resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetTgGateway(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TgGatewayState, opts ...pulumi.ResourceOption) (*TgGateway, error) { + var resource TgGateway + err := ctx.ReadResource("ibmcloud:index/tgGateway:TgGateway", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TgGateway resources. +type tgGatewayState struct { + // The creation time of the resource + CreatedAt *string `pulumi:"createdAt"` + // The crn of the resource + Crn *string `pulumi:"crn"` + // Allow global routing for a Transit Gateway. If unspecified, the default value is false + Global *bool `pulumi:"global"` + // Allow route propagation across all GREs connected to the same transit gateway. This affects connections on the gateway of type redundant_gre, unboundGreTunnel and gre_tunnel + GreEnhancedRoutePropagation *bool `pulumi:"greEnhancedRoutePropagation"` + // Location of Transit Gateway Services + Location *string `pulumi:"location"` + // Name Transit Gateway Services + Name *string `pulumi:"name"` + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl *string `pulumi:"resourceControllerUrl"` + // The crn of the resource + ResourceCrn *string `pulumi:"resourceCrn"` + ResourceGroup *string `pulumi:"resourceGroup"` + // The resource group name in which resource is provisioned + ResourceGroupName *string `pulumi:"resourceGroupName"` + // The name of the resource + ResourceName *string `pulumi:"resourceName"` + // The status of the resource + ResourceStatus *string `pulumi:"resourceStatus"` + // The Status of the resource + Status *string `pulumi:"status"` + // Tags for the transit gateway instance + Tags []string `pulumi:"tags"` + // The updation time of the resource + UpdatedAt *string `pulumi:"updatedAt"` +} + +type TgGatewayState struct { + // The creation time of the resource + CreatedAt pulumi.StringPtrInput + // The crn of the resource + Crn pulumi.StringPtrInput + // Allow global routing for a Transit Gateway. If unspecified, the default value is false + Global pulumi.BoolPtrInput + // Allow route propagation across all GREs connected to the same transit gateway. This affects connections on the gateway of type redundant_gre, unboundGreTunnel and gre_tunnel + GreEnhancedRoutePropagation pulumi.BoolPtrInput + // Location of Transit Gateway Services + Location pulumi.StringPtrInput + // Name Transit Gateway Services + Name pulumi.StringPtrInput + // The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance + ResourceControllerUrl pulumi.StringPtrInput + // The crn of the resource + ResourceCrn pulumi.StringPtrInput + ResourceGroup pulumi.StringPtrInput + // The resource group name in which resource is provisioned + ResourceGroupName pulumi.StringPtrInput + // The name of the resource + ResourceName pulumi.StringPtrInput + // The status of the resource + ResourceStatus pulumi.StringPtrInput + // The Status of the resource + Status pulumi.StringPtrInput + // Tags for the transit gateway instance + Tags pulumi.StringArrayInput + // The updation time of the resource + UpdatedAt pulumi.StringPtrInput +} + +func (TgGatewayState) ElementType() reflect.Type { + return reflect.TypeOf((*tgGatewayState)(nil)).Elem() +} + +type tgGatewayArgs struct { + // Allow global routing for a Transit Gateway. If unspecified, the default value is false + Global *bool `pulumi:"global"` + // Allow route propagation across all GREs connected to the same transit gateway. This affects connections on the gateway of type redundant_gre, unboundGreTunnel and gre_tunnel + GreEnhancedRoutePropagation *bool `pulumi:"greEnhancedRoutePropagation"` + // Location of Transit Gateway Services + Location string `pulumi:"location"` + // Name Transit Gateway Services + Name *string `pulumi:"name"` + ResourceGroup *string `pulumi:"resourceGroup"` + // Tags for the transit gateway instance + Tags []string `pulumi:"tags"` +} + +// The set of arguments for constructing a TgGateway resource. +type TgGatewayArgs struct { + // Allow global routing for a Transit Gateway. If unspecified, the default value is false + Global pulumi.BoolPtrInput + // Allow route propagation across all GREs connected to the same transit gateway. This affects connections on the gateway of type redundant_gre, unboundGreTunnel and gre_tunnel + GreEnhancedRoutePropagation pulumi.BoolPtrInput + // Location of Transit Gateway Services + Location pulumi.StringInput + // Name Transit Gateway Services + Name pulumi.StringPtrInput + ResourceGroup pulumi.StringPtrInput + // Tags for the transit gateway instance + Tags pulumi.StringArrayInput +} + +func (TgGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tgGatewayArgs)(nil)).Elem() +} + +type TgGatewayInput interface { + pulumi.Input + + ToTgGatewayOutput() TgGatewayOutput + ToTgGatewayOutputWithContext(ctx context.Context) TgGatewayOutput +} + +func (*TgGateway) ElementType() reflect.Type { + return reflect.TypeOf((**TgGateway)(nil)).Elem() +} + +func (i *TgGateway) ToTgGatewayOutput() TgGatewayOutput { + return i.ToTgGatewayOutputWithContext(context.Background()) +} + +func (i *TgGateway) ToTgGatewayOutputWithContext(ctx context.Context) TgGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgGatewayOutput) +} + +type TgGatewayOutput struct{ *pulumi.OutputState } + +func (TgGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TgGateway)(nil)).Elem() +} + +func (o TgGatewayOutput) ToTgGatewayOutput() TgGatewayOutput { + return o +} + +func (o TgGatewayOutput) ToTgGatewayOutputWithContext(ctx context.Context) TgGatewayOutput { + return o +} + +// The creation time of the resource +func (o TgGatewayOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o TgGatewayOutput) Crn() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.Crn }).(pulumi.StringOutput) +} + +// Allow global routing for a Transit Gateway. If unspecified, the default value is false +func (o TgGatewayOutput) Global() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *TgGateway) pulumi.BoolPtrOutput { return v.Global }).(pulumi.BoolPtrOutput) +} + +// Allow route propagation across all GREs connected to the same transit gateway. This affects connections on the gateway of type redundant_gre, unboundGreTunnel and gre_tunnel +func (o TgGatewayOutput) GreEnhancedRoutePropagation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *TgGateway) pulumi.BoolPtrOutput { return v.GreEnhancedRoutePropagation }).(pulumi.BoolPtrOutput) +} + +// Location of Transit Gateway Services +func (o TgGatewayOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) +} + +// Name Transit Gateway Services +func (o TgGatewayOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance +func (o TgGatewayOutput) ResourceControllerUrl() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.ResourceControllerUrl }).(pulumi.StringOutput) +} + +// The crn of the resource +func (o TgGatewayOutput) ResourceCrn() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.ResourceCrn }).(pulumi.StringOutput) +} + +func (o TgGatewayOutput) ResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.ResourceGroup }).(pulumi.StringOutput) +} + +// The resource group name in which resource is provisioned +func (o TgGatewayOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// The name of the resource +func (o TgGatewayOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.ResourceName }).(pulumi.StringOutput) +} + +// The status of the resource +func (o TgGatewayOutput) ResourceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.ResourceStatus }).(pulumi.StringOutput) +} + +// The Status of the resource +func (o TgGatewayOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Tags for the transit gateway instance +func (o TgGatewayOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// The updation time of the resource +func (o TgGatewayOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgGateway) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TgGatewayInput)(nil)).Elem(), &TgGateway{}) + pulumi.RegisterOutputType(TgGatewayOutput{}) +} diff --git a/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgRouteReport.go b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgRouteReport.go new file mode 100644 index 000000000..11bfa81b8 --- /dev/null +++ b/vendor/github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/tgRouteReport.go @@ -0,0 +1,178 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ibmcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/mapt-oss/pulumi-ibmcloud/sdk/go/ibmcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type TgRouteReport struct { + pulumi.CustomResourceState + + // Collection of transit gateway connections + Connections TgRouteReportConnectionArrayOutput `pulumi:"connections"` + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The Transit Gateway identifier + Gateway pulumi.StringOutput `pulumi:"gateway"` + // Collection of transit gateway overlapping routes + OverlappingRoutes TgRouteReportOverlappingRouteArrayOutput `pulumi:"overlappingRoutes"` + // The Transit Gateway Route Report identifier + RouteReportId pulumi.StringOutput `pulumi:"routeReportId"` + Status pulumi.StringOutput `pulumi:"status"` + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewTgRouteReport registers a new resource with the given unique name, arguments, and options. +func NewTgRouteReport(ctx *pulumi.Context, + name string, args *TgRouteReportArgs, opts ...pulumi.ResourceOption) (*TgRouteReport, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Gateway == nil { + return nil, errors.New("invalid value for required argument 'Gateway'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TgRouteReport + err := ctx.RegisterResource("ibmcloud:index/tgRouteReport:TgRouteReport", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTgRouteReport gets an existing TgRouteReport resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetTgRouteReport(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TgRouteReportState, opts ...pulumi.ResourceOption) (*TgRouteReport, error) { + var resource TgRouteReport + err := ctx.ReadResource("ibmcloud:index/tgRouteReport:TgRouteReport", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TgRouteReport resources. +type tgRouteReportState struct { + // Collection of transit gateway connections + Connections []TgRouteReportConnection `pulumi:"connections"` + CreatedAt *string `pulumi:"createdAt"` + // The Transit Gateway identifier + Gateway *string `pulumi:"gateway"` + // Collection of transit gateway overlapping routes + OverlappingRoutes []TgRouteReportOverlappingRoute `pulumi:"overlappingRoutes"` + // The Transit Gateway Route Report identifier + RouteReportId *string `pulumi:"routeReportId"` + Status *string `pulumi:"status"` + UpdatedAt *string `pulumi:"updatedAt"` +} + +type TgRouteReportState struct { + // Collection of transit gateway connections + Connections TgRouteReportConnectionArrayInput + CreatedAt pulumi.StringPtrInput + // The Transit Gateway identifier + Gateway pulumi.StringPtrInput + // Collection of transit gateway overlapping routes + OverlappingRoutes TgRouteReportOverlappingRouteArrayInput + // The Transit Gateway Route Report identifier + RouteReportId pulumi.StringPtrInput + Status pulumi.StringPtrInput + UpdatedAt pulumi.StringPtrInput +} + +func (TgRouteReportState) ElementType() reflect.Type { + return reflect.TypeOf((*tgRouteReportState)(nil)).Elem() +} + +type tgRouteReportArgs struct { + // The Transit Gateway identifier + Gateway string `pulumi:"gateway"` +} + +// The set of arguments for constructing a TgRouteReport resource. +type TgRouteReportArgs struct { + // The Transit Gateway identifier + Gateway pulumi.StringInput +} + +func (TgRouteReportArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tgRouteReportArgs)(nil)).Elem() +} + +type TgRouteReportInput interface { + pulumi.Input + + ToTgRouteReportOutput() TgRouteReportOutput + ToTgRouteReportOutputWithContext(ctx context.Context) TgRouteReportOutput +} + +func (*TgRouteReport) ElementType() reflect.Type { + return reflect.TypeOf((**TgRouteReport)(nil)).Elem() +} + +func (i *TgRouteReport) ToTgRouteReportOutput() TgRouteReportOutput { + return i.ToTgRouteReportOutputWithContext(context.Background()) +} + +func (i *TgRouteReport) ToTgRouteReportOutputWithContext(ctx context.Context) TgRouteReportOutput { + return pulumi.ToOutputWithContext(ctx, i).(TgRouteReportOutput) +} + +type TgRouteReportOutput struct{ *pulumi.OutputState } + +func (TgRouteReportOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TgRouteReport)(nil)).Elem() +} + +func (o TgRouteReportOutput) ToTgRouteReportOutput() TgRouteReportOutput { + return o +} + +func (o TgRouteReportOutput) ToTgRouteReportOutputWithContext(ctx context.Context) TgRouteReportOutput { + return o +} + +// Collection of transit gateway connections +func (o TgRouteReportOutput) Connections() TgRouteReportConnectionArrayOutput { + return o.ApplyT(func(v *TgRouteReport) TgRouteReportConnectionArrayOutput { return v.Connections }).(TgRouteReportConnectionArrayOutput) +} + +func (o TgRouteReportOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgRouteReport) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The Transit Gateway identifier +func (o TgRouteReportOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v *TgRouteReport) pulumi.StringOutput { return v.Gateway }).(pulumi.StringOutput) +} + +// Collection of transit gateway overlapping routes +func (o TgRouteReportOutput) OverlappingRoutes() TgRouteReportOverlappingRouteArrayOutput { + return o.ApplyT(func(v *TgRouteReport) TgRouteReportOverlappingRouteArrayOutput { return v.OverlappingRoutes }).(TgRouteReportOverlappingRouteArrayOutput) +} + +// The Transit Gateway Route Report identifier +func (o TgRouteReportOutput) RouteReportId() pulumi.StringOutput { + return o.ApplyT(func(v *TgRouteReport) pulumi.StringOutput { return v.RouteReportId }).(pulumi.StringOutput) +} + +func (o TgRouteReportOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *TgRouteReport) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o TgRouteReportOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TgRouteReport) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TgRouteReportInput)(nil)).Elem(), &TgRouteReport{}) + pulumi.RegisterOutputType(TgRouteReportOutput{}) +} diff --git a/vendor/github.com/oklog/ulid/.gitignore b/vendor/github.com/oklog/ulid/.gitignore new file mode 100644 index 000000000..c92c4d560 --- /dev/null +++ b/vendor/github.com/oklog/ulid/.gitignore @@ -0,0 +1,29 @@ +#### joe made this: http://goel.io/joe + +#####=== Go ===##### + +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof + diff --git a/vendor/github.com/oklog/ulid/.travis.yml b/vendor/github.com/oklog/ulid/.travis.yml new file mode 100644 index 000000000..43eb762fa --- /dev/null +++ b/vendor/github.com/oklog/ulid/.travis.yml @@ -0,0 +1,16 @@ +language: go +sudo: false +go: + - 1.10.x +install: + - go get -v github.com/golang/lint/golint + - go get golang.org/x/tools/cmd/cover + - go get github.com/mattn/goveralls + - go get -d -t -v ./... + - go build -v ./... +script: + - go vet ./... + - $HOME/gopath/bin/golint . + - go test -v -race ./... + - go test -v -covermode=count -coverprofile=cov.out + - $HOME/gopath/bin/goveralls -coverprofile=cov.out -service=travis-ci -repotoken "$COVERALLS_TOKEN" || true diff --git a/vendor/github.com/oklog/ulid/AUTHORS.md b/vendor/github.com/oklog/ulid/AUTHORS.md new file mode 100644 index 000000000..95581c78b --- /dev/null +++ b/vendor/github.com/oklog/ulid/AUTHORS.md @@ -0,0 +1,2 @@ +- Peter Bourgon (@peterbourgon) +- Tomás Senart (@tsenart) diff --git a/vendor/github.com/oklog/ulid/CHANGELOG.md b/vendor/github.com/oklog/ulid/CHANGELOG.md new file mode 100644 index 000000000..8da38c6b0 --- /dev/null +++ b/vendor/github.com/oklog/ulid/CHANGELOG.md @@ -0,0 +1,33 @@ +## 1.3.1 / 2018-10-02 + +* Use underlying entropy source for random increments in Monotonic (#32) + +## 1.3.0 / 2018-09-29 + +* Monotonic entropy support (#31) + +## 1.2.0 / 2018-09-09 + +* Add a function to convert Unix time in milliseconds back to time.Time (#30) + +## 1.1.0 / 2018-08-15 + +* Ensure random part is always read from the entropy reader in full (#28) + +## 1.0.0 / 2018-07-29 + +* Add ParseStrict and MustParseStrict functions (#26) +* Enforce overflow checking when parsing (#20) + +## 0.3.0 / 2017-01-03 + +* Implement ULID.Compare method + +## 0.2.0 / 2016-12-13 + +* Remove year 2262 Timestamp bug. (#1) +* Gracefully handle invalid encodings when parsing. + +## 0.1.0 / 2016-12-06 + +* First ULID release diff --git a/vendor/github.com/oklog/ulid/CONTRIBUTING.md b/vendor/github.com/oklog/ulid/CONTRIBUTING.md new file mode 100644 index 000000000..68f03f26e --- /dev/null +++ b/vendor/github.com/oklog/ulid/CONTRIBUTING.md @@ -0,0 +1,17 @@ +# Contributing + +We use GitHub to manage reviews of pull requests. + +* If you have a trivial fix or improvement, go ahead and create a pull + request, addressing (with `@...`) one or more of the maintainers + (see [AUTHORS.md](AUTHORS.md)) in the description of the pull request. + +* If you plan to do something more involved, first propose your ideas + in a Github issue. This will avoid unnecessary work and surely give + you and us a good deal of inspiration. + +* Relevant coding style guidelines are the [Go Code Review + Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments) + and the _Formatting and style_ section of Peter Bourgon's [Go: Best + Practices for Production + Environments](http://peter.bourgon.org/go-in-production/#formatting-and-style). diff --git a/vendor/github.com/oklog/ulid/Gopkg.lock b/vendor/github.com/oklog/ulid/Gopkg.lock new file mode 100644 index 000000000..349b449a6 --- /dev/null +++ b/vendor/github.com/oklog/ulid/Gopkg.lock @@ -0,0 +1,15 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + branch = "master" + name = "github.com/pborman/getopt" + packages = ["v2"] + revision = "7148bc3a4c3008adfcab60cbebfd0576018f330b" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "6779b05abd5cd429c5393641d2453005a3cb74a400d161b2b5c5d0ca2e10e116" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/vendor/github.com/oklog/ulid/Gopkg.toml b/vendor/github.com/oklog/ulid/Gopkg.toml new file mode 100644 index 000000000..624a7a019 --- /dev/null +++ b/vendor/github.com/oklog/ulid/Gopkg.toml @@ -0,0 +1,26 @@ + +# Gopkg.toml example +# +# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md +# for detailed Gopkg.toml documentation. +# +# required = ["github.com/user/thing/cmd/thing"] +# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] +# +# [[constraint]] +# name = "github.com/user/project" +# version = "1.0.0" +# +# [[constraint]] +# name = "github.com/user/project2" +# branch = "dev" +# source = "github.com/myfork/project2" +# +# [[override]] +# name = "github.com/x/y" +# version = "2.4.0" + + +[[constraint]] + branch = "master" + name = "github.com/pborman/getopt" diff --git a/vendor/github.com/oklog/ulid/LICENSE b/vendor/github.com/oklog/ulid/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/github.com/oklog/ulid/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/oklog/ulid/README.md b/vendor/github.com/oklog/ulid/README.md new file mode 100644 index 000000000..0a3d2f82b --- /dev/null +++ b/vendor/github.com/oklog/ulid/README.md @@ -0,0 +1,150 @@ +# Universally Unique Lexicographically Sortable Identifier + +![Project status](https://img.shields.io/badge/version-1.3.0-yellow.svg) +[![Build Status](https://secure.travis-ci.org/oklog/ulid.png)](http://travis-ci.org/oklog/ulid) +[![Go Report Card](https://goreportcard.com/badge/oklog/ulid?cache=0)](https://goreportcard.com/report/oklog/ulid) +[![Coverage Status](https://coveralls.io/repos/github/oklog/ulid/badge.svg?branch=master&cache=0)](https://coveralls.io/github/oklog/ulid?branch=master) +[![GoDoc](https://godoc.org/github.com/oklog/ulid?status.svg)](https://godoc.org/github.com/oklog/ulid) +[![Apache 2 licensed](https://img.shields.io/badge/license-Apache2-blue.svg)](https://raw.githubusercontent.com/oklog/ulid/master/LICENSE) + +A Go port of [alizain/ulid](https://github.com/alizain/ulid) with binary format implemented. + +## Background + +A GUID/UUID can be suboptimal for many use-cases because: + +- It isn't the most character efficient way of encoding 128 bits +- UUID v1/v2 is impractical in many environments, as it requires access to a unique, stable MAC address +- UUID v3/v5 requires a unique seed and produces randomly distributed IDs, which can cause fragmentation in many data structures +- UUID v4 provides no other information than randomness which can cause fragmentation in many data structures + +A ULID however: + +- Is compatible with UUID/GUID's +- 1.21e+24 unique ULIDs per millisecond (1,208,925,819,614,629,174,706,176 to be exact) +- Lexicographically sortable +- Canonically encoded as a 26 character string, as opposed to the 36 character UUID +- Uses Crockford's base32 for better efficiency and readability (5 bits per character) +- Case insensitive +- No special characters (URL safe) +- Monotonic sort order (correctly detects and handles the same millisecond) + +## Install + +```shell +go get github.com/oklog/ulid +``` + +## Usage + +An ULID is constructed with a `time.Time` and an `io.Reader` entropy source. +This design allows for greater flexibility in choosing your trade-offs. + +Please note that `rand.Rand` from the `math` package is *not* safe for concurrent use. +Instantiate one per long living go-routine or use a `sync.Pool` if you want to avoid the potential contention of a locked `rand.Source` as its been frequently observed in the package level functions. + + +```go +func ExampleULID() { + t := time.Unix(1000000, 0) + entropy := ulid.Monotonic(rand.New(rand.NewSource(t.UnixNano())), 0) + fmt.Println(ulid.MustNew(ulid.Timestamp(t), entropy)) + // Output: 0000XSNJG0MQJHBF4QX1EFD6Y3 +} + +``` + +## Specification + +Below is the current specification of ULID as implemented in this repository. + +### Components + +**Timestamp** +- 48 bits +- UNIX-time in milliseconds +- Won't run out of space till the year 10895 AD + +**Entropy** +- 80 bits +- User defined entropy source. +- Monotonicity within the same millisecond with [`ulid.Monotonic`](https://godoc.org/github.com/oklog/ulid#Monotonic) + +### Encoding + +[Crockford's Base32](http://www.crockford.com/wrmg/base32.html) is used as shown. +This alphabet excludes the letters I, L, O, and U to avoid confusion and abuse. + +``` +0123456789ABCDEFGHJKMNPQRSTVWXYZ +``` + +### Binary Layout and Byte Order + +The components are encoded as 16 octets. Each component is encoded with the Most Significant Byte first (network byte order). + +``` +0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| 32_bit_uint_time_high | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| 16_bit_uint_time_low | 16_bit_uint_random | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| 32_bit_uint_random | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| 32_bit_uint_random | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +``` + +### String Representation + +``` + 01AN4Z07BY 79KA1307SR9X4MV3 +|----------| |----------------| + Timestamp Entropy + 10 chars 16 chars + 48bits 80bits + base32 base32 +``` + +## Test + +```shell +go test ./... +``` + +## Benchmarks + +On a Intel Core i7 Ivy Bridge 2.7 GHz, MacOS 10.12.1 and Go 1.8.0beta1 + +``` +BenchmarkNew/WithCryptoEntropy-8 2000000 771 ns/op 20.73 MB/s 16 B/op 1 allocs/op +BenchmarkNew/WithEntropy-8 20000000 65.8 ns/op 243.01 MB/s 16 B/op 1 allocs/op +BenchmarkNew/WithoutEntropy-8 50000000 30.0 ns/op 534.06 MB/s 16 B/op 1 allocs/op +BenchmarkMustNew/WithCryptoEntropy-8 2000000 781 ns/op 20.48 MB/s 16 B/op 1 allocs/op +BenchmarkMustNew/WithEntropy-8 20000000 70.0 ns/op 228.51 MB/s 16 B/op 1 allocs/op +BenchmarkMustNew/WithoutEntropy-8 50000000 34.6 ns/op 462.98 MB/s 16 B/op 1 allocs/op +BenchmarkParse-8 50000000 30.0 ns/op 866.16 MB/s 0 B/op 0 allocs/op +BenchmarkMustParse-8 50000000 35.2 ns/op 738.94 MB/s 0 B/op 0 allocs/op +BenchmarkString-8 20000000 64.9 ns/op 246.40 MB/s 32 B/op 1 allocs/op +BenchmarkMarshal/Text-8 20000000 55.8 ns/op 286.84 MB/s 32 B/op 1 allocs/op +BenchmarkMarshal/TextTo-8 100000000 22.4 ns/op 714.91 MB/s 0 B/op 0 allocs/op +BenchmarkMarshal/Binary-8 300000000 4.02 ns/op 3981.77 MB/s 0 B/op 0 allocs/op +BenchmarkMarshal/BinaryTo-8 2000000000 1.18 ns/op 13551.75 MB/s 0 B/op 0 allocs/op +BenchmarkUnmarshal/Text-8 100000000 20.5 ns/op 1265.27 MB/s 0 B/op 0 allocs/op +BenchmarkUnmarshal/Binary-8 300000000 4.94 ns/op 3240.01 MB/s 0 B/op 0 allocs/op +BenchmarkNow-8 100000000 15.1 ns/op 528.09 MB/s 0 B/op 0 allocs/op +BenchmarkTimestamp-8 2000000000 0.29 ns/op 27271.59 MB/s 0 B/op 0 allocs/op +BenchmarkTime-8 2000000000 0.58 ns/op 13717.80 MB/s 0 B/op 0 allocs/op +BenchmarkSetTime-8 2000000000 0.89 ns/op 9023.95 MB/s 0 B/op 0 allocs/op +BenchmarkEntropy-8 200000000 7.62 ns/op 1311.66 MB/s 0 B/op 0 allocs/op +BenchmarkSetEntropy-8 2000000000 0.88 ns/op 11376.54 MB/s 0 B/op 0 allocs/op +BenchmarkCompare-8 200000000 7.34 ns/op 4359.23 MB/s 0 B/op 0 allocs/op +``` + +## Prior Art + +- [alizain/ulid](https://github.com/alizain/ulid) +- [RobThree/NUlid](https://github.com/RobThree/NUlid) +- [imdario/go-ulid](https://github.com/imdario/go-ulid) diff --git a/vendor/github.com/oklog/ulid/ulid.go b/vendor/github.com/oklog/ulid/ulid.go new file mode 100644 index 000000000..c5d0d66fd --- /dev/null +++ b/vendor/github.com/oklog/ulid/ulid.go @@ -0,0 +1,614 @@ +// Copyright 2016 The Oklog Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ulid + +import ( + "bufio" + "bytes" + "database/sql/driver" + "encoding/binary" + "errors" + "io" + "math" + "math/bits" + "math/rand" + "time" +) + +/* +An ULID is a 16 byte Universally Unique Lexicographically Sortable Identifier + + The components are encoded as 16 octets. + Each component is encoded with the MSB first (network byte order). + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | 32_bit_uint_time_high | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | 16_bit_uint_time_low | 16_bit_uint_random | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | 32_bit_uint_random | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | 32_bit_uint_random | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +*/ +type ULID [16]byte + +var ( + // ErrDataSize is returned when parsing or unmarshaling ULIDs with the wrong + // data size. + ErrDataSize = errors.New("ulid: bad data size when unmarshaling") + + // ErrInvalidCharacters is returned when parsing or unmarshaling ULIDs with + // invalid Base32 encodings. + ErrInvalidCharacters = errors.New("ulid: bad data characters when unmarshaling") + + // ErrBufferSize is returned when marshalling ULIDs to a buffer of insufficient + // size. + ErrBufferSize = errors.New("ulid: bad buffer size when marshaling") + + // ErrBigTime is returned when constructing an ULID with a time that is larger + // than MaxTime. + ErrBigTime = errors.New("ulid: time too big") + + // ErrOverflow is returned when unmarshaling a ULID whose first character is + // larger than 7, thereby exceeding the valid bit depth of 128. + ErrOverflow = errors.New("ulid: overflow when unmarshaling") + + // ErrMonotonicOverflow is returned by a Monotonic entropy source when + // incrementing the previous ULID's entropy bytes would result in overflow. + ErrMonotonicOverflow = errors.New("ulid: monotonic entropy overflow") + + // ErrScanValue is returned when the value passed to scan cannot be unmarshaled + // into the ULID. + ErrScanValue = errors.New("ulid: source value must be a string or byte slice") +) + +// New returns an ULID with the given Unix milliseconds timestamp and an +// optional entropy source. Use the Timestamp function to convert +// a time.Time to Unix milliseconds. +// +// ErrBigTime is returned when passing a timestamp bigger than MaxTime. +// Reading from the entropy source may also return an error. +func New(ms uint64, entropy io.Reader) (id ULID, err error) { + if err = id.SetTime(ms); err != nil { + return id, err + } + + switch e := entropy.(type) { + case nil: + return id, err + case *monotonic: + err = e.MonotonicRead(ms, id[6:]) + default: + _, err = io.ReadFull(e, id[6:]) + } + + return id, err +} + +// MustNew is a convenience function equivalent to New that panics on failure +// instead of returning an error. +func MustNew(ms uint64, entropy io.Reader) ULID { + id, err := New(ms, entropy) + if err != nil { + panic(err) + } + return id +} + +// Parse parses an encoded ULID, returning an error in case of failure. +// +// ErrDataSize is returned if the len(ulid) is different from an encoded +// ULID's length. Invalid encodings produce undefined ULIDs. For a version that +// returns an error instead, see ParseStrict. +func Parse(ulid string) (id ULID, err error) { + return id, parse([]byte(ulid), false, &id) +} + +// ParseStrict parses an encoded ULID, returning an error in case of failure. +// +// It is like Parse, but additionally validates that the parsed ULID consists +// only of valid base32 characters. It is slightly slower than Parse. +// +// ErrDataSize is returned if the len(ulid) is different from an encoded +// ULID's length. Invalid encodings return ErrInvalidCharacters. +func ParseStrict(ulid string) (id ULID, err error) { + return id, parse([]byte(ulid), true, &id) +} + +func parse(v []byte, strict bool, id *ULID) error { + // Check if a base32 encoded ULID is the right length. + if len(v) != EncodedSize { + return ErrDataSize + } + + // Check if all the characters in a base32 encoded ULID are part of the + // expected base32 character set. + if strict && + (dec[v[0]] == 0xFF || + dec[v[1]] == 0xFF || + dec[v[2]] == 0xFF || + dec[v[3]] == 0xFF || + dec[v[4]] == 0xFF || + dec[v[5]] == 0xFF || + dec[v[6]] == 0xFF || + dec[v[7]] == 0xFF || + dec[v[8]] == 0xFF || + dec[v[9]] == 0xFF || + dec[v[10]] == 0xFF || + dec[v[11]] == 0xFF || + dec[v[12]] == 0xFF || + dec[v[13]] == 0xFF || + dec[v[14]] == 0xFF || + dec[v[15]] == 0xFF || + dec[v[16]] == 0xFF || + dec[v[17]] == 0xFF || + dec[v[18]] == 0xFF || + dec[v[19]] == 0xFF || + dec[v[20]] == 0xFF || + dec[v[21]] == 0xFF || + dec[v[22]] == 0xFF || + dec[v[23]] == 0xFF || + dec[v[24]] == 0xFF || + dec[v[25]] == 0xFF) { + return ErrInvalidCharacters + } + + // Check if the first character in a base32 encoded ULID will overflow. This + // happens because the base32 representation encodes 130 bits, while the + // ULID is only 128 bits. + // + // See https://github.com/oklog/ulid/issues/9 for details. + if v[0] > '7' { + return ErrOverflow + } + + // Use an optimized unrolled loop (from https://github.com/RobThree/NUlid) + // to decode a base32 ULID. + + // 6 bytes timestamp (48 bits) + (*id)[0] = ((dec[v[0]] << 5) | dec[v[1]]) + (*id)[1] = ((dec[v[2]] << 3) | (dec[v[3]] >> 2)) + (*id)[2] = ((dec[v[3]] << 6) | (dec[v[4]] << 1) | (dec[v[5]] >> 4)) + (*id)[3] = ((dec[v[5]] << 4) | (dec[v[6]] >> 1)) + (*id)[4] = ((dec[v[6]] << 7) | (dec[v[7]] << 2) | (dec[v[8]] >> 3)) + (*id)[5] = ((dec[v[8]] << 5) | dec[v[9]]) + + // 10 bytes of entropy (80 bits) + (*id)[6] = ((dec[v[10]] << 3) | (dec[v[11]] >> 2)) + (*id)[7] = ((dec[v[11]] << 6) | (dec[v[12]] << 1) | (dec[v[13]] >> 4)) + (*id)[8] = ((dec[v[13]] << 4) | (dec[v[14]] >> 1)) + (*id)[9] = ((dec[v[14]] << 7) | (dec[v[15]] << 2) | (dec[v[16]] >> 3)) + (*id)[10] = ((dec[v[16]] << 5) | dec[v[17]]) + (*id)[11] = ((dec[v[18]] << 3) | dec[v[19]]>>2) + (*id)[12] = ((dec[v[19]] << 6) | (dec[v[20]] << 1) | (dec[v[21]] >> 4)) + (*id)[13] = ((dec[v[21]] << 4) | (dec[v[22]] >> 1)) + (*id)[14] = ((dec[v[22]] << 7) | (dec[v[23]] << 2) | (dec[v[24]] >> 3)) + (*id)[15] = ((dec[v[24]] << 5) | dec[v[25]]) + + return nil +} + +// MustParse is a convenience function equivalent to Parse that panics on failure +// instead of returning an error. +func MustParse(ulid string) ULID { + id, err := Parse(ulid) + if err != nil { + panic(err) + } + return id +} + +// MustParseStrict is a convenience function equivalent to ParseStrict that +// panics on failure instead of returning an error. +func MustParseStrict(ulid string) ULID { + id, err := ParseStrict(ulid) + if err != nil { + panic(err) + } + return id +} + +// String returns a lexicographically sortable string encoded ULID +// (26 characters, non-standard base 32) e.g. 01AN4Z07BY79KA1307SR9X4MV3 +// Format: tttttttttteeeeeeeeeeeeeeee where t is time and e is entropy +func (id ULID) String() string { + ulid := make([]byte, EncodedSize) + _ = id.MarshalTextTo(ulid) + return string(ulid) +} + +// MarshalBinary implements the encoding.BinaryMarshaler interface by +// returning the ULID as a byte slice. +func (id ULID) MarshalBinary() ([]byte, error) { + ulid := make([]byte, len(id)) + return ulid, id.MarshalBinaryTo(ulid) +} + +// MarshalBinaryTo writes the binary encoding of the ULID to the given buffer. +// ErrBufferSize is returned when the len(dst) != 16. +func (id ULID) MarshalBinaryTo(dst []byte) error { + if len(dst) != len(id) { + return ErrBufferSize + } + + copy(dst, id[:]) + return nil +} + +// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface by +// copying the passed data and converting it to an ULID. ErrDataSize is +// returned if the data length is different from ULID length. +func (id *ULID) UnmarshalBinary(data []byte) error { + if len(data) != len(*id) { + return ErrDataSize + } + + copy((*id)[:], data) + return nil +} + +// Encoding is the base 32 encoding alphabet used in ULID strings. +const Encoding = "0123456789ABCDEFGHJKMNPQRSTVWXYZ" + +// MarshalText implements the encoding.TextMarshaler interface by +// returning the string encoded ULID. +func (id ULID) MarshalText() ([]byte, error) { + ulid := make([]byte, EncodedSize) + return ulid, id.MarshalTextTo(ulid) +} + +// MarshalTextTo writes the ULID as a string to the given buffer. +// ErrBufferSize is returned when the len(dst) != 26. +func (id ULID) MarshalTextTo(dst []byte) error { + // Optimized unrolled loop ahead. + // From https://github.com/RobThree/NUlid + + if len(dst) != EncodedSize { + return ErrBufferSize + } + + // 10 byte timestamp + dst[0] = Encoding[(id[0]&224)>>5] + dst[1] = Encoding[id[0]&31] + dst[2] = Encoding[(id[1]&248)>>3] + dst[3] = Encoding[((id[1]&7)<<2)|((id[2]&192)>>6)] + dst[4] = Encoding[(id[2]&62)>>1] + dst[5] = Encoding[((id[2]&1)<<4)|((id[3]&240)>>4)] + dst[6] = Encoding[((id[3]&15)<<1)|((id[4]&128)>>7)] + dst[7] = Encoding[(id[4]&124)>>2] + dst[8] = Encoding[((id[4]&3)<<3)|((id[5]&224)>>5)] + dst[9] = Encoding[id[5]&31] + + // 16 bytes of entropy + dst[10] = Encoding[(id[6]&248)>>3] + dst[11] = Encoding[((id[6]&7)<<2)|((id[7]&192)>>6)] + dst[12] = Encoding[(id[7]&62)>>1] + dst[13] = Encoding[((id[7]&1)<<4)|((id[8]&240)>>4)] + dst[14] = Encoding[((id[8]&15)<<1)|((id[9]&128)>>7)] + dst[15] = Encoding[(id[9]&124)>>2] + dst[16] = Encoding[((id[9]&3)<<3)|((id[10]&224)>>5)] + dst[17] = Encoding[id[10]&31] + dst[18] = Encoding[(id[11]&248)>>3] + dst[19] = Encoding[((id[11]&7)<<2)|((id[12]&192)>>6)] + dst[20] = Encoding[(id[12]&62)>>1] + dst[21] = Encoding[((id[12]&1)<<4)|((id[13]&240)>>4)] + dst[22] = Encoding[((id[13]&15)<<1)|((id[14]&128)>>7)] + dst[23] = Encoding[(id[14]&124)>>2] + dst[24] = Encoding[((id[14]&3)<<3)|((id[15]&224)>>5)] + dst[25] = Encoding[id[15]&31] + + return nil +} + +// Byte to index table for O(1) lookups when unmarshaling. +// We use 0xFF as sentinel value for invalid indexes. +var dec = [...]byte{ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, + 0x0F, 0x10, 0x11, 0xFF, 0x12, 0x13, 0xFF, 0x14, 0x15, 0xFF, + 0x16, 0x17, 0x18, 0x19, 0x1A, 0xFF, 0x1B, 0x1C, 0x1D, 0x1E, + 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x0B, 0x0C, + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0xFF, 0x12, 0x13, 0xFF, 0x14, + 0x15, 0xFF, 0x16, 0x17, 0x18, 0x19, 0x1A, 0xFF, 0x1B, 0x1C, + 0x1D, 0x1E, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +} + +// EncodedSize is the length of a text encoded ULID. +const EncodedSize = 26 + +// UnmarshalText implements the encoding.TextUnmarshaler interface by +// parsing the data as string encoded ULID. +// +// ErrDataSize is returned if the len(v) is different from an encoded +// ULID's length. Invalid encodings produce undefined ULIDs. +func (id *ULID) UnmarshalText(v []byte) error { + return parse(v, false, id) +} + +// Time returns the Unix time in milliseconds encoded in the ULID. +// Use the top level Time function to convert the returned value to +// a time.Time. +func (id ULID) Time() uint64 { + return uint64(id[5]) | uint64(id[4])<<8 | + uint64(id[3])<<16 | uint64(id[2])<<24 | + uint64(id[1])<<32 | uint64(id[0])<<40 +} + +// maxTime is the maximum Unix time in milliseconds that can be +// represented in an ULID. +var maxTime = ULID{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}.Time() + +// MaxTime returns the maximum Unix time in milliseconds that +// can be encoded in an ULID. +func MaxTime() uint64 { return maxTime } + +// Now is a convenience function that returns the current +// UTC time in Unix milliseconds. Equivalent to: +// Timestamp(time.Now().UTC()) +func Now() uint64 { return Timestamp(time.Now().UTC()) } + +// Timestamp converts a time.Time to Unix milliseconds. +// +// Because of the way ULID stores time, times from the year +// 10889 produces undefined results. +func Timestamp(t time.Time) uint64 { + return uint64(t.Unix())*1000 + + uint64(t.Nanosecond()/int(time.Millisecond)) +} + +// Time converts Unix milliseconds in the format +// returned by the Timestamp function to a time.Time. +func Time(ms uint64) time.Time { + s := int64(ms / 1e3) + ns := int64((ms % 1e3) * 1e6) + return time.Unix(s, ns) +} + +// SetTime sets the time component of the ULID to the given Unix time +// in milliseconds. +func (id *ULID) SetTime(ms uint64) error { + if ms > maxTime { + return ErrBigTime + } + + (*id)[0] = byte(ms >> 40) + (*id)[1] = byte(ms >> 32) + (*id)[2] = byte(ms >> 24) + (*id)[3] = byte(ms >> 16) + (*id)[4] = byte(ms >> 8) + (*id)[5] = byte(ms) + + return nil +} + +// Entropy returns the entropy from the ULID. +func (id ULID) Entropy() []byte { + e := make([]byte, 10) + copy(e, id[6:]) + return e +} + +// SetEntropy sets the ULID entropy to the passed byte slice. +// ErrDataSize is returned if len(e) != 10. +func (id *ULID) SetEntropy(e []byte) error { + if len(e) != 10 { + return ErrDataSize + } + + copy((*id)[6:], e) + return nil +} + +// Compare returns an integer comparing id and other lexicographically. +// The result will be 0 if id==other, -1 if id < other, and +1 if id > other. +func (id ULID) Compare(other ULID) int { + return bytes.Compare(id[:], other[:]) +} + +// Scan implements the sql.Scanner interface. It supports scanning +// a string or byte slice. +func (id *ULID) Scan(src interface{}) error { + switch x := src.(type) { + case nil: + return nil + case string: + return id.UnmarshalText([]byte(x)) + case []byte: + return id.UnmarshalBinary(x) + } + + return ErrScanValue +} + +// Value implements the sql/driver.Valuer interface. This returns the value +// represented as a byte slice. If instead a string is desirable, a wrapper +// type can be created that calls String(). +// +// // stringValuer wraps a ULID as a string-based driver.Valuer. +// type stringValuer ULID +// +// func (id stringValuer) Value() (driver.Value, error) { +// return ULID(id).String(), nil +// } +// +// // Example usage. +// db.Exec("...", stringValuer(id)) +func (id ULID) Value() (driver.Value, error) { + return id.MarshalBinary() +} + +// Monotonic returns an entropy source that is guaranteed to yield +// strictly increasing entropy bytes for the same ULID timestamp. +// On conflicts, the previous ULID entropy is incremented with a +// random number between 1 and `inc` (inclusive). +// +// The provided entropy source must actually yield random bytes or else +// monotonic reads are not guaranteed to terminate, since there isn't +// enough randomness to compute an increment number. +// +// When `inc == 0`, it'll be set to a secure default of `math.MaxUint32`. +// The lower the value of `inc`, the easier the next ULID within the +// same millisecond is to guess. If your code depends on ULIDs having +// secure entropy bytes, then don't go under this default unless you know +// what you're doing. +// +// The returned io.Reader isn't safe for concurrent use. +func Monotonic(entropy io.Reader, inc uint64) io.Reader { + m := monotonic{ + Reader: bufio.NewReader(entropy), + inc: inc, + } + + if m.inc == 0 { + m.inc = math.MaxUint32 + } + + if rng, ok := entropy.(*rand.Rand); ok { + m.rng = rng + } + + return &m +} + +type monotonic struct { + io.Reader + ms uint64 + inc uint64 + entropy uint80 + rand [8]byte + rng *rand.Rand +} + +func (m *monotonic) MonotonicRead(ms uint64, entropy []byte) (err error) { + if !m.entropy.IsZero() && m.ms == ms { + err = m.increment() + m.entropy.AppendTo(entropy) + } else if _, err = io.ReadFull(m.Reader, entropy); err == nil { + m.ms = ms + m.entropy.SetBytes(entropy) + } + return err +} + +// increment the previous entropy number with a random number +// of up to m.inc (inclusive). +func (m *monotonic) increment() error { + if inc, err := m.random(); err != nil { + return err + } else if m.entropy.Add(inc) { + return ErrMonotonicOverflow + } + return nil +} + +// random returns a uniform random value in [1, m.inc), reading entropy +// from m.Reader. When m.inc == 0 || m.inc == 1, it returns 1. +// Adapted from: https://golang.org/pkg/crypto/rand/#Int +func (m *monotonic) random() (inc uint64, err error) { + if m.inc <= 1 { + return 1, nil + } + + // Fast path for using a underlying rand.Rand directly. + if m.rng != nil { + // Range: [1, m.inc) + return 1 + uint64(m.rng.Int63n(int64(m.inc))), nil + } + + // bitLen is the maximum bit length needed to encode a value < m.inc. + bitLen := bits.Len64(m.inc) + + // byteLen is the maximum byte length needed to encode a value < m.inc. + byteLen := uint(bitLen+7) / 8 + + // msbitLen is the number of bits in the most significant byte of m.inc-1. + msbitLen := uint(bitLen % 8) + if msbitLen == 0 { + msbitLen = 8 + } + + for inc == 0 || inc >= m.inc { + if _, err = io.ReadFull(m.Reader, m.rand[:byteLen]); err != nil { + return 0, err + } + + // Clear bits in the first byte to increase the probability + // that the candidate is < m.inc. + m.rand[0] &= uint8(int(1< float64(math.MaxInt64) { + return emptyValue, fmt.Errorf("%g overflows int64", f64) + } + i64 = int64(f64) + case bsontype.Boolean: + b, err := vr.ReadBoolean() + if err != nil { + return emptyValue, err + } + if b { + i64 = 1 + } + case bsontype.Null: + if err = vr.ReadNull(); err != nil { + return emptyValue, err + } + case bsontype.Undefined: + if err = vr.ReadUndefined(); err != nil { + return emptyValue, err + } + default: + return emptyValue, fmt.Errorf("cannot decode %v into an integer type", vrType) + } + + switch t.Kind() { + case reflect.Int8: + if i64 < math.MinInt8 || i64 > math.MaxInt8 { + return emptyValue, fmt.Errorf("%d overflows int8", i64) + } + + return reflect.ValueOf(int8(i64)), nil + case reflect.Int16: + if i64 < math.MinInt16 || i64 > math.MaxInt16 { + return emptyValue, fmt.Errorf("%d overflows int16", i64) + } + + return reflect.ValueOf(int16(i64)), nil + case reflect.Int32: + if i64 < math.MinInt32 || i64 > math.MaxInt32 { + return emptyValue, fmt.Errorf("%d overflows int32", i64) + } + + return reflect.ValueOf(int32(i64)), nil + case reflect.Int64: + return reflect.ValueOf(i64), nil + case reflect.Int: + if i64 > math.MaxInt { // Can we fit this inside of an int + return emptyValue, fmt.Errorf("%d overflows int", i64) + } + + return reflect.ValueOf(int(i64)), nil + default: + return emptyValue, ValueDecoderError{ + Name: "IntDecodeValue", + Kinds: []reflect.Kind{reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int}, + Received: reflect.Zero(t), + } + } +} + +// IntDecodeValue is the ValueDecoderFunc for int types. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) IntDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() { + return ValueDecoderError{ + Name: "IntDecodeValue", + Kinds: []reflect.Kind{reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int}, + Received: val, + } + } + + elem, err := dvd.intDecodeType(dc, vr, val.Type()) + if err != nil { + return err + } + + val.SetInt(elem.Int()) + return nil +} + +// UintDecodeValue is the ValueDecoderFunc for uint types. +// +// Deprecated: UintDecodeValue is not registered by default. Use UintCodec.DecodeValue instead. +func (dvd DefaultValueDecoders) UintDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + var i64 int64 + var err error + switch vr.Type() { + case bsontype.Int32: + i32, err := vr.ReadInt32() + if err != nil { + return err + } + i64 = int64(i32) + case bsontype.Int64: + i64, err = vr.ReadInt64() + if err != nil { + return err + } + case bsontype.Double: + f64, err := vr.ReadDouble() + if err != nil { + return err + } + if !dc.Truncate && math.Floor(f64) != f64 { + return errors.New("UintDecodeValue can only truncate float64 to an integer type when truncation is enabled") + } + if f64 > float64(math.MaxInt64) { + return fmt.Errorf("%g overflows int64", f64) + } + i64 = int64(f64) + case bsontype.Boolean: + b, err := vr.ReadBoolean() + if err != nil { + return err + } + if b { + i64 = 1 + } + default: + return fmt.Errorf("cannot decode %v into an integer type", vr.Type()) + } + + if !val.CanSet() { + return ValueDecoderError{ + Name: "UintDecodeValue", + Kinds: []reflect.Kind{reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint}, + Received: val, + } + } + + switch val.Kind() { + case reflect.Uint8: + if i64 < 0 || i64 > math.MaxUint8 { + return fmt.Errorf("%d overflows uint8", i64) + } + case reflect.Uint16: + if i64 < 0 || i64 > math.MaxUint16 { + return fmt.Errorf("%d overflows uint16", i64) + } + case reflect.Uint32: + if i64 < 0 || i64 > math.MaxUint32 { + return fmt.Errorf("%d overflows uint32", i64) + } + case reflect.Uint64: + if i64 < 0 { + return fmt.Errorf("%d overflows uint64", i64) + } + case reflect.Uint: + if i64 < 0 || uint64(i64) > uint64(math.MaxUint) { // Can we fit this inside of an uint + return fmt.Errorf("%d overflows uint", i64) + } + default: + return ValueDecoderError{ + Name: "UintDecodeValue", + Kinds: []reflect.Kind{reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint}, + Received: val, + } + } + + val.SetUint(uint64(i64)) + return nil +} + +func (dvd DefaultValueDecoders) floatDecodeType(dc DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + var f float64 + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Int32: + i32, err := vr.ReadInt32() + if err != nil { + return emptyValue, err + } + f = float64(i32) + case bsontype.Int64: + i64, err := vr.ReadInt64() + if err != nil { + return emptyValue, err + } + f = float64(i64) + case bsontype.Double: + f, err = vr.ReadDouble() + if err != nil { + return emptyValue, err + } + case bsontype.Boolean: + b, err := vr.ReadBoolean() + if err != nil { + return emptyValue, err + } + if b { + f = 1 + } + case bsontype.Null: + if err = vr.ReadNull(); err != nil { + return emptyValue, err + } + case bsontype.Undefined: + if err = vr.ReadUndefined(); err != nil { + return emptyValue, err + } + default: + return emptyValue, fmt.Errorf("cannot decode %v into a float32 or float64 type", vrType) + } + + switch t.Kind() { + case reflect.Float32: + if !dc.Truncate && float64(float32(f)) != f { + return emptyValue, errCannotTruncate + } + + return reflect.ValueOf(float32(f)), nil + case reflect.Float64: + return reflect.ValueOf(f), nil + default: + return emptyValue, ValueDecoderError{ + Name: "FloatDecodeValue", + Kinds: []reflect.Kind{reflect.Float32, reflect.Float64}, + Received: reflect.Zero(t), + } + } +} + +// FloatDecodeValue is the ValueDecoderFunc for float types. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) FloatDecodeValue(ec DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() { + return ValueDecoderError{ + Name: "FloatDecodeValue", + Kinds: []reflect.Kind{reflect.Float32, reflect.Float64}, + Received: val, + } + } + + elem, err := dvd.floatDecodeType(ec, vr, val.Type()) + if err != nil { + return err + } + + val.SetFloat(elem.Float()) + return nil +} + +// StringDecodeValue is the ValueDecoderFunc for string types. +// +// Deprecated: StringDecodeValue is not registered by default. Use StringCodec.DecodeValue instead. +func (dvd DefaultValueDecoders) StringDecodeValue(_ DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + var str string + var err error + switch vr.Type() { + // TODO(GODRIVER-577): Handle JavaScript and Symbol BSON types when allowed. + case bsontype.String: + str, err = vr.ReadString() + if err != nil { + return err + } + default: + return fmt.Errorf("cannot decode %v into a string type", vr.Type()) + } + if !val.CanSet() || val.Kind() != reflect.String { + return ValueDecoderError{Name: "StringDecodeValue", Kinds: []reflect.Kind{reflect.String}, Received: val} + } + + val.SetString(str) + return nil +} + +func (DefaultValueDecoders) javaScriptDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tJavaScript { + return emptyValue, ValueDecoderError{ + Name: "JavaScriptDecodeValue", + Types: []reflect.Type{tJavaScript}, + Received: reflect.Zero(t), + } + } + + var js string + var err error + switch vrType := vr.Type(); vrType { + case bsontype.JavaScript: + js, err = vr.ReadJavascript() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a primitive.JavaScript", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.JavaScript(js)), nil +} + +// JavaScriptDecodeValue is the ValueDecoderFunc for the primitive.JavaScript type. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) JavaScriptDecodeValue(dctx DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tJavaScript { + return ValueDecoderError{Name: "JavaScriptDecodeValue", Types: []reflect.Type{tJavaScript}, Received: val} + } + + elem, err := dvd.javaScriptDecodeType(dctx, vr, tJavaScript) + if err != nil { + return err + } + + val.SetString(elem.String()) + return nil +} + +func (DefaultValueDecoders) symbolDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tSymbol { + return emptyValue, ValueDecoderError{ + Name: "SymbolDecodeValue", + Types: []reflect.Type{tSymbol}, + Received: reflect.Zero(t), + } + } + + var symbol string + var err error + switch vrType := vr.Type(); vrType { + case bsontype.String: + symbol, err = vr.ReadString() + case bsontype.Symbol: + symbol, err = vr.ReadSymbol() + case bsontype.Binary: + data, subtype, err := vr.ReadBinary() + if err != nil { + return emptyValue, err + } + + if subtype != bsontype.BinaryGeneric && subtype != bsontype.BinaryBinaryOld { + return emptyValue, decodeBinaryError{subtype: subtype, typeName: "primitive.Symbol"} + } + symbol = string(data) + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a primitive.Symbol", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.Symbol(symbol)), nil +} + +// SymbolDecodeValue is the ValueDecoderFunc for the primitive.Symbol type. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) SymbolDecodeValue(dctx DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tSymbol { + return ValueDecoderError{Name: "SymbolDecodeValue", Types: []reflect.Type{tSymbol}, Received: val} + } + + elem, err := dvd.symbolDecodeType(dctx, vr, tSymbol) + if err != nil { + return err + } + + val.SetString(elem.String()) + return nil +} + +func (DefaultValueDecoders) binaryDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tBinary { + return emptyValue, ValueDecoderError{ + Name: "BinaryDecodeValue", + Types: []reflect.Type{tBinary}, + Received: reflect.Zero(t), + } + } + + var data []byte + var subtype byte + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Binary: + data, subtype, err = vr.ReadBinary() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a Binary", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.Binary{Subtype: subtype, Data: data}), nil +} + +// BinaryDecodeValue is the ValueDecoderFunc for Binary. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) BinaryDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tBinary { + return ValueDecoderError{Name: "BinaryDecodeValue", Types: []reflect.Type{tBinary}, Received: val} + } + + elem, err := dvd.binaryDecodeType(dc, vr, tBinary) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (DefaultValueDecoders) undefinedDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tUndefined { + return emptyValue, ValueDecoderError{ + Name: "UndefinedDecodeValue", + Types: []reflect.Type{tUndefined}, + Received: reflect.Zero(t), + } + } + + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Undefined: + err = vr.ReadUndefined() + case bsontype.Null: + err = vr.ReadNull() + default: + return emptyValue, fmt.Errorf("cannot decode %v into an Undefined", vr.Type()) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.Undefined{}), nil +} + +// UndefinedDecodeValue is the ValueDecoderFunc for Undefined. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) UndefinedDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tUndefined { + return ValueDecoderError{Name: "UndefinedDecodeValue", Types: []reflect.Type{tUndefined}, Received: val} + } + + elem, err := dvd.undefinedDecodeType(dc, vr, tUndefined) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +// Accept both 12-byte string and pretty-printed 24-byte hex string formats. +func (dvd DefaultValueDecoders) objectIDDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tOID { + return emptyValue, ValueDecoderError{ + Name: "ObjectIDDecodeValue", + Types: []reflect.Type{tOID}, + Received: reflect.Zero(t), + } + } + + var oid primitive.ObjectID + var err error + switch vrType := vr.Type(); vrType { + case bsontype.ObjectID: + oid, err = vr.ReadObjectID() + if err != nil { + return emptyValue, err + } + case bsontype.String: + str, err := vr.ReadString() + if err != nil { + return emptyValue, err + } + if oid, err = primitive.ObjectIDFromHex(str); err == nil { + break + } + if len(str) != 12 { + return emptyValue, fmt.Errorf("an ObjectID string must be exactly 12 bytes long (got %v)", len(str)) + } + byteArr := []byte(str) + copy(oid[:], byteArr) + case bsontype.Null: + if err = vr.ReadNull(); err != nil { + return emptyValue, err + } + case bsontype.Undefined: + if err = vr.ReadUndefined(); err != nil { + return emptyValue, err + } + default: + return emptyValue, fmt.Errorf("cannot decode %v into an ObjectID", vrType) + } + + return reflect.ValueOf(oid), nil +} + +// ObjectIDDecodeValue is the ValueDecoderFunc for primitive.ObjectID. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) ObjectIDDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tOID { + return ValueDecoderError{Name: "ObjectIDDecodeValue", Types: []reflect.Type{tOID}, Received: val} + } + + elem, err := dvd.objectIDDecodeType(dc, vr, tOID) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (DefaultValueDecoders) dateTimeDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tDateTime { + return emptyValue, ValueDecoderError{ + Name: "DateTimeDecodeValue", + Types: []reflect.Type{tDateTime}, + Received: reflect.Zero(t), + } + } + + var dt int64 + var err error + switch vrType := vr.Type(); vrType { + case bsontype.DateTime: + dt, err = vr.ReadDateTime() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a DateTime", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.DateTime(dt)), nil +} + +// DateTimeDecodeValue is the ValueDecoderFunc for DateTime. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) DateTimeDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tDateTime { + return ValueDecoderError{Name: "DateTimeDecodeValue", Types: []reflect.Type{tDateTime}, Received: val} + } + + elem, err := dvd.dateTimeDecodeType(dc, vr, tDateTime) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (DefaultValueDecoders) nullDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tNull { + return emptyValue, ValueDecoderError{ + Name: "NullDecodeValue", + Types: []reflect.Type{tNull}, + Received: reflect.Zero(t), + } + } + + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Undefined: + err = vr.ReadUndefined() + case bsontype.Null: + err = vr.ReadNull() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a Null", vr.Type()) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.Null{}), nil +} + +// NullDecodeValue is the ValueDecoderFunc for Null. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) NullDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tNull { + return ValueDecoderError{Name: "NullDecodeValue", Types: []reflect.Type{tNull}, Received: val} + } + + elem, err := dvd.nullDecodeType(dc, vr, tNull) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (DefaultValueDecoders) regexDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tRegex { + return emptyValue, ValueDecoderError{ + Name: "RegexDecodeValue", + Types: []reflect.Type{tRegex}, + Received: reflect.Zero(t), + } + } + + var pattern, options string + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Regex: + pattern, options, err = vr.ReadRegex() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a Regex", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.Regex{Pattern: pattern, Options: options}), nil +} + +// RegexDecodeValue is the ValueDecoderFunc for Regex. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) RegexDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tRegex { + return ValueDecoderError{Name: "RegexDecodeValue", Types: []reflect.Type{tRegex}, Received: val} + } + + elem, err := dvd.regexDecodeType(dc, vr, tRegex) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (DefaultValueDecoders) dBPointerDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tDBPointer { + return emptyValue, ValueDecoderError{ + Name: "DBPointerDecodeValue", + Types: []reflect.Type{tDBPointer}, + Received: reflect.Zero(t), + } + } + + var ns string + var pointer primitive.ObjectID + var err error + switch vrType := vr.Type(); vrType { + case bsontype.DBPointer: + ns, pointer, err = vr.ReadDBPointer() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a DBPointer", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.DBPointer{DB: ns, Pointer: pointer}), nil +} + +// DBPointerDecodeValue is the ValueDecoderFunc for DBPointer. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) DBPointerDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tDBPointer { + return ValueDecoderError{Name: "DBPointerDecodeValue", Types: []reflect.Type{tDBPointer}, Received: val} + } + + elem, err := dvd.dBPointerDecodeType(dc, vr, tDBPointer) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (DefaultValueDecoders) timestampDecodeType(_ DecodeContext, vr bsonrw.ValueReader, reflectType reflect.Type) (reflect.Value, error) { + if reflectType != tTimestamp { + return emptyValue, ValueDecoderError{ + Name: "TimestampDecodeValue", + Types: []reflect.Type{tTimestamp}, + Received: reflect.Zero(reflectType), + } + } + + var t, incr uint32 + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Timestamp: + t, incr, err = vr.ReadTimestamp() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a Timestamp", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.Timestamp{T: t, I: incr}), nil +} + +// TimestampDecodeValue is the ValueDecoderFunc for Timestamp. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) TimestampDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tTimestamp { + return ValueDecoderError{Name: "TimestampDecodeValue", Types: []reflect.Type{tTimestamp}, Received: val} + } + + elem, err := dvd.timestampDecodeType(dc, vr, tTimestamp) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (DefaultValueDecoders) minKeyDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tMinKey { + return emptyValue, ValueDecoderError{ + Name: "MinKeyDecodeValue", + Types: []reflect.Type{tMinKey}, + Received: reflect.Zero(t), + } + } + + var err error + switch vrType := vr.Type(); vrType { + case bsontype.MinKey: + err = vr.ReadMinKey() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a MinKey", vr.Type()) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.MinKey{}), nil +} + +// MinKeyDecodeValue is the ValueDecoderFunc for MinKey. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) MinKeyDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tMinKey { + return ValueDecoderError{Name: "MinKeyDecodeValue", Types: []reflect.Type{tMinKey}, Received: val} + } + + elem, err := dvd.minKeyDecodeType(dc, vr, tMinKey) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (DefaultValueDecoders) maxKeyDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tMaxKey { + return emptyValue, ValueDecoderError{ + Name: "MaxKeyDecodeValue", + Types: []reflect.Type{tMaxKey}, + Received: reflect.Zero(t), + } + } + + var err error + switch vrType := vr.Type(); vrType { + case bsontype.MaxKey: + err = vr.ReadMaxKey() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a MaxKey", vr.Type()) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(primitive.MaxKey{}), nil +} + +// MaxKeyDecodeValue is the ValueDecoderFunc for MaxKey. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) MaxKeyDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tMaxKey { + return ValueDecoderError{Name: "MaxKeyDecodeValue", Types: []reflect.Type{tMaxKey}, Received: val} + } + + elem, err := dvd.maxKeyDecodeType(dc, vr, tMaxKey) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (dvd DefaultValueDecoders) decimal128DecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tDecimal { + return emptyValue, ValueDecoderError{ + Name: "Decimal128DecodeValue", + Types: []reflect.Type{tDecimal}, + Received: reflect.Zero(t), + } + } + + var d128 primitive.Decimal128 + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Decimal128: + d128, err = vr.ReadDecimal128() + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a primitive.Decimal128", vr.Type()) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(d128), nil +} + +// Decimal128DecodeValue is the ValueDecoderFunc for primitive.Decimal128. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) Decimal128DecodeValue(dctx DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tDecimal { + return ValueDecoderError{Name: "Decimal128DecodeValue", Types: []reflect.Type{tDecimal}, Received: val} + } + + elem, err := dvd.decimal128DecodeType(dctx, vr, tDecimal) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (dvd DefaultValueDecoders) jsonNumberDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tJSONNumber { + return emptyValue, ValueDecoderError{ + Name: "JSONNumberDecodeValue", + Types: []reflect.Type{tJSONNumber}, + Received: reflect.Zero(t), + } + } + + var jsonNum json.Number + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Double: + f64, err := vr.ReadDouble() + if err != nil { + return emptyValue, err + } + jsonNum = json.Number(strconv.FormatFloat(f64, 'f', -1, 64)) + case bsontype.Int32: + i32, err := vr.ReadInt32() + if err != nil { + return emptyValue, err + } + jsonNum = json.Number(strconv.FormatInt(int64(i32), 10)) + case bsontype.Int64: + i64, err := vr.ReadInt64() + if err != nil { + return emptyValue, err + } + jsonNum = json.Number(strconv.FormatInt(i64, 10)) + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a json.Number", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(jsonNum), nil +} + +// JSONNumberDecodeValue is the ValueDecoderFunc for json.Number. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) JSONNumberDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tJSONNumber { + return ValueDecoderError{Name: "JSONNumberDecodeValue", Types: []reflect.Type{tJSONNumber}, Received: val} + } + + elem, err := dvd.jsonNumberDecodeType(dc, vr, tJSONNumber) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (dvd DefaultValueDecoders) urlDecodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tURL { + return emptyValue, ValueDecoderError{ + Name: "URLDecodeValue", + Types: []reflect.Type{tURL}, + Received: reflect.Zero(t), + } + } + + urlPtr := &url.URL{} + var err error + switch vrType := vr.Type(); vrType { + case bsontype.String: + var str string // Declare str here to avoid shadowing err during the ReadString call. + str, err = vr.ReadString() + if err != nil { + return emptyValue, err + } + + urlPtr, err = url.Parse(str) + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a *url.URL", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(urlPtr).Elem(), nil +} + +// URLDecodeValue is the ValueDecoderFunc for url.URL. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) URLDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tURL { + return ValueDecoderError{Name: "URLDecodeValue", Types: []reflect.Type{tURL}, Received: val} + } + + elem, err := dvd.urlDecodeType(dc, vr, tURL) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +// TimeDecodeValue is the ValueDecoderFunc for time.Time. +// +// Deprecated: TimeDecodeValue is not registered by default. Use TimeCodec.DecodeValue instead. +func (dvd DefaultValueDecoders) TimeDecodeValue(_ DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if vr.Type() != bsontype.DateTime { + return fmt.Errorf("cannot decode %v into a time.Time", vr.Type()) + } + + dt, err := vr.ReadDateTime() + if err != nil { + return err + } + + if !val.CanSet() || val.Type() != tTime { + return ValueDecoderError{Name: "TimeDecodeValue", Types: []reflect.Type{tTime}, Received: val} + } + + val.Set(reflect.ValueOf(time.Unix(dt/1000, dt%1000*1000000).UTC())) + return nil +} + +// ByteSliceDecodeValue is the ValueDecoderFunc for []byte. +// +// Deprecated: ByteSliceDecodeValue is not registered by default. Use ByteSliceCodec.DecodeValue instead. +func (dvd DefaultValueDecoders) ByteSliceDecodeValue(_ DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if vr.Type() != bsontype.Binary && vr.Type() != bsontype.Null { + return fmt.Errorf("cannot decode %v into a []byte", vr.Type()) + } + + if !val.CanSet() || val.Type() != tByteSlice { + return ValueDecoderError{Name: "ByteSliceDecodeValue", Types: []reflect.Type{tByteSlice}, Received: val} + } + + if vr.Type() == bsontype.Null { + val.Set(reflect.Zero(val.Type())) + return vr.ReadNull() + } + + data, subtype, err := vr.ReadBinary() + if err != nil { + return err + } + if subtype != 0x00 { + return fmt.Errorf("ByteSliceDecodeValue can only be used to decode subtype 0x00 for %s, got %v", bsontype.Binary, subtype) + } + + val.Set(reflect.ValueOf(data)) + return nil +} + +// MapDecodeValue is the ValueDecoderFunc for map[string]* types. +// +// Deprecated: MapDecodeValue is not registered by default. Use MapCodec.DecodeValue instead. +func (dvd DefaultValueDecoders) MapDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Kind() != reflect.Map || val.Type().Key().Kind() != reflect.String { + return ValueDecoderError{Name: "MapDecodeValue", Kinds: []reflect.Kind{reflect.Map}, Received: val} + } + + switch vr.Type() { + case bsontype.Type(0), bsontype.EmbeddedDocument: + case bsontype.Null: + val.Set(reflect.Zero(val.Type())) + return vr.ReadNull() + default: + return fmt.Errorf("cannot decode %v into a %s", vr.Type(), val.Type()) + } + + dr, err := vr.ReadDocument() + if err != nil { + return err + } + + if val.IsNil() { + val.Set(reflect.MakeMap(val.Type())) + } + + eType := val.Type().Elem() + decoder, err := dc.LookupDecoder(eType) + if err != nil { + return err + } + + if eType == tEmpty { + dc.Ancestor = val.Type() + } + + keyType := val.Type().Key() + for { + key, vr, err := dr.ReadElement() + if errors.Is(err, bsonrw.ErrEOD) { + break + } + if err != nil { + return err + } + + elem := reflect.New(eType).Elem() + + err = decoder.DecodeValue(dc, vr, elem) + if err != nil { + return err + } + + val.SetMapIndex(reflect.ValueOf(key).Convert(keyType), elem) + } + return nil +} + +// ArrayDecodeValue is the ValueDecoderFunc for array types. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) ArrayDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.IsValid() || val.Kind() != reflect.Array { + return ValueDecoderError{Name: "ArrayDecodeValue", Kinds: []reflect.Kind{reflect.Array}, Received: val} + } + + switch vrType := vr.Type(); vrType { + case bsontype.Array: + case bsontype.Type(0), bsontype.EmbeddedDocument: + if val.Type().Elem() != tE { + return fmt.Errorf("cannot decode document into %s", val.Type()) + } + case bsontype.Binary: + if val.Type().Elem() != tByte { + return fmt.Errorf("ArrayDecodeValue can only be used to decode binary into a byte array, got %v", vrType) + } + data, subtype, err := vr.ReadBinary() + if err != nil { + return err + } + if subtype != bsontype.BinaryGeneric && subtype != bsontype.BinaryBinaryOld { + return fmt.Errorf("ArrayDecodeValue can only be used to decode subtype 0x00 or 0x02 for %s, got %v", bsontype.Binary, subtype) + } + + if len(data) > val.Len() { + return fmt.Errorf("more elements returned in array than can fit inside %s", val.Type()) + } + + for idx, elem := range data { + val.Index(idx).Set(reflect.ValueOf(elem)) + } + return nil + case bsontype.Null: + val.Set(reflect.Zero(val.Type())) + return vr.ReadNull() + case bsontype.Undefined: + val.Set(reflect.Zero(val.Type())) + return vr.ReadUndefined() + default: + return fmt.Errorf("cannot decode %v into an array", vrType) + } + + var elemsFunc func(DecodeContext, bsonrw.ValueReader, reflect.Value) ([]reflect.Value, error) + switch val.Type().Elem() { + case tE: + elemsFunc = dvd.decodeD + default: + elemsFunc = dvd.decodeDefault + } + + elems, err := elemsFunc(dc, vr, val) + if err != nil { + return err + } + + if len(elems) > val.Len() { + return fmt.Errorf("more elements returned in array than can fit inside %s, got %v elements", val.Type(), len(elems)) + } + + for idx, elem := range elems { + val.Index(idx).Set(elem) + } + + return nil +} + +// SliceDecodeValue is the ValueDecoderFunc for slice types. +// +// Deprecated: SliceDecodeValue is not registered by default. Use SliceCodec.DecodeValue instead. +func (dvd DefaultValueDecoders) SliceDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Kind() != reflect.Slice { + return ValueDecoderError{Name: "SliceDecodeValue", Kinds: []reflect.Kind{reflect.Slice}, Received: val} + } + + switch vr.Type() { + case bsontype.Array: + case bsontype.Null: + val.Set(reflect.Zero(val.Type())) + return vr.ReadNull() + case bsontype.Type(0), bsontype.EmbeddedDocument: + if val.Type().Elem() != tE { + return fmt.Errorf("cannot decode document into %s", val.Type()) + } + default: + return fmt.Errorf("cannot decode %v into a slice", vr.Type()) + } + + var elemsFunc func(DecodeContext, bsonrw.ValueReader, reflect.Value) ([]reflect.Value, error) + switch val.Type().Elem() { + case tE: + dc.Ancestor = val.Type() + elemsFunc = dvd.decodeD + default: + elemsFunc = dvd.decodeDefault + } + + elems, err := elemsFunc(dc, vr, val) + if err != nil { + return err + } + + if val.IsNil() { + val.Set(reflect.MakeSlice(val.Type(), 0, len(elems))) + } + + val.SetLen(0) + val.Set(reflect.Append(val, elems...)) + + return nil +} + +// ValueUnmarshalerDecodeValue is the ValueDecoderFunc for ValueUnmarshaler implementations. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) ValueUnmarshalerDecodeValue(_ DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.IsValid() || (!val.Type().Implements(tValueUnmarshaler) && !reflect.PtrTo(val.Type()).Implements(tValueUnmarshaler)) { + return ValueDecoderError{Name: "ValueUnmarshalerDecodeValue", Types: []reflect.Type{tValueUnmarshaler}, Received: val} + } + + // If BSON value is null and the go value is a pointer, then don't call + // UnmarshalBSONValue. Even if the Go pointer is already initialized (i.e., + // non-nil), encountering null in BSON will result in the pointer being + // directly set to nil here. Since the pointer is being replaced with nil, + // there is no opportunity (or reason) for the custom UnmarshalBSONValue logic + // to be called. + if vr.Type() == bsontype.Null && val.Kind() == reflect.Ptr { + val.Set(reflect.Zero(val.Type())) + + return vr.ReadNull() + } + + if val.Kind() == reflect.Ptr && val.IsNil() { + if !val.CanSet() { + return ValueDecoderError{Name: "ValueUnmarshalerDecodeValue", Types: []reflect.Type{tValueUnmarshaler}, Received: val} + } + val.Set(reflect.New(val.Type().Elem())) + } + + if !val.Type().Implements(tValueUnmarshaler) { + if !val.CanAddr() { + return ValueDecoderError{Name: "ValueUnmarshalerDecodeValue", Types: []reflect.Type{tValueUnmarshaler}, Received: val} + } + val = val.Addr() // If the type doesn't implement the interface, a pointer to it must. + } + + t, src, err := bsonrw.Copier{}.CopyValueToBytes(vr) + if err != nil { + return err + } + + m, ok := val.Interface().(ValueUnmarshaler) + if !ok { + // NB: this error should be unreachable due to the above checks + return ValueDecoderError{Name: "ValueUnmarshalerDecodeValue", Types: []reflect.Type{tValueUnmarshaler}, Received: val} + } + return m.UnmarshalBSONValue(t, src) +} + +// UnmarshalerDecodeValue is the ValueDecoderFunc for Unmarshaler implementations. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) UnmarshalerDecodeValue(_ DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.IsValid() || (!val.Type().Implements(tUnmarshaler) && !reflect.PtrTo(val.Type()).Implements(tUnmarshaler)) { + return ValueDecoderError{Name: "UnmarshalerDecodeValue", Types: []reflect.Type{tUnmarshaler}, Received: val} + } + + if val.Kind() == reflect.Ptr && val.IsNil() { + if !val.CanSet() { + return ValueDecoderError{Name: "UnmarshalerDecodeValue", Types: []reflect.Type{tUnmarshaler}, Received: val} + } + val.Set(reflect.New(val.Type().Elem())) + } + + _, src, err := bsonrw.Copier{}.CopyValueToBytes(vr) + if err != nil { + return err + } + + // If the target Go value is a pointer and the BSON field value is empty, set the value to the + // zero value of the pointer (nil) and don't call UnmarshalBSON. UnmarshalBSON has no way to + // change the pointer value from within the function (only the value at the pointer address), + // so it can't set the pointer to "nil" itself. Since the most common Go value for an empty BSON + // field value is "nil", we set "nil" here and don't call UnmarshalBSON. This behavior matches + // the behavior of the Go "encoding/json" unmarshaler when the target Go value is a pointer and + // the JSON field value is "null". + if val.Kind() == reflect.Ptr && len(src) == 0 { + val.Set(reflect.Zero(val.Type())) + return nil + } + + if !val.Type().Implements(tUnmarshaler) { + if !val.CanAddr() { + return ValueDecoderError{Name: "UnmarshalerDecodeValue", Types: []reflect.Type{tUnmarshaler}, Received: val} + } + val = val.Addr() // If the type doesn't implement the interface, a pointer to it must. + } + + m, ok := val.Interface().(Unmarshaler) + if !ok { + // NB: this error should be unreachable due to the above checks + return ValueDecoderError{Name: "UnmarshalerDecodeValue", Types: []reflect.Type{tUnmarshaler}, Received: val} + } + return m.UnmarshalBSON(src) +} + +// EmptyInterfaceDecodeValue is the ValueDecoderFunc for interface{}. +// +// Deprecated: EmptyInterfaceDecodeValue is not registered by default. Use EmptyInterfaceCodec.DecodeValue instead. +func (dvd DefaultValueDecoders) EmptyInterfaceDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tEmpty { + return ValueDecoderError{Name: "EmptyInterfaceDecodeValue", Types: []reflect.Type{tEmpty}, Received: val} + } + + rtype, err := dc.LookupTypeMapEntry(vr.Type()) + if err != nil { + switch vr.Type() { + case bsontype.EmbeddedDocument: + if dc.Ancestor != nil { + rtype = dc.Ancestor + break + } + rtype = tD + case bsontype.Null: + val.Set(reflect.Zero(val.Type())) + return vr.ReadNull() + default: + return err + } + } + + decoder, err := dc.LookupDecoder(rtype) + if err != nil { + return err + } + + elem := reflect.New(rtype).Elem() + err = decoder.DecodeValue(dc, vr, elem) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +// CoreDocumentDecodeValue is the ValueDecoderFunc for bsoncore.Document. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (DefaultValueDecoders) CoreDocumentDecodeValue(_ DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tCoreDocument { + return ValueDecoderError{Name: "CoreDocumentDecodeValue", Types: []reflect.Type{tCoreDocument}, Received: val} + } + + if val.IsNil() { + val.Set(reflect.MakeSlice(val.Type(), 0, 0)) + } + + val.SetLen(0) + + cdoc, err := bsonrw.Copier{}.AppendDocumentBytes(val.Interface().(bsoncore.Document), vr) + val.Set(reflect.ValueOf(cdoc)) + return err +} + +func (dvd DefaultValueDecoders) decodeDefault(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) ([]reflect.Value, error) { + elems := make([]reflect.Value, 0) + + ar, err := vr.ReadArray() + if err != nil { + return nil, err + } + + eType := val.Type().Elem() + + decoder, err := dc.LookupDecoder(eType) + if err != nil { + return nil, err + } + eTypeDecoder, _ := decoder.(typeDecoder) + + idx := 0 + for { + vr, err := ar.ReadValue() + if errors.Is(err, bsonrw.ErrEOA) { + break + } + if err != nil { + return nil, err + } + + elem, err := decodeTypeOrValueWithInfo(decoder, eTypeDecoder, dc, vr, eType, true) + if err != nil { + return nil, newDecodeError(strconv.Itoa(idx), err) + } + elems = append(elems, elem) + idx++ + } + + return elems, nil +} + +func (dvd DefaultValueDecoders) readCodeWithScope(dc DecodeContext, vr bsonrw.ValueReader) (primitive.CodeWithScope, error) { + var cws primitive.CodeWithScope + + code, dr, err := vr.ReadCodeWithScope() + if err != nil { + return cws, err + } + + scope := reflect.New(tD).Elem() + elems, err := dvd.decodeElemsFromDocumentReader(dc, dr) + if err != nil { + return cws, err + } + + scope.Set(reflect.MakeSlice(tD, 0, len(elems))) + scope.Set(reflect.Append(scope, elems...)) + + cws = primitive.CodeWithScope{ + Code: primitive.JavaScript(code), + Scope: scope.Interface().(primitive.D), + } + return cws, nil +} + +func (dvd DefaultValueDecoders) codeWithScopeDecodeType(dc DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tCodeWithScope { + return emptyValue, ValueDecoderError{ + Name: "CodeWithScopeDecodeValue", + Types: []reflect.Type{tCodeWithScope}, + Received: reflect.Zero(t), + } + } + + var cws primitive.CodeWithScope + var err error + switch vrType := vr.Type(); vrType { + case bsontype.CodeWithScope: + cws, err = dvd.readCodeWithScope(dc, vr) + case bsontype.Null: + err = vr.ReadNull() + case bsontype.Undefined: + err = vr.ReadUndefined() + default: + return emptyValue, fmt.Errorf("cannot decode %v into a primitive.CodeWithScope", vrType) + } + if err != nil { + return emptyValue, err + } + + return reflect.ValueOf(cws), nil +} + +// CodeWithScopeDecodeValue is the ValueDecoderFunc for CodeWithScope. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value decoders registered. +func (dvd DefaultValueDecoders) CodeWithScopeDecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tCodeWithScope { + return ValueDecoderError{Name: "CodeWithScopeDecodeValue", Types: []reflect.Type{tCodeWithScope}, Received: val} + } + + elem, err := dvd.codeWithScopeDecodeType(dc, vr, tCodeWithScope) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +func (dvd DefaultValueDecoders) decodeD(dc DecodeContext, vr bsonrw.ValueReader, _ reflect.Value) ([]reflect.Value, error) { + switch vr.Type() { + case bsontype.Type(0), bsontype.EmbeddedDocument: + default: + return nil, fmt.Errorf("cannot decode %v into a D", vr.Type()) + } + + dr, err := vr.ReadDocument() + if err != nil { + return nil, err + } + + return dvd.decodeElemsFromDocumentReader(dc, dr) +} + +func (DefaultValueDecoders) decodeElemsFromDocumentReader(dc DecodeContext, dr bsonrw.DocumentReader) ([]reflect.Value, error) { + decoder, err := dc.LookupDecoder(tEmpty) + if err != nil { + return nil, err + } + + elems := make([]reflect.Value, 0) + for { + key, vr, err := dr.ReadElement() + if errors.Is(err, bsonrw.ErrEOD) { + break + } + if err != nil { + return nil, err + } + + val := reflect.New(tEmpty).Elem() + err = decoder.DecodeValue(dc, vr, val) + if err != nil { + return nil, newDecodeError(key, err) + } + + elems = append(elems, reflect.ValueOf(primitive.E{Key: key, Value: val.Interface()})) + } + + return elems, nil +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go new file mode 100644 index 000000000..4751ae995 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go @@ -0,0 +1,856 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "encoding/json" + "errors" + "fmt" + "math" + "net/url" + "reflect" + "sync" + "time" + + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" +) + +var defaultValueEncoders DefaultValueEncoders + +var bvwPool = bsonrw.NewBSONValueWriterPool() + +var errInvalidValue = errors.New("cannot encode invalid element") + +var sliceWriterPool = sync.Pool{ + New: func() interface{} { + sw := make(bsonrw.SliceWriter, 0) + return &sw + }, +} + +func encodeElement(ec EncodeContext, dw bsonrw.DocumentWriter, e primitive.E) error { + vw, err := dw.WriteDocumentElement(e.Key) + if err != nil { + return err + } + + if e.Value == nil { + return vw.WriteNull() + } + encoder, err := ec.LookupEncoder(reflect.TypeOf(e.Value)) + if err != nil { + return err + } + + err = encoder.EncodeValue(ec, vw, reflect.ValueOf(e.Value)) + if err != nil { + return err + } + return nil +} + +// DefaultValueEncoders is a namespace type for the default ValueEncoders used +// when creating a registry. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +type DefaultValueEncoders struct{} + +// RegisterDefaultEncoders will register the encoder methods attached to DefaultValueEncoders with +// the provided RegistryBuilder. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) RegisterDefaultEncoders(rb *RegistryBuilder) { + if rb == nil { + panic(errors.New("argument to RegisterDefaultEncoders must not be nil")) + } + rb. + RegisterTypeEncoder(tByteSlice, defaultByteSliceCodec). + RegisterTypeEncoder(tTime, defaultTimeCodec). + RegisterTypeEncoder(tEmpty, defaultEmptyInterfaceCodec). + RegisterTypeEncoder(tCoreArray, defaultArrayCodec). + RegisterTypeEncoder(tOID, ValueEncoderFunc(dve.ObjectIDEncodeValue)). + RegisterTypeEncoder(tDecimal, ValueEncoderFunc(dve.Decimal128EncodeValue)). + RegisterTypeEncoder(tJSONNumber, ValueEncoderFunc(dve.JSONNumberEncodeValue)). + RegisterTypeEncoder(tURL, ValueEncoderFunc(dve.URLEncodeValue)). + RegisterTypeEncoder(tJavaScript, ValueEncoderFunc(dve.JavaScriptEncodeValue)). + RegisterTypeEncoder(tSymbol, ValueEncoderFunc(dve.SymbolEncodeValue)). + RegisterTypeEncoder(tBinary, ValueEncoderFunc(dve.BinaryEncodeValue)). + RegisterTypeEncoder(tUndefined, ValueEncoderFunc(dve.UndefinedEncodeValue)). + RegisterTypeEncoder(tDateTime, ValueEncoderFunc(dve.DateTimeEncodeValue)). + RegisterTypeEncoder(tNull, ValueEncoderFunc(dve.NullEncodeValue)). + RegisterTypeEncoder(tRegex, ValueEncoderFunc(dve.RegexEncodeValue)). + RegisterTypeEncoder(tDBPointer, ValueEncoderFunc(dve.DBPointerEncodeValue)). + RegisterTypeEncoder(tTimestamp, ValueEncoderFunc(dve.TimestampEncodeValue)). + RegisterTypeEncoder(tMinKey, ValueEncoderFunc(dve.MinKeyEncodeValue)). + RegisterTypeEncoder(tMaxKey, ValueEncoderFunc(dve.MaxKeyEncodeValue)). + RegisterTypeEncoder(tCoreDocument, ValueEncoderFunc(dve.CoreDocumentEncodeValue)). + RegisterTypeEncoder(tCodeWithScope, ValueEncoderFunc(dve.CodeWithScopeEncodeValue)). + RegisterDefaultEncoder(reflect.Bool, ValueEncoderFunc(dve.BooleanEncodeValue)). + RegisterDefaultEncoder(reflect.Int, ValueEncoderFunc(dve.IntEncodeValue)). + RegisterDefaultEncoder(reflect.Int8, ValueEncoderFunc(dve.IntEncodeValue)). + RegisterDefaultEncoder(reflect.Int16, ValueEncoderFunc(dve.IntEncodeValue)). + RegisterDefaultEncoder(reflect.Int32, ValueEncoderFunc(dve.IntEncodeValue)). + RegisterDefaultEncoder(reflect.Int64, ValueEncoderFunc(dve.IntEncodeValue)). + RegisterDefaultEncoder(reflect.Uint, defaultUIntCodec). + RegisterDefaultEncoder(reflect.Uint8, defaultUIntCodec). + RegisterDefaultEncoder(reflect.Uint16, defaultUIntCodec). + RegisterDefaultEncoder(reflect.Uint32, defaultUIntCodec). + RegisterDefaultEncoder(reflect.Uint64, defaultUIntCodec). + RegisterDefaultEncoder(reflect.Float32, ValueEncoderFunc(dve.FloatEncodeValue)). + RegisterDefaultEncoder(reflect.Float64, ValueEncoderFunc(dve.FloatEncodeValue)). + RegisterDefaultEncoder(reflect.Array, ValueEncoderFunc(dve.ArrayEncodeValue)). + RegisterDefaultEncoder(reflect.Map, defaultMapCodec). + RegisterDefaultEncoder(reflect.Slice, defaultSliceCodec). + RegisterDefaultEncoder(reflect.String, defaultStringCodec). + RegisterDefaultEncoder(reflect.Struct, newDefaultStructCodec()). + RegisterDefaultEncoder(reflect.Ptr, NewPointerCodec()). + RegisterHookEncoder(tValueMarshaler, ValueEncoderFunc(dve.ValueMarshalerEncodeValue)). + RegisterHookEncoder(tMarshaler, ValueEncoderFunc(dve.MarshalerEncodeValue)). + RegisterHookEncoder(tProxy, ValueEncoderFunc(dve.ProxyEncodeValue)) +} + +// BooleanEncodeValue is the ValueEncoderFunc for bool types. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) BooleanEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Kind() != reflect.Bool { + return ValueEncoderError{Name: "BooleanEncodeValue", Kinds: []reflect.Kind{reflect.Bool}, Received: val} + } + return vw.WriteBoolean(val.Bool()) +} + +func fitsIn32Bits(i int64) bool { + return math.MinInt32 <= i && i <= math.MaxInt32 +} + +// IntEncodeValue is the ValueEncoderFunc for int types. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) IntEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + switch val.Kind() { + case reflect.Int8, reflect.Int16, reflect.Int32: + return vw.WriteInt32(int32(val.Int())) + case reflect.Int: + i64 := val.Int() + if fitsIn32Bits(i64) { + return vw.WriteInt32(int32(i64)) + } + return vw.WriteInt64(i64) + case reflect.Int64: + i64 := val.Int() + if ec.MinSize && fitsIn32Bits(i64) { + return vw.WriteInt32(int32(i64)) + } + return vw.WriteInt64(i64) + } + + return ValueEncoderError{ + Name: "IntEncodeValue", + Kinds: []reflect.Kind{reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int}, + Received: val, + } +} + +// UintEncodeValue is the ValueEncoderFunc for uint types. +// +// Deprecated: UintEncodeValue is not registered by default. Use UintCodec.EncodeValue instead. +func (dve DefaultValueEncoders) UintEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + switch val.Kind() { + case reflect.Uint8, reflect.Uint16: + return vw.WriteInt32(int32(val.Uint())) + case reflect.Uint, reflect.Uint32, reflect.Uint64: + u64 := val.Uint() + if ec.MinSize && u64 <= math.MaxInt32 { + return vw.WriteInt32(int32(u64)) + } + if u64 > math.MaxInt64 { + return fmt.Errorf("%d overflows int64", u64) + } + return vw.WriteInt64(int64(u64)) + } + + return ValueEncoderError{ + Name: "UintEncodeValue", + Kinds: []reflect.Kind{reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint}, + Received: val, + } +} + +// FloatEncodeValue is the ValueEncoderFunc for float types. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) FloatEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + switch val.Kind() { + case reflect.Float32, reflect.Float64: + return vw.WriteDouble(val.Float()) + } + + return ValueEncoderError{Name: "FloatEncodeValue", Kinds: []reflect.Kind{reflect.Float32, reflect.Float64}, Received: val} +} + +// StringEncodeValue is the ValueEncoderFunc for string types. +// +// Deprecated: StringEncodeValue is not registered by default. Use StringCodec.EncodeValue instead. +func (dve DefaultValueEncoders) StringEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if val.Kind() != reflect.String { + return ValueEncoderError{ + Name: "StringEncodeValue", + Kinds: []reflect.Kind{reflect.String}, + Received: val, + } + } + + return vw.WriteString(val.String()) +} + +// ObjectIDEncodeValue is the ValueEncoderFunc for primitive.ObjectID. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) ObjectIDEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tOID { + return ValueEncoderError{Name: "ObjectIDEncodeValue", Types: []reflect.Type{tOID}, Received: val} + } + return vw.WriteObjectID(val.Interface().(primitive.ObjectID)) +} + +// Decimal128EncodeValue is the ValueEncoderFunc for primitive.Decimal128. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) Decimal128EncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tDecimal { + return ValueEncoderError{Name: "Decimal128EncodeValue", Types: []reflect.Type{tDecimal}, Received: val} + } + return vw.WriteDecimal128(val.Interface().(primitive.Decimal128)) +} + +// JSONNumberEncodeValue is the ValueEncoderFunc for json.Number. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) JSONNumberEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tJSONNumber { + return ValueEncoderError{Name: "JSONNumberEncodeValue", Types: []reflect.Type{tJSONNumber}, Received: val} + } + jsnum := val.Interface().(json.Number) + + // Attempt int first, then float64 + if i64, err := jsnum.Int64(); err == nil { + return dve.IntEncodeValue(ec, vw, reflect.ValueOf(i64)) + } + + f64, err := jsnum.Float64() + if err != nil { + return err + } + + return dve.FloatEncodeValue(ec, vw, reflect.ValueOf(f64)) +} + +// URLEncodeValue is the ValueEncoderFunc for url.URL. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) URLEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tURL { + return ValueEncoderError{Name: "URLEncodeValue", Types: []reflect.Type{tURL}, Received: val} + } + u := val.Interface().(url.URL) + return vw.WriteString(u.String()) +} + +// TimeEncodeValue is the ValueEncoderFunc for time.TIme. +// +// Deprecated: TimeEncodeValue is not registered by default. Use TimeCodec.EncodeValue instead. +func (dve DefaultValueEncoders) TimeEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tTime { + return ValueEncoderError{Name: "TimeEncodeValue", Types: []reflect.Type{tTime}, Received: val} + } + tt := val.Interface().(time.Time) + dt := primitive.NewDateTimeFromTime(tt) + return vw.WriteDateTime(int64(dt)) +} + +// ByteSliceEncodeValue is the ValueEncoderFunc for []byte. +// +// Deprecated: ByteSliceEncodeValue is not registered by default. Use ByteSliceCodec.EncodeValue instead. +func (dve DefaultValueEncoders) ByteSliceEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tByteSlice { + return ValueEncoderError{Name: "ByteSliceEncodeValue", Types: []reflect.Type{tByteSlice}, Received: val} + } + if val.IsNil() { + return vw.WriteNull() + } + return vw.WriteBinary(val.Interface().([]byte)) +} + +// MapEncodeValue is the ValueEncoderFunc for map[string]* types. +// +// Deprecated: MapEncodeValue is not registered by default. Use MapCodec.EncodeValue instead. +func (dve DefaultValueEncoders) MapEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Kind() != reflect.Map || val.Type().Key().Kind() != reflect.String { + return ValueEncoderError{Name: "MapEncodeValue", Kinds: []reflect.Kind{reflect.Map}, Received: val} + } + + if val.IsNil() { + // If we have a nill map but we can't WriteNull, that means we're probably trying to encode + // to a TopLevel document. We can't currently tell if this is what actually happened, but if + // there's a deeper underlying problem, the error will also be returned from WriteDocument, + // so just continue. The operations on a map reflection value are valid, so we can call + // MapKeys within mapEncodeValue without a problem. + err := vw.WriteNull() + if err == nil { + return nil + } + } + + dw, err := vw.WriteDocument() + if err != nil { + return err + } + + return dve.mapEncodeValue(ec, dw, val, nil) +} + +// mapEncodeValue handles encoding of the values of a map. The collisionFn returns +// true if the provided key exists, this is mainly used for inline maps in the +// struct codec. +func (dve DefaultValueEncoders) mapEncodeValue(ec EncodeContext, dw bsonrw.DocumentWriter, val reflect.Value, collisionFn func(string) bool) error { + + elemType := val.Type().Elem() + encoder, err := ec.LookupEncoder(elemType) + if err != nil && elemType.Kind() != reflect.Interface { + return err + } + + keys := val.MapKeys() + for _, key := range keys { + if collisionFn != nil && collisionFn(key.String()) { + return fmt.Errorf("Key %s of inlined map conflicts with a struct field name", key) + } + + currEncoder, currVal, lookupErr := dve.lookupElementEncoder(ec, encoder, val.MapIndex(key)) + if lookupErr != nil && !errors.Is(lookupErr, errInvalidValue) { + return lookupErr + } + + vw, err := dw.WriteDocumentElement(key.String()) + if err != nil { + return err + } + + if errors.Is(lookupErr, errInvalidValue) { + err = vw.WriteNull() + if err != nil { + return err + } + continue + } + + err = currEncoder.EncodeValue(ec, vw, currVal) + if err != nil { + return err + } + } + + return dw.WriteDocumentEnd() +} + +// ArrayEncodeValue is the ValueEncoderFunc for array types. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) ArrayEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Kind() != reflect.Array { + return ValueEncoderError{Name: "ArrayEncodeValue", Kinds: []reflect.Kind{reflect.Array}, Received: val} + } + + // If we have a []primitive.E we want to treat it as a document instead of as an array. + if val.Type().Elem() == tE { + dw, err := vw.WriteDocument() + if err != nil { + return err + } + + for idx := 0; idx < val.Len(); idx++ { + e := val.Index(idx).Interface().(primitive.E) + err = encodeElement(ec, dw, e) + if err != nil { + return err + } + } + + return dw.WriteDocumentEnd() + } + + // If we have a []byte we want to treat it as a binary instead of as an array. + if val.Type().Elem() == tByte { + var byteSlice []byte + for idx := 0; idx < val.Len(); idx++ { + byteSlice = append(byteSlice, val.Index(idx).Interface().(byte)) + } + return vw.WriteBinary(byteSlice) + } + + aw, err := vw.WriteArray() + if err != nil { + return err + } + + elemType := val.Type().Elem() + encoder, err := ec.LookupEncoder(elemType) + if err != nil && elemType.Kind() != reflect.Interface { + return err + } + + for idx := 0; idx < val.Len(); idx++ { + currEncoder, currVal, lookupErr := dve.lookupElementEncoder(ec, encoder, val.Index(idx)) + if lookupErr != nil && !errors.Is(lookupErr, errInvalidValue) { + return lookupErr + } + + vw, err := aw.WriteArrayElement() + if err != nil { + return err + } + + if errors.Is(lookupErr, errInvalidValue) { + err = vw.WriteNull() + if err != nil { + return err + } + continue + } + + err = currEncoder.EncodeValue(ec, vw, currVal) + if err != nil { + return err + } + } + return aw.WriteArrayEnd() +} + +// SliceEncodeValue is the ValueEncoderFunc for slice types. +// +// Deprecated: SliceEncodeValue is not registered by default. Use SliceCodec.EncodeValue instead. +func (dve DefaultValueEncoders) SliceEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Kind() != reflect.Slice { + return ValueEncoderError{Name: "SliceEncodeValue", Kinds: []reflect.Kind{reflect.Slice}, Received: val} + } + + if val.IsNil() { + return vw.WriteNull() + } + + // If we have a []primitive.E we want to treat it as a document instead of as an array. + if val.Type().ConvertibleTo(tD) { + d := val.Convert(tD).Interface().(primitive.D) + + dw, err := vw.WriteDocument() + if err != nil { + return err + } + + for _, e := range d { + err = encodeElement(ec, dw, e) + if err != nil { + return err + } + } + + return dw.WriteDocumentEnd() + } + + aw, err := vw.WriteArray() + if err != nil { + return err + } + + elemType := val.Type().Elem() + encoder, err := ec.LookupEncoder(elemType) + if err != nil && elemType.Kind() != reflect.Interface { + return err + } + + for idx := 0; idx < val.Len(); idx++ { + currEncoder, currVal, lookupErr := dve.lookupElementEncoder(ec, encoder, val.Index(idx)) + if lookupErr != nil && !errors.Is(lookupErr, errInvalidValue) { + return lookupErr + } + + vw, err := aw.WriteArrayElement() + if err != nil { + return err + } + + if errors.Is(lookupErr, errInvalidValue) { + err = vw.WriteNull() + if err != nil { + return err + } + continue + } + + err = currEncoder.EncodeValue(ec, vw, currVal) + if err != nil { + return err + } + } + return aw.WriteArrayEnd() +} + +func (dve DefaultValueEncoders) lookupElementEncoder(ec EncodeContext, origEncoder ValueEncoder, currVal reflect.Value) (ValueEncoder, reflect.Value, error) { + if origEncoder != nil || (currVal.Kind() != reflect.Interface) { + return origEncoder, currVal, nil + } + currVal = currVal.Elem() + if !currVal.IsValid() { + return nil, currVal, errInvalidValue + } + currEncoder, err := ec.LookupEncoder(currVal.Type()) + + return currEncoder, currVal, err +} + +// EmptyInterfaceEncodeValue is the ValueEncoderFunc for interface{}. +// +// Deprecated: EmptyInterfaceEncodeValue is not registered by default. Use EmptyInterfaceCodec.EncodeValue instead. +func (dve DefaultValueEncoders) EmptyInterfaceEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tEmpty { + return ValueEncoderError{Name: "EmptyInterfaceEncodeValue", Types: []reflect.Type{tEmpty}, Received: val} + } + + if val.IsNil() { + return vw.WriteNull() + } + encoder, err := ec.LookupEncoder(val.Elem().Type()) + if err != nil { + return err + } + + return encoder.EncodeValue(ec, vw, val.Elem()) +} + +// ValueMarshalerEncodeValue is the ValueEncoderFunc for ValueMarshaler implementations. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) ValueMarshalerEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + // Either val or a pointer to val must implement ValueMarshaler + switch { + case !val.IsValid(): + return ValueEncoderError{Name: "ValueMarshalerEncodeValue", Types: []reflect.Type{tValueMarshaler}, Received: val} + case val.Type().Implements(tValueMarshaler): + // If ValueMarshaler is implemented on a concrete type, make sure that val isn't a nil pointer + if isImplementationNil(val, tValueMarshaler) { + return vw.WriteNull() + } + case reflect.PtrTo(val.Type()).Implements(tValueMarshaler) && val.CanAddr(): + val = val.Addr() + default: + return ValueEncoderError{Name: "ValueMarshalerEncodeValue", Types: []reflect.Type{tValueMarshaler}, Received: val} + } + + m, ok := val.Interface().(ValueMarshaler) + if !ok { + return vw.WriteNull() + } + t, data, err := m.MarshalBSONValue() + if err != nil { + return err + } + return bsonrw.Copier{}.CopyValueFromBytes(vw, t, data) +} + +// MarshalerEncodeValue is the ValueEncoderFunc for Marshaler implementations. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) MarshalerEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + // Either val or a pointer to val must implement Marshaler + switch { + case !val.IsValid(): + return ValueEncoderError{Name: "MarshalerEncodeValue", Types: []reflect.Type{tMarshaler}, Received: val} + case val.Type().Implements(tMarshaler): + // If Marshaler is implemented on a concrete type, make sure that val isn't a nil pointer + if isImplementationNil(val, tMarshaler) { + return vw.WriteNull() + } + case reflect.PtrTo(val.Type()).Implements(tMarshaler) && val.CanAddr(): + val = val.Addr() + default: + return ValueEncoderError{Name: "MarshalerEncodeValue", Types: []reflect.Type{tMarshaler}, Received: val} + } + + m, ok := val.Interface().(Marshaler) + if !ok { + return vw.WriteNull() + } + data, err := m.MarshalBSON() + if err != nil { + return err + } + return bsonrw.Copier{}.CopyValueFromBytes(vw, bsontype.EmbeddedDocument, data) +} + +// ProxyEncodeValue is the ValueEncoderFunc for Proxy implementations. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) ProxyEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + // Either val or a pointer to val must implement Proxy + switch { + case !val.IsValid(): + return ValueEncoderError{Name: "ProxyEncodeValue", Types: []reflect.Type{tProxy}, Received: val} + case val.Type().Implements(tProxy): + // If Proxy is implemented on a concrete type, make sure that val isn't a nil pointer + if isImplementationNil(val, tProxy) { + return vw.WriteNull() + } + case reflect.PtrTo(val.Type()).Implements(tProxy) && val.CanAddr(): + val = val.Addr() + default: + return ValueEncoderError{Name: "ProxyEncodeValue", Types: []reflect.Type{tProxy}, Received: val} + } + + m, ok := val.Interface().(Proxy) + if !ok { + return vw.WriteNull() + } + v, err := m.ProxyBSON() + if err != nil { + return err + } + if v == nil { + encoder, err := ec.LookupEncoder(nil) + if err != nil { + return err + } + return encoder.EncodeValue(ec, vw, reflect.ValueOf(nil)) + } + vv := reflect.ValueOf(v) + switch vv.Kind() { + case reflect.Ptr, reflect.Interface: + vv = vv.Elem() + } + encoder, err := ec.LookupEncoder(vv.Type()) + if err != nil { + return err + } + return encoder.EncodeValue(ec, vw, vv) +} + +// JavaScriptEncodeValue is the ValueEncoderFunc for the primitive.JavaScript type. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) JavaScriptEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tJavaScript { + return ValueEncoderError{Name: "JavaScriptEncodeValue", Types: []reflect.Type{tJavaScript}, Received: val} + } + + return vw.WriteJavascript(val.String()) +} + +// SymbolEncodeValue is the ValueEncoderFunc for the primitive.Symbol type. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) SymbolEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tSymbol { + return ValueEncoderError{Name: "SymbolEncodeValue", Types: []reflect.Type{tSymbol}, Received: val} + } + + return vw.WriteSymbol(val.String()) +} + +// BinaryEncodeValue is the ValueEncoderFunc for Binary. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) BinaryEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tBinary { + return ValueEncoderError{Name: "BinaryEncodeValue", Types: []reflect.Type{tBinary}, Received: val} + } + b := val.Interface().(primitive.Binary) + + return vw.WriteBinaryWithSubtype(b.Data, b.Subtype) +} + +// UndefinedEncodeValue is the ValueEncoderFunc for Undefined. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) UndefinedEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tUndefined { + return ValueEncoderError{Name: "UndefinedEncodeValue", Types: []reflect.Type{tUndefined}, Received: val} + } + + return vw.WriteUndefined() +} + +// DateTimeEncodeValue is the ValueEncoderFunc for DateTime. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) DateTimeEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tDateTime { + return ValueEncoderError{Name: "DateTimeEncodeValue", Types: []reflect.Type{tDateTime}, Received: val} + } + + return vw.WriteDateTime(val.Int()) +} + +// NullEncodeValue is the ValueEncoderFunc for Null. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) NullEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tNull { + return ValueEncoderError{Name: "NullEncodeValue", Types: []reflect.Type{tNull}, Received: val} + } + + return vw.WriteNull() +} + +// RegexEncodeValue is the ValueEncoderFunc for Regex. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) RegexEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tRegex { + return ValueEncoderError{Name: "RegexEncodeValue", Types: []reflect.Type{tRegex}, Received: val} + } + + regex := val.Interface().(primitive.Regex) + + return vw.WriteRegex(regex.Pattern, regex.Options) +} + +// DBPointerEncodeValue is the ValueEncoderFunc for DBPointer. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) DBPointerEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tDBPointer { + return ValueEncoderError{Name: "DBPointerEncodeValue", Types: []reflect.Type{tDBPointer}, Received: val} + } + + dbp := val.Interface().(primitive.DBPointer) + + return vw.WriteDBPointer(dbp.DB, dbp.Pointer) +} + +// TimestampEncodeValue is the ValueEncoderFunc for Timestamp. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) TimestampEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tTimestamp { + return ValueEncoderError{Name: "TimestampEncodeValue", Types: []reflect.Type{tTimestamp}, Received: val} + } + + ts := val.Interface().(primitive.Timestamp) + + return vw.WriteTimestamp(ts.T, ts.I) +} + +// MinKeyEncodeValue is the ValueEncoderFunc for MinKey. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) MinKeyEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tMinKey { + return ValueEncoderError{Name: "MinKeyEncodeValue", Types: []reflect.Type{tMinKey}, Received: val} + } + + return vw.WriteMinKey() +} + +// MaxKeyEncodeValue is the ValueEncoderFunc for MaxKey. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) MaxKeyEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tMaxKey { + return ValueEncoderError{Name: "MaxKeyEncodeValue", Types: []reflect.Type{tMaxKey}, Received: val} + } + + return vw.WriteMaxKey() +} + +// CoreDocumentEncodeValue is the ValueEncoderFunc for bsoncore.Document. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (DefaultValueEncoders) CoreDocumentEncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tCoreDocument { + return ValueEncoderError{Name: "CoreDocumentEncodeValue", Types: []reflect.Type{tCoreDocument}, Received: val} + } + + cdoc := val.Interface().(bsoncore.Document) + + return bsonrw.Copier{}.CopyDocumentFromBytes(vw, cdoc) +} + +// CodeWithScopeEncodeValue is the ValueEncoderFunc for CodeWithScope. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.NewRegistry] to get a registry with all default +// value encoders registered. +func (dve DefaultValueEncoders) CodeWithScopeEncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tCodeWithScope { + return ValueEncoderError{Name: "CodeWithScopeEncodeValue", Types: []reflect.Type{tCodeWithScope}, Received: val} + } + + cws := val.Interface().(primitive.CodeWithScope) + + dw, err := vw.WriteCodeWithScope(string(cws.Code)) + if err != nil { + return err + } + + sw := sliceWriterPool.Get().(*bsonrw.SliceWriter) + defer sliceWriterPool.Put(sw) + *sw = (*sw)[:0] + + scopeVW := bvwPool.Get(sw) + defer bvwPool.Put(scopeVW) + + encoder, err := ec.LookupEncoder(reflect.TypeOf(cws.Scope)) + if err != nil { + return err + } + + err = encoder.EncodeValue(ec, scopeVW, reflect.ValueOf(cws.Scope)) + if err != nil { + return err + } + + err = bsonrw.Copier{}.CopyBytesToDocumentWriter(dw, *sw) + if err != nil { + return err + } + return dw.WriteDocumentEnd() +} + +// isImplementationNil returns if val is a nil pointer and inter is implemented on a concrete type +func isImplementationNil(val reflect.Value, inter reflect.Type) bool { + vt := val.Type() + for vt.Kind() == reflect.Ptr { + vt = vt.Elem() + } + return vt.Implements(inter) && val.Kind() == reflect.Ptr && val.IsNil() +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go new file mode 100644 index 000000000..4613e5a1e --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go @@ -0,0 +1,95 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +// Package bsoncodec provides a system for encoding values to BSON representations and decoding +// values from BSON representations. This package considers both binary BSON and ExtendedJSON as +// BSON representations. The types in this package enable a flexible system for handling this +// encoding and decoding. +// +// The codec system is composed of two parts: +// +// 1) ValueEncoders and ValueDecoders that handle encoding and decoding Go values to and from BSON +// representations. +// +// 2) A Registry that holds these ValueEncoders and ValueDecoders and provides methods for +// retrieving them. +// +// # ValueEncoders and ValueDecoders +// +// The ValueEncoder interface is implemented by types that can encode a provided Go type to BSON. +// The value to encode is provided as a reflect.Value and a bsonrw.ValueWriter is used within the +// EncodeValue method to actually create the BSON representation. For convenience, ValueEncoderFunc +// is provided to allow use of a function with the correct signature as a ValueEncoder. An +// EncodeContext instance is provided to allow implementations to lookup further ValueEncoders and +// to provide configuration information. +// +// The ValueDecoder interface is the inverse of the ValueEncoder. Implementations should ensure that +// the value they receive is settable. Similar to ValueEncoderFunc, ValueDecoderFunc is provided to +// allow the use of a function with the correct signature as a ValueDecoder. A DecodeContext +// instance is provided and serves similar functionality to the EncodeContext. +// +// # Registry +// +// A Registry is a store for ValueEncoders, ValueDecoders, and a type map. See the Registry type +// documentation for examples of registering various custom encoders and decoders. A Registry can +// have three main types of codecs: +// +// 1. Type encoders/decoders - These can be registered using the RegisterTypeEncoder and +// RegisterTypeDecoder methods. The registered codec will be invoked when encoding/decoding a value +// whose type matches the registered type exactly. +// If the registered type is an interface, the codec will be invoked when encoding or decoding +// values whose type is the interface, but not for values with concrete types that implement the +// interface. +// +// 2. Hook encoders/decoders - These can be registered using the RegisterHookEncoder and +// RegisterHookDecoder methods. These methods only accept interface types and the registered codecs +// will be invoked when encoding or decoding values whose types implement the interface. An example +// of a hook defined by the driver is bson.Marshaler. The driver will call the MarshalBSON method +// for any value whose type implements bson.Marshaler, regardless of the value's concrete type. +// +// 3. Type map entries - This can be used to associate a BSON type with a Go type. These type +// associations are used when decoding into a bson.D/bson.M or a struct field of type interface{}. +// For example, by default, BSON int32 and int64 values decode as Go int32 and int64 instances, +// respectively, when decoding into a bson.D. The following code would change the behavior so these +// values decode as Go int instances instead: +// +// intType := reflect.TypeOf(int(0)) +// registry.RegisterTypeMapEntry(bsontype.Int32, intType).RegisterTypeMapEntry(bsontype.Int64, intType) +// +// 4. Kind encoder/decoders - These can be registered using the RegisterDefaultEncoder and +// RegisterDefaultDecoder methods. The registered codec will be invoked when encoding or decoding +// values whose reflect.Kind matches the registered reflect.Kind as long as the value's type doesn't +// match a registered type or hook encoder/decoder first. These methods should be used to change the +// behavior for all values for a specific kind. +// +// # Registry Lookup Procedure +// +// When looking up an encoder in a Registry, the precedence rules are as follows: +// +// 1. A type encoder registered for the exact type of the value. +// +// 2. A hook encoder registered for an interface that is implemented by the value or by a pointer to +// the value. If the value matches multiple hooks (e.g. the type implements bsoncodec.Marshaler and +// bsoncodec.ValueMarshaler), the first one registered will be selected. Note that registries +// constructed using bson.NewRegistry have driver-defined hooks registered for the +// bsoncodec.Marshaler, bsoncodec.ValueMarshaler, and bsoncodec.Proxy interfaces, so those will take +// precedence over any new hooks. +// +// 3. A kind encoder registered for the value's kind. +// +// If all of these lookups fail to find an encoder, an error of type ErrNoEncoder is returned. The +// same precedence rules apply for decoders, with the exception that an error of type ErrNoDecoder +// will be returned if no decoder is found. +// +// # DefaultValueEncoders and DefaultValueDecoders +// +// The DefaultValueEncoders and DefaultValueDecoders types provide a full set of ValueEncoders and +// ValueDecoders for handling a wide range of Go types, including all of the types within the +// primitive package. To make registering these codecs easier, a helper method on each type is +// provided. For the DefaultValueEncoders type the method is called RegisterDefaultEncoders and for +// the DefaultValueDecoders type the method is called RegisterDefaultDecoders, this method also +// handles registering type map entries for each BSON type. +package bsoncodec diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go new file mode 100644 index 000000000..098368f07 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go @@ -0,0 +1,173 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "reflect" + + "go.mongodb.org/mongo-driver/bson/bsonoptions" + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" + "go.mongodb.org/mongo-driver/bson/primitive" +) + +// EmptyInterfaceCodec is the Codec used for interface{} values. +// +// Deprecated: EmptyInterfaceCodec will not be directly configurable in Go +// Driver 2.0. To configure the empty interface encode and decode behavior, use +// the configuration methods on a [go.mongodb.org/mongo-driver/bson.Encoder] or +// [go.mongodb.org/mongo-driver/bson.Decoder]. To configure the empty interface +// encode and decode behavior for a mongo.Client, use +// [go.mongodb.org/mongo-driver/mongo/options.ClientOptions.SetBSONOptions]. +// +// For example, to configure a mongo.Client to unmarshal BSON binary field +// values as a Go byte slice, use: +// +// opt := options.Client().SetBSONOptions(&options.BSONOptions{ +// BinaryAsSlice: true, +// }) +// +// See the deprecation notice for each field in EmptyInterfaceCodec for the +// corresponding settings. +type EmptyInterfaceCodec struct { + // DecodeBinaryAsSlice causes DecodeValue to unmarshal BSON binary field values that are the + // "Generic" or "Old" BSON binary subtype as a Go byte slice instead of a primitive.Binary. + // + // Deprecated: Use bson.Decoder.BinaryAsSlice or options.BSONOptions.BinaryAsSlice instead. + DecodeBinaryAsSlice bool +} + +var ( + defaultEmptyInterfaceCodec = NewEmptyInterfaceCodec() + + // Assert that defaultEmptyInterfaceCodec satisfies the typeDecoder interface, which allows it + // to be used by collection type decoders (e.g. map, slice, etc) to set individual values in a + // collection. + _ typeDecoder = defaultEmptyInterfaceCodec +) + +// NewEmptyInterfaceCodec returns a EmptyInterfaceCodec with options opts. +// +// Deprecated: NewEmptyInterfaceCodec will not be available in Go Driver 2.0. See +// [EmptyInterfaceCodec] for more details. +func NewEmptyInterfaceCodec(opts ...*bsonoptions.EmptyInterfaceCodecOptions) *EmptyInterfaceCodec { + interfaceOpt := bsonoptions.MergeEmptyInterfaceCodecOptions(opts...) + + codec := EmptyInterfaceCodec{} + if interfaceOpt.DecodeBinaryAsSlice != nil { + codec.DecodeBinaryAsSlice = *interfaceOpt.DecodeBinaryAsSlice + } + return &codec +} + +// EncodeValue is the ValueEncoderFunc for interface{}. +func (eic EmptyInterfaceCodec) EncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tEmpty { + return ValueEncoderError{Name: "EmptyInterfaceEncodeValue", Types: []reflect.Type{tEmpty}, Received: val} + } + + if val.IsNil() { + return vw.WriteNull() + } + encoder, err := ec.LookupEncoder(val.Elem().Type()) + if err != nil { + return err + } + + return encoder.EncodeValue(ec, vw, val.Elem()) +} + +func (eic EmptyInterfaceCodec) getEmptyInterfaceDecodeType(dc DecodeContext, valueType bsontype.Type) (reflect.Type, error) { + isDocument := valueType == bsontype.Type(0) || valueType == bsontype.EmbeddedDocument + if isDocument { + if dc.defaultDocumentType != nil { + // If the bsontype is an embedded document and the DocumentType is set on the DecodeContext, then return + // that type. + return dc.defaultDocumentType, nil + } + if dc.Ancestor != nil { + // Using ancestor information rather than looking up the type map entry forces consistent decoding. + // If we're decoding into a bson.D, subdocuments should also be decoded as bson.D, even if a type map entry + // has been registered. + return dc.Ancestor, nil + } + } + + rtype, err := dc.LookupTypeMapEntry(valueType) + if err == nil { + return rtype, nil + } + + if isDocument { + // For documents, fallback to looking up a type map entry for bsontype.Type(0) or bsontype.EmbeddedDocument, + // depending on the original valueType. + var lookupType bsontype.Type + switch valueType { + case bsontype.Type(0): + lookupType = bsontype.EmbeddedDocument + case bsontype.EmbeddedDocument: + lookupType = bsontype.Type(0) + } + + rtype, err = dc.LookupTypeMapEntry(lookupType) + if err == nil { + return rtype, nil + } + } + + return nil, err +} + +func (eic EmptyInterfaceCodec) decodeType(dc DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tEmpty { + return emptyValue, ValueDecoderError{Name: "EmptyInterfaceDecodeValue", Types: []reflect.Type{tEmpty}, Received: reflect.Zero(t)} + } + + rtype, err := eic.getEmptyInterfaceDecodeType(dc, vr.Type()) + if err != nil { + switch vr.Type() { + case bsontype.Null: + return reflect.Zero(t), vr.ReadNull() + default: + return emptyValue, err + } + } + + decoder, err := dc.LookupDecoder(rtype) + if err != nil { + return emptyValue, err + } + + elem, err := decodeTypeOrValue(decoder, dc, vr, rtype) + if err != nil { + return emptyValue, err + } + + if (eic.DecodeBinaryAsSlice || dc.binaryAsSlice) && rtype == tBinary { + binElem := elem.Interface().(primitive.Binary) + if binElem.Subtype == bsontype.BinaryGeneric || binElem.Subtype == bsontype.BinaryBinaryOld { + elem = reflect.ValueOf(binElem.Data) + } + } + + return elem, nil +} + +// DecodeValue is the ValueDecoderFunc for interface{}. +func (eic EmptyInterfaceCodec) DecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tEmpty { + return ValueDecoderError{Name: "EmptyInterfaceDecodeValue", Types: []reflect.Type{tEmpty}, Received: val} + } + + elem, err := eic.decodeType(dc, vr, val.Type()) + if err != nil { + return err + } + + val.Set(elem) + return nil +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go new file mode 100644 index 000000000..d7e00ffa8 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go @@ -0,0 +1,343 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "encoding" + "errors" + "fmt" + "reflect" + "strconv" + + "go.mongodb.org/mongo-driver/bson/bsonoptions" + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" +) + +var defaultMapCodec = NewMapCodec() + +// MapCodec is the Codec used for map values. +// +// Deprecated: MapCodec will not be directly configurable in Go Driver 2.0. To +// configure the map encode and decode behavior, use the configuration methods +// on a [go.mongodb.org/mongo-driver/bson.Encoder] or +// [go.mongodb.org/mongo-driver/bson.Decoder]. To configure the map encode and +// decode behavior for a mongo.Client, use +// [go.mongodb.org/mongo-driver/mongo/options.ClientOptions.SetBSONOptions]. +// +// For example, to configure a mongo.Client to marshal nil Go maps as empty BSON +// documents, use: +// +// opt := options.Client().SetBSONOptions(&options.BSONOptions{ +// NilMapAsEmpty: true, +// }) +// +// See the deprecation notice for each field in MapCodec for the corresponding +// settings. +type MapCodec struct { + // DecodeZerosMap causes DecodeValue to delete any existing values from Go maps in the destination + // value passed to Decode before unmarshaling BSON documents into them. + // + // Deprecated: Use bson.Decoder.ZeroMaps or options.BSONOptions.ZeroMaps instead. + DecodeZerosMap bool + + // EncodeNilAsEmpty causes EncodeValue to marshal nil Go maps as empty BSON documents instead of + // BSON null. + // + // Deprecated: Use bson.Encoder.NilMapAsEmpty or options.BSONOptions.NilMapAsEmpty instead. + EncodeNilAsEmpty bool + + // EncodeKeysWithStringer causes the Encoder to convert Go map keys to BSON document field name + // strings using fmt.Sprintf() instead of the default string conversion logic. + // + // Deprecated: Use bson.Encoder.StringifyMapKeysWithFmt or + // options.BSONOptions.StringifyMapKeysWithFmt instead. + EncodeKeysWithStringer bool +} + +// KeyMarshaler is the interface implemented by an object that can marshal itself into a string key. +// This applies to types used as map keys and is similar to encoding.TextMarshaler. +type KeyMarshaler interface { + MarshalKey() (key string, err error) +} + +// KeyUnmarshaler is the interface implemented by an object that can unmarshal a string representation +// of itself. This applies to types used as map keys and is similar to encoding.TextUnmarshaler. +// +// UnmarshalKey must be able to decode the form generated by MarshalKey. +// UnmarshalKey must copy the text if it wishes to retain the text +// after returning. +type KeyUnmarshaler interface { + UnmarshalKey(key string) error +} + +// NewMapCodec returns a MapCodec with options opts. +// +// Deprecated: NewMapCodec will not be available in Go Driver 2.0. See +// [MapCodec] for more details. +func NewMapCodec(opts ...*bsonoptions.MapCodecOptions) *MapCodec { + mapOpt := bsonoptions.MergeMapCodecOptions(opts...) + + codec := MapCodec{} + if mapOpt.DecodeZerosMap != nil { + codec.DecodeZerosMap = *mapOpt.DecodeZerosMap + } + if mapOpt.EncodeNilAsEmpty != nil { + codec.EncodeNilAsEmpty = *mapOpt.EncodeNilAsEmpty + } + if mapOpt.EncodeKeysWithStringer != nil { + codec.EncodeKeysWithStringer = *mapOpt.EncodeKeysWithStringer + } + return &codec +} + +// EncodeValue is the ValueEncoder for map[*]* types. +func (mc *MapCodec) EncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Kind() != reflect.Map { + return ValueEncoderError{Name: "MapEncodeValue", Kinds: []reflect.Kind{reflect.Map}, Received: val} + } + + if val.IsNil() && !mc.EncodeNilAsEmpty && !ec.nilMapAsEmpty { + // If we have a nil map but we can't WriteNull, that means we're probably trying to encode + // to a TopLevel document. We can't currently tell if this is what actually happened, but if + // there's a deeper underlying problem, the error will also be returned from WriteDocument, + // so just continue. The operations on a map reflection value are valid, so we can call + // MapKeys within mapEncodeValue without a problem. + err := vw.WriteNull() + if err == nil { + return nil + } + } + + dw, err := vw.WriteDocument() + if err != nil { + return err + } + + return mc.mapEncodeValue(ec, dw, val, nil) +} + +// mapEncodeValue handles encoding of the values of a map. The collisionFn returns +// true if the provided key exists, this is mainly used for inline maps in the +// struct codec. +func (mc *MapCodec) mapEncodeValue(ec EncodeContext, dw bsonrw.DocumentWriter, val reflect.Value, collisionFn func(string) bool) error { + + elemType := val.Type().Elem() + encoder, err := ec.LookupEncoder(elemType) + if err != nil && elemType.Kind() != reflect.Interface { + return err + } + + keys := val.MapKeys() + for _, key := range keys { + keyStr, err := mc.encodeKey(key, ec.stringifyMapKeysWithFmt) + if err != nil { + return err + } + + if collisionFn != nil && collisionFn(keyStr) { + return fmt.Errorf("Key %s of inlined map conflicts with a struct field name", key) + } + + currEncoder, currVal, lookupErr := defaultValueEncoders.lookupElementEncoder(ec, encoder, val.MapIndex(key)) + if lookupErr != nil && !errors.Is(lookupErr, errInvalidValue) { + return lookupErr + } + + vw, err := dw.WriteDocumentElement(keyStr) + if err != nil { + return err + } + + if errors.Is(lookupErr, errInvalidValue) { + err = vw.WriteNull() + if err != nil { + return err + } + continue + } + + err = currEncoder.EncodeValue(ec, vw, currVal) + if err != nil { + return err + } + } + + return dw.WriteDocumentEnd() +} + +// DecodeValue is the ValueDecoder for map[string/decimal]* types. +func (mc *MapCodec) DecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if val.Kind() != reflect.Map || (!val.CanSet() && val.IsNil()) { + return ValueDecoderError{Name: "MapDecodeValue", Kinds: []reflect.Kind{reflect.Map}, Received: val} + } + + switch vrType := vr.Type(); vrType { + case bsontype.Type(0), bsontype.EmbeddedDocument: + case bsontype.Null: + val.Set(reflect.Zero(val.Type())) + return vr.ReadNull() + case bsontype.Undefined: + val.Set(reflect.Zero(val.Type())) + return vr.ReadUndefined() + default: + return fmt.Errorf("cannot decode %v into a %s", vrType, val.Type()) + } + + dr, err := vr.ReadDocument() + if err != nil { + return err + } + + if val.IsNil() { + val.Set(reflect.MakeMap(val.Type())) + } + + if val.Len() > 0 && (mc.DecodeZerosMap || dc.zeroMaps) { + clearMap(val) + } + + eType := val.Type().Elem() + decoder, err := dc.LookupDecoder(eType) + if err != nil { + return err + } + eTypeDecoder, _ := decoder.(typeDecoder) + + if eType == tEmpty { + dc.Ancestor = val.Type() + } + + keyType := val.Type().Key() + + for { + key, vr, err := dr.ReadElement() + if errors.Is(err, bsonrw.ErrEOD) { + break + } + if err != nil { + return err + } + + k, err := mc.decodeKey(key, keyType) + if err != nil { + return err + } + + elem, err := decodeTypeOrValueWithInfo(decoder, eTypeDecoder, dc, vr, eType, true) + if err != nil { + return newDecodeError(key, err) + } + + val.SetMapIndex(k, elem) + } + return nil +} + +func clearMap(m reflect.Value) { + var none reflect.Value + for _, k := range m.MapKeys() { + m.SetMapIndex(k, none) + } +} + +func (mc *MapCodec) encodeKey(val reflect.Value, encodeKeysWithStringer bool) (string, error) { + if mc.EncodeKeysWithStringer || encodeKeysWithStringer { + return fmt.Sprint(val), nil + } + + // keys of any string type are used directly + if val.Kind() == reflect.String { + return val.String(), nil + } + // KeyMarshalers are marshaled + if km, ok := val.Interface().(KeyMarshaler); ok { + if val.Kind() == reflect.Ptr && val.IsNil() { + return "", nil + } + buf, err := km.MarshalKey() + if err == nil { + return buf, nil + } + return "", err + } + // keys implement encoding.TextMarshaler are marshaled. + if km, ok := val.Interface().(encoding.TextMarshaler); ok { + if val.Kind() == reflect.Ptr && val.IsNil() { + return "", nil + } + + buf, err := km.MarshalText() + if err != nil { + return "", err + } + + return string(buf), nil + } + + switch val.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return strconv.FormatInt(val.Int(), 10), nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return strconv.FormatUint(val.Uint(), 10), nil + } + return "", fmt.Errorf("unsupported key type: %v", val.Type()) +} + +var keyUnmarshalerType = reflect.TypeOf((*KeyUnmarshaler)(nil)).Elem() +var textUnmarshalerType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem() + +func (mc *MapCodec) decodeKey(key string, keyType reflect.Type) (reflect.Value, error) { + keyVal := reflect.ValueOf(key) + var err error + switch { + // First, if EncodeKeysWithStringer is not enabled, try to decode withKeyUnmarshaler + case !mc.EncodeKeysWithStringer && reflect.PtrTo(keyType).Implements(keyUnmarshalerType): + keyVal = reflect.New(keyType) + v := keyVal.Interface().(KeyUnmarshaler) + err = v.UnmarshalKey(key) + keyVal = keyVal.Elem() + // Try to decode encoding.TextUnmarshalers. + case reflect.PtrTo(keyType).Implements(textUnmarshalerType): + keyVal = reflect.New(keyType) + v := keyVal.Interface().(encoding.TextUnmarshaler) + err = v.UnmarshalText([]byte(key)) + keyVal = keyVal.Elem() + // Otherwise, go to type specific behavior + default: + switch keyType.Kind() { + case reflect.String: + keyVal = reflect.ValueOf(key).Convert(keyType) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + n, parseErr := strconv.ParseInt(key, 10, 64) + if parseErr != nil || reflect.Zero(keyType).OverflowInt(n) { + err = fmt.Errorf("failed to unmarshal number key %v", key) + } + keyVal = reflect.ValueOf(n).Convert(keyType) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + n, parseErr := strconv.ParseUint(key, 10, 64) + if parseErr != nil || reflect.Zero(keyType).OverflowUint(n) { + err = fmt.Errorf("failed to unmarshal number key %v", key) + break + } + keyVal = reflect.ValueOf(n).Convert(keyType) + case reflect.Float32, reflect.Float64: + if mc.EncodeKeysWithStringer { + parsed, err := strconv.ParseFloat(key, 64) + if err != nil { + return keyVal, fmt.Errorf("Map key is defined to be a decimal type (%v) but got error %w", keyType.Kind(), err) + } + keyVal = reflect.ValueOf(parsed) + break + } + fallthrough + default: + return keyVal, fmt.Errorf("unsupported key type: %v", keyType) + } + } + return keyVal, err +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/mode.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/mode.go new file mode 100644 index 000000000..fbd9f0a9e --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/mode.go @@ -0,0 +1,65 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import "fmt" + +type mode int + +const ( + _ mode = iota + mTopLevel + mDocument + mArray + mValue + mElement + mCodeWithScope + mSpacer +) + +func (m mode) String() string { + var str string + + switch m { + case mTopLevel: + str = "TopLevel" + case mDocument: + str = "DocumentMode" + case mArray: + str = "ArrayMode" + case mValue: + str = "ValueMode" + case mElement: + str = "ElementMode" + case mCodeWithScope: + str = "CodeWithScopeMode" + case mSpacer: + str = "CodeWithScopeSpacerFrame" + default: + str = "UnknownMode" + } + + return str +} + +// TransitionError is an error returned when an invalid progressing a +// ValueReader or ValueWriter state machine occurs. +type TransitionError struct { + parent mode + current mode + destination mode +} + +func (te TransitionError) Error() string { + if te.destination == mode(0) { + return fmt.Sprintf("invalid state transition: cannot read/write value while in %s", te.current) + } + if te.parent == mode(0) { + return fmt.Sprintf("invalid state transition: %s -> %s", te.current, te.destination) + } + return fmt.Sprintf("invalid state transition: %s -> %s; parent %s", te.current, te.destination, te.parent) +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/pointer_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/pointer_codec.go new file mode 100644 index 000000000..ddfa4a33e --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/pointer_codec.go @@ -0,0 +1,108 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "reflect" + + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" +) + +var _ ValueEncoder = &PointerCodec{} +var _ ValueDecoder = &PointerCodec{} + +// PointerCodec is the Codec used for pointers. +// +// Deprecated: PointerCodec will not be directly accessible in Go Driver 2.0. To +// override the default pointer encode and decode behavior, create a new registry +// with [go.mongodb.org/mongo-driver/bson.NewRegistry] and register a new +// encoder and decoder for pointers. +// +// For example, +// +// reg := bson.NewRegistry() +// reg.RegisterKindEncoder(reflect.Ptr, myPointerEncoder) +// reg.RegisterKindDecoder(reflect.Ptr, myPointerDecoder) +type PointerCodec struct { + ecache typeEncoderCache + dcache typeDecoderCache +} + +// NewPointerCodec returns a PointerCodec that has been initialized. +// +// Deprecated: NewPointerCodec will not be available in Go Driver 2.0. See +// [PointerCodec] for more details. +func NewPointerCodec() *PointerCodec { + return &PointerCodec{} +} + +// EncodeValue handles encoding a pointer by either encoding it to BSON Null if the pointer is nil +// or looking up an encoder for the type of value the pointer points to. +func (pc *PointerCodec) EncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if val.Kind() != reflect.Ptr { + if !val.IsValid() { + return vw.WriteNull() + } + return ValueEncoderError{Name: "PointerCodec.EncodeValue", Kinds: []reflect.Kind{reflect.Ptr}, Received: val} + } + + if val.IsNil() { + return vw.WriteNull() + } + + typ := val.Type() + if v, ok := pc.ecache.Load(typ); ok { + if v == nil { + return ErrNoEncoder{Type: typ} + } + return v.EncodeValue(ec, vw, val.Elem()) + } + // TODO(charlie): handle concurrent requests for the same type + enc, err := ec.LookupEncoder(typ.Elem()) + enc = pc.ecache.LoadOrStore(typ, enc) + if err != nil { + return err + } + return enc.EncodeValue(ec, vw, val.Elem()) +} + +// DecodeValue handles decoding a pointer by looking up a decoder for the type it points to and +// using that to decode. If the BSON value is Null, this method will set the pointer to nil. +func (pc *PointerCodec) DecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Kind() != reflect.Ptr { + return ValueDecoderError{Name: "PointerCodec.DecodeValue", Kinds: []reflect.Kind{reflect.Ptr}, Received: val} + } + + typ := val.Type() + if vr.Type() == bsontype.Null { + val.Set(reflect.Zero(typ)) + return vr.ReadNull() + } + if vr.Type() == bsontype.Undefined { + val.Set(reflect.Zero(typ)) + return vr.ReadUndefined() + } + + if val.IsNil() { + val.Set(reflect.New(typ.Elem())) + } + + if v, ok := pc.dcache.Load(typ); ok { + if v == nil { + return ErrNoDecoder{Type: typ} + } + return v.DecodeValue(dc, vr, val.Elem()) + } + // TODO(charlie): handle concurrent requests for the same type + dec, err := dc.LookupDecoder(typ.Elem()) + dec = pc.dcache.LoadOrStore(typ, dec) + if err != nil { + return err + } + return dec.DecodeValue(dc, vr, val.Elem()) +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/proxy.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/proxy.go new file mode 100644 index 000000000..4cf2b01ab --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/proxy.go @@ -0,0 +1,14 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +// Proxy is an interface implemented by types that cannot themselves be directly encoded. Types +// that implement this interface with have ProxyBSON called during the encoding process and that +// value will be encoded in place for the implementer. +type Proxy interface { + ProxyBSON() (interface{}, error) +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go new file mode 100644 index 000000000..196c491bb --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go @@ -0,0 +1,524 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "errors" + "fmt" + "reflect" + "sync" + + "go.mongodb.org/mongo-driver/bson/bsontype" +) + +// ErrNilType is returned when nil is passed to either LookupEncoder or LookupDecoder. +// +// Deprecated: ErrNilType will not be supported in Go Driver 2.0. +var ErrNilType = errors.New("cannot perform a decoder lookup on ") + +// ErrNotPointer is returned when a non-pointer type is provided to LookupDecoder. +// +// Deprecated: ErrNotPointer will not be supported in Go Driver 2.0. +var ErrNotPointer = errors.New("non-pointer provided to LookupDecoder") + +// ErrNoEncoder is returned when there wasn't an encoder available for a type. +// +// Deprecated: ErrNoEncoder will not be supported in Go Driver 2.0. +type ErrNoEncoder struct { + Type reflect.Type +} + +func (ene ErrNoEncoder) Error() string { + if ene.Type == nil { + return "no encoder found for " + } + return "no encoder found for " + ene.Type.String() +} + +// ErrNoDecoder is returned when there wasn't a decoder available for a type. +// +// Deprecated: ErrNoDecoder will not be supported in Go Driver 2.0. +type ErrNoDecoder struct { + Type reflect.Type +} + +func (end ErrNoDecoder) Error() string { + return "no decoder found for " + end.Type.String() +} + +// ErrNoTypeMapEntry is returned when there wasn't a type available for the provided BSON type. +// +// Deprecated: ErrNoTypeMapEntry will not be supported in Go Driver 2.0. +type ErrNoTypeMapEntry struct { + Type bsontype.Type +} + +func (entme ErrNoTypeMapEntry) Error() string { + return "no type map entry found for " + entme.Type.String() +} + +// ErrNotInterface is returned when the provided type is not an interface. +// +// Deprecated: ErrNotInterface will not be supported in Go Driver 2.0. +var ErrNotInterface = errors.New("The provided type is not an interface") + +// A RegistryBuilder is used to build a Registry. This type is not goroutine +// safe. +// +// Deprecated: Use Registry instead. +type RegistryBuilder struct { + registry *Registry +} + +// NewRegistryBuilder creates a new empty RegistryBuilder. +// +// Deprecated: Use NewRegistry instead. +func NewRegistryBuilder() *RegistryBuilder { + return &RegistryBuilder{ + registry: NewRegistry(), + } +} + +// RegisterCodec will register the provided ValueCodec for the provided type. +// +// Deprecated: Use Registry.RegisterTypeEncoder and Registry.RegisterTypeDecoder instead. +func (rb *RegistryBuilder) RegisterCodec(t reflect.Type, codec ValueCodec) *RegistryBuilder { + rb.RegisterTypeEncoder(t, codec) + rb.RegisterTypeDecoder(t, codec) + return rb +} + +// RegisterTypeEncoder will register the provided ValueEncoder for the provided type. +// +// The type will be used directly, so an encoder can be registered for a type and a different encoder can be registered +// for a pointer to that type. +// +// If the given type is an interface, the encoder will be called when marshaling a type that is that interface. It +// will not be called when marshaling a non-interface type that implements the interface. +// +// Deprecated: Use Registry.RegisterTypeEncoder instead. +func (rb *RegistryBuilder) RegisterTypeEncoder(t reflect.Type, enc ValueEncoder) *RegistryBuilder { + rb.registry.RegisterTypeEncoder(t, enc) + return rb +} + +// RegisterHookEncoder will register an encoder for the provided interface type t. This encoder will be called when +// marshaling a type if the type implements t or a pointer to the type implements t. If the provided type is not +// an interface (i.e. t.Kind() != reflect.Interface), this method will panic. +// +// Deprecated: Use Registry.RegisterInterfaceEncoder instead. +func (rb *RegistryBuilder) RegisterHookEncoder(t reflect.Type, enc ValueEncoder) *RegistryBuilder { + rb.registry.RegisterInterfaceEncoder(t, enc) + return rb +} + +// RegisterTypeDecoder will register the provided ValueDecoder for the provided type. +// +// The type will be used directly, so a decoder can be registered for a type and a different decoder can be registered +// for a pointer to that type. +// +// If the given type is an interface, the decoder will be called when unmarshaling into a type that is that interface. +// It will not be called when unmarshaling into a non-interface type that implements the interface. +// +// Deprecated: Use Registry.RegisterTypeDecoder instead. +func (rb *RegistryBuilder) RegisterTypeDecoder(t reflect.Type, dec ValueDecoder) *RegistryBuilder { + rb.registry.RegisterTypeDecoder(t, dec) + return rb +} + +// RegisterHookDecoder will register an decoder for the provided interface type t. This decoder will be called when +// unmarshaling into a type if the type implements t or a pointer to the type implements t. If the provided type is not +// an interface (i.e. t.Kind() != reflect.Interface), this method will panic. +// +// Deprecated: Use Registry.RegisterInterfaceDecoder instead. +func (rb *RegistryBuilder) RegisterHookDecoder(t reflect.Type, dec ValueDecoder) *RegistryBuilder { + rb.registry.RegisterInterfaceDecoder(t, dec) + return rb +} + +// RegisterEncoder registers the provided type and encoder pair. +// +// Deprecated: Use Registry.RegisterTypeEncoder or Registry.RegisterInterfaceEncoder instead. +func (rb *RegistryBuilder) RegisterEncoder(t reflect.Type, enc ValueEncoder) *RegistryBuilder { + if t == tEmpty { + rb.registry.RegisterTypeEncoder(t, enc) + return rb + } + switch t.Kind() { + case reflect.Interface: + rb.registry.RegisterInterfaceEncoder(t, enc) + default: + rb.registry.RegisterTypeEncoder(t, enc) + } + return rb +} + +// RegisterDecoder registers the provided type and decoder pair. +// +// Deprecated: Use Registry.RegisterTypeDecoder or Registry.RegisterInterfaceDecoder instead. +func (rb *RegistryBuilder) RegisterDecoder(t reflect.Type, dec ValueDecoder) *RegistryBuilder { + if t == nil { + rb.registry.RegisterTypeDecoder(t, dec) + return rb + } + if t == tEmpty { + rb.registry.RegisterTypeDecoder(t, dec) + return rb + } + switch t.Kind() { + case reflect.Interface: + rb.registry.RegisterInterfaceDecoder(t, dec) + default: + rb.registry.RegisterTypeDecoder(t, dec) + } + return rb +} + +// RegisterDefaultEncoder will register the provided ValueEncoder to the provided +// kind. +// +// Deprecated: Use Registry.RegisterKindEncoder instead. +func (rb *RegistryBuilder) RegisterDefaultEncoder(kind reflect.Kind, enc ValueEncoder) *RegistryBuilder { + rb.registry.RegisterKindEncoder(kind, enc) + return rb +} + +// RegisterDefaultDecoder will register the provided ValueDecoder to the +// provided kind. +// +// Deprecated: Use Registry.RegisterKindDecoder instead. +func (rb *RegistryBuilder) RegisterDefaultDecoder(kind reflect.Kind, dec ValueDecoder) *RegistryBuilder { + rb.registry.RegisterKindDecoder(kind, dec) + return rb +} + +// RegisterTypeMapEntry will register the provided type to the BSON type. The primary usage for this +// mapping is decoding situations where an empty interface is used and a default type needs to be +// created and decoded into. +// +// By default, BSON documents will decode into interface{} values as bson.D. To change the default type for BSON +// documents, a type map entry for bsontype.EmbeddedDocument should be registered. For example, to force BSON documents +// to decode to bson.Raw, use the following code: +// +// rb.RegisterTypeMapEntry(bsontype.EmbeddedDocument, reflect.TypeOf(bson.Raw{})) +// +// Deprecated: Use Registry.RegisterTypeMapEntry instead. +func (rb *RegistryBuilder) RegisterTypeMapEntry(bt bsontype.Type, rt reflect.Type) *RegistryBuilder { + rb.registry.RegisterTypeMapEntry(bt, rt) + return rb +} + +// Build creates a Registry from the current state of this RegistryBuilder. +// +// Deprecated: Use NewRegistry instead. +func (rb *RegistryBuilder) Build() *Registry { + r := &Registry{ + interfaceEncoders: append([]interfaceValueEncoder(nil), rb.registry.interfaceEncoders...), + interfaceDecoders: append([]interfaceValueDecoder(nil), rb.registry.interfaceDecoders...), + typeEncoders: rb.registry.typeEncoders.Clone(), + typeDecoders: rb.registry.typeDecoders.Clone(), + kindEncoders: rb.registry.kindEncoders.Clone(), + kindDecoders: rb.registry.kindDecoders.Clone(), + } + rb.registry.typeMap.Range(func(k, v interface{}) bool { + if k != nil && v != nil { + r.typeMap.Store(k, v) + } + return true + }) + return r +} + +// A Registry is used to store and retrieve codecs for types and interfaces. This type is the main +// typed passed around and Encoders and Decoders are constructed from it. +type Registry struct { + interfaceEncoders []interfaceValueEncoder + interfaceDecoders []interfaceValueDecoder + typeEncoders *typeEncoderCache + typeDecoders *typeDecoderCache + kindEncoders *kindEncoderCache + kindDecoders *kindDecoderCache + typeMap sync.Map // map[bsontype.Type]reflect.Type +} + +// NewRegistry creates a new empty Registry. +func NewRegistry() *Registry { + return &Registry{ + typeEncoders: new(typeEncoderCache), + typeDecoders: new(typeDecoderCache), + kindEncoders: new(kindEncoderCache), + kindDecoders: new(kindDecoderCache), + } +} + +// RegisterTypeEncoder registers the provided ValueEncoder for the provided type. +// +// The type will be used as provided, so an encoder can be registered for a type and a different +// encoder can be registered for a pointer to that type. +// +// If the given type is an interface, the encoder will be called when marshaling a type that is +// that interface. It will not be called when marshaling a non-interface type that implements the +// interface. To get the latter behavior, call RegisterHookEncoder instead. +// +// RegisterTypeEncoder should not be called concurrently with any other Registry method. +func (r *Registry) RegisterTypeEncoder(valueType reflect.Type, enc ValueEncoder) { + r.typeEncoders.Store(valueType, enc) +} + +// RegisterTypeDecoder registers the provided ValueDecoder for the provided type. +// +// The type will be used as provided, so a decoder can be registered for a type and a different +// decoder can be registered for a pointer to that type. +// +// If the given type is an interface, the decoder will be called when unmarshaling into a type that +// is that interface. It will not be called when unmarshaling into a non-interface type that +// implements the interface. To get the latter behavior, call RegisterHookDecoder instead. +// +// RegisterTypeDecoder should not be called concurrently with any other Registry method. +func (r *Registry) RegisterTypeDecoder(valueType reflect.Type, dec ValueDecoder) { + r.typeDecoders.Store(valueType, dec) +} + +// RegisterKindEncoder registers the provided ValueEncoder for the provided kind. +// +// Use RegisterKindEncoder to register an encoder for any type with the same underlying kind. For +// example, consider the type MyInt defined as +// +// type MyInt int32 +// +// To define an encoder for MyInt and int32, use RegisterKindEncoder like +// +// reg.RegisterKindEncoder(reflect.Int32, myEncoder) +// +// RegisterKindEncoder should not be called concurrently with any other Registry method. +func (r *Registry) RegisterKindEncoder(kind reflect.Kind, enc ValueEncoder) { + r.kindEncoders.Store(kind, enc) +} + +// RegisterKindDecoder registers the provided ValueDecoder for the provided kind. +// +// Use RegisterKindDecoder to register a decoder for any type with the same underlying kind. For +// example, consider the type MyInt defined as +// +// type MyInt int32 +// +// To define an decoder for MyInt and int32, use RegisterKindDecoder like +// +// reg.RegisterKindDecoder(reflect.Int32, myDecoder) +// +// RegisterKindDecoder should not be called concurrently with any other Registry method. +func (r *Registry) RegisterKindDecoder(kind reflect.Kind, dec ValueDecoder) { + r.kindDecoders.Store(kind, dec) +} + +// RegisterInterfaceEncoder registers an encoder for the provided interface type iface. This encoder will +// be called when marshaling a type if the type implements iface or a pointer to the type +// implements iface. If the provided type is not an interface +// (i.e. iface.Kind() != reflect.Interface), this method will panic. +// +// RegisterInterfaceEncoder should not be called concurrently with any other Registry method. +func (r *Registry) RegisterInterfaceEncoder(iface reflect.Type, enc ValueEncoder) { + if iface.Kind() != reflect.Interface { + panicStr := fmt.Errorf("RegisterInterfaceEncoder expects a type with kind reflect.Interface, "+ + "got type %s with kind %s", iface, iface.Kind()) + panic(panicStr) + } + + for idx, encoder := range r.interfaceEncoders { + if encoder.i == iface { + r.interfaceEncoders[idx].ve = enc + return + } + } + + r.interfaceEncoders = append(r.interfaceEncoders, interfaceValueEncoder{i: iface, ve: enc}) +} + +// RegisterInterfaceDecoder registers an decoder for the provided interface type iface. This decoder will +// be called when unmarshaling into a type if the type implements iface or a pointer to the type +// implements iface. If the provided type is not an interface (i.e. iface.Kind() != reflect.Interface), +// this method will panic. +// +// RegisterInterfaceDecoder should not be called concurrently with any other Registry method. +func (r *Registry) RegisterInterfaceDecoder(iface reflect.Type, dec ValueDecoder) { + if iface.Kind() != reflect.Interface { + panicStr := fmt.Errorf("RegisterInterfaceDecoder expects a type with kind reflect.Interface, "+ + "got type %s with kind %s", iface, iface.Kind()) + panic(panicStr) + } + + for idx, decoder := range r.interfaceDecoders { + if decoder.i == iface { + r.interfaceDecoders[idx].vd = dec + return + } + } + + r.interfaceDecoders = append(r.interfaceDecoders, interfaceValueDecoder{i: iface, vd: dec}) +} + +// RegisterTypeMapEntry will register the provided type to the BSON type. The primary usage for this +// mapping is decoding situations where an empty interface is used and a default type needs to be +// created and decoded into. +// +// By default, BSON documents will decode into interface{} values as bson.D. To change the default type for BSON +// documents, a type map entry for bsontype.EmbeddedDocument should be registered. For example, to force BSON documents +// to decode to bson.Raw, use the following code: +// +// reg.RegisterTypeMapEntry(bsontype.EmbeddedDocument, reflect.TypeOf(bson.Raw{})) +func (r *Registry) RegisterTypeMapEntry(bt bsontype.Type, rt reflect.Type) { + r.typeMap.Store(bt, rt) +} + +// LookupEncoder returns the first matching encoder in the Registry. It uses the following lookup +// order: +// +// 1. An encoder registered for the exact type. If the given type is an interface, an encoder +// registered using RegisterTypeEncoder for that interface will be selected. +// +// 2. An encoder registered using RegisterInterfaceEncoder for an interface implemented by the type +// or by a pointer to the type. +// +// 3. An encoder registered using RegisterKindEncoder for the kind of value. +// +// If no encoder is found, an error of type ErrNoEncoder is returned. LookupEncoder is safe for +// concurrent use by multiple goroutines after all codecs and encoders are registered. +func (r *Registry) LookupEncoder(valueType reflect.Type) (ValueEncoder, error) { + if valueType == nil { + return nil, ErrNoEncoder{Type: valueType} + } + enc, found := r.lookupTypeEncoder(valueType) + if found { + if enc == nil { + return nil, ErrNoEncoder{Type: valueType} + } + return enc, nil + } + + enc, found = r.lookupInterfaceEncoder(valueType, true) + if found { + return r.typeEncoders.LoadOrStore(valueType, enc), nil + } + + if v, ok := r.kindEncoders.Load(valueType.Kind()); ok { + return r.storeTypeEncoder(valueType, v), nil + } + return nil, ErrNoEncoder{Type: valueType} +} + +func (r *Registry) storeTypeEncoder(rt reflect.Type, enc ValueEncoder) ValueEncoder { + return r.typeEncoders.LoadOrStore(rt, enc) +} + +func (r *Registry) lookupTypeEncoder(rt reflect.Type) (ValueEncoder, bool) { + return r.typeEncoders.Load(rt) +} + +func (r *Registry) lookupInterfaceEncoder(valueType reflect.Type, allowAddr bool) (ValueEncoder, bool) { + if valueType == nil { + return nil, false + } + for _, ienc := range r.interfaceEncoders { + if valueType.Implements(ienc.i) { + return ienc.ve, true + } + if allowAddr && valueType.Kind() != reflect.Ptr && reflect.PtrTo(valueType).Implements(ienc.i) { + // if *t implements an interface, this will catch if t implements an interface further + // ahead in interfaceEncoders + defaultEnc, found := r.lookupInterfaceEncoder(valueType, false) + if !found { + defaultEnc, _ = r.kindEncoders.Load(valueType.Kind()) + } + return newCondAddrEncoder(ienc.ve, defaultEnc), true + } + } + return nil, false +} + +// LookupDecoder returns the first matching decoder in the Registry. It uses the following lookup +// order: +// +// 1. A decoder registered for the exact type. If the given type is an interface, a decoder +// registered using RegisterTypeDecoder for that interface will be selected. +// +// 2. A decoder registered using RegisterInterfaceDecoder for an interface implemented by the type or by +// a pointer to the type. +// +// 3. A decoder registered using RegisterKindDecoder for the kind of value. +// +// If no decoder is found, an error of type ErrNoDecoder is returned. LookupDecoder is safe for +// concurrent use by multiple goroutines after all codecs and decoders are registered. +func (r *Registry) LookupDecoder(valueType reflect.Type) (ValueDecoder, error) { + if valueType == nil { + return nil, ErrNilType + } + dec, found := r.lookupTypeDecoder(valueType) + if found { + if dec == nil { + return nil, ErrNoDecoder{Type: valueType} + } + return dec, nil + } + + dec, found = r.lookupInterfaceDecoder(valueType, true) + if found { + return r.storeTypeDecoder(valueType, dec), nil + } + + if v, ok := r.kindDecoders.Load(valueType.Kind()); ok { + return r.storeTypeDecoder(valueType, v), nil + } + return nil, ErrNoDecoder{Type: valueType} +} + +func (r *Registry) lookupTypeDecoder(valueType reflect.Type) (ValueDecoder, bool) { + return r.typeDecoders.Load(valueType) +} + +func (r *Registry) storeTypeDecoder(typ reflect.Type, dec ValueDecoder) ValueDecoder { + return r.typeDecoders.LoadOrStore(typ, dec) +} + +func (r *Registry) lookupInterfaceDecoder(valueType reflect.Type, allowAddr bool) (ValueDecoder, bool) { + for _, idec := range r.interfaceDecoders { + if valueType.Implements(idec.i) { + return idec.vd, true + } + if allowAddr && valueType.Kind() != reflect.Ptr && reflect.PtrTo(valueType).Implements(idec.i) { + // if *t implements an interface, this will catch if t implements an interface further + // ahead in interfaceDecoders + defaultDec, found := r.lookupInterfaceDecoder(valueType, false) + if !found { + defaultDec, _ = r.kindDecoders.Load(valueType.Kind()) + } + return newCondAddrDecoder(idec.vd, defaultDec), true + } + } + return nil, false +} + +// LookupTypeMapEntry inspects the registry's type map for a Go type for the corresponding BSON +// type. If no type is found, ErrNoTypeMapEntry is returned. +// +// LookupTypeMapEntry should not be called concurrently with any other Registry method. +func (r *Registry) LookupTypeMapEntry(bt bsontype.Type) (reflect.Type, error) { + v, ok := r.typeMap.Load(bt) + if v == nil || !ok { + return nil, ErrNoTypeMapEntry{Type: bt} + } + return v.(reflect.Type), nil +} + +type interfaceValueEncoder struct { + i reflect.Type + ve ValueEncoder +} + +type interfaceValueDecoder struct { + i reflect.Type + vd ValueDecoder +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/slice_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/slice_codec.go new file mode 100644 index 000000000..14c9fd256 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/slice_codec.go @@ -0,0 +1,214 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "errors" + "fmt" + "reflect" + + "go.mongodb.org/mongo-driver/bson/bsonoptions" + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" + "go.mongodb.org/mongo-driver/bson/primitive" +) + +var defaultSliceCodec = NewSliceCodec() + +// SliceCodec is the Codec used for slice values. +// +// Deprecated: SliceCodec will not be directly configurable in Go Driver 2.0. To +// configure the slice encode and decode behavior, use the configuration methods +// on a [go.mongodb.org/mongo-driver/bson.Encoder] or +// [go.mongodb.org/mongo-driver/bson.Decoder]. To configure the slice encode and +// decode behavior for a mongo.Client, use +// [go.mongodb.org/mongo-driver/mongo/options.ClientOptions.SetBSONOptions]. +// +// For example, to configure a mongo.Client to marshal nil Go slices as empty +// BSON arrays, use: +// +// opt := options.Client().SetBSONOptions(&options.BSONOptions{ +// NilSliceAsEmpty: true, +// }) +// +// See the deprecation notice for each field in SliceCodec for the corresponding +// settings. +type SliceCodec struct { + // EncodeNilAsEmpty causes EncodeValue to marshal nil Go slices as empty BSON arrays instead of + // BSON null. + // + // Deprecated: Use bson.Encoder.NilSliceAsEmpty instead. + EncodeNilAsEmpty bool +} + +// NewSliceCodec returns a MapCodec with options opts. +// +// Deprecated: NewSliceCodec will not be available in Go Driver 2.0. See +// [SliceCodec] for more details. +func NewSliceCodec(opts ...*bsonoptions.SliceCodecOptions) *SliceCodec { + sliceOpt := bsonoptions.MergeSliceCodecOptions(opts...) + + codec := SliceCodec{} + if sliceOpt.EncodeNilAsEmpty != nil { + codec.EncodeNilAsEmpty = *sliceOpt.EncodeNilAsEmpty + } + return &codec +} + +// EncodeValue is the ValueEncoder for slice types. +func (sc SliceCodec) EncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Kind() != reflect.Slice { + return ValueEncoderError{Name: "SliceEncodeValue", Kinds: []reflect.Kind{reflect.Slice}, Received: val} + } + + if val.IsNil() && !sc.EncodeNilAsEmpty && !ec.nilSliceAsEmpty { + return vw.WriteNull() + } + + // If we have a []byte we want to treat it as a binary instead of as an array. + if val.Type().Elem() == tByte { + byteSlice := make([]byte, val.Len()) + reflect.Copy(reflect.ValueOf(byteSlice), val) + return vw.WriteBinary(byteSlice) + } + + // If we have a []primitive.E we want to treat it as a document instead of as an array. + if val.Type() == tD || val.Type().ConvertibleTo(tD) { + d := val.Convert(tD).Interface().(primitive.D) + + dw, err := vw.WriteDocument() + if err != nil { + return err + } + + for _, e := range d { + err = encodeElement(ec, dw, e) + if err != nil { + return err + } + } + + return dw.WriteDocumentEnd() + } + + aw, err := vw.WriteArray() + if err != nil { + return err + } + + elemType := val.Type().Elem() + encoder, err := ec.LookupEncoder(elemType) + if err != nil && elemType.Kind() != reflect.Interface { + return err + } + + for idx := 0; idx < val.Len(); idx++ { + currEncoder, currVal, lookupErr := defaultValueEncoders.lookupElementEncoder(ec, encoder, val.Index(idx)) + if lookupErr != nil && !errors.Is(lookupErr, errInvalidValue) { + return lookupErr + } + + vw, err := aw.WriteArrayElement() + if err != nil { + return err + } + + if errors.Is(lookupErr, errInvalidValue) { + err = vw.WriteNull() + if err != nil { + return err + } + continue + } + + err = currEncoder.EncodeValue(ec, vw, currVal) + if err != nil { + return err + } + } + return aw.WriteArrayEnd() +} + +// DecodeValue is the ValueDecoder for slice types. +func (sc *SliceCodec) DecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Kind() != reflect.Slice { + return ValueDecoderError{Name: "SliceDecodeValue", Kinds: []reflect.Kind{reflect.Slice}, Received: val} + } + + switch vrType := vr.Type(); vrType { + case bsontype.Array: + case bsontype.Null: + val.Set(reflect.Zero(val.Type())) + return vr.ReadNull() + case bsontype.Undefined: + val.Set(reflect.Zero(val.Type())) + return vr.ReadUndefined() + case bsontype.Type(0), bsontype.EmbeddedDocument: + if val.Type().Elem() != tE { + return fmt.Errorf("cannot decode document into %s", val.Type()) + } + case bsontype.Binary: + if val.Type().Elem() != tByte { + return fmt.Errorf("SliceDecodeValue can only decode a binary into a byte array, got %v", vrType) + } + data, subtype, err := vr.ReadBinary() + if err != nil { + return err + } + if subtype != bsontype.BinaryGeneric && subtype != bsontype.BinaryBinaryOld { + return fmt.Errorf("SliceDecodeValue can only be used to decode subtype 0x00 or 0x02 for %s, got %v", bsontype.Binary, subtype) + } + + if val.IsNil() { + val.Set(reflect.MakeSlice(val.Type(), 0, len(data))) + } + val.SetLen(0) + val.Set(reflect.AppendSlice(val, reflect.ValueOf(data))) + return nil + case bsontype.String: + if sliceType := val.Type().Elem(); sliceType != tByte { + return fmt.Errorf("SliceDecodeValue can only decode a string into a byte array, got %v", sliceType) + } + str, err := vr.ReadString() + if err != nil { + return err + } + byteStr := []byte(str) + + if val.IsNil() { + val.Set(reflect.MakeSlice(val.Type(), 0, len(byteStr))) + } + val.SetLen(0) + val.Set(reflect.AppendSlice(val, reflect.ValueOf(byteStr))) + return nil + default: + return fmt.Errorf("cannot decode %v into a slice", vrType) + } + + var elemsFunc func(DecodeContext, bsonrw.ValueReader, reflect.Value) ([]reflect.Value, error) + switch val.Type().Elem() { + case tE: + dc.Ancestor = val.Type() + elemsFunc = defaultValueDecoders.decodeD + default: + elemsFunc = defaultValueDecoders.decodeDefault + } + + elems, err := elemsFunc(dc, vr, val) + if err != nil { + return err + } + + if val.IsNil() { + val.Set(reflect.MakeSlice(val.Type(), 0, len(elems))) + } + + val.SetLen(0) + val.Set(reflect.Append(val, elems...)) + + return nil +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go new file mode 100644 index 000000000..a8f885a85 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go @@ -0,0 +1,140 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "fmt" + "reflect" + + "go.mongodb.org/mongo-driver/bson/bsonoptions" + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" +) + +// StringCodec is the Codec used for string values. +// +// Deprecated: StringCodec will not be directly accessible in Go Driver 2.0. To +// override the default string encode and decode behavior, create a new registry +// with [go.mongodb.org/mongo-driver/bson.NewRegistry] and register a new +// encoder and decoder for strings. +// +// For example, +// +// reg := bson.NewRegistry() +// reg.RegisterKindEncoder(reflect.String, myStringEncoder) +// reg.RegisterKindDecoder(reflect.String, myStringDecoder) +type StringCodec struct { + // DecodeObjectIDAsHex specifies if object IDs should be decoded as their hex representation. + // If false, a string made from the raw object ID bytes will be used. Defaults to true. + // + // Deprecated: Decoding object IDs as raw bytes will not be supported in Go Driver 2.0. + DecodeObjectIDAsHex bool +} + +var ( + defaultStringCodec = NewStringCodec() + + // Assert that defaultStringCodec satisfies the typeDecoder interface, which allows it to be + // used by collection type decoders (e.g. map, slice, etc) to set individual values in a + // collection. + _ typeDecoder = defaultStringCodec +) + +// NewStringCodec returns a StringCodec with options opts. +// +// Deprecated: NewStringCodec will not be available in Go Driver 2.0. See +// [StringCodec] for more details. +func NewStringCodec(opts ...*bsonoptions.StringCodecOptions) *StringCodec { + stringOpt := bsonoptions.MergeStringCodecOptions(opts...) + return &StringCodec{*stringOpt.DecodeObjectIDAsHex} +} + +// EncodeValue is the ValueEncoder for string types. +func (sc *StringCodec) EncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if val.Kind() != reflect.String { + return ValueEncoderError{ + Name: "StringEncodeValue", + Kinds: []reflect.Kind{reflect.String}, + Received: val, + } + } + + return vw.WriteString(val.String()) +} + +func (sc *StringCodec) decodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t.Kind() != reflect.String { + return emptyValue, ValueDecoderError{ + Name: "StringDecodeValue", + Kinds: []reflect.Kind{reflect.String}, + Received: reflect.Zero(t), + } + } + + var str string + var err error + switch vr.Type() { + case bsontype.String: + str, err = vr.ReadString() + if err != nil { + return emptyValue, err + } + case bsontype.ObjectID: + oid, err := vr.ReadObjectID() + if err != nil { + return emptyValue, err + } + if sc.DecodeObjectIDAsHex { + str = oid.Hex() + } else { + // TODO(GODRIVER-2796): Return an error here instead of decoding to a garbled string. + byteArray := [12]byte(oid) + str = string(byteArray[:]) + } + case bsontype.Symbol: + str, err = vr.ReadSymbol() + if err != nil { + return emptyValue, err + } + case bsontype.Binary: + data, subtype, err := vr.ReadBinary() + if err != nil { + return emptyValue, err + } + if subtype != bsontype.BinaryGeneric && subtype != bsontype.BinaryBinaryOld { + return emptyValue, decodeBinaryError{subtype: subtype, typeName: "string"} + } + str = string(data) + case bsontype.Null: + if err = vr.ReadNull(); err != nil { + return emptyValue, err + } + case bsontype.Undefined: + if err = vr.ReadUndefined(); err != nil { + return emptyValue, err + } + default: + return emptyValue, fmt.Errorf("cannot decode %v into a string type", vr.Type()) + } + + return reflect.ValueOf(str), nil +} + +// DecodeValue is the ValueDecoder for string types. +func (sc *StringCodec) DecodeValue(dctx DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Kind() != reflect.String { + return ValueDecoderError{Name: "StringDecodeValue", Kinds: []reflect.Kind{reflect.String}, Received: val} + } + + elem, err := sc.decodeType(dctx, vr, val.Type()) + if err != nil { + return err + } + + val.SetString(elem.String()) + return nil +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go new file mode 100644 index 000000000..f8d9690c1 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go @@ -0,0 +1,736 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "errors" + "fmt" + "reflect" + "sort" + "strings" + "sync" + "time" + + "go.mongodb.org/mongo-driver/bson/bsonoptions" + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" +) + +// DecodeError represents an error that occurs when unmarshalling BSON bytes into a native Go type. +type DecodeError struct { + keys []string + wrapped error +} + +// Unwrap returns the underlying error +func (de *DecodeError) Unwrap() error { + return de.wrapped +} + +// Error implements the error interface. +func (de *DecodeError) Error() string { + // The keys are stored in reverse order because the de.keys slice is builtup while propagating the error up the + // stack of BSON keys, so we call de.Keys(), which reverses them. + keyPath := strings.Join(de.Keys(), ".") + return fmt.Sprintf("error decoding key %s: %v", keyPath, de.wrapped) +} + +// Keys returns the BSON key path that caused an error as a slice of strings. The keys in the slice are in top-down +// order. For example, if the document being unmarshalled was {a: {b: {c: 1}}} and the value for c was supposed to be +// a string, the keys slice will be ["a", "b", "c"]. +func (de *DecodeError) Keys() []string { + reversedKeys := make([]string, 0, len(de.keys)) + for idx := len(de.keys) - 1; idx >= 0; idx-- { + reversedKeys = append(reversedKeys, de.keys[idx]) + } + + return reversedKeys +} + +// Zeroer allows custom struct types to implement a report of zero +// state. All struct types that don't implement Zeroer or where IsZero +// returns false are considered to be not zero. +type Zeroer interface { + IsZero() bool +} + +// StructCodec is the Codec used for struct values. +// +// Deprecated: StructCodec will not be directly configurable in Go Driver 2.0. +// To configure the struct encode and decode behavior, use the configuration +// methods on a [go.mongodb.org/mongo-driver/bson.Encoder] or +// [go.mongodb.org/mongo-driver/bson.Decoder]. To configure the struct encode +// and decode behavior for a mongo.Client, use +// [go.mongodb.org/mongo-driver/mongo/options.ClientOptions.SetBSONOptions]. +// +// For example, to configure a mongo.Client to omit zero-value structs when +// using the "omitempty" struct tag, use: +// +// opt := options.Client().SetBSONOptions(&options.BSONOptions{ +// OmitZeroStruct: true, +// }) +// +// See the deprecation notice for each field in StructCodec for the corresponding +// settings. +type StructCodec struct { + cache sync.Map // map[reflect.Type]*structDescription + parser StructTagParser + + // DecodeZeroStruct causes DecodeValue to delete any existing values from Go structs in the + // destination value passed to Decode before unmarshaling BSON documents into them. + // + // Deprecated: Use bson.Decoder.ZeroStructs or options.BSONOptions.ZeroStructs instead. + DecodeZeroStruct bool + + // DecodeDeepZeroInline causes DecodeValue to delete any existing values from Go structs in the + // destination value passed to Decode before unmarshaling BSON documents into them. + // + // Deprecated: DecodeDeepZeroInline will not be supported in Go Driver 2.0. + DecodeDeepZeroInline bool + + // EncodeOmitDefaultStruct causes the Encoder to consider the zero value for a struct (e.g. + // MyStruct{}) as empty and omit it from the marshaled BSON when the "omitempty" struct tag + // option is set. + // + // Deprecated: Use bson.Encoder.OmitZeroStruct or options.BSONOptions.OmitZeroStruct instead. + EncodeOmitDefaultStruct bool + + // AllowUnexportedFields allows encoding and decoding values from un-exported struct fields. + // + // Deprecated: AllowUnexportedFields does not work on recent versions of Go and will not be + // supported in Go Driver 2.0. + AllowUnexportedFields bool + + // OverwriteDuplicatedInlinedFields, if false, causes EncodeValue to return an error if there is + // a duplicate field in the marshaled BSON when the "inline" struct tag option is set. The + // default value is true. + // + // Deprecated: Use bson.Encoder.ErrorOnInlineDuplicates or + // options.BSONOptions.ErrorOnInlineDuplicates instead. + OverwriteDuplicatedInlinedFields bool +} + +var _ ValueEncoder = &StructCodec{} +var _ ValueDecoder = &StructCodec{} + +// NewStructCodec returns a StructCodec that uses p for struct tag parsing. +// +// Deprecated: NewStructCodec will not be available in Go Driver 2.0. See +// [StructCodec] for more details. +func NewStructCodec(p StructTagParser, opts ...*bsonoptions.StructCodecOptions) (*StructCodec, error) { + if p == nil { + return nil, errors.New("a StructTagParser must be provided to NewStructCodec") + } + + structOpt := bsonoptions.MergeStructCodecOptions(opts...) + + codec := &StructCodec{ + parser: p, + } + + if structOpt.DecodeZeroStruct != nil { + codec.DecodeZeroStruct = *structOpt.DecodeZeroStruct + } + if structOpt.DecodeDeepZeroInline != nil { + codec.DecodeDeepZeroInline = *structOpt.DecodeDeepZeroInline + } + if structOpt.EncodeOmitDefaultStruct != nil { + codec.EncodeOmitDefaultStruct = *structOpt.EncodeOmitDefaultStruct + } + if structOpt.OverwriteDuplicatedInlinedFields != nil { + codec.OverwriteDuplicatedInlinedFields = *structOpt.OverwriteDuplicatedInlinedFields + } + if structOpt.AllowUnexportedFields != nil { + codec.AllowUnexportedFields = *structOpt.AllowUnexportedFields + } + + return codec, nil +} + +// EncodeValue handles encoding generic struct types. +func (sc *StructCodec) EncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Kind() != reflect.Struct { + return ValueEncoderError{Name: "StructCodec.EncodeValue", Kinds: []reflect.Kind{reflect.Struct}, Received: val} + } + + sd, err := sc.describeStruct(ec.Registry, val.Type(), ec.useJSONStructTags, ec.errorOnInlineDuplicates) + if err != nil { + return err + } + + dw, err := vw.WriteDocument() + if err != nil { + return err + } + var rv reflect.Value + for _, desc := range sd.fl { + if desc.inline == nil { + rv = val.Field(desc.idx) + } else { + rv, err = fieldByIndexErr(val, desc.inline) + if err != nil { + continue + } + } + + desc.encoder, rv, err = defaultValueEncoders.lookupElementEncoder(ec, desc.encoder, rv) + + if err != nil && !errors.Is(err, errInvalidValue) { + return err + } + + if errors.Is(err, errInvalidValue) { + if desc.omitEmpty { + continue + } + vw2, err := dw.WriteDocumentElement(desc.name) + if err != nil { + return err + } + err = vw2.WriteNull() + if err != nil { + return err + } + continue + } + + if desc.encoder == nil { + return ErrNoEncoder{Type: rv.Type()} + } + + encoder := desc.encoder + + var empty bool + if cz, ok := encoder.(CodecZeroer); ok { + empty = cz.IsTypeZero(rv.Interface()) + } else if rv.Kind() == reflect.Interface { + // isEmpty will not treat an interface rv as an interface, so we need to check for the + // nil interface separately. + empty = rv.IsNil() + } else { + empty = isEmpty(rv, sc.EncodeOmitDefaultStruct || ec.omitZeroStruct) + } + if desc.omitEmpty && empty { + continue + } + + vw2, err := dw.WriteDocumentElement(desc.name) + if err != nil { + return err + } + + ectx := EncodeContext{ + Registry: ec.Registry, + MinSize: desc.minSize || ec.MinSize, + errorOnInlineDuplicates: ec.errorOnInlineDuplicates, + stringifyMapKeysWithFmt: ec.stringifyMapKeysWithFmt, + nilMapAsEmpty: ec.nilMapAsEmpty, + nilSliceAsEmpty: ec.nilSliceAsEmpty, + nilByteSliceAsEmpty: ec.nilByteSliceAsEmpty, + omitZeroStruct: ec.omitZeroStruct, + useJSONStructTags: ec.useJSONStructTags, + } + err = encoder.EncodeValue(ectx, vw2, rv) + if err != nil { + return err + } + } + + if sd.inlineMap >= 0 { + rv := val.Field(sd.inlineMap) + collisionFn := func(key string) bool { + _, exists := sd.fm[key] + return exists + } + + return defaultMapCodec.mapEncodeValue(ec, dw, rv, collisionFn) + } + + return dw.WriteDocumentEnd() +} + +func newDecodeError(key string, original error) error { + var de *DecodeError + if !errors.As(original, &de) { + return &DecodeError{ + keys: []string{key}, + wrapped: original, + } + } + + de.keys = append(de.keys, key) + return de +} + +// DecodeValue implements the Codec interface. +// By default, map types in val will not be cleared. If a map has existing key/value pairs, it will be extended with the new ones from vr. +// For slices, the decoder will set the length of the slice to zero and append all elements. The underlying array will not be cleared. +func (sc *StructCodec) DecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Kind() != reflect.Struct { + return ValueDecoderError{Name: "StructCodec.DecodeValue", Kinds: []reflect.Kind{reflect.Struct}, Received: val} + } + + switch vrType := vr.Type(); vrType { + case bsontype.Type(0), bsontype.EmbeddedDocument: + case bsontype.Null: + if err := vr.ReadNull(); err != nil { + return err + } + + val.Set(reflect.Zero(val.Type())) + return nil + case bsontype.Undefined: + if err := vr.ReadUndefined(); err != nil { + return err + } + + val.Set(reflect.Zero(val.Type())) + return nil + default: + return fmt.Errorf("cannot decode %v into a %s", vrType, val.Type()) + } + + sd, err := sc.describeStruct(dc.Registry, val.Type(), dc.useJSONStructTags, false) + if err != nil { + return err + } + + if sc.DecodeZeroStruct || dc.zeroStructs { + val.Set(reflect.Zero(val.Type())) + } + if sc.DecodeDeepZeroInline && sd.inline { + val.Set(deepZero(val.Type())) + } + + var decoder ValueDecoder + var inlineMap reflect.Value + if sd.inlineMap >= 0 { + inlineMap = val.Field(sd.inlineMap) + decoder, err = dc.LookupDecoder(inlineMap.Type().Elem()) + if err != nil { + return err + } + } + + dr, err := vr.ReadDocument() + if err != nil { + return err + } + + for { + name, vr, err := dr.ReadElement() + if errors.Is(err, bsonrw.ErrEOD) { + break + } + if err != nil { + return err + } + + fd, exists := sd.fm[name] + if !exists { + // if the original name isn't found in the struct description, try again with the name in lowercase + // this could match if a BSON tag isn't specified because by default, describeStruct lowercases all field + // names + fd, exists = sd.fm[strings.ToLower(name)] + } + + if !exists { + if sd.inlineMap < 0 { + // The encoding/json package requires a flag to return on error for non-existent fields. + // This functionality seems appropriate for the struct codec. + err = vr.Skip() + if err != nil { + return err + } + continue + } + + if inlineMap.IsNil() { + inlineMap.Set(reflect.MakeMap(inlineMap.Type())) + } + + elem := reflect.New(inlineMap.Type().Elem()).Elem() + dc.Ancestor = inlineMap.Type() + err = decoder.DecodeValue(dc, vr, elem) + if err != nil { + return err + } + inlineMap.SetMapIndex(reflect.ValueOf(name), elem) + continue + } + + var field reflect.Value + if fd.inline == nil { + field = val.Field(fd.idx) + } else { + field, err = getInlineField(val, fd.inline) + if err != nil { + return err + } + } + + if !field.CanSet() { // Being settable is a super set of being addressable. + innerErr := fmt.Errorf("field %v is not settable", field) + return newDecodeError(fd.name, innerErr) + } + if field.Kind() == reflect.Ptr && field.IsNil() { + field.Set(reflect.New(field.Type().Elem())) + } + field = field.Addr() + + dctx := DecodeContext{ + Registry: dc.Registry, + Truncate: fd.truncate || dc.Truncate, + defaultDocumentType: dc.defaultDocumentType, + binaryAsSlice: dc.binaryAsSlice, + useJSONStructTags: dc.useJSONStructTags, + useLocalTimeZone: dc.useLocalTimeZone, + zeroMaps: dc.zeroMaps, + zeroStructs: dc.zeroStructs, + } + + if fd.decoder == nil { + return newDecodeError(fd.name, ErrNoDecoder{Type: field.Elem().Type()}) + } + + err = fd.decoder.DecodeValue(dctx, vr, field.Elem()) + if err != nil { + return newDecodeError(fd.name, err) + } + } + + return nil +} + +func isEmpty(v reflect.Value, omitZeroStruct bool) bool { + kind := v.Kind() + if (kind != reflect.Ptr || !v.IsNil()) && v.Type().Implements(tZeroer) { + return v.Interface().(Zeroer).IsZero() + } + switch kind { + case reflect.Array, reflect.Map, reflect.Slice, reflect.String: + return v.Len() == 0 + case reflect.Struct: + if !omitZeroStruct { + return false + } + vt := v.Type() + if vt == tTime { + return v.Interface().(time.Time).IsZero() + } + numField := vt.NumField() + for i := 0; i < numField; i++ { + ff := vt.Field(i) + if ff.PkgPath != "" && !ff.Anonymous { + continue // Private field + } + if !isEmpty(v.Field(i), omitZeroStruct) { + return false + } + } + return true + } + return !v.IsValid() || v.IsZero() +} + +type structDescription struct { + fm map[string]fieldDescription + fl []fieldDescription + inlineMap int + inline bool +} + +type fieldDescription struct { + name string // BSON key name + fieldName string // struct field name + idx int + omitEmpty bool + minSize bool + truncate bool + inline []int + encoder ValueEncoder + decoder ValueDecoder +} + +type byIndex []fieldDescription + +func (bi byIndex) Len() int { return len(bi) } + +func (bi byIndex) Swap(i, j int) { bi[i], bi[j] = bi[j], bi[i] } + +func (bi byIndex) Less(i, j int) bool { + // If a field is inlined, its index in the top level struct is stored at inline[0] + iIdx, jIdx := bi[i].idx, bi[j].idx + if len(bi[i].inline) > 0 { + iIdx = bi[i].inline[0] + } + if len(bi[j].inline) > 0 { + jIdx = bi[j].inline[0] + } + if iIdx != jIdx { + return iIdx < jIdx + } + for k, biik := range bi[i].inline { + if k >= len(bi[j].inline) { + return false + } + if biik != bi[j].inline[k] { + return biik < bi[j].inline[k] + } + } + return len(bi[i].inline) < len(bi[j].inline) +} + +func (sc *StructCodec) describeStruct( + r *Registry, + t reflect.Type, + useJSONStructTags bool, + errorOnDuplicates bool, +) (*structDescription, error) { + // We need to analyze the struct, including getting the tags, collecting + // information about inlining, and create a map of the field name to the field. + if v, ok := sc.cache.Load(t); ok { + return v.(*structDescription), nil + } + // TODO(charlie): Only describe the struct once when called + // concurrently with the same type. + ds, err := sc.describeStructSlow(r, t, useJSONStructTags, errorOnDuplicates) + if err != nil { + return nil, err + } + if v, loaded := sc.cache.LoadOrStore(t, ds); loaded { + ds = v.(*structDescription) + } + return ds, nil +} + +func (sc *StructCodec) describeStructSlow( + r *Registry, + t reflect.Type, + useJSONStructTags bool, + errorOnDuplicates bool, +) (*structDescription, error) { + numFields := t.NumField() + sd := &structDescription{ + fm: make(map[string]fieldDescription, numFields), + fl: make([]fieldDescription, 0, numFields), + inlineMap: -1, + } + + var fields []fieldDescription + for i := 0; i < numFields; i++ { + sf := t.Field(i) + if sf.PkgPath != "" && (!sc.AllowUnexportedFields || !sf.Anonymous) { + // field is private or unexported fields aren't allowed, ignore + continue + } + + sfType := sf.Type + encoder, err := r.LookupEncoder(sfType) + if err != nil { + encoder = nil + } + decoder, err := r.LookupDecoder(sfType) + if err != nil { + decoder = nil + } + + description := fieldDescription{ + fieldName: sf.Name, + idx: i, + encoder: encoder, + decoder: decoder, + } + + var stags StructTags + // If the caller requested that we use JSON struct tags, use the JSONFallbackStructTagParser + // instead of the parser defined on the codec. + if useJSONStructTags { + stags, err = JSONFallbackStructTagParser.ParseStructTags(sf) + } else { + stags, err = sc.parser.ParseStructTags(sf) + } + if err != nil { + return nil, err + } + if stags.Skip { + continue + } + description.name = stags.Name + description.omitEmpty = stags.OmitEmpty + description.minSize = stags.MinSize + description.truncate = stags.Truncate + + if stags.Inline { + sd.inline = true + switch sfType.Kind() { + case reflect.Map: + if sd.inlineMap >= 0 { + return nil, errors.New("(struct " + t.String() + ") multiple inline maps") + } + if sfType.Key() != tString { + return nil, errors.New("(struct " + t.String() + ") inline map must have a string keys") + } + sd.inlineMap = description.idx + case reflect.Ptr: + sfType = sfType.Elem() + if sfType.Kind() != reflect.Struct { + return nil, fmt.Errorf("(struct %s) inline fields must be a struct, a struct pointer, or a map", t.String()) + } + fallthrough + case reflect.Struct: + inlinesf, err := sc.describeStruct(r, sfType, useJSONStructTags, errorOnDuplicates) + if err != nil { + return nil, err + } + for _, fd := range inlinesf.fl { + if fd.inline == nil { + fd.inline = []int{i, fd.idx} + } else { + fd.inline = append([]int{i}, fd.inline...) + } + fields = append(fields, fd) + + } + default: + return nil, fmt.Errorf("(struct %s) inline fields must be a struct, a struct pointer, or a map", t.String()) + } + continue + } + fields = append(fields, description) + } + + // Sort fieldDescriptions by name and use dominance rules to determine which should be added for each name + sort.Slice(fields, func(i, j int) bool { + x := fields + // sort field by name, breaking ties with depth, then + // breaking ties with index sequence. + if x[i].name != x[j].name { + return x[i].name < x[j].name + } + if len(x[i].inline) != len(x[j].inline) { + return len(x[i].inline) < len(x[j].inline) + } + return byIndex(x).Less(i, j) + }) + + for advance, i := 0, 0; i < len(fields); i += advance { + // One iteration per name. + // Find the sequence of fields with the name of this first field. + fi := fields[i] + name := fi.name + for advance = 1; i+advance < len(fields); advance++ { + fj := fields[i+advance] + if fj.name != name { + break + } + } + if advance == 1 { // Only one field with this name + sd.fl = append(sd.fl, fi) + sd.fm[name] = fi + continue + } + dominant, ok := dominantField(fields[i : i+advance]) + if !ok || !sc.OverwriteDuplicatedInlinedFields || errorOnDuplicates { + return nil, fmt.Errorf("struct %s has duplicated key %s", t.String(), name) + } + sd.fl = append(sd.fl, dominant) + sd.fm[name] = dominant + } + + sort.Sort(byIndex(sd.fl)) + + return sd, nil +} + +// dominantField looks through the fields, all of which are known to +// have the same name, to find the single field that dominates the +// others using Go's inlining rules. If there are multiple top-level +// fields, the boolean will be false: This condition is an error in Go +// and we skip all the fields. +func dominantField(fields []fieldDescription) (fieldDescription, bool) { + // The fields are sorted in increasing index-length order, then by presence of tag. + // That means that the first field is the dominant one. We need only check + // for error cases: two fields at top level. + if len(fields) > 1 && + len(fields[0].inline) == len(fields[1].inline) { + return fieldDescription{}, false + } + return fields[0], true +} + +func fieldByIndexErr(v reflect.Value, index []int) (result reflect.Value, err error) { + defer func() { + if recovered := recover(); recovered != nil { + switch r := recovered.(type) { + case string: + err = fmt.Errorf("%s", r) + case error: + err = r + } + } + }() + + result = v.FieldByIndex(index) + return +} + +func getInlineField(val reflect.Value, index []int) (reflect.Value, error) { + field, err := fieldByIndexErr(val, index) + if err == nil { + return field, nil + } + + // if parent of this element doesn't exist, fix its parent + inlineParent := index[:len(index)-1] + var fParent reflect.Value + if fParent, err = fieldByIndexErr(val, inlineParent); err != nil { + fParent, err = getInlineField(val, inlineParent) + if err != nil { + return fParent, err + } + } + fParent.Set(reflect.New(fParent.Type().Elem())) + + return fieldByIndexErr(val, index) +} + +// DeepZero returns recursive zero object +func deepZero(st reflect.Type) (result reflect.Value) { + if st.Kind() == reflect.Struct { + numField := st.NumField() + for i := 0; i < numField; i++ { + if result == emptyValue { + result = reflect.Indirect(reflect.New(st)) + } + f := result.Field(i) + if f.CanInterface() { + if f.Type().Kind() == reflect.Struct { + result.Field(i).Set(recursivePointerTo(deepZero(f.Type().Elem()))) + } + } + } + } + return result +} + +// recursivePointerTo calls reflect.New(v.Type) but recursively for its fields inside +func recursivePointerTo(v reflect.Value) reflect.Value { + v = reflect.Indirect(v) + result := reflect.New(v.Type()) + if v.Kind() == reflect.Struct { + for i := 0; i < v.NumField(); i++ { + if f := v.Field(i); f.Kind() == reflect.Ptr { + if f.Elem().Kind() == reflect.Struct { + result.Elem().Field(i).Set(recursivePointerTo(f)) + } + } + } + } + + return result +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_tag_parser.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_tag_parser.go new file mode 100644 index 000000000..18d85bfb0 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_tag_parser.go @@ -0,0 +1,148 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "reflect" + "strings" +) + +// StructTagParser returns the struct tags for a given struct field. +// +// Deprecated: Defining custom BSON struct tag parsers will not be supported in Go Driver 2.0. +type StructTagParser interface { + ParseStructTags(reflect.StructField) (StructTags, error) +} + +// StructTagParserFunc is an adapter that allows a generic function to be used +// as a StructTagParser. +// +// Deprecated: Defining custom BSON struct tag parsers will not be supported in Go Driver 2.0. +type StructTagParserFunc func(reflect.StructField) (StructTags, error) + +// ParseStructTags implements the StructTagParser interface. +func (stpf StructTagParserFunc) ParseStructTags(sf reflect.StructField) (StructTags, error) { + return stpf(sf) +} + +// StructTags represents the struct tag fields that the StructCodec uses during +// the encoding and decoding process. +// +// In the case of a struct, the lowercased field name is used as the key for each exported +// field but this behavior may be changed using a struct tag. The tag may also contain flags to +// adjust the marshalling behavior for the field. +// +// The properties are defined below: +// +// OmitEmpty Only include the field if it's not set to the zero value for the type or to +// empty slices or maps. +// +// MinSize Marshal an integer of a type larger than 32 bits value as an int32, if that's +// feasible while preserving the numeric value. +// +// Truncate When unmarshaling a BSON double, it is permitted to lose precision to fit within +// a float32. +// +// Inline Inline the field, which must be a struct or a map, causing all of its fields +// or keys to be processed as if they were part of the outer struct. For maps, +// keys must not conflict with the bson keys of other struct fields. +// +// Skip This struct field should be skipped. This is usually denoted by parsing a "-" +// for the name. +// +// Deprecated: Defining custom BSON struct tag parsers will not be supported in Go Driver 2.0. +type StructTags struct { + Name string + OmitEmpty bool + MinSize bool + Truncate bool + Inline bool + Skip bool +} + +// DefaultStructTagParser is the StructTagParser used by the StructCodec by default. +// It will handle the bson struct tag. See the documentation for StructTags to see +// what each of the returned fields means. +// +// If there is no name in the struct tag fields, the struct field name is lowercased. +// The tag formats accepted are: +// +// "[][,[,]]" +// +// `(...) bson:"[][,[,]]" (...)` +// +// An example: +// +// type T struct { +// A bool +// B int "myb" +// C string "myc,omitempty" +// D string `bson:",omitempty" json:"jsonkey"` +// E int64 ",minsize" +// F int64 "myf,omitempty,minsize" +// } +// +// A struct tag either consisting entirely of '-' or with a bson key with a +// value consisting entirely of '-' will return a StructTags with Skip true and +// the remaining fields will be their default values. +// +// Deprecated: DefaultStructTagParser will be removed in Go Driver 2.0. +var DefaultStructTagParser StructTagParserFunc = func(sf reflect.StructField) (StructTags, error) { + key := strings.ToLower(sf.Name) + tag, ok := sf.Tag.Lookup("bson") + if !ok && !strings.Contains(string(sf.Tag), ":") && len(sf.Tag) > 0 { + tag = string(sf.Tag) + } + return parseTags(key, tag) +} + +func parseTags(key string, tag string) (StructTags, error) { + var st StructTags + if tag == "-" { + st.Skip = true + return st, nil + } + + for idx, str := range strings.Split(tag, ",") { + if idx == 0 && str != "" { + key = str + } + switch str { + case "omitempty": + st.OmitEmpty = true + case "minsize": + st.MinSize = true + case "truncate": + st.Truncate = true + case "inline": + st.Inline = true + } + } + + st.Name = key + + return st, nil +} + +// JSONFallbackStructTagParser has the same behavior as DefaultStructTagParser +// but will also fallback to parsing the json tag instead on a field where the +// bson tag isn't available. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Encoder.UseJSONStructTags] and +// [go.mongodb.org/mongo-driver/bson.Decoder.UseJSONStructTags] instead. +var JSONFallbackStructTagParser StructTagParserFunc = func(sf reflect.StructField) (StructTags, error) { + key := strings.ToLower(sf.Name) + tag, ok := sf.Tag.Lookup("bson") + if !ok { + tag, ok = sf.Tag.Lookup("json") + } + if !ok && !strings.Contains(string(sf.Tag), ":") && len(sf.Tag) > 0 { + tag = string(sf.Tag) + } + + return parseTags(key, tag) +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/time_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/time_codec.go new file mode 100644 index 000000000..22fb762c4 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/time_codec.go @@ -0,0 +1,151 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "fmt" + "reflect" + "time" + + "go.mongodb.org/mongo-driver/bson/bsonoptions" + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" + "go.mongodb.org/mongo-driver/bson/primitive" +) + +const ( + timeFormatString = "2006-01-02T15:04:05.999Z07:00" +) + +// TimeCodec is the Codec used for time.Time values. +// +// Deprecated: TimeCodec will not be directly configurable in Go Driver 2.0. +// To configure the time.Time encode and decode behavior, use the configuration +// methods on a [go.mongodb.org/mongo-driver/bson.Encoder] or +// [go.mongodb.org/mongo-driver/bson.Decoder]. To configure the time.Time encode +// and decode behavior for a mongo.Client, use +// [go.mongodb.org/mongo-driver/mongo/options.ClientOptions.SetBSONOptions]. +// +// For example, to configure a mongo.Client to ..., use: +// +// opt := options.Client().SetBSONOptions(&options.BSONOptions{ +// UseLocalTimeZone: true, +// }) +// +// See the deprecation notice for each field in TimeCodec for the corresponding +// settings. +type TimeCodec struct { + // UseLocalTimeZone specifies if we should decode into the local time zone. Defaults to false. + // + // Deprecated: Use bson.Decoder.UseLocalTimeZone or options.BSONOptions.UseLocalTimeZone + // instead. + UseLocalTimeZone bool +} + +var ( + defaultTimeCodec = NewTimeCodec() + + // Assert that defaultTimeCodec satisfies the typeDecoder interface, which allows it to be used + // by collection type decoders (e.g. map, slice, etc) to set individual values in a collection. + _ typeDecoder = defaultTimeCodec +) + +// NewTimeCodec returns a TimeCodec with options opts. +// +// Deprecated: NewTimeCodec will not be available in Go Driver 2.0. See +// [TimeCodec] for more details. +func NewTimeCodec(opts ...*bsonoptions.TimeCodecOptions) *TimeCodec { + timeOpt := bsonoptions.MergeTimeCodecOptions(opts...) + + codec := TimeCodec{} + if timeOpt.UseLocalTimeZone != nil { + codec.UseLocalTimeZone = *timeOpt.UseLocalTimeZone + } + return &codec +} + +func (tc *TimeCodec) decodeType(dc DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + if t != tTime { + return emptyValue, ValueDecoderError{ + Name: "TimeDecodeValue", + Types: []reflect.Type{tTime}, + Received: reflect.Zero(t), + } + } + + var timeVal time.Time + switch vrType := vr.Type(); vrType { + case bsontype.DateTime: + dt, err := vr.ReadDateTime() + if err != nil { + return emptyValue, err + } + timeVal = time.Unix(dt/1000, dt%1000*1000000) + case bsontype.String: + // assume strings are in the isoTimeFormat + timeStr, err := vr.ReadString() + if err != nil { + return emptyValue, err + } + timeVal, err = time.Parse(timeFormatString, timeStr) + if err != nil { + return emptyValue, err + } + case bsontype.Int64: + i64, err := vr.ReadInt64() + if err != nil { + return emptyValue, err + } + timeVal = time.Unix(i64/1000, i64%1000*1000000) + case bsontype.Timestamp: + t, _, err := vr.ReadTimestamp() + if err != nil { + return emptyValue, err + } + timeVal = time.Unix(int64(t), 0) + case bsontype.Null: + if err := vr.ReadNull(); err != nil { + return emptyValue, err + } + case bsontype.Undefined: + if err := vr.ReadUndefined(); err != nil { + return emptyValue, err + } + default: + return emptyValue, fmt.Errorf("cannot decode %v into a time.Time", vrType) + } + + if !tc.UseLocalTimeZone && !dc.useLocalTimeZone { + timeVal = timeVal.UTC() + } + return reflect.ValueOf(timeVal), nil +} + +// DecodeValue is the ValueDecoderFunc for time.Time. +func (tc *TimeCodec) DecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() || val.Type() != tTime { + return ValueDecoderError{Name: "TimeDecodeValue", Types: []reflect.Type{tTime}, Received: val} + } + + elem, err := tc.decodeType(dc, vr, tTime) + if err != nil { + return err + } + + val.Set(elem) + return nil +} + +// EncodeValue is the ValueEncoderFunc for time.TIme. +func (tc *TimeCodec) EncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + if !val.IsValid() || val.Type() != tTime { + return ValueEncoderError{Name: "TimeEncodeValue", Types: []reflect.Type{tTime}, Received: val} + } + tt := val.Interface().(time.Time) + dt := primitive.NewDateTimeFromTime(tt) + return vw.WriteDateTime(int64(dt)) +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go new file mode 100644 index 000000000..6ade17b7d --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go @@ -0,0 +1,58 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "encoding/json" + "net/url" + "reflect" + "time" + + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" +) + +var tBool = reflect.TypeOf(false) +var tFloat64 = reflect.TypeOf(float64(0)) +var tInt32 = reflect.TypeOf(int32(0)) +var tInt64 = reflect.TypeOf(int64(0)) +var tString = reflect.TypeOf("") +var tTime = reflect.TypeOf(time.Time{}) + +var tEmpty = reflect.TypeOf((*interface{})(nil)).Elem() +var tByteSlice = reflect.TypeOf([]byte(nil)) +var tByte = reflect.TypeOf(byte(0x00)) +var tURL = reflect.TypeOf(url.URL{}) +var tJSONNumber = reflect.TypeOf(json.Number("")) + +var tValueMarshaler = reflect.TypeOf((*ValueMarshaler)(nil)).Elem() +var tValueUnmarshaler = reflect.TypeOf((*ValueUnmarshaler)(nil)).Elem() +var tMarshaler = reflect.TypeOf((*Marshaler)(nil)).Elem() +var tUnmarshaler = reflect.TypeOf((*Unmarshaler)(nil)).Elem() +var tProxy = reflect.TypeOf((*Proxy)(nil)).Elem() +var tZeroer = reflect.TypeOf((*Zeroer)(nil)).Elem() + +var tBinary = reflect.TypeOf(primitive.Binary{}) +var tUndefined = reflect.TypeOf(primitive.Undefined{}) +var tOID = reflect.TypeOf(primitive.ObjectID{}) +var tDateTime = reflect.TypeOf(primitive.DateTime(0)) +var tNull = reflect.TypeOf(primitive.Null{}) +var tRegex = reflect.TypeOf(primitive.Regex{}) +var tCodeWithScope = reflect.TypeOf(primitive.CodeWithScope{}) +var tDBPointer = reflect.TypeOf(primitive.DBPointer{}) +var tJavaScript = reflect.TypeOf(primitive.JavaScript("")) +var tSymbol = reflect.TypeOf(primitive.Symbol("")) +var tTimestamp = reflect.TypeOf(primitive.Timestamp{}) +var tDecimal = reflect.TypeOf(primitive.Decimal128{}) +var tMinKey = reflect.TypeOf(primitive.MinKey{}) +var tMaxKey = reflect.TypeOf(primitive.MaxKey{}) +var tD = reflect.TypeOf(primitive.D{}) +var tA = reflect.TypeOf(primitive.A{}) +var tE = reflect.TypeOf(primitive.E{}) + +var tCoreDocument = reflect.TypeOf(bsoncore.Document{}) +var tCoreArray = reflect.TypeOf(bsoncore.Array{}) diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/uint_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/uint_codec.go new file mode 100644 index 000000000..39b07135b --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/uint_codec.go @@ -0,0 +1,202 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsoncodec + +import ( + "fmt" + "math" + "reflect" + + "go.mongodb.org/mongo-driver/bson/bsonoptions" + "go.mongodb.org/mongo-driver/bson/bsonrw" + "go.mongodb.org/mongo-driver/bson/bsontype" +) + +// UIntCodec is the Codec used for uint values. +// +// Deprecated: UIntCodec will not be directly configurable in Go Driver 2.0. To +// configure the uint encode and decode behavior, use the configuration methods +// on a [go.mongodb.org/mongo-driver/bson.Encoder] or +// [go.mongodb.org/mongo-driver/bson.Decoder]. To configure the uint encode and +// decode behavior for a mongo.Client, use +// [go.mongodb.org/mongo-driver/mongo/options.ClientOptions.SetBSONOptions]. +// +// For example, to configure a mongo.Client to marshal Go uint values as the +// minimum BSON int size that can represent the value, use: +// +// opt := options.Client().SetBSONOptions(&options.BSONOptions{ +// IntMinSize: true, +// }) +// +// See the deprecation notice for each field in UIntCodec for the corresponding +// settings. +type UIntCodec struct { + // EncodeToMinSize causes EncodeValue to marshal Go uint values (excluding uint64) as the + // minimum BSON int size (either 32-bit or 64-bit) that can represent the integer value. + // + // Deprecated: Use bson.Encoder.IntMinSize or options.BSONOptions.IntMinSize instead. + EncodeToMinSize bool +} + +var ( + defaultUIntCodec = NewUIntCodec() + + // Assert that defaultUIntCodec satisfies the typeDecoder interface, which allows it to be used + // by collection type decoders (e.g. map, slice, etc) to set individual values in a collection. + _ typeDecoder = defaultUIntCodec +) + +// NewUIntCodec returns a UIntCodec with options opts. +// +// Deprecated: NewUIntCodec will not be available in Go Driver 2.0. See +// [UIntCodec] for more details. +func NewUIntCodec(opts ...*bsonoptions.UIntCodecOptions) *UIntCodec { + uintOpt := bsonoptions.MergeUIntCodecOptions(opts...) + + codec := UIntCodec{} + if uintOpt.EncodeToMinSize != nil { + codec.EncodeToMinSize = *uintOpt.EncodeToMinSize + } + return &codec +} + +// EncodeValue is the ValueEncoder for uint types. +func (uic *UIntCodec) EncodeValue(ec EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error { + switch val.Kind() { + case reflect.Uint8, reflect.Uint16: + return vw.WriteInt32(int32(val.Uint())) + case reflect.Uint, reflect.Uint32, reflect.Uint64: + u64 := val.Uint() + + // If ec.MinSize or if encodeToMinSize is true for a non-uint64 value we should write val as an int32 + useMinSize := ec.MinSize || (uic.EncodeToMinSize && val.Kind() != reflect.Uint64) + + if u64 <= math.MaxInt32 && useMinSize { + return vw.WriteInt32(int32(u64)) + } + if u64 > math.MaxInt64 { + return fmt.Errorf("%d overflows int64", u64) + } + return vw.WriteInt64(int64(u64)) + } + + return ValueEncoderError{ + Name: "UintEncodeValue", + Kinds: []reflect.Kind{reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint}, + Received: val, + } +} + +func (uic *UIntCodec) decodeType(dc DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) { + var i64 int64 + var err error + switch vrType := vr.Type(); vrType { + case bsontype.Int32: + i32, err := vr.ReadInt32() + if err != nil { + return emptyValue, err + } + i64 = int64(i32) + case bsontype.Int64: + i64, err = vr.ReadInt64() + if err != nil { + return emptyValue, err + } + case bsontype.Double: + f64, err := vr.ReadDouble() + if err != nil { + return emptyValue, err + } + if !dc.Truncate && math.Floor(f64) != f64 { + return emptyValue, errCannotTruncate + } + if f64 > float64(math.MaxInt64) { + return emptyValue, fmt.Errorf("%g overflows int64", f64) + } + i64 = int64(f64) + case bsontype.Boolean: + b, err := vr.ReadBoolean() + if err != nil { + return emptyValue, err + } + if b { + i64 = 1 + } + case bsontype.Null: + if err = vr.ReadNull(); err != nil { + return emptyValue, err + } + case bsontype.Undefined: + if err = vr.ReadUndefined(); err != nil { + return emptyValue, err + } + default: + return emptyValue, fmt.Errorf("cannot decode %v into an integer type", vrType) + } + + switch t.Kind() { + case reflect.Uint8: + if i64 < 0 || i64 > math.MaxUint8 { + return emptyValue, fmt.Errorf("%d overflows uint8", i64) + } + + return reflect.ValueOf(uint8(i64)), nil + case reflect.Uint16: + if i64 < 0 || i64 > math.MaxUint16 { + return emptyValue, fmt.Errorf("%d overflows uint16", i64) + } + + return reflect.ValueOf(uint16(i64)), nil + case reflect.Uint32: + if i64 < 0 || i64 > math.MaxUint32 { + return emptyValue, fmt.Errorf("%d overflows uint32", i64) + } + + return reflect.ValueOf(uint32(i64)), nil + case reflect.Uint64: + if i64 < 0 { + return emptyValue, fmt.Errorf("%d overflows uint64", i64) + } + + return reflect.ValueOf(uint64(i64)), nil + case reflect.Uint: + if i64 < 0 { + return emptyValue, fmt.Errorf("%d overflows uint", i64) + } + v := uint64(i64) + if v > math.MaxUint { // Can we fit this inside of an uint + return emptyValue, fmt.Errorf("%d overflows uint", i64) + } + + return reflect.ValueOf(uint(v)), nil + default: + return emptyValue, ValueDecoderError{ + Name: "UintDecodeValue", + Kinds: []reflect.Kind{reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint}, + Received: reflect.Zero(t), + } + } +} + +// DecodeValue is the ValueDecoder for uint types. +func (uic *UIntCodec) DecodeValue(dc DecodeContext, vr bsonrw.ValueReader, val reflect.Value) error { + if !val.CanSet() { + return ValueDecoderError{ + Name: "UintDecodeValue", + Kinds: []reflect.Kind{reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint}, + Received: val, + } + } + + elem, err := uic.decodeType(dc, vr, val.Type()) + if err != nil { + return err + } + + val.SetUint(elem.Uint()) + return nil +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/byte_slice_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/byte_slice_codec_options.go new file mode 100644 index 000000000..996bd1712 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/byte_slice_codec_options.go @@ -0,0 +1,49 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonoptions + +// ByteSliceCodecOptions represents all possible options for byte slice encoding and decoding. +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +type ByteSliceCodecOptions struct { + EncodeNilAsEmpty *bool // Specifies if a nil byte slice should encode as an empty binary instead of null. Defaults to false. +} + +// ByteSliceCodec creates a new *ByteSliceCodecOptions +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +func ByteSliceCodec() *ByteSliceCodecOptions { + return &ByteSliceCodecOptions{} +} + +// SetEncodeNilAsEmpty specifies if a nil byte slice should encode as an empty binary instead of null. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Encoder.NilByteSliceAsEmpty] instead. +func (bs *ByteSliceCodecOptions) SetEncodeNilAsEmpty(b bool) *ByteSliceCodecOptions { + bs.EncodeNilAsEmpty = &b + return bs +} + +// MergeByteSliceCodecOptions combines the given *ByteSliceCodecOptions into a single *ByteSliceCodecOptions in a last one wins fashion. +// +// Deprecated: Merging options structs will not be supported in Go Driver 2.0. Users should create a +// single options struct instead. +func MergeByteSliceCodecOptions(opts ...*ByteSliceCodecOptions) *ByteSliceCodecOptions { + bs := ByteSliceCodec() + for _, opt := range opts { + if opt == nil { + continue + } + if opt.EncodeNilAsEmpty != nil { + bs.EncodeNilAsEmpty = opt.EncodeNilAsEmpty + } + } + + return bs +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go new file mode 100644 index 000000000..c40973c8d --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/doc.go @@ -0,0 +1,8 @@ +// Copyright (C) MongoDB, Inc. 2022-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +// Package bsonoptions defines the optional configurations for the BSON codecs. +package bsonoptions diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/empty_interface_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/empty_interface_codec_options.go new file mode 100644 index 000000000..f522c7e03 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/empty_interface_codec_options.go @@ -0,0 +1,49 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonoptions + +// EmptyInterfaceCodecOptions represents all possible options for interface{} encoding and decoding. +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +type EmptyInterfaceCodecOptions struct { + DecodeBinaryAsSlice *bool // Specifies if Old and Generic type binarys should default to []slice instead of primitive.Binary. Defaults to false. +} + +// EmptyInterfaceCodec creates a new *EmptyInterfaceCodecOptions +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +func EmptyInterfaceCodec() *EmptyInterfaceCodecOptions { + return &EmptyInterfaceCodecOptions{} +} + +// SetDecodeBinaryAsSlice specifies if Old and Generic type binarys should default to []slice instead of primitive.Binary. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Decoder.BinaryAsSlice] instead. +func (e *EmptyInterfaceCodecOptions) SetDecodeBinaryAsSlice(b bool) *EmptyInterfaceCodecOptions { + e.DecodeBinaryAsSlice = &b + return e +} + +// MergeEmptyInterfaceCodecOptions combines the given *EmptyInterfaceCodecOptions into a single *EmptyInterfaceCodecOptions in a last one wins fashion. +// +// Deprecated: Merging options structs will not be supported in Go Driver 2.0. Users should create a +// single options struct instead. +func MergeEmptyInterfaceCodecOptions(opts ...*EmptyInterfaceCodecOptions) *EmptyInterfaceCodecOptions { + e := EmptyInterfaceCodec() + for _, opt := range opts { + if opt == nil { + continue + } + if opt.DecodeBinaryAsSlice != nil { + e.DecodeBinaryAsSlice = opt.DecodeBinaryAsSlice + } + } + + return e +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/map_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/map_codec_options.go new file mode 100644 index 000000000..a7a7c1d98 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/map_codec_options.go @@ -0,0 +1,82 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonoptions + +// MapCodecOptions represents all possible options for map encoding and decoding. +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +type MapCodecOptions struct { + DecodeZerosMap *bool // Specifies if the map should be zeroed before decoding into it. Defaults to false. + EncodeNilAsEmpty *bool // Specifies if a nil map should encode as an empty document instead of null. Defaults to false. + // Specifies how keys should be handled. If false, the behavior matches encoding/json, where the encoding key type must + // either be a string, an integer type, or implement bsoncodec.KeyMarshaler and the decoding key type must either be a + // string, an integer type, or implement bsoncodec.KeyUnmarshaler. If true, keys are encoded with fmt.Sprint() and the + // encoding key type must be a string, an integer type, or a float. If true, the use of Stringer will override + // TextMarshaler/TextUnmarshaler. Defaults to false. + EncodeKeysWithStringer *bool +} + +// MapCodec creates a new *MapCodecOptions +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +func MapCodec() *MapCodecOptions { + return &MapCodecOptions{} +} + +// SetDecodeZerosMap specifies if the map should be zeroed before decoding into it. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Decoder.ZeroMaps] instead. +func (t *MapCodecOptions) SetDecodeZerosMap(b bool) *MapCodecOptions { + t.DecodeZerosMap = &b + return t +} + +// SetEncodeNilAsEmpty specifies if a nil map should encode as an empty document instead of null. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Encoder.NilMapAsEmpty] instead. +func (t *MapCodecOptions) SetEncodeNilAsEmpty(b bool) *MapCodecOptions { + t.EncodeNilAsEmpty = &b + return t +} + +// SetEncodeKeysWithStringer specifies how keys should be handled. If false, the behavior matches encoding/json, where the +// encoding key type must either be a string, an integer type, or implement bsoncodec.KeyMarshaler and the decoding key +// type must either be a string, an integer type, or implement bsoncodec.KeyUnmarshaler. If true, keys are encoded with +// fmt.Sprint() and the encoding key type must be a string, an integer type, or a float. If true, the use of Stringer +// will override TextMarshaler/TextUnmarshaler. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Encoder.StringifyMapKeysWithFmt] instead. +func (t *MapCodecOptions) SetEncodeKeysWithStringer(b bool) *MapCodecOptions { + t.EncodeKeysWithStringer = &b + return t +} + +// MergeMapCodecOptions combines the given *MapCodecOptions into a single *MapCodecOptions in a last one wins fashion. +// +// Deprecated: Merging options structs will not be supported in Go Driver 2.0. Users should create a +// single options struct instead. +func MergeMapCodecOptions(opts ...*MapCodecOptions) *MapCodecOptions { + s := MapCodec() + for _, opt := range opts { + if opt == nil { + continue + } + if opt.DecodeZerosMap != nil { + s.DecodeZerosMap = opt.DecodeZerosMap + } + if opt.EncodeNilAsEmpty != nil { + s.EncodeNilAsEmpty = opt.EncodeNilAsEmpty + } + if opt.EncodeKeysWithStringer != nil { + s.EncodeKeysWithStringer = opt.EncodeKeysWithStringer + } + } + + return s +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/slice_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/slice_codec_options.go new file mode 100644 index 000000000..3c1e4f35b --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/slice_codec_options.go @@ -0,0 +1,49 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonoptions + +// SliceCodecOptions represents all possible options for slice encoding and decoding. +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +type SliceCodecOptions struct { + EncodeNilAsEmpty *bool // Specifies if a nil slice should encode as an empty array instead of null. Defaults to false. +} + +// SliceCodec creates a new *SliceCodecOptions +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +func SliceCodec() *SliceCodecOptions { + return &SliceCodecOptions{} +} + +// SetEncodeNilAsEmpty specifies if a nil slice should encode as an empty array instead of null. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Encoder.NilSliceAsEmpty] instead. +func (s *SliceCodecOptions) SetEncodeNilAsEmpty(b bool) *SliceCodecOptions { + s.EncodeNilAsEmpty = &b + return s +} + +// MergeSliceCodecOptions combines the given *SliceCodecOptions into a single *SliceCodecOptions in a last one wins fashion. +// +// Deprecated: Merging options structs will not be supported in Go Driver 2.0. Users should create a +// single options struct instead. +func MergeSliceCodecOptions(opts ...*SliceCodecOptions) *SliceCodecOptions { + s := SliceCodec() + for _, opt := range opts { + if opt == nil { + continue + } + if opt.EncodeNilAsEmpty != nil { + s.EncodeNilAsEmpty = opt.EncodeNilAsEmpty + } + } + + return s +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/string_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/string_codec_options.go new file mode 100644 index 000000000..f8b76f996 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/string_codec_options.go @@ -0,0 +1,52 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonoptions + +var defaultDecodeOIDAsHex = true + +// StringCodecOptions represents all possible options for string encoding and decoding. +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +type StringCodecOptions struct { + DecodeObjectIDAsHex *bool // Specifies if we should decode ObjectID as the hex value. Defaults to true. +} + +// StringCodec creates a new *StringCodecOptions +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +func StringCodec() *StringCodecOptions { + return &StringCodecOptions{} +} + +// SetDecodeObjectIDAsHex specifies if object IDs should be decoded as their hex representation. If false, a string made +// from the raw object ID bytes will be used. Defaults to true. +// +// Deprecated: Decoding object IDs as raw bytes will not be supported in Go Driver 2.0. +func (t *StringCodecOptions) SetDecodeObjectIDAsHex(b bool) *StringCodecOptions { + t.DecodeObjectIDAsHex = &b + return t +} + +// MergeStringCodecOptions combines the given *StringCodecOptions into a single *StringCodecOptions in a last one wins fashion. +// +// Deprecated: Merging options structs will not be supported in Go Driver 2.0. Users should create a +// single options struct instead. +func MergeStringCodecOptions(opts ...*StringCodecOptions) *StringCodecOptions { + s := &StringCodecOptions{&defaultDecodeOIDAsHex} + for _, opt := range opts { + if opt == nil { + continue + } + if opt.DecodeObjectIDAsHex != nil { + s.DecodeObjectIDAsHex = opt.DecodeObjectIDAsHex + } + } + + return s +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/struct_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/struct_codec_options.go new file mode 100644 index 000000000..1cbfa32e8 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/struct_codec_options.go @@ -0,0 +1,107 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonoptions + +var defaultOverwriteDuplicatedInlinedFields = true + +// StructCodecOptions represents all possible options for struct encoding and decoding. +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +type StructCodecOptions struct { + DecodeZeroStruct *bool // Specifies if structs should be zeroed before decoding into them. Defaults to false. + DecodeDeepZeroInline *bool // Specifies if structs should be recursively zeroed when a inline value is decoded. Defaults to false. + EncodeOmitDefaultStruct *bool // Specifies if default structs should be considered empty by omitempty. Defaults to false. + AllowUnexportedFields *bool // Specifies if unexported fields should be marshaled/unmarshaled. Defaults to false. + OverwriteDuplicatedInlinedFields *bool // Specifies if fields in inlined structs can be overwritten by higher level struct fields with the same key. Defaults to true. +} + +// StructCodec creates a new *StructCodecOptions +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +func StructCodec() *StructCodecOptions { + return &StructCodecOptions{} +} + +// SetDecodeZeroStruct specifies if structs should be zeroed before decoding into them. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Decoder.ZeroStructs] instead. +func (t *StructCodecOptions) SetDecodeZeroStruct(b bool) *StructCodecOptions { + t.DecodeZeroStruct = &b + return t +} + +// SetDecodeDeepZeroInline specifies if structs should be zeroed before decoding into them. Defaults to false. +// +// Deprecated: DecodeDeepZeroInline will not be supported in Go Driver 2.0. +func (t *StructCodecOptions) SetDecodeDeepZeroInline(b bool) *StructCodecOptions { + t.DecodeDeepZeroInline = &b + return t +} + +// SetEncodeOmitDefaultStruct specifies if default structs should be considered empty by omitempty. A default struct has all +// its values set to their default value. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Encoder.OmitZeroStruct] instead. +func (t *StructCodecOptions) SetEncodeOmitDefaultStruct(b bool) *StructCodecOptions { + t.EncodeOmitDefaultStruct = &b + return t +} + +// SetOverwriteDuplicatedInlinedFields specifies if inlined struct fields can be overwritten by higher level struct fields with the +// same bson key. When true and decoding, values will be written to the outermost struct with a matching key, and when +// encoding, keys will have the value of the top-most matching field. When false, decoding and encoding will error if +// there are duplicate keys after the struct is inlined. Defaults to true. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Encoder.ErrorOnInlineDuplicates] instead. +func (t *StructCodecOptions) SetOverwriteDuplicatedInlinedFields(b bool) *StructCodecOptions { + t.OverwriteDuplicatedInlinedFields = &b + return t +} + +// SetAllowUnexportedFields specifies if unexported fields should be marshaled/unmarshaled. Defaults to false. +// +// Deprecated: AllowUnexportedFields does not work on recent versions of Go and will not be +// supported in Go Driver 2.0. +func (t *StructCodecOptions) SetAllowUnexportedFields(b bool) *StructCodecOptions { + t.AllowUnexportedFields = &b + return t +} + +// MergeStructCodecOptions combines the given *StructCodecOptions into a single *StructCodecOptions in a last one wins fashion. +// +// Deprecated: Merging options structs will not be supported in Go Driver 2.0. Users should create a +// single options struct instead. +func MergeStructCodecOptions(opts ...*StructCodecOptions) *StructCodecOptions { + s := &StructCodecOptions{ + OverwriteDuplicatedInlinedFields: &defaultOverwriteDuplicatedInlinedFields, + } + for _, opt := range opts { + if opt == nil { + continue + } + + if opt.DecodeZeroStruct != nil { + s.DecodeZeroStruct = opt.DecodeZeroStruct + } + if opt.DecodeDeepZeroInline != nil { + s.DecodeDeepZeroInline = opt.DecodeDeepZeroInline + } + if opt.EncodeOmitDefaultStruct != nil { + s.EncodeOmitDefaultStruct = opt.EncodeOmitDefaultStruct + } + if opt.OverwriteDuplicatedInlinedFields != nil { + s.OverwriteDuplicatedInlinedFields = opt.OverwriteDuplicatedInlinedFields + } + if opt.AllowUnexportedFields != nil { + s.AllowUnexportedFields = opt.AllowUnexportedFields + } + } + + return s +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/time_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/time_codec_options.go new file mode 100644 index 000000000..3f38433d2 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/time_codec_options.go @@ -0,0 +1,49 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonoptions + +// TimeCodecOptions represents all possible options for time.Time encoding and decoding. +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +type TimeCodecOptions struct { + UseLocalTimeZone *bool // Specifies if we should decode into the local time zone. Defaults to false. +} + +// TimeCodec creates a new *TimeCodecOptions +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +func TimeCodec() *TimeCodecOptions { + return &TimeCodecOptions{} +} + +// SetUseLocalTimeZone specifies if we should decode into the local time zone. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Decoder.UseLocalTimeZone] instead. +func (t *TimeCodecOptions) SetUseLocalTimeZone(b bool) *TimeCodecOptions { + t.UseLocalTimeZone = &b + return t +} + +// MergeTimeCodecOptions combines the given *TimeCodecOptions into a single *TimeCodecOptions in a last one wins fashion. +// +// Deprecated: Merging options structs will not be supported in Go Driver 2.0. Users should create a +// single options struct instead. +func MergeTimeCodecOptions(opts ...*TimeCodecOptions) *TimeCodecOptions { + t := TimeCodec() + for _, opt := range opts { + if opt == nil { + continue + } + if opt.UseLocalTimeZone != nil { + t.UseLocalTimeZone = opt.UseLocalTimeZone + } + } + + return t +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/uint_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/uint_codec_options.go new file mode 100644 index 000000000..5091e4d96 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/uint_codec_options.go @@ -0,0 +1,49 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonoptions + +// UIntCodecOptions represents all possible options for uint encoding and decoding. +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +type UIntCodecOptions struct { + EncodeToMinSize *bool // Specifies if all uints except uint64 should be decoded to minimum size bsontype. Defaults to false. +} + +// UIntCodec creates a new *UIntCodecOptions +// +// Deprecated: Use the bson.Encoder and bson.Decoder configuration methods to set the desired BSON marshal +// and unmarshal behavior instead. +func UIntCodec() *UIntCodecOptions { + return &UIntCodecOptions{} +} + +// SetEncodeToMinSize specifies if all uints except uint64 should be decoded to minimum size bsontype. Defaults to false. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.Encoder.IntMinSize] instead. +func (u *UIntCodecOptions) SetEncodeToMinSize(b bool) *UIntCodecOptions { + u.EncodeToMinSize = &b + return u +} + +// MergeUIntCodecOptions combines the given *UIntCodecOptions into a single *UIntCodecOptions in a last one wins fashion. +// +// Deprecated: Merging options structs will not be supported in Go Driver 2.0. Users should create a +// single options struct instead. +func MergeUIntCodecOptions(opts ...*UIntCodecOptions) *UIntCodecOptions { + u := UIntCodec() + for _, opt := range opts { + if opt == nil { + continue + } + if opt.EncodeToMinSize != nil { + u.EncodeToMinSize = opt.EncodeToMinSize + } + } + + return u +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/copier.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/copier.go new file mode 100644 index 000000000..1e25570b8 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/copier.go @@ -0,0 +1,489 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonrw + +import ( + "errors" + "fmt" + "io" + + "go.mongodb.org/mongo-driver/bson/bsontype" + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" +) + +// Copier is a type that allows copying between ValueReaders, ValueWriters, and +// []byte values. +// +// Deprecated: Copying BSON documents using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +type Copier struct{} + +// NewCopier creates a new copier with the given registry. If a nil registry is provided +// a default registry is used. +// +// Deprecated: Copying BSON documents using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func NewCopier() Copier { + return Copier{} +} + +// CopyDocument handles copying a document from src to dst. +// +// Deprecated: Copying BSON documents using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func CopyDocument(dst ValueWriter, src ValueReader) error { + return Copier{}.CopyDocument(dst, src) +} + +// CopyDocument handles copying one document from the src to the dst. +// +// Deprecated: Copying BSON documents using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func (c Copier) CopyDocument(dst ValueWriter, src ValueReader) error { + dr, err := src.ReadDocument() + if err != nil { + return err + } + + dw, err := dst.WriteDocument() + if err != nil { + return err + } + + return c.copyDocumentCore(dw, dr) +} + +// CopyArrayFromBytes copies the values from a BSON array represented as a +// []byte to a ValueWriter. +// +// Deprecated: Copying BSON arrays using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func (c Copier) CopyArrayFromBytes(dst ValueWriter, src []byte) error { + aw, err := dst.WriteArray() + if err != nil { + return err + } + + err = c.CopyBytesToArrayWriter(aw, src) + if err != nil { + return err + } + + return aw.WriteArrayEnd() +} + +// CopyDocumentFromBytes copies the values from a BSON document represented as a +// []byte to a ValueWriter. +// +// Deprecated: Copying BSON documents using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func (c Copier) CopyDocumentFromBytes(dst ValueWriter, src []byte) error { + dw, err := dst.WriteDocument() + if err != nil { + return err + } + + err = c.CopyBytesToDocumentWriter(dw, src) + if err != nil { + return err + } + + return dw.WriteDocumentEnd() +} + +type writeElementFn func(key string) (ValueWriter, error) + +// CopyBytesToArrayWriter copies the values from a BSON Array represented as a []byte to an +// ArrayWriter. +// +// Deprecated: Copying BSON arrays using the ArrayWriter interface will not be supported in Go +// Driver 2.0. +func (c Copier) CopyBytesToArrayWriter(dst ArrayWriter, src []byte) error { + wef := func(_ string) (ValueWriter, error) { + return dst.WriteArrayElement() + } + + return c.copyBytesToValueWriter(src, wef) +} + +// CopyBytesToDocumentWriter copies the values from a BSON document represented as a []byte to a +// DocumentWriter. +// +// Deprecated: Copying BSON documents using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func (c Copier) CopyBytesToDocumentWriter(dst DocumentWriter, src []byte) error { + wef := func(key string) (ValueWriter, error) { + return dst.WriteDocumentElement(key) + } + + return c.copyBytesToValueWriter(src, wef) +} + +func (c Copier) copyBytesToValueWriter(src []byte, wef writeElementFn) error { + // TODO(skriptble): Create errors types here. Anything that is a tag should be a property. + length, rem, ok := bsoncore.ReadLength(src) + if !ok { + return fmt.Errorf("couldn't read length from src, not enough bytes. length=%d", len(src)) + } + if len(src) < int(length) { + return fmt.Errorf("length read exceeds number of bytes available. length=%d bytes=%d", len(src), length) + } + rem = rem[:length-4] + + var t bsontype.Type + var key string + var val bsoncore.Value + for { + t, rem, ok = bsoncore.ReadType(rem) + if !ok { + return io.EOF + } + if t == bsontype.Type(0) { + if len(rem) != 0 { + return fmt.Errorf("document end byte found before end of document. remaining bytes=%v", rem) + } + break + } + + key, rem, ok = bsoncore.ReadKey(rem) + if !ok { + return fmt.Errorf("invalid key found. remaining bytes=%v", rem) + } + + // write as either array element or document element using writeElementFn + vw, err := wef(key) + if err != nil { + return err + } + + val, rem, ok = bsoncore.ReadValue(rem, t) + if !ok { + return fmt.Errorf("not enough bytes available to read type. bytes=%d type=%s", len(rem), t) + } + err = c.CopyValueFromBytes(vw, t, val.Data) + if err != nil { + return err + } + } + return nil +} + +// CopyDocumentToBytes copies an entire document from the ValueReader and +// returns it as bytes. +// +// Deprecated: Copying BSON documents using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func (c Copier) CopyDocumentToBytes(src ValueReader) ([]byte, error) { + return c.AppendDocumentBytes(nil, src) +} + +// AppendDocumentBytes functions the same as CopyDocumentToBytes, but will +// append the result to dst. +// +// Deprecated: Copying BSON documents using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func (c Copier) AppendDocumentBytes(dst []byte, src ValueReader) ([]byte, error) { + if br, ok := src.(BytesReader); ok { + _, dst, err := br.ReadValueBytes(dst) + return dst, err + } + + vw := vwPool.Get().(*valueWriter) + defer putValueWriter(vw) + + vw.reset(dst) + + err := c.CopyDocument(vw, src) + dst = vw.buf + return dst, err +} + +// AppendArrayBytes copies an array from the ValueReader to dst. +// +// Deprecated: Copying BSON arrays using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func (c Copier) AppendArrayBytes(dst []byte, src ValueReader) ([]byte, error) { + if br, ok := src.(BytesReader); ok { + _, dst, err := br.ReadValueBytes(dst) + return dst, err + } + + vw := vwPool.Get().(*valueWriter) + defer putValueWriter(vw) + + vw.reset(dst) + + err := c.copyArray(vw, src) + dst = vw.buf + return dst, err +} + +// CopyValueFromBytes will write the value represtend by t and src to dst. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.UnmarshalValue] instead. +func (c Copier) CopyValueFromBytes(dst ValueWriter, t bsontype.Type, src []byte) error { + if wvb, ok := dst.(BytesWriter); ok { + return wvb.WriteValueBytes(t, src) + } + + vr := vrPool.Get().(*valueReader) + defer vrPool.Put(vr) + + vr.reset(src) + vr.pushElement(t) + + return c.CopyValue(dst, vr) +} + +// CopyValueToBytes copies a value from src and returns it as a bsontype.Type and a +// []byte. +// +// Deprecated: Use [go.mongodb.org/mongo-driver/bson.MarshalValue] instead. +func (c Copier) CopyValueToBytes(src ValueReader) (bsontype.Type, []byte, error) { + return c.AppendValueBytes(nil, src) +} + +// AppendValueBytes functions the same as CopyValueToBytes, but will append the +// result to dst. +// +// Deprecated: Appending individual BSON elements to an existing slice will not be supported in Go +// Driver 2.0. +func (c Copier) AppendValueBytes(dst []byte, src ValueReader) (bsontype.Type, []byte, error) { + if br, ok := src.(BytesReader); ok { + return br.ReadValueBytes(dst) + } + + vw := vwPool.Get().(*valueWriter) + defer putValueWriter(vw) + + start := len(dst) + + vw.reset(dst) + vw.push(mElement) + + err := c.CopyValue(vw, src) + if err != nil { + return 0, dst, err + } + + return bsontype.Type(vw.buf[start]), vw.buf[start+2:], nil +} + +// CopyValue will copy a single value from src to dst. +// +// Deprecated: Copying BSON values using the ValueWriter and ValueReader interfaces will not be +// supported in Go Driver 2.0. +func (c Copier) CopyValue(dst ValueWriter, src ValueReader) error { + var err error + switch src.Type() { + case bsontype.Double: + var f64 float64 + f64, err = src.ReadDouble() + if err != nil { + break + } + err = dst.WriteDouble(f64) + case bsontype.String: + var str string + str, err = src.ReadString() + if err != nil { + return err + } + err = dst.WriteString(str) + case bsontype.EmbeddedDocument: + err = c.CopyDocument(dst, src) + case bsontype.Array: + err = c.copyArray(dst, src) + case bsontype.Binary: + var data []byte + var subtype byte + data, subtype, err = src.ReadBinary() + if err != nil { + break + } + err = dst.WriteBinaryWithSubtype(data, subtype) + case bsontype.Undefined: + err = src.ReadUndefined() + if err != nil { + break + } + err = dst.WriteUndefined() + case bsontype.ObjectID: + var oid primitive.ObjectID + oid, err = src.ReadObjectID() + if err != nil { + break + } + err = dst.WriteObjectID(oid) + case bsontype.Boolean: + var b bool + b, err = src.ReadBoolean() + if err != nil { + break + } + err = dst.WriteBoolean(b) + case bsontype.DateTime: + var dt int64 + dt, err = src.ReadDateTime() + if err != nil { + break + } + err = dst.WriteDateTime(dt) + case bsontype.Null: + err = src.ReadNull() + if err != nil { + break + } + err = dst.WriteNull() + case bsontype.Regex: + var pattern, options string + pattern, options, err = src.ReadRegex() + if err != nil { + break + } + err = dst.WriteRegex(pattern, options) + case bsontype.DBPointer: + var ns string + var pointer primitive.ObjectID + ns, pointer, err = src.ReadDBPointer() + if err != nil { + break + } + err = dst.WriteDBPointer(ns, pointer) + case bsontype.JavaScript: + var js string + js, err = src.ReadJavascript() + if err != nil { + break + } + err = dst.WriteJavascript(js) + case bsontype.Symbol: + var symbol string + symbol, err = src.ReadSymbol() + if err != nil { + break + } + err = dst.WriteSymbol(symbol) + case bsontype.CodeWithScope: + var code string + var srcScope DocumentReader + code, srcScope, err = src.ReadCodeWithScope() + if err != nil { + break + } + + var dstScope DocumentWriter + dstScope, err = dst.WriteCodeWithScope(code) + if err != nil { + break + } + err = c.copyDocumentCore(dstScope, srcScope) + case bsontype.Int32: + var i32 int32 + i32, err = src.ReadInt32() + if err != nil { + break + } + err = dst.WriteInt32(i32) + case bsontype.Timestamp: + var t, i uint32 + t, i, err = src.ReadTimestamp() + if err != nil { + break + } + err = dst.WriteTimestamp(t, i) + case bsontype.Int64: + var i64 int64 + i64, err = src.ReadInt64() + if err != nil { + break + } + err = dst.WriteInt64(i64) + case bsontype.Decimal128: + var d128 primitive.Decimal128 + d128, err = src.ReadDecimal128() + if err != nil { + break + } + err = dst.WriteDecimal128(d128) + case bsontype.MinKey: + err = src.ReadMinKey() + if err != nil { + break + } + err = dst.WriteMinKey() + case bsontype.MaxKey: + err = src.ReadMaxKey() + if err != nil { + break + } + err = dst.WriteMaxKey() + default: + err = fmt.Errorf("Cannot copy unknown BSON type %s", src.Type()) + } + + return err +} + +func (c Copier) copyArray(dst ValueWriter, src ValueReader) error { + ar, err := src.ReadArray() + if err != nil { + return err + } + + aw, err := dst.WriteArray() + if err != nil { + return err + } + + for { + vr, err := ar.ReadValue() + if errors.Is(err, ErrEOA) { + break + } + if err != nil { + return err + } + + vw, err := aw.WriteArrayElement() + if err != nil { + return err + } + + err = c.CopyValue(vw, vr) + if err != nil { + return err + } + } + + return aw.WriteArrayEnd() +} + +func (c Copier) copyDocumentCore(dw DocumentWriter, dr DocumentReader) error { + for { + key, vr, err := dr.ReadElement() + if errors.Is(err, ErrEOD) { + break + } + if err != nil { + return err + } + + vw, err := dw.WriteDocumentElement(key) + if err != nil { + return err + } + + err = c.CopyValue(vw, vr) + if err != nil { + return err + } + } + + return dw.WriteDocumentEnd() +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/doc.go new file mode 100644 index 000000000..750b0d2af --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/doc.go @@ -0,0 +1,9 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +// Package bsonrw contains abstractions for reading and writing +// BSON and BSON like types from sources. +package bsonrw // import "go.mongodb.org/mongo-driver/bson/bsonrw" diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go new file mode 100644 index 000000000..f0702d9d3 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go @@ -0,0 +1,806 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonrw + +import ( + "encoding/base64" + "encoding/hex" + "errors" + "fmt" + "io" + "strings" + + "go.mongodb.org/mongo-driver/bson/bsontype" +) + +const maxNestingDepth = 200 + +// ErrInvalidJSON indicates the JSON input is invalid +var ErrInvalidJSON = errors.New("invalid JSON input") + +type jsonParseState byte + +const ( + jpsStartState jsonParseState = iota + jpsSawBeginObject + jpsSawEndObject + jpsSawBeginArray + jpsSawEndArray + jpsSawColon + jpsSawComma + jpsSawKey + jpsSawValue + jpsDoneState + jpsInvalidState +) + +type jsonParseMode byte + +const ( + jpmInvalidMode jsonParseMode = iota + jpmObjectMode + jpmArrayMode +) + +type extJSONValue struct { + t bsontype.Type + v interface{} +} + +type extJSONObject struct { + keys []string + values []*extJSONValue +} + +type extJSONParser struct { + js *jsonScanner + s jsonParseState + m []jsonParseMode + k string + v *extJSONValue + + err error + canonical bool + depth int + maxDepth int + + emptyObject bool + relaxedUUID bool +} + +// newExtJSONParser returns a new extended JSON parser, ready to to begin +// parsing from the first character of the argued json input. It will not +// perform any read-ahead and will therefore not report any errors about +// malformed JSON at this point. +func newExtJSONParser(r io.Reader, canonical bool) *extJSONParser { + return &extJSONParser{ + js: &jsonScanner{r: r}, + s: jpsStartState, + m: []jsonParseMode{}, + canonical: canonical, + maxDepth: maxNestingDepth, + } +} + +// peekType examines the next value and returns its BSON Type +func (ejp *extJSONParser) peekType() (bsontype.Type, error) { + var t bsontype.Type + var err error + initialState := ejp.s + + ejp.advanceState() + switch ejp.s { + case jpsSawValue: + t = ejp.v.t + case jpsSawBeginArray: + t = bsontype.Array + case jpsInvalidState: + err = ejp.err + case jpsSawComma: + // in array mode, seeing a comma means we need to progress again to actually observe a type + if ejp.peekMode() == jpmArrayMode { + return ejp.peekType() + } + case jpsSawEndArray: + // this would only be a valid state if we were in array mode, so return end-of-array error + err = ErrEOA + case jpsSawBeginObject: + // peek key to determine type + ejp.advanceState() + switch ejp.s { + case jpsSawEndObject: // empty embedded document + t = bsontype.EmbeddedDocument + ejp.emptyObject = true + case jpsInvalidState: + err = ejp.err + case jpsSawKey: + if initialState == jpsStartState { + return bsontype.EmbeddedDocument, nil + } + t = wrapperKeyBSONType(ejp.k) + + // if $uuid is encountered, parse as binary subtype 4 + if ejp.k == "$uuid" { + ejp.relaxedUUID = true + t = bsontype.Binary + } + + switch t { + case bsontype.JavaScript: + // just saw $code, need to check for $scope at same level + _, err = ejp.readValue(bsontype.JavaScript) + if err != nil { + break + } + + switch ejp.s { + case jpsSawEndObject: // type is TypeJavaScript + case jpsSawComma: + ejp.advanceState() + + if ejp.s == jpsSawKey && ejp.k == "$scope" { + t = bsontype.CodeWithScope + } else { + err = fmt.Errorf("invalid extended JSON: unexpected key %s in CodeWithScope object", ejp.k) + } + case jpsInvalidState: + err = ejp.err + default: + err = ErrInvalidJSON + } + case bsontype.CodeWithScope: + err = errors.New("invalid extended JSON: code with $scope must contain $code before $scope") + } + } + } + + return t, err +} + +// readKey parses the next key and its type and returns them +func (ejp *extJSONParser) readKey() (string, bsontype.Type, error) { + if ejp.emptyObject { + ejp.emptyObject = false + return "", 0, ErrEOD + } + + // advance to key (or return with error) + switch ejp.s { + case jpsStartState: + ejp.advanceState() + if ejp.s == jpsSawBeginObject { + ejp.advanceState() + } + case jpsSawBeginObject: + ejp.advanceState() + case jpsSawValue, jpsSawEndObject, jpsSawEndArray: + ejp.advanceState() + switch ejp.s { + case jpsSawBeginObject, jpsSawComma: + ejp.advanceState() + case jpsSawEndObject: + return "", 0, ErrEOD + case jpsDoneState: + return "", 0, io.EOF + case jpsInvalidState: + return "", 0, ejp.err + default: + return "", 0, ErrInvalidJSON + } + case jpsSawKey: // do nothing (key was peeked before) + default: + return "", 0, invalidRequestError("key") + } + + // read key + var key string + + switch ejp.s { + case jpsSawKey: + key = ejp.k + case jpsSawEndObject: + return "", 0, ErrEOD + case jpsInvalidState: + return "", 0, ejp.err + default: + return "", 0, invalidRequestError("key") + } + + // check for colon + ejp.advanceState() + if err := ensureColon(ejp.s, key); err != nil { + return "", 0, err + } + + // peek at the value to determine type + t, err := ejp.peekType() + if err != nil { + return "", 0, err + } + + return key, t, nil +} + +// readValue returns the value corresponding to the Type returned by peekType +func (ejp *extJSONParser) readValue(t bsontype.Type) (*extJSONValue, error) { + if ejp.s == jpsInvalidState { + return nil, ejp.err + } + + var v *extJSONValue + + switch t { + case bsontype.Null, bsontype.Boolean, bsontype.String: + if ejp.s != jpsSawValue { + return nil, invalidRequestError(t.String()) + } + v = ejp.v + case bsontype.Int32, bsontype.Int64, bsontype.Double: + // relaxed version allows these to be literal number values + if ejp.s == jpsSawValue { + v = ejp.v + break + } + fallthrough + case bsontype.Decimal128, bsontype.Symbol, bsontype.ObjectID, bsontype.MinKey, bsontype.MaxKey, bsontype.Undefined: + switch ejp.s { + case jpsSawKey: + // read colon + ejp.advanceState() + if err := ensureColon(ejp.s, ejp.k); err != nil { + return nil, err + } + + // read value + ejp.advanceState() + if ejp.s != jpsSawValue || !ejp.ensureExtValueType(t) { + return nil, invalidJSONErrorForType("value", t) + } + + v = ejp.v + + // read end object + ejp.advanceState() + if ejp.s != jpsSawEndObject { + return nil, invalidJSONErrorForType("} after value", t) + } + default: + return nil, invalidRequestError(t.String()) + } + case bsontype.Binary, bsontype.Regex, bsontype.Timestamp, bsontype.DBPointer: + if ejp.s != jpsSawKey { + return nil, invalidRequestError(t.String()) + } + // read colon + ejp.advanceState() + if err := ensureColon(ejp.s, ejp.k); err != nil { + return nil, err + } + + ejp.advanceState() + if t == bsontype.Binary && ejp.s == jpsSawValue { + // convert relaxed $uuid format + if ejp.relaxedUUID { + defer func() { ejp.relaxedUUID = false }() + uuid, err := ejp.v.parseSymbol() + if err != nil { + return nil, err + } + + // RFC 4122 defines the length of a UUID as 36 and the hyphens in a UUID as appearing + // in the 8th, 13th, 18th, and 23rd characters. + // + // See https://tools.ietf.org/html/rfc4122#section-3 + valid := len(uuid) == 36 && + string(uuid[8]) == "-" && + string(uuid[13]) == "-" && + string(uuid[18]) == "-" && + string(uuid[23]) == "-" + if !valid { + return nil, fmt.Errorf("$uuid value does not follow RFC 4122 format regarding length and hyphens") + } + + // remove hyphens + uuidNoHyphens := strings.ReplaceAll(uuid, "-", "") + if len(uuidNoHyphens) != 32 { + return nil, fmt.Errorf("$uuid value does not follow RFC 4122 format regarding length and hyphens") + } + + // convert hex to bytes + bytes, err := hex.DecodeString(uuidNoHyphens) + if err != nil { + return nil, fmt.Errorf("$uuid value does not follow RFC 4122 format regarding hex bytes: %w", err) + } + + ejp.advanceState() + if ejp.s != jpsSawEndObject { + return nil, invalidJSONErrorForType("$uuid and value and then }", bsontype.Binary) + } + + base64 := &extJSONValue{ + t: bsontype.String, + v: base64.StdEncoding.EncodeToString(bytes), + } + subType := &extJSONValue{ + t: bsontype.String, + v: "04", + } + + v = &extJSONValue{ + t: bsontype.EmbeddedDocument, + v: &extJSONObject{ + keys: []string{"base64", "subType"}, + values: []*extJSONValue{base64, subType}, + }, + } + + break + } + + // convert legacy $binary format + base64 := ejp.v + + ejp.advanceState() + if ejp.s != jpsSawComma { + return nil, invalidJSONErrorForType(",", bsontype.Binary) + } + + ejp.advanceState() + key, t, err := ejp.readKey() + if err != nil { + return nil, err + } + if key != "$type" { + return nil, invalidJSONErrorForType("$type", bsontype.Binary) + } + + subType, err := ejp.readValue(t) + if err != nil { + return nil, err + } + + ejp.advanceState() + if ejp.s != jpsSawEndObject { + return nil, invalidJSONErrorForType("2 key-value pairs and then }", bsontype.Binary) + } + + v = &extJSONValue{ + t: bsontype.EmbeddedDocument, + v: &extJSONObject{ + keys: []string{"base64", "subType"}, + values: []*extJSONValue{base64, subType}, + }, + } + break + } + + // read KV pairs + if ejp.s != jpsSawBeginObject { + return nil, invalidJSONErrorForType("{", t) + } + + keys, vals, err := ejp.readObject(2, true) + if err != nil { + return nil, err + } + + ejp.advanceState() + if ejp.s != jpsSawEndObject { + return nil, invalidJSONErrorForType("2 key-value pairs and then }", t) + } + + v = &extJSONValue{t: bsontype.EmbeddedDocument, v: &extJSONObject{keys: keys, values: vals}} + + case bsontype.DateTime: + switch ejp.s { + case jpsSawValue: + v = ejp.v + case jpsSawKey: + // read colon + ejp.advanceState() + if err := ensureColon(ejp.s, ejp.k); err != nil { + return nil, err + } + + ejp.advanceState() + switch ejp.s { + case jpsSawBeginObject: + keys, vals, err := ejp.readObject(1, true) + if err != nil { + return nil, err + } + v = &extJSONValue{t: bsontype.EmbeddedDocument, v: &extJSONObject{keys: keys, values: vals}} + case jpsSawValue: + if ejp.canonical { + return nil, invalidJSONError("{") + } + v = ejp.v + default: + if ejp.canonical { + return nil, invalidJSONErrorForType("object", t) + } + return nil, invalidJSONErrorForType("ISO-8601 Internet Date/Time Format as described in RFC-3339", t) + } + + ejp.advanceState() + if ejp.s != jpsSawEndObject { + return nil, invalidJSONErrorForType("value and then }", t) + } + default: + return nil, invalidRequestError(t.String()) + } + case bsontype.JavaScript: + switch ejp.s { + case jpsSawKey: + // read colon + ejp.advanceState() + if err := ensureColon(ejp.s, ejp.k); err != nil { + return nil, err + } + + // read value + ejp.advanceState() + if ejp.s != jpsSawValue { + return nil, invalidJSONErrorForType("value", t) + } + v = ejp.v + + // read end object or comma and just return + ejp.advanceState() + case jpsSawEndObject: + v = ejp.v + default: + return nil, invalidRequestError(t.String()) + } + case bsontype.CodeWithScope: + if ejp.s == jpsSawKey && ejp.k == "$scope" { + v = ejp.v // this is the $code string from earlier + + // read colon + ejp.advanceState() + if err := ensureColon(ejp.s, ejp.k); err != nil { + return nil, err + } + + // read { + ejp.advanceState() + if ejp.s != jpsSawBeginObject { + return nil, invalidJSONError("$scope to be embedded document") + } + } else { + return nil, invalidRequestError(t.String()) + } + case bsontype.EmbeddedDocument, bsontype.Array: + return nil, invalidRequestError(t.String()) + } + + return v, nil +} + +// readObject is a utility method for reading full objects of known (or expected) size +// it is useful for extended JSON types such as binary, datetime, regex, and timestamp +func (ejp *extJSONParser) readObject(numKeys int, started bool) ([]string, []*extJSONValue, error) { + keys := make([]string, numKeys) + vals := make([]*extJSONValue, numKeys) + + if !started { + ejp.advanceState() + if ejp.s != jpsSawBeginObject { + return nil, nil, invalidJSONError("{") + } + } + + for i := 0; i < numKeys; i++ { + key, t, err := ejp.readKey() + if err != nil { + return nil, nil, err + } + + switch ejp.s { + case jpsSawKey: + v, err := ejp.readValue(t) + if err != nil { + return nil, nil, err + } + + keys[i] = key + vals[i] = v + case jpsSawValue: + keys[i] = key + vals[i] = ejp.v + default: + return nil, nil, invalidJSONError("value") + } + } + + ejp.advanceState() + if ejp.s != jpsSawEndObject { + return nil, nil, invalidJSONError("}") + } + + return keys, vals, nil +} + +// advanceState reads the next JSON token from the scanner and transitions +// from the current state based on that token's type +func (ejp *extJSONParser) advanceState() { + if ejp.s == jpsDoneState || ejp.s == jpsInvalidState { + return + } + + jt, err := ejp.js.nextToken() + + if err != nil { + ejp.err = err + ejp.s = jpsInvalidState + return + } + + valid := ejp.validateToken(jt.t) + if !valid { + ejp.err = unexpectedTokenError(jt) + ejp.s = jpsInvalidState + return + } + + switch jt.t { + case jttBeginObject: + ejp.s = jpsSawBeginObject + ejp.pushMode(jpmObjectMode) + ejp.depth++ + + if ejp.depth > ejp.maxDepth { + ejp.err = nestingDepthError(jt.p, ejp.depth) + ejp.s = jpsInvalidState + } + case jttEndObject: + ejp.s = jpsSawEndObject + ejp.depth-- + + if ejp.popMode() != jpmObjectMode { + ejp.err = unexpectedTokenError(jt) + ejp.s = jpsInvalidState + } + case jttBeginArray: + ejp.s = jpsSawBeginArray + ejp.pushMode(jpmArrayMode) + case jttEndArray: + ejp.s = jpsSawEndArray + + if ejp.popMode() != jpmArrayMode { + ejp.err = unexpectedTokenError(jt) + ejp.s = jpsInvalidState + } + case jttColon: + ejp.s = jpsSawColon + case jttComma: + ejp.s = jpsSawComma + case jttEOF: + ejp.s = jpsDoneState + if len(ejp.m) != 0 { + ejp.err = unexpectedTokenError(jt) + ejp.s = jpsInvalidState + } + case jttString: + switch ejp.s { + case jpsSawComma: + if ejp.peekMode() == jpmArrayMode { + ejp.s = jpsSawValue + ejp.v = extendJSONToken(jt) + return + } + fallthrough + case jpsSawBeginObject: + ejp.s = jpsSawKey + ejp.k = jt.v.(string) + return + } + fallthrough + default: + ejp.s = jpsSawValue + ejp.v = extendJSONToken(jt) + } +} + +var jpsValidTransitionTokens = map[jsonParseState]map[jsonTokenType]bool{ + jpsStartState: { + jttBeginObject: true, + jttBeginArray: true, + jttInt32: true, + jttInt64: true, + jttDouble: true, + jttString: true, + jttBool: true, + jttNull: true, + jttEOF: true, + }, + jpsSawBeginObject: { + jttEndObject: true, + jttString: true, + }, + jpsSawEndObject: { + jttEndObject: true, + jttEndArray: true, + jttComma: true, + jttEOF: true, + }, + jpsSawBeginArray: { + jttBeginObject: true, + jttBeginArray: true, + jttEndArray: true, + jttInt32: true, + jttInt64: true, + jttDouble: true, + jttString: true, + jttBool: true, + jttNull: true, + }, + jpsSawEndArray: { + jttEndObject: true, + jttEndArray: true, + jttComma: true, + jttEOF: true, + }, + jpsSawColon: { + jttBeginObject: true, + jttBeginArray: true, + jttInt32: true, + jttInt64: true, + jttDouble: true, + jttString: true, + jttBool: true, + jttNull: true, + }, + jpsSawComma: { + jttBeginObject: true, + jttBeginArray: true, + jttInt32: true, + jttInt64: true, + jttDouble: true, + jttString: true, + jttBool: true, + jttNull: true, + }, + jpsSawKey: { + jttColon: true, + }, + jpsSawValue: { + jttEndObject: true, + jttEndArray: true, + jttComma: true, + jttEOF: true, + }, + jpsDoneState: {}, + jpsInvalidState: {}, +} + +func (ejp *extJSONParser) validateToken(jtt jsonTokenType) bool { + switch ejp.s { + case jpsSawEndObject: + // if we are at depth zero and the next token is a '{', + // we can consider it valid only if we are not in array mode. + if jtt == jttBeginObject && ejp.depth == 0 { + return ejp.peekMode() != jpmArrayMode + } + case jpsSawComma: + switch ejp.peekMode() { + // the only valid next token after a comma inside a document is a string (a key) + case jpmObjectMode: + return jtt == jttString + case jpmInvalidMode: + return false + } + } + + _, ok := jpsValidTransitionTokens[ejp.s][jtt] + return ok +} + +// ensureExtValueType returns true if the current value has the expected +// value type for single-key extended JSON types. For example, +// {"$numberInt": v} v must be TypeString +func (ejp *extJSONParser) ensureExtValueType(t bsontype.Type) bool { + switch t { + case bsontype.MinKey, bsontype.MaxKey: + return ejp.v.t == bsontype.Int32 + case bsontype.Undefined: + return ejp.v.t == bsontype.Boolean + case bsontype.Int32, bsontype.Int64, bsontype.Double, bsontype.Decimal128, bsontype.Symbol, bsontype.ObjectID: + return ejp.v.t == bsontype.String + default: + return false + } +} + +func (ejp *extJSONParser) pushMode(m jsonParseMode) { + ejp.m = append(ejp.m, m) +} + +func (ejp *extJSONParser) popMode() jsonParseMode { + l := len(ejp.m) + if l == 0 { + return jpmInvalidMode + } + + m := ejp.m[l-1] + ejp.m = ejp.m[:l-1] + + return m +} + +func (ejp *extJSONParser) peekMode() jsonParseMode { + l := len(ejp.m) + if l == 0 { + return jpmInvalidMode + } + + return ejp.m[l-1] +} + +func extendJSONToken(jt *jsonToken) *extJSONValue { + var t bsontype.Type + + switch jt.t { + case jttInt32: + t = bsontype.Int32 + case jttInt64: + t = bsontype.Int64 + case jttDouble: + t = bsontype.Double + case jttString: + t = bsontype.String + case jttBool: + t = bsontype.Boolean + case jttNull: + t = bsontype.Null + default: + return nil + } + + return &extJSONValue{t: t, v: jt.v} +} + +func ensureColon(s jsonParseState, key string) error { + if s != jpsSawColon { + return fmt.Errorf("invalid JSON input: missing colon after key \"%s\"", key) + } + + return nil +} + +func invalidRequestError(s string) error { + return fmt.Errorf("invalid request to read %s", s) +} + +func invalidJSONError(expected string) error { + return fmt.Errorf("invalid JSON input; expected %s", expected) +} + +func invalidJSONErrorForType(expected string, t bsontype.Type) error { + return fmt.Errorf("invalid JSON input; expected %s for %s", expected, t) +} + +func unexpectedTokenError(jt *jsonToken) error { + switch jt.t { + case jttInt32, jttInt64, jttDouble: + return fmt.Errorf("invalid JSON input; unexpected number (%v) at position %d", jt.v, jt.p) + case jttString: + return fmt.Errorf("invalid JSON input; unexpected string (\"%v\") at position %d", jt.v, jt.p) + case jttBool: + return fmt.Errorf("invalid JSON input; unexpected boolean literal (%v) at position %d", jt.v, jt.p) + case jttNull: + return fmt.Errorf("invalid JSON input; unexpected null literal at position %d", jt.p) + case jttEOF: + return fmt.Errorf("invalid JSON input; unexpected end of input at position %d", jt.p) + default: + return fmt.Errorf("invalid JSON input; unexpected %c at position %d", jt.v.(byte), jt.p) + } +} + +func nestingDepthError(p, depth int) error { + return fmt.Errorf("invalid JSON input; nesting too deep (%d levels) at position %d", depth, p) +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_reader.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_reader.go new file mode 100644 index 000000000..59ddfc448 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_reader.go @@ -0,0 +1,653 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +package bsonrw + +import ( + "errors" + "fmt" + "io" + "sync" + + "go.mongodb.org/mongo-driver/bson/bsontype" + "go.mongodb.org/mongo-driver/bson/primitive" +) + +// ExtJSONValueReaderPool is a pool for ValueReaders that read ExtJSON. +// +// Deprecated: ExtJSONValueReaderPool will not be supported in Go Driver 2.0. +type ExtJSONValueReaderPool struct { + pool sync.Pool +} + +// NewExtJSONValueReaderPool instantiates a new ExtJSONValueReaderPool. +// +// Deprecated: ExtJSONValueReaderPool will not be supported in Go Driver 2.0. +func NewExtJSONValueReaderPool() *ExtJSONValueReaderPool { + return &ExtJSONValueReaderPool{ + pool: sync.Pool{ + New: func() interface{} { + return new(extJSONValueReader) + }, + }, + } +} + +// Get retrieves a ValueReader from the pool and uses src as the underlying ExtJSON. +// +// Deprecated: ExtJSONValueReaderPool will not be supported in Go Driver 2.0. +func (bvrp *ExtJSONValueReaderPool) Get(r io.Reader, canonical bool) (ValueReader, error) { + vr := bvrp.pool.Get().(*extJSONValueReader) + return vr.reset(r, canonical) +} + +// Put inserts a ValueReader into the pool. If the ValueReader is not a ExtJSON ValueReader nothing +// is inserted into the pool and ok will be false. +// +// Deprecated: ExtJSONValueReaderPool will not be supported in Go Driver 2.0. +func (bvrp *ExtJSONValueReaderPool) Put(vr ValueReader) (ok bool) { + bvr, ok := vr.(*extJSONValueReader) + if !ok { + return false + } + + bvr, _ = bvr.reset(nil, false) + bvrp.pool.Put(bvr) + return true +} + +type ejvrState struct { + mode mode + vType bsontype.Type + depth int +} + +// extJSONValueReader is for reading extended JSON. +type extJSONValueReader struct { + p *extJSONParser + + stack []ejvrState + frame int +} + +// NewExtJSONValueReader creates a new ValueReader from a given io.Reader +// It will interpret the JSON of r as canonical or relaxed according to the +// given canonical flag +func NewExtJSONValueReader(r io.Reader, canonical bool) (ValueReader, error) { + return newExtJSONValueReader(r, canonical) +} + +func newExtJSONValueReader(r io.Reader, canonical bool) (*extJSONValueReader, error) { + ejvr := new(extJSONValueReader) + return ejvr.reset(r, canonical) +} + +func (ejvr *extJSONValueReader) reset(r io.Reader, canonical bool) (*extJSONValueReader, error) { + p := newExtJSONParser(r, canonical) + typ, err := p.peekType() + + if err != nil { + return nil, ErrInvalidJSON + } + + var m mode + switch typ { + case bsontype.EmbeddedDocument: + m = mTopLevel + case bsontype.Array: + m = mArray + default: + m = mValue + } + + stack := make([]ejvrState, 1, 5) + stack[0] = ejvrState{ + mode: m, + vType: typ, + } + return &extJSONValueReader{ + p: p, + stack: stack, + }, nil +} + +func (ejvr *extJSONValueReader) advanceFrame() { + if ejvr.frame+1 >= len(ejvr.stack) { // We need to grow the stack + length := len(ejvr.stack) + if length+1 >= cap(ejvr.stack) { + // double it + buf := make([]ejvrState, 2*cap(ejvr.stack)+1) + copy(buf, ejvr.stack) + ejvr.stack = buf + } + ejvr.stack = ejvr.stack[:length+1] + } + ejvr.frame++ + + // Clean the stack + ejvr.stack[ejvr.frame].mode = 0 + ejvr.stack[ejvr.frame].vType = 0 + ejvr.stack[ejvr.frame].depth = 0 +} + +func (ejvr *extJSONValueReader) pushDocument() { + ejvr.advanceFrame() + + ejvr.stack[ejvr.frame].mode = mDocument + ejvr.stack[ejvr.frame].depth = ejvr.p.depth +} + +func (ejvr *extJSONValueReader) pushCodeWithScope() { + ejvr.advanceFrame() + + ejvr.stack[ejvr.frame].mode = mCodeWithScope +} + +func (ejvr *extJSONValueReader) pushArray() { + ejvr.advanceFrame() + + ejvr.stack[ejvr.frame].mode = mArray +} + +func (ejvr *extJSONValueReader) push(m mode, t bsontype.Type) { + ejvr.advanceFrame() + + ejvr.stack[ejvr.frame].mode = m + ejvr.stack[ejvr.frame].vType = t +} + +func (ejvr *extJSONValueReader) pop() { + switch ejvr.stack[ejvr.frame].mode { + case mElement, mValue: + ejvr.frame-- + case mDocument, mArray, mCodeWithScope: + ejvr.frame -= 2 // we pop twice to jump over the vrElement: vrDocument -> vrElement -> vrDocument/TopLevel/etc... + } +} + +func (ejvr *extJSONValueReader) skipObject() { + // read entire object until depth returns to 0 (last ending } or ] seen) + depth := 1 + for depth > 0 { + ejvr.p.advanceState() + + // If object is empty, raise depth and continue. When emptyObject is true, the + // parser has already read both the opening and closing brackets of an empty + // object ("{}"), so the next valid token will be part of the parent document, + // not part of the nested document. + // + // If there is a comma, there are remaining fields, emptyObject must be set back + // to false, and comma must be skipped with advanceState(). + if ejvr.p.emptyObject { + if ejvr.p.s == jpsSawComma { + ejvr.p.emptyObject = false + ejvr.p.advanceState() + } + depth-- + continue + } + + switch ejvr.p.s { + case jpsSawBeginObject, jpsSawBeginArray: + depth++ + case jpsSawEndObject, jpsSawEndArray: + depth-- + } + } +} + +func (ejvr *extJSONValueReader) invalidTransitionErr(destination mode, name string, modes []mode) error { + te := TransitionError{ + name: name, + current: ejvr.stack[ejvr.frame].mode, + destination: destination, + modes: modes, + action: "read", + } + if ejvr.frame != 0 { + te.parent = ejvr.stack[ejvr.frame-1].mode + } + return te +} + +func (ejvr *extJSONValueReader) typeError(t bsontype.Type) error { + return fmt.Errorf("positioned on %s, but attempted to read %s", ejvr.stack[ejvr.frame].vType, t) +} + +func (ejvr *extJSONValueReader) ensureElementValue(t bsontype.Type, destination mode, callerName string, addModes ...mode) error { + switch ejvr.stack[ejvr.frame].mode { + case mElement, mValue: + if ejvr.stack[ejvr.frame].vType != t { + return ejvr.typeError(t) + } + default: + modes := []mode{mElement, mValue} + if addModes != nil { + modes = append(modes, addModes...) + } + return ejvr.invalidTransitionErr(destination, callerName, modes) + } + + return nil +} + +func (ejvr *extJSONValueReader) Type() bsontype.Type { + return ejvr.stack[ejvr.frame].vType +} + +func (ejvr *extJSONValueReader) Skip() error { + switch ejvr.stack[ejvr.frame].mode { + case mElement, mValue: + default: + return ejvr.invalidTransitionErr(0, "Skip", []mode{mElement, mValue}) + } + + defer ejvr.pop() + + t := ejvr.stack[ejvr.frame].vType + switch t { + case bsontype.Array, bsontype.EmbeddedDocument, bsontype.CodeWithScope: + // read entire array, doc or CodeWithScope + ejvr.skipObject() + default: + _, err := ejvr.p.readValue(t) + if err != nil { + return err + } + } + + return nil +} + +func (ejvr *extJSONValueReader) ReadArray() (ArrayReader, error) { + switch ejvr.stack[ejvr.frame].mode { + case mTopLevel: // allow reading array from top level + case mArray: + return ejvr, nil + default: + if err := ejvr.ensureElementValue(bsontype.Array, mArray, "ReadArray", mTopLevel, mArray); err != nil { + return nil, err + } + } + + ejvr.pushArray() + + return ejvr, nil +} + +func (ejvr *extJSONValueReader) ReadBinary() (b []byte, btype byte, err error) { + if err := ejvr.ensureElementValue(bsontype.Binary, 0, "ReadBinary"); err != nil { + return nil, 0, err + } + + v, err := ejvr.p.readValue(bsontype.Binary) + if err != nil { + return nil, 0, err + } + + b, btype, err = v.parseBinary() + + ejvr.pop() + return b, btype, err +} + +func (ejvr *extJSONValueReader) ReadBoolean() (bool, error) { + if err := ejvr.ensureElementValue(bsontype.Boolean, 0, "ReadBoolean"); err != nil { + return false, err + } + + v, err := ejvr.p.readValue(bsontype.Boolean) + if err != nil { + return false, err + } + + if v.t != bsontype.Boolean { + return false, fmt.Errorf("expected type bool, but got type %s", v.t) + } + + ejvr.pop() + return v.v.(bool), nil +} + +func (ejvr *extJSONValueReader) ReadDocument() (DocumentReader, error) { + switch ejvr.stack[ejvr.frame].mode { + case mTopLevel: + return ejvr, nil + case mElement, mValue: + if ejvr.stack[ejvr.frame].vType != bsontype.EmbeddedDocument { + return nil, ejvr.typeError(bsontype.EmbeddedDocument) + } + + ejvr.pushDocument() + return ejvr, nil + default: + return nil, ejvr.invalidTransitionErr(mDocument, "ReadDocument", []mode{mTopLevel, mElement, mValue}) + } +} + +func (ejvr *extJSONValueReader) ReadCodeWithScope() (code string, dr DocumentReader, err error) { + if err = ejvr.ensureElementValue(bsontype.CodeWithScope, 0, "ReadCodeWithScope"); err != nil { + return "", nil, err + } + + v, err := ejvr.p.readValue(bsontype.CodeWithScope) + if err != nil { + return "", nil, err + } + + code, err = v.parseJavascript() + + ejvr.pushCodeWithScope() + return code, ejvr, err +} + +func (ejvr *extJSONValueReader) ReadDBPointer() (ns string, oid primitive.ObjectID, err error) { + if err = ejvr.ensureElementValue(bsontype.DBPointer, 0, "ReadDBPointer"); err != nil { + return "", primitive.NilObjectID, err + } + + v, err := ejvr.p.readValue(bsontype.DBPointer) + if err != nil { + return "", primitive.NilObjectID, err + } + + ns, oid, err = v.parseDBPointer() + + ejvr.pop() + return ns, oid, err +} + +func (ejvr *extJSONValueReader) ReadDateTime() (int64, error) { + if err := ejvr.ensureElementValue(bsontype.DateTime, 0, "ReadDateTime"); err != nil { + return 0, err + } + + v, err := ejvr.p.readValue(bsontype.DateTime) + if err != nil { + return 0, err + } + + d, err := v.parseDateTime() + + ejvr.pop() + return d, err +} + +func (ejvr *extJSONValueReader) ReadDecimal128() (primitive.Decimal128, error) { + if err := ejvr.ensureElementValue(bsontype.Decimal128, 0, "ReadDecimal128"); err != nil { + return primitive.Decimal128{}, err + } + + v, err := ejvr.p.readValue(bsontype.Decimal128) + if err != nil { + return primitive.Decimal128{}, err + } + + d, err := v.parseDecimal128() + + ejvr.pop() + return d, err +} + +func (ejvr *extJSONValueReader) ReadDouble() (float64, error) { + if err := ejvr.ensureElementValue(bsontype.Double, 0, "ReadDouble"); err != nil { + return 0, err + } + + v, err := ejvr.p.readValue(bsontype.Double) + if err != nil { + return 0, err + } + + d, err := v.parseDouble() + + ejvr.pop() + return d, err +} + +func (ejvr *extJSONValueReader) ReadInt32() (int32, error) { + if err := ejvr.ensureElementValue(bsontype.Int32, 0, "ReadInt32"); err != nil { + return 0, err + } + + v, err := ejvr.p.readValue(bsontype.Int32) + if err != nil { + return 0, err + } + + i, err := v.parseInt32() + + ejvr.pop() + return i, err +} + +func (ejvr *extJSONValueReader) ReadInt64() (int64, error) { + if err := ejvr.ensureElementValue(bsontype.Int64, 0, "ReadInt64"); err != nil { + return 0, err + } + + v, err := ejvr.p.readValue(bsontype.Int64) + if err != nil { + return 0, err + } + + i, err := v.parseInt64() + + ejvr.pop() + return i, err +} + +func (ejvr *extJSONValueReader) ReadJavascript() (code string, err error) { + if err = ejvr.ensureElementValue(bsontype.JavaScript, 0, "ReadJavascript"); err != nil { + return "", err + } + + v, err := ejvr.p.readValue(bsontype.JavaScript) + if err != nil { + return "", err + } + + code, err = v.parseJavascript() + + ejvr.pop() + return code, err +} + +func (ejvr *extJSONValueReader) ReadMaxKey() error { + if err := ejvr.ensureElementValue(bsontype.MaxKey, 0, "ReadMaxKey"); err != nil { + return err + } + + v, err := ejvr.p.readValue(bsontype.MaxKey) + if err != nil { + return err + } + + err = v.parseMinMaxKey("max") + + ejvr.pop() + return err +} + +func (ejvr *extJSONValueReader) ReadMinKey() error { + if err := ejvr.ensureElementValue(bsontype.MinKey, 0, "ReadMinKey"); err != nil { + return err + } + + v, err := ejvr.p.readValue(bsontype.MinKey) + if err != nil { + return err + } + + err = v.parseMinMaxKey("min") + + ejvr.pop() + return err +} + +func (ejvr *extJSONValueReader) ReadNull() error { + if err := ejvr.ensureElementValue(bsontype.Null, 0, "ReadNull"); err != nil { + return err + } + + v, err := ejvr.p.readValue(bsontype.Null) + if err != nil { + return err + } + + if v.t != bsontype.Null { + return fmt.Errorf("expected type null but got type %s", v.t) + } + + ejvr.pop() + return nil +} + +func (ejvr *extJSONValueReader) ReadObjectID() (primitive.ObjectID, error) { + if err := ejvr.ensureElementValue(bsontype.ObjectID, 0, "ReadObjectID"); err != nil { + return primitive.ObjectID{}, err + } + + v, err := ejvr.p.readValue(bsontype.ObjectID) + if err != nil { + return primitive.ObjectID{}, err + } + + oid, err := v.parseObjectID() + + ejvr.pop() + return oid, err +} + +func (ejvr *extJSONValueReader) ReadRegex() (pattern string, options string, err error) { + if err = ejvr.ensureElementValue(bsontype.Regex, 0, "ReadRegex"); err != nil { + return "", "", err + } + + v, err := ejvr.p.readValue(bsontype.Regex) + if err != nil { + return "", "", err + } + + pattern, options, err = v.parseRegex() + + ejvr.pop() + return pattern, options, err +} + +func (ejvr *extJSONValueReader) ReadString() (string, error) { + if err := ejvr.ensureElementValue(bsontype.String, 0, "ReadString"); err != nil { + return "", err + } + + v, err := ejvr.p.readValue(bsontype.String) + if err != nil { + return "", err + } + + if v.t != bsontype.String { + return "", fmt.Errorf("expected type string but got type %s", v.t) + } + + ejvr.pop() + return v.v.(string), nil +} + +func (ejvr *extJSONValueReader) ReadSymbol() (symbol string, err error) { + if err = ejvr.ensureElementValue(bsontype.Symbol, 0, "ReadSymbol"); err != nil { + return "", err + } + + v, err := ejvr.p.readValue(bsontype.Symbol) + if err != nil { + return "", err + } + + symbol, err = v.parseSymbol() + + ejvr.pop() + return symbol, err +} + +func (ejvr *extJSONValueReader) ReadTimestamp() (t uint32, i uint32, err error) { + if err = ejvr.ensureElementValue(bsontype.Timestamp, 0, "ReadTimestamp"); err != nil { + return 0, 0, err + } + + v, err := ejvr.p.readValue(bsontype.Timestamp) + if err != nil { + return 0, 0, err + } + + t, i, err = v.parseTimestamp() + + ejvr.pop() + return t, i, err +} + +func (ejvr *extJSONValueReader) ReadUndefined() error { + if err := ejvr.ensureElementValue(bsontype.Undefined, 0, "ReadUndefined"); err != nil { + return err + } + + v, err := ejvr.p.readValue(bsontype.Undefined) + if err != nil { + return err + } + + err = v.parseUndefined() + + ejvr.pop() + return err +} + +func (ejvr *extJSONValueReader) ReadElement() (string, ValueReader, error) { + switch ejvr.stack[ejvr.frame].mode { + case mTopLevel, mDocument, mCodeWithScope: + default: + return "", nil, ejvr.invalidTransitionErr(mElement, "ReadElement", []mode{mTopLevel, mDocument, mCodeWithScope}) + } + + name, t, err := ejvr.p.readKey() + + if err != nil { + if errors.Is(err, ErrEOD) { + if ejvr.stack[ejvr.frame].mode == mCodeWithScope { + _, err := ejvr.p.peekType() + if err != nil { + return "", nil, err + } + } + + ejvr.pop() + } + + return "", nil, err + } + + ejvr.push(mElement, t) + return name, ejvr, nil +} + +func (ejvr *extJSONValueReader) ReadValue() (ValueReader, error) { + switch ejvr.stack[ejvr.frame].mode { + case mArray: + default: + return nil, ejvr.invalidTransitionErr(mValue, "ReadValue", []mode{mArray}) + } + + t, err := ejvr.p.peekType() + if err != nil { + if errors.Is(err, ErrEOA) { + ejvr.pop() + } + + return nil, err + } + + ejvr.push(mValue, t) + return ejvr, nil +} diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_tables.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_tables.go new file mode 100644 index 000000000..ba39c9601 --- /dev/null +++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_tables.go @@ -0,0 +1,223 @@ +// Copyright (C) MongoDB, Inc. 2017-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// +// Based on github.com/golang/go by The Go Authors +// See THIRD-PARTY-NOTICES for original license terms. + +package bsonrw + +import "unicode/utf8" + +// safeSet holds the value true if the ASCII character with the given array +// position can be represented inside a JSON string without any further +// escaping. +// +// All values are true except for the ASCII control characters (0-31), the +// double quote ("), and the backslash character ("\"). +var safeSet = [utf8.RuneSelf]bool{ + ' ': true, + '!': true, + '"': false, + '#': true, + '$': true, + '%': true, + '&': true, + '\'': true, + '(': true, + ')': true, + '*': true, + '+': true, + ',': true, + '-': true, + '.': true, + '/': true, + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + ':': true, + ';': true, + '<': true, + '=': true, + '>': true, + '?': true, + '@': true, + 'A': true, + 'B': true, + 'C': true, + 'D': true, + 'E': true, + 'F': true, + 'G': true, + 'H': true, + 'I': true, + 'J': true, + 'K': true, + 'L': true, + 'M': true, + 'N': true, + 'O': true, + 'P': true, + 'Q': true, + 'R': true, + 'S': true, + 'T': true, + 'U': true, + 'V': true, + 'W': true, + 'X': true, + 'Y': true, + 'Z': true, + '[': true, + '\\': false, + ']': true, + '^': true, + '_': true, + '`': true, + 'a': true, + 'b': true, + 'c': true, + 'd': true, + 'e': true, + 'f': true, + 'g': true, + 'h': true, + 'i': true, + 'j': true, + 'k': true, + 'l': true, + 'm': true, + 'n': true, + 'o': true, + 'p': true, + 'q': true, + 'r': true, + 's': true, + 't': true, + 'u': true, + 'v': true, + 'w': true, + 'x': true, + 'y': true, + 'z': true, + '{': true, + '|': true, + '}': true, + '~': true, + '\u007f': true, +} + +// htmlSafeSet holds the value true if the ASCII character with the given +// array position can be safely represented inside a JSON string, embedded +// inside of HTML